diff --git a/.gitignore b/.gitignore index 4f4773f..795ee96 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ config.php +.vscode +sftp.json \ No newline at end of file diff --git a/composer.json b/composer.json index 7300ad9..7b51d6f 100644 --- a/composer.json +++ b/composer.json @@ -3,6 +3,8 @@ "guzzlehttp/guzzle": "^7.0", "twbs/bootstrap": "^4.5", "chillerlan/php-qrcode": "^5.0", - "phpoffice/phpspreadsheet": "^5.1" + "phpoffice/phpspreadsheet": "^5.1", + "tecnickcom/tc-lib-pdf": "^8.1", + "tecnickcom/tcpdf": "^6.10" } } diff --git a/composer.lock b/composer.lock index b5a04fa..27ea8b6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,34 +4,37 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c9528d74b4d0e8d7d422bc83b0965351", + "content-hash": "7818199673e37bdd113e0a925d4a282d", "packages": [ { "name": "chillerlan/php-qrcode", - "version": "5.0.1", + "version": "5.0.4", "source": { "type": "git", "url": "https://github.com/chillerlan/php-qrcode.git", - "reference": "e81ed39ca3c94357aa021c7525fa9ffb451018d1" + "reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/e81ed39ca3c94357aa021c7525fa9ffb451018d1", - "reference": "e81ed39ca3c94357aa021c7525fa9ffb451018d1", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/390393e97a6e42ccae0e0d6205b8d4200f7ddc43", + "reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43", "shasum": "" }, "require": { - "chillerlan/php-settings-container": "^2.1.4 || ^3.1", + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", "ext-mbstring": "*", "php": "^7.4 || ^8.0" }, "require-dev": { - "chillerlan/php-authenticator": "^4.1 || ^5.1", - "phan/phan": "^5.4", + "chillerlan/php-authenticator": "^4.3.1 || ^5.2.1", + "ext-fileinfo": "*", + "phan/phan": "^5.5.1", + "phpcompatibility/php-compatibility": "10.x-dev", "phpmd/phpmd": "^2.15", "phpunit/phpunit": "^9.6", "setasign/fpdf": "^1.8.2", - "squizlabs/php_codesniffer": "^3.8" + "slevomat/coding-standard": "^8.23.0", + "squizlabs/php_codesniffer": "^4.0.0" }, "suggest": { "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", @@ -41,7 +44,7 @@ "type": "library", "autoload": { "psr-4": { - "chillerlan\\QRCode\\": "src/" + "chillerlan\\QRCode\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -72,7 +75,7 @@ "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" } ], - "description": "A QR code generator and reader with a user friendly API. PHP 7.4+", + "description": "A QR Code generator and reader with a user-friendly API. PHP 7.4+", "homepage": "https://github.com/chillerlan/php-qrcode", "keywords": [ "phpqrcode", @@ -89,45 +92,42 @@ "source": "https://github.com/chillerlan/php-qrcode" }, "funding": [ - { - "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", - "type": "custom" - }, { "url": "https://ko-fi.com/codemasher", - "type": "ko_fi" + "type": "Ko-Fi" } ], - "time": "2024-01-07T19:37:03+00:00" + "time": "2025-09-19T17:30:27+00:00" }, { "name": "chillerlan/php-settings-container", - "version": "2.1.5", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/chillerlan/php-settings-container.git", - "reference": "f705310389264c3578fdd9ffb15aa2cd6d91772e" + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/f705310389264c3578fdd9ffb15aa2cd6d91772e", - "reference": "f705310389264c3578fdd9ffb15aa2cd6d91772e", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681", "shasum": "" }, "require": { "ext-json": "*", - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "require-dev": { - "phan/phan": "^5.4", - "phpcsstandards/php_codesniffer": "^3.8", - "phpmd/phpmd": "^2.13", - "phpunit/phpunit": "^9.6" + "phpmd/phpmd": "^2.15", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.10" }, "type": "library", "autoload": { "psr-4": { - "chillerlan\\Settings\\": "src/" + "chillerlan\\Settings\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -141,10 +141,9 @@ "homepage": "https://github.com/codemasher" } ], - "description": "A container class for immutable settings objects. Not a DI container. PHP 7.4+", + "description": "A container class for immutable settings objects. Not a DI container.", "homepage": "https://github.com/chillerlan/php-settings-container", "keywords": [ - "PHP7", "Settings", "configuration", "container", @@ -164,7 +163,7 @@ "type": "ko_fi" } ], - "time": "2024-01-05T23:20:55+00:00" + "time": "2024-07-16T11:13:48+00:00" }, { "name": "composer/pcre", @@ -247,22 +246,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "version": "7.10.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -273,9 +272,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -353,7 +352,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" }, "funding": [ { @@ -369,20 +368,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2025-08-23T22:36:01+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "481557b130ef3790cf82b713667b43030dc9c957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", "shasum": "" }, "require": { @@ -390,7 +389,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "type": "library", "extra": { @@ -436,7 +435,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.3.0" }, "funding": [ { @@ -452,20 +451,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2025-08-22T14:34:08+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "21dc724a0583619cd1652f673303492272778051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", "shasum": "" }, "require": { @@ -480,8 +479,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -552,7 +551,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.8.0" }, "funding": [ { @@ -568,7 +567,7 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2025-08-23T21:21:41+00:00" }, { "name": "maennchen/zipstream-php", @@ -757,16 +756,16 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "5.1.0", + "version": "5.2.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "fd26e45a814e94ae2aad0df757d9d1739c4bf2e0" + "reference": "3b8994b3aac4b61018bc04fc8c441f4fd68c18eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fd26e45a814e94ae2aad0df757d9d1739c4bf2e0", - "reference": "fd26e45a814e94ae2aad0df757d9d1739c4bf2e0", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/3b8994b3aac4b61018bc04fc8c441f4fd68c18eb", + "reference": "3b8994b3aac4b61018bc04fc8c441f4fd68c18eb", "shasum": "" }, "require": { @@ -796,7 +795,7 @@ "dealerdirect/phpcodesniffer-composer-installer": "dev-main", "dompdf/dompdf": "^2.0 || ^3.0", "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.3", + "mitoteam/jpgraph": "^10.5", "mpdf/mpdf": "^8.1.1", "phpcompatibility/php-compatibility": "^9.3", "phpstan/phpstan": "^1.1 || ^2.0", @@ -808,7 +807,7 @@ }, "suggest": { "dompdf/dompdf": "Option for rendering PDF with PDF Writer", - "ext-intl": "PHP Internationalization Functions", + "ext-intl": "PHP Internationalization Functions, regquired for NumberFormat Wizard", "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", "mpdf/mpdf": "Option for rendering PDF with PDF Writer", "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" @@ -857,9 +856,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.1.0" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.2.0" }, - "time": "2025-09-04T05:34:49+00:00" + "time": "2025-10-26T15:54:22+00:00" }, { "name": "psr/http-client", @@ -915,20 +914,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -952,7 +951,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -964,9 +963,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -1118,29 +1117,29 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -1165,7 +1164,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -1181,7 +1180,844 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2024-09-25T14:21:43+00:00" + }, + { + "name": "tecnickcom/tc-lib-barcode", + "version": "2.4.8", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-barcode.git", + "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/f238ffd120d98a34df6573590e7ed02f766a91c4", + "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4", + "shasum": "" + }, + "require": { + "ext-bcmath": "*", + "ext-date": "*", + "ext-gd": "*", + "ext-pcre": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Barcode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to generate linear and bidimensional barcodes", + "homepage": "http://www.tecnick.com", + "keywords": [ + "3 of 9", + "ANSI MH10.8M-1983", + "CBC", + "CODABAR", + "CODE 11", + "CODE 128 A B C", + "CODE 39", + "CODE 93", + "EAN 13", + "EAN 8", + "ECC200", + "ISO IEC 15438 2006", + "ISO IEC 16022", + "ISO IEC 24778 2008", + "Intelligent Mail Barcode", + "Interleaved 2 of 5", + "KIX", + "Klant", + "MSI", + "Onecode", + "PHARMACODE", + "PHARMACODE TWO-TRACKS", + "POSTNET", + "RMS4CC", + "Standard 2 of 5", + "UPC-A", + "UPC-E", + "USD-3", + "USPS-B-3200", + "USS-93", + "aztec", + "barcode", + "datamatrix", + "pdf417", + "planet", + "qr-code", + "royal mail", + "tc-lib-barcode", + "upc" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-barcode/issues", + "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.4.8" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T11:35:02+00:00" + }, + { + "name": "tecnickcom/tc-lib-color", + "version": "2.2.13", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-color.git", + "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/85d1366fb33813aa521d30e3d7c7d7d82a8103a6", + "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Color\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to manipulate various color representations", + "homepage": "http://www.tecnick.com", + "keywords": [ + "cmyk", + "color", + "colors", + "colour", + "colours", + "hsl", + "hsla", + "javascript", + "rgb", + "rgba", + "tc-lib-color", + "web" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-color/issues", + "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.2.13" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T11:33:19+00:00" + }, + { + "name": "tecnickcom/tc-lib-file", + "version": "2.2.2", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-file.git", + "reference": "ec6989700b77baa8a8d88952ad4fd8f53211c370" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-file/zipball/ec6989700b77baa8a8d88952ad4fd8f53211c370", + "reference": "ec6989700b77baa8a8d88952ad4fd8f53211c370", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-pcre": "*", + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\File\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to read byte-level data from files", + "homepage": "http://www.tecnick.com", + "keywords": [ + "Double", + "bit", + "byte", + "file", + "long", + "read", + "short", + "tc-lib-file" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-file/issues", + "source": "https://github.com/tecnickcom/tc-lib-file/tree/2.2.2" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T11:33:32+00:00" + }, + { + "name": "tecnickcom/tc-lib-pdf", + "version": "8.1.5", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf.git", + "reference": "b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf/zipball/b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd", + "reference": "b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-pcre": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-barcode": "^2.4", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1", + "tecnickcom/tc-lib-pdf-font": "^2.6", + "tecnickcom/tc-lib-pdf-graph": "^2.3", + "tecnickcom/tc-lib-pdf-image": "^2.1", + "tecnickcom/tc-lib-pdf-page": "^4.2", + "tecnickcom/tc-lib-unicode": "^2.0", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP PDF Library", + "homepage": "http://www.tecnick.com", + "keywords": [ + "PDFD32000-2008", + "TCPDF", + "document", + "pdf", + "tc-lib-pdf" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf/tree/8.1.5" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-21T09:05:48+00:00" + }, + { + "name": "tecnickcom/tc-lib-pdf-encrypt", + "version": "2.1.16", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-encrypt.git", + "reference": "4e154df154e586523033187dfc54a2a8e113a7db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-encrypt/zipball/4e154df154e586523033187dfc54a2a8e113a7db", + "reference": "4e154df154e586523033187dfc54a2a8e113a7db", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-hash": "*", + "ext-openssl": "*", + "ext-pcre": "*", + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Encrypt\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to encrypt data for PDF", + "homepage": "http://www.tecnick.com", + "keywords": [ + "aes", + "encrypt", + "encryption", + "pdf", + "rc4", + "tc-lib-pdf-encrypt" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-encrypt/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-encrypt/tree/2.1.16" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T11:33:45+00:00" + }, + { + "name": "tecnickcom/tc-lib-pdf-font", + "version": "2.6.12", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-font.git", + "reference": "961ddeb8f02c7186e9efcf37693cbd1f21af1dc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-font/zipball/961ddeb8f02c7186e9efcf37693cbd1f21af1dc1", + "reference": "961ddeb8f02c7186e9efcf37693cbd1f21af1dc1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Font\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF page formats and definitions", + "homepage": "http://www.tecnick.com", + "keywords": [ + "PFB", + "afm", + "font", + "import", + "pdf", + "tc-lib-pdf-font", + "ttf" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-font/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-font/tree/2.6.12" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T12:19:35+00:00" + }, + { + "name": "tecnickcom/tc-lib-pdf-graph", + "version": "2.3.2", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-graph.git", + "reference": "2125360e68abc1f0fba25e0de2f8f8df9aba4d41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-graph/zipball/2125360e68abc1f0fba25e0de2f8f8df9aba4d41", + "reference": "2125360e68abc1f0fba25e0de2f8f8df9aba4d41", + "shasum": "" + }, + "require": { + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Graph\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF graphic and geometric methods", + "homepage": "http://www.tecnick.com", + "keywords": [ + "geometry", + "graphic", + "pdf", + "tc-lib-pdf-graph", + "transformation" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-graph/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-graph/tree/2.3.2" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T12:18:34+00:00" + }, + { + "name": "tecnickcom/tc-lib-pdf-image", + "version": "2.1.14", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-image.git", + "reference": "f9bc757b3fe3b8d675ae993404048cceeb037417" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-image/zipball/f9bc757b3fe3b8d675ae993404048cceeb037417", + "reference": "f9bc757b3fe3b8d675ae993404048cceeb037417", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Image\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF Image methods", + "homepage": "http://www.tecnick.com", + "keywords": [ + "image", + "jpeg", + "jpg", + "pdf", + "png", + "tc-lib-pdf-image" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-image/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-image/tree/2.1.14" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T12:18:48+00:00" + }, + { + "name": "tecnickcom/tc-lib-pdf-page", + "version": "4.2.12", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-page.git", + "reference": "c446d399372df775c5f8c3a5cfc30e85bfb6c102" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-page/zipball/c446d399372df775c5f8c3a5cfc30e85bfb6c102", + "reference": "c446d399372df775c5f8c3a5cfc30e85bfb6c102", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Page\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF page formats and definitions", + "homepage": "http://www.tecnick.com", + "keywords": [ + "format", + "page", + "pdf", + "tc-lib-pdf-page" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-page/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-page/tree/4.2.12" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T12:18:18+00:00" + }, + { + "name": "tecnickcom/tc-lib-unicode", + "version": "2.0.25", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-unicode.git", + "reference": "9165ea29a46a38938097377b3ec518e0fd0a8092" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-unicode/zipball/9165ea29a46a38938097377b3ec518e0fd0a8092", + "reference": "9165ea29a46a38938097377b3ec518e0fd0a8092", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-pcre": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Unicode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing Unicode methods", + "homepage": "http://www.tecnick.com", + "keywords": [ + "font", + "pdf", + "tc-lib-unicode", + "unicode", + "utf-8" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-unicode/issues", + "source": "https://github.com/tecnickcom/tc-lib-unicode/tree/2.0.25" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T12:18:03+00:00" + }, + { + "name": "tecnickcom/tc-lib-unicode-data", + "version": "2.0.24", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-unicode-data.git", + "reference": "cc0ac553b70ecfda9ffeda71ca2f490bfaff5036" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-unicode-data/zipball/cc0ac553b70ecfda9ffeda71ca2f490bfaff5036", + "reference": "cc0ac553b70ecfda9ffeda71ca2f490bfaff5036", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Unicode\\Data\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing Unicode definitions", + "homepage": "http://www.tecnick.com", + "keywords": [ + "font", + "pdf", + "tc-lib-unicode-data", + "unicode", + "utf-8" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-unicode-data/issues", + "source": "https://github.com/tecnickcom/tc-lib-unicode-data/tree/2.0.24" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-06-06T11:34:15+00:00" + }, + { + "name": "tecnickcom/tcpdf", + "version": "6.10.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/TCPDF.git", + "reference": "ca5b6de294512145db96bcbc94e61696599c391d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/ca5b6de294512145db96bcbc94e61696599c391d", + "reference": "ca5b6de294512145db96bcbc94e61696599c391d", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=7.1.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "config", + "include", + "tcpdf.php", + "tcpdf_barcodes_1d.php", + "tcpdf_barcodes_2d.php", + "include/tcpdf_colors.php", + "include/tcpdf_filters.php", + "include/tcpdf_font_data.php", + "include/tcpdf_fonts.php", + "include/tcpdf_images.php", + "include/tcpdf_static.php", + "include/barcodes/datamatrix.php", + "include/barcodes/pdf417.php", + "include/barcodes/qrcode.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", + "homepage": "http://www.tcpdf.org/", + "keywords": [ + "PDFD32000-2008", + "TCPDF", + "barcodes", + "datamatrix", + "pdf", + "pdf417", + "qrcode" + ], + "support": { + "issues": "https://github.com/tecnickcom/TCPDF/issues", + "source": "https://github.com/tecnickcom/TCPDF/tree/6.10.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "time": "2025-05-27T18:02:28+00:00" }, { "name": "twbs/bootstrap", @@ -1242,10 +2078,10 @@ "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/dist/labelprint.php b/dist/labelprint.php new file mode 100644 index 0000000..dae5438 --- /dev/null +++ b/dist/labelprint.php @@ -0,0 +1,152 @@ +requestEpiApi('/v1/product/all?cl=' . Epirent_Mandant))->payload; + +?> + + + + + + + + Labelprint - EpiWebview + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+

Labelprint

+ + +
+
+
Labelprint
+ +
+
+
+ + + + + + + + + + + "; + echo ""; + echo ""; + echo ""; + echo " + "; + echo ""; + } + ?> + +
#PNNameAktionen
" . htmlspecialchars($product->primary_key) . "" . htmlspecialchars($product->product_no) . "" . htmlspecialchars($product->name) . " + + Export + + + + + primary_key) . "').value; + if(nr) { + this.href = '../sources/getProductLabel.php?id=" . urlencode($product->primary_key) . "&nr=' + encodeURIComponent(nr); + } else { + alert('Bitte eine Nummer zwischen 1 und 9999 eingeben.'); + return false; + } + \"> + Export mit ID + +
+
+ +
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/example.config.php b/example.config.php index 8126c5b..67227c5 100644 --- a/example.config.php +++ b/example.config.php @@ -72,5 +72,7 @@ define('CheckOut_FutureDays', -1); // Konfiguration, wie viele Tage in der Zukun define('CheckIn_FutureDays', -1); // Konfiguration, wie viele Tage in der Zukunft der CheckIn angezeigt werden soll. '-1' zeigt alle an. Abhängig von der Variablen CheckIn_UseDispoEndForRowMarking define('SortCheckOut', 2); // Konfiguration, welcher Datensatz für die Sortierung Verwendet werden soll. Möglichkeiten '1': Packscheinnummer / '2': Dispostart define('SortCheckIn', 2); // Konfiguration, welcher Datensatz für die Sortierung Verwendet werden soll. Möglichkeiten '1': Packscheinnummer / '2': Dispoende - +// @section: Epirent-Spezifische Einstellungen - Labeldruck +define('Labelprint_Logopath', '/../src/assets/img/logo.png'); //Pfad zum Logo für den Etikettendruck +define('Labelprint_Addresstext', 'VT-Media
Augsburger Straße 22
87672 Roßhaupten
info@vt-media.de
vt-media.de
08367/4619-990'); //Text der im Adressfeld der Etiketten angezeigt wird. max 6 Zeilen Empfohlen ?> diff --git a/nbproject/private/private.properties b/nbproject/private/private.properties index 099d7a0..7e64882 100644 --- a/nbproject/private/private.properties +++ b/nbproject/private/private.properties @@ -6,4 +6,4 @@ remote.connection=SV-WEB-157879 remote.directory=/html/EpiWebview remote.upload=ON_SAVE run.as=REMOTE -url=http://10.10.18.17/EpiWebview +url=http://10.10.18.17(EpiWebview diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 072f37b..1888b6c 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -10,6 +10,7 @@ file:/C:/xampp/htdocs/EpiWebview/sources/getOrderDetails.php file:/C:/xampp/htdocs/EpiWebview/dist/css/styles.css file:/C:/xampp/htdocs/EpiWebview/Aufgabenmonitor.php + file:/C:/xampp/htdocs/EpiWebview/dist/layout-sidenav-light.html file:/C:/xampp/htdocs/EpiWebview/dist/editconfig.php file:/C:/xampp/htdocs/EpiWebview/composer.json file:/C:/xampp/htdocs/EpiWebview/sources/getCheckInTable.php @@ -28,6 +29,7 @@ file:/C:/xampp/htdocs/EpiWebview/sources/getOrders.php file:/C:/xampp/htdocs/EpiWebview/sources/getCheckInCards.php file:/C:/xampp/htdocs/EpiWebview/dist/orders.php + file:/C:/xampp/htdocs/EpiWebview/dist/insurance.php file:/C:/xampp/htdocs/EpiWebview/LICENSE.MD file:/C:/xampp/htdocs/EpiWebview/vendor/autoload.php file:/C:/xampp/htdocs/EpiWebview/sources/getAufgabenTable.php diff --git a/sources/getProductLabel.php b/sources/getProductLabel.php new file mode 100644 index 0000000..fc258c1 --- /dev/null +++ b/sources/getProductLabel.php @@ -0,0 +1,877 @@ +requestEpiApi('/v1/product/'.$id.'?cl=' . Epirent_Mandant))->payload[0]; +$productImage =json_decode($Epi->requestEpiApi('/v1/product/image/'.$id.'?cl=' . Epirent_Mandant))->payload[0]->image_data; + + +function s(?string $v): string { return trim((string)$v); } +function fnum(?float $v, int $dec = 2): string { + if ($v === null) return ''; + $n = number_format((float)$v, $dec, ',', '.'); + return rtrim(rtrim($n, '0'), ','); +} + +//Set Variables +$productName = $product->name; +$productNumber = $product->product_no; + +$bruttoWeightSum = $product->tech_data->weight_gro; + +$bundle = buildBundleForProduct($Epi, $product); + +/** Test-Daten +*/ +$dimsBHT =$product->tech_data->width_gro." x ".$product->tech_data->depth_gro." x ".$product->tech_data->height_gro; +$volume = ((float)$product->tech_data->height_gro * (float)$product->tech_data->width_gro * (float)$product->tech_data->depth_gro)* 0.000001; +$storageLoc = $product->product_data->storage_location_nearby; + +/** Layout */ +$PAGE_SIZE = 'A4'; +$MARGIN_LEFT = 8; +$MARGIN_TOP = 8; +$MARGIN_RIGHT = 8; +$MARGIN_BOTTOM = 10; + +$CELL_PAD = 1.6; +$LINE_GRAY = '#efefef'; + +$LEVEL_MIN = 1; $LEVEL_MAX = 5; +$INDENT_PX_PER_LEVEL = 10; +$BASE_FONT_PX = 10; +$FONT_STEP_PX = 1.5; + + + +/** TCPDF */ +$pdf = new TCPDF('P', 'mm', $PAGE_SIZE, true, 'UTF-8', false); + +// 1) Pfade sauber +$fontDir = realpath(__DIR__ . '/../src/assets/font') . '/'; +$tcpdfFontsDir = defined('K_PATH_FONTS') ? K_PATH_FONTS : (dirname((new \ReflectionClass('TCPDF'))->getFileName()) . '/fonts/'); + +// 2) Rechte (einmalig sicherstellen) +// -> hast du schon gefixt + +// 3) TTFs registrieren und Rückgabewerte merken +$fontReg = file_exists($fontDir.'Hurme3/HurmeGeometricSans3-Regular.ttf') + ? TCPDF_FONTS::addTTFfont($fontDir.'Hurme3/HurmeGeometricSans3-Regular.ttf', 'TrueTypeUnicode', '', 96) + : false; +$fontBold = file_exists($fontDir.'Hurme1/HurmeGeometricSans1-Bold.ttf') + ? TCPDF_FONTS::addTTFfont($fontDir.'Hurme1/HurmeGeometricSans1-Bold.ttf', 'TrueTypeUnicode', '', 96) + : false; +$fontItal = file_exists($fontDir.'Hurme3/HurmeGeometricSans3-Italic.ttf') + ? TCPDF_FONTS::addTTFfont($fontDir.'Hurme3/HurmeGeometricSans3-Italic.ttf', 'TrueTypeUnicode', '', 96) + : false; +$fontBI = file_exists($fontDir.'Hurme1/HurmeGeometricSans1-BoldItalic.ttf') + ? TCPDF_FONTS::addTTFfont($fontDir.'Hurme1/HurmeGeometricSans1-BoldItalic.ttf', 'TrueTypeUnicode', '', 96) + : false; + +// 4) Fallback setzen +$baseFont = $fontReg ?: 'dejavusans'; + +// 5) Header/Footer und Defaults +$pdf->setHeaderFont([$baseFont, '', 10]); +$pdf->setFooterFont([$baseFont, '', 9]); +$pdf->SetDefaultMonospacedFont('courier'); + +// 6) *** AB JETZT KEIN dejavusans MEHR SETZEN! *** +$pdf->SetFont($baseFont, '', 10.5); + + + +$pdf->SetCreator('VT-Media EpiWebview'); +$pdf->SetAuthor('VT-Media'); +$pdf->SetTitle('Kistenetikett '.$productName); +$pdf->SetSubject('Kistenetikett'); + +$pdf->setPrintHeader(false); +$pdf->setPrintFooter(false); +$pdf->SetMargins($MARGIN_LEFT, $MARGIN_TOP, $MARGIN_RIGHT); +$pdf->SetAutoPageBreak(true, $MARGIN_BOTTOM); +$pdf->setImageScale(1.0); +$pdf->setFontSubsetting(true); +$pdf->setCellPadding($CELL_PAD); + +$pdf->AddPage(); + + + + +// --- LOGO in fester Box mit Rahmen, zentriert & verzerrungsfrei --- +$logoPath = __DIR__ . Labelprint_Logopath; + +$startX = $pdf->GetX(); +$startY = $pdf->GetY(); + +// feste Rahmen-Größe (in mm) +$frameW = 38.0; // Gesamtbreite des Rahmens +$frameH = 20; // Gesamthöhe des Rahmens +$frameOffsetX = 1.4; // Abstand vom linken Margin (wie vorher genutzt) +$frameOffsetY = 1.5; // Abstand von oben (wie vorher genutzt) + +// Rahmen-Position +$frameX = $startX + $frameOffsetX; +$frameY = $startY + $frameOffsetY; + +// Rahmen zeichnen +$pdf->SetLineWidth(0.3); +$pdf->Rect($frameX, $frameY, $frameW, $frameH, 'D'); + +// Logo innerhalb des Rahmens mit Innenabstand +$innerPad = 1.2; // mm Luft im Rahmen +$maxW = $frameW - 2 * $innerPad; +$maxH = $frameH - 2 * $innerPad; + +if (is_file($logoPath)) { + // Seitenverhältnis ermitteln + $imgWpx = $imgHpx = 0; + if (@list($imgWpx, $imgHpx) = @getimagesize($logoPath)) { + $ratio = ($imgHpx > 0) ? ($imgWpx / $imgHpx) : 1.0; + + // proportional in den Rahmen einpassen + if ($maxW / $maxH > $ratio) { + $drawH = $maxH; + $drawW = $maxH * $ratio; + } else { + $drawW = $maxW; + $drawH = $maxW / $ratio; + } + + // zentrieren + $imgX = $frameX + ($frameW - $drawW) / 2; + $imgY = $frameY + ($frameH - $drawH) / 2; + + // ausgeben + $pdf->Image($logoPath, $imgX, $imgY, $drawW, $drawH, '', '', '', false, 300); + } +} + + + + + +$afterLogoX = $frameX + $frameW - 1.4; // gleicher Abstand wie zuvor, jetzt basierend auf Rahmenbreite +$afterLogoBottomY = $frameY + $frameH; // falls du unten bündig etwas brauchst +$pdf->SetXY($afterLogoX, $startY); // Cursor rechts neben dem Logo positionieren + + + +$addrHtml = ' +
'.Labelprint_Addresstext.'
'; +// Feste Box rechts neben dem Logo (direkt bündig) +$addrBoxW = 30.0; // feste Breite (mm) +$addrBoxH = 20.0; // feste Höhe (mm) +$addrPad = 0.5; // Innenabstand Inhalt → Rahmen (mm) + +// bündig rechts neben dem Logo-Rahmen starten +$addrX = $frameX + $frameW; // kein zusätzlicher Abstand +$addrY = $startY+1.5; // gleiche Oberkante wie Logo + +// 1) festen Rahmen zeichnen +$pdf->SetLineWidth(0.3); +$pdf->Rect($addrX, $addrY, $addrBoxW, $addrBoxH, 'D'); + +// 2) HTML-Inhalt in die Box schreiben, mit Clipping (Überhang wird abgeschnitten) +$pdf->StartTransform(); +$pdf->Rect($addrX, $addrY, $addrBoxW, $addrBoxH, 'CNZ'); // Clip auf Box setzen + +$pdf->writeHTMLCell( + $addrBoxW - 2*$addrPad, // feste Breite des Inhalts + $addrBoxH - 2*$addrPad, // feste Höhe des Inhalts + $addrX + $addrPad, // x mit Innenabstand + $addrY + $addrPad, // y mit Innenabstand + $addrHtml, // dein HTML + 0, // kein Border (Rahmen haben wir schon) + 0, // ln + false, // fill + true, // reseth + 'L', // align + true // autopadding +); + +$pdf->StopTransform(); + +// Cursor steht bereits auf: $pdf->SetXY($addrX + $addrBoxW, $addrY); + +// 1) HTML OHNE border (sonst Doppelrahmen) +$productionHtml = ' +
+ Produktion



+
'; + +// 2) Feste Box rechts neben der Adress-Box +$prodX = $addrX + $addrBoxW; // bündig rechts neben Adresse +$prodY = $addrY; // gleiche Oberkante +// Breite: restliche Seitenbreite bis zum rechten Rand +$prodW = $pdf->getPageWidth() - $MARGIN_RIGHT - $prodX+2; +// Höhe: fix (anpassen nach Wunsch) +$prodH = 20.0; // mm +$prodPad = 0; // Innenabstand + +// 3) EIN sichtbarer Rahmen zeichnen +$pdf->SetLineWidth(0.3); +$pdf->Rect($prodX, $prodY, $prodW, $prodH, 'D'); + +// 4) Inhalt in die Box schreiben und clippen (Überhang abgeschnitten) +$pdf->StartTransform(); +$pdf->Rect($prodX, $prodY, $prodW, $prodH, 'CNZ'); // Clip auf Box setzen + +$pdf->writeHTMLCell( + $prodW - 2*$prodPad, // feste Breite des Inhalts + $prodH - 2*$prodPad, // feste Höhe des Inhalts + $prodX + $prodPad, // x mit Innenabstand + $prodY + $prodPad, // y mit Innenabstand + $productionHtml, // Inhalt (ohne border!) + 0, // kein Border (Rahmen haben wir schon) + 0, // ln + false, // fill + true, // reseth + 'L', // align + true // autopadding +); + +$pdf->StopTransform(); + +// 5) (Optional) Cursor direkt rechts neben der Box positionieren +$pdf->SetXY($prodX + $prodW, $prodY); + +// === Name-Box: feste Größe, Text bricht, kein Doppelrahmen === + +// Breite: gesamte Restbreite bis zum rechten Rand (unter Adresse + Produktion) +$nameX = $frameX; // beginnt rechts neben dem Logo/Adressbereich +$nameW = $pdf->getPageWidth() - $MARGIN_RIGHT - $nameX-65.2; + +// Höhe & Padding der Box (anpassen nach Wunsch) +$nameBoxH = 18.2; // mm - feste Höhe +$namePad = 1.5; // mm - Innenabstand + +// Y: direkt unter die höhere der beiden Boxen (Adresse vs. Produktion) +$yAfterRow = max($addrY + $addrBoxH, $prodY + $prodH) + 0.0; // +2 mm Abstand +$nameY = $yAfterRow; + +// Inhalt OHNE border (sonst Doppelrahmen) +$nameHtml = ' +
' . htmlspecialchars($productName) . ' +
'; + +// 1) Sichtbaren Rahmen zeichnen (feste Größe) +$pdf->SetLineWidth(0.3); +$pdf->Rect($nameX, $nameY, $nameW, $nameBoxH, 'D'); + +// 2) Inhalt in die Box schreiben und clippen +$pdf->StartTransform(); +$pdf->Rect($nameX, $nameY, $nameW, $nameBoxH, 'CNZ'); // Clip auf Box setzen + +$pdf->writeHTMLCell( + $nameW - 2*$namePad, // feste Breite für den Text + $nameBoxH - 2*$namePad, // feste Höhe für den Text + $nameX + $namePad, // x mit Innenabstand + $nameY + $namePad, // y mit Innenabstand + $nameHtml, + 0, // kein HTML-Border + 0, // ln + false, // fill + true, // reseth + 'L', // align + true // autopadding +); + +$pdf->StopTransform(); + +// Optional: Cursor unter die Box setzen (falls du danach im Fluss weitermachen willst) +$pdf->SetXY($nameX, $nameY + $nameBoxH); + +// 1) Box-Geometrie (immer gleich groß) +$pnBoxW = 67.0; // mm – Gesamtbreite der Box +$pnBoxH = 18.2; // mm – Gesamthöhe der Box +$pnBoxPad = 2.0; // mm – Innenabstand innerhalb der Box + +// Position der Box (aktuell am rechten Rand oben; passe frei an) +$pnBoxX = $pdf->getPageWidth() - $MARGIN_RIGHT - $pnBoxW+1.8; // bündig am rechten Rand +$pnBoxY = $startY+21.5; // gleiche Oberkante wie Kopf + +// 2) Sichtbaren Rahmen zeichnen (einmalig) +$pdf->SetLineWidth(0.3); +$pdf->Rect($pnBoxX, $pnBoxY, $pnBoxW, $pnBoxH, 'D'); + +// 3) Clipping aktivieren, damit Inhalt in der Box bleibt +$pdf->StartTransform(); +$pdf->Rect($pnBoxX, $pnBoxY, $pnBoxW, $pnBoxH, 'CNZ'); // Clip auf die Box + +// 4) Produktnummer: frei verschiebbar innerhalb der Box +$pnCombined = trim($productNumber . $deviceNumber); +$pnText = htmlspecialchars($pnCombined !== '' ? $pnCombined : 'N/A'); + +// Offsets innerhalb der Box – hier stellst du die Position ein +$pnTextOffsetX = 2.0; // mm von linker Innenkante +$pnTextOffsetY = 1; // mm von oberer Innenkante +$pnTextW = $pnBoxW - 2*$pnBoxPad; // nutzbare Breite +$pnTextH = 8.0; // feste Höhe für den PN-Textbereich (mm) + +$pnHtml = ' +
+ '.$pnText.' +
'; + +// PN-Text rendern (ohne HTML-Border!) +$pdf->writeHTMLCell( + $pnTextW, // Breite Textbereich + $pnTextH, // Höhe Textbereich + $pnBoxX + $pnBoxPad + $pnTextOffsetX, // X in der Box + $pnBoxY + $pnBoxPad + $pnTextOffsetY, // Y in der Box + $pnHtml, + 0, 0, false, true, 'L', true +); + +// 5) QR-Code: frei verschiebbar innerhalb der Box, verzerrungsfrei per size +$qrData = trim((string)($productNumber . $deviceNumber)); +if ($qrData === '') { + $qrData = 'N/A'; +} + +$qrSize = 16.0; // mm – Kantenlänge des QR +$qrOffsetX = $pnBoxW - $pnBoxPad - $qrSize - 2.0; // mm von linker Innenkante +$qrOffsetY = $pnBoxH - $pnBoxPad - $qrSize +0.6; // mm von oberer Innenkante + +$qrX = $pnBoxX + $qrOffsetX; +$qrY = $pnBoxY + $qrOffsetY; + +$qrStyle = [ + 'border' => 0, + 'vpadding' => 0, + 'hpadding' => 0, + 'fgcolor' => [0,0,0], + 'bgcolor' => false, +]; + +// QR rendern (Warnings/Deprecated für diesen Block stumm schalten) +$_old_reporting = error_reporting(); +error_reporting($_old_reporting & ~(E_WARNING | E_DEPRECATED | E_NOTICE)); +$pdf->write2DBarcode($qrData, 'QRCODE,H', $qrX, $qrY, $qrSize, $qrSize, $qrStyle, 'N'); +error_reporting($_old_reporting); + +// 6) Clipping beenden +$pdf->StopTransform(); + +// 7) Optional: Cursor unter die PN-Box setzen, falls du im Fluss weiter willst +$pdf->SetXY($pnBoxX, $pnBoxY + $pnBoxH); + +/** Bundle */ + +$bundleHeader = '
 Bundleinhalt
'; +$pdf->writeHTMLCell(70, 50, 7.65, 46, $bundleHeader, 0, 0, 0, true, 'L', true); +$bundleHeaderFillable = '
'; +//$pdf->writeHTMLCell(130.8, 39.8, 74.5, 46, $bundleHeaderFillable, 0, 0, 0, false, 'L', true); +drawFixedBox($pdf, 76.0, 47.7, 127.8, 4.65); + + +$bundleRows = ''; + +$BASE_FONT_PX = 10.0; // Level 1 +$FONT_STEP_PX = 1.5; // je Ebene kleiner +$MIN_FONT_PX = 6.0; +$LINE_HEIGHT_BASE = 1.15; // Basis Zeilenhöhe +$LINE_HEIGHT_STEP = 0.05; // je Ebene etwas kompakter +$ROW_PAD_V_MM = 0.5; // vertikales Padding je Zeile +$ROW_PAD_H_MM = 0.8; // horizontales Padding +$WEIGHT_PAD_RIGHT_MM = 1.6; // mehr Abstand zum rechten Rand +$INDENT_MM_PER_LVL = 2.8; // Einrückung je Ebene in mm (stabil!) + +foreach ($bundle as $item) { + $qty = (int)($item['qty'] ?? 1); + $text = htmlspecialchars($item['text'] ?? ''); + $lvl = max($LEVEL_MIN, min($LEVEL_MAX, (int)($item['level'] ?? 1))); + $wkg = isset($item['weight_kg']) ? (float)$item['weight_kg'] : null; + + $textFontPx = max($MIN_FONT_PX, $BASE_FONT_PX - ($lvl - 1) * $FONT_STEP_PX); + $weightFontPx = max($MIN_FONT_PX, $BASE_FONT_PX - ($lvl - 1) * $FONT_STEP_PX); + $lineHeight = max(1.0, $LINE_HEIGHT_BASE - ($lvl - 1) * $LINE_HEIGHT_STEP); + +// Einrückung robust über mm – aber nur Tabelle nutzen, wenn > 0 mm +$indentMm = max(0, ($lvl - 1) * $INDENT_MM_PER_LVL); + +// Name-Spalte: ohne Spacer-Tabelle bei Level 1 (indent=0), sonst mit +if ($indentMm > 0) { + $nameCellHtml = ' + + + + + +
'.$text.'
'; +} else { + // Level 1: direkt rendern + $nameCellHtml = ''.$text.''; +} + + $bundleRows .= ' + + + + '.$qty.' + + + + + '.$nameCellHtml.' + + + + + '.($wkg !== null ? fnum($wkg).' kg' : '').' + + '; +} + +$bundleHtml = ' + + '.$bundleRows.' +
'; + +$pdf->writeHTMLCell( + $pdf->getPageWidth() - 12.4, + 0, + 7.8, + 50.8, + $bundleHtml, + 0, + 0, + 0, + true, + 'L', + true +); + + + +/** ---------- Meta-Block dynamisch unterhalb der Bundle-Tabelle ---------- */ + +// Höhe der zuletzt gerenderten Bundle-Tabelle holen +$bundleH = $pdf->getLastH(); + +// Y-Position direkt nach der Bundle-Tabelle (mit 3 mm Abstand) +$metaY = 47.6 + $bundleH; // 50 = dein bisheriges Y der Bundle-Tabelle +$metaX = $MARGIN_LEFT; +$metaW = $pdf->getPageWidth() - $MARGIN_LEFT - $MARGIN_RIGHT; + +// Falls Meta-Block zu nah am Seitenende wäre → neue Seite +$usableBottom = $pdf->getPageHeight() - $MARGIN_BOTTOM; +if ($metaY > $usableBottom - 40) { // 40 mm Puffer für Meta + $pdf->AddPage(); + $metaY = $MARGIN_TOP; +} + +// --- Inhalt wie gehabt --- +$leftMeta = ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
Maße L x B x Hin cm
+
'.htmlspecialchars($dimsBHT).'
+ + + + + +
Gewichtin Kg
+
'.fnum($bruttoWeightSum).' Kg
+ + + + + +
Volumenin m³
+
'.fnum($volume, 2).' m³
+ + + + +
Lagerplatz
+
'.htmlspecialchars($storageLoc).'
'; + +// ---- Koordinaten der Meta-Zeile bestimmen (nimm deine Werte) ---- +// Falls du sie schon berechnet hast, nutze deine $metaX, $metaY, $metaW. +// Beispiel, wie du sie meist setzt: +$metaX = $MARGIN_LEFT; +$metaW = $pdf->getPageWidth() - $MARGIN_LEFT - $MARGIN_RIGHT; +// $metaY hast du zuvor als Ziel-Y für den Meta-Block berechnet: +/// $metaY = ... (z.B. 50 + $bundleH + 3); + +// ---- Spaltenbreiten wie in deinem metaWrap: 62% | 2% | 36% ---- +$leftW = $metaW * 0.62; +$gapW = $metaW * 0.02; +$rightW = $metaW * 0.36; + +// Obere linke Ecke der rechten Spalte: +$rightX = $metaX + $leftW + $gapW; +$rightY = $metaY; + +// ---- Fester Rahmen in der rechten Spalte ---- +$frameOuterPad = 1.0; // mm: Abstand vom Spaltenrand +$frameW = $rightW - 2*$frameOuterPad+8; // Rahmenbreite +$frameH = 24.38; // mm: feste Rahmenhöhe, nach Wunsch +$frameX = $rightX + $frameOuterPad-5.2; +$frameY = $rightY + $frameOuterPad+0.5; + +$pdf->SetLineWidth(0.3); +$pdf->Rect($frameX, $frameY, $frameW, $frameH, 'D'); // der feste Rahmen + +// ---- Base64-Bild zentriert & verzerrungsfrei in den Rahmen ---- +$tmpImg = tempnam(sys_get_temp_dir(), 'epi_') . '.png'; +file_put_contents($tmpImg, base64_decode($productImage)); + +list($imgWpx, $imgHpx) = getimagesize($tmpImg); +$imgRatio = ($imgHpx > 0) ? ($imgWpx / $imgHpx) : 1.0; + +$innerPad = 2.0; // mm: Innenabstand im Rahmen +$maxW = $frameW - 2*$innerPad; +$maxH = $frameH - 2*$innerPad; + +// proportional einpassen +if ($maxW / $maxH > $imgRatio) { + $drawH = $maxH; + $drawW = $maxH * $imgRatio; +} else { + $drawW = $maxW; + $drawH = $maxW / $imgRatio; +} + +// zentrieren +$imgX = $frameX + ($frameW - $drawW) / 2; +$imgY = $frameY + ($frameH - $drawH) / 2; + +$pdf->Image($tmpImg, $imgX, $imgY, $drawW, $drawH, '', '', '', false, 300); +@unlink($tmpImg); + +$metaWrap = ' + + + + + + +
'.$leftMeta.''.$rightMeta.'
'; + +// Meta-Block exakt an berechneter Position ausgeben +$pdf->writeHTMLCell($metaW, 0, $metaX, $metaY, $metaWrap, 0, 0, 0, true, 'L', true); +/** Output */ +// Falls trotz allem vorher etwas ausgegeben wurde (Warnings), Buffer leeren: +if (ob_get_length()) { ob_end_clean(); } + + + +// Äußerer Rahmen, Größenberechnung + +// 1) Höhe der META-Zelle (zuletzt geschrieben) holen: +$metaH = $pdf->getLastH(); + +// 2) Y der Bundle-Tabelle kennst du (50.8 in deinem Code) + deren Höhe: +$bundleY = 50.8; // dein fixer Y für die Bundle-Tabelle +// $bundleH hast du bereits oben: $bundleH = $pdf->getLastH(); + +// 3) Bottom-Kanten aller Boxen berechnen: +$bottoms = [ + $frameY + $frameH, // Logo-Box + $addrY + $addrBoxH, // Adress-Box + $prodY + $prodH, // Produktion-Box + $nameY + $nameBoxH, // Name-Box + $pnBoxY + $pnBoxH, // PN/QR-Box + $bundleY + $bundleH, // Bundle-Tabelle + $metaY + $metaH, // Meta-Block (linke Tabelle + rechter Bildrahmen) +]; + +// 4) Start-Y des Contentbereichs: oben an deinem Kopf beginnen +$outerY = min($frameY, $addrY, $prodY, $nameY, $pnBoxY, 46.0 /*Bundle-Header-Y*/, $metaY); + +// 5) Untere Kante ist die größte Bottom-Kante: +$outerBottom = max($bottoms); + +// 6) Außenrahmen-Geometrie: +$outerX = $MARGIN_LEFT+1.2; +$outerW = $pdf->getPageWidth() - $MARGIN_LEFT - $MARGIN_RIGHT+1; +$outerH = max(2, $outerBottom - $outerY)-1.2; // Mindeshöhe absichern + +// 7) Dicke Linie zeichnen (z.B. 1.2 mm) +drawFixedBox($pdf, $outerX, $outerY, $outerW, $outerH, 1, '', 0, false); + + + +$filename = 'Kistenetikett_'.preg_replace('/\s+/', '_', trim($productName)).'_'.$productNumber.$deviceNumber.'_'.date('Ymd_His').'.pdf'; +$pdf->Output($filename, 'I'); + + +/** + * Zeichnet eine flexible, leere oder beschriftete Box mit TCPDF. + * + * @param TCPDF $pdf Referenz auf dein TCPDF-Objekt + * @param float $x Linke obere Ecke (mm) + * @param float $y Obere Position (mm) + * @param float $w Breite (mm) + * @param float $h Höhe (mm) + * @param float $border Linienstärke in mm (z. B. 0.3) + * @param string $text (Optional) Inhalt oder Beschriftung + * @param float $pad Innenabstand in mm + * @param bool $fill true = grau hinterlegt, false = leer + * @param string|null $style (Optional) Linienstil – 'solid', 'dashed', 'dotted' + */ +function drawFixedBox( + TCPDF $pdf, + float $x, + float $y, + float $w, + float $h, + float $border = 0.3, + string $text = '', + float $pad = 1.5, + bool $fill = false, + ?string $style = 'solid' +): void { + // Farbe für Füllung (hellgrau, wenn aktiviert) + $fillColor = [240, 240, 240]; + + // Linienstil (falls angegeben) + switch ($style) { + case 'dashed': + $pdf->SetLineStyle(['width' => $border, 'dash' => '3,2']); + break; + case 'dotted': + $pdf->SetLineStyle(['width' => $border, 'dash' => '1,2']); + break; + default: + $pdf->SetLineWidth($border); + $pdf->SetLineStyle(['width' => $border]); + break; + } + + // 1) Rahmen (und ggf. Füllung) + if ($fill) { + $pdf->SetFillColorArray($fillColor); + $pdf->Rect($x, $y, $w, $h, 'DF'); // Draw + Fill + } else { + $pdf->Rect($x, $y, $w, $h, 'D'); // nur Rahmen + } + + // 2) Optionaler Textinhalt – sauber eingepasst + if (trim($text) !== '') { + $pdf->StartTransform(); + $pdf->Rect($x, $y, $w, $h, 'CNZ'); // Clip auf Box setzen + + $pdf->writeHTMLCell( + $w - 2*$pad, $h - 2*$pad, + $x + $pad, $y + $pad, + '
'.htmlspecialchars($text).'
', + 0, 0, false, true, 'L', true + ); + + $pdf->StopTransform(); + } + + // Linienstil zurücksetzen + $pdf->SetLineStyle(['width' => 0.3, 'dash' => 0]); +} + + + + +/** + * Produkt-Details mit Cache holen (vermeidet doppelte API-Calls). + * + * @param Epirent $Epi + * @param int|string $productPk + * @param array $cache Referenz-Array für Produkt-Cache + * @return object|null + */ +function fetchProductDetailCached($Epi, $productPk, array &$cache) { + $key = (string)$productPk; + if (isset($cache[$key])) { + return $cache[$key]; + } + try { + $res = $Epi->requestEpiApi('/v1/product/' . $key . '?cl=' . Epirent_Mandant); + $payload = json_decode($res, false); + $prod = $payload->payload[0] ?? null; + if ($prod) { + $cache[$key] = $prod; + return $prod; + } + } catch (\Throwable $e) { + // optional: loggen + } + $cache[$key] = null; + return null; +} +/** + * Rekursive Hilfsfunktion: fügt Materialien (und deren Submaterialien) zu $bundle hinzu + * und summiert alle Bruttogewichte in $bruttoWeightSum. + * + * @param Epirent $Epi + * @param array $materials Materialliste (vom Produkt) + * @param int $level aktuelle Ebene (1..MAX_BUNDLE_LEVEL) + * @param array &$bundle Ergebnisliste (wird befüllt) + * @param array &$cache Produkt-Cache + * @param array &$seenStack Schutz gegen Zyklen (Stack von Produkt-Keys) + * @param float $qtyMultiplier Multiplikator für Mengen aus übergeordneten Ebenen + * @param float &$bruttoWeightSum Summiert alle weight_gro-Werte × Menge + */ +function addMaterialsRecursive($Epi, array $materials, int $level, array &$bundle, array &$cache, array &$seenStack, float $qtyMultiplier = 1.0): void +{ + global $bruttoWeightSum; + + $MAX_BUNDLE_LEVEL = 5; + if ($level > $MAX_BUNDLE_LEVEL || empty($materials)) { + return; + } + + foreach ($materials as $mat) { + $isFree = !empty($mat->is_free_material); + $amount = isset($mat->amount) ? (float)$mat->amount : 1.0; + $effQty = $amount * $qtyMultiplier; + + // 🟢 1. FREIES MATERIAL → nur Name + Menge, kein weiterer Drilldown + if ($isFree) { + $name = isset($mat->name) ? (string)$mat->name : '(Unbenanntes freies Material)'; + $bundle[] = [ + 'qty' => $effQty, + 'text' => $name, + 'level' => $level, + 'weight_kg' => null, + ]; + continue; // ⬅️ ganz wichtig: hier abbrechen + } + + // 🟡 2. "Normales" Produkt-Material + $childPk = $mat->mat_product_pk ?? null; + if (!$childPk) { + $bundle[] = [ + 'qty' => $effQty, + 'text' => '(Unbekanntes Material)', + 'level' => $level, + 'weight_kg' => null, + ]; + continue; + } + + // Zyklen-Schutz + $childKey = (string)$childPk; + if (in_array($childKey, $seenStack, true)) { + $bundle[] = [ + 'qty' => $effQty, + 'text' => '[Zyklus erkannt bei Produkt ' . $childKey . ']', + 'level' => $level, + 'weight_kg' => null, + ]; + continue; + } + + // Produktdetail abrufen (Cache-basiert) + $child = fetchProductDetailCached($Epi, $childPk, $cache); + + // Basisinfos + $childName = $child->name ?? ('Produkt ' . $childKey); + $childWeightNet = $child->tech_data->weight_net ?? null; + $childWeightGross = $child->tech_data->weight_gro ?? null; + $childNumber = $child->product_no ?? null; + + // 🧮 Bruttogewicht zur globalen Summe addieren + if (!empty($childWeightGross)) { + $bruttoWeightSum += $effQty * (float)$childWeightGross; + } + + // 📦 Anzeige: Artikelnummer in Klammern voranstellen + $displayName = $childNumber ? '(' . $childNumber . ') ' . $childName : $childName; + + $bundle[] = [ + 'qty' => $effQty, + 'text' => (string)$displayName, + 'level' => $level, + 'weight_kg' => $childWeightNet ? (float)$childWeightNet : null, + ]; + + // 🔁 Rekursion für Sub-Materialien + if ($child && !empty($child->materials) && $level < $MAX_BUNDLE_LEVEL) { + $seenStack[] = $childKey; + addMaterialsRecursive($Epi, (array)$child->materials, $level + 1, $bundle, $cache, $seenStack, $effQty); + array_pop($seenStack); + } + } +} + + + +/** + * Einstieg: Baut das Bundle eines Produkts bis Tiefe MAX_BUNDLE_LEVEL + * und liefert zusätzlich die Bruttogewichtsumme zurück. + * + * @param Epirent $Epi + * @param object $product + * @param float &$bruttoWeightSum Rückgabe der aufsummierten weight_gro + * @return array + */ +function buildBundleForProduct($Epi, $product, float &$bruttoWeightSum = 0.0): array +{ + $bundle = []; + $cache = []; + $seen = []; + $materials = isset($product->materials) ? (array)$product->materials : []; + + addMaterialsRecursive($Epi, $materials, 1, $bundle, $cache, $seen, 1.0, $bruttoWeightSum); + return $bundle; +} diff --git a/sources/getSidenav.php b/sources/getSidenav.php index 1812bff..ed13174 100644 --- a/sources/getSidenav.php +++ b/sources/getSidenav.php @@ -8,13 +8,17 @@ Dashboard - + Aufträge - + Versicherung + + + Labelprint +
Addons
diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-Black.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-Black.ttf new file mode 100644 index 0000000..0ccd3f0 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-Black.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-BlackOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-BlackOblique.ttf new file mode 100644 index 0000000..d1be949 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-BlackOblique.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-Bold.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-Bold.ttf new file mode 100644 index 0000000..399ca09 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-Bold.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-BoldOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-BoldOblique.ttf new file mode 100644 index 0000000..45d0700 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-BoldOblique.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-Hairline.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-Hairline.ttf new file mode 100644 index 0000000..91cc601 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-Hairline.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-HairlineOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-HairlineOblique.ttf new file mode 100644 index 0000000..1297980 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-HairlineOblique.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-Light.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-Light.ttf new file mode 100644 index 0000000..69e7b68 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-Light.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-LightOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-LightOblique.ttf new file mode 100644 index 0000000..a8cfad7 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-LightOblique.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-Regular.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-Regular.ttf new file mode 100644 index 0000000..37e9749 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-Regular.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-RegularOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-RegularOblique.ttf new file mode 100644 index 0000000..00106a4 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-RegularOblique.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-SemiBold.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-SemiBold.ttf new file mode 100644 index 0000000..75113a7 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-SemiBold.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-SemiBoldOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-SemiBoldOblique.ttf new file mode 100644 index 0000000..b5ad1c9 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-SemiBoldOblique.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-Thin.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-Thin.ttf new file mode 100644 index 0000000..80f0473 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-Thin.ttf differ diff --git a/src/assets/font/Hurme1/HurmeGeometricSans1-ThinOblique.ttf b/src/assets/font/Hurme1/HurmeGeometricSans1-ThinOblique.ttf new file mode 100644 index 0000000..997a061 Binary files /dev/null and b/src/assets/font/Hurme1/HurmeGeometricSans1-ThinOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-Black.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-Black.ttf new file mode 100644 index 0000000..f75de39 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-Black.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-BlackOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-BlackOblique.ttf new file mode 100644 index 0000000..8983d38 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-BlackOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-Bold.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-Bold.ttf new file mode 100644 index 0000000..f54cc23 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-Bold.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-BoldOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-BoldOblique.ttf new file mode 100644 index 0000000..4bfe984 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-BoldOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-Hairline.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-Hairline.ttf new file mode 100644 index 0000000..1a77896 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-Hairline.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-HairlineOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-HairlineOblique.ttf new file mode 100644 index 0000000..8650582 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-HairlineOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-Light.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-Light.ttf new file mode 100644 index 0000000..7a86a29 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-Light.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-LightOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-LightOblique.ttf new file mode 100644 index 0000000..85c3567 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-LightOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-Regular.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-Regular.ttf new file mode 100644 index 0000000..c303df6 Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-Regular.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-RegularOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-RegularOblique.ttf new file mode 100644 index 0000000..f1b05ed Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-RegularOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-SemiBold.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-SemiBold.ttf new file mode 100644 index 0000000..cce45de Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-SemiBold.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-SemiBoldOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-SemiBoldOblique.ttf new file mode 100644 index 0000000..8b3670a Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-SemiBoldOblique.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-Thin.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-Thin.ttf new file mode 100644 index 0000000..a9b2fdd Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-Thin.ttf differ diff --git a/src/assets/font/Hurme3/HurmeGeometricSans3-ThinOblique.ttf b/src/assets/font/Hurme3/HurmeGeometricSans3-ThinOblique.ttf new file mode 100644 index 0000000..746604e Binary files /dev/null and b/src/assets/font/Hurme3/HurmeGeometricSans3-ThinOblique.ttf differ diff --git a/src/assets/img/logo.png b/src/assets/img/logo.png new file mode 100644 index 0000000..65da0a0 Binary files /dev/null and b/src/assets/img/logo.png differ diff --git a/vendor/chillerlan/php-qrcode/.idea/codeStyles/Project.xml b/vendor/chillerlan/php-qrcode/.idea/codeStyles/Project.xml deleted file mode 100644 index e618763..0000000 --- a/vendor/chillerlan/php-qrcode/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,851 +0,0 @@ - - - - - diff --git a/vendor/chillerlan/php-qrcode/.idea/codeStyles/codeStyleConfig.xml b/vendor/chillerlan/php-qrcode/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index 79ee123..0000000 --- a/vendor/chillerlan/php-qrcode/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/vendor/chillerlan/php-qrcode/.idea/inspectionProfiles/Project_Default.xml b/vendor/chillerlan/php-qrcode/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 14c92c1..0000000 --- a/vendor/chillerlan/php-qrcode/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - diff --git a/vendor/chillerlan/php-qrcode/README.md b/vendor/chillerlan/php-qrcode/README.md index d2b69db..582703a 100644 --- a/vendor/chillerlan/php-qrcode/README.md +++ b/vendor/chillerlan/php-qrcode/README.md @@ -13,24 +13,24 @@ It also features a QR Code reader based on a [PHP port](https://github.com/khana [![Packagist downloads][downloads-badge]][downloads] [![Documentation][readthedocs-badge]][readthedocs] -[php-badge]: https://img.shields.io/packagist/php-v/chillerlan/php-qrcode?logo=php&color=8892BF +[php-badge]: https://img.shields.io/packagist/php-v/chillerlan/php-qrcode?logo=php&color=8892BF&logoColor=fff [php]: https://www.php.net/supported-versions.php -[packagist-badge]: https://img.shields.io/packagist/v/chillerlan/php-qrcode.svg?logo=packagist +[packagist-badge]: https://img.shields.io/packagist/v/chillerlan/php-qrcode.svg?logo=packagist&logoColor=fff [packagist]: https://packagist.org/packages/chillerlan/php-qrcode -[gh-action-badge]: https://img.shields.io/github/actions/workflow/status/chillerlan/php-qrcode/ci.yml?branch=v5.0.x&logo=github +[gh-action-badge]: https://img.shields.io/github/actions/workflow/status/chillerlan/php-qrcode/ci.yml?branch=v5.0.x&logo=github&logoColor=fff [gh-action]: https://github.com/chillerlan/php-qrcode/actions/workflows/ci.yml?query=branch%3Amain -[coverage-badge]: https://img.shields.io/codecov/c/github/chillerlan/php-qrcode/v5.0.x?logo=codecov +[coverage-badge]: https://img.shields.io/codecov/c/github/chillerlan/php-qrcode/v5.0.x?logo=codecov&logoColor=fff [coverage]: https://app.codecov.io/gh/chillerlan/php-qrcode/tree/v5.0.x -[codacy-badge]: https://img.shields.io/codacy/grade/edccfc4fe5a34b74b1c53ee03f097b8d/v5.0.x?logo=codacy +[codacy-badge]: https://img.shields.io/codacy/grade/edccfc4fe5a34b74b1c53ee03f097b8d/v5.0.x?logo=codacy&logoColor=fff [codacy]: https://app.codacy.com/gh/chillerlan/php-qrcode/dashboard?branch=v5.0.x -[downloads-badge]: https://img.shields.io/packagist/dt/chillerlan/php-qrcode?logo=packagist +[downloads-badge]: https://img.shields.io/packagist/dt/chillerlan/php-qrcode?logo=packagist&logoColor=fff [downloads]: https://packagist.org/packages/chillerlan/php-qrcode/stats -[readthedocs-badge]: https://img.shields.io/readthedocs/php-qrcode/v5.0.x?logo=readthedocs +[readthedocs-badge]: https://img.shields.io/readthedocs/php-qrcode/v5.0.x?logo=readthedocs&logoColor=fff [readthedocs]: https://php-qrcode.readthedocs.io/en/v5.0.x/ -## Overview +# Overview -### Features +## Features - Creation of [Model 2 QR Codes](https://www.qrcode.com/en/codes/model12.html), [Version 1 to 40](https://www.qrcode.com/en/about/version.html) - [ECC Levels](https://www.qrcode.com/en/about/error_correction.html) L/M/Q/H supported @@ -52,7 +52,7 @@ It also features a QR Code reader based on a [PHP port](https://github.com/khana - QR Code reader (via GD and ImageMagick) -### Requirements +## Requirements - PHP 7.4+ - [`ext-mbstring`](https://www.php.net/manual/book.mbstring.php) @@ -65,16 +65,21 @@ It also features a QR Code reader based on a [PHP port](https://github.com/khana For the QRCode reader, either `ext-gd` or `ext-imagick` is required! -## Documentation +# Documentation - The user manual is at https://php-qrcode.readthedocs.io/ ([sources](https://github.com/chillerlan/php-qrcode/tree/v5.0.x/docs)) - An API documentation created with [phpDocumentor](https://www.phpdoc.org/) can be found at https://chillerlan.github.io/php-qrcode/ - The documentation for the `QROptions` container can be found here: [chillerlan/php-settings-container](https://github.com/chillerlan/php-settings-container#readme) +**Important: Please use the examples from the branch that matches your installed php-qrcode version ( +[v4.x](https://github.com/chillerlan/php-qrcode/tree/v4.3.x/examples), +[v5.x](https://github.com/chillerlan/php-qrcode/tree/v5.0.x/examples), +[dev-main](https://github.com/chillerlan/php-qrcode/tree/main/examples) +)!** ## Installation with [composer](https://getcomposer.org) -See [the installation guide](https://php-qrcode.readthedocs.io/en/v5.0.x/Usage-Installation.html) for more info! +See [the installation guide](https://php-qrcode.readthedocs.io/en/v5.0.x/Usage/Installation.html) for more info! ### Terminal @@ -117,7 +122,7 @@ Also, have a look [in the examples folder](https://github.com/chillerlan/php-qrc

-### Reading QR Codes +## Reading QR Codes Using the built-in QR Code reader is pretty straight-forward: @@ -139,30 +144,30 @@ catch(Throwable $e){ ``` -## Shameless advertising +# Shameless advertising Hi, please check out some of my other projects that are way cooler than qrcodes! - [js-qrcode](https://github.com/chillerlan/js-qrcode) - a javascript port of this library - [php-authenticator](https://github.com/chillerlan/php-authenticator) - a Google Authenticator implementation (see [authenticator example](https://github.com/chillerlan/php-qrcode/blob/v5.0.x/examples/authenticator.php)) - [php-httpinterface](https://github.com/chillerlan/php-httpinterface) - a PSR-7/15/17/18 implemetation -- [php-oauth-core](https://github.com/chillerlan/php-oauth-core) - an OAuth 1/2 client library along with a bunch of [providers](https://github.com/chillerlan/php-oauth-providers) +- [php-oauth](https://github.com/chillerlan/php-oauth) - an OAuth 1/2 client library, fully PSR-7/PSR-17/PSR-18 compatible - [php-database](https://github.com/chillerlan/php-database) - a database client & querybuilder for MySQL, Postgres, SQLite, MSSQL, Firebird - [php-tootbot](https://github.com/php-tootbot/tootbot-template) - a Mastodon bot library (see [@dwil](https://github.com/php-tootbot/dwil)) -## Disclaimer! +# Disclaimer! I don't take responsibility for molten CPUs, misled applications, failed log-ins etc.. Use at your own risk! -### License notice +## License notice - Parts of this code are [ported to PHP](https://github.com/codemasher/php-qrcode-decoder) from the [ZXing project](https://github.com/zxing/zxing) and licensed under the [Apache License, Version 2.0](./NOTICE). - [The documentation](https://github.com/chillerlan/php-qrcode/tree/v5.0.x/docs) is licensed under the [Creative Commons Attribution 4.0 International (CC BY 4.0) License](https://creativecommons.org/licenses/by/4.0/). -### Trademark Notice +## Trademark Notice The word "QR Code" is a registered trademark of *DENSO WAVE INCORPORATED*
https://www.qrcode.com/en/faq.html#patentH2Title diff --git a/vendor/chillerlan/php-qrcode/composer.json b/vendor/chillerlan/php-qrcode/composer.json index 7e74be5..84aeba2 100644 --- a/vendor/chillerlan/php-qrcode/composer.json +++ b/vendor/chillerlan/php-qrcode/composer.json @@ -1,6 +1,7 @@ { + "$schema": "https://getcomposer.org/schema.json", "name": "chillerlan/php-qrcode", - "description": "A QR code generator and reader with a user friendly API. PHP 7.4+", + "description": "A QR Code generator and reader with a user-friendly API. PHP 7.4+", "homepage": "https://github.com/chillerlan/php-qrcode", "license": [ "MIT", "Apache-2.0" @@ -32,6 +33,12 @@ "homepage":"https://github.com/chillerlan/php-qrcode/graphs/contributors" } ], + "funding": [ + { + "type": "Ko-Fi", + "url": "https://ko-fi.com/codemasher" + } + ], "support": { "docs": "https://php-qrcode.readthedocs.io", "issues": "https://github.com/chillerlan/php-qrcode/issues", @@ -42,15 +49,18 @@ "require": { "php": "^7.4 || ^8.0", "ext-mbstring": "*", - "chillerlan/php-settings-container": "^2.1.4 || ^3.1" + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1" }, "require-dev": { - "chillerlan/php-authenticator": "^4.1 || ^5.1", - "phan/phan": "^5.4", + "ext-fileinfo": "*", + "chillerlan/php-authenticator": "^4.3.1 || ^5.2.1", + "phan/phan": "^5.5.1", + "phpcompatibility/php-compatibility": "10.x-dev", "phpunit/phpunit": "^9.6", "phpmd/phpmd": "^2.15", "setasign/fpdf": "^1.8.2", - "squizlabs/php_codesniffer": "^3.8" + "slevomat/coding-standard": "^8.23.0", + "squizlabs/php_codesniffer": "^4.0.0" }, "suggest": { "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", @@ -59,21 +69,26 @@ }, "autoload": { "psr-4": { - "chillerlan\\QRCode\\": "src/" + "chillerlan\\QRCode\\": "src" } }, "autoload-dev": { "psr-4": { - "chillerlan\\QRCodeTest\\": "tests/" + "chillerlan\\QRCodeTest\\": "tests" } }, "scripts": { - "phpunit": "@php vendor/bin/phpunit", - "phan": "@php vendor/bin/phan" + "phan": "@php vendor/bin/phan", + "phpcs": "@php vendor/bin/phpcs", + "phpmd": "@php vendor/bin/phpmd src text ./phpmd.xml.dist", + "phpunit": "@php vendor/bin/phpunit" }, "config": { "lock": false, "sort-packages": true, - "platform-check": true + "platform-check": true, + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } } } diff --git a/vendor/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php b/vendor/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php index 027466f..0702a67 100644 --- a/vendor/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php +++ b/vendor/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php @@ -38,7 +38,7 @@ class GDLuminanceSource extends LuminanceSourceAbstract{ * * @throws \chillerlan\QRCode\Decoder\QRCodeDecoderException */ - public function __construct($gdImage, SettingsContainerInterface $options = null){ + public function __construct($gdImage, ?SettingsContainerInterface $options = null){ /** @noinspection PhpFullyQualifiedNameUsageInspection */ if( @@ -85,12 +85,12 @@ class GDLuminanceSource extends LuminanceSourceAbstract{ } /** @inheritDoc */ - public static function fromFile(string $path, SettingsContainerInterface $options = null):self{ + public static function fromFile(string $path, ?SettingsContainerInterface $options = null):self{ return new self(imagecreatefromstring(file_get_contents(self::checkFile($path))), $options); } /** @inheritDoc */ - public static function fromBlob(string $blob, SettingsContainerInterface $options = null):self{ + public static function fromBlob(string $blob, ?SettingsContainerInterface $options = null):self{ return new self(imagecreatefromstring($blob), $options); } diff --git a/vendor/chillerlan/php-qrcode/src/Common/GenericGFPoly.php b/vendor/chillerlan/php-qrcode/src/Common/GenericGFPoly.php index ae361b9..4023e74 100644 --- a/vendor/chillerlan/php-qrcode/src/Common/GenericGFPoly.php +++ b/vendor/chillerlan/php-qrcode/src/Common/GenericGFPoly.php @@ -35,7 +35,7 @@ final class GenericGFPoly{ * @throws \chillerlan\QRCode\QRCodeException if argument is null or empty, or if leading coefficient is 0 and this * is not a constant polynomial (that is, it is not the monomial "0") */ - public function __construct(array $coefficients, int $degree = null){ + public function __construct(array $coefficients, ?int $degree = null){ $degree ??= 0; if(empty($coefficients)){ diff --git a/vendor/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php b/vendor/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php index d4f66c5..ade994a 100644 --- a/vendor/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php +++ b/vendor/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php @@ -28,7 +28,7 @@ class IMagickLuminanceSource extends LuminanceSourceAbstract{ /** * IMagickLuminanceSource constructor. */ - public function __construct(Imagick $imagick, SettingsContainerInterface $options = null){ + public function __construct(Imagick $imagick, ?SettingsContainerInterface $options = null){ parent::__construct($imagick->getImageWidth(), $imagick->getImageHeight(), $options); $this->imagick = $imagick; @@ -63,12 +63,12 @@ class IMagickLuminanceSource extends LuminanceSourceAbstract{ } /** @inheritDoc */ - public static function fromFile(string $path, SettingsContainerInterface $options = null):self{ + public static function fromFile(string $path, ?SettingsContainerInterface $options = null):self{ return new self(new Imagick(self::checkFile($path)), $options); } /** @inheritDoc */ - public static function fromBlob(string $blob, SettingsContainerInterface $options = null):self{ + public static function fromBlob(string $blob, ?SettingsContainerInterface $options = null):self{ $im = new Imagick; $im->readImageBlob($blob); diff --git a/vendor/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php b/vendor/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php index 432a6e0..e4373b8 100644 --- a/vendor/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php +++ b/vendor/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php @@ -34,7 +34,7 @@ abstract class LuminanceSourceAbstract implements LuminanceSourceInterface{ /** * */ - public function __construct(int $width, int $height, SettingsContainerInterface $options = null){ + public function __construct(int $width, int $height, ?SettingsContainerInterface $options = null){ $this->width = $width; $this->height = $height; $this->options = ($options ?? new QROptions); @@ -57,7 +57,10 @@ abstract class LuminanceSourceAbstract implements LuminanceSourceInterface{ return $this->height; } - /** @inheritDoc */ + /** + * @inheritDoc + * @throws \chillerlan\QRCode\Decoder\QRCodeDecoderException + */ public function getRow(int $y):array{ if($y < 0 || $y >= $this->getHeight()){ diff --git a/vendor/chillerlan/php-qrcode/src/Common/MaskPattern.php b/vendor/chillerlan/php-qrcode/src/Common/MaskPattern.php index 8441a7f..5c3ea93 100644 --- a/vendor/chillerlan/php-qrcode/src/Common/MaskPattern.php +++ b/vendor/chillerlan/php-qrcode/src/Common/MaskPattern.php @@ -77,7 +77,7 @@ final class MaskPattern{ */ public function __construct(int $maskPattern){ - if((0b111 & $maskPattern) !== $maskPattern){ + if(($maskPattern & 0b111) !== $maskPattern){ throw new QRCodeException('invalid mask pattern'); } diff --git a/vendor/chillerlan/php-qrcode/src/Data/AlphaNum.php b/vendor/chillerlan/php-qrcode/src/Data/AlphaNum.php index 77242d7..6dc60e9 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/AlphaNum.php +++ b/vendor/chillerlan/php-qrcode/src/Data/AlphaNum.php @@ -11,7 +11,7 @@ namespace chillerlan\QRCode\Data; use chillerlan\QRCode\Common\{BitBuffer, Mode}; -use function array_flip, ceil, intdiv, str_split; +use function ceil, intdiv, preg_match, strpos; /** * Alphanumeric mode: 0 to 9, A to Z, space, $ % * + - . / : @@ -24,16 +24,9 @@ final class AlphaNum extends QRDataModeAbstract{ /** * ISO/IEC 18004:2000 Table 5 * - * @var int[] + * @var string */ - private const CHAR_TO_ORD = [ - '0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, - '8' => 8, '9' => 9, 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14, 'F' => 15, - 'G' => 16, 'H' => 17, 'I' => 18, 'J' => 19, 'K' => 20, 'L' => 21, 'M' => 22, 'N' => 23, - 'O' => 24, 'P' => 25, 'Q' => 26, 'R' => 27, 'S' => 28, 'T' => 29, 'U' => 30, 'V' => 31, - 'W' => 32, 'X' => 33, 'Y' => 34, 'Z' => 35, ' ' => 36, '$' => 37, '%' => 38, '*' => 39, - '+' => 40, '-' => 41, '.' => 42, '/' => 43, ':' => 44, - ]; + private const CHAR_MAP = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'; /** * @inheritDoc @@ -51,18 +44,7 @@ final class AlphaNum extends QRDataModeAbstract{ * @inheritDoc */ public static function validateString(string $string):bool{ - - if($string === ''){ - return false; - } - - foreach(str_split($string) as $chr){ - if(!isset(self::CHAR_TO_ORD[$chr])){ - return false; - } - } - - return true; + return (bool)preg_match('/^[A-Z\d %$*+\-.:\/]+$/', $string); } /** @@ -78,12 +60,15 @@ final class AlphaNum extends QRDataModeAbstract{ // encode 2 characters in 11 bits for($i = 0; ($i + 1) < $len; $i += 2){ - $bitBuffer->put((self::CHAR_TO_ORD[$this->data[$i]] * 45 + self::CHAR_TO_ORD[$this->data[($i + 1)]]), 11); + $bitBuffer->put( + ($this->ord($this->data[$i]) * 45 + $this->ord($this->data[($i + 1)])), + 11, + ); } // encode a remaining character in 6 bits if($i < $len){ - $bitBuffer->put(self::CHAR_TO_ORD[$this->data[$i]], 6); + $bitBuffer->put($this->ord($this->data[$i]), 6); } return $this; @@ -95,19 +80,7 @@ final class AlphaNum extends QRDataModeAbstract{ * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ - $length = $bitBuffer->read(self::getLengthBits($versionNumber)); - $charmap = array_flip(self::CHAR_TO_ORD); - - // @todo - $toAlphaNumericChar = function(int $ord) use ($charmap):string{ - - if(isset($charmap[$ord])){ - return $charmap[$ord]; - } - - throw new QRCodeDataException('invalid character value: '.$ord); - }; - + $length = $bitBuffer->read(self::getLengthBits($versionNumber)); $result = ''; // Read two characters at a time while($length > 1){ @@ -116,9 +89,9 @@ final class AlphaNum extends QRDataModeAbstract{ throw new QRCodeDataException('not enough bits available'); // @codeCoverageIgnore } - $nextTwoCharsBits = $bitBuffer->read(11); - $result .= $toAlphaNumericChar(intdiv($nextTwoCharsBits, 45)); - $result .= $toAlphaNumericChar($nextTwoCharsBits % 45); + $nextTwoCharsBits = $bitBuffer->read(11); + $result .= self::chr(intdiv($nextTwoCharsBits, 45)); + $result .= self::chr($nextTwoCharsBits % 45); $length -= 2; } @@ -128,10 +101,36 @@ final class AlphaNum extends QRDataModeAbstract{ throw new QRCodeDataException('not enough bits available'); // @codeCoverageIgnore } - $result .= $toAlphaNumericChar($bitBuffer->read(6)); + $result .= self::chr($bitBuffer->read(6)); } return $result; } + /** + * @throws \chillerlan\QRCode\Data\QRCodeDataException + */ + private function ord(string $chr):int{ + /** @phan-suppress-next-line PhanParamSuspiciousOrder */ + $ord = strpos(self::CHAR_MAP, $chr); + + if($ord === false){ + throw new QRCodeDataException('invalid character'); // @codeCoverageIgnore + } + + return $ord; + } + + /** + * @throws \chillerlan\QRCode\Data\QRCodeDataException + */ + private static function chr(int $ord):string{ + + if($ord < 0 || $ord > 44){ + throw new QRCodeDataException('invalid character code'); // @codeCoverageIgnore + } + + return self::CHAR_MAP[$ord]; + } + } diff --git a/vendor/chillerlan/php-qrcode/src/Data/ECI.php b/vendor/chillerlan/php-qrcode/src/Data/ECI.php index 3029e83..1aacd0b 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/ECI.php +++ b/vendor/chillerlan/php-qrcode/src/Data/ECI.php @@ -34,6 +34,7 @@ final class ECI extends QRDataModeAbstract{ /** * @inheritDoc + * @throws \chillerlan\QRCode\Data\QRCodeDataException * @noinspection PhpMissingParentConstructorInspection */ public function __construct(int $encoding){ @@ -107,7 +108,7 @@ final class ECI extends QRDataModeAbstract{ $id = ((($firstByte & 0b00011111) << 16) | $bitBuffer->read(16)); } else{ - throw new QRCodeDataException(sprintf('error decoding ECI value first byte: %08b', $firstByte)); // @codeCoverageIgnore + throw new QRCodeDataException(sprintf('error decoding ECI value first byte: %08b', $firstByte));// @codeCoverageIgnore } return new ECICharset($id); @@ -128,17 +129,12 @@ final class ECI extends QRDataModeAbstract{ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ $eciCharset = self::parseValue($bitBuffer); $nextMode = $bitBuffer->read(4); - - if($nextMode !== Mode::BYTE){ - throw new QRCodeDataException(sprintf('ECI designator followed by invalid mode: "%04b"', $nextMode)); - } - - $data = Byte::decodeSegment($bitBuffer, $versionNumber); - $encoding = $eciCharset->getName(); + $data = self::decodeModeSegment($nextMode, $bitBuffer, $versionNumber); + $encoding = $eciCharset->getName(); if($encoding === null){ // The spec isn't clear on this mode; see - // section 6.4.5: t does not say which encoding to assuming + // section 6.4.5: it does not say which encoding to assuming // upon decoding. I have seen ISO-8859-1 used as well as // Shift_JIS -- without anything like an ECI designator to // give a hint. @@ -152,4 +148,18 @@ final class ECI extends QRDataModeAbstract{ return mb_convert_encoding($data, mb_internal_encoding(), $encoding); } + /** + * @throws \chillerlan\QRCode\Data\QRCodeDataException + */ + private static function decodeModeSegment(int $mode, BitBuffer $bitBuffer, int $versionNumber):string{ + + switch(true){ + case $mode === Mode::NUMBER: return Number::decodeSegment($bitBuffer, $versionNumber); + case $mode === Mode::ALPHANUM: return AlphaNum::decodeSegment($bitBuffer, $versionNumber); + case $mode === Mode::BYTE: return Byte::decodeSegment($bitBuffer, $versionNumber); + } + + throw new QRCodeDataException(sprintf('ECI designator followed by invalid mode: "%04b"', $mode)); + } + } diff --git a/vendor/chillerlan/php-qrcode/src/Data/Hanzi.php b/vendor/chillerlan/php-qrcode/src/Data/Hanzi.php index 4476ad9..61f092d 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/Hanzi.php +++ b/vendor/chillerlan/php-qrcode/src/Data/Hanzi.php @@ -13,7 +13,7 @@ namespace chillerlan\QRCode\Data; use chillerlan\QRCode\Common\{BitBuffer, Mode}; use Throwable; use function chr, implode, intdiv, is_string, mb_convert_encoding, mb_detect_encoding, - mb_detect_order, mb_internal_encoding, mb_strlen, ord, sprintf, strlen; + mb_internal_encoding, mb_strlen, ord, sprintf, strlen; /** * Hanzi (simplified Chinese) mode, GBT18284-2000: 13-bit double-byte characters from the GB2312/GB18030 character set @@ -64,11 +64,15 @@ final class Hanzi extends QRDataModeAbstract{ /** * @inheritDoc + * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function convertEncoding(string $string):string{ - mb_detect_order([mb_internal_encoding(), 'UTF-8', 'GB2312', 'GB18030', 'CP936', 'EUC-CN', 'HZ']); - $detected = mb_detect_encoding($string, null, true); + $detected = mb_detect_encoding( + $string, + [mb_internal_encoding(), 'UTF-8', 'GB2312', 'GB18030', 'CP936', 'EUC-CN', 'HZ'], + true, + ); if($detected === false){ throw new QRCodeDataException('mb_detect_encoding error'); @@ -199,7 +203,7 @@ final class Hanzi extends QRDataModeAbstract{ $length--; } - return mb_convert_encoding(implode($buffer), mb_internal_encoding(), self::ENCODING); + return mb_convert_encoding(implode('', $buffer), mb_internal_encoding(), self::ENCODING); } } diff --git a/vendor/chillerlan/php-qrcode/src/Data/Kanji.php b/vendor/chillerlan/php-qrcode/src/Data/Kanji.php index e42f96d..03b6f42 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/Kanji.php +++ b/vendor/chillerlan/php-qrcode/src/Data/Kanji.php @@ -13,7 +13,7 @@ namespace chillerlan\QRCode\Data; use chillerlan\QRCode\Common\{BitBuffer, Mode}; use Throwable; use function chr, implode, intdiv, is_string, mb_convert_encoding, mb_detect_encoding, - mb_detect_order, mb_internal_encoding, mb_strlen, ord, sprintf, strlen; + mb_internal_encoding, mb_strlen, ord, sprintf, strlen; /** * Kanji mode: 13-bit double-byte characters from the Shift-JIS character set @@ -57,11 +57,10 @@ final class Kanji extends QRDataModeAbstract{ /** * @inheritDoc + * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function convertEncoding(string $string):string{ - mb_detect_order([mb_internal_encoding(), 'UTF-8', 'SJIS', 'SJIS-2004']); - - $detected = mb_detect_encoding($string, null, true); + $detected = mb_detect_encoding($string, [mb_internal_encoding(), 'UTF-8', 'SJIS', 'SJIS-2004'], true); if($detected === false){ throw new QRCodeDataException('mb_detect_encoding error'); @@ -185,7 +184,7 @@ final class Kanji extends QRDataModeAbstract{ $length--; } - return mb_convert_encoding(implode($buffer), mb_internal_encoding(), self::ENCODING); + return mb_convert_encoding(implode('', $buffer), mb_internal_encoding(), self::ENCODING); } } diff --git a/vendor/chillerlan/php-qrcode/src/Data/Number.php b/vendor/chillerlan/php-qrcode/src/Data/Number.php index 285be37..3e4238f 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/Number.php +++ b/vendor/chillerlan/php-qrcode/src/Data/Number.php @@ -11,7 +11,7 @@ namespace chillerlan\QRCode\Data; use chillerlan\QRCode\Common\{BitBuffer, Mode}; -use function array_flip, ceil, intdiv, str_split, substr, unpack; +use function ceil, intdiv, substr, unpack; /** * Numeric mode: decimal digits 0 to 9 @@ -21,13 +21,6 @@ use function array_flip, ceil, intdiv, str_split, substr, unpack; */ final class Number extends QRDataModeAbstract{ - /** - * @var int[] - */ - private const NUMBER_TO_ORD = [ - '0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, - ]; - /** * @inheritDoc */ @@ -44,18 +37,7 @@ final class Number extends QRDataModeAbstract{ * @inheritDoc */ public static function validateString(string $string):bool{ - - if($string === ''){ - return false; - } - - foreach(str_split($string) as $chr){ - if(!isset(self::NUMBER_TO_ORD[$chr])){ - return false; - } - } - - return true; + return (bool)preg_match('/^\d+$/', $string); } /** @@ -95,12 +77,20 @@ final class Number extends QRDataModeAbstract{ /** * get the code for the given numeric string + * + * @throws \chillerlan\QRCode\Data\QRCodeDataException */ private function parseInt(string $string):int{ $num = 0; - foreach(unpack('C*', $string) as $chr){ - $num = ($num * 10 + $chr - 48); + $ords = unpack('C*', $string); + + if($ords === false){ + throw new QRCodeDataException('unpack() error'); + } + + foreach($ords as $ord){ + $num = ($num * 10 + $ord - 48); } return $num; @@ -112,19 +102,7 @@ final class Number extends QRDataModeAbstract{ * @throws \chillerlan\QRCode\Data\QRCodeDataException */ public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{ - $length = $bitBuffer->read(self::getLengthBits($versionNumber)); - $charmap = array_flip(self::NUMBER_TO_ORD); - - // @todo - $toNumericChar = function(int $ord) use ($charmap):string{ - - if(isset($charmap[$ord])){ - return $charmap[$ord]; - } - - throw new QRCodeDataException('invalid character value: '.$ord); - }; - + $length = $bitBuffer->read(self::getLengthBits($versionNumber)); $result = ''; // Read three digits at a time while($length >= 3){ @@ -139,9 +117,9 @@ final class Number extends QRDataModeAbstract{ throw new QRCodeDataException('error decoding numeric value'); } - $result .= $toNumericChar(intdiv($threeDigitsBits, 100)); - $result .= $toNumericChar(intdiv($threeDigitsBits, 10) % 10); - $result .= $toNumericChar($threeDigitsBits % 10); + $result .= intdiv($threeDigitsBits, 100); + $result .= (intdiv($threeDigitsBits, 10) % 10); + $result .= ($threeDigitsBits % 10); $length -= 3; } @@ -158,8 +136,8 @@ final class Number extends QRDataModeAbstract{ throw new QRCodeDataException('error decoding numeric value'); } - $result .= $toNumericChar(intdiv($twoDigitsBits, 10)); - $result .= $toNumericChar($twoDigitsBits % 10); + $result .= intdiv($twoDigitsBits, 10); + $result .= ($twoDigitsBits % 10); } elseif($length === 1){ // One digit left over to read @@ -173,7 +151,7 @@ final class Number extends QRDataModeAbstract{ throw new QRCodeDataException('error decoding numeric value'); } - $result .= $toNumericChar($digitBits); + $result .= $digitBits; } return $result; diff --git a/vendor/chillerlan/php-qrcode/src/Data/QRData.php b/vendor/chillerlan/php-qrcode/src/Data/QRData.php index 7056b63..9d610b3 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/QRData.php +++ b/vendor/chillerlan/php-qrcode/src/Data/QRData.php @@ -195,7 +195,7 @@ final class QRData{ // guess the version number within the given range for($version = $this->options->versionMin; $version <= $this->options->versionMax; $version++){ - if($total <= $this->maxBitsForEcc[$version]){ + if($total <= ($this->maxBitsForEcc[$version] - 4)){ return new Version($version); } } @@ -207,7 +207,7 @@ final class QRData{ /** * creates a BitBuffer and writes the string data to it * - * @throws \chillerlan\QRCode\QRCodeException on data overflow + * @throws \chillerlan\QRCode\Data\QRCodeDataException on data overflow */ private function writeBitBuffer():void{ $MAX_BITS = $this->eccLevel->getMaxBitsForVersion($this->version); diff --git a/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php b/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php index d92c1a7..e32633a 100644 --- a/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php +++ b/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php @@ -175,7 +175,7 @@ class QRMatrix{ * * @return int[][]|bool[][] */ - public function getMatrix(bool $boolean = null):array{ + public function getMatrix(?bool $boolean = null):array{ if($boolean !== true){ return $this->matrix; @@ -195,7 +195,7 @@ class QRMatrix{ * @see \chillerlan\QRCode\Data\QRMatrix::getMatrix() * @codeCoverageIgnore */ - public function matrix(bool $boolean = null):array{ + public function matrix(?bool $boolean = null):array{ return $this->getMatrix($boolean); } @@ -387,7 +387,7 @@ class QRMatrix{ * 7 # 3 * 6 5 4 */ - public function checkNeighbours(int $x, int $y, int $M_TYPE = null):int{ + public function checkNeighbours(int $x, int $y, ?int $M_TYPE = null):int{ $bits = 0; foreach($this::neighbours as $bit => [$ix, $iy]){ @@ -463,6 +463,7 @@ class QRMatrix{ for($c = 0; $c < 3; $c++){ for($i = 0; $i < 8; $i++){ + // phpcs:ignore $this->set( $h[$c][0] , ($h[$c][1] + $i), false, $this::M_SEPARATOR); $this->set(($v[$c][0] - $i), $v[$c][1] , false, $this::M_SEPARATOR); } @@ -552,7 +553,7 @@ class QRMatrix{ * * ISO/IEC 18004:2000 Section 8.9 */ - public function setFormatInfo(MaskPattern $maskPattern = null):self{ + public function setFormatInfo(?MaskPattern $maskPattern = null):self{ $this->maskPattern = $maskPattern; $bits = 0; // sets all format fields to false (test mode) @@ -678,7 +679,7 @@ class QRMatrix{ * * @throws \chillerlan\QRCode\Data\QRCodeDataException */ - public function setLogoSpace(int $width, int $height = null, int $startX = null, int $startY = null):self{ + public function setLogoSpace(int $width, ?int $height = null, ?int $startX = null, ?int $startY = null):self{ $height ??= $width; // if width and height happen to be negative or 0 (default value), just return - nothing to do diff --git a/vendor/chillerlan/php-qrcode/src/Decoder/BitMatrix.php b/vendor/chillerlan/php-qrcode/src/Decoder/BitMatrix.php index ea2e321..21f504e 100644 --- a/vendor/chillerlan/php-qrcode/src/Decoder/BitMatrix.php +++ b/vendor/chillerlan/php-qrcode/src/Decoder/BitMatrix.php @@ -415,7 +415,7 @@ final class BitMatrix extends QRMatrix{ * @codeCoverageIgnore * @throws \chillerlan\QRCode\Data\QRCodeDataException */ - public function setQuietZone(int $quietZoneSize = null):self{ + public function setQuietZone(?int $quietZoneSize = null):self{ throw new QRCodeDataException('not supported'); } @@ -423,7 +423,7 @@ final class BitMatrix extends QRMatrix{ * @codeCoverageIgnore * @throws \chillerlan\QRCode\Data\QRCodeDataException */ - public function setLogoSpace(int $width, int $height = null, int $startX = null, int $startY = null):self{ + public function setLogoSpace(int $width, ?int $height = null, ?int $startX = null, ?int $startY = null):self{ throw new QRCodeDataException('not supported'); } diff --git a/vendor/chillerlan/php-qrcode/src/Decoder/Decoder.php b/vendor/chillerlan/php-qrcode/src/Decoder/Decoder.php index 6f369a6..4549acc 100644 --- a/vendor/chillerlan/php-qrcode/src/Decoder/Decoder.php +++ b/vendor/chillerlan/php-qrcode/src/Decoder/Decoder.php @@ -29,6 +29,7 @@ final class Decoder{ private ?EccLevel $eccLevel = null; private ?MaskPattern $maskPattern = null; private BitBuffer $bitBuffer; + private Detector $detector; /** * Decodes a QR Code represented as a BitMatrix. @@ -37,7 +38,8 @@ final class Decoder{ * @throws \Throwable|\chillerlan\QRCode\Decoder\QRCodeDecoderException */ public function decode(LuminanceSourceInterface $source):DecoderResult{ - $matrix = (new Detector($source))->detect(); + $this->detector = new Detector($source); + $matrix = $this->detector->detect(); try{ // clone the BitMatrix to avoid errors in case we run into mirroring @@ -148,6 +150,7 @@ final class Decoder{ 'data' => $result, 'version' => $this->version, 'eccLevel' => $this->eccLevel, + 'finderPatterns' => $this->detector->getFinderPatterns(), 'maskPattern' => $this->maskPattern, 'structuredAppendParity' => $parityData, 'structuredAppendSequence' => $symbolSequence, diff --git a/vendor/chillerlan/php-qrcode/src/Decoder/DecoderResult.php b/vendor/chillerlan/php-qrcode/src/Decoder/DecoderResult.php index 02b4d79..ef0f245 100644 --- a/vendor/chillerlan/php-qrcode/src/Decoder/DecoderResult.php +++ b/vendor/chillerlan/php-qrcode/src/Decoder/DecoderResult.php @@ -20,13 +20,14 @@ use function property_exists; * applies to 2D barcode formats. For now, it contains the raw bytes obtained * as well as a String interpretation of those bytes, if applicable. * - * @property \chillerlan\QRCode\Common\BitBuffer $rawBytes - * @property string $data - * @property \chillerlan\QRCode\Common\Version $version - * @property \chillerlan\QRCode\Common\EccLevel $eccLevel - * @property \chillerlan\QRCode\Common\MaskPattern $maskPattern - * @property int $structuredAppendParity - * @property int $structuredAppendSequence + * @property \chillerlan\QRCode\Common\BitBuffer $rawBytes + * @property string $data + * @property \chillerlan\QRCode\Common\Version $version + * @property \chillerlan\QRCode\Common\EccLevel $eccLevel + * @property \chillerlan\QRCode\Common\MaskPattern $maskPattern + * @property int $structuredAppendParity + * @property int $structuredAppendSequence + * @property \chillerlan\QRCode\Detector\FinderPattern[] $finderPatterns */ final class DecoderResult{ @@ -37,11 +38,13 @@ final class DecoderResult{ private string $data = ''; private int $structuredAppendParity = -1; private int $structuredAppendSequence = -1; + /** @var \chillerlan\QRCode\Detector\FinderPattern[] */ + private array $finderPatterns = []; /** * DecoderResult constructor. */ - public function __construct(iterable $properties = null){ + public function __construct(?iterable $properties = null){ if(!empty($properties)){ diff --git a/vendor/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php b/vendor/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php index 2bd539a..5f104a1 100644 --- a/vendor/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php +++ b/vendor/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php @@ -94,7 +94,7 @@ final class ReedSolomonDecoder{ while($longerBlocksStartAt >= 0){ $numCodewords = count($result[$longerBlocksStartAt][1]); - if($numCodewords == $shorterBlocksTotalCodewords){ + if($numCodewords === $shorterBlocksTotalCodewords){ break; } diff --git a/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php b/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php index ca62c6f..d9edc50 100644 --- a/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php +++ b/vendor/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php @@ -256,7 +256,7 @@ final class AlignmentPatternFinder{ $i++; } - if($i == $maxI || $stateCount[1] > $maxCount){ + if($i === $maxI || $stateCount[1] > $maxCount){ return null; } @@ -269,6 +269,7 @@ final class AlignmentPatternFinder{ return null; } + // phpcs:ignore if((5 * abs(($stateCount[0] + $stateCount[1] + $stateCount[2]) - $originalStateCountTotal)) >= (2 * $originalStateCountTotal)){ return null; } diff --git a/vendor/chillerlan/php-qrcode/src/Detector/Detector.php b/vendor/chillerlan/php-qrcode/src/Detector/Detector.php index e43798b..e173d8b 100644 --- a/vendor/chillerlan/php-qrcode/src/Detector/Detector.php +++ b/vendor/chillerlan/php-qrcode/src/Detector/Detector.php @@ -25,6 +25,8 @@ use const NAN; final class Detector{ private BitMatrix $matrix; + /** @var \chillerlan\QRCode\Detector\FinderPattern[] */ + private array $finderPatterns = []; /** * Detector constructor. @@ -33,11 +35,20 @@ final class Detector{ $this->matrix = (new Binarizer($source))->getBlackMatrix(); } + /** + * @return \chillerlan\QRCode\Detector\FinderPattern[] + */ + public function getFinderPatterns():array{ + return $this->finderPatterns; + } + /** * Detects a QR Code in an image. */ public function detect():BitMatrix{ - [$bottomLeft, $topLeft, $topRight] = (new FinderPatternFinder($this->matrix))->find(); + $this->finderPatterns = (new FinderPatternFinder($this->matrix))->find(); + + [$bottomLeft, $topLeft, $topRight] = $this->finderPatterns; $moduleSize = $this->calculateModuleSize($topLeft, $topRight, $bottomLeft); $dimension = $this->computeDimension($topLeft, $topRight, $bottomLeft, $moduleSize); @@ -305,11 +316,11 @@ final class Detector{ * */ private function createTransform( - FinderPattern $nw, - FinderPattern $ne, - FinderPattern $sw, - int $size, - AlignmentPattern $ap = null + FinderPattern $nw, + FinderPattern $ne, + FinderPattern $sw, + int $size, + ?AlignmentPattern $ap = null ):PerspectiveTransform{ $dimMinusThree = ($size - 3.5); diff --git a/vendor/chillerlan/php-qrcode/src/Detector/FinderPattern.php b/vendor/chillerlan/php-qrcode/src/Detector/FinderPattern.php index 1f799e8..3ae4650 100644 --- a/vendor/chillerlan/php-qrcode/src/Detector/FinderPattern.php +++ b/vendor/chillerlan/php-qrcode/src/Detector/FinderPattern.php @@ -27,7 +27,7 @@ final class FinderPattern extends ResultPoint{ /** * */ - public function __construct(float $posX, float $posY, float $estimatedModuleSize, int $count = null){ + public function __construct(float $posX, float $posY, float $estimatedModuleSize, ?int $count = null){ parent::__construct($posX, $posY, $estimatedModuleSize); $this->count = ($count ?? 1); diff --git a/vendor/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php b/vendor/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php index 755d08c..61628d0 100644 --- a/vendor/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php +++ b/vendor/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php @@ -290,11 +290,13 @@ final class FinderPatternFinder{ // Now also count down, right from center $i = 1; + // phpcs:ignore while(($centerI + $i) < $dimension && ($centerJ + $i) < $dimension && $this->matrix->check(($centerJ + $i), ($centerI + $i))){ $stateCount[2]++; $i++; } + // phpcs:ignore while(($centerI + $i) < $dimension && ($centerJ + $i) < $dimension && !$this->matrix->check(($centerJ + $i), ($centerI + $i))){ $stateCount[3]++; $i++; @@ -304,6 +306,7 @@ final class FinderPatternFinder{ return false; } + // phpcs:ignore while(($centerI + $i) < $dimension && ($centerJ + $i) < $dimension && $this->matrix->check(($centerJ + $i), ($centerI + $i))){ $stateCount[4]++; $i++; diff --git a/vendor/chillerlan/php-qrcode/src/Detector/GridSampler.php b/vendor/chillerlan/php-qrcode/src/Detector/GridSampler.php index 0d915e3..f70bb0e 100644 --- a/vendor/chillerlan/php-qrcode/src/Detector/GridSampler.php +++ b/vendor/chillerlan/php-qrcode/src/Detector/GridSampler.php @@ -152,15 +152,15 @@ final class GridSampler{ // no need to try/catch as QRMatrix::set() will silently discard out of bounds values # try{ - for($x = 0; $x < $max; $x += 2){ - // Black(-ish) pixel - $bits->set( - intdiv($x, 2), - $y, - $matrix->check((int)$this->points[$x], (int)$this->points[($x + 1)]), - QRMatrix::M_DATA - ); - } + for($x = 0; $x < $max; $x += 2){ + // Black(-ish) pixel + $bits->set( + intdiv($x, 2), + $y, + $matrix->check((int)$this->points[$x], (int)$this->points[($x + 1)]), + QRMatrix::M_DATA + ); + } # } # catch(\Throwable $aioobe){//ArrayIndexOutOfBoundsException // This feels wrong, but, sometimes if the finder patterns are misidentified, the resulting diff --git a/vendor/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php b/vendor/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php index 4f1f654..7964092 100644 --- a/vendor/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php +++ b/vendor/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php @@ -152,7 +152,7 @@ final class PerspectiveTransform{ /** * @return array[] [$xValues, $yValues] */ - public function transformPoints(array $xValues, array $yValues = null):array{ + public function transformPoints(array $xValues, ?array $yValues = null):array{ $max = count($xValues); if($yValues !== null){ // unused diff --git a/vendor/chillerlan/php-qrcode/src/Output/QREps.php b/vendor/chillerlan/php-qrcode/src/Output/QREps.php index a04f20d..76dd50b 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QREps.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QREps.php @@ -95,7 +95,7 @@ class QREps extends QROutputAbstract{ // CMYK ? '%f %f %f %f C' // RGB - :'%f %f %f R'; + : '%f %f %f R'; return sprintf($format, ...$values); } @@ -103,7 +103,7 @@ class QREps extends QROutputAbstract{ /** * @inheritDoc */ - public function dump(string $file = null):string{ + public function dump(?string $file = null):string{ [$width, $height] = $this->getOutputDimensions(); $eps = [ diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRFpdf.php b/vendor/chillerlan/php-qrcode/src/Output/QRFpdf.php index a802954..8f2482c 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRFpdf.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRFpdf.php @@ -110,7 +110,10 @@ class QRFpdf extends QROutputAbstract{ * Initializes an FPDF instance */ protected function initFPDF():FPDF{ - return new FPDF('P', $this->options->fpdfMeasureUnit, $this->getOutputDimensions()); + $fpdf = new FPDF('P', $this->options->fpdfMeasureUnit, $this->getOutputDimensions()); + $fpdf->AddPage(); + + return $fpdf; } /** @@ -118,9 +121,8 @@ class QRFpdf extends QROutputAbstract{ * * @return string|\FPDF */ - public function dump(string $file = null){ - $this->fpdf = $this->initFPDF(); - $this->fpdf->AddPage(); + public function dump(?string $file = null, ?FPDF $fpdf = null){ + $this->fpdf = ($fpdf ?? $this->initFPDF()); if($this::moduleValueIsValid($this->options->bgColor)){ $bgColor = $this->prepareModuleValue($this->options->bgColor); diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRGdImage.php b/vendor/chillerlan/php-qrcode/src/Output/QRGdImage.php index f3ed6ea..25db1c9 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRGdImage.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRGdImage.php @@ -179,7 +179,7 @@ class QRGdImage extends QROutputAbstract{ * @phan-suppress PhanUndeclaredTypeReturnType, PhanTypeMismatchReturn * @throws \ErrorException */ - public function dump(string $file = null){ + public function dump(?string $file = null){ set_error_handler(function(int $errno, string $errstr):bool{ throw new ErrorException($errstr, $errno); diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRImagick.php b/vendor/chillerlan/php-qrcode/src/Output/QRImagick.php index cfd3a58..214311a 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRImagick.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRImagick.php @@ -112,7 +112,7 @@ class QRImagick extends QROutputAbstract{ * * @return string|\Imagick */ - public function dump(string $file = null){ + public function dump(?string $file = null){ $this->setBgColor(); $this->imagick = $this->createImage(); diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRMarkup.php b/vendor/chillerlan/php-qrcode/src/Output/QRMarkup.php index 22551e3..240bd45 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRMarkup.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRMarkup.php @@ -71,7 +71,7 @@ abstract class QRMarkup extends QROutputAbstract{ /** * @inheritDoc */ - public function dump(string $file = null):string{ + public function dump(?string $file = null):string{ $data = $this->createMarkup($file !== null); $this->saveToFile($data, $file); diff --git a/vendor/chillerlan/php-qrcode/src/Output/QROutputAbstract.php b/vendor/chillerlan/php-qrcode/src/Output/QROutputAbstract.php index fe6e086..a2757ac 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QROutputAbstract.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QROutputAbstract.php @@ -146,18 +146,18 @@ abstract class QROutputAbstract implements QROutputInterface{ } /** - * Prepares the value for the given input () + * Prepares the value for the given input (return value depends on the output class) * * @param mixed $value * - * @return mixed|null return value depends on the output class + * @return mixed|null */ abstract protected function prepareModuleValue($value); /** - * Returns a default value for either dark or light modules + * Returns a default value for either dark or light modules (return value depends on the output class) * - * @return mixed|null return value depends on the output class + * @return mixed|null */ abstract protected function getDefaultModuleValue(bool $isDark); @@ -188,7 +188,7 @@ abstract class QROutputAbstract implements QROutputInterface{ /** * Returns a base64 data URI for the given string and mime type */ - protected function toBase64DataURI(string $data, string $mime = null):string{ + protected function toBase64DataURI(string $data, ?string $mime = null):string{ return sprintf('data:%s;base64,%s', ($mime ?? $this::MIME_TYPE), base64_encode($data)); } @@ -200,7 +200,7 @@ abstract class QROutputAbstract implements QROutputInterface{ * * @throws \chillerlan\QRCode\Output\QRCodeOutputException */ - protected function saveToFile(string $data, string $file = null):void{ + protected function saveToFile(string $data, ?string $file = null):void{ if($file === null){ return; diff --git a/vendor/chillerlan/php-qrcode/src/Output/QROutputInterface.php b/vendor/chillerlan/php-qrcode/src/Output/QROutputInterface.php index 919f1ba..7d23151 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QROutputInterface.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QROutputInterface.php @@ -221,6 +221,6 @@ interface QROutputInterface{ * * @return mixed */ - public function dump(string $file = null); + public function dump(?string $file = null); } diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRString.php b/vendor/chillerlan/php-qrcode/src/Output/QRString.php index cb70a6c..2d6d052 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRString.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRString.php @@ -46,7 +46,7 @@ class QRString extends QROutputAbstract{ /** * @inheritDoc */ - public function dump(string $file = null):string{ + public function dump(?string $file = null):string{ switch($this->options->outputType){ case QROutputInterface::STRING_TEXT: @@ -101,7 +101,7 @@ class QRString extends QROutputAbstract{ * * @codeCoverageIgnore */ - public static function ansi8(string $str, int $color, bool $background = null):string{ + public static function ansi8(string $str, int $color, ?bool $background = null):string{ $color = max(0, min($color, 255)); $background = ($background === true) ? 48 : 38; diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRStringJSON.php b/vendor/chillerlan/php-qrcode/src/Output/QRStringJSON.php index 6f2e7d5..87ed2d7 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRStringJSON.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRStringJSON.php @@ -25,9 +25,9 @@ class QRStringJSON extends QROutputAbstract{ * @inheritDoc * @throws \JsonException */ - public function dump(string $file = null):string{ + public function dump(?string $file = null):string{ $matrix = $this->matrix->getMatrix($this->options->jsonAsBooleans); - $data = json_encode($matrix, $this->options->jsonFlags);; + $data = json_encode($matrix, $this->options->jsonFlags); $this->saveToFile($data, $file); diff --git a/vendor/chillerlan/php-qrcode/src/Output/QRStringText.php b/vendor/chillerlan/php-qrcode/src/Output/QRStringText.php index f475a2a..a91591d 100644 --- a/vendor/chillerlan/php-qrcode/src/Output/QRStringText.php +++ b/vendor/chillerlan/php-qrcode/src/Output/QRStringText.php @@ -43,7 +43,7 @@ class QRStringText extends QROutputAbstract{ /** * @inheritDoc */ - public function dump(string $file = null):string{ + public function dump(?string $file = null):string{ $lines = []; $linestart = $this->options->textLineStart; @@ -66,7 +66,7 @@ class QRStringText extends QROutputAbstract{ * * @codeCoverageIgnore */ - public static function ansi8(string $str, int $color, bool $background = null):string{ + public static function ansi8(string $str, int $color, ?bool $background = null):string{ $color = max(0, min($color, 255)); $background = ($background === true) ? 48 : 38; diff --git a/vendor/chillerlan/php-qrcode/src/QRCode.php b/vendor/chillerlan/php-qrcode/src/QRCode.php index 8caa1d7..235cb06 100644 --- a/vendor/chillerlan/php-qrcode/src/QRCode.php +++ b/vendor/chillerlan/php-qrcode/src/QRCode.php @@ -182,7 +182,7 @@ class QRCode{ * * PHP8: accept iterable */ - public function __construct(SettingsContainerInterface $options = null){ + public function __construct(?SettingsContainerInterface $options = null){ $this->setOptions(($options ?? new QROptions)); } @@ -202,9 +202,14 @@ class QRCode{ /** * Renders a QR Code for the given $data and QROptions, saves $file optionally * + * Note: it is possible to add several data segments before calling this method with a valid $data string + * which will result in a mixed-mode QR Code with the given parameter as last element. + * + * @see https://github.com/chillerlan/php-qrcode/issues/246 + * * @return mixed */ - public function render(string $data = null, string $file = null){ + public function render(?string $data = null, ?string $file = null){ if($data !== null){ /** @var \chillerlan\QRCode\Data\QRDataModeInterface $dataInterface */ @@ -226,7 +231,7 @@ class QRCode{ * * @return mixed */ - public function renderMatrix(QRMatrix $matrix, string $file = null){ + public function renderMatrix(QRMatrix $matrix, ?string $file = null){ return $this->initOutputInterface($matrix)->dump($file ?? $this->options->cachefile); } @@ -298,7 +303,7 @@ class QRCode{ throw new QRCodeOutputException('invalid output module'); } - if(!in_array(QROutputInterface::class, class_implements($outputInterface))){ + if(!in_array(QROutputInterface::class, class_implements($outputInterface), true)){ throw new QRCodeOutputException('output module does not implement QROutputInterface'); } @@ -457,8 +462,6 @@ class QRCode{ /** * Reads a QR Code from a given file - * - * @noinspection PhpUndefinedMethodInspection */ public function readFromFile(string $path):DecoderResult{ return $this->readFromSource($this->luminanceSourceFQN::fromFile($path, $this->options)); @@ -466,8 +469,6 @@ class QRCode{ /** * Reads a QR Code from the given data blob - * - * @noinspection PhpUndefinedMethodInspection */ public function readFromBlob(string $blob):DecoderResult{ return $this->readFromSource($this->luminanceSourceFQN::fromBlob($blob, $this->options)); diff --git a/vendor/chillerlan/php-settings-container/README.md b/vendor/chillerlan/php-settings-container/README.md index a21653a..3fb122d 100644 --- a/vendor/chillerlan/php-settings-container/README.md +++ b/vendor/chillerlan/php-settings-container/README.md @@ -19,23 +19,23 @@ A container class for settings objects - decouple configuration logic from your [license]: https://github.com/chillerlan/php-settings-container/blob/main/LICENSE [coverage-badge]: https://img.shields.io/codecov/c/github/chillerlan/php-settings-container.svg?logo=codecov [coverage]: https://codecov.io/github/chillerlan/php-settings-container -[codacy-badge]: https://img.shields.io/codacy/grade/bd2467799e2943d2853ce3ebad5af490/v2.x-php7.4?logo=codacy -[codacy]: https://app.codacy.com/gh/chillerlan/php-settings-container/dashboard?branch=v2.x-php7.4 +[codacy-badge]: https://img.shields.io/codacy/grade/bd2467799e2943d2853ce3ebad5af490/main?logo=codacy +[codacy]: https://www.codacy.com/gh/chillerlan/php-settings-container/dashboard?branch=main [downloads-badge]: https://img.shields.io/packagist/dt/chillerlan/php-settings-container.svg?logo=packagist [downloads]: https://packagist.org/packages/chillerlan/php-settings-container/stats -[gh-action-badge]: https://github.com/chillerlan/php-settings-container/workflows/CI/badge.svg -[gh-action]: https://github.com/chillerlan/php-settings-container/actions?query=workflow%3A%22CI%22 +[gh-action-badge]: https://img.shields.io/github/actions/workflow/status/chillerlan/php-settings-container/ci.yml?branch=main&logo=github +[gh-action]: https://github.com/chillerlan/php-settings-container/actions/workflows/ci.yml?query=branch%3Amain ## Documentation ### Installation **requires [composer](https://getcomposer.org)** -*composer.json* (note: replace `dev-main` with a [version constraint](https://getcomposer.org/doc/articles/versions.md#writing-version-constraints), e.g. `^2.1` - see [releases](https://github.com/chillerlan/php-settings-container/releases) for valid versions) +*composer.json* (note: replace `dev-main` with a [version constraint](https://getcomposer.org/doc/articles/versions.md#writing-version-constraints), e.g. `^3.0` - see [releases](https://github.com/chillerlan/php-settings-container/releases) for valid versions) ```json { "require": { - "php": "^7.4 || ^8.0", + "php": "^8.1", "chillerlan/php-settings-container": "dev-main" } } @@ -45,18 +45,14 @@ Profit! ## Usage -The `SettingsContainerInterface` (wrapped in`SettingsContainerAbstract` ) provides plug-in functionality for immutable object properties and adds some fancy, like loading/saving JSON, arrays etc. +The `SettingsContainerInterface` (wrapped in`SettingsContainerAbstract`) provides plug-in functionality for immutable object properties and adds some fancy, like loading/saving JSON, arrays etc. It takes an `iterable` as the only constructor argument and calls a method with the trait's name on invocation (`MyTrait::MyTrait()`) for each used trait. +A PHPStan ruleset to exclude errors generated by accessing magic properties on `SettingsContainerInterface` can be found in `rules-magic-access.neon`. + + ### Simple usage ```php -class MyContainer extends SettingsContainerAbstract{ - protected $foo; - protected $bar; -} -``` -Typed properties in PHP 7.4+: -```php class MyContainer extends SettingsContainerAbstract{ protected string $foo; protected string $bar; @@ -64,12 +60,12 @@ class MyContainer extends SettingsContainerAbstract{ ``` ```php -// use it just like a \stdClass +// use it just like a \stdClass (except the properties are fixed) $container = new MyContainer; $container->foo = 'what'; $container->bar = 'foo'; -// which is equivalent to +// which is equivalent to $container = new MyContainer(['bar' => 'foo', 'foo' => 'what']); // ...or try $container->fromJSON('{"foo": "what", "bar": "foo"}'); @@ -90,37 +86,48 @@ var_dump($container->nope); // -> null ### Advanced usage ```php +// from library 1 trait SomeOptions{ - protected $foo; - protected $what; - + protected string $foo; + protected string $what; + // this method will be called in SettingsContainerAbstract::construct() // after the properties have been set - protected function SomeOptions(){ + protected function SomeOptions():void{ // just some constructor stuff... $this->foo = strtoupper($this->foo); } - + + /* + * special prefixed magic setters & getters + */ + // this method will be called from __set() when property $what is set - protected function set_what(string $value){ + protected function set_what(string $value):void{ $this->what = md5($value); } + + // this method is called on __get() for the property $what + protected function get_what():string{ + return 'hash: '.$this->what; + } } +// from library 2 trait MoreOptions{ - protected $bar = 'whatever'; // provide default values + protected string $bar = 'whatever'; // provide default values } ``` ```php $commonOptions = [ // SomeOptions - 'foo' => 'whatever', + 'foo' => 'whatever', // MoreOptions 'bar' => 'nothing', ]; -// now plug the several library options together to a single object +// now plug the several library options together to a single object $container = new class ($commonOptions) extends SettingsContainerAbstract{ use SomeOptions, MoreOptions; }; @@ -129,27 +136,31 @@ var_dump($container->foo); // -> WHATEVER (constructor ran strtoupper on the val var_dump($container->bar); // -> nothing $container->what = 'some value'; -var_dump($container->what); // -> md5 hash of "some value" +var_dump($container->what); // -> hash: 5946210c9e93ae37891dfe96c3e39614 (custom getter added "hash: ") ``` ### API #### [`SettingsContainerAbstract`](https://github.com/chillerlan/php-settings-container/blob/main/src/SettingsContainerAbstract.php) -method | return | info --------- | ---- | ----------- -`__construct(iterable $properties = null)` | - | calls `construct()` internally after the properties have been set -(protected) `construct()` | void | calls a method with trait name as replacement constructor for each used trait -`__get(string $property)` | mixed | calls `$this->{'get_'.$property}()` if such a method exists -`__set(string $property, $value)` | void | calls `$this->{'set_'.$property}($value)` if such a method exists -`__isset(string $property)` | bool | -`__unset(string $property)` | void | -`__toString()` | string | a JSON string -`toArray()` | array | -`fromIterable(iterable $properties)` | `SettingsContainerInterface` | -`toJSON(int $jsonOptions = null)` | string | accepts [JSON options constants](http://php.net/manual/json.constants.php) -`fromJSON(string $json)` | `SettingsContainerInterface` | -`jsonSerialize()` | mixed | implements the [`JsonSerializable`](https://www.php.net/manual/en/jsonserializable.jsonserialize.php) interface +| method | return | info | +|--------------------------------------------|------------------------------|---------------------------------------------------------------------------------------------------------------------| +| `__construct(iterable $properties = null)` | - | calls `construct()` internally after the properties have been set | +| (protected) `construct()` | void | calls a method with trait name as replacement constructor for each used trait | +| `__get(string $property)` | mixed | calls `$this->{'get_'.$property}()` if such a method exists | +| `__set(string $property, $value)` | void | calls `$this->{'set_'.$property}($value)` if such a method exists | +| `__isset(string $property)` | bool | | +| `__unset(string $property)` | void | | +| `__toString()` | string | a JSON string | +| `toArray()` | array | | +| `fromIterable(iterable $properties)` | `SettingsContainerInterface` | | +| `toJSON(int $jsonOptions = null)` | string | accepts [JSON options constants](http://php.net/manual/json.constants.php) | +| `fromJSON(string $json)` | `SettingsContainerInterface` | | +| `jsonSerialize()` | mixed | implements the [`JsonSerializable`](https://www.php.net/manual/en/jsonserializable.jsonserialize.php) interface | +| `serialize()` | string | implements the [`Serializable`](https://www.php.net/manual/en/serializable.serialize.php) interface | +| `unserialize(string $data)` | void | implements the [`Serializable`](https://www.php.net/manual/en/serializable.unserialize.php) interface | +| `__serialize()` | array | implements the [`Serializable`](https://www.php.net/manual/en/language.oop5.magic.php#object.serialize) interface | +| `__unserialize(array $data)` | void | implements the [`Serializable`](https://www.php.net/manual/en/language.oop5.magic.php#object.unserialize) interface | ## Disclaimer This might be either an utterly genius or completely stupid idea - you decide. However, i like it and it works. diff --git a/vendor/chillerlan/php-settings-container/composer.json b/vendor/chillerlan/php-settings-container/composer.json index ed4afd5..16b8e5e 100644 --- a/vendor/chillerlan/php-settings-container/composer.json +++ b/vendor/chillerlan/php-settings-container/composer.json @@ -1,12 +1,12 @@ { "name": "chillerlan/php-settings-container", - "description": "A container class for immutable settings objects. Not a DI container. PHP 7.4+", + "description": "A container class for immutable settings objects. Not a DI container.", "homepage": "https://github.com/chillerlan/php-settings-container", "license": "MIT", "type": "library", "minimum-stability": "stable", "keywords": [ - "php7", "helper", "container", "settings", "configuration" + "helper", "container", "settings", "configuration" ], "authors": [ { @@ -20,28 +20,29 @@ "source": "https://github.com/chillerlan/php-settings-container" }, "require": { - "php": "^7.4 || ^8.0", + "php": "^8.1", "ext-json": "*" }, "require-dev": { - "phan/phan": "^5.4", - "phpmd/phpmd": "^2.13", - "phpunit/phpunit": "^9.6", - "phpcsstandards/php_codesniffer": "^3.8" + "phpmd/phpmd": "^2.15", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.10" }, "autoload": { "psr-4": { - "chillerlan\\Settings\\": "src/" + "chillerlan\\Settings\\": "src" } }, "autoload-dev": { "psr-4": { - "chillerlan\\SettingsTest\\": "tests/" + "chillerlan\\SettingsTest\\": "tests" } }, "scripts": { "phpunit": "@php vendor/bin/phpunit", - "phan": "@php vendor/bin/phan" + "phpstan": "@php vendor/bin/phpstan" }, "config": { "lock": false, diff --git a/vendor/chillerlan/php-settings-container/rules-magic-access.neon b/vendor/chillerlan/php-settings-container/rules-magic-access.neon new file mode 100644 index 0000000..5a98d3a --- /dev/null +++ b/vendor/chillerlan/php-settings-container/rules-magic-access.neon @@ -0,0 +1,4 @@ +parameters: + ignoreErrors: + # yes, these are magic + - message: "#^Access to an undefined property chillerlan\\\\Settings\\\\SettingsContainerInterface\\:\\:\\$[\\w]+\\.$#" diff --git a/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php b/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php index fa97db2..826faaf 100644 --- a/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php +++ b/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php @@ -7,20 +7,23 @@ * @copyright 2018 Smiley * @license MIT */ +declare(strict_types=1); namespace chillerlan\Settings; -use ReflectionClass, ReflectionProperty; - -use function get_object_vars, json_decode, json_encode, method_exists, property_exists; +use InvalidArgumentException, JsonException, ReflectionClass, ReflectionProperty; +use function array_keys, get_object_vars, is_object, json_decode, json_encode, + json_last_error_msg, method_exists, property_exists, serialize, unserialize; use const JSON_THROW_ON_ERROR; abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * SettingsContainerAbstract constructor. + * + * @phpstan-param array $properties */ - public function __construct(iterable $properties = null){ + public function __construct(iterable|null $properties = null){ if(!empty($properties)){ $this->fromIterable($properties); @@ -49,7 +52,7 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ - public function __get(string $property){ + public function __get(string $property):mixed{ if(!property_exists($this, $property) || $this->isPrivate($property)){ return null; @@ -67,7 +70,7 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ - public function __set(string $property, $value):void{ + public function __set(string $property, mixed $value):void{ if(!property_exists($this, $property) || $this->isPrivate($property)){ return; @@ -120,13 +123,19 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ * @inheritdoc */ public function toArray():array{ - return get_object_vars($this); + $properties = []; + + foreach(array_keys(get_object_vars($this)) as $key){ + $properties[$key] = $this->__get($key); + } + + return $properties; } /** * @inheritdoc */ - public function fromIterable(iterable $properties):SettingsContainerInterface{ + public function fromIterable(iterable $properties):static{ foreach($properties as $key => $value){ $this->__set($key, $value); @@ -138,14 +147,21 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc */ - public function toJSON(int $jsonOptions = null):string{ - return json_encode($this, ($jsonOptions ?? 0)); + public function toJSON(int|null $jsonOptions = null):string{ + $json = json_encode($this, ($jsonOptions ?? 0)); + + if($json === false){ + throw new JsonException(json_last_error_msg()); + } + + return $json; } /** * @inheritdoc */ - public function fromJSON(string $json):SettingsContainerInterface{ + public function fromJSON(string $json):static{ + /** @phpstan-var array $data */ $data = json_decode($json, true, 512, JSON_THROW_ON_ERROR); return $this->fromIterable($data); @@ -153,11 +169,84 @@ abstract class SettingsContainerAbstract implements SettingsContainerInterface{ /** * @inheritdoc - * @phan-suppress PhanUndeclaredClassAttribute + * @return array */ - #[\ReturnTypeWillChange] public function jsonSerialize():array{ return $this->toArray(); } + /** + * Returns a serialized string representation of the object in its current state (except static/readonly properties) + * + * @inheritdoc + * @see \chillerlan\Settings\SettingsContainerInterface::toArray() + */ + public function serialize():string{ + return serialize($this); + } + + /** + * Restores the data (except static/readonly properties) from the given serialized object to the current instance + * + * @inheritdoc + * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() + */ + public function unserialize(string $data):void{ + $obj = unserialize($data); + + if($obj === false || !is_object($obj)){ + throw new InvalidArgumentException('The given serialized string is invalid'); + } + + $reflection = new ReflectionClass($obj); + + if(!$reflection->isInstance($this)){ + throw new InvalidArgumentException('The unserialized object does not match the class of this container'); + } + + $properties = $reflection->getProperties(~(ReflectionProperty::IS_STATIC | ReflectionProperty::IS_READONLY)); + + foreach($properties as $reflectionProperty){ + $this->{$reflectionProperty->name} = $reflectionProperty->getValue($obj); + } + + } + + /** + * Returns a serialized string representation of the object in its current state (except static/readonly properties) + * + * @inheritdoc + * @see \chillerlan\Settings\SettingsContainerInterface::toArray() + */ + public function __serialize():array{ + + $properties = (new ReflectionClass($this)) + ->getProperties(~(ReflectionProperty::IS_STATIC | ReflectionProperty::IS_READONLY)) + ; + + $data = []; + + foreach($properties as $reflectionProperty){ + $data[$reflectionProperty->name] = $reflectionProperty->getValue($this); + } + + return $data; + } + + /** + * Restores the data from the given array to the current instance + * + * @inheritdoc + * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() + * + * @param array $data + */ + public function __unserialize(array $data):void{ + + foreach($data as $key => $value){ + $this->{$key} = $value; + } + + } + } diff --git a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php index ddacccd..6f3cc1a 100644 --- a/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php +++ b/vendor/chillerlan/php-settings-container/src/SettingsContainerInterface.php @@ -7,30 +7,28 @@ * @copyright 2018 Smiley * @license MIT */ +declare(strict_types=1); namespace chillerlan\Settings; -use JsonSerializable; +use JsonSerializable, Serializable; /** * a generic container with magic getter and setter */ -interface SettingsContainerInterface extends JsonSerializable{ +interface SettingsContainerInterface extends JsonSerializable, Serializable{ /** * Retrieve the value of $property * * @return mixed|null */ - public function __get(string $property); + public function __get(string $property):mixed; /** * Set $property to $value while avoiding private and non-existing properties - * - * @param string $property - * @param mixed $value */ - public function __set(string $property, $value):void; + public function __set(string $property, mixed $value):void; /** * Checks if $property is set (aka. not null), excluding private properties @@ -43,32 +41,46 @@ interface SettingsContainerInterface extends JsonSerializable{ public function __unset(string $property):void; /** - * @see SettingsContainerInterface::toJSON() + * @see \chillerlan\Settings\SettingsContainerInterface::toJSON() */ public function __toString():string; /** * Returns an array representation of the settings object + * + * The values will be run through the magic __get(), which may also call custom getters. + * + * @return array */ public function toArray():array; /** * Sets properties from a given iterable + * + * The values will be run through the magic __set(), which may also call custom setters. + * + * @phpstan-param array $properties */ - public function fromIterable(iterable $properties):SettingsContainerInterface; + public function fromIterable(iterable $properties):static; /** * Returns a JSON representation of the settings object + * * @see \json_encode() + * @see \chillerlan\Settings\SettingsContainerInterface::toArray() + * + * @throws \JsonException */ - public function toJSON(int $jsonOptions = null):string; + public function toJSON(int|null $jsonOptions = null):string; /** * Sets properties from a given JSON string * + * @see \chillerlan\Settings\SettingsContainerInterface::fromIterable() + * * @throws \Exception * @throws \JsonException */ - public function fromJSON(string $json):SettingsContainerInterface; + public function fromJSON(string $json):static; } diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 0fb0a2c..c8452fa 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -6,5 +6,944 @@ $vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( + 'Com\\Tecnick\\Barcode\\Barcode' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Barcode.php', + 'Com\\Tecnick\\Barcode\\Exception' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Exception.php', + 'Com\\Tecnick\\Barcode\\Model' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Model.php', + 'Com\\Tecnick\\Barcode\\Type' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type.php', + 'Com\\Tecnick\\Barcode\\Type\\Convert' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Convert.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Codabar' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Codabar.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeNineThree' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeNineThree.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneOne' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneOne.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\CodeOneTwoEightA' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\CodeOneTwoEightB' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\CodeOneTwoEightC' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\Process' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/Process.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNine' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNine.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNineCheck' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNineExt' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExt.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNineExtCheck' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExtCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanEight' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanEight.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanFive' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanFive.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanOneThree' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanOneThree.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanTwo' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanTwo.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Imb' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Imb.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\ImbPre' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/ImbPre.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\InterleavedTwoOfFive' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFive.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\InterleavedTwoOfFiveCheck' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFiveCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\KlantIndex' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/KlantIndex.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Msi' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Msi.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\MsiCheck' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/MsiCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Pharma' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Pharma.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\PharmaTwoTracks' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/PharmaTwoTracks.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Planet' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Planet.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Postnet' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Postnet.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Raw' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Raw.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\RoyalMailFourCc' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/RoyalMailFourCc.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\StandardTwoOfFive' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFive.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\StandardTwoOfFiveCheck' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFiveCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\UpcA' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcA.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\UpcE' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcE.php', + 'Com\\Tecnick\\Barcode\\Type\\Raw' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Raw.php', + 'Com\\Tecnick\\Barcode\\Type\\Square' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Bitstream' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Bitstream.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Codeword' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Codeword.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Data' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Encode' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Encode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\ErrorCorrection' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/ErrorCorrection.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Layers' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Layers.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Data' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Encode' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Encode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\EncodeTxt' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/EncodeTxt.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\ErrorCorrection' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/ErrorCorrection.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Modes' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Modes.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Placement' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Placement.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Steps' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Steps.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven\\Compaction' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Compaction.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven\\Data' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven\\Sequence' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Sequence.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\ByteStream' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/ByteStream.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Data' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Encode' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Encoder' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encoder.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\EncodingMode' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/EncodingMode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Estimate' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Estimate.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Init' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Init.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\InputItem' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/InputItem.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Mask' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Mask.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\MaskNum' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/MaskNum.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Spec' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Spec.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\SpecRs' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/SpecRs.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Split' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Split.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Raw' => $vendorDir . '/tecnickcom/tc-lib-barcode/src/Type/Square/Raw.php', + 'Com\\Tecnick\\Color\\Css' => $vendorDir . '/tecnickcom/tc-lib-color/src/Css.php', + 'Com\\Tecnick\\Color\\Exception' => $vendorDir . '/tecnickcom/tc-lib-color/src/Exception.php', + 'Com\\Tecnick\\Color\\Model' => $vendorDir . '/tecnickcom/tc-lib-color/src/Model.php', + 'Com\\Tecnick\\Color\\Model\\Cmyk' => $vendorDir . '/tecnickcom/tc-lib-color/src/Model/Cmyk.php', + 'Com\\Tecnick\\Color\\Model\\Gray' => $vendorDir . '/tecnickcom/tc-lib-color/src/Model/Gray.php', + 'Com\\Tecnick\\Color\\Model\\Hsl' => $vendorDir . '/tecnickcom/tc-lib-color/src/Model/Hsl.php', + 'Com\\Tecnick\\Color\\Model\\Rgb' => $vendorDir . '/tecnickcom/tc-lib-color/src/Model/Rgb.php', + 'Com\\Tecnick\\Color\\Model\\Template' => $vendorDir . '/tecnickcom/tc-lib-color/src/Model/Template.php', + 'Com\\Tecnick\\Color\\Pdf' => $vendorDir . '/tecnickcom/tc-lib-color/src/Pdf.php', + 'Com\\Tecnick\\Color\\Spot' => $vendorDir . '/tecnickcom/tc-lib-color/src/Spot.php', + 'Com\\Tecnick\\Color\\Web' => $vendorDir . '/tecnickcom/tc-lib-color/src/Web.php', + 'Com\\Tecnick\\File\\Byte' => $vendorDir . '/tecnickcom/tc-lib-file/src/Byte.php', + 'Com\\Tecnick\\File\\Cache' => $vendorDir . '/tecnickcom/tc-lib-file/src/Cache.php', + 'Com\\Tecnick\\File\\Dir' => $vendorDir . '/tecnickcom/tc-lib-file/src/Dir.php', + 'Com\\Tecnick\\File\\Exception' => $vendorDir . '/tecnickcom/tc-lib-file/src/Exception.php', + 'Com\\Tecnick\\File\\File' => $vendorDir . '/tecnickcom/tc-lib-file/src/File.php', + 'Com\\Tecnick\\Pdf\\Base' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/Base.php', + 'Com\\Tecnick\\Pdf\\CSS' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/CSS.php', + 'Com\\Tecnick\\Pdf\\Cell' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/Cell.php', + 'Com\\Tecnick\\Pdf\\ClassObjects' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/ClassObjects.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Compute' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Compute.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Data' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Data.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Encrypt' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Encrypt.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Exception' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Output' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Output.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AES' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AES.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AESSixteen' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESSixteen.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AESThirtytwo' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESThirtytwo.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AESnopad' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESnopad.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\MDFiveSixteen' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/MDFiveSixteen.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\RCFour' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFour.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\RCFourFive' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourFive.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\RCFourSixteen' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourSixteen.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\Seed' => $vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/Seed.php', + 'Com\\Tecnick\\Pdf\\Exception' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Font\\Buffer' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Buffer.php', + 'Com\\Tecnick\\Pdf\\Font\\Core' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Core.php', + 'Com\\Tecnick\\Pdf\\Font\\Exception' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Font\\Font' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Font.php', + 'Com\\Tecnick\\Pdf\\Font\\Import' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Import.php', + 'Com\\Tecnick\\Pdf\\Font\\Import\\Core' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Import/Core.php', + 'Com\\Tecnick\\Pdf\\Font\\Import\\TrueType' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Import/TrueType.php', + 'Com\\Tecnick\\Pdf\\Font\\Import\\TypeOne' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Import/TypeOne.php', + 'Com\\Tecnick\\Pdf\\Font\\Load' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Load.php', + 'Com\\Tecnick\\Pdf\\Font\\OutFont' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/OutFont.php', + 'Com\\Tecnick\\Pdf\\Font\\OutUtil' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/OutUtil.php', + 'Com\\Tecnick\\Pdf\\Font\\Output' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Output.php', + 'Com\\Tecnick\\Pdf\\Font\\Stack' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Stack.php', + 'Com\\Tecnick\\Pdf\\Font\\Subset' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/Subset.php', + 'Com\\Tecnick\\Pdf\\Font\\UniToCid' => $vendorDir . '/tecnickcom/tc-lib-pdf-font/src/UniToCid.php', + 'Com\\Tecnick\\Pdf\\Graph\\Base' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Base.php', + 'Com\\Tecnick\\Pdf\\Graph\\Draw' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Draw.php', + 'Com\\Tecnick\\Pdf\\Graph\\Exception' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Graph\\Gradient' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Gradient.php', + 'Com\\Tecnick\\Pdf\\Graph\\Raw' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Raw.php', + 'Com\\Tecnick\\Pdf\\Graph\\Style' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Style.php', + 'Com\\Tecnick\\Pdf\\Graph\\Transform' => $vendorDir . '/tecnickcom/tc-lib-pdf-graph/src/Transform.php', + 'Com\\Tecnick\\Pdf\\HTML' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/HTML.php', + 'Com\\Tecnick\\Pdf\\Image\\Exception' => $vendorDir . '/tecnickcom/tc-lib-pdf-image/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Image\\Import' => $vendorDir . '/tecnickcom/tc-lib-pdf-image/src/Import.php', + 'Com\\Tecnick\\Pdf\\Image\\Import\\ImageImportInterface' => $vendorDir . '/tecnickcom/tc-lib-pdf-image/src/Import/ImageImportInterface.php', + 'Com\\Tecnick\\Pdf\\Image\\Import\\Jpeg' => $vendorDir . '/tecnickcom/tc-lib-pdf-image/src/Import/Jpeg.php', + 'Com\\Tecnick\\Pdf\\Image\\Import\\Png' => $vendorDir . '/tecnickcom/tc-lib-pdf-image/src/Import/Png.php', + 'Com\\Tecnick\\Pdf\\Image\\Output' => $vendorDir . '/tecnickcom/tc-lib-pdf-image/src/Output.php', + 'Com\\Tecnick\\Pdf\\JavaScript' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/JavaScript.php', + 'Com\\Tecnick\\Pdf\\MetaInfo' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/MetaInfo.php', + 'Com\\Tecnick\\Pdf\\Output' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/Output.php', + 'Com\\Tecnick\\Pdf\\Page\\Box' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Box.php', + 'Com\\Tecnick\\Pdf\\Page\\Exception' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Page\\Format' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Format.php', + 'Com\\Tecnick\\Pdf\\Page\\Mode' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Mode.php', + 'Com\\Tecnick\\Pdf\\Page\\Page' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Page.php', + 'Com\\Tecnick\\Pdf\\Page\\Region' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Region.php', + 'Com\\Tecnick\\Pdf\\Page\\Settings' => $vendorDir . '/tecnickcom/tc-lib-pdf-page/src/Settings.php', + 'Com\\Tecnick\\Pdf\\SVG' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/SVG.php', + 'Com\\Tecnick\\Pdf\\Tcpdf' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/Tcpdf.php', + 'Com\\Tecnick\\Pdf\\Text' => $vendorDir . '/tecnickcom/tc-lib-pdf/src/Text.php', + 'Com\\Tecnick\\Unicode\\Bidi' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi.php', + 'Com\\Tecnick\\Unicode\\Bidi\\Shaping' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/Shaping.php', + 'Com\\Tecnick\\Unicode\\Bidi\\Shaping\\Arabic' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/Shaping/Arabic.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepBase' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepBase.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepI' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepI.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepL' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepL.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepN' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepN.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepP' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepP.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepW' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepW.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepX' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepX.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepXten' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Bidi/StepXten.php', + 'Com\\Tecnick\\Unicode\\Convert' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Convert.php', + 'Com\\Tecnick\\Unicode\\Convert\\Encoding' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Convert/Encoding.php', + 'Com\\Tecnick\\Unicode\\Data\\Arabic' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Arabic.php', + 'Com\\Tecnick\\Unicode\\Data\\Bracket' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Bracket.php', + 'Com\\Tecnick\\Unicode\\Data\\Constant' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Constant.php', + 'Com\\Tecnick\\Unicode\\Data\\Encoding' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Encoding.php', + 'Com\\Tecnick\\Unicode\\Data\\Identity' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Identity.php', + 'Com\\Tecnick\\Unicode\\Data\\Latin' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Latin.php', + 'Com\\Tecnick\\Unicode\\Data\\Mirror' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Mirror.php', + 'Com\\Tecnick\\Unicode\\Data\\Pattern' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Pattern.php', + 'Com\\Tecnick\\Unicode\\Data\\Type' => $vendorDir . '/tecnickcom/tc-lib-unicode-data/src/Type.php', + 'Com\\Tecnick\\Unicode\\Exception' => $vendorDir . '/tecnickcom/tc-lib-unicode/src/Exception.php', + 'Complex\\Complex' => $vendorDir . '/markbaker/complex/classes/src/Complex.php', + 'Complex\\Exception' => $vendorDir . '/markbaker/complex/classes/src/Exception.php', + 'Complex\\Functions' => $vendorDir . '/markbaker/complex/classes/src/Functions.php', + 'Complex\\Operations' => $vendorDir . '/markbaker/complex/classes/src/Operations.php', 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', + 'Composer\\Pcre\\MatchAllResult' => $vendorDir . '/composer/pcre/src/MatchAllResult.php', + 'Composer\\Pcre\\MatchAllStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchAllStrictGroupsResult.php', + 'Composer\\Pcre\\MatchAllWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchAllWithOffsetsResult.php', + 'Composer\\Pcre\\MatchResult' => $vendorDir . '/composer/pcre/src/MatchResult.php', + 'Composer\\Pcre\\MatchStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchStrictGroupsResult.php', + 'Composer\\Pcre\\MatchWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchWithOffsetsResult.php', + 'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => $vendorDir . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php', + 'Composer\\Pcre\\PHPStan\\PregMatchFlags' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchFlags.php', + 'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php', + 'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => $vendorDir . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php', + 'Composer\\Pcre\\PcreException' => $vendorDir . '/composer/pcre/src/PcreException.php', + 'Composer\\Pcre\\Preg' => $vendorDir . '/composer/pcre/src/Preg.php', + 'Composer\\Pcre\\Regex' => $vendorDir . '/composer/pcre/src/Regex.php', + 'Composer\\Pcre\\ReplaceResult' => $vendorDir . '/composer/pcre/src/ReplaceResult.php', + 'Composer\\Pcre\\UnexpectedNullMatchException' => $vendorDir . '/composer/pcre/src/UnexpectedNullMatchException.php', + 'Datamatrix' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', + 'GuzzleHttp\\BodySummarizer' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizer.php', + 'GuzzleHttp\\BodySummarizerInterface' => $vendorDir . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', + 'GuzzleHttp\\Client' => $vendorDir . '/guzzlehttp/guzzle/src/Client.php', + 'GuzzleHttp\\ClientInterface' => $vendorDir . '/guzzlehttp/guzzle/src/ClientInterface.php', + 'GuzzleHttp\\ClientTrait' => $vendorDir . '/guzzlehttp/guzzle/src/ClientTrait.php', + 'GuzzleHttp\\Cookie\\CookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', + 'GuzzleHttp\\Cookie\\CookieJarInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', + 'GuzzleHttp\\Cookie\\FileCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', + 'GuzzleHttp\\Cookie\\SessionCookieJar' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php', + 'GuzzleHttp\\Cookie\\SetCookie' => $vendorDir . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php', + 'GuzzleHttp\\Exception\\BadResponseException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php', + 'GuzzleHttp\\Exception\\ClientException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ClientException.php', + 'GuzzleHttp\\Exception\\ConnectException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ConnectException.php', + 'GuzzleHttp\\Exception\\GuzzleException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php', + 'GuzzleHttp\\Exception\\InvalidArgumentException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php', + 'GuzzleHttp\\Exception\\RequestException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/RequestException.php', + 'GuzzleHttp\\Exception\\ServerException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/ServerException.php', + 'GuzzleHttp\\Exception\\TooManyRedirectsException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php', + 'GuzzleHttp\\Exception\\TransferException' => $vendorDir . '/guzzlehttp/guzzle/src/Exception/TransferException.php', + 'GuzzleHttp\\HandlerStack' => $vendorDir . '/guzzlehttp/guzzle/src/HandlerStack.php', + 'GuzzleHttp\\Handler\\CurlFactory' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php', + 'GuzzleHttp\\Handler\\CurlFactoryInterface' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php', + 'GuzzleHttp\\Handler\\CurlHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', + 'GuzzleHttp\\Handler\\CurlMultiHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', + 'GuzzleHttp\\Handler\\EasyHandle' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'GuzzleHttp\\Handler\\HeaderProcessor' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', + 'GuzzleHttp\\Handler\\MockHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', + 'GuzzleHttp\\Handler\\Proxy' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/Proxy.php', + 'GuzzleHttp\\Handler\\StreamHandler' => $vendorDir . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', + 'GuzzleHttp\\MessageFormatter' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatter.php', + 'GuzzleHttp\\MessageFormatterInterface' => $vendorDir . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', + 'GuzzleHttp\\Middleware' => $vendorDir . '/guzzlehttp/guzzle/src/Middleware.php', + 'GuzzleHttp\\Pool' => $vendorDir . '/guzzlehttp/guzzle/src/Pool.php', + 'GuzzleHttp\\PrepareBodyMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', + 'GuzzleHttp\\Promise\\AggregateException' => $vendorDir . '/guzzlehttp/promises/src/AggregateException.php', + 'GuzzleHttp\\Promise\\CancellationException' => $vendorDir . '/guzzlehttp/promises/src/CancellationException.php', + 'GuzzleHttp\\Promise\\Coroutine' => $vendorDir . '/guzzlehttp/promises/src/Coroutine.php', + 'GuzzleHttp\\Promise\\Create' => $vendorDir . '/guzzlehttp/promises/src/Create.php', + 'GuzzleHttp\\Promise\\Each' => $vendorDir . '/guzzlehttp/promises/src/Each.php', + 'GuzzleHttp\\Promise\\EachPromise' => $vendorDir . '/guzzlehttp/promises/src/EachPromise.php', + 'GuzzleHttp\\Promise\\FulfilledPromise' => $vendorDir . '/guzzlehttp/promises/src/FulfilledPromise.php', + 'GuzzleHttp\\Promise\\Is' => $vendorDir . '/guzzlehttp/promises/src/Is.php', + 'GuzzleHttp\\Promise\\Promise' => $vendorDir . '/guzzlehttp/promises/src/Promise.php', + 'GuzzleHttp\\Promise\\PromiseInterface' => $vendorDir . '/guzzlehttp/promises/src/PromiseInterface.php', + 'GuzzleHttp\\Promise\\PromisorInterface' => $vendorDir . '/guzzlehttp/promises/src/PromisorInterface.php', + 'GuzzleHttp\\Promise\\RejectedPromise' => $vendorDir . '/guzzlehttp/promises/src/RejectedPromise.php', + 'GuzzleHttp\\Promise\\RejectionException' => $vendorDir . '/guzzlehttp/promises/src/RejectionException.php', + 'GuzzleHttp\\Promise\\TaskQueue' => $vendorDir . '/guzzlehttp/promises/src/TaskQueue.php', + 'GuzzleHttp\\Promise\\TaskQueueInterface' => $vendorDir . '/guzzlehttp/promises/src/TaskQueueInterface.php', + 'GuzzleHttp\\Promise\\Utils' => $vendorDir . '/guzzlehttp/promises/src/Utils.php', + 'GuzzleHttp\\Psr7\\AppendStream' => $vendorDir . '/guzzlehttp/psr7/src/AppendStream.php', + 'GuzzleHttp\\Psr7\\BufferStream' => $vendorDir . '/guzzlehttp/psr7/src/BufferStream.php', + 'GuzzleHttp\\Psr7\\CachingStream' => $vendorDir . '/guzzlehttp/psr7/src/CachingStream.php', + 'GuzzleHttp\\Psr7\\DroppingStream' => $vendorDir . '/guzzlehttp/psr7/src/DroppingStream.php', + 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => $vendorDir . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', + 'GuzzleHttp\\Psr7\\FnStream' => $vendorDir . '/guzzlehttp/psr7/src/FnStream.php', + 'GuzzleHttp\\Psr7\\Header' => $vendorDir . '/guzzlehttp/psr7/src/Header.php', + 'GuzzleHttp\\Psr7\\HttpFactory' => $vendorDir . '/guzzlehttp/psr7/src/HttpFactory.php', + 'GuzzleHttp\\Psr7\\InflateStream' => $vendorDir . '/guzzlehttp/psr7/src/InflateStream.php', + 'GuzzleHttp\\Psr7\\LazyOpenStream' => $vendorDir . '/guzzlehttp/psr7/src/LazyOpenStream.php', + 'GuzzleHttp\\Psr7\\LimitStream' => $vendorDir . '/guzzlehttp/psr7/src/LimitStream.php', + 'GuzzleHttp\\Psr7\\Message' => $vendorDir . '/guzzlehttp/psr7/src/Message.php', + 'GuzzleHttp\\Psr7\\MessageTrait' => $vendorDir . '/guzzlehttp/psr7/src/MessageTrait.php', + 'GuzzleHttp\\Psr7\\MimeType' => $vendorDir . '/guzzlehttp/psr7/src/MimeType.php', + 'GuzzleHttp\\Psr7\\MultipartStream' => $vendorDir . '/guzzlehttp/psr7/src/MultipartStream.php', + 'GuzzleHttp\\Psr7\\NoSeekStream' => $vendorDir . '/guzzlehttp/psr7/src/NoSeekStream.php', + 'GuzzleHttp\\Psr7\\PumpStream' => $vendorDir . '/guzzlehttp/psr7/src/PumpStream.php', + 'GuzzleHttp\\Psr7\\Query' => $vendorDir . '/guzzlehttp/psr7/src/Query.php', + 'GuzzleHttp\\Psr7\\Request' => $vendorDir . '/guzzlehttp/psr7/src/Request.php', + 'GuzzleHttp\\Psr7\\Response' => $vendorDir . '/guzzlehttp/psr7/src/Response.php', + 'GuzzleHttp\\Psr7\\Rfc7230' => $vendorDir . '/guzzlehttp/psr7/src/Rfc7230.php', + 'GuzzleHttp\\Psr7\\ServerRequest' => $vendorDir . '/guzzlehttp/psr7/src/ServerRequest.php', + 'GuzzleHttp\\Psr7\\Stream' => $vendorDir . '/guzzlehttp/psr7/src/Stream.php', + 'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => $vendorDir . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php', + 'GuzzleHttp\\Psr7\\StreamWrapper' => $vendorDir . '/guzzlehttp/psr7/src/StreamWrapper.php', + 'GuzzleHttp\\Psr7\\UploadedFile' => $vendorDir . '/guzzlehttp/psr7/src/UploadedFile.php', + 'GuzzleHttp\\Psr7\\Uri' => $vendorDir . '/guzzlehttp/psr7/src/Uri.php', + 'GuzzleHttp\\Psr7\\UriComparator' => $vendorDir . '/guzzlehttp/psr7/src/UriComparator.php', + 'GuzzleHttp\\Psr7\\UriNormalizer' => $vendorDir . '/guzzlehttp/psr7/src/UriNormalizer.php', + 'GuzzleHttp\\Psr7\\UriResolver' => $vendorDir . '/guzzlehttp/psr7/src/UriResolver.php', + 'GuzzleHttp\\Psr7\\Utils' => $vendorDir . '/guzzlehttp/psr7/src/Utils.php', + 'GuzzleHttp\\RedirectMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RedirectMiddleware.php', + 'GuzzleHttp\\RequestOptions' => $vendorDir . '/guzzlehttp/guzzle/src/RequestOptions.php', + 'GuzzleHttp\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php', + 'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php', + 'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php', + 'Matrix\\Builder' => $vendorDir . '/markbaker/matrix/classes/src/Builder.php', + 'Matrix\\Decomposition\\Decomposition' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/Decomposition.php', + 'Matrix\\Decomposition\\LU' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/LU.php', + 'Matrix\\Decomposition\\QR' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/QR.php', + 'Matrix\\Div0Exception' => $vendorDir . '/markbaker/matrix/classes/src/Div0Exception.php', + 'Matrix\\Exception' => $vendorDir . '/markbaker/matrix/classes/src/Exception.php', + 'Matrix\\Functions' => $vendorDir . '/markbaker/matrix/classes/src/Functions.php', + 'Matrix\\Matrix' => $vendorDir . '/markbaker/matrix/classes/src/Matrix.php', + 'Matrix\\Operations' => $vendorDir . '/markbaker/matrix/classes/src/Operations.php', + 'Matrix\\Operators\\Addition' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Addition.php', + 'Matrix\\Operators\\DirectSum' => $vendorDir . '/markbaker/matrix/classes/src/Operators/DirectSum.php', + 'Matrix\\Operators\\Division' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Division.php', + 'Matrix\\Operators\\Multiplication' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Multiplication.php', + 'Matrix\\Operators\\Operator' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Operator.php', + 'Matrix\\Operators\\Subtraction' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Subtraction.php', + 'PDF417' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ArrayEnabled' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ArrayEnabled.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\BinaryComparison' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/BinaryComparison.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Calculation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\CalculationBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\CalculationLocale' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationLocale.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Category' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Category.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DAverage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DAverage.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCount' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCount.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCountA' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCountA.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DGet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DGet.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMax' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMax.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMin' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMin.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DProduct' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DProduct.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDev' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDev.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDevP' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDevP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DSum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVarP' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVarP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DatabaseAbstract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Current' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Current.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateParts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days360' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days360.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Difference' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Difference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Month' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Month.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\NetworkDays' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/NetworkDays.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Time' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeParts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Week' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Week.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\WorkDay' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/WorkDay.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\YearFrac' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/YearFrac.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentProcessor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\BranchPruner' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\CyclicReferenceStack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\FormattedNumber' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/FormattedNumber.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Logger' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Logger.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\Operand' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/Operand.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\StructuredReference' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/StructuredReference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselI' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselI.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselJ' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselK' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselK.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselY' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselY.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BitWise' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BitWise.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Compare' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Compare.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Complex' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Complex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexOperations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexOperations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBinary' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBinary.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertDecimal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertDecimal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertHex' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertHex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertOctal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertOctal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertUOM' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\EngineeringValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/EngineeringValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Erf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Erf.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ErfC' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ErfC.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ExceptionHandler' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ExceptionHandler.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Amortization' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Amortization.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\CashFlowValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Cumulative' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Cumulative.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Interest' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\InterestAndPrincipal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Payments' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Payments.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Single' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Single.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\NonPeriodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/NonPeriodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\Periodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Coupons' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Coupons.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Depreciation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Depreciation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Dollar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Dollar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\FinancialValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/FinancialValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\InterestRate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/InterestRate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\AccruedInterest' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/AccruedInterest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Price' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Price.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Rates' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Rates.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\SecurityValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/SecurityValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Yields' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Yields.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\TreasuryBill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/TreasuryBill.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaParser' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaParser.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaToken' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FunctionArray' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FunctionArray.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Functions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Functions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ErrorValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ErrorValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ExcelError' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ExcelError.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\Value' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/Value.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\ExcelArrayPseudoFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/ExcelArrayPseudoFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\MakeMatrix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/MakeMatrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\WildcardMatch' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/WildcardMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Boolean' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Boolean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Operations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Address' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Address.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ChooseRowsEtc' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ChooseRowsEtc.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ExcelMatch' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Filter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Filter.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Formula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\HLookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/HLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hstack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hstack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hyperlink' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Indirect' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Indirect.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Lookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupRefValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupRefValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Matrix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Offset' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Offset.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\RowColumnInformation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Selection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Selection.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Sort' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\TorowTocol' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/TorowTocol.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Unique' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Unique.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\VLookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Vstack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Vstack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Absolute' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Absolute.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Angle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Angle.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Arabic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Base' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Base.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Ceiling' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Ceiling.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Combinations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Combinations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Exp' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Exp.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Factorial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Factorial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Floor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Floor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Gcd' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Gcd.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\IntClass' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/IntClass.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Lcm' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Lcm.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Logarithms' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Logarithms.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\MatrixFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/MatrixFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Operations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Random' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Random.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Roman' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Roman.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Round' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SeriesSum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SeriesSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sign' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sign.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sqrt' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sqrt.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Subtotal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Subtotal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SumSquares' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SumSquares.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosecant' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cotangent' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Secant' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Sine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Tangent' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trunc' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trunc.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\AggregateBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages\\Mean' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages/Mean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Confidence' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Confidence.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Counts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Counts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Deviations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Deviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Beta' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Binomial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Binomial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\ChiSquared' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\DistributionValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/DistributionValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Exponential' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Exponential.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\F' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/F.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Fisher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Fisher.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Gamma' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Gamma.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\GammaBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\HyperGeometric' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/HyperGeometric.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\LogNormal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/LogNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\NewtonRaphson' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Normal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Poisson' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Poisson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StandardNormal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StandardNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StudentT' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StudentT.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Weibull' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Weibull.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\MaxMinBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Maximum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Maximum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Minimum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Minimum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Percentiles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Permutations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Permutations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Size' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StandardDeviations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StandardDeviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Standardize' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Standardize.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StatisticalValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StatisticalValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Trends' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Trends.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\VarianceBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Variances' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Variances.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CaseConvert' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CaseConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CharacterConvert' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CharacterConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Concatenate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Concatenate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Extract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Extract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Format' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Format.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Replace' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Replace.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Search' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Search.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Text' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Text.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Trim' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Trim.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Token\\Stack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Token/Stack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Web\\Service' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web/Service.php', + 'PhpOffice\\PhpSpreadsheet\\CellReferenceHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/CellReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AdvancedValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AdvancedValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Cell' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellAddress' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellAddress.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\ColumnRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/ColumnRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Coordinate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Coordinate.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataType' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataType.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidator.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Hyperlink' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IgnoredErrors' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IgnoredErrors.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\RowRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/RowRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\StringValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/StringValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Axis' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Axis.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\AxisText' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/AxisText.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\ChartColor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/ChartColor.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeries' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeries.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeriesValues' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\GridLines' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/GridLines.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Layout' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Layout.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Legend' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Legend.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\PlotArea' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/PlotArea.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\IRenderer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/IRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraph' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraph.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraphRendererBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraphRendererBase.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\MtJpGraphRenderer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/MtJpGraphRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Title' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Title.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\TrendLine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/TrendLine.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Cells' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\CellsFactory' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/CellsFactory.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache1' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache1.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache3' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache3.php', + 'PhpOffice\\PhpSpreadsheet\\Comment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\DefinedName' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/DefinedName.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Security' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php', + 'PhpOffice\\PhpSpreadsheet\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\HashTable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/HashTable.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Dimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Downloader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Downloader.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Handler' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Handler.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Sample' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Sample.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Size' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\TextGrid' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/TextGrid.php', + 'PhpOffice\\PhpSpreadsheet\\IComparable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IComparable.php', + 'PhpOffice\\PhpSpreadsheet\\IOFactory' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php', + 'PhpOffice\\PhpSpreadsheet\\NamedFormula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\NamedRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedRange.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\BaseReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/BaseReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv\\Delimiter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv/Delimiter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\DefaultReadFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/DefaultReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\BaseLoader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/BaseLoader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\DefinedNames' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\FormulaTranslator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/FormulaTranslator.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\PageSettings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Security\\XmlScanner' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Security/XmlScanner.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Slk' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\XlsBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/XlsBase.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Biff5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Biff5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Biff8' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Biff8.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF8' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF8.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BuiltIn' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BuiltIn.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ConditionalFormatting' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ConditionalFormatting.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\DataValidationHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/DataValidationHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ErrorCode' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ListFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ListFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\LoadSpreadsheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/LoadSpreadsheet.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\MD5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/MD5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Mappings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Mappings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\RC4' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/RC4.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellAlignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellFont' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellFont.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\FillPattern' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/FillPattern.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\BaseParserClass' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ColumnAndRowAttributes' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ConditionalStyles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\DataValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Hyperlinks' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Namespaces' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Namespaces.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SharedFormula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SharedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViewOptions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViews' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViews.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\TableReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/TableReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\WorkbookView' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/WorkbookView.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\DataValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\PageSettings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Alignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Fill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\NumberFormat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\StyleBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/StyleBase.php', + 'PhpOffice\\PhpSpreadsheet\\ReferenceHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\ITextElement' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\RichText' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\Run' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\TextElement' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php', + 'PhpOffice\\PhpSpreadsheet\\Settings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\CodePage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/CodePage.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer\\SpContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE\\Blip' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\File' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\IntOrFloat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/IntOrFloat.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLERead' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLERead.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\ChainedBlockStream' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/ChainedBlockStream.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\File' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\Root' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/Root.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\PasswordHasher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\StringHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\TimeZone' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/TimeZone.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\BestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/BestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\ExponentialBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/ExponentialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LinearBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LinearBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LogarithmicBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LogarithmicBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PolynomialBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PowerBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PowerBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\Trend' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/Trend.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\XMLWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Spreadsheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Alignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Borders' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Borders.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Color' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellMatcher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellMatcher.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellStyleAssessor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellStyleAssessor.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalColorScale' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalColorScale.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBarExtension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormatValueObject' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormattingRuleExtension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalIconSet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalIconSet.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\IconSetValues' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/IconSetValues.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\StyleMerger' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/StyleMerger.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Blanks' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Blanks.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\CellValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/CellValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\DateValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Duplicates' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Duplicates.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Errors' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Errors.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Expression' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Expression.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\TextValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/TextValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardAbstract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardInterface' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardInterface.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Fill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\BaseFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/BaseFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\DateFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Formatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\FractionFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/FractionFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\NumberFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/NumberFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\PercentageFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Accounting' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Accounting.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Currency' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Currency.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\CurrencyBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/CurrencyBase.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\CurrencyNegative' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/CurrencyNegative.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTime' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTime.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTimeWizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTimeWizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Duration' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Duration.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Locale' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Number' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Number.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\NumberBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/NumberBase.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Percentage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Percentage.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Scientific' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Scientific.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Time' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Wizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Protection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\RgbTint' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/RgbTint.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Supervisor.php', + 'PhpOffice\\PhpSpreadsheet\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column\\Rule' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFit.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\CellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/CellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnCellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnDimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Dimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing\\Shadow' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing/Shadow.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooterDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooterDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Iterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Iterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\MemoryDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/MemoryDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageBreak' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageBreak.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageMargins' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageMargins.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Pane' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Pane.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ProtectedRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ProtectedRange.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Protection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Row' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Row.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowCellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowDimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\SheetView' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/SheetView.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableDxfsStyle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableDxfsStyle.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableStyle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableStyle.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Validations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Validations.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\BaseWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Csv' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\IWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/IWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\AutoFilters' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/AutoFilters.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Comment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Content' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Formula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Meta' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Meta.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\MetaInf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/MetaInf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Mimetype' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Mimetype.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\NamedExpressions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/NamedExpressions.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Settings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Thumbnails' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Thumbnails.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\WriterPart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Dompdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Mpdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Tcpdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\TcpdfNoDie' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/TcpdfNoDie.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\BIFFwriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/BIFFwriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\CellDataValidation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/CellDataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ConditionalHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ConditionalHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ErrorCode' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Parser' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Parser.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellAlignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellBorder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellBorder.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellFill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellFill.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Workbook' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Xf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Comments' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Comments.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\ContentTypes' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DefinedNames' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DocProps' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DocProps.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\FunctionPrefix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Metadata' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Metadata.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Rels' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsRibbon' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsRibbon.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsVBA' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsVBA.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\StringTable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Table' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Workbook' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream0' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream0.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream2' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream2.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream3' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream3.php', + 'Psr\\Http\\Client\\ClientExceptionInterface' => $vendorDir . '/psr/http-client/src/ClientExceptionInterface.php', + 'Psr\\Http\\Client\\ClientInterface' => $vendorDir . '/psr/http-client/src/ClientInterface.php', + 'Psr\\Http\\Client\\NetworkExceptionInterface' => $vendorDir . '/psr/http-client/src/NetworkExceptionInterface.php', + 'Psr\\Http\\Client\\RequestExceptionInterface' => $vendorDir . '/psr/http-client/src/RequestExceptionInterface.php', + 'Psr\\Http\\Message\\MessageInterface' => $vendorDir . '/psr/http-message/src/MessageInterface.php', + 'Psr\\Http\\Message\\RequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/RequestFactoryInterface.php', + 'Psr\\Http\\Message\\RequestInterface' => $vendorDir . '/psr/http-message/src/RequestInterface.php', + 'Psr\\Http\\Message\\ResponseFactoryInterface' => $vendorDir . '/psr/http-factory/src/ResponseFactoryInterface.php', + 'Psr\\Http\\Message\\ResponseInterface' => $vendorDir . '/psr/http-message/src/ResponseInterface.php', + 'Psr\\Http\\Message\\ServerRequestFactoryInterface' => $vendorDir . '/psr/http-factory/src/ServerRequestFactoryInterface.php', + 'Psr\\Http\\Message\\ServerRequestInterface' => $vendorDir . '/psr/http-message/src/ServerRequestInterface.php', + 'Psr\\Http\\Message\\StreamFactoryInterface' => $vendorDir . '/psr/http-factory/src/StreamFactoryInterface.php', + 'Psr\\Http\\Message\\StreamInterface' => $vendorDir . '/psr/http-message/src/StreamInterface.php', + 'Psr\\Http\\Message\\UploadedFileFactoryInterface' => $vendorDir . '/psr/http-factory/src/UploadedFileFactoryInterface.php', + 'Psr\\Http\\Message\\UploadedFileInterface' => $vendorDir . '/psr/http-message/src/UploadedFileInterface.php', + 'Psr\\Http\\Message\\UriFactoryInterface' => $vendorDir . '/psr/http-factory/src/UriFactoryInterface.php', + 'Psr\\Http\\Message\\UriInterface' => $vendorDir . '/psr/http-message/src/UriInterface.php', + 'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php', + 'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php', + 'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php', + 'QRcode' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/qrcode.php', + 'TCPDF' => $vendorDir . '/tecnickcom/tcpdf/tcpdf.php', + 'TCPDF2DBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php', + 'TCPDFBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php', + 'TCPDF_COLORS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_colors.php', + 'TCPDF_FILTERS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_filters.php', + 'TCPDF_FONTS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_fonts.php', + 'TCPDF_FONT_DATA' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_font_data.php', + 'TCPDF_IMAGES' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_images.php', + 'TCPDF_STATIC' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_static.php', + 'ZipStream\\CentralDirectoryFileHeader' => $vendorDir . '/maennchen/zipstream-php/src/CentralDirectoryFileHeader.php', + 'ZipStream\\CompressionMethod' => $vendorDir . '/maennchen/zipstream-php/src/CompressionMethod.php', + 'ZipStream\\DataDescriptor' => $vendorDir . '/maennchen/zipstream-php/src/DataDescriptor.php', + 'ZipStream\\EndOfCentralDirectory' => $vendorDir . '/maennchen/zipstream-php/src/EndOfCentralDirectory.php', + 'ZipStream\\Exception' => $vendorDir . '/maennchen/zipstream-php/src/Exception.php', + 'ZipStream\\Exception\\DosTimeOverflowException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/DosTimeOverflowException.php', + 'ZipStream\\Exception\\FileNotFoundException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileNotFoundException.php', + 'ZipStream\\Exception\\FileNotReadableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileNotReadableException.php', + 'ZipStream\\Exception\\FileSizeIncorrectException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileSizeIncorrectException.php', + 'ZipStream\\Exception\\OverflowException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/OverflowException.php', + 'ZipStream\\Exception\\ResourceActionException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/ResourceActionException.php', + 'ZipStream\\Exception\\SimulationFileUnknownException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/SimulationFileUnknownException.php', + 'ZipStream\\Exception\\StreamNotReadableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/StreamNotReadableException.php', + 'ZipStream\\Exception\\StreamNotSeekableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/StreamNotSeekableException.php', + 'ZipStream\\File' => $vendorDir . '/maennchen/zipstream-php/src/File.php', + 'ZipStream\\GeneralPurposeBitFlag' => $vendorDir . '/maennchen/zipstream-php/src/GeneralPurposeBitFlag.php', + 'ZipStream\\LocalFileHeader' => $vendorDir . '/maennchen/zipstream-php/src/LocalFileHeader.php', + 'ZipStream\\OperationMode' => $vendorDir . '/maennchen/zipstream-php/src/OperationMode.php', + 'ZipStream\\PackField' => $vendorDir . '/maennchen/zipstream-php/src/PackField.php', + 'ZipStream\\Time' => $vendorDir . '/maennchen/zipstream-php/src/Time.php', + 'ZipStream\\Version' => $vendorDir . '/maennchen/zipstream-php/src/Version.php', + 'ZipStream\\Zip64\\DataDescriptor' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/DataDescriptor.php', + 'ZipStream\\Zip64\\EndOfCentralDirectory' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectory.php', + 'ZipStream\\Zip64\\EndOfCentralDirectoryLocator' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectoryLocator.php', + 'ZipStream\\Zip64\\ExtendedInformationExtraField' => $vendorDir . '/maennchen/zipstream-php/src/Zip64/ExtendedInformationExtraField.php', + 'ZipStream\\ZipStream' => $vendorDir . '/maennchen/zipstream-php/src/ZipStream.php', + 'ZipStream\\Zs\\ExtendedInformationExtraField' => $vendorDir . '/maennchen/zipstream-php/src/Zs/ExtendedInformationExtraField.php', + 'chillerlan\\QRCode\\Common\\BitBuffer' => $vendorDir . '/chillerlan/php-qrcode/src/Common/BitBuffer.php', + 'chillerlan\\QRCode\\Common\\ECICharset' => $vendorDir . '/chillerlan/php-qrcode/src/Common/ECICharset.php', + 'chillerlan\\QRCode\\Common\\EccLevel' => $vendorDir . '/chillerlan/php-qrcode/src/Common/EccLevel.php', + 'chillerlan\\QRCode\\Common\\GDLuminanceSource' => $vendorDir . '/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php', + 'chillerlan\\QRCode\\Common\\GF256' => $vendorDir . '/chillerlan/php-qrcode/src/Common/GF256.php', + 'chillerlan\\QRCode\\Common\\GenericGFPoly' => $vendorDir . '/chillerlan/php-qrcode/src/Common/GenericGFPoly.php', + 'chillerlan\\QRCode\\Common\\IMagickLuminanceSource' => $vendorDir . '/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php', + 'chillerlan\\QRCode\\Common\\LuminanceSourceAbstract' => $vendorDir . '/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php', + 'chillerlan\\QRCode\\Common\\LuminanceSourceInterface' => $vendorDir . '/chillerlan/php-qrcode/src/Common/LuminanceSourceInterface.php', + 'chillerlan\\QRCode\\Common\\MaskPattern' => $vendorDir . '/chillerlan/php-qrcode/src/Common/MaskPattern.php', + 'chillerlan\\QRCode\\Common\\Mode' => $vendorDir . '/chillerlan/php-qrcode/src/Common/Mode.php', + 'chillerlan\\QRCode\\Common\\Version' => $vendorDir . '/chillerlan/php-qrcode/src/Common/Version.php', + 'chillerlan\\QRCode\\Data\\AlphaNum' => $vendorDir . '/chillerlan/php-qrcode/src/Data/AlphaNum.php', + 'chillerlan\\QRCode\\Data\\Byte' => $vendorDir . '/chillerlan/php-qrcode/src/Data/Byte.php', + 'chillerlan\\QRCode\\Data\\ECI' => $vendorDir . '/chillerlan/php-qrcode/src/Data/ECI.php', + 'chillerlan\\QRCode\\Data\\Hanzi' => $vendorDir . '/chillerlan/php-qrcode/src/Data/Hanzi.php', + 'chillerlan\\QRCode\\Data\\Kanji' => $vendorDir . '/chillerlan/php-qrcode/src/Data/Kanji.php', + 'chillerlan\\QRCode\\Data\\Number' => $vendorDir . '/chillerlan/php-qrcode/src/Data/Number.php', + 'chillerlan\\QRCode\\Data\\QRCodeDataException' => $vendorDir . '/chillerlan/php-qrcode/src/Data/QRCodeDataException.php', + 'chillerlan\\QRCode\\Data\\QRData' => $vendorDir . '/chillerlan/php-qrcode/src/Data/QRData.php', + 'chillerlan\\QRCode\\Data\\QRDataModeAbstract' => $vendorDir . '/chillerlan/php-qrcode/src/Data/QRDataModeAbstract.php', + 'chillerlan\\QRCode\\Data\\QRDataModeInterface' => $vendorDir . '/chillerlan/php-qrcode/src/Data/QRDataModeInterface.php', + 'chillerlan\\QRCode\\Data\\QRMatrix' => $vendorDir . '/chillerlan/php-qrcode/src/Data/QRMatrix.php', + 'chillerlan\\QRCode\\Data\\ReedSolomonEncoder' => $vendorDir . '/chillerlan/php-qrcode/src/Data/ReedSolomonEncoder.php', + 'chillerlan\\QRCode\\Decoder\\Binarizer' => $vendorDir . '/chillerlan/php-qrcode/src/Decoder/Binarizer.php', + 'chillerlan\\QRCode\\Decoder\\BitMatrix' => $vendorDir . '/chillerlan/php-qrcode/src/Decoder/BitMatrix.php', + 'chillerlan\\QRCode\\Decoder\\Decoder' => $vendorDir . '/chillerlan/php-qrcode/src/Decoder/Decoder.php', + 'chillerlan\\QRCode\\Decoder\\DecoderResult' => $vendorDir . '/chillerlan/php-qrcode/src/Decoder/DecoderResult.php', + 'chillerlan\\QRCode\\Decoder\\QRCodeDecoderException' => $vendorDir . '/chillerlan/php-qrcode/src/Decoder/QRCodeDecoderException.php', + 'chillerlan\\QRCode\\Decoder\\ReedSolomonDecoder' => $vendorDir . '/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php', + 'chillerlan\\QRCode\\Detector\\AlignmentPattern' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/AlignmentPattern.php', + 'chillerlan\\QRCode\\Detector\\AlignmentPatternFinder' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php', + 'chillerlan\\QRCode\\Detector\\Detector' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/Detector.php', + 'chillerlan\\QRCode\\Detector\\FinderPattern' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/FinderPattern.php', + 'chillerlan\\QRCode\\Detector\\FinderPatternFinder' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php', + 'chillerlan\\QRCode\\Detector\\GridSampler' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/GridSampler.php', + 'chillerlan\\QRCode\\Detector\\PerspectiveTransform' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php', + 'chillerlan\\QRCode\\Detector\\QRCodeDetectorException' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/QRCodeDetectorException.php', + 'chillerlan\\QRCode\\Detector\\ResultPoint' => $vendorDir . '/chillerlan/php-qrcode/src/Detector/ResultPoint.php', + 'chillerlan\\QRCode\\Output\\QRCodeOutputException' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRCodeOutputException.php', + 'chillerlan\\QRCode\\Output\\QREps' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QREps.php', + 'chillerlan\\QRCode\\Output\\QRFpdf' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRFpdf.php', + 'chillerlan\\QRCode\\Output\\QRGdImage' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRGdImage.php', + 'chillerlan\\QRCode\\Output\\QRGdImageBMP' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRGdImageBMP.php', + 'chillerlan\\QRCode\\Output\\QRGdImageGIF' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRGdImageGIF.php', + 'chillerlan\\QRCode\\Output\\QRGdImageJPEG' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRGdImageJPEG.php', + 'chillerlan\\QRCode\\Output\\QRGdImagePNG' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRGdImagePNG.php', + 'chillerlan\\QRCode\\Output\\QRGdImageWEBP' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRGdImageWEBP.php', + 'chillerlan\\QRCode\\Output\\QRImage' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRImage.php', + 'chillerlan\\QRCode\\Output\\QRImagick' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRImagick.php', + 'chillerlan\\QRCode\\Output\\QRMarkup' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRMarkup.php', + 'chillerlan\\QRCode\\Output\\QRMarkupHTML' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRMarkupHTML.php', + 'chillerlan\\QRCode\\Output\\QRMarkupSVG' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRMarkupSVG.php', + 'chillerlan\\QRCode\\Output\\QROutputAbstract' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QROutputAbstract.php', + 'chillerlan\\QRCode\\Output\\QROutputInterface' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QROutputInterface.php', + 'chillerlan\\QRCode\\Output\\QRString' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRString.php', + 'chillerlan\\QRCode\\Output\\QRStringJSON' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRStringJSON.php', + 'chillerlan\\QRCode\\Output\\QRStringText' => $vendorDir . '/chillerlan/php-qrcode/src/Output/QRStringText.php', + 'chillerlan\\QRCode\\QRCode' => $vendorDir . '/chillerlan/php-qrcode/src/QRCode.php', + 'chillerlan\\QRCode\\QRCodeException' => $vendorDir . '/chillerlan/php-qrcode/src/QRCodeException.php', + 'chillerlan\\QRCode\\QROptions' => $vendorDir . '/chillerlan/php-qrcode/src/QROptions.php', + 'chillerlan\\QRCode\\QROptionsTrait' => $vendorDir . '/chillerlan/php-qrcode/src/QROptionsTrait.php', + 'chillerlan\\Settings\\SettingsContainerAbstract' => $vendorDir . '/chillerlan/php-settings-container/src/SettingsContainerAbstract.php', + 'chillerlan\\Settings\\SettingsContainerInterface' => $vendorDir . '/chillerlan/php-settings-container/src/SettingsContainerInterface.php', ); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index c92ddda..3335a52 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -19,4 +19,15 @@ return array( 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), 'Composer\\Pcre\\' => array($vendorDir . '/composer/pcre/src'), 'Complex\\' => array($vendorDir . '/markbaker/complex/classes/src'), + 'Com\\Tecnick\\Unicode\\Data\\' => array($vendorDir . '/tecnickcom/tc-lib-unicode-data/src'), + 'Com\\Tecnick\\Unicode\\' => array($vendorDir . '/tecnickcom/tc-lib-unicode/src'), + 'Com\\Tecnick\\Pdf\\Page\\' => array($vendorDir . '/tecnickcom/tc-lib-pdf-page/src'), + 'Com\\Tecnick\\Pdf\\Image\\' => array($vendorDir . '/tecnickcom/tc-lib-pdf-image/src'), + 'Com\\Tecnick\\Pdf\\Graph\\' => array($vendorDir . '/tecnickcom/tc-lib-pdf-graph/src'), + 'Com\\Tecnick\\Pdf\\Font\\' => array($vendorDir . '/tecnickcom/tc-lib-pdf-font/src'), + 'Com\\Tecnick\\Pdf\\Encrypt\\' => array($vendorDir . '/tecnickcom/tc-lib-pdf-encrypt/src'), + 'Com\\Tecnick\\Pdf\\' => array($vendorDir . '/tecnickcom/tc-lib-pdf/src'), + 'Com\\Tecnick\\File\\' => array($vendorDir . '/tecnickcom/tc-lib-file/src'), + 'Com\\Tecnick\\Color\\' => array($vendorDir . '/tecnickcom/tc-lib-color/src'), + 'Com\\Tecnick\\Barcode\\' => array($vendorDir . '/tecnickcom/tc-lib-barcode/src'), ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index fd41717..7eae49f 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -43,6 +43,17 @@ class ComposerStaticInitab00f29709bdbfe3a1abd7d2d66d569c array ( 'Composer\\Pcre\\' => 14, 'Complex\\' => 8, + 'Com\\Tecnick\\Unicode\\Data\\' => 25, + 'Com\\Tecnick\\Unicode\\' => 20, + 'Com\\Tecnick\\Pdf\\Page\\' => 21, + 'Com\\Tecnick\\Pdf\\Image\\' => 22, + 'Com\\Tecnick\\Pdf\\Graph\\' => 22, + 'Com\\Tecnick\\Pdf\\Font\\' => 21, + 'Com\\Tecnick\\Pdf\\Encrypt\\' => 24, + 'Com\\Tecnick\\Pdf\\' => 16, + 'Com\\Tecnick\\File\\' => 17, + 'Com\\Tecnick\\Color\\' => 18, + 'Com\\Tecnick\\Barcode\\' => 20, ), ); @@ -100,10 +111,993 @@ class ComposerStaticInitab00f29709bdbfe3a1abd7d2d66d569c array ( 0 => __DIR__ . '/..' . '/markbaker/complex/classes/src', ), + 'Com\\Tecnick\\Unicode\\Data\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src', + ), + 'Com\\Tecnick\\Unicode\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src', + ), + 'Com\\Tecnick\\Pdf\\Page\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src', + ), + 'Com\\Tecnick\\Pdf\\Image\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src', + ), + 'Com\\Tecnick\\Pdf\\Graph\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src', + ), + 'Com\\Tecnick\\Pdf\\Font\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src', + ), + 'Com\\Tecnick\\Pdf\\Encrypt\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src', + ), + 'Com\\Tecnick\\Pdf\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src', + ), + 'Com\\Tecnick\\File\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-file/src', + ), + 'Com\\Tecnick\\Color\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src', + ), + 'Com\\Tecnick\\Barcode\\' => + array ( + 0 => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src', + ), ); public static $classMap = array ( + 'Com\\Tecnick\\Barcode\\Barcode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Barcode.php', + 'Com\\Tecnick\\Barcode\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Exception.php', + 'Com\\Tecnick\\Barcode\\Model' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Model.php', + 'Com\\Tecnick\\Barcode\\Type' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type.php', + 'Com\\Tecnick\\Barcode\\Type\\Convert' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Convert.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Codabar' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Codabar.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeNineThree' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeNineThree.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneOne' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneOne.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\CodeOneTwoEightA' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\CodeOneTwoEightB' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\CodeOneTwoEightC' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeOneTwoEight\\Process' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/Process.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNine' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNine.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNineCheck' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNineExt' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExt.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\CodeThreeNineExtCheck' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExtCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanEight' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanEight.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanFive' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanFive.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanOneThree' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanOneThree.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\EanTwo' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/EanTwo.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Imb' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Imb.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\ImbPre' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/ImbPre.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\InterleavedTwoOfFive' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFive.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\InterleavedTwoOfFiveCheck' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFiveCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\KlantIndex' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/KlantIndex.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Msi' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Msi.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\MsiCheck' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/MsiCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Pharma' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Pharma.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\PharmaTwoTracks' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/PharmaTwoTracks.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Planet' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Planet.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Postnet' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Postnet.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\Raw' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/Raw.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\RoyalMailFourCc' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/RoyalMailFourCc.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\StandardTwoOfFive' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFive.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\StandardTwoOfFiveCheck' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFiveCheck.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\UpcA' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcA.php', + 'Com\\Tecnick\\Barcode\\Type\\Linear\\UpcE' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcE.php', + 'Com\\Tecnick\\Barcode\\Type\\Raw' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Raw.php', + 'Com\\Tecnick\\Barcode\\Type\\Square' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Bitstream' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Bitstream.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Codeword' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Codeword.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Data' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Encode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Encode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\ErrorCorrection' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/ErrorCorrection.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Aztec\\Layers' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Layers.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Data' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Encode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Encode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\EncodeTxt' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/EncodeTxt.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\ErrorCorrection' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/ErrorCorrection.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Modes' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Modes.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Placement' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Placement.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Datamatrix\\Steps' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Steps.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven\\Compaction' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Compaction.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven\\Data' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\PdfFourOneSeven\\Sequence' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Sequence.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\ByteStream' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/ByteStream.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Data' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Data.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Encode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Encoder' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encoder.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\EncodingMode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/EncodingMode.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Estimate' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Estimate.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Init' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Init.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\InputItem' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/InputItem.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Mask' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Mask.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\MaskNum' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/MaskNum.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Spec' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Spec.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\SpecRs' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/SpecRs.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\QrCode\\Split' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Split.php', + 'Com\\Tecnick\\Barcode\\Type\\Square\\Raw' => __DIR__ . '/..' . '/tecnickcom/tc-lib-barcode/src/Type/Square/Raw.php', + 'Com\\Tecnick\\Color\\Css' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Css.php', + 'Com\\Tecnick\\Color\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Exception.php', + 'Com\\Tecnick\\Color\\Model' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Model.php', + 'Com\\Tecnick\\Color\\Model\\Cmyk' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Model/Cmyk.php', + 'Com\\Tecnick\\Color\\Model\\Gray' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Model/Gray.php', + 'Com\\Tecnick\\Color\\Model\\Hsl' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Model/Hsl.php', + 'Com\\Tecnick\\Color\\Model\\Rgb' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Model/Rgb.php', + 'Com\\Tecnick\\Color\\Model\\Template' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Model/Template.php', + 'Com\\Tecnick\\Color\\Pdf' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Pdf.php', + 'Com\\Tecnick\\Color\\Spot' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Spot.php', + 'Com\\Tecnick\\Color\\Web' => __DIR__ . '/..' . '/tecnickcom/tc-lib-color/src/Web.php', + 'Com\\Tecnick\\File\\Byte' => __DIR__ . '/..' . '/tecnickcom/tc-lib-file/src/Byte.php', + 'Com\\Tecnick\\File\\Cache' => __DIR__ . '/..' . '/tecnickcom/tc-lib-file/src/Cache.php', + 'Com\\Tecnick\\File\\Dir' => __DIR__ . '/..' . '/tecnickcom/tc-lib-file/src/Dir.php', + 'Com\\Tecnick\\File\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-file/src/Exception.php', + 'Com\\Tecnick\\File\\File' => __DIR__ . '/..' . '/tecnickcom/tc-lib-file/src/File.php', + 'Com\\Tecnick\\Pdf\\Base' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/Base.php', + 'Com\\Tecnick\\Pdf\\CSS' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/CSS.php', + 'Com\\Tecnick\\Pdf\\Cell' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/Cell.php', + 'Com\\Tecnick\\Pdf\\ClassObjects' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/ClassObjects.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Compute' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Compute.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Data' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Data.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Encrypt' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Encrypt.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Output' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Output.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AES' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AES.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AESSixteen' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESSixteen.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AESThirtytwo' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESThirtytwo.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\AESnopad' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESnopad.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\MDFiveSixteen' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/MDFiveSixteen.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\RCFour' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFour.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\RCFourFive' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourFive.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\RCFourSixteen' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourSixteen.php', + 'Com\\Tecnick\\Pdf\\Encrypt\\Type\\Seed' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-encrypt/src/Type/Seed.php', + 'Com\\Tecnick\\Pdf\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Font\\Buffer' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Buffer.php', + 'Com\\Tecnick\\Pdf\\Font\\Core' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Core.php', + 'Com\\Tecnick\\Pdf\\Font\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Font\\Font' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Font.php', + 'Com\\Tecnick\\Pdf\\Font\\Import' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Import.php', + 'Com\\Tecnick\\Pdf\\Font\\Import\\Core' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Import/Core.php', + 'Com\\Tecnick\\Pdf\\Font\\Import\\TrueType' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Import/TrueType.php', + 'Com\\Tecnick\\Pdf\\Font\\Import\\TypeOne' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Import/TypeOne.php', + 'Com\\Tecnick\\Pdf\\Font\\Load' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Load.php', + 'Com\\Tecnick\\Pdf\\Font\\OutFont' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/OutFont.php', + 'Com\\Tecnick\\Pdf\\Font\\OutUtil' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/OutUtil.php', + 'Com\\Tecnick\\Pdf\\Font\\Output' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Output.php', + 'Com\\Tecnick\\Pdf\\Font\\Stack' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Stack.php', + 'Com\\Tecnick\\Pdf\\Font\\Subset' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/Subset.php', + 'Com\\Tecnick\\Pdf\\Font\\UniToCid' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-font/src/UniToCid.php', + 'Com\\Tecnick\\Pdf\\Graph\\Base' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Base.php', + 'Com\\Tecnick\\Pdf\\Graph\\Draw' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Draw.php', + 'Com\\Tecnick\\Pdf\\Graph\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Graph\\Gradient' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Gradient.php', + 'Com\\Tecnick\\Pdf\\Graph\\Raw' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Raw.php', + 'Com\\Tecnick\\Pdf\\Graph\\Style' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Style.php', + 'Com\\Tecnick\\Pdf\\Graph\\Transform' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-graph/src/Transform.php', + 'Com\\Tecnick\\Pdf\\HTML' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/HTML.php', + 'Com\\Tecnick\\Pdf\\Image\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Image\\Import' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src/Import.php', + 'Com\\Tecnick\\Pdf\\Image\\Import\\ImageImportInterface' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src/Import/ImageImportInterface.php', + 'Com\\Tecnick\\Pdf\\Image\\Import\\Jpeg' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src/Import/Jpeg.php', + 'Com\\Tecnick\\Pdf\\Image\\Import\\Png' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src/Import/Png.php', + 'Com\\Tecnick\\Pdf\\Image\\Output' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-image/src/Output.php', + 'Com\\Tecnick\\Pdf\\JavaScript' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/JavaScript.php', + 'Com\\Tecnick\\Pdf\\MetaInfo' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/MetaInfo.php', + 'Com\\Tecnick\\Pdf\\Output' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/Output.php', + 'Com\\Tecnick\\Pdf\\Page\\Box' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Box.php', + 'Com\\Tecnick\\Pdf\\Page\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Exception.php', + 'Com\\Tecnick\\Pdf\\Page\\Format' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Format.php', + 'Com\\Tecnick\\Pdf\\Page\\Mode' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Mode.php', + 'Com\\Tecnick\\Pdf\\Page\\Page' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Page.php', + 'Com\\Tecnick\\Pdf\\Page\\Region' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Region.php', + 'Com\\Tecnick\\Pdf\\Page\\Settings' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf-page/src/Settings.php', + 'Com\\Tecnick\\Pdf\\SVG' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/SVG.php', + 'Com\\Tecnick\\Pdf\\Tcpdf' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/Tcpdf.php', + 'Com\\Tecnick\\Pdf\\Text' => __DIR__ . '/..' . '/tecnickcom/tc-lib-pdf/src/Text.php', + 'Com\\Tecnick\\Unicode\\Bidi' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi.php', + 'Com\\Tecnick\\Unicode\\Bidi\\Shaping' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/Shaping.php', + 'Com\\Tecnick\\Unicode\\Bidi\\Shaping\\Arabic' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/Shaping/Arabic.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepBase' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepBase.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepI' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepI.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepL' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepL.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepN' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepN.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepP' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepP.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepW' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepW.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepX' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepX.php', + 'Com\\Tecnick\\Unicode\\Bidi\\StepXten' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Bidi/StepXten.php', + 'Com\\Tecnick\\Unicode\\Convert' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Convert.php', + 'Com\\Tecnick\\Unicode\\Convert\\Encoding' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Convert/Encoding.php', + 'Com\\Tecnick\\Unicode\\Data\\Arabic' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Arabic.php', + 'Com\\Tecnick\\Unicode\\Data\\Bracket' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Bracket.php', + 'Com\\Tecnick\\Unicode\\Data\\Constant' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Constant.php', + 'Com\\Tecnick\\Unicode\\Data\\Encoding' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Encoding.php', + 'Com\\Tecnick\\Unicode\\Data\\Identity' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Identity.php', + 'Com\\Tecnick\\Unicode\\Data\\Latin' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Latin.php', + 'Com\\Tecnick\\Unicode\\Data\\Mirror' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Mirror.php', + 'Com\\Tecnick\\Unicode\\Data\\Pattern' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Pattern.php', + 'Com\\Tecnick\\Unicode\\Data\\Type' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode-data/src/Type.php', + 'Com\\Tecnick\\Unicode\\Exception' => __DIR__ . '/..' . '/tecnickcom/tc-lib-unicode/src/Exception.php', + 'Complex\\Complex' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Complex.php', + 'Complex\\Exception' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Exception.php', + 'Complex\\Functions' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Functions.php', + 'Complex\\Operations' => __DIR__ . '/..' . '/markbaker/complex/classes/src/Operations.php', 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Composer\\Pcre\\MatchAllResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchAllResult.php', + 'Composer\\Pcre\\MatchAllStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchAllStrictGroupsResult.php', + 'Composer\\Pcre\\MatchAllWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchAllWithOffsetsResult.php', + 'Composer\\Pcre\\MatchResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchResult.php', + 'Composer\\Pcre\\MatchStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchStrictGroupsResult.php', + 'Composer\\Pcre\\MatchWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchWithOffsetsResult.php', + 'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php', + 'Composer\\Pcre\\PHPStan\\PregMatchFlags' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchFlags.php', + 'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php', + 'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php', + 'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php', + 'Composer\\Pcre\\PcreException' => __DIR__ . '/..' . '/composer/pcre/src/PcreException.php', + 'Composer\\Pcre\\Preg' => __DIR__ . '/..' . '/composer/pcre/src/Preg.php', + 'Composer\\Pcre\\Regex' => __DIR__ . '/..' . '/composer/pcre/src/Regex.php', + 'Composer\\Pcre\\ReplaceResult' => __DIR__ . '/..' . '/composer/pcre/src/ReplaceResult.php', + 'Composer\\Pcre\\UnexpectedNullMatchException' => __DIR__ . '/..' . '/composer/pcre/src/UnexpectedNullMatchException.php', + 'Datamatrix' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php', + 'GuzzleHttp\\BodySummarizer' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizer.php', + 'GuzzleHttp\\BodySummarizerInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/BodySummarizerInterface.php', + 'GuzzleHttp\\Client' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Client.php', + 'GuzzleHttp\\ClientInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientInterface.php', + 'GuzzleHttp\\ClientTrait' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/ClientTrait.php', + 'GuzzleHttp\\Cookie\\CookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJar.php', + 'GuzzleHttp\\Cookie\\CookieJarInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php', + 'GuzzleHttp\\Cookie\\FileCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php', + 'GuzzleHttp\\Cookie\\SessionCookieJar' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php', + 'GuzzleHttp\\Cookie\\SetCookie' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Cookie/SetCookie.php', + 'GuzzleHttp\\Exception\\BadResponseException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/BadResponseException.php', + 'GuzzleHttp\\Exception\\ClientException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ClientException.php', + 'GuzzleHttp\\Exception\\ConnectException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ConnectException.php', + 'GuzzleHttp\\Exception\\GuzzleException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/GuzzleException.php', + 'GuzzleHttp\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php', + 'GuzzleHttp\\Exception\\RequestException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/RequestException.php', + 'GuzzleHttp\\Exception\\ServerException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/ServerException.php', + 'GuzzleHttp\\Exception\\TooManyRedirectsException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php', + 'GuzzleHttp\\Exception\\TransferException' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Exception/TransferException.php', + 'GuzzleHttp\\HandlerStack' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/HandlerStack.php', + 'GuzzleHttp\\Handler\\CurlFactory' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactory.php', + 'GuzzleHttp\\Handler\\CurlFactoryInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php', + 'GuzzleHttp\\Handler\\CurlHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlHandler.php', + 'GuzzleHttp\\Handler\\CurlMultiHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php', + 'GuzzleHttp\\Handler\\EasyHandle' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/EasyHandle.php', + 'GuzzleHttp\\Handler\\HeaderProcessor' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php', + 'GuzzleHttp\\Handler\\MockHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/MockHandler.php', + 'GuzzleHttp\\Handler\\Proxy' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/Proxy.php', + 'GuzzleHttp\\Handler\\StreamHandler' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Handler/StreamHandler.php', + 'GuzzleHttp\\MessageFormatter' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatter.php', + 'GuzzleHttp\\MessageFormatterInterface' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/MessageFormatterInterface.php', + 'GuzzleHttp\\Middleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Middleware.php', + 'GuzzleHttp\\Pool' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Pool.php', + 'GuzzleHttp\\PrepareBodyMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php', + 'GuzzleHttp\\Promise\\AggregateException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/AggregateException.php', + 'GuzzleHttp\\Promise\\CancellationException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/CancellationException.php', + 'GuzzleHttp\\Promise\\Coroutine' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Coroutine.php', + 'GuzzleHttp\\Promise\\Create' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Create.php', + 'GuzzleHttp\\Promise\\Each' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Each.php', + 'GuzzleHttp\\Promise\\EachPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/EachPromise.php', + 'GuzzleHttp\\Promise\\FulfilledPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/FulfilledPromise.php', + 'GuzzleHttp\\Promise\\Is' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Is.php', + 'GuzzleHttp\\Promise\\Promise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Promise.php', + 'GuzzleHttp\\Promise\\PromiseInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromiseInterface.php', + 'GuzzleHttp\\Promise\\PromisorInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/PromisorInterface.php', + 'GuzzleHttp\\Promise\\RejectedPromise' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectedPromise.php', + 'GuzzleHttp\\Promise\\RejectionException' => __DIR__ . '/..' . '/guzzlehttp/promises/src/RejectionException.php', + 'GuzzleHttp\\Promise\\TaskQueue' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueue.php', + 'GuzzleHttp\\Promise\\TaskQueueInterface' => __DIR__ . '/..' . '/guzzlehttp/promises/src/TaskQueueInterface.php', + 'GuzzleHttp\\Promise\\Utils' => __DIR__ . '/..' . '/guzzlehttp/promises/src/Utils.php', + 'GuzzleHttp\\Psr7\\AppendStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/AppendStream.php', + 'GuzzleHttp\\Psr7\\BufferStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/BufferStream.php', + 'GuzzleHttp\\Psr7\\CachingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/CachingStream.php', + 'GuzzleHttp\\Psr7\\DroppingStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/DroppingStream.php', + 'GuzzleHttp\\Psr7\\Exception\\MalformedUriException' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Exception/MalformedUriException.php', + 'GuzzleHttp\\Psr7\\FnStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/FnStream.php', + 'GuzzleHttp\\Psr7\\Header' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Header.php', + 'GuzzleHttp\\Psr7\\HttpFactory' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/HttpFactory.php', + 'GuzzleHttp\\Psr7\\InflateStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/InflateStream.php', + 'GuzzleHttp\\Psr7\\LazyOpenStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LazyOpenStream.php', + 'GuzzleHttp\\Psr7\\LimitStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/LimitStream.php', + 'GuzzleHttp\\Psr7\\Message' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Message.php', + 'GuzzleHttp\\Psr7\\MessageTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MessageTrait.php', + 'GuzzleHttp\\Psr7\\MimeType' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MimeType.php', + 'GuzzleHttp\\Psr7\\MultipartStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/MultipartStream.php', + 'GuzzleHttp\\Psr7\\NoSeekStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/NoSeekStream.php', + 'GuzzleHttp\\Psr7\\PumpStream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/PumpStream.php', + 'GuzzleHttp\\Psr7\\Query' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Query.php', + 'GuzzleHttp\\Psr7\\Request' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Request.php', + 'GuzzleHttp\\Psr7\\Response' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Response.php', + 'GuzzleHttp\\Psr7\\Rfc7230' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Rfc7230.php', + 'GuzzleHttp\\Psr7\\ServerRequest' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/ServerRequest.php', + 'GuzzleHttp\\Psr7\\Stream' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Stream.php', + 'GuzzleHttp\\Psr7\\StreamDecoratorTrait' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamDecoratorTrait.php', + 'GuzzleHttp\\Psr7\\StreamWrapper' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/StreamWrapper.php', + 'GuzzleHttp\\Psr7\\UploadedFile' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UploadedFile.php', + 'GuzzleHttp\\Psr7\\Uri' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Uri.php', + 'GuzzleHttp\\Psr7\\UriComparator' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriComparator.php', + 'GuzzleHttp\\Psr7\\UriNormalizer' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriNormalizer.php', + 'GuzzleHttp\\Psr7\\UriResolver' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/UriResolver.php', + 'GuzzleHttp\\Psr7\\Utils' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/Utils.php', + 'GuzzleHttp\\RedirectMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RedirectMiddleware.php', + 'GuzzleHttp\\RequestOptions' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RequestOptions.php', + 'GuzzleHttp\\RetryMiddleware' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/RetryMiddleware.php', + 'GuzzleHttp\\TransferStats' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/TransferStats.php', + 'GuzzleHttp\\Utils' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/Utils.php', + 'Matrix\\Builder' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Builder.php', + 'Matrix\\Decomposition\\Decomposition' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Decomposition/Decomposition.php', + 'Matrix\\Decomposition\\LU' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Decomposition/LU.php', + 'Matrix\\Decomposition\\QR' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Decomposition/QR.php', + 'Matrix\\Div0Exception' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Div0Exception.php', + 'Matrix\\Exception' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Exception.php', + 'Matrix\\Functions' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Functions.php', + 'Matrix\\Matrix' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Matrix.php', + 'Matrix\\Operations' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operations.php', + 'Matrix\\Operators\\Addition' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Addition.php', + 'Matrix\\Operators\\DirectSum' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/DirectSum.php', + 'Matrix\\Operators\\Division' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Division.php', + 'Matrix\\Operators\\Multiplication' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Multiplication.php', + 'Matrix\\Operators\\Operator' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Operator.php', + 'Matrix\\Operators\\Subtraction' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/Operators/Subtraction.php', + 'PDF417' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/pdf417.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ArrayEnabled' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ArrayEnabled.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\BinaryComparison' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/BinaryComparison.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Calculation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\CalculationBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\CalculationLocale' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationLocale.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Category' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Category.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DAverage' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DAverage.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCount' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCount.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCountA' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCountA.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DGet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DGet.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMax' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMax.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMin' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMin.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DProduct' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DProduct.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDev' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDev.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDevP' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDevP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DSum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVar' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVarP' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVarP.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DatabaseAbstract' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Constants' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Current' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Current.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Date' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateParts' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days360' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days360.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Difference' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Difference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Month' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Month.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\NetworkDays' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/NetworkDays.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Time' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeParts' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeParts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Week' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Week.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\WorkDay' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/WorkDay.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\YearFrac' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/YearFrac.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentProcessor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\BranchPruner' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\CyclicReferenceStack' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\FormattedNumber' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/FormattedNumber.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Logger' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Logger.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\Operand' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/Operand.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\StructuredReference' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/StructuredReference.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselI' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselI.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselJ' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselK' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselK.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselY' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselY.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BitWise' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BitWise.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Compare' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Compare.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Complex' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Complex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexFunctions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexOperations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexOperations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Constants' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBinary' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBinary.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertDecimal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertDecimal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertHex' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertHex.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertOctal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertOctal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertUOM' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\EngineeringValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/EngineeringValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Erf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Erf.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ErfC' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ErfC.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\ExceptionHandler' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ExceptionHandler.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Amortization' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Amortization.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\CashFlowValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Cumulative' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Cumulative.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Interest' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\InterestAndPrincipal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Payments' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Payments.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Single' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Single.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\NonPeriodic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/NonPeriodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\Periodic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/Periodic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Constants' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Constants.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Coupons' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Coupons.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Depreciation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Depreciation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Dollar' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Dollar.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\FinancialValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/FinancialValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\InterestRate' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/InterestRate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\AccruedInterest' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/AccruedInterest.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Price' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Price.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Rates' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Rates.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\SecurityValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/SecurityValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Yields' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Yields.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\TreasuryBill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/TreasuryBill.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaParser' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaParser.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaToken' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\FunctionArray' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FunctionArray.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Functions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Functions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ErrorValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ErrorValue.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ExcelError' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ExcelError.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\Value' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/Value.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\ExcelArrayPseudoFunctions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/ExcelArrayPseudoFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\MakeMatrix' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/MakeMatrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\WildcardMatch' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/WildcardMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Boolean' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Boolean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Conditional' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Operations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Address' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Address.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ChooseRowsEtc' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ChooseRowsEtc.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ExcelMatch' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Filter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Filter.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Formula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\HLookup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/HLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hstack' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hstack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hyperlink' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Indirect' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Indirect.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Lookup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupRefValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupRefValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Matrix' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Offset' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Offset.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\RowColumnInformation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Selection' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Selection.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Sort' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\TorowTocol' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/TorowTocol.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Unique' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Unique.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\VLookup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Vstack' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Vstack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Absolute' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Absolute.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Angle' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Angle.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Arabic' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Base' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Base.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Ceiling' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Ceiling.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Combinations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Combinations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Exp' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Exp.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Factorial' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Factorial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Floor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Floor.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Gcd' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Gcd.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\IntClass' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/IntClass.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Lcm' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Lcm.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Logarithms' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Logarithms.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\MatrixFunctions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/MatrixFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Operations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Operations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Random' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Random.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Roman' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Roman.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Round' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SeriesSum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SeriesSum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sign' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sign.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sqrt' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sqrt.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Subtotal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Subtotal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SumSquares' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SumSquares.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosecant' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosine' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cotangent' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Secant' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Sine' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Tangent' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trunc' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trunc.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\AggregateBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages\\Mean' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages/Mean.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Conditional' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Confidence' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Confidence.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Counts' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Counts.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Deviations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Deviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Beta' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Binomial' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Binomial.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\ChiSquared' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\DistributionValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/DistributionValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Exponential' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Exponential.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\F' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/F.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Fisher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Fisher.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Gamma' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Gamma.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\GammaBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\HyperGeometric' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/HyperGeometric.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\LogNormal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/LogNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\NewtonRaphson' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Normal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Poisson' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Poisson.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StandardNormal' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StandardNormal.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StudentT' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StudentT.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Weibull' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Weibull.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\MaxMinBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Maximum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Maximum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Minimum' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Minimum.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Percentiles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Permutations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Permutations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Size' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StandardDeviations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StandardDeviations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Standardize' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Standardize.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StatisticalValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StatisticalValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Trends' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Trends.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\VarianceBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Variances' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Variances.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CaseConvert' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CaseConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CharacterConvert' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CharacterConvert.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Concatenate' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Concatenate.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Extract' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Extract.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Format' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Format.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Helpers' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Helpers.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Replace' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Replace.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Search' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Search.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Text' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Text.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Trim' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Trim.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Token\\Stack' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Token/Stack.php', + 'PhpOffice\\PhpSpreadsheet\\Calculation\\Web\\Service' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web/Service.php', + 'PhpOffice\\PhpSpreadsheet\\CellReferenceHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/CellReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AddressRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\AdvancedValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AdvancedValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Cell' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellAddress' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellAddress.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\CellRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\ColumnRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/ColumnRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Coordinate' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Coordinate.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataType' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataType.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidator.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\Hyperlink' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Hyperlink.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\IgnoredErrors' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IgnoredErrors.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\RowRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/RowRange.php', + 'PhpOffice\\PhpSpreadsheet\\Cell\\StringValueBinder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/StringValueBinder.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Axis' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Axis.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\AxisText' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/AxisText.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Chart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\ChartColor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/ChartColor.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeries' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeries.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeriesValues' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\GridLines' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/GridLines.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Layout' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Layout.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Legend' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Legend.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\PlotArea' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/PlotArea.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\IRenderer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/IRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraph' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraph.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraphRendererBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraphRendererBase.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\MtJpGraphRenderer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/MtJpGraphRenderer.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\Title' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Title.php', + 'PhpOffice\\PhpSpreadsheet\\Chart\\TrendLine' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/TrendLine.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Cells' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\CellsFactory' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/CellsFactory.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache1' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache1.php', + 'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache3' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache3.php', + 'PhpOffice\\PhpSpreadsheet\\Comment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\DefinedName' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/DefinedName.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Document\\Security' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php', + 'PhpOffice\\PhpSpreadsheet\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\HashTable' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/HashTable.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Dimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Downloader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Downloader.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Handler' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Handler.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Html' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Sample' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Sample.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\Size' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Size.php', + 'PhpOffice\\PhpSpreadsheet\\Helper\\TextGrid' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/TextGrid.php', + 'PhpOffice\\PhpSpreadsheet\\IComparable' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IComparable.php', + 'PhpOffice\\PhpSpreadsheet\\IOFactory' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php', + 'PhpOffice\\PhpSpreadsheet\\NamedFormula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\NamedRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedRange.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\BaseReader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/BaseReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Csv\\Delimiter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv/Delimiter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\DefaultReadFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/DefaultReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\PageSetup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Styles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Html' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReadFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\IReader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\BaseLoader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/BaseLoader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\DefinedNames' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\FormulaTranslator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/FormulaTranslator.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\PageSettings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Security\\XmlScanner' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Security/XmlScanner.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Slk' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\XlsBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/XlsBase.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Biff5' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Biff5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Biff8' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Biff8.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF5' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF8' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF8.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BuiltIn' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BuiltIn.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ConditionalFormatting' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ConditionalFormatting.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\DataValidationHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/DataValidationHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ErrorCode' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Escher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ListFunctions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ListFunctions.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\LoadSpreadsheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/LoadSpreadsheet.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\MD5' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/MD5.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Mappings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Mappings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\RC4' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/RC4.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\Border' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellAlignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellFont' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellFont.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\FillPattern' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/FillPattern.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\BaseParserClass' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Chart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ColumnAndRowAttributes' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ConditionalStyles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\DataValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Hyperlinks' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Namespaces' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Namespaces.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\PageSetup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SharedFormula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SharedFormula.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViewOptions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViews' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViews.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Styles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\TableReader' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/TableReader.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Theme' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\WorkbookView' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/WorkbookView.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\DataValidations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/DataValidations.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\PageSettings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/PageSettings.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Properties' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Properties.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Alignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Border' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Fill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\NumberFormat' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\StyleBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/StyleBase.php', + 'PhpOffice\\PhpSpreadsheet\\ReferenceHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\ITextElement' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\RichText' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\Run' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php', + 'PhpOffice\\PhpSpreadsheet\\RichText\\TextElement' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php', + 'PhpOffice\\PhpSpreadsheet\\Settings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\CodePage' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/CodePage.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Date' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Drawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer\\SpContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE\\Blip' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\File' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\IntOrFloat' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/IntOrFloat.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLERead' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLERead.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\ChainedBlockStream' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/ChainedBlockStream.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\File' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/File.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\Root' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/Root.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\PasswordHasher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\StringHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\TimeZone' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/TimeZone.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\BestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/BestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\ExponentialBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/ExponentialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LinearBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LinearBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LogarithmicBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LogarithmicBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PolynomialBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PowerBestFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PowerBestFit.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\Trend' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/Trend.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\XMLWriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Shared\\Xls' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Spreadsheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Alignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Border' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Border.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Borders' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Borders.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Color' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Color.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Conditional' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellMatcher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellMatcher.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellStyleAssessor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellStyleAssessor.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalColorScale' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalColorScale.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBar' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBarExtension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormatValueObject' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormattingRuleExtension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalIconSet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalIconSet.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\IconSetValues' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/IconSetValues.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\StyleMerger' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/StyleMerger.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Blanks' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Blanks.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\CellValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/CellValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\DateValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/DateValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Duplicates' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Duplicates.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Errors' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Errors.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Expression' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Expression.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\TextValue' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/TextValue.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardAbstract' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardAbstract.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardInterface' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardInterface.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Fill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Fill.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\BaseFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/BaseFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\DateFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Formatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\FractionFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/FractionFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\NumberFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/NumberFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\PercentageFormatter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Accounting' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Accounting.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Currency' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Currency.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\CurrencyBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/CurrencyBase.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\CurrencyNegative' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/CurrencyNegative.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Date' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Date.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTime' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTime.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTimeWizard' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTimeWizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Duration' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Duration.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Locale' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Number' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Number.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\NumberBase' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/NumberBase.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Percentage' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Percentage.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Scientific' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Scientific.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Time' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Time.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Wizard' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Wizard.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Protection' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\RgbTint' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/RgbTint.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Supervisor.php', + 'PhpOffice\\PhpSpreadsheet\\Theme' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column\\Rule' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFit' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFit.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\CellIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/CellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Column' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnCellIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnDimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Dimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Dimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing\\Shadow' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing/Shadow.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooter.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooterDrawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooterDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Iterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Iterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\MemoryDrawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/MemoryDrawing.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageBreak' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageBreak.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageMargins' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageMargins.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageSetup' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageSetup.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Pane' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Pane.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\ProtectedRange' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ProtectedRange.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Protection' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Protection.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Row' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Row.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowCellIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowCellIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowDimension' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowIterator' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowIterator.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\SheetView' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/SheetView.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\Column' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/Column.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableDxfsStyle' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableDxfsStyle.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableStyle' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableStyle.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Validations' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Validations.php', + 'PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\BaseWriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Csv' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Csv.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Exception' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Exception.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Html' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\IWriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/IWriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\AutoFilters' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/AutoFilters.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Comment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Comment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Content' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Formula' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Formula.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Meta' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Meta.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\MetaInf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/MetaInf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Mimetype' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Mimetype.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\NamedExpressions' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/NamedExpressions.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Settings' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Styles' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Styles.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Thumbnails' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Thumbnails.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\WriterPart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Dompdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Mpdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Tcpdf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\TcpdfNoDie' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/TcpdfNoDie.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\BIFFwriter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/BIFFwriter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\CellDataValidation' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/CellDataValidation.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ConditionalHelper' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ConditionalHelper.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ErrorCode' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Escher' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Escher.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Font' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Font.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Parser' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Parser.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellAlignment' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellAlignment.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellBorder' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellBorder.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellFill' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellFill.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Workbook' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Worksheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Xf' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\AutoFilter' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/AutoFilter.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Chart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Chart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Comments' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Comments.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\ContentTypes' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DefinedNames' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DefinedNames.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DocProps' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DocProps.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Drawing' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\FunctionPrefix' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Metadata' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Metadata.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Rels' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsRibbon' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsRibbon.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsVBA' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsVBA.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\StringTable' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Style' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Table' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Table.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Theme' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Theme.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Workbook' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Worksheet' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/WriterPart.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream0' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream0.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream2' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream2.php', + 'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream3' => __DIR__ . '/..' . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream3.php', + 'Psr\\Http\\Client\\ClientExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientExceptionInterface.php', + 'Psr\\Http\\Client\\ClientInterface' => __DIR__ . '/..' . '/psr/http-client/src/ClientInterface.php', + 'Psr\\Http\\Client\\NetworkExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/NetworkExceptionInterface.php', + 'Psr\\Http\\Client\\RequestExceptionInterface' => __DIR__ . '/..' . '/psr/http-client/src/RequestExceptionInterface.php', + 'Psr\\Http\\Message\\MessageInterface' => __DIR__ . '/..' . '/psr/http-message/src/MessageInterface.php', + 'Psr\\Http\\Message\\RequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/RequestFactoryInterface.php', + 'Psr\\Http\\Message\\RequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/RequestInterface.php', + 'Psr\\Http\\Message\\ResponseFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ResponseFactoryInterface.php', + 'Psr\\Http\\Message\\ResponseInterface' => __DIR__ . '/..' . '/psr/http-message/src/ResponseInterface.php', + 'Psr\\Http\\Message\\ServerRequestFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/ServerRequestFactoryInterface.php', + 'Psr\\Http\\Message\\ServerRequestInterface' => __DIR__ . '/..' . '/psr/http-message/src/ServerRequestInterface.php', + 'Psr\\Http\\Message\\StreamFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/StreamFactoryInterface.php', + 'Psr\\Http\\Message\\StreamInterface' => __DIR__ . '/..' . '/psr/http-message/src/StreamInterface.php', + 'Psr\\Http\\Message\\UploadedFileFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UploadedFileFactoryInterface.php', + 'Psr\\Http\\Message\\UploadedFileInterface' => __DIR__ . '/..' . '/psr/http-message/src/UploadedFileInterface.php', + 'Psr\\Http\\Message\\UriFactoryInterface' => __DIR__ . '/..' . '/psr/http-factory/src/UriFactoryInterface.php', + 'Psr\\Http\\Message\\UriInterface' => __DIR__ . '/..' . '/psr/http-message/src/UriInterface.php', + 'Psr\\SimpleCache\\CacheException' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheException.php', + 'Psr\\SimpleCache\\CacheInterface' => __DIR__ . '/..' . '/psr/simple-cache/src/CacheInterface.php', + 'Psr\\SimpleCache\\InvalidArgumentException' => __DIR__ . '/..' . '/psr/simple-cache/src/InvalidArgumentException.php', + 'QRcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/qrcode.php', + 'TCPDF' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf.php', + 'TCPDF2DBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php', + 'TCPDFBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php', + 'TCPDF_COLORS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_colors.php', + 'TCPDF_FILTERS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_filters.php', + 'TCPDF_FONTS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_fonts.php', + 'TCPDF_FONT_DATA' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_font_data.php', + 'TCPDF_IMAGES' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_images.php', + 'TCPDF_STATIC' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_static.php', + 'ZipStream\\CentralDirectoryFileHeader' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/CentralDirectoryFileHeader.php', + 'ZipStream\\CompressionMethod' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/CompressionMethod.php', + 'ZipStream\\DataDescriptor' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/DataDescriptor.php', + 'ZipStream\\EndOfCentralDirectory' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/EndOfCentralDirectory.php', + 'ZipStream\\Exception' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception.php', + 'ZipStream\\Exception\\DosTimeOverflowException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/DosTimeOverflowException.php', + 'ZipStream\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/FileNotFoundException.php', + 'ZipStream\\Exception\\FileNotReadableException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/FileNotReadableException.php', + 'ZipStream\\Exception\\FileSizeIncorrectException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/FileSizeIncorrectException.php', + 'ZipStream\\Exception\\OverflowException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/OverflowException.php', + 'ZipStream\\Exception\\ResourceActionException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/ResourceActionException.php', + 'ZipStream\\Exception\\SimulationFileUnknownException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/SimulationFileUnknownException.php', + 'ZipStream\\Exception\\StreamNotReadableException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/StreamNotReadableException.php', + 'ZipStream\\Exception\\StreamNotSeekableException' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Exception/StreamNotSeekableException.php', + 'ZipStream\\File' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/File.php', + 'ZipStream\\GeneralPurposeBitFlag' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/GeneralPurposeBitFlag.php', + 'ZipStream\\LocalFileHeader' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/LocalFileHeader.php', + 'ZipStream\\OperationMode' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/OperationMode.php', + 'ZipStream\\PackField' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/PackField.php', + 'ZipStream\\Time' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Time.php', + 'ZipStream\\Version' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Version.php', + 'ZipStream\\Zip64\\DataDescriptor' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/DataDescriptor.php', + 'ZipStream\\Zip64\\EndOfCentralDirectory' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectory.php', + 'ZipStream\\Zip64\\EndOfCentralDirectoryLocator' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/EndOfCentralDirectoryLocator.php', + 'ZipStream\\Zip64\\ExtendedInformationExtraField' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zip64/ExtendedInformationExtraField.php', + 'ZipStream\\ZipStream' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/ZipStream.php', + 'ZipStream\\Zs\\ExtendedInformationExtraField' => __DIR__ . '/..' . '/maennchen/zipstream-php/src/Zs/ExtendedInformationExtraField.php', + 'chillerlan\\QRCode\\Common\\BitBuffer' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/BitBuffer.php', + 'chillerlan\\QRCode\\Common\\ECICharset' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/ECICharset.php', + 'chillerlan\\QRCode\\Common\\EccLevel' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/EccLevel.php', + 'chillerlan\\QRCode\\Common\\GDLuminanceSource' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/GDLuminanceSource.php', + 'chillerlan\\QRCode\\Common\\GF256' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/GF256.php', + 'chillerlan\\QRCode\\Common\\GenericGFPoly' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/GenericGFPoly.php', + 'chillerlan\\QRCode\\Common\\IMagickLuminanceSource' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/IMagickLuminanceSource.php', + 'chillerlan\\QRCode\\Common\\LuminanceSourceAbstract' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/LuminanceSourceAbstract.php', + 'chillerlan\\QRCode\\Common\\LuminanceSourceInterface' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/LuminanceSourceInterface.php', + 'chillerlan\\QRCode\\Common\\MaskPattern' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/MaskPattern.php', + 'chillerlan\\QRCode\\Common\\Mode' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/Mode.php', + 'chillerlan\\QRCode\\Common\\Version' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Common/Version.php', + 'chillerlan\\QRCode\\Data\\AlphaNum' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/AlphaNum.php', + 'chillerlan\\QRCode\\Data\\Byte' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/Byte.php', + 'chillerlan\\QRCode\\Data\\ECI' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/ECI.php', + 'chillerlan\\QRCode\\Data\\Hanzi' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/Hanzi.php', + 'chillerlan\\QRCode\\Data\\Kanji' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/Kanji.php', + 'chillerlan\\QRCode\\Data\\Number' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/Number.php', + 'chillerlan\\QRCode\\Data\\QRCodeDataException' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/QRCodeDataException.php', + 'chillerlan\\QRCode\\Data\\QRData' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/QRData.php', + 'chillerlan\\QRCode\\Data\\QRDataModeAbstract' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/QRDataModeAbstract.php', + 'chillerlan\\QRCode\\Data\\QRDataModeInterface' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/QRDataModeInterface.php', + 'chillerlan\\QRCode\\Data\\QRMatrix' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/QRMatrix.php', + 'chillerlan\\QRCode\\Data\\ReedSolomonEncoder' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Data/ReedSolomonEncoder.php', + 'chillerlan\\QRCode\\Decoder\\Binarizer' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Decoder/Binarizer.php', + 'chillerlan\\QRCode\\Decoder\\BitMatrix' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Decoder/BitMatrix.php', + 'chillerlan\\QRCode\\Decoder\\Decoder' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Decoder/Decoder.php', + 'chillerlan\\QRCode\\Decoder\\DecoderResult' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Decoder/DecoderResult.php', + 'chillerlan\\QRCode\\Decoder\\QRCodeDecoderException' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Decoder/QRCodeDecoderException.php', + 'chillerlan\\QRCode\\Decoder\\ReedSolomonDecoder' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Decoder/ReedSolomonDecoder.php', + 'chillerlan\\QRCode\\Detector\\AlignmentPattern' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/AlignmentPattern.php', + 'chillerlan\\QRCode\\Detector\\AlignmentPatternFinder' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/AlignmentPatternFinder.php', + 'chillerlan\\QRCode\\Detector\\Detector' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/Detector.php', + 'chillerlan\\QRCode\\Detector\\FinderPattern' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/FinderPattern.php', + 'chillerlan\\QRCode\\Detector\\FinderPatternFinder' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/FinderPatternFinder.php', + 'chillerlan\\QRCode\\Detector\\GridSampler' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/GridSampler.php', + 'chillerlan\\QRCode\\Detector\\PerspectiveTransform' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/PerspectiveTransform.php', + 'chillerlan\\QRCode\\Detector\\QRCodeDetectorException' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/QRCodeDetectorException.php', + 'chillerlan\\QRCode\\Detector\\ResultPoint' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Detector/ResultPoint.php', + 'chillerlan\\QRCode\\Output\\QRCodeOutputException' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRCodeOutputException.php', + 'chillerlan\\QRCode\\Output\\QREps' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QREps.php', + 'chillerlan\\QRCode\\Output\\QRFpdf' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRFpdf.php', + 'chillerlan\\QRCode\\Output\\QRGdImage' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRGdImage.php', + 'chillerlan\\QRCode\\Output\\QRGdImageBMP' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRGdImageBMP.php', + 'chillerlan\\QRCode\\Output\\QRGdImageGIF' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRGdImageGIF.php', + 'chillerlan\\QRCode\\Output\\QRGdImageJPEG' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRGdImageJPEG.php', + 'chillerlan\\QRCode\\Output\\QRGdImagePNG' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRGdImagePNG.php', + 'chillerlan\\QRCode\\Output\\QRGdImageWEBP' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRGdImageWEBP.php', + 'chillerlan\\QRCode\\Output\\QRImage' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRImage.php', + 'chillerlan\\QRCode\\Output\\QRImagick' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRImagick.php', + 'chillerlan\\QRCode\\Output\\QRMarkup' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRMarkup.php', + 'chillerlan\\QRCode\\Output\\QRMarkupHTML' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRMarkupHTML.php', + 'chillerlan\\QRCode\\Output\\QRMarkupSVG' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRMarkupSVG.php', + 'chillerlan\\QRCode\\Output\\QROutputAbstract' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QROutputAbstract.php', + 'chillerlan\\QRCode\\Output\\QROutputInterface' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QROutputInterface.php', + 'chillerlan\\QRCode\\Output\\QRString' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRString.php', + 'chillerlan\\QRCode\\Output\\QRStringJSON' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRStringJSON.php', + 'chillerlan\\QRCode\\Output\\QRStringText' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/Output/QRStringText.php', + 'chillerlan\\QRCode\\QRCode' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/QRCode.php', + 'chillerlan\\QRCode\\QRCodeException' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/QRCodeException.php', + 'chillerlan\\QRCode\\QROptions' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/QROptions.php', + 'chillerlan\\QRCode\\QROptionsTrait' => __DIR__ . '/..' . '/chillerlan/php-qrcode/src/QROptionsTrait.php', + 'chillerlan\\Settings\\SettingsContainerAbstract' => __DIR__ . '/..' . '/chillerlan/php-settings-container/src/SettingsContainerAbstract.php', + 'chillerlan\\Settings\\SettingsContainerInterface' => __DIR__ . '/..' . '/chillerlan/php-settings-container/src/SettingsContainerInterface.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index c253766..8477574 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -2,43 +2,46 @@ "packages": [ { "name": "chillerlan/php-qrcode", - "version": "5.0.1", - "version_normalized": "5.0.1.0", + "version": "5.0.4", + "version_normalized": "5.0.4.0", "source": { "type": "git", "url": "https://github.com/chillerlan/php-qrcode.git", - "reference": "e81ed39ca3c94357aa021c7525fa9ffb451018d1" + "reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/e81ed39ca3c94357aa021c7525fa9ffb451018d1", - "reference": "e81ed39ca3c94357aa021c7525fa9ffb451018d1", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/390393e97a6e42ccae0e0d6205b8d4200f7ddc43", + "reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43", "shasum": "" }, "require": { - "chillerlan/php-settings-container": "^2.1.4 || ^3.1", + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", "ext-mbstring": "*", "php": "^7.4 || ^8.0" }, "require-dev": { - "chillerlan/php-authenticator": "^4.1 || ^5.1", - "phan/phan": "^5.4", + "chillerlan/php-authenticator": "^4.3.1 || ^5.2.1", + "ext-fileinfo": "*", + "phan/phan": "^5.5.1", + "phpcompatibility/php-compatibility": "10.x-dev", "phpmd/phpmd": "^2.15", "phpunit/phpunit": "^9.6", "setasign/fpdf": "^1.8.2", - "squizlabs/php_codesniffer": "^3.8" + "slevomat/coding-standard": "^8.23.0", + "squizlabs/php_codesniffer": "^4.0.0" }, "suggest": { "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", "setasign/fpdf": "Required to use the QR FPDF output.", "simple-icons/simple-icons": "SVG icons that you can use to embed as logos in the QR Code" }, - "time": "2024-01-07T19:37:03+00:00", + "time": "2025-09-19T17:30:27+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-4": { - "chillerlan\\QRCode\\": "src/" + "chillerlan\\QRCode\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -69,7 +72,7 @@ "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" } ], - "description": "A QR code generator and reader with a user friendly API. PHP 7.4+", + "description": "A QR Code generator and reader with a user-friendly API. PHP 7.4+", "homepage": "https://github.com/chillerlan/php-qrcode", "keywords": [ "phpqrcode", @@ -86,48 +89,45 @@ "source": "https://github.com/chillerlan/php-qrcode" }, "funding": [ - { - "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", - "type": "custom" - }, { "url": "https://ko-fi.com/codemasher", - "type": "ko_fi" + "type": "Ko-Fi" } ], "install-path": "../chillerlan/php-qrcode" }, { "name": "chillerlan/php-settings-container", - "version": "2.1.5", - "version_normalized": "2.1.5.0", + "version": "3.2.1", + "version_normalized": "3.2.1.0", "source": { "type": "git", "url": "https://github.com/chillerlan/php-settings-container.git", - "reference": "f705310389264c3578fdd9ffb15aa2cd6d91772e" + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/f705310389264c3578fdd9ffb15aa2cd6d91772e", - "reference": "f705310389264c3578fdd9ffb15aa2cd6d91772e", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681", "shasum": "" }, "require": { "ext-json": "*", - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "require-dev": { - "phan/phan": "^5.4", - "phpcsstandards/php_codesniffer": "^3.8", - "phpmd/phpmd": "^2.13", - "phpunit/phpunit": "^9.6" + "phpmd/phpmd": "^2.15", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.10" }, - "time": "2024-01-05T23:20:55+00:00", + "time": "2024-07-16T11:13:48+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-4": { - "chillerlan\\Settings\\": "src/" + "chillerlan\\Settings\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -141,10 +141,9 @@ "homepage": "https://github.com/codemasher" } ], - "description": "A container class for immutable settings objects. Not a DI container. PHP 7.4+", + "description": "A container class for immutable settings objects. Not a DI container.", "homepage": "https://github.com/chillerlan/php-settings-container", "keywords": [ - "PHP7", "Settings", "configuration", "container", @@ -250,23 +249,23 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", - "version_normalized": "7.8.1.0", + "version": "7.10.0", + "version_normalized": "7.10.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -277,9 +276,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -287,7 +286,7 @@ "ext-intl": "Required for Internationalized Domain Name (IDN) support", "psr/log": "Required for using the Log middleware" }, - "time": "2023-12-03T20:35:24+00:00", + "time": "2025-08-23T22:36:01+00:00", "type": "library", "extra": { "bamarni-bin": { @@ -359,7 +358,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.10.0" }, "funding": [ { @@ -379,17 +378,17 @@ }, { "name": "guzzlehttp/promises", - "version": "2.0.2", - "version_normalized": "2.0.2.0", + "version": "2.3.0", + "version_normalized": "2.3.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "481557b130ef3790cf82b713667b43030dc9c957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", "shasum": "" }, "require": { @@ -397,9 +396,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, - "time": "2023-12-03T20:19:20+00:00", + "time": "2025-08-22T14:34:08+00:00", "type": "library", "extra": { "bamarni-bin": { @@ -445,7 +444,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.3.0" }, "funding": [ { @@ -465,17 +464,17 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", - "version_normalized": "2.6.2.0", + "version": "2.8.0", + "version_normalized": "2.8.0.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "21dc724a0583619cd1652f673303492272778051" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", + "reference": "21dc724a0583619cd1652f673303492272778051", "shasum": "" }, "require": { @@ -490,13 +489,13 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, - "time": "2023-12-03T20:05:35+00:00", + "time": "2025-08-23T21:21:41+00:00", "type": "library", "extra": { "bamarni-bin": { @@ -564,7 +563,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.8.0" }, "funding": [ { @@ -778,17 +777,17 @@ }, { "name": "phpoffice/phpspreadsheet", - "version": "5.1.0", - "version_normalized": "5.1.0.0", + "version": "5.2.0", + "version_normalized": "5.2.0.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "fd26e45a814e94ae2aad0df757d9d1739c4bf2e0" + "reference": "3b8994b3aac4b61018bc04fc8c441f4fd68c18eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/fd26e45a814e94ae2aad0df757d9d1739c4bf2e0", - "reference": "fd26e45a814e94ae2aad0df757d9d1739c4bf2e0", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/3b8994b3aac4b61018bc04fc8c441f4fd68c18eb", + "reference": "3b8994b3aac4b61018bc04fc8c441f4fd68c18eb", "shasum": "" }, "require": { @@ -818,7 +817,7 @@ "dealerdirect/phpcodesniffer-composer-installer": "dev-main", "dompdf/dompdf": "^2.0 || ^3.0", "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.3", + "mitoteam/jpgraph": "^10.5", "mpdf/mpdf": "^8.1.1", "phpcompatibility/php-compatibility": "^9.3", "phpstan/phpstan": "^1.1 || ^2.0", @@ -830,12 +829,12 @@ }, "suggest": { "dompdf/dompdf": "Option for rendering PDF with PDF Writer", - "ext-intl": "PHP Internationalization Functions", + "ext-intl": "PHP Internationalization Functions, regquired for NumberFormat Wizard", "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", "mpdf/mpdf": "Option for rendering PDF with PDF Writer", "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" }, - "time": "2025-09-04T05:34:49+00:00", + "time": "2025-10-26T15:54:22+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -881,7 +880,7 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.1.0" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/5.2.0" }, "install-path": "../phpoffice/phpspreadsheet" }, @@ -942,24 +941,24 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "version": "1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, - "time": "2023-04-10T20:10:41+00:00", + "time": "2024-04-15T12:06:14+00:00", "type": "library", "extra": { "branch-alias": { @@ -982,7 +981,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -994,7 +993,7 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, "install-path": "../psr/http-factory" }, @@ -1157,31 +1156,31 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", - "version_normalized": "2.5.2.0", + "version": "v3.6.0", + "version_normalized": "3.6.0.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, - "time": "2022-01-02T09:53:40+00:00", + "time": "2024-09-25T14:21:43+00:00", "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "installation-source": "dist", @@ -1207,7 +1206,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -1225,6 +1224,879 @@ ], "install-path": "../symfony/deprecation-contracts" }, + { + "name": "tecnickcom/tc-lib-barcode", + "version": "2.4.8", + "version_normalized": "2.4.8.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-barcode.git", + "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/f238ffd120d98a34df6573590e7ed02f766a91c4", + "reference": "f238ffd120d98a34df6573590e7ed02f766a91c4", + "shasum": "" + }, + "require": { + "ext-bcmath": "*", + "ext-date": "*", + "ext-gd": "*", + "ext-pcre": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T11:35:02+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Barcode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to generate linear and bidimensional barcodes", + "homepage": "http://www.tecnick.com", + "keywords": [ + "3 of 9", + "ANSI MH10.8M-1983", + "CBC", + "CODABAR", + "CODE 11", + "CODE 128 A B C", + "CODE 39", + "CODE 93", + "EAN 13", + "EAN 8", + "ECC200", + "ISO IEC 15438 2006", + "ISO IEC 16022", + "ISO IEC 24778 2008", + "Intelligent Mail Barcode", + "Interleaved 2 of 5", + "KIX", + "Klant", + "MSI", + "Onecode", + "PHARMACODE", + "PHARMACODE TWO-TRACKS", + "POSTNET", + "RMS4CC", + "Standard 2 of 5", + "UPC-A", + "UPC-E", + "USD-3", + "USPS-B-3200", + "USS-93", + "aztec", + "barcode", + "datamatrix", + "pdf417", + "planet", + "qr-code", + "royal mail", + "tc-lib-barcode", + "upc" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-barcode/issues", + "source": "https://github.com/tecnickcom/tc-lib-barcode/tree/2.4.8" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-barcode" + }, + { + "name": "tecnickcom/tc-lib-color", + "version": "2.2.13", + "version_normalized": "2.2.13.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-color.git", + "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/85d1366fb33813aa521d30e3d7c7d7d82a8103a6", + "reference": "85d1366fb33813aa521d30e3d7c7d7d82a8103a6", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T11:33:19+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Color\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to manipulate various color representations", + "homepage": "http://www.tecnick.com", + "keywords": [ + "cmyk", + "color", + "colors", + "colour", + "colours", + "hsl", + "hsla", + "javascript", + "rgb", + "rgba", + "tc-lib-color", + "web" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-color/issues", + "source": "https://github.com/tecnickcom/tc-lib-color/tree/2.2.13" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-color" + }, + { + "name": "tecnickcom/tc-lib-file", + "version": "2.2.2", + "version_normalized": "2.2.2.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-file.git", + "reference": "ec6989700b77baa8a8d88952ad4fd8f53211c370" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-file/zipball/ec6989700b77baa8a8d88952ad4fd8f53211c370", + "reference": "ec6989700b77baa8a8d88952ad4fd8f53211c370", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-pcre": "*", + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T11:33:32+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\File\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to read byte-level data from files", + "homepage": "http://www.tecnick.com", + "keywords": [ + "Double", + "bit", + "byte", + "file", + "long", + "read", + "short", + "tc-lib-file" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-file/issues", + "source": "https://github.com/tecnickcom/tc-lib-file/tree/2.2.2" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-file" + }, + { + "name": "tecnickcom/tc-lib-pdf", + "version": "8.1.5", + "version_normalized": "8.1.5.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf.git", + "reference": "b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf/zipball/b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd", + "reference": "b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-pcre": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-barcode": "^2.4", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1", + "tecnickcom/tc-lib-pdf-font": "^2.6", + "tecnickcom/tc-lib-pdf-graph": "^2.3", + "tecnickcom/tc-lib-pdf-image": "^2.1", + "tecnickcom/tc-lib-pdf-page": "^4.2", + "tecnickcom/tc-lib-unicode": "^2.0", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-21T09:05:48+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP PDF Library", + "homepage": "http://www.tecnick.com", + "keywords": [ + "PDFD32000-2008", + "TCPDF", + "document", + "pdf", + "tc-lib-pdf" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf/tree/8.1.5" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-pdf" + }, + { + "name": "tecnickcom/tc-lib-pdf-encrypt", + "version": "2.1.16", + "version_normalized": "2.1.16.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-encrypt.git", + "reference": "4e154df154e586523033187dfc54a2a8e113a7db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-encrypt/zipball/4e154df154e586523033187dfc54a2a8e113a7db", + "reference": "4e154df154e586523033187dfc54a2a8e113a7db", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-hash": "*", + "ext-openssl": "*", + "ext-pcre": "*", + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "suggest": { + "ext-posix": "*" + }, + "time": "2025-06-06T11:33:45+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Encrypt\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library to encrypt data for PDF", + "homepage": "http://www.tecnick.com", + "keywords": [ + "aes", + "encrypt", + "encryption", + "pdf", + "rc4", + "tc-lib-pdf-encrypt" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-encrypt/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-encrypt/tree/2.1.16" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-pdf-encrypt" + }, + { + "name": "tecnickcom/tc-lib-pdf-font", + "version": "2.6.12", + "version_normalized": "2.6.12.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-font.git", + "reference": "961ddeb8f02c7186e9efcf37693cbd1f21af1dc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-font/zipball/961ddeb8f02c7186e9efcf37693cbd1f21af1dc1", + "reference": "961ddeb8f02c7186e9efcf37693cbd1f21af1dc1", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T12:19:35+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Font\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF page formats and definitions", + "homepage": "http://www.tecnick.com", + "keywords": [ + "PFB", + "afm", + "font", + "import", + "pdf", + "tc-lib-pdf-font", + "ttf" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-font/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-font/tree/2.6.12" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-pdf-font" + }, + { + "name": "tecnickcom/tc-lib-pdf-graph", + "version": "2.3.2", + "version_normalized": "2.3.2.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-graph.git", + "reference": "2125360e68abc1f0fba25e0de2f8f8df9aba4d41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-graph/zipball/2125360e68abc1f0fba25e0de2f8f8df9aba4d41", + "reference": "2125360e68abc1f0fba25e0de2f8f8df9aba4d41", + "shasum": "" + }, + "require": { + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T12:18:34+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Graph\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF graphic and geometric methods", + "homepage": "http://www.tecnick.com", + "keywords": [ + "geometry", + "graphic", + "pdf", + "tc-lib-pdf-graph", + "transformation" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-graph/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-graph/tree/2.3.2" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-pdf-graph" + }, + { + "name": "tecnickcom/tc-lib-pdf-image", + "version": "2.1.14", + "version_normalized": "2.1.14.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-image.git", + "reference": "f9bc757b3fe3b8d675ae993404048cceeb037417" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-image/zipball/f9bc757b3fe3b8d675ae993404048cceeb037417", + "reference": "f9bc757b3fe3b8d675ae993404048cceeb037417", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T12:18:48+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Image\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF Image methods", + "homepage": "http://www.tecnick.com", + "keywords": [ + "image", + "jpeg", + "jpg", + "pdf", + "png", + "tc-lib-pdf-image" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-image/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-image/tree/2.1.14" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-pdf-image" + }, + { + "name": "tecnickcom/tc-lib-pdf-page", + "version": "4.2.12", + "version_normalized": "4.2.12.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-pdf-page.git", + "reference": "c446d399372df775c5f8c3a5cfc30e85bfb6c102" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-pdf-page/zipball/c446d399372df775c5f8c3a5cfc30e85bfb6c102", + "reference": "c446d399372df775c5f8c3a5cfc30e85bfb6c102", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-zlib": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T12:18:18+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Page\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing PDF page formats and definitions", + "homepage": "http://www.tecnick.com", + "keywords": [ + "format", + "page", + "pdf", + "tc-lib-pdf-page" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-pdf-page/issues", + "source": "https://github.com/tecnickcom/tc-lib-pdf-page/tree/4.2.12" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-pdf-page" + }, + { + "name": "tecnickcom/tc-lib-unicode", + "version": "2.0.25", + "version_normalized": "2.0.25.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-unicode.git", + "reference": "9165ea29a46a38938097377b3ec518e0fd0a8092" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-unicode/zipball/9165ea29a46a38938097377b3ec518e0fd0a8092", + "reference": "9165ea29a46a38938097377b3ec518e0fd0a8092", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-pcre": "*", + "php": ">=8.1", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T12:18:03+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Unicode\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing Unicode methods", + "homepage": "http://www.tecnick.com", + "keywords": [ + "font", + "pdf", + "tc-lib-unicode", + "unicode", + "utf-8" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-unicode/issues", + "source": "https://github.com/tecnickcom/tc-lib-unicode/tree/2.0.25" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-unicode" + }, + { + "name": "tecnickcom/tc-lib-unicode-data", + "version": "2.0.24", + "version_normalized": "2.0.24.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/tc-lib-unicode-data.git", + "reference": "cc0ac553b70ecfda9ffeda71ca2f490bfaff5036" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-unicode-data/zipball/cc0ac553b70ecfda9ffeda71ca2f490bfaff5036", + "reference": "cc0ac553b70ecfda9ffeda71ca2f490bfaff5036", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "time": "2025-06-06T11:34:15+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Com\\Tecnick\\Unicode\\Data\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "PHP library containing Unicode definitions", + "homepage": "http://www.tecnick.com", + "keywords": [ + "font", + "pdf", + "tc-lib-unicode-data", + "unicode", + "utf-8" + ], + "support": { + "issues": "https://github.com/tecnickcom/tc-lib-unicode-data/issues", + "source": "https://github.com/tecnickcom/tc-lib-unicode-data/tree/2.0.24" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tc-lib-unicode-data" + }, + { + "name": "tecnickcom/tcpdf", + "version": "6.10.0", + "version_normalized": "6.10.0.0", + "source": { + "type": "git", + "url": "https://github.com/tecnickcom/TCPDF.git", + "reference": "ca5b6de294512145db96bcbc94e61696599c391d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/ca5b6de294512145db96bcbc94e61696599c391d", + "reference": "ca5b6de294512145db96bcbc94e61696599c391d", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=7.1.0" + }, + "time": "2025-05-27T18:02:28+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "config", + "include", + "tcpdf.php", + "tcpdf_barcodes_1d.php", + "tcpdf_barcodes_2d.php", + "include/tcpdf_colors.php", + "include/tcpdf_filters.php", + "include/tcpdf_font_data.php", + "include/tcpdf_fonts.php", + "include/tcpdf_images.php", + "include/tcpdf_static.php", + "include/barcodes/datamatrix.php", + "include/barcodes/pdf417.php", + "include/barcodes/qrcode.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", + "homepage": "http://www.tcpdf.org/", + "keywords": [ + "PDFD32000-2008", + "TCPDF", + "barcodes", + "datamatrix", + "pdf", + "pdf417", + "qrcode" + ], + "support": { + "issues": "https://github.com/tecnickcom/TCPDF/issues", + "source": "https://github.com/tecnickcom/TCPDF/tree/6.10.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ", + "type": "custom" + } + ], + "install-path": "../tecnickcom/tcpdf" + }, { "name": "twbs/bootstrap", "version": "v4.6.2", diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 469b7d9..d8d94c5 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '345d22958f13e73a704b1765b0b1b7420f6fa78d', + 'reference' => '43bc4165541ace6422ce315dd662eced2af755e5', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -13,25 +13,25 @@ '__root__' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '345d22958f13e73a704b1765b0b1b7420f6fa78d', + 'reference' => '43bc4165541ace6422ce315dd662eced2af755e5', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false, ), 'chillerlan/php-qrcode' => array( - 'pretty_version' => '5.0.1', - 'version' => '5.0.1.0', - 'reference' => 'e81ed39ca3c94357aa021c7525fa9ffb451018d1', + 'pretty_version' => '5.0.4', + 'version' => '5.0.4.0', + 'reference' => '390393e97a6e42ccae0e0d6205b8d4200f7ddc43', 'type' => 'library', 'install_path' => __DIR__ . '/../chillerlan/php-qrcode', 'aliases' => array(), 'dev_requirement' => false, ), 'chillerlan/php-settings-container' => array( - 'pretty_version' => '2.1.5', - 'version' => '2.1.5.0', - 'reference' => 'f705310389264c3578fdd9ffb15aa2cd6d91772e', + 'pretty_version' => '3.2.1', + 'version' => '3.2.1.0', + 'reference' => '95ed3e9676a1d47cab2e3174d19b43f5dbf52681', 'type' => 'library', 'install_path' => __DIR__ . '/../chillerlan/php-settings-container', 'aliases' => array(), @@ -47,27 +47,27 @@ 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( - 'pretty_version' => '7.8.1', - 'version' => '7.8.1.0', - 'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104', + 'pretty_version' => '7.10.0', + 'version' => '7.10.0.0', + 'reference' => 'b51ac707cfa420b7bfd4e4d5e510ba8008e822b4', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( - 'pretty_version' => '2.0.2', - 'version' => '2.0.2.0', - 'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223', + 'pretty_version' => '2.3.0', + 'version' => '2.3.0.0', + 'reference' => '481557b130ef3790cf82b713667b43030dc9c957', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( - 'pretty_version' => '2.6.2', - 'version' => '2.6.2.0', - 'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221', + 'pretty_version' => '2.8.0', + 'version' => '2.8.0.0', + 'reference' => '21dc724a0583619cd1652f673303492272778051', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), @@ -101,9 +101,9 @@ 'dev_requirement' => false, ), 'phpoffice/phpspreadsheet' => array( - 'pretty_version' => '5.1.0', - 'version' => '5.1.0.0', - 'reference' => 'fd26e45a814e94ae2aad0df757d9d1739c4bf2e0', + 'pretty_version' => '5.2.0', + 'version' => '5.2.0.0', + 'reference' => '3b8994b3aac4b61018bc04fc8c441f4fd68c18eb', 'type' => 'library', 'install_path' => __DIR__ . '/../phpoffice/phpspreadsheet', 'aliases' => array(), @@ -125,9 +125,9 @@ ), ), 'psr/http-factory' => array( - 'pretty_version' => '1.0.2', - 'version' => '1.0.2.0', - 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', + 'pretty_version' => '1.1.0', + 'version' => '1.1.0.0', + 'reference' => '2b4765fddfe3b508ac62f829e852b1501d3f6e8a', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), @@ -173,14 +173,122 @@ 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( - 'pretty_version' => 'v2.5.2', - 'version' => '2.5.2.0', - 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', + 'pretty_version' => 'v3.6.0', + 'version' => '3.6.0.0', + 'reference' => '63afe740e99a13ba87ec199bb07bbdee937a5b62', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => false, ), + 'tecnickcom/tc-lib-barcode' => array( + 'pretty_version' => '2.4.8', + 'version' => '2.4.8.0', + 'reference' => 'f238ffd120d98a34df6573590e7ed02f766a91c4', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-barcode', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-color' => array( + 'pretty_version' => '2.2.13', + 'version' => '2.2.13.0', + 'reference' => '85d1366fb33813aa521d30e3d7c7d7d82a8103a6', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-color', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-file' => array( + 'pretty_version' => '2.2.2', + 'version' => '2.2.2.0', + 'reference' => 'ec6989700b77baa8a8d88952ad4fd8f53211c370', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-file', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-pdf' => array( + 'pretty_version' => '8.1.5', + 'version' => '8.1.5.0', + 'reference' => 'b4f3b51aa0f2aa4452fa3cb1458ee6c8ba15c0dd', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-pdf', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-pdf-encrypt' => array( + 'pretty_version' => '2.1.16', + 'version' => '2.1.16.0', + 'reference' => '4e154df154e586523033187dfc54a2a8e113a7db', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-pdf-encrypt', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-pdf-font' => array( + 'pretty_version' => '2.6.12', + 'version' => '2.6.12.0', + 'reference' => '961ddeb8f02c7186e9efcf37693cbd1f21af1dc1', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-pdf-font', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-pdf-graph' => array( + 'pretty_version' => '2.3.2', + 'version' => '2.3.2.0', + 'reference' => '2125360e68abc1f0fba25e0de2f8f8df9aba4d41', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-pdf-graph', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-pdf-image' => array( + 'pretty_version' => '2.1.14', + 'version' => '2.1.14.0', + 'reference' => 'f9bc757b3fe3b8d675ae993404048cceeb037417', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-pdf-image', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-pdf-page' => array( + 'pretty_version' => '4.2.12', + 'version' => '4.2.12.0', + 'reference' => 'c446d399372df775c5f8c3a5cfc30e85bfb6c102', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-pdf-page', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-unicode' => array( + 'pretty_version' => '2.0.25', + 'version' => '2.0.25.0', + 'reference' => '9165ea29a46a38938097377b3ec518e0fd0a8092', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-unicode', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tc-lib-unicode-data' => array( + 'pretty_version' => '2.0.24', + 'version' => '2.0.24.0', + 'reference' => 'cc0ac553b70ecfda9ffeda71ca2f490bfaff5036', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tc-lib-unicode-data', + 'aliases' => array(), + 'dev_requirement' => false, + ), + 'tecnickcom/tcpdf' => array( + 'pretty_version' => '6.10.0', + 'version' => '6.10.0.0', + 'reference' => 'ca5b6de294512145db96bcbc94e61696599c391d', + 'type' => 'library', + 'install_path' => __DIR__ . '/../tecnickcom/tcpdf', + 'aliases' => array(), + 'dev_requirement' => false, + ), 'twbs/bootstrap' => array( 'pretty_version' => 'v4.6.2', 'version' => '4.6.2.0', diff --git a/vendor/guzzlehttp/guzzle/CHANGELOG.md b/vendor/guzzlehttp/guzzle/CHANGELOG.md index 13709d1..5fe721e 100644 --- a/vendor/guzzlehttp/guzzle/CHANGELOG.md +++ b/vendor/guzzlehttp/guzzle/CHANGELOG.md @@ -2,6 +2,56 @@ Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version. +## 7.10.0 - 2025-08-23 + +### Added + +- Support for PHP 8.5 + +### Changed + +- Adjusted `guzzlehttp/promises` version constraint to `^2.3` +- Adjusted `guzzlehttp/psr7` version constraint to `^2.8` + + +## 7.9.3 - 2025-03-27 + +### Changed + +- Remove explicit content-length header for GET requests +- Improve compatibility with bad servers for boolean cookie values + + +## 7.9.2 - 2024-07-24 + +### Fixed + +- Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0 + + +## 7.9.1 - 2024-07-19 + +### Fixed + +- Fix TLS 1.3 check for HTTP/2 requests + + +## 7.9.0 - 2024-07-18 + +### Changed + +- Improve protocol version checks to provide feedback around unsupported protocols +- Only select the cURL handler by default if 7.34.0 or higher is linked +- Improved `CurlMultiHandler` to avoid busy wait if possible +- Dropped support for EOL `guzzlehttp/psr7` v1 +- Improved URI user info redaction in errors + +## 7.8.2 - 2024-07-18 + +### Added + +- Support for PHP 8.4 + ## 7.8.1 - 2023-12-03 diff --git a/vendor/guzzlehttp/guzzle/README.md b/vendor/guzzlehttp/guzzle/README.md index 6d78a93..cdaebee 100644 --- a/vendor/guzzlehttp/guzzle/README.md +++ b/vendor/guzzlehttp/guzzle/README.md @@ -62,11 +62,11 @@ composer require guzzlehttp/guzzle | Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version | |---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------| -| 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 | -| 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 | -| 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 | -| 6.x | Security fixes only | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 | -| 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8.4 | +| 3.x | EOL (2016-10-31) | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >=5.3.3,<7.0 | +| 4.x | EOL (2016-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >=5.4,<7.0 | +| 5.x | EOL (2019-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >=5.4,<7.4 | +| 6.x | EOL (2023-10-31) | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >=5.5,<8.0 | +| 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >=7.2.5,<8.5 | [guzzle-3-repo]: https://github.com/guzzle/guzzle3 [guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x diff --git a/vendor/guzzlehttp/guzzle/composer.json b/vendor/guzzlehttp/guzzle/composer.json index 69583d7..0db75a9 100644 --- a/vendor/guzzlehttp/guzzle/composer.json +++ b/vendor/guzzlehttp/guzzle/composer.json @@ -50,11 +50,39 @@ "homepage": "https://github.com/Tobion" } ], + "repositories": [ + { + "type": "package", + "package": { + "name": "guzzle/client-integration-tests", + "version": "v3.0.2", + "dist": { + "url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee", + "type": "zip" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11", + "php-http/message": "^1.0 || ^2.0", + "guzzlehttp/psr7": "^1.7 || ^2.0", + "th3n3rd/cartesian-product": "^0.3" + }, + "autoload": { + "psr-4": { + "Http\\Client\\Tests\\": "src/" + } + }, + "bin": [ + "bin/http_test_server" + ] + } + } + ], "require": { "php": "^7.2.5 || ^8.0", "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" }, @@ -64,9 +92,9 @@ "require-dev": { "ext-curl": "*", "bamarni/composer-bin-plugin": "^1.8.2", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { diff --git a/vendor/guzzlehttp/guzzle/package-lock.json b/vendor/guzzlehttp/guzzle/package-lock.json new file mode 100644 index 0000000..0e14dc1 --- /dev/null +++ b/vendor/guzzlehttp/guzzle/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "guzzle", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/vendor/guzzlehttp/guzzle/src/BodySummarizer.php b/vendor/guzzlehttp/guzzle/src/BodySummarizer.php index 6eca94e..761506d 100644 --- a/vendor/guzzlehttp/guzzle/src/BodySummarizer.php +++ b/vendor/guzzlehttp/guzzle/src/BodySummarizer.php @@ -11,7 +11,7 @@ final class BodySummarizer implements BodySummarizerInterface */ private $truncateAt; - public function __construct(int $truncateAt = null) + public function __construct(?int $truncateAt = null) { $this->truncateAt = $truncateAt; } @@ -22,7 +22,7 @@ final class BodySummarizer implements BodySummarizerInterface public function summarize(MessageInterface $message): ?string { return $this->truncateAt === null - ? \GuzzleHttp\Psr7\Message::bodySummary($message) - : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt); + ? Psr7\Message::bodySummary($message) + : Psr7\Message::bodySummary($message, $this->truncateAt); } } diff --git a/vendor/guzzlehttp/guzzle/src/Client.php b/vendor/guzzlehttp/guzzle/src/Client.php index bc6efc9..c78919a 100644 --- a/vendor/guzzlehttp/guzzle/src/Client.php +++ b/vendor/guzzlehttp/guzzle/src/Client.php @@ -52,7 +52,7 @@ class Client implements ClientInterface, \Psr\Http\Client\ClientInterface * * @param array $config Client configuration settings. * - * @see \GuzzleHttp\RequestOptions for a list of available request options. + * @see RequestOptions for a list of available request options. */ public function __construct(array $config = []) { @@ -202,7 +202,7 @@ class Client implements ClientInterface, \Psr\Http\Client\ClientInterface * * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0. */ - public function getConfig(string $option = null) + public function getConfig(?string $option = null) { return $option === null ? $this->config diff --git a/vendor/guzzlehttp/guzzle/src/ClientInterface.php b/vendor/guzzlehttp/guzzle/src/ClientInterface.php index 1788e16..6aaee61 100644 --- a/vendor/guzzlehttp/guzzle/src/ClientInterface.php +++ b/vendor/guzzlehttp/guzzle/src/ClientInterface.php @@ -80,5 +80,5 @@ interface ClientInterface * * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0. */ - public function getConfig(string $option = null); + public function getConfig(?string $option = null); } diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php index c29b4b7..b616cf2 100644 --- a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php +++ b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php @@ -103,7 +103,7 @@ class CookieJar implements CookieJarInterface }, $this->getIterator()->getArrayCopy()); } - public function clear(string $domain = null, string $path = null, string $name = null): void + public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void { if (!$domain) { $this->cookies = []; diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php index 8c55cc6..93ada58 100644 --- a/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +++ b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php @@ -62,7 +62,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate * @param string|null $path Clears cookies matching a domain and path * @param string|null $name Clears cookies matching a domain, path, and name */ - public function clear(string $domain = null, string $path = null, string $name = null): void; + public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void; /** * Discard all sessions cookies. diff --git a/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php b/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php index c9806da..47c4d10 100644 --- a/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php +++ b/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php @@ -62,6 +62,10 @@ class SetCookie if (is_numeric($value)) { $data[$search] = (int) $value; } + } elseif ($search === 'Secure' || $search === 'Discard' || $search === 'HttpOnly') { + if ($value) { + $data[$search] = true; + } } else { $data[$search] = $value; } diff --git a/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php b/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php index a80956c..ba67ad4 100644 --- a/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php +++ b/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php @@ -14,7 +14,7 @@ class BadResponseException extends RequestException string $message, RequestInterface $request, ResponseInterface $response, - \Throwable $previous = null, + ?\Throwable $previous = null, array $handlerContext = [] ) { parent::__construct($message, $request, $response, $previous, $handlerContext); diff --git a/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php b/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php index e1a3151..eab51ca 100644 --- a/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php +++ b/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php @@ -25,7 +25,7 @@ class ConnectException extends TransferException implements NetworkExceptionInte public function __construct( string $message, RequestInterface $request, - \Throwable $previous = null, + ?\Throwable $previous = null, array $handlerContext = [] ) { parent::__construct($message, 0, $previous); diff --git a/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php b/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php index c2d0a9c..b42c88a 100644 --- a/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php +++ b/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php @@ -7,7 +7,6 @@ use GuzzleHttp\BodySummarizerInterface; use Psr\Http\Client\RequestExceptionInterface; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; -use Psr\Http\Message\UriInterface; /** * HTTP Request exception @@ -32,8 +31,8 @@ class RequestException extends TransferException implements RequestExceptionInte public function __construct( string $message, RequestInterface $request, - ResponseInterface $response = null, - \Throwable $previous = null, + ?ResponseInterface $response = null, + ?\Throwable $previous = null, array $handlerContext = [] ) { // Set the code of the exception if the response is set and not future. @@ -63,10 +62,10 @@ class RequestException extends TransferException implements RequestExceptionInte */ public static function create( RequestInterface $request, - ResponseInterface $response = null, - \Throwable $previous = null, + ?ResponseInterface $response = null, + ?\Throwable $previous = null, array $handlerContext = [], - BodySummarizerInterface $bodySummarizer = null + ?BodySummarizerInterface $bodySummarizer = null ): self { if (!$response) { return new self( @@ -90,8 +89,7 @@ class RequestException extends TransferException implements RequestExceptionInte $className = __CLASS__; } - $uri = $request->getUri(); - $uri = static::obfuscateUri($uri); + $uri = \GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri()); // Client Error: `GET /` resulted in a `404 Not Found` response: // ... (truncated) @@ -113,20 +111,6 @@ class RequestException extends TransferException implements RequestExceptionInte return new $className($message, $request, $response, $previous, $handlerContext); } - /** - * Obfuscates URI if there is a username and a password present - */ - private static function obfuscateUri(UriInterface $uri): UriInterface - { - $userInfo = $uri->getUserInfo(); - - if (false !== ($pos = \strpos($userInfo, ':'))) { - return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***'); - } - - return $uri; - } - /** * Get the request that caused the exception */ diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php index 16a9422..3c1fa9c 100644 --- a/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php @@ -11,6 +11,7 @@ use GuzzleHttp\Psr7\LazyOpenStream; use GuzzleHttp\TransferStats; use GuzzleHttp\Utils; use Psr\Http\Message\RequestInterface; +use Psr\Http\Message\UriInterface; /** * Creates curl resources from a request @@ -46,6 +47,16 @@ class CurlFactory implements CurlFactoryInterface public function create(RequestInterface $request, array $options): EasyHandle { + $protocolVersion = $request->getProtocolVersion(); + + if ('2' === $protocolVersion || '2.0' === $protocolVersion) { + if (!self::supportsHttp2()) { + throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request); + } + } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { + throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request); + } + if (isset($options['curl']['body_as_string'])) { $options['_body_as_string'] = $options['curl']['body_as_string']; unset($options['curl']['body_as_string']); @@ -72,13 +83,51 @@ class CurlFactory implements CurlFactoryInterface return $easy; } + private static function supportsHttp2(): bool + { + static $supportsHttp2 = null; + + if (null === $supportsHttp2) { + $supportsHttp2 = self::supportsTls12() + && defined('CURL_VERSION_HTTP2') + && (\CURL_VERSION_HTTP2 & \curl_version()['features']); + } + + return $supportsHttp2; + } + + private static function supportsTls12(): bool + { + static $supportsTls12 = null; + + if (null === $supportsTls12) { + $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features']; + } + + return $supportsTls12; + } + + private static function supportsTls13(): bool + { + static $supportsTls13 = null; + + if (null === $supportsTls13) { + $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3') + && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']); + } + + return $supportsTls13; + } + public function release(EasyHandle $easy): void { $resource = $easy->handle; unset($easy->handle); if (\count($this->handles) >= $this->maxHandles) { - \curl_close($resource); + if (PHP_VERSION_ID < 80000) { + \curl_close($resource); + } } else { // Remove all callback functions as they can hold onto references // and are not cleaned up by curl_reset. Using curl_setopt_array @@ -147,7 +196,7 @@ class CurlFactory implements CurlFactoryInterface 'error' => \curl_error($easy->handle), 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME), ] + \curl_getinfo($easy->handle); - $ctx[self::CURL_VERSION_STR] = \curl_version()['version']; + $ctx[self::CURL_VERSION_STR] = self::getCurlVersion(); $factory->release($easy); // Retry when nothing is present or when curl failed to rewind. @@ -158,6 +207,17 @@ class CurlFactory implements CurlFactoryInterface return self::createRejection($easy, $ctx); } + private static function getCurlVersion(): string + { + static $curlVersion = null; + + if (null === $curlVersion) { + $curlVersion = \curl_version()['version']; + } + + return $curlVersion; + } + private static function createRejection(EasyHandle $easy, array $ctx): PromiseInterface { static $connectionErrors = [ @@ -194,15 +254,22 @@ class CurlFactory implements CurlFactoryInterface ); } + $uri = $easy->request->getUri(); + + $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri); + $message = \sprintf( 'cURL error %s: %s (%s)', $ctx['errno'], - $ctx['error'], + $sanitizedError, 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html' ); - $uriString = (string) $easy->request->getUri(); - if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) { - $message .= \sprintf(' for %s', $uriString); + + if ('' !== $sanitizedError) { + $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString(); + if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) { + $message .= \sprintf(' for %s', $redactedUriString); + } } // Create a connection exception if it was a specific error code. @@ -213,6 +280,24 @@ class CurlFactory implements CurlFactoryInterface return P\Create::rejectionFor($error); } + private static function sanitizeCurlError(string $error, UriInterface $uri): string + { + if ('' === $error) { + return $error; + } + + $baseUri = $uri->withQuery('')->withFragment(''); + $baseUriString = $baseUri->__toString(); + + if ('' === $baseUriString) { + return $error; + } + + $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString(); + + return str_replace($baseUriString, $redactedUriString, $error); + } + /** * @return array */ @@ -232,10 +317,11 @@ class CurlFactory implements CurlFactoryInterface } $version = $easy->request->getProtocolVersion(); - if ($version == 1.1) { - $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1; - } elseif ($version == 2.0) { + + if ('2' === $version || '2.0' === $version) { $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0; + } elseif ('1.1' === $version) { + $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1; } else { $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0; } @@ -390,8 +476,10 @@ class CurlFactory implements CurlFactoryInterface // The empty string enables all available decoders and implicitly // sets a matching 'Accept-Encoding' header. $conf[\CURLOPT_ENCODING] = ''; - // But as the user did not specify any acceptable encodings we need - // to overwrite this implicit header with an empty one. + // But as the user did not specify any encoding preference, + // let's leave it up to server by preventing curl from sending + // the header, which will be interpreted as 'Accept-Encoding: *'. + // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:'; } } @@ -455,23 +543,35 @@ class CurlFactory implements CurlFactoryInterface } if (isset($options['crypto_method'])) { - if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { - if (!defined('CURL_SSLVERSION_TLSv1_0')) { - throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL'); + $protocolVersion = $easy->request->getProtocolVersion(); + + // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2 + if ('2' === $protocolVersion || '2.0' === $protocolVersion) { + if ( + \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method'] + || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method'] + || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method'] + ) { + $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; + } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { + if (!self::supportsTls13()) { + throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); + } + $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; + } else { + throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided'); } + } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) { $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0; } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) { - if (!defined('CURL_SSLVERSION_TLSv1_1')) { - throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL'); - } $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1; } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) { - if (!defined('CURL_SSLVERSION_TLSv1_2')) { + if (!self::supportsTls12()) { throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL'); } $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2; } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) { - if (!defined('CURL_SSLVERSION_TLSv1_3')) { + if (!self::supportsTls13()) { throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL'); } $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3; @@ -631,7 +731,10 @@ class CurlFactory implements CurlFactoryInterface public function __destruct() { foreach ($this->handles as $id => $handle) { - \curl_close($handle); + if (PHP_VERSION_ID < 80000) { + \curl_close($handle); + } + unset($this->handles[$id]); } } diff --git a/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php index a64e182..21abbed 100644 --- a/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +++ b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php @@ -2,6 +2,7 @@ namespace GuzzleHttp\Handler; +use Closure; use GuzzleHttp\Promise as P; use GuzzleHttp\Promise\Promise; use GuzzleHttp\Promise\PromiseInterface; @@ -159,6 +160,9 @@ class CurlMultiHandler } } + // Run curl_multi_exec in the queue to enable other async tasks to run + P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); + // Step through the task queue which may add additional requests. P\Utils::queue()->run(); @@ -169,11 +173,24 @@ class CurlMultiHandler } while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { + // Prevent busy looping for slow HTTP requests. + \curl_multi_select($this->_mh, $this->selectTimeout); } $this->processMessages(); } + /** + * Runs \curl_multi_exec() inside the event loop, to prevent busy looping + */ + private function tickInQueue(): void + { + if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) { + \curl_multi_select($this->_mh, 0); + P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue'])); + } + } + /** * Runs until all outstanding connections have completed. */ @@ -223,7 +240,10 @@ class CurlMultiHandler $handle = $this->handles[$id]['easy']->handle; unset($this->delays[$id], $this->handles[$id]); \curl_multi_remove_handle($this->_mh, $handle); - \curl_close($handle); + + if (PHP_VERSION_ID < 80000) { + \curl_close($handle); + } return true; } diff --git a/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php index 77ffed5..3ecd596 100644 --- a/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php +++ b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php @@ -52,21 +52,21 @@ class MockHandler implements \Countable * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled. * @param callable|null $onRejected Callback to invoke when the return value is rejected. */ - public static function createWithMiddleware(array $queue = null, callable $onFulfilled = null, callable $onRejected = null): HandlerStack + public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack { return HandlerStack::create(new self($queue, $onFulfilled, $onRejected)); } /** * The passed in value must be an array of - * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions, + * {@see ResponseInterface} objects, Exceptions, * callables, or Promises. * * @param array|null $queue The parameters to be passed to the append function, as an indexed array. * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled. * @param callable|null $onRejected Callback to invoke when the return value is rejected. */ - public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null) + public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null) { $this->onFulfilled = $onFulfilled; $this->onRejected = $onRejected; @@ -200,7 +200,7 @@ class MockHandler implements \Countable private function invokeStats( RequestInterface $request, array $options, - ResponseInterface $response = null, + ?ResponseInterface $response = null, $reason = null ): void { if (isset($options['on_stats'])) { diff --git a/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php b/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php index f045b52..9df70cf 100644 --- a/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php +++ b/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php @@ -17,10 +17,10 @@ class Proxy * Sends synchronous requests to a specific handler while sending all other * requests to another handler. * - * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses - * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses. + * @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses + * @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses. * - * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler. + * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. */ public static function wrapSync(callable $default, callable $sync): callable { @@ -37,10 +37,10 @@ class Proxy * performance benefits of curl while still supporting true streaming * through the StreamHandler. * - * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses - * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses + * @param callable(RequestInterface, array): PromiseInterface $default Handler used for non-streaming responses + * @param callable(RequestInterface, array): PromiseInterface $streaming Handler used for streaming responses * - * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler. + * @return callable(RequestInterface, array): PromiseInterface Returns the composed handler. */ public static function wrapStreaming(callable $default, callable $streaming): callable { diff --git a/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php index 61632f5..f24921f 100644 --- a/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php +++ b/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php @@ -40,6 +40,12 @@ class StreamHandler \usleep($options['delay'] * 1000); } + $protocolVersion = $request->getProtocolVersion(); + + if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) { + throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request); + } + $startTime = isset($options['on_stats']) ? Utils::currentTime() : null; try { @@ -47,8 +53,14 @@ class StreamHandler $request = $request->withoutHeader('Expect'); // Append a content-length header if body size is zero to match - // cURL's behavior. - if (0 === $request->getBody()->getSize()) { + // the behavior of `CurlHandler` + if ( + ( + 0 === \strcasecmp('PUT', $request->getMethod()) + || 0 === \strcasecmp('POST', $request->getMethod()) + ) + && 0 === $request->getBody()->getSize() + ) { $request = $request->withHeader('Content-Length', '0'); } @@ -83,8 +95,8 @@ class StreamHandler array $options, RequestInterface $request, ?float $startTime, - ResponseInterface $response = null, - \Throwable $error = null + ?ResponseInterface $response = null, + ?\Throwable $error = null ): void { if (isset($options['on_stats'])) { $stats = new TransferStats($request, $response, Utils::currentTime() - $startTime, $error, []); @@ -273,7 +285,7 @@ class StreamHandler // HTTP/1.1 streams using the PHP stream wrapper require a // Connection: close header - if ($request->getProtocolVersion() == '1.1' + if ($request->getProtocolVersion() === '1.1' && !$request->hasHeader('Connection') ) { $request = $request->withHeader('Connection', 'close'); @@ -321,8 +333,15 @@ class StreamHandler ); return $this->createResource( - function () use ($uri, &$http_response_header, $contextResource, $context, $options, $request) { + function () use ($uri, $contextResource, $context, $options, $request) { $resource = @\fopen((string) $uri, 'r', false, $contextResource); + + // See https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_the_http_response_header_predefined_variable + if (function_exists('http_get_last_response_headers')) { + /** @var array|null */ + $http_response_header = \http_get_last_response_headers(); + } + $this->lastHeaders = $http_response_header ?? []; if (false === $resource) { diff --git a/vendor/guzzlehttp/guzzle/src/HandlerStack.php b/vendor/guzzlehttp/guzzle/src/HandlerStack.php index 6cb12f0..03f9a18 100644 --- a/vendor/guzzlehttp/guzzle/src/HandlerStack.php +++ b/vendor/guzzlehttp/guzzle/src/HandlerStack.php @@ -44,7 +44,7 @@ class HandlerStack * handler is provided, the best handler for your * system will be utilized. */ - public static function create(callable $handler = null): self + public static function create(?callable $handler = null): self { $stack = new self($handler ?: Utils::chooseHandler()); $stack->push(Middleware::httpErrors(), 'http_errors'); @@ -58,7 +58,7 @@ class HandlerStack /** * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler. */ - public function __construct(callable $handler = null) + public function __construct(?callable $handler = null) { $this->handler = $handler; } @@ -131,7 +131,7 @@ class HandlerStack * @param callable(callable): callable $middleware Middleware function * @param string $name Name to register for this middleware. */ - public function unshift(callable $middleware, string $name = null): void + public function unshift(callable $middleware, ?string $name = null): void { \array_unshift($this->stack, [$middleware, $name]); $this->cached = null; diff --git a/vendor/guzzlehttp/guzzle/src/MessageFormatter.php b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php index 04e9eb3..9b77eee 100644 --- a/vendor/guzzlehttp/guzzle/src/MessageFormatter.php +++ b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php @@ -68,7 +68,7 @@ class MessageFormatter implements MessageFormatterInterface * @param ResponseInterface|null $response Response that was received * @param \Throwable|null $error Exception that was received */ - public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string + public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string { $cache = []; diff --git a/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php b/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php index 4793461..a39ac24 100644 --- a/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php +++ b/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php @@ -14,5 +14,5 @@ interface MessageFormatterInterface * @param ResponseInterface|null $response Response that was received * @param \Throwable|null $error Exception that was received */ - public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string; + public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string; } diff --git a/vendor/guzzlehttp/guzzle/src/Middleware.php b/vendor/guzzlehttp/guzzle/src/Middleware.php index 7e3eb6b..9901da4 100644 --- a/vendor/guzzlehttp/guzzle/src/Middleware.php +++ b/vendor/guzzlehttp/guzzle/src/Middleware.php @@ -55,7 +55,7 @@ final class Middleware * * @return callable(callable): callable Returns a function that accepts the next handler. */ - public static function httpErrors(BodySummarizerInterface $bodySummarizer = null): callable + public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable { return static function (callable $handler) use ($bodySummarizer): callable { return static function ($request, array $options) use ($handler, $bodySummarizer) { @@ -132,7 +132,7 @@ final class Middleware * * @return callable Returns a function that accepts the next handler. */ - public static function tap(callable $before = null, callable $after = null): callable + public static function tap(?callable $before = null, ?callable $after = null): callable { return static function (callable $handler) use ($before, $after): callable { return static function (RequestInterface $request, array $options) use ($handler, $before, $after) { @@ -176,7 +176,7 @@ final class Middleware * * @return callable Returns a function that accepts the next handler. */ - public static function retry(callable $decider, callable $delay = null): callable + public static function retry(callable $decider, ?callable $delay = null): callable { return static function (callable $handler) use ($decider, $delay): RetryMiddleware { return new RetryMiddleware($decider, $handler, $delay); @@ -187,12 +187,12 @@ final class Middleware * Middleware that logs requests, responses, and errors using a message * formatter. * - * @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests. - * * @param LoggerInterface $logger Logs messages. * @param MessageFormatterInterface|MessageFormatter $formatter Formatter used to create message strings. * @param string $logLevel Level at which to log requests. * + * @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests. + * * @return callable Returns a function that accepts the next handler. */ public static function log(LoggerInterface $logger, $formatter, string $logLevel = 'info'): callable diff --git a/vendor/guzzlehttp/guzzle/src/Pool.php b/vendor/guzzlehttp/guzzle/src/Pool.php index 6277c61..ddc304b 100644 --- a/vendor/guzzlehttp/guzzle/src/Pool.php +++ b/vendor/guzzlehttp/guzzle/src/Pool.php @@ -86,7 +86,7 @@ class Pool implements PromisorInterface * @param ClientInterface $client Client used to send the requests * @param array|\Iterator $requests Requests to send concurrently. * @param array $options Passes through the options available in - * {@see \GuzzleHttp\Pool::__construct} + * {@see Pool::__construct} * * @return array Returns an array containing the response or an exception * in the same order that the requests were sent. diff --git a/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php index 0a8de81..7dde6c5 100644 --- a/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php +++ b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php @@ -76,8 +76,8 @@ class PrepareBodyMiddleware $expect = $options['expect'] ?? null; - // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0 - if ($expect === false || $request->getProtocolVersion() < 1.1) { + // Return if disabled or using HTTP/1.0 + if ($expect === false || $request->getProtocolVersion() === '1.0') { return; } diff --git a/vendor/guzzlehttp/guzzle/src/RequestOptions.php b/vendor/guzzlehttp/guzzle/src/RequestOptions.php index a38768c..84a3500 100644 --- a/vendor/guzzlehttp/guzzle/src/RequestOptions.php +++ b/vendor/guzzlehttp/guzzle/src/RequestOptions.php @@ -61,7 +61,7 @@ final class RequestOptions * Specifies whether or not cookies are used in a request or what cookie * jar to use or what cookies to send. This option only works if your * handler has the `cookie` middleware. Valid values are `false` and - * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}. + * an instance of {@see Cookie\CookieJarInterface}. */ public const COOKIES = 'cookies'; diff --git a/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php b/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php index 8f4d93a..65f49cb 100644 --- a/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php +++ b/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php @@ -40,7 +40,7 @@ class RetryMiddleware * and returns the number of * milliseconds to delay. */ - public function __construct(callable $decider, callable $nextHandler, callable $delay = null) + public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null) { $this->decider = $decider; $this->nextHandler = $nextHandler; @@ -110,7 +110,7 @@ class RetryMiddleware }; } - private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface + private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface { $options['delay'] = ($this->delay)(++$options['retries'], $response, $request); diff --git a/vendor/guzzlehttp/guzzle/src/TransferStats.php b/vendor/guzzlehttp/guzzle/src/TransferStats.php index 2ce9e38..93fa334 100644 --- a/vendor/guzzlehttp/guzzle/src/TransferStats.php +++ b/vendor/guzzlehttp/guzzle/src/TransferStats.php @@ -46,8 +46,8 @@ final class TransferStats */ public function __construct( RequestInterface $request, - ResponseInterface $response = null, - float $transferTime = null, + ?ResponseInterface $response = null, + ?float $transferTime = null, $handlerErrorData = null, array $handlerStats = [] ) { diff --git a/vendor/guzzlehttp/guzzle/src/Utils.php b/vendor/guzzlehttp/guzzle/src/Utils.php index 93d6d39..c6a5893 100644 --- a/vendor/guzzlehttp/guzzle/src/Utils.php +++ b/vendor/guzzlehttp/guzzle/src/Utils.php @@ -71,7 +71,7 @@ final class Utils return \STDOUT; } - return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w'); + return Psr7\Utils::tryFopen('php://output', 'w'); } /** @@ -79,7 +79,7 @@ final class Utils * * The returned handler is not wrapped by any default middlewares. * - * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system. + * @return callable(\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. * * @throws \RuntimeException if no viable Handler is available. */ @@ -87,7 +87,7 @@ final class Utils { $handler = null; - if (\defined('CURLOPT_CUSTOMREQUEST')) { + if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) { if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) { $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler()); } elseif (\function_exists('curl_exec')) { diff --git a/vendor/guzzlehttp/guzzle/src/functions.php b/vendor/guzzlehttp/guzzle/src/functions.php index 5edc66a..9ab4b96 100644 --- a/vendor/guzzlehttp/guzzle/src/functions.php +++ b/vendor/guzzlehttp/guzzle/src/functions.php @@ -50,7 +50,7 @@ function debug_resource($value = null) * * The returned handler is not wrapped by any default middlewares. * - * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the best handler for the given system. + * @return callable(\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system. * * @throws \RuntimeException if no viable Handler is available. * diff --git a/vendor/guzzlehttp/promises/CHANGELOG.md b/vendor/guzzlehttp/promises/CHANGELOG.md index c73afb9..7df9c0a 100644 --- a/vendor/guzzlehttp/promises/CHANGELOG.md +++ b/vendor/guzzlehttp/promises/CHANGELOG.md @@ -1,6 +1,41 @@ # CHANGELOG +## 2.3.0 - 2025-08-22 + +### Added + +- PHP 8.5 support + + +## 2.2.0 - 2025-03-27 + +### Fixed + +- Revert "Allow an empty EachPromise to be resolved by running the queue" + + +## 2.1.0 - 2025-03-27 + +### Added + +- Allow an empty EachPromise to be resolved by running the queue + + +## 2.0.4 - 2024-10-17 + +### Fixed + +- Once settled, don't allow further rejection of additional promises + + +## 2.0.3 - 2024-07-18 + +### Changed + +- PHP 8.4 support + + ## 2.0.2 - 2023-12-03 ### Changed diff --git a/vendor/guzzlehttp/promises/README.md b/vendor/guzzlehttp/promises/README.md index a32d3d2..493a931 100644 --- a/vendor/guzzlehttp/promises/README.md +++ b/vendor/guzzlehttp/promises/README.md @@ -38,10 +38,10 @@ composer require guzzlehttp/promises ## Version Guidance -| Version | Status | PHP Version | -|---------|------------------------|--------------| -| 1.x | Bug and security fixes | >=5.5,<8.3 | -| 2.x | Latest | >=7.2.5,<8.4 | +| Version | Status | PHP Version | +|---------|---------------------|--------------| +| 1.x | Security fixes only | >=5.5,<8.3 | +| 2.x | Latest | >=7.2.5,<8.6 | ## Quick Start diff --git a/vendor/guzzlehttp/promises/composer.json b/vendor/guzzlehttp/promises/composer.json index 6c5bdd6..9d6e856 100644 --- a/vendor/guzzlehttp/promises/composer.json +++ b/vendor/guzzlehttp/promises/composer.json @@ -30,7 +30,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "autoload": { "psr-4": { diff --git a/vendor/guzzlehttp/promises/src/Coroutine.php b/vendor/guzzlehttp/promises/src/Coroutine.php index 0b5b9c0..0da0228 100644 --- a/vendor/guzzlehttp/promises/src/Coroutine.php +++ b/vendor/guzzlehttp/promises/src/Coroutine.php @@ -84,8 +84,8 @@ final class Coroutine implements PromiseInterface } public function then( - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface { return $this->result->then($onFulfilled, $onRejected); } diff --git a/vendor/guzzlehttp/promises/src/Each.php b/vendor/guzzlehttp/promises/src/Each.php index c09d23c..dd72c83 100644 --- a/vendor/guzzlehttp/promises/src/Each.php +++ b/vendor/guzzlehttp/promises/src/Each.php @@ -23,8 +23,8 @@ final class Each */ public static function of( $iterable, - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface { return (new EachPromise($iterable, [ 'fulfilled' => $onFulfilled, @@ -46,8 +46,8 @@ final class Each public static function ofLimit( $iterable, $concurrency, - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface { return (new EachPromise($iterable, [ 'fulfilled' => $onFulfilled, @@ -67,7 +67,7 @@ final class Each public static function ofLimitAll( $iterable, $concurrency, - callable $onFulfilled = null + ?callable $onFulfilled = null ): PromiseInterface { return self::ofLimit( $iterable, diff --git a/vendor/guzzlehttp/promises/src/FulfilledPromise.php b/vendor/guzzlehttp/promises/src/FulfilledPromise.php index ab71296..727ec31 100644 --- a/vendor/guzzlehttp/promises/src/FulfilledPromise.php +++ b/vendor/guzzlehttp/promises/src/FulfilledPromise.php @@ -31,8 +31,8 @@ class FulfilledPromise implements PromiseInterface } public function then( - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface { // Return itself if there is no onFulfilled function. if (!$onFulfilled) { diff --git a/vendor/guzzlehttp/promises/src/Promise.php b/vendor/guzzlehttp/promises/src/Promise.php index 1b07bdc..c0c5be2 100644 --- a/vendor/guzzlehttp/promises/src/Promise.php +++ b/vendor/guzzlehttp/promises/src/Promise.php @@ -25,16 +25,16 @@ class Promise implements PromiseInterface * @param callable $cancelFn Fn that when invoked cancels the promise. */ public function __construct( - callable $waitFn = null, - callable $cancelFn = null + ?callable $waitFn = null, + ?callable $cancelFn = null ) { $this->waitFn = $waitFn; $this->cancelFn = $cancelFn; } public function then( - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface { if ($this->state === self::PENDING) { $p = new Promise(null, [$this, 'cancel']); diff --git a/vendor/guzzlehttp/promises/src/PromiseInterface.php b/vendor/guzzlehttp/promises/src/PromiseInterface.php index 2824802..c11721e 100644 --- a/vendor/guzzlehttp/promises/src/PromiseInterface.php +++ b/vendor/guzzlehttp/promises/src/PromiseInterface.php @@ -27,8 +27,8 @@ interface PromiseInterface * @param callable $onRejected Invoked when the promise is rejected. */ public function then( - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface; /** diff --git a/vendor/guzzlehttp/promises/src/RejectedPromise.php b/vendor/guzzlehttp/promises/src/RejectedPromise.php index d947da1..1ebf0b2 100644 --- a/vendor/guzzlehttp/promises/src/RejectedPromise.php +++ b/vendor/guzzlehttp/promises/src/RejectedPromise.php @@ -31,8 +31,8 @@ class RejectedPromise implements PromiseInterface } public function then( - callable $onFulfilled = null, - callable $onRejected = null + ?callable $onFulfilled = null, + ?callable $onRejected = null ): PromiseInterface { // If there's no onRejected callback then just return self. if (!$onRejected) { diff --git a/vendor/guzzlehttp/promises/src/RejectionException.php b/vendor/guzzlehttp/promises/src/RejectionException.php index 72a81ba..47dca86 100644 --- a/vendor/guzzlehttp/promises/src/RejectionException.php +++ b/vendor/guzzlehttp/promises/src/RejectionException.php @@ -18,7 +18,7 @@ class RejectionException extends \RuntimeException * @param mixed $reason Rejection reason. * @param string|null $description Optional description. */ - public function __construct($reason, string $description = null) + public function __construct($reason, ?string $description = null) { $this->reason = $reason; diff --git a/vendor/guzzlehttp/promises/src/Utils.php b/vendor/guzzlehttp/promises/src/Utils.php index e1570d7..3193d2a 100644 --- a/vendor/guzzlehttp/promises/src/Utils.php +++ b/vendor/guzzlehttp/promises/src/Utils.php @@ -21,7 +21,7 @@ final class Utils * * @param TaskQueueInterface|null $assign Optionally specify a new queue instance. */ - public static function queue(TaskQueueInterface $assign = null): TaskQueueInterface + public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface { static $queue; @@ -144,7 +144,9 @@ final class Utils $results[$idx] = $value; }, function ($reason, $idx, Promise $aggregate): void { - $aggregate->reject($reason); + if (Is::pending($aggregate)) { + $aggregate->reject($reason); + } } )->then(function () use (&$results) { ksort($results); diff --git a/vendor/guzzlehttp/psr7/CHANGELOG.md b/vendor/guzzlehttp/psr7/CHANGELOG.md index fe3eda7..4a2a121 100644 --- a/vendor/guzzlehttp/psr7/CHANGELOG.md +++ b/vendor/guzzlehttp/psr7/CHANGELOG.md @@ -5,6 +5,43 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 2.8.0 - 2025-08-23 + +### Added + +- Allow empty lists as header values + +### Changed + +- PHP 8.5 support + +## 2.7.1 - 2025-03-27 + +### Fixed + +- Fixed uppercase IPv6 addresses in URI + +### Changed + +- Improve uploaded file error message + +## 2.7.0 - 2024-07-18 + +### Added + +- Add `Utils::redactUserInfo()` method +- Add ability to encode bools as ints in `Query::build` + +## 2.6.3 - 2024-07-18 + +### Fixed + +- Make `StreamWrapper::stream_stat()` return `false` if inner stream's size is `null` + +### Changed + +- PHP 8.4 support + ## 2.6.2 - 2023-12-03 ### Fixed diff --git a/vendor/guzzlehttp/psr7/README.md b/vendor/guzzlehttp/psr7/README.md index 850fa9d..24aad86 100644 --- a/vendor/guzzlehttp/psr7/README.md +++ b/vendor/guzzlehttp/psr7/README.md @@ -24,8 +24,8 @@ composer require guzzlehttp/psr7 | Version | Status | PHP Version | |---------|---------------------|--------------| -| 1.x | Security fixes only | >=5.4,<8.1 | -| 2.x | Latest | >=7.2.5,<8.4 | +| 1.x | EOL (2024-06-30) | >=5.4,<8.2 | +| 2.x | Latest | >=7.2.5,<8.6 | ## AppendStream @@ -436,7 +436,7 @@ will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`. ## `GuzzleHttp\Psr7\Query::build` -`public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986): string` +`public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string` Build a query string from an array of key value pairs. @@ -498,11 +498,18 @@ a message. ## `GuzzleHttp\Psr7\Utils::readLine` -`public static function readLine(StreamInterface $stream, int $maxLength = null): string` +`public static function readLine(StreamInterface $stream, ?int $maxLength = null): string` Read a line from the stream up to the maximum allowed buffer length. +## `GuzzleHttp\Psr7\Utils::redactUserInfo` + +`public static function redactUserInfo(UriInterface $uri): UriInterface` + +Redact the password in the user info part of a URI. + + ## `GuzzleHttp\Psr7\Utils::streamFor` `public static function streamFor(resource|string|null|int|float|bool|StreamInterface|callable|\Iterator $resource = '', array $options = []): StreamInterface` @@ -674,7 +681,7 @@ termed a relative-path reference. ### `GuzzleHttp\Psr7\Uri::isSameDocumentReference` -`public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool` +`public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool` Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its fragment component, identical to the base URI. When no base URI is given, only an empty URI reference diff --git a/vendor/guzzlehttp/psr7/composer.json b/vendor/guzzlehttp/psr7/composer.json index 70293fc..96098f5 100644 --- a/vendor/guzzlehttp/psr7/composer.json +++ b/vendor/guzzlehttp/psr7/composer.json @@ -61,8 +61,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" diff --git a/vendor/guzzlehttp/psr7/src/CachingStream.php b/vendor/guzzlehttp/psr7/src/CachingStream.php index f34722c..7e4554d 100644 --- a/vendor/guzzlehttp/psr7/src/CachingStream.php +++ b/vendor/guzzlehttp/psr7/src/CachingStream.php @@ -33,7 +33,7 @@ final class CachingStream implements StreamInterface */ public function __construct( StreamInterface $stream, - StreamInterface $target = null + ?StreamInterface $target = null ) { $this->remoteStream = $stream; $this->stream = $target ?: new Stream(Utils::tryFopen('php://temp', 'r+')); diff --git a/vendor/guzzlehttp/psr7/src/HttpFactory.php b/vendor/guzzlehttp/psr7/src/HttpFactory.php index 73d17e3..3ef1510 100644 --- a/vendor/guzzlehttp/psr7/src/HttpFactory.php +++ b/vendor/guzzlehttp/psr7/src/HttpFactory.php @@ -27,10 +27,10 @@ final class HttpFactory implements RequestFactoryInterface, ResponseFactoryInter { public function createUploadedFile( StreamInterface $stream, - int $size = null, + ?int $size = null, int $error = \UPLOAD_ERR_OK, - string $clientFilename = null, - string $clientMediaType = null + ?string $clientFilename = null, + ?string $clientMediaType = null ): UploadedFileInterface { if ($size === null) { $size = $stream->getSize(); diff --git a/vendor/guzzlehttp/psr7/src/MessageTrait.php b/vendor/guzzlehttp/psr7/src/MessageTrait.php index 65dbc4b..c15ee63 100644 --- a/vendor/guzzlehttp/psr7/src/MessageTrait.php +++ b/vendor/guzzlehttp/psr7/src/MessageTrait.php @@ -174,10 +174,6 @@ trait MessageTrait return $this->trimAndValidateHeaderValues([$value]); } - if (count($value) === 0) { - throw new \InvalidArgumentException('Header value can not be an empty array.'); - } - return $this->trimAndValidateHeaderValues($value); } diff --git a/vendor/guzzlehttp/psr7/src/MultipartStream.php b/vendor/guzzlehttp/psr7/src/MultipartStream.php index d23fba8..43d718f 100644 --- a/vendor/guzzlehttp/psr7/src/MultipartStream.php +++ b/vendor/guzzlehttp/psr7/src/MultipartStream.php @@ -32,7 +32,7 @@ final class MultipartStream implements StreamInterface * * @throws \InvalidArgumentException */ - public function __construct(array $elements = [], string $boundary = null) + public function __construct(array $elements = [], ?string $boundary = null) { $this->boundary = $boundary ?: bin2hex(random_bytes(20)); $this->stream = $this->createStream($elements); diff --git a/vendor/guzzlehttp/psr7/src/Query.php b/vendor/guzzlehttp/psr7/src/Query.php index 8b94927..ccf867a 100644 --- a/vendor/guzzlehttp/psr7/src/Query.php +++ b/vendor/guzzlehttp/psr7/src/Query.php @@ -63,12 +63,15 @@ final class Query * string. This function does not modify the provided keys when an array is * encountered (like `http_build_query()` would). * - * @param array $params Query string parameters. - * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986 - * to encode using RFC3986, or PHP_QUERY_RFC1738 - * to encode using RFC1738. + * @param array $params Query string parameters. + * @param int|false $encoding Set to false to not encode, + * PHP_QUERY_RFC3986 to encode using + * RFC3986, or PHP_QUERY_RFC1738 to + * encode using RFC1738. + * @param bool $treatBoolsAsInts Set to true to encode as 0/1, and + * false as false/true. */ - public static function build(array $params, $encoding = PHP_QUERY_RFC3986): string + public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string { if (!$params) { return ''; @@ -86,12 +89,14 @@ final class Query throw new \InvalidArgumentException('Invalid type'); } + $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; }; + $qs = ''; foreach ($params as $k => $v) { $k = $encoder((string) $k); if (!is_array($v)) { $qs .= $k; - $v = is_bool($v) ? (int) $v : $v; + $v = is_bool($v) ? $castBool($v) : $v; if ($v !== null) { $qs .= '='.$encoder((string) $v); } @@ -99,7 +104,7 @@ final class Query } else { foreach ($v as $vv) { $qs .= $k; - $vv = is_bool($vv) ? (int) $vv : $vv; + $vv = is_bool($vv) ? $castBool($vv) : $vv; if ($vv !== null) { $qs .= '='.$encoder((string) $vv); } diff --git a/vendor/guzzlehttp/psr7/src/Response.php b/vendor/guzzlehttp/psr7/src/Response.php index 00f16e2..34e612f 100644 --- a/vendor/guzzlehttp/psr7/src/Response.php +++ b/vendor/guzzlehttp/psr7/src/Response.php @@ -96,7 +96,7 @@ class Response implements ResponseInterface array $headers = [], $body = null, string $version = '1.1', - string $reason = null + ?string $reason = null ) { $this->assertStatusCodeRange($status); diff --git a/vendor/guzzlehttp/psr7/src/StreamWrapper.php b/vendor/guzzlehttp/psr7/src/StreamWrapper.php index ae85388..77b04d7 100644 --- a/vendor/guzzlehttp/psr7/src/StreamWrapper.php +++ b/vendor/guzzlehttp/psr7/src/StreamWrapper.php @@ -69,7 +69,7 @@ final class StreamWrapper } } - public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool + public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool { $options = stream_context_get_options($this->context); @@ -136,10 +136,14 @@ final class StreamWrapper * ctime: int, * blksize: int, * blocks: int - * } + * }|false */ - public function stream_stat(): array + public function stream_stat() { + if ($this->stream->getSize() === null) { + return false; + } + static $modeMap = [ 'r' => 33060, 'rb' => 33060, diff --git a/vendor/guzzlehttp/psr7/src/UploadedFile.php b/vendor/guzzlehttp/psr7/src/UploadedFile.php index b267199..d9b779f 100644 --- a/vendor/guzzlehttp/psr7/src/UploadedFile.php +++ b/vendor/guzzlehttp/psr7/src/UploadedFile.php @@ -11,15 +11,15 @@ use RuntimeException; class UploadedFile implements UploadedFileInterface { - private const ERRORS = [ - UPLOAD_ERR_OK, - UPLOAD_ERR_INI_SIZE, - UPLOAD_ERR_FORM_SIZE, - UPLOAD_ERR_PARTIAL, - UPLOAD_ERR_NO_FILE, - UPLOAD_ERR_NO_TMP_DIR, - UPLOAD_ERR_CANT_WRITE, - UPLOAD_ERR_EXTENSION, + private const ERROR_MAP = [ + UPLOAD_ERR_OK => 'UPLOAD_ERR_OK', + UPLOAD_ERR_INI_SIZE => 'UPLOAD_ERR_INI_SIZE', + UPLOAD_ERR_FORM_SIZE => 'UPLOAD_ERR_FORM_SIZE', + UPLOAD_ERR_PARTIAL => 'UPLOAD_ERR_PARTIAL', + UPLOAD_ERR_NO_FILE => 'UPLOAD_ERR_NO_FILE', + UPLOAD_ERR_NO_TMP_DIR => 'UPLOAD_ERR_NO_TMP_DIR', + UPLOAD_ERR_CANT_WRITE => 'UPLOAD_ERR_CANT_WRITE', + UPLOAD_ERR_EXTENSION => 'UPLOAD_ERR_EXTENSION', ]; /** @@ -64,8 +64,8 @@ class UploadedFile implements UploadedFileInterface $streamOrFile, ?int $size, int $errorStatus, - string $clientFilename = null, - string $clientMediaType = null + ?string $clientFilename = null, + ?string $clientMediaType = null ) { $this->setError($errorStatus); $this->size = $size; @@ -104,7 +104,7 @@ class UploadedFile implements UploadedFileInterface */ private function setError(int $error): void { - if (false === in_array($error, UploadedFile::ERRORS, true)) { + if (!isset(UploadedFile::ERROR_MAP[$error])) { throw new InvalidArgumentException( 'Invalid error status for UploadedFile' ); @@ -137,7 +137,7 @@ class UploadedFile implements UploadedFileInterface private function validateActive(): void { if (false === $this->isOk()) { - throw new RuntimeException('Cannot retrieve stream due to upload error'); + throw new RuntimeException(\sprintf('Cannot retrieve stream due to upload error (%s)', self::ERROR_MAP[$this->error])); } if ($this->isMoved()) { diff --git a/vendor/guzzlehttp/psr7/src/Uri.php b/vendor/guzzlehttp/psr7/src/Uri.php index f1feee8..a7cdfb0 100644 --- a/vendor/guzzlehttp/psr7/src/Uri.php +++ b/vendor/guzzlehttp/psr7/src/Uri.php @@ -107,7 +107,7 @@ class Uri implements UriInterface, \JsonSerializable { // If IPv6 $prefix = ''; - if (preg_match('%^(.*://\[[0-9:a-f]+\])(.*?)$%', $url, $matches)) { + if (preg_match('%^(.*://\[[0-9:a-fA-F]+\])(.*?)$%', $url, $matches)) { /** @var array{0:string, 1:string, 2:string} $matches */ $prefix = $matches[1]; $url = $matches[2]; @@ -279,7 +279,7 @@ class Uri implements UriInterface, \JsonSerializable * * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4 */ - public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool + public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool { if ($base !== null) { $uri = UriResolver::resolve($base, $uri); diff --git a/vendor/guzzlehttp/psr7/src/Utils.php b/vendor/guzzlehttp/psr7/src/Utils.php index bf5ea9d..5451e3d 100644 --- a/vendor/guzzlehttp/psr7/src/Utils.php +++ b/vendor/guzzlehttp/psr7/src/Utils.php @@ -231,7 +231,7 @@ final class Utils * @param StreamInterface $stream Stream to read from * @param int|null $maxLength Maximum buffer length */ - public static function readLine(StreamInterface $stream, int $maxLength = null): string + public static function readLine(StreamInterface $stream, ?int $maxLength = null): string { $buffer = ''; $size = 0; @@ -250,6 +250,20 @@ final class Utils return $buffer; } + /** + * Redact the password in the user info part of a URI. + */ + public static function redactUserInfo(UriInterface $uri): UriInterface + { + $userInfo = $uri->getUserInfo(); + + if (false !== ($pos = \strpos($userInfo, ':'))) { + return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***'); + } + + return $uri; + } + /** * Create a new stream based on the input type. * @@ -383,7 +397,7 @@ final class Utils restore_error_handler(); if ($ex) { - /** @var $ex \RuntimeException */ + /** @var \RuntimeException $ex */ throw $ex; } @@ -430,7 +444,7 @@ final class Utils restore_error_handler(); if ($ex) { - /** @var $ex \RuntimeException */ + /** @var \RuntimeException $ex */ throw $ex; } diff --git a/vendor/phpoffice/phpspreadsheet/CHANGELOG.md b/vendor/phpoffice/phpspreadsheet/CHANGELOG.md index 295f4fe..4e36a8d 100644 --- a/vendor/phpoffice/phpspreadsheet/CHANGELOG.md +++ b/vendor/phpoffice/phpspreadsheet/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com) and this project adheres to [Semantic Versioning](https://semver.org). Thia is always true of the master branch. Some earlier branches remain supported and security fixes are applied to them; if the security fix represents a breaking change, it may have to be applied as a minor or patch version. -## TBD - 5.2.0 +## TBD - 5.3.0 ### Added @@ -31,6 +31,39 @@ and this project adheres to [Semantic Versioning](https://semver.org). Thia is a - Nothing yet. +## 2025-10-25 - 5.2.0 + +### Added + +- This release should be usable with Php8.5 Release Candidates without deprecation messages. +- Option to display numbers with less precision. [Issue #4626](https://github.com/PHPOffice/PhpSpreadsheet/issues/4626) [PR #4640](https://github.com/PHPOffice/PhpSpreadsheet/pull/4640) +- Offer Tcpdf Interface which throws exception rather than die. [PR #4666](https://github.com/PHPOffice/PhpSpreadsheet/pull/4666) +- Xls Reader ListWorksheetDimensions method. [PR #4689](https://github.com/PHPOffice/PhpSpreadsheet/pull/4689) + +### Deprecated + +- Worksheet::getHashInt serves no useful purpose. No replacement. +- Spreadsheet::getId serves no useful purpose. No replacement. + +### Fixed + +- Performance improvement when working with large amounts of cells. [Issue #4607](https://github.com/PHPOffice/PhpSpreadsheet/issues/4607) [PR #4609](https://github.com/PHPOffice/PhpSpreadsheet/pull/4609) +- Minor improvements to Calculation coverage. [PR #4624](https://github.com/PHPOffice/PhpSpreadsheet/pull/4624) +- Conditional formatting in extLst. [Issue #4629](https://github.com/PHPOffice/PhpSpreadsheet/issues/4629) [PR #4633](https://github.com/PHPOffice/PhpSpreadsheet/pull/4633) +- Php8.5 deprecates use of null as array index. [PR #4634](https://github.com/PHPOffice/PhpSpreadsheet/pull/4634) +- Wrapped cells and default row height. [Issue #4584](https://github.com/PHPOffice/PhpSpreadsheet/issues/4584) [PR #4645](https://github.com/PHPOffice/PhpSpreadsheet/pull/4645) +- For Php8.5, replace one of our two uses of `__wakeup` with `__unserialize`, and eliminate the other. [PR #4639](https://github.com/PHPOffice/PhpSpreadsheet/pull/4639) +- Use prefix _xlfn for BASE function. [Issue #4638](https://github.com/PHPOffice/PhpSpreadsheet/issues/4638) [PR #4641](https://github.com/PHPOffice/PhpSpreadsheet/pull/4641) +- Warning messages with corrupt Xls file. [Issue #4647](https://github.com/PHPOffice/PhpSpreadsheet/issues/4647) [PR #4648](https://github.com/PHPOffice/PhpSpreadsheet/pull/4648) +- Additional support for union and intersection. [PR #4596](https://github.com/PHPOffice/PhpSpreadsheet/pull/4596) +- Missing array keys x,o,v for Xml Reader. [Issue #4668](https://github.com/PHPOffice/PhpSpreadsheet/issues/4668) [PR #4669](https://github.com/PHPOffice/PhpSpreadsheet/pull/4669) +- Missing array key x for Xlsx Reader VML. [Issue #4505](https://github.com/PHPOffice/PhpSpreadsheet/issues/4505) [PR #4676](https://github.com/PHPOffice/PhpSpreadsheet/pull/4676) +- Better support for Style Alignment Read Order. [Issue #850](https://github.com/PHPOffice/PhpSpreadsheet/issues/850) [PR #4655](https://github.com/PHPOffice/PhpSpreadsheet/pull/4655) +- More sophisticated workbook password algorithms (Xlsx only). [Issue #4673](https://github.com/PHPOffice/PhpSpreadsheet/issues/4673) [PR #4675](https://github.com/PHPOffice/PhpSpreadsheet/pull/4675) +- Xls Writer fix DIMENSIONS record. [Issue #4682](https://github.com/PHPOffice/PhpSpreadsheet/issues/4682) [PR #4687](https://github.com/PHPOffice/PhpSpreadsheet/pull/4687) +- Xls Reader listWorksheetInfo process MULRK records. [PR #4689](https://github.com/PHPOffice/PhpSpreadsheet/pull/4689) +- Make Reader Xls Escher generic. [PR #4690](https://github.com/PHPOffice/PhpSpreadsheet/pull/4690) + ## 2025-09-03 - 5.1.0 ### Added diff --git a/vendor/phpoffice/phpspreadsheet/composer.json b/vendor/phpoffice/phpspreadsheet/composer.json index bf03b9a..d26157e 100644 --- a/vendor/phpoffice/phpspreadsheet/composer.json +++ b/vendor/phpoffice/phpspreadsheet/composer.json @@ -92,18 +92,18 @@ "dealerdirect/phpcodesniffer-composer-installer": "dev-main", "dompdf/dompdf": "^2.0 || ^3.0", "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.3", + "mitoteam/jpgraph": "^10.5", "mpdf/mpdf": "^8.1.1", "phpcompatibility/php-compatibility": "^9.3", "phpstan/phpstan": "^1.1 || ^2.0", - "phpstan/phpstan-phpunit": "^1.0 || ^2.0", "phpstan/phpstan-deprecation-rules": "^1.0 || ^2.0", + "phpstan/phpstan-phpunit": "^1.0 || ^2.0", "phpunit/phpunit": "^10.5", "squizlabs/php_codesniffer": "^3.7", "tecnickcom/tcpdf": "^6.5" }, "suggest": { - "ext-intl": "PHP Internationalization Functions", + "ext-intl": "PHP Internationalization Functions, regquired for NumberFormat Wizard", "mpdf/mpdf": "Option for rendering PDF with PDF Writer", "dompdf/dompdf": "Option for rendering PDF with PDF Writer", "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer", diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php index c577249..abdd4c8 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php @@ -888,7 +888,7 @@ class Calculation extends CalculationLocale } } if ($matrix1Rows < $matrix2Rows) { - $x = ($matrix1Rows === 1) ? $matrix1[0] : array_fill(0, $matrix1Columns, null); + $x = ($matrix1Rows === 1) ? $matrix1[0] : array_fill(0, $matrix2Columns, null); for ($i = $matrix1Rows; $i < $matrix2Rows; ++$i) { $matrix1[$i] = $x; } @@ -1095,6 +1095,10 @@ class Calculation extends CalculationLocale $this->branchPruner->initialiseForLoop(); $opCharacter = $formula[$index]; // Get the first character of the value at the current index position + if ($opCharacter === "\xe2") { // intersection or union + $opCharacter .= $formula[++$index]; + $opCharacter .= $formula[++$index]; + } // Check for two-character operators (e.g. >=, <=, <>) if ((isset(self::COMPARISON_OPERATORS[$opCharacter])) && (strlen($formula) > $index) && isset($formula[$index + 1], self::COMPARISON_OPERATORS[$formula[$index + 1]])) { @@ -1115,7 +1119,7 @@ class Calculation extends CalculationLocale ++$index; } elseif ($opCharacter === '+' && !$expectingOperator) { // Positive (unary plus rather than binary operator plus) can be discarded? ++$index; // Drop the redundant plus symbol - } elseif ((($opCharacter === '~') || ($opCharacter === '∩') || ($opCharacter === '∪')) && (!$isOperandOrFunction)) { + } elseif ((($opCharacter === '~') /*|| ($opCharacter === '∩') || ($opCharacter === '∪')*/) && (!$isOperandOrFunction)) { // We have to explicitly deny a tilde, union or intersect because they are legal return $this->raiseFormulaError("Formula Error: Illegal character '~'"); // on the stack but not in the input expression } elseif ((isset(self::CALCULATION_OPERATORS[$opCharacter]) || $isOperandOrFunction) && $expectingOperator) { // Are we putting an operator on the stack? @@ -1233,6 +1237,15 @@ class Calculation extends CalculationLocale // MS Excel allows this if the content is cell references; but doesn't allow actual values, // but at this point, we can't differentiate (so allow both) return $this->raiseFormulaError('Formula Error: Unexpected ,'); + /* The following code may be a better choice, but, with + the other changes for this PR, I can no longer come up + with a test case that gets here + $stack->push('Binary Operator', '∪'); + + ++$index; + $expectingOperator = false; + + continue;*/ } /** @var array $d */ @@ -1699,7 +1712,7 @@ class Calculation extends CalculationLocale return $this->raiseFormulaError($e->getMessage(), $e->getCode(), $e); } } - } elseif (!is_numeric($token) && !is_object($token) && isset(self::BINARY_OPERATORS[$token])) { + } elseif (!is_numeric($token) && !is_object($token) && isset($token, self::BINARY_OPERATORS[$token])) { //* @phpstan-ignore-line // if the token is a binary operator, pop the top two values off the stack, do the operation, and push the result back on the stack // We must have two operands, error if we don't $operand2Data = $stack->pop(); @@ -1927,6 +1940,14 @@ class Calculation extends CalculationLocale $stack->push('Value', $cellIntersect, $cellRef); } + break; + case '∪': // union + /** @var mixed[][] $operand1 */ + /** @var mixed[][] $operand2 */ + $cellUnion = array_merge($operand1, $operand2); + $this->debugLog->writeDebugLog('Evaluation Result is %s', $this->showTypeDetails($cellUnion)); + $stack->push('Value', $cellUnion, 'A1'); + break; } } elseif (($token === '~') || ($token === '%')) { @@ -2792,6 +2813,14 @@ class Calculation extends CalculationLocale $definedNameValue = $namedRange->getValue(); $definedNameType = $namedRange->isFormula() ? 'Formula' : 'Range'; + if ($definedNameType === 'Range') { + if (preg_match('/^(.*!)?(.*)$/', $definedNameValue, $matches) === 1) { + $matches2 = trim($matches[2]); + $matches2 = preg_replace('/ +/', ' ∩ ', $matches2) ?? $matches2; + $matches2 = preg_replace('/,/', ' ∪ ', $matches2) ?? $matches2; + $definedNameValue = $matches[1] . $matches2; + } + } $definedNameWorksheet = $namedRange->getWorksheet(); if ($definedNameValue[0] !== '=') { @@ -2879,6 +2908,7 @@ class Calculation extends CalculationLocale if ($stack->count() > 0) { $o2 = $stack->last(); if ($o2) { + /** @var array{value: string} $o2 */ if (isset(self::CALCULATION_OPERATORS[$o2['value']])) { $retVal = (self::OPERATOR_PRECEDENCE[$opCharacter] ?? 0) <= self::OPERATOR_PRECEDENCE[$o2['value']]; } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationLocale.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationLocale.php index 027ffe0..40092b6 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationLocale.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/CalculationLocale.php @@ -63,6 +63,11 @@ class CalculationLocale extends CalculationBase $filename = substr($filename, strlen($localeFileDirectory)); if ($filename != 'en') { self::$validLocaleLanguages[] = $filename; + $subdirs = glob("$localeFileDirectory$filename/*", GLOB_ONLYDIR) ?: []; + foreach ($subdirs as $subdir) { + $subdirx = basename($subdir); + self::$validLocaleLanguages[] = "{$filename}_{$subdirx}"; + } } } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php index 5c72a19..052b9f5 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php @@ -117,9 +117,9 @@ abstract class DatabaseAbstract /** @var mixed[] $row */ foreach ($database as $rowKey => $row) { $keys = array_keys($row); - $key = $keys[$field] ?? null; + $key = ($field === null) ? null : ($keys[$field] ?? null); $columnKey = $key ?? 'A'; - $columnData[$rowKey][$columnKey] = $row[$key] ?? $defaultReturnColumnValue; + $columnData[$rowKey][$columnKey] = ($key === null) ? $defaultReturnColumnValue : ($row[$key] ?? $defaultReturnColumnValue); } return $columnData; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php index 7004d08..687ab1b 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php @@ -102,7 +102,7 @@ class ArrayArgumentProcessor } /** - * @param mixed[] $matrixIndexes + * @param array $matrixIndexes * * @return mixed[] */ diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php index e6dbbcb..97e4c95 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php @@ -78,7 +78,7 @@ class BranchPruner private function initialiseCondition(): void { - if (isset($this->conditionMap[$this->pendingStoreKey]) && $this->conditionMap[$this->pendingStoreKey]) { + if (isset($this->pendingStoreKey, $this->conditionMap[$this->pendingStoreKey]) && $this->conditionMap[$this->pendingStoreKey]) { $this->currentCondition = $this->pendingStoreKey; $stackDepth = count($this->storeKeysStack); if ($stackDepth > 1) { @@ -90,7 +90,7 @@ class BranchPruner private function initialiseThen(): void { - if (isset($this->thenMap[$this->pendingStoreKey]) && $this->thenMap[$this->pendingStoreKey]) { + if (isset($this->pendingStoreKey, $this->thenMap[$this->pendingStoreKey]) && $this->thenMap[$this->pendingStoreKey]) { $this->currentOnlyIf = $this->pendingStoreKey; } elseif ( isset($this->previousStoreKey, $this->thenMap[$this->previousStoreKey]) @@ -102,7 +102,7 @@ class BranchPruner private function initialiseElse(): void { - if (isset($this->elseMap[$this->pendingStoreKey]) && $this->elseMap[$this->pendingStoreKey]) { + if (isset($this->pendingStoreKey, $this->elseMap[$this->pendingStoreKey]) && $this->elseMap[$this->pendingStoreKey]) { $this->currentOnlyIfNot = $this->pendingStoreKey; } elseif ( isset($this->previousStoreKey, $this->elseMap[$this->previousStoreKey]) diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php index f4806b4..c50fad6 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php @@ -21,8 +21,10 @@ class CyclicReferenceStack /** * Push a new entry onto the stack. + * + * @param int|string $value The value to test */ - public function push(mixed $value): void + public function push($value): void { $this->stack[$value] = $value; } @@ -38,9 +40,9 @@ class CyclicReferenceStack /** * Test to see if a specified entry exists on the stack. * - * @param mixed $value The value to test + * @param int|string $value The value to test */ - public function onStack(mixed $value): bool + public function onStack($value): bool { return isset($this->stack[$value]); } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php index 20cdd06..287e841 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php @@ -135,14 +135,14 @@ class Matrix return self::extractRowValue($matrix, $rowKeys, $rowNum); } - $columnNum = $columnKeys[--$columnNum]; + $columnNum = $columnKeys[--$columnNum]; //* @phpstan-ignore-line if ($rowNum === 0) { return array_map( fn ($value): array => [$value], array_column($matrix, $columnNum) ); } - $rowNum = $rowKeys[--$rowNum]; + $rowNum = $rowKeys[--$rowNum]; //* @phpstan-ignore-line /** @var mixed[][] $matrix */ return $matrix[$rowNum][$columnNum]; @@ -159,7 +159,7 @@ class Matrix } $rowNum = $rowKeys[--$rowNum]; - $row = $matrix[$rowNum]; + $row = $matrix[$rowNum]; //* @phpstan-ignore-line if (is_array($row)) { return [$rowNum => $row]; } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php index 352f5c8..78a30a4 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php @@ -335,6 +335,7 @@ class Sort extends LookupRefValidations // Building a new array in the correct (sorted) order works; but may be memory heavy for larger arrays $sortedArray = []; foreach ($sortVector as $index) { + /** @var int|string $index */ $sortedArray[] = $sortArray[$index]; } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php index ab58add..47c2c98 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php @@ -23,7 +23,7 @@ class Arabic /** * Recursively calculate the arabic value of a roman numeral. * - * @param mixed[] $roman + * @param string[] $roman */ private static function calculateArabic(array $roman, int &$sum = 0, int $subtract = 0): int { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php index f4c6a2b..d8e338c 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php @@ -77,11 +77,13 @@ class Round ); } + // @codeCoverageIgnoreStart if ($number < 0.0) { return round($number - 0.5 * 0.1 ** $digits, $digits, PHP_ROUND_HALF_DOWN); } return round($number + 0.5 * 0.1 ** $digits, $digits, PHP_ROUND_HALF_DOWN); + // @codeCoverageIgnoreEnd } /** @@ -121,11 +123,13 @@ class Round ); } + // @codeCoverageIgnoreStart if ($number < 0.0) { return round($number + 0.5 * 0.1 ** $digits, $digits, PHP_ROUND_HALF_UP); } return round($number - 0.5 * 0.1 ** $digits, $digits, PHP_ROUND_HALF_UP); + // @codeCoverageIgnoreEnd } /** diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php index 55eb2ae..5880982 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php @@ -163,7 +163,7 @@ class Averages extends AggregateBase sort($aArgs, SORT_NUMERIC); $valueCount = $valueCount / 2; if ($valueCount == floor($valueCount)) { - $returnValue = ($aArgs[$valueCount--] + $aArgs[$valueCount]) / 2; + $returnValue = ($aArgs[$valueCount--] + $aArgs[$valueCount]) / 2; //* @phpstan-ignore-line } else { $valueCount = (int) floor($valueCount); $returnValue = $aArgs[$valueCount]; @@ -243,7 +243,7 @@ class Averages extends AggregateBase $maxfreqkey = $key; $maxfreqdatum = $datum; } elseif ($freq == $maxfreq) { - if ($frequencyArray[$key]['index'] < $frequencyArray[$maxfreqkey]['index']) { + if ($frequencyArray[$key]['index'] < $frequencyArray[$maxfreqkey]['index']) { //* @phpstan-ignore-line $maxfreqkey = $key; $maxfreqdatum = $datum; } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php index 41541e8..e9fbabb 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php @@ -453,6 +453,7 @@ class Cell implements Stringable } $newColumn = $this->getColumn(); if (is_array($result)) { + $result = self::convertSpecialArray($result); $this->formulaAttributes['t'] = 'array'; $this->formulaAttributes['ref'] = $maxCoordinate = $coordinate; $newRow = $row = $this->getRow(); @@ -581,6 +582,36 @@ class Cell implements Stringable return $this->convertDateTimeInt($this->value); } + /** + * Convert array like the following (preserve values, lose indexes): + * [ + * rowNumber1 => [colLetter1 => value, colLetter2 => value ...], + * rowNumber2 => [colLetter1 => value, colLetter2 => value ...], + * ... + * ]. + * + * @param mixed[] $array + * + * @return mixed[] + */ + private static function convertSpecialArray(array $array): array + { + $newArray = []; + foreach ($array as $rowIndex => $row) { + if (!is_int($rowIndex) || $rowIndex <= 0 || !is_array($row)) { + return $array; + } + $keys = array_keys($row); + $key0 = $keys[0] ?? ''; + if (!is_string($key0)) { + return $array; + } + $newArray[] = array_values($row); + } + + return $newArray; + } + /** * Set old calculated value (cached). * diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php index 78a2bbe..f378932 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php @@ -333,16 +333,12 @@ class DataSeriesValues extends Properties * Method for validating hex color. * * @param string $color value for color - * - * @return bool true if validation was successful */ - private function validateColor(string $color): bool + private function validateColor(string $color): void { if (!preg_match('/^[a-f0-9]{6}$/i', $color)) { throw new Exception(sprintf('Invalid hex color for chart series (color: "%s")', $color)); } - - return true; } /** diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php index 365c37e..0661867 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php @@ -43,6 +43,25 @@ class Cells */ private array $index = []; + /** + * Flag to avoid sorting the index every time. + */ + private bool $indexSorted = false; + + /** + * Index keys cache to avoid recalculating on large arrays. + * + * @var null|string[] + */ + private ?array $indexKeysCache = null; + + /** + * Index values cache to avoid recalculating on large arrays. + * + * @var null|int[] + */ + private ?array $indexValuesCache = null; + /** * Prefix used to uniquely identify cache data for this worksheet. */ @@ -112,6 +131,10 @@ class Cells unset($this->index[$cellCoordinate]); + // Clear index caches + $this->indexKeysCache = null; + $this->indexValuesCache = null; + // Delete the entry from cache $this->cache->delete($this->cachePrefix . $cellCoordinate); } @@ -123,7 +146,12 @@ class Cells */ public function getCoordinates(): array { - return array_keys($this->index); + // Build or rebuild index keys cache + if ($this->indexKeysCache === null) { + $this->indexKeysCache = array_keys($this->index); + } + + return $this->indexKeysCache; } /** @@ -133,9 +161,21 @@ class Cells */ public function getSortedCoordinates(): array { - asort($this->index); + // Sort only when required + if (!$this->indexSorted) { + asort($this->index); + $this->indexSorted = true; + // Clear unsorted cache + $this->indexKeysCache = null; + $this->indexValuesCache = null; + } - return array_keys($this->index); + // Build or rebuild index keys cache + if ($this->indexKeysCache === null) { + $this->indexKeysCache = array_keys($this->index); + } + + return $this->indexKeysCache; } /** @@ -145,9 +185,19 @@ class Cells */ public function getSortedCoordinatesInt(): array { - asort($this->index); + if (!$this->indexSorted) { + asort($this->index); + $this->indexSorted = true; + // Clear unsorted cache + $this->indexKeysCache = null; + $this->indexValuesCache = null; + } - return array_values($this->index); + if ($this->indexValuesCache === null) { + $this->indexValuesCache = array_values($this->index); + } + + return $this->indexValuesCache; } /** @@ -300,6 +350,11 @@ class Cells } } + // Clear index sorted flag and index caches + $newCollection->indexSorted = false; + $newCollection->indexKeysCache = null; + $newCollection->indexValuesCache = null; + return $newCollection; } @@ -390,6 +445,11 @@ class Cells /** @var int $row */ $this->index[$cellCoordinate] = (--$row * self::MAX_COLUMN_ID) + Coordinate::columnIndexFromString((string) $column); + // Clear index sorted flag and index caches + $this->indexSorted = false; + $this->indexKeysCache = null; + $this->indexValuesCache = null; + $this->currentCoordinate = $cellCoordinate; $this->currentCell = $cell; $this->currentCellIsDirty = true; @@ -444,6 +504,11 @@ class Cells $this->index = []; + // Clear index sorted flag and index caches + $this->indexSorted = false; + $this->indexKeysCache = null; + $this->indexValuesCache = null; + // detach ourself from the worksheet, so that it can then delete this object successfully $this->parent = null; } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php index 31a32be..c65072a 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php @@ -31,12 +31,21 @@ class Security */ private string $workbookPassword = ''; - /** - * Create a new Document Security instance. - */ - public function __construct() - { - } + private string $workbookAlgorithmName = ''; + + private string $workbookHashValue = ''; + + private string $workbookSaltValue = ''; + + private int $workbookSpinCount = 0; + + private string $revisionsAlgorithmName = ''; + + private string $revisionsHashValue = ''; + + private string $revisionsSaltValue = ''; + + private int $revisionsSpinCount = 0; /** * Is some sort of document security enabled? @@ -105,10 +114,18 @@ class Security public function setRevisionsPassword(?string $password, bool $alreadyHashed = false): static { if ($password !== null) { - if (!$alreadyHashed) { - $password = PasswordHasher::hashPassword($password); + if ($this->advancedRevisionsPassword()) { + if (!$alreadyHashed) { + $password = PasswordHasher::hashPassword($password, $this->revisionsAlgorithmName, $this->revisionsSaltValue, $this->revisionsSpinCount); + } + $this->revisionsHashValue = $password; + $this->revisionsPassword = ''; + } else { + if (!$alreadyHashed) { + $password = PasswordHasher::hashPassword($password); + } + $this->revisionsPassword = $password; } - $this->revisionsPassword = $password; } return $this; @@ -129,12 +146,112 @@ class Security public function setWorkbookPassword(?string $password, bool $alreadyHashed = false): static { if ($password !== null) { - if (!$alreadyHashed) { - $password = PasswordHasher::hashPassword($password); + if ($this->advancedPassword()) { + if (!$alreadyHashed) { + $password = PasswordHasher::hashPassword($password, $this->workbookAlgorithmName, $this->workbookSaltValue, $this->workbookSpinCount); + } + $this->workbookHashValue = $password; + $this->workbookPassword = ''; + } else { + if (!$alreadyHashed) { + $password = PasswordHasher::hashPassword($password); + } + $this->workbookPassword = $password; } - $this->workbookPassword = $password; } return $this; } + + public function getWorkbookHashValue(): string + { + return $this->advancedPassword() ? $this->workbookHashValue : ''; + } + + public function advancedPassword(): bool + { + return $this->workbookAlgorithmName !== '' && $this->workbookSaltValue !== '' && $this->workbookSpinCount > 0; + } + + public function getWorkbookAlgorithmName(): string + { + return $this->workbookAlgorithmName; + } + + public function setWorkbookAlgorithmName(string $workbookAlgorithmName): static + { + $this->workbookAlgorithmName = $workbookAlgorithmName; + + return $this; + } + + public function getWorkbookSpinCount(): int + { + return $this->workbookSpinCount; + } + + public function setWorkbookSpinCount(int $workbookSpinCount): static + { + $this->workbookSpinCount = $workbookSpinCount; + + return $this; + } + + public function getWorkbookSaltValue(): string + { + return $this->workbookSaltValue; + } + + public function setWorkbookSaltValue(string $workbookSaltValue, bool $base64Required): static + { + $this->workbookSaltValue = $base64Required ? base64_encode($workbookSaltValue) : $workbookSaltValue; + + return $this; + } + + public function getRevisionsHashValue(): string + { + return $this->advancedRevisionsPassword() ? $this->revisionsHashValue : ''; + } + + public function advancedRevisionsPassword(): bool + { + return $this->revisionsAlgorithmName !== '' && $this->revisionsSaltValue !== '' && $this->revisionsSpinCount > 0; + } + + public function getRevisionsAlgorithmName(): string + { + return $this->revisionsAlgorithmName; + } + + public function setRevisionsAlgorithmName(string $revisionsAlgorithmName): static + { + $this->revisionsAlgorithmName = $revisionsAlgorithmName; + + return $this; + } + + public function getRevisionsSpinCount(): int + { + return $this->revisionsSpinCount; + } + + public function setRevisionsSpinCount(int $revisionsSpinCount): static + { + $this->revisionsSpinCount = $revisionsSpinCount; + + return $this; + } + + public function getRevisionsSaltValue(): string + { + return $this->revisionsSaltValue; + } + + public function setRevisionsSaltValue(string $revisionsSaltValue, bool $base64Required): static + { + $this->revisionsSaltValue = $base64Required ? base64_encode($revisionsSaltValue) : $revisionsSaltValue; + + return $this; + } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php index c53b0c7..579f389 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php @@ -18,6 +18,7 @@ use PhpOffice\PhpSpreadsheet\Helper\Html as HelperHtml; use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner; use PhpOffice\PhpSpreadsheet\Shared\StringHelper; use PhpOffice\PhpSpreadsheet\Spreadsheet; +use PhpOffice\PhpSpreadsheet\Style\Alignment; use PhpOffice\PhpSpreadsheet\Style\Border; use PhpOffice\PhpSpreadsheet\Style\Color; use PhpOffice\PhpSpreadsheet\Style\Fill; @@ -727,13 +728,13 @@ class Html extends BaseReader // Reload the HTML file into the DOM object try { $convert = $this->getSecurityScannerOrThrow()->scanFile($filename); - $convert = self::replaceNonAsciiIfNeeded($convert); + $convert = static::replaceNonAsciiIfNeeded($convert); $loaded = ($convert === null) ? false : $dom->loadHTML($convert); } catch (Throwable $e) { $loaded = false; } if ($loaded === false) { - throw new Exception('Failed to load ' . $filename . ' as a DOM Document', 0, $e ?? null); + throw new Exception('Failed to load file ' . $filename . ' as a DOM Document', 0, $e ?? null); } self::loadProperties($dom, $spreadsheet); @@ -821,7 +822,7 @@ class Html extends BaseReader return '&#' . mb_ord($matches[0], 'UTF-8') . ';'; } - private static function replaceNonAsciiIfNeeded(string $convert): ?string + protected static function replaceNonAsciiIfNeeded(string $convert): ?string { if (preg_match(self::STARTS_WITH_BOM, $convert) !== 1 && preg_match(self::DECLARES_CHARSET, $convert) !== 1) { $lowend = "\u{80}"; @@ -846,7 +847,7 @@ class Html extends BaseReader // Reload the HTML file into the DOM object try { $convert = $this->getSecurityScannerOrThrow()->scan($content); - $convert = self::replaceNonAsciiIfNeeded($convert); + $convert = static::replaceNonAsciiIfNeeded($convert); $loaded = ($convert === null) ? false : $dom->loadHTML($convert); } catch (Throwable $e) { $loaded = false; @@ -1014,6 +1015,17 @@ class Html extends BaseReader break; + case 'direction': + if ($styleValue === 'rtl') { + $cellStyle->getAlignment() + ->setReadOrder(Alignment::READORDER_RTL); + } elseif ($styleValue === 'ltr') { + $cellStyle->getAlignment() + ->setReadOrder(Alignment::READORDER_LTR); + } + + break; + case 'font-weight': if ($styleValue === 'bold' || $styleValue >= 500) { $cellStyle->getFont()->setBold(true); @@ -1083,8 +1095,11 @@ class Html extends BaseReader break; case 'text-indent': + $indentDimension = new CssDimension($styleValueString); + $indent = $indentDimension + ->toUnit(CssDimension::UOM_PIXELS); $cellStyle->getAlignment()->setIndent( - (int) str_replace(['px'], '', $styleValueString) + (int) ($indent / Alignment::INDENT_UNITS_TO_PIXELS) ); break; @@ -1183,13 +1198,13 @@ class Html extends BaseReader if (substr($arrayValue, -2) === 'px') { $arrayValue = (string) (((float) substr($arrayValue, 0, -2))); } else { - $arrayValue = (new CssDimension($arrayValue))->width(); + $arrayValue = (new CssDimension($arrayValue))->toUnit(CssDimension::UOM_PIXELS); } } elseif ($arrayKey === 'height') { if (substr($arrayValue, -2) === 'px') { $arrayValue = substr($arrayValue, 0, -2); } else { - $arrayValue = (new CssDimension($arrayValue))->height(); + $arrayValue = (new CssDimension($arrayValue))->toUnit(CssDimension::UOM_PIXELS); } } $styleArray[$arrayKey] = $arrayValue; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php index 4a71d3b..73d3738 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php @@ -173,6 +173,9 @@ class Slk extends BaseReader 'U' => 'underline', ]; + /** + * @param-out true $hasCalculatedValue + */ private function processFormula(string $rowDatum, bool &$hasCalculatedValue, string &$cellDataFormula, string $row, string $column): void { $cellDataFormula = '=' . substr($rowDatum, 1); diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php index 3c1ac4f..09a2b77 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php @@ -140,7 +140,7 @@ class Xls extends XlsBase /** * REF structures. Only applies to BIFF8. * - * @var mixed[][] + * @var array */ protected array $ref; @@ -294,6 +294,16 @@ class Xls extends XlsBase return (new Xls\ListFunctions())->listWorksheetInfo2($filename, $this); } + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns). + * + * @return array + */ + public function listWorksheetDimensions(string $filename): array + { + return (new Xls\ListFunctions())->listWorksheetDimensions2($filename, $this); + } + /** * Loads PhpSpreadsheet from file. */ @@ -1254,6 +1264,8 @@ class Xls extends XlsBase break; } + $readOrder = (0xC0 & ord($recordData[8])) >> 6; + $objStyle->getAlignment()->setReadOrder($readOrder); // offset: 9; size: 1; Flags used for attribute groups @@ -2022,8 +2034,8 @@ class Xls extends XlsBase // repeated option flags // OpenOffice.org documentation 5.21 - $option = ord($recordData[$pos]); /** @var int $pos */ + $option = ord($recordData[$pos]); ++$pos; /** @var int $limitpos */ @@ -2647,7 +2659,14 @@ class Xls extends XlsBase $useDefaultHeight = (0x8000 & self::getUInt2d($recordData, 6)) >> 15; if (!$useDefaultHeight) { - $this->phpSheet->getRowDimension($r + 1)->setRowHeight($height / 20); + if ( + $this->phpSheet->getDefaultRowDimension()->getRowHeight() > 0 + ) { + $this->phpSheet->getRowDimension($r + 1) + ->setCustomFormat(true, ($height === 255) ? -1 : ($height / 20)); + } else { + $this->phpSheet->getRowDimension($r + 1)->setRowHeight($height / 20); + } } // offset: 8; size: 2; not used diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php index 094c19e..018c171 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php @@ -12,6 +12,9 @@ use PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer\BstoreContainer; use PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer\BstoreContainer\BSE; use PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer\BstoreContainer\BSE\Blip; +/** + * @template T of BSE|BstoreContainer|DgContainer|DggContainer|\PhpOffice\PhpSpreadsheet\Shared\Escher|SpContainer|SpgrContainer + */ class Escher { const DGGCONTAINER = 0xF000; @@ -50,11 +53,15 @@ class Escher /** * The object to be returned by the reader. Modified during load. + * + * @var T */ private BSE|BstoreContainer|DgContainer|DggContainer|\PhpOffice\PhpSpreadsheet\Shared\Escher|SpContainer|SpgrContainer $object; /** * Create a new Escher instance. + * + * @param T $object */ public function __construct(BSE|BstoreContainer|DgContainer|DggContainer|\PhpOffice\PhpSpreadsheet\Shared\Escher|SpContainer|SpgrContainer $object) { @@ -84,6 +91,8 @@ class Escher /** * Load Escher stream data. May be a partial Escher stream. + * + * @return T */ public function load(string $data): BSE|BstoreContainer|DgContainer|DggContainer|\PhpOffice\PhpSpreadsheet\Shared\Escher|SpContainer|SpgrContainer { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ListFunctions.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ListFunctions.php index cd1c5ca..9856989 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ListFunctions.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ListFunctions.php @@ -124,6 +124,7 @@ class ListFunctions extends Xls case self::XLS_TYPE_FORMULA: case self::XLS_TYPE_BOOLERR: case self::XLS_TYPE_LABEL: + case self::XLS_TYPE_MULRK: $length = self::getUInt2d($xls->data, $xls->pos + 2); $recordData = $xls->readRecordData($xls->data, $xls->pos + 4, $length); @@ -131,7 +132,11 @@ class ListFunctions extends Xls $xls->pos += 4 + $length; $rowIndex = self::getUInt2d($recordData, 0) + 1; - $columnIndex = self::getUInt2d($recordData, 2); + if ($code === self::XLS_TYPE_MULRK) { + $columnIndex = self::getUInt2d($recordData, $length - 2); + } else { + $columnIndex = self::getUInt2d($recordData, 2); + } $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); @@ -160,4 +165,103 @@ class ListFunctions extends Xls return $worksheetInfo; } + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns). + * + * @return array + */ + protected function listWorksheetDimensions2(string $filename, Xls $xls): array + { + File::assertFile($filename); + + $worksheetInfo = []; + + // Read the OLE file + $xls->loadOLE($filename); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $xls->dataSize = strlen($xls->data); + + // initialize + $xls->pos = 0; + $xls->sheets = []; + + // Parse Workbook Global Substream + while ($xls->pos < $xls->dataSize) { + $code = self::getUInt2d($xls->data, $xls->pos); + + match ($code) { + self::XLS_TYPE_BOF => $xls->readBof(), + self::XLS_TYPE_SHEET => $xls->readSheet(), + self::XLS_TYPE_EOF => $xls->readDefault(), + self::XLS_TYPE_CODEPAGE => $xls->readCodepage(), + default => $xls->readDefault(), + }; + + if ($code === self::XLS_TYPE_EOF) { + break; + } + } + + // Parse the individual sheets + foreach ($xls->sheets as $sheet) { + if ($sheet['sheetType'] !== 0x00) { + // 0x00: Worksheet + // 0x02: Chart + // 0x06: Visual Basic module + continue; + } + + $tmpInfo = []; + $tmpInfo['worksheetName'] = StringHelper::convertToString($sheet['name']); + $tmpInfo['dimensionsMinR'] = -1; + $tmpInfo['dimensionsMaxR'] = -1; + $tmpInfo['dimensionsMinC'] = -1; + $tmpInfo['dimensionsMaxC'] = -1; + $tmpInfo['lastColumnLetter'] = ''; + + $xls->pos = $sheet['offset']; + + while ($xls->pos <= $xls->dataSize - 4) { + $code = self::getUInt2d($xls->data, $xls->pos); + + switch ($code) { + case self::XLS_TYPE_BOF: + $xls->readBof(); + + break; + case self::XLS_TYPE_EOF: + $xls->readDefault(); + + break 2; + case self::XLS_TYPE_DIMENSION: + $length = self::getUInt2d($xls->data, $xls->pos + 2); + if ($length === 14) { + $dimensionsData = substr($xls->data, $xls->pos + 4, $length); + $data = unpack('VrwMic/VrwMac/vcolMic/vcolMac/vreserved', $dimensionsData); + if (is_array($data)) { + /** @var int[] $data */ + $tmpInfo['dimensionsMinR'] = $data['rwMic']; + $tmpInfo['dimensionsMaxR'] = $data['rwMac']; + $tmpInfo['dimensionsMinC'] = $data['colMic']; + $tmpInfo['dimensionsMaxC'] = $data['colMac']; + $tmpInfo['lastColumnLetter'] = Coordinate::stringFromColumnIndex($tmpInfo['dimensionsMaxC']); + } + } + $xls->readDefault(); + + break; + default: + $xls->readDefault(); + + break; + } + } + + $worksheetInfo[] = $tmpInfo; + } + + return $worksheetInfo; + } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/LoadSpreadsheet.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/LoadSpreadsheet.php index dda8aad..5c27b0c 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/LoadSpreadsheet.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/LoadSpreadsheet.php @@ -435,7 +435,7 @@ class LoadSpreadsheet extends Xls // get all spContainers in one long array, so they can be mapped to OBJ records /** @var SpContainer[] $allSpContainers */ - $allSpContainers = method_exists($escherWorksheet, 'getDgContainer') ? $escherWorksheet->getDgContainer()->getSpgrContainer()->getAllSpContainers() : []; + $allSpContainers = $escherWorksheet->getDgContainerOrThrow()->getSpgrContainerOrThrow()->getAllSpContainers(); } // treat OBJ records @@ -497,7 +497,7 @@ class LoadSpreadsheet extends Xls if ($escherWorkbook) { /** @var BSE[] */ - $BSECollection = method_exists($escherWorkbook, 'getDggContainer') ? $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection() : []; + $BSECollection = $escherWorkbook->getDggContainerOrThrow()->getBstoreContainerOrThrow()->getBSECollection(); $BSE = $BSECollection[$BSEindex - 1]; $blipType = $BSE->getBlipType(); @@ -549,6 +549,7 @@ class LoadSpreadsheet extends Xls foreach ($xls->sharedFormulaParts as $cell => $baseCell) { /** @var int $row */ [$column, $row] = Coordinate::coordinateFromString($cell); + /** @var string $baseCell */ if ($xls->getReadFilter()->readCell($column, $row, $xls->phpSheet->getTitle())) { /** @var string */ $temp = $xls->sharedFormulas[$baseCell]; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/XlsBase.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/XlsBase.php index 6f9da57..eedd185 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/XlsBase.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/XlsBase.php @@ -25,8 +25,6 @@ class XlsBase extends BaseReader final const XLS_TYPE_FORMULA = 0x0006; final const XLS_TYPE_EOF = 0x000A; final const XLS_TYPE_PROTECT = 0x0012; - final const XLS_TYPE_OBJECTPROTECT = 0x0063; - final const XLS_TYPE_SCENPROTECT = 0x00DD; final const XLS_TYPE_PASSWORD = 0x0013; final const XLS_TYPE_HEADER = 0x0014; final const XLS_TYPE_FOOTER = 0x0015; @@ -50,6 +48,7 @@ class XlsBase extends BaseReader final const XLS_TYPE_CODEPAGE = 0x0042; final const XLS_TYPE_DEFCOLWIDTH = 0x0055; final const XLS_TYPE_OBJ = 0x005D; + final const XLS_TYPE_OBJECTPROTECT = 0x0063; final const XLS_TYPE_COLINFO = 0x007D; final const XLS_TYPE_IMDATA = 0x007F; final const XLS_TYPE_SHEETPR = 0x0081; @@ -62,6 +61,7 @@ class XlsBase extends BaseReader final const XLS_TYPE_MULRK = 0x00BD; final const XLS_TYPE_MULBLANK = 0x00BE; final const XLS_TYPE_DBCELL = 0x00D7; + final const XLS_TYPE_SCENPROTECT = 0x00DD; final const XLS_TYPE_XF = 0x00E0; final const XLS_TYPE_MERGEDCELLS = 0x00E5; final const XLS_TYPE_MSODRAWINGGROUP = 0x00EB; @@ -70,6 +70,8 @@ class XlsBase extends BaseReader final const XLS_TYPE_LABELSST = 0x00FD; final const XLS_TYPE_EXTSST = 0x00FF; final const XLS_TYPE_EXTERNALBOOK = 0x01AE; + final const XLS_TYPE_CFHEADER = 0x01B0; + final const XLS_TYPE_CFRULE = 0x01B1; final const XLS_TYPE_DATAVALIDATIONS = 0x01B2; final const XLS_TYPE_TXO = 0x01B6; final const XLS_TYPE_HYPERLINK = 0x01B8; @@ -90,13 +92,11 @@ class XlsBase extends BaseReader final const XLS_TYPE_FORMAT = 0x041E; final const XLS_TYPE_SHAREDFMLA = 0x04BC; final const XLS_TYPE_BOF = 0x0809; + final const XLS_TYPE_SHEETLAYOUT = 0x0862; final const XLS_TYPE_SHEETPROTECTION = 0x0867; final const XLS_TYPE_RANGEPROTECTION = 0x0868; - final const XLS_TYPE_SHEETLAYOUT = 0x0862; final const XLS_TYPE_XFEXT = 0x087D; final const XLS_TYPE_PAGELAYOUTVIEW = 0x088B; - final const XLS_TYPE_CFHEADER = 0x01B0; - final const XLS_TYPE_CFRULE = 0x01B1; final const XLS_TYPE_UNKNOWN = 0xFFFF; // Encryption type @@ -368,11 +368,20 @@ class XlsBase extends BaseReader return StringHelper::convertEncoding($string, 'UTF-8', $this->codepage); } + protected static function confirmPos(string $data, int $pos): void + { + if ($pos >= strlen($data)) { + throw new PhpSpreadsheetException('File appears to be corrupt'); // @codeCoverageIgnore + } + } + /** * Read 16-bit unsigned integer. */ public static function getUInt2d(string $data, int $pos): int { + self::confirmPos($data, $pos + 1); + return ord($data[$pos]) | (ord($data[$pos + 1]) << 8); } @@ -381,6 +390,8 @@ class XlsBase extends BaseReader */ public static function getInt2d(string $data, int $pos): int { + self::confirmPos($data, $pos + 1); + return unpack('s', $data[$pos] . $data[$pos + 1])[1]; // @phpstan-ignore-line } @@ -389,6 +400,8 @@ class XlsBase extends BaseReader */ public static function getInt4d(string $data, int $pos): int { + self::confirmPos($data, $pos + 3); + // FIX: represent numbers correctly on 64-bit system // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 // Changed by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php index 6d36d71..829f81f 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php @@ -1079,7 +1079,8 @@ class Xlsx extends BaseReader $childNode = $node->addChild('formula1'); if ($childNode !== null) { // null should never happen // see https://github.com/phpstan/phpstan/issues/8236 - $childNode[0] = (string) $item->formula1->children(Namespaces::DATA_VALIDATIONS2)->f; // @phpstan-ignore-line + // resolved with Phpstan 2.1.23 + $childNode[0] = (string) $item->formula1->children(Namespaces::DATA_VALIDATIONS2)->f; } } } @@ -1204,7 +1205,10 @@ class Xlsx extends BaseReader $shapes = self::xpathNoFalse($vmlCommentsFile, '//v:shape'); foreach ($shapes as $shape) { /** @var SimpleXMLElement $shape */ - $shape->registerXPathNamespace('v', Namespaces::URN_VML); + $vmlNamespaces = $shape->getNamespaces(); + $shape->registerXPathNamespace('v', $vmlNamespaces['v'] ?? Namespaces::URN_VML); + $shape->registerXPathNamespace('x', $vmlNamespaces['x'] ?? Namespaces::URN_EXCEL); + $shape->registerXPathNamespace('o', $vmlNamespaces['o'] ?? Namespaces::URN_MSOFFICE); if (isset($shape['style'])) { $style = (string) $shape['style']; @@ -1229,6 +1233,7 @@ class Xlsx extends BaseReader $clientData = $clientData[0]; if (isset($clientData['ObjectType']) && (string) $clientData['ObjectType'] == 'Note') { + $clientData->registerXPathNamespace('x', $vmlNamespaces['x'] ?? Namespaces::URN_EXCEL); $temp = $clientData->xpath('.//x:Row'); if (is_array($temp)) { $row = $temp[0]; @@ -1277,7 +1282,7 @@ class Xlsx extends BaseReader // Set comment properties $comment = $docSheet->getComment([(int) $column + 1, (int) $row + 1]); $comment->getFillColor()->setRGB($fillColor); - if (isset($drowingImages[$fillImageRelId])) { + if (isset($fillImageRelId, $drowingImages[$fillImageRelId])) { $objDrawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing(); $objDrawing->setName($fillImageTitle); $imagePath = str_replace(['../', '/xl/'], 'xl/', $drowingImages[$fillImageRelId]); @@ -2200,23 +2205,79 @@ class Xlsx extends BaseReader return; } - $excel->getSecurity()->setLockRevision(self::getLockValue($xmlWorkbook->workbookProtection, 'lockRevision')); - $excel->getSecurity()->setLockStructure(self::getLockValue($xmlWorkbook->workbookProtection, 'lockStructure')); - $excel->getSecurity()->setLockWindows(self::getLockValue($xmlWorkbook->workbookProtection, 'lockWindows')); + $security = $excel->getSecurity(); + $security->setLockRevision( + self::getLockValue($xmlWorkbook->workbookProtection, 'lockRevision') + ); + $security->setLockStructure( + self::getLockValue($xmlWorkbook->workbookProtection, 'lockStructure') + ); + $security->setLockWindows( + self::getLockValue($xmlWorkbook->workbookProtection, 'lockWindows') + ); if ($xmlWorkbook->workbookProtection['revisionsPassword']) { - $excel->getSecurity()->setRevisionsPassword( + $security->setRevisionsPassword( (string) $xmlWorkbook->workbookProtection['revisionsPassword'], true ); } + if ($xmlWorkbook->workbookProtection['revisionsAlgorithmName']) { + $security->setRevisionsAlgorithmName( + (string) $xmlWorkbook->workbookProtection['revisionsAlgorithmName'] + ); + } + if ($xmlWorkbook->workbookProtection['revisionsSaltValue']) { + $security->setRevisionsSaltValue( + (string) $xmlWorkbook->workbookProtection['revisionsSaltValue'], + false + ); + } + if ($xmlWorkbook->workbookProtection['revisionsSpinCount']) { + $security->setRevisionsSpinCount( + (int) $xmlWorkbook->workbookProtection['revisionsSpinCount'] + ); + } + if ($xmlWorkbook->workbookProtection['revisionsHashValue']) { + if ($security->advancedRevisionsPassword()) { + $security->setRevisionsPassword( + (string) $xmlWorkbook->workbookProtection['revisionsHashValue'], + true + ); + } + } if ($xmlWorkbook->workbookProtection['workbookPassword']) { - $excel->getSecurity()->setWorkbookPassword( + $security->setWorkbookPassword( (string) $xmlWorkbook->workbookProtection['workbookPassword'], true ); } + + if ($xmlWorkbook->workbookProtection['workbookAlgorithmName']) { + $security->setWorkbookAlgorithmName( + (string) $xmlWorkbook->workbookProtection['workbookAlgorithmName'] + ); + } + if ($xmlWorkbook->workbookProtection['workbookSaltValue']) { + $security->setWorkbookSaltValue( + (string) $xmlWorkbook->workbookProtection['workbookSaltValue'], + false + ); + } + if ($xmlWorkbook->workbookProtection['workbookSpinCount']) { + $security->setWorkbookSpinCount( + (int) $xmlWorkbook->workbookProtection['workbookSpinCount'] + ); + } + if ($xmlWorkbook->workbookProtection['workbookHashValue']) { + if ($security->advancedPassword()) { + $security->setWorkbookPassword( + (string) $xmlWorkbook->workbookProtection['workbookHashValue'], + true + ); + } + } } private static function getLockValue(SimpleXMLElement $protection, string $key): ?bool diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php index 812e9f6..347b1b4 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php @@ -50,32 +50,40 @@ class ColumnAndRowAttributes extends BaseParserClass * Set Worksheet row attributes by attributes array passed. * * @param int $rowNumber 1, 2, 3, ... 99, ... - * @param array{xfIndex?: int, visible?: bool, collapsed?: bool, collapsed?: bool, outlineLevel?: int, rowHeight?: float} $rowAttributes array of attributes (indexes are attribute name, values are value) + * @param array{xfIndex?: int, visible?: bool, collapsed?: bool, collapsed?: bool, outlineLevel?: int, rowHeight?: float, customFormat?: bool, ht?: float} $rowAttributes array of attributes (indexes are attribute name, values are value) * 'xfIndex', 'visible', 'collapsed', 'outlineLevel', 'rowHeight', ... ? */ private function setRowAttributes(int $rowNumber, array $rowAttributes): void { if (isset($rowAttributes['xfIndex'])) { - $this->worksheet->getRowDimension($rowNumber)->setXfIndex($rowAttributes['xfIndex']); + $this->worksheet->getRowDimension($rowNumber) + ->setXfIndex($rowAttributes['xfIndex']); } if (isset($rowAttributes['visible'])) { - $this->worksheet->getRowDimension($rowNumber)->setVisible($rowAttributes['visible']); + $this->worksheet->getRowDimension($rowNumber) + ->setVisible($rowAttributes['visible']); } if (isset($rowAttributes['collapsed'])) { - $this->worksheet->getRowDimension($rowNumber)->setCollapsed($rowAttributes['collapsed']); + $this->worksheet->getRowDimension($rowNumber) + ->setCollapsed($rowAttributes['collapsed']); } if (isset($rowAttributes['outlineLevel'])) { - $this->worksheet->getRowDimension($rowNumber)->setOutlineLevel($rowAttributes['outlineLevel']); + $this->worksheet->getRowDimension($rowNumber) + ->setOutlineLevel($rowAttributes['outlineLevel']); } - if (isset($rowAttributes['rowHeight'])) { - $this->worksheet->getRowDimension($rowNumber)->setRowHeight($rowAttributes['rowHeight']); + if (isset($rowAttributes['customFormat'], $rowAttributes['rowHeight'])) { + $this->worksheet->getRowDimension($rowNumber) + ->setCustomFormat($rowAttributes['customFormat'], $rowAttributes['rowHeight']); + } elseif (isset($rowAttributes['rowHeight'])) { + $this->worksheet->getRowDimension($rowNumber) + ->setRowHeight($rowAttributes['rowHeight']); } } - public function load(?IReadFilter $readFilter = null, bool $readDataOnly = false, bool $ignoreRowsWithNoCells = false): void + public function load(?IReadFilter $readFilter = null, bool $readDataOnly = false, bool $ignoreRowsWithNoCells = false): bool { if ($this->worksheetXml === null) { - return; + return false; } if ($readFilter !== null && $readFilter::class === DefaultReadFilter::class) { $readFilter = null; @@ -119,6 +127,8 @@ class ColumnAndRowAttributes extends BaseParserClass } } } + + return true; } /** @param mixed[] $rowsAttributes */ @@ -203,20 +213,25 @@ class ColumnAndRowAttributes extends BaseParserClass $row = $rowx->attributes(); if ($row !== null && (!$ignoreRowsWithNoCells || isset($rowx->c))) { $rowIndex = (int) $row['r']; - if (isset($row['ht']) && !$readDataOnly) { - $rowAttributes[$rowIndex]['rowHeight'] = (float) $row['ht']; - } - if (isset($row['hidden']) && self::boolean($row['hidden'])) { - $rowAttributes[$rowIndex]['visible'] = false; - } - if (isset($row['collapsed']) && self::boolean($row['collapsed'])) { - $rowAttributes[$rowIndex]['collapsed'] = true; - } - if (isset($row['outlineLevel']) && (int) $row['outlineLevel'] > 0) { - $rowAttributes[$rowIndex]['outlineLevel'] = (int) $row['outlineLevel']; - } - if (isset($row['s']) && !$readDataOnly) { - $rowAttributes[$rowIndex]['xfIndex'] = (int) $row['s']; + if (!$readDataOnly) { + if (isset($row['ht'])) { + $rowAttributes[$rowIndex]['rowHeight'] = (float) $row['ht']; + } + if (isset($row['customFormat']) && self::boolean($row['customFormat'])) { + $rowAttributes[$rowIndex]['customFormat'] = true; + } + if (isset($row['hidden']) && self::boolean($row['hidden'])) { + $rowAttributes[$rowIndex]['visible'] = false; + } + if (isset($row['collapsed']) && self::boolean($row['collapsed'])) { + $rowAttributes[$rowIndex]['collapsed'] = true; + } + if (isset($row['outlineLevel']) && (int) $row['outlineLevel'] > 0) { + $rowAttributes[$rowIndex]['outlineLevel'] = (int) $row['outlineLevel']; + } + if (isset($row['s'])) { + $rowAttributes[$rowIndex]['xfIndex'] = (int) $row['s']; + } } if ($readFilterIsNotNull && empty($rowAttributes[$rowIndex])) { $rowAttributes[$rowIndex]['exists'] = true; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php index 2892dd1..e2cf3b2 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php @@ -71,6 +71,11 @@ class ConditionalStyles ksort($cfRules); // Priority is used as the key for sorting; but may not start at 0, // so we use array_values to reset the index after sorting. + $existing = $this->worksheet->getConditionalStylesCollection(); + if (array_key_exists($conditionalRange, $existing)) { + $conditionalStyle = $existing[$conditionalRange]; + $cfRules = array_merge($conditionalStyle, $cfRules); + } $this->worksheet->getStyle($conditionalRange) ->setConditionalStyles(array_values($cfRules)); } @@ -133,6 +138,7 @@ class ConditionalStyles $conditionType = (string) $attributes->type; $operatorType = (string) $attributes->operator; $priority = (int) (string) $attributes->priority; + $stopIfTrue = (int) (string) $attributes->stopIfTrue; $operands = []; foreach ($cfRuleXml->children($this->ns['xm']) as $cfRuleOperandsXml) { @@ -143,6 +149,7 @@ class ConditionalStyles $conditional->setConditionType($conditionType); $conditional->setOperatorType($operatorType); $conditional->setPriority($priority); + $conditional->setStopIfTrue($stopIfTrue === 1); if ( $conditionType === Conditional::CONDITION_CONTAINSTEXT || $conditionType === Conditional::CONDITION_NOTCONTAINSTEXT @@ -169,6 +176,9 @@ class ConditionalStyles if ($styleXML->fill) { $this->styleReader->readFillStyle($cfStyle->getFill(), $styleXML->fill); } + if ($styleXML->font) { + $this->styleReader->readFontStyle($cfStyle->getFont(), $styleXML->font); + } } return $cfStyle; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php index 0662991..699d718 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php @@ -76,7 +76,7 @@ class Style break; case 'Protection': $locked = $hidden = null; - $styleAttributesP = $styleData->attributes($namespaces['x']); + $styleAttributesP = array_key_exists('x', $namespaces) ? $styleData->attributes($namespaces['x']) : []; if (isset($styleAttributes['Protected'])) { $locked = ((bool) (string) $styleAttributes['Protected']) ? Protection::PROTECTION_PROTECTED : Protection::PROTECTION_UNPROTECTED; } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php index 657decf..b4afcde 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php @@ -54,6 +54,14 @@ class Alignment extends StyleBase case 'Indent': $style['alignment']['indent'] = $styleAttributeValue; + break; + case 'ReadingOrder': + if ($styleAttributeValue === 'RightToLeft') { + $style['alignment']['readOrder'] = AlignmentStyles::READORDER_RTL; + } elseif ($styleAttributeValue === 'LeftToRight') { + $style['alignment']['readOrder'] = AlignmentStyles::READORDER_LTR; + } + break; } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php index 349eaab..8a5407d 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php @@ -85,6 +85,7 @@ class Border extends StyleBase } } + /** @var int|string $borderPosition */ if ($borderPosition) { $style['borders'][$borderPosition] = $thisBorder; } elseif ($diagonalDirection) { @@ -99,6 +100,7 @@ class Border extends StyleBase /** @return mixed[] */ protected function parsePosition(string $borderStyleValue, string $diagonalDirection): array { + // TODO diagonalDirection seems to return int not string $borderStyleValue = strtolower($borderStyleValue); if (in_array($borderStyleValue, self::BORDER_POSITIONS)) { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php index e6fffe1..1ca825a 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php @@ -15,7 +15,7 @@ class NumberFormat extends StyleBase $toFormats = ['-', ' ']; foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValue) { - $styleAttributeValue = str_replace($fromFormats, $toFormats, $styleAttributeValue); + $styleAttributeValue = str_replace($fromFormats, $toFormats, (string) $styleAttributeValue); switch ($styleAttributeValue) { case 'Short Date': diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php index d2d3bcd..be65398 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php @@ -1045,7 +1045,7 @@ class ReferenceHelper { $cellAddress = $definedName->getValue(); $asFormula = ($cellAddress[0] === '='); - if ($definedName->getWorksheet() !== null && $definedName->getWorksheet()->getHashInt() === $worksheet->getHashInt()) { + if ($definedName->getWorksheet() === $worksheet) { /** * If we delete the entire range that is referenced by a Named Range, MS Excel sets the value to #REF! * PhpSpreadsheet still only does a basic adjustment, so the Named Range will still reference Cells. @@ -1064,7 +1064,7 @@ class ReferenceHelper private function updateNamedFormula(DefinedName $definedName, Worksheet $worksheet, string $beforeCellAddress, int $numberOfColumns, int $numberOfRows): void { - if ($definedName->getWorksheet() !== null && $definedName->getWorksheet()->getHashInt() === $worksheet->getHashInt()) { + if ($definedName->getWorksheet() === $worksheet) { /** * If we delete the entire range that is referenced by a Named Formula, MS Excel sets the value to #REF! * PhpSpreadsheet still only does a basic adjustment, so the Named Formula will still reference Cells. diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php index 9eb9956..00180f6 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php @@ -2,6 +2,8 @@ namespace PhpOffice\PhpSpreadsheet\Shared; +use PhpOffice\PhpSpreadsheet\Exception as SpreadsheetException; + class Escher { /** @@ -22,6 +24,14 @@ class Escher return $this->dggContainer; } + /** + * Get Drawing Group Container. + */ + public function getDggContainerOrThrow(): Escher\DggContainer + { + return $this->dggContainer ?? throw new SpreadsheetException('dggContainer is unexpectedly null'); + } + /** * Set Drawing Group Container. */ @@ -38,6 +48,14 @@ class Escher return $this->dgContainer; } + /** + * Get Drawing Container. + */ + public function getDgContainerOrThrow(): Escher\DgContainer + { + return $this->dgContainer ?? throw new SpreadsheetException('dgContainer is unexpectedly null'); + } + /** * Set Drawing Container. */ diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php index eb8829c..e5d831f 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php @@ -2,6 +2,8 @@ namespace PhpOffice\PhpSpreadsheet\Shared\Escher; +use PhpOffice\PhpSpreadsheet\Exception as SpreadsheetException; + class DggContainer { /** @@ -94,6 +96,14 @@ class DggContainer return $this->bstoreContainer; } + /** + * Get BLIP Store Container. + */ + public function getBstoreContainerOrThrow(): DggContainer\BstoreContainer + { + return $this->bstoreContainer ?? throw new SpreadsheetException('bstoreContainer is unexpectedly null'); + } + /** * Set BLIP Store Container. */ diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php index fcdbc98..4d1103a 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php @@ -78,7 +78,7 @@ class PasswordHasher * * @param string $password Password to hash * @param string $algorithm Hash algorithm used to compute the password hash value - * @param string $salt Pseudorandom string + * @param string $salt Pseudorandom base64-encoded string * @param int $spinCount Number of times to iterate on a hash of a password * * @return string Hashed password diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php index 0f4a3ef..6398b61 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php @@ -420,7 +420,7 @@ class StringHelper */ public static function convertEncoding(string $textValue, string $to, string $from): string { - if (self::getIsIconvEnabled()) { + if (static::getIsIconvEnabled()) { $result = iconv($from, $to . self::$iconvOptions, $textValue); if (false !== $result) { return $result; @@ -669,13 +669,16 @@ class StringHelper return strlen("$string"); } - /** @param bool $convertBool If true, convert bool to locale-aware TRUE/FALSE rather than 1/null-string */ - public static function convertToString(mixed $value, bool $throw = true, string $default = '', bool $convertBool = false): string + /** + * @param bool $convertBool If true, convert bool to locale-aware TRUE/FALSE rather than 1/null-string + * @param bool $lessFloatPrecision If true, floats will be converted to a more human-friendly but less computationally accurate value + */ + public static function convertToString(mixed $value, bool $throw = true, string $default = '', bool $convertBool = false, bool $lessFloatPrecision = false): string { if ($convertBool && is_bool($value)) { return $value ? Calculation::getTRUE() : Calculation::getFALSE(); } - if (is_float($value)) { + if (is_float($value) && !$lessFloatPrecision) { $string = (string) $value; // look out for scientific notation if (!Preg::isMatch('/[^-+0-9.]/', $string)) { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php index f180006..17b1ee6 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php @@ -39,6 +39,10 @@ class XMLWriter extends \XMLWriter if (empty($this->tempFileName) || $this->openUri($this->tempFileName) === false) { // Fallback to memory... $this->openMemory(); + if ($this->tempFileName != '') { + @unlink($this->tempFileName); + } + $this->tempFileName = ''; } } @@ -60,7 +64,8 @@ class XMLWriter extends \XMLWriter } } - public function __wakeup(): void + /** @param mixed[] $data */ + public function __unserialize(array $data): void { $this->tempFileName = ''; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php index ef7f784..5681e4a 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php @@ -735,9 +735,8 @@ class Spreadsheet implements JsonSerializable */ public function getIndex(Worksheet $worksheet, bool $noThrow = false): int { - $wsHash = $worksheet->getHashInt(); foreach ($this->workSheetCollection as $key => $value) { - if ($value->getHashInt() === $wsHash) { + if ($value === $worksheet) { return $key; } } @@ -1468,6 +1467,10 @@ class Spreadsheet implements JsonSerializable /** * Return the unique ID value assigned to this spreadsheet workbook. + * + * @deprecated 5.2.0 Serves no useful purpose. No replacement. + * + * @codeCoverageIgnore */ public function getID(): string { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php index d5c42c2..6ff44e3 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php @@ -92,6 +92,8 @@ class Alignment extends Supervisor const TEXTROTATION_STACK_EXCEL = 255; const TEXTROTATION_STACK_PHPSPREADSHEET = -165; // 90 - 255 + public const INDENT_UNITS_TO_PIXELS = 9; + /** * Horizontal alignment. */ diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php index c6669c5..07d0017 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php @@ -467,12 +467,13 @@ class NumberFormat extends Supervisor * @param string $format Format code: see = self::FORMAT_* for predefined values; * or can be any valid MS Excel custom format string * @param ?mixed[] $callBack Callback function for additional formatting of string + * @param bool $lessFloatPrecision If true, unstyled floats will be converted to a more human-friendly but less computationally accurate value * * @return string Formatted string */ - public static function toFormattedString(mixed $value, string $format, ?array $callBack = null): string + public static function toFormattedString(mixed $value, string $format, ?array $callBack = null, bool $lessFloatPrecision = false): string { - return NumberFormat\Formatter::toFormattedString($value, $format, $callBack); + return NumberFormat\Formatter::toFormattedString($value, $format, $callBack, $lessFloatPrecision); } /** @return mixed[] */ diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php index 86cedc3..82f2028 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php @@ -119,10 +119,11 @@ class Formatter extends BaseFormatter * @param string $format Format code: see = self::FORMAT_* for predefined values; * or can be any valid MS Excel custom format string * @param null|array|callable $callBack Callback function for additional formatting of string + * @param bool $lessFloatPrecision If true, unstyled floats will be converted to a more human-friendly but less computationally accurate value * * @return string Formatted string */ - public static function toFormattedString($value, string $format, null|array|callable $callBack = null): string + public static function toFormattedString($value, string $format, null|array|callable $callBack = null, bool $lessFloatPrecision = false): string { while (is_array($value)) { $value = array_shift($value); @@ -135,13 +136,13 @@ class Formatter extends BaseFormatter $formatx = str_replace('\"', self::QUOTE_REPLACEMENT, $format); if (preg_match(self::SECTION_SPLIT, $format) === 0 && preg_match(self::SYMBOL_AT, $formatx) === 1) { if (!str_contains($format, '"')) { - return str_replace('@', StringHelper::convertToString($value), $format); + return str_replace('@', StringHelper::convertToString($value, lessFloatPrecision: $lessFloatPrecision), $format); } //escape any dollar signs on the string, so they are not replaced with an empty value $value = str_replace( ['$', '"'], ['\$', self::QUOTE_REPLACEMENT], - StringHelper::convertToString($value) + StringHelper::convertToString($value, lessFloatPrecision: $lessFloatPrecision) ); return str_replace( @@ -153,14 +154,18 @@ class Formatter extends BaseFormatter // If we have a text value, return it "as is" if (!is_numeric($value)) { - return StringHelper::convertToString($value); + return StringHelper::convertToString($value, lessFloatPrecision: $lessFloatPrecision); } // For 'General' format code, we just pass the value although this is not entirely the way Excel does it, // it seems to round numbers to a total of 10 digits. if (($format === NumberFormat::FORMAT_GENERAL) || ($format === NumberFormat::FORMAT_TEXT)) { + if (is_float($value) && $lessFloatPrecision) { + return self::adjustSeparators((string) $value); + } + return self::adjustSeparators( - StringHelper::convertToString($value) + StringHelper::convertToString($value, lessFloatPrecision: $lessFloatPrecision) ); } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php index 0c02286..06669d4 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php @@ -19,10 +19,6 @@ final class Locale public function __construct(?string $locale, int $style) { - if (class_exists(NumberFormatter::class) === false) { - throw new Exception(); - } - $formatterLocale = str_replace('-', '_', $locale ?? ''); $this->formatter = new NumberFormatter($formatterLocale, $style); if ($this->formatter->getLocale() !== $formatterLocale) { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php index 089c9cc..feac1cb 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php @@ -400,6 +400,7 @@ class Style extends Supervisor } // Find existing style by hash. + /** @var string $styleHash */ $existingStyle = self::$cachedStyles['styleByHash'][$styleHash] ?? null; if (!$existingStyle) { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php index 1ee2eff..441204c 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php @@ -274,7 +274,8 @@ class Rule throw new PhpSpreadsheetException('Invalid rule value for column AutoFilter Rule.'); } // Set the dateTime grouping that we've anticipated - $this->setGrouping(self::DATE_TIME_GROUPS[$grouping]); + // I have no idea what Phpstan is complaining about below + $this->setGrouping(self::DATE_TIME_GROUPS[$grouping]); // @phpstan-ignore-line } $this->value = $value; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php index 135f5b2..faa836c 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php @@ -422,7 +422,7 @@ class BaseDrawing implements IComparable return md5( $this->name . $this->description - . (($this->worksheet === null) ? '' : (string) $this->worksheet->getHashInt()) + . (($this->worksheet === null) ? '' : (string) spl_object_id($this->worksheet)) . $this->coordinates . $this->offsetX . $this->offsetY diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php index e94a63b..1242358 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php @@ -6,9 +6,6 @@ use PhpOffice\PhpSpreadsheet\Helper\Dimension as CssDimension; class RowDimension extends Dimension { - /** - * Row index. - */ private ?int $rowIndex; /** @@ -23,9 +20,9 @@ class RowDimension extends Dimension */ private bool $zeroHeight = false; + private bool $customFormat = false; + /** - * Create a new RowDimension. - * * @param ?int $index Numeric row index */ public function __construct(?int $index = 0) @@ -37,19 +34,11 @@ class RowDimension extends Dimension parent::__construct(null); } - /** - * Get Row Index. - */ public function getRowIndex(): ?int { return $this->rowIndex; } - /** - * Set Row Index. - * - * @return $this - */ public function setRowIndex(int $index): static { $this->rowIndex = $index; @@ -76,35 +65,41 @@ class RowDimension extends Dimension * @param float $height in points. A value of -1 tells Excel to display this column in its default height. * By default, this will be the passed argument value; but this method also accepts an optional unit of measure * argument, and will convert the passed argument value to points from the specified UoM - * - * @return $this */ public function setRowHeight(float $height, ?string $unitOfMeasure = null): static { $this->height = ($unitOfMeasure === null || $height < 0) ? $height : (new CssDimension("{$height}{$unitOfMeasure}"))->height(); + $this->customFormat = false; return $this; } - /** - * Get ZeroHeight. - */ public function getZeroHeight(): bool { return $this->zeroHeight; } - /** - * Set ZeroHeight. - * - * @return $this - */ public function setZeroHeight(bool $zeroHeight): static { $this->zeroHeight = $zeroHeight; return $this; } + + public function getCustomFormat(): bool + { + return $this->customFormat; + } + + public function setCustomFormat(bool $customFormat, ?float $height = -1): self + { + $this->customFormat = $customFormat; + if ($height !== null) { + $this->height = $height; + } + + return $this; + } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php index cd7c89a..64c4ec2 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php @@ -306,11 +306,6 @@ class Worksheet */ private ?Color $tabColor = null; - /** - * Hash. - */ - private int $hash; - /** * CodeName. */ @@ -323,7 +318,6 @@ class Worksheet { // Set parent and title $this->parent = $parent; - $this->hash = spl_object_id($this); $this->setTitle($title, false); // setTitle can change $pTitle $this->setCodeName($this->getTitle()); @@ -380,11 +374,6 @@ class Worksheet unset($this->rowDimensions, $this->columnDimensions, $this->tableCollection, $this->drawingCollection, $this->chartCollection, $this->autoFilter); } - public function __wakeup(): void - { - $this->hash = spl_object_id($this); - } - /** * Return the cell collection. */ @@ -2949,12 +2938,15 @@ class Worksheet } /** + * @param bool $calculateFormulas Whether to calculate cell's value if it is a formula. * @param null|bool|float|int|RichText|string $nullValue value to use when null + * @param bool $formatData Whether to format data according to cell's style. + * @param bool $lessFloatPrecision If true, formatting unstyled floats will convert them to a more human-friendly but less computationally accurate value * * @throws Exception * @throws \PhpOffice\PhpSpreadsheet\Calculation\Exception */ - protected function cellToArray(Cell $cell, bool $calculateFormulas, bool $formatData, mixed $nullValue): mixed + protected function cellToArray(Cell $cell, bool $calculateFormulas, bool $formatData, mixed $nullValue, bool $lessFloatPrecision = false): mixed { $returnValue = $nullValue; @@ -2971,7 +2963,8 @@ class Worksheet $returnValuex = $returnValue; $returnValue = NumberFormat::toFormattedString( $returnValuex, - $style->getNumberFormat()->getFormatCode() ?? NumberFormat::FORMAT_GENERAL + $style->getNumberFormat()->getFormatCode() ?? NumberFormat::FORMAT_GENERAL, + lessFloatPrecision: $lessFloatPrecision ); } } @@ -2989,6 +2982,8 @@ class Worksheet * True - Return rows and columns indexed by their actual row and column IDs * @param bool $ignoreHidden False - Return values for rows/columns even if they are defined as hidden. * True - Don't return values for rows/columns that are defined as hidden. + * @param bool $reduceArrays If true and result is a formula which evaluates to an array, reduce it to the top leftmost value. + * @param bool $lessFloatPrecision If true, formatting unstyled floats will convert them to a more human-friendly but less computationally accurate value * * @return mixed[][] */ @@ -2999,12 +2994,14 @@ class Worksheet bool $formatData = true, bool $returnCellRef = false, bool $ignoreHidden = false, - bool $reduceArrays = false + bool $reduceArrays = false, + bool $lessFloatPrecision = false ): array { $returnValue = []; // Loop through rows - foreach ($this->rangeToArrayYieldRows($range, $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays) as $rowRef => $rowArray) { + foreach ($this->rangeToArrayYieldRows($range, $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays, $lessFloatPrecision) as $rowRef => $rowArray) { + /** @var int $rowRef */ $returnValue[$rowRef] = $rowArray; } @@ -3022,6 +3019,8 @@ class Worksheet * True - Return rows and columns indexed by their actual row and column IDs * @param bool $ignoreHidden False - Return values for rows/columns even if they are defined as hidden. * True - Don't return values for rows/columns that are defined as hidden. + * @param bool $reduceArrays If true and result is a formula which evaluates to an array, reduce it to the top leftmost value. + * @param bool $lessFloatPrecision If true, formatting unstyled floats will convert them to a more human-friendly but less computationally accurate value * * @return mixed[][] */ @@ -3032,14 +3031,16 @@ class Worksheet bool $formatData = true, bool $returnCellRef = false, bool $ignoreHidden = false, - bool $reduceArrays = false + bool $reduceArrays = false, + bool $lessFloatPrecision = false, ): array { $returnValue = []; $parts = explode(',', $ranges); foreach ($parts as $part) { // Loop through rows - foreach ($this->rangeToArrayYieldRows($part, $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays) as $rowRef => $rowArray) { + foreach ($this->rangeToArrayYieldRows($part, $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays, $lessFloatPrecision) as $rowRef => $rowArray) { + /** @var int $rowRef */ $returnValue[$rowRef] = $rowArray; } } @@ -3058,6 +3059,8 @@ class Worksheet * True - Return rows and columns indexed by their actual row and column IDs * @param bool $ignoreHidden False - Return values for rows/columns even if they are defined as hidden. * True - Don't return values for rows/columns that are defined as hidden. + * @param bool $reduceArrays If true and result is a formula which evaluates to an array, reduce it to the top leftmost value. + * @param bool $lessFloatPrecision If true, formatting unstyled floats will convert them to a more human-friendly but less computationally accurate value * * @return Generator> */ @@ -3068,7 +3071,8 @@ class Worksheet bool $formatData = true, bool $returnCellRef = false, bool $ignoreHidden = false, - bool $reduceArrays = false + bool $reduceArrays = false, + bool $lessFloatPrecision = false ) { $range = Validations::validateCellOrCellRange($range); @@ -3100,9 +3104,30 @@ class Worksheet $index = ($row - 1) * AddressRange::MAX_COLUMN_INT + 1; $indexPlus = $index + AddressRange::MAX_COLUMN_INT - 1; + + // Binary search to quickly approach the correct index + $keyIndex = intdiv($keysCount, 2); + $boundLow = 0; + $boundHigh = $keysCount - 1; + while ($boundLow <= $boundHigh) { + $keyIndex = intdiv($boundLow + $boundHigh, 2); + if ($keys[$keyIndex] < $index) { + $boundLow = $keyIndex + 1; + } elseif ($keys[$keyIndex] > $index) { + $boundHigh = $keyIndex - 1; + } else { + break; + } + } + + // Realign to the proper index value + while ($keyIndex > 0 && $keys[$keyIndex] > $index) { + --$keyIndex; + } while ($keyIndex < $keysCount && $keys[$keyIndex] < $index) { ++$keyIndex; } + while ($keyIndex < $keysCount && $keys[$keyIndex] <= $indexPlus) { $key = $keys[$keyIndex]; $thisRow = intdiv($key - 1, AddressRange::MAX_COLUMN_INT) + 1; @@ -3113,7 +3138,7 @@ class Worksheet $columnRef = $returnCellRef ? $col : ($thisCol - $minColInt); $cell = $this->cellCollection->get("{$col}{$thisRow}"); if ($cell !== null) { - $value = $this->cellToArray($cell, $calculateFormulas, $formatData, $nullValue); + $value = $this->cellToArray($cell, $calculateFormulas, $formatData, $nullValue, lessFloatPrecision: $lessFloatPrecision); if ($reduceArrays) { while (is_array($value)) { $value = array_shift($value); @@ -3189,7 +3214,7 @@ class Worksheet if ($namedRange->getLocalOnly()) { $worksheet = $namedRange->getWorksheet(); - if ($worksheet === null || $this->hash !== $worksheet->getHashInt()) { + if ($worksheet === null || $this !== $worksheet) { if ($returnNullIfInvalid) { return null; } @@ -3214,6 +3239,8 @@ class Worksheet * True - Return rows and columns indexed by their actual row and column IDs * @param bool $ignoreHidden False - Return values for rows/columns even if they are defined as hidden. * True - Don't return values for rows/columns that are defined as hidden. + * @param bool $reduceArrays If true and result is a formula which evaluates to an array, reduce it to the top leftmost value. + * @param bool $lessFloatPrecision If true, formatting unstyled floats will convert them to a more human-friendly but less computationally accurate value * * @return mixed[][] */ @@ -3224,7 +3251,8 @@ class Worksheet bool $formatData = true, bool $returnCellRef = false, bool $ignoreHidden = false, - bool $reduceArrays = false + bool $reduceArrays = false, + bool $lessFloatPrecision = false ): array { $retVal = []; $namedRange = $this->validateNamedRange($definedName); @@ -3233,7 +3261,7 @@ class Worksheet $cellRange = str_replace('$', '', $cellRange); $workSheet = $namedRange->getWorksheet(); if ($workSheet !== null) { - $retVal = $workSheet->rangeToArray($cellRange, $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays); + $retVal = $workSheet->rangeToArray($cellRange, $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays, $lessFloatPrecision); } } @@ -3250,6 +3278,8 @@ class Worksheet * True - Return rows and columns indexed by their actual row and column IDs * @param bool $ignoreHidden False - Return values for rows/columns even if they are defined as hidden. * True - Don't return values for rows/columns that are defined as hidden. + * @param bool $reduceArrays If true and result is a formula which evaluates to an array, reduce it to the top leftmost value. + * @param bool $lessFloatPrecision If true, formatting unstyled floats will convert them to a more human-friendly but less computationally accurate value * * @return mixed[][] */ @@ -3259,7 +3289,8 @@ class Worksheet bool $formatData = true, bool $returnCellRef = false, bool $ignoreHidden = false, - bool $reduceArrays = false + bool $reduceArrays = false, + bool $lessFloatPrecision = false ): array { // Garbage collect... $this->garbageCollect(); @@ -3270,7 +3301,7 @@ class Worksheet $maxRow = $this->getHighestRow(); // Return - return $this->rangeToArray("A1:{$maxCol}{$maxRow}", $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays); + return $this->rangeToArray("A1:{$maxCol}{$maxRow}", $nullValue, $calculateFormulas, $formatData, $returnCellRef, $ignoreHidden, $reduceArrays, $lessFloatPrecision); } /** @@ -3321,11 +3352,7 @@ class Worksheet } // Cache values - if ($highestColumn < 1) { - $this->cachedHighestColumn = 1; - } else { - $this->cachedHighestColumn = $highestColumn; - } + $this->cachedHighestColumn = max(1, $highestColumn); /** @var int $highestRow */ $this->cachedHighestRow = $highestRow; @@ -3333,9 +3360,14 @@ class Worksheet return $this; } + /** + * @deprecated 5.2.0 Serves no useful purpose. No replacement. + * + * @codeCoverageIgnore + */ public function getHashInt(): int { - return $this->hash; + return spl_object_id($this); } /** @@ -3722,7 +3754,6 @@ class Worksheet } } } - $this->hash = spl_object_id($this); } /** diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php index 5e6d3cd..50aa9da 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php @@ -123,13 +123,18 @@ abstract class BaseWriter implements IWriter $this->shouldCloseFile = true; } + protected function tryClose(): bool + { + return fclose($this->fileHandle); + } + /** * Close file handle only if we opened it ourselves. */ protected function maybeCloseFileHandle(): void { if ($this->shouldCloseFile) { - if (!fclose($this->fileHandle)) { + if (!$this->tryClose()) { throw new Exception('Could not close file after writing.'); } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php index 8ebc471..ecf79d8 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php @@ -1115,7 +1115,12 @@ class Html extends BaseWriter if ($textAlign) { $css['text-align'] = $textAlign; if (in_array($textAlign, ['left', 'right'])) { - $css['padding-' . $textAlign] = (string) ((int) $alignment->getIndent() * 9) . 'px'; + $css['padding-' . $textAlign] = (string) ($alignment->getIndent() * Alignment::INDENT_UNITS_TO_PIXELS) . 'px'; + } + } else { + $indent = $alignment->getIndent(); + if ($indent !== 0) { + $css['text-indent'] = (string) ($alignment->getIndent() * Alignment::INDENT_UNITS_TO_PIXELS) . 'px'; } } $rotation = $alignment->getTextRotation(); @@ -1126,6 +1131,12 @@ class Html extends BaseWriter $css['transform'] = "rotate({$rotation}deg)"; } } + $direction = $alignment->getReadOrder(); + if ($direction === Alignment::READORDER_LTR) { + $css['direction'] = 'ltr'; + } elseif ($direction === Alignment::READORDER_RTL) { + $css['direction'] = 'rtl'; + } return $css; } @@ -1516,7 +1527,6 @@ class Html extends BaseWriter /** @param string|string[] $cssClass */ private function generateRowCellData(Worksheet $worksheet, null|Cell|string $cell, array|string &$cssClass): string { - $cellData = ' '; if ($cell instanceof Cell) { $cellData = ''; // Don't know what this does, and no test cases. @@ -1565,13 +1575,21 @@ class Html extends BaseWriter } } } else { + $cellData = "$cell"; // Use default borders for empty cell if (is_string($cssClass)) { $cssClass .= ' style0'; } } + /* + * Browsers may remove an entirely empty row. + * An interesting option is to leave an empty cell empty using css. + * td:empty::after{content: "\00a0";} + * This works well in modern browsers. + * Alas, none of our Pdf writers can handle it. + */ - return $cellData; + return (trim($cellData) === '') ? ' ' : $cellData; } private function generateRowIncludeCharts(Worksheet $worksheet, string $coordinate): string @@ -2093,6 +2111,7 @@ class Html extends BaseWriter // For each of the omitted rows we found above, the affected rowspans should be subtracted by 1 if (isset($this->isSpannedRow[$sheetIndex])) { foreach ($this->isSpannedRow[$sheetIndex] as $rowIndex) { + /** @var int $rowIndex */ $adjustedBaseCells = []; $c = -1; $e = $countColumns - 1; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php index d7482ae..5c3cf52 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php @@ -151,6 +151,7 @@ class Style $vAlign = $style->getAlignment()->getVertical(); $wrap = $style->getAlignment()->getWrapText(); $indent = $style->getAlignment()->getIndent(); + $readOrder = $style->getAlignment()->getReadOrder(); $this->writer->startElement('style:table-cell-properties'); if (!empty($vAlign) || $wrap) { @@ -172,7 +173,7 @@ class Style $this->writer->endElement(); - if ($hAlign !== '' || !empty($indent)) { + if ($hAlign !== '' || !empty($indent) || $readOrder === Alignment::READORDER_RTL || $readOrder === Alignment::READORDER_LTR) { $this->writer ->startElement('style:paragraph-properties'); if ($hAlign !== '') { @@ -182,6 +183,11 @@ class Style $indentString = sprintf('%.4f', $indent * self::INDENT_TO_INCHES) . 'in'; $this->writer->writeAttribute('fo:margin-left', $indentString); } + if ($readOrder === Alignment::READORDER_RTL) { + $this->writer->writeAttribute('style:writing-mode', 'rl-tb'); + } elseif ($readOrder === Alignment::READORDER_LTR) { + $this->writer->writeAttribute('style:writing-mode', 'lr-tb'); + } $this->writer->endElement(); } } @@ -302,6 +308,21 @@ class Style $this->writer->endElement(); // Close style:style } + public function writeDefaultRowStyle(RowDimension $rowDimension, int $sheetId): void + { + $this->writer->startElement('style:style'); + $this->writer->writeAttribute('style:family', 'table-row'); + $this->writer->writeAttribute( + 'style:name', + sprintf('%s%d', self::ROW_STYLE_PREFIX, $sheetId) + ); + + $this->writeRowProperties($rowDimension); + + // End + $this->writer->endElement(); // Close style:style + } + public function writeTableStyle(Worksheet $worksheet, int $sheetId): void { $this->writer->startElement('style:style'); diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php index 2be188b..5aea6c2 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php @@ -174,6 +174,11 @@ class Content extends WriterPart 'table:style-name', sprintf('%s_%d_%d', Style::ROW_STYLE_PREFIX, $sheetIndex, $row->getRowIndex()) ); + } elseif ($sheet->getDefaultRowDimension()->getRowHeight() > 0.0 && !$sheet->getRowDimension($row->getRowIndex())->getCustomFormat()) { + $objWriter->writeAttribute( + 'table:style-name', + sprintf('%s%d', Style::ROW_STYLE_PREFIX, $sheetIndex) + ); } $this->writeCells($objWriter, $cellIterator); $objWriter->endElement(); @@ -323,6 +328,10 @@ class Content extends WriterPart } for ($i = 0; $i < $sheetCount; ++$i) { $worksheet = $spreadsheet->getSheet($i); + $default = $worksheet->getDefaultRowDimension(); + if ($default->getRowHeight() > 0.0) { + $styleWriter->writeDefaultRowStyle($default, $i); + } foreach ($worksheet->getRowDimensions() as $rowDimension) { if ($rowDimension->getRowHeight() > 0.0) { $styleWriter->writeRowStyles($rowDimension, $i); diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php index 695c604..d5c99f0 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php @@ -5,6 +5,7 @@ namespace PhpOffice\PhpSpreadsheet\Writer\Ods; use Composer\Pcre\Preg; use PhpOffice\PhpSpreadsheet\Cell\CellAddress; use PhpOffice\PhpSpreadsheet\Cell\Coordinate; +use PhpOffice\PhpSpreadsheet\Shared\StringHelper; use PhpOffice\PhpSpreadsheet\Shared\XMLWriter; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; @@ -88,9 +89,7 @@ class Settings extends WriterPart $objWriter->writeAttribute('config:name', $worksheet->getTitle()); $this->writeSelectedCells($objWriter, $worksheet); - if ($worksheet->getFreezePane() !== null) { - $this->writeFreezePane($objWriter, $worksheet); - } + $this->writeFreezePane($objWriter, $worksheet); $objWriter->endElement(); // config:config-item-map-entry Worksheet } @@ -125,7 +124,7 @@ class Settings extends WriterPart private function writeFreezePane(XMLWriter $objWriter, Worksheet $worksheet): void { - $freezePane = CellAddress::fromCellAddress($worksheet->getFreezePane() ?? ''); + $freezePane = CellAddress::fromCellAddress($worksheet->getFreezePane() ?? 'A1'); if ($freezePane->cellAddress() === 'A1') { return; } @@ -139,7 +138,7 @@ class Settings extends WriterPart $this->writeSplitValue($objWriter, 'PositionLeft', 'short', '0'); $this->writeSplitValue($objWriter, 'PositionRight', 'short', (string) ($columnId - 1)); - for ($column = 'A'; $column !== $columnName; ++$column) { + for ($column = 'A'; $column !== $columnName; StringHelper::stringIncrement($column)) { $worksheet->getColumnDimension($column)->setAutoSize(true); } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php index 9cac639..bad31ce 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php @@ -44,13 +44,6 @@ class Dompdf extends Pdf $orientation = ($orientation == 'L') ? 'landscape' : 'portrait'; // Create PDF - $restoreHandler = false; - if (PHP_VERSION_ID >= self::$temporaryVersionCheck) { - // @codeCoverageIgnoreStart - set_error_handler(self::specialErrorHandler(...)); - $restoreHandler = true; - // @codeCoverageIgnoreEnd - } $pdf = $this->createExternalWriterInstance(); $pdf->setPaper($paperSize, $orientation); @@ -58,29 +51,8 @@ class Dompdf extends Pdf $pdf->render(); // Write to file - fwrite($fileHandle, $pdf->output() ?? ''); + fwrite($fileHandle, $pdf->output()); - if ($restoreHandler) { - restore_error_handler(); // @codeCoverageIgnore - } parent::restoreStateAfterSave(); } - - protected static int $temporaryVersionCheck = 80500; - - /** - * Temporary handler for Php8.5 waiting for Dompdf release. - * - * @codeCoverageIgnore - */ - public function specialErrorHandler(int $errno, string $errstr, string $filename, int $lineno): bool - { - if ($errno === E_DEPRECATED) { - if (preg_match('/canonical|imagedestroy|http_get_last_response_headers/', $errstr) === 1) { - return true; - } - } - - return false; // continue error handling - } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php index 1c6ee30..83d4986 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php @@ -40,6 +40,13 @@ class Mpdf extends Pdf // Create PDF $config = ['tempDir' => $this->tempDir . '/mpdf']; + $restoreHandler = false; + if (PHP_VERSION_ID >= self::$temporaryVersionCheck) { + // @codeCoverageIgnoreStart + set_error_handler(self::specialErrorHandler(...)); + $restoreHandler = true; + // @codeCoverageIgnoreEnd + } $pdf = $this->createExternalWriterInstance($config); $ortmp = $orientation; $pdf->_setPageSize($paperSize, $ortmp); @@ -83,9 +90,30 @@ class Mpdf extends Pdf $str = $pdf->Output('', 'S'); fwrite($fileHandle, $str); + if ($restoreHandler) { + restore_error_handler(); // @codeCoverageIgnore + } parent::restoreStateAfterSave(); } + protected static int $temporaryVersionCheck = 80500; + + /** + * Temporary handler for Php8.5 waiting for Dompdf release. + * + * @codeCoverageIgnore + */ + public function specialErrorHandler(int $errno, string $errstr, string $filename, int $lineno): bool + { + if ($errno === E_DEPRECATED) { + if (preg_match('/Providing an empty string is deprecated/', $errstr) === 1) { + return true; + } + } + + return false; // continue error handling + } + /** * Convert inches to mm. */ diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php index fe5cfe2..94cbaff 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php @@ -30,9 +30,15 @@ class Tcpdf extends Pdf */ protected function createExternalWriterInstance(string $orientation, string $unit, $paperSize): \TCPDF { + $this->defines(); + return new \TCPDF($orientation, $unit, $paperSize); } + protected function defines(): void + { + } + /** * Save Spreadsheet to file. * diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/TcpdfNoDie.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/TcpdfNoDie.php new file mode 100644 index 0000000..070e52d --- /dev/null +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/TcpdfNoDie.php @@ -0,0 +1,27 @@ +getType(); - if (array_key_exists($validationType, self::$validationTypeMap)) { - return self::$validationTypeMap[$validationType]; - } - - return self::$validationTypeMap[DataValidation::TYPE_NONE]; + return self::$validationTypeMap[$validationType] ?? self::$validationTypeMap[DataValidation::TYPE_NONE]; } public static function errorStyle(DataValidation $dataValidation): int { $errorStyle = $dataValidation->getErrorStyle(); - if (array_key_exists($errorStyle, self::$errorStyleMap)) { - return self::$errorStyleMap[$errorStyle]; - } - - return self::$errorStyleMap[DataValidation::STYLE_STOP]; + return self::$errorStyleMap[$errorStyle] ?? self::$errorStyleMap[DataValidation::STYLE_STOP]; } public static function operator(DataValidation $dataValidation): int { $operator = $dataValidation->getOperator(); - if (array_key_exists($operator, self::$operatorMap)) { - return self::$operatorMap[$operator]; - } - - return self::$operatorMap[DataValidation::OPERATOR_BETWEEN]; + return self::$operatorMap[$operator] ?? self::$operatorMap[DataValidation::OPERATOR_BETWEEN]; } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php index e74f4f4..ec9618b 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php @@ -19,10 +19,6 @@ class ErrorCode public static function error(string $errorCode): int { - if (array_key_exists($errorCode, self::$errorCodeMap)) { - return self::$errorCodeMap[$errorCode]; - } - - return 0; + return self::$errorCodeMap[$errorCode] ?? 0; } } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php index 165eb38..810abe9 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php @@ -211,15 +211,14 @@ class Worksheet extends BIFFwriter $maxC = $this->phpSheet->getHighestColumn(); // Determine lowest and highest column and row - $this->firstRowIndex = $minR; - $this->lastRowIndex = ($maxR > 65535) ? 65535 : $maxR; + // BIFF8 DIMENSIONS record requires 0-based indices for both rows and columns + // Row methods return 1-based values (Excel UI), so subtract 1 to convert to 0-based + $this->firstRowIndex = $minR - 1; + $this->lastRowIndex = ($maxR > 65536) ? 65535 : ($maxR - 1); - $this->firstColumnIndex = Coordinate::columnIndexFromString($minC); - $this->lastColumnIndex = Coordinate::columnIndexFromString($maxC); - - if ($this->lastColumnIndex > 255) { - $this->lastColumnIndex = 255; - } + // Column methods return 1-based values (columnIndexFromString('A') = 1), so subtract 1 + $this->firstColumnIndex = Coordinate::columnIndexFromString($minC) - 1; + $this->lastColumnIndex = min(255, Coordinate::columnIndexFromString($maxC) - 1); $this->writerWorkbook = $writerWorkbook; } @@ -258,7 +257,8 @@ class Worksheet extends BIFFwriter } $columnDimensions = $phpSheet->getColumnDimensions(); - $maxCol = $this->lastColumnIndex - 1; + // lastColumnIndex is now 0-based, so no need to subtract 1 + $maxCol = $this->lastColumnIndex; for ($i = 0; $i <= $maxCol; ++$i) { $hidden = 0; $level = 0; diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php index 2ab5a4e..bda33ed 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php @@ -220,8 +220,9 @@ class Xf $header = pack('vv', $record, $length); //BIFF8 options: identation, shrinkToFit and text direction - $biff8_options = $this->style->getAlignment()->getIndent(); + $biff8_options = $this->style->getAlignment()->getIndent() & 15; $biff8_options |= (int) $this->style->getAlignment()->getShrinkToFit() << 4; + $biff8_options |= $this->style->getAlignment()->getReadOrder() << 6; $data = pack('vvvC', $ifnt, $ifmt, $style, $align); $data .= pack('CCC', self::mapTextRotation((int) $this->style->getAlignment()->getTextRotation()), $biff8_options, $used_attrib); diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php index 80f0636..50d0e5f 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php @@ -66,6 +66,8 @@ class FunctionPrefix . '|var[.]s' . '|weibull[.]dist' . '|z[.]test' + // probably added with Excel 2010 but not properly documented + . '|base' // functions added with Excel 2013 . '|acot' . '|acoth' diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php index 2f3be06..a913767 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php @@ -219,7 +219,7 @@ class Rels extends WriterPart // (! synchronize with \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Worksheet::writeDrawings) reset($drawingOriginalIds); $relPath = key($drawingOriginalIds); - if (isset($drawingOriginalIds[$relPath])) { + if (isset($relPath, $drawingOriginalIds[$relPath])) { $rId = (int) (substr($drawingOriginalIds[$relPath], 3)); } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php index 09ce162..37a8e36 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php @@ -35,6 +35,7 @@ class StringTable extends WriterPart foreach ($worksheet->getCellCollection()->getCoordinates() as $coordinate) { /** @var Cell $cell */ $cell = $worksheet->getCellCollection()->get($coordinate); + /** @var null|int|RichText|string */ $cellValue = $cell->getValue(); if ( !is_object($cellValue) @@ -305,7 +306,7 @@ class StringTable extends WriterPart $objWriter->writeAttribute('val', $value); $alpha = $underlineColor->getAlpha(); if (is_numeric($alpha)) { - $objWriter->startElement('a:alpha'); + $objWriter->startElement($prefix . 'alpha'); $objWriter->writeAttribute('val', ChartColor::alphaToXml((int) $alpha)); $objWriter->endElement(); } diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php index 2ffbacf..9b79301 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php @@ -272,6 +272,9 @@ class Style extends WriterPart $objWriter->endElement(); } + /** + * @param-out true $fontStarted + */ private function startFont(XMLWriter $objWriter, bool &$fontStarted): void { if (!$fontStarted) { diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php index 1f5dcce..b9aa9b6 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php @@ -125,18 +125,35 @@ class Workbook extends WriterPart */ private function writeWorkbookProtection(XMLWriter $objWriter, Spreadsheet $spreadsheet): void { - if ($spreadsheet->getSecurity()->isSecurityEnabled()) { + $security = $spreadsheet->getSecurity(); + if ($security->isSecurityEnabled()) { $objWriter->startElement('workbookProtection'); - $objWriter->writeAttribute('lockRevision', ($spreadsheet->getSecurity()->getLockRevision() ? 'true' : 'false')); - $objWriter->writeAttribute('lockStructure', ($spreadsheet->getSecurity()->getLockStructure() ? 'true' : 'false')); - $objWriter->writeAttribute('lockWindows', ($spreadsheet->getSecurity()->getLockWindows() ? 'true' : 'false')); + $objWriter->writeAttribute('lockRevision', ($security->getLockRevision() ? 'true' : 'false')); + $objWriter->writeAttribute('lockStructure', ($security->getLockStructure() ? 'true' : 'false')); + $objWriter->writeAttribute('lockWindows', ($security->getLockWindows() ? 'true' : 'false')); - if ($spreadsheet->getSecurity()->getRevisionsPassword() != '') { - $objWriter->writeAttribute('revisionsPassword', $spreadsheet->getSecurity()->getRevisionsPassword()); + if ($security->getRevisionsPassword() !== '') { + $objWriter->writeAttribute('revisionsPassword', $security->getRevisionsPassword()); + } else { + $hashValue = $security->getRevisionsHashValue(); + if ($hashValue !== '') { + $objWriter->writeAttribute('revisionsAlgorithmName', $security->getRevisionsAlgorithmName()); + $objWriter->writeAttribute('revisionsHashValue', $hashValue); + $objWriter->writeAttribute('revisionsSaltValue', $security->getRevisionsSaltValue()); + $objWriter->writeAttribute('revisionsSpinCount', (string) $security->getRevisionsSpinCount()); + } } - if ($spreadsheet->getSecurity()->getWorkbookPassword() != '') { - $objWriter->writeAttribute('workbookPassword', $spreadsheet->getSecurity()->getWorkbookPassword()); + if ($security->getWorkbookPassword() !== '') { + $objWriter->writeAttribute('workbookPassword', $security->getWorkbookPassword()); + } else { + $hashValue = $security->getWorkbookHashValue(); + if ($hashValue !== '') { + $objWriter->writeAttribute('workbookAlgorithmName', $security->getWorkbookAlgorithmName()); + $objWriter->writeAttribute('workbookHashValue', $hashValue); + $objWriter->writeAttribute('workbookSaltValue', $security->getWorkbookSaltValue()); + $objWriter->writeAttribute('workbookSpinCount', (string) $security->getWorkbookSpinCount()); + } } $objWriter->endElement(); diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php index effc781..5e445f6 100644 --- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php +++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php @@ -1398,6 +1398,16 @@ class Worksheet extends WriterPart } } + $customHeightNeeded = false; + if ($worksheet->getDefaultRowDimension()->getRowHeight() >= 0) { + foreach ($worksheet->getRowDimensions() as $rowDimension) { + if ($rowDimension->getCustomFormat()) { + $customHeightNeeded = true; + + break; + } + } + } $currentRow = 0; $emptyDimension = new RowDimension(); while ($currentRow++ < $highestRow) { @@ -1411,6 +1421,7 @@ class Worksheet extends WriterPart if ($writeCurrentRow) { // Start a new row + $customFormatWritten = false; $objWriter->startElement('row'); $objWriter->writeAttribute('r', "$currentRow"); $objWriter->writeAttribute('spans', '1:' . $colCount); @@ -1419,6 +1430,12 @@ class Worksheet extends WriterPart if ($rowDimension->getRowHeight() >= 0) { $objWriter->writeAttribute('customHeight', '1'); $objWriter->writeAttribute('ht', StringHelper::formatNumber($rowDimension->getRowHeight())); + } elseif ($rowDimension->getCustomFormat()) { + $objWriter->writeAttribute('customFormat', '1'); + $customFormatWritten = true; + $objWriter->writeAttribute('ht', StringHelper::formatNumber($rowDimension->getRowHeight())); + } elseif ($customHeightNeeded) { + $objWriter->writeAttribute('customHeight', '1'); } // Row visibility @@ -1439,7 +1456,9 @@ class Worksheet extends WriterPart // Style if ($rowDimension->getXfIndex() !== null) { $objWriter->writeAttribute('s', (string) $rowDimension->getXfIndex()); - $objWriter->writeAttribute('customFormat', '1'); + if (!$customFormatWritten) { + $objWriter->writeAttribute('customFormat', '1'); + } } // Write cells diff --git a/vendor/psr/http-factory/composer.json b/vendor/psr/http-factory/composer.json index d1bbdde..82a1d32 100644 --- a/vendor/psr/http-factory/composer.json +++ b/vendor/psr/http-factory/composer.json @@ -1,6 +1,6 @@ { "name": "psr/http-factory", - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "psr", "psr-7", @@ -18,8 +18,11 @@ "homepage": "https://www.php-fig.org/" } ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "autoload": { diff --git a/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php b/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php index 7db4e30..d7adbf0 100644 --- a/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php +++ b/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php @@ -15,10 +15,10 @@ interface UploadedFileFactoryInterface * * @param StreamInterface $stream Underlying stream representing the * uploaded file content. - * @param int $size in bytes + * @param int|null $size in bytes * @param int $error PHP file upload error - * @param string $clientFilename Filename as provided by the client, if any. - * @param string $clientMediaType Media type as provided by the client, if any. + * @param string|null $clientFilename Filename as provided by the client, if any. + * @param string|null $clientMediaType Media type as provided by the client, if any. * * @return UploadedFileInterface * @@ -26,9 +26,9 @@ interface UploadedFileFactoryInterface */ public function createUploadedFile( StreamInterface $stream, - int $size = null, + ?int $size = null, int $error = \UPLOAD_ERR_OK, - string $clientFilename = null, - string $clientMediaType = null + ?string $clientFilename = null, + ?string $clientMediaType = null ): UploadedFileInterface; } diff --git a/vendor/symfony/deprecation-contracts/.gitignore b/vendor/symfony/deprecation-contracts/.gitignore deleted file mode 100644 index c49a5d8..0000000 --- a/vendor/symfony/deprecation-contracts/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/vendor/symfony/deprecation-contracts/LICENSE b/vendor/symfony/deprecation-contracts/LICENSE index 406242f..0ed3a24 100644 --- a/vendor/symfony/deprecation-contracts/LICENSE +++ b/vendor/symfony/deprecation-contracts/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2020-2022 Fabien Potencier +Copyright (c) 2020-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/symfony/deprecation-contracts/README.md b/vendor/symfony/deprecation-contracts/README.md index 4957933..9814864 100644 --- a/vendor/symfony/deprecation-contracts/README.md +++ b/vendor/symfony/deprecation-contracts/README.md @@ -22,5 +22,5 @@ trigger_deprecation('symfony/blockchain', '8.9', 'Using "%s" is deprecated, use This will generate the following message: `Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.` -While not necessarily recommended, the deprecation notices can be completely ignored by declaring an empty +While not recommended, the deprecation notices can be completely ignored by declaring an empty `function trigger_deprecation() {}` in your application. diff --git a/vendor/symfony/deprecation-contracts/composer.json b/vendor/symfony/deprecation-contracts/composer.json index cc7cc12..5533b5c 100644 --- a/vendor/symfony/deprecation-contracts/composer.json +++ b/vendor/symfony/deprecation-contracts/composer.json @@ -15,7 +15,7 @@ } ], "require": { - "php": ">=7.1" + "php": ">=8.1" }, "autoload": { "files": [ @@ -25,7 +25,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", diff --git a/vendor/symfony/deprecation-contracts/function.php b/vendor/symfony/deprecation-contracts/function.php index d437150..2d56512 100644 --- a/vendor/symfony/deprecation-contracts/function.php +++ b/vendor/symfony/deprecation-contracts/function.php @@ -20,7 +20,7 @@ if (!function_exists('trigger_deprecation')) { * * @author Nicolas Grekas */ - function trigger_deprecation(string $package, string $version, string $message, ...$args): void + function trigger_deprecation(string $package, string $version, string $message, mixed ...$args): void { @trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED); } diff --git a/vendor/tecnickcom/tc-lib-barcode/.editorconfig b/vendor/tecnickcom/tc-lib-barcode/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-barcode/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-barcode/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-barcode/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-barcode/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-barcode/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-barcode/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-barcode/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-barcode/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-barcode/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-barcode/.github/workflows/check.yml new file mode 100644 index 0000000..cd4a163 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [xdebug] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: xdebug, bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-barcode/.gitignore b/vendor/tecnickcom/tc-lib-barcode/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-barcode/CODEOWNERS b/vendor/tecnickcom/tc-lib-barcode/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-barcode/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-barcode/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-barcode/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-barcode/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-barcode/LICENSE b/vendor/tecnickcom/tc-lib-barcode/LICENSE new file mode 100644 index 0000000..4c17a03 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-barcode +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2001-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-barcode/Makefile b/vendor/tecnickcom/tc-lib-barcode/Makefile new file mode 100644 index 0000000..6403e7d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/Makefile @@ -0,0 +1,275 @@ +# makefile +# +# @since 2015-02-21 +# @category Library +# @package Barcode +# @author Nicola Asuni +# @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-barcode +# +# This file is part of tc-lib-barcode software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-barcode + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Barcode/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION diff --git a/vendor/tecnickcom/tc-lib-barcode/README.md b/vendor/tecnickcom/tc-lib-barcode/README.md new file mode 100644 index 0000000..1bd9d55 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/README.md @@ -0,0 +1,176 @@ +# tc-lib-barcode +*PHP barcode library* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-barcode/version)](https://packagist.org/packages/tecnickcom/tc-lib-barcode) +![Build](https://github.com/tecnickcom/tc-lib-barcode/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-barcode/graph/badge.svg?token=PW6r97iVuW)](https://codecov.io/gh/tecnickcom/tc-lib-barcode) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-barcode/license)](https://packagist.org/packages/tecnickcom/tc-lib-barcode) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-barcode/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-barcode) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Barcode +* **author** Nicola Asuni +* **copyright** 2001-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-barcode +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-barcode + +## Description + +This library includes utility PHP classes to generate linear and bidimensional barcodes: + +* C39 : CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9 +* C39+ : CODE 39 with checksum +* C39E : CODE 39 EXTENDED +* C39E+ : CODE 39 EXTENDED + CHECKSUM +* C93 : CODE 93 - USS-93 +* S25 : Standard 2 of 5 +* S25+ : Standard 2 of 5 + CHECKSUM +* I25 : Interleaved 2 of 5 +* I25+ : Interleaved 2 of 5 + CHECKSUM +* C128 : CODE 128 +* C128A : CODE 128 A +* C128B : CODE 128 B +* C128C : CODE 128 C +* EAN2 : 2-Digits UPC-Based Extension +* EAN5 : 5-Digits UPC-Based Extension +* EAN8 : EAN 8 +* EAN13 : EAN 13 +* UPCA : UPC-A +* UPCE : UPC-E +* MSI : MSI (Variation of Plessey code) +* MSI+ : MSI + CHECKSUM (modulo 11) +* POSTNET : POSTNET +* PLANET : PLANET +* RMS4CC : RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) +* KIX : KIX (Klant index - Customer index) +* IMB : IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 +* IMBPRE : IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200- pre-processed +* CODABAR : CODABAR +* CODE11 : CODE 11 +* PHARMA : PHARMACODE +* PHARMA2T : PHARMACODE TWO-TRACKS +* AZTEC : AZTEC Code (ISO/IEC 24778:2008) +* DATAMATRIX : DATAMATRIX (ISO/IEC 16022) +* PDF417 : PDF417 (ISO/IEC 15438:2006) +* QRCODE : QR-CODE +* RAW : 2D RAW MODE comma-separated rows +* RAW2 : 2D RAW MODE rows enclosed in square parentheses + +### Output Formats + +* PNG Image +* SVG Image +* HTML DIV +* Unicode String +* Binary String + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Examples + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +### Simple Code Example + +Please check example/index.php for a full example. + +``` +// instantiate the barcode class +$barcode = new \Com\Tecnick\Barcode\Barcode(); + +// generate a barcode +$bobj = $barcode->getBarcodeObj( + 'QRCODE,H', // barcode type and additional comma-separated parameters + 'https://tecnick.com', // data string to encode + -4, // bar width (use absolute or negative value as multiplication factor) + -4, // bar height (use absolute or negative value as multiplication factor) + 'black', // foreground color + array(-2, -2, -2, -2) // padding (use absolute or negative values as multiplication factors) + )->setBackgroundColor('white'); // background color + +// output the barcode as HTML div (see other output formats in the documentation and examples) +echo $bobj->getHtmlDiv(); +``` + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-barcode": "^2.3" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-barcode ^2.3 +``` + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +```php +require_once ('/usr/share/php/Com/Tecnick/Barcode/autoload.php'); +``` + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-barcode/RELEASE b/vendor/tecnickcom/tc-lib-barcode/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-barcode/SECURITY.md b/vendor/tecnickcom/tc-lib-barcode/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-barcode/VERSION b/vendor/tecnickcom/tc-lib-barcode/VERSION new file mode 100644 index 0000000..f041bc6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/VERSION @@ -0,0 +1 @@ +2.4.8 diff --git a/vendor/tecnickcom/tc-lib-barcode/composer.json b/vendor/tecnickcom/tc-lib-barcode/composer.json new file mode 100644 index 0000000..1b2344c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/composer.json @@ -0,0 +1,79 @@ +{ + "name": "tecnickcom/tc-lib-barcode", + "description": "PHP library to generate linear and bidimensional barcodes", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "3 of 9", + "ANSI MH10.8M-1983", + "AZTEC", + "barcode", + "CBC", + "CODABAR", + "CODE 11", + "CODE 128 A B C", + "CODE 39", + "CODE 93", + "Datamatrix", + "EAN 13", + "EAN 8", + "ECC200", + "Intelligent Mail Barcode", + "Interleaved 2 of 5", + "ISO IEC 15438 2006", + "ISO IEC 16022", + "ISO IEC 24778 2008", + "KIX", + "Klant", + "MSI", + "Onecode", + "PDF417", + "PHARMACODE TWO-TRACKS", + "PHARMACODE", + "PLANET", + "POSTNET", + "QR-Code", + "RMS4CC", + "Royal Mail", + "Standard 2 of 5", + "tc-lib-barcode", + "UPC-A", + "UPC-E", + "UPC", + "USD-3", + "USPS-B-3200", + "USS-93" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-bcmath": "*", + "ext-date": "*", + "ext-gd": "*", + "ext-pcre": "*", + "tecnickcom/tc-lib-color": "^2.2" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Barcode\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Test\\": "test" + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/example/index.php b/vendor/tecnickcom/tc-lib-barcode/example/index.php new file mode 100644 index 0000000..821027f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/example/index.php @@ -0,0 +1,121 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +// autoloader when using Composer +require(__DIR__ . '/../vendor/autoload.php'); + +// autoloader when using RPM or DEB package installation +//require ('/usr/share/php/Com/Tecnick/Barcode/autoload.php'); + +// data to generate for each barcode type +$linear = [ + 'C128A' => ['0123456789', 'CODE 128 A'], + 'C128B' => ['0123456789', 'CODE 128 B'], + 'C128C' => ['0123456789', 'CODE 128 C'], + 'C128' => ['0123456789', 'CODE 128'], + 'C39E+' => ['0123456789', 'CODE 39 EXTENDED + CHECKSUM'], + 'C39E' => ['0123456789', 'CODE 39 EXTENDED'], + 'C39+' => ['0123456789', 'CODE 39 + CHECKSUM'], + 'C39' => ['0123456789', 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9'], + 'C93' => ['0123456789', 'CODE 93 - USS-93'], + 'CODABAR' => ['0123456789', 'CODABAR'], + 'CODE11' => ['0123456789', 'CODE 11'], + 'EAN13' => ['0123456789', 'EAN 13'], + 'EAN2' => ['12', 'EAN 2-Digits UPC-Based Extension'], + 'EAN5' => ['12345', 'EAN 5-Digits UPC-Based Extension'], + 'EAN8' => ['1234567', 'EAN 8'], + 'I25+' => ['0123456789', 'Interleaved 2 of 5 + CHECKSUM'], + 'I25' => ['0123456789', 'Interleaved 2 of 5'], + 'IMB' => ['01234567094987654321-01234567891', 'IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200'], + 'IMBPRE' => ['AADTFFDFTDADTAADAATFDTDDAAADDTDTTDAFADADDDTFFFDDTTTADFAAADFTDAADA', 'IMB pre-processed'], + 'KIX' => ['0123456789', 'KIX (Klant index - Customer index)'], + 'MSI+' => ['0123456789', 'MSI + CHECKSUM (modulo 11)'], + 'MSI' => ['0123456789', 'MSI (Variation of Plessey code)'], + 'PHARMA2T' => ['0123456789', 'PHARMACODE TWO-TRACKS'], + 'PHARMA' => ['0123456789', 'PHARMACODE'], + 'PLANET' => ['0123456789', 'PLANET'], + 'POSTNET' => ['0123456789', 'POSTNET'], + 'RMS4CC' => ['0123456789', 'RMS4CC (Royal Mail 4-state Customer Bar Code)'], + 'S25+' => ['0123456789', 'Standard 2 of 5 + CHECKSUM'], + 'S25' => ['0123456789', 'Standard 2 of 5'], + 'UPCA' => ['72527273070', 'UPC-A'], + 'UPCE' => ['725277', 'UPC-E'], +]; + +$square = [ + 'LRAW' => ['0101010101', '1D RAW MODE (comma-separated rows of 01 strings)'], + 'SRAW' => ['0101,1010', '2D RAW MODE (comma-separated rows of 01 strings)'], + 'AZTEC' => ['ABCDabcd01234', 'AZTEC (ISO/IEC 24778:2008)'], + 'AZTEC,50,A,A' => ['ABCDabcd01234', 'AZTEC (ISO/IEC 24778:2008)'], + 'PDF417' => ['0123456789', 'PDF417 (ISO/IEC 15438:2006)'], + 'QRCODE' => ['0123456789', 'QR-CODE'], + 'QRCODE,H,ST,0,0' => ['abcdefghijklmnopqrstuvwxy0123456789', 'QR-CODE WITH PARAMETERS'], + 'DATAMATRIX' => ['0123456789', 'DATAMATRIX (ISO/IEC 16022) SQUARE'], + 'DATAMATRIX,R' => ['0123456789012345678901234567890123456789', 'DATAMATRIX Rectangular (ISO/IEC 16022) RECTANGULAR'], + 'DATAMATRIX,S,GS1' => [chr(232) . '01095011010209171719050810ABCD1234' . chr(232) . '2110', 'GS1 DATAMATRIX (ISO/IEC 16022) SQUARE GS1'], + 'DATAMATRIX,R,GS1' => [chr(232) . '01095011010209171719050810ABCD1234' . chr(232) . '2110', 'GS1 DATAMATRIX (ISO/IEC 16022) RECTANGULAR GS1'], +]; + +$barcode = new \Com\Tecnick\Barcode\Barcode(); + +$examples = '

Linear

' . "\n"; +foreach ($linear as $type => $code) { + $bobj = $barcode->getBarcodeObj($type, $code[0], -3, -30, 'black', [0, 0, 0, 0]); + $examples .= '

[' . $type . '] ' . $code[1] . '

' . $bobj->getHtmlDiv() . '

' . "\n"; +} + +$examples .= '

Square

' . "\n"; +foreach ($square as $type => $code) { + $bobj = $barcode->getBarcodeObj($type, $code[0], -4, -4, 'black', [0, 0, 0, 0]); + $examples .= '

[' . $type . '] ' . $code[1] . '

' . $bobj->getHtmlDiv() . '

' . "\n"; +} + +$bobj = $barcode->getBarcodeObj('QRCODE,H', 'https://tecnick.com', -4, -4, 'black', [-2, -2, -2, -2])->setBackgroundColor('#f0f0f0'); + +echo " + + + + Usage example of tc-lib-barcode library + + + + +

Usage example of tc-lib-barcode library

+

This is an usage example of tc-lib-barcode library.

+

Output Formats

+

PNG Image

+

\"EmbeddedgetPngData()) . "\" />

+

SVG Image

+

" . $bobj->getSvgCode() . "

+

HTML DIV

+

" . $bobj->getHtmlDiv() . "

+

Unicode String

+
" . $bobj->getGrid(json_decode('"\u00A0"'), json_decode('"\u2584"')) . "
+

Binary String

+
" . $bobj->getGrid() . "
+

Barcode Types

+ " . $examples . " + + +"; diff --git a/vendor/tecnickcom/tc-lib-barcode/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-barcode/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-barcode/phpcs.xml b/vendor/tecnickcom/tc-lib-barcode/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-barcode/phpstan.neon b/vendor/tecnickcom/tc-lib-barcode/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-barcode/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-barcode/phpunit.xml.dist new file mode 100644 index 0000000..bf99188 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/autoload.php b/vendor/tecnickcom/tc-lib-barcode/resources/autoload.php new file mode 100644 index 0000000..ba676b8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(__DIR__).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/debian/changelog b/vendor/tecnickcom/tc-lib-barcode/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/debian/compat b/vendor/tecnickcom/tc-lib-barcode/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/debian/control b/vendor/tecnickcom/tc-lib-barcode/resources/debian/control new file mode 100644 index 0000000..bed9136 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/debian/control @@ -0,0 +1,23 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-bcmath, php-date, php-gd, php-tecnickcom-tc-lib-color (<< 3.0.0), php-tecnickcom-tc-lib-color (>= 2.2.13), ${misc:Depends} +Description: PHP Barcode library + This library includes PHP classes to generate linear + and bidimensional barcodes: + CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, + USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, + 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, + UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), + CBC (Customer Bar Code), KIX (Klant index - Customer index), + Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, + PHARMACODE, PHARMACODE TWO-TRACKS, AZTEC, Datamatrix ECC200, QR-Code, PDF417. diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/debian/copyright b/vendor/tecnickcom/tc-lib-barcode/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/debian/rules b/vendor/tecnickcom/tc-lib-barcode/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/debian/source/format b/vendor/tecnickcom/tc-lib-barcode/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/phpmd/codesize.xml b/vendor/tecnickcom/tc-lib-barcode/resources/phpmd/codesize.xml new file mode 100644 index 0000000..2ecea04 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/phpmd/codesize.xml @@ -0,0 +1,22 @@ + + +Created with the PHP Coding Standard Generator. http://edorian.github.com/php-coding-standard-generator/ + + + + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/phpmd/design.xml b/vendor/tecnickcom/tc-lib-barcode/resources/phpmd/design.xml new file mode 100644 index 0000000..cd5a262 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/phpmd/design.xml @@ -0,0 +1,18 @@ + + +Created with the PHP Coding Standard Generator. http://edorian.github.com/php-coding-standard-generator/ + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-barcode/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-barcode/resources/rpm/rpm.spec new file mode 100644 index 0000000..e8093fb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/resources/rpm/rpm.spec @@ -0,0 +1,63 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library to generate linear and bidimensional barcodes + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-composer(%{c_vendor}/tc-lib-color) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-color) >= 2.2.13 +Requires: php-bcmath +Requires: php-date +Requires: php-gd +Requires: php-pcre + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP classes to generate linear and bidimensional barcodes: +CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, +Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, +2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, +UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), +CBC (Customer Bar Code), KIX (Klant index - Customer index), +Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, +PHARMACODE, PHARMACODE TWO-TRACKS, AZTEC, Datamatrix ECC200, QR-Code, PDF417. + +Optional dependency: php-pecl-imagick + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Thu Jul 02 2024 Nicola Asuni 1.2.0-1 +- Changed package name, add provides section +* Tue Feb 24 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Barcode.php b/vendor/tecnickcom/tc-lib-barcode/src/Barcode.php new file mode 100644 index 0000000..3b28bdc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Barcode.php @@ -0,0 +1,158 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Barcode + * + * Barcode Barcode class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Barcode +{ + /** + * List of supported Barcode Types with description. + * + * @var array + */ + public const BARCODETYPES = [ + 'C128' => 'CODE 128', + 'C128A' => 'CODE 128 A', + 'C128B' => 'CODE 128 B', + 'C128C' => 'CODE 128 C', + 'C39' => 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.', + 'C39+' => 'CODE 39 + CHECKSUM', + 'C39E' => 'CODE 39 EXTENDED', + 'C39E+' => 'CODE 39 EXTENDED + CHECKSUM', + 'C93' => 'CODE 93 - USS-93', + 'CODABAR' => 'CODABAR', + 'CODE11' => 'CODE 11', + 'EAN13' => 'EAN 13', + 'EAN2' => 'EAN 2-Digits UPC-Based Extension', + 'EAN5' => 'EAN 5-Digits UPC-Based Extension', + 'EAN8' => 'EAN 8', + 'I25' => 'Interleaved 2 of 5', + 'I25+' => 'Interleaved 2 of 5 + CHECKSUM', + 'IMB' => 'IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200', + 'IMBPRE' => 'IMB - Intelligent Mail Barcode pre-processed', + 'KIX' => 'KIX (Klant index - Customer index)', + 'LRAW' => '1D RAW MODE (comma-separated rows of 01 strings)', + 'MSI' => 'MSI (Variation of Plessey code)', + 'MSI+' => 'MSI + CHECKSUM (modulo 11)', + 'PHARMA' => 'PHARMACODE', + 'PHARMA2T' => 'PHARMACODE TWO-TRACKS', + 'PLANET' => 'PLANET', + 'POSTNET' => 'POSTNET', + 'RMS4CC' => 'RMS4CC (Royal Mail 4-state Customer Bar Code)', + 'S25' => 'Standard 2 of 5', + 'S25+' => 'Standard 2 of 5 + CHECKSUM', + 'UPCA' => 'UPC-A', + 'UPCE' => 'UPC-E', + 'AZTEC' => 'AZTEC Code (ISO/IEC 24778:2008)', + 'DATAMATRIX' => 'DATAMATRIX (ISO/IEC 16022)', + 'PDF417' => 'PDF417 (ISO/IEC 15438:2006)', + 'QRCODE' => 'QR-CODE', + 'SRAW' => '2D RAW MODE (comma-separated rows of 01 strings)', + ]; + + /** + * Get the barcode object + * + * @param string $type Barcode type + * @param string $code Barcode content + * @param int $width Barcode width in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each column. + * @param int $height Barcode height in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each row. + * @param string $color Foreground color in Web notation + * (color name, or hexadecimal code, or CSS syntax) + * @param array{int, int, int, int} $padding Additional padding to add around the barcode + * (top, right, bottom, left) in user units. A + * negative value indicates the multiplication + * factor for each row or column. + * + * @throws BarcodeException in case of error + */ + public function getBarcodeObj( + string $type, + string $code, + int $width = -1, + int $height = -1, + string $color = 'black', + array $padding = [0, 0, 0, 0] + ): Model { + // extract extra parameters (if any) + $params = explode(',', $type); + $type = array_shift($params); + + $bclass = match ($type) { + 'C128' => 'Linear\\CodeOneTwoEight', // CODE 128 + 'C128A' => 'Linear\\CodeOneTwoEight\\CodeOneTwoEightA', // CODE 128 A + 'C128B' => 'Linear\\CodeOneTwoEight\\CodeOneTwoEightB', // CODE 128 B + 'C128C' => 'Linear\\CodeOneTwoEight\\CodeOneTwoEightC', // CODE 128 C + 'C39' => 'Linear\\CodeThreeNine', // CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. + 'C39+' => 'Linear\\CodeThreeNineCheck', // CODE 39 + CHECKSUM + 'C39E' => 'Linear\\CodeThreeNineExt', // CODE 39 EXTENDED + 'C39E+' => 'Linear\\CodeThreeNineExtCheck', // CODE 39 EXTENDED + CHECKSUM + 'C93' => 'Linear\\CodeNineThree', // CODE 93 - USS-93 + 'CODABAR' => 'Linear\\Codabar', // CODABAR + 'CODE11' => 'Linear\\CodeOneOne', // CODE 11 + 'EAN13' => 'Linear\\EanOneThree', // EAN 13 + 'EAN2' => 'Linear\\EanTwo', // EAN 2-Digits UPC-Based Extension + 'EAN5' => 'Linear\\EanFive', // EAN 5-Digits UPC-Based Extension + 'EAN8' => 'Linear\\EanEight', // EAN 8 + 'I25' => 'Linear\\InterleavedTwoOfFive', // Interleaved 2 of 5 + 'I25+' => 'Linear\\InterleavedTwoOfFiveCheck', // Interleaved 2 of 5 + CHECKSUM + 'IMB' => 'Linear\\Imb', // IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 + 'IMBPRE' => 'Linear\\ImbPre', // IMB - Intelligent Mail Barcode pre-processed + 'KIX' => 'Linear\\KlantIndex', // KIX (Klant index - Customer index) + 'LRAW' => 'Linear\\Raw', // 1D RAW MODE (comma-separated rows of 01 strings) + 'MSI' => 'Linear\\Msi', // MSI (Variation of Plessey code) + 'MSI+' => 'Linear\\MsiCheck', // MSI + CHECKSUM (modulo 11) + 'PHARMA' => 'Linear\\Pharma', // PHARMACODE + 'PHARMA2T' => 'Linear\\PharmaTwoTracks', // PHARMACODE TWO-TRACKS + 'PLANET' => 'Linear\\Planet', // PLANET + 'POSTNET' => 'Linear\\Postnet', // POSTNET + 'RMS4CC' => 'Linear\\RoyalMailFourCc', // RMS4CC (Royal Mail 4-state Customer Bar Code) + 'S25' => 'Linear\\StandardTwoOfFive', // Standard 2 of 5 + 'S25+' => 'Linear\\StandardTwoOfFiveCheck', // Standard 2 of 5 + CHECKSUM + 'UPCA' => 'Linear\\UpcA', // UPC-A + 'UPCE' => 'Linear\\UpcE', // UPC-E + 'AZTEC' => 'Square\\Aztec', // AZTEC Code (ISO/IEC 24778:2008) + 'DATAMATRIX' => 'Square\\Datamatrix', // DATAMATRIX (ISO/IEC 16022) + 'PDF417' => 'Square\\PdfFourOneSeven', // PDF417 (ISO/IEC 15438:2006) + 'QRCODE' => 'Square\\QrCode', // QR-CODE + 'SRAW' => 'Square\\Raw', // 2D RAW MODE (comma-separated rows of 01 strings) + default => throw new BarcodeException('Unsupported barcode type: ' . $type) + }; + + $class = '\\Com\\Tecnick\\Barcode\\Type\\' . $bclass; + /* @phpstan-ignore-next-line */ + return new $class($code, $width, $height, $color, $params, $padding); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Exception.php b/vendor/tecnickcom/tc-lib-barcode/src/Exception.php new file mode 100644 index 0000000..3a03a0d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode; + +/** + * Com\Tecnick\Barcode\Exception + * + * Custom Exception class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Model.php b/vendor/tecnickcom/tc-lib-barcode/src/Model.php new file mode 100644 index 0000000..2674583 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Model.php @@ -0,0 +1,199 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Color\Exception as ColorException; +use Com\Tecnick\Color\Model\Rgb; + +/** + * Com\Tecnick\Barcode\Type + * + * Barcode Type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +interface Model +{ + /** + * Set the size of the barcode to be exported + * + * @param int $width Barcode width in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each column. + * @param int $height Barcode height in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each row. + * @param array{int, int, int, int} $padding Additional padding to add around the barcode + * (top, right, bottom, left) in user units. A + * negative value indicates the number or rows + * or columns. + */ + public function setSize(int $width, int $height, array $padding = [0, 0, 0, 0]): static; + + /** + * Set the color of the bars. + * If the color is transparent or empty it will be set to the default black color. + * + * @param string $color Foreground color in Web notation (color name, or hexadecimal code, or CSS syntax) + * + * @throws ColorException in case of color error + * @throws BarcodeException in case of empty or transparent color + */ + public function setColor(string $color): static; + + /** + * Set the background color + * + * @param string $color Background color in Web notation (color name, or hexadecimal code, or CSS syntax) + * + * @throws ColorException in case of color error + */ + public function setBackgroundColor(string $color): static; + + /** + * Get the barcode raw array + * + * @return array{ + * 'type': string, + * 'format': string, + * 'params': array, + * 'code': string, + * 'extcode': string, + * 'ncols': int, + * 'nrows': int, + * 'width': int, + * 'height': int, + * 'width_ratio': float, + * 'height_ratio': float, + * 'padding': array{'T': int, 'R': int, 'B': int, 'L': int}, + * 'full_width': int, + * 'full_height': int, + * 'color_obj': Rgb, + * 'bg_color_obj': ?Rgb, + * 'bars': array, + * } + */ + public function getArray(): array; + + /** + * Get the extended code (code + checksum) + */ + public function getExtendedCode(): string; + + /** + * Get the barcode as SVG image object + * + * @param string|null $filename The file name without extension (optional). + * Only allows alphanumeric characters, underscores and hyphens. + * Defaults to a md5 hash of the data. + * The file extension is always '.svg'. + */ + public function getSvg(?string $filename = null): void; + + /** + * Get the barcode as inline SVG code. + * + * @return string Inline SVG code. + */ + public function getInlineSvgCode(): string; + + /** + * Get the barcode as SVG code, including the XML declaration. + * + * @return string SVG code + */ + public function getSvgCode(): string; + + /** + * Get an HTML representation of the barcode. + * + * @return string HTML code (DIV block) + */ + public function getHtmlDiv(): string; + + /** + * Get Barcode as PNG Image (requires GD or Imagick library) + * + * @param string|null $filename The file name without extension (optional). + * Only allows alphanumeric characters, underscores and hyphens. + * Defaults to a md5 hash of the data. + * The file extension is always '.png'. + */ + public function getPng(?string $filename = null): void; + + /** + * Get the barcode as PNG image (requires GD or Imagick library) + * + * @param bool $imagick If true try to use the Imagick extension + * + * @return string PNG image data + */ + public function getPngData(bool $imagick = true): string; + + /** + * Get the barcode as PNG image (requires Imagick library) + * + * @throws BarcodeException if the Imagick library is not installed + */ + public function getPngDataImagick(): string; + + /** + * Get the barcode as GD image object (requires GD library) + * + * @throws BarcodeException if the GD library is not installed + */ + public function getGd(): \GdImage; + + /** + * Get a raw barcode string representation using characters + * + * @param string $space_char Character or string to use for filling empty spaces + * @param string $bar_char Character or string to use for filling bars + */ + public function getGrid(string $space_char = '0', string $bar_char = '1'): string; + + /** + * Get a raw barcode grid array + * + * @param string $space_char Character or string to use for filling empty spaces + * @param string $bar_char Character or string to use for filling bars + * + * @return array> + */ + public function getGridArray(string $space_char = '0', string $bar_char = '1'): array; + + /** + * Get the array containing all the formatted bars coordinates + * + * @return array + */ + public function getBarsArrayXYXY(): array; + + /** + * Get the array containing all the formatted bars coordinates + * + * @return array + */ + public function getBarsArrayXYWH(): array; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type.php b/vendor/tecnickcom/tc-lib-barcode/src/Type.php new file mode 100644 index 0000000..6a10d5c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type.php @@ -0,0 +1,650 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Color\Exception as ColorException; +use Com\Tecnick\Color\Model\Rgb; +use Com\Tecnick\Color\Pdf; + +/** + * Com\Tecnick\Barcode\Type + * + * Barcode Type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Type extends \Com\Tecnick\Barcode\Type\Convert implements Model +{ + /** + * Initialize a new barcode object + * + * @param string $code Barcode content + * @param int $width Barcode width in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each column. + * @param int $height Barcode height in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each row. + * @param string $color Foreground color in Web notation + * (color name, or hexadecimal code, or CSS syntax) + * @param array $params Array containing extra parameters for the specified barcode type + * @param array{int, int, int, int} $padding Additional padding to add around the barcode + * (top, right, bottom, left) in user units. A + * negative value indicates the number or rows + * or columns. + * + * @throws BarcodeException in case of error + * @throws ColorException in case of color error + */ + public function __construct( + string $code, + int $width = -1, + int $height = -1, + string $color = 'black', + array $params = [], + array $padding = [0, 0, 0, 0] + ) { + $this->code = $code; + $this->extcode = $code; + $this->params = $params; + $this->setParameters(); + $this->setBars(); + $this->setSize($width, $height, $padding); + $this->setColor($color); + } + + /** + * Set extra (optional) parameters + */ + protected function setParameters(): void + { + } + + /** + * Set the bars array + */ + protected function setBars(): void + { + } + + /** + * Set the size of the barcode to be exported + * + * @param int $width Barcode width in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each column. + * @param int $height Barcode height in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each row. + * @param array{int, int, int, int} $padding Additional padding to add around the barcode + * (top, right, bottom, left) in user units. A + * negative value indicates the number or rows + * or columns. + */ + public function setSize( + int $width, + int $height, + array $padding = [0, 0, 0, 0] + ): static { + $this->width = $width; + if ($this->width <= 0) { + $this->width = (abs(min(-1, $this->width)) * $this->ncols); + } + + $this->height = $height; + if ($this->height <= 0) { + $this->height = (abs(min(-1, $this->height)) * $this->nrows); + } + + $this->width_ratio = ($this->width / $this->ncols); + $this->height_ratio = ($this->height / $this->nrows); + + $this->setPadding($padding); + + return $this; + } + + /** + * Set the barcode padding + * + * @param array{int, int, int, int} $padding Additional padding to add around the barcode + * (top, right, bottom, left) in user units. + * A negative value indicates the number or rows or columns. + * + * @throws BarcodeException in case of error + */ + protected function setPadding(array $padding): static + { + if (count($padding) != 4) { + throw new BarcodeException( + 'Invalid padding, expecting an array of 4 numbers (top, right, bottom, left)' + ); + } + + $map = [ + ['T', $this->height_ratio], + ['R', $this->width_ratio], + ['B', $this->height_ratio], + ['L', $this->width_ratio], + ]; + foreach ($padding as $key => $val) { + if ($val < 0) { + $val = (abs(min(-1, $val)) * $map[$key][1]); + } + + $this->padding[$map[$key][0]] = (int) $val; + } + + return $this; + } + + /** + * Set the color of the bars. + * If the color is transparent or empty it will be set to the default black color. + * + * @param string $color Foreground color in Web notation (color name, or hexadecimal code, or CSS syntax) + * + * @throws ColorException in case of color error + * @throws BarcodeException in case of empty or transparent color + */ + public function setColor(string $color): static + { + $colobj = $this->getRgbColorObject($color); + if (! $colobj instanceof \Com\Tecnick\Color\Model\Rgb) { + throw new BarcodeException('The foreground color cannot be empty or transparent'); + } + + $this->color_obj = $colobj; + return $this; + } + + /** + * Set the background color + * + * @param string $color Background color in Web notation (color name, or hexadecimal code, or CSS syntax) + * + * @throws ColorException in case of color error + */ + public function setBackgroundColor(string $color): static + { + $this->bg_color_obj = $this->getRgbColorObject($color); + return $this; + } + + /** + * Get the RGB Color object for the given color representation + * + * @param string $color Color in Web notation (color name, or hexadecimal code, or CSS syntax) + * + * @throws ColorException in case of color error + */ + protected function getRgbColorObject(string $color): ?Rgb + { + $pdf = new Pdf(); + $cobj = $pdf->getColorObject($color); + if ($cobj instanceof \Com\Tecnick\Color\Model) { + return new Rgb($cobj->toRgbArray()); + } + + return null; + } + + /** + * Get the barcode raw array + * + * @return array{ + * 'type': string, + * 'format': string, + * 'params': array, + * 'code': string, + * 'extcode': string, + * 'ncols': int, + * 'nrows': int, + * 'width': int, + * 'height': int, + * 'width_ratio': float, + * 'height_ratio': float, + * 'padding': array{'T': int, 'R': int, 'B': int, 'L': int}, + * 'full_width': int, + * 'full_height': int, + * 'color_obj': Rgb, + * 'bg_color_obj': ?Rgb, + * 'bars': array, + * } + */ + public function getArray(): array + { + return [ + 'type' => $this::TYPE, + 'format' => $this::FORMAT, + 'params' => $this->params, + 'code' => $this->code, + 'extcode' => $this->extcode, + 'ncols' => $this->ncols, + 'nrows' => $this->nrows, + 'width' => $this->width, + 'height' => $this->height, + 'width_ratio' => $this->width_ratio, + 'height_ratio' => $this->height_ratio, + 'padding' => $this->padding, + 'full_width' => ($this->width + $this->padding['L'] + $this->padding['R']), + 'full_height' => ($this->height + $this->padding['T'] + $this->padding['B']), + 'color_obj' => $this->color_obj, + 'bg_color_obj' => $this->bg_color_obj, + 'bars' => $this->bars, + ]; + } + + /** + * Get the extended code (code + checksum) + */ + public function getExtendedCode(): string + { + return $this->extcode; + } + + /** + * Sends the data as file to the browser. + * + * @param string $data The file data. + * @param string $mime The file MIME type (i.e. 'application/svg+xml' or 'image/png'). + * @param string $fileext The file extension (i.e. 'svg' or 'png'). + * @param string|null $filename The file name without extension (optional). + * Only allows alphanumeric characters, underscores and hyphens. + * Defaults to a md5 hash of the data. + * + * @return void + */ + protected function getHTTPFile( + string $data, + string $mime, + string $fileext, + ?string $filename = null, + ): void { + if (is_null($filename) || (preg_match('/^[a-zA-Z0-9_\-]{1,250}$/', $filename) !== 1)) { + $filename = md5($data); + } + + header('Content-Type: ' . $mime); + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + header('Pragma: public'); + header('Expires: Thu, 04 jan 1973 00:00:00 GMT'); // Date in the past + header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + header('Content-Disposition: inline; filename="' . $filename . '.' . $fileext . '";'); + if (empty($_SERVER['HTTP_ACCEPT_ENCODING'])) { + // the content length may vary if the server is using compression + header('Content-Length: ' . strlen($data)); + } + + echo $data; + } + + /** + * Get the barcode as SVG image object. + * + * @param string|null $filename The file name without extension (optional). + * Only allows alphanumeric characters, underscores and hyphens. + * Defaults to a md5 hash of the data. + * The file extension is always '.svg'. + */ + public function getSvg(?string $filename = null): void + { + $this->getHTTPFile($this->getSvgCode(), 'application/svg+xml', 'svg', $filename); + } + + /** + * Get the barcode as inline SVG code. + * + * @return string Inline SVG code. + */ + public function getInlineSvgCode(): string + { + // flags for htmlspecialchars + $hflag = ENT_NOQUOTES; + if (defined('ENT_XML1') && defined('ENT_DISALLOWED')) { + $hflag = ENT_XML1 | ENT_DISALLOWED; + } + + $width = sprintf('%F', ($this->width + $this->padding['L'] + $this->padding['R'])); + $height = sprintf('%F', ($this->height + $this->padding['T'] + $this->padding['B'])); + + $svg = '' . "\n" + . "\t" . '' . htmlspecialchars($this->code, $hflag, 'UTF-8') . '' . "\n"; + if ($this->bg_color_obj instanceof \Com\Tecnick\Color\Model\Rgb) { + $svg .= ' ' . "\n"; + } + + $svg .= ' ' . "\n"; + $bars = $this->getBarsArrayXYWH(); + foreach ($bars as $bar) { + $svg .= ' ' . "\n"; + } + + return $svg . (' ' . "\n" + . '' . "\n"); + } + + /** + * Get the barcode as SVG code, including the XML declaration. + * + * @return string SVG code + */ + public function getSvgCode(): string + { + return '' + . "\n" + . $this->getInlineSvgCode(); + } + + /** + * Get an HTML representation of the barcode. + * + * @return string HTML code (DIV block) + */ + public function getHtmlDiv(): string + { + $html = '
' . "\n"; + $bars = $this->getBarsArrayXYWH(); + foreach ($bars as $bar) { + $html .= '
 
' . "\n"; + } + + return $html . ('
' . "\n"); + } + + /** + * Get Barcode as PNG Image (requires GD or Imagick library) + * + * @param string|null $filename The file name without extension (optional). + * Only allows alphanumeric characters, underscores and hyphens. + * Defaults to a md5 hash of the data. + * The file extension is always '.png'. + */ + public function getPng(?string $filename = null): void + { + $this->getHTTPFile($this->getPngData(), 'image/png', 'png', $filename); + } + + /** + * Get the barcode as PNG image (requires GD or Imagick library) + * + * @param bool $imagick If true try to use the Imagick extension + * + * @return string PNG image data + */ + public function getPngData(bool $imagick = true): string + { + if ($imagick && extension_loaded('imagick')) { + return $this->getPngDataImagick(); + } + + $gdImage = $this->getGd(); + ob_start(); + imagepng($gdImage); + $data = ob_get_clean(); + if ($data === false) { + throw new BarcodeException('Unable to get PNG data'); + } + return $data; + } + + /** + * Get the barcode as PNG image (requires Imagick library) + * + * @throws BarcodeException if the Imagick library is not installed + */ + public function getPngDataImagick(): string + { + $imagick = new \Imagick(); + $width = (int) ceil($this->width + $this->padding['L'] + $this->padding['R']); + $height = (int) ceil($this->height + $this->padding['T'] + $this->padding['B']); + $imagick->newImage($width, $height, 'none', 'png'); + $imagickdraw = new \imagickdraw(); + if ($this->bg_color_obj instanceof \Com\Tecnick\Color\Model\Rgb) { + $rgbcolor = $this->bg_color_obj->getNormalizedArray(255); + $bg_color = new \imagickpixel('rgb(' . $rgbcolor['R'] . ',' . $rgbcolor['G'] . ',' . $rgbcolor['B'] . ')'); + $imagickdraw->setfillcolor($bg_color); + $imagickdraw->rectangle(0, 0, $width, $height); + } + + $rgbcolor = $this->color_obj->getNormalizedArray(255); + $bar_color = new \imagickpixel('rgb(' . $rgbcolor['R'] . ',' . $rgbcolor['G'] . ',' . $rgbcolor['B'] . ')'); + $imagickdraw->setfillcolor($bar_color); + $bars = $this->getBarsArrayXYXY(); + foreach ($bars as $bar) { + $imagickdraw->rectangle($bar[0], $bar[1], $bar[2], $bar[3]); + } + + $imagick->drawimage($imagickdraw); + return $imagick->getImageBlob(); + } + + /** + * Get the barcode as GD image object (requires GD library) + * + * @throws BarcodeException if the GD library is not installed + */ + public function getGd(): \GdImage + { + $width = max(1, (int) ceil($this->width + $this->padding['L'] + $this->padding['R'])); + $height = max(1, (int) ceil($this->height + $this->padding['T'] + $this->padding['B'])); + $img = imagecreate($width, $height); + if ($img === false) { + throw new BarcodeException('Unable to create GD image'); + } + + if (! $this->bg_color_obj instanceof \Com\Tecnick\Color\Model\Rgb) { + $bgobj = clone $this->color_obj; + $rgbcolor = $bgobj->invertColor()->getNormalizedArray(255); + $background_color = imagecolorallocate( + $img, + (int) round($rgbcolor['R']), // @phpstan-ignore argument.type + (int) round($rgbcolor['G']), // @phpstan-ignore argument.type + (int) round($rgbcolor['B']), // @phpstan-ignore argument.type + ); + if ($background_color === false) { + throw new BarcodeException('Unable to allocate default GD background color'); + } + imagecolortransparent($img, $background_color); + } else { + $rgbcolor = $this->bg_color_obj->getNormalizedArray(255); + $bg_color = imagecolorallocate( + $img, + (int) round($rgbcolor['R']), // @phpstan-ignore argument.type + (int) round($rgbcolor['G']), // @phpstan-ignore argument.type + (int) round($rgbcolor['B']), // @phpstan-ignore argument.type + ); + if ($bg_color === false) { + throw new BarcodeException('Unable to allocate GD background color'); + } + imagefilledrectangle($img, 0, 0, $width, $height, $bg_color); + } + + $rgbcolor = $this->color_obj->getNormalizedArray(255); + $bar_color = imagecolorallocate( + $img, + (int) round($rgbcolor['R']), // @phpstan-ignore argument.type + (int) round($rgbcolor['G']), // @phpstan-ignore argument.type + (int) round($rgbcolor['B']), // @phpstan-ignore argument.type + ); + if ($bar_color === false) { + throw new BarcodeException('Unable to allocate GD foreground color'); + } + $bars = $this->getBarsArrayXYXY(); + foreach ($bars as $bar) { + imagefilledrectangle( + $img, + (int) floor($bar[0]), + (int) floor($bar[1]), + (int) floor($bar[2]), + (int) floor($bar[3]), + $bar_color + ); + } + + return $img; + } + + /** + * Get a raw barcode string representation using characters + * + * @param string $space_char Character or string to use for filling empty spaces + * @param string $bar_char Character or string to use for filling bars + */ + public function getGrid( + string $space_char = '0', + string $bar_char = '1' + ): string { + $raw = $this->getGridArray($space_char, $bar_char); + $grid = ''; + foreach ($raw as $row) { + $grid .= implode('', $row) . "\n"; + } + + return $grid; + } + + /** + * Get the array containing all the formatted bars coordinates + * + * @return array + */ + public function getBarsArrayXYXY(): array + { + $rect = []; + foreach ($this->bars as $bar) { + if ($bar[2] <= 0) { + continue; + } + + if ($bar[3] <= 0) { + continue; + } + + $rect[] = $this->getBarRectXYXY($bar); + } + + if ($this->nrows > 1) { + // reprint rotated to cancel row gaps + $rot = $this->getRotatedBarArray(); + foreach ($rot as $bar) { + if ($bar[2] <= 0) { + continue; + } + + if ($bar[3] <= 0) { + continue; + } + + $rect[] = $this->getBarRectXYXY($bar); + } + } + + return $rect; + } + + /** + * Get the array containing all the formatted bars coordinates + * + * @return array + */ + public function getBarsArrayXYWH(): array + { + $rect = []; + foreach ($this->bars as $bar) { + if ($bar[2] <= 0) { + continue; + } + + if ($bar[3] <= 0) { + continue; + } + + $rect[] = $this->getBarRectXYWH($bar); + } + + if ($this->nrows > 1) { + // reprint rotated to cancel row gaps + $rot = $this->getRotatedBarArray(); + foreach ($rot as $bar) { + if ($bar[2] <= 0) { + continue; + } + + if ($bar[3] <= 0) { + continue; + } + + $rect[] = $this->getBarRectXYWH($bar); + } + } + + return $rect; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Convert.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Convert.php new file mode 100644 index 0000000..617a7c8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Convert.php @@ -0,0 +1,336 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Color\Model\Rgb as Color; + +/** + * Com\Tecnick\Barcode\Type\Convert + * + * Barcode Convert class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Convert +{ + /** + * Barcode type (linear or square) + * + * @var string + */ + protected const TYPE = ''; + + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = ''; + + /** + * Array containing extra parameters for the specified barcode type + * + * @var array + */ + protected array $params = []; + + /** + * Code to convert (barcode content) + */ + protected string $code = ''; + + /** + * Resulting code after applying checksum etc. + */ + protected string $extcode = ''; + + /** + * Total number of columns + */ + protected int $ncols = 0; + + /** + * Total number of rows + */ + protected int $nrows = 1; + + /** + * Array containing the position and dimensions of each barcode bar + * (x, y, width, height) + * + * @var array + */ + protected array $bars = []; + + /** + * Barcode width + */ + protected int $width = 0; + + /** + * Barcode height + */ + protected int $height = 0; + + /** + * Additional padding to add around the barcode (top, right, bottom, left) in user units. + * A negative value indicates the multiplication factor for each row or column. + * + * @var array{'T': int, 'R': int, 'B': int, 'L': int} + */ + protected array $padding = [ + 'T' => 0, + 'R' => 0, + 'B' => 0, + 'L' => 0, + ]; + + /** + * Ratio between the barcode width and the number of rows + */ + protected float $width_ratio = 0; + + /** + * Ratio between the barcode height and the number of columns + */ + protected float $height_ratio = 0; + + /** + * Foreground Color object + */ + protected Color $color_obj; + + /** + * Backgorund Color object + */ + protected ?Color $bg_color_obj = null; + + /** + * Process binary sequence rows. + * + * @param array> $rows Binary sequence data to process + * + * @throws BarcodeException in case of error + */ + protected function processBinarySequence(array $rows): void + { + if ($rows === []) { + throw new BarcodeException('Empty input string'); + } + + $this->nrows = count($rows); + $this->ncols = is_array($rows[0]) ? count($rows[0]) : strlen($rows[0]); + + if ($this->ncols === 0) { + throw new BarcodeException('Empty columns'); + } + + $this->bars = []; + foreach ($rows as $posy => $row) { + if (! is_array($row)) { + $row = str_split($row, 1); + } + + $prevcol = ''; + $bar_width = 0; + $row[] = '0'; + for ($posx = 0; $posx <= $this->ncols; ++$posx) { + if ($row[$posx] != $prevcol) { + if ($prevcol == '1') { + $this->bars[] = [($posx - $bar_width), $posy, $bar_width, 1]; + } + + $bar_width = 0; + } + + ++$bar_width; + $prevcol = $row[$posx]; + } + } + } + + /** + * Extract rows from a binary sequence of comma-separated 01 strings. + * + * @return array + */ + protected function getRawCodeRows(string $data): array + { + $search = [ + '/[\s]*/s', // remove spaces and newlines + '/^[\[,]+/', // remove trailing brackets or commas + '/[\],]+$/', // remove trailing brackets or commas + '/[\]][\[]$/', // convert bracket -separated to comma-separated + ]; + + $replace = ['', '', '', '']; + + $code = preg_replace($search, $replace, $data); + if ($code === null) { + throw new BarcodeException('Invalid input string'); + } + + return explode(',', $code); + } + + /** + * Convert large integer number to hexadecimal representation. + * + * @param string $number Number to convert (as string) + * + * @return string hexadecimal representation + */ + protected function convertDecToHex(string $number): string + { + if ($number == 0) { + return '00'; + } + + $hex = []; + while ($number > 0) { + $hex[] = strtoupper(dechex((int) bcmod($number, '16'))); + $number = bcdiv($number, '16', 0); + } + + $hex = array_reverse($hex); + return implode('', $hex); + } + + /** + * Convert large hexadecimal number to decimal representation (string). + * + * @param string $hex Hexadecimal number to convert (as string) + * + * @return string hexadecimal representation + */ + protected function convertHexToDec(string $hex): string + { + $dec = '0'; + $bitval = '1'; + $len = strlen($hex); + for ($pos = ($len - 1); $pos >= 0; --$pos) { + $dec = bcadd($dec, bcmul((string) hexdec($hex[$pos]), $bitval)); + $bitval = bcmul($bitval, '16'); + } + + return $dec; + } + + /** + * Get a raw barcode grid array + * + * @param string $space_char Character or string to use for filling empty spaces + * @param string $bar_char Character or string to use for filling bars + * + * @return array> + */ + public function getGridArray( + string $space_char = '0', + string $bar_char = '1' + ): array { + $raw = array_fill(0, $this->nrows, array_fill(0, $this->ncols, $space_char)); + foreach ($this->bars as $bar) { + if ($bar[2] <= 0) { + continue; + } + + if ($bar[3] <= 0) { + continue; + } + + for ($vert = 0; $vert < $bar[3]; ++$vert) { + for ($horiz = 0; $horiz < $bar[2]; ++$horiz) { + $raw[($bar[1] + $vert)][($bar[0] + $horiz)] = $bar_char; + } + } + } + + return $raw; + } + + /** + * Returns the bars array ordered by columns + * + * @return array + */ + protected function getRotatedBarArray(): array + { + $grid = $this->getGridArray(); + $cols = array_map(null, ...$grid); + $bars = []; + foreach ($cols as $posx => $col) { + $prevrow = ''; + $bar_height = 0; + $col[] = '0'; + for ($posy = 0; $posy <= $this->nrows; ++$posy) { + if ($col[$posy] != $prevrow) { + if ($prevrow == '1') { + $bars[] = [$posx, ($posy - $bar_height), 1, $bar_height]; + } + + $bar_height = 0; + } + + ++$bar_height; + $prevrow = $col[$posy]; + } + } + + return $bars; + } + + /** + * Get the adjusted rectangular coordinates (x1,y1,x2,y2) for the specified bar + * + * @param array{int, int, int, int} $bar Raw bar coordinates + * + * @return array{float, float, float, float} Bar coordinates + */ + protected function getBarRectXYXY(array $bar): array + { + return [ + ($this->padding['L'] + ($bar[0] * $this->width_ratio)), + ($this->padding['T'] + ($bar[1] * $this->height_ratio)), + ($this->padding['L'] + (($bar[0] + $bar[2]) * $this->width_ratio) - 1), + ($this->padding['T'] + (($bar[1] + $bar[3]) * $this->height_ratio) - 1), + ]; + } + + /** + * Get the adjusted rectangular coordinates (x,y,w,h) for the specified bar + * + * @param array{int, int, int, int} $bar Raw bar coordinates + * + * @return array{float, float, float, float} Bar coordinates + */ + protected function getBarRectXYWH(array $bar): array + { + return [ + ($this->padding['L'] + ($bar[0] * $this->width_ratio)), + ($this->padding['T'] + ($bar[1] * $this->height_ratio)), + ($bar[2] * $this->width_ratio), + ($bar[3] * $this->height_ratio), + ]; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear.php new file mode 100644 index 0000000..7b2ca50 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear.php @@ -0,0 +1,40 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type; + +/** + * Com\Tecnick\Barcode\Type\Linear + * + * Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Linear extends \Com\Tecnick\Barcode\Type +{ + /** + * Barcode type + * + * @var string + */ + protected const TYPE = 'linear'; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Codabar.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Codabar.php new file mode 100644 index 0000000..9305125 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Codabar.php @@ -0,0 +1,109 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\Codabar; + * + * Codabar Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Codabar extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'CODABAR'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '11111221', + '1' => '11112211', + '2' => '11121121', + '3' => '22111111', + '4' => '11211211', + '5' => '21111211', + '6' => '12111121', + '7' => '12112111', + '8' => '12211111', + '9' => '21121111', + '-' => '11122111', + '$' => '11221111', + ':' => '21112121', + '/' => '21211121', + '.' => '21212111', + '+' => '11222221', + 'A' => '11221211', + 'B' => '12121121', + 'C' => '11121221', + 'D' => '11122211', + ]; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = 'A' . strtoupper($this->code) . 'A'; + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 1; + $this->bars = []; + $this->formatCode(); + $clen = strlen($this->extcode); + for ($chr = 0; $chr < $clen; ++$chr) { + $char = $this->extcode[$chr]; + if (! isset($this::CHBAR[$char])) { + throw new BarcodeException('Invalid character: chr(' . ord($char) . ')'); + } + + for ($pos = 0; $pos < 8; ++$pos) { + $bar_width = (int) $this::CHBAR[$char][$pos]; + if (($pos % 2) == 0) { + $this->bars[] = [$this->ncols, 0, $bar_width, 1]; + } + + $this->ncols += $bar_width; + } + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeNineThree.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeNineThree.php new file mode 100644 index 0000000..381967b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeNineThree.php @@ -0,0 +1,372 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeNineThree; + * + * CodeNineThree Barcode type class + * CODE 93 - USS-93 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeNineThree extends \Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExtCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C93'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + 32 => '311211', // space + 36 => '321111', // $ + 37 => '211131', // % + 42 => '111141', // start-stop + 43 => '113121', // + + 45 => '121131', // - + 46 => '311112', // . + 47 => '112131', // / + 48 => '131112', // 0 + 49 => '111213', // 1 + 50 => '111312', // 2 + 51 => '111411', // 3 + 52 => '121113', // 4 + 53 => '121212', // 5 + 54 => '121311', // 6 + 55 => '111114', // 7 + 56 => '131211', // 8 + 57 => '141111', // 9 + 65 => '211113', // A + 66 => '211212', // B + 67 => '211311', // C + 68 => '221112', // D + 69 => '221211', // E + 70 => '231111', // F + 71 => '112113', // G + 72 => '112212', // H + 73 => '112311', // I + 74 => '122112', // J + 75 => '132111', // K + 76 => '111123', // L + 77 => '111222', // M + 78 => '111321', // N + 79 => '121122', // O + 80 => '131121', // P + 81 => '212112', // Q + 82 => '212211', // R + 83 => '211122', // S + 84 => '211221', // T + 85 => '221121', // U + 86 => '222111', // V + 87 => '112122', // W + 88 => '112221', // X + 89 => '122121', // Y + 90 => '123111', // Z + 128 => '121221', // ($) + 129 => '311121', // (/) + 130 => '122211', // (+) + 131 => '312111', // (%) + ]; + + /** + * Map for extended characters + * + * @var array + */ + protected const EXTCODES = [ + "\x83U", + "\x80A", + "\x80B", + "\x80C", + "\x80D", + "\x80E", + "\x80F", + "\x80G", + "\x80H", + "\x80I", + "\x80J", + "\x80K", + "\x80L", + "\x80M", + "\x80N", + "\x80O", + "\x80P", + "\x80Q", + "\x80R", + "\x80S", + "\x80T", + "\x80U", + "\x80V", + "\x80W", + "\x80X", + "\x80Y", + "\x80Z", + "\x83A", + "\x83B", + "\x83C", + "\x83D", + "\x83E", + " ", + "\x81A", + "\x81B", + "\x81C", + "\x81D", + "\x81E", + + "\x81F", + "\x81G", + "\x81H", + "\x81I", + "\x81J", + "\x81K", + "\x81L", + "-", + ".", + "\x81O", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "\x81Z", + "\x83F", + "\x83G", + "\x83H", + "\x83I", + "\x83J", + "\x83V", + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z", + "\x83K", + "\x83L", + "\x83M", + "\x83N", + "\x83O", + "\x83W", + "\x82A", + "\x82B", + "\x82C", + "\x82D", + "\x82E", + "\x82F", + "\x82G", + "\x82H", + "\x82I", + "\x82J", + "\x82K", + "\x82L", + "\x82M", + "\x82N", + "\x82O", + "\x82P", + "\x82Q", + "\x82R", + "\x82S", + "\x82T", + "\x82U", + "\x82V", + "\x82W", + "\x82X", + "\x82Y", + "\x82Z", + "\x83P", + "\x83Q", + "\x83R", + "\x83S", + "\x83T", + ]; + + /** + * Characters used for checksum + * + * @var array + */ + protected const CHKSUM = [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + '-', + '.', + ' ', + '$', + '/', + '+', + '%', + '<', + '=', + '>', + '?', + ]; + + /** + * Calculate CODE 93 checksum (modulo 47). + * + * @param string $code Code to represent. + * + * @return string char checksum. + */ + protected function getChecksum(string $code): string + { + // translate special characters + $code = strtr($code, chr(128) . chr(131) . chr(129) . chr(130), '<=>?'); + $clen = strlen($code); + // calculate check digit C + $pck = 1; + $check = 0; + for ($idx = ($clen - 1); $idx >= 0; --$idx) { + $key = array_keys($this::CHKSUM, $code[$idx]); + $check += ($key[0] * $pck); + ++$pck; + if ($pck > 20) { + $pck = 1; + } + } + + $check %= 47; + $chk = $this::CHKSUM[$check]; + $code .= $chk; + // calculate check digit K + $pck = 1; + $check = 0; + for ($idx = $clen; $idx >= 0; --$idx) { + $key = array_keys($this::CHKSUM, $code[$idx]); + $check += ($key[0] * $pck); + ++$pck; + if ($pck > 15) { + $pck = 1; + } + } + + $check %= 47; + $key = $this::CHKSUM[$check]; + $checksum = $chk . $key; + // restore special characters + $checksum = strtr( + $checksum, + '<=>?', + chr(128) . chr(131) . chr(129) . chr(130) + ); + return $checksum; + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + * + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 1; + $this->bars = []; + $this->formatCode(); + $clen = strlen($this->extcode); + for ($chr = 0; $chr < $clen; ++$chr) { + $char = ord($this->extcode[$chr]); + for ($pos = 0; $pos < 6; ++$pos) { + $bar_width = (int) $this::CHBAR[$char][$pos]; + if (($pos % 2) == 0) { + $this->bars[] = [$this->ncols, 0, $bar_width, 1]; + } + + $this->ncols += $bar_width; + } + } + + $this->bars[] = [$this->ncols, 0, 1, 1]; + ++$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneOne.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneOne.php new file mode 100644 index 0000000..ce091f3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneOne.php @@ -0,0 +1,154 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeOneOne; + * + * CodeOneOne Barcode type class + * CODE 11 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneOne extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'CODE11'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '111121', + '1' => '211121', + '2' => '121121', + '3' => '221111', + '4' => '112121', + '5' => '212111', + '6' => '122111', + '7' => '111221', + '8' => '211211', + '9' => '211111', + '-' => '112111', + 'S' => '112211', + ]; + + /** + * Calculate the checksum. + * + * @param string $code Code to represent. + * + * @return string char checksum. + */ + protected function getChecksum(string $code): string + { + $len = strlen($code); + // calculate check digit C + $ptr = 1; + $ccheck = 0; + for ($pos = ($len - 1); $pos >= 0; --$pos) { + $digit = $code[$pos]; + $dval = $digit == '-' ? 10 : (int) $digit; + + $ccheck += ($dval * $ptr); + ++$ptr; + if ($ptr > 10) { + $ptr = 1; + } + } + + $ccheck %= 11; + if ($ccheck == 10) { + $ccheck = '-'; + } + + if ($len <= 10) { + return ((string) $ccheck); + } + + // calculate check digit K + $code .= $ccheck; + $ptr = 1; + $kcheck = 0; + for ($pos = $len; $pos >= 0; --$pos) { + $digit = $code[$pos]; + $dval = $digit == '-' ? 10 : (int) $digit; + + $kcheck += ($dval * $ptr); + ++$ptr; + if ($ptr > 9) { + $ptr = 1; + } + } + + $kcheck %= 11; + return ((string) $ccheck . $kcheck); + } + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = 'S' . $this->code . $this->getChecksum($this->code) . 'S'; + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 1; + $this->bars = []; + $this->formatCode(); + $clen = strlen($this->extcode); + for ($chr = 0; $chr < $clen; ++$chr) { + $char = $this->extcode[$chr]; + if (! isset($this::CHBAR[$char])) { + throw new BarcodeException('Invalid character: chr(' . ord($char) . ')'); + } + + for ($pos = 0; $pos < 6; ++$pos) { + $bar_width = (int) $this::CHBAR[$char][$pos]; + if ((($pos % 2) == 0) && ($bar_width > 0)) { + $this->bars[] = [$this->ncols, 0, $bar_width, 1]; + } + + $this->ncols += $bar_width; + } + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight.php new file mode 100644 index 0000000..3bfbc42 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight.php @@ -0,0 +1,249 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight; + * + * CodeOneTwoEight Barcode type class + * CODE 128 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEight extends \Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\Process +{ + /** + * Get the coe point array + * + * @return array + * + * @throws BarcodeException in case of error + */ + protected function getCodeData(): array + { + $code = $this->code; + // array of symbols + $code_data = []; + // split code into sequences + $sequence = $this->getNumericSequence($code); + // process the sequence + $startid = 0; + foreach ($sequence as $key => $seq) { + $processMethod = 'processSequence' . $seq[0]; + $this->$processMethod($sequence, $code_data, $startid, $key, $seq); + } + + return $this->finalizeCodeData($code_data, $startid); + } + + /** + * Process the A sequence + * + * @param array> $sequence Sequence to process + * @param array $code_data Array of codepoints to alter + * @param int $startid Start ID + * @param int $key Sequence current key + * @param array{string, string, int} $seq Sequence current value + * + * @throws BarcodeException in case of error + */ + protected function processSequenceA( + array &$sequence, + array &$code_data, + int &$startid, + int $key, + array $seq + ): void { + if ($key == 0) { + $startid = 103; + } elseif ($sequence[($key - 1)][0] != 'A') { + if ( + ($seq[2] == 1) + && ($key > 0) + && ($sequence[($key - 1)][0] == 'B') + && (! isset($sequence[($key - 1)][3])) + ) { + // single character shift + $code_data[] = 98; + // mark shift + $sequence[$key][3] = ''; + } elseif (! isset($sequence[($key - 1)][3])) { + $code_data[] = 101; + } + } + + $this->getCodeDataA($code_data, $seq[1], (int) $seq[2]); + } + + /** + * Process the B sequence + * + * @param array> $sequence Sequence to process + * @param array $code_data Array of codepoints to alter + * @param int $startid Start ID + * @param int $key Sequence current key + * @param array{string, string, int} $seq Sequence current value + * + * @throws BarcodeException in case of error + */ + protected function processSequenceB( + array &$sequence, + array &$code_data, + int &$startid, + int $key, + array $seq + ): void { + if ($key == 0) { + $this->processSequenceBA($sequence, $code_data, $startid, $key, $seq); + } elseif ($sequence[($key - 1)][0] != 'B') { + $this->processSequenceBB($sequence, $code_data, $key, $seq); + } + + $this->getCodeDataB($code_data, $seq[1], (int) $seq[2]); + } + + /** + * Process the B-A sequence + * + * @param array> $sequence Sequence to process + * @param array $code_data Array of codepoints to alter + * @param int $startid Start ID + * @param int $key Sequence current key + * @param array{string, string, int} $seq Sequence current value + * + * @throws BarcodeException in case of error + */ + protected function processSequenceBA( + array &$sequence, + array &$code_data, + int &$startid, + int $key, + array $seq + ): void { + $tmpchr = ord($seq[1][0]); + if ( + ($seq[2] == 1) + && ($tmpchr >= 241) + && ($tmpchr <= 244) + && isset($sequence[($key + 1)]) + && ($sequence[($key + 1)][0] != 'B') + ) { + switch ($sequence[($key + 1)][0]) { + case 'A': + $startid = 103; + $sequence[$key][0] = 'A'; + $code_data[] = $this::FNC_A[$tmpchr]; + break; + case 'C': + $startid = 105; + $sequence[$key][0] = 'C'; + $code_data[] = $this::FNC_A[$tmpchr]; + break; + } + } else { + $startid = 104; + } + } + + /** + * Process the B-B sequence + * + * @param array> $sequence Sequence to process + * @param array $code_data Array of codepoints to alter + * @param int $key Sequence current key + * @param array{string, string, int} $seq Sequence current value + */ + protected function processSequenceBB( + array &$sequence, + array &$code_data, + int $key, + array $seq + ): void { + if ( + ($seq[2] == 1) + && ($key > 0) + && ($sequence[($key - 1)][0] == 'A') + && (! isset($sequence[($key - 1)][3])) + ) { + // single character shift + $code_data[] = 98; + // mark shift + $sequence[$key][3] = ''; + } elseif (! isset($sequence[($key - 1)][3])) { + $code_data[] = 100; + } + } + + /** + * Process the C sequence + * + * @param array> $sequence Sequence to process + * @param array $code_data Array of codepoints to alter + * @param int $startid Start ID + * @param int $key Sequence current key + * @param array{string, string, int} $seq Sequence current value + * + * @throws BarcodeException in case of error + */ + protected function processSequenceC( + array &$sequence, + array &$code_data, + int &$startid, + int $key, + array $seq + ): void { + if ($key == 0) { + $startid = 105; + } elseif ($sequence[($key - 1)][0] != 'C') { + $code_data[] = 99; + } + + $this->getCodeDataC($code_data, $seq[1]); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $code_data = $this->getCodeData(); + $this->ncols = 0; + $this->nrows = 1; + $this->bars = []; + foreach ($code_data as $val) { + $seq = $this::CHBAR[$val]; + for ($pos = 0; $pos < 6; ++$pos) { + $bar_width = (int) $seq[$pos]; + if ((($pos % 2) == 0) && ($bar_width > 0)) { + $this->bars[] = [$this->ncols, 0, $bar_width, 1]; + } + + $this->ncols += $bar_width; + } + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php new file mode 100644 index 0000000..95e6fc7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightA.php @@ -0,0 +1,59 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\A; + * + * CodeOneTwoEightA Barcode type class + * CODE 128 A + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightA extends \Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C128A'; + + /** + * Get the code point array + * + * @return array + * + * @throws BarcodeException in case of error + */ + protected function getCodeData(): array + { + $code = $this->code; + $len = strlen($code); + $code_data = []; + $this->getCodeDataA($code_data, $code, $len); + return $this->finalizeCodeData($code_data, 103); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php new file mode 100644 index 0000000..63ec35c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightB.php @@ -0,0 +1,59 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\B; + * + * CodeOneTwoEightB Barcode type class + * CODE 128 B + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightB extends \Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C128B'; + + /** + * Get the code point array + * + * @return array + * + * @throws BarcodeException in case of error + */ + protected function getCodeData(): array + { + $code = $this->code; + $len = strlen($code); + $code_data = []; + $this->getCodeDataB($code_data, $code, $len); + return $this->finalizeCodeData($code_data, 104); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php new file mode 100644 index 0000000..951f35e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/CodeOneTwoEightC.php @@ -0,0 +1,63 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\C; + * + * CodeOneTwoEightC Barcode type class + * CODE 128 C + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightC extends \Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C128C'; + + /** + * Get the code point array + * + * @return array + * + * @throws BarcodeException in case of error + */ + protected function getCodeData(): array + { + $code = $this->code; + $code_data = []; + if (ord($code[0]) == 241) { + $code_data[] = 102; + $code = substr($code, 1); + } + + $this->getCodeDataC($code_data, $code); + return $this->finalizeCodeData($code_data, 105); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/Process.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/Process.php new file mode 100644 index 0000000..df96623 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeOneTwoEight/Process.php @@ -0,0 +1,432 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeOneTwoEight\Process; + * + * Process methods for CodeOneTwoEight Barcode type class + * CODE 128 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Process extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C128'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '212222', // 00 + '222122', // 01 + '222221', // 02 + '121223', // 03 + '121322', // 04 + '131222', // 05 + '122213', // 06 + '122312', // 07 + '132212', // 08 + '221213', // 09 + '221312', // 10 + '231212', // 11 + '112232', // 12 + '122132', // 13 + '122231', // 14 + '113222', // 15 + '123122', // 16 + '123221', // 17 + '223211', // 18 + '221132', // 19 + '221231', // 20 + '213212', // 21 + '223112', // 22 + '312131', // 23 + '311222', // 24 + '321122', // 25 + '321221', // 26 + '312212', // 27 + '322112', // 28 + '322211', // 29 + '212123', // 30 + '212321', // 31 + '232121', // 32 + '111323', // 33 + '131123', // 34 + '131321', // 35 + '112313', // 36 + '132113', // 37 + '132311', // 38 + '211313', // 39 + '231113', // 40 + '231311', // 41 + '112133', // 42 + '112331', // 43 + '132131', // 44 + '113123', // 45 + '113321', // 46 + '133121', // 47 + '313121', // 48 + '211331', // 49 + '231131', // 50 + '213113', // 51 + '213311', // 52 + '213131', // 53 + '311123', // 54 + '311321', // 55 + '331121', // 56 + '312113', // 57 + '312311', // 58 + '332111', // 59 + '314111', // 60 + '221411', // 61 + '431111', // 62 + '111224', // 63 + '111422', // 64 + '121124', // 65 + '121421', // 66 + '141122', // 67 + '141221', // 68 + '112214', // 69 + '112412', // 70 + '122114', // 71 + '122411', // 72 + '142112', // 73 + '142211', // 74 + '241211', // 75 + '221114', // 76 + '413111', // 77 + '241112', // 78 + '134111', // 79 + '111242', // 80 + '121142', // 81 + '121241', // 82 + '114212', // 83 + '124112', // 84 + '124211', // 85 + '411212', // 86 + '421112', // 87 + '421211', // 88 + '212141', // 89 + '214121', // 90 + '412121', // 91 + '111143', // 92 + '111341', // 93 + '131141', // 94 + '114113', // 95 + '114311', // 96 + '411113', // 97 + '411311', // 98 + '113141', // 99 + '114131', // 100 + '311141', // 101 + '411131', // 102 + '211412', // 103 START A + '211214', // 104 START B + '211232', // 105 START C + '233111', // STOP + '200000', // END + ]; + + /** + * Map ASCII characters for code A (ASCII 00 - 95) + * // 128A (Code Set A) - ASCII characters 00 to 95 (0-9, A-Z and control codes), special characters + * + * @var string + */ + protected const KEYS_A = ' !"#$%&\'()*+,-./' + . '0123456789' + . ':;<=>?@' + . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + . '[\\]^_' + . "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F" + . "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"; + + /** + * Map ASCII characters for code B (ASCII 32 - 127) + * // 128B (Code Set B) - ASCII characters 32 to 127 (0-9, A-Z, a-z), special characters + * + * @var string + */ + protected const KEYS_B = ' !"#$%&\'()*+,-./' + . '0123456789' + . ':;<=>?@' + . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + . '[\\]^_`' + . 'abcdefghijklmnopqrstuvwxyz' + . '{|}~' + . "\x7F"; + + /** + * Map special FNC codes for Code Set A (FNC 1-4) + * + * @var array + */ + protected const FNC_A = [ + 241 => 102, + 242 => 97, + 243 => 96, + 244 => 101, + ]; + + /** + * Map special FNC codes for Code Set B (FNC 1-4) + * + * @var array + */ + protected const FNC_B = [ + 241 => 102, + 242 => 97, + 243 => 96, + 244 => 100, + ]; + + /** + * Get the numeric sequence (if any) + * + * @param string $code Code to parse + * + * @return array + * + * @throws BarcodeException in case of error + */ + protected function getNumericSequence(string $code): array + { + $sequence = []; + $len = strlen($code); + // get numeric sequences (if any) + $numseq = []; + preg_match_all('/(\d{4,})/', $code, $numseq, PREG_OFFSET_CAPTURE); + if (! empty($numseq[1])) { + $end_offset = 0; + foreach ($numseq[1] as $val) { + // offset to the start of numeric substr + $offset = $val[1]; + + // numeric sequence + $slen = strlen($val[0]); + if ($slen % 2 != 0) { + // the length must be even + --$slen; + // add 1 to start of offset so numbers are c type encoded "from the end" + ++$offset; + } + + if ($offset > $end_offset) { + // non numeric sequence + $sequence = array_merge( + $sequence, + $this->get128ABsequence(substr($code, $end_offset, ($offset - $end_offset))) + ); + } + + $sequence[] = ['C', substr($code, $offset, $slen), $slen]; + $end_offset = $offset + $slen; + } + + if ($end_offset < $len) { + $sequence = array_merge($sequence, $this->get128ABsequence(substr($code, $end_offset))); + } + } else { + // text code (non C mode) + $sequence = array_merge($sequence, $this->get128ABsequence($code)); + } + + return $sequence; + } + + /** + * Split text code in A/B sequence for 128 code + * + * @param string $code Code to split + * + * @return array + */ + protected function get128ABsequence(string $code): array + { + $len = strlen($code); + $sequence = []; + // get A sequences (if any) + $aseq = []; + preg_match_all('/([\x00-\x1f])/', $code, $aseq, PREG_OFFSET_CAPTURE); + if (! empty($aseq[1])) { + // get the entire A sequence (excluding FNC1-FNC4) + preg_match_all('/([\x00-\x5f]+)/', $code, $aseq, PREG_OFFSET_CAPTURE); + $end_offset = 0; + foreach ($aseq[1] as $val) { + $offset = $val[1]; + if ($offset > $end_offset) { + // B sequence + $sequence[] = ['B', substr($code, $end_offset, ($offset - $end_offset)), ($offset - $end_offset)]; + } + + // A sequence + $slen = strlen($val[0]); + $sequence[] = ['A', substr($code, $offset, $slen), $slen]; + $end_offset = $offset + $slen; + } + + if ($end_offset < $len) { + $sequence[] = ['B', substr($code, $end_offset), ($len - $end_offset)]; + } + } else { + // only B sequence + $sequence[] = ['B', $code, $len]; + } + + return $sequence; + } + + /** + * Get the A code point array + * + * @param array $code_data Array of codepoints to alter + * @param string $code Code to process + * @param int $len Number of characters to process + * + * @throws BarcodeException in case of error + */ + protected function getCodeDataA( + array &$code_data, + string $code, + int $len + ): void { + for ($pos = 0; $pos < $len; ++$pos) { + $char = $code[$pos]; + $char_id = ord($char); + if (($char_id >= 241) && ($char_id <= 244)) { + $code_data[] = $this::FNC_A[$char_id]; + } elseif ($char_id <= 95) { + $cdpos = strpos($this::KEYS_A, $char); + $code_data[] = is_int($cdpos) ? $cdpos : 0; + } else { + throw new BarcodeException('Invalid character sequence'); + } + } + } + + /** + * Get the B code point array + * + * @param array $code_data Array of codepoints to alter + * @param string $code Code to process + * @param int $len Number of characters to process + * + * @throws BarcodeException in case of error + */ + protected function getCodeDataB( + array &$code_data, + string $code, + int $len + ): void { + for ($pos = 0; $pos < $len; ++$pos) { + $char = $code[$pos]; + $char_id = ord($char); + if (($char_id >= 241) && ($char_id <= 244)) { + $code_data[] = $this::FNC_B[$char_id]; + } elseif (($char_id >= 32) && ($char_id <= 127)) { + $cdpos = strpos($this::KEYS_B, $char); + $code_data[] = is_int($cdpos) ? $cdpos : 0; + } else { + throw new BarcodeException('Invalid character sequence: ' . $char_id); + } + } + } + + /** + * Get the C code point array + * + * @param array $code_data Array of codepoints to alter + * @param string $code Code to process + * + * @throws BarcodeException in case of error + */ + protected function getCodeDataC( + array &$code_data, + string $code + ): void { + // code blocks separated by FNC1 (chr 241) + $blocks = explode(chr(241), $code); + + foreach ($blocks as $block) { + $len = strlen($block); + + if ($len % 2 != 0) { + throw new BarcodeException('The length of each FNC1-separated code block must be even'); + } + + for ($pos = 0; $pos < $len; $pos += 2) { + $chrnum = $block[$pos] . $block[($pos + 1)]; + if (preg_match('/(\d{2})/', $chrnum) > 0) { + $code_data[] = (int) $chrnum; + } else { + throw new BarcodeException('Invalid character sequence'); + } + } + + $code_data[] = 102; + } + + // remove last 102 code + array_pop($code_data); + } + + /** + * Finalize code data + * + * @param array $code_data Array of codepoints to alter + * @param int $startid Start ID code + * + * @return array Array of codepoints + */ + protected function finalizeCodeData( + array $code_data, + int $startid + ): array { + // calculate check character + $sum = $startid; + foreach ($code_data as $key => $val) { + $sum += ($val * ($key + 1)); + } + + // add check character + $code_data[] = ($sum % 103); + + // add stop sequence + $code_data[] = 106; + $code_data[] = 107; + // add start code at the beginning + array_unshift($code_data, $startid); + + return $code_data; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNine.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNine.php new file mode 100644 index 0000000..99ac704 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNine.php @@ -0,0 +1,49 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\CodeThreeNine + * + * CodeThreeNine Barcode type class + * CODE 39 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNine extends \Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExtCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C39'; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = '*' . strtoupper($this->code) . '*'; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineCheck.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineCheck.php new file mode 100644 index 0000000..5f83df0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineCheck.php @@ -0,0 +1,50 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\CodeThreeNineCheck + * + * CodeThreeNineCheck Barcode type class + * CODE 39 + CHECKSUM + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineCheck extends \Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExtCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C39+'; + + /** + * Format code + */ + protected function formatCode(): void + { + $code = strtoupper($this->code); + $this->extcode = '*' . $code . $this->getChecksum($code) . '*'; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExt.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExt.php new file mode 100644 index 0000000..29f089e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExt.php @@ -0,0 +1,49 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\CodeThreeNineExt + * + * CodeThreeNineExt Barcode type class + * CODE 39 EXTENDED + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineExt extends \Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExtCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C39E'; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = '*' . $this->getExtendCode(strtoupper($this->code)) . '*'; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExtCheck.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExtCheck.php new file mode 100644 index 0000000..f2e8861 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/CodeThreeNineExtCheck.php @@ -0,0 +1,368 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\CodeThreeNineExtCheck + * + * CodeThreeNineExtCheck Barcode type class + * CODE 39 EXTENDED + CHECKSUM + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineExtCheck extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'C39E+'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '111331311', + '1' => '311311113', + '2' => '113311113', + '3' => '313311111', + '4' => '111331113', + '5' => '311331111', + '6' => '113331111', + '7' => '111311313', + '8' => '311311311', + '9' => '113311311', + 'A' => '311113113', + 'B' => '113113113', + 'C' => '313113111', + 'D' => '111133113', + 'E' => '311133111', + 'F' => '113133111', + 'G' => '111113313', + 'H' => '311113311', + 'I' => '113113311', + 'J' => '111133311', + 'K' => '311111133', + 'L' => '113111133', + 'M' => '313111131', + 'N' => '111131133', + 'O' => '311131131', + 'P' => '113131131', + 'Q' => '111111333', + 'R' => '311111331', + 'S' => '113111331', + 'T' => '111131331', + 'U' => '331111113', + 'V' => '133111113', + 'W' => '333111111', + 'X' => '131131113', + 'Y' => '331131111', + 'Z' => '133131111', + '-' => '131111313', + '.' => '331111311', + ' ' => '133111311', + '$' => '131313111', + '/' => '131311131', + '+' => '131113131', + '%' => '111313131', + '*' => '131131311', + ]; + + /** + * Map for extended characters + * + * @var array + */ + protected const EXTCODES = [ + '%U', + '$A', + '$B', + '$C', + '$D', + '$E', + '$F', + '$G', + '$H', + '$I', + '$J', + '$K', + '$L', + '$M', + '$N', + '$O', + '$P', + '$Q', + '$R', + '$S', + '$T', + '$U', + '$V', + '$W', + '$X', + '$Y', + '$Z', + '%A', + '%B', + '%C', + '%D', + '%E', + ' ', + '/A', + '/B', + '/C', + '/D', + '/E', + '/F', + '/G', + '/H', + '/I', + '/J', + '/K', + '/L', + '-', + '.', + '/O', + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '/Z', + '%F', + '%G', + '%H', + '%I', + '%J', + '%V', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + '%K', + '%L', + '%M', + '%N', + '%O', + '%W', + '+A', + '+B', + '+C', + '+D', + '+E', + '+F', + '+G', + '+H', + '+I', + '+J', + '+K', + '+L', + '+M', + '+N', + '+O', + '+P', + '+Q', + '+R', + '+S', + '+T', + '+U', + '+V', + '+W', + '+X', + '+Y', + '+Z', + '%P', + '%Q', + '%R', + '%S', + '%T', + ]; + + /** + * Characters used for checksum + * + * @var array + */ + protected const CHKSUM = [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + '-', + '.', + ' ', + '$', + '/', + '+', + '%', + ]; + + /** + * Encode a string to be used for CODE 39 Extended mode. + * + * @param string $code Code to extend + * + * @throws BarcodeException in case of error + */ + protected function getExtendCode(string $code): string + { + $ext = ''; + $clen = strlen($code); + for ($chr = 0; $chr < $clen; ++$chr) { + $item = ord($code[$chr]); + if ($item > 127) { + throw new BarcodeException('Invalid character: chr(' . $item . ')'); + } + + $ext .= $this::EXTCODES[$item]; + } + + return $ext; + } + + /** + * Calculate CODE 39 checksum (modulo 43). + * + * @param string $code Code to represent. + * + * @return string char checksum. + */ + protected function getChecksum(string $code): string + { + $sum = 0; + $clen = strlen($code); + for ($chr = 0; $chr < $clen; ++$chr) { + $key = array_keys($this::CHKSUM, $code[$chr]); + $sum += $key[0]; + } + + $idx = ($sum % 43); + return $this::CHKSUM[$idx]; + } + + /** + * Format code + */ + protected function formatCode(): void + { + $code = $this->getExtendCode(strtoupper($this->code)); + $this->extcode = '*' . $code . $this->getChecksum($code) . '*'; + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 1; + $this->bars = []; + $this->formatCode(); + $clen = strlen($this->extcode); + for ($chr = 0; $chr < $clen; ++$chr) { + $char = $this->extcode[$chr]; + if (! isset($this::CHBAR[$char])) { + throw new BarcodeException('Invalid character: chr(' . ord($char) . ')'); + } + + for ($pos = 0; $pos < 9; ++$pos) { + $bar_width = (int) $this::CHBAR[$char][$pos]; + if ((($pos % 2) == 0) && ($bar_width > 0)) { + $this->bars[] = [$this->ncols, 0, $bar_width, 1]; + } + + $this->ncols += $bar_width; + } + + // intercharacter gap + ++$this->ncols; + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanEight.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanEight.php new file mode 100644 index 0000000..d7fc405 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanEight.php @@ -0,0 +1,71 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\EanEight; + * + * EanEight Barcode type class + * EAN 8 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanEight extends \Com\Tecnick\Barcode\Type\Linear\EanOneThree +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'EAN8'; + + /** + * Fixed code length + */ + protected int $code_length = 8; + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->formatCode(); + $seq = '101'; // left guard bar + $half_len = (int) ceil($this->code_length / 2); + for ($pos = 0; $pos < $half_len; ++$pos) { + $seq .= $this::CHBAR['A'][$this->extcode[$pos]]; + } + + $seq .= '01010'; // center guard bar + for ($pos = $half_len; $pos < $this->code_length; ++$pos) { + $seq .= $this::CHBAR['C'][$this->extcode[$pos]]; + } + + $seq .= '101'; // right guard bar + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanFive.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanFive.php new file mode 100644 index 0000000..0d29d16 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanFive.php @@ -0,0 +1,77 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\EanFive; + * + * EanFive Barcode type class + * EAN 5-Digits UPC-Based Extension + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanFive extends \Com\Tecnick\Barcode\Type\Linear\EanTwo +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'EAN5'; + + /** + * Fixed code length + */ + protected int $code_length = 5; + + /** + * Map parities + * + * @var array> + */ + protected const PARITIES = [ + '0' => ['B', 'B', 'A', 'A', 'A'], + '1' => ['B', 'A', 'B', 'A', 'A'], + '2' => ['B', 'A', 'A', 'B', 'A'], + '3' => ['B', 'A', 'A', 'A', 'B'], + '4' => ['A', 'B', 'B', 'A', 'A'], + '5' => ['A', 'A', 'B', 'B', 'A'], + '6' => ['A', 'A', 'A', 'B', 'B'], + '7' => ['A', 'B', 'A', 'B', 'A'], + '8' => ['A', 'B', 'A', 'A', 'B'], + '9' => ['A', 'A', 'B', 'A', 'B'], + ]; + + /** + * Calculate checksum + * + * @param string $code Code to represent. + * + * @return int char checksum. + */ + protected function getChecksum(string $code): int + { + return (((3 * ((int) $code[0] + (int) $code[2] + (int) $code[4])) + + (9 * ((int) $code[1] + (int) $code[3]))) % 10); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanOneThree.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanOneThree.php new file mode 100644 index 0000000..28b88fa --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanOneThree.php @@ -0,0 +1,204 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\EanOneThree; + * + * EanOneThree Barcode type class + * EAN 13 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanOneThree extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'EAN13'; + + /** + * Fixed code length + */ + protected int $code_length = 13; + + /** + * Check digit + */ + protected int $check = 0; + + /** + * Map characters to barcodes + * + * @var array> + */ + protected const CHBAR = [ + 'A' => [ + // left odd parity + '0' => '0001101', + '1' => '0011001', + '2' => '0010011', + '3' => '0111101', + '4' => '0100011', + '5' => '0110001', + '6' => '0101111', + '7' => '0111011', + '8' => '0110111', + '9' => '0001011', + ], + 'B' => [ + // left even parity + '0' => '0100111', + '1' => '0110011', + '2' => '0011011', + '3' => '0100001', + '4' => '0011101', + '5' => '0111001', + '6' => '0000101', + '7' => '0010001', + '8' => '0001001', + '9' => '0010111', + ], + 'C' => [ + // right + '0' => '1110010', + '1' => '1100110', + '2' => '1101100', + '3' => '1000010', + '4' => '1011100', + '5' => '1001110', + '6' => '1010000', + '7' => '1000100', + '8' => '1001000', + '9' => '1110100', + ], + ]; + + /** + * Map parities + * + * @var array + */ + protected const PARITIES = [ + '0' => 'AAAAAA', + '1' => 'AABABB', + '2' => 'AABBAB', + '3' => 'AABBBA', + '4' => 'ABAABB', + '5' => 'ABBAAB', + '6' => 'ABBBAA', + '7' => 'ABABAB', + '8' => 'ABABBA', + '9' => 'ABBABA', + ]; + + /** + * Calculate checksum + * + * @param string $code Code to represent. + * + * @return int char checksum. + * + * @throws BarcodeException in case of error + */ + protected function getChecksum(string $code): int + { + $data_len = ($this->code_length - 1); + $code_len = strlen($code); + $sum_a = 0; + for ($pos = 1; $pos < $data_len; $pos += 2) { + $sum_a += (int) $code[$pos]; + } + + if ($this->code_length > 12) { + $sum_a *= 3; + } + + $sum_b = 0; + for ($pos = 0; $pos < $data_len; $pos += 2) { + $sum_b += (int) ($code[$pos]); + } + + if ($this->code_length < 13) { + $sum_b *= 3; + } + + $this->check = ($sum_a + $sum_b) % 10; + if ($this->check > 0) { + $this->check = (10 - $this->check); + } + + if ($code_len == $data_len) { + // add check digit + return $this->check; + } + + if ($this->check !== (int) $code[$data_len]) { + // wrong check digit + throw new BarcodeException('Invalid check digit: ' . $this->check); + } + + return 0; + } + + /** + * Format code + */ + protected function formatCode(): void + { + $code = str_pad($this->code, ($this->code_length - 1), '0', STR_PAD_LEFT); + $this->extcode = $code . $this->getChecksum($code); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + if (! is_numeric($this->code)) { + throw new BarcodeException('Input code must be a number'); + } + + $this->formatCode(); + $seq = '101'; // left guard bar + $half_len = (int) ceil($this->code_length / 2); + $parity = $this::PARITIES[$this->extcode[0]]; + for ($pos = 1; $pos < $half_len; ++$pos) { + $seq .= $this::CHBAR[$parity[($pos - 1)]][$this->extcode[$pos]]; + } + + $seq .= '01010'; // center guard bar + for ($pos = $half_len; $pos < $this->code_length; ++$pos) { + $seq .= $this::CHBAR['C'][$this->extcode[$pos]]; + } + + $seq .= '101'; // right guard bar + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanTwo.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanTwo.php new file mode 100644 index 0000000..c2b1c0f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/EanTwo.php @@ -0,0 +1,135 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\EanTwo; + * + * EanTwo Barcode type class + * EAN 2-Digits UPC-Based Extension + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanTwo extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'EAN2'; + + /** + * Fixed code length + */ + protected int $code_length = 2; + + /** + * Map characters to barcodes + * + * @var array> + */ + protected const CHBAR = [ + 'A' => [ + // left odd parity + '0' => '0001101', + '1' => '0011001', + '2' => '0010011', + '3' => '0111101', + '4' => '0100011', + '5' => '0110001', + '6' => '0101111', + '7' => '0111011', + '8' => '0110111', + '9' => '0001011', + ], + 'B' => [ + // left even parity + '0' => '0100111', + '1' => '0110011', + '2' => '0011011', + '3' => '0100001', + '4' => '0011101', + '5' => '0111001', + '6' => '0000101', + '7' => '0010001', + '8' => '0001001', + '9' => '0010111', + ], + ]; + + /** + * Map parities + * + * @var array> + */ + protected const PARITIES = [ + '0' => ['A', 'A'], + '1' => ['A', 'B'], + '2' => ['B', 'A'], + '3' => ['B', 'B'], + ]; + + /** + * Calculate checksum + * + * @param string $code Code to represent. + * + * @return int char checksum. + */ + protected function getChecksum(string $code): int + { + return ((int) $code % 4); + } + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = str_pad($this->code, $this->code_length, '0', STR_PAD_LEFT); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->formatCode(); + $chk = $this->getChecksum($this->extcode); + $parity = $this::PARITIES[$chk]; + $seq = '1011'; // left guard bar + $seq .= $this::CHBAR[$parity[0]][$this->extcode[0]]; + $len = strlen($this->extcode); + for ($pos = 1; $pos < $len; ++$pos) { + $seq .= '01'; // separator + $seq .= $this::CHBAR[$parity[$pos]][$this->extcode[$pos]]; + } + + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Imb.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Imb.php new file mode 100644 index 0000000..406427d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Imb.php @@ -0,0 +1,575 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\Imb; + * + * Imb Barcode type class + * IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 + * + * Intelligent Mail barcode is a 65-bar code for use on mail in the United States. + * The fields are described as follows: + * * The Barcode Identifier shall be assigned by USPS to encode the presort identification that is currently + * printed in human readable form on the optional endorsement line (OEL) as well as for future USPS use. + * This shall be two digits, with the second digit in the range of 0–4. The allowable encoding ranges shall be + * 00–04, 10–14, 20–24, 30–34, 40–44, 50–54, 60–64, 70–74, 80–84, and 90–94. + * * The Service Type Identifier shall be assigned by USPS for any combination of services requested on the mailpiece. + * The allowable encoding range shall be 000http://it2.php.net/manual/en/function.dechex.php–999. + * Each 3-digit value shall correspond to a particular mail class with a particular combination of service(s). + * Each service program, such as OneCode Confirm and OneCode ACS, shall provide the list of Service Type Identifier + * values. + * * The Mailer or Customer Identifier shall be assigned by USPS as a unique, 6 or 9 digit number that identifies + * a business entity. The allowable encoding range for the 6 digit Mailer ID shall be 000000- 899999, while the + * allowable encoding range for the 9 digit Mailer ID shall be 900000000-999999999. The Serial or + * Sequence Number shall be assigned by the mailer for uniquely identifying and tracking mailpieces. + * The allowable encoding range shall be 000000000–999999999 when used with a 6 digit Mailer ID and 000000-999999 + * when used with a 9 digit Mailer ID. e. The Delivery Point ZIP Code shall be assigned by the mailer for routing + * the mailpiece. This shall replace POSTNET for routing the mailpiece to its final delivery point. + * The length may be 0, 5, 9, or 11 digits. The allowable encoding ranges shall be no ZIP Code, 00000–99999, + * 000000000–999999999, and 00000000000–99999999999. An hyphen '-' is required before the zip/delivery point. + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Imb extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'IMB'; + + /** + * ASC characters + * + * @var array + */ + protected const ASC_CHR = [ + 4, + 0, + 2, + 6, + 3, + 5, + 1, + 9, + 8, + 7, + 1, + 2, + 0, + 6, + 4, + 8, + 2, + 9, + 5, + 3, + 0, + 1, + 3, + 7, + 4, + 6, + 8, + 9, + 2, + 0, + 5, + 1, + 9, + 4, + 3, + 8, + 6, + 7, + 1, + 2, + 4, + 3, + 9, + 5, + 7, + 8, + 3, + 0, + 2, + 1, + 4, + 0, + 9, + 1, + 7, + 0, + 2, + 4, + 6, + 3, + 7, + 1, + 9, + 5, + 8, + ]; + + /** + * DSC characters + * + * @var array + */ + protected const DSC_CHR = [ + 7, + 1, + 9, + 5, + 8, + 0, + 2, + 4, + 6, + 3, + 5, + 8, + 9, + 7, + 3, + 0, + 6, + 1, + 7, + 4, + 6, + 8, + 9, + 2, + 5, + 1, + 7, + 5, + 4, + 3, + 8, + 7, + 6, + 0, + 2, + 5, + 4, + 9, + 3, + 0, + 1, + 6, + 8, + 2, + 0, + 4, + 5, + 9, + 6, + 7, + 5, + 2, + 6, + 3, + 8, + 5, + 1, + 9, + 8, + 7, + 4, + 0, + 2, + 6, + 3, + ]; + + /** + * ASC positions + * + * @var array + */ + protected const ASC_POS = [ + 3, + 0, + 8, + 11, + 1, + 12, + 8, + 11, + 10, + 6, + 4, + 12, + 2, + 7, + 9, + 6, + 7, + 9, + 2, + 8, + 4, + 0, + 12, + 7, + 10, + 9, + 0, + 7, + 10, + 5, + 7, + 9, + 6, + 8, + 2, + 12, + 1, + 4, + 2, + 0, + 1, + 5, + 4, + 6, + 12, + 1, + 0, + 9, + 4, + 7, + 5, + 10, + 2, + 6, + 9, + 11, + 2, + 12, + 6, + 7, + 5, + 11, + 0, + 3, + 2, + ]; + + /** + * DSC positions + * + * @var array + */ + protected const DSC_POS = [ + 2, + 10, + 12, + 5, + 9, + 1, + 5, + 4, + 3, + 9, + 11, + 5, + 10, + 1, + 6, + 3, + 4, + 1, + 10, + 0, + 2, + 11, + 8, + 6, + 1, + 12, + 3, + 8, + 6, + 4, + 4, + 11, + 0, + 6, + 1, + 9, + 11, + 5, + 3, + 7, + 3, + 10, + 7, + 11, + 8, + 2, + 10, + 3, + 5, + 8, + 0, + 3, + 12, + 11, + 8, + 4, + 5, + 1, + 3, + 0, + 7, + 12, + 9, + 8, + 10, + ]; + + /** + * Reverse unsigned short value + * + * @param int $num Value to reversr + * + * @return int reversed value + */ + protected function getReversedUnsignedShort(int $num): int + { + $rev = 0; + for ($pos = 0; $pos < 16; ++$pos) { + $rev <<= 1; + $rev |= ($num & 1); + $num >>= 1; + } + + return $rev; + } + + /** + * Get the Frame Check Sequence + * + * @param array $code_arr Array of hexadecimal values (13 bytes holding 102 bits right justified). + * + * @return int 11 bit Frame Check Sequence as integer (decimal base) + */ + protected function getFrameCheckSequence(array $code_arr): int + { + $genpoly = 0x0F35; // generator polynomial + $fcs = 0x07FF; // Frame Check Sequence + // do most significant byte skipping the 2 most significant bits + $data = hexdec($code_arr[0]) << 5; + for ($bit = 2; $bit < 8; ++$bit) { + $fcs = (($fcs ^ $data) & 0x400) !== 0 ? ($fcs << 1) ^ $genpoly : $fcs << 1; + + $fcs &= 0x7FF; + $data <<= 1; + } + + // do rest of bytes + for ($byte = 1; $byte < 13; ++$byte) { + $data = hexdec($code_arr[$byte]) << 3; + for ($bit = 0; $bit < 8; ++$bit) { + $fcs = (($fcs ^ $data) & 0x400) !== 0 ? ($fcs << 1) ^ $genpoly : $fcs << 1; + + $fcs &= 0x7FF; + $data <<= 1; + } + } + + return $fcs; + } + + /** + * Get the Nof13 tables + * + * @param int $type Table type: 2 for 2of13 table, 5 for 5of13table + * @param int $size Table size (78 for n=2 and 1287 for n=5) + * + * @return array requested table + */ + protected function getTables(int $type, int $size): array + { + $table = []; + $lli = 0; // LUT lower index + $lui = $size - 1; // LUT upper index + for ($count = 0; $count < 8192; ++$count) { + $bit_count = 0; + for ($bit_index = 0; $bit_index < 13; ++$bit_index) { + $bit_count += (int) (($count & (1 << $bit_index)) != 0); + } + + // if we don't have the right number of bits on, go on to the next value + if ($bit_count === $type) { + $reverse = ($this->getReversedUnsignedShort($count) >> 3); + // if the reverse is less than count, we have already visited this pair before + if ($reverse >= $count) { + // If count is symmetric, place it at the first free slot from the end of the list. + // Otherwise, place it at the first free slot from the beginning of the list AND place + // $reverse ath the next free slot from the beginning of the list + if ($reverse == $count) { + $table[$lui] = $count; + --$lui; + } else { + $table[$lli] = $count; + ++$lli; + $table[$lli] = $reverse; + ++$lli; + } + } + } + } + + return $table; + } + + /** + * Get the routing code binary block + * + * @param numeric-string $routing_code the routing code + * + * @throws BarcodeException in case of error + */ + protected function getRoutingCode(string $routing_code): string + { + // Conversion of Routing Code + return match (strlen($routing_code)) { + 0 => '0', + 5 => bcadd($routing_code, '1'), + 9 => bcadd($routing_code, '100001'), + 11 => bcadd($routing_code, '1000100001'), + default => throw new BarcodeException('Invalid routing code'), + }; + } + + /** + * Get the processed array of characters + * + * @return array + * + * @throws BarcodeException in case of error + */ + protected function getCharsArray(): array + { + $this->ncols = 0; + $this->nrows = 3; + $this->bars = []; + $code_arr = explode('-', $this->code); + $tracking_number = $code_arr[0]; + $binary_code = '0'; + if (isset($code_arr[1])) { + $binary_code = $this->getRoutingCode($code_arr[1]); // @phpstan-ignore argument.type + } + + $binary_code = bcmul($binary_code, '10'); // @phpstan-ignore argument.type + $binary_code = bcadd($binary_code, $tracking_number[0]); // @phpstan-ignore argument.type + $binary_code = bcmul($binary_code, '5'); // @phpstan-ignore argument.type + $binary_code = bcadd($binary_code, $tracking_number[1]); // @phpstan-ignore argument.type + $binary_code .= substr($tracking_number, 2, 18); + // convert to hexadecimal + $binary_code = $this->convertDecToHex($binary_code); + // pad to get 13 bytes + $binary_code = str_pad($binary_code, 26, '0', STR_PAD_LEFT); + // convert string to array of bytes + $binary_code_arr = chunk_split($binary_code, 2, "\r"); + $binary_code_arr = substr($binary_code_arr, 0, -1); + $binary_code_arr = explode("\r", $binary_code_arr); + // calculate frame check sequence + $fcs = $this->getFrameCheckSequence($binary_code_arr); + // exclude first 2 bits from first byte + $first_byte = sprintf('%2s', dechex((int) (hexdec($binary_code_arr[0]) << 2) >> 2)); + $binary_code_102bit = $first_byte . substr($binary_code, 2); + // convert binary data to codewords + $codewords = []; + $data = $this->convertHexToDec($binary_code_102bit); + $codewords[0] = bcmod($data, '636') * 2; + $data = bcdiv($data, '636'); + for ($pos = 1; $pos < 9; ++$pos) { + $codewords[$pos] = bcmod($data, '1365'); + $data = bcdiv($data, '1365'); + } + + $codewords[9] = $data; + if (($fcs >> 10) == 1) { + $codewords[9] += 659; + } + + // generate lookup tables + $table2of13 = $this->getTables(2, 78); + $table5of13 = $this->getTables(5, 1287); + // convert codewords to characters + $characters = []; + $bitmask = 512; + foreach ($codewords as $codeword) { + $chrcode = $codeword <= 1286 ? $table5of13[$codeword] : $table2of13[($codeword - 1287)]; + + if (($fcs & $bitmask) > 0) { + // bitwise invert + $chrcode = ((~(int) $chrcode) & 8191); + } + + $characters[] = $chrcode; + $bitmask /= 2; + } + + return array_reverse($characters); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $chars = $this->getCharsArray(); + for ($pos = 0; $pos < 65; ++$pos) { + $asc = (($chars[self::ASC_CHR[$pos]] & 2 ** self::ASC_POS[$pos]) > 0); + $dsc = (($chars[self::DSC_CHR[$pos]] & 2 ** self::DSC_POS[$pos]) > 0); + if ($asc && $dsc) { + // full bar (F) + $this->bars[] = [$this->ncols, 0, 1, 3]; + } elseif ($asc) { + // ascender (A) + $this->bars[] = [$this->ncols, 0, 1, 2]; + } elseif ($dsc) { + // descender (D) + $this->bars[] = [$this->ncols, 1, 1, 2]; + } else { + // tracker (T) + $this->bars[] = [$this->ncols, 1, 1, 1]; + } + + $this->ncols += 2; + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/ImbPre.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/ImbPre.php new file mode 100644 index 0000000..ea06d29 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/ImbPre.php @@ -0,0 +1,84 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\ImbPre; + * + * ImbPre Barcode type class + * IMB - Intelligent Mail Barcode pre-processed (USPS-B-3200) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class ImbPre extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'IMBPRE'; + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $code = strtolower($this->code); + if (preg_match('/^[fadt]{65}$/', $code) != 1) { + throw new BarcodeException('Invalid character sequence'); + } + + $this->ncols = 0; + $this->nrows = 3; + $this->bars = []; + for ($pos = 0; $pos < 65; ++$pos) { + switch ($code[$pos]) { + case 'f': + // full bar + $this->bars[] = [$this->ncols, 0, 1, 3]; + break; + case 'a': + // ascender + $this->bars[] = [$this->ncols, 0, 1, 2]; + break; + case 'd': + // descender + $this->bars[] = [$this->ncols, 1, 1, 2]; + break; + case 't': + // tracker (short) + $this->bars[] = [$this->ncols, 1, 1, 1]; + break; + } + + $this->ncols += 2; + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFive.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFive.php new file mode 100644 index 0000000..3eb001d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFive.php @@ -0,0 +1,49 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFive; + * + * InterleavedTwoOfFive Barcode type class + * Interleaved 2 of 5 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class InterleavedTwoOfFive extends \Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFiveCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'I25'; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = $this->code; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFiveCheck.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFiveCheck.php new file mode 100644 index 0000000..11b19ac --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/InterleavedTwoOfFiveCheck.php @@ -0,0 +1,118 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\InterleavedTwoOfFiveCheck; + * + * InterleavedTwoOfFiveCheck Barcode type class + * Interleaved 2 of 5 + CHECKSUM + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class InterleavedTwoOfFiveCheck extends \Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFiveCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'I25+'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '11221', + '1' => '21112', + '2' => '12112', + '3' => '22111', + '4' => '11212', + '5' => '21211', + '6' => '12211', + '7' => '11122', + '8' => '21121', + '9' => '12121', + 'A' => '11', + 'Z' => '21', + ]; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = $this->code . $this->getChecksum($this->code); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->formatCode(); + if (strlen($this->extcode) % 2 != 0) { + // add leading zero if code-length is odd + $this->extcode = '0' . $this->extcode; + } + + // add start and stop codes + $this->extcode = 'AA' . strtolower($this->extcode) . 'ZA'; + $this->ncols = 0; + $this->nrows = 1; + $this->bars = []; + $clen = strlen($this->extcode); + for ($idx = 0; $idx < $clen; $idx += 2) { + $char_bar = $this->extcode[$idx]; + $char_space = $this->extcode[($idx + 1)]; + if ((! isset($this::CHBAR[$char_bar])) || (! isset($this::CHBAR[$char_space]))) { + throw new BarcodeException('Invalid character sequence: ' . $char_bar . $char_space); + } + + // create a bar-space sequence + $seq = ''; + $chrlen = strlen($this::CHBAR[$char_bar]); + for ($pos = 0; $pos < $chrlen; ++$pos) { + $seq .= $this::CHBAR[$char_bar][$pos] . $this::CHBAR[$char_space][$pos]; + } + + $seqlen = strlen($seq); + for ($pos = 0; $pos < $seqlen; ++$pos) { + $bar_width = (int) $seq[$pos]; + if ((($pos % 2) == 0) && ($bar_width > 0)) { + $this->bars[] = [$this->ncols, 0, $bar_width, 1]; + } + + $this->ncols += $bar_width; + } + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/KlantIndex.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/KlantIndex.php new file mode 100644 index 0000000..bf5d0c4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/KlantIndex.php @@ -0,0 +1,64 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\KlantIndex; + * + * KlantIndex Barcode type class + * KIX (Klant index - Customer index) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class KlantIndex extends \Com\Tecnick\Barcode\Type\Linear\RoyalMailFourCc +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'KIX'; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = strtoupper($this->code); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 3; + $this->bars = []; + $this->getCoreBars(); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Msi.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Msi.php new file mode 100644 index 0000000..9dd5746 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Msi.php @@ -0,0 +1,49 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\Msi; + * + * Msi Barcode type class + * MSI (Variation of Plessey code) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Msi extends \Com\Tecnick\Barcode\Type\Linear\MsiCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'MSI'; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = $this->code; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/MsiCheck.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/MsiCheck.php new file mode 100644 index 0000000..19c737c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/MsiCheck.php @@ -0,0 +1,131 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\MsiCheck; + * + * MsiCheck Barcode type class + * MSI + CHECKSUM (modulo 11) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class MsiCheck extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'MSI+'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '100100100100', + '1' => '100100100110', + '2' => '100100110100', + '3' => '100100110110', + '4' => '100110100100', + '5' => '100110100110', + '6' => '100110110100', + '7' => '100110110110', + '8' => '110100100100', + '9' => '110100100110', + 'A' => '110100110100', + 'B' => '110100110110', + 'C' => '110110100100', + 'D' => '110110100110', + 'E' => '110110110100', + 'F' => '110110110110', + ]; + + /** + * Calculate the checksum + * + * @param string $code Code to represent. + * + * @return int char checksum. + */ + protected function getChecksum(string $code): int + { + $clen = strlen($code); + $pix = 2; + $check = 0; + for ($pos = ($clen - 1); $pos >= 0; --$pos) { + $hex = $code[$pos]; + if (! ctype_xdigit($hex)) { + continue; + } + + $check += (hexdec($hex) * $pix); + ++$pix; + if ($pix > 7) { + $pix = 2; + } + } + + $check %= 11; + if ($check > 0) { + return 11 - $check; + } + + return $check; + } + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = $this->code . $this->getChecksum($this->code); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->formatCode(); + $seq = '110'; // left guard + $clen = strlen($this->extcode); + for ($pos = 0; $pos < $clen; ++$pos) { + $digit = $this->extcode[$pos]; + if (! isset($this::CHBAR[$digit])) { + throw new BarcodeException('Invalid character: chr(' . ord($digit) . ')'); + } + + $seq .= $this::CHBAR[$digit]; + } + + $seq .= '1001'; // right guard + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Pharma.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Pharma.php new file mode 100644 index 0000000..7dee0ef --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Pharma.php @@ -0,0 +1,69 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\Pharma; + * + * Pharma Barcode type class + * PHARMACODE + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Pharma extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'PHARMA'; + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $seq = ''; + $code = (int) $this->code; + while ($code > 0) { + if (($code % 2) == 0) { + $seq .= '11100'; + $code -= 2; + } else { + $seq .= '100'; + --$code; + } + + $code /= 2; + } + + $seq = substr($seq, 0, -2); + $seq = strrev($seq); + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/PharmaTwoTracks.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/PharmaTwoTracks.php new file mode 100644 index 0000000..6b64ca6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/PharmaTwoTracks.php @@ -0,0 +1,93 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\PharmaTwoTracks; + * + * PharmaTwoTracks Barcode type class + * PHARMACODE TWO-TRACKS + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PharmaTwoTracks extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'PHARMA2T'; + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $seq = ''; + $code = (int) $this->code; + + do { + switch ($code % 3) { + case 0: + $seq .= '3'; + $code = (($code - 3) / 3); + break; + case 1: + $seq .= '1'; + $code = (($code - 1) / 3); + break; + case 2: + $seq .= '2'; + $code = (($code - 2) / 3); + } + } while ($code != 0); + + $seq = strrev($seq); + $this->ncols = 0; + $this->nrows = 2; + $this->bars = []; + $len = strlen($seq); + for ($pos = 0; $pos < $len; ++$pos) { + switch ($seq[$pos]) { + case '1': + $this->bars[] = [$this->ncols, 1, 1, 1]; + break; + case '2': + $this->bars[] = [$this->ncols, 0, 1, 1]; + break; + case '3': + $this->bars[] = [$this->ncols, 0, 1, 2]; + break; + } + + $this->ncols += 2; + } + + --$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Planet.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Planet.php new file mode 100644 index 0000000..794c658 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Planet.php @@ -0,0 +1,59 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\Planet; + * + * Planet Barcode type class + * PLANET + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Planet extends \Com\Tecnick\Barcode\Type\Linear\Postnet +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'PLANET'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '11222', + '1' => '22211', + '2' => '22121', + '3' => '22112', + '4' => '21221', + '5' => '21212', + '6' => '21122', + '7' => '12221', + '8' => '12212', + '9' => '12122', + ]; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Postnet.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Postnet.php new file mode 100644 index 0000000..fcfc591 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Postnet.php @@ -0,0 +1,129 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\Postnet; + * + * Postnet Barcode type class + * POSTNET + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Postnet extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'POSTNET'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '22111', + '1' => '11122', + '2' => '11212', + '3' => '11221', + '4' => '12112', + '5' => '12121', + '6' => '12211', + '7' => '21112', + '8' => '21121', + '9' => '21211', + ]; + + /** + * Calculate the checksum. + * + * @param string $code Code to represent. + * + * @return int char checksum. + */ + protected function getChecksum(string $code): int + { + $sum = 0; + $len = strlen($code); + for ($pos = 0; $pos < $len; ++$pos) { + $sum += (int) $code[$pos]; + } + + $check = ($sum % 10); + if ($check > 0) { + return 10 - $check; + } + + return $check; + } + + /** + * Format code + */ + protected function formatCode(): void + { + $code = preg_replace('/[-\s]+/', '', $this->code); + if ($code === null) { + throw new BarcodeException('Code not valid'); + } + $this->extcode = $code . $this->getChecksum($code); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 2; + $this->bars = []; + $this->formatCode(); + $clen = strlen($this->extcode); + // start bar + $this->bars[] = [$this->ncols, 0, 1, 2]; + $this->ncols += 2; + for ($chr = 0; $chr < $clen; ++$chr) { + $char = $this->extcode[$chr]; + if (! isset($this::CHBAR[$char])) { + throw new BarcodeException('Invalid character: chr(' . ord($char) . ')'); + } + + for ($pos = 0; $pos < 5; ++$pos) { + $bar_height = (int) $this::CHBAR[$char][$pos]; + $this->bars[] = [$this->ncols, (int) floor(1 / $bar_height), 1, $bar_height]; + $this->ncols += 2; + } + } + + // end bar + $this->bars[] = [$this->ncols, 0, 1, 2]; + ++$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Raw.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Raw.php new file mode 100644 index 0000000..f198c62 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/Raw.php @@ -0,0 +1,48 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\Raw + * + * Raw Barcode type class + * RAW MODE (comma-separated rows) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Raw extends \Com\Tecnick\Barcode\Type\Raw +{ + /** + * Barcode type + * + * @var string + */ + protected const TYPE = 'linear'; + + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'LRAW'; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/RoyalMailFourCc.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/RoyalMailFourCc.php new file mode 100644 index 0000000..ee7c4c4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/RoyalMailFourCc.php @@ -0,0 +1,224 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\RoyalMailFourCc; + * + * RoyalMailFourCC Barcode type class + * RMS4CC (Royal Mail 4-state Customer Bar Code) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class RoyalMailFourCc extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'RMS4CC'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '3322', + '1' => '3412', + '2' => '3421', + '3' => '4312', + '4' => '4321', + '5' => '4411', + '6' => '3142', + '7' => '3232', + '8' => '3241', + '9' => '4132', + 'A' => '4141', + 'B' => '4231', + 'C' => '3124', + 'D' => '3214', + 'E' => '3223', + 'F' => '4114', + 'G' => '4123', + 'H' => '4213', + 'I' => '1342', + 'J' => '1432', + 'K' => '1441', + 'L' => '2332', + 'M' => '2341', + 'N' => '2431', + 'O' => '1324', + 'P' => '1414', + 'Q' => '1423', + 'R' => '2314', + 'S' => '2323', + 'T' => '2413', + 'U' => '1144', + 'V' => '1234', + 'W' => '1243', + 'X' => '2134', + 'Y' => '2143', + 'Z' => '2233', + ]; + + /** + * Characters used for checksum + * + * @var array + */ + protected const CHKSUM = [ + '0' => '11', + '1' => '12', + '2' => '13', + '3' => '14', + '4' => '15', + '5' => '10', + '6' => '21', + '7' => '22', + '8' => '23', + '9' => '24', + 'A' => '25', + 'B' => '20', + 'C' => '31', + 'D' => '32', + 'E' => '33', + 'F' => '34', + 'G' => '35', + 'H' => '30', + 'I' => '41', + 'J' => '42', + 'K' => '43', + 'L' => '44', + 'M' => '45', + 'N' => '40', + 'O' => '51', + 'P' => '52', + 'Q' => '53', + 'R' => '54', + 'S' => '55', + 'T' => '50', + 'U' => '01', + 'V' => '02', + 'W' => '03', + 'X' => '04', + 'Y' => '05', + 'Z' => '00', + ]; + + /** + * Calculate the checksum. + * + * @param string $code code to represent. + * + * @return int char checksum. + * + * @throws BarcodeException in case of error + */ + protected function getChecksum(string $code): int + { + $row = 0; + $col = 0; + $len = strlen($code); + for ($pos = 0; $pos < $len; ++$pos) { + $char = $code[$pos]; + if (! isset($this::CHKSUM[$char])) { + throw new BarcodeException('Invalid character: chr(' . ord($char) . ')'); + } + + $row += (int) $this::CHKSUM[$char][0]; + $col += (int) $this::CHKSUM[$char][1]; + } + + $row %= 6; + $col %= 6; + $check = array_keys($this::CHKSUM, $row . $col); + return $check[0]; + } + + /** + * Format code + */ + protected function formatCode(): void + { + $code = strtoupper($this->code); + $this->extcode = $code . $this->getChecksum($code); + } + + /** + * Get the central bars + * + * @throws BarcodeException in case of error + */ + protected function getCoreBars(): void + { + $this->formatCode(); + $clen = strlen($this->extcode); + for ($chr = 0; $chr < $clen; ++$chr) { + $char = $this->extcode[$chr]; + for ($pos = 0; $pos < 4; ++$pos) { + switch ($this::CHBAR[$char][$pos]) { + case '1': + $this->bars[] = [$this->ncols, 0, 1, 2]; + break; + case '2': + $this->bars[] = [$this->ncols, 0, 1, 3]; + break; + case '3': + $this->bars[] = [$this->ncols, 1, 1, 1]; + break; + case '4': + $this->bars[] = [$this->ncols, 1, 1, 2]; + break; + } + + $this->ncols += 2; + } + } + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->ncols = 0; + $this->nrows = 3; + $this->bars = []; + + // start bar + $this->bars[] = [$this->ncols, 0, 1, 2]; + $this->ncols += 2; + + $this->getCoreBars(); + + // stop bar + $this->bars[] = [$this->ncols, 0, 1, 3]; + ++$this->ncols; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFive.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFive.php new file mode 100644 index 0000000..9f9ac67 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFive.php @@ -0,0 +1,49 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFive; + * + * StandardTwoOfFive Barcode type class + * Standard 2 of 5 + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class StandardTwoOfFive extends \Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFiveCheck +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'S25'; + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = $this->code; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFiveCheck.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFiveCheck.php new file mode 100644 index 0000000..4517959 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/StandardTwoOfFiveCheck.php @@ -0,0 +1,125 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\StandardTwoOfFiveCheck; + * + * StandardTwoOfFiveCheck Barcode type class + * Standard 2 of 5 + CHECKSUM + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class StandardTwoOfFiveCheck extends \Com\Tecnick\Barcode\Type\Linear +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'S25+'; + + /** + * Map characters to barcodes + * + * @var array + */ + protected const CHBAR = [ + '0' => '10101110111010', + '1' => '11101010101110', + '2' => '10111010101110', + '3' => '11101110101010', + '4' => '10101110101110', + '5' => '11101011101010', + '6' => '10111011101010', + '7' => '10101011101110', + '8' => '11101010111010', + '9' => '10111010111010', + ]; + + /** + * Calculate the checksum + * + * @param string $code Code to represent. + * + * @return int char checksum. + */ + protected function getChecksum(string $code): int + { + $clen = strlen($code); + $sum = 0; + for ($idx = 0; $idx < $clen; $idx += 2) { + $sum += (int) $code[$idx]; + } + + $sum *= 3; + for ($idx = 1; $idx < $clen; $idx += 2) { + $sum += (int) $code[$idx]; + } + + $check = $sum % 10; + if ($check > 0) { + return 10 - $check; + } + + return $check; + } + + /** + * Format code + */ + protected function formatCode(): void + { + $this->extcode = $this->code . $this->getChecksum($this->code); + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->formatCode(); + if (strlen($this->extcode) % 2 != 0) { + // add leading zero if code-length is odd + $this->extcode = '0' . $this->extcode; + } + + $seq = '1110111010'; + $clen = strlen($this->extcode); + for ($idx = 0; $idx < $clen; ++$idx) { + $digit = $this->extcode[$idx]; + if (! isset($this::CHBAR[$digit])) { + throw new BarcodeException('Invalid character: chr(' . ord($digit) . ')'); + } + + $seq .= $this::CHBAR[$digit]; + } + + $seq .= '111010111'; + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcA.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcA.php new file mode 100644 index 0000000..31ad162 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcA.php @@ -0,0 +1,57 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +/** + * Com\Tecnick\Barcode\Type\Linear\UpcA; + * + * UpcA Barcode type class + * UPC-A + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class UpcA extends \Com\Tecnick\Barcode\Type\Linear\EanOneThree +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'UPCA'; + + /** + * Fixed code length + */ + protected int $code_length = 12; + + /** + * Format the code + */ + protected function formatCode(): void + { + $code = str_pad($this->code, ($this->code_length - 1), '0', STR_PAD_LEFT); + $code .= $this->getChecksum($code); + ++$this->code_length; + $this->extcode = '0' . $code; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcE.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcE.php new file mode 100644 index 0000000..ec77830 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Linear/UpcE.php @@ -0,0 +1,170 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Linear; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Linear\UpcE; + * + * UpcE Barcode type class + * UPC-E + * + * UPC-E is a variation of UPC-A which allows for a more compact barcode by eliminating "extra" zeros. + * Since the resulting UPC-E barcode is about half the size as an UPC-A barcode, UPC-E is generally used on products + * with very small packaging where a full UPC-A barcode couldn't reasonably fit. + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class UpcE extends \Com\Tecnick\Barcode\Type\Linear\UpcA +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'UPCE'; + + /** + * Fixed code length + */ + protected int $code_length = 12; + + /** + * Map parities + * + * @var array>> + */ + protected const PARITIES_UPCE = [ + 0 => [ + '0' => ['B', 'B', 'B', 'A', 'A', 'A'], + '1' => ['B', 'B', 'A', 'B', 'A', 'A'], + '2' => ['B', 'B', 'A', 'A', 'B', 'A'], + '3' => ['B', 'B', 'A', 'A', 'A', 'B'], + '4' => ['B', 'A', 'B', 'B', 'A', 'A'], + '5' => ['B', 'A', 'A', 'B', 'B', 'A'], + '6' => ['B', 'A', 'A', 'A', 'B', 'B'], + '7' => ['B', 'A', 'B', 'A', 'B', 'A'], + '8' => ['B', 'A', 'B', 'A', 'A', 'B'], + '9' => ['B', 'A', 'A', 'B', 'A', 'B'], + ], + 1 => [ + '0' => ['A', 'A', 'A', 'B', 'B', 'B'], + '1' => ['A', 'A', 'B', 'A', 'B', 'B'], + '2' => ['A', 'A', 'B', 'B', 'A', 'B'], + '3' => ['A', 'A', 'B', 'B', 'B', 'A'], + '4' => ['A', 'B', 'A', 'A', 'B', 'B'], + '5' => ['A', 'B', 'B', 'A', 'A', 'B'], + '6' => ['A', 'B', 'B', 'B', 'A', 'A'], + '7' => ['A', 'B', 'A', 'B', 'A', 'B'], + '8' => ['A', 'B', 'A', 'B', 'B', 'A'], + '9' => ['A', 'B', 'B', 'A', 'B', 'A'], + ], + ]; + + /** + * Convert UPC-E code to UPC-A + * + * @param string $code Code to convert. + */ + protected function convertUpceToUpca(string $code): string + { + if ($code[5] < 3) { + return '0' . $code[0] . $code[1] . $code[5] . '0000' . $code[2] . $code[3] . $code[4]; + } + + if ($code[5] == 3) { + return '0' . $code[0] . $code[1] . $code[2] . '00000' . $code[3] . $code[4]; + } + + if ($code[5] == 4) { + return '0' . $code[0] . $code[1] . $code[2] . $code[3] . '00000' . $code[4]; + } + + return '0' . $code[0] . $code[1] . $code[2] . $code[3] . $code[4] . '0000' . $code[5]; + } + + /** + * Convert UPC-A code to UPC-E + * + * @param string $code Code to convert. + */ + protected function convertUpcaToUpce(string $code): string + { + $tmp = substr($code, 4, 3); + if (($tmp == '000') || ($tmp == '100') || ($tmp == '200')) { + // manufacturer code ends in 000, 100, or 200 + return substr($code, 2, 2) . substr($code, 9, 3) . substr($code, 4, 1); + } + + $tmp = substr($code, 5, 2); + if ($tmp == '00') { + // manufacturer code ends in 00 + return substr($code, 2, 3) . substr($code, 10, 2) . '3'; + } + + $tmp = substr($code, 6, 1); + if ($tmp == '0') { + // manufacturer code ends in 0 + return substr($code, 2, 4) . substr($code, 11, 1) . '4'; + } + + // manufacturer code does not end in zero + return substr($code, 2, 5) . substr($code, 11, 1); + } + + /** + * Format the code + */ + protected function formatCode(): void + { + $code = $this->code; + if (strlen($code) == 6) { + $code = $this->convertUpceToUpca($code); + } + + $code = str_pad($code, ($this->code_length - 1), '0', STR_PAD_LEFT); + $code .= $this->getChecksum($code); + ++$this->code_length; + $this->extcode = '0' . $code; + } + + /** + * Set the bars array. + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->formatCode(); + $upce_code = $this->convertUpcaToUpce($this->extcode); + $seq = '101'; // left guard bar + $parity = $this::PARITIES_UPCE[$this->extcode[1]][$this->check]; + for ($pos = 0; $pos < 6; ++$pos) { + $seq .= $this::CHBAR[$parity[$pos]][$upce_code[$pos]]; + } + + $seq .= '010101'; // right guard bar + $this->processBinarySequence($this->getRawCodeRows($seq)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Raw.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Raw.php new file mode 100644 index 0000000..09fa716 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Raw.php @@ -0,0 +1,42 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type; + +/** + * Com\Tecnick\Barcode\Type\Raw + * + * Raw Barcode type class + * RAW MODE (comma-separated rows) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Raw extends \Com\Tecnick\Barcode\Type +{ + /** + * Generate the bars array + */ + protected function setBars(): void + { + $this->processBinarySequence($this->getRawCodeRows($this->code)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square.php new file mode 100644 index 0000000..7f058a8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square.php @@ -0,0 +1,40 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type; + +/** + * Com\Tecnick\Barcode\Type\Square + * + * Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Square extends \Com\Tecnick\Barcode\Type +{ + /** + * Barcode type + * + * @var string + */ + protected const TYPE = 'square'; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec.php new file mode 100644 index 0000000..3303081 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec.php @@ -0,0 +1,150 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Barcode\Type\Square\Aztec\Data; +use Com\Tecnick\Barcode\Type\Square\Aztec\Encode; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec + * + * Aztec Barcode type class + * + * @since 2023-10-12 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Aztec extends \Com\Tecnick\Barcode\Type\Square +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'AZTEC'; + + /** + * Error correction code percentage of error check words. + * A minimum of 23% + 3 words is recommended by ISO/IEC 24778:2008a. + */ + protected int $ecc = 33; + + /** + * Encoding mode + */ + protected string $hint = 'A'; + + /** + * Mode: + * - A = Automatic selection between Compact (priority) and Full Range. + * - F = Force Full Range mode. + */ + protected string $mode = 'A'; + + /** + * Extended Channel Interpretation (ECI) code to be added at the beginning of the stream. + * See Data:ECI for the list of supported codes. + * NOTE: Even if special FNC1 or ECI flag characters could be inserted + * at any points in the stream, this will only be added at the beginning of the stream. + */ + protected int $eci = -1; + + /** + * Set extra (optional) parameters: + * 1: ECC : Error correction code percentage of error check words. + * A minimum of 23% + 3 words is recommended by ISO/IEC 24778:2008a. + * 2: HINT : Encoding mode: A=Automatic, B=Binary. + * 3: LAYERS : Custom number of layers (0 = auto). + * 4: ECI : Extended Channel Interpretation (ECI) code. Use -1 for FNC1. See $this->eci. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function setParameters(): void + { + parent::setParameters(); + + // ecc percentage + if ( + ! isset($this->params[0]) + || ! is_numeric($this->params[0]) + || ! in_array($this->params[0], range(1, 100)) + ) { + $this->params[0] = 33; + } + + $this->ecc = (int) $this->params[0]; + + // hint + if ( + ! isset($this->params[1]) + || ! is_string($this->params[1]) + || ! in_array($this->params[1], ['A', 'B']) + ) { + $this->params[1] = 'A'; + } + + $this->hint = $this->params[1]; + + // mode + if ( + ! isset($this->params[2]) + || ! is_string($this->params[2]) + || ! in_array($this->params[2], ['A', 'F']) + ) { + $this->params[2] = 'A'; + } + + $this->mode = $this->params[2]; + + // eci code. Used to set the charset encoding. See $this->eci. + if ( + ! isset($this->params[3]) + || ! is_numeric($this->params[3]) + || ! isset(Data::ECI[(int) $this->params[3]]) + ) { + $this->params[3] = -1; + } + + $this->eci = (int) $this->params[3]; + } + + /** + * Get the bars array + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + if (strlen((string) $this->code) == 0) { + throw new BarcodeException('Empty input'); + } + + try { + $encode = new Encode($this->code, $this->ecc, $this->eci, $this->hint, $this->mode); + $grid = $encode->getGrid(); + $this->processBinarySequence($grid); + } catch (BarcodeException $barcodeException) { + throw new BarcodeException('AZTEC: ' . $barcodeException->getMessage()); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Bitstream.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Bitstream.php new file mode 100644 index 0000000..d243160 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Bitstream.php @@ -0,0 +1,391 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Aztec; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec\Bitstream + * + * Bitstream for Aztec Barcode type class + * + * @since 2023-10-13 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Bitstream extends \Com\Tecnick\Barcode\Type\Square\Aztec\Layers +{ + /** + * Performs the high-level encoding for the given code and ECI mode. + * + * @param string $code The code to encode. + * @param int $eci The ECI mode to use. + * @param string $hint The mode to use. + */ + protected function highLevelEncoding( + string $code, + int $eci = 0, + string $hint = 'A' + ): void { + $this->addFLG($eci); + $chrarr = unpack('C*', $code); + if ($chrarr === false) { + throw new BarcodeException('Unable to unpack the code'); + } + + $chars = array_values($chrarr); + $chrlen = count($chars); + if ($hint == 'B') { + $this->binaryEncode($chars, $chrlen); // @phpstan-ignore argument.type + return; + } + + $this->autoEncode($chars, $chrlen); // @phpstan-ignore argument.type + } + + /** + * Forced binary encoding for the given characters. + * + * @param array $chars Integer ASCII values of the characters to encode. + * @param int $chrlen Lenght of the $chars array. + */ + protected function binaryEncode(array $chars, int $chrlen): void + { + $bits = Data::MODE_BITS[Data::MODE_BINARY]; + $this->addShift(Data::MODE_BINARY); + if ($chrlen > 62) { + $this->addRawCwd(5, 0); + $this->addRawCwd(11, ($chrlen - 31)); + for ($idx = 0; $idx < $chrlen; ++$idx) { + $this->addRawCwd($bits, $chars[$idx]); + } + + return; + } + + if ($chrlen > 31) { + $this->addRawCwd(5, 31); + for ($idx = 0; $idx < 31; ++$idx) { + $this->addRawCwd($bits, $chars[$idx]); + } + + $this->addShift(Data::MODE_BINARY); + $this->addRawCwd(5, ($chrlen - 31)); + for ($idx = 31; $idx < $chrlen; ++$idx) { + $this->addRawCwd($bits, $chars[$idx]); + } + + return; + } + + $this->addRawCwd(5, $chrlen); + for ($idx = 0; $idx < $chrlen; ++$idx) { + $this->addRawCwd($bits, $chars[$idx]); + } + } + + /** + * Automatic encoding for the given characters. + * + * @param array $chars Integer ASCII values of the characters to encode. + * @param int $chrlen Lenght of the $chars array. + */ + protected function autoEncode(array $chars, int $chrlen): void + { + $idx = 0; + while ($idx < $chrlen) { + if ($this->processBinaryChars($chars, $idx, $chrlen)) { + continue; + } + + if ($this->processPunctPairs($chars, $idx, $chrlen)) { + continue; + } + + $this->processModeChars($chars, $idx, $chrlen); + } + } + + /** + * Process mode characters. + * + * @param array $chars The array of characters. + * @param int $idx The current character index. + * @param int $chrlen The total number of characters to process. + */ + protected function processModeChars(array &$chars, int &$idx, int $chrlen): void + { + $ord = $chars[$idx]; + $mode = $this->isSameMode($this->encmode, $ord) ? $this->encmode : $this->charMode($ord); + + $nchr = $this->countModeChars($chars, $idx, $chrlen, $mode); + if ($this->encmode !== $mode) { + if ( + ($nchr == 1) + && (isset(Data::SHIFT_MAP[$this->encmode][$mode]) + && Data::SHIFT_MAP[$this->encmode][$mode] !== []) + ) { + $this->addShift($mode); + } else { + $this->addLatch($mode); + } + } + + $this->mergeTmpCwd(); + $idx += $nchr; + } + + /** + * Count consecutive characters in the same mode. + * + * @param array $chars The array of characters. + * @param int $idx The current character index. + * @param int $chrlen The total number of characters to process. + * @param int $mode The current mode. + */ + protected function countModeChars( + array &$chars, + int $idx, + int $chrlen, + int $mode + ): int { + $this->tmpCdws = []; + $nbits = Data::MODE_BITS[$mode]; + $count = 0; + do { + $ord = $chars[$idx]; + if ( + (! $this->isSameMode($mode, $ord)) + || (($idx < ($chrlen - 1)) && ($this->punctPairMode($ord, $chars[($idx + 1)]) > 0)) + ) { + return $count; + } + + $this->tmpCdws[] = [$nbits, $this->charEnc($mode, $ord)]; + ++$count; + ++$idx; + } while ($idx < $chrlen); + + return $count; + } + + /** + * Process consecutive binary characters. + * + * @param array $chars The array of characters. + * @param int $idx The current character index. + * @param int $chrlen The total number of characters to process. + * + * @return bool True if binary characters have been found and processed. + */ + protected function processBinaryChars( + array &$chars, + int &$idx, + int $chrlen + ): bool { + $binchrs = $this->countBinaryChars($chars, $idx, $chrlen); + if ($binchrs == 0) { + return false; + } + + $encmode = $this->encmode; + $this->addShift(Data::MODE_BINARY); + if ($binchrs > 62) { + $this->addRawCwd(5, 0); + $this->addRawCwd(11, ($binchrs - 31)); + $this->mergeTmpCwdRaw(); + $idx += $binchrs; + $this->encmode = $encmode; + return true; + } + + if ($binchrs > 31) { + $nbits = Data::MODE_BITS[Data::MODE_BINARY]; + $this->addRawCwd(5, 31); + for ($bcw = 0; $bcw < 31; ++$bcw) { + $this->addRawCwd($nbits, $this->tmpCdws[$bcw][1]); + } + + $this->addShift(Data::MODE_BINARY); + $this->addRawCwd(5, ($binchrs - 31)); + for ($bcw = 31; $bcw < $binchrs; ++$bcw) { + $this->addRawCwd($nbits, $this->tmpCdws[$bcw][1]); + } + + $idx += $binchrs; + $this->encmode = $encmode; + return true; + } + + $this->addRawCwd(5, $binchrs); + $this->mergeTmpCwdRaw(); + $idx += $binchrs; + $this->encmode = $encmode; + return true; + } + + /** + * Count consecutive binary characters. + * + * @param array $chars The array of characters. + * @param int $idx The current character index. + * @param int $chrlen The total number of characters to process. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function countBinaryChars( + array &$chars, + int $idx, + int $chrlen + ): int { + $this->tmpCdws = []; + $count = 0; + $nbits = Data::MODE_BITS[Data::MODE_BINARY]; + while (($idx < $chrlen) && ($count < 2048)) { + $ord = $chars[$idx]; + if ($this->charMode($ord) != Data::MODE_BINARY) { + return $count; + } + + $this->tmpCdws[] = [$nbits, $ord]; + ++$count; + ++$idx; + } + + return $count; + } + + /** + * Process consecutive special Punctuation Pairs. + * + * @param array $chars The array of characters. + * @param int $idx The current character index. + * @param int $chrlen The total number of characters to process. + * + * @return bool True if pair characters have been found and processed. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function processPunctPairs( + array &$chars, + int &$idx, + int $chrlen + ): bool { + $ppairs = $this->countPunctPairs($chars, $idx, $chrlen); + if ($ppairs == 0) { + return false; + } + + switch ($this->encmode) { + case Data::MODE_PUNCT: + break; + case Data::MODE_MIXED: + $this->addLatch(Data::MODE_PUNCT); + break; + case Data::MODE_UPPER: + case Data::MODE_LOWER: + if ($ppairs > 1) { + $this->addLatch(Data::MODE_PUNCT); + } + + break; + case Data::MODE_DIGIT: + $common = $this->countPunctAndDigitChars($chars, $idx, $chrlen); + $clen = count($common); + if (($clen > 0) && ($clen < 6)) { + $this->tmpCdws = $common; + $this->mergeTmpCwdRaw(); + $idx += $clen; + return true; + } + + if ($ppairs > 2) { + $this->addLatch(Data::MODE_PUNCT); + } + + break; + } + + $this->mergeTmpCwd(Data::MODE_PUNCT); + $idx += ($ppairs * 2); + return true; + } + + /** + * Count consecutive special Punctuation Pairs. + * + * @param array $chars The array of characters. + * @param int $idx The current character index. + * @param int $chrlen The total number of characters to process. + */ + protected function countPunctPairs( + array &$chars, + int $idx, + int $chrlen + ): int { + $this->tmpCdws = []; + $pairs = 0; + $maxidx = $chrlen - 1; + while ($idx < $maxidx) { + $pmode = $this->punctPairMode($chars[$idx], $chars[($idx + 1)]); + if ($pmode == 0) { + return $pairs; + } + + $this->tmpCdws[] = [5, $pmode]; + ++$pairs; + $idx += 2; + } + + return $pairs; + } + + /** + * Counts the number of consecutive charcters that are in both PUNCT or DIGIT modes. + * Returns the array with the codewords. + * + * @param array &$chars The string to count the characters in. + * @param int $idx The starting index to count from. + * @param int $chrlen The length of the string to count. + * + * @return array The array of codewords. + */ + protected function countPunctAndDigitChars( + array &$chars, + int $idx, + int $chrlen + ): array { + $words = []; + while ($idx < $chrlen) { + $ord = $chars[$idx]; + if (! $this->isPunctAndDigitChar($ord)) { + return $words; + } + + $words[] = [4, $this->charEnc(Data::MODE_DIGIT, $ord)]; + ++$idx; + } + + return $words; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Codeword.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Codeword.php new file mode 100644 index 0000000..0305850 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Codeword.php @@ -0,0 +1,302 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Aztec; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec\Codeword + * + * Codeword utility methods for Aztec Barcode type class + * + * @since 2023-10-13 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Codeword +{ + /** + * Current character encoding mode. + */ + protected int $encmode = Data::MODE_UPPER; + + /** + * Array containing the high-level encoding bitstream. + * + * @var array + */ + protected array $bitstream = []; + + /** + * Temporary array of codewords. + * + * @var array + */ + protected array $tmpCdws = []; + + /** + * Count the total number of bits in the bitstream. + */ + protected int $totbits = 0; + + /** + * Encodes a character using the specified mode and ordinal value. + * + * @param int $mode The encoding mode. + * @param int $ord The ordinal value of the character to encode. + * + * @return int The encoded character. + */ + protected function charEnc(int $mode, int $ord): int + { + return isset(Data::CHAR_ENC[$mode][$ord]) ? Data::CHAR_ENC[$mode][$ord] : 0; + } + + /** + * Returns the character mode for a given ASCII code. + * + * @param int $ord The ASCII code of the character. + * + * @return int The character mode. + */ + protected function charMode(int $ord): int + { + return isset(Data::CHAR_MODES[$ord]) ? Data::CHAR_MODES[$ord] : Data::MODE_BINARY; + } + + /** + * Checks if current character is supported by the current code. + * + * @param int $mode The mode to check. + * @param int $ord The character ASCII value to compare against. + * + * @return bool Returns true if the mode is the same as the ordinal value, false otherwise. + */ + protected function isSameMode(int $mode, int $ord): bool + { + return ( + ($mode === $this->charMode($ord)) + || (($ord == 32) && ($mode != Data::MODE_PUNCT)) + || (($mode == Data::MODE_PUNCT) && (($ord == 13) || ($ord == 44) || ($ord == 46))) + ); + } + + /** + * Returns true if the character is in common between the PUNCT and DIGIT modes. + * Characters ' ' (32), '.' (46) and ',' (44) are in common between the PUNCT and DIGIT modes. + * + * @param int $ord Integer ASCII code of the character to check. + */ + protected function isPunctAndDigitChar(int $ord): bool + { + return (($ord == 32) || ($ord == 44) || ($ord == 46)); + } + + /** + * Returns the PUNCT two-bytes code if the given two characters are a punctuation pair. + * Punct codes 2–5 encode two bytes each. + * + * @param int $ord The current curacter code. + * @param int $next The next character code. + */ + protected function punctPairMode(int $ord, int $next): int + { + $key = (($ord << 8) + $next); + return match ($key) { + (13 << 8) + 10 => 2, + (46 << 8) + 32 => 3, + (44 << 8) + 32 => 4, + (58 << 8) + 32 => 5, + default => 0, + }; // no punct pair + } + + /** + * Append a new Codeword as a big-endian bit sequence. + * + * @param array $bitstream Array of bits to append to. + * @param int $totbits Number of bits in the bitstream. + * @param int $wsize The number of bits in the codeword. + * @param int $value The value of the codeword. + */ + protected function appendWordToBitstream( + array &$bitstream, + int &$totbits, + int $wsize, + int $value + ): void { + for ($idx = ($wsize - 1); $idx >= 0; --$idx) { + $bitstream[] = (($value >> $idx) & 1); + } + + $totbits += $wsize; + } + + /** + * Convert the bitstream to words. + * + * @param array $bitstream Array of bits to convert. + * @param int $totbits Number of bits in the bitstream. + * @param int $wsize The word size. + * + * @return array Array of words. + */ + protected function bitstreamToWords( + array $bitstream, + int $totbits, + int $wsize + ): array { + $words = []; + $numwords = (int) ceil($totbits / $wsize); + for ($idx = 0; $idx < $numwords; ++$idx) { + $wrd = 0; + for ($bit = 0; $bit < $wsize; ++$bit) { + $pos = (($idx * $wsize) + $bit); + if (! empty($bitstream[$pos]) || ! isset($bitstream[$pos])) { + $wrd |= (1 << ($wsize - $bit - 1)); // reverse order + } + } + + $words[] = $wrd; + } + + return $words; + } + + /** + * Add a new Codeword as a big-endian bit sequence. + * + * @param int $bits The number of bits in the codeword. + * @param int $value The value of the codeword. + */ + protected function addRawCwd(int $bits, int $value): void + { + $this->appendWordToBitstream($this->bitstream, $this->totbits, $bits, $value); + } + + /** + * Adds a Codeword. + * + * @param int $mode The encoding mode. + * @param int $value The value to encode. + */ + protected function addCdw(int $mode, int $value): void + { + $this->addRawCwd(Data::MODE_BITS[$mode], $value); + } + + /** + * Latch to another mode. + * + * @param int $mode The new encoding mode. + */ + protected function addLatch(int $mode): void + { + $latch = Data::LATCH_MAP[$this->encmode][$mode]; + foreach ($latch as $cdw) { + $this->addRawCwd($cdw[0], $cdw[1]); + } + + $this->encmode = $mode; + } + + /** + * Shift to another mode. + */ + protected function addShift(int $mode): void + { + $shift = Data::SHIFT_MAP[$this->encmode][$mode]; + foreach ($shift as $cdw) { + $this->addRawCwd($cdw[0], $cdw[1]); + } + } + + /** + * Merges the temporary codewords array with the current codewords array. + * Shift to the specified mode. + * + * @param int $mode The encoding mode for the codewords. + */ + protected function mergeTmpCwdWithShift(int $mode): void + { + foreach ($this->tmpCdws as $tmpCdw) { + $this->addShift($mode); + $this->addRawCwd($tmpCdw[0], $tmpCdw[1]); + } + } + + /** + * Merges the temporary codewords array with the current codewords array. + * No shift is performed. + */ + protected function mergeTmpCwdRaw(): void + { + foreach ($this->tmpCdws as $tmpCdw) { + $this->addRawCwd($tmpCdw[0], $tmpCdw[1]); + } + } + + /** + * Merge temporary codewords with current codewords based on the encoding mode. + * + * @param int $mode The encoding mode to use for merging codewords. + * If negative, the current encoding mode will be used. + */ + protected function mergeTmpCwd(int $mode = -1): void + { + if (($mode < 0) || ($this->encmode == $mode)) { + $this->mergeTmpCwdRaw(); + } else { + $this->mergeTmpCwdWithShift($mode); + } + + $this->tmpCdws = []; + } + + /** + * Adds the FLG (Function Length Group) codeword to the data codewords. + * + * @param int $eci Extended Channel Interpretation value. If negative, the function does nothing. + */ + protected function addFLG(int $eci): void + { + if ($eci < 0) { + return; + } + + if ($this->encmode != Data::MODE_PUNCT) { + $this->addShift(Data::MODE_PUNCT); + } + + if ($eci == 0) { + $this->addRawCwd(3, 0); // FNC1 + return; + } + + $seci = (string) $eci; + $digits = strlen($seci); + $this->addRawCwd(3, $digits); // 1–6 digits + for ($idx = 0; $idx < $digits; ++$idx) { + $this->addCdw( + Data::MODE_DIGIT, + $this->charEnc(Data::MODE_DIGIT, ord($seci[$idx])) + ); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Data.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Data.php new file mode 100644 index 0000000..91e0fb2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Data.php @@ -0,0 +1,556 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Aztec; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec\Data + * + * Data for Aztec Barcode type class + * + * @since 2023-10-13 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Data +{ + /** + * Code character encoding mode for uppercase letters. + * + * @var int + */ + public const MODE_UPPER = 0; + + /** + * Code character encoding mode for lowercase letters. + * + * @var int + */ + public const MODE_LOWER = 1; + + /** + * Code character encoding mode for digits. + * + * @var int + */ + public const MODE_DIGIT = 2; + + /** + * Code character encoding mode for mixed cases. + * + * @var int + */ + public const MODE_MIXED = 3; + + /** + * Code character encoding mode for punctuation. + * + * @var int + */ + public const MODE_PUNCT = 4; + + /** + * Code character encoding mode for binary. + * + * @var int + */ + public const MODE_BINARY = 5; + + /** + * Number of bits for each character encoding mode. + * + * @var array + */ + public const MODE_BITS = [ + 5, // 0 = MODE_UPPER + 5, // 1 = MODE_LOWER + 4, // 2 = MODE_DIGIT + 5, // 3 = MODE_MIXED + 5, // 4 = MODE_PUNCT + 8, // 5 = MODE_BINARY + ]; + + /** + * Code character encoding for each mode. + * + * @var array> + */ + public const CHAR_ENC = [ + // MODE_UPPER (initial mode) + 0 => [ + 32 => 1, // ' ' (SP) + 65 => 2, // 'A' + 66 => 3, // 'B' + 67 => 4, // 'C' + 68 => 5, // 'D' + 69 => 6, // 'E' + 70 => 7, // 'F' + 71 => 8, // 'G' + 72 => 9, // 'H' + 73 => 10, // 'I' + 74 => 11, // 'J' + 75 => 12, // 'K' + 76 => 13, // 'L' + 77 => 14, // 'M' + 78 => 15, // 'N' + 79 => 16, // 'O' + 80 => 17, // 'P' + 81 => 18, // 'Q' + 82 => 19, // 'R' + 83 => 20, // 'S' + 84 => 21, // 'T' + 85 => 22, // 'U' + 86 => 23, // 'V' + 87 => 24, // 'W' + 88 => 25, // 'X' + 89 => 26, // 'Y' + 90 => 27, // 'Z' + ], + // MODE_LOWER + 1 => [ + 32 => 1, // ' ' (SP) + 97 => 2, // 'a' + 98 => 3, // 'b' + 99 => 4, // 'c' + 100 => 5, // 'd' + 101 => 6, // 'e' + 102 => 7, // 'f' + 103 => 8, // 'g' + 104 => 9, // 'h' + 105 => 10, // 'i' + 106 => 11, // 'j' + 107 => 12, // 'k' + 108 => 13, // 'l' + 109 => 14, // 'm' + 110 => 15, // 'n' + 111 => 16, // 'o' + 112 => 17, // 'p' + 113 => 18, // 'q' + 114 => 19, // 'r' + 115 => 20, // 's' + 116 => 21, // 't' + 117 => 22, // 'u' + 118 => 23, // 'v' + 119 => 24, // 'w' + 120 => 25, // 'x' + 121 => 26, // 'y' + 122 => 27, // 'z' + ], + // MODE_DIGIT + 2 => [ + 32 => 1, // ' ' (SP) + 44 => 12, // ',' + 46 => 13, // '.' + 48 => 2, // '0' + 49 => 3, // '1' + 50 => 4, // '2' + 51 => 5, // '3' + 52 => 6, // '4' + 53 => 7, // '5' + 54 => 8, // '6' + 55 => 9, // '7' + 56 => 10, // '8' + 57 => 11, // '9' + ], + // MODE_MIXED + 3 => [ + 1 => 2, // '^A' (SOH) + 2 => 3, // '^B' (STX) + 3 => 4, // '^C' (ETX) + 4 => 5, // '^D' (EOT) + 5 => 6, // '^E' (ENQ) + 6 => 7, // '^F' (ACK) + 7 => 8, // '^G' (BEL) + 8 => 9, // '^H' (BS) + 9 => 10, // '^I' (HT) + 10 => 11, // '^J' (LF) + 11 => 12, // '^K' (VT) + 12 => 13, // '^L' (FF) + 13 => 14, // '^M' (CR) + 27 => 15, // '^[' (ESC) + 28 => 16, // '^\' (FS) + 29 => 17, // '^]' (GS) + 30 => 18, // '^^' (RS) + 31 => 19, // '^_' (US) + 64 => 20, // '@' + 92 => 21, // '\' + 94 => 22, // '^' + 95 => 23, // '_' + 96 => 24, // '`' + 124 => 25, // '|' + 126 => 26, // '~' + 127 => 27, // '^?' (DEL) + ], + // MODE_PUNCT + 4 => [ + 13 => 1, // '\r' (CR) + 33 => 6, // '!' + 34 => 7, // '"' + 35 => 8, // '#' + 36 => 9, // '$' + 37 => 10, // '%' + 38 => 11, // '&' + 39 => 12, // ''' + 40 => 13, // '(' + 41 => 14, // ')' + 42 => 15, // '*' + 43 => 16, // '+' + 44 => 17, // ',' + 45 => 18, // '-' + 46 => 19, // '.' + 47 => 20, // '/' + 58 => 21, // ':' + 59 => 22, // ';' + 60 => 23, // '<' + 61 => 24, // '=' + 62 => 25, // '>' + 63 => 26, // '?' + 91 => 27, // '[' + 93 => 28, // ']' + 123 => 29, // '{' + 125 => 30, // '}' + ], + // MODE_BINARY (all 8-bit values are valid) + 5 => [], + ]; + + /** + * Map character ASCII codes to their non-binary mode. + * Exceptions are: + * - the space ' ' character (32) that maps for modes 0,1,2. + * - the carriage return '\r' character (13) that maps for modes 3,4. + * - the comma ',' and dot '.' characters (44,46) that map for modes 2,4. + * + * @var array + */ + public const CHAR_MODES = [ + 1 => 3, // '^A' (SOH) + 2 => 3, // '^B' (STX) + 3 => 3, // '^C' (ETX) + 4 => 3, // '^D' (EOT) + 5 => 3, // '^E' (ENQ) + 6 => 3, // '^F' (ACK) + 7 => 3, // '^G' (BEL) + 8 => 3, // '^H' (BS) + 9 => 3, // '^I' (HT) + 10 => 3, // '^J' (LF) + 11 => 3, // '^K' (VT) + 12 => 3, // '^L' (FF) + 13 => 3, // '^M' (CR) [3,4] + 27 => 3, // '^[' (ESC) + 28 => 3, // '^\' (FS) + 29 => 3, // '^]' (GS) + 30 => 3, // '^^' (RS) + 31 => 3, // '^_' (US) + 32 => 0, // ' ' [0,1,2] + 33 => 4, // '!' + 34 => 4, // '"' + 35 => 4, // '#' + 36 => 4, // '$' + 37 => 4, // '%' + 38 => 4, // '&' + 39 => 4, // ''' + 40 => 4, // '(' + 41 => 4, // ')' + 42 => 4, // '*' + 43 => 4, // '+'f + 44 => 2, // ',' [2,4] + 45 => 4, // '-' + 46 => 2, // '.' [2,4] + 47 => 4, // '/' + 48 => 2, // '0' + 49 => 2, // '1' + 50 => 2, // '2' + 51 => 2, // '3' + 52 => 2, // '4' + 53 => 2, // '5' + 54 => 2, // '6' + 55 => 2, // '7' + 56 => 2, // '8' + 57 => 2, // '9' + 58 => 4, // ':' + 59 => 4, // ';' + 60 => 4, // '<' + 61 => 4, // '=' + 62 => 4, // '>' + 63 => 4, // '?' + 64 => 3, // '@' + 65 => 0, // 'A' + 66 => 0, // 'B' + 67 => 0, // 'C' + 68 => 0, // 'D' + 69 => 0, // 'E' + 70 => 0, // 'F' + 71 => 0, // 'G' + 72 => 0, // 'H' + 73 => 0, // 'I' + 74 => 0, // 'J' + 75 => 0, // 'K' + 76 => 0, // 'L' + 77 => 0, // 'M' + 78 => 0, // 'N' + 79 => 0, // 'O' + 80 => 0, // 'P' + 81 => 0, // 'Q' + 82 => 0, // 'R' + 83 => 0, // 'S' + 84 => 0, // 'T' + 85 => 0, // 'U' + 86 => 0, // 'V' + 87 => 0, // 'W' + 88 => 0, // 'X' + 89 => 0, // 'Y' + 90 => 0, // 'Z' + 91 => 4, // '[' + 92 => 3, // '\' + 93 => 4, // ']' + 94 => 3, // '^' + 95 => 3, // '_' + 96 => 3, // '`' + 97 => 1, // 'a' + 98 => 1, // 'b' + 99 => 1, // 'c' + 100 => 1, // 'd' + 101 => 1, // 'e' + 102 => 1, // 'f' + 103 => 1, // 'g' + 104 => 1, // 'h' + 105 => 1, // 'i' + 106 => 1, // 'j' + 107 => 1, // 'k' + 108 => 1, // 'l' + 109 => 1, // 'm' + 110 => 1, // 'n' + 111 => 1, // 'o' + 112 => 1, // 'p' + 113 => 1, // 'q' + 114 => 1, // 'r' + 115 => 1, // 's' + 116 => 1, // 't' + 117 => 1, // 'u' + 118 => 1, // 'v' + 119 => 1, // 'w' + 120 => 1, // 'x' + 121 => 1, // 'y' + 122 => 1, // 'z' + 123 => 4, // '{' + 124 => 3, // '|' + 125 => 4, // '}' + 126 => 3, // '~' + 127 => 3, // '^?' (DEL) + ]; + + /** + * Latch map for changing character encoding mode. + * Numbers represent: [number of bits to change, latch code value]. + * + * @var array>> + */ + public const LATCH_MAP = [ + // MODE_UPPER + 0 => [ + 1 => [[5, 28]], // -> LOWER + 2 => [[5, 30]], // -> DIGIT + 3 => [[5, 29]], // -> MIXED + 4 => [[5, 29], [5, 30]], // -> MIXED -> PUNCT + ], + // MODE_LOWER + 1 => [ + 0 => [[5, 30], [4, 14]], // -> DIGIT -> UPPER + 2 => [[5, 30]], // -> DIGIT + 3 => [[5, 29]], // -> MIXED + 4 => [[5, 29], [5, 30]], // -> MIXED -> PUNCT + ], + // MODE_DIGIT + 2 => [ + 0 => [[4, 14]], // -> UPPER + 1 => [[4, 14], [5, 28]], // -> UPPER -> LOWER + 3 => [[4, 14], [5, 29]], // -> UPPER -> MIXED + 4 => [[4, 14], [5, 29], [5, 30]], // -> UPPER -> MIXED -> PUNCT + ], + // MODE_MIXED + 3 => [ + 0 => [[5, 29]], // -> UPPER + 1 => [[5, 28]], // -> LOWER + 2 => [[5, 29], [5, 30]], // -> UPPER -> DIGIT + 4 => [[5, 30]], // -> PUNCT + ], + // MODE_PUNCT + 4 => [ + 0 => [[5, 31]], // -> UPPER + 1 => [[5, 31], [5, 28]], // -> UPPER -> LOWER + 2 => [[5, 31], [5, 30]], // -> UPPER -> DIGIT + 3 => [[5, 31], [5, 29]], // -> UPPER -> MIXED + ], + ]; + + /** + * Shift map for changing character encoding mode. + * Numbers represent: [number of bits to change, shift code value]. + * + * @var array>> + */ + public const SHIFT_MAP = [ + // MODE_UPPER + 0 => [ + 1 => [], + 2 => [], + 3 => [], + 4 => [[5, 0]], // -> PUNCT + 5 => [[5, 31]], // -> BINARY + ], + // MODE_LOWER + 1 => [ + 0 => [[5, 28]], // -> UPPER + 2 => [], + 3 => [], + 4 => [[5, 0]], // -> PUNCT + 5 => [[5, 31]], // -> BINARY + ], + // MODE_DIGIT + 2 => [ + 0 => [[4, 15]], // -> UPPER + 1 => [], + 3 => [], + 4 => [[4, 0]], // -> PUNCT + 5 => [[4, 14], [5, 31]], // -> LATCH UPPER -> BINARY + ], + // MODE_MIXED + 3 => [ + 0 => [], + 1 => [], + 2 => [], + 4 => [[5, 0]], // -> PUNCT + 5 => [[5, 31]], // -> BINARY + ], + // MODE_PUNCT + 4 => [ + 0 => [], + 1 => [], + 2 => [], + 3 => [], + 5 => [[5, 31], [5, 31]], // -> LATCH UPPER -> BINARY + ], + ]; + + /** + * Extended Channel Interpretation (ECI) codes. + * + * @var array + */ + public const ECI = [ + 0 => 'FNC1', // Function 1 character + 2 => 'Cp437', // Code page 437 + 3 => 'ISO-8859-1', // ISO/IEC 8859-1 - Latin-1 (Default encoding) + 4 => 'ISO-8859-2', // ISO/IEC 8859-2 - Latin-2 + 5 => 'ISO-8859-3', // ISO/IEC 8859-3 - Latin-3 + 6 => 'ISO-8859-4', // ISO/IEC 8859-4 - Latin-4 + 7 => 'ISO-8859-5', // ISO/IEC 8859-5 - Latin/Cyrillic + 8 => 'ISO-8859-6', // ISO/IEC 8859-6 - Latin/Arabic + 9 => 'ISO-8859-7', // ISO/IEC 8859-7 - Latin/Greek + 10 => 'ISO-8859-8', // ISO/IEC 8859-8 - Latin/Hebrew + 11 => 'ISO-8859-9', // ISO/IEC 8859-9 - Latin-5 + 12 => 'ISO-8859-10', // ISO/IEC 8859-10 - Latin-6 + 13 => 'ISO-8859-11', // ISO/IEC 8859-11 - Latin/Thai + 15 => 'ISO-8859-13', // ISO/IEC 8859-13 - Latin-7 + 16 => 'ISO-8859-14', // ISO/IEC 8859-14 - Latin-8 (Celtic) + 17 => 'ISO-8859-15', // ISO/IEC 8859-15 - Latin-9 + 18 => 'ISO-8859-16', // ISO/IEC 8859-16 - Latin-10 + 20 => 'Shift JIS', // + 21 => 'Cp1250', // Windows-1250 - Superset of Latin-2 + 22 => 'Cp1251', // Windows-1251 - Latin/Cyrillic + 23 => 'Cp1252', // Windows-1252 - Superset of Latin-1 + 24 => 'Cp1256', // Windows-1256 - Arabic + 25 => 'UTF-16BE', // UnicodeBig, UnicodeBigUnmarked + 26 => 'UTF-8', // + 27 => 'US-ASCII', // + 28 => 'Big5', // + 29 => 'GB18030', // GB2312, EUC_CN, GBK + 30 => 'EUC-KR', // + ]; + + /** + * Size and capacities of Aztec Compact Code symbols by number of layers. + * The array entries are: + * - 0: symbol x size; + * - 1: codeword count; + * - 2: codeword size; + * - 3: symbol bit capacity; + * - 4: symbol data digits capacity; + * - 5: symbol data text capacity; + * - 6: symbol data bytes capacity. + * + * @var array + */ + public const SIZE_COMPACT = [ + 1 => [15, 17, 6, 102, 13, 12, 6], + 2 => [19, 40, 6, 240, 40, 33, 19], + 3 => [23, 51, 8, 408, 70, 57, 33], + 4 => [27, 76, 8, 608, 110, 89, 53], + ]; + + /** + * Size and capacities of Aztec Full-range Code symbols by number of layers. + * The array entries are: + * - 0: symbol x size; + * - 1: codeword count; + * - 2: codeword size; + * - 3: symbol bit capacity; + * - 4: symbol data digits capacity; + * - 5: symbol data text capacity; + * - 6: symbol data bytes capacity. + * + * @var array + */ + public const SIZE_FULL = [ + 1 => [19, 21, 6, 126, 18, 15, 8], + 2 => [23, 48, 6, 288, 49, 40, 24], + 3 => [27, 60, 8, 480, 84, 68, 40], + 4 => [31, 88, 8, 704, 128, 104, 62], + 5 => [37, 120, 8, 960, 178, 144, 87], + 6 => [41, 156, 8, 1248, 232, 187, 114], + 7 => [45, 196, 8, 1568, 294, 236, 145], + 8 => [49, 240, 8, 1920, 362, 291, 179], + 9 => [53, 230, 10, 2300, 433, 348, 214], + 10 => [57, 272, 10, 2720, 516, 414, 256], + 11 => [61, 316, 10, 3160, 601, 482, 298], + 12 => [67, 364, 10, 3640, 691, 554, 343], + 13 => [71, 416, 10, 4160, 793, 636, 394], + 14 => [75, 470, 10, 4700, 896, 718, 446], + 15 => [79, 528, 10, 5280, 1008, 808, 502], + 16 => [83, 588, 10, 5880, 1123, 900, 559], + 17 => [87, 652, 10, 6520, 1246, 998, 621], + 18 => [91, 720, 10, 7200, 1378, 1104, 687], + 19 => [95, 790, 10, 7900, 1511, 1210, 753], + 20 => [101, 864, 10, 8640, 1653, 1324, 824], + 21 => [105, 940, 10, 9400, 1801, 1442, 898], + 22 => [109, 1020, 10, 10200, 1956, 1566, 976], + 23 => [113, 920, 12, 11040, 2116, 1694, 1056], + 24 => [117, 992, 12, 11904, 2281, 1826, 1138], + 25 => [121, 1066, 12, 12792, 2452, 1963, 1224], + 26 => [125, 1144, 12, 13728, 2632, 2107, 1314], + 27 => [131, 1224, 12, 14688, 2818, 2256, 1407], + 28 => [135, 1306, 12, 15672, 3007, 2407, 1501], + 29 => [139, 1392, 12, 16704, 3205, 2565, 1600], + 30 => [143, 1480, 12, 17760, 3409, 2728, 1702], + 31 => [147, 1570, 12, 18840, 3616, 2894, 1806], + 32 => [151, 1664, 12, 19968, 3832, 3067, 1914], + ]; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Encode.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Encode.php new file mode 100644 index 0000000..72d2ec7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Encode.php @@ -0,0 +1,364 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Aztec; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec\Encode + * + * Encode for Aztec Barcode type class + * + * @since 2023-10-13 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Encode extends \Com\Tecnick\Barcode\Type\Square\Aztec\Bitstream +{ + /** + * Bidimensional grid containing the encoded data. + * + * @var array> + */ + protected array $grid = []; + + /** + * Coordinate of the grid center. + */ + protected int $gridcenter = 0; + + /** + * Aztec main encoder. + * + * @param string $code The code to encode. + * @param int $ecc The error correction code percentage of error check words. + * @param int $eci The ECI mode to use. + * @param string $hint The mode to use. + * @param string $mode The mode to use (A = Automatic; F = Full Range mode). + */ + public function __construct( + string $code, + int $ecc = 33, + int $eci = 0, + string $hint = 'A', + string $mode = 'A' + ) { + $this->highLevelEncoding($code, $eci, $hint); + if (! $this->sizeAndBitStuffing($ecc, $mode)) { + throw new BarcodeException('Data too long'); + } + + $wsize = $this->layer[2]; + $nbits = $this->layer[3]; + $numcdw = $this->addCheckWords($this->bitstream, $this->totbits, $nbits, $wsize); + $this->setGrid(); + $this->drawMode($numcdw); + $this->drawData(); + } + + /** + * Returns the bidimensional grid containing the encoded data. + * + * @return array> + */ + public function getGrid(): array + { + return $this->grid; + } + + /** + * Returns the Check Codewords array for the given data words. + * + * @param array $bitstream Array of bits. + * @param int $totbits Number of bits in the bitstream. + * @param int $nbits Number of bits per layer. + * @param int $wsize Word size. + * + * @return int The number of data codewords. + */ + protected function addCheckWords( + array &$bitstream, + int &$totbits, + int $nbits, + int $wsize + ): int { + $cdw = $this->bitstreamToWords($bitstream, $totbits, $wsize); + $numcdw = count($cdw); + $totwords = (int) ($nbits / $wsize); + $eccwords = ($totwords - $numcdw); + $errorCorrection = new ErrorCorrection($wsize); + $checkwords = $errorCorrection->checkwords($cdw, $eccwords); + // append check codewords + foreach ($checkwords as $checkword) { + $this->appendWordToBitstream($bitstream, $totbits, $wsize, $checkword); + } + + return $numcdw; + } + + /** + * Initialize the grid with all patterns. + */ + protected function setGrid(): void + { + // initialize grid + $size = $this->layer[0]; + $row = array_fill(0, $size, 0); + $this->grid = array_fill(0, $size, $row); + // draw center + $center = (int) (($size - 1) / 2); + $this->gridcenter = $center; + $this->grid[$center][$center] = 1; + // draw finder pattern (bulls-eye) + $bewidth = $this->compact ? 11 : 15; + $bemid = (int) (($bewidth - 1) / 2); + for ($rng = 2; $rng < $bemid; $rng += 2) { + // center cross points + $this->grid[($center + $rng)][($center)] = 1; + $this->grid[($center - $rng)][($center)] = 1; + $this->grid[($center)][($center + $rng)] = 1; + $this->grid[($center)][($center - $rng)] = 1; + // corner points + $this->grid[($center + $rng)][($center + $rng)] = 1; + $this->grid[($center + $rng)][($center - $rng)] = 1; + $this->grid[($center - $rng)][($center + $rng)] = 1; + $this->grid[($center - $rng)][($center - $rng)] = 1; + for ($pos = 1; $pos < $rng; ++$pos) { + // horizontal points + $this->grid[($center + $rng)][($center + $pos)] = 1; + $this->grid[($center + $rng)][($center - $pos)] = 1; + $this->grid[($center - $rng)][($center + $pos)] = 1; + $this->grid[($center - $rng)][($center - $pos)] = 1; + // vertical points + $this->grid[($center + $pos)][($center + $rng)] = 1; + $this->grid[($center + $pos)][($center - $rng)] = 1; + $this->grid[($center - $pos)][($center + $rng)] = 1; + $this->grid[($center - $pos)][($center - $rng)] = 1; + } + } + + // draw orientation patterns + $this->grid[($center - $bemid)][($center - $bemid)] = 1; // TL + $this->grid[($center - $bemid)][($center - $bemid + 1)] = 1; // TL-R + $this->grid[($center - $bemid + 1)][($center - $bemid)] = 1; // TL-B + $this->grid[($center - $bemid)][($center + $bemid)] = 1; // TR-T + $this->grid[($center - $bemid + 1)][($center + $bemid)] = 1; // TR-B + $this->grid[($center + $bemid - 1)][($center + $bemid)] = 1; // BR + if ($this->compact) { + return; + } + + // draw reference grid for full mode + $halfsize = (int) (($size - 1) / 2); + // central cross + for ($pos = 8; $pos <= $halfsize; $pos += 2) { + // horizontal + $this->grid[($center)][($center - $pos)] = 1; + $this->grid[($center)][($center + $pos)] = 1; + // vertical + $this->grid[($center - $pos)][($center)] = 1; + $this->grid[($center + $pos)][($center)] = 1; + } + + // grid lines + for ($pos = 2; $pos <= $halfsize; $pos += 2) { + for ($ref = 16; $ref <= $halfsize; $ref += 16) { + // horizontal + $this->grid[($center - $ref)][($center - $pos)] = 1; + $this->grid[($center - $ref)][($center + $pos)] = 1; + $this->grid[($center + $ref)][($center - $pos)] = 1; + $this->grid[($center + $ref)][($center + $pos)] = 1; + // vertical + $this->grid[($center - $pos)][($center - $ref)] = 1; + $this->grid[($center - $pos)][($center + $ref)] = 1; + $this->grid[($center + $pos)][($center - $ref)] = 1; + $this->grid[($center + $pos)][($center + $ref)] = 1; + } + } + } + + /** + * Add the mode message to the grid. + * + * @param int $numcdw Number of data codewords. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function drawMode(int $numcdw): void + { + $modebs = []; + $nbits = 0; + $center = $this->gridcenter; + $modebits = 40; + $layersbits = 5; + $codewordsbits = 11; + $sidelen = 10; + $srow = -7; + $scol = -5; + if ($this->compact) { + $modebits = 28; + $layersbits = 2; + $codewordsbits = 6; + $sidelen = 7; + $srow = -5; + $scol = -3; + } + + $this->appendWordToBitstream($modebs, $nbits, $layersbits, ($this->numlayers - 1)); + $this->appendWordToBitstream($modebs, $nbits, $codewordsbits, ($numcdw - 1)); + $this->addCheckWords($modebs, $nbits, $modebits, 4); + // draw the mode message in the grid clockwise starting from the top left corner + $bit = 0; + // top + $ypos = ($center + $srow); + $xpos = ($center + $scol); + for ($pos = 0; $pos < $sidelen; ++$pos) { + $xpos += $this->skipModeRefGrid($pos); + $this->grid[$ypos][$xpos] = (empty($modebs[$bit++]) ? 0 : 1); + ++$xpos; + } + + // right + $ypos += 2; + ++$xpos; + for ($pos = 0; $pos < $sidelen; ++$pos) { + $ypos += $this->skipModeRefGrid($pos); + $this->grid[$ypos][$xpos] = (empty($modebs[$bit++]) ? 0 : 1); + ++$ypos; + } + + // bottom + ++$ypos; + $xpos -= 2; + for ($pos = 0; $pos < $sidelen; ++$pos) { + $xpos -= $this->skipModeRefGrid($pos); + $this->grid[$ypos][$xpos] = (empty($modebs[$bit++]) ? 0 : 1); + --$xpos; + } + + // left + $ypos -= 2; + --$xpos; + for ($pos = 0; $pos < $sidelen; ++$pos) { + $ypos -= $this->skipModeRefGrid($pos); + $this->grid[$ypos][$xpos] = (empty($modebs[$bit++]) ? 0 : 1); + --$ypos; + } + } + + /** + * Returns a bit from the end of the bitstream and update the index. + * + * @param int $bit Index of the bit to pop. + */ + protected function popBit(int &$bit): int + { + return (empty($this->bitstream[$bit--]) ? 0 : 1); + } + + /** + * Returns 1 if the current position must be skipped in Full mode. + * + * @param int $pos Position in the grid. + */ + protected function skipModeRefGrid(int $pos): int + { + return (int) ((! $this->compact) && ($pos == 5)); + } + + /** + * Returns the offset for the specified position to skip the reference grid. + * + * @param int $pos Position in the grid. + */ + protected function skipRefGrid(int $pos): int + { + return (int) ((! $this->compact) && (($pos % 16) == 0)); + } + + /** + * Draw the data bitstream in the grid in Full mode. + */ + protected function drawData(): void + { + $center = $this->gridcenter; + $llen = 16; // width of the first layer side + $srow = -8; // start top row offset from the center (LSB) + $scol = -7; // start top column offset from the center (LSB) + if ($this->compact) { + $llen = 13; + $srow = -6; + $scol = -5; + } + + $skip = 0; // skip reference grid while drwaing dominoes + $bit = ($this->totbits - 1); // index of last bitstream bit (first to draw) + for ($layer = 0; $layer < $this->numlayers; ++$layer) { + // top + $ypos = ($center + $srow); + $xpos = ($center + $scol); + for ($pos = 0; $pos < $llen; ++$pos) { + $xpos += $this->skipRefGrid($xpos - $center); // skip reference grid + $this->grid[$ypos][$xpos] = $this->popBit($bit); + $this->grid[($ypos - 1 - $skip)][$xpos] = $this->popBit($bit); + ++$xpos; + } + + // right + ++$ypos; + $xpos -= (2 + $skip); + for ($pos = 0; $pos < $llen; ++$pos) { + $ypos += $this->skipRefGrid($ypos - $center); // skip reference grid + $this->grid[$ypos][$xpos] = $this->popBit($bit); + $this->grid[$ypos][($xpos + 1 + $skip)] = $this->popBit($bit); + ++$ypos; + } + + // bottom + $ypos -= (2 + $skip); + --$xpos; + for ($pos = 0; $pos < $llen; ++$pos) { + $xpos -= $this->skipRefGrid($xpos - $center); // skip reference grid + $this->grid[$ypos][$xpos] = $this->popBit($bit); + $this->grid[($ypos + 1 + $skip)][$xpos] = $this->popBit($bit); + --$xpos; + } + + // left + --$ypos; + $xpos += (2 + $skip); + for ($pos = 0; $pos < $llen; ++$pos) { + $ypos -= $this->skipRefGrid($ypos - $center); // skip reference grid + $this->grid[$ypos][$xpos] = $this->popBit($bit); + $this->grid[$ypos][($xpos - 1 - $skip)] = $this->popBit($bit); + --$ypos; + } + + $llen += 4; + $srow = ($ypos - $center); + $srow -= $this->skipRefGrid($srow); + $scol = ($xpos - 1 - $center); + $scol -= $this->skipRefGrid($scol); + $skip = $this->skipRefGrid($srow - 1); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/ErrorCorrection.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/ErrorCorrection.php new file mode 100644 index 0000000..0eecca1 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/ErrorCorrection.php @@ -0,0 +1,266 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Aztec; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec\ErrorCorrection + * + * ErrorCorrection for Aztec Barcode type class + * + * @since 2023-10-13 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class ErrorCorrection +{ + /** + * Galois Field primitive by word size. + * + * @var array + */ + protected const GF = [ + 4 => 19, // 10011 GF(16) (x^4 + x + 1) Mode message + 6 => 67, // 1000011 GF(64) (x^6 + x + 1) 01–02 layers + 8 => 301, // 100101101 GF(256) (x^8 + x^5 + x^3 + x^2 + 1) 03–08 layers + 10 => 1033, // 10000001001 GF(1024) (x^10 + x^3 + 1) 09–22 layers + 12 => 4201, // 1000001101001 GF(4096) (x^12 + x^6 + x^5 + x^3 + 1) 23–32 layers + ]; + + /** + * Map the log and exp (inverse log) tables by word size. + * NOTE: It is equal to 2^word_size. + * + * @var array + */ + protected const TSIZE = [ + 4 => 16, + 6 => 64, + 8 => 256, + 10 => 1024, + 12 => 4096, + ]; + + /** + * Log table. + * + * @var array + */ + protected array $tlog = []; + + /** + * Exponential (inverse log) table. + * + * @var array + */ + protected array $texp = []; + + /** + * Size of the log and exp tables. + */ + protected int $tsize = 0; + + /** + * Initialize the the Reed-Solomon Error Correction. + * + * @param int $wsize Size of a word in bits. + */ + public function __construct(int $wsize) + { + $this->genTables($wsize); + } + + /** + * Returns the Reed-Solomon Error Correction Codewords added to the input data. + * + * @param array $data Array of data codewords to process. + * @param int $necc Number of error correction bytes. + * + * @return array + */ + public function checkwords(array $data, int $necc): array + { + $coeff = $this->getCoefficients($data, $necc); + return array_pad($coeff, -$necc, 0); // @phpstan-ignore return.type + } + + /** + * Generates log and exp (inverse log) tables. + * + * @param int $wsize Size of the word in bits. + */ + protected function genTables(int $wsize): void + { + $this->tsize = self::TSIZE[$wsize]; + $this->tlog = array_fill(0, $this->tsize, 0); + $this->texp = $this->tlog; + $primitive = self::GF[$wsize]; + $val = 1; + $sizeminusone = ($this->tsize - 1); + for ($idx = 0; $idx < $this->tsize; ++$idx) { + $this->texp[$idx] = $val; + $val <<= 1; // multiply by 2 + if ($val >= $this->tsize) { + $val ^= $primitive; + $val &= $sizeminusone; + } + } + + for ($idx = 0; $idx < $this->tsize - 1; ++$idx) { + $this->tlog[$this->texp[$idx]] = $idx; + } + } + + /** + * Calculates the coefficients of the error correction polynomial. + * + * @param array $data Array of data codewords to process. + * @param int $necc Number of error correction bytes. + * + * @return array Array of coefficients. + */ + protected function getCoefficients(array $data, int $necc): array + { + $gen = [1]; + for ($idx = 1; $idx <= $necc; ++$idx) { + $gen = $this->multiplyCoeff([1, $this->texp[$idx]], $gen); + } + + $deg = ($necc + 1); + $coeff = $this->multiplyByMonomial($data, 1, $necc); + $len = count($coeff); + while (($len >= $deg) && ($coeff[0] != 0)) { + $scale = $this->multiply($coeff[0], 1); + $largercoeffs = $this->multiplyByMonomial($gen, $scale, ($len - $deg)); + $coeff = $this->addOrSubtract($coeff, $largercoeffs); + $len = count($coeff); + } + + return $coeff; + } + + /** + * Returns the product of two coefficient arrays. + * + * @param array $acf First array of coefficients. + * @param array $bcf Second array of coefficients. + * + * @return array Array of coefficients. + */ + protected function multiplyCoeff(array $acf, array $bcf): array + { + $alen = count($acf); + $blen = count($bcf); + $coeff = array_fill(0, ($alen + $blen - 1), 0); + for ($aid = 0; $aid < $alen; ++$aid) { + for ($bid = 0; $bid < $blen; ++$bid) { + $coeff[$aid + $bid] ^= ($this->multiply($acf[$aid], $bcf[$bid])); + } + } + + return $this->trimCoefficients($coeff); + } + + /** + * Returns the product of $aval and $bval in GF(size). + * + * @param int $aval First value. + * @param int $bval Second value. + */ + protected function multiply(int $aval, int $bval): int + { + if ($aval == 0 || $bval == 0) { + return 0; + } + + return $this->texp[($this->tlog[$aval] + $this->tlog[$bval]) % ($this->tsize - 1)]; + } + + /** + * Left-trim coefficients array. + * + * @param array $coeff Array of coefficients. + * + * @return array Array of coefficients. + */ + protected function trimCoefficients(array $coeff): array + { + while ($coeff !== [] && $coeff[0] == 0) { + array_shift($coeff); + } + + return $coeff; + } + + /** + * Returns the product of a polynomial by a monomial. + * + * @param array $coeff Array of polynomial coefficients. + * @param int $mon Monomial. + * @param int $deg Degree of the monomial. + * + * @return array Array of coefficients. + */ + protected function multiplyByMonomial(array $coeff, int $mon, int $deg): array + { + // if ($mon == 0) { + // return array(0); + // } + $ncf = count($coeff); + $prod = array_fill(0, ($ncf + $deg), 0); + for ($idx = 0; $idx < $ncf; ++$idx) { + $prod[$idx] = $this->multiply($coeff[$idx], $mon); + } + + return $this->trimCoefficients($prod); + } + + /** + * Adds or subtracts two coefficient arrays. + * + * @param array $smaller The smaller array of coefficients. + * @param array $larger The larger array of coefficients. + * + * @return array Array of coefficients. + */ + protected function addOrSubtract(array $smaller, array $larger): array + { + // if ($smaller[0] == 0) { + // return $larger; + // } + // if ($larger[0] == 0) { + // return $smaller; + // } + $slen = count($smaller); + $llen = count($larger); + // if ($slen > $llen) { + // // swap arrays + // list($smaller, $larger) = array($larger, $smaller); + // list($slen, $llen) = array($llen, $slen); + // } + $lendiff = ($llen - $slen); + $coeff = array_slice($larger, 0, $lendiff); + for ($idx = $lendiff; $idx < $llen; ++$idx) { + $coeff[$idx] = ($smaller[($idx - $lendiff)] ^ $larger[$idx]); + } + + return $this->trimCoefficients($coeff); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Layers.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Layers.php new file mode 100644 index 0000000..e298e7f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Aztec/Layers.php @@ -0,0 +1,163 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Aztec; + +/** + * Com\Tecnick\Barcode\Type\Square\Aztec\Layers + * + * Layers for Aztec Barcode type class + * + * @since 2023-10-13 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Layers extends \Com\Tecnick\Barcode\Type\Square\Aztec\Codeword +{ + /** + * True for compact mode (up to 4 layers), false for full-range mode (up to 32 layers). + */ + protected bool $compact = true; + + /** + * Number of data layers. + */ + protected int $numlayers = 0; + + /** + * Size data for the selected layer. + * + * @var array{int, int, int, int, int, int, int} + */ + protected array $layer = [0, 0, 0, 0, 0, 0, 0]; + + /** + * Returns the minimum number of layers required. + * + * @param array $data + * Either the Data::SIZE_COMPACT or Data::SIZE_FULL array. + * @param int $numbits The number of bits to encode. + */ + protected function getMinLayers(array $data, int $numbits): int + { + if ($numbits <= $data[count($data)][3]) { + foreach ($data as $numlayers => $size) { + if ($numbits <= $size[3]) { + return $numlayers; + } + } + } + + return 0; + } + + /** + * Select the layer by the number of bits to encode. + * + * @param int $numbits The number of bits to encode. + * @param string $mode The mode to use (A = Automatic; F = Full Range mode). + * + * @return bool Returns true if the size computation was successful, false otherwise. + */ + protected function setLayerByBits(int $numbits, string $mode = 'A'): bool + { + $this->numlayers = 0; + if ($mode == 'A') { + $this->compact = true; + $this->numlayers = $this->getMinLayers(Data::SIZE_COMPACT, $numbits); + } + + if ($this->numlayers == 0) { + $this->compact = false; + $this->numlayers = $this->getMinLayers(Data::SIZE_FULL, $numbits); + } + + if ($this->numlayers == 0) { + return false; + } + + $this->layer = $this->compact ? Data::SIZE_COMPACT[$this->numlayers] : Data::SIZE_FULL[$this->numlayers]; + return true; + } + + /** + * Computes the type and number of required layers and performs bit stuffing + * + * @param int $ecc The error correction level. + * @param string $mode The mode to use (A = Automatic; F = Full Range mode). + * + * @return bool Returns true if the size computation was successful, false otherwise. + */ + protected function sizeAndBitStuffing(int $ecc, string $mode = 'A'): bool + { + $nsbits = 0; + $eccbits = (11 + (int) (($this->totbits * $ecc) / 100)); + do { + if (! $this->setLayerByBits(($this->totbits + $nsbits + $eccbits), $mode)) { + return false; + } + + $nsbits = $this->bitStuffing(); + } while (($nsbits + $eccbits) > $this->layer[3]); + + $this->bitstream = []; + $this->totbits = 0; + $this->mergeTmpCwdRaw(); + return true; + } + + /** + * Bit-stuffing the bitstream into Reed–Solomon codewords. + * The resulting codewords are stored in the temporary tmpCdws array. + * + * @return int The number of bits in the bitstream after bit stuffing. + */ + protected function bitStuffing(): int + { + $nsbits = 0; + $wsize = $this->layer[2]; + $mask = ((1 << $wsize) - 2); // b-1 bits at 1 and last bit at 0 + $this->tmpCdws = []; + for ($wid = 0; $wid < $this->totbits; $wid += $wsize) { + $word = 0; + for ($idx = 0; $idx < $wsize; ++$idx) { + $bid = ($wid + $idx); + if (($bid >= $this->totbits) || ($this->bitstream[$bid] == 1)) { + $word |= (1 << ($wsize - 1 - $idx)); // the first bit is MSB + } + } + + // If the first b−1 bits of a code word have the same value, + // an extra bit with the complementary value is inserted into the data stream. + if (($word & $mask) === $mask) { + $word &= $mask; + --$wid; + } elseif (($word & $mask) == 0) { + $word |= 1; + --$wid; + } + + $this->tmpCdws[] = [$wsize, $word]; + $nsbits += $wsize; + } + + return $nsbits; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix.php new file mode 100644 index 0000000..1953372 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix.php @@ -0,0 +1,322 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Barcode\Type\Square\Datamatrix\Data; +use Com\Tecnick\Barcode\Type\Square\Datamatrix\Encode; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix + * + * Datamatrix Barcode type class + * DATAMATRIX (ISO/IEC 16022) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Datamatrix extends \Com\Tecnick\Barcode\Type\Square +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'DATAMATRIX'; + + /** + * Array of codewords. + * + * @var array + */ + protected array $cdw = []; + + /** + * Binary grid + * + * @var array> + */ + protected array $grid = []; + + /** + * Datamatrix Encoding object + */ + protected Encode $dmx; + + /** + * Datamatrix shape key (S=square, R=rectangular) + */ + protected string $shape = 'S'; + + /** + * Datamatrix variant (N=default, GS1=FNC1 codeword in first place) + */ + protected bool $gsonemode = false; + + /** + * Datamatrix default encoding. + * See Data::SWITCHCDW for valid values. + */ + protected int $defenc = Data::ENC_ASCII; + + /** + * Set extra (optional) parameters: + * 1: SHAPE: S=square (default), R=rectangular. + * 2: MODE: N=default, GS1 = the FNC1 codeword is added in the first position of Data Matrix ECC 200 version. + * 3: ENCODING: ASCII (default), C40, TXT, X12, EDIFACT, BASE256. + */ + protected function setParameters(): void + { + parent::setParameters(); + + // shape + if (isset($this->params[0]) && ($this->params[0] === 'R')) { + $this->shape = 'R'; + } + + // mode + $this->gsonemode = (isset($this->params[1]) && ($this->params[1] === 'GS1')); + + // encoding + if (isset($this->params[2])) { + $this->defenc = Data::ENCOPTS[$this->params[2]] ?? Data::ENC_ASCII; + } + } + + /** + * Add padding codewords + * + * @param int $size Max barcode size in codewords + * @param int $ncw Number of codewords + * + * @throws BarcodeException in case of error + */ + protected function addPadding(int $size, int $ncw): void + { + if ($size <= $ncw) { + return; + } + + if (($this->dmx->last_enc != Data::ENC_ASCII) && ($this->dmx->last_enc != Data::ENC_BASE256)) { + // return to ASCII encodation before padding + $this->cdw[] = $this->dmx->last_enc == Data::ENC_EDF ? 124 : 254; + + ++$ncw; + } + + if ($size > $ncw) { + // add first pad + $this->cdw[] = 129; + ++$ncw; + // add remaining pads + for ($i = $ncw; $i < $size; ++$i) { + $this->cdw[] = $this->dmx->get253StateCodeword(129, $i); + } + } + } + + /** + * Get the codewords + * + * @return array{int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int} params + * + * @throws BarcodeException in case of error + */ + protected function getCodewords(): array + { + if (strlen((string) $this->code) == 0) { + throw new BarcodeException('Empty input'); + } + + // get data codewords + $this->cdw = $this->getHighLevelEncoding($this->code); + + // number of data codewords + $ncw = count($this->cdw); + + // check size + if ($ncw > 1560) { + throw new BarcodeException('the input is too large to fit the barcode'); + } + + // get minimum required matrix size. + $params = Data::getPaddingSize($this->shape, $ncw); + $this->addPadding($params[11], $ncw); + + $errorCorrection = new \Com\Tecnick\Barcode\Type\Square\Datamatrix\ErrorCorrection(); + $this->cdw = $errorCorrection->getErrorCorrection($this->cdw, $params[13], $params[14], $params[15]); + + return $params; + } + + /** + * Set the grid + * + * @param int $idx Index + * @param array $places Places + * @param int $row Row + * @param int $col Column + * @param int $rdx Region data row index + * @param int $cdx Region data column index + * @param int $rdri Region data row max index + * @param int $rdci Region data column max index + */ + protected function setGrid( + int &$idx, + array &$places, + int &$row, + int &$col, + int &$rdx, + int &$cdx, + int &$rdri, + int &$rdci + ): void { + // braw bits by case + if ($rdx == 0) { + // top finder pattern + $this->grid[$row][$col] = (int) (($cdx % 2) == 0); + } elseif ($rdx == $rdri) { + // bottom finder pattern + $this->grid[$row][$col] = 1; + } elseif ($cdx == 0) { + // left finder pattern + $this->grid[$row][$col] = 1; + } elseif ($cdx == $rdci) { + // right finder pattern + $this->grid[$row][$col] = (int) (($rdx % 2) > 0); + } else { + // data bit + if ($places[$idx] < 2) { + $this->grid[$row][$col] = $places[$idx]; + } else { + // codeword ID + $cdw_id = (floor($places[$idx] / 10) - 1); + // codeword BIT mask + $cdw_bit = 2 ** (8 - ($places[$idx] % 10)); + $this->grid[$row][$col] = (($this->cdw[$cdw_id] & $cdw_bit) == 0) ? 0 : 1; + } + + ++$idx; + } + } + + /** + * Get high level encoding using the minimum symbol data characters for ECC 200 + * + * @param string $data data to encode + * + * @return array Codewords + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getHighLevelEncoding(string $data): array + { + // STEP A. Start in predefined encodation. + $enc = $this->defenc; // current encoding mode + $this->dmx->last_enc = $enc; // last used encoding + $pos = 0; // current position + $cdw = []; // array of codewords to be returned + $cdw_num = 0; // number of data codewords + $data_length = strlen($data); // number of chars + $field_length = 0; // number of chars in current field + + // Switch to predefined encoding (no action needed if ASCII because it's the default encoding) + if ($this->defenc !== Data::ENC_ASCII) { + $cdw[] = $this->dmx->getSwitchEncodingCodeword($this->defenc); + ++$cdw_num; + } + + while ($pos < $data_length) { + // Determine if current char is FNC1 (don't encode it, just pass it through) + if ($this->gsonemode && ($data[$pos] == chr(232))) { + $cdw[] = 232; + ++$pos; + ++$cdw_num; + continue; + } + + switch ($enc) { + case Data::ENC_ASCII: + // STEP B. While in ASCII encodation + $this->dmx->encodeASCII($cdw, $cdw_num, $pos, $data_length, $data, $enc); + break; + case Data::ENC_C40: + // Upper-case alphanumeric + case Data::ENC_TXT: + // Lower-case alphanumeric + case Data::ENC_X12: + // ANSI X12 + $this->dmx->encodeTXT($cdw, $cdw_num, $pos, $data_length, $data, $enc); + break; + case Data::ENC_EDF: + // F. While in EDIFACT (EDF) encodation + $this->dmx->encodeEDF($cdw, $cdw_num, $pos, $data_length, $field_length, $data, $enc); + break; + case Data::ENC_BASE256: + // G. While in Base 256 (B256) encodation + $this->dmx->encodeBase256($cdw, $cdw_num, $pos, $data_length, $field_length, $data, $enc); + break; + } + + $this->dmx->last_enc = $enc; + } + + return $cdw; + } + + /** + * Get the bars array + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + $this->dmx = new Encode($this->shape); + $params = $this->getCodewords(); + // get placement map + $places = $this->dmx->getPlacementMap($params[2], $params[3]); + // fill the grid with data + $this->grid = []; + $idx = 0; + // region data row max index + $rdri = ($params[4] - 1); + // region data column max index + $rdci = ($params[5] - 1); + // for each horizontal region + for ($hr = 0; $hr < $params[8]; ++$hr) { + // for each row on region + for ($rdx = 0; $rdx < $params[4]; ++$rdx) { + $row = (($hr * $params[4]) + $rdx); + // for each vertical region + for ($vr = 0; $vr < $params[9]; ++$vr) { + // for each column on region + for ($cdx = 0; $cdx < $params[5]; ++$cdx) { + $col = (($vr * $params[5]) + $cdx); + $this->setGrid($idx, $places, $row, $col, $rdx, $cdx, $rdri, $rdci); + } + } + } + } + + $this->processBinarySequence($this->grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Data.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Data.php new file mode 100644 index 0000000..372d3a6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Data.php @@ -0,0 +1,1027 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\Data + * + * Data for Datamatrix Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Data +{ + /** + * ASCII encoding: ASCII character 0 to 127 (1 byte per CW) + * + * @var int + */ + public const ENC_ASCII = 0; + + /** + * C40 encoding: Upper-case alphanumeric (3/2 bytes per CW) + * + * @var int + */ + public const ENC_C40 = 1; + + /** + * TEXT encoding: Lower-case alphanumeric (3/2 bytes per CW) + * + * @var int + */ + public const ENC_TXT = 2; + + /** + * X12 encoding: ANSI X12 (3/2 byte per CW) + * + * @var int + */ + public const ENC_X12 = 3; + + /** + * EDIFACT encoding: ASCII character 32 to 94 (4/3 bytes per CW) + * + * @var int + */ + public const ENC_EDF = 4; + + /** + * BASE 256 encoding: ASCII character 0 to 255 (1 byte per CW) + * + * @var int + */ + public const ENC_BASE256 = 5; + + /** + * ASCII extended encoding: ASCII character 128 to 255 (1/2 byte per CW) + * + * @var int + */ + public const ENC_ASCII_EXT = 6; + + /** + * ASCII number encoding: ASCII digits (2 bytes per CW) + * + * @var int + */ + public const ENC_ASCII_NUM = 7; + + /** + * Encoding options that can be specified as input parameter. + * + * @var array + */ + public const ENCOPTS = [ + 'ASCII' => Data::ENC_ASCII, + 'C40' => Data::ENC_C40, + 'TXT' => Data::ENC_TXT, + 'X12' => Data::ENC_X12, + 'EDF' => Data::ENC_EDF, + 'BASE256' => Data::ENC_BASE256, + ]; + + /** + * Switch codewords. + * + * @var array + */ + public const SWITCHCDW = [ + Data::ENC_ASCII => 254, + Data::ENC_C40 => 230, + Data::ENC_TXT => 239, + Data::ENC_X12 => 238, + Data::ENC_EDF => 240, + Data::ENC_BASE256 => 231, + ]; + + /** + * Table of Data Matrix ECC 200 Symbol Attributes: + *
  • SHAPE
      + *
    • total matrix rows (including finder pattern)
    • + *
    • total matrix cols (including finder pattern)
    • + *
    • total matrix rows (without finder pattern)
    • + *
    • total matrix cols (without finder pattern)
    • + *
    • region data rows (with finder pattern)
    • + *
    • region data col (with finder pattern)
    • + *
    • region data rows (without finder pattern)
    • + *
    • region data col (without finder pattern)
    • + *
    • horizontal regions
    • + *
    • vertical regions
    • + *
    • regions
    • + *
    • data codewords
    • + *
    • error codewords
    • + *
    • blocks
    • + *
    • data codewords per block
    • + *
    • error codewords per block
    • + *
+ * + * @var array> + */ + public const SYMBATTR = [ + 'S' => [ + // square form + // 10x10 + [ + 0x00a, + 0x00a, + 0x008, + 0x008, + 0x00a, + 0x00a, + 0x008, + 0x008, + 0x001, + 0x001, + 0x001, + 0x003, + 0x005, + 0x001, + 0x003, + 0x005, + ], + // 12x12 + [ + 0x00c, + 0x00c, + 0x00a, + 0x00a, + 0x00c, + 0x00c, + 0x00a, + 0x00a, + 0x001, + 0x001, + 0x001, + 0x005, + 0x007, + 0x001, + 0x005, + 0x007, + ], + // 14x14 + [ + 0x00e, + 0x00e, + 0x00c, + 0x00c, + 0x00e, + 0x00e, + 0x00c, + 0x00c, + 0x001, + 0x001, + 0x001, + 0x008, + 0x00a, + 0x001, + 0x008, + 0x00a, + ], + // 16x16 + [ + 0x010, + 0x010, + 0x00e, + 0x00e, + 0x010, + 0x010, + 0x00e, + 0x00e, + 0x001, + 0x001, + 0x001, + 0x00c, + 0x00c, + 0x001, + 0x00c, + 0x00c, + ], + // 18x18 + [ + 0x012, + 0x012, + 0x010, + 0x010, + 0x012, + 0x012, + 0x010, + 0x010, + 0x001, + 0x001, + 0x001, + 0x012, + 0x00e, + 0x001, + 0x012, + 0x00e, + ], + // 20x20 + [ + 0x014, + 0x014, + 0x012, + 0x012, + 0x014, + 0x014, + 0x012, + 0x012, + 0x001, + 0x001, + 0x001, + 0x016, + 0x012, + 0x001, + 0x016, + 0x012, + ], + // 22x22 + [ + 0x016, + 0x016, + 0x014, + 0x014, + 0x016, + 0x016, + 0x014, + 0x014, + 0x001, + 0x001, + 0x001, + 0x01e, + 0x014, + 0x001, + 0x01e, + 0x014, + ], + // 24x24 + [ + 0x018, + 0x018, + 0x016, + 0x016, + 0x018, + 0x018, + 0x016, + 0x016, + 0x001, + 0x001, + 0x001, + 0x024, + 0x018, + 0x001, + 0x024, + 0x018, + ], + // 26x26 + [ + 0x01a, + 0x01a, + 0x018, + 0x018, + 0x01a, + 0x01a, + 0x018, + 0x018, + 0x001, + 0x001, + 0x001, + 0x02c, + 0x01c, + 0x001, + 0x02c, + 0x01c, + ], + // 32x32 + [ + 0x020, + 0x020, + 0x01c, + 0x01c, + 0x010, + 0x010, + 0x00e, + 0x00e, + 0x002, + 0x002, + 0x004, + 0x03e, + 0x024, + 0x001, + 0x03e, + 0x024, + ], + // 36x36 + [ + 0x024, + 0x024, + 0x020, + 0x020, + 0x012, + 0x012, + 0x010, + 0x010, + 0x002, + 0x002, + 0x004, + 0x056, + 0x02a, + 0x001, + 0x056, + 0x02a, + ], + // 40x40 + [ + 0x028, + 0x028, + 0x024, + 0x024, + 0x014, + 0x014, + 0x012, + 0x012, + 0x002, + 0x002, + 0x004, + 0x072, + 0x030, + 0x001, + 0x072, + 0x030, + ], + // 44x44 + [ + 0x02c, + 0x02c, + 0x028, + 0x028, + 0x016, + 0x016, + 0x014, + 0x014, + 0x002, + 0x002, + 0x004, + 0x090, + 0x038, + 0x001, + 0x090, + 0x038, + ], + // 48x48 + [ + 0x030, + 0x030, + 0x02c, + 0x02c, + 0x018, + 0x018, + 0x016, + 0x016, + 0x002, + 0x002, + 0x004, + 0x0ae, + 0x044, + 0x001, + 0x0ae, + 0x044, + ], + // 52x52 + [ + 0x034, + 0x034, + 0x030, + 0x030, + 0x01a, + 0x01a, + 0x018, + 0x018, + 0x002, + 0x002, + 0x004, + 0x0cc, + 0x054, + 0x002, + 0x066, + 0x02a, + ], + // 64x64 + [ + 0x040, + 0x040, + 0x038, + 0x038, + 0x010, + 0x010, + 0x00e, + 0x00e, + 0x004, + 0x004, + 0x010, + 0x118, + 0x070, + 0x002, + 0x08c, + 0x038, + ], + // 72x72 + [ + 0x048, + 0x048, + 0x040, + 0x040, + 0x012, + 0x012, + 0x010, + 0x010, + 0x004, + 0x004, + 0x010, + 0x170, + 0x090, + 0x004, + 0x05c, + 0x024, + ], + // 80x80 + [ + 0x050, + 0x050, + 0x048, + 0x048, + 0x014, + 0x014, + 0x012, + 0x012, + 0x004, + 0x004, + 0x010, + 0x1c8, + 0x0c0, + 0x004, + 0x072, + 0x030, + ], + // 88x88 + [ + 0x058, + 0x058, + 0x050, + 0x050, + 0x016, + 0x016, + 0x014, + 0x014, + 0x004, + 0x004, + 0x010, + 0x240, + 0x0e0, + 0x004, + 0x090, + 0x038, + ], + // 96x96 + [ + 0x060, + 0x060, + 0x058, + 0x058, + 0x018, + 0x018, + 0x016, + 0x016, + 0x004, + 0x004, + 0x010, + 0x2b8, + 0x110, + 0x004, + 0x0ae, + 0x044, + ], + // 104x104 + [ + 0x068, + 0x068, + 0x060, + 0x060, + 0x01a, + 0x01a, + 0x018, + 0x018, + 0x004, + 0x004, + 0x010, + 0x330, + 0x150, + 0x006, + 0x088, + 0x038, + ], + // 120x120 + [ + 0x078, + 0x078, + 0x06c, + 0x06c, + 0x014, + 0x014, + 0x012, + 0x012, + 0x006, + 0x006, + 0x024, + 0x41a, + 0x198, + 0x006, + 0x0af, + 0x044, + ], + // 132x132 + [ + 0x084, + 0x084, + 0x078, + 0x078, + 0x016, + 0x016, + 0x014, + 0x014, + 0x006, + 0x006, + 0x024, + 0x518, + 0x1f0, + 0x008, + 0x0a3, + 0x03e, + ], + // 144x144 + [ + 0x090, + 0x090, + 0x084, + 0x084, + 0x018, + 0x018, + 0x016, + 0x016, + 0x006, + 0x006, + 0x024, + 0x618, + 0x26c, + 0x00a, + 0x09c, + 0x03e, + ], + ], + 'R' => [ + // rectangular form + // 8x18 + [ + 0x008, + 0x012, + 0x006, + 0x010, + 0x008, + 0x012, + 0x006, + 0x010, + 0x001, + 0x001, + 0x001, + 0x005, + 0x007, + 0x001, + 0x005, + 0x007, + ], + // 8x32 + [ + 0x008, + 0x020, + 0x006, + 0x01c, + 0x008, + 0x010, + 0x006, + 0x00e, + 0x001, + 0x002, + 0x002, + 0x00a, + 0x00b, + 0x001, + 0x00a, + 0x00b, + ], + // 12x26 + [ + 0x00c, + 0x01a, + 0x00a, + 0x018, + 0x00c, + 0x01a, + 0x00a, + 0x018, + 0x001, + 0x001, + 0x001, + 0x010, + 0x00e, + 0x001, + 0x010, + 0x00e, + ], + // 12x36 + [ + 0x00c, + 0x024, + 0x00a, + 0x020, + 0x00c, + 0x012, + 0x00a, + 0x010, + 0x001, + 0x002, + 0x002, + 0x00c, + 0x012, + 0x001, + 0x00c, + 0x012, + ], + // 16x36 + [ + 0x010, + 0x024, + 0x00e, + 0x020, + 0x010, + 0x012, + 0x00e, + 0x010, + 0x001, + 0x002, + 0x002, + 0x020, + 0x018, + 0x001, + 0x020, + 0x018, + ], + // 16x48 + [ + 0x010, + 0x030, + 0x00e, + 0x02c, + 0x010, + 0x018, + 0x00e, + 0x016, + 0x001, + 0x002, + 0x002, + 0x031, + 0x01c, + 0x001, + 0x031, + 0x01c, + ], + ], + ]; + + /** + * Map encodation modes whit character sets. + * + * @var array + */ + public const CHSET_ID = [ + self::ENC_C40 => 'C40', + self::ENC_TXT => 'TXT', + self::ENC_X12 => 'X12', + ]; + + /** + * Basic set of characters for each encodation mode. + * + * @var array> + */ + public const CHSET = [ + 'C40' => [ + // Basic set for C40 + 'S1' => 0x00, + 'S2' => 0x01, + 'S3' => 0x02, + 0x20 => 0x03, + 0x30 => 0x04, + 0x31 => 0x05, + 0x32 => 0x06, + 0x33 => 0x07, + 0x34 => 0x08, + 0x35 => 0x09, + 0x36 => 0x0a, + 0x37 => 0x0b, + 0x38 => 0x0c, + 0x39 => 0x0d, + 0x41 => 0x0e, + 0x42 => 0x0f, + 0x43 => 0x10, + 0x44 => 0x11, + 0x45 => 0x12, + 0x46 => 0x13, + 0x47 => 0x14, + 0x48 => 0x15, + 0x49 => 0x16, + 0x4a => 0x17, + 0x4b => 0x18, + 0x4c => 0x19, + 0x4d => 0x1a, + 0x4e => 0x1b, + 0x4f => 0x1c, + 0x50 => 0x1d, + 0x51 => 0x1e, + 0x52 => 0x1f, + 0x53 => 0x20, + 0x54 => 0x21, + 0x55 => 0x22, + 0x56 => 0x23, + 0x57 => 0x24, + 0x58 => 0x25, + 0x59 => 0x26, + 0x5a => 0x27, + ], + 'TXT' => [ + // Basic set for TEXT + 'S1' => 0x00, + 'S2' => 0x01, + 'S3' => 0x02, + 0x20 => 0x03, + 0x30 => 0x04, + 0x31 => 0x05, + 0x32 => 0x06, + 0x33 => 0x07, + 0x34 => 0x08, + 0x35 => 0x09, + 0x36 => 0x0a, + 0x37 => 0x0b, + 0x38 => 0x0c, + 0x39 => 0x0d, + 0x61 => 0x0e, + 0x62 => 0x0f, + 0x63 => 0x10, + 0x64 => 0x11, + 0x65 => 0x12, + 0x66 => 0x13, + 0x67 => 0x14, + 0x68 => 0x15, + 0x69 => 0x16, + 0x6a => 0x17, + 0x6b => 0x18, + 0x6c => 0x19, + 0x6d => 0x1a, + 0x6e => 0x1b, + 0x6f => 0x1c, + 0x70 => 0x1d, + 0x71 => 0x1e, + 0x72 => 0x1f, + 0x73 => 0x20, + 0x74 => 0x21, + 0x75 => 0x22, + 0x76 => 0x23, + 0x77 => 0x24, + 0x78 => 0x25, + 0x79 => 0x26, + 0x7a => 0x27, + ], + 'SH1' => [ + // Shift 1 set + 0x00 => 0x00, + 0x01 => 0x01, + 0x02 => 0x02, + 0x03 => 0x03, + 0x04 => 0x04, + 0x05 => 0x05, + 0x06 => 0x06, + 0x07 => 0x07, + 0x08 => 0x08, + 0x09 => 0x09, + 0x0a => 0x0a, + 0x0b => 0x0b, + 0x0c => 0x0c, + 0x0d => 0x0d, + 0x0e => 0x0e, + 0x0f => 0x0f, + 0x10 => 0x10, + 0x11 => 0x11, + 0x12 => 0x12, + 0x13 => 0x13, + 0x14 => 0x14, + 0x15 => 0x15, + 0x16 => 0x16, + 0x17 => 0x17, + 0x18 => 0x18, + 0x19 => 0x19, + 0x1a => 0x1a, + 0x1b => 0x1b, + 0x1c => 0x1c, + 0x1d => 0x1d, + 0x1e => 0x1e, + 0x1f => 0x1f, + ], + 'SH2' => [ + // Shift 2 set + 0x21 => 0x00, + 0x22 => 0x01, + 0x23 => 0x02, + 0x24 => 0x03, + 0x25 => 0x04, + 0x26 => 0x05, + 0x27 => 0x06, + 0x28 => 0x07, + 0x29 => 0x08, + 0x2a => 0x09, + 0x2b => 0x0a, + 0x2c => 0x0b, + 0x2d => 0x0c, + 0x2e => 0x0d, + 0x2f => 0x0e, + 0x3a => 0x0f, + 0x3b => 0x10, + 0x3c => 0x11, + 0x3d => 0x12, + 0x3e => 0x13, + 0x3f => 0x14, + 0x40 => 0x15, + 0x5b => 0x16, + 0x5c => 0x17, + 0x5d => 0x18, + 0x5e => 0x19, + 0x5f => 0x1a, + 'F1' => 0x1b, + 'US' => 0x1e, + ], + 'S3C' => [ + // Shift 3 set for C40 + 0x60 => 0x00, + 0x61 => 0x01, + 0x62 => 0x02, + 0x63 => 0x03, + 0x64 => 0x04, + 0x65 => 0x05, + 0x66 => 0x06, + 0x67 => 0x07, + 0x68 => 0x08, + 0x69 => 0x09, + 0x6a => 0x0a, + 0x6b => 0x0b, + 0x6c => 0x0c, + 0x6d => 0x0d, + 0x6e => 0x0e, + 0x6f => 0x0f, + 0x70 => 0x10, + 0x71 => 0x11, + 0x72 => 0x12, + 0x73 => 0x13, + 0x74 => 0x14, + 0x75 => 0x15, + 0x76 => 0x16, + 0x77 => 0x17, + 0x78 => 0x18, + 0x79 => 0x19, + 0x7a => 0x1a, + 0x7b => 0x1b, + 0x7c => 0x1c, + 0x7d => 0x1d, + 0x7e => 0x1e, + 0x7f => 0x1f, + ], + 'S3T' => [ + // Shift 3 set for TEXT + 0x60 => 0x00, + 0x41 => 0x01, + 0x42 => 0x02, + 0x43 => 0x03, + 0x44 => 0x04, + 0x45 => 0x05, + 0x46 => 0x06, + 0x47 => 0x07, + 0x48 => 0x08, + 0x49 => 0x09, + 0x4a => 0x0a, + 0x4b => 0x0b, + 0x4c => 0x0c, + 0x4d => 0x0d, + 0x4e => 0x0e, + 0x4f => 0x0f, + 0x50 => 0x10, + 0x51 => 0x11, + 0x52 => 0x12, + 0x53 => 0x13, + 0x54 => 0x14, + 0x55 => 0x15, + 0x56 => 0x16, + 0x57 => 0x17, + 0x58 => 0x18, + 0x59 => 0x19, + 0x5a => 0x1a, + 0x7b => 0x1b, + 0x7c => 0x1c, + 0x7d => 0x1d, + 0x7e => 0x1e, + 0x7f => 0x1f, + ], + 'X12' => [ + // Set for X12 + 0x0d => 0x00, + 0x2a => 0x01, + 0x3e => 0x02, + 0x20 => 0x03, + 0x30 => 0x04, + 0x31 => 0x05, + 0x32 => 0x06, + 0x33 => 0x07, + 0x34 => 0x08, + 0x35 => 0x09, + 0x36 => 0x0a, + 0x37 => 0x0b, + 0x38 => 0x0c, + 0x39 => 0x0d, + 0x41 => 0x0e, + 0x42 => 0x0f, + 0x43 => 0x10, + 0x44 => 0x11, + 0x45 => 0x12, + 0x46 => 0x13, + 0x47 => 0x14, + 0x48 => 0x15, + 0x49 => 0x16, + 0x4a => 0x17, + 0x4b => 0x18, + 0x4c => 0x19, + 0x4d => 0x1a, + 0x4e => 0x1b, + 0x4f => 0x1c, + 0x50 => 0x1d, + 0x51 => 0x1e, + 0x52 => 0x1f, + 0x53 => 0x20, + 0x54 => 0x21, + 0x55 => 0x22, + 0x56 => 0x23, + 0x57 => 0x24, + 0x58 => 0x25, + 0x59 => 0x26, + 0x5a => 0x27, + ], + ]; + + /** + * Get the required codewords padding size + * + * @param string $shape Shape. + * @param int $ncw Number of codewords. + * + * @return array{int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int} + * + * @throws BarcodeException in case of error + */ + public static function getPaddingSize(string $shape, int $ncw): array + { + foreach (Data::SYMBATTR[$shape] as $params) { + if ($params[11] >= $ncw) { + return $params; + } + } + + throw new BarcodeException('Unable to find the correct size'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Encode.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Encode.php new file mode 100644 index 0000000..bf97866 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Encode.php @@ -0,0 +1,286 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\Encode + * + * Datamatrix Barcode type class + * DATAMATRIX (ISO/IEC 16022) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Encode extends \Com\Tecnick\Barcode\Type\Square\Datamatrix\EncodeTxt +{ + /** + * Initialize a new encode object + * + * @param string $shape Datamatrix shape key (S=square, R=rectangular) + */ + public function __construct(string $shape = 'S') + { + $this->shape = $shape; + } + + /** + * Encode ASCII + * + * @param array $cdw Codewords array + * @param int $cdw_num Codewords number + * @param int $pos Current position + * @param int $data_length Data length + * @param string $data Data string + * @param int $enc Current encoding + */ + public function encodeASCII( + array &$cdw, + int &$cdw_num, + int &$pos, + int &$data_length, + string &$data, + int &$enc + ): void { + if ( + ($data_length > 1) + && ($pos < ($data_length - 1)) + && ( + $this->isCharMode(ord($data[$pos]), Data::ENC_ASCII_NUM) + && $this->isCharMode(ord($data[$pos + 1]), Data::ENC_ASCII_NUM) + ) + ) { + // 1. If the next data sequence is at least 2 consecutive digits, + // encode the next two digits as a double digit in ASCII mode. + $cdw[] = ((int) substr($data, $pos, 2) + 130); + ++$cdw_num; + $pos += 2; + } else { + // 2. If the look-ahead test (starting at step J) indicates another mode, switch to that mode. + $newenc = $this->lookAheadTest($data, $pos, $enc); + if ($newenc !== $enc) { + // switch to new encoding + $enc = $newenc; + $cdw[] = $this->getSwitchEncodingCodeword($enc); + ++$cdw_num; + } else { + // get new byte + $chr = ord($data[$pos]); + ++$pos; + if ($this->isCharMode($chr, Data::ENC_ASCII_EXT)) { + // 3. If the next data character is extended ASCII (greater than 127) + // encode it in ASCII mode first using the Upper Shift (value 235) character. + $cdw[] = 235; + $cdw[] = ($chr - 127); + $cdw_num += 2; + } else { + // 4. Otherwise process the next data character in ASCII encodation. + $cdw[] = ($chr + 1); + ++$cdw_num; + } + } + } + } + + /** + * Encode EDF4 + * + * @param int $epos Current position + * @param array $cdw Codewords array + * @param int $cdw_num Codewords number + * @param int $pos Current position + * @param int $data_length Data length + * @param int $field_length Field length + * @param int $enc Current encoding + * @param array $temp_cw Temporary codewords array + * + * @return bool true to break the loop + */ + public function encodeEDFfour( + int $epos, + array &$cdw, + int &$cdw_num, + int &$pos, + int &$data_length, + int &$field_length, + int &$enc, + array &$temp_cw + ): bool { + if (($epos === $data_length)) { + $enc = Data::ENC_ASCII; + $params = Data::getPaddingSize($this->shape, ($cdw_num + $field_length)); + if (($params[11] - $cdw_num) > 2) { + $cdw[] = $this->getSwitchEncodingCodeword($enc); + ++$cdw_num; + } + + return true; + } + + if ($field_length < 4) { + $enc = Data::ENC_ASCII; + $this->last_enc = $enc; + $params = Data::getPaddingSize($this->shape, ($cdw_num + $field_length + ($data_length - $epos))); + if (($params[11] - $cdw_num) > 2) { + // set unlatch character + $temp_cw[] = 0x1f; + ++$field_length; + // fill empty characters + for ($i = $field_length; $i < 4; ++$i) { + $temp_cw[] = 0; + } + } else { + return true; + } + } + + // encodes four data characters in three codewords + $cdw[] = (($temp_cw[0] & 0x3F) << 2) + (($temp_cw[1] & 0x30) >> 4); + ++$cdw_num; + if ($field_length > 1) { + $cdw[] = (($temp_cw[1] & 0x0F) << 4) + (($temp_cw[2] & 0x3C) >> 2); + ++$cdw_num; + } + + if ($field_length > 2) { + $cdw[] = (($temp_cw[2] & 0x03) << 6) + ($temp_cw[3] & 0x3F); + ++$cdw_num; + } + + $temp_cw = []; + $pos = $epos; + $field_length = 0; + if ($enc == Data::ENC_ASCII) { + return true; // exit from EDIFACT mode + } + + return false; + } + + /** + * Encode EDF + * + * @param array $cdw Codewords array + * @param int $cdw_num Codewords number + * @param int $pos Current position + * @param int $data_length Data length + * @param int $field_length Field length + * @param string $data Data string + * @param int $enc Current encoding + */ + public function encodeEDF( + array &$cdw, + int &$cdw_num, + int &$pos, + int &$data_length, + int &$field_length, + string &$data, + int &$enc + ): void { + // initialize temporary array with 0 length + $temp_cw = []; + $epos = $pos; + $field_length = 0; + do { + // 2. process the next character in EDIFACT encodation. + $chr = ord($data[$epos]); + if ($this->isCharMode($chr, Data::ENC_EDF)) { + ++$epos; + $temp_cw[] = $chr; + ++$field_length; + } + + if ( + (($field_length == 4) + || ($epos == $data_length) + || ! $this->isCharMode($chr, Data::ENC_EDF)) + && $this->encodeEDFfour( + $epos, + $cdw, + $cdw_num, + $pos, + $data_length, + $field_length, + $enc, + $temp_cw + ) + ) { + break; + } + } while ($epos < $data_length); + } + + /** + * Encode Base256 + * + * @param array $cdw Codewords array + * @param int $cdw_num Codewords number + * @param int $pos Current position + * @param int $data_length Data length + * @param int $field_length Field length + * @param string $data Data string + * @param int $enc Current encoding + */ + public function encodeBase256( + array &$cdw, + int &$cdw_num, + int &$pos, + int &$data_length, + int &$field_length, + string &$data, + int &$enc + ): void { + // initialize temporary array with 0 length + $temp_cw = []; + $field_length = 0; + while (($pos < $data_length) && ($field_length <= 1555)) { + $newenc = $this->lookAheadTest($data, $pos, $enc); + if ($newenc !== $enc) { + // 1. If the look-ahead test (starting at step J) + // indicates another mode, switch to that mode. + $enc = $newenc; + break; // exit from B256 mode + } else { + // 2. Otherwise, process the next character in Base 256 encodation. + $chr = ord($data[$pos]); + ++$pos; + $temp_cw[] = $chr; + ++$field_length; + } + } + + // set field length + if ($field_length <= 249) { + $cdw[] = $this->get255StateCodeword($field_length, ($cdw_num + 1)); + ++$cdw_num; + } else { + $cdw[] = $this->get255StateCodeword(((int) floor($field_length / 250) + 249), ($cdw_num + 1)); + $cdw[] = $this->get255StateCodeword(($field_length % 250), ($cdw_num + 2)); + $cdw_num += 2; + } + + // add B256 field + foreach ($temp_cw as $cht) { + $cdw[] = $this->get255StateCodeword($cht, ($cdw_num + 1)); + ++$cdw_num; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/EncodeTxt.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/EncodeTxt.php new file mode 100644 index 0000000..83eea8d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/EncodeTxt.php @@ -0,0 +1,240 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\Encodetxt + * + * Datamatrix Barcode type class + * DATAMATRIX (ISO/IEC 16022) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EncodeTxt extends \Com\Tecnick\Barcode\Type\Square\Datamatrix\Steps +{ + /** + * Encode TXTC40 shift + * + * @param int $chr Character code + * @param int $enc Current encoding + * @param array $temp_cw Temporary codewords array + * @param int $ptr Pointer + */ + public function encodeTXTC40shift( + int &$chr, + int &$enc, + array &$temp_cw, + int &$ptr + ): void { + if (isset(Data::CHSET['SH1'][$chr])) { + $temp_cw[] = 0; // shift 1 + $shiftset = Data::CHSET['SH1']; + } elseif (isset(Data::CHSET['SH2'][$chr])) { + $temp_cw[] = 1; // shift 2 + $shiftset = Data::CHSET['SH2']; + } elseif (($enc == Data::ENC_C40) && isset(Data::CHSET['S3C'][$chr])) { + $temp_cw[] = 2; // shift 3 + $shiftset = Data::CHSET['S3C']; + } elseif (($enc == Data::ENC_TXT) && isset(Data::CHSET['S3T'][$chr])) { + $temp_cw[] = 2; // shift 3 + $shiftset = Data::CHSET['S3T']; + } else { + throw new BarcodeException('Error'); + } + + $temp_cw[] = $shiftset[$chr]; + $ptr += 2; + } + + /** + * Encode TXTC40 + * + * @param string $data Data string + * @param int $enc Current encoding + * @param array $temp_cw Temporary codewords array + * @param int $ptr Pointer + * @param int $epos End position + * @param array $charset Charset array + * + * @return int Curent character code + */ + public function encodeTXTC40( + string &$data, + int &$enc, + array &$temp_cw, + int &$ptr, + int &$epos, + array &$charset + ): int { + // 2. process the next character in C40 encodation. + $chr = ord($data[$epos]); + ++$epos; + // check for extended character + if (($chr & 0x80) !== 0) { + if ($enc == Data::ENC_X12) { + throw new BarcodeException('TXTC40 Error'); + } + + $chr &= 0x7f; + $temp_cw[] = 1; // shift 2 + $temp_cw[] = 30; // upper shift + $ptr += 2; + } + + if (isset($charset[$chr])) { + $temp_cw[] = $charset[$chr]; + ++$ptr; + } else { + $this->encodeTXTC40shift($chr, $enc, $temp_cw, $ptr); + } + + return $chr; + } + + /** + * Encode TXTC40 last + * The following rules apply when only one or two symbol characters remain in the symbol + * before the start of the error correction codewords. + * + * @param int $chr Character code + * @param array $cdw Codewords array + * @param int $cdw_num Codewords number + * @param int $enc Current encoding + * @param array $temp_cw Temporary codewords array + * @param int $ptr Pointer + * @param int $epos End position + */ + public function encodeTXTC40last( + int $chr, + array &$cdw, + int &$cdw_num, + int &$enc, + array &$temp_cw, + int &$ptr, + int &$epos + ): void { + // get remaining number of data symbols + $cdwr = ($this->getMaxDataCodewords($cdw_num + $ptr) - $cdw_num); + if (($cdwr == 1) && ($ptr == 1)) { + // d. If one symbol character remains and one + // C40 value (data character) remains to be encoded + $cdw[] = ($chr + 1); + ++$cdw_num; + $enc = Data::ENC_ASCII; + $this->last_enc = $enc; + } elseif (($cdwr == 2) && ($ptr == 1)) { + // c. If two symbol characters remain and only one + // C40 value (data character) remains to be encoded + $cdw[] = 254; + $cdw[] = ($chr + 1); + $cdw_num += 2; + $enc = Data::ENC_ASCII; + $this->last_enc = $enc; + } elseif (($cdwr == 2) && ($ptr == 2)) { + // b. If two symbol characters remain and two C40 values remain to be encoded + $ch1 = array_shift($temp_cw); + $ch2 = array_shift($temp_cw); + $ptr -= 2; + $tmp = ((1600 * $ch1) + (40 * $ch2) + 1); + $cdw[] = ($tmp >> 8); + $cdw[] = ($tmp % 256); + $cdw_num += 2; + $enc = Data::ENC_ASCII; + $this->last_enc = $enc; + } elseif ($enc != Data::ENC_ASCII) { + // switch to ASCII encoding + $enc = Data::ENC_ASCII; + $this->last_enc = $enc; + $cdw[] = $this->getSwitchEncodingCodeword($enc); + ++$cdw_num; + $epos -= $ptr; + } + } + + /** + * Encode TXT + * + * @param array $cdw Codewords array + * @param int $cdw_num Codewords number + * @param int $pos Current position + * @param int $data_length Data length + * @param string $data Data string + * @param int $enc Current encoding + */ + public function encodeTXT( + array &$cdw, + int &$cdw_num, + int &$pos, + int &$data_length, + string &$data, + int &$enc + ): void { + $temp_cw = []; + $ptr = 0; + $epos = $pos; + // get charset ID + $set_id = Data::CHSET_ID[$enc]; + // get basic charset for current encoding + $charset = Data::CHSET[$set_id]; + do { + $chr = $this->encodeTXTC40($data, $enc, $temp_cw, $ptr, $epos, $charset); + if ($ptr >= 3) { + $ch1 = array_shift($temp_cw); + $ch2 = array_shift($temp_cw); + $ch3 = array_shift($temp_cw); + $ptr -= 3; + $tmp = ((1600 * $ch1) + (40 * $ch2) + $ch3 + 1); + $cdw[] = ($tmp >> 8); + $cdw[] = ($tmp % 256); + $cdw_num += 2; + $pos = $epos; + // 1. If the C40 encoding is at the point of starting a new double symbol character and + // if the look-ahead test (starting at step J) indicates another mode, switch to that mode. + $newenc = $this->lookAheadTest($data, $pos, $enc); + if ($newenc != $enc) { + // switch to new encoding + $enc = $newenc; + if ($enc != Data::ENC_ASCII) { + // set unlatch character + $cdw[] = $this->getSwitchEncodingCodeword(Data::ENC_ASCII); + ++$cdw_num; + } + + $cdw[] = $this->getSwitchEncodingCodeword($enc); + ++$cdw_num; + $pos -= $ptr; + $ptr = 0; + break; + } + } + } while (($ptr > 0) && ($epos < $data_length)); + + // process last data (if any) + if ($ptr > 0) { + $this->encodeTXTC40last($chr, $cdw, $cdw_num, $enc, $temp_cw, $ptr, $epos); + $pos = $epos; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/ErrorCorrection.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/ErrorCorrection.php new file mode 100644 index 0000000..d0bad19 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/ErrorCorrection.php @@ -0,0 +1,158 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\ErrorCorrection + * + * Error correction methods and other utilities for Datamatrix Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class ErrorCorrection +{ + /** + * Product of two numbers in a Power-of-Two Galois Field + * + * @param int $numa First number to multiply. + * @param int $numb Second number to multiply. + * @param array $log Log table. + * @param array $alog Anti-Log table. + * @param int $ngf Number of Factors of the Reed-Solomon polynomial. + * + * @return int product + */ + protected function getGFProduct( + int $numa, + int $numb, + array $log, + array $alog, + int $ngf + ): int { + if (($numa == 0) || ($numb == 0)) { + return 0; + } + + return ($alog[($log[$numa] + $log[$numb]) % ($ngf - 1)]); + } + + /** + * Add error correction codewords to data codewords array (ANNEX E). + * + * @param array $wdc Array of datacodewords. + * @param int $nbk Number of blocks. + * @param int $ncw Number of data codewords per block. + * @param int $ncc Number of correction codewords per block. + * @param int $ngf Number of fields on log/antilog table (power of 2). + * @param int $vpp The value of its prime modulus polynomial (301 for ECC200). + * + * @return array data codewords + error codewords + */ + public function getErrorCorrection( + array $wdc, + int $nbk, + int $ncw, + int $ncc, + int $ngf = 256, + int $vpp = 301 + ): array { + // generate the log ($log) and antilog ($alog) tables + $log = [0]; + $alog = [1]; + $this->genLogs($log, $alog, $ngf, $vpp); + + // generate the polynomial coefficients (c) + $plc = array_fill(0, ($ncc + 1), 0); + $plc[0] = 1; + for ($i = 1; $i <= $ncc; ++$i) { + $plc[$i] = $plc[($i - 1)]; + for ($j = ($i - 1); $j >= 1; --$j) { + $plc[$j] = $plc[($j - 1)] ^ $this->getGFProduct($plc[$j], $alog[$i], $log, $alog, $ngf); + } + + $plc[0] = $this->getGFProduct($plc[0], $alog[$i], $log, $alog, $ngf); + } + + ksort($plc); + + // total number of data codewords + $num_wd = ($nbk * $ncw); + // total number of error codewords + $num_we = ($nbk * $ncc); + // for each block + for ($b = 0; $b < $nbk; ++$b) { + // create interleaved data block + $block = []; + for ($n = $b; $n < $num_wd; $n += $nbk) { + $block[] = $wdc[$n]; + } + + // initialize error codewords + $wec = array_fill(0, ($ncc + 1), 0); + // calculate error correction codewords for this block + for ($i = 0; $i < $ncw; ++$i) { + $ker = ($wec[0] ^ $block[$i]); + for ($j = 0; $j < $ncc; ++$j) { + $wec[$j] = ($wec[($j + 1)] ^ $this->getGFProduct($ker, $plc[($ncc - $j - 1)], $log, $alog, $ngf)); + } + } + + // add error codewords at the end of data codewords + $j = 0; + for ($i = $b; $i < $num_we; $i += $nbk) { + $wdc[($num_wd + $i)] = $wec[$j]; + ++$j; + } + } + + // reorder codewords + ksort($wdc); + return $wdc; + } + + /** + * Generate the log ($log) and antilog ($alog) tables + * + * @param array $log Log table + * @param array $alog Anti-Log table + * @param int $ngf Number of fields on log/antilog table (power of 2). + * @param int $vpp The value of its prime modulus polynomial (301 for ECC200). + */ + protected function genLogs( + array &$log, + array &$alog, + int $ngf, + int $vpp + ): void { + for ($i = 1; $i < $ngf; ++$i) { + $alog[$i] = ($alog[($i - 1)] * 2); + if ($alog[$i] >= $ngf) { + $alog[$i] ^= $vpp; + } + + $log[$alog[$i]] = $i; + } + + ksort($log); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Modes.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Modes.php new file mode 100644 index 0000000..a659089 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Modes.php @@ -0,0 +1,224 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\Modes + * + * Modes for Datamatrix Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Modes extends \Com\Tecnick\Barcode\Type\Square\Datamatrix\Placement +{ + /** + * Store last used encoding for data codewords. + */ + public int $last_enc; + + /** + * Datamatrix shape key (S=square, R=rectangular) + */ + public string $shape; + + /** + * Return the 253-state codeword + * + * @param int $cdwpad Pad codeword. + * @param int $cdwpos Number of data codewords from the beginning of encoded data. + */ + public function get253StateCodeword(int $cdwpad, int $cdwpos): int + { + $pad = ($cdwpad + (((149 * $cdwpos) % 253) + 1)); + if ($pad > 254) { + $pad -= 254; + } + + return $pad; + } + + /** + * Return the 255-state codeword + * + * @param int $cdwpad Pad codeword. + * @param int $cdwpos Number of data codewords from the beginning of encoded data. + * + * @return int pad codeword + */ + protected function get255StateCodeword(int $cdwpad, int $cdwpos): int + { + $pad = ($cdwpad + (((149 * $cdwpos) % 255) + 1)); + if ($pad > 255) { + $pad -= 256; + } + + return $pad; + } + + /** + * Returns true if the char belongs to the selected mode + * + * @param int $chr Character (byte) to check. + * @param int $mode Current encoding mode. + * + * @return bool true if the char is of the selected mode. + */ + protected function isCharMode(int $chr, int $mode): bool + { + $ret = match ($mode) { + //Data::ENC_ASCII => 'isASCIIMode', + Data::ENC_C40 => $this->isC40Mode($chr), + Data::ENC_TXT => $this->isTXTMode($chr), + Data::ENC_X12 => $this->isX12Mode($chr), + Data::ENC_EDF => $this->isEDFMode($chr), + Data::ENC_BASE256 => $this->isBASE256Mode($chr), + Data::ENC_ASCII_EXT => $this->isASCIIEXTMode($chr), + Data::ENC_ASCII_NUM => $this->isASCIINUMMode($chr), + default => false, + }; + + return $ret; + } + + ///** + // * Tell if char is ASCII character 0 to 127 + // * + // * @param int $chr Character (byte) to check. + // * + // * @return bool + // */ + //protected function isASCIIMode(int $chr): bool + //{ + // return (($chr >= 0) && ($chr <= 127)); + //} + /** + * Tell if char is Upper-case alphanumeric + * + * @param int $chr Character (byte) to check. + */ + protected function isC40Mode(int $chr): bool + { + return (($chr == 32) || (($chr >= 48) && ($chr <= 57)) || (($chr >= 65) && ($chr <= 90))); + } + + /** + * Tell if char is Lower-case alphanumeric + * + * @param int $chr Character (byte) to check. + */ + protected function isTXTMode(int $chr): bool + { + return (($chr == 32) || (($chr >= 48) && ($chr <= 57)) || (($chr >= 97) && ($chr <= 122))); + } + + /** + * Tell if char is ANSI X12 + * + * @param int $chr Character (byte) to check. + */ + protected function isX12Mode(int $chr): bool + { + return (($chr == 13) || ($chr == 42) || ($chr == 62)); + } + + /** + * Tell if char is ASCII character 32 to 94 + * + * @param int $chr Character (byte) to check. + */ + protected function isEDFMode(int $chr): bool + { + return (($chr >= 32) && ($chr <= 94)); + } + + /** + * Tell if char is Function character (FNC1, Structured Append, Reader Program, or Code Page) + * + * @param int $chr Character (byte) to check. + */ + protected function isBASE256Mode(int $chr): bool + { + return (($chr == 232) || ($chr == 233) || ($chr == 234) || ($chr == 241)); + } + + /** + * Tell if char is ASCII character 128 to 255 + * + * @param int $chr Character (byte) to check. + */ + protected function isASCIIEXTMode(int $chr): bool + { + return (($chr >= 128) && ($chr <= 255)); + } + + /** + * Tell if char is ASCII digits + * + * @param int $chr Character (byte) to check. + */ + protected function isASCIINUMMode(int $chr): bool + { + return (($chr >= 48) && ($chr <= 57)); + } + + /** + * Choose the minimum matrix size and return the max number of data codewords. + * + * @param int $numcw Number of current codewords. + * + * @return int number of data codewords in matrix + */ + protected function getMaxDataCodewords(int $numcw): int + { + $mdc = 0; + foreach (Data::SYMBATTR[$this->shape] as $matrix) { + if ($matrix[11] >= $numcw) { + $mdc = $matrix[11]; + break; + } + } + + return $mdc; + } + + /** + * Get the switching codeword to a new encoding mode (latch codeword) + * + * @param int $mode New encoding mode. + * + * @return int Switch codeword. + */ + public function getSwitchEncodingCodeword(int $mode): int + { + $cdw = Data::SWITCHCDW[$mode]; + if ($cdw != 254) { + return $cdw; + } + + if ($this->last_enc != Data::ENC_EDF) { + return $cdw; + } + + return 124; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Placement.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Placement.php new file mode 100644 index 0000000..1c975a4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Placement.php @@ -0,0 +1,362 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\Placement + * + * Placement methods for Datamatrix Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Placement +{ + /** + * Places "chr+bit" with appropriate wrapping within array[]. + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $row Row number. + * @param int $col Column number. + * @param int $chr Char byte. + * @param int $bit Bit. + * + * @return array + */ + protected function placeModule( + array $marr, + int $nrow, + int $ncol, + int $row, + int $col, + int $chr, + int $bit + ): array { + if ($row < 0) { + $row += $nrow; + $col += (4 - (($nrow + 4) % 8)); + } + + if ($col < 0) { + $col += $ncol; + $row += (4 - (($ncol + 4) % 8)); + } + + $marr[(($row * $ncol) + $col)] = ((10 * $chr) + $bit); + return $marr; + } + + /** + * Places the 8 bits of a utah-shaped symbol character. + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $row Row number. + * @param int $col Column number. + * @param int $chr Char byte. + * + * @return array + */ + protected function placeUtah( + array $marr, + int $nrow, + int $ncol, + int $row, + int $col, + int $chr + ): array { + $marr = $this->placeModule($marr, $nrow, $ncol, $row - 2, $col - 2, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $row - 2, $col - 1, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $row - 1, $col - 2, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, $row - 1, $col - 1, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, $row - 1, $col, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, $row, $col - 2, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, $row, $col - 1, $chr, 7); + return $this->placeModule($marr, $nrow, $ncol, $row, $col, $chr, 8); + } + + /** + * Places the 8 bits of the first special corner case. + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols + * @param int $nrow Number of rows + * @param int $ncol Number of columns + * @param int $chr Char byte + * @param int $row Current row + * @param int $col Current column + * + * @return array + */ + protected function placeCornerA( + array $marr, + int $nrow, + int $ncol, + int &$chr, + int $row, + int $col + ): array { + if (($row !== $nrow) || ($col != 0)) { + return $marr; + } + + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, 1, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, 2, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 2, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 1, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol - 1, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 2, $ncol - 1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 3, $ncol - 1, $chr, 8); + ++$chr; + return $marr; + } + + /** + * Places the 8 bits of the second special corner case. + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols + * @param int $nrow Number of rows + * @param int $ncol Number of columns + * @param int $chr Char byte + * @param int $row Current row + * @param int $col Current column + * + * @return array + */ + protected function placeCornerB( + array $marr, + int $nrow, + int $ncol, + int &$chr, + int $row, + int $col + ): array { + if (($row !== $nrow - 2) || ($col != 0) || (($ncol % 4) == 0)) { + return $marr; + } + + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 3, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 2, 0, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, 0, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 4, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 3, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 2, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol - 1, $chr, 8); + ++$chr; + return $marr; + } + + /** + * Places the 8 bits of the third special corner case. + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols + * @param int $nrow Number of rows + * @param int $ncol Number of columns + * @param int $chr Char byte + * @param int $row Current row + * @param int $col Current column + * + * @return array + */ + protected function placeCornerC( + array $marr, + int $nrow, + int $ncol, + int &$chr, + int $row, + int $col + ): array { + if (($row !== $nrow - 2) || ($col != 0) || ($ncol % 8 != 4)) { + return $marr; + } + + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 3, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 2, 0, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, 0, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 2, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 1, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol - 1, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 2, $ncol - 1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 3, $ncol - 1, $chr, 8); + ++$chr; + return $marr; + } + + /** + * Places the 8 bits of the fourth special corner case. + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols + * @param int $nrow Number of rows + * @param int $ncol Number of columns + * @param int $chr Char byte + * @param int $row Current row + * @param int $col Current column + * + * @return array + */ + protected function placeCornerD( + array $marr, + int $nrow, + int $ncol, + int &$chr, + int $row, + int $col + ): array { + if (($row !== $nrow + 4) || ($col != 2) || ($ncol % 8)) { + return $marr; + } + + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow - 1, $ncol - 1, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 3, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 2, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol - 1, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol - 3, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol - 2, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol - 1, $chr, 8); + ++$chr; + return $marr; + } + + /** + * Sweep upward diagonally, inserting successive characters, + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols + * @param int $nrow Number of rows + * @param int $ncol Number of columns + * @param int $chr Char byte + * @param int $row Current row + * @param int $col Current column + * + * @return array + */ + protected function placeSweepUpward( + array $marr, + int $nrow, + int $ncol, + int &$chr, + int &$row, + int &$col + ): array { + do { + if (($row < $nrow) && ($col >= 0) && (! $marr[(($row * $ncol) + $col)])) { + $marr = $this->placeUtah($marr, $nrow, $ncol, $row, $col, $chr); + ++$chr; + } + + $row -= 2; + $col += 2; + } while (($row >= 0) && ($col < $ncol)); + + ++$row; + $col += 3; + return $marr; + } + + /** + * Sweep downward diagonally, inserting successive characters, + * (Annex F - ECC 200 symbol character placement) + * + * @param array $marr Array of symbols + * @param int $nrow Number of rows + * @param int $ncol Number of columns + * @param int $chr Char byte + * @param int $row Current row + * @param int $col Current column + * + * @return array + */ + protected function placeSweepDownward( + array $marr, + int $nrow, + int $ncol, + int &$chr, + int &$row, + int &$col + ): array { + do { + if (($row >= 0) && ($col < $ncol) && (! $marr[(($row * $ncol) + $col)])) { + $marr = $this->placeUtah($marr, $nrow, $ncol, $row, $col, $chr); + ++$chr; + } + + $row += 2; + $col -= 2; + } while (($row < $nrow) && ($col >= 0)); + + $row += 3; + ++$col; + return $marr; + } + + /** + * Build a placement map. + * (Annex F - ECC 200 symbol character placement) + * + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * + * @return array + */ + public function getPlacementMap( + int $nrow, + int $ncol + ): array { + // initialize array with zeros + $marr = array_fill(0, ($nrow * $ncol), 0); + // set starting values + $chr = 1; + $row = 4; + $col = 0; + do { + // repeatedly first check for one of the special corner cases, then + $marr = $this->placeCornerA($marr, $nrow, $ncol, $chr, $row, $col); + $marr = $this->placeCornerB($marr, $nrow, $ncol, $chr, $row, $col); + $marr = $this->placeCornerC($marr, $nrow, $ncol, $chr, $row, $col); + $marr = $this->placeCornerD($marr, $nrow, $ncol, $chr, $row, $col); + // sweep upward diagonally, inserting successive characters, + $marr = $this->placeSweepUpward($marr, $nrow, $ncol, $chr, $row, $col); + // & then sweep downward diagonally, inserting successive characters,... + $marr = $this->placeSweepDownward($marr, $nrow, $ncol, $chr, $row, $col); + // ... until the entire array is scanned + } while (($row < $nrow) || ($col < $ncol)); + + // lastly, if the lower righthand corner is untouched, fill in fixed pattern + if (! $marr[(($nrow * $ncol) - 1)]) { + $marr[(($nrow * $ncol) - 1)] = 1; + $marr[(($nrow * $ncol) - $ncol - 2)] = 1; + } + + return $marr; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Steps.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Steps.php new file mode 100644 index 0000000..7bfc4d3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Datamatrix/Steps.php @@ -0,0 +1,387 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\Datamatrix; + +/** + * Com\Tecnick\Barcode\Type\Square\Datamatrix\Steps + * + * Steps methods for Datamatrix Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Steps extends \Com\Tecnick\Barcode\Type\Square\Datamatrix\Modes +{ + /** + * The look-ahead test scans the data to be encoded to find the best mode (Annex P - steps from J to S). + * + * @param string $data Data to encode + * @param int $pos Current position + * @param int $mode Current encoding mode + * + * @return int encoding mode + */ + public function lookAheadTest(string $data, int $pos, int $mode): int + { + $data_length = strlen($data); + if ($pos >= $data_length) { + return $mode; + } + + $charscount = 0; // count processed chars + // STEP J + if ($mode == Data::ENC_ASCII) { + $numch = [0, 1, 1, 1, 1, 1.25]; + } else { + $numch = [1, 2, 2, 2, 2, 2.25]; + $numch[$mode] = 0; + } + + while (true) { + if (($pos + $charscount) == $data_length) { + return $this->stepK($numch); + } + + $chr = ord($data[$pos + $charscount]); + ++$charscount; + $this->stepL($chr, $numch); + $this->stepM($chr, $numch); + $this->stepN($chr, $numch); + $this->stepO($chr, $numch); + $this->stepP($chr, $numch); + $this->stepQ($chr, $numch); + if ($charscount >= 4) { + $ret = $this->stepR($numch, $pos, $data_length, $charscount, $data); + if ($ret >= 0) { + return $ret; + } + } + } + } + + /** + * Step K + * + * @param array $numch Number of characters + * + * @return int encoding mode + */ + protected function stepK(array $numch): int + { + if ( + $numch[Data::ENC_ASCII] <= ceil(min( + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_X12], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + )) + ) { + return Data::ENC_ASCII; + } + + if ( + $numch[Data::ENC_BASE256] < ceil(min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_X12], + $numch[Data::ENC_EDF] + )) + ) { + return Data::ENC_BASE256; + } + + if ( + $numch[Data::ENC_EDF] < ceil(min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_X12], + $numch[Data::ENC_BASE256] + )) + ) { + return Data::ENC_EDF; + } + + if ( + $numch[Data::ENC_TXT] < ceil(min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_X12], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + )) + ) { + return Data::ENC_TXT; + } + + if ( + $numch[Data::ENC_X12] < ceil(min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + )) + ) { + return Data::ENC_X12; + } + + return Data::ENC_C40; + } + + /** + * Step L + * + * @param int $chr Character code + * @param array $numch Number of characters + */ + protected function stepL(int $chr, array &$numch): void + { + if ($this->isCharMode($chr, Data::ENC_ASCII_NUM)) { + $numch[Data::ENC_ASCII] += (1 / 2); + } elseif ($this->isCharMode($chr, Data::ENC_ASCII_EXT)) { + $numch[Data::ENC_ASCII] = ceil($numch[Data::ENC_ASCII]); + $numch[Data::ENC_ASCII] += 2; + } else { + $numch[Data::ENC_ASCII] = ceil($numch[Data::ENC_ASCII]); + ++$numch[Data::ENC_ASCII]; + } + } + + /** + * Step M + * + * @param int $chr Character code + * @param array $numch Number of characters + */ + protected function stepM(int $chr, array &$numch): void + { + if ($this->isCharMode($chr, Data::ENC_C40)) { + $numch[Data::ENC_C40] += (2 / 3); + } elseif ($this->isCharMode($chr, Data::ENC_ASCII_EXT)) { + $numch[Data::ENC_C40] += (8 / 3); + } else { + $numch[Data::ENC_C40] += (4 / 3); + } + } + + /** + * Step N + * + * @param int $chr Character code + * @param array $numch Number of characters + */ + protected function stepN(int $chr, array &$numch): void + { + if ($this->isCharMode($chr, Data::ENC_TXT)) { + $numch[Data::ENC_TXT] += (2 / 3); + } elseif ($this->isCharMode($chr, Data::ENC_ASCII_EXT)) { + $numch[Data::ENC_TXT] += (8 / 3); + } else { + $numch[Data::ENC_TXT] += (4 / 3); + } + } + + /** + * Step O + * + * @param int $chr Character code + * @param array $numch Number of characters + */ + protected function stepO(int $chr, array &$numch): void + { + if ($this->isCharMode($chr, Data::ENC_X12) || $this->isCharMode($chr, Data::ENC_C40)) { + $numch[Data::ENC_X12] += (2 / 3); + } elseif ($this->isCharMode($chr, Data::ENC_ASCII_EXT)) { + $numch[Data::ENC_X12] += (13 / 3); + } else { + $numch[Data::ENC_X12] += (10 / 3); + } + } + + /** + * Step P + * + * @param int $chr Character code + * @param array $numch Number of characters + */ + protected function stepP(int $chr, array &$numch): void + { + if ($this->isCharMode($chr, Data::ENC_EDF)) { + $numch[Data::ENC_EDF] += (3 / 4); + } elseif ($this->isCharMode($chr, Data::ENC_ASCII_EXT)) { + $numch[Data::ENC_EDF] += (17 / 4); + } else { + $numch[Data::ENC_EDF] += (13 / 4); + } + } + + /** + * Step Q + * + * @param int $chr Character code + * @param array $numch Number of characters + */ + protected function stepQ(int $chr, array &$numch): void + { + if ($this->isCharMode($chr, Data::ENC_BASE256)) { + $numch[Data::ENC_BASE256] += 4; + } else { + ++$numch[Data::ENC_BASE256]; + } + } + + /** + * Step R-f + * + * @param array $numch Number of characters + * @param int $pos Current position + * @param int $data_length Data length + * @param int $charscount Number of processed characters + * @param string $data Data to encode + * + * @return int Encoding mode + */ + protected function stepRf( + array $numch, + int $pos, + int $data_length, + int $charscount, + string $data + ): int { + if ( + ($numch[Data::ENC_C40] + 1) < min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_TXT], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + ) + ) { + if ($numch[Data::ENC_C40] < $numch[Data::ENC_X12]) { + return Data::ENC_C40; + } + + if ($numch[Data::ENC_C40] == $numch[Data::ENC_X12]) { + $ker = ($pos + $charscount + 1); + while ($ker < $data_length) { + $tmpchr = ord($data[$ker]); + if ($this->isCharMode($tmpchr, Data::ENC_X12)) { + return Data::ENC_X12; + } + + if ($this->isCharMode($tmpchr, Data::ENC_C40)) { + break; + } + + ++$ker; + } + + return Data::ENC_C40; + } + } + + return -1; + } + + /** + * Step R + * + * @param array $numch Number of characters + * @param int $pos Current position + * @param int $data_length Data length + * @param int $charscount Number of processed characters + * @param string $data Data to encode + * + * @return int Encoding mode + */ + protected function stepR( + array $numch, + int $pos, + int $data_length, + int $charscount, + string $data + ): int { + if ( + ($numch[Data::ENC_ASCII] + 1) <= min( + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_X12], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + ) + ) { + return Data::ENC_ASCII; + } + + if ( + (($numch[Data::ENC_BASE256] + 1) <= $numch[Data::ENC_ASCII]) + || (($numch[Data::ENC_BASE256] + 1) < min( + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_X12], + $numch[Data::ENC_EDF] + )) + ) { + return Data::ENC_BASE256; + } + + if ( + ($numch[Data::ENC_EDF] + 1) < min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_X12], + $numch[Data::ENC_BASE256] + ) + ) { + return Data::ENC_EDF; + } + + if ( + ($numch[Data::ENC_TXT] + 1) < min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_X12], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + ) + ) { + return Data::ENC_TXT; + } + + if ( + ($numch[Data::ENC_X12] + 1) < min( + $numch[Data::ENC_ASCII], + $numch[Data::ENC_C40], + $numch[Data::ENC_TXT], + $numch[Data::ENC_EDF], + $numch[Data::ENC_BASE256] + ) + ) { + return Data::ENC_X12; + } + + return $this->stepRf($numch, $pos, $data_length, $charscount, $data); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven.php new file mode 100644 index 0000000..67f9c56 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven.php @@ -0,0 +1,378 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven\Data; + +/** + * Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven + * + * PdfFourOneSeven Barcode type class + * PDF417 (ISO/IEC 15438:2006) + * + * PDF417 (ISO/IEC 15438:2006) is a 2-dimensional stacked bar code created by Symbol Technologies in 1991. + * It is one of the most popular 2D codes because of its ability to be read with slightly modified handheld + * laser or linear CCD scanners. + * TECHNICAL DATA / FEATURES OF PDF417: + * Encodable Character Set: All 128 ASCII Characters (including extended) + * Code Type: Continuous, Multi-Row + * Symbol Height: 3 - 90 Rows + * Symbol Width: 90X - 583X + * Bidirectional Decoding: Yes + * Error Correction Characters: 2 - 512 + * Maximum Data Characters: 1850 text, 2710 digits, 1108 bytes + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PdfFourOneSeven extends \Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven\Compaction +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'PDF417'; + + /** + * Row height respect X dimension of single module + */ + protected int $row_height = 2; + + /** + * Horizontal quiet zone in modules + */ + protected int $quiet_vertical = 2; + + /** + * Vertical quiet zone in modules + */ + protected int $quiet_horizontal = 2; + + /** + * Aspect ratio (width / height) + */ + protected float $aspectratio = 2; + + /** + * Error correction level (0-8); + * Default -1 = automatic correction level + */ + protected int $ecl = -1; + + /** + * Information for macro block + * + * @var array{ + * 'file_id'?: string, + * 'option_0'?: string, + * 'option_1'?: string, + * 'option_2'?: string, + * 'option_3'?: string, + * 'option_4'?: string, + * 'option_5'?: string, + * 'option_6'?: string, + * 'segment_index'?: int, + * 'segment_total'?: int, + * } + */ + protected array $macro = []; + + /** + * Set extra (optional) parameters + */ + protected function setParameters(): void + { + parent::setParameters(); + + // aspect ratio + if ( + ! empty($this->params[0]) + && (($aspectratio = (float) $this->params[0]) >= 1) + ) { + $this->aspectratio = $aspectratio; + } + + // error correction level (auto) + if ( + isset($this->params[1]) + && (($ecl = (int) $this->params[1]) >= 0) + && ($ecl <= 8) + ) { + $this->ecl = $ecl; + } + + // macro block + $this->setMacroBlockParam(); + } + + /** + * Set macro block parameter + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function setMacroBlockParam(): void + { + if ( + isset($this->params[4]) + && (is_string($this->params[4])) + && ($this->params[2] !== '') + && ($this->params[3] !== '') + && ($this->params[4] !== '') + ) { + $this->macro['segment_total'] = (int) $this->params[2]; + $this->macro['segment_index'] = (int) $this->params[3]; + $this->macro['file_id'] = strtr($this->params[4], "\xff", ','); + for ($idx = 0; $idx < 7; ++$idx) { + $opt = $idx + 5; + if ( + isset($this->params[$opt]) + && (is_string($this->params[$opt])) + && ($this->params[$opt] !== '') + ) { + /* @phpstan-ignore-next-line */ + $this->macro['option_' . $idx] = strtr($this->params[$opt], "\xff", ','); + } + } + } + } + + /** + * Get the bars array + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + if (strlen((string) $this->code) == 0) { + throw new BarcodeException('Empty input'); + } + + $seq = $this->getBinSequence(); + $this->processBinarySequence($this->getRawCodeRows($seq)); + } + + /** + * Get macro control block codewords + * + * @param int $numcw Number of codewords + * + * @return array + */ + protected function getMacroBlock(int &$numcw): array + { + if ($this->macro === []) { + return []; + } + + $macrocw = []; + // beginning of macro control block + $macrocw[] = 928; + // segment index + $cdw = $this->getCompaction(902, sprintf('%05d', $this->macro['segment_index']), false); + $macrocw = array_merge($macrocw, $cdw); + // file ID + $cdw = $this->getCompaction(900, $this->macro['file_id'], false); + $macrocw = array_merge($macrocw, $cdw); + // optional fields + $optmodes = [900, 902, 902, 900, 900, 902, 902]; + $optsize = [-1, 2, 4, -1, -1, -1, 2]; + foreach ($optmodes as $key => $omode) { + if (isset($this->macro['option_' . $key])) { + $macrocw[] = 923; + $macrocw[] = $key; + if ($optsize[$key] == 2) { + $this->macro['option_' . $key] = sprintf('%05d', $this->macro['option_' . $key]); + } elseif ($optsize[$key] == 4) { + $this->macro['option_' . $key] = sprintf('%010d', $this->macro['option_' . $key]); + } + + $cdw = $this->getCompaction($omode, $this->macro['option_' . $key], false); + $macrocw = array_merge($macrocw, $cdw); + } + } + + if ($this->macro['segment_index'] == ($this->macro['segment_total'] - 1)) { + // end of control block + $macrocw[] = 922; + } + + // update total codewords + $numcw += count($macrocw); + return $macrocw; + } + + /** + * Get codewords + * + * @param int $rows number of rows + * @param int $cols number of columns + * @param int $ecl eroor correction level + * + * @return array + * + * @throws BarcodeException in case of error + */ + public function getCodewords( + int &$rows, + int &$cols, + int &$ecl + ): array { + $codewords = []; // array of code-words + // get the input sequence array + $sequence = $this->getInputSequences($this->code); + foreach ($sequence as $seq) { + $cws = $this->getCompaction($seq[0], $seq[1], true); + $codewords = array_merge($codewords, $cws); + } + + if ($codewords[0] == 900) { + // Text Alpha is the default mode, so remove the first code + array_shift($codewords); + } + + // count number of codewords + $numcw = count($codewords); + if ($numcw > 925) { + throw new BarcodeException('The maximum codeword capaciy has been reached: ' . $numcw . ' > 925'); + } + + $macrocw = $this->getMacroBlock($numcw); + // set error correction level + $ecl = $this->getErrorCorrectionLevel($this->ecl, $numcw); + // number of codewords for error correction + $errsize = (2 << $ecl); + // calculate number of columns (number of codewords per row) and rows + $nce = ($numcw + $errsize + 1); + $cols = (int) min( + 30, + max(1, round((sqrt(4761 + (68 * $this->aspectratio * $this->row_height * $nce)) - 69) / 34)) + ); + $rows = (int) min( + 90, + max(3, ceil($nce / $cols)) + ); + $size = ($cols * $rows); + if ($size > 928) { + // set dimensions to get maximum capacity + if (abs($this->aspectratio - (17 * 29 / 32)) < abs($this->aspectratio - (17 * 16 / 58))) { + $cols = 29; + $rows = 32; + } else { + $cols = 16; + $rows = 58; + } + + $size = 928; + } + + // calculate padding + $pad = (int) ($size - $nce); + if ($pad > 0) { + // add padding + $codewords = array_merge($codewords, array_fill(0, $pad, 900)); + } + + if ($macrocw !== []) { + // add macro section + $codewords = array_merge($codewords, $macrocw); + } + + // Symbol Length Descriptor (number of data codewords including Symbol Length Descriptor and pad codewords) + $sld = (int) ($size - $errsize); + // add symbol length description + array_unshift($codewords, $sld); + // calculate error correction + $ecw = $this->getErrorCorrection($codewords, $ecl); + // add error correction codewords + return array_merge($codewords, $ecw); + } + + /** + * Creates a PDF417 object as binary string + * + * @return string barcode as binary string + * + * @throws BarcodeException in case of error + */ + public function getBinSequence(): string + { + $rows = 0; + $cols = 0; + $ecl = 0; + $codewords = $this->getCodewords($rows, $cols, $ecl); + $barcode = ''; + // add horizontal quiet zones to start and stop patterns + $pstart = str_repeat('0', $this->quiet_horizontal) . Data::START_PATTERN; + $this->nrows = ($rows * $this->row_height) + (2 * $this->quiet_vertical); + $this->ncols = (($cols + 2) * 17) + 35 + (2 * $this->quiet_horizontal); + // build rows for vertical quiet zone + $empty_row = ',' . str_repeat('0', $this->ncols); + $empty_rows = str_repeat($empty_row, $this->quiet_vertical); + $barcode .= $empty_rows; + $kcw = 0; // codeword index + $cid = 0; // initial cluster + // for each row + for ($rix = 0; $rix < $rows; ++$rix) { + // row start code + $row = $pstart; + $rval = 0; + $cval = 0; + switch ($cid) { + case 0: + $rval = ((30 * (int) ($rix / 3)) + (int) (($rows - 1) / 3)); + $cval = ((30 * (int) ($rix / 3)) + ($cols - 1)); + break; + case 1: + $rval = ((30 * (int) ($rix / 3)) + ($ecl * 3) + (($rows - 1) % 3)); + $cval = ((30 * (int) ($rix / 3)) + (int) (($rows - 1) / 3)); + break; + case 2: + $rval = ((30 * (int) ($rix / 3)) + ($cols - 1)); + $cval = ((30 * (int) ($rix / 3)) + ($ecl * 3) + (($rows - 1) % 3)); + break; + } + + // left row indicator + $row .= sprintf('%17b', Data::CLUSTERS[$cid][$rval]); + // for each column + for ($cix = 0; $cix < $cols; ++$cix) { + $row .= sprintf('%17b', Data::CLUSTERS[$cid][$codewords[$kcw]]); + ++$kcw; + } + + // right row indicator + $row .= sprintf('%17b', Data::CLUSTERS[$cid][$cval]); + // row stop code + $row .= Data::STOP_PATTERN . str_repeat('0', $this->quiet_horizontal); + $brow = ',' . str_repeat($row, $this->row_height); + $barcode .= $brow; + ++$cid; + if ($cid > 2) { + $cid = 0; + } + } + + return $barcode . $empty_rows; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Compaction.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Compaction.php new file mode 100644 index 0000000..2307cfe --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Compaction.php @@ -0,0 +1,231 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven; + +/** + * Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven\Compaction + * + * Process for PdfFourOneSeven Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Compaction extends \Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven\Sequence +{ + /** + * Process Sub Text Compaction + * + * @param array $txtarr Array of characters and sub-mode switching characters + * @param int $submode Current submode + * @param int $sub New submode + * @param string $code Data to compact + * @param int $key Character code + * @param int $idx Current index + * @param int $codelen Code length + */ + protected function processTextCompactionSub( + array &$txtarr, + int &$submode, + int $sub, + string $code, + int $key, + int $idx, + int $codelen + ): void { + // $sub is the new submode + if ( + (($idx + 1 === $codelen) || ((($idx + 1) < $codelen) + && (in_array(ord($code[($idx + 1)]), Data::TEXT_SUB_MODES[$submode])))) + && (($sub == 3) || (($sub == 0) && ($submode == 1))) + ) { + // shift (temporary change only for this char) + $txtarr[] = $sub == 3 ? 29 : 27; + } else { + // latch + $txtarr = array_merge($txtarr, Data::TEXT_LATCH['' . $submode . $sub]); + // set new submode + $submode = $sub; + } + + // add character code to array + $txtarr[] = $key; + } + + /** + * Process Text Compaction + * + * @param string $code Data to compact + * @param array $codewords Codewords + */ + protected function processTextCompaction(string $code, array &$codewords): void + { + $submode = 0; // default Alpha sub-mode + $txtarr = []; // array of characters and sub-mode switching characters + $codelen = strlen($code); + for ($idx = 0; $idx < $codelen; ++$idx) { + $chval = ord($code[$idx]); + if (($key = array_search($chval, Data::TEXT_SUB_MODES[$submode], true)) !== false) { + // we are on the same sub-mode + $txtarr[] = $key; + } else { + // the sub-mode is changed + for ($sub = 0; $sub < 4; ++$sub) { + // search new sub-mode + if ( + ($sub != $submode) + && (($key = array_search($chval, Data::TEXT_SUB_MODES[$sub], true)) !== false) + ) { + $this->processTextCompactionSub($txtarr, $submode, $sub, $code, $key, $idx, $codelen); + break; + } + } + } + } + + $txtarrlen = count($txtarr); + if ($txtarrlen % 2 != 0) { + // add padding + $txtarr[] = 29; + ++$txtarrlen; + } + + // calculate codewords + for ($idx = 0; $idx < $txtarrlen; $idx += 2) { + $codewords[] = (30 * $txtarr[$idx]) + $txtarr[($idx + 1)]; + } + } + + /** + * Process Byte Compaction + * + * @param string $code Data to compact + * @param array $codewords Codewords + */ + protected function processByteCompaction(string $code, array &$codewords): void + { + while (($codelen = strlen($code)) > 0) { + if ($codelen > 6) { + $rest = substr($code, 6); + $code = substr($code, 0, 6); + $sublen = 6; + } else { + $rest = ''; + $sublen = strlen($code); + } + + if ($sublen == 6) { + $tdg = bcmul('' . ord($code[0]), '1099511627776'); + $tdg = bcadd($tdg, bcmul('' . ord($code[1]), '4294967296')); + $tdg = bcadd($tdg, bcmul('' . ord($code[2]), '16777216')); + $tdg = bcadd($tdg, bcmul('' . ord($code[3]), '65536')); + $tdg = bcadd($tdg, bcmul('' . ord($code[4]), '256')); + $tdg = bcadd($tdg, '' . ord($code[5])); + // tmp array for the 6 bytes block + $cw6 = []; + for ($idx = 0; $idx < 5; ++$idx) { + $ddg = bcmod($tdg, '900'); + $tdg = bcdiv($tdg, '900'); + // prepend the value to the beginning of the array + array_unshift($cw6, $ddg); + } + + // append the result array at the end + $codewords = array_merge($codewords, $cw6); //@phpstan-ignore parameterByRef.type + } else { + for ($idx = 0; $idx < $sublen; ++$idx) { + $codewords[] = ord($code[$idx]); //@phpstan-ignore parameterByRef.type + } + } + + $code = $rest; + } + } + + /** + * Process Numeric Compaction + * + * @param string $code Data to compact + * @param array $codewords Codewords + */ + protected function processNumericCompaction(string $code, array &$codewords): void + { + while (($codelen = strlen($code)) > 0) { + $rest = ''; + if ($codelen > 44) { + $rest = substr($code, 44); + $code = substr($code, 0, 44); + } + + $tdg = '1' . $code; + do { + $ddg = bcmod($tdg, '900'); + $tdg = bcdiv($tdg, '900'); + array_unshift($codewords, $ddg); + } while ($tdg != '0'); + + $code = $rest; + } + } + + /** + * Compact data by mode + * + * @param int $mode Compaction mode number + * @param string $code Data to compact + * @param bool $addmode If true add the mode codeword in the first position + * + * @return array of codewords + */ + protected function getCompaction( + int $mode, + string $code, + bool $addmode = true + ): array { + $codewords = []; // array of codewords to return + switch ($mode) { + case 900: + // Text Compaction mode latch + $this->processTextCompaction($code, $codewords); + break; + case 901: + case 924: + // Byte Compaction mode latch + $this->processByteCompaction($code, $codewords); + break; + case 902: + // Numeric Compaction mode latch + $this->processNumericCompaction($code, $codewords); + break; + case 913: + // Byte Compaction mode shift + $codewords[] = ord($code); + break; + } + + if ($addmode) { + // add the compaction mode codeword at the beginning + array_unshift($codewords, $mode); + } + + return $codewords; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Data.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Data.php new file mode 100644 index 0000000..5be4247 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Data.php @@ -0,0 +1,4422 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven; + +/** + * Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven\Data + * + * Process for PdfFourOneSeven Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @SuppressWarnings("PHPMD.ExcessiveClassLength") + */ +abstract class Data +{ + /** + * Start pattern + * + * @var string + */ + public const START_PATTERN = '11111111010101000'; + + /** + * Stop pattern + * + * @var string + */ + public const STOP_PATTERN = '111111101000101001'; + + /** + * Array of text Compaction Sub-Modes (values 0xFB - 0xFF are used for submode changers) + * + * @var array> + */ + public const TEXT_SUB_MODES = [ + [ + // Alpha + 0x41, + 0x42, + 0x43, + 0x44, + 0x45, + 0x46, + 0x47, + 0x48, + 0x49, + 0x4a, + 0x4b, + 0x4c, + 0x4d, + 0x4e, + 0x4f, + 0x50, + 0x51, + 0x52, + 0x53, + 0x54, + 0x55, + 0x56, + 0x57, + 0x58, + 0x59, + 0x5a, + 0x20, + 0xFD, + 0xFE, + 0xFF, + ], + [ + // Lower + 0x61, + 0x62, + 0x63, + 0x64, + 0x65, + 0x66, + 0x67, + 0x68, + 0x69, + 0x6a, + 0x6b, + 0x6c, + 0x6d, + 0x6e, + 0x6f, + 0x70, + 0x71, + 0x72, + 0x73, + 0x74, + 0x75, + 0x76, + 0x77, + 0x78, + 0x79, + 0x7a, + 0x20, + 0xFD, + 0xFE, + 0xFF, + ], + [ + // Mixed + 0x30, + 0x31, + 0x32, + 0x33, + 0x34, + 0x35, + 0x36, + 0x37, + 0x38, + 0x39, + 0x26, + 0x0d, + 0x09, + 0x2c, + 0x3a, + 0x23, + 0x2d, + 0x2e, + 0x24, + 0x2f, + 0x2b, + 0x25, + 0x2a, + 0x3d, + 0x5e, + 0xFB, + 0x20, + 0xFD, + 0xFE, + 0xFF, + ], + [ + // Puntuaction + 0x3b, + 0x3c, + 0x3e, + 0x40, + 0x5b, + 0x5c, + 0x5d, + 0x5f, + 0x60, + 0x7e, + 0x21, + 0x0d, + 0x09, + 0x2c, + 0x3a, + 0x0a, + 0x2d, + 0x2e, + 0x24, + 0x2f, + 0x22, + 0x7c, + 0x2a, + 0x28, + 0x29, + 0x3f, + 0x7b, + 0x7d, + 0x27, + 0xFF, + ], + ]; + + /** + * Array of switching codes for Text Compaction Sub-Modes + * + * @var array> + */ + public const TEXT_LATCH = [ + '01' => [27], + '02' => [28], + '03' => [28, 25], + '10' => [28, 28], + '12' => [28], + '13' => [28, 25], + '20' => [28], + '21' => [27], + '23' => [25], + '30' => [29], + '31' => [29, 27], + '32' => [29, 28], + ]; + + /** + * Clusters of codewords (0, 3, 6). + * Values are hex equivalents of binary representation of bars (1 = bar, 0 = space). + * The codewords numbered from 900 to 928 have special meaning, + * some enable to switch between modes in order to optimise the code: + * + * 900 : Switch to "Text" mode + * 901 : Switch to "Byte" mode + * 902 : Switch to "Numeric" mode + * 903 - 912 : Reserved + * 913 : Switch to "Octet" only for the next codeword + * 914 - 920 : Reserved + * 921 : Initialization + * 922 : Terminator codeword for Macro PDF control block + * 923 : Sequence tag to identify the beginning of optional fields in the Macro PDF control block + * 924 : Switch to "Byte" mode (If the total number of byte is multiple of 6) + * 925 : Identifier for a user defined Extended Channel Interpretation (ECI) + * 926 : Identifier for a general purpose ECI format + * 927 : Identifier for an ECI of a character set or code page + * 928 : Macro marker codeword to indicate the beginning of a Macro PDF Control Block + * + * @var array> + */ + public const CLUSTERS = [ + [ + // cluster 0 ----------------------------------------------------------------------- + 0x1d5c0, + 0x1eaf0, + 0x1f57c, + 0x1d4e0, + 0x1ea78, + 0x1f53e, + 0x1a8c0, + 0x1d470, + 0x1a860, + 0x15040, + // 10 + 0x1a830, + 0x15020, + 0x1adc0, + 0x1d6f0, + 0x1eb7c, + 0x1ace0, + 0x1d678, + 0x1eb3e, + 0x158c0, + 0x1ac70, + // 20 + 0x15860, + 0x15dc0, + 0x1aef0, + 0x1d77c, + 0x15ce0, + 0x1ae78, + 0x1d73e, + 0x15c70, + 0x1ae3c, + 0x15ef0, + // 30 + 0x1af7c, + 0x15e78, + 0x1af3e, + 0x15f7c, + 0x1f5fa, + 0x1d2e0, + 0x1e978, + 0x1f4be, + 0x1a4c0, + 0x1d270, + // 40 + 0x1e93c, + 0x1a460, + 0x1d238, + 0x14840, + 0x1a430, + 0x1d21c, + 0x14820, + 0x1a418, + 0x14810, + 0x1a6e0, + // 50 + 0x1d378, + 0x1e9be, + 0x14cc0, + 0x1a670, + 0x1d33c, + 0x14c60, + 0x1a638, + 0x1d31e, + 0x14c30, + 0x1a61c, + // 60 + 0x14ee0, + 0x1a778, + 0x1d3be, + 0x14e70, + 0x1a73c, + 0x14e38, + 0x1a71e, + 0x14f78, + 0x1a7be, + 0x14f3c, + // 70 + 0x14f1e, + 0x1a2c0, + 0x1d170, + 0x1e8bc, + 0x1a260, + 0x1d138, + 0x1e89e, + 0x14440, + 0x1a230, + 0x1d11c, + // 80 + 0x14420, + 0x1a218, + 0x14410, + 0x14408, + 0x146c0, + 0x1a370, + 0x1d1bc, + 0x14660, + 0x1a338, + 0x1d19e, + // 90 + 0x14630, + 0x1a31c, + 0x14618, + 0x1460c, + 0x14770, + 0x1a3bc, + 0x14738, + 0x1a39e, + 0x1471c, + 0x147bc, + // 100 + 0x1a160, + 0x1d0b8, + 0x1e85e, + 0x14240, + 0x1a130, + 0x1d09c, + 0x14220, + 0x1a118, + 0x1d08e, + 0x14210, + // 110 + 0x1a10c, + 0x14208, + 0x1a106, + 0x14360, + 0x1a1b8, + 0x1d0de, + 0x14330, + 0x1a19c, + 0x14318, + 0x1a18e, + // 120 + 0x1430c, + 0x14306, + 0x1a1de, + 0x1438e, + 0x14140, + 0x1a0b0, + 0x1d05c, + 0x14120, + 0x1a098, + 0x1d04e, + // 130 + 0x14110, + 0x1a08c, + 0x14108, + 0x1a086, + 0x14104, + 0x141b0, + 0x14198, + 0x1418c, + 0x140a0, + 0x1d02e, + // 140 + 0x1a04c, + 0x1a046, + 0x14082, + 0x1cae0, + 0x1e578, + 0x1f2be, + 0x194c0, + 0x1ca70, + 0x1e53c, + 0x19460, + // 150 + 0x1ca38, + 0x1e51e, + 0x12840, + 0x19430, + 0x12820, + 0x196e0, + 0x1cb78, + 0x1e5be, + 0x12cc0, + 0x19670, + // 160 + 0x1cb3c, + 0x12c60, + 0x19638, + 0x12c30, + 0x12c18, + 0x12ee0, + 0x19778, + 0x1cbbe, + 0x12e70, + 0x1973c, + // 170 + 0x12e38, + 0x12e1c, + 0x12f78, + 0x197be, + 0x12f3c, + 0x12fbe, + 0x1dac0, + 0x1ed70, + 0x1f6bc, + 0x1da60, + // 180 + 0x1ed38, + 0x1f69e, + 0x1b440, + 0x1da30, + 0x1ed1c, + 0x1b420, + 0x1da18, + 0x1ed0e, + 0x1b410, + 0x1da0c, + // 190 + 0x192c0, + 0x1c970, + 0x1e4bc, + 0x1b6c0, + 0x19260, + 0x1c938, + 0x1e49e, + 0x1b660, + 0x1db38, + 0x1ed9e, + // 200 + 0x16c40, + 0x12420, + 0x19218, + 0x1c90e, + 0x16c20, + 0x1b618, + 0x16c10, + 0x126c0, + 0x19370, + 0x1c9bc, + // 210 + 0x16ec0, + 0x12660, + 0x19338, + 0x1c99e, + 0x16e60, + 0x1b738, + 0x1db9e, + 0x16e30, + 0x12618, + 0x16e18, + // 220 + 0x12770, + 0x193bc, + 0x16f70, + 0x12738, + 0x1939e, + 0x16f38, + 0x1b79e, + 0x16f1c, + 0x127bc, + 0x16fbc, + // 230 + 0x1279e, + 0x16f9e, + 0x1d960, + 0x1ecb8, + 0x1f65e, + 0x1b240, + 0x1d930, + 0x1ec9c, + 0x1b220, + 0x1d918, + // 240 + 0x1ec8e, + 0x1b210, + 0x1d90c, + 0x1b208, + 0x1b204, + 0x19160, + 0x1c8b8, + 0x1e45e, + 0x1b360, + 0x19130, + // 250 + 0x1c89c, + 0x16640, + 0x12220, + 0x1d99c, + 0x1c88e, + 0x16620, + 0x12210, + 0x1910c, + 0x16610, + 0x1b30c, + // 260 + 0x19106, + 0x12204, + 0x12360, + 0x191b8, + 0x1c8de, + 0x16760, + 0x12330, + 0x1919c, + 0x16730, + 0x1b39c, + // 270 + 0x1918e, + 0x16718, + 0x1230c, + 0x12306, + 0x123b8, + 0x191de, + 0x167b8, + 0x1239c, + 0x1679c, + 0x1238e, + // 280 + 0x1678e, + 0x167de, + 0x1b140, + 0x1d8b0, + 0x1ec5c, + 0x1b120, + 0x1d898, + 0x1ec4e, + 0x1b110, + 0x1d88c, + // 290 + 0x1b108, + 0x1d886, + 0x1b104, + 0x1b102, + 0x12140, + 0x190b0, + 0x1c85c, + 0x16340, + 0x12120, + 0x19098, + // 300 + 0x1c84e, + 0x16320, + 0x1b198, + 0x1d8ce, + 0x16310, + 0x12108, + 0x19086, + 0x16308, + 0x1b186, + 0x16304, + // 310 + 0x121b0, + 0x190dc, + 0x163b0, + 0x12198, + 0x190ce, + 0x16398, + 0x1b1ce, + 0x1638c, + 0x12186, + 0x16386, + // 320 + 0x163dc, + 0x163ce, + 0x1b0a0, + 0x1d858, + 0x1ec2e, + 0x1b090, + 0x1d84c, + 0x1b088, + 0x1d846, + 0x1b084, + // 330 + 0x1b082, + 0x120a0, + 0x19058, + 0x1c82e, + 0x161a0, + 0x12090, + 0x1904c, + 0x16190, + 0x1b0cc, + 0x19046, + // 340 + 0x16188, + 0x12084, + 0x16184, + 0x12082, + 0x120d8, + 0x161d8, + 0x161cc, + 0x161c6, + 0x1d82c, + 0x1d826, + // 350 + 0x1b042, + 0x1902c, + 0x12048, + 0x160c8, + 0x160c4, + 0x160c2, + 0x18ac0, + 0x1c570, + 0x1e2bc, + 0x18a60, + // 360 + 0x1c538, + 0x11440, + 0x18a30, + 0x1c51c, + 0x11420, + 0x18a18, + 0x11410, + 0x11408, + 0x116c0, + 0x18b70, + // 370 + 0x1c5bc, + 0x11660, + 0x18b38, + 0x1c59e, + 0x11630, + 0x18b1c, + 0x11618, + 0x1160c, + 0x11770, + 0x18bbc, + // 380 + 0x11738, + 0x18b9e, + 0x1171c, + 0x117bc, + 0x1179e, + 0x1cd60, + 0x1e6b8, + 0x1f35e, + 0x19a40, + 0x1cd30, + // 390 + 0x1e69c, + 0x19a20, + 0x1cd18, + 0x1e68e, + 0x19a10, + 0x1cd0c, + 0x19a08, + 0x1cd06, + 0x18960, + 0x1c4b8, + // 400 + 0x1e25e, + 0x19b60, + 0x18930, + 0x1c49c, + 0x13640, + 0x11220, + 0x1cd9c, + 0x1c48e, + 0x13620, + 0x19b18, + // 410 + 0x1890c, + 0x13610, + 0x11208, + 0x13608, + 0x11360, + 0x189b8, + 0x1c4de, + 0x13760, + 0x11330, + 0x1cdde, + // 420 + 0x13730, + 0x19b9c, + 0x1898e, + 0x13718, + 0x1130c, + 0x1370c, + 0x113b8, + 0x189de, + 0x137b8, + 0x1139c, + // 430 + 0x1379c, + 0x1138e, + 0x113de, + 0x137de, + 0x1dd40, + 0x1eeb0, + 0x1f75c, + 0x1dd20, + 0x1ee98, + 0x1f74e, + // 440 + 0x1dd10, + 0x1ee8c, + 0x1dd08, + 0x1ee86, + 0x1dd04, + 0x19940, + 0x1ccb0, + 0x1e65c, + 0x1bb40, + 0x19920, + // 450 + 0x1eedc, + 0x1e64e, + 0x1bb20, + 0x1dd98, + 0x1eece, + 0x1bb10, + 0x19908, + 0x1cc86, + 0x1bb08, + 0x1dd86, + // 460 + 0x19902, + 0x11140, + 0x188b0, + 0x1c45c, + 0x13340, + 0x11120, + 0x18898, + 0x1c44e, + 0x17740, + 0x13320, + // 470 + 0x19998, + 0x1ccce, + 0x17720, + 0x1bb98, + 0x1ddce, + 0x18886, + 0x17710, + 0x13308, + 0x19986, + 0x17708, + // 480 + 0x11102, + 0x111b0, + 0x188dc, + 0x133b0, + 0x11198, + 0x188ce, + 0x177b0, + 0x13398, + 0x199ce, + 0x17798, + // 490 + 0x1bbce, + 0x11186, + 0x13386, + 0x111dc, + 0x133dc, + 0x111ce, + 0x177dc, + 0x133ce, + 0x1dca0, + 0x1ee58, + // 500 + 0x1f72e, + 0x1dc90, + 0x1ee4c, + 0x1dc88, + 0x1ee46, + 0x1dc84, + 0x1dc82, + 0x198a0, + 0x1cc58, + 0x1e62e, + // 510 + 0x1b9a0, + 0x19890, + 0x1ee6e, + 0x1b990, + 0x1dccc, + 0x1cc46, + 0x1b988, + 0x19884, + 0x1b984, + 0x19882, + // 520 + 0x1b982, + 0x110a0, + 0x18858, + 0x1c42e, + 0x131a0, + 0x11090, + 0x1884c, + 0x173a0, + 0x13190, + 0x198cc, + // 530 + 0x18846, + 0x17390, + 0x1b9cc, + 0x11084, + 0x17388, + 0x13184, + 0x11082, + 0x13182, + 0x110d8, + 0x1886e, + // 540 + 0x131d8, + 0x110cc, + 0x173d8, + 0x131cc, + 0x110c6, + 0x173cc, + 0x131c6, + 0x110ee, + 0x173ee, + 0x1dc50, + // 550 + 0x1ee2c, + 0x1dc48, + 0x1ee26, + 0x1dc44, + 0x1dc42, + 0x19850, + 0x1cc2c, + 0x1b8d0, + 0x19848, + 0x1cc26, + // 560 + 0x1b8c8, + 0x1dc66, + 0x1b8c4, + 0x19842, + 0x1b8c2, + 0x11050, + 0x1882c, + 0x130d0, + 0x11048, + 0x18826, + // 570 + 0x171d0, + 0x130c8, + 0x19866, + 0x171c8, + 0x1b8e6, + 0x11042, + 0x171c4, + 0x130c2, + 0x171c2, + 0x130ec, + // 580 + 0x171ec, + 0x171e6, + 0x1ee16, + 0x1dc22, + 0x1cc16, + 0x19824, + 0x19822, + 0x11028, + 0x13068, + 0x170e8, + // 590 + 0x11022, + 0x13062, + 0x18560, + 0x10a40, + 0x18530, + 0x10a20, + 0x18518, + 0x1c28e, + 0x10a10, + 0x1850c, + // 600 + 0x10a08, + 0x18506, + 0x10b60, + 0x185b8, + 0x1c2de, + 0x10b30, + 0x1859c, + 0x10b18, + 0x1858e, + 0x10b0c, + // 610 + 0x10b06, + 0x10bb8, + 0x185de, + 0x10b9c, + 0x10b8e, + 0x10bde, + 0x18d40, + 0x1c6b0, + 0x1e35c, + 0x18d20, + // 620 + 0x1c698, + 0x18d10, + 0x1c68c, + 0x18d08, + 0x1c686, + 0x18d04, + 0x10940, + 0x184b0, + 0x1c25c, + 0x11b40, + // 630 + 0x10920, + 0x1c6dc, + 0x1c24e, + 0x11b20, + 0x18d98, + 0x1c6ce, + 0x11b10, + 0x10908, + 0x18486, + 0x11b08, + // 640 + 0x18d86, + 0x10902, + 0x109b0, + 0x184dc, + 0x11bb0, + 0x10998, + 0x184ce, + 0x11b98, + 0x18dce, + 0x11b8c, + // 650 + 0x10986, + 0x109dc, + 0x11bdc, + 0x109ce, + 0x11bce, + 0x1cea0, + 0x1e758, + 0x1f3ae, + 0x1ce90, + 0x1e74c, + // 660 + 0x1ce88, + 0x1e746, + 0x1ce84, + 0x1ce82, + 0x18ca0, + 0x1c658, + 0x19da0, + 0x18c90, + 0x1c64c, + 0x19d90, + // 670 + 0x1cecc, + 0x1c646, + 0x19d88, + 0x18c84, + 0x19d84, + 0x18c82, + 0x19d82, + 0x108a0, + 0x18458, + 0x119a0, + // 680 + 0x10890, + 0x1c66e, + 0x13ba0, + 0x11990, + 0x18ccc, + 0x18446, + 0x13b90, + 0x19dcc, + 0x10884, + 0x13b88, + // 690 + 0x11984, + 0x10882, + 0x11982, + 0x108d8, + 0x1846e, + 0x119d8, + 0x108cc, + 0x13bd8, + 0x119cc, + 0x108c6, + // 700 + 0x13bcc, + 0x119c6, + 0x108ee, + 0x119ee, + 0x13bee, + 0x1ef50, + 0x1f7ac, + 0x1ef48, + 0x1f7a6, + 0x1ef44, + // 710 + 0x1ef42, + 0x1ce50, + 0x1e72c, + 0x1ded0, + 0x1ef6c, + 0x1e726, + 0x1dec8, + 0x1ef66, + 0x1dec4, + 0x1ce42, + // 720 + 0x1dec2, + 0x18c50, + 0x1c62c, + 0x19cd0, + 0x18c48, + 0x1c626, + 0x1bdd0, + 0x19cc8, + 0x1ce66, + 0x1bdc8, + // 730 + 0x1dee6, + 0x18c42, + 0x1bdc4, + 0x19cc2, + 0x1bdc2, + 0x10850, + 0x1842c, + 0x118d0, + 0x10848, + 0x18426, + // 740 + 0x139d0, + 0x118c8, + 0x18c66, + 0x17bd0, + 0x139c8, + 0x19ce6, + 0x10842, + 0x17bc8, + 0x1bde6, + 0x118c2, + // 750 + 0x17bc4, + 0x1086c, + 0x118ec, + 0x10866, + 0x139ec, + 0x118e6, + 0x17bec, + 0x139e6, + 0x17be6, + 0x1ef28, + // 760 + 0x1f796, + 0x1ef24, + 0x1ef22, + 0x1ce28, + 0x1e716, + 0x1de68, + 0x1ef36, + 0x1de64, + 0x1ce22, + 0x1de62, + // 770 + 0x18c28, + 0x1c616, + 0x19c68, + 0x18c24, + 0x1bce8, + 0x19c64, + 0x18c22, + 0x1bce4, + 0x19c62, + 0x1bce2, + // 780 + 0x10828, + 0x18416, + 0x11868, + 0x18c36, + 0x138e8, + 0x11864, + 0x10822, + 0x179e8, + 0x138e4, + 0x11862, + // 790 + 0x179e4, + 0x138e2, + 0x179e2, + 0x11876, + 0x179f6, + 0x1ef12, + 0x1de34, + 0x1de32, + 0x19c34, + 0x1bc74, + // 800 + 0x1bc72, + 0x11834, + 0x13874, + 0x178f4, + 0x178f2, + 0x10540, + 0x10520, + 0x18298, + 0x10510, + 0x10508, + // 810 + 0x10504, + 0x105b0, + 0x10598, + 0x1058c, + 0x10586, + 0x105dc, + 0x105ce, + 0x186a0, + 0x18690, + 0x1c34c, + // 820 + 0x18688, + 0x1c346, + 0x18684, + 0x18682, + 0x104a0, + 0x18258, + 0x10da0, + 0x186d8, + 0x1824c, + 0x10d90, + // 830 + 0x186cc, + 0x10d88, + 0x186c6, + 0x10d84, + 0x10482, + 0x10d82, + 0x104d8, + 0x1826e, + 0x10dd8, + 0x186ee, + // 840 + 0x10dcc, + 0x104c6, + 0x10dc6, + 0x104ee, + 0x10dee, + 0x1c750, + 0x1c748, + 0x1c744, + 0x1c742, + 0x18650, + // 850 + 0x18ed0, + 0x1c76c, + 0x1c326, + 0x18ec8, + 0x1c766, + 0x18ec4, + 0x18642, + 0x18ec2, + 0x10450, + 0x10cd0, + // 860 + 0x10448, + 0x18226, + 0x11dd0, + 0x10cc8, + 0x10444, + 0x11dc8, + 0x10cc4, + 0x10442, + 0x11dc4, + 0x10cc2, + // 870 + 0x1046c, + 0x10cec, + 0x10466, + 0x11dec, + 0x10ce6, + 0x11de6, + 0x1e7a8, + 0x1e7a4, + 0x1e7a2, + 0x1c728, + // 880 + 0x1cf68, + 0x1e7b6, + 0x1cf64, + 0x1c722, + 0x1cf62, + 0x18628, + 0x1c316, + 0x18e68, + 0x1c736, + 0x19ee8, + // 890 + 0x18e64, + 0x18622, + 0x19ee4, + 0x18e62, + 0x19ee2, + 0x10428, + 0x18216, + 0x10c68, + 0x18636, + 0x11ce8, + // 900 + 0x10c64, + 0x10422, + 0x13de8, + 0x11ce4, + 0x10c62, + 0x13de4, + 0x11ce2, + 0x10436, + 0x10c76, + 0x11cf6, + // 910 + 0x13df6, + 0x1f7d4, + 0x1f7d2, + 0x1e794, + 0x1efb4, + 0x1e792, + 0x1efb2, + 0x1c714, + 0x1cf34, + 0x1c712, + // 920 + 0x1df74, + 0x1cf32, + 0x1df72, + 0x18614, + 0x18e34, + 0x18612, + 0x19e74, + 0x18e32, + 0x1bef4, + ], + [ + // cluster 3 ----------------------------------------------------------------------- + 0x1f560, + 0x1fab8, + 0x1ea40, + 0x1f530, + 0x1fa9c, + 0x1ea20, + 0x1f518, + 0x1fa8e, + 0x1ea10, + 0x1f50c, + // 10 + 0x1ea08, + 0x1f506, + 0x1ea04, + 0x1eb60, + 0x1f5b8, + 0x1fade, + 0x1d640, + 0x1eb30, + 0x1f59c, + 0x1d620, + // 20 + 0x1eb18, + 0x1f58e, + 0x1d610, + 0x1eb0c, + 0x1d608, + 0x1eb06, + 0x1d604, + 0x1d760, + 0x1ebb8, + 0x1f5de, + // 30 + 0x1ae40, + 0x1d730, + 0x1eb9c, + 0x1ae20, + 0x1d718, + 0x1eb8e, + 0x1ae10, + 0x1d70c, + 0x1ae08, + 0x1d706, + // 40 + 0x1ae04, + 0x1af60, + 0x1d7b8, + 0x1ebde, + 0x15e40, + 0x1af30, + 0x1d79c, + 0x15e20, + 0x1af18, + 0x1d78e, + // 50 + 0x15e10, + 0x1af0c, + 0x15e08, + 0x1af06, + 0x15f60, + 0x1afb8, + 0x1d7de, + 0x15f30, + 0x1af9c, + 0x15f18, + // 60 + 0x1af8e, + 0x15f0c, + 0x15fb8, + 0x1afde, + 0x15f9c, + 0x15f8e, + 0x1e940, + 0x1f4b0, + 0x1fa5c, + 0x1e920, + // 70 + 0x1f498, + 0x1fa4e, + 0x1e910, + 0x1f48c, + 0x1e908, + 0x1f486, + 0x1e904, + 0x1e902, + 0x1d340, + 0x1e9b0, + // 80 + 0x1f4dc, + 0x1d320, + 0x1e998, + 0x1f4ce, + 0x1d310, + 0x1e98c, + 0x1d308, + 0x1e986, + 0x1d304, + 0x1d302, + // 90 + 0x1a740, + 0x1d3b0, + 0x1e9dc, + 0x1a720, + 0x1d398, + 0x1e9ce, + 0x1a710, + 0x1d38c, + 0x1a708, + 0x1d386, + // 100 + 0x1a704, + 0x1a702, + 0x14f40, + 0x1a7b0, + 0x1d3dc, + 0x14f20, + 0x1a798, + 0x1d3ce, + 0x14f10, + 0x1a78c, + // 110 + 0x14f08, + 0x1a786, + 0x14f04, + 0x14fb0, + 0x1a7dc, + 0x14f98, + 0x1a7ce, + 0x14f8c, + 0x14f86, + 0x14fdc, + // 120 + 0x14fce, + 0x1e8a0, + 0x1f458, + 0x1fa2e, + 0x1e890, + 0x1f44c, + 0x1e888, + 0x1f446, + 0x1e884, + 0x1e882, + // 130 + 0x1d1a0, + 0x1e8d8, + 0x1f46e, + 0x1d190, + 0x1e8cc, + 0x1d188, + 0x1e8c6, + 0x1d184, + 0x1d182, + 0x1a3a0, + // 140 + 0x1d1d8, + 0x1e8ee, + 0x1a390, + 0x1d1cc, + 0x1a388, + 0x1d1c6, + 0x1a384, + 0x1a382, + 0x147a0, + 0x1a3d8, + // 150 + 0x1d1ee, + 0x14790, + 0x1a3cc, + 0x14788, + 0x1a3c6, + 0x14784, + 0x14782, + 0x147d8, + 0x1a3ee, + 0x147cc, + // 160 + 0x147c6, + 0x147ee, + 0x1e850, + 0x1f42c, + 0x1e848, + 0x1f426, + 0x1e844, + 0x1e842, + 0x1d0d0, + 0x1e86c, + // 170 + 0x1d0c8, + 0x1e866, + 0x1d0c4, + 0x1d0c2, + 0x1a1d0, + 0x1d0ec, + 0x1a1c8, + 0x1d0e6, + 0x1a1c4, + 0x1a1c2, + // 180 + 0x143d0, + 0x1a1ec, + 0x143c8, + 0x1a1e6, + 0x143c4, + 0x143c2, + 0x143ec, + 0x143e6, + 0x1e828, + 0x1f416, + // 190 + 0x1e824, + 0x1e822, + 0x1d068, + 0x1e836, + 0x1d064, + 0x1d062, + 0x1a0e8, + 0x1d076, + 0x1a0e4, + 0x1a0e2, + // 200 + 0x141e8, + 0x1a0f6, + 0x141e4, + 0x141e2, + 0x1e814, + 0x1e812, + 0x1d034, + 0x1d032, + 0x1a074, + 0x1a072, + // 210 + 0x1e540, + 0x1f2b0, + 0x1f95c, + 0x1e520, + 0x1f298, + 0x1f94e, + 0x1e510, + 0x1f28c, + 0x1e508, + 0x1f286, + // 220 + 0x1e504, + 0x1e502, + 0x1cb40, + 0x1e5b0, + 0x1f2dc, + 0x1cb20, + 0x1e598, + 0x1f2ce, + 0x1cb10, + 0x1e58c, + // 230 + 0x1cb08, + 0x1e586, + 0x1cb04, + 0x1cb02, + 0x19740, + 0x1cbb0, + 0x1e5dc, + 0x19720, + 0x1cb98, + 0x1e5ce, + // 240 + 0x19710, + 0x1cb8c, + 0x19708, + 0x1cb86, + 0x19704, + 0x19702, + 0x12f40, + 0x197b0, + 0x1cbdc, + 0x12f20, + // 250 + 0x19798, + 0x1cbce, + 0x12f10, + 0x1978c, + 0x12f08, + 0x19786, + 0x12f04, + 0x12fb0, + 0x197dc, + 0x12f98, + // 260 + 0x197ce, + 0x12f8c, + 0x12f86, + 0x12fdc, + 0x12fce, + 0x1f6a0, + 0x1fb58, + 0x16bf0, + 0x1f690, + 0x1fb4c, + // 270 + 0x169f8, + 0x1f688, + 0x1fb46, + 0x168fc, + 0x1f684, + 0x1f682, + 0x1e4a0, + 0x1f258, + 0x1f92e, + 0x1eda0, + // 280 + 0x1e490, + 0x1fb6e, + 0x1ed90, + 0x1f6cc, + 0x1f246, + 0x1ed88, + 0x1e484, + 0x1ed84, + 0x1e482, + 0x1ed82, + // 290 + 0x1c9a0, + 0x1e4d8, + 0x1f26e, + 0x1dba0, + 0x1c990, + 0x1e4cc, + 0x1db90, + 0x1edcc, + 0x1e4c6, + 0x1db88, + // 300 + 0x1c984, + 0x1db84, + 0x1c982, + 0x1db82, + 0x193a0, + 0x1c9d8, + 0x1e4ee, + 0x1b7a0, + 0x19390, + 0x1c9cc, + // 310 + 0x1b790, + 0x1dbcc, + 0x1c9c6, + 0x1b788, + 0x19384, + 0x1b784, + 0x19382, + 0x1b782, + 0x127a0, + 0x193d8, + // 320 + 0x1c9ee, + 0x16fa0, + 0x12790, + 0x193cc, + 0x16f90, + 0x1b7cc, + 0x193c6, + 0x16f88, + 0x12784, + 0x16f84, + // 330 + 0x12782, + 0x127d8, + 0x193ee, + 0x16fd8, + 0x127cc, + 0x16fcc, + 0x127c6, + 0x16fc6, + 0x127ee, + 0x1f650, + // 340 + 0x1fb2c, + 0x165f8, + 0x1f648, + 0x1fb26, + 0x164fc, + 0x1f644, + 0x1647e, + 0x1f642, + 0x1e450, + 0x1f22c, + // 350 + 0x1ecd0, + 0x1e448, + 0x1f226, + 0x1ecc8, + 0x1f666, + 0x1ecc4, + 0x1e442, + 0x1ecc2, + 0x1c8d0, + 0x1e46c, + // 360 + 0x1d9d0, + 0x1c8c8, + 0x1e466, + 0x1d9c8, + 0x1ece6, + 0x1d9c4, + 0x1c8c2, + 0x1d9c2, + 0x191d0, + 0x1c8ec, + // 370 + 0x1b3d0, + 0x191c8, + 0x1c8e6, + 0x1b3c8, + 0x1d9e6, + 0x1b3c4, + 0x191c2, + 0x1b3c2, + 0x123d0, + 0x191ec, + // 380 + 0x167d0, + 0x123c8, + 0x191e6, + 0x167c8, + 0x1b3e6, + 0x167c4, + 0x123c2, + 0x167c2, + 0x123ec, + 0x167ec, + // 390 + 0x123e6, + 0x167e6, + 0x1f628, + 0x1fb16, + 0x162fc, + 0x1f624, + 0x1627e, + 0x1f622, + 0x1e428, + 0x1f216, + // 400 + 0x1ec68, + 0x1f636, + 0x1ec64, + 0x1e422, + 0x1ec62, + 0x1c868, + 0x1e436, + 0x1d8e8, + 0x1c864, + 0x1d8e4, + // 410 + 0x1c862, + 0x1d8e2, + 0x190e8, + 0x1c876, + 0x1b1e8, + 0x1d8f6, + 0x1b1e4, + 0x190e2, + 0x1b1e2, + 0x121e8, + // 420 + 0x190f6, + 0x163e8, + 0x121e4, + 0x163e4, + 0x121e2, + 0x163e2, + 0x121f6, + 0x163f6, + 0x1f614, + 0x1617e, + // 430 + 0x1f612, + 0x1e414, + 0x1ec34, + 0x1e412, + 0x1ec32, + 0x1c834, + 0x1d874, + 0x1c832, + 0x1d872, + 0x19074, + // 440 + 0x1b0f4, + 0x19072, + 0x1b0f2, + 0x120f4, + 0x161f4, + 0x120f2, + 0x161f2, + 0x1f60a, + 0x1e40a, + 0x1ec1a, + // 450 + 0x1c81a, + 0x1d83a, + 0x1903a, + 0x1b07a, + 0x1e2a0, + 0x1f158, + 0x1f8ae, + 0x1e290, + 0x1f14c, + 0x1e288, + // 460 + 0x1f146, + 0x1e284, + 0x1e282, + 0x1c5a0, + 0x1e2d8, + 0x1f16e, + 0x1c590, + 0x1e2cc, + 0x1c588, + 0x1e2c6, + // 470 + 0x1c584, + 0x1c582, + 0x18ba0, + 0x1c5d8, + 0x1e2ee, + 0x18b90, + 0x1c5cc, + 0x18b88, + 0x1c5c6, + 0x18b84, + // 480 + 0x18b82, + 0x117a0, + 0x18bd8, + 0x1c5ee, + 0x11790, + 0x18bcc, + 0x11788, + 0x18bc6, + 0x11784, + 0x11782, + // 490 + 0x117d8, + 0x18bee, + 0x117cc, + 0x117c6, + 0x117ee, + 0x1f350, + 0x1f9ac, + 0x135f8, + 0x1f348, + 0x1f9a6, + // 500 + 0x134fc, + 0x1f344, + 0x1347e, + 0x1f342, + 0x1e250, + 0x1f12c, + 0x1e6d0, + 0x1e248, + 0x1f126, + 0x1e6c8, + // 510 + 0x1f366, + 0x1e6c4, + 0x1e242, + 0x1e6c2, + 0x1c4d0, + 0x1e26c, + 0x1cdd0, + 0x1c4c8, + 0x1e266, + 0x1cdc8, + // 520 + 0x1e6e6, + 0x1cdc4, + 0x1c4c2, + 0x1cdc2, + 0x189d0, + 0x1c4ec, + 0x19bd0, + 0x189c8, + 0x1c4e6, + 0x19bc8, + // 530 + 0x1cde6, + 0x19bc4, + 0x189c2, + 0x19bc2, + 0x113d0, + 0x189ec, + 0x137d0, + 0x113c8, + 0x189e6, + 0x137c8, + // 540 + 0x19be6, + 0x137c4, + 0x113c2, + 0x137c2, + 0x113ec, + 0x137ec, + 0x113e6, + 0x137e6, + 0x1fba8, + 0x175f0, + // 550 + 0x1bafc, + 0x1fba4, + 0x174f8, + 0x1ba7e, + 0x1fba2, + 0x1747c, + 0x1743e, + 0x1f328, + 0x1f996, + 0x132fc, + // 560 + 0x1f768, + 0x1fbb6, + 0x176fc, + 0x1327e, + 0x1f764, + 0x1f322, + 0x1767e, + 0x1f762, + 0x1e228, + 0x1f116, + // 570 + 0x1e668, + 0x1e224, + 0x1eee8, + 0x1f776, + 0x1e222, + 0x1eee4, + 0x1e662, + 0x1eee2, + 0x1c468, + 0x1e236, + // 580 + 0x1cce8, + 0x1c464, + 0x1dde8, + 0x1cce4, + 0x1c462, + 0x1dde4, + 0x1cce2, + 0x1dde2, + 0x188e8, + 0x1c476, + // 590 + 0x199e8, + 0x188e4, + 0x1bbe8, + 0x199e4, + 0x188e2, + 0x1bbe4, + 0x199e2, + 0x1bbe2, + 0x111e8, + 0x188f6, + // 600 + 0x133e8, + 0x111e4, + 0x177e8, + 0x133e4, + 0x111e2, + 0x177e4, + 0x133e2, + 0x177e2, + 0x111f6, + 0x133f6, + // 610 + 0x1fb94, + 0x172f8, + 0x1b97e, + 0x1fb92, + 0x1727c, + 0x1723e, + 0x1f314, + 0x1317e, + 0x1f734, + 0x1f312, + // 620 + 0x1737e, + 0x1f732, + 0x1e214, + 0x1e634, + 0x1e212, + 0x1ee74, + 0x1e632, + 0x1ee72, + 0x1c434, + 0x1cc74, + // 630 + 0x1c432, + 0x1dcf4, + 0x1cc72, + 0x1dcf2, + 0x18874, + 0x198f4, + 0x18872, + 0x1b9f4, + 0x198f2, + 0x1b9f2, + // 640 + 0x110f4, + 0x131f4, + 0x110f2, + 0x173f4, + 0x131f2, + 0x173f2, + 0x1fb8a, + 0x1717c, + 0x1713e, + 0x1f30a, + // 650 + 0x1f71a, + 0x1e20a, + 0x1e61a, + 0x1ee3a, + 0x1c41a, + 0x1cc3a, + 0x1dc7a, + 0x1883a, + 0x1987a, + 0x1b8fa, + // 660 + 0x1107a, + 0x130fa, + 0x171fa, + 0x170be, + 0x1e150, + 0x1f0ac, + 0x1e148, + 0x1f0a6, + 0x1e144, + 0x1e142, + // 670 + 0x1c2d0, + 0x1e16c, + 0x1c2c8, + 0x1e166, + 0x1c2c4, + 0x1c2c2, + 0x185d0, + 0x1c2ec, + 0x185c8, + 0x1c2e6, + // 680 + 0x185c4, + 0x185c2, + 0x10bd0, + 0x185ec, + 0x10bc8, + 0x185e6, + 0x10bc4, + 0x10bc2, + 0x10bec, + 0x10be6, + // 690 + 0x1f1a8, + 0x1f8d6, + 0x11afc, + 0x1f1a4, + 0x11a7e, + 0x1f1a2, + 0x1e128, + 0x1f096, + 0x1e368, + 0x1e124, + // 700 + 0x1e364, + 0x1e122, + 0x1e362, + 0x1c268, + 0x1e136, + 0x1c6e8, + 0x1c264, + 0x1c6e4, + 0x1c262, + 0x1c6e2, + // 710 + 0x184e8, + 0x1c276, + 0x18de8, + 0x184e4, + 0x18de4, + 0x184e2, + 0x18de2, + 0x109e8, + 0x184f6, + 0x11be8, + // 720 + 0x109e4, + 0x11be4, + 0x109e2, + 0x11be2, + 0x109f6, + 0x11bf6, + 0x1f9d4, + 0x13af8, + 0x19d7e, + 0x1f9d2, + // 730 + 0x13a7c, + 0x13a3e, + 0x1f194, + 0x1197e, + 0x1f3b4, + 0x1f192, + 0x13b7e, + 0x1f3b2, + 0x1e114, + 0x1e334, + // 740 + 0x1e112, + 0x1e774, + 0x1e332, + 0x1e772, + 0x1c234, + 0x1c674, + 0x1c232, + 0x1cef4, + 0x1c672, + 0x1cef2, + // 750 + 0x18474, + 0x18cf4, + 0x18472, + 0x19df4, + 0x18cf2, + 0x19df2, + 0x108f4, + 0x119f4, + 0x108f2, + 0x13bf4, + // 760 + 0x119f2, + 0x13bf2, + 0x17af0, + 0x1bd7c, + 0x17a78, + 0x1bd3e, + 0x17a3c, + 0x17a1e, + 0x1f9ca, + 0x1397c, + // 770 + 0x1fbda, + 0x17b7c, + 0x1393e, + 0x17b3e, + 0x1f18a, + 0x1f39a, + 0x1f7ba, + 0x1e10a, + 0x1e31a, + 0x1e73a, + // 780 + 0x1ef7a, + 0x1c21a, + 0x1c63a, + 0x1ce7a, + 0x1defa, + 0x1843a, + 0x18c7a, + 0x19cfa, + 0x1bdfa, + 0x1087a, + // 790 + 0x118fa, + 0x139fa, + 0x17978, + 0x1bcbe, + 0x1793c, + 0x1791e, + 0x138be, + 0x179be, + 0x178bc, + 0x1789e, + // 800 + 0x1785e, + 0x1e0a8, + 0x1e0a4, + 0x1e0a2, + 0x1c168, + 0x1e0b6, + 0x1c164, + 0x1c162, + 0x182e8, + 0x1c176, + // 810 + 0x182e4, + 0x182e2, + 0x105e8, + 0x182f6, + 0x105e4, + 0x105e2, + 0x105f6, + 0x1f0d4, + 0x10d7e, + 0x1f0d2, + // 820 + 0x1e094, + 0x1e1b4, + 0x1e092, + 0x1e1b2, + 0x1c134, + 0x1c374, + 0x1c132, + 0x1c372, + 0x18274, + 0x186f4, + // 830 + 0x18272, + 0x186f2, + 0x104f4, + 0x10df4, + 0x104f2, + 0x10df2, + 0x1f8ea, + 0x11d7c, + 0x11d3e, + 0x1f0ca, + // 840 + 0x1f1da, + 0x1e08a, + 0x1e19a, + 0x1e3ba, + 0x1c11a, + 0x1c33a, + 0x1c77a, + 0x1823a, + 0x1867a, + 0x18efa, + // 850 + 0x1047a, + 0x10cfa, + 0x11dfa, + 0x13d78, + 0x19ebe, + 0x13d3c, + 0x13d1e, + 0x11cbe, + 0x13dbe, + 0x17d70, + // 860 + 0x1bebc, + 0x17d38, + 0x1be9e, + 0x17d1c, + 0x17d0e, + 0x13cbc, + 0x17dbc, + 0x13c9e, + 0x17d9e, + 0x17cb8, + // 870 + 0x1be5e, + 0x17c9c, + 0x17c8e, + 0x13c5e, + 0x17cde, + 0x17c5c, + 0x17c4e, + 0x17c2e, + 0x1c0b4, + 0x1c0b2, + // 880 + 0x18174, + 0x18172, + 0x102f4, + 0x102f2, + 0x1e0da, + 0x1c09a, + 0x1c1ba, + 0x1813a, + 0x1837a, + 0x1027a, + // 890 + 0x106fa, + 0x10ebe, + 0x11ebc, + 0x11e9e, + 0x13eb8, + 0x19f5e, + 0x13e9c, + 0x13e8e, + 0x11e5e, + 0x13ede, + // 900 + 0x17eb0, + 0x1bf5c, + 0x17e98, + 0x1bf4e, + 0x17e8c, + 0x17e86, + 0x13e5c, + 0x17edc, + 0x13e4e, + 0x17ece, + // 910 + 0x17e58, + 0x1bf2e, + 0x17e4c, + 0x17e46, + 0x13e2e, + 0x17e6e, + 0x17e2c, + 0x17e26, + 0x10f5e, + 0x11f5c, + // 920 + 0x11f4e, + 0x13f58, + 0x19fae, + 0x13f4c, + 0x13f46, + 0x11f2e, + 0x13f6e, + 0x13f2c, + 0x13f26, + ], + [ + // cluster 6 ----------------------------------------------------------------------- + 0x1abe0, + 0x1d5f8, + 0x153c0, + 0x1a9f0, + 0x1d4fc, + 0x151e0, + 0x1a8f8, + 0x1d47e, + 0x150f0, + 0x1a87c, + // 10 + 0x15078, + 0x1fad0, + 0x15be0, + 0x1adf8, + 0x1fac8, + 0x159f0, + 0x1acfc, + 0x1fac4, + 0x158f8, + 0x1ac7e, + // 20 + 0x1fac2, + 0x1587c, + 0x1f5d0, + 0x1faec, + 0x15df8, + 0x1f5c8, + 0x1fae6, + 0x15cfc, + 0x1f5c4, + 0x15c7e, + // 30 + 0x1f5c2, + 0x1ebd0, + 0x1f5ec, + 0x1ebc8, + 0x1f5e6, + 0x1ebc4, + 0x1ebc2, + 0x1d7d0, + 0x1ebec, + 0x1d7c8, + // 40 + 0x1ebe6, + 0x1d7c4, + 0x1d7c2, + 0x1afd0, + 0x1d7ec, + 0x1afc8, + 0x1d7e6, + 0x1afc4, + 0x14bc0, + 0x1a5f0, + // 50 + 0x1d2fc, + 0x149e0, + 0x1a4f8, + 0x1d27e, + 0x148f0, + 0x1a47c, + 0x14878, + 0x1a43e, + 0x1483c, + 0x1fa68, + // 60 + 0x14df0, + 0x1a6fc, + 0x1fa64, + 0x14cf8, + 0x1a67e, + 0x1fa62, + 0x14c7c, + 0x14c3e, + 0x1f4e8, + 0x1fa76, + // 70 + 0x14efc, + 0x1f4e4, + 0x14e7e, + 0x1f4e2, + 0x1e9e8, + 0x1f4f6, + 0x1e9e4, + 0x1e9e2, + 0x1d3e8, + 0x1e9f6, + // 80 + 0x1d3e4, + 0x1d3e2, + 0x1a7e8, + 0x1d3f6, + 0x1a7e4, + 0x1a7e2, + 0x145e0, + 0x1a2f8, + 0x1d17e, + 0x144f0, + // 90 + 0x1a27c, + 0x14478, + 0x1a23e, + 0x1443c, + 0x1441e, + 0x1fa34, + 0x146f8, + 0x1a37e, + 0x1fa32, + 0x1467c, + // 100 + 0x1463e, + 0x1f474, + 0x1477e, + 0x1f472, + 0x1e8f4, + 0x1e8f2, + 0x1d1f4, + 0x1d1f2, + 0x1a3f4, + 0x1a3f2, + // 110 + 0x142f0, + 0x1a17c, + 0x14278, + 0x1a13e, + 0x1423c, + 0x1421e, + 0x1fa1a, + 0x1437c, + 0x1433e, + 0x1f43a, + // 120 + 0x1e87a, + 0x1d0fa, + 0x14178, + 0x1a0be, + 0x1413c, + 0x1411e, + 0x141be, + 0x140bc, + 0x1409e, + 0x12bc0, + // 130 + 0x195f0, + 0x1cafc, + 0x129e0, + 0x194f8, + 0x1ca7e, + 0x128f0, + 0x1947c, + 0x12878, + 0x1943e, + 0x1283c, + // 140 + 0x1f968, + 0x12df0, + 0x196fc, + 0x1f964, + 0x12cf8, + 0x1967e, + 0x1f962, + 0x12c7c, + 0x12c3e, + 0x1f2e8, + // 150 + 0x1f976, + 0x12efc, + 0x1f2e4, + 0x12e7e, + 0x1f2e2, + 0x1e5e8, + 0x1f2f6, + 0x1e5e4, + 0x1e5e2, + 0x1cbe8, + // 160 + 0x1e5f6, + 0x1cbe4, + 0x1cbe2, + 0x197e8, + 0x1cbf6, + 0x197e4, + 0x197e2, + 0x1b5e0, + 0x1daf8, + 0x1ed7e, + // 170 + 0x169c0, + 0x1b4f0, + 0x1da7c, + 0x168e0, + 0x1b478, + 0x1da3e, + 0x16870, + 0x1b43c, + 0x16838, + 0x1b41e, + // 180 + 0x1681c, + 0x125e0, + 0x192f8, + 0x1c97e, + 0x16de0, + 0x124f0, + 0x1927c, + 0x16cf0, + 0x1b67c, + 0x1923e, + // 190 + 0x16c78, + 0x1243c, + 0x16c3c, + 0x1241e, + 0x16c1e, + 0x1f934, + 0x126f8, + 0x1937e, + 0x1fb74, + 0x1f932, + // 200 + 0x16ef8, + 0x1267c, + 0x1fb72, + 0x16e7c, + 0x1263e, + 0x16e3e, + 0x1f274, + 0x1277e, + 0x1f6f4, + 0x1f272, + // 210 + 0x16f7e, + 0x1f6f2, + 0x1e4f4, + 0x1edf4, + 0x1e4f2, + 0x1edf2, + 0x1c9f4, + 0x1dbf4, + 0x1c9f2, + 0x1dbf2, + // 220 + 0x193f4, + 0x193f2, + 0x165c0, + 0x1b2f0, + 0x1d97c, + 0x164e0, + 0x1b278, + 0x1d93e, + 0x16470, + 0x1b23c, + // 230 + 0x16438, + 0x1b21e, + 0x1641c, + 0x1640e, + 0x122f0, + 0x1917c, + 0x166f0, + 0x12278, + 0x1913e, + 0x16678, + // 240 + 0x1b33e, + 0x1663c, + 0x1221e, + 0x1661e, + 0x1f91a, + 0x1237c, + 0x1fb3a, + 0x1677c, + 0x1233e, + 0x1673e, + // 250 + 0x1f23a, + 0x1f67a, + 0x1e47a, + 0x1ecfa, + 0x1c8fa, + 0x1d9fa, + 0x191fa, + 0x162e0, + 0x1b178, + 0x1d8be, + // 260 + 0x16270, + 0x1b13c, + 0x16238, + 0x1b11e, + 0x1621c, + 0x1620e, + 0x12178, + 0x190be, + 0x16378, + 0x1213c, + // 270 + 0x1633c, + 0x1211e, + 0x1631e, + 0x121be, + 0x163be, + 0x16170, + 0x1b0bc, + 0x16138, + 0x1b09e, + 0x1611c, + // 280 + 0x1610e, + 0x120bc, + 0x161bc, + 0x1209e, + 0x1619e, + 0x160b8, + 0x1b05e, + 0x1609c, + 0x1608e, + 0x1205e, + // 290 + 0x160de, + 0x1605c, + 0x1604e, + 0x115e0, + 0x18af8, + 0x1c57e, + 0x114f0, + 0x18a7c, + 0x11478, + 0x18a3e, + // 300 + 0x1143c, + 0x1141e, + 0x1f8b4, + 0x116f8, + 0x18b7e, + 0x1f8b2, + 0x1167c, + 0x1163e, + 0x1f174, + 0x1177e, + // 310 + 0x1f172, + 0x1e2f4, + 0x1e2f2, + 0x1c5f4, + 0x1c5f2, + 0x18bf4, + 0x18bf2, + 0x135c0, + 0x19af0, + 0x1cd7c, + // 320 + 0x134e0, + 0x19a78, + 0x1cd3e, + 0x13470, + 0x19a3c, + 0x13438, + 0x19a1e, + 0x1341c, + 0x1340e, + 0x112f0, + // 330 + 0x1897c, + 0x136f0, + 0x11278, + 0x1893e, + 0x13678, + 0x19b3e, + 0x1363c, + 0x1121e, + 0x1361e, + 0x1f89a, + // 340 + 0x1137c, + 0x1f9ba, + 0x1377c, + 0x1133e, + 0x1373e, + 0x1f13a, + 0x1f37a, + 0x1e27a, + 0x1e6fa, + 0x1c4fa, + // 350 + 0x1cdfa, + 0x189fa, + 0x1bae0, + 0x1dd78, + 0x1eebe, + 0x174c0, + 0x1ba70, + 0x1dd3c, + 0x17460, + 0x1ba38, + // 360 + 0x1dd1e, + 0x17430, + 0x1ba1c, + 0x17418, + 0x1ba0e, + 0x1740c, + 0x132e0, + 0x19978, + 0x1ccbe, + 0x176e0, + // 370 + 0x13270, + 0x1993c, + 0x17670, + 0x1bb3c, + 0x1991e, + 0x17638, + 0x1321c, + 0x1761c, + 0x1320e, + 0x1760e, + // 380 + 0x11178, + 0x188be, + 0x13378, + 0x1113c, + 0x17778, + 0x1333c, + 0x1111e, + 0x1773c, + 0x1331e, + 0x1771e, + // 390 + 0x111be, + 0x133be, + 0x177be, + 0x172c0, + 0x1b970, + 0x1dcbc, + 0x17260, + 0x1b938, + 0x1dc9e, + 0x17230, + // 400 + 0x1b91c, + 0x17218, + 0x1b90e, + 0x1720c, + 0x17206, + 0x13170, + 0x198bc, + 0x17370, + 0x13138, + 0x1989e, + // 410 + 0x17338, + 0x1b99e, + 0x1731c, + 0x1310e, + 0x1730e, + 0x110bc, + 0x131bc, + 0x1109e, + 0x173bc, + 0x1319e, + // 420 + 0x1739e, + 0x17160, + 0x1b8b8, + 0x1dc5e, + 0x17130, + 0x1b89c, + 0x17118, + 0x1b88e, + 0x1710c, + 0x17106, + // 430 + 0x130b8, + 0x1985e, + 0x171b8, + 0x1309c, + 0x1719c, + 0x1308e, + 0x1718e, + 0x1105e, + 0x130de, + 0x171de, + // 440 + 0x170b0, + 0x1b85c, + 0x17098, + 0x1b84e, + 0x1708c, + 0x17086, + 0x1305c, + 0x170dc, + 0x1304e, + 0x170ce, + // 450 + 0x17058, + 0x1b82e, + 0x1704c, + 0x17046, + 0x1302e, + 0x1706e, + 0x1702c, + 0x17026, + 0x10af0, + 0x1857c, + // 460 + 0x10a78, + 0x1853e, + 0x10a3c, + 0x10a1e, + 0x10b7c, + 0x10b3e, + 0x1f0ba, + 0x1e17a, + 0x1c2fa, + 0x185fa, + // 470 + 0x11ae0, + 0x18d78, + 0x1c6be, + 0x11a70, + 0x18d3c, + 0x11a38, + 0x18d1e, + 0x11a1c, + 0x11a0e, + 0x10978, + // 480 + 0x184be, + 0x11b78, + 0x1093c, + 0x11b3c, + 0x1091e, + 0x11b1e, + 0x109be, + 0x11bbe, + 0x13ac0, + 0x19d70, + // 490 + 0x1cebc, + 0x13a60, + 0x19d38, + 0x1ce9e, + 0x13a30, + 0x19d1c, + 0x13a18, + 0x19d0e, + 0x13a0c, + 0x13a06, + // 500 + 0x11970, + 0x18cbc, + 0x13b70, + 0x11938, + 0x18c9e, + 0x13b38, + 0x1191c, + 0x13b1c, + 0x1190e, + 0x13b0e, + // 510 + 0x108bc, + 0x119bc, + 0x1089e, + 0x13bbc, + 0x1199e, + 0x13b9e, + 0x1bd60, + 0x1deb8, + 0x1ef5e, + 0x17a40, + // 520 + 0x1bd30, + 0x1de9c, + 0x17a20, + 0x1bd18, + 0x1de8e, + 0x17a10, + 0x1bd0c, + 0x17a08, + 0x1bd06, + 0x17a04, + // 530 + 0x13960, + 0x19cb8, + 0x1ce5e, + 0x17b60, + 0x13930, + 0x19c9c, + 0x17b30, + 0x1bd9c, + 0x19c8e, + 0x17b18, + // 540 + 0x1390c, + 0x17b0c, + 0x13906, + 0x17b06, + 0x118b8, + 0x18c5e, + 0x139b8, + 0x1189c, + 0x17bb8, + 0x1399c, + // 550 + 0x1188e, + 0x17b9c, + 0x1398e, + 0x17b8e, + 0x1085e, + 0x118de, + 0x139de, + 0x17bde, + 0x17940, + 0x1bcb0, + // 560 + 0x1de5c, + 0x17920, + 0x1bc98, + 0x1de4e, + 0x17910, + 0x1bc8c, + 0x17908, + 0x1bc86, + 0x17904, + 0x17902, + // 570 + 0x138b0, + 0x19c5c, + 0x179b0, + 0x13898, + 0x19c4e, + 0x17998, + 0x1bcce, + 0x1798c, + 0x13886, + 0x17986, + // 580 + 0x1185c, + 0x138dc, + 0x1184e, + 0x179dc, + 0x138ce, + 0x179ce, + 0x178a0, + 0x1bc58, + 0x1de2e, + 0x17890, + // 590 + 0x1bc4c, + 0x17888, + 0x1bc46, + 0x17884, + 0x17882, + 0x13858, + 0x19c2e, + 0x178d8, + 0x1384c, + 0x178cc, + // 600 + 0x13846, + 0x178c6, + 0x1182e, + 0x1386e, + 0x178ee, + 0x17850, + 0x1bc2c, + 0x17848, + 0x1bc26, + 0x17844, + // 610 + 0x17842, + 0x1382c, + 0x1786c, + 0x13826, + 0x17866, + 0x17828, + 0x1bc16, + 0x17824, + 0x17822, + 0x13816, + // 620 + 0x17836, + 0x10578, + 0x182be, + 0x1053c, + 0x1051e, + 0x105be, + 0x10d70, + 0x186bc, + 0x10d38, + 0x1869e, + // 630 + 0x10d1c, + 0x10d0e, + 0x104bc, + 0x10dbc, + 0x1049e, + 0x10d9e, + 0x11d60, + 0x18eb8, + 0x1c75e, + 0x11d30, + // 640 + 0x18e9c, + 0x11d18, + 0x18e8e, + 0x11d0c, + 0x11d06, + 0x10cb8, + 0x1865e, + 0x11db8, + 0x10c9c, + 0x11d9c, + // 650 + 0x10c8e, + 0x11d8e, + 0x1045e, + 0x10cde, + 0x11dde, + 0x13d40, + 0x19eb0, + 0x1cf5c, + 0x13d20, + 0x19e98, + // 660 + 0x1cf4e, + 0x13d10, + 0x19e8c, + 0x13d08, + 0x19e86, + 0x13d04, + 0x13d02, + 0x11cb0, + 0x18e5c, + 0x13db0, + // 670 + 0x11c98, + 0x18e4e, + 0x13d98, + 0x19ece, + 0x13d8c, + 0x11c86, + 0x13d86, + 0x10c5c, + 0x11cdc, + 0x10c4e, + // 680 + 0x13ddc, + 0x11cce, + 0x13dce, + 0x1bea0, + 0x1df58, + 0x1efae, + 0x1be90, + 0x1df4c, + 0x1be88, + 0x1df46, + // 690 + 0x1be84, + 0x1be82, + 0x13ca0, + 0x19e58, + 0x1cf2e, + 0x17da0, + 0x13c90, + 0x19e4c, + 0x17d90, + 0x1becc, + // 700 + 0x19e46, + 0x17d88, + 0x13c84, + 0x17d84, + 0x13c82, + 0x17d82, + 0x11c58, + 0x18e2e, + 0x13cd8, + 0x11c4c, + // 710 + 0x17dd8, + 0x13ccc, + 0x11c46, + 0x17dcc, + 0x13cc6, + 0x17dc6, + 0x10c2e, + 0x11c6e, + 0x13cee, + 0x17dee, + // 720 + 0x1be50, + 0x1df2c, + 0x1be48, + 0x1df26, + 0x1be44, + 0x1be42, + 0x13c50, + 0x19e2c, + 0x17cd0, + 0x13c48, + // 730 + 0x19e26, + 0x17cc8, + 0x1be66, + 0x17cc4, + 0x13c42, + 0x17cc2, + 0x11c2c, + 0x13c6c, + 0x11c26, + 0x17cec, + // 740 + 0x13c66, + 0x17ce6, + 0x1be28, + 0x1df16, + 0x1be24, + 0x1be22, + 0x13c28, + 0x19e16, + 0x17c68, + 0x13c24, + // 750 + 0x17c64, + 0x13c22, + 0x17c62, + 0x11c16, + 0x13c36, + 0x17c76, + 0x1be14, + 0x1be12, + 0x13c14, + 0x17c34, + // 760 + 0x13c12, + 0x17c32, + 0x102bc, + 0x1029e, + 0x106b8, + 0x1835e, + 0x1069c, + 0x1068e, + 0x1025e, + 0x106de, + // 770 + 0x10eb0, + 0x1875c, + 0x10e98, + 0x1874e, + 0x10e8c, + 0x10e86, + 0x1065c, + 0x10edc, + 0x1064e, + 0x10ece, + // 780 + 0x11ea0, + 0x18f58, + 0x1c7ae, + 0x11e90, + 0x18f4c, + 0x11e88, + 0x18f46, + 0x11e84, + 0x11e82, + 0x10e58, + // 790 + 0x1872e, + 0x11ed8, + 0x18f6e, + 0x11ecc, + 0x10e46, + 0x11ec6, + 0x1062e, + 0x10e6e, + 0x11eee, + 0x19f50, + // 800 + 0x1cfac, + 0x19f48, + 0x1cfa6, + 0x19f44, + 0x19f42, + 0x11e50, + 0x18f2c, + 0x13ed0, + 0x19f6c, + 0x18f26, + // 810 + 0x13ec8, + 0x11e44, + 0x13ec4, + 0x11e42, + 0x13ec2, + 0x10e2c, + 0x11e6c, + 0x10e26, + 0x13eec, + 0x11e66, + // 820 + 0x13ee6, + 0x1dfa8, + 0x1efd6, + 0x1dfa4, + 0x1dfa2, + 0x19f28, + 0x1cf96, + 0x1bf68, + 0x19f24, + 0x1bf64, + // 830 + 0x19f22, + 0x1bf62, + 0x11e28, + 0x18f16, + 0x13e68, + 0x11e24, + 0x17ee8, + 0x13e64, + 0x11e22, + 0x17ee4, + // 840 + 0x13e62, + 0x17ee2, + 0x10e16, + 0x11e36, + 0x13e76, + 0x17ef6, + 0x1df94, + 0x1df92, + 0x19f14, + 0x1bf34, + // 850 + 0x19f12, + 0x1bf32, + 0x11e14, + 0x13e34, + 0x11e12, + 0x17e74, + 0x13e32, + 0x17e72, + 0x1df8a, + 0x19f0a, + // 860 + 0x1bf1a, + 0x11e0a, + 0x13e1a, + 0x17e3a, + 0x1035c, + 0x1034e, + 0x10758, + 0x183ae, + 0x1074c, + 0x10746, + // 870 + 0x1032e, + 0x1076e, + 0x10f50, + 0x187ac, + 0x10f48, + 0x187a6, + 0x10f44, + 0x10f42, + 0x1072c, + 0x10f6c, + // 880 + 0x10726, + 0x10f66, + 0x18fa8, + 0x1c7d6, + 0x18fa4, + 0x18fa2, + 0x10f28, + 0x18796, + 0x11f68, + 0x18fb6, + // 890 + 0x11f64, + 0x10f22, + 0x11f62, + 0x10716, + 0x10f36, + 0x11f76, + 0x1cfd4, + 0x1cfd2, + 0x18f94, + 0x19fb4, + // 900 + 0x18f92, + 0x19fb2, + 0x10f14, + 0x11f34, + 0x10f12, + 0x13f74, + 0x11f32, + 0x13f72, + 0x1cfca, + 0x18f8a, + // 910 + 0x19f9a, + 0x10f0a, + 0x11f1a, + 0x13f3a, + 0x103ac, + 0x103a6, + 0x107a8, + 0x183d6, + 0x107a4, + 0x107a2, + // 920 + 0x10396, + 0x107b6, + 0x187d4, + 0x187d2, + 0x10794, + 0x10fb4, + 0x10792, + 0x10fb2, + 0x1c7ea, + ], + ]; + + /** + * Array of factors of the Reed-Solomon polynomial equations used for error correction; + * One sub array for each correction level (0-8). + * + * @var array> + */ + public const RS_FACTORS = [ + [ + // ECL 0 (2 factors) ------------------------------------------------------------------------------- + 0x01b, + 0x395, + ], + [ + // ECL 1 (4 factors) ------------------------------------------------------------------------------- + 0x20a, + 0x238, + 0x2d3, + 0x329, + ], + [ + // ECL 2 (8 factors) ------------------------------------------------------------------------------- + 0x0ed, + 0x134, + 0x1b4, + 0x11c, + 0x286, + 0x28d, + 0x1ac, + 0x17b, + ], + [ + // ECL 3 (16 factors) ------------------------------------------------------------------------------ + 0x112, + 0x232, + 0x0e8, + 0x2f3, + 0x257, + 0x20c, + 0x321, + 0x084, + 0x127, + 0x074, + 0x1ba, + 0x1ac, + 0x127, + 0x02a, + 0x0b0, + 0x041, + ], + [ + // ECL 4 (32 factors) ------------------------------------------------------------------------------ + 0x169, + 0x23f, + 0x39a, + 0x20d, + 0x0b0, + 0x24a, + 0x280, + 0x141, + 0x218, + 0x2e6, + 0x2a5, + 0x2e6, + 0x2af, + 0x11c, + 0x0c1, + 0x205, + // 16 + 0x111, + 0x1ee, + 0x107, + 0x093, + 0x251, + 0x320, + 0x23b, + 0x140, + 0x323, + 0x085, + 0x0e7, + 0x186, + 0x2ad, + 0x14a, + 0x03f, + 0x19a, + ], + [ + // ECL 5 (64 factors) ------------------------------------------------------------------------------ + 0x21b, + 0x1a6, + 0x006, + 0x05d, + 0x35e, + 0x303, + 0x1c5, + 0x06a, + 0x262, + 0x11f, + 0x06b, + 0x1f9, + 0x2dd, + 0x36d, + 0x17d, + 0x264, + // 16 + 0x2d3, + 0x1dc, + 0x1ce, + 0x0ac, + 0x1ae, + 0x261, + 0x35a, + 0x336, + 0x21f, + 0x178, + 0x1ff, + 0x190, + 0x2a0, + 0x2fa, + 0x11b, + 0x0b8, + // 32 + 0x1b8, + 0x023, + 0x207, + 0x01f, + 0x1cc, + 0x252, + 0x0e1, + 0x217, + 0x205, + 0x160, + 0x25d, + 0x09e, + 0x28b, + 0x0c9, + 0x1e8, + 0x1f6, + // 48 + 0x288, + 0x2dd, + 0x2cd, + 0x053, + 0x194, + 0x061, + 0x118, + 0x303, + 0x348, + 0x275, + 0x004, + 0x17d, + 0x34b, + 0x26f, + 0x108, + 0x21f, + ], + [ + // ECL 6 (128 factors) ----------------------------------------------------------------------------- + 0x209, + 0x136, + 0x360, + 0x223, + 0x35a, + 0x244, + 0x128, + 0x17b, + 0x035, + 0x30b, + 0x381, + 0x1bc, + 0x190, + 0x39d, + 0x2ed, + 0x19f, + // 16 + 0x336, + 0x05d, + 0x0d9, + 0x0d0, + 0x3a0, + 0x0f4, + 0x247, + 0x26c, + 0x0f6, + 0x094, + 0x1bf, + 0x277, + 0x124, + 0x38c, + 0x1ea, + 0x2c0, + // 32 + 0x204, + 0x102, + 0x1c9, + 0x38b, + 0x252, + 0x2d3, + 0x2a2, + 0x124, + 0x110, + 0x060, + 0x2ac, + 0x1b0, + 0x2ae, + 0x25e, + 0x35c, + 0x239, + // 48 + 0x0c1, + 0x0db, + 0x081, + 0x0ba, + 0x0ec, + 0x11f, + 0x0c0, + 0x307, + 0x116, + 0x0ad, + 0x028, + 0x17b, + 0x2c8, + 0x1cf, + 0x286, + 0x308, + // 64 + 0x0ab, + 0x1eb, + 0x129, + 0x2fb, + 0x09c, + 0x2dc, + 0x05f, + 0x10e, + 0x1bf, + 0x05a, + 0x1fb, + 0x030, + 0x0e4, + 0x335, + 0x328, + 0x382, + // 80 + 0x310, + 0x297, + 0x273, + 0x17a, + 0x17e, + 0x106, + 0x17c, + 0x25a, + 0x2f2, + 0x150, + 0x059, + 0x266, + 0x057, + 0x1b0, + 0x29e, + 0x268, + // 96 + 0x09d, + 0x176, + 0x0f2, + 0x2d6, + 0x258, + 0x10d, + 0x177, + 0x382, + 0x34d, + 0x1c6, + 0x162, + 0x082, + 0x32e, + 0x24b, + 0x324, + 0x022, + // 112 + 0x0d3, + 0x14a, + 0x21b, + 0x129, + 0x33b, + 0x361, + 0x025, + 0x205, + 0x342, + 0x13b, + 0x226, + 0x056, + 0x321, + 0x004, + 0x06c, + 0x21b, + ], + [ + // ECL 7 (256 factors) ----------------------------------------------------------------------------- + 0x20c, + 0x37e, + 0x04b, + 0x2fe, + 0x372, + 0x359, + 0x04a, + 0x0cc, + 0x052, + 0x24a, + 0x2c4, + 0x0fa, + 0x389, + 0x312, + 0x08a, + 0x2d0, + // 16 + 0x35a, + 0x0c2, + 0x137, + 0x391, + 0x113, + 0x0be, + 0x177, + 0x352, + 0x1b6, + 0x2dd, + 0x0c2, + 0x118, + 0x0c9, + 0x118, + 0x33c, + 0x2f5, + // 32 + 0x2c6, + 0x32e, + 0x397, + 0x059, + 0x044, + 0x239, + 0x00b, + 0x0cc, + 0x31c, + 0x25d, + 0x21c, + 0x391, + 0x321, + 0x2bc, + 0x31f, + 0x089, + // 48 + 0x1b7, + 0x1a2, + 0x250, + 0x29c, + 0x161, + 0x35b, + 0x172, + 0x2b6, + 0x145, + 0x0f0, + 0x0d8, + 0x101, + 0x11c, + 0x225, + 0x0d1, + 0x374, + // 64 + 0x13b, + 0x046, + 0x149, + 0x319, + 0x1ea, + 0x112, + 0x36d, + 0x0a2, + 0x2ed, + 0x32c, + 0x2ac, + 0x1cd, + 0x14e, + 0x178, + 0x351, + 0x209, + // 80 + 0x133, + 0x123, + 0x323, + 0x2c8, + 0x013, + 0x166, + 0x18f, + 0x38c, + 0x067, + 0x1ff, + 0x033, + 0x008, + 0x205, + 0x0e1, + 0x121, + 0x1d6, + // 96 + 0x27d, + 0x2db, + 0x042, + 0x0ff, + 0x395, + 0x10d, + 0x1cf, + 0x33e, + 0x2da, + 0x1b1, + 0x350, + 0x249, + 0x088, + 0x21a, + 0x38a, + 0x05a, + // 112 + 0x002, + 0x122, + 0x2e7, + 0x0c7, + 0x28f, + 0x387, + 0x149, + 0x031, + 0x322, + 0x244, + 0x163, + 0x24c, + 0x0bc, + 0x1ce, + 0x00a, + 0x086, + // 128 + 0x274, + 0x140, + 0x1df, + 0x082, + 0x2e3, + 0x047, + 0x107, + 0x13e, + 0x176, + 0x259, + 0x0c0, + 0x25d, + 0x08e, + 0x2a1, + 0x2af, + 0x0ea, + // 144 + 0x2d2, + 0x180, + 0x0b1, + 0x2f0, + 0x25f, + 0x280, + 0x1c7, + 0x0c1, + 0x2b1, + 0x2c3, + 0x325, + 0x281, + 0x030, + 0x03c, + 0x2dc, + 0x26d, + // 160 + 0x37f, + 0x220, + 0x105, + 0x354, + 0x28f, + 0x135, + 0x2b9, + 0x2f3, + 0x2f4, + 0x03c, + 0x0e7, + 0x305, + 0x1b2, + 0x1a5, + 0x2d6, + 0x210, + // 176 + 0x1f7, + 0x076, + 0x031, + 0x31b, + 0x020, + 0x090, + 0x1f4, + 0x0ee, + 0x344, + 0x18a, + 0x118, + 0x236, + 0x13f, + 0x009, + 0x287, + 0x226, + // 192 + 0x049, + 0x392, + 0x156, + 0x07e, + 0x020, + 0x2a9, + 0x14b, + 0x318, + 0x26c, + 0x03c, + 0x261, + 0x1b9, + 0x0b4, + 0x317, + 0x37d, + 0x2f2, + // 208 + 0x25d, + 0x17f, + 0x0e4, + 0x2ed, + 0x2f8, + 0x0d5, + 0x036, + 0x129, + 0x086, + 0x036, + 0x342, + 0x12b, + 0x39a, + 0x0bf, + 0x38e, + 0x214, + // 224 + 0x261, + 0x33d, + 0x0bd, + 0x014, + 0x0a7, + 0x01d, + 0x368, + 0x1c1, + 0x053, + 0x192, + 0x029, + 0x290, + 0x1f9, + 0x243, + 0x1e1, + 0x0ad, + // 240 + 0x194, + 0x0fb, + 0x2b0, + 0x05f, + 0x1f1, + 0x22b, + 0x282, + 0x21f, + 0x133, + 0x09f, + 0x39c, + 0x22e, + 0x288, + 0x037, + 0x1f1, + 0x00a, + ], + [ + // ECL 8 (512 factors) ----------------------------------------------------------------------------- + 0x160, + 0x04d, + 0x175, + 0x1f8, + 0x023, + 0x257, + 0x1ac, + 0x0cf, + 0x199, + 0x23e, + 0x076, + 0x1f2, + 0x11d, + 0x17c, + 0x15e, + 0x1ec, + // 16 + 0x0c5, + 0x109, + 0x398, + 0x09b, + 0x392, + 0x12b, + 0x0e5, + 0x283, + 0x126, + 0x367, + 0x132, + 0x058, + 0x057, + 0x0c1, + 0x160, + 0x30d, + // 32 + 0x34e, + 0x04b, + 0x147, + 0x208, + 0x1b3, + 0x21f, + 0x0cb, + 0x29a, + 0x0f9, + 0x15a, + 0x30d, + 0x26d, + 0x280, + 0x10c, + 0x31a, + 0x216, + // 48 + 0x21b, + 0x30d, + 0x198, + 0x186, + 0x284, + 0x066, + 0x1dc, + 0x1f3, + 0x122, + 0x278, + 0x221, + 0x025, + 0x35a, + 0x394, + 0x228, + 0x029, + // 64 + 0x21e, + 0x121, + 0x07a, + 0x110, + 0x17f, + 0x320, + 0x1e5, + 0x062, + 0x2f0, + 0x1d8, + 0x2f9, + 0x06b, + 0x310, + 0x35c, + 0x292, + 0x2e5, + // 80 + 0x122, + 0x0cc, + 0x2a9, + 0x197, + 0x357, + 0x055, + 0x063, + 0x03e, + 0x1e2, + 0x0b4, + 0x014, + 0x129, + 0x1c3, + 0x251, + 0x391, + 0x08e, + // 96 + 0x328, + 0x2ac, + 0x11f, + 0x218, + 0x231, + 0x04c, + 0x28d, + 0x383, + 0x2d9, + 0x237, + 0x2e8, + 0x186, + 0x201, + 0x0c0, + 0x204, + 0x102, + // 112 + 0x0f0, + 0x206, + 0x31a, + 0x18b, + 0x300, + 0x350, + 0x033, + 0x262, + 0x180, + 0x0a8, + 0x0be, + 0x33a, + 0x148, + 0x254, + 0x312, + 0x12f, + // 128 + 0x23a, + 0x17d, + 0x19f, + 0x281, + 0x09c, + 0x0ed, + 0x097, + 0x1ad, + 0x213, + 0x0cf, + 0x2a4, + 0x2c6, + 0x059, + 0x0a8, + 0x130, + 0x192, + // 144 + 0x028, + 0x2c4, + 0x23f, + 0x0a2, + 0x360, + 0x0e5, + 0x041, + 0x35d, + 0x349, + 0x200, + 0x0a4, + 0x1dd, + 0x0dd, + 0x05c, + 0x166, + 0x311, + // 160 + 0x120, + 0x165, + 0x352, + 0x344, + 0x33b, + 0x2e0, + 0x2c3, + 0x05e, + 0x008, + 0x1ee, + 0x072, + 0x209, + 0x002, + 0x1f3, + 0x353, + 0x21f, + // 176 + 0x098, + 0x2d9, + 0x303, + 0x05f, + 0x0f8, + 0x169, + 0x242, + 0x143, + 0x358, + 0x31d, + 0x121, + 0x033, + 0x2ac, + 0x1d2, + 0x215, + 0x334, + // 192 + 0x29d, + 0x02d, + 0x386, + 0x1c4, + 0x0a7, + 0x156, + 0x0f4, + 0x0ad, + 0x023, + 0x1cf, + 0x28b, + 0x033, + 0x2bb, + 0x24f, + 0x1c4, + 0x242, + // 208 + 0x025, + 0x07c, + 0x12a, + 0x14c, + 0x228, + 0x02b, + 0x1ab, + 0x077, + 0x296, + 0x309, + 0x1db, + 0x352, + 0x2fc, + 0x16c, + 0x242, + 0x38f, + // 224 + 0x11b, + 0x2c7, + 0x1d8, + 0x1a4, + 0x0f5, + 0x120, + 0x252, + 0x18a, + 0x1ff, + 0x147, + 0x24d, + 0x309, + 0x2bb, + 0x2b0, + 0x02b, + 0x198, + // 240 + 0x34a, + 0x17f, + 0x2d1, + 0x209, + 0x230, + 0x284, + 0x2ca, + 0x22f, + 0x03e, + 0x091, + 0x369, + 0x297, + 0x2c9, + 0x09f, + 0x2a0, + 0x2d9, + // 256 + 0x270, + 0x03b, + 0x0c1, + 0x1a1, + 0x09e, + 0x0d1, + 0x233, + 0x234, + 0x157, + 0x2b5, + 0x06d, + 0x260, + 0x233, + 0x16d, + 0x0b5, + 0x304, + // 272 + 0x2a5, + 0x136, + 0x0f8, + 0x161, + 0x2c4, + 0x19a, + 0x243, + 0x366, + 0x269, + 0x349, + 0x278, + 0x35c, + 0x121, + 0x218, + 0x023, + 0x309, + // 288 + 0x26a, + 0x24a, + 0x1a8, + 0x341, + 0x04d, + 0x255, + 0x15a, + 0x10d, + 0x2f5, + 0x278, + 0x2b7, + 0x2ef, + 0x14b, + 0x0f7, + 0x0b8, + 0x02d, + // 304 + 0x313, + 0x2a8, + 0x012, + 0x042, + 0x197, + 0x171, + 0x036, + 0x1ec, + 0x0e4, + 0x265, + 0x33e, + 0x39a, + 0x1b5, + 0x207, + 0x284, + 0x389, + // 320 + 0x315, + 0x1a4, + 0x131, + 0x1b9, + 0x0cf, + 0x12c, + 0x37c, + 0x33b, + 0x08d, + 0x219, + 0x17d, + 0x296, + 0x201, + 0x038, + 0x0fc, + 0x155, + // 336 + 0x0f2, + 0x31d, + 0x346, + 0x345, + 0x2d0, + 0x0e0, + 0x133, + 0x277, + 0x03d, + 0x057, + 0x230, + 0x136, + 0x2f4, + 0x299, + 0x18d, + 0x328, + // 352 + 0x353, + 0x135, + 0x1d9, + 0x31b, + 0x17a, + 0x01f, + 0x287, + 0x393, + 0x1cb, + 0x326, + 0x24e, + 0x2db, + 0x1a9, + 0x0d8, + 0x224, + 0x0f9, + // 368 + 0x141, + 0x371, + 0x2bb, + 0x217, + 0x2a1, + 0x30e, + 0x0d2, + 0x32f, + 0x389, + 0x12f, + 0x34b, + 0x39a, + 0x119, + 0x049, + 0x1d5, + 0x317, + // 384 + 0x294, + 0x0a2, + 0x1f2, + 0x134, + 0x09b, + 0x1a6, + 0x38b, + 0x331, + 0x0bb, + 0x03e, + 0x010, + 0x1a9, + 0x217, + 0x150, + 0x11e, + 0x1b5, + // 400 + 0x177, + 0x111, + 0x262, + 0x128, + 0x0b7, + 0x39b, + 0x074, + 0x29b, + 0x2ef, + 0x161, + 0x03e, + 0x16e, + 0x2b3, + 0x17b, + 0x2af, + 0x34a, + // 416 + 0x025, + 0x165, + 0x2d0, + 0x2e6, + 0x14a, + 0x005, + 0x027, + 0x39b, + 0x137, + 0x1a8, + 0x0f2, + 0x2ed, + 0x141, + 0x036, + 0x29d, + 0x13c, + // 432 + 0x156, + 0x12b, + 0x216, + 0x069, + 0x29b, + 0x1e8, + 0x280, + 0x2a0, + 0x240, + 0x21c, + 0x13c, + 0x1e6, + 0x2d1, + 0x262, + 0x02e, + 0x290, + // 448 + 0x1bf, + 0x0ab, + 0x268, + 0x1d0, + 0x0be, + 0x213, + 0x129, + 0x141, + 0x2fa, + 0x2f0, + 0x215, + 0x0af, + 0x086, + 0x00e, + 0x17d, + 0x1b1, + // 464 + 0x2cd, + 0x02d, + 0x06f, + 0x014, + 0x254, + 0x11c, + 0x2e0, + 0x08a, + 0x286, + 0x19b, + 0x36d, + 0x29d, + 0x08d, + 0x397, + 0x02d, + 0x30c, + // 480 + 0x197, + 0x0a4, + 0x14c, + 0x383, + 0x0a5, + 0x2d6, + 0x258, + 0x145, + 0x1f2, + 0x28f, + 0x165, + 0x2f0, + 0x300, + 0x0df, + 0x351, + 0x287, + // 496 + 0x03f, + 0x136, + 0x35f, + 0x0fb, + 0x16e, + 0x130, + 0x11a, + 0x2e2, + 0x2a3, + 0x19a, + 0x185, + 0x0f4, + 0x01f, + 0x079, + 0x12f, + 0x107, + ], + ]; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Sequence.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Sequence.php new file mode 100644 index 0000000..eb9b3ba --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/PdfFourOneSeven/Sequence.php @@ -0,0 +1,186 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven; + +/** + * Com\Tecnick\Barcode\Type\Square\PdfFourOneSeven\Sequence + * + * Process for PdfFourOneSeven Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Sequence extends \Com\Tecnick\Barcode\Type\Square +{ + /** + * Get the error correction level (0-8) to be used + * + * @param int $ecl Error correction level + * @param int $numcw Number of data codewords + * + * @return int error correction level + */ + protected function getErrorCorrectionLevel(int $ecl, int $numcw): int + { + $maxecl = 8; // maximum error level + $maxerrsize = (928 - $numcw); // available codewords for error + while (($maxecl > 0) && ($maxerrsize < (2 << $maxecl))) { + --$maxecl; + } + + if (($ecl < 0) || ($ecl > 8)) { + if ($numcw < 41) { + $ecl = 2; + } elseif ($numcw < 161) { + $ecl = 3; + } elseif ($numcw < 321) { + $ecl = 4; + } elseif ($numcw < 864) { + $ecl = 5; + } else { + $ecl = $maxecl; + } + } + + return (int) min($maxecl, $ecl); + } + + /** + * Get the error correction codewords + * + * @param array $codewords Array of codewords including Symbol Length Descriptor and pad + * @param int $ecl Error correction level 0-8 + * + * @return array of error correction codewords + */ + protected function getErrorCorrection(array $codewords, int $ecl): array + { + // get error correction coefficients + $ecc = Data::RS_FACTORS[$ecl]; + // number of error correction factors + $eclsize = (2 << $ecl); + // maximum index for RS_FACTORS[$ecl] + $eclmaxid = ($eclsize - 1); + // initialize array of error correction codewords + $ecw = array_fill(0, $eclsize, 0); + // for each data codeword + foreach ($codewords as $codeword) { + $tk1 = ($codeword + $ecw[$eclmaxid]) % 929; + for ($idx = $eclmaxid; $idx > 0; --$idx) { + $tk2 = (($tk1 * $ecc[$idx]) % 929); + $tk3 = (929 - $tk2); + $ecw[$idx] = (int) (($ecw[($idx - 1)] + $tk3) % 929); + } + + $tk2 = (($tk1 * $ecc[0]) % 929); + $tk3 = (929 - $tk2); + $ecw[0] = (int) ($tk3 % 929); + } + + foreach ($ecw as $idx => $err) { + if ($err != 0) { + $ecw[$idx] = (int) (929 - $err); + } + } + + return array_reverse($ecw); + } + + /** + * Process a single sequence + * + * @param array $sequence_array Sequence to process + * @param string $code Data to process + * @param int $seq Current sequence + * @param int $offset Current code offset + */ + protected function processSequence(array &$sequence_array, string $code, int $seq, int $offset): void + { + // extract text sequence before the number sequence + $prevseq = substr($code, $offset, ($seq - $offset)); + $textseq = []; + // get text sequences + preg_match_all('/([\x09\x0a\x0d\x20-\x7e]{5,})/', $prevseq, $textseq, PREG_OFFSET_CAPTURE); + $textseq[1][] = ['', strlen($prevseq)]; + $txtoffset = 0; + foreach ($textseq[1] as $txtseq) { + $txtseqlen = strlen($txtseq[0]); + if ($txtseq[1] > 0) { + // extract byte sequence before the text sequence + $prevtxtseq = substr($prevseq, $txtoffset, ($txtseq[1] - $txtoffset)); + if (strlen($prevtxtseq) > 0) { + // add BYTE sequence + if ( + (strlen($prevtxtseq) == 1) + && (($sequence_array !== []) + && ($sequence_array[(count($sequence_array) - 1)][0] == 900)) + ) { + $sequence_array[] = [913, $prevtxtseq]; + } elseif ((strlen($prevtxtseq) % 6) == 0) { + $sequence_array[] = [924, $prevtxtseq]; + } else { + $sequence_array[] = [901, $prevtxtseq]; + } + } + } + + if ($txtseqlen > 0) { + // add numeric sequence + $sequence_array[] = [900, $txtseq[0]]; + } + + $txtoffset = ($txtseq[1] + $txtseqlen); + } + } + + /** + * Get an array of sequences from input + * + * @param string $code Data to process + * + * @return array + */ + protected function getInputSequences(string $code): array + { + $sequence_array = []; // array to be returned + $numseq = []; + // get numeric sequences + preg_match_all('/(\d{13,})/', $code, $numseq, PREG_OFFSET_CAPTURE); + $numseq[1][] = ['', strlen($code)]; + $offset = 0; + foreach ($numseq[1] as $seq) { + $seqlen = strlen($seq[0]); + if ($seq[1] > 0) { + $this->processSequence($sequence_array, $code, $seq[1], $offset); + } + + if ($seqlen > 0) { + // add numeric sequence + $sequence_array[] = [902, $seq[0]]; + } + + $offset = ($seq[1] + $seqlen); + } + + return $sequence_array; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode.php new file mode 100644 index 0000000..dfea82f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode.php @@ -0,0 +1,259 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Barcode\Type\Square\QrCode\ByteStream; +use Com\Tecnick\Barcode\Type\Square\QrCode\Data; +use Com\Tecnick\Barcode\Type\Square\QrCode\Encoder; +use Com\Tecnick\Barcode\Type\Square\QrCode\Split; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode + * + * QrCode Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class QrCode extends \Com\Tecnick\Barcode\Type\Square +{ + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'QRCODE'; + + /** + * QR code version. + * The Size of QRcode is defined as version. Version is an integer value from 1 to 40. + * Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. + * So version 40 is 177*177 matrix. + */ + protected int $version = 0; + + /** + * Error correction level + */ + protected int $level = 0; + + /** + * Encoding mode + */ + protected int $hint = 2; + + /** + * Boolean flag, if false the input string will be converted to uppercase. + */ + protected bool $case_sensitive = true; + + /** + * If negative, checks all masks available, + * otherwise the value indicates the number of masks to be checked, + * mask ids are random. + */ + protected int $random_mask = -1; + + /** + * If true, estimates best mask (spec. default, but extremally slow; + * set to false to significant performance boost but (propably) worst quality code. + */ + protected bool $best_mask = true; + + /** + * Default mask used when $this->best_mask === false + */ + protected int $default_mask = 2; + + /** + * ByteStream class object + */ + protected ByteStream $bsObj; + + /** + * Set extra (optional) parameters: + * 1: LEVEL - error correction level: L, M, Q, H + * 2: HINT - encoding mode: NL=variable, NM=numeric, AN=alphanumeric, 8B=8bit, KJ=KANJI, ST=STRUCTURED + * 3: VERSION - integer value from 1 to 40 + * 4: CASE SENSITIVE - if 0 the input string will be converted to uppercase + * 5: RANDOM MASK - false or number of masks to be checked + * 6: BEST MASK - true to find the best mask (slow) + * 7: DEFAULT MASK - mask to use when the best mask option is false + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function setParameters(): void + { + parent::setParameters(); + + // level + if ( + ! isset($this->params[0]) + || ! isset(Data::ECC_LEVELS[$this->params[0]]) + ) { + $this->params[0] = 'L'; + } + + $this->level = Data::ECC_LEVELS[$this->params[0]]; + + // hint + if ( + ! isset($this->params[1]) + || ! isset(Data::ENC_MODES[$this->params[1]]) + ) { + $this->params[1] = '8B'; + } + + $this->hint = Data::ENC_MODES[$this->params[1]]; + + // version + if ( + ! isset($this->params[2]) + || ($this->params[2] < 0) + || ($this->params[2] > Data::QRSPEC_VERSION_MAX) + ) { + $this->params[2] = 0; + } + + $this->version = (int) $this->params[2]; + + // case sensitive + if (! isset($this->params[3])) { + $this->params[3] = 1; + } + + $this->case_sensitive = (bool) $this->params[3]; + + // random mask mode - number of masks to be checked + if (! empty($this->params[4])) { + $this->random_mask = (int) $this->params[4]; + } + + // find best mask + if (! isset($this->params[5])) { + $this->params[5] = 1; + } + + $this->best_mask = (bool) $this->params[5]; + + // default mask + if (! isset($this->params[6])) { + $this->params[6] = 2; + } + + $this->default_mask = (int) $this->params[6]; + } + + /** + * Get the bars array + * + * @throws BarcodeException in case of error + */ + protected function setBars(): void + { + if (strlen((string) $this->code) == 0) { + throw new BarcodeException('Empty input'); + } + + $this->bsObj = new ByteStream($this->hint, $this->version, $this->level); + // generate the qrcode + $this->processBinarySequence( + $this->binarize( + $this->encodeString($this->code) + ) + ); + } + + /** + * Convert the frame in binary form + * + * @param array $frame Array to binarize + * + * @return array frame in binary form + */ + protected function binarize(array $frame): array + { + $len = count($frame); + // the frame is square (width = height) + foreach ($frame as &$frameLine) { + for ($idx = 0; $idx < $len; ++$idx) { + $frameLine[$idx] = ((ord($frameLine[$idx]) & 1) !== 0) ? '1' : '0'; + } + } + + return $frame; + } + + /** + * Encode the input string + * + * @param string $data input string to encode + * + * @return array Encoded data + */ + protected function encodeString(string $data): array + { + if (! $this->case_sensitive) { + $data = $this->toUpper($data); + } + + $split = new Split($this->bsObj, $this->hint, $this->version); + $datacode = $this->bsObj->getByteStream($split->getSplittedString($data)); + $this->version = $this->bsObj->version; + $encoder = new Encoder( + $this->version, + $this->level, + $this->random_mask, + $this->best_mask, + $this->default_mask + ); + return $encoder->encodeMask(-1, $datacode); + } + + /** + * Convert input string into upper case mode + * + * @param string $data Data + */ + protected function toUpper(string $data): string + { + $len = strlen($data); + $pos = 0; + + while ($pos < $len) { + $mode = $this->bsObj->getEncodingMode($data, $pos); + if ($mode == Data::ENC_MODES['KJ']) { + $pos += 2; + } else { + if ((ord($data[$pos]) >= ord('a')) && (ord($data[$pos]) <= ord('z'))) { + $data[$pos] = chr(ord($data[$pos]) - 32); + } + + ++$pos; + } + } + + return $data; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/ByteStream.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/ByteStream.php new file mode 100644 index 0000000..5bb4a72 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/ByteStream.php @@ -0,0 +1,263 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\ByteStream + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @phpstan-import-type Item from \Com\Tecnick\Barcode\Type\Square\QrCode\Estimate + */ +class ByteStream extends \Com\Tecnick\Barcode\Type\Square\QrCode\Encode +{ + /** + * Initialize + * + * @param int $hint Encoding mode + * @param int $version Code version + * @param int $level Error Correction Level + */ + public function __construct(int $hint, int $version, int $level) + { + $this->hint = $hint; + $this->version = $version; + $this->level = $level; + } + + /** + * Pack all bit streams padding bits into a byte array + * + * @param array $items Items + * + * @return array padded merged byte stream + */ + public function getByteStream(array $items): array + { + return $this->bitstreamToByte( + $this->appendPaddingBit( + $this->mergeBitStream($items) + ) + ); + } + + /** + * merge the bit stream + * + * @param array $items Items + * + * @return array bitstream + */ + protected function mergeBitStream(array $items): array + { + $items = $this->convertData($items); + $bstream = []; + foreach ($items as $item) { + $bstream = $this->appendBitstream($bstream, $item['bstream']); + } + + return $bstream; + } + + /** + * Append Padding Bit to bitstream + * + * @param array $bstream Bit stream + * + * @return array bitstream + */ + protected function appendPaddingBit(array $bstream): array + { + if (empty($bstream)) { + return []; + } + + $bits = count($bstream); + $spec = new Spec(); + $maxwords = $spec->getDataLength($this->version, $this->level); + $maxbits = $maxwords * 8; + if ($maxbits == $bits) { + return $bstream; + } + + if ($maxbits - $bits < 5) { + return $this->appendNum($bstream, $maxbits - $bits, 0); + } + + $bits += 4; + $words = (int) (($bits + 7) / 8); + $padding = []; + $padding = $this->appendNum($padding, $words * 8 - $bits + 4, 0); + + $padlen = $maxwords - $words; + if ($padlen > 0) { + $padbuf = []; + for ($idx = 0; $idx < $padlen; ++$idx) { + $padbuf[$idx] = ((($idx & 1) !== 0) ? 0x11 : 0xec); + } + + $padding = $this->appendBytes($padding, $padlen, $padbuf); + } + + return $this->appendBitstream($bstream, $padding); + } + + /** + * Convert bitstream to bytes + * + * @param array $bstream Original bitstream + * + * @return array of bytes + */ + protected function bitstreamToByte(array $bstream): array + { + $size = count($bstream); + if ($size == 0) { + return []; + } + + $data = array_fill(0, (int) (($size + 7) / 8), 0); + $bytes = (int) ($size / 8); + $pos = 0; + for ($idx = 0; $idx < $bytes; ++$idx) { + $val = 0; + for ($jdx = 0; $jdx < 8; ++$jdx) { + $val <<= 1; + $val |= $bstream[$pos]; + ++$pos; + } + + $data[$idx] = $val; + } + + if (($size & 7) !== 0) { + $val = 0; + for ($jdx = 0; $jdx < ($size & 7); ++$jdx) { + $val <<= 1; + $val |= $bstream[$pos]; + ++$pos; + } + + $data[$bytes] = $val; + } + + return $data; + } + + /** + * convertData + * + * @param array $items Items + * + * @return array + */ + protected function convertData(array $items): array + { + $ver = $this->estimateVersion($items, $this->level); + if ($ver > $this->version) { + $this->version = $ver; + } + + while (true) { + $cbs = $this->createBitStream($items); + $items = $cbs[0]; + $bits = $cbs[1]; + if ($bits < 0) { + throw new BarcodeException('Negative Bits value'); + } + + $ver = $this->getMinimumVersion((int) (($bits + 7) / 8), $this->level); + if ($ver > $this->version) { + $this->version = $ver; + } else { + break; + } + } + + return $items; + } + + /** + * Create BitStream + * + * @param array $items Items + * + * @return array{ + * 0: array, + * 1: int, + * } + */ + protected function createBitStream(array $items): array + { + $total = 0; + foreach ($items as $key => $item) { + $items[$key] = $this->encodeBitStream($item, $this->version); + $bits = count($items[$key]['bstream']); + $total += $bits; + } + + return [$items, $total]; + } + + /** + * Encode BitStream + * + * @param Item $inputitem Input item + * @param int $version Code version + * + * @return Item + */ + public function encodeBitStream(array $inputitem, int $version): array + { + $inputitem['bstream'] = []; + $spec = new Spec(); + $words = $spec->maximumWords($inputitem['mode'], $version); + + if ($inputitem['size'] <= $words) { + return match ($inputitem['mode']) { + Data::ENC_MODES['NM'] => $this->encodeModeNum($inputitem, $version), + Data::ENC_MODES['AN'] => $this->encodeModeAn($inputitem, $version), + Data::ENC_MODES['8B'] => $this->encodeMode8($inputitem, $version), + Data::ENC_MODES['KJ'] => $this->encodeModeKanji($inputitem, $version), + Data::ENC_MODES['ST'] => $this->encodeModeStructure($inputitem), + default => throw new BarcodeException('Invalid mode'), + }; + } + + $st1 = $this->newInputItem($inputitem['mode'], $words, $inputitem['data']); + $st2 = $this->newInputItem( + $inputitem['mode'], + ($inputitem['size'] - $words), + array_slice($inputitem['data'], $words) + ); + $st1 = $this->encodeBitStream($st1, $version); + $st2 = $this->encodeBitStream($st2, $version); + $inputitem['bstream'] = []; + $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st1['bstream']); + $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st2['bstream']); + + return $inputitem; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Data.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Data.php new file mode 100644 index 0000000..e644e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Data.php @@ -0,0 +1,530 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Data + * + * Data for QrCode Barcode type class + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Data +{ + /** + * Maximum QR Code version. + * + * @var int + */ + public const QRSPEC_VERSION_MAX = 40; + + /** + * Maximum matrix size for maximum version (version 40 is 177*177 matrix). + * + * @var int + */ + public const QRSPEC_WIDTH_MAX = 177; + + // ----------------------------------------------------- + + /** + * Matrix index to get width from CAPACITY array. + * + * @var int + */ + public const QRCAP_WIDTH = 0; + + /** + * Matrix index to get number of words from CAPACITY array. + * + * @var int + */ + public const QRCAP_WORDS = 1; + + /** + * Matrix index to get remainder from CAPACITY array. + * + * @var int + */ + public const QRCAP_REMINDER = 2; + + /** + * Matrix index to get error correction level from CAPACITY array. + * + * @var int + */ + public const QRCAP_EC = 3; + + // ----------------------------------------------------- + + // Structure (currently usupported) + + /** + * Number of header bits for structured mode + * + * @var int + */ + public const STRUCTURE_HEADER_BITS = 20; + + /** + * Max number of symbols for structured mode + * + * @var int + */ + public const MAX_STRUCTURED_SYMBOLS = 16; + + // ----------------------------------------------------- + + // Masks + + /** + * Down point base value for case 1 mask pattern (concatenation of same color in a line or a column) + * + * @var int + */ + public const N1 = 3; + + /** + * Down point base value for case 2 mask pattern (module block of same color) + * + * @var int + */ + public const N2 = 3; + + /** + * Down point base value for case 3 mask pattern + * (1:1:3:1:1 (dark:bright:dark:bright:dark) pattern in a line or a column) + * + * @var int + */ + public const N3 = 40; + + /** + * Down point base value for case 4 mask pattern (ration of dark modules in whole) + * + * @var int + */ + public const N4 = 10; + + /** + * Encoding modes (characters which can be encoded in QRcode) + * + * NL : variable + * NM : Encoding mode numeric (0-9). 3 characters are encoded to 10bit length. + * AN : Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. + * 8B : Encoding mode 8bit byte data. In theory, 2953 characters or less can be stored in a QRcode. + * KJ : Encoding mode KANJI. A KANJI character (multibyte character) is encoded to 13bit length. + * ST : Encoding mode STRUCTURED + * + * @var array + */ + public const ENC_MODES = [ + 'NL' => -1, + 'NM' => 0, + 'AN' => 1, + '8B' => 2, + 'KJ' => 3, + 'ST' => 4, + ]; + + /** + * Array of valid error correction levels + * QRcode has a function of an error correcting for miss reading that white is black. + * Error correcting is defined in 4 level as below. + * L : About 7% or less errors can be corrected. + * M : About 15% or less errors can be corrected. + * Q : About 25% or less errors can be corrected. + * H : About 30% or less errors can be corrected. + * + * @var array + */ + public const ECC_LEVELS = [ + 'L' => 0, + 'M' => 1, + 'Q' => 2, + 'H' => 3, + ]; + + /** + * Alphabet-numeric conversion table. + * + * @var array + */ + public const AN_TABLE = [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + // + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + // + 36, + -1, + -1, + -1, + 37, + 38, + -1, + -1, + -1, + -1, + 39, + 40, + -1, + 41, + 42, + 43, + // + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 44, + -1, + -1, + -1, + -1, + -1, + // + -1, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + // + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + -1, + -1, + -1, + -1, + -1, + // + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + // + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + ]; + + /** + * Array Table of the capacity of symbols. + * See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004. + * + * @var array + */ + public const CAPACITY = [ + [0, 0, 0, [0, 0, 0, 0]], + [21, 26, 0, [7, 10, 13, 17]], + [25, 44, 7, [10, 16, 22, 28]], + [29, 70, 7, [15, 26, 36, 44]], + [33, 100, 7, [20, 36, 52, 64]], + [37, 134, 7, [26, 48, 72, 88]], + [41, 172, 7, [36, 64, 96, 112]], + [45, 196, 0, [40, 72, 108, 130]], + [49, 242, 0, [48, 88, 132, 156]], + [53, 292, 0, [60, 110, 160, 192]], + [57, 346, 0, [72, 130, 192, 224]], + [61, 404, 0, [80, 150, 224, 264]], + [65, 466, 0, [96, 176, 260, 308]], + [69, 532, 0, [104, 198, 288, 352]], + [73, 581, 3, [120, 216, 320, 384]], + [77, 655, 3, [132, 240, 360, 432]], + [81, 733, 3, [144, 280, 408, 480]], + [85, 815, 3, [168, 308, 448, 532]], + [89, 901, 3, [180, 338, 504, 588]], + [93, 991, 3, [196, 364, 546, 650]], + [97, 1085, 3, [224, 416, 600, 700]], + [101, 1156, 4, [224, 442, 644, 750]], + [105, 1258, 4, [252, 476, 690, 816]], + [109, 1364, 4, [270, 504, 750, 900]], + [113, 1474, 4, [300, 560, 810, 960]], + [117, 1588, 4, [312, 588, 870, 1050]], + [121, 1706, 4, [336, 644, 952, 1110]], + [125, 1828, 4, [360, 700, 1020, 1200]], + [129, 1921, 3, [390, 728, 1050, 1260]], + [133, 2051, 3, [420, 784, 1140, 1350]], + [137, 2185, 3, [450, 812, 1200, 1440]], + [141, 2323, 3, [480, 868, 1290, 1530]], + [145, 2465, 3, [510, 924, 1350, 1620]], + [149, 2611, 3, [540, 980, 1440, 1710]], + [153, 2761, 3, [570, 1036, 1530, 1800]], + [157, 2876, 0, [570, 1064, 1590, 1890]], + [161, 3034, 0, [600, 1120, 1680, 1980]], + [165, 3196, 0, [630, 1204, 1770, 2100]], + [169, 3362, 0, [660, 1260, 1860, 2220]], + [173, 3532, 0, [720, 1316, 1950, 2310]], + [177, 3706, 0, [750, 1372, 2040, 2430]], + ]; + + /** + * Array Length indicator. + * + * @var array + */ + public const LEN_TABLE_BITS = [ + [10, 12, 14], + [9, 11, 13], + [8, 16, 16], + [8, 10, 12], + ]; + + /** + * Array Table of the error correction code (Reed-Solomon block). + * See Table 12-16 (pp.30-36), JIS X0510:2004. + * + * @var array + */ + public const ECC_TABLE = [ + [[0, 0], [0, 0], [0, 0], [0, 0]], + [[1, 0], [1, 0], [1, 0], [1, 0]], + [[1, 0], [1, 0], [1, 0], [1, 0]], + [[1, 0], [1, 0], [2, 0], [2, 0]], + [[1, 0], [2, 0], [2, 0], [4, 0]], + [[1, 0], [2, 0], [2, 2], [2, 2]], + [[2, 0], [4, 0], [4, 0], [4, 0]], + [[2, 0], [4, 0], [2, 4], [4, 1]], + [[2, 0], [2, 2], [4, 2], [4, 2]], + [[2, 0], [3, 2], [4, 4], [4, 4]], + [[2, 2], [4, 1], [6, 2], [6, 2]], + [[4, 0], [1, 4], [4, 4], [3, 8]], + [[2, 2], [6, 2], [4, 6], [7, 4]], + [[4, 0], [8, 1], [8, 4], [12, 4]], + [[3, 1], [4, 5], [11, 5], [11, 5]], + [[5, 1], [5, 5], [5, 7], [11, 7]], + [[5, 1], [7, 3], [15, 2], [3, 13]], + [[1, 5], [10, 1], [1, 15], [2, 17]], + [[5, 1], [9, 4], [17, 1], [2, 19]], + [[3, 4], [3, 11], [17, 4], [9, 16]], + [[3, 5], [3, 13], [15, 5], [15, 10]], + [[4, 4], [17, 0], [17, 6], [19, 6]], + [[2, 7], [17, 0], [7, 16], [34, 0]], + [[4, 5], [4, 14], [11, 14], [16, 14]], + [[6, 4], [6, 14], [11, 16], [30, 2]], + [[8, 4], [8, 13], [7, 22], [22, 13]], + [[10, 2], [19, 4], [28, 6], [33, 4]], + [[8, 4], [22, 3], [8, 26], [12, 28]], + [[3, 10], [3, 23], [4, 31], [11, 31]], + [[7, 7], [21, 7], [1, 37], [19, 26]], + [[5, 10], [19, 10], [15, 25], [23, 25]], + [[13, 3], [2, 29], [42, 1], [23, 28]], + [[17, 0], [10, 23], [10, 35], [19, 35]], + [[17, 1], [14, 21], [29, 19], [11, 46]], + [[13, 6], [14, 23], [44, 7], [59, 1]], + [[12, 7], [12, 26], [39, 14], [22, 41]], + [[6, 14], [6, 34], [46, 10], [2, 64]], + [[17, 4], [29, 14], [49, 10], [24, 46]], + [[4, 18], [13, 32], [48, 14], [42, 32]], + [[20, 4], [40, 7], [43, 22], [10, 67]], + [[19, 6], [18, 31], [34, 34], [20, 61]], + ]; + + /** + * Array Positions of alignment patterns. + * This array includes only the second and the third position of the alignment patterns. + * Rest of them can be calculated from the distance between them. + * See Table 1 in Appendix E (pp.71) of JIS X0510:2004. + * + * @var array + */ + public const ALIGN_PATTERN = [ + [0, 0], + [0, 0], + [18, 0], + [22, 0], + [26, 0], + [30, 0], + [34, 0], + [22, 38], + [24, 42], + [26, 46], + [28, 50], + [30, 54], + [32, 58], + [34, 62], + [26, 46], + [26, 48], + [26, 50], + [30, 54], + [30, 56], + [30, 58], + [34, 62], + [28, 50], + [26, 50], + [30, 54], + [28, 54], + [32, 58], + [30, 58], + [34, 62], + [26, 50], + [30, 54], + [26, 52], + [30, 56], + [34, 60], + [30, 58], + [34, 62], + [30, 54], + [24, 50], + [28, 54], + [32, 58], + [26, 54], + [30, 58], + ]; + + /** + * Array Version information pattern (BCH coded). + * See Table 1 in Appendix D (pp.68) of JIS X0510:2004. + * size: [QRSPEC_VERSION_MAX - 6] + * + * @var array + */ + public const VERSION_PATTERN = [ + 0x07c94, + 0x085bc, + 0x09a99, + 0x0a4d3, + 0x0bbf6, + 0x0c762, + 0x0d847, + 0x0e60d, + 0x0f928, + 0x10b78, + 0x1145d, + 0x12a17, + 0x13532, + 0x149a6, + 0x15683, + 0x168c9, + 0x177ec, + 0x18ec4, + 0x191e1, + 0x1afab, + 0x1b08e, + 0x1cc1a, + 0x1d33f, + 0x1ed75, + 0x1f250, + 0x209d5, + 0x216f0, + 0x228ba, + 0x2379f, + 0x24b0b, + 0x2542e, + 0x26a64, + 0x27541, + 0x28c69, + ]; + + /** + * Array Format information + * + * @var array + */ + public const FORMAT_INFO = [ + [0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976], + [0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0], + [0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed], + [0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b], + ]; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encode.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encode.php new file mode 100644 index 0000000..1d453bc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encode.php @@ -0,0 +1,224 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Encode + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Encode extends \Com\Tecnick\Barcode\Type\Square\QrCode\EncodingMode +{ + /** + * encode Mode Num + * + * @param array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } $inputitem input item + * @param int $version Code version + * + * @return array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } input item + */ + protected function encodeModeNum(array $inputitem, int $version): array + { + $words = (int) ($inputitem['size'] / 3); + $inputitem['bstream'] = []; + $val = 0x1; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); + $inputitem['bstream'] = $this->appendNum( + $inputitem['bstream'], + $this->getLengthIndicator(Data::ENC_MODES['NM'], $version), + $inputitem['size'] + ); + for ($i = 0; $i < $words; ++$i) { + $val = (ord($inputitem['data'][$i * 3]) - ord('0')) * 100; + $val += (ord($inputitem['data'][$i * 3 + 1]) - ord('0')) * 10; + $val += (ord($inputitem['data'][$i * 3 + 2]) - ord('0')); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 10, $val); + } + + if ($inputitem['size'] - $words * 3 == 1) { + $val = ord($inputitem['data'][$words * 3]) - ord('0'); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); + } elseif (($inputitem['size'] - ($words * 3)) == 2) { + $val = (ord($inputitem['data'][$words * 3]) - ord('0')) * 10; + $val += (ord($inputitem['data'][$words * 3 + 1]) - ord('0')); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 7, $val); + } + + return $inputitem; + } + + /** + * encode Mode An + * + * @param array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } $inputitem input item + * @param int $version Code version + * + * @return array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } input item + */ + protected function encodeModeAn(array $inputitem, int $version): array + { + $words = (int) ($inputitem['size'] / 2); + $inputitem['bstream'] = []; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x02); + $inputitem['bstream'] = $this->appendNum( + $inputitem['bstream'], + $this->getLengthIndicator(Data::ENC_MODES['AN'], $version), + $inputitem['size'] + ); + for ($idx = 0; $idx < $words; ++$idx) { + $val = $this->lookAnTable(ord($inputitem['data'][($idx * 2)])) * 45; + $val += $this->lookAnTable(ord($inputitem['data'][($idx * 2) + 1])); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 11, $val); + } + + if (($inputitem['size'] & 1) !== 0) { + $val = $this->lookAnTable(ord($inputitem['data'][($words * 2)])); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 6, $val); + } + + return $inputitem; + } + + /** + * encode Mode 8 + * + * @param array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } $inputitem input item + * @param int $version Code version + * + * @return array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } input item + */ + protected function encodeMode8(array $inputitem, int $version): array + { + $inputitem['bstream'] = []; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x4); + $inputitem['bstream'] = $this->appendNum( + $inputitem['bstream'], + $this->getLengthIndicator(Data::ENC_MODES['8B'], $version), + $inputitem['size'] + ); + for ($idx = 0; $idx < $inputitem['size']; ++$idx) { + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][$idx])); + } + + return $inputitem; + } + + /** + * encode Mode Kanji + * + * @param array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } $inputitem input item + * @param int $version Code version + * + * @return array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } input item + */ + protected function encodeModeKanji(array $inputitem, int $version): array + { + $inputitem['bstream'] = []; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x8); + $inputitem['bstream'] = $this->appendNum( + $inputitem['bstream'], + $this->getLengthIndicator(Data::ENC_MODES['KJ'], $version), + (int) ($inputitem['size'] / 2) + ); + for ($idx = 0; $idx < $inputitem['size']; $idx += 2) { + $val = (ord($inputitem['data'][$idx]) << 8) | ord($inputitem['data'][($idx + 1)]); + if ($val <= 0x9ffc) { + $val -= 0x8140; + } else { + $val -= 0xc140; + } + + $val = ($val & 0xff) + (($val >> 8) * 0xc0); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 13, $val); + } + + return $inputitem; + } + + /** + * encode Mode Structure + * + * @param array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } $inputitem input item + * + * @return array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } input item + */ + protected function encodeModeStructure(array $inputitem): array + { + $inputitem['bstream'] = []; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x03); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][1]) - 1); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][0]) - 1); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][2])); + return $inputitem; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encoder.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encoder.php new file mode 100644 index 0000000..8de4d30 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Encoder.php @@ -0,0 +1,208 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Encoder + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Encoder extends \Com\Tecnick\Barcode\Type\Square\QrCode\Init +{ + /** + * Encode mask + * + * @param int $maskNo Mask number (masking mode) + * @param array $datacode Data code to encode + * + * @return array Encoded Mask + */ + public function encodeMask(int $maskNo, array $datacode): array + { + // initialize values + $this->datacode = $datacode; + $spec = $this->spc->getEccSpec($this->version, $this->level, [0, 0, 0, 0, 0]); + $this->bv1 = $this->spc->rsBlockNum1($spec); + $this->dataLength = $this->spc->rsDataLength($spec); + $this->eccLength = $this->spc->rsEccLength($spec); + $this->ecccode = array_fill(0, $this->eccLength, 0); + $this->blocks = $this->spc->rsBlockNum($spec); + $this->init($spec); + $this->count = 0; + $this->width = $this->spc->getWidth($this->version); + $this->frame = $this->spc->createFrame($this->version); + $this->xpos = ($this->width - 1); + $this->ypos = ($this->width - 1); + $this->dir = -1; + $this->bit = -1; + + // interleaved data and ecc codes + for ($idx = 0; $idx < ($this->dataLength + $this->eccLength); ++$idx) { + $code = $this->getCode(); + $bit = 0x80; + for ($jdx = 0; $jdx < 8; ++$jdx) { + $addr = $this->getNextPosition(); + $this->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); + $bit >>= 1; + } + } + + // remainder bits + $rbits = $this->spc->getRemainder($this->version); + for ($idx = 0; $idx < $rbits; ++$idx) { + $addr = $this->getNextPosition(); + $this->setFrameAt($addr, 0x02); + } + + // masking + $this->runLength = array_fill(0, (Data::QRSPEC_WIDTH_MAX + 1), 0); + if ($maskNo < 0) { + if ($this->qr_find_best_mask) { + $mask = $this->mask($this->width, $this->frame, $this->level); + } else { + $mask = $this->makeMask($this->width, $this->frame, ($this->qr_default_mask % 8), $this->level); + } + } else { + $mask = $this->makeMask($this->width, $this->frame, $maskNo, $this->level); + } + + if ($mask == null) { + throw new BarcodeException('Null Mask'); + } + + return $mask; + } + + /** + * Return Reed-Solomon block code + * + * @return int rsblocks + */ + protected function getCode(): int + { + if ($this->count < $this->dataLength) { + $row = ($this->count % $this->blocks); + $col = floor($this->count / $this->blocks); + if ($col >= $this->rsblocks[0]['dataLength']) { + $row += $this->bv1; + } + + $ret = $this->rsblocks[$row]['data'][$col]; + } elseif ($this->count < ($this->dataLength + $this->eccLength)) { + $row = (($this->count - $this->dataLength) % $this->blocks); + $col = floor(($this->count - $this->dataLength) / $this->blocks); + $ret = $this->rsblocks[$row]['ecc'][$col]; + } else { + return 0; + } + + ++$this->count; + return $ret; + } + + /** + * Set frame value at specified position + * + * @param array{'x': int, 'y': int} $pos X,Y position + * @param int $val Value of the character to set + */ + protected function setFrameAt(array $pos, int $val): void + { + $this->frame[$pos['y']][$pos['x']] = chr($val); + } + + /** + * Return the next frame position + * + * @return array{'x': int, 'y': int} of x,y coordinates + */ + protected function getNextPosition(): array + { + do { + if ($this->bit == -1) { + $this->bit = 0; + return [ + 'x' => $this->xpos, + 'y' => $this->ypos, + ]; + } + + $xpos = $this->xpos; + $ypos = $this->ypos; + $wdt = $this->width; + $this->getNextPositionB($xpos, $ypos, $wdt); + if (($xpos < 0) || ($ypos < 0)) { + throw new BarcodeException('Error getting next position'); + } + + $this->xpos = $xpos; + $this->ypos = $ypos; + } while (ord($this->frame[$ypos][$xpos]) & 0x80); + + return [ + 'x' => $xpos, + 'y' => $ypos, + ]; + } + + /** + * Internal cycle for getNextPosition + * + * @param int $xpos X position + * @param int $ypos Y position + * @param int $wdt Width + */ + protected function getNextPositionB(int &$xpos, int &$ypos, int $wdt): void + { + if ($this->bit == 0) { + --$xpos; + ++$this->bit; + } else { + ++$xpos; + $ypos += $this->dir; + --$this->bit; + } + + if ($this->dir < 0) { + if ($ypos < 0) { + $ypos = 0; + $xpos -= 2; + $this->dir = 1; + if ($xpos == 6) { + --$xpos; + $ypos = 9; + } + } + } elseif ($ypos === $wdt) { + $ypos = $wdt - 1; + $xpos -= 2; + $this->dir = -1; + if ($xpos == 6) { + --$xpos; + $ypos -= 8; + } + } + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/EncodingMode.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/EncodingMode.php new file mode 100644 index 0000000..9532902 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/EncodingMode.php @@ -0,0 +1,221 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\EncodingMode + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class EncodingMode extends \Com\Tecnick\Barcode\Type\Square\QrCode\InputItem +{ + /** + * Get the encoding mode to use + * + * @param string $data Data + * @param int $pos Position + * + * @return int mode + */ + public function getEncodingMode(string $data, int $pos): int + { + if (! isset($data[$pos])) { + return Data::ENC_MODES['NL']; + } + + if ($this->isDigitAt($data, $pos)) { + return Data::ENC_MODES['NM']; + } + + if ($this->isAlphanumericAt($data, $pos)) { + return Data::ENC_MODES['AN']; + } + + return $this->getEncodingModeKj($data, $pos); + } + + /** + * Get the encoding mode for KJ or 8B + * + * @param string $data Data + * @param int $pos Position + * + * @return int mode + */ + protected function getEncodingModeKj(string $data, int $pos): int + { + if (($this->hint == Data::ENC_MODES['KJ']) && isset($data[($pos + 1)])) { + $word = ((ord($data[$pos]) << 8) | ord($data[($pos + 1)])); + if ((($word >= 0x8140) && ($word <= 0x9ffc)) || (($word >= 0xe040) && ($word <= 0xebbf))) { + return Data::ENC_MODES['KJ']; + } + } + + return Data::ENC_MODES['8B']; + } + + /** + * Return true if the character at specified position is a number + * + * @param string $str Data + * @param int $pos Character position + */ + public function isDigitAt(string $str, int $pos): bool + { + if (! isset($str[$pos])) { + return false; + } + + return ((ord($str[$pos]) >= ord('0')) && (ord($str[$pos]) <= ord('9'))); + } + + /** + * Return true if the character at specified position is an alphanumeric character + * + * @param string $str Data + * @param int $pos Character position + */ + public function isAlphanumericAt(string $str, int $pos): bool + { + if (! isset($str[$pos])) { + return false; + } + + return ($this->lookAnTable(ord($str[$pos])) >= 0); + } + + /** + * Append one bitstream to another + * + * @param array $bitstream Original bitstream + * @param array $append Bitstream to append + * + * @return array bitstream + */ + protected function appendBitstream(array $bitstream, array $append): array + { + if (count($append) == 0) { + return $bitstream; + } + + if (count($bitstream) == 0) { + return $append; + } + + return array_values(array_merge($bitstream, $append)); + } + + /** + * Append one bitstream created from number to another + * + * @param array $bitstream Original bitstream + * @param int $bits Number of bits + * @param int $num Number + * + * @return array bitstream + */ + protected function appendNum(array $bitstream, int $bits, int $num): array + { + if ($bits == 0) { + return []; + } + + return $this->appendBitstream($bitstream, $this->newFromNum($bits, $num)); + } + + /** + * Append one bitstream created from bytes to another + * + * @param array $bitstream Original bitstream + * @param int $size Size + * @param array $data Bytes + * + * @return array bitstream + */ + protected function appendBytes(array $bitstream, int $size, array $data): array + { + if ($size == 0) { + return []; + } + + return $this->appendBitstream($bitstream, $this->newFromBytes($size, $data)); + } + + /** + * Return new bitstream from number + * + * @param int $bits Number of bits + * @param int $num Number + * + * @return array bitstream + */ + protected function newFromNum(int $bits, int $num): array + { + $bstream = $this->allocate($bits); + $mask = 1 << ($bits - 1); + for ($idx = 0; $idx < $bits; ++$idx) { + $bstream[$idx] = ($num & $mask) !== 0 ? 1 : 0; + + $mask >>= 1; + } + + return $bstream; + } + + /** + * Return new bitstream from bytes + * + * @param int $size Size + * @param array $data Bytes + * + * @return array bitstream + */ + protected function newFromBytes(int $size, array $data): array + { + $bstream = $this->allocate($size * 8); + $pval = 0; + for ($idx = 0; $idx < $size; ++$idx) { + $mask = 0x80; + for ($jdx = 0; $jdx < 8; ++$jdx) { + $bstream[$pval] = ($data[$idx] & $mask) !== 0 ? 1 : 0; + + ++$pval; + $mask >>= 1; + } + } + + return $bstream; + } + + /** + * Return an array with zeros + * + * @param int $setLength Array size + * + * @return array array + */ + protected function allocate(int $setLength): array + { + return array_fill(0, $setLength, 0); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Estimate.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Estimate.php new file mode 100644 index 0000000..cec070f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Estimate.php @@ -0,0 +1,227 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Estimate + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @phpstan-type Item array{ + * 'mode': int, + * 'size': int, + * 'data': array, + * 'bstream': array, + * } + */ +abstract class Estimate +{ + /** + * Encoding mode + */ + protected int $hint = 2; + + /** + * QR code version. + * The Size of QRcode is defined as version. Version is an integer value from 1 to 40. + * Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. + * So version 40 is 177*177 matrix. + */ + public int $version = 0; + + /** + * Error correction level + */ + protected int $level = 0; + + /** + * Return the size of length indicator for the mode and version + * + * @param int $mode Encoding mode + * @param int $version Version + * + * @return int the size of the appropriate length indicator (bits). + */ + public function getLengthIndicator(int $mode, int $version): int + { + if ($mode == Data::ENC_MODES['ST']) { + return 0; + } + + if ($version <= 9) { + $len = 0; + } elseif ($version <= 26) { + $len = 1; + } else { + $len = 2; + } + + return Data::LEN_TABLE_BITS[$mode][$len]; + } + + /** + * estimateBitsModeNum + * + * @return int number of bits + */ + public function estimateBitsModeNum(int $size): int + { + $wdt = (int) ($size / 3); + $bits = ($wdt * 10); + match ($size - ($wdt * 3)) { + 1 => $bits += 4, + 2 => $bits += 7, + default => $bits, + }; + return $bits; + } + + /** + * estimateBitsModeAn + * + * @return int number of bits + */ + public function estimateBitsModeAn(int $size): int + { + $bits = (int) ($size * 5.5); // (size / 2 ) * 11 + if (($size & 1) !== 0) { + $bits += 6; + } + + return $bits; + } + + /** + * estimateBitsMode8 + * + * @return int number of bits + */ + public function estimateBitsMode8(int $size): int + { + return $size * 8; + } + + /** + * estimateBitsModeKanji + * + * @return int number of bits + */ + public function estimateBitsModeKanji(int $size): int + { + return (int) ($size * 6.5); // (size / 2 ) * 13 + } + + /** + * Estimate version + * + * @param array $items Items + * @param int $level Error correction level + * + * @return int version + */ + public function estimateVersion(array $items, int $level): int + { + $version = 0; + $prev = 0; + do { + $prev = $version; + $bits = $this->estimateBitStreamSize($items, $prev); + $version = $this->getMinimumVersion((int) (($bits + 7) / 8), $level); + if ($version < 0) { + return -1; + } + } while ($version > $prev); + + return $version; + } + + /** + * Return a version number that satisfies the input code length. + * + * @param int $size Input code length (bytes) + * @param int $level Error correction level + * + * @return int version number + * + * @throws BarcodeException + */ + protected function getMinimumVersion(int $size, int $level): int + { + for ($idx = 1; $idx <= Data::QRSPEC_VERSION_MAX; ++$idx) { + $words = (Data::CAPACITY[$idx][Data::QRCAP_WORDS] - Data::CAPACITY[$idx][Data::QRCAP_EC][$level]); + if ($words >= $size) { + return $idx; + } + } + + throw new BarcodeException( + 'The size of input data is greater than Data::QR capacity, try to lower the error correction mode' + ); + } + + /** + * estimateBitStreamSize + * + * @param array $items Items + * @param int $version Code version + * + * @return int bits + */ + protected function estimateBitStreamSize(array $items, int $version): int + { + $bits = 0; + if ($version == 0) { + $version = 1; + } + + foreach ($items as $item) { + switch ($item['mode']) { + case Data::ENC_MODES['NM']: + $bits = $this->estimateBitsModeNum($item['size']); + break; + case Data::ENC_MODES['AN']: + $bits = $this->estimateBitsModeAn($item['size']); + break; + case Data::ENC_MODES['8B']: + $bits = $this->estimateBitsMode8($item['size']); + break; + case Data::ENC_MODES['KJ']: + $bits = $this->estimateBitsModeKanji($item['size']); + break; + case Data::ENC_MODES['ST']: + return Data::STRUCTURE_HEADER_BITS; + default: + return 0; + } + + $len = $this->getLengthIndicator($item['mode'], $version); + $mod = 1 << $len; + $num = (int) (($item['size'] + $mod - 1) / $mod); + $bits += $num * (4 + $len); + } + + return $bits; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Init.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Init.php new file mode 100644 index 0000000..3a29c10 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Init.php @@ -0,0 +1,488 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Init + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @phpstan-type RSItem array{ + * 'alpha_to': array, + * 'fcr': int, + * 'genpoly': array, + * 'gfpoly': int, + * 'index_of': array, + * 'iprim': int, + * 'mm': int, + * 'nn': int, + * 'nroots': int, + * 'pad': int, + * 'prim': int, + * } + * + * @phpstan-type RSblock array{ + * 'data': array, + * 'dataLength': int, + * 'ecc': array, + * 'eccLength': int, + * } + */ +abstract class Init extends \Com\Tecnick\Barcode\Type\Square\QrCode\Mask +{ + /** + * Data code + * + * @var array + */ + protected array $datacode = []; + + /** + * Error correction code + * + * @var array + */ + protected array $ecccode = []; + + /** + * Blocks + */ + protected int $blocks; + + /** + * Reed-Solomon blocks + * + * @var array + */ + protected array $rsblocks = []; //of RSblock + + /** + * Counter + */ + protected int $count; + + /** + * Data length + */ + protected int $dataLength; + + /** + * Error correction length + */ + protected int $eccLength; + + /** + * Value bv1 + */ + protected int $bv1; + + /** + * Width. + */ + protected int $width; + + /** + * Frame + * + * @var array + */ + protected array $frame = []; + + /** + * Horizontal bit position + */ + protected int $xpos; + + /** + * Vertical bit position + */ + protected int $ypos; + + /** + * Direction + */ + protected int $dir; + + /** + * Single bit value + */ + protected int $bit; + + /** + * Reed-Solomon items + * + * @var array + */ + protected array $rsitems = []; + + /** + * Initialize code + * + * @param array $spec Array of ECC specification + */ + protected function init(array $spec): void + { + $dlv = $this->spc->rsDataCodes1($spec); + $elv = $this->spc->rsEccCodes1($spec); + $rsv = $this->initRs(8, 0x11d, 0, 1, $elv, 255 - $dlv - $elv); + $blockNo = 0; + $dataPos = 0; + $eccPos = 0; + $ecc = []; + $endfor = $this->spc->rsBlockNum1($spec); + $this->initLoop($endfor, $dlv, $elv, $rsv, $eccPos, $blockNo, $dataPos, $ecc); + if ($this->spc->rsBlockNum2($spec) == 0) { + return; + } + + $dlv = $this->spc->rsDataCodes2($spec); + $elv = $this->spc->rsEccCodes2($spec); + $rsv = $this->initRs(8, 0x11d, 0, 1, $elv, 255 - $dlv - $elv); + if ($rsv == null) { + throw new BarcodeException('Empty RS'); + } + + $endfor = $this->spc->rsBlockNum2($spec); + $this->initLoop($endfor, $dlv, $elv, $rsv, $eccPos, $blockNo, $dataPos, $ecc); + } + + /** + * Internal loop for init + * + * @param int $endfor End for + * @param int $dlv Data length value + * @param int $elv Error correction length value + * @param RSItem $rsv Reed-Solomon values + * @param int $eccPos Error correction code position + * @param int $blockNo Block number + * @param int $dataPos Data position + * @param array $ecc Error correction code + */ + protected function initLoop( + int $endfor, + int $dlv, + int $elv, + array $rsv, + int &$eccPos, + int &$blockNo, + int &$dataPos, + array &$ecc + ): void { + for ($idx = 0; $idx < $endfor; ++$idx) { + $data = array_slice($this->datacode, $dataPos); + $ecc = array_slice($this->ecccode, $eccPos); + $ecc = $this->encodeRsChar($rsv, $data, $ecc); + $this->rsblocks[$blockNo] = [ + 'data' => $data, + 'dataLength' => $dlv, + 'ecc' => $ecc, + 'eccLength' => $elv, + ]; + $this->ecccode = array_merge(array_slice($this->ecccode, 0, $eccPos), $ecc); + $dataPos += $dlv; + $eccPos += $elv; + ++$blockNo; + } + } + + /** + * Initialize a Reed-Solomon codec and add it to existing rsitems + * + * @param int $symsize Symbol size, bits + * @param int $gfpoly Field generator polynomial coefficients + * @param int $fcr First root of RS code generator polynomial, index form + * @param int $prim Primitive element to generate polynomial roots + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad Padding bytes at front of shortened block + * + * @return RSItem Array of RS values: + * mm = Bits per symbol; + * nn = Symbols per block; + * alpha_to = log lookup table array; + * index_of = Antilog lookup table array; + * genpoly = Generator polynomial array; + * nroots = Number of generator; + * roots = number of parity symbols; + * fcr = First consecutive root, index form; + * prim = Primitive element, index form; + * iprim = prim-th root of 1, index form; + * pad = Padding bytes in shortened block; + * gfpoly. + */ + protected function initRs( + int $symsize, + int $gfpoly, + int $fcr, + int $prim, + int $nroots, + int $pad + ): array { + foreach ($this->rsitems as $rsv) { + if ($rsv['pad'] != $pad) { + continue; + } + + if ($rsv['nroots'] != $nroots) { + continue; + } + + if ($rsv['mm'] != $symsize) { + continue; + } + + if ($rsv['gfpoly'] != $gfpoly) { + continue; + } + + if ($rsv['fcr'] != $fcr) { + continue; + } + + if ($rsv['prim'] != $prim) { + continue; + } + + return $rsv; + } + + $rsv = $this->initRsChar($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); + array_unshift($this->rsitems, $rsv); + return $rsv; + } + + /** + * modnn + * + * @param RSItem $rsv RS values + * @param int $xpos X position + * + * @return int X position + */ + protected function modnn(array $rsv, int $xpos): int + { + while ($xpos >= $rsv['nn']) { + $xpos -= $rsv['nn']; + $xpos = (($xpos >> $rsv['mm']) + ($xpos & $rsv['nn'])); + } + + return $xpos; + } + + /** + * Check the params for the initRsChar and throws an exception in case of error. + * + * @param int $symsize Symbol size, bits + * @param int $fcr First root of RS code generator polynomial, index form + * @param int $prim Primitive element to generate polynomial roots + * + * @throws BarcodeException in case of error + */ + protected function checkRsCharParamsA(int $symsize, int $fcr, int $prim): void + { + $shfsymsize = (1 << $symsize); + if ( + ($symsize < 0) + || ($symsize > 8) + || ($fcr < 0) + || ($fcr >= $shfsymsize) + || ($prim <= 0) + || ($prim >= $shfsymsize) + ) { + throw new BarcodeException('Invalid parameters'); + } + } + + /** + * Check the params for the initRsChar and throws an exception in case of error. + * + * @param int $symsize Symbol size, bits + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad Padding bytes at front of shortened block + * + * @throws BarcodeException in case of error + */ + protected function checkRsCharParamsB(int $symsize, int $nroots, int $pad): void + { + $shfsymsize = (1 << $symsize); + if ( + ($nroots < 0) + || ($nroots >= $shfsymsize) + || ($pad < 0) + || ($pad >= ($shfsymsize - 1 - $nroots)) + ) { + throw new BarcodeException('Invalid parameters'); + } + } + + /** + * Initialize a Reed-Solomon codec and returns an array of values. + * + * @param int $symsize Symbol size, bits + * @param int $gfpoly Field generator polynomial coefficients + * @param int $fcr First root of RS code generator polynomial, index form + * @param int $prim Primitive element to generate polynomial roots + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad Padding bytes at front of shortened block + * + * @return RSItem Array of RS values: + * mm = Bits per symbol; + * nn = Symbols per block; + * alpha_to = log lookup table array; + * index_of = Antilog lookup table array; + * genpoly = Generator polynomial array; + * nroots = Number of generator; + * roots = number of parity symbols; + * fcr = First consecutive root, index form; + * prim = Primitive element, index form; + * iprim = prim-th root of 1, index form; + * pad = Padding bytes in shortened block; + * gfpoly. + */ + protected function initRsChar( + int $symsize, + int $gfpoly, + int $fcr, + int $prim, + int $nroots, + int $pad + ): array { + $this->checkRsCharParamsA($symsize, $fcr, $prim); + $this->checkRsCharParamsB($symsize, $nroots, $pad); + $rsv = []; + $rsv['mm'] = $symsize; + $rsv['nn'] = ((1 << $symsize) - 1); + $rsv['pad'] = $pad; + $rsv['alpha_to'] = array_fill(0, ($rsv['nn'] + 1), 0); + $rsv['index_of'] = array_fill(0, ($rsv['nn'] + 1), 0); + // PHP style macro replacement + $nnv = &$rsv['nn']; + $azv = &$nnv; + // Generate Galois field lookup tables + $rsv['index_of'][0] = $azv; // log(zero) = -inf + $rsv['alpha_to'][$azv] = 0; // alpha**-inf = 0 + $srv = 1; + for ($idx = 0; $idx < $rsv['nn']; ++$idx) { + $rsv['index_of'][$srv] = $idx; + $rsv['alpha_to'][$idx] = $srv; + $srv <<= 1; + if (($srv & (1 << $symsize)) !== 0) { + $srv ^= $gfpoly; + } + + $srv &= $rsv['nn']; + } + + if ($srv != 1) { + throw new BarcodeException('field generator polynomial is not primitive!'); + } + + // form RS code generator polynomial from its roots + $rsv['genpoly'] = array_fill(0, ($nroots + 1), 0); + $rsv['fcr'] = $fcr; + $rsv['prim'] = $prim; + $rsv['nroots'] = $nroots; + $rsv['gfpoly'] = $gfpoly; + // find prim-th root of 1, used in decoding + for ($iprim = 1; $iprim % $prim != 0; $iprim += $rsv['nn']) { + ; // intentional empty-body loop! + } + + $rsv['iprim'] = (int) ($iprim / $prim); + $rsv['genpoly'][0] = 1; + for ($idx = 0, $root = ($fcr * $prim); $idx < $nroots; ++$idx, $root += $prim) { + $rsv['genpoly'][($idx + 1)] = 1; + // multiply rs->genpoly[] by @**(root + x) + for ($jdx = $idx; $jdx > 0; --$jdx) { + if ($rsv['genpoly'][$jdx] != 0) { + $rsv['genpoly'][$jdx] = ($rsv['genpoly'][($jdx - 1)] + ^ $rsv['alpha_to'][$this->modnn($rsv, $rsv['index_of'][$rsv['genpoly'][$jdx]] + $root)]); + } else { + $rsv['genpoly'][$jdx] = $rsv['genpoly'][($jdx - 1)]; + } + } + + // rs->genpoly[0] can never be zero + $rsv['genpoly'][0] = $rsv['alpha_to'][$this->modnn($rsv, $rsv['index_of'][$rsv['genpoly'][0]] + $root)]; + } + + // convert rs->genpoly[] to index form for quicker encoding + for ($idx = 0; $idx <= $nroots; ++$idx) { + $rsv['genpoly'][$idx] = $rsv['index_of'][$rsv['genpoly'][$idx]]; + } + + return $rsv; + } + + /** + * Encode a Reed-Solomon codec and returns the parity array + * + * @param RSItem $rsv RS values + * @param array $data Data + * @param array $parity Parity + * + * @return array Parity array + */ + protected function encodeRsChar( + array $rsv, + array $data, + array $parity + ): array { + // the total number of symbols in a RS block + $nnv = &$rsv['nn']; + // the address of an array of NN elements to convert Galois field elements + // in index (log) form to polynomial form + $alphato = &$rsv['alpha_to']; + // the address of an array of NN elements to convert Galois field elements + // in polynomial form to index (log) form + $indexof = &$rsv['index_of']; + // an array of NROOTS+1 elements containing the generator polynomial in index form + $genpoly = &$rsv['genpoly']; + // the number of roots in the RS code generator polynomial, + // which is the same as the number of parity symbols in a block + $nroots = &$rsv['nroots']; + // the number of pad symbols in a block + $pad = &$rsv['pad']; + $azv = &$nnv; + $parity = array_fill(0, $nroots, 0); + for ($idx = 0; $idx < ($nnv - $nroots - $pad); ++$idx) { + $feedback = $indexof[$data[$idx] ^ $parity[0]]; + if ($feedback != $azv) { + // feedback term is non-zero + // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must + // always be for the polynomials constructed by initRs() + $feedback = $this->modnn($rsv, ($nnv - $genpoly[$nroots] + $feedback)); + for ($jdx = 1; $jdx < $nroots; ++$jdx) { + $parity[$jdx] ^= $alphato[$this->modnn($rsv, $feedback + $genpoly[($nroots - $jdx)])]; + } + } + + // Shift + array_shift($parity); + $parity[] = $feedback != $azv ? $alphato[$this->modnn($rsv, $feedback + $genpoly[0])] : 0; + } + + return $parity; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/InputItem.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/InputItem.php new file mode 100644 index 0000000..e131794 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/InputItem.php @@ -0,0 +1,193 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\InputItem + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @phpstan-import-type Item from \Com\Tecnick\Barcode\Type\Square\QrCode\Estimate + */ +abstract class InputItem extends \Com\Tecnick\Barcode\Type\Square\QrCode\Estimate +{ + /** + * Look up the alphabet-numeric conversion table (see JIS X0510:2004, pp.19) + * + * @param int $chr Character value + */ + public function lookAnTable(int $chr): int + { + return (($chr > 127) ? -1 : Data::AN_TABLE[$chr]); + } + + /** + * Append data to an input object. + * The data is copied and appended to the input object. + * + * @param array $items Input items + * @param int $mode Encoding mode. + * @param int $size Size of data (byte). + * @param array $data Array of input data. + * + * @return array items + */ + public function appendNewInputItem( + array $items, + int $mode, + int $size, + array $data + ): array { + $newitem = $this->newInputItem($mode, $size, $data); + if ($newitem !== []) { + $items[] = $newitem; + } + + return $items; + } + + /** + * newInputItem + * + * @param int $mode Encoding mode. + * @param int $size Size of data (byte). + * @param array $data Array of input data. + * @param array $bstream Binary stream + * + * @return Item input item + */ + protected function newInputItem( + int $mode, + int $size, + array $data, + array $bstream = [] + ): array { + $setData = array_slice($data, 0, $size); + if (count($setData) < $size) { + $setData = array_merge($setData, array_fill(0, ($size - count($setData)), '0')); + } + + if (! $this->check($mode, $size, $setData)) { + throw new BarcodeException('Invalid input item'); + } + + return [ + 'mode' => $mode, + 'size' => $size, + 'data' => $setData, + 'bstream' => $bstream, + ]; + } + + /** + * Validate the input data. + * + * @param int $mode Encoding mode. + * @param int $size Size of data (byte). + * @param array $data Data to validate + * + * @return bool true in case of valid data, false otherwise + */ + protected function check( + int $mode, + int $size, + array $data + ): bool { + if ($size <= 0) { + return false; + } + + return match ($mode) { + Data::ENC_MODES['NM'] => $this->checkModeNum($size, $data), + Data::ENC_MODES['AN'] => $this->checkModeAn($size, $data), + Data::ENC_MODES['KJ'] => $this->checkModeKanji($size, $data), + Data::ENC_MODES['8B'] => true, + Data::ENC_MODES['ST'] => true, + default => false, + }; + } + + /** + * checkModeNum + * + * @param int $size Size of data (byte). + * @param array $data Data to validate + * + * @return bool true or false + */ + protected function checkModeNum(int $size, array $data): bool + { + for ($idx = 0; $idx < $size; ++$idx) { + if ((ord($data[$idx]) < ord('0')) || (ord($data[$idx]) > ord('9'))) { + return false; + } + } + + return true; + } + + /** + * checkModeAn + * + * @param int $size Size of data (byte). + * @param array $data Data to validate + * + * @return bool true or false + */ + protected function checkModeAn(int $size, array $data): bool + { + for ($idx = 0; $idx < $size; ++$idx) { + if ($this->lookAnTable(ord($data[$idx])) == -1) { + return false; + } + } + + return true; + } + + /** + * checkModeKanji + * + * @param int $size Size of data (byte). + * @param array $data Data to validate + * + * @return bool true or false + */ + protected function checkModeKanji(int $size, array $data): bool + { + if (($size & 1) !== 0) { + return false; + } + + for ($idx = 0; $idx < $size; $idx += 2) { + $val = (ord($data[$idx]) << 8) | ord($data[($idx + 1)]); + if (($val < 0x8140) || (($val > 0x9ffc) && ($val < 0xe040)) || ($val > 0xebbf)) { + return false; + } + } + + return true; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Mask.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Mask.php new file mode 100644 index 0000000..e1451a4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Mask.php @@ -0,0 +1,339 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Mask + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class Mask extends \Com\Tecnick\Barcode\Type\Square\QrCode\MaskNum +{ + /** + * Run length + * + * @var array + */ + protected array $runLength = []; + + /** + * Spec class object + */ + protected Spec $spc; + + /** + * Initialize + * + * @param int $version Code version + * @param int $level Error Correction Level + * @param int $qr_find_from_random If negative, checks all masks available, + * otherwise the value indicates the number of masks to be checked, + * mask ids are random + * @param bool $qr_find_best_mask If true, estimates best mask (slow) + * @param int $qr_default_mask Default mask used when $fbm is false + */ + public function __construct( + /** + * QR code version. + * The Size of QRcode is defined as version. Version is an integer value from 1 to 40. + * Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. + * So version 40 is 177*177 matrix. + */ + public int $version, + /** + * Error correction level + */ + protected int $level, + protected int $qr_find_from_random = -1, + protected bool $qr_find_best_mask = true, + protected int $qr_default_mask = 2 + ) { + $this->spc = new Spec(); + } + + /** + * Get the best mask + * + * @param int $width Width + * @param array $frame Frame + * @param int $level Error Correction lLevel + * + * @return array best mask + */ + protected function mask( + int $width, + array $frame, + int $level + ): array { + $minDemerit = PHP_INT_MAX; + $bestMask = []; + $checked_masks = [0, 1, 2, 3, 4, 5, 6, 7]; + if ($this->qr_find_from_random >= 0) { + $howManuOut = (8 - ($this->qr_find_from_random % 9)); + for ($idx = 0; $idx < $howManuOut; ++$idx) { + $maxpos = (count($checked_masks) - 1); + $remPos = ($maxpos > 0) ? random_int(0, $maxpos) : 0; + unset($checked_masks[$remPos]); + $checked_masks = array_values($checked_masks); + } + } + + $bestMask = $frame; + foreach ($checked_masks as $checked_mask) { + $mask = array_fill(0, $width, str_repeat("\0", $width)); + $demerit = 0; + $blacks = $this->makeMaskNo($checked_mask, $width, $frame, $mask); + $blacks += $this->writeFormatInformation($width, $mask, $checked_mask, $level); + $blacks = (int) (100 * $blacks / ($width * $width)); + $demerit = (int) (abs($blacks - 50) / 5) * Data::N4; + $demerit += $this->evaluateSymbol($width, $mask); + if ($demerit < $minDemerit) { + $minDemerit = $demerit; + $bestMask = $mask; + } + } + + return $bestMask; + } + + /** + * Make a mask + * + * @param int $width Mask width + * @param array $frame Frame + * @param int $maskNo Mask number + * @param int $level Error Correction level + * + * @return array mask + */ + protected function makeMask( + int $width, + array $frame, + int $maskNo, + int $level + ): array { + $mask = []; + $this->makeMaskNo($maskNo, $width, $frame, $mask); + $this->writeFormatInformation($width, $mask, $maskNo, $level); + return $mask; + } + + /** + * Write Format Information on the frame and returns the number of black bits + * + * @param int $width Mask width + * @param array $frame Frame + * @param int $maskNo Mask number + * @param int $level Error Correction level + * + * @return int blacks + */ + protected function writeFormatInformation( + int $width, + array &$frame, + int $maskNo, + int $level + ): int { + $blacks = 0; + $spec = new Spec(); + $format = $spec->getFormatInfo($maskNo, $level); + for ($idx = 0; $idx < 8; ++$idx) { + if (($format & 1) !== 0) { + $blacks += 2; + $val = 0x85; + } else { + $val = 0x84; + } + + $frame[8][($width - 1 - $idx)] = chr($val); + if ($idx < 6) { + $frame[$idx][8] = chr($val); + } else { + $frame[($idx + 1)][8] = chr($val); + } + + $format >>= 1; + } + + for ($idx = 0; $idx < 7; ++$idx) { + if (($format & 1) !== 0) { + $blacks += 2; + $val = 0x85; + } else { + $val = 0x84; + } + + $frame[($width - 7 + $idx)][8] = chr($val); + if ($idx == 0) { + $frame[8][7] = chr($val); + } else { + $frame[8][(6 - $idx)] = chr($val); + } + + $format >>= 1; + } + + return $blacks; + } + + /** + * Evaluate Symbol and returns demerit value. + * + * @param int $width Width + * @param array $frame Frame + */ + protected function evaluateSymbol(int $width, array $frame): int + { + $frameY = $frame[0]; + $frameYM = $frame[0]; + for ($ypos = 0; $ypos < $width; ++$ypos) { + $frameY = $frame[$ypos]; + $frameYM = $ypos > 0 ? $frame[($ypos - 1)] : $frameY; + } + + $demerit = $this->evaluateSymbolB($ypos, $width, $frameY, $frameYM); + for ($xpos = 0; $xpos < $width; ++$xpos) { + $head = 0; + $this->runLength[0] = 1; + for ($ypos = 0; $ypos < $width; ++$ypos) { + if (($ypos == 0) && (ord($frame[$ypos][$xpos]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } elseif ($ypos > 0) { + if (((ord($frame[$ypos][$xpos]) ^ ord($frame[($ypos - 1)][$xpos])) & 1) !== 0) { + ++$head; + $this->runLength[$head] = 1; + } else { + ++$this->runLength[$head]; + } + } + } + + $demerit += $this->calcN1N3($head + 1); + } + + return $demerit; + } + + /** + * Evaluate Symbol + * + * @param int $ypos Y position + * @param int $width Width + * + * @return int demerit + */ + protected function evaluateSymbolB( + int $ypos, + int $width, + string $frameY, + string $frameYM + ): int { + $head = 0; + $demerit = 0; + $this->runLength[0] = 1; + for ($xpos = 0; $xpos < $width; ++$xpos) { + if (($xpos > 0) && ($ypos > 0)) { + $b22 = ord($frameY[$xpos]) + & ord($frameY[($xpos - 1)]) + & ord($frameYM[$xpos]) + & ord($frameYM[($xpos - 1)]); + $w22 = ord($frameY[$xpos]) + | ord($frameY[($xpos - 1)]) + | ord($frameYM[$xpos]) + | ord($frameYM[($xpos - 1)]); + if ((($b22 | ($w22 ^ 1)) & 1) !== 0) { + $demerit += Data::N2; + } + } + + if (($xpos == 0) && (ord($frameY[$xpos]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } elseif ($xpos > 0) { + if (((ord($frameY[$xpos]) ^ ord($frameY[($xpos - 1)])) & 1) !== 0) { + ++$head; + $this->runLength[$head] = 1; + } else { + ++$this->runLength[$head]; + } + } + } + + return ($demerit + $this->calcN1N3($head + 1)); + } + + /** + * Calc N1 N3 + * + * @param int $length Length + * + * @return int demerit + */ + protected function calcN1N3(int $length): int + { + $demerit = 0; + for ($idx = 0; $idx < $length; ++$idx) { + if ($this->runLength[$idx] >= 5) { + $demerit += (Data::N1 + ($this->runLength[$idx] - 5)); + } + + if (($idx & 1) && ($idx >= 3) && ($idx < ($length - 2)) && ($this->runLength[$idx] % 3 == 0)) { + $demerit += $this->calcN1N3delta($length, $idx); + } + } + + return $demerit; + } + + /** + * Calc N1 N3 delta + * + * @param int $length Length + * @param int $idx Index + * + * @return int demerit delta + */ + protected function calcN1N3delta(int $length, int $idx): int + { + $fact = (int) ($this->runLength[$idx] / 3); + if ( + ($this->runLength[($idx - 2)] == $fact) + && ($this->runLength[($idx - 1)] == $fact) + && ($this->runLength[($idx + 1)] == $fact) + && ($this->runLength[($idx + 2)] == $fact) + ) { + if (($this->runLength[($idx - 3)] < 0) || ($this->runLength[($idx - 3)] >= (4 * $fact))) { + return Data::N3; + } + + if ((($idx + 3) >= $length) || ($this->runLength[($idx + 3)] >= (4 * $fact))) { + return Data::N3; + } + } + + return 0; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/MaskNum.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/MaskNum.php new file mode 100644 index 0000000..ce49c6d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/MaskNum.php @@ -0,0 +1,102 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\MaskNum + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +abstract class MaskNum +{ + /** + * Make Mask Number + * + * @param int $maskNo Mask number + * @param int $width Width + * @param array $frame Frame + * @param array $mask Mask + * + * @return int mask number + */ + protected function makeMaskNo( + int $maskNo, + int $width, + array $frame, + array &$mask + ): int { + $bnum = 0; + $bitMask = $this->generateMaskNo($maskNo, $width, $frame); + $mask = $frame; + for ($ypos = 0; $ypos < $width; ++$ypos) { + for ($xpos = 0; $xpos < $width; ++$xpos) { + if ($bitMask[$ypos][$xpos] == 1) { + $mask[$ypos][$xpos] = chr(ord($frame[$ypos][$xpos]) ^ ((int) ($bitMask[$ypos][$xpos]))); + } + + $bnum += ord($mask[$ypos][$xpos]) & 1; + } + } + + return $bnum; + } + + /** + * Return bit mask + * + * @param int $maskNo Mask number + * @param int $width Width + * @param array $frame Frame + * + * @return array> bit mask + */ + protected function generateMaskNo( + int $maskNo, + int $width, + array $frame + ): array { + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + for ($ypos = 0; $ypos < $width; ++$ypos) { + for ($xpos = 0; $xpos < $width; ++$xpos) { + if ((ord($frame[$ypos][$xpos]) & 0x80) !== 0) { + $bitMask[$ypos][$xpos] = 0; + continue; + } + $maskFunc = match ($maskNo) { + 0 => (($xpos + $ypos) & 1), + 1 => ($ypos & 1), + 2 => ($xpos % 3), + 3 => (($xpos + $ypos) % 3), + 4 => ((((int) ($ypos / 2)) + ((int) ($xpos / 3))) & 1), + 5 => ((($xpos * $ypos) & 1) + ($xpos * $ypos) % 3), + 6 => (((($xpos * $ypos) & 1) + ($xpos * $ypos) % 3) & 1), + 7 => (((($xpos * $ypos) % 3) + (($xpos + $ypos) & 1)) & 1), + default => 1, + }; + $bitMask[$ypos][$xpos] = (($maskFunc == 0) ? 1 : 0); + } + } + + return $bitMask; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Spec.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Spec.php new file mode 100644 index 0000000..e9cfde0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Spec.php @@ -0,0 +1,181 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Spec + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @phpstan-type EccSpec array{ + * 0: int, + * 1: int, + * 2: int, + * 3: int, + * 4: int, + * } + */ +class Spec extends \Com\Tecnick\Barcode\Type\Square\QrCode\SpecRs +{ + /** + * Return maximum data code length (bytes) for the version. + * + * @param int $version Version + * @param int $level Error correction level + * + * @return int maximum size (bytes) + */ + public function getDataLength(int $version, int $level): int + { + return (Data::CAPACITY[$version][Data::QRCAP_WORDS] - Data::CAPACITY[$version][Data::QRCAP_EC][$level]); + } + + /** + * Return maximum error correction code length (bytes) for the version. + * + * @param int $version Version + * @param int $level Error correction level + * + * @return int ECC size (bytes) + */ + public function getECCLength(int $version, int $level): int + { + return Data::CAPACITY[$version][Data::QRCAP_EC][$level]; + } + + /** + * Return the width of the symbol for the version. + * + * @param int $version Version + * + * @return int width + */ + public function getWidth(int $version): int + { + return Data::CAPACITY[$version][Data::QRCAP_WIDTH]; + } + + /** + * Return the numer of remainder bits. + * + * @param int $version Version + * + * @return int number of remainder bits + */ + public function getRemainder(int $version): int + { + return Data::CAPACITY[$version][Data::QRCAP_REMINDER]; + } + + /** + * Return the maximum length for the mode and version. + * + * @param int $mode Encoding mode + * @param int $version Version + * + * @return int the maximum length (bytes) + */ + public function maximumWords(int $mode, int $version): int + { + if ($mode == Data::ENC_MODES['ST']) { + return 3; + } + + if ($version <= 9) { + $lval = 0; + } elseif ($version <= 26) { + $lval = 1; + } else { + $lval = 2; + } + + $bits = Data::LEN_TABLE_BITS[$mode][$lval]; + $words = (1 << $bits) - 1; + if ($mode == Data::ENC_MODES['KJ']) { + $words *= 2; // the number of bytes is required + } + + return $words; + } + + /** + * Return an array of ECC specification. + * + * @param int $version Version + * @param int $level Error correction level + * @param EccSpec $spec Array of ECC specification + * + * @return EccSpec spec: + * 0 = # of type1 blocks + * 1 = # of data code + * 2 = # of ecc code + * 3 = # of type2 blocks + * 4 = # of data code + */ + public function getEccSpec(int $version, int $level, array $spec): array + { + if (count($spec) < 5) { + $spec = [0, 0, 0, 0, 0]; + } + + $bv1 = Data::ECC_TABLE[$version][$level][0]; + $bv2 = Data::ECC_TABLE[$version][$level][1]; + $data = $this->getDataLength($version, $level); + $ecc = $this->getECCLength($version, $level); + if ($bv2 === 0) { + $spec[0] = $bv1; + $spec[1] = (int) ($data / $bv1); /* @phpstan-ignore-line */ + $spec[2] = (int) ($ecc / $bv1); /* @phpstan-ignore-line */ + $spec[3] = 0; + $spec[4] = 0; + } else { + $spec[0] = $bv1; + $spec[1] = (int) ($data / ($bv1 + $bv2)); + $spec[2] = (int) ($ecc / ($bv1 + $bv2)); + $spec[3] = $bv2; + $spec[4] = $spec[1] + 1; + } + + return $spec; + } + + /** + * Return BCH encoded format information pattern. + * + * @param int $maskNo Mask number + * @param int $level Error correction level + */ + public function getFormatInfo(int $maskNo, int $level): int + { + if ( + ($maskNo < 0) + || ($maskNo > 7) + || ($level < 0) + || ($level > 3) + ) { + return 0; + } + + return Data::FORMAT_INFO[$level][$maskNo]; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/SpecRs.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/SpecRs.php new file mode 100644 index 0000000..45d6d11 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/SpecRs.php @@ -0,0 +1,370 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\SpecRs + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @SuppressWarnings("PHPMD.TooManyPublicMethods") + */ +abstract class SpecRs +{ + /** + * Return block number 0 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsBlockNum(array $spec): int + { + return ($spec[0] + $spec[3]); + } + + /** + * Return block number 1 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsBlockNum1(array $spec): int + { + return $spec[0]; + } + + /** + * Return data codes 1 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsDataCodes1(array $spec): int + { + return $spec[1]; + } + + /** + * Return ecc codes 1 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsEccCodes1(array $spec): int + { + return $spec[2]; + } + + /** + * Return block number 2 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsBlockNum2(array $spec): int + { + return $spec[3]; + } + + /** + * Return data codes 2 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsDataCodes2(array $spec): int + { + return $spec[4]; + } + + /** + * Return ecc codes 2 + * + * @param array $spec Spec + * + * @return int value + */ + public function rsEccCodes2(array $spec): int + { + return $spec[2]; + } + + /** + * Return data length + * + * @param array $spec Spec + * + * @return int value + */ + public function rsDataLength(array $spec): int + { + return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); + } + + /** + * Return ecc length + * + * @param array $spec Spec + * + * @return int value + */ + public function rsEccLength(array $spec): int + { + return ($spec[0] + $spec[3]) * $spec[2]; + } + + /** + * Return a copy of initialized frame. + * + * @param int $version Version + * + * @return array of unsigned char. + */ + public function createFrame(int $version): array + { + $width = Data::CAPACITY[$version][Data::QRCAP_WIDTH]; + $frameLine = str_repeat("\0", $width); + $frame = array_fill(0, $width, $frameLine); + // Finder pattern + $frame = $this->putFinderPattern($frame, 0, 0); + $frame = $this->putFinderPattern($frame, $width - 7, 0); + $frame = $this->putFinderPattern($frame, 0, $width - 7); + // Separator + $yOffset = $width - 7; + for ($ypos = 0; $ypos < 7; ++$ypos) { + $frame[$ypos][7] = "\xc0"; + $frame[$ypos][$width - 8] = "\xc0"; + $frame[$yOffset][7] = "\xc0"; + ++$yOffset; + } + + $setPattern = str_repeat("\xc0", 8); + $frame = $this->qrstrset($frame, 0, 7, $setPattern); + $frame = $this->qrstrset($frame, $width - 8, 7, $setPattern); + $frame = $this->qrstrset($frame, 0, $width - 8, $setPattern); + // Format info + $setPattern = str_repeat("\x84", 9); + $frame = $this->qrstrset($frame, 0, 8, $setPattern); + $frame = $this->qrstrset($frame, $width - 8, 8, $setPattern, 8); + + $yOffset = $width - 8; + for ($ypos = 0; $ypos < 8; ++$ypos, ++$yOffset) { + $frame[$ypos][8] = "\x84"; + $frame[$yOffset][8] = "\x84"; + } + + // Timing pattern + $wdo = $width - 15; + for ($idx = 1; $idx < $wdo; ++$idx) { + $frame[6][(7 + $idx)] = chr(0x90 | ($idx & 1)); + $frame[(7 + $idx)][6] = chr(0x90 | ($idx & 1)); + } + + // Alignment pattern + $frame = $this->putAlignmentPattern($version, $frame, $width); + // Version information + if ($version >= 7) { + $vinf = $this->getVersionPattern($version); + $val = $vinf; + for ($xpos = 0; $xpos < 6; ++$xpos) { + for ($ypos = 0; $ypos < 3; ++$ypos) { + $frame[(($width - 11) + $ypos)][$xpos] = chr(0x88 | ($val & 1)); + $val >>= 1; + } + } + + $val = $vinf; + for ($ypos = 0; $ypos < 6; ++$ypos) { + for ($xpos = 0; $xpos < 3; ++$xpos) { + $frame[$ypos][($xpos + ($width - 11))] = chr(0x88 | ($val & 1)); + $val >>= 1; + } + } + } + + // and a little bit... + $frame[$width - 8][8] = "\x81"; + return $frame; + } + + /** + * Replace a value on the array at the specified position + * + * @param array $srctab Source table + * @param int $xpos X position + * @param int $ypos Y position + * @param string $repl Value to replace + * @param int|null $replLen Length of the repl string + * + * @return array srctab + */ + public function qrstrset( + array $srctab, + int $xpos, + int $ypos, + string $repl, + ?int $replLen = null + ): array { + $srctab[$ypos] = substr_replace( + $srctab[$ypos], + ($replLen !== null) ? substr($repl, 0, $replLen) : $repl, + $xpos, + $replLen ?? strlen($repl) + ); + return $srctab; + } + + /** + * Put an alignment marker. + * + * @param array $frame Frame + * @param int $pox X center coordinate of the pattern + * @param int $poy Y center coordinate of the pattern + * + * @return array frame + */ + public function putAlignmentMarker( + array $frame, + int $pox, + int $poy + ): array { + $finder = [ + "\xa1\xa1\xa1\xa1\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa0\xa1\xa0\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa1\xa1\xa1\xa1", + ]; + $yStart = $poy - 2; + $xStart = $pox - 2; + for ($ydx = 0; $ydx < 5; ++$ydx) { + $frame = $this->qrstrset($frame, $xStart, ($yStart + $ydx), $finder[$ydx]); + } + + return $frame; + } + + /** + * Put a finder pattern. + * + * @param array $frame Frame + * @param int $pox X center coordinate of the pattern + * @param int $poy Y center coordinate of the pattern + * + * @return array frame + */ + public function putFinderPattern( + array $frame, + int $pox, + int $poy + ): array { + $finder = [ + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", + ]; + for ($ypos = 0; $ypos < 7; ++$ypos) { + $frame = $this->qrstrset($frame, $pox, ($poy + $ypos), $finder[$ypos]); + } + + return $frame; + } + + /** + * Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. + * Use lower 18 bits. + * + * @param int $version Version + */ + public function getVersionPattern(int $version): int + { + if (($version < 7) || ($version > Data::QRSPEC_VERSION_MAX)) { + return 0; + } + + return Data::VERSION_PATTERN[($version - 7)]; + } + + /** + * Put an alignment pattern. + * + * @param int $version Version + * @param array $frame Frame + * @param int $width Width + * + * @return array frame + */ + public function putAlignmentPattern( + int $version, + array $frame, + int $width + ): array { + if ($version < 2) { + return $frame; + } + + $dval = Data::ALIGN_PATTERN[$version][1] - Data::ALIGN_PATTERN[$version][0]; + if ($dval < 0) { + $wdt = 2; + } else { + $wdt = (int) (($width - Data::ALIGN_PATTERN[$version][0]) / $dval + 2); + } + + if ($wdt * $wdt - 3 == 1) { + $psx = Data::ALIGN_PATTERN[$version][0]; + $psy = Data::ALIGN_PATTERN[$version][0]; + return $this->putAlignmentMarker($frame, $psx, $psy); + } + + $cpx = Data::ALIGN_PATTERN[$version][0]; + $wdo = $wdt - 1; + for ($xpos = 1; $xpos < $wdo; ++$xpos) { + $frame = $this->putAlignmentMarker($frame, 6, $cpx); + $frame = $this->putAlignmentMarker($frame, $cpx, 6); + $cpx += $dval; + } + + $cpy = Data::ALIGN_PATTERN[$version][0]; + for ($y = 0; $y < $wdo; ++$y) { + $cpx = Data::ALIGN_PATTERN[$version][0]; + for ($xpos = 0; $xpos < $wdo; ++$xpos) { + $frame = $this->putAlignmentMarker($frame, $cpx, $cpy); + $cpx += $dval; + } + + $cpy += $dval; + } + + return $frame; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Split.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Split.php new file mode 100644 index 0000000..df0ed9d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/QrCode/Split.php @@ -0,0 +1,290 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square\QrCode; + +use Com\Tecnick\Barcode\Exception as BarcodeException; + +/** + * Com\Tecnick\Barcode\Type\Square\QrCode\Split + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @phpstan-import-type Item from \Com\Tecnick\Barcode\Type\Square\QrCode\Estimate + */ +class Split +{ + /** + * Input items + * + * @var array + */ + protected array $items = []; + + /** + * Initialize + * + * @param ByteStream $encodingMode ByteStream Class object + * @param int $hint Encoding mode + * @param int $version Code version + */ + public function __construct( + /** + * EncodingMode class object + */ + protected EncodingMode $encodingMode, + /** + * Encoding mode + */ + protected int $hint, + /** + * QR code version. + * The Size of QRcode is defined as version. Version is an integer value from 1 to 40. + * Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. + * So version 40 is 177*177 matrix. + */ + protected int $version + ) { + } + + /** + * Split the input string + * + * @param string $data Data + * + * @return array items + */ + public function getSplittedString(string $data): array + { + while (strlen($data) > 0) { + $mode = $this->encodingMode->getEncodingMode($data, 0); + switch ($mode) { + case Data::ENC_MODES['NM']: + $length = $this->eatNum($data); + break; + case Data::ENC_MODES['AN']: + $length = $this->eatAn($data); + break; + case Data::ENC_MODES['KJ']: + if ($this->hint == Data::ENC_MODES['KJ']) { + $length = $this->eatKanji($data); + } else { + $length = $this->eat8($data); + } + + break; + default: + $length = $this->eat8($data); + break; + } + + if ($length == 0) { + break; + } + + if ($length < 0) { + throw new BarcodeException('Error while splitting the input data'); + } + + $data = substr($data, $length); + } + + return $this->items; + } + + /** + * eatNum + * + * @param string $data Data + * + * @return int run + */ + protected function eatNum(string $data): int + { + $lng = $this->encodingMode->getLengthIndicator(Data::ENC_MODES['NM'], $this->version); + $pos = 0; + while ($this->encodingMode->isDigitAt($data, $pos)) { + ++$pos; + } + + $mode = $this->encodingMode->getEncodingMode($data, $pos); + if ($mode == Data::ENC_MODES['8B']) { + $dif = $this->encodingMode->estimateBitsModeNum($pos) + 4 + $lng + + $this->encodingMode->estimateBitsMode8(1) // + 4 + l8 + - $this->encodingMode->estimateBitsMode8($pos + 1); // - 4 - l8 + if ($dif > 0) { + return $this->eat8($data); + } + } + + if ($mode == Data::ENC_MODES['AN']) { + $dif = $this->encodingMode->estimateBitsModeNum($pos) + 4 + $lng + + $this->encodingMode->estimateBitsModeAn(1) // + 4 + la + - $this->encodingMode->estimateBitsModeAn($pos + 1); // - 4 - la + if ($dif > 0) { + return $this->eatAn($data); + } + } + + $this->items = $this->encodingMode->appendNewInputItem( + $this->items, + Data::ENC_MODES['NM'], + $pos, + str_split($data) + ); + return $pos; + } + + /** + * eatAn + * + * @param string $data Data + * + * @return int run + */ + protected function eatAn(string $data): int + { + $lag = $this->encodingMode->getLengthIndicator(Data::ENC_MODES['AN'], $this->version); + $lng = $this->encodingMode->getLengthIndicator(Data::ENC_MODES['NM'], $this->version); + $pos = 1; + while ($this->encodingMode->isAlphanumericAt($data, $pos)) { + if ($this->encodingMode->isDigitAt($data, $pos)) { + $qix = $pos; + while ($this->encodingMode->isDigitAt($data, $qix)) { + ++$qix; + } + + $dif = $this->encodingMode->estimateBitsModeAn($pos) // + 4 + lag + + $this->encodingMode->estimateBitsModeNum($qix - $pos) + 4 + $lng + - $this->encodingMode->estimateBitsModeAn($qix); // - 4 - la + if ($dif < 0) { + break; + } else { + $pos = $qix; + } + } else { + ++$pos; + } + } + + if (! $this->encodingMode->isAlphanumericAt($data, $pos)) { + $dif = $this->encodingMode->estimateBitsModeAn($pos) + 4 + $lag + + $this->encodingMode->estimateBitsMode8(1) // + 4 + l8 + - $this->encodingMode->estimateBitsMode8($pos + 1); // - 4 - l8 + if ($dif > 0) { + return $this->eat8($data); + } + } + + $this->items = $this->encodingMode->appendNewInputItem( + $this->items, + Data::ENC_MODES['AN'], + $pos, + str_split($data) + ); + return $pos; + } + + /** + * eatKanji + * + * @param string $data Data + * + * @return int run + */ + protected function eatKanji(string $data): int + { + $pos = 0; + while ($this->encodingMode->getEncodingMode($data, $pos) == Data::ENC_MODES['KJ']) { + $pos += 2; + } + + $this->items = $this->encodingMode->appendNewInputItem( + $this->items, + Data::ENC_MODES['KJ'], + $pos, + str_split($data) + ); + return $pos; + } + + /** + * eat8 + * + * @param string $data Data + * + * @return int run + */ + protected function eat8(string $data): int + { + $lag = $this->encodingMode->getLengthIndicator(Data::ENC_MODES['AN'], $this->version); + $lng = $this->encodingMode->getLengthIndicator(Data::ENC_MODES['NM'], $this->version); + $pos = 1; + $dataStrLen = strlen($data); + while ($pos < $dataStrLen) { + $mode = $this->encodingMode->getEncodingMode($data, $pos); + if ($mode == Data::ENC_MODES['KJ']) { + break; + } + + if ($mode == Data::ENC_MODES['NM']) { + $qix = $pos; + while ($this->encodingMode->isDigitAt($data, $qix)) { + ++$qix; + } + + $dif = $this->encodingMode->estimateBitsMode8($pos) // + 4 + l8 + + $this->encodingMode->estimateBitsModeNum($qix - $pos) + 4 + $lng + - $this->encodingMode->estimateBitsMode8($qix); // - 4 - l8 + if ($dif < 0) { + break; + } else { + $pos = $qix; + } + } elseif ($mode == Data::ENC_MODES['AN']) { + $qix = $pos; + while ($this->encodingMode->isAlphanumericAt($data, $qix)) { + ++$qix; + } + + $dif = $this->encodingMode->estimateBitsMode8($pos) // + 4 + l8 + + $this->encodingMode->estimateBitsModeAn($qix - $pos) + 4 + $lag + - $this->encodingMode->estimateBitsMode8($qix); // - 4 - l8 + if ($dif < 0) { + break; + } else { + $pos = $qix; + } + } else { + ++$pos; + } + } + + $this->items = $this->encodingMode->appendNewInputItem( + $this->items, + Data::ENC_MODES['8B'], + $pos, + str_split($data) + ); + return $pos; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Raw.php b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Raw.php new file mode 100644 index 0000000..f0fe928 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/src/Type/Square/Raw.php @@ -0,0 +1,48 @@ + + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Com\Tecnick\Barcode\Type\Square; + +/** + * Com\Tecnick\Barcode\Type\Square\Raw + * + * Raw Barcode type class + * RAW MODE (comma-separated rows) + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2010-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class Raw extends \Com\Tecnick\Barcode\Type\Raw +{ + /** + * Barcode type + * + * @var string + */ + protected const TYPE = 'square'; + + /** + * Barcode format + * + * @var string + */ + protected const FORMAT = 'SRAW'; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/BarcodeTest.php b/vendor/tecnickcom/tc-lib-barcode/test/BarcodeTest.php new file mode 100644 index 0000000..567bfe6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/BarcodeTest.php @@ -0,0 +1,388 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class BarcodeTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetBarcodeObjException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj( + 'ERROR', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'purple' + ); + } + + public function testSetPaddingException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj( + 'LRAW,AB,12,E3F', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'purple', + [10] //@phpstan-ignore-line + ); + } + + public function testEmptyColumns(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('LRAW', ''); + } + + public function testEmptyInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('LRAW', ''); + } + + public function testSpotColor(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'LRAW', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'all', + [-2, 3, 0, 1] + ); + $bobjarr = $type->getArray(); + $this->assertEquals('#000000ff', $bobjarr['color_obj']->getRgbaHexColor()); + $this->assertNUll($bobjarr['bg_color_obj']); + } + + public function testBackgroundColor(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'LRAW', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'all', + [-2, 3, 0, 1] + )->setBackgroundColor('mediumaquamarine'); + $bobjarr = $type->getArray(); + $this->assertNotNull($bobjarr['bg_color_obj']); + $this->assertEquals('#66cdaaff', $bobjarr['bg_color_obj']->getRgbaHexColor()); + } + + public function testNoColorException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj( + 'LRAW', + '01001100011100001111,10110011100011110000', + -2, + -2, + '', + [-2, 3, 0, 1] + ); + } + + public function testExportMethods(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'LRAW,AB,12,E3F', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'purple', + [-2, 3, 0, 1] + ); + + $this->assertEquals('01001100011100001111,10110011100011110000', $type->getExtendedCode()); + + $barr = $type->getArray(); + $this->assertEquals('linear', $barr['type']); + $this->assertEquals('LRAW', $barr['format']); + $this->assertEquals(['AB', '12', 'E3F'], $barr['params']); + $this->assertEquals('01001100011100001111,10110011100011110000', $barr['code']); + $this->assertEquals('01001100011100001111,10110011100011110000', $barr['extcode']); + $this->assertEquals(20, $barr['ncols']); + $this->assertEquals(2, $barr['nrows']); + $this->assertEquals(40, $barr['width']); + $this->assertEquals(4, $barr['height']); + $this->assertEquals(2, $barr['width_ratio']); + $this->assertEquals(2, $barr['height_ratio']); + $this->assertEquals([ + 'T' => 4, + 'R' => 3, + 'B' => 0, + 'L' => 1, + ], $barr['padding']); + $this->assertEquals(44, $barr['full_width']); + $this->assertEquals(8, $barr['full_height']); + + $expected = [ + [1, 0, 1, 1], + [4, 0, 2, 1], + [9, 0, 3, 1], + [16, 0, 4, 1], + [0, 1, 1, 1], + [2, 1, 2, 1], + [6, 1, 3, 1], + [12, 1, 4, 1], + ]; + $this->assertEquals($expected, $barr['bars']); + $this->assertEquals('#800080ff', $barr['color_obj']->getRgbaHexColor()); + + $grid = $type->getGrid('A', 'B'); + $expected = "ABAABBAAABBBAAAABBBB\nBABBAABBBAAABBBBAAAA\n"; + $this->assertEquals($expected, $grid); + + $svg = $type->setBackgroundColor('yellow')->getSvgCode(); + $expected = ' + + 01001100011100001111,10110011100011110000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'; + $this->assertEquals($expected, $svg); + + $hdiv = $type->setBackgroundColor('lightcoral')->getHtmlDiv(); + $expected = '
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
+'; + $this->assertEquals($expected, $hdiv); + + if (extension_loaded('imagick')) { + $pngik = $type->setBackgroundColor('white')->getPngData(true); + $this->assertEquals('PNG', substr($pngik, 1, 3)); + } + + $pnggd = $type->setBackgroundColor('white')->getPngData(false); + $this->assertEquals('PNG', substr($pnggd, 1, 3)); + + $pnggd = $type->setBackgroundColor('')->getPngData(false); + $this->assertEquals('PNG', substr($pnggd, 1, 3)); + } + + public function testGetSvg(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'LRAW,AB,12,E3F', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'purple' + ); + + // empty filename + ob_start(); + $type->getSvg(); + $svg = ob_get_clean(); + $this->assertNotFalse($svg); + $this->assertEquals('114f33435c265345f7c6cdf673922292', md5($svg)); + $headers = xdebug_get_headers(); + $this->assertEquals( + 'Content-Disposition: inline; filename="114f33435c265345f7c6cdf673922292.svg";', + $headers[5] + ); + + // invalid filename + ob_start(); + $type->getSvg('#~'); + $svg = ob_get_clean(); + $this->assertNotFalse($svg); + $this->assertEquals('114f33435c265345f7c6cdf673922292', md5($svg)); + $headers = xdebug_get_headers(); + $this->assertEquals( + 'Content-Disposition: inline; filename="114f33435c265345f7c6cdf673922292.svg";', + $headers[5] + ); + + // valid filename + ob_start(); + $type->getSvg('test_SVG_filename-001'); + $svg = ob_get_clean(); + $this->assertNotFalse($svg); + $this->assertEquals('114f33435c265345f7c6cdf673922292', md5($svg)); + $headers = xdebug_get_headers(); + $this->assertEquals( + 'Content-Disposition: inline; filename="test_SVG_filename-001.svg";', + $headers[5] + ); + } + + public function testGetPng(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'LRAW,AB,12,E3F', + '01001100011100001111,10110011100011110000', + -2, + -2, + 'purple' + ); + + // empty filename + ob_start(); + $type->getPng(); + $png = ob_get_clean(); + $this->assertNotFalse($png); + $this->assertEquals('PNG', substr($png, 1, 3)); + $headers = xdebug_get_headers(); + $this->assertNotEmpty($headers[5]); + + // invalid filename + ob_start(); + $type->getPng('#~'); + $png = ob_get_clean(); + $this->assertNotFalse($png); + $this->assertEquals('PNG', substr($png, 1, 3)); + $headers = xdebug_get_headers(); + $this->assertNotEmpty($headers[5]); + + // valid filename + ob_start(); + $type->getPng('test_PNG_filename-001'); + $png = ob_get_clean(); + $this->assertNotFalse($png); + $this->assertEquals('PNG', substr($png, 1, 3)); + $headers = xdebug_get_headers(); + $this->assertEquals( + 'Content-Disposition: inline; filename="test_PNG_filename-001.png";', + $headers[5] + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodabarTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodabarTest.php new file mode 100644 index 0000000..acac260 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodabarTest.php @@ -0,0 +1,55 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodabarTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('CODABAR', '0123456789'); + $grid = $type->getGrid(); + $expected = "10110010010101010011010101100101010010110110010101010110" + . "10010110101001010010101101001011010100110101011010010101011001001\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('CODABAR', chr(218)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeNineThreeTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeNineThreeTest.php new file mode 100644 index 0000000..3ae77ef --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeNineThreeTest.php @@ -0,0 +1,63 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeNineThreeTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('C93', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "101011110100010100101001000101000100101000010100101000100" + . "1001001001000101010100001000100101000010101001011001001100101010111101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C93', '012345678901234567890123456789'); + $grid = $bobj->getGrid(); + $expected = "10101111010001010010100100010100010010100001010010100010010010010010001010101" + . "000010001001010000101010001010010100100010100010010100001010010100010010010010010001" + . "010101000010001001010000101010001010010100100010100010010100001010010100010010010010" + . "01000101010100001000100101000010101001001001001010001010111101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C93', chr(255)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneOneTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneOneTest.php new file mode 100644 index 0000000..14bee1e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneOneTest.php @@ -0,0 +1,66 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneOneTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('CODE11', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "10110010101011011010110100101101100101010110110110" + . "11010100110101010011011010010110101010101101011001\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('CODE11', '123-456-789'); + $grid = $bobj->getGrid(); + $expected = "10110010110101101001011011001010101101010110110110110" + . "10100110101011010101001101101001011010101101101011010101011001\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('CODE11', '-'); + $grid = $bobj->getGrid(); + $expected = "10110010101101010110101011001\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('CODE11', chr(255)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightATest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightATest.php new file mode 100644 index 0000000..6e9cb95 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightATest.php @@ -0,0 +1,67 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear\CodeOneTwoEight; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightATest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('C128A', 'ABCDEFG'); + $grid = $bobj->getGrid(); + $expected = "110100001001010001100010001011000100010001101011000100010001101000100011000101101" + . "0001000100110010001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128A', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "110100001001001110110010011100110110011100101100101110011001001110110111001001100" + . "1110100111011011101110100110011100101100111101110101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128A', chr(241) . '01234567891'); + $grid = $bobj->getGrid(); + $expected = "110100001001111010111010011101100100111001101100111001011001011100110010011101101" + . "11001001100111010011101101110111010011001110010110010011100110100001101001100011101011\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C128A', chr(246) . '01234567891'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightBTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightBTest.php new file mode 100644 index 0000000..f95a361 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightBTest.php @@ -0,0 +1,61 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear\CodeOneTwoEight; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightBTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('C128B', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "11010010000100111011001001110011011001110010110010111001100100111011011100" + . "10011001110100111011011101110100110011100101100110000101001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128B', chr(241) . '01234567891'); + $grid = $bobj->getGrid(); + $expected = "11010010000111101011101001110110010011100110110011100101100101110011001001" + . "110110111001001100111010011101101110111010011001110010110010011100110100001100101100011101011\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C128B', chr(246) . '01234567891'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightCTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightCTest.php new file mode 100644 index 0000000..8086461 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEight/CodeOneTwoEightCTest.php @@ -0,0 +1,80 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear\CodeOneTwoEight; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightCTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('C128C', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "110100111001100110110011101101110101110110001000010110011011011110100001101001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128C', chr(241) . '0123456789'); + $grid = $bobj->getGrid(); + $expected = "11010011100111101011101100110110011101101110101110110001000010110011011011110111101101101100" + . "011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128C', chr(241) . '00123456780000000001'); + $grid = $bobj->getGrid(); + $expected = "11010011100111101011101101100110010110011100100010110001110001011011000010100110110011001101" + . "1001100110110011001101100110011001101100100010011001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128C', chr(241) . '42029651' . chr(241) . '9405510200864168997758'); + $grid = $bobj->getGrid(); + $expected = "11010011100111101011101011011100011001100110101111000101101110100011110101110100010111101000" + . "100110011011101000110011001101101100110011110100100110001000101000010011010111011110111101110101110" + . "1100010111100101001100011101011\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidLength(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C128C', '12345678901'); + } + + public function testInvalidChar(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C128C', '1A2345678901'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEightTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEightTest.php new file mode 100644 index 0000000..eab0f2c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeOneTwoEightTest.php @@ -0,0 +1,173 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeOneTwoEightTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('C128', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "110100111001100110110011101101110101110110001000010110011011011110100001101001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', '1PBK500EI'); + $grid = $bobj->getGrid(); + $expected = "110100100001001110011011101110110100010110001011000111011011100100100111011001001" + . "11011001000110100011000100010111011001001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'SCB500J1C3Y'); + $grid = $bobj->getGrid(); + $expected = "110100100001101110100010001000110100010110001101110010010011101100100111011001011" + . "011100010011100110100010001101100101110011101101000110110111101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', '067023611120229212'); + $grid = $bobj->getGrid(); + $expected = "110100111001001100100010110000100111011011101100100001011000100100110010011101100111010010101111" + . "00010110011100110110111101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'Data:28102003'); + $grid = $bobj->getGrid(); + $expected = "110100100001011000100010010110000100111101001001011000011100100110101110111101110011010011001000" + . "1001100100111010010011000100010001101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', '12345678901'); + $grid = $bobj->getGrid(); + $expected = "110100100001001110011010111011110111011011101011101100010000101100110110111101100110110011001100" + . "1101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', '1234'); + $grid = $bobj->getGrid(); + $expected = "110100111001011001110010001011000100100111101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'hello'); + $grid = $bobj->getGrid(); + $expected = "110100100001001100001010110010000110010100001100101000010001111010100010011001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'HI345678'); + $grid = $bobj->getGrid(); + $expected = "110100100001100010100011000100010101110111101000101100011100010110110000101001000010011011000" + . "11101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'HI34567A'); + $grid = $bobj->getGrid(); + $expected = "1101001000011000101000110001000101100101110010111011110101110110001000010110010111101110101000" + . "11000100100011001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'Barcode 1'); + $grid = $bobj->getGrid(); + $expected = "110100100001000101100010010110000100100111101000010110010001111010100001001101011001" + . "00001101100110010011100110111011000101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', "C1\tC2\tC3"); + $grid = $bobj->getGrid(); + $expected = "11010000100100010001101001110011010000110100100010001101100111001010000110100100010001101100101" + . "1100100110011101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', 'A1b2c3D4e5'); + $grid = $bobj->getGrid(); + $expected = "1101001000010100011000100111001101001000011011001110010100001011001100101110010110001" + . "000110010011101011001000011011100100100001101001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', chr(241) . '0000801234999999999'); + $grid = $bobj->getGrid(); + $expected = "1101001000011110101110100111011001011101111011011001100100011001001100110110011101101" + . "1101101000111010111011110101110111101011101111010111011110110100010001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', chr(241) . "000000\tABCDEF"); + $grid = $bobj->getGrid(); + $expected = "1101001110011110101110111101011101101100110011011001100110110011001110101111010000110100101000" + . "110001000101100010001000110101100010001000110100010001100010100001100101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', "\tABCD\tEFGH"); + $grid = $bobj->getGrid(); + $expected = "1101000010010000110100101000110001000101100010001000110101100010001000011010010001101000100011" + . "000101101000100011000101000100011101101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', "\tABCD\tabc\tABCdef"); + $grid = $bobj->getGrid(); + $expected = "1101000010010000110100101000110001000101100010001000110101100010001000011010010111101110100101" + . "10000100100001101000010110011101011110100001101001010001100010001011000100010001101011110111010000100" + . "1101011001000010110000100100001100101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', "\tABCD\tabc\tdef"); + $grid = $bobj->getGrid(); + $expected = "1101000010010000110100101000110001000101100010001000110101100010001000011010010111101110100101" + . "10000100100001101000010110011110100010100001101001000010011010110010000101100001001111010100011000111" + . "01011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', chr(241) . "\tABCD"); + $grid = $bobj->getGrid(); + $expected = "1101000010011110101110111101011101000011010010100011000100010110001000100011010110001000110111" + . "011101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', "\ta"); + $grid = $bobj->getGrid(); + $expected = "11010000100100001101001111010001010010110000110111000101100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', chr(241) . '00123456780000000001'); + $grid = $bobj->getGrid(); + $expected = "1101001110011110101110111101011101101100110010110011100100010110001110001011011000010100110110" + . "0110011011001100110110011001101100110011001101100100101111001100011101011\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('C128', chr(241) . '42029651' . chr(241) . '9405510200864168997758'); + $grid = $bobj->getGrid(); + $expected = "11010011100111101011101111010111010110111000110011001101011110001011011101000101111011101111010" + . "1110101110111101000101111010001001100110111010001100110011011011001100111101001001100010001010" + . "000100110101110111101111011101011101100010100100110001100011101011\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineCheckTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineCheckTest.php new file mode 100644 index 0000000..91b6f85 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineCheckTest.php @@ -0,0 +1,49 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineCheckTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('C39+', '0123456789'); + $grid = $type->getGrid(); + $expected = "10001011101110101010001110111010111010001010111010111000101011101110111000101010101000" + . "111010111011101000111010101011100011101010101000101110111011101000101110101011100010111010101" + . "1100010101110100010111011101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineExtCheckTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineExtCheckTest.php new file mode 100644 index 0000000..c9a1147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineExtCheckTest.php @@ -0,0 +1,56 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineExtCheckTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('C39E+', '0123456789'); + $grid = $type->getGrid(); + $expected = "10001011101110101010001110111010111010001010111010111000101011101110111000101010101000" + . "111010111011101000111010101011100011101010101000101110111011101000101110101011100010111010101" + . "1100010101110100010111011101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C39E+', chr(218)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineExtTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineExtTest.php new file mode 100644 index 0000000..07c7cf6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineExtTest.php @@ -0,0 +1,49 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineExtTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('C39E', '0123456789'); + $grid = $type->getGrid(); + $expected = "10001011101110101010001110111010111010001010111010111000101011101110111000101010101000" + . "111010111011101000111010101011100011101010101000101110111011101000101110101011100010111010100" + . "010111011101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineTest.php new file mode 100644 index 0000000..e6134e6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/CodeThreeNineTest.php @@ -0,0 +1,56 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class CodeThreeNineTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('C39', '0123456789'); + $grid = $type->getGrid(); + $expected = "10001011101110101010001110111010111010001010111010111000101011101110" + . "111000101010101000111010111011101000111010101011100011101010101000101110111" + . "011101000101110101011100010111010100010111011101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('C39', chr(218)); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanEightTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanEightTest.php new file mode 100644 index 0000000..811630c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanEightTest.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanEightTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'EAN8', + '1234567' + ); + $grid = $type->getGrid(); + $expected = "1010011001001001101111010100011010101001110101000010001001110010101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanFiveTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanFiveTest.php new file mode 100644 index 0000000..40da653 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanFiveTest.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanFiveTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'EAN5', + '12345' + ); + $grid = $type->getGrid(); + $expected = "10110110011010010011010100001010100011010110001\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanOneThreeTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanOneThreeTest.php new file mode 100644 index 0000000..45a2c33 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanOneThreeTest.php @@ -0,0 +1,63 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanOneThreeTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('EAN13', '0123456789'); + $grid = $type->getGrid(); + $expected = "10100011010001101001100100100110111101010001101010100111010100001000100100100011101001001110101\n"; + $this->assertEquals($expected, $grid); + + $this->assertEquals('0001234567895', $type->getExtendedCode()); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('EAN13', '}{'); + } + + public function testInvalidLength(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('EAN13', '1111111111111'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanTwoTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanTwoTest.php new file mode 100644 index 0000000..adc9c3a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/EanTwoTest.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class EanTwoTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'EAN2', + '12' + ); + $grid = $type->getGrid(); + $expected = "10110011001010010011\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/ImbPreTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/ImbPreTest.php new file mode 100644 index 0000000..71fb02f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/ImbPreTest.php @@ -0,0 +1,62 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class ImbPreTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'IMBPRE', + 'fatdfatdfatdfatdfatdfatdfatdfatdfatdfatdfatdfatdfatdfatdfatdfatdf' + ); + $grid = $type->getGrid(); + $expected = "101000001010000010100000101000001010000010100000101000001010" + . "000010100000101000001010000010100000101000001010000010100000101000001\n" + . "1010101010101010101010101010101010101010101010101010101010101010101" + . "01010101010101010101010101010101010101010101010101010101010101\n" + . "1000001010000010100000101000001010000010100000101000001010000010100" + . "00010100000101000001010000010100000101000001010000010100000101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('IMBPRE', 'fatd'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/ImbTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/ImbTest.php new file mode 100644 index 0000000..0fb9c38 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/ImbTest.php @@ -0,0 +1,119 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class ImbTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('IMB', '00000-'); + $grid = $bobj->getGrid(); + $expected = "100000101010001000101000101000000010000010100010001010100000" + . "100010001000000010101000001010101000100000000000100010001000100000001\n" + . "1010101010101010101010101010101010101010101010101010101010101010101" + . "01010101010101010101010101010101010101010101010101010101010101\n" + . "0000101000000010000010001000000000101010000010000000001000101010001" + . "01010001010001010000010101000101000101000000000001000001000100\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('IMB', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "001010100010101000100010001010101010001000001000101010001010" + . "101010100000000000000010101000000010001010100010001000101010001000001\n" + . "1010101010101010101010101010101010101010101010101010101010101010101" + . "01010101010101010101010101010101010101010101010101010101010101\n" + . "1010101010101000001010000010101000000000000010100010001010000000000" + . "00010100000100010001000001010101000001010000010101010100010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('IMB', '01234567094987654321-01234567891'); + $grid = $bobj->getGrid(); + $expected = "10100000101000100000100000101000101000100000000010101000000000000000101010001" + . "0000000001010100000000000100010101010001000001010001\n" + . "101010101010101010101010101010101010101010101010101010101010101010101010101010101010" + . "101010101010101010101010101010101010101010101\n" + . "000010001010101000100010000000100000001010001010000000101000100000100010001000101010" + . "001010101010000000001010000000101000100000100\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('IMB', '01234567094987654321-012345678'); + $grid = $bobj->getGrid(); + $expected = "10001000001010000000000010100000100000101010001000100010000010101010000010001" + . "0001000000000000000100000001000100010000000101000101\n" + . "101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" + . "101010101010101010101010101010101\n" + . "001010000000101000000000100000000010000000000010001000000010000000101010001000000000100010000010" + . "101000100000001000100010101000100\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('IMB', '01234567094987654321-01234'); + $grid = $bobj->getGrid(); + $expected = "00000010101000000000100000001000100000000010001000101010001010000000100010101" + . "0100000001000101010100000100000001010000000000010100\n" + . "101010101010101010101010101010101010101010101010101010101010101010101010101010101010" + . "101010101010101010101010101010101010101010101\n" + . "100000001000101000001000100010001010001010001000100010001010000010101000000000101000" + . "000010100000000010101000101000101010001010100\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('IMB', '01234567094987654321-'); + $grid = $bobj->getGrid(); + $expected = "10000010100000000000100000101000000000000010000000101000001010001000100010101" + . "0101000100010101010100000101000001010001000100000000\n" + . "101010101010101010101010101010101010101010101010101010101010101010101010101010101010" + . "101010101010101010101010101010101010101010101\n" + . "000000100000001000000010000000000010001000000000100010101010001010101000101010101000" + . "000010000000000010101000100000101000101000100\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('IMB', '01234567094987654321-01234567891'); + $grid = $bobj->getGrid(); + $expected = "10100000101000100000100000101000101000100000000010101000000000000000101010001" + . "0000000001010100000000000100010101010001000001010001\n" + . "101010101010101010101010101010101010101010101010101010101010101010101010101010101010" + . "101010101010101010101010101010101010101010101\n" + . "000010001010101000100010000000100000001010001010000000101000100000100010001000101010" + . "001010101010000000001010000000101000100000100\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidRoutingCode(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('IMB', '01234567094987654321-1'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/InterleavedTwoOfFiveCheckTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/InterleavedTwoOfFiveCheckTest.php new file mode 100644 index 0000000..c1b65f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/InterleavedTwoOfFiveCheckTest.php @@ -0,0 +1,57 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class InterleavedTwoOfFiveCheckTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'I25+', + '0123456789' + ); + $grid = $type->getGrid(); + $expected = "10101010110011001011010010101100110110100101001101001100101010010101100110100110100110101101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('I25+', 'GHI'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/InterleavedTwoOfFiveTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/InterleavedTwoOfFiveTest.php new file mode 100644 index 0000000..d8dd0fe --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/InterleavedTwoOfFiveTest.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class InterleavedTwoOfFiveTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj( + 'I25', + '0123456789' + ); + $grid = $type->getGrid(); + $expected = "101010010110110100100110010101101001011001011010110110100100110100101100101101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/KlantIndexTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/KlantIndexTest.php new file mode 100644 index 0000000..c89c528 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/KlantIndexTest.php @@ -0,0 +1,49 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class KlantIndexTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('KIX', '0123456789'); + $grid = $type->getGrid(); + $expected = "00001010000010100000101000001010000010100000101000100010001000100010001000100010\n" + . "10101010101010101010101010101010101010101010101010101010101010101010101010101010\n" + . "00001010001000100010100010000010100010001010000000001010001000100010100010000010\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/MsiCheckTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/MsiCheckTest.php new file mode 100644 index 0000000..17069a6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/MsiCheckTest.php @@ -0,0 +1,56 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class MsiCheckTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('MSI+', '0123456789ABCDEF'); + $grid = $type->getGrid(); + $expected = "110100100100100100100100110100100110100100100110110100110100100100110100110100110110100" + . "1001101101101101001001001101001001101101001101001101001101101101101001001101101001101101101101" + . "001101101101101001001001101001\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('MSI+', 'GHI'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/MsiTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/MsiTest.php new file mode 100644 index 0000000..b94bacb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/MsiTest.php @@ -0,0 +1,48 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class MsiTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('MSI', '0123456789'); + $grid = $type->getGrid(); + $expected = "110100100100100100100100110100100110100100100110110100110100" + . "1001001101001101001101101001001101101101101001001001101001001101001\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/PharmaTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PharmaTest.php new file mode 100644 index 0000000..260acbc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PharmaTest.php @@ -0,0 +1,48 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PharmaTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('PHARMA', '0123456789'); + $grid = $type->getGrid(); + $expected = "111001110010011100100111001110010011100111001110011100100" + . "1001110011100100111001001001001110010011100111001\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/PharmaTwoTracksTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PharmaTwoTracksTest.php new file mode 100644 index 0000000..d96333c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PharmaTwoTracksTest.php @@ -0,0 +1,47 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PharmaTwoTracksTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('PHARMA2T', '0123456789'); + $grid = $type->getGrid(); + $expected = "101000001010100010001010001000101\n000010101010001010101000100010001\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/PlanetTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PlanetTest.php new file mode 100644 index 0000000..3683e6f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PlanetTest.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PlanetTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('PLANET', '0123456789'); + $grid = $type->getGrid(); + $expected = "100000101010101010000010100010001010000010100010100010" + . "00100010100000101000101010000010100010001000101010001000101\n" + . "1010101010101010101010101010101010101010101010101010101010101" + . "0101010101010101010101010101010101010101010101010101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/PostnetTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PostnetTest.php new file mode 100644 index 0000000..ecc8028 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/PostnetTest.php @@ -0,0 +1,57 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PostnetTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('POSTNET', '0123456789'); + $grid = $type->getGrid(); + $expected = "101010000000000000101000001000100000101000001000001000" + . "10001000001010000010000000101000001000100010000000100010001\n" + . "1010101010101010101010101010101010101010101010101010101010101" + . "0101010101010101010101010101010101010101010101010101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('POSTNET', '}{'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/RawTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/RawTest.php new file mode 100644 index 0000000..4e82762 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/RawTest.php @@ -0,0 +1,52 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class RawTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $testObj = $this->getTestObject(); + $testObj = $this->getTestObject(); + + $type = $testObj->getBarcodeObj( + 'LRAW', + '01001100011100001111,10110011100011110000' + ); + $grid = $type->getGrid(); + $expected = "01001100011100001111\n10110011100011110000\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/RoyalMailFourCcTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/RoyalMailFourCcTest.php new file mode 100644 index 0000000..f8ba432 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/RoyalMailFourCcTest.php @@ -0,0 +1,56 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class RoyalMailFourCcTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('RMS4CC', '0123456789'); + $grid = $type->getGrid(); + $expected = "1000001010000010100000101000001010000010100000101000100010001000100010001000100010001000101\n" + . "1010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101\n" + . "0000001010001000100010100010000010100010001010000000001010001000100010100010000010000010101\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('RMS4CC', '}{'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/StandardTwoOfFiveCheckTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/StandardTwoOfFiveCheckTest.php new file mode 100644 index 0000000..902c749 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/StandardTwoOfFiveCheckTest.php @@ -0,0 +1,55 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class StandardTwoOfFiveCheckTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('S25+', '0123456789'); + $grid = $type->getGrid(); + $expected = '111011101010101110111010101011101110101110101010111010111010101110111011101010101010111010' + . '1110111010111010101011101110101010101011101110111010101110101011101011101011101011101010111010111' . "\n"; + $this->assertEquals($expected, $grid); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('S25+', '}{'); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/StandardTwoOfFiveTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/StandardTwoOfFiveTest.php new file mode 100644 index 0000000..26c87ea --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/StandardTwoOfFiveTest.php @@ -0,0 +1,48 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class StandardTwoOfFiveTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('S25', '0123456789'); + $grid = $type->getGrid(); + $expected = '111011101010101110111010111010101011101011101010111011101110101010101011101011101110101110101010' + . '111011101010101010111011101110101011101010111010111010111010111' . "\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/UpcATest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/UpcATest.php new file mode 100644 index 0000000..5040a08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/UpcATest.php @@ -0,0 +1,52 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class UpcATest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('UPCA', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "10100011010001101001100100100110111101010001101010100111010100001000100100100011101001001110101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCA', '012345678912'); + $grid = $bobj->getGrid(); + $expected = "10100011010011001001001101111010100011011000101010101000010001001001000111010011001101101100101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Linear/UpcETest.php b/vendor/tecnickcom/tc-lib-barcode/test/Linear/UpcETest.php new file mode 100644 index 0000000..dcf9892 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Linear/UpcETest.php @@ -0,0 +1,117 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Linear; + +use Test\TestUtil; + +/** + * Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class UpcETest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $bobj = $barcode->getBarcodeObj('UPCE', '725270'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110110001001101101110110100111010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725271'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110111001001001101110110110011010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725272'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110111001001001100100010010011010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725273'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110110001001101101110110100001010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725274'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110110001001101100100010100011010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725275'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110111001001101101110110110001010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725276'); + $grid = $bobj->getGrid(); + $expected = "101001000100110110110001001101101110110101111010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725277'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110111001001001101110110010001010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725278'); + $grid = $bobj->getGrid(); + $expected = "101001000100100110110001001101100100010110111010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '725279'); + $grid = $bobj->getGrid(); + $expected = "101001000100110110110001001001100100010001011010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '0123456789'); + $grid = $bobj->getGrid(); + $expected = "101010011100110010010011010000100111010001011010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '012345678912'); + $grid = $bobj->getGrid(); + $expected = "101011001100110110111101010001101110010011001010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '4210000526'); + $grid = $bobj->getGrid(); + $expected = "101001110100100110111001001101101011110011001010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '4240000526'); + $grid = $bobj->getGrid(); + $expected = "101001110100110110100011001101101011110111101010101\n"; + $this->assertEquals($expected, $grid); + + $bobj = $barcode->getBarcodeObj('UPCE', '4241000526'); + $grid = $bobj->getGrid(); + $expected = "101001110100100110011101001100101011110011101010101\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Square/AztecTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Square/AztecTest.php new file mode 100644 index 0000000..97acb48 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Square/AztecTest.php @@ -0,0 +1,237 @@ + + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Square; + +use Test\TestUtil; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * AZTEC Barcode class test + * + * @since 2023-10-20 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2023-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class AztecTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('AZTEC', ''); + } + + public function testCapacityException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $code = str_pad('', 2000, '0123456789'); + $barcode->getBarcodeObj('AZTEC,100,B,F,3', $code); + } + + #[DataProvider('getGridDataProvider')] + public function testGetGrid(string $options, string $code, mixed $expected): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('AZTEC' . $options, $code); + $grid = $type->getGrid(); + $this->assertEquals($expected, md5($grid)); + } + + /** + * @return array + */ + public static function getGridDataProvider(): array + { + return [ + [ + ',100,A,A,0', + 'A', + 'c48da49052f674edc66fa02e52334b17', + ], + [ + '', + ' ABCDEFGHIJKLMNOPQRSTUVWXYZ', + '74f1e68830f0c635cd01167245743098', + ], + [ + '', + ' abcdefghijklmnopqrstuvwxyz', + '100ebf910c88922b0ccee88256ba0c81', + ], + [ + '', + ' ,.0123456789', + 'ee2a70b7c88a9e0956b1896983e93f91', + ], + [ + '', + "\r" . '!"#$%&\'()*+,-./:;<=>?[]{}', + '6965459e50f7c3029de42ef5dc5c1fdf', + ], + [ + '', + "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A" + . "\x0B\x0C\x0D\x1B\x1C\x1D\x1E\x1F\x40\x5C" + . "\x5E\x5F\x60\x7C\x7E\x7F", + 'b8961abf38519b529f7dc6a20e8f3e59', + ], + [ + '', + 'AaB0C#D' . "\x7E", + '9b1f2af28b8d9d222de93dfe6a09a047', + ], + [ + '', + 'aAb0c#d' . "\x7E", + 'f4c58cabbdb5d94fa0cc1c31d510936a', + ], + [ + '', + '#A$a%0&' . "\x7E", + 'a17634a1db6372efbf8ea25a303c38f8', + ], + [ + '', + "\x01A\x01a\x010\x01#", + 'c1a585888c7a1eb424ff98bbf7b32d46', + ], + [ + '', + 'PUNCT pairs , . : ' . "\r\n", + '35281793cc5247b291abb8e3fe5ed853', + ], + [ + '', + 'ABCDEabcdeABCDE012345ABCDE?[]{}ABCDE' + . "\x01\x02\x03\x04\x05", + '4ae19b80469a1afff8e490f5afaa8b73', + ], + [ + '', + 'abcdeABCDEabcde012345abcde?[]{}abcde' + . "\x01\x02\x03\x04\x05", + 'b0158bfe19c6fe20042128d59e40ca3b', + ], + [ + '', + '?[]{}ABCDE?[]{}abcde?[]{}012345?[]{}' + . "\x01\x02\x03\x04\x05", + '71ba0ed8c308c93af6af7cd23a76355a', + ], + [ + '', + "\x01\x02\x03\x04\x05" . 'ABCDE' + . "\x01\x02\x03\x04\x05" . 'abcde' + . "\x01\x02\x03\x04\x05" . '012345' + . "\x01\x02\x03\x04\x05" . '?[]{}', + 'f31e14be0b2c1f903e77af11e6c901b0', + ], + [ + '', + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit,' + . ' sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.' + . ' Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris' + . ' nisi ut aliquip ex ea commodo consequat.' + . ' Duis aute irure dolor in reprehenderit in voluptate velit esse' + . ' cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat' + . ' cupidatat non proident,' . + ' sunt in culpa qui officia deserunt mollit anim id est laborum.', + 'bb2b103d59e035a581fed0619090f89c', + ], + [ + '', + "\x80\x81\x82\x83\x84", + 'da92b009c1f4430e2f62c76c5f708121', + ], + [ + '', + "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89" + . "\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93" + . "\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D" + . "\x9E\x9F\xA0", + 'f3dfdda6d6fdbd747c86f042fc649193', + ], + [ + '', + "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89" + . "\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93" + . "\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D" + . "\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7" + . "\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1" + . "\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB" + . "\xBC\xBD\xBE", + 'ee473dc76e160671f3d1991777894323', + ], + [ + '', + '012345: : : : : : : : ', + 'b7ae80e65d754dc17fe116aaddd33c24', + ], + [ + '', + '012345. , ', + '92b442e5f1b33be91c576eddc12bcca7', + ], + [ + '', + '012345. , . , . , . , ', + '598fd97d8a28b1514cd0bf88369c68e9', + ], + [ + '', + '~~~~~~. , ', + 'c40fc61717a7e802d7458897197227b1', + ], + [ + '', + '******. , ', + 'abbe0bdfdc10ad059ad2c415e79dab31', + ], + [ + '', + "\xBC\xBD\xBE" . '. , ', + 'c9ae209e0c6d03014753363affffee8b', + ], + ]; + } + + #[DataProvider('getStringDataProvider')] + public function testStrings(string $code): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('AZTEC,50,B,F', $code); + $this->assertNotNull($type); // @phpstan-ignore method.alreadyNarrowedType + } + + /** + * @return array + */ + public static function getStringDataProvider() + { + return \Test\TestStrings::$data; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Square/DatamatrixTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Square/DatamatrixTest.php new file mode 100644 index 0000000..8073eee --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Square/DatamatrixTest.php @@ -0,0 +1,447 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Square; + +use Test\TestUtil; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Datamatrix Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class DatamatrixTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('DATAMATRIX', ''); + } + + public function testCapacityException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $code = str_pad('', 3000, 'X'); + $barcode->getBarcodeObj('DATAMATRIX', $code); + } + + public function testEncodeTXTC40shiftException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $encode = new \Com\Tecnick\Barcode\Type\Square\Datamatrix\Encode(); + $chr = -1; + $enc = -1; + $temp_cw = []; + $ptr = 0; + $encode->encodeTXTC40shift($chr, $enc, $temp_cw, $ptr); + } + + public function testEncodeTXTC40Exception(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $encode = new \Com\Tecnick\Barcode\Type\Square\Datamatrix\Encode(); + $data = "\x80"; + $enc = \Com\Tecnick\Barcode\Type\Square\Datamatrix\Data::ENC_X12; + $temp_cw = []; + $ptr = 0; + $epos = 0; + $charset = []; + $encode->encodeTXTC40($data, $enc, $temp_cw, $ptr, $epos, $charset); + } + + #[DataProvider('getGridDataProvider')] + public function testGetGrid(string $mode, string $code, mixed $expected): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj($mode, $code); + $grid = $type->getGrid(); + $this->assertEquals($expected, md5($grid)); + } + + /** + * @return array + */ + public static function getGridDataProvider(): array + { + return [ + + [ + 'DATAMATRIX', + '0&0&0&0&0&0&_', + 'fffdfdaec33af0788d24cdfa8cba5ac6', + ], + [ + 'DATAMATRIX', + '0&0&0&0&0&0&0', + '10d0faf5a6e7b71829f268218df7e6af', + ], + [ + 'DATAMATRIX', + '-=-1-=-2-=-3', + '75c6038d90476cec641ad07690989b36', + ], + [ + 'DATAMATRIX', + '-=-1-=-2-=-3x', + 'f020e44d0926d17af7eb21febdb38d53', + ], + [ + 'DATAMATRIX', + '-=-1-=-2-=-3xyz', + '17420fbffefddb5f1b8abd0d05de724d', + ], + [ + 'DATAMATRIX', + '-=-1-=-2-=-3-', + 'a63372ce839b51294964f0da0ae0f9f9', + ], + [ + 'DATAMATRIX', + '-=-1-=-2-=-3-xy', + 'f65ab07c374c53e2a93016776041de42', + ], + [ + 'DATAMATRIX', + '-=-1-=-2-=-3-=x', + '7a30efdf7616397a1ea2fd5fd95fed2c', + ], + [ + 'DATAMATRIX', + '(400)BS2WZ64PA(00)0', + '9cb7f1c2aa5989909229ef8e4252d61d', + ], + [ + 'DATAMATRIX', + '(400)BS2WZ64QA(00)0', + '0494f709138a1feef5a1c9f14852dbe5', + ], + [ + 'DATAMATRIX', + 'LD2B 1 CLNGP', + 'f806889d1dbe0908dcfb530f86098041', + ], + [ + 'DATAMATRIX', + 'XXXXXXXXXNGP', + 'c6f2b7b293a2943bae74f2a191ec4aea', + ], + [ + 'DATAMATRIX', + 'XXXXXXXXXXXXNGP', + 'f7679d5a7ab4a8edf12571a6866d92bc', + ], + [ + 'DATAMATRIX', + 'ABCDABCDAB' . "\x80" . 'DABCD', + '39aca5ed58b922bee369e5ab8e3add8c', + ], + [ + 'DATAMATRIX', + '123aabcdefghijklmnopqrstuvwxyzc', + 'b2d1e957af10655d7a8c3bae86696314', + ], + [ + 'DATAMATRIX', + 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopq', + 'c45bd372694ad7a20fca7d45f3d459ab', + ], + [ + 'DATAMATRIX', + 'abcdefghijklmnop', + '4fc7940fe3d19fca12454340c38e3421', + ], + [ + 'DATAMATRIX', + 'abcdefghijklmnopq', + 'a452e658e3096d8187969cbdc930909c', + ], + [ + 'DATAMATRIX', + 'abcdefghij', + '8ec27153e5d173aa2cb907845334e68c', + ], + [ + 'DATAMATRIX', + '30Q324343430794|', + '4993e149fd20569c8a4f0d758b6dfa76', + ], + [ + 'DATAMATRIX', + '!"£$', + '792181edb48c6722217dc7e2e4cd4095', + ], + [ + 'DATAMATRIX', + 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*(),./\\1234567890', + '7360a5a6c25476711139ae1244f56c29', + ], + [ + 'DATAMATRIX', + "\xFE\xFD" + . 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*(),./\\' + . "\xFC\xFB", + '0f078e5e5735396312245740484fa6d1', + ], + [ + 'DATAMATRIX', + 'aABCDEFG', + 'f074dee3f0f386d9b2f30b1ce4ad08a8', + ], + [ + 'DATAMATRIX', + '123 45678', + '6c2e6503625e408fe9a4e392743f31a8', + ], + [ + 'DATAMATRIX', + 'DATA MATRIX', + '3ba4f4ef8449d795813b353ddcce4d23', + ], + [ + 'DATAMATRIX', + '123ABCD89', + '7ce2f8433b82c16e80f4a4c59cad5d10', + ], + [ + 'DATAMATRIX', + 'AB/C123-X', + '703318e1964c63d5d500d14a821827cd', + ], + [ + 'DATAMATRIX', + str_pad('', 300, "\xFE\xFD\xFC\xFB"), + 'e524bb17821d0461f3db6f313d35018f', + ], + [ + 'DATAMATRIX', + 'ec:b47' . "\x7F" . '4#P d*b}gI2#DB|hl{!~[EYH*=cmR{lf' + . "\x7F" . '=gcGIa.st286. #*"!eG[.Ryr?Kn,1mIyQqC3 6\'3N>', + '57fbb9bfb7d542e2e5eadb615e6be549', + ], + [ + 'DATAMATRIX', + 'eA211101A2raJTGL/r9o93CVk4gtpEvWd2A2Qz8jvPc7l8ybD3m' + . 'Wel91ih727kldinPeHJCjhr7fIBX1KQQfsN7BFMX00nlS8FlZG+', + 'b2f0d45920c7da5b298bbab5cff5d402', + ], + // Square + [ + 'DATAMATRIX,S', + "\xFF\xFE\xFD\xFC\xFB\xFA\xF9\xF8\xF7\xF6" + . "\xF5\xF4\xF3\xF2\xF1\xF0\xEF\xEE\xED\xEC" + . "\xEB\xEA\xE9\xE8\xE7\xE6\xE5\xE4\xE3\xE2" + . "\xE1\xE0\xDF\xDE\xDD\xDC\xDB\xDA\xD9\xD8" + . "\xD7\xD6\xD5\xD4\xD3\xD2\xD1\xD0\xCF\xCE" + . "\xCD\xCC\xCB\xCA\xC9\xC8\xC7\xC6\xC5\xC4" + . "\xC3\xC2\xC1\xC0\xBF\xBE\xBD\xBC\xBB\xBA" + . "\xB9\xB8\xB7\xB6\xB5\xB4\xB3\xB2\xB1\xB0" + . "\xAF\xAE\xAD\xAC\xAB\xAA\xA9\xA8\xA7\xA6" + . "\xA5\xA4\xA3\xA2\xA1\xA0\x9F\x9E\x9D\x9C" + . "\x9B\x9A\x99\x98\x97\x96\x95\x94\x93\x92" + . "\x91\x90\x8F\x8E\x8D\x8C\x8B\x8A\x89\x88" + . "\x87\x86\x85\x84\x83\x82\x81\x80\x7F\x7E" + . "\x7D\x7C\x7B\x7A\x79\x78\x77\x76\x75\x74" + . "\x73\x72\x71\x70\x6F\x6E\x6D\x6C\x6B\x6A" + . "\x69\x68\x67\x66\x65\x64\x63\x62\x61\x60" + . "\x5F\x5E\x5D\x5C\x5B\x5A\x59\x58\x57\x56" + . "\x55\x54\x53\x52\x51\x50\x4F\x4E\x4D\x4C" + . "\x4B\x4A\x49\x48\x47\x46\x45\x44\x43\x42" + . "\x41\x40\x3F\x3E\x3D\x3C\x3B\x3A\x39\x38" + . "\x37\x36\x35\x34\x33\x32\x31\x30\x2F\x2E" + . "\x2D\x2C\x2B\x2A\x29\x28\x27\x26\x25\x24" + . "\x23\x22\x21\x20\x1F\x1E\x1D\x1C\x1B\x1A" + . "\x19\x18\x17\x16\x15\x14\x13\x12\x11\x10" + . "\x0F\x0E\x0D\x0C\x0B\x0A\x09\x08\x07\x06" + . "\x05\x04\x03\x02\x01", + '514963c4fde0cee7ff91f76dd56015cc', + ], + // Rectangular shape + [ + 'DATAMATRIX,R', + '01234567890', + 'd3811e018f960beed6d3fa5e675e290e', + ], + [ + 'DATAMATRIX,R', + '01234567890123456789', + 'fe3ecb042dabc4b40c5017e204df105b', + ], + [ + 'DATAMATRIX,R', + '012345678901234567890123456789', + '3f8e9aa4413b90f7e1c2e85b4471fd20', + ], + [ + 'DATAMATRIX,R', + '0123456789012345678901234567890123456789', + 'b748b02c1c4cae621a84c8dbba97c710', + ], + // Rectangular GS1 + [ + 'DATAMATRIX,R,GS1', + "\xE8" . '01034531200000111719112510ABCD1234', + 'f55524d239fc95072d99eafe5363cfeb', + ], + [ + 'DATAMATRIX,R,GS1', + "\xE8" . '01095011010209171719050810ABCD1234' . "\xE8" . '2110', + 'e17f2a052271a18cdc00b161908eccb9', + ], + [ + 'DATAMATRIX,R,GS1', + "\xE8" . '01034531200000111712050810ABCD1234' . "\xE8" . '4109501101020917', + '31759950f3253805b100fedf3e536575', + ], + // Square GS1 + [ + 'DATAMATRIX,S,GS1', + "\xE8" . '01034531200000111719112510ABCD1234', + 'c9efb69a62114fb6a3d2b52f139a372a', + ], + [ + 'DATAMATRIX,S,GS1', + "\xE8" . '01095011010209171719050810ABCD1234' . "\xE8" . '2110', + '9630bdba9fc79b4a4911fc465aa08951', + ], + [ + 'DATAMATRIX,S,GS1', + "\xE8" . '01034531200000111712050810ABCD1234' . "\xE8" . '4109501101020917', + 'a29a330a01cce34a346cf7049e2259ee', + ], + // Different encoding datamatrix + [ + 'DATAMATRIX,S,N,ASCII', + '01234567890', + 'ac7dd9e1ebdb42d07fe928fb33cd307b' + ], + [ + 'DATAMATRIX,S,N,C40', + '01234567890', + '958a7a3bcd036d7135489eb703a25633' + ], + [ + 'DATAMATRIX,S,N,TXT', + '01234567890', + '057981dfbf527b029ae59d65fb55f61d' + ], + [ + 'DATAMATRIX,S,N,X12', + '01234567890', + '8d75b0fcfb2d0977abd95004a6ba98dd' + ], + [ + 'DATAMATRIX,S,N,EDF', + '01234567890', + '989eab3ca16c97e05dd2307bef32f64b' + ], + [ + 'DATAMATRIX,S,N,BASE256', + '01234567890', + '8b4f688a774130bc654e39dfcfadb482' + ], + [ + 'DATAMATRIX,S,GS1,C40', + "\xE8" . '01095011010209171719050810ABCD1234' . "\xE8" . '2110', + 'ba117111dfa40a40e1bb968c719d2eef' + ] + ]; + } + + #[DataProvider('getStringDataProvider')] + public function testStrings(string $code): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('DATAMATRIX', $code); + $this->assertNotNull($type); // @phpstan-ignore method.alreadyNarrowedType + } + + /** + * @return array + */ + public static function getStringDataProvider() + { + return \Test\TestStrings::$data; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Square/PdfFourOneSevenTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Square/PdfFourOneSevenTest.php new file mode 100644 index 0000000..c4180b2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Square/PdfFourOneSevenTest.php @@ -0,0 +1,268 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Square; + +use Test\TestUtil; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * PDF417 Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class PdfFourOneSevenTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('PDF417', ''); + } + + public function testCapacityException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $code = str_pad('', 1000, 'X1'); + $barcode->getBarcodeObj('PDF417', $code); + } + + #[DataProvider('getGridDataProvider')] + public function testGetGrid(string $options, string $code, mixed $expected): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('PDF417' . $options, $code); + $grid = $type->getGrid(); + $this->assertEquals($expected, md5($grid)); + } + + /** + * @return array + */ + public static function getGridDataProvider(): array + { + return [ + [ + '', + str_pad('', 1850, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), + '38e205c911b94a62c72b7d20fa4361f8', + ], + // max text + [ + '', + str_pad('', 2710, '123456789'), + '32ba9be56f3e66559b4d4a50f6276da7', + ], + // max digits + [ + '', + 'abc/abc', + '831874fe7d1b3d865c222858eba3507c', + ], + [ + '', + '0123456789', + '4f9cdac81d62f0020beb93fc3ecdd8ad', + ], + [ + ',2,8,1,0,0,0,1,2', + str_pad('', 1750, 'X'), + 'f0874a35e15f11f9aa8bc070a4be24bf', + ], + [ + ',15,8,1,0,0,0,1,2', + str_pad('', 1750, 'X'), + '0288f0a87cc069fc34d6168d7a9f7846', + ], + [ + '', + str_pad('', 350, '0123456789'), + '394d93048831fee232413da29fb709fb', + ], + [ + '', + 'abcdefghijklmnopqrstuvwxyz01234567890123456789', + 'bd4f4215aca0bbc3452a35b81fcf7bdb', + ], + [ + '', + "\x9E\x13\xC0\x08\x47\x71\x6B\xFC\xAB\xA9" + . "\x72\x72\xCC\x97\xB7\x14\xB4\x1A\x49\x4C" + . "\xC1\x10\x45\xD4\xE8\x5A\xF8\x73\x09\x68" + . "\x95\xA7\x7B\x56\xAF\xC1\xC7\x1B\xBE\x73" + . "\xC4\x32\xE4\x92\xC9\x9C\xA5\x7E\xB6\xED" + . "\xC9\x79\xFD\x0F\x4E\xE7\x69\x48\x5C\x72" + . "\xAF\xF0\x1A\x2B\x47\xC8\xEC\x0F\xE3\xAC" + . "\x81\xA9\xDD\x67\x3C\xA7\x05\xE1\x27\xBA" + . "\xD0\xF0\x34\xCE\xFE\x82\xB7\x69\xC9\x14" + . "\xDA\x7A\x05\xF4\xA5\x4C\xBD\x92\x5B\xA2" + . "\x3F\xDC\x4C\x1E\x44\x87\xC4\x49\x6A\xEB" + . "\x05\x3B\xDC\x38\x0B\xDC\xBA\xC2\x46\x84" + . "\xD5\x22\xFE\xDA\x17\xA4\x28\xD4\x38\x82" + . "\x77\x76\x5F\xC2\x94\xA3\x4B\x5A\xEC\xB4" + . "\x46\xF0\xEF\x23\x2A\xFA\xFE\xE3\xBD\x46" + . "\x69\x94\x67\x68\x70\x7E\x0D\x97\x53\x44" + . "\x1B\xC9\xBA\x79\x8D\x50\x1E\xD7\xA9\x0C" + . "\x8D\xEE\xFB\x7E\x12\x27\x79\x12\x0C\x38" + . "\x58\x74\xCB\xBE\xDC\x3C\x3D\xE9\xD3\x90" + . "\x2F\xED\x5A\xE8\x68\xE6\x39\x86\xBF\xE2" + . "\x91\x4D\xD1\x8E\xCA\xE3\xB4\x45\xF5\xBF" + . "\x7C\x4E\x35\x49\x0D\x12\x85\x4A\xFA\x59" + . "\xD9\x2A\x47\x35\x14\xAF\x1D\x4D\x36\xDB" + . "\x30\xC6\x29\x03\x55\xF3\xE5\x0B\x39\xDB" + . "\xC9\xB4\x2B\xFD\xFC\x38\x11\x83\x81\x0C" + . "\xDB\x5C\x36\x24\x91\x4A\xD2\xAD\x97\x09" + . "\x89\xC6\xCF\xB2\xC9\x26\xA6\xAF\x30\xDF" + . "\x8C\xF9\x95\xB6\xF8\x93\xED\x0A\x17\x70" + . "\x16\xF1\xCC\x4C\x17\x5E\x96\xE8\x0D\x2E" + . "\xF1\x95\xF3\xC1\x49\xBE\xE6\xEF\x6E\x18", + '1cae7ca47cde6ca52522ce31771a5c54', + ], + [ + '', + "\x9E\xC6\x2D\x5E\xE7\x53\x3C\x2D\x68\x3E" + . "\x7A\x58\xF5\x08\x15\x4C\xAA\xFA\x57\x06" + . "\xA2\x20\x2B\xD0\x11\x60\x8B\x2B\xC0\x0F" + . "\x39\x5F\xD4\x66\xBD\xBC\xB8\xF9\xE9\x22" + . "\x38\x65\x7A\x2F\x6C\x8E\x7A\x18\x89\xD1" + . "\x1E\x2D\xF0\x48\xFD\x02\xA7\x8A\x2C\x69" + . "\x98\x65\xC8\x6D\xCA\x87\x2B\x84\x81\x15" + . "\xA5\xB9\x79\x20\xE7\xE5\xAE\x63\xFC\x39" + . "\x35\x1B\x65\x26\x63\x64\x27\x0C\xED\x53" + . "\x74\x86\xB7\x3E\xF3\x83\xC4\x1F\x08\x46" + . "\x34\xAC\xFE\xAD\xCC\xE7\x93\x7C\x4B\x91" + . "\xB4\x80\xAC\x1B\xA5\x10\x7E\xCC\x1B\x6D" + . "\x21\x8F\xF2\xD8\xCC\xE7\x5C\x91\x07\x63" + . "\xD6\x3B\x11\xD6\xE7\xDD\xBE\x7C\x5A\x0B" + . "\x0E\x10\x8A\xBA\x2B\x31\xC9\xA8\xFC\xE3" + . "\x16\x1F\x74\x0A\xF6\x41\xF0\x53\xD1\xF7" + . "\xB6\xA9\x34\xC7\x81\x1D\xA5\x41\x98\x01" + . "\x4B\xA6\x11\xD4\x61\x3B\x07\x2C\xE3\x04" + . "\x11\xF9\x23\x84\x05\x1A\xC4\xF4\x6C\x97" + . "\xED\x24\x42\x22\xEA\xC2\x3F\x91\x04\xD6" + . "\x92\x4F\x7E\xA2\x24\xDE\xDC\x2A\x0C\xC1" + . "\x2E\x1C\xBB\x50\x9F\xBF\x6A\x64\xB5\xD5" + . "\xFB\xA4\xF9\x3E\xC6\xE4\x02\x06\x77\x05" + . "\xDC\x0A\x53\x5B\xAB\x77\x3B\x89\xA1\x46" + . "\x4B\xCF\x61\x08\x21\x01\xC6\x8A\x65\x7D" + . "\x61\x61\x22\x5B\x9F\xE7\x41\xA0\xED\xB7" + . "\xA5\xCA\xC0\xF8\x26\x6C\x70\x60\xF5\x13" + . "\xA6\x41\xE1\x08\x48\x04\x09\x10\x8D\x6D" + . "\x8D\xED\xCE\xAE\x49\x6F\x97\x8A\x10\x85" + . "\x42\xB4\x51\x03\xAD\x76\x6F\x1F\xD6\x65" + . "\x31\x7D\xA6\x14\x85\xEE\x17\x8D\xFE\xA3" + . "\xFA\x8C\x92\xCA\x3C\xDB\x3A\xD3\x66\x49" + . "\x5A\xA7\xFD\xAA\xAA\xAC\x22\x1B\xCA\xF7" + . "\x80\xFB\x75\x27\x11\xF9\x17\x27\x88\x16" + . "\xCA\x83\xA2\x5E\x4E\xDE\x3A\x88\xB2\x9F" + . "\xD1\x0E\x48\xCF\xB7\xF2\x7C\xD9\x0E\x48" + . "\xD1\x8D\x45\x48\xB4\x55\x43\xCA\x7C\xCA" + . "\xE0\x48\x4F\x83\xA5\x9D\x63\xDF\x26\x17" + . "\x80\xF6\x24\xC7\xC7\xDB\xBB\x45\xB5\xC8" + . "\x8C\x88\x56\xD0\xCF\x0B\x27\x13\xD5\xA2" + . "\xDD\xB6\xE9\x2E\x3B\x90\xCA\x9D\x70\xF0" + . "\xB3\xF0\xE7\xD7\xB9\xB0\xB4\x75\xF4\x6A" + . "\x3E\x81\xF2\x94\x53\xC2\x9F\x79\xD5\x75" + . "\x1D\xB3\x2C\x08\xE0\x67\x97\xAC\x05\x09" + . "\x9D\xB8\xF8\x86\x91\xB3\x37\x46\x29\x2C" + . "\xB0\x66\xAD\xA3\xFA\x02\x67\x9A\x7B\x3D" + . "\x10\x97\xF0\x3C\x9F\xD2\xA2\x37\x7F\xA7" + . "\x40\x1E\x61\x3A\xA3\xF1\xEC\xDA\x39\x16" + . "\x08\xE9\x7C\xB4\x8D\x77\xB6\xF3\x12\x33" + . "\x32\x22\xC9\x23\x5D\x6A\xF4\x01\xA1\x74" + . "\xA7\xE0\x92\x09\x1C\x36\xFA\x0A\x11\x35" + . "\x20\x18\x1F\x9B\xCC\xAC\x14\x84\xA0\x26" + . "\xB6\xD1\x48\x81\xF3\xA4\xEA\xE9\xA4\x8C" + . "\x5F\x4D\x6E\xF0\x56\x89\x27\x51\x92\x38" + . "\x86\xB1\x50\xA4\x4E\x1E\x51\x62\xA1\xF1" + . "\x87\x58\xC4\xCE\xD8\xB9\x74\xC3\xA3\x1A" + . "\x51\x03\x66\xBE\xF3\xBB\x48\x1C\x0E\xDA" + . "\x53\x93\x8D\xA3\x39\xDA\xC0\x89\x3D\x62" + . "\x7C\xC4\xBA\x41\x94\x93\xF9\x09\x58\x9D" + . "\x22\xA8\xA0\x87\x67\x94\x44\xAF\xB0\x51" + . "\x8A\x04\xE4\x19\xA7\x1E\xF2\x68\xA7\x31" + . "\xCA\x24\xF4\x85\x64\x8A\x1A\x5E\x92\x71" + . "\xFB\xB4\x1B\x9D\x3D\x81\x33\x80\x32\xE2" + . "\xD1\xBC\xE6\xB6\xD4\x8E\xD4\xC8\xF6\x7C" + . "\xF8\xC1\x9F\xEE\x47\x04\x79\x60\x62\x0D" + . "\xD1\x5F\xC1\xEB\xFB\xFD\x6E\x2F\x7F\x9F" + . "\x12\x51\x5D\xF7\x09\x32\x87\xDC\xF9\x7E" + . "\x5A\xF3\x40\xF8\xE3\x87\xFC\x5E\xE7\x60" + . "\x6A\xBA\xBE\x2C\xA6\xBB\x2B\x15\xE9\xA9" + . "\xB4\xFB\xFA\x12\xF4\x05\x44\x7C\xE1\x3F" + . "\xFA\x3C\x34\x3B\x35\x18\xC2\x33\x75\xAB" + . "\x92\xDF\x66\x52\x0C\x0D\x0E\x36\x22\xF6" + . "\xDF\xD6\xF3\xDA\xE8\xE8\xDE\x2D\x66\xC0" + . "\x6C\x61\xFC\x9F\x9C\x32\xB7\x60\x65\x2D" + . "\x0C\xF6\x0D\x71\x49\x19\x7E\x57\x4F\xA0" + . "\x4E\x2F\x77\x43\x0B\x60\x2D\xE9\x8D\x92" + . "\xAB\xF9\xF2\xA8\x99\x8F\xDA\x51\xEE\x40" + . "\x7E\xFA\x37\x8B\x6D\x80\xA3\xEA\xD6\xF2" + . "\x8B\x26\x22\x04\x68\x2D\x64\x94\x17\xF1" + . "\x28\xC2\xEB\x1B\x6B\x85\xAA\x46\xD6\x9A" + . "\x85\x56\x95\xBC\xE0\x03\x3D\x85\xED\x15" + . "\x79\x7A\x3B\x9A\x7D\xA3\xC7\xE1\x38\xDE" + . "\xD3\x60\xA1\xBF\x7A\x0D\x46\x26\x52\x1E" + . "\xBF\xD7\x73\x56\x94\x55\x59\xD1\xDA\x47" + . "\xE6\x54\xC1\x22\xEE\x3F\xC4\xB6\x22\xFC" + . "\x95\xF4\x5D\x37\xB4\xD7\x44\xF9\xFC\x96" + . "\x18\xBD\x6E\x8B\x15\x04\xDF\x6D\xD5\xBA" + . "\xB4\xBC\x10\x76\xDD\xFD\xB5\xA3\xB4\xD6" + . "\xA0\x4B\xCB\xFC\x82\x81\xD5\xC5\x7C\xD2" + . "\x5C\x94\x91\xCA\x20\xA6\xCD\x01\x15\xA4" + . "\xBB\xC8\x61\xCA\x40\x40\xC8\xF5\xE2\x7E" + . "\xCD\x84\xC9\x9A\x82\x4C\x1C\x58\x12\x98" + . "\x2C\x6E\x2D\xBC\x39\x4C\x64\x08\x4C\x78" + . "\xAC\x09\x41\x0E\xD2\x81\x4E\x9C\x78\x32" + . "\x1C\x46\xB5\xE4\xDF\x38\x31\xFB\x8F\x43" + . "\x94\xBB\xB0\xC0\x78\xE9\x0E\xDB\xF1\x5A" + . "\x55\x9E\x62\x96\xAC\x36\x18\xF9\xD1\x8F" + . "\x2D\xEC\xD5\xE1\xD2\xB6\x1B\x04\xB3\xA9" + . "\x46\x48\x65\xF6\x0A\xDD\xE1\x18\xBA\xD4" + . "\x71\x10\x73\xD3\xA5\x21\x0A\xBD\x1C\xDB", + '6c1033648fc11250ad22006398cd1bdc', + ], + ]; + } + + #[DataProvider('getStringDataProvider')] + public function testStrings(string $code): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('PDF417', $code); + $this->assertNotNull($type); // @phpstan-ignore method.alreadyNarrowedType + } + + /** + * @return array + */ + public static function getStringDataProvider() + { + return \Test\TestStrings::$data; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Square/QrCodeTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Square/QrCodeTest.php new file mode 100644 index 0000000..93af29b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Square/QrCodeTest.php @@ -0,0 +1,366 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Square; + +use Test\TestUtil; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * QR-Code Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class QrCodeTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testInvalidInput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $barcode->getBarcodeObj('QRCODE', ''); + } + + public function testCapacityException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Barcode\Exception::class); + $barcode = $this->getTestObject(); + $code = str_pad('', 4000, 'iVoo{[O17n~>(FXC9{*t1P532}l7E{7/R\' ObO`y?`9G(qjBmu7 GM3ZK!qp|)!P1" sRanqC(:Ky'); + $barcode->getBarcodeObj('QRCODE', $code); + } + + #[DataProvider('getGridDataProvider')] + public function testGetGrid(string $options, string $code, mixed $expected): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('QRCODE' . $options, $code); + $grid = $type->getGrid(); + $this->assertEquals($expected, md5($grid)); + } + + /** + * @return array + */ + public static function getGridDataProvider(): array + { + return [ + [ + '', + '0123456789', + '89e599523008751db7eef3b5befc37ed', + ], + [ + ',L', + '0123456789', + '89e599523008751db7eef3b5befc37ed', + ], + [ + ',H,NM', + '0123456789', + '3c4ecb6cc99b7843de8d2d3274a43d9e', + ], + [ + ',L,8B,0,0', + '123aeiouàèìòù', + '1622068066c77d3e6ea0a3ad420d105c', + ], + [ + ',H,KJ,0,0', + 'ぎポ亊', + '1d429dd6a1627f6dc1620b3f56862d52', + ], + [ + ',H,ST,0,0', + 'ABCdef0123', + '3a8260f504bca8de8f55a7b3776080bb', + ], + [ + '', + str_pad('', 350, '0123456789'), + '3cca7eb0f61bc39c5a79d7eb3e23a409', + ], + [ + '', + 'abcdefghijklmnopqrstuvwxyz01234567890123456789', + '9c489cd7ded55a82b2d7e3589afbd7d0', + ], + [ + ',H,AN,40,1,0,1,2', + 'abcdefghijklmnopqrstuvwxyz01234567890123456789', + '5ba221be81b269ab1f105b07bf49b372', + ], + [ + '', + "\x9E\x13\xC0\x08\x47\x71\x6B\xFC\xAB\xA9" + . "\x72\x72\xCC\x97\xB7\x14\xB4\x1A\x49\x4C" + . "\xC1\x10\x45\xD4\xE8\x5A\xF8\x73\x09\x68" + . "\x95\xA7\x7B\x56\xAF\xC1\xC7\x1B\xBE\x73" + . "\xC4\x32\xE4\x92\xC9\x9C\xA5\x7E\xB6\xED" + . "\xC9\x79\xFD\x0F\x4E\xE7\x69\x48\x5C\x72" + . "\xAF\xF0\x1A\x2B\x47\xC8\xEC\x0F\xE3\xAC" + . "\x81\xA9\xDD\x67\x3C\xA7\x05\xE1\x27\xBA" + . "\xD0\xF0\x34\xCE\xFE\x82\xB7\x69\xC9\x14" + . "\xDA\x7A\x05\xF4\xA5\x4C\xBD\x92\x5B\xA2" + . "\x3F\xDC\x4C\x1E\x44\x87\xC4\x49\x6A\xEB" + . "\x05\x3B\xDC\x38\x0B\xDC\xBA\xC2\x46\x84" + . "\xD5\x22\xFE\xDA\x17\xA4\x28\xD4\x38\x82" + . "\x77\x76\x5F\xC2\x94\xA3\x4B\x5A\xEC\xB4" + . "\x46\xF0\xEF\x23\x2A\xFA\xFE\xE3\xBD\x46" + . "\x69\x94\x67\x68\x70\x7E\x0D\x97\x53\x44" + . "\x1B\xC9\xBA\x79\x8D\x50\x1E\xD7\xA9\x0C" + . "\x8D\xEE\xFB\x7E\x12\x27\x79\x12\x0C\x38" + . "\x58\x74\xCB\xBE\xDC\x3C\x3D\xE9\xD3\x90" + . "\x2F\xED\x5A\xE8\x68\xE6\x39\x86\xBF\xE2" + . "\x91\x4D\xD1\x8E\xCA\xE3\xB4\x45\xF5\xBF" + . "\x7C\x4E\x35\x49\x0D\x12\x85\x4A\xFA\x59" + . "\xD9\x2A\x47\x35\x14\xAF\x1D\x4D\x36\xDB" + . "\x30\xC6\x29\x03\x55\xF3\xE5\x0B\x39\xDB" + . "\xC9\xB4\x2B\xFD\xFC\x38\x11\x83\x81\x0C" + . "\xDB\x5C\x36\x24\x91\x4A\xD2\xAD\x97\x09" + . "\x89\xC6\xCF\xB2\xC9\x26\xA6\xAF\x30\xDF" + . "\x8C\xF9\x95\xB6\xF8\x93\xED\x0A\x17\x70" + . "\x16\xF1\xCC\x4C\x17\x5E\x96\xE8\x0D\x2E" + . "\xF1\x95\xF3\xC1\x49\xBE\xE6\xEF\x6E\x18", + 'd1977c58334ea034ef4201fe95ee4d2b', + ], + [ + '', + "\x9E\xC6\x2D\x5E\xE7\x53\x3C\x2D\x68\x3E" + . "\x7A\x58\xF5\x08\x15\x4C\xAA\xFA\x57\x06" + . "\xA2\x20\x2B\xD0\x11\x60\x8B\x2B\xC0\x0F" + . "\x39\x5F\xD4\x66\xBD\xBC\xB8\xF9\xE9\x22" + . "\x38\x65\x7A\x2F\x6C\x8E\x7A\x18\x89\xD1" + . "\x1E\x2D\xF0\x48\xFD\x02\xA7\x8A\x2C\x69" + . "\x98\x65\xC8\x6D\xCA\x87\x2B\x84\x81\x15" + . "\xA5\xB9\x79\x20\xE7\xE5\xAE\x63\xFC\x39" + . "\x35\x1B\x65\x26\x63\x64\x27\x0C\xED\x53" + . "\x74\x86\xB7\x3E\xF3\x83\xC4\x1F\x08\x46" + . "\x34\xAC\xFE\xAD\xCC\xE7\x93\x7C\x4B\x91" + . "\xB4\x80\xAC\x1B\xA5\x10\x7E\xCC\x1B\x6D" + . "\x21\x8F\xF2\xD8\xCC\xE7\x5C\x91\x07\x63" + . "\xD6\x3B\x11\xD6\xE7\xDD\xBE\x7C\x5A\x0B" + . "\x0E\x10\x8A\xBA\x2B\x31\xC9\xA8\xFC\xE3" + . "\x16\x1F\x74\x0A\xF6\x41\xF0\x53\xD1\xF7" + . "\xB6\xA9\x34\xC7\x81\x1D\xA5\x41\x98\x01" + . "\x4B\xA6\x11\xD4\x61\x3B\x07\x2C\xE3\x04" + . "\x11\xF9\x23\x84\x05\x1A\xC4\xF4\x6C\x97" + . "\xED\x24\x42\x22\xEA\xC2\x3F\x91\x04\xD6" + . "\x92\x4F\x7E\xA2\x24\xDE\xDC\x2A\x0C\xC1" + . "\x2E\x1C\xBB\x50\x9F\xBF\x6A\x64\xB5\xD5" + . "\xFB\xA4\xF9\x3E\xC6\xE4\x02\x06\x77\x05" + . "\xDC\x0A\x53\x5B\xAB\x77\x3B\x89\xA1\x46" + . "\x4B\xCF\x61\x08\x21\x01\xC6\x8A\x65\x7D" + . "\x61\x61\x22\x5B\x9F\xE7\x41\xA0\xED\xB7" + . "\xA5\xCA\xC0\xF8\x26\x6C\x70\x60\xF5\x13" + . "\xA6\x41\xE1\x08\x48\x04\x09\x10\x8D\x6D" + . "\x8D\xED\xCE\xAE\x49\x6F\x97\x8A\x10\x85" + . "\x42\xB4\x51\x03\xAD\x76\x6F\x1F\xD6\x65" + . "\x31\x7D\xA6\x14\x85\xEE\x17\x8D\xFE\xA3" + . "\xFA\x8C\x92\xCA\x3C\xDB\x3A\xD3\x66\x49" + . "\x5A\xA7\xFD\xAA\xAA\xAC\x22\x1B\xCA\xF7" + . "\x80\xFB\x75\x27\x11\xF9\x17\x27\x88\x16" + . "\xCA\x83\xA2\x5E\x4E\xDE\x3A\x88\xB2\x9F" + . "\xD1\x0E\x48\xCF\xB7\xF2\x7C\xD9\x0E\x48" + . "\xD1\x8D\x45\x48\xB4\x55\x43\xCA\x7C\xCA" + . "\xE0\x48\x4F\x83\xA5\x9D\x63\xDF\x26\x17" + . "\x80\xF6\x24\xC7\xC7\xDB\xBB\x45\xB5\xC8" + . "\x8C\x88\x56\xD0\xCF\x0B\x27\x13\xD5\xA2" + . "\xDD\xB6\xE9\x2E\x3B\x90\xCA\x9D\x70\xF0" + . "\xB3\xF0\xE7\xD7\xB9\xB0\xB4\x75\xF4\x6A" + . "\x3E\x81\xF2\x94\x53\xC2\x9F\x79\xD5\x75" + . "\x1D\xB3\x2C\x08\xE0\x67\x97\xAC\x05\x09" + . "\x9D\xB8\xF8\x86\x91\xB3\x37\x46\x29\x2C" + . "\xB0\x66\xAD\xA3\xFA\x02\x67\x9A\x7B\x3D" + . "\x10\x97\xF0\x3C\x9F\xD2\xA2\x37\x7F\xA7" + . "\x40\x1E\x61\x3A\xA3\xF1\xEC\xDA\x39\x16" + . "\x08\xE9\x7C\xB4\x8D\x77\xB6\xF3\x12\x33" + . "\x32\x22\xC9\x23\x5D\x6A\xF4\x01\xA1\x74" + . "\xA7\xE0\x92\x09\x1C\x36\xFA\x0A\x11\x35" + . "\x20\x18\x1F\x9B\xCC\xAC\x14\x84\xA0\x26" + . "\xB6\xD1\x48\x81\xF3\xA4\xEA\xE9\xA4\x8C" + . "\x5F\x4D\x6E\xF0\x56\x89\x27\x51\x92\x38" + . "\x86\xB1\x50\xA4\x4E\x1E\x51\x62\xA1\xF1" + . "\x87\x58\xC4\xCE\xD8\xB9\x74\xC3\xA3\x1A" + . "\x51\x03\x66\xBE\xF3\xBB\x48\x1C\x0E\xDA" + . "\x53\x93\x8D\xA3\x39\xDA\xC0\x89\x3D\x62" + . "\x7C\xC4\xBA\x41\x94\x93\xF9\x09\x58\x9D" + . "\x22\xA8\xA0\x87\x67\x94\x44\xAF\xB0\x51" + . "\x8A\x04\xE4\x19\xA7\x1E\xF2\x68\xA7\x31" + . "\xCA\x24\xF4\x85\x64\x8A\x1A\x5E\x92\x71" + . "\xFB\xB4\x1B\x9D\x3D\x81\x33\x80\x32\xE2" + . "\xD1\xBC\xE6\xB6\xD4\x8E\xD4\xC8\xF6\x7C" + . "\xF8\xC1\x9F\xEE\x47\x04\x79\x60\x62\x0D" + . "\xD1\x5F\xC1\xEB\xFB\xFD\x6E\x2F\x7F\x9F" + . "\x12\x51\x5D\xF7\x09\x32\x87\xDC\xF9\x7E" + . "\x5A\xF3\x40\xF8\xE3\x87\xFC\x5E\xE7\x60" + . "\x6A\xBA\xBE\x2C\xA6\xBB\x2B\x15\xE9\xA9" + . "\xB4\xFB\xFA\x12\xF4\x05\x44\x7C\xE1\x3F" + . "\xFA\x3C\x34\x3B\x35\x18\xC2\x33\x75\xAB" + . "\x92\xDF\x66\x52\x0C\x0D\x0E\x36\x22\xF6" + . "\xDF\xD6\xF3\xDA\xE8\xE8\xDE\x2D\x66\xC0" + . "\x6C\x61\xFC\x9F\x9C\x32\xB7\x60\x65\x2D" + . "\x0C\xF6\x0D\x71\x49\x19\x7E\x57\x4F\xA0" + . "\x4E\x2F\x77\x43\x0B\x60\x2D\xE9\x8D\x92" + . "\xAB\xF9\xF2\xA8\x99\x8F\xDA\x51\xEE\x40" + . "\x7E\xFA\x37\x8B\x6D\x80\xA3\xEA\xD6\xF2" + . "\x8B\x26\x22\x04\x68\x2D\x64\x94\x17\xF1" + . "\x28\xC2\xEB\x1B\x6B\x85\xAA\x46\xD6\x9A" + . "\x85\x56\x95\xBC\xE0\x03\x3D\x85\xED\x15" + . "\x79\x7A\x3B\x9A\x7D\xA3\xC7\xE1\x38\xDE" + . "\xD3\x60\xA1\xBF\x7A\x0D\x46\x26\x52\x1E" + . "\xBF\xD7\x73\x56\x94\x55\x59\xD1\xDA\x47" + . "\xE6\x54\xC1\x22\xEE\x3F\xC4\xB6\x22\xFC" + . "\x95\xF4\x5D\x37\xB4\xD7\x44\xF9\xFC\x96" + . "\x18\xBD\x6E\x8B\x15\x04\xDF\x6D\xD5\xBA" + . "\xB4\xBC\x10\x76\xDD\xFD\xB5\xA3\xB4\xD6" + . "\xA0\x4B\xCB\xFC\x82\x81\xD5\xC5\x7C\xD2" + . "\x5C\x94\x91\xCA\x20\xA6\xCD\x01\x15\xA4" + . "\xBB\xC8\x61\xCA\x40\x40\xC8\xF5\xE2\x7E" + . "\xCD\x84\xC9\x9A\x82\x4C\x1C\x58\x12\x98" + . "\x2C\x6E\x2D\xBC\x39\x4C\x64\x08\x4C\x78" + . "\xAC\x09\x41\x0E\xD2\x81\x4E\x9C\x78\x32" + . "\x1C\x46\xB5\xE4\xDF\x38\x31\xFB\x8F\x43" + . "\x94\xBB\xB0\xC0\x78\xE9\x0E\xDB\xF1\x5A" + . "\x55\x9E\x62\x96\xAC\x36\x18\xF9\xD1\x8F" + . "\x2D\xEC\xD5\xE1\xD2\xB6\x1B\x04\xB3\xA9" + . "\x46\x48\x65\xF6\x0A\xDD\xE1\x18\xBA\xD4" + . "\x71\x10\x73\xD3\xA5\x21\x0A\xBD\x1C\xDB", + 'f4bf6b42c6964562a3a91e054fc8ec51'], + [ + ',H,NM', + + "\x1A\x97\xE0\xC1\x47\x20\xA2\xBF\x1E\x62" + . "\x52\x0D\x99\x91\x45\x03\x7B\xE3\x32\xC8" + . "\x18\xEA\x80\x51\xE8\x70\x93\x2D\x19\x08" + . "\x26\x33\x9E\x07\xF3\xE5\x27\x96\xA5\x45" + . "\xF7\xF6\x51\x92\x89\x95\x94\x06\x7A\xC5", + + '4f6fd3799489b48fa07e1a7aef0561fc', + ], + [ + ',H,AN', + + "\xCD\x92\xB0\x4F\xE2\x9A\xBF\x76\xC6\xD7" + . "\x7E\xEC\x0C\x1D\xF3\xFE\x04\x1B\x96\xA8" + . "\x60\x8E\xA0\xB0\x22\x2A\x47\xB6\x30\xC0" + . "\x7D\xFC\x54\x2E\x4D\x37\xC8\x0D\xAD\x90" + . "\xE3\x2C\x7D\xEE\x49\x71\xEE\x4C\x8C\x85", + + '55cd590ed76d12591c6df3b673904530', + ], + [ + ',H,KJ', + "\xF4\xEB\x15\x95\x9D\x36\xBF\xE3\xEB\xEE" + . "\xA5\x69\xEC\xF8\x97\x3A\x31\x61\x46\xDD" + . "\xF0\x2B\x0B\x6F\x1B\x53\xDF\x0A\x9F\x6D" + . "\x8E\x94\x59\xA3\x2A\xF6\xD8\xE9\xDA\xC5" + . "\xD8\x81\x30\xC5\x7A\xC7\x01\xAA\x29\x46", + + '92e82c296965d97d35ab7168ece11dd0', + ], + [ + ',H,8B', + "\x89\x1B\x70\x93\x89\x8A\xE6\x6A\x94\x86" + . "\xD6\x24\x1B\x31\xC6\x45\x28\xA0\x2F\x04" + . "\x67\x09\x85\x96\xCE\xFE\x5F\xCE\xAA\x88" + . "\x16\x35\xA2\x86\xC7\x2D\x12\xAE\x96\xA5" + . "\x36\x6D\xC9\x51\x9E\x90\x96\xC6\x32\xC4", + '68799fdb9685b5e2f258245833006425', + ], + [ + ',H,ST', + "\xC9\x98\xCD\x4F\x2F\x9D\x4F\x8E\x6C\xF9" + . "\x17\x82\x2F\xB9\x09\xF6\xE5\x1A\xA6\x7C" + . "\xBF\xDB\xE9\x89\x2D\x89\x1B\xC2\x50\x4C" + . "\x88\x1B\xE3\x57\x6A\x14\xF3\xB8\xA1\x61" + . "\xB3\xB8\xE2\xE2\x72\xEB\xD9\x58\x06\x81", + '6fb328c418ea40c6c94277f420ba9357', + ], + [ + '', + 'w(fa`nC]e=}OY(K^ 3xN1Vz1gkKnFS;&TN ' + . '$`W~r?;9\\l?]5MF@<~oh>\\4-#hH*=w*AYaAL!]f^J&<`Tc!' + . 'pcpZ"Nn0RWY\\uQf8+HZXJ8?*bFGDz+Eln7Gqe6"8n[te.\\}' + . ':&YrQq3[UY#yU.@B}Xio>!rWoNMV]*Uw0/kb!~>WYAR0PrROK' + . '=?j>3B/boe@z;8,K$nM$-%]OWm KAOv^oa}#%-ets&p/?|[Dk' + . ')Hy.\'IfuI27y*viktmq#Tfv[X\'zUb?Bkh=zofbe1t|+~tuk' + . 'id]l9Edt}kpTO0wSr^PK|T2SZ:[Jb0UX!I8}Grc^>L)jzG>n\'n:%DMX g5KK' + . 'F!$GJ=Er0*QOVZ:R#YA+H\\0m*inr :>G;Cof`5Yq@,Avg\\J' + . 'j6lv_J(MUqv' + . '>?03:!+8ig9`\\-PZW\'D%Qz^wEC,z3JrQj#d&$p>nYXP6f!p' + . '?)5EZ1$RWH_S[+F-vIr|Nc<==tmT\\oF{x\\ASnF\'FnfyKr@' + . 'YijLg91$VOyD%V4KS-(tav;h>+P8VCY0.D]u^nz6?tZDLoo }' + . 'xt_p1I0=zIs?#%MHbD(R?>q4y7ai(ah"WIrir$\'nM{.P![yd' + . ' "7@@*T:A7%IxmKP7?:+CAyp>)B?e<$e><\'_F\\yhs~2ll^>' + . '%~X1Bz+494VYys^`2zhrBEl+9l>&Y}D_|}p@y|T32,m- Ln3H' + . 'W&j|sv6`6=;5bz2alS[i(o{5]*6*xIRPP>NE6d&L#Abe=tG+H' + . '$tQsqgQ{}\\tH0FyNt?eZE2]gtD&jl14p\'fdxO7uMskv$2pS' + . '(19bWLA@BeF-RXBD_*)YY@O\'5;~9NolV!\':YS[yuA@$tyF9' + . 'YPC3*cc2y~13N"!%$(@][{WR>xV4r|MMNp`YUDkPD|cr~ex#m' + . '9`J69}T2Th&R7S")4[_YG0~EtqDZkHI&*tw+T.8r!mk4j"CEn9+S!Qn]\'Ohu%y0`9)lm7' + . '%a9sMN^Oq$?,0r.ablh2U_8PoxixeX1k;K_hy>9lBXxRL\'5/' + . 's~BJ^Z{OSfI:?[&[\'eD!$^mG8gzen1uc08/or+@Fria2FgnM' + . 'N3NRr=z+%uqt\'gY8 h(rtI:g4{zZdi(3}Wfpta|zXoo`WIxX' + . '3"L)Kgp_cl:IVB\\UyCGo&Ej^5[?m&8F::rCfZ4F?"`hX$F/~' + . 'iVoo{[O17n~>(FXC9{*t1P532}l7E{7/R\' ObO`y?`9G(qjB' + . 'mu7 GM3ZK!qp|)!P1" sRanqC(:Ky&mh{&hDS|~ }qqzzrL,u' + . 'L!H/o:RwU}r[l\\XrE|FB{FAm9=i-iv#7wKFgfx`RM8' + . '83KI~dMkt}L9 ]uN[,@:6/[",:jKl8c%L/OKs}7i{c#{BxK}%' + . 'k9(0*S}C7#oGS;TW2x8z]!sK=k]rf', + '83747986cf0df320b915587609232076', + ], + ]; + } + + #[DataProvider('getStringDataProvider')] + public function testStrings(string $code): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('QRCODE,H,NL,0,1,3,1', $code); + $this->assertNotNull($type); // @phpstan-ignore method.alreadyNarrowedType + } + + /** + * @return array + */ + public static function getStringDataProvider() + { + return \Test\TestStrings::$data; + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/Square/RawTest.php b/vendor/tecnickcom/tc-lib-barcode/test/Square/RawTest.php new file mode 100644 index 0000000..148eb20 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/Square/RawTest.php @@ -0,0 +1,47 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test\Square; + +use PHPUnit\Framework\TestCase; + +/** + * Raw Barcode class test + * + * @since 2015-02-21 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class RawTest extends TestCase +{ + protected function getTestObject(): \Com\Tecnick\Barcode\Barcode + { + return new \Com\Tecnick\Barcode\Barcode(); + } + + public function testGetGrid(): void + { + $barcode = $this->getTestObject(); + $type = $barcode->getBarcodeObj('SRAW', '0101,1010,1100,0011'); + $grid = $type->getGrid(); + $expected = "0101\n1010\n1100\n0011\n"; + $this->assertEquals($expected, $grid); + } +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/TestStrings.php b/vendor/tecnickcom/tc-lib-barcode/test/TestStrings.php new file mode 100644 index 0000000..9783c58 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/TestStrings.php @@ -0,0 +1,78 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-barcode software library. + */ + +namespace Test; + +/** + * Barcode class test + * + * @since 2016-08-31 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + */ +class TestStrings +{ + /** + * Array containing testing strings. + * + * @var array + */ + public static $data = [ + // Reserved keywords + ['__halt_compiler abstract and array as break callable case catch class clone const continue declare default die do echo else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval exit extends final for foreach function global goto if implements include include_once instanceof insteadof interface isset list namespace new or print private protected public require require_once return static switch throw trait try unset use var while xor'], + ['__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__ __METHOD__ __NAMESPACE__ __TRAIT__ boolean bool integer float double string array object resource undefined undef null NULL (null) nil NIL true false True False TRUE FALSE None hasOwnProperty'], + // Numeric Strings + ['0 1 2 3 5 7 97 397 997 7919 99991 104729 01 012 0123 01234 012345 0123456 01234567 012345678 0123456789 1234567890 12 123 1234 12345 123456 1234567 12345678 123456789 1234567890 012345678900112233445566778899 012345678900112233445566778899000111222333444555666777888999 123456789012345678901234567890123456789 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999'], + ['1.00 $1.00 1/2 1E2 1E02 1E+02 -1 -1.00 -$1.00 -1/2 -1E2 -1E02 -1E+02 1/0 0/0 -2147483648/-1 -9223372036854775808/-1 0.00 0..0 . 0.0.0 0,00 0,,0 , 0,0,0 0.0/0 1.0/0.0 0.0/0.0 1,0/0,0 0,0/0,0 --1 - -. -, NaN Infinity -Infinity INF 1#INF -1#IND 1#QNAN 1#SNAN 1#IND 0x0 0xffffffff 0xffffffffffffffff 0xabad1dea 1,000.00 1 000.00 1\'000.00 1,000,000.00 1 000 000.00 1\'000\'000.00 1.000,00 1 000,00 1\'000,00 1.000.000,00 1 000 000,00 1\'000\'000,00 01000 08 09 2.2250738585072011e-308 012-345-678-901-234-567-890-123-456-789'], + // Special Characters + [' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'], + ['Roses are red, violets are blue. Hope you enjoy terminal hue But now...for my greatest trick... The quick brown fox...'], + ['<<< ((( [[[ {{{ """ \'\'\' ``` ### ~~~ @@@ £££ $$$ %%% ^^^ &&& *** --- +++ === ___ ::: ;;; ,,, ... ??? ¬¬¬ ||| /// \\\\\\ !!! }}} ]]] ))) >>> ./;\'[]\-= <>?:"{}|_+ !@#$%^&*()`~ "\'"\'"\'\'\'\'"'], + // Unicode Symbols + ['Ω≈ç√∫˜µ≤≥÷ åß∂ƒ©˙∆˚¬…æ œ∑´®†¥¨ˆøπ“‘ ¡™£¢∞§¶•ªº–≠ ¸˛Ç◊ı˜Â¯˘¿ ÅÍÎÏ˝ÓÔÒÚÆ☃ Œ„´‰ˇÁ¨ˆØ∏”’ `⁄€‹›fifl‡°·‚—± ⅛⅜⅝⅞ ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя ٠١٢٣٤٥٦٧٨٩   ᠎    ␣ ␢ ␡ ⁰⁴⁵ ₀₁₂ ⁰⁴⁵₀₁₂'], + // Two-Byte Characters + ['田中さんにあげて下さい パーティーへ行かないか 和製漢語 部落格 사회과학원 어학연구소 찦차를 타고 온 펲시맨과 쑛다리 똠방각하 社會科學院語學研究所 울란바토르 𠜎𠜱𠝹𠱓𠱸𠲖𠳏'], + // Japanese Emoticons + ['ヽ༼ຈل͜ຈ༽ノ ヽ༼ຈل͜ຈ༽ノ (。◕ ∀ ◕。) `ィ(´∀`∩ __ロ(,_,*) ・( ̄∀ ̄)・:*: ゚・✿ヾ╲(。◕‿◕。)╱✿・゚ ,。・:*:・゜’( ☻ ω ☻ )。・:*:・゜’ (╯°□°)╯︵ ┻━┻) (ノಥ益ಥ)ノ ┻━┻ ( ͡° ͜ʖ ͡°)'], + // Emoji + ['😍 👩🏽 👾 🙇 💁 🙅 🙆 🙋 🙎 🙍 🐵 🙈 🙉 🙊 ❤️ 💔 💌 💕 💞 💓 💗 💖 💘 💝 💟 💜 💛 💚 💙 ✋🏿 💪🏿 👐🏿 🙌🏿 👏🏿 🙏🏿 🚾 🆒 🆓 🆕 🆖 🆗 🆙 🏧 0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ 🔟'], + // Regional Indicator Symbols + ['🇺🇸🇷🇺🇸 🇦🇫🇦🇲🇸 🇺🇸🇷🇺🇸🇦🇫🇦🇲 🇺🇸🇷🇺🇸🇦'], + // Unicode Numbers + ['123 ١٢٣'], + // Right-To-Left Strings + ['ثم نفس سقطت وبالتحديد،, جزيرتي باستخدام أن دنو. إذ هنا؟ الستار وتنصيب كان. أهّل ايطاليا، بريطانيا-فرنسا قد أخذ. سليمان، إتفاقية بين ما, يذكر الحدود أي بعد, معاملة بولندا، الإطلاق عل إيو. בְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ הָיְתָהtestالصفحات التّحول ﷽ ﷺ مُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، '], + // Trick Unicode + ['‪‪test‪ ‫test‫ 
test
 test⁠test‫ ⁦test⁧'], + // Strings which contain "corrupted" text + ['Ṱ̺̺̕o͞ ̷i̲̬͇̪͙n̝̗͕v̟̜̘̦͟o̶̙̰̠kè͚̮̺̪̹̱̤ ̖t̝͕̳̣̻̪͞h̼͓̲̦̳̘̲e͇̣̰̦̬͎ ̢̼̻̱̘h͚͎͙̜̣̲ͅi̦̲̣̰̤v̻͍e̺̭̳̪̰-m̢iͅn̖̺̞̲̯̰d̵̼̟͙̩̼̘̳ ̞̥̱̳̭r̛̗̘e͙p͠r̼̞̻̭̗e̺̠̣͟s̘͇̳͍̝͉e͉̥̯̞̲͚̬͜ǹ̬͎͎̟̖͇̤t͍̬̤͓̼̭͘ͅi̪̱n͠g̴͉ ͏͉ͅc̬̟h͡a̫̻̯͘o̫̟̖͍̙̝͉s̗̦̲.̨̹͈̣ ̡͓̞ͅI̗̘̦͝n͇͇͙v̮̫ok̲̫̙͈i̖͙̭̹̠̞n̡̻̮̣̺g̲͈͙̭͙̬͎ ̰t͔̦h̞̲e̢̤ ͍̬̲͖f̴̘͕̣è͖ẹ̥̩l͖͔͚i͓͚̦͠n͖͍̗͓̳̮g͍ ̨o͚̪͡f̘̣̬ ̖̘͖̟͙̮c҉͔̫͖͓͇͖ͅh̵̤̣͚͔á̗̼͕ͅo̼̣̥s̱͈̺̖̦̻͢.̛̖̞̠̫̰ ̗̺͖̹̯͓'], + ['Ṯ̤͍̥͇͈h̲́e͏͓̼̗̙̼̣͔ ͇̜̱̠͓͍ͅN͕͠e̗̱z̘̝̜̺͙p̤̺̹͍̯͚e̠̻̠͜r̨̤͍̺̖͔̖̖d̠̟̭̬̝͟i̦͖̩͓͔̤a̠̗̬͉̙n͚͜ ̻̞̰͚ͅh̵͉i̳̞v̢͇ḙ͎͟-҉̭̩̼͔m̤̭̫i͕͇̝̦n̗͙ḍ̟ ̯̲͕͞ǫ̟̯̰̲͙̻̝f ̪̰̰̗̖̭̘͘c̦͍̲̞͍̩̙ḥ͚a̮͎̟̙͜ơ̩̹͎s̤.̝̝ ҉Z̡̖̜͖̰̣͉̜a͖̰͙̬͡l̲̫̳͍̩g̡̟̼̱͚̞̬ͅo̗͜.̟ ̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕'], + // Unicode Upsidedown + ['˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs \'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ \'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥ 00˙Ɩ$-'], + // Unicode font + ['The quick brown fox jumps over the lazy dog 𝐓𝐡𝐞 𝐪𝐮𝐢𝐜𝐤 𝐛𝐫𝐨𝐰𝐧 𝐟𝐨𝐱 𝐣𝐮𝐦𝐩𝐬 𝐨𝐯𝐞𝐫 𝐭𝐡𝐞 𝐥𝐚𝐳𝐲 𝐝𝐨𝐠 𝕿𝖍𝖊 𝖖𝖚𝖎𝖈𝖐 𝖇𝖗𝖔𝖜𝖓 𝖋𝖔𝖝 𝖏𝖚𝖒𝖕𝖘 𝖔𝖛𝖊𝖗 𝖙𝖍𝖊 𝖑𝖆𝖟𝖞 𝖉𝖔𝖌 𝑻𝒉𝒆 𝒒𝒖𝒊𝒄𝒌 𝒃𝒓𝒐𝒘𝒏 𝒇𝒐𝒙 𝒋𝒖𝒎𝒑𝒔 𝒐𝒗𝒆𝒓 𝒕𝒉𝒆 𝒍𝒂𝒛𝒚 𝒅𝒐𝒈 𝓣𝓱𝓮 𝓺𝓾𝓲𝓬𝓴 𝓫𝓻𝓸𝔀𝓷 𝓯𝓸𝔁 𝓳𝓾𝓶𝓹𝓼 𝓸𝓿𝓮𝓻 𝓽𝓱𝓮 𝓵𝓪𝔃𝔂 𝓭𝓸𝓰 '], + ['𝕋𝕙𝕖 𝕢𝕦𝕚𝕔𝕜 𝕓𝕣𝕠𝕨𝕟 𝕗𝕠𝕩 𝕛𝕦𝕞𝕡𝕤 𝕠𝕧𝕖𝕣 𝕥𝕙𝕖 𝕝𝕒𝕫𝕪 𝕕𝕠𝕘 𝚃𝚑𝚎 𝚚𝚞𝚒𝚌𝚔 𝚋𝚛𝚘𝚠𝚗 𝚏𝚘𝚡 𝚓𝚞𝚖𝚙𝚜 𝚘𝚟𝚎𝚛 𝚝𝚑𝚎 𝚕𝚊𝚣𝚢 𝚍𝚘𝚐 ⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢'], + // Unwanted Interpolation + ['$HOME $ENV{\'HOME\'} %d %s {0} %*.*s'], + // PHP code + ['echo \'hello world\'; exit(); for($i=32;$i<120;++$i){echo chr($i);}'], + ]; +} diff --git a/vendor/tecnickcom/tc-lib-barcode/test/TestUtil.php b/vendor/tecnickcom/tc-lib-barcode/test/TestUtil.php new file mode 100644 index 0000000..b97c685 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-barcode/test/TestUtil.php @@ -0,0 +1,52 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Web Color class test + * + * @since 2020-12-19 + * @category Library + * @package Barcode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-barcode + * + * @SuppressWarnings("PHPMD.NumberOfChildren") + */ +class TestUtil extends TestCase +{ + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/.editorconfig b/vendor/tecnickcom/tc-lib-color/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-color/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-color/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-color/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-color/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-color/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-color/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-color/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-color/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-color/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-color/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-color/.gitignore b/vendor/tecnickcom/tc-lib-color/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-color/CODEOWNERS b/vendor/tecnickcom/tc-lib-color/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-color/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-color/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-color/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-color/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-color/LICENSE b/vendor/tecnickcom/tc-lib-color/LICENSE new file mode 100644 index 0000000..b7946a0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-color +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2015-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-color/Makefile b/vendor/tecnickcom/tc-lib-color/Makefile new file mode 100644 index 0000000..bb35590 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/Makefile @@ -0,0 +1,277 @@ +# Makefile +# +# @since 2015-02-21 +# @category Library +# @package Color +# @author Nicola Asuni +# @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-color +# +# This file is part of tc-lib-color software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-color + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Color/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-color/README.md b/vendor/tecnickcom/tc-lib-color/README.md new file mode 100644 index 0000000..2edd393 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/README.md @@ -0,0 +1,109 @@ +# tc-lib-color +*PHP Color Library* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-color/version)](https://packagist.org/packages/tecnickcom/tc-lib-color) +![Build](https://github.com/tecnickcom/tc-lib-color/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-color/graph/badge.svg?token=l3UCVbShmc)](https://codecov.io/gh/tecnickcom/tc-lib-color) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-color/license)](https://packagist.org/packages/tecnickcom/tc-lib-color) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-color/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-color) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Color +* **author** Nicola Asuni +* **copyright** 2001-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-color +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-color + +## Description + +This library includes utility classes to get colors in various representation formats. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-color": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-color ^2.0 +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Color/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-color/RELEASE b/vendor/tecnickcom/tc-lib-color/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-color/SECURITY.md b/vendor/tecnickcom/tc-lib-color/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-color/VERSION b/vendor/tecnickcom/tc-lib-color/VERSION new file mode 100644 index 0000000..f2b42fc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/VERSION @@ -0,0 +1 @@ +2.2.13 diff --git a/vendor/tecnickcom/tc-lib-color/composer.json b/vendor/tecnickcom/tc-lib-color/composer.json new file mode 100644 index 0000000..e585965 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/composer.json @@ -0,0 +1,46 @@ +{ + "name": "tecnickcom/tc-lib-color", + "description": "PHP library to manipulate various color representations", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-color", + "color", + "colors", + "colour", + "colours", + "javascript", + "web", + "rgb", + "rgba", + "cmyk", + "hsl", + "hsla" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-pcre": "*" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Color\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-color/example/index.php b/vendor/tecnickcom/tc-lib-color/example/index.php new file mode 100644 index 0000000..e230d87 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/example/index.php @@ -0,0 +1,111 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +// autoloader when using Composer +require __DIR__ . '/../vendor/autoload.php'; + +// autoloader when using RPM or DEB package installation +//require ('/usr/share/php/Com/Tecnick/Color/autoload.php'); + +$colobj = new \Com\Tecnick\Color\Web(); + +$colmap = $colobj::WEBHEX; + +$tablerows = ''; +$invtablerows = ''; +foreach ($colmap as $name => $hex) { + $rgbcolor = $colobj->getRgbObjFromHex($hex); + $hslcolor = new \Com\Tecnick\Color\Model\Hsl($rgbcolor->toHslArray()); + $comp = $rgbcolor->getNormalizedArray(255); + // web colors + $tablerows .= ' ' + . '' . $name . '' + . '' . $rgbcolor->getRgbHexColor() . '' + . '' . $comp['R'] . '' + . '' . $comp['G'] . '' + . '' . $comp['B'] . '' + . '' . $rgbcolor->getCssColor() . '' + . '' . $hslcolor->getCssColor() . '' + . '' . $rgbcolor->getJsPdfColor() . '' + . '' . "\n"; + // normalised inverted web colors + $invcolor = clone $rgbcolor; + $invcolor->invertColor(); + $invcolname = $colobj->getClosestWebColor($invcolor->toRgbArray()); + $invrgbcolor = $colobj->getRgbObjFromName($invcolname); + $invtablerows .= '' . $name . '' + . ' ' + . ' ' + . '' . $invcolname . '' + . '' . "\n"; +} + +echo " + + + + Usage example of tc-lib-color library + + + + + +

Usage example of tc-lib-color library

+

This is an usage example of tc-lib-color library.

+

Web Colors Table

+ + + + + + + + + + + + + + + +" . $tablerows . " + +
COLORNAMEHEXREDGREENBLUECSS-RGBACSS-HSLAPDF-JS
+

Normalized Inverted Web Colors Table

+ + + + + + + + + + + + + + +" . $invtablerows . " + +
AB
NAMECOLORCOLORNAME
+ + +"; diff --git a/vendor/tecnickcom/tc-lib-color/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-color/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-color/phpcs.xml b/vendor/tecnickcom/tc-lib-color/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-color/phpstan.neon b/vendor/tecnickcom/tc-lib-color/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-color/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-color/phpunit.xml.dist new file mode 100644 index 0000000..702ff12 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-color/resources/autoload.php b/vendor/tecnickcom/tc-lib-color/resources/autoload.php new file mode 100644 index 0000000..7c6ec88 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(__DIR__).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-color/resources/debian/changelog b/vendor/tecnickcom/tc-lib-color/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-color/resources/debian/compat b/vendor/tecnickcom/tc-lib-color/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-color/resources/debian/control b/vendor/tecnickcom/tc-lib-color/resources/debian/control new file mode 100644 index 0000000..402779c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/debian/control @@ -0,0 +1,16 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), ${misc:Depends} +Description: PHP Color library + This library includes PHP classes to parse and manipulate + various colors representations GRAY, RGB, HSL, CMYK. diff --git a/vendor/tecnickcom/tc-lib-color/resources/debian/copyright b/vendor/tecnickcom/tc-lib-color/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-color/resources/debian/rules b/vendor/tecnickcom/tc-lib-color/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-color/resources/debian/source/format b/vendor/tecnickcom/tc-lib-color/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-color/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-color/resources/rpm/rpm.spec new file mode 100644 index 0000000..f4e2ef5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/resources/rpm/rpm.spec @@ -0,0 +1,49 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library to manipulate various color representations + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-pcre + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library to manipulate various color representations (GRAY, RGB, HSL, CMYK) and parse Web colors. + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Thu Jul 02 2024 Nicola Asuni 1.5.0-1 +- Changed package name, add provides section +* Tue Feb 24 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-color/src/Css.php b/vendor/tecnickcom/tc-lib-color/src/Css.php new file mode 100644 index 0000000..5b3444f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Css.php @@ -0,0 +1,219 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color; + +use Com\Tecnick\Color\Exception as ColorException; + +/** + * Com\Tecnick\Color\Css + * + * Css Color class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +abstract class Css +{ + abstract public function normalizeValue(mixed $value, int $max): float; + + /** + * Get the color object from acrobat Javascript syntax + * + * @param string $color color specification (e.g.: ["RGB",0.1,0.3,1]) + * + * @throws ColorException if the color is not found + */ + protected function getColorObjFromJs(string $color): ?\Com\Tecnick\Color\Model + { + if (! isset($color[2]) || (strpos('tgrc', $color[2]) === false)) { + throw new ColorException('invalid javascript color: ' . $color); + } + + switch ($color[2]) { + case 'g': + $rex = '/[\[][\"\']g[\"\'][\,]([0-9\.]+)[\]]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid javascript color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Gray([ + 'gray' => $col[1], + 'alpha' => 1, + ]); + case 'r': + $rex = '/[\[][\"\']rgb[\"\'][\,]([0-9\.]+)[\,]([0-9\.]+)[\,]([0-9\.]+)[\]]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid javascript color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => $col[1], + 'green' => $col[2], + 'blue' => $col[3], + 'alpha' => 1, + ] + ); + case 'c': + $rex = '/[\[][\"\']cmyk[\"\'][\,]([0-9\.]+)[\,]([0-9\.]+)[\,]([0-9\.]+)[\,]([0-9\.]+)[\]]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid javascript color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => $col[1], + 'magenta' => $col[2], + 'yellow' => $col[3], + 'key' => $col[4], + 'alpha' => 1, + ] + ); + } + + // case 't' + return null; + } + + /** + * Get the color object from a CSS color string + * + * @param string $type color type: t, g, rgb, rgba, hsl, hsla, cmyk + * @param string $color color specification (e.g.: rgb(255,128,64)) + * + * @throws ColorException if the color is not found + */ + protected function getColorObjFromCss(string $type, string $color): ?\Com\Tecnick\Color\Model + { + switch ($type) { + case 'g': + return $this->getColorObjFromCssGray($color); + case 'rgb': + case 'rgba': + return $this->getColorObjFromCssRgb($color); + case 'hsl': + case 'hsla': + return $this->getColorObjFromCssHsl($color); + case 'cmyk': + case 'cmyka': + return $this->getColorObjFromCssCmyk($color); + } + + // case 't' + return null; + } + + /** + * Get the color object from a CSS CMYK color string + * + * @param string $color color specification (e.g.: rgb(255,128,64)) + * + * @throws ColorException if the color is not found + */ + private function getColorObjFromCssGray(string $color): \Com\Tecnick\Color\Model\Gray + { + $rex = '/[\(]([0-9\%]+)[\)]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid css color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Gray( + [ + 'gray' => $this->normalizeValue($col[1], 255), + 'alpha' => 1, + ] + ); + } + + /** + * Get the color object from a CSS CMYK color string + * + * @param string $color color specification (e.g.: rgb(255,128,64)) + * + * @throws ColorException if the color is not found + */ + private function getColorObjFromCssRgb(string $color): \Com\Tecnick\Color\Model\Rgb + { + $rex = '/[\(]([0-9\%]+)[\,]([0-9\%]+)[\,]([0-9\%]+)[\,]?([0-9\.]*)[\)]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid css color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => $this->normalizeValue($col[1], 255), + 'green' => $this->normalizeValue($col[2], 255), + 'blue' => $this->normalizeValue($col[3], 255), + 'alpha' => (isset($col[4][0]) ? $col[4] : 1), + ] + ); + } + + /** + * Get the color object from a CSS CMYK color string + * + * @param string $color color specification (e.g.: rgb(255,128,64)) + * + * @throws ColorException if the color is not found + */ + private function getColorObjFromCssHsl(string $color): \Com\Tecnick\Color\Model\Hsl + { + $rex = '/[\(]([0-9\%]+)[\,]([0-9\%]+)[\,]([0-9\%]+)[\,]?([0-9\.]*)[\)]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid css color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => $this->normalizeValue($col[1], 360), + 'saturation' => $this->normalizeValue($col[2], 1), + 'lightness' => $this->normalizeValue($col[3], 1), + 'alpha' => (isset($col[4][0]) ? $col[4] : 1), + ] + ); + } + + /** + * Get the color object from a CSS CMYK color string + * + * @param string $color color specification (e.g.: rgb(255,128,64)) + * + * @throws ColorException if the color is not found + */ + private function getColorObjFromCssCmyk(string $color): \Com\Tecnick\Color\Model\Cmyk + { + $rex = '/[\(]([0-9\%]+)[\,]([0-9\%]+)[\,]([0-9\%]+)[\,]([0-9\%]+)[\,]?([0-9\.]*)[\)]/'; + if (preg_match($rex, $color, $col) !== 1) { + throw new ColorException('invalid css color: ' . $color); + } + + return new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => $this->normalizeValue($col[1], 100), + 'magenta' => $this->normalizeValue($col[2], 100), + 'yellow' => $this->normalizeValue($col[3], 100), + 'key' => $this->normalizeValue($col[4], 100), + 'alpha' => (isset($col[5][0]) ? $col[5] : 1), + ] + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Exception.php b/vendor/tecnickcom/tc-lib-color/src/Exception.php new file mode 100644 index 0000000..609e85c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color; + +/** + * Com\Tecnick\Color\Exception + * + * Custom Exception class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Model.php b/vendor/tecnickcom/tc-lib-color/src/Model.php new file mode 100644 index 0000000..8ef5459 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Model.php @@ -0,0 +1,122 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color; + +/** + * Com\Tecnick\Color\Model + * + * Color Model class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +abstract class Model implements \Com\Tecnick\Color\Model\Template +{ + /** + * Color Model type (GRAY, RGB, HSL, CMYK) + * + * @var string + */ + protected $type; + + /** + * Value of the Alpha channel component. + * Values range between 0.0 (fully transparent) and 1.0 (fully opaque) + * + * @var float + */ + protected $cmp_alpha = 1.0; + + /** + * Initialize a new color object. + * + * @param array $components color components. + */ + public function __construct(array $components) + { + foreach ($components as $color => $value) { + $property = 'cmp_' . $color; + if (property_exists($this, $property)) { + $this->$property = (max(0, min(1, (float) $value))); + } + } + } + + /** + * Get the color model type (GRAY, RGB, HSL, CMYK) + */ + public function getType(): string + { + return $this->type; + } + + /** + * Get the normalized integer value of the specified float fraction + * + * @param float $value Fraction value to convert [0..1] + * @param int $max Maximum value to return (reference value) + * + * @return float value [0..$max] + */ + public function getNormalizedValue(float $value, int $max): float + { + // NOTE: The last round has been added for backward compatibility because of: + // https://github.com/php/php-src/issues/14332 + return round(max(0, min($max, ($max * round($value, 14))))); + } + + /** + * Get the normalized hexadecimal value of the specified float fraction + * + * @param float $value Fraction value to convert [0..1] + * @param int $max Maximum value to return (reference value) + */ + public function getHexValue(float $value, int $max): string + { + return sprintf('%02x', $this->getNormalizedValue($value, $max)); + } + + /** + * Get the Hexadecimal representation of the color with alpha channel: #RRGGBBAA + */ + public function getRgbaHexColor(): string + { + $rgba = $this->toRgbArray(); + return '#' + . $this->getHexValue($rgba['red'], 255) + . $this->getHexValue($rgba['green'], 255) + . $this->getHexValue($rgba['blue'], 255) + . $this->getHexValue($rgba['alpha'], 255); + } + + /** + * Get the Hexadecimal representation of the color: #RRGGBB + */ + public function getRgbHexColor(): string + { + $rgba = $this->toRgbArray(); + return '#' + . $this->getHexValue($rgba['red'], 255) + . $this->getHexValue($rgba['green'], 255) + . $this->getHexValue($rgba['blue'], 255); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Model/Cmyk.php b/vendor/tecnickcom/tc-lib-color/src/Model/Cmyk.php new file mode 100644 index 0000000..2b9d75c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Model/Cmyk.php @@ -0,0 +1,223 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color\Model; + +/** + * Com\Tecnick\Color\Model\Cmyk + * + * CMYK Color Model class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Cmyk extends \Com\Tecnick\Color\Model +{ + /** + * Color Model type + * + * @var string + */ + protected $type = 'CMYK'; + + /** + * Value of the Cyan color component [0..1] + * + * @var float + */ + protected $cmp_cyan = 0.0; + + /** + * Value of the Magenta color component [0..1] + * + * @var float + */ + protected $cmp_magenta = 0.0; + + /** + * Value of the Yellow color component [0..1] + * + * @var float + */ + protected $cmp_yellow = 0.0; + + /** + * Value of the Key (Black) color component [0..1] + * + * @var float + */ + protected $cmp_key = 0.0; + + /** + * Get an array with all color components + * + * @return array with keys ('C', 'M', 'Y', 'K', 'A') + */ + public function getArray(): array + { + return [ + 'C' => $this->cmp_cyan, + 'M' => $this->cmp_magenta, + 'Y' => $this->cmp_yellow, + 'K' => $this->cmp_key, + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with color components values normalized between 0 and $max. + * NOTE: the alpha and other fraction component values are kept in the [0..1] range. + * + * @param int $max Maximum value to return (reference value - it should be 100) + * + * @return array with keys ('C', 'M', 'Y', 'K', 'A') + */ + public function getNormalizedArray(int $max): array + { + return [ + 'C' => $this->getNormalizedValue($this->cmp_cyan, $max), + 'M' => $this->getNormalizedValue($this->cmp_magenta, $max), + 'Y' => $this->getNormalizedValue($this->cmp_yellow, $max), + 'K' => $this->getNormalizedValue($this->cmp_key, $max), + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get the CSS representation of the color: rgba(R, G, B, A) + * NOTE: Supported since CSS3 and above. + * Use getHexadecimalColor() for CSS1 and CSS2 + */ + public function getCssColor(): string + { + $rgb = $this->toRgbArray(); + return 'rgba(' + . $this->getNormalizedValue($rgb['red'], 100) . '%,' + . $this->getNormalizedValue($rgb['green'], 100) . '%,' + . $this->getNormalizedValue($rgb['blue'], 100) . '%,' + . $rgb['alpha'] + . ')'; + } + + /** + * Get the color format used in Acrobat JavaScript + * NOTE: the alpha channel is omitted from this representation unless is 0 = transparent + */ + public function getJsPdfColor(): string + { + if ($this->cmp_alpha == 0) { + return '["T"]'; // transparent color + } + + return sprintf('["CMYK",%F,%F,%F,%F]', $this->cmp_cyan, $this->cmp_magenta, $this->cmp_yellow, $this->cmp_key); + } + + /** + * Get a space separated string with color component values. + */ + public function getComponentsString(): string + { + return sprintf('%F %F %F %F', $this->cmp_cyan, $this->cmp_magenta, $this->cmp_yellow, $this->cmp_key); + } + + /** + * Get the color components format used in PDF documents (CMYK) + * NOTE: the alpha channel is omitted + * + * @param bool $stroke True for stroking (lines, drawing) and false for non-stroking (text and area filling). + */ + public function getPdfColor($stroke = false): string + { + $mode = 'k'; + if ($stroke) { + $mode = strtoupper($mode); + } + + return $this->getComponentsString() . ' ' . $mode . "\n"; + } + + /** + * Get an array with Gray color components + * + * @return array with keys ('gray') + */ + public function toGrayArray(): array + { + return [ + 'gray' => $this->cmp_key, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with RGB color components + * + * @return array with keys ('red', 'green', 'blue', 'alpha') + */ + public function toRgbArray(): array + { + return [ + 'red' => max(0, min(1, (1 - (($this->cmp_cyan * (1 - $this->cmp_key)) + $this->cmp_key)))), + 'green' => max(0, min(1, (1 - (($this->cmp_magenta * (1 - $this->cmp_key)) + $this->cmp_key)))), + 'blue' => max(0, min(1, (1 - (($this->cmp_yellow * (1 - $this->cmp_key)) + $this->cmp_key)))), + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with HSL color components + * + * @return array with keys ('hue', 'saturation', 'lightness', 'alpha') + */ + public function toHslArray(): array + { + $rgb = new \Com\Tecnick\Color\Model\Rgb($this->toRgbArray()); + return $rgb->toHslArray(); + } + + /** + * Get an array with CMYK color components + * + * @return array with keys ('cyan', 'magenta', 'yellow', 'key', 'alpha') + */ + public function toCmykArray(): array + { + return [ + 'cyan' => $this->cmp_cyan, + 'magenta' => $this->cmp_magenta, + 'yellow' => $this->cmp_yellow, + 'key' => $this->cmp_key, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Invert the color + */ + public function invertColor(): self + { + $this->cmp_cyan = (1 - $this->cmp_cyan); + $this->cmp_magenta = (1 - $this->cmp_magenta); + $this->cmp_yellow = (1 - $this->cmp_yellow); + $this->cmp_key = (1 - $this->cmp_key); + return $this; + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Model/Gray.php b/vendor/tecnickcom/tc-lib-color/src/Model/Gray.php new file mode 100644 index 0000000..ffc1ee2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Model/Gray.php @@ -0,0 +1,196 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color\Model; + +/** + * Com\Tecnick\Color\Model\Gray + * + * Gray Color Model class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Gray extends \Com\Tecnick\Color\Model +{ + /** + * Color Model type + * + * @var string + */ + protected $type = 'GRAY'; + + /** + * Value of the Gray color component [0..1] + * + * @var float + */ + protected $cmp_gray = 0.0; + + /** + * Get an array with all color components + * + * @return array with keys ('G', 'A') + */ + public function getArray(): array + { + return [ + 'G' => $this->cmp_gray, + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with color components values normalized between 0 and $max. + * NOTE: the alpha and other fraction component values are kept in the [0..1] range. + * + * @param int $max Maximum value to return (reference value) + * + * @return array with keys ('G', 'A') + */ + public function getNormalizedArray(int $max): array + { + return [ + 'G' => $this->getNormalizedValue($this->cmp_gray, $max), + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get the CSS representation of the color: rgba(R, G, B, A) + * NOTE: Supported since CSS3 and above. + * Use getHexadecimalColor() for CSS1 and CSS2 + */ + public function getCssColor(): string + { + return 'rgba(' + . $this->getNormalizedValue($this->cmp_gray, 100) . '%,' + . $this->getNormalizedValue($this->cmp_gray, 100) . '%,' + . $this->getNormalizedValue($this->cmp_gray, 100) . '%,' + . $this->cmp_alpha + . ')'; + } + + /** + * Get the color format used in Acrobat JavaScript + * NOTE: the alpha channel is omitted from this representation unless is 0 = transparent + */ + public function getJsPdfColor(): string + { + if ($this->cmp_alpha == 0) { + return '["T"]'; // transparent color + } + + return sprintf('["G",%F]', $this->cmp_gray); + } + + /** + * Get a space separated string with color component values. + */ + public function getComponentsString(): string + { + return sprintf('%F', $this->cmp_gray); + } + + /** + * Get the color components format used in PDF documents (G) + * NOTE: the alpha channel is omitted + * + * @param bool $stroke True for stroking (lines, drawing) and false for non-stroking (text and area filling). + */ + public function getPdfColor(bool $stroke = false): string + { + $mode = 'g'; + if ($stroke) { + $mode = strtoupper($mode); + } + + return $this->getComponentsString() . ' ' . $mode . "\n"; + } + + /** + * Get an array with Gray color components + * + * @return array with keys ('gray') + */ + public function toGrayArray(): array + { + return [ + 'gray' => $this->cmp_gray, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with RGB color components + * + * @return array with keys ('red', 'green', 'blue', 'alpha') + */ + public function toRgbArray(): array + { + return [ + 'red' => $this->cmp_gray, + 'green' => $this->cmp_gray, + 'blue' => $this->cmp_gray, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with HSL color components + * + * @return array with keys ('hue', 'saturation', 'lightness', 'alpha') + */ + public function toHslArray(): array + { + return [ + 'hue' => 0, + 'saturation' => 0, + 'lightness' => $this->cmp_gray, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with CMYK color components + * + * @return array with keys ('cyan', 'magenta', 'yellow', 'key', 'alpha') + */ + public function toCmykArray(): array + { + return [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => $this->cmp_gray, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Invert the color + */ + public function invertColor(): self + { + $this->cmp_gray = (1 - $this->cmp_gray); + return $this; + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Model/Hsl.php b/vendor/tecnickcom/tc-lib-color/src/Model/Hsl.php new file mode 100644 index 0000000..dda2bcb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Model/Hsl.php @@ -0,0 +1,260 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color\Model; + +/** + * Com\Tecnick\Color\Model\Hsl + * + * HSL Color Model class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Hsl extends \Com\Tecnick\Color\Model +{ + /** + * Color Model type + * + * @var string + */ + protected $type = 'HSL'; + + /** + * Value of the Hue color component [0..1] + * + * @var float + */ + protected $cmp_hue = 0.0; + + /** + * Value of the Saturation color component [0..1] + * + * @var float + */ + protected $cmp_saturation = 0.0; + + /** + * Value of the Lightness color component [0..1] + * + * @var float + */ + protected $cmp_lightness = 0.0; + + /** + * Get an array with all color components + * + * @return array with keys ('H', 'S', 'L', 'A') + */ + public function getArray(): array + { + return [ + 'H' => $this->cmp_hue, + 'S' => $this->cmp_saturation, + 'L' => $this->cmp_lightness, + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with color components values normalized between 0 and $max. + * NOTE: the alpha and other fraction component values are kept in the [0..1] range. + * + * @param int $max Maximum value to return (it is always set to 360) + * + * @return array with keys ('H', 'S', 'L', 'A') + */ + public function getNormalizedArray(int $max): array + { + $max = 360; + return [ + 'H' => $this->getNormalizedValue($this->cmp_hue, $max), + 'S' => $this->cmp_saturation, + 'L' => $this->cmp_lightness, + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get the CSS representation of the color: hsla(H, S, L, A) + * NOTE: Supported since CSS3 and above. + * Use getHexadecimalColor() for CSS1 and CSS2 + */ + public function getCssColor(): string + { + return 'hsla(' + . $this->getNormalizedValue($this->cmp_hue, 360) . ',' + . $this->getNormalizedValue($this->cmp_saturation, 100) . '%,' + . $this->getNormalizedValue($this->cmp_lightness, 100) . '%,' + . $this->cmp_alpha + . ')'; + } + + /** + * Get the color format used in Acrobat JavaScript + * NOTE: the alpha channel is omitted from this representation unless is 0 = transparent + */ + public function getJsPdfColor(): string + { + $rgb = $this->toRgbArray(); + if ($this->cmp_alpha == 0) { + return '["T"]'; // transparent color + } + + return sprintf('["RGB",%F,%F,%F]', $rgb['red'], $rgb['green'], $rgb['blue']); + } + + /** + * Get a space separated string with color component values. + */ + public function getComponentsString(): string + { + $rgb = $this->toRgbArray(); + return sprintf('%F %F %F', $rgb['red'], $rgb['green'], $rgb['blue']); + } + + /** + * Get the color components format used in PDF documents (RGB) + * NOTE: the alpha channel is omitted + * + * @param bool $stroke True for stroking (lines, drawing) and false for non-stroking (text and area filling). + */ + public function getPdfColor(bool $stroke = false): string + { + $mode = 'rg'; + if ($stroke) { + $mode = strtoupper($mode); + } + + return $this->getComponentsString() . ' ' . $mode . "\n"; + } + + /** + * Get an array with Gray color components + * + * @return array with keys ('gray') + */ + public function toGrayArray(): array + { + return [ + 'gray' => $this->cmp_lightness, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with RGB color components + * + * @return array with keys ('red', 'green', 'blue', 'alpha') + */ + public function toRgbArray(): array + { + if ($this->cmp_saturation == 0) { + return [ + 'red' => $this->cmp_lightness, + 'green' => $this->cmp_lightness, + 'blue' => $this->cmp_lightness, + 'alpha' => $this->cmp_alpha, + ]; + } + + if ($this->cmp_lightness < 0.5) { + $valb = ($this->cmp_lightness * (1 + $this->cmp_saturation)); + } else { + $valb = (($this->cmp_lightness + $this->cmp_saturation) - ($this->cmp_lightness * $this->cmp_saturation)); + } + + $vala = ((2 * $this->cmp_lightness) - $valb); + return [ + 'red' => $this->convertHuetoRgb($vala, $valb, ($this->cmp_hue + (1 / 3))), + 'green' => $this->convertHuetoRgb($vala, $valb, $this->cmp_hue), + 'blue' => $this->convertHuetoRgb($vala, $valb, ($this->cmp_hue - (1 / 3))), + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Convet Hue to RGB + * + * @param float $vala Temporary value A + * @param float $valb Temporary value B + * @param float $hue Hue value + */ + private function convertHuetoRgb(float $vala, float $valb, float $hue): float + { + if ($hue < 0) { + ++$hue; + } + + if ($hue > 1) { + --$hue; + } + + if ((6 * $hue) < 1) { + return max(0, min(1, ($vala + (($valb - $vala) * 6 * $hue)))); + } + + if ((2 * $hue) < 1) { + return max(0, min(1, $valb)); + } + + if ((3 * $hue) < 2) { + return max(0, min(1, ($vala + (($valb - $vala) * ((2 / 3) - $hue) * 6)))); + } + + return max(0, min(1, $vala)); + } + + /** + * Get an array with HSL color components + * + * @return array with keys ('hue', 'saturation', 'lightness', 'alpha') + */ + public function toHslArray(): array + { + return [ + 'hue' => $this->cmp_hue, + 'saturation' => $this->cmp_saturation, + 'lightness' => $this->cmp_lightness, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with CMYK color components + * + * @return array with keys ('cyan', 'magenta', 'yellow', 'key', 'alpha') + */ + public function toCmykArray(): array + { + $rgb = new \Com\Tecnick\Color\Model\Rgb($this->toRgbArray()); + return $rgb->toCmykArray(); + } + + /** + * Invert the color + */ + public function invertColor(): self + { + $this->cmp_hue = ($this->cmp_hue >= 0.5) ? ($this->cmp_hue - 0.5) : ($this->cmp_hue + 0.5); + return $this; + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Model/Rgb.php b/vendor/tecnickcom/tc-lib-color/src/Model/Rgb.php new file mode 100644 index 0000000..eb35196 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Model/Rgb.php @@ -0,0 +1,275 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color\Model; + +/** + * Com\Tecnick\Color\Model\Rgb + * + * RGB Color Model class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Rgb extends \Com\Tecnick\Color\Model +{ + /** + * Color Model type + * + * @var string + */ + protected $type = 'RGB'; + + /** + * Value of the Red color component [0..1] + * + * @var float + */ + protected $cmp_red = 0.0; + + /** + * Value of the Green color component [0..1] + * + * @var float + */ + protected $cmp_green = 0.0; + + /** + * Value of the Blue color component [0..1] + * + * @var float + */ + protected $cmp_blue = 0.0; + + /** + * Get an array with all color components + * + * @return array with keys ('R', 'G', 'B', 'A') + */ + public function getArray(): array + { + return [ + 'R' => $this->cmp_red, + 'G' => $this->cmp_green, + 'B' => $this->cmp_blue, + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with color components values normalized between 0 and $max. + * NOTE: the alpha and other fraction component values are kept in the [0..1] range. + * + * @param int $max Maximum value to return (reference value) + * + * @return array with keys ('R', 'G', 'B', 'A') + */ + public function getNormalizedArray(int $max): array + { + return [ + 'R' => $this->getNormalizedValue($this->cmp_red, $max), + 'G' => $this->getNormalizedValue($this->cmp_green, $max), + 'B' => $this->getNormalizedValue($this->cmp_blue, $max), + 'A' => $this->cmp_alpha, + ]; + } + + /** + * Get the CSS representation of the color: rgba(R, G, B, A) + * NOTE: Supported since CSS3 and above. + * Use getHexadecimalColor() for CSS1 and CSS2 + */ + public function getCssColor(): string + { + return 'rgba(' + . $this->getNormalizedValue($this->cmp_red, 100) . '%,' + . $this->getNormalizedValue($this->cmp_green, 100) . '%,' + . $this->getNormalizedValue($this->cmp_blue, 100) . '%,' + . $this->cmp_alpha + . ')'; + } + + /** + * Get the color format used in Acrobat JavaScript + * NOTE: the alpha channel is omitted from this representation unless is 0 = transparent + */ + public function getJsPdfColor(): string + { + if ($this->cmp_alpha == 0) { + return '["T"]'; // transparent color + } + + return sprintf('["RGB",%F,%F,%F]', $this->cmp_red, $this->cmp_green, $this->cmp_blue); + } + + /** + * Get a space separated string with color component values. + */ + public function getComponentsString(): string + { + return sprintf('%F %F %F', $this->cmp_red, $this->cmp_green, $this->cmp_blue); + } + + /** + * Get the color components format used in PDF documents (RGB) + * NOTE: the alpha channel is omitted + * + * @param bool $stroke True for stroking (lines, drawing) and false for non-stroking (text and area filling). + */ + public function getPdfColor(bool $stroke = false): string + { + $mode = 'rg'; + if ($stroke) { + $mode = strtoupper($mode); + } + + return $this->getComponentsString() . ' ' . $mode . "\n"; + } + + /** + * Get an array with Gray color components + * + * @return array with keys ('gray') + */ + public function toGrayArray(): array + { + // convert using the SMPTE 295M-1997 standard conversion constants + return [ + 'gray' => (max( + 0, + min( + 1, + ((0.2126 * $this->cmp_red) + (0.7152 * $this->cmp_green) + (0.0722 * $this->cmp_blue)) + ) + )), + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with RGB color components + * + * @return array with keys ('red', 'green', 'blue', 'alpha') + */ + public function toRgbArray(): array + { + return [ + 'red' => $this->cmp_red, + 'green' => $this->cmp_green, + 'blue' => $this->cmp_blue, + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with HSL color components + * + * @return array with keys ('hue', 'saturation', 'lightness', 'alpha') + */ + public function toHslArray(): array + { + $min = min($this->cmp_red, $this->cmp_green, $this->cmp_blue); + $max = max($this->cmp_red, $this->cmp_green, $this->cmp_blue); + $lightness = (($min + $max) / 2); + $saturation = 0; + $hue = 0; + if ($min != $max) { + $diff = ($max - $min); + $saturation = $lightness < 0.5 ? $diff / ($max + $min) : $diff / (2.0 - $max - $min); + + switch ($max) { + case $this->cmp_red: + $dgb = ($this->cmp_green - $this->cmp_blue); + $hue = ($dgb / $diff) + (($dgb < 0) ? 6 : 0); + break; + case $this->cmp_green: + $hue = (2.0 + (($this->cmp_blue - $this->cmp_red) / $diff)); + break; + case $this->cmp_blue: + $hue = (4.0 + (($this->cmp_red - $this->cmp_green) / $diff)); + break; + } + + $hue /= 6; // 6 = 360 / 60 + } + + return [ + 'hue' => max(0, min(1, $hue)), + 'saturation' => max(0, min(1, $saturation)), + 'lightness' => max(0, min(1, $lightness)), + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Get an array with CMYK color components + * + * @return array with keys ('cyan', 'magenta', 'yellow', 'key', 'alpha') + */ + public function toCmykArray(): array + { + $cyan = (1 - $this->cmp_red); + $magenta = (1 - $this->cmp_green); + $yellow = (1 - $this->cmp_blue); + $key = 1; + if ($cyan < $key) { + $key = $cyan; + } + + if ($magenta < $key) { + $key = $magenta; + } + + if ($yellow < $key) { + $key = $yellow; + } + + if ($key == 1) { + // black + $cyan = 0; + $magenta = 0; + $yellow = 0; + } else { + $cyan = (($cyan - $key) / (1 - $key)); + $magenta = (($magenta - $key) / (1 - $key)); + $yellow = (($yellow - $key) / (1 - $key)); + } + + return [ + 'cyan' => max(0, min(1, $cyan)), + 'magenta' => max(0, min(1, $magenta)), + 'yellow' => max(0, min(1, $yellow)), + 'key' => max(0, min(1, $key)), + 'alpha' => $this->cmp_alpha, + ]; + } + + /** + * Invert the color + */ + public function invertColor(): self + { + $this->cmp_red = (1 - $this->cmp_red); + $this->cmp_green = (1 - $this->cmp_green); + $this->cmp_blue = (1 - $this->cmp_blue); + return $this; + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Model/Template.php b/vendor/tecnickcom/tc-lib-color/src/Model/Template.php new file mode 100644 index 0000000..7ef92f3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Model/Template.php @@ -0,0 +1,107 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color\Model; + +/** + * Com\Tecnick\Color\Model\Template + * + * Color Model Interface + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +interface Template +{ + /** + * Get an array with all color components + * + * @return array + */ + public function getArray(); + + /** + * Get an array with color components values normalized between 0 and $max. + * NOTE: the alpha and other fraction component values are kept in the [0..1] range. + * + * @param int $max Maximum value to return (reference value) + * + * @return array + */ + public function getNormalizedArray(int $max): array; + + /** + * Get the CSS representation of the color + */ + public function getCssColor(): string; + + /** + * Get the color format used in Acrobat JavaScript + * NOTE: the alpha channel is omitted from this representation unless is 0 = transparent + */ + public function getJsPdfColor(): string; + + /** + * Get a space separated string with color component values. + */ + public function getComponentsString(): string; + + /** + * Get the color components format used in PDF documents (RGB) + * NOTE: the alpha channel is omitted + * + * @param bool $stroke True for stroking (lines, drawing) and false for non-stroking (text and area filling). + */ + public function getPdfColor(bool $stroke = false): string; + + /** + * Get an array with Gray color components + * + * @return array with keys ('gray') + */ + public function toGrayArray(): array; + + /** + * Get an array with RGB color components + * + * @return array with keys ('red', 'green', 'blue', 'alpha') + */ + public function toRgbArray(): array; + + /** + * Get an array with HSL color components + * + * @return array with keys ('hue', 'saturation', 'lightness', 'alpha') + */ + public function toHslArray(): array; + + /** + * Get an array with CMYK color components + * + * @return array with keys ('cyan', 'magenta', 'yellow', 'key', 'alpha') + */ + public function toCmykArray(): array; + + /** + * Invert the color + */ + public function invertColor(): self; +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Pdf.php b/vendor/tecnickcom/tc-lib-color/src/Pdf.php new file mode 100644 index 0000000..6a9305c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Pdf.php @@ -0,0 +1,148 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color; + +use Com\Tecnick\Color\Exception as ColorException; + +/** + * Com\Tecnick\Color\Pdf + * + * PDF Color class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Pdf extends \Com\Tecnick\Color\Spot +{ + /** + * Array of valid JavaScript color names to be used in PDF documents + */ + public const JSCOLOR = [ + 'transparent', + 'black', + 'white', + 'red', + 'green', + 'blue', + 'cyan', + 'magenta', + 'yellow', + 'dkGray', + 'gray', + 'ltGray', + ]; + + /** + * Convert color to javascript string + * + * @param string $color color name or color object + */ + public function getJsColorString(string $color): string + { + if (in_array($color, self::JSCOLOR)) { + return 'color.' . $color; + } + + try { + if (($colobj = $this->getColorObj($color)) instanceof \Com\Tecnick\Color\Model) { + return $colobj->getJsPdfColor(); + } + } catch (ColorException $colorException) { + // assert(true); // noop + } + + // default transparent color + return 'color.' . self::JSCOLOR[0]; + } + + /** + * Returns a color object from an HTML, CSS or Spot color representation. + * + * @param string $color HTML, CSS or Spot color to parse + */ + public function getColorObject(string $color): ?\Com\Tecnick\Color\Model + { + try { + return $this->getSpotColorObj($color); + } catch (ColorException $colorException) { + // assert(true); // noop + } + + try { + return $this->getColorObj($color); + } catch (ColorException $colorException) { + // assert(true); // noop + } + + return null; + } + + /** + * Get the color components format used in PDF documents + * NOTE: the alpha channel is omitted + * + * @param string $color HTML, CSS or Spot color to parse + * @param bool $stroke True for stroking (lines, drawing) and false for non-stroking (text and area filling). + * @param float $tint Intensity of the color (from 0 to 1; 1 = full intensity). + */ + public function getPdfColor(string $color, bool $stroke = false, float $tint = 1): string + { + try { + $col = $this->getSpotColor($color); + $tint = sprintf('cs %F scn', (max(0, min(1, $tint)))); + if ($stroke) { + $tint = strtoupper($tint); + } + + return sprintf('/CS%d %s' . "\n", $col['i'], $tint); + } catch (ColorException $colorException) { + // assert(true); // noop + } + + try { + $col = $this->getColorObj($color); + if ($col instanceof \Com\Tecnick\Color\Model) { + return $col->getPdfColor($stroke); + } + } catch (ColorException $colorException) { + // assert(true); // noop + } + + return ''; + } + + /** + * Get the RGB color components format used in PDF documents + * + * @param string $color HTML, CSS or Spot color to parse + */ + public function getPdfRgbComponents(string $color): string + { + $model = $this->getColorObject($color); + if (! $model instanceof \Com\Tecnick\Color\Model) { + return ''; + } + + $cmp = $model->toRgbArray(); + return sprintf('%F %F %F', $cmp['red'], $cmp['green'], $cmp['blue']); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Spot.php b/vendor/tecnickcom/tc-lib-color/src/Spot.php new file mode 100644 index 0000000..c65bd46 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Spot.php @@ -0,0 +1,343 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color; + +use Com\Tecnick\Color\Exception as ColorException; +use Com\Tecnick\Color\Model\Cmyk; + +/** + * Com\Tecnick\Color\Spot + * + * Spot Color class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * @phpstan-type TSpotColor array{ + * 'i': int, + * 'n': int, + * 'name': string, + * 'color': Cmyk, + * } + */ +class Spot extends \Com\Tecnick\Color\Web +{ + /** + * Array of default Spot colors + * Color keys must be in lowercase and without spaces. + * + * @var array + */ + public const DEFAULT_SPOT_COLORS = [ + 'none' => [ + 'name' => 'None', + 'color' => [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'all' => [ + 'name' => 'All', + 'color' => [ + 'cyan' => 1, + 'magenta' => 1, + 'yellow' => 1, + 'key' => 1, + 'alpha' => 1, + ], + ], + 'cyan' => [ + 'name' => 'Cyan', + 'color' => [ + 'cyan' => 1, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'magenta' => [ + 'name' => 'Magenta', + 'color' => [ + 'cyan' => 0, + 'magenta' => 1, + 'yellow' => 0, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'yellow' => [ + 'name' => 'Yellow', + 'color' => [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 1, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'key' => [ + 'name' => 'Key', + 'color' => [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 1, + 'alpha' => 1, + ], + ], + 'white' => [ + 'name' => 'White', + 'color' => [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'black' => [ + 'name' => 'Black', + 'color' => [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 1, + 'alpha' => 1, + ], + ], + 'red' => [ + 'name' => 'Red', + 'color' => [ + 'cyan' => 0, + 'magenta' => 1, + 'yellow' => 1, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'green' => [ + 'name' => 'Green', + 'color' => [ + 'cyan' => 1, + 'magenta' => 0, + 'yellow' => 1, + 'key' => 0, + 'alpha' => 1, + ], + ], + 'blue' => [ + 'name' => 'Blue', + 'color' => [ + 'cyan' => 1, + 'magenta' => 1, + 'yellow' => 0, + 'key' => 0, + 'alpha' => 1, + ], + ], + ]; + + /** + * Array of Spot colors + * + * @var array + */ + protected $spot_colors = []; + + /** + * Returns the array of spot colors. + * + * @return array + */ + public function getSpotColors(): array + { + return $this->spot_colors; + } + + /** + * Return the normalized version of the spot color name + * + * @param string $name Full name of the spot color. + */ + public function normalizeSpotColorName(string $name): string + { + $ret = preg_replace('/[^a-z0-9]*+/', '', strtolower($name)); + return $ret ?? ''; + } + + /** + * Return the requested spot color data array + * + * @param string $name Full name of the spot color. + * + * @return TSpotColor + * + * @throws ColorException if the color is not found + */ + public function getSpotColor(string $name): array + { + $key = $this->normalizeSpotColorName($name); + if (empty($this->spot_colors[$key])) { + // search on default spot colors + if (empty(self::DEFAULT_SPOT_COLORS[$key])) { + throw new ColorException('unable to find the spot color: ' . $key); + } + + $this->addSpotColor($key, new Cmyk(self::DEFAULT_SPOT_COLORS[$key]['color'])); + } + + return $this->spot_colors[$key]; + } + + /** + * Return the requested spot color CMYK object + * + * @param string $name Full name of the spot color. + * + * @throws ColorException if the color is not found + */ + public function getSpotColorObj(string $name): Cmyk + { + $spot = $this->getSpotColor($name); + return $spot['color']; + } + + /** + * Add a new spot color or overwrite an existing one with the same name. + * + * @param string $name Full name of the spot color. + * @param Cmyk $cmyk CMYK color object + * + * @return string Spot color key. + */ + public function addSpotColor(string $name, Cmyk $cmyk): string + { + $key = $this->normalizeSpotColorName($name); + $num = isset($this->spot_colors[$key]) ? $this->spot_colors[$key]['i'] : (count($this->spot_colors) + 1); + + $this->spot_colors[$key] = [ + 'i' => $num, // color index + 'n' => 0, // PDF object number + 'name' => $name, // color name (key) + 'color' => $cmyk, // CMYK color object + ]; + + return $key; + } + + /** + * Returns the PDF command to output Spot color objects. + * + * @param int $pon Current PDF object number + * + * @return string PDF command + */ + public function getPdfSpotObjects(int &$pon): string + { + $out = ''; + foreach ($this->spot_colors as $name => $color) { + $out .= (++$pon) . ' 0 obj' . "\n"; + $this->spot_colors[$name]['n'] = $pon; + $out .= '[/Separation /' . str_replace(' ', '#20', $name) + . ' /DeviceCMYK <<' + . '/Range [0 1 0 1 0 1 0 1]' + . ' /C0 [0 0 0 0]' + . ' /C1 [' . $color['color']->getComponentsString() . ']' + . ' /FunctionType 2' + . ' /Domain [0 1]' + . ' /N 1' + . '>>]' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Returns the PDF command to output the provided Spot color resources. + * + * @param array $data Spot color array. + * + * @return string PDF command + */ + private function getOutPdfSpotResources(array $data): string + { + if (empty($data)) { + return ''; + } + + $out = '/ColorSpace <<'; + + foreach ($data as $spot_color) { + $out .= ' /CS' . $spot_color['i'] . ' ' . $spot_color['n'] . ' 0 R'; + } + + return $out . ' >>' . "\n"; + } + + /** + * Returns the PDF command to output Spot color resources. + * + * @return string PDF command + */ + public function getPdfSpotResources(): string + { + return $this->getOutPdfSpotResources($this->spot_colors); + } + + /** + * Returns the PDF command to output Spot color resources. + * + * @param array $keys Array of font keys. + * + * @return string PDF command + */ + public function getPdfSpotResourcesByKeys(array $keys): string + { + if (empty($keys)) { + return ''; + } + + $data = []; + foreach ($keys as $key) { + $data[$key] = [ + 'i' => $this->spot_colors[$key]['i'], + 'n' => $this->spot_colors[$key]['n'], + ]; + } + + return $this->getOutPdfSpotResources($data); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/src/Web.php b/vendor/tecnickcom/tc-lib-color/src/Web.php new file mode 100644 index 0000000..b2f37a5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/src/Web.php @@ -0,0 +1,392 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Com\Tecnick\Color; + +use Com\Tecnick\Color\Exception as ColorException; + +/** + * Com\Tecnick\Color\Web + * + * Web Color class + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class Web extends \Com\Tecnick\Color\Css +{ + /** + * Maps WEB safe color names with theur hexadecimal representation (#RRGGBBAA). + */ + public const WEBHEX = [ + 'aliceblue' => 'f0f8ffff', + 'antiquewhite' => 'faebd7ff', + 'aqua' => '00ffffff', + 'aquamarine' => '7fffd4ff', + 'azure' => 'f0ffffff', + 'beige' => 'f5f5dcff', + 'bisque' => 'ffe4c4ff', + 'black' => '000000ff', + 'blanchedalmond' => 'ffebcdff', + 'blue' => '0000ffff', + 'blueviolet' => '8a2be2ff', + 'brown' => 'a52a2aff', + 'burlywood' => 'deb887ff', + 'cadetblue' => '5f9ea0ff', + 'chartreuse' => '7fff00ff', + 'chocolate' => 'd2691eff', + 'coral' => 'ff7f50ff', + 'cornflowerblue' => '6495edff', + 'cornsilk' => 'fff8dcff', + 'crimson' => 'dc143cff', + 'cyan' => '00ffffff', + 'darkblue' => '00008bff', + 'darkcyan' => '008b8bff', + 'darkgoldenrod' => 'b8860bff', + 'dkgray' => 'a9a9a9ff', + 'darkgray' => 'a9a9a9ff', + 'darkgrey' => 'a9a9a9ff', + 'darkgreen' => '006400ff', + 'darkkhaki' => 'bdb76bff', + 'darkmagenta' => '8b008bff', + 'darkolivegreen' => '556b2fff', + 'darkorange' => 'ff8c00ff', + 'darkorchid' => '9932ccff', + 'darkred' => '8b0000ff', + 'darksalmon' => 'e9967aff', + 'darkseagreen' => '8fbc8fff', + 'darkslateblue' => '483d8bff', + 'darkslategray' => '2f4f4fff', + 'darkslategrey' => '2f4f4fff', + 'darkturquoise' => '00ced1ff', + 'darkviolet' => '9400d3ff', + 'deeppink' => 'ff1493ff', + 'deepskyblue' => '00bfffff', + 'dimgray' => '696969ff', + 'dimgrey' => '696969ff', + 'dodgerblue' => '1e90ffff', + 'firebrick' => 'b22222ff', + 'floralwhite' => 'fffaf0ff', + 'forestgreen' => '228b22ff', + 'fuchsia' => 'ff00ffff', + 'gainsboro' => 'dcdcdcff', + 'ghostwhite' => 'f8f8ffff', + 'gold' => 'ffd700ff', + 'goldenrod' => 'daa520ff', + 'gray' => '808080ff', + 'grey' => '808080ff', + 'green' => '008000ff', + 'greenyellow' => 'adff2fff', + 'honeydew' => 'f0fff0ff', + 'hotpink' => 'ff69b4ff', + 'indianred' => 'cd5c5cff', + 'indigo' => '4b0082ff', + 'ivory' => 'fffff0ff', + 'khaki' => 'f0e68cff', + 'lavender' => 'e6e6faff', + 'lavenderblush' => 'fff0f5ff', + 'lawngreen' => '7cfc00ff', + 'lemonchiffon' => 'fffacdff', + 'lightblue' => 'add8e6ff', + 'lightcoral' => 'f08080ff', + 'lightcyan' => 'e0ffffff', + 'lightgoldenrodyellow' => 'fafad2ff', + 'ltgray' => 'd3d3d3ff', + 'lightgray' => 'd3d3d3ff', + 'lightgrey' => 'd3d3d3ff', + 'lightgreen' => '90ee90ff', + 'lightpink' => 'ffb6c1ff', + 'lightsalmon' => 'ffa07aff', + 'lightseagreen' => '20b2aaff', + 'lightskyblue' => '87cefaff', + 'lightslategray' => '778899ff', + 'lightslategrey' => '778899ff', + 'lightsteelblue' => 'b0c4deff', + 'lightyellow' => 'ffffe0ff', + 'lime' => '00ff00ff', + 'limegreen' => '32cd32ff', + 'linen' => 'faf0e6ff', + 'magenta' => 'ff00ffff', + 'maroon' => '800000ff', + 'mediumaquamarine' => '66cdaaff', + 'mediumblue' => '0000cdff', + 'mediumorchid' => 'ba55d3ff', + 'mediumpurple' => '9370d8ff', + 'mediumseagreen' => '3cb371ff', + 'mediumslateblue' => '7b68eeff', + 'mediumspringgreen' => '00fa9aff', + 'mediumturquoise' => '48d1ccff', + 'mediumvioletred' => 'c71585ff', + 'midnightblue' => '191970ff', + 'mintcream' => 'f5fffaff', + 'mistyrose' => 'ffe4e1ff', + 'moccasin' => 'ffe4b5ff', + 'navajowhite' => 'ffdeadff', + 'navy' => '000080ff', + 'oldlace' => 'fdf5e6ff', + 'olive' => '808000ff', + 'olivedrab' => '6b8e23ff', + 'orange' => 'ffa500ff', + 'orangered' => 'ff4500ff', + 'orchid' => 'da70d6ff', + 'palegoldenrod' => 'eee8aaff', + 'palegreen' => '98fb98ff', + 'paleturquoise' => 'afeeeeff', + 'palevioletred' => 'd87093ff', + 'papayawhip' => 'ffefd5ff', + 'peachpuff' => 'ffdab9ff', + 'peru' => 'cd853fff', + 'pink' => 'ffc0cbff', + 'plum' => 'dda0ddff', + 'powderblue' => 'b0e0e6ff', + 'purple' => '800080ff', + 'red' => 'ff0000ff', + 'rosybrown' => 'bc8f8fff', + 'royalblue' => '4169e1ff', + 'saddlebrown' => '8b4513ff', + 'salmon' => 'fa8072ff', + 'sandybrown' => 'f4a460ff', + 'seagreen' => '2e8b57ff', + 'seashell' => 'fff5eeff', + 'sienna' => 'a0522dff', + 'silver' => 'c0c0c0ff', + 'skyblue' => '87ceebff', + 'slateblue' => '6a5acdff', + 'slategray' => '708090ff', + 'slategrey' => '708090ff', + 'snow' => 'fffafaff', + 'springgreen' => '00ff7fff', + 'steelblue' => '4682b4ff', + 'tan' => 'd2b48cff', + 'teal' => '008080ff', + 'thistle' => 'd8bfd8ff', + 'tomato' => 'ff6347ff', + 'turquoise' => '40e0d0ff', + 'violet' => 'ee82eeff', + 'wheat' => 'f5deb3ff', + 'white' => 'ffffffff', + 'whitesmoke' => 'f5f5f5ff', + 'yellow' => 'ffff00ff', + 'yellowgreen' => '9acd32ff', + ]; + + /** + * Get the color hexadecimal hash code from name + * + * @param string $name Name of the color to search (e.g.: 'turquoise') + * + * @return string color hexadecimal code (e.g.: '40e0d0ff') + * + * @throws ColorException if the color is not found + */ + public function getHexFromName(string $name): string + { + $name = strtolower($name); + if (($dotpos = strpos($name, '.')) !== false) { + // remove parent name (i.e.: color.green) + $name = substr($name, ($dotpos + 1)); + } + + if (empty(self::WEBHEX[$name])) { + throw new ColorException('unable to find the color hex for the name: ' . $name); + } + + return self::WEBHEX[$name]; + } + + /** + * Get the color name code from hexadecimal hash + * + * @param string $hex hexadecimal color hash (i.e. #RRGGBBAA) + * + * @return string color name + * + * @throws ColorException if the color is not found + */ + public function getNameFromHex(string $hex): string + { + $name = array_search($this->extractHexCode($hex), self::WEBHEX, true); + if ($name === false) { + throw new ColorException('unable to find the color name for the hex code: ' . $hex); + } + + return $name; + } + + /** + * Extract the hexadecimal code from the input string and add the alpha channel if missing + * + * @param string $hex string containing the hexadecimal color hash (i.e. #RGB, #RGBA, #RRGGBB, #RRGGBBAA) + * + * @return string the hash code (e.g.: '40e0d0') + * + * @throws ColorException if the hash is not found or has an invalid format + */ + public function extractHexCode(string $hex): string + { + if (preg_match('/^[#]?([0-9a-f]{3,8})$/', strtolower($hex), $match) !== 1) { + throw new ColorException('unable to extract the color hash: ' . $hex); + } + + $hex = $match[1]; + switch (strlen($hex)) { + case 3: + return $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2] . 'ff'; + case 4: + return $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2] . $hex[3] . $hex[3]; + case 6: + return $hex . 'ff'; + } + + return $hex; + } + + /** + * Get the RGB color object from hexadecimal hash + * + * @param string $hex hexadecimal color hash (i.e. #RGB, #RGBA, #RRGGBB, #RRGGBBAA) + * + * @throws ColorException if the color is not found + */ + public function getRgbObjFromHex(string $hex): \Com\Tecnick\Color\Model\Rgb + { + return new \Com\Tecnick\Color\Model\Rgb( + $this->getHexArray( + $this->extractHexCode($hex) + ) + ); + } + + /** + * Get the RGB color object from color name + * + * @param string $name Color name + * + * @return \Com\Tecnick\Color\Model\Rgb object + * + * @throws ColorException if the color is not found + */ + public function getRgbObjFromName(string $name): \Com\Tecnick\Color\Model\Rgb + { + return new \Com\Tecnick\Color\Model\Rgb( + $this->getHexArray( + $this->getHexFromName($name) + ) + ); + } + + /** + * Get the RGB array from hexadecimal hash + * + * @param string $hex hexadecimal color hash (i.e. RRGGBBAA) + * + * @return array with keys ('red', 'green', 'blue', 'alpha') + */ + private function getHexArray(string $hex): array + { + return [ + 'red' => (hexdec(substr($hex, 0, 2)) / 255), + 'green' => (hexdec(substr($hex, 2, 2)) / 255), + 'blue' => (hexdec(substr($hex, 4, 2)) / 255), + 'alpha' => (hexdec(substr($hex, 6, 2)) / 255), + ]; + } + + /** + * Get the normalized integer value from [0..$max] to [0..1] + * + * @param int|float|string $value Value to convert + * @param int $max Max input value + * + * @return float value [0..1] + */ + public function normalizeValue(mixed $value, int $max): float + { + if (is_string($value) && (strpos($value, '%') !== false)) { + return max(0, min(1, ((float) $value / 100))); + } + + return max(0, min(1, ((float) $value / $max))); + } + + /** + * Parse the input color string and return the correspondent color Object + * + * @param string $color String containing web color definition + * + * @throws ColorException in case of error + */ + public function getColorObj(string $color): ?\Com\Tecnick\Color\Model + { + $color = preg_replace('/[\s]*+/', '', strtolower($color)); + if (empty($color) || (strpos($color, 'transparent') !== false)) { + return null; + } + + if ($color[0] === '#') { + return $this->getRgbObjFromHex($color); + } + + if ($color[0] === '[') { + return $this->getColorObjFromJs($color); + } + + $rex = '/^(t|g|rgba|rgb|hsla|hsl|cmyka|cmyk)[\(]/'; + if (preg_match($rex, $color, $col) === 1) { + return $this->getColorObjFromCss($col[1], $color); + } + + return $this->getRgbObjFromName($color); + } + + /** + * Get the square of the distance between 2 RGB points + * + * @param array $cola First color as RGB array + * @param array $colb Second color as RGB array + */ + public function getRgbSquareDistance(array $cola, array $colb): float + { + return ($cola['red'] - $colb['red']) ** 2 + + ($cola['green'] - $colb['green']) ** 2 + + ($cola['blue'] - $colb['blue']) ** 2; + } + + /** + * Get the name of the closest web color + * + * @param array $col Color as RGB array (keys: 'red', 'green', 'blue') + */ + public function getClosestWebColor(array $col): string + { + $color = ''; + $mindist = 3; // = 1^2 + 1^2 + 1^2 + foreach (self::WEBHEX as $name => $hex) { + $dist = $this->getRgbSquareDistance($col, $this->getHexArray($hex)); + if ($dist <= $mindist) { + $mindist = $dist; + $color = $name; + } + } + + return $color; + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/Model/CmykTest.php b/vendor/tecnickcom/tc-lib-color/test/Model/CmykTest.php new file mode 100644 index 0000000..b7e61b2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/Model/CmykTest.php @@ -0,0 +1,236 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test\Model; + +use Test\TestUtil; + +/** + * Cmyk Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class CmykTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Model\Cmyk + { + return new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0.85, + ] + ); + } + + public function testGetType(): void + { + $cmyk = $this->getTestObject(); + $type = $cmyk->getType(); + $this->assertEquals('CMYK', $type); + } + + public function testGetNormalizedValue(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->getNormalizedValue(0.5, 255); + $this->assertEquals(128, $res); + } + + public function testGetHexValue(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->getHexValue(0.5, 255); + $this->assertEquals('80', $res); + } + + public function testGetRgbaHexColor(): void + { + $cmyk = $this->getTestObject(); + $rgbaHexColor = $cmyk->getRgbaHexColor(); + $this->assertEquals('#4080bfd9', $rgbaHexColor); + } + + public function testGetRgbHexColor(): void + { + $cmyk = $this->getTestObject(); + $rgbHexColor = $cmyk->getRgbHexColor(); + $this->assertEquals('#4080bf', $rgbHexColor); + } + + public function testGetArray(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->getArray(); + $this->assertEquals( + [ + 'C' => 0.666, + 'M' => 0.333, + 'Y' => 0, + 'K' => 0.25, + 'A' => 0.85, + ], + $res + ); + } + + public function testGetNormalizedArray(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->getNormalizedArray(100); + $this->assertEquals( + [ + 'C' => 67, + 'M' => 33, + 'Y' => 0, + 'K' => 25, + 'A' => 0.85, + ], + $res + ); + } + + public function testGetCssColor(): void + { + $cmyk = $this->getTestObject(); + $cssColor = $cmyk->getCssColor(); + $this->assertEquals('rgba(25%,50%,75%,0.85)', $cssColor); + } + + public function testGetJsPdfColor(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->getJsPdfColor(); + $this->assertEquals('["CMYK",0.666000,0.333000,0.000000,0.250000]', $res); + + $cmyk = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0, + ] + ); + $res = $cmyk->getJsPdfColor(); + $this->assertEquals('["T"]', $res); + } + + public function testGetComponentsString(): void + { + $cmyk = $this->getTestObject(); + $componentsString = $cmyk->getComponentsString(); + $this->assertEquals('0.666000 0.333000 0.000000 0.250000', $componentsString); + } + + public function testGetPdfColor(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->getPdfColor(); + $this->assertEquals('0.666000 0.333000 0.000000 0.250000 k' . "\n", $res); + + $res = $cmyk->getPdfColor(false); + $this->assertEquals('0.666000 0.333000 0.000000 0.250000 k' . "\n", $res); + + $res = $cmyk->getPdfColor(true); + $this->assertEquals('0.666000 0.333000 0.000000 0.250000 K' . "\n", $res); + } + + public function testToGrayArray(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->toGrayArray(); + $this->bcAssertEqualsWithDelta( + [ + 'gray' => 0.25, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToRgbArray(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.25, + 'green' => 0.50, + 'blue' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToHslArray(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.583, + 'saturation' => 0.5, + 'lightness' => 0.5, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToCmykArray(): void + { + $cmyk = $this->getTestObject(); + $res = $cmyk->toCmykArray(); + $this->bcAssertEqualsWithDelta( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testInvertColor(): void + { + $cmyk = $this->getTestObject(); + $cmyk->invertColor(); + + $res = $cmyk->toCmykArray(); + $this->bcAssertEqualsWithDelta( + [ + 'cyan' => 0.333, + 'magenta' => 0.666, + 'yellow' => 1, + 'key' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/Model/GrayTest.php b/vendor/tecnickcom/tc-lib-color/test/Model/GrayTest.php new file mode 100644 index 0000000..a9f679c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/Model/GrayTest.php @@ -0,0 +1,215 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test\Model; + +use Test\TestUtil; + +/** + * Gray Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class GrayTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Model\Gray + { + return new \Com\Tecnick\Color\Model\Gray( + [ + 'gray' => 0.75, + 'alpha' => 0.85, + ] + ); + } + + public function testGetType(): void + { + $gray = $this->getTestObject(); + $type = $gray->getType(); + $this->assertEquals('GRAY', $type); + } + + public function testGetNormalizedValue(): void + { + $gray = $this->getTestObject(); + $res = $gray->getNormalizedValue(0.5, 255); + $this->assertEquals(128, $res); + } + + public function testGetHexValue(): void + { + $gray = $this->getTestObject(); + $res = $gray->getHexValue(0.5, 255); + $this->assertEquals('80', $res); + } + + public function testGetRgbaHexColor(): void + { + $gray = $this->getTestObject(); + $rgbaHexColor = $gray->getRgbaHexColor(); + $this->assertEquals('#bfbfbfd9', $rgbaHexColor); + } + + public function testGetRgbHexColor(): void + { + $gray = $this->getTestObject(); + $rgbHexColor = $gray->getRgbHexColor(); + $this->assertEquals('#bfbfbf', $rgbHexColor); + } + + public function testGetArray(): void + { + $gray = $this->getTestObject(); + $res = $gray->getArray(); + $this->assertEquals([ + 'G' => 0.75, + 'A' => 0.85, + ], $res); + } + + public function testGetNormalizedArray(): void + { + $gray = $this->getTestObject(); + $res = $gray->getNormalizedArray(255); + $this->assertEquals([ + 'G' => 191, + 'A' => 0.85, + ], $res); + } + + public function testGetCssColor(): void + { + $gray = $this->getTestObject(); + $cssColor = $gray->getCssColor(); + $this->assertEquals('rgba(75%,75%,75%,0.85)', $cssColor); + } + + public function testGetJsPdfColor(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->getJsPdfColor(); + $this->assertEquals('["G",0.750000]', $res); + + $gray = new \Com\Tecnick\Color\Model\Gray( + [ + 'gray' => 0.5, + 'alpha' => 0, + ] + ); + $res = $gray->getJsPdfColor(); + $this->assertEquals('["T"]', $res); + } + + public function testGetComponentsString(): void + { + $gray = $this->getTestObject(); + $componentsString = $gray->getComponentsString(); + $this->assertEquals('0.750000', $componentsString); + } + + public function testGetPdfColor(): void + { + $gray = $this->getTestObject(); + $res = $gray->getPdfColor(); + $this->assertEquals('0.750000 g' . "\n", $res); + + $res = $gray->getPdfColor(false); + $this->assertEquals('0.750000 g' . "\n", $res); + + $res = $gray->getPdfColor(true); + $this->assertEquals('0.750000 G' . "\n", $res); + } + + public function testToGrayArray(): void + { + $gray = $this->getTestObject(); + $res = $gray->toGrayArray(); + $this->assertEquals( + [ + 'gray' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToRgbArray(): void + { + $gray = $this->getTestObject(); + $res = $gray->toRgbArray(); + $this->assertEquals( + [ + 'red' => 0.75, + 'green' => 0.75, + 'blue' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToHslArray(): void + { + $gray = $this->getTestObject(); + $res = $gray->toHslArray(); + $this->assertEquals( + [ + 'hue' => 0, + 'saturation' => 0, + 'lightness' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToCmykArray(): void + { + $gray = $this->getTestObject(); + $res = $gray->toCmykArray(); + $this->assertEquals( + [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testInvertColor(): void + { + $gray = $this->getTestObject(); + $gray->invertColor(); + + $res = $gray->toGrayArray(); + $this->assertEquals( + [ + 'gray' => 0.25, + 'alpha' => 0.85, + ], + $res + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/Model/HslTest.php b/vendor/tecnickcom/tc-lib-color/test/Model/HslTest.php new file mode 100644 index 0000000..f5cb12f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/Model/HslTest.php @@ -0,0 +1,309 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test\Model; + +use Test\TestUtil; + +/** + * Hsl Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class HslTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Model\Hsl + { + return new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => 0.583, + 'saturation' => 0.5, + 'lightness' => 0.5, + 'alpha' => 0.85, + ] + ); + } + + public function testGetType(): void + { + $hsl = $this->getTestObject(); + $type = $hsl->getType(); + $this->assertEquals('HSL', $type); + } + + public function testGetNormalizedValue(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->getNormalizedValue(0.5, 255); + $this->assertEquals(128, $res); + } + + public function testGetHexValue(): void + { + $testObj = $this->getTestObject(); + $testObj = $this->getTestObject(); + + $res = $testObj->getHexValue(0.5, 255); + $this->assertEquals('80', $res); + } + + public function testGetRgbaHexColor(): void + { + $hsl = $this->getTestObject(); + $rgbaHexColor = $hsl->getRgbaHexColor(); + $this->assertEquals('#4080bfd9', $rgbaHexColor); + } + + public function testGetRgbHexColor(): void + { + $hsl = $this->getTestObject(); + $rgbHexColor = $hsl->getRgbHexColor(); + $this->assertEquals('#4080bf', $rgbHexColor); + } + + public function testGetArray(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->getArray(); + $this->assertEquals( + [ + 'H' => 0.583, + 'S' => 0.5, + 'L' => 0.5, + 'A' => 0.85, + ], + $res + ); + } + + public function testGetNormalizedArray(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->getNormalizedArray(255); + $this->assertEquals( + [ + 'H' => 210, + 'S' => 0.5, + 'L' => 0.5, + 'A' => 0.85, + ], + $res + ); + } + + public function testGetCssColor(): void + { + $hsl = $this->getTestObject(); + $cssColor = $hsl->getCssColor(); + $this->assertEquals('hsla(210,50%,50%,0.85)', $cssColor); + } + + public function testGetJsPdfColor(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->getJsPdfColor(); + $this->assertEquals('["RGB",0.250000,0.501000,0.750000]', $res); + + $hsl = new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => 0.583, + 'saturation' => 0.5, + 'lightness' => 0.5, + 'alpha' => 0, + ] + ); + $res = $hsl->getJsPdfColor(); + $this->assertEquals('["T"]', $res); + } + + public function testGetComponentsString(): void + { + $hsl = $this->getTestObject(); + $componentsString = $hsl->getComponentsString(); + $this->assertEquals('0.250000 0.501000 0.750000', $componentsString); + } + + public function testGetPdfColor(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->getPdfColor(); + $this->assertEquals('0.250000 0.501000 0.750000 rg' . "\n", $res); + + $res = $hsl->getPdfColor(false); + $this->assertEquals('0.250000 0.501000 0.750000 rg' . "\n", $res); + + $res = $hsl->getPdfColor(true); + $this->assertEquals('0.250000 0.501000 0.750000 RG' . "\n", $res); + } + + public function testToGrayArray(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->toGrayArray(); + $this->bcAssertEqualsWithDelta( + [ + 'gray' => 0.5, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToRgbArray(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.25, + 'green' => 0.50, + 'blue' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => 0.583, + 'saturation' => 0.5, + 'lightness' => 0.4, + 'alpha' => 1, + ] + ); + $res = $col->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.199, + 'green' => 0.400, + 'blue' => 0.600, + 'alpha' => 1, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => 0.583, + 'saturation' => 0, + 'lightness' => 0.4, + 'alpha' => 1, + ] + ); + $res = $col->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.400, + 'green' => 0.400, + 'blue' => 0.400, + 'alpha' => 1, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => 0.01, + 'saturation' => 1, + 'lightness' => 0.4, + 'alpha' => 1, + ] + ); + $res = $col->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.8, + 'green' => 0.048, + 'blue' => 0, + 'alpha' => 1, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Hsl( + [ + 'hue' => 1, + 'saturation' => 1, + 'lightness' => 0.4, + 'alpha' => 1, + ] + ); + $res = $col->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.8, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, + ], + $res + ); + } + + public function testToHslArray(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.583, + 'saturation' => 0.5, + 'lightness' => 0.5, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToCmykArray(): void + { + $hsl = $this->getTestObject(); + $res = $hsl->toCmykArray(); + $this->bcAssertEqualsWithDelta( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testInvertColor(): void + { + $hsl = $this->getTestObject(); + $hsl->invertColor(); + + $res = $hsl->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.083, + 'saturation' => 0.5, + 'lightness' => 0.5, + 'alpha' => 0.85, + ], + $res + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/Model/RgbTest.php b/vendor/tecnickcom/tc-lib-color/test/Model/RgbTest.php new file mode 100644 index 0000000..dfa8b3a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/Model/RgbTest.php @@ -0,0 +1,327 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test\Model; + +use Test\TestUtil; + +/** + * Rgb Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class RgbTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Model\Rgb + { + return new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 0.25, + 'green' => 0.50, + 'blue' => 0.75, + 'alpha' => 0.85, + ] + ); + } + + public function testGetType(): void + { + $rgb = $this->getTestObject(); + $type = $rgb->getType(); + $this->assertEquals('RGB', $type); + } + + public function testGetNormalizedValue(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->getNormalizedValue(0.5, 255); + $this->assertEquals(128, $res); + } + + public function testGetHexValue(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->getHexValue(0.5, 255); + $this->assertEquals('80', $res); + } + + public function testGetRgbaHexColor(): void + { + $rgb = $this->getTestObject(); + $rgbaHexColor = $rgb->getRgbaHexColor(); + $this->assertEquals('#4080bfd9', $rgbaHexColor); + } + + public function testGetRgbHexColor(): void + { + $rgb = $this->getTestObject(); + $rgbHexColor = $rgb->getRgbHexColor(); + $this->assertEquals('#4080bf', $rgbHexColor); + } + + public function testGetArray(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->getArray(); + $this->assertEquals( + [ + 'R' => 0.25, + 'G' => 0.50, + 'B' => 0.75, + 'A' => 0.85, + ], + $res + ); + } + + public function testGetNormalizedArray(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->getNormalizedArray(255); + $this->assertEquals( + [ + 'R' => 64, + 'G' => 128, + 'B' => 191, + 'A' => 0.85, + ], + $res + ); + } + + public function testGetCssColor(): void + { + $rgb = $this->getTestObject(); + $cssColor = $rgb->getCssColor(); + $this->assertEquals('rgba(25%,50%,75%,0.85)', $cssColor); + } + + public function testGetJsPdfColor(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->getJsPdfColor(); + $this->assertEquals('["RGB",0.250000,0.500000,0.750000]', $res); + + $rgb = new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 0.25, + 'green' => 0.50, + 'blue' => 0.75, + 'alpha' => 0, + ] + ); + $res = $rgb->getJsPdfColor(); + $this->assertEquals('["T"]', $res); + } + + public function testGetComponentsString(): void + { + $rgb = $this->getTestObject(); + $componentsString = $rgb->getComponentsString(); + $this->assertEquals('0.250000 0.500000 0.750000', $componentsString); + } + + public function testGetPdfColor(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->getPdfColor(); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + + $res = $rgb->getPdfColor(false); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + + $res = $rgb->getPdfColor(true); + $this->assertEquals('0.250000 0.500000 0.750000 RG' . "\n", $res); + } + + public function testToGrayArray(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->toGrayArray(); + $this->bcAssertEqualsWithDelta( + [ + 'gray' => 0.465, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToRgbArray(): void + { + $rgb = $this->getTestObject(); + $res = $rgb->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.25, + 'green' => 0.50, + 'blue' => 0.75, + 'alpha' => 0.85, + ], + $res + ); + } + + public function testToHslArray(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.583, + 'saturation' => 0.5, + 'lightness' => 0.5, + 'alpha' => 0.85, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, + ] + ); + $res = $col->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0, + 'saturation' => 0, + 'lightness' => 0, + 'alpha' => 1, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 0.1, + 'green' => 0.3, + 'blue' => 0.2, + 'alpha' => 1, + ] + ); + $res = $col->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.416, + 'saturation' => 0.500, + 'lightness' => 0.200, + 'alpha' => 1, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 0.3, + 'green' => 0.2, + 'blue' => 0.1, + 'alpha' => 1, + ] + ); + $res = $col->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.0833, + 'saturation' => 0.500, + 'lightness' => 0.200, + 'alpha' => 1, + ], + $res + ); + + $col = new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 1, + 'green' => 0.1, + 'blue' => 0.9, + 'alpha' => 1, + ] + ); + $res = $col->toHslArray(); + $this->bcAssertEqualsWithDelta( + [ + 'hue' => 0.852, + 'saturation' => 1, + 'lightness' => 0.55, + 'alpha' => 1, + ], + $res + ); + } + + public function testToCmykArray(): void + { + $testObj = $this->getTestObject(); + $res = $testObj->toCmykArray(); + $this->bcAssertEqualsWithDelta( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0.85, + ], + $res + ); + + $rgb = new \Com\Tecnick\Color\Model\Rgb( + [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, + ] + ); + $res = $rgb->toCmykArray(); + $this->bcAssertEqualsWithDelta( + [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 1, + 'alpha' => 1, + ], + $res + ); + } + + public function testInvertColor(): void + { + $rgb = $this->getTestObject(); + $rgb->invertColor(); + + $res = $rgb->toRgbArray(); + $this->bcAssertEqualsWithDelta( + [ + 'red' => 0.75, + 'green' => 0.50, + 'blue' => 0.25, + 'alpha' => 0.85, + ], + $res + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/PdfTest.php b/vendor/tecnickcom/tc-lib-color/test/PdfTest.php new file mode 100644 index 0000000..54fd333 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/PdfTest.php @@ -0,0 +1,277 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +/** + * Pdf Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class PdfTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Pdf + { + return new \Com\Tecnick\Color\Pdf(); + } + + public function testGetJsColorString(): void + { + $pdf = $this->getTestObject(); + $res = $pdf->getJsColorString('t()'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('["T"]'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('transparent'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('color.transparent'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('magenta'); + $this->assertEquals('color.magenta', $res); + $res = $pdf->getJsColorString('#1a2b3c4d'); + $this->assertEquals('["RGB",0.101961,0.168627,0.235294]', $res); + $res = $pdf->getJsColorString('#1a2b3c'); + $this->assertEquals('["RGB",0.101961,0.168627,0.235294]', $res); + $res = $pdf->getJsColorString('#1234'); + $this->assertEquals('["RGB",0.066667,0.133333,0.200000]', $res); + $res = $pdf->getJsColorString('#123'); + $this->assertEquals('["RGB",0.066667,0.133333,0.200000]', $res); + $res = $pdf->getJsColorString('["G",0.5]'); + $this->assertEquals('["G",0.500000]', $res); + $res = $pdf->getJsColorString('["RGB",0.25,0.50,0.75]'); + $this->assertEquals('["RGB",0.250000,0.500000,0.750000]', $res); + $res = $pdf->getJsColorString('["CMYK",0.666,0.333,0,0.25]'); + $this->assertEquals('["CMYK",0.666000,0.333000,0.000000,0.250000]', $res); + $res = $pdf->getJsColorString('g(50%)'); + $this->assertEquals('["G",0.500000]', $res); + $res = $pdf->getJsColorString('g(128)'); + $this->assertEquals('["G",0.501961]', $res); + $res = $pdf->getJsColorString('rgb(25%,50%,75%)'); + $this->assertEquals('["RGB",0.250000,0.500000,0.750000]', $res); + $res = $pdf->getJsColorString('rgb(64,128,191)'); + $this->assertEquals('["RGB",0.250980,0.501961,0.749020]', $res); + $res = $pdf->getJsColorString('rgba(25%,50%,75%,0.85)'); + $this->assertEquals('["RGB",0.250000,0.500000,0.750000]', $res); + $res = $pdf->getJsColorString('rgba(64,128,191,0.85)'); + $this->assertEquals('["RGB",0.250980,0.501961,0.749020]', $res); + $res = $pdf->getJsColorString('hsl(210,50%,50%)'); + $this->assertEquals('["RGB",0.250000,0.500000,0.750000]', $res); + $res = $pdf->getJsColorString('hsla(210,50%,50%,0.85)'); + $this->assertEquals('["RGB",0.250000,0.500000,0.750000]', $res); + $res = $pdf->getJsColorString('cmyk(67%,33%,0,25%)'); + $this->assertEquals('["CMYK",0.670000,0.330000,0.000000,0.250000]', $res); + $res = $pdf->getJsColorString('cmyk(67,33,0,25)'); + $this->assertEquals('["CMYK",0.670000,0.330000,0.000000,0.250000]', $res); + $res = $pdf->getJsColorString('cmyka(67,33,0,25,0.85)'); + $this->assertEquals('["CMYK",0.670000,0.330000,0.000000,0.250000]', $res); + $res = $pdf->getJsColorString('cmyka(67%,33%,0,25%,0.85)'); + $this->assertEquals('["CMYK",0.670000,0.330000,0.000000,0.250000]', $res); + $res = $pdf->getJsColorString('g(-)'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('rgb(-)'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('hsl(-)'); + $this->assertEquals('color.transparent', $res); + $res = $pdf->getJsColorString('cmyk(-)'); + $this->assertEquals('color.transparent', $res); + } + + public function testGetColorObject(): void + { + $pdf = $this->getTestObject(); + $res = $pdf->getColorObject(''); + $this->assertNull($res); + $res = $pdf->getColorObject('[*'); + $this->assertNull($res); + $res = $pdf->getColorObject('t()'); + $this->assertNull($res); + $res = $pdf->getColorObject('["T"]'); + $this->assertNull($res); + $res = $pdf->getColorObject('transparent'); + $this->assertNull($res); + $res = $pdf->getColorObject('color.transparent'); + $this->assertNull($res); + $res = $pdf->getColorObject('#1a2b3c4d'); + $this->assertNotNull($res); + $this->assertEquals('#1a2b3c4d', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('#1a2b3c'); + $this->assertNotNull($res); + $this->assertEquals('#1a2b3cff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('#1234'); + $this->assertNotNull($res); + $this->assertEquals('#11223344', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('#123'); + $this->assertNotNull($res); + $this->assertEquals('#112233ff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('["G",0.5]'); + $this->assertNotNull($res); + $this->assertEquals('#808080ff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('["RGB",0.25,0.50,0.75]'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('["CMYK",0.666,0.333,0,0.25]'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('g(50%)'); + $this->assertNotNull($res); + $this->assertEquals('#808080ff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('g(128)'); + $this->assertNotNull($res); + $this->assertEquals('#808080ff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('rgb(25%,50%,75%)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('rgb(64,128,191)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('rgba(25%,50%,75%,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfd9', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('rgba(64,128,191,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfd9', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('hsl(210,50%,50%)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('hsla(210,50%,50%,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfd9', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('cmyk(67%,33%,0,25%)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('cmyk(67,33,0,25)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfff', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('cmyka(67,33,0,25,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfd9', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('cmyka(67%,33%,0,25%,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfd9', $res->getRgbaHexColor()); + $res = $pdf->getColorObject('none'); + $this->assertNotNull($res); + $this->assertEquals('0.000000 0.000000 0.000000 0.000000 k' . "\n", $res->getPdfColor()); + $res = $pdf->getColorObject('all'); + $this->assertNotNull($res); + $this->assertEquals('1.000000 1.000000 1.000000 1.000000 k' . "\n", $res->getPdfColor()); + $res = $pdf->getColorObject('["G"]'); + $this->assertNull($res); + $res = $pdf->getColorObject('["RGB"]'); + $this->assertNull($res); + $res = $pdf->getColorObject('["CMYK"]'); + $this->assertNull($res); + $res = $pdf->getColorObject('g(-)'); + $this->assertNull($res); + $res = $pdf->getColorObject('rgb(-)'); + $this->assertNull($res); + $res = $pdf->getColorObject('hsl(-)'); + $this->assertNull($res); + $res = $pdf->getColorObject('cmyk(-)'); + $this->assertNull($res); + } + + public function testGetPdfColor(): void + { + $pdf = $this->getTestObject(); + $res = $pdf->getPdfColor('magenta', false, 1); + $this->assertEquals('/CS1 cs 1.000000 scn' . "\n", $res); + $res = $pdf->getPdfColor('magenta', true, 1); + $this->assertEquals('/CS1 CS 1.000000 SCN' . "\n", $res); + $res = $pdf->getPdfColor('magenta', false, 0.5); + $this->assertEquals('/CS1 cs 0.500000 scn' . "\n", $res); + $res = $pdf->getPdfColor('magenta', true, 0.5); + $this->assertEquals('/CS1 CS 0.500000 SCN' . "\n", $res); + + $res = $pdf->getPdfColor('t()', false, 1); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('["T"]', false, 1); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('transparent', false, 1); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('color.transparent', false, 1); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('magenta', false, 1); + $this->assertEquals('/CS1 cs 1.000000 scn' . "\n", $res); + $res = $pdf->getPdfColor('#1a2b3c4d', false, 1); + $this->assertEquals('0.101961 0.168627 0.235294 rg' . "\n", $res); + $res = $pdf->getPdfColor('#1a2b3c', false, 1); + $this->assertEquals('0.101961 0.168627 0.235294 rg' . "\n", $res); + $res = $pdf->getPdfColor('#1234', false, 1); + $this->assertEquals('0.066667 0.133333 0.200000 rg' . "\n", $res); + $res = $pdf->getPdfColor('#123', false, 1); + $this->assertEquals('0.066667 0.133333 0.200000 rg' . "\n", $res); + $res = $pdf->getPdfColor('["G",0.5]', false, 1); + $this->assertEquals('0.500000 g' . "\n", $res); + $res = $pdf->getPdfColor('["RGB",0.25,0.50,0.75]', false, 1); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + $res = $pdf->getPdfColor('["CMYK",0.666,0.333,0,0.25]', false, 1); + $this->assertEquals('0.666000 0.333000 0.000000 0.250000 k' . "\n", $res); + $res = $pdf->getPdfColor('g(50%)', false, 1); + $this->assertEquals('0.500000 g' . "\n", $res); + $res = $pdf->getPdfColor('g(128)', false, 1); + $this->assertEquals('0.501961 g' . "\n", $res); + $res = $pdf->getPdfColor('rgb(25%,50%,75%)', false, 1); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + $res = $pdf->getPdfColor('rgb(64,128,191)', false, 1); + $this->assertEquals('0.250980 0.501961 0.749020 rg' . "\n", $res); + $res = $pdf->getPdfColor('rgba(25%,50%,75%,0.85)', false, 1); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + $res = $pdf->getPdfColor('rgba(64,128,191,0.85)', false, 1); + $this->assertEquals('0.250980 0.501961 0.749020 rg' . "\n", $res); + $res = $pdf->getPdfColor('hsl(210,50%,50%)', false, 1); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + $res = $pdf->getPdfColor('hsla(210,50%,50%,0.85)', false, 1); + $this->assertEquals('0.250000 0.500000 0.750000 rg' . "\n", $res); + $res = $pdf->getPdfColor('cmyk(67%,33%,0,25%)', false, 1); + $this->assertEquals('0.670000 0.330000 0.000000 0.250000 k' . "\n", $res); + $res = $pdf->getPdfColor('cmyk(67,33,0,25)', false, 1); + $this->assertEquals('0.670000 0.330000 0.000000 0.250000 k' . "\n", $res); + $res = $pdf->getPdfColor('cmyka(67,33,0,25,0.85)', false, 1); + $this->assertEquals('0.670000 0.330000 0.000000 0.250000 k' . "\n", $res); + $res = $pdf->getPdfColor('cmyka(67%,33%,0,25%,0.85)', false, 1); + $this->assertEquals('0.670000 0.330000 0.000000 0.250000 k' . "\n", $res); + $res = $pdf->getPdfColor('g(-)'); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('rgb(-)'); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('hsl(-)'); + $this->assertEquals('', $res); + $res = $pdf->getPdfColor('cmyk(-)'); + $this->assertEquals('', $res); + } + + public function testGetPdfRgbComponents(): void + { + $pdf = $this->getTestObject(); + $res = $pdf->getPdfRgbComponents(''); + $this->assertEquals('', $res); + + $res = $pdf->getPdfRgbComponents('red'); + $this->assertEquals('1.000000 0.000000 0.000000', $res); + + $res = $pdf->getPdfRgbComponents('#00ff00'); + $this->assertEquals('0.000000 1.000000 0.000000', $res); + + $res = $pdf->getPdfRgbComponents('rgb(0,0,255)'); + $this->assertEquals('0.000000 0.000000 1.000000', $res); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/SpotTest.php b/vendor/tecnickcom/tc-lib-color/test/SpotTest.php new file mode 100644 index 0000000..8cde812 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/SpotTest.php @@ -0,0 +1,179 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +/** + * Spot Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class SpotTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Spot + { + return new \Com\Tecnick\Color\Spot(); + } + + public function testGetSpotColors(): void + { + $spot = $this->getTestObject(); + $res = $spot->getSpotColors(); + $this->assertEquals(0, count($res)); + } + + public function testNormalizeSpotColorName(): void + { + $spot = $this->getTestObject(); + $res = $spot->normalizeSpotColorName('abc.FG12!-345'); + $this->assertEquals('abcfg12345', $res); + } + + public function testGetSpotColor(): void + { + $spot = $this->getTestObject(); + $res = $spot->getSpotColor('none'); + $this->assertEquals('0.000000 0.000000 0.000000 0.000000 k' . "\n", $res['color']->getPdfColor()); + $res = $spot->getSpotColor('all'); + $this->assertEquals('1.000000 1.000000 1.000000 1.000000 k' . "\n", $res['color']->getPdfColor()); + $res = $spot->getSpotColor('red'); + $this->assertEquals('0.000000 1.000000 1.000000 0.000000 K' . "\n", $res['color']->getPdfColor(true)); + } + + public function testGetSpotColorObj(): void + { + $spot = $this->getTestObject(); + $res = $spot->getSpotColorObj('none'); + $this->assertEquals('0.000000 0.000000 0.000000 0.000000 k' . "\n", $res->getPdfColor()); + $res = $spot->getSpotColorObj('all'); + $this->assertEquals('1.000000 1.000000 1.000000 1.000000 k' . "\n", $res->getPdfColor()); + $res = $spot->getSpotColorObj('red'); + $this->assertEquals('0.000000 1.000000 1.000000 0.000000 K' . "\n", $res->getPdfColor(true)); + } + + public function testAddSpotColor(): void + { + $spot = $this->getTestObject(); + $cmyk = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0.85, + ] + ); + $spot->addSpotColor('test', $cmyk); + $res = $spot->getSpotColors(); + $this->assertArrayHasKey('test', $res); + $this->assertEquals(1, $res['test']['i']); + $this->assertEquals('test', $res['test']['name']); + $this->assertEquals('0.666000 0.333000 0.000000 0.250000 k' . "\n", $res['test']['color']->getPdfColor()); + + // test overwrite + $cmyk = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0.25, + 'magenta' => 0.35, + 'yellow' => 0.45, + 'key' => 0.55, + 'alpha' => 0.65, + ] + ); + $key = $spot->addSpotColor('test', $cmyk); + $this->assertEquals('test', $key); + + $res = $spot->getSpotColors(); + $this->assertArrayHasKey('test', $res); + $this->assertEquals(1, $res['test']['i']); + $this->assertEquals('test', $res['test']['name']); + $this->assertEquals('0.250000 0.350000 0.450000 0.550000 k' . "\n", $res['test']['color']->getPdfColor()); + } + + public function testGetPdfSpotObjectsEmpty(): void + { + $spot = $this->getTestObject(); + $obj = 1; + $res = $spot->getPdfSpotObjects($obj); + $this->assertEquals(1, $obj); + $this->assertEquals('', $res); + } + + public function testGetPdfSpotResourcesEmpty(): void + { + $spot = $this->getTestObject(); + $pdfSpotResources = $spot->getPdfSpotResources(); + $this->assertEquals('', $pdfSpotResources); + } + + public function testGetPdfSpotObjects(): void + { + $spot = $this->getTestObject(); + $cmyk = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0.666, + 'magenta' => 0.333, + 'yellow' => 0, + 'key' => 0.25, + 'alpha' => 0.85, + ] + ); + $spot->addSpotColor('test', $cmyk); + $spot->getSpotColor('cyan'); + $spot->getSpotColor('magenta'); + $spot->getSpotColor('yellow'); + $spot->getSpotColor('key'); + + $obj = 1; + $res = $spot->getPdfSpotObjects($obj); + $this->assertEquals(6, $obj); + $this->assertEquals( + '2 0 obj' . "\n" + . '[/Separation /test /DeviceCMYK <>]' . "\n" + . 'endobj' . "\n" + . '3 0 obj' . "\n" + . '[/Separation /cyan /DeviceCMYK <>]' . "\n" + . 'endobj' . "\n" + . '4 0 obj' . "\n" + . '[/Separation /magenta /DeviceCMYK <>]' . "\n" + . 'endobj' . "\n" + . '5 0 obj' . "\n" + . '[/Separation /yellow /DeviceCMYK <>]' . "\n" + . 'endobj' . "\n" + . '6 0 obj' . "\n" + . '[/Separation /key /DeviceCMYK <>]' . "\n" + . 'endobj' . "\n", + $res + ); + + $res = $spot->getPdfSpotResources(); + $this->assertEquals('/ColorSpace << /CS1 2 0 R /CS2 3 0 R /CS3 4 0 R /CS4 5 0 R /CS5 6 0 R >>' . "\n", $res); + + $resk = $spot->getPdfSpotResourcesByKeys(['cyan','yellow']); + $this->assertEquals('/ColorSpace << /CS2 3 0 R /CS4 5 0 R >>' . "\n", $resk); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/TestUtil.php b/vendor/tecnickcom/tc-lib-color/test/TestUtil.php new file mode 100644 index 0000000..e581902 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/TestUtil.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Web Color class test + * + * @since 2020-12-19 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class TestUtil extends TestCase +{ + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tc-lib-color/test/WebTest.php b/vendor/tecnickcom/tc-lib-color/test/WebTest.php new file mode 100644 index 0000000..d7ef0fa --- /dev/null +++ b/vendor/tecnickcom/tc-lib-color/test/WebTest.php @@ -0,0 +1,306 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Web Color class test + * + * @since 2015-02-21 + * @category Library + * @package Color + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-color + */ +class WebTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Color\Web + { + return new \Com\Tecnick\Color\Web(); + } + + public function testGetHexFromName(): void + { + $web = $this->getTestObject(); + $res = $web->getHexFromName('aliceblue'); + $this->assertEquals('f0f8ffff', $res); + $res = $web->getHexFromName('color.yellowgreen'); + $this->assertEquals('9acd32ff', $res); + } + + public function testGetHexFromNameInvalid(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Color\Exception::class); + $web = $this->getTestObject(); + $web->getHexFromName('invalid'); + } + + public function testGetNameFromHex(): void + { + $web = $this->getTestObject(); + $res = $web->getNameFromHex('f0f8ffff'); + $this->assertEquals('aliceblue', $res); + $res = $web->getNameFromHex('9acd32ff'); + $this->assertEquals('yellowgreen', $res); + } + + public function testGetNameFromHexBad(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Color\Exception::class); + $web = $this->getTestObject(); + $web->getNameFromHex('012345'); + } + + public function testExtractHexCode(): void + { + $web = $this->getTestObject(); + $res = $web->extractHexCode('abc'); + $this->assertEquals('aabbccff', $res); + $res = $web->extractHexCode('#abc'); + $this->assertEquals('aabbccff', $res); + $res = $web->extractHexCode('abcd'); + $this->assertEquals('aabbccdd', $res); + $res = $web->extractHexCode('#abcd'); + $this->assertEquals('aabbccdd', $res); + $res = $web->extractHexCode('112233'); + $this->assertEquals('112233ff', $res); + $res = $web->extractHexCode('#112233'); + $this->assertEquals('112233ff', $res); + $res = $web->extractHexCode('11223344'); + $this->assertEquals('11223344', $res); + $res = $web->extractHexCode('#11223344'); + $this->assertEquals('11223344', $res); + } + + public function testExtractHexCodeBad(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Color\Exception::class); + $web = $this->getTestObject(); + $web->extractHexCode(''); + } + + public function testGetRgbObjFromHex(): void + { + $web = $this->getTestObject(); + $rgb = $web->getRgbObjFromHex('#87ceebff'); + $this->assertEquals('#87ceebff', $rgb->getRgbaHexColor()); + } + + public function testGetRgbObjFromHexBad(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Color\Exception::class); + $web = $this->getTestObject(); + $web->getRgbObjFromHex('xx'); + } + + public function testGetRgbObjFromName(): void + { + $web = $this->getTestObject(); + $rgb = $web->getRgbObjFromName('skyblue'); + $this->assertEquals('#87ceebff', $rgb->getRgbaHexColor()); + } + + public function testGetRgbObjFromNameBad(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Color\Exception::class); + $web = $this->getTestObject(); + $web->getRgbObjFromName('xx'); + } + + public function testNormalizeValue(): void + { + $web = $this->getTestObject(); + $res = $web->normalizeValue('50%', 50); + $this->assertEquals(0.5, $res); + $res = $web->normalizeValue(128, 255); + $this->bcAssertEqualsWithDelta(0.5, $res); + } + + public function testGetColorObj(): void + { + $web = $this->getTestObject(); + $res = $web->getColorObj(''); + $this->assertNull($res); + $res = $web->getColorObj('t()'); + $this->assertNull($res); + $res = $web->getColorObj('["T"]'); + $this->assertNull($res); + $res = $web->getColorObj('transparent'); + $this->assertNull($res); + $res = $web->getColorObj('color.transparent'); + $this->assertNull($res); + $res = $web->getColorObj('royalblue'); + $this->assertNotNull($res); + $this->assertEquals('#4169e1ff', $res->getRgbaHexColor()); + $res = $web->getColorObj('#1a2b3c4d'); + $this->assertNotNull($res); + $this->assertEquals('#1a2b3c4d', $res->getRgbaHexColor()); + $res = $web->getColorObj('#1a2b3c'); + $this->assertNotNull($res); + $this->assertEquals('#1a2b3cff', $res->getRgbaHexColor()); + $res = $web->getColorObj('#1234'); + $this->assertNotNull($res); + $this->assertEquals('#11223344', $res->getRgbaHexColor()); + $res = $web->getColorObj('#123'); + $this->assertNotNull($res); + $this->assertEquals('#112233ff', $res->getRgbaHexColor()); + $res = $web->getColorObj('["G",0.5]'); + $this->assertNotNull($res); + $this->assertEquals('#808080ff', $res->getRgbaHexColor()); + $res = $web->getColorObj('["RGB",0.25,0.50,0.75]'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('["CMYK",0.666,0.333,0,0.25]'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('g(50%)'); + $this->assertNotNull($res); + $this->assertEquals('#808080ff', $res->getRgbaHexColor()); + $res = $web->getColorObj('g(128)'); + $this->assertNotNull($res); + $this->assertEquals('#808080ff', $res->getRgbaHexColor()); + $res = $web->getColorObj('rgb(25%,50%,75%)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('rgb(64,128,191)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('rgba(25%,50%,75%,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfd9', $res->getRgbaHexColor()); + $res = $web->getColorObj('rgba(64,128,191,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfd9', $res->getRgbaHexColor()); + $res = $web->getColorObj('hsl(210,50%,50%)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('hsla(210,50%,50%,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#4080bfd9', $res->getRgbaHexColor()); + $res = $web->getColorObj('cmyk(67%,33%,0,25%)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('cmyk(67,33,0,25)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfff', $res->getRgbaHexColor()); + $res = $web->getColorObj('cmyka(67,33,0,25,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfd9', $res->getRgbaHexColor()); + $res = $web->getColorObj('cmyka(67%,33%,0,25%,0.85)'); + $this->assertNotNull($res); + $this->assertEquals('#3f80bfd9', $res->getRgbaHexColor()); + } + + /** + * @return array + */ + public static function getBadColor(): array + { + return [['g(-)'], ['rgb(-)'], ['hsl(-)'], ['cmyk(-)']]; + } + + + #[DataProvider('getBadColor')] + public function testGetColorObjBad(string $bad): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Color\Exception::class); + $web = $this->getTestObject(); + $web->getColorObj($bad); + } + + public function testGetRgbSquareDistance(): void + { + $web = $this->getTestObject(); + $cola = [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + ]; + $colb = [ + 'red' => 1, + 'green' => 1, + 'blue' => 1, + ]; + $dist = $web->getRgbSquareDistance($cola, $colb); + $this->assertEquals(3, $dist); + + $cola = [ + 'red' => 0.5, + 'green' => 0.5, + 'blue' => 0.5, + ]; + $colb = [ + 'red' => 0.5, + 'green' => 0.5, + 'blue' => 0.5, + ]; + $dist = $web->getRgbSquareDistance($cola, $colb); + $this->assertEquals(0, $dist); + + $cola = [ + 'red' => 0.25, + 'green' => 0.50, + 'blue' => 0.75, + ]; + $colb = [ + 'red' => 0.50, + 'green' => 0.75, + 'blue' => 1.00, + ]; + $dist = $web->getRgbSquareDistance($cola, $colb); + $this->assertEquals(0.1875, $dist); + } + + public function testGetClosestWebColor(): void + { + $web = $this->getTestObject(); + $col = [ + 'red' => 1, + 'green' => 0, + 'blue' => 0, + ]; + $color = $web->getClosestWebColor($col); + $this->assertEquals('red', $color); + + $col = [ + 'red' => 0, + 'green' => 1, + 'blue' => 0, + ]; + $color = $web->getClosestWebColor($col); + $this->assertEquals('lime', $color); + + $col = [ + 'red' => 0, + 'green' => 0, + 'blue' => 1, + ]; + $color = $web->getClosestWebColor($col); + $this->assertEquals('blue', $color); + + $col = [ + 'red' => 0.33, + 'green' => 0.4, + 'blue' => 0.18, + ]; + $color = $web->getClosestWebColor($col); + $this->assertEquals('darkolivegreen', $color); + } +} diff --git a/vendor/tecnickcom/tc-lib-file/.editorconfig b/vendor/tecnickcom/tc-lib-file/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-file/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-file/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-file/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-file/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-file/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-file/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-file/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-file/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-file/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-file/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-file/.gitignore b/vendor/tecnickcom/tc-lib-file/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-file/CODEOWNERS b/vendor/tecnickcom/tc-lib-file/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-file/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-file/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-file/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-file/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-file/LICENSE b/vendor/tecnickcom/tc-lib-file/LICENSE new file mode 100644 index 0000000..5a126b4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-file +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2015-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-file/Makefile b/vendor/tecnickcom/tc-lib-file/Makefile new file mode 100644 index 0000000..5e14988 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/Makefile @@ -0,0 +1,277 @@ +# makefile +# +# @since 2015-07-28 +# @category Library +# @package File +# @author Nicola Asuni +# @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-file +# +# This file is part of tc-lib-file software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-file + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/File/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-file/README.md b/vendor/tecnickcom/tc-lib-file/README.md new file mode 100644 index 0000000..3d0f744 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/README.md @@ -0,0 +1,108 @@ +# tc-lib-file +*PHP library to read byte-level file data* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-file/version)](https://packagist.org/packages/tecnickcom/tc-lib-file) +![Build](https://github.com/tecnickcom/tc-lib-file/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-file/graph/badge.svg?token=iZ9snwgkUA)](https://codecov.io/gh/tecnickcom/tc-lib-file) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-file/license)](https://packagist.org/packages/tecnickcom/tc-lib-file) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-file/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-file) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\File +* **author** Nicola Asuni +* **copyright** 2015-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-file +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-file + +## Description + +This library includes utility classes to read byte-level data. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-file": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-file ^2.0 +``` + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/File/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-file/RELEASE b/vendor/tecnickcom/tc-lib-file/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-file/SECURITY.md b/vendor/tecnickcom/tc-lib-file/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-file/VERSION b/vendor/tecnickcom/tc-lib-file/VERSION new file mode 100644 index 0000000..b1b25a5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/VERSION @@ -0,0 +1 @@ +2.2.2 diff --git a/vendor/tecnickcom/tc-lib-file/composer.json b/vendor/tecnickcom/tc-lib-file/composer.json new file mode 100644 index 0000000..6fd7a56 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/composer.json @@ -0,0 +1,43 @@ +{ + "name": "tecnickcom/tc-lib-file", + "description": "PHP library to read byte-level data from files", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-file", + "file", + "byte", + "bit", + "read", + "short", + "long", + "double" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-curl": "*", + "ext-pcre": "*" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\File\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-file/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-file/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-file/phpcs.xml b/vendor/tecnickcom/tc-lib-file/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-file/phpstan.neon b/vendor/tecnickcom/tc-lib-file/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-file/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-file/phpunit.xml.dist new file mode 100644 index 0000000..a70be43 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-file/resources/autoload.php b/vendor/tecnickcom/tc-lib-file/resources/autoload.php new file mode 100644 index 0000000..370c60a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(__DIR__).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-file/resources/debian/changelog b/vendor/tecnickcom/tc-lib-file/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-file/resources/debian/compat b/vendor/tecnickcom/tc-lib-file/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-file/resources/debian/control b/vendor/tecnickcom/tc-lib-file/resources/debian/control new file mode 100644 index 0000000..03f22ad --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-curl, ${misc:Depends} +Description: PHP Color library + This library includes PHP classes to read byte-level data from files diff --git a/vendor/tecnickcom/tc-lib-file/resources/debian/copyright b/vendor/tecnickcom/tc-lib-file/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-file/resources/debian/rules b/vendor/tecnickcom/tc-lib-file/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-file/resources/debian/source/format b/vendor/tecnickcom/tc-lib-file/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-file/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-file/resources/rpm/rpm.spec new file mode 100644 index 0000000..ea08a83 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/resources/rpm/rpm.spec @@ -0,0 +1,50 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: This library includes PHP classes to read byte-level data from files + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-curl +Requires: php-pcre + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +This library includes PHP classes to read byte-level data from files. + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Sun Feb 05 2024 Nicola Asuni 1.6.4-1 +- Update dependencies +* Mon Jul 27 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-file/src/Byte.php b/vendor/tecnickcom/tc-lib-file/src/Byte.php new file mode 100644 index 0000000..83f6ae0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/src/Byte.php @@ -0,0 +1,138 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Com\Tecnick\File; + +/** + * Com\Tecnick\File\Byte + * + * Function to read byte-level data + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class Byte +{ + /** + * Initialize a new string to be processed + * + * @param string $str String from where to extract values + */ + public function __construct( + /** + * String to process + */ + protected string $str + ) { + } + + /** + * Get BYTE from string (8-bit unsigned integer). + * + * @param int $offset Point from where to read the data. + * + * @return int 8 bit value + */ + public function getByte(int $offset): int + { + $val = unpack('Ci', substr($this->str, $offset, 1)); + return $val === false ? 0 : (is_int($val['i']) ? $val['i'] : 0); + } + + /** + * Get ULONG from string (Big Endian 32-bit unsigned integer). + * + * @param int $offset Point from where to read the data + * + * @return int 32 bit value + */ + public function getULong(int $offset): int + { + $val = unpack('Ni', substr($this->str, $offset, 4)); + return $val === false ? 0 : (is_int($val['i']) ? $val['i'] : 0); + } + + /** + * Get USHORT from string (Big Endian 16-bit unsigned integer). + * + * @param int $offset Point from where to read the data + * + * @return int 16 bit value + */ + public function getUShort(int $offset): int + { + $val = unpack('ni', substr($this->str, $offset, 2)); + return $val === false ? 0 : (is_int($val['i']) ? $val['i'] : 0); + } + + /** + * Get SHORT from string (Big Endian 16-bit signed integer). + * + * @param int $offset Point from where to read the data. + * + * @return int 16 bit value + */ + public function getShort(int $offset): int + { + $val = unpack('si', substr($this->str, $offset, 2)); + return $val === false ? 0 : (is_int($val['i']) ? $val['i'] : 0); + } + + /** + * Get UFWORD from string (Big Endian 16-bit unsigned integer). + * + * @param int $offset Point from where to read the data. + * + * @return int 16 bit value + */ + public function getUFWord(int $offset): int + { + return $this->getUShort($offset); + } + + /** + * Get FWORD from string (Big Endian 16-bit signed integer). + * + * @param int $offset Point from where to read the data. + * + * @return int 16 bit value + */ + public function getFWord(int $offset): int + { + $val = $this->getUShort($offset); + if ($val > 0x7fff) { + $val -= 0x10000; + } + + return $val; + } + + /** + * Get FIXED from string (32-bit signed fixed-point number (16.16). + * + * @param int $offset Point from where to read the data. + */ + public function getFixed(int $offset): float + { + // mantissa.fraction + return (float) ($this->getFWord($offset) . '.' . $this->getUShort($offset + 2)); + } +} diff --git a/vendor/tecnickcom/tc-lib-file/src/Cache.php b/vendor/tecnickcom/tc-lib-file/src/Cache.php new file mode 100644 index 0000000..ae12e61 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/src/Cache.php @@ -0,0 +1,165 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-filecache + * + * This file is part of tc-lib-pdf-filecache software library. + */ + +namespace Com\Tecnick\File; + +/** + * Com\Tecnick\Pdf\File\Cache + * + * @since 2011-05-23 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-filecache + */ +class Cache +{ + /** + * Cache path + * + * @var string + */ + protected static $path = ''; + + /** + * File prefix + */ + protected static string $prefix; + + /** + * Set the file prefix (common name) + * + * @param string $prefix Common prefix to be used for all cache files + */ + public function __construct($prefix = null) + { + $this->defineSystemCachePath(); + $this->setCachePath(); + if ($prefix === null) { + $prefix = rtrim(base64_encode(pack('H*', md5(uniqid((string) random_int(0, mt_getrandmax()), true)))), '='); + } + + self::$prefix = '_' . preg_replace('/[^a-zA-Z0-9_\-]/', '', strtr($prefix, '+/', '-_')) . '_'; + } + + /** + * Get the cache directory path + */ + public function getCachePath(): string + { + return self::$path; + } + + /** + * Set the default cache directory path + * + * @param ?string $path Cache directory path; if null use the K_PATH_CACHE value + */ + public function setCachePath(?string $path = null): void + { + if (($path === null) || (strpos($path, '://') !== false) || ! is_writable($path)) { + /* @phpstan-ignore-next-line */ + self::$path = K_PATH_CACHE; + return; + } + + self::$path = $this->normalizePath($path); + } + + /** + * Get the file prefix + */ + public function getFilePrefix(): string + { + return self::$prefix; + } + + /** + * Returns a temporary filename for caching files + * + * @param string $type Type of file + * @param string $key File key (used to retrieve file from cache) + * + * @return string|false filename + */ + public function getNewFileName(string $type = 'tmp', string $key = '0'): string|bool + { + return tempnam(self::$path, self::$prefix . $type . '_' . $key . '_'); + } + + /** + * Delete cached files + * + * @param ?string $type Type of files to delete + * @param ?string $key Specific file key to delete + */ + public function delete(?string $type = null, ?string $key = null): void + { + $path = self::$path . self::$prefix; + if ($type !== null) { + $path .= $type . '_'; + if ($key !== null) { + $path .= $key . '_'; + } + } + + $path .= '*'; + $files = glob($path); + if ($files === []) { + return; + } + + if ($files === false) { + return; + } + + array_map('unlink', $files); + } + + /** + * Set the K_PATH_CACHE constant (if not set) to the default system directory for temporary files + */ + protected function defineSystemCachePath(): void + { + if (defined('K_PATH_CACHE')) { + return; + } + + $kPathCache = ini_get('upload_tmp_dir') ?: sys_get_temp_dir(); + define('K_PATH_CACHE', $this->normalizePath($kPathCache)); + } + + /** + * Normalize cache path + * + * @param string $path Path to normalize + */ + protected function normalizePath(string $path): string + { + $rpath = realpath($path); + if ($rpath === false) { + return ''; + } + + if (! str_ends_with($rpath, '/')) { + $rpath .= '/'; + } + + return $rpath; + } +} diff --git a/vendor/tecnickcom/tc-lib-file/src/Dir.php b/vendor/tecnickcom/tc-lib-file/src/Dir.php new file mode 100644 index 0000000..8313b89 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/src/Dir.php @@ -0,0 +1,63 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Com\Tecnick\File; + +/** + * Com\Tecnick\File\Dir + * + * Function to read byte-level data + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class Dir +{ + /** + * Returns the full path of a parent directory + * + * @param string $name Name of the parent folder to search + * @param string $dir Starting directory + * + * @return string Directory name + */ + public function findParentDir(string $name, string $dir = __DIR__): string + { + while ($dir !== '') { + if ($dir === dirname($dir)) { + $dir = ''; + } + + if (@is_writable($dir . DIRECTORY_SEPARATOR . $name)) { + $dir = $dir . DIRECTORY_SEPARATOR . $name; + break; + } + + $dir = dirname($dir); + } + + if (substr($dir, -1) !== DIRECTORY_SEPARATOR) { + $dir .= DIRECTORY_SEPARATOR; + } + + return $dir; + } +} diff --git a/vendor/tecnickcom/tc-lib-file/src/Exception.php b/vendor/tecnickcom/tc-lib-file/src/Exception.php new file mode 100644 index 0000000..eed8992 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Com\Tecnick\File; + +/** + * Com\Tecnick\File\Exception + * + * Custom Exception class + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-file/src/File.php b/vendor/tecnickcom/tc-lib-file/src/File.php new file mode 100644 index 0000000..be43e23 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/src/File.php @@ -0,0 +1,400 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Com\Tecnick\File; + +use Com\Tecnick\File\Exception as FileException; + +/** + * Com\Tecnick\File\File + * + * Function to read byte-level data + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +class File +{ + /** + * Array of default cURL options for curl_setopt_array. + * + * @var array cURL options. + */ + protected const CURLOPT_DEFAULT = [ + CURLOPT_CONNECTTIMEOUT => 5, + CURLOPT_MAXREDIRS => 5, + CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP | CURLPROTO_FTP | CURLPROTO_FTPS, + CURLOPT_SSL_VERIFYHOST => 2, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_TIMEOUT => 30, + CURLOPT_USERAGENT => 'tc-lib-file', + ]; + + /** + * Array of fixed cURL options for curl_setopt_array. + * + * @var array cURL options. + */ + protected const CURLOPT_FIXED = [ + CURLOPT_FAILONERROR => true, + CURLOPT_RETURNTRANSFER => true, + ]; + + /** + * Custom cURL options for curl_setopt_array. + * + * @var array cURL options. + */ + public array $curlopts = []; + + /** + * Wrapper to use fopen only with local files + * + * @param string $filename Name of the file to open + * @param string $mode The fopen mode parameter specifies the type of access you require to the stream + * + * @return resource Returns a file pointer resource on success + * + * @throws FileException in case of error + */ + public function fopenLocal(string $filename, string $mode): mixed + { + if ($this->hasDoubleDots($filename)) { + throw new FileException('path contains parent directory dots'); + } + + if (! str_contains($filename, '://')) { + $filename = 'file://' . $filename; + } elseif (! str_starts_with($filename, 'file://')) { + throw new FileException('this is not a local file'); + } + + $handler = @fopen($filename, $mode); + if ($handler === false) { + throw new FileException('unable to open the file: ' . $filename); + } + + return $handler; + } + + /** + * Read a 4-byte (32 bit) integer from file. + * + * @param resource $resource A file system pointer resource that is typically created using fopen(). + * + * @return int 4-byte integer + */ + public function fReadInt(mixed $resource): int + { + $data = fread($resource, 4); + if ($data === false) { + throw new FileException('unable to read the file'); + } + + $val = unpack('Ni', $data); + return $val === false ? 0 : (is_int($val['i']) ? $val['i'] : 0); + } + + /** + * Binary-safe file read. + * Reads up to length bytes from the file pointer referenced by handle. + * Reading stops as soon as one of the following conditions is met: + * length bytes have been read; EOF (end of file) is reached. + * + * @param ?resource $resource A file system pointer resource that is typically created using fopen(). + * @param int<1, max> $length Number of bytes to read. + * + * @throws FileException in case of error + */ + public function rfRead(mixed $resource, int $length): string + { + $data = false; + if (is_resource($resource)) { + $data = @fread($resource, $length); + } + + if (($data === false) || ($resource === null)) { + throw new FileException('unable to read the file'); + } + + $rest = ($length - strlen($data)); + if (($rest > 0) && ! feof($resource)) { + $stream_meta_data = stream_get_meta_data($resource); + if ($stream_meta_data['unread_bytes'] > 0) { + $data .= $this->rfRead($resource, $rest); + } + } + + return $data; + } + + /** + * Reads entire file into a string. + * The file can be also an URL. + * + * @param string $file Name of the file or URL to read. + */ + public function fileGetContents(string $file): string + { + $alt = $this->getAltFilePaths($file); + foreach ($alt as $path) { + $ret = $this->getFileData($path); + if ($ret !== false) { + return $ret; + } + } + + throw new FileException('unable to read the file: ' . $file); + } + + /** + * Reads entire file into a string. + * The file can be also an URL if the URL wrappers are enabled. + * + * @param string $file Name of the file or URL to read. + * + * @return string|false File content or FALSE in case the file is unreadable + */ + public function getFileData(string $file): string|false + { + if ($this->hasDoubleDots($file) || $this->hasForbiddenProtocol($file)) { + return false; + } + + $ret = @file_get_contents($file); + if ($ret !== false) { + return $ret; + } + + // try to use CURL for URLs + return $this->getUrlData($file); + } + + /** + * Reads entire remote file into a string using CURL + * + * @param string $url URL to read. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + public function getUrlData(string $url): string|false + { + if ( + (ini_get('allow_url_fopen') && ! defined('FORCE_CURL')) + || (! function_exists('curl_init')) + || preg_match('%^(https?|ftp)://%', $url) === 0 + || preg_match('%^(https?|ftp)://%', $url) === false + ) { + return false; + } + + // try to get remote file data using cURL + $curlHandle = curl_init(); + + $curlopts = []; + + if ( + (ini_get('open_basedir') == '') + && (ini_get('safe_mode') === '' + || ini_get('safe_mode') === false) + ) { + $curlopts[CURLOPT_FOLLOWLOCATION] = true; + } + + $curlopts = array_replace($curlopts, self::CURLOPT_DEFAULT); + $curlopts = array_replace($curlopts, $this->curlopts); + $curlopts = array_replace($curlopts, self::CURLOPT_FIXED); + $curlopts[CURLOPT_URL] = $url; + + curl_setopt_array($curlHandle, $curlopts); + + $ret = curl_exec($curlHandle); + curl_close($curlHandle); + return $ret === true ? '' : $ret; + } + + /** + * Returns an array of possible alternative file paths or URLs + * + * @param string $file Name of the file or URL to read. + * + * @return array List of possible alternative file paths or URLs. + */ + public function getAltFilePaths(string $file): array + { + $alt = [$file]; + $alt[] = $this->getAltLocalUrlPath($file); + $url = $this->getAltMissingUrlProtocol($file); + $alt[] = $url; + $alt[] = $this->getAltPathFromUrl($url); + $alt[] = $this->getAltUrlFromPath($file); + return array_unique($alt); + } + + /** + * Replace URL relative path with full real server path + * + * @param string $file Relative URL path + */ + protected function getAltLocalUrlPath(string $file): string + { + if ( + (strlen($file) > 1) + && ($file[0] === '/') + && ($file[1] !== '/') + && ! empty($_SERVER['DOCUMENT_ROOT']) + && is_string($_SERVER['DOCUMENT_ROOT']) + && ($_SERVER['DOCUMENT_ROOT'] !== '/') + ) { + $findroot = strpos($file, (string) $_SERVER['DOCUMENT_ROOT']); + if (($findroot === false) || ($findroot > 1)) { + $file = htmlspecialchars_decode(urldecode($_SERVER['DOCUMENT_ROOT'] . $file)); + } + } + + return $file; + } + + /** + * Add missing local URL protocol. + * + * @param string $file Relative URL path + * + * @return string local path or original $file + */ + protected function getAltMissingUrlProtocol(string $file): string + { + if (preg_match('%^//%', $file) && ! empty($_SERVER['HTTP_HOST'])) { + $file = $this->getDefaultUrlProtocol() . ':' . str_replace(' ', '%20', $file); + } + + return htmlspecialchars_decode($file); + } + + /** + * Get the default URL protocol (http or https). + */ + protected function getDefaultUrlProtocol(): string + { + $protocol = 'http'; + if ( + ! empty($_SERVER['HTTPS']) + && is_string($_SERVER['HTTPS']) + && (strtolower($_SERVER['HTTPS']) != 'off') + ) { + $protocol .= 's'; + } + + return $protocol; + } + + /** + * Add missing local URL protocol. + * + * @param string $url Relative URL path + * + * @return string local path or original $file + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getAltPathFromUrl(string $url): string + { + if ( + preg_match('%^(https?)://%', $url) === 0 + || preg_match('%^(https?)://%', $url) === false + || empty($_SERVER['HTTP_HOST']) + || !is_string($_SERVER['HTTP_HOST']) + || empty($_SERVER['DOCUMENT_ROOT']) + || !is_string($_SERVER['DOCUMENT_ROOT']) + ) { + return $url; + } + + $urldata = parse_url($url); + if (isset($urldata['query']) && $urldata['query'] !== '') { + return $url; + } + + $host = $this->getDefaultUrlProtocol() . '://' . $_SERVER['HTTP_HOST']; + if (str_starts_with($url, $host)) { + // convert URL to full server path + $tmp = str_replace($host, $_SERVER['DOCUMENT_ROOT'], $url); + return htmlspecialchars_decode(urldecode($tmp)); + } + + return $url; + } + + /** + * Get an alternate URL from a file path. + * + * @param string $file File name and path + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getAltUrlFromPath(string $file): string + { + if ( + isset($_SERVER['SCRIPT_URI']) + && is_string($_SERVER['SCRIPT_URI']) + && (preg_match('%^(ftp|https?)://%', $file) === 0 + || preg_match('%^(ftp|https?)://%', $file) === false) + && (preg_match('%^//%', $file) === 0 + || preg_match('%^//%', $file) === false) + ) { + $urldata = @parse_url($_SERVER['SCRIPT_URI']); + if (! is_array($urldata) || ! isset($urldata['scheme']) || ! isset($urldata['host'])) { + return $file; + } + + return $urldata['scheme'] . '://' . $urldata['host'] . (($file[0] == '/') ? '' : '/') . $file; + } + + return $file; + } + + /** + * Check if the path contains parent directory dots ('..'). + * + * @param string $path path to check + * + * @return boolean true if the path is relative + */ + public static function hasDoubleDots($path) + { + return (strpos(str_ireplace('%2E', '.', html_entity_decode($path, ENT_QUOTES, 'UTF-8')), '..') !== false); + } + + /** + * Check if the path contains a non-allowed protocol. + * If a protocol is present ('://'), then only 'file://' and 'https://' are allowed. + * + * @param string $path path to check. + * + * @return boolean true if the protocol is not allowed. + */ + public static function hasForbiddenProtocol($path) + { + return ((strpos($path, '://') !== false) && (preg_match('%^(file|ftp|https?)://%', $path) !== 1)); + } +} diff --git a/vendor/tecnickcom/tc-lib-file/test/ByteTest.php b/vendor/tecnickcom/tc-lib-file/test/ByteTest.php new file mode 100644 index 0000000..e26ad2e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/test/ByteTest.php @@ -0,0 +1,289 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Byte Color class test + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class ByteTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\File\Byte + { + $str = chr(0) . chr(0) . chr(0) . chr(0) + . chr(1) . chr(3) . chr(7) . chr(15) + . chr(31) . chr(63) . chr(127) . chr(255) + . chr(254) . chr(252) . chr(248) . chr(240) + . chr(224) . chr(192) . chr(128) . chr(0) + . chr(255) . chr(255) . chr(255) . chr(255); + return new \Com\Tecnick\File\Byte($str); + } + + #[DataProvider('getByteDataProvider')] + public function testGetByte(int $offset, int $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getByte($offset); + $this->assertEquals($expected, $res); + } + + /** + * @return array + */ + public static function getByteDataProvider(): array + { + return [ + [0, 0], + [1, 0], + [2, 0], + [3, 0], + [4, 1], + [5, 3], + [6, 7], + [7, 15], + [8, 31], + [9, 63], + [10, 127], + [11, 255], + [12, 254], + [13, 252], + [14, 248], + [15, 240], + [16, 224], + [17, 192], + [18, 128], + [19, 0], + [20, 255], + [21, 255], + [22, 255], + [23, 255], + ]; + } + + #[DataProvider('getULongDataProvider')] + public function testGetULong(int $offset, int $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getULong($offset); + $this->assertEquals($expected, $res); + } + + /** + * @return array + */ + public static function getULongDataProvider(): array + { + return [ + [0, 0], + [1, 1], + [2, 259], + [3, 66311], + [4, 16_975_631], + [5, 50_794_271], + [6, 118_431_551], + [7, 253_706_111], + [8, 524_255_231], + [9, 1_065_353_214], + [10, 2_147_483_388], + [11, 4_294_900_984], + [12, 4_277_991_664], + [13, 4_244_173_024], + [14, 4_176_535_744], + [15, 4_041_261_184], + [16, 3_770_712_064], + [17, 3_229_614_335], + [18, 2_147_549_183], + [19, 16_777_215], + [20, 4_294_967_295], + ]; + } + + #[DataProvider('getUShortDataProvider')] + public function testGetUShort(int $offset, int $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getUShort($offset); + $this->assertEquals($expected, $res); + } + + #[DataProvider('getUShortDataProvider')] + public function testGetUFWord(int $offset, int $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getUFWord($offset); + $this->assertEquals($expected, $res); + } + + /** + * @return array + */ + public static function getUShortDataProvider(): array + { + return [ + [0, 0], + [1, 0], + [2, 0], + [3, 1], + [4, 259], + [5, 775], + [6, 1807], + [7, 3871], + [8, 7999], + [9, 16255], + [10, 32767], + [11, 65534], + [12, 65276], + [13, 64760], + [14, 63728], + [15, 61664], + [16, 57536], + [17, 49280], + [18, 32768], + [19, 255], + [20, 65535], + [21, 65535], + [22, 65535], + ]; + } + + #[DataProvider('getShortDataProvider')] + public function testGetShort(int $offset, int $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getShort($offset); + $this->assertEquals($expected, $res); + } + + /** + * @return array + */ + public static function getShortDataProvider(): array + { + return [ + [0, 0], + [1, 0], + [2, 0], + [3, 256], + [4, 769], + [5, 1795], + [6, 3847], + [7, 7951], + [8, 16159], + [9, 32575], + [10, -129], + [11, -257], + [12, -770], + [13, -1796], + [14, -3848], + [15, -7952], + [16, -16160], + [17, -32576], + [18, 128], + [19, -256], + [20, -1], + [21, -1], + [22, -1], + ]; + } + + #[DataProvider('getFWordDataProvider')] + public function testGetFWord(int $offset, int $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getFWord($offset); + $this->assertEquals($expected, $res); + } + + /** + * @return array + */ + public static function getFWordDataProvider(): array + { + return [ + [0, 0], + [1, 0], + [2, 0], + [3, 1], + [4, 259], + [5, 775], + [6, 1807], + [7, 3871], + [8, 7999], + [9, 16255], + [10, 32767], + [11, -2], + [12, -260], + [13, -776], + [14, -1808], + [15, -3872], + [16, -8000], + [17, -16256], + [18, -32768], + [19, 255], + [20, -1], + [21, -1], + [22, -1], + ]; + } + + #[DataProvider('getFixedDataProvider')] + public function testGetFixed(int $offset, int|float $expected): void + { + $byte = $this->getTestObject(); + $res = $byte->getFixed($offset); + $this->assertEquals($expected, $res); + } + + /** + * @return array + */ + public static function getFixedDataProvider(): array + { + return [ + [0, 0], + [1, 0.1], + [2, 0.259], + [3, 1.775], + [4, 259.1807], + [5, 775.3871], + [6, 1807.7999], + [7, 3871.16255], + [8, 7999.32767], + [9, 16255.65534], + [10, 32767.65276], + [11, -2.64760], + [12, -260.63728], + [13, -776.61664], + [14, -1808.57536], + [15, -3872.49280], + [16, -8000.32768], + [17, -16256.255], + [18, -32768.65535], + [19, 255.65535], + [20, -1.65535], + ]; + } +} diff --git a/vendor/tecnickcom/tc-lib-file/test/CacheTest.php b/vendor/tecnickcom/tc-lib-file/test/CacheTest.php new file mode 100644 index 0000000..416c5d9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/test/CacheTest.php @@ -0,0 +1,102 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-filecache + * + * This file is part of tc-lib-pdf-filecache software library. + */ + +namespace Test; + +/** + * Unit Test + * + * @since 2011-05-23 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-filecache + */ +class CacheTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\File\Cache + { + return new \Com\Tecnick\File\Cache('1_2-a+B/c'); + } + + public function testAutoPrefix(): void + { + $cache = new \Com\Tecnick\File\Cache(); + $this->assertNotEmpty($cache->getFilePrefix()); + } + + public function testGetCachePath(): void + { + $cache = $this->getTestObject(); + $cachePath = $cache->getCachePath(); + $this->assertEquals('/', $cachePath[0]); + $this->assertEquals('/', substr($cachePath, -1)); + + $cache->setCachePath(); + $this->assertEquals($cachePath, $cache->getCachePath()); + + $path = '/tmp'; + $cache->setCachePath($path); + $this->assertEquals('/tmp/', $cache->getCachePath()); + } + + public function testGetFilePrefix(): void + { + $cache = $this->getTestObject(); + $filePrefix = $cache->getFilePrefix(); + $this->assertEquals('_1_2-a-B_c_', $filePrefix); + } + + public function testGetNewFileName(): void + { + $cache = $this->getTestObject(); + $val = $cache->getNewFileName('tst', '0123'); + $this->assertNotFalse($val); + $this->bcAssertMatchesRegularExpression('/_1_2-a-B_c_tst_0123_/', $val); + } + + public function testDelete(): void + { + $cache = $this->getTestObject(); + $idk = 0; + for ($idx = 1; $idx <= 2; ++$idx) { + for ($idy = 1; $idy <= 2; ++$idy) { + $file[$idk] = $cache->getNewFileName((string) $idx, (string) $idy); + $this->assertNotFalse($file[$idk]); + file_put_contents($file[$idk], ''); + $this->assertTrue(file_exists($file[$idk])); + ++$idk; + } + } + + $cache->delete('2', '1'); + $this->assertNotFalse($file[2]); + $this->assertFalse(file_exists($file[2])); + + $cache->delete('1'); + $this->assertNotFalse($file[0]); + $this->assertFalse(file_exists($file[0])); + $this->assertNotFalse($file[1]); + $this->assertFalse(file_exists($file[1])); + $this->assertNotFalse($file[3]); + $this->assertTrue(file_exists($file[3])); + + $cache->delete(); + $this->assertFalse(file_exists($file[3])); + } +} diff --git a/vendor/tecnickcom/tc-lib-file/test/DirTest.php b/vendor/tecnickcom/tc-lib-file/test/DirTest.php new file mode 100644 index 0000000..e717075 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/test/DirTest.php @@ -0,0 +1,54 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * File Color class test + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class DirTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\File\Dir + { + return new \Com\Tecnick\File\Dir(); + } + + #[DataProvider('getAltFilePathsDataProvider')] + public function testGetAltFilePaths(string $name, string $expected): void + { + $testObj = $this->getTestObject(); + $dir = $testObj->findParentDir($name); + $this->bcAssertMatchesRegularExpression('#' . $expected . '#', $dir); + } + + /** + * @return array + */ + public static function getAltFilePathsDataProvider(): array + { + return [['', '/src/'], ['missing', '/'], ['src', '/src/']]; + } +} diff --git a/vendor/tecnickcom/tc-lib-file/test/FileTest.php b/vendor/tecnickcom/tc-lib-file/test/FileTest.php new file mode 100644 index 0000000..edd290a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/test/FileTest.php @@ -0,0 +1,224 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * File Color class test + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class FileTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\File\File + { + return new \Com\Tecnick\File\File(); + } + + public function testFopenLocal(): void + { + $file = $this->getTestObject(); + $handle = $file->fopenLocal(__FILE__, 'r'); + $this->bcAssertIsResource($handle); + fclose($handle); + } + + public function testFopenLocalNonLocal(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->fopenLocal('http://www.example.com/test.txt', 'r'); + } + + public function testFopenLocalMissing(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->fopenLocal('/missing_error.txt', 'r'); + } + + public function testFopenLocalDoubleDot(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->fopenLocal('/tmp/invalid/../test.txt', 'r'); + } + + public function testfReadInt(): void + { + $file = $this->getTestObject(); + $handle = fopen(__FILE__, 'r'); + $this->assertNotFalse($handle); + $res = $file->fReadInt($handle); + // 'assertEquals(1_010_790_504, $res); + fclose($handle); + } + + public function testRfRead(): void + { + $file = $this->getTestObject(); + $handle = fopen(dirname(__DIR__) . '/src/File.php', 'rb'); + $this->assertNotFalse($handle); + $res = $file->rfRead($handle, 2); + $this->assertEquals('rfRead($handle, 3); + $this->assertEquals('php', $res); + fclose($handle); + } + + public function testRfReadException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->rfRead(null, 2); + } + + /** + * @param string $file File path + * @param array{string, array} $expected Expected result + */ + #[DataProvider('getAltFilePathsDataProvider')] + public function testGetAltFilePaths(string $file, array $expected): void + { + $testObj = $this->getTestObject(); + $_SERVER['DOCUMENT_ROOT'] = '/var/www'; + $_SERVER['HTTP_HOST'] = 'localhost'; + $_SERVER['HTTPS'] = 'on'; + $_SERVER['SCRIPT_URI'] = 'https://localhost/path/example.php'; + $alt = $testObj->getAltFilePaths($file); + $this->assertEquals($expected, $alt); + } + + /** + * Data provider for testGetAltFilePaths + * + * @return array}> + */ + public static function getAltFilePathsDataProvider(): array + { + return [ + [ + 'http://www.example.com/test.txt', + [ + 0 => 'http://www.example.com/test.txt', + ], + ], + [ + 'https://localhost/path/test.txt', + [ + 0 => 'https://localhost/path/test.txt', + 3 => '/var/www/path/test.txt', + ], + ], + [ + '//www.example.com/space test.txt', + [ + 0 => '//www.example.com/space test.txt', + 2 => 'https://www.example.com/space%20test.txt', + ], + ], + [ + '/path/test.txt', + [ + 0 => '/path/test.txt', + 1 => '/var/www/path/test.txt', + 4 => 'https://localhost/path/test.txt', + ], + ], + [ + 'https://localhost/path/test.php?a=0&b=1&c=2;&d="a+b%20c"', + [ + 0 => 'https://localhost/path/test.php?a=0&b=1&c=2;&d="a+b%20c"', + 2 => 'https://localhost/path/test.php?a=0&b=1&c=2;&d="a+b%20c"', + ], + ], + [ + 'path/test.txt', + [ + 0 => 'path/test.txt', + 4 => 'https://localhost/path/test.txt', + ], + ], + ]; + } + + public function testFileGetContentsMissingException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->fileGetContents('missing.txt'); + } + + public function testFileGetContentsDoubleDotException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->fileGetContents('/tmp/something/../test.txt'); + } + + public function testFileGetContentsForbiddenProtocolException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + $file->fileGetContents('phar://test.txt'); + } + + public function testFileGetContents(): void + { + $file = $this->getTestObject(); + $res = $file->fileGetContents(__FILE__); + $this->assertEquals('bcExpectException('\\' . \Com\Tecnick\File\Exception::class); + $file = $this->getTestObject(); + define('FORCE_CURL', true); + $file->fileGetContents('http://www.example.com/test.txt'); + } + + public function testHasDoubleDots(): void + { + $file = $this->getTestObject(); + $res = $file->hasDoubleDots('/tmp/../test.txt'); + $this->assertTrue($res); + $res = $file->hasDoubleDots('/tmp/test.txt'); + $this->assertFalse($res); + } + + public function testHasForbiddenProtocol(): void + { + $file = $this->getTestObject(); + $res = $file->hasForbiddenProtocol('phar://test.txt'); + $this->assertTrue($res); + $res = $file->hasForbiddenProtocol('http://www.example.com/test.txt'); + $this->assertFalse($res); + $res = $file->hasForbiddenProtocol('file://some/file.txt'); + $this->assertFalse($res); + $res = $file->hasForbiddenProtocol('./some/file.txt'); + $this->assertFalse($res); + } +} diff --git a/vendor/tecnickcom/tc-lib-file/test/TestUtil.php b/vendor/tecnickcom/tc-lib-file/test/TestUtil.php new file mode 100644 index 0000000..1cae06d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-file/test/TestUtil.php @@ -0,0 +1,60 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Test Util + * + * @since 2020-12-19 + * @category Library + * @package file + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class TestUtil extends TestCase +{ + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } + + public function bcAssertIsResource(mixed $res): void + { + parent::assertIsResource($res); + } + + public function bcAssertMatchesRegularExpression(string $pattern, string $string, string $message = ''): void + { + parent::assertMatchesRegularExpression($pattern, $string, $message); + } +} diff --git a/vendor/tecnickcom/tc-lib-file/test/empty.txt b/vendor/tecnickcom/tc-lib-file/test/empty.txt new file mode 100644 index 0000000..e69de29 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.editorconfig b/vendor/tecnickcom/tc-lib-pdf-encrypt/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/.gitignore b/vendor/tecnickcom/tc-lib-pdf-encrypt/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/CODEOWNERS b/vendor/tecnickcom/tc-lib-pdf-encrypt/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/LICENSE b/vendor/tecnickcom/tc-lib-pdf-encrypt/LICENSE new file mode 100644 index 0000000..7248734 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-pdf-encrypt +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/Makefile b/vendor/tecnickcom/tc-lib-pdf-encrypt/Makefile new file mode 100644 index 0000000..6d0dc17 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/Makefile @@ -0,0 +1,282 @@ +# makefile +# +# @since 2015-02-21 +# @category Library +# @package PdfEncrypt +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf-encrypt +# +# This file is part of tc-lib-pdf-encrypt software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf-encrypt + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Pdf/Encrypt/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# Set default OpenSSL configuration file +ifeq ($(OPENSSL_CONF),) + OPENSSL_CONF=$(CURRENTDIR)openssl.cnf +endif + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) $(OPENSSL_CONF) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + OPENSSL_CONF=${OPENSSL_CONF} XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/README.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/README.md new file mode 100644 index 0000000..e3e59bb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/README.md @@ -0,0 +1,149 @@ +# tc-lib-pdf-encrypt +*PHP library to encrypt data for PDF* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-pdf-encrypt/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-encrypt) +![Build](https://github.com/tecnickcom/tc-lib-pdf-encrypt/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-pdf-encrypt/graph/badge.svg?token=Pv1MNH3X3v)](https://codecov.io/gh/tecnickcom/tc-lib-pdf-encrypt) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-pdf-encrypt/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-encrypt) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-pdf-encrypt/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-encrypt) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Pdf\Encrypt +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-pdf-encrypt +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf-encrypt + +## Description + +PHP library to encrypt data for PDF. + +The initial source code has been derived from [TCPDF](). + + +### OpenSSL 3 + +When using OpenSSL 3 some legacy providers are disabled by default. +This will trigger the following error when executing the test: + +``` +error:0308010C:digital envelope routines::unsupported +``` + +Legacy provider can be enabled by followign the instructions at: https://wiki.openssl.org/index.php/OpenSSL_3.0#Providers + +```bash +sudo nano /etc/ssl/openssl.cnf +``` + +```bash + openssl_conf = openssl_init + + [openssl_init] + providers = provider_sect + + [provider_sect] + default = default_sect + legacy = legacy_sect + + [default_sect] + activate = 1 + + [legacy_sect] + activate = 1 +``` + +An alternative OpenSSL configuration file is provided on and set by default in the Makefile. +To overrride the custom OpenSSL configuration file set the following environment variable: + +```bash +export OPENSSL_CONF=/etc/ssl/openssl.cnf +``` + +## Getting started + +This library requires the openssl php extension. + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-pdf-encrypt": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-pdf-encrypt ^2.0 +``` + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Pdf/Encrypt/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/RELEASE b/vendor/tecnickcom/tc-lib-pdf-encrypt/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/SECURITY.md b/vendor/tecnickcom/tc-lib-pdf-encrypt/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/VERSION b/vendor/tecnickcom/tc-lib-pdf-encrypt/VERSION new file mode 100644 index 0000000..291d0de --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/VERSION @@ -0,0 +1 @@ +2.1.16 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/composer.json b/vendor/tecnickcom/tc-lib-pdf-encrypt/composer.json new file mode 100644 index 0000000..ce5e8ff --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/composer.json @@ -0,0 +1,46 @@ +{ + "name": "tecnickcom/tc-lib-pdf-encrypt", + "description": "PHP library to encrypt data for PDF", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-pdf-encrypt", + "PDF", + "encrypt", + "encryption", + "AES", + "RC4" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-date": "*", + "ext-hash": "*", + "ext-openssl": "*", + "ext-pcre": "*" + }, + "suggest": { + "ext-posix": "*" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Encrypt\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/openssl.cnf b/vendor/tecnickcom/tc-lib-pdf-encrypt/openssl.cnf new file mode 100644 index 0000000..deda261 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/openssl.cnf @@ -0,0 +1,400 @@ +# +# OpenSSL example configuration file. +# See doc/man5/config.pod for more info. +# +# This is mostly being used for generation of certificate requests, +# but may be used for auto loading of providers + +# Note that you can include other files from the main configuration +# file using the .include directive. +#.include filename + +# This definition stops the following lines choking if HOME isn't +# defined. +HOME = . + + # Use this in order to automatically load providers. +openssl_conf = openssl_init + +# Comment out the next line to ignore configuration errors +config_diagnostics = 1 + +# Extra OBJECT IDENTIFIER info: +# oid_file = $ENV::HOME/.oid +oid_section = new_oids + +# To use this configuration file with the "-extfile" option of the +# "openssl x509" utility, name here the section containing the +# X.509v3 extensions to use: +# extensions = +# (Alternatively, use a configuration file that has only +# X.509v3 extensions in its main [= default] section.) + +[ new_oids ] +# We can add new OIDs in here for use by 'ca', 'req' and 'ts'. +# Add a simple OID like this: +# testoid1=1.2.3.4 +# Or use config file substitution like this: +# testoid2=${testoid1}.5.6 + +# Policies used by the TSA examples. +tsa_policy1 = 1.2.3.4.1 +tsa_policy2 = 1.2.3.4.5.6 +tsa_policy3 = 1.2.3.4.5.7 + +# For FIPS +# Optionally include a file that is generated by the OpenSSL fipsinstall +# application. This file contains configuration data required by the OpenSSL +# fips provider. It contains a named section e.g. [fips_sect] which is +# referenced from the [provider_sect] below. +# Refer to the OpenSSL security policy for more information. +# .include fipsmodule.cnf + +[openssl_init] +providers = provider_sect +ssl_conf = ssl_sect + +# List of providers to load +[provider_sect] +default = default_sect +legacy = legacy_sect +# The fips section name should match the section name inside the +# included fipsmodule.cnf. +# fips = fips_sect + +# If no providers are activated explicitly, the default one is activated implicitly. +# See man 7 OSSL_PROVIDER-default for more details. +# +# If you add a section explicitly activating any other provider(s), you most +# probably need to explicitly activate the default provider, otherwise it +# becomes unavailable in openssl. As a consequence applications depending on +# OpenSSL may not work correctly which could lead to significant system +# problems including inability to remotely access the system. +[default_sect] +activate = 1 + +[legacy_sect] +activate = 1 + +#################################################################### +[ ca ] +default_ca = CA_default # The default ca section + +#################################################################### +[ CA_default ] + +dir = ./demoCA # Where everything is kept +certs = $dir/certs # Where the issued certs are kept +crl_dir = $dir/crl # Where the issued crl are kept +database = $dir/index.txt # database index file. +#unique_subject = no # Set to 'no' to allow creation of + # several certs with same subject. +new_certs_dir = $dir/newcerts # default place for new certs. + +certificate = $dir/cacert.pem # The CA certificate +serial = $dir/serial # The current serial number +crlnumber = $dir/crlnumber # the current crl number + # must be commented out to leave a V1 CRL +crl = $dir/crl.pem # The current CRL +private_key = $dir/private/cakey.pem# The private key + +x509_extensions = usr_cert # The extensions to add to the cert + +# Comment out the following two lines for the "traditional" +# (and highly broken) format. +name_opt = ca_default # Subject Name options +cert_opt = ca_default # Certificate field options + +# Extension copying option: use with caution. +# copy_extensions = copy + +# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs +# so this is commented out by default to leave a V1 CRL. +# crlnumber must also be commented out to leave a V1 CRL. +# crl_extensions = crl_ext + +default_days = 365 # how long to certify for +default_crl_days= 30 # how long before next CRL +default_md = default # use public key default MD +preserve = no # keep passed DN ordering + +# A few difference way of specifying how similar the request should look +# For type CA, the listed attributes must be the same, and the optional +# and supplied fields are just that :-) +policy = policy_match + +# For the CA policy +[ policy_match ] +countryName = match +stateOrProvinceName = match +organizationName = match +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +# For the 'anything' policy +# At this point in time, you must list all acceptable 'object' +# types. +[ policy_anything ] +countryName = optional +stateOrProvinceName = optional +localityName = optional +organizationName = optional +organizationalUnitName = optional +commonName = supplied +emailAddress = optional + +#################################################################### +[ req ] +default_bits = 2048 +default_keyfile = privkey.pem +distinguished_name = req_distinguished_name +attributes = req_attributes +x509_extensions = v3_ca # The extensions to add to the self signed cert + +# Passwords for private keys if not present they will be prompted for +# input_password = secret +# output_password = secret + +# This sets a mask for permitted string types. There are several options. +# default: PrintableString, T61String, BMPString. +# pkix : PrintableString, BMPString (PKIX recommendation before 2004) +# utf8only: only UTF8Strings (PKIX recommendation after 2004). +# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). +# MASK:XXXX a literal mask value. +# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings. +string_mask = utf8only + +# req_extensions = v3_req # The extensions to add to a certificate request + +[ req_distinguished_name ] +countryName = Country Name (2 letter code) +countryName_default = AU +countryName_min = 2 +countryName_max = 2 + +stateOrProvinceName = State or Province Name (full name) +stateOrProvinceName_default = Some-State + +localityName = Locality Name (eg, city) + +0.organizationName = Organization Name (eg, company) +0.organizationName_default = Internet Widgits Pty Ltd + +# we can do this but it is not needed normally :-) +#1.organizationName = Second Organization Name (eg, company) +#1.organizationName_default = World Wide Web Pty Ltd + +organizationalUnitName = Organizational Unit Name (eg, section) +#organizationalUnitName_default = + +commonName = Common Name (e.g. server FQDN or YOUR name) +commonName_max = 64 + +emailAddress = Email Address +emailAddress_max = 64 + +# SET-ex3 = SET extension number 3 + +[ req_attributes ] +challengePassword = A challenge password +challengePassword_min = 4 +challengePassword_max = 20 + +unstructuredName = An optional company name + +[ usr_cert ] + +# These extensions are added when 'ca' signs a request. + +# This goes against PKIX guidelines but some CAs do it and some software +# requires this to avoid interpreting an end user certificate as a CA. + +basicConstraints=CA:FALSE + +# This is typical in keyUsage for a client certificate. +# keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +# PKIX recommendations harmless if included in all certificates. +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer + +# This stuff is for subjectAltName and issuerAltname. +# Import the email address. +# subjectAltName=email:copy +# An alternative to produce certificates that aren't +# deprecated according to PKIX. +# subjectAltName=email:move + +# Copy subject details +# issuerAltName=issuer:copy + +# This is required for TSA certificates. +# extendedKeyUsage = critical,timeStamping + +[ v3_req ] + +# Extensions to add to a certificate request + +basicConstraints = CA:FALSE +keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +[ v3_ca ] + + +# Extensions for a typical CA + + +# PKIX recommendation. + +subjectKeyIdentifier=hash + +authorityKeyIdentifier=keyid:always,issuer + +basicConstraints = critical,CA:true + +# Key usage: this is typical for a CA certificate. However since it will +# prevent it being used as an test self-signed certificate it is best +# left out by default. +# keyUsage = cRLSign, keyCertSign + +# Include email address in subject alt name: another PKIX recommendation +# subjectAltName=email:copy +# Copy issuer details +# issuerAltName=issuer:copy + +# DER hex encoding of an extension: beware experts only! +# obj=DER:02:03 +# Where 'obj' is a standard or added object +# You can even override a supported extension: +# basicConstraints= critical, DER:30:03:01:01:FF + +[ crl_ext ] + +# CRL extensions. +# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. + +# issuerAltName=issuer:copy +authorityKeyIdentifier=keyid:always + +[ proxy_cert_ext ] +# These extensions should be added when creating a proxy certificate + +# This goes against PKIX guidelines but some CAs do it and some software +# requires this to avoid interpreting an end user certificate as a CA. + +basicConstraints=CA:FALSE + +# This is typical in keyUsage for a client certificate. +# keyUsage = nonRepudiation, digitalSignature, keyEncipherment + +# PKIX recommendations harmless if included in all certificates. +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer + +# This stuff is for subjectAltName and issuerAltname. +# Import the email address. +# subjectAltName=email:copy +# An alternative to produce certificates that aren't +# deprecated according to PKIX. +# subjectAltName=email:move + +# Copy subject details +# issuerAltName=issuer:copy + +# This really needs to be in place for it to be a proxy certificate. +proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo + +#################################################################### +[ tsa ] + +default_tsa = tsa_config1 # the default TSA section + +[ tsa_config1 ] + +# These are used by the TSA reply generation only. +dir = ./demoCA # TSA root directory +serial = $dir/tsaserial # The current serial number (mandatory) +crypto_device = builtin # OpenSSL engine to use for signing +signer_cert = $dir/tsacert.pem # The TSA signing certificate + # (optional) +certs = $dir/cacert.pem # Certificate chain to include in reply + # (optional) +signer_key = $dir/private/tsakey.pem # The TSA private key (optional) +signer_digest = sha256 # Signing digest to use. (Optional) +default_policy = tsa_policy1 # Policy if request did not specify it + # (optional) +other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) +digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory) +accuracy = secs:1, millisecs:500, microsecs:100 # (optional) +clock_precision_digits = 0 # number of digits after dot. (optional) +ordering = yes # Is ordering defined for timestamps? + # (optional, default: no) +tsa_name = yes # Must the TSA name be included in the reply? + # (optional, default: no) +ess_cert_id_chain = no # Must the ESS cert id chain be included? + # (optional, default: no) +ess_cert_id_alg = sha1 # algorithm to compute certificate + # identifier (optional, default: sha1) + +[insta] # CMP using Insta Demo CA +# Message transfer +server = pki.certificate.fi:8700 +# proxy = # set this as far as needed, e.g., http://192.168.1.1:8080 +# tls_use = 0 +path = pkix/ + +# Server authentication +recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer +ignore_keyusage = 1 # potentially needed quirk +unprotected_errors = 1 # potentially needed quirk +extracertsout = insta.extracerts.pem + +# Client authentication +ref = 3078 # user identification +secret = pass:insta # can be used for both client and server side + +# Generic message options +cmd = ir # default operation, can be overridden on cmd line with, e.g., kur + +# Certificate enrollment +subject = "/CN=openssl-cmp-test" +newkey = insta.priv.pem +out_trusted = insta.ca.crt +certout = insta.cert.pem + +[pbm] # Password-based protection for Insta CA +# Server and client authentication +ref = $insta::ref # 3078 +secret = $insta::secret # pass:insta + +[signature] # Signature-based protection for Insta CA +# Server authentication +trusted = insta.ca.crt # does not include keyUsage digitalSignature + +# Client authentication +secret = # disable PBM +key = $insta::newkey # insta.priv.pem +cert = $insta::certout # insta.cert.pem + +[ir] +cmd = ir + +[cr] +cmd = cr + +[kur] +# Certificate update +cmd = kur +oldcert = $insta::certout # insta.cert.pem + +[rr] +# Certificate revocation +cmd = rr +oldcert = $insta::certout # insta.cert.pem + +[ssl_sect] +system_default = system_default_sect + +[system_default_sect] +CipherString = DEFAULT:@SECLEVEL=2 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/phpcs.xml b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/phpstan.neon b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpunit.xml.dist new file mode 100644 index 0000000..ca50d33 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/autoload.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/autoload.php new file mode 100644 index 0000000..fcb9cea --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(dirname(__DIR__)).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/changelog b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/compat b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/control b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/control new file mode 100644 index 0000000..447e74b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-date, openssl, ${misc:Depends} +Description: PHP PDF Encrypt Library + PHP library to encrypt data for PDF. diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/copyright b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/rules b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/source/format b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/rpm/rpm.spec new file mode 100644 index 0000000..07df0a9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/resources/rpm/rpm.spec @@ -0,0 +1,52 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library to encrypt data for PDF + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-date +Requires: php-hash +Requires: php-openssl +Requires: php-pcre +Requires: php-posix +Requires: openssl + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library to encrypt data for PDF + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Wed Sep 23 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Compute.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Compute.php new file mode 100644 index 0000000..7301b90 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Compute.php @@ -0,0 +1,426 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt; + +use Com\Tecnick\Pdf\Encrypt\Exception as EncException; + +/** + * Com\Tecnick\Pdf\Encrypt\Compute + * + * PHP class to generate encryption data + * + * @since 2008-01-02 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Compute extends \Com\Tecnick\Pdf\Encrypt\Data +{ + /** + * Encrypt data using the specified encrypt type. + * + * @param int|string|false $type Encrypt type. + * @param string $data Data string to encrypt. + * @param string $key Encryption key. + * @param int $objnum Object number. + */ + public function encrypt( + int|string|false $type, + string $data = '', + string $key = '', + int $objnum = 0, + ): string { + if (empty($this->encryptdata['encrypted']) || ($type === false)) { + return $data; + } + + if (! isset(self::ENCMAP[$type])) { + throw new EncException('unknown encryption type: ' . $type); + } + + if (($key == '') && ($type == $this->encryptdata['mode'])) { + if ($this->encryptdata['mode'] < 3) { + $key = $this->getObjectKey($objnum); + } elseif ($this->encryptdata['mode'] == 3) { + $key = $this->encryptdata['key']; + } + } + + $class = '\\Com\\Tecnick\\Pdf\\Encrypt\\Type\\' . self::ENCMAP[$type]; + $obj = new $class(); + return $obj->encrypt($data, $key); + } + + /** + * Compute encryption key depending on object number where the encrypted data is stored. + * This is used for all strings and streams without crypt filter specifier. + * + * @param int $objnum Object number. + */ + public function getObjectKey(int $objnum): string + { + $objkey = $this->encryptdata['key'] . pack('VXxx', $objnum); + if ($this->encryptdata['mode'] == 2) { + // AES-128 padding + $objkey .= "\x73\x41\x6C\x54"; // sAlT + } + + $objkey = substr($this->encrypt('MD5-16', $objkey, 'H*'), 0, (($this->encryptdata['Length'] / 8) + 5)); + return substr($objkey, 0, 16); + } + + /** + * Convert encryption P value to a string of bytes, low-order byte first. + * + * @param int $protection 32bit encryption permission value (P value). + */ + public function getEncPermissionsString(int $protection): string + { + $binprot = sprintf('%032b', $protection); + return chr((int) bindec(substr($binprot, 24, 8))) + . chr((int) bindec(substr($binprot, 16, 8))) + . chr((int) bindec(substr($binprot, 8, 8))) + . chr((int) bindec(substr($binprot, 0, 8))); + } + + /** + * Return the permission code used on encryption (P value). + * + * @param array $permissions The set of permissions (specify the ones you want to block). + * @param int $mode Encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit. + */ + public function getUserPermissionCode( + array $permissions, + int $mode = 0, + ): int { + $protection = 2_147_422_012; // 32 bit: (01111111 11111111 00001111 00111100) + foreach ($permissions as $permission) { + if (! isset(self::PERMBITS[$permission])) { + continue; + } + + if ($mode <= 0 && self::PERMBITS[$permission] > 32) { + continue; + } + + // set only valid permissions + if (self::PERMBITS[$permission] == 2) { + // the logic for bit 2 is inverted (cleared by default) + $protection += self::PERMBITS[$permission]; + } else { + $protection -= self::PERMBITS[$permission]; + } + } + + return $protection; + } + + /** + * Compute UE value + */ + protected function getUEValue(): string + { + $hashkey = hash('sha256', $this->encryptdata['user_password'] . $this->encryptdata['UKS'], true); + return $this->encrypt('AESnopad', $this->encryptdata['key'], $hashkey); + } + + /** + * Compute OE value + */ + protected function getOEValue(): string + { + $hashkey = hash( + 'sha256', + $this->encryptdata['owner_password'] . $this->encryptdata['OKS'] . $this->encryptdata['U'], + true + ); + return $this->encrypt('AESnopad', $this->encryptdata['key'], $hashkey); + } + + /** + * Compute U value + */ + protected function getUvalue(): string + { + if ($this->encryptdata['mode'] == 0) { // RC4-40 + return $this->encrypt('RC4', self::ENCPAD, $this->encryptdata['key']); + } + + if ($this->encryptdata['mode'] < 3) { // RC4-128, AES-128 + $tmp = $this->encrypt('MD5-16', self::ENCPAD . $this->encryptdata['fileid'], 'H*'); + $enc = $this->encrypt('RC4', $tmp, $this->encryptdata['key']); + $len = strlen($tmp); + for ($idx = 1; $idx <= 19; ++$idx) { + $ekey = ''; + for ($jdx = 0; $jdx < $len; ++$jdx) { + $ekey .= chr(ord($this->encryptdata['key'][$jdx]) ^ $idx); + } + + $enc = $this->encrypt('RC4', $enc, $ekey); + } + + $enc .= str_repeat("\x00", 16); + return substr($enc, 0, 32); + } + + // AES-256 ($this->encryptdata['mode'] = 3) + $seed = $this->encrypt('MD5-16', $this->encrypt('seed'), 'H*'); + // User Validation Salt + $this->encryptdata['UVS'] = substr($seed, 0, 8); + // User Key Salt + $this->encryptdata['UKS'] = substr($seed, 8, 16); + return hash('sha256', $this->encryptdata['user_password'] . $this->encryptdata['UVS'], true) + . $this->encryptdata['UVS'] . $this->encryptdata['UKS']; + } + + /** + * Compute O value + */ + protected function getOValue(): string + { + if ($this->encryptdata['mode'] < 3) { // RC4-40, RC4-128, AES-128 + $tmp = $this->encrypt('MD5-16', $this->encryptdata['owner_password'], 'H*'); + if ($this->encryptdata['mode'] > 0) { + for ($idx = 0; $idx < 50; ++$idx) { + $tmp = $this->encrypt('MD5-16', $tmp, 'H*'); + } + } + + $owner_key = substr($tmp, 0, ($this->encryptdata['Length'] / 8)); + $enc = $this->encrypt('RC4', $this->encryptdata['user_password'], $owner_key); + if ($this->encryptdata['mode'] > 0) { + $len = strlen($owner_key); + for ($idx = 1; $idx <= 19; ++$idx) { + $ekey = ''; + for ($jdx = 0; $jdx < $len; ++$jdx) { + $ekey .= chr(ord($owner_key[$jdx]) ^ $idx); + } + + $enc = $this->encrypt('RC4', $enc, $ekey); + } + } + + return $enc; + } + + // AES-256 ($this->encryptdata['mode'] = 3) + $seed = $this->encrypt('MD5-16', $this->encrypt('seed'), 'H*'); + // Owner Validation Salt + $this->encryptdata['OVS'] = substr($seed, 0, 8); + // Owner Key Salt + $this->encryptdata['OKS'] = substr($seed, 8, 16); + return hash( + 'sha256', + $this->encryptdata['owner_password'] . $this->encryptdata['OVS'] . $this->encryptdata['U'], + true + ) . $this->encryptdata['OVS'] . $this->encryptdata['OKS']; + } + + /** + * Compute encryption key + */ + protected function generateEncryptionKey(): void + { + if ($this->encryptdata['pubkey']) { + $this->generatePublicEncryptionKey(); + } else { // standard mode + $this->generateStandardEncryptionKey(); + } + } + + /** + * Compute standard encryption key + */ + protected function generateStandardEncryptionKey(): void + { + $keybytelen = ($this->encryptdata['Length'] / 8); + if ($this->encryptdata['mode'] == 3) { // AES-256 + // generate 256 bit random key + $this->encryptdata['key'] = substr(hash('sha256', $this->encrypt('seed'), true), 0, $keybytelen); + // truncate passwords + $this->encryptdata['user_password'] = substr($this->encryptdata['user_password'], 0, 127); + $this->encryptdata['owner_password'] = substr($this->encryptdata['owner_password'], 0, 127); + $this->encryptdata['U'] = $this->getUValue(); + $this->encryptdata['UE'] = $this->getUEValue(); + $this->encryptdata['O'] = $this->getOValue(); + $this->encryptdata['OE'] = $this->getOEValue(); + $this->encryptdata['P'] = $this->encryptdata['protection']; + // Computing the encryption dictionary's Perms (permissions) value + $perms = $this->getEncPermissionsString($this->encryptdata['protection']); // bytes 0-3 + $perms .= chr(255) . chr(255) . chr(255) . chr(255); // bytes 4-7 + $perms .= 'T'; // $this->encryptdata['CF']['EncryptMetadata'] is never set, so we always encrypt + $perms .= 'adb'; // bytes 9-11 + $perms .= 'nick'; // bytes 12-15 + $this->encryptdata['perms'] = $this->encrypt('AESnopad', $perms, $this->encryptdata['key']); + } else { // RC4-40, RC4-128, AES-128 + // Pad passwords + $this->encryptdata['user_password'] = substr($this->encryptdata['user_password'] . self::ENCPAD, 0, 32); + $this->encryptdata['owner_password'] = substr($this->encryptdata['owner_password'] . self::ENCPAD, 0, 32); + $this->encryptdata['O'] = $this->getOValue(); + // get default permissions (reverse byte order) + $permissions = $this->getEncPermissionsString($this->encryptdata['protection']); + // Compute encryption key + $tmp = $this->encrypt( + 'MD5-16', + $this->encryptdata['user_password'] + . $this->encryptdata['O'] + . $permissions + . $this->encryptdata['fileid'], + 'H*' + ); + if ($this->encryptdata['mode'] > 0) { + for ($idx = 0; $idx < 50; ++$idx) { + $tmp = $this->encrypt('MD5-16', substr($tmp, 0, $keybytelen), 'H*'); + } + } + + $this->encryptdata['key'] = substr($tmp, 0, $keybytelen); + $this->encryptdata['U'] = $this->getUValue(); + $this->encryptdata['P'] = $this->encryptdata['protection']; + } + } + + /** + * Compute public encryption key + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + */ + protected function generatePublicEncryptionKey(): void + { + $keybytelen = ($this->encryptdata['Length'] / 8); + // random 20-byte seed + $seed = sha1($this->encrypt('seed'), true); + $recipient_bytes = ''; + $pubkeys = $this->encryptdata['pubkeys'] ?? throw new EncException('Missing pubkeys'); + foreach ($pubkeys as $pubkey) { + // for each public certificate + if (isset($pubkey['p'])) { + $pkprotection = $this->getUserPermissionCode($pubkey['p'], $this->encryptdata['mode']); + } else { + $pkprotection = $this->encryptdata['protection']; + } + + // get default permissions (reverse byte order) + $pkpermissions = $this->getEncPermissionsString($pkprotection); + // envelope data + $envelope = $seed . $pkpermissions; + + // write the envelope data to a temporary file + $tempkeyfile = tempnam( + sys_get_temp_dir(), + '__tcpdf_key_' . md5($this->encryptdata['fileid'] . $envelope) . '_' + ); + if ($tempkeyfile === false) { + throw new EncException('Unable to generate temporary key file name'); + } + + if (file_put_contents($tempkeyfile, $envelope) === false) { + throw new EncException('Unable to create temporary key file: ' . $tempkeyfile); + } + + $tempencfile = tempnam( + sys_get_temp_dir(), + '__tcpdf_enc_' . md5($this->encryptdata['fileid'] . $envelope) . '_' + ); + if ($tempencfile === false) { + throw new EncException('Unable to generate temporary key file name'); + } + + if (! function_exists('openssl_pkcs7_encrypt')) { + throw new EncException( + 'Unable to encrypt the file: ' . $tempkeyfile . "\n" + . 'Public-Key Security requires openssl_pkcs7_encrypt.' + ); + } + + $pkey = file_get_contents($pubkey['c']); + if ($pkey === false) { + throw new EncException('Unable to read public key file: ' . $pubkey['c']); + } + + if ( + ! openssl_pkcs7_encrypt( + $tempkeyfile, + $tempencfile, + $pkey, + [], + PKCS7_BINARY + ) + ) { + throw new EncException( + 'Unable to encrypt the file: ' . $tempkeyfile . "\n" + . 'OpenSSL error: ' . openssl_error_string() + ); + } + + // read encryption signature + $signature = file_get_contents($tempencfile); + if ($signature === false) { + throw new EncException('Unable to read signature file: ' . $tempencfile); + } + + $sigcontentpos = strpos($signature, 'Content-Disposition'); + if ($sigcontentpos === false) { + throw new EncException('Unable to find signature content'); + } + + // extract signature + $signature = substr($signature, $sigcontentpos); + + $tmparr = explode("\n\n", $signature); + $signature = trim($tmparr[1]); + unset($tmparr); + // decode signature + $signature = base64_decode($signature); + if ($signature === false) { + throw new EncException('Unable to decode signature: ' . $tempencfile); + } + + $sigarr = unpack('H*', $signature); + if ($sigarr === false) { + throw new EncException('Unable to unpack signature: ' . $tempencfile); + } + + // convert signature to hex + $hexsignature = current($sigarr); + if (($hexsignature === false) || (!is_string($hexsignature))) { + throw new EncException('Unable to convert signature: ' . $tempencfile); + } + + // store signature on recipients array + $this->encryptdata['Recipients'][] = $hexsignature; + + // The bytes of each item in the Recipients array of PKCS#7 objects + // in the order in which they appear in the array + $recipient_bytes .= $signature; + } + + // calculate encryption key + if ($this->encryptdata['mode'] == 3) { // AES-256 + $this->encryptdata['key'] = substr(hash('sha256', $seed . $recipient_bytes, true), 0, $keybytelen); + } else { // RC4-40, RC4-128, AES-128 + $this->encryptdata['key'] = substr(sha1($seed . $recipient_bytes, true), 0, $keybytelen); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Data.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Data.php new file mode 100644 index 0000000..07b329f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Data.php @@ -0,0 +1,179 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt; + +/** + * Com\Tecnick\Pdf\Encrypt\Data + * + * Ecrypt common data + * + * @since 2008-01-02 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +abstract class Data extends \Com\Tecnick\Pdf\Encrypt\Output +{ + /** + * Encryption padding string. + * + * @var string + */ + protected const ENCPAD = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00" + . "\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6" + . "\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53" + . "\x69\x7A"; + + /** + * Map permission modes and bits. + * + * @var array + */ + protected const PERMBITS = [ + // bit 2 -- inverted logic: cleared by default + // When set permits change of encryption and enables all other permissions. + 'owner' => 2, + + // bit 3 + // Print the document. + 'print' => 4, + + // bit 4 + // Modify the contents of the document by operations other than those controlled + // by 'fill-forms', 'extract' and 'assemble'. + 'modify' => 8, + + // bit 5 + // Copy or otherwise extract text and graphics from the document. + 'copy' => 16, + + // bit 6 + // Add or modify text annotations, fill in interactive form fields, and, + // if 'modify' is also set, create or modify interactive form fields + // (including signature fields). + 'annot-forms' => 32, + + // bit 9 + // Fill in existing interactive form fields (including signature fields), + // even if 'annot-forms' is not specified. + 'fill-forms' => 256, + + // bit 10 + // Extract text and graphics (in support of accessibility to users with + // disabilities or for other purposes). + 'extract' => 512, + + // bit 11 + // Assemble the document (insert, rotate, or delete pages and create bookmarks + // or thumbnail images), even if 'modify' is not set. + 'assemble' => 1024, + + // bit 12 + // Print the document to a representation from which a faithful digital copy of the + // PDF content could be generated. When this is not set, printing is limited to a + // low-level representation of the appearance, possibly of degraded quality. + 'print-high' => 2048, + ]; + + /** + * Encryption settings. + * + * @var array, + * }> + */ + protected const ENCRYPT_SETTINGS = [ + 0 => [ + // RC4 40 bit + 'V' => 1, + 'Length' => 40, + 'CF' => [ + 'CFM' => 'V2', + 'AuthEvent' => 'DocOpen', + ], + 'SubFilter' => '', + 'Recipients' => [], + ], + 1 => [ + // RC4 128 bit + 'V' => 2, + 'Length' => 128, + 'CF' => [ + 'CFM' => 'V2', + 'AuthEvent' => 'DocOpen', + ], + 'SubFilter' => 'adbe.pkcs7.s4', + 'Recipients' => [], + ], + 2 => [ + // AES 128 bit + 'V' => 4, + 'Length' => 128, + 'CF' => [ + 'CFM' => 'AESV2', + 'Length' => 16, + 'AuthEvent' => 'DocOpen', + ], + 'SubFilter' => 'adbe.pkcs7.s5', + 'Recipients' => [], + ], + 3 => [ + // AES 256 bit + 'V' => 5, + 'Length' => 256, + 'CF' => [ + 'CFM' => 'AESV3', + 'Length' => 32, + 'AuthEvent' => 'DocOpen', + ], + 'SubFilter' => 'adbe.pkcs7.s5', + 'Recipients' => [], + ], + ]; + + /** + * Define a list of available encrypt encoders. + * + * @var array + */ + protected const ENCMAP = [ + 0 => 'RCFourFive', // RC4-40 + 1 => 'RCFourSixteen', // RC4-128 + 2 => 'AESSixteen', // AES-128 + 3 => 'AESThirtytwo', // AES-256 + 'RC4' => 'RCFour', // RC4-40 + 'RC4-40' => 'RCFourFive', // RC4-40 + 'RC4-128' => 'RCFourSixteen', // RC4-128 + 'AES' => 'AES', // AES-256 + 'AES-128' => 'AESSixteen', // AES-128 + 'AES-256' => 'AESThirtytwo', // AES-256 + 'AESnopad' => 'AESnopad', // AES - no padding + 'MD5-16' => 'MDFiveSixteen', // MD5-16 + 'seed' => 'Seed', // Random seed string + ]; +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Encrypt.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Encrypt.php new file mode 100644 index 0000000..05b6501 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Encrypt.php @@ -0,0 +1,272 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt; + +use Com\Tecnick\Pdf\Encrypt\Exception as EncException; + +/** + * Com\Tecnick\Pdf\Encrypt\Encrypt + * + * PHP class for encrypting data for PDF documents + * + * @since 2008-01-02 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * @phpstan-import-type TEncryptData from Output + */ +class Encrypt extends \Com\Tecnick\Pdf\Encrypt\Compute +{ + /** + * Set PDF document protection (permission settings) + * + * NOTES: The protection against modification is for people who have the full Acrobat product. + * If you don't set any password, the document will open as usual. + * If you set a user password, the PDF viewer will ask for it before displaying the document. + * The master password, if different from the user one, can be used to get full access. + * Protecting a document requires to encrypt it, which requires long processign time and may cause timeouts. + * + * @param bool $enabled False if the encryption is disabled (i.e. the document is in PDF/A mode) + * @param string $file_id File ID + * @param int $mode Encryption strength: 0 = RC4 40; 1 = RC4 128; 2 = AES 128; 3 = AES 256 + * @param array $permissions The set of permissions (specify the ones you want to block): + * 'owner' // When set permits change of encryption and enables all other permissions. + * // (inverted logic: cleared by default). + * 'print' // Print the document. + * 'modify' // Modify the contents of the document by operations other than those controlled + * // by 'fill-forms', 'extract' and 'assemble'. + * 'copy' // Copy or otherwise extract text and graphics from the document. + * 'annot-forms' // Add or modify text annotations, fill in interactive form fields, and, + * // if 'modify' is also set, create or modify interactive form fields + * // (including signature fields). + * 'fill-forms' // Fill in existing interactive form fields (including signature fields), + * // even if 'annot-forms' is not specified. + * 'extract' // Extract text and graphics (in support of accessibility to users with + * // disabilities or for other purposes). + * 'assemble' // Assemble the document (insert, rotate, or delete pages and create bookmarks + * // or thumbnail images), even if 'modify' is not set. + * 'print-high' // Print the document to a representation from which a faithful digital copy of the + * // PDF content could be generated. When this is not set, printing is limited to a + * // low-level representation of the appearance, possibly of degraded quality. + * + * @param string $user_pass User password. Empty by default. + * @param string $owner_pass Owner password. If not specified, a random value is used. + * @param ?array{array{'c':string, 'p':array}} $pubkeys + * Array of recipients containing public-key certificates ('c') and permissions ('p'). + * For example: + * array(array('c' => 'file://../examples/data/cert/test.crt', 'p' => array('print'))) + * To create self-signed certificate: + * openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout cert.pem -out cert.pem + * To export crt to p12: openssl pkcs12 -export -in cert.pem -out cert.p12 + * To convert pfx certificate to pem: openssl pkcs12 -in cert.pfx -out cert.pem -nodes + */ + public function __construct( + bool $enabled = false, + string $file_id = '', + int $mode = 0, + array $permissions = [ + 'print', + 'modify', + 'copy', + 'annot-forms', + 'fill-forms', + 'extract', + 'assemble', + 'print-high', + ], + string $user_pass = '', + string $owner_pass = '', + array|null $pubkeys = null + ) { + if (! $enabled) { + return; + } + + $this->encryptdata['protection'] = $this->getUserPermissionCode($permissions, $mode); + + if ($pubkeys !== null && $pubkeys !== []) { + // public-key mode + $this->encryptdata['pubkeys'] = $pubkeys; + if ($mode == 0) { + // public-Key Security requires at least 128 bit + $mode = 1; + } + + // Set Public-Key filter (available are: Entrust.PPKEF, Adobe.PPKLite, Adobe.PubSec) + $this->encryptdata['pubkey'] = true; + $this->encryptdata['Filter'] = 'Adobe.PubSec'; + $this->encryptdata['StmF'] = 'DefaultCryptFilter'; + $this->encryptdata['StrF'] = 'DefaultCryptFilter'; + } else { + // standard mode (password mode) + $this->encryptdata['pubkey'] = false; + $this->encryptdata['Filter'] = 'Standard'; + $this->encryptdata['StmF'] = 'StdCF'; + $this->encryptdata['StrF'] = 'StdCF'; + } + + if ($owner_pass == '') { + $owner_pass = md5($this->encrypt('seed')); + } + + $this->encryptdata['user_password'] = $user_pass; + $this->encryptdata['owner_password'] = $owner_pass; + + if (($mode < 0) || ($mode > 3)) { + throw new EncException('unknown encryption mode: ' . $this->encryptdata['mode']); + } + + $this->encryptdata['mode'] = $mode; + + /** @phpstan-ignore-next-line */ + $this->encryptdata = array_merge($this->encryptdata, self::ENCRYPT_SETTINGS[$mode]); + + if (! $this->encryptdata['pubkey']) { + /** @phpstan-ignore-next-line */ + unset($this->encryptdata['SubFilter'], $this->encryptdata['Recipients']); + } + + $this->encryptdata['encrypted'] = true; + $this->encryptdata['fileid'] = $this->convertHexStringToString($file_id); + $this->generateEncryptionKey(); + } + + /** + * Get the encryption data array. + * + * @return TEncryptData + */ + public function getEncryptionData(): array + { + return $this->encryptdata; + } + + /** + * Convert hexadecimal string to string. + * + * @param string $bstr Byte-string to convert. + */ + public function convertHexStringToString(string $bstr): string + { + $str = ''; // string to be returned + $bslength = strlen($bstr); + if ($bslength % 2 != 0) { + // padding + $bstr .= '0'; + ++$bslength; + } + + for ($idx = 0; $idx < $bslength; $idx += 2) { + $str .= chr((int) hexdec($bstr[$idx] . $bstr[($idx + 1)])); + } + + return $str; + } + + /** + * Convert string to hexadecimal string (byte string). + * + * @param string $str String to convert. + */ + public function convertStringToHexString(string $str): string + { + $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); + if ($chars === false) { + return ''; + } + + $bstr = ''; + foreach ($chars as $char) { + $bstr .= sprintf('%02s', dechex(ord($char))); + } + + return $bstr; + } + + /** + * Encode a name object. + * + * @param string $name Name object to encode. + */ + public function encodeNameObject(string $name): string + { + $escname = ''; + $length = strlen($name); + for ($idx = 0; $idx < $length; ++$idx) { + $chr = $name[$idx]; + if (preg_match('/[0-9a-zA-Z#_=-]/', $chr) == 1) { + $escname .= $chr; + } else { + $escname .= sprintf('#%02X', ord($chr)); + } + } + + return $escname; + } + + /** + * Encrypt a string. + * + * @param string $str String to encrypt. + * @param int $objnum Object ID. + */ + public function encryptString( + string $str, + int $objnum = 0, + ): string { + return $this->encrypt($this->encryptdata['mode'], $str, '', $objnum); + } + + /** + * Format a data string for meta information. + * + * @param string $str Data string to escape. + * @param int $objnum Object ID. + */ + public function escapeDataString( + string $str, + int $objnum = 0, + ): string { + return '(' . $this->escapeString($this->encryptString($str, $objnum)) . ')'; + } + + /** + * Returns a formatted date-time. + * + * @param int $time UTC time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). + * @param int $objnum Object ID. + * + * @return string escaped date string. + */ + public function getFormattedDate( + int|null $time = null, + int $objnum = 0, + ): string { + if ($time === null) { + $time = time(); // get current UTC time + } + + return $this->escapeDataString( + 'D:' . substr_replace(date('YmdHisO', $time), "'", -2, 0) . "'", + $objnum + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Exception.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Exception.php new file mode 100644 index 0000000..88fbb66 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt; + +/** + * Com\Tecnick\Pdf\Encrypt\Exception + * + * Custom Exception class + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Output.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Output.php new file mode 100644 index 0000000..693e4b3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Output.php @@ -0,0 +1,271 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt; + +/** + * Com\Tecnick\Pdf\Encrypt\Output + * + * PHP class for output encrypt PDF object + * + * @since 2008-01-02 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * @phpstan-type TEncryptData array{ + * 'CF': array{ + * 'AuthEvent': string, + * 'CFM': string, + * 'EncryptMetadata': bool, + * 'Length': int, + * }, + * 'EFF': string, + * 'EncryptMetadata': bool, + * 'Filter': string, + * 'Length': int, + * 'O': string, + * 'OE': string, + * 'OKS': string, + * 'OVS': string, + * 'P': int, + * 'Recipients': array, + * 'StmF': string, + * 'StrF': string, + * 'SubFilter': string, + * 'U': string, + * 'UE': string, + * 'UKS': string, + * 'UVS': string, + * 'V': int, + * 'encrypted': bool, + * 'fileid': string, + * 'key': string, + * 'mode': int, + * 'objid': int, + * 'owner_password': string, + * 'perms': string, + * 'protection': int, + * 'pubkey': bool, + * 'pubkeys'?: array{array{'c':string, 'p':array}}, + * 'user_password': string, + * } + */ +abstract class Output +{ + /** + * Encryption data + * + * @var TEncryptData + */ + protected $encryptdata = [ + 'CF' => [ + 'AuthEvent' => '', + 'CFM' => '', + 'EncryptMetadata' => true, + 'Length' => 0, + ], + 'EFF' => '', + 'EncryptMetadata' => true, + 'Filter' => '', + 'Length' => 0, + 'O' => '', + 'OE' => '', + 'OKS' => '', + 'OVS' => '', + 'P' => 0, + 'Recipients' => [], + 'StmF' => '', + 'StrF' => '', + 'SubFilter' => '', + 'U' => '', + 'UE' => '', + 'UKS' => '', + 'UVS' => '', + 'V' => 0, + 'encrypted' => false, + 'fileid' => '', + 'key' => '', + 'mode' => 0, + 'objid' => 0, + 'owner_password' => '', + 'perms' => '', + 'protection' => 0, + 'pubkey' => false, + // 'pubkeys' => [], + 'user_password' => '', + ]; + + /** + * Escape a string: add "\" before "\", "(" and ")". + * + * @param string $str String to escape. + */ + public function escapeString(string $str): string + { + return strtr($str, [ + ')' => '\\)', + '(' => '\\(', + '\\' => '\\\\', + chr(13) => '\r', + ]); + } + + /** + * Get the PDF encryption block + * + * @param int $pon Current PDF object number + */ + public function getPdfEncryptionObj(int &$pon): string + { + $this->setMissingValues(); + $this->encryptdata['objid'] = ++$pon; + $out = $this->encryptdata['objid'] . ' 0 obj' . "\n" + . '<<' . "\n" + . '/Filter /' . $this->encryptdata['Filter'] . "\n"; + if (! empty($this->encryptdata['SubFilter'])) { + $out .= '/SubFilter /' . $this->encryptdata['SubFilter'] . "\n"; + } + + // V is a code specifying the algorithm to be used in encrypting and decrypting the document + $out .= '/V ' . $this->encryptdata['V'] . "\n"; + // The length of the encryption key, in bits. The value shall be a multiple of 8, in the range 40 to 256 + $out .= '/Length ' . $this->encryptdata['Length'] . "\n"; + if ($this->encryptdata['V'] >= 4) { + $out .= $this->getCryptFilter(); + // The name of the crypt filter that shall be used by default when decrypting streams. + $out .= '/StmF /' . $this->encryptdata['StmF'] . "\n"; + // The name of the crypt filter that shall be used when decrypting all strings in the document. + $out .= '/StrF /' . $this->encryptdata['StrF'] . "\n"; + /* + if (!empty($this->encryptdata['EFF'])) { + // The name of the crypt filter that shall be used when encrypting embedded file streams + // that do not have their own crypt filter specifier. + $out .= ' /EFF /'.$this->encryptdata['EFF']; + } + */ + } + + return $out . ($this->getAdditionalEncDic() + . '>>' . "\n" + . 'endobj' . "\n"); + } + + /** + * Get Crypt Filter section + * + * A dictionary whose keys shall be crypt filter names + * and whose values shall be the corresponding crypt filter dictionaries. + */ + protected function getCryptFilter(): string + { + $out = '/CF <<' . "\n" + . '/' . $this->encryptdata['StmF'] . ' <<' . "\n" + . '/Type /CryptFilter' . "\n" + . '/CFM /' . $this->encryptdata['CF']['CFM'] . "\n"; // The method used + if ($this->encryptdata['pubkey']) { + $out .= '/Recipients ['; + foreach ($this->encryptdata['Recipients'] as $rec) { + $out .= ' <' . $rec . '>'; + } + + $out .= ' ]' . "\n" + . '/EncryptMetadata ' + . $this->getBooleanString($this->encryptdata['CF']['EncryptMetadata']) . "\n"; + } + + // The event to be used to trigger the authorization + // that is required to access encryption keys used by this filter. + $out .= '/AuthEvent /' . $this->encryptdata['CF']['AuthEvent'] . "\n"; + if (! empty($this->encryptdata['CF']['Length'])) { + // The bit length of the encryption key. + $out .= '/Length ' . $this->encryptdata['CF']['Length'] . "\n"; + } + + return $out . ('>>' . "\n" + . '>>' . "\n"); + } + + /** + * get additional encryption dictionary entries for the standard security handler + */ + protected function getAdditionalEncDic(): string + { + $out = ''; + if ($this->encryptdata['pubkey']) { + if (($this->encryptdata['V'] < 4) && ! empty($this->encryptdata['Recipients'])) { + $out .= ' /Recipients ['; + foreach ($this->encryptdata['Recipients'] as $rec) { + $out .= ' <' . $rec . '>'; + } + + $out .= ' ]' . "\n"; + } + } else { + $out .= '/R '; + if ($this->encryptdata['V'] == 5) { // AES-256 + $out .= '5' . "\n" + . '/OE (' . $this->escapeString($this->encryptdata['OE']) . ')' . "\n" + . '/UE (' . $this->escapeString($this->encryptdata['UE']) . ')' . "\n" + . '/Perms (' . $this->escapeString($this->encryptdata['perms']) . ')' . "\n"; + } elseif ($this->encryptdata['V'] == 4) { // AES-128 + $out .= '4' . "\n"; + } elseif ($this->encryptdata['V'] < 2) { // RC-40 + $out .= '2' . "\n"; + } else { // RC-128 + $out .= '3' . "\n"; + } + + $out .= '/O (' . $this->escapeString($this->encryptdata['O']) . ')' . "\n" + . '/U (' . $this->escapeString($this->encryptdata['U']) . ')' . "\n" + . '/P ' . $this->encryptdata['P'] . "\n" + . '/EncryptMetadata ' + . $this->getBooleanString($this->encryptdata['EncryptMetadata']) . "\n"; + } + + return $out; + } + + /** + * Return a string representation of a boolean value + * + * @param bool $value Value to convert + */ + protected function getBooleanString(bool $value): string + { + return ($value ? 'true' : 'false'); + } + + protected function setMissingValues(): void + { + if (! isset($this->encryptdata['EncryptMetadata'])) { + $this->encryptdata['EncryptMetadata'] = true; + } + + if (empty($this->encryptdata['CF'])) { + return; + } + + if (isset($this->encryptdata['CF']['EncryptMetadata'])) { + return; + } + + $this->encryptdata['CF']['EncryptMetadata'] = true; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AES.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AES.php new file mode 100644 index 0000000..f307b5d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AES.php @@ -0,0 +1,65 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +use Com\Tecnick\Pdf\Encrypt\Exception as EncException; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\AES + * + * AES + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class AES +{ + /** + * Encrypt the data using OpenSSL + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * @param string $mode Cipher + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key, + string $mode = '', + ): string { + if ($mode === '') { + $mode = strlen($key) > 16 ? 'aes-256-cbc' : 'aes-128-cbc'; + } + + $aesnopad = new AESnopad(); + $aesnopad->checkCipher($mode); + + $len = openssl_cipher_iv_length($mode); + if ($len === false) { + throw new EncException('openssl_cipher_iv_length failed'); + } + + $ivect = openssl_random_pseudo_bytes($len); + return $ivect . $aesnopad->encrypt($data, $key, $ivect, $mode); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESSixteen.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESSixteen.php new file mode 100644 index 0000000..420b795 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESSixteen.php @@ -0,0 +1,50 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\AESSixteen + * + * AESSixteen + * 16 bytes = 128 bit + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class AESSixteen +{ + /** + * Encrypt the data using OpenSSL + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key, + ): string { + $aes = new AES(); + return $aes->encrypt($data, $key, 'aes-128-cbc'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESThirtytwo.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESThirtytwo.php new file mode 100644 index 0000000..17086a7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESThirtytwo.php @@ -0,0 +1,50 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\AESThirtytwo + * + * AESThirtytwo + * 32 bytes = 256 bit + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class AESThirtytwo +{ + /** + * Encrypt the data using OpenSSL + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key, + ): string { + $aes = new AES(); + return $aes->encrypt($data, $key, 'aes-256-cbc'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESnopad.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESnopad.php new file mode 100644 index 0000000..b3f2d52 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/AESnopad.php @@ -0,0 +1,126 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +use Com\Tecnick\Pdf\Encrypt\Exception as EncException; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\AESnopad + * + * AES no-padding + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class AESnopad +{ + /** + * Block size (IV length): + * openssl_cipher_iv_length('aes-256-cbc') + * + * @var int + */ + public const BLOCKSIZE = 16; + + /** + * Initialization Vector (16 bytes) + * + * @var string + */ + public const IVECT = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + + /** + * List of valid openssl cyphers for AES encryption. + * + * @var array + */ + public const VALID_CIPHERS = [ + 'aes-128-cbc', + 'aes-256-cbc', + ]; + + /** + * Encrypt the data + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * @param string $ivect Initialization vector + * @param string $mode Cipher + * + * @return string Encrypted data string. + */ + public function encrypt( + string $data, + string $key, + string $ivect = self::IVECT, + string $mode = 'aes-256-cbc' + ): string { + $this->checkCipher($mode); + + $enc = openssl_encrypt( + $this->pad($data, self::BLOCKSIZE), + $mode, + $this->pad($key, (2 * self::BLOCKSIZE)), + OPENSSL_RAW_DATA, + $ivect + ); + + if ($enc === false) { + throw new EncException('encryption error: ' . openssl_error_string()); + } + + return substr($enc, 0, -16); + } + + /** + * Pad the input string to the specified length + * (RFC 2898, PKCS #5: Password-Based Cryptography Specification Version 2.0) + * + * @param string $data Data to pad + * @param int $length Padding length + * + * @return string Padded string + */ + protected function pad(string $data, int $length): string + { + $padding = ($length - (strlen($data) % $length)); + return substr($data . str_repeat("\x00", $padding), 0, $length); + } + + /** + * Check if the cipher is valid and available. + * + * @param string $cipher openSSL cipher name. + * + * @throws EncException in case of error. + */ + public function checkCipher(string $cipher): void + { + if (! in_array($cipher, self::VALID_CIPHERS)) { + throw new EncException('invalid chipher: ' . $cipher); + } + + if (! in_array($cipher, openssl_get_cipher_methods())) { + throw new EncException('unavailable chipher: ' . $cipher); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/MDFiveSixteen.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/MDFiveSixteen.php new file mode 100644 index 0000000..05fa3d2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/MDFiveSixteen.php @@ -0,0 +1,49 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\MDFiveSixteen + * + * MD5-16 + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class MDFiveSixteen +{ + /** + * Encrypt the data + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key = 'H*', + ): string { + $key = 'H*'; + return pack($key, md5($data)); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFour.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFour.php new file mode 100644 index 0000000..24f2dff --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFour.php @@ -0,0 +1,119 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +use Com\Tecnick\Pdf\Encrypt\Exception as EncException; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\RCFour + * + * RC4 is the standard encryption algorithm used in PDF format + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class RCFour +{ + /** + * List of valid openssl cyphers for RC4 encryption. + * + * @var array + */ + public const VALID_CIPHERS = [ + 'RC4', + 'RC4-40', + ]; + + /** + * Encrypt the data using the RC4 (Rivest Cipher 4, also known as ARC4 or ARCFOUR) algorithm. + * RC4 is one of the standard encryption algorithm used in PDF format. + * If possible, please use AES encryption instead as this is insecure. + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * @param string $mode Cipher + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key, + string $mode = '', + ): string { + if ($mode === '') { + $mode = strlen($key) > 5 ? 'RC4' : 'RC4-40'; + } elseif (! in_array($mode, self::VALID_CIPHERS)) { + throw new EncException('invalid chipher: ' . $mode); + } + + if (! in_array($mode, openssl_get_cipher_methods())) { + return $this->rc4($data, $key); + } + + $enc = openssl_encrypt($data, $mode, $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING); + if ($enc === false) { + throw new EncException('openssl_encrypt failed'); + } + + return $enc; + } + + /** + * Returns the input text encrypted using RC4 algorithm and the specified key. + * This function is used when the openssl extension is not available. + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * + * @return string encrypted text + */ + protected function rc4( + string $data, + string $key, + ): string { + $pkey = str_repeat($key, (int) ((256 / strlen($key)) + 1)); + $rc4 = range(0, 255); + $pos = 0; + for ($idx = 0; $idx < 256; ++$idx) { + $val = $rc4[$idx]; + $pos = ($pos + $val + ord($pkey[$idx])) % 256; + $rc4[$idx] = $rc4[$pos]; + $rc4[$pos] = $val; + } + + $len = strlen($data); + $posa = 0; + $posb = 0; + $out = ''; + for ($idx = 0; $idx < $len; ++$idx) { + $posa = ($posa + 1) % 256; + $val = $rc4[$posa]; + $posb = ($posb + $val) % 256; + $rc4[$posa] = $rc4[$posb]; + $rc4[$posb] = $val; + $pkey = $rc4[($rc4[$posa] + $rc4[$posb]) % 256]; + $out .= chr(ord($data[$idx]) ^ $pkey); + } + + return $out; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourFive.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourFive.php new file mode 100644 index 0000000..ec6583f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourFive.php @@ -0,0 +1,50 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\RCFourFive + * + * RC4-40 is the standard encryption algorithm used in PDF format + * The key length is 5 bytes (40 bits) + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class RCFourFive +{ + /** + * Encrypt the data + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key, + ): string { + $rcFour = new RCFour(); + return $rcFour->encrypt($data, $key, 'RC4-40'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourSixteen.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourSixteen.php new file mode 100644 index 0000000..1068702 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/RCFourSixteen.php @@ -0,0 +1,50 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\RCFourSixteen + * + * RC4-40 is the standard encryption algorithm used in PDF format + * The key length is 16 bytes (128 bits) + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class RCFourSixteen +{ + /** + * Encrypt the data + * + * @param string $data Data string to encrypt + * @param string $key Encryption key + * + * @return string encrypted text + */ + public function encrypt( + string $data, + string $key, + ): string { + $rcFour = new RCFour(); + return $rcFour->encrypt($data, $key, 'RC4'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/Seed.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/Seed.php new file mode 100644 index 0000000..6e60160 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/src/Type/Seed.php @@ -0,0 +1,69 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Com\Tecnick\Pdf\Encrypt\Type; + +/** + * Com\Tecnick\Pdf\Encrypt\Type\Seed + * + * generate random seed + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class Seed +{ + /** + * Encrypt the data + * + * @param string $data Random seed data + * @param string $key Random seed data + * @param string $mode Default mode (openssl or raw) + * + * @return string seed + */ + public function encrypt( + string $data = '', + string $key = '', + string $mode = 'openssl', + ): string { + $rnd = uniqid(random_int(0, mt_getrandmax()) . microtime(true), true); + + if (function_exists('posix_getpid')) { + $rnd .= posix_getpid(); + } + + if ( + ($mode == 'openssl') + && function_exists('openssl_random_pseudo_bytes') + && (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') + ) { + // this is not used on windows systems because it is very slow for a know bug + $rnd .= openssl_random_pseudo_bytes(512); + } else { + for ($idx = 0; $idx < 23; ++$idx) { + $rnd .= uniqid('', true); + } + } + + return $rnd . $data . __DIR__ . __FILE__ . $key . serialize($_SERVER) . microtime(true); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/EncryptTest.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/EncryptTest.php new file mode 100644 index 0000000..5929b4c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/EncryptTest.php @@ -0,0 +1,296 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Test; + +/** + * Encrypt Test + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class EncryptTest extends TestUtil +{ + public function testEncryptException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Encrypt\Exception::class); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id')); + $encrypt->encrypt('WRONG'); + } + + public function testEncryptModeException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Encrypt\Exception::class); + new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 4); + } + + public function testEncryptThree(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt( + true, + md5('file_id'), + 3, + ['print'], + 'alpha', + 'beta' + ); + $result = $encrypt->encrypt(3, 'alpha'); + $this->assertEquals(32, strlen($result)); + } + + public function testEncryptPubThree(): void + { + $pubkeys = [[ + 'c' => __DIR__ . '/data/cert.pem', + 'p' => ['print'], + ]]; + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt( + true, + md5('file_id'), + 3, + ['print'], + 'alpha', + 'beta', + $pubkeys + ); + $result = $encrypt->encrypt(3, 'alpha'); + $this->assertEquals(32, strlen($result)); + } + + public function testEncryptPubNoP(): void + { + $pubkeys = [[ + 'c' => __DIR__ . '/data/cert.pem', + 'p' => ['print'], + ]]; + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt( + true, + md5('file_id'), + 3, + ['print'], + 'alpha', + 'beta', + $pubkeys + ); + $result = $encrypt->encrypt(3, 'alpha'); + $this->assertEquals(32, strlen($result)); + } + + public function testEncryptPubException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Encrypt\Exception::class); + new \Com\Tecnick\Pdf\Encrypt\Encrypt( + true, + md5('file_id'), + 3, + ['print'], + 'alpha', + 'beta', + [[ + 'c' => __FILE__, + 'p' => ['print'], + ]] + ); + } + + public function testEncryptModZeroPub(): void + { + error_reporting(E_ALL); // DEBUG + $pubkeys = [[ + 'c' => __DIR__ . '/data/cert.pem', + 'p' => ['print'], + ]]; + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt( + true, + md5('file_id'), + 0, + ['print'], + 'alpha', + 'beta', + $pubkeys + ); + $result = $encrypt->encrypt(1, 'alpha'); + // Check for "error:0308010C:digital envelope routines::unsupported" when using OpenSSL 3. + // var_dump(openssl_error_string()); + $this->assertEquals(5, strlen($result)); + } + + public function testGetEncryptionData(): void + { + $permissions = ['print']; + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 0, $permissions, 'alpha', 'beta'); + $result = $encrypt->getEncryptionData(); + $this->assertEquals('fc93f6b8ab2f4ffb06cf6676f570fc26', md5(serialize($result))); + $this->assertEquals(2_147_422_008, $result['protection']); + $this->assertEquals(1, $result['V']); + $this->assertEquals(40, $result['Length']); + $this->assertEquals('V2', $result['CF']['CFM']); + } + + public function testGetObjectKey(): void + { + $permissions = ['print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high']; + + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 2, $permissions, 'alpha', 'beta'); + $result = $encrypt->getObjectKey(123); + $this->assertEquals('93879594941619c98047c404192b977d', bin2hex($result)); + } + + public function testGetUserPermissionCode(): void + { + $permissions = [ + 'owner', + 'print', + 'modify', + 'copy', + 'annot-forms', + 'fill-forms', + 'extract', + 'assemble', + 'print-high', + ]; + + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + $result = $encrypt->getUserPermissionCode($permissions, 0); + $this->assertEquals(2_147_421_954, $result); + } + + public function testConvertHexStringToString(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + + $result = $encrypt->convertHexStringToString(''); + $this->assertEquals('', $result); + + $result = $encrypt->convertHexStringToString('68656c6c6f20776f726c64'); + $this->assertEquals('hello world', $result); + + $result = $encrypt->convertHexStringToString('68656c6c6f20776f726c642'); + $this->assertEquals('hello world ', $result); + } + + public function testConvertStringToHexString(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + + $result = $encrypt->convertStringToHexString(''); + $this->assertEquals('', $result); + + $result = $encrypt->convertStringToHexString('hello world'); + $this->assertEquals('68656c6c6f20776f726c64', $result); + } + + public function testEncodeNameObject(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + + $result = $encrypt->encodeNameObject(''); + $this->assertEquals('', $result); + + $result = $encrypt->encodeNameObject('059akzAKZ#_=-'); + $this->assertEquals('059akzAKZ#_=-', $result); + + $result = $encrypt->encodeNameObject('059[]{}+~*akzAKZ#_=-'); + $this->assertEquals('059#5B#5D#7B#7D#2B#7E#2AakzAKZ#_=-', $result); + } + + public function testEscapeString(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + + $result = $encrypt->escapeString(''); + $this->assertEquals('', $result); + + $result = $encrypt->escapeString('hello world'); + $this->assertEquals('hello world', $result); + + $result = $encrypt->escapeString('(hello world) slash \\' . chr(13)); + $this->assertEquals('\\(hello world\\) slash \\\\\r', $result); + } + + public function testEncryptStringDisabled(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + + $result = $encrypt->encryptString(''); + $this->assertEquals('', $result); + + $result = $encrypt->encryptString('hello world'); + $this->assertEquals('hello world', $result); + + $result = $encrypt->encryptString('(hello world) slash \\' . chr(13) . chr(250)); + $this->assertEquals('(hello world) slash \\' . chr(13) . chr(250), $result); + } + + public function testEncryptStringEnabled(): void + { + $permissions = ['print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high']; + + $enc = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 0, $permissions, 'alpha'); + $result = $enc->encryptString('(hello world) slash \\' . chr(13)); + $this->assertEquals('728cc693be1e4c1fb6b7e7b2a34644ad', md5($result)); + + $enc = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 1, $permissions, 'alpha', 'beta'); + $result = $enc->encryptString('(hello world) slash \\' . chr(13)); + $this->assertEquals('258ad774ddeec21b3b439a720df18e0d', md5($result)); + } + + public function testEscapeDataStringDisabled(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + + $result = $encrypt->escapeDataString(''); + $this->assertEquals('()', $result); + + $result = $encrypt->escapeDataString('hello world'); + $this->assertEquals('(hello world)', $result); + + $result = $encrypt->escapeDataString('(hello world) slash \\' . chr(13)); + $this->assertEquals('(\\(hello world\\) slash \\\\\r)', $result); + } + + public function testEscapeDataStringEnabled(): void + { + $permissions = ['print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high']; + + $enc = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 0, $permissions, 'alpha'); + $result = $enc->escapeDataString('(hello world) slash \\' . chr(13)); + $this->assertEquals('24f60765c1c07a44fc3c9b44d2f55dbc', md5($result)); + + $enc = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 1, $permissions, 'alpha', 'beta'); + $result = $enc->escapeDataString('(hello world) slash \\' . chr(13)); + $this->assertEquals('ebc28272f4aff661fa0b7764d791fb79', md5($result)); + } + + public function testGetFormattedDate(): void + { + $permissions = ['print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high']; + + $enc = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + $result = $enc->getFormattedDate(); + $this->assertEquals('(D:', substr($result, 0, 3)); + $this->assertEquals("+00'00')", substr($result, -8)); + + $enc = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 0, $permissions, 'alpha'); + $result = $enc->getFormattedDate(); + $this->assertNotEmpty($result); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/OutputTest.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/OutputTest.php new file mode 100644 index 0000000..b84e895 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/OutputTest.php @@ -0,0 +1,91 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Test; + +/** + * Output Test + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class OutputTest extends TestUtil +{ + public function testGetPdfEncryptionObjZero(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 0, ['print'], 'alpha', 'beta'); + $pon = 122; + $result = $encrypt->getPdfEncryptionObj($pon); + $expected = '3132332030206f626a0a3c3c0a2f46696c746572202f5374616e646172640a2f5620310a2f4c656e6774682034300a2' + . 'f5220320a2f4f20280542fa0e15496869a825cd08c633ac10675c5c02167661241f5369895d768278b1290a2f552028550539dc185' + . 'e79d4c676f803babbdc50acf8a4427d2de5303d59e7c315b30eba290a2f5020323134373432323030380a2f456e63727970744d657' + . '4616461746120747275650a3e3e0a656e646f626a0a'; + $this->assertEquals($expected, bin2hex($result)); + } + + public function testGetPdfEncryptionObjOne(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 1, ['print'], 'alpha', 'beta'); + $pon = 122; + $result = $encrypt->getPdfEncryptionObj($pon); + $this->assertTrue(strlen($result) > 150); + } + + public function testGetPdfEncryptionObjTwo(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 2, ['print'], 'alpha', 'beta'); + $pon = 122; + $result = $encrypt->getPdfEncryptionObj($pon); + $this->assertTrue(strlen($result) > 200); + } + + public function testGetPdfEncryptionObjThree(): void + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 3, ['print'], 'alpha', 'beta'); + $pon = 122; + $result = $encrypt->getPdfEncryptionObj($pon); + $this->assertTrue(strlen($result) > 300); + } + + public function testGetPdfEncryptionObjThreePub(): void + { + $pubkeys = [[ + 'c' => __DIR__ . '/data/cert.pem', + 'p' => ['print'], + ]]; + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 3, ['print'], 'alpha', 'beta', $pubkeys); + $pon = 122; + $result = $encrypt->getPdfEncryptionObj($pon); + $this->assertTrue(strlen($result) > 200); + } + + public function testGetPdfEncryptionObjOnePub(): void + { + $pubkeys = [[ + 'c' => __DIR__ . '/data/cert.pem', + 'p' => ['print'], + ]]; + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(true, md5('file_id'), 1, ['print'], 'alpha', 'beta', $pubkeys); + $pon = 122; + $result = $encrypt->getPdfEncryptionObj($pon); + $this->assertTrue(strlen($result) > 100); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/TestUtil.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/TestUtil.php new file mode 100644 index 0000000..dff84d1 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/TestUtil.php @@ -0,0 +1,41 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Test Util + * + * @since 2020-12-19 + * @category Library + * @package file + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class TestUtil extends TestCase +{ + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/AESTest.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/AESTest.php new file mode 100644 index 0000000..d231af2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/AESTest.php @@ -0,0 +1,73 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Test; + +/** + * AES encryption Test + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class AESTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Encrypt\Type\AES + { + return new \Com\Tecnick\Pdf\Encrypt\Type\AES(); + } + + public function testEncrypt128(): void + { + $aes = $this->getTestObject(); + $data = 'alpha'; + $key = '0123456789abcdef'; // 16 bytes = 128 bit KEY + + $enc_a = $aes->encrypt($data, $key); + $enc_b = $aes->encrypt($data, $key, 'aes-128-cbc'); + $this->assertEquals(strlen($enc_a), strlen($enc_b)); + + $aesSixteen = new \Com\Tecnick\Pdf\Encrypt\Type\AESSixteen(); + $enc_c = $aesSixteen->encrypt($data, $key); + $this->assertEquals(strlen($enc_a), strlen($enc_c)); + } + + public function testEncrypt256(): void + { + $aes = $this->getTestObject(); + $data = 'alpha'; + $key = '0123456789abcdef0123456789abcdef'; // 32 bytes = 256 bit KEY + + $enc_a = $aes->encrypt($data, $key, ''); + $enc_b = $aes->encrypt($data, $key, 'aes-256-cbc'); + $this->assertEquals(strlen($enc_a), strlen($enc_b)); + + $aesThirtytwo = new \Com\Tecnick\Pdf\Encrypt\Type\AESThirtytwo(); + $enc_c = $aesThirtytwo->encrypt($data, $key); + $this->assertEquals(strlen($enc_a), strlen($enc_c)); + } + + public function testEncryptException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Encrypt\Exception::class); + $aes = $this->getTestObject(); + $aes->encrypt('alpha', '12345', 'ERROR'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/MDFiveSixteenTest.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/MDFiveSixteenTest.php new file mode 100644 index 0000000..d06d63c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/MDFiveSixteenTest.php @@ -0,0 +1,43 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Test; + +/** + * MD5-16 encryption Test + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class MDFiveSixteenTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Encrypt\Type\MDFiveSixteen + { + return new \Com\Tecnick\Pdf\Encrypt\Type\MDFiveSixteen(); + } + + public function testEncrypt(): void + { + $mdFiveSixteen = $this->getTestObject(); + $result = $mdFiveSixteen->encrypt('hello'); + $this->assertEquals('5d41402abc4b2a76b9719d911017c592', bin2hex($result)); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/RCFourTest.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/RCFourTest.php new file mode 100644 index 0000000..8ad3ab5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/RCFourTest.php @@ -0,0 +1,73 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Test; + +/** + * RC4 encryption Test + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class RCFourTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Encrypt\Type\RCFour + { + return new \Com\Tecnick\Pdf\Encrypt\Type\RCFour(); + } + + public function testEncrypt40(): void + { + $rcFour = $this->getTestObject(); + $data = 'alpha'; + $key = '12345'; // 5 bytes = 40 bit KEY + + $enc_a = $rcFour->encrypt($data, $key, ''); + $enc_b = $rcFour->encrypt($data, $key, 'RC4-40'); + $this->assertEquals($enc_a, $enc_b); + + $rcFourFive = new \Com\Tecnick\Pdf\Encrypt\Type\RCFourFive(); + $enc_c = $rcFourFive->encrypt($data, $key); + $this->assertEquals($enc_a, $enc_c); + } + + public function testEncrypt128(): void + { + $rcFour = $this->getTestObject(); + $data = 'alpha'; + $key = '0123456789abcdef'; // 16 bytes = 128 bit KEY + + $enc_a = $rcFour->encrypt($data, $key); + $enc_b = $rcFour->encrypt($data, $key, 'RC4'); + $this->assertEquals($enc_a, $enc_b); + + $rcFourSixteen = new \Com\Tecnick\Pdf\Encrypt\Type\RCFourSixteen(); + $enc_c = $rcFourSixteen->encrypt($data, $key); + $this->assertEquals($enc_a, $enc_c); + } + + public function testEncryptException(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Encrypt\Exception::class); + $rcFour = $this->getTestObject(); + $rcFour->encrypt('alpha', '12345', 'ERROR'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/SeedTest.php b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/SeedTest.php new file mode 100644 index 0000000..d1098f1 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/Type/SeedTest.php @@ -0,0 +1,50 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + * + * This file is part of tc-lib-pdf-encrypt software library. + */ + +namespace Test; + +/** + * Seed Test + * + * @since 2011-05-23 + * @category Library + * @package PdfEncrypt + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-encrypt + */ +class SeedTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Encrypt\Type\Seed + { + return new \Com\Tecnick\Pdf\Encrypt\Type\Seed(); + } + + public function testEncrypt(): void + { + $seed = $this->getTestObject(); + $result = $seed->encrypt('hello', 'world'); + $this->assertNotEmpty($result); + } + + public function testEncryptRaw(): void + { + $seed = $this->getTestObject(); + $result = $seed->encrypt('hello', 'world', 'raw'); + $this->assertNotEmpty($result); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-encrypt/test/data/cert.pem b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/data/cert.pem new file mode 100644 index 0000000..4de617e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-encrypt/test/data/cert.pem @@ -0,0 +1,33 @@ +-----BEGIN PRIVATE KEY----- +MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBALtxWB+0PKdvXMih +p8+xkg4BzMH8MDyNQNqv56mhrQ5wM1icQaoB1dXWUZj8NRPgvzkhw7xJ98P3Kka7 +mLA2qDNGh77H8aYc64pIII8Xd1iQMbHVrUqtsEec7ZCHL3U63rLeERCqu+eibQl4 +2w14bdflcMun0xHN/aJyA7sJWmInAgMBAAECgYB8dGNomYl0OpLGe98qHeK1/ifv +3PxCGB+plAYjMT/wSDsvaICI2rMaSjTfeQXc7urIikymJg6mROQDFufoiEHgtliz +mQeQIss6xPoBeObRBptjPBnmREnB3pP1nBngDmDQj/BwDsxbHXiZxRvQNvvKllyE +vF0i9ZjgT+Bh1/pKoQJBAOiEFZTZxMF+Ri3VVMEhV8CkMSom4815OPg+5RhS/mwX +X5bBG6AdLbOYgvq1iMGnjRZs9Vquk+uzmpMw+Uds8rkCQQDOX9m2t2O51/QyROIY +obJGHp4fyAtGHH/qbyFg3L7c/LolqqDnq+26tP7+UdKXMZeGMs1FeL4crLcpJab8 +rQvfAkA7zJScVrGCrg4whXgpv4CJG/FFDQFze+TJ+6sB6X5joFNGO132fOqfEO9G +uV91prjjdpxXeSSz7tonVuYVl5CJAkBW8xNrZEDkIBSGyXbpIddWq7e7dDErzP4n +68KIaPkRanmTPRyl/04eB/wXcqnjgcVxiR3rUz/mHO7eqzp74vzJAkB+O8VRe350 +4I9Ut/gZmUW3IiSVT2FfZezk2XoB3X+zFKfhdhNt0i8EUwoTTI1mwy3nUyqMc/sb +JhEpQgcZ31SP +-----END PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIICsDCCAhmgAwIBAgIUAQb8DRdrYNBU56/iGjwLAKJ3dLQwDQYJKoZIhvcNAQEL +BQAwajELMAkGA1UEBhMCVUsxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEjMCEGCSqGSIb3DQEJARYUdGVzdEBl +eGFtcGxlLmludmFsaWQwHhcNMjIxMjIxMTExNjA5WhcNMzIxMjE4MTExNjA5WjBq +MQswCQYDVQQGEwJVSzETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 +ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMSMwIQYJKoZIhvcNAQkBFhR0ZXN0QGV4YW1w +bGUuaW52YWxpZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu3FYH7Q8p29c +yKGnz7GSDgHMwfwwPI1A2q/nqaGtDnAzWJxBqgHV1dZRmPw1E+C/OSHDvEn3w/cq +RruYsDaoM0aHvsfxphzrikggjxd3WJAxsdWtSq2wR5ztkIcvdTrest4REKq756Jt +CXjbDXht1+Vwy6fTEc39onIDuwlaYicCAwEAAaNTMFEwHQYDVR0OBBYEFLULVT3y +ounwqaWxwEaFOs7s0+DFMB8GA1UdIwQYMBaAFLULVT3younwqaWxwEaFOs7s0+DF +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADgYEAJ8Gh0uOLLZA3UsmL +eUxOrS19QbfNuDzfayiOuLwiMCKCY29ch/HEaKPdvUuGAbFczhnryJLsb6TYBBeP +a4zUcyhylafqZH450awKEOxd/5ns0QoWlFeBkgVSHK/j7BP8P9LXZkjM4nLJXoAl +M/SOSeyHUEHfE97284X8VaNPCT4= +-----END CERTIFICATE----- diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.editorconfig b/vendor/tecnickcom/tc-lib-pdf-font/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-pdf-font/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-pdf-font/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-pdf-font/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-pdf-font/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-pdf-font/.github/workflows/check.yml new file mode 100644 index 0000000..81c4c6c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.github/workflows/check.yml @@ -0,0 +1,58 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: pcov-1.0.10, bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Install fonts + run: cd util && composer install --no-dev --no-interaction && ./bulk_convert.php && cd .. + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/.gitignore b/vendor/tecnickcom/tc-lib-pdf-font/.gitignore new file mode 100644 index 0000000..e71b55d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/.gitignore @@ -0,0 +1,23 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +resources/util/vendor +src/fonts +target +target/fonts +vendor diff --git a/vendor/tecnickcom/tc-lib-pdf-font/CODEOWNERS b/vendor/tecnickcom/tc-lib-pdf-font/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-pdf-font/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-pdf-font/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-pdf-font/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/LICENSE b/vendor/tecnickcom/tc-lib-pdf-font/LICENSE new file mode 100644 index 0000000..5e391a9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-pdf-font +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-pdf-font/Makefile b/vendor/tecnickcom/tc-lib-pdf-font/Makefile new file mode 100644 index 0000000..788d0cc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/Makefile @@ -0,0 +1,313 @@ +# makefile +# +# @since 2015-05-14 +# @category Library +# @package PdfFont +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf-font +# +# This file is part of tc-lib-pdf-font software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf-font + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Pdf/Font/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# List of fonts to process +FONTLIST=core pdfa cid0 freefont unifont dejavu noto + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo " make fonts : Import and convert fonts" + @echo " make rpm_fonts: Build fonts RPM packages" + @echo " make deb_fonts: Build fonts DEB packages" + @echo " make bz2_fonts: Build fonts tar bz2 (tbz2) compressed archives" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix fonts qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + cd util && make clean + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* $(TARGETDIR)/fonts + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + cd util && make deps + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + mkdir -p $(TARGETDIR)/fonts + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude vendor + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude vendor + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + +# ---------- + +# import and convert fonts +fonts: + cd util && ($(COMPOSER) install -vvv --no-interaction) + cd util && make build + +# Build fonts RPM packages for RedHat-like Linux distributions +rpm_fonts: + $(foreach PKGFONTDIR,$(FONTLIST), \ + cd ${CURRENTDIR}/util && make rpm PKGFONTDIR=${PKGFONTDIR} ; \ + ) + +# Build fonts DEB packages for Debian-like Linux distributions +deb_fonts: + $(foreach PKGFONTDIR,$(FONTLIST), \ + cd ${CURRENTDIR}/util && make deb PKGFONTDIR=${PKGFONTDIR} ; \ + ) + +# build fonts compressed bz2 archives +bz2_fonts: + $(foreach PKGFONTDIR,$(FONTLIST), \ + cd ${CURRENTDIR}/util && make bz2 PKGFONTDIR=${PKGFONTDIR} ; \ + ) + diff --git a/vendor/tecnickcom/tc-lib-pdf-font/README.md b/vendor/tecnickcom/tc-lib-pdf-font/README.md new file mode 100644 index 0000000..063bef3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/README.md @@ -0,0 +1,105 @@ +# tc-lib-pdf-font +*PHP library containing PDF font methods and utilities* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-pdf-font/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-font) +![Build](https://github.com/tecnickcom/tc-lib-pdf-font/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-pdf-font/graph/badge.svg?token=wGN6UnOAFo)](https://codecov.io/gh/tecnickcom/tc-lib-pdf-font) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-pdf-font/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-font) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-pdf-font/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-font) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Pdf\Font +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-pdf-font +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf-font + +## Description + +PHP library containing PDF font methods and utilities. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` +All artifacts are generated in the target directory. + +To generate the default fonts you can use the command: +```bash +make fonts +``` +The files are generated inside the `target/fonts` folder. +Please check the `util/convert.php` and `util/bulk_convert.php` to manually convert fonts. + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-pdf-font": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-pdf-font ^2.0 +``` + +## Font conversion + +To import fonts in bulk, please check the convert program in resources/cli. + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Pdf/Font/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-pdf-font/RELEASE b/vendor/tecnickcom/tc-lib-pdf-font/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-pdf-font/SECURITY.md b/vendor/tecnickcom/tc-lib-pdf-font/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/VERSION b/vendor/tecnickcom/tc-lib-pdf-font/VERSION new file mode 100644 index 0000000..c959dfb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/VERSION @@ -0,0 +1 @@ +2.6.12 diff --git a/vendor/tecnickcom/tc-lib-pdf-font/composer.json b/vendor/tecnickcom/tc-lib-pdf-font/composer.json new file mode 100644 index 0000000..af8e905 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/composer.json @@ -0,0 +1,46 @@ +{ + "name": "tecnickcom/tc-lib-pdf-font", + "description": "PHP library containing PDF page formats and definitions", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-pdf-font", + "PDF", + "font", + "TTF", + "AFM", + "PFB", + "import" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-json": "*", + "ext-pcre": "*", + "ext-zlib": "*", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-unicode-data": "^2.0", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Font\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-pdf-font/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/phpcs.xml b/vendor/tecnickcom/tc-lib-pdf-font/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-font/phpstan.neon b/vendor/tecnickcom/tc-lib-pdf-font/phpstan.neon new file mode 100644 index 0000000..cfa9443 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: 6 + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-pdf-font/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-pdf-font/phpunit.xml.dist new file mode 100644 index 0000000..542b530 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/autoload.php b/vendor/tecnickcom/tc-lib-pdf-font/resources/autoload.php new file mode 100644 index 0000000..a7672c5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(dirname(__DIR__)).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/changelog b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/compat b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/control b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/control new file mode 100644 index 0000000..3608049 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-json, php-zip, php-tecnickcom-tc-lib-file (<< 3.0.0), php-tecnickcom-tc-lib-file (>= 2.2.2), php-tecnickcom-tc-lib-unicode-data (<< 3.0.0), php-tecnickcom-tc-lib-unicode-data (>= 2.0.24), php-tecnickcom-tc-lib-pdf-encrypt (<< 3.0.0), php-tecnickcom-tc-lib-pdf-encrypt (>= 2.1.16), php-tecnickcom-tc-lib-pdf-font-core (<< 2.0.0), php-tecnickcom-tc-lib-pdf-font-data-core (>= 1.8.7), ${misc:Depends} +Description: PHP PDF Fonts Library + PHP library containing PDF font methods and utilities. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/copyright b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/rules b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/source/format b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/changelog b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/compat b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/control b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/control new file mode 100644 index 0000000..68be958 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/control @@ -0,0 +1,16 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.6 +Homepage: https://github.com/tecnickcom/tc-lib-pdf-font +Vcs-Git: https://github.com/tecnickcom/tc-lib-pdf-font.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: ${misc:Depends} +Description: ~#FONT#~ fonts data for tc-lib-pdf-font + This package contains data extracted from the ~#FONT#~ fonts + for the tc-lib-pdf-font library. diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/copyright b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/copyright new file mode 100644 index 0000000..5966bfc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/copyright @@ -0,0 +1,14 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/tecnickcom/tc-lib-pdf-font + +Files: * +Copyright: © 0000 Please check the README file for copyright information. +License: ~#LICENSE#~ + +License: ~#LICENSE#~ + The font files in this package are free software: + you can redistribute it and/or modify it under the terms of the + ~#LICENSE#~ License. + Please check the README and LICENSE file for further information. + Common licenses can be also found in: /usr/share/common-licenses diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/rules b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/source/format b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/fonts/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/rpm/fonts.spec b/vendor/tecnickcom/tc-lib-pdf-font/resources/rpm/fonts.spec new file mode 100644 index 0000000..07bc9a0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/rpm/fonts.spec @@ -0,0 +1,42 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: %{_fontdir} fonts data for tc-lib-pdf-font + +Group: Development/Libraries +License: %{_license} +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Provides: php-%{gh_project} = %{version} + +%description +This package contains data extracted from the %{_fontdir} fonts for the tc-lib-pdf-font library. + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT PKGFONTDIR=%{_fontdir}) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_fontpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} + +%changelog +* Tue Dec 01 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-pdf-font/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-pdf-font/resources/rpm/rpm.spec new file mode 100644 index 0000000..c531136 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/resources/rpm/rpm.spec @@ -0,0 +1,57 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP PDF Fonts Library + +Group: Development/Libraries +License: LGPL-3.0+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-json +Requires: php-pcre +Requires: php-zlib +Requires: php-composer(%{c_vendor}/tc-lib-file) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-file) >= 2.2.2 +Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0.24 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1.16 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-font-data-core) < 2.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-font-data-core) >= 1.8.7 + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library containing PDF font methods and utilities + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Mon Aug 10 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Buffer.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Buffer.php new file mode 100644 index 0000000..dfb695f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Buffer.php @@ -0,0 +1,298 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\Pdf\Font\Exception as FontException; + +/** + * Com\Tecnick\Pdf\Font\Buffer + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from Load + */ +abstract class Buffer +{ + /** + * Array containing all fonts data + * + * @var array + */ + protected array $font = []; + + /** + * Font counter + */ + protected int $numfonts = 0; + + /** + * Array containing encoding differences + * + * @var array + */ + protected array $encdiff = []; + + /** + * Index for Encoding differences + */ + protected int $numdiffs = 0; + + /** + * Array containing font definitions grouped by file + * + * @var array, + * 'length1': int, + * 'length2': int, + * 'subset': bool, + * }> + */ + protected array $file = []; + + /** + * Initialize fonts buffer + * + * @param float $kunit Unit of measure conversion ratio. + * @param bool $subset If true embedd only a subset of the fonts + * (stores only the information related to + * the used characters); If false embedd + * full font; This option is valid only for + * TrueTypeUnicode fonts and it is disabled + * for PDF/A. If you want to enable users to + * modify the document, set this parameter + * to false. If you subset the font, the + * person who receives your PDF would need + * to have your same font in order to make + * changes to your PDF. The file size of the + * PDF would also be smaller because you are + * embedding only a subset. NOTE: This + * option is computational and memory + * intensive. + * @param bool $unicode True if we are in Unicode mode, False otherwhise. + * @param bool $pdfa True if we are in PDF/A mode. + * + * @return string Font key + */ + public function __construct( + protected float $kunit, + protected bool $subset = false, + protected bool $unicode = true, + protected bool $pdfa = false + ) { + } + + /** + * Get the default subset mode + */ + public function isSubsetMode(): bool + { + return $this->subset; + } + + /** + * Returns the fonts buffer + * + * @return array + */ + public function getFonts(): array + { + return $this->font; + } + + /** + * Returns the fonts buffer + * + * @return array + */ + public function getEncDiffs(): array + { + return $this->encdiff; + } + + /** + * Returns true if the specified font key exist on buffer + * + * @param string $key Font key + */ + public function isValidKey(string $key): bool + { + return isset($this->font[$key]); + } + + /** + * Get font by key + * + * @param string $key Font key + * + * @return TFontData Returns the fonts array. + * + * @throws FontException in case of error + */ + public function getFont(string $key): array + { + if (! isset($this->font[$key])) { + throw new FontException('The font ' . $key . ' has not been loaded'); + } + + return $this->font[$key]; + } + + /** + * Add a character to the subset list + * + * @param string $key The font key + * @param int $char The Unicode character value to add + */ + public function addSubsetChar(string $key, int $char): void + { + if (! isset($this->font[$key])) { + throw new FontException('The font ' . $key . ' has not been loaded'); + } + + $this->font[$key]['subsetchars'][$char] = true; + } + + /** + * Add a new font to the fonts buffer + * + * The definition file (and the font file itself when embedding) must be present either in the current directory + * or in the one indicated by K_PATH_FONTS if the constant is defined. + * + * @param int $objnum Current PDF object number + * @param string $font Font family. + * If it is a standard family name, it will override the corresponding font. + * @param string $style Font style. + * Possible values are (case insensitive): + * regular (default) + * B: bold + * I: italic + * U: underline + * D: strikeout (linethrough) + * O: overline + * @param string $ifile The font definition file (or empty for autodetect). + * By default, the name is built from the family and style, in lower case with no spaces. + * @param ?bool $subset If true embed only a subset of the font + * (stores only the information related to + * the used characters); If false embed + * full font; This option is valid only + * for TrueTypeUnicode fonts and it is + * disabled for PDF/A. If you want to + * enable users to modify the document, + * set this parameter to false. If you + * subset the font, the person who + * receives your PDF would need to have + * your same font in order to make changes + * to your PDF. The file size of the PDF + * would also be smaller because you are + * embedding only a subset. Set this to + * null to use the default value. NOTE: + * This option is computational and memory + * intensive. + * + * @return string Font key + * + * @throws FontException in case of error + */ + public function add( + int &$objnum, + string $font, + string $style = '', + string $ifile = '', + ?bool $subset = null + ) { + if ($subset === null) { + $subset = $this->subset; + } + + $fobj = new Font($font, $style, $ifile, $subset, $this->unicode, $this->pdfa); + $key = $fobj->getFontkey(); + + if (isset($this->font[$key])) { + return $key; + } + + $fobj->load(); + $this->font[$key] = $fobj->getFontData(); + + $this->setFontFile($key); + $this->setFontDiff($key); + + $this->font[$key]['i'] = ++$this->numfonts; + $this->font[$key]['n'] = ++$objnum; + + return $key; + } + + /** + * Set font file and subset + * + * @param string $key Font key + */ + protected function setFontFile(string $key): void + { + if (empty($this->font[$key]['file'])) { + return; + } + + $file = $this->font[$key]['file']; + if (! isset($this->file[$file])) { + $this->file[$file] = [ + 'dir' => '', + 'keys' => [], + 'length1' => 0, + 'length2' => 0, + 'subset' => false, + ]; + } + + if (! in_array($key, $this->file[$file]['keys'])) { + $this->file[$file]['keys'][] = $key; + } + + $this->file[$file]['dir'] = $this->font[$key]['dir']; + $this->file[$file]['length1'] = $this->font[$key]['length1']; + $this->file[$file]['length2'] = $this->font[$key]['length2']; + $this->file[$file]['subset'] = ($this->file[$file]['subset'] && $this->font[$key]['subset']); + } + + /** + * Set font diff + * + * @param string $key Font key + */ + protected function setFontDiff(string $key): void + { + if (empty($this->font[$key]['diff'])) { + return; + } + + $diffid = array_search($this->font[$key]['diff'], $this->encdiff, true); + if ($diffid === false) { + $diffid = ++$this->numdiffs; + $this->encdiff[$diffid] = $this->font[$key]['diff']; + } + + $this->font[$key]['diffid'] = $diffid; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Core.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Core.php new file mode 100644 index 0000000..60cb563 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Core.php @@ -0,0 +1,60 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +/** + * Com\Tecnick\Pdf\Font\Core + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + */ +class Core +{ + /** + * Core fonts + * + * @var array + */ + public const FONT = [ + 'courier' => 'Courier', + 'courierB' => 'Courier-Bold', + 'courierI' => 'Courier-Oblique', + 'courierBI' => 'Courier-BoldOblique', + 'helvetica' => 'Helvetica', + 'helveticaB' => 'Helvetica-Bold', + 'helveticaI' => 'Helvetica-Oblique', + 'helveticaBI' => 'Helvetica-BoldOblique', + 'timesroman' => 'Times-Roman', + 'times' => 'Times-Roman', + 'timesB' => 'Times-Bold', + 'timesI' => 'Times-Italic', + 'timesBI' => 'Times-BoldItalic', + 'symbol' => 'Symbol', + 'symbolB' => 'Symbol', + 'symbolI' => 'Symbol', + 'symbolBI' => 'Symbol', + 'zapfdingbats' => 'ZapfDingbats', + 'zapfdingbatsB' => 'ZapfDingbats', + 'zapfdingbatsI' => 'ZapfDingbats', + 'zapfdingbatsBI' => 'ZapfDingbats', + ]; +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Exception.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Exception.php new file mode 100644 index 0000000..dc1f4ff --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +/** + * Com\Tecnick\Pdf\Font\Exception + * + * Custom Exception class + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Font.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Font.php new file mode 100644 index 0000000..4e2d0e6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Font.php @@ -0,0 +1,207 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\Pdf\Font\Exception as FontException; +use Com\Tecnick\File\File; + +/** + * Com\Tecnick\Pdf\Font\Font + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from Load + */ +class Font extends \Com\Tecnick\Pdf\Font\Load +{ + /** + * Load an imported font + * + * The definition file (and the font file itself when embedding) must be present either in the current directory + * or in the one indicated by K_PATH_FONTS if the constant is defined. + * + * @param string $font Font family. + * If it is a + * standard + * family name, + * it will + * override the + * corresponding + * font. + * @param string $style Font style. + * Possible + * values are + * (case + * insensitive): + * regular + * (default) + * B: bold I: + * italic U: + * underline + * D: + * strikeout + * (linethrough) + * O: overline + * @param string $ifile The font definition file (or empty for autodetect). + * By default, the name is built from the family and + * style, in lower case with no spaces. + * @param bool $subset If true embedd only a subset of the font + * (stores only the information related to + * the used characters); If false embedd + * full font; This option is valid only for + * TrueTypeUnicode fonts and it is disabled + * for PDF/A. If you want to enable users + * to modify the document, set this + * parameter to false. If you subset the + * font, the person who receives your PDF + * would need to have your same font in + * order to make changes to your PDF. The + * file size of the PDF would also be + * smaller because you are embedding only a + * subset. + * @param bool $unicode True if we are in Unicode mode, False otherwhise. + * @param bool $pdfa True if we are in PDF/A mode. + * @param bool $compress Set to false to disable stream compression. + * + * @throws FontException in case of error + */ + public function __construct( + string $font, + string $style = '', + string $ifile = '', + bool $subset = false, + bool $unicode = true, + bool $pdfa = false, + bool $compress = true + ) { + if ($font === '') { + throw new FontException('empty font family name'); + } + + if (FILE::hasDoubleDots($ifile) || FILE::hasForbiddenProtocol($ifile)) { + throw new FontException('Invalid font ifile: ' . $ifile); + } + + $this->data['ifile'] = $ifile; + $this->data['family'] = $font; + $this->data['unicode'] = $unicode; + $this->data['pdfa'] = $pdfa; + $this->data['compress'] = $compress; + $this->data['subset'] = $subset; + $this->data['subsetchars'] = array_fill(0, 255, true); + + // generate the font key and set styles + $this->setStyle($style); + } + + /** + * Get the font key + */ + public function getFontkey(): string + { + return $this->data['key']; + } + + /** + * Get the font data + * + * @return TFontData + */ + public function getFontData(): array + { + return $this->data; + } + + /** + * Set style and normalize the font name + * + * @param string $style Style + */ + protected function setStyle(string $style): void + { + $style = strtoupper($style); + if (str_ends_with($this->data['family'], 'I')) { + $style .= 'I'; + $this->data['family'] = substr($this->data['family'], 0, -1); + } + + if (str_ends_with($this->data['family'], 'B')) { + $style .= 'B'; + $this->data['family'] = substr($this->data['family'], 0, -1); + } + + // normalize family name + $this->data['family'] = strtolower($this->data['family']); + if ((! $this->data['unicode']) && ($this->data['family'] == 'arial')) { + $this->data['family'] = 'helvetica'; + } + + if (($this->data['family'] == 'symbol') || ($this->data['family'] == 'zapfdingbats')) { + $style = ''; + } + + if ($this->data['pdfa'] && (isset(Core::FONT[$this->data['family']]))) { + // core fonts must be embedded in PDF/A + $this->data['family'] = 'pdfa' . $this->data['family']; + } + + $this->setStyleMode($style); + } + + /** + * Set style mode properties + * + * @param string $style Style + */ + protected function setStyleMode(string $style): void + { + $suffix = ''; + if (str_contains($style, 'B')) { + $this->data['mode']['bold'] = true; + $suffix .= 'B'; + } + + if (str_contains($style, 'I')) { + $this->data['mode']['italic'] = true; + $suffix .= 'I'; + } + + $this->data['style'] = (string) $suffix; + if (str_contains($style, 'U')) { + $this->data['style'] .= 'U'; + $this->data['mode']['underline'] = true; + } + + if (str_contains($style, 'D')) { + $this->data['style'] .= 'D'; + $this->data['mode']['linethrough'] = true; + } + + if (str_contains($style, 'O')) { + $this->data['style'] .= 'O'; + $this->data['mode']['overline'] = true; + } + + $this->data['key'] = $this->data['family'] . $suffix; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Import.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Import.php new file mode 100644 index 0000000..9bf3b5c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Import.php @@ -0,0 +1,598 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\File\Byte; +use Com\Tecnick\File\Dir; +use Com\Tecnick\File\File; +use Com\Tecnick\Pdf\Font\Exception as FontException; +use Com\Tecnick\Pdf\Font\Import\Core; +use Com\Tecnick\Pdf\Font\Import\TrueType; +use Com\Tecnick\Pdf\Font\Import\TypeOne; +use Com\Tecnick\Unicode\Data\Encoding; + +/** + * Com\Tecnick\Pdf\Font\Import + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from Load + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +class Import +{ + /** + * Content of the input font file + */ + protected string $font = ''; + + /** + * Object used to read font bytes + */ + protected Byte $fbyte; + + /** + * Extracted font metrics + * + * @var TFontData + */ + protected array $fdt = [ + 'Ascender' => 0, + 'Ascent' => 0, + 'AvgWidth' => 0.0, + 'CapHeight' => 0, + 'CharacterSet' => '', + 'Descender' => 0, + 'Descent' => 0, + 'EncodingScheme' => '', + 'FamilyName' => '', + 'Flags' => 0, + 'FontBBox' => [], + 'FontName' => '', + 'FullName' => '', + 'IsFixedPitch' => false, + 'ItalicAngle' => 0, + 'Leading' => 0, + 'MaxWidth' => 0, + 'MissingWidth' => 0, + 'StdHW' => 0, + 'StdVW' => 0, + 'StemH' => 0, + 'StemV' => 0, + 'UnderlinePosition' => 0, + 'UnderlineThickness' => 0, + 'Version' => '', + 'Weight' => '', + 'XHeight' => 0, + 'bbox' => '', + 'cbbox' => [], + 'cidinfo' => [ + 'Ordering' => '', + 'Registry' => '', + 'Supplement' => 0, + 'uni2cid' => [], + ], + 'compress' => false, + 'ctg' => '', + 'ctgdata' => [], + 'cw' => [], + 'datafile' => '', + 'desc' => [ + 'Ascent' => 0, + 'AvgWidth' => 0, + 'CapHeight' => 0, + 'Descent' => 0, + 'Flags' => 0, + 'FontBBox' => '', + 'ItalicAngle' => 0, + 'Leading' => 0, + 'MaxWidth' => 0, + 'MissingWidth' => 0, + 'StemH' => 0, + 'StemV' => 0, + 'XHeight' => 0, + ], + 'diff' => '', + 'diff_n' => 0, + 'dir' => '', + 'dw' => 0, + 'enc' => '', + 'enc_map' => [], + 'encodingTables' => [], + 'encoding_id' => 0, + 'encrypted' => '', + 'fakestyle' => false, + 'family' => '', + 'file' => '', + 'file_n' => 0, + 'file_name' => '', + 'i' => 0, + 'ifile' => '', + 'indexToLoc' => [], + 'input_file' => '', + 'isUnicode' => false, + 'italicAngle' => 0, + 'key' => '', + 'lenIV' => 0, + 'length1' => 0, + 'length2' => 0, + 'linked' => false, + 'mode' => [ + 'bold' => false, + 'italic' => false, + 'linethrough' => false, + 'overline' => false, + 'underline' => false, + ], + 'n' => 0, + 'name' => '', + 'numGlyphs' => 0, + 'numHMetrics' => 0, + 'originalsize' => 0, + 'pdfa' => false, + 'platform_id' => 0, + 'settype' => '', + 'short_offset' => false, + 'size1' => 0, + 'size2' => 0, + 'style' => '', + 'subset' => false, + 'subsetchars' => [], + 'table' => [], + 'tot_num_glyphs' => 0, + 'type' => '', + 'underlinePosition' => 0, + 'underlineThickness' => 0, + 'unicode' => false, + 'unitsPerEm' => 0, + 'up' => 0, + 'urk' => 0.0, + 'ut' => 0, + 'weight' => '', + ]; + + /** + * Import the specified font and create output files. + * + * @param string $file Font file to process + * @param string $output_path Output path for generated font files (must be writeable by the web server). + * Leave null for default font folder. + * @param string $type Font type. Leave empty for autodetect mode. Valid values are: + * Core (AFM - Adobe Font Metrics) TrueTypeUnicode TrueType + * Type1 CID0JP (CID-0 Japanese) CID0KR (CID-0 Korean) CID0CS + * (CID-0 Chinese Simplified) CID0CT (CID-0 Chinese Traditional) + * @param string $encoding Name of the encoding table to use. Leave empty for default mode. + * Omit this parameter for TrueType Unicode and symbolic fonts like + * Symbol or ZapfDingBats. + * @param int $flags Unsigned 32-bit integer containing flags specifying various characteristics + * of the font as described in "PDF32000:2008 - 9.8.2 Font Descriptor Flags": + * +1 for fixed width font +4 for symbol or +32 for non-symbol +64 for italic + * Note: Fixed and Italic mode are generally autodetected, so you have to set + * it to 32 = non-symbolic font (default) or 4 = symbolic font. + * @param int $platform_id Platform ID for CMAP table to extract. + * For a Unicode font for Windows this + * value should be 3, for Macintosh + * should be 1. + * @param int $encoding_id Encoding ID for CMAP table to extract. + * For a Unicode font for Windows this + * value should be 1, for Macintosh + * should be 0. When Platform ID is 3, + * legal values for Encoding ID are: 0 = + * Symbol, 1 = Unicode, 2 = ShiftJIS, 3 = + * PRC, 4 = Big5, 5 = Wansung, 6 = Johab, + * 7 = Reserved, 8 = Reserved, 9 = + * Reserved, 10 = UCS-4. + * @param bool $linked If true, links the font file to system font instead of copying the font data + * (not transportable). Note: this option do not work with Type1 fonts. + * + * @throws FontException in case of error + */ + public function __construct( + string $file, + string $output_path = '', + string $type = '', + string $encoding = '', + int $flags = 32, + int $platform_id = 3, + int $encoding_id = 1, + bool $linked = false + ) { + if (FILE::hasDoubleDots($file) || FILE::hasForbiddenProtocol($file)) { + throw new FontException('Invalid font file name: ' . $file); + } + + $this->fdt['input_file'] = $file; + $this->fdt['file_name'] = $this->makeFontName($file); + if (empty($this->fdt['file_name'])) { + throw new FontException('the font name is empty'); + } + + $this->fdt['dir'] = $this->findOutputPath($output_path); + $this->fdt['datafile'] = $this->fdt['dir'] . $this->fdt['file_name'] . '.json'; + if (@file_exists($this->fdt['datafile'])) { + throw new FontException('this font has been already imported: ' . $this->fdt['datafile']); + } + + // get font data + if (! is_file($file)) { + throw new FontException('invalid font file: ' . $file); + } + + if (($font = @file_get_contents($file)) === false) { + throw new FontException('unable to read the input font file: ' . $file); + } + + $this->font = $font; + + $this->fbyte = new Byte($this->font); + + $this->fdt['settype'] = $type; + $this->fdt['type'] = $this->getFontType($type); + $this->fdt['isUnicode'] = (($this->fdt['type'] == 'TrueTypeUnicode') || ($this->fdt['type'] == 'cidfont0')); + $this->fdt['Flags'] = $flags; + $this->initFlags(); + $this->fdt['enc'] = $this->getEncodingTable($encoding); + $this->fdt['diff'] = $this->getEncodingDiff(); + $this->fdt['originalsize'] = strlen($this->font); + $this->fdt['ctg'] = $this->fdt['file_name'] . '.ctg.z'; + $this->fdt['platform_id'] = $platform_id; + $this->fdt['encoding_id'] = $encoding_id; + $this->fdt['linked'] = $linked; + + $processor = match ($this->fdt['type']) { + 'Core' => new Core($this->font, $this->fdt), + 'Type1' => new TypeOne($this->font, $this->fdt), + default => new TrueType($this->font, $this->fdt, $this->fbyte), + }; + ; + + $this->fdt = $processor->getFontMetrics(); + + $this->saveFontData(); + } + + /** + * Get all the extracted font metrics + * + * @return TFontData + */ + public function getFontMetrics(): array + { + return $this->fdt; + } + + /** + * Get the output font name + */ + public function getFontName(): string + { + return $this->fdt['file_name']; + } + + /** + * Initialize font flags from font name + */ + protected function initFlags(): void + { + $filename = strtolower(basename($this->fdt['input_file'])); + + if ( + (str_contains($filename, 'mono')) + || (str_contains($filename, 'courier')) + || (str_contains($filename, 'fixed')) + ) { + $this->fdt['Flags'] |= 1; + } + + if ( + (str_contains($filename, 'symbol')) + || (str_contains($filename, 'zapfdingbats')) + ) { + $this->fdt['Flags'] |= 4; + } + + if ( + (str_contains($filename, 'italic')) + || (str_contains($filename, 'oblique')) + ) { + $this->fdt['Flags'] |= 64; + } + } + + /** + * Save the eported metadata font file + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function saveFontData(): void + { + $pfile = '{"type":"' . $this->fdt['type'] . '"' + . ',"name":"' . $this->fdt['name'] . '"' + . ',"up":' . $this->fdt['underlinePosition'] + . ',"ut":' . $this->fdt['underlineThickness'] + . ',"dw":' . (($this->fdt['MissingWidth'] > 0) ? $this->fdt['MissingWidth'] : $this->fdt['AvgWidth']) + . ',"diff":"' . $this->fdt['diff'] . '"' + . ',"platform_id":' . $this->fdt['platform_id'] + . ',"encoding_id":' . $this->fdt['encoding_id']; + + if ($this->fdt['type'] == 'Core') { + // Core + $pfile .= ',"enc":""'; + } elseif ($this->fdt['type'] == 'Type1') { + // Type 1 + $pfile .= ',"enc":"' . $this->fdt['enc'] . '"' + . ',"file":"' . $this->fdt['file'] . '"' + . ',"size1":' . $this->fdt['size1'] + . ',"size2":' . $this->fdt['size2']; + } else { + $pfile .= ',"originalsize":' . $this->fdt['originalsize']; + if ($this->fdt['type'] == 'cidfont0') { + $pfile .= ',' . UniToCid::TYPE[$this->fdt['settype']]; + } else { + // TrueType + $pfile .= ',"enc":"' . $this->fdt['enc'] . '"' + . ',"file":"' . $this->fdt['file'] . '"' + . ',"ctg":"' . $this->fdt['ctg'] . '"'; + // create CIDToGIDMap + $cidtogidmap = str_pad('', 131072, "\x00"); // (256 * 256 * 2) = 131072 + foreach ($this->fdt['ctgdata'] as $cid => $gid) { + $cidtogidmap = $this->updateCIDtoGIDmap($cidtogidmap, (int) $cid, (int) $gid); + } + + // store compressed CIDToGIDMap + $file = new File(); + $fpt = $file->fopenLocal($this->fdt['dir'] . $this->fdt['ctg'], 'wb'); + + $cmpr = gzcompress($cidtogidmap); + if ($cmpr === false) { + throw new FontException('unable to compress CIDToGIDMap'); + } + + fwrite($fpt, $cmpr); + fclose($fpt); + } + } + + if ($this->fdt['isUnicode']) { + $pfile .= ',"isUnicode":true'; + } else { + $pfile .= ',"isUnicode":false'; + } + + $pfile .= ',"desc":{"Flags":' . $this->fdt['Flags'] + . ',"FontBBox":"[' . $this->fdt['bbox'] . ']"' + . ',"ItalicAngle":' . $this->fdt['italicAngle'] + . ',"Ascent":' . $this->fdt['Ascent'] + . ',"Descent":' . $this->fdt['Descent'] + . ',"Leading":' . $this->fdt['Leading'] + . ',"CapHeight":' . $this->fdt['CapHeight'] + . ',"XHeight":' . $this->fdt['XHeight'] + . ',"StemV":' . $this->fdt['StemV'] + . ',"StemH":' . $this->fdt['StemH'] + . ',"AvgWidth":' . $this->fdt['AvgWidth'] + . ',"MaxWidth":' . $this->fdt['MaxWidth'] + . ',"MissingWidth":' . $this->fdt['MissingWidth'] + . '}'; + if (! empty($this->fdt['cbbox'])) { + $ccboxstr = ''; + foreach ($this->fdt['cbbox'] as $cid => $bbox) { + $ccboxstr .= ',"' . $cid . '":[' . $bbox[0] . ',' . $bbox[1] . ',' . $bbox[2] . ',' . $bbox[3] . ']'; + } + + $pfile .= ',"cbbox":{' . substr($ccboxstr, 1) . '}'; + } + + if (! empty($this->fdt['cw'])) { + $cwstr = ''; + foreach ($this->fdt['cw'] as $cid => $width) { + $cwstr .= ',"' . $cid . '":' . $width; + } + + $pfile .= ',"cw":{' . substr($cwstr, 1) . '}'; + } + + $pfile .= '}' . "\n"; + + // store file + $file = new File(); + $fpt = $file->fopenLocal($this->fdt['datafile'], 'wb'); + fwrite($fpt, $pfile); + fclose($fpt); + } + + /** + * Make the output font name + * + * @param string $font_file Input font file + */ + protected function makeFontName(string $font_file): string + { + $font_path_parts = pathinfo($font_file); + if (empty($font_path_parts['filename'])) { + throw new FontException('Invalid font file name: ' . $font_file); + } + + $fname = preg_replace('/[^a-z0-9_]/', '', strtolower($font_path_parts['filename'])); + if ($fname === null) { + throw new FontException('Invalid font file name: ' . $font_file); + } + + return str_replace( + ['bold', 'oblique', 'italic', 'regular'], + ['b', 'i', 'i', ''], + $fname + ); + } + + /** + * Find the path where to store the processed font. + * + * @param string $output_path Output path for generated font files (must be writeable by the web server). + * Leave null for default font folder (K_PATH_FONTS). + */ + protected function findOutputPath(string $output_path = ''): string + { + if ( + $output_path !== '' + && (strpos($output_path, '://') === false) + && !FILE::hasDoubleDots($output_path) + && is_writable($output_path) + ) { + return $output_path; + } + + if (defined('K_PATH_FONTS') && is_writable(K_PATH_FONTS)) { + return K_PATH_FONTS; + } + + $dirobj = new Dir(); + $dir = $dirobj->findParentDir('fonts', __DIR__); + if ($dir == '/') { + $dir = sys_get_temp_dir(); + } + + if (! str_ends_with($dir, '/')) { + $dir .= '/'; + } + + return $dir; + } + + /** + * Get the font type + * + * @param string $font_type Font type. Leave empty for autodetect mode. + */ + protected function getFontType(string $font_type): string + { + // autodetect font type + if ($font_type === '') { + if (str_starts_with($this->font, 'StartFontMetrics')) { + // AFM type - we use this type only for the 14 Core fonts + return 'Core'; + } + + if (str_starts_with($this->font, 'OTTO')) { + throw new FontException('Unsupported font format: OpenType with CFF data'); + } + + if ($this->fbyte->getULong(0) == 0x10000) { + return 'TrueTypeUnicode'; + } + + return 'Type1'; + } + + if (str_starts_with($font_type, 'CID0')) { + return 'cidfont0'; + } + + if (in_array($font_type, ['Core', 'Type1', 'TrueType', 'TrueTypeUnicode'])) { + return $font_type; + } + + throw new FontException('unknown or unsupported font type: ' . $font_type); + } + + /** + * Get the encoding table + * + * @param string $encoding Name of the encoding table to use. Leave empty for default mode. + * Omit this parameter for TrueType Unicode and symbolic fonts like + * Symbol or ZapfDingBats. + */ + protected function getEncodingTable(string $encoding = ''): string + { + if ($encoding === '') { + if (($this->fdt['type'] == 'Type1') && (($this->fdt['Flags'] & 4) == 0)) { + return 'cp1252'; + } + + return ''; + } + + $enc = preg_replace('/[^A-Za-z0-9_\-]/', '', $encoding); + if ($enc === null) { + throw new FontException('Invalid encoding name: ' . $encoding); + } + + return $enc; + } + + /** + * If required, get differences between the reference encoding (cp1252) and the current encoding + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getEncodingDiff(): string + { + $diff = ''; + if ( + (($this->fdt['type'] == 'TrueType') || ($this->fdt['type'] == 'Type1')) + && (! empty($this->fdt['enc']) + && (is_string($this->fdt['enc'])) + && ($this->fdt['enc'] != 'cp1252') + && isset(Encoding::MAP[$this->fdt['enc']])) + ) { + // build differences from reference encoding + $enc_ref = Encoding::MAP['cp1252']; + $enc_target = Encoding::MAP[$this->fdt['enc']]; + $last = 0; + for ($idx = 32; $idx <= 255; ++$idx) { + if ($enc_target[$idx] != $enc_ref[$idx]) { + if ($idx != $last + 1) { + $diff .= $idx . ' '; + } + + $last = $idx; + $diff .= '/' . $enc_target[$idx] . ' '; + } + } + } + + return $diff; + } + + /** + * Update the CIDToGIDMap string with a new value + * + * @param string $map CIDToGIDMap. + * @param int $cid CID value. + * @param int $gid GID value. + */ + protected function updateCIDtoGIDmap(string $map, int $cid, int $gid): string + { + if (($cid >= 0) && ($cid <= 0xFFFF) && ($gid >= 0)) { + if ($gid > 0xFFFF) { + $gid -= 0x10000; + } + + $map[($cid * 2)] = chr($gid >> 8); + $map[(($cid * 2) + 1)] = chr($gid & 0xFF); + } + + return $map; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Import/Core.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Import/Core.php new file mode 100644 index 0000000..5a58e1c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Import/Core.php @@ -0,0 +1,227 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font\Import; + +use Com\Tecnick\File\File; +use Com\Tecnick\Pdf\Font\Exception as FontException; + +/** + * Com\Tecnick\Pdf\Font\Import\Core + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from \Com\Tecnick\Pdf\Font\Load + */ +class Core +{ + /** + * @param string $font Content of the input font file + * @param TFontData $fdt Extracted font metrics + * + * @throws FontException in case of error + */ + public function __construct( + protected string $font, + protected array $fdt + ) { + $this->process(); + } + + /** + * Get all the extracted font metrics + * + * @return TFontData + */ + public function getFontMetrics(): array + { + return $this->fdt; + } + + protected function setFlags(): void + { + if (($this->fdt['FontName'] == 'Symbol') || ($this->fdt['FontName'] == 'ZapfDingbats')) { + $this->fdt['Flags'] |= 4; + } else { + $this->fdt['Flags'] |= 32; + } + + if ($this->fdt['IsFixedPitch']) { + $this->fdt['Flags'] = ((int) $this->fdt['Flags']) | 1; + } + + if ((int) $this->fdt['ItalicAngle'] != 0) { + $this->fdt['Flags'] = ((int) $this->fdt['Flags']) | 64; + } + } + + /** + * Set Char widths + * + * @param array $cwidths Extracted widths + */ + protected function setCharWidths(array $cwidths): void + { + $this->fdt['MissingWidth'] = 600; + if (! empty($cwidths[32])) { + $this->fdt['MissingWidth'] = $cwidths[32]; + } + + $this->fdt['MaxWidth'] = (int) $this->fdt['MissingWidth']; + $this->fdt['AvgWidth'] = 0; + $this->fdt['cw'] = []; + for ($cid = 0; $cid <= 255; ++$cid) { + if (isset($cwidths[$cid])) { + if ($cwidths[$cid] > $this->fdt['MaxWidth']) { + $this->fdt['MaxWidth'] = $cwidths[$cid]; + } + + $this->fdt['AvgWidth'] += $cwidths[$cid]; + $this->fdt['cw'][$cid] = $cwidths[$cid]; + } else { + $this->fdt['cw'][$cid] = (int) $this->fdt['MissingWidth']; + } + } + + $this->fdt['AvgWidth'] = (int) round($this->fdt['AvgWidth'] / count($cwidths)); + } + + /** + * Extract Metrics + */ + protected function extractMetrics(): void + { + $cwd = []; + $this->fdt['cbbox'] = []; + $lines = explode("\n", str_replace("\r", '', $this->font)); + // process each row + foreach ($lines as $line) { + $col = explode(' ', rtrim($line)); + if (count($col) > 1) { + $this->processMetricRow($col, $cwd); + } + } + + $this->fdt['Leading'] = 0; + $this->setCharWidths($cwd); + } + + /** + * Extract Metrics + * + * @param array $col Array containing row elements to process + * @param array $cwd Array contianing cid widths + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function processMetricRow(array $col, array &$cwd): void + { + switch ($col[0]) { + case 'IsFixedPitch': + $this->fdt['IsFixedPitch'] = ($col[1] == 'true'); + break; + case 'FontBBox': + $this->fdt['FontBBox'] = [(int) $col[1], (int) $col[2], (int) $col[3], (int) $col[4]]; + break; + case 'C': + $cid = (int) $col[1]; + if ($cid >= 0) { + $cwd[$cid] = (int) $col[4]; + if (! empty($col[14])) { + $this->fdt['cbbox'][$cid] = [(int) $col[10], (int) $col[11], (int) $col[12], (int) $col[13]]; + } + } + + break; + case 'FontName': + case 'FullName': + case 'FamilyName': + case 'Weight': + case 'CharacterSet': + case 'Version': + case 'EncodingScheme': + $this->fdt[$col[0]] = $col[1]; + break; + case 'ItalicAngle': + case 'UnderlinePosition': + case 'UnderlineThickness': + case 'CapHeight': + case 'XHeight': + case 'Ascender': + case 'Descender': + case 'StdHW': + case 'StdVW': + $this->fdt[$col[0]] = (int) $col[1]; + break; + } + } + + /** + * Map values to the correct key name + */ + protected function remapValues(): void + { + // rename properties + $this->fdt['name'] = $this->fdt['FullName']; + $this->fdt['underlinePosition'] = $this->fdt['UnderlinePosition']; + $this->fdt['underlineThickness'] = $this->fdt['UnderlineThickness']; + $this->fdt['italicAngle'] = $this->fdt['ItalicAngle']; + $this->fdt['Ascent'] = $this->fdt['Ascender']; + $this->fdt['Descent'] = $this->fdt['Descender']; + $this->fdt['StemV'] = $this->fdt['StdVW']; + $this->fdt['StemH'] = $this->fdt['StdHW']; + + $name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $this->fdt['name']); + if ($name === null) { + throw new FontException('Invalid font name'); + } + + $this->fdt['name'] = $name; + $this->fdt['bbox'] = implode(' ', $this->fdt['FontBBox']); + + if (empty($this->fdt['XHeight'])) { + $this->fdt['XHeight'] = 0; + } + } + + protected function setMissingValues(): void + { + $this->fdt['Descender'] = $this->fdt['FontBBox'][1]; + + $this->fdt['Ascender'] = $this->fdt['FontBBox'][3]; + + if (empty($this->fdt['CapHeight'])) { + $this->fdt['CapHeight'] = $this->fdt['Ascender']; + } + } + + /** + * Process Core font + */ + protected function process(): void + { + $this->extractMetrics(); + $this->setFlags(); + $this->setMissingValues(); + $this->remapValues(); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Import/TrueType.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Import/TrueType.php new file mode 100644 index 0000000..88eed36 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Import/TrueType.php @@ -0,0 +1,811 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font\Import; + +use Com\Tecnick\File\Byte; +use Com\Tecnick\File\File; +use Com\Tecnick\Pdf\Font\Exception as FontException; +use Com\Tecnick\Unicode\Data\Encoding; + +/** + * Com\Tecnick\Pdf\Font\Import\TrueType + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from \Com\Tecnick\Pdf\Font\Load + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + * @SuppressWarnings("PHPMD.ExcessiveClassLength") + */ +class TrueType +{ + /** + * Array containing subset chars + * + * @var array + */ + protected array $subchars = []; + + /** + * Array containing subset glyphs indexes of chars from cmap table + * + * @var array + */ + protected array $subglyphs = [ + 0 => true, + ]; + + /** + * Pointer position on the original font data + */ + protected int $offset = 0; + + /** + * Process TrueType font + * + * @param string $font Content of the input font file + * @param TFontData $fdt Extracted font metrics + * @param Byte $fbyte Object used to read font bytes + * @param array $subchars Array containing subset chars + * + * @throws FontException in case of error + */ + public function __construct( + protected string $font, + protected array $fdt, + protected Byte $fbyte, + array $subchars = [] + ) { + ksort($subchars); + $this->subchars = $subchars; + $this->process(); + } + + /** + * Get all the extracted font metrics + * + * @return TFontData + */ + public function getFontMetrics(): array + { + return $this->fdt; + } + + /** + * Get glyphs in the subset + * + * @return array + */ + public function getSubGlyphs(): array + { + return $this->subglyphs; + } + + /** + * Process TrueType font + */ + protected function process(): void + { + $this->isValidType(); + $this->setFontFile(); + $this->getTables(); + $this->checkMagickNumber(); + $this->offset += 2; // skip flags + $this->getBbox(); + $this->getIndexToLoc(); + $this->getEncodingTables(); + $this->getOS2Metrics(); + $this->getFontName(); + $this->getPostData(); + $this->getHheaData(); + $this->getMaxpData(); + $this->getCIDToGIDMap(); + $this->getHeights(); + $this->getWidths(); + } + + /** + * Check if the font is a valid type + * + * @throws FontException if the font is invalid + */ + protected function isValidType(): void + { + if ($this->fbyte->getULong($this->offset) != 0x10000) { + throw new FontException('sfnt version must be 0x00010000 for TrueType version 1.0.'); + } + + $this->offset += 4; + } + + /** + * Copy or link the original font file + */ + protected function setFontFile(): void + { + if (! empty($this->fdt['desc']['MaxWidth'])) { + // subsetting mode + $this->fdt['Flags'] = $this->fdt['desc']['Flags']; + return; + } + + if ($this->fdt['type'] == 'cidfont0') { + return; + } + + if ($this->fdt['linked']) { + // creates a symbolic link to the existing font + symlink($this->fdt['input_file'], $this->fdt['dir'] . $this->fdt['file_name']); + return; + } + + // store compressed font + $this->fdt['file'] = $this->fdt['file_name'] . '.z'; + $file = new File(); + $fpt = $file->fopenLocal($this->fdt['dir'] . $this->fdt['file'], 'wb'); + + $cmpr = gzcompress($this->font); + if ($cmpr === false) { + throw new FontException('Error compressing font file.'); + } + + fwrite($fpt, $cmpr); + fclose($fpt); + } + + /** + * Get the font tables + */ + protected function getTables(): void + { + // get number of tables + $numTables = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + // skip searchRange, entrySelector and rangeShift + $this->offset += 6; + // tables array + $this->fdt['table'] = []; + // ---------- get tables ---------- + for ($idx = 0; $idx < $numTables; ++$idx) { + // get table info + $tag = substr($this->font, $this->offset, 4); + $this->offset += 4; + $this->fdt['table'][$tag] = [ + 'checkSum' => 0, + 'data' => '', + 'length' => 0, + 'offset' => 0, + ]; + $this->fdt['table'][$tag]['checkSum'] = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $this->fdt['table'][$tag]['offset'] = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $this->fdt['table'][$tag]['length'] = $this->fbyte->getULong($this->offset); + $this->offset += 4; + } + } + + /** + * Check if the font is a valid type + * + * @throws FontException if the font is invalid + */ + protected function checkMagickNumber(): void + { + $this->offset = ($this->fdt['table']['head']['offset'] + 12); + if ($this->fbyte->getULong($this->offset) != 0x5F0F3CF5) { + // magicNumber must be 0x5F0F3CF5 + throw new FontException('magicNumber must be 0x5F0F3CF5'); + } + + $this->offset += 4; + } + + /** + * Get BBox, units and flags + */ + protected function getBbox(): void + { + $this->fdt['unitsPerEm'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + // units ratio constant + $this->fdt['urk'] = (1000 / $this->fdt['unitsPerEm']); + $this->offset += 16; // skip created, modified + $xMin = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $yMin = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $xMax = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $yMax = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $this->fdt['bbox'] = $xMin . ' ' . $yMin . ' ' . $xMax . ' ' . $yMax; + $macStyle = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + // PDF font flags + if (($macStyle & 2) == 2) { + // italic flag + $this->fdt['Flags'] |= 64; + } + } + + /** + * Get index to loc map + */ + protected function getIndexToLoc(): void + { + // get offset mode (indexToLocFormat : 0 = short, 1 = long) + $this->offset = ($this->fdt['table']['head']['offset'] + 50); + $this->fdt['short_offset'] = ($this->fbyte->getShort($this->offset) == 0); + $this->offset += 2; + // get the offsets to the locations of the glyphs in the font, relative to the beginning of the glyphData table + $this->fdt['indexToLoc'] = []; + $this->offset = $this->fdt['table']['loca']['offset']; + if ($this->fdt['short_offset']) { + // short version + $this->fdt['tot_num_glyphs'] = (int) floor($this->fdt['table']['loca']['length'] / 2); // numGlyphs + 1 + for ($idx = 0; $idx < $this->fdt['tot_num_glyphs']; ++$idx) { + $this->fdt['indexToLoc'][$idx] = $this->fbyte->getUShort($this->offset) * 2; + if ( + isset($this->fdt['indexToLoc'][($idx - 1)]) + && ($this->fdt['indexToLoc'][$idx] === $this->fdt['indexToLoc'][($idx - 1)]) + ) { + // the last glyph didn't have an outline + unset($this->fdt['indexToLoc'][($idx - 1)]); + } + + $this->offset += 2; + } + } else { + // long version + $this->fdt['tot_num_glyphs'] = (int) floor($this->fdt['table']['loca']['length'] / 4); // numGlyphs + 1 + for ($idx = 0; $idx < $this->fdt['tot_num_glyphs']; ++$idx) { + $this->fdt['indexToLoc'][$idx] = $this->fbyte->getULong($this->offset); + if ( + isset($this->fdt['indexToLoc'][($idx - 1)]) + && ($this->fdt['indexToLoc'][$idx] === $this->fdt['indexToLoc'][($idx - 1)]) + ) { + // the last glyph didn't have an outline + unset($this->fdt['indexToLoc'][($idx - 1)]); + } + + $this->offset += 4; + } + } + } + + protected function getEncodingTables(): void + { + // get glyphs indexes of chars from cmap table + $this->offset = $this->fdt['table']['cmap']['offset'] + 2; + $numEncodingTables = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $this->fdt['encodingTables'] = []; + for ($idx = 0; $idx < $numEncodingTables; ++$idx) { + $this->fdt['encodingTables'][$idx]['platformID'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $this->fdt['encodingTables'][$idx]['encodingID'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $this->fdt['encodingTables'][$idx]['offset'] = $this->fbyte->getULong($this->offset); + $this->offset += 4; + } + } + + /** + * Get encoding tables + */ + protected function getOS2Metrics(): void + { + $this->offset = $this->fdt['table']['OS/2']['offset']; + $this->offset += 2; // skip version + // xAvgCharWidth + $this->fdt['AvgWidth'] = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + // usWeightClass + $usWeightClass = round($this->fbyte->getUFWord($this->offset) * $this->fdt['urk']); + // estimate StemV and StemH (400 = usWeightClass for Normal - Regular font) + $this->fdt['StemV'] = (int) round((70 * $usWeightClass) / 400); + $this->fdt['StemH'] = (int) round((30 * $usWeightClass) / 400); + $this->offset += 2; + $this->offset += 2; // usWidthClass + $fsType = $this->fbyte->getShort($this->offset); + $this->offset += 2; + if ($fsType == 2) { + throw new FontException( + 'This Font cannot be modified, embedded or exchanged in any manner' + . ' without first obtaining permission of the legal owner.' + ); + } + } + + protected function getFontName(): void + { + $this->fdt['name'] = ''; + $this->offset = $this->fdt['table']['name']['offset']; + $this->offset += 2; // skip Format selector (=0). + // Number of NameRecords that follow n. + $numNameRecords = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + // Offset to start of string storage (from start of table). + $stringStorageOffset = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + for ($idx = 0; $idx < $numNameRecords; ++$idx) { + $this->offset += 6; // skip Platform ID, Platform-specific encoding ID, Language ID. + // Name ID. + $nameID = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + if ($nameID == 6) { + // String length (in bytes). + $stringLength = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + // String offset from start of storage area (in bytes). + $stringOffset = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $this->offset = ($this->fdt['table']['name']['offset'] + $stringStorageOffset + $stringOffset); + $this->fdt['name'] = substr($this->font, $this->offset, $stringLength); + $name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $this->fdt['name']); + if (($name === null) || ($name === '')) { + throw new FontException('Error getting font name.'); + } + + $this->fdt['name'] = $name; + break; + } else { + $this->offset += 4; // skip String length, String offset + } + } + } + + protected function getPostData(): void + { + $this->offset = $this->fdt['table']['post']['offset']; + $this->offset += 4; // skip Format Type + $this->fdt['italicAngle'] = $this->fbyte->getFixed($this->offset); + $this->offset += 4; + $this->fdt['underlinePosition'] = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $this->fdt['underlineThickness'] = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $isFixedPitch = ($this->fbyte->getULong($this->offset) != 0); + $this->offset += 2; + if ($isFixedPitch) { + $this->fdt['Flags'] |= 1; + } + } + + protected function getHheaData(): void + { + // ---------- get hhea data ---------- + $this->offset = $this->fdt['table']['hhea']['offset']; + $this->offset += 4; // skip Table version number + // Ascender + $this->fdt['Ascent'] = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + // Descender + $this->fdt['Descent'] = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + // LineGap + $this->fdt['Leading'] = (int) round($this->fbyte->getFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + // advanceWidthMax + $this->fdt['MaxWidth'] = (int) round($this->fbyte->getUFWord($this->offset) * $this->fdt['urk']); + $this->offset += 2; + $this->offset += 22; // skip some values + // get the number of hMetric entries in hmtx table + $this->fdt['numHMetrics'] = $this->fbyte->getUShort($this->offset); + } + + protected function getMaxpData(): void + { + $this->offset = $this->fdt['table']['maxp']['offset']; + $this->offset += 4; // skip Table version number + // get the the number of glyphs in the font. + $this->fdt['numGlyphs'] = $this->fbyte->getUShort($this->offset); + } + + /** + * Get font heights + */ + protected function getHeights(): void + { + // get xHeight (height of x) + $this->fdt['XHeight'] = ($this->fdt['Ascent'] + $this->fdt['Descent']); + if (! empty($this->fdt['ctgdata'][120])) { + $this->offset = ( + $this->fdt['table']['glyf']['offset'] + + $this->fdt['indexToLoc'][$this->fdt['ctgdata'][120]] + + 4 + ); + $yMin = $this->fbyte->getFWord($this->offset); + $this->offset += 4; + $yMax = $this->fbyte->getFWord($this->offset); + $this->offset += 2; + $this->fdt['XHeight'] = (int) round(($yMax - $yMin) * $this->fdt['urk']); + } + + // get CapHeight (height of H) + $this->fdt['CapHeight'] = (int) $this->fdt['Ascent']; + if (! empty($this->fdt['ctgdata'][72])) { + $this->offset = ( + $this->fdt['table']['glyf']['offset'] + + $this->fdt['indexToLoc'][$this->fdt['ctgdata'][72]] + + 4 + ); + $yMin = $this->fbyte->getFWord($this->offset); + $this->offset += 4; + $yMax = $this->fbyte->getFWord($this->offset); + $this->offset += 2; + $this->fdt['CapHeight'] = (int) round(($yMax - $yMin) * $this->fdt['urk']); + } + } + + /** + * Get font widths + */ + protected function getWidths(): void + { + // create widths array + $chw = []; + $this->offset = $this->fdt['table']['hmtx']['offset']; + for ($i = 0; $i < $this->fdt['numHMetrics']; ++$i) { + $chw[$i] = round($this->fbyte->getUFWord($this->offset) * $this->fdt['urk']); + $this->offset += 4; // skip lsb + } + + if ($this->fdt['numHMetrics'] < $this->fdt['numGlyphs']) { + // fill missing widths with the last value + $chw = array_pad($chw, $this->fdt['numGlyphs'], $chw[($this->fdt['numHMetrics'] - 1)]); + } + + $this->fdt['MissingWidth'] = $chw[0]; + $this->fdt['cw'] = []; + $this->fdt['cbbox'] = []; + for ($cid = 0; $cid <= 65535; ++$cid) { + if (isset($this->fdt['ctgdata'][$cid])) { + if (isset($chw[$this->fdt['ctgdata'][$cid]])) { + $this->fdt['cw'][$cid] = $chw[$this->fdt['ctgdata'][$cid]]; + } + + if (isset($this->fdt['indexToLoc'][$this->fdt['ctgdata'][$cid]])) { + $this->offset = ( + $this->fdt['table']['glyf']['offset'] + + $this->fdt['indexToLoc'][$this->fdt['ctgdata'][$cid]] + ); + $xMin = (int) round($this->fbyte->getFWord($this->offset + 2) * $this->fdt['urk']); + $yMin = (int) round($this->fbyte->getFWord($this->offset + 4) * $this->fdt['urk']); + $xMax = (int) round($this->fbyte->getFWord($this->offset + 6) * $this->fdt['urk']); + $yMax = (int) round($this->fbyte->getFWord($this->offset + 8) * $this->fdt['urk']); + $this->fdt['cbbox'][$cid] = [$xMin, $yMin, $xMax, $yMax]; + } + } + } + } + + /** + * Add CTG entry + */ + protected function addCtgItem(int $cid, int $gid): void + { + $this->fdt['ctgdata'][$cid] = $gid; + if (isset($this->subchars[$cid])) { + $this->subglyphs[$gid] = true; + } + } + + /** + * Process the CID To GID Map. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getCIDToGIDMap(): void + { + $this->fdt['ctgdata'] = []; + foreach ($this->fdt['encodingTables'] as $enctable) { + // get only specified Platform ID and Encoding ID + if ( + ($enctable['platformID'] == $this->fdt['platform_id']) + && ($enctable['encodingID'] == $this->fdt['encoding_id']) + ) { + $this->offset = ($this->fdt['table']['cmap']['offset'] + $enctable['offset']); + $format = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + match ($format) { + 0 => $this->processFormat0(), + 2 => $this->processFormat2(), + 4 => $this->processFormat4(), + 6 => $this->processFormat6(), + 8 => $this->processFormat8(), + 10 => $this->processFormat10(), + 12 => $this->processFormat12(), + 13 => $this->processFormat13(), + 14 => $this->processFormat14(), + default => throw new FontException('Unsupported cmap format: ' . $format), + }; + } + } + + if (! isset($this->fdt['ctgdata'][0])) { + $this->fdt['ctgdata'][0] = 0; + } + + if ($this->fdt['type'] != 'TrueTypeUnicode') { + return; + } + + if (count($this->fdt['ctgdata']) != 256) { + return; + } + + $this->fdt['type'] = 'TrueType'; + } + + /** + * Process Format 0: Byte encoding table + */ + protected function processFormat0(): void + { + $this->offset += 4; // skip length and version/language + for ($chr = 0; $chr < 256; ++$chr) { + $gid = $this->fbyte->getByte($this->offset); + $this->addCtgItem($chr, $gid); + ++$this->offset; + } + } + + /** + * Process Format 2: High-byte mapping through table + */ + protected function processFormat2(): void + { + $this->offset += 4; // skip length and version/language + $numSubHeaders = 0; + for ($chr = 0; $chr < 256; ++$chr) { + // Array that maps high bytes to subHeaders: value is subHeader index * 8. + $subHeaderKeys[$chr] = ($this->fbyte->getUShort($this->offset) / 8); + $this->offset += 2; + if ($numSubHeaders < $subHeaderKeys[$chr]) { + $numSubHeaders = $subHeaderKeys[$chr]; + } + } + + // the number of subHeaders is equal to the max of subHeaderKeys + 1 + ++$numSubHeaders; + // read subHeader structures + $subHeaders = []; + $numGlyphIndexArray = 0; + for ($ish = 0; $ish < $numSubHeaders; ++$ish) { + $subHeaders[$ish]['firstCode'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $subHeaders[$ish]['entryCount'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $subHeaders[$ish]['idDelta'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $subHeaders[$ish]['idRangeOffset'] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $subHeaders[$ish]['idRangeOffset'] -= (2 + (($numSubHeaders - $ish - 1) * 8)); + $subHeaders[$ish]['idRangeOffset'] /= 2; + $numGlyphIndexArray += $subHeaders[$ish]['entryCount']; + } + + $glyphIndexArray = [ + 0 => 0, + ]; + for ($gid = 0; $gid < $numGlyphIndexArray; ++$gid) { + $glyphIndexArray[$gid] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + } + + for ($chr = 0; $chr < 256; ++$chr) { + $shk = $subHeaderKeys[$chr]; + if ($shk == 0) { + // one byte code + $cdx = $chr; + $gid = $glyphIndexArray[0]; + $this->addCtgItem($cdx, $gid); + } else { + // two bytes code + $start_byte = $subHeaders[$shk]['firstCode']; + $end_byte = $start_byte + $subHeaders[$shk]['entryCount']; + for ($jdx = $start_byte; $jdx < $end_byte; ++$jdx) { + // combine high and low bytes + $cdx = (($chr << 8) + $jdx); + $idRangeOffset = ($subHeaders[$shk]['idRangeOffset'] + $jdx - $subHeaders[$shk]['firstCode']); + $gid = max(0, (($glyphIndexArray[$idRangeOffset] + $subHeaders[$shk]['idDelta']) % 65536)); + $this->addCtgItem($cdx, $gid); + } + } + } + } + + /** + * Process Format 4: Segment mapping to delta values + */ + protected function processFormat4(): void + { + $length = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $this->offset += 2; // skip version/language + $segCount = floor($this->fbyte->getUShort($this->offset) / 2); + $this->offset += 2; + $this->offset += 6; // skip searchRange, entrySelector, rangeShift + $endCount = []; // array of end character codes for each segment + for ($kdx = 0; $kdx < $segCount; ++$kdx) { + $endCount[$kdx] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + } + + $this->offset += 2; // skip reservedPad + $startCount = []; // array of start character codes for each segment + for ($kdx = 0; $kdx < $segCount; ++$kdx) { + $startCount[$kdx] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + } + + $idDelta = []; // delta for all character codes in segment + for ($kdx = 0; $kdx < $segCount; ++$kdx) { + $idDelta[$kdx] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + } + + $idRangeOffset = []; // Offsets into glyphIdArray or 0 + for ($kdx = 0; $kdx < $segCount; ++$kdx) { + $idRangeOffset[$kdx] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + } + + $gidlen = (floor($length / 2) - 8 - (4 * $segCount)); + $glyphIdArray = []; // glyph index array + for ($kdx = 0; $kdx < $gidlen; ++$kdx) { + $glyphIdArray[$kdx] = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + } + + for ($kdx = 0; $kdx < $segCount; ++$kdx) { + for ($chr = $startCount[$kdx]; $chr <= $endCount[$kdx]; ++$chr) { + if ($idRangeOffset[$kdx] == 0) { + $gid = max(0, (($idDelta[$kdx] + $chr) % 65536)); + } else { + $gid = (floor($idRangeOffset[$kdx] / 2) + ($chr - $startCount[$kdx]) - ($segCount - $kdx)); + $gid = max(0, (($glyphIdArray[$gid] + $idDelta[$kdx]) % 65536)); + } + + $this->addCtgItem($chr, $gid); + } + } + } + + /** + * Process Format 6: Trimmed table mapping + */ + protected function processFormat6(): void + { + $this->offset += 4; // skip length and version/language + $firstCode = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $entryCount = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + for ($kdx = 0; $kdx < $entryCount; ++$kdx) { + $chr = ($kdx + $firstCode); + $gid = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $this->addCtgItem($chr, $gid); + } + } + + /** + * Process Format 8: Mixed 16-bit and 32-bit coverage + */ + protected function processFormat8(): void + { + $this->offset += 10; // skip reserved, length and version/language + for ($kdx = 0; $kdx < 8192; ++$kdx) { + $is32[$kdx] = $this->fbyte->getByte($this->offset); + ++$this->offset; + } + + $nGroups = $this->fbyte->getULong($this->offset); + $this->offset += 4; + for ($idx = 0; $idx < $nGroups; ++$idx) { + $startCharCode = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $endCharCode = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $startGlyphID = $this->fbyte->getULong($this->offset); + $this->offset += 4; + for ($cpw = $startCharCode; $cpw <= $endCharCode; ++$cpw) { + $is32idx = floor($cpw / 8); + if ((isset($is32[$is32idx])) && (($is32[$is32idx] & (1 << (7 - ($cpw % 8)))) == 0)) { + $chr = $cpw; + } else { + // 32 bit format + // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4) + //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232 + //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888 + $chr = (((55232 + ($cpw >> 10)) << 10) + (0xDC00 + ($cpw & 0x3FF)) - 56_613_888); + } + + $this->addCtgItem($chr, $startGlyphID); + $this->fdt['ctgdata'][$chr] = 0; // overwrite + ++$startGlyphID; + } + } + } + + /** + * Process Format 10: Trimmed array + */ + protected function processFormat10(): void + { + $this->offset += 10; // skip reserved, length and version/language + $startCharCode = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $numChars = $this->fbyte->getULong($this->offset); + $this->offset += 4; + for ($kdx = 0; $kdx < $numChars; ++$kdx) { + $chr = ($kdx + $startCharCode); + $gid = $this->fbyte->getUShort($this->offset); + $this->addCtgItem($chr, $gid); + $this->offset += 2; + } + } + + /** + * Process Format 12: Segmented coverage + */ + protected function processFormat12(): void + { + $this->offset += 10; // skip length and version/language + $nGroups = $this->fbyte->getULong($this->offset); + $this->offset += 4; + for ($kdx = 0; $kdx < $nGroups; ++$kdx) { + $startCharCode = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $endCharCode = $this->fbyte->getULong($this->offset); + $this->offset += 4; + $startGlyphCode = $this->fbyte->getULong($this->offset); + $this->offset += 4; + for ($chr = $startCharCode; $chr <= $endCharCode; ++$chr) { + $this->addCtgItem($chr, $startGlyphCode); + ++$startGlyphCode; + } + } + } + + /** + * Process Format 13: Many-to-one range mappings + * + * @TODO: TO BE IMPLEMENTED + */ + protected function processFormat13(): void + { + } + + /** + * Process Format 14: Unicode Variation Sequences + * + * @TODO: TO BE IMPLEMENTED + */ + protected function processFormat14(): void + { + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Import/TypeOne.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Import/TypeOne.php new file mode 100644 index 0000000..3aa2b0e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Import/TypeOne.php @@ -0,0 +1,360 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font\Import; + +use Com\Tecnick\File\File; +use Com\Tecnick\Pdf\Font\Exception as FontException; +use Com\Tecnick\Unicode\Data\Encoding; + +/** + * Com\Tecnick\Pdf\Font\Import\TypeOne + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +class TypeOne extends \Com\Tecnick\Pdf\Font\Import\Core +{ + /** + * Store font data + */ + protected function storeFontData(): void + { + // read first segment + $dat = unpack('Cmarker/Ctype/Vsize', substr($this->font, 0, 6)); + if (($dat === false) || ($dat['marker'] != 128)) { + throw new FontException('Font file is not a valid binary Type1'); + } + + $this->fdt['size1'] = $dat['size']; + $data = substr($this->font, 6, $this->fdt['size1']); + // read second segment + $dat = unpack('Cmarker/Ctype/Vsize', substr($this->font, (6 + $this->fdt['size1']), 6)); + if (($dat === false) || ($dat['marker'] != 128)) { + throw new FontException('Font file is not a valid binary Type1'); + } + + $this->fdt['size2'] = $dat['size']; + $this->fdt['encrypted'] = substr($this->font, (12 + $this->fdt['size1']), $this->fdt['size2']); + $data .= $this->fdt['encrypted']; + // store compressed font + $this->fdt['file'] = $this->fdt['file_name'] . '.z'; + $file = new File(); + $fpt = $file->fopenLocal($this->fdt['dir'] . $this->fdt['file'], 'wb'); + + $cmpr = gzcompress($data); + if ($cmpr === false) { + throw new FontException('Unable to compress font data'); + } + + fwrite($fpt, $cmpr); + fclose($fpt); + } + + /** + * Extract Font information + */ + protected function extractFontInfo(): void + { + if (preg_match('#/FontName[\s]*+\/([^\s]*+)#', $this->font, $matches) !== 1) { + preg_match('#/FullName[\s]*+\(([^\)]*+)#', $this->font, $matches); + } + + $name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $matches[1]); + if ($name === null) { + throw new FontException('Unable to extract font name'); + } + + $this->fdt['name'] = $name; + preg_match('#/FontBBox[\s]*+{([^}]*+)#', $this->font, $matches); + $rawbvl = explode(' ', trim($matches[1])); + $bvl = [(int) $rawbvl[0], (int) $rawbvl[1], (int) $rawbvl[2], (int) $rawbvl[3]]; + $this->fdt['bbox'] = implode(' ', $bvl); + $this->fdt['Ascent'] = $bvl[3]; + $this->fdt['Descent'] = $bvl[1]; + preg_match('#/ItalicAngle[\s]*+([0-9\+\-]*+)#', $this->font, $matches); + $this->fdt['italicAngle'] = (int) $matches[1]; + + if ($this->fdt['italicAngle'] != 0) { + $this->fdt['Flags'] |= 64; + } + + preg_match('#/UnderlinePosition[\s]*+([0-9\+\-]*+)#', $this->font, $matches); + $this->fdt['underlinePosition'] = (int) $matches[1]; + preg_match('#/UnderlineThickness[\s]*+([0-9\+\-]*+)#', $this->font, $matches); + $this->fdt['underlineThickness'] = (int) $matches[1]; + preg_match('#/isFixedPitch[\s]*+([^\s]*+)#', $this->font, $matches); + if ($matches[1] == 'true') { + $this->fdt['Flags'] = (((int) $this->fdt['Flags']) | 1); + } + + preg_match('#/Weight[\s]*+\(([^\)]*+)#', $this->font, $matches); + if (! empty($matches[1])) { + $this->fdt['weight'] = strtolower($matches[1]); + } + + $this->fdt['weight'] = 'Book'; + $this->fdt['Leading'] = 0; + } + + /** + * Extract Font information + * + * @return array + */ + protected function getInternalMap(): array + { + $imap = []; + if (preg_match_all('#dup[\s]([0-9]+)[\s]*+/([^\s]*+)[\s]put#sU', $this->font, $fmap, PREG_SET_ORDER) > 0) { + foreach ($fmap as $val) { + $imap[$val[2]] = (int) $val[1]; + } + } + + return $imap; + } + + /** + * Decrypt eexec encrypted part + */ + protected function getEplain(): string + { + $csr = 55665; // eexec encryption constant + $cc1 = 52845; + $cc2 = 22719; + $elen = strlen($this->fdt['encrypted']); + $eplain = ''; + for ($idx = 0; $idx < $elen; ++$idx) { + $chr = ord($this->fdt['encrypted'][$idx]); + $eplain .= chr($chr ^ ($csr >> 8)); + $csr = ((($chr + $csr) * $cc1 + $cc2) % 65536); + } + + return $eplain; + } + + /** + * Extract eexec info + * + * @return array> + */ + protected function extractEplainInfo(): array + { + $eplain = $this->getEplain(); + if (preg_match('#/ForceBold[\s]*+([^\s]*+)#', $eplain, $matches) > 0 && $matches[1] == 'true') { + $this->fdt['Flags'] |= 0x40000; + } + + $this->extractStem($eplain); + if (preg_match('#/BlueValues[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0) { + $bvl = explode(' ', $matches[1]); + if (count($bvl) >= 6) { + $vl1 = (int) $bvl[2]; + $vl2 = (int) $bvl[4]; + $this->fdt['XHeight'] = min($vl1, $vl2); + $this->fdt['CapHeight'] = max($vl1, $vl2); + } + } + + $this->getRandomBytes($eplain); + return $this->getCharstringData($eplain); + } + + /** + * Extract eexec info + * + * @param string $eplain Decoded eexec encrypted part + */ + protected function extractStem(string $eplain): void + { + if (preg_match('#/StdVW[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0) { + $this->fdt['StemV'] = (int) $matches[1]; + } elseif (($this->fdt['weight'] == 'bold') || ($this->fdt['weight'] == 'black')) { + $this->fdt['StemV'] = 123; + } else { + $this->fdt['StemV'] = 70; + } + + $this->fdt['StemH'] = preg_match('#/StdHW[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0 ? (int) $matches[1] : 30; + + if (preg_match('#/Cap[X]?Height[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0) { + $this->fdt['CapHeight'] = (int) $matches[1]; + } else { + $this->fdt['CapHeight'] = (int) $this->fdt['Ascent']; + } + + $this->fdt['XHeight'] = ((int) $this->fdt['Ascent'] + (int) $this->fdt['Descent']); + } + + /** + * Get the number of random bytes at the beginning of charstrings + */ + protected function getRandomBytes(string $eplain): void + { + $this->fdt['lenIV'] = 4; + if (preg_match('#/lenIV[\s]*+([\d]*+)#', $eplain, $matches) > 0) { + $this->fdt['lenIV'] = (int) $matches[1]; + } + } + + /** + * @return array> + */ + protected function getCharstringData(string $eplain): array + { + $this->fdt['enc_map'] = []; + $eplain = substr($eplain, (strpos($eplain, '/CharStrings') + 1)); + preg_match_all('#/([A-Za-z0-9\.]*+)[\s][0-9]+[\s]RD[\s](.*)[\s]ND#sU', $eplain, $matches, PREG_SET_ORDER); + if ($this->fdt['enc'] === '') { + return $matches; + } + + if (! isset(Encoding::MAP[$this->fdt['enc']])) { + return $matches; + } + + $this->fdt['enc_map'] = Encoding::MAP[$this->fdt['enc']]; + return $matches; + } + + /** + * get CID + * + * @param array $imap + * @param array $val + */ + protected function getCid(array $imap, array $val): int + { + if (isset($imap[$val[1]])) { + return $imap[$val[1]]; + } + + if ($this->fdt['enc_map'] === false) { + return 0; + } + + $cid = array_search($val[1], $this->fdt['enc_map'], true); + if ($cid === false) { + return 0; + } + + if ($cid > 1000) { + return 1000; + } + + return (int) $cid; + } + + /** + * Decode number + * + * @param array $ccom + * @param array $cdec + * @param array $cwidths + */ + protected function decodeNumber( + int $idx, + int &$cck, + int &$cid, + array &$ccom, + array &$cdec, + array &$cwidths + ): int { + if ($ccom[$idx] == 255) { + $sval = chr($ccom[($idx + 1)]) . chr($ccom[($idx + 2)]) . chr($ccom[($idx + 3)]) . chr($ccom[($idx + 4)]); + $vsval = unpack('li', $sval); + if (($vsval === false) || (!is_numeric($vsval['i']))) { + throw new FontException('Unable to unpack number'); + } + + $cdec[$cck] = (int) $vsval['i']; + return ($idx + 5); + } + + if ($ccom[$idx] >= 251) { + $cdec[$cck] = ((-($ccom[$idx] - 251) * 256) - $ccom[($idx + 1)] - 108); + return ($idx + 2); + } + + if ($ccom[$idx] >= 247) { + $cdec[$cck] = ((($ccom[$idx] - 247) * 256) + $ccom[($idx + 1)] + 108); + return ($idx + 2); + } + + if ($ccom[$idx] >= 32) { + $cdec[$cck] = ($ccom[$idx] - 139); + return ++$idx; + } + + $cdec[$cck] = $ccom[$idx]; + if ($cck <= 0) { + return ++$idx; + } + + if ($cdec[$cck] != 13) { + return ++$idx; + } + + // hsbw command: update width + $cwidths[$cid] = $cdec[($cck - 1)]; + return ++$idx; + } + + /** + * Process Type1 font + */ + protected function process(): void + { + $this->storeFontData(); + $this->extractFontInfo(); + $imap = $this->getInternalMap(); + $matches = $this->extractEplainInfo(); + $cwidths = []; + $cc1 = 52845; + $cc2 = 22719; + foreach ($matches as $match) { + $cid = $this->getCid($imap, $match); + // decrypt charstring encrypted part + $csr = 4330; // charstring encryption constant + $ccd = $match[2]; + $clen = strlen($ccd); + $ccom = []; + for ($idx = 0; $idx < $clen; ++$idx) { + $chr = ord($ccd[$idx]); + $ccom[] = ($chr ^ ($csr >> 8)); + $csr = ((($chr + $csr) * $cc1 + $cc2) % 65536); + } + + // decode numbers + $cdec = []; + $cck = 0; + $idx = $this->fdt['lenIV']; + while ($idx < $clen) { + $idx = $this->decodeNumber($idx, $cck, $cid, $ccom, $cdec, $cwidths); + ++$cck; + } + } + + $this->setCharWidths($cwidths); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Load.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Load.php new file mode 100644 index 0000000..f72fda2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Load.php @@ -0,0 +1,506 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\File\Dir; +use Com\Tecnick\Pdf\Font\Exception as FontException; + +/** + * Com\Tecnick\Pdf\Font\Load + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-type TFontDataCidInfo array{ + * 'Ordering': string, + * 'Registry': string, + * 'Supplement': int, + * 'uni2cid': array, + * } + * + * @phpstan-type TFontDataDesc array{ + * 'Ascent': int, + * 'AvgWidth': int, + * 'CapHeight': int, + * 'Descent': int, + * 'Flags': int, + * 'FontBBox': string, + * 'ItalicAngle': int, + * 'Leading': int, + * 'MaxWidth': int, + * 'MissingWidth': int, + * 'StemH': int, + * 'StemV': int, + * 'XHeight': int, + * } + * + * @phpstan-type TFontDataEncTable array{ + * 'encodingID': int, + * 'offset': int, + * 'platformID': int, + * } + * + * @phpstan-type TFontDataMode array{ + * 'bold': bool, + * 'italic': bool, + * 'linethrough': bool, + * 'overline': bool, + * 'underline': bool, + * } + * + * @phpstan-type TFontDataTableItem array{ + * 'checkSum': int, + * 'data': string, + * 'length': int, + * 'offset': int, + * } + * + * @phpstan-type TFontData array{ + * 'Ascender': int, + * 'Ascent': int, + * 'AvgWidth': float, + * 'CapHeight': int, + * 'CharacterSet': string, + * 'Descender': int, + * 'Descent': int, + * 'EncodingScheme': string, + * 'FamilyName': string, + * 'Flags': int, + * 'FontBBox': array, + * 'FontName': string, + * 'FullName': string, + * 'IsFixedPitch': bool, + * 'ItalicAngle': int, + * 'Leading': int, + * 'MaxWidth': int, + * 'MissingWidth': int, + * 'StdHW': int, + * 'StdVW': int, + * 'StemH': int, + * 'StemV': int, + * 'UnderlinePosition': int, + * 'UnderlineThickness': int, + * 'Version': string, + * 'Weight': string, + * 'XHeight': int, + * 'bbox': string, + * 'cbbox': array>, + * 'cidinfo': TFontDataCidInfo, + * 'compress': bool, + * 'ctg': string, + * 'ctgdata': array, + * 'cw': array, + * 'datafile': string, + * 'desc': TFontDataDesc, + * 'diff': string, + * 'diff_n': int, + * 'dir': string, + * 'dw': int, + * 'enc': string, + * 'enc_map': array, + * 'encodingTables': array, + * 'encoding_id': int, + * 'encrypted': string, + * 'fakestyle': bool, + * 'family': string, + * 'file': string, + * 'file_n': int, + * 'file_name': string, + * 'i': int, + * 'ifile': string, + * 'indexToLoc': array, + * 'input_file': string, + * 'isUnicode': bool, + * 'italicAngle': float, + * 'key': string, + * 'lenIV': int, + * 'length1': int, + * 'length2': int, + * 'linked': bool, + * 'mode': TFontDataMode, + * 'n': int, + * 'name': string, + * 'numGlyphs': int, + * 'numHMetrics': int, + * 'originalsize': int, + * 'pdfa': bool, + * 'platform_id': int, + * 'settype': string, + * 'short_offset': bool, + * 'size1': int, + * 'size2': int, + * 'style': string, + * 'subset': bool, + * 'subsetchars': array, + * 'table': array, + * 'tot_num_glyphs': int, + * 'type': string, + * 'underlinePosition': int, + * 'underlineThickness': int, + * 'unicode': bool, + * 'unitsPerEm': int, + * 'up': int, + * 'urk': float, + * 'ut': int, + * 'weight': string, + * } + */ +abstract class Load +{ + /** + * Valid Font types + * + * @var array Font types + */ + protected const FONTTYPES = [ + 'Core' => true, + 'TrueType' => true, + 'TrueTypeUnicode' => true, + 'Type1' => true, + 'cidfont0' => true, + ]; + + /** + * Font data + * + * @var TFontData + */ + protected array $data = [ + 'Ascender' => 0, + 'Ascent' => 0, + 'AvgWidth' => 0.0, + 'CapHeight' => 0, + 'CharacterSet' => '', + 'Descender' => 0, + 'Descent' => 0, + 'EncodingScheme' => '', + 'FamilyName' => '', + 'Flags' => 0, + 'FontBBox' => [], + 'FontName' => '', + 'FullName' => '', + 'IsFixedPitch' => false, + 'ItalicAngle' => 0, + 'Leading' => 0, + 'MaxWidth' => 0, + 'MissingWidth' => 0, + 'StdHW' => 0, + 'StdVW' => 0, + 'StemH' => 0, + 'StemV' => 0, + 'UnderlinePosition' => 0, + 'UnderlineThickness' => 0, + 'Version' => '', + 'Weight' => '', + 'XHeight' => 0, + 'bbox' => '', + 'cbbox' => [], + 'cidinfo' => [ + 'Ordering' => '', + 'Registry' => '', + 'Supplement' => 0, + 'uni2cid' => [], + ], + 'compress' => false, + 'ctg' => '', + 'ctgdata' => [], + 'cw' => [], + 'datafile' => '', + 'desc' => [ + 'Ascent' => 0, + 'AvgWidth' => 0, + 'CapHeight' => 0, + 'Descent' => 0, + 'Flags' => 0, + 'FontBBox' => '', + 'ItalicAngle' => 0, + 'Leading' => 0, + 'MaxWidth' => 0, + 'MissingWidth' => 0, + 'StemH' => 0, + 'StemV' => 0, + 'XHeight' => 0, + ], + 'diff' => '', + 'diff_n' => 0, + 'dir' => '', + 'dw' => 0, + 'enc' => '', + 'enc_map' => [], + 'encodingTables' => [], + 'encoding_id' => 0, + 'encrypted' => '', + 'fakestyle' => false, + 'family' => '', + 'file' => '', + 'file_n' => 0, + 'file_name' => '', + 'i' => 0, + 'ifile' => '', + 'indexToLoc' => [], + 'input_file' => '', + 'isUnicode' => false, + 'italicAngle' => 0, + 'key' => '', + 'lenIV' => 0, + 'length1' => 0, + 'length2' => 0, + 'linked' => false, + 'mode' => [ + 'bold' => false, + 'italic' => false, + 'linethrough' => false, + 'overline' => false, + 'underline' => false, + ], + 'n' => 0, + 'name' => '', + 'numGlyphs' => 0, + 'numHMetrics' => 0, + 'originalsize' => 0, + 'pdfa' => false, + 'platform_id' => 0, + 'settype' => '', + 'short_offset' => false, + 'size1' => 0, + 'size2' => 0, + 'style' => '', + 'subset' => false, + 'subsetchars' => [], + 'table' => [], + 'tot_num_glyphs' => 0, + 'type' => '', + 'underlinePosition' => 0, + 'underlineThickness' => 0, + 'unicode' => false, + 'unitsPerEm' => 0, + 'up' => 0, + 'urk' => 0.0, + 'ut' => 0, + 'weight' => '', + ]; + + /** + * Load the font data + * + * @throws FontException in case of error + */ + public function load(): void + { + $this->getFontInfo(); + $this->checkType(); + $this->setName(); + $this->setDefaultWidth(); + if ($this->data['fakestyle']) { + $this->setArtificialStyles(); + } + + $this->setFileData(); + } + + /** + * Load the font data + * + * @throws FontException in case of error + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getFontInfo(): void + { + $this->findFontFile(); + + // read the font definition file + if (! @is_readable($this->data['ifile'])) { + throw new FontException('unable to read file: ' . $this->data['ifile']); + } + + $fdt = @file_get_contents($this->data['ifile']); + if ($fdt === false) { + throw new FontException('unable to read file: ' . $this->data['ifile']); + } + + $fdtdata = @json_decode($fdt, true, 5, JSON_OBJECT_AS_ARRAY); + if ($fdtdata === null) { + throw new FontException('JSON decoding error [' . json_last_error() . ']'); + } + + if (! is_array($fdtdata) || (! isset($fdtdata['type']))) { + throw new FontException('fhe font definition file has a bad format: ' . $this->data['ifile']); + } + + $this->data = array_replace_recursive($this->data, $fdtdata); + } + + /** + * Returns a list of font directories + * + * @return array Font directories + */ + protected function findFontDirectories(): array + { + $dir = new Dir(); + $dirs = ['']; + if (defined('K_PATH_FONTS')) { + $dirs[] = K_PATH_FONTS; + $glb = glob(K_PATH_FONTS . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR); + if ($glb !== false) { + $dirs = [...$dirs, ...$glb]; + } + } + + $parent_font_dir = $dir->findParentDir('fonts', __DIR__); + if (($parent_font_dir !== '') && ($parent_font_dir !== '/')) { + $dirs[] = $parent_font_dir; + $glb = glob($parent_font_dir . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR); + if ($glb !== false) { + $dirs = array_merge($dirs, $glb); + } + } + + return array_unique($dirs); + } + + /** + * Load the font data + * + * @throws FontException in case of error + */ + protected function findFontFile(): void + { + if (! empty($this->data['ifile'])) { + $this->data['dir'] = dirname($this->data['ifile']); + return; + } + + $this->data['ifile'] = strtolower($this->data['key']) . '.json'; + + // find font definition file names + $files = array_unique( + [strtolower($this->data['key']) . '.json', strtolower($this->data['family']) . '.json'] + ); + + // directories where to search for the font definition file + $dirs = $this->findFontDirectories(); + + foreach ($files as $file) { + foreach ($dirs as $dir) { + if (@is_readable($dir . DIRECTORY_SEPARATOR . $file)) { + $this->data['ifile'] = $dir . DIRECTORY_SEPARATOR . $file; + $this->data['dir'] = $dir; + break 2; + } + } + + // we haven't found the version with style variations + $this->data['fakestyle'] = true; + } + } + + protected function setDefaultWidth(): void + { + if (! empty($this->data['dw'])) { + return; + } + + if ($this->data['desc']['MissingWidth'] > 0) { + $this->data['dw'] = $this->data['desc']['MissingWidth']; + } elseif (! empty($this->data['cw'][32])) { + $this->data['dw'] = $this->data['cw'][32]; + } else { + $this->data['dw'] = 600; + } + } + + /** + * Check Font Type + */ + protected function checkType(): void + { + if (isset(self::FONTTYPES[$this->data['type']])) { + return; + } + + throw new FontException('Unknow font type: ' . $this->data['type']); + } + + protected function setName(): void + { + if ($this->data['type'] == 'Core') { + $this->data['name'] = (string) Core::FONT[$this->data['key']]; + $this->data['subset'] = false; + } elseif (($this->data['type'] == 'Type1') || ($this->data['type'] == 'TrueType')) { + $this->data['subset'] = false; + } elseif ($this->data['type'] == 'TrueTypeUnicode') { + $this->data['enc'] = 'Identity-H'; + } elseif (($this->data['type'] == 'cidfont0') && ($this->data['pdfa'])) { + throw new FontException('CID0 fonts are not supported, all fonts must be embedded in PDF/A mode!'); + } + + if (empty($this->data['name'])) { + $this->data['name'] = (string) $this->data['key']; + } + } + + /** + * Set artificial styles if the font variation file is missing + */ + protected function setArtificialStyles(): void + { + // artificial bold + if ($this->data['mode']['bold']) { + $this->data['name'] .= 'Bold'; + $this->data['desc']['StemV'] = empty($this->data['desc']['StemV']) + ? 123 : (int) round($this->data['desc']['StemV'] * 1.75); + } + + // artificial italic + if ($this->data['mode']['italic']) { + $this->data['name'] .= 'Italic'; + if (! empty($this->data['desc']['ItalicAngle'])) { + $this->data['desc']['ItalicAngle'] -= 11; + } else { + $this->data['desc']['ItalicAngle'] = -11; + } + + if (! empty($this->data['desc']['Flags'])) { + $this->data['desc']['Flags'] |= 64; //bit 7 + } else { + $this->data['desc']['Flags'] = 64; + } + } + } + + public function setFileData(): void + { + if (empty($this->data['file'])) { + return; + } + + if (str_contains($this->data['type'], 'TrueType')) { + $this->data['length1'] = $this->data['originalsize']; + $this->data['length2'] = 0; + } elseif ($this->data['type'] != 'Core') { + $this->data['length1'] = $this->data['size1']; + $this->data['length2'] = $this->data['size2']; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/OutFont.php b/vendor/tecnickcom/tc-lib-pdf-font/src/OutFont.php new file mode 100644 index 0000000..ce0ee3e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/OutFont.php @@ -0,0 +1,411 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\Pdf\Encrypt\Encrypt; +use Com\Tecnick\Pdf\Font\Exception as FontException; +use Com\Tecnick\Unicode\Data\Identity; + +/** + * Com\Tecnick\Pdf\Font\OutFont + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontDataCidInfo from Load + * @phpstan-import-type TFontDataDesc from Load + */ +abstract class OutFont extends \Com\Tecnick\Pdf\Font\OutUtil +{ + /** + * Current PDF object number + */ + protected int $pon; + + /** + * Encrypt object + */ + protected Encrypt $enc; + + /** + * Get the PDF output string for a CID-0 font. + * A Type 0 CIDFont contains glyph descriptions based on the Adobe Type 1 font format + * + * @param array{ + * 'cidinfo': TFontDataCidInfo, + * 'cw': array, + * 'desc': TFontDataDesc, + * 'dw': int, + * 'enc': string, + * 'i': int, + * 'n': int, + * 'name': string, + * 'subset': bool, + * 'subsetchars': array, + * } $font Font to process + * + * return string + */ + protected function getCid0(array $font): string + { + $cidoffset = 0; + if (! isset($font['cw'][1])) { + $cidoffset = 31; + } + + $this->uniToCid($font, $cidoffset); + $name = $font['name']; + $longname = $name; + if (! empty($font['enc'])) { + $longname .= '-' . $font['enc']; + } + + // obj 1 + $out = $font['n'] . ' 0 obj' . "\n" + . '<pon + 1) . ' 0 R]' + . ' >>' . "\n" + . 'endobj' . "\n"; + + // obj 2 + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '<enc->escapeDataString($font['cidinfo']['Registry'], $this->pon) + . ' /Ordering ' . $this->enc->escapeDataString($font['cidinfo']['Ordering'], $this->pon) + . ' /Supplement ' . $font['cidinfo']['Supplement']; + $out .= ' /CIDSystemInfo <<' . $cidinfo . '>>' + . ' /FontDescriptor ' . ($this->pon + 1) . ' 0 R' + . ' /DW ' . $font['dw'] . "\n" + . $this->getCharWidths($font, $cidoffset) + . ' >>' . "\n" + . 'endobj' . "\n"; + + // obj 3 + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '< $val) { + if ($key !== 'Style') { // @phpstan-ignore-line + $out .= $this->getKeyValOut($key, $val); + } + } + + return $out . ('>>' . "\n" + . 'endobj' . "\n"); + } + + /** + * Convert Unicode to CID + * + * @param array{ + * 'cidinfo': TFontDataCidInfo, + * 'cw': array, + * 'desc': TFontDataDesc, + * 'dw': int, + * 'enc': string, + * 'i': int, + * 'n': int, + * 'name': string, + * 'subset': bool, + * 'subsetchars': array, + * } $font Font to process + * @param int $cidoffset Offset for CID values + */ + protected function uniToCid(array &$font, int $cidoffset): void + { + // convert unicode to cid. + $uni2cid = $font['cidinfo']['uni2cid']; + $chw = []; + foreach ($font['cw'] as $uni => $width) { + if (isset($uni2cid[$uni])) { + $chw[($uni2cid[$uni] + $cidoffset)] = $width; + } elseif ($uni < 256) { + $chw[$uni] = $width; + } // else unknown character + } + + $font['cw'] = array_merge($font['cw'], $chw); + } + + /** + * Get the PDF output string for a TrueTypeUnicode font. + * Based on PDF Reference 1.3 (section 5) + * + * @param array{ + * 'cidinfo': TFontDataCidInfo, + * 'compress': bool, + * 'ctg': string, + * 'cw': array, + * 'desc': TFontDataDesc, + * 'dir': string, + * 'dw': int, + * 'enc': string, + * 'file_n': int, + * 'i': int, + * 'n': int, + * 'name': string, + * 'subset': bool, + * 'subsetchars': array, + * } $font Font to process + * + * return string + * + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function getTrueTypeUnicode(array $font): string + { + $fontname = ''; + if ($font['subset']) { + // change name for font subsetting + $subtag = sprintf('%06u', $font['i']); + $subtag = strtr($subtag, '0123456789', 'ABCDEFGHIJ'); + $fontname .= $subtag . '+'; + } + + $fontname .= $font['name']; + + // Type0 Font + // A composite font composed of other fonts, organized hierarchically + + // obj 1 + $out = $font['n'] . ' 0 obj' . "\n" + . '<< /Type /Font' + . ' /Subtype /Type0' + . ' /BaseFont /' . $fontname + . ' /Name /F' . $font['i'] + . ' /Encoding /' . $font['enc'] + . ' /ToUnicode ' . ($this->pon + 1) . ' 0 R' + . ' /DescendantFonts [' . ($this->pon + 2) . ' 0 R]' + . ' >>' . "\n" + . 'endobj' . "\n"; + + // ToUnicode Object + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '<<'; + $cidhmap = Identity::CIDHMAP; + if ($font['compress']) { + $out .= ' /Filter /FlateDecode'; + $cidhmap = gzcompress($cidhmap); + if ($cidhmap === false) { + throw new \RuntimeException('Unable to compress CIDHMAP'); + } + } + + $stream = $this->enc->encryptString($cidhmap, $this->pon); // ToUnicode map for Identity-H + $out .= ' /Length ' . strlen($stream) + . ' >>' + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + + // CIDFontType2 + // A CIDFont whose glyph descriptions are based on TrueType font technology + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '<< /Type /Font' + . ' /Subtype /CIDFontType2' + . ' /BaseFont /' . $fontname; + // A dictionary containing entries that define the character collection of the CIDFont. + $cidinfo = '/Registry ' . $this->enc->escapeDataString($font['cidinfo']['Registry'], $this->pon) + . ' /Ordering ' . $this->enc->escapeDataString($font['cidinfo']['Ordering'], $this->pon) + . ' /Supplement ' . $font['cidinfo']['Supplement']; + $out .= ' /CIDSystemInfo << ' . $cidinfo . ' >>' + . ' /FontDescriptor ' . ($this->pon + 1) . ' 0 R' + . ' /DW ' . $font['dw'] . "\n" + . $this->getCharWidths($font, 0); + if (! empty($font['ctg'])) { + $out .= "\n" . '/CIDToGIDMap ' . ($this->pon + 2) . ' 0 R'; + } + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + + // Font descriptor + // A font descriptor describing the CIDFont default metrics other than its glyph widths + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '<< /Type /FontDescriptor' + . ' /FontName /' . $fontname; + foreach ($font['desc'] as $key => $val) { + $out .= $this->getKeyValOut($key, $val); + } + + if (! empty($font['file_n'])) { + // A stream containing a TrueType font + $out .= ' /FontFile2 ' . $font['file_n'] . ' 0 R'; + } + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + + if (! empty($font['ctg'])) { + $out .= (++$this->pon) . ' 0 obj' . "\n"; + // Embed CIDToGIDMap + // A specification of the mapping from CIDs to glyph indices + // search and get CTG font file to embedd + $ctgfile = strtolower($font['ctg']); + // search and get ctg font file to embedd + $fontfile = $this->getFontFullPath($font['dir'], $ctgfile); + $content = file_get_contents($fontfile); + if ($content === false) { + throw new FontException('Unable to read font file: ' . $fontfile); + } + + $stream = $this->enc->encryptString($content, $this->pon); + $out .= '<< /Length ' . strlen($stream) . ''; + if (str_ends_with($fontfile, '.z')) { // check file extension + // Decompresses data encoded using the public-domain + // zlib/deflate compression method, reproducing the + // original text or binary data + $out .= ' /Filter /FlateDecode'; + } + + $out .= ' >> stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Get the PDF output string for a Core font. + * + * @param array{ + * 'family': string, + * 'i': int, + * 'n': int, + * 'name': string, + * } $font Font to process + * + * return string + */ + protected function getCore(array $font): string + { + $out = $font['n'] . ' 0 obj' . "\n" + . '<>' . "\n" + . 'endobj' . "\n"); + } + + /** + * Get the PDF output string for a Core font. + * + * @param array{ + * 'cw': array, + * 'desc': TFontDataDesc, + * 'diff_n': int, + * 'dw': int, + * 'enc': string, + * 'file': string, + * 'file_n': int, + * 'i': int, + * 'n': int, + * 'name': string, + * 'type': string, + * } $font Font to process + * + * return string + */ + protected function getTrueType(array $font): string + { + // obj 1 + $out = $font['n'] . ' 0 obj' . "\n" + . '<pon + 1) . ' 0 R' + . ' /FontDescriptor ' . ($this->pon + 2) . ' 0 R'; + if (! empty($font['enc'])) { + if (isset($font['diff_n']) && $font['diff_n'] !== 0) { + $out .= ' /Encoding ' . $font['diff_n'] . ' 0 R'; + } else { + $out .= ' /Encoding /WinAnsiEncoding'; + } + } + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + + // obj 2 - Widths + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '['; + for ($idx = 32; $idx < 256; ++$idx) { + if (isset($font['cw'][$idx])) { + $out .= $font['cw'][$idx] . ' '; + } else { + $out .= $font['dw'] . ' '; + } + } + + $out .= ']' . "\n" + . 'endobj' . "\n"; + + // obj 3 - Descriptor + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '< $fdv) { + $out .= $this->getKeyValOut($fdk, $fdv); + } + + if (! empty($font['file'])) { + $out .= ' /FontFile' . ($font['type'] == 'Type1' ? '' : '2') . ' ' . $font['file_n'] . ' 0 R'; + } + + return $out . ('>>' . "\n" + . 'endobj' . "\n"); + } + + /** + * Returns the formatted key/value PDF string + * + * @param string $key Key name + * @param mixed $val Value + */ + protected function getKeyValOut(string $key, mixed $val): string + { + if (is_float($val)) { + $val = sprintf('%F', $val); + } + + return ' /' . $key . ' ' . $val . ''; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/OutUtil.php b/vendor/tecnickcom/tc-lib-pdf-font/src/OutUtil.php new file mode 100644 index 0000000..d6cb0c3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/OutUtil.php @@ -0,0 +1,197 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\File\Dir; +use Com\Tecnick\Pdf\Font\Exception as FontException; + +/** + * Com\Tecnick\Pdf\Font\OutUtil + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + */ +abstract class OutUtil +{ + /** + * Return font full path + * + * @param string $fontdir Original font directory + * @param string $file Font file name. + * + * @return string Font full path or empty string + */ + protected function getFontFullPath(string $fontdir, string $file): string + { + $dirobj = new Dir(); + // directories where to search for the font definition file + $dirs = array_unique( + ['', $fontdir, (defined('K_PATH_FONTS') ? K_PATH_FONTS : ''), $dirobj->findParentDir('fonts', __DIR__)] + ); + foreach ($dirs as $dir) { + if (@is_readable($dir . DIRECTORY_SEPARATOR . $file)) { + return $dir . DIRECTORY_SEPARATOR . $file; + } + } + + throw new FontException('Unable to locate the file: ' . $file); + } + + /** + * Outputs font widths + * + * @param array{ + * 'cw': array, + * 'dw': int, + * 'subset': bool, + * 'subsetchars': array, + * } $font Font to process + * @param int $cidoffset Offset for CID values + * + * @return string PDF command string for font widths + */ + protected function getCharWidths(array $font, int $cidoffset = 0): string + { + ksort($font['cw']); + $range = $this->getWidthRanges($font, $cidoffset); + // output data + $wdt = ''; + foreach ($range as $kdx => $wds) { + if (count(array_count_values($wds)) == 1) { + // interval mode is more compact + $wdt .= ' ' . $kdx . ' ' . ($kdx + count($wds) - 1) . ' ' . $wds[0]; + } else { + // range mode + $wdt .= ' ' . $kdx . ' [ ' . implode(' ', $wds) . ' ]'; + } + } + + return '/W [' . $wdt . ' ]'; + } + + /** + * get width ranges of characters + * + * @param array{ + * 'cw': array, + * 'dw': int, + * 'subset': bool, + * 'subsetchars': array, + * } $font Font to process + * @param int $cidoffset Offset for CID values + * + * @return array> + */ + protected function getWidthRanges(array $font, int $cidoffset = 0): array + { + $range = []; + $rangeid = 0; + $prevcid = -2; + $prevwidth = -1; + $interval = false; + // for each character + foreach ($font['cw'] as $cid => $width) { + $cid -= $cidoffset; + if ($font['subset'] && (! isset($font['subsetchars'][$cid]))) { + // ignore the unused characters (font subsetting) + continue; + } + + if ($width != $font['dw']) { + if ($cid === $prevcid + 1) { + // consecutive CID + if ($width == $prevwidth) { + if ($width === $range[$rangeid][0]) { + $range[$rangeid][] = $width; + } else { + array_pop($range[$rangeid]); + // new range + $rangeid = $prevcid; + $range[$rangeid] = []; + $range[$rangeid][] = $prevwidth; + $range[$rangeid][] = $width; + } + + $interval = true; + $range[$rangeid][-1] = -1; + } else { + if ($interval) { + // new range + $rangeid = $cid; + $range[$rangeid] = []; + $range[$rangeid][] = $width; + } else { + $range[$rangeid][] = $width; + } + + $interval = false; + } + } else { + // new range + $rangeid = $cid; + $range[$rangeid] = []; + $range[$rangeid][] = $width; + $interval = false; + } + + $prevcid = $cid; + $prevwidth = $width; + } + } + + return $this->optimizeWidthRanges($range); + } + + /** + * Optimize width ranges + * + * @param array> $range Widht Ranges + * + * @return array> + */ + protected function optimizeWidthRanges(array $range): array + { + $prevk = -1; + $nextk = -1; + $prevint = false; + foreach ($range as $kdx => $wds) { + $cws = count($wds); + if (($kdx == $nextk) && (! $prevint) && ((! isset($wds[-1])) || ($cws < 4))) { + unset($range[$kdx][-1]); + $range[$prevk] = [...$range[$prevk], ...$range[$kdx]]; + unset($range[$kdx]); + } else { + $prevk = $kdx; + } + + $prevint = false; + $nextk = $kdx + $cws; + if (isset($wds[-1])) { + unset($range[$kdx][-1]); + $prevint = ($cws > 3); + --$nextk; + } + } + + return $range; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Output.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Output.php new file mode 100644 index 0000000..47310f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Output.php @@ -0,0 +1,258 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\Pdf\Encrypt\Encrypt; +use Com\Tecnick\Pdf\Font\Exception as FontException; + +/** + * Com\Tecnick\Pdf\Font\Output + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from Load + */ +class Output extends \Com\Tecnick\Pdf\Font\OutFont +{ + /** + * Array of character subsets for each font file + * + * @var array> + */ + protected array $subchars = []; + + /** + * PDF string block with the fonts definitions + */ + protected string $out = ''; + + /** + * Initialize font data + * + * @param array $fonts Array of imported fonts data + * @param int $pon Current PDF Object Number + * @param Encrypt $encrypt Encrypt object + */ + public function __construct( + protected array $fonts, + int $pon, + Encrypt $encrypt + ) { + $this->pon = $pon; + $this->enc = $encrypt; + + $this->out = $this->getEncodingDiffs(); + $this->out .= $this->getFontFiles(); + $this->out .= $this->getFontDefinitions(); + } + + /** + * Returns current PDF object number + */ + public function getObjectNumber(): int + { + return $this->pon; + } + + /** + * Returns the PDF fonts block + */ + public function getFontsBlock(): string + { + return $this->out; + } + + /** + * Get the PDF output string for Font resources dictionary. + * + * @param array $data Font data. + * + * @return string + */ + private function getOutFontResources(array $data): string + { + if (empty($data)) { + return ''; + } + + $out = ' /Font <<'; + + foreach ($data as $font) { + $out .= ' /F' . $font['i'] . ' ' . $font['n'] . ' 0 R'; + } + + return $out . ' >>'; + } + + + /** + * Get the PDF output string for Font resources dictionary. + * + * @return string + */ + public function getOutFontDict(): string + { + return $this->getOutFontResources($this->fonts); + } + + /** + * Get the PDF output string for XOBject Font resources dictionary. + * + * @param array $keys Array of font keys. + * + * @return string + */ + public function getOutFontDictByKeys(array $keys): string + { + if (empty($keys)) { + return ''; + } + + $data = []; + foreach ($keys as $key) { + $data[$key] = [ + 'i' => $this->fonts[$key]['i'], + 'n' => $this->fonts[$key]['n'], + ]; + } + + return $this->getOutFontResources($data); + } + + /** + * Get the PDF output string for font encoding diffs + * + * return string + */ + protected function getEncodingDiffs(): string + { + $out = ''; + $done = []; // store processed items to avoid duplication + foreach ($this->fonts as $fkey => $font) { + if (! empty($font['diff'])) { + $dkey = md5($font['diff']); + if (! isset($done[$dkey])) { + $out .= (++$this->pon) . ' 0 obj' . "\n" + . '<< /Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences [' + . $font['diff'] . '] >>' . "\n" + . 'endobj' . "\n"; + $done[$dkey] = $this->pon; + } + + $this->fonts[$fkey]['diff_n'] = $done[$dkey]; + } + + // extract the character subset + if (! empty($font['file'])) { + $file_key = md5($font['file']); + if (empty($this->subchars[$file_key])) { + $this->subchars[$file_key] = $font['subsetchars']; + } else { + $this->subchars[$file_key] = array_merge($this->subchars[$file_key], $font['subsetchars']); + } + } + } + + return $out; + } + + /** + * Get the PDF output string for font files + * + * return string + */ + protected function getFontFiles(): string + { + $out = ''; + $done = []; // store processed items to avoid duplication + foreach ($this->fonts as $fkey => $font) { + if (! empty($font['file'])) { + $dkey = md5($font['file']); + if (! isset($done[$dkey])) { + $fontfile = $this->getFontFullPath($font['dir'], $font['file']); + $font_data = file_get_contents($fontfile); + if ($font_data === false) { + throw new FontException('Unable to read font file: ' . $fontfile); + } + + if ($font['subset']) { + $font_data = gzuncompress($font_data); + if ($font_data === false) { + throw new FontException('Unable to uncompress font file: ' . $fontfile); + } + + $sub = new Subset($font_data, $font, $this->subchars[md5($font['file'])]); + $font_data = $sub->getSubsetFont(); + $font['length1'] = strlen($font_data); + $font_data = gzcompress($font_data); + if ($font_data === false) { + throw new FontException('Unable to compress font file: ' . $fontfile); + } + } + + ++$this->pon; + $stream = $this->enc->encryptString($font_data, $this->pon); + $out .= $this->pon . ' 0 obj' . "\n" + . '<<' + . ' /Filter /FlateDecode' + . ' /Length ' . strlen($stream) + . ' /Length1 ' . $font['length1']; + $out .= ' /Length2 ' . $font['length2'] + . ' /Length3 0'; + + $out .= ' >> stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + $done[$dkey] = $this->pon; + } + + $this->fonts[$fkey]['file_n'] = $done[$dkey]; + } + } + + return $out; + } + + /** + * Get the PDF output string for fonts + * + * return string + */ + protected function getFontDefinitions(): string + { + $out = ''; + foreach ($this->fonts as $font) { + $out .= match (strtolower($font['type'])) { + 'core' => $this->getCore($font), + 'cidfont0' => $this->getCid0($font), + 'type1' => $this->getTrueType($font), + 'truetype' => $this->getTrueType($font), + 'truetypeunicode' => $this->getTrueTypeUnicode($font), + default => throw new FontException('Unsupported font type: ' . $font['type']), + }; + } + + return $out; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Stack.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Stack.php new file mode 100644 index 0000000..b30a436 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Stack.php @@ -0,0 +1,758 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\Unicode\Data\Type as UnicodeType; +use Com\Tecnick\Pdf\Font\Exception as FontException; + +/** + * Com\Tecnick\Pdf\Font\Stack + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from Load + * + * @phpstan-type TTextSplit array{ + * 'pos': int, + * 'ord': int, + * 'spaces': int, + * 'septype': string, + * 'wordwidth': float, + * 'totwidth': float, + * 'totspacewidth': float, + * } + * + * @phpstan-type TTextDims array{ + * 'chars': int, + * 'spaces': int, + * 'words': int, + * 'totwidth': float, + * 'totspacewidth': float, + * 'split': array, + * } + * + * @phpstan-type TBBox array{float, float, float, float} + * + * @phpstan-type TStackItem array{ + * 'key': string, + * 'style': string, + * 'size': float, + * 'spacing': float, + * 'stretching': float, + * } + * + * @phpstan-type TFontMetric array{ + * 'ascent': float, + * 'avgwidth': float, + * 'capheight': float, + * 'cbbox': array, + * 'cratio': float, + * 'cw': array, + * 'descent': float, + * 'dw': float, + * 'fbbox': array, + * 'height': float, + * 'idx': int, + * 'key': string, + * 'maxwidth': float, + * 'midpoint': float, + * 'missingwidth': float, + * 'out': string, + * 'outraw': string, + * 'size': float, + * 'spacing': float, + * 'stretching': float, + * 'style': string, + * 'type': string, + * 'up': float, + * 'usize': float, + * 'ut': float, + * 'xheight': float, + * } + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +class Stack extends \Com\Tecnick\Pdf\Font\Buffer +{ + /** + * Default font size in points + */ + public const DEFAULT_SIZE = 10; + + /** + * Array (stack) containing fonts in order of insertion. + * The last item is the current font. + * + * @var array + */ + protected array $stack = []; + + /** + * Current font index + */ + protected int $index = -1; + + /** + * Array containing font metrics for each fontkey-size combination. + * + * @var array + */ + protected array $metric = []; + + /** + * Insert a font into the stack + * + * The definition file (and the font file itself when embedding) must be present either in the current directory + * or in the one indicated by K_PATH_FONTS if the constant is defined. + * + * @param int $objnum Current PDF object number + * @param string $font Font family, or comma separated list of font families + * If it is a standard family name, it will override the corresponding font. + * @param string $style Font style. + * Possible values are (case insensitive): + * regular (default) + * B: bold + * I: italic + * U: underline + * D: strikeout (linethrough) + * O: overline + * @param ?int $size Font size in points (set to null to inherit the last font size). + * @param ?float $spacing Extra spacing between characters. + * @param ?float $stretching Horizontal character stretching ratio. + * @param string $ifile The font definition file (or empty for autodetect). + * By default, the name is built from the family and style, in lower case with no spaces. + * @param ?bool $subset If true embedd only a subset of the font + * (stores only the information related to + * the used characters); If false embedd + * full font; This option is valid only for + * TrueTypeUnicode fonts and it is disabled + * for PDF/A. If you want to enable users + * to modify the document, set this + * parameter to false. If you subset the + * font, the person who receives your PDF + * would need to have your same font in + * order to make changes to your PDF. The + * file size of the PDF would also be + * smaller because you are embedding only a + * subset. Set this to null to use the + * default value. NOTE: This option is + * computational and memory intensive. + * + * @return TFontMetric Font data + * + * @throws FontException in case of error + */ + public function insert( + int &$objnum, + string $font, + string $style = '', + ?int $size = null, + ?float $spacing = null, + ?float $stretching = null, + string $ifile = '', + ?bool $subset = null + ): array { + if ($subset === null) { + $subset = $this->subset; + } + + $size = $this->getInputSize($size); + $spacing = $this->getInputSpacing($spacing); + $stretching = $this->getInputStretching($stretching); + + // try to load the corresponding imported font + $err = null; + $keys = $this->getNormalizedFontKeys($font); + $fontkey = ''; + foreach ($keys as $key) { + try { + $fontkey = $this->add($objnum, $key, $style, $ifile, $subset); + $err = null; + break; + } catch (FontException $exc) { + $err = $exc; + } + } + + if ($err instanceof \Com\Tecnick\Pdf\Font\Exception) { + throw new FontException($err->getMessage()); + } + + // add this font in the stack + $data = $this->getFont($fontkey); + + $this->stack[++$this->index] = [ + 'key' => $fontkey, + 'style' => $data['style'], + 'size' => $size, + 'spacing' => $spacing, + 'stretching' => $stretching, + ]; + + return $this->getFontMetric($this->index); + } + + /** + * Returns the current font data array. + * + * @return TFontMetric + */ + public function getCurrentFont(): array + { + return $this->getFontMetric($this->index); + } + + /** + * Returns a clone of the specified font with new parameters. + * + * @param int $objnum Current PDF object number. + * @param ?int $idx Font index. Leave it null to use the current font. + * @param ?string $style Font style. + * Possible values are (case insensitive): + * regular (default) + * B: bold + * I: italic + * U: underline + * D: strikeout (linethrough) + * O: overline + * @param ?int $size Font size in points (set to null to inherit the last font size). + * @param ?float $spacing Extra spacing between characters. + * @param ?float $stretching Horizontal character stretching ratio. + * + * @return TFontMetric + */ + public function cloneFont( + int &$objnum, + ?int $idx = null, + ?string $style = null, + ?int $size = null, + ?float $spacing = null, + ?float $stretching = null, + ): array { + if ($idx === null) { + $idx = $this->index; + } elseif (($idx < 0) || ($idx > $this->index)) { + throw new FontException('Invalid font index'); + } + + $curfont = $this->stack[$idx]; + + if (($style === null) || ($style == $curfont['style'])) { + $size = $this->getInputSize($size); + $spacing = $this->getInputSpacing($spacing); + $stretching = $this->getInputStretching($stretching); + + $this->stack[++$this->index] = [ + 'key' => $curfont['key'], + 'style' => $curfont['style'], + 'size' => $size, + 'spacing' => $spacing, + 'stretching' => $stretching, + ]; + + return $this->getFontMetric($this->index); + } + + $data = $this->getFont($curfont['key']); + + return $this->insert( + $objnum, + $data['family'], + $style, + $size, + $spacing, + $stretching, + $data['ifile'], + $data['subset'], + ); + } + + /** + * Returns the current font key. + * + * @return string + */ + public function getCurrentFontKey(): string + { + return $this->stack[$this->index]['key']; + } + + /** + * Returns the current font type (i.e.: Core, TrueType, TrueTypeUnicode, Type1). + * + * @return string + */ + public function getCurrentFontType(): string + { + return $this->getFont($this->stack[$this->index]['key'])['type']; + } + + /** + * Returns the PDF code to use the current font. + * + * @return string + */ + public function getOutCurrentFont(): string + { + return $this->getFontMetric($this->index)['out']; + } + + /** + * Returns true if the current font type is Core, TrueType or Type1. + * + * @return bool + */ + public function isCurrentByteFont(): bool + { + $currentFontType = $this->getCurrentFontType(); + return (($currentFontType == 'Core') || ($currentFontType == 'TrueType') || ($currentFontType == 'Type1')); + } + + /** + * Returns true if the current font type is TrueTypeUnicode or cidfont0. + * + * @return bool + */ + public function isCurrentUnicodeFont(): bool + { + $currentFontType = $this->getCurrentFontType(); + return (($currentFontType == 'TrueTypeUnicode') || ($currentFontType == 'cidfont0')); + } + + /** + * Remove and return the last inserted font + * + * @return TFontMetric + */ + public function popLastFont(): array + { + if (($this->index < 0) || ($this->stack === [])) { + throw new FontException('The font stack is empty'); + } + + $font = $this->getFontMetric($this->index); + array_pop($this->stack); + --$this->index; + return $font; + } + + /** + * Replace missing characters with selected substitutions + * + * @param array $uniarr Array of character codepoints. + * @param array> $subs Array of possible character substitutions. + * The key is the character to check (integer value), + * the value is an array of possible substitutes. + * + * @return array Array of character codepoints. + */ + public function replaceMissingChars(array $uniarr, array $subs = []): array + { + $font = $this->getFontMetric($this->index); + foreach ($uniarr as $pos => $uni) { + if (isset($font['cw'][$uni])) { + continue; + } + + if (! isset($subs[$uni])) { + continue; + } + + foreach ($subs[$uni] as $alt) { + if (isset($font['cw'][$alt])) { + $uniarr[$pos] = $alt; + break; + } + } + } + + return $uniarr; + } + + /** + * Returns true if the specified unicode value is defined in the current font + * + * @param int $ord Unicode character value to convert + * + * @return bool + */ + public function isCharDefined(int $ord): bool + { + $font = $this->getFontMetric($this->index); + return isset($font['cw'][$ord]); + } + + /** + * Returns the width of the specified character + * + * @param int $ord Unicode character value. + * + * @return float + */ + public function getCharWidth(int $ord): float + { + if (($ord == 173) || ($ord == 8203)) { + // 173 = SHY character is not printed, as it is used for text hyphenation + // 8203 = ZWSP character + return 0; + } + + $font = $this->getFontMetric($this->index); + return $font['cw'][$ord] ?? $font['dw']; + } + + /** + * Returns the lenght of the string specified using an array of codepoints. + * + * @param array $uniarr Array of character codepoints. + * + * @return float + */ + public function getOrdArrWidth(array $uniarr): float + { + return $this->getOrdArrDims($uniarr)['totwidth']; + } + + /** + * Returns various dimensions of the string specified using an array of codepoints. + * + * @param array $uniarr Array of character codepoints. + * + * @return TTextDims + */ + public function getOrdArrDims(array $uniarr): array + { + $chars = count($uniarr); // total number of chars + $spaces = 0; // total number of spaces + $totwidth = 0; // total string width + $totspacewidth = 0; // total space width + $words = 0; // total number of words + $fact = ($this->stack[$this->index]['spacing'] * $this->stack[$this->index]['stretching']); + $uniarr[] = 8203; // add null at the end to ensure that the last word is processed + $split = []; + foreach ($uniarr as $idx => $ord) { + $unitype = UnicodeType::UNI[$ord]; + $chrwidth = $this->getCharWidth($ord); + // 'B' Paragraph Separator + // 'S' Segment Separator + // 'WS' Whitespace + // 'BN' Boundary Neutral + if (($unitype == 'B') || ($unitype == 'S') || ($unitype == 'WS') || ($unitype == 'BN')) { + $split[$words] = [ + 'pos' => $idx, + 'ord' => $ord, + 'spaces' => $spaces, + 'septype' => $unitype, + 'wordwidth' => 0, + 'totwidth' => ($totwidth + ($fact * ($idx - 1))), + 'totspacewidth' => ($totspacewidth + ($fact * ($spaces - 1))), + ]; + if ($words > 0) { + $split[$words]['wordwidth'] = ($split[$words]['totwidth'] - $split[($words - 1)]['totwidth']); + } + $words++; + if ($unitype == 'WS') { + ++$spaces; + $totspacewidth += $chrwidth; + } + } + $totwidth += $chrwidth; + } + $totwidth += ($fact * ($chars - 1)); + $totspacewidth += ($fact * ($spaces - 1)); + return [ + 'chars' => $chars, + 'spaces' => $spaces, + 'words' => $words, + 'totwidth' => $totwidth, + 'totspacewidth' => $totspacewidth, + 'split' => $split, + ]; + } + + /** + * Returns the glyph bounding box of the specified character in the current font in user units. + * + * @param int $ord Unicode character value. + * + * @return TBBox (xMin, yMin, xMax, yMax) + */ + public function getCharBBox(int $ord): array + { + $font = $this->getFontMetric($this->index); + return $font['cbbox'][$ord] ?? [0.0, 0.0, 0.0, 0.0]; // glyph without outline + } + + /** + * Replace a char if it is defined on the current font. + * + * @param int $oldchar Integer code (unicode) of the character to replace. + * @param int $newchar Integer code (unicode) of the new character. + * + * @return int the replaced char or the old char in case the new char i not defined + */ + public function replaceChar(int $oldchar, int $newchar): int + { + if ($this->isCharDefined($newchar)) { + // add the new char on the subset list + $this->addSubsetChar($this->stack[$this->index]['key'], $newchar); + // return the new character + return $newchar; + } + + // return the old char + return $oldchar; + } + + /** + * Returns the font metrics associated to the input key. + * + * @param int $idx Font index in the stack. + * + * @return TFontMetric + */ + protected function getFontMetric(int $idx): array + { + $font = $this->stack[$idx]; + $mkey = md5(serialize($font)); + if (! empty($this->metric[$mkey])) { + return $this->metric[$mkey]; + } + + $size = $font['size']; + $usize = ((float) $size / $this->kunit); + $cratio = ((float) $size / 1000); + $wratio = ($cratio * $font['stretching']); // horizontal ratio + $data = $this->getFont($font['key']); + $outfont = sprintf('/F%d %F Tf', $data['i'], $font['size']); // PDF output string + // add this font in the stack wit metrics in internal units + $this->metric[$mkey] = [ + 'ascent' => ((float) $data['desc']['Ascent'] * $cratio), + 'avgwidth' => ((float) $data['desc']['AvgWidth'] * $cratio * $font['stretching']), + 'capheight' => ((float) $data['desc']['CapHeight'] * $cratio), + 'cbbox' => [], + 'cratio' => $cratio, + 'cw' => [], + 'descent' => ((float) $data['desc']['Descent'] * $cratio), + 'dw' => ((float) $data['dw'] * $cratio * $font['stretching']), + 'fbbox' => [], + 'height' => ((float) ($data['desc']['Ascent'] - $data['desc']['Descent']) * $cratio), + 'idx' => $idx, + 'key' => $font['key'], + 'maxwidth' => ((float) $data['desc']['MaxWidth'] * $cratio * $font['stretching']), + 'midpoint' => ((float) ($data['desc']['Ascent'] + $data['desc']['Descent']) * $cratio / 2), + 'missingwidth' => ((float) $data['desc']['MissingWidth'] * $cratio * $font['stretching']), + 'out' => 'BT ' . $outfont . ' ET' . "\r", + 'outraw' => $outfont, + 'size' => $size, + 'spacing' => $font['spacing'], + 'stretching' => $font['stretching'], + 'style' => $font['style'], + 'type' => $data['type'], + 'up' => ((float) $data['up'] * $cratio), + 'usize' => $usize, + 'ut' => ((float) $data['ut'] * $cratio), + 'xheight' => ((float) $data['desc']['XHeight'] * $cratio), + ]; + $tbox = explode(' ', substr($data['desc']['FontBBox'], 1, -1)); + $this->metric[$mkey]['fbbox'] = [ + // left + ((float) $tbox[0] * $wratio), + // bottom + ((float) $tbox[1] * $cratio), + // right + ((float) $tbox[2] * $wratio), + // top + ((float) $tbox[3] * $cratio), + ]; + //left, bottom, right, and top edges + foreach ($data['cw'] as $cid => $width) { + $this->metric[$mkey]['cw'][(int) $cid] = ((float) $width * $wratio); + } + + if (is_array($data['cbbox'])) { + foreach ($data['cbbox'] as $cid => $val) { + if (! is_array($val)) { + continue; + } + + if (count($val) != 4) { + continue; + } + + $this->metric[$mkey]['cbbox'][(int) $cid] = [ + // left + ((float) $val[0] * $wratio), + // bottom + ((float) $val[1] * $cratio), + // right + ((float) $val[2] * $wratio), + // top + ((float) $val[3] * $cratio), + ]; + } + } + + return $this->metric[$mkey]; + } + + /** + * Normalize the input size + * + * @param ?int $size Font size in points (set to null to inherit the last font size). + * + * @return float + */ + protected function getInputSize(?int $size = null): float + { + if (($size === null) || ($size < 0)) { + if ($this->index >= 0) { + // inherit the size of the last inserted font + return $this->stack[$this->index]['size'] ?? 0; + } + + return self::DEFAULT_SIZE; + } + + return max(0, (float) $size); + } + + /** + * Normalize the input spacing + * + * @param ?float $spacing Extra spacing between characters. + * + * @return float + */ + protected function getInputSpacing(?float $spacing = null): float + { + if ($spacing === null) { + if ($this->index >= 0) { + // inherit the size of the last inserted font + return $this->stack[$this->index]['spacing'] ?? 0; + } + + return 0; + } + + return ($spacing); + } + + /** + * Normalize the input stretching + * + * @param ?float $stretching Horizontal character stretching ratio. + * + * @return float + */ + protected function getInputStretching(?float $stretching = null): float + { + if ($stretching === null) { + if ($this->index >= 0) { + // inherit the size of the last inserted font + return $this->stack[$this->index]['stretching'] ?? 0; + } + + return 1; + } + + return ($stretching); + } + + /** + * Return normalized font keys + * + * @param string $fontfamily Property string containing comma-separated font family names + * + * @return array + */ + protected function getNormalizedFontKeys(string $fontfamily): array + { + if ($fontfamily === '') { + throw new FontException('Empty font family name'); + } + + $keys = []; + // remove spaces and symbols + $fontfamily = preg_replace('/[^a-z0-9_\,]/', '', strtolower($fontfamily)); + if (($fontfamily === null) || (! is_string($fontfamily))) { + throw new FontException('Invalid font family name: ' . $fontfamily); + } + + // extract all font names + $fontslist = preg_split('/[,]/', $fontfamily); + if ($fontslist === false) { + throw new FontException('Invalid font family name: ' . $fontfamily); + } + + // replacement patterns + + $fontpattern = ['/regular$/', '/italic$/', '/oblique$/', '/bold([I]?)$/']; + $fontreplacement = ['', 'I', 'I', 'B\\1']; + + $keypattern = ['/^serif|^cursive|^fantasy|^timesnewroman/', '/^sansserif/', '/^monospace/']; + $keyreplacement = ['times', 'helvetica', 'courier']; + + // find first valid font name + foreach ($fontslist as $font) { + $font = preg_replace($fontpattern, $fontreplacement, $font); + if ($font === null) { + throw new FontException('Invalid font family name: ' . $fontfamily); + } + + // replace common family names and core fonts + $fontkey = preg_replace($keypattern, $keyreplacement, $font); + if ($fontkey === null) { + throw new FontException('Invalid font family name: ' . $fontfamily); + } + + $keys[] = $fontkey; + } + + return $keys; + } + + /** + * Returns the nomalized font family name or the current font name (key. + * + * @param string $fontfamily Raw font family name. + * + * @return string + */ + public function getFontFamilyName(string $fontfamily): string + { + $fkeys = $this->getNormalizedFontKeys($fontfamily); + foreach ($fkeys as $fkey) { + if ($this->isValidKey($fkey)) { + return $fkey; + } + + $pdfakey = 'pdfa' . $fkey; + if ($this->isValidKey($pdfakey)) { + return $pdfakey; + } + } + + return $this->getCurrentFontKey(); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/Subset.php b/vendor/tecnickcom/tc-lib-pdf-font/src/Subset.php new file mode 100644 index 0000000..0cea7f2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/Subset.php @@ -0,0 +1,498 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +use Com\Tecnick\File\Byte; +use Com\Tecnick\Pdf\Font\Exception as FontException; +use Com\Tecnick\Pdf\Font\Import\TrueType; + +/** + * Com\Tecnick\Pdf\Font\Subset + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @phpstan-import-type TFontData from Load + */ +class Subset +{ + /** + * array of table names to preserve (loca and glyf tables will be added later) + * the cmap table is not needed and shall not be present, + * since the mapping from character codes to glyph descriptions is provided separately + * + * @var array + */ + protected const TABLENAMES = [ + 'head' => true, + 'hhea' => true, + 'hmtx' => true, + 'maxp' => true, + 'cvt ' => true, + 'fpgm' => true, + 'prep' => true, + 'glyf' => true, + 'loca' => true, + ]; + + /** + * Content of the input font file + */ + protected string $font = ''; + + /** + * Object used to read font bytes + */ + protected Byte $fbyte; + + /** + * Extracted font metrics + * + * @var TFontData + */ + protected array $fdt = [ + 'Ascender' => 0, + 'Ascent' => 0, + 'AvgWidth' => 0.0, + 'CapHeight' => 0, + 'CharacterSet' => '', + 'Descender' => 0, + 'Descent' => 0, + 'EncodingScheme' => '', + 'FamilyName' => '', + 'Flags' => 0, + 'FontBBox' => [], + 'FontName' => '', + 'FullName' => '', + 'IsFixedPitch' => false, + 'ItalicAngle' => 0, + 'Leading' => 0, + 'MaxWidth' => 0, + 'MissingWidth' => 0, + 'StdHW' => 0, + 'StdVW' => 0, + 'StemH' => 0, + 'StemV' => 0, + 'UnderlinePosition' => 0, + 'UnderlineThickness' => 0, + 'Version' => '', + 'Weight' => '', + 'XHeight' => 0, + 'bbox' => '', + 'cbbox' => [], + 'cidinfo' => [ + 'Ordering' => '', + 'Registry' => '', + 'Supplement' => 0, + 'uni2cid' => [], + ], + 'compress' => false, + 'ctg' => '', + 'ctgdata' => [], + 'cw' => [], + 'datafile' => '', + 'desc' => [ + 'Ascent' => 0, + 'AvgWidth' => 0, + 'CapHeight' => 0, + 'Descent' => 0, + 'Flags' => 0, + 'FontBBox' => '', + 'ItalicAngle' => 0, + 'Leading' => 0, + 'MaxWidth' => 0, + 'MissingWidth' => 0, + 'StemH' => 0, + 'StemV' => 0, + 'XHeight' => 0, + ], + 'diff' => '', + 'diff_n' => 0, + 'dir' => '', + 'dw' => 0, + 'enc' => '', + 'enc_map' => [], + 'encodingTables' => [], + 'encoding_id' => 0, + 'encrypted' => '', + 'fakestyle' => false, + 'family' => '', + 'file' => '', + 'file_n' => 0, + 'file_name' => '', + 'i' => 0, + 'ifile' => '', + 'indexToLoc' => [], + 'input_file' => '', + 'isUnicode' => false, + 'italicAngle' => 0, + 'key' => '', + 'lenIV' => 0, + 'length1' => 0, + 'length2' => 0, + 'linked' => false, + 'mode' => [ + 'bold' => false, + 'italic' => false, + 'linethrough' => false, + 'overline' => false, + 'underline' => false, + ], + 'n' => 0, + 'name' => '', + 'numGlyphs' => 0, + 'numHMetrics' => 0, + 'originalsize' => 0, + 'pdfa' => false, + 'platform_id' => 0, + 'settype' => '', + 'short_offset' => false, + 'size1' => 0, + 'size2' => 0, + 'style' => '', + 'subset' => false, + 'subsetchars' => [], + 'table' => [], + 'tot_num_glyphs' => 0, + 'type' => '', + 'underlinePosition' => 0, + 'underlineThickness' => 0, + 'unicode' => false, + 'unitsPerEm' => 0, + 'up' => 0, + 'urk' => 0.0, + 'ut' => 0, + 'weight' => '', + ]; + + /** + * Array containing subset glyphs indexes of chars from cmap table + * + * @var array + */ + protected array $subglyphs = []; + + /** + * Subset font + */ + protected string $subfont = ''; + + /** + * Pointer position on the original font data + */ + protected int $offset = 0; + + /** + * Process TrueType font + * + * @param string $font Content of the input font file + * @param TFontData $fdt Extracted font metrics + * @param array $subchars Array containing subset chars + * + * @throws FontException in case of error + */ + public function __construct(string $font, array $fdt, array $subchars = []) + { + $this->fbyte = new Byte($font); + $trueType = new TrueType($font, $fdt, $this->fbyte, $subchars); + $this->fdt = $trueType->getFontMetrics(); + $this->subglyphs = $trueType->getSubGlyphs(); + $this->addCompositeGlyphs(); + $this->addProcessedTables(); + $this->removeUnusedTables(); + $this->buildSubsetFont(); + } + + /** + * Get all the extracted font metrics + */ + public function getSubsetFont(): string + { + return $this->subfont; + } + + /** + * Returs the checksum of a TTF table. + * + * @param string $table Table to check + * @param int $length Length of table in bytes + * + * @return int checksum + */ + protected function getTableChecksum(string $table, int $length): int + { + $sum = 0; + $tlen = ($length / 4); + $offset = 0; + for ($idx = 0; $idx < $tlen; ++$idx) { + $val = unpack('Ni', substr($table, $offset, 4)); + if ($val === false) { + throw new FontException('Unable to unpack table data'); + } + + $sum += $val['i']; + $offset += 4; + } + + $sum = unpack('Ni', pack('N', $sum)); + if ($sum === false) { + throw new FontException('Unable to unpack checksum'); + } + + return $sum['i']; + } + + /** + * Add composite glyphs + */ + protected function addCompositeGlyphs(): void + { + $new_sga = $this->subglyphs; + while ($new_sga !== []) { + $sga = array_keys($new_sga); + $new_sga = []; + foreach ($sga as $key) { + $new_sga = $this->findCompositeGlyphs($new_sga, $key); + } + + $this->subglyphs = [...$this->subglyphs, ...$new_sga]; + } + + // sort glyphs by key (and remove duplicates) + ksort($this->subglyphs); + } + + /** + * Add composite glyphs + * + * @param array $new_sga + * + * @return array + */ + protected function findCompositeGlyphs(array $new_sga, int $key): array + { + if (isset($this->fdt['indexToLoc'][$key])) { + $this->offset = ($this->fdt['table']['glyf']['offset'] + $this->fdt['indexToLoc'][$key]); + $numberOfContours = $this->fbyte->getShort($this->offset); + $this->offset += 2; + if ($numberOfContours < 0) { // composite glyph + $this->offset += 8; // skip xMin, yMin, xMax, yMax + do { + $flags = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + $glyphIndex = $this->fbyte->getUShort($this->offset); + $this->offset += 2; + if (! isset($this->subglyphs[$glyphIndex])) { + // add missing glyphs + $new_sga[$glyphIndex] = true; + } + + // skip some bytes by case + if (($flags & 1) !== 0) { + $this->offset += 4; + } else { + $this->offset += 2; + } + + if (($flags & 8) !== 0) { + $this->offset += 2; + } elseif (($flags & 64) !== 0) { + $this->offset += 4; + } elseif (($flags & 128) !== 0) { + $this->offset += 8; + } + } while ($flags & 32); + } + } + + return $new_sga; + } + + /** + * Remove unused tables + */ + protected function removeUnusedTables(): void + { + // get the tables to preserve + $this->offset = 12; + $tabname = array_keys($this->fdt['table']); + foreach ($tabname as $tag) { + if (! isset(self::TABLENAMES[$tag])) { + // remove the table + unset($this->fdt['table'][$tag]); + continue; + } + + if (empty($this->fdt['table'][$tag])) { + $this->fdt['table'][$tag] = [ + 'checkSum' => 0, + 'data' => '', + 'length' => 0, + 'offset' => 0, + ]; + } + + $this->fdt['table'][$tag]['data'] = substr( + $this->font, + $this->fdt['table'][$tag]['offset'], + $this->fdt['table'][$tag]['length'] + ); + if ($tag == 'head') { + // set the checkSumAdjustment to 0 + $this->fdt['table'][$tag]['data'] = substr($this->fdt['table'][$tag]['data'], 0, 8) + . "\x0\x0\x0\x0" . substr($this->fdt['table'][$tag]['data'], 12); + } + + $pad = 4 - ((int) $this->fdt['table'][$tag]['length'] % 4); + if ($pad != 4) { + // the length of a table must be a multiple of four bytes + $this->fdt['table'][$tag]['length'] += (int) $pad; + $this->fdt['table'][$tag]['data'] .= str_repeat("\x0", $pad); + } + + $this->fdt['table'][$tag]['offset'] = $this->offset; + $this->offset += $this->fdt['table'][$tag]['length']; + // check sum is not changed + } + } + + /** + * Add glyf and loca tables + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function addProcessedTables(): void + { + // build new glyf and loca tables + $glyf = ''; + $loca = ''; + $this->offset = 0; + $glyf_offset = $this->fdt['table']['glyf']['offset']; + for ($i = 0; $i < $this->fdt['tot_num_glyphs']; ++$i) { + if ( + isset($this->subglyphs[$i]) + && isset($this->fdt['indexToLoc'][$i]) + && isset($this->fdt['indexToLoc'][($i + 1)]) + ) { + $length = ($this->fdt['indexToLoc'][($i + 1)] - $this->fdt['indexToLoc'][$i]); + $glyf .= substr($this->font, ($glyf_offset + $this->fdt['indexToLoc'][$i]), $length); + } else { + $length = 0; + } + + if ($this->fdt['short_offset']) { + $loca .= pack('n', floor($this->offset / 2)); + } else { + $loca .= pack('N', $this->offset); + } + + $this->offset += $length; + } + + // add loca + if (empty($this->fdt['table']['loca'])) { + $this->fdt['table']['loca'] = [ + 'checkSum' => 0, + 'data' => '', + 'length' => 0, + 'offset' => 0, + ]; + } + + $this->fdt['table']['loca']['data'] = $loca; + $this->fdt['table']['loca']['length'] = strlen($loca); + $this->fdt['table']['loca']['offset'] = $this->offset; + $pad = 4 - ($this->fdt['table']['loca']['length'] % 4); + if ($pad != 4) { + // the length of a table must be a multiple of four bytes + $this->fdt['table']['loca']['length'] += $pad; + $this->fdt['table']['loca']['data'] .= str_repeat("\x0", $pad); + } + + $this->fdt['table']['loca']['checkSum'] = $this->getTableChecksum( + $this->fdt['table']['loca']['data'], + $this->fdt['table']['loca']['length'] + ); + + $this->offset += $this->fdt['table']['loca']['length']; + + // add glyf + if (empty($this->fdt['table']['glyf'])) { + $this->fdt['table']['glyf'] = [ + 'checkSum' => 0, + 'data' => '', + 'length' => 0, + 'offset' => 0, + ]; + } + + $this->fdt['table']['glyf']['data'] = $glyf; + $this->fdt['table']['glyf']['length'] = strlen($glyf); + $this->fdt['table']['glyf']['offset'] = $this->offset; + $pad = 4 - ($this->fdt['table']['glyf']['length'] % 4); + if ($pad != 4) { + // the length of a table must be a multiple of four bytes + $this->fdt['table']['glyf']['length'] += $pad; + $this->fdt['table']['glyf']['data'] .= str_repeat("\x0", $pad); + } + + $this->fdt['table']['glyf']['checkSum'] = $this->getTableChecksum( + $this->fdt['table']['glyf']['data'], + $this->fdt['table']['glyf']['length'] + ); + } + + /** + * build new subset font + */ + protected function buildSubsetFont(): void + { + $this->subfont = ''; + $this->subfont .= pack('N', 0x10000); // sfnt version + $numTables = count($this->fdt['table']); + $this->subfont .= pack('n', $numTables); // numTables + $entrySelector = floor(log($numTables, 2)); + $searchRange = 2 ** $entrySelector * 16; + $rangeShift = ($numTables * 16) - $searchRange; + $this->subfont .= pack('n', $searchRange); // searchRange + $this->subfont .= pack('n', $entrySelector); // entrySelector + $this->subfont .= pack('n', $rangeShift); // rangeShift + $this->offset = ($numTables * 16); + foreach ($this->fdt['table'] as $tag => $data) { + $this->subfont .= $tag; // tag + $this->subfont .= pack('N', $data['checkSum']); // checkSum + $this->subfont .= pack('N', ($data['offset'] + $this->offset)); // offset + $this->subfont .= pack('N', $data['length']); // length + } + + foreach ($this->fdt['table'] as $data) { + $this->subfont .= $data['data']; + } + + // set checkSumAdjustment on head table + $checkSumAdjustment = (0xB1B0AFBA - $this->getTableChecksum($this->subfont, strlen($this->subfont))); + $this->subfont = substr($this->subfont, 0, $this->fdt['table']['head']['offset'] + 8) + . pack('N', $checkSumAdjustment) + . substr($this->subfont, $this->fdt['table']['head']['offset'] + 12); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/src/UniToCid.php b/vendor/tecnickcom/tc-lib-pdf-font/src/UniToCid.php new file mode 100644 index 0000000..fdc66bb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/src/UniToCid.php @@ -0,0 +1,52 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Com\Tecnick\Pdf\Font; + +/** + * Com\Tecnick\Pdf\Font\UniToCid + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @SuppressWarnings("PHPMD") + */ +class UniToCid +{ + // @codingStandardsIgnoreStart + /** + * UniToCid map + * + * @var array + */ + public const TYPE = [ + // Japanese + 'CID0JP' => '"enc":"UniJIS-UTF16-H","cidinfo":{"Registry":"Adobe","Ordering":"Japan1","Supplement":5,"uni2cid":{"160":1,"32":1,"33":2,"34":3,"35":4,"36":5,"37":6,"38":7,"39":8,"40":9,"41":10,"42":11,"43":12,"44":13,"8209":14,"45":14,"46":15,"47":16,"48":17,"49":18,"50":19,"51":20,"52":21,"53":22,"54":23,"55":24,"56":25,"57":26,"58":27,"59":28,"60":29,"61":30,"62":31,"63":32,"64":33,"65":34,"66":35,"67":36,"68":37,"69":38,"70":39,"71":40,"72":41,"73":42,"74":43,"75":44,"76":45,"77":46,"78":47,"79":48,"80":49,"81":50,"82":51,"83":52,"84":53,"85":54,"86":55,"87":56,"88":57,"89":58,"90":59,"91":60,"165":61,"93":62,"94":63,"818":64,"95":64,"768":65,"96":65,"97":66,"98":67,"99":68,"100":69,"101":70,"102":71,"103":72,"104":73,"105":74,"106":75,"107":76,"108":77,"109":78,"110":79,"111":80,"112":81,"113":82,"114":83,"115":84,"116":85,"117":86,"118":87,"119":88,"120":89,"121":90,"122":91,"123":92,"166":93,"125":94,"732":95,"771":95,"700":96,"8217":96,"92":97,"699":98,"8216":98,"124":99,"126":100,"8764":100,"161":101,"162":102,"163":103,"8260":104,"402":105,"164":107,"8220":108,"171":109,"8249":110,"8250":111,"64257":112,"64258":113,"8210":114,"8211":114,"183":117,"8729":117,"8226":119,"8218":120,"8222":121,"8221":122,"187":123,"191":126,"769":127,"710":128,"770":128,"175":129,"772":129,"774":130,"775":131,"776":132,"730":133,"778":133,"184":134,"807":134,"779":135,"808":136,"780":137,"822":138,"8212":138,"198":139,"170":140,"321":141,"216":142,"338":143,"186":144,"230":145,"305":146,"322":147,"248":148,"339":149,"223":150,"173":151,"169":152,"172":153,"174":154,"178":157,"179":158,"181":159,"185":160,"188":161,"189":162,"190":163,"192":164,"193":165,"194":166,"195":167,"196":168,"197":169,"199":170,"200":171,"201":172,"202":173,"203":174,"204":175,"205":176,"206":177,"207":178,"208":179,"209":180,"210":181,"211":182,"212":183,"213":184,"214":185,"217":187,"218":188,"219":189,"220":190,"221":191,"222":192,"224":193,"225":194,"226":195,"227":196,"228":197,"229":198,"231":199,"232":200,"233":201,"234":202,"235":203,"236":204,"237":205,"238":206,"239":207,"240":208,"241":209,"242":210,"243":211,"244":212,"245":213,"246":214,"249":216,"250":217,"251":218,"252":219,"253":220,"254":221,"255":222,"352":223,"376":224,"381":225,"773":226,"8254":226,"353":227,"8482":228,"382":229,"8194":231,"65512":323,"65377":327,"65378":328,"65379":329,"65380":330,"65381":331,"65382":332,"65383":333,"65384":334,"65385":335,"65386":336,"65387":337,"65388":338,"65389":339,"65390":340,"65391":341,"65392":342,"65393":343,"65394":344,"65395":345,"65396":346,"65397":347,"65398":348,"65399":349,"65400":350,"65401":351,"65402":352,"65403":353,"65404":354,"65405":355,"65406":356,"65407":357,"65408":358,"65409":359,"65410":360,"65411":361,"65412":362,"65413":363,"65414":364,"65415":365,"65416":366,"65417":367,"65418":368,"65419":369,"65420":370,"65421":371,"65422":372,"65423":373,"65424":374,"65425":375,"65426":376,"65427":377,"65428":378,"65429":379,"65430":380,"65431":381,"65432":382,"65433":383,"65434":384,"65435":385,"65436":386,"65437":387,"65438":388,"65439":389,"8195":633,"12288":633,"12289":634,"12290":635,"65292":636,"65294":637,"12539":638,"65306":639,"65307":640,"65311":641,"65281":642,"12443":643,"12444":644,"180":645,"65344":646,"168":647,"65342":648,"65507":649,"65343":650,"12541":651,"12542":652,"12445":653,"12446":654,"12291":655,"20189":656,"12293":657,"12294":658,"12295":659,"12540":660,"8213":661,"8208":662,"65295":663,"65340":664,"12316":665,"65374":665,"8214":666,"65372":667,"8230":668,"8229":669,"65288":674,"65289":675,"12308":676,"12309":677,"65339":678,"65341":679,"65371":680,"65373":681,"12296":682,"12297":683,"12298":684,"12299":685,"12300":686,"12301":687,"12302":688,"12303":689,"12304":690,"12305":691,"65291":692,"8722":693,"65293":693,"177":694,"215":695,"247":696,"65309":697,"8800":698,"65308":699,"65310":700,"8806":701,"8807":702,"8734":703,"8756":704,"9794":705,"9792":706,"176":707,"8242":708,"8243":709,"8451":710,"65509":711,"65284":712,"65504":713,"65505":714,"65285":715,"65283":716,"65286":717,"65290":718,"65312":719,"167":720,"9734":721,"9733":722,"9675":723,"9679":724,"9678":725,"9671":726,"9670":727,"9633":728,"9632":729,"9651":730,"9650":731,"9661":732,"9660":733,"8251":734,"12306":735,"8594":736,"8592":737,"8593":738,"8595":739,"12307":740,"8712":741,"8715":742,"8838":743,"8839":744,"8834":745,"8835":746,"8746":747,"8745":748,"8743":749,"8744":750,"65506":751,"8658":752,"8660":753,"8704":754,"8707":755,"8736":756,"8869":757,"8978":758,"8706":759,"8711":760,"8801":761,"8786":762,"8810":763,"8811":764,"8730":765,"8765":766,"8733":767,"8757":768,"8747":769,"8748":770,"8491":771,"8240":772,"9839":773,"9837":774,"9834":775,"8224":776,"8225":777,"182":778,"9711":779,"65296":780,"65297":781,"65298":782,"65299":783,"65300":784,"65301":785,"65302":786,"65303":787,"65304":788,"65305":789,"65313":790,"65314":791,"65315":792,"65316":793,"65317":794,"65318":795,"65319":796,"65320":797,"65321":798,"65322":799,"65323":800,"65324":801,"65325":802,"65326":803,"65327":804,"65328":805,"65329":806,"65330":807,"65331":808,"65332":809,"65333":810,"65334":811,"65335":812,"65336":813,"65337":814,"65338":815,"65345":816,"65346":817,"65347":818,"65348":819,"65349":820,"65350":821,"65351":822,"65352":823,"65353":824,"65354":825,"65355":826,"65356":827,"65357":828,"65358":829,"65359":830,"65360":831,"65361":832,"65362":833,"65363":834,"65364":835,"65365":836,"65366":837,"65367":838,"65368":839,"65369":840,"65370":841,"12353":842,"12354":843,"12355":844,"12356":845,"12357":846,"12358":847,"12359":848,"12360":849,"12361":850,"12362":851,"12363":852,"12364":853,"12365":854,"12366":855,"12367":856,"12368":857,"12369":858,"12370":859,"12371":860,"12372":861,"12373":862,"12374":863,"12375":864,"12376":865,"12377":866,"12378":867,"12379":868,"12380":869,"12381":870,"12382":871,"12383":872,"12384":873,"12385":874,"12386":875,"12387":876,"12388":877,"12389":878,"12390":879,"12391":880,"12392":881,"12393":882,"12394":883,"12395":884,"12396":885,"12397":886,"12398":887,"12399":888,"12400":889,"12401":890,"12402":891,"12403":892,"12404":893,"12405":894,"12406":895,"12407":896,"12408":897,"12409":898,"12410":899,"12411":900,"12412":901,"12413":902,"12414":903,"12415":904,"12416":905,"12417":906,"12418":907,"12419":908,"12420":909,"12421":910,"12422":911,"12423":912,"12424":913,"12425":914,"12426":915,"12427":916,"12428":917,"12429":918,"12430":919,"12431":920,"12432":921,"12433":922,"12434":923,"12435":924,"12449":925,"12450":926,"12451":927,"12452":928,"12453":929,"12454":930,"12455":931,"12456":932,"12457":933,"12458":934,"12459":935,"12460":936,"12461":937,"12462":938,"12463":939,"12464":940,"12465":941,"12466":942,"12467":943,"12468":944,"12469":945,"12470":946,"12471":947,"12472":948,"12473":949,"12474":950,"12475":951,"12476":952,"12477":953,"12478":954,"12479":955,"12480":956,"12481":957,"12482":958,"12483":959,"12484":960,"12485":961,"12486":962,"12487":963,"12488":964,"12489":965,"12490":966,"12491":967,"12492":968,"12493":969,"12494":970,"12495":971,"12496":972,"12497":973,"12498":974,"12499":975,"12500":976,"12501":977,"12502":978,"12503":979,"12504":980,"12505":981,"12506":982,"12507":983,"12508":984,"12509":985,"12510":986,"12511":987,"12512":988,"12513":989,"12514":990,"12515":991,"12516":992,"12517":993,"12518":994,"12519":995,"12520":996,"12521":997,"12522":998,"12523":999,"12524":1000,"12525":1001,"12526":1002,"12527":1003,"12528":1004,"12529":1005,"12530":1006,"12531":1007,"12532":1008,"12533":1009,"12534":1010,"913":1011,"914":1012,"915":1013,"916":1014,"917":1015,"918":1016,"919":1017,"920":1018,"921":1019,"922":1020,"923":1021,"924":1022,"925":1023,"926":1024,"927":1025,"928":1026,"929":1027,"931":1028,"932":1029,"933":1030,"934":1031,"935":1032,"936":1033,"937":1034,"945":1035,"946":1036,"947":1037,"948":1038,"949":1039,"950":1040,"951":1041,"952":1042,"953":1043,"954":1044,"955":1045,"956":1046,"957":1047,"958":1048,"959":1049,"960":1050,"961":1051,"963":1052,"964":1053,"965":1054,"966":1055,"967":1056,"968":1057,"969":1058,"1040":1059,"1041":1060,"1042":1061,"1043":1062,"1044":1063,"1045":1064,"1025":1065,"1046":1066,"1047":1067,"1048":1068,"1049":1069,"1050":1070,"1051":1071,"1052":1072,"1053":1073,"1054":1074,"1055":1075,"1056":1076,"1057":1077,"1058":1078,"1059":1079,"1060":1080,"1061":1081,"1062":1082,"1063":1083,"1064":1084,"1065":1085,"1066":1086,"1067":1087,"1068":1088,"1069":1089,"1070":1090,"1071":1091,"1072":1092,"1073":1093,"1074":1094,"1075":1095,"1076":1096,"1077":1097,"1105":1098,"1078":1099,"1079":1100,"1080":1101,"1081":1102,"1082":1103,"1083":1104,"1084":1105,"1085":1106,"1086":1107,"1087":1108,"1088":1109,"1089":1110,"1090":1111,"1091":1112,"1092":1113,"1093":1114,"1094":1115,"1095":1116,"1096":1117,"1097":1118,"1098":1119,"1099":1120,"1100":1121,"1101":1122,"1102":1123,"1103":1124,"20124":1125,"21782":1126,"23043":1127,"38463":1128,"21696":1129,"24859":1130,"25384":1131,"23030":1132,"36898":1133,"33909":1134,"33564":1135,"31312":1136,"24746":1137,"25569":1138,"28197":1139,"26093":1140,"33894":1141,"33446":1142,"39925":1143,"26771":1144,"22311":1145,"26017":1146,"25201":1147,"23451":1148,"22992":1149,"34427":1150,"39156":1151,"32098":1152,"32190":1153,"39822":1154,"25110":1155,"31903":1156,"34999":1157,"23433":1158,"24245":1159,"25353":1160,"26263":1161,"26696":1162,"38343":1163,"38797":1164,"26447":1165,"20197":1166,"20234":1167,"20301":1168,"20381":1169,"20553":1170,"22258":1171,"22839":1172,"22996":1173,"23041":1174,"23561":1175,"24799":1176,"24847":1177,"24944":1178,"26131":1179,"26885":1180,"28858":1181,"30031":1182,"30064":1183,"31227":1184,"32173":1185,"32239":1186,"32963":1187,"33806":1188,"12176":1189,"34915":1189,"35586":1190,"36949":1191,"36986":1192,"21307":1193,"20117":1194,"20133":1195,"22495":1196,"32946":1197,"37057":1198,"30959":1199,"12032":1200,"19968":1200,"22769":1201,"28322":1202,"36920":1203,"31282":1204,"33576":1205,"33419":1206,"39983":1207,"20801":1208,"21360":1209,"21693":1210,"21729":1211,"22240":1212,"23035":1213,"24341":1214,"39154":1215,"28139":1216,"32996":1217,"34093":1218,"38498":1219,"38512":1220,"38560":1221,"38907":1222,"21515":1223,"21491":1224,"23431":1225,"28879":1226,"12155":1227,"32701":1227,"36802":1228,"12204":1229,"38632":1229,"21359":1230,"40284":1231,"31418":1232,"19985":1233,"30867":1234,"12165":1235,"33276":1235,"28198":1236,"22040":1237,"21764":1238,"27421":1239,"34074":1240,"39995":1241,"23013":1242,"21417":1243,"28006":1244,"12128":1245,"29916":1245,"38287":1246,"22082":1247,"20113":1248,"36939":1249,"38642":1250,"33615":1251,"39180":1252,"21473":1253,"21942":1254,"23344":1255,"24433":1256,"26144":1257,"26355":1258,"26628":1259,"27704":1260,"27891":1261,"27945":1262,"29787":1263,"30408":1264,"31310":1265,"38964":1266,"33521":1267,"34907":1268,"35424":1269,"37613":1270,"28082":1271,"30123":1272,"30410":1273,"39365":1274,"24742":1275,"35585":1276,"36234":1277,"38322":1278,"27022":1279,"21421":1280,"20870":1281,"22290":1282,"22576":1283,"22852":1284,"23476":1285,"24310":1286,"24616":1287,"25513":1288,"25588":1289,"27839":1290,"28436":1291,"28814":1292,"28948":1293,"29017":1294,"29141":1295,"29503":1296,"32257":1297,"33398":1298,"33489":1299,"34199":1300,"36960":1301,"37467":1302,"40219":1303,"22633":1304,"26044":1305,"27738":1306,"29989":1307,"20985":1308,"22830":1309,"22885":1310,"24448":1311,"24540":1312,"25276":1313,"26106":1314,"27178":1315,"27431":1316,"27572":1317,"29579":1318,"32705":1319,"35158":1320,"40236":1321,"40206":1322,"12009":1323,"40644":1323,"23713":1324,"27798":1325,"33659":1326,"20740":1327,"23627":1328,"25014":1329,"33222":1330,"26742":1331,"29281":1332,"12036":1333,"20057":1333,"20474":1334,"21368":1335,"24681":1336,"28201":1337,"31311":1338,"12211":1339,"38899":1339,"19979":1340,"21270":1341,"20206":1342,"20309":1343,"20285":1344,"20385":1345,"20339":1346,"21152":1347,"21487":1348,"22025":1349,"22799":1350,"23233":1351,"23478":1352,"23521":1353,"31185":1354,"26247":1355,"26524":1356,"26550":1357,"27468":1358,"27827":1359,"12117":1360,"28779":1360,"29634":1361,"31117":1362,"12146":1363,"31166":1363,"31292":1364,"31623":1365,"33457":1366,"33499":1367,"33540":1368,"33655":1369,"33775":1370,"33747":1371,"34662":1372,"35506":1373,"22057":1374,"36008":1375,"36838":1376,"36942":1377,"38686":1378,"34442":1379,"20420":1380,"23784":1381,"25105":1382,"12123":1383,"29273":1383,"30011":1384,"33253":1385,"33469":1386,"34558":1387,"36032":1388,"38597":1389,"39187":1390,"39381":1391,"20171":1392,"20250":1393,"35299":1394,"22238":1395,"22602":1396,"22730":1397,"24315":1398,"24555":1399,"24618":1400,"24724":1401,"24674":1402,"25040":1403,"25106":1404,"25296":1405,"25913":1406,"39745":1407,"26214":1408,"26800":1409,"28023":1410,"28784":1411,"30028":1412,"30342":1413,"32117":1414,"33445":1415,"34809":1416,"38283":1417,"38542":1418,"12185":1419,"35997":1419,"20977":1420,"21182":1421,"22806":1422,"21683":1423,"23475":1424,"23830":1425,"24936":1426,"27010":1427,"28079":1428,"30861":1429,"33995":1430,"34903":1431,"35442":1432,"37799":1433,"39608":1434,"28012":1435,"39336":1436,"34521":1437,"22435":1438,"26623":1439,"34510":1440,"37390":1441,"21123":1442,"22151":1443,"21508":1444,"24275":1445,"25313":1446,"25785":1447,"26684":1448,"26680":1449,"27579":1450,"29554":1451,"30906":1452,"31339":1453,"35226":1454,"12179":1455,"35282":1455,"36203":1456,"36611":1457,"37101":1458,"38307":1459,"38548":1460,"12208":1461,"38761":1461,"23398":1462,"23731":1463,"27005":1464,"38989":1465,"38990":1466,"25499":1467,"31520":1468,"27179":1469,"27263":1470,"26806":1471,"39949":1472,"28511":1473,"21106":1474,"21917":1475,"24688":1476,"25324":1477,"27963":1478,"28167":1479,"28369":1480,"33883":1481,"35088":1482,"36676":1483,"19988":1484,"39993":1485,"21494":1486,"26907":1487,"27194":1488,"38788":1489,"26666":1490,"20828":1491,"31427":1492,"33970":1493,"37340":1494,"37772":1495,"22107":1496,"40232":1497,"26658":1498,"33541":1499,"33841":1500,"31909":1501,"21000":1502,"33477":1503,"12129":1504,"29926":1504,"20094":1505,"20355":1506,"20896":1507,"23506":1508,"21002":1509,"21208":1510,"21223":1511,"24059":1512,"21914":1513,"22570":1514,"23014":1515,"23436":1516,"23448":1517,"23515":1518,"12082":1519,"24178":1519,"24185":1520,"24739":1521,"24863":1522,"24931":1523,"25022":1524,"25563":1525,"25954":1526,"26577":1527,"26707":1528,"26874":1529,"27454":1530,"27475":1531,"27735":1532,"28450":1533,"28567":1534,"28485":1535,"29872":1536,"12130":1537,"29976":1537,"30435":1538,"30475":1539,"31487":1540,"31649":1541,"31777":1542,"32233":1543,"12152":1544,"32566":1544,"32752":1545,"32925":1546,"33382":1547,"33694":1548,"35251":1549,"35532":1550,"36011":1551,"36996":1552,"37969":1553,"38291":1554,"38289":1555,"38306":1556,"38501":1557,"38867":1558,"39208":1559,"33304":1560,"20024":1561,"21547":1562,"23736":1563,"24012":1564,"29609":1565,"30284":1566,"30524":1567,"23721":1568,"32747":1569,"36107":1570,"38593":1571,"38929":1572,"38996":1573,"39000":1574,"20225":1575,"20238":1576,"21361":1577,"21916":1578,"22120":1579,"22522":1580,"22855":1581,"23305":1582,"23492":1583,"23696":1584,"24076":1585,"24190":1586,"24524":1587,"25582":1588,"26426":1589,"26071":1590,"26082":1591,"26399":1592,"26827":1593,"26820":1594,"27231":1595,"24112":1596,"27589":1597,"27671":1598,"27773":1599,"30079":1600,"31048":1601,"23395":1602,"31232":1603,"32000":1604,"24509":1605,"35215":1606,"35352":1607,"36020":1608,"36215":1609,"36556":1610,"36637":1611,"39138":1612,"39438":1613,"12004":1614,"12225":1614,"39740":1614,"12018":1615,"20096":1615,"20605":1616,"20736":1617,"22931":1618,"23452":1619,"25135":1620,"25216":1621,"25836":1622,"27450":1623,"29344":1624,"30097":1625,"31047":1626,"32681":1627,"34811":1628,"35516":1629,"35696":1630,"25516":1631,"33738":1632,"38816":1633,"21513":1634,"21507":1635,"21931":1636,"26708":1637,"27224":1638,"35440":1639,"30759":1640,"26485":1641,"12233":1642,"40653":1642,"21364":1643,"23458":1644,"33050":1645,"34384":1646,"36870":1647,"19992":1648,"20037":1649,"20167":1650,"20241":1651,"21450":1652,"21560":1653,"23470":1654,"12088":1655,"24339":1655,"24613":1656,"25937":1657,"26429":1658,"27714":1659,"27762":1660,"27875":1661,"28792":1662,"29699":1663,"31350":1664,"31406":1665,"31496":1666,"32026":1667,"31998":1668,"32102":1669,"26087":1670,"12124":1671,"29275":1671,"21435":1672,"23621":1673,"24040":1674,"25298":1675,"25312":1676,"25369":1677,"28192":1678,"34394":1679,"35377":1680,"36317":1681,"37624":1682,"28417":1683,"31142":1684,"12226":1685,"39770":1685,"20136":1686,"20139":1687,"20140":1688,"20379":1689,"20384":1690,"20689":1691,"20807":1692,"31478":1693,"20849":1694,"20982":1695,"21332":1696,"21281":1697,"21375":1698,"21483":1699,"21932":1700,"22659":1701,"23777":1702,"24375":1703,"24394":1704,"24623":1705,"24656":1706,"24685":1707,"25375":1708,"25945":1709,"27211":1710,"27841":1711,"29378":1712,"29421":1713,"30703":1714,"33016":1715,"33029":1716,"33288":1717,"34126":1718,"37111":1719,"37857":1720,"38911":1721,"39255":1722,"39514":1723,"20208":1724,"20957":1725,"23597":1726,"26241":1727,"26989":1728,"23616":1729,"26354":1730,"26997":1731,"12127":1732,"29577":1732,"26704":1733,"31873":1734,"20677":1735,"21220":1736,"22343":1737,"12081":1738,"24062":1738,"37670":1739,"12100":1740,"26020":1740,"27427":1741,"27453":1742,"29748":1743,"31105":1744,"31165":1745,"31563":1746,"32202":1747,"33465":1748,"33740":1749,"34943":1750,"35167":1751,"35641":1752,"36817":1753,"12198":1754,"37329":1754,"21535":1755,"37504":1756,"20061":1757,"20534":1758,"21477":1759,"21306":1760,"29399":1761,"29590":1762,"30697":1763,"33510":1764,"36527":1765,"39366":1766,"39368":1767,"39378":1768,"20855":1769,"24858":1770,"34398":1771,"21936":1772,"31354":1773,"20598":1774,"23507":1775,"36935":1776,"38533":1777,"20018":1778,"27355":1779,"37351":1780,"23633":1781,"23624":1782,"25496":1783,"31391":1784,"27795":1785,"38772":1786,"36705":1787,"31402":1788,"29066":1789,"38536":1790,"31874":1791,"26647":1792,"32368":1793,"26705":1794,"37740":1795,"21234":1796,"21531":1797,"34219":1798,"35347":1799,"32676":1800,"36557":1801,"37089":1802,"21350":1803,"34952":1804,"31041":1805,"20418":1806,"20670":1807,"21009":1808,"20804":1809,"21843":1810,"22317":1811,"29674":1812,"22411":1813,"22865":1814,"24418":1815,"24452":1816,"24693":1817,"24950":1818,"24935":1819,"25001":1820,"25522":1821,"25658":1822,"25964":1823,"26223":1824,"26690":1825,"28179":1826,"30054":1827,"31293":1828,"31995":1829,"32076":1830,"32153":1831,"32331":1832,"32619":1833,"33550":1834,"33610":1835,"34509":1836,"35336":1837,"35427":1838,"35686":1839,"36605":1840,"38938":1841,"40335":1842,"33464":1843,"36814":1844,"39912":1845,"21127":1846,"25119":1847,"25731":1848,"28608":1849,"38553":1850,"26689":1851,"20625":1852,"12107":1853,"27424":1853,"27770":1854,"28500":1855,"12147":1856,"31348":1856,"32080":1857,"12174":1858,"34880":1858,"35363":1859,"12105":1860,"26376":1860,"20214":1861,"20537":1862,"20518":1863,"20581":1864,"20860":1865,"21048":1866,"21091":1867,"21927":1868,"22287":1869,"22533":1870,"23244":1871,"24314":1872,"25010":1873,"25080":1874,"25331":1875,"25458":1876,"26908":1877,"27177":1878,"29309":1879,"12125":1880,"29356":1880,"29486":1881,"30740":1882,"30831":1883,"32121":1884,"30476":1885,"32937":1886,"12178":1887,"35211":1887,"35609":1888,"36066":1889,"36562":1890,"36963":1891,"37749":1892,"38522":1893,"38997":1894,"39443":1895,"40568":1896,"20803":1897,"21407":1898,"21427":1899,"24187":1900,"24358":1901,"28187":1902,"28304":1903,"12126":1904,"29572":1904,"29694":1905,"32067":1906,"33335":1907,"12180":1908,"35328":1908,"35578":1909,"38480":1910,"20046":1911,"20491":1912,"21476":1913,"21628":1914,"22266":1915,"22993":1916,"23396":1917,"12080":1918,"24049":1918,"24235":1919,"24359":1920,"12094":1921,"25144":1921,"25925":1922,"26543":1923,"28246":1924,"29392":1925,"31946":1926,"34996":1927,"32929":1928,"32993":1929,"33776":1930,"11969":1931,"34382":1931,"35463":1932,"36328":1933,"37431":1934,"38599":1935,"39015":1936,"12238":1937,"40723":1937,"20116":1938,"20114":1939,"20237":1940,"21320":1941,"21577":1942,"21566":1943,"23087":1944,"24460":1945,"24481":1946,"24735":1947,"26791":1948,"27278":1949,"29786":1950,"30849":1951,"35486":1952,"35492":1953,"35703":1954,"37264":1955,"20062":1956,"39881":1957,"20132":1958,"20348":1959,"20399":1960,"20505":1961,"20502":1962,"20809":1963,"20844":1964,"21151":1965,"21177":1966,"21246":1967,"21402":1968,"12061":1969,"21475":1969,"21521":1970,"21518":1971,"21897":1972,"22353":1973,"22434":1974,"22909":1975,"23380":1976,"23389":1977,"23439":1978,"12079":1979,"24037":1979,"24039":1980,"24055":1981,"24184":1982,"24195":1983,"24218":1984,"24247":1985,"24344":1986,"24658":1987,"24908":1988,"25239":1989,"25304":1990,"25511":1991,"25915":1992,"26114":1993,"26179":1994,"26356":1995,"26477":1996,"26657":1997,"26775":1998,"27083":1999,"27743":2000,"27946":2001,"28009":2002,"28207":2003,"28317":2004,"30002":2005,"30343":2006,"30828":2007,"31295":2008,"31968":2009,"32005":2010,"32024":2011,"32094":2012,"32177":2013,"32789":2014,"32771":2015,"32943":2016,"32945":2017,"33108":2018,"33167":2019,"33322":2020,"33618":2021,"12175":2022,"34892":2022,"34913":2023,"35611":2024,"36002":2025,"36092":2026,"37066":2027,"37237":2028,"37489":2029,"30783":2030,"37628":2031,"38308":2032,"38477":2033,"38917":2034,"12217":2035,"39321":2035,"12220":2036,"39640":2036,"40251":2037,"21083":2038,"21163":2039,"21495":2040,"21512":2041,"22741":2042,"25335":2043,"28640":2044,"35946":2045,"36703":2046,"40633":2047,"20811":2048,"21051":2049,"21578":2050,"22269":2051,"31296":2052,"37239":2053,"40288":2054,"12234":2055,"40658":2055,"29508":2056,"28425":2057,"33136":2058,"29969":2059,"24573":2060,"24794":2061,"12219":2062,"39592":2062,"29403":2063,"36796":2064,"27492":2065,"38915":2066,"20170":2067,"22256":2068,"22372":2069,"22718":2070,"23130":2071,"24680":2072,"25031":2073,"26127":2074,"26118":2075,"26681":2076,"26801":2077,"28151":2078,"30165":2079,"32058":2080,"12169":2081,"33390":2081,"39746":2082,"20123":2083,"20304":2084,"21449":2085,"21766":2086,"23919":2087,"24038":2088,"24046":2089,"26619":2090,"27801":2091,"29811":2092,"30722":2093,"35408":2094,"37782":2095,"35039":2096,"22352":2097,"24231":2098,"25387":2099,"20661":2100,"20652":2101,"20877":2102,"26368":2103,"21705":2104,"22622":2105,"22971":2106,"23472":2107,"24425":2108,"25165":2109,"25505":2110,"26685":2111,"27507":2112,"28168":2113,"28797":2114,"37319":2115,"29312":2116,"30741":2117,"30758":2118,"31085":2119,"25998":2120,"32048":2121,"33756":2122,"35009":2123,"36617":2124,"38555":2125,"21092":2126,"22312":2127,"26448":2128,"32618":2129,"36001":2130,"20916":2131,"22338":2132,"38442":2133,"22586":2134,"27018":2135,"32948":2136,"21682":2137,"23822":2138,"22524":2139,"30869":2140,"40442":2141,"20316":2142,"21066":2143,"21643":2144,"25662":2145,"26152":2146,"26388":2147,"26613":2148,"31364":2149,"31574":2150,"32034":2151,"37679":2152,"26716":2153,"39853":2154,"31545":2155,"21273":2156,"20874":2157,"21047":2158,"23519":2159,"25334":2160,"25774":2161,"25830":2162,"26413":2163,"27578":2164,"34217":2165,"38609":2166,"30352":2167,"39894":2168,"25420":2169,"37638":2170,"39851":2171,"12139":2172,"30399":2172,"26194":2173,"19977":2174,"20632":2175,"21442":2176,"12077":2177,"23665":2177,"24808":2178,"25746":2179,"25955":2180,"26719":2181,"29158":2182,"29642":2183,"29987":2184,"31639":2185,"32386":2186,"34453":2187,"35715":2188,"36059":2189,"37240":2190,"39184":2191,"26028":2192,"26283":2193,"27531":2194,"20181":2195,"20180":2196,"20282":2197,"20351":2198,"21050":2199,"21496":2200,"21490":2201,"21987":2202,"22235":2203,"12064":2204,"22763":2204,"22987":2205,"22985":2206,"23039":2207,"12070":2208,"23376":2208,"23629":2209,"24066":2210,"24107":2211,"24535":2212,"24605":2213,"25351":2214,"12096":2215,"25903":2215,"23388":2216,"26031":2217,"26045":2218,"26088":2219,"26525":2220,"12108":2221,"27490":2221,"27515":2222,"12114":2223,"27663":2223,"29509":2224,"31049":2225,"31169":2226,"12151":2227,"31992":2227,"32025":2228,"32043":2229,"32930":2230,"33026":2231,"12164":2232,"33267":2232,"35222":2233,"35422":2234,"35433":2235,"35430":2236,"35468":2237,"35566":2238,"36039":2239,"36060":2240,"38604":2241,"39164":2242,"12013":2243,"27503":2243,"20107":2244,"20284":2245,"20365":2246,"20816":2247,"23383":2248,"23546":2249,"24904":2250,"25345":2251,"26178":2252,"27425":2253,"28363":2254,"27835":2255,"29246":2256,"29885":2257,"30164":2258,"30913":2259,"12144":2260,"31034":2260,"12157":2261,"32780":2261,"12159":2262,"32819":2262,"12163":2263,"33258":2263,"33940":2264,"36766":2265,"27728":2266,"12229":2267,"40575":2267,"24335":2268,"35672":2269,"40235":2270,"31482":2271,"36600":2272,"23437":2273,"38635":2274,"19971":2275,"21489":2276,"22519":2277,"22833":2278,"23241":2279,"23460":2280,"24713":2281,"28287":2282,"28422":2283,"30142":2284,"36074":2285,"23455":2286,"34048":2287,"31712":2288,"20594":2289,"26612":2290,"33437":2291,"23649":2292,"34122":2293,"32286":2294,"33294":2295,"20889":2296,"23556":2297,"25448":2298,"36198":2299,"26012":2300,"29038":2301,"31038":2302,"32023":2303,"32773":2304,"35613":2305,"12190":2306,"36554":2306,"36974":2307,"34503":2308,"37034":2309,"20511":2310,"21242":2311,"23610":2312,"26451":2313,"28796":2314,"29237":2315,"37196":2316,"37320":2317,"37675":2318,"33509":2319,"23490":2320,"24369":2321,"24825":2322,"20027":2323,"21462":2324,"23432":2325,"12095":2326,"25163":2326,"26417":2327,"27530":2328,"29417":2329,"29664":2330,"31278":2331,"33131":2332,"36259":2333,"37202":2334,"12216":2335,"39318":2335,"20754":2336,"21463":2337,"21610":2338,"23551":2339,"25480":2340,"27193":2341,"32172":2342,"38656":2343,"22234":2344,"21454":2345,"21608":2346,"23447":2347,"23601":2348,"24030":2349,"20462":2350,"24833":2351,"25342":2352,"27954":2353,"31168":2354,"31179":2355,"32066":2356,"32333":2357,"32722":2358,"33261":2359,"12168":2360,"33311":2360,"33936":2361,"34886":2362,"35186":2363,"35728":2364,"36468":2365,"36655":2366,"36913":2367,"37195":2368,"37228":2369,"38598":2370,"37276":2371,"20160":2372,"20303":2373,"20805":2374,"12055":2375,"21313":2375,"24467":2376,"25102":2377,"26580":2378,"27713":2379,"28171":2380,"29539":2381,"32294":2382,"37325":2383,"37507":2384,"21460":2385,"22809":2386,"23487":2387,"28113":2388,"31069":2389,"32302":2390,"31899":2391,"22654":2392,"29087":2393,"20986":2394,"34899":2395,"36848":2396,"20426":2397,"23803":2398,"26149":2399,"30636":2400,"31459":2401,"33308":2402,"39423":2403,"20934":2404,"24490":2405,"26092":2406,"26991":2407,"27529":2408,"28147":2409,"28310":2410,"28516":2411,"30462":2412,"32020":2413,"24033":2414,"36981":2415,"37255":2416,"38918":2417,"20966":2418,"21021":2419,"25152":2420,"26257":2421,"26329":2422,"28186":2423,"24246":2424,"32210":2425,"32626":2426,"26360":2427,"34223":2428,"34295":2429,"35576":2430,"21161":2431,"21465":2432,"12069":2433,"22899":2433,"24207":2434,"24464":2435,"24661":2436,"37604":2437,"38500":2438,"20663":2439,"20767":2440,"21213":2441,"21280":2442,"21319":2443,"21484":2444,"21736":2445,"21830":2446,"21809":2447,"22039":2448,"22888":2449,"22974":2450,"23100":2451,"23477":2452,"23558":2453,"12073":2454,"23567":2454,"23569":2455,"23578":2456,"24196":2457,"24202":2458,"24288":2459,"24432":2460,"25215":2461,"25220":2462,"25307":2463,"25484":2464,"25463":2465,"26119":2466,"26124":2467,"26157":2468,"26230":2469,"26494":2470,"26786":2471,"27167":2472,"27189":2473,"27836":2474,"28040":2475,"28169":2476,"28248":2477,"28988":2478,"28966":2479,"29031":2480,"30151":2481,"30465":2482,"30813":2483,"30977":2484,"31077":2485,"31216":2486,"31456":2487,"31505":2488,"31911":2489,"32057":2490,"32918":2491,"33750":2492,"33931":2493,"34121":2494,"34909":2495,"35059":2496,"35359":2497,"35388":2498,"35412":2499,"35443":2500,"35937":2501,"36062":2502,"37284":2503,"37478":2504,"37758":2505,"37912":2506,"38556":2507,"38808":2508,"19978":2509,"19976":2510,"19998":2511,"20055":2512,"20887":2513,"21104":2514,"22478":2515,"22580":2516,"22732":2517,"23330":2518,"24120":2519,"24773":2520,"25854":2521,"26465":2522,"26454":2523,"27972":2524,"29366":2525,"30067":2526,"31331":2527,"33976":2528,"35698":2529,"37304":2530,"37664":2531,"22065":2532,"22516":2533,"39166":2534,"25325":2535,"26893":2536,"27542":2537,"29165":2538,"32340":2539,"32887":2540,"12170":2541,"33394":2541,"35302":2542,"12215":2543,"39135":2543,"34645":2544,"36785":2545,"23611":2546,"20280":2547,"20449":2548,"20405":2549,"21767":2550,"23072":2551,"23517":2552,"23529":2553,"12092":2554,"24515":2554,"24910":2555,"25391":2556,"26032":2557,"26187":2558,"26862":2559,"27035":2560,"28024":2561,"28145":2562,"30003":2563,"30137":2564,"30495":2565,"31070":2566,"31206":2567,"32051":2568,"12162":2569,"33251":2569,"33455":2570,"34218":2571,"35242":2572,"35386":2573,"12189":2574,"36523":2574,"12191":2575,"36763":2575,"36914":2576,"37341":2577,"38663":2578,"12040":2579,"20154":2579,"20161":2580,"20995":2581,"22645":2582,"22764":2583,"23563":2584,"29978":2585,"23613":2586,"33102":2587,"35338":2588,"36805":2589,"38499":2590,"38765":2591,"31525":2592,"35535":2593,"38920":2594,"37218":2595,"22259":2596,"21416":2597,"36887":2598,"21561":2599,"22402":2600,"24101":2601,"25512":2602,"12116":2603,"27700":2603,"28810":2604,"30561":2605,"31883":2606,"32736":2607,"34928":2608,"36930":2609,"37204":2610,"37648":2611,"37656":2612,"38543":2613,"29790":2614,"39620":2615,"23815":2616,"23913":2617,"25968":2618,"26530":2619,"36264":2620,"38619":2621,"25454":2622,"26441":2623,"26905":2624,"33733":2625,"38935":2626,"38592":2627,"35070":2628,"28548":2629,"25722":2630,"12072":2631,"23544":2631,"19990":2632,"28716":2633,"30045":2634,"26159":2635,"20932":2636,"21046":2637,"21218":2638,"22995":2639,"24449":2640,"24615":2641,"25104":2642,"25919":2643,"25972":2644,"26143":2645,"26228":2646,"26866":2647,"26646":2648,"27491":2649,"28165":2650,"29298":2651,"12131":2652,"29983":2652,"30427":2653,"31934":2654,"32854":2655,"22768":2656,"35069":2657,"11972":2658,"35199":2658,"35488":2659,"35475":2660,"35531":2661,"36893":2662,"37266":2663,"11992":2664,"38738":2664,"38745":2665,"12011":2666,"25993":2666,"31246":2667,"33030":2668,"38587":2669,"24109":2670,"24796":2671,"25114":2672,"26021":2673,"26132":2674,"26512":2675,"12143":2676,"30707":2676,"31309":2677,"31821":2678,"32318":2679,"33034":2680,"36012":2681,"12186":2682,"36196":2682,"36321":2683,"36447":2684,"30889":2685,"20999":2686,"25305":2687,"25509":2688,"25666":2689,"25240":2690,"35373":2691,"31363":2692,"31680":2693,"35500":2694,"38634":2695,"32118":2696,"12166":2697,"33292":2697,"34633":2698,"20185":2699,"20808":2700,"21315":2701,"21344":2702,"23459":2703,"23554":2704,"23574":2705,"24029":2706,"25126":2707,"25159":2708,"25776":2709,"26643":2710,"26676":2711,"27849":2712,"27973":2713,"27927":2714,"26579":2715,"28508":2716,"29006":2717,"29053":2718,"26059":2719,"31359":2720,"31661":2721,"32218":2722,"32330":2723,"32680":2724,"33146":2725,"12167":2726,"33307":2726,"33337":2727,"34214":2728,"35438":2729,"36046":2730,"36341":2731,"36984":2732,"36983":2733,"37549":2734,"37521":2735,"38275":2736,"39854":2737,"21069":2738,"21892":2739,"28472":2740,"28982":2741,"20840":2742,"31109":2743,"32341":2744,"33203":2745,"31950":2746,"22092":2747,"22609":2748,"23720":2749,"25514":2750,"26366":2751,"26365":2752,"26970":2753,"29401":2754,"30095":2755,"30094":2756,"30990":2757,"31062":2758,"31199":2759,"31895":2760,"32032":2761,"32068":2762,"34311":2763,"35380":2764,"38459":2765,"36961":2766,"12239":2767,"40736":2767,"20711":2768,"21109":2769,"21452":2770,"21474":2771,"20489":2772,"21930":2773,"22766":2774,"22863":2775,"29245":2776,"23435":2777,"23652":2778,"21277":2779,"24803":2780,"24819":2781,"25436":2782,"25475":2783,"25407":2784,"25531":2785,"25805":2786,"26089":2787,"26361":2788,"24035":2789,"27085":2790,"27133":2791,"28437":2792,"29157":2793,"20105":2794,"30185":2795,"30456":2796,"31379":2797,"31967":2798,"32207":2799,"32156":2800,"32865":2801,"33609":2802,"33624":2803,"33900":2804,"33980":2805,"34299":2806,"35013":2807,"12187":2808,"36208":2808,"36865":2809,"36973":2810,"37783":2811,"38684":2812,"39442":2813,"20687":2814,"22679":2815,"24974":2816,"33235":2817,"34101":2818,"36104":2819,"36896":2820,"20419":2821,"20596":2822,"21063":2823,"21363":2824,"24687":2825,"25417":2826,"26463":2827,"28204":2828,"12188":2829,"36275":2829,"36895":2830,"20439":2831,"23646":2832,"36042":2833,"26063":2834,"32154":2835,"21330":2836,"34966":2837,"20854":2838,"25539":2839,"23384":2840,"23403":2841,"23562":2842,"25613":2843,"26449":2844,"36956":2845,"20182":2846,"22810":2847,"22826":2848,"27760":2849,"35409":2850,"21822":2851,"22549":2852,"22949":2853,"24816":2854,"25171":2855,"26561":2856,"33333":2857,"26965":2858,"38464":2859,"39364":2860,"39464":2861,"20307":2862,"22534":2863,"23550":2864,"32784":2865,"23729":2866,"24111":2867,"24453":2868,"24608":2869,"24907":2870,"25140":2871,"26367":2872,"27888":2873,"28382":2874,"32974":2875,"33151":2876,"33492":2877,"34955":2878,"36024":2879,"36864":2880,"36910":2881,"38538":2882,"40667":2883,"39899":2884,"20195":2885,"21488":2886,"12068":2887,"22823":2887,"31532":2888,"37261":2889,"38988":2890,"40441":2891,"28381":2892,"28711":2893,"21331":2894,"21828":2895,"23429":2896,"25176":2897,"25246":2898,"25299":2899,"27810":2900,"28655":2901,"29730":2902,"35351":2903,"37944":2904,"28609":2905,"35582":2906,"33592":2907,"20967":2908,"34552":2909,"21482":2910,"21481":2911,"20294":2912,"36948":2913,"12192":2914,"36784":2914,"22890":2915,"33073":2916,"24061":2917,"31466":2918,"36799":2919,"26842":2920,"12181":2921,"35895":2921,"29432":2922,"40008":2923,"27197":2924,"35504":2925,"20025":2926,"21336":2927,"22022":2928,"22374":2929,"25285":2930,"25506":2931,"26086":2932,"27470":2933,"28129":2934,"28251":2935,"28845":2936,"30701":2937,"31471":2938,"31658":2939,"32187":2940,"32829":2941,"32966":2942,"34507":2943,"35477":2944,"37723":2945,"22243":2946,"22727":2947,"24382":2948,"26029":2949,"26262":2950,"27264":2951,"27573":2952,"30007":2953,"35527":2954,"20516":2955,"30693":2956,"22320":2957,"24347":2958,"24677":2959,"26234":2960,"27744":2961,"30196":2962,"31258":2963,"32622":2964,"33268":2965,"34584":2966,"36933":2967,"39347":2968,"31689":2969,"30044":2970,"12149":2971,"31481":2971,"31569":2972,"33988":2973,"36880":2974,"31209":2975,"31378":2976,"33590":2977,"23265":2978,"30528":2979,"20013":2980,"20210":2981,"23449":2982,"24544":2983,"25277":2984,"26172":2985,"26609":2986,"27880":2987,"12173":2988,"34411":2988,"34935":2989,"35387":2990,"37198":2991,"37619":2992,"39376":2993,"27159":2994,"28710":2995,"29482":2996,"33511":2997,"33879":2998,"36015":2999,"19969":3000,"20806":3001,"20939":3002,"21899":3003,"23541":3004,"24086":3005,"24115":3006,"24193":3007,"24340":3008,"24373":3009,"24427":3010,"24500":3011,"25074":3012,"25361":3013,"26274":3014,"26397":3015,"28526":3016,"29266":3017,"30010":3018,"30522":3019,"32884":3020,"33081":3021,"33144":3022,"34678":3023,"35519":3024,"35548":3025,"36229":3026,"36339":3027,"37530":3028,"11985":3029,"12199":3029,"38263":3029,"38914":3030,"12227":3031,"40165":3031,"21189":3032,"25431":3033,"30452":3034,"26389":3035,"27784":3036,"29645":3037,"36035":3038,"37806":3039,"38515":3040,"27941":3041,"22684":3042,"26894":3043,"27084":3044,"36861":3045,"37786":3046,"30171":3047,"36890":3048,"22618":3049,"26626":3050,"25524":3051,"27131":3052,"20291":3053,"28460":3054,"26584":3055,"36795":3056,"34086":3057,"32180":3058,"37716":3059,"26943":3060,"28528":3061,"22378":3062,"22775":3063,"23340":3064,"32044":3065,"12118":3066,"29226":3066,"21514":3067,"37347":3068,"40372":3069,"20141":3070,"20302":3071,"20572":3072,"20597":3073,"21059":3074,"35998":3075,"21576":3076,"22564":3077,"23450":3078,"24093":3079,"24213":3080,"24237":3081,"24311":3082,"24351":3083,"24716":3084,"25269":3085,"25402":3086,"25552":3087,"26799":3088,"27712":3089,"30855":3090,"31118":3091,"31243":3092,"32224":3093,"33351":3094,"35330":3095,"35558":3096,"36420":3097,"36883":3098,"37048":3099,"37165":3100,"37336":3101,"12237":3102,"40718":3102,"27877":3103,"25688":3104,"25826":3105,"25973":3106,"28404":3107,"30340":3108,"31515":3109,"36969":3110,"37841":3111,"28346":3112,"21746":3113,"24505":3114,"25764":3115,"36685":3116,"36845":3117,"37444":3118,"20856":3119,"22635":3120,"22825":3121,"23637":3122,"24215":3123,"28155":3124,"32399":3125,"29980":3126,"36028":3127,"36578":3128,"39003":3129,"28857":3130,"20253":3131,"27583":3132,"28593":3133,"12133":3134,"30000":3134,"38651":3135,"20814":3136,"21520":3137,"22581":3138,"22615":3139,"22956":3140,"23648":3141,"24466":3142,"12099":3143,"26007":3143,"26460":3144,"28193":3145,"30331":3146,"33759":3147,"36077":3148,"36884":3149,"37117":3150,"37709":3151,"30757":3152,"30778":3153,"21162":3154,"24230":3155,"12063":3156,"22303":3156,"22900":3157,"24594":3158,"20498":3159,"20826":3160,"20908":3161,"20941":3162,"12049":3163,"20992":3163,"21776":3164,"22612":3165,"22616":3166,"22871":3167,"23445":3168,"23798":3169,"23947":3170,"24764":3171,"25237":3172,"25645":3173,"26481":3174,"26691":3175,"26812":3176,"26847":3177,"30423":3178,"28120":3179,"28271":3180,"28059":3181,"28783":3182,"29128":3183,"24403":3184,"30168":3185,"31095":3186,"31561":3187,"31572":3188,"31570":3189,"31958":3190,"32113":3191,"21040":3192,"33891":3193,"34153":3194,"34276":3195,"35342":3196,"35588":3197,"12182":3198,"35910":3198,"36367":3199,"36867":3200,"36879":3201,"37913":3202,"38518":3203,"38957":3204,"39472":3205,"38360":3206,"20685":3207,"21205":3208,"21516":3209,"22530":3210,"23566":3211,"24999":3212,"25758":3213,"27934":3214,"30643":3215,"31461":3216,"33012":3217,"33796":3218,"36947":3219,"37509":3220,"23776":3221,"40199":3222,"21311":3223,"24471":3224,"24499":3225,"28060":3226,"29305":3227,"30563":3228,"31167":3229,"31716":3230,"27602":3231,"29420":3232,"35501":3233,"26627":3234,"27233":3235,"20984":3236,"31361":3237,"26932":3238,"23626":3239,"40182":3240,"33515":3241,"23493":3242,"12195":3243,"37193":3243,"28702":3244,"22136":3245,"23663":3246,"24775":3247,"25958":3248,"27788":3249,"35930":3250,"36929":3251,"38931":3252,"21585":3253,"26311":3254,"37389":3255,"22856":3256,"37027":3257,"20869":3258,"20045":3259,"20970":3260,"34201":3261,"35598":3262,"28760":3263,"25466":3264,"37707":3265,"26978":3266,"39348":3267,"32260":3268,"30071":3269,"21335":3270,"26976":3271,"36575":3272,"38627":3273,"27741":3274,"12038":3275,"20108":3275,"23612":3276,"24336":3277,"36841":3278,"21250":3279,"36049":3280,"12161":3281,"32905":3281,"34425":3282,"24319":3283,"12103":3284,"26085":3284,"20083":3285,"12042":3286,"20837":3286,"22914":3287,"23615":3288,"38894":3289,"20219":3290,"22922":3291,"24525":3292,"35469":3293,"28641":3294,"31152":3295,"31074":3296,"23527":3297,"33905":3298,"29483":3299,"29105":3300,"24180":3301,"24565":3302,"25467":3303,"25754":3304,"29123":3305,"31896":3306,"20035":3307,"24316":3308,"20043":3309,"22492":3310,"22178":3311,"24745":3312,"28611":3313,"32013":3314,"33021":3315,"33075":3316,"33215":3317,"36786":3318,"35223":3319,"34468":3320,"24052":3321,"25226":3322,"25773":3323,"35207":3324,"26487":3325,"27874":3326,"27966":3327,"29750":3328,"30772":3329,"23110":3330,"32629":3331,"33453":3332,"12218":3333,"39340":3333,"20467":3334,"24259":3335,"25309":3336,"25490":3337,"25943":3338,"26479":3339,"30403":3340,"29260":3341,"32972":3342,"32954":3343,"36649":3344,"37197":3345,"20493":3346,"22521":3347,"23186":3348,"26757":3349,"26995":3350,"29028":3351,"29437":3352,"36023":3353,"22770":3354,"36064":3355,"38506":3356,"36889":3357,"34687":3358,"31204":3359,"30695":3360,"33833":3361,"20271":3362,"21093":3363,"21338":3364,"25293":3365,"26575":3366,"27850":3367,"12137":3368,"30333":3368,"31636":3369,"31893":3370,"33334":3371,"34180":3372,"36843":3373,"26333":3374,"28448":3375,"29190":3376,"32283":3377,"33707":3378,"39361":3379,"12008":3380,"40614":3380,"20989":3381,"31665":3382,"30834":3383,"31672":3384,"32903":3385,"31560":3386,"27368":3387,"24161":3388,"32908":3389,"30033":3390,"30048":3391,"12043":3392,"20843":3392,"37474":3393,"28300":3394,"30330":3395,"37271":3396,"39658":3397,"20240":3398,"32624":3399,"25244":3400,"31567":3401,"38309":3402,"40169":3403,"22138":3404,"22617":3405,"34532":3406,"38588":3407,"20276":3408,"21028":3409,"21322":3410,"21453":3411,"21467":3412,"24070":3413,"25644":3414,"26001":3415,"26495":3416,"27710":3417,"27726":3418,"29256":3419,"29359":3420,"29677":3421,"30036":3422,"32321":3423,"33324":3424,"34281":3425,"36009":3426,"31684":3427,"12196":3428,"37318":3428,"29033":3429,"38930":3430,"39151":3431,"25405":3432,"26217":3433,"30058":3434,"30436":3435,"30928":3436,"34115":3437,"34542":3438,"21290":3439,"21329":3440,"21542":3441,"22915":3442,"24199":3443,"24444":3444,"24754":3445,"25161":3446,"25209":3447,"25259":3448,"26000":3449,"12112":3450,"27604":3450,"27852":3451,"30130":3452,"12138":3453,"30382":3453,"30865":3454,"31192":3455,"32203":3456,"32631":3457,"32933":3458,"34987":3459,"35513":3460,"36027":3461,"36991":3462,"12206":3463,"38750":3463,"12214":3464,"39131":3464,"27147":3465,"31800":3466,"20633":3467,"23614":3468,"24494":3469,"26503":3470,"27608":3471,"29749":3472,"30473":3473,"32654":3474,"12240":3475,"40763":3475,"26570":3476,"31255":3477,"21305":3478,"12134":3479,"30091":3479,"39661":3480,"24422":3481,"33181":3482,"33777":3483,"32920":3484,"24380":3485,"24517":3486,"30050":3487,"31558":3488,"36924":3489,"26727":3490,"23019":3491,"23195":3492,"32016":3493,"30334":3494,"35628":3495,"20469":3496,"24426":3497,"27161":3498,"27703":3499,"28418":3500,"29922":3501,"31080":3502,"34920":3503,"35413":3504,"35961":3505,"24287":3506,"25551":3507,"30149":3508,"31186":3509,"33495":3510,"37672":3511,"37618":3512,"33948":3513,"34541":3514,"39981":3515,"21697":3516,"24428":3517,"25996":3518,"27996":3519,"28693":3520,"36007":3521,"36051":3522,"38971":3523,"25935":3524,"29942":3525,"19981":3526,"20184":3527,"22496":3528,"22827":3529,"23142":3530,"23500":3531,"20904":3532,"24067":3533,"24220":3534,"24598":3535,"25206":3536,"25975":3537,"26023":3538,"26222":3539,"28014":3540,"12119":3541,"29238":3541,"31526":3542,"33104":3543,"33178":3544,"33433":3545,"35676":3546,"36000":3547,"36070":3548,"36212":3549,"12201":3550,"38428":3550,"38468":3551,"20398":3552,"25771":3553,"27494":3554,"33310":3555,"33889":3556,"34154":3557,"37096":3558,"23553":3559,"26963":3560,"12213":3561,"39080":3561,"33914":3562,"34135":3563,"20239":3564,"21103":3565,"24489":3566,"24133":3567,"26381":3568,"31119":3569,"33145":3570,"35079":3571,"35206":3572,"28149":3573,"24343":3574,"25173":3575,"27832":3576,"20175":3577,"29289":3578,"39826":3579,"20998":3580,"21563":3581,"22132":3582,"22707":3583,"24996":3584,"25198":3585,"28954":3586,"22894":3587,"31881":3588,"31966":3589,"32027":3590,"38640":3591,"12098":3592,"25991":3592,"32862":3593,"19993":3594,"20341":3595,"20853":3596,"22592":3597,"24163":3598,"24179":3599,"24330":3600,"26564":3601,"20006":3602,"34109":3603,"38281":3604,"38491":3605,"12150":3606,"31859":3606,"12212":3607,"38913":3607,"20731":3608,"22721":3609,"30294":3610,"30887":3611,"21029":3612,"30629":3613,"34065":3614,"31622":3615,"20559":3616,"22793":3617,"12122":3618,"29255":3618,"31687":3619,"32232":3620,"36794":3621,"36820":3622,"36941":3623,"20415":3624,"21193":3625,"23081":3626,"24321":3627,"38829":3628,"20445":3629,"33303":3630,"37610":3631,"22275":3632,"25429":3633,"27497":3634,"29995":3635,"35036":3636,"36628":3637,"31298":3638,"21215":3639,"22675":3640,"24917":3641,"25098":3642,"26286":3643,"11935":3644,"27597":3644,"31807":3645,"33769":3646,"20515":3647,"20472":3648,"21253":3649,"21574":3650,"22577":3651,"22857":3652,"23453":3653,"23792":3654,"23791":3655,"23849":3656,"24214":3657,"25265":3658,"25447":3659,"25918":3660,"12101":3661,"26041":3661,"26379":3662,"27861":3663,"27873":3664,"28921":3665,"30770":3666,"32299":3667,"32990":3668,"33459":3669,"33804":3670,"34028":3671,"34562":3672,"35090":3673,"35370":3674,"35914":3675,"37030":3676,"37586":3677,"39165":3678,"40179":3679,"40300":3680,"20047":3681,"20129":3682,"20621":3683,"21078":3684,"22346":3685,"22952":3686,"24125":3687,"24536":3688,"24537":3689,"25151":3690,"26292":3691,"26395":3692,"26576":3693,"26834":3694,"20882":3695,"32033":3696,"32938":3697,"33192":3698,"35584":3699,"35980":3700,"36031":3701,"37502":3702,"38450":3703,"21536":3704,"38956":3705,"21271":3706,"20693":3707,"12056":3708,"21340":3708,"22696":3709,"25778":3710,"26420":3711,"29287":3712,"30566":3713,"31302":3714,"37350":3715,"21187":3716,"27809":3717,"27526":3718,"22528":3719,"24140":3720,"22868":3721,"26412":3722,"32763":3723,"20961":3724,"30406":3725,"25705":3726,"30952":3727,"39764":3728,"12231":3729,"40635":3729,"22475":3730,"22969":3731,"26151":3732,"26522":3733,"27598":3734,"21737":3735,"27097":3736,"24149":3737,"33180":3738,"26517":3739,"39850":3740,"26622":3741,"40018":3742,"26717":3743,"20134":3744,"20451":3745,"12060":3746,"21448":3746,"25273":3747,"26411":3748,"27819":3749,"36804":3750,"20397":3751,"32365":3752,"40639":3753,"19975":3754,"24930":3755,"28288":3756,"28459":3757,"34067":3758,"21619":3759,"26410":3760,"39749":3761,"11922":3762,"24051":3762,"31637":3763,"23724":3764,"23494":3765,"34588":3766,"28234":3767,"34001":3768,"31252":3769,"33032":3770,"22937":3771,"31885":3772,"11936":3773,"27665":3773,"30496":3774,"21209":3775,"22818":3776,"28961":3777,"29279":3778,"12141":3779,"30683":3779,"38695":3780,"40289":3781,"26891":3782,"23167":3783,"23064":3784,"20901":3785,"21517":3786,"21629":3787,"26126":3788,"30431":3789,"36855":3790,"37528":3791,"40180":3792,"23018":3793,"29277":3794,"28357":3795,"20813":3796,"26825":3797,"32191":3798,"32236":3799,"12207":3800,"38754":3800,"40634":3801,"25720":3802,"27169":3803,"33538":3804,"22916":3805,"23391":3806,"12113":3807,"27611":3807,"29467":3808,"30450":3809,"32178":3810,"32791":3811,"33945":3812,"20786":3813,"12106":3814,"26408":3814,"40665":3815,"12140":3816,"30446":3816,"26466":3817,"21247":3818,"39173":3819,"23588":3820,"25147":3821,"31870":3822,"36016":3823,"21839":3824,"24758":3825,"32011":3826,"12200":3827,"38272":3827,"21249":3828,"20063":3829,"20918":3830,"22812":3831,"29242":3832,"32822":3833,"37326":3834,"24357":3835,"12142":3836,"30690":3836,"21380":3837,"24441":3838,"32004":3839,"34220":3840,"35379":3841,"36493":3842,"38742":3843,"26611":3844,"34222":3845,"37971":3846,"24841":3847,"24840":3848,"27833":3849,"30290":3850,"35565":3851,"36664":3852,"21807":3853,"20305":3854,"20778":3855,"21191":3856,"21451":3857,"23461":3858,"24189":3859,"24736":3860,"24962":3861,"25558":3862,"26377":3863,"26586":3864,"28263":3865,"28044":3866,"29494":3867,"29495":3868,"30001":3869,"31056":3870,"35029":3871,"35480":3872,"36938":3873,"12194":3874,"37009":3874,"37109":3875,"38596":3876,"34701":3877,"12067":3878,"22805":3878,"20104":3879,"20313":3880,"19982":3881,"35465":3882,"36671":3883,"38928":3884,"20653":3885,"24188":3886,"22934":3887,"23481":3888,"24248":3889,"25562":3890,"25594":3891,"25793":3892,"26332":3893,"26954":3894,"27096":3895,"27915":3896,"28342":3897,"29076":3898,"12132":3899,"29992":3899,"31407":3900,"12154":3901,"32650":3901,"32768":3902,"33865":3903,"33993":3904,"35201":3905,"35617":3906,"36362":3907,"36965":3908,"38525":3909,"39178":3910,"24958":3911,"25233":3912,"27442":3913,"27779":3914,"28020":3915,"32716":3916,"32764":3917,"28096":3918,"32645":3919,"34746":3920,"35064":3921,"26469":3922,"33713":3923,"38972":3924,"38647":3925,"27931":3926,"32097":3927,"33853":3928,"37226":3929,"20081":3930,"21365":3931,"23888":3932,"27396":3933,"28651":3934,"34253":3935,"34349":3936,"35239":3937,"21033":3938,"21519":3939,"23653":3940,"26446":3941,"26792":3942,"29702":3943,"29827":3944,"30178":3945,"35023":3946,"35041":3947,"12197":3948,"37324":3948,"38626":3949,"38520":3950,"24459":3951,"29575":3952,"12148":3953,"31435":3953,"33870":3954,"25504":3955,"30053":3956,"21129":3957,"27969":3958,"28316":3959,"29705":3960,"30041":3961,"30827":3962,"31890":3963,"38534":3964,"12015":3965,"31452":3965,"12243":3966,"40845":3966,"20406":3967,"24942":3968,"26053":3969,"34396":3970,"20102":3971,"20142":3972,"20698":3973,"20001":3974,"20940":3975,"23534":3976,"26009":3977,"26753":3978,"28092":3979,"29471":3980,"30274":3981,"30637":3982,"31260":3983,"31975":3984,"33391":3985,"35538":3986,"36988":3987,"37327":3988,"38517":3989,"38936":3990,"12050":3991,"21147":3991,"32209":3992,"20523":3993,"21400":3994,"26519":3995,"28107":3996,"29136":3997,"29747":3998,"33256":3999,"36650":4000,"38563":4001,"40023":4002,"40607":4003,"29792":4004,"22593":4005,"28057":4006,"32047":4007,"39006":4008,"20196":4009,"20278":4010,"20363":4011,"20919":4012,"21169":4013,"23994":4014,"24604":4015,"29618":4016,"31036":4017,"33491":4018,"37428":4019,"38583":4020,"38646":4021,"38666":4022,"40599":4023,"40802":4024,"26278":4025,"27508":4026,"21015":4027,"21155":4028,"28872":4029,"35010":4030,"24265":4031,"24651":4032,"24976":4033,"28451":4034,"29001":4035,"31806":4036,"32244":4037,"32879":4038,"34030":4039,"36899":4040,"37676":4041,"21570":4042,"39791":4043,"27347":4044,"28809":4045,"36034":4046,"36335":4047,"38706":4048,"21172":4049,"23105":4050,"24266":4051,"24324":4052,"26391":4053,"27004":4054,"27028":4055,"28010":4056,"28431":4057,"29282":4058,"29436":4059,"31725":4060,"12156":4061,"32769":4061,"32894":4062,"34635":4063,"37070":4064,"20845":4065,"40595":4066,"31108":4067,"32907":4068,"37682":4069,"35542":4070,"20525":4071,"21644":4072,"35441":4073,"27498":4074,"36036":4075,"33031":4076,"24785":4077,"26528":4078,"40434":4079,"20121":4080,"20120":4081,"39952":4082,"35435":4083,"34241":4084,"34152":4085,"26880":4086,"28286":4087,"30871":4088,"33109":4089,"24332":4090,"19984":4091,"19989":4092,"20010":4093,"20017":4094,"12034":4095,"20022":4095,"20028":4096,"12035":4097,"20031":4097,"20034":4098,"20054":4099,"20056":4100,"20098":4101,"12037":4102,"20101":4102,"35947":4103,"20106":4104,"33298":4105,"24333":4106,"20110":4107,"20126":4108,"20127":4109,"12039":4110,"20128":4110,"20130":4111,"20144":4112,"20147":4113,"20150":4114,"20174":4115,"20173":4116,"20164":4117,"20166":4118,"20162":4119,"20183":4120,"20190":4121,"20205":4122,"20191":4123,"20215":4124,"20233":4125,"20314":4126,"20272":4127,"20315":4128,"20317":4129,"20311":4130,"20295":4131,"20342":4132,"20360":4133,"20367":4134,"20376":4135,"20347":4136,"20329":4137,"20336":4138,"20369":4139,"20335":4140,"20358":4141,"20374":4142,"20760":4143,"20436":4144,"20447":4145,"20430":4146,"20440":4147,"20443":4148,"20433":4149,"20442":4150,"20432":4151,"20452":4152,"20453":4153,"20506":4154,"20520":4155,"20500":4156,"20522":4157,"20517":4158,"20485":4159,"20252":4160,"20470":4161,"20513":4162,"20521":4163,"20524":4164,"20478":4165,"20463":4166,"20497":4167,"20486":4168,"20547":4169,"20551":4170,"26371":4171,"20565":4172,"20560":4173,"20552":4174,"20570":4175,"20566":4176,"20588":4177,"20600":4178,"20608":4179,"20634":4180,"20613":4181,"20660":4182,"20658":4183,"20681":4184,"20682":4185,"20659":4186,"20674":4187,"20694":4188,"20702":4189,"20709":4190,"20717":4191,"20707":4192,"20718":4193,"20729":4194,"20725":4195,"20745":4196,"20737":4197,"20738":4198,"20758":4199,"20757":4200,"20756":4201,"20762":4202,"20769":4203,"20794":4204,"20791":4205,"20796":4206,"20795":4207,"12041":4208,"20799":4208,"11918":4209,"20800":4209,"20818":4210,"20812":4211,"20820":4212,"20834":4213,"31480":4214,"20841":4215,"20842":4216,"20846":4217,"20864":4218,"12044":4219,"20866":4219,"22232":4220,"20876":4221,"20873":4222,"20879":4223,"20881":4224,"20883":4225,"20885":4226,"12045":4227,"20886":4227,"20900":4228,"20902":4229,"20898":4230,"20905":4231,"20906":4232,"12046":4233,"20907":4233,"20915":4234,"20913":4235,"20914":4236,"20912":4237,"20917":4238,"20925":4239,"20933":4240,"20937":4241,"20955":4242,"12047":4243,"20960":4243,"34389":4244,"20969":4245,"20973":4246,"20976":4247,"12048":4248,"20981":4248,"20990":4249,"20996":4250,"21003":4251,"21012":4252,"21006":4253,"21031":4254,"21034":4255,"21038":4256,"21043":4257,"21049":4258,"21071":4259,"21060":4260,"21067":4261,"21068":4262,"21086":4263,"21076":4264,"21098":4265,"21108":4266,"21097":4267,"21107":4268,"21119":4269,"21117":4270,"21133":4271,"21140":4272,"21138":4273,"21105":4274,"21128":4275,"21137":4276,"36776":4277,"36775":4278,"21164":4279,"21165":4280,"21180":4281,"21173":4282,"21185":4283,"21197":4284,"21207":4285,"21214":4286,"21219":4287,"21222":4288,"39149":4289,"21216":4290,"21235":4291,"21237":4292,"21240":4293,"12051":4294,"21241":4294,"21254":4295,"21256":4296,"30008":4297,"21261":4298,"21264":4299,"21263":4300,"21269":4301,"12052":4301,"21274":4302,"12053":4302,"21283":4303,"21295":4304,"21297":4305,"21299":4306,"12054":4307,"21304":4307,"21312":4308,"21318":4309,"21317":4310,"19991":4311,"21321":4312,"21325":4313,"20950":4314,"21342":4315,"12057":4316,"21353":4316,"21358":4317,"22808":4318,"21371":4319,"21367":4320,"12058":4321,"21378":4321,"21398":4322,"21408":4323,"21414":4324,"21413":4325,"21422":4326,"21424":4327,"12059":4328,"21430":4328,"21443":4329,"31762":4330,"38617":4331,"21471":4332,"26364":4333,"29166":4334,"21486":4335,"21480":4336,"21485":4337,"21498":4338,"21505":4339,"21565":4340,"21568":4341,"21548":4342,"21549":4343,"21564":4344,"21550":4345,"21558":4346,"21545":4347,"21533":4348,"21582":4349,"21647":4350,"21621":4351,"21646":4352,"21599":4353,"21617":4354,"21623":4355,"21616":4356,"21650":4357,"21627":4358,"21632":4359,"21622":4360,"21636":4361,"21648":4362,"21638":4363,"21703":4364,"21666":4365,"21688":4366,"21669":4367,"21676":4368,"21700":4369,"21704":4370,"21672":4371,"21675":4372,"21698":4373,"21668":4374,"21694":4375,"21692":4376,"21720":4377,"21733":4378,"21734":4379,"21775":4380,"21780":4381,"21757":4382,"21742":4383,"21741":4384,"21754":4385,"21730":4386,"21817":4387,"21824":4388,"21859":4389,"21836":4390,"21806":4391,"21852":4392,"21829":4393,"21846":4394,"21847":4395,"21816":4396,"21811":4397,"21853":4398,"21913":4399,"21888":4400,"21679":4401,"21898":4402,"21919":4403,"21883":4404,"21886":4405,"21912":4406,"21918":4407,"21934":4408,"21884":4409,"21891":4410,"21929":4411,"21895":4412,"21928":4413,"21978":4414,"21957":4415,"21983":4416,"21956":4417,"21980":4418,"21988":4419,"21972":4420,"22036":4421,"22007":4422,"22038":4423,"22014":4424,"22013":4425,"22043":4426,"22009":4427,"22094":4428,"22096":4429,"29151":4430,"22068":4431,"22070":4432,"22066":4433,"22072":4434,"22123":4435,"22116":4436,"22063":4437,"22124":4438,"22122":4439,"22150":4440,"22144":4441,"22154":4442,"22176":4443,"22164":4444,"22159":4445,"22181":4446,"22190":4447,"22198":4448,"22196":4449,"22210":4450,"22204":4451,"22209":4452,"22211":4453,"22208":4454,"22216":4455,"22222":4456,"22225":4457,"22227":4458,"12062":4459,"22231":4459,"22254":4460,"22265":4461,"22272":4462,"22271":4463,"22276":4464,"22281":4465,"22280":4466,"22283":4467,"22285":4468,"22291":4469,"22296":4470,"22294":4471,"21959":4472,"22300":4473,"22310":4474,"22327":4475,"22328":4476,"22350":4477,"22331":4478,"22336":4479,"22351":4480,"22377":4481,"22464":4482,"22408":4483,"22369":4484,"22399":4485,"22409":4486,"22419":4487,"22432":4488,"22451":4489,"22436":4490,"22442":4491,"22448":4492,"22467":4493,"22470":4494,"22484":4495,"22482":4496,"22483":4497,"22538":4498,"22486":4499,"22499":4500,"22539":4501,"22553":4502,"22557":4503,"22642":4504,"22561":4505,"22626":4506,"22603":4507,"22640":4508,"27584":4509,"22610":4510,"22589":4511,"22649":4512,"22661":4513,"22713":4514,"22687":4515,"22699":4516,"22714":4517,"22750":4518,"22715":4519,"22712":4520,"22702":4521,"22725":4522,"22739":4523,"22737":4524,"22743":4525,"22745":4526,"22744":4527,"22757":4528,"22748":4529,"22756":4530,"22751":4531,"22767":4532,"22778":4533,"22777":4534,"22779":4535,"22780":4536,"22781":4537,"22786":4538,"12065":4538,"22794":4539,"12066":4539,"22800":4540,"22811":4541,"26790":4542,"22821":4543,"22828":4544,"22829":4545,"22834":4546,"22840":4547,"22846":4548,"31442":4549,"22869":4550,"22864":4551,"22862":4552,"22874":4553,"22872":4554,"22882":4555,"22880":4556,"22887":4557,"22892":4558,"22889":4559,"22904":4560,"22913":4561,"22941":4562,"20318":4563,"20395":4564,"22947":4565,"22962":4566,"22982":4567,"23016":4568,"23004":4569,"22925":4570,"23001":4571,"23002":4572,"23077":4573,"23071":4574,"23057":4575,"23068":4576,"23049":4577,"23066":4578,"23104":4579,"23148":4580,"23113":4581,"23093":4582,"23094":4583,"23138":4584,"23146":4585,"23194":4586,"23228":4587,"23230":4588,"23243":4589,"23234":4590,"23229":4591,"23267":4592,"23255":4593,"23270":4594,"23273":4595,"23254":4596,"23290":4597,"23291":4598,"23308":4599,"23307":4600,"23318":4601,"23346":4602,"23248":4603,"23338":4604,"23350":4605,"23358":4606,"23363":4607,"23365":4608,"23360":4609,"23377":4610,"23381":4611,"23386":4612,"23387":4613,"23397":4614,"23401":4615,"23408":4616,"23411":4617,"23413":4618,"23416":4619,"25992":4620,"23418":4621,"12071":4622,"23424":4622,"23427":4623,"23462":4624,"23480":4625,"23491":4626,"23495":4627,"23497":4628,"23508":4629,"23504":4630,"23524":4631,"23526":4632,"23522":4633,"23518":4634,"23525":4635,"23531":4636,"23536":4637,"23542":4638,"23539":4639,"23557":4640,"23559":4641,"23560":4642,"23565":4643,"23571":4644,"23584":4645,"11920":4646,"12074":4646,"23586":4646,"23592":4647,"12075":4648,"23608":4648,"23609":4649,"23617":4650,"23622":4651,"23630":4652,"23635":4653,"23632":4654,"23631":4655,"23409":4656,"23660":4657,"12076":4658,"23662":4658,"20066":4659,"23670":4660,"23673":4661,"23692":4662,"23697":4663,"23700":4664,"22939":4665,"23723":4666,"23739":4667,"23734":4668,"23740":4669,"23735":4670,"23749":4671,"23742":4672,"23751":4673,"23769":4674,"23785":4675,"23805":4676,"23802":4677,"23789":4678,"23948":4679,"23786":4680,"23819":4681,"23829":4682,"23831":4683,"23900":4684,"23839":4685,"23835":4686,"23825":4687,"23828":4688,"23842":4689,"23834":4690,"23833":4691,"23832":4692,"23884":4693,"23890":4694,"23886":4695,"23883":4696,"23916":4697,"23923":4698,"23926":4699,"23943":4700,"23940":4701,"23938":4702,"23970":4703,"23965":4704,"23980":4705,"23982":4706,"23997":4707,"23952":4708,"23991":4709,"23996":4710,"24009":4711,"24013":4712,"24019":4713,"24018":4714,"24022":4715,"12078":4716,"24027":4716,"24043":4717,"24050":4718,"24053":4719,"24075":4720,"24090":4721,"24089":4722,"24081":4723,"24091":4724,"24118":4725,"24119":4726,"24132":4727,"24131":4728,"24128":4729,"24142":4730,"24151":4731,"24148":4732,"24159":4733,"24162":4734,"24164":4735,"24135":4736,"24181":4737,"24182":4738,"11923":4739,"12083":4739,"24186":4739,"40636":4740,"12084":4741,"24191":4741,"24224":4742,"24257":4743,"24258":4744,"24264":4745,"24272":4746,"24271":4747,"24278":4748,"24291":4749,"24285":4750,"24282":4751,"24283":4752,"24290":4753,"24289":4754,"24296":4755,"24297":4756,"24300":4757,"24305":4758,"24307":4759,"24304":4760,"12085":4761,"24308":4761,"24312":4762,"12086":4763,"24318":4763,"24323":4764,"24329":4765,"24413":4766,"24412":4767,"12087":4768,"24331":4768,"24337":4769,"24342":4770,"24361":4771,"24365":4772,"24376":4773,"24385":4774,"24392":4775,"24396":4776,"24398":4777,"24367":4778,"11924":4779,"24401":4779,"24406":4780,"24407":4781,"24409":4782,"12090":4783,"24417":4783,"24429":4784,"12091":4785,"24435":4785,"24439":4786,"24451":4787,"24450":4788,"24447":4789,"24458":4790,"24456":4791,"24465":4792,"24455":4793,"24478":4794,"24473":4795,"24472":4796,"24480":4797,"24488":4798,"24493":4799,"24508":4800,"24534":4801,"24571":4802,"24548":4803,"24568":4804,"24561":4805,"24541":4806,"24755":4807,"24575":4808,"24609":4809,"24672":4810,"24601":4811,"24592":4812,"24617":4813,"24590":4814,"24625":4815,"24603":4816,"24597":4817,"24619":4818,"24614":4819,"24591":4820,"24634":4821,"24666":4822,"24641":4823,"24682":4824,"24695":4825,"24671":4826,"24650":4827,"24646":4828,"24653":4829,"24675":4830,"24643":4831,"24676":4832,"24642":4833,"24684":4834,"24683":4835,"24665":4836,"24705":4837,"24717":4838,"24807":4839,"24707":4840,"24730":4841,"24708":4842,"24731":4843,"24726":4844,"24727":4845,"24722":4846,"24743":4847,"24715":4848,"24801":4849,"24760":4850,"24800":4851,"24787":4852,"24756":4853,"24560":4854,"24765":4855,"24774":4856,"24757":4857,"24792":4858,"24909":4859,"24853":4860,"24838":4861,"24822":4862,"24823":4863,"24832":4864,"24820":4865,"24826":4866,"24835":4867,"24865":4868,"24827":4869,"24817":4870,"24845":4871,"24846":4872,"24903":4873,"24894":4874,"24872":4875,"24871":4876,"24906":4877,"24895":4878,"24892":4879,"24876":4880,"24884":4881,"24893":4882,"24898":4883,"24900":4884,"24947":4885,"24951":4886,"24920":4887,"24921":4888,"24922":4889,"24939":4890,"24948":4891,"24943":4892,"24933":4893,"24945":4894,"24927":4895,"24925":4896,"24915":4897,"24949":4898,"24985":4899,"24982":4900,"24967":4901,"25004":4902,"24980":4903,"24986":4904,"24970":4905,"24977":4906,"25003":4907,"25006":4908,"25036":4909,"25034":4910,"25033":4911,"25079":4912,"25032":4913,"25027":4914,"25030":4915,"25018":4916,"25035":4917,"32633":4918,"25037":4919,"25062":4920,"25059":4921,"25078":4922,"25082":4923,"25076":4924,"25087":4925,"25085":4926,"25084":4927,"25086":4928,"25088":4929,"12093":4930,"25096":4930,"25097":4931,"25101":4932,"25100":4933,"25108":4934,"25115":4935,"25118":4936,"25121":4937,"25130":4938,"25134":4939,"25136":4940,"25138":4941,"25139":4942,"25153":4943,"25166":4944,"25182":4945,"25187":4946,"25179":4947,"25184":4948,"25192":4949,"25212":4950,"25218":4951,"25225":4952,"25214":4953,"25234":4954,"25235":4955,"25238":4956,"25300":4957,"25219":4958,"25236":4959,"25303":4960,"25297":4961,"25275":4962,"25295":4963,"25343":4964,"25286":4965,"25812":4966,"25288":4967,"25308":4968,"25292":4969,"25290":4970,"25282":4971,"25287":4972,"25243":4973,"25289":4974,"25356":4975,"25326":4976,"25329":4977,"25383":4978,"25346":4979,"25352":4980,"25327":4981,"25333":4982,"25424":4983,"25406":4984,"25421":4985,"25628":4986,"25423":4987,"25494":4988,"25486":4989,"25472":4990,"25515":4991,"25462":4992,"25507":4993,"25487":4994,"25481":4995,"25503":4996,"25525":4997,"25451":4998,"25449":4999,"25534":5000,"25577":5001,"25536":5002,"25542":5003,"25571":5004,"25545":5005,"25554":5006,"25590":5007,"25540":5008,"25622":5009,"25652":5010,"25606":5011,"25619":5012,"25638":5013,"25654":5014,"25885":5015,"25623":5016,"25640":5017,"25615":5018,"25703":5019,"25711":5020,"25718":5021,"25678":5022,"25898":5023,"25749":5024,"25747":5025,"25765":5026,"25769":5027,"25736":5028,"25788":5029,"25818":5030,"25810":5031,"25797":5032,"25799":5033,"25787":5034,"25816":5035,"25794":5036,"25841":5037,"25831":5038,"33289":5039,"25824":5040,"25825":5041,"25260":5042,"25827":5043,"25839":5044,"25900":5045,"25846":5046,"25844":5047,"25842":5048,"25850":5049,"25856":5050,"25853":5051,"25880":5052,"25884":5053,"25861":5054,"25892":5055,"25891":5056,"25899":5057,"12097":5058,"25908":5058,"11929":5059,"25909":5059,"25911":5060,"25910":5061,"25912":5062,"30027":5063,"25928":5064,"25942":5065,"25941":5066,"25933":5067,"25944":5068,"25950":5069,"25949":5070,"25970":5071,"25976":5072,"25986":5073,"25987":5074,"35722":5075,"26011":5076,"26015":5077,"26027":5078,"26039":5079,"26051":5080,"26054":5081,"26049":5082,"26052":5083,"26060":5084,"26066":5085,"26075":5086,"26073":5087,"12102":5088,"26080":5088,"11931":5089,"26081":5089,"26097":5090,"26482":5091,"26122":5092,"26115":5093,"26107":5094,"26483":5095,"26165":5096,"26166":5097,"26164":5098,"26140":5099,"26191":5100,"26180":5101,"26185":5102,"26177":5103,"26206":5104,"26205":5105,"26212":5106,"26215":5107,"26216":5108,"26207":5109,"26210":5110,"26224":5111,"26243":5112,"26248":5113,"26254":5114,"26249":5115,"26244":5116,"26264":5117,"26269":5118,"26305":5119,"26297":5120,"26313":5121,"26302":5122,"26300":5123,"26308":5124,"26296":5125,"26326":5126,"26330":5127,"26336":5128,"26175":5129,"26342":5130,"26345":5131,"12104":5132,"26352":5132,"26357":5133,"26359":5134,"26383":5135,"26390":5136,"26398":5137,"26406":5138,"26407":5139,"38712":5140,"26414":5141,"26431":5142,"26422":5143,"26433":5144,"26424":5145,"26423":5146,"26438":5147,"26462":5148,"26464":5149,"26457":5150,"26467":5151,"26468":5152,"26505":5153,"26480":5154,"26537":5155,"26492":5156,"26474":5157,"26508":5158,"26507":5159,"26534":5160,"26529":5161,"26501":5162,"26551":5163,"26607":5164,"26548":5165,"26604":5166,"26547":5167,"26601":5168,"26552":5169,"26596":5170,"26590":5171,"26589":5172,"26594":5173,"26606":5174,"26553":5175,"26574":5176,"26566":5177,"26599":5178,"27292":5179,"26654":5180,"26694":5181,"26665":5182,"26688":5183,"26701":5184,"26674":5185,"26702":5186,"26803":5187,"26667":5188,"26713":5189,"26723":5190,"26743":5191,"26751":5192,"26783":5193,"26767":5194,"26797":5195,"26772":5196,"26781":5197,"26779":5198,"26755":5199,"27310":5200,"26809":5201,"26740":5202,"26805":5203,"26784":5204,"26810":5205,"26895":5206,"26765":5207,"26750":5208,"26881":5209,"26826":5210,"26888":5211,"26840":5212,"26914":5213,"26918":5214,"26849":5215,"26892":5216,"26829":5217,"26836":5218,"26855":5219,"26837":5220,"26934":5221,"26898":5222,"26884":5223,"26839":5224,"26851":5225,"26917":5226,"26873":5227,"26848":5228,"26863":5229,"26920":5230,"26922":5231,"26906":5232,"26915":5233,"26913":5234,"26822":5235,"27001":5236,"26999":5237,"26972":5238,"27000":5239,"26987":5240,"26964":5241,"27006":5242,"26990":5243,"26937":5244,"26996":5245,"26941":5246,"26969":5247,"26928":5248,"26977":5249,"26974":5250,"26973":5251,"27009":5252,"26986":5253,"27058":5254,"27054":5255,"27088":5256,"27071":5257,"27073":5258,"27091":5259,"27070":5260,"27086":5261,"23528":5262,"27082":5263,"27101":5264,"27067":5265,"27075":5266,"27047":5267,"27182":5268,"27025":5269,"27040":5270,"27036":5271,"27029":5272,"27060":5273,"27102":5274,"27112":5275,"27138":5276,"27163":5277,"27135":5278,"27402":5279,"27129":5280,"27122":5281,"27111":5282,"27141":5283,"27057":5284,"27166":5285,"27117":5286,"27156":5287,"27115":5288,"27146":5289,"27154":5290,"27329":5291,"27171":5292,"27155":5293,"27204":5294,"27148":5295,"27250":5296,"27190":5297,"27256":5298,"27207":5299,"27234":5300,"27225":5301,"27238":5302,"27208":5303,"27192":5304,"27170":5305,"27280":5306,"27277":5307,"27296":5308,"27268":5309,"27298":5310,"27299":5311,"27287":5312,"34327":5313,"27323":5314,"27331":5315,"27330":5316,"27320":5317,"27315":5318,"27308":5319,"27358":5320,"27345":5321,"27359":5322,"27306":5323,"27354":5324,"27370":5325,"27387":5326,"27397":5327,"34326":5328,"27386":5329,"27410":5330,"27414":5331,"39729":5332,"27423":5333,"27448":5334,"27447":5335,"30428":5336,"27449":5337,"39150":5338,"27463":5339,"27459":5340,"27465":5341,"27472":5342,"27481":5343,"27476":5344,"27483":5345,"27487":5346,"27489":5347,"27512":5348,"12109":5349,"27513":5349,"27519":5350,"27520":5351,"27524":5352,"27523":5353,"27533":5354,"27544":5355,"27541":5356,"27550":5357,"27556":5358,"27562":5359,"27563":5360,"27567":5361,"27570":5362,"27569":5363,"12110":5364,"27571":5364,"27575":5365,"27580":5366,"27590":5367,"12111":5368,"27595":5368,"27603":5369,"27615":5370,"27628":5371,"27627":5372,"27635":5373,"27631":5374,"40638":5375,"27656":5376,"27667":5377,"12115":5378,"27668":5378,"27675":5379,"27684":5380,"27683":5381,"27742":5382,"27733":5383,"27746":5384,"27754":5385,"27778":5386,"27789":5387,"27802":5388,"27777":5389,"27803":5390,"27774":5391,"27752":5392,"27763":5393,"27794":5394,"27792":5395,"27844":5396,"27889":5397,"27859":5398,"27837":5399,"27863":5400,"27845":5401,"27869":5402,"27822":5403,"27825":5404,"27838":5405,"27834":5406,"27867":5407,"27887":5408,"27865":5409,"27882":5410,"27935":5411,"34893":5412,"27958":5413,"27947":5414,"27965":5415,"27960":5416,"27929":5417,"27957":5418,"27955":5419,"27922":5420,"27916":5421,"28003":5422,"28051":5423,"28004":5424,"27994":5425,"28025":5426,"27993":5427,"28046":5428,"28053":5429,"28644":5430,"28037":5431,"28153":5432,"28181":5433,"28170":5434,"28085":5435,"28103":5436,"28134":5437,"28088":5438,"28102":5439,"28140":5440,"28126":5441,"28108":5442,"28136":5443,"28114":5444,"28101":5445,"28154":5446,"28121":5447,"28132":5448,"28117":5449,"28138":5450,"28142":5451,"28205":5452,"28270":5453,"28206":5454,"28185":5455,"28274":5456,"28255":5457,"28222":5458,"28195":5459,"28267":5460,"28203":5461,"28278":5462,"28237":5463,"28191":5464,"28227":5465,"28218":5466,"28238":5467,"28196":5468,"28415":5469,"28189":5470,"28216":5471,"28290":5472,"28330":5473,"28312":5474,"28361":5475,"28343":5476,"28371":5477,"28349":5478,"28335":5479,"28356":5480,"28338":5481,"28372":5482,"28373":5483,"28303":5484,"28325":5485,"28354":5486,"28319":5487,"28481":5488,"28433":5489,"28748":5490,"28396":5491,"28408":5492,"28414":5493,"28479":5494,"28402":5495,"28465":5496,"28399":5497,"28466":5498,"28364":5499,"28478":5500,"28435":5501,"28407":5502,"28550":5503,"28538":5504,"28536":5505,"28545":5506,"28544":5507,"28527":5508,"28507":5509,"28659":5510,"28525":5511,"28546":5512,"28540":5513,"28504":5514,"28558":5515,"28561":5516,"28610":5517,"28518":5518,"28595":5519,"28579":5520,"28577":5521,"28580":5522,"28601":5523,"28614":5524,"28586":5525,"28639":5526,"28629":5527,"28652":5528,"28628":5529,"28632":5530,"28657":5531,"28654":5532,"28635":5533,"28681":5534,"28683":5535,"28666":5536,"28689":5537,"28673":5538,"28687":5539,"28670":5540,"28699":5541,"28698":5542,"28532":5543,"28701":5544,"28696":5545,"28703":5546,"28720":5547,"28734":5548,"28722":5549,"28753":5550,"28771":5551,"28825":5552,"28818":5553,"28847":5554,"28913":5555,"28844":5556,"28856":5557,"28851":5558,"28846":5559,"28895":5560,"28875":5561,"28893":5562,"28889":5563,"28937":5564,"28925":5565,"28956":5566,"28953":5567,"29029":5568,"29013":5569,"29064":5570,"29030":5571,"29026":5572,"29004":5573,"29014":5574,"29036":5575,"29071":5576,"29179":5577,"29060":5578,"29077":5579,"29096":5580,"29100":5581,"29143":5582,"29113":5583,"29118":5584,"29138":5585,"29129":5586,"29140":5587,"29134":5588,"29152":5589,"29164":5590,"29159":5591,"29173":5592,"29180":5593,"29177":5594,"29183":5595,"29197":5596,"29200":5597,"29211":5598,"29224":5599,"29229":5600,"29228":5601,"29232":5602,"29234":5603,"12120":5604,"29243":5604,"29244":5605,"12121":5606,"29247":5606,"29248":5607,"29254":5608,"29259":5609,"29272":5610,"29300":5611,"29310":5612,"29314":5613,"29313":5614,"29319":5615,"29330":5616,"29334":5617,"29346":5618,"29351":5619,"29369":5620,"29362":5621,"29379":5622,"29382":5623,"29380":5624,"29390":5625,"29394":5626,"29410":5627,"29408":5628,"29409":5629,"29433":5630,"29431":5631,"20495":5632,"29463":5633,"29450":5634,"29468":5635,"29462":5636,"29469":5637,"29492":5638,"29487":5639,"29481":5640,"29477":5641,"29502":5642,"29518":5643,"29519":5644,"40664":5645,"29527":5646,"29546":5647,"29544":5648,"29552":5649,"29560":5650,"29557":5651,"29563":5652,"29562":5653,"29640":5654,"29619":5655,"29646":5656,"29627":5657,"29632":5658,"29669":5659,"29678":5660,"29662":5661,"29858":5662,"29701":5663,"29807":5664,"29733":5665,"29688":5666,"29746":5667,"29754":5668,"29781":5669,"29759":5670,"29791":5671,"29785":5672,"29761":5673,"29788":5674,"29801":5675,"29808":5676,"29795":5677,"29802":5678,"29814":5679,"29822":5680,"29835":5681,"29854":5682,"29863":5683,"29898":5684,"29903":5685,"29908":5686,"29681":5687,"29920":5688,"29923":5689,"29927":5690,"29929":5691,"29934":5692,"29938":5693,"29936":5694,"29937":5695,"29944":5696,"29943":5697,"29956":5698,"29955":5699,"29957":5700,"29964":5701,"29966":5702,"29965":5703,"29973":5704,"29971":5705,"29982":5706,"29990":5707,"29996":5708,"30012":5709,"30020":5710,"30029":5711,"30026":5712,"30025":5713,"30043":5714,"30022":5715,"30042":5716,"30057":5717,"30052":5718,"30055":5719,"30059":5720,"30061":5721,"30072":5722,"30070":5723,"30086":5724,"30087":5725,"30068":5726,"30090":5727,"30089":5728,"30082":5729,"30100":5730,"30106":5731,"30109":5732,"30117":5733,"30115":5734,"30146":5735,"30131":5736,"30147":5737,"30133":5738,"30141":5739,"30136":5740,"30140":5741,"30129":5742,"30157":5743,"30154":5744,"30162":5745,"30169":5746,"30179":5747,"30174":5748,"30206":5749,"30207":5750,"30204":5751,"30209":5752,"30192":5753,"30202":5754,"30194":5755,"30195":5756,"30219":5757,"30221":5758,"30217":5759,"30239":5760,"30247":5761,"30240":5762,"30241":5763,"30242":5764,"30244":5765,"30260":5766,"30256":5767,"30267":5768,"30279":5769,"30280":5770,"30278":5771,"30300":5772,"30296":5773,"30305":5774,"30306":5775,"30312":5776,"30313":5777,"30314":5778,"30311":5779,"30316":5780,"30320":5781,"30322":5782,"12136":5783,"30326":5783,"30328":5784,"30332":5785,"30336":5786,"30339":5787,"30344":5788,"30347":5789,"30350":5790,"30358":5791,"30355":5792,"30361":5793,"30362":5794,"30384":5795,"30388":5796,"30392":5797,"30393":5798,"30394":5799,"30402":5800,"30413":5801,"30422":5802,"30418":5803,"30430":5804,"30433":5805,"30437":5806,"30439":5807,"30442":5808,"34351":5809,"30459":5810,"30472":5811,"30471":5812,"30468":5813,"30505":5814,"30500":5815,"30494":5816,"30501":5817,"30502":5818,"30491":5819,"30519":5820,"30520":5821,"30535":5822,"30554":5823,"30568":5824,"30571":5825,"30555":5826,"30565":5827,"30591":5828,"30590":5829,"30585":5830,"30606":5831,"30603":5832,"30609":5833,"30624":5834,"30622":5835,"30640":5836,"30646":5837,"30649":5838,"30655":5839,"30652":5840,"30653":5841,"30651":5842,"30663":5843,"30669":5844,"30679":5845,"30682":5846,"30684":5847,"30691":5848,"30702":5849,"30716":5850,"30732":5851,"30738":5852,"31014":5853,"30752":5854,"31018":5855,"30789":5856,"30862":5857,"30836":5858,"30854":5859,"30844":5860,"30874":5861,"30860":5862,"30883":5863,"30901":5864,"30890":5865,"30895":5866,"30929":5867,"30918":5868,"30923":5869,"30932":5870,"30910":5871,"30908":5872,"30917":5873,"30922":5874,"30956":5875,"30951":5876,"30938":5877,"30973":5878,"30964":5879,"30983":5880,"30994":5881,"30993":5882,"31001":5883,"31020":5884,"31019":5885,"31040":5886,"31072":5887,"31063":5888,"31071":5889,"31066":5890,"31061":5891,"31059":5892,"31098":5893,"31103":5894,"31114":5895,"31133":5896,"31143":5897,"40779":5898,"31146":5899,"31150":5900,"31155":5901,"31161":5902,"31162":5903,"31177":5904,"31189":5905,"31207":5906,"31212":5907,"31201":5908,"31203":5909,"31240":5910,"31245":5911,"31256":5912,"31257":5913,"31264":5914,"31263":5915,"31104":5916,"31281":5917,"31291":5918,"31294":5919,"31287":5920,"31299":5921,"31319":5922,"31305":5923,"31329":5924,"31330":5925,"31337":5926,"40861":5927,"31344":5928,"31353":5929,"31357":5930,"31368":5931,"31383":5932,"31381":5933,"31384":5934,"31382":5935,"31401":5936,"31432":5937,"31408":5938,"31414":5939,"31429":5940,"31428":5941,"31423":5942,"36995":5943,"31431":5944,"31434":5945,"31437":5946,"31439":5947,"31445":5948,"31443":5949,"31449":5950,"31450":5951,"31453":5952,"31457":5953,"31458":5954,"31462":5955,"31469":5956,"31472":5957,"31490":5958,"31503":5959,"31498":5960,"31494":5961,"31539":5962,"31512":5963,"31513":5964,"31518":5965,"31541":5966,"31528":5967,"31542":5968,"31568":5969,"31610":5970,"31492":5971,"31565":5972,"31499":5973,"31564":5974,"31557":5975,"31605":5976,"31589":5977,"31604":5978,"31591":5979,"31600":5980,"31601":5981,"31596":5982,"31598":5983,"31645":5984,"31640":5985,"31647":5986,"31629":5987,"31644":5988,"31642":5989,"31627":5990,"31634":5991,"31631":5992,"31581":5993,"31641":5994,"31691":5995,"31681":5996,"31692":5997,"31695":5998,"31668":5999,"31686":6000,"31709":6001,"31721":6002,"31761":6003,"31764":6004,"31718":6005,"31717":6006,"31840":6007,"31744":6008,"31751":6009,"31763":6010,"31731":6011,"31735":6012,"31767":6013,"31757":6014,"31734":6015,"31779":6016,"31783":6017,"31786":6018,"31775":6019,"31799":6020,"31787":6021,"31805":6022,"31820":6023,"31811":6024,"31828":6025,"31823":6026,"31808":6027,"31824":6028,"31832":6029,"31839":6030,"31844":6031,"31830":6032,"31845":6033,"31852":6034,"31861":6035,"31875":6036,"31888":6037,"31908":6038,"31917":6039,"31906":6040,"31915":6041,"31905":6042,"31912":6043,"31923":6044,"31922":6045,"31921":6046,"31918":6047,"31929":6048,"31933":6049,"31936":6050,"31941":6051,"31938":6052,"31960":6053,"31954":6054,"31964":6055,"31970":6056,"39739":6057,"31983":6058,"31986":6059,"31988":6060,"31990":6061,"31994":6062,"32006":6063,"32002":6064,"32028":6065,"32021":6066,"32010":6067,"32069":6068,"32075":6069,"32046":6070,"32050":6071,"32063":6072,"32053":6073,"32070":6074,"32115":6075,"32086":6076,"32078":6077,"32114":6078,"32104":6079,"32110":6080,"32079":6081,"32099":6082,"32147":6083,"32137":6084,"32091":6085,"32143":6086,"32125":6087,"32155":6088,"32186":6089,"32174":6090,"32163":6091,"32181":6092,"32199":6093,"32189":6094,"32171":6095,"32317":6096,"32162":6097,"32175":6098,"32220":6099,"32184":6100,"32159":6101,"32176":6102,"32216":6103,"32221":6104,"32228":6105,"32222":6106,"32251":6107,"32242":6108,"32225":6109,"32261":6110,"32266":6111,"32291":6112,"32289":6113,"32274":6114,"32305":6115,"32287":6116,"32265":6117,"32267":6118,"32290":6119,"32326":6120,"32358":6121,"32315":6122,"32309":6123,"32313":6124,"32323":6125,"32311":6126,"32306":6127,"32314":6128,"32359":6129,"32349":6130,"32342":6131,"32350":6132,"32345":6133,"32346":6134,"32377":6135,"32362":6136,"32361":6137,"32380":6138,"32379":6139,"32387":6140,"32213":6141,"32381":6142,"36782":6143,"32383":6144,"32392":6145,"32393":6146,"32396":6147,"32402":6148,"32400":6149,"32403":6150,"32404":6151,"32406":6152,"32398":6153,"32411":6154,"32412":6155,"32568":6156,"32570":6157,"32581":6158,"32588":6159,"32589":6160,"32590":6161,"32592":6162,"12153":6163,"32593":6163,"32597":6164,"32596":6165,"32600":6166,"32607":6167,"32608":6168,"32616":6169,"32617":6170,"32615":6171,"32632":6172,"32642":6173,"32646":6174,"32643":6175,"32648":6176,"32647":6177,"32652":6178,"32660":6179,"32670":6180,"32669":6181,"32666":6182,"32675":6183,"32687":6184,"32690":6185,"32697":6186,"32686":6187,"32694":6188,"32696":6189,"35697":6190,"32709":6191,"32710":6192,"32714":6193,"32725":6194,"32724":6195,"32737":6196,"32742":6197,"32745":6198,"32755":6199,"32761":6200,"39132":6201,"32774":6202,"32772":6203,"32779":6204,"12158":6205,"32786":6205,"32792":6206,"32793":6207,"32796":6208,"32801":6209,"32808":6210,"32831":6211,"32827":6212,"32842":6213,"32838":6214,"32850":6215,"32856":6216,"32858":6217,"32863":6218,"32866":6219,"32872":6220,"32883":6221,"32882":6222,"32880":6223,"32886":6224,"32889":6225,"32893":6226,"12160":6227,"32895":6227,"32900":6228,"32902":6229,"32901":6230,"32923":6231,"32915":6232,"32922":6233,"32941":6234,"20880":6235,"32940":6236,"32987":6237,"32997":6238,"32985":6239,"32989":6240,"32964":6241,"32986":6242,"32982":6243,"33033":6244,"33007":6245,"33009":6246,"33051":6247,"33065":6248,"33059":6249,"33071":6250,"33099":6251,"38539":6252,"33094":6253,"33086":6254,"33107":6255,"33105":6256,"33020":6257,"33137":6258,"33134":6259,"33125":6260,"33126":6261,"33140":6262,"33155":6263,"33160":6264,"33162":6265,"33152":6266,"33154":6267,"33184":6268,"33173":6269,"33188":6270,"33187":6271,"33119":6272,"33171":6273,"33193":6274,"33200":6275,"33205":6276,"33214":6277,"33208":6278,"33213":6279,"33216":6280,"33218":6281,"33210":6282,"33225":6283,"33229":6284,"33233":6285,"33241":6286,"33240":6287,"33224":6288,"33242":6289,"33247":6290,"33248":6291,"33255":6292,"33274":6293,"33275":6294,"33278":6295,"33281":6296,"33282":6297,"33285":6298,"33287":6299,"33290":6300,"33293":6301,"33296":6302,"33302":6303,"33321":6304,"33323":6305,"33336":6306,"33331":6307,"33344":6308,"33369":6309,"33368":6310,"33373":6311,"33370":6312,"33375":6313,"33380":6314,"33378":6315,"33384":6316,"33386":6317,"33387":6318,"33326":6319,"33393":6320,"33399":6321,"12171":6322,"33400":6322,"33406":6323,"33421":6324,"33426":6325,"33451":6326,"33439":6327,"33467":6328,"33452":6329,"33505":6330,"33507":6331,"33503":6332,"33490":6333,"33524":6334,"33523":6335,"33530":6336,"33683":6337,"33539":6338,"33531":6339,"33529":6340,"33502":6341,"33542":6342,"33500":6343,"33545":6344,"33497":6345,"33589":6346,"33588":6347,"33558":6348,"33586":6349,"33585":6350,"33600":6351,"33593":6352,"33616":6353,"33605":6354,"33583":6355,"33579":6356,"33559":6357,"33560":6358,"33669":6359,"33690":6360,"33706":6361,"33695":6362,"33698":6363,"33686":6364,"33571":6365,"33678":6366,"33671":6367,"33674":6368,"33660":6369,"33717":6370,"33651":6371,"33653":6372,"33696":6373,"33673":6374,"33704":6375,"33780":6376,"33811":6377,"33771":6378,"33742":6379,"33789":6380,"33795":6381,"33752":6382,"33803":6383,"33729":6384,"33783":6385,"33799":6386,"33760":6387,"33778":6388,"33805":6389,"33826":6390,"33824":6391,"33725":6392,"33848":6393,"34054":6394,"33787":6395,"33901":6396,"33834":6397,"33852":6398,"34138":6399,"33924":6400,"33911":6401,"33899":6402,"33965":6403,"33902":6404,"33922":6405,"33897":6406,"33862":6407,"33836":6408,"33903":6409,"33913":6410,"33845":6411,"33994":6412,"33890":6413,"33977":6414,"33983":6415,"33951":6416,"34009":6417,"33997":6418,"33979":6419,"34010":6420,"34000":6421,"33985":6422,"33990":6423,"34006":6424,"33953":6425,"34081":6426,"34047":6427,"34036":6428,"34071":6429,"34072":6430,"34092":6431,"34079":6432,"34069":6433,"34068":6434,"34044":6435,"34112":6436,"34147":6437,"34136":6438,"34120":6439,"34113":6440,"34306":6441,"34123":6442,"34133":6443,"34176":6444,"34212":6445,"34184":6446,"34193":6447,"34186":6448,"34216":6449,"34157":6450,"34196":6451,"34203":6452,"34282":6453,"34183":6454,"34204":6455,"34167":6456,"34174":6457,"34192":6458,"34249":6459,"34234":6460,"34255":6461,"34233":6462,"34256":6463,"34261":6464,"34269":6465,"34277":6466,"34268":6467,"34297":6468,"34314":6469,"34323":6470,"34315":6471,"34302":6472,"34298":6473,"34310":6474,"34338":6475,"34330":6476,"34352":6477,"34367":6478,"12172":6479,"34381":6479,"20053":6480,"34388":6481,"34399":6482,"34407":6483,"34417":6484,"34451":6485,"34467":6486,"34473":6487,"34474":6488,"34443":6489,"34444":6490,"34486":6491,"34479":6492,"34500":6493,"34502":6494,"34480":6495,"34505":6496,"34851":6497,"34475":6498,"34516":6499,"34526":6500,"34537":6501,"34540":6502,"34527":6503,"34523":6504,"34543":6505,"34578":6506,"34566":6507,"34568":6508,"34560":6509,"34563":6510,"34555":6511,"34577":6512,"34569":6513,"34573":6514,"34553":6515,"34570":6516,"34612":6517,"34623":6518,"34615":6519,"34619":6520,"34597":6521,"34601":6522,"34586":6523,"34656":6524,"34655":6525,"34680":6526,"34636":6527,"34638":6528,"34676":6529,"34647":6530,"34664":6531,"34670":6532,"34649":6533,"34643":6534,"34659":6535,"34666":6536,"34821":6537,"34722":6538,"34719":6539,"34690":6540,"34735":6541,"34763":6542,"34749":6543,"34752":6544,"34768":6545,"38614":6546,"34731":6547,"34756":6548,"34739":6549,"34759":6550,"34758":6551,"34747":6552,"34799":6553,"34802":6554,"34784":6555,"34831":6556,"34829":6557,"34814":6558,"34806":6559,"34807":6560,"34830":6561,"34770":6562,"34833":6563,"34838":6564,"34837":6565,"34850":6566,"34849":6567,"34865":6568,"34870":6569,"34873":6570,"34855":6571,"34875":6572,"34884":6573,"34882":6574,"34898":6575,"34905":6576,"34910":6577,"34914":6578,"34923":6579,"34945":6580,"34942":6581,"34974":6582,"34933":6583,"34941":6584,"34997":6585,"34930":6586,"34946":6587,"34967":6588,"34962":6589,"34990":6590,"34969":6591,"34978":6592,"34957":6593,"34980":6594,"34992":6595,"35007":6596,"34993":6597,"35011":6598,"35012":6599,"35028":6600,"35032":6601,"35033":6602,"35037":6603,"35065":6604,"35074":6605,"35068":6606,"35060":6607,"35048":6608,"35058":6609,"35076":6610,"35084":6611,"35082":6612,"35091":6613,"35139":6614,"35102":6615,"35109":6616,"35114":6617,"35115":6618,"35137":6619,"35140":6620,"35131":6621,"35126":6622,"35128":6623,"35148":6624,"35101":6625,"35168":6626,"35166":6627,"35174":6628,"35172":6629,"35181":6630,"35178":6631,"35183":6632,"35188":6633,"35191":6634,"12177":6635,"35198":6635,"35203":6636,"35208":6637,"35210":6638,"35219":6639,"35224":6640,"35233":6641,"35241":6642,"35238":6643,"35244":6644,"35247":6645,"35250":6646,"35258":6647,"35261":6648,"35263":6649,"35264":6650,"35290":6651,"35292":6652,"35293":6653,"35303":6654,"35316":6655,"35320":6656,"35331":6657,"35350":6658,"35344":6659,"35340":6660,"35355":6661,"35357":6662,"35365":6663,"35382":6664,"35393":6665,"35419":6666,"35410":6667,"35398":6668,"35400":6669,"35452":6670,"35437":6671,"35436":6672,"35426":6673,"35461":6674,"35458":6675,"35460":6676,"35496":6677,"35489":6678,"35473":6679,"35493":6680,"35494":6681,"35482":6682,"35491":6683,"35524":6684,"35533":6685,"35522":6686,"35546":6687,"35563":6688,"35571":6689,"35559":6690,"35556":6691,"35569":6692,"35604":6693,"35552":6694,"35554":6695,"35575":6696,"35550":6697,"35547":6698,"35596":6699,"35591":6700,"35610":6701,"35553":6702,"35606":6703,"35600":6704,"35607":6705,"35616":6706,"35635":6707,"38827":6708,"35622":6709,"35627":6710,"35646":6711,"35624":6712,"35649":6713,"35660":6714,"35663":6715,"35662":6716,"35657":6717,"35670":6718,"35675":6719,"35674":6720,"35691":6721,"35679":6722,"35692":6723,"35695":6724,"35700":6725,"35709":6726,"35712":6727,"35724":6728,"35726":6729,"35730":6730,"35731":6731,"35734":6732,"35737":6733,"35738":6734,"35898":6735,"35905":6736,"35903":6737,"35912":6738,"35916":6739,"35918":6740,"35920":6741,"12183":6742,"35925":6742,"35938":6743,"35948":6744,"12184":6745,"35960":6745,"35962":6746,"35970":6747,"35977":6748,"35973":6749,"35978":6750,"35981":6751,"35982":6752,"35988":6753,"35964":6754,"35992":6755,"25117":6756,"36013":6757,"36010":6758,"36029":6759,"36018":6760,"36019":6761,"36014":6762,"36022":6763,"36040":6764,"36033":6765,"36068":6766,"36067":6767,"36058":6768,"36093":6769,"36090":6770,"36091":6771,"36100":6772,"36101":6773,"36106":6774,"36103":6775,"36111":6776,"36109":6777,"36112":6778,"40782":6779,"36115":6780,"36045":6781,"36116":6782,"36118":6783,"36199":6784,"36205":6785,"36209":6786,"36211":6787,"36225":6788,"36249":6789,"36290":6790,"36286":6791,"36282":6792,"36303":6793,"36314":6794,"36310":6795,"36300":6796,"36315":6797,"36299":6798,"36330":6799,"36331":6800,"36319":6801,"36323":6802,"36348":6803,"36360":6804,"36361":6805,"36351":6806,"36381":6807,"36382":6808,"36368":6809,"36383":6810,"36418":6811,"36405":6812,"36400":6813,"36404":6814,"36426":6815,"36423":6816,"36425":6817,"36428":6818,"36432":6819,"36424":6820,"36441":6821,"36452":6822,"36448":6823,"36394":6824,"36451":6825,"36437":6826,"36470":6827,"36466":6828,"36476":6829,"36481":6830,"36487":6831,"36485":6832,"36484":6833,"36491":6834,"36490":6835,"36499":6836,"36497":6837,"36500":6838,"36505":6839,"36522":6840,"36513":6841,"36524":6842,"36528":6843,"36550":6844,"36529":6845,"36542":6846,"36549":6847,"36552":6848,"36555":6849,"36571":6850,"36579":6851,"36604":6852,"36603":6853,"36587":6854,"36606":6855,"36618":6856,"36613":6857,"36629":6858,"36626":6859,"36633":6860,"36627":6861,"36636":6862,"36639":6863,"36635":6864,"36620":6865,"36646":6866,"36659":6867,"36667":6868,"36665":6869,"36677":6870,"36674":6871,"36670":6872,"36684":6873,"36681":6874,"36678":6875,"36686":6876,"36695":6877,"36700":6878,"36706":6879,"36707":6880,"36708":6881,"36764":6882,"36767":6883,"36771":6884,"36781":6885,"36783":6886,"36791":6887,"36826":6888,"36837":6889,"36834":6890,"36842":6891,"36847":6892,"36999":6893,"36852":6894,"36869":6895,"36857":6896,"36858":6897,"36881":6898,"36885":6899,"36897":6900,"36877":6901,"36894":6902,"36886":6903,"36875":6904,"36903":6905,"36918":6906,"36917":6907,"36921":6908,"36856":6909,"36943":6910,"36944":6911,"36945":6912,"36946":6913,"36878":6914,"36937":6915,"36926":6916,"36950":6917,"36952":6918,"36958":6919,"36968":6920,"36975":6921,"36982":6922,"38568":6923,"36978":6924,"36994":6925,"36989":6926,"36993":6927,"36992":6928,"37002":6929,"37001":6930,"37007":6931,"37032":6932,"37039":6933,"37041":6934,"37045":6935,"37090":6936,"37092":6937,"25160":6938,"37083":6939,"37122":6940,"37138":6941,"37145":6942,"37170":6943,"37168":6944,"37194":6945,"37206":6946,"37208":6947,"37219":6948,"37221":6949,"37225":6950,"37235":6951,"37234":6952,"37259":6953,"37257":6954,"37250":6955,"37282":6956,"37291":6957,"37295":6958,"37290":6959,"37301":6960,"37300":6961,"37306":6962,"37312":6963,"37313":6964,"37321":6965,"37323":6966,"37328":6967,"37334":6968,"37343":6969,"37345":6970,"37339":6971,"37372":6972,"37365":6973,"37366":6974,"37406":6975,"37375":6976,"37396":6977,"37420":6978,"37397":6979,"37393":6980,"37470":6981,"37463":6982,"37445":6983,"37449":6984,"37476":6985,"37448":6986,"37525":6987,"37439":6988,"37451":6989,"37456":6990,"37532":6991,"37526":6992,"37523":6993,"37531":6994,"37466":6995,"37583":6996,"37561":6997,"37559":6998,"37609":6999,"37647":7000,"37626":7001,"37700":7002,"37678":7003,"37657":7004,"37666":7005,"37658":7006,"37667":7007,"37690":7008,"37685":7009,"37691":7010,"37724":7011,"37728":7012,"37756":7013,"37742":7014,"37718":7015,"37808":7016,"37804":7017,"37805":7018,"37780":7019,"37817":7020,"37846":7021,"37847":7022,"37864":7023,"37861":7024,"37848":7025,"37827":7026,"37853":7027,"37840":7028,"37832":7029,"37860":7030,"37914":7031,"37908":7032,"37907":7033,"37891":7034,"37895":7035,"37904":7036,"37942":7037,"37931":7038,"37941":7039,"37921":7040,"37946":7041,"37953":7042,"37970":7043,"37956":7044,"37979":7045,"37984":7046,"37986":7047,"37982":7048,"37994":7049,"37417":7050,"38000":7051,"38005":7052,"38007":7053,"38013":7054,"37978":7055,"38012":7056,"38014":7057,"38017":7058,"38015":7059,"38274":7060,"38279":7061,"38282":7062,"38292":7063,"38294":7064,"38296":7065,"38297":7066,"38304":7067,"38312":7068,"38311":7069,"38317":7070,"38332":7071,"38331":7072,"38329":7073,"38334":7074,"38346":7075,"28662":7076,"38339":7077,"38349":7078,"38348":7079,"38357":7080,"38356":7081,"38358":7082,"38364":7083,"38369":7084,"38373":7085,"38370":7086,"38433":7087,"38440":7088,"38446":7089,"38447":7090,"38466":7091,"38476":7092,"38479":7093,"38475":7094,"38519":7095,"38492":7096,"38494":7097,"38493":7098,"38495":7099,"38502":7100,"38514":7101,"38508":7102,"38541":7103,"38552":7104,"38549":7105,"38551":7106,"38570":7107,"38567":7108,"38577":7109,"38578":7110,"38576":7111,"38580":7112,"12202":7113,"38582":7113,"38584":7114,"12203":7115,"38585":7115,"38606":7116,"38603":7117,"38601":7118,"38605":7119,"35149":7120,"38620":7121,"38669":7122,"38613":7123,"38649":7124,"38660":7125,"38662":7126,"38664":7127,"38675":7128,"38670":7129,"38673":7130,"38671":7131,"38678":7132,"38681":7133,"38692":7134,"38698":7135,"38704":7136,"38713":7137,"38717":7138,"38718":7139,"38724":7140,"38726":7141,"38728":7142,"38722":7143,"38729":7144,"38748":7145,"38752":7146,"38756":7147,"38758":7148,"38760":7149,"21202":7150,"38763":7151,"38769":7152,"38777":7153,"38789":7154,"38780":7155,"38785":7156,"38778":7157,"38790":7158,"38795":7159,"38799":7160,"38800":7161,"38812":7162,"38824":7163,"38822":7164,"38819":7165,"38835":7166,"38836":7167,"38851":7168,"38854":7169,"38856":7170,"12209":7171,"38859":7171,"38876":7172,"12210":7173,"38893":7173,"40783":7174,"38898":7175,"31455":7176,"38902":7177,"38901":7178,"38927":7179,"38924":7180,"38968":7181,"38948":7182,"38945":7183,"38967":7184,"38973":7185,"38982":7186,"38991":7187,"38987":7188,"39019":7189,"39023":7190,"39024":7191,"39025":7192,"39028":7193,"39027":7194,"39082":7195,"39087":7196,"39089":7197,"39094":7198,"39108":7199,"39107":7200,"39110":7201,"39145":7202,"39147":7203,"39171":7204,"39177":7205,"39186":7206,"39188":7207,"39192":7208,"39201":7209,"39197":7210,"39198":7211,"39204":7212,"39200":7213,"39212":7214,"39214":7215,"39229":7216,"39230":7217,"39234":7218,"39241":7219,"39237":7220,"39248":7221,"39243":7222,"39249":7223,"39250":7224,"39244":7225,"39253":7226,"39319":7227,"39320":7228,"39333":7229,"39341":7230,"39342":7231,"39356":7232,"39391":7233,"39387":7234,"39389":7235,"39384":7236,"39377":7237,"39405":7238,"39406":7239,"39409":7240,"39410":7241,"39419":7242,"39416":7243,"39425":7244,"39439":7245,"39429":7246,"39394":7247,"39449":7248,"39467":7249,"39479":7250,"39493":7251,"39490":7252,"39488":7253,"39491":7254,"39486":7255,"39509":7256,"39501":7257,"39515":7258,"39511":7259,"39519":7260,"39522":7261,"39525":7262,"39524":7263,"39529":7264,"39531":7265,"39530":7266,"39597":7267,"39600":7268,"39612":7269,"39616":7270,"39631":7271,"39633":7272,"39635":7273,"39636":7274,"39646":7275,"12221":7276,"39647":7276,"39650":7277,"39651":7278,"39654":7279,"39663":7280,"39659":7281,"39662":7282,"39668":7283,"39665":7284,"39671":7285,"39675":7286,"39686":7287,"39704":7288,"39706":7289,"39711":7290,"39714":7291,"39715":7292,"12222":7293,"39717":7293,"39719":7294,"39720":7295,"39721":7296,"39722":7297,"39726":7298,"12223":7299,"39727":7299,"39730":7300,"12224":7300,"39748":7301,"39747":7302,"39759":7303,"39757":7304,"39758":7305,"39761":7306,"39768":7307,"39796":7308,"39827":7309,"39811":7310,"39825":7311,"39830":7312,"39831":7313,"39839":7314,"39840":7315,"39848":7316,"39860":7317,"39872":7318,"39882":7319,"39865":7320,"39878":7321,"39887":7322,"39889":7323,"39890":7324,"39907":7325,"39906":7326,"39908":7327,"39892":7328,"39905":7329,"39994":7330,"39922":7331,"39921":7332,"39920":7333,"39957":7334,"39956":7335,"39945":7336,"39955":7337,"39948":7338,"39942":7339,"39944":7340,"39954":7341,"39946":7342,"39940":7343,"39982":7344,"39963":7345,"39973":7346,"39972":7347,"39969":7348,"39984":7349,"40007":7350,"39986":7351,"40006":7352,"39998":7353,"40026":7354,"40032":7355,"40039":7356,"40054":7357,"40056":7358,"40167":7359,"40172":7360,"40176":7361,"40201":7362,"40200":7363,"40171":7364,"40195":7365,"40198":7366,"40234":7367,"40230":7368,"40367":7369,"40227":7370,"40223":7371,"40260":7372,"40213":7373,"40210":7374,"40257":7375,"40255":7376,"40254":7377,"40262":7378,"40264":7379,"40285":7380,"40286":7381,"40292":7382,"40273":7383,"40272":7384,"40281":7385,"40306":7386,"40329":7387,"40327":7388,"40363":7389,"40303":7390,"40314":7391,"40346":7392,"40356":7393,"40361":7394,"40370":7395,"40388":7396,"40385":7397,"40379":7398,"40376":7399,"40378":7400,"40390":7401,"40399":7402,"40386":7403,"40409":7404,"40403":7405,"40440":7406,"40422":7407,"40429":7408,"40431":7409,"40445":7410,"40474":7411,"40475":7412,"40478":7413,"12228":7414,"40565":7414,"40569":7415,"40573":7416,"40577":7417,"40584":7418,"40587":7419,"40588":7420,"40594":7421,"40597":7422,"40593":7423,"40605":7424,"12230":7425,"40613":7425,"40617":7426,"40632":7427,"40618":7428,"40621":7429,"38753":7430,"40652":7431,"40654":7432,"40655":7433,"40656":7434,"40660":7435,"40668":7436,"40670":7437,"40669":7438,"40672":7439,"40677":7440,"40680":7441,"40687":7442,"40692":7443,"40694":7444,"40695":7445,"12235":7446,"40697":7446,"40699":7447,"40700":7448,"12236":7449,"40701":7449,"40711":7450,"40712":7451,"30391":7452,"40725":7453,"40737":7454,"40748":7455,"40766":7456,"40778":7457,"12241":7457,"40786":7458,"12242":7458,"40788":7459,"40803":7460,"40799":7461,"40800":7462,"40801":7463,"40806":7464,"40807":7465,"40812":7466,"40810":7467,"40823":7468,"40818":7469,"40822":7470,"40853":7471,"40860":7472,"12244":7472,"40864":7473,"12245":7473,"22575":7474,"27079":7475,"36953":7476,"29796":7477,"9472":7479,"9473":7480,"9474":7481,"9475":7482,"9476":7483,"9477":7484,"9478":7485,"9479":7486,"9480":7487,"9481":7488,"9482":7489,"9483":7490,"9484":7491,"9485":7492,"9486":7493,"9487":7494,"9488":7495,"9489":7496,"9490":7497,"9491":7498,"9492":7499,"9493":7500,"9494":7501,"9495":7502,"9496":7503,"9497":7504,"9498":7505,"9499":7506,"9500":7507,"9501":7508,"9502":7509,"9503":7510,"9504":7511,"9505":7512,"9506":7513,"9507":7514,"9508":7515,"9509":7516,"9510":7517,"9511":7518,"9512":7519,"9513":7520,"9514":7521,"9515":7522,"9516":7523,"9517":7524,"9518":7525,"9519":7526,"9520":7527,"9521":7528,"9522":7529,"9523":7530,"9524":7531,"9525":7532,"9526":7533,"9527":7534,"9528":7535,"9529":7536,"9530":7537,"9531":7538,"9532":7539,"9533":7540,"9534":7541,"9535":7542,"9536":7543,"9537":7544,"9538":7545,"9539":7546,"9540":7547,"9541":7548,"9542":7549,"9543":7550,"9544":7551,"9545":7552,"9546":7553,"9547":7554,"9312":7555,"9313":7556,"9314":7557,"9315":7558,"9316":7559,"9317":7560,"9318":7561,"9319":7562,"9320":7563,"9321":7564,"9322":7565,"9323":7566,"9324":7567,"9325":7568,"9326":7569,"9327":7570,"9328":7571,"9329":7572,"9330":7573,"9331":7574,"8544":7575,"8545":7576,"8546":7577,"8547":7578,"8548":7579,"8549":7580,"8550":7581,"8551":7582,"8552":7583,"8553":7584,"13129":7585,"13076":7586,"13133":7588,"13095":7590,"13110":7592,"13137":7593,"13069":7595,"13094":7596,"13099":7598,"13130":7599,"13212":7601,"13213":7602,"13214":7603,"13198":7604,"13199":7605,"13252":7606,"13217":7607,"12317":7608,"12319":7609,"8470":7610,"13261":7611,"12964":7613,"12965":7614,"12966":7615,"12967":7616,"12968":7617,"12849":7618,"12850":7619,"12857":7620,"13182":7621,"13181":7622,"13180":7623,"8750":7624,"8721":7625,"8735":7629,"8895":7630,"21854":7633,"167133":7641,"28976":7644,"40407":7646,"64054":7651,"22169":7654,"15694":7655,"20448":7660,"36544":7663,"194797":7665,"153716":7670,"32363":7671,"33606":7672,"167670":7673,"40572":7677,"26171":7680,"40628":7682,"26629":7687,"23650":7693,"194780":7695,"32353":7697,"64070":7700,"34083":7706,"37292":7707,"34796":7715,"25620":7724,"39506":7727,"64074":7732,"194692":7734,"31774":7739,"64016":7746,"25681":7747,"63980":7750,"22625":7751,"39002":7752,"194679":7754,"31153":7758,"28678":7760,"22218":7770,"21085":7774,"28497":7776,"37297":7777,"64106":7788,"38960":7795,"40629":7797,"33802":7807,"63939":7808,"63890":7809,"63891":7810,"63897":7811,"34847":7813,"194575":7814,"194771":7816,"194584":7817,"137754":7825,"23643":7826,"25890":7831,"26618":7834,"26766":7836,"148432":7838,"194848":7839,"34110":7861,"30562":7877,"65041":7887,"65042":7888,"65075":7890,"65073":7892,"65074":7893,"8285":7897,"65049":7897,"8282":7898,"65072":7898,"65077":7899,"65078":7900,"65081":7901,"65082":7902,"65095":7903,"65096":7904,"65079":7905,"65080":7906,"65087":7907,"65088":7908,"65085":7909,"65086":7910,"65089":7911,"65090":7912,"65091":7913,"65092":7914,"65083":7915,"65084":7916,"12436":7958,"12437":7959,"12438":7960,"22099":7963,"65508":8005,"65287":8006,"65282":8007,"9665":8009,"9655":8010,"8681":8011,"8679":8012,"8678":8013,"8680":8014,"9634":8015,"9831":8016,"9825":8017,"9828":8018,"9826":8019,"13216":8020,"13218":8021,"13220":8022,"13221":8023,"13207":8024,"8467":8025,"13208":8026,"13235":8027,"13234":8028,"13233":8029,"13232":8030,"13189":8031,"13190":8032,"13191":8033,"13259":8034,"13200":8035,"13268":8036,"13206":8037,"13090":8038,"13078":8039,"13080":8040,"13077":8041,"13059":8042,"13091":8043,"13143":8044,"13122":8045,"13113":8046,"13115":8047,"13056":8048,"13105":8049,"13127":8050,"13086":8051,"13098":8052,"13183":8054,"8481":8055,"9742":8056,"12342":8057,"12320":8058,"9352":8062,"9353":8063,"9354":8064,"9355":8065,"9356":8066,"9357":8067,"9358":8068,"9359":8069,"9360":8070,"9332":8071,"9333":8072,"9334":8073,"9335":8074,"9336":8075,"9337":8076,"9338":8077,"9339":8078,"9340":8079,"9341":8080,"9342":8081,"9343":8082,"9344":8083,"9345":8084,"9346":8085,"9347":8086,"9348":8087,"9349":8088,"9350":8089,"9351":8090,"12881":8091,"8560":8092,"8561":8093,"8562":8094,"8563":8095,"8564":8096,"8565":8097,"8566":8098,"8567":8099,"8568":8100,"8569":8101,"12882":8102,"12883":8103,"12884":8104,"12885":8105,"12886":8106,"12887":8107,"12888":8108,"12889":8109,"12890":8110,"12891":8111,"9372":8112,"9373":8113,"9374":8114,"9375":8115,"9376":8116,"9377":8117,"9378":8118,"9379":8119,"9380":8120,"9381":8121,"9382":8122,"9383":8123,"9384":8124,"9385":8125,"9386":8126,"9387":8127,"9388":8128,"9389":8129,"9390":8130,"9391":8131,"9392":8132,"9393":8133,"9394":8134,"9395":8135,"9396":8136,"9397":8137,"12867":8138,"12861":8139,"12863":8140,"12852":8141,"12856":8142,"12851":8143,"12860":8144,"12866":8145,"12862":8146,"12854":8147,"12853":8148,"12859":8149,"12864":8150,"12858":8151,"12976":8152,"12973":8153,"12969":8154,"12975":8155,"12948":8156,"12970":8157,"12952":8158,"12971":8159,"12946":8160,"12945":8161,"12947":8162,"12972":8163,"12974":8164,"12950":8165,"9131":8174,"9132":8175,"9133":8176,"9127":8178,"9128":8179,"9129":8180,"13260":8182,"13061":8183,"13215":8186,"13219":8187,"13222":8188,"12958":8191,"13192":8192,"13193":8193,"13256":8194,"8749":8195,"12848":8197,"12842":8198,"12843":8199,"12844":8200,"12845":8201,"12846":8202,"12847":8203,"12855":8204,"12865":8205,"10145":8206,"11013":8207,"11014":8208,"11015":8209,"9673":8210,"9824":8211,"9829":8212,"9827":8213,"9830":8214,"9728":8215,"9729":8216,"9730":8217,"9731":8218,"9758":8219,"9756":8220,"9757":8221,"9759":8222,"12953":8223,"9450":8224,"8554":8225,"8555":8226,"9601":8230,"9602":8231,"9603":8232,"9604":8233,"9605":8234,"9606":8235,"9607":8236,"9608":8237,"9615":8238,"9614":8239,"9613":8240,"9612":8241,"9611":8242,"9610":8243,"9609":8244,"9620":8245,"9621":8246,"9581":8247,"9582":8248,"9584":8249,"9583":8250,"9552":8251,"9566":8252,"9578":8253,"9569":8254,"9698":8255,"9699":8256,"9701":8257,"9700":8258,"9585":8261,"9586":8262,"9587":8263,"65040":8268,"20956":8284,"29081":8285,"10102":8286,"10103":8287,"10104":8288,"10105":8289,"10106":8290,"10107":8291,"10108":8292,"10109":8293,"10110":8294,"8570":8298,"8571":8299,"8575":8303,"8458":8304,"8457":8305,"8507":8307,"12292":8308,"8646":8309,"8644":8310,"8645":8311,"12535":8313,"12536":8314,"12537":8315,"12538":8316,"12957":8319,"13179":8323,"13107":8327,"13134":8328,"32394":8359,"35100":8360,"37704":8361,"37512":8362,"34012":8363,"20425":8364,"28859":8365,"26161":8366,"26824":8367,"37625":8368,"26363":8369,"24389":8370,"12033":8371,"20008":8371,"20193":8372,"20220":8373,"20224":8374,"20227":8375,"20281":8376,"20310":8377,"20370":8378,"20362":8379,"20378":8380,"20372":8381,"20429":8382,"20544":8383,"20514":8384,"20479":8385,"20510":8386,"20550":8387,"20592":8388,"20546":8389,"20628":8390,"20724":8391,"20696":8392,"20810":8393,"20836":8394,"20893":8395,"20926":8396,"20972":8397,"21013":8398,"21148":8399,"21158":8400,"21184":8401,"21211":8402,"21248":8403,"21284":8405,"21362":8406,"21395":8407,"21426":8408,"21469":8409,"64014":8410,"21660":8411,"21642":8412,"21673":8413,"21759":8414,"21894":8415,"22361":8416,"22373":8417,"22444":8418,"22472":8419,"22471":8420,"64015":8421,"22686":8423,"22706":8424,"22795":8425,"22867":8426,"22875":8427,"22877":8428,"22883":8429,"22948":8430,"22970":8431,"23382":8432,"23488":8433,"29999":8434,"23512":8435,"23582":8437,"23718":8438,"23738":8439,"23797":8440,"23847":8441,"23891":8442,"23874":8444,"23917":8445,"23992":8446,"23993":8447,"24016":8448,"24353":8449,"24372":8450,"24423":8451,"24503":8452,"24542":8453,"24669":8454,"24709":8455,"24714":8456,"24798":8457,"24789":8458,"24864":8459,"24818":8460,"24849":8461,"24887":8462,"24880":8463,"24984":8464,"25107":8465,"25254":8466,"25589":8467,"25696":8468,"25757":8469,"25806":8470,"25934":8471,"26112":8472,"26133":8473,"26121":8474,"26158":8475,"26148":8477,"26213":8478,"26199":8479,"26201":8480,"64018":8481,"26227":8482,"26265":8483,"26272":8484,"26290":8485,"26303":8486,"26362":8487,"26382":8488,"26470":8490,"26555":8491,"26706":8492,"26560":8493,"26692":8495,"26831":8496,"64019":8497,"26984":8498,"64020":8499,"27032":8500,"27106":8501,"27184":8502,"27243":8503,"27206":8504,"27251":8505,"27262":8506,"27362":8507,"27364":8508,"27606":8509,"27711":8510,"27740":8511,"27782":8512,"27759":8513,"27866":8514,"27908":8515,"28039":8516,"28015":8517,"28054":8518,"28076":8519,"28111":8520,"28152":8521,"28146":8522,"28156":8523,"28217":8524,"28252":8525,"28199":8526,"28220":8527,"28351":8528,"28552":8529,"28597":8530,"28661":8531,"28677":8532,"28679":8533,"28712":8534,"28805":8535,"28843":8536,"28943":8537,"28932":8538,"29020":8539,"28998":8540,"28999":8541,"29121":8543,"29182":8544,"29361":8545,"29374":8546,"29476":8547,"64022":8548,"29559":8549,"29629":8550,"29641":8551,"29654":8552,"29667":8553,"29650":8554,"29703":8555,"29685":8556,"29734":8557,"29738":8558,"29737":8559,"29742":8560,"29833":8562,"29855":8563,"29953":8564,"30063":8565,"30338":8566,"30364":8567,"30366":8568,"30363":8569,"30374":8570,"64023":8571,"30534":8572,"21167":8573,"30753":8574,"30798":8575,"30820":8576,"30842":8577,"31024":8578,"64024":8579,"64025":8580,"64026":8581,"31124":8582,"64027":8583,"31131":8584,"31441":8585,"31463":8586,"64028":8587,"31467":8588,"31646":8589,"64029":8590,"32072":8591,"32183":8593,"32160":8594,"32214":8595,"32338":8596,"32583":8597,"32673":8598,"64030":8599,"33537":8600,"33634":8601,"33663":8602,"33735":8603,"33782":8604,"33864":8605,"33972":8606,"34131":8607,"34137":8608,"34155":8609,"64031":8610,"34224":8611,"64032":8612,"64033":8613,"34823":8614,"35061":8615,"35346":8616,"35383":8617,"35449":8618,"35495":8619,"35518":8620,"35551":8621,"64034":8622,"35574":8623,"35667":8624,"35711":8625,"36080":8626,"36084":8627,"36114":8628,"36214":8629,"64035":8630,"36559":8631,"64037":8633,"36967":8634,"37086":8635,"64038":8636,"37141":8637,"37159":8638,"37338":8639,"37335":8640,"37342":8641,"37357":8642,"37358":8643,"37348":8644,"37349":8645,"37382":8646,"37392":8647,"37386":8648,"37434":8649,"37440":8650,"37436":8651,"37454":8652,"37465":8653,"37457":8654,"37433":8655,"37479":8656,"37543":8657,"37495":8658,"37496":8659,"37607":8660,"37591":8661,"37593":8662,"37584":8663,"64039":8664,"37589":8665,"37600":8666,"37587":8667,"37669":8668,"37665":8669,"37627":8670,"64040":8671,"37662":8672,"37631":8673,"37661":8674,"37634":8675,"37744":8676,"37719":8677,"37796":8678,"37830":8679,"37854":8680,"37880":8681,"37937":8682,"37957":8683,"37960":8684,"38290":8685,"64041":8687,"38557":8688,"38575":8689,"38707":8690,"38715":8691,"38723":8692,"38733":8693,"38735":8694,"12205":8695,"38737":8695,"38999":8697,"39013":8698,"64042":8699,"64043":8700,"39207":8701,"64044":8702,"39326":8703,"39502":8704,"39641":8705,"39644":8706,"39797":8707,"39794":8708,"39823":8709,"39857":8710,"39867":8711,"39936":8712,"40304":8713,"40299":8714,"64045":8715,"40473":8716,"40657":8717,"8364":9354,"8486":9355,"64256":9358,"64259":9359,"64260":9360,"257":9361,"299":9362,"363":9363,"275":9364,"333":9365,"256":9366,"298":9367,"362":9368,"274":9369,"332":9370,"8539":9371,"8540":9372,"8541":9373,"8542":9374,"8531":9375,"8532":9376,"8304":9377,"8308":9378,"8309":9379,"8310":9380,"8311":9381,"8312":9382,"8313":9383,"8320":9384,"8321":9385,"8322":9386,"8323":9387,"8324":9388,"8325":9389,"8326":9390,"8327":9391,"8328":9392,"8329":9393,"461":9394,"282":9395,"7868":9397,"463":9398,"296":9400,"465":9401,"467":9403,"366":9404,"360":9405,"462":9406,"283":9407,"7869":9409,"464":9410,"297":9412,"466":9413,"468":9415,"367":9416,"361":9417,"593":9418,"8049":9419,"8048":9420,"509":9421,"596":9423,"601":9426,"602":9429,"603":9432,"8051":9433,"8050":9434,"567":9435,"331":9436,"629":9437,"652":9438,"658":9441,"643":9442,"720":9443,"8534":9785,"8535":9786,"8536":9787,"8537":9788,"8538":9789,"12832":10126,"12833":10127,"12834":10128,"12835":10129,"12836":10130,"12837":10131,"12838":10132,"12839":10133,"12840":10134,"12841":10135,"12892":10244,"12893":10245,"12894":10246,"12895":10247,"12977":10248,"12978":10249,"12979":10250,"12980":10251,"12981":10252,"12982":10253,"12983":10254,"12984":10255,"12985":10256,"12986":10257,"12987":10258,"12988":10259,"12989":10260,"12990":10261,"12991":10262,"9424":10313,"9425":10314,"9426":10315,"9427":10316,"9428":10317,"9429":10318,"9430":10319,"9431":10320,"9432":10321,"9433":10322,"9434":10323,"9435":10324,"9436":10325,"9437":10326,"9438":10327,"9439":10328,"9440":10329,"9441":10330,"9442":10331,"9443":10332,"9444":10333,"9445":10334,"9446":10335,"9447":10336,"9448":10337,"9449":10338,"9398":10339,"9399":10340,"9400":10341,"9401":10342,"9402":10343,"9403":10344,"9404":10345,"9405":10346,"9406":10347,"9407":10348,"9408":10349,"9409":10350,"9410":10351,"9411":10352,"9412":10353,"9413":10354,"9414":10355,"9415":10356,"9416":10357,"9417":10358,"9418":10359,"9419":10360,"9420":10361,"9421":10362,"9422":10363,"9423":10364,"13008":10413,"13009":10414,"13010":10415,"13011":10416,"13012":10417,"13013":10418,"13014":10419,"13015":10420,"13016":10421,"13017":10422,"13018":10423,"13019":10424,"13020":10425,"13021":10426,"13022":10427,"13023":10428,"13024":10429,"13025":10430,"13026":10431,"13027":10432,"13028":10433,"13029":10434,"13030":10435,"13031":10436,"13032":10437,"13033":10438,"13034":10439,"13035":10440,"13036":10441,"13037":10442,"13038":10443,"13039":10444,"13040":10445,"13041":10446,"13042":10447,"13043":10448,"13044":10449,"13045":10450,"13046":10451,"13047":10452,"13048":10453,"13049":10454,"13050":10455,"13051":10456,"13052":10457,"13053":10458,"13054":10459,"12928":10461,"12929":10462,"12930":10463,"12931":10464,"12932":10465,"12933":10466,"12934":10467,"12935":10468,"12936":10469,"12937":10470,"12944":10471,"12938":10472,"12939":10473,"12940":10474,"12941":10475,"12942":10476,"12943":10477,"12959":10479,"12960":10486,"12961":10487,"12955":10488,"12954":10489,"12963":10490,"12962":10491,"12951":10492,"12956":10494,"12949":10495,"9676":10502,"9471":10503,"10111":10514,"9451":10515,"9452":10516,"9453":10517,"9454":10518,"9455":10519,"9456":10520,"9457":10521,"9458":10522,"9459":10523,"9460":10524,"8414":11035,"13274":11851,"8448":11855,"13250":11856,"8453":11859,"13169":11861,"13197":11864,"13211":11865,"13271":11869,"13272":11870,"13057":11874,"13058":11875,"13060":11876,"13062":11877,"13064":11879,"13063":11881,"13066":11882,"13065":11884,"13067":11886,"13068":11888,"13070":11889,"13071":11890,"13072":11891,"13073":11892,"13074":11893,"13075":11894,"13079":11896,"13081":11898,"13082":11900,"13083":11901,"13084":11902,"13085":11903,"13087":11904,"13088":11905,"13089":11906,"13092":11907,"13093":11909,"13096":11912,"13097":11913,"13101":11915,"13102":11918,"13103":11919,"13104":11920,"13106":11921,"13108":11924,"13109":11925,"13116":11926,"13111":11930,"13112":11932,"13114":11933,"13117":11934,"13121":11935,"13118":11936,"13119":11937,"13120":11938,"13123":11939,"13124":11940,"13125":11941,"13126":11942,"13128":11943,"13131":11944,"13132":11945,"13135":11946,"13136":11947,"13138":11950,"13140":11951,"13139":11954,"13141":11955,"13142":11956,"8501":12089,"976":12090,"8714":12091,"8463":12092,"981":12094,"987":12095,"977":12096,"9832":12098,"9833":12099,"9836":12100,"12347":12106,"12339":12108,"12340":12109,"12341":12110,"8252":12111,"8265":12112,"8723":12118,"8771":12120,"8818":12121,"8819":12122,"12312":12129,"12313":12130,"65375":12131,"65376":12132,"9115":12143,"9117":12144,"9118":12145,"9120":12146,"9121":12151,"9123":12152,"9124":12153,"9126":12154,"9116":12167,"9119":12167,"9122":12167,"9125":12167,"9130":12167,"9986":12176,"12349":12179,"12447":12181,"8709":12184,"8864":12185,"8854":12186,"8856":12187,"8853":12188,"8855":12189,"9888":12192,"9664":12194,"9654":12195,"8656":12200,"8596":12201,"8600":12202,"8601":12203,"8598":12204,"8599":12205,"8652":12206,"8651":12207,"12336":12218,"8967":12219,"10048":12228,"10047":12229,"9643":12237,"9642":12239,"10010":12241,"9702":12254,"10070":12259,"65093":12639,"65094":12640,"64103":13320,"64098":13321,"32227":13322,"12232":13323,"40643":13323,"28331":13324,"64082":13325,"64061":13326,"64069":13327,"64062":13328,"27114":13329,"28212":13330,"64096":13331,"64071":13332,"64056":13333,"64066":13334,"64078":13335,"34395":13336,"64105":13337,"64052":13338,"64099":13339,"25581":13340,"25802":13341,"30799":13342,"64084":13343,"63856":13344,"64077":13345,"64097":13346,"64072":13347,"64076":13348,"64091":13349,"64092":13350,"64081":13351,"64067":13352,"64090":13353,"28041":13354,"29376":13355,"194885":13357,"64086":13358,"64080":13359,"64049":13360,"64059":13361,"24034":13362,"64063":13363,"64101":13364,"21373":13365,"64055":13366,"64095":13367,"24501":13368,"64064":13369,"64083":13371,"64085":13373,"64104":13374,"64068":13375,"64089":13376,"26202":13377,"64053":13378,"64075":13379,"64100":13380,"64065":13381,"64048":13382,"64057":13384,"64051":13385,"27493":13386,"64058":13387,"27599":13388,"64050":13389,"25150":13390,"64079":13391,"63773":13392,"63964":13393,"63798":13394,"28122":13395,"63952":13396,"26310":13397,"27511":13398,"64087":13399,"37706":13400,"37636":13402,"133390":13523,"35999":13644,"11991":13645,"11965":13646,"158033":13646,"37555":13652,"38321":13653,"194812":13656,"194965":13670,"194794":13679,"26478":13681,"11974":13682,"194594":13684,"156194":13691,"13314":13698,"26083":13701,"134071":13706,"171339":13717,"194611":13719,"24378":13720,"11945":13729,"20465":13731,"63753":13739,"11964":13747,"194732":13750,"26435":13751,"133732":13755,"35329":13756,"25142":13757,"21555":13760,"23067":13761,"25221":13765,"194819":13768,"21567":13775,"27506":13785,"29986":13790,"19256":13791,"24063":13794,"194827":13801,"29626":13802,"134047":13803,"194600":13807,"194849":13809,"194623":13815,"194675":13832,"11916":13833,"11917":13834,"23577":13835,"131083":13839,"23426":13840,"194642":13841,"11997":13847,"11999":13848,"39136":13848,"11998":13849,"169599":13849,"14221":13850,"11927":13852,"14586":13852,"194887":13854,"11909":13856,"20155":13856,"131490":13857,"13599":13865,"194738":13867,"11971":13870,"35200":13870,"31237":13875,"35498":13880,"32085":13882,"28568":13884,"25591":13892,"30246":13893,"11978":13898,"163767":13898,"146686":13904,"13351":13910,"33067":13913,"194842":13916,"11950":13922,"154327":13922,"194714":13928,"194831":13932,"22305":13952,"135741":13953,"194586":13954,"64003":13956,"21534":13964,"15240":13965,"20839":13966,"63839":13971,"20023":13981,"11946":13995,"150804":13995,"24421":13996,"23020":13997,"194658":13998,"24217":14000,"13416":14047,"40884":14048,"21200":14056,"38376":14061,"26625":14066,"195024":14068,"195039":14069,"153215":14075,"11959":14078,"36534":14083,"63775":14084,"63875":14088,"31867":14094,"63906":14095,"63898":14097,"11961":14099,"32770":14099,"157360":14100,"11911":14105,"132648":14105,"131210":14108,"133508":14109,"194604":14109,"11915":14110,"13630":14110,"21589":14115,"22841":14117,"23414":14120,"194669":14121,"23572":14122,"14306":14123,"23782":14124,"20040":14126,"194742":14129,"158105":14134,"25371":14135,"26211":14138,"194779":14140,"27126":14143,"27014":14144,"27596":14148,"28183":14150,"27818":14153,"11942":14157,"20012":14157,"29935":14160,"30069":14161,"30188":14162,"30286":14163,"16305":14164,"30570":14165,"30633":14166,"31571":14173,"16996":14176,"194924":14180,"32328":14183,"132415":14188,"11955":14189,"156266":14189,"33089":14194,"17491":14195,"33401":14197,"11966":14197,"64094":14198,"11967":14198,"64093":14199,"11968":14199,"20857":14201,"33626":14202,"17701":14206,"34292":14208,"131248":14209,"34429":14214,"13358":14216,"35014":14217,"18406":14224,"36808":14233,"166279":14253,"167447":14256,"38969":14259,"39432":14266,"39903":14271,"148206":14282,"21385":14288,"64017":14290,"194785":14291,"146622":14293,"132625":14294,"19972":14296,"19973":14297,"19999":14298,"20011":14299,"20015":14300,"20016":14301,"20032":14302,"20033":14303,"20036":14304,"11907":14305,"20058":14305,"20095":14306,"20109":14307,"20118":14308,"20153":14309,"20176":14310,"20192":14311,"20221":14312,"20223":14313,"20235":14314,"20245":14315,"20320":14316,"20283":14317,"20297":14318,"20308":14319,"20346":14320,"20349":14321,"20350":14322,"20375":14323,"20414":14324,"20431":14325,"20477":14326,"20480":14327,"20481":14328,"20496":14329,"20507":14330,"20519":14331,"20526":14332,"20567":14333,"20582":14334,"20586":14335,"20539":14336,"20623":14337,"20630":14338,"20636":14339,"20684":14340,"20710":14341,"20713":14342,"20719":14343,"20744":14344,"20747":14345,"20752":14346,"20763":14347,"20766":14348,"20831":14349,"20897":14350,"20924":14351,"20974":14353,"20980":14354,"20993":14355,"11913":14356,"20994":14356,"21011":14357,"21065":14358,"21089":14359,"21094":14360,"21139":14361,"21192":14362,"21232":14363,"21258":14364,"21259":14365,"21310":14366,"21324":14367,"21323":14368,"21345":14369,"21356":14370,"21419":14371,"21466":14372,"21478":14373,"21493":14374,"21543":14375,"21581":14376,"21606":14377,"21611":14378,"21620":14379,"21645":14380,"21654":14381,"21665":14382,"21677":14383,"21689":14384,"21695":14385,"21702":14386,"21709":14387,"21774":14388,"21803":14389,"21813":14390,"21834":14391,"21856":14392,"21896":14394,"21902":14395,"22024":14396,"22030":14397,"22031":14398,"22071":14399,"22079":14400,"22089":14401,"22091":14402,"22095":14403,"22118":14404,"22121":14405,"22127":14406,"22129":14407,"22130":14408,"22165":14409,"22170":14410,"22188":14411,"22189":14412,"22193":14413,"22217":14414,"22237":14415,"22244":14416,"22282":14417,"22293":14418,"22307":14419,"22319":14420,"22323":14421,"22324":14422,"22348":14423,"22384":14424,"22412":14425,"22428":14426,"22456":14427,"22502":14428,"22509":14429,"22517":14430,"22518":14431,"22527":14432,"22537":14433,"22560":14434,"22578":14435,"22652":14436,"22656":14437,"22697":14438,"22734":14439,"22736":14440,"22740":14441,"22746":14442,"22761":14443,"22796":14444,"22820":14445,"22831":14446,"22881":14447,"22893":14448,"22986":14449,"22994":14450,"23005":14451,"23011":14452,"23012":14453,"23044":14454,"23052":14455,"23075":14456,"23111":14457,"23125":14458,"23139":14459,"23149":14460,"23166":14461,"23198":14462,"23207":14463,"23212":14464,"23219":14465,"23264":14466,"23296":14467,"23321":14468,"23333":14469,"23341":14470,"23361":14471,"23420":14472,"23422":14473,"23423":14474,"23434":14475,"11919":14476,"23587":14476,"23595":14477,"23600":14478,"23651":14479,"23657":14480,"23676":14481,"23755":14482,"23762":14483,"23796":14484,"23844":14485,"23846":14486,"23875":14487,"23878":14488,"23882":14489,"23954":14490,"23956":14491,"23961":14492,"23968":14493,"24024":14494,"24032":14495,"24056":14496,"24064":14497,"24082":14498,"24084":14499,"24085":14500,"24088":14501,"24110":14502,"24152":14503,"24171":14504,"24172":14505,"24232":14506,"24234":14507,"24254":14508,"24255":14509,"24274":14511,"24327":14512,"24334":14513,"24348":14514,"24349":14515,"24354":14516,"24360":14517,"24374":14518,"24379":14519,"24384":14520,"12089":14521,"24400":14521,"24408":14522,"24420":14523,"24457":14524,"24476":14525,"24487":14526,"24484":14527,"24495":14528,"24504":14529,"11926":14530,"24516":14530,"24521":14531,"24545":14532,"24553":14533,"24557":14534,"24572":14535,"24599":14536,"24602":14537,"24627":14538,"24673":14539,"24703":14540,"24734":14541,"24740":14542,"24752":14543,"24779":14544,"24795":14545,"24824":14546,"24850":14547,"24851":14548,"24852":14549,"24860":14550,"24956":14551,"24973":14552,"24991":14553,"25000":14554,"25026":14555,"25055":14556,"25109":14557,"25129":14558,"25155":14559,"25158":14560,"11928":14561,"25164":14561,"25169":14562,"25174":14563,"25284":14564,"25340":14565,"25354":14566,"25357":14567,"25368":14568,"25401":14569,"25410":14570,"25411":14571,"25445":14572,"25460":14573,"25469":14574,"25476":14575,"25479":14576,"25488":14577,"25502":14578,"25553":14579,"25564":14580,"25609":14581,"25616":14582,"25634":14583,"25684":14584,"25691":14585,"25709":14586,"25723":14587,"25790":14588,"25791":14589,"25829":14590,"25847":14591,"25851":14592,"25860":14593,"25878":14594,"25881":14595,"25927":14596,"25959":14597,"25985":14598,"25989":14599,"26050":14600,"26096":14601,"26098":14602,"26156":14603,"26188":14604,"26203":14605,"26204":14606,"26209":14607,"26219":14608,"26276":14610,"26312":14611,"26348":14612,"26373":14613,"26387":14614,"26419":14615,"26440":14616,"26444":14617,"26486":14618,"26491":14619,"26544":14620,"26546":14621,"26617":14622,"26583":14623,"26585":14624,"26608":14625,"26668":14626,"26672":14627,"26673":14628,"26715":14629,"26738":14630,"26741":14631,"26746":14632,"26756":14633,"26789":14634,"26802":14635,"26832":14636,"26838":14637,"26856":14638,"26861":14639,"26864":14640,"26865":14641,"26876":14642,"26897":14643,"26899":14644,"26933":14645,"26939":14646,"26967":14647,"26979":14648,"26994":14649,"27007":14650,"27008":14651,"27046":14652,"27053":14653,"27063":14654,"27094":14655,"27095":14656,"27137":14657,"27151":14658,"27157":14659,"27176":14660,"27188":14661,"27198":14662,"27205":14663,"27216":14664,"27217":14665,"27222":14666,"27227":14667,"27267":14668,"27273":14669,"27281":14670,"27293":14671,"27294":14672,"27295":14673,"27356":14674,"27367":14675,"27372":14676,"27422":14677,"27428":14678,"27445":14679,"27462":14680,"27478":14681,"27488":14682,"27522":14683,"27582":14684,"27617":14685,"27633":14686,"27664":14687,"27699":14688,"27701":14689,"11937":14689,"11938":14690,"27737":14691,"27766":14692,"27771":14693,"27781":14694,"27797":14695,"27804":14696,"27856":14697,"27860":14698,"27862":14699,"27872":14700,"27883":14701,"27884":14702,"27886":14703,"27914":14704,"27918":14705,"27921":14706,"27950":14707,"27991":14708,"27998":14709,"28005":14710,"28034":14711,"28095":14712,"28100":14713,"28106":14714,"28118":14715,"28137":14716,"28194":14717,"28241":14718,"28359":14719,"28362":14720,"28366":14721,"28413":14722,"28442":14723,"28458":14724,"28463":14725,"28467":14726,"28506":14727,"28510":14728,"28514":14729,"28541":14730,"28555":14731,"28557":14732,"28562":14733,"28564":14734,"28570":14735,"28583":14736,"28584":14737,"28598":14738,"28634":14739,"28638":14740,"28729":14742,"28732":14743,"28756":14745,"28765":14746,"28766":14747,"28772":14748,"11939":14749,"28780":14749,"28798":14750,"28801":14751,"28821":14752,"28855":14753,"28883":14754,"28884":14755,"28888":14756,"28892":14757,"28935":14758,"28960":14759,"28977":14760,"29002":14761,"29010":14762,"29024":14763,"29049":14764,"29074":14765,"29131":14767,"29139":14768,"29142":14769,"29184":14770,"29213":14771,"29227":14772,"29240":14773,"29249":14774,"29267":14775,"29269":14776,"29270":14777,"29276":14778,"29325":14779,"11944":14780,"29357":14780,"29364":14781,"29383":14782,"29435":14783,"29444":14784,"29445":14785,"29480":14786,"29489":14787,"29507":14788,"29548":14789,"29564":14790,"29571":14791,"29573":14792,"29574":14793,"29589":14794,"29598":14795,"29599":14796,"29600":14797,"29606":14798,"29611":14799,"29621":14800,"29623":14801,"29628":14802,"29647":14803,"29657":14804,"29673":14805,"29684":14806,"29693":14807,"29700":14808,"29706":14809,"29722":14810,"29723":14811,"29732":14812,"29736":14813,"29740":14814,"29743":14815,"29744":14816,"29745":14817,"29753":14818,"29764":14819,"29767":14820,"29771":14821,"29773":14822,"29777":14823,"29783":14824,"29798":14825,"29803":14826,"29809":14827,"29824":14828,"29829":14829,"29830":14830,"29831":14831,"29840":14832,"29848":14833,"29852":14834,"29856":14835,"29859":14836,"29864":14837,"29867":14838,"29877":14839,"29887":14840,"29896":14841,"29914":14842,"29918":14843,"30030":14844,"30073":14845,"30081":14846,"30096":14847,"12135":14848,"30098":14848,"30099":14849,"30132":14850,"30180":14851,"30201":14852,"30208":14853,"30218":14854,"30229":14855,"30230":14856,"30233":14857,"30238":14858,"30253":14859,"30261":14860,"30275":14861,"30283":14862,"30309":14863,"30317":14864,"30319":14865,"30321":14866,"30324":14867,"30372":14868,"30373":14869,"30405":14870,"30412":14871,"30444":14872,"30460":14873,"30516":14874,"30518":14875,"30556":14876,"30559":14877,"30560":14878,"30578":14879,"30589":14880,"30613":14881,"30634":14882,"30694":14883,"30704":14884,"30708":14885,"30726":14886,"30754":14887,"30765":14888,"30766":14889,"30768":14890,"30773":14891,"30824":14892,"30878":14893,"30920":14894,"30924":14895,"30926":14896,"30948":14897,"30944":14898,"30945":14899,"30962":14900,"30967":14901,"30971":14902,"31025":14903,"11949":14905,"31035":14905,"31037":14906,"31045":14907,"31067":14908,"31068":14909,"31115":14910,"31126":14911,"31128":14912,"12145":14913,"31160":14913,"31163":14914,"31178":14915,"31194":14916,"31235":14917,"31241":14918,"31249":14919,"31262":14920,"31277":14921,"31289":14922,"31301":14923,"31308":14924,"31325":14925,"31341":14927,"31352":14928,"31392":14929,"31395":14930,"31411":14931,"31419":14932,"31420":14933,"31430":14934,"31495":14935,"31508":14936,"31527":14937,"31537":14938,"31559":14939,"31566":14940,"31584":14941,"31593":14942,"31597":14943,"31602":14944,"31633":14945,"31663":14946,"31703":14947,"31705":14948,"31755":14949,"31759":14950,"31776":14951,"31782":14952,"31793":14953,"31798":14954,"31825":14955,"31833":14956,"31847":14957,"31854":14958,"31856":14959,"31932":14960,"31935":14961,"31944":14962,"31945":14963,"31959":14964,"31961":14965,"31965":14966,"31979":14967,"32007":14968,"32008":14969,"32009":14970,"32019":14971,"32029":14972,"32035":14973,"32065":14974,"32083":14975,"32089":14976,"32093":14977,"32122":14978,"32134":14979,"32139":14980,"32140":14981,"32204":14982,"32235":14983,"32241":14984,"32249":14985,"32264":14986,"32273":14987,"32277":14988,"32288":14989,"32327":14990,"32354":14991,"32366":14992,"32371":14993,"32397":14994,"32401":14995,"32408":14996,"32580":14997,"32591":14998,"11947":14999,"11954":14999,"32594":14999,"11953":15000,"32595":15000,"32609":15001,"32657":15002,"32703":15003,"32718":15004,"32735":15005,"32741":15006,"32748":15007,"32750":15008,"32751":15009,"32762":15010,"32782":15011,"32785":15012,"32788":15013,"32804":15014,"32806":15015,"32826":15016,"32828":15017,"32864":15018,"32881":15019,"32885":15020,"32926":15021,"32934":15022,"32939":15023,"32983":15024,"32984":15025,"33046":15026,"33048":15027,"33082":15028,"33098":15029,"33100":15030,"33153":15031,"33156":15032,"33204":15033,"33231":15034,"33273":15035,"33283":15036,"33313":15037,"33330":15038,"33332":15039,"33350":15040,"33355":15041,"33359":15042,"33422":15043,"33454":15044,"33463":15045,"33470":15046,"33478":15047,"33534":15048,"33603":15049,"33617":15050,"33621":15051,"33670":15052,"33677":15053,"33682":15054,"33688":15055,"33705":15056,"33727":15057,"33728":15058,"33770":15059,"33807":15060,"33809":15061,"33866":15062,"33910":15063,"33960":15064,"33967":15065,"33984":15066,"33986":15067,"34032":15068,"34045":15069,"34060":15070,"34100":15071,"34142":15072,"34191":15073,"34231":15074,"34254":15075,"34221":15076,"34322":15077,"34345":15078,"34386":15079,"34403":15080,"34412":15081,"34415":15082,"34426":15083,"34445":15084,"34449":15085,"34456":15086,"34471":15087,"34472":15088,"34554":15089,"34557":15090,"34571":15091,"34579":15092,"34585":15093,"34590":15094,"34600":15095,"34622":15096,"34673":15097,"34696":15098,"34713":15099,"34732":15100,"34733":15101,"34741":15102,"34774":15103,"34795":15104,"34797":15105,"34817":15106,"34822":15108,"34827":15109,"34836":15110,"34844":15111,"34902":15112,"34911":15113,"11970":15114,"34916":15114,"34968":15115,"34986":15116,"35005":15117,"35006":15118,"35018":15119,"35026":15120,"35035":15121,"35056":15122,"35057":15123,"35078":15124,"35096":15125,"35097":15126,"35098":15127,"35111":15128,"35120":15129,"35134":15130,"35195":15131,"35284":15132,"35286":15133,"35301":15134,"35313":15135,"35335":15136,"35343":15137,"35349":15138,"35362":15139,"35406":15140,"35455":15141,"35572":15142,"35615":15143,"35639":15144,"35651":15145,"35652":15146,"35668":15147,"35740":15148,"35742":15149,"35911":15150,"35924":15151,"35955":15152,"36004":15153,"36057":15154,"36065":15155,"36088":15156,"36094":15157,"36123":15158,"36201":15159,"36204":15160,"36228":15161,"36237":15162,"36245":15163,"36262":15164,"36294":15165,"36302":15166,"36324":15167,"36332":15168,"36384":15169,"36427":15170,"36460":15171,"36464":15172,"36474":15173,"36498":15174,"36526":15175,"36531":15176,"36561":15177,"36564":15178,"36601":15179,"36631":15180,"36662":15181,"36774":15182,"12193":15183,"36789":15183,"11981":15184,"36790":15184,"36832":15186,"36836":15187,"36854":15188,"36866":15189,"36908":15190,"36932":15191,"37000":15192,"37013":15193,"37017":15194,"37019":15195,"37026":15196,"37044":15197,"37079":15198,"37085":15199,"37108":15200,"37143":15201,"37148":15202,"37169":15203,"37178":15204,"37181":15205,"37192":15206,"37211":15207,"37217":15208,"37220":15209,"37262":15210,"37278":15211,"37288":15212,"37293":15213,"37294":15214,"37298":15215,"37308":15216,"37360":15217,"37367":15218,"37371":15219,"37383":15220,"37416":15221,"37427":15222,"37432":15223,"37443":15224,"37447":15225,"37455":15226,"37472":15227,"37570":15228,"37579":15229,"37580":15230,"37599":15231,"37645":15232,"37653":15233,"37663":15234,"37671":15235,"37703":15236,"37714":15237,"37738":15239,"37741":15240,"37787":15241,"37818":15242,"37801":15243,"37825":15244,"37834":15245,"37858":15246,"37882":15247,"37885":15248,"37903":15249,"37940":15250,"37951":15251,"37973":15252,"37995":15253,"38002":15254,"11986":15255,"38264":15255,"38310":15256,"38313":15257,"38324":15259,"38333":15260,"38362":15261,"11983":15262,"11990":15262,"38429":15262,"38465":15263,"38488":15264,"38532":15265,"38564":15266,"38569":15267,"38610":15268,"195060":15269,"38622":15270,"38633":15271,"38641":15272,"38658":15273,"38665":15274,"38746":15275,"38755":15276,"38766":15277,"38771":15278,"38810":15279,"38818":15280,"38837":15281,"38838":15282,"38873":15283,"38878":15284,"38900":15285,"38922":15286,"38926":15287,"38942":15288,"38947":15289,"38955":15290,"38974":15291,"38994":15292,"38995":15293,"39001":15294,"39020":15295,"39096":15296,"39098":15297,"39103":15298,"39112":15299,"39141":15300,"39218":15301,"39219":15302,"39232":15303,"39245":15304,"39260":15305,"39263":15306,"39345":15307,"39353":15308,"39354":15309,"39369":15310,"39426":15311,"39446":15312,"39460":15313,"39463":15314,"39469":15315,"39470":15316,"39478":15317,"39480":15318,"39498":15319,"39510":15320,"39605":15321,"39606":15322,"39673":15323,"39683":15324,"39712":15325,"39731":15326,"39732":15327,"39795":15328,"39801":15329,"39847":15330,"39873":15331,"39879":15332,"39895":15333,"39911":15334,"39915":15335,"39927":15336,"39930":15337,"39933":15338,"39947":15339,"39975":15340,"39978":15341,"39990":15342,"40001":15343,"40019":15344,"40035":15345,"40048":15346,"40055":15347,"40194":15348,"40258":15349,"40263":15350,"40291":15351,"40297":15352,"40316":15353,"40318":15354,"40333":15355,"40369":15356,"40387":15357,"40391":15358,"40406":15359,"40415":15360,"40427":15361,"40436":15362,"40469":15363,"40477":15364,"40612":15365,"40616":15366,"40620":15367,"40679":15368,"40686":15369,"40720":15370,"40722":15371,"40727":15372,"40729":15373,"40751":15374,"40759":15375,"40761":15376,"40769":15377,"40773":15378,"40791":15379,"40808":15380,"40817":15381,"40821":15382,"40848":15383,"40852":15384,"40866":15385,"13317":15387,"194564":15388,"22048":15389,"24267":15390,"11925":15391,"144954":15393,"28665":15395,"28390":15396,"29107":15397,"11940":15398,"64073":15398,"11980":15403,"64102":15403,"23986":15405,"20435":15407,"20697":15408,"20720":15409,"20931":15410,"22134":15411,"27220":15412,"27905":15413,"28112":15414,"28226":15415,"28377":15416,"29668":15417,"29729":15418,"30060":15419,"30801":15420,"34805":15421,"144382":15422,"29608":15423,"15091":15424,"13531":15425,"17420":15426,"16010":15427,"40893":15429,"19432":15430,"40892":15431,"16090":15432,"15138":15433,"40894":15434,"17786":15435,"16531":15436,"18021":15438,"16643":15439,"17043":15440,"18094":15441,"13448":15442,"140809":15443,"63584":15444,"63585":15445,"63586":15446,"63610":15447,"63615":15448,"8836":15472,"8837":15473,"8842":15474,"8843":15475,"8713":15476,"8965":15478,"8966":15479,"8741":15489,"8742":15490,"8802":15505,"8773":15507,"8776":15508,"8822":15509,"8823":15510,"8487":15515,"8922":15725,"8923":15726,"8533":15727,"8984":15728,"7742":15729,"7743":15730,"504":15731,"505":15732,"470":15733,"472":15734,"474":15735,"476":15736,"260":15737,"728":15738,"317":15739,"346":15740,"350":15741,"356":15742,"377":15743,"379":15744,"261":15745,"731":15746,"318":15747,"347":15748,"711":15749,"351":15750,"357":15751,"378":15752,"733":15753,"380":15754,"340":15755,"258":15756,"313":15757,"262":15758,"268":15759,"280":15760,"270":15761,"323":15762,"327":15763,"336":15764,"344":15765,"368":15766,"354":15767,"341":15768,"259":15769,"314":15770,"263":15771,"269":15772,"281":15773,"271":15774,"273":15775,"324":15776,"328":15777,"337":15778,"345":15779,"369":15780,"355":15781,"729":15782,"264":15783,"284":15784,"292":15785,"308":15786,"348":15787,"364":15788,"265":15789,"285":15790,"293":15791,"309":15792,"349":15793,"365":15794,"625":15795,"651":15796,"638":15797,"620":15798,"622":15799,"633":15800,"648":15801,"598":15802,"627":15803,"637":15804,"642":15805,"656":15806,"635":15807,"621":15808,"607":15809,"626":15810,"669":15811,"654":15812,"609":15813,"624":15814,"641":15815,"295":15816,"661":15817,"660":15818,"614":15819,"664":15820,"450":15821,"595":15822,"599":15823,"644":15824,"608":15825,"403":15826,"616":15827,"649":15828,"600":15829,"604":15830,"606":15831,"592":15832,"623":15833,"650":15834,"612":15835,"594":15836,"653":15837,"613":15838,"674":15839,"673":15840,"597":15841,"657":15842,"634":15843,"615":15844,"865":15845,"712":15846,"716":15847,"721":15848,"8255":15849,"783":15850,"741":15851,"742":15852,"743":15853,"744":15854,"745":15855,"805":15858,"812":15859,"825":15860,"796":15861,"799":15862,"800":15863,"829":15864,"809":15865,"815":15866,"734":15867,"804":15868,"816":15869,"828":15870,"820":15871,"797":15872,"798":15873,"792":15874,"793":15875,"810":15876,"826":15877,"827":15878,"794":15879,"610":15883,"611":15884,"618":15885,"628":15886,"630":15887,"632":15888,"640":15889,"655":15890,"665":15891,"668":15892,"671":15893,"688":15894,"690":15895,"695":15896,"705":15897,"736":15898,"737":15899,"8862":15906,"12348":16194,"12543":16195,"12310":16197,"12311":16198,"9838":16199,"9835":16200,"10548":16201,"10549":16202,"10687":16203,"12448":16205,"10746":16207,"10747":16208,"962":16222,"9461":16223,"9462":16224,"9463":16225,"9464":16226,"9465":16227,"9466":16228,"9467":16229,"9468":16230,"9469":16231,"9470":16232,"9750":16233,"9751":16234,"9649":16235,"12784":16236,"12785":16237,"12786":16238,"12787":16239,"12788":16240,"12789":16241,"12790":16242,"12791":16243,"12792":16244,"12793":16245,"12794":16247,"12795":16248,"12796":16249,"12797":16250,"12798":16251,"12799":16252,"9150":16253,"9151":16254,"9152":16255,"9153":16256,"9154":16257,"9155":16258,"9156":16259,"9157":16260,"9158":16261,"9159":16262,"9160":16263,"9161":16264,"9162":16265,"9163":16266,"9164":16267,"10003":16270,"9251":16272,"9166":16273,"9680":16274,"9681":16275,"9682":16276,"9683":16277,"8263":16278,"8264":16279,"8273":16281,"8258":16282,"12688":16283,"12689":16284,"12690":16285,"12691":16286,"12692":16287,"12693":16288,"12694":16289,"12695":16290,"12696":16291,"12697":16292,"12698":16293,"12699":16294,"12700":16295,"12701":16296,"12702":16297,"12703":16298,"9136":16312,"9137":16313,"9842":16314,"9843":16315,"9844":16316,"9845":16317,"9846":16318,"9847":16319,"9848":16320,"9849":16321,"9850":16322,"9851":16323,"9852":16324,"9853":16325,"12441":16326,"12442":16327,"8413":16328,"20296":16779,"20319":16780,"20330":16781,"20332":16782,"20494":16783,"20504":16784,"20545":16785,"20722":16786,"20688":16787,"20742":16788,"20739":16789,"20789":16790,"20821":16791,"20823":16792,"13493":16793,"20938":16794,"20962":16795,"21079":16796,"21196":16797,"21206":16798,"21243":16799,"21276":16800,"21347":16801,"21405":16802,"21522":16803,"21631":16804,"21640":16805,"21840":16806,"21889":16807,"21933":16808,"21966":16809,"22075":16810,"22174":16811,"22185":16812,"22195":16813,"22391":16814,"22396":16815,"135963":16816,"22479":16817,"22500":16818,"22628":16819,"22665":16820,"136302":16821,"22738":16822,"22752":16823,"34369":16824,"22923":16825,"22930":16826,"22979":16827,"23059":16828,"23143":16829,"23159":16830,"23172":16831,"23236":16832,"137405":16833,"23421":16834,"23443":16835,"23570":16836,"64060":16837,"136884":16838,"23674":16839,"23695":16840,"23711":16841,"23715":16842,"23722":16843,"23760":16844,"138804":16845,"23821":16846,"23879":16847,"23937":16848,"23972":16849,"23975":16850,"24011":16851,"24158":16852,"24313":16853,"24320":16854,"24322":16855,"24355":16856,"24381":16857,"24404":16858,"24445":16859,"24589":16860,"24596":16861,"24600":16862,"24629":16863,"24647":16864,"24733":16865,"24788":16866,"24797":16867,"24875":16868,"25020":16869,"25017":16870,"25122":16871,"25178":16872,"25199":16873,"25302":16874,"25468":16875,"25573":16876,"25721":16877,"25796":16878,"25808":16879,"25897":16880,"26013":16881,"26170":16882,"26146":16883,"26155":16884,"26160":16885,"26163":16886,"26184":16887,"143812":16888,"26231":16889,"26232":16890,"26253":16891,"26299":16892,"26331":16893,"26344":16894,"26439":16895,"26497":16896,"26515":16897,"26520":16898,"26523":16899,"26620":16900,"26653":16901,"26787":16902,"26890":16903,"26953":16904,"144836":16905,"26946":16906,"26980":16907,"27045":16908,"27087":16909,"15286":16910,"15299":16911,"27113":16912,"27125":16913,"145215":16914,"27195":16915,"145251":16916,"27284":16917,"27301":16918,"15375":16919,"27419":16920,"27436":16921,"27495":16922,"27561":16923,"27565":16924,"27607":16925,"27647":16926,"27653":16927,"27764":16928,"27800":16929,"27899":16930,"27846":16931,"27953":16932,"27961":16933,"27967":16934,"27992":16935,"28052":16936,"28074":16937,"28123":16938,"28125":16939,"28228":16940,"28254":16941,"28337":16942,"28353":16943,"28432":16944,"28505":16945,"28513":16946,"28542":16947,"28556":16948,"28576":16949,"28604":16950,"28615":16951,"28618":16952,"28656":16953,"28750":16954,"28789":16955,"28836":16956,"28900":16957,"28971":16958,"28958":16959,"28974":16960,"29009":16961,"29032":16962,"29061":16963,"29063":16964,"29114":16965,"29124":16966,"29205":16967,"15935":16968,"29339":16969,"149489":16970,"29479":16971,"29520":16972,"29542":16973,"29602":16974,"29739":16975,"29766":16976,"29794":16977,"29805":16978,"29862":16979,"29865":16980,"29897":16981,"29951":16982,"29975":16983,"16242":16984,"30158":16985,"30210":16986,"30216":16987,"30308":16988,"30337":16989,"30365":16990,"30378":16991,"30390":16992,"30414":16993,"30420":16994,"30438":16995,"30449":16996,"30474":16997,"30489":16998,"30541":16999,"30542":17000,"30586":17001,"30592":17002,"30612":17003,"30688":17004,"152718":17005,"30787":17006,"30830":17007,"30896":17008,"152846":17009,"30893":17010,"30976":17011,"31004":17012,"31022":17013,"31028":17014,"31046":17015,"31097":17016,"31176":17017,"153457":17018,"31188":17019,"31198":17020,"31211":17021,"31213":17022,"31365":17023,"154052":17024,"31438":17025,"31485":17026,"31506":17027,"31533":17028,"31547":17029,"31599":17030,"31745":17031,"31795":17032,"155041":17033,"31853":17034,"31865":17035,"31887":17036,"31892":17037,"31904":17038,"31957":17039,"32049":17040,"32092":17041,"32131":17042,"32166":17043,"32194":17044,"32296":17045,"32663":17046,"32731":17047,"32821":17048,"32823":17049,"32970":17050,"32992":17051,"33011":17052,"33120":17053,"33127":17054,"33128":17055,"33133":17056,"33211":17057,"33226":17058,"33239":17059,"17499":17060,"33376":17061,"33396":17062,"158463":17063,"33441":17064,"33443":17065,"33444":17066,"33449":17067,"33471":17068,"33493":17069,"33533":17070,"33536":17071,"33570":17072,"33581":17073,"33594":17074,"33607":17075,"33661":17076,"33703":17077,"33743":17078,"33745":17079,"33761":17080,"33793":17081,"33798":17082,"33887":17083,"33904":17084,"33907":17085,"33925":17086,"33950":17087,"33978":17088,"159296":17089,"34098":17090,"34078":17091,"34095":17092,"34148":17093,"34170":17094,"34188":17095,"34210":17096,"34251":17097,"34285":17098,"34303":17099,"34308":17100,"34309":17101,"34320":17102,"159988":17103,"34328":17104,"34360":17105,"34391":17106,"34402":17107,"17821":17108,"34421":17109,"34488":17110,"34556":17111,"34695":17112,"17898":17113,"34826":17114,"34832":17115,"35022":17116,"161412":17117,"35122":17118,"35129":17119,"35136":17120,"35220":17121,"35318":17122,"35399":17123,"35421":17124,"35425":17125,"35445":17126,"35536":17127,"35654":17128,"35673":17129,"35689":17130,"35741":17131,"35913":17132,"35944":17133,"36271":17134,"36305":17135,"36311":17136,"36387":17137,"36413":17138,"36475":17139,"164471":17140,"18500":17141,"36602":17142,"36638":17143,"36653":17144,"36692":17145,"164813":17146,"36840":17147,"36846":17148,"36872":17149,"36909":17150,"37015":17151,"37043":17152,"37054":17153,"37060":17154,"37061":17155,"37063":17156,"37103":17157,"37140":17158,"37142":17159,"37154":17160,"37155":17161,"37167":17162,"37172":17163,"37251":17164,"37361":17165,"37705":17166,"37732":17167,"37733":17168,"37795":17169,"37855":17170,"37892":17171,"37939":17172,"37962":17173,"37987":17174,"38001":17175,"38286":17176,"38303":17177,"38316":17178,"38326":17179,"38347":17180,"38352":17181,"38355":17182,"18864":17183,"38366":17184,"38565":17185,"38639":17186,"38734":17187,"38805":17188,"38830":17189,"38842":17190,"38849":17191,"38857":17192,"38875":17193,"38998":17194,"39143":17195,"39256":17196,"39427":17197,"39617":17198,"39619":17199,"39630":17200,"39638":17201,"39682":17202,"39688":17203,"19479":17204,"39725":17205,"39774":17206,"39782":17207,"39812":17208,"39818":17209,"39838":17210,"39886":17211,"39909":17212,"39928":17213,"39971":17214,"40015":17215,"40016":17216,"40037":17217,"40221":17218,"40222":17219,"40259":17220,"40274":17221,"40330":17222,"40342":17223,"40384":17224,"40364":17225,"40380":17226,"172432":17227,"40423":17228,"40455":17229,"40606":17230,"40623":17231,"40855":17232,"131209":17233,"19970":17234,"19983":17235,"19986":17236,"20009":17237,"20014":17238,"20039":17239,"131234":17240,"20049":17241,"13318":17242,"131236":17243,"20073":17244,"20125":17245,"13356":17246,"20156":17247,"20163":17248,"20168":17249,"20203":17250,"20186":17251,"20209":17252,"20213":17253,"20246":17254,"20324":17255,"20279":17256,"20286":17257,"20312":17258,"131603":17259,"20343":17260,"20344":17261,"20354":17262,"20357":17263,"20454":17264,"20402":17265,"20421":17266,"20427":17267,"20434":17268,"13418":17269,"20466":17270,"20499":17271,"20508":17272,"20558":17273,"20563":17274,"20579":17275,"20643":17276,"20616":17277,"20626":17278,"20627":17279,"20629":17280,"20650":17281,"131883":17282,"20657":17283,"20666":17284,"20667":17285,"20676":17286,"20679":17287,"20723":17288,"131969":17289,"20686":17290,"131953":17291,"20692":17292,"20705":17293,"13458":17294,"132089":17295,"20759":17296,"132170":17297,"20832":17298,"132361":17299,"20851":17300,"20867":17301,"20875":17302,"13500":17303,"20888":17304,"20899":17305,"20909":17306,"13511":17307,"132566":17308,"20979":17309,"21010":17310,"21014":17311,"132943":17312,"21077":17313,"21084":17314,"21100":17315,"21111":17316,"21124":17317,"21122":17318,"133127":17319,"21144":17320,"133178":17321,"21156":17322,"21178":17323,"21179":17324,"21194":17325,"21201":17326,"133305":17327,"21239":17328,"21301":17329,"21314":17330,"133500":17331,"133533":17332,"21351":17333,"21370":17334,"21412":17335,"21428":17336,"133843":17337,"21431":17338,"21440":17339,"133917":17340,"13661":17341,"13662":17342,"21461":17343,"13667":17344,"21492":17345,"21540":17346,"21544":17347,"13678":17348,"21571":17349,"21602":17350,"21612":17351,"21653":17352,"21664":17353,"21670":17354,"21678":17355,"21687":17356,"21690":17357,"21699":17358,"134469":17359,"21740":17360,"21743":17361,"21745":17362,"21747":17363,"21760":17364,"21761":17365,"21769":17366,"21820":17367,"21825":17368,"13734":17369,"21831":17370,"13736":17371,"21860":17372,"134625":17373,"21885":17374,"21890":17375,"21905":17376,"13765":17377,"21970":17378,"134805":17379,"134765":17380,"21951":17381,"21961":17382,"21964":17383,"21969":17384,"21981":17385,"13786":17386,"21986":17387,"134756":17388,"21993":17389,"22056":17390,"135007":17391,"22023":17392,"22032":17393,"22064":17394,"13812":17395,"22077":17396,"22080":17397,"22087":17398,"22110":17399,"22112":17400,"22125":17401,"13829":17402,"22152":17403,"22156":17404,"22173":17405,"22184":17406,"22194":17407,"22213":17408,"22221":17409,"22239":17410,"22248":17411,"22262":17412,"22263":17413,"135681":17414,"135765":17415,"22313":17416,"135803":17417,"22341":17418,"22342":17419,"22349":17420,"135796":17421,"22376":17422,"22383":17423,"22387":17424,"22388":17425,"22389":17426,"22395":17427,"135908":17428,"135895":17429,"22426":17430,"22429":17431,"22430":17432,"22440":17433,"22487":17434,"135933":17435,"22476":17436,"135990":17437,"136004":17438,"22494":17439,"22512":17440,"13898":17441,"22520":17442,"22523":17443,"22525":17444,"22532":17445,"22558":17446,"22567":17447,"22585":17448,"136132":17449,"22601":17450,"22604":17451,"22631":17452,"22666":17453,"22667":17454,"22669":17455,"22671":17456,"22672":17457,"22676":17458,"22685":17459,"22698":17460,"22705":17461,"136301":17462,"22723":17463,"22733":17464,"22754":17465,"22771":17466,"22772":17467,"22789":17468,"22790":17469,"22797":17470,"22804":17471,"136663":17472,"13969":17473,"22845":17474,"13977":17475,"22854":17476,"13974":17477,"158761":17478,"22879":17479,"136775":17480,"22901":17481,"22902":17482,"22908":17483,"22943":17484,"22958":17485,"22972":17486,"22984":17487,"22989":17488,"23006":17489,"23015":17490,"23022":17491,"136966":17492,"137026":17493,"14031":17494,"23053":17495,"23063":17496,"23079":17497,"23085":17498,"23141":17499,"23162":17500,"23179":17501,"23196":17502,"23199":17503,"23200":17504,"23202":17505,"23217":17506,"23221":17507,"23226":17508,"23231":17509,"23258":17510,"23260":17511,"23269":17512,"23280":17513,"23278":17514,"23285":17515,"23304":17516,"23319":17517,"23348":17518,"23372":17519,"23378":17520,"23400":17521,"23407":17522,"23425":17523,"23428":17524,"137667":17525,"23446":17526,"23468":17527,"14177":17528,"14178":17529,"23502":17530,"23510":17531,"14188":17532,"14187":17533,"23537":17534,"23549":17535,"14197":17536,"23555":17537,"23593":17538,"138326":17539,"23647":17540,"23655":17541,"23656":17542,"23664":17543,"138541":17544,"138565":17545,"138616":17546,"138594":17547,"23688":17548,"23690":17549,"14273":17550,"138657":17551,"138652":17552,"23712":17553,"23714":17554,"23719":17555,"138642":17556,"23725":17557,"23733":17558,"138679":17559,"23753":17560,"138720":17561,"138803":17562,"23814":17563,"23824":17564,"23851":17565,"23837":17566,"23840":17567,"23857":17568,"23865":17569,"14312":17570,"23905":17571,"23914":17572,"14324":17573,"23920":17574,"139038":17575,"14333":17576,"23944":17577,"14336":17578,"23959":17579,"23984":17580,"23988":17581,"139126":17582,"24017":17583,"24023":17584,"139258":17585,"24036":17586,"24041":17587,"14383":17588,"14390":17589,"14400":17590,"24095":17591,"24126":17592,"24137":17593,"14428":17594,"24150":17595,"14433":17596,"24173":17597,"24174":17598,"139643":17599,"24229":17600,"24236":17601,"24249":17602,"24262":17603,"24281":17604,"140062":17605,"24317":17606,"24328":17607,"140205":17608,"24350":17609,"24391":17610,"24419":17611,"24434":17612,"24446":17613,"24463":17614,"24482":17615,"24519":17616,"24523":17617,"24530":17618,"24531":17619,"24532":17620,"24546":17621,"24558":17622,"24559":17623,"24563":17624,"14615":17625,"24610":17626,"24612":17627,"14618":17628,"24652":17629,"24725":17630,"24744":17631,"141043":17632,"24753":17633,"24766":17634,"24776":17635,"24793":17636,"24814":17637,"24821":17638,"24848":17639,"24857":17640,"24862":17641,"24890":17642,"14703":17643,"24897":17644,"24902":17645,"24928":17646,"141403":17647,"24978":17648,"24979":17649,"24983":17650,"24997":17651,"25005":17652,"141483":17653,"25045":17654,"25053":17655,"25077":17656,"141711":17657,"25123":17658,"25170":17659,"25185":17660,"25188":17661,"25211":17662,"25197":17663,"25203":17664,"25241":17665,"25301":17666,"142008":17667,"25341":17668,"25347":17669,"25360":17670,"142159":17671,"142160":17672,"25394":17673,"25397":17674,"25403":17675,"25404":17676,"25409":17677,"25412":17678,"25422":17679,"142150":17680,"25433":17681,"142365":17682,"142246":17683,"25452":17684,"25497":17685,"142372":17686,"25492":17687,"25533":17688,"25556":17689,"25557":17690,"25568":17691,"25579":17692,"25580":17693,"25586":17694,"25630":17695,"25637":17696,"25641":17697,"25647":17698,"25690":17699,"25693":17700,"25715":17701,"25725":17702,"25735":17703,"25745":17704,"25759":17705,"25803":17706,"25804":17707,"25813":17708,"25815":17709,"142817":17710,"25828":17711,"25855":17712,"14958":17713,"25871":17714,"25876":17715,"14963":17716,"25886":17717,"25906":17718,"25924":17719,"25940":17720,"25963":17721,"25978":17722,"25988":17723,"25994":17724,"26034":17725,"26037":17726,"26040":17727,"26047":17728,"26057":17729,"26068":17730,"15062":17731,"26105":17732,"26108":17733,"26116":17734,"26120":17735,"26145":17736,"26154":17737,"26181":17738,"26193":17739,"26190":17740,"15082":17741,"143811":17742,"143861":17743,"143798":17744,"26218":17745,"26220":17746,"26221":17747,"26235":17748,"26240":17749,"26256":17750,"26258":17751,"15118":17752,"26285":17753,"26289":17754,"26293":17755,"15130":17756,"15132":17757,"15063":17758,"26369":17759,"26386":17760,"144242":17761,"26393":17762,"144339":17763,"144338":17764,"26445":17765,"26452":17766,"26461":17767,"144336":17768,"144356":17769,"144341":17770,"26484":17771,"144346":17772,"26514":17773,"144351":17774,"33635":17775,"26640":17776,"26563":17777,"26568":17778,"26578":17779,"26587":17780,"26615":17781,"144458":17782,"144465":17783,"144459":17784,"26648":17785,"26655":17786,"26669":17787,"144485":17788,"26675":17789,"26683":17790,"26686":17791,"26693":17792,"26697":17793,"26700":17794,"26709":17795,"26711":17796,"15223":17797,"26731":17798,"26734":17799,"26748":17800,"26754":17801,"26768":17802,"26774":17803,"15213":17804,"26776":17805,"26777":17806,"26778":17807,"26780":17808,"26794":17809,"26795":17810,"26804":17811,"26811":17812,"26875":17813,"144612":17814,"144730":17815,"26819":17816,"26821":17817,"26828":17818,"26841":17819,"26852":17820,"26853":17821,"26860":17822,"26871":17823,"26883":17824,"26887":17825,"15239":17826,"144788":17827,"15245":17828,"26950":17829,"26985":17830,"26988":17831,"27002":17832,"27026":17833,"15268":17834,"27030":17835,"27056":17836,"27066":17837,"27068":17838,"27072":17839,"27089":17840,"144953":17841,"144967":17842,"144952":17843,"27107":17844,"27118":17845,"27119":17846,"27123":17847,"15309":17848,"27124":17849,"27134":17850,"27153":17851,"27162":17852,"27165":17853,"145180":17854,"27186":17855,"27187":17856,"27199":17857,"27209":17858,"27258":17859,"27214":17860,"27218":17861,"27236":17862,"145164":17863,"27275":17864,"15344":17865,"27297":17866,"145252":17867,"27307":17868,"27325":17869,"27334":17870,"27348":17871,"27344":17872,"27357":17873,"145407":17874,"145383":17875,"27377":17876,"27378":17877,"27379":17878,"27389":17879,"145444":17880,"27403":17881,"27407":17882,"27408":17883,"27409":17884,"145469":17885,"27415":17886,"15398":17887,"27439":17888,"27466":17889,"27480":17890,"27500":17891,"27509":17892,"11934":17893,"27514":17893,"27521":17894,"27547":17895,"27566":17896,"146072":17897,"27581":17898,"27591":17899,"27592":17900,"27593":17901,"27610":17902,"27622":17903,"27623":17904,"27630":17905,"27650":17906,"27658":17907,"27662":17908,"27702":17909,"146559":17910,"27725":17911,"27739":17912,"27757":17913,"27780":17914,"27785":17915,"15555":17916,"27796":17917,"27799":17918,"27821":17919,"27842":17920,"15570":17921,"27868":17922,"27881":17923,"27885":17924,"146688":17925,"27904":17926,"27940":17927,"27942":17928,"27943":17929,"27751":17930,"27951":17931,"27964":17932,"27995":17933,"28000":17934,"28016":17935,"28032":17936,"28033":17937,"28042":17938,"28045":17939,"28049":17940,"28056":17941,"146752":17942,"146938":17943,"146937":17944,"146899":17945,"28075":17946,"28078":17947,"28084":17948,"28098":17949,"27956":17950,"28104":17951,"28110":17952,"28127":17953,"28150":17954,"28214":17955,"28190":17956,"15633":17957,"28210":17958,"28232":17959,"28233":17960,"28235":17961,"28236":17962,"28239":17963,"28243":17964,"28244":17965,"28247":17966,"28259":17967,"15646":17968,"28307":17969,"28327":17970,"28340":17971,"28355":17972,"28469":17973,"28395":17974,"28409":17975,"28411":17976,"28426":17977,"28428":17978,"28440":17979,"28453":17980,"28470":17981,"28476":17982,"147326":17983,"28498":17984,"28503":17985,"28512":17986,"28520":17987,"28560":17988,"28566":17989,"28606":17990,"28575":17991,"28581":17992,"28591":17993,"15716":17994,"28616":17995,"28617":17996,"28649":17997,"147606":17998,"28668":17999,"28672":18000,"28682":18001,"28707":18002,"147715":18003,"28730":18004,"28739":18005,"28743":18006,"28747":18007,"15770":18008,"28773":18009,"28777":18010,"28782":18011,"28790":18012,"28806":18013,"28823":18014,"147910":18015,"28831":18016,"28849":18017,"147966":18018,"28908":18019,"28874":18020,"28881":18021,"28931":18022,"28934":18023,"28936":18024,"28940":18025,"15808":18026,"28975":18027,"29008":18028,"29011":18029,"29022":18030,"15828":18031,"29078":18032,"29056":18033,"29083":18034,"29088":18035,"29090":18036,"29102":18037,"29103":18038,"148412":18039,"29145":18040,"29148":18041,"29191":18042,"15877":18043,"29236":18044,"29241":18045,"29250":18046,"29271":18047,"29283":18048,"149033":18049,"29294":18050,"29295":18051,"29304":18052,"29311":18053,"29326":18054,"149157":18055,"29358":18056,"29360":18057,"29377":18058,"15968":18059,"29388":18060,"15974":18061,"15976":18062,"29427":18063,"29434":18064,"29447":18065,"29458":18066,"29464":18067,"29465":18068,"16003":18069,"29497":18070,"29484":18071,"29491":18072,"29501":18073,"29522":18074,"16020":18075,"29547":18076,"149654":18077,"29550":18078,"29551":18079,"29553":18080,"29569":18081,"29578":18082,"29588":18083,"29592":18084,"29596":18085,"29605":18086,"29625":18087,"29631":18088,"29637":18089,"29643":18090,"29665":18091,"29671":18092,"29689":18093,"29715":18094,"29690":18095,"29697":18096,"29779":18097,"29760":18098,"29763":18099,"29778":18100,"29789":18101,"29825":18102,"29832":18103,"150093":18104,"29842":18105,"29847":18106,"29849":18107,"29857":18108,"29861":18109,"29866":18110,"29881":18111,"29883":18112,"29882":18113,"29910":18114,"29912":18115,"29931":18116,"150358":18117,"29946":18118,"150383":18119,"29984":18120,"29988":18121,"29994":18122,"16215":18123,"150550":18124,"30013":18125,"30014":18126,"30016":18127,"30024":18128,"30032":18129,"30034":18130,"30066":18131,"30065":18132,"30074":18133,"30077":18134,"30078":18135,"30092":18136,"16245":18137,"30114":18138,"16247":18139,"30128":18140,"30135":18141,"30143":18142,"30144":18143,"30150":18144,"30159":18145,"30163":18146,"30173":18147,"30175":18148,"30176":18149,"30183":18150,"30190":18151,"30193":18152,"30211":18153,"30232":18154,"30215":18155,"30223":18156,"16302":18157,"151054":18158,"30227":18159,"30235":18160,"30236":18161,"151095":18162,"30245":18163,"30248":18164,"30268":18165,"30259":18166,"151146":18167,"16329":18168,"30273":18169,"151179":18170,"30281":18171,"30293":18172,"16343":18173,"30318":18174,"30357":18175,"30369":18176,"30368":18177,"30375":18178,"30376":18179,"30383":18180,"151626":18181,"30409":18182,"151637":18183,"30440":18184,"151842":18185,"30487":18186,"30490":18187,"30509":18188,"30517":18189,"151977":18190,"16441":18191,"152037":18192,"152013":18193,"30552":18194,"152094":18195,"30588":18196,"152140":18197,"16472":18198,"30618":18199,"30623":18200,"30626":18201,"30628":18202,"30686":18203,"30687":18204,"30692":18205,"30698":18206,"30700":18207,"30715":18208,"152622":18209,"30725":18210,"30729":18211,"30733":18212,"30745":18213,"30764":18214,"30791":18215,"30826":18216,"152793":18217,"30858":18218,"30868":18219,"30884":18220,"30877":18221,"30879":18222,"30907":18223,"30933":18224,"30950":18225,"30969":18226,"30970":18227,"30974":18228,"152999":18229,"30992":18230,"31003":18231,"31013":18232,"31050":18233,"31064":18234,"16645":18235,"31079":18236,"31090":18237,"31125":18238,"31137":18239,"31145":18240,"31156":18241,"31170":18242,"31175":18243,"31180":18244,"31181":18245,"31190":18246,"16712":18247,"153513":18248,"153524":18249,"16719":18250,"31242":18251,"31253":18252,"31259":18253,"16739":18254,"31288":18255,"31303":18256,"31318":18257,"31321":18258,"31324":18259,"31327":18260,"31335":18261,"31338":18262,"31349":18263,"31362":18264,"31370":18265,"31376":18266,"31404":18267,"154068":18268,"16820":18269,"31417":18270,"31422":18271,"16831":18272,"31436":18273,"31464":18274,"31476":18275,"154340":18276,"154339":18277,"154353":18278,"31549":18279,"31530":18280,"31534":18281,"31535":18282,"16870":18283,"16883":18284,"31615":18285,"31553":18286,"16878":18287,"31573":18288,"31609":18289,"31588":18290,"31590":18291,"31603":18292,"154546":18293,"16903":18294,"31632":18295,"31643":18296,"16910":18297,"31669":18298,"31676":18299,"31685":18300,"31690":18301,"154699":18302,"154724":18303,"31700":18304,"31702":18305,"31706":18306,"31722":18307,"31728":18308,"31747":18309,"31758":18310,"31813":18311,"31818":18312,"31831":18313,"31838":18314,"31841":18315,"31849":18316,"31855":18317,"155182":18318,"155222":18319,"155237":18320,"31910":18321,"155234":18322,"31926":18323,"31927":18324,"155352":18325,"31940":18326,"155330":18327,"31949":18328,"155368":18329,"155427":18330,"31974":18331,"155484":18332,"31989":18333,"32003":18334,"17094":18335,"32018":18336,"32030":18337,"155616":18338,"155604":18339,"32061":18340,"32062":18341,"32064":18342,"32071":18343,"155660":18344,"155643":18345,"17110":18346,"32090":18347,"32106":18348,"32112":18349,"17117":18350,"32127":18351,"155671":18352,"32136":18353,"32151":18354,"155744":18355,"32157":18356,"32167":18357,"32170":18358,"32182":18359,"32192":18360,"32215":18361,"32217":18362,"32230":18363,"17154":18364,"155885":18365,"64088":18366,"32272":18367,"32279":18368,"32285":18369,"32295":18370,"32300":18371,"32325":18372,"32373":18373,"32382":18374,"32390":18375,"32391":18376,"17195":18377,"32410":18378,"17219":18379,"32572":18380,"32571":18381,"32574":18382,"32579":18383,"13505":18384,"156272":18385,"156294":18386,"32611":18387,"32612":18388,"32621":18389,"32637":18390,"32638":18391,"32656":18392,"20859":18393,"146702":18394,"32662":18395,"32668":18396,"32685":18397,"156674":18398,"32707":18399,"32719":18400,"32739":18401,"32754":18402,"32778":18403,"32776":18404,"32790":18405,"32812":18406,"32816":18407,"32835":18408,"32870":18409,"32891":18410,"32921":18411,"32924":18412,"32932":18413,"32935":18414,"32952":18415,"157310":18416,"32965":18417,"32981":18418,"32998":18419,"33037":18420,"33013":18421,"33019":18422,"17390":18423,"33077":18424,"33054":18425,"17392":18426,"33060":18427,"33063":18428,"33068":18429,"157469":18430,"33085":18431,"17416":18432,"33129":18433,"17431":18434,"17436":18435,"33157":18436,"17442":18437,"33176":18438,"33202":18439,"33217":18440,"33219":18441,"33238":18442,"33243":18443,"157917":18444,"33252":18445,"157930":18446,"33260":18447,"33277":18448,"33279":18449,"158063":18450,"33284":18451,"158173":18452,"33305":18453,"33314":18454,"158238":18455,"33340":18456,"33353":18457,"33349":18458,"158296":18459,"17526":18460,"17530":18461,"33367":18462,"158348":18463,"33372":18464,"33379":18465,"158391":18466,"17553":18467,"33405":18468,"33407":18469,"33411":18470,"33418":18471,"33427":18472,"33447":18473,"33448":18474,"33458":18475,"33460":18476,"33466":18477,"33468":18478,"33506":18479,"33512":18480,"33527":18481,"33543":18482,"33544":18483,"33548":18484,"33620":18485,"33563":18486,"33565":18487,"33584":18488,"33596":18489,"33604":18490,"33623":18491,"17598":18492,"17620":18493,"17587":18494,"33684":18495,"33685":18496,"33691":18497,"33693":18498,"33737":18499,"33744":18500,"33748":18501,"33757":18502,"33765":18503,"33785":18504,"33813":18505,"158835":18506,"33815":18507,"33849":18508,"33871":18509,"33873":18510,"33874":18511,"33881":18512,"33882":18513,"33884":18514,"158941":18515,"33893":18516,"33912":18517,"33916":18518,"33921":18519,"17677":18520,"33943":18521,"33958":18522,"33982":18523,"17672":18524,"33998":18525,"33999":18526,"34003":18527,"159333":18528,"34023":18529,"34026":18530,"34031":18531,"34033":18532,"34042":18533,"34075":18534,"34084":18535,"34085":18536,"34091":18537,"34127":18538,"34159":18539,"17731":18540,"34129":18541,"34145":18542,"34146":18543,"159636":18544,"34171":18545,"34173":18546,"34175":18547,"34177":18548,"34182":18549,"34195":18550,"34205":18551,"34207":18552,"159736":18553,"159734":18554,"159735":18555,"34236":18556,"34247":18557,"34250":18558,"34264":18559,"34265":18560,"34271":18561,"34273":18562,"34278":18563,"34294":18564,"34304":18565,"34321":18566,"34334":18567,"34337":18568,"34340":18569,"34343":18570,"160013":18571,"34361":18572,"34364":18573,"160057":18574,"34368":18575,"34387":18576,"34390":18577,"34423":18578,"34439":18579,"34441":18580,"34460":18581,"34461":18582,"34481":18583,"34483":18584,"34497":18585,"34499":18586,"34513":18587,"34517":18588,"34519":18589,"34531":18590,"34534":18591,"17848":18592,"34565":18593,"34567":18594,"34574":18595,"34576":18596,"34591":18597,"34593":18598,"34595":18599,"34609":18600,"34618":18601,"34624":18602,"34627":18603,"34641":18604,"34648":18605,"34660":18606,"34661":18607,"34674":18608,"34684":18609,"160731":18610,"160730":18611,"34727":18612,"34697":18613,"34699":18614,"34707":18615,"34720":18616,"160766":18617,"17893":18618,"34750":18619,"160784":18620,"34753":18621,"34766":18622,"34783":18623,"160841":18624,"34787":18625,"34789":18626,"34790":18627,"34794":18628,"34835":18629,"34856":18630,"34862":18631,"34866":18632,"34876":18633,"17935":18634,"34890":18635,"34904":18636,"161301":18637,"161300":18638,"34921":18639,"161329":18640,"34927":18641,"34976":18642,"35004":18643,"35008":18644,"161427":18645,"35025":18646,"35027":18647,"17985":18648,"35073":18649,"161550":18650,"35127":18651,"161571":18652,"35138":18653,"35141":18654,"35145":18655,"161618":18656,"35170":18657,"35209":18658,"35216":18659,"35231":18660,"35248":18661,"35255":18662,"35288":18663,"35307":18664,"18081":18665,"35315":18666,"35325":18667,"35327":18668,"18095":18669,"35345":18670,"35348":18671,"162181":18672,"35361":18673,"35381":18674,"35390":18675,"35397":18676,"35405":18677,"35416":18678,"35502":18679,"35472":18680,"35511":18681,"35543":18682,"35580":18683,"162436":18684,"35594":18685,"35589":18686,"35597":18687,"35612":18688,"35629":18689,"18188":18690,"35665":18691,"35678":18692,"35702":18693,"35713":18694,"35723":18695,"35732":18696,"35733":18697,"35897":18698,"162739":18699,"35901":18700,"162750":18701,"162759":18702,"35909":18703,"35919":18704,"35927":18705,"35945":18706,"35949":18707,"163000":18708,"35987":18709,"35986":18710,"35993":18711,"18276":18712,"35995":18713,"36054":18714,"36053":18715,"163232":18716,"36081":18717,"163344":18718,"36105":18719,"36110":18720,"36296":18721,"36313":18722,"36364":18723,"18429":18724,"36349":18725,"36358":18726,"163978":18727,"36372":18728,"36374":18729,"36385":18730,"36386":18731,"36391":18732,"164027":18733,"18454":18734,"36406":18735,"36409":18736,"36436":18737,"36450":18738,"36461":18739,"36463":18740,"36504":18741,"36510":18742,"36533":18743,"36539":18744,"164482":18745,"18510":18746,"164595":18747,"36608":18748,"36616":18749,"36651":18750,"36672":18751,"36682":18752,"36696":18753,"164876":18754,"36772":18755,"36788":18756,"164949":18757,"36801":18758,"36806":18759,"64036":18760,"36810":18761,"36813":18762,"36819":18763,"36821":18764,"36849":18765,"36853":18766,"36859":18767,"36876":18768,"36919":18769,"165227":18770,"36931":18771,"36957":18772,"165320":18773,"165321":18774,"36997":18775,"37004":18776,"37008":18777,"37025":18778,"18613":18779,"37040":18780,"37046":18781,"37059":18782,"37064":18783,"165591":18784,"37084":18785,"37087":18786,"165626":18787,"37110":18788,"37106":18789,"37120":18790,"37099":18791,"37118":18792,"37119":18793,"37124":18794,"37126":18795,"37144":18796,"37150":18797,"37175":18798,"37177":18799,"37190":18800,"37191":18801,"37207":18802,"37209":18803,"37236":18804,"37241":18805,"37253":18806,"37299":18807,"37302":18808,"37315":18809,"37316":18810,"166217":18811,"166214":18812,"37356":18813,"37377":18814,"37398":18815,"37399":18816,"166251":18817,"37442":18818,"37450":18819,"37462":18820,"37473":18821,"37477":18822,"37480":18823,"166280":18824,"37500":18825,"37501":18826,"37503":18827,"37513":18828,"37517":18829,"37527":18830,"37529":18831,"37535":18832,"37547":18833,"166330":18834,"166331":18835,"37554":18836,"37567":18837,"37568":18838,"37574":18839,"37582":18840,"37605":18841,"37649":18842,"166430":18843,"166441":18844,"37623":18845,"37673":18846,"166513":18847,"166467":18848,"37713":18849,"37722":18850,"37739":18851,"37745":18852,"37747":18853,"37793":18854,"166553":18855,"166605":18856,"37768":18857,"37771":18858,"37775":18859,"37790":18860,"37877":18861,"166628":18862,"166621":18863,"37873":18864,"37831":18865,"37852":18866,"37863":18867,"37897":18868,"37910":18869,"37911":18870,"37883":18871,"37938":18872,"37947":18873,"166849":18874,"166895":18875,"37997":18876,"37999":18877,"38265":18878,"38278":18879,"38284":18880,"38285":18881,"167184":18882,"167281":18883,"38344":18884,"167419":18885,"167455":18886,"38444":18887,"38451":18888,"38452":18889,"167478":18890,"38460":18891,"38497":18892,"167561":18893,"38530":18894,"167659":18895,"38554":18896,"167730":18897,"18919":18898,"38579":18899,"38586":18900,"38589":18901,"18938":18902,"167928":18903,"38616":18904,"38618":18905,"38621":18906,"18948":18907,"38676":18908,"38691":18909,"18985":18910,"38710":18911,"38721":18912,"38727":18913,"38743":18914,"38747":18915,"38762":18916,"168608":18917,"168625":18918,"38806":18919,"38814":18920,"38833":18921,"38834":18922,"38846":18923,"38860":18924,"38865":18925,"38868":18926,"38872":18927,"38881":18928,"38897":18929,"38916":18930,"38925":18931,"38932":18932,"38934":18933,"19132":18934,"169104":18935,"38962":18936,"38963":18937,"38949":18938,"38983":18939,"39014":18940,"39083":18941,"39085":18942,"39088":18943,"169423":18944,"39095":18945,"39099":18946,"39100":18947,"39106":18948,"39111":18949,"39115":18950,"39137":18951,"39139":18952,"39146":18953,"39152":18954,"39153":18955,"39155":18956,"39176":18957,"19259":18958,"169712":18959,"39190":18960,"39191":18961,"169753":18962,"39194":18963,"39195":18964,"39196":18965,"169808":18966,"39217":18967,"39226":18968,"39227":18969,"39228":18970,"39233":18971,"39238":18972,"39246":18973,"39264":18974,"39331":18975,"39334":18976,"39357":18977,"39359":18978,"39363":18979,"39380":18980,"39385":18981,"39390":18982,"170182":18983,"39408":18984,"39417":18985,"39420":18986,"39434":18987,"39441":18988,"39450":18989,"39456":18990,"39473":18991,"39492":18992,"39500":18993,"39512":18994,"19394":18995,"39599":18996,"19402":18997,"39607":18998,"19410":18999,"39609":19000,"170610":19001,"39622":19002,"39632":19003,"39634":19004,"39637":19005,"39648":19006,"39653":19007,"39657":19008,"39692":19009,"39696":19010,"39698":19011,"39702":19012,"39708":19013,"39723":19014,"39741":19015,"19488":19016,"39755":19017,"39779":19018,"39781":19019,"39787":19020,"39788":19021,"39798":19022,"39799":19023,"39846":19024,"39852":19025,"171483":19026,"39858":19027,"39864":19028,"39870":19029,"39923":19030,"39896":19031,"39901":19032,"39914":19033,"39919":19034,"39918":19035,"171541":19036,"171658":19037,"171593":19038,"39958":19039,"39960":19040,"39961":19041,"39962":19042,"39965":19043,"39970":19044,"39977":19045,"171716":19046,"39985":19047,"39991":19048,"40005":19049,"40028":19050,"171753":19051,"40009":19052,"40010":19053,"171739":19054,"40020":19055,"40024":19056,"40027":19057,"40029":19058,"40031":19059,"40041":19060,"40042":19061,"40043":19062,"40045":19063,"40046":19064,"40050":19065,"40053":19066,"40058":19067,"40166":19068,"40178":19069,"40203":19070,"171982":19071,"171991":19071,"40209":19072,"40215":19073,"40216":19074,"172079":19075,"19652":19076,"172058":19077,"40242":19078,"19665":19079,"40266":19080,"40287":19081,"40290":19082,"172281":19083,"172162":19084,"40307":19085,"40310":19086,"40311":19087,"40324":19088,"40345":19089,"40353":19090,"40383":19091,"40373":19092,"40377":19093,"40381":19094,"40393":19095,"40410":19096,"40416":19097,"40419":19098,"19719":19099,"40458":19100,"40450":19101,"40461":19102,"40476":19103,"40571":19104,"139800":19105,"40576":19106,"40581":19107,"40603":19108,"172940":19109,"40637":19110,"173111":19111,"40671":19112,"40703":19113,"40706":19114,"19831":19115,"40707":19116,"40762":19117,"40765":19118,"40774":19119,"40787":19120,"40789":19121,"40792":19122,"173553":19123,"40797":19124,"173570":19125,"40809":19126,"40813":19127,"40816":19128,"173746":19129,"11948":19130,"13844":19131,"14509":19132,"15820":19133,"16348":19134,"17854":19135,"17936":19136,"19326":19137,"19512":19138,"19681":19139,"19980":19140,"20003":19141,"20004":19142,"20089":19143,"20211":19144,"20236":19145,"20249":19146,"20267":19147,"20270":19148,"20273":19149,"20356":19150,"20382":19151,"20407":19152,"20484":19153,"20492":19154,"20556":19155,"20575":19156,"20578":19157,"20599":19158,"20622":19159,"20638":19160,"20642":19161,"20675":19162,"20712":19163,"20721":19164,"20734":19165,"20743":19166,"20748":19167,"20749":19168,"20750":19169,"20787":19170,"20792":19171,"20852":19172,"20868":19173,"20920":19174,"20922":19175,"20936":19176,"20943":19177,"20945":19178,"20947":19179,"20948":19180,"20952":19181,"20959":19182,"20997":19183,"21030":19184,"21032":19185,"21035":19186,"21041":19187,"21042":19188,"21045":19189,"21052":19190,"21082":19191,"21088":19192,"21102":19193,"21112":19194,"21113":19195,"21130":19196,"21132":19197,"21217":19198,"21225":19199,"21233":19200,"21251":19201,"21265":19202,"21279":19203,"21293":19204,"21298":19205,"21309":19206,"21349":19207,"21357":19208,"21369":19209,"21374":19210,"21396":19211,"21401":19212,"21418":19213,"21423":19214,"21434":19215,"21441":19216,"21444":19217,"21445":19218,"21472":19219,"21523":19220,"21546":19221,"21553":19222,"21556":19223,"21557":19224,"21580":19225,"21671":19226,"21674":19227,"21681":19228,"21691":19229,"21710":19230,"21738":19231,"21756":19232,"21765":19233,"21768":19234,"21781":19235,"21799":19236,"21802":19237,"21814":19238,"21841":19239,"21862":19240,"21903":19241,"21906":19242,"21908":19243,"21924":19244,"21938":19245,"21955":19246,"21958":19247,"21971":19248,"21979":19249,"21996":19250,"21998":19251,"22001":19252,"22006":19253,"22008":19254,"22021":19255,"22029":19256,"22033":19257,"22034":19258,"22060":19259,"22069":19260,"22073":19261,"22093":19262,"22100":19263,"22149":19264,"22175":19265,"22182":19266,"22199":19267,"22220":19268,"22223":19269,"22233":19270,"22241":19271,"22251":19272,"22253":19273,"22257":19274,"22279":19275,"22284":19276,"22298":19277,"22299":19278,"22301":19279,"22316":19280,"22318":19281,"22333":19282,"22334":19283,"22367":19284,"22379":19285,"22381":19286,"22394":19287,"22403":19288,"22423":19289,"22446":19290,"22485":19291,"22503":19292,"22541":19293,"22566":19294,"22605":19295,"22607":19296,"22623":19297,"22637":19298,"22655":19299,"22657":19300,"22680":19301,"22716":19302,"22815":19303,"22819":19304,"22873":19305,"22905":19306,"22935":19307,"22959":19308,"22963":19309,"23007":19310,"23025":19311,"23032":19312,"23218":19313,"23224":19314,"23274":19315,"23286":19316,"23323":19317,"23325":19318,"23329":19319,"23352":19320,"23479":19321,"23511":19322,"23520":19323,"23583":19324,"23594":19325,"23596":19326,"23606":19327,"23641":19328,"23644":19329,"23661":19330,"23773":19331,"23809":19332,"23860":19333,"23869":19334,"23897":19335,"23934":19336,"23939":19337,"24007":19338,"24057":19339,"24104":19340,"24114":19341,"24117":19342,"24155":19343,"24168":19344,"24170":19345,"24183":19346,"24192":19347,"24203":19348,"24243":19349,"24253":19350,"24273":19351,"24276":19352,"24277":19353,"24397":19354,"24492":19355,"24554":19356,"24583":19357,"24649":19358,"24660":19359,"24679":19360,"24763":19361,"24772":19362,"24829":19363,"24842":19364,"24854":19365,"24874":19366,"24886":19367,"24926":19368,"24932":19369,"24955":19370,"24957":19371,"24959":19372,"24989":19373,"25016":19374,"25052":19375,"25058":19376,"25061":19377,"25064":19378,"25092":19379,"25095":19380,"25137":19381,"25145":19382,"25149":19383,"25210":19384,"25232":19385,"25256":19386,"25306":19387,"25332":19388,"25366":19389,"25386":19390,"25398":19391,"25414":19392,"25419":19393,"25427":19394,"25457":19395,"25461":19396,"25471":19397,"25474":19398,"25482":19399,"25518":19400,"25519":19401,"25578":19402,"25592":19403,"25593":19404,"25618":19405,"25624":19406,"25632":19407,"25636":19408,"25642":19409,"25653":19410,"25661":19411,"25663":19412,"25682":19413,"25695":19414,"25716":19415,"25744":19416,"25752":19417,"25753":19418,"25772":19419,"25779":19420,"25837":19421,"25840":19422,"25883":19423,"25887":19424,"25902":19425,"25929":19426,"25952":19427,"26002":19428,"26005":19429,"26036":19430,"26046":19431,"26056":19432,"26062":19433,"26064":19434,"26079":19435,"26238":19436,"26251":19437,"26252":19438,"26291":19439,"26304":19440,"26319":19441,"26405":19442,"26421":19443,"26453":19444,"26496":19445,"26511":19446,"26513":19447,"26532":19448,"26545":19449,"26549":19450,"26558":19451,"26664":19452,"26758":19453,"26859":19454,"26869":19455,"26903":19456,"26931":19457,"26936":19458,"26971":19459,"26981":19460,"27048":19461,"27051":19462,"27055":19463,"27109":19464,"27121":19465,"27210":19466,"27221":19467,"27239":19468,"27249":19469,"27311":19470,"27336":19471,"27337":19472,"27395":19473,"27451":19474,"27455":19475,"27517":19476,"27518":19477,"27568":19478,"27639":19479,"27641":19480,"27652":19481,"27657":19482,"27661":19483,"27692":19484,"27722":19485,"27730":19486,"27732":19487,"27769":19488,"27820":19489,"27828":19490,"27858":19491,"28001":19492,"28028":19493,"28089":19494,"28144":19495,"28229":19496,"28275":19497,"28283":19498,"28285":19499,"28297":19500,"28348":19501,"28378":19502,"28379":19503,"28454":19504,"28457":19505,"28464":19506,"28551":19507,"28573":19508,"28590":19509,"28599":19510,"28685":19511,"28704":19512,"28745":19513,"28824":19514,"28848":19515,"28885":19516,"28886":19517,"28997":19518,"29106":19519,"29172":19520,"29207":19521,"29215":19522,"29251":19523,"29263":19524,"29264":19525,"29274":19526,"29280":19527,"29288":19528,"29303":19529,"29316":19530,"29385":19531,"29413":19532,"29428":19533,"29442":19534,"29451":19535,"29470":19536,"29474":19537,"29498":19538,"29499":19539,"29517":19540,"29528":19541,"29543":19542,"29810":19543,"29871":19544,"29919":19545,"29924":19546,"29940":19547,"29947":19548,"29974":19549,"29985":19550,"30015":19551,"30046":19552,"30105":19553,"30116":19554,"30145":19555,"30148":19556,"30156":19557,"30167":19558,"30172":19559,"30177":19560,"30191":19561,"30212":19562,"30220":19563,"30237":19564,"30258":19565,"30264":19566,"30277":19567,"30282":19568,"30303":19569,"30381":19570,"30397":19571,"30425":19572,"30443":19573,"30448":19574,"30457":19575,"30464":19576,"30478":19577,"30498":19578,"30504":19579,"30511":19580,"30521":19581,"30526":19582,"30533":19583,"30538":19584,"30543":19585,"30558":19586,"30564":19587,"30567":19588,"30572":19589,"30596":19590,"30604":19591,"30605":19592,"30614":19593,"30631":19594,"30639":19595,"30647":19596,"30654":19597,"30665":19598,"30673":19599,"30681":19600,"30705":19601,"30775":19602,"30812":19603,"30846":19604,"30872":19605,"30881":19606,"30897":19607,"30899":19608,"30921":19609,"30931":19610,"30988":19611,"31007":19612,"31015":19613,"31016":19614,"31039":19615,"31042":19616,"31060":19617,"31083":19618,"31100":19619,"31147":19620,"31172":19621,"31210":19622,"31234":19623,"31244":19624,"31280":19625,"31290":19626,"31300":19627,"31360":19628,"31366":19629,"31380":19630,"31413":19631,"31421":19632,"31486":19633,"31531":19634,"31607":19635,"31648":19636,"31660":19637,"31664":19638,"31720":19639,"31730":19640,"31736":19641,"31740":19642,"31742":19643,"31753":19644,"31784":19645,"31791":19646,"31810":19647,"31826":19648,"31827":19649,"31835":19650,"31836":19651,"31837":19652,"31858":19653,"31869":19654,"31879":19655,"31902":19656,"31930":19657,"31943":19658,"31955":19659,"31962":19660,"32060":19661,"32077":19662,"32130":19663,"32133":19664,"32141":19665,"32145":19666,"32158":19667,"32179":19668,"32185":19669,"32208":19670,"32229":19671,"32245":19672,"32246":19673,"32303":19674,"32310":19675,"32324":19676,"32367":19677,"32376":19678,"32385":19679,"32573":19680,"32603":19681,"32605":19682,"32613":19683,"32625":19684,"32639":19685,"32640":19686,"32651":19687,"32674":19688,"32765":19689,"32766":19690,"32767":19691,"32775":19692,"32781":19693,"32798":19694,"32825":19695,"32904":19696,"32910":19697,"32975":19698,"32980":19699,"33005":19700,"33008":19701,"33015":19702,"33018":19703,"33022":19704,"33027":19705,"33047":19706,"33072":19707,"33111":19708,"33135":19709,"33139":19710,"33163":19711,"33168":19712,"33179":19713,"33182":19714,"33227":19715,"33237":19716,"33245":19717,"33246":19718,"33249":19719,"33263":19720,"33270":19721,"33280":19722,"33291":19723,"33299":19724,"33300":19725,"33306":19726,"33338":19727,"33348":19728,"33389":19729,"33412":19730,"33417":19731,"33425":19732,"33450":19733,"33456":19734,"33488":19735,"33514":19736,"33519":19737,"33526":19738,"33622":19739,"33656":19740,"33784":19741,"33788":19742,"33880":19743,"33939":19744,"33969":19745,"33981":19746,"34043":19747,"34118":19748,"34134":19749,"34141":19750,"34181":19751,"34200":19752,"34370":19753,"34374":19754,"34496":19755,"34580":19756,"34594":19757,"34606":19758,"34617":19759,"34653":19760,"34683":19761,"34700":19762,"34702":19763,"34711":19764,"34712":19765,"34718":19766,"34723":19767,"34734":19768,"34751":19769,"34761":19770,"34778":19771,"34840":19772,"34843":19773,"34861":19774,"34874":19775,"34885":19776,"34891":19777,"34894":19778,"34901":19779,"34906":19780,"34926":19781,"34970":19782,"34971":19783,"34972":19784,"35021":19785,"35040":19786,"35055":19787,"35086":19788,"35087":19789,"35110":19790,"35125":19791,"35162":19792,"35164":19793,"35179":19794,"35184":19795,"35196":19796,"35237":19797,"35253":19798,"35260":19799,"35285":19800,"35401":19801,"35415":19802,"35431":19803,"35454":19804,"35462":19805,"35478":19806,"35510":19807,"35529":19808,"35537":19809,"35549":19810,"35564":19811,"35573":19812,"35590":19813,"35599":19814,"35601":19815,"35653":19816,"35666":19817,"35693":19818,"35704":19819,"35708":19820,"35710":19821,"35717":19822,"35743":19823,"35915":19824,"35923":19825,"35963":19826,"36026":19827,"36037":19828,"36041":19829,"36050":19830,"36076":19831,"36085":19832,"36087":19833,"36097":19834,"36099":19835,"36119":19836,"36124":19837,"36206":19838,"36241":19839,"36255":19840,"36267":19841,"36274":19842,"36309":19843,"36327":19844,"36337":19845,"36338":19846,"36340":19847,"36353":19848,"36363":19849,"36390":19850,"36401":19851,"36416":19852,"36417":19853,"36429":19854,"36431":19855,"36444":19856,"36449":19857,"36457":19858,"36465":19859,"36469":19860,"36471":19861,"36489":19862,"36496":19863,"36501":19864,"36506":19865,"36519":19866,"36521":19867,"36525":19868,"36584":19869,"36592":19870,"36615":19871,"36632":19872,"36645":19873,"36647":19874,"36652":19875,"36661":19876,"36666":19877,"36675":19878,"36679":19879,"36689":19880,"36693":19881,"36768":19882,"36769":19883,"36770":19884,"36773":19885,"36868":19886,"36891":19887,"36911":19888,"36940":19889,"36955":19890,"36976":19891,"36980":19892,"36985":19893,"37003":19894,"37016":19895,"37024":19896,"37042":19897,"37053":19898,"37065":19899,"37104":19900,"37125":19901,"37157":19902,"37210":19903,"37223":19904,"37242":19905,"37258":19906,"37265":19907,"37269":19908,"37296":19909,"37307":19910,"37309":19911,"37314":19912,"37317":19913,"37376":19914,"37385":19915,"37411":19916,"37494":19917,"37518":19918,"37551":19919,"37563":19920,"37564":19921,"37569":19922,"37571":19923,"37573":19924,"37576":19925,"37652":19926,"37683":19927,"37686":19928,"37720":19929,"37759":19930,"37762":19931,"37770":19932,"37819":19933,"37836":19934,"37862":19935,"37881":19936,"37890":19937,"37901":19938,"37902":19939,"37934":19940,"37964":19941,"38280":19942,"38305":19943,"38335":19944,"38342":19945,"38345":19946,"38353":19947,"38354":19948,"38368":19949,"38372":19950,"38374":19951,"38436":19952,"38449":19953,"38456":19954,"38461":19955,"38484":19956,"38516":19957,"38523":19958,"38527":19959,"38529":19960,"38531":19961,"38537":19962,"38550":19963,"38574":19964,"38659":19965,"38683":19966,"38689":19967,"38690":19968,"38696":19969,"38705":19970,"38759":19971,"38774":19972,"38781":19973,"38783":19974,"38809":19975,"38815":19976,"38828":19977,"38841":19978,"38861":19979,"38880":19980,"38895":19981,"38919":19982,"38950":19983,"38958":19984,"39010":19985,"39011":19986,"39092":19987,"39109":19988,"39170":19989,"39185":19990,"39189":19991,"39221":19992,"39240":19993,"39252":19994,"39262":19995,"39393":19996,"39436":19997,"39440":19998,"39459":19999,"39489":20000,"39505":20001,"39613":20002,"39614":20003,"39681":20004,"39689":20005,"39691":20006,"39693":20007,"39694":20008,"39705":20009,"39733":20010,"39752":20011,"39765":20012,"39784":20013,"39808":20014,"39814":20015,"39824":20016,"39837":20017,"39856":20018,"39871":20019,"39880":20020,"39935":20021,"39938":20022,"39964":20023,"39989":20024,"40004":20025,"40022":20026,"40033":20027,"40040":20028,"40240":20029,"40253":20030,"40298":20031,"40315":20032,"40421":20033,"40425":20034,"40435":20035,"40570":20036,"40578":20037,"40579":20038,"40580":20039,"40624":20040,"40676":20041,"40688":20042,"40690":20043,"40713":20044,"40719":20045,"40724":20046,"40731":20047,"40738":20048,"40742":20049,"40746":20050,"40747":20051,"40756":20052,"40794":20053,"40815":20054,"40862":20055,"40869":20056,"131317":20057,"151044":20058,"151538":20059,"163187":20060,"194581":20061,"194630":20062,"194713":20063,"194726":20064,"194789":20065,"195038":20066,"13790":20067,"40895":20068,"40896":20069,"40897":20070,"40898":20071,"172722":20072,"131416":20075,"132529":20080,"132844":20083,"134488":20090,"154060":20112,"14756":20122,"14776":20123,"142914":20124,"14940":20127,"133064":20128,"143339":20130,"162228":20133,"15044":20135,"15051":20136,"14981":20142,"15347":20151,"27384":20152,"15665":20158,"147531":20168,"15936":20170,"14497":20171,"158878":20206,"18207":20219,"162876":20220,"18462":20225,"39709":20297,"39724":20298,"20482":20299,"20958":20300,"21255":20301,"23532":20302,"63784":20303,"26142":20304,"63785":20305,"28746":20306,"64021":20307,"21857":20308,"27706":20309,"31328":20310,"156492":20311,"34819":20312,"38315":20313,"38741":20314,"171581":20315,"173594":20316,"900":20317,"901":20318,"272":20322,"294":20323,"306":20324,"319":20325,"330":20326,"358":20327,"307":20328,"312":20329,"320":20330,"329":20331,"359":20332,"266":20333,"278":20334,"286":20335,"290":20336,"288":20337,"304":20338,"302":20339,"310":20340,"315":20342,"325":20343,"342":20344,"370":20345,"471":20346,"475":20347,"473":20348,"469":20349,"372":20350,"374":20351,"267":20352,"279":20353,"501":20354,"287":20355,"289":20356,"303":20357,"311":20358,"316":20360,"326":20361,"343":20362,"371":20363,"373":20364,"375":20365,"8494":20366,"8710":20367,"8719":20368,"8804":20369,"8805":20370,"9674":20371,"902":20427,"904":20428,"905":20429,"906":20430,"938":20431,"908":20432,"910":20433,"939":20434,"911":20435,"940":20436,"941":20437,"942":20438,"943":20439,"970":20440,"912":20441,"972":20442,"973":20443,"971":20444,"944":20445,"974":20446,"1026":20447,"1027":20448,"1028":20449,"1029":20450,"1030":20451,"1031":20452,"1032":20453,"1033":20454,"1034":20455,"1035":20456,"1036":20457,"1038":20458,"1039":20459,"1106":20460,"1107":20461,"1108":20462,"1109":20463,"1110":20464,"1111":20465,"1112":20466,"1113":20467,"1114":20468,"1115":20469,"1116":20470,"1118":20471,"1119":20472,"9361":20587,"9362":20588,"20021":21075,"20060":21076,"20067":21077,"20072":21078,"20084":21079,"20085":21080,"20119":21081,"20143":21082,"20187":21083,"20194":21084,"20200":21085,"20207":21086,"20222":21087,"20226":21088,"20232":21089,"20242":21090,"20247":21091,"20275":21092,"20277":21093,"20288":21094,"20290":21095,"20299":21096,"20300":21097,"20306":21098,"20323":21099,"20334":21100,"20337":21101,"20345":21102,"20353":21103,"20361":21104,"20364":21105,"20366":21106,"20368":21107,"20371":21108,"20377":21109,"20383":21110,"20409":21111,"20411":21112,"20412":21113,"20413":21114,"20416":21115,"20417":21116,"20422":21117,"20424":21118,"20428":21119,"20444":21120,"20450":21121,"20464":21122,"20476":21123,"20487":21124,"20490":21125,"20503":21126,"20509":21127,"20528":21128,"20530":21129,"20531":21130,"20533":21131,"20549":21132,"20554":21133,"20561":21134,"20562":21135,"20569":21136,"20576":21137,"20583":21138,"20589":21139,"20593":21140,"20609":21141,"20611":21142,"20612":21143,"20614":21144,"20618":21145,"20624":21146,"20635":21147,"20639":21148,"20640":21149,"20641":21150,"20655":21151,"20656":21152,"20665":21153,"20669":21154,"20672":21155,"20691":21156,"20700":21157,"20701":21158,"20703":21159,"20706":21160,"20708":21161,"20726":21162,"20730":21163,"20761":21165,"20764":21166,"20765":21167,"20771":21168,"20775":21169,"20776":21170,"20780":21171,"20781":21172,"20783":21173,"20785":21174,"20788":21175,"20793":21176,"20802":21177,"20815":21178,"20819":21179,"20824":21180,"20838":21181,"20862":21182,"20878":21183,"20927":21184,"20930":21185,"20946":21186,"20949":21187,"20965":21188,"20978":21189,"20983":21190,"21016":21191,"21026":21192,"21061":21193,"21080":21194,"21087":21195,"21120":21196,"21125":21197,"21141":21198,"21142":21199,"21143":21200,"21146":21201,"21157":21202,"21159":21203,"21168":21204,"21174":21205,"21175":21206,"21176":21207,"21181":21208,"21188":21209,"21190":21210,"21199":21211,"21204":21212,"21212":21213,"21221":21214,"21224":21215,"21226":21216,"21228":21217,"21236":21218,"21238":21219,"21260":21220,"21267":21221,"21272":21222,"21275":21223,"21278":21224,"21285":21225,"21287":21226,"21288":21227,"21289":21228,"21291":21229,"21292":21230,"21296":21231,"21308":21232,"21337":21233,"21339":21234,"21379":21236,"21383":21237,"21384":21238,"21390":21239,"21409":21240,"21429":21241,"21432":21242,"21437":21243,"21455":21244,"21458":21245,"21459":21246,"21470":21247,"21479":21249,"21506":21250,"21530":21251,"21537":21252,"21551":21253,"21572":21254,"21575":21255,"21583":21256,"21598":21257,"21604":21258,"21607":21259,"21609":21260,"21613":21261,"21614":21262,"21633":21263,"21635":21264,"21637":21265,"21641":21266,"21649":21267,"21663":21268,"21706":21269,"21728":21270,"21750":21271,"21758":21272,"21772":21273,"21773":21274,"21810":21275,"21819":21276,"21821":21277,"21833":21278,"21837":21279,"21848":21280,"21850":21281,"21851":21282,"21887":21283,"21907":21284,"21911":21285,"21923":21286,"21953":21287,"21963":21288,"21975":21289,"21976":21290,"21982":21291,"22015":21292,"22026":21294,"22041":21295,"22067":21296,"22076":21297,"22081":21298,"22083":21299,"22084":21300,"22086":21301,"22113":21302,"22114":21303,"22115":21304,"22133":21305,"22148":21306,"22155":21307,"22183":21308,"22187":21309,"22206":21310,"22219":21311,"22224":21312,"22236":21313,"22245":21314,"22246":21315,"22247":21316,"22273":21317,"22274":21318,"22289":21319,"22304":21320,"22306":21321,"22308":21322,"22309":21323,"22314":21324,"22335":21325,"22354":21326,"22370":21327,"22375":21328,"22382":21329,"22385":21330,"22393":21331,"22398":21332,"22401":21333,"22420":21334,"22425":21335,"22431":21336,"22433":21337,"22421":21338,"22439":21339,"22441":21340,"22461":21341,"22493":21342,"22505":21343,"22526":21344,"22531":21345,"22536":21346,"22497":21347,"22540":21348,"22555":21349,"22559":21350,"22573":21351,"22591":21352,"22608":21353,"22613":21354,"22632":21355,"22648":21356,"22663":21357,"22664":21358,"22668":21359,"22678":21360,"22688":21361,"22689":21362,"22690":21363,"22694":21364,"22724":21365,"22722":21366,"22728":21367,"22742":21368,"22749":21369,"22753":21370,"22802":21372,"22803":21373,"22813":21374,"22817":21375,"22824":21376,"22832":21377,"22835":21378,"22837":21379,"22838":21380,"22847":21381,"22851":21382,"22866":21383,"22878":21384,"22891":21385,"22895":21386,"22898":21387,"22907":21388,"22924":21389,"22926":21390,"22933":21391,"22951":21392,"22957":21393,"22960":21394,"22967":21395,"22977":21396,"22980":21397,"23023":21398,"23026":21399,"23028":21400,"23031":21401,"23040":21402,"23054":21403,"23058":21404,"23070":21405,"23076":21406,"23080":21407,"23082":21408,"23088":21409,"23108":21410,"23109":21411,"23112":21412,"23116":21413,"23120":21414,"23134":21415,"23163":21416,"23184":21417,"23187":21418,"23190":21419,"23193":21420,"23227":21421,"23238":21422,"23240":21423,"23247":21424,"23293":21425,"23297":21426,"23371":21427,"23390":21428,"23406":21429,"23430":21430,"23438":21431,"23440":21432,"23441":21433,"23444":21434,"23464":21435,"23465":21436,"23469":21437,"23471":21438,"23473":21439,"23474":21440,"23482":21441,"23484":21442,"23489":21443,"23501":21444,"23503":21445,"23513":21446,"23514":21447,"23535":21448,"23540":21449,"23564":21450,"23575":21451,"23590":21452,"23598":21453,"23602":21454,"23605":21455,"23642":21456,"23668":21457,"23669":21458,"23675":21459,"23677":21460,"23687":21461,"23698":21462,"23709":21463,"23730":21464,"23732":21465,"23767":21466,"23790":21467,"23793":21468,"23794":21469,"23826":21470,"23843":21471,"23871":21472,"23880":21473,"23893":21474,"23889":21475,"23903":21476,"23904":21477,"23906":21478,"23908":21479,"23929":21480,"23930":21481,"23935":21482,"23946":21483,"23955":21484,"23957":21485,"23963":21486,"23967":21487,"23979":21488,"24003":21489,"24014":21490,"24025":21491,"24071":21492,"24077":21493,"24096":21494,"24139":21495,"24144":21496,"24145":21497,"24156":21498,"24176":21499,"24206":21500,"24226":21501,"24228":21502,"24241":21503,"24268":21504,"24270":21505,"24284":21506,"24286":21507,"24293":21508,"24299":21509,"24326":21510,"24345":21511,"24356":21512,"24363":21513,"24364":21514,"24366":21515,"24368":21516,"24383":21517,"24388":21518,"24411":21519,"24416":21520,"24431":21521,"24436":21522,"24437":21523,"24440":21524,"24442":21525,"24461":21526,"24470":21527,"24477":21528,"24491":21529,"24496":21530,"24497":21531,"24520":21532,"24528":21533,"24529":21534,"24552":21535,"24556":21536,"24562":21537,"24566":21538,"24570":21539,"24586":21540,"24595":21541,"24607":21542,"24621":21543,"24640":21544,"24648":21545,"24657":21546,"24662":21547,"24663":21548,"24689":21549,"24702":21550,"24706":21551,"24710":21552,"24712":21553,"24718":21554,"24721":21555,"24723":21556,"24728":21557,"24738":21559,"24741":21560,"24759":21561,"24770":21562,"24777":21563,"24778":21564,"24782":21565,"24783":21566,"24802":21567,"24805":21568,"24828":21569,"24834":21570,"24839":21571,"24844":21572,"24855":21573,"24866":21574,"24881":21575,"24885":21576,"24889":21577,"24901":21578,"24905":21579,"24940":21580,"24946":21581,"24952":21582,"24960":21583,"24961":21584,"24963":21585,"24964":21586,"24971":21587,"24988":21588,"24992":21589,"25002":21590,"25024":21591,"25025":21592,"25038":21593,"25039":21594,"25054":21595,"25057":21596,"25063":21597,"25065":21598,"25068":21599,"25069":21600,"25071":21601,"25089":21602,"25091":21603,"25116":21604,"25120":21605,"25127":21606,"25131":21607,"25154":21608,"25156":21609,"25168":21610,"25172":21611,"25180":21612,"25213":21613,"25229":21614,"25230":21615,"25231":21616,"25267":21617,"25270":21618,"25271":21619,"25274":21620,"25278":21621,"25279":21622,"25294":21623,"25322":21624,"25330":21625,"25348":21626,"25355":21627,"25363":21628,"25385":21629,"25389":21630,"25418":21631,"25426":21632,"25428":21633,"25432":21634,"25435":21635,"25446":21636,"25453":21637,"25464":21638,"25493":21639,"25498":21640,"25508":21641,"25510":21642,"25517":21643,"25537":21644,"25541":21645,"25544":21646,"25550":21647,"25555":21648,"25587":21649,"25610":21650,"25648":21651,"25675":21652,"25679":21653,"25683":21654,"25692":21655,"25697":21656,"25699":21657,"25733":21658,"25743":21659,"25755":21660,"25761":21661,"25763":21662,"25766":21663,"25768":21664,"25789":21665,"25801":21666,"25809":21667,"25833":21668,"25834":21669,"25845":21670,"25857":21671,"25864":21672,"25865":21673,"25866":21674,"25875":21675,"25894":21676,"25905":21677,"25914":21678,"25916":21679,"25917":21680,"25923":21681,"25936":21682,"25938":21683,"25951":21684,"25981":21685,"26008":21686,"26016":21687,"26019":21688,"26022":21689,"26030":21690,"26035":21691,"26070":21692,"26072":21693,"26100":21695,"26101":21696,"26110":21697,"26111":21698,"26125":21699,"26129":21700,"26130":21701,"26134":21702,"26141":21703,"26147":21704,"26150":21705,"26153":21706,"26169":21707,"26167":21708,"26176":21709,"26182":21710,"26186":21711,"26200":21712,"26208":21713,"26229":21714,"26239":21715,"26233":21716,"26236":21717,"26266":21718,"26267":21719,"26268":21720,"26271":21721,"26306":21723,"26307":21724,"26316":21725,"26318":21726,"26324":21727,"26335":21728,"26347":21729,"26350":21730,"26375":21731,"26396":21732,"26400":21733,"26402":21734,"26430":21735,"26437":21736,"26476":21737,"26500":21738,"26510":21739,"26518":21740,"26521":21741,"26556":21742,"26557":21743,"26562":21744,"26565":21745,"26569":21746,"26588":21747,"26593":21748,"26598":21749,"26610":21750,"26614":21751,"26644":21752,"26649":21753,"26663":21754,"26671":21755,"26687":21756,"26698":21757,"26712":21758,"26735":21759,"26736":21760,"26737":21761,"26745":21762,"26747":21763,"26760":21764,"26785":21765,"26793":21766,"26798":21767,"26833":21768,"26835":21769,"26844":21770,"26845":21771,"26858":21772,"26870":21773,"26877":21774,"26886":21775,"26889":21776,"26896":21777,"26902":21778,"26929":21779,"26949":21780,"26958":21781,"26982":21782,"26992":21783,"26993":21784,"27003":21785,"27021":21786,"27041":21787,"27064":21788,"27077":21789,"27080":21790,"27136":21792,"27139":21793,"27168":21794,"27172":21795,"27191":21796,"27242":21798,"27265":21799,"27270":21800,"27271":21801,"27291":21802,"27312":21803,"27313":21804,"27316":21805,"27326":21806,"27327":21807,"27340":21808,"27349":21809,"27350":21810,"27376":21811,"27388":21812,"27394":21813,"27398":21814,"27399":21815,"27401":21816,"27432":21817,"27435":21818,"27446":21819,"27469":21820,"27474":21821,"27485":21822,"27499":21823,"27502":21824,"27504":21825,"27525":21826,"27543":21827,"27551":21828,"27552":21829,"27554":21830,"27555":21831,"27560":21832,"27564":21833,"27576":21834,"27577":21835,"27587":21836,"27588":21837,"27619":21838,"27666":21839,"27673":21840,"27679":21841,"27686":21842,"27687":21843,"27688":21844,"27694":21845,"27707":21846,"27723":21847,"27727":21848,"27755":21849,"27768":21850,"27783":21851,"27807":21852,"27824":21853,"27826":21854,"27853":21855,"27855":21856,"27857":21857,"27879":21858,"27890":21859,"27892":21860,"27911":21861,"27919":21862,"27923":21863,"27930":21864,"27944":21865,"27999":21866,"28007":21867,"28050":21868,"28055":21869,"28087":21870,"28093":21871,"28128":21872,"28130":21873,"28133":21874,"28143":21875,"28148":21876,"28160":21877,"28164":21878,"28219":21879,"28242":21880,"28253":21881,"28258":21882,"28264":21883,"28301":21884,"28313":21885,"28320":21886,"28333":21887,"28334":21888,"28339":21889,"28347":21890,"28352":21891,"28360":21892,"28365":21893,"28367":21894,"28397":21895,"28398":21896,"28420":21897,"28424":21898,"28429":21899,"28438":21900,"28443":21901,"28475":21902,"28461":21903,"28495":21904,"28499":21905,"28509":21906,"28524":21907,"28547":21908,"28563":21909,"28582":21910,"28592":21911,"28613":21912,"28648":21913,"28669":21914,"28695":21915,"28719":21916,"28724":21917,"28727":21918,"28740":21919,"28744":21920,"28757":21921,"28820":21922,"28822":21923,"28827":21924,"28852":21925,"28922":21926,"28933":21927,"28939":21928,"28973":21929,"28984":21930,"28993":21931,"29003":21932,"29015":21934,"29018":21935,"29068":21936,"29082":21937,"29104":21938,"29119":21939,"29120":21940,"29132":21941,"29146":21942,"29176":21943,"29192":21944,"29193":21945,"29203":21946,"29210":21947,"29220":21948,"29231":21949,"29253":21950,"29262":21951,"29278":21952,"29291":21953,"29297":21954,"29307":21955,"29308":21956,"29321":21957,"29331":21958,"29352":21959,"29397":21960,"29398":21961,"29400":21962,"29407":21963,"29438":21964,"29453":21965,"29459":21966,"29490":21967,"29493":21968,"29526":21969,"29533":21970,"29534":21971,"29535":21972,"29536":21973,"29545":21974,"29561":21975,"29568":21976,"29582":21977,"29584":21978,"29587":21979,"29591":21980,"29610":21981,"29613":21982,"29638":21983,"29644":21984,"29651":21985,"29661":21986,"29670":21987,"29687":21988,"29691":21989,"29695":21990,"29696":21991,"29713":21992,"29741":21993,"29799":21994,"29800":21995,"29806":21996,"29839":21997,"29841":21998,"29850":21999,"29870":22000,"29873":22001,"29874":22002,"29900":22003,"29904":22004,"29907":22005,"29915":22007,"29928":22008,"29930":22009,"29948":22011,"29958":22012,"29970":22013,"29991":22014,"29993":22015,"30006":22016,"30009":22017,"30019":22018,"30023":22019,"30039":22020,"30047":22021,"30049":22022,"30075":22023,"30076":22024,"30085":22025,"30101":22026,"30108":22027,"30138":22028,"30226":22029,"30243":22030,"30249":22031,"30265":22032,"30266":22033,"30272":22034,"30276":22035,"30297":22036,"30341":22037,"30348":22038,"30349":22039,"30367":22040,"30370":22041,"30371":22042,"30401":22043,"30411":22044,"30432":22046,"30454":22047,"30470":22048,"30482":22049,"30484":22050,"30485":22051,"30492":22052,"30510":22053,"30525":22054,"30530":22055,"30546":22056,"30550":22057,"30551":22058,"30576":22059,"30579":22060,"30580":22061,"30638":22064,"30641":22065,"30645":22066,"30659":22067,"30674":22068,"30677":22069,"30712":22070,"30734":22071,"30737":22072,"30749":22073,"30755":22074,"30788":22075,"30792":22076,"30796":22077,"30802":22078,"30814":22079,"30816":22080,"30817":22081,"30819":22082,"30863":22083,"30888":22084,"30892":22085,"30898":22086,"30909":22087,"30911":22088,"30919":22089,"30930":22090,"30934":22091,"30939":22092,"30943":22093,"30954":22094,"30963":22095,"30966":22096,"30975":22097,"30982":22098,"31002":22099,"31006":22100,"31008":22101,"31017":22102,"31021":22103,"31029":22104,"31044":22105,"31051":22106,"31055":22107,"31057":22108,"31081":22109,"31099":22110,"31102":22111,"31116":22112,"31121":22113,"31123":22114,"31132":22115,"31144":22116,"31151":22117,"31183":22118,"31197":22119,"31200":22120,"31202":22121,"31205":22122,"31217":22123,"31224":22124,"31228":22125,"31239":22126,"31265":22127,"31271":22128,"31275":22129,"31279":22130,"31284":22131,"31285":22132,"31304":22133,"31317":22134,"31333":22135,"31358":22136,"31371":22137,"31377":22138,"31390":22139,"31433":22140,"31451":22141,"31465":22142,"31468":22143,"31473":22144,"31483":22145,"31519":22146,"31523":22147,"31529":22148,"31536":22149,"31540":22150,"31551":22151,"31552":22152,"31594":22153,"31620":22154,"31625":22155,"31630":22156,"31638":22157,"31653":22158,"31666":22159,"31670":22160,"31674":22161,"31675":22162,"31677":22163,"31682":22164,"31688":22165,"31707":22166,"31732":22167,"31733":22168,"31737":22169,"31738":22170,"31746":22171,"31748":22172,"31750":22173,"31756":22174,"31769":22175,"31771":22176,"31781":22177,"31788":22178,"31796":22179,"31801":22180,"31802":22181,"31814":22182,"31829":22183,"31834":22184,"31843":22185,"31868":22187,"31878":22188,"31920":22189,"31931":22190,"31951":22191,"31956":22192,"31977":22193,"32015":22194,"32017":22195,"32022":22196,"32038":22197,"32042":22198,"32045":22199,"32081":22200,"32087":22201,"32101":22202,"32103":22203,"32120":22204,"32123":22205,"32129":22206,"32150":22207,"32195":22208,"32196":22209,"32197":22210,"32198":22211,"32205":22212,"32206":22213,"32256":22214,"32226":22215,"32234":22216,"32237":22217,"32250":22218,"32284":22219,"32301":22220,"32307":22221,"32319":22222,"32334":22223,"32336":22224,"32344":22225,"32351":22226,"32357":22227,"32405":22228,"32413":22229,"32414":22230,"32575":22231,"32604":22232,"32614":22233,"32653":22235,"32655":22236,"32678":22237,"32682":22238,"32692":22239,"32700":22240,"32704":22241,"32712":22242,"32744":22243,"32783":22244,"32787":22245,"32797":22246,"32799":22247,"32800":22248,"32814":22249,"32820":22250,"32830":22251,"32832":22252,"32836":22253,"32868":22254,"32877":22255,"32897":22256,"32953":22257,"32968":22258,"32973":22259,"32978":22260,"33006":22261,"33010":22262,"33014":22263,"33017":22264,"33035":22265,"33052":22266,"33056":22267,"33084":22268,"33093":22269,"33095":22270,"33106":22271,"33121":22272,"33143":22273,"33158":22274,"33166":22275,"33174":22276,"33186":22277,"33198":22278,"33221":22279,"33230":22280,"33259":22281,"33264":22282,"33265":22283,"33266":22284,"33269":22285,"33272":22286,"33295":22288,"33309":22289,"33320":22290,"33347":22291,"33358":22292,"33361":22293,"33366":22294,"33383":22295,"33403":22296,"33408":22297,"33409":22298,"33415":22299,"33428":22300,"33430":22301,"33432":22302,"33434":22303,"33435":22304,"33440":22305,"33498":22306,"33504":22307,"33508":22308,"33517":22309,"33546":22310,"33547":22311,"33566":22312,"33567":22313,"33569":22314,"33580":22315,"33582":22316,"33587":22317,"33591":22318,"33597":22319,"33602":22320,"33613":22321,"33614":22322,"33648":22323,"33664":22324,"33666":22325,"33668":22326,"33689":22327,"33692":22328,"33702":22329,"33708":22330,"33726":22331,"33619":22332,"33768":22333,"33817":22334,"33709":22335,"33839":22336,"33861":22337,"33863":22338,"33869":22339,"33878":22340,"33888":22342,"33892":22343,"33895":22344,"33898":22345,"33908":22346,"33917":22347,"33938":22348,"33941":22349,"33961":22350,"33962":22351,"33991":22352,"33992":22353,"33996":22354,"34034":22355,"34039":22356,"34050":22357,"34051":22358,"34055":22359,"34062":22360,"34064":22361,"34076":22362,"34082":22363,"34087":22364,"34090":22365,"34099":22366,"34102":22367,"34111":22368,"34128":22369,"34130":22370,"34140":22371,"34143":22373,"34144":22374,"34169":22375,"34185":22376,"34187":22377,"34208":22378,"34213":22379,"34215":22380,"34228":22381,"34230":22382,"34232":22383,"34237":22384,"34238":22385,"34239":22386,"34242":22387,"34266":22388,"34272":22389,"34280":22390,"34291":22391,"34300":22392,"34317":22393,"34318":22394,"34329":22395,"34331":22396,"34358":22397,"34362":22398,"34365":22399,"34392":22400,"34393":22401,"34397":22402,"34400":22403,"34401":22404,"34404":22405,"34409":22406,"34422":22407,"34454":22408,"34458":22409,"34465":22410,"34470":22411,"34477":22412,"34484":22413,"34485":22414,"34487":22415,"34489":22416,"34495":22417,"34501":22418,"34514":22419,"34522":22420,"34524":22421,"34528":22422,"34533":22423,"34535":22424,"34440":22425,"34564":22426,"34575":22427,"34607":22428,"34610":22429,"34620":22430,"34621":22431,"34629":22432,"34637":22433,"34657":22434,"34671":22435,"34691":22436,"34692":22437,"34693":22438,"34694":22439,"34704":22440,"34709":22441,"34737":22443,"34760":22444,"34762":22445,"34773":22446,"34777":22447,"34780":22448,"34786":22449,"34788":22450,"34801":22451,"34803":22452,"34808":22453,"34810":22454,"34815":22455,"34825":22456,"34841":22457,"34834":22458,"34842":22459,"34846":22460,"34864":22461,"34869":22462,"34881":22463,"34883":22464,"34888":22465,"34889":22466,"34897":22468,"34908":22469,"34912":22470,"34929":22471,"34937":22472,"34939":22473,"34944":22474,"34975":22475,"34984":22476,"35002":22477,"35019":22478,"35020":22479,"35038":22480,"35047":22481,"35063":22482,"35085":22483,"35093":22484,"35094":22485,"35104":22486,"35112":22487,"35121":22488,"35130":22489,"35142":22490,"35151":22491,"35154":22492,"35159":22493,"35163":22494,"35169":22495,"35171":22496,"35182":22497,"35187":22498,"35189":22499,"35194":22500,"35197":22501,"35213":22502,"35221":22503,"35227":22504,"35228":22505,"35232":22506,"35252":22507,"35254":22508,"35287":22509,"35305":22510,"35309":22511,"35321":22512,"35332":22513,"35333":22514,"35358":22515,"35360":22516,"35364":22517,"35366":22518,"35371":22519,"35372":22520,"35375":22521,"35389":22522,"35392":22523,"35395":22524,"35411":22525,"35414":22526,"35420":22527,"35429":22528,"35446":22529,"35447":22530,"35450":22531,"35451":22532,"35456":22533,"35459":22534,"35467":22535,"35471":22536,"35474":22537,"35479":22538,"35481":22539,"35487":22540,"35497":22541,"35503":22542,"35507":22543,"35515":22544,"35523":22545,"35526":22546,"35528":22547,"35530":22548,"35539":22549,"35540":22550,"35541":22551,"35568":22552,"35583":22553,"35595":22554,"35614":22555,"35632":22556,"35644":22557,"35650":22558,"35656":22559,"35661":22560,"35683":22561,"35705":22562,"35716":22563,"35725":22564,"35727":22565,"35896":22566,"35902":22567,"35921":22568,"35928":22569,"35931":22570,"35933":22571,"35929":22572,"35939":22573,"35940":22574,"35942":22575,"35957":22576,"35958":22577,"35966":22578,"35974":22579,"35975":22580,"35979":22581,"35984":22582,"35996":22584,"36025":22585,"36038":22586,"36043":22587,"36047":22588,"36061":22589,"36072":22590,"36079":22591,"36082":22592,"36095":22593,"36197":22594,"36223":22595,"36226":22596,"36232":22597,"36240":22598,"36254":22599,"36256":22600,"36268":22601,"36277":22602,"36279":22603,"36281":22604,"36283":22605,"36288":22606,"36293":22607,"36295":22608,"36298":22609,"36308":22610,"36325":22611,"36336":22612,"36284":22613,"36356":22614,"36357":22615,"36369":22616,"36403":22617,"36407":22618,"36408":22619,"36430":22620,"36443":22621,"36445":22622,"36446":22623,"36473":22624,"36482":22625,"36483":22626,"36507":22627,"36509":22628,"36514":22629,"36538":22630,"36545":22631,"36547":22632,"36548":22633,"36551":22634,"36572":22635,"36590":22636,"36593":22637,"36599":22638,"36589":22639,"36610":22640,"36623":22641,"36624":22642,"36630":22643,"36640":22644,"36641":22645,"36643":22646,"36648":22647,"36654":22648,"36660":22649,"36663":22650,"36673":22651,"36687":22652,"36690":22653,"36691":22654,"36701":22655,"36702":22656,"36709":22657,"36765":22658,"36792":22659,"36798":22660,"36800":22661,"36811":22662,"36816":22663,"36818":22664,"36835":22665,"36862":22666,"36888":22667,"36904":22668,"36905":22669,"36906":22670,"36915":22671,"36916":22672,"36927":22673,"36962":22674,"36966":22675,"36972":22676,"37006":22677,"37029":22678,"37068":22679,"37077":22680,"37080":22681,"37081":22682,"37093":22683,"37074":22684,"37128":22685,"37133":22686,"37136":22687,"37146":22688,"37152":22689,"37161":22690,"37166":22691,"37174":22692,"37180":22693,"37187":22694,"37199":22695,"37203":22696,"37229":22697,"37243":22698,"37249":22699,"37254":22700,"37267":22701,"37268":22702,"37272":22703,"37281":22704,"37286":22705,"37311":22706,"37331":22707,"37332":22708,"37337":22709,"37353":22710,"37354":22711,"37359":22712,"37369":22713,"37373":22714,"37380":22715,"37381":22716,"37388":22717,"37394":22718,"37395":22719,"37400":22720,"37404":22721,"37405":22722,"37412":22723,"37413":22724,"37414":22725,"37422":22726,"37423":22727,"37424":22728,"37429":22729,"37430":22730,"37438":22731,"37446":22732,"37453":22733,"37464":22734,"37468":22735,"37469":22736,"37481":22737,"37486":22738,"37487":22739,"37488":22740,"37493":22741,"37497":22742,"37499":22743,"37514":22744,"37522":22745,"37536":22746,"37540":22747,"37541":22748,"37544":22749,"37558":22750,"37560":22751,"37562":22752,"37565":22753,"37575":22754,"37581":22755,"37592":22756,"37596":22757,"37597":22758,"37601":22759,"37603":22760,"37608":22761,"37612":22762,"37614":22763,"37616":22764,"37632":22765,"37640":22766,"37660":22767,"37668":22768,"37674":22769,"37684":22770,"37687":22771,"37712":22772,"37717":22773,"37726":22774,"37735":22775,"37737":22776,"37743":22777,"37748":22778,"37750":22779,"37754":22780,"37757":22781,"37760":22782,"37761":22783,"37773":22784,"37778":22785,"37781":22786,"37784":22787,"37798":22789,"37800":22790,"37803":22791,"37812":22792,"37813":22793,"37814":22794,"37828":22795,"37829":22796,"37833":22797,"37835":22798,"37837":22799,"37843":22800,"37849":22801,"37879":22802,"37889":22803,"37896":22804,"37909":22805,"37919":22806,"37935":22807,"37949":22808,"37955":22809,"37977":22810,"37980":22811,"37983":22812,"37985":22813,"37992":22814,"37998":22815,"38020":22816,"38019":22817,"38270":22818,"38276":22819,"38301":22820,"38302":22821,"38330":22822,"38361":22823,"38365":22824,"38367":22825,"38430":22826,"38434":22827,"38437":22828,"38438":22829,"38455":22830,"38457":22831,"38458":22832,"38482":22833,"38486":22834,"38487":22835,"38510":22836,"38524":22837,"38526":22838,"38545":22839,"38559":22840,"38566":22841,"38602":22842,"38623":22844,"38650":22845,"38661":22846,"38682":22847,"38685":22848,"38730":22850,"38744":22851,"38775":22852,"38776":22853,"38779":22854,"38784":22855,"38793":22856,"38807":22857,"38840":22858,"38844":22859,"38847":22860,"38852":22861,"38853":22862,"38855":22863,"38858":22864,"38862":22865,"38864":22866,"38871":22867,"38877":22868,"38884":22869,"38903":22870,"38904":22871,"38906":22872,"38937":22873,"38940":22874,"38944":22875,"38959":22876,"38965":22877,"38980":22878,"38986":22879,"38993":22880,"39018":22881,"39086":22882,"39116":22883,"39142":22884,"39158":22885,"39175":22886,"39199":22887,"39202":22888,"39206":22889,"39211":22890,"39220":22891,"39225":22892,"39239":22893,"39257":22894,"39259":22895,"39323":22896,"39325":22897,"39327":22898,"39344":22899,"39346":22900,"39349":22901,"39379":22902,"39386":22903,"39388":22904,"39399":22905,"39402":22906,"39403":22907,"39404":22908,"39412":22909,"39413":22910,"39421":22911,"39422":22912,"39428":22913,"39435":22914,"39454":22915,"39458":22916,"39475":22917,"39477":22918,"39495":22919,"39499":22921,"39508":22922,"39517":22923,"39594":22924,"39596":22925,"39598":22926,"39602":22927,"39604":22928,"39611":22929,"39615":22930,"39624":22931,"39639":22932,"39643":22933,"39652":22934,"39655":22935,"39660":22936,"39666":22937,"39667":22938,"39669":22939,"39674":22940,"39677":22941,"39679":22942,"39680":22943,"39684":22944,"39685":22945,"39707":22946,"39718":22947,"39735":22949,"39737":22950,"39738":22951,"39756":22952,"39766":22953,"39767":22954,"39771":22955,"39777":22956,"39786":22957,"39789":22958,"39790":22959,"39800":22960,"39807":22961,"39813":22962,"39815":22963,"39817":22964,"39819":22965,"39821":22966,"39828":22967,"39834":22968,"39849":22969,"39863":22970,"39868":22971,"39888":22972,"39929":22973,"39951":22974,"39953":22975,"39966":22976,"39974":22977,"39976":22978,"39997":22979,"40003":22980,"40014":22981,"40030":22982,"40059":22983,"40183":22984,"40185":22985,"40220":22986,"40239":22987,"40243":22988,"40244":22989,"40250":22990,"40252":22991,"40261":22992,"40275":22993,"40276":22994,"40293":22995,"40323":22996,"40326":22997,"40334":22998,"40338":22999,"40339":23000,"40341":23001,"40343":23002,"40344":23003,"40362":23004,"40366":23005,"40394":23007,"40404":23008,"40405":23009,"40414":23010,"40430":23011,"40432":23012,"40446":23013,"40462":23014,"40464":23015,"40465":23016,"40466":23017,"40470":23018,"40583":23019,"40590":23020,"40591":23021,"40598":23022,"40600":23023,"40622":23024,"40627":23025,"40646":23026,"40648":23027,"40651":23028,"40661":23029,"40684":23030,"40685":23031,"40689":23032,"40693":23033,"40696":23034,"40721":23035,"40726":23036,"40730":23037,"40735":23038,"40753":23039,"40754":23040,"40764":23041,"40767":23042,"40771":23043,"40772":23044,"40775":23045,"40790":23046,"40798":23047,"40814":23048,"40819":23049,"40826":23050,"40829":23051,"40847":23052,"40849":23053,"40850":23054,"40854":23055,"40865":23056,"40867":23057}}', + // Korean' + 'CID0KR' => '"enc":"UniKS-UTF16-H","cidinfo":{"Registry":"Adobe","Ordering":"Korea1","Supplement":0,"uni2cid":{"32":1,"33":2,"34":3,"35":4,"36":5,"37":6,"38":7,"39":8,"40":9,"41":10,"42":11,"43":12,"44":13,"45":14,"46":15,"47":16,"48":17,"49":18,"50":19,"51":20,"52":21,"53":22,"54":23,"55":24,"56":25,"57":26,"58":27,"59":28,"60":29,"61":30,"62":31,"63":32,"64":33,"65":34,"66":35,"67":36,"68":37,"69":38,"70":39,"71":40,"72":41,"73":42,"74":43,"75":44,"76":45,"77":46,"78":47,"79":48,"80":49,"81":50,"82":51,"83":52,"84":53,"85":54,"86":55,"87":56,"88":57,"89":58,"90":59,"91":60,"92":61,"93":62,"94":63,"95":64,"96":65,"97":66,"98":67,"99":68,"100":69,"101":70,"102":71,"103":72,"104":73,"105":74,"106":75,"107":76,"108":77,"109":78,"110":79,"111":80,"112":81,"113":82,"114":83,"115":84,"116":85,"117":86,"118":87,"119":88,"120":89,"121":90,"122":91,"123":92,"124":93,"125":94,"126":95,"8361":96,"8208":97,"169":98,"12644":101,"12288":101,"12289":102,"12290":103,"183":104,"12539":104,"8229":105,"8943":106,"8230":106,"168":107,"12291":108,"8211":109,"8212":110,"8214":111,"65340":112,"65374":113,"8216":114,"8217":115,"8220":116,"8221":117,"12308":118,"12309":119,"12296":120,"12297":121,"12298":122,"12299":123,"12300":124,"12301":125,"12302":126,"12303":127,"12304":128,"12305":129,"177":130,"215":131,"247":132,"8800":133,"8804":134,"8805":135,"8734":136,"8756":137,"176":138,"8242":139,"8243":140,"8451":141,"8491":142,"65504":143,"65505":144,"65509":145,"9794":146,"9792":147,"8736":148,"8869":149,"8978":150,"8706":151,"8711":152,"8801":153,"8786":154,"167":155,"8251":156,"9734":157,"9733":158,"9675":159,"9679":160,"9678":161,"9671":162,"9670":163,"9633":164,"9632":165,"9651":166,"9650":167,"9661":168,"9660":169,"8594":170,"8592":171,"8593":172,"8595":173,"8596":174,"12307":175,"171":176,"187":177,"8730":178,"8765":179,"8733":180,"8757":181,"8747":182,"8748":183,"8712":184,"8715":185,"8838":186,"8839":187,"8834":188,"8835":189,"8746":190,"8745":191,"8743":192,"8744":193,"65506":194,"8658":195,"8660":196,"8704":197,"8707":198,"180":199,"732":200,"711":201,"728":202,"733":203,"730":204,"729":205,"184":206,"731":207,"161":208,"191":209,"8758":210,"8750":211,"8721":212,"8719":213,"164":214,"8457":215,"8240":216,"9665":217,"9664":218,"9655":219,"9654":220,"9828":221,"9824":222,"9825":223,"9829":224,"9831":225,"9827":226,"9673":227,"9672":228,"9635":229,"9680":230,"9681":231,"9618":232,"9636":233,"9637":234,"9640":235,"9639":236,"9638":237,"9641":238,"9832":239,"9743":240,"9742":241,"9756":242,"9758":243,"182":244,"8224":245,"8225":246,"8597":247,"8599":248,"8601":249,"8598":250,"8600":251,"9837":252,"9833":253,"9834":254,"9836":255,"12927":256,"12828":257,"8470":258,"13255":259,"8482":260,"13250":261,"13272":262,"8481":263,"65281":264,"65282":265,"65283":266,"65284":267,"65285":268,"65286":269,"65287":270,"65288":271,"65289":272,"65290":273,"65291":274,"65292":275,"65293":276,"65294":277,"65295":278,"65296":279,"65297":280,"65298":281,"65299":282,"65300":283,"65301":284,"65302":285,"65303":286,"65304":287,"65305":288,"65306":289,"65307":290,"65308":291,"65309":292,"65310":293,"65311":294,"65312":295,"65313":296,"65314":297,"65315":298,"65316":299,"65317":300,"65318":301,"65319":302,"65320":303,"65321":304,"65322":305,"65323":306,"65324":307,"65325":308,"65326":309,"65327":310,"65328":311,"65329":312,"65330":313,"65331":314,"65332":315,"65333":316,"65334":317,"65335":318,"65336":319,"65337":320,"65338":321,"65339":322,"65510":323,"65341":324,"65342":325,"65343":326,"65344":327,"65345":328,"65346":329,"65347":330,"65348":331,"65349":332,"65350":333,"65351":334,"65352":335,"65353":336,"65354":337,"65355":338,"65356":339,"65357":340,"65358":341,"65359":342,"65360":343,"65361":344,"65362":345,"65363":346,"65364":347,"65365":348,"65366":349,"65367":350,"65368":351,"65369":352,"65370":353,"65371":354,"65372":355,"65373":356,"65507":357,"12593":358,"12594":359,"12595":360,"12596":361,"12597":362,"12598":363,"12599":364,"12600":365,"12601":366,"12602":367,"12603":368,"12604":369,"12605":370,"12606":371,"12607":372,"12608":373,"12609":374,"12610":375,"12611":376,"12612":377,"12613":378,"12614":379,"12615":380,"12616":381,"12617":382,"12618":383,"12619":384,"12620":385,"12621":386,"12622":387,"12623":388,"12624":389,"12625":390,"12626":391,"12627":392,"12628":393,"12629":394,"12630":395,"12631":396,"12632":397,"12633":398,"12634":399,"12635":400,"12636":401,"12637":402,"12638":403,"12639":404,"12640":405,"12641":406,"12642":407,"12643":408,"12645":409,"12646":410,"12647":411,"12648":412,"12649":413,"12650":414,"12651":415,"12652":416,"12653":417,"12654":418,"12655":419,"12656":420,"12657":421,"12658":422,"12659":423,"12660":424,"12661":425,"12662":426,"12663":427,"12664":428,"12665":429,"12666":430,"12667":431,"12668":432,"12669":433,"12670":434,"12671":435,"12672":436,"12673":437,"12674":438,"12675":439,"12676":440,"12677":441,"12678":442,"12679":443,"12680":444,"12681":445,"12682":446,"12683":447,"12684":448,"12685":449,"12686":450,"8560":451,"8561":452,"8562":453,"8563":454,"8564":455,"8565":456,"8566":457,"8567":458,"8568":459,"8569":460,"8544":461,"8545":462,"8546":463,"8547":464,"8548":465,"8549":466,"8550":467,"8551":468,"8552":469,"8553":470,"913":471,"914":472,"915":473,"916":474,"917":475,"918":476,"919":477,"920":478,"921":479,"922":480,"923":481,"924":482,"925":483,"926":484,"927":485,"928":486,"929":487,"931":488,"932":489,"933":490,"934":491,"935":492,"936":493,"937":494,"945":495,"946":496,"947":497,"948":498,"949":499,"950":500,"951":501,"952":502,"953":503,"954":504,"955":505,"956":506,"957":507,"958":508,"959":509,"960":510,"961":511,"963":512,"964":513,"965":514,"966":515,"967":516,"968":517,"969":518,"9472":519,"9474":520,"9484":521,"9488":522,"9496":523,"9492":524,"9500":525,"9516":526,"9508":527,"9524":528,"9532":529,"9473":530,"9475":531,"9487":532,"9491":533,"9499":534,"9495":535,"9507":536,"9523":537,"9515":538,"9531":539,"9547":540,"9504":541,"9519":542,"9512":543,"9527":544,"9535":545,"9501":546,"9520":547,"9509":548,"9528":549,"9538":550,"9490":551,"9489":552,"9498":553,"9497":554,"9494":555,"9493":556,"9486":557,"9485":558,"9502":559,"9503":560,"9505":561,"9506":562,"9510":563,"9511":564,"9513":565,"9514":566,"9517":567,"9518":568,"9521":569,"9522":570,"9525":571,"9526":572,"9529":573,"9530":574,"9533":575,"9534":576,"9536":577,"9537":578,"9539":579,"9540":580,"9541":581,"9542":582,"9543":583,"9544":584,"9545":585,"9546":586,"13205":587,"13206":588,"13207":589,"8467":590,"13208":591,"13252":592,"13219":593,"13220":594,"13221":595,"13222":596,"13209":597,"13210":598,"13211":599,"13212":600,"13213":601,"13214":602,"13215":603,"13216":604,"13217":605,"13218":606,"13258":607,"13197":608,"13198":609,"13199":610,"13263":611,"13192":612,"13193":613,"13256":614,"13223":615,"13224":616,"13232":617,"13233":618,"13234":619,"13235":620,"13236":621,"13237":622,"13238":623,"13239":624,"13240":625,"13241":626,"13184":627,"13185":628,"13186":629,"13187":630,"13188":631,"13242":632,"13243":633,"13244":634,"13245":635,"13246":636,"13247":637,"13200":638,"13201":639,"13202":640,"13203":641,"13204":642,"8486":643,"13248":644,"13249":645,"13194":646,"13195":647,"13196":648,"13270":649,"13253":650,"13229":651,"13230":652,"13231":653,"13275":654,"13225":655,"13226":656,"13227":657,"13228":658,"13277":659,"13264":660,"13267":661,"13251":662,"13257":663,"13276":664,"13254":665,"198":666,"208":667,"170":668,"294":669,"306":670,"319":671,"321":672,"216":673,"338":674,"186":675,"222":676,"358":677,"330":678,"12896":679,"12897":680,"12898":681,"12899":682,"12900":683,"12901":684,"12902":685,"12903":686,"12904":687,"12905":688,"12906":689,"12907":690,"12908":691,"12909":692,"12910":693,"12911":694,"12912":695,"12913":696,"12914":697,"12915":698,"12916":699,"12917":700,"12918":701,"12919":702,"12920":703,"12921":704,"12922":705,"12923":706,"9424":707,"9425":708,"9426":709,"9427":710,"9428":711,"9429":712,"9430":713,"9431":714,"9432":715,"9433":716,"9434":717,"9435":718,"9436":719,"9437":720,"9438":721,"9439":722,"9440":723,"9441":724,"9442":725,"9443":726,"9444":727,"9445":728,"9446":729,"9447":730,"9448":731,"9449":732,"9312":733,"9313":734,"9314":735,"9315":736,"9316":737,"9317":738,"9318":739,"9319":740,"9320":741,"9321":742,"9322":743,"9323":744,"9324":745,"9325":746,"9326":747,"189":748,"8531":749,"8532":750,"188":751,"190":752,"8539":753,"8540":754,"8541":755,"8542":756,"230":757,"273":758,"240":759,"295":760,"305":761,"307":762,"312":763,"320":764,"322":765,"248":766,"339":767,"223":768,"254":769,"359":770,"331":771,"329":772,"12800":773,"12801":774,"12802":775,"12803":776,"12804":777,"12805":778,"12806":779,"12807":780,"12808":781,"12809":782,"12810":783,"12811":784,"12812":785,"12813":786,"12814":787,"12815":788,"12816":789,"12817":790,"12818":791,"12819":792,"12820":793,"12821":794,"12822":795,"12823":796,"12824":797,"12825":798,"12826":799,"12827":800,"9372":801,"9373":802,"9374":803,"9375":804,"9376":805,"9377":806,"9378":807,"9379":808,"9380":809,"9381":810,"9382":811,"9383":812,"9384":813,"9385":814,"9386":815,"9387":816,"9388":817,"9389":818,"9390":819,"9391":820,"9392":821,"9393":822,"9394":823,"9395":824,"9396":825,"9397":826,"9332":827,"9333":828,"9334":829,"9335":830,"9336":831,"9337":832,"9338":833,"9339":834,"9340":835,"9341":836,"9342":837,"9343":838,"9344":839,"9345":840,"9346":841,"185":842,"178":843,"179":844,"8308":845,"8319":846,"8321":847,"8322":848,"8323":849,"8324":850,"12353":851,"12354":852,"12355":853,"12356":854,"12357":855,"12358":856,"12359":857,"12360":858,"12361":859,"12362":860,"12363":861,"12364":862,"12365":863,"12366":864,"12367":865,"12368":866,"12369":867,"12370":868,"12371":869,"12372":870,"12373":871,"12374":872,"12375":873,"12376":874,"12377":875,"12378":876,"12379":877,"12380":878,"12381":879,"12382":880,"12383":881,"12384":882,"12385":883,"12386":884,"12387":885,"12388":886,"12389":887,"12390":888,"12391":889,"12392":890,"12393":891,"12394":892,"12395":893,"12396":894,"12397":895,"12398":896,"12399":897,"12400":898,"12401":899,"12402":900,"12403":901,"12404":902,"12405":903,"12406":904,"12407":905,"12408":906,"12409":907,"12410":908,"12411":909,"12412":910,"12413":911,"12414":912,"12415":913,"12416":914,"12417":915,"12418":916,"12419":917,"12420":918,"12421":919,"12422":920,"12423":921,"12424":922,"12425":923,"12426":924,"12427":925,"12428":926,"12429":927,"12430":928,"12431":929,"12432":930,"12433":931,"12434":932,"12435":933,"12449":934,"12450":935,"12451":936,"12452":937,"12453":938,"12454":939,"12455":940,"12456":941,"12457":942,"12458":943,"12459":944,"12460":945,"12461":946,"12462":947,"12463":948,"12464":949,"12465":950,"12466":951,"12467":952,"12468":953,"12469":954,"12470":955,"12471":956,"12472":957,"12473":958,"12474":959,"12475":960,"12476":961,"12477":962,"12478":963,"12479":964,"12480":965,"12481":966,"12482":967,"12483":968,"12484":969,"12485":970,"12486":971,"12487":972,"12488":973,"12489":974,"12490":975,"12491":976,"12492":977,"12493":978,"12494":979,"12495":980,"12496":981,"12497":982,"12498":983,"12499":984,"12500":985,"12501":986,"12502":987,"12503":988,"12504":989,"12505":990,"12506":991,"12507":992,"12508":993,"12509":994,"12510":995,"12511":996,"12512":997,"12513":998,"12514":999,"12515":1000,"12516":1001,"12517":1002,"12518":1003,"12519":1004,"12520":1005,"12521":1006,"12522":1007,"12523":1008,"12524":1009,"12525":1010,"12526":1011,"12527":1012,"12528":1013,"12529":1014,"12530":1015,"12531":1016,"12532":1017,"12533":1018,"12534":1019,"1040":1020,"1041":1021,"1042":1022,"1043":1023,"1044":1024,"1045":1025,"1025":1026,"1046":1027,"1047":1028,"1048":1029,"1049":1030,"1050":1031,"1051":1032,"1052":1033,"1053":1034,"1054":1035,"1055":1036,"1056":1037,"1057":1038,"1058":1039,"1059":1040,"1060":1041,"1061":1042,"1062":1043,"1063":1044,"1064":1045,"1065":1046,"1066":1047,"1067":1048,"1068":1049,"1069":1050,"1070":1051,"1071":1052,"1072":1053,"1073":1054,"1074":1055,"1075":1056,"1076":1057,"1077":1058,"1105":1059,"1078":1060,"1079":1061,"1080":1062,"1081":1063,"1082":1064,"1083":1065,"1084":1066,"1085":1067,"1086":1068,"1087":1069,"1088":1070,"1089":1071,"1090":1072,"1091":1073,"1092":1074,"1093":1075,"1094":1076,"1095":1077,"1096":1078,"1097":1079,"1098":1080,"1099":1081,"1100":1082,"1101":1083,"1102":1084,"1103":1085,"44032":1086,"44033":1087,"44036":1088,"44039":1089,"44040":1090,"44041":1091,"44042":1092,"44048":1093,"44049":1094,"44050":1095,"44051":1096,"44052":1097,"44053":1098,"44054":1099,"44055":1100,"44057":1101,"44058":1102,"44059":1103,"44060":1104,"44061":1105,"44064":1106,"44068":1107,"44076":1108,"44077":1109,"44079":1110,"44080":1111,"44081":1112,"44088":1113,"44089":1114,"44092":1115,"44096":1116,"44107":1117,"44109":1118,"44116":1119,"44120":1120,"44124":1121,"44144":1122,"44145":1123,"44148":1124,"44151":1125,"44152":1126,"44154":1127,"44160":1128,"44161":1129,"44163":1130,"44164":1131,"44165":1132,"44166":1133,"44169":1134,"44170":1135,"44171":1136,"44172":1137,"44176":1138,"44180":1139,"44188":1140,"44189":1141,"44191":1142,"44192":1143,"44193":1144,"44200":1145,"44201":1146,"44202":1147,"44204":1148,"44207":1149,"44208":1150,"44216":1151,"44217":1152,"44219":1153,"44220":1154,"44221":1155,"44225":1156,"44228":1157,"44232":1158,"44236":1159,"44245":1160,"44247":1161,"44256":1162,"44257":1163,"44260":1164,"44263":1165,"44264":1166,"44266":1167,"44268":1168,"44271":1169,"44272":1170,"44273":1171,"44275":1172,"44277":1173,"44278":1174,"44284":1175,"44285":1176,"44288":1177,"44292":1178,"44294":1179,"44300":1180,"44301":1181,"44303":1182,"44305":1183,"44312":1184,"44316":1185,"44320":1186,"44329":1187,"44332":1188,"44333":1189,"44340":1190,"44341":1191,"44344":1192,"44348":1193,"44356":1194,"44357":1195,"44359":1196,"44361":1197,"44368":1198,"44372":1199,"44376":1200,"44385":1201,"44387":1202,"44396":1203,"44397":1204,"44400":1205,"44403":1206,"44404":1207,"44405":1208,"44406":1209,"44411":1210,"44412":1211,"44413":1212,"44415":1213,"44417":1214,"44418":1215,"44424":1216,"44425":1217,"44428":1218,"44432":1219,"44444":1220,"44445":1221,"44452":1222,"44471":1223,"44480":1224,"44481":1225,"44484":1226,"44488":1227,"44496":1228,"44497":1229,"44499":1230,"44508":1231,"44512":1232,"44516":1233,"44536":1234,"44537":1235,"44540":1236,"44543":1237,"44544":1238,"44545":1239,"44552":1240,"44553":1241,"44555":1242,"44557":1243,"44564":1244,"44592":1245,"44593":1246,"44596":1247,"44599":1248,"44600":1249,"44602":1250,"44608":1251,"44609":1252,"44611":1253,"44613":1254,"44614":1255,"44618":1256,"44620":1257,"44621":1258,"44622":1259,"44624":1260,"44628":1261,"44630":1262,"44636":1263,"44637":1264,"44639":1265,"44640":1266,"44641":1267,"44645":1268,"44648":1269,"44649":1270,"44652":1271,"44656":1272,"44664":1273,"44665":1274,"44667":1275,"44668":1276,"44669":1277,"44676":1278,"44677":1279,"44684":1280,"44732":1281,"44733":1282,"44734":1283,"44736":1284,"44740":1285,"44748":1286,"44749":1287,"44751":1288,"44752":1289,"44753":1290,"44760":1291,"44761":1292,"44764":1293,"44776":1294,"44779":1295,"44781":1296,"44788":1297,"44792":1298,"44796":1299,"44807":1300,"44808":1301,"44813":1302,"44816":1303,"44844":1304,"44845":1305,"44848":1306,"44850":1307,"44852":1308,"44860":1309,"44861":1310,"44863":1311,"44865":1312,"44866":1313,"44867":1314,"44872":1315,"44873":1316,"44880":1317,"44892":1318,"44893":1319,"44900":1320,"44901":1321,"44921":1322,"44928":1323,"44932":1324,"44936":1325,"44944":1326,"44945":1327,"44949":1328,"44956":1329,"44984":1330,"44985":1331,"44988":1332,"44992":1333,"44999":1334,"45000":1335,"45001":1336,"45003":1337,"45005":1338,"45006":1339,"45012":1340,"45020":1341,"45032":1342,"45033":1343,"45040":1344,"45041":1345,"45044":1346,"45048":1347,"45056":1348,"45057":1349,"45060":1350,"45068":1351,"45072":1352,"45076":1353,"45084":1354,"45085":1355,"45096":1356,"45124":1357,"45125":1358,"45128":1359,"45130":1360,"45132":1361,"45134":1362,"45139":1363,"45140":1364,"45141":1365,"45143":1366,"45145":1367,"45149":1368,"45180":1369,"45181":1370,"45184":1371,"45188":1372,"45196":1373,"45197":1374,"45199":1375,"45201":1376,"45208":1377,"45209":1378,"45210":1379,"45212":1380,"45215":1381,"45216":1382,"45217":1383,"45218":1384,"45224":1385,"45225":1386,"45227":1387,"45228":1388,"45229":1389,"45230":1390,"45231":1391,"45233":1392,"45235":1393,"45236":1394,"45237":1395,"45240":1396,"45244":1397,"45252":1398,"45253":1399,"45255":1400,"45256":1401,"45257":1402,"45264":1403,"45265":1404,"45268":1405,"45272":1406,"45280":1407,"45285":1408,"45320":1409,"45321":1410,"45323":1411,"45324":1412,"45328":1413,"45330":1414,"45331":1415,"45336":1416,"45337":1417,"45339":1418,"45340":1419,"45341":1420,"45347":1421,"45348":1422,"45349":1423,"45352":1424,"45356":1425,"45364":1426,"45365":1427,"45367":1428,"45368":1429,"45369":1430,"45376":1431,"45377":1432,"45380":1433,"45384":1434,"45392":1435,"45393":1436,"45396":1437,"45397":1438,"45400":1439,"45404":1440,"45408":1441,"45432":1442,"45433":1443,"45436":1444,"45440":1445,"45442":1446,"45448":1447,"45449":1448,"45451":1449,"45453":1450,"45458":1451,"45459":1452,"45460":1453,"45464":1454,"45468":1455,"45480":1456,"45516":1457,"45520":1458,"45524":1459,"45532":1460,"45533":1461,"45535":1462,"45544":1463,"45545":1464,"45548":1465,"45552":1466,"45561":1467,"45563":1468,"45565":1469,"45572":1470,"45573":1471,"45576":1472,"45579":1473,"45580":1474,"45588":1475,"45589":1476,"45591":1477,"45593":1478,"45600":1479,"45620":1480,"45628":1481,"45656":1482,"45660":1483,"45664":1484,"45672":1485,"45673":1486,"45684":1487,"45685":1488,"45692":1489,"45700":1490,"45701":1491,"45705":1492,"45712":1493,"45713":1494,"45716":1495,"45720":1496,"45721":1497,"45722":1498,"45728":1499,"45729":1500,"45731":1501,"45733":1502,"45734":1503,"45738":1504,"45740":1505,"45744":1506,"45748":1507,"45768":1508,"45769":1509,"45772":1510,"45776":1511,"45778":1512,"45784":1513,"45785":1514,"45787":1515,"45789":1516,"45794":1517,"45796":1518,"45797":1519,"45798":1520,"45800":1521,"45803":1522,"45804":1523,"45805":1524,"45806":1525,"45807":1526,"45811":1527,"45812":1528,"45813":1529,"45815":1530,"45816":1531,"45817":1532,"45818":1533,"45819":1534,"45823":1535,"45824":1536,"45825":1537,"45828":1538,"45832":1539,"45840":1540,"45841":1541,"45843":1542,"45844":1543,"45845":1544,"45852":1545,"45908":1546,"45909":1547,"45910":1548,"45912":1549,"45915":1550,"45916":1551,"45918":1552,"45919":1553,"45924":1554,"45925":1555,"45927":1556,"45929":1557,"45931":1558,"45934":1559,"45936":1560,"45937":1561,"45940":1562,"45944":1563,"45952":1564,"45953":1565,"45955":1566,"45956":1567,"45957":1568,"45964":1569,"45968":1570,"45972":1571,"45984":1572,"45985":1573,"45992":1574,"45996":1575,"46020":1576,"46021":1577,"46024":1578,"46027":1579,"46028":1580,"46030":1581,"46032":1582,"46036":1583,"46037":1584,"46039":1585,"46041":1586,"46043":1587,"46045":1588,"46048":1589,"46052":1590,"46056":1591,"46076":1592,"46096":1593,"46104":1594,"46108":1595,"46112":1596,"46120":1597,"46121":1598,"46123":1599,"46132":1600,"46160":1601,"46161":1602,"46164":1603,"46168":1604,"46176":1605,"46177":1606,"46179":1607,"46181":1608,"46188":1609,"46208":1610,"46216":1611,"46237":1612,"46244":1613,"46248":1614,"46252":1615,"46261":1616,"46263":1617,"46265":1618,"46272":1619,"46276":1620,"46280":1621,"46288":1622,"46293":1623,"46300":1624,"46301":1625,"46304":1626,"46307":1627,"46308":1628,"46310":1629,"46316":1630,"46317":1631,"46319":1632,"46321":1633,"46328":1634,"46356":1635,"46357":1636,"46360":1637,"46363":1638,"46364":1639,"46372":1640,"46373":1641,"46375":1642,"46376":1643,"46377":1644,"46378":1645,"46384":1646,"46385":1647,"46388":1648,"46392":1649,"46400":1650,"46401":1651,"46403":1652,"46404":1653,"46405":1654,"46411":1655,"46412":1656,"46413":1657,"46416":1658,"46420":1659,"46428":1660,"46429":1661,"46431":1662,"46432":1663,"46433":1664,"46496":1665,"46497":1666,"46500":1667,"46504":1668,"46506":1669,"46507":1670,"46512":1671,"46513":1672,"46515":1673,"46516":1674,"46517":1675,"46523":1676,"46524":1677,"46525":1678,"46528":1679,"46532":1680,"46540":1681,"46541":1682,"46543":1683,"46544":1684,"46545":1685,"46552":1686,"46572":1687,"46608":1688,"46609":1689,"46612":1690,"46616":1691,"46629":1692,"46636":1693,"46644":1694,"46664":1695,"46692":1696,"46696":1697,"46748":1698,"46749":1699,"46752":1700,"46756":1701,"46763":1702,"46764":1703,"46769":1704,"46804":1705,"46832":1706,"46836":1707,"46840":1708,"46848":1709,"46849":1710,"46853":1711,"46888":1712,"46889":1713,"46892":1714,"46895":1715,"46896":1716,"46904":1717,"46905":1718,"46907":1719,"46916":1720,"46920":1721,"46924":1722,"46932":1723,"46933":1724,"46944":1725,"46948":1726,"46952":1727,"46960":1728,"46961":1729,"46963":1730,"46965":1731,"46972":1732,"46973":1733,"46976":1734,"46980":1735,"46988":1736,"46989":1737,"46991":1738,"46992":1739,"46993":1740,"46994":1741,"46998":1742,"46999":1743,"47000":1744,"47001":1745,"47004":1746,"47008":1747,"47016":1748,"47017":1749,"47019":1750,"47020":1751,"47021":1752,"47028":1753,"47029":1754,"47032":1755,"47047":1756,"47049":1757,"47084":1758,"47085":1759,"47088":1760,"47092":1761,"47100":1762,"47101":1763,"47103":1764,"47104":1765,"47105":1766,"47111":1767,"47112":1768,"47113":1769,"47116":1770,"47120":1771,"47128":1772,"47129":1773,"47131":1774,"47133":1775,"47140":1776,"47141":1777,"47144":1778,"47148":1779,"47156":1780,"47157":1781,"47159":1782,"47160":1783,"47161":1784,"47168":1785,"47172":1786,"47185":1787,"47187":1788,"47196":1789,"47197":1790,"47200":1791,"47204":1792,"47212":1793,"47213":1794,"47215":1795,"47217":1796,"47224":1797,"47228":1798,"47245":1799,"47272":1800,"47280":1801,"47284":1802,"47288":1803,"47296":1804,"47297":1805,"47299":1806,"47301":1807,"47308":1808,"47312":1809,"47316":1810,"47325":1811,"47327":1812,"47329":1813,"47336":1814,"47337":1815,"47340":1816,"47344":1817,"47352":1818,"47353":1819,"47355":1820,"47357":1821,"47364":1822,"47384":1823,"47392":1824,"47420":1825,"47421":1826,"47424":1827,"47428":1828,"47436":1829,"47439":1830,"47441":1831,"47448":1832,"47449":1833,"47452":1834,"47456":1835,"47464":1836,"47465":1837,"47467":1838,"47469":1839,"47476":1840,"47477":1841,"47480":1842,"47484":1843,"47492":1844,"47493":1845,"47495":1846,"47497":1847,"47498":1848,"47501":1849,"47502":1850,"47532":1851,"47533":1852,"47536":1853,"47540":1854,"47548":1855,"47549":1856,"47551":1857,"47553":1858,"47560":1859,"47561":1860,"47564":1861,"47566":1862,"47567":1863,"47568":1864,"47569":1865,"47570":1866,"47576":1867,"47577":1868,"47579":1869,"47581":1870,"47582":1871,"47585":1872,"47587":1873,"47588":1874,"47589":1875,"47592":1876,"47596":1877,"47604":1878,"47605":1879,"47607":1880,"47608":1881,"47609":1882,"47610":1883,"47616":1884,"47617":1885,"47624":1886,"47637":1887,"47672":1888,"47673":1889,"47676":1890,"47680":1891,"47682":1892,"47688":1893,"47689":1894,"47691":1895,"47693":1896,"47694":1897,"47699":1898,"47700":1899,"47701":1900,"47704":1901,"47708":1902,"47716":1903,"47717":1904,"47719":1905,"47720":1906,"47721":1907,"47728":1908,"47729":1909,"47732":1910,"47736":1911,"47747":1912,"47748":1913,"47749":1914,"47751":1915,"47756":1916,"47784":1917,"47785":1918,"47787":1919,"47788":1920,"47792":1921,"47794":1922,"47800":1923,"47801":1924,"47803":1925,"47805":1926,"47812":1927,"47816":1928,"47832":1929,"47833":1930,"47868":1931,"47872":1932,"47876":1933,"47885":1934,"47887":1935,"47889":1936,"47896":1937,"47900":1938,"47904":1939,"47913":1940,"47915":1941,"47924":1942,"47925":1943,"47926":1944,"47928":1945,"47931":1946,"47932":1947,"47933":1948,"47934":1949,"47940":1950,"47941":1951,"47943":1952,"47945":1953,"47949":1954,"47951":1955,"47952":1956,"47956":1957,"47960":1958,"47969":1959,"47971":1960,"47980":1961,"48008":1962,"48012":1963,"48016":1964,"48036":1965,"48040":1966,"48044":1967,"48052":1968,"48055":1969,"48064":1970,"48068":1971,"48072":1972,"48080":1973,"48083":1974,"48120":1975,"48121":1976,"48124":1977,"48127":1978,"48128":1979,"48130":1980,"48136":1981,"48137":1982,"48139":1983,"48140":1984,"48141":1985,"48143":1986,"48145":1987,"48148":1988,"48149":1989,"48150":1990,"48151":1991,"48152":1992,"48155":1993,"48156":1994,"48157":1995,"48158":1996,"48159":1997,"48164":1998,"48165":1999,"48167":2000,"48169":2001,"48173":2002,"48176":2003,"48177":2004,"48180":2005,"48184":2006,"48192":2007,"48193":2008,"48195":2009,"48196":2010,"48197":2011,"48201":2012,"48204":2013,"48205":2014,"48208":2015,"48221":2016,"48260":2017,"48261":2018,"48264":2019,"48267":2020,"48268":2021,"48270":2022,"48276":2023,"48277":2024,"48279":2025,"48281":2026,"48282":2027,"48288":2028,"48289":2029,"48292":2030,"48295":2031,"48296":2032,"48304":2033,"48305":2034,"48307":2035,"48308":2036,"48309":2037,"48316":2038,"48317":2039,"48320":2040,"48324":2041,"48333":2042,"48335":2043,"48336":2044,"48337":2045,"48341":2046,"48344":2047,"48348":2048,"48372":2049,"48373":2050,"48374":2051,"48376":2052,"48380":2053,"48388":2054,"48389":2055,"48391":2056,"48393":2057,"48400":2058,"48404":2059,"48420":2060,"48428":2061,"48448":2062,"48456":2063,"48457":2064,"48460":2065,"48464":2066,"48472":2067,"48473":2068,"48484":2069,"48488":2070,"48512":2071,"48513":2072,"48516":2073,"48519":2074,"48520":2075,"48521":2076,"48522":2077,"48528":2078,"48529":2079,"48531":2080,"48533":2081,"48537":2082,"48538":2083,"48540":2084,"48548":2085,"48560":2086,"48568":2087,"48596":2088,"48597":2089,"48600":2090,"48604":2091,"48617":2092,"48624":2093,"48628":2094,"48632":2095,"48640":2096,"48643":2097,"48645":2098,"48652":2099,"48653":2100,"48656":2101,"48660":2102,"48668":2103,"48669":2104,"48671":2105,"48708":2106,"48709":2107,"48712":2108,"48716":2109,"48718":2110,"48724":2111,"48725":2112,"48727":2113,"48729":2114,"48730":2115,"48731":2116,"48736":2117,"48737":2118,"48740":2119,"48744":2120,"48746":2121,"48752":2122,"48753":2123,"48755":2124,"48756":2125,"48757":2126,"48763":2127,"48764":2128,"48765":2129,"48768":2130,"48772":2131,"48780":2132,"48781":2133,"48783":2134,"48784":2135,"48785":2136,"48792":2137,"48793":2138,"48808":2139,"48848":2140,"48849":2141,"48852":2142,"48855":2143,"48856":2144,"48864":2145,"48867":2146,"48868":2147,"48869":2148,"48876":2149,"48897":2150,"48904":2151,"48905":2152,"48920":2153,"48921":2154,"48923":2155,"48924":2156,"48925":2157,"48960":2158,"48961":2159,"48964":2160,"48968":2161,"48976":2162,"48977":2163,"48981":2164,"49044":2165,"49072":2166,"49093":2167,"49100":2168,"49101":2169,"49104":2170,"49108":2171,"49116":2172,"49119":2173,"49121":2174,"49212":2175,"49233":2176,"49240":2177,"49244":2178,"49248":2179,"49256":2180,"49257":2181,"49296":2182,"49297":2183,"49300":2184,"49304":2185,"49312":2186,"49313":2187,"49315":2188,"49317":2189,"49324":2190,"49325":2191,"49327":2192,"49328":2193,"49331":2194,"49332":2195,"49333":2196,"49334":2197,"49340":2198,"49341":2199,"49343":2200,"49344":2201,"49345":2202,"49349":2203,"49352":2204,"49353":2205,"49356":2206,"49360":2207,"49368":2208,"49369":2209,"49371":2210,"49372":2211,"49373":2212,"49380":2213,"49381":2214,"49384":2215,"49388":2216,"49396":2217,"49397":2218,"49399":2219,"49401":2220,"49408":2221,"49412":2222,"49416":2223,"49424":2224,"49429":2225,"49436":2226,"49437":2227,"49438":2228,"49439":2229,"49440":2230,"49443":2231,"49444":2232,"49446":2233,"49447":2234,"49452":2235,"49453":2236,"49455":2237,"49456":2238,"49457":2239,"49462":2240,"49464":2241,"49465":2242,"49468":2243,"49472":2244,"49480":2245,"49481":2246,"49483":2247,"49484":2248,"49485":2249,"49492":2250,"49493":2251,"49496":2252,"49500":2253,"49508":2254,"49509":2255,"49511":2256,"49512":2257,"49513":2258,"49520":2259,"49524":2260,"49528":2261,"49541":2262,"49548":2263,"49549":2264,"49550":2265,"49552":2266,"49556":2267,"49558":2268,"49564":2269,"49565":2270,"49567":2271,"49569":2272,"49573":2273,"49576":2274,"49577":2275,"49580":2276,"49584":2277,"49597":2278,"49604":2279,"49608":2280,"49612":2281,"49620":2282,"49623":2283,"49624":2284,"49632":2285,"49636":2286,"49640":2287,"49648":2288,"49649":2289,"49651":2290,"49660":2291,"49661":2292,"49664":2293,"49668":2294,"49676":2295,"49677":2296,"49679":2297,"49681":2298,"49688":2299,"49689":2300,"49692":2301,"49695":2302,"49696":2303,"49704":2304,"49705":2305,"49707":2306,"49709":2307,"49711":2308,"49713":2309,"49714":2310,"49716":2311,"49736":2312,"49744":2313,"49745":2314,"49748":2315,"49752":2316,"49760":2317,"49765":2318,"49772":2319,"49773":2320,"49776":2321,"49780":2322,"49788":2323,"49789":2324,"49791":2325,"49793":2326,"49800":2327,"49801":2328,"49808":2329,"49816":2330,"49819":2331,"49821":2332,"49828":2333,"49829":2334,"49832":2335,"49836":2336,"49837":2337,"49844":2338,"49845":2339,"49847":2340,"49849":2341,"49884":2342,"49885":2343,"49888":2344,"49891":2345,"49892":2346,"49899":2347,"49900":2348,"49901":2349,"49903":2350,"49905":2351,"49910":2352,"49912":2353,"49913":2354,"49915":2355,"49916":2356,"49920":2357,"49928":2358,"49929":2359,"49932":2360,"49933":2361,"49939":2362,"49940":2363,"49941":2364,"49944":2365,"49948":2366,"49956":2367,"49957":2368,"49960":2369,"49961":2370,"49989":2371,"50024":2372,"50025":2373,"50028":2374,"50032":2375,"50034":2376,"50040":2377,"50041":2378,"50044":2379,"50045":2380,"50052":2381,"50056":2382,"50060":2383,"50112":2384,"50136":2385,"50137":2386,"50140":2387,"50143":2388,"50144":2389,"50146":2390,"50152":2391,"50153":2392,"50157":2393,"50164":2394,"50165":2395,"50168":2396,"50184":2397,"50192":2398,"50212":2399,"50220":2400,"50224":2401,"50228":2402,"50236":2403,"50237":2404,"50248":2405,"50276":2406,"50277":2407,"50280":2408,"50284":2409,"50292":2410,"50293":2411,"50297":2412,"50304":2413,"50324":2414,"50332":2415,"50360":2416,"50364":2417,"50409":2418,"50416":2419,"50417":2420,"50420":2421,"50424":2422,"50426":2423,"50431":2424,"50432":2425,"50433":2426,"50444":2427,"50448":2428,"50452":2429,"50460":2430,"50472":2431,"50473":2432,"50476":2433,"50480":2434,"50488":2435,"50489":2436,"50491":2437,"50493":2438,"50500":2439,"50501":2440,"50504":2441,"50505":2442,"50506":2443,"50508":2444,"50509":2445,"50510":2446,"50515":2447,"50516":2448,"50517":2449,"50519":2450,"50520":2451,"50521":2452,"50525":2453,"50526":2454,"50528":2455,"50529":2456,"50532":2457,"50536":2458,"50544":2459,"50545":2460,"50547":2461,"50548":2462,"50549":2463,"50556":2464,"50557":2465,"50560":2466,"50564":2467,"50567":2468,"50572":2469,"50573":2470,"50575":2471,"50577":2472,"50581":2473,"50583":2474,"50584":2475,"50588":2476,"50592":2477,"50601":2478,"50612":2479,"50613":2480,"50616":2481,"50617":2482,"50619":2483,"50620":2484,"50621":2485,"50622":2486,"50628":2487,"50629":2488,"50630":2489,"50631":2490,"50632":2491,"50633":2492,"50634":2493,"50636":2494,"50638":2495,"50640":2496,"50641":2497,"50644":2498,"50648":2499,"50656":2500,"50657":2501,"50659":2502,"50661":2503,"50668":2504,"50669":2505,"50670":2506,"50672":2507,"50676":2508,"50678":2509,"50679":2510,"50684":2511,"50685":2512,"50686":2513,"50687":2514,"50688":2515,"50689":2516,"50693":2517,"50694":2518,"50695":2519,"50696":2520,"50700":2521,"50704":2522,"50712":2523,"50713":2524,"50715":2525,"50716":2526,"50724":2527,"50725":2528,"50728":2529,"50732":2530,"50733":2531,"50734":2532,"50736":2533,"50739":2534,"50740":2535,"50741":2536,"50743":2537,"50745":2538,"50747":2539,"50752":2540,"50753":2541,"50756":2542,"50760":2543,"50768":2544,"50769":2545,"50771":2546,"50772":2547,"50773":2548,"50780":2549,"50781":2550,"50784":2551,"50796":2552,"50799":2553,"50801":2554,"50808":2555,"50809":2556,"50812":2557,"50816":2558,"50824":2559,"50825":2560,"50827":2561,"50829":2562,"50836":2563,"50837":2564,"50840":2565,"50844":2566,"50852":2567,"50853":2568,"50855":2569,"50857":2570,"50864":2571,"50865":2572,"50868":2573,"50872":2574,"50873":2575,"50874":2576,"50880":2577,"50881":2578,"50883":2579,"50885":2580,"50892":2581,"50893":2582,"50896":2583,"50900":2584,"50908":2585,"50909":2586,"50912":2587,"50913":2588,"50920":2589,"50921":2590,"50924":2591,"50928":2592,"50936":2593,"50937":2594,"50941":2595,"50948":2596,"50949":2597,"50952":2598,"50956":2599,"50964":2600,"50965":2601,"50967":2602,"50969":2603,"50976":2604,"50977":2605,"50980":2606,"50984":2607,"50992":2608,"50993":2609,"50995":2610,"50997":2611,"50999":2612,"51004":2613,"51005":2614,"51008":2615,"51012":2616,"51018":2617,"51020":2618,"51021":2619,"51023":2620,"51025":2621,"51026":2622,"51027":2623,"51028":2624,"51029":2625,"51030":2626,"51031":2627,"51032":2628,"51036":2629,"51040":2630,"51048":2631,"51051":2632,"51060":2633,"51061":2634,"51064":2635,"51068":2636,"51069":2637,"51070":2638,"51075":2639,"51076":2640,"51077":2641,"51079":2642,"51080":2643,"51081":2644,"51082":2645,"51086":2646,"51088":2647,"51089":2648,"51092":2649,"51094":2650,"51095":2651,"51096":2652,"51098":2653,"51104":2654,"51105":2655,"51107":2656,"51108":2657,"51109":2658,"51110":2659,"51116":2660,"51117":2661,"51120":2662,"51124":2663,"51132":2664,"51133":2665,"51135":2666,"51136":2667,"51137":2668,"51144":2669,"51145":2670,"51148":2671,"51150":2672,"51152":2673,"51160":2674,"51165":2675,"51172":2676,"51176":2677,"51180":2678,"51200":2679,"51201":2680,"51204":2681,"51208":2682,"51210":2683,"51216":2684,"51217":2685,"51219":2686,"51221":2687,"51222":2688,"51228":2689,"51229":2690,"51232":2691,"51236":2692,"51244":2693,"51245":2694,"51247":2695,"51249":2696,"51256":2697,"51260":2698,"51264":2699,"51272":2700,"51273":2701,"51276":2702,"51277":2703,"51284":2704,"51312":2705,"51313":2706,"51316":2707,"51320":2708,"51322":2709,"51328":2710,"51329":2711,"51331":2712,"51333":2713,"51334":2714,"51335":2715,"51339":2716,"51340":2717,"51341":2718,"51348":2719,"51357":2720,"51359":2721,"51361":2722,"51368":2723,"51388":2724,"51389":2725,"51396":2726,"51400":2727,"51404":2728,"51412":2729,"51413":2730,"51415":2731,"51417":2732,"51424":2733,"51425":2734,"51428":2735,"51445":2736,"51452":2737,"51453":2738,"51456":2739,"51460":2740,"51461":2741,"51462":2742,"51468":2743,"51469":2744,"51471":2745,"51473":2746,"51480":2747,"51500":2748,"51508":2749,"51536":2750,"51537":2751,"51540":2752,"51544":2753,"51552":2754,"51553":2755,"51555":2756,"51564":2757,"51568":2758,"51572":2759,"51580":2760,"51592":2761,"51593":2762,"51596":2763,"51600":2764,"51608":2765,"51609":2766,"51611":2767,"51613":2768,"51648":2769,"51649":2770,"51652":2771,"51655":2772,"51656":2773,"51658":2774,"51664":2775,"51665":2776,"51667":2777,"51669":2778,"51670":2779,"51673":2780,"51674":2781,"51676":2782,"51677":2783,"51680":2784,"51682":2785,"51684":2786,"51687":2787,"51692":2788,"51693":2789,"51695":2790,"51696":2791,"51697":2792,"51704":2793,"51705":2794,"51708":2795,"51712":2796,"51720":2797,"51721":2798,"51723":2799,"51724":2800,"51725":2801,"51732":2802,"51736":2803,"51753":2804,"51788":2805,"51789":2806,"51792":2807,"51796":2808,"51804":2809,"51805":2810,"51807":2811,"51808":2812,"51809":2813,"51816":2814,"51837":2815,"51844":2816,"51864":2817,"51900":2818,"51901":2819,"51904":2820,"51908":2821,"51916":2822,"51917":2823,"51919":2824,"51921":2825,"51923":2826,"51928":2827,"51929":2828,"51936":2829,"51948":2830,"51956":2831,"51976":2832,"51984":2833,"51988":2834,"51992":2835,"52000":2836,"52001":2837,"52033":2838,"52040":2839,"52041":2840,"52044":2841,"52048":2842,"52056":2843,"52057":2844,"52061":2845,"52068":2846,"52088":2847,"52089":2848,"52124":2849,"52152":2850,"52180":2851,"52196":2852,"52199":2853,"52201":2854,"52236":2855,"52237":2856,"52240":2857,"52244":2858,"52252":2859,"52253":2860,"52257":2861,"52258":2862,"52263":2863,"52264":2864,"52265":2865,"52268":2866,"52270":2867,"52272":2868,"52280":2869,"52281":2870,"52283":2871,"52284":2872,"52285":2873,"52286":2874,"52292":2875,"52293":2876,"52296":2877,"52300":2878,"52308":2879,"52309":2880,"52311":2881,"52312":2882,"52313":2883,"52320":2884,"52324":2885,"52326":2886,"52328":2887,"52336":2888,"52341":2889,"52376":2890,"52377":2891,"52380":2892,"52384":2893,"52392":2894,"52393":2895,"52395":2896,"52396":2897,"52397":2898,"52404":2899,"52405":2900,"52408":2901,"52412":2902,"52420":2903,"52421":2904,"52423":2905,"52425":2906,"52432":2907,"52436":2908,"52452":2909,"52460":2910,"52464":2911,"52481":2912,"52488":2913,"52489":2914,"52492":2915,"52496":2916,"52504":2917,"52505":2918,"52507":2919,"52509":2920,"52516":2921,"52520":2922,"52524":2923,"52537":2924,"52572":2925,"52576":2926,"52580":2927,"52588":2928,"52589":2929,"52591":2930,"52593":2931,"52600":2932,"52616":2933,"52628":2934,"52629":2935,"52632":2936,"52636":2937,"52644":2938,"52645":2939,"52647":2940,"52649":2941,"52656":2942,"52676":2943,"52684":2944,"52688":2945,"52712":2946,"52716":2947,"52720":2948,"52728":2949,"52729":2950,"52731":2951,"52733":2952,"52740":2953,"52744":2954,"52748":2955,"52756":2956,"52761":2957,"52768":2958,"52769":2959,"52772":2960,"52776":2961,"52784":2962,"52785":2963,"52787":2964,"52789":2965,"52824":2966,"52825":2967,"52828":2968,"52831":2969,"52832":2970,"52833":2971,"52840":2972,"52841":2973,"52843":2974,"52845":2975,"52852":2976,"52853":2977,"52856":2978,"52860":2979,"52868":2980,"52869":2981,"52871":2982,"52873":2983,"52880":2984,"52881":2985,"52884":2986,"52888":2987,"52896":2988,"52897":2989,"52899":2990,"52900":2991,"52901":2992,"52908":2993,"52909":2994,"52929":2995,"52964":2996,"52965":2997,"52968":2998,"52971":2999,"52972":3000,"52980":3001,"52981":3002,"52983":3003,"52984":3004,"52985":3005,"52992":3006,"52993":3007,"52996":3008,"53000":3009,"53008":3010,"53009":3011,"53011":3012,"53013":3013,"53020":3014,"53024":3015,"53028":3016,"53036":3017,"53037":3018,"53039":3019,"53040":3020,"53041":3021,"53048":3022,"53076":3023,"53077":3024,"53080":3025,"53084":3026,"53092":3027,"53093":3028,"53095":3029,"53097":3030,"53104":3031,"53105":3032,"53108":3033,"53112":3034,"53120":3035,"53125":3036,"53132":3037,"53153":3038,"53160":3039,"53168":3040,"53188":3041,"53216":3042,"53217":3043,"53220":3044,"53224":3045,"53232":3046,"53233":3047,"53235":3048,"53237":3049,"53244":3050,"53248":3051,"53252":3052,"53265":3053,"53272":3054,"53293":3055,"53300":3056,"53301":3057,"53304":3058,"53308":3059,"53316":3060,"53317":3061,"53319":3062,"53321":3063,"53328":3064,"53332":3065,"53336":3066,"53344":3067,"53356":3068,"53357":3069,"53360":3070,"53364":3071,"53372":3072,"53373":3073,"53377":3074,"53412":3075,"53413":3076,"53416":3077,"53420":3078,"53428":3079,"53429":3080,"53431":3081,"53433":3082,"53440":3083,"53441":3084,"53444":3085,"53448":3086,"53449":3087,"53456":3088,"53457":3089,"53459":3090,"53460":3091,"53461":3092,"53468":3093,"53469":3094,"53472":3095,"53476":3096,"53484":3097,"53485":3098,"53487":3099,"53488":3100,"53489":3101,"53496":3102,"53517":3103,"53552":3104,"53553":3105,"53556":3106,"53560":3107,"53562":3108,"53568":3109,"53569":3110,"53571":3111,"53572":3112,"53573":3113,"53580":3114,"53581":3115,"53584":3116,"53588":3117,"53596":3118,"53597":3119,"53599":3120,"53601":3121,"53608":3122,"53612":3123,"53628":3124,"53636":3125,"53640":3126,"53664":3127,"53665":3128,"53668":3129,"53672":3130,"53680":3131,"53681":3132,"53683":3133,"53685":3134,"53690":3135,"53692":3136,"53696":3137,"53720":3138,"53748":3139,"53752":3140,"53767":3141,"53769":3142,"53776":3143,"53804":3144,"53805":3145,"53808":3146,"53812":3147,"53820":3148,"53821":3149,"53823":3150,"53825":3151,"53832":3152,"53852":3153,"53860":3154,"53888":3155,"53889":3156,"53892":3157,"53896":3158,"53904":3159,"53905":3160,"53909":3161,"53916":3162,"53920":3163,"53924":3164,"53932":3165,"53937":3166,"53944":3167,"53945":3168,"53948":3169,"53951":3170,"53952":3171,"53954":3172,"53960":3173,"53961":3174,"53963":3175,"53972":3176,"53976":3177,"53980":3178,"53988":3179,"53989":3180,"54000":3181,"54001":3182,"54004":3183,"54008":3184,"54016":3185,"54017":3186,"54019":3187,"54021":3188,"54028":3189,"54029":3190,"54030":3191,"54032":3192,"54036":3193,"54038":3194,"54044":3195,"54045":3196,"54047":3197,"54048":3198,"54049":3199,"54053":3200,"54056":3201,"54057":3202,"54060":3203,"54064":3204,"54072":3205,"54073":3206,"54075":3207,"54076":3208,"54077":3209,"54084":3210,"54085":3211,"54140":3212,"54141":3213,"54144":3214,"54148":3215,"54156":3216,"54157":3217,"54159":3218,"54160":3219,"54161":3220,"54168":3221,"54169":3222,"54172":3223,"54176":3224,"54184":3225,"54185":3226,"54187":3227,"54189":3228,"54196":3229,"54200":3230,"54204":3231,"54212":3232,"54213":3233,"54216":3234,"54217":3235,"54224":3236,"54232":3237,"54241":3238,"54243":3239,"54252":3240,"54253":3241,"54256":3242,"54260":3243,"54268":3244,"54269":3245,"54271":3246,"54273":3247,"54280":3248,"54301":3249,"54336":3250,"54340":3251,"54364":3252,"54368":3253,"54372":3254,"54381":3255,"54383":3256,"54392":3257,"54393":3258,"54396":3259,"54399":3260,"54400":3261,"54402":3262,"54408":3263,"54409":3264,"54411":3265,"54413":3266,"54420":3267,"54441":3268,"54476":3269,"54480":3270,"54484":3271,"54492":3272,"54495":3273,"54504":3274,"54508":3275,"54512":3276,"54520":3277,"54523":3278,"54525":3279,"54532":3280,"54536":3281,"54540":3282,"54548":3283,"54549":3284,"54551":3285,"54588":3286,"54589":3287,"54592":3288,"54596":3289,"54604":3290,"54605":3291,"54607":3292,"54609":3293,"54616":3294,"54617":3295,"54620":3296,"54624":3297,"54629":3298,"54632":3299,"54633":3300,"54635":3301,"54637":3302,"54644":3303,"54645":3304,"54648":3305,"54652":3306,"54660":3307,"54661":3308,"54663":3309,"54664":3310,"54665":3311,"54672":3312,"54693":3313,"54728":3314,"54729":3315,"54732":3316,"54736":3317,"54738":3318,"54744":3319,"54745":3320,"54747":3321,"54749":3322,"54756":3323,"54757":3324,"54760":3325,"54764":3326,"54772":3327,"54773":3328,"54775":3329,"54777":3330,"54784":3331,"54785":3332,"54788":3333,"54792":3334,"54800":3335,"54801":3336,"54803":3337,"54804":3338,"54805":3339,"54812":3340,"54816":3341,"54820":3342,"54829":3343,"54840":3344,"54841":3345,"54844":3346,"54848":3347,"54853":3348,"54856":3349,"54857":3350,"54859":3351,"54861":3352,"54865":3353,"54868":3354,"54869":3355,"54872":3356,"54876":3357,"54887":3358,"54889":3359,"54896":3360,"54897":3361,"54900":3362,"54915":3363,"54917":3364,"54924":3365,"54925":3366,"54928":3367,"54932":3368,"54941":3369,"54943":3370,"54945":3371,"54952":3372,"54956":3373,"54960":3374,"54969":3375,"54971":3376,"54980":3377,"54981":3378,"54984":3379,"54988":3380,"54993":3381,"54996":3382,"54999":3383,"55001":3384,"55008":3385,"55012":3386,"55016":3387,"55024":3388,"55029":3389,"55036":3390,"55037":3391,"55040":3392,"55044":3393,"55057":3394,"55064":3395,"55065":3396,"55068":3397,"55072":3398,"55080":3399,"55081":3400,"55083":3401,"55085":3402,"55092":3403,"55093":3404,"55096":3405,"55100":3406,"55108":3407,"55111":3408,"55113":3409,"55120":3410,"55121":3411,"55124":3412,"55126":3413,"55127":3414,"55128":3415,"55129":3416,"55136":3417,"55137":3418,"55139":3419,"55141":3420,"55145":3421,"55148":3422,"55152":3423,"55156":3424,"55164":3425,"55165":3426,"55169":3427,"55176":3428,"55177":3429,"55180":3430,"55184":3431,"55192":3432,"55193":3433,"55195":3434,"55197":3435,"20285":3436,"20339":3437,"20551":3438,"20729":3439,"21152":3440,"21487":3441,"21621":3442,"21733":3443,"22025":3444,"23233":3445,"23478":3446,"26247":3447,"26550":3448,"26551":3449,"26607":3450,"27468":3451,"29634":3452,"30146":3453,"31292":3454,"33499":3455,"33540":3456,"34903":3457,"34952":3458,"35382":3459,"36040":3460,"63747":3460,"36303":3461,"36603":3462,"36838":3463,"39381":3464,"21051":3465,"21364":3466,"21508":3467,"24682":3468,"24932":3469,"27580":3470,"29647":3471,"33050":3472,"35258":3473,"12179":3474,"35282":3474,"38307":3475,"20355":3476,"21002":3477,"22718":3478,"22904":3479,"23014":3480,"12082":3481,"24178":3481,"24185":3482,"25031":3483,"25536":3484,"26438":3485,"26604":3486,"26751":3487,"28567":3488,"30286":3489,"30475":3490,"30965":3491,"31240":3492,"31487":3493,"31777":3494,"32925":3495,"12169":3496,"33390":3496,"33393":3497,"35563":3498,"38291":3499,"20075":3500,"21917":3501,"26359":3502,"28212":3503,"30883":3504,"31469":3505,"33883":3506,"35088":3507,"34638":3508,"38824":3509,"21208":3510,"22350":3511,"22570":3512,"23884":3513,"24863":3514,"25022":3515,"25121":3516,"25954":3517,"26577":3518,"27204":3519,"28187":3520,"12130":3521,"29976":3521,"30131":3522,"30435":3523,"30640":3524,"32058":3525,"37039":3526,"37969":3527,"37970":3528,"40853":3529,"21283":3530,"23724":3531,"30002":3532,"32987":3533,"37440":3534,"38296":3535,"21083":3536,"22536":3537,"23004":3538,"23713":3539,"23831":3540,"24247":3541,"24378":3542,"24394":3543,"24951":3544,"27743":3545,"30074":3546,"30086":3547,"31968":3548,"32115":3549,"32177":3550,"32652":3551,"33108":3552,"33313":3553,"34193":3554,"35137":3555,"35611":3556,"37628":3557,"38477":3558,"64009":3558,"40007":3559,"20171":3560,"20215":3561,"20491":3562,"20977":3563,"22607":3564,"24887":3565,"24894":3566,"24936":3567,"25913":3568,"27114":3569,"28433":3570,"30117":3571,"30342":3572,"30422":3573,"31623":3574,"33445":3575,"33995":3576,"37799":3577,"38283":3578,"21888":3579,"23458":3580,"22353":3581,"31923":3582,"32697":3583,"37301":3584,"20520":3585,"21435":3586,"23621":3587,"24040":3588,"25298":3589,"25454":3590,"25818":3591,"25831":3592,"28192":3593,"28844":3594,"31067":3595,"36317":3596,"36382":3597,"36989":3598,"37445":3599,"37624":3600,"20094":3601,"20214":3602,"20581":3603,"12081":3604,"24062":3604,"24314":3605,"24838":3606,"26967":3607,"33137":3608,"34388":3609,"36423":3610,"37749":3611,"39467":3612,"20062":3613,"20625":3614,"26480":3615,"26688":3616,"20745":3617,"21133":3618,"21138":3619,"27298":3620,"30652":3621,"37392":3622,"40660":3623,"21163":3624,"24623":3625,"36850":3626,"20552":3627,"25001":3628,"25581":3629,"25802":3630,"26684":3631,"27268":3632,"28608":3633,"33160":3634,"35233":3635,"38548":3636,"22533":3637,"29309":3638,"12125":3639,"29356":3639,"29956":3640,"32121":3641,"32365":3642,"32937":3643,"12178":3644,"35211":3644,"64010":3644,"35700":3645,"36963":3646,"40273":3647,"25225":3648,"27770":3649,"28500":3650,"32080":3651,"32570":3652,"35363":3653,"20860":3654,"24906":3655,"31645":3656,"35609":3657,"37463":3658,"37772":3659,"20140":3660,"20435":3661,"20510":3662,"20670":3663,"20742":3664,"21185":3665,"21197":3666,"21375":3667,"22384":3668,"22659":3669,"24218":3670,"24465":3671,"24950":3672,"25004":3673,"25806":3674,"25964":3675,"26223":3676,"26299":3677,"26356":3678,"63745":3678,"26775":3679,"28039":3680,"28805":3681,"28913":3682,"29855":3683,"29861":3684,"29898":3685,"30169":3686,"30828":3687,"30956":3688,"31455":3689,"31478":3690,"32069":3691,"32147":3692,"32789":3693,"32831":3694,"33051":3695,"33686":3696,"35686":3697,"36629":3698,"36885":3699,"37857":3700,"38915":3701,"38968":3702,"39514":3703,"39912":3704,"20418":3705,"21843":3706,"22586":3707,"22865":3708,"63753":3708,"23395":3709,"23622":3710,"24760":3711,"25106":3712,"26690":3713,"26800":3714,"26856":3715,"28330":3716,"30028":3717,"30328":3718,"30926":3719,"31293":3720,"31995":3721,"32363":3722,"32380":3723,"35336":3724,"35489":3725,"35903":3726,"38542":3727,"40388":3728,"21476":3729,"21481":3730,"21578":3731,"21617":3732,"22266":3733,"22993":3734,"23396":3735,"23611":3736,"24235":3737,"25335":3738,"25911":3739,"25925":3740,"25970":3741,"26272":3742,"26543":3743,"27073":3744,"27837":3745,"30204":3746,"30352":3747,"30590":3748,"31295":3749,"32660":3750,"32771":3751,"32929":3752,"33167":3753,"33510":3754,"33533":3755,"33776":3756,"34241":3757,"34865":3758,"34996":3759,"35493":3760,"36764":3761,"37678":3762,"38599":3763,"39015":3764,"12220":3765,"39640":3765,"12238":3766,"40723":3766,"21741":3767,"26011":3768,"26354":3769,"26767":3770,"31296":3771,"12181":3772,"35895":3772,"40288":3773,"22256":3774,"22372":3775,"23825":3776,"26118":3777,"26801":3778,"26829":3779,"28414":3780,"29736":3781,"34974":3782,"39908":3783,"27752":3784,"12219":3785,"39592":3785,"20379":3786,"20844":3787,"20849":3788,"21151":3789,"23380":3790,"12079":3791,"24037":3791,"24656":3792,"24685":3793,"25329":3794,"25511":3795,"25915":3796,"29657":3797,"31354":3798,"34467":3799,"36002":3800,"38799":3801,"20018":3802,"63749":3802,"23521":3803,"12093":3804,"25096":3804,"26524":3805,"12128":3806,"29916":3806,"31185":3807,"33747":3808,"35463":3809,"35506":3810,"36328":3811,"36942":3812,"37707":3813,"38982":3814,"24275":3815,"64011":3815,"27112":3816,"34303":3817,"37101":3818,"20896":3819,"23448":3820,"23532":3821,"24931":3822,"26874":3823,"27454":3824,"28748":3825,"29743":3826,"29912":3827,"31649":3828,"32592":3829,"33733":3830,"35264":3831,"36011":3832,"38364":3833,"39208":3834,"21038":3835,"24669":3836,"25324":3837,"36866":3838,"20362":3839,"20809":3840,"21281":3841,"22745":3842,"24291":3843,"26336":3844,"27960":3845,"28826":3846,"29378":3847,"29654":3848,"31568":3849,"33009":3850,"37979":3851,"21350":3852,"25499":3853,"32619":3854,"20054":3855,"20608":3856,"22602":3857,"22750":3858,"24618":3859,"24871":3860,"25296":3861,"27088":3862,"39745":3863,"23439":3864,"32024":3865,"32945":3866,"36703":3867,"20132":3868,"20689":3869,"21676":3870,"21932":3871,"23308":3872,"23968":3873,"24039":3874,"25898":3875,"25934":3876,"26657":3877,"27211":3878,"29409":3879,"30350":3880,"30703":3881,"32094":3882,"32761":3883,"33184":3884,"34126":3885,"34527":3886,"36611":3887,"36686":3888,"37066":3889,"39171":3890,"39509":3891,"39851":3892,"19992":3893,"20037":3894,"20061":3895,"20167":3896,"20465":3897,"20855":3898,"21246":3899,"21312":3900,"12061":3901,"21475":3901,"21477":3902,"63750":3902,"21646":3903,"22036":3904,"22389":3905,"22434":3906,"23495":3907,"23943":3908,"24272":3909,"25084":3910,"25304":3911,"25937":3912,"26552":3913,"26601":3914,"27083":3915,"27472":3916,"27590":3917,"27628":3918,"27714":3919,"28317":3920,"28792":3921,"29399":3922,"29590":3923,"29699":3924,"30655":3925,"30697":3926,"31350":3927,"32127":3928,"32777":3929,"12165":3930,"33276":3930,"33285":3931,"33290":3932,"33503":3933,"34914":3934,"35635":3935,"36092":3936,"36544":3937,"36881":3938,"37041":3939,"37476":3940,"37558":3941,"39378":3942,"39493":3943,"40169":3944,"40407":3945,"12244":3946,"40860":3946,"63751":3946,"63752":3946,"22283":3947,"23616":3948,"33738":3949,"38816":3950,"38827":3951,"40628":3952,"21531":3953,"31384":3954,"32676":3955,"35033":3956,"36557":3957,"37089":3958,"22528":3959,"23624":3960,"25496":3961,"31391":3962,"23470":3963,"12088":3964,"24339":3964,"31353":3965,"31406":3966,"33422":3967,"36524":3968,"20518":3969,"21048":3970,"21240":3971,"21367":3972,"22280":3973,"25331":3974,"25458":3975,"27402":3976,"28099":3977,"30519":3978,"21413":3979,"29527":3980,"34152":3981,"36470":3982,"38357":3983,"26426":3984,"27331":3985,"28528":3986,"35437":3987,"36556":3988,"39243":3989,"26231":3990,"27512":3991,"36020":3992,"12225":3993,"39740":3993,"21483":3994,"22317":3995,"22862":3996,"25542":3997,"27131":3998,"29674":3999,"30789":4000,"31418":4001,"31429":4002,"31998":4003,"33909":4004,"35215":4005,"36211":4006,"36917":4007,"38312":4008,"21243":4009,"22343":4010,"30023":4011,"31584":4012,"33740":4013,"37406":4014,"27224":4015,"20811":4016,"21067":4017,"21127":4018,"25119":4019,"26840":4020,"26997":4021,"38553":4022,"20677":4023,"21156":4024,"21220":4025,"25027":4026,"12100":4027,"26020":4027,"26681":4028,"27135":4029,"29822":4030,"31563":4031,"33465":4032,"33771":4033,"35250":4034,"35641":4035,"36817":4036,"39241":4037,"20170":4038,"22935":4039,"25810":4040,"26129":4041,"27278":4042,"29748":4043,"31105":4044,"31165":4045,"33449":4046,"34942":4047,"34943":4048,"35167":4049,"37670":4050,"20235":4051,"21450":4052,"24613":4053,"25201":4054,"27762":4055,"32026":4056,"32102":4057,"20120":4058,"20834":4059,"30684":4060,"32943":4061,"20225":4062,"20238":4063,"20854":4064,"20864":4065,"21980":4066,"22120":4067,"22331":4068,"22522":4069,"22524":4070,"22804":4071,"22855":4072,"22931":4073,"23492":4074,"23696":4075,"23822":4076,"12080":4077,"24049":4077,"24190":4078,"24524":4079,"25216":4080,"26071":4081,"26083":4082,"26398":4083,"26399":4084,"26462":4085,"26827":4086,"26820":4087,"27231":4088,"27450":4089,"27683":4090,"27773":4091,"27778":4092,"28103":4093,"29592":4094,"29734":4095,"29738":4096,"29826":4097,"29859":4098,"30072":4099,"30079":4100,"30849":4101,"30959":4102,"31041":4103,"31047":4104,"31048":4105,"31098":4106,"31637":4107,"32000":4108,"32186":4109,"32648":4110,"32774":4111,"32813":4112,"32908":4113,"35352":4114,"35663":4115,"35912":4116,"63744":4116,"36215":4117,"37665":4118,"37668":4119,"39138":4120,"39249":4121,"39438":4122,"39439":4123,"39525":4124,"40594":4125,"32202":4126,"20342":4127,"21513":4128,"25326":4129,"26708":4130,"12198":4131,"37329":4131,"63754":4131,"21931":4132,"20794":4133,"23068":4134,"25062":4135,"25295":4136,"63835":4136,"25343":4137,"37027":4138,"35582":4139,"63837":4139,"26262":4140,"29014":4141,"38627":4142,"25423":4143,"25466":4144,"21335":4145,"26511":4146,"26976":4147,"28275":4148,"30007":4149,"32013":4150,"34930":4151,"22218":4152,"23064":4153,"20035":4154,"20839":4155,"22856":4156,"63756":4156,"26608":4157,"32784":4158,"12069":4159,"22899":4159,"63873":4159,"24180":4160,"63886":4160,"25754":4161,"63889":4161,"31178":4162,"63893":4162,"24565":4163,"63907":4163,"24684":4164,"25288":4165,"25467":4166,"63908":4166,"23527":4167,"63839":4167,"63914":4167,"23511":4168,"21162":4169,"22900":4170,"24361":4171,"24594":4172,"63840":4172,"29785":4173,"39377":4174,"28611":4175,"33215":4176,"36786":4177,"24817":4178,"33126":4179,"23615":4180,"63933":4180,"23273":4181,"35365":4182,"26491":4183,"63944":4183,"32016":4184,"63951":4184,"33021":4185,"23612":4186,"27877":4187,"63971":4187,"21311":4188,"63979":4188,"28346":4189,"63980":4189,"22810":4190,"33590":4191,"63998":4191,"20025":4192,"63838":4192,"20150":4193,"20294":4194,"21934":4195,"22296":4196,"22727":4197,"24406":4198,"26039":4199,"26086":4200,"27264":4201,"27573":4202,"28237":4203,"30701":4204,"31471":4205,"31774":4206,"32222":4207,"34507":4208,"34962":4209,"37170":4210,"37723":4211,"25787":4212,"28606":4213,"29562":4214,"30136":4215,"36948":4216,"21846":4217,"22349":4218,"25018":4219,"25812":4220,"26311":4221,"28129":4222,"28251":4223,"28525":4224,"28601":4225,"30192":4226,"32835":4227,"33213":4228,"34113":4229,"35203":4230,"35527":4231,"35674":4232,"37663":4233,"27795":4234,"30035":4235,"31572":4236,"36367":4237,"36957":4238,"21776":4239,"22530":4240,"22616":4241,"24162":4242,"25095":4243,"25758":4244,"26848":4245,"30070":4246,"31958":4247,"64003":4247,"34739":4248,"40680":4249,"20195":4250,"22408":4251,"22382":4252,"12068":4253,"22823":4253,"23565":4254,"23729":4255,"24118":4256,"24453":4257,"25140":4258,"25825":4259,"29619":4260,"33274":4261,"34955":4262,"36024":4263,"38538":4264,"40667":4265,"23429":4266,"64004":4266,"24503":4267,"24755":4268,"20498":4269,"12049":4270,"20992":4270,"21040":4271,"22294":4272,"22581":4273,"22615":4274,"23566":4275,"23648":4276,"23798":4277,"23947":4278,"24230":4279,"64001":4279,"24466":4280,"24764":4281,"25361":4282,"25481":4283,"25623":4284,"26691":4285,"26873":4286,"27330":4287,"28120":4288,"28193":4289,"28372":4290,"28644":4291,"29182":4292,"30428":4293,"30585":4294,"31153":4295,"31291":4296,"33796":4297,"35241":4298,"36077":4299,"36339":4300,"36424":4301,"36867":4302,"36884":4303,"36947":4304,"37117":4305,"37709":4306,"38518":4307,"38876":4308,"27602":4309,"28678":4310,"29272":4311,"29346":4312,"29544":4313,"30563":4314,"31167":4315,"31716":4316,"32411":4317,"35712":4318,"63834":4318,"22697":4319,"24775":4320,"25958":4321,"26109":4322,"26302":4323,"27788":4324,"28958":4325,"29129":4326,"35930":4327,"38931":4328,"20077":4329,"31361":4330,"20189":4331,"20908":4332,"20941":4333,"21205":4334,"21516":4335,"24999":4336,"26481":4337,"26704":4338,"26847":4339,"27934":4340,"64005":4340,"28540":4341,"30140":4342,"30643":4343,"31461":4344,"33012":4345,"33891":4346,"37509":4347,"20828":4348,"12099":4349,"26007":4349,"26460":4350,"26515":4351,"30168":4352,"31431":4353,"33651":4354,"12182":4355,"35910":4355,"36887":4356,"38957":4357,"23663":4358,"33216":4359,"33434":4360,"36929":4361,"36975":4362,"37389":4363,"24471":4364,"23965":4365,"27225":4366,"29128":4367,"30331":4368,"31561":4369,"34276":4370,"35588":4371,"37159":4372,"39472":4373,"21895":4374,"63755":4374,"25078":4375,"63757":4375,"30313":4376,"63758":4376,"32645":4377,"63759":4377,"34367":4378,"63760":4378,"34746":4379,"63761":4379,"35064":4380,"63762":4380,"37007":4381,"63763":4381,"27931":4382,"63765":4382,"28889":4383,"63766":4383,"29662":4384,"63767":4384,"32097":4385,"33853":4386,"63768":4386,"37226":4387,"63769":4387,"39409":4388,"63770":4388,"20098":4389,"63771":4389,"21365":4390,"63772":4390,"27396":4391,"63773":4391,"27410":4392,"28734":4393,"29211":4394,"63774":4394,"34349":4395,"63775":4395,"40478":4396,"63776":4396,"21068":4397,"36771":4398,"23888":4399,"63777":4399,"25829":4400,"25900":4401,"27414":4402,"28651":4403,"63778":4403,"31811":4404,"32412":4405,"34253":4406,"63779":4406,"35172":4407,"63780":4407,"35261":4408,"25289":4409,"63781":4409,"33240":4410,"63782":4410,"34847":4411,"63783":4411,"24266":4412,"63784":4412,"26391":4413,"63785":4413,"28010":4414,"63786":4414,"29436":4415,"63787":4415,"29701":4416,"29807":4417,"34690":4418,"37086":4419,"63788":4419,"20358":4420,"63789":4420,"23821":4421,"24480":4422,"33802":4423,"20919":4424,"63790":4424,"25504":4425,"63861":4425,"30053":4426,"63862":4426,"20142":4427,"63863":4427,"20486":4428,"20841":4429,"63864":4429,"20937":4430,"63865":4430,"26753":4431,"63866":4431,"27153":4432,"31918":4433,"31921":4434,"31975":4435,"63867":4435,"33391":4436,"63868":4436,"35538":4437,"63869":4437,"36635":4438,"37327":4439,"63870":4439,"20406":4440,"20791":4441,"21237":4442,"63871":4442,"21570":4443,"63872":4443,"24300":4444,"63874":4444,"24942":4445,"25150":4446,"26053":4447,"63875":4447,"27354":4448,"28670":4449,"63876":4449,"31018":4450,"63877":4450,"34268":4451,"34851":4452,"38317":4453,"63878":4453,"39522":4454,"39530":4455,"63879":4455,"40599":4456,"63880":4456,"40654":4457,"63881":4457,"12050":4458,"21147":4458,"63882":4458,"26310":4459,"63883":4459,"27511":4460,"63884":4460,"28701":4461,"31019":4462,"36706":4463,"63885":4463,"38722":4464,"24976":4465,"63887":4465,"25088":4466,"63888":4466,"25891":4467,"28451":4468,"63890":4468,"29001":4469,"63891":4469,"29833":4470,"63892":4470,"32244":4471,"63894":4471,"32879":4472,"63895":4472,"34030":4473,"63897":4473,"36646":4474,"63896":4474,"36899":4475,"63898":4475,"37706":4476,"63899":4476,"20925":4477,"21015":4478,"63900":4478,"21155":4479,"63901":4479,"27916":4480,"28872":4481,"63903":4481,"35010":4482,"63904":4482,"24265":4483,"63906":4483,"25986":4484,"27566":4485,"63909":4485,"28610":4486,"31806":4487,"63910":4487,"29557":4488,"63911":4488,"20196":4489,"63912":4489,"20278":4490,"22265":4491,"63913":4491,"23738":4492,"23994":4493,"63915":4493,"24604":4494,"63916":4494,"29618":4495,"63917":4495,"31533":4496,"32666":4497,"63919":4497,"32718":4498,"32838":4499,"63920":4499,"36894":4500,"37428":4501,"63921":4501,"38646":4502,"63922":4502,"38728":4503,"63923":4503,"38936":4504,"63924":4504,"40801":4505,"20363":4506,"63925":4506,"28583":4507,"31150":4508,"63926":4508,"37300":4509,"63927":4509,"38583":4510,"63928":4510,"21214":4511,"63791":4511,"25736":4512,"25796":4513,"63792":4513,"27347":4514,"63793":4514,"28510":4515,"28696":4516,"29200":4517,"63794":4517,"30439":4518,"63795":4518,"12156":4519,"32769":4519,"63796":4519,"34310":4520,"63797":4520,"34396":4521,"63798":4521,"36335":4522,"63799":4522,"36613":4523,"38706":4524,"63800":4524,"39791":4525,"63801":4525,"40442":4526,"63802":4526,"12228":4527,"40565":4527,"30860":4528,"63803":4528,"31103":4529,"63804":4529,"32160":4530,"63805":4530,"33737":4531,"63806":4531,"37636":4532,"63807":4532,"12229":4533,"40575":4533,"63808":4533,"40595":4534,"35542":4535,"63809":4535,"22751":4536,"63810":4536,"24324":4537,"63811":4537,"26407":4538,"28711":4539,"29903":4540,"31840":4541,"63812":4541,"32894":4542,"63813":4542,"20769":4543,"28712":4544,"29282":4545,"63814":4545,"30922":4546,"63815":4546,"36034":4547,"63816":4547,"36058":4548,"36084":4549,"38647":4550,"63817":4550,"20102":4551,"63930":4551,"20698":4552,"63931":4552,"23534":4553,"63932":4553,"24278":4554,"26009":4555,"63934":4555,"29134":4556,"63936":4556,"30274":4557,"63937":4557,"30637":4558,"32842":4559,"34044":4560,"63938":4560,"36988":4561,"63939":4561,"39719":4562,"12243":4563,"40845":4563,"63940":4563,"22744":4564,"63818":4564,"23105":4565,"23650":4566,"63819":4566,"27155":4567,"63820":4567,"28122":4568,"63821":4568,"28431":4569,"63822":4569,"30267":4570,"32047":4571,"63823":4571,"32311":4572,"63824":4572,"34078":4573,"35128":4574,"37860":4575,"38475":4576,"63825":4576,"21129":4577,"63943":4577,"26066":4578,"26611":4579,"63945":4579,"27060":4580,"27969":4581,"63946":4581,"28316":4582,"63947":4582,"28687":4583,"29705":4584,"63948":4584,"29792":4585,"30041":4586,"63949":4586,"30244":4587,"30827":4588,"63950":4588,"35628":4589,"39006":4590,"63952":4590,"20845":4591,"63953":4591,"25134":4592,"63954":4592,"38520":4593,"63955":4593,"20374":4594,"20523":4595,"63956":4595,"23833":4596,"63957":4596,"28138":4597,"63958":4597,"32184":4598,"36650":4599,"63959":4599,"24459":4600,"63960":4600,"24900":4601,"63961":4601,"26647":4602,"63962":4602,"38534":4603,"63964":4603,"21202":4604,"63826":4604,"32907":4605,"63827":4605,"20956":4606,"63828":4606,"20940":4607,"63829":4607,"26974":4608,"31260":4609,"63830":4609,"32190":4610,"63831":4610,"33777":4611,"63832":4611,"38517":4612,"63833":4612,"20442":4613,"21033":4614,"63965":4614,"21400":4615,"21519":4616,"63966":4616,"21774":4617,"23653":4618,"63967":4618,"24743":4619,"26446":4620,"63969":4620,"26792":4621,"63970":4621,"28012":4622,"29313":4623,"29432":4624,"29702":4625,"63972":4625,"29827":4626,"30178":4627,"63973":4627,"31852":4628,"32633":4629,"63974":4629,"32696":4630,"33673":4631,"35023":4632,"63975":4632,"35041":4633,"63976":4633,"12197":4634,"37324":4634,"63977":4634,"37328":4635,"38626":4636,"63978":4636,"39881":4637,"21533":4638,"63981":4638,"28542":4639,"29136":4640,"63982":4640,"29848":4641,"63983":4641,"34298":4642,"63984":4642,"36522":4643,"38563":4644,"63985":4644,"40023":4645,"63986":4645,"40607":4646,"63987":4646,"26519":4647,"63988":4647,"28107":4648,"63989":4648,"29747":4649,"33256":4650,"63990":4650,"38678":4651,"30764":4652,"12148":4653,"31435":4653,"63991":4653,"31520":4654,"63992":4654,"31890":4655,"63993":4655,"25705":4656,"29802":4657,"30194":4658,"30908":4659,"30952":4660,"12218":4661,"39340":4661,"39764":4662,"12231":4663,"40635":4663,"23518":4664,"24149":4665,"28448":4666,"33180":4667,"33707":4668,"37000":4669,"19975":4670,"21325":4671,"23081":4672,"24018":4673,"24398":4674,"24930":4675,"25405":4676,"26217":4677,"26364":4678,"28415":4679,"28459":4680,"28771":4681,"30622":4682,"33836":4683,"34067":4684,"34875":4685,"36627":4686,"39237":4687,"39995":4688,"21788":4689,"25273":4690,"26411":4691,"27819":4692,"33545":4693,"35178":4694,"38778":4695,"20129":4696,"22916":4697,"24536":4698,"24537":4699,"26395":4700,"32178":4701,"32596":4702,"33426":4703,"33579":4704,"33725":4705,"36638":4706,"37017":4707,"22475":4708,"22969":4709,"23186":4710,"23504":4711,"26151":4712,"26522":4713,"26757":4714,"27599":4715,"29028":4716,"32629":4717,"36023":4718,"36067":4719,"36993":4720,"39749":4721,"33032":4722,"35978":4723,"38476":4724,"39488":4725,"12230":4726,"40613":4726,"23391":4727,"27667":4728,"29467":4729,"30450":4730,"30431":4731,"33804":4732,"20906":4733,"35219":4734,"20813":4735,"20885":4736,"21193":4737,"26825":4738,"27796":4739,"30468":4740,"30496":4741,"32191":4742,"32236":4743,"12207":4744,"38754":4744,"40629":4745,"28357":4746,"34065":4747,"20901":4748,"21517":4749,"21629":4750,"26126":4751,"26269":4752,"26919":4753,"28319":4754,"12139":4755,"30399":4755,"30609":4756,"33559":4757,"33986":4758,"34719":4759,"37225":4760,"37528":4761,"40180":4762,"34946":4763,"20398":4764,"20882":4765,"21215":4766,"22982":4767,"24125":4768,"24917":4769,"25720":4770,"25721":4771,"26286":4772,"26576":4773,"27169":4774,"27597":4775,"12113":4776,"27611":4776,"29279":4777,"29281":4778,"29761":4779,"30520":4780,"12141":4781,"30683":4781,"32791":4782,"33468":4783,"33541":4784,"35584":4785,"35624":4786,"35980":4787,"12106":4788,"26408":4788,"27792":4789,"29287":4790,"12140":4791,"30446":4791,"30566":4792,"31302":4793,"40361":4794,"27519":4795,"27794":4796,"22818":4797,"26406":4798,"33945":4799,"21359":4800,"22675":4801,"22937":4802,"24287":4803,"25551":4804,"26164":4805,"26483":4806,"28218":4807,"29483":4808,"31447":4809,"33495":4810,"37672":4811,"21209":4812,"24043":4813,"25006":4814,"25035":4815,"25098":4816,"25287":4817,"25771":4818,"12102":4819,"26080":4819,"26969":4820,"27494":4821,"12111":4822,"27595":4822,"28961":4823,"29687":4824,"30045":4825,"32326":4826,"33310":4827,"33538":4828,"34154":4829,"35491":4830,"36031":4831,"38695":4832,"40289":4833,"22696":4834,"40664":4835,"20497":4836,"21006":4837,"21563":4838,"21839":4839,"12098":4840,"25991":4840,"27766":4841,"32010":4842,"32011":4843,"32862":4844,"34442":4845,"12200":4846,"38272":4846,"38639":4847,"21247":4848,"27797":4849,"29289":4850,"21619":4851,"23194":4852,"23614":4853,"23883":4854,"24396":4855,"24494":4856,"26410":4857,"26806":4858,"26979":4859,"28220":4860,"28228":4861,"30473":4862,"12150":4863,"31859":4863,"32654":4864,"34183":4865,"35598":4866,"36855":4867,"38753":4868,"40692":4869,"23735":4870,"24758":4871,"24845":4872,"25003":4873,"25935":4874,"26107":4875,"26108":4876,"27665":4877,"27887":4878,"29599":4879,"29641":4880,"32225":4881,"38292":4882,"23494":4883,"34588":4884,"35600":4885,"21085":4886,"21338":4887,"25293":4888,"25615":4889,"25778":4890,"26420":4891,"27192":4892,"27850":4893,"29632":4894,"29854":4895,"31636":4896,"31893":4897,"32283":4898,"33162":4899,"33334":4900,"34180":4901,"36843":4902,"38649":4903,"39361":4904,"20276":4905,"21322":4906,"21453":4907,"21467":4908,"25292":4909,"25644":4910,"25856":4911,"26001":4912,"27075":4913,"27886":4914,"28504":4915,"29677":4916,"30036":4917,"30242":4918,"30436":4919,"30460":4920,"30928":4921,"30971":4922,"63844":4922,"31020":4923,"32070":4924,"33324":4925,"34784":4926,"36820":4927,"38930":4928,"39151":4929,"21187":4930,"25300":4931,"25765":4932,"28196":4933,"28497":4934,"30332":4935,"36299":4936,"37297":4937,"37474":4938,"39662":4939,"39747":4940,"20515":4941,"20621":4942,"22346":4943,"22952":4944,"23592":4945,"24135":4946,"24439":4947,"25151":4948,"25918":4949,"12101":4950,"26041":4950,"26049":4951,"26121":4952,"26507":4953,"27036":4954,"28354":4955,"30917":4956,"32033":4957,"32938":4958,"33152":4959,"33323":4960,"33459":4961,"33953":4962,"34444":4963,"35370":4964,"35607":4965,"37030":4966,"38450":4967,"40848":4968,"20493":4969,"20467":4970,"22521":4971,"24472":4972,"25308":4973,"25490":4974,"26479":4975,"28227":4976,"28953":4977,"30403":4978,"32972":4979,"32986":4980,"35060":4981,"35061":4982,"35097":4983,"36064":4984,"36649":4985,"37197":4986,"38506":4987,"20271":4988,"20336":4989,"24091":4990,"26575":4991,"26658":4992,"12137":4993,"30333":4993,"30334":4994,"39748":4995,"24161":4996,"27146":4997,"29033":4998,"29140":4999,"30058":5000,"32321":5001,"34115":5002,"34281":5003,"39132":5004,"20240":5005,"31567":5006,"32624":5007,"38309":5008,"20961":5009,"24070":5010,"26805":5011,"27710":5012,"27726":5013,"27867":5014,"29359":5015,"31684":5016,"33539":5017,"27861":5018,"29754":5019,"20731":5020,"21128":5021,"22721":5022,"25816":5023,"27287":5024,"29863":5025,"30294":5026,"30887":5027,"34327":5028,"38370":5029,"38713":5030,"21342":5031,"24321":5032,"35722":5033,"36776":5034,"36783":5035,"37002":5036,"21029":5037,"30629":5038,"40009":5039,"40712":5040,"19993":5041,"20482":5042,"20853":5043,"23643":5044,"24183":5045,"26142":5046,"26170":5047,"26564":5048,"26821":5049,"28851":5050,"29953":5051,"30149":5052,"31177":5053,"31453":5054,"36647":5055,"39200":5056,"39432":5057,"20445":5058,"22561":5059,"22577":5060,"23542":5061,"26222":5062,"27493":5063,"27921":5064,"28282":5065,"28541":5066,"29668":5067,"29995":5068,"33769":5069,"35036":5070,"35091":5071,"35676":5072,"36628":5073,"20239":5074,"20693":5075,"21264":5076,"12056":5077,"21340":5077,"23443":5078,"24489":5079,"63846":5079,"26381":5080,"31119":5081,"33145":5082,"33583":5083,"34068":5084,"35079":5085,"35206":5086,"36665":5087,"36667":5088,"64007":5088,"39333":5089,"39954":5090,"26412":5091,"20086":5092,"20472":5093,"22857":5094,"23553":5095,"23791":5096,"23792":5097,"25447":5098,"26834":5099,"28925":5100,"29090":5101,"29739":5102,"32299":5103,"34028":5104,"34562":5105,"36898":5106,"37586":5107,"40179":5108,"19981":5109,"63847":5109,"20184":5110,"20463":5111,"20613":5112,"21078":5113,"21103":5114,"21542":5115,"21648":5116,"22496":5117,"22827":5118,"23142":5119,"23386":5120,"23413":5121,"23500":5122,"24220":5123,"25206":5124,"25975":5125,"26023":5126,"28014":5127,"28325":5128,"12119":5129,"29238":5129,"31526":5130,"31807":5131,"12152":5132,"32566":5132,"33104":5133,"33105":5134,"33178":5135,"33344":5136,"33433":5137,"33705":5138,"35331":5139,"36000":5140,"36070":5141,"36091":5142,"36212":5143,"36282":5144,"37096":5145,"37340":5146,"12201":5147,"38428":5147,"38468":5148,"39385":5149,"40167":5150,"21271":5151,"63843":5151,"20998":5152,"21545":5153,"22132":5154,"22707":5155,"22868":5156,"22894":5157,"24575":5158,"24996":5159,"25198":5160,"26128":5161,"27774":5162,"28954":5163,"30406":5164,"31881":5165,"31966":5166,"32027":5167,"33452":5168,"36033":5169,"38640":5170,"20315":5171,"24343":5172,"24447":5173,"25282":5174,"23849":5175,"26379":5176,"26842":5177,"30844":5178,"32323":5179,"40300":5180,"19989":5181,"20633":5182,"12052":5183,"21269":5183,"21290":5184,"21329":5185,"22915":5186,"23138":5187,"24199":5188,"24754":5189,"24970":5190,"25161":5191,"25209":5192,"26000":5193,"26503":5194,"27047":5195,"12112":5196,"27604":5196,"27606":5197,"27607":5198,"27608":5199,"27832":5200,"29749":5201,"30202":5202,"30738":5203,"30865":5204,"31189":5205,"31192":5206,"31875":5207,"32203":5208,"32737":5209,"32933":5210,"33086":5211,"33218":5212,"33778":5213,"34586":5214,"35048":5215,"35513":5216,"35692":5217,"36027":5218,"37145":5219,"12206":5220,"38750":5220,"12214":5221,"39131":5221,"12240":5222,"40763":5222,"22188":5223,"23338":5224,"24428":5225,"25996":5226,"27315":5227,"27567":5228,"27996":5229,"28657":5230,"28693":5231,"29277":5232,"29613":5233,"36007":5234,"36051":5235,"38971":5236,"24977":5237,"27703":5238,"32856":5239,"39425":5240,"20045":5241,"20107":5242,"20123":5243,"20181":5244,"20282":5245,"20284":5246,"20351":5247,"20447":5248,"20735":5249,"21490":5250,"21496":5251,"21766":5252,"21987":5253,"22235":5254,"12064":5255,"22763":5255,"22882":5256,"23057":5257,"23531":5258,"23546":5259,"23556":5260,"24051":5261,"24107":5262,"24473":5263,"24605":5264,"25448":5265,"26012":5266,"26031":5267,"26614":5268,"26619":5269,"26797":5270,"27515":5271,"27801":5272,"27863":5273,"28195":5274,"28681":5275,"29509":5276,"30722":5277,"31038":5278,"31040":5279,"31072":5280,"31169":5281,"31721":5282,"32023":5283,"32114":5284,"32902":5285,"33293":5286,"33678":5287,"34001":5288,"34503":5289,"35039":5290,"35408":5291,"35422":5292,"35613":5293,"36060":5294,"36198":5295,"36781":5296,"37034":5297,"39164":5298,"39391":5299,"40605":5300,"21066":5301,"26388":5302,"20632":5303,"21034":5304,"12077":5305,"23665":5305,"25955":5306,"27733":5307,"29642":5308,"29987":5309,"30109":5310,"31639":5311,"33948":5312,"37240":5313,"38704":5314,"20087":5315,"25746":5316,"27578":5317,"63856":5317,"29022":5318,"34217":5319,"19977":5320,"26441":5321,"26862":5322,"28183":5323,"33439":5324,"34072":5325,"34923":5326,"25591":5327,"28545":5328,"37394":5329,"39087":5330,"19978":5331,"20663":5332,"20687":5333,"20767":5334,"21830":5335,"21930":5336,"22039":5337,"23360":5338,"23577":5339,"23776":5340,"24120":5341,"24202":5342,"24224":5343,"24258":5344,"24819":5345,"26705":5346,"27233":5347,"28248":5348,"29245":5349,"29248":5350,"29376":5351,"63994":5351,"30456":5352,"31077":5353,"31665":5354,"32724":5355,"35059":5356,"35316":5357,"35443":5358,"35937":5359,"36062":5360,"38684":5361,"22622":5362,"63852":5362,"29885":5363,"36093":5364,"21959":5365,"31329":5366,"32034":5367,"63850":5367,"12170":5368,"33394":5368,"29298":5369,"12131":5370,"29983":5370,"29989":5371,"31513":5372,"22661":5373,"22779":5374,"23996":5375,"24207":5376,"24246":5377,"24464":5378,"24661":5379,"25234":5380,"25471":5381,"25933":5382,"26257":5383,"26329":5384,"26360":5385,"26646":5386,"26866":5387,"29312":5388,"29790":5389,"31598":5390,"32110":5391,"32214":5392,"32626":5393,"32997":5394,"33298":5395,"34223":5396,"35199":5397,"35475":5398,"36893":5399,"37604":5400,"12233":5401,"40653":5401,"12239":5402,"40736":5402,"12067":5403,"22805":5403,"22893":5404,"24109":5405,"24796":5406,"26132":5407,"26227":5408,"26512":5409,"27728":5410,"28101":5411,"28511":5412,"12143":5413,"30707":5413,"30889":5414,"33990":5415,"37323":5416,"37675":5417,"20185":5418,"20682":5419,"20808":5420,"21892":5421,"23307":5422,"23459":5423,"25159":5424,"25982":5425,"26059":5426,"28210":5427,"29053":5428,"29697":5429,"29764":5430,"29831":5431,"29887":5432,"30316":5433,"31146":5434,"32218":5435,"32341":5436,"32680":5437,"33146":5438,"33203":5439,"33337":5440,"34330":5441,"34796":5442,"35445":5443,"36323":5444,"36984":5445,"37521":5446,"37925":5447,"39245":5448,"39854":5449,"21352":5450,"23633":5451,"26964":5452,"27844":5453,"27945":5454,"28203":5455,"12166":5456,"33292":5456,"34203":5457,"35131":5458,"35373":5459,"35498":5460,"63855":5460,"63905":5460,"38634":5461,"40807":5462,"21089":5463,"26297":5464,"27570":5465,"32406":5466,"34814":5467,"36109":5468,"38275":5469,"38493":5470,"25885":5471,"28041":5472,"29166":5473,"22478":5474,"22995":5475,"23468":5476,"24615":5477,"24826":5478,"25104":5479,"26143":5480,"26207":5481,"29481":5482,"29689":5483,"30427":5484,"30465":5485,"63853":5485,"31596":5486,"32854":5487,"32882":5488,"33125":5489,"35488":5490,"37266":5491,"19990":5492,"21218":5493,"27506":5494,"27927":5495,"31237":5496,"31545":5497,"32048":5498,"36016":5499,"21484":5500,"22063":5501,"22609":5502,"23477":5503,"12073":5504,"23567":5504,"23569":5505,"24034":5506,"25152":5507,"25475":5508,"25620":5509,"26157":5510,"26803":5511,"27836":5512,"28040":5513,"28335":5514,"28703":5515,"28836":5516,"29138":5517,"29990":5518,"30095":5519,"30094":5520,"30233":5521,"31505":5522,"31712":5523,"31787":5524,"32032":5525,"32057":5526,"34092":5527,"34157":5528,"34311":5529,"35380":5530,"36877":5531,"36961":5532,"37045":5533,"37559":5534,"38902":5535,"39479":5536,"20439":5537,"23660":5538,"26463":5539,"28049":5540,"31903":5541,"32396":5542,"35606":5543,"36118":5544,"36895":5545,"23403":5546,"24061":5547,"25613":5548,"33984":5549,"36956":5550,"39137":5551,"29575":5552,"63841":5552,"63963":5552,"23435":5553,"24730":5554,"26494":5555,"28126":5556,"35359":5557,"35494":5558,"36865":5559,"38924":5560,"21047":5561,"28753":5562,"30862":5563,"37782":5564,"34928":5565,"37335":5566,"20462":5567,"21463":5568,"22013":5569,"22234":5570,"22402":5571,"22781":5572,"23234":5573,"23432":5574,"23723":5575,"23744":5576,"24101":5577,"24833":5578,"25101":5579,"12095":5580,"25163":5580,"25480":5581,"25628":5582,"25910":5583,"25976":5584,"63849":5584,"27193":5585,"27530":5586,"12116":5587,"27700":5587,"27929":5588,"28465":5589,"29159":5590,"29417":5591,"29560":5592,"29703":5593,"29874":5594,"30246":5595,"30561":5596,"31168":5597,"31319":5598,"31466":5599,"31929":5600,"32143":5601,"32172":5602,"32353":5603,"32670":5604,"33065":5605,"33585":5606,"33936":5607,"34010":5608,"34282":5609,"34966":5610,"35504":5611,"35728":5612,"36664":5613,"36930":5614,"36995":5615,"37228":5616,"37526":5617,"37561":5618,"38539":5619,"38567":5620,"38568":5621,"38614":5622,"38656":5623,"38920":5624,"12216":5625,"39318":5625,"39635":5626,"39706":5627,"21460":5628,"22654":5629,"22809":5630,"23408":5631,"23487":5632,"28113":5633,"28506":5634,"29087":5635,"29729":5636,"29881":5637,"32901":5638,"33789":5639,"24033":5640,"24455":5641,"24490":5642,"24642":5643,"26092":5644,"26642":5645,"26991":5646,"27219":5647,"27529":5648,"27957":5649,"28147":5650,"29667":5651,"30462":5652,"30636":5653,"31565":5654,"32020":5655,"33059":5656,"33308":5657,"33600":5658,"34036":5659,"34147":5660,"35426":5661,"35524":5662,"37255":5663,"37662":5664,"38918":5665,"39348":5666,"25100":5667,"34899":5668,"36848":5669,"37477":5670,"23815":5671,"23847":5672,"23913":5673,"29791":5674,"33181":5675,"34664":5676,"28629":5677,"25342":5678,"63859":5678,"32722":5679,"35126":5680,"35186":5681,"19998":5682,"20056":5683,"20711":5684,"21213":5685,"21319":5686,"25215":5687,"26119":5688,"32361":5689,"34821":5690,"38494":5691,"20365":5692,"21273":5693,"22070":5694,"22987":5695,"23204":5696,"12075":5697,"23608":5697,"23630":5698,"23629":5699,"24066":5700,"24337":5701,"24643":5702,"26045":5703,"26159":5704,"26178":5705,"26558":5706,"26612":5707,"29468":5708,"12142":5709,"30690":5709,"12144":5710,"31034":5710,"32709":5711,"33940":5712,"33997":5713,"35222":5714,"35430":5715,"35433":5716,"35553":5717,"12183":5718,"35925":5718,"35962":5719,"22516":5720,"23508":5721,"24335":5722,"24687":5723,"25325":5724,"26893":5725,"27542":5726,"28252":5727,"29060":5728,"31698":5729,"34645":5730,"35672":5731,"63996":5731,"36606":5732,"12215":5733,"39135":5733,"39166":5734,"20280":5735,"20353":5736,"20449":5737,"21627":5738,"23072":5739,"23480":5740,"24892":5741,"26032":5742,"26216":5743,"29180":5744,"30003":5745,"31070":5746,"32051":5747,"33102":5748,"12162":5749,"33251":5749,"33688":5750,"34218":5751,"34254":5752,"34563":5753,"35338":5754,"12189":5755,"36523":5755,"12191":5756,"36763":5756,"36805":5757,"22833":5758,"23460":5759,"23526":5760,"24713":5761,"23529":5762,"23563":5763,"12092":5764,"24515":5764,"27777":5765,"28145":5766,"28683":5767,"29978":5768,"33455":5769,"35574":5770,"20160":5771,"63997":5771,"12055":5772,"21313":5772,"38617":5773,"12114":5774,"27663":5774,"20126":5775,"20420":5776,"20818":5777,"21854":5778,"23077":5779,"23784":5780,"25105":5781,"12123":5782,"29273":5782,"33469":5783,"33706":5784,"34558":5785,"34905":5786,"35357":5787,"38463":5788,"38597":5789,"39187":5790,"40201":5791,"40285":5792,"22538":5793,"23731":5794,"23997":5795,"24132":5796,"24801":5797,"63929":5797,"24853":5798,"25569":5799,"27138":5800,"63764":5800,"63836":5800,"63935":5800,"28197":5801,"37122":5802,"37716":5803,"38990":5804,"39952":5805,"40823":5806,"23433":5807,"23736":5808,"25353":5809,"26191":5810,"26696":5811,"30524":5812,"38593":5813,"38797":5814,"38996":5815,"39839":5816,"26017":5817,"35585":5818,"36555":5819,"38332":5820,"21813":5821,"23721":5822,"24022":5823,"24245":5824,"26263":5825,"30284":5826,"33780":5827,"38343":5828,"22739":5829,"25276":5830,"29390":5831,"40232":5832,"20208":5833,"22830":5834,"24591":5835,"26171":5836,"27523":5837,"31207":5838,"40230":5839,"21395":5840,"21696":5841,"22467":5842,"23830":5843,"24859":5844,"26326":5845,"28079":5846,"30861":5847,"33406":5848,"38552":5849,"38724":5850,"21380":5851,"25212":5852,"25494":5853,"28082":5854,"32266":5855,"33099":5856,"38989":5857,"27387":5858,"32588":5859,"40367":5860,"40474":5861,"20063":5862,"20539":5863,"20918":5864,"22812":5865,"24825":5866,"25590":5867,"26928":5868,"29242":5869,"32822":5870,"37326":5871,"24369":5872,"32004":5873,"33509":5874,"63860":5874,"33903":5875,"33979":5876,"34277":5877,"36493":5878,"20335":5879,"22756":5880,"23363":5881,"24665":5882,"25562":5883,"25880":5884,"25965":5885,"26264":5886,"26954":5887,"27171":5888,"27915":5889,"28673":5890,"29036":5891,"30162":5892,"30221":5893,"31155":5894,"31344":5895,"12154":5896,"32650":5896,"35140":5897,"35731":5898,"37312":5899,"38525":5900,"39178":5901,"22276":5902,"24481":5903,"26044":5904,"28417":5905,"30208":5906,"31142":5907,"35486":5908,"39341":5909,"12226":5910,"39770":5910,"40812":5911,"20740":5912,"25014":5913,"25233":5914,"27277":5915,"33222":5916,"20547":5917,"22576":5918,"24422":5919,"28937":5920,"12180":5921,"35328":5921,"35578":5922,"23420":5923,"34326":5924,"20474":5925,"20796":5926,"22196":5927,"22852":5928,"25513":5929,"28153":5930,"23978":5931,"26989":5932,"20870":5933,"20104":5934,"20313":5935,"22914":5936,"27487":5937,"27741":5938,"29877":5939,"30998":5940,"33287":5941,"33349":5942,"33593":5943,"36671":5944,"36701":5945,"39192":5946,"20134":5947,"22495":5948,"24441":5949,"26131":5950,"63968":5950,"30123":5951,"32377":5952,"35695":5953,"36870":5954,"39515":5955,"22181":5956,"22567":5957,"23032":5958,"23071":5959,"23476":5960,"24310":5961,"25424":5962,"25403":5963,"26941":5964,"27783":5965,"27839":5966,"28046":5967,"28051":5968,"28149":5969,"28436":5970,"28895":5971,"28982":5972,"29017":5973,"29123":5974,"29141":5975,"30799":5976,"30831":5977,"31605":5978,"32227":5979,"32303":5980,"34893":5981,"36575":5982,"37467":5983,"40182":5984,"24709":5985,"28037":5986,"29105":5987,"38321":5988,"21421":5989,"26579":5990,"28814":5991,"28976":5992,"29744":5993,"33398":5994,"33490":5995,"38331":5996,"39653":5997,"40573":5998,"26308":5999,"29121":6000,"33865":6001,"63854":6001,"22603":6002,"23992":6003,"24433":6004,"26144":6005,"26254":6006,"27001":6007,"27054":6008,"27704":6009,"27891":6010,"28214":6011,"28481":6012,"28634":6013,"28699":6014,"28719":6015,"29008":6016,"29151":6017,"29552":6018,"29787":6019,"29908":6020,"30408":6021,"31310":6022,"32403":6023,"33521":6024,"35424":6025,"36814":6026,"37704":6027,"38681":6028,"20034":6029,"20522":6030,"21000":6031,"21473":6032,"26355":6033,"27757":6034,"28618":6035,"29450":6036,"30591":6037,"31330":6038,"33454":6039,"34269":6040,"34306":6041,"35028":6042,"35427":6043,"35709":6044,"35947":6045,"37555":6046,"38675":6047,"38928":6048,"20116":6049,"20237":6050,"20425":6051,"20658":6052,"21320":6053,"21566":6054,"21555":6055,"21978":6056,"22626":6057,"22714":6058,"22887":6059,"23067":6060,"23524":6061,"24735":6062,"25034":6063,"25942":6064,"26111":6065,"26212":6066,"26791":6067,"27738":6068,"28595":6069,"28879":6070,"29100":6071,"29522":6072,"31613":6073,"34568":6074,"35492":6075,"39986":6076,"40711":6077,"23627":6078,"27779":6079,"29508":6080,"12127":6081,"29577":6081,"37434":6082,"28331":6083,"29797":6084,"30239":6085,"31337":6086,"32277":6087,"34314":6088,"20800":6089,"22725":6090,"25793":6091,"29934":6092,"29973":6093,"30320":6094,"32705":6095,"37013":6096,"38605":6097,"39252":6098,"28198":6099,"12129":6100,"29926":6100,"31401":6101,"31402":6102,"33253":6103,"34521":6104,"34680":6105,"35355":6106,"23113":6107,"23436":6108,"23451":6109,"26785":6110,"26880":6111,"28003":6112,"29609":6113,"29715":6114,"29740":6115,"30871":6116,"32233":6117,"32747":6118,"33048":6119,"33109":6120,"33694":6121,"35916":6122,"38446":6123,"63942":6123,"38929":6124,"12104":6125,"26352":6125,"24448":6126,"26106":6127,"26505":6128,"27754":6129,"29579":6130,"20525":6131,"23043":6132,"27498":6133,"30702":6134,"22806":6135,"23916":6136,"24013":6137,"29477":6138,"30031":6139,"20709":6140,"20985":6141,"22575":6142,"22829":6143,"22934":6144,"23002":6145,"23525":6146,"23970":6147,"25303":6148,"25622":6149,"25747":6150,"25854":6151,"26332":6152,"27208":6153,"29183":6154,"29796":6155,"31368":6156,"31407":6157,"32327":6158,"32350":6159,"32768":6160,"33136":6161,"34799":6162,"35201":6163,"35616":6164,"36953":6165,"36992":6166,"39250":6167,"24958":6168,"27442":6169,"28020":6170,"32287":6171,"35109":6172,"36785":6173,"20433":6174,"20653":6175,"20887":6176,"21191":6177,"22471":6178,"22665":6179,"23481":6180,"24248":6181,"24898":6182,"27029":6183,"28044":6184,"28263":6185,"28342":6186,"29076":6187,"29794":6188,"12132":6189,"29992":6189,"29996":6190,"32883":6191,"33592":6192,"33993":6193,"36362":6194,"37780":6195,"37854":6196,"20110":6197,"20305":6198,"20598":6199,"20778":6200,"12060":6201,"21448":6201,"21451":6202,"21491":6203,"23431":6204,"23507":6205,"23588":6206,"24858":6207,"24962":6208,"26100":6209,"12124":6210,"29275":6210,"29591":6211,"29760":6212,"30402":6213,"31056":6214,"31121":6215,"31161":6216,"32006":6217,"12155":6218,"32701":6218,"33419":6219,"34261":6220,"34398":6221,"36802":6222,"36935":6223,"37109":6224,"37354":6225,"38533":6226,"12204":6227,"38632":6227,"38633":6228,"21206":6229,"24423":6230,"26093":6231,"26161":6232,"26671":6233,"29020":6234,"31286":6235,"37057":6236,"38922":6237,"20113":6238,"27218":6239,"27550":6240,"28560":6241,"29065":6242,"32792":6243,"33464":6244,"34131":6245,"36939":6246,"38549":6247,"38642":6248,"38907":6249,"34074":6250,"39729":6251,"20112":6252,"29066":6253,"38596":6254,"20803":6255,"21407":6256,"21729":6257,"22291":6258,"22290":6259,"22435":6260,"23195":6261,"23236":6262,"23491":6263,"24616":6264,"24895":6265,"25588":6266,"27781":6267,"27961":6268,"28274":6269,"28304":6270,"29232":6271,"29503":6272,"29783":6273,"33489":6274,"34945":6275,"36677":6276,"36960":6277,"38498":6278,"39000":6279,"40219":6280,"12105":6281,"26376":6281,"36234":6282,"37470":6283,"20301":6284,"20553":6285,"20702":6286,"21361":6287,"22285":6288,"22996":6289,"23041":6290,"23561":6291,"24944":6292,"26256":6293,"28205":6294,"29234":6295,"29771":6296,"32239":6297,"32963":6298,"33806":6299,"33894":6300,"34111":6301,"34655":6302,"34907":6303,"35096":6304,"35586":6305,"36949":6306,"12209":6307,"38859":6307,"39759":6308,"20083":6309,"20369":6310,"20754":6311,"20842":6312,"21807":6313,"21929":6314,"23418":6315,"23461":6316,"24188":6317,"24189":6318,"24254":6319,"24736":6320,"24799":6321,"24840":6322,"24841":6323,"25540":6324,"25912":6325,"26377":6326,"26580":6327,"26586":6328,"26977":6329,"26978":6330,"27833":6331,"27943":6332,"28216":6333,"28641":6334,"29494":6335,"29495":6336,"29788":6337,"30001":6338,"30290":6339,"32173":6340,"33278":6341,"33848":6342,"35029":6343,"35480":6344,"35547":6345,"35565":6346,"36400":6347,"36418":6348,"36938":6349,"36926":6350,"36986":6351,"12195":6352,"37193":6352,"37321":6353,"37742":6354,"22537":6355,"27603":6356,"12161":6357,"32905":6357,"32946":6358,"20801":6359,"22891":6360,"23609":6361,"28516":6362,"29607":6363,"32996":6364,"36103":6365,"37399":6366,"38287":6367,"12160":6368,"32895":6368,"25102":6369,"28700":6370,"32104":6371,"34701":6372,"22432":6373,"24681":6374,"24903":6375,"27575":6376,"35518":6377,"37504":6378,"38577":6379,"12036":6380,"20057":6380,"21535":6381,"28139":6382,"34093":6383,"38512":6384,"12211":6385,"38899":6385,"39150":6386,"25558":6387,"27875":6388,"12194":6389,"37009":6389,"20957":6390,"25033":6391,"33210":6392,"40441":6393,"20381":6394,"20506":6395,"20736":6396,"23452":6397,"24847":6398,"25087":6399,"25836":6400,"26885":6401,"27589":6402,"30097":6403,"30691":6404,"32681":6405,"33380":6406,"34191":6407,"34811":6408,"12176":6409,"34915":6409,"35516":6410,"35696":6411,"37291":6412,"12038":6413,"20108":6413,"20197":6414,"20234":6415,"22839":6416,"23016":6417,"24050":6418,"24347":6419,"24411":6420,"24609":6421,"29246":6422,"29669":6423,"30064":6424,"63842":6424,"30157":6425,"31227":6426,"12157":6427,"32780":6427,"12159":6428,"32819":6428,"32900":6429,"33505":6430,"33617":6431,"36029":6432,"36019":6433,"36999":6434,"39156":6435,"39180":6436,"28727":6437,"30410":6438,"32714":6439,"32716":6440,"32764":6441,"35610":6442,"12040":6443,"20154":6443,"20161":6444,"20995":6445,"21360":6446,"21693":6447,"63902":6447,"22240":6448,"23035":6449,"23493":6450,"24341":6451,"24525":6452,"28270":6453,"32106":6454,"33589":6455,"34451":6456,"35469":6457,"38765":6458,"38775":6459,"12032":6460,"19968":6460,"20314":6461,"20350":6462,"22777":6463,"12103":6464,"26085":6464,"28322":6465,"36920":6466,"37808":6467,"39353":6468,"20219":6469,"22764":6470,"22922":6471,"23001":6472,"24641":6473,"31252":6474,"33615":6475,"36035":6476,"12042":6477,"20837":6477,"21316":6478,"20173":6479,"21097":6480,"23381":6481,"33471":6482,"20180":6483,"21050":6484,"63999":6484,"21672":6485,"22985":6486,"23039":6487,"12070":6488,"23376":6488,"23383":6489,"23388":6490,"24675":6491,"24904":6492,"28363":6493,"28825":6494,"63995":6494,"29038":6495,"29574":6496,"29943":6497,"30133":6498,"30913":6499,"32043":6500,"32773":6501,"12163":6502,"33258":6502,"33576":6503,"34071":6504,"34249":6505,"35566":6506,"36039":6507,"38604":6508,"20316":6509,"21242":6510,"22204":6511,"26027":6512,"26152":6513,"28796":6514,"28856":6515,"29237":6516,"32189":6517,"33421":6518,"37196":6519,"38592":6520,"40306":6521,"23409":6522,"26855":6523,"27544":6524,"28538":6525,"30430":6526,"23697":6527,"26283":6528,"28507":6529,"31668":6530,"31786":6531,"34870":6532,"38620":6533,"19976":6534,"20183":6535,"21280":6536,"22580":6537,"22715":6538,"22767":6539,"22892":6540,"23559":6541,"24115":6542,"24196":6543,"24373":6544,"25484":6545,"26290":6546,"26454":6547,"27167":6548,"27299":6549,"27404":6550,"28479":6551,"29254":6552,"29520":6553,"29835":6554,"31456":6555,"31911":6556,"33144":6557,"33247":6558,"33255":6559,"33674":6560,"33900":6561,"34083":6562,"34196":6563,"34255":6564,"35037":6565,"36115":6566,"37292":6567,"12199":6568,"38263":6568,"38556":6569,"20877":6570,"21705":6571,"22312":6572,"23472":6573,"25165":6574,"26448":6575,"26685":6576,"26771":6577,"28221":6578,"28371":6579,"28797":6580,"32289":6581,"35009":6582,"36001":6583,"36617":6584,"40779":6585,"40782":6586,"29229":6587,"31631":6588,"35533":6589,"37658":6590,"20295":6591,"20302":6592,"20786":6593,"21632":6594,"22992":6595,"24213":6596,"25269":6597,"26485":6598,"26990":6599,"27159":6600,"27822":6601,"28186":6602,"29401":6603,"29482":6604,"30141":6605,"31672":6606,"32053":6607,"33511":6608,"33785":6609,"33879":6610,"34295":6611,"35419":6612,"36015":6613,"36487":6614,"36889":6615,"37048":6616,"38606":6617,"40799":6618,"21219":6619,"21514":6620,"23265":6621,"23490":6622,"25688":6623,"25973":6624,"28404":6625,"29380":6626,"30340":6627,"31309":6628,"31515":6629,"31821":6630,"32318":6631,"32735":6632,"33659":6633,"35627":6634,"36042":6635,"12186":6636,"36196":6636,"36321":6637,"36447":6638,"36842":6639,"36857":6640,"36969":6641,"37841":6642,"20291":6643,"20346":6644,"20659":6645,"20840":6646,"20856":6647,"21069":6648,"21098":6649,"22625":6650,"22652":6651,"22880":6652,"23560":6653,"23637":6654,"24283":6655,"24731":6656,"25136":6657,"26643":6658,"27583":6659,"27656":6660,"28593":6661,"29006":6662,"29728":6663,"12133":6664,"30000":6664,"30008":6665,"30033":6666,"30322":6667,"31564":6668,"31627":6669,"31661":6670,"31686":6671,"32399":6672,"35438":6673,"36670":6674,"36681":6675,"37439":6676,"37523":6677,"37666":6678,"37931":6679,"38651":6680,"39002":6681,"39019":6682,"39198":6683,"20999":6684,"64000":6684,"25130":6685,"25240":6686,"27993":6687,"30308":6688,"31434":6689,"31680":6690,"32118":6691,"21344":6692,"23742":6693,"24215":6694,"28472":6695,"28857":6696,"31896":6697,"38673":6698,"39822":6699,"40670":6700,"25509":6701,"25722":6702,"34678":6703,"19969":6704,"20117":6705,"20141":6706,"20572":6707,"20597":6708,"21576":6709,"22979":6710,"23450":6711,"24128":6712,"24237":6713,"24311":6714,"24449":6715,"24773":6716,"25402":6717,"25919":6718,"25972":6719,"26060":6720,"26230":6721,"26232":6722,"26622":6723,"26984":6724,"27273":6725,"27491":6726,"27712":6727,"28096":6728,"28136":6729,"28191":6730,"28254":6731,"28702":6732,"28833":6733,"29582":6734,"29693":6735,"30010":6736,"30555":6737,"30855":6738,"31118":6739,"31243":6740,"31357":6741,"31934":6742,"32142":6743,"33351":6744,"35330":6745,"35562":6746,"35998":6747,"37165":6748,"37194":6749,"37336":6750,"37478":6751,"37580":6752,"37664":6753,"38662":6754,"38742":6755,"38748":6756,"38914":6757,"12237":6758,"40718":6758,"21046":6759,"21137":6760,"21884":6761,"22564":6762,"24093":6763,"24351":6764,"24716":6765,"25552":6766,"26799":6767,"28639":6768,"31085":6769,"31532":6770,"33229":6771,"34234":6772,"35069":6773,"35576":6774,"36420":6775,"37261":6776,"38500":6777,"38555":6778,"38717":6779,"38988":6780,"12241":6781,"40778":6781,"20430":6782,"20806":6783,"20939":6784,"21161":6785,"22066":6786,"24340":6787,"24427":6788,"25514":6789,"25805":6790,"26089":6791,"26177":6792,"26362":6793,"26361":6794,"26397":6795,"26781":6796,"26839":6797,"27133":6798,"28437":6799,"28526":6800,"29031":6801,"29157":6802,"12118":6803,"29226":6803,"29866":6804,"30522":6805,"31062":6806,"31066":6807,"31199":6808,"31264":6809,"31381":6810,"31895":6811,"31967":6812,"32068":6813,"32368":6814,"32903":6815,"34299":6816,"34468":6817,"35412":6818,"35519":6819,"36249":6820,"36481":6821,"36896":6822,"36973":6823,"37347":6824,"38459":6825,"38613":6826,"12227":6827,"40165":6827,"26063":6828,"31751":6829,"12188":6830,"36275":6830,"37827":6831,"23384":6832,"23562":6833,"21330":6834,"25305":6835,"29469":6836,"20519":6837,"23447":6838,"24478":6839,"24752":6840,"24939":6841,"26837":6842,"28121":6843,"29742":6844,"31278":6845,"32066":6846,"32156":6847,"32305":6848,"33131":6849,"36394":6850,"36405":6851,"37758":6852,"37912":6853,"20304":6854,"22352":6855,"24038":6856,"24231":6857,"25387":6858,"32618":6859,"20027":6860,"20303":6861,"20367":6862,"20570":6863,"23005":6864,"32964":6865,"21610":6866,"21608":6867,"22014":6868,"22863":6869,"23449":6870,"24030":6871,"24282":6872,"26205":6873,"26417":6874,"26609":6875,"26666":6876,"27880":6877,"27954":6878,"28234":6879,"28557":6880,"28855":6881,"29664":6882,"30087":6883,"31820":6884,"32002":6885,"32044":6886,"32162":6887,"12168":6888,"33311":6888,"34523":6889,"35387":6890,"35461":6891,"12187":6892,"36208":6892,"36490":6893,"36659":6894,"36913":6895,"37198":6896,"37202":6897,"37956":6898,"39376":6899,"12149":6900,"31481":6900,"31909":6901,"20426":6902,"20737":6903,"20934":6904,"22472":6905,"23535":6906,"23803":6907,"26201":6908,"27197":6909,"27994":6910,"28310":6911,"28652":6912,"28940":6913,"30063":6914,"31459":6915,"34850":6916,"36897":6917,"36981":6918,"38603":6919,"39423":6920,"33537":6921,"20013":6922,"20210":6923,"34886":6924,"37325":6925,"21373":6926,"27355":6927,"26987":6928,"27713":6929,"33914":6930,"22686":6931,"24974":6932,"26366":6933,"25327":6934,"28893":6935,"29969":6936,"30151":6937,"32338":6938,"33976":6939,"35657":6940,"36104":6941,"20043":6942,"21482":6943,"21675":6944,"22320":6945,"22336":6946,"24535":6947,"25345":6948,"25351":6949,"25711":6950,"12096":6951,"25903":6951,"26088":6952,"26234":6953,"26525":6954,"26547":6955,"12108":6956,"27490":6956,"27744":6957,"27802":6958,"28460":6959,"30693":6960,"30757":6961,"31049":6962,"31063":6963,"32025":6964,"32930":6965,"33026":6966,"12164":6967,"33267":6967,"33437":6968,"33463":6969,"34584":6970,"35468":6971,"36100":6972,"36286":6973,"36978":6974,"30452":6975,"31257":6976,"31287":6977,"32340":6978,"32887":6979,"21767":6980,"21972":6981,"22645":6982,"25391":6983,"25634":6984,"26185":6985,"26187":6986,"26733":6987,"27035":6988,"27524":6989,"27941":6990,"28337":6991,"29645":6992,"29800":6993,"29857":6994,"30043":6995,"30137":6996,"30433":6997,"30494":6998,"30603":6999,"31206":7000,"32265":7001,"32285":7002,"33275":7003,"34095":7004,"34967":7005,"35386":7006,"36049":7007,"36587":7008,"12192":7009,"36784":7009,"63857":7009,"36914":7010,"37805":7011,"38499":7012,"38515":7013,"38663":7014,"20356":7015,"21489":7016,"23018":7017,"23241":7018,"24089":7019,"26702":7020,"29894":7021,"30142":7022,"31209":7023,"31378":7024,"33187":7025,"34541":7026,"36074":7027,"36300":7028,"36845":7029,"26015":7030,"26389":7031,"22519":7032,"28503":7033,"32221":7034,"36655":7035,"37878":7036,"38598":7037,"24501":7038,"25074":7039,"28548":7040,"19988":7041,"20376":7042,"20511":7043,"21449":7044,"21983":7045,"23919":7046,"24046":7047,"27425":7048,"27492":7049,"30923":7050,"31642":7051,"36425":7052,"12190":7053,"36554":7053,"63746":7053,"36974":7054,"25417":7055,"25662":7056,"30528":7057,"31364":7058,"37679":7059,"38015":7060,"40810":7061,"25776":7062,"28591":7063,"29158":7064,"29864":7065,"29914":7066,"31428":7067,"31762":7068,"32386":7069,"31922":7070,"32408":7071,"35738":7072,"36106":7073,"38013":7074,"39184":7075,"39244":7076,"21049":7077,"23519":7078,"25830":7079,"26413":7080,"32046":7081,"20717":7082,"21443":7083,"63851":7083,"22649":7084,"24920":7085,"24921":7086,"25082":7087,"26028":7088,"31449":7089,"35730":7090,"35734":7091,"20489":7092,"20513":7093,"21109":7094,"21809":7095,"23100":7096,"24288":7097,"24432":7098,"24884":7099,"25950":7100,"26124":7101,"26166":7102,"26274":7103,"27085":7104,"28356":7105,"28466":7106,"29462":7107,"30241":7108,"31379":7109,"33081":7110,"33369":7111,"33750":7112,"33980":7113,"20661":7114,"22512":7115,"23488":7116,"23528":7117,"24425":7118,"25505":7119,"30758":7120,"32181":7121,"33756":7122,"34081":7123,"37319":7124,"37365":7125,"20874":7126,"26613":7127,"31574":7128,"36012":7129,"20932":7130,"22971":7131,"24765":7132,"34389":7133,"20508":7134,"21076":7135,"23610":7136,"24957":7137,"25114":7138,"25299":7139,"64002":7139,"25842":7140,"26021":7141,"28364":7142,"30240":7143,"33034":7144,"36448":7145,"38495":7146,"38587":7147,"20191":7148,"21315":7149,"21912":7150,"22825":7151,"24029":7152,"25797":7153,"27849":7154,"28154":7155,"29588":7156,"31359":7157,"12167":7158,"33307":7158,"34214":7159,"36068":7160,"36368":7161,"36983":7162,"37351":7163,"38369":7164,"38433":7165,"38854":7166,"20984":7167,"21746":7168,"21894":7169,"24505":7170,"25764":7171,"28552":7172,"32180":7173,"36639":7174,"36685":7175,"37941":7176,"20681":7177,"23574":7178,"27838":7179,"28155":7180,"29979":7181,"30651":7182,"31805":7183,"31844":7184,"35449":7185,"35522":7186,"22558":7187,"22974":7188,"24086":7189,"25463":7190,"29266":7191,"30090":7192,"30571":7193,"35548":7194,"36028":7195,"36626":7196,"24307":7197,"26228":7198,"28152":7199,"32893":7200,"33729":7201,"35531":7202,"12205":7203,"38737":7203,"39894":7204,"21059":7205,"26367":7206,"28053":7207,"28399":7208,"32224":7209,"35558":7210,"36910":7211,"36958":7212,"39636":7213,"21021":7214,"21119":7215,"21736":7216,"24980":7217,"25220":7218,"25307":7219,"26786":7220,"26898":7221,"26970":7222,"27189":7223,"28818":7224,"28966":7225,"30813":7226,"30977":7227,"30990":7228,"31186":7229,"31245":7230,"32918":7231,"12171":7232,"33400":7232,"33493":7233,"33609":7234,"34121":7235,"35970":7236,"36229":7237,"37218":7238,"37259":7239,"37294":7240,"20419":7241,"22225":7242,"29165":7243,"30679":7244,"34560":7245,"35320":7246,"12072":7247,"23544":7247,"24534":7248,"26449":7249,"37032":7250,"21474":7251,"22618":7252,"23541":7253,"24740":7254,"24961":7255,"25696":7256,"32317":7257,"32880":7258,"34085":7259,"37507":7260,"25774":7261,"20652":7262,"23828":7263,"26368":7264,"22684":7265,"25277":7266,"25512":7267,"26894":7268,"27000":7269,"27166":7270,"28267":7271,"30394":7272,"31179":7273,"33467":7274,"33833":7275,"35535":7276,"36264":7277,"36861":7278,"37138":7279,"37195":7280,"37276":7281,"37648":7282,"37656":7283,"37786":7284,"38619":7285,"39478":7286,"39949":7287,"19985":7288,"30044":7289,"31069":7290,"31482":7291,"31569":7292,"31689":7293,"32302":7294,"33988":7295,"36441":7296,"36468":7297,"36600":7298,"36880":7299,"26149":7300,"26943":7301,"29763":7302,"20986":7303,"26414":7304,"40668":7305,"20805":7306,"24544":7307,"27798":7308,"34802":7309,"34909":7310,"34935":7311,"24756":7312,"33205":7313,"33795":7314,"36101":7315,"21462":7316,"21561":7317,"22068":7318,"23094":7319,"23601":7320,"28810":7321,"32736":7322,"32858":7323,"33030":7324,"33261":7325,"36259":7326,"37257":7327,"39519":7328,"40434":7329,"20596":7330,"20164":7331,"21408":7332,"24827":7333,"28204":7334,"23652":7335,"20360":7336,"20516":7337,"21988":7338,"23769":7339,"24159":7340,"24677":7341,"26772":7342,"27835":7343,"28100":7344,"29118":7345,"30164":7346,"30196":7347,"30305":7348,"31258":7349,"31305":7350,"32199":7351,"32251":7352,"32622":7353,"33268":7354,"34473":7355,"36636":7356,"38601":7357,"39347":7358,"12242":7359,"40786":7359,"21063":7360,"21189":7361,"39149":7362,"35242":7363,"19971":7364,"26578":7365,"28422":7366,"20405":7367,"23522":7368,"26517":7369,"27784":7370,"63858":7370,"28024":7371,"29723":7372,"30759":7373,"37341":7374,"37756":7375,"34756":7376,"31204":7377,"31281":7378,"24555":7379,"20182":7380,"21668":7381,"21822":7382,"22702":7383,"22949":7384,"24816":7385,"25171":7386,"25302":7387,"26422":7388,"26965":7389,"33333":7390,"38464":7391,"39345":7392,"39389":7393,"20524":7394,"21331":7395,"21828":7396,"22396":7397,"25176":7398,"25826":7399,"26219":7400,"26589":7401,"28609":7402,"28655":7403,"29730":7404,"29752":7405,"35351":7406,"37944":7407,"21585":7408,"22022":7409,"22374":7410,"24392":7411,"24986":7412,"27470":7413,"28760":7414,"28845":7415,"32187":7416,"35477":7417,"22890":7418,"33067":7419,"25506":7420,"30472":7421,"32829":7422,"36010":7423,"22612":7424,"25645":7425,"27067":7426,"23445":7427,"24081":7428,"28271":7429,"34153":7430,"20812":7431,"21488":7432,"22826":7433,"24608":7434,"24907":7435,"27526":7436,"27760":7437,"27888":7438,"31518":7439,"32974":7440,"33492":7441,"36294":7442,"37040":7443,"39089":7444,"25799":7445,"28580":7446,"25745":7447,"25860":7448,"20814":7449,"21520":7450,"12063":7451,"22303":7451,"35342":7452,"24927":7453,"26742":7454,"30171":7455,"31570":7456,"32113":7457,"36890":7458,"22534":7459,"27084":7460,"33151":7461,"35114":7462,"36864":7463,"38969":7464,"20600":7465,"22871":7466,"22956":7467,"25237":7468,"36879":7469,"39722":7470,"24925":7471,"29305":7472,"38358":7473,"22369":7474,"23110":7475,"24052":7476,"25226":7477,"25773":7478,"25850":7479,"26487":7480,"27874":7481,"27966":7482,"29228":7483,"29750":7484,"30772":7485,"32631":7486,"33453":7487,"36315":7488,"38935":7489,"21028":7490,"22338":7491,"26495":7492,"29256":7493,"29923":7494,"36009":7495,"36774":7496,"37393":7497,"38442":7498,"12043":7499,"20843":7499,"21485":7500,"25420":7501,"20329":7502,"21764":7503,"24726":7504,"25943":7505,"27803":7506,"28031":7507,"29260":7508,"29437":7509,"31255":7510,"35207":7511,"12185":7512,"35997":7512,"24429":7513,"28558":7514,"28921":7515,"33192":7516,"24846":7517,"20415":7518,"63845":7518,"20559":7519,"25153":7520,"12122":7521,"29255":7521,"31687":7522,"32232":7523,"32745":7524,"36941":7525,"38829":7526,"39449":7527,"36022":7528,"22378":7529,"24179":7530,"26544":7531,"33805":7532,"35413":7533,"21536":7534,"23318":7535,"24163":7536,"24290":7537,"24330":7538,"25987":7539,"32954":7540,"34109":7541,"38281":7542,"38491":7543,"20296":7544,"21253":7545,"21261":7546,"21263":7547,"21638":7548,"21754":7549,"22275":7550,"24067":7551,"24598":7552,"25243":7553,"25265":7554,"25429":7555,"27873":7556,"28006":7557,"30129":7558,"30770":7559,"32990":7560,"33071":7561,"33502":7562,"33889":7563,"33970":7564,"34957":7565,"35090":7566,"36875":7567,"37610":7568,"39165":7569,"39825":7570,"24133":7571,"26292":7572,"64006":7572,"26333":7573,"28689":7574,"29190":7575,"20469":7576,"21117":7577,"24426":7578,"24915":7579,"26451":7580,"27161":7581,"28418":7582,"29922":7583,"31080":7584,"34920":7585,"35961":7586,"39111":7587,"39108":7588,"39491":7589,"21697":7590,"31263":7591,"26963":7592,"35575":7593,"35914":7594,"12213":7595,"39080":7595,"39342":7596,"24444":7597,"25259":7598,"30130":7599,"12138":7600,"30382":7600,"34987":7601,"36991":7602,"38466":7603,"21305":7604,"24380":7605,"24517":7606,"27852":7607,"63848":7607,"29644":7608,"30050":7609,"12134":7610,"30091":7610,"31558":7611,"33534":7612,"39325":7613,"20047":7614,"36924":7615,"19979":7616,"20309":7617,"21414":7618,"22799":7619,"24264":7620,"26160":7621,"27827":7622,"29781":7623,"33655":7624,"34662":7625,"36032":7626,"36944":7627,"38686":7628,"39957":7629,"22737":7630,"23416":7631,"34384":7632,"35604":7633,"40372":7634,"23506":7635,"24680":7636,"24717":7637,"26097":7638,"27735":7639,"28450":7640,"28579":7641,"28698":7642,"32597":7643,"32752":7644,"38289":7645,"38290":7646,"38480":7647,"38867":7648,"21106":7649,"36676":7650,"20989":7651,"21547":7652,"21688":7653,"21859":7654,"21898":7655,"27323":7656,"28085":7657,"32216":7658,"33382":7659,"37532":7660,"38519":7661,"40569":7662,"21512":7663,"21704":7664,"30418":7665,"34532":7666,"38308":7667,"38356":7668,"38492":7669,"20130":7670,"20233":7671,"23022":7672,"23270":7673,"24055":7674,"24658":7675,"25239":7676,"26477":7677,"26689":7678,"27782":7679,"28207":7680,"32568":7681,"32923":7682,"33322":7683,"38917":7684,"20133":7685,"20565":7686,"21683":7687,"22419":7688,"22874":7689,"23401":7690,"23475":7691,"25032":7692,"26999":7693,"28023":7694,"28707":7695,"34809":7696,"35299":7697,"35442":7698,"35559":7699,"36994":7700,"39405":7701,"39608":7702,"21182":7703,"26680":7704,"20502":7705,"24184":7706,"26447":7707,"33607":7708,"12175":7709,"34892":7709,"64008":7709,"20139":7710,"21521":7711,"22190":7712,"29670":7713,"37141":7714,"38911":7715,"39177":7716,"39255":7717,"12217":7718,"39321":7718,"22099":7719,"22687":7720,"34395":7721,"35377":7722,"25010":7723,"27382":7724,"29563":7725,"36562":7726,"27463":7727,"38570":7728,"39511":7729,"22869":7730,"29184":7731,"36203":7732,"12208":7733,"38761":7733,"20436":7734,"23796":7735,"24358":7736,"25080":7737,"26203":7738,"27883":7739,"28843":7740,"12126":7741,"29572":7741,"29625":7742,"29694":7743,"30505":7744,"30541":7745,"32067":7746,"32098":7747,"32291":7748,"33335":7749,"34898":7750,"36066":7751,"37449":7752,"39023":7753,"23377":7754,"12147":7755,"31348":7755,"12174":7756,"34880":7756,"12212":7757,"38913":7757,"23244":7758,"20448":7759,"21332":7760,"22846":7761,"23805":7762,"25406":7763,"28025":7764,"29433":7765,"33029":7766,"33031":7767,"33698":7768,"37583":7769,"38960":7770,"20136":7771,"20804":7772,"21009":7773,"22411":7774,"24418":7775,"27842":7776,"28366":7777,"28677":7778,"28752":7779,"28847":7780,"29074":7781,"29673":7782,"29801":7783,"63918":7783,"33610":7784,"34722":7785,"34913":7786,"36872":7787,"37026":7788,"37795":7789,"39336":7790,"20846":7791,"24407":7792,"24800":7793,"24935":7794,"26291":7795,"34137":7796,"36426":7797,"37295":7798,"38795":7799,"20046":7800,"20114":7801,"21628":7802,"22741":7803,"22778":7804,"22909":7805,"23733":7806,"24359":7807,"12094":7808,"25142":7808,"25160":7809,"26122":7810,"26215":7811,"27627":7812,"28009":7813,"28111":7814,"28246":7815,"28408":7816,"28564":7817,"28640":7818,"28649":7819,"28765":7820,"29392":7821,"29733":7822,"29786":7823,"29920":7824,"30355":7825,"31068":7826,"31946":7827,"32286":7828,"32993":7829,"33446":7830,"33899":7831,"33983":7832,"34382":7833,"34399":7834,"34676":7835,"35703":7836,"35946":7837,"37804":7838,"38912":7839,"39013":7840,"24785":7841,"25110":7842,"37239":7843,"23130":7844,"26127":7845,"28151":7846,"28222":7847,"29759":7848,"39746":7849,"24573":7850,"24794":7851,"31503":7852,"21700":7853,"24344":7854,"27742":7855,"27859":7856,"27946":7857,"28888":7858,"32005":7859,"34425":7860,"35340":7861,"40251":7862,"21270":7863,"21644":7864,"23301":7865,"27194":7866,"12117":7867,"28779":7867,"30069":7868,"31117":7869,"12146":7870,"31166":7870,"33457":7871,"33775":7872,"35441":7873,"35649":7874,"36008":7875,"38772":7876,"25844":7877,"25899":7878,"30906":7879,"30907":7880,"31339":7881,"20024":7882,"21914":7883,"22864":7884,"23462":7885,"24187":7886,"24739":7887,"25563":7888,"27489":7889,"26213":7890,"26707":7891,"28185":7892,"29029":7893,"29872":7894,"32008":7895,"36996":7896,"39529":7897,"39973":7898,"27963":7899,"28369":7900,"63748":7900,"29502":7901,"35905":7902,"38346":7903,"20976":7904,"24140":7905,"24488":7906,"24653":7907,"24822":7908,"24880":7909,"24908":7910,"26179":7911,"26180":7912,"27045":7913,"27841":7914,"28255":7915,"28361":7916,"28514":7917,"29004":7918,"29852":7919,"30343":7920,"31681":7921,"31783":7922,"33618":7923,"34647":7924,"36945":7925,"38541":7926,"12232":7927,"40643":7927,"21295":7928,"22238":7929,"24315":7930,"24458":7931,"24674":7932,"24724":7933,"25079":7934,"26214":7935,"26371":7936,"27292":7937,"28142":7938,"28590":7939,"28784":7940,"29546":7941,"32362":7942,"33214":7943,"33588":7944,"34516":7945,"35496":7946,"36036":7947,"21123":7948,"29554":7949,"23446":7950,"27243":7951,"37892":7952,"21742":7953,"22150":7954,"23389":7955,"25928":7956,"25989":7957,"26313":7958,"26783":7959,"28045":7960,"28102":7961,"12120":7962,"29243":7962,"32948":7963,"37237":7964,"39501":7965,"20399":7966,"20505":7967,"21402":7968,"21518":7969,"21564":7970,"21897":7971,"21957":7972,"24127":7973,"24460":7974,"26429":7975,"29030":7976,"29661":7977,"36869":7978,"21211":7979,"21235":7980,"22628":7981,"22734":7982,"28932":7983,"29071":7984,"29179":7985,"34224":7986,"35347":7987,"26248":7988,"63941":7988,"34216":7989,"21927":7990,"26244":7991,"29002":7992,"33841":7993,"21321":7994,"21913":7995,"27585":7996,"24409":7997,"24509":7998,"25582":7999,"26249":8000,"28999":8001,"35569":8002,"36637":8003,"40638":8004,"20241":8005,"25658":8006,"28875":8007,"30054":8008,"34407":8009,"24676":8010,"35662":8011,"40440":8012,"20807":8013,"20982":8014,"21256":8015,"27958":8016,"33016":8017,"12234":8018,"40657":8018,"26133":8019,"27427":8020,"28824":8021,"30165":8022,"21507":8023,"23673":8024,"32007":8025,"35350":8026,"12107":8027,"27424":8027,"27453":8028,"27462":8029,"21560":8030,"24688":8031,"27965":8032,"32725":8033,"33288":8034,"20694":8035,"20958":8036,"21916":8037,"22123":8038,"22221":8039,"23020":8040,"23305":8041,"24076":8042,"24985":8043,"24984":8044,"25137":8045,"26206":8046,"26342":8047,"29081":8048,"29113":8049,"29114":8050,"29351":8051,"31143":8052,"31232":8053,"32690":8054,"35440":8055,"12310":8219,"12311":8220,"12312":8221,"12313":8222,"8223":8237,"8219":8238,"8314":8239,"8315":8240,"8316":8248,"8317":8250,"8318":8251,"700":8275,"8942":8320,"8759":8321,"10122":8342,"10123":8343,"10124":8344,"10125":8345,"10126":8346,"10127":8347,"10128":8348,"10129":8349,"10130":8350,"10131":8351,"9398":8388,"9399":8389,"9400":8390,"9401":8391,"9402":8392,"9403":8393,"9404":8394,"9405":8395,"9406":8396,"9407":8397,"9408":8398,"9409":8399,"9410":8400,"9411":8401,"9412":8402,"9413":8403,"9414":8404,"9415":8405,"9416":8406,"9417":8407,"9418":8408,"9419":8409,"9420":8410,"9421":8411,"9422":8412,"9423":8413,"8826":8475,"8827":8476,"8910":8477,"8911":8478,"8832":8479,"8833":8480,"8816":8481,"8817":8482,"8818":8483,"8819":8484,"8842":8486,"8843":8488,"8822":8489,"8823":8490,"8825":8491,"8922":8492,"8923":8493,"8773":8499,"8771":8500,"8776":8501,"8868":8503,"8244":8582,"9839":8594,"8258":8599,"10045":8604,"8226":8607,"8249":8612,"8250":8613,"10010":8630,"10006":8631,"9711":8633,"10070":8637,"9676":8639,"9775":8664,"12320":8671,"10102":8673,"10103":8674,"10104":8675,"10105":8676,"10106":8677,"10107":8678,"10108":8679,"10109":8680,"10110":8681,"10111":8682,"12306":8700,"12342":8701,"8710":8715,"8735":8717,"8741":8719,"8742":8720,"8787":8722,"8785":8723,"8806":8724,"8807":8725,"8723":8726,"8853":8727,"8854":8728,"8855":8729,"8980":8731,"8802":8734,"9649":8736,"8738":8738,"8784":8739,"8867":8742,"8814":8745,"8815":8746,"8837":8747,"8836":8748,"8713":8749,"8716":8750,"8891":8751,"8892":8752,"8794":8753,"8966":8754,"12958":8761,"8252":8763,"9702":8775,"9663":8779,"9653":8780,"9657":8781,"9667":8782,"9674":8787,"12849":8788,"12857":8789,"13259":8790,"9327":8791,"9328":8792,"9329":8793,"9330":8794,"9331":8795,"8656":8814,"8655":8815,"8653":8816,"8657":8854,"8659":8855,"8626":8864,"8625":8865,"8628":8867,"8624":8868,"8627":8869,"8636":8884,"8640":8885,"8644":8896,"8645":8897,"9347":9042,"9348":9043,"9349":9044,"9350":9045,"9351":9046,"12948":9080,"12965":9096,"8672":9190,"8674":9191,"8673":9192,"8675":9193,"8678":9198,"8680":9199,"8679":9200,"8681":9201,"9757":9222,"9759":9223,"12944":9300,"12938":9301,"12939":9302,"12940":9303,"12941":9304,"12942":9305,"12943":9306,"12318":9322,"12319":9323,"8246":9324,"8245":9326,"12540":9330,"44034":9333,"44035":9334,"44037":9335,"44038":9336,"44043":9337,"44044":9338,"44045":9339,"44046":9340,"44047":9341,"44056":9342,"44062":9343,"44063":9344,"44065":9345,"44066":9346,"44067":9347,"44069":9348,"44070":9349,"44071":9350,"44072":9351,"44073":9352,"44074":9353,"44075":9354,"44078":9355,"44082":9356,"44083":9357,"44084":9358,"44085":9359,"44086":9360,"44087":9361,"44090":9362,"44091":9363,"44093":9364,"44094":9365,"44095":9366,"44097":9367,"44098":9368,"44099":9369,"44100":9370,"44101":9371,"44102":9372,"44103":9373,"44104":9374,"44105":9375,"44106":9376,"44108":9377,"44110":9378,"44111":9379,"44112":9380,"44113":9381,"44114":9382,"44115":9383,"44117":9384,"44118":9385,"44119":9386,"44121":9387,"44122":9388,"44123":9389,"44125":9390,"44126":9391,"44127":9392,"44128":9393,"44129":9394,"44130":9395,"44131":9396,"44132":9397,"44133":9398,"44134":9399,"44135":9400,"44136":9401,"44137":9402,"44138":9403,"44139":9404,"44140":9405,"44141":9406,"44142":9407,"44143":9408,"44146":9409,"44147":9410,"44149":9411,"44150":9412,"44153":9413,"44155":9414,"44156":9415,"44157":9416,"44158":9417,"44159":9418,"44162":9419,"44167":9420,"44168":9421,"44173":9422,"44174":9423,"44175":9424,"44177":9425,"44178":9426,"44179":9427,"44181":9428,"44182":9429,"44183":9430,"44184":9431,"44185":9432,"44186":9433,"44187":9434,"44190":9435,"44194":9436,"44195":9437,"44196":9438,"44197":9439,"44198":9440,"44199":9441,"44203":9442,"44205":9443,"44206":9444,"44209":9445,"44210":9446,"44211":9447,"44212":9448,"44213":9449,"44214":9450,"44215":9451,"44218":9452,"44222":9453,"44223":9454,"44224":9455,"44226":9456,"44227":9457,"44229":9458,"44230":9459,"44231":9460,"44233":9461,"44234":9462,"44235":9463,"44237":9464,"44238":9465,"44239":9466,"44240":9467,"44241":9468,"44242":9469,"44243":9470,"44244":9471,"44246":9472,"44248":9473,"44249":9474,"44250":9475,"44251":9476,"44252":9477,"44253":9478,"44254":9479,"44255":9480,"44258":9481,"44259":9482,"44261":9483,"44262":9484,"44265":9485,"44267":9486,"44269":9487,"44270":9488,"44274":9489,"44276":9490,"44279":9491,"44280":9492,"44281":9493,"44282":9494,"44283":9495,"44286":9496,"44287":9497,"44289":9498,"44290":9499,"44291":9500,"44293":9501,"44295":9502,"44296":9503,"44297":9504,"44298":9505,"44299":9506,"44302":9507,"44304":9508,"44306":9509,"44307":9510,"44308":9511,"44309":9512,"44310":9513,"44311":9514,"44313":9515,"44314":9516,"44315":9517,"44317":9518,"44318":9519,"44319":9520,"44321":9521,"44322":9522,"44323":9523,"44324":9524,"44325":9525,"44326":9526,"44327":9527,"44328":9528,"44330":9529,"44331":9530,"44334":9531,"44335":9532,"44336":9533,"44337":9534,"44338":9535,"44339":9536,"44342":9537,"44343":9538,"44345":9539,"44346":9540,"44347":9541,"44349":9542,"44350":9543,"44351":9544,"44352":9545,"44353":9546,"44354":9547,"44355":9548,"44358":9549,"44360":9550,"44362":9551,"44363":9552,"44364":9553,"44365":9554,"44366":9555,"44367":9556,"44369":9557,"44370":9558,"44371":9559,"44373":9560,"44374":9561,"44375":9562,"44377":9563,"44378":9564,"44379":9565,"44380":9566,"44381":9567,"44382":9568,"44383":9569,"44384":9570,"44386":9571,"44388":9572,"44389":9573,"44390":9574,"44391":9575,"44392":9576,"44393":9577,"44394":9578,"44395":9579,"44398":9580,"44399":9581,"44401":9582,"44402":9583,"44407":9584,"44408":9585,"44409":9586,"44410":9587,"44414":9588,"44416":9589,"44419":9590,"44420":9591,"44421":9592,"44422":9593,"44423":9594,"44426":9595,"44427":9596,"44429":9597,"44430":9598,"44431":9599,"44433":9600,"44434":9601,"44435":9602,"44436":9603,"44437":9604,"44438":9605,"44439":9606,"44440":9607,"44441":9608,"44442":9609,"44443":9610,"44446":9611,"44447":9612,"44448":9613,"44449":9614,"44450":9615,"44451":9616,"44453":9617,"44454":9618,"44455":9619,"44456":9620,"44457":9621,"44458":9622,"44459":9623,"44460":9624,"44461":9625,"44462":9626,"44463":9627,"44464":9628,"44465":9629,"44466":9630,"44467":9631,"44468":9632,"44469":9633,"44470":9634,"44472":9635,"44473":9636,"44474":9637,"44475":9638,"44476":9639,"44477":9640,"44478":9641,"44479":9642,"44482":9643,"44483":9644,"44485":9645,"44486":9646,"44487":9647,"44489":9648,"44490":9649,"44491":9650,"44492":9651,"44493":9652,"44494":9653,"44495":9654,"44498":9655,"44500":9656,"44501":9657,"44502":9658,"44503":9659,"44504":9660,"44505":9661,"44506":9662,"44507":9663,"44509":9664,"44510":9665,"44511":9666,"44513":9667,"44514":9668,"44515":9669,"44517":9670,"44518":9671,"44519":9672,"44520":9673,"44521":9674,"44522":9675,"44523":9676,"44524":9677,"44525":9678,"44526":9679,"44527":9680,"44528":9681,"44529":9682,"44530":9683,"44531":9684,"44532":9685,"44533":9686,"44534":9687,"44535":9688,"44538":9689,"44539":9690,"44541":9691,"44542":9692,"44546":9693,"44547":9694,"44548":9695,"44549":9696,"44550":9697,"44551":9698,"44554":9699,"44556":9700,"44558":9701,"44559":9702,"44560":9703,"44561":9704,"44562":9705,"44563":9706,"44565":9707,"44566":9708,"44567":9709,"44568":9710,"44569":9711,"44570":9712,"44571":9713,"44572":9714,"44573":9715,"44574":9716,"44575":9717,"44576":9718,"44577":9719,"44578":9720,"44579":9721,"44580":9722,"44581":9723,"44582":9724,"44583":9725,"44584":9726,"44585":9727,"44586":9728,"44587":9729,"44588":9730,"44589":9731,"44590":9732,"44591":9733,"44594":9734,"44595":9735,"44597":9736,"44598":9737,"44601":9738,"44603":9739,"44604":9740,"44605":9741,"44606":9742,"44607":9743,"44610":9744,"44612":9745,"44615":9746,"44616":9747,"44617":9748,"44619":9749,"44623":9750,"44625":9751,"44626":9752,"44627":9753,"44629":9754,"44631":9755,"44632":9756,"44633":9757,"44634":9758,"44635":9759,"44638":9760,"44642":9761,"44643":9762,"44644":9763,"44646":9764,"44647":9765,"44650":9766,"44651":9767,"44653":9768,"44654":9769,"44655":9770,"44657":9771,"44658":9772,"44659":9773,"44660":9774,"44661":9775,"44662":9776,"44663":9777,"44666":9778,"44670":9779,"44671":9780,"44672":9781,"44673":9782,"44674":9783,"44675":9784,"44678":9785,"44679":9786,"44680":9787,"44681":9788,"44682":9789,"44683":9790,"44685":9791,"44686":9792,"44687":9793,"44688":9794,"44689":9795,"44690":9796,"44691":9797,"44692":9798,"44693":9799,"44694":9800,"44695":9801,"44696":9802,"44697":9803,"44698":9804,"44699":9805,"44700":9806,"44701":9807,"44702":9808,"44703":9809,"44704":9810,"44705":9811,"44706":9812,"44707":9813,"44708":9814,"44709":9815,"44710":9816,"44711":9817,"44712":9818,"44713":9819,"44714":9820,"44715":9821,"44716":9822,"44717":9823,"44718":9824,"44719":9825,"44720":9826,"44721":9827,"44722":9828,"44723":9829,"44724":9830,"44725":9831,"44726":9832,"44727":9833,"44728":9834,"44729":9835,"44730":9836,"44731":9837,"44735":9838,"44737":9839,"44738":9840,"44739":9841,"44741":9842,"44742":9843,"44743":9844,"44744":9845,"44745":9846,"44746":9847,"44747":9848,"44750":9849,"44754":9850,"44755":9851,"44756":9852,"44757":9853,"44758":9854,"44759":9855,"44762":9856,"44763":9857,"44765":9858,"44766":9859,"44767":9860,"44768":9861,"44769":9862,"44770":9863,"44771":9864,"44772":9865,"44773":9866,"44774":9867,"44775":9868,"44777":9869,"44778":9870,"44780":9871,"44782":9872,"44783":9873,"44784":9874,"44785":9875,"44786":9876,"44787":9877,"44789":9878,"44790":9879,"44791":9880,"44793":9881,"44794":9882,"44795":9883,"44797":9884,"44798":9885,"44799":9886,"44800":9887,"44801":9888,"44802":9889,"44803":9890,"44804":9891,"44805":9892,"44806":9893,"44809":9894,"44810":9895,"44811":9896,"44812":9897,"44814":9898,"44815":9899,"44817":9900,"44818":9901,"44819":9902,"44820":9903,"44821":9904,"44822":9905,"44823":9906,"44824":9907,"44825":9908,"44826":9909,"44827":9910,"44828":9911,"44829":9912,"44830":9913,"44831":9914,"44832":9915,"44833":9916,"44834":9917,"44835":9918,"44836":9919,"44837":9920,"44838":9921,"44839":9922,"44840":9923,"44841":9924,"44842":9925,"44843":9926,"44846":9927,"44847":9928,"44849":9929,"44851":9930,"44853":9931,"44854":9932,"44855":9933,"44856":9934,"44857":9935,"44858":9936,"44859":9937,"44862":9938,"44864":9939,"44868":9940,"44869":9941,"44870":9942,"44871":9943,"44874":9944,"44875":9945,"44876":9946,"44877":9947,"44878":9948,"44879":9949,"44881":9950,"44882":9951,"44883":9952,"44884":9953,"44885":9954,"44886":9955,"44887":9956,"44888":9957,"44889":9958,"44890":9959,"44891":9960,"44894":9961,"44895":9962,"44896":9963,"44897":9964,"44898":9965,"44899":9966,"44902":9967,"44903":9968,"44904":9969,"44905":9970,"44906":9971,"44907":9972,"44908":9973,"44909":9974,"44910":9975,"44911":9976,"44912":9977,"44913":9978,"44914":9979,"44915":9980,"44916":9981,"44917":9982,"44918":9983,"44919":9984,"44920":9985,"44922":9986,"44923":9987,"44924":9988,"44925":9989,"44926":9990,"44927":9991,"44929":9992,"44930":9993,"44931":9994,"44933":9995,"44934":9996,"44935":9997,"44937":9998,"44938":9999,"44939":10000,"44940":10001,"44941":10002,"44942":10003,"44943":10004,"44946":10005,"44947":10006,"44948":10007,"44950":10008,"44951":10009,"44952":10010,"44953":10011,"44954":10012,"44955":10013,"44957":10014,"44958":10015,"44959":10016,"44960":10017,"44961":10018,"44962":10019,"44963":10020,"44964":10021,"44965":10022,"44966":10023,"44967":10024,"44968":10025,"44969":10026,"44970":10027,"44971":10028,"44972":10029,"44973":10030,"44974":10031,"44975":10032,"44976":10033,"44977":10034,"44978":10035,"44979":10036,"44980":10037,"44981":10038,"44982":10039,"44983":10040,"44986":10041,"44987":10042,"44989":10043,"44990":10044,"44991":10045,"44993":10046,"44994":10047,"44995":10048,"44996":10049,"44997":10050,"44998":10051,"45002":10052,"45004":10053,"45007":10054,"45008":10055,"45009":10056,"45010":10057,"45011":10058,"45013":10059,"45014":10060,"45015":10061,"45016":10062,"45017":10063,"45018":10064,"45019":10065,"45021":10066,"45022":10067,"45023":10068,"45024":10069,"45025":10070,"45026":10071,"45027":10072,"45028":10073,"45029":10074,"45030":10075,"45031":10076,"45034":10077,"45035":10078,"45036":10079,"45037":10080,"45038":10081,"45039":10082,"45042":10083,"45043":10084,"45045":10085,"45046":10086,"45047":10087,"45049":10088,"45050":10089,"45051":10090,"45052":10091,"45053":10092,"45054":10093,"45055":10094,"45058":10095,"45059":10096,"45061":10097,"45062":10098,"45063":10099,"45064":10100,"45065":10101,"45066":10102,"45067":10103,"45069":10104,"45070":10105,"45071":10106,"45073":10107,"45074":10108,"45075":10109,"45077":10110,"45078":10111,"45079":10112,"45080":10113,"45081":10114,"45082":10115,"45083":10116,"45086":10117,"45087":10118,"45088":10119,"45089":10120,"45090":10121,"45091":10122,"45092":10123,"45093":10124,"45094":10125,"45095":10126,"45097":10127,"45098":10128,"45099":10129,"45100":10130,"45101":10131,"45102":10132,"45103":10133,"45104":10134,"45105":10135,"45106":10136,"45107":10137,"45108":10138,"45109":10139,"45110":10140,"45111":10141,"45112":10142,"45113":10143,"45114":10144,"45115":10145,"45116":10146,"45117":10147,"45118":10148,"45119":10149,"45120":10150,"45121":10151,"45122":10152,"45123":10153,"45126":10154,"45127":10155,"45129":10156,"45131":10157,"45133":10158,"45135":10159,"45136":10160,"45137":10161,"45138":10162,"45142":10163,"45144":10164,"45146":10165,"45147":10166,"45148":10167,"45150":10168,"45151":10169,"45152":10170,"45153":10171,"45154":10172,"45155":10173,"45156":10174,"45157":10175,"45158":10176,"45159":10177,"45160":10178,"45161":10179,"45162":10180,"45163":10181,"45164":10182,"45165":10183,"45166":10184,"45167":10185,"45168":10186,"45169":10187,"45170":10188,"45171":10189,"45172":10190,"45173":10191,"45174":10192,"45175":10193,"45176":10194,"45177":10195,"45178":10196,"45179":10197,"45182":10198,"45183":10199,"45185":10200,"45186":10201,"45187":10202,"45189":10203,"45190":10204,"45191":10205,"45192":10206,"45193":10207,"45194":10208,"45195":10209,"45198":10210,"45200":10211,"45202":10212,"45203":10213,"45204":10214,"45205":10215,"45206":10216,"45207":10217,"45211":10218,"45213":10219,"45214":10220,"45219":10221,"45220":10222,"45221":10223,"45222":10224,"45223":10225,"45226":10226,"45232":10227,"45234":10228,"45238":10229,"45239":10230,"45241":10231,"45242":10232,"45243":10233,"45245":10234,"45246":10235,"45247":10236,"45248":10237,"45249":10238,"45250":10239,"45251":10240,"45254":10241,"45258":10242,"45259":10243,"45260":10244,"45261":10245,"45262":10246,"45263":10247,"45266":10248,"45267":10249,"45269":10250,"45270":10251,"45271":10252,"45273":10253,"45274":10254,"45275":10255,"45276":10256,"45277":10257,"45278":10258,"45279":10259,"45281":10260,"45282":10261,"45283":10262,"45284":10263,"45286":10264,"45287":10265,"45288":10266,"45289":10267,"45290":10268,"45291":10269,"45292":10270,"45293":10271,"45294":10272,"45295":10273,"45296":10274,"45297":10275,"45298":10276,"45299":10277,"45300":10278,"45301":10279,"45302":10280,"45303":10281,"45304":10282,"45305":10283,"45306":10284,"45307":10285,"45308":10286,"45309":10287,"45310":10288,"45311":10289,"45312":10290,"45313":10291,"45314":10292,"45315":10293,"45316":10294,"45317":10295,"45318":10296,"45319":10297,"45322":10298,"45325":10299,"45326":10300,"45327":10301,"45329":10302,"45332":10303,"45333":10304,"45334":10305,"45335":10306,"45338":10307,"45342":10308,"45343":10309,"45344":10310,"45345":10311,"45346":10312,"45350":10313,"45351":10314,"45353":10315,"45354":10316,"45355":10317,"45357":10318,"45358":10319,"45359":10320,"45360":10321,"45361":10322,"45362":10323,"45363":10324,"45366":10325,"45370":10326,"45371":10327,"45372":10328,"45373":10329,"45374":10330,"45375":10331,"45378":10332,"45379":10333,"45381":10334,"45382":10335,"45383":10336,"45385":10337,"45386":10338,"45387":10339,"45388":10340,"45389":10341,"45390":10342,"45391":10343,"45394":10344,"45395":10345,"45398":10346,"45399":10347,"45401":10348,"45402":10349,"45403":10350,"45405":10351,"45406":10352,"45407":10353,"45409":10354,"45410":10355,"45411":10356,"45412":10357,"45413":10358,"45414":10359,"45415":10360,"45416":10361,"45417":10362,"45418":10363,"45419":10364,"45420":10365,"45421":10366,"45422":10367,"45423":10368,"45424":10369,"45425":10370,"45426":10371,"45427":10372,"45428":10373,"45429":10374,"45430":10375,"45431":10376,"45434":10377,"45435":10378,"45437":10379,"45438":10380,"45439":10381,"45441":10382,"45443":10383,"45444":10384,"45445":10385,"45446":10386,"45447":10387,"45450":10388,"45452":10389,"45454":10390,"45455":10391,"45456":10392,"45457":10393,"45461":10394,"45462":10395,"45463":10396,"45465":10397,"45466":10398,"45467":10399,"45469":10400,"45470":10401,"45471":10402,"45472":10403,"45473":10404,"45474":10405,"45475":10406,"45476":10407,"45477":10408,"45478":10409,"45479":10410,"45481":10411,"45482":10412,"45483":10413,"45484":10414,"45485":10415,"45486":10416,"45487":10417,"45488":10418,"45489":10419,"45490":10420,"45491":10421,"45492":10422,"45493":10423,"45494":10424,"45495":10425,"45496":10426,"45497":10427,"45498":10428,"45499":10429,"45500":10430,"45501":10431,"45502":10432,"45503":10433,"45504":10434,"45505":10435,"45506":10436,"45507":10437,"45508":10438,"45509":10439,"45510":10440,"45511":10441,"45512":10442,"45513":10443,"45514":10444,"45515":10445,"45517":10446,"45518":10447,"45519":10448,"45521":10449,"45522":10450,"45523":10451,"45525":10452,"45526":10453,"45527":10454,"45528":10455,"45529":10456,"45530":10457,"45531":10458,"45534":10459,"45536":10460,"45537":10461,"45538":10462,"45539":10463,"45540":10464,"45541":10465,"45542":10466,"45543":10467,"45546":10468,"45547":10469,"45549":10470,"45550":10471,"45551":10472,"45553":10473,"45554":10474,"45555":10475,"45556":10476,"45557":10477,"45558":10478,"45559":10479,"45560":10480,"45562":10481,"45564":10482,"45566":10483,"45567":10484,"45568":10485,"45569":10486,"45570":10487,"45571":10488,"45574":10489,"45575":10490,"45577":10491,"45578":10492,"45581":10493,"45582":10494,"45583":10495,"45584":10496,"45585":10497,"45586":10498,"45587":10499,"45590":10500,"45592":10501,"45594":10502,"45595":10503,"45596":10504,"45597":10505,"45598":10506,"45599":10507,"45601":10508,"45602":10509,"45603":10510,"45604":10511,"45605":10512,"45606":10513,"45607":10514,"45608":10515,"45609":10516,"45610":10517,"45611":10518,"45612":10519,"45613":10520,"45614":10521,"45615":10522,"45616":10523,"45617":10524,"45618":10525,"45619":10526,"45621":10527,"45622":10528,"45623":10529,"45624":10530,"45625":10531,"45626":10532,"45627":10533,"45629":10534,"45630":10535,"45631":10536,"45632":10537,"45633":10538,"45634":10539,"45635":10540,"45636":10541,"45637":10542,"45638":10543,"45639":10544,"45640":10545,"45641":10546,"45642":10547,"45643":10548,"45644":10549,"45645":10550,"45646":10551,"45647":10552,"45648":10553,"45649":10554,"45650":10555,"45651":10556,"45652":10557,"45653":10558,"45654":10559,"45655":10560,"45657":10561,"45658":10562,"45659":10563,"45661":10564,"45662":10565,"45663":10566,"45665":10567,"45666":10568,"45667":10569,"45668":10570,"45669":10571,"45670":10572,"45671":10573,"45674":10574,"45675":10575,"45676":10576,"45677":10577,"45678":10578,"45679":10579,"45680":10580,"45681":10581,"45682":10582,"45683":10583,"45686":10584,"45687":10585,"45688":10586,"45689":10587,"45690":10588,"45691":10589,"45693":10590,"45694":10591,"45695":10592,"45696":10593,"45697":10594,"45698":10595,"45699":10596,"45702":10597,"45703":10598,"45704":10599,"45706":10600,"45707":10601,"45708":10602,"45709":10603,"45710":10604,"45711":10605,"45714":10606,"45715":10607,"45717":10608,"45718":10609,"45719":10610,"45723":10611,"45724":10612,"45725":10613,"45726":10614,"45727":10615,"45730":10616,"45732":10617,"45735":10618,"45736":10619,"45737":10620,"45739":10621,"45741":10622,"45742":10623,"45743":10624,"45745":10625,"45746":10626,"45747":10627,"45749":10628,"45750":10629,"45751":10630,"45752":10631,"45753":10632,"45754":10633,"45755":10634,"45756":10635,"45757":10636,"45758":10637,"45759":10638,"45760":10639,"45761":10640,"45762":10641,"45763":10642,"45764":10643,"45765":10644,"45766":10645,"45767":10646,"45770":10647,"45771":10648,"45773":10649,"45774":10650,"45775":10651,"45777":10652,"45779":10653,"45780":10654,"45781":10655,"45782":10656,"45783":10657,"45786":10658,"45788":10659,"45790":10660,"45791":10661,"45792":10662,"45793":10663,"45795":10664,"45799":10665,"45801":10666,"45802":10667,"45808":10668,"45809":10669,"45810":10670,"45814":10671,"45820":10672,"45821":10673,"45822":10674,"45826":10675,"45827":10676,"45829":10677,"45830":10678,"45831":10679,"45833":10680,"45834":10681,"45835":10682,"45836":10683,"45837":10684,"45838":10685,"45839":10686,"45842":10687,"45846":10688,"45847":10689,"45848":10690,"45849":10691,"45850":10692,"45851":10693,"45853":10694,"45854":10695,"45855":10696,"45856":10697,"45857":10698,"45858":10699,"45859":10700,"45860":10701,"45861":10702,"45862":10703,"45863":10704,"45864":10705,"45865":10706,"45866":10707,"45867":10708,"45868":10709,"45869":10710,"45870":10711,"45871":10712,"45872":10713,"45873":10714,"45874":10715,"45875":10716,"45876":10717,"45877":10718,"45878":10719,"45879":10720,"45880":10721,"45881":10722,"45882":10723,"45883":10724,"45884":10725,"45885":10726,"45886":10727,"45887":10728,"45888":10729,"45889":10730,"45890":10731,"45891":10732,"45892":10733,"45893":10734,"45894":10735,"45895":10736,"45896":10737,"45897":10738,"45898":10739,"45899":10740,"45900":10741,"45901":10742,"45902":10743,"45903":10744,"45904":10745,"45905":10746,"45906":10747,"45907":10748,"45911":10749,"45913":10750,"45914":10751,"45917":10752,"45920":10753,"45921":10754,"45922":10755,"45923":10756,"45926":10757,"45928":10758,"45930":10759,"45932":10760,"45933":10761,"45935":10762,"45938":10763,"45939":10764,"45941":10765,"45942":10766,"45943":10767,"45945":10768,"45946":10769,"45947":10770,"45948":10771,"45949":10772,"45950":10773,"45951":10774,"45954":10775,"45958":10776,"45959":10777,"45960":10778,"45961":10779,"45962":10780,"45963":10781,"45965":10782,"45966":10783,"45967":10784,"45969":10785,"45970":10786,"45971":10787,"45973":10788,"45974":10789,"45975":10790,"45976":10791,"45977":10792,"45978":10793,"45979":10794,"45980":10795,"45981":10796,"45982":10797,"45983":10798,"45986":10799,"45987":10800,"45988":10801,"45989":10802,"45990":10803,"45991":10804,"45993":10805,"45994":10806,"45995":10807,"45997":10808,"45998":10809,"45999":10810,"46000":10811,"46001":10812,"46002":10813,"46003":10814,"46004":10815,"46005":10816,"46006":10817,"46007":10818,"46008":10819,"46009":10820,"46010":10821,"46011":10822,"46012":10823,"46013":10824,"46014":10825,"46015":10826,"46016":10827,"46017":10828,"46018":10829,"46019":10830,"46022":10831,"46023":10832,"46025":10833,"46026":10834,"46029":10835,"46031":10836,"46033":10837,"46034":10838,"46035":10839,"46038":10840,"46040":10841,"46042":10842,"46044":10843,"46046":10844,"46047":10845,"46049":10846,"46050":10847,"46051":10848,"46053":10849,"46054":10850,"46055":10851,"46057":10852,"46058":10853,"46059":10854,"46060":10855,"46061":10856,"46062":10857,"46063":10858,"46064":10859,"46065":10860,"46066":10861,"46067":10862,"46068":10863,"46069":10864,"46070":10865,"46071":10866,"46072":10867,"46073":10868,"46074":10869,"46075":10870,"46077":10871,"46078":10872,"46079":10873,"46080":10874,"46081":10875,"46082":10876,"46083":10877,"46084":10878,"46085":10879,"46086":10880,"46087":10881,"46088":10882,"46089":10883,"46090":10884,"46091":10885,"46092":10886,"46093":10887,"46094":10888,"46095":10889,"46097":10890,"46098":10891,"46099":10892,"46100":10893,"46101":10894,"46102":10895,"46103":10896,"46105":10897,"46106":10898,"46107":10899,"46109":10900,"46110":10901,"46111":10902,"46113":10903,"46114":10904,"46115":10905,"46116":10906,"46117":10907,"46118":10908,"46119":10909,"46122":10910,"46124":10911,"46125":10912,"46126":10913,"46127":10914,"46128":10915,"46129":10916,"46130":10917,"46131":10918,"46133":10919,"46134":10920,"46135":10921,"46136":10922,"46137":10923,"46138":10924,"46139":10925,"46140":10926,"46141":10927,"46142":10928,"46143":10929,"46144":10930,"46145":10931,"46146":10932,"46147":10933,"46148":10934,"46149":10935,"46150":10936,"46151":10937,"46152":10938,"46153":10939,"46154":10940,"46155":10941,"46156":10942,"46157":10943,"46158":10944,"46159":10945,"46162":10946,"46163":10947,"46165":10948,"46166":10949,"46167":10950,"46169":10951,"46170":10952,"46171":10953,"46172":10954,"46173":10955,"46174":10956,"46175":10957,"46178":10958,"46180":10959,"46182":10960,"46183":10961,"46184":10962,"46185":10963,"46186":10964,"46187":10965,"46189":10966,"46190":10967,"46191":10968,"46192":10969,"46193":10970,"46194":10971,"46195":10972,"46196":10973,"46197":10974,"46198":10975,"46199":10976,"46200":10977,"46201":10978,"46202":10979,"46203":10980,"46204":10981,"46205":10982,"46206":10983,"46207":10984,"46209":10985,"46210":10986,"46211":10987,"46212":10988,"46213":10989,"46214":10990,"46215":10991,"46217":10992,"46218":10993,"46219":10994,"46220":10995,"46221":10996,"46222":10997,"46223":10998,"46224":10999,"46225":11000,"46226":11001,"46227":11002,"46228":11003,"46229":11004,"46230":11005,"46231":11006,"46232":11007,"46233":11008,"46234":11009,"46235":11010,"46236":11011,"46238":11012,"46239":11013,"46240":11014,"46241":11015,"46242":11016,"46243":11017,"46245":11018,"46246":11019,"46247":11020,"46249":11021,"46250":11022,"46251":11023,"46253":11024,"46254":11025,"46255":11026,"46256":11027,"46257":11028,"46258":11029,"46259":11030,"46260":11031,"46262":11032,"46264":11033,"46266":11034,"46267":11035,"46268":11036,"46269":11037,"46270":11038,"46271":11039,"46273":11040,"46274":11041,"46275":11042,"46277":11043,"46278":11044,"46279":11045,"46281":11046,"46282":11047,"46283":11048,"46284":11049,"46285":11050,"46286":11051,"46287":11052,"46289":11053,"46290":11054,"46291":11055,"46292":11056,"46294":11057,"46295":11058,"46296":11059,"46297":11060,"46298":11061,"46299":11062,"46302":11063,"46303":11064,"46305":11065,"46306":11066,"46309":11067,"46311":11068,"46312":11069,"46313":11070,"46314":11071,"46315":11072,"46318":11073,"46320":11074,"46322":11075,"46323":11076,"46324":11077,"46325":11078,"46326":11079,"46327":11080,"46329":11081,"46330":11082,"46331":11083,"46332":11084,"46333":11085,"46334":11086,"46335":11087,"46336":11088,"46337":11089,"46338":11090,"46339":11091,"46340":11092,"46341":11093,"46342":11094,"46343":11095,"46344":11096,"46345":11097,"46346":11098,"46347":11099,"46348":11100,"46349":11101,"46350":11102,"46351":11103,"46352":11104,"46353":11105,"46354":11106,"46355":11107,"46358":11108,"46359":11109,"46361":11110,"46362":11111,"46365":11112,"46366":11113,"46367":11114,"46368":11115,"46369":11116,"46370":11117,"46371":11118,"46374":11119,"46379":11120,"46380":11121,"46381":11122,"46382":11123,"46383":11124,"46386":11125,"46387":11126,"46389":11127,"46390":11128,"46391":11129,"46393":11130,"46394":11131,"46395":11132,"46396":11133,"46397":11134,"46398":11135,"46399":11136,"46402":11137,"46406":11138,"46407":11139,"46408":11140,"46409":11141,"46410":11142,"46414":11143,"46415":11144,"46417":11145,"46418":11146,"46419":11147,"46421":11148,"46422":11149,"46423":11150,"46424":11151,"46425":11152,"46426":11153,"46427":11154,"46430":11155,"46434":11156,"46435":11157,"46436":11158,"46437":11159,"46438":11160,"46439":11161,"46440":11162,"46441":11163,"46442":11164,"46443":11165,"46444":11166,"46445":11167,"46446":11168,"46447":11169,"46448":11170,"46449":11171,"46450":11172,"46451":11173,"46452":11174,"46453":11175,"46454":11176,"46455":11177,"46456":11178,"46457":11179,"46458":11180,"46459":11181,"46460":11182,"46461":11183,"46462":11184,"46463":11185,"46464":11186,"46465":11187,"46466":11188,"46467":11189,"46468":11190,"46469":11191,"46470":11192,"46471":11193,"46472":11194,"46473":11195,"46474":11196,"46475":11197,"46476":11198,"46477":11199,"46478":11200,"46479":11201,"46480":11202,"46481":11203,"46482":11204,"46483":11205,"46484":11206,"46485":11207,"46486":11208,"46487":11209,"46488":11210,"46489":11211,"46490":11212,"46491":11213,"46492":11214,"46493":11215,"46494":11216,"46495":11217,"46498":11218,"46499":11219,"46501":11220,"46502":11221,"46503":11222,"46505":11223,"46508":11224,"46509":11225,"46510":11226,"46511":11227,"46514":11228,"46518":11229,"46519":11230,"46520":11231,"46521":11232,"46522":11233,"46526":11234,"46527":11235,"46529":11236,"46530":11237,"46531":11238,"46533":11239,"46534":11240,"46535":11241,"46536":11242,"46537":11243,"46538":11244,"46539":11245,"46542":11246,"46546":11247,"46547":11248,"46548":11249,"46549":11250,"46550":11251,"46551":11252,"46553":11253,"46554":11254,"46555":11255,"46556":11256,"46557":11257,"46558":11258,"46559":11259,"46560":11260,"46561":11261,"46562":11262,"46563":11263,"46564":11264,"46565":11265,"46566":11266,"46567":11267,"46568":11268,"46569":11269,"46570":11270,"46571":11271,"46573":11272,"46574":11273,"46575":11274,"46576":11275,"46577":11276,"46578":11277,"46579":11278,"46580":11279,"46581":11280,"46582":11281,"46583":11282,"46584":11283,"46585":11284,"46586":11285,"46587":11286,"46588":11287,"46589":11288,"46590":11289,"46591":11290,"46592":11291,"46593":11292,"46594":11293,"46595":11294,"46596":11295,"46597":11296,"46598":11297,"46599":11298,"46600":11299,"46601":11300,"46602":11301,"46603":11302,"46604":11303,"46605":11304,"46606":11305,"46607":11306,"46610":11307,"46611":11308,"46613":11309,"46614":11310,"46615":11311,"46617":11312,"46618":11313,"46619":11314,"46620":11315,"46621":11316,"46622":11317,"46623":11318,"46624":11319,"46625":11320,"46626":11321,"46627":11322,"46628":11323,"46630":11324,"46631":11325,"46632":11326,"46633":11327,"46634":11328,"46635":11329,"46637":11330,"46638":11331,"46639":11332,"46640":11333,"46641":11334,"46642":11335,"46643":11336,"46645":11337,"46646":11338,"46647":11339,"46648":11340,"46649":11341,"46650":11342,"46651":11343,"46652":11344,"46653":11345,"46654":11346,"46655":11347,"46656":11348,"46657":11349,"46658":11350,"46659":11351,"46660":11352,"46661":11353,"46662":11354,"46663":11355,"46665":11356,"46666":11357,"46667":11358,"46668":11359,"46669":11360,"46670":11361,"46671":11362,"46672":11363,"46673":11364,"46674":11365,"46675":11366,"46676":11367,"46677":11368,"46678":11369,"46679":11370,"46680":11371,"46681":11372,"46682":11373,"46683":11374,"46684":11375,"46685":11376,"46686":11377,"46687":11378,"46688":11379,"46689":11380,"46690":11381,"46691":11382,"46693":11383,"46694":11384,"46695":11385,"46697":11386,"46698":11387,"46699":11388,"46700":11389,"46701":11390,"46702":11391,"46703":11392,"46704":11393,"46705":11394,"46706":11395,"46707":11396,"46708":11397,"46709":11398,"46710":11399,"46711":11400,"46712":11401,"46713":11402,"46714":11403,"46715":11404,"46716":11405,"46717":11406,"46718":11407,"46719":11408,"46720":11409,"46721":11410,"46722":11411,"46723":11412,"46724":11413,"46725":11414,"46726":11415,"46727":11416,"46728":11417,"46729":11418,"46730":11419,"46731":11420,"46732":11421,"46733":11422,"46734":11423,"46735":11424,"46736":11425,"46737":11426,"46738":11427,"46739":11428,"46740":11429,"46741":11430,"46742":11431,"46743":11432,"46744":11433,"46745":11434,"46746":11435,"46747":11436,"46750":11437,"46751":11438,"46753":11439,"46754":11440,"46755":11441,"46757":11442,"46758":11443,"46759":11444,"46760":11445,"46761":11446,"46762":11447,"46765":11448,"46766":11449,"46767":11450,"46768":11451,"46770":11452,"46771":11453,"46772":11454,"46773":11455,"46774":11456,"46775":11457,"46776":11458,"46777":11459,"46778":11460,"46779":11461,"46780":11462,"46781":11463,"46782":11464,"46783":11465,"46784":11466,"46785":11467,"46786":11468,"46787":11469,"46788":11470,"46789":11471,"46790":11472,"46791":11473,"46792":11474,"46793":11475,"46794":11476,"46795":11477,"46796":11478,"46797":11479,"46798":11480,"46799":11481,"46800":11482,"46801":11483,"46802":11484,"46803":11485,"46805":11486,"46806":11487,"46807":11488,"46808":11489,"46809":11490,"46810":11491,"46811":11492,"46812":11493,"46813":11494,"46814":11495,"46815":11496,"46816":11497,"46817":11498,"46818":11499,"46819":11500,"46820":11501,"46821":11502,"46822":11503,"46823":11504,"46824":11505,"46825":11506,"46826":11507,"46827":11508,"46828":11509,"46829":11510,"46830":11511,"46831":11512,"46833":11513,"46834":11514,"46835":11515,"46837":11516,"46838":11517,"46839":11518,"46841":11519,"46842":11520,"46843":11521,"46844":11522,"46845":11523,"46846":11524,"46847":11525,"46850":11526,"46851":11527,"46852":11528,"46854":11529,"46855":11530,"46856":11531,"46857":11532,"46858":11533,"46859":11534,"46860":11535,"46861":11536,"46862":11537,"46863":11538,"46864":11539,"46865":11540,"46866":11541,"46867":11542,"46868":11543,"46869":11544,"46870":11545,"46871":11546,"46872":11547,"46873":11548,"46874":11549,"46875":11550,"46876":11551,"46877":11552,"46878":11553,"46879":11554,"46880":11555,"46881":11556,"46882":11557,"46883":11558,"46884":11559,"46885":11560,"46886":11561,"46887":11562,"46890":11563,"46891":11564,"46893":11565,"46894":11566,"46897":11567,"46898":11568,"46899":11569,"46900":11570,"46901":11571,"46902":11572,"46903":11573,"46906":11574,"46908":11575,"46909":11576,"46910":11577,"46911":11578,"46912":11579,"46913":11580,"46914":11581,"46915":11582,"46917":11583,"46918":11584,"46919":11585,"46921":11586,"46922":11587,"46923":11588,"46925":11589,"46926":11590,"46927":11591,"46928":11592,"46929":11593,"46930":11594,"46931":11595,"46934":11596,"46935":11597,"46936":11598,"46937":11599,"46938":11600,"46939":11601,"46940":11602,"46941":11603,"46942":11604,"46943":11605,"46945":11606,"46946":11607,"46947":11608,"46949":11609,"46950":11610,"46951":11611,"46953":11612,"46954":11613,"46955":11614,"46956":11615,"46957":11616,"46958":11617,"46959":11618,"46962":11619,"46964":11620,"46966":11621,"46967":11622,"46968":11623,"46969":11624,"46970":11625,"46971":11626,"46974":11627,"46975":11628,"46977":11629,"46978":11630,"46979":11631,"46981":11632,"46982":11633,"46983":11634,"46984":11635,"46985":11636,"46986":11637,"46987":11638,"46990":11639,"46995":11640,"46996":11641,"46997":11642,"47002":11643,"47003":11644,"47005":11645,"47006":11646,"47007":11647,"47009":11648,"47010":11649,"47011":11650,"47012":11651,"47013":11652,"47014":11653,"47015":11654,"47018":11655,"47022":11656,"47023":11657,"47024":11658,"47025":11659,"47026":11660,"47027":11661,"47030":11662,"47031":11663,"47033":11664,"47034":11665,"47035":11666,"47036":11667,"47037":11668,"47038":11669,"47039":11670,"47040":11671,"47041":11672,"47042":11673,"47043":11674,"47044":11675,"47045":11676,"47046":11677,"47048":11678,"47050":11679,"47051":11680,"47052":11681,"47053":11682,"47054":11683,"47055":11684,"47056":11685,"47057":11686,"47058":11687,"47059":11688,"47060":11689,"47061":11690,"47062":11691,"47063":11692,"47064":11693,"47065":11694,"47066":11695,"47067":11696,"47068":11697,"47069":11698,"47070":11699,"47071":11700,"47072":11701,"47073":11702,"47074":11703,"47075":11704,"47076":11705,"47077":11706,"47078":11707,"47079":11708,"47080":11709,"47081":11710,"47082":11711,"47083":11712,"47086":11713,"47087":11714,"47089":11715,"47090":11716,"47091":11717,"47093":11718,"47094":11719,"47095":11720,"47096":11721,"47097":11722,"47098":11723,"47099":11724,"47102":11725,"47106":11726,"47107":11727,"47108":11728,"47109":11729,"47110":11730,"47114":11731,"47115":11732,"47117":11733,"47118":11734,"47119":11735,"47121":11736,"47122":11737,"47123":11738,"47124":11739,"47125":11740,"47126":11741,"47127":11742,"47130":11743,"47132":11744,"47134":11745,"47135":11746,"47136":11747,"47137":11748,"47138":11749,"47139":11750,"47142":11751,"47143":11752,"47145":11753,"47146":11754,"47147":11755,"47149":11756,"47150":11757,"47151":11758,"47152":11759,"47153":11760,"47154":11761,"47155":11762,"47158":11763,"47162":11764,"47163":11765,"47164":11766,"47165":11767,"47166":11768,"47167":11769,"47169":11770,"47170":11771,"47171":11772,"47173":11773,"47174":11774,"47175":11775,"47176":11776,"47177":11777,"47178":11778,"47179":11779,"47180":11780,"47181":11781,"47182":11782,"47183":11783,"47184":11784,"47186":11785,"47188":11786,"47189":11787,"47190":11788,"47191":11789,"47192":11790,"47193":11791,"47194":11792,"47195":11793,"47198":11794,"47199":11795,"47201":11796,"47202":11797,"47203":11798,"47205":11799,"47206":11800,"47207":11801,"47208":11802,"47209":11803,"47210":11804,"47211":11805,"47214":11806,"47216":11807,"47218":11808,"47219":11809,"47220":11810,"47221":11811,"47222":11812,"47223":11813,"47225":11814,"47226":11815,"47227":11816,"47229":11817,"47230":11818,"47231":11819,"47232":11820,"47233":11821,"47234":11822,"47235":11823,"47236":11824,"47237":11825,"47238":11826,"47239":11827,"47240":11828,"47241":11829,"47242":11830,"47243":11831,"47244":11832,"47246":11833,"47247":11834,"47248":11835,"47249":11836,"47250":11837,"47251":11838,"47252":11839,"47253":11840,"47254":11841,"47255":11842,"47256":11843,"47257":11844,"47258":11845,"47259":11846,"47260":11847,"47261":11848,"47262":11849,"47263":11850,"47264":11851,"47265":11852,"47266":11853,"47267":11854,"47268":11855,"47269":11856,"47270":11857,"47271":11858,"47273":11859,"47274":11860,"47275":11861,"47276":11862,"47277":11863,"47278":11864,"47279":11865,"47281":11866,"47282":11867,"47283":11868,"47285":11869,"47286":11870,"47287":11871,"47289":11872,"47290":11873,"47291":11874,"47292":11875,"47293":11876,"47294":11877,"47295":11878,"47298":11879,"47300":11880,"47302":11881,"47303":11882,"47304":11883,"47305":11884,"47306":11885,"47307":11886,"47309":11887,"47310":11888,"47311":11889,"47313":11890,"47314":11891,"47315":11892,"47317":11893,"47318":11894,"47319":11895,"47320":11896,"47321":11897,"47322":11898,"47323":11899,"47324":11900,"47326":11901,"47328":11902,"47330":11903,"47331":11904,"47332":11905,"47333":11906,"47334":11907,"47335":11908,"47338":11909,"47339":11910,"47341":11911,"47342":11912,"47343":11913,"47345":11914,"47346":11915,"47347":11916,"47348":11917,"47349":11918,"47350":11919,"47351":11920,"47354":11921,"47356":11922,"47358":11923,"47359":11924,"47360":11925,"47361":11926,"47362":11927,"47363":11928,"47365":11929,"47366":11930,"47367":11931,"47368":11932,"47369":11933,"47370":11934,"47371":11935,"47372":11936,"47373":11937,"47374":11938,"47375":11939,"47376":11940,"47377":11941,"47378":11942,"47379":11943,"47380":11944,"47381":11945,"47382":11946,"47383":11947,"47385":11948,"47386":11949,"47387":11950,"47388":11951,"47389":11952,"47390":11953,"47391":11954,"47393":11955,"47394":11956,"47395":11957,"47396":11958,"47397":11959,"47398":11960,"47399":11961,"47400":11962,"47401":11963,"47402":11964,"47403":11965,"47404":11966,"47405":11967,"47406":11968,"47407":11969,"47408":11970,"47409":11971,"47410":11972,"47411":11973,"47412":11974,"47413":11975,"47414":11976,"47415":11977,"47416":11978,"47417":11979,"47418":11980,"47419":11981,"47422":11982,"47423":11983,"47425":11984,"47426":11985,"47427":11986,"47429":11987,"47430":11988,"47431":11989,"47432":11990,"47433":11991,"47434":11992,"47435":11993,"47437":11994,"47438":11995,"47440":11996,"47442":11997,"47443":11998,"47444":11999,"47445":12000,"47446":12001,"47447":12002,"47450":12003,"47451":12004,"47453":12005,"47454":12006,"47455":12007,"47457":12008,"47458":12009,"47459":12010,"47460":12011,"47461":12012,"47462":12013,"47463":12014,"47466":12015,"47468":12016,"47470":12017,"47471":12018,"47472":12019,"47473":12020,"47474":12021,"47475":12022,"47478":12023,"47479":12024,"47481":12025,"47482":12026,"47483":12027,"47485":12028,"47486":12029,"47487":12030,"47488":12031,"47489":12032,"47490":12033,"47491":12034,"47494":12035,"47496":12036,"47499":12037,"47500":12038,"47503":12039,"47504":12040,"47505":12041,"47506":12042,"47507":12043,"47508":12044,"47509":12045,"47510":12046,"47511":12047,"47512":12048,"47513":12049,"47514":12050,"47515":12051,"47516":12052,"47517":12053,"47518":12054,"47519":12055,"47520":12056,"47521":12057,"47522":12058,"47523":12059,"47524":12060,"47525":12061,"47526":12062,"47527":12063,"47528":12064,"47529":12065,"47530":12066,"47531":12067,"47534":12068,"47535":12069,"47537":12070,"47538":12071,"47539":12072,"47541":12073,"47542":12074,"47543":12075,"47544":12076,"47545":12077,"47546":12078,"47547":12079,"47550":12080,"47552":12081,"47554":12082,"47555":12083,"47556":12084,"47557":12085,"47558":12086,"47559":12087,"47562":12088,"47563":12089,"47565":12090,"47571":12091,"47572":12092,"47573":12093,"47574":12094,"47575":12095,"47578":12096,"47580":12097,"47583":12098,"47584":12099,"47586":12100,"47590":12101,"47591":12102,"47593":12103,"47594":12104,"47595":12105,"47597":12106,"47598":12107,"47599":12108,"47600":12109,"47601":12110,"47602":12111,"47603":12112,"47606":12113,"47611":12114,"47612":12115,"47613":12116,"47614":12117,"47615":12118,"47618":12119,"47619":12120,"47620":12121,"47621":12122,"47622":12123,"47623":12124,"47625":12125,"47626":12126,"47627":12127,"47628":12128,"47629":12129,"47630":12130,"47631":12131,"47632":12132,"47633":12133,"47634":12134,"47635":12135,"47636":12136,"47638":12137,"47639":12138,"47640":12139,"47641":12140,"47642":12141,"47643":12142,"47644":12143,"47645":12144,"47646":12145,"47647":12146,"47648":12147,"47649":12148,"47650":12149,"47651":12150,"47652":12151,"47653":12152,"47654":12153,"47655":12154,"47656":12155,"47657":12156,"47658":12157,"47659":12158,"47660":12159,"47661":12160,"47662":12161,"47663":12162,"47664":12163,"47665":12164,"47666":12165,"47667":12166,"47668":12167,"47669":12168,"47670":12169,"47671":12170,"47674":12171,"47675":12172,"47677":12173,"47678":12174,"47679":12175,"47681":12176,"47683":12177,"47684":12178,"47685":12179,"47686":12180,"47687":12181,"47690":12182,"47692":12183,"47695":12184,"47696":12185,"47697":12186,"47698":12187,"47702":12188,"47703":12189,"47705":12190,"47706":12191,"47707":12192,"47709":12193,"47710":12194,"47711":12195,"47712":12196,"47713":12197,"47714":12198,"47715":12199,"47718":12200,"47722":12201,"47723":12202,"47724":12203,"47725":12204,"47726":12205,"47727":12206,"47730":12207,"47731":12208,"47733":12209,"47734":12210,"47735":12211,"47737":12212,"47738":12213,"47739":12214,"47740":12215,"47741":12216,"47742":12217,"47743":12218,"47744":12219,"47745":12220,"47746":12221,"47750":12222,"47752":12223,"47753":12224,"47754":12225,"47755":12226,"47757":12227,"47758":12228,"47759":12229,"47760":12230,"47761":12231,"47762":12232,"47763":12233,"47764":12234,"47765":12235,"47766":12236,"47767":12237,"47768":12238,"47769":12239,"47770":12240,"47771":12241,"47772":12242,"47773":12243,"47774":12244,"47775":12245,"47776":12246,"47777":12247,"47778":12248,"47779":12249,"47780":12250,"47781":12251,"47782":12252,"47783":12253,"47786":12254,"47789":12255,"47790":12256,"47791":12257,"47793":12258,"47795":12259,"47796":12260,"47797":12261,"47798":12262,"47799":12263,"47802":12264,"47804":12265,"47806":12266,"47807":12267,"47808":12268,"47809":12269,"47810":12270,"47811":12271,"47813":12272,"47814":12273,"47815":12274,"47817":12275,"47818":12276,"47819":12277,"47820":12278,"47821":12279,"47822":12280,"47823":12281,"47824":12282,"47825":12283,"47826":12284,"47827":12285,"47828":12286,"47829":12287,"47830":12288,"47831":12289,"47834":12290,"47835":12291,"47836":12292,"47837":12293,"47838":12294,"47839":12295,"47840":12296,"47841":12297,"47842":12298,"47843":12299,"47844":12300,"47845":12301,"47846":12302,"47847":12303,"47848":12304,"47849":12305,"47850":12306,"47851":12307,"47852":12308,"47853":12309,"47854":12310,"47855":12311,"47856":12312,"47857":12313,"47858":12314,"47859":12315,"47860":12316,"47861":12317,"47862":12318,"47863":12319,"47864":12320,"47865":12321,"47866":12322,"47867":12323,"47869":12324,"47870":12325,"47871":12326,"47873":12327,"47874":12328,"47875":12329,"47877":12330,"47878":12331,"47879":12332,"47880":12333,"47881":12334,"47882":12335,"47883":12336,"47884":12337,"47886":12338,"47888":12339,"47890":12340,"47891":12341,"47892":12342,"47893":12343,"47894":12344,"47895":12345,"47897":12346,"47898":12347,"47899":12348,"47901":12349,"47902":12350,"47903":12351,"47905":12352,"47906":12353,"47907":12354,"47908":12355,"47909":12356,"47910":12357,"47911":12358,"47912":12359,"47914":12360,"47916":12361,"47917":12362,"47918":12363,"47919":12364,"47920":12365,"47921":12366,"47922":12367,"47923":12368,"47927":12369,"47929":12370,"47930":12371,"47935":12372,"47936":12373,"47937":12374,"47938":12375,"47939":12376,"47942":12377,"47944":12378,"47946":12379,"47947":12380,"47948":12381,"47950":12382,"47953":12383,"47954":12384,"47955":12385,"47957":12386,"47958":12387,"47959":12388,"47961":12389,"47962":12390,"47963":12391,"47964":12392,"47965":12393,"47966":12394,"47967":12395,"47968":12396,"47970":12397,"47972":12398,"47973":12399,"47974":12400,"47975":12401,"47976":12402,"47977":12403,"47978":12404,"47979":12405,"47981":12406,"47982":12407,"47983":12408,"47984":12409,"47985":12410,"47986":12411,"47987":12412,"47988":12413,"47989":12414,"47990":12415,"47991":12416,"47992":12417,"47993":12418,"47994":12419,"47995":12420,"47996":12421,"47997":12422,"47998":12423,"47999":12424,"48000":12425,"48001":12426,"48002":12427,"48003":12428,"48004":12429,"48005":12430,"48006":12431,"48007":12432,"48009":12433,"48010":12434,"48011":12435,"48013":12436,"48014":12437,"48015":12438,"48017":12439,"48018":12440,"48019":12441,"48020":12442,"48021":12443,"48022":12444,"48023":12445,"48024":12446,"48025":12447,"48026":12448,"48027":12449,"48028":12450,"48029":12451,"48030":12452,"48031":12453,"48032":12454,"48033":12455,"48034":12456,"48035":12457,"48037":12458,"48038":12459,"48039":12460,"48041":12461,"48042":12462,"48043":12463,"48045":12464,"48046":12465,"48047":12466,"48048":12467,"48049":12468,"48050":12469,"48051":12470,"48053":12471,"48054":12472,"48056":12473,"48057":12474,"48058":12475,"48059":12476,"48060":12477,"48061":12478,"48062":12479,"48063":12480,"48065":12481,"48066":12482,"48067":12483,"48069":12484,"48070":12485,"48071":12486,"48073":12487,"48074":12488,"48075":12489,"48076":12490,"48077":12491,"48078":12492,"48079":12493,"48081":12494,"48082":12495,"48084":12496,"48085":12497,"48086":12498,"48087":12499,"48088":12500,"48089":12501,"48090":12502,"48091":12503,"48092":12504,"48093":12505,"48094":12506,"48095":12507,"48096":12508,"48097":12509,"48098":12510,"48099":12511,"48100":12512,"48101":12513,"48102":12514,"48103":12515,"48104":12516,"48105":12517,"48106":12518,"48107":12519,"48108":12520,"48109":12521,"48110":12522,"48111":12523,"48112":12524,"48113":12525,"48114":12526,"48115":12527,"48116":12528,"48117":12529,"48118":12530,"48119":12531,"48122":12532,"48123":12533,"48125":12534,"48126":12535,"48129":12536,"48131":12537,"48132":12538,"48133":12539,"48134":12540,"48135":12541,"48138":12542,"48142":12543,"48144":12544,"48146":12545,"48147":12546,"48153":12547,"48154":12548,"48160":12549,"48161":12550,"48162":12551,"48163":12552,"48166":12553,"48168":12554,"48170":12555,"48171":12556,"48172":12557,"48174":12558,"48175":12559,"48178":12560,"48179":12561,"48181":12562,"48182":12563,"48183":12564,"48185":12565,"48186":12566,"48187":12567,"48188":12568,"48189":12569,"48190":12570,"48191":12571,"48194":12572,"48198":12573,"48199":12574,"48200":12575,"48202":12576,"48203":12577,"48206":12578,"48207":12579,"48209":12580,"48210":12581,"48211":12582,"48212":12583,"48213":12584,"48214":12585,"48215":12586,"48216":12587,"48217":12588,"48218":12589,"48219":12590,"48220":12591,"48222":12592,"48223":12593,"48224":12594,"48225":12595,"48226":12596,"48227":12597,"48228":12598,"48229":12599,"48230":12600,"48231":12601,"48232":12602,"48233":12603,"48234":12604,"48235":12605,"48236":12606,"48237":12607,"48238":12608,"48239":12609,"48240":12610,"48241":12611,"48242":12612,"48243":12613,"48244":12614,"48245":12615,"48246":12616,"48247":12617,"48248":12618,"48249":12619,"48250":12620,"48251":12621,"48252":12622,"48253":12623,"48254":12624,"48255":12625,"48256":12626,"48257":12627,"48258":12628,"48259":12629,"48262":12630,"48263":12631,"48265":12632,"48266":12633,"48269":12634,"48271":12635,"48272":12636,"48273":12637,"48274":12638,"48275":12639,"48278":12640,"48280":12641,"48283":12642,"48284":12643,"48285":12644,"48286":12645,"48287":12646,"48290":12647,"48291":12648,"48293":12649,"48294":12650,"48297":12651,"48298":12652,"48299":12653,"48300":12654,"48301":12655,"48302":12656,"48303":12657,"48306":12658,"48310":12659,"48311":12660,"48312":12661,"48313":12662,"48314":12663,"48315":12664,"48318":12665,"48319":12666,"48321":12667,"48322":12668,"48323":12669,"48325":12670,"48326":12671,"48327":12672,"48328":12673,"48329":12674,"48330":12675,"48331":12676,"48332":12677,"48334":12678,"48338":12679,"48339":12680,"48340":12681,"48342":12682,"48343":12683,"48345":12684,"48346":12685,"48347":12686,"48349":12687,"48350":12688,"48351":12689,"48352":12690,"48353":12691,"48354":12692,"48355":12693,"48356":12694,"48357":12695,"48358":12696,"48359":12697,"48360":12698,"48361":12699,"48362":12700,"48363":12701,"48364":12702,"48365":12703,"48366":12704,"48367":12705,"48368":12706,"48369":12707,"48370":12708,"48371":12709,"48375":12710,"48377":12711,"48378":12712,"48379":12713,"48381":12714,"48382":12715,"48383":12716,"48384":12717,"48385":12718,"48386":12719,"48387":12720,"48390":12721,"48392":12722,"48394":12723,"48395":12724,"48396":12725,"48397":12726,"48398":12727,"48399":12728,"48401":12729,"48402":12730,"48403":12731,"48405":12732,"48406":12733,"48407":12734,"48408":12735,"48409":12736,"48410":12737,"48411":12738,"48412":12739,"48413":12740,"48414":12741,"48415":12742,"48416":12743,"48417":12744,"48418":12745,"48419":12746,"48421":12747,"48422":12748,"48423":12749,"48424":12750,"48425":12751,"48426":12752,"48427":12753,"48429":12754,"48430":12755,"48431":12756,"48432":12757,"48433":12758,"48434":12759,"48435":12760,"48436":12761,"48437":12762,"48438":12763,"48439":12764,"48440":12765,"48441":12766,"48442":12767,"48443":12768,"48444":12769,"48445":12770,"48446":12771,"48447":12772,"48449":12773,"48450":12774,"48451":12775,"48452":12776,"48453":12777,"48454":12778,"48455":12779,"48458":12780,"48459":12781,"48461":12782,"48462":12783,"48463":12784,"48465":12785,"48466":12786,"48467":12787,"48468":12788,"48469":12789,"48470":12790,"48471":12791,"48474":12792,"48475":12793,"48476":12794,"48477":12795,"48478":12796,"48479":12797,"48480":12798,"48481":12799,"48482":12800,"48483":12801,"48485":12802,"48486":12803,"48487":12804,"48489":12805,"48490":12806,"48491":12807,"48492":12808,"48493":12809,"48494":12810,"48495":12811,"48496":12812,"48497":12813,"48498":12814,"48499":12815,"48500":12816,"48501":12817,"48502":12818,"48503":12819,"48504":12820,"48505":12821,"48506":12822,"48507":12823,"48508":12824,"48509":12825,"48510":12826,"48511":12827,"48514":12828,"48515":12829,"48517":12830,"48518":12831,"48523":12832,"48524":12833,"48525":12834,"48526":12835,"48527":12836,"48530":12837,"48532":12838,"48534":12839,"48535":12840,"48536":12841,"48539":12842,"48541":12843,"48542":12844,"48543":12845,"48544":12846,"48545":12847,"48546":12848,"48547":12849,"48549":12850,"48550":12851,"48551":12852,"48552":12853,"48553":12854,"48554":12855,"48555":12856,"48556":12857,"48557":12858,"48558":12859,"48559":12860,"48561":12861,"48562":12862,"48563":12863,"48564":12864,"48565":12865,"48566":12866,"48567":12867,"48569":12868,"48570":12869,"48571":12870,"48572":12871,"48573":12872,"48574":12873,"48575":12874,"48576":12875,"48577":12876,"48578":12877,"48579":12878,"48580":12879,"48581":12880,"48582":12881,"48583":12882,"48584":12883,"48585":12884,"48586":12885,"48587":12886,"48588":12887,"48589":12888,"48590":12889,"48591":12890,"48592":12891,"48593":12892,"48594":12893,"48595":12894,"48598":12895,"48599":12896,"48601":12897,"48602":12898,"48603":12899,"48605":12900,"48606":12901,"48607":12902,"48608":12903,"48609":12904,"48610":12905,"48611":12906,"48612":12907,"48613":12908,"48614":12909,"48615":12910,"48616":12911,"48618":12912,"48619":12913,"48620":12914,"48621":12915,"48622":12916,"48623":12917,"48625":12918,"48626":12919,"48627":12920,"48629":12921,"48630":12922,"48631":12923,"48633":12924,"48634":12925,"48635":12926,"48636":12927,"48637":12928,"48638":12929,"48639":12930,"48641":12931,"48642":12932,"48644":12933,"48646":12934,"48647":12935,"48648":12936,"48649":12937,"48650":12938,"48651":12939,"48654":12940,"48655":12941,"48657":12942,"48658":12943,"48659":12944,"48661":12945,"48662":12946,"48663":12947,"48664":12948,"48665":12949,"48666":12950,"48667":12951,"48670":12952,"48672":12953,"48673":12954,"48674":12955,"48675":12956,"48676":12957,"48677":12958,"48678":12959,"48679":12960,"48680":12961,"48681":12962,"48682":12963,"48683":12964,"48684":12965,"48685":12966,"48686":12967,"48687":12968,"48688":12969,"48689":12970,"48690":12971,"48691":12972,"48692":12973,"48693":12974,"48694":12975,"48695":12976,"48696":12977,"48697":12978,"48698":12979,"48699":12980,"48700":12981,"48701":12982,"48702":12983,"48703":12984,"48704":12985,"48705":12986,"48706":12987,"48707":12988,"48710":12989,"48711":12990,"48713":12991,"48714":12992,"48715":12993,"48717":12994,"48719":12995,"48720":12996,"48721":12997,"48722":12998,"48723":12999,"48726":13000,"48728":13001,"48732":13002,"48733":13003,"48734":13004,"48735":13005,"48738":13006,"48739":13007,"48741":13008,"48742":13009,"48743":13010,"48745":13011,"48747":13012,"48748":13013,"48749":13014,"48750":13015,"48751":13016,"48754":13017,"48758":13018,"48759":13019,"48760":13020,"48761":13021,"48762":13022,"48766":13023,"48767":13024,"48769":13025,"48770":13026,"48771":13027,"48773":13028,"48774":13029,"48775":13030,"48776":13031,"48777":13032,"48778":13033,"48779":13034,"48782":13035,"48786":13036,"48787":13037,"48788":13038,"48789":13039,"48790":13040,"48791":13041,"48794":13042,"48795":13043,"48796":13044,"48797":13045,"48798":13046,"48799":13047,"48800":13048,"48801":13049,"48802":13050,"48803":13051,"48804":13052,"48805":13053,"48806":13054,"48807":13055,"48809":13056,"48810":13057,"48811":13058,"48812":13059,"48813":13060,"48814":13061,"48815":13062,"48816":13063,"48817":13064,"48818":13065,"48819":13066,"48820":13067,"48821":13068,"48822":13069,"48823":13070,"48824":13071,"48825":13072,"48826":13073,"48827":13074,"48828":13075,"48829":13076,"48830":13077,"48831":13078,"48832":13079,"48833":13080,"48834":13081,"48835":13082,"48836":13083,"48837":13084,"48838":13085,"48839":13086,"48840":13087,"48841":13088,"48842":13089,"48843":13090,"48844":13091,"48845":13092,"48846":13093,"48847":13094,"48850":13095,"48851":13096,"48853":13097,"48854":13098,"48857":13099,"48858":13100,"48859":13101,"48860":13102,"48861":13103,"48862":13104,"48863":13105,"48865":13106,"48866":13107,"48870":13108,"48871":13109,"48872":13110,"48873":13111,"48874":13112,"48875":13113,"48877":13114,"48878":13115,"48879":13116,"48880":13117,"48881":13118,"48882":13119,"48883":13120,"48884":13121,"48885":13122,"48886":13123,"48887":13124,"48888":13125,"48889":13126,"48890":13127,"48891":13128,"48892":13129,"48893":13130,"48894":13131,"48895":13132,"48896":13133,"48898":13134,"48899":13135,"48900":13136,"48901":13137,"48902":13138,"48903":13139,"48906":13140,"48907":13141,"48908":13142,"48909":13143,"48910":13144,"48911":13145,"48912":13146,"48913":13147,"48914":13148,"48915":13149,"48916":13150,"48917":13151,"48918":13152,"48919":13153,"48922":13154,"48926":13155,"48927":13156,"48928":13157,"48929":13158,"48930":13159,"48931":13160,"48932":13161,"48933":13162,"48934":13163,"48935":13164,"48936":13165,"48937":13166,"48938":13167,"48939":13168,"48940":13169,"48941":13170,"48942":13171,"48943":13172,"48944":13173,"48945":13174,"48946":13175,"48947":13176,"48948":13177,"48949":13178,"48950":13179,"48951":13180,"48952":13181,"48953":13182,"48954":13183,"48955":13184,"48956":13185,"48957":13186,"48958":13187,"48959":13188,"48962":13189,"48963":13190,"48965":13191,"48966":13192,"48967":13193,"48969":13194,"48970":13195,"48971":13196,"48972":13197,"48973":13198,"48974":13199,"48975":13200,"48978":13201,"48979":13202,"48980":13203,"48982":13204,"48983":13205,"48984":13206,"48985":13207,"48986":13208,"48987":13209,"48988":13210,"48989":13211,"48990":13212,"48991":13213,"48992":13214,"48993":13215,"48994":13216,"48995":13217,"48996":13218,"48997":13219,"48998":13220,"48999":13221,"49000":13222,"49001":13223,"49002":13224,"49003":13225,"49004":13226,"49005":13227,"49006":13228,"49007":13229,"49008":13230,"49009":13231,"49010":13232,"49011":13233,"49012":13234,"49013":13235,"49014":13236,"49015":13237,"49016":13238,"49017":13239,"49018":13240,"49019":13241,"49020":13242,"49021":13243,"49022":13244,"49023":13245,"49024":13246,"49025":13247,"49026":13248,"49027":13249,"49028":13250,"49029":13251,"49030":13252,"49031":13253,"49032":13254,"49033":13255,"49034":13256,"49035":13257,"49036":13258,"49037":13259,"49038":13260,"49039":13261,"49040":13262,"49041":13263,"49042":13264,"49043":13265,"49045":13266,"49046":13267,"49047":13268,"49048":13269,"49049":13270,"49050":13271,"49051":13272,"49052":13273,"49053":13274,"49054":13275,"49055":13276,"49056":13277,"49057":13278,"49058":13279,"49059":13280,"49060":13281,"49061":13282,"49062":13283,"49063":13284,"49064":13285,"49065":13286,"49066":13287,"49067":13288,"49068":13289,"49069":13290,"49070":13291,"49071":13292,"49073":13293,"49074":13294,"49075":13295,"49076":13296,"49077":13297,"49078":13298,"49079":13299,"49080":13300,"49081":13301,"49082":13302,"49083":13303,"49084":13304,"49085":13305,"49086":13306,"49087":13307,"49088":13308,"49089":13309,"49090":13310,"49091":13311,"49092":13312,"49094":13313,"49095":13314,"49096":13315,"49097":13316,"49098":13317,"49099":13318,"49102":13319,"49103":13320,"49105":13321,"49106":13322,"49107":13323,"49109":13324,"49110":13325,"49111":13326,"49112":13327,"49113":13328,"49114":13329,"49115":13330,"49117":13331,"49118":13332,"49120":13333,"49122":13334,"49123":13335,"49124":13336,"49125":13337,"49126":13338,"49127":13339,"49128":13340,"49129":13341,"49130":13342,"49131":13343,"49132":13344,"49133":13345,"49134":13346,"49135":13347,"49136":13348,"49137":13349,"49138":13350,"49139":13351,"49140":13352,"49141":13353,"49142":13354,"49143":13355,"49144":13356,"49145":13357,"49146":13358,"49147":13359,"49148":13360,"49149":13361,"49150":13362,"49151":13363,"49152":13364,"49153":13365,"49154":13366,"49155":13367,"49156":13368,"49157":13369,"49158":13370,"49159":13371,"49160":13372,"49161":13373,"49162":13374,"49163":13375,"49164":13376,"49165":13377,"49166":13378,"49167":13379,"49168":13380,"49169":13381,"49170":13382,"49171":13383,"49172":13384,"49173":13385,"49174":13386,"49175":13387,"49176":13388,"49177":13389,"49178":13390,"49179":13391,"49180":13392,"49181":13393,"49182":13394,"49183":13395,"49184":13396,"49185":13397,"49186":13398,"49187":13399,"49188":13400,"49189":13401,"49190":13402,"49191":13403,"49192":13404,"49193":13405,"49194":13406,"49195":13407,"49196":13408,"49197":13409,"49198":13410,"49199":13411,"49200":13412,"49201":13413,"49202":13414,"49203":13415,"49204":13416,"49205":13417,"49206":13418,"49207":13419,"49208":13420,"49209":13421,"49210":13422,"49211":13423,"49213":13424,"49214":13425,"49215":13426,"49216":13427,"49217":13428,"49218":13429,"49219":13430,"49220":13431,"49221":13432,"49222":13433,"49223":13434,"49224":13435,"49225":13436,"49226":13437,"49227":13438,"49228":13439,"49229":13440,"49230":13441,"49231":13442,"49232":13443,"49234":13444,"49235":13445,"49236":13446,"49237":13447,"49238":13448,"49239":13449,"49241":13450,"49242":13451,"49243":13452,"49245":13453,"49246":13454,"49247":13455,"49249":13456,"49250":13457,"49251":13458,"49252":13459,"49253":13460,"49254":13461,"49255":13462,"49258":13463,"49259":13464,"49260":13465,"49261":13466,"49262":13467,"49263":13468,"49264":13469,"49265":13470,"49266":13471,"49267":13472,"49268":13473,"49269":13474,"49270":13475,"49271":13476,"49272":13477,"49273":13478,"49274":13479,"49275":13480,"49276":13481,"49277":13482,"49278":13483,"49279":13484,"49280":13485,"49281":13486,"49282":13487,"49283":13488,"49284":13489,"49285":13490,"49286":13491,"49287":13492,"49288":13493,"49289":13494,"49290":13495,"49291":13496,"49292":13497,"49293":13498,"49294":13499,"49295":13500,"49298":13501,"49299":13502,"49301":13503,"49302":13504,"49303":13505,"49305":13506,"49306":13507,"49307":13508,"49308":13509,"49309":13510,"49310":13511,"49311":13512,"49314":13513,"49316":13514,"49318":13515,"49319":13516,"49320":13517,"49321":13518,"49322":13519,"49323":13520,"49326":13521,"49329":13522,"49330":13523,"49335":13524,"49336":13525,"49337":13526,"49338":13527,"49339":13528,"49342":13529,"49346":13530,"49347":13531,"49348":13532,"49350":13533,"49351":13534,"49354":13535,"49355":13536,"49357":13537,"49358":13538,"49359":13539,"49361":13540,"49362":13541,"49363":13542,"49364":13543,"49365":13544,"49366":13545,"49367":13546,"49370":13547,"49374":13548,"49375":13549,"49376":13550,"49377":13551,"49378":13552,"49379":13553,"49382":13554,"49383":13555,"49385":13556,"49386":13557,"49387":13558,"49389":13559,"49390":13560,"49391":13561,"49392":13562,"49393":13563,"49394":13564,"49395":13565,"49398":13566,"49400":13567,"49402":13568,"49403":13569,"49404":13570,"49405":13571,"49406":13572,"49407":13573,"49409":13574,"49410":13575,"49411":13576,"49413":13577,"49414":13578,"49415":13579,"49417":13580,"49418":13581,"49419":13582,"49420":13583,"49421":13584,"49422":13585,"49423":13586,"49425":13587,"49426":13588,"49427":13589,"49428":13590,"49430":13591,"49431":13592,"49432":13593,"49433":13594,"49434":13595,"49435":13596,"49441":13597,"49442":13598,"49445":13599,"49448":13600,"49449":13601,"49450":13602,"49451":13603,"49454":13604,"49458":13605,"49459":13606,"49460":13607,"49461":13608,"49463":13609,"49466":13610,"49467":13611,"49469":13612,"49470":13613,"49471":13614,"49473":13615,"49474":13616,"49475":13617,"49476":13618,"49477":13619,"49478":13620,"49479":13621,"49482":13622,"49486":13623,"49487":13624,"49488":13625,"49489":13626,"49490":13627,"49491":13628,"49494":13629,"49495":13630,"49497":13631,"49498":13632,"49499":13633,"49501":13634,"49502":13635,"49503":13636,"49504":13637,"49505":13638,"49506":13639,"49507":13640,"49510":13641,"49514":13642,"49515":13643,"49516":13644,"49517":13645,"49518":13646,"49519":13647,"49521":13648,"49522":13649,"49523":13650,"49525":13651,"49526":13652,"49527":13653,"49529":13654,"49530":13655,"49531":13656,"49532":13657,"49533":13658,"49534":13659,"49535":13660,"49536":13661,"49537":13662,"49538":13663,"49539":13664,"49540":13665,"49542":13666,"49543":13667,"49544":13668,"49545":13669,"49546":13670,"49547":13671,"49551":13672,"49553":13673,"49554":13674,"49555":13675,"49557":13676,"49559":13677,"49560":13678,"49561":13679,"49562":13680,"49563":13681,"49566":13682,"49568":13683,"49570":13684,"49571":13685,"49572":13686,"49574":13687,"49575":13688,"49578":13689,"49579":13690,"49581":13691,"49582":13692,"49583":13693,"49585":13694,"49586":13695,"49587":13696,"49588":13697,"49589":13698,"49590":13699,"49591":13700,"49592":13701,"49593":13702,"49594":13703,"49595":13704,"49596":13705,"49598":13706,"49599":13707,"49600":13708,"49601":13709,"49602":13710,"49603":13711,"49605":13712,"49606":13713,"49607":13714,"49609":13715,"49610":13716,"49611":13717,"49613":13718,"49614":13719,"49615":13720,"49616":13721,"49617":13722,"49618":13723,"49619":13724,"49621":13725,"49622":13726,"49625":13727,"49626":13728,"49627":13729,"49628":13730,"49629":13731,"49630":13732,"49631":13733,"49633":13734,"49634":13735,"49635":13736,"49637":13737,"49638":13738,"49639":13739,"49641":13740,"49642":13741,"49643":13742,"49644":13743,"49645":13744,"49646":13745,"49647":13746,"49650":13747,"49652":13748,"49653":13749,"49654":13750,"49655":13751,"49656":13752,"49657":13753,"49658":13754,"49659":13755,"49662":13756,"49663":13757,"49665":13758,"49666":13759,"49667":13760,"49669":13761,"49670":13762,"49671":13763,"49672":13764,"49673":13765,"49674":13766,"49675":13767,"49678":13768,"49680":13769,"49682":13770,"49683":13771,"49684":13772,"49685":13773,"49686":13774,"49687":13775,"49690":13776,"49691":13777,"49693":13778,"49694":13779,"49697":13780,"49698":13781,"49699":13782,"49700":13783,"49701":13784,"49702":13785,"49703":13786,"49706":13787,"49708":13788,"49710":13789,"49712":13790,"49715":13791,"49717":13792,"49718":13793,"49719":13794,"49720":13795,"49721":13796,"49722":13797,"49723":13798,"49724":13799,"49725":13800,"49726":13801,"49727":13802,"49728":13803,"49729":13804,"49730":13805,"49731":13806,"49732":13807,"49733":13808,"49734":13809,"49735":13810,"49737":13811,"49738":13812,"49739":13813,"49740":13814,"49741":13815,"49742":13816,"49743":13817,"49746":13818,"49747":13819,"49749":13820,"49750":13821,"49751":13822,"49753":13823,"49754":13824,"49755":13825,"49756":13826,"49757":13827,"49758":13828,"49759":13829,"49761":13830,"49762":13831,"49763":13832,"49764":13833,"49766":13834,"49767":13835,"49768":13836,"49769":13837,"49770":13838,"49771":13839,"49774":13840,"49775":13841,"49777":13842,"49778":13843,"49779":13844,"49781":13845,"49782":13846,"49783":13847,"49784":13848,"49785":13849,"49786":13850,"49787":13851,"49790":13852,"49792":13853,"49794":13854,"49795":13855,"49796":13856,"49797":13857,"49798":13858,"49799":13859,"49802":13860,"49803":13861,"49804":13862,"49805":13863,"49806":13864,"49807":13865,"49809":13866,"49810":13867,"49811":13868,"49812":13869,"49813":13870,"49814":13871,"49815":13872,"49817":13873,"49818":13874,"49820":13875,"49822":13876,"49823":13877,"49824":13878,"49825":13879,"49826":13880,"49827":13881,"49830":13882,"49831":13883,"49833":13884,"49834":13885,"49835":13886,"49838":13887,"49839":13888,"49840":13889,"49841":13890,"49842":13891,"49843":13892,"49846":13893,"49848":13894,"49850":13895,"49851":13896,"49852":13897,"49853":13898,"49854":13899,"49855":13900,"49856":13901,"49857":13902,"49858":13903,"49859":13904,"49860":13905,"49861":13906,"49862":13907,"49863":13908,"49864":13909,"49865":13910,"49866":13911,"49867":13912,"49868":13913,"49869":13914,"49870":13915,"49871":13916,"49872":13917,"49873":13918,"49874":13919,"49875":13920,"49876":13921,"49877":13922,"49878":13923,"49879":13924,"49880":13925,"49881":13926,"49882":13927,"49883":13928,"49886":13929,"49887":13930,"49889":13931,"49890":13932,"49893":13933,"49894":13934,"49895":13935,"49896":13936,"49897":13937,"49898":13938,"49902":13939,"49904":13940,"49906":13941,"49907":13942,"49908":13943,"49909":13944,"49911":13945,"49914":13946,"49917":13947,"49918":13948,"49919":13949,"49921":13950,"49922":13951,"49923":13952,"49924":13953,"49925":13954,"49926":13955,"49927":13956,"49930":13957,"49931":13958,"49934":13959,"49935":13960,"49936":13961,"49937":13962,"49938":13963,"49942":13964,"49943":13965,"49945":13966,"49946":13967,"49947":13968,"49949":13969,"49950":13970,"49951":13971,"49952":13972,"49953":13973,"49954":13974,"49955":13975,"49958":13976,"49959":13977,"49962":13978,"49963":13979,"49964":13980,"49965":13981,"49966":13982,"49967":13983,"49968":13984,"49969":13985,"49970":13986,"49971":13987,"49972":13988,"49973":13989,"49974":13990,"49975":13991,"49976":13992,"49977":13993,"49978":13994,"49979":13995,"49980":13996,"49981":13997,"49982":13998,"49983":13999,"49984":14000,"49985":14001,"49986":14002,"49987":14003,"49988":14004,"49990":14005,"49991":14006,"49992":14007,"49993":14008,"49994":14009,"49995":14010,"49996":14011,"49997":14012,"49998":14013,"49999":14014,"50000":14015,"50001":14016,"50002":14017,"50003":14018,"50004":14019,"50005":14020,"50006":14021,"50007":14022,"50008":14023,"50009":14024,"50010":14025,"50011":14026,"50012":14027,"50013":14028,"50014":14029,"50015":14030,"50016":14031,"50017":14032,"50018":14033,"50019":14034,"50020":14035,"50021":14036,"50022":14037,"50023":14038,"50026":14039,"50027":14040,"50029":14041,"50030":14042,"50031":14043,"50033":14044,"50035":14045,"50036":14046,"50037":14047,"50038":14048,"50039":14049,"50042":14050,"50043":14051,"50046":14052,"50047":14053,"50048":14054,"50049":14055,"50050":14056,"50051":14057,"50053":14058,"50054":14059,"50055":14060,"50057":14061,"50058":14062,"50059":14063,"50061":14064,"50062":14065,"50063":14066,"50064":14067,"50065":14068,"50066":14069,"50067":14070,"50068":14071,"50069":14072,"50070":14073,"50071":14074,"50072":14075,"50073":14076,"50074":14077,"50075":14078,"50076":14079,"50077":14080,"50078":14081,"50079":14082,"50080":14083,"50081":14084,"50082":14085,"50083":14086,"50084":14087,"50085":14088,"50086":14089,"50087":14090,"50088":14091,"50089":14092,"50090":14093,"50091":14094,"50092":14095,"50093":14096,"50094":14097,"50095":14098,"50096":14099,"50097":14100,"50098":14101,"50099":14102,"50100":14103,"50101":14104,"50102":14105,"50103":14106,"50104":14107,"50105":14108,"50106":14109,"50107":14110,"50108":14111,"50109":14112,"50110":14113,"50111":14114,"50113":14115,"50114":14116,"50115":14117,"50116":14118,"50117":14119,"50118":14120,"50119":14121,"50120":14122,"50121":14123,"50122":14124,"50123":14125,"50124":14126,"50125":14127,"50126":14128,"50127":14129,"50128":14130,"50129":14131,"50130":14132,"50131":14133,"50132":14134,"50133":14135,"50134":14136,"50135":14137,"50138":14138,"50139":14139,"50141":14140,"50142":14141,"50145":14142,"50147":14143,"50148":14144,"50149":14145,"50150":14146,"50151":14147,"50154":14148,"50155":14149,"50156":14150,"50158":14151,"50159":14152,"50160":14153,"50161":14154,"50162":14155,"50163":14156,"50166":14157,"50167":14158,"50169":14159,"50170":14160,"50171":14161,"50172":14162,"50173":14163,"50174":14164,"50175":14165,"50176":14166,"50177":14167,"50178":14168,"50179":14169,"50180":14170,"50181":14171,"50182":14172,"50183":14173,"50185":14174,"50186":14175,"50187":14176,"50188":14177,"50189":14178,"50190":14179,"50191":14180,"50193":14181,"50194":14182,"50195":14183,"50196":14184,"50197":14185,"50198":14186,"50199":14187,"50200":14188,"50201":14189,"50202":14190,"50203":14191,"50204":14192,"50205":14193,"50206":14194,"50207":14195,"50208":14196,"50209":14197,"50210":14198,"50211":14199,"50213":14200,"50214":14201,"50215":14202,"50216":14203,"50217":14204,"50218":14205,"50219":14206,"50221":14207,"50222":14208,"50223":14209,"50225":14210,"50226":14211,"50227":14212,"50229":14213,"50230":14214,"50231":14215,"50232":14216,"50233":14217,"50234":14218,"50235":14219,"50238":14220,"50239":14221,"50240":14222,"50241":14223,"50242":14224,"50243":14225,"50244":14226,"50245":14227,"50246":14228,"50247":14229,"50249":14230,"50250":14231,"50251":14232,"50252":14233,"50253":14234,"50254":14235,"50255":14236,"50256":14237,"50257":14238,"50258":14239,"50259":14240,"50260":14241,"50261":14242,"50262":14243,"50263":14244,"50264":14245,"50265":14246,"50266":14247,"50267":14248,"50268":14249,"50269":14250,"50270":14251,"50271":14252,"50272":14253,"50273":14254,"50274":14255,"50275":14256,"50278":14257,"50279":14258,"50281":14259,"50282":14260,"50283":14261,"50285":14262,"50286":14263,"50287":14264,"50288":14265,"50289":14266,"50290":14267,"50291":14268,"50294":14269,"50295":14270,"50296":14271,"50298":14272,"50299":14273,"50300":14274,"50301":14275,"50302":14276,"50303":14277,"50305":14278,"50306":14279,"50307":14280,"50308":14281,"50309":14282,"50310":14283,"50311":14284,"50312":14285,"50313":14286,"50314":14287,"50315":14288,"50316":14289,"50317":14290,"50318":14291,"50319":14292,"50320":14293,"50321":14294,"50322":14295,"50323":14296,"50325":14297,"50326":14298,"50327":14299,"50328":14300,"50329":14301,"50330":14302,"50331":14303,"50333":14304,"50334":14305,"50335":14306,"50336":14307,"50337":14308,"50338":14309,"50339":14310,"50340":14311,"50341":14312,"50342":14313,"50343":14314,"50344":14315,"50345":14316,"50346":14317,"50347":14318,"50348":14319,"50349":14320,"50350":14321,"50351":14322,"50352":14323,"50353":14324,"50354":14325,"50355":14326,"50356":14327,"50357":14328,"50358":14329,"50359":14330,"50361":14331,"50362":14332,"50363":14333,"50365":14334,"50366":14335,"50367":14336,"50368":14337,"50369":14338,"50370":14339,"50371":14340,"50372":14341,"50373":14342,"50374":14343,"50375":14344,"50376":14345,"50377":14346,"50378":14347,"50379":14348,"50380":14349,"50381":14350,"50382":14351,"50383":14352,"50384":14353,"50385":14354,"50386":14355,"50387":14356,"50388":14357,"50389":14358,"50390":14359,"50391":14360,"50392":14361,"50393":14362,"50394":14363,"50395":14364,"50396":14365,"50397":14366,"50398":14367,"50399":14368,"50400":14369,"50401":14370,"50402":14371,"50403":14372,"50404":14373,"50405":14374,"50406":14375,"50407":14376,"50408":14377,"50410":14378,"50411":14379,"50412":14380,"50413":14381,"50414":14382,"50415":14383,"50418":14384,"50419":14385,"50421":14386,"50422":14387,"50423":14388,"50425":14389,"50427":14390,"50428":14391,"50429":14392,"50430":14393,"50434":14394,"50435":14395,"50436":14396,"50437":14397,"50438":14398,"50439":14399,"50440":14400,"50441":14401,"50442":14402,"50443":14403,"50445":14404,"50446":14405,"50447":14406,"50449":14407,"50450":14408,"50451":14409,"50453":14410,"50454":14411,"50455":14412,"50456":14413,"50457":14414,"50458":14415,"50459":14416,"50461":14417,"50462":14418,"50463":14419,"50464":14420,"50465":14421,"50466":14422,"50467":14423,"50468":14424,"50469":14425,"50470":14426,"50471":14427,"50474":14428,"50475":14429,"50477":14430,"50478":14431,"50479":14432,"50481":14433,"50482":14434,"50483":14435,"50484":14436,"50485":14437,"50486":14438,"50487":14439,"50490":14440,"50492":14441,"50494":14442,"50495":14443,"50496":14444,"50497":14445,"50498":14446,"50499":14447,"50502":14448,"50503":14449,"50507":14450,"50511":14451,"50512":14452,"50513":14453,"50514":14454,"50518":14455,"50522":14456,"50523":14457,"50524":14458,"50527":14459,"50530":14460,"50531":14461,"50533":14462,"50534":14463,"50535":14464,"50537":14465,"50538":14466,"50539":14467,"50540":14468,"50541":14469,"50542":14470,"50543":14471,"50546":14472,"50550":14473,"50551":14474,"50552":14475,"50553":14476,"50554":14477,"50555":14478,"50558":14479,"50559":14480,"50561":14481,"50562":14482,"50563":14483,"50565":14484,"50566":14485,"50568":14486,"50569":14487,"50570":14488,"50571":14489,"50574":14490,"50576":14491,"50578":14492,"50579":14493,"50580":14494,"50582":14495,"50585":14496,"50586":14497,"50587":14498,"50589":14499,"50590":14500,"50591":14501,"50593":14502,"50594":14503,"50595":14504,"50596":14505,"50597":14506,"50598":14507,"50599":14508,"50600":14509,"50602":14510,"50603":14511,"50604":14512,"50605":14513,"50606":14514,"50607":14515,"50608":14516,"50609":14517,"50610":14518,"50611":14519,"50614":14520,"50615":14521,"50618":14522,"50623":14523,"50624":14524,"50625":14525,"50626":14526,"50627":14527,"50635":14528,"50637":14529,"50639":14530,"50642":14531,"50643":14532,"50645":14533,"50646":14534,"50647":14535,"50649":14536,"50650":14537,"50651":14538,"50652":14539,"50653":14540,"50654":14541,"50655":14542,"50658":14543,"50660":14544,"50662":14545,"50663":14546,"50664":14547,"50665":14548,"50666":14549,"50667":14550,"50671":14551,"50673":14552,"50674":14553,"50675":14554,"50677":14555,"50680":14556,"50681":14557,"50682":14558,"50683":14559,"50690":14560,"50691":14561,"50692":14562,"50697":14563,"50698":14564,"50699":14565,"50701":14566,"50702":14567,"50703":14568,"50705":14569,"50706":14570,"50707":14571,"50708":14572,"50709":14573,"50710":14574,"50711":14575,"50714":14576,"50717":14577,"50718":14578,"50719":14579,"50720":14580,"50721":14581,"50722":14582,"50723":14583,"50726":14584,"50727":14585,"50729":14586,"50730":14587,"50731":14588,"50735":14589,"50737":14590,"50738":14591,"50742":14592,"50744":14593,"50746":14594,"50748":14595,"50749":14596,"50750":14597,"50751":14598,"50754":14599,"50755":14600,"50757":14601,"50758":14602,"50759":14603,"50761":14604,"50762":14605,"50763":14606,"50764":14607,"50765":14608,"50766":14609,"50767":14610,"50770":14611,"50774":14612,"50775":14613,"50776":14614,"50777":14615,"50778":14616,"50779":14617,"50782":14618,"50783":14619,"50785":14620,"50786":14621,"50787":14622,"50788":14623,"50789":14624,"50790":14625,"50791":14626,"50792":14627,"50793":14628,"50794":14629,"50795":14630,"50797":14631,"50798":14632,"50800":14633,"50802":14634,"50803":14635,"50804":14636,"50805":14637,"50806":14638,"50807":14639,"50810":14640,"50811":14641,"50813":14642,"50814":14643,"50815":14644,"50817":14645,"50818":14646,"50819":14647,"50820":14648,"50821":14649,"50822":14650,"50823":14651,"50826":14652,"50828":14653,"50830":14654,"50831":14655,"50832":14656,"50833":14657,"50834":14658,"50835":14659,"50838":14660,"50839":14661,"50841":14662,"50842":14663,"50843":14664,"50845":14665,"50846":14666,"50847":14667,"50848":14668,"50849":14669,"50850":14670,"50851":14671,"50854":14672,"50856":14673,"50858":14674,"50859":14675,"50860":14676,"50861":14677,"50862":14678,"50863":14679,"50866":14680,"50867":14681,"50869":14682,"50870":14683,"50871":14684,"50875":14685,"50876":14686,"50877":14687,"50878":14688,"50879":14689,"50882":14690,"50884":14691,"50886":14692,"50887":14693,"50888":14694,"50889":14695,"50890":14696,"50891":14697,"50894":14698,"50895":14699,"50897":14700,"50898":14701,"50899":14702,"50901":14703,"50902":14704,"50903":14705,"50904":14706,"50905":14707,"50906":14708,"50907":14709,"50910":14710,"50911":14711,"50914":14712,"50915":14713,"50916":14714,"50917":14715,"50918":14716,"50919":14717,"50922":14718,"50923":14719,"50925":14720,"50926":14721,"50927":14722,"50929":14723,"50930":14724,"50931":14725,"50932":14726,"50933":14727,"50934":14728,"50935":14729,"50938":14730,"50939":14731,"50940":14732,"50942":14733,"50943":14734,"50944":14735,"50945":14736,"50946":14737,"50947":14738,"50950":14739,"50951":14740,"50953":14741,"50954":14742,"50955":14743,"50957":14744,"50958":14745,"50959":14746,"50960":14747,"50961":14748,"50962":14749,"50963":14750,"50966":14751,"50968":14752,"50970":14753,"50971":14754,"50972":14755,"50973":14756,"50974":14757,"50975":14758,"50978":14759,"50979":14760,"50981":14761,"50982":14762,"50983":14763,"50985":14764,"50986":14765,"50987":14766,"50988":14767,"50989":14768,"50990":14769,"50991":14770,"50994":14771,"50996":14772,"50998":14773,"51000":14774,"51001":14775,"51002":14776,"51003":14777,"51006":14778,"51007":14779,"51009":14780,"51010":14781,"51011":14782,"51013":14783,"51014":14784,"51015":14785,"51016":14786,"51017":14787,"51019":14788,"51022":14789,"51024":14790,"51033":14791,"51034":14792,"51035":14793,"51037":14794,"51038":14795,"51039":14796,"51041":14797,"51042":14798,"51043":14799,"51044":14800,"51045":14801,"51046":14802,"51047":14803,"51049":14804,"51050":14805,"51052":14806,"51053":14807,"51054":14808,"51055":14809,"51056":14810,"51057":14811,"51058":14812,"51059":14813,"51062":14814,"51063":14815,"51065":14816,"51066":14817,"51067":14818,"51071":14819,"51072":14820,"51073":14821,"51074":14822,"51078":14823,"51083":14824,"51084":14825,"51085":14826,"51087":14827,"51090":14828,"51091":14829,"51093":14830,"51097":14831,"51099":14832,"51100":14833,"51101":14834,"51102":14835,"51103":14836,"51106":14837,"51111":14838,"51112":14839,"51113":14840,"51114":14841,"51115":14842,"51118":14843,"51119":14844,"51121":14845,"51122":14846,"51123":14847,"51125":14848,"51126":14849,"51127":14850,"51128":14851,"51129":14852,"51130":14853,"51131":14854,"51134":14855,"51138":14856,"51139":14857,"51140":14858,"51141":14859,"51142":14860,"51143":14861,"51146":14862,"51147":14863,"51149":14864,"51151":14865,"51153":14866,"51154":14867,"51155":14868,"51156":14869,"51157":14870,"51158":14871,"51159":14872,"51161":14873,"51162":14874,"51163":14875,"51164":14876,"51166":14877,"51167":14878,"51168":14879,"51169":14880,"51170":14881,"51171":14882,"51173":14883,"51174":14884,"51175":14885,"51177":14886,"51178":14887,"51179":14888,"51181":14889,"51182":14890,"51183":14891,"51184":14892,"51185":14893,"51186":14894,"51187":14895,"51188":14896,"51189":14897,"51190":14898,"51191":14899,"51192":14900,"51193":14901,"51194":14902,"51195":14903,"51196":14904,"51197":14905,"51198":14906,"51199":14907,"51202":14908,"51203":14909,"51205":14910,"51206":14911,"51207":14912,"51209":14913,"51211":14914,"51212":14915,"51213":14916,"51214":14917,"51215":14918,"51218":14919,"51220":14920,"51223":14921,"51224":14922,"51225":14923,"51226":14924,"51227":14925,"51230":14926,"51231":14927,"51233":14928,"51234":14929,"51235":14930,"51237":14931,"51238":14932,"51239":14933,"51240":14934,"51241":14935,"51242":14936,"51243":14937,"51246":14938,"51248":14939,"51250":14940,"51251":14941,"51252":14942,"51253":14943,"51254":14944,"51255":14945,"51257":14946,"51258":14947,"51259":14948,"51261":14949,"51262":14950,"51263":14951,"51265":14952,"51266":14953,"51267":14954,"51268":14955,"51269":14956,"51270":14957,"51271":14958,"51274":14959,"51275":14960,"51278":14961,"51279":14962,"51280":14963,"51281":14964,"51282":14965,"51283":14966,"51285":14967,"51286":14968,"51287":14969,"51288":14970,"51289":14971,"51290":14972,"51291":14973,"51292":14974,"51293":14975,"51294":14976,"51295":14977,"51296":14978,"51297":14979,"51298":14980,"51299":14981,"51300":14982,"51301":14983,"51302":14984,"51303":14985,"51304":14986,"51305":14987,"51306":14988,"51307":14989,"51308":14990,"51309":14991,"51310":14992,"51311":14993,"51314":14994,"51315":14995,"51317":14996,"51318":14997,"51319":14998,"51321":14999,"51323":15000,"51324":15001,"51325":15002,"51326":15003,"51327":15004,"51330":15005,"51332":15006,"51336":15007,"51337":15008,"51338":15009,"51342":15010,"51343":15011,"51344":15012,"51345":15013,"51346":15014,"51347":15015,"51349":15016,"51350":15017,"51351":15018,"51352":15019,"51353":15020,"51354":15021,"51355":15022,"51356":15023,"51358":15024,"51360":15025,"51362":15026,"51363":15027,"51364":15028,"51365":15029,"51366":15030,"51367":15031,"51369":15032,"51370":15033,"51371":15034,"51372":15035,"51373":15036,"51374":15037,"51375":15038,"51376":15039,"51377":15040,"51378":15041,"51379":15042,"51380":15043,"51381":15044,"51382":15045,"51383":15046,"51384":15047,"51385":15048,"51386":15049,"51387":15050,"51390":15051,"51391":15052,"51392":15053,"51393":15054,"51394":15055,"51395":15056,"51397":15057,"51398":15058,"51399":15059,"51401":15060,"51402":15061,"51403":15062,"51405":15063,"51406":15064,"51407":15065,"51408":15066,"51409":15067,"51410":15068,"51411":15069,"51414":15070,"51416":15071,"51418":15072,"51419":15073,"51420":15074,"51421":15075,"51422":15076,"51423":15077,"51426":15078,"51427":15079,"51429":15080,"51430":15081,"51431":15082,"51432":15083,"51433":15084,"51434":15085,"51435":15086,"51436":15087,"51437":15088,"51438":15089,"51439":15090,"51440":15091,"51441":15092,"51442":15093,"51443":15094,"51444":15095,"51446":15096,"51447":15097,"51448":15098,"51449":15099,"51450":15100,"51451":15101,"51454":15102,"51455":15103,"51457":15104,"51458":15105,"51459":15106,"51463":15107,"51464":15108,"51465":15109,"51466":15110,"51467":15111,"51470":15112,"51472":15113,"51474":15114,"51475":15115,"51476":15116,"51477":15117,"51478":15118,"51479":15119,"51481":15120,"51482":15121,"51483":15122,"51484":15123,"51485":15124,"51486":15125,"51487":15126,"51488":15127,"51489":15128,"51490":15129,"51491":15130,"51492":15131,"51493":15132,"51494":15133,"51495":15134,"51496":15135,"51497":15136,"51498":15137,"51499":15138,"51501":15139,"51502":15140,"51503":15141,"51504":15142,"51505":15143,"51506":15144,"51507":15145,"51509":15146,"51510":15147,"51511":15148,"51512":15149,"51513":15150,"51514":15151,"51515":15152,"51516":15153,"51517":15154,"51518":15155,"51519":15156,"51520":15157,"51521":15158,"51522":15159,"51523":15160,"51524":15161,"51525":15162,"51526":15163,"51527":15164,"51528":15165,"51529":15166,"51530":15167,"51531":15168,"51532":15169,"51533":15170,"51534":15171,"51535":15172,"51538":15173,"51539":15174,"51541":15175,"51542":15176,"51543":15177,"51545":15178,"51546":15179,"51547":15180,"51548":15181,"51549":15182,"51550":15183,"51551":15184,"51554":15185,"51556":15186,"51557":15187,"51558":15188,"51559":15189,"51560":15190,"51561":15191,"51562":15192,"51563":15193,"51565":15194,"51566":15195,"51567":15196,"51569":15197,"51570":15198,"51571":15199,"51573":15200,"51574":15201,"51575":15202,"51576":15203,"51577":15204,"51578":15205,"51579":15206,"51581":15207,"51582":15208,"51583":15209,"51584":15210,"51585":15211,"51586":15212,"51587":15213,"51588":15214,"51589":15215,"51590":15216,"51591":15217,"51594":15218,"51595":15219,"51597":15220,"51598":15221,"51599":15222,"51601":15223,"51602":15224,"51603":15225,"51604":15226,"51605":15227,"51606":15228,"51607":15229,"51610":15230,"51612":15231,"51614":15232,"51615":15233,"51616":15234,"51617":15235,"51618":15236,"51619":15237,"51620":15238,"51621":15239,"51622":15240,"51623":15241,"51624":15242,"51625":15243,"51626":15244,"51627":15245,"51628":15246,"51629":15247,"51630":15248,"51631":15249,"51632":15250,"51633":15251,"51634":15252,"51635":15253,"51636":15254,"51637":15255,"51638":15256,"51639":15257,"51640":15258,"51641":15259,"51642":15260,"51643":15261,"51644":15262,"51645":15263,"51646":15264,"51647":15265,"51650":15266,"51651":15267,"51653":15268,"51654":15269,"51657":15270,"51659":15271,"51660":15272,"51661":15273,"51662":15274,"51663":15275,"51666":15276,"51668":15277,"51671":15278,"51672":15279,"51675":15280,"51678":15281,"51679":15282,"51681":15283,"51683":15284,"51685":15285,"51686":15286,"51688":15287,"51689":15288,"51690":15289,"51691":15290,"51694":15291,"51698":15292,"51699":15293,"51700":15294,"51701":15295,"51702":15296,"51703":15297,"51706":15298,"51707":15299,"51709":15300,"51710":15301,"51711":15302,"51713":15303,"51714":15304,"51715":15305,"51716":15306,"51717":15307,"51718":15308,"51719":15309,"51722":15310,"51726":15311,"51727":15312,"51728":15313,"51729":15314,"51730":15315,"51731":15316,"51733":15317,"51734":15318,"51735":15319,"51737":15320,"51738":15321,"51739":15322,"51740":15323,"51741":15324,"51742":15325,"51743":15326,"51744":15327,"51745":15328,"51746":15329,"51747":15330,"51748":15331,"51749":15332,"51750":15333,"51751":15334,"51752":15335,"51754":15336,"51755":15337,"51756":15338,"51757":15339,"51758":15340,"51759":15341,"51760":15342,"51761":15343,"51762":15344,"51763":15345,"51764":15346,"51765":15347,"51766":15348,"51767":15349,"51768":15350,"51769":15351,"51770":15352,"51771":15353,"51772":15354,"51773":15355,"51774":15356,"51775":15357,"51776":15358,"51777":15359,"51778":15360,"51779":15361,"51780":15362,"51781":15363,"51782":15364,"51783":15365,"51784":15366,"51785":15367,"51786":15368,"51787":15369,"51790":15370,"51791":15371,"51793":15372,"51794":15373,"51795":15374,"51797":15375,"51798":15376,"51799":15377,"51800":15378,"51801":15379,"51802":15380,"51803":15381,"51806":15382,"51810":15383,"51811":15384,"51812":15385,"51813":15386,"51814":15387,"51815":15388,"51817":15389,"51818":15390,"51819":15391,"51820":15392,"51821":15393,"51822":15394,"51823":15395,"51824":15396,"51825":15397,"51826":15398,"51827":15399,"51828":15400,"51829":15401,"51830":15402,"51831":15403,"51832":15404,"51833":15405,"51834":15406,"51835":15407,"51836":15408,"51838":15409,"51839":15410,"51840":15411,"51841":15412,"51842":15413,"51843":15414,"51845":15415,"51846":15416,"51847":15417,"51848":15418,"51849":15419,"51850":15420,"51851":15421,"51852":15422,"51853":15423,"51854":15424,"51855":15425,"51856":15426,"51857":15427,"51858":15428,"51859":15429,"51860":15430,"51861":15431,"51862":15432,"51863":15433,"51865":15434,"51866":15435,"51867":15436,"51868":15437,"51869":15438,"51870":15439,"51871":15440,"51872":15441,"51873":15442,"51874":15443,"51875":15444,"51876":15445,"51877":15446,"51878":15447,"51879":15448,"51880":15449,"51881":15450,"51882":15451,"51883":15452,"51884":15453,"51885":15454,"51886":15455,"51887":15456,"51888":15457,"51889":15458,"51890":15459,"51891":15460,"51892":15461,"51893":15462,"51894":15463,"51895":15464,"51896":15465,"51897":15466,"51898":15467,"51899":15468,"51902":15469,"51903":15470,"51905":15471,"51906":15472,"51907":15473,"51909":15474,"51910":15475,"51911":15476,"51912":15477,"51913":15478,"51914":15479,"51915":15480,"51918":15481,"51920":15482,"51922":15483,"51924":15484,"51925":15485,"51926":15486,"51927":15487,"51930":15488,"51931":15489,"51932":15490,"51933":15491,"51934":15492,"51935":15493,"51937":15494,"51938":15495,"51939":15496,"51940":15497,"51941":15498,"51942":15499,"51943":15500,"51944":15501,"51945":15502,"51946":15503,"51947":15504,"51949":15505,"51950":15506,"51951":15507,"51952":15508,"51953":15509,"51954":15510,"51955":15511,"51957":15512,"51958":15513,"51959":15514,"51960":15515,"51961":15516,"51962":15517,"51963":15518,"51964":15519,"51965":15520,"51966":15521,"51967":15522,"51968":15523,"51969":15524,"51970":15525,"51971":15526,"51972":15527,"51973":15528,"51974":15529,"51975":15530,"51977":15531,"51978":15532,"51979":15533,"51980":15534,"51981":15535,"51982":15536,"51983":15537,"51985":15538,"51986":15539,"51987":15540,"51989":15541,"51990":15542,"51991":15543,"51993":15544,"51994":15545,"51995":15546,"51996":15547,"51997":15548,"51998":15549,"51999":15550,"52002":15551,"52003":15552,"52004":15553,"52005":15554,"52006":15555,"52007":15556,"52008":15557,"52009":15558,"52010":15559,"52011":15560,"52012":15561,"52013":15562,"52014":15563,"52015":15564,"52016":15565,"52017":15566,"52018":15567,"52019":15568,"52020":15569,"52021":15570,"52022":15571,"52023":15572,"52024":15573,"52025":15574,"52026":15575,"52027":15576,"52028":15577,"52029":15578,"52030":15579,"52031":15580,"52032":15581,"52034":15582,"52035":15583,"52036":15584,"52037":15585,"52038":15586,"52039":15587,"52042":15588,"52043":15589,"52045":15590,"52046":15591,"52047":15592,"52049":15593,"52050":15594,"52051":15595,"52052":15596,"52053":15597,"52054":15598,"52055":15599,"52058":15600,"52059":15601,"52060":15602,"52062":15603,"52063":15604,"52064":15605,"52065":15606,"52066":15607,"52067":15608,"52069":15609,"52070":15610,"52071":15611,"52072":15612,"52073":15613,"52074":15614,"52075":15615,"52076":15616,"52077":15617,"52078":15618,"52079":15619,"52080":15620,"52081":15621,"52082":15622,"52083":15623,"52084":15624,"52085":15625,"52086":15626,"52087":15627,"52090":15628,"52091":15629,"52092":15630,"52093":15631,"52094":15632,"52095":15633,"52096":15634,"52097":15635,"52098":15636,"52099":15637,"52100":15638,"52101":15639,"52102":15640,"52103":15641,"52104":15642,"52105":15643,"52106":15644,"52107":15645,"52108":15646,"52109":15647,"52110":15648,"52111":15649,"52112":15650,"52113":15651,"52114":15652,"52115":15653,"52116":15654,"52117":15655,"52118":15656,"52119":15657,"52120":15658,"52121":15659,"52122":15660,"52123":15661,"52125":15662,"52126":15663,"52127":15664,"52128":15665,"52129":15666,"52130":15667,"52131":15668,"52132":15669,"52133":15670,"52134":15671,"52135":15672,"52136":15673,"52137":15674,"52138":15675,"52139":15676,"52140":15677,"52141":15678,"52142":15679,"52143":15680,"52144":15681,"52145":15682,"52146":15683,"52147":15684,"52148":15685,"52149":15686,"52150":15687,"52151":15688,"52153":15689,"52154":15690,"52155":15691,"52156":15692,"52157":15693,"52158":15694,"52159":15695,"52160":15696,"52161":15697,"52162":15698,"52163":15699,"52164":15700,"52165":15701,"52166":15702,"52167":15703,"52168":15704,"52169":15705,"52170":15706,"52171":15707,"52172":15708,"52173":15709,"52174":15710,"52175":15711,"52176":15712,"52177":15713,"52178":15714,"52179":15715,"52181":15716,"52182":15717,"52183":15718,"52184":15719,"52185":15720,"52186":15721,"52187":15722,"52188":15723,"52189":15724,"52190":15725,"52191":15726,"52192":15727,"52193":15728,"52194":15729,"52195":15730,"52197":15731,"52198":15732,"52200":15733,"52202":15734,"52203":15735,"52204":15736,"52205":15737,"52206":15738,"52207":15739,"52208":15740,"52209":15741,"52210":15742,"52211":15743,"52212":15744,"52213":15745,"52214":15746,"52215":15747,"52216":15748,"52217":15749,"52218":15750,"52219":15751,"52220":15752,"52221":15753,"52222":15754,"52223":15755,"52224":15756,"52225":15757,"52226":15758,"52227":15759,"52228":15760,"52229":15761,"52230":15762,"52231":15763,"52232":15764,"52233":15765,"52234":15766,"52235":15767,"52238":15768,"52239":15769,"52241":15770,"52242":15771,"52243":15772,"52245":15773,"52246":15774,"52247":15775,"52248":15776,"52249":15777,"52250":15778,"52251":15779,"52254":15780,"52255":15781,"52256":15782,"52259":15783,"52260":15784,"52261":15785,"52262":15786,"52266":15787,"52267":15788,"52269":15789,"52271":15790,"52273":15791,"52274":15792,"52275":15793,"52276":15794,"52277":15795,"52278":15796,"52279":15797,"52282":15798,"52287":15799,"52288":15800,"52289":15801,"52290":15802,"52291":15803,"52294":15804,"52295":15805,"52297":15806,"52298":15807,"52299":15808,"52301":15809,"52302":15810,"52303":15811,"52304":15812,"52305":15813,"52306":15814,"52307":15815,"52310":15816,"52314":15817,"52315":15818,"52316":15819,"52317":15820,"52318":15821,"52319":15822,"52321":15823,"52322":15824,"52323":15825,"52325":15826,"52327":15827,"52329":15828,"52330":15829,"52331":15830,"52332":15831,"52333":15832,"52334":15833,"52335":15834,"52337":15835,"52338":15836,"52339":15837,"52340":15838,"52342":15839,"52343":15840,"52344":15841,"52345":15842,"52346":15843,"52347":15844,"52348":15845,"52349":15846,"52350":15847,"52351":15848,"52352":15849,"52353":15850,"52354":15851,"52355":15852,"52356":15853,"52357":15854,"52358":15855,"52359":15856,"52360":15857,"52361":15858,"52362":15859,"52363":15860,"52364":15861,"52365":15862,"52366":15863,"52367":15864,"52368":15865,"52369":15866,"52370":15867,"52371":15868,"52372":15869,"52373":15870,"52374":15871,"52375":15872,"52378":15873,"52379":15874,"52381":15875,"52382":15876,"52383":15877,"52385":15878,"52386":15879,"52387":15880,"52388":15881,"52389":15882,"52390":15883,"52391":15884,"52394":15885,"52398":15886,"52399":15887,"52400":15888,"52401":15889,"52402":15890,"52403":15891,"52406":15892,"52407":15893,"52409":15894,"52410":15895,"52411":15896,"52413":15897,"52414":15898,"52415":15899,"52416":15900,"52417":15901,"52418":15902,"52419":15903,"52422":15904,"52424":15905,"52426":15906,"52427":15907,"52428":15908,"52429":15909,"52430":15910,"52431":15911,"52433":15912,"52434":15913,"52435":15914,"52437":15915,"52438":15916,"52439":15917,"52440":15918,"52441":15919,"52442":15920,"52443":15921,"52444":15922,"52445":15923,"52446":15924,"52447":15925,"52448":15926,"52449":15927,"52450":15928,"52451":15929,"52453":15930,"52454":15931,"52455":15932,"52456":15933,"52457":15934,"52458":15935,"52459":15936,"52461":15937,"52462":15938,"52463":15939,"52465":15940,"52466":15941,"52467":15942,"52468":15943,"52469":15944,"52470":15945,"52471":15946,"52472":15947,"52473":15948,"52474":15949,"52475":15950,"52476":15951,"52477":15952,"52478":15953,"52479":15954,"52480":15955,"52482":15956,"52483":15957,"52484":15958,"52485":15959,"52486":15960,"52487":15961,"52490":15962,"52491":15963,"52493":15964,"52494":15965,"52495":15966,"52497":15967,"52498":15968,"52499":15969,"52500":15970,"52501":15971,"52502":15972,"52503":15973,"52506":15974,"52508":15975,"52510":15976,"52511":15977,"52512":15978,"52513":15979,"52514":15980,"52515":15981,"52517":15982,"52518":15983,"52519":15984,"52521":15985,"52522":15986,"52523":15987,"52525":15988,"52526":15989,"52527":15990,"52528":15991,"52529":15992,"52530":15993,"52531":15994,"52532":15995,"52533":15996,"52534":15997,"52535":15998,"52536":15999,"52538":16000,"52539":16001,"52540":16002,"52541":16003,"52542":16004,"52543":16005,"52544":16006,"52545":16007,"52546":16008,"52547":16009,"52548":16010,"52549":16011,"52550":16012,"52551":16013,"52552":16014,"52553":16015,"52554":16016,"52555":16017,"52556":16018,"52557":16019,"52558":16020,"52559":16021,"52560":16022,"52561":16023,"52562":16024,"52563":16025,"52564":16026,"52565":16027,"52566":16028,"52567":16029,"52568":16030,"52569":16031,"52570":16032,"52571":16033,"52573":16034,"52574":16035,"52575":16036,"52577":16037,"52578":16038,"52579":16039,"52581":16040,"52582":16041,"52583":16042,"52584":16043,"52585":16044,"52586":16045,"52587":16046,"52590":16047,"52592":16048,"52594":16049,"52595":16050,"52596":16051,"52597":16052,"52598":16053,"52599":16054,"52601":16055,"52602":16056,"52603":16057,"52604":16058,"52605":16059,"52606":16060,"52607":16061,"52608":16062,"52609":16063,"52610":16064,"52611":16065,"52612":16066,"52613":16067,"52614":16068,"52615":16069,"52617":16070,"52618":16071,"52619":16072,"52620":16073,"52621":16074,"52622":16075,"52623":16076,"52624":16077,"52625":16078,"52626":16079,"52627":16080,"52630":16081,"52631":16082,"52633":16083,"52634":16084,"52635":16085,"52637":16086,"52638":16087,"52639":16088,"52640":16089,"52641":16090,"52642":16091,"52643":16092,"52646":16093,"52648":16094,"52650":16095,"52651":16096,"52652":16097,"52653":16098,"52654":16099,"52655":16100,"52657":16101,"52658":16102,"52659":16103,"52660":16104,"52661":16105,"52662":16106,"52663":16107,"52664":16108,"52665":16109,"52666":16110,"52667":16111,"52668":16112,"52669":16113,"52670":16114,"52671":16115,"52672":16116,"52673":16117,"52674":16118,"52675":16119,"52677":16120,"52678":16121,"52679":16122,"52680":16123,"52681":16124,"52682":16125,"52683":16126,"52685":16127,"52686":16128,"52687":16129,"52689":16130,"52690":16131,"52691":16132,"52692":16133,"52693":16134,"52694":16135,"52695":16136,"52696":16137,"52697":16138,"52698":16139,"52699":16140,"52700":16141,"52701":16142,"52702":16143,"52703":16144,"52704":16145,"52705":16146,"52706":16147,"52707":16148,"52708":16149,"52709":16150,"52710":16151,"52711":16152,"52713":16153,"52714":16154,"52715":16155,"52717":16156,"52718":16157,"52719":16158,"52721":16159,"52722":16160,"52723":16161,"52724":16162,"52725":16163,"52726":16164,"52727":16165,"52730":16166,"52732":16167,"52734":16168,"52735":16169,"52736":16170,"52737":16171,"52738":16172,"52739":16173,"52741":16174,"52742":16175,"52743":16176,"52745":16177,"52746":16178,"52747":16179,"52749":16180,"52750":16181,"52751":16182,"52752":16183,"52753":16184,"52754":16185,"52755":16186,"52757":16187,"52758":16188,"52759":16189,"52760":16190,"52762":16191,"52763":16192,"52764":16193,"52765":16194,"52766":16195,"52767":16196,"52770":16197,"52771":16198,"52773":16199,"52774":16200,"52775":16201,"52777":16202,"52778":16203,"52779":16204,"52780":16205,"52781":16206,"52782":16207,"52783":16208,"52786":16209,"52788":16210,"52790":16211,"52791":16212,"52792":16213,"52793":16214,"52794":16215,"52795":16216,"52796":16217,"52797":16218,"52798":16219,"52799":16220,"52800":16221,"52801":16222,"52802":16223,"52803":16224,"52804":16225,"52805":16226,"52806":16227,"52807":16228,"52808":16229,"52809":16230,"52810":16231,"52811":16232,"52812":16233,"52813":16234,"52814":16235,"52815":16236,"52816":16237,"52817":16238,"52818":16239,"52819":16240,"52820":16241,"52821":16242,"52822":16243,"52823":16244,"52826":16245,"52827":16246,"52829":16247,"52830":16248,"52834":16249,"52835":16250,"52836":16251,"52837":16252,"52838":16253,"52839":16254,"52842":16255,"52844":16256,"52846":16257,"52847":16258,"52848":16259,"52849":16260,"52850":16261,"52851":16262,"52854":16263,"52855":16264,"52857":16265,"52858":16266,"52859":16267,"52861":16268,"52862":16269,"52863":16270,"52864":16271,"52865":16272,"52866":16273,"52867":16274,"52870":16275,"52872":16276,"52874":16277,"52875":16278,"52876":16279,"52877":16280,"52878":16281,"52879":16282,"52882":16283,"52883":16284,"52885":16285,"52886":16286,"52887":16287,"52889":16288,"52890":16289,"52891":16290,"52892":16291,"52893":16292,"52894":16293,"52895":16294,"52898":16295,"52902":16296,"52903":16297,"52904":16298,"52905":16299,"52906":16300,"52907":16301,"52910":16302,"52911":16303,"52912":16304,"52913":16305,"52914":16306,"52915":16307,"52916":16308,"52917":16309,"52918":16310,"52919":16311,"52920":16312,"52921":16313,"52922":16314,"52923":16315,"52924":16316,"52925":16317,"52926":16318,"52927":16319,"52928":16320,"52930":16321,"52931":16322,"52932":16323,"52933":16324,"52934":16325,"52935":16326,"52936":16327,"52937":16328,"52938":16329,"52939":16330,"52940":16331,"52941":16332,"52942":16333,"52943":16334,"52944":16335,"52945":16336,"52946":16337,"52947":16338,"52948":16339,"52949":16340,"52950":16341,"52951":16342,"52952":16343,"52953":16344,"52954":16345,"52955":16346,"52956":16347,"52957":16348,"52958":16349,"52959":16350,"52960":16351,"52961":16352,"52962":16353,"52963":16354,"52966":16355,"52967":16356,"52969":16357,"52970":16358,"52973":16359,"52974":16360,"52975":16361,"52976":16362,"52977":16363,"52978":16364,"52979":16365,"52982":16366,"52986":16367,"52987":16368,"52988":16369,"52989":16370,"52990":16371,"52991":16372,"52994":16373,"52995":16374,"52997":16375,"52998":16376,"52999":16377,"53001":16378,"53002":16379,"53003":16380,"53004":16381,"53005":16382,"53006":16383,"53007":16384,"53010":16385,"53012":16386,"53014":16387,"53015":16388,"53016":16389,"53017":16390,"53018":16391,"53019":16392,"53021":16393,"53022":16394,"53023":16395,"53025":16396,"53026":16397,"53027":16398,"53029":16399,"53030":16400,"53031":16401,"53032":16402,"53033":16403,"53034":16404,"53035":16405,"53038":16406,"53042":16407,"53043":16408,"53044":16409,"53045":16410,"53046":16411,"53047":16412,"53049":16413,"53050":16414,"53051":16415,"53052":16416,"53053":16417,"53054":16418,"53055":16419,"53056":16420,"53057":16421,"53058":16422,"53059":16423,"53060":16424,"53061":16425,"53062":16426,"53063":16427,"53064":16428,"53065":16429,"53066":16430,"53067":16431,"53068":16432,"53069":16433,"53070":16434,"53071":16435,"53072":16436,"53073":16437,"53074":16438,"53075":16439,"53078":16440,"53079":16441,"53081":16442,"53082":16443,"53083":16444,"53085":16445,"53086":16446,"53087":16447,"53088":16448,"53089":16449,"53090":16450,"53091":16451,"53094":16452,"53096":16453,"53098":16454,"53099":16455,"53100":16456,"53101":16457,"53102":16458,"53103":16459,"53106":16460,"53107":16461,"53109":16462,"53110":16463,"53111":16464,"53113":16465,"53114":16466,"53115":16467,"53116":16468,"53117":16469,"53118":16470,"53119":16471,"53121":16472,"53122":16473,"53123":16474,"53124":16475,"53126":16476,"53127":16477,"53128":16478,"53129":16479,"53130":16480,"53131":16481,"53133":16482,"53134":16483,"53135":16484,"53136":16485,"53137":16486,"53138":16487,"53139":16488,"53140":16489,"53141":16490,"53142":16491,"53143":16492,"53144":16493,"53145":16494,"53146":16495,"53147":16496,"53148":16497,"53149":16498,"53150":16499,"53151":16500,"53152":16501,"53154":16502,"53155":16503,"53156":16504,"53157":16505,"53158":16506,"53159":16507,"53161":16508,"53162":16509,"53163":16510,"53164":16511,"53165":16512,"53166":16513,"53167":16514,"53169":16515,"53170":16516,"53171":16517,"53172":16518,"53173":16519,"53174":16520,"53175":16521,"53176":16522,"53177":16523,"53178":16524,"53179":16525,"53180":16526,"53181":16527,"53182":16528,"53183":16529,"53184":16530,"53185":16531,"53186":16532,"53187":16533,"53189":16534,"53190":16535,"53191":16536,"53192":16537,"53193":16538,"53194":16539,"53195":16540,"53196":16541,"53197":16542,"53198":16543,"53199":16544,"53200":16545,"53201":16546,"53202":16547,"53203":16548,"53204":16549,"53205":16550,"53206":16551,"53207":16552,"53208":16553,"53209":16554,"53210":16555,"53211":16556,"53212":16557,"53213":16558,"53214":16559,"53215":16560,"53218":16561,"53219":16562,"53221":16563,"53222":16564,"53223":16565,"53225":16566,"53226":16567,"53227":16568,"53228":16569,"53229":16570,"53230":16571,"53231":16572,"53234":16573,"53236":16574,"53238":16575,"53239":16576,"53240":16577,"53241":16578,"53242":16579,"53243":16580,"53245":16581,"53246":16582,"53247":16583,"53249":16584,"53250":16585,"53251":16586,"53253":16587,"53254":16588,"53255":16589,"53256":16590,"53257":16591,"53258":16592,"53259":16593,"53260":16594,"53261":16595,"53262":16596,"53263":16597,"53264":16598,"53266":16599,"53267":16600,"53268":16601,"53269":16602,"53270":16603,"53271":16604,"53273":16605,"53274":16606,"53275":16607,"53276":16608,"53277":16609,"53278":16610,"53279":16611,"53280":16612,"53281":16613,"53282":16614,"53283":16615,"53284":16616,"53285":16617,"53286":16618,"53287":16619,"53288":16620,"53289":16621,"53290":16622,"53291":16623,"53292":16624,"53294":16625,"53295":16626,"53296":16627,"53297":16628,"53298":16629,"53299":16630,"53302":16631,"53303":16632,"53305":16633,"53306":16634,"53307":16635,"53309":16636,"53310":16637,"53311":16638,"53312":16639,"53313":16640,"53314":16641,"53315":16642,"53318":16643,"53320":16644,"53322":16645,"53323":16646,"53324":16647,"53325":16648,"53326":16649,"53327":16650,"53329":16651,"53330":16652,"53331":16653,"53333":16654,"53334":16655,"53335":16656,"53337":16657,"53338":16658,"53339":16659,"53340":16660,"53341":16661,"53342":16662,"53343":16663,"53345":16664,"53346":16665,"53347":16666,"53348":16667,"53349":16668,"53350":16669,"53351":16670,"53352":16671,"53353":16672,"53354":16673,"53355":16674,"53358":16675,"53359":16676,"53361":16677,"53362":16678,"53363":16679,"53365":16680,"53366":16681,"53367":16682,"53368":16683,"53369":16684,"53370":16685,"53371":16686,"53374":16687,"53375":16688,"53376":16689,"53378":16690,"53379":16691,"53380":16692,"53381":16693,"53382":16694,"53383":16695,"53384":16696,"53385":16697,"53386":16698,"53387":16699,"53388":16700,"53389":16701,"53390":16702,"53391":16703,"53392":16704,"53393":16705,"53394":16706,"53395":16707,"53396":16708,"53397":16709,"53398":16710,"53399":16711,"53400":16712,"53401":16713,"53402":16714,"53403":16715,"53404":16716,"53405":16717,"53406":16718,"53407":16719,"53408":16720,"53409":16721,"53410":16722,"53411":16723,"53414":16724,"53415":16725,"53417":16726,"53418":16727,"53419":16728,"53421":16729,"53422":16730,"53423":16731,"53424":16732,"53425":16733,"53426":16734,"53427":16735,"53430":16736,"53432":16737,"53434":16738,"53435":16739,"53436":16740,"53437":16741,"53438":16742,"53439":16743,"53442":16744,"53443":16745,"53445":16746,"53446":16747,"53447":16748,"53450":16749,"53451":16750,"53452":16751,"53453":16752,"53454":16753,"53455":16754,"53458":16755,"53462":16756,"53463":16757,"53464":16758,"53465":16759,"53466":16760,"53467":16761,"53470":16762,"53471":16763,"53473":16764,"53474":16765,"53475":16766,"53477":16767,"53478":16768,"53479":16769,"53480":16770,"53481":16771,"53482":16772,"53483":16773,"53486":16774,"53490":16775,"53491":16776,"53492":16777,"53493":16778,"53494":16779,"53495":16780,"53497":16781,"53498":16782,"53499":16783,"53500":16784,"53501":16785,"53502":16786,"53503":16787,"53504":16788,"53505":16789,"53506":16790,"53507":16791,"53508":16792,"53509":16793,"53510":16794,"53511":16795,"53512":16796,"53513":16797,"53514":16798,"53515":16799,"53516":16800,"53518":16801,"53519":16802,"53520":16803,"53521":16804,"53522":16805,"53523":16806,"53524":16807,"53525":16808,"53526":16809,"53527":16810,"53528":16811,"53529":16812,"53530":16813,"53531":16814,"53532":16815,"53533":16816,"53534":16817,"53535":16818,"53536":16819,"53537":16820,"53538":16821,"53539":16822,"53540":16823,"53541":16824,"53542":16825,"53543":16826,"53544":16827,"53545":16828,"53546":16829,"53547":16830,"53548":16831,"53549":16832,"53550":16833,"53551":16834,"53554":16835,"53555":16836,"53557":16837,"53558":16838,"53559":16839,"53561":16840,"53563":16841,"53564":16842,"53565":16843,"53566":16844,"53567":16845,"53570":16846,"53574":16847,"53575":16848,"53576":16849,"53577":16850,"53578":16851,"53579":16852,"53582":16853,"53583":16854,"53585":16855,"53586":16856,"53587":16857,"53589":16858,"53590":16859,"53591":16860,"53592":16861,"53593":16862,"53594":16863,"53595":16864,"53598":16865,"53600":16866,"53602":16867,"53603":16868,"53604":16869,"53605":16870,"53606":16871,"53607":16872,"53609":16873,"53610":16874,"53611":16875,"53613":16876,"53614":16877,"53615":16878,"53616":16879,"53617":16880,"53618":16881,"53619":16882,"53620":16883,"53621":16884,"53622":16885,"53623":16886,"53624":16887,"53625":16888,"53626":16889,"53627":16890,"53629":16891,"53630":16892,"53631":16893,"53632":16894,"53633":16895,"53634":16896,"53635":16897,"53637":16898,"53638":16899,"53639":16900,"53641":16901,"53642":16902,"53643":16903,"53644":16904,"53645":16905,"53646":16906,"53647":16907,"53648":16908,"53649":16909,"53650":16910,"53651":16911,"53652":16912,"53653":16913,"53654":16914,"53655":16915,"53656":16916,"53657":16917,"53658":16918,"53659":16919,"53660":16920,"53661":16921,"53662":16922,"53663":16923,"53666":16924,"53667":16925,"53669":16926,"53670":16927,"53671":16928,"53673":16929,"53674":16930,"53675":16931,"53676":16932,"53677":16933,"53678":16934,"53679":16935,"53682":16936,"53684":16937,"53686":16938,"53687":16939,"53688":16940,"53689":16941,"53691":16942,"53693":16943,"53694":16944,"53695":16945,"53697":16946,"53698":16947,"53699":16948,"53700":16949,"53701":16950,"53702":16951,"53703":16952,"53704":16953,"53705":16954,"53706":16955,"53707":16956,"53708":16957,"53709":16958,"53710":16959,"53711":16960,"53712":16961,"53713":16962,"53714":16963,"53715":16964,"53716":16965,"53717":16966,"53718":16967,"53719":16968,"53721":16969,"53722":16970,"53723":16971,"53724":16972,"53725":16973,"53726":16974,"53727":16975,"53728":16976,"53729":16977,"53730":16978,"53731":16979,"53732":16980,"53733":16981,"53734":16982,"53735":16983,"53736":16984,"53737":16985,"53738":16986,"53739":16987,"53740":16988,"53741":16989,"53742":16990,"53743":16991,"53744":16992,"53745":16993,"53746":16994,"53747":16995,"53749":16996,"53750":16997,"53751":16998,"53753":16999,"53754":17000,"53755":17001,"53756":17002,"53757":17003,"53758":17004,"53759":17005,"53760":17006,"53761":17007,"53762":17008,"53763":17009,"53764":17010,"53765":17011,"53766":17012,"53768":17013,"53770":17014,"53771":17015,"53772":17016,"53773":17017,"53774":17018,"53775":17019,"53777":17020,"53778":17021,"53779":17022,"53780":17023,"53781":17024,"53782":17025,"53783":17026,"53784":17027,"53785":17028,"53786":17029,"53787":17030,"53788":17031,"53789":17032,"53790":17033,"53791":17034,"53792":17035,"53793":17036,"53794":17037,"53795":17038,"53796":17039,"53797":17040,"53798":17041,"53799":17042,"53800":17043,"53801":17044,"53802":17045,"53803":17046,"53806":17047,"53807":17048,"53809":17049,"53810":17050,"53811":17051,"53813":17052,"53814":17053,"53815":17054,"53816":17055,"53817":17056,"53818":17057,"53819":17058,"53822":17059,"53824":17060,"53826":17061,"53827":17062,"53828":17063,"53829":17064,"53830":17065,"53831":17066,"53833":17067,"53834":17068,"53835":17069,"53836":17070,"53837":17071,"53838":17072,"53839":17073,"53840":17074,"53841":17075,"53842":17076,"53843":17077,"53844":17078,"53845":17079,"53846":17080,"53847":17081,"53848":17082,"53849":17083,"53850":17084,"53851":17085,"53853":17086,"53854":17087,"53855":17088,"53856":17089,"53857":17090,"53858":17091,"53859":17092,"53861":17093,"53862":17094,"53863":17095,"53864":17096,"53865":17097,"53866":17098,"53867":17099,"53868":17100,"53869":17101,"53870":17102,"53871":17103,"53872":17104,"53873":17105,"53874":17106,"53875":17107,"53876":17108,"53877":17109,"53878":17110,"53879":17111,"53880":17112,"53881":17113,"53882":17114,"53883":17115,"53884":17116,"53885":17117,"53886":17118,"53887":17119,"53890":17120,"53891":17121,"53893":17122,"53894":17123,"53895":17124,"53897":17125,"53898":17126,"53899":17127,"53900":17128,"53901":17129,"53902":17130,"53903":17131,"53906":17132,"53907":17133,"53908":17134,"53910":17135,"53911":17136,"53912":17137,"53913":17138,"53914":17139,"53915":17140,"53917":17141,"53918":17142,"53919":17143,"53921":17144,"53922":17145,"53923":17146,"53925":17147,"53926":17148,"53927":17149,"53928":17150,"53929":17151,"53930":17152,"53931":17153,"53933":17154,"53934":17155,"53935":17156,"53936":17157,"53938":17158,"53939":17159,"53940":17160,"53941":17161,"53942":17162,"53943":17163,"53946":17164,"53947":17165,"53949":17166,"53950":17167,"53953":17168,"53955":17169,"53956":17170,"53957":17171,"53958":17172,"53959":17173,"53962":17174,"53964":17175,"53965":17176,"53966":17177,"53967":17178,"53968":17179,"53969":17180,"53970":17181,"53971":17182,"53973":17183,"53974":17184,"53975":17185,"53977":17186,"53978":17187,"53979":17188,"53981":17189,"53982":17190,"53983":17191,"53984":17192,"53985":17193,"53986":17194,"53987":17195,"53990":17196,"53991":17197,"53992":17198,"53993":17199,"53994":17200,"53995":17201,"53996":17202,"53997":17203,"53998":17204,"53999":17205,"54002":17206,"54003":17207,"54005":17208,"54006":17209,"54007":17210,"54009":17211,"54010":17212,"54011":17213,"54012":17214,"54013":17215,"54014":17216,"54015":17217,"54018":17218,"54020":17219,"54022":17220,"54023":17221,"54024":17222,"54025":17223,"54026":17224,"54027":17225,"54031":17226,"54033":17227,"54034":17228,"54035":17229,"54037":17230,"54039":17231,"54040":17232,"54041":17233,"54042":17234,"54043":17235,"54046":17236,"54050":17237,"54051":17238,"54052":17239,"54054":17240,"54055":17241,"54058":17242,"54059":17243,"54061":17244,"54062":17245,"54063":17246,"54065":17247,"54066":17248,"54067":17249,"54068":17250,"54069":17251,"54070":17252,"54071":17253,"54074":17254,"54078":17255,"54079":17256,"54080":17257,"54081":17258,"54082":17259,"54083":17260,"54086":17261,"54087":17262,"54088":17263,"54089":17264,"54090":17265,"54091":17266,"54092":17267,"54093":17268,"54094":17269,"54095":17270,"54096":17271,"54097":17272,"54098":17273,"54099":17274,"54100":17275,"54101":17276,"54102":17277,"54103":17278,"54104":17279,"54105":17280,"54106":17281,"54107":17282,"54108":17283,"54109":17284,"54110":17285,"54111":17286,"54112":17287,"54113":17288,"54114":17289,"54115":17290,"54116":17291,"54117":17292,"54118":17293,"54119":17294,"54120":17295,"54121":17296,"54122":17297,"54123":17298,"54124":17299,"54125":17300,"54126":17301,"54127":17302,"54128":17303,"54129":17304,"54130":17305,"54131":17306,"54132":17307,"54133":17308,"54134":17309,"54135":17310,"54136":17311,"54137":17312,"54138":17313,"54139":17314,"54142":17315,"54143":17316,"54145":17317,"54146":17318,"54147":17319,"54149":17320,"54150":17321,"54151":17322,"54152":17323,"54153":17324,"54154":17325,"54155":17326,"54158":17327,"54162":17328,"54163":17329,"54164":17330,"54165":17331,"54166":17332,"54167":17333,"54170":17334,"54171":17335,"54173":17336,"54174":17337,"54175":17338,"54177":17339,"54178":17340,"54179":17341,"54180":17342,"54181":17343,"54182":17344,"54183":17345,"54186":17346,"54188":17347,"54190":17348,"54191":17349,"54192":17350,"54193":17351,"54194":17352,"54195":17353,"54197":17354,"54198":17355,"54199":17356,"54201":17357,"54202":17358,"54203":17359,"54205":17360,"54206":17361,"54207":17362,"54208":17363,"54209":17364,"54210":17365,"54211":17366,"54214":17367,"54215":17368,"54218":17369,"54219":17370,"54220":17371,"54221":17372,"54222":17373,"54223":17374,"54225":17375,"54226":17376,"54227":17377,"54228":17378,"54229":17379,"54230":17380,"54231":17381,"54233":17382,"54234":17383,"54235":17384,"54236":17385,"54237":17386,"54238":17387,"54239":17388,"54240":17389,"54242":17390,"54244":17391,"54245":17392,"54246":17393,"54247":17394,"54248":17395,"54249":17396,"54250":17397,"54251":17398,"54254":17399,"54255":17400,"54257":17401,"54258":17402,"54259":17403,"54261":17404,"54262":17405,"54263":17406,"54264":17407,"54265":17408,"54266":17409,"54267":17410,"54270":17411,"54272":17412,"54274":17413,"54275":17414,"54276":17415,"54277":17416,"54278":17417,"54279":17418,"54281":17419,"54282":17420,"54283":17421,"54284":17422,"54285":17423,"54286":17424,"54287":17425,"54288":17426,"54289":17427,"54290":17428,"54291":17429,"54292":17430,"54293":17431,"54294":17432,"54295":17433,"54296":17434,"54297":17435,"54298":17436,"54299":17437,"54300":17438,"54302":17439,"54303":17440,"54304":17441,"54305":17442,"54306":17443,"54307":17444,"54308":17445,"54309":17446,"54310":17447,"54311":17448,"54312":17449,"54313":17450,"54314":17451,"54315":17452,"54316":17453,"54317":17454,"54318":17455,"54319":17456,"54320":17457,"54321":17458,"54322":17459,"54323":17460,"54324":17461,"54325":17462,"54326":17463,"54327":17464,"54328":17465,"54329":17466,"54330":17467,"54331":17468,"54332":17469,"54333":17470,"54334":17471,"54335":17472,"54337":17473,"54338":17474,"54339":17475,"54341":17476,"54342":17477,"54343":17478,"54344":17479,"54345":17480,"54346":17481,"54347":17482,"54348":17483,"54349":17484,"54350":17485,"54351":17486,"54352":17487,"54353":17488,"54354":17489,"54355":17490,"54356":17491,"54357":17492,"54358":17493,"54359":17494,"54360":17495,"54361":17496,"54362":17497,"54363":17498,"54365":17499,"54366":17500,"54367":17501,"54369":17502,"54370":17503,"54371":17504,"54373":17505,"54374":17506,"54375":17507,"54376":17508,"54377":17509,"54378":17510,"54379":17511,"54380":17512,"54382":17513,"54384":17514,"54385":17515,"54386":17516,"54387":17517,"54388":17518,"54389":17519,"54390":17520,"54391":17521,"54394":17522,"54395":17523,"54397":17524,"54398":17525,"54401":17526,"54403":17527,"54404":17528,"54405":17529,"54406":17530,"54407":17531,"54410":17532,"54412":17533,"54414":17534,"54415":17535,"54416":17536,"54417":17537,"54418":17538,"54419":17539,"54421":17540,"54422":17541,"54423":17542,"54424":17543,"54425":17544,"54426":17545,"54427":17546,"54428":17547,"54429":17548,"54430":17549,"54431":17550,"54432":17551,"54433":17552,"54434":17553,"54435":17554,"54436":17555,"54437":17556,"54438":17557,"54439":17558,"54440":17559,"54442":17560,"54443":17561,"54444":17562,"54445":17563,"54446":17564,"54447":17565,"54448":17566,"54449":17567,"54450":17568,"54451":17569,"54452":17570,"54453":17571,"54454":17572,"54455":17573,"54456":17574,"54457":17575,"54458":17576,"54459":17577,"54460":17578,"54461":17579,"54462":17580,"54463":17581,"54464":17582,"54465":17583,"54466":17584,"54467":17585,"54468":17586,"54469":17587,"54470":17588,"54471":17589,"54472":17590,"54473":17591,"54474":17592,"54475":17593,"54477":17594,"54478":17595,"54479":17596,"54481":17597,"54482":17598,"54483":17599,"54485":17600,"54486":17601,"54487":17602,"54488":17603,"54489":17604,"54490":17605,"54491":17606,"54493":17607,"54494":17608,"54496":17609,"54497":17610,"54498":17611,"54499":17612,"54500":17613,"54501":17614,"54502":17615,"54503":17616,"54505":17617,"54506":17618,"54507":17619,"54509":17620,"54510":17621,"54511":17622,"54513":17623,"54514":17624,"54515":17625,"54516":17626,"54517":17627,"54518":17628,"54519":17629,"54521":17630,"54522":17631,"54524":17632,"54526":17633,"54527":17634,"54528":17635,"54529":17636,"54530":17637,"54531":17638,"54533":17639,"54534":17640,"54535":17641,"54537":17642,"54538":17643,"54539":17644,"54541":17645,"54542":17646,"54543":17647,"54544":17648,"54545":17649,"54546":17650,"54547":17651,"54550":17652,"54552":17653,"54553":17654,"54554":17655,"54555":17656,"54556":17657,"54557":17658,"54558":17659,"54559":17660,"54560":17661,"54561":17662,"54562":17663,"54563":17664,"54564":17665,"54565":17666,"54566":17667,"54567":17668,"54568":17669,"54569":17670,"54570":17671,"54571":17672,"54572":17673,"54573":17674,"54574":17675,"54575":17676,"54576":17677,"54577":17678,"54578":17679,"54579":17680,"54580":17681,"54581":17682,"54582":17683,"54583":17684,"54584":17685,"54585":17686,"54586":17687,"54587":17688,"54590":17689,"54591":17690,"54593":17691,"54594":17692,"54595":17693,"54597":17694,"54598":17695,"54599":17696,"54600":17697,"54601":17698,"54602":17699,"54603":17700,"54606":17701,"54608":17702,"54610":17703,"54611":17704,"54612":17705,"54613":17706,"54614":17707,"54615":17708,"54618":17709,"54619":17710,"54621":17711,"54622":17712,"54623":17713,"54625":17714,"54626":17715,"54627":17716,"54628":17717,"54630":17718,"54631":17719,"54634":17720,"54636":17721,"54638":17722,"54639":17723,"54640":17724,"54641":17725,"54642":17726,"54643":17727,"54646":17728,"54647":17729,"54649":17730,"54650":17731,"54651":17732,"54653":17733,"54654":17734,"54655":17735,"54656":17736,"54657":17737,"54658":17738,"54659":17739,"54662":17740,"54666":17741,"54667":17742,"54668":17743,"54669":17744,"54670":17745,"54671":17746,"54673":17747,"54674":17748,"54675":17749,"54676":17750,"54677":17751,"54678":17752,"54679":17753,"54680":17754,"54681":17755,"54682":17756,"54683":17757,"54684":17758,"54685":17759,"54686":17760,"54687":17761,"54688":17762,"54689":17763,"54690":17764,"54691":17765,"54692":17766,"54694":17767,"54695":17768,"54696":17769,"54697":17770,"54698":17771,"54699":17772,"54700":17773,"54701":17774,"54702":17775,"54703":17776,"54704":17777,"54705":17778,"54706":17779,"54707":17780,"54708":17781,"54709":17782,"54710":17783,"54711":17784,"54712":17785,"54713":17786,"54714":17787,"54715":17788,"54716":17789,"54717":17790,"54718":17791,"54719":17792,"54720":17793,"54721":17794,"54722":17795,"54723":17796,"54724":17797,"54725":17798,"54726":17799,"54727":17800,"54730":17801,"54731":17802,"54733":17803,"54734":17804,"54735":17805,"54737":17806,"54739":17807,"54740":17808,"54741":17809,"54742":17810,"54743":17811,"54746":17812,"54748":17813,"54750":17814,"54751":17815,"54752":17816,"54753":17817,"54754":17818,"54755":17819,"54758":17820,"54759":17821,"54761":17822,"54762":17823,"54763":17824,"54765":17825,"54766":17826,"54767":17827,"54768":17828,"54769":17829,"54770":17830,"54771":17831,"54774":17832,"54776":17833,"54778":17834,"54779":17835,"54780":17836,"54781":17837,"54782":17838,"54783":17839,"54786":17840,"54787":17841,"54789":17842,"54790":17843,"54791":17844,"54793":17845,"54794":17846,"54795":17847,"54796":17848,"54797":17849,"54798":17850,"54799":17851,"54802":17852,"54806":17853,"54807":17854,"54808":17855,"54809":17856,"54810":17857,"54811":17858,"54813":17859,"54814":17860,"54815":17861,"54817":17862,"54818":17863,"54819":17864,"54821":17865,"54822":17866,"54823":17867,"54824":17868,"54825":17869,"54826":17870,"54827":17871,"54828":17872,"54830":17873,"54831":17874,"54832":17875,"54833":17876,"54834":17877,"54835":17878,"54836":17879,"54837":17880,"54838":17881,"54839":17882,"54842":17883,"54843":17884,"54845":17885,"54846":17886,"54847":17887,"54849":17888,"54850":17889,"54851":17890,"54852":17891,"54854":17892,"54855":17893,"54858":17894,"54860":17895,"54862":17896,"54863":17897,"54864":17898,"54866":17899,"54867":17900,"54870":17901,"54871":17902,"54873":17903,"54874":17904,"54875":17905,"54877":17906,"54878":17907,"54879":17908,"54880":17909,"54881":17910,"54882":17911,"54883":17912,"54884":17913,"54885":17914,"54886":17915,"54888":17916,"54890":17917,"54891":17918,"54892":17919,"54893":17920,"54894":17921,"54895":17922,"54898":17923,"54899":17924,"54901":17925,"54902":17926,"54903":17927,"54904":17928,"54905":17929,"54906":17930,"54907":17931,"54908":17932,"54909":17933,"54910":17934,"54911":17935,"54912":17936,"54913":17937,"54914":17938,"54916":17939,"54918":17940,"54919":17941,"54920":17942,"54921":17943,"54922":17944,"54923":17945,"54926":17946,"54927":17947,"54929":17948,"54930":17949,"54931":17950,"54933":17951,"54934":17952,"54935":17953,"54936":17954,"54937":17955,"54938":17956,"54939":17957,"54940":17958,"54942":17959,"54944":17960,"54946":17961,"54947":17962,"54948":17963,"54949":17964,"54950":17965,"54951":17966,"54953":17967,"54954":17968,"54955":17969,"54957":17970,"54958":17971,"54959":17972,"54961":17973,"54962":17974,"54963":17975,"54964":17976,"54965":17977,"54966":17978,"54967":17979,"54968":17980,"54970":17981,"54972":17982,"54973":17983,"54974":17984,"54975":17985,"54976":17986,"54977":17987,"54978":17988,"54979":17989,"54982":17990,"54983":17991,"54985":17992,"54986":17993,"54987":17994,"54989":17995,"54990":17996,"54991":17997,"54992":17998,"54994":17999,"54995":18000,"54997":18001,"54998":18002,"55000":18003,"55002":18004,"55003":18005,"55004":18006,"55005":18007,"55006":18008,"55007":18009,"55009":18010,"55010":18011,"55011":18012,"55013":18013,"55014":18014,"55015":18015,"55017":18016,"55018":18017,"55019":18018,"55020":18019,"55021":18020,"55022":18021,"55023":18022,"55025":18023,"55026":18024,"55027":18025,"55028":18026,"55030":18027,"55031":18028,"55032":18029,"55033":18030,"55034":18031,"55035":18032,"55038":18033,"55039":18034,"55041":18035,"55042":18036,"55043":18037,"55045":18038,"55046":18039,"55047":18040,"55048":18041,"55049":18042,"55050":18043,"55051":18044,"55052":18045,"55053":18046,"55054":18047,"55055":18048,"55056":18049,"55058":18050,"55059":18051,"55060":18052,"55061":18053,"55062":18054,"55063":18055,"55066":18056,"55067":18057,"55069":18058,"55070":18059,"55071":18060,"55073":18061,"55074":18062,"55075":18063,"55076":18064,"55077":18065,"55078":18066,"55079":18067,"55082":18068,"55084":18069,"55086":18070,"55087":18071,"55088":18072,"55089":18073,"55090":18074,"55091":18075,"55094":18076,"55095":18077,"55097":18078,"55098":18079,"55099":18080,"55101":18081,"55102":18082,"55103":18083,"55104":18084,"55105":18085,"55106":18086,"55107":18087,"55109":18088,"55110":18089,"55112":18090,"55114":18091,"55115":18092,"55116":18093,"55117":18094,"55118":18095,"55119":18096,"55122":18097,"55123":18098,"55125":18099,"55130":18100,"55131":18101,"55132":18102,"55133":18103,"55134":18104,"55135":18105,"55138":18106,"55140":18107,"55142":18108,"55143":18109,"55144":18110,"55146":18111,"55147":18112,"55149":18113,"55150":18114,"55151":18115,"55153":18116,"55154":18117,"55155":18118,"55157":18119,"55158":18120,"55159":18121,"55160":18122,"55161":18123,"55162":18124,"55163":18125,"55166":18126,"55167":18127,"55168":18128,"55170":18129,"55171":18130,"55172":18131,"55173":18132,"55174":18133,"55175":18134,"55178":18135,"55179":18136,"55181":18137,"55182":18138,"55183":18139,"55185":18140,"55186":18141,"55187":18142,"55188":18143,"55189":18144,"55190":18145,"55191":18146,"55194":18147,"55196":18148,"55198":18149,"55199":18150,"55200":18151,"55201":18152,"55202":18153,"55203":18154}}', + // Chinese Simplified + 'CID0CS' => '"enc":"UniGB-UTF16-H","cidinfo":{"Registry":"Adobe","Ordering":"GB1","Supplement":2,"uni2cid":{"32":1,"33":2,"34":3,"35":4,"36":5,"37":6,"38":7,"39":8,"40":9,"41":10,"42":11,"43":12,"44":13,"45":14,"46":15,"47":16,"48":17,"49":18,"50":19,"51":20,"52":21,"53":22,"54":23,"55":24,"56":25,"57":26,"58":27,"59":28,"60":29,"61":30,"62":31,"63":32,"64":33,"65":34,"66":35,"67":36,"68":37,"69":38,"70":39,"71":40,"72":41,"73":42,"74":43,"75":44,"76":45,"77":46,"78":47,"79":48,"80":49,"81":50,"82":51,"83":52,"84":53,"85":54,"86":55,"87":56,"88":57,"89":58,"90":59,"91":60,"92":61,"93":62,"94":63,"95":64,"96":65,"97":66,"98":67,"99":68,"100":69,"101":70,"102":71,"103":72,"104":73,"105":74,"106":75,"107":76,"108":77,"109":78,"110":79,"111":80,"112":81,"113":82,"114":83,"115":84,"116":85,"117":86,"118":87,"119":88,"120":89,"121":90,"122":91,"123":92,"124":93,"125":94,"126":95,"12288":96,"12289":97,"12290":98,"183":99,"12539":99,"713":100,"711":101,"168":102,"12291":103,"12293":104,"8212":105,"65374":106,"8214":107,"8230":108,"8943":108,"8216":109,"8217":110,"8220":111,"8221":112,"12308":113,"12309":114,"12296":115,"12297":116,"12298":117,"12299":118,"12300":119,"12301":120,"12302":121,"12303":122,"12310":123,"12311":124,"12304":125,"12305":126,"177":127,"215":128,"247":129,"8758":130,"8743":131,"8744":132,"8721":133,"8719":134,"8746":135,"8745":136,"8712":137,"8759":138,"8730":139,"8869":140,"8741":141,"8736":142,"8978":143,"8857":144,"8747":145,"8750":146,"8801":147,"8780":148,"8776":149,"8765":150,"8733":151,"8800":152,"8814":153,"8815":154,"8804":155,"8805":156,"8734":157,"8757":158,"8756":159,"9794":160,"9792":161,"176":162,"8242":163,"8243":164,"8451":165,"65284":166,"164":167,"65504":168,"65505":169,"8240":170,"167":171,"8470":172,"9734":173,"9733":174,"9675":175,"9679":176,"9678":177,"9671":178,"9670":179,"9633":180,"9632":181,"9651":182,"9650":183,"8251":184,"8594":185,"8592":186,"8593":187,"8595":188,"12307":189,"9352":190,"9353":191,"9354":192,"9355":193,"9356":194,"9357":195,"9358":196,"9359":197,"9360":198,"9361":199,"9362":200,"9363":201,"9364":202,"9365":203,"9366":204,"9367":205,"9368":206,"9369":207,"9370":208,"9371":209,"9332":210,"9333":211,"9334":212,"9335":213,"9336":214,"9337":215,"9338":216,"9339":217,"9340":218,"9341":219,"9342":220,"9343":221,"9344":222,"9345":223,"9346":224,"9347":225,"9348":226,"9349":227,"9350":228,"9351":229,"9312":230,"9313":231,"9314":232,"9315":233,"9316":234,"9317":235,"9318":236,"9319":237,"9320":238,"9321":239,"12832":240,"12833":241,"12834":242,"12835":243,"12836":244,"12837":245,"12838":246,"12839":247,"12840":248,"12841":249,"8544":250,"8545":251,"8546":252,"8547":253,"8548":254,"8549":255,"8550":256,"8551":257,"8552":258,"8553":259,"8554":260,"8555":261,"65281":262,"65282":263,"65283":264,"65509":265,"65285":266,"65286":267,"65287":268,"65288":269,"65289":270,"65290":271,"65291":272,"65292":273,"65293":274,"65294":275,"65295":276,"65296":277,"65297":278,"65298":279,"65299":280,"65300":281,"65301":282,"65302":283,"65303":284,"65304":285,"65305":286,"65306":287,"65307":288,"65308":289,"65309":290,"65310":291,"65311":292,"65312":293,"65313":294,"65314":295,"65315":296,"65316":297,"65317":298,"65318":299,"65319":300,"65320":301,"65321":302,"65322":303,"65323":304,"65324":305,"65325":306,"65326":307,"65327":308,"65328":309,"65329":310,"65330":311,"65331":312,"65332":313,"65333":314,"65334":315,"65335":316,"65336":317,"65337":318,"65338":319,"65339":320,"65340":321,"65341":322,"65342":323,"65343":324,"65344":325,"65345":326,"65346":327,"65347":328,"65348":329,"65349":330,"65350":331,"65351":332,"65352":333,"65353":334,"65354":335,"65355":336,"65356":337,"65357":338,"65358":339,"65359":340,"65360":341,"65361":342,"65362":343,"65363":344,"65364":345,"65365":346,"65366":347,"65367":348,"65368":349,"65369":350,"65370":351,"65371":352,"65372":353,"65373":354,"65507":355,"12353":356,"12354":357,"12355":358,"12356":359,"12357":360,"12358":361,"12359":362,"12360":363,"12361":364,"12362":365,"12363":366,"12364":367,"12365":368,"12366":369,"12367":370,"12368":371,"12369":372,"12370":373,"12371":374,"12372":375,"12373":376,"12374":377,"12375":378,"12376":379,"12377":380,"12378":381,"12379":382,"12380":383,"12381":384,"12382":385,"12383":386,"12384":387,"12385":388,"12386":389,"12387":390,"12388":391,"12389":392,"12390":393,"12391":394,"12392":395,"12393":396,"12394":397,"12395":398,"12396":399,"12397":400,"12398":401,"12399":402,"12400":403,"12401":404,"12402":405,"12403":406,"12404":407,"12405":408,"12406":409,"12407":410,"12408":411,"12409":412,"12410":413,"12411":414,"12412":415,"12413":416,"12414":417,"12415":418,"12416":419,"12417":420,"12418":421,"12419":422,"12420":423,"12421":424,"12422":425,"12423":426,"12424":427,"12425":428,"12426":429,"12427":430,"12428":431,"12429":432,"12430":433,"12431":434,"12432":435,"12433":436,"12434":437,"12435":438,"12449":439,"12450":440,"12451":441,"12452":442,"12453":443,"12454":444,"12455":445,"12456":446,"12457":447,"12458":448,"12459":449,"12460":450,"12461":451,"12462":452,"12463":453,"12464":454,"12465":455,"12466":456,"12467":457,"12468":458,"12469":459,"12470":460,"12471":461,"12472":462,"12473":463,"12474":464,"12475":465,"12476":466,"12477":467,"12478":468,"12479":469,"12480":470,"12481":471,"12482":472,"12483":473,"12484":474,"12485":475,"12486":476,"12487":477,"12488":478,"12489":479,"12490":480,"12491":481,"12492":482,"12493":483,"12494":484,"12495":485,"12496":486,"12497":487,"12498":488,"12499":489,"12500":490,"12501":491,"12502":492,"12503":493,"12504":494,"12505":495,"12506":496,"12507":497,"12508":498,"12509":499,"12510":500,"12511":501,"12512":502,"12513":503,"12514":504,"12515":505,"12516":506,"12517":507,"12518":508,"12519":509,"12520":510,"12521":511,"12522":512,"12523":513,"12524":514,"12525":515,"12526":516,"12527":517,"12528":518,"12529":519,"12530":520,"12531":521,"12532":522,"12533":523,"12534":524,"913":525,"914":526,"915":527,"916":528,"917":529,"918":530,"919":531,"920":532,"921":533,"922":534,"923":535,"924":536,"925":537,"926":538,"927":539,"928":540,"929":541,"931":542,"932":543,"933":544,"934":545,"935":546,"936":547,"937":548,"945":549,"946":550,"947":551,"948":552,"949":553,"950":554,"951":555,"952":556,"953":557,"954":558,"955":559,"956":560,"957":561,"958":562,"959":563,"960":564,"961":565,"963":566,"964":567,"965":568,"966":569,"967":570,"968":571,"969":572,"65040":573,"59277":573,"65042":574,"59278":574,"65041":575,"59279":575,"59280":576,"65043":576,"59281":577,"65044":577,"59282":578,"65045":578,"59283":579,"65046":579,"65077":580,"65078":581,"65081":582,"65082":583,"65087":584,"65088":585,"65085":586,"65086":587,"65089":588,"65090":589,"65091":590,"65092":591,"59284":592,"65047":592,"59285":593,"65048":593,"65083":594,"65084":595,"65079":596,"65080":597,"65073":598,"8285":599,"59286":599,"65049":599,"65075":600,"65076":601,"1040":602,"1041":603,"1042":604,"1043":605,"1044":606,"1045":607,"1025":608,"1046":609,"1047":610,"1048":611,"1049":612,"1050":613,"1051":614,"1052":615,"1053":616,"1054":617,"1055":618,"1056":619,"1057":620,"1058":621,"1059":622,"1060":623,"1061":624,"1062":625,"1063":626,"1064":627,"1065":628,"1066":629,"1067":630,"1068":631,"1069":632,"1070":633,"1071":634,"1072":635,"1073":636,"1074":637,"1075":638,"1076":639,"1077":640,"1105":641,"1078":642,"1079":643,"1080":644,"1081":645,"1082":646,"1083":647,"1084":648,"1085":649,"1086":650,"1087":651,"1088":652,"1089":653,"1090":654,"1091":655,"1092":656,"1093":657,"1094":658,"1095":659,"1096":660,"1097":661,"1098":662,"1099":663,"1100":664,"1101":665,"1102":666,"1103":667,"257":668,"225":669,"462":670,"224":671,"275":672,"233":673,"283":674,"232":675,"299":676,"237":677,"464":678,"236":679,"333":680,"243":681,"466":682,"242":683,"363":684,"250":685,"468":686,"249":687,"470":688,"472":689,"474":690,"476":691,"252":692,"234":693,"593":694,"7743":695,"59335":695,"324":696,"328":697,"505":698,"59336":698,"609":699,"12549":700,"12550":701,"12551":702,"12552":703,"12553":704,"12554":705,"12555":706,"12556":707,"12557":708,"12558":709,"12559":710,"12560":711,"12561":712,"12562":713,"12563":714,"12564":715,"12565":716,"12566":717,"12567":718,"12568":719,"12569":720,"12570":721,"12571":722,"12572":723,"12573":724,"12574":725,"12575":726,"12576":727,"12577":728,"12578":729,"12579":730,"12580":731,"12581":732,"12582":733,"12583":734,"12584":735,"12585":736,"9472":738,"9473":739,"9474":740,"9475":741,"9476":742,"9477":743,"9478":744,"9479":745,"9480":746,"9481":747,"9482":748,"9483":749,"9484":750,"9485":751,"9486":752,"9487":753,"9488":754,"9489":755,"9490":756,"9491":757,"9492":758,"9493":759,"9494":760,"9495":761,"9496":762,"9497":763,"9498":764,"9499":765,"9500":766,"9501":767,"9502":768,"9503":769,"9504":770,"9505":771,"9506":772,"9507":773,"9508":774,"9509":775,"9510":776,"9511":777,"9512":778,"9513":779,"9514":780,"9515":781,"9516":782,"9517":783,"9518":784,"9519":785,"9520":786,"9521":787,"9522":788,"9523":789,"9524":790,"9525":791,"9526":792,"9527":793,"9528":794,"9529":795,"9530":796,"9531":797,"9532":798,"9533":799,"9534":800,"9535":801,"9536":802,"9537":803,"9538":804,"9539":805,"9540":806,"9541":807,"9542":808,"9543":809,"9544":810,"9545":811,"9546":812,"9547":813,"21834":940,"38463":941,"22467":942,"25384":943,"21710":944,"21769":945,"21696":946,"30353":947,"30284":948,"34108":949,"30702":950,"33406":951,"30861":952,"29233":953,"38552":954,"38797":955,"27688":956,"23433":957,"20474":958,"25353":959,"26263":960,"23736":961,"33018":962,"26696":963,"32942":964,"26114":965,"30414":966,"20985":967,"25942":968,"29100":969,"32753":970,"34948":971,"20658":972,"22885":973,"25034":974,"28595":975,"33453":976,"25420":977,"25170":978,"21485":979,"21543":980,"31494":981,"12043":982,"20843":982,"30116":983,"24052":984,"25300":985,"36299":986,"38774":987,"25226":988,"32793":989,"22365":990,"38712":991,"32610":992,"29240":993,"12137":994,"30333":994,"26575":995,"30334":996,"25670":997,"20336":998,"36133":999,"25308":1000,"31255":1001,"26001":1002,"29677":1003,"25644":1004,"25203":1005,"33324":1006,"39041":1007,"26495":1008,"29256":1009,"25198":1010,"25292":1011,"20276":1012,"29923":1013,"21322":1014,"21150":1015,"32458":1016,"37030":1017,"24110":1018,"26758":1019,"27036":1020,"33152":1021,"32465":1022,"26834":1023,"30917":1024,"34444":1025,"38225":1026,"20621":1027,"35876":1028,"33502":1029,"32990":1030,"21253":1031,"35090":1032,"21093":1033,"34180":1034,"38649":1035,"20445":1036,"22561":1037,"39281":1038,"23453":1039,"25265":1040,"25253":1041,"26292":1042,"35961":1043,"40077":1044,"29190":1045,"26479":1046,"30865":1047,"24754":1048,"21329":1049,"21271":1050,"36744":1051,"32972":1052,"36125":1053,"38049":1054,"20493":1055,"29384":1056,"22791":1057,"24811":1058,"28953":1059,"34987":1060,"22868":1061,"33519":1062,"26412":1063,"31528":1064,"23849":1065,"32503":1066,"29997":1067,"27893":1068,"36454":1069,"36856":1070,"36924":1071,"12240":1072,"40763":1072,"12112":1073,"27604":1073,"37145":1074,"31508":1075,"24444":1076,"30887":1077,"34006":1078,"34109":1079,"27605":1080,"27609":1081,"27606":1082,"24065":1083,"24199":1084,"30201":1085,"38381":1086,"25949":1087,"24330":1088,"24517":1089,"36767":1090,"22721":1091,"33218":1092,"36991":1093,"38491":1094,"38829":1095,"36793":1096,"32534":1097,"36140":1098,"25153":1099,"20415":1100,"21464":1101,"21342":1102,"36776":1103,"36777":1104,"36779":1105,"36941":1106,"26631":1107,"24426":1108,"33176":1109,"34920":1110,"40150":1111,"24971":1112,"21035":1113,"30250":1114,"24428":1115,"25996":1116,"28626":1117,"28392":1118,"23486":1119,"25672":1120,"20853":1121,"20912":1122,"26564":1123,"19993":1124,"31177":1125,"39292":1126,"28851":1127,"30149":1128,"24182":1129,"29627":1130,"33760":1131,"25773":1132,"25320":1133,"38069":1134,"27874":1135,"21338":1136,"21187":1137,"25615":1138,"38082":1139,"31636":1140,"20271":1141,"24091":1142,"33334":1143,"33046":1144,"33162":1145,"28196":1146,"27850":1147,"39539":1148,"25429":1149,"12056":1150,"21340":1150,"21754":1151,"34917":1152,"22496":1153,"19981":1154,"24067":1155,"27493":1156,"31807":1157,"37096":1158,"24598":1159,"25830":1160,"29468":1161,"35009":1162,"26448":1163,"25165":1164,"36130":1165,"30572":1166,"36393":1167,"37319":1168,"24425":1169,"33756":1170,"34081":1171,"39184":1172,"21442":1173,"34453":1174,"27531":1175,"24813":1176,"24808":1177,"28799":1178,"33485":1179,"33329":1180,"20179":1181,"27815":1182,"34255":1183,"25805":1184,"31961":1185,"27133":1186,"26361":1187,"33609":1188,"21397":1189,"31574":1190,"20391":1191,"20876":1192,"27979":1193,"23618":1194,"36461":1195,"25554":1196,"21449":1197,"33580":1198,"33590":1199,"26597":1200,"30900":1201,"25661":1202,"23519":1203,"23700":1204,"24046":1205,"35815":1206,"25286":1207,"26612":1208,"35962":1209,"25600":1210,"25530":1211,"34633":1212,"39307":1213,"35863":1214,"32544":1215,"38130":1216,"20135":1217,"38416":1218,"39076":1219,"26124":1220,"29462":1221,"22330":1222,"23581":1223,"24120":1224,"38271":1225,"20607":1226,"32928":1227,"12058":1228,"21378":1228,"25950":1229,"30021":1230,"21809":1231,"20513":1232,"36229":1233,"25220":1234,"38046":1235,"26397":1236,"22066":1237,"28526":1238,"24034":1239,"21557":1240,"28818":1241,"36710":1242,"25199":1243,"25764":1244,"25507":1245,"24443":1246,"28552":1247,"37108":1248,"12162":1249,"33251":1249,"12192":1250,"36784":1250,"23576":1251,"26216":1252,"24561":1253,"27785":1254,"38472":1255,"36225":1256,"34924":1257,"25745":1258,"31216":1259,"22478":1260,"27225":1261,"25104":1262,"21576":1263,"20056":1264,"31243":1265,"24809":1266,"28548":1267,"35802":1268,"25215":1269,"36894":1270,"39563":1271,"31204":1272,"21507":1273,"30196":1274,"25345":1275,"21273":1276,"27744":1277,"36831":1278,"24347":1279,"39536":1280,"32827":1281,"40831":1282,"20360":1283,"23610":1284,"12186":1285,"36196":1285,"32709":1286,"26021":1287,"28861":1288,"20805":1289,"20914":1290,"12173":1291,"34411":1291,"23815":1292,"23456":1293,"25277":1294,"37228":1295,"30068":1296,"36364":1297,"31264":1298,"24833":1299,"31609":1300,"20167":1301,"32504":1302,"30597":1303,"19985":1304,"33261":1305,"21021":1306,"20986":1307,"27249":1308,"21416":1309,"36487":1310,"38148":1311,"38607":1312,"28353":1313,"38500":1314,"26970":1315,"30784":1316,"20648":1317,"30679":1318,"25616":1319,"35302":1320,"22788":1321,"25571":1322,"24029":1323,"31359":1324,"26941":1325,"20256":1326,"33337":1327,"21912":1328,"20018":1329,"30126":1330,"31383":1331,"24162":1332,"24202":1333,"38383":1334,"21019":1335,"21561":1336,"28810":1337,"25462":1338,"38180":1339,"22402":1340,"26149":1341,"26943":1342,"37255":1343,"21767":1344,"28147":1345,"32431":1346,"34850":1347,"25139":1348,"32496":1349,"30133":1350,"33576":1351,"30913":1352,"38604":1353,"36766":1354,"24904":1355,"29943":1356,"35789":1357,"27492":1358,"21050":1359,"36176":1360,"27425":1361,"32874":1362,"33905":1363,"22257":1364,"21254":1365,"20174":1366,"19995":1367,"20945":1368,"31895":1369,"37259":1370,"31751":1371,"20419":1372,"36479":1373,"31713":1374,"31388":1375,"25703":1376,"23828":1377,"20652":1378,"33030":1379,"30209":1380,"31929":1381,"28140":1382,"32736":1383,"26449":1384,"23384":1385,"12072":1386,"23544":1386,"30923":1387,"25774":1388,"25619":1389,"25514":1390,"25387":1391,"38169":1392,"25645":1393,"36798":1394,"31572":1395,"30249":1396,"25171":1397,"12068":1398,"22823":1398,"21574":1399,"12109":1400,"27513":1400,"20643":1401,"25140":1402,"24102":1403,"27526":1404,"20195":1405,"36151":1406,"34955":1407,"24453":1408,"36910":1409,"24608":1410,"32829":1411,"25285":1412,"20025":1413,"21333":1414,"37112":1415,"25528":1416,"32966":1417,"26086":1418,"27694":1419,"20294":1420,"24814":1421,"28129":1422,"35806":1423,"24377":1424,"34507":1425,"24403":1426,"25377":1427,"20826":1428,"33633":1429,"26723":1430,"12049":1431,"20992":1431,"25443":1432,"36424":1433,"20498":1434,"23707":1435,"31095":1436,"23548":1437,"21040":1438,"31291":1439,"24764":1440,"36947":1441,"30423":1442,"24503":1443,"24471":1444,"30340":1445,"36460":1446,"28783":1447,"30331":1448,"31561":1449,"30634":1450,"20979":1451,"37011":1452,"22564":1453,"20302":1454,"28404":1455,"36842":1456,"25932":1457,"31515":1458,"29380":1459,"28068":1460,"32735":1461,"23265":1462,"25269":1463,"24213":1464,"22320":1465,"33922":1466,"31532":1467,"24093":1468,"24351":1469,"36882":1470,"32532":1471,"39072":1472,"25474":1473,"28359":1474,"30872":1475,"28857":1476,"20856":1477,"38747":1478,"22443":1479,"30005":1480,"20291":1481,"30008":1482,"24215":1483,"24806":1484,"22880":1485,"28096":1486,"27583":1487,"30857":1488,"21500":1489,"38613":1490,"20939":1491,"20993":1492,"25481":1493,"21514":1494,"38035":1495,"35843":1496,"36300":1497,"29241":1498,"30879":1499,"34678":1500,"36845":1501,"35853":1502,"21472":1503,"19969":1504,"30447":1505,"21486":1506,"38025":1507,"39030":1508,"12237":1509,"40718":1509,"38189":1510,"23450":1511,"35746":1512,"20002":1513,"19996":1514,"20908":1515,"33891":1516,"25026":1517,"21160":1518,"26635":1519,"20375":1520,"24683":1521,"20923":1522,"27934":1523,"20828":1524,"25238":1525,"12099":1526,"26007":1526,"38497":1527,"12182":1528,"35910":1528,"36887":1529,"30168":1530,"37117":1531,"30563":1532,"27602":1533,"29322":1534,"29420":1535,"35835":1536,"22581":1537,"30585":1538,"36172":1539,"26460":1540,"38208":1541,"32922":1542,"24230":1543,"28193":1544,"22930":1545,"31471":1546,"30701":1547,"38203":1548,"27573":1549,"26029":1550,"32526":1551,"22534":1552,"20817":1553,"38431":1554,"23545":1555,"22697":1556,"21544":1557,"36466":1558,"25958":1559,"39039":1560,"22244":1561,"38045":1562,"30462":1563,"36929":1564,"25479":1565,"21702":1566,"22810":1567,"22842":1568,"22427":1569,"36530":1570,"26421":1571,"36346":1572,"33333":1573,"21057":1574,"24816":1575,"22549":1576,"34558":1577,"23784":1578,"40517":1579,"20420":1580,"39069":1581,"35769":1582,"23077":1583,"24694":1584,"21380":1585,"25212":1586,"36943":1587,"37122":1588,"39295":1589,"24681":1590,"12157":1591,"32780":1591,"12041":1592,"20799":1592,"12159":1593,"32819":1593,"23572":1594,"39285":1595,"27953":1596,"12038":1597,"20108":1597,"36144":1598,"21457":1599,"32602":1600,"31567":1601,"20240":1602,"20047":1603,"38400":1604,"27861":1605,"29648":1606,"34281":1607,"24070":1608,"30058":1609,"32763":1610,"27146":1611,"30718":1612,"38034":1613,"32321":1614,"20961":1615,"28902":1616,"21453":1617,"36820":1618,"33539":1619,"36137":1620,"29359":1621,"39277":1622,"27867":1623,"22346":1624,"33459":1625,"12101":1626,"26041":1626,"32938":1627,"25151":1628,"38450":1629,"22952":1630,"20223":1631,"35775":1632,"32442":1633,"25918":1634,"33778":1635,"12206":1636,"38750":1636,"21857":1637,"39134":1638,"32933":1639,"21290":1640,"35837":1641,"21536":1642,"32954":1643,"24223":1644,"27832":1645,"36153":1646,"33452":1647,"37210":1648,"21545":1649,"27675":1650,"20998":1651,"32439":1652,"22367":1653,"28954":1654,"27774":1655,"31881":1656,"22859":1657,"20221":1658,"24575":1659,"24868":1660,"31914":1661,"20016":1662,"23553":1663,"26539":1664,"34562":1665,"23792":1666,"38155":1667,"39118":1668,"30127":1669,"28925":1670,"36898":1671,"20911":1672,"32541":1673,"35773":1674,"22857":1675,"20964":1676,"20315":1677,"21542":1678,"22827":1679,"25975":1680,"32932":1681,"23413":1682,"25206":1683,"25282":1684,"36752":1685,"24133":1686,"27679":1687,"31526":1688,"20239":1689,"20440":1690,"26381":1691,"28014":1692,"28074":1693,"31119":1694,"34993":1695,"24343":1696,"29995":1697,"25242":1698,"36741":1699,"20463":1700,"37340":1701,"26023":1702,"33071":1703,"33105":1704,"24220":1705,"33104":1706,"36212":1707,"21103":1708,"35206":1709,"36171":1710,"22797":1711,"20613":1712,"20184":1713,"12201":1714,"38428":1714,"12119":1715,"29238":1715,"33145":1716,"36127":1717,"23500":1718,"35747":1719,"38468":1720,"22919":1721,"32538":1722,"21648":1723,"22134":1724,"22030":1725,"35813":1726,"25913":1727,"27010":1728,"38041":1729,"30422":1730,"28297":1731,"12082":1732,"24178":1732,"12130":1733,"29976":1733,"26438":1734,"26577":1735,"31487":1736,"32925":1737,"36214":1738,"24863":1739,"31174":1740,"25954":1741,"36195":1742,"20872":1743,"21018":1744,"38050":1745,"32568":1746,"32923":1747,"32434":1748,"23703":1749,"28207":1750,"26464":1751,"31705":1752,"30347":1753,"12220":1754,"39640":1754,"33167":1755,"32660":1756,"31957":1757,"25630":1758,"38224":1759,"31295":1760,"21578":1761,"21733":1762,"27468":1763,"25601":1764,"12093":1765,"25096":1765,"40509":1766,"33011":1767,"30105":1768,"21106":1769,"12208":1770,"38761":1770,"33883":1771,"26684":1772,"34532":1773,"38401":1774,"38548":1775,"38124":1776,"20010":1777,"21508":1778,"32473":1779,"26681":1780,"36319":1781,"32789":1782,"26356":1783,"24218":1784,"32697":1785,"22466":1786,"32831":1787,"26775":1788,"12079":1789,"24037":1789,"25915":1790,"21151":1791,"24685":1792,"40858":1793,"20379":1794,"36524":1795,"20844":1796,"23467":1797,"12088":1798,"24339":1798,"24041":1799,"27742":1800,"25329":1801,"36129":1802,"20849":1803,"38057":1804,"21246":1805,"27807":1806,"33503":1807,"29399":1808,"22434":1809,"26500":1810,"36141":1811,"22815":1812,"36764":1813,"33735":1814,"21653":1815,"31629":1816,"20272":1817,"27837":1818,"23396":1819,"22993":1820,"12238":1821,"40723":1821,"21476":1822,"34506":1823,"12219":1824,"39592":1824,"12181":1825,"35895":1825,"32929":1826,"25925":1827,"39038":1828,"22266":1829,"38599":1830,"21038":1831,"12128":1832,"29916":1832,"21072":1833,"23521":1834,"25346":1835,"35074":1836,"20054":1837,"25296":1838,"24618":1839,"26874":1840,"20851":1841,"23448":1842,"20896":1843,"35266":1844,"31649":1845,"39302":1846,"32592":1847,"24815":1848,"28748":1849,"36143":1850,"20809":1851,"12084":1852,"24191":1852,"36891":1853,"29808":1854,"35268":1855,"22317":1856,"30789":1857,"24402":1858,"40863":1859,"38394":1860,"36712":1861,"12225":1862,"39740":1862,"35809":1863,"30328":1864,"26690":1865,"26588":1866,"36330":1867,"36149":1868,"21053":1869,"36746":1870,"28378":1871,"26829":1872,"38149":1873,"37101":1874,"22269":1875,"26524":1876,"35065":1877,"36807":1878,"21704":1879,"39608":1880,"23401":1881,"28023":1882,"27686":1883,"20133":1884,"23475":1885,"39559":1886,"37219":1887,"25000":1888,"37039":1889,"38889":1890,"21547":1891,"28085":1892,"23506":1893,"20989":1894,"21898":1895,"32597":1896,"32752":1897,"25788":1898,"25421":1899,"26097":1900,"25022":1901,"24717":1902,"28938":1903,"27735":1904,"27721":1905,"22831":1906,"26477":1907,"33322":1908,"22741":1909,"22158":1910,"35946":1911,"27627":1912,"37085":1913,"22909":1914,"32791":1915,"21495":1916,"28009":1917,"21621":1918,"21917":1919,"33655":1920,"33743":1921,"26680":1922,"12146":1923,"31166":1923,"21644":1924,"20309":1925,"21512":1926,"30418":1927,"35977":1928,"38402":1929,"27827":1930,"28088":1931,"36203":1932,"35088":1933,"40548":1934,"36154":1935,"22079":1936,"12234":1937,"40657":1937,"30165":1938,"24456":1939,"29408":1940,"24680":1941,"21756":1942,"20136":1943,"27178":1944,"34913":1945,"24658":1946,"36720":1947,"21700":1948,"28888":1949,"34425":1950,"40511":1951,"27946":1952,"23439":1953,"24344":1954,"32418":1955,"21897":1956,"20399":1957,"29492":1958,"21564":1959,"21402":1960,"20505":1961,"21518":1962,"21628":1963,"20046":1964,"24573":1965,"29786":1966,"22774":1967,"33899":1968,"32993":1969,"34676":1970,"29392":1971,"31946":1972,"28246":1973,"24359":1974,"34382":1975,"21804":1976,"25252":1977,"20114":1978,"27818":1979,"25143":1980,"33457":1981,"21719":1982,"21326":1983,"29502":1984,"28369":1985,"30011":1986,"21010":1987,"21270":1988,"35805":1989,"27088":1990,"24458":1991,"24576":1992,"28142":1993,"22351":1994,"27426":1995,"29615":1996,"26707":1997,"36824":1998,"32531":1999,"25442":2000,"24739":2001,"21796":2002,"30186":2003,"35938":2004,"28949":2005,"28067":2006,"23462":2007,"24187":2008,"33618":2009,"24908":2010,"40644":2011,"30970":2012,"34647":2013,"31783":2014,"30343":2015,"20976":2016,"24822":2017,"29004":2018,"26179":2019,"24140":2020,"24653":2021,"35854":2022,"28784":2023,"25381":2024,"36745":2025,"24509":2026,"24674":2027,"34516":2028,"22238":2029,"27585":2030,"24724":2031,"24935":2032,"21321":2033,"24800":2034,"26214":2035,"36159":2036,"31229":2037,"20250":2038,"28905":2039,"27719":2040,"35763":2041,"35826":2042,"32472":2043,"33636":2044,"26127":2045,"23130":2046,"39746":2047,"27985":2048,"28151":2049,"35905":2050,"27963":2051,"20249":2052,"12117":2053,"28779":2053,"33719":2054,"25110":2055,"24785":2056,"38669":2057,"36135":2058,"31096":2059,"20987":2060,"22334":2061,"22522":2062,"26426":2063,"30072":2064,"31293":2065,"31215":2066,"31637":2067,"32908":2068,"39269":2069,"36857":2070,"28608":2071,"35749":2072,"40481":2073,"23020":2074,"32489":2075,"32521":2076,"21513":2077,"26497":2078,"26840":2079,"36753":2080,"31821":2081,"38598":2082,"21450":2083,"24613":2084,"30142":2085,"27762":2086,"21363":2087,"23241":2088,"32423":2089,"25380":2090,"12047":2091,"20960":2091,"33034":2092,"12080":2093,"24049":2093,"34015":2094,"25216":2095,"20864":2096,"23395":2097,"20238":2098,"31085":2099,"21058":2100,"24760":2101,"27982":2102,"23492":2103,"23490":2104,"35745":2105,"35760":2106,"26082":2107,"24524":2108,"38469":2109,"22931":2110,"32487":2111,"32426":2112,"22025":2113,"26551":2114,"22841":2115,"20339":2116,"23478":2117,"21152":2118,"33626":2119,"39050":2120,"36158":2121,"30002":2122,"38078":2123,"20551":2124,"31292":2125,"20215":2126,"26550":2127,"39550":2128,"23233":2129,"27516":2130,"30417":2131,"22362":2132,"23574":2133,"31546":2134,"38388":2135,"29006":2136,"20860":2137,"32937":2138,"33392":2139,"22904":2140,"32516":2141,"33575":2142,"26816":2143,"26604":2144,"30897":2145,"30839":2146,"25315":2147,"25441":2148,"31616":2149,"20461":2150,"21098":2151,"20943":2152,"33616":2153,"27099":2154,"37492":2155,"36341":2156,"36145":2157,"35265":2158,"38190":2159,"31661":2160,"20214":2161,"20581":2162,"33328":2163,"21073":2164,"39279":2165,"28176":2166,"28293":2167,"28071":2168,"24314":2169,"20725":2170,"23004":2171,"23558":2172,"27974":2173,"27743":2174,"30086":2175,"33931":2176,"26728":2177,"22870":2178,"35762":2179,"21280":2180,"37233":2181,"38477":2182,"34121":2183,"26898":2184,"30977":2185,"28966":2186,"33014":2187,"20132":2188,"37066":2189,"27975":2190,"39556":2191,"23047":2192,"22204":2193,"25605":2194,"38128":2195,"30699":2196,"20389":2197,"33050":2198,"29409":2199,"12179":2200,"35282":2200,"39290":2201,"32564":2202,"32478":2203,"21119":2204,"25945":2205,"37237":2206,"36735":2207,"36739":2208,"21483":2209,"31382":2210,"25581":2211,"25509":2212,"30342":2213,"31224":2214,"34903":2215,"38454":2216,"25130":2217,"21163":2218,"33410":2219,"26708":2220,"26480":2221,"25463":2222,"30571":2223,"31469":2224,"27905":2225,"32467":2226,"35299":2227,"22992":2228,"25106":2229,"34249":2230,"33445":2231,"30028":2232,"20511":2233,"20171":2234,"30117":2235,"35819":2236,"23626":2237,"12081":2238,"24062":2238,"31563":2239,"12100":2240,"26020":2240,"12198":2241,"37329":2241,"20170":2242,"27941":2243,"35167":2244,"32039":2245,"38182":2246,"20165":2247,"35880":2248,"36827":2249,"38771":2250,"26187":2251,"31105":2252,"36817":2253,"28908":2254,"28024":2255,"23613":2256,"21170":2257,"33606":2258,"20834":2259,"33550":2260,"30555":2261,"26230":2262,"40120":2263,"20140":2264,"24778":2265,"31934":2266,"31923":2267,"32463":2268,"20117":2269,"35686":2270,"26223":2271,"39048":2272,"38745":2273,"22659":2274,"25964":2275,"38236":2276,"24452":2277,"30153":2278,"38742":2279,"31455":2280,"31454":2281,"20928":2282,"28847":2283,"31384":2284,"25578":2285,"31350":2286,"32416":2287,"29590":2288,"12210":2289,"38893":2289,"20037":2290,"28792":2291,"20061":2292,"37202":2293,"21417":2294,"25937":2295,"26087":2296,"12165":2297,"33276":2297,"33285":2298,"21646":2299,"23601":2300,"30106":2301,"38816":2302,"25304":2303,"29401":2304,"30141":2305,"23621":2306,"39545":2307,"33738":2308,"23616":2309,"21632":2310,"30697":2311,"20030":2312,"27822":2313,"32858":2314,"25298":2315,"25454":2316,"24040":2317,"20855":2318,"36317":2319,"36382":2320,"38191":2321,"20465":2322,"21477":2323,"24807":2324,"28844":2325,"21095":2326,"25424":2327,"40515":2328,"23071":2329,"20518":2330,"30519":2331,"21367":2332,"32482":2333,"25733":2334,"25899":2335,"25225":2336,"25496":2337,"20500":2338,"29237":2339,"35273":2340,"20915":2341,"35776":2342,"32477":2343,"22343":2344,"33740":2345,"38055":2346,"20891":2347,"21531":2348,"23803":2349,"20426":2350,"31459":2351,"27994":2352,"37089":2353,"39567":2354,"21888":2355,"21654":2356,"21345":2357,"21679":2358,"24320":2359,"25577":2360,"26999":2361,"20975":2362,"24936":2363,"21002":2364,"22570":2365,"21208":2366,"22350":2367,"30733":2368,"30475":2369,"24247":2370,"24951":2371,"31968":2372,"25179":2373,"25239":2374,"20130":2375,"28821":2376,"32771":2377,"25335":2378,"28900":2379,"38752":2380,"22391":2381,"33499":2382,"26607":2383,"26869":2384,"30933":2385,"39063":2386,"31185":2387,"22771":2388,"21683":2389,"21487":2390,"28212":2391,"20811":2392,"21051":2393,"23458":2394,"35838":2395,"32943":2396,"21827":2397,"22438":2398,"24691":2399,"22353":2400,"21549":2401,"31354":2402,"24656":2403,"23380":2404,"25511":2405,"25248":2406,"12061":2407,"21475":2407,"25187":2408,"23495":2409,"26543":2410,"21741":2411,"31391":2412,"33510":2413,"37239":2414,"24211":2415,"35044":2416,"22840":2417,"22446":2418,"25358":2419,"36328":2420,"33007":2421,"22359":2422,"31607":2423,"20393":2424,"24555":2425,"23485":2426,"27454":2427,"21281":2428,"31568":2429,"29378":2430,"26694":2431,"30719":2432,"30518":2433,"26103":2434,"20917":2435,"20111":2436,"30420":2437,"23743":2438,"31397":2439,"33909":2440,"22862":2441,"39745":2442,"20608":2443,"39304":2444,"24871":2445,"28291":2446,"22372":2447,"26118":2448,"25414":2449,"22256":2450,"25324":2451,"25193":2452,"24275":2453,"38420":2454,"22403":2455,"25289":2456,"21895":2457,"34593":2458,"33098":2459,"36771":2460,"21862":2461,"33713":2462,"26469":2463,"36182":2464,"34013":2465,"23146":2466,"26639":2467,"25318":2468,"31726":2469,"38417":2470,"20848":2471,"28572":2472,"35888":2473,"25597":2474,"35272":2475,"25042":2476,"32518":2477,"28866":2478,"28389":2479,"29701":2480,"27028":2481,"29436":2482,"24266":2483,"37070":2484,"26391":2485,"28010":2486,"25438":2487,"21171":2488,"29282":2489,"12156":2490,"32769":2490,"20332":2491,"23013":2492,"37226":2493,"28889":2494,"28061":2495,"21202":2496,"20048":2497,"38647":2498,"38253":2499,"34174":2500,"30922":2501,"32047":2502,"20769":2503,"22418":2504,"25794":2505,"32907":2506,"31867":2507,"27882":2508,"26865":2509,"26974":2510,"20919":2511,"21400":2512,"26792":2513,"29313":2514,"40654":2515,"31729":2516,"29432":2517,"31163":2518,"28435":2519,"29702":2520,"26446":2521,"12197":2522,"37324":2522,"40100":2523,"31036":2524,"33673":2525,"33620":2526,"21519":2527,"26647":2528,"20029":2529,"21385":2530,"21169":2531,"30782":2532,"21382":2533,"21033":2534,"20616":2535,"20363":2536,"20432":2537,"30178":2538,"12148":2539,"31435":2539,"31890":2540,"27813":2541,"12202":2542,"38582":2542,"12050":2543,"21147":2543,"29827":2544,"21737":2545,"20457":2546,"32852":2547,"33714":2548,"36830":2549,"38256":2550,"24265":2551,"24604":2552,"28063":2553,"24088":2554,"25947":2555,"33080":2556,"38142":2557,"24651":2558,"28860":2559,"32451":2560,"31918":2561,"20937":2562,"63865":2562,"26753":2563,"31921":2564,"33391":2565,"20004":2566,"36742":2567,"37327":2568,"26238":2569,"20142":2570,"35845":2571,"25769":2572,"32842":2573,"20698":2574,"30103":2575,"29134":2576,"23525":2577,"36797":2578,"28518":2579,"20102":2580,"25730":2581,"38243":2582,"24278":2583,"26009":2584,"21015":2585,"35010":2586,"28872":2587,"21155":2588,"29454":2589,"29747":2590,"26519":2591,"30967":2592,"38678":2593,"20020":2594,"37051":2595,"40158":2596,"28107":2597,"20955":2598,"36161":2599,"21533":2600,"25294":2601,"29618":2602,"33777":2603,"38646":2604,"40836":2605,"38083":2606,"20278":2607,"32666":2608,"20940":2609,"28789":2610,"38517":2611,"23725":2612,"39046":2613,"21478":2614,"20196":2615,"28316":2616,"29705":2617,"27060":2618,"30827":2619,"39311":2620,"30041":2621,"21016":2622,"30244":2623,"27969":2624,"26611":2625,"20845":2626,"40857":2627,"32843":2628,"21657":2629,"31548":2630,"31423":2631,"38534":2632,"22404":2633,"25314":2634,"38471":2635,"27004":2636,"23044":2637,"25602":2638,"31699":2639,"28431":2640,"38475":2641,"33446":2642,"21346":2643,"39045":2644,"24208":2645,"28809":2646,"25523":2647,"21348":2648,"34383":2649,"40065":2650,"40595":2651,"30860":2652,"38706":2653,"36335":2654,"36162":2655,"12229":2656,"40575":2656,"28510":2657,"31108":2658,"24405":2659,"38470":2660,"25134":2661,"39540":2662,"21525":2663,"38109":2664,"20387":2665,"26053":2666,"23653":2667,"23649":2668,"32533":2669,"34385":2670,"27695":2671,"24459":2672,"29575":2673,"28388":2674,"32511":2675,"23782":2676,"25371":2677,"23402":2678,"28390":2679,"21365":2680,"20081":2681,"25504":2682,"30053":2683,"25249":2684,"36718":2685,"20262":2686,"20177":2687,"27814":2688,"32438":2689,"35770":2690,"33821":2691,"34746":2692,"32599":2693,"36923":2694,"38179":2695,"31657":2696,"39585":2697,"35064":2698,"33853":2699,"27931":2700,"39558":2701,"32476":2702,"22920":2703,"12231":2704,"40635":2704,"29595":2705,"30721":2706,"34434":2707,"39532":2708,"39554":2709,"22043":2710,"21527":2711,"22475":2712,"20080":2713,"40614":2714,"21334":2715,"36808":2716,"33033":2717,"30610":2718,"39314":2719,"34542":2720,"28385":2721,"34067":2722,"26364":2723,"24930":2724,"28459":2725,"35881":2726,"33426":2727,"33579":2728,"30450":2729,"27667":2730,"24537":2731,"33725":2732,"29483":2733,"33541":2734,"38170":2735,"12113":2736,"27611":2736,"12141":2737,"30683":2737,"38086":2738,"21359":2739,"33538":2740,"20882":2741,"24125":2742,"35980":2743,"36152":2744,"20040":2745,"29611":2746,"26522":2747,"26757":2748,"37238":2749,"38665":2750,"29028":2751,"27809":2752,"30473":2753,"23186":2754,"38209":2755,"27599":2756,"32654":2757,"26151":2758,"23504":2759,"22969":2760,"23194":2761,"38376":2762,"38391":2763,"20204":2764,"33804":2765,"33945":2766,"27308":2767,"30431":2768,"38192":2769,"29467":2770,"26790":2771,"23391":2772,"30511":2773,"37274":2774,"38753":2775,"31964":2776,"36855":2777,"35868":2778,"24357":2779,"12150":2780,"31859":2780,"31192":2781,"35269":2782,"27852":2783,"34588":2784,"23494":2785,"24130":2786,"26825":2787,"30496":2788,"32501":2789,"20885":2790,"20813":2791,"21193":2792,"23081":2793,"32517":2794,"12207":2795,"38754":2795,"33495":2796,"25551":2797,"30596":2798,"34256":2799,"31186":2800,"28218":2801,"24217":2802,"22937":2803,"34065":2804,"28781":2805,"27665":2806,"25279":2807,"12139":2808,"30399":2808,"25935":2809,"24751":2810,"38397":2811,"26126":2812,"34719":2813,"40483":2814,"38125":2815,"21517":2816,"21629":2817,"35884":2818,"25720":2819,"25721":2820,"34321":2821,"27169":2822,"33180":2823,"30952":2824,"25705":2825,"39764":2826,"25273":2827,"26411":2828,"33707":2829,"22696":2830,"40664":2831,"27819":2832,"28448":2833,"23518":2834,"38476":2835,"35851":2836,"29279":2837,"26576":2838,"25287":2839,"29281":2840,"20137":2841,"22982":2842,"27597":2843,"22675":2844,"26286":2845,"24149":2846,"21215":2847,"24917":2848,"12106":2849,"26408":2849,"12140":2850,"30446":2850,"30566":2851,"29287":2852,"31302":2853,"25343":2854,"21738":2855,"21584":2856,"38048":2857,"37027":2858,"23068":2859,"32435":2860,"27670":2861,"20035":2862,"22902":2863,"32784":2864,"22856":2865,"21335":2866,"30007":2867,"38590":2868,"22218":2869,"25376":2870,"33041":2871,"24700":2872,"38393":2873,"28118":2874,"21602":2875,"39297":2876,"20869":2877,"23273":2878,"33021":2879,"22958":2880,"38675":2881,"20522":2882,"27877":2883,"23612":2884,"25311":2885,"20320":2886,"21311":2887,"33147":2888,"36870":2889,"28346":2890,"34091":2891,"25288":2892,"24180":2893,"30910":2894,"25781":2895,"25467":2896,"24565":2897,"23064":2898,"37247":2899,"40479":2900,"23615":2901,"25423":2902,"32834":2903,"23421":2904,"21870":2905,"38218":2906,"38221":2907,"28037":2908,"24744":2909,"26592":2910,"29406":2911,"20957":2912,"23425":2913,"25319":2914,"27870":2915,"12124":2916,"29275":2916,"25197":2917,"38062":2918,"32445":2919,"33043":2920,"27987":2921,"20892":2922,"24324":2923,"22900":2924,"21162":2925,"24594":2926,"12069":2927,"22899":2927,"26262":2928,"34384":2929,"30111":2930,"25386":2931,"25062":2932,"31983":2933,"35834":2934,"21734":2935,"27431":2936,"40485":2937,"27572":2938,"34261":2939,"21589":2940,"20598":2941,"27812":2942,"21866":2943,"36276":2944,"29228":2945,"24085":2946,"24597":2947,"29750":2948,"25293":2949,"25490":2950,"29260":2951,"24472":2952,"28227":2953,"27966":2954,"25856":2955,"28504":2956,"30424":2957,"30928":2958,"30460":2959,"30036":2960,"21028":2961,"21467":2962,"20051":2963,"24222":2964,"26049":2965,"32810":2966,"32982":2967,"25243":2968,"21638":2969,"21032":2970,"28846":2971,"34957":2972,"36305":2973,"27873":2974,"21624":2975,"32986":2976,"22521":2977,"35060":2978,"36180":2979,"38506":2980,"37197":2981,"20329":2982,"27803":2983,"21943":2984,"30406":2985,"30768":2986,"25256":2987,"28921":2988,"28558":2989,"24429":2990,"34028":2991,"26842":2992,"30844":2993,"31735":2994,"33192":2995,"26379":2996,"40527":2997,"25447":2998,"30896":2999,"22383":3000,"30738":3001,"38713":3002,"25209":3003,"25259":3004,"21128":3005,"29749":3006,"27607":3007,"21860":3008,"33086":3009,"30130":3010,"12138":3011,"30382":3011,"21305":3012,"30174":3013,"20731":3014,"23617":3015,"35692":3016,"31687":3017,"20559":3018,"12122":3019,"29255":3019,"39575":3020,"39128":3021,"28418":3022,"29922":3023,"31080":3024,"25735":3025,"30629":3026,"25340":3027,"39057":3028,"36139":3029,"21697":3030,"32856":3031,"20050":3032,"22378":3033,"33529":3034,"33805":3035,"24179":3036,"20973":3037,"29942":3038,"35780":3039,"23631":3040,"22369":3041,"27900":3042,"39047":3043,"23110":3044,"30772":3045,"39748":3046,"36843":3047,"31893":3048,"21078":3049,"25169":3050,"38138":3051,"20166":3052,"33670":3053,"33889":3054,"33769":3055,"33970":3056,"22484":3057,"26420":3058,"22275":3059,"26222":3060,"28006":3061,"35889":3062,"26333":3063,"28689":3064,"26399":3065,"27450":3066,"26646":3067,"25114":3068,"22971":3069,"19971":3070,"20932":3071,"28422":3072,"26578":3073,"27791":3074,"20854":3075,"26827":3076,"22855":3077,"27495":3078,"30054":3079,"23822":3080,"33040":3081,"40784":3082,"26071":3083,"31048":3084,"31041":3085,"39569":3086,"36215":3087,"23682":3088,"20062":3089,"20225":3090,"21551":3091,"22865":3092,"30732":3093,"22120":3094,"12115":3095,"27668":3095,"36804":3096,"24323":3097,"27773":3098,"27875":3099,"35755":3100,"25488":3101,"24688":3102,"27965":3103,"29301":3104,"25190":3105,"38030":3106,"38085":3107,"21315":3108,"36801":3109,"31614":3110,"20191":3111,"35878":3112,"20094":3113,"40660":3114,"38065":3115,"38067":3116,"21069":3117,"28508":3118,"36963":3119,"27973":3120,"35892":3121,"22545":3122,"23884":3123,"12107":3124,"27424":3124,"27465":3125,"26538":3126,"21595":3127,"33108":3128,"32652":3129,"22681":3130,"34103":3131,"24378":3132,"25250":3133,"27207":3134,"38201":3135,"25970":3136,"24708":3137,"26725":3138,"30631":3139,"20052":3140,"20392":3141,"24039":3142,"38808":3143,"25772":3144,"32728":3145,"23789":3146,"20431":3147,"31373":3148,"20999":3149,"33540":3150,"19988":3151,"24623":3152,"31363":3153,"38054":3154,"20405":3155,"20146":3156,"31206":3157,"29748":3158,"21220":3159,"33465":3160,"25810":3161,"31165":3162,"23517":3163,"27777":3164,"38738":3165,"36731":3166,"27682":3167,"20542":3168,"21375":3169,"28165":3170,"25806":3171,"26228":3172,"27696":3173,"24773":3174,"39031":3175,"35831":3176,"24198":3177,"29756":3178,"31351":3179,"31179":3180,"19992":3181,"37041":3182,"29699":3183,"27714":3184,"22234":3185,"37195":3186,"27845":3187,"36235":3188,"21306":3189,"34502":3190,"26354":3191,"36527":3192,"23624":3193,"39537":3194,"28192":3195,"21462":3196,"23094":3197,"40843":3198,"36259":3199,"21435":3200,"22280":3201,"39079":3202,"26435":3203,"37275":3204,"27849":3205,"20840":3206,"30154":3207,"25331":3208,"12125":3209,"29356":3209,"21048":3210,"21149":3211,"32570":3212,"28820":3213,"30264":3214,"21364":3215,"40522":3216,"27063":3217,"30830":3218,"38592":3219,"35033":3220,"32676":3221,"28982":3222,"29123":3223,"20873":3224,"26579":3225,"29924":3226,"22756":3227,"25880":3228,"22199":3229,"35753":3230,"39286":3231,"25200":3232,"32469":3233,"24825":3234,"28909":3235,"22764":3236,"20161":3237,"12040":3238,"20154":3238,"24525":3239,"38887":3240,"20219":3241,"35748":3242,"20995":3243,"22922":3244,"32427":3245,"25172":3246,"20173":3247,"12103":3248,"26085":3248,"25102":3249,"33592":3250,"33993":3251,"33635":3252,"34701":3253,"29076":3254,"28342":3255,"23481":3256,"32466":3257,"20887":3258,"25545":3259,"26580":3260,"12161":3261,"32905":3261,"33593":3262,"34837":3263,"20754":3264,"23418":3265,"22914":3266,"36785":3267,"20083":3268,"27741":3269,"12042":3270,"20837":3270,"35109":3271,"36719":3272,"38446":3273,"34122":3274,"29790":3275,"38160":3276,"38384":3277,"28070":3278,"33509":3279,"24369":3280,"25746":3281,"27922":3282,"33832":3283,"33134":3284,"40131":3285,"22622":3286,"36187":3287,"19977":3288,"21441":3289,"20254":3290,"25955":3291,"26705":3292,"21971":3293,"20007":3294,"25620":3295,"39578":3296,"25195":3297,"23234":3298,"29791":3299,"12170":3300,"33394":3300,"28073":3301,"26862":3302,"20711":3303,"33678":3304,"30722":3305,"26432":3306,"21049":3307,"27801":3308,"32433":3309,"20667":3310,"21861":3311,"29022":3312,"31579":3313,"26194":3314,"29642":3315,"33515":3316,"26441":3317,"12077":3318,"23665":3318,"21024":3319,"29053":3320,"34923":3321,"38378":3322,"38485":3323,"25797":3324,"36193":3325,"33203":3326,"21892":3327,"27733":3328,"25159":3329,"32558":3330,"22674":3331,"20260":3332,"21830":3333,"36175":3334,"26188":3335,"19978":3336,"23578":3337,"35059":3338,"26786":3339,"25422":3340,"31245":3341,"28903":3342,"33421":3343,"21242":3344,"38902":3345,"23569":3346,"21736":3347,"37045":3348,"32461":3349,"22882":3350,"36170":3351,"34503":3352,"12166":3353,"33292":3353,"33293":3354,"36198":3355,"25668":3356,"23556":3357,"24913":3358,"28041":3359,"31038":3360,"35774":3361,"30775":3362,"30003":3363,"21627":3364,"20280":3365,"12189":3366,"36523":3366,"28145":3367,"23072":3368,"32453":3369,"31070":3370,"27784":3371,"23457":3372,"23158":3373,"29978":3374,"32958":3375,"24910":3376,"28183":3377,"22768":3378,"12131":3379,"29983":3379,"29989":3380,"29298":3381,"21319":3382,"32499":3383,"30465":3384,"30427":3385,"21097":3386,"32988":3387,"22307":3388,"24072":3389,"22833":3390,"29422":3391,"26045":3392,"28287":3393,"35799":3394,"12075":3395,"23608":3395,"34417":3396,"12055":3397,"21313":3397,"12143":3398,"30707":3398,"25342":3399,"26102":3400,"20160":3401,"12215":3402,"39135":3402,"34432":3403,"23454":3404,"35782":3405,"21490":3406,"12142":3407,"30690":3407,"20351":3408,"23630":3409,"39542":3410,"22987":3411,"24335":3412,"12144":3413,"31034":3413,"12064":3414,"22763":3414,"19990":3415,"26623":3416,"20107":3417,"25325":3418,"35475":3419,"36893":3420,"21183":3421,"26159":3422,"21980":3423,"22124":3424,"36866":3425,"20181":3426,"20365":3427,"37322":3428,"39280":3429,"12114":3430,"27663":3430,"24066":3431,"24643":3432,"23460":3433,"35270":3434,"35797":3435,"25910":3436,"12095":3437,"25163":3437,"12216":3438,"39318":3438,"23432":3439,"23551":3440,"25480":3441,"21806":3442,"21463":3443,"30246":3444,"20861":3445,"34092":3446,"26530":3447,"26803":3448,"27530":3449,"25234":3450,"36755":3451,"21460":3452,"33298":3453,"28113":3454,"30095":3455,"20070":3456,"36174":3457,"23408":3458,"29087":3459,"34223":3460,"26257":3461,"26329":3462,"32626":3463,"34560":3464,"12233":3465,"40653":3465,"12239":3466,"40736":3466,"23646":3467,"26415":3468,"36848":3469,"26641":3470,"26463":3471,"25101":3472,"31446":3473,"22661":3474,"24246":3475,"25968":3476,"28465":3477,"24661":3478,"21047":3479,"32781":3480,"25684":3481,"34928":3482,"29993":3483,"24069":3484,"26643":3485,"25332":3486,"38684":3487,"21452":3488,"29245":3489,"35841":3490,"12116":3491,"27700":3491,"30561":3492,"31246":3493,"21550":3494,"30636":3495,"39034":3496,"33308":3497,"35828":3498,"30805":3499,"26388":3500,"28865":3501,"26031":3502,"25749":3503,"22070":3504,"24605":3505,"31169":3506,"21496":3507,"19997":3508,"27515":3509,"32902":3510,"23546":3511,"21987":3512,"22235":3513,"20282":3514,"20284":3515,"39282":3516,"24051":3517,"26494":3518,"32824":3519,"24578":3520,"39042":3521,"36865":3522,"23435":3523,"35772":3524,"35829":3525,"25628":3526,"33368":3527,"25822":3528,"22013":3529,"33487":3530,"37221":3531,"20439":3532,"32032":3533,"36895":3534,"31903":3535,"20723":3536,"22609":3537,"28335":3538,"23487":3539,"35785":3540,"32899":3541,"37240":3542,"33948":3543,"31639":3544,"34429":3545,"38539":3546,"38543":3547,"32485":3548,"39635":3549,"30862":3550,"23681":3551,"31319":3552,"36930":3553,"38567":3554,"31071":3555,"23385":3556,"25439":3557,"31499":3558,"34001":3559,"26797":3560,"21766":3561,"32553":3562,"29712":3563,"32034":3564,"38145":3565,"25152":3566,"22604":3567,"20182":3568,"23427":3569,"22905":3570,"22612":3571,"29549":3572,"25374":3573,"36427":3574,"36367":3575,"32974":3576,"33492":3577,"25260":3578,"21488":3579,"27888":3580,"37214":3581,"22826":3582,"24577":3583,"27760":3584,"22349":3585,"25674":3586,"36138":3587,"30251":3588,"28393":3589,"22363":3590,"27264":3591,"30192":3592,"28525":3593,"35885":3594,"35848":3595,"22374":3596,"27631":3597,"34962":3598,"30899":3599,"25506":3600,"21497":3601,"28845":3602,"27748":3603,"22616":3604,"25642":3605,"22530":3606,"26848":3607,"33179":3608,"21776":3609,"31958":3610,"20504":3611,"36538":3612,"28108":3613,"36255":3614,"28907":3615,"25487":3616,"28059":3617,"28372":3618,"32486":3619,"33796":3620,"26691":3621,"36867":3622,"28120":3623,"38518":3624,"35752":3625,"22871":3626,"29305":3627,"34276":3628,"33150":3629,"30140":3630,"35466":3631,"26799":3632,"21076":3633,"36386":3634,"38161":3635,"25552":3636,"39064":3637,"36420":3638,"21884":3639,"20307":3640,"26367":3641,"22159":3642,"24789":3643,"28053":3644,"21059":3645,"23625":3646,"22825":3647,"28155":3648,"22635":3649,"12133":3650,"30000":3650,"29980":3651,"24684":3652,"33300":3653,"33094":3654,"25361":3655,"26465":3656,"36834":3657,"30522":3658,"36339":3659,"36148":3660,"38081":3661,"24086":3662,"21381":3663,"21548":3664,"28867":3665,"27712":3666,"24311":3667,"20572":3668,"20141":3669,"24237":3670,"25402":3671,"33351":3672,"36890":3673,"26704":3674,"37230":3675,"30643":3676,"21516":3677,"38108":3678,"24420":3679,"31461":3680,"26742":3681,"25413":3682,"31570":3683,"32479":3684,"30171":3685,"20599":3686,"25237":3687,"22836":3688,"36879":3689,"20984":3690,"31171":3691,"31361":3692,"22270":3693,"24466":3694,"36884":3695,"28034":3696,"23648":3697,"12063":3698,"22303":3698,"21520":3699,"20820":3700,"28237":3701,"22242":3702,"25512":3703,"39059":3704,"33151":3705,"34581":3706,"35114":3707,"36864":3708,"21534":3709,"23663":3710,"33216":3711,"25302":3712,"25176":3713,"33073":3714,"40501":3715,"38464":3716,"39534":3717,"39548":3718,"26925":3719,"22949":3720,"25299":3721,"21822":3722,"25366":3723,"21703":3724,"34521":3725,"27964":3726,"23043":3727,"12129":3728,"29926":3728,"34972":3729,"27498":3730,"22806":3731,"35916":3732,"24367":3733,"28286":3734,"29609":3735,"39037":3736,"20024":3737,"28919":3738,"23436":3739,"30871":3740,"25405":3741,"26202":3742,"30358":3743,"24779":3744,"23451":3745,"23113":3746,"19975":3747,"33109":3748,"27754":3749,"29579":3750,"20129":3751,"26505":3752,"12153":3753,"32593":3753,"24448":3754,"26106":3755,"26395":3756,"24536":3757,"22916":3758,"23041":3759,"24013":3760,"24494":3761,"21361":3762,"38886":3763,"36829":3764,"26693":3765,"22260":3766,"21807":3767,"24799":3768,"20026":3769,"28493":3770,"32500":3771,"33479":3772,"33806":3773,"22996":3774,"20255":3775,"20266":3776,"23614":3777,"32428":3778,"26410":3779,"34074":3780,"21619":3781,"30031":3782,"32963":3783,"21890":3784,"39759":3785,"20301":3786,"28205":3787,"35859":3788,"23561":3789,"24944":3790,"21355":3791,"30239":3792,"28201":3793,"34442":3794,"12098":3795,"25991":3795,"38395":3796,"32441":3797,"21563":3798,"31283":3799,"32010":3800,"38382":3801,"21985":3802,"32705":3803,"29934":3804,"25373":3805,"34583":3806,"28065":3807,"31389":3808,"25105":3809,"26017":3810,"21351":3811,"25569":3812,"27779":3813,"24043":3814,"21596":3815,"38056":3816,"20044":3817,"27745":3818,"35820":3819,"23627":3820,"12102":3821,"26080":3821,"33436":3822,"26791":3823,"21566":3824,"21556":3825,"12111":3826,"27595":3826,"27494":3827,"20116":3828,"25410":3829,"21320":3830,"33310":3831,"20237":3832,"20398":3833,"22366":3834,"25098":3835,"38654":3836,"26212":3837,"29289":3838,"21247":3839,"21153":3840,"24735":3841,"35823":3842,"26132":3843,"29081":3844,"26512":3845,"35199":3846,"30802":3847,"30717":3848,"26224":3849,"22075":3850,"21560":3851,"38177":3852,"29306":3853,"31232":3854,"24687":3855,"24076":3856,"24713":3857,"33181":3858,"12067":3859,"22805":3859,"24796":3860,"29060":3861,"28911":3862,"28330":3863,"27728":3864,"29312":3865,"27268":3866,"34989":3867,"24109":3868,"20064":3869,"23219":3870,"21916":3871,"38115":3872,"27927":3873,"31995":3874,"38553":3875,"25103":3876,"32454":3877,"30606":3878,"34430":3879,"21283":3880,"38686":3881,"36758":3882,"26247":3883,"23777":3884,"20384":3885,"29421":3886,"19979":3887,"21414":3888,"22799":3889,"21523":3890,"25472":3891,"38184":3892,"20808":3893,"20185":3894,"40092":3895,"32420":3896,"21688":3897,"36132":3898,"34900":3899,"33335":3900,"38386":3901,"28046":3902,"24358":3903,"23244":3904,"26174":3905,"38505":3906,"29616":3907,"29486":3908,"21439":3909,"33146":3910,"39301":3911,"32673":3912,"23466":3913,"38519":3914,"38480":3915,"32447":3916,"30456":3917,"21410":3918,"38262":3919,"12217":3920,"39321":3920,"31665":3921,"35140":3922,"28248":3923,"20065":3924,"32724":3925,"31077":3926,"35814":3927,"24819":3928,"21709":3929,"20139":3930,"39033":3931,"24055":3932,"27233":3933,"20687":3934,"21521":3935,"35937":3936,"33831":3937,"30813":3938,"38660":3939,"21066":3940,"21742":3941,"22179":3942,"38144":3943,"28040":3944,"23477":3945,"28102":3946,"26195":3947,"12073":3948,"23567":3948,"23389":3949,"26657":3950,"32918":3951,"21880":3952,"31505":3953,"25928":3954,"26964":3955,"20123":3956,"27463":3957,"34638":3958,"38795":3959,"21327":3960,"25375":3961,"25658":3962,"37034":3963,"26012":3964,"32961":3965,"35856":3966,"20889":3967,"26800":3968,"21368":3969,"34809":3970,"25032":3971,"27844":3972,"27899":3973,"35874":3974,"23633":3975,"34218":3976,"33455":3977,"38156":3978,"27427":3979,"12191":3980,"36763":3980,"26032":3981,"24571":3982,"12092":3983,"24515":3983,"20449":3984,"34885":3985,"26143":3986,"33125":3987,"29481":3988,"24826":3989,"20852":3990,"21009":3991,"22411":3992,"24418":3993,"37026":3994,"12175":3995,"34892":3995,"37266":3996,"24184":3997,"26447":3998,"24615":3999,"22995":4000,"20804":4001,"20982":4002,"33016":4003,"21256":4004,"27769":4005,"38596":4006,"29066":4007,"20241":4008,"20462":4009,"32670":4010,"26429":4011,"21957":4012,"38152":4013,"31168":4014,"34966":4015,"32483":4016,"22687":4017,"25100":4018,"38656":4019,"34394":4020,"22040":4021,"39035":4022,"24464":4023,"35768":4024,"33988":4025,"37207":4026,"21465":4027,"26093":4028,"24207":4029,"30044":4030,"24676":4031,"32110":4032,"23167":4033,"32490":4034,"32493":4035,"36713":4036,"21927":4037,"23459":4038,"24748":4039,"26059":4040,"12126":4041,"29572":4041,"36873":4042,"30307":4043,"30505":4044,"32474":4045,"38772":4046,"34203":4047,"23398":4048,"12147":4049,"31348":4049,"38634":4050,"12174":4051,"34880":4051,"21195":4052,"29071":4053,"24490":4054,"26092":4055,"35810":4056,"23547":4057,"39535":4058,"24033":4059,"27529":4060,"27739":4061,"35757":4062,"35759":4063,"36874":4064,"36805":4065,"21387":4066,"25276":4067,"40486":4068,"40493":4069,"21568":4070,"20011":4071,"33469":4072,"12123":4073,"29273":4073,"34460":4074,"23830":4075,"34905":4076,"28079":4077,"38597":4078,"21713":4079,"20122":4080,"35766":4081,"28937":4082,"21693":4083,"38409":4084,"28895":4085,"28153":4086,"30416":4087,"20005":4088,"30740":4089,"34578":4090,"23721":4091,"24310":4092,"12180":4093,"35328":4093,"39068":4094,"38414":4095,"28814":4096,"27839":4097,"22852":4098,"25513":4099,"30524":4100,"34893":4101,"28436":4102,"33395":4103,"22576":4104,"29141":4105,"21388":4106,"30746":4107,"38593":4108,"21761":4109,"24422":4110,"28976":4111,"23476":4112,"35866":4113,"39564":4114,"27523":4115,"22830":4116,"40495":4117,"31207":4118,"26472":4119,"25196":4120,"20335":4121,"30113":4122,"12154":4123,"32650":4123,"27915":4124,"38451":4125,"27687":4126,"20208":4127,"30162":4128,"20859":4129,"26679":4130,"28478":4131,"36992":4132,"33136":4133,"22934":4134,"29814":4135,"25671":4136,"23591":4137,"36965":4138,"31377":4139,"35875":4140,"23002":4141,"21676":4142,"33280":4143,"33647":4144,"35201":4145,"32768":4146,"26928":4147,"22094":4148,"32822":4149,"29239":4150,"37326":4151,"20918":4152,"20063":4153,"39029":4154,"25494":4155,"19994":4156,"21494":4157,"26355":4158,"33099":4159,"22812":4160,"28082":4161,"12032":4162,"19968":4162,"22777":4163,"21307":4164,"25558":4165,"38129":4166,"20381":4167,"20234":4168,"12176":4169,"34915":4169,"39056":4170,"22839":4171,"36951":4172,"31227":4173,"20202":4174,"33008":4175,"30097":4176,"27778":4177,"23452":4178,"23016":4179,"24413":4180,"26885":4181,"34433":4182,"20506":4183,"24050":4184,"12036":4185,"20057":4185,"30691":4186,"20197":4187,"33402":4188,"25233":4189,"26131":4190,"12194":4191,"37009":4191,"23673":4192,"20159":4193,"24441":4194,"33222":4195,"36920":4196,"32900":4197,"30123":4198,"20134":4199,"35028":4200,"24847":4201,"27589":4202,"24518":4203,"20041":4204,"30410":4205,"28322":4206,"35811":4207,"35758":4208,"35850":4209,"35793":4210,"24322":4211,"32764":4212,"32716":4213,"32462":4214,"33589":4215,"33643":4216,"22240":4217,"27575":4218,"12211":4219,"38899":4219,"38452":4220,"23035":4221,"21535":4222,"38134":4223,"28139":4224,"23493":4225,"39278":4226,"23609":4227,"24341":4228,"38544":4229,"21360":4230,"33521":4231,"27185":4232,"23156":4233,"40560":4234,"24212":4235,"32552":4236,"33721":4237,"33828":4238,"33829":4239,"33639":4240,"34631":4241,"36814":4242,"36194":4243,"30408":4244,"24433":4245,"39062":4246,"30828":4247,"26144":4248,"21727":4249,"25317":4250,"20323":4251,"33219":4252,"30152":4253,"24248":4254,"38605":4255,"36362":4256,"34553":4257,"21647":4258,"27891":4259,"28044":4260,"27704":4261,"24703":4262,"21191":4263,"12132":4264,"29992":4264,"24189":4265,"20248":4266,"24736":4267,"24551":4268,"23588":4269,"30001":4270,"37038":4271,"38080":4272,"29369":4273,"27833":4274,"28216":4275,"12195":4276,"37193":4276,"26377":4277,"21451":4278,"21491":4279,"20305":4280,"37321":4281,"35825":4282,"12060":4283,"21448":4283,"24188":4284,"36802":4285,"28132":4286,"20110":4287,"30402":4288,"27014":4289,"34398":4290,"24858":4291,"33286":4292,"20313":4293,"20446":4294,"36926":4295,"40060":4296,"24841":4297,"28189":4298,"28180":4299,"38533":4300,"20104":4301,"23089":4302,"12204":4303,"38632":4303,"19982":4304,"23679":4305,"31161":4306,"23431":4307,"35821":4308,"12155":4309,"32701":4309,"12127":4310,"29577":4310,"22495":4311,"33419":4312,"37057":4313,"21505":4314,"36935":4315,"21947":4316,"23786":4317,"24481":4318,"24840":4319,"27442":4320,"29425":4321,"32946":4322,"35465":4323,"28020":4324,"23507":4325,"35029":4326,"39044":4327,"35947":4328,"39533":4329,"40499":4330,"28170":4331,"20900":4332,"20803":4333,"22435":4334,"34945":4335,"21407":4336,"25588":4337,"36757":4338,"22253":4339,"21592":4340,"22278":4341,"29503":4342,"28304":4343,"32536":4344,"36828":4345,"33489":4346,"24895":4347,"24616":4348,"38498":4349,"12104":4350,"26352":4350,"32422":4351,"36234":4352,"36291":4353,"38053":4354,"23731":4355,"31908":4356,"12105":4357,"26376":4357,"24742":4358,"38405":4359,"32792":4360,"20113":4361,"37095":4362,"21248":4363,"38504":4364,"20801":4365,"36816":4366,"34164":4367,"37213":4368,"26197":4369,"38901":4370,"23381":4371,"21277":4372,"30776":4373,"26434":4374,"26685":4375,"21705":4376,"28798":4377,"23472":4378,"36733":4379,"20877":4380,"22312":4381,"21681":4382,"25874":4383,"26242":4384,"36190":4385,"36163":4386,"33039":4387,"33900":4388,"36973":4389,"31967":4390,"20991":4391,"34299":4392,"26531":4393,"26089":4394,"28577":4395,"34468":4396,"36481":4397,"22122":4398,"36896":4399,"30338":4400,"28790":4401,"29157":4402,"36131":4403,"25321":4404,"21017":4405,"27901":4406,"36156":4407,"24590":4408,"22686":4409,"24974":4410,"26366":4411,"36192":4412,"25166":4413,"21939":4414,"28195":4415,"26413":4416,"36711":4417,"38113":4418,"38392":4419,"30504":4420,"26629":4421,"27048":4422,"21643":4423,"20045":4424,"28856":4425,"35784":4426,"25688":4427,"25995":4428,"23429":4429,"31364":4430,"20538":4431,"23528":4432,"30651":4433,"27617":4434,"35449":4435,"31896":4436,"27838":4437,"30415":4438,"26025":4439,"36759":4440,"23853":4441,"23637":4442,"34360":4443,"26632":4444,"21344":4445,"25112":4446,"31449":4447,"28251":4448,"32509":4449,"27167":4450,"31456":4451,"24432":4452,"28467":4453,"24352":4454,"25484":4455,"28072":4456,"26454":4457,"19976":4458,"24080":4459,"36134":4460,"20183":4461,"32960":4462,"30260":4463,"38556":4464,"25307":4465,"26157":4466,"25214":4467,"27836":4468,"36213":4469,"29031":4470,"32617":4471,"20806":4472,"32903":4473,"21484":4474,"36974":4475,"25240":4476,"21746":4477,"34544":4478,"36761":4479,"32773":4480,"38167":4481,"34071":4482,"36825":4483,"27993":4484,"29645":4485,"26015":4486,"30495":4487,"29956":4488,"30759":4489,"33275":4490,"36126":4491,"38024":4492,"20390":4493,"26517":4494,"30137":4495,"35786":4496,"38663":4497,"25391":4498,"38215":4499,"38453":4500,"33976":4501,"25379":4502,"30529":4503,"24449":4504,"29424":4505,"20105":4506,"24596":4507,"25972":4508,"25327":4509,"27491":4510,"25919":4511,"24103":4512,"30151":4513,"37073":4514,"35777":4515,"33437":4516,"26525":4517,"12096":4518,"25903":4518,"21553":4519,"34584":4520,"30693":4521,"32930":4522,"33026":4523,"27713":4524,"20043":4525,"32455":4526,"32844":4527,"30452":4528,"26893":4529,"27542":4530,"25191":4531,"20540":4532,"20356":4533,"22336":4534,"25351":4535,"12108":4536,"27490":4536,"36286":4537,"21482":4538,"26088":4539,"32440":4540,"24535":4541,"25370":4542,"25527":4543,"12164":4544,"33267":4544,"33268":4545,"32622":4546,"24092":4547,"23769":4548,"21046":4549,"26234":4550,"31209":4551,"31258":4552,"36136":4553,"28825":4554,"30164":4555,"28382":4556,"27835":4557,"31378":4558,"20013":4559,"30405":4560,"24544":4561,"38047":4562,"34935":4563,"32456":4564,"31181":4565,"32959":4566,"37325":4567,"20210":4568,"20247":4569,"12168":4570,"33311":4570,"21608":4571,"24030":4572,"27954":4573,"35788":4574,"31909":4575,"36724":4576,"32920":4577,"24090":4578,"21650":4579,"30385":4580,"23449":4581,"26172":4582,"39588":4583,"29664":4584,"26666":4585,"34523":4586,"26417":4587,"29482":4588,"35832":4589,"35803":4590,"36880":4591,"12149":4592,"31481":4592,"28891":4593,"29038":4594,"25284":4595,"30633":4596,"22065":4597,"20027":4598,"33879":4599,"26609":4600,"21161":4601,"34496":4602,"36142":4603,"38136":4604,"31569":4605,"20303":4606,"27880":4607,"31069":4608,"39547":4609,"25235":4610,"12118":4611,"29226":4611,"25341":4612,"19987":4613,"30742":4614,"36716":4615,"25776":4616,"36186":4617,"31686":4618,"26729":4619,"24196":4620,"35013":4621,"22918":4622,"25758":4623,"22766":4624,"29366":4625,"26894":4626,"38181":4627,"36861":4628,"36184":4629,"22368":4630,"32512":4631,"35846":4632,"20934":4633,"25417":4634,"25305":4635,"21331":4636,"26700":4637,"29730":4638,"33537":4639,"37196":4640,"21828":4641,"30528":4642,"28796":4643,"27978":4644,"20857":4645,"21672":4646,"36164":4647,"23039":4648,"28363":4649,"28100":4650,"23388":4651,"32043":4652,"20180":4653,"31869":4654,"28371":4655,"12070":4656,"23376":4656,"12163":4657,"33258":4657,"28173":4658,"23383":4659,"39683":4660,"26837":4661,"36394":4662,"23447":4663,"32508":4664,"24635":4665,"32437":4666,"37049":4667,"12187":4668,"36208":4668,"22863":4669,"25549":4670,"31199":4671,"12188":4672,"36275":4672,"21330":4673,"26063":4674,"31062":4675,"35781":4676,"38459":4677,"32452":4678,"38075":4679,"32386":4680,"22068":4681,"37257":4682,"26368":4683,"32618":4684,"23562":4685,"36981":4686,"26152":4687,"24038":4688,"20304":4689,"26590":4690,"20570":4691,"20316":4692,"22352":4693,"24231":4694,"20109":4695,"19980":4696,"20800":4697,"64012":4697,"19984":4698,"24319":4699,"21317":4700,"19989":4701,"20120":4702,"19998":4703,"12224":4704,"39730":4704,"23404":4705,"22121":4706,"12033":4707,"20008":4707,"31162":4708,"12035":4709,"20031":4709,"12052":4710,"21269":4710,"20039":4711,"22829":4712,"12120":4713,"29243":4713,"21358":4714,"27664":4715,"22239":4716,"32996":4717,"39319":4718,"27603":4719,"30590":4720,"40727":4721,"12034":4722,"20022":4722,"20127":4723,"40720":4724,"20060":4725,"20073":4726,"20115":4727,"33416":4728,"23387":4729,"21868":4730,"22031":4731,"20164":4732,"21389":4733,"21405":4734,"21411":4735,"21413":4736,"21422":4737,"38757":4738,"36189":4739,"12053":4740,"21274":4740,"21493":4741,"21286":4742,"21294":4743,"21310":4744,"36188":4745,"21350":4746,"21347":4747,"20994":4748,"21000":4749,"21006":4750,"21037":4751,"21043":4752,"21055":4753,"21056":4754,"21068":4755,"21086":4756,"21089":4757,"21084":4758,"33967":4759,"21117":4760,"21122":4761,"21121":4762,"21136":4763,"21139":4764,"12044":4765,"20866":4765,"32596":4766,"20155":4767,"20163":4768,"20169":4769,"20162":4770,"20200":4771,"20193":4772,"20203":4773,"20190":4774,"20251":4775,"20211":4776,"20258":4777,"20324":4778,"20213":4779,"20261":4780,"20263":4781,"20233":4782,"20267":4783,"20318":4784,"20327":4785,"25912":4786,"20314":4787,"20317":4788,"20319":4789,"20311":4790,"20274":4791,"20285":4792,"20342":4793,"20340":4794,"20369":4795,"20361":4796,"20355":4797,"20367":4798,"20350":4799,"20347":4800,"20394":4801,"20348":4802,"20396":4803,"20372":4804,"20454":4805,"20456":4806,"20458":4807,"20421":4808,"20442":4809,"20451":4810,"20444":4811,"20433":4812,"20447":4813,"20472":4814,"20521":4815,"20556":4816,"20467":4817,"20524":4818,"20495":4819,"20526":4820,"20525":4821,"20478":4822,"20508":4823,"20492":4824,"20517":4825,"20520":4826,"20606":4827,"20547":4828,"20565":4829,"20552":4830,"20558":4831,"20588":4832,"20603":4833,"20645":4834,"20647":4835,"20649":4836,"20666":4837,"20694":4838,"20742":4839,"20717":4840,"20716":4841,"20710":4842,"20718":4843,"20743":4844,"20747":4845,"20189":4846,"27709":4847,"20312":4848,"20325":4849,"20430":4850,"12245":4851,"40864":4851,"27718":4852,"31860":4853,"20846":4854,"24061":4855,"40649":4856,"39320":4857,"20865":4858,"22804":4859,"12051":4860,"21241":4860,"21261":4861,"35335":4862,"21264":4863,"20971":4864,"22809":4865,"20821":4866,"12039":4867,"20128":4867,"20822":4868,"20147":4869,"34926":4870,"34980":4871,"20149":4872,"33044":4873,"35026":4874,"31104":4875,"23348":4876,"34819":4877,"32696":4878,"12046":4879,"20907":4879,"20913":4880,"20925":4881,"20924":4882,"20935":4883,"12045":4884,"20886":4884,"20898":4885,"20901":4886,"35744":4887,"35750":4888,"35751":4889,"35754":4890,"35764":4891,"35765":4892,"35767":4893,"35778":4894,"35779":4895,"35787":4896,"35791":4897,"35790":4898,"35794":4899,"35795":4900,"35796":4901,"35798":4902,"35800":4903,"35801":4904,"35804":4905,"35807":4906,"35808":4907,"35812":4908,"35816":4909,"35817":4910,"35822":4911,"35824":4912,"35827":4913,"35830":4914,"35833":4915,"35836":4916,"35839":4917,"35840":4918,"35842":4919,"35844":4920,"35847":4921,"35852":4922,"35855":4923,"35857":4924,"35858":4925,"35860":4926,"35861":4927,"35862":4928,"35865":4929,"35867":4930,"35864":4931,"35869":4932,"35871":4933,"35872":4934,"35873":4935,"35877":4936,"35879":4937,"35882":4938,"35883":4939,"35886":4940,"35887":4941,"35890":4942,"35891":4943,"35893":4944,"35894":4945,"12057":4946,"21353":4946,"21370":4947,"38429":4948,"38434":4949,"38433":4950,"38449":4951,"38442":4952,"38461":4953,"38460":4954,"38466":4955,"38473":4956,"38484":4957,"38495":4958,"38503":4959,"38508":4960,"38514":4961,"38516":4962,"38536":4963,"38541":4964,"38551":4965,"38576":4966,"37015":4967,"37019":4968,"37021":4969,"37017":4970,"37036":4971,"37025":4972,"37044":4973,"37043":4974,"37046":4975,"37050":4976,"37048":4977,"37040":4978,"37071":4979,"37061":4980,"37054":4981,"37072":4982,"37060":4983,"37063":4984,"37075":4985,"37094":4986,"37090":4987,"37084":4988,"37079":4989,"37083":4990,"37099":4991,"37103":4992,"37118":4993,"37124":4994,"37154":4995,"37150":4996,"37155":4997,"37169":4998,"37167":4999,"37177":5000,"37187":5001,"37190":5002,"21005":5003,"22850":5004,"21154":5005,"21164":5006,"21165":5007,"21182":5008,"21759":5009,"21200":5010,"21206":5011,"21232":5012,"21471":5013,"29166":5014,"30669":5015,"12085":5016,"24308":5016,"12048":5017,"20981":5017,"20988":5018,"12223":5019,"39727":5019,"12059":5020,"21430":5020,"24321":5021,"30042":5022,"24047":5023,"22348":5024,"22441":5025,"22433":5026,"22654":5027,"22716":5028,"22725":5029,"22737":5030,"22313":5031,"22316":5032,"22314":5033,"22323":5034,"22329":5035,"22318":5036,"22319":5037,"22364":5038,"22331":5039,"22338":5040,"22377":5041,"22405":5042,"22379":5043,"22406":5044,"22396":5045,"22395":5046,"22376":5047,"22381":5048,"22390":5049,"22387":5050,"22445":5051,"22436":5052,"22412":5053,"22450":5054,"22479":5055,"22439":5056,"22452":5057,"22419":5058,"22432":5059,"22485":5060,"22488":5061,"22490":5062,"22489":5063,"22482":5064,"22456":5065,"22516":5066,"22511":5067,"22520":5068,"22500":5069,"22493":5070,"22539":5071,"22541":5072,"22525":5073,"22509":5074,"22528":5075,"22558":5076,"22553":5077,"22596":5078,"22560":5079,"22629":5080,"22636":5081,"22657":5082,"22665":5083,"22682":5084,"22656":5085,"39336":5086,"40729":5087,"25087":5088,"33401":5089,"33405":5090,"33407":5091,"33423":5092,"33418":5093,"33448":5094,"33412":5095,"33422":5096,"33425":5097,"33431":5098,"33433":5099,"33451":5100,"33464":5101,"33470":5102,"33456":5103,"33480":5104,"33482":5105,"33507":5106,"33432":5107,"33463":5108,"33454":5109,"33483":5110,"33484":5111,"33473":5112,"33449":5113,"33460":5114,"33441":5115,"33450":5116,"33439":5117,"33476":5118,"33486":5119,"33444":5120,"33505":5121,"33545":5122,"33527":5123,"33508":5124,"33551":5125,"33543":5126,"33500":5127,"33524":5128,"33490":5129,"33496":5130,"33548":5131,"33531":5132,"33491":5133,"33553":5134,"33562":5135,"33542":5136,"33556":5137,"33557":5138,"33504":5139,"33493":5140,"33564":5141,"33617":5142,"33627":5143,"33628":5144,"33544":5145,"33682":5146,"33596":5147,"33588":5148,"33585":5149,"33691":5150,"33630":5151,"33583":5152,"33615":5153,"33607":5154,"33603":5155,"33631":5156,"33600":5157,"33559":5158,"33632":5159,"33581":5160,"33594":5161,"33587":5162,"33638":5163,"33637":5164,"33640":5165,"33563":5166,"33641":5167,"33644":5168,"33642":5169,"33645":5170,"33646":5171,"33712":5172,"33656":5173,"33715":5174,"33716":5175,"33696":5176,"33706":5177,"33683":5178,"33692":5179,"33669":5180,"33660":5181,"33718":5182,"33705":5183,"33661":5184,"33720":5185,"33659":5186,"33688":5187,"33694":5188,"33704":5189,"33722":5190,"33724":5191,"33729":5192,"33793":5193,"33765":5194,"33752":5195,"22535":5196,"33816":5197,"33803":5198,"33757":5199,"33789":5200,"33750":5201,"33820":5202,"33848":5203,"33809":5204,"33798":5205,"33748":5206,"33759":5207,"33807":5208,"33795":5209,"33784":5210,"33785":5211,"33770":5212,"33733":5213,"33728":5214,"33830":5215,"33776":5216,"33761":5217,"33884":5218,"33873":5219,"33882":5220,"33881":5221,"33907":5222,"33927":5223,"33928":5224,"33914":5225,"33929":5226,"33912":5227,"33852":5228,"33862":5229,"33897":5230,"33910":5231,"33932":5232,"33934":5233,"33841":5234,"33901":5235,"33985":5236,"33997":5237,"34000":5238,"34022":5239,"33981":5240,"34003":5241,"33994":5242,"33983":5243,"33978":5244,"34016":5245,"33953":5246,"33977":5247,"33972":5248,"33943":5249,"34021":5250,"34019":5251,"34060":5252,"29965":5253,"34104":5254,"34032":5255,"34105":5256,"34079":5257,"34106":5258,"34134":5259,"34107":5260,"34047":5261,"34044":5262,"34137":5263,"34120":5264,"34152":5265,"34148":5266,"34142":5267,"34170":5268,"30626":5269,"34115":5270,"34162":5271,"34171":5272,"34212":5273,"34216":5274,"34183":5275,"34191":5276,"34169":5277,"34222":5278,"34204":5279,"34181":5280,"34233":5281,"34231":5282,"34224":5283,"34259":5284,"34241":5285,"34268":5286,"34303":5287,"34343":5288,"34309":5289,"34345":5290,"34326":5291,"34364":5292,"12086":5293,"24318":5293,"24328":5294,"22844":5295,"22849":5296,"32823":5297,"22869":5298,"22874":5299,"22872":5300,"21263":5301,"12074":5302,"23586":5302,"23589":5303,"23596":5304,"23604":5305,"25164":5306,"25194":5307,"25247":5308,"25275":5309,"25290":5310,"25306":5311,"25303":5312,"25326":5313,"25378":5314,"25334":5315,"25401":5316,"25419":5317,"25411":5318,"25517":5319,"25590":5320,"25457":5321,"25466":5322,"25486":5323,"25524":5324,"25453":5325,"25516":5326,"25482":5327,"25449":5328,"25518":5329,"25532":5330,"25586":5331,"25592":5332,"25568":5333,"25599":5334,"25540":5335,"25566":5336,"25550":5337,"25682":5338,"25542":5339,"25534":5340,"25669":5341,"25665":5342,"25611":5343,"25627":5344,"25632":5345,"25612":5346,"25638":5347,"25633":5348,"25694":5349,"25732":5350,"25709":5351,"25750":5352,"25722":5353,"25783":5354,"25784":5355,"25753":5356,"25786":5357,"25792":5358,"25808":5359,"25815":5360,"25828":5361,"25826":5362,"25865":5363,"25893":5364,"25902":5365,"12087":5366,"24331":5366,"24530":5367,"29977":5368,"24337":5369,"21343":5370,"21489":5371,"21501":5372,"21481":5373,"21480":5374,"21499":5375,"21522":5376,"21526":5377,"21510":5378,"21579":5379,"21586":5380,"21587":5381,"21588":5382,"21590":5383,"21571":5384,"21537":5385,"21591":5386,"21593":5387,"21539":5388,"21554":5389,"21634":5390,"21652":5391,"21623":5392,"21617":5393,"21604":5394,"21658":5395,"21659":5396,"21636":5397,"21622":5398,"21606":5399,"21661":5400,"21712":5401,"21677":5402,"21698":5403,"21684":5404,"21714":5405,"21671":5406,"21670":5407,"21715":5408,"21716":5409,"21618":5410,"21667":5411,"21717":5412,"21691":5413,"21695":5414,"21708":5415,"21721":5416,"21722":5417,"21724":5418,"21673":5419,"21674":5420,"21668":5421,"21725":5422,"21711":5423,"21726":5424,"21787":5425,"21735":5426,"21792":5427,"21757":5428,"21780":5429,"21747":5430,"21794":5431,"21795":5432,"21775":5433,"21777":5434,"21799":5435,"21802":5436,"21863":5437,"21903":5438,"21941":5439,"21833":5440,"21869":5441,"21825":5442,"21845":5443,"21823":5444,"21840":5445,"21820":5446,"21815":5447,"21846":5448,"21877":5449,"21878":5450,"21879":5451,"21811":5452,"21808":5453,"21852":5454,"21899":5455,"21970":5456,"21891":5457,"21937":5458,"21945":5459,"21896":5460,"21889":5461,"21919":5462,"21886":5463,"21974":5464,"21905":5465,"21883":5466,"21983":5467,"21949":5468,"21950":5469,"21908":5470,"21913":5471,"21994":5472,"22007":5473,"21961":5474,"22047":5475,"21969":5476,"21995":5477,"21996":5478,"21972":5479,"21990":5480,"21981":5481,"21956":5482,"21999":5483,"21989":5484,"22002":5485,"22003":5486,"21964":5487,"21965":5488,"21992":5489,"22005":5490,"21988":5491,"36756":5492,"22046":5493,"22024":5494,"22028":5495,"22017":5496,"22052":5497,"22051":5498,"22014":5499,"22016":5500,"22055":5501,"22061":5502,"22104":5503,"22073":5504,"22103":5505,"22060":5506,"22093":5507,"22114":5508,"22105":5509,"22108":5510,"22092":5511,"22100":5512,"22150":5513,"22116":5514,"22129":5515,"22123":5516,"22139":5517,"22140":5518,"22149":5519,"22163":5520,"22191":5521,"22228":5522,"12062":5523,"22231":5523,"22237":5524,"22241":5525,"22261":5526,"22251":5527,"22265":5528,"22271":5529,"22276":5530,"22282":5531,"22281":5532,"22300":5533,"24079":5534,"24089":5535,"24084":5536,"24081":5537,"24113":5538,"24123":5539,"24124":5540,"24119":5541,"24132":5542,"24148":5543,"24155":5544,"24158":5545,"24161":5546,"23692":5547,"23674":5548,"23693":5549,"23696":5550,"23702":5551,"23688":5552,"23704":5553,"23705":5554,"23697":5555,"23706":5556,"23708":5557,"23733":5558,"23714":5559,"23741":5560,"23724":5561,"23723":5562,"23729":5563,"23715":5564,"23745":5565,"23735":5566,"23748":5567,"23762":5568,"23780":5569,"23755":5570,"23781":5571,"23810":5572,"23811":5573,"23847":5574,"23846":5575,"23854":5576,"23844":5577,"23838":5578,"23814":5579,"23835":5580,"23896":5581,"23870":5582,"23860":5583,"23869":5584,"23916":5585,"23899":5586,"23919":5587,"23901":5588,"23915":5589,"23883":5590,"23882":5591,"23913":5592,"23924":5593,"23938":5594,"23961":5595,"23965":5596,"35955":5597,"23991":5598,"24005":5599,"12091":5600,"24435":5600,"24439":5601,"24450":5602,"24455":5603,"24457":5604,"24460":5605,"24469":5606,"24473":5607,"24476":5608,"24488":5609,"24493":5610,"24501":5611,"24508":5612,"34914":5613,"12090":5614,"24417":5614,"29357":5615,"29360":5616,"29364":5617,"29367":5618,"29368":5619,"29379":5620,"29377":5621,"29390":5622,"29389":5623,"29394":5624,"29416":5625,"29423":5626,"29417":5627,"29426":5628,"29428":5629,"29431":5630,"29441":5631,"29427":5632,"29443":5633,"29434":5634,"29435":5635,"29463":5636,"29459":5637,"29473":5638,"29450":5639,"29470":5640,"29469":5641,"29461":5642,"29474":5643,"29497":5644,"29477":5645,"29484":5646,"29496":5647,"29489":5648,"29520":5649,"29517":5650,"29527":5651,"29536":5652,"29548":5653,"29551":5654,"29566":5655,"12167":5656,"33307":5656,"22821":5657,"39143":5658,"22820":5659,"12065":5660,"22786":5660,"39267":5661,"39271":5662,"39272":5663,"39273":5664,"39274":5665,"39275":5666,"39276":5667,"39284":5668,"39287":5669,"39293":5670,"39296":5671,"39300":5672,"39303":5673,"39306":5674,"39309":5675,"39312":5676,"39313":5677,"39315":5678,"39316":5679,"39317":5680,"24192":5681,"24209":5682,"24203":5683,"24214":5684,"24229":5685,"24224":5686,"24249":5687,"24245":5688,"24254":5689,"24243":5690,"36179":5691,"24274":5692,"24273":5693,"24283":5694,"24296":5695,"24298":5696,"33210":5697,"24516":5698,"24521":5699,"24534":5700,"24527":5701,"24579":5702,"24558":5703,"24580":5704,"24545":5705,"24548":5706,"24574":5707,"24581":5708,"24582":5709,"24554":5710,"24557":5711,"24568":5712,"24601":5713,"24629":5714,"24614":5715,"24603":5716,"24591":5717,"24589":5718,"24617":5719,"24619":5720,"24586":5721,"24639":5722,"24609":5723,"24696":5724,"24697":5725,"24699":5726,"24698":5727,"24642":5728,"24682":5729,"24701":5730,"24726":5731,"24730":5732,"24749":5733,"24733":5734,"24707":5735,"24722":5736,"24716":5737,"24731":5738,"24812":5739,"24763":5740,"24753":5741,"24797":5742,"24792":5743,"24774":5744,"24794":5745,"24756":5746,"24864":5747,"24870":5748,"24853":5749,"24867":5750,"24820":5751,"24832":5752,"24846":5753,"24875":5754,"24906":5755,"24949":5756,"25004":5757,"24980":5758,"24999":5759,"25015":5760,"25044":5761,"25077":5762,"24541":5763,"38579":5764,"38377":5765,"38379":5766,"38385":5767,"38387":5768,"38389":5769,"38390":5770,"38396":5771,"38398":5772,"38403":5773,"38404":5774,"38406":5775,"38408":5776,"38410":5777,"38411":5778,"38412":5779,"38413":5780,"38415":5781,"38418":5782,"38421":5783,"38422":5784,"38423":5785,"38425":5786,"38426":5787,"20012":5788,"12121":5789,"29247":5789,"25109":5790,"27701":5791,"27732":5792,"27740":5793,"27722":5794,"27811":5795,"27781":5796,"27792":5797,"27796":5798,"27788":5799,"27752":5800,"27753":5801,"27764":5802,"27766":5803,"27782":5804,"27817":5805,"27856":5806,"27860":5807,"27821":5808,"27895":5809,"27896":5810,"27889":5811,"27863":5812,"27826":5813,"27872":5814,"27862":5815,"27898":5816,"27883":5817,"27886":5818,"27825":5819,"27859":5820,"27887":5821,"27902":5822,"27961":5823,"27943":5824,"27916":5825,"27971":5826,"27976":5827,"27911":5828,"27908":5829,"27929":5830,"27918":5831,"27947":5832,"27981":5833,"27950":5834,"27957":5835,"27930":5836,"27983":5837,"27986":5838,"27988":5839,"27955":5840,"28049":5841,"28015":5842,"28062":5843,"28064":5844,"27998":5845,"28051":5846,"28052":5847,"27996":5848,"28000":5849,"28028":5850,"28003":5851,"28186":5852,"28103":5853,"28101":5854,"28126":5855,"28174":5856,"28095":5857,"28128":5858,"28177":5859,"28134":5860,"28125":5861,"28121":5862,"28182":5863,"28075":5864,"28172":5865,"28078":5866,"28203":5867,"28270":5868,"28238":5869,"28267":5870,"28338":5871,"28255":5872,"28294":5873,"28243":5874,"28244":5875,"28210":5876,"28197":5877,"28228":5878,"28383":5879,"28337":5880,"28312":5881,"28384":5882,"28461":5883,"28386":5884,"28325":5885,"28327":5886,"28349":5887,"28347":5888,"28343":5889,"28375":5890,"28340":5891,"28367":5892,"28303":5893,"28354":5894,"28319":5895,"28514":5896,"28486":5897,"28487":5898,"28452":5899,"28437":5900,"28409":5901,"28463":5902,"28470":5903,"28491":5904,"28532":5905,"28458":5906,"28425":5907,"28457":5908,"28553":5909,"28557":5910,"28556":5911,"28536":5912,"28530":5913,"28540":5914,"28538":5915,"28625":5916,"28617":5917,"28583":5918,"28601":5919,"28598":5920,"28610":5921,"28641":5922,"28654":5923,"28638":5924,"28640":5925,"28655":5926,"28698":5927,"28707":5928,"28699":5929,"28729":5930,"28725":5931,"28751":5932,"28766":5933,"12071":5934,"23424":5934,"23428":5935,"23445":5936,"23443":5937,"23461":5938,"23480":5939,"29999":5940,"39582":5941,"25652":5942,"23524":5943,"23534":5944,"35120":5945,"23536":5946,"36423":5947,"35591":5948,"36790":5949,"36819":5950,"36821":5951,"36837":5952,"36846":5953,"36836":5954,"36841":5955,"36838":5956,"36851":5957,"36840":5958,"36869":5959,"36868":5960,"36875":5961,"36902":5962,"36881":5963,"36877":5964,"36886":5965,"36897":5966,"36917":5967,"36918":5968,"36909":5969,"36911":5970,"36932":5971,"36945":5972,"36946":5973,"36944":5974,"36968":5975,"36952":5976,"36962":5977,"36955":5978,"26297":5979,"36980":5980,"36989":5981,"36994":5982,"37000":5983,"36995":5984,"37003":5985,"12089":5986,"24400":5986,"24407":5987,"24406":5988,"24408":5989,"23611":5990,"21675":5991,"23632":5992,"23641":5993,"23409":5994,"23651":5995,"23654":5996,"32700":5997,"24362":5998,"24361":5999,"24365":6000,"33396":6001,"24380":6002,"39739":6003,"12076":6004,"23662":6004,"22913":6005,"22915":6006,"22925":6007,"22953":6008,"22954":6009,"22947":6010,"22935":6011,"22986":6012,"22955":6013,"22942":6014,"22948":6015,"22994":6016,"22962":6017,"22959":6018,"22999":6019,"22974":6020,"23045":6021,"23046":6022,"23005":6023,"23048":6024,"23011":6025,"23000":6026,"23033":6027,"23052":6028,"23049":6029,"23090":6030,"23092":6031,"23057":6032,"23075":6033,"23059":6034,"23104":6035,"23143":6036,"23114":6037,"23125":6038,"23100":6039,"23138":6040,"23157":6041,"33004":6042,"23210":6043,"23195":6044,"23159":6045,"23162":6046,"23230":6047,"23275":6048,"23218":6049,"23250":6050,"23252":6051,"23224":6052,"23264":6053,"23267":6054,"23281":6055,"23254":6056,"23270":6057,"23256":6058,"23260":6059,"23305":6060,"23319":6061,"23318":6062,"23346":6063,"23351":6064,"23360":6065,"23573":6066,"23580":6067,"23386":6068,"23397":6069,"23411":6070,"23377":6071,"23379":6072,"23394":6073,"39541":6074,"39543":6075,"39544":6076,"39546":6077,"39551":6078,"39549":6079,"39552":6080,"39553":6081,"39557":6082,"39560":6083,"39562":6084,"39568":6085,"39570":6086,"39571":6087,"39574":6088,"39576":6089,"39579":6090,"39580":6091,"39581":6092,"39583":6093,"39584":6094,"39586":6095,"39587":6096,"39589":6097,"39591":6098,"32415":6099,"32417":6100,"32419":6101,"32421":6102,"32424":6103,"32425":6104,"32429":6105,"32432":6106,"32446":6107,"32448":6108,"32449":6109,"32450":6110,"32457":6111,"32459":6112,"32460":6113,"32464":6114,"32468":6115,"32471":6116,"32475":6117,"32480":6118,"32481":6119,"32488":6120,"32491":6121,"32494":6122,"32495":6123,"32497":6124,"32498":6125,"32525":6126,"32502":6127,"32506":6128,"32507":6129,"32510":6130,"32513":6131,"32514":6132,"32515":6133,"32519":6134,"32520":6135,"32523":6136,"32524":6137,"32527":6138,"32529":6139,"32530":6140,"32535":6141,"32537":6142,"32540":6143,"32539":6144,"32543":6145,"32545":6146,"32546":6147,"32547":6148,"32548":6149,"32549":6150,"32550":6151,"32551":6152,"32554":6153,"32555":6154,"32556":6155,"32557":6156,"32559":6157,"32560":6158,"32561":6159,"32562":6160,"32563":6161,"32565":6162,"12083":6163,"24186":6163,"30079":6164,"12078":6165,"24027":6165,"30014":6166,"37013":6167,"29582":6168,"29585":6169,"29614":6170,"29602":6171,"29599":6172,"29647":6173,"29634":6174,"29649":6175,"29623":6176,"29619":6177,"29632":6178,"29641":6179,"29640":6180,"29669":6181,"29657":6182,"39036":6183,"29706":6184,"29673":6185,"29671":6186,"29662":6187,"29626":6188,"29682":6189,"29711":6190,"29738":6191,"29787":6192,"29734":6193,"29733":6194,"29736":6195,"29744":6196,"29742":6197,"29740":6198,"29723":6199,"29722":6200,"29761":6201,"29788":6202,"29783":6203,"29781":6204,"29785":6205,"29815":6206,"29805":6207,"29822":6208,"29852":6209,"29838":6210,"29824":6211,"29825":6212,"29831":6213,"29835":6214,"29854":6215,"29864":6216,"29865":6217,"29840":6218,"29863":6219,"29906":6220,"29882":6221,"38890":6222,"38891":6223,"38892":6224,"26444":6225,"26451":6226,"26462":6227,"26440":6228,"26473":6229,"26533":6230,"26503":6231,"26474":6232,"26483":6233,"26520":6234,"26535":6235,"26485":6236,"26536":6237,"26526":6238,"26541":6239,"26507":6240,"26487":6241,"26492":6242,"26608":6243,"26633":6244,"26584":6245,"26634":6246,"26601":6247,"26544":6248,"26636":6249,"26585":6250,"26549":6251,"26586":6252,"26547":6253,"26589":6254,"26624":6255,"26563":6256,"26552":6257,"26594":6258,"26638":6259,"26561":6260,"26621":6261,"26674":6262,"26675":6263,"26720":6264,"26721":6265,"26702":6266,"26722":6267,"26692":6268,"26724":6269,"26755":6270,"26653":6271,"26709":6272,"26726":6273,"26689":6274,"26727":6275,"26688":6276,"26686":6277,"26698":6278,"26697":6279,"26665":6280,"26805":6281,"26767":6282,"26740":6283,"26743":6284,"26771":6285,"26731":6286,"26818":6287,"26990":6288,"26876":6289,"26911":6290,"26912":6291,"26873":6292,"26916":6293,"26864":6294,"26891":6295,"26881":6296,"26967":6297,"26851":6298,"26896":6299,"26993":6300,"26937":6301,"26976":6302,"26946":6303,"26973":6304,"27012":6305,"26987":6306,"27008":6307,"27032":6308,"27000":6309,"26932":6310,"27084":6311,"27015":6312,"27016":6313,"27086":6314,"27017":6315,"26982":6316,"26979":6317,"27001":6318,"27035":6319,"27047":6320,"27067":6321,"27051":6322,"27053":6323,"27092":6324,"27057":6325,"27073":6326,"27082":6327,"27103":6328,"27029":6329,"27104":6330,"27021":6331,"27135":6332,"27183":6333,"27117":6334,"27159":6335,"27160":6336,"27237":6337,"27122":6338,"27204":6339,"27198":6340,"27296":6341,"27216":6342,"27227":6343,"27189":6344,"27278":6345,"27257":6346,"27197":6347,"27176":6348,"27224":6349,"27260":6350,"27281":6351,"27280":6352,"27305":6353,"27287":6354,"27307":6355,"29495":6356,"29522":6357,"27521":6358,"27522":6359,"27527":6360,"27524":6361,"27538":6362,"27539":6363,"27533":6364,"27546":6365,"27547":6366,"27553":6367,"27562":6368,"36715":6369,"36717":6370,"36721":6371,"36722":6372,"36723":6373,"36725":6374,"36726":6375,"36728":6376,"36727":6377,"36729":6378,"36730":6379,"36732":6380,"36734":6381,"36737":6382,"36738":6383,"36740":6384,"36743":6385,"36747":6386,"36749":6387,"36750":6388,"36751":6389,"36760":6390,"36762":6391,"36558":6392,"25099":6393,"25111":6394,"25115":6395,"25119":6396,"25122":6397,"25121":6398,"25125":6399,"25124":6400,"25132":6401,"33255":6402,"29935":6403,"29940":6404,"29951":6405,"29967":6406,"29969":6407,"29971":6408,"12097":6409,"25908":6409,"26094":6410,"26095":6411,"26096":6412,"26122":6413,"26137":6414,"26482":6415,"26115":6416,"26133":6417,"26112":6418,"28805":6419,"26359":6420,"26141":6421,"26164":6422,"26161":6423,"26166":6424,"26165":6425,"32774":6426,"26207":6427,"26196":6428,"26177":6429,"26191":6430,"26198":6431,"26209":6432,"26199":6433,"26231":6434,"26244":6435,"26252":6436,"26279":6437,"26269":6438,"26302":6439,"26331":6440,"26332":6441,"26342":6442,"26345":6443,"36146":6444,"36147":6445,"36150":6446,"36155":6447,"36157":6448,"36160":6449,"36165":6450,"36166":6451,"36168":6452,"36169":6453,"36167":6454,"36173":6455,"36181":6456,"36185":6457,"35271":6458,"35274":6459,"35275":6460,"35276":6461,"35278":6462,"35279":6463,"35280":6464,"35281":6465,"29294":6466,"29343":6467,"29277":6468,"29286":6469,"29295":6470,"29310":6471,"29311":6472,"29316":6473,"29323":6474,"29325":6475,"29327":6476,"29330":6477,"25352":6478,"25394":6479,"25520":6480,"25663":6481,"25816":6482,"32772":6483,"27626":6484,"27635":6485,"27645":6486,"27637":6487,"27641":6488,"27653":6489,"27655":6490,"27654":6491,"27661":6492,"27669":6493,"27672":6494,"27673":6495,"27674":6496,"27681":6497,"27689":6498,"27684":6499,"27690":6500,"27698":6501,"25909":6502,"25941":6503,"25963":6504,"29261":6505,"29266":6506,"29270":6507,"29232":6508,"34402":6509,"21014":6510,"32927":6511,"32924":6512,"32915":6513,"32956":6514,"26378":6515,"32957":6516,"32945":6517,"32939":6518,"32941":6519,"32948":6520,"32951":6521,"32999":6522,"33000":6523,"33001":6524,"33002":6525,"32987":6526,"32962":6527,"32964":6528,"32985":6529,"32973":6530,"32983":6531,"26384":6532,"32989":6533,"33003":6534,"33009":6535,"33012":6536,"33005":6537,"33037":6538,"33038":6539,"33010":6540,"33020":6541,"26389":6542,"33042":6543,"35930":6544,"33078":6545,"33054":6546,"33068":6547,"33048":6548,"33074":6549,"33096":6550,"33100":6551,"33107":6552,"33140":6553,"33113":6554,"33114":6555,"33137":6556,"33120":6557,"33129":6558,"33148":6559,"33149":6560,"33133":6561,"33127":6562,"22605":6563,"23221":6564,"33160":6565,"33154":6566,"33169":6567,"28373":6568,"33187":6569,"33194":6570,"33228":6571,"26406":6572,"33226":6573,"33211":6574,"33217":6575,"33190":6576,"27428":6577,"27447":6578,"27449":6579,"27459":6580,"27462":6581,"27481":6582,"39121":6583,"39122":6584,"39123":6585,"39125":6586,"39129":6587,"39130":6588,"12110":6589,"27571":6589,"24384":6590,"27586":6591,"35315":6592,"26000":6593,"40785":6594,"26003":6595,"26044":6596,"26054":6597,"26052":6598,"26051":6599,"26060":6600,"26062":6601,"26066":6602,"26070":6603,"28800":6604,"28828":6605,"28822":6606,"28829":6607,"28859":6608,"28864":6609,"28855":6610,"28843":6611,"28849":6612,"28904":6613,"28874":6614,"28944":6615,"28947":6616,"28950":6617,"28975":6618,"28977":6619,"29043":6620,"29020":6621,"29032":6622,"28997":6623,"29042":6624,"29002":6625,"29048":6626,"29050":6627,"29080":6628,"29107":6629,"29109":6630,"29096":6631,"29088":6632,"29152":6633,"29140":6634,"29159":6635,"29177":6636,"29213":6637,"29224":6638,"28780":6639,"28952":6640,"29030":6641,"29113":6642,"25150":6643,"25149":6644,"25155":6645,"25160":6646,"25161":6647,"31035":6648,"31040":6649,"31046":6650,"31049":6651,"31067":6652,"31068":6653,"31059":6654,"31066":6655,"31074":6656,"31063":6657,"31072":6658,"31087":6659,"31079":6660,"31098":6661,"31109":6662,"31114":6663,"31130":6664,"31143":6665,"31155":6666,"24529":6667,"24528":6668,"24636":6669,"24669":6670,"24666":6671,"24679":6672,"24641":6673,"24665":6674,"24675":6675,"24747":6676,"24838":6677,"24845":6678,"24925":6679,"25001":6680,"24989":6681,"25035":6682,"25041":6683,"25094":6684,"32896":6685,"12160":6686,"32895":6686,"27795":6687,"27894":6688,"28156":6689,"30710":6690,"30712":6691,"30720":6692,"30729":6693,"30743":6694,"30744":6695,"30737":6696,"26027":6697,"30765":6698,"30748":6699,"30749":6700,"30777":6701,"30778":6702,"30779":6703,"30751":6704,"30780":6705,"30757":6706,"30764":6707,"30755":6708,"30761":6709,"30798":6710,"30829":6711,"30806":6712,"30807":6713,"30758":6714,"30800":6715,"30791":6716,"30796":6717,"30826":6718,"30875":6719,"30867":6720,"30874":6721,"30855":6722,"30876":6723,"30881":6724,"30883":6725,"30898":6726,"30905":6727,"30885":6728,"30932":6729,"30937":6730,"30921":6731,"30956":6732,"30962":6733,"30981":6734,"30964":6735,"30995":6736,"31012":6737,"31006":6738,"31028":6739,"40859":6740,"12235":6741,"40697":6741,"40699":6742,"40700":6743,"30449":6744,"30468":6745,"30477":6746,"30457":6747,"30471":6748,"30472":6749,"30490":6750,"30498":6751,"30489":6752,"30509":6753,"30502":6754,"30517":6755,"30520":6756,"30544":6757,"30545":6758,"30535":6759,"30531":6760,"30554":6761,"30568":6762,"30562":6763,"30565":6764,"30591":6765,"30605":6766,"30589":6767,"30592":6768,"30604":6769,"30609":6770,"30623":6771,"30624":6772,"30640":6773,"30645":6774,"30653":6775,"30010":6776,"30016":6777,"30030":6778,"30027":6779,"30024":6780,"30043":6781,"30066":6782,"30073":6783,"30083":6784,"32600":6785,"32609":6786,"32607":6787,"35400":6788,"32616":6789,"32628":6790,"32625":6791,"32633":6792,"32641":6793,"32638":6794,"30413":6795,"30437":6796,"34866":6797,"38021":6798,"38022":6799,"38023":6800,"38027":6801,"38026":6802,"38028":6803,"38029":6804,"38031":6805,"38032":6806,"38036":6807,"38039":6808,"38037":6809,"38042":6810,"38043":6811,"38044":6812,"38051":6813,"38052":6814,"38059":6815,"38058":6816,"38061":6817,"38060":6818,"38063":6819,"38064":6820,"38066":6821,"38068":6822,"38070":6823,"38071":6824,"38072":6825,"38073":6826,"38074":6827,"38076":6828,"38077":6829,"38079":6830,"38084":6831,"38088":6832,"38089":6833,"38090":6834,"38091":6835,"38092":6836,"38093":6837,"38094":6838,"38096":6839,"38097":6840,"38098":6841,"38101":6842,"38102":6843,"38103":6844,"38105":6845,"38104":6846,"38107":6847,"38110":6848,"38111":6849,"38112":6850,"38114":6851,"38116":6852,"38117":6853,"38119":6854,"38120":6855,"38122":6856,"38121":6857,"38123":6858,"38126":6859,"38127":6860,"38131":6861,"38132":6862,"38133":6863,"38135":6864,"38137":6865,"38140":6866,"38141":6867,"38143":6868,"38147":6869,"38146":6870,"38150":6871,"38151":6872,"38153":6873,"38154":6874,"38157":6875,"38158":6876,"38159":6877,"38162":6878,"38163":6879,"38164":6880,"38165":6881,"38166":6882,"38168":6883,"38171":6884,"38173":6885,"38174":6886,"38175":6887,"38178":6888,"38186":6889,"38187":6890,"38185":6891,"38188":6892,"38193":6893,"38194":6894,"38196":6895,"38198":6896,"38199":6897,"38200":6898,"38204":6899,"38206":6900,"38207":6901,"38210":6902,"38197":6903,"38212":6904,"38213":6905,"38214":6906,"38217":6907,"38220":6908,"38222":6909,"38223":6910,"38226":6911,"38227":6912,"38228":6913,"38230":6914,"38231":6915,"38232":6916,"38233":6917,"38235":6918,"38238":6919,"38239":6920,"38237":6921,"38241":6922,"38242":6923,"38244":6924,"38245":6925,"38246":6926,"38247":6927,"38248":6928,"38249":6929,"38250":6930,"38251":6931,"38252":6932,"38255":6933,"38257":6934,"38258":6935,"38259":6936,"38202":6937,"30695":6938,"30700":6939,"38601":6940,"31189":6941,"31213":6942,"31203":6943,"31211":6944,"31238":6945,"23879":6946,"31235":6947,"31234":6948,"31262":6949,"31252":6950,"31289":6951,"31287":6952,"31313":6953,"40655":6954,"39333":6955,"31344":6956,"30344":6957,"30350":6958,"30355":6959,"30361":6960,"30372":6961,"29918":6962,"29920":6963,"29996":6964,"40480":6965,"40482":6966,"40488":6967,"40489":6968,"40490":6969,"40491":6970,"40492":6971,"40498":6972,"40497":6973,"40502":6974,"40504":6975,"40503":6976,"40505":6977,"40506":6978,"40510":6979,"40513":6980,"40514":6981,"40516":6982,"40518":6983,"40519":6984,"40520":6985,"40521":6986,"40523":6987,"40524":6988,"40526":6989,"40529":6990,"40533":6991,"40535":6992,"40538":6993,"40539":6994,"40540":6995,"40542":6996,"40547":6997,"40550":6998,"40551":6999,"40552":7000,"40553":7001,"40554":7002,"40555":7003,"40556":7004,"40561":7005,"40557":7006,"40563":7007,"12135":7008,"30098":7008,"30100":7009,"30102":7010,"30112":7011,"30109":7012,"30124":7013,"30115":7014,"30131":7015,"30132":7016,"30136":7017,"30148":7018,"30129":7019,"30128":7020,"30147":7021,"30146":7022,"30166":7023,"30157":7024,"30179":7025,"30184":7026,"30182":7027,"30180":7028,"30187":7029,"30183":7030,"30211":7031,"30193":7032,"30204":7033,"30207":7034,"30224":7035,"30208":7036,"30213":7037,"30220":7038,"30231":7039,"30218":7040,"30245":7041,"30232":7042,"30229":7043,"30233":7044,"30235":7045,"30268":7046,"30242":7047,"30240":7048,"30272":7049,"30253":7050,"30256":7051,"30271":7052,"30261":7053,"30275":7054,"30270":7055,"30259":7056,"30285":7057,"30302":7058,"30292":7059,"30300":7060,"30294":7061,"30315":7062,"30319":7063,"32714":7064,"31462":7065,"31352":7066,"31353":7067,"31360":7068,"31366":7069,"31368":7070,"31381":7071,"31398":7072,"31392":7073,"31404":7074,"31400":7075,"31405":7076,"31411":7077,"34916":7078,"34921":7079,"34930":7080,"34941":7081,"34943":7082,"34946":7083,"34978":7084,"35014":7085,"34999":7086,"35004":7087,"35017":7088,"35042":7089,"35022":7090,"35043":7091,"35045":7092,"35057":7093,"35098":7094,"35068":7095,"35048":7096,"35070":7097,"35056":7098,"35105":7099,"35097":7100,"35091":7101,"35099":7102,"35082":7103,"35124":7104,"35115":7105,"35126":7106,"35137":7107,"35174":7108,"35195":7109,"12134":7110,"30091":7110,"32997":7111,"30386":7112,"30388":7113,"30684":7114,"12158":7115,"32786":7115,"32788":7116,"32790":7117,"32796":7118,"32800":7119,"32802":7120,"32805":7121,"32806":7122,"32807":7123,"32809":7124,"32808":7125,"32817":7126,"32779":7127,"32821":7128,"32835":7129,"32838":7130,"32845":7131,"32850":7132,"32873":7133,"32881":7134,"35203":7135,"39032":7136,"39040":7137,"39043":7138,"39049":7139,"39052":7140,"39053":7141,"39055":7142,"39060":7143,"39066":7144,"39067":7145,"39070":7146,"39071":7147,"39073":7148,"39074":7149,"39077":7150,"39078":7151,"12172":7152,"34381":7152,"34388":7153,"34412":7154,"34414":7155,"34431":7156,"34426":7157,"34428":7158,"34427":7159,"34472":7160,"34445":7161,"34443":7162,"34476":7163,"34461":7164,"34471":7165,"34467":7166,"34474":7167,"34451":7168,"34473":7169,"34486":7170,"34500":7171,"34485":7172,"34510":7173,"34480":7174,"34490":7175,"34481":7176,"34479":7177,"34505":7178,"34511":7179,"34484":7180,"34537":7181,"34545":7182,"34546":7183,"34541":7184,"34547":7185,"34512":7186,"34579":7187,"34526":7188,"34548":7189,"34527":7190,"34520":7191,"34513":7192,"34563":7193,"34567":7194,"34552":7195,"34568":7196,"34570":7197,"34573":7198,"34569":7199,"34595":7200,"34619":7201,"34590":7202,"34597":7203,"34606":7204,"34586":7205,"34622":7206,"34632":7207,"34612":7208,"34609":7209,"34601":7210,"34615":7211,"34623":7212,"34690":7213,"34594":7214,"34685":7215,"34686":7216,"34683":7217,"34656":7218,"34672":7219,"34636":7220,"34670":7221,"34699":7222,"34643":7223,"34659":7224,"34684":7225,"34660":7226,"34649":7227,"34661":7228,"34707":7229,"34735":7230,"34728":7231,"34770":7232,"34758":7233,"34696":7234,"34693":7235,"34733":7236,"34711":7237,"34691":7238,"34731":7239,"34789":7240,"34732":7241,"34741":7242,"34739":7243,"34763":7244,"34771":7245,"34749":7246,"34769":7247,"34752":7248,"34762":7249,"34779":7250,"34794":7251,"34784":7252,"34798":7253,"34838":7254,"34835":7255,"34814":7256,"34826":7257,"34843":7258,"34849":7259,"34873":7260,"34876":7261,"12152":7262,"32566":7262,"32578":7263,"32580":7264,"32581":7265,"33296":7266,"31482":7267,"31485":7268,"31496":7269,"31491":7270,"31492":7271,"31509":7272,"31498":7273,"31531":7274,"31503":7275,"31559":7276,"31544":7277,"31530":7278,"31513":7279,"31534":7280,"31537":7281,"31520":7282,"31525":7283,"31524":7284,"31539":7285,"31550":7286,"31518":7287,"31576":7288,"31578":7289,"31557":7290,"31605":7291,"31564":7292,"31581":7293,"31584":7294,"31598":7295,"31611":7296,"31586":7297,"31602":7298,"31601":7299,"31632":7300,"31654":7301,"31655":7302,"31672":7303,"31660":7304,"31645":7305,"31656":7306,"31621":7307,"31658":7308,"31644":7309,"31650":7310,"31659":7311,"31668":7312,"31697":7313,"31681":7314,"31692":7315,"31709":7316,"31706":7317,"31717":7318,"31718":7319,"31722":7320,"31756":7321,"31742":7322,"31740":7323,"31759":7324,"31766":7325,"31755":7326,"31775":7327,"31786":7328,"31782":7329,"31800":7330,"31809":7331,"31808":7332,"33278":7333,"33281":7334,"33282":7335,"33284":7336,"33260":7337,"34884":7338,"33313":7339,"33314":7340,"33315":7341,"33325":7342,"33327":7343,"33320":7344,"33323":7345,"33336":7346,"33339":7347,"33331":7348,"33332":7349,"33342":7350,"33348":7351,"33353":7352,"33355":7353,"33359":7354,"33370":7355,"33375":7356,"33384":7357,"34942":7358,"34949":7359,"34952":7360,"35032":7361,"35039":7362,"35166":7363,"32669":7364,"32671":7365,"32679":7366,"32687":7367,"32688":7368,"32690":7369,"31868":7370,"25929":7371,"31889":7372,"31901":7373,"31900":7374,"31902":7375,"31906":7376,"31922":7377,"31932":7378,"31933":7379,"31937":7380,"31943":7381,"31948":7382,"31949":7383,"31944":7384,"31941":7385,"31959":7386,"31976":7387,"12169":7388,"33390":7388,"26280":7389,"32703":7390,"32718":7391,"32725":7392,"32741":7393,"32737":7394,"32742":7395,"32745":7396,"32750":7397,"32755":7398,"12151":7399,"31992":7399,"32119":7400,"32166":7401,"32174":7402,"32327":7403,"32411":7404,"40632":7405,"40628":7406,"36211":7407,"36228":7408,"36244":7409,"36241":7410,"36273":7411,"36199":7412,"36205":7413,"35911":7414,"35913":7415,"37194":7416,"37200":7417,"37198":7418,"37199":7419,"37220":7420,"37218":7421,"37217":7422,"37232":7423,"37225":7424,"37231":7425,"37245":7426,"37246":7427,"37234":7428,"37236":7429,"37241":7430,"37260":7431,"37253":7432,"37264":7433,"37261":7434,"37265":7435,"37282":7436,"37283":7437,"37290":7438,"37293":7439,"37294":7440,"37295":7441,"37301":7442,"37300":7443,"37306":7444,"12183":7445,"35925":7445,"40574":7446,"36280":7447,"36331":7448,"36357":7449,"36441":7450,"36457":7451,"36277":7452,"36287":7453,"36284":7454,"36282":7455,"36292":7456,"36310":7457,"36311":7458,"36314":7459,"36318":7460,"36302":7461,"36303":7462,"36315":7463,"36294":7464,"36332":7465,"36343":7466,"36344":7467,"36323":7468,"36345":7469,"36347":7470,"36324":7471,"36361":7472,"36349":7473,"36372":7474,"36381":7475,"36383":7476,"36396":7477,"36398":7478,"36387":7479,"36399":7480,"36410":7481,"36416":7482,"36409":7483,"36405":7484,"36413":7485,"36401":7486,"36425":7487,"36417":7488,"36418":7489,"36433":7490,"36434":7491,"36426":7492,"36464":7493,"36470":7494,"36476":7495,"36463":7496,"36468":7497,"36485":7498,"36495":7499,"36500":7500,"36496":7501,"36508":7502,"36510":7503,"12184":7504,"35960":7504,"35970":7505,"35978":7506,"35973":7507,"35992":7508,"35988":7509,"26011":7510,"35286":7511,"35294":7512,"35290":7513,"35292":7514,"35301":7515,"35307":7516,"35311":7517,"35390":7518,"35622":7519,"38739":7520,"38633":7521,"38643":7522,"38639":7523,"38662":7524,"38657":7525,"38664":7526,"38671":7527,"38670":7528,"38698":7529,"38701":7530,"38704":7531,"38718":7532,"40832":7533,"40835":7534,"40837":7535,"40838":7536,"40839":7537,"40840":7538,"40841":7539,"40842":7540,"40844":7541,"40702":7542,"40715":7543,"40717":7544,"12203":7545,"38585":7545,"38588":7546,"38589":7547,"38606":7548,"38610":7549,"30655":7550,"38624":7551,"37518":7552,"37550":7553,"37576":7554,"37694":7555,"37738":7556,"37834":7557,"37775":7558,"37950":7559,"37995":7560,"40063":7561,"40066":7562,"40069":7563,"40070":7564,"40071":7565,"40072":7566,"31267":7567,"40075":7568,"40078":7569,"40080":7570,"40081":7571,"40082":7572,"40084":7573,"40085":7574,"40090":7575,"40091":7576,"40094":7577,"40095":7578,"40096":7579,"40097":7580,"40098":7581,"40099":7582,"40101":7583,"40102":7584,"40103":7585,"40104":7586,"40105":7587,"40107":7588,"40109":7589,"40110":7590,"40112":7591,"40113":7592,"40114":7593,"40115":7594,"40116":7595,"40117":7596,"40118":7597,"40119":7598,"40122":7599,"40123":7600,"40124":7601,"40125":7602,"40132":7603,"40133":7604,"40134":7605,"40135":7606,"40138":7607,"40139":7608,"40140":7609,"40141":7610,"40142":7611,"40143":7612,"40144":7613,"40147":7614,"40148":7615,"40149":7616,"40151":7617,"40152":7618,"40153":7619,"40156":7620,"40157":7621,"40159":7622,"40162":7623,"38780":7624,"38789":7625,"38801":7626,"38802":7627,"38804":7628,"38831":7629,"38827":7630,"38819":7631,"38834":7632,"38836":7633,"39601":7634,"39600":7635,"39607":7636,"40536":7637,"39606":7638,"39610":7639,"39612":7640,"39617":7641,"39616":7642,"39621":7643,"39618":7644,"39627":7645,"39628":7646,"39633":7647,"39749":7648,"39747":7649,"39751":7650,"39753":7651,"39752":7652,"39757":7653,"39761":7654,"39144":7655,"39181":7656,"39214":7657,"39253":7658,"39252":7659,"12221":7660,"39647":7660,"39649":7661,"39654":7662,"39663":7663,"39659":7664,"39675":7665,"39661":7666,"39673":7667,"39688":7668,"39695":7669,"39699":7670,"39711":7671,"39715":7672,"40637":7673,"40638":7674,"32315":7675,"40578":7676,"40583":7677,"40584":7678,"40587":7679,"40594":7680,"37846":7681,"40605":7682,"40607":7683,"40667":7684,"40668":7685,"40669":7686,"40672":7687,"40671":7688,"40674":7689,"40681":7690,"40679":7691,"40677":7692,"40682":7693,"40687":7694,"40738":7695,"40748":7696,"40751":7697,"40761":7698,"40759":7699,"40765":7700,"40766":7701,"40772":7702,"12295":7703,"30362":7717,"34297":7718,"31001":7719,"24859":7720,"39599":7721,"35158":7722,"22761":7723,"32631":7724,"25850":7725,"25943":7726,"38930":7727,"36774":7728,"32070":7729,"24171":7730,"32129":7731,"37770":7732,"35607":7733,"39165":7734,"23542":7735,"22577":7736,"39825":7737,"36649":7738,"12185":7739,"35997":7739,"37575":7740,"29437":7741,"20633":7742,"24970":7743,"32179":7744,"31558":7745,"30050":7746,"25987":7747,"24163":7748,"38281":7749,"37002":7750,"32232":7751,"36022":7752,"35722":7753,"36783":7754,"36782":7755,"27161":7756,"40009":7757,"30303":7758,"28693":7759,"28657":7760,"36051":7761,"25839":7762,"39173":7763,"25765":7764,"37474":7765,"37457":7766,"39361":7767,"35036":7768,"36001":7769,"21443":7770,"34870":7771,"27544":7772,"24922":7773,"24920":7774,"29158":7775,"33980":7776,"33369":7777,"20489":7778,"28356":7779,"21408":7780,"20596":7781,"28204":7782,"23652":7783,"35435":7784,"25881":7785,"25723":7786,"34796":7787,"39262":7788,"35730":7789,"32399":7790,"37855":7791,"29987":7792,"38369":7793,"39019":7794,"22580":7795,"22039":7796,"12199":7797,"38263":7797,"20767":7798,"33144":7799,"24288":7800,"26274":7801,"37396":7802,"12190":7803,"36554":7803,"24505":7804,"22645":7805,"38515":7806,"35183":7807,"31281":7808,"25074":7809,"35488":7810,"39425":7811,"36978":7812,"39347":7813,"12242":7814,"40786":7814,"29118":7815,"34909":7816,"34802":7817,"23541":7818,"30087":7819,"36490":7820,"31820":7821,"32162":7822,"37276":7823,"37604":7824,"38619":7825,"30990":7826,"20786":7827,"35320":7828,"34389":7829,"20659":7830,"30241":7831,"38358":7832,"21109":7833,"37656":7834,"32020":7835,"32189":7836,"36781":7837,"35422":7838,"36060":7839,"32880":7840,"24478":7841,"21474":7842,"36517":7843,"31428":7844,"37679":7845,"36948":7846,"24118":7847,"36024":7848,"25812":7849,"21934":7850,"37170":7851,"25763":7852,"33213":7853,"24986":7854,"35477":7855,"24392":7856,"30070":7857,"25803":7858,"40680":7859,"34153":7860,"27284":7861,"25623":7862,"23798":7863,"31153":7864,"23566":7865,"29128":7866,"37159":7867,"25973":7868,"28364":7869,"36958":7870,"32224":7871,"39003":7872,"40670":7873,"22666":7874,"38651":7875,"28593":7876,"37347":7877,"35519":7878,"35548":7879,"37336":7880,"38914":7881,"37664":7882,"35330":7883,"26481":7884,"21205":7885,"26847":7886,"20941":7887,"12222":7888,"39717":7888,"29346":7889,"29544":7890,"35712":7891,"36077":7892,"37709":7893,"37723":7894,"26039":7895,"32222":7896,"38538":7897,"23565":7898,"22136":7899,"38931":7900,"37389":7901,"22890":7902,"22702":7903,"40285":7904,"38989":7905,"35355":7906,"24801":7907,"39187":7908,"20818":7909,"29246":7910,"39180":7911,"36019":7912,"30332":7913,"32624":7914,"38309":7915,"31020":7916,"37353":7917,"29033":7918,"31684":7919,"36009":7920,"39151":7921,"35370":7922,"32033":7923,"12214":7924,"39131":7924,"35513":7925,"24290":7926,"36027":7927,"32027":7928,"22707":7929,"22894":7930,"24996":7931,"31966":7932,"35920":7933,"26963":7934,"37586":7935,"12213":7936,"39080":7936,"30219":7937,"39342":7938,"32299":7939,"35575":7940,"40179":7941,"33178":7942,"36667":7943,"25771":7944,"36628":7945,"36070":7946,"24489":7947,"36000":7948,"35331":7949,"23142":7950,"32283":7951,"35442":7952,"37411":7953,"33995":7954,"24185":7955,"36245":7956,"36123":7957,"23713":7958,"21083":7959,"37628":7960,"32177":7961,"23831":7962,"37804":7963,"25841":7964,"40255":7965,"38307":7966,"37499":7967,"20491":7968,"32102":7969,"40852":7970,"38799":7971,"36002":7972,"37390":7973,"28317":7974,"27083":7975,"36092":7976,"34865":7977,"39015":7978,"21102":7979,"38364":7980,"35264":7981,"39208":7982,"24931":7983,"36011":7984,"24291":7985,"35215":7986,"27512":7987,"12244":7988,"40860":7988,"38312":7989,"36556":7990,"35437":7991,"27331":7992,"36020":7993,"21130":7994,"36645":7995,"37707":7996,"22283":7997,"36942":7998,"39405":7999,"38867":8000,"28450":8001,"34399":8002,"38305":8003,"40372":8004,"36032":8005,"36703":8006,"40251":8007,"32005":8008,"22778":8009,"35703":8010,"28396":8011,"22057":8012,"33775":8013,"30059":8014,"21123":8015,"35441":8016,"25079":8017,"22750":8018,"27489":8019,"29872":8020,"36996":8021,"32233":8022,"35594":8023,"25582":8024,"36637":8025,"36036":8026,"31330":8027,"26371":8028,"29172":8029,"21295":8030,"35569":8031,"35496":8032,"32362":8033,"33911":8034,"28222":8035,"29554":8036,"36008":8037,"31117":8038,"25802":8039,"27231":8040,"31309":8041,"39249":8042,"35663":8043,"40388":8044,"32318":8045,"32221":8046,"26997":8047,"36655":8048,"32026":8049,"25824":8050,"24190":8051,"34186":8052,"21137":8053,"28639":8054,"35336":8055,"35352":8056,"38555":8057,"32380":8058,"32000":8059,"22846":8060,"33698":8061,"38960":8062,"36040":8063,"37440":8064,"20729":8065,"39381":8066,"27570":8067,"30435":8068,"22533":8069,"31627":8070,"38291":8071,"33393":8072,"32216":8073,"32365":8074,"27298":8075,"40572":8076,"25536":8077,"25791":8078,"31777":8079,"20745":8080,"34214":8081,"27323":8082,"37970":8083,"36368":8084,"36068":8085,"12178":8086,"35211":8086,"37749":8087,"33382":8088,"21133":8089,"39198":8090,"28472":8091,"28666":8092,"28567":8093,"23559":8094,"28479":8095,"34083":8096,"27123":8097,"22892":8098,"35611":8099,"37292":8100,"33184":8101,"28550":8102,"39509":8103,"23308":8104,"25898":8105,"37496":8106,"30703":8107,"20709":8108,"39171":8109,"32371":8110,"32094":8111,"36686":8112,"36611":8113,"38542":8114,"31680":8115,"28500":8116,"32080":8117,"35489":8118,"32202":8119,"37670":8120,"20677":8121,"35641":8122,"36914":8123,"29180":8124,"30433":8125,"21185":8126,"33686":8127,"39912":8128,"39514":8129,"32147":8130,"38968":8131,"37857":8132,"24465":8133,"30169":8134,"31478":8135,"31998":8136,"33290":8137,"39378":8138,"33289":8139,"25818":8140,"37624":8141,"25084":8142,"21127":8143,"40273":8144,"32121":8145,"35258":8146,"35363":8147,"32118":8148,"37406":8149,"36557":8150,"39423":8151,"38283":8152,"20977":8153,"38982":8154,"27579":8155,"35506":8156,"22718":8157,"25031":8158,"25715":8159,"24235":8160,"35122":8161,"35463":8162,"22602":8163,"20744":8164,"23532":8165,"31014":8166,"26336":8167,"34407":8168,"24011":8169,"31418":8170,"39243":8171,"28528":8172,"25844":8173,"38346":8174,"34847":8175,"33240":8176,"33802":8177,"20358":8178,"36084":8179,"34253":8180,"27396":8181,"25876":8182,"31811":8183,"38348":8184,"34349":8185,"28734":8186,"35733":8187,"25900":8188,"35261":8189,"25078":8190,"32412":8191,"29211":8192,"28651":8193,"25736":8194,"21214":8195,"28551":8196,"27138":8197,"37939":8198,"22744":8199,"39006":8200,"31852":8201,"38626":8202,"28757":8203,"35023":8204,"63975":8204,"39881":8205,"31150":8206,"40599":8207,"21426":8208,"21237":8209,"31019":8210,"27511":8211,"28701":8212,"38584":8213,"20486":8214,"32879":8215,"34030":8216,"36899":8217,"37934":8218,"24976":8219,"28451":8220,"31806":8221,"25986":8222,"33225":8223,"37832":8224,"25088":8225,"29001":8226,"32244":8227,"31975":8228,"20841":8229,"36635":8230,"35538":8231,"30274":8232,"36988":8233,"37904":8234,"29557":8235,"33256":8236,"37168":8237,"40023":8238,"36035":8239,"40801":8240,"37428":8241,"38728":8242,"23994":8243,"38936":8244,"39230":8245,"21129":8246,"12243":8247,"40845":8247,"32894":8248,"22184":8249,"31840":8250,"22751":8251,"25871":8252,"38580":8253,"27155":8254,"23105":8255,"25695":8256,"31757":8257,"34310":8258,"30439":8259,"39025":8260,"24300":8261,"29200":8262,"25796":8263,"28407":8264,"34396":8265,"39791":8266,"36034":8267,"37682":8268,"38520":8269,"39522":8270,"37569":8271,"23650":8272,"32311":8273,"24942":8274,"28670":8275,"32209":8276,"24018":8277,"25891":8278,"23423":8279,"28772":8280,"20098":8281,"25476":8282,"36650":8283,"20523":8284,"20374":8285,"28138":8286,"32184":8287,"35542":8288,"34367":8289,"32645":8290,"37007":8291,"38012":8292,"31854":8293,"39486":8294,"39409":8295,"32097":8296,"23229":8297,"29802":8298,"30908":8299,"34718":8300,"12218":8301,"39340":8301,"39393":8302,"21966":8303,"36023":8304,"12230":8305,"40613":8305,"36067":8306,"36993":8307,"30622":8308,"39237":8309,"34875":8310,"28415":8311,"35646":8312,"37672":8313,"37466":8314,"36031":8315,"37762":8316,"12200":8317,"38272":8317,"24758":8318,"20497":8319,"37683":8320,"22818":8321,"35598":8322,"24396":8323,"35219":8324,"32191":8325,"32236":8326,"24287":8327,"28357":8328,"25003":8329,"38313":8330,"40180":8331,"37528":8332,"35628":8333,"35584":8334,"30045":8335,"37385":8336,"32013":8337,"38627":8338,"25747":8339,"33126":8340,"24817":8341,"39719":8342,"39186":8343,"25836":8344,"33193":8345,"25862":8346,"37312":8347,"12227":8348,"40165":8348,"32886":8349,"22169":8350,"38007":8351,"37811":8352,"27320":8353,"29552":8354,"23527":8355,"25840":8356,"28632":8357,"37397":8358,"32016":8359,"33215":8360,"28611":8361,"36786":8362,"30247":8363,"35582":8364,"27472":8365,"40407":8366,"27590":8367,"22036":8368,"28442":8369,"30436":8370,"40848":8371,"36064":8372,"22132":8373,"40300":8374,"39449":8375,"39108":8376,"38971":8377,"36007":8378,"34315":8379,"24977":8380,"35413":8381,"28497":8382,"38935":8383,"25778":8384,"37610":8385,"20693":8386,"27192":8387,"35676":8388,"33229":8389,"12241":8390,"40778":8390,"39438":8391,"35912":8392,"21843":8393,"27683":8394,"35350":8395,"29309":8396,"37370":8397,"37467":8398,"36983":8399,"31805":8400,"35609":8401,"37666":8402,"37463":8403,"28154":8404,"35700":8405,"22649":8406,"27085":8407,"21958":8408,"22715":8409,"34196":8410,"25654":8411,"37740":8412,"27211":8413,"21932":8414,"20689":8415,"32761":8416,"31429":8417,"31434":8418,"27453":8419,"35242":8420,"23522":8421,"36629":8422,"27691":8423,"20670":8424,"38915":8425,"35531":8426,"24950":8427,"29898":8428,"31406":8429,"36264":8430,"21312":8431,"36544":8432,"39493":8433,"40818":8434,"39028":8435,"27402":8436,"21240":8437,"40306":8438,"30906":8439,"35731":8440,"39250":8441,"25854":8442,"32350":8443,"29105":8444,"38860":8445,"35469":8446,"32009":8447,"27054":8448,"32104":8449,"36575":8450,"37613":8451,"38287":8452,"28516":8453,"28753":8454,"34217":8455,"39955":8456,"36093":8457,"20632":8458,"21930":8459,"39479":8460,"25475":8461,"28544":8462,"27578":8463,"32023":8464,"31721":8465,"26348":8466,"38275":8467,"38493":8468,"36109":8469,"32341":8470,"20663":8471,"36062":8472,"29138":8473,"32057":8474,"36050":8475,"25448":8476,"25885":8477,"25086":8478,"35373":8479,"32051":8480,"23529":8481,"23352":8482,"33102":8483,"28402":8484,"32882":8485,"32361":8486,"21213":8487,"32854":8488,"24107":8489,"29509":8490,"28629":8491,"35433":8492,"26178":8493,"34645":8494,"23526":8495,"35672":8496,"39387":8497,"21218":8498,"36969":8499,"37323":8500,"39166":8501,"35222":8502,"35430":8503,"22781":8504,"29560":8505,"27166":8506,"36664":8507,"26360":8508,"36118":8509,"23660":8510,"34899":8511,"27193":8512,"31466":8513,"25976":8514,"24101":8515,"38617":8516,"35504":8517,"38918":8518,"35500":8519,"30889":8520,"29197":8521,"32114":8522,"39164":8523,"39686":8524,"32883":8525,"24939":8526,"38924":8527,"35359":8528,"35494":8529,"25851":8530,"34311":8531,"35380":8532,"32901":8533,"38614":8534,"38568":8535,"32143":8536,"27506":8537,"23403":8538,"25613":8539,"32302":8540,"29795":8541,"37782":8542,"29562":8543,"25787":8544,"33274":8545,"24907":8546,"25892":8547,"36010":8548,"30321":8549,"28760":8550,"22727":8551,"35674":8552,"35527":8553,"22022":8554,"28271":8555,"29145":8556,"28644":8557,"32295":8558,"35342":8559,"39472":8560,"35588":8561,"37563":8562,"38988":8563,"39636":8564,"26781":8565,"36028":8566,"37941":8567,"24307":8568,"32893":8569,"28916":8570,"37509":8571,"32113":8572,"38957":8573,"22294":8574,"22615":8575,"22296":8576,"38973":8577,"40213":8578,"39345":8579,"39389":8580,"27234":8581,"31402":8582,"35178":8583,"24398":8584,"28771":8585,"38929":8586,"33836":8587,"32178":8588,"12209":8589,"38859":8589,"36949":8590,"22285":8591,"29234":8592,"28656":8593,"32173":8594,"33894":8595,"20553":8596,"20702":8597,"32239":8598,"35586":8599,"34907":8600,"32862":8601,"32011":8602,"31337":8603,"21839":8604,"25790":8605,"34680":8606,"28198":8607,"31401":8608,"21978":8609,"37794":8610,"28879":8611,"35491":8612,"28961":8613,"34154":8614,"22626":8615,"38695":8616,"21209":8617,"35492":8618,"37675":8619,"29351":8620,"35186":8621,"32722":8622,"37521":8623,"25138":8624,"32048":8625,"34662":8626,"36676":8627,"23805":8628,"20448":8629,"29433":8630,"22151":8631,"37697":8632,"39854":8633,"32406":8634,"36066":8635,"37532":8636,"38289":8637,"39023":8638,"38570":8639,"29694":8640,"29563":8641,"32291":8642,"39201":8643,"25010":8644,"32171":8645,"38002":8646,"37129":8647,"35443":8648,"38911":8649,"38917":8650,"34157":8651,"22210":8652,"37559":8653,"26313":8654,"22063":8655,"21332":8656,"25406":8657,"33029":8658,"35559":8659,"23531":8660,"28681":8661,"35613":8662,"37573":8663,"37313":8664,"33288":8665,"37561":8666,"32137":8667,"38920":8668,"35377":8669,"32210":8670,"32396":8671,"36562":8672,"25080":8673,"36984":8674,"30316":8675,"32098":8676,"23416":8677,"21211":8678,"35426":8679,"23563":8680,"39348":8681,"35347":8682,"35338":8683,"36956":8684,"22739":8685,"40201":8686,"40232":8687,"21854":8688,"20126":8689,"35357":8690,"38329":8691,"40573":8692,"22196":8693,"38996":8694,"38331":8695,"33399":8696,"21421":8697,"30831":8698,"35578":8699,"39511":8700,"40230":8701,"26954":8702,"25562":8703,"30221":8704,"38525":8705,"30306":8706,"39178":8707,"27171":8708,"22575":8709,"35617":8710,"34277":8711,"29242":8712,"12212":8713,"38913":8713,"26989":8714,"33865":8715,"37291":8716,"37541":8717,"38948":8718,"36986":8719,"20736":8720,"34811":8721,"34269":8722,"20740":8723,"25014":8724,"32681":8725,"35427":8726,"35696":8727,"35516":8728,"35695":8729,"32377":8730,"34093":8731,"38512":8732,"37504":8733,"39154":8734,"38577":8735,"27387":8736,"23344":8737,"40441":8738,"25033":8739,"32403":8740,"29801":8741,"34722":8742,"29151":8743,"29074":8744,"34821":8745,"36111":8746,"31310":8747,"21938":8748,"25793":8749,"20653":8750,"30320":8751,"36404":8752,"20778":8753,"24962":8754,"37109":8755,"37438":8756,"29494":8757,"35480":8758,"36671":8759,"39192":8760,"12226":8761,"39770":8761,"28417":8762,"33287":8763,"23996":8764,"35486":8765,"39729":8766,"29508":8767,"35709":8768,"38928":8769,"39341":8770,"40219":8771,"28149":8772,"36677":8773,"22290":8774,"21729":8775,"22291":8776,"32227":8777,"36960":8778,"39000":8779,"32004":8780,"36493":8781,"38000":8782,"38322":8783,"38642":8784,"37142":8785,"38549":8786,"36939":8787,"34292":8788,"37270":8789,"26248":8790,"38620":8791,"36617":8792,"25890":8793,"26283":8794,"36106":8795,"36124":8796,"33247":8797,"38015":8798,"26839":8799,"31432":8800,"36012":8801,"25799":8802,"21063":8803,"28580":8804,"36042":8805,"36104":8806,"36555":8807,"37720":8808,"38296":8809,"35408":8810,"40779":8811,"20661":8812,"27656":8813,"30430":8814,"26028":8815,"36670":8816,"23940":8817,"26855":8818,"25136":8819,"32187":8820,"24373":8821,"28466":8822,"24115":8823,"36076":8824,"33081":8825,"36249":8826,"34756":8827,"36685":8828,"37754":8829,"36889":8830,"35998":8831,"37341":8832,"20597":8833,"35386":8834,"37806":8835,"38499":8836,"24128":8837,"30309":8838,"37165":8839,"35657":8840,"32340":8841,"32887":8842,"22519":8843,"34937":8844,"32025":8845,"25711":8846,"25842":8847,"24159":8848,"36074":8849,"28399":8850,"37912":8851,"32066":8852,"31278":8853,"33131":8854,"34886":8855,"35589":8856,"36600":8857,"30394":8858,"26205":8859,"39519":8860,"35576":8861,"35461":8862,"29165":8863,"30682":8864,"22225":8865,"36015":8866,"37956":8867,"31689":8868,"39376":8869,"23560":8870,"30938":8871,"36681":8872,"36090":8873,"27137":8874,"33674":8875,"35037":8876,"22941":8877,"22767":8878,"29376":8879,"37648":8880,"36101":8881,"22684":8882,"32180":8883,"35524":8884,"28310":8885,"28609":8886,"36039":8887,"28460":8888,"32156":8889,"32317":8890,"32305":8891,"37138":8892,"35419":8893,"32068":8894,"38013":8895,"21959":8896,"21401":8897,"21428":8898,"38760":8899,"36107":8900,"21293":8901,"21297":8902,"36094":8903,"21060":8904,"21132":8905,"21108":8906,"20660":8907,"20480":8908,"20630":8909,"20757":8910,"20738":8911,"20756":8912,"20796":8913,"20791":8914,"20712":8915,"20674":8916,"20795":8917,"20752":8918,"20794":8919,"20681":8920,"31988":8921,"40652":8922,"22213":8923,"40172":8924,"35131":8925,"33248":8926,"35329":8927,"35344":8928,"35340":8929,"35349":8930,"35635":8931,"35406":8932,"35365":8933,"35393":8934,"35382":8935,"35398":8936,"35412":8937,"35416":8938,"35410":8939,"35462":8940,"35460":8941,"35455":8942,"35440":8943,"35452":8944,"35445":8945,"35436":8946,"35438":8947,"35533":8948,"35554":8949,"35425":8950,"35482":8951,"35493":8952,"35473":8953,"35474":8954,"35535":8955,"35537":8956,"35529":8957,"35547":8958,"35543":8959,"35522":8960,"35510":8961,"35574":8962,"35563":8963,"35604":8964,"35585":8965,"35556":8966,"35565":8967,"35580":8968,"35571":8969,"35558":8970,"35566":8971,"35550":8972,"35624":8973,"35740":8974,"35606":8975,"35610":8976,"35600":8977,"35627":8978,"35629":8979,"35670":8980,"35673":8981,"35662":8982,"35742":8983,"35691":8984,"35734":8985,"38488":8986,"37178":8987,"37140":8988,"37172":8989,"37087":8990,"37174":8991,"37126":8992,"37192":8993,"33467":8994,"21233":8995,"24048":8996,"22538":8997,"22745":8998,"22754":8999,"22752":9000,"22746":9001,"22497":9002,"22607":9003,"22550":9004,"22610":9005,"22557":9006,"22628":9007,"34188":9008,"34131":9009,"34294":9010,"33703":9011,"33799":9012,"34031":9013,"33511":9014,"34338":9015,"34086":9016,"22603":9017,"29026":9018,"34136":9019,"34045":9020,"34126":9021,"34184":9022,"34234":9023,"29334":9024,"28366":9025,"34113":9026,"34254":9027,"34130":9028,"33984":9029,"33874":9030,"33892":9031,"33940":9032,"33845":9033,"34207":9034,"34133":9035,"40367":9036,"33939":9037,"32264":9038,"34118":9039,"34146":9040,"34078":9041,"39488":9042,"34362":9043,"37795":9044,"34167":9045,"34334":9046,"34298":9047,"34308":9048,"34282":9049,"34330":9050,"22889":9051,"23607":9052,"25451":9053,"25718":9054,"25759":9055,"25681":9056,"25692":9057,"25779":9058,"25860":9059,"25878":9060,"25847":9061,"25852":9062,"25883":9063,"22064":9064,"22072":9065,"22216":9066,"22182":9067,"21764":9068,"21692":9069,"22144":9070,"22109":9071,"22112":9072,"22069":9073,"22006":9074,"22118":9075,"22130":9076,"22156":9077,"22117":9078,"22044":9079,"22062":9080,"21993":9081,"22038":9082,"22208":9083,"22029":9084,"22195":9085,"22209":9086,"22127":9087,"36705":9088,"22198":9089,"22165":9090,"22279":9091,"24131":9092,"24172":9093,"24152":9094,"24151":9095,"23943":9096,"23796":9097,"23888":9098,"23852":9099,"23975":9100,"23968":9101,"23959":9102,"23821":9103,"23992":9104,"23937":9105,"24020":9106,"24480":9107,"29559":9108,"29505":9109,"29546":9110,"29499":9111,"29547":9112,"29568":9113,"29564":9114,"39136":9115,"39219":9116,"39145":9117,"39228":9118,"39146":9119,"39147":9120,"39149":9121,"39156":9122,"39177":9123,"39185":9124,"39195":9125,"39223":9126,"39231":9127,"39235":9128,"39240":9129,"39241":9130,"39242":9131,"39244":9132,"39266":9133,"24289":9134,"36065":9135,"25082":9136,"25006":9137,"24938":9138,"24894":9139,"24757":9140,"24884":9141,"25036":9142,"24927":9143,"25064":9144,"24827":9145,"24887":9146,"24818":9147,"24947":9148,"24860":9149,"24978":9150,"38274":9151,"38278":9152,"38344":9153,"38286":9154,"38292":9155,"38284":9156,"38373":9157,"38317":9158,"38315":9159,"39726":9160,"38316":9161,"38334":9162,"38326":9163,"39721":9164,"38335":9165,"38333":9166,"38332":9167,"38339":9168,"38347":9169,"38356":9170,"38352":9171,"38357":9172,"38366":9173,"28739":9174,"28505":9175,"28711":9176,"28696":9177,"28668":9178,"28039":9179,"28025":9180,"28254":9181,"28590":9182,"28687":9183,"28408":9184,"28527":9185,"28150":9186,"28543":9187,"28678":9188,"28576":9189,"28683":9190,"28775":9191,"28740":9192,"28677":9193,"28535":9194,"28704":9195,"28703":9196,"28722":9197,"28712":9198,"28765":9199,"39467":9200,"36999":9201,"36885":9202,"37008":9203,"23656":9204,"24371":9205,"23285":9206,"23255":9207,"23296":9208,"23149":9209,"23304":9210,"23372":9211,"23207":9212,"23291":9213,"23307":9214,"23329":9215,"23338":9216,"23321":9217,"39380":9218,"39391":9219,"39385":9220,"39478":9221,"39515":9222,"39377":9223,"39384":9224,"39501":9225,"39498":9226,"39394":9227,"39530":9228,"39439":9229,"39437":9230,"39429":9231,"39490":9232,"39469":9233,"39446":9234,"39489":9235,"39470":9236,"39480":9237,"39491":9238,"39492":9239,"39503":9240,"39525":9241,"39524":9242,"31993":9243,"32006":9244,"32002":9245,"32007":9246,"32008":9247,"32394":9248,"32028":9249,"32021":9250,"32019":9251,"32058":9252,"32050":9253,"32049":9254,"32272":9255,"32060":9256,"32064":9257,"32063":9258,"32093":9259,"32078":9260,"32115":9261,"32134":9262,"32131":9263,"32136":9264,"32190":9265,"32186":9266,"32203":9267,"32212":9268,"32196":9269,"32158":9270,"32172":9271,"32185":9272,"32163":9273,"32176":9274,"32199":9275,"32217":9276,"32215":9277,"32249":9278,"32242":9279,"32354":9280,"32230":9281,"32246":9282,"32241":9283,"32267":9284,"32225":9285,"32265":9286,"32285":9287,"32287":9288,"32286":9289,"32301":9290,"32266":9291,"32273":9292,"32381":9293,"32313":9294,"32309":9295,"32306":9296,"32326":9297,"32325":9298,"32392":9299,"32346":9300,"32338":9301,"32366":9302,"32382":9303,"32368":9304,"32367":9305,"32408":9306,"29859":9307,"29771":9308,"29903":9309,"38922":9310,"29885":9311,"29759":9312,"29833":9313,"29862":9314,"29908":9315,"29914":9316,"38873":9317,"38878":9318,"38876":9319,"27050":9320,"27370":9321,"26776":9322,"26838":9323,"27141":9324,"26783":9325,"27355":9326,"27379":9327,"27368":9328,"27359":9329,"27273":9330,"26895":9331,"27208":9332,"26984":9333,"27071":9334,"27194":9335,"27292":9336,"27410":9337,"27422":9338,"27357":9339,"27111":9340,"27407":9341,"27414":9342,"27372":9343,"27354":9344,"27384":9345,"27315":9346,"27367":9347,"27299":9348,"27347":9349,"27358":9350,"27556":9351,"27550":9352,"27566":9353,"27563":9354,"27567":9355,"36564":9356,"36571":9357,"36594":9358,"36603":9359,"36708":9360,"36601":9361,"36604":9362,"36587":9363,"36580":9364,"36706":9365,"36602":9366,"36606":9367,"36618":9368,"36615":9369,"36613":9370,"36626":9371,"36646":9372,"36638":9373,"36639":9374,"36636":9375,"36659":9376,"36678":9377,"36692":9378,"25108":9379,"25127":9380,"29964":9381,"26311":9382,"26308":9383,"26249":9384,"26326":9385,"36033":9386,"36016":9387,"36026":9388,"36029":9389,"36100":9390,"36018":9391,"36037":9392,"36112":9393,"36049":9394,"36058":9395,"36053":9396,"36075":9397,"36071":9398,"36091":9399,"35224":9400,"35244":9401,"35233":9402,"35263":9403,"35238":9404,"35247":9405,"35250":9406,"35255":9407,"27647":9408,"27660":9409,"27692":9410,"29272":9411,"26407":9412,"33110":9413,"33242":9414,"33051":9415,"33214":9416,"33121":9417,"33231":9418,"27487":9419,"39086":9420,"39087":9421,"39094":9422,"39100":9423,"39110":9424,"39112":9425,"36674":9426,"40783":9427,"26005":9428,"29036":9429,"29010":9430,"29079":9431,"29121":9432,"29148":9433,"29182":9434,"31152":9435,"31118":9436,"31146":9437,"25055":9438,"24932":9439,"25059":9440,"25095":9441,"28585":9442,"30959":9443,"30893":9444,"30824":9445,"30904":9446,"31018":9447,"31025":9448,"30820":9449,"30973":9450,"30951":9451,"30947":9452,"40853":9453,"30616":9454,"30558":9455,"30652":9456,"32646":9457,"32648":9458,"37330":9459,"37331":9460,"37332":9461,"37337":9462,"37335":9463,"37333":9464,"37367":9465,"37351":9466,"37348":9467,"37702":9468,"37365":9469,"37369":9470,"37384":9471,"37414":9472,"37445":9473,"37393":9474,"37392":9475,"37377":9476,"37415":9477,"37380":9478,"37413":9479,"37376":9480,"37434":9481,"37478":9482,"37431":9483,"37427":9484,"37461":9485,"37437":9486,"37432":9487,"37470":9488,"37484":9489,"37485":9490,"37439":9491,"37984":9492,"37424":9493,"37449":9494,"37448":9495,"37453":9496,"37422":9497,"37433":9498,"37944":9499,"37548":9500,"37536":9501,"37498":9502,"37546":9503,"37614":9504,"37583":9505,"37891":9506,"37603":9507,"37946":9508,"37553":9509,"37542":9510,"37799":9511,"37526":9512,"37580":9513,"37545":9514,"37877":9515,"37523":9516,"37503":9517,"37801":9518,"37530":9519,"37658":9520,"37547":9521,"37507":9522,"37899":9523,"37544":9524,"37539":9525,"37906":9526,"37688":9527,"37617":9528,"37847":9529,"37605":9530,"37616":9531,"37615":9532,"37608":9533,"37564":9534,"37597":9535,"37622":9536,"37926":9537,"37927":9538,"37571":9539,"37599":9540,"37606":9541,"37650":9542,"37638":9543,"37737":9544,"37659":9545,"37696":9546,"37633":9547,"37653":9548,"37678":9549,"37699":9550,"37639":9551,"37640":9552,"37663":9553,"37657":9554,"37733":9555,"37703":9556,"37750":9557,"37716":9558,"37732":9559,"37802":9560,"37744":9561,"37764":9562,"37860":9563,"37848":9564,"37928":9565,"37767":9566,"37836":9567,"37784":9568,"37816":9569,"37823":9570,"37798":9571,"37808":9572,"37813":9573,"37964":9574,"37858":9575,"37852":9576,"37853":9577,"37837":9578,"37854":9579,"37827":9580,"37831":9581,"37841":9582,"37908":9583,"37917":9584,"37879":9585,"37989":9586,"37907":9587,"37997":9588,"37920":9589,"38009":9590,"37881":9591,"37913":9592,"37962":9593,"37938":9594,"37951":9595,"37972":9596,"37987":9597,"37758":9598,"31329":9599,"40169":9600,"40182":9601,"40199":9602,"40198":9603,"40227":9604,"40327":9605,"40469":9606,"40221":9607,"40223":9608,"40421":9609,"40239":9610,"40409":9611,"40240":9612,"40258":9613,"40478":9614,"40275":9615,"40477":9616,"40288":9617,"40274":9618,"40435":9619,"40284":9620,"40289":9621,"40339":9622,"40298":9623,"40303":9624,"40329":9625,"40344":9626,"40346":9627,"40384":9628,"40357":9629,"40361":9630,"40386":9631,"40380":9632,"40474":9633,"40403":9634,"40410":9635,"40431":9636,"40422":9637,"40434":9638,"40440":9639,"40460":9640,"40442":9641,"40475":9642,"30308":9643,"30296":9644,"30311":9645,"30210":9646,"30278":9647,"30279":9648,"30281":9649,"30238":9650,"30267":9651,"30317":9652,"30318":9653,"30313":9654,"30322":9655,"31431":9656,"31414":9657,"35168":9658,"35123":9659,"35165":9660,"35143":9661,"35128":9662,"35172":9663,"30392":9664,"32814":9665,"32812":9666,"32889":9667,"32885":9668,"38919":9669,"38926":9670,"38927":9671,"38945":9672,"38940":9673,"28481":9674,"38950":9675,"38967":9676,"38990":9677,"38995":9678,"39027":9679,"39010":9680,"39001":9681,"39013":9682,"39020":9683,"39024":9684,"34787":9685,"34822":9686,"34566":9687,"34851":9688,"34806":9689,"34554":9690,"34799":9691,"34692":9692,"34832":9693,"34760":9694,"34833":9695,"34747":9696,"34766":9697,"32588":9698,"31716":9699,"31591":9700,"31849":9701,"31731":9702,"31744":9703,"31691":9704,"31836":9705,"31774":9706,"31787":9707,"31779":9708,"31850":9709,"31839":9710,"33380":9711,"33387":9712,"35018":9713,"32677":9714,"31986":9715,"31990":9716,"31965":9717,"32310":9718,"40617":9719,"36274":9720,"37317":9721,"37315":9722,"40570":9723,"36489":9724,"36428":9725,"36498":9726,"36474":9727,"36437":9728,"36506":9729,"36491":9730,"36499":9731,"36497":9732,"36513":9733,"36451":9734,"36522":9735,"36518":9736,"35316":9737,"35318":9738,"38746":9739,"38722":9740,"38717":9741,"38724":9742,"40788":9743,"40799":9744,"40793":9745,"40800":9746,"40796":9747,"40806":9748,"40812":9749,"40810":9750,"40823":9751,"12236":9752,"40701":9752,"40703":9753,"40713":9754,"35726":9755,"38014":9756,"37864":9757,"39799":9758,"39796":9759,"39809":9760,"39811":9761,"39822":9762,"40056":9763,"31308":9764,"39826":9765,"40031":9766,"39824":9767,"39853":9768,"39834":9769,"39850":9770,"39838":9771,"40045":9772,"39851":9773,"39837":9774,"40024":9775,"39873":9776,"40058":9777,"39985":9778,"39993":9779,"39971":9780,"39991":9781,"39872":9782,"39882":9783,"39879":9784,"39933":9785,"39894":9786,"39914":9787,"39915":9788,"39905":9789,"39908":9790,"39911":9791,"39901":9792,"39906":9793,"39920":9794,"39899":9795,"39924":9796,"39892":9797,"40029":9798,"39944":9799,"39952":9800,"39949":9801,"39954":9802,"39945":9803,"39935":9804,"39968":9805,"39986":9806,"39981":9807,"39976":9808,"39973":9809,"39977":9810,"39987":9811,"39998":9812,"40008":9813,"39995":9814,"39989":9815,"40005":9816,"40022":9817,"40020":9818,"40018":9819,"40039":9820,"38851":9821,"38845":9822,"38857":9823,"40379":9824,"39631":9825,"39638":9826,"39637":9827,"39768":9828,"39758":9829,"39255":9830,"39260":9831,"39714":9832,"40695":9833,"40690":9834,"35180":9835,"38342":9836,"37686":9837,"24390":9838,"34068":9839,"32404":9840,"40803":9841,"22137":9842,"40725":9843,"22081":9844,"39662":9845,"35079":9846,"31296":9847,"39091":9848,"38308":9849,"39693":9850,"36852":9851,"24409":9852,"31339":9853,"39138":9854,"20642":9855,"34193":9856,"20760":9857,"25458":9858,"21067":9859,"30543":9860,"32397":9861,"26310":9862,"30637":9863,"12228":9864,"40565":9864,"22217":9865,"40692":9866,"28635":9867,"25054":9868,"30663":9869,"28720":9870,"40629":9871,"34890":9872,"38370":9873,"38854":9874,"31844":9875,"32308":9876,"38822":9877,"40623":9878,"22220":9879,"39089":9880,"27311":9881,"32590":9882,"31984":9883,"20418":9884,"32363":9885,"40569":9886,"22190":9887,"39706":9888,"33903":9889,"31142":9890,"31858":9891,"39634":9892,"38587":9893,"32251":9894,"35069":9895,"30787":9896,"8560":9897,"8561":9898,"8562":9899,"8563":9900,"8564":9901,"8565":9902,"8566":9903,"8567":9904,"8568":9905,"8569":9906,"714":9907,"715":9908,"729":9909,"8211":9910,"8213":9911,"8229":9912,"8245":9913,"8453":9914,"8457":9915,"8598":9916,"8599":9917,"8600":9918,"8601":9919,"8725":9920,"8735":9921,"8739":9922,"8786":9923,"8806":9924,"8807":9925,"8895":9926,"9552":9927,"9553":9928,"9554":9929,"9555":9930,"9556":9931,"9557":9932,"9558":9933,"9559":9934,"9560":9935,"9561":9936,"9562":9937,"9563":9938,"9564":9939,"9565":9940,"9566":9941,"9567":9942,"9568":9943,"9569":9944,"9570":9945,"9571":9946,"9572":9947,"9573":9948,"9574":9949,"9575":9950,"9576":9951,"9577":9952,"9578":9953,"9579":9954,"9580":9955,"9581":9956,"9582":9957,"9583":9958,"9584":9959,"9585":9960,"9586":9961,"9587":9962,"9601":9963,"9602":9964,"9603":9965,"9604":9966,"9605":9967,"9606":9968,"9607":9969,"9608":9970,"9609":9971,"9610":9972,"9611":9973,"9612":9974,"9613":9975,"9614":9976,"9615":9977,"9619":9978,"9620":9979,"9621":9980,"9660":9981,"9661":9982,"9698":9983,"9699":9984,"9700":9985,"9701":9986,"9737":9987,"8853":9988,"12306":9989,"12317":9990,"12318":9991,"12321":9992,"12322":9993,"12323":9994,"12324":9995,"12325":9996,"12326":9997,"12327":9998,"12328":9999,"12329":10000,"12963":10001,"13198":10002,"13199":10003,"13212":10004,"13213":10005,"13214":10006,"13217":10007,"13252":10008,"13262":10009,"13265":10010,"13266":10011,"13269":10012,"65072":10013,"65506":10014,"65508":10015,"8481":10016,"12849":10017,"8208":10018,"12540":10019,"12443":10020,"12444":10021,"12541":10022,"12542":10023,"12294":10024,"12445":10025,"12446":10026,"65097":10027,"65098":10028,"65099":10029,"65100":10030,"65101":10031,"65102":10032,"65103":10033,"65104":10034,"65105":10035,"65106":10036,"65108":10037,"65109":10038,"65110":10039,"65111":10040,"65113":10041,"65114":10042,"65115":10043,"65116":10044,"65117":10045,"65118":10046,"65119":10047,"65120":10048,"65121":10049,"65122":10050,"65123":10051,"65124":10052,"65125":10053,"65126":10054,"65128":10055,"65129":10056,"65130":10057,"65131":10058,"12350":10059,"59367":10059,"12272":10060,"59368":10060,"12273":10061,"59369":10061,"12274":10062,"59370":10062,"12275":10063,"59371":10063,"12276":10064,"59372":10064,"12277":10065,"59373":10065,"12278":10066,"59374":10066,"12279":10067,"59375":10067,"12280":10068,"59376":10068,"12281":10069,"59377":10069,"12282":10070,"59378":10070,"12283":10071,"59379":10071,"19970":10072,"19972":10073,"19973":10074,"19974":10075,"19983":10076,"19986":10077,"19991":10078,"19999":10079,"20000":10080,"20001":10081,"20003":10082,"20006":10083,"20009":10084,"20014":10085,"20015":10086,"20017":10087,"20019":10088,"20021":10089,"20023":10090,"20028":10091,"20032":10092,"20033":10093,"20034":10094,"20036":10095,"20038":10096,"20042":10097,"20049":10098,"20053":10099,"20055":10100,"20058":10101,"20059":10102,"20066":10103,"20067":10104,"20068":10105,"20069":10106,"20071":10107,"20072":10108,"20074":10109,"20075":10110,"20076":10111,"20077":10112,"20078":10113,"20079":10114,"20082":10115,"20084":10116,"20085":10117,"20086":10118,"20087":10119,"20088":10120,"20089":10121,"20090":10122,"20091":10123,"20092":10124,"20093":10125,"20095":10126,"20096":10127,"20097":10128,"20099":10129,"20100":10130,"12037":10131,"20101":10131,"20103":10132,"20106":10133,"20112":10134,"20118":10135,"20119":10136,"20121":10137,"20124":10138,"20125":10139,"20131":10140,"20138":10141,"20143":10142,"20144":10143,"20145":10144,"20148":10145,"20150":10146,"20151":10147,"20152":10148,"20153":10149,"20156":10150,"20157":10151,"20158":10152,"20168":10153,"20172":10154,"20175":10155,"20176":10156,"20178":10157,"20186":10158,"20187":10159,"20188":10160,"20192":10161,"20194":10162,"20198":10163,"20199":10164,"20201":10165,"20205":10166,"20206":10167,"20207":10168,"20209":10169,"20212":10170,"20216":10171,"20217":10172,"20218":10173,"20220":10174,"20222":10175,"20224":10176,"20226":10177,"20227":10178,"20228":10179,"20229":10180,"20230":10181,"20231":10182,"20232":10183,"20235":10184,"20236":10185,"20242":10186,"20243":10187,"20244":10188,"20245":10189,"20246":10190,"20252":10191,"20253":10192,"20257":10193,"20259":10194,"20264":10195,"20265":10196,"20268":10197,"20269":10198,"20270":10199,"20273":10200,"20275":10201,"20277":10202,"20279":10203,"20281":10204,"20283":10205,"20286":10206,"20287":10207,"20288":10208,"20289":10209,"20290":10210,"20292":10211,"20293":10212,"20295":10213,"20296":10214,"20297":10215,"20298":10216,"20299":10217,"20300":10218,"20306":10219,"20308":10220,"20310":10221,"20321":10222,"20322":10223,"20326":10224,"20328":10225,"20330":10226,"20331":10227,"20333":10228,"20334":10229,"20337":10230,"20338":10231,"20341":10232,"20343":10233,"20344":10234,"20345":10235,"20346":10236,"20349":10237,"20352":10238,"20353":10239,"20354":10240,"20357":10241,"20359":10242,"20362":10243,"20364":10244,"20366":10245,"20368":10246,"20370":10247,"20371":10248,"20373":10249,"20376":10250,"20377":10251,"20378":10252,"20380":10253,"20382":10254,"20383":10255,"20385":10256,"20386":10257,"20388":10258,"20395":10259,"20397":10260,"20400":10261,"20401":10262,"20402":10263,"20403":10264,"20404":10265,"20406":10266,"20407":10267,"20408":10268,"20409":10269,"20410":10270,"20411":10271,"20412":10272,"20413":10273,"20414":10274,"20416":10275,"20417":10276,"20422":10277,"20423":10278,"20424":10279,"20425":10280,"20427":10281,"20428":10282,"20429":10283,"20434":10284,"20435":10285,"20436":10286,"20437":10287,"20438":10288,"20441":10289,"20443":10290,"20450":10291,"20452":10292,"20453":10293,"20455":10294,"20459":10295,"20460":10296,"20464":10297,"20466":10298,"20468":10299,"20469":10300,"20470":10301,"20471":10302,"20473":10303,"20475":10304,"20476":10305,"20477":10306,"20479":10307,"20481":10308,"20482":10309,"20483":10310,"20484":10311,"20485":10312,"20487":10313,"20488":10314,"20490":10315,"20494":10316,"20496":10317,"20499":10318,"20501":10319,"20502":10320,"20503":10321,"20507":10322,"20509":10323,"20510":10324,"20512":10325,"20514":10326,"20515":10327,"20516":10328,"20519":10329,"20527":10330,"20528":10331,"20529":10332,"20530":10333,"20531":10334,"20532":10335,"20533":10336,"20534":10337,"20535":10338,"20536":10339,"20537":10340,"20539":10341,"20541":10342,"20543":10343,"20544":10344,"20545":10345,"20546":10346,"20548":10347,"20549":10348,"20550":10349,"20554":10350,"20555":10351,"20557":10352,"20560":10353,"20561":10354,"20562":10355,"20563":10356,"20564":10357,"20566":10358,"20567":10359,"20568":10360,"20569":10361,"20571":10362,"20573":10363,"20574":10364,"20575":10365,"20576":10366,"20577":10367,"20578":10368,"20579":10369,"20580":10370,"20582":10371,"20583":10372,"20584":10373,"20585":10374,"20586":10375,"20587":10376,"20589":10377,"20590":10378,"20591":10379,"20592":10380,"20593":10381,"20594":10382,"20595":10383,"20600":10384,"20601":10385,"20602":10386,"20604":10387,"20605":10388,"20609":10389,"20610":10390,"20611":10391,"20612":10392,"20614":10393,"20615":10394,"20617":10395,"20618":10396,"20619":10397,"20620":10398,"20622":10399,"20623":10400,"20624":10401,"20625":10402,"20626":10403,"20627":10404,"20628":10405,"20629":10406,"20631":10407,"20634":10408,"20635":10409,"20636":10410,"20637":10411,"20638":10412,"20639":10413,"20640":10414,"20641":10415,"20644":10416,"20646":10417,"20650":10418,"20651":10419,"20654":10420,"20655":10421,"20656":10422,"20657":10423,"20662":10424,"20664":10425,"20665":10426,"20668":10427,"20669":10428,"20671":10429,"20672":10430,"20673":10431,"20675":10432,"20676":10433,"20678":10434,"20679":10435,"20680":10436,"20682":10437,"20683":10438,"20684":10439,"20685":10440,"20686":10441,"20688":10442,"20690":10443,"20691":10444,"20692":10445,"20695":10446,"20696":10447,"20697":10448,"20699":10449,"20700":10450,"20701":10451,"20703":10452,"20704":10453,"20705":10454,"20706":10455,"20707":10456,"20708":10457,"20713":10458,"20714":10459,"20715":10460,"20719":10461,"20720":10462,"20721":10463,"20722":10464,"20724":10465,"20726":10466,"20727":10467,"20728":10468,"20730":10469,"20732":10470,"20733":10471,"20734":10472,"20735":10473,"20737":10474,"20739":10475,"20741":10476,"20746":10477,"20748":10478,"20749":10479,"20750":10480,"20751":10481,"20753":10482,"20755":10483,"20758":10484,"20759":10485,"20761":10486,"20762":10487,"20763":10488,"20764":10489,"20765":10490,"20766":10491,"20768":10492,"20770":10493,"20771":10494,"20772":10495,"20773":10496,"20774":10497,"20775":10498,"20776":10499,"20777":10500,"20779":10501,"20780":10502,"20781":10503,"20782":10504,"20783":10505,"20784":10506,"20785":10507,"20787":10508,"20788":10509,"20789":10510,"20790":10511,"20792":10512,"20793":10513,"20797":10514,"20798":10515,"20802":10516,"20807":10517,"20810":10518,"20812":10519,"20814":10520,"20815":10521,"20816":10522,"20819":10523,"20823":10524,"20824":10525,"20825":10526,"20827":10527,"20829":10528,"20830":10529,"20831":10530,"20832":10531,"20833":10532,"20835":10533,"20836":10534,"20838":10535,"20839":10536,"20842":10537,"20847":10538,"20850":10539,"20858":10540,"20862":10541,"20863":10542,"20867":10543,"20868":10544,"20870":10545,"20871":10546,"20874":10547,"20875":10548,"20878":10549,"20879":10550,"20880":10551,"20881":10552,"20883":10553,"20884":10554,"20888":10555,"20890":10556,"20893":10557,"20894":10558,"20895":10559,"20897":10560,"20899":10561,"20902":10562,"20903":10563,"20904":10564,"20905":10565,"20906":10566,"20909":10567,"20910":10568,"20916":10569,"20920":10570,"20921":10571,"20922":10572,"20926":10573,"20927":10574,"20929":10575,"20930":10576,"20931":10577,"20933":10578,"20936":10579,"20938":10580,"20942":10581,"20944":10582,"20946":10583,"20947":10584,"20948":10585,"20949":10586,"20950":10587,"20951":10588,"20952":10589,"20953":10590,"20954":10591,"20956":10592,"20958":10593,"20959":10594,"20962":10595,"20963":10596,"20965":10597,"20966":10598,"20967":10599,"20968":10600,"20969":10601,"20970":10602,"20972":10603,"20974":10604,"20978":10605,"20980":10606,"20983":10607,"20990":10608,"20996":10609,"20997":10610,"21001":10611,"21003":10612,"21004":10613,"21007":10614,"21008":10615,"21011":10616,"21012":10617,"21013":10618,"21020":10619,"21022":10620,"21023":10621,"21025":10622,"21026":10623,"21027":10624,"21029":10625,"21030":10626,"21031":10627,"21034":10628,"21036":10629,"21039":10630,"21041":10631,"21042":10632,"21044":10633,"21045":10634,"21052":10635,"21054":10636,"21061":10637,"21062":10638,"21064":10639,"21065":10640,"21070":10641,"21071":10642,"21074":10643,"21075":10644,"21077":10645,"21079":10646,"21080":10647,"21081":10648,"21082":10649,"21085":10650,"21087":10651,"21088":10652,"21090":10653,"21091":10654,"21092":10655,"21094":10656,"21096":10657,"21099":10658,"21100":10659,"21101":10660,"21104":10661,"21105":10662,"21107":10663,"21110":10664,"21111":10665,"21112":10666,"21113":10667,"21114":10668,"21115":10669,"21116":10670,"21118":10671,"21120":10672,"21124":10673,"21125":10674,"21126":10675,"21131":10676,"21134":10677,"21135":10678,"21138":10679,"21140":10680,"21141":10681,"21142":10682,"21143":10683,"21144":10684,"21145":10685,"21146":10686,"21148":10687,"21156":10688,"21157":10689,"21158":10690,"21159":10691,"21166":10692,"21167":10693,"21168":10694,"21172":10695,"21173":10696,"21174":10697,"21175":10698,"21176":10699,"21177":10700,"21178":10701,"21179":10702,"21180":10703,"21181":10704,"21184":10705,"21186":10706,"21188":10707,"21189":10708,"21190":10709,"21192":10710,"21194":10711,"21196":10712,"21197":10713,"21198":10714,"21199":10715,"21201":10716,"21203":10717,"21204":10718,"21207":10719,"21210":10720,"21212":10721,"21216":10722,"21217":10723,"21219":10724,"21221":10725,"21222":10726,"21223":10727,"21224":10728,"21225":10729,"21226":10730,"21227":10731,"21228":10732,"21229":10733,"21230":10734,"21231":10735,"21234":10736,"21235":10737,"21236":10738,"21238":10739,"21239":10740,"21243":10741,"21244":10742,"21245":10743,"21249":10744,"21250":10745,"21251":10746,"21252":10747,"21255":10748,"21257":10749,"21258":10750,"21259":10751,"21260":10752,"21262":10753,"21265":10754,"21266":10755,"21267":10756,"21268":10757,"21272":10758,"21275":10759,"21276":10760,"21278":10761,"21279":10762,"21282":10763,"21284":10764,"21285":10765,"21287":10766,"21288":10767,"21289":10768,"21291":10769,"21292":10770,"21296":10771,"21298":10772,"21299":10773,"21300":10774,"21301":10775,"21302":10776,"21303":10777,"12054":10778,"21304":10778,"21308":10779,"21309":10780,"21314":10781,"21316":10782,"21318":10783,"21323":10784,"21324":10785,"21325":10786,"21328":10787,"21336":10788,"21337":10789,"21339":10790,"21341":10791,"21349":10792,"21352":10793,"21354":10794,"21356":10795,"21357":10796,"21362":10797,"21366":10798,"21369":10799,"21371":10800,"21372":10801,"21373":10802,"21374":10803,"21376":10804,"21377":10805,"21379":10806,"21383":10807,"21384":10808,"21386":10809,"21390":10810,"21391":10811,"21392":10812,"21393":10813,"21394":10814,"21395":10815,"21396":10816,"21398":10817,"21399":10818,"21403":10819,"21404":10820,"21406":10821,"21409":10822,"21412":10823,"21415":10824,"21418":10825,"21419":10826,"21420":10827,"21423":10828,"21424":10829,"21425":10830,"21427":10831,"21429":10832,"21431":10833,"21432":10834,"21433":10835,"21434":10836,"21436":10837,"21437":10838,"21438":10839,"21440":10840,"21444":10841,"21445":10842,"21446":10843,"21447":10844,"21454":10845,"21455":10846,"21456":10847,"21458":10848,"21459":10849,"21461":10850,"21466":10851,"21468":10852,"21469":10853,"21470":10854,"21473":10855,"21479":10856,"21492":10857,"21498":10858,"21502":10859,"21503":10860,"21504":10861,"21506":10862,"21509":10863,"21511":10864,"21515":10865,"21524":10866,"21528":10867,"21529":10868,"21530":10869,"21532":10870,"21538":10871,"21540":10872,"21541":10873,"21546":10874,"21552":10875,"21555":10876,"21558":10877,"21559":10878,"21562":10879,"21565":10880,"21567":10881,"21569":10882,"21570":10883,"21572":10884,"21573":10885,"21575":10886,"21577":10887,"21580":10888,"21581":10889,"21582":10890,"21583":10891,"21585":10892,"21594":10893,"21597":10894,"21598":10895,"21599":10896,"21600":10897,"21601":10898,"21603":10899,"21605":10900,"21607":10901,"21609":10902,"21610":10903,"21611":10904,"21612":10905,"21613":10906,"21614":10907,"21615":10908,"21616":10909,"21620":10910,"21625":10911,"21626":10912,"21630":10913,"21631":10914,"21633":10915,"21635":10916,"21637":10917,"21639":10918,"21640":10919,"21641":10920,"21642":10921,"21645":10922,"21649":10923,"21651":10924,"21655":10925,"21656":10926,"21660":10927,"21662":10928,"21663":10929,"21664":10930,"21665":10931,"21666":10932,"21669":10933,"21678":10934,"21680":10935,"21682":10936,"21685":10937,"21686":10938,"21687":10939,"21689":10940,"21690":10941,"21694":10942,"21699":10943,"21701":10944,"21706":10945,"21707":10946,"21718":10947,"21720":10948,"21723":10949,"21728":10950,"21730":10951,"21731":10952,"21732":10953,"21739":10954,"21740":10955,"21743":10956,"21744":10957,"21745":10958,"21748":10959,"21749":10960,"21750":10961,"21751":10962,"21752":10963,"21753":10964,"21755":10965,"21758":10966,"21760":10967,"21762":10968,"21763":10969,"21765":10970,"21768":10971,"21770":10972,"21771":10973,"21772":10974,"21773":10975,"21774":10976,"21778":10977,"21779":10978,"21781":10979,"21782":10980,"21783":10981,"21784":10982,"21785":10983,"21786":10984,"21788":10985,"21789":10986,"21790":10987,"21791":10988,"21793":10989,"21797":10990,"21798":10991,"21800":10992,"21801":10993,"21803":10994,"21805":10995,"21810":10996,"21812":10997,"21813":10998,"21814":10999,"21816":11000,"21817":11001,"21818":11002,"21819":11003,"21821":11004,"21824":11005,"21826":11006,"21829":11007,"21831":11008,"21832":11009,"21835":11010,"21836":11011,"21837":11012,"21838":11013,"21841":11014,"21842":11015,"21844":11016,"21847":11017,"21848":11018,"21849":11019,"21850":11020,"21851":11021,"21853":11022,"21855":11023,"21856":11024,"21858":11025,"21859":11026,"21864":11027,"21865":11028,"21867":11029,"21871":11030,"21872":11031,"21873":11032,"21874":11033,"21875":11034,"21876":11035,"21881":11036,"21882":11037,"21885":11038,"21887":11039,"21893":11040,"21894":11041,"21900":11042,"21901":11043,"21902":11044,"21904":11045,"21906":11046,"21907":11047,"21909":11048,"21910":11049,"21911":11050,"21914":11051,"21915":11052,"21918":11053,"21920":11054,"21921":11055,"21922":11056,"21923":11057,"21924":11058,"21925":11059,"21926":11060,"21928":11061,"21929":11062,"21931":11063,"21933":11064,"21935":11065,"21936":11066,"21940":11067,"21942":11068,"21944":11069,"21946":11070,"21948":11071,"21951":11072,"21952":11073,"21953":11074,"21954":11075,"21955":11076,"21960":11077,"21962":11078,"21963":11079,"21967":11080,"21968":11081,"21973":11082,"21975":11083,"21976":11084,"21977":11085,"21979":11086,"21982":11087,"21984":11088,"21986":11089,"21991":11090,"21997":11091,"21998":11092,"22000":11093,"22001":11094,"22004":11095,"22008":11096,"22009":11097,"22010":11098,"22011":11099,"22012":11100,"22015":11101,"22018":11102,"22019":11103,"22020":11104,"22021":11105,"22023":11106,"22026":11107,"22027":11108,"22032":11109,"22033":11110,"22034":11111,"22035":11112,"22037":11113,"22041":11114,"22042":11115,"22045":11116,"22048":11117,"22049":11118,"22050":11119,"22053":11120,"22054":11121,"22056":11122,"22058":11123,"22059":11124,"22067":11125,"22071":11126,"22074":11127,"22076":11128,"22077":11129,"22078":11130,"22080":11131,"22082":11132,"22083":11133,"22084":11134,"22085":11135,"22086":11136,"22087":11137,"22088":11138,"22089":11139,"22090":11140,"22091":11141,"22095":11142,"22096":11143,"22097":11144,"22098":11145,"22099":11146,"22101":11147,"22102":11148,"22106":11149,"22107":11150,"22110":11151,"22111":11152,"22113":11153,"22115":11154,"22119":11155,"22125":11156,"22126":11157,"22128":11158,"22131":11159,"22133":11160,"22135":11161,"22138":11162,"22141":11163,"22142":11164,"22143":11165,"22145":11166,"22146":11167,"22147":11168,"22148":11169,"22152":11170,"22153":11171,"22154":11172,"22155":11173,"22157":11174,"22160":11175,"22161":11176,"22162":11177,"22164":11178,"22166":11179,"22167":11180,"22168":11181,"22170":11182,"22171":11183,"22172":11184,"22173":11185,"22174":11186,"22175":11187,"22176":11188,"22177":11189,"22178":11190,"22180":11191,"22181":11192,"22183":11193,"22185":11194,"22186":11195,"22187":11196,"22188":11197,"22189":11198,"22192":11199,"22193":11200,"22194":11201,"22197":11202,"22200":11203,"22201":11204,"22202":11205,"22203":11206,"22205":11207,"22206":11208,"22207":11209,"22211":11210,"22212":11211,"22214":11212,"22215":11213,"22219":11214,"22221":11215,"22222":11216,"22223":11217,"22224":11218,"22226":11219,"22227":11220,"22229":11221,"22230":11222,"22232":11223,"22233":11224,"22236":11225,"22243":11226,"22245":11227,"22246":11228,"22247":11229,"22248":11230,"22249":11231,"22250":11232,"22252":11233,"22254":11234,"22255":11235,"22258":11236,"22259":11237,"22262":11238,"22263":11239,"22264":11240,"22267":11241,"22268":11242,"22272":11243,"22273":11244,"22274":11245,"22277":11246,"22284":11247,"22286":11248,"22287":11249,"22288":11250,"22289":11251,"22292":11252,"22293":11253,"22295":11254,"22297":11255,"22298":11256,"22299":11257,"22301":11258,"22302":11259,"22304":11260,"22305":11261,"22306":11262,"22308":11263,"22309":11264,"22310":11265,"22311":11266,"22315":11267,"22321":11268,"22322":11269,"22324":11270,"22325":11271,"22326":11272,"22327":11273,"22328":11274,"22332":11275,"22333":11276,"22335":11277,"22337":11278,"22339":11279,"22340":11280,"22341":11281,"22342":11282,"22344":11283,"22345":11284,"22347":11285,"22354":11286,"22355":11287,"22356":11288,"22357":11289,"22358":11290,"22360":11291,"22361":11292,"22370":11293,"22371":11294,"22373":11295,"22375":11296,"22380":11297,"22382":11298,"22384":11299,"22385":11300,"22386":11301,"22388":11302,"22389":11303,"22392":11304,"22393":11305,"22394":11306,"22397":11307,"22398":11308,"22399":11309,"22400":11310,"22401":11311,"22407":11312,"22408":11313,"22409":11314,"22410":11315,"22413":11316,"22414":11317,"22415":11318,"22416":11319,"22417":11320,"22420":11321,"22421":11322,"22422":11323,"22423":11324,"22424":11325,"22425":11326,"22426":11327,"22428":11328,"22429":11329,"22430":11330,"22431":11331,"22437":11332,"22440":11333,"22442":11334,"22444":11335,"22447":11336,"22448":11337,"22449":11338,"22451":11339,"22453":11340,"22454":11341,"22455":11342,"22457":11343,"22458":11344,"22459":11345,"22460":11346,"22461":11347,"22462":11348,"22463":11349,"22464":11350,"22465":11351,"22468":11352,"22469":11353,"22470":11354,"22471":11355,"22472":11356,"22473":11357,"22474":11358,"22476":11359,"22477":11360,"22480":11361,"22481":11362,"22483":11363,"22486":11364,"22487":11365,"22491":11366,"22492":11367,"22494":11368,"22498":11369,"22499":11370,"22501":11371,"22502":11372,"22503":11373,"22504":11374,"22505":11375,"22506":11376,"22507":11377,"22508":11378,"22510":11379,"22512":11380,"22513":11381,"22514":11382,"22515":11383,"22517":11384,"22518":11385,"22523":11386,"22524":11387,"22526":11388,"22527":11389,"22529":11390,"22531":11391,"22532":11392,"22536":11393,"22537":11394,"22540":11395,"22542":11396,"22543":11397,"22544":11398,"22546":11399,"22547":11400,"22548":11401,"22551":11402,"22552":11403,"22554":11404,"22555":11405,"22556":11406,"22559":11407,"22562":11408,"22563":11409,"22565":11410,"22566":11411,"22567":11412,"22568":11413,"22569":11414,"22571":11415,"22572":11416,"22573":11417,"22574":11418,"22578":11419,"22579":11420,"22582":11421,"22583":11422,"22584":11423,"22585":11424,"22586":11425,"22587":11426,"22588":11427,"22589":11428,"22590":11429,"22591":11430,"22592":11431,"22593":11432,"22594":11433,"22595":11434,"22597":11435,"22598":11436,"22599":11437,"22600":11438,"22601":11439,"22606":11440,"22608":11441,"22611":11442,"22613":11443,"22614":11444,"22617":11445,"22618":11446,"22619":11447,"22620":11448,"22621":11449,"22623":11450,"22624":11451,"22625":11452,"22627":11453,"22630":11454,"22631":11455,"22632":11456,"22633":11457,"22634":11458,"22637":11459,"22638":11460,"22639":11461,"22640":11462,"22641":11463,"22642":11464,"22643":11465,"22644":11466,"22646":11467,"22647":11468,"22648":11469,"22650":11470,"22651":11471,"22652":11472,"22653":11473,"22655":11474,"22658":11475,"22660":11476,"22662":11477,"22663":11478,"22664":11479,"22667":11480,"22668":11481,"22669":11482,"22670":11483,"22671":11484,"22672":11485,"22673":11486,"22676":11487,"22677":11488,"22678":11489,"22679":11490,"22680":11491,"22683":11492,"22685":11493,"22688":11494,"22689":11495,"22690":11496,"22691":11497,"22692":11498,"22693":11499,"22694":11500,"22695":11501,"22698":11502,"22699":11503,"22700":11504,"22701":11505,"22703":11506,"22704":11507,"22705":11508,"22706":11509,"22708":11510,"22709":11511,"22710":11512,"22711":11513,"22712":11514,"22713":11515,"22714":11516,"22717":11517,"22719":11518,"22720":11519,"22722":11520,"22723":11521,"22724":11522,"22726":11523,"22728":11524,"22729":11525,"22730":11526,"22731":11527,"22732":11528,"22733":11529,"22734":11530,"22735":11531,"22736":11532,"22738":11533,"22740":11534,"22742":11535,"22743":11536,"22747":11537,"22748":11538,"22749":11539,"22753":11540,"22755":11541,"22757":11542,"22758":11543,"22759":11544,"22760":11545,"22762":11546,"22765":11547,"22769":11548,"22770":11549,"22772":11550,"22773":11551,"22775":11552,"22776":11553,"22779":11554,"22780":11555,"22782":11556,"22783":11557,"22784":11558,"22785":11559,"22787":11560,"22789":11561,"22790":11562,"22792":11563,"22793":11564,"12066":11565,"22794":11565,"22795":11566,"22796":11567,"22798":11568,"22800":11569,"22801":11570,"22802":11571,"22803":11572,"22807":11573,"22808":11574,"22811":11575,"22813":11576,"22814":11577,"22816":11578,"22817":11579,"22819":11580,"22822":11581,"22824":11582,"22828":11583,"22832":11584,"22834":11585,"22835":11586,"22837":11587,"22838":11588,"22843":11589,"22845":11590,"22847":11591,"22848":11592,"22851":11593,"22853":11594,"22854":11595,"22858":11596,"22860":11597,"22861":11598,"22864":11599,"22866":11600,"22867":11601,"22873":11602,"22875":11603,"22876":11604,"22877":11605,"22878":11606,"22879":11607,"22881":11608,"22883":11609,"22884":11610,"22886":11611,"22887":11612,"22888":11613,"22891":11614,"22893":11615,"22895":11616,"22896":11617,"22897":11618,"22898":11619,"22901":11620,"22903":11621,"22906":11622,"22907":11623,"22908":11624,"22910":11625,"22911":11626,"22912":11627,"22917":11628,"22921":11629,"22923":11630,"22924":11631,"22926":11632,"22927":11633,"22928":11634,"22929":11635,"22932":11636,"22933":11637,"22936":11638,"22938":11639,"22939":11640,"22940":11641,"22943":11642,"22944":11643,"22945":11644,"22946":11645,"22950":11646,"22951":11647,"22956":11648,"22957":11649,"22960":11650,"22961":11651,"22963":11652,"22964":11653,"22965":11654,"22966":11655,"22967":11656,"22968":11657,"22970":11658,"22972":11659,"22973":11660,"22975":11661,"22976":11662,"22977":11663,"22978":11664,"22979":11665,"22980":11666,"22981":11667,"22983":11668,"22984":11669,"22985":11670,"22988":11671,"22989":11672,"22990":11673,"22991":11674,"22997":11675,"22998":11676,"23001":11677,"23003":11678,"23006":11679,"23007":11680,"23008":11681,"23009":11682,"23010":11683,"23012":11684,"23014":11685,"23015":11686,"23017":11687,"23018":11688,"23019":11689,"23021":11690,"23022":11691,"23023":11692,"23024":11693,"23025":11694,"23026":11695,"23027":11696,"23028":11697,"23029":11698,"23030":11699,"23031":11700,"23032":11701,"23034":11702,"23036":11703,"23037":11704,"23038":11705,"23040":11706,"23042":11707,"23050":11708,"23051":11709,"23053":11710,"23054":11711,"23055":11712,"23056":11713,"23058":11714,"23060":11715,"23061":11716,"23062":11717,"23063":11718,"23065":11719,"23066":11720,"23067":11721,"23069":11722,"23070":11723,"23073":11724,"23074":11725,"23076":11726,"23078":11727,"23079":11728,"23080":11729,"23082":11730,"23083":11731,"23084":11732,"23085":11733,"23086":11734,"23087":11735,"23088":11736,"23091":11737,"23093":11738,"23095":11739,"23096":11740,"23097":11741,"23098":11742,"23099":11743,"23101":11744,"23102":11745,"23103":11746,"23106":11747,"23107":11748,"23108":11749,"23109":11750,"23111":11751,"23112":11752,"23115":11753,"23116":11754,"23117":11755,"23118":11756,"23119":11757,"23120":11758,"23121":11759,"23122":11760,"23123":11761,"23124":11762,"23126":11763,"23127":11764,"23128":11765,"23129":11766,"23131":11767,"23132":11768,"23133":11769,"23134":11770,"23135":11771,"23136":11772,"23137":11773,"23139":11774,"23140":11775,"23141":11776,"23144":11777,"23145":11778,"23147":11779,"23148":11780,"23150":11781,"23151":11782,"23152":11783,"23153":11784,"23154":11785,"23155":11786,"23160":11787,"23161":11788,"23163":11789,"23164":11790,"23165":11791,"23166":11792,"23168":11793,"23169":11794,"23170":11795,"23171":11796,"23172":11797,"23173":11798,"23174":11799,"23175":11800,"23176":11801,"23177":11802,"23178":11803,"23179":11804,"23180":11805,"23181":11806,"23182":11807,"23183":11808,"23184":11809,"23185":11810,"23187":11811,"23188":11812,"23189":11813,"23190":11814,"23191":11815,"23192":11816,"23193":11817,"23196":11818,"23197":11819,"23198":11820,"23199":11821,"23200":11822,"23201":11823,"23202":11824,"23203":11825,"23204":11826,"23205":11827,"23206":11828,"23208":11829,"23209":11830,"23211":11831,"23212":11832,"23213":11833,"23214":11834,"23215":11835,"23216":11836,"23217":11837,"23220":11838,"23222":11839,"23223":11840,"23225":11841,"23226":11842,"23227":11843,"23228":11844,"23231":11845,"23232":11846,"23235":11847,"23236":11848,"23237":11849,"23238":11850,"23239":11851,"23240":11852,"23242":11853,"23243":11854,"23245":11855,"23246":11856,"23247":11857,"23248":11858,"23249":11859,"23251":11860,"23253":11861,"23257":11862,"23258":11863,"23259":11864,"23261":11865,"23262":11866,"23263":11867,"23266":11868,"23268":11869,"23269":11870,"23271":11871,"23272":11872,"23274":11873,"23276":11874,"23277":11875,"23278":11876,"23279":11877,"23280":11878,"23282":11879,"23283":11880,"23284":11881,"23286":11882,"23287":11883,"23288":11884,"23289":11885,"23290":11886,"23292":11887,"23293":11888,"23294":11889,"23295":11890,"23297":11891,"23298":11892,"23299":11893,"23300":11894,"23301":11895,"23302":11896,"23303":11897,"23306":11898,"23309":11899,"23310":11900,"23311":11901,"23312":11902,"23313":11903,"23314":11904,"23315":11905,"23316":11906,"23317":11907,"23320":11908,"23322":11909,"23323":11910,"23324":11911,"23325":11912,"23326":11913,"23327":11914,"23328":11915,"23330":11916,"23331":11917,"23332":11918,"23333":11919,"23334":11920,"23335":11921,"23336":11922,"23337":11923,"23339":11924,"23340":11925,"23341":11926,"23342":11927,"23343":11928,"23345":11929,"23347":11930,"23349":11931,"23350":11932,"23353":11933,"23354":11934,"23355":11935,"23356":11936,"23357":11937,"23358":11938,"23359":11939,"23361":11940,"23362":11941,"23363":11942,"23364":11943,"23365":11944,"23366":11945,"23367":11946,"23368":11947,"23369":11948,"23370":11949,"23371":11950,"23373":11951,"23374":11952,"23375":11953,"23378":11954,"23382":11955,"23390":11956,"23392":11957,"23393":11958,"23399":11959,"23400":11960,"23405":11961,"23406":11962,"23407":11963,"23410":11964,"23412":11965,"23414":11966,"23415":11967,"23417":11968,"23419":11969,"23420":11970,"23422":11971,"23426":11972,"23430":11973,"23434":11974,"23437":11975,"23438":11976,"23440":11977,"23441":11978,"23442":11979,"23444":11980,"23446":11981,"23455":11982,"23463":11983,"23464":11984,"23465":11985,"23468":11986,"23469":11987,"23470":11988,"23471":11989,"23473":11990,"23474":11991,"23479":11992,"23482":11993,"23483":11994,"23484":11995,"23488":11996,"23489":11997,"23491":11998,"23496":11999,"23497":12000,"23498":12001,"23499":12002,"23501":12003,"23502":12004,"23503":12005,"23505":12006,"23508":12007,"23509":12008,"23510":12009,"23511":12010,"23512":12011,"23513":12012,"23514":12013,"23515":12014,"23516":12015,"23520":12016,"23523":12017,"23530":12018,"23533":12019,"23535":12020,"23537":12021,"23538":12022,"23539":12023,"23540":12024,"23543":12025,"23549":12026,"23550":12027,"23552":12028,"23554":12029,"23555":12030,"23557":12031,"23564":12032,"23568":12033,"23570":12034,"23571":12035,"23575":12036,"23577":12037,"23579":12038,"23582":12039,"23583":12040,"23584":12041,"23585":12042,"23587":12043,"23590":12044,"23592":12045,"23593":12046,"23594":12047,"23595":12048,"23597":12049,"23598":12050,"23599":12051,"23600":12052,"23602":12053,"23603":12054,"23605":12055,"23606":12056,"23619":12057,"23620":12058,"23622":12059,"23623":12060,"23628":12061,"23629":12062,"23634":12063,"23635":12064,"23636":12065,"23638":12066,"23639":12067,"23640":12068,"23642":12069,"23643":12070,"23644":12071,"23645":12072,"23647":12073,"23655":12074,"23657":12075,"23658":12076,"23659":12077,"23661":12078,"23664":12079,"23666":12080,"23667":12081,"23668":12082,"23669":12083,"23670":12084,"23671":12085,"23672":12086,"23675":12087,"23676":12088,"23677":12089,"23678":12090,"23680":12091,"23683":12092,"23684":12093,"23685":12094,"23686":12095,"23687":12096,"23689":12097,"23690":12098,"23691":12099,"23694":12100,"23695":12101,"23698":12102,"23699":12103,"23701":12104,"23709":12105,"23710":12106,"23711":12107,"23712":12108,"23716":12109,"23717":12110,"23718":12111,"23719":12112,"23720":12113,"23722":12114,"23726":12115,"23727":12116,"23728":12117,"23730":12118,"23732":12119,"23734":12120,"23737":12121,"23738":12122,"23739":12123,"23740":12124,"23742":12125,"23744":12126,"23746":12127,"23747":12128,"23749":12129,"23750":12130,"23751":12131,"23752":12132,"23753":12133,"23754":12134,"23756":12135,"23757":12136,"23758":12137,"23759":12138,"23760":12139,"23761":12140,"23763":12141,"23764":12142,"23765":12143,"23766":12144,"23767":12145,"23768":12146,"23770":12147,"23771":12148,"23772":12149,"23773":12150,"23774":12151,"23775":12152,"23776":12153,"23778":12154,"23779":12155,"23783":12156,"23785":12157,"23787":12158,"23788":12159,"23790":12160,"23791":12161,"23793":12162,"23794":12163,"23795":12164,"23797":12165,"23799":12166,"23800":12167,"23801":12168,"23802":12169,"23804":12170,"23806":12171,"23807":12172,"23808":12173,"23809":12174,"23812":12175,"23813":12176,"23816":12177,"23817":12178,"23818":12179,"23819":12180,"23820":12181,"23823":12182,"23824":12183,"23825":12184,"23826":12185,"23827":12186,"23829":12187,"23832":12188,"23833":12189,"23834":12190,"23836":12191,"23837":12192,"23839":12193,"23840":12194,"23841":12195,"23842":12196,"23843":12197,"23845":12198,"23848":12199,"23850":12200,"23851":12201,"23855":12202,"23856":12203,"23857":12204,"23858":12205,"23859":12206,"23861":12207,"23862":12208,"23863":12209,"23864":12210,"23865":12211,"23866":12212,"23867":12213,"23868":12214,"23871":12215,"23872":12216,"23873":12217,"23874":12218,"23875":12219,"23876":12220,"23877":12221,"23878":12222,"23880":12223,"23881":12224,"23885":12225,"23886":12226,"23887":12227,"23889":12228,"23890":12229,"23891":12230,"23892":12231,"23893":12232,"23894":12233,"23895":12234,"23897":12235,"23898":12236,"23900":12237,"23902":12238,"23903":12239,"23904":12240,"23905":12241,"23906":12242,"23907":12243,"23908":12244,"23909":12245,"23910":12246,"23911":12247,"23912":12248,"23914":12249,"23917":12250,"23918":12251,"23920":12252,"23921":12253,"23922":12254,"23923":12255,"23925":12256,"23926":12257,"23927":12258,"23928":12259,"23929":12260,"23930":12261,"23931":12262,"23932":12263,"23933":12264,"23934":12265,"23935":12266,"23936":12267,"23939":12268,"23941":12269,"23942":12270,"23944":12271,"23945":12272,"23946":12273,"23947":12274,"23948":12275,"23949":12276,"23950":12277,"23951":12278,"23952":12279,"23953":12280,"23954":12281,"23955":12282,"23956":12283,"23957":12284,"23958":12285,"23960":12286,"23962":12287,"23963":12288,"23964":12289,"23966":12290,"23967":12291,"23969":12292,"23970":12293,"23971":12294,"23972":12295,"23973":12296,"23974":12297,"23976":12298,"23977":12299,"23978":12300,"23979":12301,"23980":12302,"23981":12303,"23982":12304,"23983":12305,"23984":12306,"23985":12307,"23986":12308,"23987":12309,"23988":12310,"23989":12311,"23990":12312,"23993":12313,"23995":12314,"23997":12315,"23998":12316,"23999":12317,"24000":12318,"24001":12319,"24002":12320,"24003":12321,"24004":12322,"24006":12323,"24007":12324,"24008":12325,"24009":12326,"24010":12327,"24012":12328,"24014":12329,"24015":12330,"24016":12331,"24017":12332,"24019":12333,"24021":12334,"24022":12335,"24023":12336,"24024":12337,"24025":12338,"24026":12339,"24028":12340,"24031":12341,"24032":12342,"24035":12343,"24036":12344,"24042":12345,"24044":12346,"24045":12347,"24053":12348,"24054":12349,"24056":12350,"24057":12351,"24058":12352,"24059":12353,"24060":12354,"24063":12355,"24064":12356,"24068":12357,"24071":12358,"24073":12359,"24074":12360,"24075":12361,"24077":12362,"24078":12363,"24082":12364,"24083":12365,"24087":12366,"24094":12367,"24095":12368,"24096":12369,"24097":12370,"24098":12371,"24099":12372,"24100":12373,"24104":12374,"24105":12375,"24106":12376,"24108":12377,"24111":12378,"24112":12379,"24114":12380,"24116":12381,"24117":12382,"24121":12383,"24122":12384,"24126":12385,"24127":12386,"24129":12387,"24134":12388,"24135":12389,"24136":12390,"24137":12391,"24138":12392,"24139":12393,"24141":12394,"24142":12395,"24143":12396,"24144":12397,"24145":12398,"24146":12399,"24147":12400,"24150":12401,"24153":12402,"24154":12403,"24156":12404,"24157":12405,"24160":12406,"24164":12407,"24165":12408,"24166":12409,"24167":12410,"24168":12411,"24169":12412,"24170":12413,"24173":12414,"24174":12415,"24175":12416,"24176":12417,"24177":12418,"24181":12419,"24183":12420,"24193":12421,"24194":12422,"24195":12423,"24197":12424,"24200":12425,"24201":12426,"24204":12427,"24205":12428,"24206":12429,"24210":12430,"24216":12431,"24219":12432,"24221":12433,"24225":12434,"24226":12435,"24227":12436,"24228":12437,"24232":12438,"24233":12439,"24234":12440,"24236":12441,"24238":12442,"24239":12443,"24240":12444,"24241":12445,"24242":12446,"24244":12447,"24250":12448,"24251":12449,"24252":12450,"24253":12451,"24255":12452,"24256":12453,"24257":12454,"24258":12455,"24259":12456,"24260":12457,"24261":12458,"24262":12459,"24263":12460,"24264":12461,"24267":12462,"24268":12463,"24269":12464,"24270":12465,"24271":12466,"24272":12467,"24276":12468,"24277":12469,"24279":12470,"24280":12471,"24281":12472,"24282":12473,"24284":12474,"24285":12475,"24286":12476,"24292":12477,"24293":12478,"24294":12479,"24295":12480,"24297":12481,"24299":12482,"24301":12483,"24302":12484,"24303":12485,"24304":12486,"24305":12487,"24306":12488,"24309":12489,"24312":12490,"24313":12491,"24315":12492,"24316":12493,"24317":12494,"24325":12495,"24326":12496,"24327":12497,"24329":12498,"24332":12499,"24333":12500,"24334":12501,"24336":12502,"24338":12503,"24340":12504,"24342":12505,"24345":12506,"24346":12507,"24348":12508,"24349":12509,"24350":12510,"24353":12511,"24354":12512,"24355":12513,"24356":12514,"24360":12515,"24363":12516,"24364":12517,"24366":12518,"24368":12519,"24370":12520,"24372":12521,"24374":12522,"24375":12523,"24376":12524,"24379":12525,"24381":12526,"24382":12527,"24383":12528,"24385":12529,"24386":12530,"24387":12531,"24388":12532,"24389":12533,"24391":12534,"24393":12535,"24394":12536,"24395":12537,"24397":12538,"24399":12539,"24401":12540,"24404":12541,"24410":12542,"24411":12543,"24412":12544,"24414":12545,"24415":12546,"24416":12547,"24419":12548,"24421":12549,"24423":12550,"24424":12551,"24427":12552,"24430":12553,"24431":12554,"24434":12555,"24436":12556,"24437":12557,"24438":12558,"24440":12559,"24442":12560,"24445":12561,"24446":12562,"24447":12563,"24451":12564,"24454":12565,"24461":12566,"24462":12567,"24463":12568,"24467":12569,"24468":12570,"24470":12571,"24474":12572,"24475":12573,"24477":12574,"24479":12575,"24482":12576,"24483":12577,"24484":12578,"24485":12579,"24486":12580,"24487":12581,"24491":12582,"24492":12583,"24495":12584,"24496":12585,"24497":12586,"24498":12587,"24499":12588,"24500":12589,"24502":12590,"24504":12591,"24506":12592,"24507":12593,"24510":12594,"24511":12595,"24512":12596,"24513":12597,"24514":12598,"24519":12599,"24520":12600,"24522":12601,"24523":12602,"24526":12603,"24531":12604,"24532":12605,"24533":12606,"24538":12607,"24539":12608,"24540":12609,"24542":12610,"24543":12611,"24546":12612,"24547":12613,"24549":12614,"24550":12615,"24552":12616,"24553":12617,"24556":12618,"24559":12619,"24560":12620,"24562":12621,"24563":12622,"24564":12623,"24566":12624,"24567":12625,"24569":12626,"24570":12627,"24572":12628,"24583":12629,"24584":12630,"24585":12631,"24587":12632,"24588":12633,"24592":12634,"24593":12635,"24595":12636,"24599":12637,"24600":12638,"24602":12639,"24606":12640,"24607":12641,"24610":12642,"24611":12643,"24612":12644,"24620":12645,"24621":12646,"24622":12647,"24624":12648,"24625":12649,"24626":12650,"24627":12651,"24628":12652,"24630":12653,"24631":12654,"24632":12655,"24633":12656,"24634":12657,"24637":12658,"24638":12659,"24640":12660,"24644":12661,"24645":12662,"24646":12663,"24647":12664,"24648":12665,"24649":12666,"24650":12667,"24652":12668,"24654":12669,"24655":12670,"24657":12671,"24659":12672,"24660":12673,"24662":12674,"24663":12675,"24664":12676,"24667":12677,"24668":12678,"24670":12679,"24671":12680,"24672":12681,"24673":12682,"24677":12683,"24678":12684,"24686":12685,"24689":12686,"24690":12687,"24692":12688,"24693":12689,"24695":12690,"24702":12691,"24704":12692,"24705":12693,"24706":12694,"24709":12695,"24710":12696,"24711":12697,"24712":12698,"24714":12699,"24715":12700,"24718":12701,"24719":12702,"24720":12703,"24721":12704,"24723":12705,"24725":12706,"24727":12707,"24728":12708,"24729":12709,"24732":12710,"24734":12711,"24737":12712,"24738":12713,"24740":12714,"24741":12715,"24743":12716,"24745":12717,"24746":12718,"24750":12719,"24752":12720,"24755":12721,"24759":12722,"24761":12723,"24762":12724,"24765":12725,"24766":12726,"24767":12727,"24768":12728,"24769":12729,"24770":12730,"24771":12731,"24772":12732,"24775":12733,"24776":12734,"24777":12735,"24780":12736,"24781":12737,"24782":12738,"24783":12739,"24784":12740,"24786":12741,"24787":12742,"24788":12743,"24790":12744,"24791":12745,"24793":12746,"24795":12747,"24798":12748,"24802":12749,"24803":12750,"24804":12751,"24805":12752,"24810":12753,"24821":12754,"24823":12755,"24824":12756,"24828":12757,"24829":12758,"24830":12759,"24831":12760,"24834":12761,"24835":12762,"24836":12763,"24837":12764,"24839":12765,"24842":12766,"24843":12767,"24844":12768,"24848":12769,"24849":12770,"24850":12771,"24851":12772,"24852":12773,"24854":12774,"24855":12775,"24856":12776,"24857":12777,"24861":12778,"24862":12779,"24865":12780,"24866":12781,"24869":12782,"24872":12783,"24873":12784,"24874":12785,"24876":12786,"24877":12787,"24878":12788,"24879":12789,"24880":12790,"24881":12791,"24882":12792,"24883":12793,"24885":12794,"24886":12795,"24888":12796,"24889":12797,"24890":12798,"24891":12799,"24892":12800,"24893":12801,"24896":12802,"24897":12803,"24898":12804,"24899":12805,"24900":12806,"24901":12807,"24902":12808,"24903":12809,"24905":12810,"24909":12811,"24911":12812,"24912":12813,"24914":12814,"24915":12815,"24916":12816,"24918":12817,"24919":12818,"24921":12819,"24923":12820,"24924":12821,"24926":12822,"24928":12823,"24929":12824,"24933":12825,"24934":12826,"24937":12827,"24940":12828,"24941":12829,"24943":12830,"24945":12831,"24946":12832,"24948":12833,"24952":12834,"24953":12835,"24954":12836,"24955":12837,"24956":12838,"24957":12839,"24958":12840,"24959":12841,"24960":12842,"24961":12843,"24963":12844,"24964":12845,"24965":12846,"24966":12847,"24967":12848,"24968":12849,"24969":12850,"24972":12851,"24973":12852,"24975":12853,"24979":12854,"24981":12855,"24982":12856,"24983":12857,"24984":12858,"24985":12859,"24987":12860,"24988":12861,"24990":12862,"24991":12863,"24992":12864,"24993":12865,"24994":12866,"24995":12867,"24997":12868,"24998":12869,"25002":12870,"25005":12871,"25007":12872,"25008":12873,"25009":12874,"25011":12875,"25012":12876,"25013":12877,"25016":12878,"25017":12879,"25018":12880,"25019":12881,"25020":12882,"25021":12883,"25023":12884,"25024":12885,"25025":12886,"25027":12887,"25028":12888,"25029":12889,"25030":12890,"25037":12891,"25038":12892,"25039":12893,"25040":12894,"25043":12895,"25045":12896,"25046":12897,"25047":12898,"25048":12899,"25049":12900,"25050":12901,"25051":12902,"25052":12903,"25053":12904,"25056":12905,"25057":12906,"25058":12907,"25060":12908,"25061":12909,"25063":12910,"25065":12911,"25066":12912,"25067":12913,"25068":12914,"25069":12915,"25070":12916,"25071":12917,"25072":12918,"25073":12919,"25075":12920,"25076":12921,"25081":12922,"25083":12923,"25085":12924,"25089":12925,"25090":12926,"25091":12927,"25092":12928,"25093":12929,"25097":12930,"25107":12931,"25113":12932,"25116":12933,"25117":12934,"25118":12935,"25120":12936,"25123":12937,"25126":12938,"25128":12939,"25129":12940,"25131":12941,"25133":12942,"25135":12943,"25137":12944,"25141":12945,"12094":12946,"25142":12946,"25144":12947,"25145":12948,"25146":12949,"25147":12950,"25148":12951,"25154":12952,"25156":12953,"25157":12954,"25158":12955,"25162":12956,"25167":12957,"25168":12958,"25173":12959,"25174":12960,"25175":12961,"25177":12962,"25178":12963,"25180":12964,"25181":12965,"25182":12966,"25183":12967,"25184":12968,"25185":12969,"25186":12970,"25188":12971,"25189":12972,"25192":12973,"25201":12974,"25202":12975,"25204":12976,"25205":12977,"25207":12978,"25208":12979,"25210":12980,"25211":12981,"25213":12982,"25217":12983,"25218":12984,"25219":12985,"25221":12986,"25222":12987,"25223":12988,"25224":12989,"25227":12990,"25228":12991,"25229":12992,"25230":12993,"25231":12994,"25232":12995,"25236":12996,"25241":12997,"25244":12998,"25245":12999,"25246":13000,"25251":13001,"25254":13002,"25255":13003,"25257":13004,"25258":13005,"25261":13006,"25262":13007,"25263":13008,"25264":13009,"25266":13010,"25267":13011,"25268":13012,"25270":13013,"25271":13014,"25272":13015,"25274":13016,"25278":13017,"25280":13018,"25281":13019,"25283":13020,"25291":13021,"25295":13022,"25297":13023,"25301":13024,"25309":13025,"25310":13026,"25312":13027,"25313":13028,"25316":13029,"25322":13030,"25323":13031,"25328":13032,"25330":13033,"25333":13034,"25336":13035,"25337":13036,"25338":13037,"25339":13038,"25344":13039,"25347":13040,"25348":13041,"25349":13042,"25350":13043,"25354":13044,"25355":13045,"25356":13046,"25357":13047,"25359":13048,"25360":13049,"25362":13050,"25363":13051,"25364":13052,"25365":13053,"25367":13054,"25368":13055,"25369":13056,"25372":13057,"25382":13058,"25383":13059,"25385":13060,"25388":13061,"25389":13062,"25390":13063,"25392":13064,"25393":13065,"25395":13066,"25396":13067,"25397":13068,"25398":13069,"25399":13070,"25400":13071,"25403":13072,"25404":13073,"25407":13074,"25408":13075,"25409":13076,"25412":13077,"25415":13078,"25416":13079,"25418":13080,"25425":13081,"25426":13082,"25427":13083,"25428":13084,"25430":13085,"25431":13086,"25432":13087,"25433":13088,"25434":13089,"25435":13090,"25436":13091,"25437":13092,"25440":13093,"25444":13094,"25445":13095,"25446":13096,"25450":13097,"25452":13098,"25455":13099,"25456":13100,"25459":13101,"25460":13102,"25461":13103,"25464":13104,"25465":13105,"25468":13106,"25469":13107,"25470":13108,"25471":13109,"25473":13110,"25477":13111,"25478":13112,"25483":13113,"25485":13114,"25489":13115,"25491":13116,"25492":13117,"25493":13118,"25495":13119,"25497":13120,"25498":13121,"25499":13122,"25500":13123,"25501":13124,"25502":13125,"25503":13126,"25505":13127,"25508":13128,"25510":13129,"25515":13130,"25519":13131,"25521":13132,"25522":13133,"25525":13134,"25526":13135,"25529":13136,"25531":13137,"25533":13138,"25535":13139,"25537":13140,"25538":13141,"25539":13142,"25541":13143,"25543":13144,"25544":13145,"25546":13146,"25547":13147,"25548":13148,"25553":13149,"25555":13150,"25556":13151,"25557":13152,"25559":13153,"25560":13154,"25561":13155,"25563":13156,"25564":13157,"25565":13158,"25567":13159,"25570":13160,"25572":13161,"25573":13162,"25574":13163,"25575":13164,"25576":13165,"25579":13166,"25580":13167,"25583":13168,"25584":13169,"25585":13170,"25587":13171,"25589":13172,"25591":13173,"25593":13174,"25594":13175,"25595":13176,"25596":13177,"25598":13178,"25603":13179,"25604":13180,"25606":13181,"25607":13182,"25608":13183,"25609":13184,"25610":13185,"25614":13186,"25617":13187,"25618":13188,"25621":13189,"25622":13190,"25624":13191,"25625":13192,"25626":13193,"25629":13194,"25631":13195,"25634":13196,"25635":13197,"25636":13198,"25637":13199,"25639":13200,"25640":13201,"25641":13202,"25643":13203,"25646":13204,"25647":13205,"25648":13206,"25649":13207,"25650":13208,"25651":13209,"25653":13210,"25655":13211,"25656":13212,"25657":13213,"25659":13214,"25660":13215,"25662":13216,"25664":13217,"25666":13218,"25667":13219,"25673":13220,"25675":13221,"25676":13222,"25677":13223,"25678":13224,"25679":13225,"25680":13226,"25683":13227,"25685":13228,"25686":13229,"25687":13230,"25689":13231,"25690":13232,"25691":13233,"25693":13234,"25696":13235,"25697":13236,"25698":13237,"25699":13238,"25700":13239,"25701":13240,"25702":13241,"25704":13242,"25706":13243,"25707":13244,"25708":13245,"25710":13246,"25712":13247,"25713":13248,"25714":13249,"25716":13250,"25717":13251,"25719":13252,"25724":13253,"25725":13254,"25726":13255,"25727":13256,"25728":13257,"25729":13258,"25731":13259,"25734":13260,"25737":13261,"25738":13262,"25739":13263,"25740":13264,"25741":13265,"25742":13266,"25743":13267,"25744":13268,"25748":13269,"25751":13270,"25752":13271,"25754":13272,"25755":13273,"25756":13274,"25757":13275,"25760":13276,"25761":13277,"25762":13278,"25766":13279,"25767":13280,"25768":13281,"25770":13282,"25775":13283,"25777":13284,"25780":13285,"25782":13286,"25785":13287,"25789":13288,"25795":13289,"25798":13290,"25800":13291,"25801":13292,"25804":13293,"25807":13294,"25809":13295,"25811":13296,"25813":13297,"25814":13298,"25817":13299,"25819":13300,"25820":13301,"25821":13302,"25823":13303,"25825":13304,"25827":13305,"25829":13306,"25831":13307,"25832":13308,"25833":13309,"25834":13310,"25835":13311,"25837":13312,"25838":13313,"25843":13314,"25845":13315,"25846":13316,"25848":13317,"25849":13318,"25853":13319,"25855":13320,"25857":13321,"25858":13322,"25859":13323,"25861":13324,"25863":13325,"25864":13326,"25866":13327,"25867":13328,"25868":13329,"25869":13330,"25870":13331,"25872":13332,"25873":13333,"25875":13334,"25877":13335,"25879":13336,"25882":13337,"25884":13338,"25886":13339,"25887":13340,"25888":13341,"25889":13342,"25894":13343,"25895":13344,"25896":13345,"25897":13346,"25901":13347,"25904":13348,"25905":13349,"25906":13350,"25907":13351,"25911":13352,"25914":13353,"25916":13354,"25917":13355,"25920":13356,"25921":13357,"25922":13358,"25923":13359,"25924":13360,"25926":13361,"25927":13362,"25930":13363,"25931":13364,"25933":13365,"25934":13366,"25936":13367,"25938":13368,"25939":13369,"25940":13370,"25944":13371,"25946":13372,"25948":13373,"25951":13374,"25952":13375,"25953":13376,"25956":13377,"25957":13378,"25959":13379,"25960":13380,"25961":13381,"25962":13382,"25965":13383,"25966":13384,"25967":13385,"25969":13386,"25971":13387,"25974":13388,"25977":13389,"25978":13390,"25979":13391,"25980":13392,"25981":13393,"25982":13394,"25983":13395,"25984":13396,"25985":13397,"25988":13398,"25989":13399,"25990":13400,"25992":13401,"25993":13402,"25994":13403,"25997":13404,"25998":13405,"25999":13406,"26002":13407,"26004":13408,"26006":13409,"26008":13410,"26010":13411,"26013":13412,"26014":13413,"26016":13414,"26018":13415,"26019":13416,"26022":13417,"26024":13418,"26026":13419,"26030":13420,"26033":13421,"26034":13422,"26035":13423,"26036":13424,"26037":13425,"26038":13426,"26040":13427,"26042":13428,"26043":13429,"26046":13430,"26047":13431,"26048":13432,"26050":13433,"26055":13434,"26056":13435,"26057":13436,"26058":13437,"26061":13438,"26064":13439,"26065":13440,"26067":13441,"26068":13442,"26069":13443,"26072":13444,"26073":13445,"26074":13446,"26075":13447,"26076":13448,"26077":13449,"26078":13450,"26079":13451,"26081":13452,"26083":13453,"26084":13454,"26090":13455,"26091":13456,"26098":13457,"26099":13458,"26100":13459,"26101":13460,"26104":13461,"26105":13462,"26107":13463,"26108":13464,"26109":13465,"26110":13466,"26111":13467,"26113":13468,"26116":13469,"26117":13470,"26119":13471,"26120":13472,"26121":13473,"26123":13474,"26125":13475,"26128":13476,"26129":13477,"26130":13478,"26134":13479,"26135":13480,"26136":13481,"26138":13482,"26139":13483,"26140":13484,"26142":13485,"26145":13486,"26146":13487,"26147":13488,"26148":13489,"26150":13490,"26153":13491,"26154":13492,"26155":13493,"26156":13494,"26158":13495,"26160":13496,"26162":13497,"26163":13498,"26167":13499,"26168":13500,"26169":13501,"26170":13502,"26171":13503,"26173":13504,"26175":13505,"26176":13506,"26180":13507,"26181":13508,"26182":13509,"26183":13510,"26184":13511,"26185":13512,"26186":13513,"26189":13514,"26190":13515,"26192":13516,"26193":13517,"26200":13518,"26201":13519,"26203":13520,"26204":13521,"26206":13522,"26208":13523,"26210":13524,"26211":13525,"26213":13526,"26215":13527,"26217":13528,"26218":13529,"26219":13530,"26220":13531,"26221":13532,"26225":13533,"26226":13534,"26227":13535,"26229":13536,"26232":13537,"26233":13538,"26235":13539,"26236":13540,"26237":13541,"26239":13542,"26240":13543,"26241":13544,"26243":13545,"26245":13546,"26246":13547,"26250":13548,"26251":13549,"26253":13550,"26254":13551,"26255":13552,"26256":13553,"26258":13554,"26259":13555,"26260":13556,"26261":13557,"26264":13558,"26265":13559,"26266":13560,"26267":13561,"26268":13562,"26270":13563,"26271":13564,"26272":13565,"26273":13566,"26275":13567,"26276":13568,"26277":13569,"26278":13570,"26281":13571,"26282":13572,"26284":13573,"26285":13574,"26287":13575,"26288":13576,"26289":13577,"26290":13578,"26291":13579,"26293":13580,"26294":13581,"26295":13582,"26296":13583,"26298":13584,"26299":13585,"26300":13586,"26301":13587,"26303":13588,"26304":13589,"26305":13590,"26306":13591,"26307":13592,"26309":13593,"26312":13594,"26314":13595,"26315":13596,"26316":13597,"26317":13598,"26318":13599,"26319":13600,"26320":13601,"26321":13602,"26322":13603,"26323":13604,"26324":13605,"26325":13606,"26327":13607,"26328":13608,"26330":13609,"26334":13610,"26335":13611,"26337":13612,"26338":13613,"26339":13614,"26340":13615,"26341":13616,"26343":13617,"26344":13618,"26346":13619,"26347":13620,"26349":13621,"26350":13622,"26351":13623,"26353":13624,"26357":13625,"26358":13626,"26362":13627,"26363":13628,"26365":13629,"26369":13630,"26370":13631,"26372":13632,"26373":13633,"26374":13634,"26375":13635,"26380":13636,"26382":13637,"26383":13638,"26385":13639,"26386":13640,"26387":13641,"26390":13642,"26392":13643,"26393":13644,"26394":13645,"26396":13646,"26398":13647,"26400":13648,"26401":13649,"26402":13650,"26403":13651,"26404":13652,"26405":13653,"26409":13654,"26414":13655,"26416":13656,"26418":13657,"26419":13658,"26422":13659,"26423":13660,"26424":13661,"26425":13662,"26427":13663,"26428":13664,"26430":13665,"26431":13666,"26433":13667,"26436":13668,"26437":13669,"26439":13670,"26442":13671,"26443":13672,"26445":13673,"26450":13674,"26452":13675,"26453":13676,"26455":13677,"26456":13678,"26457":13679,"26458":13680,"26459":13681,"26461":13682,"26466":13683,"26467":13684,"26468":13685,"26470":13686,"26471":13687,"26475":13688,"26476":13689,"26478":13690,"26484":13691,"26486":13692,"26488":13693,"26489":13694,"26490":13695,"26491":13696,"26493":13697,"26496":13698,"26498":13699,"26499":13700,"26501":13701,"26502":13702,"26504":13703,"26506":13704,"26508":13705,"26509":13706,"26510":13707,"26511":13708,"26513":13709,"26514":13710,"26515":13711,"26516":13712,"26518":13713,"26521":13714,"26523":13715,"26527":13716,"26528":13717,"26529":13718,"26532":13719,"26534":13720,"26537":13721,"26540":13722,"26542":13723,"26545":13724,"26546":13725,"26548":13726,"26553":13727,"26554":13728,"26555":13729,"26556":13730,"26557":13731,"26558":13732,"26559":13733,"26560":13734,"26562":13735,"26565":13736,"26566":13737,"26567":13738,"26568":13739,"26569":13740,"26570":13741,"26571":13742,"26572":13743,"26573":13744,"26574":13745,"26581":13746,"26582":13747,"26583":13748,"26587":13749,"26591":13750,"26593":13751,"26595":13752,"26596":13753,"26598":13754,"26599":13755,"26600":13756,"26602":13757,"26603":13758,"26605":13759,"26606":13760,"26610":13761,"26613":13762,"26614":13763,"26615":13764,"26616":13765,"26617":13766,"26618":13767,"26619":13768,"26620":13769,"26622":13770,"26625":13771,"26626":13772,"26627":13773,"26628":13774,"26630":13775,"26637":13776,"26640":13777,"26642":13778,"26644":13779,"26645":13780,"26648":13781,"26649":13782,"26650":13783,"26651":13784,"26652":13785,"26654":13786,"26655":13787,"26656":13788,"26658":13789,"26659":13790,"26660":13791,"26661":13792,"26662":13793,"26663":13794,"26664":13795,"26667":13796,"26668":13797,"26669":13798,"26670":13799,"26671":13800,"26672":13801,"26673":13802,"26676":13803,"26677":13804,"26678":13805,"26682":13806,"26683":13807,"26687":13808,"26695":13809,"26699":13810,"26701":13811,"26703":13812,"26706":13813,"26710":13814,"26711":13815,"26712":13816,"26713":13817,"26714":13818,"26715":13819,"26716":13820,"26717":13821,"26718":13822,"26719":13823,"26730":13824,"26732":13825,"26733":13826,"26734":13827,"26735":13828,"26736":13829,"26737":13830,"26738":13831,"26739":13832,"26741":13833,"26744":13834,"26745":13835,"26746":13836,"26747":13837,"26748":13838,"26749":13839,"26750":13840,"26751":13841,"26752":13842,"26754":13843,"26756":13844,"26759":13845,"26760":13846,"26761":13847,"26762":13848,"26763":13849,"26764":13850,"26765":13851,"26766":13852,"26768":13853,"26769":13854,"26770":13855,"26772":13856,"26773":13857,"26774":13858,"26777":13859,"26778":13860,"26779":13861,"26780":13862,"26782":13863,"26784":13864,"26785":13865,"26787":13866,"26788":13867,"26789":13868,"26793":13869,"26794":13870,"26795":13871,"26796":13872,"26798":13873,"26801":13874,"26802":13875,"26804":13876,"26806":13877,"26807":13878,"26808":13879,"26809":13880,"26810":13881,"26811":13882,"26812":13883,"26813":13884,"26814":13885,"26815":13886,"26817":13887,"26819":13888,"26820":13889,"26821":13890,"26822":13891,"26823":13892,"26824":13893,"26826":13894,"26828":13895,"26830":13896,"26831":13897,"26832":13898,"26833":13899,"26835":13900,"26836":13901,"26841":13902,"26843":13903,"26844":13904,"26845":13905,"26846":13906,"26849":13907,"26850":13908,"26852":13909,"26853":13910,"26854":13911,"26856":13912,"26857":13913,"26858":13914,"26859":13915,"26860":13916,"26861":13917,"26863":13918,"26866":13919,"26867":13920,"26868":13921,"26870":13922,"26871":13923,"26872":13924,"26875":13925,"26877":13926,"26878":13927,"26879":13928,"26880":13929,"26882":13930,"26883":13931,"26884":13932,"26886":13933,"26887":13934,"26888":13935,"26889":13936,"26890":13937,"26892":13938,"26897":13939,"26899":13940,"26900":13941,"26901":13942,"26902":13943,"26903":13944,"26904":13945,"26905":13946,"26906":13947,"26907":13948,"26908":13949,"26909":13950,"26910":13951,"26913":13952,"26914":13953,"26915":13954,"26917":13955,"26918":13956,"26919":13957,"26920":13958,"26921":13959,"26922":13960,"26923":13961,"26924":13962,"26926":13963,"26927":13964,"26929":13965,"26930":13966,"26931":13967,"26933":13968,"26934":13969,"26935":13970,"26936":13971,"26938":13972,"26939":13973,"26940":13974,"26942":13975,"26944":13976,"26945":13977,"26947":13978,"26948":13979,"26949":13980,"26950":13981,"26951":13982,"26952":13983,"26953":13984,"26955":13985,"26956":13986,"26957":13987,"26958":13988,"26959":13989,"26960":13990,"26961":13991,"26962":13992,"26965":13993,"26966":13994,"26968":13995,"26969":13996,"26971":13997,"26972":13998,"26975":13999,"26977":14000,"26978":14001,"26980":14002,"26981":14003,"26983":14004,"26985":14005,"26986":14006,"26988":14007,"26991":14008,"26992":14009,"26994":14010,"26995":14011,"26996":14012,"26998":14013,"27002":14014,"27003":14015,"27005":14016,"27006":14017,"27007":14018,"27009":14019,"27011":14020,"27013":14021,"27018":14022,"27019":14023,"27020":14024,"27022":14025,"27023":14026,"27024":14027,"27025":14028,"27026":14029,"27027":14030,"27030":14031,"27031":14032,"27033":14033,"27034":14034,"27037":14035,"27038":14036,"27039":14037,"27040":14038,"27041":14039,"27042":14040,"27043":14041,"27044":14042,"27045":14043,"27046":14044,"27049":14045,"27052":14046,"27055":14047,"27056":14048,"27058":14049,"27059":14050,"27061":14051,"27062":14052,"27064":14053,"27065":14054,"27066":14055,"27068":14056,"27069":14057,"27070":14058,"27072":14059,"27074":14060,"27075":14061,"27076":14062,"27077":14063,"27078":14064,"27079":14065,"27080":14066,"27081":14067,"27087":14068,"27089":14069,"27090":14070,"27091":14071,"27093":14072,"27094":14073,"27095":14074,"27096":14075,"27097":14076,"27098":14077,"27100":14078,"27101":14079,"27102":14080,"27105":14081,"27106":14082,"27107":14083,"27108":14084,"27109":14085,"27110":14086,"27112":14087,"27113":14088,"27114":14089,"27115":14090,"27116":14091,"27118":14092,"27119":14093,"27120":14094,"27121":14095,"27124":14096,"27125":14097,"27126":14098,"27127":14099,"27128":14100,"27129":14101,"27130":14102,"27131":14103,"27132":14104,"27134":14105,"27136":14106,"27139":14107,"27140":14108,"27142":14109,"27143":14110,"27144":14111,"27145":14112,"27147":14113,"27148":14114,"27149":14115,"27150":14116,"27151":14117,"27152":14118,"27153":14119,"27154":14120,"27156":14121,"27157":14122,"27158":14123,"27162":14124,"27163":14125,"27164":14126,"27165":14127,"27168":14128,"27170":14129,"27172":14130,"27173":14131,"27174":14132,"27175":14133,"27177":14134,"27179":14135,"27180":14136,"27181":14137,"27182":14138,"27184":14139,"27186":14140,"27187":14141,"27188":14142,"27190":14143,"27191":14144,"27195":14145,"27196":14146,"27199":14147,"27200":14148,"27201":14149,"27202":14150,"27203":14151,"27205":14152,"27206":14153,"27209":14154,"27210":14155,"27212":14156,"27213":14157,"27214":14158,"27215":14159,"27217":14160,"27218":14161,"27219":14162,"27220":14163,"27221":14164,"27222":14165,"27223":14166,"27226":14167,"27228":14168,"27229":14169,"27230":14170,"27232":14171,"27235":14172,"27236":14173,"27238":14174,"27239":14175,"27240":14176,"27241":14177,"27242":14178,"27243":14179,"27244":14180,"27245":14181,"27246":14182,"27247":14183,"27248":14184,"27250":14185,"27251":14186,"27252":14187,"27253":14188,"27254":14189,"27255":14190,"27256":14191,"27258":14192,"27259":14193,"27261":14194,"27262":14195,"27263":14196,"27265":14197,"27266":14198,"27267":14199,"27269":14200,"27270":14201,"27271":14202,"27272":14203,"27274":14204,"27275":14205,"27276":14206,"27277":14207,"27279":14208,"27282":14209,"27283":14210,"27285":14211,"27286":14212,"27288":14213,"27289":14214,"27290":14215,"27291":14216,"27293":14217,"27294":14218,"27295":14219,"27297":14220,"27300":14221,"27301":14222,"27302":14223,"27303":14224,"27304":14225,"27306":14226,"27309":14227,"27310":14228,"27312":14229,"27313":14230,"27314":14231,"27316":14232,"27317":14233,"27318":14234,"27319":14235,"27321":14236,"27322":14237,"27324":14238,"27325":14239,"27326":14240,"27327":14241,"27328":14242,"27329":14243,"27330":14244,"27332":14245,"27333":14246,"27334":14247,"27335":14248,"27336":14249,"27337":14250,"27338":14251,"27339":14252,"27340":14253,"27341":14254,"27342":14255,"27343":14256,"27344":14257,"27345":14258,"27346":14259,"27348":14260,"27349":14261,"27350":14262,"27351":14263,"27352":14264,"27353":14265,"27356":14266,"27360":14267,"27361":14268,"27362":14269,"27363":14270,"27364":14271,"27365":14272,"27366":14273,"27369":14274,"27371":14275,"27373":14276,"27374":14277,"27375":14278,"27376":14279,"27377":14280,"27378":14281,"27380":14282,"27381":14283,"27382":14284,"27383":14285,"27385":14286,"27386":14287,"27388":14288,"27389":14289,"27390":14290,"27391":14291,"27392":14292,"27393":14293,"27394":14294,"27395":14295,"27397":14296,"27398":14297,"27399":14298,"27400":14299,"27401":14300,"27403":14301,"27404":14302,"27405":14303,"27406":14304,"27408":14305,"27409":14306,"27411":14307,"27412":14308,"27413":14309,"27415":14310,"27416":14311,"27417":14312,"27418":14313,"27419":14314,"27420":14315,"27421":14316,"27423":14317,"27429":14318,"27430":14319,"27432":14320,"27433":14321,"27434":14322,"27435":14323,"27436":14324,"27437":14325,"27438":14326,"27439":14327,"27440":14328,"27441":14329,"27443":14330,"27444":14331,"27445":14332,"27446":14333,"27448":14334,"27451":14335,"27452":14336,"27455":14337,"27456":14338,"27457":14339,"27458":14340,"27460":14341,"27461":14342,"27464":14343,"27466":14344,"27467":14345,"27469":14346,"27470":14347,"27471":14348,"27473":14349,"27474":14350,"27475":14351,"27476":14352,"27477":14353,"27478":14354,"27479":14355,"27480":14356,"27482":14357,"27483":14358,"27484":14359,"27485":14360,"27486":14361,"27488":14362,"27496":14363,"27497":14364,"27499":14365,"27500":14366,"27501":14367,"27502":14368,"27503":14369,"27504":14370,"27505":14371,"27507":14372,"27508":14373,"27509":14374,"27510":14375,"27514":14376,"27517":14377,"27518":14378,"27519":14379,"27520":14380,"27525":14381,"27528":14382,"27532":14383,"27534":14384,"27535":14385,"27536":14386,"27537":14387,"27540":14388,"27541":14389,"27543":14390,"27545":14391,"27548":14392,"27549":14393,"27551":14394,"27552":14395,"27554":14396,"27555":14397,"27557":14398,"27558":14399,"27559":14400,"27560":14401,"27561":14402,"27564":14403,"27565":14404,"27568":14405,"27569":14406,"27574":14407,"27576":14408,"27577":14409,"27580":14410,"27581":14411,"27582":14412,"27584":14413,"27587":14414,"27588":14415,"27591":14416,"27592":14417,"27593":14418,"27594":14419,"27596":14420,"27598":14421,"27600":14422,"27601":14423,"27608":14424,"27610":14425,"27612":14426,"27613":14427,"27614":14428,"27615":14429,"27616":14430,"27618":14431,"27619":14432,"27620":14433,"27621":14434,"27622":14435,"27623":14436,"27624":14437,"27625":14438,"27628":14439,"27629":14440,"27630":14441,"27632":14442,"27633":14443,"27634":14444,"27636":14445,"27638":14446,"27639":14447,"27640":14448,"27642":14449,"27643":14450,"27644":14451,"27646":14452,"27648":14453,"27649":14454,"27650":14455,"27651":14456,"27652":14457,"27657":14458,"27658":14459,"27659":14460,"27662":14461,"27666":14462,"27671":14463,"27676":14464,"27677":14465,"27678":14466,"27680":14467,"27685":14468,"27693":14469,"27697":14470,"27699":14471,"27702":14472,"27703":14473,"27705":14474,"27706":14475,"27707":14476,"27708":14477,"27710":14478,"27711":14479,"27715":14480,"27716":14481,"27717":14482,"27720":14483,"27723":14484,"27724":14485,"27725":14486,"27726":14487,"27727":14488,"27729":14489,"27730":14490,"27731":14491,"27734":14492,"27736":14493,"27737":14494,"27738":14495,"27746":14496,"27747":14497,"27749":14498,"27750":14499,"27751":14500,"27755":14501,"27756":14502,"27757":14503,"27758":14504,"27759":14505,"27761":14506,"27763":14507,"27765":14508,"27767":14509,"27768":14510,"27770":14511,"27771":14512,"27772":14513,"27775":14514,"27776":14515,"27780":14516,"27783":14517,"27786":14518,"27787":14519,"27789":14520,"27790":14521,"27793":14522,"27794":14523,"27797":14524,"27798":14525,"27799":14526,"27800":14527,"27802":14528,"27804":14529,"27805":14530,"27806":14531,"27808":14532,"27810":14533,"27816":14534,"27820":14535,"27823":14536,"27824":14537,"27828":14538,"27829":14539,"27830":14540,"27831":14541,"27834":14542,"27840":14543,"27841":14544,"27842":14545,"27843":14546,"27846":14547,"27847":14548,"27848":14549,"27851":14550,"27853":14551,"27854":14552,"27855":14553,"27857":14554,"27858":14555,"27864":14556,"27865":14557,"27866":14558,"27868":14559,"27869":14560,"27871":14561,"27876":14562,"27878":14563,"27879":14564,"27881":14565,"27884":14566,"27885":14567,"27890":14568,"27892":14569,"27897":14570,"27903":14571,"27904":14572,"27906":14573,"27907":14574,"27909":14575,"27910":14576,"27912":14577,"27913":14578,"27914":14579,"27917":14580,"27919":14581,"27920":14582,"27921":14583,"27923":14584,"27924":14585,"27925":14586,"27926":14587,"27928":14588,"27932":14589,"27933":14590,"27935":14591,"27936":14592,"27937":14593,"27938":14594,"27939":14595,"27940":14596,"27942":14597,"27944":14598,"27945":14599,"27948":14600,"27949":14601,"27951":14602,"27952":14603,"27956":14604,"27958":14605,"27959":14606,"27960":14607,"27962":14608,"27967":14609,"27968":14610,"27970":14611,"27972":14612,"27977":14613,"27980":14614,"27984":14615,"27989":14616,"27990":14617,"27991":14618,"27992":14619,"27995":14620,"27997":14621,"27999":14622,"28001":14623,"28002":14624,"28004":14625,"28005":14626,"28007":14627,"28008":14628,"28011":14629,"28012":14630,"28013":14631,"28016":14632,"28017":14633,"28018":14634,"28019":14635,"28021":14636,"28022":14637,"28026":14638,"28027":14639,"28029":14640,"28030":14641,"28031":14642,"28032":14643,"28033":14644,"28035":14645,"28036":14646,"28038":14647,"28042":14648,"28043":14649,"28045":14650,"28047":14651,"28048":14652,"28050":14653,"28054":14654,"28055":14655,"28056":14656,"28057":14657,"28058":14658,"28060":14659,"28066":14660,"28069":14661,"28076":14662,"28077":14663,"28080":14664,"28081":14665,"28083":14666,"28084":14667,"28086":14668,"28087":14669,"28089":14670,"28090":14671,"28091":14672,"28092":14673,"28093":14674,"28094":14675,"28097":14676,"28098":14677,"28099":14678,"28104":14679,"28105":14680,"28106":14681,"28109":14682,"28110":14683,"28111":14684,"28112":14685,"28114":14686,"28115":14687,"28116":14688,"28117":14689,"28119":14690,"28122":14691,"28123":14692,"28124":14693,"28127":14694,"28130":14695,"28131":14696,"28133":14697,"28135":14698,"28136":14699,"28137":14700,"28141":14701,"28143":14702,"28144":14703,"28146":14704,"28148":14705,"28152":14706,"28157":14707,"28158":14708,"28159":14709,"28160":14710,"28161":14711,"28162":14712,"28163":14713,"28164":14714,"28166":14715,"28167":14716,"28168":14717,"28169":14718,"28171":14719,"28175":14720,"28178":14721,"28179":14722,"28181":14723,"28184":14724,"28185":14725,"28187":14726,"28188":14727,"28190":14728,"28191":14729,"28194":14730,"28199":14731,"28200":14732,"28202":14733,"28206":14734,"28208":14735,"28209":14736,"28211":14737,"28213":14738,"28214":14739,"28215":14740,"28217":14741,"28219":14742,"28220":14743,"28221":14744,"28223":14745,"28224":14746,"28225":14747,"28226":14748,"28229":14749,"28230":14750,"28231":14751,"28232":14752,"28233":14753,"28234":14754,"28235":14755,"28236":14756,"28239":14757,"28240":14758,"28241":14759,"28242":14760,"28245":14761,"28247":14762,"28249":14763,"28250":14764,"28252":14765,"28253":14766,"28256":14767,"28257":14768,"28258":14769,"28259":14770,"28260":14771,"28261":14772,"28262":14773,"28263":14774,"28264":14775,"28265":14776,"28266":14777,"28268":14778,"28269":14779,"28272":14780,"28273":14781,"28274":14782,"28275":14783,"28276":14784,"28277":14785,"28278":14786,"28279":14787,"28280":14788,"28281":14789,"28282":14790,"28283":14791,"28284":14792,"28285":14793,"28288":14794,"28289":14795,"28290":14796,"28292":14797,"28295":14798,"28296":14799,"28298":14800,"28299":14801,"28300":14802,"28301":14803,"28302":14804,"28305":14805,"28306":14806,"28307":14807,"28308":14808,"28309":14809,"28311":14810,"28313":14811,"28314":14812,"28315":14813,"28318":14814,"28320":14815,"28321":14816,"28323":14817,"28324":14818,"28326":14819,"28328":14820,"28329":14821,"28331":14822,"28332":14823,"28333":14824,"28334":14825,"28336":14826,"28339":14827,"28341":14828,"28344":14829,"28345":14830,"28348":14831,"28350":14832,"28351":14833,"28352":14834,"28355":14835,"28358":14836,"28360":14837,"28361":14838,"28362":14839,"28365":14840,"28368":14841,"28370":14842,"28374":14843,"28376":14844,"28377":14845,"28379":14846,"28380":14847,"28381":14848,"28387":14849,"28391":14850,"28394":14851,"28395":14852,"28397":14853,"28398":14854,"28400":14855,"28401":14856,"28403":14857,"28405":14858,"28406":14859,"28410":14860,"28411":14861,"28412":14862,"28413":14863,"28414":14864,"28416":14865,"28419":14866,"28420":14867,"28421":14868,"28423":14869,"28424":14870,"28426":14871,"28427":14872,"28428":14873,"28429":14874,"28430":14875,"28432":14876,"28433":14877,"28434":14878,"28438":14879,"28439":14880,"28440":14881,"28441":14882,"28443":14883,"28444":14884,"28445":14885,"28446":14886,"28447":14887,"28449":14888,"28453":14889,"28454":14890,"28455":14891,"28456":14892,"28462":14893,"28464":14894,"28468":14895,"28469":14896,"28471":14897,"28473":14898,"28474":14899,"28475":14900,"28476":14901,"28477":14902,"28480":14903,"28482":14904,"28483":14905,"28484":14906,"28485":14907,"28488":14908,"28489":14909,"28490":14910,"28492":14911,"28494":14912,"28495":14913,"28496":14914,"28498":14915,"28499":14916,"28501":14917,"28502":14918,"28503":14919,"28506":14920,"28507":14921,"28509":14922,"28511":14923,"28512":14924,"28513":14925,"28515":14926,"28517":14927,"28519":14928,"28520":14929,"28521":14930,"28522":14931,"28523":14932,"28524":14933,"28529":14934,"28531":14935,"28533":14936,"28534":14937,"28537":14938,"28539":14939,"28541":14940,"28542":14941,"28545":14942,"28546":14943,"28547":14944,"28549":14945,"28554":14946,"28555":14947,"28559":14948,"28560":14949,"28561":14950,"28562":14951,"28563":14952,"28564":14953,"28565":14954,"28566":14955,"28568":14956,"28569":14957,"28570":14958,"28571":14959,"28573":14960,"28574":14961,"28575":14962,"28578":14963,"28579":14964,"28581":14965,"28582":14966,"28584":14967,"28586":14968,"28587":14969,"28588":14970,"28589":14971,"28591":14972,"28592":14973,"28594":14974,"28596":14975,"28597":14976,"28599":14977,"28600":14978,"28602":14979,"28603":14980,"28604":14981,"28605":14982,"28606":14983,"28607":14984,"28612":14985,"28613":14986,"28614":14987,"28615":14988,"28616":14989,"28618":14990,"28619":14991,"28620":14992,"28621":14993,"28622":14994,"28623":14995,"28624":14996,"28627":14997,"28628":14998,"28630":14999,"28631":15000,"28633":15001,"28634":15002,"28636":15003,"28637":15004,"28642":15005,"28643":15006,"28645":15007,"28646":15008,"28647":15009,"28648":15010,"28649":15011,"28650":15012,"28652":15013,"28653":15014,"28658":15015,"28659":15016,"28660":15017,"28661":15018,"28662":15019,"28663":15020,"28664":15021,"28665":15022,"28667":15023,"28669":15024,"28671":15025,"28672":15026,"28673":15027,"28674":15028,"28675":15029,"28676":15030,"28679":15031,"28680":15032,"28682":15033,"28684":15034,"28685":15035,"28686":15036,"28688":15037,"28690":15038,"28691":15039,"28692":15040,"28694":15041,"28695":15042,"28697":15043,"28700":15044,"28702":15045,"28705":15046,"28706":15047,"28708":15048,"28709":15049,"28710":15050,"28713":15051,"28714":15052,"28715":15053,"28716":15054,"28717":15055,"28718":15056,"28719":15057,"28721":15058,"28723":15059,"28724":15060,"28726":15061,"28727":15062,"28728":15063,"28730":15064,"28731":15065,"28732":15066,"28733":15067,"28735":15068,"28736":15069,"28737":15070,"28738":15071,"28741":15072,"28742":15073,"28743":15074,"28744":15075,"28745":15076,"28746":15077,"28747":15078,"28749":15079,"28750":15080,"28752":15081,"28754":15082,"28755":15083,"28756":15084,"28758":15085,"28759":15086,"28761":15087,"28762":15088,"28763":15089,"28764":15090,"28767":15091,"28768":15092,"28769":15093,"28770":15094,"28773":15095,"28774":15096,"28776":15097,"28777":15098,"28778":15099,"28782":15100,"28785":15101,"28786":15102,"28787":15103,"28788":15104,"28791":15105,"28793":15106,"28794":15107,"28795":15108,"28797":15109,"28801":15110,"28802":15111,"28803":15112,"28804":15113,"28806":15114,"28807":15115,"28808":15116,"28811":15117,"28812":15118,"28813":15119,"28815":15120,"28816":15121,"28817":15122,"28819":15123,"28823":15124,"28824":15125,"28826":15126,"28827":15127,"28830":15128,"28831":15129,"28832":15130,"28833":15131,"28834":15132,"28835":15133,"28836":15134,"28837":15135,"28838":15136,"28839":15137,"28840":15138,"28841":15139,"28842":15140,"28848":15141,"28850":15142,"28852":15143,"28853":15144,"28854":15145,"28858":15146,"28862":15147,"28863":15148,"28868":15149,"28869":15150,"28870":15151,"28871":15152,"28873":15153,"28875":15154,"28876":15155,"28877":15156,"28878":15157,"28880":15158,"28881":15159,"28882":15160,"28883":15161,"28884":15162,"28885":15163,"28886":15164,"28887":15165,"28890":15166,"28892":15167,"28893":15168,"28894":15169,"28896":15170,"28897":15171,"28898":15172,"28899":15173,"28901":15174,"28906":15175,"28910":15176,"28912":15177,"28913":15178,"28914":15179,"28915":15180,"28917":15181,"28918":15182,"28920":15183,"28922":15184,"28923":15185,"28924":15186,"28926":15187,"28927":15188,"28928":15189,"28929":15190,"28930":15191,"28931":15192,"28932":15193,"28933":15194,"28934":15195,"28935":15196,"28936":15197,"28939":15198,"28940":15199,"28941":15200,"28942":15201,"28943":15202,"28945":15203,"28946":15204,"28948":15205,"28951":15206,"28955":15207,"28956":15208,"28957":15209,"28958":15210,"28959":15211,"28960":15212,"28962":15213,"28963":15214,"28964":15215,"28965":15216,"28967":15217,"28968":15218,"28969":15219,"28970":15220,"28971":15221,"28972":15222,"28973":15223,"28974":15224,"28978":15225,"28979":15226,"28980":15227,"28981":15228,"28983":15229,"28984":15230,"28985":15231,"28986":15232,"28987":15233,"28988":15234,"28989":15235,"28990":15236,"28991":15237,"28992":15238,"28993":15239,"28994":15240,"28995":15241,"28996":15242,"28998":15243,"28999":15244,"29000":15245,"29003":15246,"29005":15247,"29007":15248,"29008":15249,"29009":15250,"29011":15251,"29012":15252,"29013":15253,"29014":15254,"29015":15255,"29016":15256,"29017":15257,"29018":15258,"29019":15259,"29021":15260,"29023":15261,"29024":15262,"29025":15263,"29027":15264,"29029":15265,"29034":15266,"29035":15267,"29037":15268,"29039":15269,"29040":15270,"29041":15271,"29044":15272,"29045":15273,"29046":15274,"29047":15275,"29049":15276,"29051":15277,"29052":15278,"29054":15279,"29055":15280,"29056":15281,"29057":15282,"29058":15283,"29059":15284,"29061":15285,"29062":15286,"29063":15287,"29064":15288,"29065":15289,"29067":15290,"29068":15291,"29069":15292,"29070":15293,"29072":15294,"29073":15295,"29075":15296,"29077":15297,"29078":15298,"29082":15299,"29083":15300,"29084":15301,"29085":15302,"29086":15303,"29089":15304,"29090":15305,"29091":15306,"29092":15307,"29093":15308,"29094":15309,"29095":15310,"29097":15311,"29098":15312,"29099":15313,"29101":15314,"29102":15315,"29103":15316,"29104":15317,"29106":15318,"29108":15319,"29110":15320,"29111":15321,"29112":15322,"29114":15323,"29115":15324,"29116":15325,"29117":15326,"29119":15327,"29120":15328,"29122":15329,"29124":15330,"29125":15331,"29126":15332,"29127":15333,"29129":15334,"29130":15335,"29131":15336,"29132":15337,"29133":15338,"29135":15339,"29136":15340,"29137":15341,"29139":15342,"29142":15343,"29143":15344,"29144":15345,"29146":15346,"29147":15347,"29149":15348,"29150":15349,"29153":15350,"29154":15351,"29155":15352,"29156":15353,"29160":15354,"29161":15355,"29162":15356,"29163":15357,"29164":15358,"29167":15359,"29168":15360,"29169":15361,"29170":15362,"29171":15363,"29173":15364,"29174":15365,"29175":15366,"29176":15367,"29178":15368,"29179":15369,"29181":15370,"29183":15371,"29184":15372,"29185":15373,"29186":15374,"29187":15375,"29188":15376,"29189":15377,"29191":15378,"29192":15379,"29193":15380,"29194":15381,"29195":15382,"29196":15383,"29198":15384,"29199":15385,"29201":15386,"29202":15387,"29203":15388,"29204":15389,"29205":15390,"29206":15391,"29207":15392,"29208":15393,"29209":15394,"29210":15395,"29212":15396,"29214":15397,"29215":15398,"29216":15399,"29217":15400,"29218":15401,"29219":15402,"29220":15403,"29221":15404,"29222":15405,"29223":15406,"29225":15407,"29227":15408,"29229":15409,"29230":15410,"29231":15411,"29235":15412,"29236":15413,"29244":15414,"29248":15415,"29249":15416,"29250":15417,"29251":15418,"29252":15419,"29253":15420,"29254":15421,"29257":15422,"29258":15423,"29259":15424,"29262":15425,"29263":15426,"29264":15427,"29265":15428,"29267":15429,"29268":15430,"29269":15431,"29271":15432,"29274":15433,"29276":15434,"29278":15435,"29280":15436,"29283":15437,"29284":15438,"29285":15439,"29288":15440,"29290":15441,"29291":15442,"29292":15443,"29293":15444,"29296":15445,"29297":15446,"29299":15447,"29300":15448,"29302":15449,"29303":15450,"29304":15451,"29307":15452,"29308":15453,"29314":15454,"29315":15455,"29317":15456,"29318":15457,"29319":15458,"29320":15459,"29321":15460,"29324":15461,"29326":15462,"29328":15463,"29329":15464,"29331":15465,"29332":15466,"29333":15467,"29335":15468,"29336":15469,"29337":15470,"29338":15471,"29339":15472,"29340":15473,"29341":15474,"29342":15475,"29344":15476,"29345":15477,"29347":15478,"29348":15479,"29349":15480,"29350":15481,"29352":15482,"29353":15483,"29354":15484,"29355":15485,"29358":15486,"29361":15487,"29362":15488,"29363":15489,"29365":15490,"29370":15491,"29371":15492,"29372":15493,"29373":15494,"29374":15495,"29375":15496,"29381":15497,"29382":15498,"29383":15499,"29385":15500,"29386":15501,"29387":15502,"29388":15503,"29391":15504,"29393":15505,"29395":15506,"29396":15507,"29397":15508,"29398":15509,"29400":15510,"29402":15511,"29403":15512,"29404":15513,"29405":15514,"29407":15515,"29410":15516,"29411":15517,"29412":15518,"29413":15519,"29414":15520,"29415":15521,"29418":15522,"29419":15523,"29429":15524,"29430":15525,"29438":15526,"29439":15527,"29440":15528,"29442":15529,"29444":15530,"29445":15531,"29446":15532,"29447":15533,"29448":15534,"29449":15535,"29451":15536,"29452":15537,"29453":15538,"29455":15539,"29456":15540,"29457":15541,"29458":15542,"29460":15543,"29464":15544,"29465":15545,"29466":15546,"29471":15547,"29472":15548,"29475":15549,"29476":15550,"29478":15551,"29479":15552,"29480":15553,"29485":15554,"29487":15555,"29488":15556,"29490":15557,"29491":15558,"29493":15559,"29498":15560,"29500":15561,"29501":15562,"29504":15563,"29506":15564,"29507":15565,"29510":15566,"29511":15567,"29512":15568,"29513":15569,"29514":15570,"29515":15571,"29516":15572,"29518":15573,"29519":15574,"29521":15575,"29523":15576,"29524":15577,"29525":15578,"29526":15579,"29528":15580,"29529":15581,"29530":15582,"29531":15583,"29532":15584,"29533":15585,"29534":15586,"29535":15587,"29537":15588,"29538":15589,"29539":15590,"29540":15591,"29541":15592,"29542":15593,"29543":15594,"29545":15595,"29550":15596,"29553":15597,"29555":15598,"29556":15599,"29558":15600,"29561":15601,"29565":15602,"29567":15603,"29569":15604,"29570":15605,"29571":15606,"29573":15607,"29574":15608,"29576":15609,"29578":15610,"29580":15611,"29581":15612,"29583":15613,"29584":15614,"29586":15615,"29587":15616,"29588":15617,"29589":15618,"29591":15619,"29592":15620,"29593":15621,"29594":15622,"29596":15623,"29597":15624,"29598":15625,"29600":15626,"29601":15627,"29603":15628,"29604":15629,"29605":15630,"29606":15631,"29607":15632,"29608":15633,"29610":15634,"29612":15635,"29613":15636,"29617":15637,"29620":15638,"29621":15639,"29622":15640,"29624":15641,"29625":15642,"29628":15643,"29629":15644,"29630":15645,"29631":15646,"29633":15647,"29635":15648,"29636":15649,"29637":15650,"29638":15651,"29639":15652,"29643":15653,"29644":15654,"29646":15655,"29650":15656,"29651":15657,"29652":15658,"29653":15659,"29654":15660,"29655":15661,"29656":15662,"29658":15663,"29659":15664,"29660":15665,"29661":15666,"29663":15667,"29665":15668,"29666":15669,"29667":15670,"29668":15671,"29670":15672,"29672":15673,"29674":15674,"29675":15675,"29676":15676,"29678":15677,"29679":15678,"29680":15679,"29681":15680,"29683":15681,"29684":15682,"29685":15683,"29686":15684,"29687":15685,"29688":15686,"29689":15687,"29690":15688,"29691":15689,"29692":15690,"29693":15691,"29695":15692,"29696":15693,"29697":15694,"29698":15695,"29700":15696,"29703":15697,"29704":15698,"29707":15699,"29708":15700,"29709":15701,"29710":15702,"29713":15703,"29714":15704,"29715":15705,"29716":15706,"29717":15707,"29718":15708,"29719":15709,"29720":15710,"29721":15711,"29724":15712,"29725":15713,"29726":15714,"29727":15715,"29728":15716,"29729":15717,"29731":15718,"29732":15719,"29735":15720,"29737":15721,"29739":15722,"29741":15723,"29743":15724,"29745":15725,"29746":15726,"29751":15727,"29752":15728,"29753":15729,"29754":15730,"29755":15731,"29757":15732,"29758":15733,"29760":15734,"29762":15735,"29763":15736,"29764":15737,"29765":15738,"29766":15739,"29767":15740,"29768":15741,"29769":15742,"29770":15743,"29772":15744,"29773":15745,"29774":15746,"29775":15747,"29776":15748,"29777":15749,"29778":15750,"29779":15751,"29780":15752,"29782":15753,"29784":15754,"29789":15755,"29792":15756,"29793":15757,"29794":15758,"29796":15759,"29797":15760,"29798":15761,"29799":15762,"29800":15763,"29803":15764,"29804":15765,"29806":15766,"29807":15767,"29809":15768,"29810":15769,"29811":15770,"29812":15771,"29813":15772,"29816":15773,"29817":15774,"29818":15775,"29819":15776,"29820":15777,"29821":15778,"29823":15779,"29826":15780,"29828":15781,"29829":15782,"29830":15783,"29832":15784,"29834":15785,"29836":15786,"29837":15787,"29839":15788,"29841":15789,"29842":15790,"29843":15791,"29844":15792,"29845":15793,"29846":15794,"29847":15795,"29848":15796,"29849":15797,"29850":15798,"29851":15799,"29853":15800,"29855":15801,"29856":15802,"29857":15803,"29858":15804,"29860":15805,"29861":15806,"29866":15807,"29867":15808,"29868":15809,"29869":15810,"29870":15811,"29871":15812,"29873":15813,"29874":15814,"29875":15815,"29876":15816,"29877":15817,"29878":15818,"29879":15819,"29880":15820,"29881":15821,"29883":15822,"29884":15823,"29886":15824,"29887":15825,"29888":15826,"29889":15827,"29890":15828,"29891":15829,"29892":15830,"29893":15831,"29894":15832,"29895":15833,"29896":15834,"29897":15835,"29899":15836,"29900":15837,"29901":15838,"29902":15839,"29904":15840,"29905":15841,"29907":15842,"29909":15843,"29910":15844,"29911":15845,"29912":15846,"29913":15847,"29915":15848,"29917":15849,"29919":15850,"29921":15851,"29925":15852,"29927":15853,"29928":15854,"29929":15855,"29930":15856,"29931":15857,"29932":15858,"29933":15859,"29936":15860,"29937":15861,"29938":15862,"29939":15863,"29941":15864,"29944":15865,"29945":15866,"29946":15867,"29947":15868,"29948":15869,"29949":15870,"29950":15871,"29952":15872,"29953":15873,"29954":15874,"29955":15875,"29957":15876,"29958":15877,"29959":15878,"29960":15879,"29961":15880,"29962":15881,"29963":15882,"29966":15883,"29968":15884,"29970":15885,"29972":15886,"29973":15887,"29974":15888,"29975":15889,"29979":15890,"29981":15891,"29982":15892,"29984":15893,"29985":15894,"29986":15895,"29988":15896,"29990":15897,"29991":15898,"29994":15899,"29998":15900,"30004":15901,"30006":15902,"30009":15903,"30012":15904,"30013":15905,"30015":15906,"30017":15907,"30018":15908,"30019":15909,"30020":15910,"30022":15911,"30023":15912,"30025":15913,"30026":15914,"30029":15915,"30032":15916,"30033":15917,"30034":15918,"30035":15919,"30037":15920,"30038":15921,"30039":15922,"30040":15923,"30046":15924,"30047":15925,"30048":15926,"30049":15927,"30051":15928,"30052":15929,"30055":15930,"30056":15931,"30057":15932,"30060":15933,"30061":15934,"30062":15935,"30063":15936,"30064":15937,"30065":15938,"30067":15939,"30069":15940,"30071":15941,"30074":15942,"30075":15943,"30076":15944,"30077":15945,"30078":15946,"30080":15947,"30081":15948,"30082":15949,"30084":15950,"30085":15951,"30088":15952,"30089":15953,"30090":15954,"30092":15955,"30093":15956,"30094":15957,"30096":15958,"30099":15959,"30101":15960,"30104":15961,"30107":15962,"30108":15963,"30110":15964,"30114":15965,"30118":15966,"30119":15967,"30120":15968,"30121":15969,"30122":15970,"30125":15971,"30134":15972,"30135":15973,"30138":15974,"30139":15975,"30143":15976,"30144":15977,"30145":15978,"30150":15979,"30155":15980,"30156":15981,"30158":15982,"30159":15983,"30160":15984,"30161":15985,"30163":15986,"30167":15987,"30170":15988,"30172":15989,"30173":15990,"30175":15991,"30176":15992,"30177":15993,"30181":15994,"30185":15995,"30188":15996,"30189":15997,"30190":15998,"30191":15999,"30194":16000,"30195":16001,"30197":16002,"30198":16003,"30199":16004,"30200":16005,"30202":16006,"30203":16007,"30205":16008,"30206":16009,"30212":16010,"30214":16011,"30215":16012,"30216":16013,"30217":16014,"30222":16015,"30223":16016,"30225":16017,"30226":16018,"30227":16019,"30228":16020,"30230":16021,"30234":16022,"30236":16023,"30237":16024,"30243":16025,"30248":16026,"30252":16027,"30254":16028,"30255":16029,"30257":16030,"30258":16031,"30262":16032,"30263":16033,"30265":16034,"30266":16035,"30269":16036,"30273":16037,"30276":16038,"30277":16039,"30280":16040,"30282":16041,"30283":16042,"30286":16043,"30287":16044,"30288":16045,"30289":16046,"30290":16047,"30291":16048,"30293":16049,"30295":16050,"30297":16051,"30298":16052,"30299":16053,"30301":16054,"30304":16055,"30305":16056,"30310":16057,"30312":16058,"30314":16059,"30323":16060,"30324":16061,"30325":16062,"12136":16063,"30326":16063,"30327":16064,"30329":16065,"30330":16066,"30335":16067,"30336":16068,"30337":16069,"30339":16070,"30341":16071,"30345":16072,"30346":16073,"30348":16074,"30349":16075,"30351":16076,"30352":16077,"30354":16078,"30356":16079,"30357":16080,"30359":16081,"30360":16082,"30363":16083,"30364":16084,"30365":16085,"30366":16086,"30367":16087,"30368":16088,"30369":16089,"30370":16090,"30371":16091,"30373":16092,"30374":16093,"30375":16094,"30376":16095,"30377":16096,"30378":16097,"30379":16098,"30380":16099,"30381":16100,"30383":16101,"30384":16102,"30387":16103,"30389":16104,"30390":16105,"30391":16106,"30393":16107,"30395":16108,"30396":16109,"30397":16110,"30398":16111,"30400":16112,"30401":16113,"30403":16114,"30404":16115,"30407":16116,"30409":16117,"30411":16118,"30412":16119,"30419":16120,"30421":16121,"30425":16122,"30426":16123,"30428":16124,"30429":16125,"30432":16126,"30434":16127,"30438":16128,"30440":16129,"30441":16130,"30442":16131,"30443":16132,"30444":16133,"30445":16134,"30448":16135,"30451":16136,"30453":16137,"30454":16138,"30455":16139,"30458":16140,"30459":16141,"30461":16142,"30463":16143,"30464":16144,"30466":16145,"30467":16146,"30469":16147,"30470":16148,"30474":16149,"30476":16150,"30478":16151,"30479":16152,"30480":16153,"30481":16154,"30482":16155,"30483":16156,"30484":16157,"30485":16158,"30486":16159,"30487":16160,"30488":16161,"30491":16162,"30492":16163,"30493":16164,"30494":16165,"30497":16166,"30499":16167,"30500":16168,"30501":16169,"30503":16170,"30506":16171,"30507":16172,"30508":16173,"30510":16174,"30512":16175,"30513":16176,"30514":16177,"30515":16178,"30516":16179,"30521":16180,"30523":16181,"30525":16182,"30526":16183,"30527":16184,"30530":16185,"30532":16186,"30533":16187,"30534":16188,"30536":16189,"30537":16190,"30538":16191,"30539":16192,"30540":16193,"30541":16194,"30542":16195,"30546":16196,"30547":16197,"30548":16198,"30549":16199,"30550":16200,"30551":16201,"30552":16202,"30553":16203,"30556":16204,"30557":16205,"30559":16206,"30560":16207,"30564":16208,"30567":16209,"30569":16210,"30570":16211,"30573":16212,"30574":16213,"30575":16214,"30576":16215,"30577":16216,"30578":16217,"30579":16218,"30580":16219,"30581":16220,"30582":16221,"30583":16222,"30584":16223,"30586":16224,"30587":16225,"30588":16226,"30593":16227,"30594":16228,"30595":16229,"30598":16230,"30599":16231,"30600":16232,"30601":16233,"30602":16234,"30603":16235,"30607":16236,"30608":16237,"30611":16238,"30612":16239,"30613":16240,"30614":16241,"30615":16242,"30617":16243,"30618":16244,"30619":16245,"30620":16246,"30621":16247,"30625":16248,"30627":16249,"30628":16250,"30630":16251,"30632":16252,"30635":16253,"30638":16254,"30639":16255,"30641":16256,"30642":16257,"30644":16258,"30646":16259,"30647":16260,"30648":16261,"30649":16262,"30650":16263,"30654":16264,"30656":16265,"30657":16266,"30658":16267,"30659":16268,"30660":16269,"30661":16270,"30662":16271,"30664":16272,"30665":16273,"30666":16274,"30667":16275,"30668":16276,"30670":16277,"30671":16278,"30672":16279,"30673":16280,"30674":16281,"30675":16282,"30676":16283,"30677":16284,"30678":16285,"30680":16286,"30681":16287,"30685":16288,"30686":16289,"30687":16290,"30688":16291,"30689":16292,"30692":16293,"30694":16294,"30696":16295,"30698":16296,"30704":16297,"30705":16298,"30706":16299,"30708":16300,"30709":16301,"30711":16302,"30713":16303,"30714":16304,"30715":16305,"30716":16306,"30723":16307,"30724":16308,"30725":16309,"30726":16310,"30727":16311,"30728":16312,"30730":16313,"30731":16314,"30734":16315,"30735":16316,"30736":16317,"30739":16318,"30741":16319,"30745":16320,"30747":16321,"30750":16322,"30752":16323,"30753":16324,"30754":16325,"30756":16326,"30760":16327,"30762":16328,"30763":16329,"30766":16330,"30767":16331,"30769":16332,"30770":16333,"30771":16334,"30773":16335,"30774":16336,"30781":16337,"30783":16338,"30785":16339,"30786":16340,"30788":16341,"30790":16342,"30792":16343,"30793":16344,"30794":16345,"30795":16346,"30797":16347,"30799":16348,"30801":16349,"30803":16350,"30804":16351,"30808":16352,"30809":16353,"30810":16354,"30811":16355,"30812":16356,"30814":16357,"30815":16358,"30816":16359,"30817":16360,"30818":16361,"30819":16362,"30821":16363,"30822":16364,"30823":16365,"30825":16366,"30832":16367,"30833":16368,"30834":16369,"30835":16370,"30836":16371,"30837":16372,"30838":16373,"30840":16374,"30841":16375,"30842":16376,"30843":16377,"30845":16378,"30846":16379,"30847":16380,"30848":16381,"30849":16382,"30850":16383,"30851":16384,"30852":16385,"30853":16386,"30854":16387,"30856":16388,"30858":16389,"30859":16390,"30863":16391,"30864":16392,"30866":16393,"30868":16394,"30869":16395,"30870":16396,"30873":16397,"30877":16398,"30878":16399,"30880":16400,"30882":16401,"30884":16402,"30886":16403,"30888":16404,"30890":16405,"30891":16406,"30892":16407,"30894":16408,"30895":16409,"30901":16410,"30902":16411,"30903":16412,"30907":16413,"30909":16414,"30911":16415,"30912":16416,"30914":16417,"30915":16418,"30916":16419,"30918":16420,"30919":16421,"30920":16422,"30924":16423,"30925":16424,"30926":16425,"30927":16426,"30929":16427,"30930":16428,"30931":16429,"30934":16430,"30935":16431,"30936":16432,"30939":16433,"30940":16434,"30941":16435,"30942":16436,"30943":16437,"30944":16438,"30945":16439,"30946":16440,"30948":16441,"30949":16442,"30950":16443,"30953":16444,"30954":16445,"30955":16446,"30957":16447,"30958":16448,"30960":16449,"30961":16450,"30963":16451,"30965":16452,"30966":16453,"30968":16454,"30969":16455,"30971":16456,"30972":16457,"30974":16458,"30975":16459,"30976":16460,"30978":16461,"30979":16462,"30980":16463,"30982":16464,"30983":16465,"30984":16466,"30985":16467,"30986":16468,"30987":16469,"30988":16470,"30989":16471,"30991":16472,"30992":16473,"30993":16474,"30994":16475,"30996":16476,"30997":16477,"30998":16478,"30999":16479,"31000":16480,"31002":16481,"31003":16482,"31004":16483,"31005":16484,"31007":16485,"31008":16486,"31009":16487,"31010":16488,"31011":16489,"31013":16490,"31015":16491,"31016":16492,"31017":16493,"31021":16494,"31022":16495,"31023":16496,"31024":16497,"31026":16498,"31027":16499,"31029":16500,"31030":16501,"31031":16502,"31032":16503,"31033":16504,"31037":16505,"31039":16506,"31042":16507,"31043":16508,"31044":16509,"31045":16510,"31047":16511,"31050":16512,"31051":16513,"31052":16514,"31053":16515,"31054":16516,"31055":16517,"31056":16518,"31057":16519,"31058":16520,"31060":16521,"31061":16522,"31064":16523,"31065":16524,"31073":16525,"31075":16526,"31076":16527,"31078":16528,"31081":16529,"31082":16530,"31083":16531,"31084":16532,"31086":16533,"31088":16534,"31089":16535,"31090":16536,"31091":16537,"31092":16538,"31093":16539,"31094":16540,"31097":16541,"31099":16542,"31100":16543,"31101":16544,"31102":16545,"31103":16546,"31106":16547,"31107":16548,"31110":16549,"31111":16550,"31112":16551,"31113":16552,"31115":16553,"31116":16554,"31120":16555,"31121":16556,"31122":16557,"31123":16558,"31124":16559,"31125":16560,"31126":16561,"31127":16562,"31128":16563,"31129":16564,"31131":16565,"31132":16566,"31133":16567,"31134":16568,"31135":16569,"31136":16570,"31137":16571,"31138":16572,"31139":16573,"31140":16574,"31141":16575,"31144":16576,"31145":16577,"31147":16578,"31148":16579,"31149":16580,"31151":16581,"31154":16582,"31156":16583,"31157":16584,"31158":16585,"31159":16586,"12145":16587,"31160":16587,"31164":16588,"31167":16589,"31170":16590,"31172":16591,"31173":16592,"31175":16593,"31176":16594,"31178":16595,"63893":16595,"31180":16596,"31182":16597,"31183":16598,"31184":16599,"31187":16600,"31188":16601,"31190":16602,"31191":16603,"31193":16604,"31194":16605,"31195":16606,"31196":16607,"31197":16608,"31198":16609,"31200":16610,"31201":16611,"31202":16612,"31205":16613,"31208":16614,"31210":16615,"31212":16616,"31214":16617,"31217":16618,"31218":16619,"31219":16620,"31220":16621,"31221":16622,"31222":16623,"31223":16624,"31225":16625,"31226":16626,"31228":16627,"31230":16628,"31231":16629,"31233":16630,"31236":16631,"31237":16632,"31239":16633,"31240":16634,"31241":16635,"31242":16636,"31244":16637,"31247":16638,"31248":16639,"31249":16640,"31250":16641,"31251":16642,"31253":16643,"31254":16644,"31256":16645,"31257":16646,"31259":16647,"31260":16648,"31261":16649,"31263":16650,"31265":16651,"31266":16652,"31268":16653,"31269":16654,"31270":16655,"31271":16656,"31272":16657,"31273":16658,"31274":16659,"31275":16660,"31276":16661,"31277":16662,"31279":16663,"31280":16664,"31282":16665,"31284":16666,"31285":16667,"31286":16668,"31288":16669,"31290":16670,"31294":16671,"31297":16672,"31298":16673,"31299":16674,"31300":16675,"31301":16676,"31303":16677,"31304":16678,"31305":16679,"31306":16680,"31307":16681,"31311":16682,"31312":16683,"31314":16684,"31315":16685,"31316":16686,"31317":16687,"31318":16688,"31320":16689,"31321":16690,"31322":16691,"31323":16692,"31324":16693,"31325":16694,"31326":16695,"31327":16696,"31328":16697,"31331":16698,"31332":16699,"31333":16700,"31334":16701,"31335":16702,"31336":16703,"31338":16704,"31340":16705,"31341":16706,"31342":16707,"31343":16708,"31345":16709,"31346":16710,"31347":16711,"31349":16712,"31355":16713,"31356":16714,"31357":16715,"31358":16716,"31362":16717,"31365":16718,"31367":16719,"31369":16720,"31370":16721,"31371":16722,"31372":16723,"31374":16724,"31375":16725,"31376":16726,"31379":16727,"31380":16728,"31385":16729,"31386":16730,"31387":16731,"31390":16732,"31393":16733,"31394":16734,"31395":16735,"31396":16736,"31399":16737,"31403":16738,"31407":16739,"31408":16740,"31409":16741,"31410":16742,"31412":16743,"31413":16744,"31415":16745,"31416":16746,"31417":16747,"31419":16748,"31420":16749,"31421":16750,"31422":16751,"31424":16752,"31425":16753,"31426":16754,"31427":16755,"31430":16756,"31433":16757,"31436":16758,"31437":16759,"31438":16760,"31439":16761,"31440":16762,"31441":16763,"31442":16764,"31443":16765,"31444":16766,"31445":16767,"31447":16768,"31448":16769,"31450":16770,"31451":16771,"31452":16772,"31453":16773,"31457":16774,"31458":16775,"31460":16776,"31463":16777,"31464":16778,"31465":16779,"31467":16780,"31468":16781,"31470":16782,"31472":16783,"31473":16784,"31474":16785,"31475":16786,"31476":16787,"31477":16788,"31479":16789,"31480":16790,"31483":16791,"31484":16792,"31486":16793,"31488":16794,"31489":16795,"31490":16796,"31493":16797,"31495":16798,"31497":16799,"31500":16800,"31501":16801,"31502":16802,"31504":16803,"31506":16804,"31507":16805,"31510":16806,"31511":16807,"31512":16808,"31514":16809,"31516":16810,"31517":16811,"31519":16812,"31521":16813,"31522":16814,"31523":16815,"31527":16816,"31529":16817,"31533":16818,"31535":16819,"31536":16820,"31538":16821,"31540":16822,"31541":16823,"31542":16824,"31543":16825,"31545":16826,"31547":16827,"31549":16828,"31551":16829,"31552":16830,"31553":16831,"31554":16832,"31555":16833,"31556":16834,"31560":16835,"31562":16836,"31565":16837,"31566":16838,"31571":16839,"31573":16840,"31575":16841,"31577":16842,"31580":16843,"31582":16844,"31583":16845,"31585":16846,"31587":16847,"31588":16848,"31589":16849,"31590":16850,"31592":16851,"31593":16852,"31594":16853,"31595":16854,"31596":16855,"31597":16856,"31599":16857,"31600":16858,"31603":16859,"31604":16860,"31606":16861,"31608":16862,"31610":16863,"31612":16864,"31613":16865,"31615":16866,"31617":16867,"31618":16868,"31619":16869,"31620":16870,"31622":16871,"31623":16872,"31624":16873,"31625":16874,"31626":16875,"31628":16876,"31630":16877,"31631":16878,"31633":16879,"31634":16880,"31635":16881,"31638":16882,"31640":16883,"31641":16884,"31642":16885,"31643":16886,"31646":16887,"31647":16888,"31648":16889,"31651":16890,"31652":16891,"31653":16892,"31662":16893,"31663":16894,"31664":16895,"31666":16896,"31667":16897,"31669":16898,"31670":16899,"31671":16900,"31673":16901,"31674":16902,"31675":16903,"31676":16904,"31677":16905,"31678":16906,"31679":16907,"31682":16908,"31683":16909,"31685":16910,"31688":16911,"31690":16912,"31693":16913,"31694":16914,"31695":16915,"31696":16916,"31698":16917,"31700":16918,"31701":16919,"31702":16920,"31703":16921,"31704":16922,"31707":16923,"31708":16924,"31710":16925,"31711":16926,"31712":16927,"31714":16928,"31715":16929,"31719":16930,"31720":16931,"31723":16932,"31724":16933,"31725":16934,"31727":16935,"31728":16936,"31730":16937,"31732":16938,"31733":16939,"31734":16940,"31736":16941,"31737":16942,"31738":16943,"31739":16944,"31741":16945,"31743":16946,"31745":16947,"31746":16948,"31747":16949,"31748":16950,"31749":16951,"31750":16952,"31752":16953,"31753":16954,"31754":16955,"31758":16956,"31760":16957,"31761":16958,"31762":16959,"31763":16960,"31764":16961,"31765":16962,"31767":16963,"31768":16964,"31769":16965,"31770":16966,"31771":16967,"31772":16968,"31773":16969,"31776":16970,"31778":16971,"31780":16972,"31781":16973,"31784":16974,"31785":16975,"31788":16976,"31789":16977,"31790":16978,"31791":16979,"31792":16980,"31793":16981,"31794":16982,"31795":16983,"31796":16984,"31797":16985,"31798":16986,"31799":16987,"31801":16988,"31802":16989,"31803":16990,"31804":16991,"31810":16992,"31812":16993,"31813":16994,"31814":16995,"31815":16996,"31816":16997,"31817":16998,"31818":16999,"31819":17000,"31822":17001,"31823":17002,"31824":17003,"31825":17004,"31826":17005,"31827":17006,"31828":17007,"31829":17008,"31830":17009,"31831":17010,"31832":17011,"31833":17012,"31834":17013,"31835":17014,"31837":17015,"31838":17016,"31841":17017,"31842":17018,"31843":17019,"31845":17020,"31846":17021,"31847":17022,"31848":17023,"31851":17024,"31853":17025,"31855":17026,"31856":17027,"31857":17028,"31861":17029,"31862":17030,"31863":17031,"31864":17032,"31865":17033,"31866":17034,"31870":17035,"31871":17036,"31872":17037,"31873":17038,"31874":17039,"31875":17040,"31876":17041,"31877":17042,"31878":17043,"31879":17044,"31880":17045,"31882":17046,"31883":17047,"31884":17048,"31885":17049,"31886":17050,"31887":17051,"31888":17052,"31891":17053,"31892":17054,"31894":17055,"31897":17056,"31898":17057,"31899":17058,"31904":17059,"31905":17060,"31907":17061,"31910":17062,"31911":17063,"31912":17064,"31913":17065,"31915":17066,"31916":17067,"31917":17068,"31919":17069,"31920":17070,"31924":17071,"31925":17072,"31926":17073,"31927":17074,"31928":17075,"31930":17076,"31931":17077,"31935":17078,"31936":17079,"31938":17080,"31939":17081,"31940":17082,"31942":17083,"31945":17084,"31947":17085,"31950":17086,"31951":17087,"31952":17088,"31953":17089,"31954":17090,"31955":17091,"31956":17092,"31960":17093,"31962":17094,"31963":17095,"31969":17096,"31970":17097,"31971":17098,"31972":17099,"31973":17100,"31974":17101,"31977":17102,"31978":17103,"31979":17104,"31980":17105,"31981":17106,"31982":17107,"31985":17108,"31987":17109,"31989":17110,"31991":17111,"31994":17112,"31996":17113,"31997":17114,"31999":17115,"32001":17116,"32003":17117,"32012":17118,"32014":17119,"32015":17120,"32017":17121,"32018":17122,"32022":17123,"32024":17124,"32029":17125,"32030":17126,"32031":17127,"32035":17128,"32036":17129,"32037":17130,"32038":17131,"32040":17132,"32041":17133,"32042":17134,"32044":17135,"32045":17136,"32046":17137,"32052":17138,"32053":17139,"32054":17140,"32055":17141,"32056":17142,"32059":17143,"32061":17144,"32062":17145,"32065":17146,"32067":17147,"32069":17148,"32071":17149,"32072":17150,"32073":17151,"32074":17152,"32075":17153,"32076":17154,"32077":17155,"32079":17156,"32081":17157,"32082":17158,"32083":17159,"32084":17160,"32085":17161,"32086":17162,"32087":17163,"32088":17164,"32089":17165,"32090":17166,"32091":17167,"32092":17168,"32095":17169,"32096":17170,"32099":17171,"32100":17172,"32101":17173,"32103":17174,"32105":17175,"32106":17176,"32107":17177,"32108":17178,"32109":17179,"32111":17180,"32112":17181,"32116":17182,"32117":17183,"32120":17184,"32122":17185,"32123":17186,"32124":17187,"32125":17188,"32126":17189,"32127":17190,"32128":17191,"32130":17192,"32132":17193,"32133":17194,"32135":17195,"32138":17196,"32139":17197,"32140":17198,"32141":17199,"32142":17200,"32144":17201,"32145":17202,"32146":17203,"32148":17204,"32149":17205,"32150":17206,"32151":17207,"32152":17208,"32153":17209,"32154":17210,"32155":17211,"32157":17212,"32159":17213,"32160":17214,"32161":17215,"32164":17216,"32165":17217,"32167":17218,"32168":17219,"32169":17220,"32170":17221,"32175":17222,"32181":17223,"32182":17224,"32183":17225,"32188":17226,"32192":17227,"32193":17228,"32194":17229,"32195":17230,"32197":17231,"32198":17232,"32200":17233,"32201":17234,"32204":17235,"32205":17236,"32206":17237,"32207":17238,"32208":17239,"32211":17240,"32213":17241,"32214":17242,"32218":17243,"32219":17244,"32220":17245,"32223":17246,"32226":17247,"32228":17248,"32229":17249,"32231":17250,"32234":17251,"32235":17252,"32237":17253,"32238":17254,"32240":17255,"32243":17256,"32245":17257,"32247":17258,"32248":17259,"32250":17260,"32252":17261,"32253":17262,"32254":17263,"32255":17264,"32256":17265,"32257":17266,"32258":17267,"32259":17268,"32260":17269,"32261":17270,"32262":17271,"32263":17272,"32268":17273,"32269":17274,"32270":17275,"32271":17276,"32274":17277,"32275":17278,"32276":17279,"32277":17280,"32278":17281,"32279":17282,"32280":17283,"32281":17284,"32282":17285,"32284":17286,"32288":17287,"32289":17288,"32290":17289,"32292":17290,"32293":17291,"32294":17292,"32296":17293,"32297":17294,"32298":17295,"32300":17296,"32303":17297,"32304":17298,"32307":17299,"32312":17300,"32314":17301,"32316":17302,"32319":17303,"32320":17304,"32322":17305,"32323":17306,"32324":17307,"32328":17308,"32329":17309,"32330":17310,"32331":17311,"32332":17312,"32333":17313,"32334":17314,"32335":17315,"32336":17316,"32337":17317,"32339":17318,"32342":17319,"32343":17320,"32344":17321,"32345":17322,"32347":17323,"32348":17324,"32349":17325,"32351":17326,"32352":17327,"32353":17328,"32355":17329,"32356":17330,"32357":17331,"32358":17332,"32359":17333,"32360":17334,"32364":17335,"32369":17336,"32370":17337,"32372":17338,"32373":17339,"32374":17340,"32375":17341,"32376":17342,"32378":17343,"32379":17344,"32383":17345,"32384":17346,"32385":17347,"32387":17348,"32388":17349,"32389":17350,"32390":17351,"32391":17352,"32393":17353,"32395":17354,"32398":17355,"32400":17356,"32401":17357,"32402":17358,"32405":17359,"32407":17360,"32409":17361,"32410":17362,"32413":17363,"32414":17364,"32430":17365,"32436":17366,"32443":17367,"32444":17368,"32470":17369,"32484":17370,"32492":17371,"32505":17372,"32522":17373,"32528":17374,"32542":17375,"32567":17376,"32569":17377,"32571":17378,"32572":17379,"32573":17380,"32574":17381,"32575":17382,"32576":17383,"32577":17384,"32579":17385,"32582":17386,"32583":17387,"32584":17388,"32585":17389,"32586":17390,"32587":17391,"32589":17392,"32591":17393,"32594":17394,"32595":17395,"32598":17396,"32601":17397,"32603":17398,"32604":17399,"32605":17400,"32606":17401,"32608":17402,"32611":17403,"32612":17404,"32613":17405,"32614":17406,"32615":17407,"32619":17408,"32620":17409,"32621":17410,"32623":17411,"32627":17412,"32629":17413,"32630":17414,"32632":17415,"32634":17416,"32635":17417,"32636":17418,"32637":17419,"32639":17420,"32640":17421,"32642":17422,"32643":17423,"32644":17424,"32647":17425,"32649":17426,"32651":17427,"32653":17428,"32655":17429,"32656":17430,"32657":17431,"32658":17432,"32659":17433,"32661":17434,"32662":17435,"32663":17436,"32664":17437,"32665":17438,"32667":17439,"32668":17440,"32672":17441,"32674":17442,"32675":17443,"32678":17444,"32680":17445,"32682":17446,"32683":17447,"32684":17448,"32685":17449,"32686":17450,"32689":17451,"32691":17452,"32692":17453,"32693":17454,"32694":17455,"32695":17456,"32698":17457,"32699":17458,"32702":17459,"32704":17460,"32706":17461,"32707":17462,"32708":17463,"32710":17464,"32711":17465,"32712":17466,"32713":17467,"32715":17468,"32717":17469,"32719":17470,"32720":17471,"32721":17472,"32723":17473,"32726":17474,"32727":17475,"32729":17476,"32730":17477,"32731":17478,"32732":17479,"32733":17480,"32734":17481,"32738":17482,"32739":17483,"32740":17484,"32743":17485,"32744":17486,"32746":17487,"32747":17488,"32748":17489,"32749":17490,"32751":17491,"32754":17492,"32756":17493,"32757":17494,"32758":17495,"32759":17496,"32760":17497,"32762":17498,"32765":17499,"32766":17500,"32767":17501,"32770":17502,"32775":17503,"32776":17504,"32777":17505,"32778":17506,"32782":17507,"32783":17508,"32785":17509,"32787":17510,"32794":17511,"32795":17512,"32797":17513,"32798":17514,"32799":17515,"32801":17516,"32803":17517,"32804":17518,"32811":17519,"32813":17520,"32815":17521,"32816":17522,"32818":17523,"32820":17524,"32825":17525,"32826":17526,"32828":17527,"32830":17528,"32832":17529,"32833":17530,"32836":17531,"32837":17532,"32839":17533,"32840":17534,"32841":17535,"32846":17536,"32847":17537,"32848":17538,"32849":17539,"32851":17540,"32853":17541,"32855":17542,"32857":17543,"32859":17544,"32860":17545,"32861":17546,"32863":17547,"32864":17548,"32865":17549,"32866":17550,"32867":17551,"32868":17552,"32869":17553,"32870":17554,"32871":17555,"32872":17556,"32875":17557,"32876":17558,"32877":17559,"32878":17560,"32884":17561,"32888":17562,"32890":17563,"32891":17564,"32892":17565,"32897":17566,"32898":17567,"32904":17568,"32906":17569,"32909":17570,"32910":17571,"32911":17572,"32912":17573,"32913":17574,"32914":17575,"32916":17576,"32917":17577,"32919":17578,"32921":17579,"32926":17580,"32931":17581,"32934":17582,"32935":17583,"32936":17584,"32940":17585,"32944":17586,"32947":17587,"32949":17588,"32950":17589,"32952":17590,"32953":17591,"32955":17592,"32965":17593,"32967":17594,"32968":17595,"32969":17596,"32970":17597,"32971":17598,"32975":17599,"32976":17600,"32977":17601,"32978":17602,"32979":17603,"32980":17604,"32981":17605,"32984":17606,"32991":17607,"32992":17608,"32994":17609,"32995":17610,"32998":17611,"33006":17612,"33013":17613,"33015":17614,"33017":17615,"33019":17616,"33022":17617,"33023":17618,"33024":17619,"33025":17620,"33027":17621,"33028":17622,"33031":17623,"33032":17624,"33035":17625,"33036":17626,"33045":17627,"33047":17628,"33049":17629,"33052":17630,"33053":17631,"33055":17632,"33056":17633,"33057":17634,"33058":17635,"33059":17636,"33060":17637,"33061":17638,"33062":17639,"33063":17640,"33064":17641,"33065":17642,"33066":17643,"33067":17644,"33069":17645,"33070":17646,"33072":17647,"33075":17648,"33076":17649,"33077":17650,"33079":17651,"33082":17652,"33083":17653,"33084":17654,"33085":17655,"33087":17656,"33088":17657,"33089":17658,"33090":17659,"33091":17660,"33092":17661,"33093":17662,"33095":17663,"33097":17664,"33101":17665,"33103":17666,"33106":17667,"33111":17668,"33112":17669,"33115":17670,"33116":17671,"33117":17672,"33118":17673,"33119":17674,"33122":17675,"33123":17676,"33124":17677,"33128":17678,"33130":17679,"33132":17680,"33135":17681,"33138":17682,"33139":17683,"33141":17684,"33142":17685,"33143":17686,"33153":17687,"33155":17688,"33156":17689,"33157":17690,"33158":17691,"33159":17692,"33161":17693,"33163":17694,"33164":17695,"33165":17696,"33166":17697,"33168":17698,"33170":17699,"33171":17700,"33172":17701,"33173":17702,"33174":17703,"33175":17704,"33177":17705,"33182":17706,"33183":17707,"33185":17708,"33186":17709,"33188":17710,"33189":17711,"33191":17712,"33195":17713,"33196":17714,"33197":17715,"33198":17716,"33199":17717,"33200":17718,"33201":17719,"33202":17720,"33204":17721,"33205":17722,"33206":17723,"33207":17724,"33208":17725,"33209":17726,"33212":17727,"33220":17728,"33221":17729,"33223":17730,"33224":17731,"33227":17732,"33230":17733,"33232":17734,"33233":17735,"33234":17736,"33235":17737,"33236":17738,"33237":17739,"33238":17740,"33239":17741,"33241":17742,"33243":17743,"33244":17744,"33245":17745,"33246":17746,"33249":17747,"33250":17748,"33252":17749,"33253":17750,"33254":17751,"33257":17752,"33259":17753,"33262":17754,"33263":17755,"33264":17756,"33265":17757,"33266":17758,"33269":17759,"33270":17760,"33271":17761,"33272":17762,"33273":17763,"33277":17764,"33279":17765,"33283":17766,"33291":17767,"33294":17768,"33295":17769,"33297":17770,"33299":17771,"33301":17772,"33302":17773,"33303":17774,"33304":17775,"33305":17776,"33306":17777,"33309":17778,"33312":17779,"33316":17780,"33317":17781,"33318":17782,"33319":17783,"33321":17784,"33326":17785,"33330":17786,"33338":17787,"33340":17788,"33341":17789,"33343":17790,"33344":17791,"33345":17792,"33346":17793,"33347":17794,"33349":17795,"33350":17796,"33352":17797,"33354":17798,"33356":17799,"33357":17800,"33358":17801,"33360":17802,"33361":17803,"33362":17804,"33363":17805,"33364":17806,"33365":17807,"33366":17808,"33367":17809,"33371":17810,"33372":17811,"33373":17812,"33374":17813,"33376":17814,"33377":17815,"33378":17816,"33379":17817,"33381":17818,"33383":17819,"33385":17820,"33386":17821,"33388":17822,"33389":17823,"33397":17824,"33398":17825,"12171":17826,"33400":17826,"33403":17827,"33404":17828,"33408":17829,"33409":17830,"33411":17831,"33413":17832,"33414":17833,"33415":17834,"33417":17835,"33420":17836,"33424":17837,"33427":17838,"33428":17839,"33429":17840,"33430":17841,"33434":17842,"33435":17843,"33438":17844,"33440":17845,"33442":17846,"33443":17847,"33447":17848,"33458":17849,"33461":17850,"33462":17851,"33466":17852,"33468":17853,"33471":17854,"33472":17855,"33474":17856,"33475":17857,"33477":17858,"33478":17859,"33481":17860,"33488":17861,"33494":17862,"33497":17863,"33498":17864,"33501":17865,"33506":17866,"33512":17867,"33513":17868,"33514":17869,"33516":17870,"33517":17871,"33518":17872,"33520":17873,"33522":17874,"33523":17875,"33525":17876,"33526":17877,"33528":17878,"33530":17879,"33532":17880,"33533":17881,"33534":17882,"33535":17883,"33536":17884,"33546":17885,"33547":17886,"33549":17887,"33552":17888,"33554":17889,"33555":17890,"33558":17891,"33560":17892,"33561":17893,"33565":17894,"33566":17895,"33567":17896,"33568":17897,"33569":17898,"33570":17899,"33571":17900,"33572":17901,"33573":17902,"33574":17903,"33577":17904,"33578":17905,"33582":17906,"33584":17907,"33586":17908,"33591":17909,"33595":17910,"33597":17911,"33598":17912,"33599":17913,"33601":17914,"33602":17915,"33604":17916,"33605":17917,"33608":17918,"33610":17919,"33611":17920,"33612":17921,"33613":17922,"33614":17923,"33619":17924,"33621":17925,"33622":17926,"33623":17927,"33624":17928,"33625":17929,"33629":17930,"33634":17931,"33648":17932,"33649":17933,"33650":17934,"33651":17935,"33652":17936,"33653":17937,"33654":17938,"33657":17939,"33658":17940,"33662":17941,"33663":17942,"33664":17943,"33665":17944,"33666":17945,"33667":17946,"33668":17947,"33671":17948,"33672":17949,"33675":17950,"33676":17951,"33677":17952,"33679":17953,"33680":17954,"33681":17955,"33684":17956,"33685":17957,"33687":17958,"33689":17959,"33690":17960,"33693":17961,"33695":17962,"33697":17963,"33699":17964,"33700":17965,"33701":17966,"33702":17967,"33708":17968,"33709":17969,"33710":17970,"33711":17971,"33717":17972,"33723":17973,"33726":17974,"33727":17975,"33730":17976,"33731":17977,"33732":17978,"33734":17979,"33736":17980,"33737":17981,"33739":17982,"33741":17983,"33742":17984,"33744":17985,"33745":17986,"33746":17987,"33747":17988,"33749":17989,"33751":17990,"33753":17991,"33754":17992,"33755":17993,"33758":17994,"33762":17995,"33763":17996,"33764":17997,"33766":17998,"33767":17999,"33768":18000,"33771":18001,"33772":18002,"33773":18003,"33774":18004,"33779":18005,"33780":18006,"33781":18007,"33782":18008,"33783":18009,"33786":18010,"33787":18011,"33788":18012,"33790":18013,"33791":18014,"33792":18015,"33794":18016,"33797":18017,"33800":18018,"33801":18019,"33808":18020,"33810":18021,"33811":18022,"33812":18023,"33813":18024,"33814":18025,"33815":18026,"33817":18027,"33818":18028,"33819":18029,"33822":18030,"33823":18031,"33824":18032,"33825":18033,"33826":18034,"33827":18035,"33833":18036,"33834":18037,"33835":18038,"33837":18039,"33838":18040,"33839":18041,"33840":18042,"33842":18043,"33843":18044,"33844":18045,"33846":18046,"33847":18047,"33849":18048,"33850":18049,"33851":18050,"33854":18051,"33855":18052,"33856":18053,"33857":18054,"33858":18055,"33859":18056,"33860":18057,"33861":18058,"33863":18059,"33864":18060,"33866":18061,"33867":18062,"33868":18063,"33869":18064,"33870":18065,"33871":18066,"33872":18067,"33875":18068,"33876":18069,"33877":18070,"33878":18071,"33880":18072,"33885":18073,"33886":18074,"33887":18075,"33888":18076,"33890":18077,"33893":18078,"33895":18079,"33896":18080,"33898":18081,"33902":18082,"33904":18083,"33906":18084,"33908":18085,"33913":18086,"33915":18087,"33916":18088,"33917":18089,"33918":18090,"33919":18091,"33920":18092,"33921":18093,"33923":18094,"33924":18095,"33925":18096,"33926":18097,"33930":18098,"33933":18099,"33935":18100,"33936":18101,"33937":18102,"33938":18103,"33941":18104,"33942":18105,"33944":18106,"33946":18107,"33947":18108,"33949":18109,"33950":18110,"33951":18111,"33952":18112,"33954":18113,"33955":18114,"33956":18115,"33957":18116,"33958":18117,"33959":18118,"33960":18119,"33961":18120,"33962":18121,"33963":18122,"33964":18123,"33965":18124,"33966":18125,"33968":18126,"33969":18127,"33971":18128,"33973":18129,"33974":18130,"33975":18131,"33979":18132,"33982":18133,"33986":18134,"33987":18135,"33989":18136,"33990":18137,"33991":18138,"33992":18139,"33996":18140,"33998":18141,"33999":18142,"34002":18143,"34004":18144,"34005":18145,"34007":18146,"34008":18147,"34009":18148,"34010":18149,"34011":18150,"34012":18151,"34014":18152,"34017":18153,"34018":18154,"34020":18155,"34023":18156,"34024":18157,"34025":18158,"34026":18159,"34027":18160,"34029":18161,"34033":18162,"34034":18163,"34035":18164,"34036":18165,"34037":18166,"34038":18167,"34039":18168,"34040":18169,"34041":18170,"34042":18171,"34043":18172,"34046":18173,"34048":18174,"34049":18175,"34050":18176,"34051":18177,"34052":18178,"34053":18179,"34054":18180,"34055":18181,"34056":18182,"34057":18183,"34058":18184,"34059":18185,"34061":18186,"34062":18187,"34063":18188,"34064":18189,"34066":18190,"34069":18191,"34070":18192,"34072":18193,"34073":18194,"34075":18195,"34076":18196,"34077":18197,"34080":18198,"34082":18199,"34084":18200,"34085":18201,"34087":18202,"34088":18203,"34089":18204,"34090":18205,"34094":18206,"34095":18207,"34096":18208,"34097":18209,"34098":18210,"34099":18211,"34100":18212,"34101":18213,"34102":18214,"34110":18215,"34111":18216,"34112":18217,"34114":18218,"34116":18219,"34117":18220,"34119":18221,"34123":18222,"34124":18223,"34125":18224,"34127":18225,"34128":18226,"34129":18227,"34132":18228,"34135":18229,"34138":18230,"34139":18231,"34140":18232,"34141":18233,"34143":18234,"34144":18235,"34145":18236,"34147":18237,"34149":18238,"34150":18239,"34151":18240,"34155":18241,"34156":18242,"34158":18243,"34159":18244,"34160":18245,"34161":18246,"34163":18247,"34165":18248,"34166":18249,"34168":18250,"34172":18251,"34173":18252,"34175":18253,"34176":18254,"34177":18255,"34178":18256,"34179":18257,"34182":18258,"34185":18259,"34187":18260,"34189":18261,"34190":18262,"34192":18263,"34194":18264,"34195":18265,"34197":18266,"34198":18267,"34199":18268,"34200":18269,"34201":18270,"34202":18271,"34205":18272,"34206":18273,"34208":18274,"34209":18275,"34210":18276,"34211":18277,"34213":18278,"34215":18279,"34219":18280,"34220":18281,"34221":18282,"34225":18283,"34226":18284,"34227":18285,"34228":18286,"34229":18287,"34230":18288,"34232":18289,"34235":18290,"34236":18291,"34237":18292,"34238":18293,"34239":18294,"34240":18295,"34242":18296,"34243":18297,"34244":18298,"34245":18299,"34246":18300,"34247":18301,"34248":18302,"34250":18303,"34251":18304,"34252":18305,"34257":18306,"34258":18307,"34260":18308,"34262":18309,"34263":18310,"34264":18311,"34265":18312,"34266":18313,"34267":18314,"34270":18315,"34271":18316,"34272":18317,"34273":18318,"34274":18319,"34275":18320,"34278":18321,"34279":18322,"34280":18323,"34283":18324,"34284":18325,"34285":18326,"34286":18327,"34287":18328,"34288":18329,"34289":18330,"34290":18331,"34291":18332,"34293":18333,"34295":18334,"34296":18335,"34300":18336,"34301":18337,"34302":18338,"34304":18339,"34305":18340,"34306":18341,"34307":18342,"34312":18343,"34313":18344,"34314":18345,"34316":18346,"34317":18347,"34318":18348,"34319":18349,"34320":18350,"34322":18351,"34323":18352,"34324":18353,"34325":18354,"34327":18355,"34328":18356,"34329":18357,"34331":18358,"34332":18359,"34333":18360,"34335":18361,"34336":18362,"34337":18363,"34339":18364,"34340":18365,"34341":18366,"34342":18367,"34344":18368,"34346":18369,"34347":18370,"34348":18371,"34350":18372,"34351":18373,"34352":18374,"34353":18375,"34354":18376,"34355":18377,"34356":18378,"34357":18379,"34358":18380,"34359":18381,"34361":18382,"34363":18383,"34365":18384,"34366":18385,"34368":18386,"34369":18387,"34370":18388,"34371":18389,"34372":18390,"34373":18391,"34374":18392,"34375":18393,"34376":18394,"34377":18395,"34378":18396,"34379":18397,"34380":18398,"34386":18399,"34387":18400,"34390":18401,"34391":18402,"34392":18403,"34393":18404,"34395":18405,"34397":18406,"34400":18407,"34401":18408,"34403":18409,"34404":18410,"34405":18411,"34406":18412,"34408":18413,"34409":18414,"34410":18415,"34413":18416,"34415":18417,"34416":18418,"34418":18419,"34419":18420,"34420":18421,"34421":18422,"34422":18423,"34423":18424,"34424":18425,"34435":18426,"34436":18427,"34437":18428,"34438":18429,"34439":18430,"34440":18431,"34441":18432,"34446":18433,"34447":18434,"34448":18435,"34449":18436,"34450":18437,"34452":18438,"34454":18439,"34455":18440,"34456":18441,"34457":18442,"34458":18443,"34459":18444,"34462":18445,"34463":18446,"34464":18447,"34465":18448,"34466":18449,"34469":18450,"34470":18451,"34475":18452,"34477":18453,"34478":18454,"34482":18455,"34483":18456,"34487":18457,"34488":18458,"34489":18459,"34491":18460,"34492":18461,"34493":18462,"34494":18463,"34495":18464,"34497":18465,"34498":18466,"34499":18467,"34501":18468,"34504":18469,"34508":18470,"34509":18471,"34514":18472,"34515":18473,"34517":18474,"34518":18475,"34519":18476,"34522":18477,"34524":18478,"34525":18479,"34528":18480,"34529":18481,"34530":18482,"34531":18483,"34533":18484,"34534":18485,"34535":18486,"34536":18487,"34538":18488,"34539":18489,"34540":18490,"34543":18491,"34549":18492,"34550":18493,"34551":18494,"34555":18495,"34556":18496,"34557":18497,"34559":18498,"34561":18499,"34564":18500,"34565":18501,"34571":18502,"34572":18503,"34574":18504,"34575":18505,"34576":18506,"34577":18507,"34580":18508,"34582":18509,"34585":18510,"34587":18511,"34589":18512,"34591":18513,"34592":18514,"34596":18515,"34598":18516,"34599":18517,"34600":18518,"34602":18519,"34603":18520,"34604":18521,"34605":18522,"34607":18523,"34608":18524,"34610":18525,"34611":18526,"34613":18527,"34614":18528,"34616":18529,"34617":18530,"34618":18531,"34620":18532,"34621":18533,"34624":18534,"34625":18535,"34626":18536,"34627":18537,"34628":18538,"34629":18539,"34630":18540,"34634":18541,"34635":18542,"34637":18543,"34639":18544,"34640":18545,"34641":18546,"34642":18547,"34644":18548,"34646":18549,"34648":18550,"34650":18551,"34651":18552,"34652":18553,"34653":18554,"34654":18555,"34655":18556,"34657":18557,"34658":18558,"34663":18559,"34664":18560,"34665":18561,"34666":18562,"34667":18563,"34668":18564,"34669":18565,"34671":18566,"34673":18567,"34674":18568,"34675":18569,"34677":18570,"34679":18571,"34681":18572,"34682":18573,"34687":18574,"34688":18575,"34689":18576,"34694":18577,"34695":18578,"34697":18579,"34698":18580,"34700":18581,"34702":18582,"34703":18583,"34704":18584,"34705":18585,"34706":18586,"34708":18587,"34709":18588,"34710":18589,"34712":18590,"34713":18591,"34714":18592,"34715":18593,"34716":18594,"34717":18595,"34720":18596,"34721":18597,"34723":18598,"34724":18599,"34725":18600,"34726":18601,"34727":18602,"34729":18603,"34730":18604,"34734":18605,"34736":18606,"34737":18607,"34738":18608,"34740":18609,"34742":18610,"34743":18611,"34744":18612,"34745":18613,"34748":18614,"34750":18615,"34751":18616,"34753":18617,"34754":18618,"34755":18619,"34757":18620,"34759":18621,"34761":18622,"34764":18623,"34765":18624,"34767":18625,"34768":18626,"34772":18627,"34773":18628,"34774":18629,"34775":18630,"34776":18631,"34777":18632,"34778":18633,"34780":18634,"34781":18635,"34782":18636,"34783":18637,"34785":18638,"34786":18639,"34788":18640,"34790":18641,"34791":18642,"34792":18643,"34793":18644,"34795":18645,"34797":18646,"34800":18647,"34801":18648,"34803":18649,"34804":18650,"34805":18651,"34807":18652,"34808":18653,"34810":18654,"34812":18655,"34813":18656,"34815":18657,"34816":18658,"34817":18659,"34818":18660,"34820":18661,"34823":18662,"34824":18663,"34825":18664,"34827":18665,"34828":18666,"34829":18667,"34830":18668,"34831":18669,"34834":18670,"34836":18671,"34839":18672,"34840":18673,"34841":18674,"34842":18675,"34844":18676,"34845":18677,"34846":18678,"34848":18679,"34852":18680,"34853":18681,"34854":18682,"34855":18683,"34856":18684,"34857":18685,"34858":18686,"34859":18687,"34860":18688,"34861":18689,"34862":18690,"34863":18691,"34864":18692,"34867":18693,"34868":18694,"34869":18695,"34871":18696,"34872":18697,"34874":18698,"34877":18699,"34878":18700,"34879":18701,"34881":18702,"34882":18703,"34883":18704,"34887":18705,"34888":18706,"34889":18707,"34891":18708,"34894":18709,"34895":18710,"34896":18711,"34897":18712,"34898":18713,"34901":18714,"34902":18715,"34904":18716,"34906":18717,"34908":18718,"34910":18719,"34911":18720,"34912":18721,"34918":18722,"34919":18723,"34922":18724,"34925":18725,"34927":18726,"34929":18727,"34931":18728,"34932":18729,"34933":18730,"34934":18731,"34936":18732,"34938":18733,"34939":18734,"34940":18735,"34944":18736,"34947":18737,"34950":18738,"34951":18739,"34953":18740,"34954":18741,"34956":18742,"34958":18743,"34959":18744,"34960":18745,"34961":18746,"34963":18747,"34964":18748,"34965":18749,"34967":18750,"34968":18751,"34969":18752,"34970":18753,"34971":18754,"34973":18755,"34974":18756,"34975":18757,"34976":18758,"34977":18759,"34979":18760,"34981":18761,"34982":18762,"34983":18763,"34984":18764,"34985":18765,"34986":18766,"34988":18767,"34990":18768,"34991":18769,"34992":18770,"34994":18771,"34995":18772,"34996":18773,"34997":18774,"34998":18775,"35000":18776,"35001":18777,"35002":18778,"35003":18779,"35005":18780,"35006":18781,"35007":18782,"35008":18783,"35011":18784,"35012":18785,"35015":18786,"35016":18787,"35019":18788,"35020":18789,"35021":18790,"35024":18791,"35025":18792,"35027":18793,"35030":18794,"35031":18795,"35034":18796,"35035":18797,"35038":18798,"35040":18799,"35041":18800,"35046":18801,"35047":18802,"35049":18803,"35050":18804,"35051":18805,"35052":18806,"35053":18807,"35054":18808,"35055":18809,"35058":18810,"35061":18811,"35062":18812,"35063":18813,"35066":18814,"35067":18815,"35071":18816,"35072":18817,"35073":18818,"35075":18819,"35076":18820,"35077":18821,"35078":18822,"35080":18823,"35081":18824,"35083":18825,"35084":18826,"35085":18827,"35086":18828,"35087":18829,"35089":18830,"35092":18831,"35093":18832,"35094":18833,"35095":18834,"35096":18835,"35100":18836,"35101":18837,"35102":18838,"35103":18839,"35104":18840,"35106":18841,"35107":18842,"35108":18843,"35110":18844,"35111":18845,"35112":18846,"35113":18847,"35116":18848,"35117":18849,"35118":18850,"35119":18851,"35121":18852,"35125":18853,"35127":18854,"35129":18855,"35130":18856,"35132":18857,"35133":18858,"35134":18859,"35135":18860,"35136":18861,"35138":18862,"35139":18863,"35141":18864,"35142":18865,"35144":18866,"35145":18867,"35146":18868,"35147":18869,"35148":18870,"35149":18871,"35150":18872,"35151":18873,"35152":18874,"35153":18875,"35154":18876,"35155":18877,"35156":18878,"35157":18879,"35159":18880,"35160":18881,"35161":18882,"35162":18883,"35163":18884,"35164":18885,"35169":18886,"35170":18887,"35171":18888,"35173":18889,"35175":18890,"35176":18891,"35177":18892,"35179":18893,"35181":18894,"35182":18895,"35184":18896,"35185":18897,"35187":18898,"35188":18899,"35189":18900,"35190":18901,"35191":18902,"35192":18903,"35193":18904,"35194":18905,"35196":18906,"35197":18907,"12177":18908,"35198":18908,"35200":18909,"35202":18910,"35204":18911,"35205":18912,"35207":18913,"35208":18914,"35209":18915,"35210":18916,"35212":18917,"35213":18918,"35214":18919,"35216":18920,"35217":18921,"35218":18922,"35220":18923,"35221":18924,"35223":18925,"35225":18926,"35226":18927,"35227":18928,"35228":18929,"35229":18930,"35230":18931,"35231":18932,"35232":18933,"35234":18934,"35235":18935,"35236":18936,"35237":18937,"35239":18938,"35240":18939,"35241":18940,"35243":18941,"35245":18942,"35246":18943,"35248":18944,"35249":18945,"35251":18946,"35252":18947,"35253":18948,"35254":18949,"35256":18950,"35257":18951,"35259":18952,"35260":18953,"35262":18954,"35267":18955,"35277":18956,"35283":18957,"35284":18958,"35285":18959,"35287":18960,"35288":18961,"35289":18962,"35291":18963,"35293":18964,"35295":18965,"35296":18966,"35297":18967,"35298":18968,"35300":18969,"35303":18970,"35304":18971,"35305":18972,"35306":18973,"35308":18974,"35309":18975,"35310":18976,"35312":18977,"35313":18978,"35314":18979,"35317":18980,"35319":18981,"35321":18982,"35322":18983,"35323":18984,"35324":18985,"35325":18986,"35326":18987,"35327":18988,"35332":18989,"35333":18990,"35334":18991,"35337":18992,"35339":18993,"35341":18994,"35343":18995,"35345":18996,"35346":18997,"35348":18998,"35351":18999,"35353":19000,"35354":19001,"35356":19002,"35358":19003,"35360":19004,"35361":19005,"35362":19006,"35364":19007,"35366":19008,"35367":19009,"35368":19010,"35369":19011,"35371":19012,"35372":19013,"35374":19014,"35375":19015,"35376":19016,"35378":19017,"35379":19018,"35381":19019,"35383":19020,"35384":19021,"35385":19022,"35387":19023,"35388":19024,"35389":19025,"35391":19026,"35392":19027,"35394":19028,"35395":19029,"35396":19030,"35397":19031,"35399":19032,"35401":19033,"35402":19034,"35403":19035,"35404":19036,"35405":19037,"35407":19038,"35409":19039,"35411":19040,"35414":19041,"35415":19042,"35417":19043,"35418":19044,"35420":19045,"35421":19046,"35423":19047,"35424":19048,"35428":19049,"35429":19050,"35431":19051,"35432":19052,"35434":19053,"35439":19054,"35444":19055,"35446":19056,"35447":19057,"35448":19058,"35450":19059,"35451":19060,"35453":19061,"35454":19062,"35456":19063,"35457":19064,"35458":19065,"35459":19066,"35464":19067,"35467":19068,"35468":19069,"35470":19070,"35471":19071,"35472":19072,"35476":19073,"35478":19074,"35479":19075,"35481":19076,"35483":19077,"35484":19078,"35485":19079,"35487":19080,"35490":19081,"35495":19082,"35497":19083,"35498":19084,"35499":19085,"35501":19086,"35502":19087,"35503":19088,"35505":19089,"35507":19090,"35508":19091,"35509":19092,"35511":19093,"35512":19094,"35514":19095,"35515":19096,"35517":19097,"35518":19098,"35520":19099,"35521":19100,"35523":19101,"35525":19102,"35526":19103,"35528":19104,"35530":19105,"35532":19106,"35534":19107,"35536":19108,"35539":19109,"35540":19110,"35541":19111,"35544":19112,"35545":19113,"35546":19114,"35549":19115,"35551":19116,"35552":19117,"35553":19118,"35555":19119,"35557":19120,"35560":19121,"35561":19122,"35562":19123,"35564":19124,"35567":19125,"35568":19126,"35570":19127,"35572":19128,"35573":19129,"35577":19130,"35579":19131,"35581":19132,"35583":19133,"35587":19134,"35590":19135,"35592":19136,"35593":19137,"35595":19138,"35596":19139,"35597":19140,"35599":19141,"35601":19142,"35602":19143,"35603":19144,"35605":19145,"35608":19146,"35612":19147,"35614":19148,"35615":19149,"35616":19150,"35618":19151,"35619":19152,"35620":19153,"35621":19154,"35623":19155,"35625":19156,"35626":19157,"35630":19158,"35631":19159,"35632":19160,"35633":19161,"35634":19162,"35636":19163,"35637":19164,"35638":19165,"35639":19166,"35640":19167,"35642":19168,"35643":19169,"35644":19170,"35645":19171,"35647":19172,"35648":19173,"35649":19174,"35650":19175,"35651":19176,"35652":19177,"35653":19178,"35654":19179,"35655":19180,"35656":19181,"35658":19182,"35659":19183,"35660":19184,"35661":19185,"35664":19186,"35665":19187,"35666":19188,"35667":19189,"35668":19190,"35669":19191,"35671":19192,"35675":19193,"35677":19194,"35678":19195,"35679":19196,"35680":19197,"35681":19198,"35682":19199,"35683":19200,"35684":19201,"35685":19202,"35687":19203,"35688":19204,"35689":19205,"35690":19206,"35693":19207,"35694":19208,"35697":19209,"35698":19210,"35699":19211,"35701":19212,"35702":19213,"35704":19214,"35705":19215,"35706":19216,"35707":19217,"35708":19218,"35710":19219,"35711":19220,"35713":19221,"35714":19222,"35715":19223,"35716":19224,"35717":19225,"35718":19226,"35719":19227,"35720":19228,"35721":19229,"35723":19230,"35724":19231,"35725":19232,"35727":19233,"35728":19234,"35729":19235,"35732":19236,"35735":19237,"35736":19238,"35737":19239,"35738":19240,"35739":19241,"35741":19242,"35743":19243,"35756":19244,"35761":19245,"35771":19246,"35783":19247,"35792":19248,"35818":19249,"35849":19250,"35870":19251,"35896":19252,"35897":19253,"35898":19254,"35899":19255,"35900":19256,"35901":19257,"35902":19258,"35903":19259,"35904":19260,"35906":19261,"35907":19262,"35908":19263,"35909":19264,"35914":19265,"35915":19266,"35917":19267,"35918":19268,"35919":19269,"35921":19270,"35922":19271,"35923":19272,"35924":19273,"35926":19274,"35927":19275,"35928":19276,"35929":19277,"35931":19278,"35932":19279,"35933":19280,"35934":19281,"35935":19282,"35936":19283,"35939":19284,"35940":19285,"35941":19286,"35942":19287,"35943":19288,"35944":19289,"35945":19290,"35948":19291,"35949":19292,"35950":19293,"35951":19294,"35952":19295,"35953":19296,"35954":19297,"35956":19298,"35957":19299,"35958":19300,"35959":19301,"35963":19302,"35964":19303,"35965":19304,"35966":19305,"35967":19306,"35968":19307,"35969":19308,"35971":19309,"35972":19310,"35974":19311,"35975":19312,"35976":19313,"35979":19314,"35981":19315,"35982":19316,"35983":19317,"35984":19318,"35985":19319,"35986":19320,"35987":19321,"35989":19322,"35990":19323,"35991":19324,"35993":19325,"35994":19326,"35995":19327,"35996":19328,"35999":19329,"36003":19330,"36004":19331,"36005":19332,"36006":19333,"36013":19334,"36014":19335,"36017":19336,"36021":19337,"36025":19338,"36030":19339,"36038":19340,"36041":19341,"36043":19342,"36044":19343,"36045":19344,"36046":19345,"36047":19346,"36048":19347,"36052":19348,"36054":19349,"36055":19350,"36056":19351,"36057":19352,"36059":19353,"36061":19354,"36063":19355,"36069":19356,"36072":19357,"36073":19358,"36078":19359,"36079":19360,"36080":19361,"36081":19362,"36082":19363,"36083":19364,"36085":19365,"36086":19366,"36087":19367,"36088":19368,"36089":19369,"36095":19370,"36096":19371,"36097":19372,"36098":19373,"36099":19374,"36102":19375,"36103":19376,"36105":19377,"36108":19378,"36110":19379,"36113":19380,"36114":19381,"36115":19382,"36116":19383,"36117":19384,"36119":19385,"36120":19386,"36121":19387,"36122":19388,"36128":19389,"36177":19390,"36178":19391,"36183":19392,"36191":19393,"36197":19394,"36200":19395,"36201":19396,"36202":19397,"36204":19398,"36206":19399,"36207":19400,"36209":19401,"36210":19402,"36216":19403,"36217":19404,"36218":19405,"36219":19406,"36220":19407,"36221":19408,"36222":19409,"36223":19410,"36224":19411,"36226":19412,"36227":19413,"36230":19414,"36231":19415,"36232":19416,"36233":19417,"36236":19418,"36237":19419,"36238":19420,"36239":19421,"36240":19422,"36242":19423,"36243":19424,"36246":19425,"36247":19426,"36248":19427,"36250":19428,"36251":19429,"36252":19430,"36253":19431,"36254":19432,"36256":19433,"36257":19434,"36258":19435,"36260":19436,"36261":19437,"36262":19438,"36263":19439,"36265":19440,"36266":19441,"36267":19442,"36268":19443,"36269":19444,"36270":19445,"36271":19446,"36272":19447,"36278":19448,"36279":19449,"36281":19450,"36283":19451,"36285":19452,"36288":19453,"36289":19454,"36290":19455,"36293":19456,"36295":19457,"36296":19458,"36297":19459,"36298":19460,"36301":19461,"36304":19462,"36306":19463,"36307":19464,"36308":19465,"36309":19466,"36312":19467,"36313":19468,"36316":19469,"36320":19470,"36321":19471,"36322":19472,"36325":19473,"36326":19474,"36327":19475,"36329":19476,"36333":19477,"36334":19478,"36336":19479,"36337":19480,"36338":19481,"36340":19482,"36342":19483,"36348":19484,"36350":19485,"36351":19486,"36352":19487,"36353":19488,"36354":19489,"36355":19490,"36356":19491,"36358":19492,"36359":19493,"36360":19494,"36363":19495,"36365":19496,"36366":19497,"36369":19498,"36370":19499,"36371":19500,"36373":19501,"36374":19502,"36375":19503,"36376":19504,"36377":19505,"36378":19506,"36379":19507,"36380":19508,"36384":19509,"36385":19510,"36388":19511,"36389":19512,"36390":19513,"36391":19514,"36392":19515,"36395":19516,"36397":19517,"36400":19518,"36402":19519,"36403":19520,"36406":19521,"36407":19522,"36408":19523,"36411":19524,"36412":19525,"36414":19526,"36415":19527,"36419":19528,"36421":19529,"36422":19530,"36429":19531,"36430":19532,"36431":19533,"36432":19534,"36435":19535,"36436":19536,"36438":19537,"36439":19538,"36440":19539,"36442":19540,"36443":19541,"36444":19542,"36445":19543,"36446":19544,"36447":19545,"36448":19546,"36449":19547,"36450":19548,"36452":19549,"36453":19550,"36455":19551,"36456":19552,"36458":19553,"36459":19554,"36462":19555,"36465":19556,"36467":19557,"36469":19558,"36471":19559,"36472":19560,"36473":19561,"36475":19562,"36477":19563,"36478":19564,"36480":19565,"36482":19566,"36483":19567,"36484":19568,"36486":19569,"36488":19570,"36492":19571,"36494":19572,"36501":19573,"36502":19574,"36503":19575,"36504":19576,"36505":19577,"36507":19578,"36509":19579,"36511":19580,"36512":19581,"36514":19582,"36515":19583,"36516":19584,"36519":19585,"36520":19586,"36521":19587,"36525":19588,"36526":19589,"36528":19590,"36529":19591,"36531":19592,"36532":19593,"36533":19594,"36534":19595,"36535":19596,"36536":19597,"36537":19598,"36539":19599,"36540":19600,"36541":19601,"36542":19602,"36543":19603,"36545":19604,"36546":19605,"36547":19606,"36548":19607,"36549":19608,"36550":19609,"36551":19610,"36552":19611,"36553":19612,"36559":19613,"36560":19614,"36561":19615,"36563":19616,"36565":19617,"36566":19618,"36567":19619,"36568":19620,"36569":19621,"36570":19622,"36572":19623,"36573":19624,"36574":19625,"36576":19626,"36577":19627,"36578":19628,"36579":19629,"36581":19630,"36582":19631,"36583":19632,"36584":19633,"36585":19634,"36586":19635,"36588":19636,"36589":19637,"36590":19638,"36591":19639,"36592":19640,"36593":19641,"36595":19642,"36596":19643,"36597":19644,"36598":19645,"36599":19646,"36605":19647,"36607":19648,"36608":19649,"36609":19650,"36610":19651,"36612":19652,"36614":19653,"36616":19654,"36619":19655,"36620":19656,"36621":19657,"36622":19658,"36623":19659,"36624":19660,"36625":19661,"36627":19662,"36630":19663,"36631":19664,"36632":19665,"36633":19666,"36634":19667,"36640":19668,"36641":19669,"36642":19670,"36643":19671,"36644":19672,"36647":19673,"36648":19674,"36651":19675,"36652":19676,"36653":19677,"36654":19678,"36656":19679,"36657":19680,"36658":19681,"36660":19682,"36661":19683,"36662":19684,"36663":19685,"36665":19686,"36666":19687,"36668":19688,"36669":19689,"36672":19690,"36673":19691,"36675":19692,"36679":19693,"36680":19694,"36682":19695,"36683":19696,"36684":19697,"36687":19698,"36688":19699,"36689":19700,"36690":19701,"36691":19702,"36693":19703,"36694":19704,"36695":19705,"36696":19706,"36697":19707,"36698":19708,"36699":19709,"36700":19710,"36701":19711,"36702":19712,"36704":19713,"36707":19714,"36709":19715,"36714":19716,"36736":19717,"36748":19718,"36754":19719,"36765":19720,"36768":19721,"36769":19722,"36770":19723,"36772":19724,"36773":19725,"36775":19726,"36778":19727,"36780":19728,"36787":19729,"36788":19730,"12193":19731,"36789":19731,"36791":19732,"36792":19733,"36794":19734,"36795":19735,"36796":19736,"36799":19737,"36800":19738,"36803":19739,"36806":19740,"36809":19741,"36810":19742,"36811":19743,"36812":19744,"36813":19745,"36815":19746,"36818":19747,"36822":19748,"36823":19749,"36826":19750,"36832":19751,"36833":19752,"36835":19753,"36839":19754,"36844":19755,"36847":19756,"36849":19757,"36850":19758,"36853":19759,"36854":19760,"36858":19761,"36859":19762,"36860":19763,"36862":19764,"36863":19765,"36871":19766,"36872":19767,"36876":19768,"36878":19769,"36883":19770,"36888":19771,"36892":19772,"36900":19773,"36901":19774,"36903":19775,"36904":19776,"36905":19777,"36906":19778,"36907":19779,"36908":19780,"36912":19781,"36913":19782,"36915":19783,"36916":19784,"36919":19785,"36921":19786,"36922":19787,"36925":19788,"36927":19789,"36928":19790,"36931":19791,"36933":19792,"36934":19793,"36936":19794,"36937":19795,"36938":19796,"36940":19797,"36950":19798,"36953":19799,"36954":19800,"36957":19801,"36959":19802,"36961":19803,"36964":19804,"36966":19805,"36967":19806,"36970":19807,"36971":19808,"36972":19809,"36975":19810,"36976":19811,"36977":19812,"36979":19813,"36982":19814,"36985":19815,"36987":19816,"36990":19817,"36997":19818,"36998":19819,"37001":19820,"37004":19821,"37005":19822,"37006":19823,"37010":19824,"37012":19825,"37014":19826,"37016":19827,"37018":19828,"37020":19829,"37022":19830,"37023":19831,"37024":19832,"37028":19833,"37029":19834,"37031":19835,"37032":19836,"37033":19837,"37035":19838,"37037":19839,"37042":19840,"37047":19841,"37052":19842,"37053":19843,"37055":19844,"37056":19845,"37058":19846,"37059":19847,"37062":19848,"37064":19849,"37065":19850,"37067":19851,"37068":19852,"37069":19853,"37074":19854,"37076":19855,"37077":19856,"37078":19857,"37080":19858,"37081":19859,"37082":19860,"37086":19861,"37088":19862,"37091":19863,"37092":19864,"37093":19865,"37097":19866,"37098":19867,"37100":19868,"37102":19869,"37104":19870,"37105":19871,"37106":19872,"37107":19873,"37110":19874,"37111":19875,"37113":19876,"37114":19877,"37115":19878,"37116":19879,"37119":19880,"37120":19881,"37121":19882,"37123":19883,"37125":19884,"37127":19885,"37128":19886,"37130":19887,"37131":19888,"37132":19889,"37133":19890,"37134":19891,"37135":19892,"37136":19893,"37137":19894,"37139":19895,"37141":19896,"37143":19897,"37144":19898,"37146":19899,"37147":19900,"37148":19901,"37149":19902,"37151":19903,"37152":19904,"37153":19905,"37156":19906,"37157":19907,"37158":19908,"37160":19909,"37161":19910,"37162":19911,"37163":19912,"37164":19913,"37166":19914,"37171":19915,"37173":19916,"37175":19917,"37176":19918,"37179":19919,"37180":19920,"37181":19921,"37182":19922,"37183":19923,"37184":19924,"37185":19925,"37186":19926,"37188":19927,"37189":19928,"37191":19929,"37201":19930,"37203":19931,"37204":19932,"37205":19933,"37206":19934,"37208":19935,"37209":19936,"37211":19937,"37212":19938,"37215":19939,"37216":19940,"37222":19941,"37223":19942,"37224":19943,"37227":19944,"37229":19945,"37235":19946,"37242":19947,"37243":19948,"37244":19949,"37248":19950,"37249":19951,"37250":19952,"37251":19953,"37252":19954,"37254":19955,"37256":19956,"37258":19957,"37262":19958,"37263":19959,"37267":19960,"37268":19961,"37269":19962,"37271":19963,"37272":19964,"37273":19965,"37277":19966,"37278":19967,"37279":19968,"37280":19969,"37281":19970,"37284":19971,"37285":19972,"37286":19973,"37287":19974,"37288":19975,"37289":19976,"37296":19977,"37297":19978,"37298":19979,"37299":19980,"37302":19981,"37303":19982,"37304":19983,"37305":19984,"37307":19985,"37308":19986,"37309":19987,"37310":19988,"37311":19989,"37314":19990,"37316":19991,"12196":19992,"37318":19992,"37320":19993,"37328":19994,"37334":19995,"37338":19996,"37339":19997,"37342":19998,"37343":19999,"37344":20000,"37345":20001,"37346":20002,"37349":20003,"37350":20004,"37352":20005,"37354":20006,"37355":20007,"37356":20008,"37357":20009,"37358":20010,"37359":20011,"37360":20012,"37361":20013,"37362":20014,"37363":20015,"37364":20016,"37366":20017,"37368":20018,"37371":20019,"37372":20020,"37373":20021,"37374":20022,"37375":20023,"37378":20024,"37379":20025,"37381":20026,"37382":20027,"37383":20028,"37386":20029,"37387":20030,"37388":20031,"37391":20032,"37394":20033,"37395":20034,"37398":20035,"37399":20036,"37400":20037,"37401":20038,"37402":20039,"37403":20040,"37404":20041,"37405":20042,"37407":20043,"37408":20044,"37409":20045,"37410":20046,"37412":20047,"37416":20048,"37417":20049,"37418":20050,"37419":20051,"37420":20052,"37421":20053,"37423":20054,"37425":20055,"37426":20056,"37429":20057,"37430":20058,"37435":20059,"37436":20060,"37441":20061,"37442":20062,"37443":20063,"37444":20064,"37446":20065,"37447":20066,"37450":20067,"37451":20068,"37452":20069,"37454":20070,"37455":20071,"37456":20072,"37458":20073,"37459":20074,"37460":20075,"37462":20076,"37464":20077,"37465":20078,"37468":20079,"37469":20080,"37471":20081,"37472":20082,"37473":20083,"37475":20084,"37476":20085,"37477":20086,"37479":20087,"37480":20088,"37481":20089,"37482":20090,"37483":20091,"37486":20092,"37487":20093,"37488":20094,"37489":20095,"37490":20096,"37491":20097,"37493":20098,"37494":20099,"37495":20100,"37497":20101,"37500":20102,"37501":20103,"37502":20104,"37505":20105,"37506":20106,"37508":20107,"37510":20108,"37511":20109,"37512":20110,"37513":20111,"37514":20112,"37515":20113,"37516":20114,"37517":20115,"37519":20116,"37520":20117,"37522":20118,"37524":20119,"37525":20120,"37527":20121,"37529":20122,"37531":20123,"37533":20124,"37534":20125,"37535":20126,"37537":20127,"37538":20128,"37540":20129,"37543":20130,"37549":20131,"37551":20132,"37552":20133,"37554":20134,"37555":20135,"37556":20136,"37557":20137,"37558":20138,"37560":20139,"37562":20140,"37565":20141,"37566":20142,"37567":20143,"37568":20144,"37570":20145,"37572":20146,"37574":20147,"37577":20148,"37578":20149,"37579":20150,"37581":20151,"37582":20152,"37584":20153,"37585":20154,"37587":20155,"37588":20156,"37589":20157,"37590":20158,"37591":20159,"37592":20160,"37593":20161,"37594":20162,"37595":20163,"37596":20164,"37598":20165,"37600":20166,"37601":20167,"37602":20168,"37607":20169,"37609":20170,"37611":20171,"37612":20172,"37618":20173,"37619":20174,"37620":20175,"37621":20176,"37623":20177,"37625":20178,"37626":20179,"37627":20180,"37629":20181,"37630":20182,"37631":20183,"37632":20184,"37634":20185,"37635":20186,"37636":20187,"37637":20188,"37641":20189,"37642":20190,"37643":20191,"37644":20192,"37645":20193,"37646":20194,"37647":20195,"37649":20196,"37651":20197,"37652":20198,"37654":20199,"37655":20200,"37660":20201,"37661":20202,"37662":20203,"37665":20204,"37667":20205,"37668":20206,"37669":20207,"37671":20208,"37673":20209,"37674":20210,"37676":20211,"37677":20212,"37680":20213,"37681":20214,"37684":20215,"37685":20216,"37687":20217,"37689":20218,"37690":20219,"37691":20220,"37692":20221,"37693":20222,"37695":20223,"37698":20224,"37700":20225,"37701":20226,"37704":20227,"37705":20228,"37706":20229,"37708":20230,"37710":20231,"37711":20232,"37712":20233,"37713":20234,"37714":20235,"37715":20236,"37717":20237,"37718":20238,"37719":20239,"37721":20240,"37722":20241,"37724":20242,"37725":20243,"37726":20244,"37727":20245,"37728":20246,"37729":20247,"37730":20248,"37731":20249,"37734":20250,"37735":20251,"37736":20252,"37739":20253,"37741":20254,"37742":20255,"37743":20256,"37745":20257,"37746":20258,"37747":20259,"37748":20260,"37751":20261,"37752":20262,"37753":20263,"37755":20264,"37756":20265,"37757":20266,"37759":20267,"37760":20268,"37761":20269,"37763":20270,"37765":20271,"37766":20272,"37768":20273,"37769":20274,"37771":20275,"37772":20276,"37773":20277,"37774":20278,"37776":20279,"37777":20280,"37778":20281,"37779":20282,"37780":20283,"37781":20284,"37783":20285,"37785":20286,"37786":20287,"37787":20288,"37788":20289,"37789":20290,"37790":20291,"37791":20292,"37792":20293,"37793":20294,"37796":20295,"37797":20296,"37800":20297,"37803":20298,"37805":20299,"37807":20300,"37809":20301,"37810":20302,"37812":20303,"37814":20304,"37815":20305,"37817":20306,"37818":20307,"37819":20308,"37820":20309,"37821":20310,"37822":20311,"37824":20312,"37825":20313,"37826":20314,"37828":20315,"37829":20316,"37830":20317,"37833":20318,"37835":20319,"37838":20320,"37839":20321,"37840":20322,"37842":20323,"37843":20324,"37844":20325,"37845":20326,"37849":20327,"37850":20328,"37851":20329,"37856":20330,"37859":20331,"37861":20332,"37862":20333,"37863":20334,"37865":20335,"37866":20336,"37867":20337,"37868":20338,"37869":20339,"37870":20340,"37871":20341,"37872":20342,"37873":20343,"37874":20344,"37875":20345,"37876":20346,"37878":20347,"37880":20348,"37882":20349,"37883":20350,"37884":20351,"37885":20352,"37886":20353,"37887":20354,"37888":20355,"37889":20356,"37890":20357,"37892":20358,"37893":20359,"37894":20360,"37895":20361,"37896":20362,"37897":20363,"37898":20364,"37900":20365,"37901":20366,"37902":20367,"37903":20368,"37905":20369,"37909":20370,"37910":20371,"37911":20372,"37914":20373,"37915":20374,"37916":20375,"37918":20376,"37919":20377,"37921":20378,"37922":20379,"37923":20380,"37924":20381,"37925":20382,"37929":20383,"37930":20384,"37931":20385,"37932":20386,"37933":20387,"37935":20388,"37936":20389,"37937":20390,"37940":20391,"37942":20392,"37943":20393,"37945":20394,"37947":20395,"37948":20396,"37949":20397,"37952":20398,"37953":20399,"37954":20400,"37955":20401,"37957":20402,"37958":20403,"37959":20404,"37960":20405,"37961":20406,"37963":20407,"37965":20408,"37966":20409,"37967":20410,"37968":20411,"37969":20412,"37971":20413,"37973":20414,"37974":20415,"37975":20416,"37976":20417,"37977":20418,"37978":20419,"37979":20420,"37980":20421,"37981":20422,"37982":20423,"37983":20424,"37985":20425,"37986":20426,"37988":20427,"37990":20428,"37991":20429,"37992":20430,"37993":20431,"37994":20432,"37996":20433,"37998":20434,"37999":20435,"38001":20436,"38003":20437,"38004":20438,"38005":20439,"38006":20440,"38008":20441,"38010":20442,"38011":20443,"38016":20444,"38017":20445,"38018":20446,"38019":20447,"38020":20448,"38033":20449,"38038":20450,"38040":20451,"38087":20452,"38095":20453,"38099":20454,"38100":20455,"38106":20456,"38118":20457,"38139":20458,"38172":20459,"38176":20460,"38183":20461,"38195":20462,"38205":20463,"38211":20464,"38216":20465,"38219":20466,"38229":20467,"38234":20468,"38240":20469,"38254":20470,"38260":20471,"38261":20472,"38264":20473,"38265":20474,"38266":20475,"38267":20476,"38268":20477,"38269":20478,"38270":20479,"38273":20480,"38276":20481,"38277":20482,"38279":20483,"38280":20484,"38282":20485,"38285":20486,"38288":20487,"38290":20488,"38293":20489,"38294":20490,"38295":20491,"38297":20492,"38298":20493,"38299":20494,"38300":20495,"38301":20496,"38302":20497,"38303":20498,"38304":20499,"38306":20500,"38310":20501,"38311":20502,"38314":20503,"38318":20504,"38319":20505,"38320":20506,"38321":20507,"38323":20508,"38324":20509,"38325":20510,"38327":20511,"38328":20512,"38330":20513,"38336":20514,"38337":20515,"38338":20516,"38340":20517,"38341":20518,"38343":20519,"38345":20520,"38349":20521,"38350":20522,"38351":20523,"38353":20524,"38354":20525,"38355":20526,"38359":20527,"38360":20528,"38361":20529,"38362":20530,"38363":20531,"38365":20532,"38367":20533,"38368":20534,"38371":20535,"38372":20536,"38374":20537,"38375":20538,"38380":20539,"38399":20540,"38407":20541,"38419":20542,"38424":20543,"38427":20544,"38430":20545,"38432":20546,"38435":20547,"38436":20548,"38437":20549,"38438":20550,"38439":20551,"38440":20552,"38441":20553,"38443":20554,"38444":20555,"38445":20556,"38447":20557,"38448":20558,"38455":20559,"38456":20560,"38457":20561,"38458":20562,"38462":20563,"38465":20564,"38467":20565,"38474":20566,"38478":20567,"38479":20568,"38481":20569,"38482":20570,"38483":20571,"38486":20572,"38487":20573,"38489":20574,"38490":20575,"38492":20576,"38494":20577,"38496":20578,"38501":20579,"38502":20580,"38507":20581,"38509":20582,"38510":20583,"38511":20584,"38513":20585,"38521":20586,"38522":20587,"38523":20588,"38524":20589,"38526":20590,"38527":20591,"38528":20592,"38529":20593,"38530":20594,"38531":20595,"38532":20596,"38535":20597,"38537":20598,"38540":20599,"38545":20600,"38546":20601,"38547":20602,"38550":20603,"38554":20604,"38557":20605,"38558":20606,"38559":20607,"38560":20608,"38561":20609,"38562":20610,"63985":20611,"38563":20611,"38564":20612,"38565":20613,"38566":20614,"38569":20615,"38571":20616,"38572":20617,"38573":20618,"38574":20619,"38575":20620,"38578":20621,"38581":20622,"38583":20623,"38586":20624,"38591":20625,"38594":20626,"38595":20627,"38600":20628,"38602":20629,"38603":20630,"38608":20631,"38609":20632,"38611":20633,"38612":20634,"38615":20635,"38616":20636,"38618":20637,"38621":20638,"38622":20639,"38623":20640,"38625":20641,"38628":20642,"38629":20643,"38630":20644,"38631":20645,"38635":20646,"38636":20647,"38637":20648,"38638":20649,"38640":20650,"38641":20651,"38644":20652,"38645":20653,"38648":20654,"38650":20655,"38652":20656,"38653":20657,"38655":20658,"38658":20659,"38659":20660,"38661":20661,"38666":20662,"38667":20663,"38668":20664,"38672":20665,"38673":20666,"38674":20667,"38676":20668,"38677":20669,"38679":20670,"38680":20671,"38681":20672,"38682":20673,"38683":20674,"38685":20675,"38687":20676,"38688":20677,"38689":20678,"38690":20679,"38691":20680,"38692":20681,"38693":20682,"38694":20683,"38696":20684,"38697":20685,"38699":20686,"38700":20687,"38702":20688,"38703":20689,"38705":20690,"38707":20691,"38708":20692,"38709":20693,"38710":20694,"38711":20695,"38714":20696,"38715":20697,"38716":20698,"38719":20699,"38720":20700,"38721":20701,"38723":20702,"38725":20703,"38726":20704,"38727":20705,"38729":20706,"38730":20707,"38731":20708,"38732":20709,"38733":20710,"38734":20711,"38735":20712,"38736":20713,"12205":20714,"38737":20714,"38740":20715,"38741":20716,"38743":20717,"38744":20718,"38748":20719,"38749":20720,"38751":20721,"38755":20722,"38756":20723,"38758":20724,"38759":20725,"38762":20726,"38763":20727,"38764":20728,"38765":20729,"38766":20730,"38767":20731,"38768":20732,"38769":20733,"38770":20734,"38773":20735,"38775":20736,"38776":20737,"38777":20738,"38778":20739,"38779":20740,"38781":20741,"38782":20742,"38783":20743,"38784":20744,"38785":20745,"38786":20746,"38787":20747,"38788":20748,"38790":20749,"38791":20750,"38792":20751,"38793":20752,"38794":20753,"38796":20754,"38798":20755,"38800":20756,"38803":20757,"38805":20758,"38806":20759,"38807":20760,"38809":20761,"38810":20762,"38811":20763,"38812":20764,"38813":20765,"38814":20766,"38815":20767,"38817":20768,"38818":20769,"38820":20770,"38821":20771,"38823":20772,"38824":20773,"38825":20774,"38826":20775,"38828":20776,"38830":20777,"38832":20778,"38833":20779,"38835":20780,"38837":20781,"38838":20782,"38839":20783,"38840":20784,"38841":20785,"38842":20786,"38843":20787,"38844":20788,"38846":20789,"38847":20790,"38848":20791,"38849":20792,"38850":20793,"38852":20794,"38853":20795,"38855":20796,"38856":20797,"38858":20798,"38861":20799,"38862":20800,"38863":20801,"38864":20802,"38865":20803,"38866":20804,"38868":20805,"38869":20806,"38870":20807,"38871":20808,"38872":20809,"38874":20810,"38875":20811,"38877":20812,"38879":20813,"38880":20814,"38881":20815,"38882":20816,"38883":20817,"38884":20818,"38885":20819,"38888":20820,"38894":20821,"38895":20822,"38896":20823,"38897":20824,"38898":20825,"38900":20826,"38903":20827,"38904":20828,"38905":20829,"38906":20830,"38907":20831,"38908":20832,"38909":20833,"38910":20834,"38912":20835,"38916":20836,"38921":20837,"38923":20838,"38925":20839,"38932":20840,"38933":20841,"38934":20842,"38937":20843,"38938":20844,"38939":20845,"38941":20846,"38942":20847,"38943":20848,"38944":20849,"38946":20850,"38947":20851,"38949":20852,"38951":20853,"38952":20854,"38953":20855,"38954":20856,"38955":20857,"38956":20858,"38958":20859,"38959":20860,"38961":20861,"38962":20862,"38963":20863,"38964":20864,"38965":20865,"38966":20866,"38969":20867,"38970":20868,"38972":20869,"38974":20870,"38975":20871,"38976":20872,"38977":20873,"38978":20874,"38979":20875,"38980":20876,"38981":20877,"38983":20878,"38984":20879,"38985":20880,"38986":20881,"38987":20882,"38991":20883,"38992":20884,"38993":20885,"38994":20886,"38997":20887,"38998":20888,"38999":20889,"39002":20890,"39004":20891,"39005":20892,"39007":20893,"39008":20894,"39009":20895,"39011":20896,"39012":20897,"39014":20898,"39016":20899,"39017":20900,"39018":20901,"39021":20902,"39022":20903,"39026":20904,"39051":20905,"39054":20906,"39058":20907,"39061":20908,"39065":20909,"39075":20910,"39081":20911,"39082":20912,"39083":20913,"39084":20914,"39085":20915,"39088":20916,"39090":20917,"39092":20918,"39093":20919,"39095":20920,"39096":20921,"39097":20922,"39098":20923,"39099":20924,"39101":20925,"39102":20926,"39103":20927,"39104":20928,"39105":20929,"39106":20930,"39107":20931,"39109":20932,"39111":20933,"39113":20934,"39114":20935,"39115":20936,"39116":20937,"39117":20938,"39119":20939,"39120":20940,"39124":20941,"39126":20942,"39127":20943,"39132":20944,"39133":20945,"39137":20946,"39139":20947,"39140":20948,"39141":20949,"39142":20950,"39148":20951,"39150":20952,"39152":20953,"39153":20954,"39155":20955,"39157":20956,"39158":20957,"39159":20958,"39160":20959,"39161":20960,"39162":20961,"39163":20962,"39167":20963,"39168":20964,"39169":20965,"39170":20966,"39172":20967,"39174":20968,"39175":20969,"39176":20970,"39179":20971,"39182":20972,"39183":20973,"39188":20974,"39189":20975,"39190":20976,"39191":20977,"39193":20978,"39194":20979,"39196":20980,"39197":20981,"39199":20982,"39200":20983,"39202":20984,"39203":20985,"39204":20986,"39205":20987,"39206":20988,"39207":20989,"39209":20990,"39210":20991,"39211":20992,"39212":20993,"39213":20994,"39215":20995,"39216":20996,"39217":20997,"39218":20998,"39220":20999,"39221":21000,"39222":21001,"39224":21002,"39225":21003,"39226":21004,"39227":21005,"39229":21006,"39232":21007,"39233":21008,"39234":21009,"39236":21010,"39238":21011,"39239":21012,"39245":21013,"39246":21014,"39247":21015,"39248":21016,"39251":21017,"39254":21018,"39256":21019,"39257":21020,"39258":21021,"39259":21022,"39261":21023,"39263":21024,"39264":21025,"39265":21026,"39268":21027,"39270":21028,"39283":21029,"39288":21030,"39289":21031,"39291":21032,"39294":21033,"39298":21034,"39299":21035,"39305":21036,"39308":21037,"39310":21038,"39322":21039,"39323":21040,"39324":21041,"39325":21042,"39326":21043,"39327":21044,"39328":21045,"39329":21046,"39330":21047,"39331":21048,"39332":21049,"39334":21050,"39335":21051,"39337":21052,"39338":21053,"39339":21054,"39343":21055,"39344":21056,"39346":21057,"39349":21058,"39350":21059,"39351":21060,"39352":21061,"39353":21062,"39354":21063,"39355":21064,"39356":21065,"39357":21066,"39358":21067,"39359":21068,"39360":21069,"39362":21070,"39363":21071,"39364":21072,"39365":21073,"39366":21074,"39367":21075,"39368":21076,"39369":21077,"39370":21078,"39371":21079,"39372":21080,"39373":21081,"39374":21082,"39375":21083,"39379":21084,"39382":21085,"39383":21086,"39386":21087,"39388":21088,"39390":21089,"39392":21090,"39395":21091,"39396":21092,"39397":21093,"39398":21094,"39399":21095,"39400":21096,"39401":21097,"39402":21098,"39403":21099,"39404":21100,"39406":21101,"39407":21102,"39408":21103,"39410":21104,"39411":21105,"39412":21106,"39413":21107,"39414":21108,"39415":21109,"39416":21110,"39417":21111,"39418":21112,"39419":21113,"39420":21114,"39421":21115,"39422":21116,"39424":21117,"39426":21118,"39427":21119,"39428":21120,"39430":21121,"39431":21122,"39432":21123,"39433":21124,"39434":21125,"39435":21126,"39436":21127,"39440":21128,"39441":21129,"39442":21130,"39443":21131,"39444":21132,"39445":21133,"39447":21134,"39448":21135,"39450":21136,"39451":21137,"39452":21138,"39453":21139,"39454":21140,"39455":21141,"39456":21142,"39457":21143,"39458":21144,"39459":21145,"39460":21146,"39461":21147,"39462":21148,"39463":21149,"39464":21150,"39465":21151,"39466":21152,"39468":21153,"39471":21154,"39473":21155,"39474":21156,"39475":21157,"39476":21158,"39477":21159,"39481":21160,"39482":21161,"39483":21162,"39484":21163,"39485":21164,"39487":21165,"39494":21166,"39495":21167,"39496":21168,"39497":21169,"39499":21170,"39500":21171,"39502":21172,"39504":21173,"39505":21174,"39506":21175,"39507":21176,"39508":21177,"39510":21178,"39512":21179,"39513":21180,"39516":21181,"39517":21182,"39518":21183,"39520":21184,"39521":21185,"39523":21186,"39526":21187,"39527":21188,"39528":21189,"39529":21190,"39531":21191,"39538":21192,"39555":21193,"39561":21194,"39565":21195,"39566":21196,"39572":21197,"39573":21198,"39577":21199,"39590":21200,"39593":21201,"39594":21202,"39595":21203,"39596":21204,"39597":21205,"39598":21206,"39602":21207,"39603":21208,"39604":21209,"39605":21210,"39609":21211,"39611":21212,"39613":21213,"39614":21214,"39615":21215,"39619":21216,"39620":21217,"39622":21218,"39623":21219,"39624":21220,"39625":21221,"39626":21222,"39629":21223,"39630":21224,"39632":21225,"39639":21226,"39641":21227,"39642":21228,"39643":21229,"39644":21230,"39645":21231,"39646":21232,"39648":21233,"39650":21234,"39651":21235,"39652":21236,"39653":21237,"39655":21238,"39656":21239,"39657":21240,"39658":21241,"39660":21242,"39664":21243,"39665":21244,"39666":21245,"39667":21246,"39668":21247,"39669":21248,"39670":21249,"39671":21250,"39672":21251,"39674":21252,"39676":21253,"39677":21254,"39678":21255,"39679":21256,"39680":21257,"39681":21258,"39682":21259,"39684":21260,"39685":21261,"39687":21262,"39689":21263,"39690":21264,"39691":21265,"39692":21266,"39694":21267,"39696":21268,"39697":21269,"39698":21270,"39700":21271,"39701":21272,"39702":21273,"39703":21274,"39704":21275,"39705":21276,"39707":21277,"39708":21278,"39709":21279,"39710":21280,"39712":21281,"39713":21282,"39716":21283,"39718":21284,"39720":21285,"39722":21286,"39723":21287,"39724":21288,"39725":21289,"39728":21290,"39731":21291,"39732":21292,"39733":21293,"39734":21294,"39735":21295,"39736":21296,"39737":21297,"39738":21298,"39741":21299,"39742":21300,"39743":21301,"39744":21302,"39750":21303,"39754":21304,"39755":21305,"39756":21306,"39760":21307,"39762":21308,"39763":21309,"39765":21310,"39766":21311,"39767":21312,"39769":21313,"39771":21314,"39772":21315,"39773":21316,"39774":21317,"39775":21318,"39776":21319,"39777":21320,"39778":21321,"39779":21322,"39780":21323,"39781":21324,"39782":21325,"39783":21326,"39784":21327,"39785":21328,"39786":21329,"39787":21330,"39788":21331,"39789":21332,"39790":21333,"39792":21334,"39793":21335,"39794":21336,"39795":21337,"39797":21338,"39798":21339,"39800":21340,"39801":21341,"39802":21342,"39803":21343,"39804":21344,"39805":21345,"39806":21346,"39807":21347,"39808":21348,"39810":21349,"39812":21350,"39813":21351,"39814":21352,"39815":21353,"39816":21354,"39817":21355,"39818":21356,"39819":21357,"39820":21358,"39821":21359,"39823":21360,"39827":21361,"39828":21362,"39829":21363,"39830":21364,"39831":21365,"39832":21366,"39833":21367,"39835":21368,"39836":21369,"39839":21370,"39840":21371,"39841":21372,"39842":21373,"39843":21374,"39844":21375,"39845":21376,"39846":21377,"39847":21378,"39848":21379,"39849":21380,"39852":21381,"39855":21382,"39856":21383,"39857":21384,"39858":21385,"39859":21386,"39860":21387,"39861":21388,"39862":21389,"39863":21390,"39864":21391,"39865":21392,"39866":21393,"39867":21394,"39868":21395,"39869":21396,"39870":21397,"39871":21398,"39874":21399,"39875":21400,"39876":21401,"39877":21402,"39878":21403,"39880":21404,"39883":21405,"39884":21406,"39885":21407,"39886":21408,"39887":21409,"39888":21410,"39889":21411,"39890":21412,"39891":21413,"39893":21414,"39895":21415,"39896":21416,"39897":21417,"39898":21418,"39900":21419,"39902":21420,"39903":21421,"39904":21422,"39907":21423,"39909":21424,"39910":21425,"39913":21426,"39916":21427,"39917":21428,"39918":21429,"39919":21430,"39921":21431,"39922":21432,"39923":21433,"39925":21434,"39926":21435,"39927":21436,"39928":21437,"39929":21438,"39930":21439,"39931":21440,"39932":21441,"39934":21442,"39936":21443,"39937":21444,"39938":21445,"39939":21446,"39940":21447,"39941":21448,"39942":21449,"39943":21450,"39946":21451,"39947":21452,"39948":21453,"39950":21454,"39951":21455,"39953":21456,"39956":21457,"39957":21458,"39958":21459,"39959":21460,"39960":21461,"39961":21462,"39962":21463,"39963":21464,"39964":21465,"39965":21466,"39966":21467,"39967":21468,"39969":21469,"39970":21470,"39972":21471,"39974":21472,"39975":21473,"39978":21474,"39979":21475,"39980":21476,"39982":21477,"39983":21478,"39984":21479,"39988":21480,"39990":21481,"39992":21482,"39994":21483,"39996":21484,"39997":21485,"39999":21486,"40000":21487,"40001":21488,"40002":21489,"40003":21490,"40004":21491,"40006":21492,"40007":21493,"40010":21494,"40011":21495,"40012":21496,"40013":21497,"40014":21498,"40015":21499,"40016":21500,"40017":21501,"40019":21502,"40021":21503,"40025":21504,"40026":21505,"40027":21506,"40028":21507,"40030":21508,"40032":21509,"40033":21510,"40034":21511,"40035":21512,"40036":21513,"40037":21514,"40038":21515,"40040":21516,"40041":21517,"40042":21518,"40043":21519,"40044":21520,"40046":21521,"40047":21522,"40048":21523,"40049":21524,"40050":21525,"40051":21526,"40052":21527,"40053":21528,"40054":21529,"40055":21530,"40057":21531,"40059":21532,"40061":21533,"40062":21534,"40064":21535,"40067":21536,"40068":21537,"40073":21538,"40074":21539,"40076":21540,"40079":21541,"40083":21542,"40086":21543,"40087":21544,"40088":21545,"40089":21546,"40093":21547,"40106":21548,"40108":21549,"40111":21550,"40121":21551,"40126":21552,"40127":21553,"40128":21554,"40129":21555,"40130":21556,"40136":21557,"40137":21558,"40145":21559,"40146":21560,"40154":21561,"40155":21562,"40160":21563,"40161":21564,"40163":21565,"40164":21566,"40166":21567,"40167":21568,"40168":21569,"40170":21570,"40171":21571,"40173":21572,"40174":21573,"40175":21574,"40176":21575,"40177":21576,"40178":21577,"40181":21578,"40183":21579,"40184":21580,"40185":21581,"40186":21582,"40187":21583,"40188":21584,"40189":21585,"40190":21586,"40191":21587,"40192":21588,"40193":21589,"40194":21590,"40195":21591,"40196":21592,"40197":21593,"40200":21594,"40202":21595,"40203":21596,"40204":21597,"40205":21598,"40206":21599,"40207":21600,"40208":21601,"40209":21602,"40210":21603,"40211":21604,"40212":21605,"40214":21606,"40215":21607,"40216":21608,"40217":21609,"40218":21610,"40220":21611,"40222":21612,"40224":21613,"40225":21614,"40226":21615,"40228":21616,"40229":21617,"40231":21618,"40233":21619,"40234":21620,"40235":21621,"40236":21622,"40237":21623,"40238":21624,"40241":21625,"40242":21626,"40243":21627,"40244":21628,"40245":21629,"40246":21630,"40247":21631,"40248":21632,"40249":21633,"40250":21634,"40252":21635,"40253":21636,"40254":21637,"40256":21638,"40257":21639,"40259":21640,"40260":21641,"40261":21642,"40262":21643,"40263":21644,"40264":21645,"40265":21646,"40266":21647,"40267":21648,"40268":21649,"40269":21650,"40270":21651,"40271":21652,"40272":21653,"40276":21654,"40277":21655,"40278":21656,"40279":21657,"40280":21658,"40281":21659,"40282":21660,"40283":21661,"40286":21662,"40287":21663,"40290":21664,"40291":21665,"40292":21666,"40293":21667,"40294":21668,"40295":21669,"40296":21670,"40297":21671,"40299":21672,"40301":21673,"40302":21674,"40304":21675,"40305":21676,"40307":21677,"40308":21678,"40309":21679,"40310":21680,"40311":21681,"40312":21682,"40313":21683,"40314":21684,"40315":21685,"40316":21686,"40317":21687,"40318":21688,"40319":21689,"40320":21690,"40321":21691,"40322":21692,"40323":21693,"40324":21694,"40325":21695,"40326":21696,"40328":21697,"40330":21698,"40331":21699,"40332":21700,"40333":21701,"40334":21702,"40335":21703,"40336":21704,"40337":21705,"40338":21706,"40340":21707,"40341":21708,"40342":21709,"40343":21710,"40345":21711,"40347":21712,"40348":21713,"40349":21714,"40350":21715,"40351":21716,"40352":21717,"40353":21718,"40354":21719,"40355":21720,"40356":21721,"40358":21722,"40359":21723,"40360":21724,"40362":21725,"40363":21726,"40364":21727,"40365":21728,"40366":21729,"40368":21730,"40369":21731,"40370":21732,"40371":21733,"40373":21734,"40374":21735,"40375":21736,"40376":21737,"40377":21738,"40378":21739,"40381":21740,"40382":21741,"40383":21742,"40385":21743,"40387":21744,"40389":21745,"40390":21746,"40391":21747,"40392":21748,"40393":21749,"40394":21750,"40395":21751,"40396":21752,"40397":21753,"40398":21754,"40399":21755,"40400":21756,"40401":21757,"40402":21758,"40404":21759,"40405":21760,"40406":21761,"40408":21762,"40411":21763,"40412":21764,"40413":21765,"40414":21766,"40415":21767,"40416":21768,"40417":21769,"40418":21770,"40419":21771,"40420":21772,"40423":21773,"40424":21774,"40425":21775,"40426":21776,"40427":21777,"40428":21778,"40429":21779,"40430":21780,"40432":21781,"40433":21782,"40436":21783,"40437":21784,"40438":21785,"40439":21786,"40443":21787,"40444":21788,"40445":21789,"40446":21790,"40447":21791,"40448":21792,"40449":21793,"40450":21794,"40451":21795,"40452":21796,"40453":21797,"40454":21798,"40455":21799,"40456":21800,"40457":21801,"40458":21802,"40459":21803,"40461":21804,"40462":21805,"40463":21806,"40464":21807,"40465":21808,"40466":21809,"40467":21810,"40468":21811,"40470":21812,"40471":21813,"40472":21814,"40473":21815,"40476":21816,"40484":21817,"40487":21818,"40494":21819,"40496":21820,"40500":21821,"40507":21822,"40508":21823,"40512":21824,"40525":21825,"40528":21826,"40530":21827,"40531":21828,"40532":21829,"40534":21830,"40537":21831,"40541":21832,"40543":21833,"40544":21834,"40545":21835,"40546":21836,"40549":21837,"40558":21838,"40559":21839,"40562":21840,"40564":21841,"40566":21842,"40567":21843,"40568":21844,"40571":21845,"40576":21846,"40577":21847,"40579":21848,"40580":21849,"40581":21850,"40582":21851,"40585":21852,"40586":21853,"40588":21854,"40589":21855,"40590":21856,"40591":21857,"40592":21858,"40593":21859,"40596":21860,"40597":21861,"40598":21862,"40600":21863,"40601":21864,"40602":21865,"40603":21866,"40604":21867,"40606":21868,"40608":21869,"40609":21870,"40610":21871,"40611":21872,"40612":21873,"40615":21874,"40616":21875,"40618":21876,"40619":21877,"40620":21878,"40621":21879,"40622":21880,"40624":21881,"40625":21882,"40626":21883,"40627":21884,"40630":21885,"40631":21886,"40633":21887,"40634":21888,"40636":21889,"40639":21890,"40640":21891,"40641":21892,"40642":21893,"12232":21894,"40643":21894,"40645":21895,"40646":21896,"40647":21897,"40648":21898,"40650":21899,"40651":21900,"40656":21901,"40658":21902,"40659":21903,"40661":21904,"40662":21905,"40663":21906,"40665":21907,"40666":21908,"40673":21909,"40675":21910,"40676":21911,"40678":21912,"40683":21913,"40684":21914,"40685":21915,"40686":21916,"40688":21917,"40689":21918,"40691":21919,"40693":21920,"40694":21921,"40696":21922,"40698":21923,"40704":21924,"40705":21925,"40706":21926,"40707":21927,"40708":21928,"40709":21929,"40710":21930,"40711":21931,"40712":21932,"40714":21933,"40716":21934,"40719":21935,"40721":21936,"40722":21937,"40724":21938,"40726":21939,"40728":21940,"40730":21941,"40731":21942,"40732":21943,"40733":21944,"40734":21945,"40735":21946,"40737":21947,"40739":21948,"40740":21949,"40741":21950,"40742":21951,"40743":21952,"40744":21953,"40745":21954,"40746":21955,"40747":21956,"40749":21957,"40750":21958,"40752":21959,"40753":21960,"40754":21961,"40755":21962,"40756":21963,"40757":21964,"40758":21965,"40760":21966,"40762":21967,"40764":21968,"40767":21969,"40768":21970,"40769":21971,"40770":21972,"40771":21973,"40773":21974,"40774":21975,"40775":21976,"40776":21977,"40777":21978,"40780":21979,"40781":21980,"40782":21981,"40787":21982,"40789":21983,"40790":21984,"40791":21985,"40792":21986,"40794":21987,"40795":21988,"40797":21989,"40798":21990,"40802":21991,"40804":21992,"40805":21993,"40807":21994,"40808":21995,"40809":21996,"40811":21997,"40813":21998,"40814":21999,"40815":22000,"40816":22001,"40817":22002,"40819":22003,"40820":22004,"40821":22005,"40822":22006,"40824":22007,"40825":22008,"40826":22009,"40827":22010,"40828":22011,"40829":22012,"40830":22013,"40833":22014,"40834":22015,"40846":22016,"40847":22017,"40849":22018,"40850":22019,"40851":22020,"40854":22021,"40855":22022,"40856":22023,"40861":22024,"40862":22025,"40865":22026,"40866":22027,"40867":22028,"40868":22029,"40869":22030,"63788":22031,"64013":22032,"64014":22033,"64015":22034,"64017":22035,"64019":22036,"64020":22037,"64024":22038,"64031":22039,"64032":22040,"64033":22041,"64035":22042,"64036":22043,"64039":22044,"64040":22045,"64041":22046,"11905":22047,"59413":22047,"131207":22048,"59414":22048,"131209":22049,"59415":22049,"131276":22050,"59416":22050,"11908":22051,"59417":22051,"13427":22052,"59418":22052,"13383":22053,"59419":22053,"11912":22054,"59420":22054,"11915":22055,"59421":22055,"40884":22056,"59422":22056,"13726":22057,"59423":22057,"13850":22058,"59424":22058,"13838":22059,"59425":22059,"11916":22060,"59426":22060,"11927":22061,"59427":22061,"14702":22062,"59428":22062,"14616":22063,"59429":22063,"40885":22064,"59430":22064,"14799":22065,"59431":22065,"14815":22066,"59432":22066,"14963":22067,"59433":22067,"14800":22068,"59434":22068,"40886":22069,"59435":22069,"40887":22070,"59436":22070,"15182":22071,"59437":22071,"15470":22072,"59438":22072,"15584":22073,"59439":22073,"11943":22074,"59440":22074,"136663":22075,"59441":22075,"40888":22076,"59442":22076,"11946":22077,"59443":22077,"16470":22078,"59444":22078,"16735":22079,"59445":22079,"11950":22080,"59446":22080,"17207":22081,"59447":22081,"11955":22082,"59448":22082,"11958":22083,"59449":22083,"11959":22084,"59450":22084,"141711":22085,"59451":22085,"17329":22086,"59452":22086,"17324":22087,"59453":22087,"11963":22088,"59454":22088,"17373":22089,"59455":22089,"17622":22090,"59456":22090,"18017":22091,"59457":22091,"17996":22092,"59458":22092,"40889":22093,"132361":22093,"59459":22093,"18211":22094,"59460":22094,"18217":22095,"59461":22095,"18300":22096,"59462":22096,"18317":22097,"59463":22097,"11978":22098,"59464":22098,"18759":22099,"59465":22099,"18810":22100,"59466":22100,"18813":22101,"59467":22101,"18818":22102,"59468":22102,"18819":22103,"59469":22103,"18821":22104,"59470":22104,"18822":22105,"59471":22105,"18847":22106,"59472":22106,"18843":22107,"59473":22107,"18871":22108,"59474":22108,"18870":22109,"59475":22109,"40890":22110,"133533":22110,"59476":22110,"147966":22111,"59477":22111,"19619":22112,"59478":22112,"19615":22113,"59479":22113,"19616":22114,"59480":22114,"19617":22115,"59481":22115,"19575":22116,"59482":22116,"19618":22117,"59483":22117,"19731":22118,"59484":22118,"19732":22119,"59485":22119,"19733":22120,"59486":22120,"19734":22121,"59487":22121,"19735":22122,"59488":22122,"19736":22123,"59489":22123,"19737":22124,"59490":22124,"19886":22125,"59491":22125,"40891":22126,"59492":22126,"8364":22353,"59244":22353,"165":22354,"12351":22357,"12436":22375,"12535":22390,"12537":22391,"12536":22392,"12538":22393,"12339":22395,"12340":22396,"12341":22397,"12344":22398,"12345":22399,"12346":22400,"12586":22401,"12587":22402,"12588":22403,"12704":22404,"12705":22405,"12706":22406,"12707":22407,"12708":22408,"12709":22409,"12710":22410,"12711":22411,"12712":22412,"12713":22413,"12714":22414,"12715":22415,"12716":22416,"12717":22417,"12718":22418,"12719":22419,"12720":22420,"12721":22421,"12722":22422,"12723":22423,"12724":22424,"12725":22425,"12726":22426,"12727":22427,"11904":22428,"11906":22429,"11907":22430,"11909":22431,"11910":22432,"11911":22433,"11913":22434,"11914":22435,"11917":22436,"11918":22437,"11919":22438,"11920":22439,"11921":22440,"11922":22441,"11923":22442,"11924":22443,"11925":22444,"11926":22445,"11928":22446,"11929":22447,"11931":22448,"11932":22449,"11933":22450,"11934":22451,"11935":22452,"11936":22453,"11937":22454,"11938":22455,"11939":22456,"11940":22457,"11941":22458,"11942":22459,"11944":22460,"11945":22461,"11947":22462,"11948":22463,"11949":22464,"11951":22465,"11952":22466,"11953":22467,"11954":22468,"11956":22469,"11957":22470,"11960":22471,"11961":22472,"11962":22473,"11964":22474,"11965":22475,"11966":22476,"11967":22477,"11968":22478,"11969":22479,"11970":22480,"11971":22481,"11972":22482,"11973":22483,"11974":22484,"11975":22485,"11976":22486,"11977":22487,"11979":22488,"11980":22489,"11981":22490,"11982":22491,"11983":22492,"11984":22493,"11985":22494,"11986":22495,"11987":22496,"11988":22497,"11989":22498,"11990":22499,"11991":22500,"11992":22501,"11993":22502,"11994":22503,"11995":22504,"11996":22505,"11997":22506,"11998":22507,"11999":22508,"12000":22509,"12001":22510,"12002":22511,"12003":22512,"12004":22513,"12005":22514,"12006":22515,"12007":22516,"12008":22517,"12009":22518,"12010":22519,"12011":22520,"12012":22521,"12013":22522,"12014":22523,"12015":22524,"12016":22525,"12017":22526,"12018":22527,"12019":22528,"13312":22529,"13313":22530,"13314":22531,"13315":22532,"13316":22533,"13317":22534,"13318":22535,"13319":22536,"13320":22537,"13321":22538,"13322":22539,"13323":22540,"13324":22541,"13325":22542,"13326":22543,"13327":22544,"13328":22545,"13329":22546,"13330":22547,"13331":22548,"13332":22549,"13333":22550,"13334":22551,"13335":22552,"13336":22553,"13337":22554,"13338":22555,"13339":22556,"13340":22557,"13341":22558,"13342":22559,"13343":22560,"13344":22561,"13345":22562,"13346":22563,"13347":22564,"13348":22565,"13349":22566,"13350":22567,"13351":22568,"13352":22569,"13353":22570,"13354":22571,"13355":22572,"13356":22573,"13357":22574,"13358":22575,"13359":22576,"13360":22577,"13361":22578,"13362":22579,"13363":22580,"13364":22581,"13365":22582,"13366":22583,"13367":22584,"13368":22585,"13369":22586,"13370":22587,"13371":22588,"13372":22589,"13373":22590,"13374":22591,"13375":22592,"13376":22593,"13377":22594,"13378":22595,"13379":22596,"13380":22597,"13381":22598,"13382":22599,"13384":22600,"13385":22601,"13386":22602,"13387":22603,"13388":22604,"13389":22605,"13390":22606,"13391":22607,"13392":22608,"13393":22609,"13394":22610,"13395":22611,"13396":22612,"13397":22613,"13398":22614,"13399":22615,"13400":22616,"13401":22617,"13402":22618,"13403":22619,"13404":22620,"13405":22621,"13406":22622,"13407":22623,"13408":22624,"13409":22625,"13410":22626,"13411":22627,"13412":22628,"13413":22629,"13414":22630,"13415":22631,"13416":22632,"13417":22633,"13418":22634,"13419":22635,"13420":22636,"13421":22637,"13422":22638,"13423":22639,"13424":22640,"13425":22641,"13426":22642,"13428":22643,"13429":22644,"13430":22645,"13431":22646,"13432":22647,"13433":22648,"13434":22649,"13435":22650,"13436":22651,"13437":22652,"13438":22653,"13439":22654,"13440":22655,"13441":22656,"13442":22657,"13443":22658,"13444":22659,"13445":22660,"13446":22661,"13447":22662,"13448":22663,"13449":22664,"13450":22665,"13451":22666,"13452":22667,"13453":22668,"13454":22669,"13455":22670,"13456":22671,"13457":22672,"13458":22673,"13459":22674,"13460":22675,"13461":22676,"13462":22677,"13463":22678,"13464":22679,"13465":22680,"13466":22681,"13467":22682,"13468":22683,"13469":22684,"13470":22685,"13471":22686,"13472":22687,"13473":22688,"13474":22689,"13475":22690,"13476":22691,"13477":22692,"13478":22693,"13479":22694,"13480":22695,"13481":22696,"13482":22697,"13483":22698,"13484":22699,"13485":22700,"13486":22701,"13487":22702,"13488":22703,"13489":22704,"13490":22705,"13491":22706,"13492":22707,"13493":22708,"13494":22709,"13495":22710,"13496":22711,"13497":22712,"13498":22713,"13499":22714,"13500":22715,"13501":22716,"13502":22717,"13503":22718,"13504":22719,"13505":22720,"13506":22721,"13507":22722,"13508":22723,"13509":22724,"13510":22725,"13511":22726,"13512":22727,"13513":22728,"13514":22729,"13515":22730,"13516":22731,"13517":22732,"13518":22733,"13519":22734,"13520":22735,"13521":22736,"13522":22737,"13523":22738,"13524":22739,"13525":22740,"13526":22741,"13527":22742,"13528":22743,"13529":22744,"13530":22745,"13531":22746,"13532":22747,"13533":22748,"13534":22749,"13535":22750,"13536":22751,"13537":22752,"13538":22753,"13539":22754,"13540":22755,"13541":22756,"13542":22757,"13543":22758,"13544":22759,"13545":22760,"13546":22761,"13547":22762,"13548":22763,"13549":22764,"13550":22765,"13551":22766,"13552":22767,"13553":22768,"13554":22769,"13555":22770,"13556":22771,"13557":22772,"13558":22773,"13559":22774,"13560":22775,"13561":22776,"13562":22777,"13563":22778,"13564":22779,"13565":22780,"13566":22781,"13567":22782,"13568":22783,"13569":22784,"13570":22785,"13571":22786,"13572":22787,"13573":22788,"13574":22789,"13575":22790,"13576":22791,"13577":22792,"13578":22793,"13579":22794,"13580":22795,"13581":22796,"13582":22797,"13583":22798,"13584":22799,"13585":22800,"13586":22801,"13587":22802,"13588":22803,"13589":22804,"13590":22805,"13591":22806,"13592":22807,"13593":22808,"13594":22809,"13595":22810,"13596":22811,"13597":22812,"13598":22813,"13599":22814,"13600":22815,"13601":22816,"13602":22817,"13603":22818,"13604":22819,"13605":22820,"13606":22821,"13607":22822,"13608":22823,"13609":22824,"13610":22825,"13611":22826,"13612":22827,"13613":22828,"13614":22829,"13615":22830,"13616":22831,"13617":22832,"13618":22833,"13619":22834,"13620":22835,"13621":22836,"13622":22837,"13623":22838,"13624":22839,"13625":22840,"13626":22841,"13627":22842,"13628":22843,"13629":22844,"13630":22845,"13631":22846,"13632":22847,"13633":22848,"13634":22849,"13635":22850,"13636":22851,"13637":22852,"13638":22853,"13639":22854,"13640":22855,"13641":22856,"13642":22857,"13643":22858,"13644":22859,"13645":22860,"13646":22861,"13647":22862,"13648":22863,"13649":22864,"13650":22865,"13651":22866,"13652":22867,"13653":22868,"13654":22869,"13655":22870,"13656":22871,"13657":22872,"13658":22873,"13659":22874,"13660":22875,"13661":22876,"13662":22877,"13663":22878,"13664":22879,"13665":22880,"13666":22881,"13667":22882,"13668":22883,"13669":22884,"13670":22885,"13671":22886,"13672":22887,"13673":22888,"13674":22889,"13675":22890,"13676":22891,"13677":22892,"13678":22893,"13679":22894,"13680":22895,"13681":22896,"13682":22897,"13683":22898,"13684":22899,"13685":22900,"13686":22901,"13687":22902,"13688":22903,"13689":22904,"13690":22905,"13691":22906,"13692":22907,"13693":22908,"13694":22909,"13695":22910,"13696":22911,"13697":22912,"13698":22913,"13699":22914,"13700":22915,"13701":22916,"13702":22917,"13703":22918,"13704":22919,"13705":22920,"13706":22921,"13707":22922,"13708":22923,"13709":22924,"13710":22925,"13711":22926,"13712":22927,"13713":22928,"13714":22929,"13715":22930,"13716":22931,"13717":22932,"13718":22933,"13719":22934,"13720":22935,"13721":22936,"13722":22937,"13723":22938,"13724":22939,"13725":22940,"13727":22941,"13728":22942,"13729":22943,"13730":22944,"13731":22945,"13732":22946,"13733":22947,"13734":22948,"13735":22949,"13736":22950,"13737":22951,"13738":22952,"13739":22953,"13740":22954,"13741":22955,"13742":22956,"13743":22957,"13744":22958,"13745":22959,"13746":22960,"13747":22961,"13748":22962,"13749":22963,"13750":22964,"13751":22965,"13752":22966,"13753":22967,"13754":22968,"13755":22969,"13756":22970,"13757":22971,"13758":22972,"13759":22973,"13760":22974,"13761":22975,"13762":22976,"13763":22977,"13764":22978,"13765":22979,"13766":22980,"13767":22981,"13768":22982,"13769":22983,"13770":22984,"13771":22985,"13772":22986,"13773":22987,"13774":22988,"13775":22989,"13776":22990,"13777":22991,"13778":22992,"13779":22993,"13780":22994,"13781":22995,"13782":22996,"13783":22997,"13784":22998,"13785":22999,"13786":23000,"13787":23001,"13788":23002,"13789":23003,"13790":23004,"13791":23005,"13792":23006,"13793":23007,"13794":23008,"13795":23009,"13796":23010,"13797":23011,"13798":23012,"13799":23013,"13800":23014,"13801":23015,"13802":23016,"13803":23017,"13804":23018,"13805":23019,"13806":23020,"13807":23021,"13808":23022,"13809":23023,"13810":23024,"13811":23025,"13812":23026,"13813":23027,"13814":23028,"13815":23029,"13816":23030,"13817":23031,"13818":23032,"13819":23033,"13820":23034,"13821":23035,"13822":23036,"13823":23037,"13824":23038,"13825":23039,"13826":23040,"13827":23041,"13828":23042,"13829":23043,"13830":23044,"13831":23045,"13832":23046,"13833":23047,"13834":23048,"13835":23049,"13836":23050,"13837":23051,"13839":23052,"13840":23053,"13841":23054,"13842":23055,"13843":23056,"13844":23057,"13845":23058,"13846":23059,"13847":23060,"13848":23061,"13849":23062,"13851":23063,"13852":23064,"13853":23065,"13854":23066,"13855":23067,"13856":23068,"13857":23069,"13858":23070,"13859":23071,"13860":23072,"13861":23073,"13862":23074,"13863":23075,"13864":23076,"13865":23077,"13866":23078,"13867":23079,"13868":23080,"13869":23081,"13870":23082,"13871":23083,"13872":23084,"13873":23085,"13874":23086,"13875":23087,"13876":23088,"13877":23089,"13878":23090,"13879":23091,"13880":23092,"13881":23093,"13882":23094,"13883":23095,"13884":23096,"13885":23097,"13886":23098,"13887":23099,"13888":23100,"13889":23101,"13890":23102,"13891":23103,"13892":23104,"13893":23105,"13894":23106,"13895":23107,"13896":23108,"13897":23109,"13898":23110,"13899":23111,"13900":23112,"13901":23113,"13902":23114,"13903":23115,"13904":23116,"13905":23117,"13906":23118,"13907":23119,"13908":23120,"13909":23121,"13910":23122,"13911":23123,"13912":23124,"13913":23125,"13914":23126,"13915":23127,"13916":23128,"13917":23129,"13918":23130,"13919":23131,"13920":23132,"13921":23133,"13922":23134,"13923":23135,"13924":23136,"13925":23137,"13926":23138,"13927":23139,"13928":23140,"13929":23141,"13930":23142,"13931":23143,"13932":23144,"13933":23145,"13934":23146,"13935":23147,"13936":23148,"13937":23149,"13938":23150,"13939":23151,"13940":23152,"13941":23153,"13942":23154,"13943":23155,"13944":23156,"13945":23157,"13946":23158,"13947":23159,"13948":23160,"13949":23161,"13950":23162,"13951":23163,"13952":23164,"13953":23165,"13954":23166,"13955":23167,"13956":23168,"13957":23169,"13958":23170,"13959":23171,"13960":23172,"13961":23173,"13962":23174,"13963":23175,"13964":23176,"13965":23177,"13966":23178,"13967":23179,"13968":23180,"13969":23181,"13970":23182,"13971":23183,"13972":23184,"13973":23185,"13974":23186,"13975":23187,"13976":23188,"13977":23189,"13978":23190,"13979":23191,"13980":23192,"13981":23193,"13982":23194,"13983":23195,"13984":23196,"13985":23197,"13986":23198,"13987":23199,"13988":23200,"13989":23201,"13990":23202,"13991":23203,"13992":23204,"13993":23205,"13994":23206,"13995":23207,"13996":23208,"13997":23209,"13998":23210,"13999":23211,"14000":23212,"14001":23213,"14002":23214,"14003":23215,"14004":23216,"14005":23217,"14006":23218,"14007":23219,"14008":23220,"14009":23221,"14010":23222,"14011":23223,"14012":23224,"14013":23225,"14014":23226,"14015":23227,"14016":23228,"14017":23229,"14018":23230,"14019":23231,"14020":23232,"14021":23233,"14022":23234,"14023":23235,"14024":23236,"14025":23237,"14026":23238,"14027":23239,"14028":23240,"14029":23241,"14030":23242,"14031":23243,"14032":23244,"14033":23245,"14034":23246,"14035":23247,"14036":23248,"14037":23249,"14038":23250,"14039":23251,"14040":23252,"14041":23253,"14042":23254,"14043":23255,"14044":23256,"14045":23257,"14046":23258,"14047":23259,"14048":23260,"14049":23261,"14050":23262,"14051":23263,"14052":23264,"14053":23265,"14054":23266,"14055":23267,"14056":23268,"14057":23269,"14058":23270,"14059":23271,"14060":23272,"14061":23273,"14062":23274,"14063":23275,"14064":23276,"14065":23277,"14066":23278,"14067":23279,"14068":23280,"14069":23281,"14070":23282,"14071":23283,"14072":23284,"14073":23285,"14074":23286,"14075":23287,"14076":23288,"14077":23289,"14078":23290,"14079":23291,"14080":23292,"14081":23293,"14082":23294,"14083":23295,"14084":23296,"14085":23297,"14086":23298,"14087":23299,"14088":23300,"14089":23301,"14090":23302,"14091":23303,"14092":23304,"14093":23305,"14094":23306,"14095":23307,"14096":23308,"14097":23309,"14098":23310,"14099":23311,"14100":23312,"14101":23313,"14102":23314,"14103":23315,"14104":23316,"14105":23317,"14106":23318,"14107":23319,"14108":23320,"14109":23321,"14110":23322,"14111":23323,"14112":23324,"14113":23325,"14114":23326,"14115":23327,"14116":23328,"14117":23329,"14118":23330,"14119":23331,"14120":23332,"14121":23333,"14122":23334,"14123":23335,"14124":23336,"14125":23337,"14126":23338,"14127":23339,"14128":23340,"14129":23341,"14130":23342,"14131":23343,"14132":23344,"14133":23345,"14134":23346,"14135":23347,"14136":23348,"14137":23349,"14138":23350,"14139":23351,"14140":23352,"14141":23353,"14142":23354,"14143":23355,"14144":23356,"14145":23357,"14146":23358,"14147":23359,"14148":23360,"14149":23361,"14150":23362,"14151":23363,"14152":23364,"14153":23365,"14154":23366,"14155":23367,"14156":23368,"14157":23369,"14158":23370,"14159":23371,"14160":23372,"14161":23373,"14162":23374,"14163":23375,"14164":23376,"14165":23377,"14166":23378,"14167":23379,"14168":23380,"14169":23381,"14170":23382,"14171":23383,"14172":23384,"14173":23385,"14174":23386,"14175":23387,"14176":23388,"14177":23389,"14178":23390,"14179":23391,"14180":23392,"14181":23393,"14182":23394,"14183":23395,"14184":23396,"14185":23397,"14186":23398,"14187":23399,"14188":23400,"14189":23401,"14190":23402,"14191":23403,"14192":23404,"14193":23405,"14194":23406,"14195":23407,"14196":23408,"14197":23409,"14198":23410,"14199":23411,"14200":23412,"14201":23413,"14202":23414,"14203":23415,"14204":23416,"14205":23417,"14206":23418,"14207":23419,"14208":23420,"14209":23421,"14210":23422,"14211":23423,"14212":23424,"14213":23425,"14214":23426,"14215":23427,"14216":23428,"14217":23429,"14218":23430,"14219":23431,"14220":23432,"14221":23433,"14222":23434,"14223":23435,"14224":23436,"14225":23437,"14226":23438,"14227":23439,"14228":23440,"14229":23441,"14230":23442,"14231":23443,"14232":23444,"14233":23445,"14234":23446,"14235":23447,"14236":23448,"14237":23449,"14238":23450,"14239":23451,"14240":23452,"14241":23453,"14242":23454,"14243":23455,"14244":23456,"14245":23457,"14246":23458,"14247":23459,"14248":23460,"14249":23461,"14250":23462,"14251":23463,"14252":23464,"14253":23465,"14254":23466,"14255":23467,"14256":23468,"14257":23469,"14258":23470,"14259":23471,"14260":23472,"14261":23473,"14262":23474,"14263":23475,"14264":23476,"14265":23477,"14266":23478,"14267":23479,"14268":23480,"14269":23481,"14270":23482,"14271":23483,"14272":23484,"14273":23485,"14274":23486,"14275":23487,"14276":23488,"14277":23489,"14278":23490,"14279":23491,"14280":23492,"14281":23493,"14282":23494,"14283":23495,"14284":23496,"14285":23497,"14286":23498,"14287":23499,"14288":23500,"14289":23501,"14290":23502,"14291":23503,"14292":23504,"14293":23505,"14294":23506,"14295":23507,"14296":23508,"14297":23509,"14298":23510,"14299":23511,"14300":23512,"14301":23513,"14302":23514,"14303":23515,"14304":23516,"14305":23517,"14306":23518,"14307":23519,"14308":23520,"14309":23521,"14310":23522,"14311":23523,"14312":23524,"14313":23525,"14314":23526,"14315":23527,"14316":23528,"14317":23529,"14318":23530,"14319":23531,"14320":23532,"14321":23533,"14322":23534,"14323":23535,"14324":23536,"14325":23537,"14326":23538,"14327":23539,"14328":23540,"14329":23541,"14330":23542,"14331":23543,"14332":23544,"14333":23545,"14334":23546,"14335":23547,"14336":23548,"14337":23549,"14338":23550,"14339":23551,"14340":23552,"14341":23553,"14342":23554,"14343":23555,"14344":23556,"14345":23557,"14346":23558,"14347":23559,"14348":23560,"14349":23561,"14350":23562,"14351":23563,"14352":23564,"14353":23565,"14354":23566,"14355":23567,"14356":23568,"14357":23569,"14358":23570,"14359":23571,"14360":23572,"14361":23573,"14362":23574,"14363":23575,"14364":23576,"14365":23577,"14366":23578,"14367":23579,"14368":23580,"14369":23581,"14370":23582,"14371":23583,"14372":23584,"14373":23585,"14374":23586,"14375":23587,"14376":23588,"14377":23589,"14378":23590,"14379":23591,"14380":23592,"14381":23593,"14382":23594,"14383":23595,"14384":23596,"14385":23597,"14386":23598,"14387":23599,"14388":23600,"14389":23601,"14390":23602,"14391":23603,"14392":23604,"14393":23605,"14394":23606,"14395":23607,"14396":23608,"14397":23609,"14398":23610,"14399":23611,"14400":23612,"14401":23613,"14402":23614,"14403":23615,"14404":23616,"14405":23617,"14406":23618,"14407":23619,"14408":23620,"14409":23621,"14410":23622,"14411":23623,"14412":23624,"14413":23625,"14414":23626,"14415":23627,"14416":23628,"14417":23629,"14418":23630,"14419":23631,"14420":23632,"14421":23633,"14422":23634,"14423":23635,"14424":23636,"14425":23637,"14426":23638,"14427":23639,"14428":23640,"14429":23641,"14430":23642,"14431":23643,"14432":23644,"14433":23645,"14434":23646,"14435":23647,"14436":23648,"14437":23649,"14438":23650,"14439":23651,"14440":23652,"14441":23653,"14442":23654,"14443":23655,"14444":23656,"14445":23657,"14446":23658,"14447":23659,"14448":23660,"14449":23661,"14450":23662,"14451":23663,"14452":23664,"14453":23665,"14454":23666,"14455":23667,"14456":23668,"14457":23669,"14458":23670,"14459":23671,"14460":23672,"14461":23673,"14462":23674,"14463":23675,"14464":23676,"14465":23677,"14466":23678,"14467":23679,"14468":23680,"14469":23681,"14470":23682,"14471":23683,"14472":23684,"14473":23685,"14474":23686,"14475":23687,"14476":23688,"14477":23689,"14478":23690,"14479":23691,"14480":23692,"14481":23693,"14482":23694,"14483":23695,"14484":23696,"14485":23697,"14486":23698,"14487":23699,"14488":23700,"14489":23701,"14490":23702,"14491":23703,"14492":23704,"14493":23705,"14494":23706,"14495":23707,"14496":23708,"14497":23709,"14498":23710,"14499":23711,"14500":23712,"14501":23713,"14502":23714,"14503":23715,"14504":23716,"14505":23717,"14506":23718,"14507":23719,"14508":23720,"14509":23721,"14510":23722,"14511":23723,"14512":23724,"14513":23725,"14514":23726,"14515":23727,"14516":23728,"14517":23729,"14518":23730,"14519":23731,"14520":23732,"14521":23733,"14522":23734,"14523":23735,"14524":23736,"14525":23737,"14526":23738,"14527":23739,"14528":23740,"14529":23741,"14530":23742,"14531":23743,"14532":23744,"14533":23745,"14534":23746,"14535":23747,"14536":23748,"14537":23749,"14538":23750,"14539":23751,"14540":23752,"14541":23753,"14542":23754,"14543":23755,"14544":23756,"14545":23757,"14546":23758,"14547":23759,"14548":23760,"14549":23761,"14550":23762,"14551":23763,"14552":23764,"14553":23765,"14554":23766,"14555":23767,"14556":23768,"14557":23769,"14558":23770,"14559":23771,"14560":23772,"14561":23773,"14562":23774,"14563":23775,"14564":23776,"14565":23777,"14566":23778,"14567":23779,"14568":23780,"14569":23781,"14570":23782,"14571":23783,"14572":23784,"14573":23785,"14574":23786,"14575":23787,"14576":23788,"14577":23789,"14578":23790,"14579":23791,"14580":23792,"14581":23793,"14582":23794,"14583":23795,"14584":23796,"14585":23797,"14586":23798,"14587":23799,"14588":23800,"14589":23801,"14590":23802,"14591":23803,"14592":23804,"14593":23805,"14594":23806,"14595":23807,"14596":23808,"14597":23809,"14598":23810,"14599":23811,"14600":23812,"14601":23813,"14602":23814,"14603":23815,"14604":23816,"14605":23817,"14606":23818,"14607":23819,"14608":23820,"14609":23821,"14610":23822,"14611":23823,"14612":23824,"14613":23825,"14614":23826,"14615":23827,"14617":23828,"14618":23829,"14619":23830,"14620":23831,"14621":23832,"14622":23833,"14623":23834,"14624":23835,"14625":23836,"14626":23837,"14627":23838,"14628":23839,"14629":23840,"14630":23841,"14631":23842,"14632":23843,"14633":23844,"14634":23845,"14635":23846,"14636":23847,"14637":23848,"14638":23849,"14639":23850,"14640":23851,"14641":23852,"14642":23853,"14643":23854,"14644":23855,"14645":23856,"14646":23857,"14647":23858,"14648":23859,"14649":23860,"14650":23861,"14651":23862,"14652":23863,"14653":23864,"14654":23865,"14655":23866,"14656":23867,"14657":23868,"14658":23869,"14659":23870,"14660":23871,"14661":23872,"14662":23873,"14663":23874,"14664":23875,"14665":23876,"14666":23877,"14667":23878,"14668":23879,"14669":23880,"14670":23881,"14671":23882,"14672":23883,"14673":23884,"14674":23885,"14675":23886,"14676":23887,"14677":23888,"14678":23889,"14679":23890,"14680":23891,"14681":23892,"14682":23893,"14683":23894,"14684":23895,"14685":23896,"14686":23897,"14687":23898,"14688":23899,"14689":23900,"14690":23901,"14691":23902,"14692":23903,"14693":23904,"14694":23905,"14695":23906,"14696":23907,"14697":23908,"14698":23909,"14699":23910,"14700":23911,"14701":23912,"14703":23913,"14704":23914,"14705":23915,"14706":23916,"14707":23917,"14708":23918,"14709":23919,"14710":23920,"14711":23921,"14712":23922,"14713":23923,"14714":23924,"14715":23925,"14716":23926,"14717":23927,"14718":23928,"14719":23929,"14720":23930,"14721":23931,"14722":23932,"14723":23933,"14724":23934,"14725":23935,"14726":23936,"14727":23937,"14728":23938,"14729":23939,"14730":23940,"14731":23941,"14732":23942,"14733":23943,"14734":23944,"14735":23945,"14736":23946,"14737":23947,"14738":23948,"14739":23949,"14740":23950,"14741":23951,"14742":23952,"14743":23953,"14744":23954,"14745":23955,"14746":23956,"14747":23957,"14748":23958,"14749":23959,"14750":23960,"14751":23961,"14752":23962,"14753":23963,"14754":23964,"14755":23965,"14756":23966,"14757":23967,"14758":23968,"14759":23969,"14760":23970,"14761":23971,"14762":23972,"14763":23973,"14764":23974,"14765":23975,"14766":23976,"14767":23977,"14768":23978,"14769":23979,"14770":23980,"14771":23981,"14772":23982,"14773":23983,"14774":23984,"14775":23985,"14776":23986,"14777":23987,"14778":23988,"14779":23989,"14780":23990,"14781":23991,"14782":23992,"14783":23993,"14784":23994,"14785":23995,"14786":23996,"14787":23997,"14788":23998,"14789":23999,"14790":24000,"14791":24001,"14792":24002,"14793":24003,"14794":24004,"14795":24005,"14796":24006,"14797":24007,"14798":24008,"14801":24009,"14802":24010,"14803":24011,"14804":24012,"14805":24013,"14806":24014,"14807":24015,"14808":24016,"14809":24017,"14810":24018,"14811":24019,"14812":24020,"14813":24021,"14814":24022,"14816":24023,"14817":24024,"14818":24025,"14819":24026,"14820":24027,"14821":24028,"14822":24029,"14823":24030,"14824":24031,"14825":24032,"14826":24033,"14827":24034,"14828":24035,"14829":24036,"14830":24037,"14831":24038,"14832":24039,"14833":24040,"14834":24041,"14835":24042,"14836":24043,"14837":24044,"14838":24045,"14839":24046,"14840":24047,"14841":24048,"14842":24049,"14843":24050,"14844":24051,"14845":24052,"14846":24053,"14847":24054,"14848":24055,"14849":24056,"14850":24057,"14851":24058,"14852":24059,"14853":24060,"14854":24061,"14855":24062,"14856":24063,"14857":24064,"14858":24065,"14859":24066,"14860":24067,"14861":24068,"14862":24069,"14863":24070,"14864":24071,"14865":24072,"14866":24073,"14867":24074,"14868":24075,"14869":24076,"14870":24077,"14871":24078,"14872":24079,"14873":24080,"14874":24081,"14875":24082,"14876":24083,"14877":24084,"14878":24085,"14879":24086,"14880":24087,"14881":24088,"14882":24089,"14883":24090,"14884":24091,"14885":24092,"14886":24093,"14887":24094,"14888":24095,"14889":24096,"14890":24097,"14891":24098,"14892":24099,"14893":24100,"14894":24101,"14895":24102,"14896":24103,"14897":24104,"14898":24105,"14899":24106,"14900":24107,"14901":24108,"14902":24109,"14903":24110,"14904":24111,"14905":24112,"14906":24113,"14907":24114,"14908":24115,"14909":24116,"14910":24117,"14911":24118,"14912":24119,"14913":24120,"14914":24121,"14915":24122,"14916":24123,"14917":24124,"14918":24125,"14919":24126,"14920":24127,"14921":24128,"14922":24129,"14923":24130,"14924":24131,"14925":24132,"14926":24133,"14927":24134,"14928":24135,"14929":24136,"14930":24137,"14931":24138,"14932":24139,"14933":24140,"14934":24141,"14935":24142,"14936":24143,"14937":24144,"14938":24145,"14939":24146,"14940":24147,"14941":24148,"14942":24149,"14943":24150,"14944":24151,"14945":24152,"14946":24153,"14947":24154,"14948":24155,"14949":24156,"14950":24157,"14951":24158,"14952":24159,"14953":24160,"14954":24161,"14955":24162,"14956":24163,"14957":24164,"14958":24165,"14959":24166,"14960":24167,"14961":24168,"14962":24169,"14964":24170,"14965":24171,"14966":24172,"14967":24173,"14968":24174,"14969":24175,"14970":24176,"14971":24177,"14972":24178,"14973":24179,"14974":24180,"14975":24181,"14976":24182,"14977":24183,"14978":24184,"14979":24185,"14980":24186,"14981":24187,"14982":24188,"14983":24189,"14984":24190,"14985":24191,"14986":24192,"14987":24193,"14988":24194,"14989":24195,"14990":24196,"14991":24197,"14992":24198,"14993":24199,"14994":24200,"14995":24201,"14996":24202,"14997":24203,"14998":24204,"14999":24205,"15000":24206,"15001":24207,"15002":24208,"15003":24209,"15004":24210,"15005":24211,"15006":24212,"15007":24213,"15008":24214,"15009":24215,"15010":24216,"15011":24217,"15012":24218,"15013":24219,"15014":24220,"15015":24221,"15016":24222,"15017":24223,"15018":24224,"15019":24225,"15020":24226,"15021":24227,"15022":24228,"15023":24229,"15024":24230,"15025":24231,"15026":24232,"15027":24233,"15028":24234,"15029":24235,"15030":24236,"15031":24237,"15032":24238,"15033":24239,"15034":24240,"15035":24241,"15036":24242,"15037":24243,"15038":24244,"15039":24245,"15040":24246,"15041":24247,"15042":24248,"15043":24249,"15044":24250,"15045":24251,"15046":24252,"15047":24253,"15048":24254,"15049":24255,"15050":24256,"15051":24257,"15052":24258,"15053":24259,"15054":24260,"15055":24261,"15056":24262,"15057":24263,"15058":24264,"15059":24265,"15060":24266,"15061":24267,"15062":24268,"15063":24269,"15064":24270,"15065":24271,"15066":24272,"15067":24273,"15068":24274,"15069":24275,"15070":24276,"15071":24277,"15072":24278,"15073":24279,"15074":24280,"15075":24281,"15076":24282,"15077":24283,"15078":24284,"15079":24285,"15080":24286,"15081":24287,"15082":24288,"15083":24289,"15084":24290,"15085":24291,"15086":24292,"15087":24293,"15088":24294,"15089":24295,"15090":24296,"15091":24297,"15092":24298,"15093":24299,"15094":24300,"15095":24301,"15096":24302,"15097":24303,"15098":24304,"15099":24305,"15100":24306,"15101":24307,"15102":24308,"15103":24309,"15104":24310,"15105":24311,"15106":24312,"15107":24313,"15108":24314,"15109":24315,"15110":24316,"15111":24317,"15112":24318,"15113":24319,"15114":24320,"15115":24321,"15116":24322,"15117":24323,"15118":24324,"15119":24325,"15120":24326,"15121":24327,"15122":24328,"15123":24329,"15124":24330,"15125":24331,"15126":24332,"15127":24333,"15128":24334,"15129":24335,"15130":24336,"15131":24337,"15132":24338,"15133":24339,"15134":24340,"15135":24341,"15136":24342,"15137":24343,"15138":24344,"15139":24345,"15140":24346,"15141":24347,"15142":24348,"15143":24349,"15144":24350,"15145":24351,"15146":24352,"15147":24353,"15148":24354,"15149":24355,"15150":24356,"15151":24357,"15152":24358,"15153":24359,"15154":24360,"15155":24361,"15156":24362,"15157":24363,"15158":24364,"15159":24365,"15160":24366,"15161":24367,"15162":24368,"15163":24369,"15164":24370,"15165":24371,"15166":24372,"15167":24373,"15168":24374,"15169":24375,"15170":24376,"15171":24377,"15172":24378,"15173":24379,"15174":24380,"15175":24381,"15176":24382,"15177":24383,"15178":24384,"15179":24385,"15180":24386,"15181":24387,"15183":24388,"15184":24389,"15185":24390,"15186":24391,"15187":24392,"15188":24393,"15189":24394,"15190":24395,"15191":24396,"15192":24397,"15193":24398,"15194":24399,"15195":24400,"15196":24401,"15197":24402,"15198":24403,"15199":24404,"15200":24405,"15201":24406,"15202":24407,"15203":24408,"15204":24409,"15205":24410,"15206":24411,"15207":24412,"15208":24413,"15209":24414,"15210":24415,"15211":24416,"15212":24417,"15213":24418,"15214":24419,"15215":24420,"15216":24421,"15217":24422,"15218":24423,"15219":24424,"15220":24425,"15221":24426,"15222":24427,"15223":24428,"15224":24429,"15225":24430,"15226":24431,"15227":24432,"15228":24433,"15229":24434,"15230":24435,"15231":24436,"15232":24437,"15233":24438,"15234":24439,"15235":24440,"15236":24441,"15237":24442,"15238":24443,"15239":24444,"15240":24445,"15241":24446,"15242":24447,"15243":24448,"15244":24449,"15245":24450,"15246":24451,"15247":24452,"15248":24453,"15249":24454,"15250":24455,"15251":24456,"15252":24457,"15253":24458,"15254":24459,"15255":24460,"15256":24461,"15257":24462,"15258":24463,"15259":24464,"15260":24465,"15261":24466,"15262":24467,"15263":24468,"15264":24469,"15265":24470,"15266":24471,"15267":24472,"15268":24473,"15269":24474,"15270":24475,"15271":24476,"15272":24477,"15273":24478,"15274":24479,"15275":24480,"15276":24481,"15277":24482,"15278":24483,"15279":24484,"15280":24485,"15281":24486,"15282":24487,"15283":24488,"15284":24489,"15285":24490,"15286":24491,"15287":24492,"15288":24493,"15289":24494,"15290":24495,"15291":24496,"15292":24497,"15293":24498,"15294":24499,"15295":24500,"15296":24501,"15297":24502,"15298":24503,"15299":24504,"15300":24505,"15301":24506,"15302":24507,"15303":24508,"15304":24509,"15305":24510,"15306":24511,"15307":24512,"15308":24513,"15309":24514,"15310":24515,"15311":24516,"15312":24517,"15313":24518,"15314":24519,"15315":24520,"15316":24521,"15317":24522,"15318":24523,"15319":24524,"15320":24525,"15321":24526,"15322":24527,"15323":24528,"15324":24529,"15325":24530,"15326":24531,"15327":24532,"15328":24533,"15329":24534,"15330":24535,"15331":24536,"15332":24537,"15333":24538,"15334":24539,"15335":24540,"15336":24541,"15337":24542,"15338":24543,"15339":24544,"15340":24545,"15341":24546,"15342":24547,"15343":24548,"15344":24549,"15345":24550,"15346":24551,"15347":24552,"15348":24553,"15349":24554,"15350":24555,"15351":24556,"15352":24557,"15353":24558,"15354":24559,"15355":24560,"15356":24561,"15357":24562,"15358":24563,"15359":24564,"15360":24565,"15361":24566,"15362":24567,"15363":24568,"15364":24569,"15365":24570,"15366":24571,"15367":24572,"15368":24573,"15369":24574,"15370":24575,"15371":24576,"15372":24577,"15373":24578,"15374":24579,"15375":24580,"15376":24581,"15377":24582,"15378":24583,"15379":24584,"15380":24585,"15381":24586,"15382":24587,"15383":24588,"15384":24589,"15385":24590,"15386":24591,"15387":24592,"15388":24593,"15389":24594,"15390":24595,"15391":24596,"15392":24597,"15393":24598,"15394":24599,"15395":24600,"15396":24601,"15397":24602,"15398":24603,"15399":24604,"15400":24605,"15401":24606,"15402":24607,"15403":24608,"15404":24609,"15405":24610,"15406":24611,"15407":24612,"15408":24613,"15409":24614,"15410":24615,"15411":24616,"15412":24617,"15413":24618,"15414":24619,"15415":24620,"15416":24621,"15417":24622,"15418":24623,"15419":24624,"15420":24625,"15421":24626,"15422":24627,"15423":24628,"15424":24629,"15425":24630,"15426":24631,"15427":24632,"15428":24633,"15429":24634,"15430":24635,"15431":24636,"15432":24637,"15433":24638,"15434":24639,"15435":24640,"15436":24641,"15437":24642,"15438":24643,"15439":24644,"15440":24645,"15441":24646,"15442":24647,"15443":24648,"15444":24649,"15445":24650,"15446":24651,"15447":24652,"15448":24653,"15449":24654,"15450":24655,"15451":24656,"15452":24657,"15453":24658,"15454":24659,"15455":24660,"15456":24661,"15457":24662,"15458":24663,"15459":24664,"15460":24665,"15461":24666,"15462":24667,"15463":24668,"15464":24669,"15465":24670,"15466":24671,"15467":24672,"15468":24673,"15469":24674,"15471":24675,"15472":24676,"15473":24677,"15474":24678,"15475":24679,"15476":24680,"15477":24681,"15478":24682,"15479":24683,"15480":24684,"15481":24685,"15482":24686,"15483":24687,"15484":24688,"15485":24689,"15486":24690,"15487":24691,"15488":24692,"15489":24693,"15490":24694,"15491":24695,"15492":24696,"15493":24697,"15494":24698,"15495":24699,"15496":24700,"15497":24701,"15498":24702,"15499":24703,"15500":24704,"15501":24705,"15502":24706,"15503":24707,"15504":24708,"15505":24709,"15506":24710,"15507":24711,"15508":24712,"15509":24713,"15510":24714,"15511":24715,"15512":24716,"15513":24717,"15514":24718,"15515":24719,"15516":24720,"15517":24721,"15518":24722,"15519":24723,"15520":24724,"15521":24725,"15522":24726,"15523":24727,"15524":24728,"15525":24729,"15526":24730,"15527":24731,"15528":24732,"15529":24733,"15530":24734,"15531":24735,"15532":24736,"15533":24737,"15534":24738,"15535":24739,"15536":24740,"15537":24741,"15538":24742,"15539":24743,"15540":24744,"15541":24745,"15542":24746,"15543":24747,"15544":24748,"15545":24749,"15546":24750,"15547":24751,"15548":24752,"15549":24753,"15550":24754,"15551":24755,"15552":24756,"15553":24757,"15554":24758,"15555":24759,"15556":24760,"15557":24761,"15558":24762,"15559":24763,"15560":24764,"15561":24765,"15562":24766,"15563":24767,"15564":24768,"15565":24769,"15566":24770,"15567":24771,"15568":24772,"15569":24773,"15570":24774,"15571":24775,"15572":24776,"15573":24777,"15574":24778,"15575":24779,"15576":24780,"15577":24781,"15578":24782,"15579":24783,"15580":24784,"15581":24785,"15582":24786,"15583":24787,"15585":24788,"15586":24789,"15587":24790,"15588":24791,"15589":24792,"15590":24793,"15591":24794,"15592":24795,"15593":24796,"15594":24797,"15595":24798,"15596":24799,"15597":24800,"15598":24801,"15599":24802,"15600":24803,"15601":24804,"15602":24805,"15603":24806,"15604":24807,"15605":24808,"15606":24809,"15607":24810,"15608":24811,"15609":24812,"15610":24813,"15611":24814,"15612":24815,"15613":24816,"15614":24817,"15615":24818,"15616":24819,"15617":24820,"15618":24821,"15619":24822,"15620":24823,"15621":24824,"15622":24825,"15623":24826,"15624":24827,"15625":24828,"15626":24829,"15627":24830,"15628":24831,"15629":24832,"15630":24833,"15631":24834,"15632":24835,"15633":24836,"15634":24837,"15635":24838,"15636":24839,"15637":24840,"15638":24841,"15639":24842,"15640":24843,"15641":24844,"15642":24845,"15643":24846,"15644":24847,"15645":24848,"15646":24849,"15647":24850,"15648":24851,"15649":24852,"15650":24853,"15651":24854,"15652":24855,"15653":24856,"15654":24857,"15655":24858,"15656":24859,"15657":24860,"15658":24861,"15659":24862,"15660":24863,"15661":24864,"15662":24865,"15663":24866,"15664":24867,"15665":24868,"15666":24869,"15667":24870,"15668":24871,"15669":24872,"15670":24873,"15671":24874,"15672":24875,"15673":24876,"15674":24877,"15675":24878,"15676":24879,"15677":24880,"15678":24881,"15679":24882,"15680":24883,"15681":24884,"15682":24885,"15683":24886,"15684":24887,"15685":24888,"15686":24889,"15687":24890,"15688":24891,"15689":24892,"15690":24893,"15691":24894,"15692":24895,"15693":24896,"15694":24897,"15695":24898,"15696":24899,"15697":24900,"15698":24901,"15699":24902,"15700":24903,"15701":24904,"15702":24905,"15703":24906,"15704":24907,"15705":24908,"15706":24909,"15707":24910,"15708":24911,"15709":24912,"15710":24913,"15711":24914,"15712":24915,"15713":24916,"15714":24917,"15715":24918,"15716":24919,"15717":24920,"15718":24921,"15719":24922,"15720":24923,"15721":24924,"15722":24925,"15723":24926,"15724":24927,"15725":24928,"15726":24929,"15727":24930,"15728":24931,"15729":24932,"15730":24933,"15731":24934,"15732":24935,"15733":24936,"15734":24937,"15735":24938,"15736":24939,"15737":24940,"15738":24941,"15739":24942,"15740":24943,"15741":24944,"15742":24945,"15743":24946,"15744":24947,"15745":24948,"15746":24949,"15747":24950,"15748":24951,"15749":24952,"15750":24953,"15751":24954,"15752":24955,"15753":24956,"15754":24957,"15755":24958,"15756":24959,"15757":24960,"15758":24961,"15759":24962,"15760":24963,"15761":24964,"15762":24965,"15763":24966,"15764":24967,"15765":24968,"15766":24969,"15767":24970,"15768":24971,"15769":24972,"15770":24973,"15771":24974,"15772":24975,"15773":24976,"15774":24977,"15775":24978,"15776":24979,"15777":24980,"15778":24981,"15779":24982,"15780":24983,"15781":24984,"15782":24985,"15783":24986,"15784":24987,"15785":24988,"15786":24989,"15787":24990,"15788":24991,"15789":24992,"15790":24993,"15791":24994,"15792":24995,"15793":24996,"15794":24997,"15795":24998,"15796":24999,"15797":25000,"15798":25001,"15799":25002,"15800":25003,"15801":25004,"15802":25005,"15803":25006,"15804":25007,"15805":25008,"15806":25009,"15807":25010,"15808":25011,"15809":25012,"15810":25013,"15811":25014,"15812":25015,"15813":25016,"15814":25017,"15815":25018,"15816":25019,"15817":25020,"15818":25021,"15819":25022,"15820":25023,"15821":25024,"15822":25025,"15823":25026,"15824":25027,"15825":25028,"15826":25029,"15827":25030,"15828":25031,"15829":25032,"15830":25033,"15831":25034,"15832":25035,"15833":25036,"15834":25037,"15835":25038,"15836":25039,"15837":25040,"15838":25041,"15839":25042,"15840":25043,"15841":25044,"15842":25045,"15843":25046,"15844":25047,"15845":25048,"15846":25049,"15847":25050,"15848":25051,"15849":25052,"15850":25053,"15851":25054,"15852":25055,"15853":25056,"15854":25057,"15855":25058,"15856":25059,"15857":25060,"15858":25061,"15859":25062,"15860":25063,"15861":25064,"15862":25065,"15863":25066,"15864":25067,"15865":25068,"15866":25069,"15867":25070,"15868":25071,"15869":25072,"15870":25073,"15871":25074,"15872":25075,"15873":25076,"15874":25077,"15875":25078,"15876":25079,"15877":25080,"15878":25081,"15879":25082,"15880":25083,"15881":25084,"15882":25085,"15883":25086,"15884":25087,"15885":25088,"15886":25089,"15887":25090,"15888":25091,"15889":25092,"15890":25093,"15891":25094,"15892":25095,"15893":25096,"15894":25097,"15895":25098,"15896":25099,"15897":25100,"15898":25101,"15899":25102,"15900":25103,"15901":25104,"15902":25105,"15903":25106,"15904":25107,"15905":25108,"15906":25109,"15907":25110,"15908":25111,"15909":25112,"15910":25113,"15911":25114,"15912":25115,"15913":25116,"15914":25117,"15915":25118,"15916":25119,"15917":25120,"15918":25121,"15919":25122,"15920":25123,"15921":25124,"15922":25125,"15923":25126,"15924":25127,"15925":25128,"15926":25129,"15927":25130,"15928":25131,"15929":25132,"15930":25133,"15931":25134,"15932":25135,"15933":25136,"15934":25137,"15935":25138,"15936":25139,"15937":25140,"15938":25141,"15939":25142,"15940":25143,"15941":25144,"15942":25145,"15943":25146,"15944":25147,"15945":25148,"15946":25149,"15947":25150,"15948":25151,"15949":25152,"15950":25153,"15951":25154,"15952":25155,"15953":25156,"15954":25157,"15955":25158,"15956":25159,"15957":25160,"15958":25161,"15959":25162,"15960":25163,"15961":25164,"15962":25165,"15963":25166,"15964":25167,"15965":25168,"15966":25169,"15967":25170,"15968":25171,"15969":25172,"15970":25173,"15971":25174,"15972":25175,"15973":25176,"15974":25177,"15975":25178,"15976":25179,"15977":25180,"15978":25181,"15979":25182,"15980":25183,"15981":25184,"15982":25185,"15983":25186,"15984":25187,"15985":25188,"15986":25189,"15987":25190,"15988":25191,"15989":25192,"15990":25193,"15991":25194,"15992":25195,"15993":25196,"15994":25197,"15995":25198,"15996":25199,"15997":25200,"15998":25201,"15999":25202,"16000":25203,"16001":25204,"16002":25205,"16003":25206,"16004":25207,"16005":25208,"16006":25209,"16007":25210,"16008":25211,"16009":25212,"16010":25213,"16011":25214,"16012":25215,"16013":25216,"16014":25217,"16015":25218,"16016":25219,"16017":25220,"16018":25221,"16019":25222,"16020":25223,"16021":25224,"16022":25225,"16023":25226,"16024":25227,"16025":25228,"16026":25229,"16027":25230,"16028":25231,"16029":25232,"16030":25233,"16031":25234,"16032":25235,"16033":25236,"16034":25237,"16035":25238,"16036":25239,"16037":25240,"16038":25241,"16039":25242,"16040":25243,"16041":25244,"16042":25245,"16043":25246,"16044":25247,"16045":25248,"16046":25249,"16047":25250,"16048":25251,"16049":25252,"16050":25253,"16051":25254,"16052":25255,"16053":25256,"16054":25257,"16055":25258,"16056":25259,"16057":25260,"16058":25261,"16059":25262,"16060":25263,"16061":25264,"16062":25265,"16063":25266,"16064":25267,"16065":25268,"16066":25269,"16067":25270,"16068":25271,"16069":25272,"16070":25273,"16071":25274,"16072":25275,"16073":25276,"16074":25277,"16075":25278,"16076":25279,"16077":25280,"16078":25281,"16079":25282,"16080":25283,"16081":25284,"16082":25285,"16083":25286,"16084":25287,"16085":25288,"16086":25289,"16087":25290,"16088":25291,"16089":25292,"16090":25293,"16091":25294,"16092":25295,"16093":25296,"16094":25297,"16095":25298,"16096":25299,"16097":25300,"16098":25301,"16099":25302,"16100":25303,"16101":25304,"16102":25305,"16103":25306,"16104":25307,"16105":25308,"16106":25309,"16107":25310,"16108":25311,"16109":25312,"16110":25313,"16111":25314,"16112":25315,"16113":25316,"16114":25317,"16115":25318,"16116":25319,"16117":25320,"16118":25321,"16119":25322,"16120":25323,"16121":25324,"16122":25325,"16123":25326,"16124":25327,"16125":25328,"16126":25329,"16127":25330,"16128":25331,"16129":25332,"16130":25333,"16131":25334,"16132":25335,"16133":25336,"16134":25337,"16135":25338,"16136":25339,"16137":25340,"16138":25341,"16139":25342,"16140":25343,"16141":25344,"16142":25345,"16143":25346,"16144":25347,"16145":25348,"16146":25349,"16147":25350,"16148":25351,"16149":25352,"16150":25353,"16151":25354,"16152":25355,"16153":25356,"16154":25357,"16155":25358,"16156":25359,"16157":25360,"16158":25361,"16159":25362,"16160":25363,"16161":25364,"16162":25365,"16163":25366,"16164":25367,"16165":25368,"16166":25369,"16167":25370,"16168":25371,"16169":25372,"16170":25373,"16171":25374,"16172":25375,"16173":25376,"16174":25377,"16175":25378,"16176":25379,"16177":25380,"16178":25381,"16179":25382,"16180":25383,"16181":25384,"16182":25385,"16183":25386,"16184":25387,"16185":25388,"16186":25389,"16187":25390,"16188":25391,"16189":25392,"16190":25393,"16191":25394,"16192":25395,"16193":25396,"16194":25397,"16195":25398,"16196":25399,"16197":25400,"16198":25401,"16199":25402,"16200":25403,"16201":25404,"16202":25405,"16203":25406,"16204":25407,"16205":25408,"16206":25409,"16207":25410,"16208":25411,"16209":25412,"16210":25413,"16211":25414,"16212":25415,"16213":25416,"16214":25417,"16215":25418,"16216":25419,"16217":25420,"16218":25421,"16219":25422,"16220":25423,"16221":25424,"16222":25425,"16223":25426,"16224":25427,"16225":25428,"16226":25429,"16227":25430,"16228":25431,"16229":25432,"16230":25433,"16231":25434,"16232":25435,"16233":25436,"16234":25437,"16235":25438,"16236":25439,"16237":25440,"16238":25441,"16239":25442,"16240":25443,"16241":25444,"16242":25445,"16243":25446,"16244":25447,"16245":25448,"16246":25449,"16247":25450,"16248":25451,"16249":25452,"16250":25453,"16251":25454,"16252":25455,"16253":25456,"16254":25457,"16255":25458,"16256":25459,"16257":25460,"16258":25461,"16259":25462,"16260":25463,"16261":25464,"16262":25465,"16263":25466,"16264":25467,"16265":25468,"16266":25469,"16267":25470,"16268":25471,"16269":25472,"16270":25473,"16271":25474,"16272":25475,"16273":25476,"16274":25477,"16275":25478,"16276":25479,"16277":25480,"16278":25481,"16279":25482,"16280":25483,"16281":25484,"16282":25485,"16283":25486,"16284":25487,"16285":25488,"16286":25489,"16287":25490,"16288":25491,"16289":25492,"16290":25493,"16291":25494,"16292":25495,"16293":25496,"16294":25497,"16295":25498,"16296":25499,"16297":25500,"16298":25501,"16299":25502,"16300":25503,"16301":25504,"16302":25505,"16303":25506,"16304":25507,"16305":25508,"16306":25509,"16307":25510,"16308":25511,"16309":25512,"16310":25513,"16311":25514,"16312":25515,"16313":25516,"16314":25517,"16315":25518,"16316":25519,"16317":25520,"16318":25521,"16319":25522,"16320":25523,"16321":25524,"16322":25525,"16323":25526,"16324":25527,"16325":25528,"16326":25529,"16327":25530,"16328":25531,"16329":25532,"16330":25533,"16331":25534,"16332":25535,"16333":25536,"16334":25537,"16335":25538,"16336":25539,"16337":25540,"16338":25541,"16339":25542,"16340":25543,"16341":25544,"16342":25545,"16343":25546,"16344":25547,"16345":25548,"16346":25549,"16347":25550,"16348":25551,"16349":25552,"16350":25553,"16351":25554,"16352":25555,"16353":25556,"16354":25557,"16355":25558,"16356":25559,"16357":25560,"16358":25561,"16359":25562,"16360":25563,"16361":25564,"16362":25565,"16363":25566,"16364":25567,"16365":25568,"16366":25569,"16367":25570,"16368":25571,"16369":25572,"16370":25573,"16371":25574,"16372":25575,"16373":25576,"16374":25577,"16375":25578,"16376":25579,"16377":25580,"16378":25581,"16379":25582,"16380":25583,"16381":25584,"16382":25585,"16383":25586,"16384":25587,"16385":25588,"16386":25589,"16387":25590,"16388":25591,"16389":25592,"16390":25593,"16391":25594,"16392":25595,"16393":25596,"16394":25597,"16395":25598,"16396":25599,"16397":25600,"16398":25601,"16399":25602,"16400":25603,"16401":25604,"16402":25605,"16403":25606,"16404":25607,"16405":25608,"16406":25609,"16407":25610,"16408":25611,"16409":25612,"16410":25613,"16411":25614,"16412":25615,"16413":25616,"16414":25617,"16415":25618,"16416":25619,"16417":25620,"16418":25621,"16419":25622,"16420":25623,"16421":25624,"16422":25625,"16423":25626,"16424":25627,"16425":25628,"16426":25629,"16427":25630,"16428":25631,"16429":25632,"16430":25633,"16431":25634,"16432":25635,"16433":25636,"16434":25637,"16435":25638,"16436":25639,"16437":25640,"16438":25641,"16439":25642,"16440":25643,"16441":25644,"16442":25645,"16443":25646,"16444":25647,"16445":25648,"16446":25649,"16447":25650,"16448":25651,"16449":25652,"16450":25653,"16451":25654,"16452":25655,"16453":25656,"16454":25657,"16455":25658,"16456":25659,"16457":25660,"16458":25661,"16459":25662,"16460":25663,"16461":25664,"16462":25665,"16463":25666,"16464":25667,"16465":25668,"16466":25669,"16467":25670,"16468":25671,"16469":25672,"16471":25673,"16472":25674,"16473":25675,"16474":25676,"16475":25677,"16476":25678,"16477":25679,"16478":25680,"16479":25681,"16480":25682,"16481":25683,"16482":25684,"16483":25685,"16484":25686,"16485":25687,"16486":25688,"16487":25689,"16488":25690,"16489":25691,"16490":25692,"16491":25693,"16492":25694,"16493":25695,"16494":25696,"16495":25697,"16496":25698,"16497":25699,"16498":25700,"16499":25701,"16500":25702,"16501":25703,"16502":25704,"16503":25705,"16504":25706,"16505":25707,"16506":25708,"16507":25709,"16508":25710,"16509":25711,"16510":25712,"16511":25713,"16512":25714,"16513":25715,"16514":25716,"16515":25717,"16516":25718,"16517":25719,"16518":25720,"16519":25721,"16520":25722,"16521":25723,"16522":25724,"16523":25725,"16524":25726,"16525":25727,"16526":25728,"16527":25729,"16528":25730,"16529":25731,"16530":25732,"16531":25733,"16532":25734,"16533":25735,"16534":25736,"16535":25737,"16536":25738,"16537":25739,"16538":25740,"16539":25741,"16540":25742,"16541":25743,"16542":25744,"16543":25745,"16544":25746,"16545":25747,"16546":25748,"16547":25749,"16548":25750,"16549":25751,"16550":25752,"16551":25753,"16552":25754,"16553":25755,"16554":25756,"16555":25757,"16556":25758,"16557":25759,"16558":25760,"16559":25761,"16560":25762,"16561":25763,"16562":25764,"16563":25765,"16564":25766,"16565":25767,"16566":25768,"16567":25769,"16568":25770,"16569":25771,"16570":25772,"16571":25773,"16572":25774,"16573":25775,"16574":25776,"16575":25777,"16576":25778,"16577":25779,"16578":25780,"16579":25781,"16580":25782,"16581":25783,"16582":25784,"16583":25785,"16584":25786,"16585":25787,"16586":25788,"16587":25789,"16588":25790,"16589":25791,"16590":25792,"16591":25793,"16592":25794,"16593":25795,"16594":25796,"16595":25797,"16596":25798,"16597":25799,"16598":25800,"16599":25801,"16600":25802,"16601":25803,"16602":25804,"16603":25805,"16604":25806,"16605":25807,"16606":25808,"16607":25809,"16608":25810,"16609":25811,"16610":25812,"16611":25813,"16612":25814,"16613":25815,"16614":25816,"16615":25817,"16616":25818,"16617":25819,"16618":25820,"16619":25821,"16620":25822,"16621":25823,"16622":25824,"16623":25825,"16624":25826,"16625":25827,"16626":25828,"16627":25829,"16628":25830,"16629":25831,"16630":25832,"16631":25833,"16632":25834,"16633":25835,"16634":25836,"16635":25837,"16636":25838,"16637":25839,"16638":25840,"16639":25841,"16640":25842,"16641":25843,"16642":25844,"16643":25845,"16644":25846,"16645":25847,"16646":25848,"16647":25849,"16648":25850,"16649":25851,"16650":25852,"16651":25853,"16652":25854,"16653":25855,"16654":25856,"16655":25857,"16656":25858,"16657":25859,"16658":25860,"16659":25861,"16660":25862,"16661":25863,"16662":25864,"16663":25865,"16664":25866,"16665":25867,"16666":25868,"16667":25869,"16668":25870,"16669":25871,"16670":25872,"16671":25873,"16672":25874,"16673":25875,"16674":25876,"16675":25877,"16676":25878,"16677":25879,"16678":25880,"16679":25881,"16680":25882,"16681":25883,"16682":25884,"16683":25885,"16684":25886,"16685":25887,"16686":25888,"16687":25889,"16688":25890,"16689":25891,"16690":25892,"16691":25893,"16692":25894,"16693":25895,"16694":25896,"16695":25897,"16696":25898,"16697":25899,"16698":25900,"16699":25901,"16700":25902,"16701":25903,"16702":25904,"16703":25905,"16704":25906,"16705":25907,"16706":25908,"16707":25909,"16708":25910,"16709":25911,"16710":25912,"16711":25913,"16712":25914,"16713":25915,"16714":25916,"16715":25917,"16716":25918,"16717":25919,"16718":25920,"16719":25921,"16720":25922,"16721":25923,"16722":25924,"16723":25925,"16724":25926,"16725":25927,"16726":25928,"16727":25929,"16728":25930,"16729":25931,"16730":25932,"16731":25933,"16732":25934,"16733":25935,"16734":25936,"16736":25937,"16737":25938,"16738":25939,"16739":25940,"16740":25941,"16741":25942,"16742":25943,"16743":25944,"16744":25945,"16745":25946,"16746":25947,"16747":25948,"16748":25949,"16749":25950,"16750":25951,"16751":25952,"16752":25953,"16753":25954,"16754":25955,"16755":25956,"16756":25957,"16757":25958,"16758":25959,"16759":25960,"16760":25961,"16761":25962,"16762":25963,"16763":25964,"16764":25965,"16765":25966,"16766":25967,"16767":25968,"16768":25969,"16769":25970,"16770":25971,"16771":25972,"16772":25973,"16773":25974,"16774":25975,"16775":25976,"16776":25977,"16777":25978,"16778":25979,"16779":25980,"16780":25981,"16781":25982,"16782":25983,"16783":25984,"16784":25985,"16785":25986,"16786":25987,"16787":25988,"16788":25989,"16789":25990,"16790":25991,"16791":25992,"16792":25993,"16793":25994,"16794":25995,"16795":25996,"16796":25997,"16797":25998,"16798":25999,"16799":26000,"16800":26001,"16801":26002,"16802":26003,"16803":26004,"16804":26005,"16805":26006,"16806":26007,"16807":26008,"16808":26009,"16809":26010,"16810":26011,"16811":26012,"16812":26013,"16813":26014,"16814":26015,"16815":26016,"16816":26017,"16817":26018,"16818":26019,"16819":26020,"16820":26021,"16821":26022,"16822":26023,"16823":26024,"16824":26025,"16825":26026,"16826":26027,"16827":26028,"16828":26029,"16829":26030,"16830":26031,"16831":26032,"16832":26033,"16833":26034,"16834":26035,"16835":26036,"16836":26037,"16837":26038,"16838":26039,"16839":26040,"16840":26041,"16841":26042,"16842":26043,"16843":26044,"16844":26045,"16845":26046,"16846":26047,"16847":26048,"16848":26049,"16849":26050,"16850":26051,"16851":26052,"16852":26053,"16853":26054,"16854":26055,"16855":26056,"16856":26057,"16857":26058,"16858":26059,"16859":26060,"16860":26061,"16861":26062,"16862":26063,"16863":26064,"16864":26065,"16865":26066,"16866":26067,"16867":26068,"16868":26069,"16869":26070,"16870":26071,"16871":26072,"16872":26073,"16873":26074,"16874":26075,"16875":26076,"16876":26077,"16877":26078,"16878":26079,"16879":26080,"16880":26081,"16881":26082,"16882":26083,"16883":26084,"16884":26085,"16885":26086,"16886":26087,"16887":26088,"16888":26089,"16889":26090,"16890":26091,"16891":26092,"16892":26093,"16893":26094,"16894":26095,"16895":26096,"16896":26097,"16897":26098,"16898":26099,"16899":26100,"16900":26101,"16901":26102,"16902":26103,"16903":26104,"16904":26105,"16905":26106,"16906":26107,"16907":26108,"16908":26109,"16909":26110,"16910":26111,"16911":26112,"16912":26113,"16913":26114,"16914":26115,"16915":26116,"16916":26117,"16917":26118,"16918":26119,"16919":26120,"16920":26121,"16921":26122,"16922":26123,"16923":26124,"16924":26125,"16925":26126,"16926":26127,"16927":26128,"16928":26129,"16929":26130,"16930":26131,"16931":26132,"16932":26133,"16933":26134,"16934":26135,"16935":26136,"16936":26137,"16937":26138,"16938":26139,"16939":26140,"16940":26141,"16941":26142,"16942":26143,"16943":26144,"16944":26145,"16945":26146,"16946":26147,"16947":26148,"16948":26149,"16949":26150,"16950":26151,"16951":26152,"16952":26153,"16953":26154,"16954":26155,"16955":26156,"16956":26157,"16957":26158,"16958":26159,"16959":26160,"16960":26161,"16961":26162,"16962":26163,"16963":26164,"16964":26165,"16965":26166,"16966":26167,"16967":26168,"16968":26169,"16969":26170,"16970":26171,"16971":26172,"16972":26173,"16973":26174,"16974":26175,"16975":26176,"16976":26177,"16977":26178,"16978":26179,"16979":26180,"16980":26181,"16981":26182,"16982":26183,"16983":26184,"16984":26185,"16985":26186,"16986":26187,"16987":26188,"16988":26189,"16989":26190,"16990":26191,"16991":26192,"16992":26193,"16993":26194,"16994":26195,"16995":26196,"16996":26197,"16997":26198,"16998":26199,"16999":26200,"17000":26201,"17001":26202,"17002":26203,"17003":26204,"17004":26205,"17005":26206,"17006":26207,"17007":26208,"17008":26209,"17009":26210,"17010":26211,"17011":26212,"17012":26213,"17013":26214,"17014":26215,"17015":26216,"17016":26217,"17017":26218,"17018":26219,"17019":26220,"17020":26221,"17021":26222,"17022":26223,"17023":26224,"17024":26225,"17025":26226,"17026":26227,"17027":26228,"17028":26229,"17029":26230,"17030":26231,"17031":26232,"17032":26233,"17033":26234,"17034":26235,"17035":26236,"17036":26237,"17037":26238,"17038":26239,"17039":26240,"17040":26241,"17041":26242,"17042":26243,"17043":26244,"17044":26245,"17045":26246,"17046":26247,"17047":26248,"17048":26249,"17049":26250,"17050":26251,"17051":26252,"17052":26253,"17053":26254,"17054":26255,"17055":26256,"17056":26257,"17057":26258,"17058":26259,"17059":26260,"17060":26261,"17061":26262,"17062":26263,"17063":26264,"17064":26265,"17065":26266,"17066":26267,"17067":26268,"17068":26269,"17069":26270,"17070":26271,"17071":26272,"17072":26273,"17073":26274,"17074":26275,"17075":26276,"17076":26277,"17077":26278,"17078":26279,"17079":26280,"17080":26281,"17081":26282,"17082":26283,"17083":26284,"17084":26285,"17085":26286,"17086":26287,"17087":26288,"17088":26289,"17089":26290,"17090":26291,"17091":26292,"17092":26293,"17093":26294,"17094":26295,"17095":26296,"17096":26297,"17097":26298,"17098":26299,"17099":26300,"17100":26301,"17101":26302,"17102":26303,"17103":26304,"17104":26305,"17105":26306,"17106":26307,"17107":26308,"17108":26309,"17109":26310,"17110":26311,"17111":26312,"17112":26313,"17113":26314,"17114":26315,"17115":26316,"17116":26317,"17117":26318,"17118":26319,"17119":26320,"17120":26321,"17121":26322,"17122":26323,"17123":26324,"17124":26325,"17125":26326,"17126":26327,"17127":26328,"17128":26329,"17129":26330,"17130":26331,"17131":26332,"17132":26333,"17133":26334,"17134":26335,"17135":26336,"17136":26337,"17137":26338,"17138":26339,"17139":26340,"17140":26341,"17141":26342,"17142":26343,"17143":26344,"17144":26345,"17145":26346,"17146":26347,"17147":26348,"17148":26349,"17149":26350,"17150":26351,"17151":26352,"17152":26353,"17153":26354,"17154":26355,"17155":26356,"17156":26357,"17157":26358,"17158":26359,"17159":26360,"17160":26361,"17161":26362,"17162":26363,"17163":26364,"17164":26365,"17165":26366,"17166":26367,"17167":26368,"17168":26369,"17169":26370,"17170":26371,"17171":26372,"17172":26373,"17173":26374,"17174":26375,"17175":26376,"17176":26377,"17177":26378,"17178":26379,"17179":26380,"17180":26381,"17181":26382,"17182":26383,"17183":26384,"17184":26385,"17185":26386,"17186":26387,"17187":26388,"17188":26389,"17189":26390,"17190":26391,"17191":26392,"17192":26393,"17193":26394,"17194":26395,"17195":26396,"17196":26397,"17197":26398,"17198":26399,"17199":26400,"17200":26401,"17201":26402,"17202":26403,"17203":26404,"17204":26405,"17205":26406,"17206":26407,"17208":26408,"17209":26409,"17210":26410,"17211":26411,"17212":26412,"17213":26413,"17214":26414,"17215":26415,"17216":26416,"17217":26417,"17218":26418,"17219":26419,"17220":26420,"17221":26421,"17222":26422,"17223":26423,"17224":26424,"17225":26425,"17226":26426,"17227":26427,"17228":26428,"17229":26429,"17230":26430,"17231":26431,"17232":26432,"17233":26433,"17234":26434,"17235":26435,"17236":26436,"17237":26437,"17238":26438,"17239":26439,"17240":26440,"17241":26441,"17242":26442,"17243":26443,"17244":26444,"17245":26445,"17246":26446,"17247":26447,"17248":26448,"17249":26449,"17250":26450,"17251":26451,"17252":26452,"17253":26453,"17254":26454,"17255":26455,"17256":26456,"17257":26457,"17258":26458,"17259":26459,"17260":26460,"17261":26461,"17262":26462,"17263":26463,"17264":26464,"17265":26465,"17266":26466,"17267":26467,"17268":26468,"17269":26469,"17270":26470,"17271":26471,"17272":26472,"17273":26473,"17274":26474,"17275":26475,"17276":26476,"17277":26477,"17278":26478,"17279":26479,"17280":26480,"17281":26481,"17282":26482,"17283":26483,"17284":26484,"17285":26485,"17286":26486,"17287":26487,"17288":26488,"17289":26489,"17290":26490,"17291":26491,"17292":26492,"17293":26493,"17294":26494,"17295":26495,"17296":26496,"17297":26497,"17298":26498,"17299":26499,"17300":26500,"17301":26501,"17302":26502,"17303":26503,"17304":26504,"17305":26505,"17306":26506,"17307":26507,"17308":26508,"17309":26509,"17310":26510,"17311":26511,"17312":26512,"17313":26513,"17314":26514,"17315":26515,"17316":26516,"17317":26517,"17318":26518,"17319":26519,"17320":26520,"17321":26521,"17322":26522,"17323":26523,"17325":26524,"17326":26525,"17327":26526,"17328":26527,"17330":26528,"17331":26529,"17332":26530,"17333":26531,"17334":26532,"17335":26533,"17336":26534,"17337":26535,"17338":26536,"17339":26537,"17340":26538,"17341":26539,"17342":26540,"17343":26541,"17344":26542,"17345":26543,"17346":26544,"17347":26545,"17348":26546,"17349":26547,"17350":26548,"17351":26549,"17352":26550,"17353":26551,"17354":26552,"17355":26553,"17356":26554,"17357":26555,"17358":26556,"17359":26557,"17360":26558,"17361":26559,"17362":26560,"17363":26561,"17364":26562,"17365":26563,"17366":26564,"17367":26565,"17368":26566,"17369":26567,"17370":26568,"17371":26569,"17372":26570,"17374":26571,"17375":26572,"17376":26573,"17377":26574,"17378":26575,"17379":26576,"17380":26577,"17381":26578,"17382":26579,"17383":26580,"17384":26581,"17385":26582,"17386":26583,"17387":26584,"17388":26585,"17389":26586,"17390":26587,"17391":26588,"17392":26589,"17393":26590,"17394":26591,"17395":26592,"17396":26593,"17397":26594,"17398":26595,"17399":26596,"17400":26597,"17401":26598,"17402":26599,"17403":26600,"17404":26601,"17405":26602,"17406":26603,"17407":26604,"17408":26605,"17409":26606,"17410":26607,"17411":26608,"17412":26609,"17413":26610,"17414":26611,"17415":26612,"17416":26613,"17417":26614,"17418":26615,"17419":26616,"17420":26617,"17421":26618,"17422":26619,"17423":26620,"17424":26621,"17425":26622,"17426":26623,"17427":26624,"17428":26625,"17429":26626,"17430":26627,"17431":26628,"17432":26629,"17433":26630,"17434":26631,"17435":26632,"17436":26633,"17437":26634,"17438":26635,"17439":26636,"17440":26637,"17441":26638,"17442":26639,"17443":26640,"17444":26641,"17445":26642,"17446":26643,"17447":26644,"17448":26645,"17449":26646,"17450":26647,"17451":26648,"17452":26649,"17453":26650,"17454":26651,"17455":26652,"17456":26653,"17457":26654,"17458":26655,"17459":26656,"17460":26657,"17461":26658,"17462":26659,"17463":26660,"17464":26661,"17465":26662,"17466":26663,"17467":26664,"17468":26665,"17469":26666,"17470":26667,"17471":26668,"17472":26669,"17473":26670,"17474":26671,"17475":26672,"17476":26673,"17477":26674,"17478":26675,"17479":26676,"17480":26677,"17481":26678,"17482":26679,"17483":26680,"17484":26681,"17485":26682,"17486":26683,"17487":26684,"17488":26685,"17489":26686,"17490":26687,"17491":26688,"17492":26689,"17493":26690,"17494":26691,"17495":26692,"17496":26693,"17497":26694,"17498":26695,"17499":26696,"17500":26697,"17501":26698,"17502":26699,"17503":26700,"17504":26701,"17505":26702,"17506":26703,"17507":26704,"17508":26705,"17509":26706,"17510":26707,"17511":26708,"17512":26709,"17513":26710,"17514":26711,"17515":26712,"17516":26713,"17517":26714,"17518":26715,"17519":26716,"17520":26717,"17521":26718,"17522":26719,"17523":26720,"17524":26721,"17525":26722,"17526":26723,"17527":26724,"17528":26725,"17529":26726,"17530":26727,"17531":26728,"17532":26729,"17533":26730,"17534":26731,"17535":26732,"17536":26733,"17537":26734,"17538":26735,"17539":26736,"17540":26737,"17541":26738,"17542":26739,"17543":26740,"17544":26741,"17545":26742,"17546":26743,"17547":26744,"17548":26745,"17549":26746,"17550":26747,"17551":26748,"17552":26749,"17553":26750,"17554":26751,"17555":26752,"17556":26753,"17557":26754,"17558":26755,"17559":26756,"17560":26757,"17561":26758,"17562":26759,"17563":26760,"17564":26761,"17565":26762,"17566":26763,"17567":26764,"17568":26765,"17569":26766,"17570":26767,"17571":26768,"17572":26769,"17573":26770,"17574":26771,"17575":26772,"17576":26773,"17577":26774,"17578":26775,"17579":26776,"17580":26777,"17581":26778,"17582":26779,"17583":26780,"17584":26781,"17585":26782,"17586":26783,"17587":26784,"17588":26785,"17589":26786,"17590":26787,"17591":26788,"17592":26789,"17593":26790,"17594":26791,"17595":26792,"17596":26793,"17597":26794,"17598":26795,"17599":26796,"17600":26797,"17601":26798,"17602":26799,"17603":26800,"17604":26801,"17605":26802,"17606":26803,"17607":26804,"17608":26805,"17609":26806,"17610":26807,"17611":26808,"17612":26809,"17613":26810,"17614":26811,"17615":26812,"17616":26813,"17617":26814,"17618":26815,"17619":26816,"17620":26817,"17621":26818,"17623":26819,"17624":26820,"17625":26821,"17626":26822,"17627":26823,"17628":26824,"17629":26825,"17630":26826,"17631":26827,"17632":26828,"17633":26829,"17634":26830,"17635":26831,"17636":26832,"17637":26833,"17638":26834,"17639":26835,"17640":26836,"17641":26837,"17642":26838,"17643":26839,"17644":26840,"17645":26841,"17646":26842,"17647":26843,"17648":26844,"17649":26845,"17650":26846,"17651":26847,"17652":26848,"17653":26849,"17654":26850,"17655":26851,"17656":26852,"17657":26853,"17658":26854,"17659":26855,"17660":26856,"17661":26857,"17662":26858,"17663":26859,"17664":26860,"17665":26861,"17666":26862,"17667":26863,"17668":26864,"17669":26865,"17670":26866,"17671":26867,"17672":26868,"17673":26869,"17674":26870,"17675":26871,"17676":26872,"17677":26873,"17678":26874,"17679":26875,"17680":26876,"17681":26877,"17682":26878,"17683":26879,"17684":26880,"17685":26881,"17686":26882,"17687":26883,"17688":26884,"17689":26885,"17690":26886,"17691":26887,"17692":26888,"17693":26889,"17694":26890,"17695":26891,"17696":26892,"17697":26893,"17698":26894,"17699":26895,"17700":26896,"17701":26897,"17702":26898,"17703":26899,"17704":26900,"17705":26901,"17706":26902,"17707":26903,"17708":26904,"17709":26905,"17710":26906,"17711":26907,"17712":26908,"17713":26909,"17714":26910,"17715":26911,"17716":26912,"17717":26913,"17718":26914,"17719":26915,"17720":26916,"17721":26917,"17722":26918,"17723":26919,"17724":26920,"17725":26921,"17726":26922,"17727":26923,"17728":26924,"17729":26925,"17730":26926,"17731":26927,"17732":26928,"17733":26929,"17734":26930,"17735":26931,"17736":26932,"17737":26933,"17738":26934,"17739":26935,"17740":26936,"17741":26937,"17742":26938,"17743":26939,"17744":26940,"17745":26941,"17746":26942,"17747":26943,"17748":26944,"17749":26945,"17750":26946,"17751":26947,"17752":26948,"17753":26949,"17754":26950,"17755":26951,"17756":26952,"17757":26953,"17758":26954,"17759":26955,"17760":26956,"17761":26957,"17762":26958,"17763":26959,"17764":26960,"17765":26961,"17766":26962,"17767":26963,"17768":26964,"17769":26965,"17770":26966,"17771":26967,"17772":26968,"17773":26969,"17774":26970,"17775":26971,"17776":26972,"17777":26973,"17778":26974,"17779":26975,"17780":26976,"17781":26977,"17782":26978,"17783":26979,"17784":26980,"17785":26981,"17786":26982,"17787":26983,"17788":26984,"17789":26985,"17790":26986,"17791":26987,"17792":26988,"17793":26989,"17794":26990,"17795":26991,"17796":26992,"17797":26993,"17798":26994,"17799":26995,"17800":26996,"17801":26997,"17802":26998,"17803":26999,"17804":27000,"17805":27001,"17806":27002,"17807":27003,"17808":27004,"17809":27005,"17810":27006,"17811":27007,"17812":27008,"17813":27009,"17814":27010,"17815":27011,"17816":27012,"17817":27013,"17818":27014,"17819":27015,"17820":27016,"17821":27017,"17822":27018,"17823":27019,"17824":27020,"17825":27021,"17826":27022,"17827":27023,"17828":27024,"17829":27025,"17830":27026,"17831":27027,"17832":27028,"17833":27029,"17834":27030,"17835":27031,"17836":27032,"17837":27033,"17838":27034,"17839":27035,"17840":27036,"17841":27037,"17842":27038,"17843":27039,"17844":27040,"17845":27041,"17846":27042,"17847":27043,"17848":27044,"17849":27045,"17850":27046,"17851":27047,"17852":27048,"17853":27049,"17854":27050,"17855":27051,"17856":27052,"17857":27053,"17858":27054,"17859":27055,"17860":27056,"17861":27057,"17862":27058,"17863":27059,"17864":27060,"17865":27061,"17866":27062,"17867":27063,"17868":27064,"17869":27065,"17870":27066,"17871":27067,"17872":27068,"17873":27069,"17874":27070,"17875":27071,"17876":27072,"17877":27073,"17878":27074,"17879":27075,"17880":27076,"17881":27077,"17882":27078,"17883":27079,"17884":27080,"17885":27081,"17886":27082,"17887":27083,"17888":27084,"17889":27085,"17890":27086,"17891":27087,"17892":27088,"17893":27089,"17894":27090,"17895":27091,"17896":27092,"17897":27093,"17898":27094,"17899":27095,"17900":27096,"17901":27097,"17902":27098,"17903":27099,"17904":27100,"17905":27101,"17906":27102,"17907":27103,"17908":27104,"17909":27105,"17910":27106,"17911":27107,"17912":27108,"17913":27109,"17914":27110,"17915":27111,"17916":27112,"17917":27113,"17918":27114,"17919":27115,"17920":27116,"17921":27117,"17922":27118,"17923":27119,"17924":27120,"17925":27121,"17926":27122,"17927":27123,"17928":27124,"17929":27125,"17930":27126,"17931":27127,"17932":27128,"17933":27129,"17934":27130,"17935":27131,"17936":27132,"17937":27133,"17938":27134,"17939":27135,"17940":27136,"17941":27137,"17942":27138,"17943":27139,"17944":27140,"17945":27141,"17946":27142,"17947":27143,"17948":27144,"17949":27145,"17950":27146,"17951":27147,"17952":27148,"17953":27149,"17954":27150,"17955":27151,"17956":27152,"17957":27153,"17958":27154,"17959":27155,"17960":27156,"17961":27157,"17962":27158,"17963":27159,"17964":27160,"17965":27161,"17966":27162,"17967":27163,"17968":27164,"17969":27165,"17970":27166,"17971":27167,"17972":27168,"17973":27169,"17974":27170,"17975":27171,"17976":27172,"17977":27173,"17978":27174,"17979":27175,"17980":27176,"17981":27177,"17982":27178,"17983":27179,"17984":27180,"17985":27181,"17986":27182,"17987":27183,"17988":27184,"17989":27185,"17990":27186,"17991":27187,"17992":27188,"17993":27189,"17994":27190,"17995":27191,"17997":27192,"17998":27193,"17999":27194,"18000":27195,"18001":27196,"18002":27197,"18003":27198,"18004":27199,"18005":27200,"18006":27201,"18007":27202,"18008":27203,"18009":27204,"18010":27205,"18011":27206,"18012":27207,"18013":27208,"18014":27209,"18015":27210,"18016":27211,"18018":27212,"18019":27213,"18020":27214,"18021":27215,"18022":27216,"18023":27217,"18024":27218,"18025":27219,"18026":27220,"18027":27221,"18028":27222,"18029":27223,"18030":27224,"18031":27225,"18032":27226,"18033":27227,"18034":27228,"18035":27229,"18036":27230,"18037":27231,"18038":27232,"18039":27233,"18040":27234,"18041":27235,"18042":27236,"18043":27237,"18044":27238,"18045":27239,"18046":27240,"18047":27241,"18048":27242,"18049":27243,"18050":27244,"18051":27245,"18052":27246,"18053":27247,"18054":27248,"18055":27249,"18056":27250,"18057":27251,"18058":27252,"18059":27253,"18060":27254,"18061":27255,"18062":27256,"18063":27257,"18064":27258,"18065":27259,"18066":27260,"18067":27261,"18068":27262,"18069":27263,"18070":27264,"18071":27265,"18072":27266,"18073":27267,"18074":27268,"18075":27269,"18076":27270,"18077":27271,"18078":27272,"18079":27273,"18080":27274,"18081":27275,"18082":27276,"18083":27277,"18084":27278,"18085":27279,"18086":27280,"18087":27281,"18088":27282,"18089":27283,"18090":27284,"18091":27285,"18092":27286,"18093":27287,"18094":27288,"18095":27289,"18096":27290,"18097":27291,"18098":27292,"18099":27293,"18100":27294,"18101":27295,"18102":27296,"18103":27297,"18104":27298,"18105":27299,"18106":27300,"18107":27301,"18108":27302,"18109":27303,"18110":27304,"18111":27305,"18112":27306,"18113":27307,"18114":27308,"18115":27309,"18116":27310,"18117":27311,"18118":27312,"18119":27313,"18120":27314,"18121":27315,"18122":27316,"18123":27317,"18124":27318,"18125":27319,"18126":27320,"18127":27321,"18128":27322,"18129":27323,"18130":27324,"18131":27325,"18132":27326,"18133":27327,"18134":27328,"18135":27329,"18136":27330,"18137":27331,"18138":27332,"18139":27333,"18140":27334,"18141":27335,"18142":27336,"18143":27337,"18144":27338,"18145":27339,"18146":27340,"18147":27341,"18148":27342,"18149":27343,"18150":27344,"18151":27345,"18152":27346,"18153":27347,"18154":27348,"18155":27349,"18156":27350,"18157":27351,"18158":27352,"18159":27353,"18160":27354,"18161":27355,"18162":27356,"18163":27357,"18164":27358,"18165":27359,"18166":27360,"18167":27361,"18168":27362,"18169":27363,"18170":27364,"18171":27365,"18172":27366,"18173":27367,"18174":27368,"18175":27369,"18176":27370,"18177":27371,"18178":27372,"18179":27373,"18180":27374,"18181":27375,"18182":27376,"18183":27377,"18184":27378,"18185":27379,"18186":27380,"18187":27381,"18188":27382,"18189":27383,"18190":27384,"18191":27385,"18192":27386,"18193":27387,"18194":27388,"18195":27389,"18196":27390,"18197":27391,"18198":27392,"18199":27393,"18200":27394,"18201":27395,"18202":27396,"18203":27397,"18204":27398,"18205":27399,"18206":27400,"18207":27401,"18208":27402,"18209":27403,"18210":27404,"18212":27405,"18213":27406,"18214":27407,"18215":27408,"18216":27409,"18218":27410,"18219":27411,"18220":27412,"18221":27413,"18222":27414,"18223":27415,"18224":27416,"18225":27417,"18226":27418,"18227":27419,"18228":27420,"18229":27421,"18230":27422,"18231":27423,"18232":27424,"18233":27425,"18234":27426,"18235":27427,"18236":27428,"18237":27429,"18238":27430,"18239":27431,"18240":27432,"18241":27433,"18242":27434,"18243":27435,"18244":27436,"18245":27437,"18246":27438,"18247":27439,"18248":27440,"18249":27441,"18250":27442,"18251":27443,"18252":27444,"18253":27445,"18254":27446,"18255":27447,"18256":27448,"18257":27449,"18258":27450,"18259":27451,"18260":27452,"18261":27453,"18262":27454,"18263":27455,"18264":27456,"18265":27457,"18266":27458,"18267":27459,"18268":27460,"18269":27461,"18270":27462,"18271":27463,"18272":27464,"18273":27465,"18274":27466,"18275":27467,"18276":27468,"18277":27469,"18278":27470,"18279":27471,"18280":27472,"18281":27473,"18282":27474,"18283":27475,"18284":27476,"18285":27477,"18286":27478,"18287":27479,"18288":27480,"18289":27481,"18290":27482,"18291":27483,"18292":27484,"18293":27485,"18294":27486,"18295":27487,"18296":27488,"18297":27489,"18298":27490,"18299":27491,"18301":27492,"18302":27493,"18303":27494,"18304":27495,"18305":27496,"18306":27497,"18307":27498,"18308":27499,"18309":27500,"18310":27501,"18311":27502,"18312":27503,"18313":27504,"18314":27505,"18315":27506,"18316":27507,"18318":27508,"18319":27509,"18320":27510,"18321":27511,"18322":27512,"18323":27513,"18324":27514,"18325":27515,"18326":27516,"18327":27517,"18328":27518,"18329":27519,"18330":27520,"18331":27521,"18332":27522,"18333":27523,"18334":27524,"18335":27525,"18336":27526,"18337":27527,"18338":27528,"18339":27529,"18340":27530,"18341":27531,"18342":27532,"18343":27533,"18344":27534,"18345":27535,"18346":27536,"18347":27537,"18348":27538,"18349":27539,"18350":27540,"18351":27541,"18352":27542,"18353":27543,"18354":27544,"18355":27545,"18356":27546,"18357":27547,"18358":27548,"18359":27549,"18360":27550,"18361":27551,"18362":27552,"18363":27553,"18364":27554,"18365":27555,"18366":27556,"18367":27557,"18368":27558,"18369":27559,"18370":27560,"18371":27561,"18372":27562,"18373":27563,"18374":27564,"18375":27565,"18376":27566,"18377":27567,"18378":27568,"18379":27569,"18380":27570,"18381":27571,"18382":27572,"18383":27573,"18384":27574,"18385":27575,"18386":27576,"18387":27577,"18388":27578,"18389":27579,"18390":27580,"18391":27581,"18392":27582,"18393":27583,"18394":27584,"18395":27585,"18396":27586,"18397":27587,"18398":27588,"18399":27589,"18400":27590,"18401":27591,"18402":27592,"18403":27593,"18404":27594,"18405":27595,"18406":27596,"18407":27597,"18408":27598,"18409":27599,"18410":27600,"18411":27601,"18412":27602,"18413":27603,"18414":27604,"18415":27605,"18416":27606,"18417":27607,"18418":27608,"18419":27609,"18420":27610,"18421":27611,"18422":27612,"18423":27613,"18424":27614,"18425":27615,"18426":27616,"18427":27617,"18428":27618,"18429":27619,"18430":27620,"18431":27621,"18432":27622,"18433":27623,"18434":27624,"18435":27625,"18436":27626,"18437":27627,"18438":27628,"18439":27629,"18440":27630,"18441":27631,"18442":27632,"18443":27633,"18444":27634,"18445":27635,"18446":27636,"18447":27637,"18448":27638,"18449":27639,"18450":27640,"18451":27641,"18452":27642,"18453":27643,"18454":27644,"18455":27645,"18456":27646,"18457":27647,"18458":27648,"18459":27649,"18460":27650,"18461":27651,"18462":27652,"18463":27653,"18464":27654,"18465":27655,"18466":27656,"18467":27657,"18468":27658,"18469":27659,"18470":27660,"18471":27661,"18472":27662,"18473":27663,"18474":27664,"18475":27665,"18476":27666,"18477":27667,"18478":27668,"18479":27669,"18480":27670,"18481":27671,"18482":27672,"18483":27673,"18484":27674,"18485":27675,"18486":27676,"18487":27677,"18488":27678,"18489":27679,"18490":27680,"18491":27681,"18492":27682,"18493":27683,"18494":27684,"18495":27685,"18496":27686,"18497":27687,"18498":27688,"18499":27689,"18500":27690,"18501":27691,"18502":27692,"18503":27693,"18504":27694,"18505":27695,"18506":27696,"18507":27697,"18508":27698,"18509":27699,"18510":27700,"18511":27701,"18512":27702,"18513":27703,"18514":27704,"18515":27705,"18516":27706,"18517":27707,"18518":27708,"18519":27709,"18520":27710,"18521":27711,"18522":27712,"18523":27713,"18524":27714,"18525":27715,"18526":27716,"18527":27717,"18528":27718,"18529":27719,"18530":27720,"18531":27721,"18532":27722,"18533":27723,"18534":27724,"18535":27725,"18536":27726,"18537":27727,"18538":27728,"18539":27729,"18540":27730,"18541":27731,"18542":27732,"18543":27733,"18544":27734,"18545":27735,"18546":27736,"18547":27737,"18548":27738,"18549":27739,"18550":27740,"18551":27741,"18552":27742,"18553":27743,"18554":27744,"18555":27745,"18556":27746,"18557":27747,"18558":27748,"18559":27749,"18560":27750,"18561":27751,"18562":27752,"18563":27753,"18564":27754,"18565":27755,"18566":27756,"18567":27757,"18568":27758,"18569":27759,"18570":27760,"18571":27761,"18572":27762,"18573":27763,"18574":27764,"18575":27765,"18576":27766,"18577":27767,"18578":27768,"18579":27769,"18580":27770,"18581":27771,"18582":27772,"18583":27773,"18584":27774,"18585":27775,"18586":27776,"18587":27777,"18588":27778,"18589":27779,"18590":27780,"18591":27781,"18592":27782,"18593":27783,"18594":27784,"18595":27785,"18596":27786,"18597":27787,"18598":27788,"18599":27789,"18600":27790,"18601":27791,"18602":27792,"18603":27793,"18604":27794,"18605":27795,"18606":27796,"18607":27797,"18608":27798,"18609":27799,"18610":27800,"18611":27801,"18612":27802,"18613":27803,"18614":27804,"18615":27805,"18616":27806,"18617":27807,"18618":27808,"18619":27809,"18620":27810,"18621":27811,"18622":27812,"18623":27813,"18624":27814,"18625":27815,"18626":27816,"18627":27817,"18628":27818,"18629":27819,"18630":27820,"18631":27821,"18632":27822,"18633":27823,"18634":27824,"18635":27825,"18636":27826,"18637":27827,"18638":27828,"18639":27829,"18640":27830,"18641":27831,"18642":27832,"18643":27833,"18644":27834,"18645":27835,"18646":27836,"18647":27837,"18648":27838,"18649":27839,"18650":27840,"18651":27841,"18652":27842,"18653":27843,"18654":27844,"18655":27845,"18656":27846,"18657":27847,"18658":27848,"18659":27849,"18660":27850,"18661":27851,"18662":27852,"18663":27853,"18664":27854,"18665":27855,"18666":27856,"18667":27857,"18668":27858,"18669":27859,"18670":27860,"18671":27861,"18672":27862,"18673":27863,"18674":27864,"18675":27865,"18676":27866,"18677":27867,"18678":27868,"18679":27869,"18680":27870,"18681":27871,"18682":27872,"18683":27873,"18684":27874,"18685":27875,"18686":27876,"18687":27877,"18688":27878,"18689":27879,"18690":27880,"18691":27881,"18692":27882,"18693":27883,"18694":27884,"18695":27885,"18696":27886,"18697":27887,"18698":27888,"18699":27889,"18700":27890,"18701":27891,"18702":27892,"18703":27893,"18704":27894,"18705":27895,"18706":27896,"18707":27897,"18708":27898,"18709":27899,"18710":27900,"18711":27901,"18712":27902,"18713":27903,"18714":27904,"18715":27905,"18716":27906,"18717":27907,"18718":27908,"18719":27909,"18720":27910,"18721":27911,"18722":27912,"18723":27913,"18724":27914,"18725":27915,"18726":27916,"18727":27917,"18728":27918,"18729":27919,"18730":27920,"18731":27921,"18732":27922,"18733":27923,"18734":27924,"18735":27925,"18736":27926,"18737":27927,"18738":27928,"18739":27929,"18740":27930,"18741":27931,"18742":27932,"18743":27933,"18744":27934,"18745":27935,"18746":27936,"18747":27937,"18748":27938,"18749":27939,"18750":27940,"18751":27941,"18752":27942,"18753":27943,"18754":27944,"18755":27945,"18756":27946,"18757":27947,"18758":27948,"18760":27949,"18761":27950,"18762":27951,"18763":27952,"18764":27953,"18765":27954,"18766":27955,"18767":27956,"18768":27957,"18769":27958,"18770":27959,"18771":27960,"18772":27961,"18773":27962,"18774":27963,"18775":27964,"18776":27965,"18777":27966,"18778":27967,"18779":27968,"18780":27969,"18781":27970,"18782":27971,"18783":27972,"18784":27973,"18785":27974,"18786":27975,"18787":27976,"18788":27977,"18789":27978,"18790":27979,"18791":27980,"18792":27981,"18793":27982,"18794":27983,"18795":27984,"18796":27985,"18797":27986,"18798":27987,"18799":27988,"18800":27989,"18801":27990,"18802":27991,"18803":27992,"18804":27993,"18805":27994,"18806":27995,"18807":27996,"18808":27997,"18809":27998,"18811":27999,"18812":28000,"18814":28001,"18815":28002,"18816":28003,"18817":28004,"18820":28005,"18823":28006,"18824":28007,"18825":28008,"18826":28009,"18827":28010,"18828":28011,"18829":28012,"18830":28013,"18831":28014,"18832":28015,"18833":28016,"18834":28017,"18835":28018,"18836":28019,"18837":28020,"18838":28021,"18839":28022,"18840":28023,"18841":28024,"18842":28025,"18844":28026,"18845":28027,"18846":28028,"18848":28029,"18849":28030,"18850":28031,"18851":28032,"18852":28033,"18853":28034,"18854":28035,"18855":28036,"18856":28037,"18857":28038,"18858":28039,"18859":28040,"18860":28041,"18861":28042,"18862":28043,"18863":28044,"18864":28045,"18865":28046,"18866":28047,"18867":28048,"18868":28049,"18869":28050,"18872":28051,"18873":28052,"18874":28053,"18875":28054,"18876":28055,"18877":28056,"18878":28057,"18879":28058,"18880":28059,"18881":28060,"18882":28061,"18883":28062,"18884":28063,"18885":28064,"18886":28065,"18887":28066,"18888":28067,"18889":28068,"18890":28069,"18891":28070,"18892":28071,"18893":28072,"18894":28073,"18895":28074,"18896":28075,"18897":28076,"18898":28077,"18899":28078,"18900":28079,"18901":28080,"18902":28081,"18903":28082,"18904":28083,"18905":28084,"18906":28085,"18907":28086,"18908":28087,"18909":28088,"18910":28089,"18911":28090,"18912":28091,"18913":28092,"18914":28093,"18915":28094,"18916":28095,"18917":28096,"18918":28097,"18919":28098,"18920":28099,"18921":28100,"18922":28101,"18923":28102,"18924":28103,"18925":28104,"18926":28105,"18927":28106,"18928":28107,"18929":28108,"18930":28109,"18931":28110,"18932":28111,"18933":28112,"18934":28113,"18935":28114,"18936":28115,"18937":28116,"18938":28117,"18939":28118,"18940":28119,"18941":28120,"18942":28121,"18943":28122,"18944":28123,"18945":28124,"18946":28125,"18947":28126,"18948":28127,"18949":28128,"18950":28129,"18951":28130,"18952":28131,"18953":28132,"18954":28133,"18955":28134,"18956":28135,"18957":28136,"18958":28137,"18959":28138,"18960":28139,"18961":28140,"18962":28141,"18963":28142,"18964":28143,"18965":28144,"18966":28145,"18967":28146,"18968":28147,"18969":28148,"18970":28149,"18971":28150,"18972":28151,"18973":28152,"18974":28153,"18975":28154,"18976":28155,"18977":28156,"18978":28157,"18979":28158,"18980":28159,"18981":28160,"18982":28161,"18983":28162,"18984":28163,"18985":28164,"18986":28165,"18987":28166,"18988":28167,"18989":28168,"18990":28169,"18991":28170,"18992":28171,"18993":28172,"18994":28173,"18995":28174,"18996":28175,"18997":28176,"18998":28177,"18999":28178,"19000":28179,"19001":28180,"19002":28181,"19003":28182,"19004":28183,"19005":28184,"19006":28185,"19007":28186,"19008":28187,"19009":28188,"19010":28189,"19011":28190,"19012":28191,"19013":28192,"19014":28193,"19015":28194,"19016":28195,"19017":28196,"19018":28197,"19019":28198,"19020":28199,"19021":28200,"19022":28201,"19023":28202,"19024":28203,"19025":28204,"19026":28205,"19027":28206,"19028":28207,"19029":28208,"19030":28209,"19031":28210,"19032":28211,"19033":28212,"19034":28213,"19035":28214,"19036":28215,"19037":28216,"19038":28217,"19039":28218,"19040":28219,"19041":28220,"19042":28221,"19043":28222,"19044":28223,"19045":28224,"19046":28225,"19047":28226,"19048":28227,"19049":28228,"19050":28229,"19051":28230,"19052":28231,"19053":28232,"19054":28233,"19055":28234,"19056":28235,"19057":28236,"19058":28237,"19059":28238,"19060":28239,"19061":28240,"19062":28241,"19063":28242,"19064":28243,"19065":28244,"19066":28245,"19067":28246,"19068":28247,"19069":28248,"19070":28249,"19071":28250,"19072":28251,"19073":28252,"19074":28253,"19075":28254,"19076":28255,"19077":28256,"19078":28257,"19079":28258,"19080":28259,"19081":28260,"19082":28261,"19083":28262,"19084":28263,"19085":28264,"19086":28265,"19087":28266,"19088":28267,"19089":28268,"19090":28269,"19091":28270,"19092":28271,"19093":28272,"19094":28273,"19095":28274,"19096":28275,"19097":28276,"19098":28277,"19099":28278,"19100":28279,"19101":28280,"19102":28281,"19103":28282,"19104":28283,"19105":28284,"19106":28285,"19107":28286,"19108":28287,"19109":28288,"19110":28289,"19111":28290,"19112":28291,"19113":28292,"19114":28293,"19115":28294,"19116":28295,"19117":28296,"19118":28297,"19119":28298,"19120":28299,"19121":28300,"19122":28301,"19123":28302,"19124":28303,"19125":28304,"19126":28305,"19127":28306,"19128":28307,"19129":28308,"19130":28309,"19131":28310,"19132":28311,"19133":28312,"19134":28313,"19135":28314,"19136":28315,"19137":28316,"19138":28317,"19139":28318,"19140":28319,"19141":28320,"19142":28321,"19143":28322,"19144":28323,"19145":28324,"19146":28325,"19147":28326,"19148":28327,"19149":28328,"19150":28329,"19151":28330,"19152":28331,"19153":28332,"19154":28333,"19155":28334,"19156":28335,"19157":28336,"19158":28337,"19159":28338,"19160":28339,"19161":28340,"19162":28341,"19163":28342,"19164":28343,"19165":28344,"19166":28345,"19167":28346,"19168":28347,"19169":28348,"19170":28349,"19171":28350,"19172":28351,"19173":28352,"19174":28353,"19175":28354,"19176":28355,"19177":28356,"19178":28357,"19179":28358,"19180":28359,"19181":28360,"19182":28361,"19183":28362,"19184":28363,"19185":28364,"19186":28365,"19187":28366,"19188":28367,"19189":28368,"19190":28369,"19191":28370,"19192":28371,"19193":28372,"19194":28373,"19195":28374,"19196":28375,"19197":28376,"19198":28377,"19199":28378,"19200":28379,"19201":28380,"19202":28381,"19203":28382,"19204":28383,"19205":28384,"19206":28385,"19207":28386,"19208":28387,"19209":28388,"19210":28389,"19211":28390,"19212":28391,"19213":28392,"19214":28393,"19215":28394,"19216":28395,"19217":28396,"19218":28397,"19219":28398,"19220":28399,"19221":28400,"19222":28401,"19223":28402,"19224":28403,"19225":28404,"19226":28405,"19227":28406,"19228":28407,"19229":28408,"19230":28409,"19231":28410,"19232":28411,"19233":28412,"19234":28413,"19235":28414,"19236":28415,"19237":28416,"19238":28417,"19239":28418,"19240":28419,"19241":28420,"19242":28421,"19243":28422,"19244":28423,"19245":28424,"19246":28425,"19247":28426,"19248":28427,"19249":28428,"19250":28429,"19251":28430,"19252":28431,"19253":28432,"19254":28433,"19255":28434,"19256":28435,"19257":28436,"19258":28437,"19259":28438,"19260":28439,"19261":28440,"19262":28441,"19263":28442,"19264":28443,"19265":28444,"19266":28445,"19267":28446,"19268":28447,"19269":28448,"19270":28449,"19271":28450,"19272":28451,"19273":28452,"19274":28453,"19275":28454,"19276":28455,"19277":28456,"19278":28457,"19279":28458,"19280":28459,"19281":28460,"19282":28461,"19283":28462,"19284":28463,"19285":28464,"19286":28465,"19287":28466,"19288":28467,"19289":28468,"19290":28469,"19291":28470,"19292":28471,"19293":28472,"19294":28473,"19295":28474,"19296":28475,"19297":28476,"19298":28477,"19299":28478,"19300":28479,"19301":28480,"19302":28481,"19303":28482,"19304":28483,"19305":28484,"19306":28485,"19307":28486,"19308":28487,"19309":28488,"19310":28489,"19311":28490,"19312":28491,"19313":28492,"19314":28493,"19315":28494,"19316":28495,"19317":28496,"19318":28497,"19319":28498,"19320":28499,"19321":28500,"19322":28501,"19323":28502,"19324":28503,"19325":28504,"19326":28505,"19327":28506,"19328":28507,"19329":28508,"19330":28509,"19331":28510,"19332":28511,"19333":28512,"19334":28513,"19335":28514,"19336":28515,"19337":28516,"19338":28517,"19339":28518,"19340":28519,"19341":28520,"19342":28521,"19343":28522,"19344":28523,"19345":28524,"19346":28525,"19347":28526,"19348":28527,"19349":28528,"19350":28529,"19351":28530,"19352":28531,"19353":28532,"19354":28533,"19355":28534,"19356":28535,"19357":28536,"19358":28537,"19359":28538,"19360":28539,"19361":28540,"19362":28541,"19363":28542,"19364":28543,"19365":28544,"19366":28545,"19367":28546,"19368":28547,"19369":28548,"19370":28549,"19371":28550,"19372":28551,"19373":28552,"19374":28553,"19375":28554,"19376":28555,"19377":28556,"19378":28557,"19379":28558,"19380":28559,"19381":28560,"19382":28561,"19383":28562,"19384":28563,"19385":28564,"19386":28565,"19387":28566,"19388":28567,"19389":28568,"19390":28569,"19391":28570,"19392":28571,"19393":28572,"19394":28573,"19395":28574,"19396":28575,"19397":28576,"19398":28577,"19399":28578,"19400":28579,"19401":28580,"19402":28581,"19403":28582,"19404":28583,"19405":28584,"19406":28585,"19407":28586,"19408":28587,"19409":28588,"19410":28589,"19411":28590,"19412":28591,"19413":28592,"19414":28593,"19415":28594,"19416":28595,"19417":28596,"19418":28597,"19419":28598,"19420":28599,"19421":28600,"19422":28601,"19423":28602,"19424":28603,"19425":28604,"19426":28605,"19427":28606,"19428":28607,"19429":28608,"19430":28609,"19431":28610,"19432":28611,"19433":28612,"19434":28613,"19435":28614,"19436":28615,"19437":28616,"19438":28617,"19439":28618,"19440":28619,"19441":28620,"19442":28621,"19443":28622,"19444":28623,"19445":28624,"19446":28625,"19447":28626,"19448":28627,"19449":28628,"19450":28629,"19451":28630,"19452":28631,"19453":28632,"19454":28633,"19455":28634,"19456":28635,"19457":28636,"19458":28637,"19459":28638,"19460":28639,"19461":28640,"19462":28641,"19463":28642,"19464":28643,"19465":28644,"19466":28645,"19467":28646,"19468":28647,"19469":28648,"19470":28649,"19471":28650,"19472":28651,"19473":28652,"19474":28653,"19475":28654,"19476":28655,"19477":28656,"19478":28657,"19479":28658,"19480":28659,"19481":28660,"19482":28661,"19483":28662,"19484":28663,"19485":28664,"19486":28665,"19487":28666,"19488":28667,"19489":28668,"19490":28669,"19491":28670,"19492":28671,"19493":28672,"19494":28673,"19495":28674,"19496":28675,"19497":28676,"19498":28677,"19499":28678,"19500":28679,"19501":28680,"19502":28681,"19503":28682,"19504":28683,"19505":28684,"19506":28685,"19507":28686,"19508":28687,"19509":28688,"19510":28689,"19511":28690,"19512":28691,"19513":28692,"19514":28693,"19515":28694,"19516":28695,"19517":28696,"19518":28697,"19519":28698,"19520":28699,"19521":28700,"19522":28701,"19523":28702,"19524":28703,"19525":28704,"19526":28705,"19527":28706,"19528":28707,"19529":28708,"19530":28709,"19531":28710,"19532":28711,"19533":28712,"19534":28713,"19535":28714,"19536":28715,"19537":28716,"19538":28717,"19539":28718,"19540":28719,"19541":28720,"19542":28721,"19543":28722,"19544":28723,"19545":28724,"19546":28725,"19547":28726,"19548":28727,"19549":28728,"19550":28729,"19551":28730,"19552":28731,"19553":28732,"19554":28733,"19555":28734,"19556":28735,"19557":28736,"19558":28737,"19559":28738,"19560":28739,"19561":28740,"19562":28741,"19563":28742,"19564":28743,"19565":28744,"19566":28745,"19567":28746,"19568":28747,"19569":28748,"19570":28749,"19571":28750,"19572":28751,"19573":28752,"19574":28753,"19576":28754,"19577":28755,"19578":28756,"19579":28757,"19580":28758,"19581":28759,"19582":28760,"19583":28761,"19584":28762,"19585":28763,"19586":28764,"19587":28765,"19588":28766,"19589":28767,"19590":28768,"19591":28769,"19592":28770,"19593":28771,"19594":28772,"19595":28773,"19596":28774,"19597":28775,"19598":28776,"19599":28777,"19600":28778,"19601":28779,"19602":28780,"19603":28781,"19604":28782,"19605":28783,"19606":28784,"19607":28785,"19608":28786,"19609":28787,"19610":28788,"19611":28789,"19612":28790,"19613":28791,"19614":28792,"19620":28793,"19621":28794,"19622":28795,"19623":28796,"19624":28797,"19625":28798,"19626":28799,"19627":28800,"19628":28801,"19629":28802,"19630":28803,"19631":28804,"19632":28805,"19633":28806,"19634":28807,"19635":28808,"19636":28809,"19637":28810,"19638":28811,"19639":28812,"19640":28813,"19641":28814,"19642":28815,"19643":28816,"19644":28817,"19645":28818,"19646":28819,"19647":28820,"19648":28821,"19649":28822,"19650":28823,"19651":28824,"19652":28825,"19653":28826,"19654":28827,"19655":28828,"19656":28829,"19657":28830,"19658":28831,"19659":28832,"19660":28833,"19661":28834,"19662":28835,"19663":28836,"19664":28837,"19665":28838,"19666":28839,"19667":28840,"19668":28841,"19669":28842,"19670":28843,"19671":28844,"19672":28845,"19673":28846,"19674":28847,"19675":28848,"19676":28849,"19677":28850,"19678":28851,"19679":28852,"19680":28853,"19681":28854,"19682":28855,"19683":28856,"19684":28857,"19685":28858,"19686":28859,"19687":28860,"19688":28861,"19689":28862,"19690":28863,"19691":28864,"19692":28865,"19693":28866,"19694":28867,"19695":28868,"19696":28869,"19697":28870,"19698":28871,"19699":28872,"19700":28873,"19701":28874,"19702":28875,"19703":28876,"19704":28877,"19705":28878,"19706":28879,"19707":28880,"19708":28881,"19709":28882,"19710":28883,"19711":28884,"19712":28885,"19713":28886,"19714":28887,"19715":28888,"19716":28889,"19717":28890,"19718":28891,"19719":28892,"19720":28893,"19721":28894,"19722":28895,"19723":28896,"19724":28897,"19725":28898,"19726":28899,"19727":28900,"19728":28901,"19729":28902,"19730":28903,"19738":28904,"19739":28905,"19740":28906,"19741":28907,"19742":28908,"19743":28909,"19744":28910,"19745":28911,"19746":28912,"19747":28913,"19748":28914,"19749":28915,"19750":28916,"19751":28917,"19752":28918,"19753":28919,"19754":28920,"19755":28921,"19756":28922,"19757":28923,"19758":28924,"19759":28925,"19760":28926,"19761":28927,"19762":28928,"19763":28929,"19764":28930,"19765":28931,"19766":28932,"19767":28933,"19768":28934,"19769":28935,"19770":28936,"19771":28937,"19772":28938,"19773":28939,"19774":28940,"19775":28941,"19776":28942,"19777":28943,"19778":28944,"19779":28945,"19780":28946,"19781":28947,"19782":28948,"19783":28949,"19784":28950,"19785":28951,"19786":28952,"19787":28953,"19788":28954,"19789":28955,"19790":28956,"19791":28957,"19792":28958,"19793":28959,"19794":28960,"19795":28961,"19796":28962,"19797":28963,"19798":28964,"19799":28965,"19800":28966,"19801":28967,"19802":28968,"19803":28969,"19804":28970,"19805":28971,"19806":28972,"19807":28973,"19808":28974,"19809":28975,"19810":28976,"19811":28977,"19812":28978,"19813":28979,"19814":28980,"19815":28981,"19816":28982,"19817":28983,"19818":28984,"19819":28985,"19820":28986,"19821":28987,"19822":28988,"19823":28989,"19824":28990,"19825":28991,"19826":28992,"19827":28993,"19828":28994,"19829":28995,"19830":28996,"19831":28997,"19832":28998,"19833":28999,"19834":29000,"19835":29001,"19836":29002,"19837":29003,"19838":29004,"19839":29005,"19840":29006,"19841":29007,"19842":29008,"19843":29009,"19844":29010,"19845":29011,"19846":29012,"19847":29013,"19848":29014,"19849":29015,"19850":29016,"19851":29017,"19852":29018,"19853":29019,"19854":29020,"19855":29021,"19856":29022,"19857":29023,"19858":29024,"19859":29025,"19860":29026,"19861":29027,"19862":29028,"19863":29029,"19864":29030,"19865":29031,"19866":29032,"19867":29033,"19868":29034,"19869":29035,"19870":29036,"19871":29037,"19872":29038,"19873":29039,"19874":29040,"19875":29041,"19876":29042,"19877":29043,"19878":29044,"19879":29045,"19880":29046,"19881":29047,"19882":29048,"19883":29049,"19884":29050,"19885":29051,"19887":29052,"19888":29053,"19889":29054,"19890":29055,"19891":29056,"19892":29057,"19893":29058,"40960":29064,"40961":29065,"40962":29066,"40963":29067,"40964":29068,"40965":29069,"40966":29070,"40967":29071,"40968":29072,"40969":29073,"40970":29074,"40971":29075,"40972":29076,"40973":29077,"40974":29078,"40975":29079,"40976":29080,"40977":29081,"40978":29082,"40979":29083,"40980":29084,"40981":29085,"40982":29086,"40983":29087,"40984":29088,"40985":29089,"40986":29090,"40987":29091,"40988":29092,"40989":29093,"40990":29094,"40991":29095,"40992":29096,"40993":29097,"40994":29098,"40995":29099,"40996":29100,"40997":29101,"40998":29102,"40999":29103,"41000":29104,"41001":29105,"41002":29106,"41003":29107,"41004":29108,"41005":29109,"41006":29110,"41007":29111,"41008":29112,"41009":29113,"41010":29114,"41011":29115,"41012":29116,"41013":29117,"41014":29118,"41015":29119,"41016":29120,"41017":29121,"41018":29122,"41019":29123,"41020":29124,"41021":29125,"41022":29126,"41023":29127,"41024":29128,"41025":29129,"41026":29130,"41027":29131,"41028":29132,"41029":29133,"41030":29134,"41031":29135,"41032":29136,"41033":29137,"41034":29138,"41035":29139,"41036":29140,"41037":29141,"41038":29142,"41039":29143,"41040":29144,"41041":29145,"41042":29146,"41043":29147,"41044":29148,"41045":29149,"41046":29150,"41047":29151,"41048":29152,"41049":29153,"41050":29154,"41051":29155,"41052":29156,"41053":29157,"41054":29158,"41055":29159,"41056":29160,"41057":29161,"41058":29162,"41059":29163,"41060":29164,"41061":29165,"41062":29166,"41063":29167,"41064":29168,"41065":29169,"41066":29170,"41067":29171,"41068":29172,"41069":29173,"41070":29174,"41071":29175,"41072":29176,"41073":29177,"41074":29178,"41075":29179,"41076":29180,"41077":29181,"41078":29182,"41079":29183,"41080":29184,"41081":29185,"41082":29186,"41083":29187,"41084":29188,"41085":29189,"41086":29190,"41087":29191,"41088":29192,"41089":29193,"41090":29194,"41091":29195,"41092":29196,"41093":29197,"41094":29198,"41095":29199,"41096":29200,"41097":29201,"41098":29202,"41099":29203,"41100":29204,"41101":29205,"41102":29206,"41103":29207,"41104":29208,"41105":29209,"41106":29210,"41107":29211,"41108":29212,"41109":29213,"41110":29214,"41111":29215,"41112":29216,"41113":29217,"41114":29218,"41115":29219,"41116":29220,"41117":29221,"41118":29222,"41119":29223,"41120":29224,"41121":29225,"41122":29226,"41123":29227,"41124":29228,"41125":29229,"41126":29230,"41127":29231,"41128":29232,"41129":29233,"41130":29234,"41131":29235,"41132":29236,"41133":29237,"41134":29238,"41135":29239,"41136":29240,"41137":29241,"41138":29242,"41139":29243,"41140":29244,"41141":29245,"41142":29246,"41143":29247,"41144":29248,"41145":29249,"41146":29250,"41147":29251,"41148":29252,"41149":29253,"41150":29254,"41151":29255,"41152":29256,"41153":29257,"41154":29258,"41155":29259,"41156":29260,"41157":29261,"41158":29262,"41159":29263,"41160":29264,"41161":29265,"41162":29266,"41163":29267,"41164":29268,"41165":29269,"41166":29270,"41167":29271,"41168":29272,"41169":29273,"41170":29274,"41171":29275,"41172":29276,"41173":29277,"41174":29278,"41175":29279,"41176":29280,"41177":29281,"41178":29282,"41179":29283,"41180":29284,"41181":29285,"41182":29286,"41183":29287,"41184":29288,"41185":29289,"41186":29290,"41187":29291,"41188":29292,"41189":29293,"41190":29294,"41191":29295,"41192":29296,"41193":29297,"41194":29298,"41195":29299,"41196":29300,"41197":29301,"41198":29302,"41199":29303,"41200":29304,"41201":29305,"41202":29306,"41203":29307,"41204":29308,"41205":29309,"41206":29310,"41207":29311,"41208":29312,"41209":29313,"41210":29314,"41211":29315,"41212":29316,"41213":29317,"41214":29318,"41215":29319,"41216":29320,"41217":29321,"41218":29322,"41219":29323,"41220":29324,"41221":29325,"41222":29326,"41223":29327,"41224":29328,"41225":29329,"41226":29330,"41227":29331,"41228":29332,"41229":29333,"41230":29334,"41231":29335,"41232":29336,"41233":29337,"41234":29338,"41235":29339,"41236":29340,"41237":29341,"41238":29342,"41239":29343,"41240":29344,"41241":29345,"41242":29346,"41243":29347,"41244":29348,"41245":29349,"41246":29350,"41247":29351,"41248":29352,"41249":29353,"41250":29354,"41251":29355,"41252":29356,"41253":29357,"41254":29358,"41255":29359,"41256":29360,"41257":29361,"41258":29362,"41259":29363,"41260":29364,"41261":29365,"41262":29366,"41263":29367,"41264":29368,"41265":29369,"41266":29370,"41267":29371,"41268":29372,"41269":29373,"41270":29374,"41271":29375,"41272":29376,"41273":29377,"41274":29378,"41275":29379,"41276":29380,"41277":29381,"41278":29382,"41279":29383,"41280":29384,"41281":29385,"41282":29386,"41283":29387,"41284":29388,"41285":29389,"41286":29390,"41287":29391,"41288":29392,"41289":29393,"41290":29394,"41291":29395,"41292":29396,"41293":29397,"41294":29398,"41295":29399,"41296":29400,"41297":29401,"41298":29402,"41299":29403,"41300":29404,"41301":29405,"41302":29406,"41303":29407,"41304":29408,"41305":29409,"41306":29410,"41307":29411,"41308":29412,"41309":29413,"41310":29414,"41311":29415,"41312":29416,"41313":29417,"41314":29418,"41315":29419,"41316":29420,"41317":29421,"41318":29422,"41319":29423,"41320":29424,"41321":29425,"41322":29426,"41323":29427,"41324":29428,"41325":29429,"41326":29430,"41327":29431,"41328":29432,"41329":29433,"41330":29434,"41331":29435,"41332":29436,"41333":29437,"41334":29438,"41335":29439,"41336":29440,"41337":29441,"41338":29442,"41339":29443,"41340":29444,"41341":29445,"41342":29446,"41343":29447,"41344":29448,"41345":29449,"41346":29450,"41347":29451,"41348":29452,"41349":29453,"41350":29454,"41351":29455,"41352":29456,"41353":29457,"41354":29458,"41355":29459,"41356":29460,"41357":29461,"41358":29462,"41359":29463,"41360":29464,"41361":29465,"41362":29466,"41363":29467,"41364":29468,"41365":29469,"41366":29470,"41367":29471,"41368":29472,"41369":29473,"41370":29474,"41371":29475,"41372":29476,"41373":29477,"41374":29478,"41375":29479,"41376":29480,"41377":29481,"41378":29482,"41379":29483,"41380":29484,"41381":29485,"41382":29486,"41383":29487,"41384":29488,"41385":29489,"41386":29490,"41387":29491,"41388":29492,"41389":29493,"41390":29494,"41391":29495,"41392":29496,"41393":29497,"41394":29498,"41395":29499,"41396":29500,"41397":29501,"41398":29502,"41399":29503,"41400":29504,"41401":29505,"41402":29506,"41403":29507,"41404":29508,"41405":29509,"41406":29510,"41407":29511,"41408":29512,"41409":29513,"41410":29514,"41411":29515,"41412":29516,"41413":29517,"41414":29518,"41415":29519,"41416":29520,"41417":29521,"41418":29522,"41419":29523,"41420":29524,"41421":29525,"41422":29526,"41423":29527,"41424":29528,"41425":29529,"41426":29530,"41427":29531,"41428":29532,"41429":29533,"41430":29534,"41431":29535,"41432":29536,"41433":29537,"41434":29538,"41435":29539,"41436":29540,"41437":29541,"41438":29542,"41439":29543,"41440":29544,"41441":29545,"41442":29546,"41443":29547,"41444":29548,"41445":29549,"41446":29550,"41447":29551,"41448":29552,"41449":29553,"41450":29554,"41451":29555,"41452":29556,"41453":29557,"41454":29558,"41455":29559,"41456":29560,"41457":29561,"41458":29562,"41459":29563,"41460":29564,"41461":29565,"41462":29566,"41463":29567,"41464":29568,"41465":29569,"41466":29570,"41467":29571,"41468":29572,"41469":29573,"41470":29574,"41471":29575,"41472":29576,"41473":29577,"41474":29578,"41475":29579,"41476":29580,"41477":29581,"41478":29582,"41479":29583,"41480":29584,"41481":29585,"41482":29586,"41483":29587,"41484":29588,"41485":29589,"41486":29590,"41487":29591,"41488":29592,"41489":29593,"41490":29594,"41491":29595,"41492":29596,"41493":29597,"41494":29598,"41495":29599,"41496":29600,"41497":29601,"41498":29602,"41499":29603,"41500":29604,"41501":29605,"41502":29606,"41503":29607,"41504":29608,"41505":29609,"41506":29610,"41507":29611,"41508":29612,"41509":29613,"41510":29614,"41511":29615,"41512":29616,"41513":29617,"41514":29618,"41515":29619,"41516":29620,"41517":29621,"41518":29622,"41519":29623,"41520":29624,"41521":29625,"41522":29626,"41523":29627,"41524":29628,"41525":29629,"41526":29630,"41527":29631,"41528":29632,"41529":29633,"41530":29634,"41531":29635,"41532":29636,"41533":29637,"41534":29638,"41535":29639,"41536":29640,"41537":29641,"41538":29642,"41539":29643,"41540":29644,"41541":29645,"41542":29646,"41543":29647,"41544":29648,"41545":29649,"41546":29650,"41547":29651,"41548":29652,"41549":29653,"41550":29654,"41551":29655,"41552":29656,"41553":29657,"41554":29658,"41555":29659,"41556":29660,"41557":29661,"41558":29662,"41559":29663,"41560":29664,"41561":29665,"41562":29666,"41563":29667,"41564":29668,"41565":29669,"41566":29670,"41567":29671,"41568":29672,"41569":29673,"41570":29674,"41571":29675,"41572":29676,"41573":29677,"41574":29678,"41575":29679,"41576":29680,"41577":29681,"41578":29682,"41579":29683,"41580":29684,"41581":29685,"41582":29686,"41583":29687,"41584":29688,"41585":29689,"41586":29690,"41587":29691,"41588":29692,"41589":29693,"41590":29694,"41591":29695,"41592":29696,"41593":29697,"41594":29698,"41595":29699,"41596":29700,"41597":29701,"41598":29702,"41599":29703,"41600":29704,"41601":29705,"41602":29706,"41603":29707,"41604":29708,"41605":29709,"41606":29710,"41607":29711,"41608":29712,"41609":29713,"41610":29714,"41611":29715,"41612":29716,"41613":29717,"41614":29718,"41615":29719,"41616":29720,"41617":29721,"41618":29722,"41619":29723,"41620":29724,"41621":29725,"41622":29726,"41623":29727,"41624":29728,"41625":29729,"41626":29730,"41627":29731,"41628":29732,"41629":29733,"41630":29734,"41631":29735,"41632":29736,"41633":29737,"41634":29738,"41635":29739,"41636":29740,"41637":29741,"41638":29742,"41639":29743,"41640":29744,"41641":29745,"41642":29746,"41643":29747,"41644":29748,"41645":29749,"41646":29750,"41647":29751,"41648":29752,"41649":29753,"41650":29754,"41651":29755,"41652":29756,"41653":29757,"41654":29758,"41655":29759,"41656":29760,"41657":29761,"41658":29762,"41659":29763,"41660":29764,"41661":29765,"41662":29766,"41663":29767,"41664":29768,"41665":29769,"41666":29770,"41667":29771,"41668":29772,"41669":29773,"41670":29774,"41671":29775,"41672":29776,"41673":29777,"41674":29778,"41675":29779,"41676":29780,"41677":29781,"41678":29782,"41679":29783,"41680":29784,"41681":29785,"41682":29786,"41683":29787,"41684":29788,"41685":29789,"41686":29790,"41687":29791,"41688":29792,"41689":29793,"41690":29794,"41691":29795,"41692":29796,"41693":29797,"41694":29798,"41695":29799,"41696":29800,"41697":29801,"41698":29802,"41699":29803,"41700":29804,"41701":29805,"41702":29806,"41703":29807,"41704":29808,"41705":29809,"41706":29810,"41707":29811,"41708":29812,"41709":29813,"41710":29814,"41711":29815,"41712":29816,"41713":29817,"41714":29818,"41715":29819,"41716":29820,"41717":29821,"41718":29822,"41719":29823,"41720":29824,"41721":29825,"41722":29826,"41723":29827,"41724":29828,"41725":29829,"41726":29830,"41727":29831,"41728":29832,"41729":29833,"41730":29834,"41731":29835,"41732":29836,"41733":29837,"41734":29838,"41735":29839,"41736":29840,"41737":29841,"41738":29842,"41739":29843,"41740":29844,"41741":29845,"41742":29846,"41743":29847,"41744":29848,"41745":29849,"41746":29850,"41747":29851,"41748":29852,"41749":29853,"41750":29854,"41751":29855,"41752":29856,"41753":29857,"41754":29858,"41755":29859,"41756":29860,"41757":29861,"41758":29862,"41759":29863,"41760":29864,"41761":29865,"41762":29866,"41763":29867,"41764":29868,"41765":29869,"41766":29870,"41767":29871,"41768":29872,"41769":29873,"41770":29874,"41771":29875,"41772":29876,"41773":29877,"41774":29878,"41775":29879,"41776":29880,"41777":29881,"41778":29882,"41779":29883,"41780":29884,"41781":29885,"41782":29886,"41783":29887,"41784":29888,"41785":29889,"41786":29890,"41787":29891,"41788":29892,"41789":29893,"41790":29894,"41791":29895,"41792":29896,"41793":29897,"41794":29898,"41795":29899,"41796":29900,"41797":29901,"41798":29902,"41799":29903,"41800":29904,"41801":29905,"41802":29906,"41803":29907,"41804":29908,"41805":29909,"41806":29910,"41807":29911,"41808":29912,"41809":29913,"41810":29914,"41811":29915,"41812":29916,"41813":29917,"41814":29918,"41815":29919,"41816":29920,"41817":29921,"41818":29922,"41819":29923,"41820":29924,"41821":29925,"41822":29926,"41823":29927,"41824":29928,"41825":29929,"41826":29930,"41827":29931,"41828":29932,"41829":29933,"41830":29934,"41831":29935,"41832":29936,"41833":29937,"41834":29938,"41835":29939,"41836":29940,"41837":29941,"41838":29942,"41839":29943,"41840":29944,"41841":29945,"41842":29946,"41843":29947,"41844":29948,"41845":29949,"41846":29950,"41847":29951,"41848":29952,"41849":29953,"41850":29954,"41851":29955,"41852":29956,"41853":29957,"41854":29958,"41855":29959,"41856":29960,"41857":29961,"41858":29962,"41859":29963,"41860":29964,"41861":29965,"41862":29966,"41863":29967,"41864":29968,"41865":29969,"41866":29970,"41867":29971,"41868":29972,"41869":29973,"41870":29974,"41871":29975,"41872":29976,"41873":29977,"41874":29978,"41875":29979,"41876":29980,"41877":29981,"41878":29982,"41879":29983,"41880":29984,"41881":29985,"41882":29986,"41883":29987,"41884":29988,"41885":29989,"41886":29990,"41887":29991,"41888":29992,"41889":29993,"41890":29994,"41891":29995,"41892":29996,"41893":29997,"41894":29998,"41895":29999,"41896":30000,"41897":30001,"41898":30002,"41899":30003,"41900":30004,"41901":30005,"41902":30006,"41903":30007,"41904":30008,"41905":30009,"41906":30010,"41907":30011,"41908":30012,"41909":30013,"41910":30014,"41911":30015,"41912":30016,"41913":30017,"41914":30018,"41915":30019,"41916":30020,"41917":30021,"41918":30022,"41919":30023,"41920":30024,"41921":30025,"41922":30026,"41923":30027,"41924":30028,"41925":30029,"41926":30030,"41927":30031,"41928":30032,"41929":30033,"41930":30034,"41931":30035,"41932":30036,"41933":30037,"41934":30038,"41935":30039,"41936":30040,"41937":30041,"41938":30042,"41939":30043,"41940":30044,"41941":30045,"41942":30046,"41943":30047,"41944":30048,"41945":30049,"41946":30050,"41947":30051,"41948":30052,"41949":30053,"41950":30054,"41951":30055,"41952":30056,"41953":30057,"41954":30058,"41955":30059,"41956":30060,"41957":30061,"41958":30062,"41959":30063,"41960":30064,"41961":30065,"41962":30066,"41963":30067,"41964":30068,"41965":30069,"41966":30070,"41967":30071,"41968":30072,"41969":30073,"41970":30074,"41971":30075,"41972":30076,"41973":30077,"41974":30078,"41975":30079,"41976":30080,"41977":30081,"41978":30082,"41979":30083,"41980":30084,"41981":30085,"41982":30086,"41983":30087,"41984":30088,"41985":30089,"41986":30090,"41987":30091,"41988":30092,"41989":30093,"41990":30094,"41991":30095,"41992":30096,"41993":30097,"41994":30098,"41995":30099,"41996":30100,"41997":30101,"41998":30102,"41999":30103,"42000":30104,"42001":30105,"42002":30106,"42003":30107,"42004":30108,"42005":30109,"42006":30110,"42007":30111,"42008":30112,"42009":30113,"42010":30114,"42011":30115,"42012":30116,"42013":30117,"42014":30118,"42015":30119,"42016":30120,"42017":30121,"42018":30122,"42019":30123,"42020":30124,"42021":30125,"42022":30126,"42023":30127,"42024":30128,"42025":30129,"42026":30130,"42027":30131,"42028":30132,"42029":30133,"42030":30134,"42031":30135,"42032":30136,"42033":30137,"42034":30138,"42035":30139,"42036":30140,"42037":30141,"42038":30142,"42039":30143,"42040":30144,"42041":30145,"42042":30146,"42043":30147,"42044":30148,"42045":30149,"42046":30150,"42047":30151,"42048":30152,"42049":30153,"42050":30154,"42051":30155,"42052":30156,"42053":30157,"42054":30158,"42055":30159,"42056":30160,"42057":30161,"42058":30162,"42059":30163,"42060":30164,"42061":30165,"42062":30166,"42063":30167,"42064":30168,"42065":30169,"42066":30170,"42067":30171,"42068":30172,"42069":30173,"42070":30174,"42071":30175,"42072":30176,"42073":30177,"42074":30178,"42075":30179,"42076":30180,"42077":30181,"42078":30182,"42079":30183,"42080":30184,"42081":30185,"42082":30186,"42083":30187,"42084":30188,"42085":30189,"42086":30190,"42087":30191,"42088":30192,"42089":30193,"42090":30194,"42091":30195,"42092":30196,"42093":30197,"42094":30198,"42095":30199,"42096":30200,"42097":30201,"42098":30202,"42099":30203,"42100":30204,"42101":30205,"42102":30206,"42103":30207,"42104":30208,"42105":30209,"42106":30210,"42107":30211,"42108":30212,"42109":30213,"42110":30214,"42111":30215,"42112":30216,"42113":30217,"42114":30218,"42115":30219,"42116":30220,"42117":30221,"42118":30222,"42119":30223,"42120":30224,"42121":30225,"42122":30226,"42123":30227,"42124":30228,"42128":30229,"42129":30230,"42130":30231,"42131":30232,"42132":30233,"42133":30234,"42134":30235,"42135":30236,"42136":30237,"42137":30238,"42138":30239,"42139":30240,"42140":30241,"42141":30242,"42142":30243,"42143":30244,"42144":30245,"42145":30246,"42146":30247,"42147":30248,"42148":30249,"42149":30250,"42150":30251,"42151":30252,"42152":30253,"42153":30254,"42154":30255,"42155":30256,"42156":30257,"42157":30258,"42158":30259,"42159":30260,"42160":30261,"42161":30262,"42162":30263,"42163":30264,"42164":30265,"42165":30266,"42166":30267,"42167":30268,"42168":30269,"42169":30270,"42170":30271,"42171":30272,"42172":30273,"42173":30274,"42174":30275,"42175":30276,"42176":30277,"42177":30278,"42178":30279,"42179":30280,"42180":30281,"42181":30282,"42182":30283}}', + // Chinese Traditional + 'CID0CT' => '"enc":"UniCNS-UTF16-H","cidinfo":{"Registry":"Adobe","Ordering":"CNS1","Supplement":0,"uni2cid":{"32":1,"33":2,"34":3,"35":4,"36":5,"37":6,"38":7,"39":8,"40":9,"41":10,"42":11,"43":12,"44":13,"45":14,"46":15,"47":16,"48":17,"49":18,"50":19,"51":20,"52":21,"53":22,"54":23,"55":24,"56":25,"57":26,"58":27,"59":28,"60":29,"61":30,"62":31,"63":32,"64":33,"65":34,"66":35,"67":36,"68":37,"69":38,"70":39,"71":40,"72":41,"73":42,"74":43,"75":44,"76":45,"77":46,"78":47,"79":48,"80":49,"81":50,"82":51,"83":52,"84":53,"85":54,"86":55,"87":56,"88":57,"89":58,"90":59,"91":60,"92":61,"93":62,"94":63,"95":64,"96":65,"97":66,"98":67,"99":68,"100":69,"101":70,"102":71,"103":72,"104":73,"105":74,"106":75,"107":76,"108":77,"109":78,"110":79,"111":80,"112":81,"113":82,"114":83,"115":84,"116":85,"117":86,"118":87,"119":88,"120":89,"121":90,"122":91,"123":92,"124":93,"125":94,"126":95,"12288":99,"65292":100,"12289":101,"12290":102,"65294":103,"8226":104,"8231":104,"65307":105,"65306":106,"65311":107,"65281":108,"65072":109,"8230":110,"8943":110,"8229":111,"65104":112,"65380":113,"65105":113,"65106":114,"183":115,"65108":116,"65109":117,"65110":118,"65111":119,"65372":120,"8211":121,"65073":122,"8212":123,"65288":128,"65289":129,"65077":130,"65078":131,"65371":132,"65373":133,"65079":134,"65080":135,"12308":136,"12309":137,"65081":138,"65082":139,"12304":140,"12305":141,"65083":142,"65084":143,"12298":144,"12299":145,"65085":146,"65086":147,"12296":148,"12297":149,"65087":150,"65088":151,"12300":152,"12301":153,"65089":154,"65090":155,"12302":156,"12303":157,"65091":158,"65092":159,"65113":160,"65114":161,"65115":162,"65116":163,"65117":164,"65118":165,"8216":166,"8217":167,"8220":168,"8221":169,"12317":170,"12318":171,"8245":172,"8242":173,"65283":174,"65286":175,"65290":176,"8251":177,"167":178,"12291":179,"9675":180,"9679":181,"9651":182,"9650":183,"9678":184,"9734":185,"9733":186,"9671":187,"9670":188,"9633":189,"9632":190,"9661":191,"9660":192,"12963":193,"8453":194,"175":195,"772":195,"8254":195,"65507":196,"65343":197,"717":198,"65097":199,"65098":200,"65101":201,"65102":202,"65099":203,"65100":204,"65119":205,"65120":206,"65121":207,"65291":208,"65293":209,"215":210,"247":211,"177":212,"8730":213,"65308":214,"65310":215,"65309":216,"8806":217,"8807":218,"8800":219,"8734":220,"8786":221,"8801":222,"65122":223,"65123":224,"65124":225,"65125":226,"65126":227,"8764":228,"65374":228,"8745":229,"8746":230,"8869":231,"8736":232,"8735":233,"8895":234,"13266":235,"13265":236,"8747":237,"8750":238,"8757":239,"8756":240,"9792":241,"9794":242,"8853":243,"9793":243,"8857":244,"9737":244,"8593":245,"8595":246,"8594":247,"8592":248,"8598":249,"8599":250,"8601":251,"8600":252,"8741":253,"8739":254,"8725":257,"65295":257,"65128":258,"65340":258,"65284":259,"165":260,"65509":260,"12306":261,"162":262,"65504":262,"163":263,"65505":263,"65285":264,"65312":265,"8451":266,"8457":267,"65129":268,"65130":269,"65131":270,"13269":271,"13212":272,"13213":273,"13214":274,"13262":275,"13217":276,"13198":277,"13199":278,"13252":279,"176":280,"20825":281,"58834":281,"20827":282,"58835":282,"20830":283,"58837":283,"20829":284,"58836":284,"20833":285,"20835":286,"21991":287,"29929":288,"58044":288,"31950":289,"58191":289,"9601":290,"9602":291,"9603":292,"9604":293,"9605":294,"9606":295,"9607":296,"9608":297,"9615":298,"9614":299,"9613":300,"9612":301,"9611":302,"9610":303,"9609":304,"9532":305,"9524":306,"9516":307,"9508":308,"9500":309,"9620":310,"9472":311,"9474":312,"9621":313,"9484":314,"9488":315,"9492":316,"9496":317,"9581":318,"9582":319,"9584":320,"9583":321,"9552":322,"9566":323,"9578":324,"9569":325,"9698":326,"9699":327,"9701":328,"9700":329,"9585":330,"9586":331,"9587":332,"65296":333,"65297":334,"65298":335,"65299":336,"65300":337,"65301":338,"65302":339,"65303":340,"65304":341,"65305":342,"8544":343,"8545":344,"8546":345,"8547":346,"8548":347,"8549":348,"8550":349,"8551":350,"8552":351,"8553":352,"12321":353,"12322":354,"12323":355,"12324":356,"12325":357,"12326":358,"12327":359,"12328":360,"12329":361,"12344":362,"21316":363,"57443":363,"12345":363,"12346":364,"65313":365,"65314":366,"65315":367,"65316":368,"65317":369,"65318":370,"65319":371,"65320":372,"65321":373,"65322":374,"65323":375,"65324":376,"65325":377,"65326":378,"65327":379,"65328":380,"65329":381,"65330":382,"65331":383,"65332":384,"65333":385,"65334":386,"65335":387,"65336":388,"65337":389,"65338":390,"65345":391,"65346":392,"65347":393,"65348":394,"65349":395,"65350":396,"65351":397,"65352":398,"65353":399,"65354":400,"65355":401,"65356":402,"65357":403,"65358":404,"65359":405,"65360":406,"65361":407,"65362":408,"65363":409,"65364":410,"65365":411,"65366":412,"65367":413,"65368":414,"65369":415,"65370":416,"913":417,"914":418,"915":419,"916":420,"917":421,"918":422,"919":423,"920":424,"921":425,"922":426,"923":427,"924":428,"925":429,"926":430,"927":431,"928":432,"929":433,"931":434,"932":435,"933":436,"934":437,"935":438,"936":439,"937":440,"945":441,"946":442,"947":443,"948":444,"949":445,"950":446,"951":447,"952":448,"953":449,"954":450,"955":451,"956":452,"957":453,"958":454,"959":455,"960":456,"961":457,"963":458,"964":459,"965":460,"966":461,"967":462,"968":463,"969":464,"12549":465,"12550":466,"12551":467,"12552":468,"12553":469,"12554":470,"12555":471,"12556":472,"12557":473,"12558":474,"12559":475,"12560":476,"12561":477,"12562":478,"12563":479,"12564":480,"12565":481,"12566":482,"12567":483,"12568":484,"12569":485,"12570":486,"12571":487,"12572":488,"12573":489,"12574":490,"12575":491,"12576":492,"12577":493,"12578":494,"12579":495,"12580":496,"12581":497,"12582":498,"12583":499,"12584":500,"12585":501,"729":502,"714":503,"711":504,"780":504,"715":505,"9312":506,"63153":506,"9313":507,"63154":507,"9314":508,"63155":508,"9315":509,"63156":509,"9316":510,"63157":510,"9317":511,"63158":511,"9318":512,"63159":512,"9319":513,"63160":513,"9320":514,"63161":514,"9321":515,"63162":515,"9332":516,"63163":516,"9333":517,"63164":517,"9334":518,"63165":518,"9335":519,"63166":519,"9336":520,"63167":520,"9337":521,"63168":521,"9338":522,"63169":522,"9339":523,"63170":523,"9340":524,"63171":524,"9341":525,"63172":525,"8560":526,"63173":526,"8561":527,"63174":527,"8562":528,"63175":528,"8563":529,"63176":529,"8564":530,"63177":530,"8565":531,"63178":531,"8566":532,"63179":532,"8567":533,"63180":533,"8568":534,"63181":534,"8569":535,"63182":535,"20008":536,"12033":536,"20022":537,"12034":537,"63183":537,"20031":538,"12035":538,"63184":538,"12037":539,"20101":539,"63185":539,"12039":540,"20128":540,"63186":540,"20866":541,"12044":541,"63187":541,"20886":542,"12045":542,"63188":542,"20907":543,"12046":543,"63189":543,"12051":544,"21241":544,"63190":544,"12054":545,"21304":545,"63191":545,"12057":546,"21353":546,"63192":546,"12059":547,"21430":547,"63193":547,"12065":548,"12066":548,"22786":548,"22794":548,"63194":548,"12071":549,"23424":549,"63195":549,"12078":550,"24027":550,"63196":550,"24186":551,"12083":551,"63197":551,"24191":552,"12084":552,"63198":552,"24308":553,"12085":553,"24400":554,"12089":554,"63200":554,"24417":555,"12090":555,"63201":555,"12097":556,"25908":556,"63202":556,"12102":557,"26080":557,"30098":558,"63204":558,"12135":558,"30326":559,"12136":559,"12193":560,"36789":560,"63206":560,"12202":561,"38582":561,"9216":562,"9217":563,"9218":564,"9219":565,"9220":566,"9221":567,"9222":568,"9223":569,"9224":570,"9225":571,"9226":572,"9227":573,"9228":574,"9229":575,"9230":576,"9231":577,"9232":578,"9233":579,"9234":580,"9235":581,"9236":582,"9237":583,"9238":584,"9239":585,"9240":586,"9241":587,"9242":588,"9243":589,"9244":590,"9245":591,"9246":592,"9247":593,"9249":594,"12032":595,"19968":595,"12036":596,"20057":596,"19969":597,"19971":598,"20035":599,"20061":600,"20102":601,"12038":602,"20108":602,"20154":603,"12040":603,"20799":604,"12041":604,"20837":605,"12042":605,"20843":606,"12043":606,"12047":607,"20960":607,"12049":608,"20992":608,"20993":609,"12050":610,"21147":610,"12052":611,"21269":611,"21313":612,"12055":612,"21340":613,"12056":613,"12060":614,"21448":614,"19977":615,"19979":616,"19976":617,"19978":618,"20011":619,"20024":620,"20961":621,"20037":622,"20040":623,"20063":624,"20062":625,"20110":626,"20129":627,"20800":628,"64012":628,"20995":629,"21242":630,"21315":631,"21449":632,"12061":633,"21475":633,"22303":634,"12063":634,"22763":635,"12064":635,"22805":636,"12067":636,"22823":637,"12068":637,"22899":638,"12069":638,"12070":639,"23376":639,"23377":640,"23379":641,"23544":642,"12072":642,"23567":643,"12073":643,"23586":644,"12074":644,"23608":645,"12075":645,"12077":646,"23665":646,"24029":647,"24037":648,"12079":648,"12080":649,"24049":649,"24050":650,"24051":651,"24062":652,"12081":652,"24178":653,"12082":653,"24318":654,"12086":654,"24331":655,"12087":655,"24339":656,"12088":656,"25165":657,"19985":658,"19984":659,"19981":660,"20013":661,"20016":662,"20025":663,"20043":664,"23609":665,"20104":666,"20113":667,"20117":668,"20114":669,"20116":670,"20130":671,"20161":672,"20160":673,"20163":674,"20166":675,"20167":676,"20173":677,"20170":678,"20171":679,"20164":680,"20803":681,"20801":682,"20839":683,"20845":684,"20846":685,"20844":686,"20887":687,"20982":688,"20998":689,"20999":690,"21000":691,"21243":692,"21246":693,"21247":694,"21270":695,"21305":696,"21320":697,"21319":698,"21317":699,"21342":700,"21380":701,"21451":702,"21450":703,"21453":704,"22764":705,"22825":706,"22827":707,"22826":708,"22829":709,"23380":710,"23569":711,"23588":712,"23610":713,"23663":714,"24052":715,"24187":716,"24319":717,"24340":718,"24341":719,"24515":720,"12092":720,"25096":721,"12093":721,"25142":722,"12094":722,"25163":723,"12095":723,"25166":724,"12096":725,"25903":725,"25991":726,"12098":726,"26007":727,"12099":727,"26020":728,"12100":728,"26041":729,"12101":729,"26085":730,"12103":730,"26352":731,"12104":731,"26376":732,"12105":732,"26408":733,"12106":733,"27424":734,"12107":734,"27490":735,"12108":735,"27513":736,"12109":736,"27595":737,"12111":737,"27604":738,"12112":738,"27611":739,"12113":739,"27663":740,"12114":740,"27700":741,"12116":741,"28779":742,"12117":742,"29226":743,"12118":743,"29238":744,"12119":744,"29243":745,"12120":745,"29255":746,"12122":746,"29273":747,"12123":747,"29275":748,"12124":748,"29356":749,"12125":749,"29579":750,"19993":751,"19990":752,"19989":753,"19988":754,"19992":755,"20027":756,"20045":757,"20047":758,"20046":759,"20197":760,"20184":761,"20180":762,"20181":763,"20182":764,"20183":765,"20195":766,"20196":767,"20185":768,"20190":769,"20805":770,"20804":771,"20873":772,"20874":773,"20908":774,"20985":775,"20986":776,"20984":777,"21002":778,"21152":779,"21151":780,"57435":781,"21253":781,"21254":782,"21271":783,"21277":784,"20191":785,"21322":786,"21321":787,"21345":788,"21344":789,"21359":790,"21358":791,"21435":792,"21487":793,"21476":794,"21491":795,"21484":796,"21486":797,"21481":798,"21480":799,"21500":800,"21496":801,"21493":802,"21483":803,"21478":804,"21482":805,"21490":806,"21489":807,"21488":808,"21477":809,"21485":810,"21499":811,"22235":812,"22234":813,"22806":814,"22830":815,"22833":816,"22900":817,"22902":818,"23381":819,"23427":820,"23612":821,"24040":822,"24039":823,"24038":824,"24066":825,"24067":826,"24179":827,"24188":828,"24321":829,"24344":830,"24343":831,"24517":832,"25098":833,"25171":834,"25172":835,"25170":836,"25169":837,"26021":838,"26086":839,"26414":840,"26412":841,"26410":842,"26411":843,"26413":844,"27491":845,"27597":846,"27665":847,"27664":848,"27704":849,"27713":850,"27712":851,"27710":852,"29359":853,"29572":854,"12126":854,"29577":855,"12127":855,"29916":856,"12128":856,"29926":857,"12129":857,"29976":858,"12130":858,"29983":859,"12131":859,"12132":860,"29992":860,"29993":861,"12133":862,"30000":862,"30001":863,"30002":864,"30003":865,"12134":866,"30091":866,"30333":867,"12137":867,"30382":868,"12138":868,"30399":869,"12139":869,"30446":870,"12140":870,"30683":871,"12141":871,"30690":872,"12142":872,"30707":873,"12143":873,"31034":874,"12144":874,"31166":875,"12146":875,"31348":876,"12147":876,"31435":877,"12148":877,"19998":878,"19999":879,"20050":880,"20051":881,"20073":882,"20121":883,"20132":884,"20134":885,"20133":886,"20223":887,"20233":888,"20249":889,"20234":890,"20245":891,"20237":892,"20240":893,"20241":894,"20239":895,"20210":896,"20214":897,"20219":898,"20208":899,"20211":900,"20221":901,"20225":902,"20235":903,"20809":904,"20807":905,"20806":906,"20808":907,"20840":908,"20849":909,"20877":910,"20912":911,"21015":912,"21009":913,"21010":914,"21006":915,"21014":916,"21155":917,"21256":918,"21281":919,"21280":920,"21360":921,"21361":922,"21513":923,"21519":924,"21516":925,"21514":926,"21520":927,"21505":928,"21515":929,"21508":930,"21521":931,"21517":932,"21512":933,"21507":934,"21518":935,"21510":936,"21522":937,"22240":938,"22238":939,"22237":940,"22323":941,"22320":942,"22312":943,"22317":944,"22316":945,"22319":946,"22313":947,"22809":948,"22810":949,"22839":950,"22840":951,"22916":952,"22904":953,"22915":954,"22909":955,"22905":956,"22914":957,"22913":958,"23383":959,"23384":960,"23431":961,"23432":962,"23429":963,"23433":964,"23546":965,"23574":966,"23673":967,"24030":968,"24070":969,"24182":970,"24180":971,"24335":972,"24347":973,"24537":974,"24534":975,"25102":976,"25100":977,"25101":978,"25104":979,"25187":980,"25179":981,"25176":982,"25910":983,"26089":984,"26088":985,"26092":986,"26093":987,"26354":988,"26355":989,"26377":990,"26429":991,"26420":992,"26417":993,"26421":994,"27425":995,"27492":996,"27515":997,"27670":998,"27741":999,"27735":1000,"27737":1001,"27743":1002,"27744":1003,"27728":1004,"27733":1005,"27745":1006,"27739":1007,"27725":1008,"27726":1009,"28784":1010,"29279":1011,"29277":1012,"30334":1013,"31481":1014,"12149":1014,"31859":1015,"12150":1015,"31992":1016,"12151":1016,"32566":1017,"12152":1017,"32650":1018,"12154":1018,"32701":1019,"12155":1019,"32769":1020,"12156":1020,"32771":1021,"32780":1022,"12157":1022,"32786":1023,"12158":1023,"32819":1024,"12159":1024,"32895":1025,"12160":1025,"32905":1026,"12161":1026,"32907":1027,"32908":1028,"33251":1029,"12162":1029,"33258":1030,"12163":1030,"33267":1031,"12164":1031,"33276":1032,"12165":1032,"33292":1033,"12166":1033,"33307":1034,"12167":1034,"33311":1035,"12168":1035,"33390":1036,"12169":1036,"33394":1037,"12170":1037,"33406":1038,"34411":1039,"12173":1039,"34880":1040,"12174":1040,"34892":1041,"12175":1041,"34915":1042,"12176":1042,"35199":1043,"38433":1044,"20018":1045,"20136":1046,"20301":1047,"20303":1048,"20295":1049,"20311":1050,"20318":1051,"20276":1052,"20315":1053,"20309":1054,"20272":1055,"20304":1056,"20305":1057,"20285":1058,"20282":1059,"20280":1060,"20291":1061,"20308":1062,"20284":1063,"20294":1064,"20323":1065,"20316":1066,"20320":1067,"20271":1068,"20302":1069,"20278":1070,"20313":1071,"20317":1072,"20296":1073,"20314":1074,"20812":1075,"20811":1076,"20813":1077,"20853":1078,"20918":1079,"20919":1080,"21029":1081,"21028":1082,"21033":1083,"21034":1084,"21032":1085,"21163":1086,"21161":1087,"21162":1088,"21164":1089,"21283":1090,"21363":1091,"21365":1092,"21533":1093,"21549":1094,"21534":1095,"21566":1096,"21542":1097,"21582":1098,"21543":1099,"21574":1100,"21571":1101,"21555":1102,"21576":1103,"21570":1104,"21531":1105,"21545":1106,"21578":1107,"21561":1108,"21563":1109,"21560":1110,"21550":1111,"21557":1112,"21558":1113,"21536":1114,"21564":1115,"21568":1116,"21553":1117,"21547":1118,"21535":1119,"21548":1120,"22250":1121,"22256":1122,"22244":1123,"22251":1124,"22346":1125,"22353":1126,"22336":1127,"22349":1128,"22343":1129,"22350":1130,"22334":1131,"22352":1132,"22351":1133,"22331":1134,"22767":1135,"22846":1136,"22941":1137,"22930":1138,"22952":1139,"22942":1140,"22947":1141,"22937":1142,"22934":1143,"22925":1144,"22948":1145,"22931":1146,"22922":1147,"22949":1148,"23389":1149,"23388":1150,"23386":1151,"23387":1152,"23436":1153,"23435":1154,"23439":1155,"23596":1156,"23616":1157,"23617":1158,"23615":1159,"23614":1160,"23696":1161,"23697":1162,"23700":1163,"23692":1164,"24043":1165,"24076":1166,"24207":1167,"24199":1168,"24202":1169,"24311":1170,"24324":1171,"24351":1172,"24420":1173,"24418":1174,"24439":1175,"24441":1176,"24536":1177,"24524":1178,"24535":1179,"24525":1180,"24561":1181,"24555":1182,"24568":1183,"24554":1184,"25106":1185,"25105":1186,"25220":1187,"25239":1188,"25238":1189,"25216":1190,"25206":1191,"25225":1192,"25197":1193,"25226":1194,"25212":1195,"25214":1196,"25209":1197,"25203":1198,"25234":1199,"25199":1200,"25240":1201,"25198":1202,"25237":1203,"25235":1204,"25233":1205,"25222":1206,"25913":1207,"25915":1208,"25912":1209,"26097":1210,"26356":1211,"26463":1212,"26446":1213,"26447":1214,"26448":1215,"26449":1216,"26460":1217,"26454":1218,"26462":1219,"57801":1219,"26441":1220,"26438":1221,"26464":1222,"26451":1223,"26455":1224,"27493":1225,"27599":1226,"27714":1227,"27742":1228,"27801":1229,"27777":1230,"27784":1231,"27785":1232,"27781":1233,"27803":1234,"27754":1235,"27770":1236,"27792":1237,"27760":1238,"27788":1239,"27752":1240,"27798":1241,"27794":1242,"27773":1243,"27779":1244,"27762":1245,"27774":1246,"27764":1247,"27782":1248,"27766":1249,"27789":1250,"27796":1251,"27800":1252,"27778":1253,"28790":1254,"28796":1255,"28797":1256,"28792":1257,"29282":1258,"29281":1259,"29280":1260,"29380":1261,"29378":1262,"29590":1263,"29996":1264,"29995":1265,"30007":1266,"30008":1267,"30338":1268,"30447":1269,"30691":1270,"31169":1271,"31168":1272,"31167":1273,"31350":1274,"31995":1275,"32597":1276,"32918":1277,"32915":1278,"32925":1279,"32920":1280,"32923":1281,"32922":1282,"32946":1283,"33391":1284,"33426":1285,"33419":1286,"33421":1287,"35211":1288,"12178":1288,"35282":1289,"12179":1289,"35328":1290,"12180":1290,"35895":1291,"12181":1291,"35910":1292,"12182":1292,"35925":1293,"12183":1293,"35997":1294,"12185":1294,"36196":1295,"12186":1295,"36208":1296,"12187":1296,"36275":1297,"12188":1297,"36523":1298,"12189":1298,"36554":1299,"12190":1299,"36763":1300,"12191":1300,"36784":1301,"12192":1301,"36802":1302,"36806":1303,"36805":1304,"36804":1305,"24033":1306,"12194":1307,"37009":1307,"37026":1308,"37034":1309,"37030":1310,"37027":1311,"37193":1312,"12195":1312,"37318":1313,"12196":1313,"37324":1314,"12197":1314,"38450":1315,"38446":1316,"38449":1317,"38442":1318,"38444":1319,"20006":1320,"20054":1321,"20083":1322,"20107":1323,"20123":1324,"20126":1325,"20139":1326,"20140":1327,"20335":1328,"20381":1329,"20365":1330,"20339":1331,"20351":1332,"20332":1333,"20379":1334,"20363":1335,"20358":1336,"20355":1337,"20336":1338,"20341":1339,"20360":1340,"20329":1341,"20347":1342,"20374":1343,"20350":1344,"20367":1345,"20369":1346,"20346":1347,"20820":1348,"20818":1349,"20821":1350,"20841":1351,"20855":1352,"20854":1353,"20856":1354,"20925":1355,"20989":1356,"21051":1357,"21048":1358,"21047":1359,"21050":1360,"21040":1361,"21038":1362,"21046":1363,"21057":1364,"21182":1365,"21179":1366,"21330":1367,"21332":1368,"21331":1369,"21329":1370,"21350":1371,"21367":1372,"21368":1373,"21369":1374,"21462":1375,"21460":1376,"21463":1377,"21619":1378,"21621":1379,"21654":1380,"21624":1381,"21653":1382,"21632":1383,"21627":1384,"21623":1385,"21636":1386,"21650":1387,"21638":1388,"21628":1389,"21648":1390,"21617":1391,"21622":1392,"21644":1393,"21658":1394,"21602":1395,"21608":1396,"21643":1397,"21629":1398,"21646":1399,"22266":1400,"22403":1401,"22391":1402,"22378":1403,"22377":1404,"22369":1405,"22374":1406,"22372":1407,"22396":1408,"22812":1409,"22857":1410,"22855":1411,"22856":1412,"22852":1413,"22868":1414,"22974":1415,"22971":1416,"22996":1417,"22969":1418,"22958":1419,"22993":1420,"22982":1421,"22992":1422,"22989":1423,"22987":1424,"22995":1425,"22986":1426,"22959":1427,"22963":1428,"22994":1429,"22981":1430,"23391":1431,"23396":1432,"23395":1433,"23447":1434,"23450":1435,"23448":1436,"23452":1437,"23449":1438,"23451":1439,"23578":1440,"23624":1441,"23621":1442,"23622":1443,"23735":1444,"23713":1445,"23736":1446,"23721":1447,"23723":1448,"23729":1449,"23731":1450,"24088":1451,"24090":1452,"24086":1453,"24085":1454,"24091":1455,"24081":1456,"24184":1457,"24218":1458,"24215":1459,"24220":1460,"24213":1461,"24214":1462,"24310":1463,"24358":1464,"24359":1465,"24361":1466,"24448":1467,"24449":1468,"24447":1469,"24444":1470,"24541":1471,"24544":1472,"24573":1473,"24565":1474,"24575":1475,"24591":1476,"24596":1477,"24623":1478,"24629":1479,"24598":1480,"24618":1481,"24597":1482,"24609":1483,"24615":1484,"24617":1485,"24619":1486,"24603":1487,"25110":1488,"25109":1489,"25151":1490,"25150":1491,"25152":1492,"25215":1493,"25289":1494,"25292":1495,"25284":1496,"25279":1497,"25282":1498,"25273":1499,"25298":1500,"25307":1501,"25259":1502,"25299":1503,"25300":1504,"25291":1505,"25288":1506,"25256":1507,"25277":1508,"25276":1509,"25296":1510,"60582":1510,"25305":1511,"25287":1512,"25293":1513,"25269":1514,"25306":1515,"25265":1516,"25304":1517,"25302":1518,"25303":1519,"25286":1520,"25260":1521,"25294":1522,"61010":1522,"25918":1523,"26023":1524,"26044":1525,"26106":1526,"26132":1527,"26131":1528,"26124":1529,"26118":1530,"26114":1531,"26126":1532,"26112":1533,"26127":1534,"26133":1535,"26122":1536,"26119":1537,"26381":1538,"26379":1539,"26477":1540,"26507":1541,"26517":1542,"26481":1543,"26524":1544,"26483":1545,"26487":1546,"26503":1547,"26525":1548,"26519":1549,"26479":1550,"26480":1551,"26495":1552,"26505":1553,"26494":1554,"26512":1555,"26485":1556,"26522":1557,"26515":1558,"26492":1559,"26474":1560,"26482":1561,"27427":1562,"27494":1563,"27495":1564,"27519":1565,"27667":1566,"27675":1567,"27875":1568,"27880":1569,"27891":1570,"27825":1571,"27852":1572,"27877":1573,"27827":1574,"27837":1575,"27838":1576,"27836":1577,"27874":1578,"27819":1579,"27861":1580,"27859":1581,"27832":1582,"27844":1583,"27833":1584,"27841":1585,"27822":1586,"27863":1587,"27845":1588,"27889":1589,"27839":1590,"27835":1591,"27873":1592,"27867":1593,"27850":1594,"27820":1595,"27887":1596,"27868":1597,"27862":1598,"27872":1599,"28821":1600,"28814":1601,"28818":1602,"28810":1603,"28825":1604,"29228":1605,"29229":1606,"29240":1607,"29256":1608,"29287":1609,"29289":1610,"29376":1611,"29390":1612,"29401":1613,"29399":1614,"29392":1615,"29609":1616,"29608":1617,"29599":1618,"29611":1619,"29605":1620,"30013":1621,"30109":1622,"30105":1623,"30106":1624,"30340":1625,"30402":1626,"30450":1627,"30452":1628,"30693":1629,"30717":1630,"31038":1631,"31040":1632,"31041":1633,"31177":1634,"31176":1635,"31354":1636,"31353":1637,"31482":1638,"31998":1639,"32596":1640,"32652":1641,"32651":1642,"32773":1643,"58236":1643,"32954":1644,"32933":1645,"32930":1646,"32945":1647,"32929":1648,"32939":1649,"32937":1650,"32948":1651,"32938":1652,"32943":1653,"33253":1654,"33278":1655,"33293":1656,"33459":1657,"33437":1658,"33433":1659,"33453":1660,"33469":1661,"33439":1662,"33465":1663,"33457":1664,"33452":1665,"33445":1666,"33455":1667,"33464":1668,"33443":1669,"33456":1670,"33470":1671,"33463":1672,"34382":1673,"34417":1674,"21021":1675,"34920":1676,"36555":1677,"36814":1678,"36820":1679,"36817":1680,"37045":1681,"37048":1682,"37041":1683,"37046":1684,"37319":1685,"37329":1686,"12198":1686,"38263":1687,"12199":1687,"38272":1688,"12200":1688,"38428":1689,"12201":1689,"38464":1690,"38463":1691,"38459":1692,"38468":1693,"38466":1694,"38585":1695,"12203":1695,"38632":1696,"12204":1696,"38738":1697,"12206":1698,"38750":1698,"20127":1699,"20141":1700,"20142":1701,"20449":1702,"20405":1703,"20399":1704,"20415":1705,"20448":1706,"20433":1707,"20431":1708,"20445":1709,"20419":1710,"20406":1711,"20440":1712,"20447":1713,"20426":1714,"20439":1715,"20398":1716,"20432":1717,"20420":1718,"20418":1719,"20442":1720,"20430":1721,"20446":1722,"20407":1723,"20823":1724,"20882":1725,"20881":1726,"20896":1727,"21070":1728,"21059":1729,"21066":1730,"21069":1731,"21068":1732,"21067":1733,"21063":1734,"21191":1735,"21193":1736,"21187":1737,"21185":1738,"21261":1739,"21335":1740,"21371":1741,"21402":1742,"21467":1743,"21676":1744,"21696":1745,"21672":1746,"21710":1747,"21705":1748,"21688":1749,"21670":1750,"21683":1751,"21703":1752,"21698":1753,"21693":1754,"21674":1755,"21697":1756,"21700":1757,"21704":1758,"21679":1759,"21675":1760,"21681":1761,"21691":1762,"21673":1763,"21671":1764,"21695":1765,"22271":1766,"22402":1767,"22411":1768,"22432":1769,"22435":1770,"22434":1771,"22478":1772,"22446":1773,"22419":1774,"22869":1775,"22865":1776,"22863":1777,"22862":1778,"22864":1779,"23004":1780,"23000":1781,"23039":1782,"23011":1783,"23016":1784,"23043":1785,"23013":1786,"23018":1787,"23002":1788,"23014":1789,"23041":1790,"23035":1791,"23401":1792,"23459":1793,"23462":1794,"23460":1795,"23458":1796,"23461":1797,"23553":1798,"23630":1799,"23631":1800,"23629":1801,"23627":1802,"23769":1803,"23762":1804,"24055":1805,"24093":1806,"24101":1807,"24095":1808,"24189":1809,"24224":1810,"24230":1811,"24314":1812,"24328":1813,"24365":1814,"24421":1815,"24456":1816,"24453":1817,"24458":1818,"24459":1819,"24455":1820,"24460":1821,"24457":1822,"24594":1823,"24605":1824,"24608":1825,"24613":1826,"24590":1827,"24616":1828,"24653":1829,"24688":1830,"24680":1831,"24674":1832,"60712":1832,"24646":1833,"24643":1834,"24684":1835,"24683":1836,"24682":1837,"24676":1838,"25153":1839,"25308":1840,"25366":1841,"25353":1842,"25340":1843,"25325":1844,"25345":1845,"25326":1846,"25341":1847,"25351":1848,"25329":1849,"25335":1850,"25327":1851,"25324":1852,"25342":1853,"25332":1854,"25361":1855,"25346":1856,"25919":1857,"25925":1858,"26027":1859,"26045":1860,"26082":1861,"26149":1862,"26157":1863,"26144":1864,"26151":1865,"26159":1866,"26143":1867,"26152":1868,"26161":1869,"26148":1870,"26359":1871,"26623":1872,"26579":1873,"26609":1874,"26580":1875,"26576":1876,"26604":1877,"26550":1878,"26543":1879,"26613":1880,"26601":1881,"26607":1882,"26564":1883,"26577":1884,"26548":1885,"26586":1886,"26597":1887,"26552":1888,"26575":1889,"26590":1890,"26611":1891,"26544":1892,"26585":1893,"26594":1894,"26589":1895,"26578":1896,"27498":1897,"27523":1898,"27526":1899,"27573":1900,"27602":1901,"27607":1902,"27679":1903,"27849":1904,"27915":1905,"27954":1906,"27946":1907,"27969":1908,"27941":1909,"27916":1910,"27953":1911,"27934":1912,"27927":1913,"27963":1914,"27965":1915,"27966":1916,"27958":1917,"27931":1918,"27893":1919,"27961":1920,"27943":1921,"27960":1922,"27945":1923,"27950":1924,"27957":1925,"27918":1926,"27947":1927,"28843":1928,"28858":1929,"28851":1930,"28844":1931,"28847":1932,"28845":1933,"28856":1934,"28846":1935,"28836":1936,"29232":1937,"29298":1938,"29295":1939,"29300":1940,"29417":1941,"29408":1942,"29409":1943,"29623":1944,"29642":1945,"29627":1946,"29618":1947,"29645":1948,"29632":1949,"29619":1950,"29978":1951,"29997":1952,"30031":1953,"30028":1954,"30030":1955,"30027":1956,"30123":1957,"30116":1958,"30117":1959,"30114":1960,"30115":1961,"30328":1962,"30342":1963,"30343":1964,"30344":1965,"30408":1966,"30406":1967,"30403":1968,"30405":1969,"30465":1970,"30457":1971,"30456":1972,"30473":1973,"30475":1974,"30462":1975,"30460":1976,"30471":1977,"30684":1978,"30722":1979,"30740":1980,"30732":1981,"30733":1982,"31046":1983,"31049":1984,"31048":1985,"31047":1986,"31161":1987,"31162":1988,"31185":1989,"31186":1990,"31179":1991,"31359":1992,"31361":1993,"31487":1994,"31485":1995,"31869":1996,"32002":1997,"32005":1998,"32000":1999,"32009":2000,"32007":2001,"32004":2002,"32006":2003,"32568":2004,"32654":2005,"32703":2006,"32784":2007,"32781":2008,"32785":2009,"32822":2010,"32982":2011,"32997":2012,"32986":2013,"32963":2014,"32964":2015,"32972":2016,"32993":2017,"32987":2018,"32974":2019,"32990":2020,"32996":2021,"32989":2022,"33268":2023,"33314":2024,"33511":2025,"33539":2026,"33541":2027,"33507":2028,"33499":2029,"33510":2030,"33540":2031,"33509":2032,"33538":2033,"33545":2034,"33490":2035,"33495":2036,"33521":2037,"33537":2038,"33500":2039,"33492":2040,"33489":2041,"33502":2042,"33491":2043,"33503":2044,"33519":2045,"33542":2046,"34384":2047,"34425":2048,"34427":2049,"34426":2050,"34893":2051,"34923":2052,"35201":2053,"35284":2054,"35336":2055,"35330":2056,"35331":2057,"35998":2058,"36000":2059,"36212":2060,"36211":2061,"36276":2062,"36557":2063,"36556":2064,"36848":2065,"36838":2066,"36834":2067,"36842":2068,"36837":2069,"36845":2070,"36843":2071,"36836":2072,"36840":2073,"37066":2074,"37070":2075,"37057":2076,"37059":2077,"37195":2078,"37194":2079,"37325":2080,"38274":2081,"38480":2082,"38475":2083,"38476":2084,"38477":2085,"38754":2086,"12207":2086,"38761":2087,"12208":2087,"38859":2088,"12209":2088,"38893":2089,"12210":2089,"38899":2090,"12211":2090,"38913":2091,"12212":2091,"39080":2092,"12213":2092,"39131":2093,"12214":2093,"39135":2094,"12215":2094,"39318":2095,"12216":2095,"39321":2096,"12217":2096,"20056":2097,"20147":2098,"20492":2099,"20493":2100,"20515":2101,"20463":2102,"20518":2103,"20517":2104,"20472":2105,"20521":2106,"57375":2106,"20502":2107,"20486":2108,"20540":2109,"20511":2110,"20506":2111,"20498":2112,"20497":2113,"20474":2114,"20480":2115,"20500":2116,"20520":2117,"20465":2118,"20513":2119,"20491":2120,"20505":2121,"20504":2122,"20467":2123,"20462":2124,"20525":2125,"20522":2126,"20478":2127,"20523":2128,"20489":2129,"20860":2130,"20900":2131,"20901":2132,"20898":2133,"20941":2134,"20940":2135,"20934":2136,"20939":2137,"21078":2138,"21084":2139,"21076":2140,"21083":2141,"21085":2142,"21290":2143,"21375":2144,"57459":2144,"21407":2145,"21405":2146,"21471":2147,"21736":2148,"21776":2149,"21761":2150,"21815":2151,"21756":2152,"21733":2153,"21746":2154,"21766":2155,"21754":2156,"21780":2157,"21737":2158,"21741":2159,"21729":2160,"21769":2161,"21742":2162,"21738":2163,"21734":2164,"21799":2165,"21767":2166,"21757":2167,"21775":2168,"22275":2169,"22276":2170,"22466":2171,"22484":2172,"22475":2173,"22467":2174,"22537":2175,"22799":2176,"22871":2177,"22872":2178,"22874":2179,"23057":2180,"23064":2181,"23068":2182,"23071":2183,"23067":2184,"23059":2185,"23020":2186,"23072":2187,"23075":2188,"23081":2189,"23077":2190,"23052":2191,"23049":2192,"23403":2193,"23640":2194,"23472":2195,"23475":2196,"23478":2197,"23476":2198,"23470":2199,"23477":2200,"23481":2201,"23480":2202,"23556":2203,"23633":2204,"23637":2205,"23632":2206,"23789":2207,"23805":2208,"23803":2209,"23786":2210,"23784":2211,"23792":2212,"23798":2213,"23809":2214,"23796":2215,"24046":2216,"24109":2217,"24107":2218,"24235":2219,"24237":2220,"24231":2221,"24369":2222,"24466":2223,"24465":2224,"24464":2225,"24665":2226,"24675":2227,"24677":2228,"24656":2229,"24661":2230,"24685":2231,"24681":2232,"24687":2233,"24708":2234,"24735":2235,"24730":2236,"24717":2237,"24724":2238,"24716":2239,"24709":2240,"24726":2241,"25159":2242,"25331":2243,"25352":2244,"25343":2245,"25422":2246,"25406":2247,"25391":2248,"25429":2249,"25410":2250,"25414":2251,"25423":2252,"25417":2253,"25402":2254,"25424":2255,"25405":2256,"25386":2257,"25387":2258,"25384":2259,"25421":2260,"25420":2261,"25928":2262,"25929":2263,"26009":2264,"26049":2265,"26053":2266,"26178":2267,"26185":2268,"26191":2269,"26179":2270,"26194":2271,"26188":2272,"26181":2273,"26177":2274,"26360":2275,"26388":2276,"26389":2277,"26391":2278,"26657":2279,"26680":2280,"26696":2281,"26694":2282,"26707":2283,"26681":2284,"26690":2285,"26708":2286,"26665":2287,"26803":2288,"26647":2289,"26700":2290,"26705":2291,"26685":2292,"26612":2293,"26704":2294,"26688":2295,"26684":2296,"26691":2297,"26666":2298,"26693":2299,"26643":2300,"26648":2301,"26689":2302,"27530":2303,"27529":2304,"27575":2305,"27683":2306,"27687":2307,"27688":2308,"27686":2309,"27684":2310,"27888":2311,"28010":2312,"28053":2313,"28040":2314,"28039":2315,"28006":2316,"28024":2317,"28023":2318,"27993":2319,"28051":2320,"28012":2321,"28041":2322,"28014":2323,"27994":2324,"28020":2325,"28009":2326,"28044":2327,"28042":2328,"28025":2329,"28037":2330,"28005":2331,"28052":2332,"28874":2333,"28888":2334,"28900":2335,"28889":2336,"28872":2337,"28879":2338,"29241":2339,"29305":2340,"29436":2341,"29433":2342,"29437":2343,"29432":2344,"29431":2345,"29574":2346,"29677":2347,"29705":2348,"29678":2349,"29664":2350,"29674":2351,"29662":2352,"30036":2353,"30045":2354,"30044":2355,"30042":2356,"30041":2357,"30142":2358,"30149":2359,"30151":2360,"30130":2361,"30131":2362,"30141":2363,"30140":2364,"30137":2365,"30146":2366,"30136":2367,"30347":2368,"30384":2369,"30410":2370,"30413":2371,"30414":2372,"30505":2373,"30495":2374,"30496":2375,"30504":2376,"30697":2377,"30768":2378,"30759":2379,"30776":2380,"30749":2381,"30772":2382,"30775":2383,"30757":2384,"30765":2385,"30752":2386,"30751":2387,"30770":2388,"31061":2389,"31056":2390,"31072":2391,"31071":2392,"31062":2393,"31070":2394,"31069":2395,"31063":2396,"31066":2397,"31204":2398,"31203":2399,"60418":2399,"31207":2400,"31199":2401,"31206":2402,"31209":2403,"31192":2404,"31364":2405,"31368":2406,"31449":2407,"31494":2408,"31505":2409,"31881":2410,"32033":2411,"32023":2412,"32011":2413,"32010":2414,"32032":2415,"32034":2416,"32020":2417,"32016":2418,"32021":2419,"32026":2420,"32028":2421,"32013":2422,"32025":2423,"32027":2424,"32570":2425,"32607":2426,"32660":2427,"32709":2428,"32705":2429,"32774":2430,"32772":2431,"32792":2432,"32789":2433,"32793":2434,"32791":2435,"32829":2436,"32831":2437,"33009":2438,"33026":2439,"33008":2440,"33029":2441,"33005":2442,"33012":2443,"33030":2444,"33016":2445,"33011":2446,"33032":2447,"33021":2448,"33034":2449,"33020":2450,"33007":2451,"33261":2452,"33260":2453,"33280":2454,"33296":2455,"33322":2456,"33323":2457,"33320":2458,"33324":2459,"33467":2460,"33579":2461,"33618":2462,"33620":2463,"33610":2464,"33592":2465,"33616":2466,"33609":2467,"33589":2468,"33588":2469,"33615":2470,"33586":2471,"33593":2472,"33590":2473,"33559":2474,"33600":2475,"33585":2476,"33576":2477,"33603":2478,"34388":2479,"34442":2480,"34474":2481,"34451":2482,"34468":2483,"34473":2484,"34444":2485,"34467":2486,"34460":2487,"34928":2488,"34935":2489,"34945":2490,"34946":2491,"34941":2492,"34937":2493,"35352":2494,"35344":2495,"35342":2496,"35340":2497,"35349":2498,"35338":2499,"35351":2500,"35347":2501,"35350":2502,"35343":2503,"35345":2504,"35912":2505,"35962":2506,"35961":2507,"36001":2508,"36002":2509,"36215":2510,"58442":2510,"36524":2511,"36562":2512,"36564":2513,"36559":2514,"36785":2515,"36865":2516,"36870":2517,"36855":2518,"36864":2519,"36858":2520,"36852":2521,"36867":2522,"36861":2523,"36869":2524,"36856":2525,"37013":2526,"37089":2527,"37085":2528,"37090":2529,"37202":2530,"37197":2531,"37196":2532,"37336":2533,"37341":2534,"37335":2535,"37340":2536,"37337":2537,"38275":2538,"38498":2539,"38499":2540,"38497":2541,"38491":2542,"38493":2543,"38500":2544,"38488":2545,"38494":2546,"38587":2547,"39138":2548,"39340":2549,"12218":2549,"39592":2550,"12219":2550,"39640":2551,"12220":2551,"12222":2552,"39717":2552,"39730":2553,"12224":2553,"39740":2554,"12225":2554,"20094":2555,"20602":2556,"20605":2557,"57382":2557,"20572":2558,"20551":2559,"20547":2560,"20556":2561,"20570":2562,"20553":2563,"20581":2564,"20598":2565,"20558":2566,"20565":2567,"20597":2568,"20596":2569,"20599":2570,"20559":2571,"20495":2572,"20591":2573,"20589":2574,"20828":2575,"20885":2576,"20976":2577,"21098":2578,"21103":2579,"21202":2580,"21209":2581,"21208":2582,"21205":2583,"21264":2584,"21263":2585,"21273":2586,"21311":2587,"21312":2588,"21310":2589,"21443":2590,"26364":2591,"21830":2592,"21866":2593,"21862":2594,"21828":2595,"21854":2596,"21857":2597,"21827":2598,"21834":2599,"21809":2600,"21846":2601,"21839":2602,"21845":2603,"21807":2604,"21860":2605,"21816":2606,"21806":2607,"21852":2608,"21804":2609,"21859":2610,"21811":2611,"21825":2612,"21847":2613,"22280":2614,"22283":2615,"22281":2616,"22495":2617,"22533":2618,"22538":2619,"22534":2620,"22496":2621,"22500":2622,"22522":2623,"22530":2624,"22581":2625,"22519":2626,"22521":2627,"22816":2628,"22882":2629,"23094":2630,"23105":2631,"23113":2632,"23142":2633,"23146":2634,"23104":2635,"23100":2636,"23138":2637,"23130":2638,"23110":2639,"23114":2640,"23408":2641,"23495":2642,"23493":2643,"23492":2644,"23490":2645,"23487":2646,"23494":2647,"23561":2648,"23560":2649,"23559":2650,"23648":2651,"23644":2652,"23645":2653,"23815":2654,"23814":2655,"23822":2656,"23835":2657,"23830":2658,"23842":2659,"23825":2660,"23849":2661,"23828":2662,"23833":2663,"23844":2664,"23847":2665,"23831":2666,"24034":2667,"24120":2668,"24118":2669,"24115":2670,"24119":2671,"24247":2672,"24248":2673,"24246":2674,"24245":2675,"24254":2676,"24373":2677,"24375":2678,"24407":2679,"24428":2680,"24425":2681,"24427":2682,"24471":2683,"24473":2684,"24478":2685,"24472":2686,"24481":2687,"24480":2688,"24476":2689,"24703":2690,"24739":2691,"24713":2692,"24736":2693,"24744":2694,"24779":2695,"24756":2696,"24806":2697,"24765":2698,"24773":2699,"24763":2700,"24757":2701,"24796":2702,"24764":2703,"24792":2704,"24789":2705,"24774":2706,"24799":2707,"24760":2708,"24794":2709,"24775":2710,"25114":2711,"25115":2712,"25160":2713,"25504":2714,"25511":2715,"25458":2716,"25494":2717,"25506":2718,"25509":2719,"25463":2720,"25447":2721,"25496":2722,"25514":2723,"25457":2724,"25513":2725,"25481":2726,"25475":2727,"25499":2728,"25451":2729,"25512":2730,"25476":2731,"25480":2732,"25497":2733,"25505":2734,"25516":2735,"25490":2736,"25487":2737,"25472":2738,"25467":2739,"25449":2740,"25448":2741,"25466":2742,"25949":2743,"25942":2744,"25937":2745,"25945":2746,"25943":2747,"21855":2748,"25935":2749,"25944":2750,"25941":2751,"25940":2752,"26012":2753,"26011":2754,"26028":2755,"26063":2756,"26059":2757,"26060":2758,"26062":2759,"26205":2760,"26202":2761,"26212":2762,"26216":2763,"26214":2764,"26206":2765,"26361":2766,"21207":2767,"26395":2768,"26753":2769,"26799":2770,"26786":2771,"26771":2772,"26805":2773,"26751":2774,"26742":2775,"26801":2776,"26791":2777,"26775":2778,"26800":2779,"26755":2780,"26820":2781,"26797":2782,"26758":2783,"26757":2784,"26772":2785,"26781":2786,"26792":2787,"26783":2788,"26785":2789,"26754":2790,"27442":2791,"27578":2792,"27627":2793,"27628":2794,"27691":2795,"28046":2796,"28092":2797,"28147":2798,"28121":2799,"28082":2800,"28129":2801,"28108":2802,"28132":2803,"28155":2804,"28154":2805,"28165":2806,"28103":2807,"28107":2808,"28079":2809,"28113":2810,"28078":2811,"28126":2812,"28153":2813,"28088":2814,"28151":2815,"28149":2816,"28101":2817,"28114":2818,"28186":2819,"28085":2820,"28122":2821,"28139":2822,"28120":2823,"28138":2824,"28145":2825,"28142":2826,"28136":2827,"28102":2828,"28100":2829,"28074":2830,"28140":2831,"28095":2832,"28134":2833,"28921":2834,"28937":2835,"28938":2836,"28925":2837,"28911":2838,"29245":2839,"29309":2840,"29313":2841,"29468":2842,"29467":2843,"29462":2844,"29459":2845,"29465":2846,"29575":2847,"29701":2848,"29706":2849,"29699":2850,"29702":2851,"29694":2852,"29709":2853,"29920":2854,"29942":2855,"29943":2856,"29980":2857,"29986":2858,"30053":2859,"30054":2860,"30050":2861,"30064":2862,"30095":2863,"30164":2864,"30165":2865,"30133":2866,"30154":2867,"30157":2868,"30350":2869,"30420":2870,"30418":2871,"30427":2872,"30519":2873,"30526":2874,"30524":2875,"30518":2876,"30520":2877,"30522":2878,"30827":2879,"30787":2880,"30798":2881,"31077":2882,"31080":2883,"31085":2884,"31227":2885,"31378":2886,"31381":2887,"31520":2888,"31528":2889,"31515":2890,"31532":2891,"31526":2892,"31513":2893,"31518":2894,"31534":2895,"31890":2896,"31895":2897,"31893":2898,"32070":2899,"32067":2900,"32113":2901,"32046":2902,"32057":2903,"32060":2904,"32064":2905,"32048":2906,"32051":2907,"32068":2908,"32047":2909,"32066":2910,"32050":2911,"32049":2912,"32573":2913,"32670":2914,"32666":2915,"32716":2916,"32718":2917,"32722":2918,"32796":2919,"32842":2920,"32838":2921,"33071":2922,"33046":2923,"33059":2924,"33067":2925,"33065":2926,"33072":2927,"33060":2928,"33282":2929,"33333":2930,"33335":2931,"33334":2932,"33337":2933,"33678":2934,"33694":2935,"33688":2936,"33656":2937,"33698":2938,"33686":2939,"33725":2940,"33707":2941,"33682":2942,"33674":2943,"33683":2944,"33673":2945,"33696":2946,"33655":2947,"33659":2948,"33660":2949,"33670":2950,"33703":2951,"34389":2952,"24426":2953,"34503":2954,"34496":2955,"34486":2956,"34500":2957,"34485":2958,"34502":2959,"34507":2960,"34481":2961,"34479":2962,"34505":2963,"34899":2964,"34974":2965,"34952":2966,"34987":2967,"34962":2968,"34966":2969,"34957":2970,"34955":2971,"35219":2972,"35215":2973,"35370":2974,"35357":2975,"35363":2976,"35365":2977,"35377":2978,"35373":2979,"35359":2980,"35355":2981,"35362":2982,"35913":2983,"35930":2984,"36009":2985,"36012":2986,"36011":2987,"36008":2988,"36010":2989,"36007":2990,"36199":2991,"36198":2992,"36286":2993,"36282":2994,"36571":2995,"36575":2996,"36889":2997,"36877":2998,"36890":2999,"36887":3000,"36899":3001,"36895":3002,"36893":3003,"36880":3004,"36885":3005,"36894":3006,"36896":3007,"36879":3008,"36898":3009,"36886":3010,"36891":3011,"36884":3012,"37096":3013,"37101":3014,"37117":3015,"58488":3015,"37207":3016,"37326":3017,"37365":3018,"37350":3019,"37347":3020,"37351":3021,"37357":3022,"37353":3023,"38281":3024,"38506":3025,"38517":3026,"38515":3027,"38520":3028,"38512":3029,"38516":3030,"38518":3031,"38519":3032,"38508":3033,"38592":3034,"38634":3035,"38633":3036,"31456":3037,"31455":3038,"38914":3039,"38915":3040,"39770":3041,"12226":3041,"40165":3042,"12227":3042,"40565":3043,"12228":3043,"40575":3044,"12229":3044,"40613":3045,"12230":3045,"40635":3046,"12231":3046,"20642":3047,"20621":3048,"20613":3049,"20633":3050,"20625":3051,"20608":3052,"20630":3053,"20632":3054,"20634":3055,"26368":3056,"20977":3057,"21106":3058,"21108":3059,"21109":3060,"21097":3061,"21214":3062,"21213":3063,"21211":3064,"21338":3065,"21413":3066,"21883":3067,"21888":3068,"21927":3069,"21884":3070,"21898":3071,"21917":3072,"21912":3073,"21890":3074,"21916":3075,"21930":3076,"21908":3077,"21895":3078,"21899":3079,"21891":3080,"21939":3081,"21934":3082,"21919":3083,"21822":3084,"21938":3085,"21914":3086,"21947":3087,"21932":3088,"21937":3089,"21886":3090,"21897":3091,"21931":3092,"21913":3093,"22285":3094,"22575":3095,"22570":3096,"22580":3097,"22564":3098,"22576":3099,"22577":3100,"22561":3101,"22557":3102,"22560":3103,"22777":3104,"22778":3105,"22880":3106,"23159":3107,"57587":3107,"23194":3108,"23167":3109,"23186":3110,"23195":3111,"23207":3112,"23411":3113,"23409":3114,"23506":3115,"23500":3116,"23507":3117,"23504":3118,"23562":3119,"23563":3120,"23601":3121,"23884":3122,"23888":3123,"23860":3124,"23879":3125,"24061":3126,"24133":3127,"24125":3128,"24128":3129,"24131":3130,"24190":3131,"24266":3132,"24257":3133,"24258":3134,"24260":3135,"24380":3136,"24429":3137,"24489":3138,"24490":3139,"24488":3140,"24785":3141,"24801":3142,"24754":3143,"24758":3144,"24800":3145,"24860":3146,"24867":3147,"24826":3148,"24853":3149,"24816":3150,"24827":3151,"24820":3152,"24936":3153,"24817":3154,"24846":3155,"24822":3156,"24841":3157,"24832":3158,"24850":3159,"25119":3160,"25161":3161,"25507":3162,"25484":3163,"25551":3164,"25536":3165,"25577":3166,"25545":3167,"25542":3168,"25549":3169,"25554":3170,"25571":3171,"25552":3172,"25569":3173,"25558":3174,"25581":3175,"25582":3176,"25462":3177,"25588":3178,"25578":3179,"25563":3180,"25682":3181,"25562":3182,"25593":3183,"25950":3184,"25958":3185,"25954":3186,"25955":3187,"26001":3188,"26000":3189,"26031":3190,"26222":3191,"26224":3192,"26228":3193,"57786":3193,"26230":3194,"26223":3195,"26257":3196,"26234":3197,"26238":3198,"26231":3199,"26366":3200,"26367":3201,"26399":3202,"26397":3203,"26874":3204,"26837":3205,"26848":3206,"26840":3207,"26839":3208,"26885":3209,"26847":3210,"26869":3211,"26862":3212,"26855":3213,"26873":3214,"26834":3215,"26866":3216,"26851":3217,"26827":3218,"26829":3219,"26893":3220,"26898":3221,"26894":3222,"26825":3223,"26842":3224,"26990":3225,"26875":3226,"27454":3227,"27450":3228,"27453":3229,"27544":3230,"27542":3231,"27580":3232,"27631":3233,"27694":3234,"27695":3235,"27692":3236,"28207":3237,"57904":3237,"28216":3238,"28244":3239,"28193":3240,"28210":3241,"28263":3242,"28234":3243,"28192":3244,"28197":3245,"28195":3246,"28187":3247,"28251":3248,"28248":3249,"28196":3250,"28246":3251,"28270":3252,"28205":3253,"28198":3254,"28271":3255,"28212":3256,"28237":3257,"28218":3258,"28204":3259,"28227":3260,"28189":3261,"57901":3261,"28222":3262,"28363":3263,"28297":3264,"28185":3265,"28238":3266,"28259":3267,"28228":3268,"28274":3269,"28265":3270,"28255":3271,"28953":3272,"28954":3273,"28966":3274,"28976":3275,"28961":3276,"28982":3277,"29038":3278,"57958":3278,"28956":3279,"29260":3280,"29316":3281,"29312":3282,"29494":3283,"29477":3284,"29492":3285,"29481":3286,"29754":3287,"29738":3288,"29747":3289,"29730":3290,"29733":3291,"29749":3292,"29750":3293,"29748":3294,"29743":3295,"29723":3296,"29734":3297,"29736":3298,"29989":3299,"29990":3300,"30059":3301,"30058":3302,"30178":3303,"30171":3304,"30179":3305,"30169":3306,"30168":3307,"30174":3308,"30176":3309,"30331":3310,"30332":3311,"30358":3312,"30355":3313,"30388":3314,"30428":3315,"30543":3316,"30701":3317,"30813":3318,"30828":3319,"30831":3320,"31245":3321,"31240":3322,"31243":3323,"31237":3324,"31232":3325,"31384":3326,"31383":3327,"31382":3328,"31461":3329,"31459":3330,"31561":3331,"31574":3332,"31558":3333,"31568":3334,"31570":3335,"31572":3336,"31565":3337,"31563":3338,"31567":3339,"31569":3340,"60510":3340,"31903":3341,"31909":3342,"32094":3343,"32080":3344,"32104":3345,"32085":3346,"32043":3347,"32110":3348,"32114":3349,"32097":3350,"32102":3351,"32098":3352,"32112":3353,"32115":3354,"21892":3355,"32724":3356,"32725":3357,"32779":3358,"32850":3359,"32901":3360,"33109":3361,"33108":3362,"33099":3363,"33105":3364,"33102":3365,"33081":3366,"33094":3367,"33086":3368,"33100":3369,"33107":3370,"33140":3371,"33298":3372,"33308":3373,"33769":3374,"33795":3375,"33784":3376,"33805":3377,"33760":3378,"33733":3379,"33803":3380,"33729":3381,"58309":3381,"33775":3382,"33777":3383,"33780":3384,"33879":3385,"33802":3386,"33776":3387,"33804":3388,"33740":3389,"33789":3390,"33778":3391,"33738":3392,"33848":3393,"33806":3394,"33796":3395,"33756":3396,"33799":3397,"33748":3398,"33759":3399,"34395":3400,"34527":3401,"34521":3402,"34541":3403,"34516":3404,"34523":3405,"34532":3406,"34512":3407,"34526":3408,"34903":3409,"35009":3410,"35010":3411,"34993":3412,"35203":3413,"35222":3414,"35387":3415,"35424":3416,"35413":3417,"35422":3418,"35388":3419,"35393":3420,"35412":3421,"35419":3422,"35408":3423,"35398":3424,"35380":3425,"35386":3426,"35382":3427,"35414":3428,"35937":3429,"35970":3430,"36015":3431,"36028":3432,"36019":3433,"36029":3434,"36033":3435,"36027":3436,"36032":3437,"36020":3438,"36023":3439,"36022":3440,"36031":3441,"36024":3442,"36234":3443,"36229":3444,"36225":3445,"36302":3446,"36317":3447,"36299":3448,"36314":3449,"36305":3450,"36300":3451,"36315":3452,"36294":3453,"36603":3454,"36600":3455,"36604":3456,"36764":3457,"36910":3458,"36917":3459,"36913":3460,"36920":3461,"36914":3462,"36918":3463,"37122":3464,"37109":3465,"37129":3466,"37118":3467,"37219":3468,"37221":3469,"37327":3470,"37396":3471,"37397":3472,"37411":3473,"37385":3474,"37406":3475,"37389":3476,"37392":3477,"37383":3478,"37393":3479,"38292":3480,"38287":3481,"38283":3482,"38289":3483,"38291":3484,"38290":3485,"38286":3486,"38538":3487,"38542":3488,"38539":3489,"38525":3490,"38533":3491,"38534":3492,"38541":3493,"38514":3494,"38532":3495,"38593":3496,"38597":3497,"38596":3498,"38598":3499,"38599":3500,"38639":3501,"38642":3502,"38860":3503,"38917":3504,"38918":3505,"38920":3506,"39143":3507,"39146":3508,"39151":3509,"39145":3510,"39154":3511,"39149":3512,"39342":3513,"39341":3514,"40643":3515,"12232":3515,"40653":3516,"12233":3516,"40657":3517,"12234":3517,"20098":3518,"20653":3519,"20661":3520,"20658":3521,"20659":3522,"20677":3523,"20670":3524,"20652":3525,"20663":3526,"20667":3527,"20655":3528,"20679":3529,"21119":3530,"21111":3531,"21117":3532,"21215":3533,"21222":3534,"21220":3535,"21218":3536,"21219":3537,"21295":3538,"21983":3539,"21992":3540,"21971":3541,"21990":3542,"21966":3543,"21980":3544,"21959":3545,"21969":3546,"21987":3547,"21988":3548,"21999":3549,"21978":3550,"21985":3551,"21957":3552,"21958":3553,"21989":3554,"21961":3555,"22290":3556,"22291":3557,"22622":3558,"22609":3559,"22616":3560,"22615":3561,"22618":3562,"22612":3563,"22635":3564,"22604":3565,"22637":3566,"22602":3567,"22626":3568,"22610":3569,"22603":3570,"22887":3571,"23233":3572,"23241":3573,"23244":3574,"23230":3575,"23229":3576,"23228":3577,"23219":3578,"23234":3579,"23218":3580,"23913":3581,"23919":3582,"24140":3583,"24185":3584,"24265":3585,"24264":3586,"24338":3587,"24409":3588,"24492":3589,"24494":3590,"24858":3591,"24847":3592,"24904":3593,"24863":3594,"24819":3595,"24859":3596,"24825":3597,"24833":3598,"24840":3599,"24910":3600,"24908":3601,"24900":3602,"24909":3603,"24894":3604,"24884":3605,"24871":3606,"24845":3607,"24838":3608,"24887":3609,"25121":3610,"25122":3611,"25619":3612,"25662":3613,"25630":3614,"25642":3615,"25645":3616,"25661":3617,"25644":3618,"25615":3619,"25628":3620,"25620":3621,"25613":3622,"25654":3623,"25622":3624,"25623":3625,"25606":3626,"25964":3627,"26015":3628,"26032":3629,"26263":3630,"26249":3631,"26247":3632,"26248":3633,"26262":3634,"26244":3635,"26264":3636,"26253":3637,"26371":3638,"27028":3639,"26989":3640,"26970":3641,"26999":3642,"26976":3643,"26964":3644,"26997":3645,"26928":3646,"27010":3647,"26954":3648,"26984":3649,"26987":3650,"26974":3651,"26963":3652,"27001":3653,"27014":3654,"26973":3655,"26979":3656,"26971":3657,"27463":3658,"27506":3659,"27584":3660,"27583":3661,"27603":3662,"27645":3663,"28322":3664,"28335":3665,"28371":3666,"28342":3667,"28354":3668,"28304":3669,"28317":3670,"28359":3671,"28357":3672,"28325":3673,"28312":3674,"28348":3675,"28346":3676,"28331":3677,"28369":3678,"28310":3679,"28316":3680,"28356":3681,"28372":3682,"28330":3683,"28327":3684,"28340":3685,"29006":3686,"29017":3687,"29033":3688,"29028":3689,"29001":3690,"29031":3691,"29020":3692,"29036":3693,"29030":3694,"29004":3695,"29029":3696,"29022":3697,"28998":3698,"29032":3699,"29014":3700,"29242":3701,"29266":3702,"29495":3703,"29509":3704,"29503":3705,"29502":3706,"29807":3707,"29786":3708,"29781":3709,"29791":3710,"29790":3711,"29761":3712,"29759":3713,"29785":3714,"29787":3715,"58019":3716,"29788":3716,"30070":3717,"30072":3718,"30208":3719,"30192":3720,"30209":3721,"30194":3722,"30193":3723,"30202":3724,"30207":3725,"30196":3726,"30195":3727,"30430":3728,"30431":3729,"30555":3730,"30571":3731,"30566":3732,"30558":3733,"30563":3734,"30585":3735,"30570":3736,"30572":3737,"30556":3738,"30565":3739,"30568":3740,"30562":3741,"30702":3742,"30862":3743,"30896":3744,"30871":3745,"30872":3746,"30860":3747,"30857":3748,"30844":3749,"30865":3750,"30867":3751,"30847":3752,"31098":3753,"31103":3754,"31105":3755,"33836":3756,"31165":3757,"31260":3758,"31258":3759,"31264":3760,"31252":3761,"31263":3762,"31262":3763,"31391":3764,"31392":3765,"31607":3766,"31680":3767,"31584":3768,"31598":3769,"31591":3770,"31921":3771,"31923":3772,"31925":3773,"32147":3774,"32121":3775,"32145":3776,"32129":3777,"32143":3778,"32091":3779,"32622":3780,"32617":3781,"32618":3782,"32626":3783,"32681":3784,"32680":3785,"32676":3786,"32854":3787,"32856":3788,"32902":3789,"32900":3790,"33137":3791,"33136":3792,"33144":3793,"33125":3794,"33134":3795,"33139":3796,"33131":3797,"33145":3798,"33146":3799,"33126":3800,"33285":3801,"33351":3802,"33922":3803,"33911":3804,"33853":3805,"33841":3806,"33909":3807,"33894":3808,"33899":3809,"33865":3810,"33900":3811,"33883":3812,"33852":3813,"33845":3814,"33889":3815,"33891":3816,"33897":3817,"33901":3818,"33862":3819,"34398":3820,"34396":3821,"34399":3822,"34553":3823,"34579":3824,"34568":3825,"34567":3826,"34560":3827,"34558":3828,"34555":3829,"34562":3830,"34563":3831,"34566":3832,"34570":3833,"34905":3834,"35039":3835,"35028":3836,"35033":3837,"35036":3838,"35032":3839,"35037":3840,"35041":3841,"35018":3842,"35029":3843,"35026":3844,"35228":3845,"35299":3846,"35435":3847,"35442":3848,"35443":3849,"35430":3850,"35433":3851,"35440":3852,"35463":3853,"35452":3854,"35427":3855,"35488":3856,"35441":3857,"35461":3858,"35437":3859,"35426":3860,"35438":3861,"35436":3862,"35449":3863,"35451":3864,"35390":3865,"35432":3866,"35938":3867,"35978":3868,"35977":3869,"36042":3870,"36039":3871,"36040":3872,"36036":3873,"36018":3874,"36035":3875,"36034":3876,"36037":3877,"36321":3878,"36319":3879,"36328":3880,"36335":3881,"36339":3882,"36346":3883,"36330":3884,"36324":3885,"36326":3886,"36530":3887,"36611":3888,"36617":3889,"36606":3890,"36618":3891,"36767":3892,"36786":3893,"36939":3894,"36938":3895,"36947":3896,"36930":3897,"36948":3898,"36924":3899,"36949":3900,"36944":3901,"36935":3902,"36943":3903,"36942":3904,"36941":3905,"36945":3906,"36926":3907,"36929":3908,"37138":3909,"37143":3910,"37228":3911,"37226":3912,"37225":3913,"37321":3914,"37431":3915,"37463":3916,"37432":3917,"37437":3918,"37440":3919,"37438":3920,"37467":3921,"37451":3922,"37476":3923,"37457":3924,"37428":3925,"37449":3926,"37453":3927,"37445":3928,"37433":3929,"37439":3930,"37466":3931,"38296":3932,"38552":3933,"38548":3934,"38549":3935,"38605":3936,"38603":3937,"38601":3938,"38602":3939,"38647":3940,"38651":3941,"38649":3942,"38646":3943,"38742":3944,"38772":3945,"38774":3946,"38928":3947,"38929":3948,"38931":3949,"38922":3950,"38930":3951,"38924":3952,"39164":3953,"39156":3954,"39165":3955,"39166":3956,"39347":3957,"39345":3958,"39348":3959,"39649":3960,"40169":3961,"40578":3962,"40718":3963,"12237":3963,"40723":3964,"12238":3964,"40736":3965,"12239":3965,"20711":3966,"20718":3967,"20709":3968,"20694":3969,"20717":3970,"60903":3970,"20698":3971,"20693":3972,"20687":3973,"20689":3974,"20721":3975,"20686":3976,"20713":3977,"20834":3978,"20979":3979,"21123":3980,"21122":3981,"21297":3982,"21421":3983,"22014":3984,"22016":3985,"22043":3986,"22039":3987,"22013":3988,"22036":3989,"22022":3990,"22025":3991,"22029":3992,"22030":3993,"22007":3994,"22038":3995,"22047":3996,"22024":3997,"22032":3998,"22006":3999,"22296":4000,"22294":4001,"22645":4002,"22654":4003,"22659":4004,"22675":4005,"22666":4006,"22649":4007,"22661":4008,"22653":4009,"22781":4010,"22821":4011,"22818":4012,"22820":4013,"22890":4014,"22889":4015,"23265":4016,"23270":4017,"23273":4018,"23255":4019,"23254":4020,"23256":4021,"23267":4022,"23413":4023,"23518":4024,"23527":4025,"23521":4026,"23525":4027,"23526":4028,"23528":4029,"23522":4030,"23524":4031,"23519":4032,"23565":4033,"23650":4034,"23940":4035,"23943":4036,"24155":4037,"24163":4038,"24149":4039,"24151":4040,"24148":4041,"24275":4042,"24278":4043,"24330":4044,"24390":4045,"24432":4046,"24505":4047,"24903":4048,"24895":4049,"24907":4050,"24951":4051,"24930":4052,"24931":4053,"24927":4054,"24922":4055,"24920":4056,"24949":4057,"25130":4058,"25735":4059,"25688":4060,"25684":4061,"25764":4062,"25720":4063,"25695":4064,"25722":4065,"25681":4066,"25703":4067,"25652":4068,"25709":4069,"25723":4070,"25970":4071,"26017":4072,"26071":4073,"26070":4074,"26274":4075,"26280":4076,"26269":4077,"27036":4078,"27048":4079,"27029":4080,"27073":4081,"27054":4082,"27091":4083,"27083":4084,"27035":4085,"27063":4086,"27067":4087,"27051":4088,"27060":4089,"27088":4090,"27085":4091,"27053":4092,"27084":4093,"27046":4094,"27075":4095,"27043":4096,"27465":4097,"27468":4098,"27699":4099,"28467":4100,"28436":4101,"28414":4102,"28435":4103,"28404":4104,"28457":4105,"28478":4106,"28448":4107,"28460":4108,"28431":4109,"28418":4110,"28450":4111,"28415":4112,"28399":4113,"28422":4114,"28465":4115,"28472":4116,"28466":4117,"28451":4118,"28437":4119,"28459":4120,"28463":4121,"28552":4122,"28458":4123,"28396":4124,"28417":4125,"28402":4126,"28364":4127,"28407":4128,"29076":4129,"29081":4130,"29053":4131,"29066":4132,"29060":4133,"29074":4134,"29246":4135,"29330":4136,"29334":4137,"29508":4138,"29520":4139,"29796":4140,"29795":4141,"29802":4142,"29808":4143,"29805":4144,"29956":4145,"30097":4146,"30247":4147,"30221":4148,"30219":4149,"30217":4150,"30227":4151,"30433":4152,"30435":4153,"30596":4154,"30589":4155,"30591":4156,"30561":4157,"30913":4158,"30879":4159,"30887":4160,"30899":4161,"30889":4162,"30883":4163,"31118":4164,"31119":4165,"31117":4166,"31278":4167,"31281":4168,"31402":4169,"31401":4170,"31469":4171,"31471":4172,"31649":4173,"31637":4174,"31627":4175,"31605":4176,"31639":4177,"31645":4178,"31636":4179,"31631":4180,"31672":4181,"58170":4181,"31623":4182,"31620":4183,"31929":4184,"31933":4185,"31934":4186,"32187":4187,"32176":4188,"32156":4189,"32189":4190,"32190":4191,"32160":4192,"32202":4193,"32180":4194,"32178":4195,"32177":4196,"32186":4197,"32162":4198,"32191":4199,"32181":4200,"32184":4201,"32173":4202,"32210":4203,"58202":4203,"32199":4204,"32172":4205,"32624":4206,"32736":4207,"32737":4208,"32735":4209,"32862":4210,"32858":4211,"32903":4212,"33104":4213,"33152":4214,"33167":4215,"33160":4216,"33162":4217,"33151":4218,"33154":4219,"33255":4220,"33274":4221,"33287":4222,"33300":4223,"33310":4224,"33355":4225,"33993":4226,"33983":4227,"33990":4228,"33988":4229,"33945":4230,"33950":4231,"33970":4232,"33948":4233,"33995":4234,"33976":4235,"33984":4236,"34003":4237,"33936":4238,"33980":4239,"34001":4240,"33994":4241,"34623":4242,"34588":4243,"34619":4244,"34594":4245,"34597":4246,"34612":4247,"34584":4248,"34645":4249,"34615":4250,"34601":4251,"35059":4252,"35074":4253,"35060":4254,"35065":4255,"35064":4256,"35069":4257,"35048":4258,"35098":4259,"35055":4260,"35494":4261,"35468":4262,"35486":4263,"35491":4264,"35469":4265,"35489":4266,"35475":4267,"35492":4268,"35498":4269,"35493":4270,"35496":4271,"35480":4272,"35473":4273,"35482":4274,"35495":4275,"35946":4276,"35981":4277,"35980":4278,"36051":4279,"36049":4280,"36050":4281,"36203":4282,"36249":4283,"36245":4284,"36348":4285,"36628":4286,"36626":4287,"36629":4288,"36627":4289,"36771":4290,"36960":4291,"36952":4292,"36956":4293,"36963":4294,"36953":4295,"36958":4296,"36962":4297,"36957":4298,"36955":4299,"37145":4300,"37144":4301,"37150":4302,"37237":4303,"37240":4304,"37239":4305,"37236":4306,"37496":4307,"37548":4308,"37504":4309,"37509":4310,"37528":4311,"37526":4312,"37499":4313,"37523":4314,"37532":4315,"37544":4316,"37500":4317,"37521":4318,"38305":4319,"38312":4320,"38313":4321,"38307":4322,"38309":4323,"38308":4324,"38553":4325,"38556":4326,"38555":4327,"38604":4328,"38610":4329,"38656":4330,"38780":4331,"38789":4332,"38902":4333,"38935":4334,"38936":4335,"39087":4336,"39089":4337,"39171":4338,"39173":4339,"39180":4340,"39177":4341,"39361":4342,"39599":4343,"39600":4344,"39654":4345,"39745":4346,"39746":4347,"40180":4348,"40182":4349,"40179":4350,"40636":4351,"40763":4352,"12240":4352,"40778":4353,"12241":4353,"20740":4354,"20736":4355,"20731":4356,"20725":4357,"20729":4358,"20738":4359,"20744":4360,"20745":4361,"20741":4362,"20956":4363,"21127":4364,"21128":4365,"21129":4366,"21133":4367,"21130":4368,"21232":4369,"21426":4370,"22062":4371,"22075":4372,"22073":4373,"22066":4374,"22079":4375,"22068":4376,"22057":4377,"22099":4378,"22094":4379,"22103":4380,"22132":4381,"22070":4382,"22063":4383,"22064":4384,"22656":4385,"22687":4386,"22686":4387,"22707":4388,"22684":4389,"22702":4390,"22697":4391,"22694":4392,"22893":4393,"23305":4394,"23291":4395,"23307":4396,"23285":4397,"23308":4398,"23304":4399,"23534":4400,"23532":4401,"23529":4402,"23531":4403,"23652":4404,"23653":4405,"23965":4406,"23956":4407,"24162":4408,"24159":4409,"24161":4410,"24290":4411,"24282":4412,"24287":4413,"24285":4414,"24291":4415,"24288":4416,"24392":4417,"24433":4418,"24503":4419,"24501":4420,"24950":4421,"24935":4422,"24942":4423,"24925":4424,"24917":4425,"24962":4426,"24956":4427,"24944":4428,"24939":4429,"24958":4430,"24999":4431,"24976":4432,"25003":4433,"24974":4434,"25004":4435,"24986":4436,"24996":4437,"24980":4438,"25006":4439,"25134":4440,"25705":4441,"25711":4442,"25721":4443,"25758":4444,"25778":4445,"25736":4446,"25744":4447,"57745":4447,"25776":4448,"25765":4449,"25747":4450,"25749":4451,"25769":4452,"25746":4453,"25774":4454,"25773":4455,"25771":4456,"25754":4457,"25772":4458,"25753":4459,"25762":4460,"25779":4461,"25973":4462,"25975":4463,"25976":4464,"26286":4465,"26283":4466,"26292":4467,"26289":4468,"27171":4469,"27167":4470,"27112":4471,"27137":4472,"27166":4473,"27161":4474,"27133":4475,"27169":4476,"27155":4477,"27146":4478,"27123":4479,"27138":4480,"27141":4481,"27117":4482,"27153":4483,"27472":4484,"27470":4485,"27556":4486,"27589":4487,"27590":4488,"28479":4489,"28540":4490,"28548":4491,"28497":4492,"28518":4493,"28500":4494,"28550":4495,"28525":4496,"28507":4497,"28536":4498,"28526":4499,"28558":4500,"28538":4501,"28528":4502,"28516":4503,"28567":4504,"28504":4505,"28373":4506,"28527":4507,"28512":4508,"28511":4509,"29087":4510,"29100":4511,"29105":4512,"29096":4513,"29270":4514,"29339":4515,"29518":4516,"29527":4517,"29801":4518,"29835":4519,"29827":4520,"29822":4521,"29824":4522,"30079":4523,"30240":4524,"30249":4525,"30239":4526,"30244":4527,"30246":4528,"30241":4529,"30242":4530,"30362":4531,"30394":4532,"30436":4533,"30606":4534,"30599":4535,"30604":4536,"30609":4537,"30603":4538,"30923":4539,"30917":4540,"30906":4541,"30922":4542,"30910":4543,"30933":4544,"30908":4545,"30928":4546,"31295":4547,"31292":4548,"31296":4549,"31293":4550,"31287":4551,"31291":4552,"31407":4553,"31406":4554,"31661":4555,"31665":4556,"31684":4557,"31668":4558,"31686":4559,"31687":4560,"31681":4561,"31648":4562,"31692":4563,"31946":4564,"32224":4565,"32244":4566,"32239":4567,"32251":4568,"32216":4569,"32236":4570,"32221":4571,"32232":4572,"32227":4573,"32218":4574,"32222":4575,"32233":4576,"32158":4577,"32217":4578,"32242":4579,"32249":4580,"32629":4581,"32631":4582,"32687":4583,"32745":4584,"32806":4585,"33179":4586,"33180":4587,"33181":4588,"33184":4589,"33178":4590,"33176":4591,"34071":4592,"34109":4593,"34074":4594,"34030":4595,"34092":4596,"34093":4597,"34067":4598,"34065":4599,"34083":4600,"34081":4601,"34068":4602,"34028":4603,"34085":4604,"34047":4605,"34054":4606,"34690":4607,"34676":4608,"34678":4609,"34656":4610,"34662":4611,"34680":4612,"34664":4613,"34649":4614,"34647":4615,"34636":4616,"34643":4617,"34907":4618,"34909":4619,"35088":4620,"35079":4621,"35090":4622,"35091":4623,"35093":4624,"35082":4625,"35516":4626,"35538":4627,"35527":4628,"35524":4629,"35477":4630,"35531":4631,"35576":4632,"35506":4633,"35529":4634,"35522":4635,"35519":4636,"35504":4637,"35542":4638,"35533":4639,"35510":4640,"35513":4641,"35547":4642,"35916":4643,"35918":4644,"35948":4645,"36064":4646,"36062":4647,"36070":4648,"36068":4649,"36076":4650,"36077":4651,"36066":4652,"36067":4653,"36060":4654,"36074":4655,"36065":4656,"36205":4657,"36255":4658,"36259":4659,"36395":4660,"36368":4661,"36381":4662,"36386":4663,"36367":4664,"36393":4665,"36383":4666,"36385":4667,"36382":4668,"36538":4669,"36637":4670,"36635":4671,"36639":4672,"36649":4673,"36646":4674,"36650":4675,"36636":4676,"36638":4677,"36645":4678,"36969":4679,"36974":4680,"36968":4681,"36973":4682,"36983":4683,"37168":4684,"37165":4685,"37159":4686,"37169":4687,"37255":4688,"37257":4689,"37259":4690,"37251":4691,"37573":4692,"37563":4693,"37559":4694,"37610":4695,"37604":4696,"37569":4697,"37555":4698,"37564":4699,"37586":4700,"37575":4701,"37616":4702,"37554":4703,"38317":4704,"38321":4705,"38660":4706,"38662":4707,"38663":4708,"38665":4709,"38752":4710,"38797":4711,"38795":4712,"38799":4713,"38945":4714,"38955":4715,"38940":4716,"39091":4717,"39178":4718,"39187":4719,"39186":4720,"39192":4721,"39389":4722,"39376":4723,"39391":4724,"39387":4725,"39377":4726,"39381":4727,"39378":4728,"39385":4729,"39607":4730,"39662":4731,"39663":4732,"39719":4733,"39749":4734,"39748":4735,"39799":4736,"39791":4737,"40198":4738,"40201":4739,"40195":4740,"40617":4741,"40638":4742,"40654":4743,"22696":4744,"12242":4745,"40786":4745,"20754":4746,"20760":4747,"20756":4748,"20752":4749,"20757":4750,"20864":4751,"20906":4752,"20957":4753,"21137":4754,"21139":4755,"21235":4756,"22105":4757,"22123":4758,"22137":4759,"22121":4760,"22116":4761,"22136":4762,"22122":4763,"22120":4764,"22117":4765,"22129":4766,"22127":4767,"22124":4768,"22114":4769,"22134":4770,"22721":4771,"22718":4772,"22727":4773,"22725":4774,"22894":4775,"23325":4776,"23348":4777,"23416":4778,"23536":4779,"23566":4780,"24394":4781,"25010":4782,"24977":4783,"25001":4784,"24970":4785,"25037":4786,"25014":4787,"25022":4788,"25034":4789,"25032":4790,"25136":4791,"25797":4792,"25793":4793,"25803":4794,"25787":4795,"25788":4796,"25818":4797,"25796":4798,"25799":4799,"25794":4800,"25805":4801,"25791":4802,"25810":4803,"25812":4804,"25790":4805,"25972":4806,"26310":4807,"26313":4808,"26297":4809,"26308":4810,"26311":4811,"26296":4812,"27197":4813,"27192":4814,"27194":4815,"27225":4816,"27243":4817,"27224":4818,"27193":4819,"27204":4820,"27234":4821,"27233":4822,"27211":4823,"27207":4824,"27189":4825,"27231":4826,"27208":4827,"27481":4828,"27511":4829,"27653":4830,"28610":4831,"28593":4832,"28577":4833,"28611":4834,"28580":4835,"28609":4836,"28583":4837,"28595":4838,"28608":4839,"28601":4840,"28598":4841,"60318":4841,"28582":4842,"28576":4843,"28596":4844,"29118":4845,"29129":4846,"29136":4847,"29138":4848,"29128":4849,"29141":4850,"29113":4851,"29134":4852,"29145":4853,"29148":4854,"29123":4855,"29124":4856,"29544":4857,"29852":4858,"29859":4859,"29848":4860,"29855":4861,"29854":4862,"29922":4863,"29964":4864,"29965":4865,"30260":4866,"30264":4867,"30266":4868,"30439":4869,"30437":4870,"30624":4871,"30622":4872,"30623":4873,"30629":4874,"30952":4875,"30938":4876,"30956":4877,"30951":4878,"31142":4879,"31309":4880,"31310":4881,"31302":4882,"31308":4883,"31307":4884,"31418":4885,"31705":4886,"31761":4887,"31689":4888,"31716":4889,"31707":4890,"31713":4891,"31721":4892,"31718":4893,"31957":4894,"31958":4895,"32266":4896,"32273":4897,"32264":4898,"32283":4899,"32291":4900,"32286":4901,"32285":4902,"58211":4902,"32265":4903,"32272":4904,"32633":4905,"32690":4906,"32752":4907,"32753":4908,"32750":4909,"32808":4910,"58239":4910,"33203":4911,"33193":4912,"33192":4913,"33275":4914,"33288":4915,"33368":4916,"33369":4917,"34122":4918,"34137":4919,"34120":4920,"34152":4921,"34153":4922,"34115":4923,"34121":4924,"34157":4925,"34154":4926,"34142":4927,"34691":4928,"34719":4929,"34718":4930,"34722":4931,"34701":4932,"34913":4933,"35114":4934,"35122":4935,"35109":4936,"35115":4937,"35105":4938,"35242":4939,"35238":4940,"58391":4940,"35558":4941,"35578":4942,"35563":4943,"35569":4944,"35584":4945,"35548":4946,"35559":4947,"35566":4948,"35582":4949,"35585":4950,"35586":4951,"35575":4952,"35565":4953,"35571":4954,"35574":4955,"35580":4956,"35947":4957,"35949":4958,"35987":4959,"36084":4960,"36420":4961,"36401":4962,"36404":4963,"36418":4964,"36409":4965,"36405":4966,"36667":4967,"36655":4968,"36664":4969,"36659":4970,"36776":4971,"36774":4972,"36981":4973,"36980":4974,"36984":4975,"36978":4976,"36988":4977,"36986":4978,"37172":4979,"37266":4980,"37664":4981,"37686":4982,"37624":4983,"37683":4984,"37679":4985,"37666":4986,"37628":4987,"37675":4988,"37636":4989,"37658":4990,"37648":4991,"37670":4992,"37665":4993,"37653":4994,"37678":4995,"37657":4996,"38331":4997,"38567":4998,"38568":4999,"38570":5000,"38613":5001,"38670":5002,"38673":5003,"38678":5004,"38669":5005,"38675":5006,"38671":5007,"38747":5008,"58565":5009,"38748":5009,"38758":5010,"38808":5011,"38960":5012,"38968":5013,"38971":5014,"38967":5015,"38957":5016,"38969":5017,"38948":5018,"39184":5019,"39208":5020,"39198":5021,"39195":5022,"39201":5023,"39194":5024,"39405":5025,"39394":5026,"39409":5027,"39608":5028,"39612":5029,"39675":5030,"39661":5031,"39720":5032,"39825":5033,"40213":5034,"40227":5035,"40230":5036,"40232":5037,"40210":5038,"40219":5039,"40664":5040,"40660":5041,"40845":5042,"12243":5042,"40860":5043,"12244":5043,"20778":5044,"20767":5045,"20769":5046,"20786":5047,"21237":5048,"22158":5049,"22144":5050,"22160":5051,"22149":5052,"22151":5053,"22159":5054,"22741":5055,"22739":5056,"22737":5057,"22734":5058,"23344":5059,"23338":5060,"23332":5061,"23418":5062,"23607":5063,"23656":5064,"23996":5065,"23994":5066,"23997":5067,"23992":5068,"24171":5069,"24396":5070,"24509":5071,"25033":5072,"25026":5073,"25031":5074,"25062":5075,"25035":5076,"25138":5077,"25140":5078,"25806":5079,"25802":5080,"25816":5081,"25824":5082,"25840":5083,"25830":5084,"25836":5085,"25841":5086,"25826":5087,"25837":5088,"25986":5089,"25987":5090,"26329":5091,"26326":5092,"27264":5093,"27284":5094,"27268":5095,"27298":5096,"27292":5097,"27355":5098,"27299":5099,"27262":5100,"27287":5101,"27280":5102,"27296":5103,"27484":5104,"27566":5105,"27610":5106,"27656":5107,"28632":5108,"28657":5109,"28639":5110,"28640":5111,"28635":5112,"28644":5113,"28651":5114,"28655":5115,"28544":5116,"28652":5117,"28641":5118,"28649":5119,"28629":5120,"28654":5121,"28656":5122,"29159":5123,"29151":5124,"60361":5124,"29166":5125,"29158":5126,"29157":5127,"29165":5128,"29164":5129,"29172":5130,"29152":5131,"29237":5132,"29254":5133,"29552":5134,"29554":5135,"29865":5136,"29872":5137,"29862":5138,"29864":5139,"30278":5140,"30274":5141,"30284":5142,"30442":5143,"30643":5144,"30634":5145,"30640":5146,"30636":5147,"30631":5148,"30637":5149,"30703":5150,"30967":5151,"30970":5152,"30964":5153,"30959":5154,"30977":5155,"31143":5156,"31146":5157,"31319":5158,"31423":5159,"31751":5160,"31757":5161,"31742":5162,"31735":5163,"31756":5164,"31712":5165,"31968":5166,"31964":5167,"31966":5168,"31970":5169,"31967":5170,"31961":5171,"31965":5172,"32302":5173,"32318":5174,"32326":5175,"32311":5176,"32306":5177,"32323":5178,"32299":5179,"32317":5180,"32305":5181,"32325":5182,"32321":5183,"32308":5184,"32313":5185,"32328":5186,"32309":5187,"32319":5188,"32303":5189,"32580":5190,"32755":5191,"32764":5192,"32881":5193,"32882":5194,"32880":5195,"32879":5196,"32883":5197,"33222":5198,"33219":5199,"33210":5200,"33218":5201,"33216":5202,"33215":5203,"33213":5204,"33225":5205,"33214":5206,"33256":5207,"33289":5208,"33393":5209,"34218":5210,"34180":5211,"34174":5212,"34204":5213,"34193":5214,"34196":5215,"34223":5216,"34203":5217,"34183":5218,"34216":5219,"34186":5220,"34214":5221,"34407":5222,"34752":5223,"34769":5224,"34739":5225,"34770":5226,"34758":5227,"34731":5228,"34747":5229,"34746":5230,"34760":5231,"34763":5232,"35131":5233,"35126":5234,"35140":5235,"35128":5236,"35133":5237,"35244":5238,"35598":5239,"35607":5240,"35609":5241,"35611":5242,"35594":5243,"35616":5244,"35613":5245,"35588":5246,"35600":5247,"35905":5248,"35903":5249,"35955":5250,"36090":5251,"36093":5252,"36092":5253,"36088":5254,"36091":5255,"36264":5256,"36425":5257,"36427":5258,"36424":5259,"36426":5260,"36676":5261,"36670":5262,"36674":5263,"36677":5264,"36671":5265,"36991":5266,"36989":5267,"36996":5268,"36993":5269,"36994":5270,"36992":5271,"37177":5272,"37283":5273,"37278":5274,"37276":5275,"37709":5276,"37762":5277,"37672":5278,"37749":5279,"37706":5280,"37733":5281,"37707":5282,"37656":5283,"37758":5284,"37740":5285,"37723":5286,"37744":5287,"37722":5288,"37716":5289,"38346":5290,"38347":5291,"38348":5292,"38344":5293,"38342":5294,"38577":5295,"38584":5296,"38614":5297,"38684":5298,"38686":5299,"38816":5300,"38867":5301,"38982":5302,"39094":5303,"39221":5304,"39425":5305,"39423":5306,"39854":5307,"39851":5308,"39850":5309,"39853":5310,"40251":5311,"40255":5312,"40587":5313,"40655":5314,"40670":5315,"40668":5316,"40669":5317,"40667":5318,"40766":5319,"40779":5320,"21474":5321,"22165":5322,"22190":5323,"22745":5324,"22744":5325,"23352":5326,"24413":5327,"25059":5328,"25139":5329,"25844":5330,"25842":5331,"25854":5332,"25862":5333,"25850":5334,"25851":5335,"25847":5336,"26039":5337,"26332":5338,"26406":5339,"27315":5340,"27308":5341,"27331":5342,"27323":5343,"27320":5344,"27330":5345,"27310":5346,"27311":5347,"27487":5348,"27512":5349,"27567":5350,"28681":5351,"28683":5352,"28670":5353,"28678":5354,"28666":5355,"28689":5356,"28687":5357,"29179":5358,"29180":5359,"29182":5360,"29176":5361,"29559":5362,"29557":5363,"29863":5364,"29887":5365,"29973":5366,"30294":5367,"30296":5368,"30290":5369,"30653":5370,"30655":5371,"30651":5372,"30652":5373,"30990":5374,"31150":5375,"31329":5376,"31330":5377,"31328":5378,"31428":5379,"31429":5380,"31787":5381,"31783":5382,"31786":5383,"31774":5384,"31779":5385,"31777":5386,"31975":5387,"32340":5388,"32341":5389,"32350":5390,"32346":5391,"32353":5392,"32338":5393,"32345":5394,"32584":5395,"32761":5396,"32763":5397,"32887":5398,"32886":5399,"33229":5400,"33231":5401,"33290":5402,"34255":5403,"34217":5404,"34253":5405,"34256":5406,"34249":5407,"34224":5408,"34234":5409,"34233":5410,"34799":5411,"34796":5412,"34802":5413,"34784":5414,"35206":5415,"35250":5416,"35316":5417,"35624":5418,"35641":5419,"35628":5420,"35627":5421,"35920":5422,"36101":5423,"36441":5424,"36451":5425,"36454":5426,"36452":5427,"36447":5428,"36437":5429,"36544":5430,"36681":5431,"36685":5432,"36999":5433,"36995":5434,"37000":5435,"37291":5436,"37292":5437,"37328":5438,"37780":5439,"37770":5440,"37782":5441,"37794":5442,"37811":5443,"37806":5444,"37804":5445,"37808":5446,"37784":5447,"37786":5448,"37783":5449,"38356":5450,"38358":5451,"38352":5452,"38357":5453,"38626":5454,"38620":5455,"38617":5456,"38619":5457,"38622":5458,"38692":5459,"38819":5460,"38822":5461,"38829":5462,"38905":5463,"38989":5464,"38991":5465,"38988":5466,"38990":5467,"38995":5468,"39098":5469,"39230":5470,"39231":5471,"39229":5472,"39214":5473,"39333":5474,"39438":5475,"39617":5476,"39683":5477,"39686":5478,"39759":5479,"39758":5480,"39757":5481,"39882":5482,"39881":5483,"39933":5484,"39880":5485,"39872":5486,"40273":5487,"40285":5488,"40288":5489,"40672":5490,"40725":5491,"40748":5492,"20787":5493,"22181":5494,"22184":5495,"22750":5496,"22751":5497,"22754":5498,"23541":5499,"40848":5500,"24300":5501,"25074":5502,"25079":5503,"25078":5504,"25077":5505,"25856":5506,"25871":5507,"26336":5508,"26333":5509,"27365":5510,"27357":5511,"27354":5512,"27347":5513,"28699":5514,"28703":5515,"28712":5516,"28698":5517,"28701":5518,"28693":5519,"28696":5520,"29190":5521,"29197":5522,"29272":5523,"29346":5524,"29560":5525,"29562":5526,"29885":5527,"29898":5528,"29923":5529,"30087":5530,"30086":5531,"30303":5532,"30305":5533,"30663":5534,"31001":5535,"31153":5536,"31339":5537,"31337":5538,"31806":5539,"31807":5540,"31800":5541,"31805":5542,"31799":5543,"31808":5544,"32363":5545,"32365":5546,"32377":5547,"32361":5548,"32362":5549,"32371":5550,"32645":5551,"32694":5552,"32697":5553,"32696":5554,"33240":5555,"34281":5556,"34269":5557,"34282":5558,"34261":5559,"34276":5560,"34277":5561,"34295":5562,"34811":5563,"34821":5564,"34829":5565,"34809":5566,"34814":5567,"35168":5568,"35167":5569,"35158":5570,"35166":5571,"35649":5572,"35676":5573,"35672":5574,"35657":5575,"35674":5576,"35662":5577,"35663":5578,"35654":5579,"35673":5580,"36104":5581,"36106":5582,"36476":5583,"36466":5584,"36487":5585,"36470":5586,"36460":5587,"36474":5588,"36468":5589,"36692":5590,"36686":5591,"36781":5592,"37002":5593,"37003":5594,"37297":5595,"37294":5596,"37857":5597,"37841":5598,"37855":5599,"37827":5600,"37832":5601,"37852":5602,"37853":5603,"37846":5604,"37858":5605,"37837":5606,"37848":5607,"37860":5608,"37847":5609,"37864":5610,"38364":5611,"38580":5612,"38627":5613,"38698":5614,"38695":5615,"38753":5616,"38876":5617,"38907":5618,"39006":5619,"39000":5620,"39003":5621,"39100":5622,"39237":5623,"39241":5624,"39446":5625,"39449":5626,"39693":5627,"39912":5628,"39911":5629,"39894":5630,"39899":5631,"40329":5632,"40289":5633,"40306":5634,"40298":5635,"40300":5636,"40594":5637,"40599":5638,"40595":5639,"40628":5640,"21240":5641,"22199":5642,"22198":5643,"22196":5644,"22204":5645,"22756":5646,"23360":5647,"23363":5648,"23421":5649,"23542":5650,"24009":5651,"25080":5652,"25082":5653,"25880":5654,"25876":5655,"25881":5656,"26342":5657,"26407":5658,"27372":5659,"28734":5660,"28720":5661,"28722":5662,"29200":5663,"29563":5664,"29903":5665,"30306":5666,"30309":5667,"31014":5668,"31018":5669,"31020":5670,"31019":5671,"31431":5672,"31478":5673,"31820":5674,"31811":5675,"31821":5676,"31983":5677,"31984":5678,"36782":5679,"32381":5680,"32380":5681,"32386":5682,"32588":5683,"32768":5684,"33242":5685,"33382":5686,"34299":5687,"34297":5688,"34321":5689,"34298":5690,"34310":5691,"34315":5692,"34311":5693,"34314":5694,"34836":5695,"34837":5696,"35172":5697,"35258":5698,"35320":5699,"35696":5700,"35692":5701,"35686":5702,"35695":5703,"35679":5704,"35691":5705,"36111":5706,"36109":5707,"36489":5708,"36481":5709,"36485":5710,"36482":5711,"37300":5712,"37323":5713,"37912":5714,"37891":5715,"37885":5716,"38369":5717,"38704":5718,"39108":5719,"39250":5720,"39249":5721,"39336":5722,"39467":5723,"39472":5724,"39479":5725,"39477":5726,"39955":5727,"39949":5728,"40569":5729,"40629":5730,"40680":5731,"40751":5732,"40799":5733,"40803":5734,"40801":5735,"20791":5736,"20792":5737,"22209":5738,"22208":5739,"22210":5740,"22804":5741,"23660":5742,"24013":5743,"25084":5744,"25086":5745,"25885":5746,"25884":5747,"26005":5748,"26345":5749,"27387":5750,"27396":5751,"27386":5752,"27570":5753,"28748":5754,"29211":5755,"29351":5756,"29910":5757,"29908":5758,"30313":5759,"30675":5760,"31824":5761,"32399":5762,"32396":5763,"32700":5764,"34327":5765,"34349":5766,"34330":5767,"34851":5768,"34850":5769,"34849":5770,"34847":5771,"35178":5772,"35180":5773,"35261":5774,"35700":5775,"35703":5776,"35709":5777,"36115":5778,"36490":5779,"36493":5780,"36491":5781,"36703":5782,"36783":5783,"37306":5784,"37934":5785,"37939":5786,"37941":5787,"37946":5788,"37944":5789,"37938":5790,"37931":5791,"38370":5792,"38712":5793,"38713":5794,"38706":5795,"38911":5796,"58586":5796,"39015":5797,"39013":5798,"39255":5799,"39493":5800,"39491":5801,"39488":5802,"39486":5803,"39631":5804,"39764":5805,"39761":5806,"39981":5807,"39973":5808,"40367":5809,"40372":5810,"40386":5811,"40376":5812,"40605":5813,"40687":5814,"40729":5815,"40796":5816,"40806":5817,"40807":5818,"20796":5819,"20795":5820,"22216":5821,"22218":5822,"22217":5823,"23423":5824,"24020":5825,"24018":5826,"24398":5827,"25087":5828,"25892":5829,"27402":5830,"27489":5831,"28753":5832,"28760":5833,"29568":5834,"29924":5835,"30090":5836,"30318":5837,"30316":5838,"31155":5839,"31840":5840,"31839":5841,"32894":5842,"32893":5843,"33247":5844,"35186":5845,"35183":5846,"35324":5847,"35712":5848,"36118":5849,"36119":5850,"36497":5851,"36499":5852,"36705":5853,"37192":5854,"37956":5855,"37969":5856,"37970":5857,"38717":5858,"38718":5859,"38851":5860,"38849":5861,"39019":5862,"39253":5863,"39509":5864,"39501":5865,"39634":5866,"39706":5867,"40009":5868,"39985":5869,"39998":5870,"39995":5871,"40403":5872,"40407":5873,"40756":5874,"40812":5875,"40810":5876,"40852":5877,"22220":5878,"24022":5879,"25088":5880,"25891":5881,"25899":5882,"25898":5883,"26348":5884,"27408":5885,"29914":5886,"31434":5887,"31844":5888,"31843":5889,"31845":5890,"32403":5891,"32406":5892,"32404":5893,"33250":5894,"34360":5895,"34367":5896,"34865":5897,"35722":5898,"37008":5899,"37007":5900,"37987":5901,"37984":5902,"37988":5903,"38760":5904,"39023":5905,"39260":5906,"39514":5907,"39515":5908,"39511":5909,"39635":5910,"39636":5911,"39633":5912,"40020":5913,"40023":5914,"40022":5915,"40421":5916,"40607":5917,"40692":5918,"22225":5919,"22761":5920,"25900":5921,"28766":5922,"30321":5923,"30322":5924,"30679":5925,"60226":5925,"32592":5926,"32648":5927,"34870":5928,"34873":5929,"34914":5930,"35731":5931,"35730":5932,"35734":5933,"33399":5934,"36123":5935,"37312":5936,"37994":5937,"38722":5938,"38728":5939,"38724":5940,"38854":5941,"39024":5942,"39519":5943,"39714":5944,"39768":5945,"40031":5946,"40441":5947,"40442":5948,"40572":5949,"40573":5950,"40711":5951,"40823":5952,"40818":5953,"24307":5954,"27414":5955,"28771":5956,"31852":5957,"31854":5958,"34875":5959,"35264":5960,"36513":5961,"37313":5962,"38002":5963,"38000":5964,"39025":5965,"39262":5966,"39638":5967,"39715":5968,"40652":5969,"28772":5970,"30682":5971,"35738":5972,"38007":5973,"38857":5974,"39522":5975,"39525":5976,"32412":5977,"35740":5978,"36522":5979,"37317":5980,"38013":5981,"38014":5982,"38012":5983,"40055":5984,"40056":5985,"40695":5986,"35924":5987,"38015":5988,"40474":5989,"29224":5990,"39530":5991,"39729":5992,"40475":5993,"40478":5994,"31858":5995,"20034":5996,"20060":5997,"12048":5998,"20981":5998,"12053":5999,"21274":5999,"12058":6000,"21378":6000,"19975":6001,"19980":6002,"20039":6003,"20109":6004,"12062":6005,"22231":6005,"12076":6006,"23662":6006,"12091":6007,"24435":6007,"19983":6008,"20871":6009,"19982":6010,"20014":6011,"20115":6012,"20162":6013,"20169":6014,"20168":6015,"20888":6016,"21244":6017,"21356":6018,"21433":6019,"22304":6020,"22787":6021,"22828":6022,"23568":6023,"60417":6023,"24063":6024,"26081":6025,"12110":6026,"27571":6026,"27596":6027,"12115":6028,"27668":6028,"12121":6029,"29247":6029,"20017":6030,"20028":6031,"20200":6032,"20188":6033,"20201":6034,"20193":6035,"20189":6036,"20186":6037,"21004":6038,"21001":6039,"21276":6040,"21324":6041,"22306":6042,"22307":6043,"22807":6044,"22831":6045,"23425":6046,"23428":6047,"23570":6048,"23611":6049,"23668":6050,"23667":6051,"24068":6052,"24192":6053,"24194":6054,"24521":6055,"25097":6056,"25168":6057,"27669":6058,"27702":6059,"27715":6060,"27711":6061,"27707":6062,"29358":6063,"29360":6064,"29578":6065,"12145":6066,"31160":6066,"32906":6067,"38430":6068,"20238":6069,"20248":6070,"20268":6071,"20213":6072,"20244":6073,"20209":6074,"20224":6075,"20215":6076,"20232":6077,"20253":6078,"20226":6079,"20229":6080,"20258":6081,"20243":6082,"20228":6083,"20212":6084,"20242":6085,"20913":6086,"21011":6087,"21008":6088,"21158":6089,"21282":6090,"21279":6091,"21325":6092,"21386":6093,"21511":6094,"22241":6095,"22239":6096,"22318":6097,"22314":6098,"22324":6099,"22844":6100,"22912":6101,"22908":6102,"22917":6103,"22907":6104,"22910":6105,"22903":6106,"22911":6107,"23382":6108,"23573":6109,"23589":6110,"23676":6111,"23674":6112,"23675":6113,"23678":6114,"24031":6115,"24181":6116,"57646":6116,"24196":6117,"24322":6118,"24346":6119,"24436":6120,"24533":6121,"24532":6122,"24527":6123,"25180":6124,"25182":6125,"25188":6126,"25185":6127,"25190":6128,"25186":6129,"25177":6130,"25184":6131,"25178":6132,"25189":6133,"25911":6134,"26095":6135,"26094":6136,"26430":6137,"26425":6138,"26424":6139,"26427":6140,"26426":6141,"26431":6142,"26428":6143,"26419":6144,"27672":6145,"27718":6146,"27730":6147,"27740":6148,"27727":6149,"27722":6150,"60796":6150,"27732":6151,"27723":6152,"27724":6153,"28785":6154,"29278":6155,"29364":6156,"29365":6157,"29582":6158,"29994":6159,"30335":6160,"31349":6161,"12153":6162,"32593":6162,"12171":6163,"33400":6163,"33404":6164,"33408":6165,"33405":6166,"33407":6167,"12172":6168,"34381":6168,"12177":6169,"35198":6169,"37017":6170,"59347":6171,"37015":6171,"37016":6172,"37019":6173,"37012":6174,"38434":6175,"38436":6176,"38432":6177,"38435":6178,"20310":6179,"20283":6180,"20322":6181,"20297":6182,"20307":6183,"20324":6184,"20286":6185,"20327":6186,"20306":6187,"20319":6188,"20289":6189,"20312":6190,"20269":6191,"20275":6192,"20287":6193,"20321":6194,"20879":6195,"20921":6196,"21020":6197,"21022":6198,"21025":6199,"21165":6200,"21166":6201,"21257":6202,"21347":6203,"21362":6204,"21390":6205,"21391":6206,"21552":6207,"21559":6208,"21546":6209,"21588":6210,"21573":6211,"21529":6212,"21532":6213,"21541":6214,"21528":6215,"21565":6216,"21583":6217,"21569":6218,"21544":6219,"21540":6220,"21575":6221,"22254":6222,"22247":6223,"22245":6224,"22337":6225,"22341":6226,"22348":6227,"22345":6228,"22347":6229,"22354":6230,"22790":6231,"22848":6232,"22950":6233,"22936":6234,"22944":6235,"22935":6236,"22926":6237,"22946":6238,"22928":6239,"22927":6240,"22951":6241,"22945":6242,"23438":6243,"23442":6244,"23592":6245,"23594":6246,"23693":6247,"23695":6248,"23688":6249,"23691":6250,"23689":6251,"23698":6252,"23690":6253,"23686":6254,"23699":6255,"23701":6256,"24032":6257,"24074":6258,"24078":6259,"24203":6260,"24201":6261,"24204":6262,"24200":6263,"24205":6264,"24325":6265,"24349":6266,"24440":6267,"24438":6268,"24530":6269,"24529":6270,"24528":6271,"24557":6272,"24552":6273,"24558":6274,"24563":6275,"24545":6276,"24548":6277,"24547":6278,"24570":6279,"24559":6280,"24567":6281,"24571":6282,"24576":6283,"24564":6284,"25146":6285,"25219":6286,"25228":6287,"25230":6288,"25231":6289,"25236":6290,"25223":6291,"25201":6292,"25211":6293,"25210":6294,"25200":6295,"25217":6296,"25224":6297,"25207":6298,"25213":6299,"25202":6300,"25204":6301,"26096":6302,"26100":6303,"26099":6304,"26098":6305,"26101":6306,"26437":6307,"26439":6308,"26457":6309,"26453":6310,"26444":6311,"26440":6312,"26461":6313,"26445":6314,"26458":6315,"26443":6316,"27600":6317,"27673":6318,"27674":6319,"27768":6320,"27751":6321,"27755":6322,"27780":6323,"27787":6324,"27791":6325,"27761":6326,"27759":6327,"27753":6328,"27802":6329,"27757":6330,"27783":6331,"27797":6332,"27804":6333,"57900":6333,"27750":6334,"27763":6335,"27749":6336,"27771":6337,"27790":6338,"28788":6339,"28794":6340,"29283":6341,"29375":6342,"29373":6343,"29379":6344,"29382":6345,"29377":6346,"29370":6347,"29381":6348,"29589":6349,"29591":6350,"29587":6351,"29588":6352,"29586":6353,"30010":6354,"30009":6355,"30100":6356,"30101":6357,"30337":6358,"31037":6359,"32820":6360,"32917":6361,"32921":6362,"32912":6363,"32914":6364,"32924":6365,"33424":6366,"33423":6367,"33413":6368,"33422":6369,"33425":6370,"33427":6371,"33418":6372,"33411":6373,"33412":6374,"12184":6375,"35960":6375,"36809":6376,"36799":6377,"37023":6378,"37025":6379,"37029":6380,"37022":6381,"37031":6382,"37024":6383,"38448":6384,"38440":6385,"38447":6386,"38445":6387,"20019":6388,"20376":6389,"20348":6390,"20357":6391,"20349":6392,"20352":6393,"20359":6394,"20342":6395,"20340":6396,"20361":6397,"20356":6398,"20343":6399,"20300":6400,"20375":6401,"20330":6402,"20378":6403,"20345":6404,"20353":6405,"20344":6406,"20368":6407,"20380":6408,"20372":6409,"20382":6410,"20370":6411,"20354":6412,"20373":6413,"20331":6414,"20334":6415,"20894":6416,"20924":6417,"20926":6418,"21045":6419,"21042":6420,"21043":6421,"21062":6422,"21041":6423,"21180":6424,"21258":6425,"21259":6426,"21308":6427,"21394":6428,"21396":6429,"21639":6430,"21631":6431,"21633":6432,"21649":6433,"21634":6434,"21640":6435,"21611":6436,"21626":6437,"21630":6438,"21605":6439,"21612":6440,"21620":6441,"21606":6442,"21645":6443,"21615":6444,"21601":6445,"21600":6446,"21656":6447,"21603":6448,"21607":6449,"21604":6450,"22263":6451,"22265":6452,"22383":6453,"22386":6454,"22381":6455,"22379":6456,"22385":6457,"22384":6458,"22390":6459,"22400":6460,"22389":6461,"22395":6462,"22387":6463,"22388":6464,"22370":6465,"22376":6466,"22397":6467,"22796":6468,"22853":6469,"22965":6470,"22970":6471,"22991":6472,"22990":6473,"22962":6474,"22988":6475,"22977":6476,"22966":6477,"22972":6478,"22979":6479,"22998":6480,"22961":6481,"22973":6482,"22976":6483,"22984":6484,"22964":6485,"22983":6486,"23394":6487,"23397":6488,"23443":6489,"23445":6490,"23620":6491,"23623":6492,"23726":6493,"23716":6494,"23712":6495,"23733":6496,"23727":6497,"23720":6498,"23724":6499,"23711":6500,"23715":6501,"23725":6502,"23714":6503,"23722":6504,"23719":6505,"23709":6506,"23717":6507,"23734":6508,"23728":6509,"23718":6510,"24087":6511,"24084":6512,"24089":6513,"24360":6514,"24354":6515,"24355":6516,"24356":6517,"24404":6518,"24450":6519,"24446":6520,"24445":6521,"24542":6522,"24549":6523,"24621":6524,"24614":6525,"24601":6526,"24626":6527,"24587":6528,"24628":6529,"24586":6530,"24599":6531,"24627":6532,"24602":6533,"24606":6534,"24620":6535,"24610":6536,"24589":6537,"24592":6538,"24622":6539,"24595":6540,"24593":6541,"24588":6542,"24585":6543,"24604":6544,"25108":6545,"25149":6546,"25261":6547,"25268":6548,"25297":6549,"25278":6550,"25258":6551,"25270":6552,"25290":6553,"25262":6554,"25267":6555,"25263":6556,"25275":6557,"25257":6558,"25264":6559,"25272":6560,"25917":6561,"26024":6562,"26043":6563,"26121":6564,"26108":6565,"26116":6566,"26130":6567,"26120":6568,"26107":6569,"26115":6570,"26123":6571,"26125":6572,"26117":6573,"26109":6574,"26129":6575,"26128":6576,"26358":6577,"26378":6578,"26501":6579,"26476":6580,"26510":6581,"26514":6582,"26486":6583,"26491":6584,"26520":6585,"26502":6586,"26500":6587,"26484":6588,"26509":6589,"26508":6590,"26490":6591,"26527":6592,"26513":6593,"26521":6594,"26499":6595,"26493":6596,"26497":6597,"26488":6598,"26489":6599,"26516":6600,"27429":6601,"27520":6602,"27518":6603,"27614":6604,"27677":6605,"27795":6606,"27884":6607,"27883":6608,"27886":6609,"27865":6610,"27830":6611,"27860":6612,"27821":6613,"27879":6614,"27831":6615,"27856":6616,"27842":6617,"27834":6618,"27843":6619,"27846":6620,"27885":6621,"27890":6622,"27858":6623,"27869":6624,"27828":6625,"27786":6626,"27805":6627,"27776":6628,"27870":6629,"27840":6630,"27952":6631,"27853":6632,"27847":6633,"27824":6634,"27897":6635,"27855":6636,"27881":6637,"27857":6638,"28820":6639,"28824":6640,"28805":6641,"28819":6642,"28806":6643,"28804":6644,"28817":6645,"28822":6646,"28802":6647,"28826":6648,"28803":6649,"29290":6650,"29398":6651,"29387":6652,"29400":6653,"29385":6654,"29404":6655,"29394":6656,"29396":6657,"29402":6658,"29388":6659,"29393":6660,"29604":6661,"29601":6662,"29613":6663,"29606":6664,"29602":6665,"29600":6666,"29612":6667,"29597":6668,"29917":6669,"29928":6670,"30015":6671,"30016":6672,"30014":6673,"30092":6674,"30104":6675,"30383":6676,"30451":6677,"30449":6678,"30448":6679,"30453":6680,"30712":6681,"30716":6682,"30713":6683,"30715":6684,"30714":6685,"30711":6686,"31042":6687,"31039":6688,"31173":6689,"31352":6690,"31355":6691,"31483":6692,"31861":6693,"31997":6694,"32821":6695,"32911":6696,"32942":6697,"32931":6698,"32952":6699,"32949":6700,"32941":6701,"33312":6702,"33440":6703,"33472":6704,"33451":6705,"33434":6706,"33432":6707,"33435":6708,"33461":6709,"33447":6710,"33454":6711,"33468":6712,"33438":6713,"33466":6714,"33460":6715,"33448":6716,"33441":6717,"33449":6718,"33474":6719,"33444":6720,"33475":6721,"33462":6722,"33442":6723,"34416":6724,"34415":6725,"34413":6726,"34414":6727,"35926":6728,"36818":6729,"36811":6730,"36819":6731,"36813":6732,"36822":6733,"36821":6734,"36823":6735,"37042":6736,"37044":6737,"37039":6738,"37043":6739,"37040":6740,"38457":6741,"38461":6742,"38460":6743,"38458":6744,"38467":6745,"20429":6746,"20421":6747,"20435":6748,"20402":6749,"20425":6750,"20427":6751,"20417":6752,"20436":6753,"20444":6754,"20441":6755,"20411":6756,"60346":6756,"20403":6757,"20443":6758,"20423":6759,"20438":6760,"20410":6761,"20416":6762,"20409":6763,"20460":6764,"21060":6765,"21065":6766,"21184":6767,"21186":6768,"21309":6769,"21372":6770,"21399":6771,"21398":6772,"21401":6773,"21400":6774,"21690":6775,"21665":6776,"21677":6777,"21669":6778,"21711":6779,"21699":6780,"33549":6781,"21687":6782,"21678":6783,"21718":6784,"21686":6785,"21701":6786,"21702":6787,"21664":6788,"21616":6789,"21692":6790,"21666":6791,"21694":6792,"21618":6793,"21726":6794,"21680":6795,"22453":6796,"22430":6797,"22431":6798,"22436":6799,"22412":6800,"22423":6801,"22429":6802,"22427":6803,"22420":6804,"22424":6805,"22415":6806,"22425":6807,"22437":6808,"22426":6809,"22421":6810,"22772":6811,"22797":6812,"22867":6813,"23009":6814,"23006":6815,"23022":6816,"23040":6817,"23025":6818,"23005":6819,"23034":6820,"23037":6821,"23036":6822,"23030":6823,"23012":6824,"23026":6825,"23031":6826,"23003":6827,"23017":6828,"23027":6829,"23029":6830,"23008":6831,"23038":6832,"23028":6833,"23021":6834,"23464":6835,"23628":6836,"23760":6837,"23768":6838,"23756":6839,"23767":6840,"23755":6841,"23771":6842,"23774":6843,"23770":6844,"23753":6845,"23751":6846,"23754":6847,"23766":6848,"23763":6849,"23764":6850,"23759":6851,"23752":6852,"23750":6853,"23758":6854,"23775":6855,"23800":6856,"24057":6857,"24097":6858,"24098":6859,"24099":6860,"24096":6861,"24100":6862,"24240":6863,"24228":6864,"24226":6865,"24219":6866,"24227":6867,"24229":6868,"24327":6869,"24366":6870,"24406":6871,"24454":6872,"24631":6873,"24633":6874,"24660":6875,"24690":6876,"24670":6877,"24645":6878,"24659":6879,"24647":6880,"24649":6881,"24667":6882,"24652":6883,"24640":6884,"24642":6885,"24671":6886,"24612":6887,"24644":6888,"24664":6889,"24678":6890,"24686":6891,"25154":6892,"25155":6893,"25295":6894,"25357":6895,"25355":6896,"25333":6897,"25358":6898,"25347":6899,"25323":6900,"25337":6901,"25359":6902,"25356":6903,"25336":6904,"25334":6905,"25344":6906,"25363":6907,"25364":6908,"25338":6909,"25365":6910,"25339":6911,"25328":6912,"25921":6913,"25923":6914,"26026":6915,"26047":6916,"26166":6917,"26145":6918,"26162":6919,"26165":6920,"26140":6921,"26150":6922,"26146":6923,"26163":6924,"26155":6925,"26170":6926,"26141":6927,"26164":6928,"26169":6929,"26158":6930,"26383":6931,"26384":6932,"26561":6933,"26610":6934,"26568":6935,"26554":6936,"26588":6937,"26555":6938,"26616":6939,"26584":6940,"26560":6941,"26551":6942,"26565":6943,"26603":6944,"26596":6945,"26591":6946,"26549":6947,"26573":6948,"26547":6949,"26615":6950,"26614":6951,"26606":6952,"26595":6953,"26562":6954,"26553":6955,"26574":6956,"26599":6957,"26608":6958,"26546":6959,"26620":6960,"26566":6961,"26605":6962,"26572":6963,"26542":6964,"26598":6965,"26587":6966,"26618":6967,"26569":6968,"26570":6969,"26563":6970,"26602":6971,"26571":6972,"27432":6973,"27522":6974,"27524":6975,"27574":6976,"27606":6977,"27608":6978,"27616":6979,"27680":6980,"27681":6981,"27944":6982,"27956":6983,"27949":6984,"27935":6985,"27964":6986,"27967":6987,"27922":6988,"27914":6989,"27866":6990,"27955":6991,"27908":6992,"27929":6993,"27962":6994,"27930":6995,"27921":6996,"27904":6997,"27933":6998,"27970":6999,"27905":7000,"27928":7001,"27959":7002,"27907":7003,"27919":7004,"27968":7005,"27911":7006,"27936":7007,"27948":7008,"27912":7009,"27938":7010,"27913":7011,"27920":7012,"28855":7013,"28831":7014,"28862":7015,"28849":7016,"28848":7017,"28833":7018,"28852":7019,"28853":7020,"28841":7021,"29249":7022,"29257":7023,"29258":7024,"29292":7025,"29296":7026,"29299":7027,"29294":7028,"29386":7029,"29412":7030,"29416":7031,"29419":7032,"29407":7033,"29418":7034,"29414":7035,"29411":7036,"29573":7037,"29644":7038,"29634":7039,"29640":7040,"29637":7041,"29625":7042,"29622":7043,"29621":7044,"29620":7045,"29675":7046,"29631":7047,"29639":7048,"29630":7049,"29635":7050,"29638":7051,"29624":7052,"29643":7053,"29932":7054,"29934":7055,"29998":7056,"30023":7057,"30024":7058,"30119":7059,"30122":7060,"30329":7061,"30404":7062,"30472":7063,"30467":7064,"30468":7065,"30469":7066,"30474":7067,"30455":7068,"30459":7069,"30458":7070,"30695":7071,"30696":7072,"30726":7073,"30737":7074,"30738":7075,"30725":7076,"30736":7077,"30735":7078,"30734":7079,"30729":7080,"58095":7080,"30723":7081,"30739":7082,"31050":7083,"31052":7084,"31051":7085,"31045":7086,"31044":7087,"31189":7088,"31181":7089,"31183":7090,"31190":7091,"31182":7092,"31360":7093,"31358":7094,"31441":7095,"31488":7096,"31489":7097,"31866":7098,"31864":7099,"31865":7100,"31871":7101,"31872":7102,"31873":7103,"32003":7104,"32008":7105,"32001":7106,"32600":7107,"32657":7108,"32653":7109,"32702":7110,"32775":7111,"32782":7112,"32783":7113,"32788":7114,"32823":7115,"32984":7116,"32967":7117,"32992":7118,"32977":7119,"32968":7120,"32962":7121,"32976":7122,"32965":7123,"32995":7124,"32985":7125,"32988":7126,"32970":7127,"32981":7128,"32969":7129,"32975":7130,"32983":7131,"32998":7132,"32973":7133,"33279":7134,"33313":7135,"33428":7136,"33497":7137,"33534":7138,"33529":7139,"33543":7140,"33512":7141,"33536":7142,"33493":7143,"33594":7144,"33515":7145,"33494":7146,"33524":7147,"33516":7148,"33505":7149,"33522":7150,"33525":7151,"33548":7152,"33531":7153,"33526":7154,"33520":7155,"33514":7156,"33508":7157,"33504":7158,"33530":7159,"33523":7160,"33517":7161,"34423":7162,"34420":7163,"34428":7164,"34419":7165,"34881":7166,"34894":7167,"34919":7168,"34922":7169,"34921":7170,"35283":7171,"35332":7172,"35335":7173,"36210":7174,"36835":7175,"36833":7176,"36846":7177,"36832":7178,"37105":7179,"37053":7180,"37055":7181,"37077":7182,"37061":7183,"37054":7184,"37063":7185,"37067":7186,"37064":7187,"37332":7188,"60294":7188,"37331":7189,"38484":7190,"38479":7191,"38481":7192,"38483":7193,"38474":7194,"38478":7195,"20510":7196,"20485":7197,"20487":7198,"20499":7199,"20514":7200,"20528":7201,"20507":7202,"20469":7203,"20468":7204,"20531":7205,"20535":7206,"20524":7207,"20470":7208,"20471":7209,"20503":7210,"20508":7211,"20512":7212,"20519":7213,"20533":7214,"20527":7215,"20529":7216,"20494":7217,"20826":7218,"20884":7219,"20883":7220,"20938":7221,"20932":7222,"20933":7223,"20936":7224,"20942":7225,"21089":7226,"21082":7227,"21074":7228,"21086":7229,"21087":7230,"21077":7231,"21090":7232,"21197":7233,"21262":7234,"21406":7235,"21798":7236,"21730":7237,"21783":7238,"21778":7239,"21735":7240,"21747":7241,"21732":7242,"21786":7243,"21759":7244,"21764":7245,"21768":7246,"21739":7247,"21777":7248,"21765":7249,"21745":7250,"21770":7251,"21755":7252,"21751":7253,"21752":7254,"21728":7255,"21774":7256,"21763":7257,"21771":7258,"22273":7259,"22274":7260,"22476":7261,"22578":7262,"22485":7263,"22482":7264,"22458":7265,"22470":7266,"22461":7267,"22460":7268,"22456":7269,"22454":7270,"22463":7271,"22471":7272,"22480":7273,"22457":7274,"22465":7275,"22798":7276,"22858":7277,"23065":7278,"23062":7279,"23085":7280,"23086":7281,"23061":7282,"23055":7283,"23063":7284,"23050":7285,"23070":7286,"23091":7287,"23404":7288,"23463":7289,"23469":7290,"23468":7291,"23555":7292,"23638":7293,"23636":7294,"23788":7295,"23807":7296,"23790":7297,"23793":7298,"23799":7299,"23808":7300,"23801":7301,"24105":7302,"24104":7303,"24232":7304,"24238":7305,"24234":7306,"24236":7307,"24371":7308,"24368":7309,"24423":7310,"24669":7311,"24666":7312,"24679":7313,"24641":7314,"24738":7315,"24712":7316,"24704":7317,"24722":7318,"24705":7319,"24733":7320,"24707":7321,"24725":7322,"24731":7323,"24727":7324,"24711":7325,"24732":7326,"24718":7327,"25113":7328,"25158":7329,"25330":7330,"25360":7331,"25430":7332,"25388":7333,"25412":7334,"25413":7335,"25398":7336,"25411":7337,"25572":7338,"25401":7339,"25419":7340,"25418":7341,"25404":7342,"25385":7343,"25409":7344,"25396":7345,"25432":7346,"25428":7347,"25433":7348,"25389":7349,"25415":7350,"25395":7351,"25434":7352,"25425":7353,"25400":7354,"25431":7355,"25408":7356,"25416":7357,"25930":7358,"25926":7359,"26054":7360,"26051":7361,"26052":7362,"26050":7363,"26186":7364,"26207":7365,"26183":7366,"26193":7367,"26386":7368,"26387":7369,"26655":7370,"26650":7371,"26697":7372,"26674":7373,"26675":7374,"26683":7375,"26699":7376,"26703":7377,"26646":7378,"26673":7379,"26652":7380,"26677":7381,"26667":7382,"26669":7383,"26671":7384,"26702":7385,"26692":7386,"26676":7387,"26653":7388,"26642":7389,"26644":7390,"26662":7391,"26664":7392,"26670":7393,"26701":7394,"26682":7395,"26661":7396,"26656":7397,"27436":7398,"27439":7399,"27437":7400,"27441":7401,"27444":7402,"27501":7403,"32898":7404,"27528":7405,"27622":7406,"27620":7407,"27624":7408,"27619":7409,"27618":7410,"27623":7411,"27685":7412,"28026":7413,"28003":7414,"28004":7415,"28022":7416,"27917":7417,"28001":7418,"28050":7419,"27992":7420,"28002":7421,"28013":7422,"28015":7423,"28049":7424,"28045":7425,"28143":7426,"28031":7427,"28038":7428,"27998":7429,"28007":7430,"59078":7430,"28000":7431,"28055":7432,"28016":7433,"28028":7434,"27999":7435,"28034":7436,"28056":7437,"27951":7438,"28008":7439,"28043":7440,"28030":7441,"28032":7442,"28036":7443,"27926":7444,"28035":7445,"28027":7446,"28029":7447,"28021":7448,"28048":7449,"28892":7450,"28883":7451,"28881":7452,"28893":7453,"28875":7454,"32569":7455,"28898":7456,"28887":7457,"28882":7458,"28894":7459,"28896":7460,"28884":7461,"28877":7462,"28869":7463,"28870":7464,"28871":7465,"28890":7466,"28878":7467,"28897":7468,"29250":7469,"29304":7470,"29303":7471,"29302":7472,"29440":7473,"29434":7474,"29428":7475,"29438":7476,"29430":7477,"29427":7478,"29435":7479,"29441":7480,"29651":7481,"29657":7482,"29669":7483,"29654":7484,"29628":7485,"29671":7486,"29667":7487,"29673":7488,"29660":7489,"29650":7490,"29659":7491,"29652":7492,"29661":7493,"29658":7494,"29655":7495,"29656":7496,"29672":7497,"29918":7498,"29919":7499,"29940":7500,"29941":7501,"29985":7502,"30043":7503,"30047":7504,"30128":7505,"30145":7506,"30139":7507,"30148":7508,"30144":7509,"30143":7510,"30134":7511,"30138":7512,"30346":7513,"30409":7514,"30493":7515,"30491":7516,"30480":7517,"30483":7518,"30482":7519,"30499":7520,"30481":7521,"30485":7522,"30489":7523,"30490":7524,"30498":7525,"30503":7526,"30755":7527,"30764":7528,"30754":7529,"30773":7530,"30767":7531,"30760":7532,"30766":7533,"30763":7534,"30753":7535,"30761":7536,"30771":7537,"30762":7538,"30769":7539,"31060":7540,"31067":7541,"31055":7542,"31068":7543,"31059":7544,"31058":7545,"31057":7546,"31211":7547,"31212":7548,"31200":7549,"31214":7550,"31213":7551,"31210":7552,"31196":7553,"31198":7554,"31197":7555,"31366":7556,"31369":7557,"31365":7558,"31371":7559,"31372":7560,"31370":7561,"31367":7562,"31448":7563,"31504":7564,"31492":7565,"31507":7566,"31493":7567,"31503":7568,"31496":7569,"31498":7570,"31502":7571,"31497":7572,"31506":7573,"31876":7574,"31889":7575,"31882":7576,"31884":7577,"31880":7578,"31885":7579,"31877":7580,"32030":7581,"32029":7582,"32017":7583,"32014":7584,"32024":7585,"32022":7586,"32019":7587,"32031":7588,"32018":7589,"32015":7590,"32012":7591,"32604":7592,"32609":7593,"32606":7594,"32608":7595,"32605":7596,"32603":7597,"32662":7598,"32658":7599,"32707":7600,"32706":7601,"32704":7602,"32790":7603,"32830":7604,"32825":7605,"33018":7606,"33010":7607,"33017":7608,"33013":7609,"33025":7610,"33019":7611,"33024":7612,"33281":7613,"33327":7614,"33317":7615,"33587":7616,"33581":7617,"33604":7618,"33561":7619,"33617":7620,"33573":7621,"33622":7622,"33599":7623,"33601":7624,"33574":7625,"33564":7626,"33570":7627,"33602":7628,"33614":7629,"33563":7630,"33578":7631,"33544":7632,"33596":7633,"33613":7634,"33558":7635,"33572":7636,"33568":7637,"33591":7638,"33583":7639,"33577":7640,"33607":7641,"33605":7642,"33612":7643,"33619":7644,"33566":7645,"33580":7646,"33611":7647,"33575":7648,"33608":7649,"34387":7650,"34386":7651,"34466":7652,"34472":7653,"34454":7654,"34445":7655,"34449":7656,"34462":7657,"34439":7658,"34455":7659,"34438":7660,"34443":7661,"34458":7662,"34437":7663,"34469":7664,"34457":7665,"34465":7666,"34471":7667,"34453":7668,"34456":7669,"34446":7670,"34461":7671,"34448":7672,"34452":7673,"34883":7674,"34884":7675,"34925":7676,"34933":7677,"34934":7678,"34930":7679,"34944":7680,"34929":7681,"34943":7682,"34927":7683,"34947":7684,"34942":7685,"34932":7686,"34940":7687,"35346":7688,"35911":7689,"35927":7690,"35963":7691,"36004":7692,"36003":7693,"36214":7694,"36216":7695,"36277":7696,"36279":7697,"36278":7698,"36561":7699,"36563":7700,"36862":7701,"36853":7702,"36866":7703,"36863":7704,"36859":7705,"36868":7706,"36860":7707,"36854":7708,"37078":7709,"37088":7710,"37081":7711,"37082":7712,"37091":7713,"37087":7714,"37093":7715,"37080":7716,"37083":7717,"37079":7718,"37084":7719,"37092":7720,"37200":7721,"37198":7722,"37199":7723,"37333":7724,"37346":7725,"37338":7726,"38492":7727,"38495":7728,"38588":7729,"39139":7730,"12221":7731,"39647":7731,"12223":7732,"39727":7732,"20095":7733,"20592":7734,"20586":7735,"20577":7736,"20574":7737,"20576":7738,"20563":7739,"20555":7740,"20573":7741,"20594":7742,"20552":7743,"20557":7744,"20545":7745,"20571":7746,"20554":7747,"20578":7748,"20501":7749,"20549":7750,"20575":7751,"20585":7752,"20587":7753,"20579":7754,"20580":7755,"20550":7756,"20544":7757,"20590":7758,"20595":7759,"20567":7760,"20561":7761,"20944":7762,"21099":7763,"21101":7764,"21100":7765,"21102":7766,"21206":7767,"21203":7768,"21293":7769,"21404":7770,"21877":7771,"21878":7772,"21820":7773,"21837":7774,"21840":7775,"21812":7776,"21802":7777,"21841":7778,"21858":7779,"21814":7780,"21813":7781,"21808":7782,"21842":7783,"21829":7784,"21772":7785,"21810":7786,"21861":7787,"21838":7788,"21817":7789,"21832":7790,"21805":7791,"21819":7792,"21824":7793,"21835":7794,"22282":7795,"22279":7796,"22523":7797,"22548":7798,"22498":7799,"22518":7800,"22492":7801,"22516":7802,"22528":7803,"22509":7804,"22525":7805,"22536":7806,"22520":7807,"22539":7808,"22515":7809,"22479":7810,"22535":7811,"22510":7812,"22499":7813,"22514":7814,"22501":7815,"22508":7816,"22497":7817,"22542":7818,"22524":7819,"22544":7820,"22503":7821,"22529":7822,"22540":7823,"22513":7824,"22505":7825,"22512":7826,"22541":7827,"22532":7828,"22876":7829,"23136":7830,"23128":7831,"23125":7832,"23143":7833,"60437":7833,"23134":7834,"23096":7835,"23093":7836,"23149":7837,"23120":7838,"23135":7839,"23141":7840,"23148":7841,"23123":7842,"23140":7843,"23127":7844,"23107":7845,"23133":7846,"23122":7847,"23108":7848,"23131":7849,"23112":7850,"23182":7851,"23102":7852,"23117":7853,"23097":7854,"23116":7855,"23152":7856,"23145":7857,"23111":7858,"23121":7859,"23126":7860,"23106":7861,"23132":7862,"23410":7863,"23406":7864,"23489":7865,"23488":7866,"23641":7867,"23838":7868,"23819":7869,"23837":7870,"23834":7871,"23840":7872,"23820":7873,"23848":7874,"23821":7875,"23846":7876,"23845":7877,"23823":7878,"23856":7879,"23826":7880,"23843":7881,"23839":7882,"23854":7883,"24126":7884,"24116":7885,"24241":7886,"24244":7887,"24249":7888,"24242":7889,"24243":7890,"24374":7891,"24376":7892,"24475":7893,"24470":7894,"24479":7895,"24714":7896,"24720":7897,"24710":7898,"24766":7899,"24752":7900,"24762":7901,"24787":7902,"24788":7903,"24783":7904,"24804":7905,"24793":7906,"24797":7907,"24776":7908,"24753":7909,"24795":7910,"24759":7911,"24778":7912,"24767":7913,"24771":7914,"24781":7915,"24768":7916,"25394":7917,"25445":7918,"25482":7919,"25474":7920,"25469":7921,"25533":7922,"25502":7923,"25517":7924,"25501":7925,"25495":7926,"25515":7927,"25486":7928,"25455":7929,"25479":7930,"25488":7931,"25454":7932,"25519":7933,"25461":7934,"25500":7935,"25453":7936,"25518":7937,"25468":7938,"25508":7939,"25403":7940,"25503":7941,"25464":7942,"25477":7943,"25473":7944,"25489":7945,"25485":7946,"25456":7947,"25939":7948,"26061":7949,"26213":7950,"26209":7951,"26203":7952,"26201":7953,"26204":7954,"26210":7955,"26392":7956,"26745":7957,"26759":7958,"26768":7959,"26780":7960,"26733":7961,"26734":7962,"26798":7963,"26795":7964,"26966":7965,"26735":7966,"26787":7967,"26796":7968,"26793":7969,"26741":7970,"26740":7971,"26802":7972,"26767":7973,"26743":7974,"26770":7975,"26748":7976,"26731":7977,"26738":7978,"26794":7979,"26752":7980,"26737":7981,"26750":7982,"26779":7983,"26774":7984,"26763":7985,"26784":7986,"26761":7987,"26788":7988,"26744":7989,"26747":7990,"26769":7991,"26764":7992,"26762":7993,"26749":7994,"27446":7995,"27443":7996,"27447":7997,"27448":7998,"27537":7999,"27535":8000,"27533":8001,"27534":8002,"27532":8003,"27690":8004,"28096":8005,"28075":8006,"28084":8007,"28083":8008,"28276":8009,"28076":8010,"28137":8011,"28130":8012,"28087":8013,"28150":8014,"28116":8015,"28160":8016,"28104":8017,"28128":8018,"28127":8019,"28118":8020,"28094":8021,"28133":8022,"28124":8023,"28125":8024,"28123":8025,"28148":8026,"28106":8027,"28093":8028,"28141":8029,"28144":8030,"28090":8031,"28117":8032,"28098":8033,"28111":8034,"28105":8035,"28112":8036,"28146":8037,"28115":8038,"28157":8039,"28119":8040,"28109":8041,"28131":8042,"28091":8043,"28922":8044,"28941":8045,"28919":8046,"28951":8047,"28916":8048,"28940":8049,"28912":8050,"28932":8051,"28915":8052,"28944":8053,"28924":8054,"28927":8055,"28934":8056,"28947":8057,"28928":8058,"28920":8059,"28918":8060,"28939":8061,"28930":8062,"28942":8063,"29310":8064,"29307":8065,"29308":8066,"29311":8067,"29469":8068,"29463":8069,"29447":8070,"29457":8071,"29464":8072,"29450":8073,"29448":8074,"29439":8075,"29455":8076,"29470":8077,"29576":8078,"29686":8079,"29688":8080,"29685":8081,"29700":8082,"29697":8083,"29693":8084,"29703":8085,"29696":8086,"29690":8087,"29692":8088,"29695":8089,"29708":8090,"29707":8091,"29684":8092,"29704":8093,"30052":8094,"30051":8095,"30158":8096,"30162":8097,"30159":8098,"30155":8099,"30156":8100,"30161":8101,"30160":8102,"30351":8103,"30345":8104,"30419":8105,"30521":8106,"30511":8107,"30509":8108,"30513":8109,"30514":8110,"30516":8111,"30515":8112,"30525":8113,"30501":8114,"30523":8115,"30517":8116,"30792":8117,"30802":8118,"30793":8119,"30797":8120,"30794":8121,"30796":8122,"30758":8123,"30789":8124,"30800":8125,"31076":8126,"31079":8127,"31081":8128,"31082":8129,"31075":8130,"31083":8131,"31073":8132,"31163":8133,"31226":8134,"31224":8135,"31222":8136,"31223":8137,"31375":8138,"31380":8139,"31376":8140,"31541":8141,"31547":8142,"31540":8143,"31525":8144,"31536":8145,"31522":8146,"31524":8147,"31539":8148,"31512":8149,"31530":8150,"31517":8151,"31537":8152,"31531":8153,"31533":8154,"31535":8155,"31538":8156,"31544":8157,"31514":8158,"31523":8159,"31892":8160,"31896":8161,"31894":8162,"31907":8163,"32053":8164,"32061":8165,"32056":8166,"32054":8167,"32058":8168,"32069":8169,"32044":8170,"32041":8171,"32065":8172,"32071":8173,"32062":8174,"32063":8175,"32074":8176,"32059":8177,"32040":8178,"32611":8179,"32661":8180,"32668":8181,"32669":8182,"32667":8183,"32714":8184,"32715":8185,"32717":8186,"32720":8187,"32721":8188,"32711":8189,"32719":8190,"32713":8191,"32799":8192,"32798":8193,"32795":8194,"32839":8195,"32835":8196,"32840":8197,"33048":8198,"33061":8199,"33049":8200,"33051":8201,"33069":8202,"33055":8203,"33068":8204,"33054":8205,"33057":8206,"33045":8207,"33063":8208,"33053":8209,"33058":8210,"33297":8211,"33336":8212,"33331":8213,"33338":8214,"33332":8215,"33330":8216,"33396":8217,"33680":8218,"33699":8219,"33704":8220,"33677":8221,"33658":8222,"33651":8223,"33700":8224,"33652":8225,"33679":8226,"33665":8227,"33685":8228,"33689":8229,"33653":8230,"33684":8231,"33705":8232,"33661":8233,"33667":8234,"33676":8235,"33693":8236,"33691":8237,"33706":8238,"33675":8239,"33662":8240,"33701":8241,"33711":8242,"33672":8243,"33687":8244,"33712":8245,"33663":8246,"33702":8247,"33671":8248,"33710":8249,"33654":8250,"34393":8251,"34390":8252,"34495":8253,"34487":8254,"34498":8255,"34497":8256,"34501":8257,"34490":8258,"34480":8259,"34504":8260,"34489":8261,"34483":8262,"34488":8263,"34508":8264,"34484":8265,"34491":8266,"34492":8267,"34499":8268,"34493":8269,"34494":8270,"34898":8271,"34953":8272,"34965":8273,"34984":8274,"34978":8275,"34986":8276,"34970":8277,"34961":8278,"34977":8279,"34975":8280,"34968":8281,"34983":8282,"34969":8283,"34971":8284,"34967":8285,"34980":8286,"34988":8287,"34956":8288,"34963":8289,"34958":8290,"35202":8291,"35286":8292,"35289":8293,"35285":8294,"35376":8295,"35367":8296,"35372":8297,"35358":8298,"35897":8299,"35899":8300,"35932":8301,"35933":8302,"35965":8303,"36005":8304,"36221":8305,"36219":8306,"36217":8307,"36284":8308,"36290":8309,"36281":8310,"36287":8311,"36289":8312,"36568":8313,"36574":8314,"36573":8315,"36572":8316,"36567":8317,"36576":8318,"36577":8319,"36900":8320,"36875":8321,"36881":8322,"36892":8323,"36876":8324,"36897":8325,"37103":8326,"37098":8327,"37104":8328,"37108":8329,"37106":8330,"37107":8331,"37076":8332,"37099":8333,"37100":8334,"37097":8335,"37206":8336,"37208":8337,"37210":8338,"37203":8339,"37205":8340,"37356":8341,"37364":8342,"37361":8343,"37363":8344,"37368":8345,"37348":8346,"37369":8347,"37354":8348,"37355":8349,"37367":8350,"37352":8351,"37358":8352,"38266":8353,"38278":8354,"38280":8355,"38524":8356,"38509":8357,"38507":8358,"38513":8359,"38511":8360,"38591":8361,"38762":8362,"38916":8363,"39141":8364,"39319":8365,"20635":8366,"20629":8367,"20628":8368,"20638":8369,"20619":8370,"20643":8371,"20611":8372,"20620":8373,"20622":8374,"20637":8375,"20584":8376,"20636":8377,"20626":8378,"20610":8379,"20615":8380,"20831":8381,"20948":8382,"21266":8383,"21265":8384,"21412":8385,"21415":8386,"21905":8387,"21928":8388,"21925":8389,"21933":8390,"21879":8391,"22085":8392,"21922":8393,"21907":8394,"21896":8395,"21903":8396,"21941":8397,"21889":8398,"21923":8399,"21906":8400,"21924":8401,"21885":8402,"21900":8403,"21926":8404,"21887":8405,"21909":8406,"21921":8407,"21902":8408,"22284":8409,"22569":8410,"22583":8411,"22553":8412,"22558":8413,"22567":8414,"22563":8415,"22568":8416,"22517":8417,"22600":8418,"22565":8419,"22556":8420,"22555":8421,"22579":8422,"22591":8423,"22582":8424,"22574":8425,"22585":8426,"22584":8427,"22573":8428,"22572":8429,"22587":8430,"22881":8431,"23215":8432,"23188":8433,"23199":8434,"23162":8435,"23202":8436,"23198":8437,"23160":8438,"23206":8439,"23164":8440,"23205":8441,"23212":8442,"23189":8443,"23214":8444,"23095":8445,"23172":8446,"23178":8447,"23191":8448,"23171":8449,"23179":8450,"23209":8451,"23163":8452,"23165":8453,"23180":8454,"23196":8455,"23183":8456,"23187":8457,"23197":8458,"23530":8459,"23501":8460,"23499":8461,"23508":8462,"23505":8463,"23498":8464,"23502":8465,"23564":8466,"23600":8467,"23863":8468,"23875":8469,"23915":8470,"23873":8471,"23883":8472,"23871":8473,"23861":8474,"23889":8475,"23886":8476,"23893":8477,"23859":8478,"23866":8479,"23890":8480,"23869":8481,"23857":8482,"23897":8483,"23874":8484,"23865":8485,"23881":8486,"23864":8487,"23868":8488,"23858":8489,"23862":8490,"23872":8491,"23877":8492,"24132":8493,"24129":8494,"24408":8495,"57673":8495,"24486":8496,"24485":8497,"24491":8498,"24777":8499,"24761":8500,"24780":8501,"24802":8502,"24782":8503,"24772":8504,"24852":8505,"24818":8506,"24842":8507,"24854":8508,"24837":8509,"24821":8510,"24851":8511,"24824":8512,"24828":8513,"24830":8514,"24769":8515,"24835":8516,"24856":8517,"24861":8518,"24848":8519,"24831":8520,"24836":8521,"24843":8522,"25162":8523,"25492":8524,"25521":8525,"25520":8526,"25550":8527,"25573":8528,"25576":8529,"25583":8530,"25539":8531,"25757":8532,"25587":8533,"25546":8534,"25568":8535,"25590":8536,"25557":8537,"25586":8538,"25589":8539,"25697":8540,"25567":8541,"25534":8542,"25565":8543,"25564":8544,"25540":8545,"25560":8546,"25555":8547,"25538":8548,"25543":8549,"25548":8550,"25547":8551,"25544":8552,"25584":8553,"25559":8554,"25561":8555,"25906":8556,"25959":8557,"25962":8558,"25956":8559,"25948":8560,"25960":8561,"25957":8562,"25996":8563,"26013":8564,"26014":8565,"26030":8566,"26064":8567,"26066":8568,"26236":8569,"26220":8570,"26235":8571,"26240":8572,"26225":8573,"26233":8574,"26218":8575,"26226":8576,"26369":8577,"26892":8578,"26835":8579,"26884":8580,"26844":8581,"26922":8582,"26860":8583,"26858":8584,"26865":8585,"26895":8586,"26838":8587,"26871":8588,"26859":8589,"26852":8590,"26870":8591,"26899":8592,"26896":8593,"26867":8594,"26849":8595,"26887":8596,"26828":8597,"26888":8598,"26992":8599,"26804":8600,"26897":8601,"26863":8602,"26822":8603,"26900":8604,"26872":8605,"26832":8606,"26877":8607,"26876":8608,"26856":8609,"26891":8610,"26890":8611,"26903":8612,"26830":8613,"26824":8614,"26845":8615,"26846":8616,"26854":8617,"26868":8618,"26833":8619,"26886":8620,"26836":8621,"26857":8622,"26901":8623,"26917":8624,"26823":8625,"27449":8626,"27451":8627,"27455":8628,"27452":8629,"27540":8630,"27543":8631,"27545":8632,"27541":8633,"27581":8634,"27632":8635,"27634":8636,"27635":8637,"27696":8638,"28156":8639,"28230":8640,"28231":8641,"28191":8642,"28233":8643,"28296":8644,"28220":8645,"28221":8646,"28229":8647,"28258":8648,"28203":8649,"28223":8650,"28225":8651,"28253":8652,"28275":8653,"28188":8654,"28211":8655,"28235":8656,"28224":8657,"28241":8658,"28219":8659,"28163":8660,"28206":8661,"28254":8662,"28264":8663,"28252":8664,"28257":8665,"28209":8666,"28200":8667,"28256":8668,"28273":8669,"28267":8670,"28217":8671,"28194":8672,"28208":8673,"28243":8674,"28261":8675,"28199":8676,"28280":8677,"28260":8678,"28279":8679,"28245":8680,"28281":8681,"28242":8682,"28262":8683,"28213":8684,"28214":8685,"28250":8686,"28960":8687,"28958":8688,"28975":8689,"28923":8690,"28974":8691,"28977":8692,"28963":8693,"28965":8694,"28962":8695,"28978":8696,"28959":8697,"28968":8698,"28986":8699,"28955":8700,"29259":8701,"29274":8702,"29320":8703,"29321":8704,"29318":8705,"29317":8706,"29323":8707,"29458":8708,"29451":8709,"29488":8710,"29474":8711,"29489":8712,"29491":8713,"29479":8714,"29490":8715,"29485":8716,"29478":8717,"29475":8718,"29493":8719,"29452":8720,"29742":8721,"29740":8722,"29744":8723,"29739":8724,"29718":8725,"29722":8726,"29729":8727,"29741":8728,"29745":8729,"29732":8730,"29731":8731,"29725":8732,"29737":8733,"29728":8734,"29746":8735,"29947":8736,"29999":8737,"30063":8738,"30060":8739,"30183":8740,"30170":8741,"30177":8742,"30182":8743,"30173":8744,"30175":8745,"30180":8746,"30167":8747,"30357":8748,"30354":8749,"30426":8750,"30534":8751,"30535":8752,"30532":8753,"30541":8754,"30533":8755,"30538":8756,"30542":8757,"30539":8758,"30540":8759,"30686":8760,"30700":8761,"30816":8762,"30820":8763,"30821":8764,"30812":8765,"30829":8766,"30833":8767,"30826":8768,"30830":8769,"30832":8770,"30825":8771,"30824":8772,"30814":8773,"30818":8774,"31092":8775,"31091":8776,"31090":8777,"31088":8778,"31234":8779,"31242":8780,"31235":8781,"31244":8782,"31236":8783,"31385":8784,"31462":8785,"31460":8786,"31562":8787,"31559":8788,"31556":8789,"31560":8790,"31564":8791,"31566":8792,"31552":8793,"31576":8794,"31557":8795,"31906":8796,"31902":8797,"31912":8798,"31905":8799,"32088":8800,"32111":8801,"32099":8802,"32083":8803,"32086":8804,"32103":8805,"32106":8806,"32079":8807,"32109":8808,"32092":8809,"32107":8810,"32082":8811,"32084":8812,"32105":8813,"32081":8814,"32095":8815,"32078":8816,"32574":8817,"32575":8818,"32613":8819,"32614":8820,"32674":8821,"32672":8822,"32673":8823,"32727":8824,"32849":8825,"32847":8826,"32848":8827,"33022":8828,"32980":8829,"33091":8830,"33098":8831,"33106":8832,"33103":8833,"33095":8834,"33085":8835,"33101":8836,"33082":8837,"33254":8838,"33262":8839,"33271":8840,"33272":8841,"33273":8842,"33284":8843,"33340":8844,"33341":8845,"33343":8846,"33397":8847,"33595":8848,"33743":8849,"60382":8849,"33785":8850,"33827":8851,"33728":8852,"33768":8853,"33810":8854,"33767":8855,"33764":8856,"33788":8857,"33782":8858,"33808":8859,"33734":8860,"33736":8861,"33771":8862,"33763":8863,"33727":8864,"33793":8865,"33757":8866,"33765":8867,"33752":8868,"33791":8869,"33761":8870,"33739":8871,"33742":8872,"33750":8873,"33781":8874,"33737":8875,"33801":8876,"33807":8877,"58332":8877,"33758":8878,"33809":8879,"33798":8880,"33730":8881,"33779":8882,"33749":8883,"33786":8884,"33735":8885,"33745":8886,"33770":8887,"33811":8888,"33690":8889,"33731":8890,"33772":8891,"33774":8892,"33732":8893,"33787":8894,"33751":8895,"33762":8896,"33819":8897,"33755":8898,"33790":8899,"34520":8900,"34530":8901,"34534":8902,"34515":8903,"34531":8904,"34522":8905,"34538":8906,"34525":8907,"34539":8908,"34524":8909,"34540":8910,"34537":8911,"34519":8912,"34536":8913,"34513":8914,"34888":8915,"34902":8916,"34901":8917,"35002":8918,"35031":8919,"35001":8920,"35000":8921,"35008":8922,"35006":8923,"34998":8924,"35004":8925,"34999":8926,"35005":8927,"34994":8928,"35073":8929,"35017":8930,"35221":8931,"35224":8932,"35223":8933,"35293":8934,"35290":8935,"35291":8936,"35406":8937,"35405":8938,"35385":8939,"35417":8940,"35392":8941,"35415":8942,"35416":8943,"35396":8944,"35397":8945,"35410":8946,"35400":8947,"35409":8948,"35402":8949,"35404":8950,"35407":8951,"35935":8952,"35969":8953,"35968":8954,"36026":8955,"36030":8956,"36016":8957,"36025":8958,"36021":8959,"36228":8960,"36224":8961,"36233":8962,"36312":8963,"36307":8964,"36301":8965,"36295":8966,"36310":8967,"36316":8968,"36303":8969,"36309":8970,"36313":8971,"36296":8972,"36311":8973,"36293":8974,"36591":8975,"36599":8976,"36602":8977,"36601":8978,"36582":8979,"36590":8980,"36581":8981,"36597":8982,"36583":8983,"36584":8984,"36598":8985,"36587":8986,"36593":8987,"36588":8988,"36596":8989,"36585":8990,"36909":8991,"36916":8992,"36911":8993,"37126":8994,"37164":8995,"37124":8996,"60367":8996,"37119":8997,"37116":8998,"37128":8999,"37113":9000,"37115":9001,"37121":9002,"37120":9003,"37127":9004,"37125":9005,"37123":9006,"37217":9007,"37220":9008,"37215":9009,"37218":9010,"37216":9011,"37377":9012,"37386":9013,"37413":9014,"37379":9015,"37402":9016,"37414":9017,"37391":9018,"37388":9019,"37376":9020,"37394":9021,"37375":9022,"37373":9023,"37382":9024,"37380":9025,"37415":9026,"37378":9027,"37404":9028,"37412":9029,"37401":9030,"37399":9031,"37381":9032,"37398":9033,"38267":9034,"38285":9035,"38284":9036,"38288":9037,"38535":9038,"38526":9039,"38536":9040,"38537":9041,"38531":9042,"38528":9043,"38594":9044,"38600":9045,"38595":9046,"38641":9047,"38640":9048,"38764":9049,"38768":9050,"38766":9051,"38919":9052,"39081":9053,"39147":9054,"40166":9055,"12235":9056,"40697":9056,"20099":9057,"20100":9058,"20150":9059,"20669":9060,"20671":9061,"20678":9062,"20654":9063,"20676":9064,"20682":9065,"20660":9066,"20680":9067,"20674":9068,"20656":9069,"20673":9070,"20666":9071,"20657":9072,"20683":9073,"20681":9074,"20662":9075,"20664":9076,"20951":9077,"21114":9078,"21112":9079,"21115":9080,"21116":9081,"21955":9082,"21979":9083,"21964":9084,"21968":9085,"21963":9086,"21962":9087,"21981":9088,"21952":9089,"64013":9089,"21972":9090,"21956":9091,"21993":9092,"21951":9093,"21970":9094,"21901":9095,"21967":9096,"21973":9097,"21986":9098,"21974":9099,"21960":9100,"22002":9101,"21965":9102,"21977":9103,"21954":9104,"22292":9105,"22611":9106,"22632":9107,"22628":9108,"22607":9109,"22605":9110,"22601":9111,"22639":9112,"22613":9113,"22606":9114,"22621":9115,"22617":9116,"22629":9117,"22619":9118,"22589":9119,"22627":9120,"22641":9121,"22780":9122,"23239":9123,"23236":9124,"23243":9125,"23226":9126,"23224":9127,"23217":9128,"23221":9129,"23216":9130,"23231":9131,"23240":9132,"23227":9133,"23238":9134,"23223":9135,"23232":9136,"23242":9137,"23220":9138,"23222":9139,"23245":9140,"23225":9141,"23184":9142,"23510":9143,"23512":9144,"23513":9145,"23583":9146,"23603":9147,"23921":9148,"23907":9149,"23882":9150,"23909":9151,"23922":9152,"23916":9153,"23902":9154,"23912":9155,"23911":9156,"23906":9157,"24048":9158,"24143":9159,"24142":9160,"24138":9161,"24141":9162,"24139":9163,"24261":9164,"24268":9165,"24262":9166,"24267":9167,"24263":9168,"24384":9169,"24495":9170,"24493":9171,"24823":9172,"24905":9173,"24906":9174,"24875":9175,"24901":9176,"24886":9177,"24882":9178,"24878":9179,"24902":9180,"24879":9181,"24911":9182,"24873":9183,"24896":9184,"25120":9185,"37224":9186,"25123":9187,"25125":9188,"25124":9189,"25541":9190,"25585":9191,"25579":9192,"25616":9193,"25618":9194,"25609":9195,"25632":9196,"25636":9197,"25651":9198,"25667":9199,"25631":9200,"25621":9201,"25624":9202,"25657":9203,"25655":9204,"25634":9205,"25635":9206,"25612":9207,"25638":9208,"25648":9209,"25640":9210,"25665":9211,"25653":9212,"25647":9213,"25610":9214,"25626":9215,"25664":9216,"25637":9217,"25639":9218,"25611":9219,"25575":9220,"25627":9221,"25646":9222,"25633":9223,"25614":9224,"25967":9225,"26002":9226,"26067":9227,"26246":9228,"26252":9229,"26261":9230,"26256":9231,"26251":9232,"26250":9233,"26265":9234,"26260":9235,"26232":9236,"26400":9237,"26982":9238,"26975":9239,"26936":9240,"26958":9241,"26978":9242,"26993":9243,"26943":9244,"26949":9245,"26986":9246,"26937":9247,"26946":9248,"26967":9249,"26969":9250,"27002":9251,"26952":9252,"26953":9253,"26933":9254,"26988":9255,"26931":9256,"26941":9257,"26981":9258,"26864":9259,"27000":9260,"26932":9261,"26985":9262,"26944":9263,"26991":9264,"26948":9265,"26998":9266,"26968":9267,"26945":9268,"26996":9269,"26956":9270,"26939":9271,"26955":9272,"26935":9273,"26972":9274,"26959":9275,"26961":9276,"26930":9277,"26962":9278,"26927":9279,"27003":9280,"26940":9281,"27462":9282,"27461":9283,"27459":9284,"27458":9285,"27464":9286,"27457":9287,"27547":9288,"27643":9289,"27644":9290,"27641":9291,"27639":9292,"27640":9293,"28315":9294,"28374":9295,"28360":9296,"28303":9297,"28352":9298,"28319":9299,"28307":9300,"28308":9301,"28320":9302,"28337":9303,"28345":9304,"28358":9305,"28370":9306,"28349":9307,"28353":9308,"28318":9309,"28361":9310,"28343":9311,"28336":9312,"28365":9313,"28326":9314,"28367":9315,"28338":9316,"28350":9317,"28355":9318,"28380":9319,"28376":9320,"28313":9321,"28306":9322,"28302":9323,"28301":9324,"28324":9325,"28321":9326,"28351":9327,"28339":9328,"28368":9329,"28362":9330,"28311":9331,"28334":9332,"28323":9333,"28999":9334,"29012":9335,"29010":9336,"29027":9337,"29024":9338,"28993":9339,"29021":9340,"29026":9341,"61080":9341,"29042":9342,"29048":9343,"29034":9344,"29025":9345,"28994":9346,"29016":9347,"28995":9348,"29003":9349,"29040":9350,"29023":9351,"29008":9352,"29011":9353,"28996":9354,"29005":9355,"29018":9356,"29263":9357,"29325":9358,"29324":9359,"29329":9360,"29328":9361,"29326":9362,"29500":9363,"29506":9364,"29499":9365,"29498":9366,"29504":9367,"29514":9368,"29513":9369,"29764":9370,"29770":9371,"29771":9372,"29778":9373,"29777":9374,"29783":9375,"29760":9376,"29775":9377,"29776":9378,"29774":9379,"29762":9380,"29766":9381,"29773":9382,"29780":9383,"29921":9384,"29951":9385,"29950":9386,"29949":9387,"29981":9388,"30073":9389,"30071":9390,"27011":9391,"30191":9392,"30223":9393,"30211":9394,"30199":9395,"30206":9396,"30204":9397,"30201":9398,"60782":9398,"30200":9399,"30224":9400,"30203":9401,"30198":9402,"30189":9403,"30197":9404,"30205":9405,"30361":9406,"30389":9407,"30429":9408,"30549":9409,"30559":9410,"30560":9411,"30546":9412,"30550":9413,"30554":9414,"30569":9415,"30567":9416,"30548":9417,"30553":9418,"30573":9419,"30688":9420,"30855":9421,"30874":9422,"30868":9423,"30863":9424,"30852":9425,"30869":9426,"30853":9427,"30854":9428,"30881":9429,"30851":9430,"30841":9431,"30873":9432,"30848":9433,"30870":9434,"30843":9435,"31100":9436,"31106":9437,"31101":9438,"31097":9439,"31249":9440,"31256":9441,"31257":9442,"31250":9443,"31255":9444,"31253":9445,"31266":9446,"31251":9447,"31259":9448,"31248":9449,"31395":9450,"31394":9451,"31390":9452,"31467":9453,"31590":9454,"31588":9455,"31597":9456,"31604":9457,"31593":9458,"31602":9459,"31589":9460,"31603":9461,"31601":9462,"31600":9463,"31585":9464,"31608":9465,"31606":9466,"31587":9467,"31922":9468,"31924":9469,"31919":9470,"32136":9471,"32134":9472,"32128":9473,"32141":9474,"32127":9475,"32133":9476,"32122":9477,"32142":9478,"32123":9479,"32131":9480,"32124":9481,"32140":9482,"32148":9483,"32132":9484,"32125":9485,"32146":9486,"32621":9487,"32619":9488,"32615":9489,"32616":9490,"32620":9491,"32678":9492,"32677":9493,"32679":9494,"32731":9495,"32732":9496,"32801":9497,"33124":9498,"33120":9499,"33143":9500,"33116":9501,"33129":9502,"33115":9503,"33122":9504,"33138":9505,"26401":9506,"33118":9507,"33142":9508,"33127":9509,"33135":9510,"33092":9511,"33121":9512,"33309":9513,"33353":9514,"33348":9515,"33344":9516,"33346":9517,"33349":9518,"34033":9519,"33855":9520,"33878":9521,"33910":9522,"33913":9523,"33935":9524,"33933":9525,"33893":9526,"33873":9527,"33856":9528,"33926":9529,"33895":9530,"33840":9531,"33869":9532,"33917":9533,"33882":9534,"33881":9535,"33908":9536,"33907":9537,"33885":9538,"34055":9539,"33886":9540,"33847":9541,"33850":9542,"33844":9543,"33914":9544,"33859":9545,"33912":9546,"33842":9547,"33861":9548,"33833":9549,"33753":9550,"33867":9551,"33839":9552,"33858":9553,"33837":9554,"33887":9555,"33904":9556,"33849":9557,"33870":9558,"33868":9559,"33874":9560,"33903":9561,"33989":9562,"33934":9563,"33851":9564,"33863":9565,"33846":9566,"33843":9567,"33896":9568,"33918":9569,"33860":9570,"33835":9571,"33888":9572,"33876":9573,"33902":9574,"33872":9575,"34571":9576,"34564":9577,"34551":9578,"34572":9579,"34554":9580,"34518":9581,"34549":9582,"34637":9583,"34552":9584,"34574":9585,"34569":9586,"34561":9587,"34550":9588,"34573":9589,"34565":9590,"35030":9591,"35019":9592,"35021":9593,"35022":9594,"35038":9595,"35035":9596,"35034":9597,"35020":9598,"35024":9599,"35205":9600,"35227":9601,"35295":9602,"35301":9603,"35300":9604,"35297":9605,"35296":9606,"35298":9607,"35292":9608,"35302":9609,"35446":9610,"35462":9611,"35455":9612,"35425":9613,"35391":9614,"35447":9615,"35458":9616,"35460":9617,"35445":9618,"35459":9619,"35457":9620,"35444":9621,"35450":9622,"35900":9623,"35915":9624,"35914":9625,"35941":9626,"35940":9627,"35942":9628,"35974":9629,"35972":9630,"35973":9631,"36044":9632,"36200":9633,"36201":9634,"36241":9635,"36236":9636,"36238":9637,"36239":9638,"36237":9639,"36243":9640,"36244":9641,"36240":9642,"36242":9643,"36336":9644,"36320":9645,"36332":9646,"36337":9647,"36334":9648,"36304":9649,"36329":9650,"36323":9651,"36322":9652,"36327":9653,"36338":9654,"36331":9655,"36340":9656,"36614":9657,"36607":9658,"36609":9659,"36608":9660,"36613":9661,"36615":9662,"36616":9663,"36610":9664,"36619":9665,"60507":9665,"36946":9666,"36927":9667,"36932":9668,"36937":9669,"36925":9670,"37136":9671,"37133":9672,"37135":9673,"37137":9674,"37142":9675,"37140":9676,"37131":9677,"37134":9678,"37230":9679,"37231":9680,"37448":9681,"37458":9682,"37424":9683,"37434":9684,"37478":9685,"37427":9686,"37477":9687,"37470":9688,"37507":9689,"37422":9690,"37450":9691,"37446":9692,"37485":9693,"37484":9694,"37455":9695,"37472":9696,"37479":9697,"37487":9698,"37430":9699,"37473":9700,"37488":9701,"37425":9702,"37460":9703,"37475":9704,"37456":9705,"37490":9706,"37454":9707,"37459":9708,"37452":9709,"37462":9710,"37426":9711,"38303":9712,"38300":9713,"38302":9714,"38299":9715,"38546":9716,"38547":9717,"38545":9718,"38551":9719,"38606":9720,"38650":9721,"38653":9722,"38648":9723,"38645":9724,"38771":9725,"38775":9726,"38776":9727,"38770":9728,"38927":9729,"38925":9730,"38926":9731,"39084":9732,"39158":9733,"39161":9734,"39343":9735,"39346":9736,"39344":9737,"39349":9738,"39597":9739,"39595":9740,"39771":9741,"40170":9742,"40173":9743,"40167":9744,"40576":9745,"12236":9746,"40701":9746,"20710":9747,"20692":9748,"20695":9749,"20712":9750,"20723":9751,"20699":9752,"20714":9753,"20701":9754,"20708":9755,"20691":9756,"20716":9757,"20720":9758,"20719":9759,"20707":9760,"20704":9761,"20952":9762,"21120":9763,"21121":9764,"21225":9765,"21227":9766,"21296":9767,"21420":9768,"22055":9769,"22037":9770,"22028":9771,"22034":9772,"22012":9773,"22031":9774,"22044":9775,"22017":9776,"22035":9777,"22018":9778,"22010":9779,"22045":9780,"22020":9781,"22015":9782,"22009":9783,"22665":9784,"22652":9785,"22672":9786,"22680":9787,"22662":9788,"22657":9789,"22655":9790,"22644":9791,"22667":9792,"22650":9793,"22663":9794,"22673":9795,"22670":9796,"22646":9797,"22658":9798,"22664":9799,"22651":9800,"22676":9801,"22671":9802,"22782":9803,"22891":9804,"23260":9805,"23278":9806,"23269":9807,"23253":9808,"23274":9809,"23258":9810,"23277":9811,"23275":9812,"23283":9813,"23266":9814,"23264":9815,"23259":9816,"23276":9817,"23262":9818,"23261":9819,"23257":9820,"23272":9821,"23263":9822,"23415":9823,"23520":9824,"23523":9825,"23651":9826,"23938":9827,"23936":9828,"23933":9829,"23942":9830,"23930":9831,"23937":9832,"23927":9833,"23946":9834,"23945":9835,"23944":9836,"23934":9837,"23932":9838,"23949":9839,"23929":9840,"23935":9841,"24152":9842,"24153":9843,"24147":9844,"24280":9845,"24273":9846,"24279":9847,"24270":9848,"24284":9849,"24277":9850,"24281":9851,"24274":9852,"24276":9853,"24388":9854,"24387":9855,"24431":9856,"24502":9857,"24876":9858,"24872":9859,"24897":9860,"24926":9861,"24945":9862,"24947":9863,"24914":9864,"24915":9865,"24946":9866,"24940":9867,"24960":9868,"24948":9869,"24916":9870,"24954":9871,"24923":9872,"24933":9873,"24891":9874,"24938":9875,"24929":9876,"24918":9877,"25129":9878,"25127":9879,"25131":9880,"25643":9881,"25677":9882,"25691":9883,"25693":9884,"25716":9885,"25718":9886,"25714":9887,"25715":9888,"25725":9889,"25717":9890,"25702":9891,"25766":9892,"25678":9893,"25730":9894,"25694":9895,"25692":9896,"25675":9897,"25683":9898,"25696":9899,"25680":9900,"25727":9901,"25663":9902,"25708":9903,"25707":9904,"25689":9905,"25701":9906,"25719":9907,"25971":9908,"26016":9909,"26273":9910,"26272":9911,"26271":9912,"26373":9913,"26372":9914,"26402":9915,"27057":9916,"27062":9917,"27081":9918,"27040":9919,"27086":9920,"27030":9921,"27056":9922,"27052":9923,"27068":9924,"27025":9925,"27033":9926,"27022":9927,"27047":9928,"27021":9929,"27049":9930,"27070":9931,"27055":9932,"27071":9933,"27076":9934,"27069":9935,"27044":9936,"27092":9937,"27065":9938,"27082":9939,"27034":9940,"27087":9941,"27059":9942,"27027":9943,"27050":9944,"27041":9945,"27038":9946,"27097":9947,"27031":9948,"27024":9949,"27074":9950,"27061":9951,"27045":9952,"27078":9953,"27466":9954,"27469":9955,"27467":9956,"27550":9957,"27551":9958,"27552":9959,"27587":9960,"27588":9961,"27646":9962,"28366":9963,"28405":9964,"28401":9965,"28419":9966,"28453":9967,"28408":9968,"28471":9969,"28411":9970,"28462":9971,"28425":9972,"28494":9973,"28441":9974,"28442":9975,"28455":9976,"28440":9977,"28475":9978,"28434":9979,"28397":9980,"28426":9981,"28470":9982,"28531":9983,"28409":9984,"28398":9985,"28461":9986,"28480":9987,"28464":9988,"28476":9989,"28469":9990,"28395":9991,"28423":9992,"28430":9993,"28483":9994,"28421":9995,"28413":9996,"28406":9997,"28473":9998,"28444":9999,"28412":10000,"28474":10001,"28447":10002,"28429":10003,"28446":10004,"28424":10005,"28449":10006,"29063":10007,"29072":10008,"29065":10009,"29056":10010,"29061":10011,"29058":10012,"29071":10013,"29051":10014,"29062":10015,"29057":10016,"29079":10017,"29252":10018,"29267":10019,"29335":10020,"29333":10021,"29331":10022,"29507":10023,"29517":10024,"29521":10025,"29516":10026,"29794":10027,"29811":10028,"29809":10029,"29813":10030,"29810":10031,"29799":10032,"29806":10033,"29952":10034,"29954":10035,"29955":10036,"30077":10037,"30096":10038,"30230":10039,"30216":10040,"30220":10041,"30229":10042,"30225":10043,"30218":10044,"30228":10045,"30392":10046,"30593":10047,"30588":10048,"30597":10049,"30594":10050,"30574":10051,"30592":10052,"30575":10053,"30590":10054,"30595":10055,"30898":10056,"30890":10057,"30900":10058,"30893":10059,"30888":10060,"30846":10061,"30891":10062,"30878":10063,"30885":10064,"30880":10065,"30892":10066,"30882":10067,"30884":10068,"31128":10069,"31114":10070,"31115":10071,"31126":10072,"31125":10073,"31124":10074,"31123":10075,"31127":10076,"31112":10077,"31122":10078,"31120":10079,"31275":10080,"31306":10081,"31280":10082,"31279":10083,"31272":10084,"31270":10085,"31400":10086,"31403":10087,"31404":10088,"31470":10089,"31624":10090,"31644":10091,"31626":10092,"31633":10093,"31632":10094,"31638":10095,"31629":10096,"31628":10097,"31643":10098,"31630":10099,"31621":10100,"31640":10101,"21124":10102,"31641":10103,"31652":10104,"31618":10105,"31931":10106,"31935":10107,"31932":10108,"31930":10109,"32167":10110,"32183":10111,"32194":10112,"32163":10113,"32170":10114,"32193":10115,"32192":10116,"32197":10117,"32157":10118,"32206":10119,"32196":10120,"32198":10121,"32203":10122,"32204":10123,"32175":10124,"32185":10125,"32150":10126,"32188":10127,"32159":10128,"32166":10129,"32174":10130,"32169":10131,"32161":10132,"32201":10133,"32627":10134,"32738":10135,"32739":10136,"32741":10137,"32734":10138,"32804":10139,"32861":10140,"32860":10141,"33161":10142,"33158":10143,"33155":10144,"33159":10145,"33165":10146,"33164":10147,"33163":10148,"33301":10149,"33943":10150,"33956":10151,"33953":10152,"33951":10153,"33978":10154,"33998":10155,"33986":10156,"33964":10157,"33966":10158,"33963":10159,"33977":10160,"33972":10161,"33985":10162,"33997":10163,"33962":10164,"33946":10165,"33969":10166,"34000":10167,"33949":10168,"33959":10169,"33979":10170,"33954":10171,"33940":10172,"33991":10173,"33996":10174,"33947":10175,"33961":10176,"33967":10177,"33960":10178,"58327":10178,"34006":10179,"33944":10180,"33974":10181,"33999":10182,"33952":10183,"34007":10184,"34004":10185,"34002":10186,"34011":10187,"33968":10188,"33937":10189,"34401":10190,"34611":10191,"34595":10192,"34600":10193,"34667":10194,"34624":10195,"34606":10196,"34590":10197,"34593":10198,"34585":10199,"34587":10200,"34627":10201,"34604":10202,"34625":10203,"34622":10204,"34630":10205,"34592":10206,"34610":10207,"34602":10208,"34605":10209,"34620":10210,"34578":10211,"34618":10212,"34609":10213,"34613":10214,"34626":10215,"34598":10216,"34599":10217,"34616":10218,"34596":10219,"34586":10220,"34608":10221,"34577":10222,"35063":10223,"35047":10224,"35057":10225,"35058":10226,"35066":10227,"35070":10228,"35054":10229,"35068":10230,"35062":10231,"35067":10232,"35056":10233,"35052":10234,"35051":10235,"35229":10236,"35233":10237,"35231":10238,"35230":10239,"35305":10240,"35307":10241,"35304":10242,"35499":10243,"35481":10244,"35467":10245,"35474":10246,"35471":10247,"35478":10248,"35901":10249,"35944":10250,"35945":10251,"36053":10252,"36047":10253,"36055":10254,"36246":10255,"36361":10256,"36354":10257,"36351":10258,"36365":10259,"36349":10260,"36362":10261,"36355":10262,"36359":10263,"36358":10264,"36357":10265,"36350":10266,"36352":10267,"36356":10268,"36624":10269,"36625":10270,"36622":10271,"36621":10272,"37155":10273,"37148":10274,"37152":10275,"37154":10276,"37151":10277,"37149":10278,"37146":10279,"37156":10280,"37153":10281,"37147":10282,"37242":10283,"37234":10284,"37241":10285,"37235":10286,"37541":10287,"37540":10288,"37494":10289,"37531":10290,"37498":10291,"37536":10292,"37524":10293,"37546":10294,"37517":10295,"37542":10296,"37530":10297,"37547":10298,"37497":10299,"37527":10300,"37503":10301,"37539":10302,"37614":10303,"37518":10304,"37506":10305,"37525":10306,"37538":10307,"37501":10308,"37512":10309,"37537":10310,"37514":10311,"37510":10312,"37516":10313,"37529":10314,"37543":10315,"37502":10316,"37511":10317,"37545":10318,"37533":10319,"37515":10320,"37421":10321,"38558":10322,"38561":10323,"38655":10324,"38744":10325,"38781":10326,"38778":10327,"38782":10328,"38787":10329,"38784":10330,"38786":10331,"38779":10332,"38788":10333,"38785":10334,"38783":10335,"38862":10336,"38861":10337,"38934":10338,"39085":10339,"39086":10340,"39170":10341,"39168":10342,"39175":10343,"39325":10344,"39324":10345,"39363":10346,"39353":10347,"39355":10348,"39354":10349,"39362":10350,"39357":10351,"39367":10352,"39601":10353,"39651":10354,"39655":10355,"39742":10356,"39743":10357,"39776":10358,"39777":10359,"39775":10360,"40177":10361,"40178":10362,"40181":10363,"40615":10364,"20735":10365,"20739":10366,"20784":10367,"20728":10368,"20742":10369,"20743":10370,"20726":10371,"20734":10372,"20747":10373,"20748":10374,"20733":10375,"20746":10376,"21131":10377,"21132":10378,"21233":10379,"21231":10380,"22088":10381,"22082":10382,"22092":10383,"22069":10384,"22081":10385,"22090":10386,"22089":10387,"22086":10388,"22104":10389,"22106":10390,"22080":10391,"22067":10392,"22077":10393,"22060":10394,"22078":10395,"22072":10396,"22058":10397,"22074":10398,"22298":10399,"22699":10400,"22685":10401,"22705":10402,"22688":10403,"22691":10404,"22703":10405,"22700":10406,"22693":10407,"22689":10408,"22783":10409,"23295":10410,"23284":10411,"23293":10412,"23287":10413,"23286":10414,"23299":10415,"23288":10416,"23298":10417,"23289":10418,"23297":10419,"23303":10420,"23301":10421,"23311":10422,"23655":10423,"23961":10424,"23959":10425,"23967":10426,"23954":10427,"23970":10428,"23955":10429,"23957":10430,"23968":10431,"23964":10432,"23969":10433,"23962":10434,"23966":10435,"24169":10436,"24157":10437,"24160":10438,"24156":10439,"32243":10440,"24283":10441,"24286":10442,"24289":10443,"24393":10444,"24498":10445,"24971":10446,"24963":10447,"24953":10448,"25009":10449,"25008":10450,"24994":10451,"24969":10452,"24987":10453,"24979":10454,"25007":10455,"25005":10456,"24991":10457,"24978":10458,"25002":10459,"24993":10460,"24973":10461,"24934":10462,"25011":10463,"25133":10464,"25710":10465,"25712":10466,"25750":10467,"25760":10468,"25733":10469,"25751":10470,"25756":10471,"25743":10472,"25739":10473,"25738":10474,"25740":10475,"25763":10476,"25759":10477,"25704":10478,"25777":10479,"25752":10480,"25974":10481,"25978":10482,"25977":10483,"25979":10484,"26034":10485,"26035":10486,"26293":10487,"26288":10488,"26281":10489,"26290":10490,"26295":10491,"26282":10492,"26287":10493,"27136":10494,"27142":10495,"27159":10496,"27109":10497,"27128":10498,"27157":10499,"27121":10500,"27108":10501,"27168":10502,"27135":10503,"27116":10504,"27106":10505,"27163":10506,"27165":10507,"27134":10508,"27175":10509,"27122":10510,"27118":10511,"27156":10512,"27127":10513,"27111":10514,"27200":10515,"27144":10516,"27110":10517,"27131":10518,"27149":10519,"27132":10520,"27115":10521,"27145":10522,"27140":10523,"27160":10524,"27173":10525,"27151":10526,"27126":10527,"27174":10528,"27143":10529,"27124":10530,"27158":10531,"27473":10532,"27557":10533,"27555":10534,"27554":10535,"27558":10536,"27649":10537,"27648":10538,"27647":10539,"27650":10540,"28481":10541,"28454":10542,"28542":10543,"28551":10544,"28614":10545,"28562":10546,"28557":10547,"28553":10548,"28556":10549,"28514":10550,"28495":10551,"28549":10552,"28506":10553,"28566":10554,"28534":10555,"28524":10556,"28546":10557,"28501":10558,"28530":10559,"28498":10560,"28496":10561,"28503":10562,"28564":10563,"28563":10564,"28509":10565,"28416":10566,"28513":10567,"28523":10568,"28541":10569,"28519":10570,"28560":10571,"28499":10572,"28555":10573,"28521":10574,"28543":10575,"28565":10576,"28515":10577,"28535":10578,"28522":10579,"28539":10580,"29106":10581,"29103":10582,"29083":10583,"29104":10584,"29088":10585,"29082":10586,"29097":10587,"29109":10588,"29085":10589,"29093":10590,"29086":10591,"29092":10592,"29089":10593,"29098":10594,"29084":10595,"29095":10596,"29107":10597,"29336":10598,"29338":10599,"29528":10600,"29522":10601,"29534":10602,"29535":10603,"29536":10604,"29533":10605,"29531":10606,"29537":10607,"29530":10608,"29529":10609,"29538":10610,"29831":10611,"29833":10612,"29834":10613,"29830":10614,"29825":10615,"29821":10616,"29829":10617,"29832":10618,"29820":10619,"29817":10620,"58868":10620,"29960":10621,"29959":10622,"30078":10623,"30245":10624,"30238":10625,"30233":10626,"30237":10627,"30236":10628,"30243":10629,"30234":10630,"30248":10631,"30235":10632,"30364":10633,"30365":10634,"30366":10635,"30363":10636,"30605":10637,"30607":10638,"30601":10639,"30600":10640,"30925":10641,"30907":10642,"30927":10643,"30924":10644,"30929":10645,"30926":10646,"30932":10647,"30920":10648,"30915":10649,"30916":10650,"30921":10651,"31130":10652,"31137":10653,"31136":10654,"31132":10655,"31138":10656,"31131":10657,"59175":10657,"27510":10658,"31289":10659,"31410":10660,"31412":10661,"31411":10662,"31671":10663,"31691":10664,"31678":10665,"31660":10666,"31694":10667,"31663":10668,"31673":10669,"31690":10670,"31669":10671,"31941":10672,"31944":10673,"31948":10674,"31947":10675,"32247":10676,"32219":10677,"32234":10678,"32231":10679,"32215":10680,"32225":10681,"32259":10682,"32250":10683,"32230":10684,"32246":10685,"32241":10686,"32240":10687,"32238":10688,"32223":10689,"32630":10690,"32684":10691,"32688":10692,"32685":10693,"32749":10694,"32747":10695,"32746":10696,"32748":10697,"32742":10698,"32744":10699,"32868":10700,"32871":10701,"33187":10702,"33183":10703,"33182":10704,"33173":10705,"33186":10706,"33177":10707,"33175":10708,"33302":10709,"33359":10710,"33363":10711,"33362":10712,"33360":10713,"33358":10714,"33361":10715,"34084":10716,"34107":10717,"34063":10718,"34048":10719,"34089":10720,"34062":10721,"34057":10722,"34061":10723,"34079":10724,"34058":10725,"34087":10726,"34076":10727,"34043":10728,"34091":10729,"34042":10730,"34056":10731,"34060":10732,"34036":10733,"34090":10734,"34034":10735,"34069":10736,"34039":10737,"34027":10738,"34035":10739,"34044":10740,"34066":10741,"34026":10742,"34025":10743,"34070":10744,"34046":10745,"34088":10746,"34077":10747,"34094":10748,"34050":10749,"34045":10750,"34078":10751,"34038":10752,"34097":10753,"34086":10754,"34023":10755,"34024":10756,"34032":10757,"34031":10758,"34041":10759,"34072":10760,"34080":10761,"34096":10762,"34059":10763,"34073":10764,"34095":10765,"34402":10766,"34646":10767,"34659":10768,"34660":10769,"34679":10770,"34785":10771,"34675":10772,"34648":10773,"34644":10774,"34651":10775,"34642":10776,"34657":10777,"34650":10778,"34641":10779,"34654":10780,"34669":10781,"34666":10782,"34640":10783,"34638":10784,"34655":10785,"34653":10786,"34671":10787,"34668":10788,"34682":10789,"34670":10790,"34652":10791,"34661":10792,"34639":10793,"34683":10794,"34677":10795,"34658":10796,"34663":10797,"34665":10798,"34906":10799,"35077":10800,"35084":10801,"35092":10802,"35083":10803,"35095":10804,"35096":10805,"35097":10806,"35078":10807,"35094":10808,"35089":10809,"35086":10810,"35081":10811,"35234":10812,"35236":10813,"35235":10814,"35309":10815,"35312":10816,"35308":10817,"35535":10818,"35526":10819,"35512":10820,"35539":10821,"35537":10822,"35540":10823,"35541":10824,"35515":10825,"35543":10826,"35518":10827,"35520":10828,"35525":10829,"35544":10830,"35523":10831,"35514":10832,"35517":10833,"35545":10834,"35902":10835,"35917":10836,"35983":10837,"36069":10838,"36063":10839,"36057":10840,"36072":10841,"36058":10842,"36061":10843,"36071":10844,"36256":10845,"36252":10846,"36257":10847,"36251":10848,"36384":10849,"36387":10850,"36389":10851,"36388":10852,"36398":10853,"36373":10854,"36379":10855,"36374":10856,"36369":10857,"36377":10858,"36390":10859,"36391":10860,"36372":10861,"36370":10862,"36376":10863,"36371":10864,"36380":10865,"36375":10866,"36378":10867,"36652":10868,"36644":10869,"36632":10870,"36634":10871,"36640":10872,"36643":10873,"36630":10874,"36631":10875,"36979":10876,"36976":10877,"36975":10878,"36967":10879,"36971":10880,"37167":10881,"37163":10882,"37161":10883,"37162":10884,"37170":10885,"37158":10886,"37166":10887,"37253":10888,"37254":10889,"37258":10890,"37249":10891,"37250":10892,"37252":10893,"37248":10894,"37584":10895,"37571":10896,"37572":10897,"37568":10898,"37593":10899,"37558":10900,"37583":10901,"37617":10902,"37599":10903,"37592":10904,"37609":10905,"37591":10906,"37597":10907,"37580":10908,"37615":10909,"37570":10910,"37608":10911,"37578":10912,"37576":10913,"37582":10914,"37606":10915,"37581":10916,"37589":10917,"37577":10918,"37600":10919,"37598":10920,"37607":10921,"37585":10922,"37587":10923,"37557":10924,"37601":10925,"37669":10926,"37574":10927,"37556":10928,"38268":10929,"38316":10930,"38315":10931,"38318":10932,"38320":10933,"38564":10934,"38562":10935,"38611":10936,"38661":10937,"38664":10938,"38658":10939,"38746":10940,"38794":10941,"38798":10942,"38792":10943,"38864":10944,"38863":10945,"38942":10946,"38941":10947,"38950":10948,"38953":10949,"38952":10950,"38944":10951,"38939":10952,"38951":10953,"39090":10954,"39176":10955,"39162":10956,"39185":10957,"39188":10958,"39190":10959,"39191":10960,"39189":10961,"39388":10962,"39373":10963,"39375":10964,"39379":10965,"39380":10966,"39374":10967,"39369":10968,"39382":10969,"60270":10969,"39384":10970,"39371":10971,"39383":10972,"39372":10973,"39603":10974,"39660":10975,"39659":10976,"39667":10977,"39666":10978,"39665":10979,"39750":10980,"39747":10981,"39783":10982,"39796":10983,"39793":10984,"39782":10985,"39798":10986,"39797":10987,"39792":10988,"39784":10989,"39780":10990,"39788":10991,"40188":10992,"40186":10993,"40189":10994,"40191":10995,"40183":10996,"40199":10997,"40192":10998,"40185":10999,"40187":11000,"40200":11001,"40197":11002,"40196":11003,"40579":11004,"40659":11005,"40719":11006,"40720":11007,"20764":11008,"20755":11009,"20759":11010,"20762":11011,"20753":11012,"20958":11013,"21300":11014,"21473":11015,"22128":11016,"22112":11017,"22126":11018,"22131":11019,"22118":11020,"22115":11021,"22125":11022,"22130":11023,"22110":11024,"22135":11025,"22300":11026,"22299":11027,"22728":11028,"22717":11029,"22729":11030,"22719":11031,"22714":11032,"22722":11033,"22716":11034,"22726":11035,"23319":11036,"23321":11037,"23323":11038,"23329":11039,"23316":11040,"23315":11041,"23312":11042,"23318":11043,"23336":11044,"59539":11044,"23322":11045,"23328":11046,"23326":11047,"23535":11048,"23980":11049,"23985":11050,"23977":11051,"23975":11052,"23989":11053,"23984":11054,"23982":11055,"23978":11056,"23976":11057,"23986":11058,"23981":11059,"23983":11060,"23988":11061,"24167":11062,"24168":11063,"24166":11064,"24175":11065,"24297":11066,"24295":11067,"24294":11068,"24296":11069,"24293":11070,"24395":11071,"24508":11072,"24507":11073,"24989":11074,"25000":11075,"24982":11076,"25029":11077,"25012":11078,"25030":11079,"25025":11080,"25036":11081,"25018":11082,"25023":11083,"25016":11084,"24972":11085,"25815":11086,"25814":11087,"25808":11088,"25807":11089,"25801":11090,"25789":11091,"25737":11092,"25795":11093,"25819":11094,"25843":11095,"25817":11096,"25907":11097,"25983":11098,"25980":11099,"26018":11100,"26312":11101,"26302":11102,"26304":11103,"26314":11104,"26315":11105,"26319":11106,"26301":11107,"26299":11108,"26298":11109,"26316":11110,"26403":11111,"27188":11112,"27238":11113,"27209":11114,"27239":11115,"27186":11116,"27240":11117,"27198":11118,"27229":11119,"27245":11120,"27254":11121,"27227":11122,"27217":11123,"27176":11124,"27226":11125,"27195":11126,"27199":11127,"27201":11128,"27242":11129,"27236":11130,"27216":11131,"27215":11132,"27220":11133,"27247":11134,"27241":11135,"27232":11136,"27196":11137,"27230":11138,"27222":11139,"27221":11140,"27213":11141,"27214":11142,"27206":11143,"27477":11144,"27476":11145,"27478":11146,"27559":11147,"27562":11148,"27563":11149,"27592":11150,"27591":11151,"27652":11152,"27651":11153,"27654":11154,"28589":11155,"28619":11156,"28579":11157,"28615":11158,"28604":11159,"28622":11160,"28616":11161,"28510":11162,"28612":11163,"28605":11164,"28574":11165,"28618":11166,"28584":11167,"28676":11168,"28581":11169,"28590":11170,"28602":11171,"28588":11172,"28586":11173,"28623":11174,"28607":11175,"28600":11176,"28578":11177,"28617":11178,"28587":11179,"28621":11180,"28591":11181,"28594":11182,"28592":11183,"29125":11184,"29122":11185,"29119":11186,"29112":11187,"29142":11188,"29120":11189,"29121":11190,"29131":11191,"29140":11192,"29130":11193,"29127":11194,"29135":11195,"29117":11196,"29144":11197,"29116":11198,"29126":11199,"29146":11200,"29147":11201,"29341":11202,"29342":11203,"29545":11204,"29542":11205,"29543":11206,"29548":11207,"29541":11208,"29547":11209,"29546":11210,"29823":11211,"29850":11212,"29856":11213,"29844":11214,"29842":11215,"29845":11216,"29857":11217,"29963":11218,"30080":11219,"30255":11220,"30253":11221,"30257":11222,"30269":11223,"30259":11224,"30268":11225,"30261":11226,"30258":11227,"30256":11228,"30395":11229,"30438":11230,"30618":11231,"30621":11232,"30625":11233,"30620":11234,"30619":11235,"30626":11236,"30627":11237,"30613":11238,"30617":11239,"30615":11240,"30941":11241,"30953":11242,"30949":11243,"30954":11244,"30942":11245,"30947":11246,"30939":11247,"30945":11248,"30946":11249,"30957":11250,"30943":11251,"30944":11252,"31140":11253,"31300":11254,"31304":11255,"31303":11256,"31414":11257,"31416":11258,"31413":11259,"31409":11260,"31415":11261,"31710":11262,"31715":11263,"31719":11264,"31709":11265,"31701":11266,"31717":11267,"31706":11268,"31720":11269,"31737":11270,"31700":11271,"31722":11272,"31714":11273,"31708":11274,"31723":11275,"31704":11276,"31711":11277,"31954":11278,"31956":11279,"31959":11280,"31952":11281,"31953":11282,"32274":11283,"32289":11284,"32279":11285,"32268":11286,"32287":11287,"32288":11288,"32275":11289,"32270":11290,"32284":11291,"32277":11292,"32282":11293,"32290":11294,"32267":11295,"32271":11296,"32278":11297,"32269":11298,"32276":11299,"32293":11300,"32292":11301,"32579":11302,"32635":11303,"32636":11304,"32634":11305,"32689":11306,"32751":11307,"32810":11308,"32809":11309,"32876":11310,"33201":11311,"33190":11312,"33198":11313,"33209":11314,"33205":11315,"33195":11316,"33200":11317,"33196":11318,"33204":11319,"33202":11320,"33207":11321,"33191":11322,"33266":11323,"33365":11324,"33366":11325,"33367":11326,"34134":11327,"34117":11328,"34155":11329,"34125":11330,"34131":11331,"34145":11332,"34136":11333,"34112":11334,"34118":11335,"34148":11336,"34113":11337,"34146":11338,"34116":11339,"34129":11340,"34119":11341,"34147":11342,"34110":11343,"34139":11344,"34161":11345,"34126":11346,"34158":11347,"34165":11348,"34133":11349,"34151":11350,"34144":11351,"34188":11352,"34150":11353,"34141":11354,"34132":11355,"34149":11356,"34156":11357,"34403":11358,"34405":11359,"34404":11360,"34724":11361,"34715":11362,"34703":11363,"34711":11364,"34707":11365,"34706":11366,"34696":11367,"34689":11368,"34710":11369,"34712":11370,"34681":11371,"34695":11372,"34723":11373,"34693":11374,"34704":11375,"34705":11376,"34717":11377,"34692":11378,"34708":11379,"34716":11380,"34714":11381,"34697":11382,"35102":11383,"35110":11384,"35120":11385,"35117":11386,"35118":11387,"35111":11388,"35121":11389,"35106":11390,"35113":11391,"35107":11392,"35119":11393,"35116":11394,"35103":11395,"35313":11396,"35552":11397,"35554":11398,"35570":11399,"35572":11400,"35573":11401,"35549":11402,"35604":11403,"35556":11404,"35551":11405,"35568":11406,"35528":11407,"35550":11408,"35553":11409,"35560":11410,"35583":11411,"35567":11412,"35579":11413,"35985":11414,"35986":11415,"35984":11416,"36085":11417,"36078":11418,"36081":11419,"36080":11420,"36083":11421,"36204":11422,"36206":11423,"36261":11424,"36263":11425,"36403":11426,"36414":11427,"36408":11428,"36416":11429,"36421":11430,"36406":11431,"36412":11432,"36413":11433,"36417":11434,"36400":11435,"36415":11436,"36541":11437,"36662":11438,"60329":11438,"36654":11439,"36661":11440,"36658":11441,"36665":11442,"36663":11443,"36660":11444,"36982":11445,"36985":11446,"36987":11447,"36998":11448,"37114":11449,"37171":11450,"37173":11451,"37174":11452,"37267":11453,"37264":11454,"37265":11455,"37261":11456,"37263":11457,"37671":11458,"37662":11459,"37640":11460,"37663":11461,"37638":11462,"37647":11463,"37754":11464,"37688":11465,"37692":11466,"37659":11467,"37667":11468,"37650":11469,"37633":11470,"37702":11471,"37677":11472,"37646":11473,"37645":11474,"37579":11475,"37661":11476,"37626":11477,"37651":11478,"37625":11479,"37623":11480,"37684":11481,"37634":11482,"37668":11483,"37631":11484,"37673":11485,"37689":11486,"37685":11487,"37674":11488,"37652":11489,"37644":11490,"37643":11491,"37630":11492,"37641":11493,"37632":11494,"37627":11495,"37654":11496,"38332":11497,"38349":11498,"38334":11499,"38329":11500,"38330":11501,"38326":11502,"38335":11503,"38325":11504,"38333":11505,"38569":11506,"38612":11507,"38667":11508,"38674":11509,"38672":11510,"38809":11511,"38807":11512,"38804":11513,"38896":11514,"38904":11515,"38965":11516,"38959":11517,"38962":11518,"39204":11519,"39199":11520,"39207":11521,"39209":11522,"39326":11523,"39406":11524,"39404":11525,"39397":11526,"39396":11527,"39408":11528,"39395":11529,"39402":11530,"39401":11531,"39399":11532,"39609":11533,"39615":11534,"39604":11535,"39611":11536,"39670":11537,"39674":11538,"39673":11539,"39671":11540,"39731":11541,"39808":11542,"39813":11543,"39815":11544,"39804":11545,"39806":11546,"39803":11547,"39810":11548,"39827":11549,"39826":11550,"39824":11551,"39802":11552,"39829":11553,"39805":11554,"39816":11555,"40229":11556,"40215":11557,"40224":11558,"40222":11559,"40212":11560,"40233":11561,"40221":11562,"40216":11563,"40226":11564,"40208":11565,"40217":11566,"40223":11567,"40584":11568,"40582":11569,"40583":11570,"40622":11571,"40621":11572,"40661":11573,"40662":11574,"40698":11575,"40722":11576,"40765":11577,"20774":11578,"20773":11579,"20770":11580,"20772":11581,"20768":11582,"20777":11583,"21236":11584,"22163":11585,"22156":11586,"22157":11587,"22150":11588,"22148":11589,"22147":11590,"22142":11591,"22146":11592,"22143":11593,"22145":11594,"22742":11595,"22740":11596,"22735":11597,"22738":11598,"23341":11599,"23333":11600,"23346":11601,"23331":11602,"23340":11603,"23335":11604,"23334":11605,"23343":11606,"23342":11607,"23419":11608,"23537":11609,"23538":11610,"23991":11611,"24172":11612,"24170":11613,"24510":11614,"25027":11615,"25013":11616,"25020":11617,"25063":11618,"25056":11619,"25061":11620,"25060":11621,"25064":11622,"25054":11623,"25839":11624,"25833":11625,"25827":11626,"25835":11627,"25828":11628,"25832":11629,"25985":11630,"25984":11631,"26038":11632,"26074":11633,"26322":11634,"27277":11635,"27286":11636,"27265":11637,"27301":11638,"27273":11639,"27295":11640,"27291":11641,"27297":11642,"27294":11643,"27271":11644,"27283":11645,"27278":11646,"27285":11647,"27267":11648,"27304":11649,"27300":11650,"27281":11651,"27263":11652,"27302":11653,"27290":11654,"27269":11655,"27276":11656,"27282":11657,"27483":11658,"27565":11659,"27657":11660,"28620":11661,"28585":11662,"28660":11663,"28628":11664,"28643":11665,"28636":11666,"28653":11667,"28647":11668,"28646":11669,"28638":11670,"28658":11671,"28637":11672,"28642":11673,"28648":11674,"29153":11675,"29169":11676,"29160":11677,"29170":11678,"29156":11679,"29168":11680,"29154":11681,"29555":11682,"29550":11683,"29551":11684,"29847":11685,"29874":11686,"29867":11687,"29840":11688,"29866":11689,"29869":11690,"29873":11691,"29861":11692,"29871":11693,"29968":11694,"29969":11695,"29970":11696,"29967":11697,"30084":11698,"30275":11699,"30280":11700,"30281":11701,"30279":11702,"30372":11703,"30441":11704,"30645":11705,"30635":11706,"30642":11707,"30647":11708,"30646":11709,"30644":11710,"30641":11711,"30632":11712,"30704":11713,"30963":11714,"30973":11715,"30978":11716,"30971":11717,"30972":11718,"30975":11719,"30962":11720,"30981":11721,"30969":11722,"30974":11723,"30980":11724,"31147":11725,"31144":11726,"31324":11727,"31323":11728,"31318":11729,"31320":11730,"31316":11731,"31322":11732,"31422":11733,"31424":11734,"31425":11735,"31749":11736,"31759":11737,"31730":11738,"31744":11739,"31743":11740,"31739":11741,"31758":11742,"31732":11743,"31755":11744,"31731":11745,"31746":11746,"31753":11747,"31747":11748,"31745":11749,"31736":11750,"31741":11751,"31750":11752,"58176":11752,"31728":11753,"31729":11754,"31760":11755,"31754":11756,"31976":11757,"32301":11758,"32316":11759,"32322":11760,"32307":11761,"38984":11762,"32312":11763,"32298":11764,"32329":11765,"32320":11766,"32327":11767,"32297":11768,"32332":11769,"32304":11770,"32315":11771,"32310":11772,"32324":11773,"32314":11774,"32581":11775,"32639":11776,"32638":11777,"32637":11778,"32756":11779,"32754":11780,"32812":11781,"33211":11782,"33220":11783,"33228":11784,"33226":11785,"33221":11786,"33223":11787,"33212":11788,"33257":11789,"33371":11790,"33370":11791,"33372":11792,"34179":11793,"34176":11794,"34191":11795,"34215":11796,"34197":11797,"34208":11798,"34187":11799,"34211":11800,"34171":11801,"34212":11802,"34202":11803,"34206":11804,"34167":11805,"34172":11806,"34185":11807,"34209":11808,"34170":11809,"34168":11810,"34135":11811,"34190":11812,"34198":11813,"34182":11814,"34189":11815,"34201":11816,"34205":11817,"34177":11818,"34210":11819,"34178":11820,"34184":11821,"34181":11822,"34169":11823,"34166":11824,"34200":11825,"34192":11826,"34207":11827,"34408":11828,"34750":11829,"34730":11830,"34733":11831,"34757":11832,"34736":11833,"34732":11834,"34745":11835,"34741":11836,"34748":11837,"34734":11838,"34761":11839,"34755":11840,"34754":11841,"34764":11842,"34743":11843,"34735":11844,"34756":11845,"34762":11846,"34740":11847,"34742":11848,"34751":11849,"34744":11850,"34749":11851,"34782":11852,"34738":11853,"35125":11854,"35123":11855,"35132":11856,"35134":11857,"35137":11858,"35154":11859,"35127":11860,"35138":11861,"35245":11862,"35247":11863,"35246":11864,"35314":11865,"35315":11866,"35614":11867,"35608":11868,"35606":11869,"35601":11870,"35589":11871,"35595":11872,"35618":11873,"35599":11874,"35602":11875,"35605":11876,"35591":11877,"35597":11878,"35592":11879,"35590":11880,"35612":11881,"35603":11882,"35610":11883,"35919":11884,"35952":11885,"35954":11886,"35953":11887,"35951":11888,"35989":11889,"35988":11890,"36089":11891,"36207":11892,"36430":11893,"36429":11894,"36435":11895,"36432":11896,"36428":11897,"36423":11898,"36675":11899,"36672":11900,"36997":11901,"36990":11902,"37176":11903,"37274":11904,"37282":11905,"37275":11906,"37273":11907,"37279":11908,"37281":11909,"37277":11910,"37280":11911,"37793":11912,"37763":11913,"37807":11914,"37732":11915,"37718":11916,"37703":11917,"37756":11918,"37720":11919,"37724":11920,"37750":11921,"37705":11922,"37712":11923,"37713":11924,"37728":11925,"37741":11926,"37775":11927,"37708":11928,"37738":11929,"37753":11930,"37719":11931,"37717":11932,"37714":11933,"37711":11934,"37745":11935,"37751":11936,"37755":11937,"37729":11938,"37726":11939,"37731":11940,"37735":11941,"37710":11942,"37721":11943,"38343":11944,"38336":11945,"38345":11946,"38339":11947,"38341":11948,"38327":11949,"38574":11950,"38576":11951,"38572":11952,"38688":11953,"38687":11954,"38680":11955,"38685":11956,"38681":11957,"38810":11958,"38817":11959,"38812":11960,"38814":11961,"38813":11962,"38869":11963,"38868":11964,"38897":11965,"38977":11966,"38980":11967,"38986":11968,"38985":11969,"38981":11970,"38979":11971,"39205":11972,"39211":11973,"39212":11974,"39210":11975,"39219":11976,"39218":11977,"39215":11978,"39213":11979,"39217":11980,"39216":11981,"39320":11982,"39331":11983,"39329":11984,"39426":11985,"39418":11986,"39412":11987,"39415":11988,"39417":11989,"39416":11990,"39414":11991,"39419":11992,"39421":11993,"39422":11994,"39420":11995,"39427":11996,"39614":11997,"39678":11998,"39677":11999,"39681":12000,"39676":12001,"39752":12002,"39834":12003,"39848":12004,"39838":12005,"39835":12006,"39846":12007,"39841":12008,"39845":12009,"39844":12010,"39814":12011,"39842":12012,"39840":12013,"39855":12014,"40243":12015,"40257":12016,"40295":12017,"40246":12018,"40238":12019,"40239":12020,"40241":12021,"40248":12022,"40240":12023,"40261":12024,"40258":12025,"40259":12026,"40254":12027,"40247":12028,"40256":12029,"40253":12030,"32757":12031,"40237":12032,"40586":12033,"40585":12034,"40589":12035,"40624":12036,"40648":12037,"40666":12038,"40699":12039,"40703":12040,"40740":12041,"40739":12042,"40738":12043,"40788":12044,"12245":12045,"40864":12045,"20785":12046,"20781":12047,"20782":12048,"22168":12049,"22172":12050,"22167":12051,"22170":12052,"22173":12053,"22169":12054,"22896":12055,"23356":12056,"23657":12057,"23658":12058,"24000":12059,"24173":12060,"24174":12061,"25048":12062,"25055":12063,"25069":12064,"25070":12065,"25073":12066,"25066":12067,"25072":12068,"25067":12069,"25046":12070,"25065":12071,"25855":12072,"25860":12073,"25853":12074,"25848":12075,"25857":12076,"25859":12077,"25852":12078,"26004":12079,"26075":12080,"26330":12081,"26331":12082,"26328":12083,"27333":12084,"27321":12085,"27325":12086,"27361":12087,"27334":12088,"27322":12089,"27318":12090,"27319":12091,"27335":12092,"27316":12093,"27309":12094,"27486":12095,"27593":12096,"27659":12097,"28679":12098,"28684":12099,"28685":12100,"28673":12101,"28677":12102,"28692":12103,"28686":12104,"28671":12105,"28672":12106,"28667":12107,"28710":12108,"28668":12109,"28663":12110,"28682":12111,"29185":12112,"60224":12112,"29183":12113,"29177":12114,"29187":12115,"29181":12116,"29558":12117,"29880":12118,"29888":12119,"29877":12120,"29889":12121,"29886":12122,"29878":12123,"29883":12124,"29890":12125,"29972":12126,"29971":12127,"30300":12128,"30308":12129,"30297":12130,"30288":12131,"30291":12132,"30295":12133,"30298":12134,"30374":12135,"30397":12136,"30444":12137,"30658":12138,"30650":12139,"30988":12140,"30995":12141,"30996":12142,"30985":12143,"30992":12144,"30994":12145,"30993":12146,"31149":12147,"31148":12148,"31327":12149,"31772":12150,"31785":12151,"31769":12152,"31776":12153,"31775":12154,"31789":12155,"31773":12156,"31782":12157,"31784":12158,"31778":12159,"31781":12160,"31792":12161,"32348":12162,"32336":12163,"32342":12164,"32355":12165,"32344":12166,"32354":12167,"32351":12168,"32337":12169,"32352":12170,"32343":12171,"32339":12172,"32693":12173,"32691":12174,"32759":12175,"32760":12176,"32885":12177,"33233":12178,"33234":12179,"33232":12180,"33375":12181,"33374":12182,"34228":12183,"34246":12184,"34240":12185,"34243":12186,"34242":12187,"34227":12188,"34229":12189,"34237":12190,"34247":12191,"34244":12192,"34239":12193,"34251":12194,"34254":12195,"34248":12196,"34245":12197,"34225":12198,"34230":12199,"34258":12200,"34340":12201,"34232":12202,"34231":12203,"34238":12204,"34409":12205,"34791":12206,"34790":12207,"34786":12208,"34779":12209,"34795":12210,"34794":12211,"34789":12212,"34783":12213,"34803":12214,"34788":12215,"34772":12216,"34780":12217,"34771":12218,"34797":12219,"34776":12220,"34787":12221,"34775":12222,"34777":12223,"34817":12224,"34804":12225,"34792":12226,"34781":12227,"35155":12228,"35147":12229,"35151":12230,"35148":12231,"35142":12232,"35152":12233,"35153":12234,"35145":12235,"35626":12236,"35623":12237,"35619":12238,"35635":12239,"35632":12240,"35637":12241,"35655":12242,"35631":12243,"35644":12244,"35646":12245,"35633":12246,"35621":12247,"35639":12248,"35622":12249,"35638":12250,"35630":12251,"35620":12252,"35643":12253,"35645":12254,"35642":12255,"35906":12256,"35957":12257,"35993":12258,"35992":12259,"35991":12260,"36094":12261,"36100":12262,"36098":12263,"36096":12264,"36444":12265,"36450":12266,"36448":12267,"36439":12268,"36438":12269,"36446":12270,"36453":12271,"36455":12272,"36443":12273,"36442":12274,"36449":12275,"36445":12276,"36457":12277,"36436":12278,"36678":12279,"36679":12280,"36680":12281,"36683":12282,"37160":12283,"37178":12284,"37179":12285,"37182":12286,"37288":12287,"37285":12288,"37287":12289,"37295":12290,"37290":12291,"37813":12292,"37772":12293,"37778":12294,"37815":12295,"37787":12296,"37789":12297,"37769":12298,"37799":12299,"37774":12300,"37802":12301,"37790":12302,"37798":12303,"37781":12304,"37768":12305,"37785":12306,"37791":12307,"37760":12308,"37773":12309,"37809":12310,"37777":12311,"37810":12312,"37796":12313,"37800":12314,"37812":12315,"37795":12316,"38354":12317,"38355":12318,"38353":12319,"38579":12320,"38615":12321,"38618":12322,"24002":12323,"38623":12324,"38616":12325,"38621":12326,"38691":12327,"38690":12328,"38693":12329,"38828":12330,"38830":12331,"38824":12332,"38827":12333,"38820":12334,"38826":12335,"38818":12336,"38821":12337,"38871":12338,"38873":12339,"38870":12340,"38872":12341,"38906":12342,"38992":12343,"38993":12344,"38994":12345,"39096":12346,"39233":12347,"39228":12348,"39226":12349,"39439":12350,"39435":12351,"39433":12352,"39437":12353,"39428":12354,"39441":12355,"39434":12356,"39429":12357,"39431":12358,"39430":12359,"39616":12360,"39644":12361,"39688":12362,"39684":12363,"39685":12364,"39721":12365,"39733":12366,"39754":12367,"39756":12368,"39755":12369,"39879":12370,"39878":12371,"39875":12372,"39871":12373,"39873":12374,"39861":12375,"39864":12376,"39891":12377,"39862":12378,"39876":12379,"39865":12380,"39869":12381,"40284":12382,"40275":12383,"40271":12384,"40266":12385,"40283":12386,"40267":12387,"40281":12388,"40278":12389,"40268":12390,"40279":12391,"40274":12392,"40276":12393,"40287":12394,"40280":12395,"40282":12396,"40590":12397,"40588":12398,"40671":12399,"40705":12400,"40704":12401,"40726":12402,"58693":12402,"40741":12403,"40747":12404,"40746":12405,"40745":12406,"40744":12407,"40780":12408,"40789":12409,"20788":12410,"20789":12411,"21142":12412,"21239":12413,"21428":12414,"22187":12415,"22189":12416,"22182":12417,"22183":12418,"22186":12419,"22188":12420,"22746":12421,"22749":12422,"22747":12423,"22802":12424,"23357":12425,"23358":12426,"23359":12427,"24003":12428,"24176":12429,"24511":12430,"25083":12431,"25863":12432,"25872":12433,"25869":12434,"25865":12435,"25868":12436,"25870":12437,"25988":12438,"26078":12439,"26077":12440,"26334":12441,"27367":12442,"27360":12443,"27340":12444,"27345":12445,"27353":12446,"27339":12447,"27359":12448,"27356":12449,"27344":12450,"27371":12451,"27343":12452,"27341":12453,"27358":12454,"27488":12455,"27568":12456,"27660":12457,"28697":12458,"28711":12459,"28704":12460,"28694":12461,"28715":12462,"28705":12463,"28706":12464,"28707":12465,"28713":12466,"28695":12467,"28708":12468,"28700":12469,"29196":12470,"29194":12471,"29191":12472,"29186":12473,"29189":12474,"29349":12475,"29350":12476,"29348":12477,"29347":12478,"29345":12479,"29899":12480,"29893":12481,"29879":12482,"29891":12483,"29974":12484,"30304":12485,"30665":12486,"30666":12487,"30660":12488,"30705":12489,"31005":12490,"31003":12491,"31009":12492,"31004":12493,"30999":12494,"31006":12495,"31152":12496,"31335":12497,"31336":12498,"31795":12499,"31804":12500,"31801":12501,"31788":12502,"31803":12503,"31980":12504,"31978":12505,"32374":12506,"32373":12507,"32376":12508,"32368":12509,"32375":12510,"32367":12511,"32378":12512,"32370":12513,"32372":12514,"32360":12515,"32587":12516,"32586":12517,"32643":12518,"32646":12519,"32695":12520,"32765":12521,"32766":12522,"32888":12523,"33239":12524,"33237":12525,"33291":12526,"33380":12527,"33377":12528,"33379":12529,"34283":12530,"34289":12531,"34285":12532,"34265":12533,"34273":12534,"34280":12535,"34266":12536,"34263":12537,"34284":12538,"34290":12539,"34296":12540,"34264":12541,"34271":12542,"34275":12543,"34268":12544,"34257":12545,"34288":12546,"34278":12547,"34287":12548,"34270":12549,"34274":12550,"34816":12551,"34810":12552,"34819":12553,"34806":12554,"34807":12555,"34825":12556,"34828":12557,"34827":12558,"34822":12559,"34812":12560,"34824":12561,"34815":12562,"34826":12563,"34818":12564,"35170":12565,"35162":12566,"35163":12567,"35159":12568,"35169":12569,"35164":12570,"35160":12571,"35165":12572,"35161":12573,"35208":12574,"35255":12575,"35254":12576,"35318":12577,"35664":12578,"35656":12579,"35658":12580,"35648":12581,"35667":12582,"35670":12583,"35668":12584,"35659":12585,"35669":12586,"35665":12587,"35650":12588,"35666":12589,"35671":12590,"35907":12591,"35959":12592,"35958":12593,"35994":12594,"36102":12595,"36103":12596,"36105":12597,"36268":12598,"36266":12599,"36269":12600,"36267":12601,"36461":12602,"36472":12603,"36467":12604,"36458":12605,"36463":12606,"36475":12607,"36546":12608,"36690":12609,"36689":12610,"36687":12611,"36688":12612,"36691":12613,"36788":12614,"37184":12615,"37183":12616,"37296":12617,"37293":12618,"37854":12619,"37831":12620,"37839":12621,"37826":12622,"37850":12623,"37840":12624,"37881":12625,"37868":12626,"37836":12627,"37849":12628,"37801":12629,"37862":12630,"37834":12631,"37844":12632,"37870":12633,"37859":12634,"37845":12635,"37828":12636,"37838":12637,"37824":12638,"37842":12639,"37797":12640,"37863":12641,"38269":12642,"38362":12643,"38363":12644,"38625":12645,"38697":12646,"38699":12647,"38700":12648,"38696":12649,"38694":12650,"38835":12651,"38839":12652,"38838":12653,"38877":12654,"38878":12655,"38879":12656,"39004":12657,"39001":12658,"39005":12659,"38999":12660,"39103":12661,"39101":12662,"39099":12663,"39102":12664,"39240":12665,"39239":12666,"39235":12667,"39334":12668,"39335":12669,"39450":12670,"39445":12671,"39461":12672,"39453":12673,"39460":12674,"39451":12675,"39458":12676,"39456":12677,"39463":12678,"39459":12679,"39454":12680,"39452":12681,"39444":12682,"39618":12683,"39691":12684,"39690":12685,"39694":12686,"39692":12687,"39735":12688,"39914":12689,"39915":12690,"39904":12691,"39902":12692,"39908":12693,"39910":12694,"39906":12695,"39920":12696,"39892":12697,"39895":12698,"39916":12699,"39900":12700,"39897":12701,"39909":12702,"39893":12703,"39905":12704,"39898":12705,"40311":12706,"40321":12707,"40330":12708,"40324":12709,"40328":12710,"40305":12711,"40320":12712,"40312":12713,"40326":12714,"40331":12715,"40332":12716,"40317":12717,"40299":12718,"40308":12719,"40309":12720,"40304":12721,"40297":12722,"40325":12723,"40307":12724,"40315":12725,"40322":12726,"40303":12727,"40313":12728,"40319":12729,"40327":12730,"40296":12731,"40596":12732,"40593":12733,"40640":12734,"40700":12735,"40749":12736,"40768":12737,"40769":12738,"40781":12739,"40790":12740,"40791":12741,"40792":12742,"21303":12743,"22194":12744,"22197":12745,"22195":12746,"22755":12747,"23365":12748,"24006":12749,"24007":12750,"24302":12751,"24303":12752,"24512":12753,"24513":12754,"25081":12755,"25879":12756,"25878":12757,"25877":12758,"25875":12759,"26079":12760,"26344":12761,"26339":12762,"26340":12763,"27379":12764,"27376":12765,"27370":12766,"27368":12767,"27385":12768,"27377":12769,"27374":12770,"27375":12771,"28732":12772,"28725":12773,"28719":12774,"28727":12775,"28724":12776,"28721":12777,"28738":12778,"28728":12779,"28735":12780,"28730":12781,"28729":12782,"28714":12783,"28736":12784,"28731":12785,"28723":12786,"28737":12787,"29203":12788,"29204":12789,"29352":12790,"29565":12791,"29564":12792,"29882":12793,"30379":12794,"30378":12795,"30398":12796,"30445":12797,"30668":12798,"30670":12799,"30671":12800,"30669":12801,"30706":12802,"31013":12803,"31011":12804,"31015":12805,"31016":12806,"31012":12807,"31017":12808,"31154":12809,"31342":12810,"31340":12811,"31341":12812,"31479":12813,"31817":12814,"31816":12815,"31818":12816,"31815":12817,"31813":12818,"31982":12819,"32379":12820,"32382":12821,"32385":12822,"32384":12823,"32698":12824,"32767":12825,"32889":12826,"33243":12827,"33241":12828,"33384":12829,"33385":12830,"34338":12831,"34303":12832,"34305":12833,"34302":12834,"34331":12835,"34304":12836,"34294":12837,"34308":12838,"34313":12839,"34309":12840,"34316":12841,"34301":12842,"34841":12843,"34832":12844,"34833":12845,"34839":12846,"34835":12847,"34838":12848,"35171":12849,"35174":12850,"35257":12851,"35319":12852,"35680":12853,"35690":12854,"35677":12855,"35688":12856,"35683":12857,"35685":12858,"35687":12859,"35693":12860,"36270":12861,"36486":12862,"36488":12863,"36484":12864,"36697":12865,"36694":12866,"36695":12867,"36693":12868,"36696":12869,"36698":12870,"37005":12871,"37187":12872,"37185":12873,"37303":12874,"37301":12875,"37298":12876,"37299":12877,"37899":12878,"37907":12879,"37883":12880,"37920":12881,"37903":12882,"37908":12883,"37886":12884,"37909":12885,"37904":12886,"37928":12887,"37913":12888,"37901":12889,"37877":12890,"37888":12891,"37879":12892,"37895":12893,"37902":12894,"37910":12895,"37906":12896,"37882":12897,"37897":12898,"37880":12899,"37948":12900,"37898":12901,"37887":12902,"37884":12903,"37900":12904,"37878":12905,"37905":12906,"37894":12907,"38366":12908,"38368":12909,"38367":12910,"38702":12911,"38703":12912,"38841":12913,"38843":12914,"38909":12915,"38910":12916,"39008":12917,"39010":12918,"39011":12919,"39007":12920,"39105":12921,"39106":12922,"39248":12923,"39246":12924,"39257":12925,"39244":12926,"39243":12927,"39251":12928,"39474":12929,"39476":12930,"39473":12931,"39468":12932,"39466":12933,"39478":12934,"39465":12935,"39470":12936,"39480":12937,"39469":12938,"39623":12939,"39626":12940,"39622":12941,"39696":12942,"39698":12943,"39697":12944,"39947":12945,"39944":12946,"39927":12947,"39941":12948,"39954":12949,"39928":12950,"40000":12951,"39943":12952,"39950":12953,"39942":12954,"39959":12955,"39956":12956,"39945":12957,"40351":12958,"40345":12959,"40356":12960,"40349":12961,"40338":12962,"40344":12963,"40336":12964,"40347":12965,"40352":12966,"40340":12967,"40348":12968,"40362":12969,"40343":12970,"40353":12971,"40346":12972,"40354":12973,"40360":12974,"40350":12975,"40355":12976,"40383":12977,"40361":12978,"40342":12979,"40358":12980,"40359":12981,"40601":12982,"40603":12983,"40602":12984,"40677":12985,"40676":12986,"40679":12987,"40678":12988,"40752":12989,"40750":12990,"40795":12991,"40800":12992,"40798":12993,"40797":12994,"40793":12995,"40849":12996,"20794":12997,"20793":12998,"21144":12999,"21143":13000,"22211":13001,"22205":13002,"22206":13003,"23368":13004,"23367":13005,"24011":13006,"24015":13007,"24305":13008,"25085":13009,"25883":13010,"27394":13011,"27388":13012,"27395":13013,"27384":13014,"27392":13015,"28739":13016,"28740":13017,"28746":13018,"28744":13019,"28745":13020,"28741":13021,"28742":13022,"29213":13023,"29210":13024,"29209":13025,"29566":13026,"29975":13027,"30314":13028,"30672":13029,"31021":13030,"31025":13031,"31023":13032,"31828":13033,"31827":13034,"31986":13035,"32394":13036,"60229":13037,"32391":13037,"32392":13038,"32395":13039,"32390":13040,"32397":13041,"32589":13042,"32699":13043,"32816":13044,"33245":13045,"34328":13046,"34346":13047,"34342":13048,"34335":13049,"34339":13050,"34332":13051,"34329":13052,"34343":13053,"34350":13054,"34337":13055,"34336":13056,"34345":13057,"34334":13058,"34341":13059,"34857":13060,"34845":13061,"34843":13062,"34848":13063,"34852":13064,"34844":13065,"34859":13066,"34890":13067,"35181":13068,"35177":13069,"35182":13070,"35179":13071,"35322":13072,"35705":13073,"35704":13074,"35653":13075,"35706":13076,"35707":13077,"36112":13078,"36116":13079,"36271":13080,"36494":13081,"36492":13082,"36702":13083,"36699":13084,"36701":13085,"37190":13086,"37188":13087,"37189":13088,"37305":13089,"37951":13090,"37947":13091,"37942":13092,"37929":13093,"37949":13094,"37936":13095,"37945":13096,"37930":13097,"37943":13098,"37932":13099,"37952":13100,"37937":13101,"38373":13102,"38372":13103,"38371":13104,"38709":13105,"38714":13106,"38847":13107,"38881":13108,"39012":13109,"39113":13110,"39110":13111,"39104":13112,"39256":13113,"39254":13114,"39481":13115,"39485":13116,"39494":13117,"39492":13118,"39490":13119,"39489":13120,"39482":13121,"39487":13122,"39629":13123,"39701":13124,"39703":13125,"39704":13126,"39702":13127,"39738":13128,"39762":13129,"39979":13130,"39965":13131,"39964":13132,"39980":13133,"39971":13134,"39976":13135,"39977":13136,"39972":13137,"39969":13138,"40375":13139,"40374":13140,"40380":13141,"40385":13142,"40391":13143,"40394":13144,"40399":13145,"40382":13146,"40389":13147,"40387":13148,"40379":13149,"40373":13150,"40398":13151,"40377":13152,"40378":13153,"40364":13154,"40392":13155,"40369":13156,"40365":13157,"40396":13158,"40371":13159,"40397":13160,"40370":13161,"40570":13162,"40604":13163,"40683":13164,"40686":13165,"40685":13166,"40731":13167,"40728":13168,"40730":13169,"40753":13170,"40782":13171,"40805":13172,"40804":13173,"40850":13174,"20153":13175,"22214":13176,"22213":13177,"22219":13178,"22897":13179,"23371":13180,"23372":13181,"24021":13182,"24017":13183,"24306":13184,"25889":13185,"25888":13186,"25894":13187,"25890":13188,"27403":13189,"27400":13190,"27401":13191,"27661":13192,"28757":13193,"28758":13194,"28759":13195,"28754":13196,"29214":13197,"29215":13198,"29353":13199,"29567":13200,"29912":13201,"29909":13202,"29913":13203,"29911":13204,"30317":13205,"30381":13206,"31029":13207,"31156":13208,"31344":13209,"31345":13210,"31831":13211,"31836":13212,"31833":13213,"31835":13214,"31834":13215,"31988":13216,"31985":13217,"32401":13218,"32591":13219,"32647":13220,"33246":13221,"33387":13222,"34356":13223,"34357":13224,"34355":13225,"34348":13226,"34354":13227,"34358":13228,"34860":13229,"34856":13230,"34854":13231,"34858":13232,"34853":13233,"35185":13234,"35263":13235,"35262":13236,"35323":13237,"35710":13238,"35716":13239,"35714":13240,"35718":13241,"35717":13242,"35711":13243,"36117":13244,"36501":13245,"36500":13246,"36506":13247,"36498":13248,"36496":13249,"36502":13250,"36503":13251,"36704":13252,"36706":13253,"37191":13254,"37964":13255,"37968":13256,"37962":13257,"37963":13258,"37967":13259,"37959":13260,"37957":13261,"37960":13262,"37961":13263,"37958":13264,"38719":13265,"38883":13266,"39018":13267,"39017":13268,"39115":13269,"39252":13270,"39259":13271,"39502":13272,"39507":13273,"39508":13274,"39500":13275,"39503":13276,"39496":13277,"39498":13278,"39497":13279,"39506":13280,"39504":13281,"39632":13282,"39705":13283,"39723":13284,"39739":13285,"39766":13286,"39765":13287,"40006":13288,"40008":13289,"39999":13290,"40004":13291,"39993":13292,"39987":13293,"40001":13294,"39996":13295,"39991":13296,"39988":13297,"39986":13298,"39997":13299,"39990":13300,"40411":13301,"40402":13302,"40414":13303,"40410":13304,"40395":13305,"40400":13306,"40412":13307,"40401":13308,"40415":13309,"40425":13310,"40409":13311,"40408":13312,"40406":13313,"40437":13314,"40405":13315,"40413":13316,"40630":13317,"40688":13318,"40757":13319,"40755":13320,"40754":13321,"40770":13322,"40811":13323,"40853":13324,"40866":13325,"20797":13326,"21145":13327,"22760":13328,"22759":13329,"22898":13330,"23373":13331,"24024":13332,"34863":13333,"24399":13334,"25089":13335,"25091":13336,"25092":13337,"25897":13338,"25893":13339,"26006":13340,"26347":13341,"27409":13342,"27410":13343,"27407":13344,"27594":13345,"28763":13346,"28762":13347,"29218":13348,"29570":13349,"29569":13350,"29571":13351,"30320":13352,"30676":13353,"31847":13354,"31846":13355,"32405":13356,"33388":13357,"34362":13358,"34368":13359,"34361":13360,"34364":13361,"34353":13362,"34363":13363,"34366":13364,"34864":13365,"34866":13366,"34862":13367,"34867":13368,"35190":13369,"35188":13370,"35187":13371,"35326":13372,"35724":13373,"35726":13374,"35723":13375,"35720":13376,"35909":13377,"36121":13378,"36504":13379,"36708":13380,"36707":13381,"37308":13382,"37986":13383,"37973":13384,"37981":13385,"37975":13386,"37982":13387,"38852":13388,"38853":13389,"38912":13390,"39510":13391,"39513":13392,"39710":13393,"39711":13394,"39712":13395,"40018":13396,"40024":13397,"40016":13398,"40010":13399,"40013":13400,"40011":13401,"40021":13402,"40025":13403,"40012":13404,"40014":13405,"40443":13406,"40439":13407,"40431":13408,"40419":13409,"40427":13410,"40440":13411,"40420":13412,"40438":13413,"40417":13414,"40430":13415,"40422":13416,"40434":13417,"40432":13418,"60370":13418,"40418":13419,"40428":13420,"40436":13421,"40435":13422,"40424":13423,"40429":13424,"40642":13425,"40656":13426,"40690":13427,"40691":13428,"40710":13429,"40732":13430,"40760":13431,"40759":13432,"40758":13433,"40771":13434,"40783":13435,"40817":13436,"40816":13437,"40814":13438,"40815":13439,"22227":13440,"22221":13441,"23374":13442,"23661":13443,"25901":13444,"26349":13445,"26350":13446,"27411":13447,"28767":13448,"28769":13449,"28765":13450,"28768":13451,"29219":13452,"29915":13453,"29925":13454,"30677":13455,"31032":13456,"31159":13457,"31158":13458,"31850":13459,"32407":13460,"32649":13461,"33389":13462,"34371":13463,"34872":13464,"34871":13465,"34869":13466,"34891":13467,"35732":13468,"35733":13469,"36510":13470,"36511":13471,"36512":13472,"36509":13473,"37310":13474,"37309":13475,"37314":13476,"37995":13477,"37992":13478,"37993":13479,"38629":13480,"38726":13481,"38723":13482,"38727":13483,"38855":13484,"38885":13485,"39518":13486,"39637":13487,"39769":13488,"40035":13489,"40039":13490,"40038":13491,"40034":13492,"40030":13493,"40032":13494,"40450":13495,"40446":13496,"40455":13497,"40451":13498,"40454":13499,"40453":13500,"40448":13501,"40449":13502,"40457":13503,"40447":13504,"40445":13505,"40452":13506,"40608":13507,"40734":13508,"40774":13509,"40820":13510,"40821":13511,"40822":13512,"22228":13513,"25902":13514,"26040":13515,"27416":13516,"27417":13517,"27415":13518,"27418":13519,"28770":13520,"29222":13521,"29354":13522,"30680":13523,"30681":13524,"31033":13525,"31849":13526,"31851":13527,"31990":13528,"32410":13529,"32408":13530,"32411":13531,"32409":13532,"33248":13533,"33249":13534,"34374":13535,"34375":13536,"34376":13537,"35193":13538,"35194":13539,"35196":13540,"35195":13541,"35327":13542,"35736":13543,"35737":13544,"36517":13545,"36516":13546,"36515":13547,"37998":13548,"37997":13549,"37999":13550,"38001":13551,"38003":13552,"38729":13553,"39026":13554,"39263":13555,"40040":13556,"40046":13557,"40045":13558,"40459":13559,"40461":13560,"40464":13561,"40463":13562,"40466":13563,"40465":13564,"40609":13565,"40693":13566,"40713":13567,"40775":13568,"40824":13569,"40827":13570,"40826":13571,"40825":13572,"22302":13573,"28774":13574,"31855":13575,"34876":13576,"36274":13577,"36518":13578,"37315":13579,"38004":13580,"38008":13581,"38006":13582,"38005":13583,"39520":13584,"39726":13585,"60830":13585,"40052":13586,"40051":13587,"40049":13588,"40053":13589,"40468":13590,"40467":13591,"40694":13592,"40714":13593,"40868":13594,"28776":13595,"28773":13596,"31991":13597,"34410":13598,"34878":13599,"34877":13600,"34879":13601,"35742":13602,"35996":13603,"36521":13604,"36553":13605,"38731":13606,"39027":13607,"39028":13608,"39116":13609,"39265":13610,"39339":13611,"39524":13612,"39526":13613,"39527":13614,"39716":13615,"40469":13616,"40471":13617,"40776":13618,"25095":13619,"27422":13620,"29223":13621,"34380":13622,"36520":13623,"38018":13624,"38016":13625,"38017":13626,"39529":13627,"39528":13628,"40473":13629,"34379":13630,"35743":13631,"38019":13632,"40057":13633,"40631":13634,"30325":13635,"39531":13636,"40058":13637,"40477":13638,"28777":13639,"28778":13640,"29225":13641,"40612":13642,"40830":13643,"40777":13644,"40856":13645,"65049":13646,"65075":13743,"9588":13744,"65076":13745,"65103":13746,"168":13747,"776":13747,"63208":13747,"710":13748,"65342":13748,"63209":13748,"12541":13749,"63210":13749,"12542":13750,"63211":13750,"12445":13751,"63212":13751,"12446":13752,"63213":13752,"12293":13754,"63216":13754,"12294":13755,"63217":13755,"12295":13756,"63218":13756,"12540":13757,"63219":13757,"65339":13758,"63220":13758,"65341":13759,"63221":13759,"10045":13760,"63222":13760,"12353":13761,"63223":13761,"12354":13762,"63224":13762,"12355":13763,"63225":13763,"12356":13764,"63226":13764,"12357":13765,"63227":13765,"12358":13766,"63228":13766,"12359":13767,"63229":13767,"12360":13768,"63230":13768,"12361":13769,"63231":13769,"12362":13770,"63232":13770,"12363":13771,"63233":13771,"12364":13772,"63234":13772,"12365":13773,"63235":13773,"12366":13774,"63236":13774,"12367":13775,"63237":13775,"12368":13776,"63238":13776,"12369":13777,"63239":13777,"12370":13778,"63240":13778,"12371":13779,"63241":13779,"12372":13780,"63242":13780,"12373":13781,"63243":13781,"12374":13782,"63244":13782,"12375":13783,"63245":13783,"12376":13784,"63246":13784,"12377":13785,"63247":13785,"12378":13786,"63248":13786,"12379":13787,"63249":13787,"12380":13788,"63250":13788,"12381":13789,"63251":13789,"12382":13790,"63252":13790,"12383":13791,"63253":13791,"12384":13792,"63254":13792,"12385":13793,"63255":13793,"12386":13794,"63256":13794,"12387":13795,"63257":13795,"12388":13796,"63258":13796,"12389":13797,"63259":13797,"12390":13798,"63260":13798,"12391":13799,"63261":13799,"12392":13800,"63262":13800,"12393":13801,"63263":13801,"12394":13802,"63264":13802,"12395":13803,"63265":13803,"12396":13804,"63266":13804,"12397":13805,"63267":13805,"12398":13806,"63268":13806,"12399":13807,"63269":13807,"12400":13808,"63270":13808,"12401":13809,"63271":13809,"12402":13810,"63272":13810,"12403":13811,"63273":13811,"12404":13812,"63274":13812,"12405":13813,"63275":13813,"12406":13814,"63276":13814,"12407":13815,"63277":13815,"12408":13816,"63278":13816,"12409":13817,"63279":13817,"12410":13818,"63280":13818,"12411":13819,"63281":13819,"12412":13820,"63282":13820,"12413":13821,"63283":13821,"12414":13822,"63284":13822,"12415":13823,"63285":13823,"12416":13824,"63286":13824,"12417":13825,"63287":13825,"12418":13826,"63288":13826,"12419":13827,"63289":13827,"12420":13828,"63290":13828,"12421":13829,"63291":13829,"12422":13830,"63292":13830,"12423":13831,"63293":13831,"12424":13832,"63294":13832,"12425":13833,"63295":13833,"12426":13834,"63296":13834,"12427":13835,"63297":13835,"12428":13836,"63298":13836,"12429":13837,"63299":13837,"12430":13838,"63300":13838,"12431":13839,"63301":13839,"12432":13840,"63302":13840,"12433":13841,"63303":13841,"12434":13842,"63304":13842,"12435":13843,"63305":13843,"12449":13844,"63306":13844,"12450":13845,"63307":13845,"12451":13846,"63308":13846,"12452":13847,"63309":13847,"12453":13848,"63310":13848,"12454":13849,"63311":13849,"12455":13850,"63312":13850,"12456":13851,"63313":13851,"12457":13852,"63314":13852,"12458":13853,"63315":13853,"12459":13854,"63316":13854,"12460":13855,"63317":13855,"12461":13856,"63318":13856,"12462":13857,"63319":13857,"12463":13858,"63320":13858,"12464":13859,"63321":13859,"12465":13860,"63322":13860,"12466":13861,"63323":13861,"12467":13862,"63324":13862,"12468":13863,"63325":13863,"12469":13864,"63326":13864,"12470":13865,"63327":13865,"12471":13866,"63328":13866,"12472":13867,"63329":13867,"12473":13868,"63330":13868,"12474":13869,"63331":13869,"12475":13870,"63332":13870,"12476":13871,"63333":13871,"12477":13872,"63334":13872,"12478":13873,"63335":13873,"12479":13874,"63336":13874,"12480":13875,"63337":13875,"12481":13876,"63338":13876,"12482":13877,"63339":13877,"12483":13878,"63340":13878,"12484":13879,"63341":13879,"12485":13880,"63342":13880,"12486":13881,"63343":13881,"12487":13882,"63344":13882,"12488":13883,"63345":13883,"12489":13884,"63346":13884,"12490":13885,"63347":13885,"12491":13886,"63348":13886,"12492":13887,"63349":13887,"12493":13888,"63350":13888,"12494":13889,"63351":13889,"12495":13890,"63352":13890,"12496":13891,"63353":13891,"12497":13892,"63354":13892,"12498":13893,"63355":13893,"12499":13894,"63356":13894,"12500":13895,"63357":13895,"12501":13896,"63358":13896,"12502":13897,"63359":13897,"12503":13898,"63360":13898,"12504":13899,"63361":13899,"12505":13900,"63362":13900,"12506":13901,"63363":13901,"12507":13902,"63364":13902,"12508":13903,"63365":13903,"12509":13904,"63366":13904,"12510":13905,"63367":13905,"12511":13906,"63368":13906,"12512":13907,"63369":13907,"12513":13908,"63370":13908,"12514":13909,"63371":13909,"12515":13910,"63372":13910,"12516":13911,"63373":13911,"12517":13912,"63374":13912,"12518":13913,"63375":13913,"12519":13914,"63376":13914,"12520":13915,"63377":13915,"12521":13916,"63378":13916,"12522":13917,"63379":13917,"12523":13918,"63380":13918,"12524":13919,"63381":13919,"12525":13920,"63382":13920,"12526":13921,"63383":13921,"12527":13922,"63384":13922,"12528":13923,"63385":13923,"12529":13924,"63386":13924,"12530":13925,"63387":13925,"12531":13926,"63388":13926,"12532":13927,"63389":13927,"12533":13928,"63390":13928,"12534":13929,"63391":13929,"1040":13930,"63392":13930,"1041":13931,"63393":13931,"1042":13932,"63394":13932,"1043":13933,"63395":13933,"1044":13934,"63396":13934,"1045":13935,"63397":13935,"1025":13936,"63398":13936,"1046":13937,"63399":13937,"1047":13938,"63400":13938,"1048":13939,"63401":13939,"1049":13940,"63402":13940,"1050":13941,"63403":13941,"1051":13942,"63404":13942,"1052":13943,"63405":13943,"1053":13944,"63406":13944,"1054":13945,"63407":13945,"1055":13946,"63408":13946,"1056":13947,"63409":13947,"1057":13948,"63410":13948,"1058":13949,"63411":13949,"1059":13950,"63412":13950,"1060":13951,"63413":13951,"1061":13952,"63414":13952,"1062":13953,"63415":13953,"1063":13954,"63416":13954,"1064":13955,"63417":13955,"1065":13956,"63418":13956,"1066":13957,"63419":13957,"1067":13958,"63420":13958,"1068":13959,"63421":13959,"1069":13960,"63422":13960,"1070":13961,"63423":13961,"1071":13962,"63424":13962,"1072":13963,"63425":13963,"1073":13964,"63426":13964,"1074":13965,"63427":13965,"1075":13966,"63428":13966,"1076":13967,"63429":13967,"1077":13968,"63430":13968,"1105":13969,"63431":13969,"1078":13970,"63432":13970,"1079":13971,"63433":13971,"1080":13972,"63434":13972,"1081":13973,"63435":13973,"1082":13974,"63436":13974,"1083":13975,"63437":13975,"1084":13976,"63438":13976,"1085":13977,"63439":13977,"1086":13978,"63440":13978,"1087":13979,"63441":13979,"1088":13980,"63442":13980,"1089":13981,"63443":13981,"1090":13982,"63444":13982,"1091":13983,"63445":13983,"1092":13984,"63446":13984,"1093":13985,"63447":13985,"1094":13986,"63448":13986,"1095":13987,"63449":13987,"1096":13988,"63450":13988,"1097":13989,"63451":13989,"1098":13990,"63452":13990,"1099":13991,"63453":13991,"1100":13992,"63454":13992,"1101":13993,"63455":13993,"1102":13994,"63456":13994,"1103":13995,"63457":13995,"8679":13996,"63458":13996,"8632":13997,"63459":13997,"8633":13998,"63460":13998,"12751":13999,"20033":13999,"63461":13999,"131276":14000,"63462":14000,"20058":14001,"63463":14001,"131210":14002,"63464":14002,"20994":14003,"63465":14003,"17553":14004,"63466":14004,"40880":14005,"63467":14005,"20872":14006,"63468":14006,"13853":14007,"40881":14007,"63469":14007,"161287":14008,"63470":14008,"172":14049,"65506":14049,"63511":14049,"65508":14050,"63512":14050,"65287":14051,"63513":14051,"65282":14052,"63514":14052,"12849":14053,"63515":14053,"8470":14054,"63516":14054,"8481":14055,"63517":14055,"30849":14056,"37561":14057,"58501":14057,"35023":14058,"22715":14059,"24658":14060,"31911":14061,"23290":14062,"9556":14063,"9574":14064,"9559":14065,"9568":14066,"9580":14067,"9571":14068,"9562":14069,"9577":14070,"9565":14071,"9554":14072,"9572":14073,"9557":14074,"9560":14078,"9575":14079,"9563":14080,"9555":14081,"9573":14082,"9558":14083,"9567":14084,"9579":14085,"9570":14086,"9561":14087,"9576":14088,"9564":14089,"9553":14090,"9619":14096,"65517":14096,"65040":14099,"65041":14100,"65042":14101,"65044":14103,"65043":14104,"65046":14105,"65045":14106,"147159":14123,"58129":14123,"22462":14124,"58130":14124,"159443":14125,"58131":14125,"28990":14126,"58132":14126,"153568":14127,"58133":14127,"27042":14128,"58135":14128,"166889":14129,"58136":14129,"23412":14130,"58137":14130,"31305":14131,"58138":14131,"153825":14132,"58139":14132,"169177":14133,"58140":14133,"31333":14134,"58141":14134,"31357":14135,"58142":14135,"154028":14136,"58143":14136,"31419":14137,"58144":14137,"31408":14138,"58145":14138,"31426":14139,"58146":14139,"31427":14140,"58147":14140,"29137":14141,"58148":14141,"156813":14142,"58149":14142,"16842":14143,"58150":14143,"31450":14144,"58151":14144,"31453":14145,"58152":14145,"31466":14146,"58153":14146,"16879":14147,"58154":14147,"21682":14148,"58155":14148,"154625":14149,"58156":14149,"31499":14150,"58157":14150,"31573":14151,"58158":14151,"31529":14152,"58159":14152,"152334":14153,"58160":14153,"154878":14154,"58161":14154,"31650":14155,"58162":14155,"31599":14156,"58163":14156,"33692":14157,"58164":14157,"154548":14158,"58165":14158,"158847":14159,"58166":14159,"31696":14160,"58167":14160,"33825":14161,"58168":14161,"31634":14162,"58169":14162,"58171":14164,"154912":14164,"33938":14166,"58174":14166,"31738":14167,"58175":14167,"31797":14169,"58177":14169,"154817":14170,"58178":14170,"31812":14171,"58179":14171,"31875":14172,"58180":14172,"149634":14173,"58181":14173,"31910":14174,"58182":14174,"148856":14175,"58184":14175,"31945":14176,"58185":14176,"31943":14177,"58186":14177,"31974":14178,"58187":14178,"31987":14180,"58189":14180,"31989":14181,"58190":14181,"32359":14182,"58192":14182,"17693":14183,"58193":14183,"159300":14184,"58194":14184,"32093":14185,"58195":14185,"159446":14186,"58196":14186,"32137":14187,"58198":14187,"32171":14188,"58199":14188,"28981":14189,"58200":14189,"32179":14190,"58201":14190,"32214":14191,"147543":14192,"58203":14192,"155689":14193,"58204":14193,"32228":14194,"58205":14194,"15635":14195,"58206":14195,"32245":14196,"58207":14196,"137209":14197,"58208":14197,"32229":14198,"58209":14198,"164717":14199,"58210":14199,"155937":14201,"58212":14201,"155994":14202,"58213":14202,"32366":14203,"58214":14203,"17195":14205,"58216":14205,"37996":14206,"58217":14206,"32295":14207,"58218":14207,"32576":14208,"58219":14208,"32577":14209,"58220":14209,"32583":14210,"58221":14210,"31030":14211,"58222":14211,"156368":14212,"58223":14212,"39393":14213,"58224":14213,"32663":14214,"58225":14214,"156497":14215,"58226":14215,"32675":14216,"58227":14216,"136801":14217,"58228":14217,"131176":14218,"58229":14218,"17756":14219,"58230":14219,"145254":14220,"58231":14220,"164666":14221,"58233":14221,"32762":14222,"58234":14222,"156809":14223,"58235":14223,"64091":14224,"32776":14225,"58237":14225,"32797":14226,"58238":14226,"32815":14228,"58240":14228,"172167":14229,"58241":14229,"158915":14230,"58242":14230,"32827":14231,"58243":14231,"32828":14232,"58244":14232,"32865":14233,"58245":14233,"141076":14234,"58246":14234,"18825":14235,"58247":14235,"157222":14236,"58248":14236,"146915":14237,"58249":14237,"157416":14238,"58250":14238,"26405":14239,"58251":14239,"32935":14240,"58252":14240,"166472":14241,"58253":14241,"33031":14242,"58254":14242,"33050":14243,"58255":14243,"22704":14244,"58256":14244,"141046":14245,"58257":14245,"27775":14246,"58258":14246,"156824":14247,"58259":14247,"25831":14248,"58261":14248,"136330":14249,"58262":14249,"33304":14250,"58263":14250,"137310":14251,"58264":14251,"27219":14252,"58265":14252,"150117":14253,"58266":14253,"150165":14254,"58267":14254,"17530":14255,"58268":14255,"33321":14256,"58269":14256,"158290":14257,"58271":14257,"146814":14258,"58272":14258,"20473":14259,"58273":14259,"136445":14260,"58274":14260,"34018":14261,"58275":14261,"33634":14262,"58276":14262,"194959":14263,"149927":14264,"58278":14264,"144688":14265,"58279":14265,"137075":14266,"58280":14266,"146936":14267,"58281":14267,"33450":14268,"58282":14268,"26907":14269,"58283":14269,"194964":14270,"58284":14270,"16859":14271,"58285":14271,"34123":14272,"58286":14272,"33488":14273,"58287":14273,"33562":14274,"58288":14274,"134678":14275,"58289":14275,"137140":14276,"58290":14276,"14017":14277,"58291":14277,"143741":14278,"58292":14278,"144730":14279,"58293":14279,"33403":14280,"58294":14280,"33506":14281,"58295":14281,"33560":14282,"58296":14282,"147083":14283,"58297":14283,"159139":14284,"58298":14284,"158469":14285,"58299":14285,"158615":14286,"58300":14286,"144846":14287,"58301":14287,"15807":14288,"58302":14288,"33565":14289,"58303":14289,"21996":14290,"58304":14290,"33669":14291,"58305":14291,"17675":14292,"58306":14292,"159141":14293,"58307":14293,"33708":14294,"58308":14294,"33747":14296,"58310":14296,"159444":14297,"58312":14297,"27223":14298,"58313":14298,"34138":14299,"58314":14299,"13462":14300,"58315":14300,"159298":14301,"58316":14301,"33880":14302,"58318":14302,"154596":14303,"58319":14303,"33905":14304,"58320":14304,"15827":14305,"58321":14305,"17636":14306,"58322":14306,"27303":14307,"58323":14307,"33866":14308,"58324":14308,"31064":14309,"58326":14309,"158614":14311,"58328":14311,"159351":14312,"58329":14312,"159299":14313,"58330":14313,"34014":14314,"58331":14314,"33681":14316,"58333":14316,"17568":14317,"58334":14317,"33939":14318,"58335":14318,"34020":14319,"58336":14319,"154769":14320,"58337":14320,"16960":14321,"58338":14321,"154816":14322,"58339":14322,"17731":14323,"58340":14323,"34100":14324,"58341":14324,"23282":14325,"58342":14325,"17699":14326,"17703":14327,"58344":14327,"34163":14328,"58345":14328,"17686":14329,"58346":14329,"26559":14330,"58347":14330,"34326":14331,"58348":14331,"165413":14332,"58349":14332,"165435":14333,"58350":14333,"34241":14334,"58351":14334,"159880":14335,"58352":14335,"34306":14336,"58353":14336,"136578":14337,"58354":14337,"159949":14338,"58355":14338,"194994":14339,"58356":14339,"17770":14340,"58357":14340,"34344":14341,"58358":14341,"13896":14342,"58359":14342,"137378":14343,"58360":14343,"21495":14344,"58361":14344,"160666":14345,"58362":14345,"34430":14346,"58363":14346,"172280":14348,"58365":14348,"34798":14349,"58366":14349,"142375":14350,"58367":14350,"34737":14351,"58368":14351,"34778":14352,"58369":14352,"34831":14353,"60990":14353,"58370":14353,"22113":14354,"58371":14354,"34412":14355,"58372":14355,"26710":14356,"58373":14356,"17935":14357,"58374":14357,"34885":14358,"58375":14358,"34886":14359,"58376":14359,"161248":14360,"58377":14360,"146873":14361,"58378":14361,"161252":14362,"58379":14362,"34910":14363,"58380":14363,"34972":14364,"58381":14364,"18011":14365,"58382":14365,"34996":14366,"58383":14366,"34997":14367,"58384":14367,"35013":14368,"58386":14368,"161551":14369,"58388":14369,"35207":14370,"58389":14370,"35239":14374,"58393":14374,"35260":14375,"58394":14375,"166437":14376,"58395":14376,"35303":14377,"58396":14377,"162084":14378,"58397":14378,"162493":14379,"58398":14379,"35484":14380,"58399":14380,"30611":14381,"58400":14381,"37374":14382,"58401":14382,"35472":14383,"58402":14383,"162393":14384,"58403":14384,"31465":14385,"58404":14385,"162618":14386,"58405":14386,"18195":14387,"58407":14387,"162616":14388,"58408":14388,"29052":14389,"58409":14389,"35596":14390,"58410":14390,"35615":14391,"58411":14391,"152624":14392,"58412":14392,"152933":14393,"58413":14393,"35647":14394,"58414":14394,"35661":14396,"58416":14396,"35497":14397,"58417":14397,"150138":14398,"58418":14398,"35728":14399,"58419":14399,"35739":14400,"58420":14400,"35503":14401,"58421":14401,"136927":14402,"58422":14402,"17941":14403,"58423":14403,"34895":14404,"58424":14404,"35995":14405,"58425":14405,"163156":14406,"58426":14406,"163215":14407,"58427":14407,"195028":14408,"58428":14408,"14117":14409,"58429":14409,"163155":14410,"58430":14410,"36054":14411,"58431":14411,"163224":14412,"58432":14412,"163261":14413,"58433":14413,"36114":14414,"58434":14414,"36099":14415,"58435":14415,"137488":14416,"58436":14416,"36059":14417,"58437":14417,"28764":14418,"58438":14418,"36113":14419,"58439":14419,"16080":14420,"58441":14420,"195031":14421,"36265":14422,"58443":14422,"163842":14423,"58444":14423,"135188":14424,"58445":14424,"149898":14425,"58446":14425,"15228":14426,"58447":14426,"164284":14427,"58448":14427,"160012":14428,"58449":14428,"31463":14429,"58450":14429,"36525":14430,"58451":14430,"36534":14431,"58452":14431,"36547":14432,"58453":14432,"37588":14433,"58454":14433,"36633":14434,"58455":14434,"36653":14435,"58456":14435,"164709":14436,"58457":14436,"164882":14437,"58458":14437,"36773":14438,"58459":14438,"37635":14439,"58460":14439,"172703":14440,"58461":14440,"133712":14441,"58462":14441,"36787":14442,"58463":14442,"166366":14444,"58465":14444,"165181":14445,"58466":14445,"146875":14446,"58467":14446,"24312":14447,"58468":14447,"143970":14448,"58469":14448,"36857":14449,"58470":14449,"140069":14451,"58474":14451,"14720":14452,"58475":14452,"159447":14453,"58476":14453,"36919":14454,"58477":14454,"165180":14455,"58478":14455,"162494":14456,"58479":14456,"36961":14457,"58480":14457,"165228":14458,"58481":14458,"165387":14459,"58482":14459,"37032":14460,"58483":14460,"165651":14461,"58484":14461,"37060":14462,"58485":14462,"165606":14463,"58486":14463,"37038":14464,"58487":14464,"64038":14465,"37223":14466,"58489":14466,"37289":14467,"58491":14467,"37316":14468,"58492":14468,"31916":14469,"58493":14469,"166195":14470,"58494":14470,"138889":14471,"58495":14471,"37390":14472,"58496":14472,"27807":14473,"58497":14473,"37441":14474,"58498":14474,"37474":14475,"58499":14475,"153017":14476,"58500":14476,"166598":14477,"58502":14477,"146587":14478,"58503":14478,"166668":14479,"58504":14479,"153051":14480,"58505":14480,"134449":14481,"58506":14481,"37676":14482,"58507":14482,"37739":14483,"58508":14483,"166625":14484,"58509":14484,"166891":14485,"58510":14485,"23235":14486,"58512":14486,"166626":14487,"58513":14487,"166629":14488,"58514":14488,"18789":14489,"58515":14489,"37444":14490,"58516":14490,"166892":14491,"58517":14491,"166969":14492,"58518":14492,"166911":14493,"58519":14493,"37747":14494,"58520":14494,"37979":14495,"58521":14495,"36540":14496,"58522":14496,"38277":14497,"58523":14497,"38310":14498,"58524":14498,"37926":14499,"58525":14499,"38304":14500,"58526":14500,"28662":14501,"58527":14501,"17081":14502,"58528":14502,"165592":14503,"58530":14503,"135804":14504,"58531":14504,"146990":14505,"58532":14505,"18911":14506,"58533":14506,"27676":14507,"58534":14507,"38523":14508,"58535":14508,"38550":14509,"58536":14509,"16748":14510,"58537":14510,"38563":14511,"58538":14511,"159445":14512,"58539":14512,"25050":14513,"58540":14513,"58541":14514,"30965":14515,"58542":14515,"166624":14516,"58543":14516,"38589":14517,"58544":14517,"21452":14518,"58545":14518,"18849":14519,"58546":14519,"158904":14520,"58547":14520,"131700":14521,"58548":14521,"156688":14522,"58549":14522,"168111":14523,"58550":14523,"168165":14524,"58551":14524,"150225":14525,"58552":14525,"137493":14526,"58553":14526,"144138":14527,"58554":14527,"38705":14528,"58555":14528,"34370":14529,"58556":14529,"38710":14530,"58557":14530,"18959":14531,"58558":14531,"17725":14532,"58559":14532,"17797":14533,"58560":14533,"150249":14534,"58561":14534,"28789":14535,"58562":14535,"23361":14536,"58563":14536,"38683":14537,"58564":14537,"168405":14539,"58566":14539,"38743":14540,"58567":14540,"23370":14541,"58568":14541,"168427":14542,"58569":14542,"38751":14543,"58570":14543,"37925":14544,"58571":14544,"20688":14545,"58572":14545,"143543":14546,"58573":14546,"143548":14547,"58574":14547,"38793":14548,"58575":14548,"38815":14549,"58576":14549,"38833":14550,"58577":14550,"38846":14551,"58578":14551,"38848":14552,"58579":14552,"38866":14553,"58580":14553,"38880":14554,"58581":14554,"152684":14555,"58582":14555,"38894":14556,"58583":14556,"29724":14557,"58584":14557,"169011":14558,"58585":14558,"38901":14560,"58587":14560,"168989":14561,"58588":14561,"162170":14562,"58589":14562,"19153":14563,"58590":14563,"38964":14564,"58591":14564,"38963":14565,"58592":14565,"38987":14566,"58593":14566,"39014":14567,"58594":14567,"15118":14568,"58595":14568,"160117":14569,"58596":14569,"15697":14570,"58597":14570,"132656":14571,"58598":14571,"147804":14572,"58599":14572,"153350":14573,"58600":14573,"39114":14574,"58601":14574,"39095":14575,"58602":14575,"39112":14576,"58603":14576,"39111":14577,"58604":14577,"19199":14578,"58605":14578,"159015":14579,"58606":14579,"136915":14580,"58607":14580,"21936":14581,"58608":14581,"39137":14582,"58609":14582,"39142":14583,"58610":14583,"39148":14584,"58611":14584,"37752":14585,"58612":14585,"39225":14586,"58613":14586,"150057":14587,"58614":14587,"19314":14588,"58615":14588,"170071":14589,"58616":14589,"170245":14590,"58617":14590,"39413":14591,"58618":14591,"39436":14592,"58619":14592,"39483":14593,"58620":14593,"39440":14594,"58621":14594,"39512":14595,"58622":14595,"153381":14596,"58623":14596,"14020":14597,"58624":14597,"168113":14598,"58625":14598,"170965":14599,"58626":14599,"39648":14600,"58627":14600,"39650":14601,"58628":14601,"170757":14602,"58629":14602,"39668":14603,"58630":14603,"19470":14604,"58631":14604,"39700":14605,"58632":14605,"39725":14606,"58633":14606,"165376":14607,"58634":14607,"20532":14608,"58635":14608,"39732":14609,"58636":14609,"14531":14610,"58638":14610,"143485":14611,"58639":14611,"39760":14612,"58640":14612,"39744":14613,"58641":14613,"171326":14614,"58642":14614,"23109":14615,"58643":14615,"137315":14616,"58644":14616,"39822":14617,"58645":14617,"39938":14618,"58647":14618,"39935":14619,"58648":14619,"39948":14620,"58649":14620,"171624":14621,"58650":14621,"40404":14622,"58651":14622,"171959":14623,"58652":14623,"172434":14624,"58653":14624,"172459":14625,"58654":14625,"172257":14626,"58655":14626,"172323":14627,"58656":14627,"172511":14628,"58657":14628,"40318":14629,"58658":14629,"40323":14630,"58659":14630,"172340":14631,"58660":14631,"40462":14632,"58661":14632,"40388":14633,"58663":14633,"172435":14634,"58665":14634,"172576":14635,"58666":14635,"137531":14636,"58667":14636,"172595":14637,"58668":14637,"40249":14638,"58669":14638,"172217":14639,"58670":14639,"172724":14640,"58671":14640,"40592":14641,"58672":14641,"40597":14642,"58673":14642,"40606":14643,"58674":14643,"40610":14644,"58675":14644,"19764":14645,"58676":14645,"40618":14646,"58677":14646,"40623":14647,"58678":14647,"148324":14648,"58679":14648,"40641":14649,"58680":14649,"15200":14650,"58681":14650,"14821":14651,"58682":14651,"15645":14652,"58683":14652,"20274":14653,"58684":14653,"14270":14654,"58685":14654,"166955":14655,"58686":14655,"40706":14656,"58687":14656,"40712":14657,"58688":14657,"19350":14658,"58689":14658,"37924":14659,"58690":14659,"159138":14660,"58691":14660,"40727":14661,"60836":14661,"58692":14661,"195099":14662,"40761":14663,"58694":14663,"22175":14664,"58695":14664,"22154":14665,"58696":14665,"40773":14666,"58697":14666,"39352":14667,"58698":14667,"168075":14668,"58699":14668,"38898":14669,"58700":14669,"33919":14670,"58701":14670,"40809":14672,"58703":14672,"31452":14673,"58704":14673,"40846":14674,"58705":14674,"29206":14675,"58706":14675,"19390":14676,"58707":14676,"149877":14677,"58708":14677,"149947":14678,"58709":14678,"29047":14679,"58710":14679,"150008":14680,"58711":14680,"148296":14681,"58712":14681,"150097":14682,"58713":14682,"29598":14683,"58714":14683,"166874":14684,"58715":14684,"137466":14685,"58716":14685,"31135":14686,"58717":14686,"166270":14687,"58718":14687,"167478":14688,"58719":14688,"37737":14689,"58720":14689,"37875":14690,"58721":14690,"166468":14691,"58722":14691,"37612":14692,"58723":14692,"37761":14693,"58724":14693,"37835":14694,"58725":14694,"166252":14695,"58726":14695,"148665":14696,"58727":14696,"29207":14697,"58728":14697,"16107":14698,"58729":14698,"30578":14699,"58730":14699,"31299":14700,"58731":14700,"28880":14701,"58732":14701,"148595":14702,"58733":14702,"148472":14703,"58734":14703,"29054":14704,"58735":14704,"137199":14705,"58736":14705,"28835":14706,"58737":14706,"137406":14707,"58738":14707,"144793":14708,"58739":14708,"16071":14709,"58740":14709,"137349":14710,"58741":14710,"152623":14711,"58742":14711,"137208":14712,"58743":14712,"14114":14713,"58744":14713,"136955":14714,"58745":14714,"137273":14715,"58746":14715,"14049":14716,"58747":14716,"137076":14717,"58748":14717,"137425":14718,"58749":14718,"155467":14719,"58750":14719,"14115":14720,"58751":14720,"136896":14721,"58752":14721,"22363":14722,"58753":14722,"150053":14723,"58754":14723,"136190":14724,"58755":14724,"135848":14725,"58756":14725,"136134":14726,"58757":14726,"136374":14727,"58758":14727,"34051":14728,"58761":14728,"58759":14728,"145062":14729,"58760":14729,"33877":14731,"58762":14731,"149908":14732,"58763":14732,"160101":14733,"58764":14733,"146993":14734,"58765":14734,"152924":14735,"58766":14735,"147195":14736,"58767":14736,"159826":14737,"58768":14737,"17652":14738,"58769":14738,"145134":14739,"58770":14739,"170397":14740,"58771":14740,"159526":14741,"58772":14741,"26617":14742,"58773":14742,"14131":14743,"58774":14743,"15381":14744,"58775":14744,"15847":14745,"58776":14745,"22636":14746,"58777":14746,"137506":14747,"58778":14747,"26640":14748,"58779":14748,"16471":14749,"58780":14749,"145215":14750,"58781":14750,"147681":14751,"58782":14751,"147595":14752,"58783":14752,"147727":14753,"58784":14753,"158753":14754,"58785":14754,"21707":14755,"58786":14755,"22174":14756,"58787":14756,"157361":14757,"58788":14757,"22162":14758,"58789":14758,"135135":14759,"58790":14759,"134056":14760,"58791":14760,"134669":14761,"58792":14761,"166675":14763,"58794":14763,"37788":14764,"58795":14764,"20216":14765,"58796":14765,"20779":14766,"58797":14766,"14361":14767,"58798":14767,"148534":14768,"58799":14768,"20156":14769,"58800":14769,"132197":14770,"58801":14770,"20299":14772,"58803":14772,"20362":14773,"58804":14773,"153169":14774,"58805":14774,"23144":14775,"58806":14775,"131499":14776,"58807":14776,"132043":14777,"58808":14777,"14745":14778,"58809":14778,"131850":14779,"58810":14779,"132116":14780,"58811":14780,"13365":14781,"58812":14781,"20265":14782,"58813":14782,"131776":14783,"58814":14783,"167603":14784,"58815":14784,"131701":14785,"58816":14785,"35546":14786,"58817":14786,"131596":14787,"58818":14787,"20120":14788,"58819":14788,"20685":14789,"58820":14789,"20749":14790,"58821":14790,"20386":14791,"58822":14791,"20227":14792,"58823":14792,"150030":14793,"58824":14793,"147082":14794,"58825":14794,"20290":14795,"58826":14795,"20526":14796,"58827":14796,"20588":14797,"58828":14797,"20609":14798,"58829":14798,"20428":14799,"58830":14799,"20453":14800,"58831":14800,"20568":14801,"58832":14801,"20732":14802,"58833":14802,"28278":14803,"58838":14803,"144789":14804,"58839":14804,"147001":14805,"58840":14805,"147135":14806,"58841":14806,"28018":14807,"58842":14807,"137348":14808,"58843":14808,"147081":14809,"58844":14809,"20904":14810,"58845":14810,"20931":14811,"58846":14811,"132576":14812,"58847":14812,"17629":14813,"58848":14813,"132259":14814,"58849":14814,"132242":14815,"58850":14815,"132241":14816,"58851":14816,"36218":14817,"58852":14817,"166556":14818,"58853":14818,"132878":14819,"58854":14819,"21081":14820,"58855":14820,"21156":14821,"58856":14821,"133235":14822,"58857":14822,"21217":14823,"58858":14823,"18042":14825,"58860":14825,"29068":14826,"58861":14826,"148364":14827,"58862":14827,"134176":14828,"58863":14828,"149932":14829,"58864":14829,"135396":14830,"58865":14830,"27089":14831,"58866":14831,"134685":14832,"58867":14832,"16094":14834,"58869":14834,"29849":14835,"58870":14835,"29716":14836,"58871":14836,"29782":14837,"58872":14837,"29592":14838,"58873":14838,"19342":14839,"58874":14839,"150204":14840,"58875":14840,"147597":14841,"58876":14841,"21456":14842,"58877":14842,"13700":14843,"58878":14843,"29199":14844,"58879":14844,"147657":14845,"58880":14845,"21940":14846,"58881":14846,"131909":14847,"58882":14847,"21709":14848,"58883":14848,"134086":14849,"58884":14849,"22301":14850,"58885":14850,"37469":14851,"58886":14851,"38644":14852,"58887":14852,"22493":14853,"58889":14853,"22413":14854,"58890":14854,"22399":14855,"58891":14855,"13886":14856,"58892":14856,"22731":14857,"58893":14857,"23193":14858,"58894":14858,"166470":14859,"58895":14859,"136954":14860,"58896":14860,"137071":14861,"58897":14861,"136976":14862,"58898":14862,"23084":14863,"58899":14863,"22968":14864,"58900":14864,"23166":14865,"58902":14865,"23247":14866,"58903":14866,"23058":14867,"58904":14867,"153926":14868,"58905":14868,"137715":14869,"58906":14869,"137313":14870,"58907":14870,"148117":14871,"58908":14871,"14069":14872,"58909":14872,"27909":14873,"58910":14873,"29763":14874,"58911":14874,"23073":14875,"58912":14875,"155267":14876,"58913":14876,"23169":14877,"58914":14877,"166871":14878,"58915":14878,"132115":14879,"58916":14879,"37856":14880,"58917":14880,"29836":14881,"58918":14881,"135939":14882,"58919":14882,"28933":14883,"58920":14883,"18802":14884,"58921":14884,"37896":14885,"58922":14885,"166395":14886,"58923":14886,"37821":14887,"58924":14887,"14240":14888,"58925":14888,"23582":14889,"58926":14889,"23710":14890,"58927":14890,"24158":14891,"58928":14891,"24136":14892,"58929":14892,"137622":14893,"58930":14893,"137596":14894,"58931":14894,"146158":14895,"58932":14895,"24269":14896,"58933":14896,"23375":14897,"58934":14897,"58935":14898,"137475":14898,"58936":14899,"137476":14899,"14081":14900,"58937":14900,"137376":14901,"58938":14901,"14045":14902,"58939":14902,"136958":14903,"58940":14903,"14035":14904,"58941":14904,"33066":14905,"58942":14905,"166471":14906,"58943":14906,"138682":14907,"58944":14907,"144498":14908,"58945":14908,"166312":14909,"58946":14909,"24332":14910,"60916":14910,"58947":14910,"24334":14911,"58948":14911,"137511":14912,"58949":14912,"137131":14913,"58950":14913,"23147":14914,"58951":14914,"137019":14915,"58952":14915,"23364":14916,"58953":14916,"161277":14917,"58955":14917,"34912":14918,"58956":14918,"24702":14919,"58957":14919,"141408":14920,"58958":14920,"140843":14921,"58959":14921,"24539":14922,"58960":14922,"16056":14923,"58961":14923,"140719":14924,"58962":14924,"140734":14925,"58963":14925,"168072":14926,"58964":14926,"159603":14927,"58965":14927,"25024":14928,"58966":14928,"131134":14929,"58967":14929,"131142":14930,"58968":14930,"140827":14931,"58969":14931,"24985":14932,"58970":14932,"24984":14933,"58971":14933,"24693":14934,"58972":14934,"142491":14935,"58973":14935,"142599":14936,"58974":14936,"149204":14937,"58975":14937,"168269":14938,"58976":14938,"25713":14939,"58977":14939,"149093":14940,"58978":14940,"142186":14941,"58979":14941,"14889":14942,"58980":14942,"142114":14943,"58981":14943,"144464":14944,"58982":14944,"170218":14945,"58983":14945,"142968":14946,"58984":14946,"25399":14947,"58985":14947,"25782":14948,"58987":14948,"25393":14949,"58988":14949,"25553":14950,"58989":14950,"149987":14951,"58990":14951,"142695":14952,"58991":14952,"25252":14953,"58992":14953,"142497":14954,"58993":14954,"25659":14955,"58994":14955,"25963":14956,"58995":14956,"26994":14957,"58996":14957,"15348":14958,"58997":14958,"143502":14959,"58998":14959,"144045":14960,"58999":14960,"149897":14961,"59000":14961,"144043":14962,"59001":14962,"21773":14963,"59002":14963,"144096":14964,"59003":14964,"137433":14965,"59004":14965,"169023":14966,"59005":14966,"26318":14967,"59006":14967,"144009":14968,"59007":14968,"143795":14969,"59008":14969,"15072":14970,"59009":14970,"152964":14971,"59011":14971,"166690":14972,"59012":14972,"152975":14973,"59013":14973,"136956":14974,"59014":14974,"152923":14975,"59015":14975,"152613":14976,"59016":14976,"30958":14977,"59017":14977,"143619":14978,"59018":14978,"137258":14979,"59019":14979,"143924":14980,"59020":14980,"13412":14981,"59021":14981,"143887":14982,"59022":14982,"143746":14983,"59023":14983,"148169":14984,"59024":14984,"26254":14985,"59025":14985,"159012":14986,"59026":14986,"26219":14987,"59027":14987,"19347":14988,"59028":14988,"26160":14989,"59029":14989,"161904":14990,"59030":14990,"138731":14991,"59031":14991,"26211":14992,"59032":14992,"144082":14993,"59033":14993,"144097":14994,"59034":14994,"26142":14995,"59035":14995,"153714":14996,"59036":14996,"14545":14997,"59037":14997,"145466":14998,"59038":14998,"145340":14999,"59039":14999,"15257":15000,"59040":15000,"145314":15001,"59041":15001,"144382":15002,"59042":15002,"29904":15003,"59043":15003,"15254":15004,"59044":15004,"149034":15005,"59046":15005,"26806":15006,"59047":15006,"15300":15008,"59049":15008,"27326":15009,"59050":15009,"145365":15010,"59052":15010,"148615":15011,"59053":15011,"27187":15012,"59054":15012,"27218":15013,"59055":15013,"27337":15014,"59056":15014,"27397":15015,"59057":15015,"137490":15016,"59058":15016,"25873":15017,"59059":15017,"26776":15018,"59060":15018,"27212":15019,"59061":15019,"15319":15020,"59062":15020,"27258":15021,"59063":15021,"27479":15022,"59064":15022,"147392":15023,"59065":15023,"146586":15024,"59066":15024,"37792":15025,"59067":15025,"37618":15026,"59068":15026,"166890":15027,"59069":15027,"166603":15028,"59070":15028,"37513":15029,"59071":15029,"163870":15030,"59072":15030,"166364":15031,"59073":15031,"37991":15032,"59074":15032,"28069":15033,"59075":15033,"28427":15034,"59076":15034,"147327":15036,"59079":15036,"15759":15037,"59080":15037,"28164":15038,"59081":15038,"147516":15039,"59082":15039,"23101":15040,"59083":15040,"28170":15041,"59084":15041,"22599":15042,"59085":15042,"27940":15043,"59086":15043,"30786":15044,"59087":15044,"28987":15045,"59088":15045,"148250":15046,"59089":15046,"148086":15047,"59090":15047,"28913":15048,"59091":15048,"29264":15049,"61085":15049,"59092":15049,"29319":15050,"59093":15050,"29332":15051,"59094":15051,"149391":15052,"59095":15052,"149285":15053,"59096":15053,"20857":15054,"59097":15054,"150180":15055,"59098":15055,"132587":15056,"59099":15056,"29818":15057,"59100":15057,"147192":15058,"59101":15058,"144991":15059,"59102":15059,"150090":15060,"59103":15060,"149783":15061,"59104":15061,"155617":15062,"59105":15062,"16134":15063,"59106":15063,"16049":15064,"59107":15064,"150239":15065,"59108":15065,"166947":15066,"59109":15066,"147253":15067,"59110":15067,"24743":15068,"59111":15068,"16115":15069,"59112":15069,"29900":15070,"59113":15070,"29756":15071,"59114":15071,"37767":15072,"59115":15072,"29751":15073,"59116":15073,"17567":15074,"59117":15074,"159210":15075,"59118":15075,"17745":15076,"59119":15076,"30083":15077,"59120":15077,"16227":15078,"59121":15078,"150745":15079,"59122":15079,"150790":15080,"59123":15080,"16216":15081,"59124":15081,"30037":15082,"59125":15082,"30323":15083,"59126":15083,"173510":15084,"59127":15084,"29800":15086,"61070":15086,"59129":15086,"166604":15087,"59130":15087,"149931":15088,"59131":15088,"149902":15089,"59132":15089,"15099":15090,"59133":15090,"15821":15091,"59134":15091,"150094":15092,"59135":15092,"16127":15093,"59136":15093,"149957":15094,"59137":15094,"149747":15095,"59138":15095,"37370":15096,"59139":15096,"22322":15097,"59140":15097,"37698":15098,"59141":15098,"166627":15099,"59142":15099,"137316":15100,"59143":15100,"20703":15101,"59144":15101,"152097":15102,"59145":15102,"152039":15103,"59146":15103,"30584":15104,"59147":15104,"143922":15105,"59148":15105,"30478":15106,"59149":15106,"30479":15107,"59150":15107,"30587":15108,"59151":15108,"149143":15109,"59152":15109,"145281":15110,"59153":15110,"14942":15111,"59154":15111,"149744":15112,"59155":15112,"29752":15113,"59156":15113,"29851":15114,"59157":15114,"16063":15115,"59158":15115,"150202":15116,"59159":15116,"150215":15117,"59160":15117,"16584":15118,"59161":15118,"150166":15119,"59162":15119,"156078":15120,"59163":15120,"37639":15121,"59164":15121,"152961":15122,"59165":15122,"30750":15123,"59166":15123,"30861":15124,"59167":15124,"30856":15125,"59168":15125,"30930":15126,"59169":15126,"29648":15127,"59170":15127,"31065":15128,"59171":15128,"161601":15129,"59172":15129,"153315":15130,"59173":15130,"16654":15131,"59174":15131,"31141":15134,"59177":15134,"27181":15135,"59178":15135,"147194":15136,"59179":15136,"31290":15137,"59180":15137,"31220":15138,"59181":15138,"16750":15139,"59182":15139,"136934":15140,"59183":15140,"16690":15141,"59184":15141,"37429":15142,"59185":15142,"31217":15143,"59186":15143,"134476":15144,"59187":15144,"149900":15145,"59188":15145,"131737":15146,"59189":15146,"146874":15147,"59190":15147,"137070":15148,"59191":15148,"13719":15149,"59192":15149,"21867":15150,"59193":15150,"13680":15151,"59194":15151,"13994":15152,"59195":15152,"131540":15153,"59196":15153,"134157":15154,"59197":15154,"31458":15155,"59198":15155,"23129":15156,"59199":15156,"141045":15157,"59200":15157,"154287":15158,"59201":15158,"154268":15159,"59202":15159,"23053":15160,"59203":15160,"131675":15161,"59204":15161,"30960":15162,"59205":15162,"23082":15163,"59206":15163,"154566":15164,"59207":15164,"31486":15165,"59208":15165,"16889":15166,"59209":15166,"31837":15167,"59210":15167,"31853":15168,"59211":15168,"16913":15169,"59212":15169,"154547":15170,"59213":15170,"155324":15171,"59214":15171,"155302":15172,"59215":15172,"31949":15173,"59216":15173,"150009":15174,"59217":15174,"137136":15175,"59218":15175,"31886":15176,"59219":15176,"31868":15177,"59220":15177,"31918":15178,"59221":15178,"27314":15179,"59222":15179,"32220":15180,"59223":15180,"32263":15181,"59224":15181,"32211":15182,"59225":15182,"32590":15183,"59226":15183,"156257":15184,"59227":15184,"155996":15185,"59228":15185,"162632":15186,"59229":15186,"32151":15187,"59230":15187,"155266":15188,"59231":15188,"17002":15189,"59232":15189,"158581":15190,"59233":15190,"133398":15191,"59234":15191,"26582":15192,"59235":15192,"131150":15193,"59236":15193,"144847":15194,"59237":15194,"22468":15195,"59238":15195,"156690":15196,"59239":15196,"156664":15197,"59240":15197,"32733":15198,"59242":15198,"31527":15199,"59243":15199,"133164":15200,"59244":15200,"154345":15201,"59245":15201,"154947":15202,"59246":15202,"31500":15203,"59247":15203,"155150":15204,"59248":15204,"39398":15205,"59249":15205,"34373":15206,"59250":15206,"39523":15207,"59251":15207,"27164":15208,"59252":15208,"144447":15209,"59253":15209,"150007":15210,"59255":15210,"157101":15211,"59256":15211,"39455":15212,"59257":15212,"157088":15213,"59258":15213,"33941":15214,"160039":15215,"59260":15215,"158929":15216,"59261":15216,"17642":15217,"59262":15217,"33079":15218,"59263":15218,"17410":15219,"59264":15219,"32966":15220,"59265":15220,"33033":15221,"59266":15221,"33090":15222,"59267":15222,"157620":15223,"59268":15223,"39107":15224,"59269":15224,"158274":15225,"59270":15225,"33378":15226,"59271":15226,"33381":15227,"59272":15227,"158289":15228,"59273":15228,"33875":15229,"59274":15229,"159143":15230,"59275":15230,"34320":15231,"59276":15231,"160283":15232,"59277":15232,"23174":15233,"59278":15233,"16767":15234,"59279":15234,"137280":15235,"59280":15235,"23339":15236,"59281":15236,"137377":15237,"59282":15237,"23268":15238,"59283":15238,"137432":15239,"59284":15239,"34464":15240,"59285":15240,"195004":15241,"59286":15241,"146831":15242,"59287":15242,"34861":15243,"59288":15243,"160802":15244,"59289":15244,"23042":15245,"59290":15245,"34926":15246,"59291":15246,"20293":15247,"59292":15247,"34951":15248,"59293":15248,"35007":15249,"59294":15249,"35046":15250,"59295":15250,"35173":15251,"59296":15251,"35149":15252,"59297":15252,"153219":15253,"59298":15253,"35156":15254,"59299":15254,"161669":15255,"59300":15255,"161668":15256,"59301":15256,"166901":15257,"59302":15257,"166873":15258,"59303":15258,"166812":15259,"59304":15259,"166393":15260,"59305":15260,"16045":15261,"59306":15261,"33955":15262,"59307":15262,"18165":15263,"59308":15263,"18127":15264,"59309":15264,"14322":15265,"59310":15265,"35389":15266,"59311":15266,"35356":15267,"59312":15267,"169032":15268,"59313":15268,"24397":15269,"59314":15269,"37419":15270,"59315":15270,"148100":15271,"59316":15271,"26068":15272,"59317":15272,"28969":15273,"59318":15273,"28868":15274,"59319":15274,"137285":15275,"59320":15275,"40301":15276,"59321":15276,"35999":15277,"59322":15277,"36073":15278,"59323":15278,"163292":15279,"59324":15279,"22938":15280,"59325":15280,"30659":15281,"59326":15281,"23024":15282,"59327":15282,"14036":15283,"59329":15283,"36394":15284,"59330":15284,"36519":15285,"59331":15285,"150537":15286,"59332":15286,"36656":15287,"59333":15287,"36682":15288,"59334":15288,"17140":15289,"59335":15289,"27736":15290,"59336":15290,"28603":15291,"59337":15291,"140065":15292,"59338":15292,"18587":15293,"59339":15293,"28537":15294,"59340":15294,"28299":15295,"59341":15295,"137178":15296,"59342":15296,"39913":15297,"59343":15297,"14005":15298,"59344":15298,"149807":15299,"59345":15299,"37051":15300,"59346":15300,"18612":15301,"21873":15302,"59348":15302,"18694":15303,"59349":15303,"37307":15304,"59350":15304,"37892":15305,"59351":15305,"166475":15306,"59352":15306,"16482":15307,"59353":15307,"166652":15308,"59354":15308,"37927":15309,"59355":15309,"166941":15310,"59356":15310,"166971":15311,"59357":15311,"34021":15312,"59358":15312,"35371":15313,"59359":15313,"38297":15314,"59360":15314,"38311":15315,"59361":15315,"38295":15316,"59362":15316,"38294":15317,"59363":15317,"167220":15318,"59364":15318,"29765":15319,"59365":15319,"16066":15320,"59366":15320,"149759":15321,"59367":15321,"150082":15322,"59368":15322,"148458":15323,"59369":15323,"16103":15324,"59370":15324,"143909":15325,"59371":15325,"38543":15326,"59372":15326,"167655":15327,"59373":15327,"167526":15328,"59374":15328,"167525":15329,"59375":15329,"16076":15330,"59376":15330,"149997":15331,"59377":15331,"150136":15332,"59378":15332,"147438":15333,"59379":15333,"29714":15334,"59380":15334,"29803":15335,"59381":15335,"16124":15336,"59382":15336,"38721":15337,"59383":15337,"168112":15338,"59384":15338,"26695":15339,"59385":15339,"18973":15340,"59386":15340,"168083":15341,"59387":15341,"153567":15342,"59388":15342,"37736":15344,"59390":15344,"166281":15345,"59391":15345,"166950":15346,"59392":15346,"166703":15347,"59393":15347,"156606":15348,"59394":15348,"37562":15349,"59395":15349,"23313":15350,"59396":15350,"35689":15351,"59397":15351,"18748":15352,"59398":15352,"29689":15353,"59399":15353,"147995":15354,"59400":15354,"38811":15355,"59401":15355,"39224":15357,"59403":15357,"134950":15358,"59404":15358,"24001":15359,"59405":15359,"166853":15360,"59406":15360,"150194":15361,"59407":15361,"38943":15362,"59408":15362,"169178":15363,"59409":15363,"37622":15364,"59410":15364,"169431":15365,"59411":15365,"37349":15366,"59412":15366,"17600":15367,"59413":15367,"166736":15368,"59414":15368,"150119":15369,"59415":15369,"166756":15370,"59416":15370,"39132":15371,"59417":15371,"166469":15372,"59418":15372,"16128":15373,"59419":15373,"37418":15374,"59420":15374,"18725":15375,"59421":15375,"33812":15376,"59422":15376,"39227":15377,"59423":15377,"39245":15378,"59424":15378,"162566":15379,"59425":15379,"15869":15380,"59426":15380,"19311":15382,"59428":15382,"39338":15383,"59429":15383,"39516":15384,"59430":15384,"166757":15385,"59431":15385,"153800":15386,"59432":15386,"27279":15387,"59433":15387,"39457":15388,"59434":15388,"23294":15389,"59435":15389,"39471":15390,"59436":15390,"170225":15391,"59437":15391,"19344":15392,"59438":15392,"170312":15393,"59439":15393,"39356":15394,"59440":15394,"19389":15395,"59441":15395,"19351":15396,"59442":15396,"37757":15397,"59443":15397,"22642":15398,"59444":15398,"135938":15399,"59445":15399,"22562":15400,"59446":15400,"149944":15401,"59447":15401,"136424":15402,"59448":15402,"30788":15403,"59449":15403,"141087":15404,"59450":15404,"146872":15405,"59451":15405,"26821":15406,"59452":15406,"15741":15407,"59453":15407,"37976":15408,"59454":15408,"14631":15409,"59455":15409,"24912":15410,"59456":15410,"141185":15411,"59457":15411,"141675":15412,"59458":15412,"24839":15413,"59459":15413,"40015":15414,"59460":15414,"40019":15415,"59461":15415,"40059":15416,"59462":15416,"39989":15417,"59463":15417,"39952":15418,"59464":15418,"39807":15419,"59465":15419,"39887":15420,"59466":15420,"171565":15421,"59467":15421,"39839":15422,"59468":15422,"172533":15423,"59469":15423,"172286":15424,"59470":15424,"40225":15425,"59471":15425,"19630":15426,"59472":15426,"147716":15427,"59473":15427,"40472":15428,"59474":15428,"19632":15429,"59475":15429,"40204":15430,"59476":15430,"172468":15431,"59477":15431,"172269":15432,"59478":15432,"172275":15433,"59479":15433,"170287":15434,"59480":15434,"40357":15435,"59481":15435,"33981":15436,"59482":15436,"159250":15437,"59483":15437,"159711":15438,"59484":15438,"158594":15439,"59485":15439,"34300":15440,"59486":15440,"17715":15441,"59487":15441,"159140":15442,"59488":15442,"159364":15443,"59489":15443,"159216":15444,"59490":15444,"33824":15445,"59491":15445,"34286":15446,"59492":15446,"159232":15447,"59493":15447,"145367":15448,"59494":15448,"155748":15449,"59495":15449,"31202":15450,"59496":15450,"144796":15451,"59497":15451,"144960":15452,"59498":15452,"149982":15453,"59500":15453,"15714":15454,"59501":15454,"37851":15455,"59502":15455,"37566":15456,"59503":15456,"37704":15457,"59504":15457,"131775":15458,"59505":15458,"30905":15459,"59506":15459,"37495":15460,"59507":15460,"37965":15461,"59508":15461,"20452":15462,"59509":15462,"13376":15463,"59510":15463,"36964":15464,"59511":15464,"152925":15465,"59512":15465,"30781":15466,"59513":15466,"30804":15467,"59514":15467,"30902":15468,"59515":15468,"30795":15469,"59516":15469,"137047":15470,"59517":15470,"143817":15471,"59518":15471,"149825":15472,"59519":15472,"13978":15473,"59520":15473,"20338":15474,"59521":15474,"28634":15475,"59522":15475,"28633":15476,"59523":15476,"28702":15478,"59524":15478,"59525":15478,"21524":15479,"59526":15479,"147893":15480,"59527":15480,"22459":15481,"59528":15481,"22771":15482,"59529":15482,"22410":15483,"59530":15483,"40214":15484,"59531":15484,"22487":15485,"59532":15485,"28980":15486,"59533":15486,"13487":15487,"59534":15487,"147884":15488,"59535":15488,"29163":15489,"59536":15489,"158784":15490,"59537":15490,"151447":15491,"59538":15491,"137141":15493,"59540":15493,"166473":15494,"59541":15494,"24844":15495,"59542":15495,"23246":15496,"59543":15496,"23051":15497,"59544":15497,"17084":15498,"59545":15498,"148616":15499,"59546":15499,"14124":15500,"59547":15500,"19323":15501,"59548":15501,"166396":15502,"59549":15502,"37819":15503,"59550":15503,"37816":15504,"59551":15504,"137430":15505,"59552":15505,"134941":15506,"59553":15506,"33906":15507,"59554":15507,"158912":15508,"59555":15508,"136211":15509,"59556":15509,"148218":15510,"59557":15510,"142374":15511,"59558":15511,"148417":15512,"59559":15512,"22932":15513,"59560":15513,"146871":15514,"59561":15514,"157505":15515,"59562":15515,"32168":15516,"59563":15516,"155995":15517,"59564":15517,"155812":15518,"59565":15518,"149945":15519,"59566":15519,"149899":15520,"59567":15520,"166394":15521,"59568":15521,"37605":15522,"59569":15522,"29666":15523,"59570":15523,"16105":15524,"59571":15524,"29876":15525,"59572":15525,"166755":15526,"59573":15526,"137375":15527,"59574":15527,"16097":15528,"59575":15528,"150195":15529,"59576":15529,"27352":15530,"59577":15530,"29683":15531,"59578":15531,"29691":15532,"59579":15532,"16086":15533,"59580":15533,"150078":15534,"59581":15534,"150164":15535,"59582":15535,"137177":15536,"59583":15536,"150118":15537,"59584":15537,"132007":15538,"59585":15538,"136228":15539,"59586":15539,"149989":15540,"59587":15540,"29768":15541,"59588":15541,"149782":15542,"59589":15542,"28837":15543,"59590":15543,"149878":15544,"59591":15544,"37508":15545,"59592":15545,"29670":15546,"59593":15546,"37727":15547,"59594":15547,"132350":15548,"59595":15548,"37681":15549,"59596":15549,"166606":15550,"59597":15550,"166422":15551,"59598":15551,"37766":15552,"59599":15552,"166887":15553,"59600":15553,"153045":15554,"59601":15554,"18741":15555,"59602":15555,"166530":15556,"59603":15556,"29035":15557,"59604":15557,"149827":15558,"59605":15558,"134399":15559,"59606":15559,"22180":15560,"59607":15560,"132634":15561,"59608":15561,"134123":15562,"59609":15562,"134328":15563,"59610":15563,"21762":15564,"59611":15564,"31172":15565,"59612":15565,"137210":15566,"59613":15566,"32254":15567,"59614":15567,"136898":15568,"59615":15568,"150096":15569,"59616":15569,"137298":15570,"59617":15570,"17710":15571,"59618":15571,"37889":15572,"59619":15572,"14090":15573,"59620":15573,"166592":15574,"59621":15574,"149933":15575,"59622":15575,"22960":15576,"59623":15576,"137407":15577,"59624":15577,"137347":15578,"59625":15578,"160900":15579,"59626":15579,"23201":15580,"59627":15580,"14050":15581,"59628":15581,"146779":15582,"59629":15582,"14000":15583,"59630":15583,"37471":15584,"59631":15584,"23161":15585,"59632":15585,"166529":15586,"59633":15586,"137314":15587,"59634":15587,"37748":15588,"59635":15588,"15565":15589,"59636":15589,"133812":15590,"59637":15590,"19094":15591,"59638":15591,"14730":15592,"59639":15592,"20724":15593,"59640":15593,"15721":15594,"59641":15594,"15692":15595,"59642":15595,"136092":15596,"59643":15596,"29045":15597,"59644":15597,"17147":15598,"59645":15598,"164376":15599,"59646":15599,"28175":15600,"59647":15600,"168164":15601,"59648":15601,"17643":15602,"59649":15602,"27991":15603,"59650":15603,"163407":15604,"59651":15604,"28775":15605,"59652":15605,"27823":15606,"59653":15606,"15574":15607,"59654":15607,"147437":15608,"59655":15608,"146989":15609,"59656":15609,"28162":15610,"59657":15610,"28428":15611,"59658":15611,"15727":15612,"59659":15612,"132085":15613,"59660":15613,"30033":15614,"59661":15614,"14012":15615,"59662":15615,"13512":15616,"59663":15616,"18048":15617,"59664":15617,"16090":15618,"59665":15618,"18545":15619,"59666":15619,"22980":15620,"59667":15620,"37486":15621,"59668":15621,"18750":15622,"59669":15622,"36673":15623,"59670":15623,"166940":15624,"59671":15624,"158656":15625,"59672":15625,"22546":15626,"59673":15626,"22472":15627,"59674":15627,"14038":15628,"59675":15628,"136274":15629,"59676":15629,"28926":15630,"59677":15630,"148322":15631,"59678":15631,"150129":15632,"59679":15632,"143331":15633,"59680":15633,"135856":15634,"59681":15634,"140221":15635,"59682":15635,"26809":15636,"59683":15636,"26983":15637,"59684":15637,"136088":15638,"59685":15638,"144613":15639,"59686":15639,"162804":15640,"59687":15640,"145119":15641,"59688":15641,"166531":15642,"59689":15642,"145366":15643,"59690":15643,"144378":15644,"59691":15644,"150687":15645,"59692":15645,"27162":15646,"59693":15646,"145069":15647,"59694":15647,"158903":15648,"59695":15648,"33854":15649,"59696":15649,"17631":15650,"59697":15650,"17614":15651,"59698":15651,"159014":15652,"59699":15652,"159057":15653,"59700":15653,"158850":15654,"59701":15654,"159710":15655,"59702":15655,"33597":15658,"59705":15658,"137018":15659,"59706":15659,"33773":15660,"59707":15660,"158848":15661,"59708":15661,"159827":15662,"59709":15662,"137179":15663,"59710":15663,"22921":15664,"59711":15664,"23170":15665,"59712":15665,"137139":15666,"59713":15666,"23137":15667,"59714":15667,"23153":15668,"59715":15668,"137477":15669,"59716":15669,"147964":15670,"59717":15670,"14125":15671,"59718":15671,"23023":15672,"59719":15672,"137020":15673,"59720":15673,"14023":15674,"59721":15674,"29070":15675,"59722":15675,"37776":15676,"59723":15676,"26266":15677,"59724":15677,"148133":15678,"59725":15678,"23150":15679,"59726":15679,"23083":15680,"59727":15680,"148115":15681,"59728":15681,"27179":15682,"59729":15682,"147193":15683,"59730":15683,"161590":15684,"59731":15684,"148571":15685,"59732":15685,"148170":15686,"59733":15686,"28957":15687,"59734":15687,"148057":15688,"59735":15688,"166369":15689,"59736":15689,"20400":15690,"59737":15690,"159016":15691,"59738":15691,"23746":15692,"59739":15692,"148686":15693,"59740":15693,"163405":15694,"59741":15694,"148413":15695,"59742":15695,"27148":15696,"59743":15696,"148054":15697,"59744":15697,"135940":15698,"59745":15698,"28979":15700,"59747":15700,"148457":15701,"59748":15701,"15781":15702,"59749":15702,"27871":15703,"59750":15703,"194597":15704,"59751":15704,"23019":15705,"59754":15705,"24412":15706,"59757":15706,"59764":15707,"144128":15707,"31955":15708,"59776":15708,"59783":15709,"162548":15709,"59786":15710,"153334":15710,"162584":15711,"59790":15711,"36972":15712,"59791":15712,"33270":15713,"59795":15713,"30476":15714,"59797":15714,"27810":15715,"59799":15715,"22269":15716,"59800":15716,"22633":15717,"59828":15717,"26465":15718,"59832":15718,"23646":15719,"59838":15719,"22770":15720,"59841":15720,"28857":15721,"59843":15721,"26627":15722,"59853":15722,"59859":15723,"36795":15723,"59861":15724,"36796":15724,"20001":15725,"59871":15725,"31545":15726,"59898":15726,"15820":15727,"59902":15727,"29482":15728,"57990":15728,"59909":15728,"30048":15729,"59912":15729,"22586":15730,"59920":15730,"33446":15731,"59932":15731,"27018":15732,"59940":15732,"24803":15733,"59944":15733,"20206":15734,"59984":15734,"39364":15735,"60002":15735,"40639":15736,"60023":15736,"21249":15737,"60025":15737,"26528":15738,"60038":15738,"24808":15739,"60046":15739,"20916":15740,"60053":15740,"31363":15741,"60064":15741,"39994":15742,"60075":15742,"31432":15743,"60093":15743,"26906":15744,"60098":15744,"22956":15745,"60100":15745,"22592":15746,"60102":15746,"21610":15747,"60114":15747,"24807":15748,"60123":15748,"22138":15749,"60125":15749,"26965":15750,"60132":15750,"39983":15751,"60133":15751,"34725":15752,"60134":15752,"23584":15753,"60141":15753,"24075":15754,"60143":15754,"26398":15755,"60147":15755,"33965":15756,"60157":15756,"35713":15757,"60161":15757,"20088":15758,"60166":15758,"25283":15759,"60176":15759,"26709":15760,"60180":15760,"33533":15762,"60190":15762,"35237":15763,"60194":15763,"36768":15764,"60196":15764,"38840":15765,"60198":15765,"38983":15766,"60200":15766,"39613":15767,"60201":15767,"24497":15768,"60218":15768,"26184":15769,"60219":15769,"26303":15770,"60220":15770,"162425":15771,"60221":15771,"60225":15773,"149946":15773,"60230":15776,"131910":15776,"26382":15777,"60232":15777,"26904":15778,"60233":15778,"161367":15779,"60235":15779,"155618":15780,"60236":15780,"161278":15781,"60239":15781,"139418":15782,"60240":15782,"18640":15783,"60241":15783,"19128":15784,"60242":15784,"60244":15785,"166554":15785,"60247":15786,"147515":15786,"150085":15787,"60250":15787,"132554":15788,"60251":15788,"20946":15789,"60252":15789,"132625":15790,"60253":15790,"22943":15791,"60254":15791,"138920":15792,"60255":15792,"15294":15793,"60256":15793,"146687":15794,"60257":15794,"14747":15795,"60262":15795,"165352":15796,"60264":15796,"170441":15797,"60265":15797,"14178":15798,"60266":15798,"139715":15799,"60267":15799,"35678":15800,"60268":15800,"166734":15801,"60269":15801,"29193":15803,"60274":15803,"60276":15804,"134264":15804,"132985":15805,"60280":15805,"36570":15806,"60281":15806,"21135":15807,"60283":15807,"29041":15808,"60285":15808,"147274":15809,"60288":15809,"150183":15810,"60289":15810,"21948":15811,"60290":15811,"60293":15812,"158546":15812,"13427":15813,"60295":15813,"60297":15814,"161330":15814,"18200":15815,"60299":15815,"60303":15816,"149823":15816,"20582":15817,"60305":15817,"13563":15818,"60306":15818,"144332":15819,"60307":15819,"18300":15821,"60310":15821,"166216":15822,"60311":15822,"60315":15823,"138640":15823,"162834":15825,"60320":15825,"36950":15826,"60321":15826,"151450":15827,"60323":15827,"35682":15828,"60324":15828,"23899":15829,"60327":15829,"158711":15830,"60328":15830,"137500":15832,"60331":15832,"35562":15833,"60332":15833,"150006":15834,"60333":15834,"60335":15835,"147439":15835,"19392":15836,"60337":15836,"141083":15837,"60340":15837,"37989":15838,"60341":15838,"153569":15839,"60342":15839,"24981":15840,"60343":15840,"23079":15841,"60344":15841,"194765":15842,"60345":15842,"194566":15843,"60348":15844,"148769":15844,"20074":15845,"60350":15845,"149812":15846,"60351":15846,"38486":15847,"60352":15847,"28047":15848,"60353":15848,"158909":15849,"60354":15849,"35191":15850,"60356":15850,"60359":15851,"156689":15851,"31554":15853,"60363":15853,"168128":15854,"60364":15854,"133649":15855,"60365":15855,"31301":15857,"60369":15857,"39462":15858,"60372":15858,"13919":15859,"60374":15859,"156777":15860,"60375":15860,"131105":15861,"60376":15861,"31107":15862,"60377":15862,"23852":15863,"60380":15863,"144665":15864,"60381":15864,"18128":15866,"60384":15866,"30011":15867,"60386":15867,"34917":15868,"60387":15868,"22710":15869,"60389":15869,"14108":15870,"60390":15870,"140685":15871,"60391":15871,"15444":15872,"60394":15872,"37505":15873,"60397":15873,"139642":15874,"60398":15874,"37680":15875,"60400":15875,"149968":15876,"60402":15876,"27705":15877,"60403":15877,"134904":15878,"60406":15878,"34855":15879,"60407":15879,"35061":15880,"60408":15880,"141606":15881,"60409":15881,"164979":15882,"60410":15882,"137137":15883,"60411":15883,"28344":15884,"60412":15884,"150058":15885,"60413":15885,"137248":15886,"60414":15886,"14756":15887,"60415":15887,"17727":15890,"60419":15890,"26294":15891,"60420":15891,"171181":15892,"60421":15892,"170148":15893,"60422":15893,"35139":15894,"60423":15894,"16607":15895,"60427":15895,"136714":15896,"60428":15896,"14753":15897,"60429":15897,"145199":15898,"60430":15898,"164072":15899,"60431":15899,"136133":15900,"60432":15900,"29101":15901,"60433":15901,"33638":15902,"60434":15902,"60436":15903,"168360":15903,"19639":15905,"60438":15905,"159919":15906,"60439":15906,"166315":15907,"60440":15907,"147834":15908,"60445":15908,"31555":15909,"60446":15909,"31102":15910,"60447":15910,"28597":15911,"60449":15911,"172767":15912,"60450":15912,"27139":15913,"60451":15913,"164632":15914,"60452":15914,"21410":15915,"60453":15915,"159239":15916,"60454":15916,"37823":15917,"60455":15917,"26678":15918,"60456":15918,"38749":15919,"59389":15919,"60457":15919,"164207":15920,"60458":15920,"158133":15921,"60460":15921,"136173":15922,"60461":15922,"143919":15923,"60462":15923,"23941":15924,"60464":15924,"166960":15925,"60465":15925,"22293":15926,"60467":15926,"38947":15927,"60468":15927,"166217":15928,"60469":15928,"23979":15929,"60470":15929,"149896":15930,"60471":15930,"26046":15931,"60472":15931,"27093":15932,"60473":15932,"21458":15933,"60474":15933,"150181":15934,"60475":15934,"147329":15935,"60476":15935,"15377":15936,"60477":15936,"26422":15937,"60478":15937,"60482":15938,"139169":15938,"13770":15939,"60490":15939,"18682":15940,"60493":15940,"30728":15942,"60496":15942,"37461":15943,"60497":15943,"17394":15944,"60499":15944,"17375":15945,"60501":15945,"23032":15946,"60505":15946,"22155":15948,"60518":15948,"60520":15949,"169449":15949,"36882":15950,"60541":15950,"21953":15951,"60546":15951,"17673":15952,"60551":15952,"32383":15953,"60552":15953,"28502":15954,"60553":15954,"27313":15955,"60554":15955,"13540":15956,"60556":15956,"161949":15957,"60558":15957,"14138":15958,"60559":15958,"60562":15960,"163876":15960,"60565":15961,"162366":15961,"15851":15962,"60567":15962,"60569":15963,"146615":15963,"156248":15964,"60574":15964,"22207":15965,"60575":15965,"36366":15966,"60577":15966,"23405":15967,"60578":15967,"25566":15968,"60581":15968,"25904":15970,"60585":15970,"22061":15971,"60586":15971,"21530":15972,"60588":15972,"171416":15973,"60591":15973,"19581":15974,"60592":15974,"22050":15975,"60593":15975,"22046":15976,"60594":15976,"32585":15977,"60595":15977,"22901":15978,"60597":15978,"146752":15979,"60598":15979,"34672":15980,"60599":15980,"33047":15981,"60604":15981,"40286":15982,"60605":15982,"36120":15983,"60606":15983,"30267":15984,"60607":15984,"40005":15985,"60608":15985,"30286":15986,"60609":15986,"30649":15987,"60610":15987,"37701":15988,"60611":15988,"21554":15989,"60612":15989,"33096":15990,"60613":15990,"33527":15991,"60614":15991,"22053":15992,"60615":15992,"33074":15993,"60616":15993,"33816":15994,"60617":15994,"32957":15995,"60618":15995,"21994":15996,"60619":15996,"31074":15997,"60620":15997,"22083":15998,"60621":15998,"21526":15999,"60622":15999,"134813":16000,"60623":16000,"13774":16001,"60624":16001,"22021":16002,"57509":16002,"60625":16002,"22001":16003,"60626":16003,"26353":16004,"60627":16004,"164578":16005,"60628":16005,"13869":16006,"60629":16006,"30004":16007,"60630":16007,"22000":16008,"60631":16008,"21946":16009,"60632":16009,"21655":16010,"60633":16010,"21874":16011,"60634":16011,"134209":16012,"60635":16012,"134294":16013,"60636":16013,"24272":16014,"57652":16014,"60637":16014,"134774":16015,"60639":16015,"142434":16016,"60640":16016,"134818":16017,"60641":16017,"40619":16018,"60642":16018,"32090":16019,"60643":16019,"135285":16021,"60645":16021,"25245":16022,"60646":16022,"38765":16023,"60647":16023,"21652":16024,"60648":16024,"36045":16025,"60649":16025,"29174":16026,"60650":16026,"37238":16027,"60651":16027,"25596":16028,"60652":16028,"25529":16029,"60653":16029,"25598":16030,"60654":16030,"21865":16031,"60655":16031,"142147":16032,"60656":16032,"40050":16033,"60657":16033,"143027":16034,"60658":16034,"20890":16035,"60659":16035,"13535":16036,"60660":16036,"134567":16037,"60661":16037,"20903":16038,"60662":16038,"21581":16039,"60663":16039,"21790":16040,"60664":16040,"21779":16041,"60665":16041,"30310":16042,"60666":16042,"36397":16043,"60667":16043,"157834":16044,"60668":16044,"30129":16045,"60669":16045,"32950":16046,"60670":16046,"34820":16047,"60671":16047,"35015":16049,"60673":16049,"33206":16050,"60674":16050,"33820":16051,"60675":16051,"17644":16052,"60677":16052,"29444":16053,"60678":16053,"33547":16054,"60681":16054,"22139":16055,"60683":16055,"37232":16056,"60690":16056,"37384":16057,"60692":16057,"134905":16058,"60696":16058,"29286":16059,"60697":16059,"18254":16060,"60699":16060,"60701":16061,"163833":16061,"16634":16062,"60703":16062,"40029":16063,"60704":16063,"25887":16064,"60705":16064,"18675":16065,"60707":16065,"149472":16066,"60708":16066,"171388":16067,"60709":16067,"60713":16069,"161187":16069,"60715":16070,"155720":16071,"60716":16071,"29091":16072,"60718":16072,"32398":16073,"60719":16073,"40272":16074,"60720":16074,"13687":16075,"60723":16075,"27826":16076,"60725":16076,"21351":16077,"60726":16077,"14812":16078,"60728":16078,"60731":16079,"149016":16079,"33325":16080,"60734":16080,"21579":16081,"60735":16081,"60739":16082,"14930":16083,"60740":16083,"29556":16084,"60742":16084,"171692":16085,"60743":16085,"19721":16086,"60744":16086,"39917":16087,"60745":16087,"19547":16089,"60748":16089,"171998":16090,"60751":16090,"33884":16091,"60752":16091,"60754":16092,"160434":16092,"25390":16093,"60757":16093,"32037":16094,"60758":16094,"14890":16095,"60761":16095,"36872":16096,"60762":16096,"21196":16097,"60763":16097,"15988":16098,"60764":16098,"13946":16099,"60765":16099,"17897":16100,"60766":16100,"132238":16101,"60767":16101,"30272":16102,"60768":16102,"23280":16103,"60769":16103,"134838":16104,"60770":16104,"30842":16105,"60771":16105,"18358":16106,"163630":16106,"60772":16106,"22695":16107,"60773":16107,"16575":16108,"60774":16108,"22140":16109,"60775":16109,"39819":16110,"60776":16110,"23924":16111,"60777":16111,"30292":16112,"60778":16112,"173108":16113,"60779":16113,"40581":16114,"60780":16114,"19681":16115,"60781":16115,"14331":16117,"60783":16117,"24857":16118,"60784":16118,"148466":16119,"60786":16119,"60787":16120,"22109":16121,"60788":16121,"171526":16122,"60792":16122,"21044":16123,"60793":16123,"13741":16124,"60795":16124,"40316":16126,"60797":16126,"31830":16127,"60798":16127,"39737":16128,"60799":16128,"22494":16129,"60800":16129,"23635":16130,"60802":16130,"25811":16131,"60803":16131,"169168":16132,"60804":16132,"156469":16133,"60805":16133,"34477":16134,"60807":16134,"134440":16135,"60808":16135,"134513":16136,"60811":16136,"60812":16137,"20990":16138,"60813":16138,"139023":16139,"60814":16139,"23950":16140,"60815":16140,"38659":16141,"60816":16141,"138705":16142,"60817":16142,"40577":16143,"60818":16143,"36940":16144,"60819":16144,"31519":16145,"60820":16145,"39682":16146,"60821":16146,"23761":16147,"60822":16147,"31651":16148,"60823":16148,"25192":16149,"60824":16149,"25397":16150,"60825":16150,"39679":16151,"60826":16151,"31695":16152,"60827":16152,"39722":16153,"60828":16153,"31870":16154,"60829":16154,"31810":16156,"60831":16156,"31878":16157,"60832":16157,"39957":16158,"60833":16158,"31740":16159,"60834":16159,"39689":16160,"60835":16160,"39982":16162,"40794":16163,"60839":16163,"21875":16164,"60840":16164,"23491":16165,"60841":16165,"20477":16166,"60842":16166,"40600":16167,"60843":16167,"20466":16168,"60844":16168,"21088":16169,"60845":16169,"21201":16170,"60847":16170,"22375":16171,"60848":16171,"20566":16172,"60849":16172,"22967":16173,"60850":16173,"24082":16174,"60851":16174,"38856":16175,"60852":16175,"40363":16176,"60853":16176,"36700":16177,"60854":16177,"21609":16178,"60855":16178,"38836":16179,"60856":16179,"39232":16180,"60857":16180,"38842":16181,"60858":16181,"21292":16182,"60859":16182,"24880":16183,"60860":16183,"26924":16184,"60861":16184,"21466":16185,"60862":16185,"39946":16186,"60863":16186,"40194":16187,"60864":16187,"19515":16188,"60865":16188,"38465":16189,"60866":16189,"27008":16190,"60867":16190,"20646":16191,"60868":16191,"30022":16192,"60869":16192,"137069":16193,"60870":16193,"39386":16194,"60871":16194,"21107":16195,"60872":16195,"60873":16196,"37209":16197,"60874":16197,"38529":16198,"60875":16198,"37212":16199,"60876":16199,"60877":16200,"37201":16201,"60878":16201,"167575":16202,"60879":16202,"25471":16203,"60880":16203,"27338":16204,"60882":16204,"22033":16205,"60883":16205,"37262":16206,"60884":16206,"30074":16207,"60885":16207,"25221":16208,"60886":16208,"29519":16209,"60888":16209,"31856":16210,"60889":16210,"154657":16211,"60890":16211,"60892":16212,"30422":16213,"60894":16213,"39837":16214,"60895":16214,"20010":16215,"60896":16215,"134356":16216,"60897":16216,"33726":16217,"60898":16217,"34882":16218,"60899":16218,"60900":16219,"23626":16220,"60901":16220,"27072":16221,"60902":16221,"21023":16224,"60905":16224,"24053":16225,"60906":16225,"20174":16226,"60907":16226,"27697":16227,"60908":16227,"131570":16228,"60909":16228,"20281":16229,"60910":16229,"21660":16230,"60911":16230,"21146":16232,"60913":16232,"36226":16233,"60914":16233,"13822":16234,"60915":16234,"13811":16236,"60917":16236,"60918":16237,"27474":16238,"60919":16238,"37244":16239,"60920":16239,"40869":16240,"60921":16240,"39831":16241,"60922":16241,"38958":16242,"60923":16242,"39092":16243,"60924":16243,"39610":16244,"60925":16244,"40616":16245,"60926":16245,"40580":16246,"60927":16246,"31508":16247,"60929":16247,"60930":16248,"27642":16249,"60931":16249,"34840":16250,"60932":16250,"32632":16251,"60933":16251,"60934":16252,"22048":16253,"60935":16253,"173642":16254,"60936":16254,"36471":16255,"60937":16255,"40787":16256,"60938":16256,"60939":16257,"36308":16258,"60940":16258,"36431":16259,"60941":16259,"40476":16260,"60942":16260,"36353":16261,"60943":16261,"25218":16262,"60944":16262,"164733":16263,"60945":16263,"36392":16264,"60946":16264,"36469":16265,"60947":16265,"31443":16266,"60948":16266,"31294":16267,"60950":16267,"30936":16268,"60951":16268,"27882":16269,"60952":16269,"35431":16270,"60953":16270,"30215":16271,"60954":16271,"40742":16272,"60956":16272,"27854":16273,"60957":16273,"34774":16274,"60958":16274,"30147":16275,"60959":16275,"172722":16276,"60960":16276,"30803":16277,"60961":16277,"36108":16278,"60963":16278,"29410":16279,"60964":16279,"29553":16280,"60965":16280,"35629":16281,"60966":16281,"29442":16282,"60967":16282,"29937":16283,"60968":16283,"36075":16284,"60969":16284,"150203":16285,"60970":16285,"34351":16286,"60971":16286,"24506":16287,"60972":16287,"34976":16288,"60973":16288,"17591":16289,"60974":16289,"60975":16290,"159237":16291,"60977":16291,"60978":16292,"35454":16293,"60979":16293,"140571":16294,"60980":16294,"60981":16295,"24829":16296,"60982":16296,"30311":16297,"60983":16297,"39639":16298,"60984":16298,"40260":16299,"60985":16299,"37742":16300,"58859":16300,"60986":16300,"39823":16301,"60987":16301,"34805":16302,"60988":16302,"60989":16303,"36087":16305,"60991":16305,"29484":16306,"60992":16306,"38689":16307,"60993":16307,"39856":16308,"60994":16308,"13782":16309,"60995":16309,"29362":16310,"60996":16310,"19463":16311,"60997":16311,"31825":16312,"60998":16312,"39242":16313,"60999":16313,"24921":16314,"61001":16314,"19460":16315,"61002":16315,"40598":16316,"61003":16316,"24957":16317,"61004":16317,"61005":16318,"22367":16319,"61006":16319,"24943":16320,"61007":16320,"25254":16321,"61008":16321,"25145":16322,"61009":16322,"14940":16324,"61011":16324,"25058":16325,"61012":16325,"21418":16326,"61013":16326,"25444":16327,"61015":16327,"26626":16328,"61016":16328,"13778":16329,"61017":16329,"23895":16330,"61018":16330,"36826":16331,"61020":16331,"167481":16332,"61021":16332,"61022":16333,"20697":16334,"61023":16334,"30982":16335,"61025":16335,"21298":16336,"61026":16336,"38456":16337,"61027":16337,"134971":16338,"61028":16338,"16485":16339,"61029":16339,"61030":16340,"30718":16341,"61031":16341,"61032":16342,"31938":16343,"61033":16343,"155418":16344,"61034":16344,"31962":16345,"61035":16345,"31277":16346,"61036":16346,"32870":16347,"61037":16347,"32867":16348,"61038":16348,"32077":16349,"61039":16349,"29957":16350,"61040":16350,"29938":16351,"61041":16351,"35220":16352,"61042":16352,"33306":16353,"61043":16353,"26380":16354,"61044":16354,"32866":16355,"61045":16355,"160902":16356,"61046":16356,"32859":16357,"61047":16357,"29936":16358,"61048":16358,"33027":16359,"61049":16359,"30500":16360,"61050":16360,"35209":16361,"61051":16361,"157644":16362,"61052":16362,"30035":16363,"61053":16363,"34729":16364,"61055":16364,"34766":16365,"61056":16365,"33224":16366,"61057":16366,"34700":16367,"61058":16367,"35401":16368,"61059":16368,"36013":16369,"61060":16369,"35651":16370,"61061":16370,"30507":16371,"61062":16371,"29944":16372,"61063":16372,"34010":16373,"61064":16373,"27058":16374,"61066":16374,"36262":16375,"61067":16375,"61068":16376,"35241":16377,"58392":16377,"61069":16377,"28089":16379,"61071":16379,"34753":16380,"61072":16380,"147473":16381,"61073":16381,"29927":16382,"61074":16382,"15835":16383,"61075":16383,"29046":16384,"61076":16384,"24740":16385,"57702":16385,"61077":16385,"24988":16386,"61078":16386,"15569":16387,"61079":16387,"24695":16389,"61081":16389,"61082":16390,"32625":16391,"61083":16391,"194850":16392,"24809":16393,"61086":16393,"19326":16394,"61087":16394,"132423":16395,"57344":16395,"37595":16396,"57345":16396,"132575":16397,"57346":16397,"147397":16398,"57347":16398,"34124":16399,"57348":16399,"17077":16400,"57349":16400,"29679":16401,"57350":16401,"20917":16402,"57351":16402,"13897":16403,"57352":16403,"149826":16404,"57353":16404,"166372":16405,"57354":16405,"37700":16406,"57355":16406,"137691":16407,"57356":16407,"33518":16408,"57357":16408,"146632":16409,"57358":16409,"30780":16410,"57359":16410,"26436":16411,"57360":16411,"25311":16412,"57361":16412,"149811":16413,"57362":16413,"166314":16414,"57363":16414,"131744":16415,"57364":16415,"158643":16416,"57365":16416,"135941":16417,"57366":16417,"20395":16418,"57367":16418,"140525":16419,"57368":16419,"20488":16420,"57369":16420,"159017":16421,"57370":16421,"162436":16422,"57371":16422,"144896":16423,"57372":16423,"150193":16424,"57373":16424,"140563":16425,"57374":16425,"131966":16427,"57376":16427,"24484":16428,"57377":16428,"131968":16429,"57378":16429,"131911":16430,"57379":16430,"28379":16431,"57380":16431,"132127":16432,"57381":16432,"20702":16433,"20737":16434,"57383":16434,"13434":16435,"57384":16435,"20750":16436,"57385":16436,"39020":16437,"57386":16437,"14147":16438,"57387":16438,"33814":16439,"57388":16439,"149924":16440,"57389":16440,"132231":16441,"57390":16441,"20832":16442,"57391":16442,"144308":16443,"57392":16443,"20842":16444,"57393":16444,"134143":16445,"57394":16445,"139516":16446,"57395":16446,"131813":16447,"57396":16447,"140592":16448,"57397":16448,"132494":16449,"57398":16449,"143923":16450,"57399":16450,"137603":16451,"57400":16451,"23426":16452,"57401":16452,"34685":16453,"57402":16453,"132531":16454,"57403":16454,"146585":16455,"57404":16455,"20914":16456,"57405":16456,"20920":16457,"57406":16457,"40244":16458,"57407":16458,"20937":16459,"57408":16459,"20943":16460,"57409":16460,"20945":16461,"57410":16461,"15580":16462,"57411":16462,"20947":16463,"57412":16463,"150182":16464,"57413":16464,"20915":16465,"57414":16465,"20973":16468,"57417":16468,"33741":16469,"57418":16469,"26942":16470,"57419":16470,"145197":16471,"57420":16471,"24443":16472,"57421":16472,"21003":16473,"57422":16473,"21030":16474,"57423":16474,"21052":16475,"57424":16475,"21173":16476,"57425":16476,"21079":16477,"57426":16477,"21140":16478,"57427":16478,"21177":16479,"57428":16479,"21189":16480,"57429":16480,"31765":16481,"57430":16481,"34114":16482,"57431":16482,"21216":16483,"57432":16483,"34317":16484,"57433":16484,"158483":16485,"57434":16485,"194601":16486,"166622":16487,"57436":16487,"21833":16488,"57437":16488,"28377":16489,"57438":16489,"147328":16490,"57439":16490,"133460":16491,"57440":16491,"147436":16492,"57441":16492,"21299":16493,"57442":16493,"134114":16495,"57444":16495,"27851":16496,"57445":16496,"136998":16497,"57446":16497,"26651":16498,"57447":16498,"29653":16499,"57448":16499,"24650":16500,"57449":16500,"16042":16501,"57450":16501,"14540":16502,"57451":16502,"136936":16503,"57452":16503,"29149":16504,"57453":16504,"17570":16505,"57454":16505,"21357":16506,"57455":16506,"21364":16507,"57456":16507,"165547":16508,"57457":16508,"21374":16509,"57458":16509,"194610":16510,"136598":16511,"57460":16511,"136723":16512,"57461":16512,"30694":16513,"57462":16513,"21395":16514,"57463":16514,"166555":16515,"57464":16515,"21408":16516,"57465":16516,"21419":16517,"57466":16517,"21422":16518,"57467":16518,"29607":16519,"57468":16519,"153458":16520,"57469":16520,"16217":16521,"57470":16521,"29596":16522,"57471":16522,"21441":16523,"57472":16523,"21445":16524,"57473":16524,"27721":16525,"57474":16525,"20041":16526,"57475":16526,"22526":16527,"57476":16527,"21465":16528,"57477":16528,"15019":16529,"57478":16529,"134031":16530,"57479":16530,"21472":16531,"57480":16531,"147435":16532,"57481":16532,"142755":16533,"57482":16533,"21494":16534,"57483":16534,"134263":16535,"57484":16535,"21523":16536,"57485":16536,"28793":16537,"57486":16537,"21803":16538,"57487":16538,"26199":16539,"57488":16539,"27995":16540,"57489":16540,"21613":16541,"57490":16541,"158547":16542,"57491":16542,"134516":16543,"57492":16543,"21853":16544,"57493":16544,"21647":16545,"57494":16545,"21668":16546,"57495":16546,"18342":16547,"57496":16547,"136973":16548,"57497":16548,"134877":16549,"57498":16549,"15796":16550,"57499":16550,"134477":16551,"57500":16551,"166332":16552,"57501":16552,"140952":16553,"57502":16553,"21831":16554,"57503":16554,"19693":16555,"57504":16555,"21551":16556,"57505":16556,"29719":16557,"57506":16557,"21894":16558,"57507":16558,"21929":16559,"57508":16559,"137431":16561,"57510":16561,"147514":16562,"57511":16562,"17746":16563,"57512":16563,"148533":16564,"57513":16564,"26291":16565,"57514":16565,"135348":16566,"57515":16566,"22071":16567,"57516":16567,"26317":16568,"57517":16568,"144010":16569,"57518":16569,"26276":16570,"57519":16570,"22093":16572,"57521":16572,"22095":16573,"57522":16573,"30961":16574,"57523":16574,"22257":16575,"57524":16575,"38791":16576,"57525":16576,"21502":16577,"57526":16577,"22272":16578,"57527":16578,"22255":16579,"57528":16579,"22253":16580,"57529":16580,"166758":16581,"57530":16581,"13859":16582,"57531":16582,"135759":16583,"57532":16583,"22342":16584,"57533":16584,"147877":16585,"57534":16585,"27758":16586,"57535":16586,"28811":16587,"57536":16587,"22338":16588,"57537":16588,"14001":16589,"57538":16589,"158846":16590,"57539":16590,"22502":16591,"57540":16591,"136214":16592,"57541":16592,"22531":16593,"57542":16593,"136276":16594,"57543":16594,"148323":16595,"57544":16595,"22566":16596,"57545":16596,"150517":16597,"57546":16597,"22559":16598,"22698":16599,"57548":16599,"13665":16600,"57549":16600,"22752":16601,"57550":16601,"22748":16602,"57551":16602,"135740":16603,"57552":16603,"22779":16604,"57553":16604,"23551":16605,"57554":16605,"22339":16606,"57555":16606,"172368":16607,"57556":16607,"148088":16608,"57557":16608,"37843":16609,"57558":16609,"13729":16610,"57559":16610,"22815":16611,"57560":16611,"26790":16612,"57561":16612,"14019":16613,"57562":16613,"28249":16614,"57563":16614,"136766":16615,"57564":16615,"23076":16616,"57565":16616,"136850":16618,"57567":16618,"34053":16619,"57568":16619,"22985":16620,"57569":16620,"134478":16621,"57570":16621,"158849":16622,"57571":16622,"159018":16623,"57572":16623,"137180":16624,"57573":16624,"23001":16625,"57574":16625,"137211":16626,"57575":16626,"137138":16627,"57576":16627,"159142":16628,"57577":16628,"28017":16629,"57578":16629,"137256":16630,"57579":16630,"136917":16631,"57580":16631,"23033":16632,"57581":16632,"159301":16633,"57582":16633,"23211":16634,"57583":16634,"23139":16635,"57584":16635,"14054":16636,"57585":16636,"149929":16637,"57586":16637,"14088":16639,"57588":16639,"23190":16640,"57589":16640,"29797":16641,"57590":16641,"23251":16642,"57591":16642,"159649":16643,"57592":16643,"140628":16644,"57593":16644,"137489":16645,"57595":16645,"14130":16646,"57596":16646,"136888":16647,"57597":16647,"24195":16648,"57598":16648,"21200":16649,"57599":16649,"23414":16650,"57600":16650,"25992":16651,"57601":16651,"23420":16652,"57602":16652,"162318":16653,"57603":16653,"16388":16654,"57604":16654,"18525":16655,"57605":16655,"131588":16656,"57606":16656,"23509":16657,"57607":16657,"137780":16658,"57609":16658,"154060":16659,"57610":16659,"132517":16660,"57611":16660,"23539":16661,"57612":16661,"23453":16662,"57613":16662,"19728":16663,"57614":16663,"23557":16664,"57615":16664,"138052":16665,"57616":16665,"23571":16666,"57617":16666,"29646":16667,"57618":16667,"23572":16668,"57619":16668,"138405":16669,"57620":16669,"158504":16670,"57621":16670,"23625":16671,"57622":16671,"18653":16672,"57623":16672,"23685":16673,"57624":16673,"23785":16674,"57625":16674,"23791":16675,"57626":16675,"23947":16676,"57627":16676,"138745":16677,"57628":16677,"138807":16678,"57629":16678,"23824":16679,"57630":16679,"23832":16680,"57631":16680,"23878":16681,"57632":16681,"138916":16682,"57633":16682,"23738":16683,"57634":16683,"24023":16684,"57635":16684,"33532":16685,"57636":16685,"14381":16686,"57637":16686,"149761":16687,"57638":16687,"139337":16688,"57639":16688,"139635":16689,"57640":16689,"33415":16690,"57641":16690,"14390":16691,"57642":16691,"15298":16692,"57643":16692,"24110":16693,"57644":16693,"27274":16694,"57645":16694,"57647":16696,"148668":16697,"57648":16697,"134355":16698,"57649":16698,"21414":16699,"57650":16699,"20151":16700,"57651":16700,"21416":16702,"57653":16702,"137073":16703,"57654":16703,"24073":16704,"57655":16704,"57656":16705,"164994":16706,"57657":16706,"24313":16707,"57658":16707,"24315":16708,"57659":16708,"14496":16709,"57660":16709,"24316":16710,"57661":16710,"26686":16711,"57662":16711,"37915":16712,"57663":16712,"24333":16713,"57664":16713,"131521":16714,"57665":16714,"194708":16715,"57666":16715,"15070":16716,"57667":16716,"135994":16717,"57669":16717,"24378":16718,"57670":16718,"157832":16719,"57671":16719,"140240":16720,"57672":16720,"140401":16721,"57674":16721,"24419":16722,"57675":16722,"159342":16723,"57677":16723,"24434":16724,"57678":16724,"37696":16725,"57679":16725,"166454":16726,"57680":16726,"24487":16727,"57681":16727,"23990":16728,"57682":16728,"15711":16729,"57683":16729,"152144":16730,"57684":16730,"139114":16731,"57685":16731,"159992":16732,"57686":16732,"140904":16733,"57687":16733,"37334":16734,"57688":16734,"131742":16735,"57689":16735,"166441":16736,"57690":16736,"24625":16737,"57691":16737,"26245":16738,"57692":16738,"14691":16739,"57694":16739,"15815":16740,"57695":16740,"13881":16741,"57696":16741,"22416":16742,"57697":16742,"141236":16743,"57698":16743,"31089":16744,"57699":16744,"15936":16745,"57700":16745,"24734":16746,"57701":16746,"24810":16748,"149890":16749,"57704":16749,"149903":16750,"57705":16750,"162387":16751,"57706":16751,"29860":16752,"57707":16752,"20705":16753,"57708":16753,"23200":16754,"57709":16754,"24932":16755,"57710":16755,"24898":16756,"57712":16756,"194726":16757,"57713":16757,"159442":16758,"57714":16758,"24961":16759,"57715":16759,"20980":16760,"57716":16760,"132694":16761,"57717":16761,"24967":16762,"57718":16762,"23466":16763,"57719":16763,"147383":16764,"57720":16764,"141407":16765,"57721":16765,"25043":16766,"57722":16766,"166813":16767,"57723":16767,"170333":16768,"57724":16768,"25040":16769,"57725":16769,"14642":16770,"57726":16770,"141696":16771,"57727":16771,"141505":16772,"57728":16772,"24611":16773,"57729":16773,"24924":16774,"57730":16774,"25886":16775,"57731":16775,"25483":16776,"57732":16776,"131352":16777,"57733":16777,"25285":16778,"57734":16778,"137072":16779,"57735":16779,"25301":16780,"57736":16780,"142861":16781,"57737":16781,"25452":16782,"57738":16782,"149983":16783,"57739":16783,"14871":16784,"57740":16784,"25656":16785,"57741":16785,"25592":16786,"57742":16786,"136078":16787,"57743":16787,"137212":16788,"57744":16788,"28554":16789,"57746":16789,"142902":16790,"57747":16790,"153373":16792,"57750":16792,"25825":16793,"57751":16793,"25829":16794,"57752":16794,"38011":16795,"57753":16795,"14950":16796,"57754":16796,"25658":16797,"57755":16797,"14935":16798,"57756":16798,"25933":16799,"57757":16799,"28438":16800,"57758":16800,"150056":16801,"57759":16801,"150051":16802,"57760":16802,"25989":16803,"57761":16803,"25965":16804,"57762":16804,"25951":16805,"57763":16805,"26037":16807,"57765":16807,"149824":16808,"57766":16808,"19255":16809,"57767":16809,"26065":16810,"57768":16810,"16600":16811,"57769":16811,"137257":16812,"57770":16812,"57771":16813,"26083":16814,"57772":16814,"24543":16815,"57773":16815,"144384":16816,"57774":16816,"26136":16817,"57775":16817,"57776":16818,"143863":16818,"57777":16819,"143864":16819,"26180":16820,"57778":16820,"57779":16821,"143780":16821,"57780":16822,"143781":16822,"26187":16823,"57781":16823,"134773":16824,"57782":16824,"26215":16825,"57783":16825,"152038":16826,"57784":16826,"26227":16827,"57785":16827,"64018":16828,"143921":16829,"57788":16829,"165364":16830,"57789":16830,"143816":16831,"57790":16831,"152339":16832,"57791":16832,"30661":16833,"57792":16833,"141559":16834,"57793":16834,"39332":16835,"57794":16835,"26370":16836,"57795":16836,"148380":16837,"57796":16837,"150049":16838,"57797":16838,"27130":16839,"57799":16839,"145346":16840,"57800":16840,"194779":16841,"26471":16842,"57802":16842,"26466":16843,"57803":16843,"147917":16844,"57804":16844,"168173":16845,"57805":16845,"26583":16846,"57806":16846,"17641":16847,"57807":16847,"26658":16848,"57808":16848,"28240":16849,"57809":16849,"37436":16850,"57810":16850,"26625":16851,"57811":16851,"144358":16852,"57812":16852,"159136":16853,"57813":16853,"26717":16854,"57814":16854,"144495":16855,"57815":16855,"27105":16856,"57816":16856,"27147":16857,"57817":16857,"166623":16858,"57818":16858,"26995":16859,"57819":16859,"26819":16860,"57820":16860,"144845":16861,"57821":16861,"26881":16862,"57822":16862,"26880":16863,"57823":16863,"14849":16864,"57825":16864,"144956":16865,"57826":16865,"15232":16866,"57827":16866,"26540":16867,"57828":16867,"26977":16868,"57829":16868,"166474":16869,"57830":16869,"17148":16870,"57831":16870,"26934":16871,"57832":16871,"27032":16872,"57833":16872,"15265":16873,"57834":16873,"132041":16874,"57835":16874,"33635":16875,"57836":16875,"20624":16876,"57837":16876,"27129":16877,"57838":16877,"144985":16878,"57839":16878,"139562":16879,"57840":16879,"27205":16880,"57841":16880,"145155":16881,"57842":16881,"27293":16882,"57843":16882,"15347":16883,"57844":16883,"26545":16884,"57845":16884,"27336":16885,"57846":16885,"168348":16886,"57847":16886,"15373":16887,"57848":16887,"27421":16888,"57849":16888,"133411":16889,"57850":16889,"24798":16890,"60308":16890,"57851":16890,"27445":16891,"57852":16891,"27508":16892,"57853":16892,"141261":16893,"57854":16893,"28341":16894,"57855":16894,"57856":16895,"146139":16895,"137560":16897,"57858":16897,"14144":16898,"57859":16898,"21537":16899,"57860":16899,"146266":16900,"57861":16900,"27617":16901,"57862":16901,"147196":16902,"57863":16902,"27612":16903,"57864":16903,"27703":16904,"57865":16904,"140427":16905,"57866":16905,"149745":16906,"57867":16906,"158545":16907,"57868":16907,"27738":16908,"57869":16908,"33318":16909,"57870":16909,"27769":16910,"57871":16910,"146876":16911,"57872":16911,"17605":16912,"57873":16912,"146877":16913,"57874":16913,"147876":16914,"57875":16914,"149772":16915,"57876":16915,"149760":16916,"57877":16916,"146633":16917,"57878":16917,"14053":16918,"57879":16918,"15595":16919,"57880":16919,"134450":16920,"57881":16920,"39811":16921,"57882":16921,"143865":16922,"57883":16922,"140433":16923,"57884":16923,"32655":16924,"57885":16924,"26679":16925,"57886":16925,"159013":16926,"57887":16926,"159137":16927,"57888":16927,"159211":16928,"57889":16928,"28054":16929,"57890":16929,"27996":16930,"57891":16930,"28284":16931,"57892":16931,"28420":16932,"57893":16932,"149887":16933,"57894":16933,"147589":16934,"57895":16934,"159346":16935,"57896":16935,"34099":16936,"57897":16936,"159604":16937,"57898":16937,"20935":16938,"57899":16938,"33838":16941,"57902":16941,"166689":16942,"57903":16942,"194824":16943,"146991":16944,"57905":16944,"29779":16945,"57906":16945,"147330":16946,"57907":16946,"31180":16947,"57908":16947,"28239":16948,"57909":16948,"23185":16949,"57910":16949,"143435":16950,"57911":16950,"28664":16951,"57912":16951,"14093":16952,"57913":16952,"28573":16953,"57914":16953,"146992":16954,"57915":16954,"28410":16955,"57916":16955,"136343":16956,"57917":16956,"147517":16957,"57918":16957,"17749":16958,"57919":16958,"37872":16959,"57920":16959,"28484":16960,"57921":16960,"28508":16961,"57922":16961,"15694":16962,"57923":16962,"28532":16963,"57924":16963,"168304":16964,"57925":16964,"15675":16965,"57926":16965,"28575":16966,"57927":16966,"147780":16967,"57928":16967,"28627":16968,"57929":16968,"147601":16969,"57930":16969,"147797":16970,"57931":16970,"147513":16971,"57932":16971,"147440":16972,"57933":16972,"147380":16973,"57934":16973,"147775":16974,"57935":16974,"20959":16975,"57936":16975,"57937":16976,"147798":16976,"57938":16977,"147799":16977,"147776":16978,"57939":16978,"156125":16979,"57940":16979,"28747":16980,"57941":16980,"28798":16981,"57942":16981,"28839":16982,"57943":16982,"28876":16984,"57945":16984,"28885":16985,"57946":16985,"28886":16986,"57947":16986,"28895":16987,"57948":16987,"16644":16988,"57949":16988,"15848":16989,"57950":16989,"29108":16990,"57951":16990,"29078":16991,"57952":16991,"148087":16992,"57953":16992,"28971":16993,"57954":16993,"28997":16994,"57955":16994,"23176":16995,"57956":16995,"29002":16996,"57957":16996,"64072":16997,"148325":16998,"57960":16998,"29007":16999,"57961":16999,"37730":17000,"57962":17000,"148161":17001,"57963":17001,"28972":17002,"57964":17002,"148570":17003,"57965":17003,"150055":17004,"57966":17004,"150050":17005,"57967":17005,"29114":17006,"57968":17006,"166888":17007,"57969":17007,"28861":17008,"57970":17008,"29198":17009,"57971":17009,"37954":17010,"57972":17010,"29205":17011,"57973":17011,"22801":17012,"57974":17012,"37955":17013,"57975":17013,"29220":17014,"57976":17014,"37697":17015,"57977":17015,"153093":17016,"57978":17016,"29230":17017,"57979":17017,"29248":17018,"57980":17018,"149876":17019,"57981":17019,"26813":17020,"57982":17020,"29269":17021,"57983":17021,"29271":17022,"57984":17022,"15957":17023,"57985":17023,"143428":17024,"57986":17024,"26637":17025,"57987":17025,"28477":17026,"57988":17026,"29314":17027,"57989":17027,"29483":17029,"57991":17029,"149539":17030,"57992":17030,"165931":17031,"57993":17031,"18669":17032,"57994":17032,"165892":17033,"57995":17033,"29480":17034,"57996":17034,"29486":17035,"57997":17035,"29647":17036,"57998":17036,"29610":17037,"57999":17037,"134202":17038,"58000":17038,"158254":17039,"58001":17039,"29641":17040,"58002":17040,"29769":17041,"58003":17041,"147938":17042,"58004":17042,"136935":17043,"58005":17043,"150052":17044,"58006":17044,"26147":17045,"58007":17045,"14021":17046,"58008":17046,"149943":17047,"58009":17047,"149901":17048,"58010":17048,"150011":17049,"58011":17049,"29687":17050,"58012":17050,"29717":17051,"58013":17051,"26883":17052,"58014":17052,"150054":17053,"58015":17053,"29753":17054,"58016":17054,"16087":17055,"58018":17055,"194863":17056,"141485":17057,"58020":17057,"29792":17058,"58021":17058,"167602":17059,"58022":17059,"29767":17060,"58023":17060,"29668":17061,"58024":17061,"29814":17062,"58025":17062,"33721":17063,"58026":17063,"29804":17064,"58027":17064,"29812":17065,"58029":17065,"37873":17066,"58030":17066,"27180":17067,"58031":17067,"29826":17068,"58032":17068,"18771":17069,"58033":17069,"150156":17070,"58034":17070,"147807":17071,"58035":17071,"150137":17072,"58036":17072,"166799":17073,"58037":17073,"23366":17074,"58038":17074,"166915":17075,"58039":17075,"137374":17076,"58040":17076,"29896":17077,"58041":17077,"137608":17078,"58042":17078,"29966":17079,"58043":17079,"29982":17080,"58045":17080,"167641":17081,"58046":17081,"137803":17082,"58047":17082,"23511":17083,"58048":17083,"167596":17084,"58049":17084,"37765":17085,"58050":17085,"30029":17086,"58051":17086,"30026":17087,"58052":17087,"30055":17088,"58053":17088,"30062":17089,"58054":17089,"151426":17090,"58055":17090,"16132":17091,"58056":17091,"150803":17092,"58057":17092,"30094":17093,"58058":17093,"29789":17094,"58059":17094,"30110":17095,"58060":17095,"30132":17096,"58061":17096,"30210":17097,"58062":17097,"30252":17098,"58063":17098,"30289":17099,"58064":17099,"30287":17100,"58065":17100,"30319":17101,"58066":17101,"58067":17102,"156661":17103,"58068":17103,"30352":17104,"58069":17104,"33263":17105,"58070":17105,"14328":17106,"58071":17106,"157969":17107,"58072":17107,"157966":17108,"58073":17108,"30369":17109,"58074":17109,"30373":17110,"58075":17110,"30391":17111,"58076":17111,"30412":17112,"58077":17112,"159647":17113,"58078":17113,"33890":17114,"58079":17114,"151709":17115,"58080":17115,"151933":17116,"58081":17116,"138780":17117,"58082":17117,"30494":17118,"58083":17118,"30502":17119,"58084":17119,"30528":17120,"58085":17120,"25775":17121,"58086":17121,"152096":17122,"58087":17122,"30552":17123,"58088":17123,"144044":17124,"58089":17124,"30639":17125,"58090":17125,"166244":17126,"58091":17126,"166248":17127,"58092":17127,"136897":17128,"58093":17128,"30708":17129,"58094":17129,"26826":17131,"58098":17131,"30895":17132,"58099":17132,"30919":17133,"58100":17133,"30931":17134,"58101":17134,"38565":17135,"58102":17135,"31022":17136,"58103":17136,"153056":17137,"58104":17137,"30935":17138,"58105":17138,"31028":17139,"58106":17139,"30897":17140,"58107":17140,"161292":17141,"58108":17141,"36792":17142,"58109":17142,"34948":17143,"58110":17143,"140828":17144,"58113":17144,"31110":17145,"58114":17145,"35072":17146,"58115":17146,"26882":17147,"58116":17147,"31104":17148,"58117":17148,"153687":17149,"58118":17149,"31133":17150,"58119":17150,"162617":17151,"58120":17151,"31036":17152,"58121":17152,"31145":17153,"58122":17153,"28202":17154,"58123":17154,"160038":17155,"58124":17155,"16040":17156,"58125":17156,"31174":17157,"58126":17157,"168205":17158,"58127":17158,"31188":17159,"58128":17159,"21797":17161,"62526":17161,"134210":17163,"62528":17163,"134421":17164,"62529":17164,"151851":17165,"62530":17165,"21904":17166,"62531":17166,"142534":17167,"62532":17167,"14828":17168,"62533":17168,"131905":17169,"62534":17169,"36422":17170,"62535":17170,"150968":17171,"62536":17171,"169189":17172,"62537":17172,"164030":17174,"62539":17174,"30586":17175,"62540":17175,"142392":17176,"62541":17176,"14900":17177,"62542":17177,"18389":17178,"62543":17178,"164189":17179,"62544":17179,"158194":17180,"62545":17180,"151018":17181,"62546":17181,"25821":17182,"62547":17182,"134524":17183,"62548":17183,"135092":17184,"62549":17184,"134357":17185,"62550":17185,"25741":17187,"62552":17187,"36478":17188,"62553":17188,"134806":17189,"62554":17189,"135012":17191,"62556":17191,"142505":17192,"62557":17192,"164438":17193,"62558":17193,"148691":17194,"62559":17194,"134470":17196,"62561":17196,"170573":17197,"62562":17197,"164073":17198,"62563":17198,"18420":17199,"62564":17199,"151207":17200,"62565":17200,"142530":17201,"62566":17201,"39602":17202,"62567":17202,"14951":17203,"62568":17203,"169460":17204,"62569":17204,"16365":17205,"62570":17205,"13574":17206,"62571":17206,"152263":17207,"62572":17207,"169940":17208,"62573":17208,"142660":17210,"62575":17210,"40302":17211,"62576":17211,"38933":17212,"62577":17212,"17369":17214,"62579":17214,"25780":17216,"62581":17216,"21731":17217,"62582":17217,"62584":17219,"142282":17219,"14843":17221,"62586":17221,"157402":17223,"62588":17223,"157462":17224,"62589":17224,"162208":17225,"62590":17225,"25834":17226,"62591":17226,"151634":17227,"62592":17227,"134211":17228,"62593":17228,"36456":17229,"62594":17229,"166732":17231,"62596":17231,"132913":17232,"62597":17232,"18443":17234,"62599":17234,"131497":17235,"62600":17235,"16378":17236,"62601":17236,"22643":17237,"62602":17237,"142733":17238,"62603":17238,"148936":17240,"62605":17240,"132348":17241,"62606":17241,"155799":17242,"62607":17242,"134988":17243,"62608":17243,"21881":17245,"62610":17245,"17338":17247,"62612":17247,"19124":17249,"62614":17249,"141926":17250,"62615":17250,"135325":17251,"62616":17251,"33194":17252,"62617":17252,"39157":17253,"62618":17253,"134556":17254,"62619":17254,"25465":17255,"62620":17255,"14846":17256,"62621":17256,"141173":17257,"62622":17257,"36288":17258,"62623":17258,"22177":17259,"62624":17259,"25724":17260,"62625":17260,"15939":17261,"62626":17261,"173569":17263,"62628":17263,"134665":17264,"62629":17264,"142031":17265,"62630":17265,"135368":17268,"62633":17268,"145858":17269,"62634":17269,"14738":17270,"62635":17270,"14854":17271,"62636":17271,"164507":17272,"62637":17272,"13688":17273,"62638":17273,"155209":17274,"62639":17274,"139463":17275,"62640":17275,"142514":17278,"62643":17278,"169760":17279,"62644":17279,"13500":17280,"62645":17280,"27709":17281,"62646":17281,"151099":17282,"62647":17282,"161140":17285,"62650":17285,"142987":17286,"62651":17286,"139784":17287,"62652":17287,"173659":17288,"62653":17288,"167117":17289,"62654":17289,"134778":17290,"62655":17290,"134196":17291,"62656":17291,"161337":17292,"62683":17292,"142286":17293,"62684":17293,"62687":17294,"142417":17294,"14872":17295,"62689":17295,"62691":17296,"135367":17296,"62693":17297,"173618":17297,"167122":17298,"62695":17298,"167321":17299,"62696":17299,"167114":17300,"62697":17300,"38314":17301,"62698":17301,"62706":17303,"161630":17303,"28992":17304,"62708":17304,"20822":17306,"62385":17306,"20222":17307,"20616":17308,"62487":17308,"13459":17310,"62489":17310,"20870":17311,"62491":17311,"24130":17312,"63037":17312,"20997":17313,"62495":17313,"21031":17314,"62436":17314,"21113":17315,"62497":17315,"194600":17316,"13651":17317,"62504":17317,"21442":17318,"62505":17318,"21343":17319,"62715":17319,"21823":17321,"62520":17321,"21976":17323,"59986":17323,"13789":17324,"62722":17324,"22049":17325,"63067":17325,"22100":17327,"60044":17327,"60148":17328,"135291":17328,"60153":17330,"135379":17330,"61095":17332,"135934":17332,"14265":17335,"60104":17335,"23745":17336,"61099":17336,"23829":17337,"63066":17337,"23894":17338,"63030":17338,"14392":17339,"63036":17339,"20097":17340,"62477":17340,"24253":17341,"63038":17341,"14612":17342,"63042":17342,"25017":17343,"63050":17343,"25232":17344,"63054":17344,"25368":17345,"63056":17345,"25690":17346,"63063":17346,"25745":17347,"62381":17347,"33133":17348,"62709":17348,"33156":17349,"59922":17349,"33171":17350,"59924":17350,"26624":17351,"63080":17351,"15292":17352,"63093":17352,"29327":17353,"60517":17353,"29389":17354,"59781":17354,"149487":17355,"29497":17356,"59785":17356,"30018":17357,"59811":17357,"30172":17358,"59817":17358,"16320":17359,"59818":17359,"60278":17360,"151205":17360,"16343":17361,"59820":17361,"30336":17363,"30348":17364,"59824":17364,"151388":17364,"16552":17365,"59845":17365,"30777":17366,"59846":17366,"16643":17367,"59855":17367,"31377":17368,"59863":17368,"31771":17369,"59876":17369,"31981":17370,"59884":17370,"32659":17371,"62658":17371,"32686":17372,"59892":17372,"33535":17374,"59936":17374,"22623":17375,"59981":17375,"34482":17376,"59960":17376,"17836":17377,"34699":17378,"59963":17378,"35143":17379,"59969":17379,"35369":17381,"59972":17381,"36465":17383,"59988":17383,"60484":17384,"164233":17384,"36528":17385,"59990":17385,"37214":17387,"62443":17387,"37260":17388,"62441":17388,"39182":17389,"60051":17389,"39196":17390,"60054":17390,"39809":17393,"60066":17393,"40384":17394,"60080":17394,"40339":17395,"60078":17395,"40620":17396,"60085":17396,"19857":17397,"60540":17397,"37818":17399,"40571":17400,"60084":17400,"28809":17401,"63148":17401,"29512":17402,"59788":17402,"31129":17404,"59858":17404,"36791":17405,"59997":17405,"39234":17407,"60056":17407,"8364":17601,"12443":17606,"63518":17606,"12444":17607,"63519":17607,"11904":17608,"63520":17608,"12736":17609,"62211":17609,"12737":17610,"62212":17610,"12738":17611,"62213":17611,"12739":17612,"62214":17612,"12740":17613,"62215":17613,"131340":17614,"62216":17614,"12741":17615,"62217":17615,"131281":17616,"62218":17616,"131277":17617,"62219":17617,"12742":17618,"62220":17618,"12743":17619,"62221":17619,"131275":17620,"62222":17620,"139240":17621,"62223":17621,"12744":17622,"62224":17622,"131274":17623,"62225":17623,"12745":17624,"62226":17624,"12746":17625,"62227":17625,"12747":17626,"62228":17626,"12748":17627,"62229":17627,"131342":17628,"62230":17628,"12749":17629,"62231":17629,"12750":17630,"62232":17630,"62776":17631,"62777":17632,"138177":17633,"62778":17633,"194680":17634,"62779":17634,"12205":17635,"38737":17635,"62780":17635,"131206":17636,"62781":17636,"20059":17637,"62782":17637,"20155":17638,"62783":17638,"13630":17639,"62784":17639,"23587":17640,"62785":17640,"24401":17641,"62786":17641,"24516":17642,"62787":17642,"14586":17643,"62788":17643,"25164":17644,"62789":17644,"25909":17645,"62790":17645,"27514":17646,"62791":17646,"27701":17647,"62792":17647,"27706":17648,"62793":17648,"28780":17649,"62794":17649,"29227":17650,"62795":17650,"20012":17651,"62796":17651,"29357":17652,"62797":17652,"149737":17653,"62798":17653,"32594":17654,"62799":17654,"31035":17655,"62800":17655,"31993":17656,"62801":17656,"32595":17657,"62802":17657,"156266":17658,"62803":17658,"13505":17659,"62804":17659,"156491":17660,"62806":17660,"32770":17661,"62807":17661,"32896":17662,"62808":17662,"157202":17663,"62809":17663,"158033":17664,"62810":17664,"21341":17665,"62811":17665,"34916":17666,"62812":17666,"35265":17667,"62813":17667,"161970":17668,"62814":17668,"35744":17669,"62815":17669,"36125":17670,"62816":17670,"38021":17671,"62817":17671,"38264":17672,"62818":17672,"38271":17673,"62819":17673,"38376":17674,"62820":17674,"167439":17675,"62821":17675,"38886":17676,"62822":17676,"39029":17677,"62823":17677,"39118":17678,"62824":17678,"39134":17679,"62825":17679,"39267":17680,"62826":17680,"170000":17681,"62827":17681,"40060":17682,"62828":17682,"40479":17683,"62829":17683,"40644":17684,"62830":17684,"27503":17685,"62831":17685,"63751":17686,"62832":17686,"20023":17687,"62833":17687,"131207":17688,"62834":17688,"38429":17689,"62835":17689,"25143":17690,"62836":17690,"38050":17691,"62837":17691,"11908":17692,"63521":17692,"11910":17693,"63522":17693,"11911":17694,"63523":17694,"11912":17695,"63524":17695,"11914":17696,"63525":17696,"11916":17697,"63526":17697,"11917":17698,"63527":17698,"11925":17699,"63528":17699,"11932":17700,"63529":17700,"11941":17701,"63531":17701,"11943":17702,"63532":17702,"11946":17703,"63533":17703,"11948":17704,"63534":17704,"11950":17705,"63535":17705,"11958":17706,"63536":17706,"11964":17707,"63537":17707,"11966":17708,"63538":17708,"11978":17709,"63540":17709,"11980":17710,"63541":17710,"11981":17711,"63542":17711,"11983":17712,"63543":17712,"11990":17713,"63544":17713,"11991":17714,"63545":17714,"11998":17715,"63546":17715,"172969":17716,"62368":17716,"135493":17717,"62369":17717,"25866":17718,"62371":17718,"20029":17719,"62374":17719,"28381":17720,"62375":17720,"40270":17721,"62376":17721,"37343":17722,"62377":17722,"62380":17723,"161589":17723,"20250":17724,"62382":17724,"20264":17725,"62383":17725,"20392":17726,"62384":17726,"20852":17727,"62386":17727,"20892":17728,"62387":17728,"20964":17729,"62388":17729,"21153":17730,"62389":17730,"21160":17731,"62390":17731,"21307":17732,"62391":17732,"21326":17733,"62392":17733,"21457":17734,"62393":17734,"21464":17735,"62394":17735,"22242":17736,"62395":17736,"22768":17737,"62396":17737,"22788":17738,"62397":17738,"22791":17739,"62398":17739,"22834":17740,"62399":17740,"22836":17741,"62400":17741,"23398":17742,"62401":17742,"23454":17743,"62402":17743,"23455":17744,"62403":17744,"23706":17745,"62404":17745,"24198":17746,"62405":17746,"24635":17747,"62406":17747,"25993":17748,"62407":17748,"26622":17749,"62408":17749,"26628":17750,"62409":17750,"26725":17751,"62410":17751,"27982":17752,"62411":17752,"28860":17753,"62412":17753,"30005":17754,"62413":17754,"32420":17755,"62414":17755,"32428":17756,"62415":17756,"32442":17757,"62416":17757,"32455":17758,"62417":17758,"32463":17759,"62418":17759,"32479":17760,"62419":17760,"32518":17761,"62420":17761,"32567":17762,"62421":17762,"33402":17763,"62422":17763,"33487":17764,"62423":17764,"33647":17765,"62424":17765,"35270":17766,"62425":17766,"35774":17767,"62426":17767,"35810":17768,"62427":17768,"36710":17769,"62428":17769,"36711":17770,"62429":17770,"36718":17771,"62430":17771,"29713":17772,"62431":17772,"31996":17773,"62432":17773,"32205":17774,"62433":17774,"26950":17775,"62434":17775,"31433":17776,"62435":17776,"30904":17777,"62442":17777,"32956":17778,"62444":17778,"36107":17779,"62446":17779,"33014":17780,"62447":17780,"133607":17781,"62448":17781,"32927":17782,"62451":17782,"40647":17783,"62452":17783,"19661":17784,"62453":17784,"40393":17785,"62454":17785,"40460":17786,"62455":17786,"19518":17787,"62456":17787,"171510":17788,"62457":17788,"159758":17789,"62458":17789,"40458":17790,"62459":17790,"172339":17791,"62460":17791,"13761":17792,"62461":17792,"28314":17793,"62463":17793,"33342":17794,"62464":17794,"29977":17795,"62465":17795,"18705":17796,"62467":17796,"39532":17797,"62468":17797,"39567":17798,"62469":17798,"40857":17799,"62470":17799,"31111":17800,"62471":17800,"164972":17801,"62472":17801,"138698":17802,"62473":17802,"132560":17803,"62474":17803,"142054":17804,"62475":17804,"20004":17805,"62476":17805,"20096":17806,"62478":17806,"20103":17807,"62479":17807,"20159":17808,"62480":17808,"20203":17809,"62481":17809,"20279":17810,"62482":17810,"13388":17811,"62483":17811,"20413":17812,"62484":17812,"15944":17813,"62485":17813,"20483":17814,"62486":17814,"13437":17815,"62488":17815,"13477":17816,"62490":17816,"22789":17817,"62492":17817,"20955":17818,"62493":17818,"20988":17819,"62494":17819,"20105":17820,"62496":17820,"21136":17821,"62498":17821,"21287":17822,"62499":17822,"13767":17823,"62500":17823,"21417":17824,"62501":17824,"13649":17825,"62502":17825,"21424":17826,"62503":17826,"21539":17827,"62506":17827,"13677":17828,"62507":17828,"13682":17829,"62508":17829,"13953":17830,"62509":17830,"21651":17831,"62510":17831,"21667":17832,"62511":17832,"21684":17833,"62512":17833,"21689":17834,"62513":17834,"21712":17835,"62514":17835,"21743":17836,"62515":17836,"21784":17837,"62516":17837,"21795":17838,"62517":17838,"21800":17839,"62518":17839,"13720":17840,"62519":17840,"13733":17841,"62521":17841,"13759":17842,"62522":17842,"21975":17843,"62523":17843,"13765":17844,"62524":17844,"163204":17845,"62525":17845,"16467":17846,"62538":17846,"62551":17847,"135412":17847,"62555":17848,"134155":17848,"62574":17849,"161992":17849,"62580":17850,"155813":17850,"62583":17851,"142668":17851,"62585":17852,"135287":17852,"62587":17853,"135279":17853,"62595":17854,"139681":17854,"62609":17855,"134550":17855,"16571":17856,"62611":17856,"62631":17857,"142537":17857,"22098":17858,"62641":17858,"134961":17859,"62642":17859,"62657":17860,"157724":17860,"135375":17861,"62659":17861,"141315":17862,"62660":17862,"141625":17863,"62661":17863,"13819":17864,"62662":17864,"152035":17865,"62663":17865,"134796":17866,"62664":17866,"135053":17867,"62665":17867,"134826":17868,"62666":17868,"16275":17869,"62667":17869,"134960":17870,"62668":17870,"134471":17871,"62669":17871,"135503":17872,"62670":17872,"134732":17873,"62671":17873,"134827":17874,"62673":17874,"134057":17875,"62674":17875,"134472":17876,"62675":17876,"135360":17877,"62676":17877,"135485":17878,"62677":17878,"16377":17879,"62678":17879,"140950":17880,"62679":17880,"25650":17881,"62680":17881,"135085":17882,"62681":17882,"144372":17883,"62682":17883,"62685":17884,"134526":17884,"62686":17885,"134527":17885,"62688":17886,"142421":17886,"62690":17887,"134808":17887,"62692":17888,"134958":17888,"62694":17889,"158544":17889,"21708":17890,"62699":17890,"33476":17891,"62700":17891,"21945":17892,"62701":17892,"171715":17893,"62703":17893,"39974":17894,"62704":17894,"39606":17895,"62705":17895,"62707":17896,"142830":17896,"33004":17897,"62710":17897,"23580":17898,"62711":17898,"157042":17899,"62712":17899,"33076":17900,"62713":17900,"14231":17901,"62714":17901,"164029":17902,"62716":17902,"37302":17903,"62717":17903,"134906":17904,"62718":17904,"134671":17905,"62719":17905,"134775":17906,"62720":17906,"134907":17907,"62721":17907,"151019":17908,"62723":17908,"13833":17909,"62724":17909,"134358":17910,"62725":17910,"22191":17911,"62726":17911,"141237":17912,"62727":17912,"135369":17913,"62728":17913,"134672":17914,"62729":17914,"134776":17915,"62730":17915,"135288":17916,"62731":17916,"135496":17917,"62732":17917,"164359":17918,"62733":17918,"136277":17919,"62734":17919,"134777":17920,"62735":17920,"151120":17921,"62736":17921,"142756":17922,"62737":17922,"23124":17923,"62738":17923,"62739":17924,"135197":17924,"62740":17925,"135198":17925,"62741":17926,"135413":17926,"62742":17927,"135414":17927,"22428":17928,"62743":17928,"134673":17929,"62744":17929,"161428":17930,"62745":17930,"164557":17931,"62746":17931,"135093":17932,"62747":17932,"134779":17933,"62748":17933,"151934":17934,"62749":17934,"14083":17935,"62750":17935,"135094":17936,"62751":17936,"135552":17937,"62752":17937,"152280":17938,"62753":17938,"172733":17939,"62754":17939,"149978":17940,"62755":17940,"137274":17941,"62756":17941,"147831":17942,"62757":17942,"164476":17943,"62758":17943,"22681":17944,"62759":17944,"21096":17945,"62760":17945,"13850":17946,"62761":17946,"153405":17947,"62762":17947,"31666":17948,"62763":17948,"23400":17949,"62764":17949,"18432":17950,"62765":17950,"19244":17951,"62766":17951,"40743":17952,"62767":17952,"18919":17953,"62768":17953,"39967":17954,"62769":17954,"39821":17955,"62770":17955,"154484":17956,"62771":17956,"143677":17957,"62772":17957,"22011":17958,"62773":17958,"13810":17959,"62774":17959,"22153":17960,"62775":17960,"23870":17961,"63028":17961,"23880":17962,"63029":17962,"15868":17963,"63031":17963,"14351":17964,"63032":17964,"23972":17965,"63033":17965,"23993":17966,"63034":17966,"14368":17967,"63035":17967,"24357":17968,"63039":17968,"24451":17969,"63040":17969,"14600":17970,"63041":17970,"14655":17971,"63043":17971,"14669":17972,"63044":17972,"24791":17973,"63045":17973,"24893":17974,"63046":17974,"23781":17975,"63047":17975,"14729":17976,"63048":17976,"25015":17977,"63049":17977,"25039":17978,"63051":17978,"14776":17979,"63052":17979,"25132":17980,"63053":17980,"25317":17981,"63055":17981,"14840":17982,"63057":17982,"22193":17983,"63058":17983,"14851":17984,"63059":17984,"25570":17985,"63060":17985,"25595":17986,"63061":17986,"25607":17987,"63062":17987,"14923":17988,"63064":17988,"25792":17989,"63065":17989,"40863":17990,"63068":17990,"14999":17991,"63069":17991,"25990":17992,"63070":17992,"15037":17993,"63071":17993,"26111":17994,"63072":17994,"26195":17995,"63073":17995,"15090":17996,"63074":17996,"26258":17997,"63075":17997,"15138":17998,"63076":17998,"26390":17999,"63077":17999,"15170":18000,"63078":18000,"26532":18001,"63079":18001,"15192":18002,"63081":18002,"26698":18003,"63082":18003,"26756":18004,"63083":18004,"15218":18005,"63084":18005,"15217":18006,"63085":18006,"15227":18007,"63086":18007,"26889":18008,"63087":18008,"26947":18009,"63088":18009,"29276":18010,"63089":18010,"26980":18011,"63090":18011,"27039":18012,"63091":18012,"27013":18013,"63092":18013,"27094":18014,"63094":18014,"15325":18015,"63095":18015,"27237":18016,"63096":18016,"27252":18017,"63097":18017,"27249":18018,"63098":18018,"27266":18019,"63099":18019,"15340":18020,"63100":18020,"27289":18021,"63101":18021,"15346":18022,"63102":18022,"27307":18023,"63103":18023,"27317":18024,"63104":18024,"27348":18025,"63105":18025,"27382":18026,"63106":18026,"27521":18027,"63107":18027,"27585":18028,"63108":18028,"27626":18029,"63109":18029,"27765":18030,"63110":18030,"27818":18031,"63111":18031,"15563":18032,"63112":18032,"27906":18033,"63113":18033,"27910":18034,"63114":18034,"27942":18035,"63115":18035,"28033":18036,"63116":18036,"15599":18037,"63117":18037,"28068":18038,"63118":18038,"28081":18039,"63119":18039,"28181":18040,"63120":18040,"28184":18041,"63121":18041,"28201":18042,"63122":18042,"28294":18043,"63123":18043,"166336":18044,"63124":18044,"28347":18045,"63125":18045,"28386":18046,"63126":18046,"28378":18047,"63127":18047,"40831":18048,"63128":18048,"28392":18049,"63129":18049,"28393":18050,"63130":18050,"28452":18051,"63131":18051,"28468":18052,"63132":18052,"15686":18053,"63133":18053,"147265":18054,"63134":18054,"28545":18055,"63135":18055,"28606":18056,"63136":18056,"15722":18057,"63137":18057,"15733":18058,"63138":18058,"29111":18059,"63139":18059,"23705":18060,"63140":18060,"15754":18061,"63141":18061,"28716":18062,"63142":18062,"15761":18063,"63143":18063,"28752":18064,"63144":18064,"28756":18065,"63145":18065,"28783":18066,"63146":18066,"28799":18067,"63147":18067,"131877":18068,"63149":18068,"17345":18069,"63150":18069,"13809":18070,"63151":18070,"134872":18071,"63152":18071,"13902":18072,"58134":18072,"15789":18073,"58172":18073,"154725":18074,"58173":18074,"26237":18075,"58183":18075,"31860":18076,"58188":18076,"29837":18077,"58197":18077,"32402":18078,"58215":18078,"17667":18079,"58232":18079,"58260":18080,"151480":18080,"58270":18081,"133901":18081,"58277":18082,"158474":18082,"13438":18083,"58311":18083,"58317":18084,"143087":18084,"58325":18085,"146613":18085,"58343":18086,"159385":18086,"34673":18087,"58364":18087,"25537":18088,"58385":18088,"30583":18089,"58387":18089,"35210":18090,"58390":18090,"58406":18091,"147343":18091,"35660":18092,"58415":18092,"58440":18093,"150729":18093,"18730":18094,"58464":18094,"172052":18095,"58471":18095,"165564":18096,"58472":18096,"165121":18097,"58473":18097,"15088":18098,"58490":18098,"28815":18099,"58511":18099,"58529":18100,"140922":18100,"58637":18101,"158120":18101,"58646":18102,"148043":18102,"26760":18103,"58662":18103,"58664":18104,"139611":18104,"40802":18105,"58702":18105,"37830":18106,"58793":18106,"58802":18107,"131967":18107,"37734":18108,"58888":18108,"37519":18109,"58901":18109,"34324":18110,"58954":18110,"58986":18111,"173147":18111,"16784":18112,"59010":18112,"26511":18113,"59045":18113,"26654":18114,"59048":18114,"14435":18115,"59051":18115,"59077":18116,"149996":18116,"15129":18117,"59128":18117,"33942":18118,"59176":18118,"59241":18119,"149858":18119,"14818":18120,"59254":18120,"33920":18121,"59259":18121,"17262":18122,"59328":18122,"38769":18123,"59402":18123,"39323":18124,"59427":18124,"18733":18125,"59499":18125,"28439":18126,"59703":18126,"160009":18127,"59704":18127,"28838":18128,"59746":18128,"150095":18129,"59752":18129,"32357":18130,"59753":18130,"23855":18131,"59755":18131,"15859":18132,"59756":18132,"150109":18133,"59758":18133,"137183":18134,"59759":18134,"32164":18135,"59760":18135,"33830":18136,"59761":18136,"21637":18137,"59762":18137,"146170":18138,"59763":18138,"131604":18139,"59765":18139,"22398":18140,"59766":18140,"133333":18141,"59767":18141,"132633":18142,"59768":18142,"16357":18143,"59769":18143,"139166":18144,"59770":18144,"172726":18145,"59771":18145,"28675":18146,"59772":18146,"168283":18147,"59773":18147,"23920":18148,"59774":18148,"29583":18149,"59775":18149,"166489":18150,"59777":18150,"168992":18151,"59778":18151,"20424":18152,"59779":18152,"32743":18153,"59780":18153,"29456":18154,"59782":18154,"29496":18155,"59784":18155,"29505":18156,"59787":18156,"16041":18157,"59789":18157,"29173":18158,"59792":18158,"149746":18159,"59793":18159,"29665":18160,"59794":18160,"16074":18161,"59796":18161,"16081":18162,"59798":18162,"29721":18163,"59801":18163,"29726":18164,"59802":18164,"29727":18165,"59803":18165,"16098":18166,"59804":18166,"16112":18167,"59805":18167,"16116":18168,"59806":18168,"16122":18169,"59807":18169,"29907":18170,"59808":18170,"16142":18171,"59809":18171,"16211":18172,"59810":18172,"30061":18173,"59812":18173,"30066":18174,"59813":18174,"30093":18175,"59814":18175,"16252":18176,"59815":18176,"30152":18177,"59816":18177,"30285":18178,"59819":18178,"30324":18179,"59821":18179,"16348":18180,"59822":18180,"30330":18181,"59823":18181,"29064":18182,"59825":18182,"22051":18183,"59826":18183,"35200":18184,"59827":18184,"16413":18185,"59829":18185,"30531":18186,"59830":18186,"16441":18187,"59831":18187,"16453":18188,"59833":18188,"13787":18189,"59834":18189,"30616":18190,"59835":18190,"16490":18191,"59836":18191,"16495":18192,"59837":18192,"30654":18193,"59839":18193,"30667":18194,"59840":18194,"30744":18195,"59842":18195,"30748":18196,"59844":18196,"30791":18197,"59847":18197,"30801":18198,"59848":18198,"30822":18199,"59849":18199,"33864":18200,"59850":18200,"152885":18201,"59851":18201,"31027":18202,"59852":18202,"31026":18203,"59854":18203,"16649":18204,"59856":18204,"31121":18205,"59857":18205,"31238":18206,"59860":18206,"16743":18207,"59862":18207,"16818":18208,"59864":18208,"31420":18209,"59865":18209,"33401":18210,"59866":18210,"16836":18211,"59867":18211,"31439":18212,"59868":18212,"31451":18213,"59869":18213,"16847":18214,"59870":18214,"31586":18215,"59872":18215,"31596":18216,"59873":18216,"31611":18217,"59874":18217,"31762":18218,"59875":18218,"16992":18219,"59877":18219,"17018":18220,"59878":18220,"31867":18221,"59879":18221,"31900":18222,"59880":18222,"17036":18223,"59881":18223,"31928":18224,"59882":18224,"17044":18225,"59883":18225,"36755":18226,"59885":18226,"28864":18227,"59886":18227,"134351":18228,"59887":18228,"32207":18229,"59888":18229,"32212":18230,"59889":18230,"32208":18231,"59890":18231,"32253":18232,"59891":18232,"32692":18233,"59893":18233,"29343":18234,"59894":18234,"17303":18235,"59895":18235,"32800":18236,"59896":18236,"32805":18237,"59897":18237,"32814":18238,"59899":18238,"32817":18239,"59900":18239,"32852":18240,"59901":18240,"22452":18241,"59903":18241,"28832":18242,"59904":18242,"32951":18243,"59905":18243,"33001":18244,"59906":18244,"17389":18245,"59907":18245,"33036":18246,"59908":18246,"33038":18247,"59910":18247,"33042":18248,"59911":18248,"33044":18249,"59913":18249,"17409":18250,"59914":18250,"15161":18251,"59915":18251,"33110":18252,"59916":18252,"33113":18253,"59917":18253,"33114":18254,"59918":18254,"17427":18255,"59919":18255,"33148":18256,"59921":18256,"17445":18257,"59923":18257,"17453":18258,"59925":18258,"33189":18259,"59926":18259,"22511":18260,"59927":18260,"33217":18261,"59928":18261,"33252":18262,"59929":18262,"33364":18263,"59930":18263,"17551":18264,"59931":18264,"33398":18265,"59933":18265,"33482":18266,"59934":18266,"33496":18267,"59935":18267,"17584":18268,"59937":18268,"33623":18269,"59938":18269,"38505":18270,"59939":18270,"33797":18271,"59941":18271,"28917":18272,"59942":18272,"33892":18273,"59943":18273,"33928":18274,"59945":18274,"17668":18275,"59946":18275,"33982":18276,"59947":18276,"34017":18277,"59948":18277,"34040":18278,"59949":18278,"34064":18279,"59950":18279,"34104":18280,"59951":18280,"34130":18281,"59952":18281,"17723":18282,"59953":18282,"34159":18283,"59954":18283,"34160":18284,"59955":18284,"34272":18285,"59956":18285,"17783":18286,"59957":18286,"34418":18287,"59958":18287,"34450":18288,"59959":18288,"34543":18289,"59961":18289,"38469":18290,"59962":18290,"17926":18291,"59964":18291,"17943":18292,"59965":18292,"34990":18293,"59966":18293,"35071":18294,"59967":18294,"35108":18295,"59968":18295,"35217":18296,"59970":18296,"162151":18297,"59971":18297,"35384":18298,"59973":18298,"35476":18299,"59974":18299,"35508":18300,"59975":18300,"35921":18301,"59976":18301,"36052":18302,"59977":18302,"36082":18303,"59978":18303,"36124":18304,"59979":18304,"18328":18305,"59980":18305,"36291":18306,"59982":18306,"18413":18307,"59983":18307,"36410":18308,"59985":18308,"22356":18309,"59987":18309,"22005":18310,"59989":18310,"18487":18311,"59991":18311,"36558":18312,"59992":18312,"36578":18313,"59993":18313,"36580":18314,"59994":18314,"36589":18315,"59995":18315,"36594":18316,"59996":18316,"36801":18317,"59998":18317,"36810":18318,"59999":18318,"36812":18319,"60000":18319,"36915":18320,"60001":18320,"18605":18321,"60003":18321,"39136":18322,"60004":18322,"37395":18323,"60005":18323,"18718":18324,"60006":18324,"37416":18325,"60007":18325,"37464":18326,"60008":18326,"37483":18327,"60009":18327,"37553":18328,"60010":18328,"37550":18329,"60011":18329,"37567":18330,"60012":18330,"37603":18331,"60013":18331,"37611":18332,"60014":18332,"37619":18333,"60015":18333,"37620":18334,"60016":18334,"37629":18335,"60017":18335,"37699":18336,"60018":18336,"37764":18337,"60019":18337,"37805":18338,"60020":18338,"18757":18339,"60021":18339,"18769":18340,"60022":18340,"37911":18341,"60024":18341,"37917":18342,"60026":18342,"37933":18343,"60027":18343,"37950":18344,"60028":18344,"18794":18345,"60029":18345,"37972":18346,"60030":18346,"38009":18347,"60031":18347,"38189":18348,"60032":18348,"38306":18349,"60033":18349,"18855":18350,"60034":18350,"38388":18351,"60035":18351,"38451":18352,"60036":18352,"18917":18353,"60037":18353,"18980":18354,"60039":18354,"38720":18355,"60040":18355,"18997":18356,"60041":18356,"38834":18357,"60042":18357,"38850":18358,"60043":18358,"19172":18359,"60045":18359,"39097":18360,"60047":18360,"19225":18361,"60048":18361,"39153":18362,"60049":18362,"22596":18363,"60050":18363,"39193":18364,"60052":18364,"39223":18365,"60055":18365,"39261":18366,"60057":18366,"39266":18367,"60058":18367,"19312":18368,"60059":18368,"39365":18369,"60060":18369,"19357":18370,"60061":18370,"39484":18371,"60062":18371,"39695":18372,"60063":18372,"39785":18373,"60065":18373,"39901":18374,"60067":18374,"39921":18375,"60068":18375,"39924":18376,"60069":18376,"19565":18377,"60070":18377,"39968":18378,"60071":18378,"14191":18379,"60072":18379,"138178":18380,"60073":18380,"40265":18381,"60074":18381,"40702":18382,"60076":18382,"22096":18383,"60077":18383,"40381":18384,"60079":18384,"40444":18385,"60081":18385,"38134":18386,"60082":18386,"36790":18387,"60083":18387,"40625":18388,"60086":18388,"40637":18389,"60087":18389,"40646":18390,"60088":18390,"38108":18391,"60089":18391,"40674":18392,"60090":18392,"40689":18393,"60091":18393,"40696":18394,"60092":18394,"40772":18395,"60094":18395,"131220":18396,"60095":18396,"131767":18397,"60096":18397,"132000":18398,"60097":18398,"38083":18399,"60099":18399,"60101":18400,"132311":18400,"38081":18401,"60103":18401,"132565":18402,"60105":18402,"132629":18403,"60106":18403,"132726":18404,"60107":18404,"136890":18405,"60108":18405,"22359":18406,"60109":18406,"29043":18407,"60110":18407,"133826":18408,"60111":18408,"133837":18409,"60112":18409,"134079":18410,"60113":18410,"194619":18411,"60115":18411,"134091":18412,"60116":18412,"21662":18413,"60117":18413,"134139":18414,"60118":18414,"134203":18415,"60119":18415,"134227":18416,"60120":18416,"134245":18417,"60121":18417,"134268":18418,"60122":18418,"60124":18419,"134285":18419,"134325":18420,"60126":18420,"134365":18421,"60127":18421,"134381":18422,"60128":18422,"134511":18423,"60129":18423,"134578":18424,"60130":18424,"134600":18425,"60131":18425,"134660":18426,"60135":18426,"134670":18427,"60136":18427,"134871":18428,"60137":18428,"135056":18429,"60138":18429,"134957":18430,"60139":18430,"134771":18431,"60140":18431,"60142":18432,"135100":18432,"135260":18433,"60144":18433,"135247":18434,"60145":18434,"135286":18435,"60146":18435,"135304":18436,"60149":18436,"135318":18437,"60150":18437,"13895":18438,"60151":18438,"135359":18439,"60152":18439,"135471":18440,"60154":18440,"135483":18441,"60155":18441,"21348":18442,"60156":18442,"135907":18443,"60158":18443,"136053":18444,"60159":18444,"60160":18445,"135990":18445,"136567":18446,"60162":18446,"136729":18447,"60163":18447,"137155":18448,"60164":18448,"137159":18449,"60165":18449,"28859":18450,"60167":18450,"137261":18451,"60168":18451,"137578":18452,"60169":18452,"137773":18453,"60170":18453,"137797":18454,"60171":18454,"138282":18455,"60172":18455,"138352":18456,"60173":18456,"138412":18457,"60174":18457,"138952":18458,"60175":18458,"138965":18459,"60177":18459,"139029":18460,"60178":18460,"29080":18461,"60179":18461,"139333":18462,"60181":18462,"27113":18463,"60182":18463,"14024":18464,"60183":18464,"139900":18465,"60184":18465,"140247":18466,"60185":18466,"140282":18467,"60186":18467,"141098":18468,"60187":18468,"141425":18469,"60188":18469,"141647":18470,"60189":18470,"141671":18471,"60191":18471,"141715":18472,"60192":18472,"142037":18473,"60193":18473,"60195":18474,"142056":18474,"60197":18475,"142094":18475,"60199":18476,"142143":18476,"60202":18477,"142412":18477,"142472":18478,"60204":18478,"142519":18479,"60205":18479,"154600":18480,"60206":18480,"142600":18481,"60207":18481,"142610":18482,"60208":18482,"142775":18483,"60209":18483,"142741":18484,"60210":18484,"142914":18485,"60211":18485,"143220":18486,"60212":18486,"143308":18487,"60213":18487,"143411":18488,"60214":18488,"143462":18489,"60215":18489,"144159":18490,"60216":18490,"144350":18491,"60217":18491,"144743":18492,"60222":18492,"144883":18493,"60223":18493,"144922":18494,"60227":18494,"145174":18495,"60228":18495,"22709":18496,"60231":18496,"60234":18497,"146087":18497,"146961":18498,"60237":18498,"147129":18499,"60238":18499,"60243":18500,"147737":18500,"148206":18501,"60245":18501,"148237":18502,"60246":18502,"148276":18503,"60248":18503,"148374":18504,"60249":18504,"148484":18505,"60258":18505,"148694":18506,"60259":18506,"22408":18507,"60260":18507,"149108":18508,"60261":18508,"60263":18509,"149295":18509,"149522":18510,"60271":18510,"149755":18511,"60272":18511,"150037":18512,"60273":18512,"60275":18513,"150208":18513,"22885":18514,"60277":18514,"60279":18515,"151430":18515,"60282":18516,"151596":18516,"22335":18517,"60284":18517,"152217":18518,"60286":18518,"152601":18519,"60287":18519,"152646":18520,"60291":18520,"152686":18521,"60292":18521,"60296":18522,"152895":18522,"60298":18523,"152926":18523,"152930":18524,"60300":18524,"152934":18525,"60301":18525,"153543":18526,"60302":18526,"60304":18527,"153693":18527,"60309":18528,"153859":18528,"154286":18529,"60312":18529,"154505":18530,"60313":18530,"154630":18531,"60314":18531,"22433":18532,"60316":18532,"29009":18533,"60317":18533,"60319":18534,"155906":18534,"60322":18535,"156082":18535,"156674":18536,"60325":18536,"156746":18537,"60326":18537,"60330":18538,"156804":18538,"60334":18539,"156808":18539,"60336":18540,"156946":18540,"157119":18541,"60338":18541,"157365":18542,"60339":18542,"22201":18543,"60347":18543,"60349":18544,"157436":18544,"13848":18545,"60355":18545,"157593":18546,"60357":18546,"157806":18547,"60358":18547,"60360":18548,"157790":18548,"60362":18549,"157895":18549,"60366":18550,"157990":18550,"60368":18551,"158009":18551,"60371":18552,"158202":18552,"60373":18553,"158253":18553,"158260":18554,"60378":18554,"158555":18555,"60379":18555,"60383":18556,"158621":18556,"60385":18557,"158884":18557,"60388":18558,"159150":18558,"159819":18559,"60392":18559,"160205":18560,"60393":18560,"160384":18561,"60395":18561,"160389":18562,"60396":18562,"60399":18563,"160395":18563,"60401":18564,"160486":18564,"38047":18565,"60404":18565,"160848":18566,"60405":18566,"14009":18567,"60416":18567,"161740":18568,"60424":18568,"161880":18569,"60425":18569,"22230":18570,"60426":18570,"60435":18571,"162269":18571,"162301":18572,"60441":18572,"162314":18573,"60442":18573,"162571":18574,"60443":18574,"163174":18575,"60444":18575,"60448":18576,"163849":18576,"60459":18577,"163875":18577,"60463":18578,"163912":18578,"60466":18579,"163971":18579,"163984":18580,"60479":18580,"164084":18581,"60480":18581,"164142":18582,"60481":18582,"60483":18583,"164175":18583,"164271":18584,"60485":18584,"164378":18585,"60486":18585,"164614":18586,"60487":18586,"164655":18587,"60488":18587,"164746":18588,"60489":18588,"164968":18589,"60491":18589,"165546":18590,"60492":18590,"25574":18591,"60494":18591,"166230":18592,"60495":18592,"60498":18593,"166328":18593,"60500":18594,"166375":18594,"60502":18595,"166376":18595,"166726":18596,"60503":18596,"166868":18597,"60504":18597,"60506":18598,"166921":18598,"167877":18599,"60508":18599,"168172":18600,"60509":18600,"168208":18601,"60511":18601,"168252":18602,"60512":18602,"15863":18603,"60513":18603,"168286":18604,"60514":18604,"150218":18605,"60515":18605,"36816":18606,"60516":18606,"60519":18607,"169191":18607,"169392":18608,"60521":18608,"169400":18609,"60522":18609,"169778":18610,"60523":18610,"170193":18611,"60524":18611,"170313":18612,"60525":18612,"170346":18613,"60526":18613,"170435":18614,"60527":18614,"170536":18615,"60528":18615,"170766":18616,"60529":18616,"171354":18617,"60530":18617,"171419":18618,"60531":18618,"32415":18619,"60532":18619,"171768":18620,"60533":18620,"171811":18621,"60534":18621,"19620":18622,"60535":18622,"38215":18623,"60536":18623,"172691":18624,"60537":18624,"29090":18625,"60538":18625,"172799":18626,"60539":18626,"173515":18627,"60542":18627,"19868":18628,"60543":18628,"134300":18629,"60544":18629,"36798":18630,"60545":18630,"36794":18631,"60547":18631,"140464":18632,"60548":18632,"36793":18633,"60549":18633,"150163":18634,"60550":18634,"20202":18635,"60555":18635,"60557":18636,"166700":18636,"36480":18637,"60560":18637,"137205":18638,"60561":18638,"166764":18639,"60563":18639,"166809":18640,"60564":18640,"60566":18641,"157359":18641,"60568":18642,"161365":18642,"153141":18643,"60570":18643,"153942":18644,"60571":18644,"20122":18645,"60572":18645,"155265":18646,"60573":18646,"60576":18647,"134765":18647,"147080":18648,"60579":18648,"150686":18649,"60580":18649,"137206":18650,"60583":18650,"137339":18651,"60584":18651,"60587":18652,"154698":18652,"152337":18653,"60589":18653,"15814":18654,"60590":18654,"60596":18655,"155352":18655,"19996":18656,"60600":18656,"135146":18657,"60601":18657,"134473":18658,"60602":18658,"145082":18659,"60603":18659,"60638":18660,"151880":18660,"21982":18661,"60644":18661,"34694":18662,"60672":18662,"60676":18663,"135361":18663,"149254":18664,"60679":18664,"23440":18665,"60680":18665,"60682":18666,"157843":18666,"141044":18667,"60684":18667,"163119":18668,"60685":18668,"147875":18669,"60686":18669,"163187":18670,"60687":18670,"159440":18671,"60688":18671,"160438":18672,"60689":18672,"60691":18673,"135641":18673,"146684":18674,"60693":18674,"173737":18675,"60694":18675,"134828":18676,"60695":18676,"60698":18677,"138402":18677,"60700":18678,"151490":18678,"60702":18679,"135147":18679,"60706":18680,"142752":18680,"135148":18681,"60710":18681,"134666":18682,"60711":18682,"60714":18683,"135149":18683,"60717":18684,"135559":18684,"19994":18685,"60721":18685,"19972":18686,"60722":18686,"23309":18687,"60724":18687,"13996":18688,"60727":18688,"21373":18689,"60729":18689,"13989":18690,"60730":18690,"22682":18691,"60732":18691,"150382":18692,"60733":18692,"22442":18693,"60736":18693,"154261":18694,"60737":18694,"133497":18695,"60738":18695,"60741":18696,"140389":18696,"146686":18697,"60746":18697,"171824":18698,"60747":18698,"151465":18699,"60749":18699,"169374":18700,"60750":18700,"60753":18701,"146870":18701,"157619":18702,"60755":18702,"145184":18703,"60756":18703,"147191":18704,"60759":18704,"146988":18705,"60760":18705,"60785":18706,"143578":18706,"135849":18707,"60789":18707,"22439":18708,"60790":18708,"149859":18709,"60791":18709,"60794":18710,"159918":18710,"60801":18711,"137068":18711,"60806":18712,"160100":18712,"159010":18713,"60809":18713,"150242":18714,"60810":18714,"39963":18715,"60837":18715,"149822":18716,"60838":18716,"15878":18717,"60846":18717,"60881":18718,"159011":18718,"60887":18719,"132092":18719,"60891":18720,"146685":18720,"60893":18721,"149785":18721,"22394":18722,"60904":18722,"21722":18723,"60912":18723,"29050":18724,"60928":18724,"60949":18725,"150135":18725,"60955":18726,"166490":18726,"60962":18727,"194624":18727,"60976":18728,"137275":18728,"61000":18729,"155993":18729,"61014":18730,"144373":18730,"61019":18731,"166850":18731,"61024":18732,"138566":18732,"61054":18733,"159441":18733,"13877":18734,"61065":18734,"61084":18735,"166701":18735,"21024":18736,"61088":18736,"15384":18737,"61089":18737,"146631":18738,"61090":18738,"155351":18739,"61091":18739,"161366":18740,"61092":18740,"152881":18741,"61093":18741,"137540":18742,"61094":18742,"170243":18743,"61096":18743,"159196":18744,"61097":18744,"159917":18745,"61098":18745,"156077":18746,"61100":18746,"166415":18747,"61101":18747,"145015":18748,"61102":18748,"131310":18749,"61103":18749,"157766":18750,"61104":18750,"151310":18751,"61105":18751,"17762":18752,"61106":18752,"23327":18753,"61107":18753,"156492":18754,"61108":18754,"40784":18755,"61109":18755,"40614":18756,"61110":18756,"156267":18757,"61111":18757,"20962":18758,"57415":18758,"21314":18759,"57416":18759,"26285":18760,"57520":18760,"22620":18761,"57547":18761,"21843":18762,"57566":18762,"15749":18763,"57594":18763,"24928":18764,"57608":18764,"18606":18765,"57668":18765,"38845":18766,"57676":18766,"57693":18767,"137335":18767,"24755":18768,"57703":18768,"33828":18769,"57711":18769,"38932":18770,"57748":18770,"147596":18771,"57749":18771,"57764":18772,"143486":18772,"57787":18773,"138813":18773,"15147":18774,"57798":18774,"15666":18775,"57824":18775,"57857":18776,"132021":18776,"28801":18777,"57944":18777,"23708":18778,"57959":18778,"58017":18779,"132547":18779,"14128":18780,"58028":18780,"136054":18781,"58096":18781,"150034":18782,"58097":18782,"58111":18783,"166699":18783,"58112":18784,"155779":18784,"256":18785,"62233":18785,"193":18786,"62234":18786,"461":18787,"62235":18787,"192":18788,"62236":18788,"274":18789,"62237":18789,"201":18790,"62238":18790,"282":18791,"62239":18791,"200":18792,"62240":18792,"332":18793,"62241":18793,"211":18794,"62242":18794,"465":18795,"62243":18795,"210":18796,"62244":18796,"62245":18797,"7870":18798,"62246":18798,"62247":18799,"7872":18800,"62248":18800,"202":18801,"62249":18801,"257":18802,"62250":18802,"225":18803,"62251":18803,"462":18804,"62252":18804,"224":18805,"62253":18805,"593":18806,"62254":18806,"275":18807,"62255":18807,"233":18808,"62256":18808,"283":18809,"62257":18809,"232":18810,"62258":18810,"299":18811,"62259":18811,"237":18812,"62260":18812,"464":18813,"62261":18813,"236":18814,"62262":18814,"333":18815,"62263":18815,"243":18816,"62264":18816,"466":18817,"62265":18817,"242":18818,"62266":18818,"363":18819,"62267":18819,"250":18820,"62268":18820,"468":18821,"62269":18821,"249":18822,"62270":18822,"470":18823,"62271":18823,"472":18824,"62272":18824,"474":18825,"62273":18825,"476":18826,"62274":18826,"252":18827,"62275":18827,"62276":18828,"7871":18829,"62277":18829,"62278":18830,"7873":18831,"62279":18831,"234":18832,"62280":18832,"609":18833,"62281":18833,"643":18834,"63551":18834,"592":18835,"63552":18835,"603":18836,"63553":18836,"596":18837,"63554":18837,"629":18838,"63555":18838,"339":18839,"63556":18839,"248":18840,"63557":18840,"331":18841,"63558":18841,"650":18842,"63559":18842,"618":18843,"63560":18843,"9178":18844,"62282":18844,"9179":18845,"62283":18845,"11933":18846,"63530":18846,"11974":18847,"63539":18847,"12003":18848,"63547":18848,"20539":18849,"28158":18850,"171123":18851,"62841":18851,"40870":18852,"62842":18852,"15817":18853,"62843":18853,"34959":18854,"62845":18855,"147790":18855,"28791":18856,"23797":18857,"19232":18858,"62848":18858,"152013":18859,"62849":18859,"13657":18860,"62850":18860,"154928":18861,"62851":18861,"24866":18862,"62853":18863,"166450":18863,"36775":18864,"37366":18865,"29073":18866,"26393":18867,"29626":18868,"144001":18869,"62859":18869,"172295":18870,"62860":18870,"15499":18871,"62861":18871,"137600":18872,"62862":18872,"19216":18873,"62863":18873,"30948":18874,"29698":18875,"20910":18876,"165647":18877,"62867":18877,"16393":18878,"62868":18878,"27235":18879,"172730":18880,"62870":18880,"16931":18881,"62871":18881,"34319":18882,"31274":18883,"170311":18884,"62875":18884,"166634":18885,"62876":18885,"38741":18886,"28749":18887,"21284":18888,"62880":18889,"139390":18889,"37876":18890,"30425":18891,"166371":18892,"62883":18892,"40871":18893,"62884":18893,"30685":18894,"20131":18895,"20464":18896,"20668":18897,"20015":18898,"20247":18899,"40872":18900,"62891":18900,"21556":18901,"32139":18902,"22674":18903,"22736":18904,"62896":18905,"138678":18905,"24210":18906,"24217":18907,"24514":18908,"62900":18909,"141074":18909,"25995":18910,"62902":18911,"144377":18911,"26905":18912,"27203":18913,"62905":18914,"146531":18914,"27903":18915,"29184":18916,"62909":18917,"148741":18917,"29580":18918,"16091":18919,"62911":18919,"150035":18920,"62912":18920,"23317":18921,"29881":18922,"35715":18923,"154788":18924,"62916":18924,"153237":18925,"62917":18925,"31379":18926,"31724":18927,"31939":18928,"32364":18929,"33528":18930,"34199":18931,"40873":18932,"62924":18932,"34960":18933,"40874":18934,"62926":18934,"36537":18935,"40875":18936,"62928":18936,"36815":18937,"34143":18938,"39392":18939,"37409":18940,"40876":18941,"62933":18941,"167353":18942,"62934":18942,"136255":18943,"62935":18943,"16497":18944,"62936":18944,"17058":18945,"62937":18945,"23066":18946,"39016":18947,"26475":18948,"17014":18949,"62944":18949,"22333":18950,"34262":18951,"62948":18952,"149883":18952,"33471":18953,"160013":18954,"62950":18954,"19585":18955,"62951":18955,"159092":18956,"62952":18956,"23931":18957,"158485":18958,"62954":18958,"159678":18959,"62955":18959,"40877":18960,"62956":18960,"40878":18961,"62957":18961,"23446":18962,"40879":18963,"62959":18963,"32347":18964,"17392":18965,"19506":18966,"17923":18967,"17830":18968,"17784":18969,"160359":18970,"19831":18971,"17843":18972,"162993":18973,"19682":18974,"163013":18975,"15253":18976,"18230":18977,"18244":18978,"19527":18979,"19520":18980,"148159":18981,"144919":18982,"160594":18983,"159371":18984,"159954":18985,"19543":18986,"172881":18987,"18255":18988,"17882":18989,"19589":18990,"162924":18991,"19719":18992,"19108":18993,"18081":18994,"158499":18995,"29221":18996,"154196":18997,"137827":18998,"146950":18999,"147297":19000,"26189":19001,"22267":19002,"32149":19003,"22813":19004,"166841":19005,"15860":19006,"38708":19007,"162799":19008,"23515":19009,"138590":19010,"23204":19011,"13861":19012,"171696":19013,"23249":19014,"23479":19015,"23804":19016,"26478":19017,"34195":19018,"170309":19019,"29793":19020,"29853":19021,"133743":19022,"26343":19023,"28247":19024,"31178":19025,"15752":19026,"17603":19027,"143958":19028,"141206":19029,"17306":19030,"17718":19031,"23765":19032,"146202":19033,"35577":19034,"23672":19035,"15634":19036,"144721":19037,"23928":19038,"40882":19039,"29015":19040,"17752":19041,"147692":19042,"138787":19043,"19575":19044,"14712":19045,"13386":19046,"131492":19047,"158785":19048,"35532":19049,"20404":19050,"131641":19051,"22975":19052,"33132":19053,"38998":19054,"170234":19055,"24379":19056,"134047":19057,"139713":19058,"166253":19059,"16642":19060,"18107":19061,"168057":19062,"16135":19063,"40883":19064,"172469":19065,"16632":19066,"14294":19067,"18167":19068,"158790":19069,"16764":19070,"165554":19071,"160767":19072,"17773":19073,"14548":19074,"152730":19075,"17761":19076,"17691":19077,"19849":19078,"19579":19079,"19830":19080,"17898":19081,"16328":19082,"150287":19083,"13921":19084,"17630":19085,"17597":19086,"16877":19087}}', + ]; + + // @codingStandardsIgnoreEnd +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/test/BufferTest.php b/vendor/tecnickcom/tc-lib-pdf-font/test/BufferTest.php new file mode 100644 index 0000000..3319593 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/test/BufferTest.php @@ -0,0 +1,214 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Test; + +/** + * Buffer Test + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @SuppressWarnings("PHPMD.LongVariable") + */ +class BufferTest extends TestUtil +{ + public function testStackMissingKey(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $stack->getFont('missing'); + } + + public function testStackMissingFontName(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + $stack->add($objnum, ''); + } + + public function testStackIFileMissing(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + $stack->add($objnum, 'something', '', '/missing/nothere.json'); + } + + public function testStackIFileNotJson(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + $stack->add($objnum, 'something', '', __DIR__ . '/StackTest.php'); + } + + public function testStackIFileWrongFormat(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + file_put_contents($this->getFontPath() . 'badformat.json', '{"bad":"format"}'); + $stack->add($objnum, 'something', '', $this->getFontPath() . 'badformat.json'); + } + + public function testLoadDeafultWidthA(): void + { + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + file_put_contents($this->getFontPath() . 'test.json', '{"type":"Type1","cw":{"0":100}}'); + $stack->add($objnum, 'test', '', $this->getFontPath() . 'test.json'); + $font = $stack->getFont('test'); + $this->assertEquals(600, $font['dw']); + } + + public function testLoadDeafultWidthB(): void + { + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + file_put_contents($this->getFontPath() . 'test.json', '{"type":"Type1","cw":{"32":123}}'); + $stack->add($objnum, 'test', '', $this->getFontPath() . 'test.json'); + $font = $stack->getFont('test'); + $this->assertEquals(123, $font['dw']); + } + + public function testLoadDeafultWidthC(): void + { + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + file_put_contents( + $this->getFontPath() . 'test.json', + '{"type":"Type1","desc":{"MissingWidth":234},"cw":{"0":600}}' + ); + $stack->add($objnum, 'test', '', $this->getFontPath() . 'test.json'); + $font = $stack->getFont('test'); + $this->assertEquals(234, $font['dw']); + } + + public function testLoadWrongType(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + file_put_contents($this->getFontPath() . 'test.json', '{"type":"WRONG","cw":{"0":600}}'); + $stack->add($objnum, 'test', '', $this->getFontPath() . 'test.json'); + } + + public function testLoadCidOnPdfa(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1, false, true, true); + $objnum = 1; + file_put_contents($this->getFontPath() . 'test.json', '{"type":"cidfont0","cw":{"0":600}}'); + $stack->add($objnum, 'test', '', $this->getFontPath() . 'test.json', false); + } + + public function testLoadArtificialStyles(): void + { + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + file_put_contents( + $this->getFontPath() . 'test.json', + '{"type":"Core","cw":{"0":600},"mode":{"bold":true,"italic":true}}' + ); + $key = $stack->add($objnum, 'symbol', '', $this->getFontPath() . 'test.json'); + $this->assertNotEmpty($key); + } + + public function testBuffer(): void + { + $this->setupTest(); + $indir = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/'; + + $objnum = 1; + $stack = new \Com\Tecnick\Pdf\Font\Stack(1, false, true, false); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFASymbol.pfb', '', 'Type1', 'symbol'); + $stack->add($objnum, 'pdfasymbol'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica.afm'); + $stack->add($objnum, 'helvetica'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Bold.afm'); + $stack->add($objnum, 'helvetica', 'B'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-BoldOblique.afm'); + $stack->add($objnum, 'helveticaBI'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Oblique.afm'); + $stack->add($objnum, 'helvetica', 'I'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSans.ttf'); + $stack->add($objnum, 'freesans', ''); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBold.ttf'); + $stack->add($objnum, 'freesans', 'B'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansOblique.ttf'); + $stack->add($objnum, 'freesans', 'I'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBoldOblique.ttf'); + $stack->add($objnum, 'freesans', 'BIUDO', '', true); + + $fontkey = $stack->add($objnum, 'freesans', 'BI', '', true); + $this->assertEquals('freesansBI', $fontkey); + + $this->assertEquals(10, $objnum); + $this->assertCount(9, $stack->getFonts()); + $this->assertCount(1, $stack->getEncDiffs()); + + $font = $stack->getFont('freesansB'); + $this->assertNotEmpty($font); + $this->assertEquals('FreeSansBold', $font['name']); + $this->assertEquals('TrueTypeUnicode', $font['type']); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/ZapfDingbats.afm'); + $stack->add($objnum, 'zapfdingbats', 'BIUDO'); + $font = $stack->getFont('zapfdingbats'); + $this->assertNotEmpty($font); + } + + public function testBufferPdfa(): void + { + $this->setupTest(); + $indir = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/'; + + $objnum = 1; + $stack = new \Com\Tecnick\Pdf\Font\Stack(1, true, false, true); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFAHelveticaBoldOblique.pfb'); + $stack->add($objnum, 'arial', 'BIUDO', '', true); + $font = $stack->getFont('pdfahelveticaBI'); + $this->assertNotEmpty($font); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/test/ImportTest.php b/vendor/tecnickcom/tc-lib-pdf-font/test/ImportTest.php new file mode 100644 index 0000000..0a57d30 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/test/ImportTest.php @@ -0,0 +1,215 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Test; + +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Import Test + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @SuppressWarnings("PHPMD.LongVariable") + */ +class ImportTest extends TestUtil +{ + public function testImportForbiddenProtocol(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + new \Com\Tecnick\Pdf\Font\Import('phar://test.txt'); + } + + public function testImportParentDir(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + new \Com\Tecnick\Pdf\Font\Import('/tmp/something/../test.txt'); + } + + public function testImportEmptyName(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + new \Com\Tecnick\Pdf\Font\Import(''); + } + + public function testImportExist(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $fin = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/core/Helvetica.afm'; + $outdir = dirname(__DIR__) . '/target/tmptest/'; + system('rm -rf ' . $outdir . ' && mkdir -p ' . $outdir); + new \Com\Tecnick\Pdf\Font\Import($fin, $outdir); + new \Com\Tecnick\Pdf\Font\Import($fin, $outdir); + } + + public function testImportWrongFile(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + new \Com\Tecnick\Pdf\Font\Import(dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/core/Missing.afm'); + } + + public function testImportDefaultOutput(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + new \Com\Tecnick\Pdf\Font\Import(dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/core/Missing.afm'); + } + + public function testImportUnsupportedType(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $fin = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/core/Helvetica.afm'; + $outdir = dirname(__DIR__) . '/target/tmptest/core/'; + system('rm -rf ' . $outdir . ' && mkdir -p ' . $outdir); + new \Com\Tecnick\Pdf\Font\Import($fin, $outdir, 'ERROR'); + } + + public function testImportUnsupportedOpenType(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $outdir = dirname(__DIR__) . '/target/tmptest/core/'; + system('rm -rf ' . $outdir . ' && mkdir -p ' . $outdir); + file_put_contents($outdir . 'test.ttf', 'OTTO 1234'); + new \Com\Tecnick\Pdf\Font\Import($outdir . 'test.ttf', $outdir); + } + + #[DataProvider('importDataProvider')] + public function testImport( + string $fontdir, + string $font, + mixed $outname, + string $type = '', + string $encoding = '' + ): void { + $indir = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/' . $fontdir . '/'; + $outdir = dirname(__DIR__) . '/target/tmptest/' . $fontdir . '/'; + system('rm -rf ' . dirname(__DIR__) . '/target/tmptest/ && mkdir -p ' . $outdir); + + $import = new \Com\Tecnick\Pdf\Font\Import($indir . $font, $outdir, $type, $encoding); + $this->assertEquals($outname, $import->getFontName()); + + $file = file_get_contents($outdir . $outname . '.json'); + $this->assertNotFalse($file); + + $json = json_decode($file, true, 512, JSON_THROW_ON_ERROR); + $this->assertNotNull($json); + $this->assertIsArray($json); + + $this->assertArrayHasKey('type', $json); + $this->assertArrayHasKey('name', $json); + $this->assertArrayHasKey('up', $json); + $this->assertArrayHasKey('ut', $json); + $this->assertArrayHasKey('dw', $json); + $this->assertArrayHasKey('diff', $json); + $this->assertArrayHasKey('desc', $json); + $this->assertArrayHasKey('Flags', $json['desc']); + + $metric = $import->getFontMetrics(); + + $this->assertEquals('[' . $metric['bbox'] . ']', $json['desc']['FontBBox']); + $this->assertEquals($metric['italicAngle'], $json['desc']['ItalicAngle']); + $this->assertEquals($metric['Ascent'], $json['desc']['Ascent']); + $this->assertEquals($metric['Descent'], $json['desc']['Descent']); + $this->assertEquals($metric['Leading'], $json['desc']['Leading']); + $this->assertEquals($metric['CapHeight'], $json['desc']['CapHeight']); + $this->assertEquals($metric['XHeight'], $json['desc']['XHeight']); + $this->assertEquals($metric['StemV'], $json['desc']['StemV']); + $this->assertEquals($metric['StemH'], $json['desc']['StemH']); + $this->assertEquals($metric['AvgWidth'], $json['desc']['AvgWidth']); + $this->assertEquals($metric['MaxWidth'], $json['desc']['MaxWidth']); + $this->assertEquals($metric['MissingWidth'], $json['desc']['MissingWidth']); + } + + /** + * @return array> + */ + public static function importDataProvider(): array + { + return [ + ['core', 'Courier.afm', 'courier'], + ['core', 'Courier-Bold.afm', 'courierb'], + ['core', 'Courier-BoldOblique.afm', 'courierbi'], + ['core', 'Courier-Oblique.afm', 'courieri'], + ['core', 'Helvetica.afm', 'helvetica'], + ['core', 'Helvetica-Bold.afm', 'helveticab'], + ['core', 'Helvetica-BoldOblique.afm', 'helveticabi'], + ['core', 'Helvetica-Oblique.afm', 'helveticai'], + ['core', 'Symbol.afm', 'symbol'], + ['core', 'Times.afm', 'times'], + ['core', 'Times-Bold.afm', 'timesb'], + ['core', 'Times-BoldItalic.afm', 'timesbi'], + ['core', 'Times-Italic.afm', 'timesi'], + ['core', 'ZapfDingbats.afm', 'zapfdingbats'], + ['pdfa/pfb', 'PDFACourierBoldOblique.pfb', 'pdfacourierbi', '', ''], + ['pdfa/pfb', 'PDFACourierBold.pfb', 'pdfacourierb', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFACourierOblique.pfb', 'pdfacourieri', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFACourier.pfb', 'pdfacourier', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFAHelveticaBoldOblique.pfb', 'pdfahelveticabi', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFAHelveticaBold.pfb', 'pdfahelveticab', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFAHelveticaOblique.pfb', 'pdfahelveticai', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFAHelvetica.pfb', 'pdfahelvetica', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFASymbol.pfb', 'pdfasymbol', '', 'symbol'], + ['pdfa/pfb', 'PDFATimesBoldItalic.pfb', 'pdfatimesbi', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFATimesBold.pfb', 'pdfatimesb', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFATimesItalic.pfb', 'pdfatimesi', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFATimes.pfb', 'pdfatimes', 'Type1', 'cp1252'], + ['pdfa/pfb', 'PDFAZapfDingbats.pfb', 'pdfazapfdingbats'], + ['freefont', 'FreeMonoBoldOblique.ttf', 'freemonobi'], + ['freefont', 'FreeMonoBold.ttf', 'freemonob'], + ['freefont', 'FreeMonoOblique.ttf', 'freemonoi'], + ['freefont', 'FreeMono.ttf', 'freemono'], + ['freefont', 'FreeSansBoldOblique.ttf', 'freesansbi'], + ['freefont', 'FreeSansBold.ttf', 'freesansb'], + ['freefont', 'FreeSansOblique.ttf', 'freesansi'], + ['freefont', 'FreeSans.ttf', 'freesans'], + ['freefont', 'FreeSerifBoldItalic.ttf', 'freeserifbi'], + ['freefont', 'FreeSerifBold.ttf', 'freeserifb'], + ['freefont', 'FreeSerifItalic.ttf', 'freeserifi'], + ['freefont', 'FreeSerif.ttf', 'freeserif'], + ['unifont', 'unifont.ttf', 'unifont'], + ['cid0', 'cid0cs.ttf', 'cid0cs', 'CID0CS'], + ['cid0', 'cid0ct.ttf', 'cid0ct', 'CID0CT'], + ['cid0', 'cid0jp.ttf', 'cid0jp', 'CID0JP'], + ['cid0', 'cid0kr.ttf', 'cid0kr', 'CID0KR'], + ['dejavu/ttf', 'DejaVuSans.ttf', 'dejavusans'], + ['dejavu/ttf', 'DejaVuSans-BoldOblique.ttf', 'dejavusansbi'], + ['dejavu/ttf', 'DejaVuSans-Bold.ttf', 'dejavusansb'], + ['dejavu/ttf', 'DejaVuSans-Oblique.ttf', 'dejavusansi'], + ['dejavu/ttf', 'DejaVuSansCondensed.ttf', 'dejavusanscondensed'], + ['dejavu/ttf', 'DejaVuSansCondensed-BoldOblique.ttf', 'dejavusanscondensedbi'], + ['dejavu/ttf', 'DejaVuSansCondensed-Bold.ttf', 'dejavusanscondensedb'], + ['dejavu/ttf', 'DejaVuSansCondensed-Oblique.ttf', 'dejavusanscondensedi'], + ['dejavu/ttf', 'DejaVuSansMono.ttf', 'dejavusansmono'], + ['dejavu/ttf', 'DejaVuSansMono-BoldOblique.ttf', 'dejavusansmonobi'], + ['dejavu/ttf', 'DejaVuSansMono-Bold.ttf', 'dejavusansmonob'], + ['dejavu/ttf', 'DejaVuSansMono-Oblique.ttf', 'dejavusansmonoi'], + ['dejavu/ttf', 'DejaVuSans-ExtraLight.ttf', 'dejavusansextralight'], + ['dejavu/ttf', 'DejaVuSerif.ttf', 'dejavuserif'], + ['dejavu/ttf', 'DejaVuSerif-BoldItalic.ttf', 'dejavuserifbi'], + ['dejavu/ttf', 'DejaVuSerif-Bold.ttf', 'dejavuserifb'], + ['dejavu/ttf', 'DejaVuSerif-Italic.ttf', 'dejavuserifi'], + ['dejavu/ttf', 'DejaVuSerifCondensed.ttf', 'dejavuserifcondensed'], + ['dejavu/ttf', 'DejaVuSerifCondensed-BoldItalic.ttf', 'dejavuserifcondensedbi'], + ['dejavu/ttf', 'DejaVuSerifCondensed-Bold.ttf', 'dejavuserifcondensedb'], + ['dejavu/ttf', 'DejaVuSerifCondensed-Italic.ttf', 'dejavuserifcondensedi'], + ]; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/test/OutputTest.php b/vendor/tecnickcom/tc-lib-pdf-font/test/OutputTest.php new file mode 100644 index 0000000..57ea5ac --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/test/OutputTest.php @@ -0,0 +1,91 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Test; + +/** + * Output Test + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @SuppressWarnings("PHPMD.LongVariable") + */ +class OutputTest extends TestUtil +{ + public function testOutput(): void + { + $this->setupTest(); + $indir = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/'; + + $objnum = 1; + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFASymbol.pfb', '', 'Type1', 'symbol'); + $stack->add($objnum, 'pdfasymbol'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica.afm'); + $stack->add($objnum, 'helvetica'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Bold.afm'); + $stack->add($objnum, 'helvetica', 'B'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-BoldOblique.afm'); + $stack->add($objnum, 'helveticaBI'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'core/Helvetica-Oblique.afm'); + $stack->add($objnum, 'helvetica', 'I'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSans.ttf'); + $stack->add($objnum, 'freesans', ''); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBold.ttf'); + $stack->add($objnum, 'freesans', 'B'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansOblique.ttf'); + $stack->add($objnum, 'freesans', 'I'); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSansBoldOblique.ttf'); + $stack->add($objnum, 'freesans', 'BIUDO', '', true); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'cid0/cid0jp.ttf', '', 'CID0JP'); + $stack->add($objnum, 'cid0jp'); + + $fonts = $stack->getFonts(); + $this->assertCount(10, $fonts); + + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + $output = new \Com\Tecnick\Pdf\Font\Output($fonts, $objnum, $encrypt); + + $this->assertEquals(37, $output->getObjectNumber()); + + $this->assertNotEmpty($output->getFontsBlock()); + + $this->assertNotEmpty($output->getOutFontDict()); + + $keys = []; + foreach ($fonts as $font) { + $keys[] = $font['key']; + } + + $this->assertNotEmpty($output->getOutFontDictByKeys($keys)); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/test/StackTest.php b/vendor/tecnickcom/tc-lib-pdf-font/test/StackTest.php new file mode 100644 index 0000000..0417b88 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/test/StackTest.php @@ -0,0 +1,188 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + */ + +namespace Test; + +/** + * Buffer Test + * + * @since 2011-05-23 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @SuppressWarnings("PHPMD.LongVariable") + */ +class StackTest extends TestUtil +{ + public function testStack(): void + { + $this->setupTest(); + $indir = dirname(__DIR__) . '/util/vendor/tecnickcom/tc-font-mirror/'; + + $objnum = 1; + $stack = new \Com\Tecnick\Pdf\Font\Stack(0.75, true, true, true); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'freefont/FreeSans.ttf'); + $cfont = $stack->insert($objnum, 'freesans', '', 12, -0.1, 0.9, '', null); + $this->assertNotEmpty($cfont); + $this->assertNotEmpty($cfont['cbbox']); + + $this->bcAssertEqualsWithDelta([0.162, 0.0, 7.0308, 8.748], $stack->getCharBBox(65), 0.0001); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFATimes.pfb'); + $afont = $stack->insert($objnum, 'times', '', 14, 0.3, 1.2, '', null); + $this->assertNotEmpty($afont); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFAHelveticaBoldOblique.pfb'); + $bfont = $stack->insert($objnum, 'helvetica', 'BIUDO', null, null, null, '', null); + $this->assertNotEmpty($bfont); + + $this->assertEquals("BT /F3 14.000000 Tf ET\r", $bfont['out']); + $this->assertEquals('pdfahelveticaBI', $bfont['key']); + $this->assertEquals('Type1', $bfont['type']); + $this->bcAssertEqualsWithDelta(14, $bfont['size'], 0.0001); + $this->bcAssertEqualsWithDelta(0.3, $bfont['spacing'], 0.0001); + $this->bcAssertEqualsWithDelta(1.2, $bfont['stretching'], 0.0001); + $this->bcAssertEqualsWithDelta(18.6667, $bfont['usize'], 0.0001); + $this->bcAssertEqualsWithDelta(0.014, $bfont['cratio'], 0.0001); + $this->bcAssertEqualsWithDelta(-1.554, $bfont['up'], 0.0001); + $this->bcAssertEqualsWithDelta(0.966, $bfont['ut'], 0.0001); + $this->bcAssertEqualsWithDelta(4.6704, $bfont['dw'], 0.0001); + $this->bcAssertEqualsWithDelta(13.342, $bfont['ascent'], 0.0001); + $this->bcAssertEqualsWithDelta(-3.08, $bfont['descent'], 0.0001); + $this->bcAssertEqualsWithDelta(16.422, $bfont['height'], 0.0001); + $this->bcAssertEqualsWithDelta(5.131, $bfont['midpoint'], 0.0001); + $this->bcAssertEqualsWithDelta(10.136, $bfont['capheight'], 0.0001); + $this->bcAssertEqualsWithDelta(7.56, $bfont['xheight'], 0.0001); + $this->bcAssertEqualsWithDelta(9.492, $bfont['avgwidth'], 0.0001); + $this->bcAssertEqualsWithDelta(16.8, $bfont['maxwidth'], 0.0001); + $this->bcAssertEqualsWithDelta(4.6704, $bfont['missingwidth'], 0.0001); + $this->bcAssertEqualsWithDelta([-1.092, -3.08, 18.5976, 13.342], $bfont['fbbox'], 0.0001); + + $fkey = $stack->getCurrentFontKey(); + $this->assertEquals('pdfahelveticaBI', $fkey); + + $font = $stack->getCurrentFont(); + $this->assertEquals($bfont, $font); + + $this->assertTrue($stack->isCharDefined(65)); + $this->assertFalse($stack->isCharDefined(300)); + + $this->assertEquals(75, $stack->replaceChar(65, 75)); + $this->assertEquals(65, $stack->replaceChar(65, 300)); + + $this->assertEquals([0, 0, 0, 0], $stack->getCharBBox(300)); + + $this->bcAssertEqualsWithDelta(12.1296, $stack->getCharWidth(65), 0.0001); + $this->bcAssertEqualsWithDelta(0, $stack->getCharWidth(173), 0.0001); + $this->bcAssertEqualsWithDelta(4.6704, $stack->getCharWidth(300), 0.0001); + + $uniarr = [65, 173, 300]; + $this->bcAssertEqualsWithDelta(17.52, $stack->getOrdArrWidth($uniarr), 0.0001); + + $subs = [ + 65 => [400, 75], + 173 => [76, 300], + 300 => [400, 77], + ]; + $this->assertEquals([65, 173, 77], $stack->replaceMissingChars($uniarr, $subs)); + + $font = $stack->popLastFont(); + $this->assertEquals($bfont, $font); + + $font = $stack->getCurrentFont(); + $this->assertEquals($afont, $font); + + $fkey = $stack->getCurrentFontKey(); + $this->assertEquals('pdfatimes', $fkey); + + $type = $stack->getCurrentFontType(); + $this->assertEquals('Type1', $type); + + $ftype = $stack->isCurrentUnicodeFont(); + $this->assertFalse($ftype); + + $ftype = $stack->isCurrentByteFont(); + $this->assertTrue($ftype); + + $uniarr = [65, 173, 300, 32, 65, 173, 300, 32, 65, 173, 300]; + $widths = $stack->getOrdArrDims($uniarr); + $this->assertEquals(11, $widths['chars']); + $this->assertEquals(2, $widths['spaces']); + $this->bcAssertEqualsWithDelta(60.9384, $widths['totwidth'], 0.0001); + $this->bcAssertEqualsWithDelta(8.76, $widths['totspacewidth'], 0.0001); + $this->assertEquals(6, $widths['words']); + + $this->assertEquals(11, $widths['split'][5]['pos']); + $this->assertEquals(8203, $widths['split'][5]['ord']); + $this->assertEquals('BN', $widths['split'][5]['septype']); + $this->bcAssertEqualsWithDelta(4.92, $widths['split'][5]['wordwidth'], 0.0001); + $this->assertEquals(2, $widths['split'][5]['spaces']); + $this->bcAssertEqualsWithDelta(60.9384, $widths['split'][5]['totwidth'], 0.0001); + $this->bcAssertEqualsWithDelta(8.76, $widths['split'][5]['totspacewidth'], 0.0001); + + $outfont = $stack->getOutCurrentFont(); + $this->assertEquals("BT /F2 14.000000 Tf ET\r", $outfont); + + $font = $stack->cloneFont($objnum, null, null, 13, 0.3, 0.7); + $this->assertEquals(13, $font['size']); + $this->assertEquals(0.3, $font['spacing']); + $this->assertEquals(0.7, $font['stretching']); + + $font = $stack->cloneFont($objnum, 0, 'BI', 17, 0.7, 1.3); + $this->assertEquals('BI', $font['style']); + $this->assertEquals(17, $font['size']); + $this->assertEquals(0.7, $font['spacing']); + $this->assertEquals(1.3, $font['stretching']); + + $fname = $stack->getFontFamilyName('unknown'); + $this->assertEquals('freesansBI', $fname); + + new \Com\Tecnick\Pdf\Font\Import($indir . 'pdfa/pfb/PDFACourier.pfb'); + $bfont = $stack->insert($objnum, 'courier', '', null, null, null, '', null); + $this->assertNotEmpty($bfont); + + $fname = $stack->getFontFamilyName('freesans'); + $this->assertEquals('freesans', $fname); + + $fname = $stack->getFontFamilyName('cursive'); + $this->assertEquals('pdfatimes', $fname); + + $fname = $stack->getFontFamilyName('unknown'); + $this->assertEquals('pdfacourier', $fname); + } + + public function testEmptyStack(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $stack->popLastFont(); + } + + public function testStackMissingFont(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Font\Exception::class); + $this->setupTest(); + $stack = new \Com\Tecnick\Pdf\Font\Stack(1); + $objnum = 1; + $stack->insert($objnum, 'missing'); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/test/TestUtil.php b/vendor/tecnickcom/tc-lib-pdf-font/test/TestUtil.php new file mode 100644 index 0000000..09491cc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/test/TestUtil.php @@ -0,0 +1,71 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Web Color class test + * + * @since 2020-12-19 + * @category Library + * @package PdfFont + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * @preserveGlobalState disabled + * @runTestsInSeparateProcesses + */ +class TestUtil extends TestCase +{ + protected function setupTest(): void + { + if (! defined('K_PATH_FONTS')) { + define('K_PATH_FONTS', dirname(__DIR__) . '/target/tmptest/'); + } + + system('rm -rf ' . K_PATH_FONTS . ' && mkdir -p ' . K_PATH_FONTS); + } + + protected function getFontPath(): string + { + if (defined('K_PATH_FONTS')) { + return K_PATH_FONTS; + } + + return ''; + } + + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/util/Makefile b/vendor/tecnickcom/tc-lib-pdf-font/util/Makefile new file mode 100644 index 0000000..53b6692 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/util/Makefile @@ -0,0 +1,187 @@ +# makefile +# +# @since 2015-05-14 +# @category Library +# @package PdfFont +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf-font +# +# This file is part of tc-lib-pdf-font software library. +# +# Download and convert fonts for tc-lib-pdf-font. +# ---------------------------------------------------------------------------------------------------------------------- + +# Folder containing the font to install (package) +PKGFONTDIR=. + +# License name of the font to be packaged +PKGFONTLICENSE=. + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf-font-data-$(PKGFONTDIR) + +# Project version +VERSION=$(shell cat ../VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat ../RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +FONTPATH=${PHPHOME}/Pdf/Font/fonts/$(PKGFONTDIR)/ + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTFONT=$(DESTDIR)/$(FONTPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(CURRENTDIR)/../target/RPM_FONTS/$(PKGFONTDIR) + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(CURRENTDIR)/../target/DEB_FONTS/$(PKGFONTDIR) + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(CURRENTDIR)/../target/BZ2_FONTS/$(PKGFONTDIR) + + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(shell which php) -d "apc.enable_cli=0" $(shell which composer) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "${PROJECT} Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make clean : Delete the vendor and target directory" + @echo " make build : Clean and download the composer dependencies" + @echo " make update : Update composer dependencies" + @echo " make install : Install this library" + @echo " make uninstall : Remove all installed files" + @echo " make rpm : Build an RPM package" + @echo " make deb : Build a DEB package" + @echo " make bz2 : Build a tar bz2 (tbz2) compressed archive" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# delete the vendor and target directory +.PHONY: clean +clean: + rm -rf ./vendor/ + rm -rf ../target/fonts + +.PHONY: deps +deps: + ($(COMPOSER) install --no-dev --no-interaction) + +# clean and download the composer dependencies (all TTF font files) +.PHONY: build +build: deps + ./bulk_convert.php + +# update composer dependencies +.PHONY: update +update: + ($(COMPOSER) update --no-interaction) + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTFONT) + cp -rf ../target/fonts/$(PKGFONTDIR)/*.json $(PATHINSTFONT) + cp -rf ../target/fonts/$(PKGFONTDIR)/*.z $(PATHINSTFONT) | true + find $(PATHINSTFONT) -type d -exec chmod 755 {} \; + find $(PATHINSTFONT) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ../target/fonts/$(PKGFONTDIR)/LICENSE $(PATHINSTDOC) + cp -f ../target/fonts/$(PKGFONTDIR)/README $(PATHINSTDOC) + cp -f ../VERSION $(PATHINSTDOC) + cp -f ../RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTFONT) + +# --- PACKAGING --- + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild --define \ + "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_fontpath /$(FONTPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_fontdir $(PKGFONTDIR)" \ + --define "_license $(PKGFONTLICENSE)" \ + -bb ../resources/rpm/fonts.spec + +# Build the DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + echo resources/fonts/control/$(DEBCOPYRIGHT) + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) PKGFONTDIR=$(PKGFONTDIR) + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ../resources/fonts/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#FONT#~/$(PKGFONTDIR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#LICENSE#~/$(PKGFONTLICENSE)/" {} \; + echo $(FONTPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(FONTPATH)* $(FONTPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + echo "extra-license-file $(DOCPATH)LICENSE.gz" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# build a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) PKGFONTDIR=$(PKGFONTDIR) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) diff --git a/vendor/tecnickcom/tc-lib-pdf-font/util/bulk_convert.php b/vendor/tecnickcom/tc-lib-pdf-font/util/bulk_convert.php new file mode 100644 index 0000000..8b87db2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/util/bulk_convert.php @@ -0,0 +1,197 @@ +#!/usr/bin/env php + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + * + * Command-line tool to convert fonts data for the tc-lib-pdf-font library in bulk. + */ + +if (php_sapi_name() != 'cli') { + fwrite(STDERR, 'You need to run this command from console.'."\n"); + exit(1); +} + +/** + * Display help guide for this command. + */ +function showHelp() +{ + $help = << dirname(__DIR__).'/target/fonts/'); + +// short input options +$sopt = 'o:'; + +// long input options +$lopt = array('outpath:'); + +// parse input options +$inopt = getopt($sopt, $lopt); + +// import options (with some sanitization) +foreach ($inopt as $opt => $val) { + switch ($opt) { + case 'o': + case 'outpath': + $options['outpath'] = realpath($val); + if (substr($options['outpath'], -1) != '/') { + $options['outpath'] .= '/'; + } + break; + case 'h': + case 'help': + default: + showHelp(); + break; + } +} + +// check input values +if (!is_dir($options['outpath'])) { + mkdir($options['outpath'], 0755, true); +} +if (!is_writable($options['outpath'])) { + fwrite(STDERR, 'ERROR: Can\'t write to '.$options['outpath']."\n\n"); + exit(2); +} + +$ttfdir = __DIR__.'/vendor/tecnickcom/tc-font-mirror/'; +if (!is_dir($ttfdir)) { + fwrite(STDERR, 'ERROR: The '.$ttfdir.' directory is empty, please execute \'make build\' before this command.'."\n\n"); + exit(3); +} + +fwrite(STDOUT, "\n".'>>> Converting fonts:'."\n".'*** Output directory set to '.$options['outpath']."\n"); + +// count conversions +$convert_errors = 0; +$convert_success = 0; + +require_once (dirname(__DIR__).'/vendor/autoload.php'); + +$fontdir = array_diff(scandir($ttfdir), array('.', '..', '.git')); + +// URL of websites containing the font sources +$font_url = array( + 'cid0' => 'http://unifoundry.com/unifont.html', + 'core' => 'https://partners.adobe.com/public/developer/en/pdf/Core14_AFMs.zip', + 'dejavu' => 'http://sourceforge.net/projects/dejavu/files/dejavu/2.35/dejavu-fonts-ttf-2.35.zip', + 'freefont' => 'https://ftp.gnu.org/gnu/freefont/freefont-ttf-20120503.zip', + 'pdfa' => 'https://github.com/tecnickcom/tc-font-pdfa', + 'unifont' => 'http://unifoundry.com/unifont.html', +); + +foreach ($fontdir as $dir) { + $indir = $ttfdir.$dir; + if (!is_dir($indir)) { + continue; + } + // search font files in sub directories + $all_files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($indir)); + $fonts = iterator_to_array(new RegexIterator($all_files, '/\.ttf$/')); + $fonts = array_merge($fonts, iterator_to_array(new RegexIterator($all_files, '/\.pfb$/'))); + $fonts = array_merge($fonts, iterator_to_array(new RegexIterator($all_files, '/\.otf$/'))); + if (empty($fonts)) { + $fonts = iterator_to_array(new RegexIterator($all_files, '/\.afm$/')); + } + if (empty($fonts)) { + continue; + } + + // build output path directory + $outdir = $options['outpath'].$dir.'/'; + if (!is_dir($outdir)) { + mkdir($outdir, 0755, true); + } + copy($indir.'/LICENSE', $outdir.'LICENSE'); + + // generate a README file + $readme = '# '.$dir.' font files for tc-lib-pdf-font'."\n\n" + .'This folder contains font files and/or font data extracted from:'."\n" + .$font_url[$dir]."\n" + .'using the "bulk_convert.php" utility in https://github.com/tecnickcom/tc-font-pdf-font'."\n\n" + .'The original files (if present) have been renamed and compressed using the ZLIB data format (.z files).'."\n" + .'The font files are subject to the conditions stated in the LICENSE file.'."\n" + .'For further information please consult the original documentation at the link above.'."\n"; + file_put_contents($outdir.'README', $readme); + + foreach ($fonts as $font) { + if (substr($font, -4) == '.otf') { + // OTF fonts are not yet supported but we can try to convert them to TTF using FontForge + system('fontforge -script otf2ttf.ff '.escapeshellcmd($font), $err); + if ($err != 0) { + fwrite(STDERR, "\033[31m".'Unable to convert: '.$font."\033[m"); + continue; + } + $font = substr($font, 0, -4).'.ttf'; + } + + $type = ''; + $encoding = ''; + if ($dir == 'cid0') { + $type = strtoupper(basename($font, '.ttf')); + } elseif (($dir == 'core') || ($dir == 'pdfa')) { + if (strpos($font, 'Symbol') !== false) { + $encoding = 'symbol'; + } elseif (strpos($font, 'ZapfDingbats') === false) { + $encoding = 'cp1252'; + } + } + try { + $import = new \Com\Tecnick\Pdf\Font\Import( + realpath($font), + $outdir, + $type, + $encoding + ); + $fontname = $import->getFontName(); + fwrite(STDOUT, "\033[32m".'+++ OK : '.$font.' added as '.$fontname."\033[m\n"); + ++$convert_success; + } catch (\Exception $exc) { + ++$convert_errors; + fwrite(STDERR, "\033[31m".'--- ERROR: can\'t add '.$font."\n ".$exc->getMessage()."\033[m\n"); + } + } +} + +$endmsg = '>>> PROCESS COMPLETED: '.$convert_success.' CONVERTED FONT(S), '.$convert_errors.' ERROR(S)!'."\n\n"; + +if ($convert_errors > 0) { + fwrite(STDERR, "\033[31m".$endmsg.'ERROR'."\033[m"); + exit(4); +} + +fwrite(STDOUT, "\033[32m".$endmsg."\033[m"); +exit(0); + diff --git a/vendor/tecnickcom/tc-lib-pdf-font/util/composer.json b/vendor/tecnickcom/tc-lib-pdf-font/util/composer.json new file mode 100644 index 0000000..f5ce8da --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/util/composer.json @@ -0,0 +1,45 @@ +{ + "name": "tecnickcom/tc-lib-pdf-font", + "description": "Import TTF font files to be converted for tc-lib-pdf-font", + "type": "library", + "homepage": "http://www.tecnick.com", + "keywords": [ + "tc-lib-pdf-font-data", + "PDF", + "font", + "TTF", + "AFM", + "PFB", + "import" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "tecnickcom/tc-font-mirror": "^2.1" + }, + "require-dev": {}, + "repositories": [ + { + "type": "package", + "package": { + "name": "tecnickcom/tc-font-mirror", + "version": "2.1.0", + "dist": { + "type": "zip", + "url": "https://github.com/tecnickcom/tc-font-mirror/archive/refs/tags/2.1.0.zip", + "reference": "main" + }, + "autoload": { + "classmap": [ + "." + ] + } + } + } + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf-font/util/convert.php b/vendor/tecnickcom/tc-lib-pdf-font/util/convert.php new file mode 100644 index 0000000..8cfecf6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/util/convert.php @@ -0,0 +1,258 @@ +#!/usr/bin/env php + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-font + * + * This file is part of tc-lib-pdf-font software library. + * + * Command-line tool to convert fonts data for the tc-lib-pdf-font library. + */ + +if (php_sapi_name() != 'cli') { + fwrite(STDERR, 'You need to run this command from console.'."\n"); + exit(1); +} + +/** + * Display help guide for this command. + */ +function showHelp() +{ + $help = << './', + 'type' => '', + 'encoding' => '', + 'flags' => 32, + 'platform_id' => 3, + 'encoding_id' => 1, + 'linked' => false +); + +// short input options +$sopt = 't:e:f:o:p:n:li:h'; + +// long input options +$lopt = array( + 'outpath:', + 'type:', + 'encoding:', + 'flags:', + 'platform_id:', + 'encoding_id:', + 'linked', + 'fonts:', + 'help' +); + +// parse input options +$inopt = getopt($sopt, $lopt); + +// import options (with some sanitization) +foreach ($inopt as $opt => $val) { + switch ($opt) { + case 'o': + case 'outpath': + $options['outpath'] = realpath($val); + if (substr($options['outpath'], -1) != '/') { + $options['outpath'] .= '/'; + } + break; + case 't': + case 'type': + if (in_array($val, array('TrueTypeUnicode', 'TrueType', 'Type1', 'CID0JP', 'CID0KR', 'CID0CS', 'CID0CT'))) { + $options['type'] = $val; + } + break; + case 'e': + case 'encoding': + $options['encoding'] = $val; + break; + case 'f': + case 'flags': + $options['flags'] = intval($val); + break; + case 'p': + case 'platform_id': + $options['platform_id'] = min(max(1, intval($val)), 3); + break; + case 'n': + case 'encoding_id': + $options['encoding_id'] = min(max(0, intval($val)), 10); + break; + case 'l': + case 'linked': + $options['linked'] = true; + break; + case 'i': + case 'fonts': + $options['fonts'] = explode(',', $val); + break; + case 'h': + case 'help': + default: + showHelp(); + break; + } +} + +// check input values + +if (!is_dir($options['outpath']) || !is_writable($options['outpath'])) { + fwrite(STDERR, 'ERROR: Can\'t write to '.$options['outpath']."\n\n"); + exit(2); +} + +if (empty($options['fonts'])) { + fwrite(STDERR, 'ERROR: missing input fonts (try --help for usage)'."\n\n"); + exit(3); +} + +fwrite(STDOUT, "\n".'>>> Converting fonts:'."\n".'*** Output directory set to '.$options['outpath']."\n"); + +// count conversions +$convert_errors = 0; +$convert_success = 0; + +require_once (dirname(dirname(__DIR__)).'/vendor/autoload.php'); + +foreach ($options['fonts'] as $font) { + try { + $import = new \Com\Tecnick\Pdf\Font\Import( + realpath($font), + $options['outpath'], + $options['type'], + $options['encoding'], + $options['flags'], + $options['platform_id'], + $options['encoding_id'], + $options['linked'] + ); + $fontname = $import->getFontName(); + fwrite(STDOUT, "\033[32m".'+++ OK : '.$font.' added as '.$fontname."\033[m\n"); + ++$convert_success; + } catch (\Exception $exc) { + ++$convert_errors; + fwrite(STDERR, "\033[31m".'--- ERROR: can\'t add '.$font."\n ".$exc->getMessage()."\033[m\n"); + } +} + +$endmsg = '>>> PROCESS COMPLETED: '.$convert_success.' CONVERTED FONT(S), '.$convert_errors.' ERROR(S)!'."\n\n"; + +if ($convert_errors > 0) { + fwrite(STDERR, "\033[31m".$endmsg.'ERROR'."\033[m"); + exit(4); +} + +fwrite(STDOUT, "\033[32m".$endmsg."\033[m"); +exit(0); diff --git a/vendor/tecnickcom/tc-lib-pdf-font/util/otf2ttf.ff b/vendor/tecnickcom/tc-lib-pdf-font/util/otf2ttf.ff new file mode 100644 index 0000000..4418cbc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-font/util/otf2ttf.ff @@ -0,0 +1,46 @@ +#!/usr/bin/env fontforge + +# FontForge script used to convert Noto CJK OTF fonts into TTF format +# FROM: https://gist.github.com/mojavelinux/c74162d44ca77d1a7c25 + +# PDF Flags +# * 0x90 - Neither OpenType or Apple +# * 0x800 - Generate old-style 'kern' table +# * 0x08 - Exclude TrueType instructions +genflags = 0x90 + 0x08 + 0x800 + +src_file = $1 +dst_file = $1:r + ".ttf" + +Open(src_file) +CIDFlatten() +SelectAll() +ClearInstrs() +SelectNone() + +# Remove glyphs we'll later truncate to get under glyph limit +SelectMore(0u1f190,0u1f199) +Clear() +SelectNone() + +Generate(dst_file, "", genflags) +Close() + +Open(dst_file) + +# Add missing space glyph +Select(0u00a0) +Copy() +Select(0u0020) +Paste() +SetWidth(0) +SelectNone() + +# select lesser range of glyphs +#SelectMore(0u0020,0uffee) +#SelectInvert() +#Clear() +#SelectNone() + +Generate(dst_file, "", genflags) +Close() diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.editorconfig b/vendor/tecnickcom/tc-lib-pdf-graph/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-pdf-graph/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-pdf-graph/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-pdf-graph/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-pdf-graph/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-pdf-graph/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/.gitignore b/vendor/tecnickcom/tc-lib-pdf-graph/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/CODEOWNERS b/vendor/tecnickcom/tc-lib-pdf-graph/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-pdf-graph/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-pdf-graph/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/LICENSE b/vendor/tecnickcom/tc-lib-pdf-graph/LICENSE new file mode 100644 index 0000000..8a6b6dd --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-pdf-graph +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/Makefile b/vendor/tecnickcom/tc-lib-pdf-graph/Makefile new file mode 100644 index 0000000..16421b0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/Makefile @@ -0,0 +1,277 @@ +# makefile +# +# @since 2015-05-14 +# @category Library +# @package PdfGraph +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf-graph +# +# This file is part of tc-lib-pdf-graph software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf-graph + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Pdf/Graph/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/README.md b/vendor/tecnickcom/tc-lib-pdf-graph/README.md new file mode 100644 index 0000000..0fd2453 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/README.md @@ -0,0 +1,110 @@ +# tc-lib-pdf-graph +*PHP library containing PDF graphic and geometric methods* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-pdf-graph/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-graph) +![Build](https://github.com/tecnickcom/tc-lib-pdf-graph/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-pdf-graph/graph/badge.svg?token=LqxfwhPB8G)](https://codecov.io/gh/tecnickcom/tc-lib-pdf-graph) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-pdf-graph/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-graph) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-pdf-graph/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-graph) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Pdf\Graph +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-pdf-graph +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf-graph + +## Description + +PHP library containing PDF graphic and geometric methods. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-pdf-graph": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-pdf-graph ^2.0 +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Pdf/Page/autoload.php'); +``` + + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/RELEASE b/vendor/tecnickcom/tc-lib-pdf-graph/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/SECURITY.md b/vendor/tecnickcom/tc-lib-pdf-graph/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/VERSION b/vendor/tecnickcom/tc-lib-pdf-graph/VERSION new file mode 100644 index 0000000..f90b1af --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/VERSION @@ -0,0 +1 @@ +2.3.2 diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/composer.json b/vendor/tecnickcom/tc-lib-pdf-graph/composer.json new file mode 100644 index 0000000..3496a9e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/composer.json @@ -0,0 +1,41 @@ +{ + "name": "tecnickcom/tc-lib-pdf-graph", + "description": "PHP library containing PDF graphic and geometric methods", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-pdf-graph", + "PDF", + "graphic", + "geometry", + "transformation" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-zlib": "*", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Graph\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-pdf-graph/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/phpcs.xml b/vendor/tecnickcom/tc-lib-pdf-graph/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/phpstan.neon b/vendor/tecnickcom/tc-lib-pdf-graph/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-pdf-graph/phpunit.xml.dist new file mode 100644 index 0000000..5626c48 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/autoload.php b/vendor/tecnickcom/tc-lib-pdf-graph/resources/autoload.php new file mode 100644 index 0000000..efb5f3c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(dirname(__DIR__)).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/changelog b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/compat b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/control b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/control new file mode 100644 index 0000000..314c7ab --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-zip, php-tecnickcom-tc-lib-color (<< 3.0.0), php-tecnickcom-tc-lib-color (>= 2.2.13), php-tecnickcom-tc-lib-pdf-encrypt (<< 3.0.0), php-tecnickcom-tc-lib-pdf-encrypt (>= 2.1.16), ${misc:Depends} +Description: PHP PDF Graph Library + PHP library containing PDF graphic and geometric methods. diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/copyright b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/rules b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/source/format b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-pdf-graph/resources/rpm/rpm.spec new file mode 100644 index 0000000..90a2b03 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/resources/rpm/rpm.spec @@ -0,0 +1,51 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library containing PDF graphic and geometric methods + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-zlib +Requires: php-composer(%{c_vendor}/tc-lib-color) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-color) >= 2.2.13 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1.16 + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library containing PDF graphic and geometric methods + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Mon Dec 14 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Base.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Base.php new file mode 100644 index 0000000..01e14d7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Base.php @@ -0,0 +1,683 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +use Com\Tecnick\Color\Pdf as PdfColor; +use Com\Tecnick\Pdf\Encrypt\Encrypt; + +/** + * Com\Tecnick\Pdf\Graph\Base + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * @phpstan-type TTMatrix array{ + * float, + * float, + * float, + * float, + * float, + * float, + * } + * + * @phpstan-type StyleData array{ + * 'lineWidth': float, + * 'lineCap': string, + * 'lineJoin': string, + * 'miterLimit': float, + * 'dashArray': array, + * 'dashPhase': float, + * 'lineColor': string, + * 'fillColor': string, + * } + * + * @phpstan-type StyleDataOpt array{ + * 'lineWidth'?: float, + * 'lineCap'?: string, + * 'lineJoin'?: string, + * 'miterLimit'?: float, + * 'dashArray'?: array, + * 'dashPhase'?: float, + * 'lineColor'?: string, + * 'fillColor'?: string, + * } + * + * @phpstan-type GradientData array{ + * 'antialias': bool, + * 'background': ?\Com\Tecnick\Color\Model, + * 'colors': array, + * 'colspace': string, + * 'coords': array, + * 'id': int, + * 'pattern': int, + * 'stream': string, + * 'transparency': bool, + * 'type': int, + * } + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Base +{ + /** + * Pi constant + * We use this instead of M_PI because HHVM has a different value. + * + * @var float + */ + public const MPI = 3.14159265358979323846264338327950288419716939937510; + + /** + * Identity matrix for transformations. + * + * @var TTMatrix + */ + public const IDMATRIX = [1.0, 0.0, 0.0, 1.0, 0.0, 0.0]; + + /** + * Current PDF object number + */ + protected int $pon = 0; + + /** + * Current page height + */ + protected float $pageh = 0; + + /** + * Current page width + */ + protected float $pagew = 0; + + /** + * Unit of measure conversion ratio + */ + protected float $kunit = 1.0; + + /** + * Stack index. + */ + protected int $styleid = -1; + + /** + * Stack containing style data. + * + * @var array + */ + protected array $style = []; + + /** + * Array of transparency objects and parameters. + * + * @var array, + * }> + */ + protected array $extgstates = []; + + /** + * Array of gradients + * + * @var array + */ + protected array $gradients = []; + + /** + * Initialize + * + * @param float $kunit Unit of measure conversion ratio. + * @param float $pagew Page width. + * @param float $pageh Page height. + * @param PdfColor $pdfColor Color object. + * @param bool $pdfa True if we are in PDF/A mode. + * @param bool $compress Set to false to disable stream compression. + */ + public function __construct( + float $kunit, + float $pagew, + float $pageh, + /** + * Color object + */ + protected PdfColor $pdfColor, + /** + * Encrypt object + */ + protected Encrypt $encrypt, + protected bool $pdfa = false, + protected bool $compress = true + ) { + $this->setKUnit($kunit); + $this->setPageWidth($pagew); + $this->setPageHeight($pageh); + $this->initStyle(); + } + + /** + * Initialize default style + */ + public function initStyle(): void + { + $this->style[++$this->styleid] = $this->getDefaultStyle(); + } + + /** + * Returns the default style. + * + * @param StyleDataOpt $style Style parameters to merge to the default ones. + * + * @return StyleData + */ + public function getDefaultStyle(array $style = []): array + { + $def = [ + // line thickness in user units + 'lineWidth' => (1.0 / $this->kunit), + // shape of the endpoints for any open path that is stroked + 'lineCap' => 'butt', + // shape of joints between connected segments of a stroked path + 'lineJoin' => 'miter', + // maximum length of mitered line joins for stroked paths + 'miterLimit' => (10.0 / $this->kunit), + // lengths of alternating dashes and gaps + 'dashArray' => [], + // distance at which to start the dash + 'dashPhase' => 0, + // line (drawing) color + 'lineColor' => 'black', + // background (filling) color + 'fillColor' => 'black', + ]; + + return array_merge($def, $style); + } + + /** + * Returns current PDF object number + */ + public function getObjectNumber(): int + { + return $this->pon; + } + + /** + * Set page height + * + * @param float $pageh Page height + */ + public function setPageHeight(float $pageh): static + { + $this->pageh = $pageh; + return $this; + } + + /** + * Set page width + * + * @param float $pagew Page width + */ + public function setPageWidth(float $pagew): static + { + $this->pagew = $pagew; + return $this; + } + + /** + * Set unit of measure conversion ratio. + * + * @param float $kunit Unit of measure conversion ratio. + */ + public function setKUnit(float $kunit): static + { + $this->kunit = $kunit; + return $this; + } + + /** + * Get the PDF output string for ExtGState + * + * @param int $pon Current PDF Object Number + * + * @return string PDF command + */ + public function getOutExtGState(int $pon): string + { + $this->pon = $pon; + $out = ''; + foreach ($this->extgstates as $idx => $ext) { + $this->extgstates[$idx]['n'] = ++$this->pon; + $out .= $this->pon . ' 0 obj' . "\n" + . '<< /Type /ExtGState'; + foreach ($ext['parms'] as $key => $val) { + if (is_numeric($val)) { + $val = sprintf('%F', $val); + } elseif ($val === true) { + $val = 'true'; + } elseif ($val === false) { + $val = 'false'; + } + + $out .= ' /' . $key . ' ' . $val; + } + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Returns the last extgstate ID to be used with XOBjects. + * + * @return ?int + */ + public function getLastExtGStateID(): ?int + { + return array_key_last($this->extgstates); + } + + /** + * Get the PDF output string for ExtGState Resource Dictionary. + * + * @param array $data extgstates data. + * + * @return string PDF command + */ + private function getOutExtGStateResDict(array $data): string + { + if ($this->pdfa || $this->extgstates === []) { + return ''; + } + + $out = ' /ExtGState <<'; + + foreach ($data as $key => $ext) { + if (! empty($ext['name'])) { + $out .= ' /' . $ext['name']; + } else { + $out .= ' /GS' . $key; + } + + $out .= ' ' . $ext['n'] . ' 0 R'; + } + + return $out . (' >>' . "\n"); + } + + /** + * Get the PDF output string for ExtGState Resource Dictionary + * + * @return string PDF command + */ + public function getOutExtGStateResources(): string + { + return $this->getOutExtGStateResDict($this->extgstates); + } + + /** + * Get the PDF output string for ExtGState Resource Dictionary for XOBjects. + * + * @param array $keys Array of extgstates keys. + * + * @return string PDF command + */ + public function getOutExtGStateResourcesByKeys(array $keys): string + { + if (empty($keys)) { + return ''; + } + + $data = []; + foreach ($keys as $key) { + $data[$key] = [ + 'name' => $this->extgstates[$key]['name'], + 'n' => $this->extgstates[$key]['n'], + ]; + } + + return $this->getOutExtGStateResDict($data); + } + + /** + * Get the PDF output string for Gradients Resource Dictionary. + * + * @param array $data gradients data. + * + * @return string PDF command + */ + private function getOutGradientResDict(array $data): string + { + if ($this->pdfa || empty($data)) { + return ''; + } + + $grp = ''; + $grs = ''; + + foreach ($data as $idx => $grad) { + // gradient patterns + $grp .= ' /p' . $idx . ' ' . $grad['pattern'] . ' 0 R'; + // gradient shadings + $grs .= ' /Sh' . $idx . ' ' . $grad['id'] . ' 0 R'; + } + + return ' /Pattern <<' . $grp . ' >>' . "\n" + . ' /Shading <<' . $grs . ' >>' . "\n"; + } + + /** + * Get the PDF output string for Gradients Resource Dictionary + * + * @return string PDF command + */ + public function getOutGradientResources(): string + { + return $this->getOutGradientResDict($this->gradients); + } + + + /** + * Returns the PDF command to output gradient resources. + * + * @param array $keys Array of gradient keys. + * + * @return string PDF command + */ + public function getOutGradientResourcesByKeys(array $keys): string + { + if (empty($keys)) { + return ''; + } + + $data = []; + foreach ($keys as $key) { + $data[$key] = [ + 'id' => $this->gradients[$key]['id'], + 'pattern' => $this->gradients[$key]['pattern'], + ]; + } + + return $this->getOutGradientResDict($data); + } + + /** + * Get the PDF output string for gradient colors and transparency + * + * @param GradientData $grad Array of gradient colors + * @param string $type Type of output: 'color' or 'opacity' + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getOutGradientCols(array $grad, string $type): string + { + if (($type == 'opacity') && ! $grad['transparency']) { + return ''; + } + + $out = ''; + if (($grad['type'] == 2) || ($grad['type'] == 3)) { + $num_cols = count($grad['colors']); + $lastcols = ($num_cols - 1); + $funct = []; // color and transparency objects + $bounds = []; + $encode = []; + + for ($idx = 1; $idx < $num_cols; ++$idx) { + $col0 = $grad['colors'][($idx - 1)][$type]; + $col1 = $grad['colors'][$idx][$type]; + if ($type == 'color') { + $col0 = $this->pdfColor->getColorObject($grad['colors'][($idx - 1)][$type]); + $col1 = $this->pdfColor->getColorObject($grad['colors'][$idx][$type]); + if (! $col0 instanceof \Com\Tecnick\Color\Model) { + continue; + } + + if (! $col1 instanceof \Com\Tecnick\Color\Model) { + continue; + } + + $col0 = $col0->getComponentsString(); + $col1 = $col1->getComponentsString(); + } + + $encode[] = '0 1'; + if ($idx < $lastcols && isset($grad['colors'][$idx]['offset'])) { + $bounds[] = sprintf('%F ', $grad['colors'][$idx]['offset']); + } + + $out .= ++$this->pon . ' 0 obj' . "\n" + . '<<' + . ' /FunctionType 2' + . ' /Domain [0 1]' + . ' /C0 [' . $col0 . ']' + . ' /C1 [' . $col1 . ']'; + if (isset($grad['colors'][$idx]['exponent'])) { + $out .= ' /N ' . $grad['colors'][$idx]['exponent']; + } + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + $funct[] = $this->pon . ' 0 R'; + } + + $out .= ++$this->pon . ' 0 obj' . "\n" + . '<<' + . ' /FunctionType 3' + . ' /Domain [0 1]' + . ' /Functions [' . implode(' ', $funct) . ']' + . ' /Bounds [' . implode(' ', $bounds) . ']' + . ' /Encode [' . implode(' ', $encode) . ']' + . ' >>' . "\n" + . 'endobj' . "\n"; + } + + return $out . $this->getOutPatternObj($grad, $this->pon); + } + + /** + * Get the PDF output string for the pattern and shading object + * + * @param GradientData $grad Array of gradient colors + * @param int $objref Refrence object number + * + * @return string PDF command + */ + protected function getOutPatternObj(array $grad, int $objref): string + { + // set shading object + if ($grad['transparency']) { + $grad['colspace'] = 'DeviceGray'; + } + + $oid = ++$this->pon; + $out = $oid . ' 0 obj' . "\n" + . '<<' + . ' /ShadingType ' . $grad['type'] + . ' /ColorSpace /' . $grad['colspace']; + if (! empty($grad['background'])) { + $out .= ' /Background [' . $grad['background']->getComponentsString() . ']'; + } + + if ($grad['antialias']) { + $out .= ' /AntiAlias true'; + } + + if ($grad['type'] == 2) { + $out .= ' ' . sprintf( + '/Coords [%F %F %F %F]', + $grad['coords'][0], + $grad['coords'][1], + $grad['coords'][2], + $grad['coords'][3] + ) + . ' /Domain [0 1]' + . ' /Function ' . $objref . ' 0 R' + . ' /Extend [true true]' + . ' >>' . "\n"; + } elseif ($grad['type'] == 3) { + // x0, y0, r0, x1, y1, r1 + // the radius of the inner circle is 0 + $out .= ' ' . sprintf( + '/Coords [%F %F 0 %F %F %F]', + $grad['coords'][0], + $grad['coords'][1], + $grad['coords'][2], + $grad['coords'][3], + $grad['coords'][4] + ) + . ' /Domain [0 1]' + . ' /Function ' . $objref . ' 0 R' + . ' /Extend [true true]' + . ' >>' . "\n"; + } elseif ($grad['type'] == 6) { + $stream = $this->encrypt->encryptString($grad['stream'], $this->pon); + $out .= ' /BitsPerCoordinate 16 /BitsPerComponent 8/Decode[0 1 0 1 0 1 0 1 0 1] /BitsPerFlag 8 /Length ' + . strlen($stream) + . ' >>' . "\n" + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n"; + } + + $out .= 'endobj' . "\n"; + + // pattern object + $out .= ++$this->pon . ' 0 obj' . "\n" + . '<<' + . ' /Type /Pattern' + . ' /PatternType 2' + . ' /Shading ' . $oid . ' 0 R' + . ' >>' . "\n" + . 'endobj' + . "\n"; + + return $out; + } + + /** + * Get the PDF output string for gradient shaders + * + * @param int $pon Current PDF Object Number + * + * @return string PDF command + */ + public function getOutGradientShaders(int $pon): string + { + $this->pon = $pon; + + if ($this->pdfa || $this->gradients === []) { + return ''; + } + + $idt = count($this->gradients); // index for transparency gradients + $out = ''; + foreach ($this->gradients as $idx => $grad) { + $gcol = $this->getOutGradientCols($grad, 'color'); + if ($gcol !== '') { + $out .= $gcol; + $this->gradients[$idx]['id'] = ($this->pon - 1); + $this->gradients[$idx]['pattern'] = $this->pon; + } + + $gopa = $this->getOutGradientCols($grad, 'opacity'); + $idgs = ($idx + $idt); + + if ($gopa !== '') { + $out .= $gopa; + $this->gradients[$idgs]['id'] = ($this->pon - 1); + $this->gradients[$idgs]['pattern'] = $this->pon; + } + + if ($grad['transparency']) { + $oid = ++$this->pon; + $pwidth = ($this->pagew * $this->kunit); + $pheight = ($this->pageh * $this->kunit); + $rect = sprintf('%F %F', $pwidth, $pheight); + + $out .= $oid . ' 0 obj' . "\n" + . '<<' + . ' /Type /XObject' + . ' /Subtype /Form' + . ' /FormType 1'; + $stream = 'q /a0 gs /Pattern cs /p' . $idgs . ' scn 0 0 ' . $pwidth . ' ' . $pheight . ' re f Q'; + if ($this->compress) { + $cmpstream = gzcompress($stream); + if ($cmpstream !== false) { + $stream = $cmpstream; + $out .= ' /Filter /FlateDecode'; + } + } + + $stream = $this->encrypt->encryptString($stream, $oid); + $out .= ' /Length ' . strlen($stream) + . ' /BBox [0 0 ' . $rect . ']' + . ' /Group << /Type /Group /S /Transparency /CS /DeviceGray >>' + . ' /Resources <<' + . ' /ExtGState << /a0 << /ca 1 /CA 1 >> >>' + . ' /Pattern << /p' . $idgs . ' ' . $this->gradients[$idgs]['pattern'] . ' 0 R >>' + . ' >>' + . ' >>' . "\n" + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + + // SMask + $objsm = ++$this->pon; + $out .= $objsm . ' 0 obj' . "\n" + . '<<' + . ' /Type /Mask' + . ' /S /Luminosity' + . ' /G ' . $oid . ' 0 R' + . ' >>' . "\n" + . 'endobj' . "\n"; + + // ExtGState + $objext = ++$this->pon; + $out .= ++$objext . ' 0 obj' . "\n" + . '<<' + . ' /Type /ExtGState' + . ' /SMask ' . $objsm . ' 0 R' + . ' /AIS false' + . ' >>' . "\n" + . 'endobj' . "\n"; + $this->extgstates[] = [ + 'n' => $objext, + 'name' => 'TGS' . $idx, + 'parms' => [], + ]; + } + } + + return $out; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Draw.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Draw.php new file mode 100644 index 0000000..f7c533e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Draw.php @@ -0,0 +1,791 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +use Com\Tecnick\Pdf\Graph\Exception as GraphException; + +/** + * Com\Tecnick\Pdf\Graph\Draw + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * @phpstan-import-type StyleDataOpt from \Com\Tecnick\Pdf\Graph\Base + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +class Draw extends \Com\Tecnick\Pdf\Graph\Gradient +{ + /** + * Draws a line between two points. + * + * @param float $posx1 Abscissa of first point. + * @param float $posy1 Ordinate of first point. + * @param float $posx2 Abscissa of second point. + * @param float $posy2 Ordinate of second point. + * @param StyleDataOpt $style Line style to apply. + * + * @return string PDF command + */ + public function getLine( + float $posx1, + float $posy1, + float $posx2, + float $posy2, + array $style = [], + ): string { + return $this->getStyleCmd($style) + . $this->getRawPoint($posx1, $posy1) + . $this->getRawLine($posx2, $posy2) + . $this->getPathPaintOp('S'); + } + + /** + * Draws a Bezier curve. + * The Bezier curve is a tangent to the line between the control points at either end of the curve. + * + * @param float $posx0 Abscissa of start point. + * @param float $posy0 Ordinate of start point. + * @param float $posx1 Abscissa of control point 1. + * @param float $posy1 Ordinate of control point 1. + * @param float $posx2 Abscissa of control point 2. + * @param float $posy2 Ordinate of control point 2. + * @param float $posx3 Abscissa of end point. + * @param float $posy3 Ordinate of end point. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.ExcessiveParameterList") + */ + public function getCurve( + float $posx0, + float $posy0, + float $posx1, + float $posy1, + float $posx2, + float $posy2, + float $posx3, + float $posy3, + string $mode = 'S', + array $style = [], + ): string { + return $this->getStyleCmd($style) + . $this->getRawPoint($posx0, $posy0) + . $this->getRawCurve($posx1, $posy1, $posx2, $posy2, $posx3, $posy3) + . $this->getPathPaintOp($mode); + } + + /** + * Draws a poly-Bezier curve. + * Each Bezier curve segment is a tangent to the line between the control points at either end of the curve. + * + * @param float $posx0 Abscissa of start point. + * @param float $posy0 Ordinate of start point. + * @param array> $segments An array of bezier descriptions. Format: array(x1, y1, x2, y2, x3, y3). + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * + * @return string PDF command + */ + public function getPolycurve( + float $posx0, + float $posy0, + array $segments, + string $mode = 'S', + array $style = [], + ): string { + $out = $this->getStyleCmd($style) + . $this->getRawPoint($posx0, $posy0); + foreach ($segments as $segment) { + [$posx1, $posy1, $posx2, $posy2, $posx3, $posy3] = $segment; + $out .= $this->getRawCurve($posx1, $posy1, $posx2, $posy2, $posx3, $posy3); + } + + return $out . $this->getPathPaintOp($mode); + } + + /** + * Draws an ellipse. + * An ellipse is formed from n Bezier curves. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $hrad Horizontal radius. + * @param float $vrad Vertical radius. + * @param float $angle Angle oriented (anti-clockwise). Default value: 0. + * @param float $angs Angle in degrees at which starting drawing. + * @param float $angf Angle in degrees at which stop drawing. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * @param int $ncv Number of curves used to draw a 90 degrees portion of ellipse. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.ExcessiveParameterList") + */ + public function getEllipse( + float $posx, + float $posy, + float $hrad, + float $vrad = 0, + float $angle = 0, + float $angs = 0, + float $angf = 360, + string $mode = 'S', + array $style = [], + int $ncv = 2 + ): string { + if (empty($vrad)) { + $vrad = $hrad; + } + + return $this->getStyleCmd($style) + . $this->getRawEllipticalArc( + $posx, + $posy, + $hrad, + $vrad, + $angle, + $angs, + $angf, + false, + $ncv, + true, + true, + false + ) + . $this->getPathPaintOp($mode); + } + + /** + * Draws a circle. + * A circle is formed from n Bezier curves. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $rad Radius. + * @param float $angs Angle in degrees at which starting drawing. + * @param float $angf Angle in degrees at which stop drawing. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * @param int $ncv Number of curves used to draw a 90 degrees portion of ellipse. + * + * @return string PDF command + */ + public function getCircle( + float $posx, + float $posy, + float $rad, + float $angs = 0, + float $angf = 360, + string $mode = 'S', + array $style = [], + int $ncv = 2 + ): string { + return $this->getEllipse($posx, $posy, $rad, $rad, 0, $angs, $angf, $mode, $style, $ncv); + } + + /** + * Draws a circle pie sector. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $rad Radius. + * @param float $angs Angle in degrees at which starting drawing. + * @param float $angf Angle in degrees at which stop drawing. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * @param int $ncv Number of curves used to draw a 90 degrees portion of ellipse. + * + * @return string PDF command + */ + public function getPieSector( + float $posx, + float $posy, + float $rad, + float $angs = 0, + float $angf = 360, + string $mode = 'FD', + array $style = [], + int $ncv = 2 + ): string { + return $this->getStyleCmd($style) + . $this->getRawEllipticalArc( + $posx, + $posy, + $rad, + $rad, + 0, + $angs, + $angf, + true, + $ncv, + true, + true, + false + ) + . $this->getPathPaintOp($mode); + } + + /** + * Draws a basic polygon. + * + * @param array $points Points - array containing 4 points for each segment: (x0, y0, x1, y1, x2, y2, ...) + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * + * @return string PDF command + */ + public function getBasicPolygon( + array $points, + string $mode = 'S', + array $style = [], + ): string { + $nco = count($points); // number of coordinates + $out = $this->getStyleCmd($style) + . $this->getRawPoint($points[0], $points[1]); + for ($idx = 2; $idx < $nco; $idx += 2) { + $out .= $this->getRawLine($points[$idx], $points[($idx + 1)]); + } + + return $out . $this->getPathPaintOp($mode); + } + + /** + * Returns the polygon default style command and initialize the first segment style if missing. + * + * @param array $styles Array of styles - + * one style entry for each polygon segment and/or one global "all" entry. + * + * @return string PDF command + */ + protected function getDefaultSegStyle(array $styles = []): string + { + $out = ''; + if (! empty($styles['all'])) { + $out .= $this->getStyleCmd($styles['all']); + } + + if (empty($styles[0])) { + $styles[0] = []; + } + + return $out; + } + + /** + * Draws a polygon with a different style for each segment. + * + * @param array $points Points - array with values (x0, y0, x1, y1,..., x(n-1), y(n-1)) + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param array $styles Array of styles - + * one style entry for each polygon segment and/or one global "all" entry. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + public function getPolygon(array $points, string $mode = 'S', array $styles = []): string + { + $nco = count($points); // number of points + if ($nco < 6) { + return ''; // we need at least 3 points + } + + $nseg = (int) ($nco / 2); // number of segments (including the closing one) + + $out = $this->getDefaultSegStyle($styles); + + if ( + $this->isClosingMode($mode) + && (($points[($nco - 2)] != $points[0]) || ($points[($nco - 1)] != $points[1])) + ) { + // close polygon by adding the first point (x, y) at the end + $points[$nco++] = $points[0]; + $points[$nco++] = $points[1]; + if (!empty($styles[0])) { + // copy style for the last segment + $styles[($nseg - 1)] = $styles[0]; + } + } + + // paint the filling + if ($this->isFillingMode($mode)) { + $out .= $this->getBasicPolygon($points, $this->getModeWithoutStroke($mode)); + if ($this->isClippingMode($mode)) { + return $out; + } + } + + $nco -= 3; + + // paint the outline + for ($idx = 0; $idx < $nco; $idx += 2) { + $segid = (int) ($idx / 2); + if (! isset($styles[$segid])) { + $styles[$segid] = []; + } + + $out .= $this->getLine( + $points[$idx], + $points[($idx + 1)], + $points[($idx + 2)], + $points[($idx + 3)], + $styles[$segid] + ); + } + + return $out; + } + + /** + * Draws a regular polygon. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $radius Radius of inscribed circle. + * @param int $sides Number of sides. + * @param float $angle Angle of the orientation (anti-clockwise). + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param array $styles Array of styles - + * one style entry for each polygon segment and/or one global "all" entry. + * @param string $cirmode Mode of rendering of the inscribed circle (if any). @see getPathPaintOp() + * @param StyleDataOpt $cirstyle Style of inscribed circle. + * + * @return string PDF command + */ + public function getRegularPolygon( + float $posx, + float $posy, + float $radius, + int $sides, + float $angle = 0, + string $mode = 'S', + array $styles = [], + string $cirmode = '', + array $cirstyle = [] + ): string { + if ($sides < 3) { // triangle is the minimum polygon + return ''; + } + + $out = ''; + if ($cirmode !== '') { + $out .= $this->getCircle($posx, $posy, $radius, 0, 360, $cirmode, $cirstyle); + } + + $points = []; + for ($idx = 0; $idx < $sides; ++$idx) { + $angrad = $this->degToRad($angle + ($idx * 360 / $sides)); + $points[] = ($posx + ($radius * sin($angrad))); + $points[] = ($posy + ($radius * cos($angrad))); + } + + return $out . $this->getPolygon($points, $mode, $styles); + } + + /** + * Draws a star polygon. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $radius Radius of inscribed circle. + * @param int $nvert Number of vertices. + * @param int $ngaps Number of gaps (if ($ngaps % $nvert = 1) then is a regular polygon). + * @param float $angle Angle oriented (anti-clockwise). + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param array $styles Array of styles - + * one style entry for each polygon segment and/or one global "all" entry. + * @param string $cirmode Mode of rendering of the inscribed circle (if any). @see getPathPaintOp() + * @param StyleDataOpt $cirstyle Style of inscribed circle. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.ExcessiveParameterList") + */ + public function getStarPolygon( + float $posx, + float $posy, + float $radius, + int $nvert, + int $ngaps, + float $angle = 0, + string $mode = 'S', + array $styles = [], + string $cirmode = '', + array $cirstyle = [] + ): string { + if ($nvert < 2) { + return ''; + } + + $out = ''; + if ($cirmode !== '') { + $out .= $this->getCircle($posx, $posy, $radius, 0, 360, $cirmode, $cirstyle); + } + + $points2 = []; + $visited = []; + for ($idx = 0; $idx < $nvert; ++$idx) { + $angrad = $this->degToRad($angle + ($idx * 360 / $nvert)); + $points2[] = $posx + ($radius * sin($angrad)); + $points2[] = $posy + ($radius * cos($angrad)); + $visited[] = false; + } + + $points = []; + $idx = 0; + do { + $points[] = $points2[($idx * 2)]; + $points[] = $points2[(($idx * 2) + 1)]; + $visited[$idx] = true; + $idx += $ngaps; + $idx %= $nvert; + } while (! $visited[$idx]); + + return $out . $this->getPolygon($points, $mode, $styles); + } + + /** + * Draws a rectangle with a different style for each segment. + * + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param array $styles Array of styles - + * one style entry for each side (T,R,B,L) and/or one global "all" entry. + + * @return string PDF command + */ + public function getRect( + float $posx, + float $posy, + float $width, + float $height, + string $mode = 'S', + array $styles = [] + ): string { + $points = [ + $posx, $posy, + $posx + $width, $posy, + $posx + $width, $posy + $height, + $posx, $posy + $height, + $posx, $posy, + ]; + return $this->getPolygon($points, $mode, $styles); + } + + /** + * Draws a rounded rectangle. + * + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param float $hrad X-axis radius of the ellipse used to round off the corners of the rectangle. + * @param float $vrad Y-axis radius of the ellipse used to round off the corners of the rectangle. + * @param string $corner Round corners to draw: 0 (square i-corner) or 1 (rounded i-corner) in i-position. + * Positions are int the following order: top right, bottom right, bottom left and + * top left. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + public function getRoundedRect( + float $posx, + float $posy, + float $width, + float $height, + float $hrad, + float $vrad, + string $corner = '1111', + string $mode = 'S', + array $style = [], + ): string { + if (($corner === '0000') || (empty($hrad) && empty($vrad))) { + // basic rectangle with straight corners + return $this->getBasicRect($posx, $posy, $width, $height, $mode, $style); + } + + $out = $this->getStyleCmd($style); + if ($corner[3] !== '0') { + $out .= $this->getRawPoint(($posx + $hrad), $posy); + } else { + $out .= $this->getRawPoint($posx, $posy); + } + + $posxc = ($posx + $width - $hrad); + $posyc = ($posy + $vrad); + $out .= $this->getRawLine($posxc, $posy); + $arc = (4 / 3 * (sqrt(2) - 1)); + $harc = ($hrad * $arc); + $varc = ($vrad * $arc); + + if ($corner[0] !== '0') { + $out .= $this->getRawCurve( + ($posxc + $harc), + ($posyc - $vrad), + ($posxc + $hrad), + ($posyc - $varc), + ($posxc + $hrad), + $posyc + ); + } else { + $out .= $this->getRawLine(($posx + $width), $posy); + } + + $posxc = ($posx + $width - $hrad); + $posyc = ($posy + $height - $vrad); + $out .= $this->getRawLine(($posx + $width), $posyc); + + if ($corner[1] !== '0') { + $out .= $this->getRawCurve( + ($posxc + $hrad), + ($posyc + $varc), + ($posxc + $harc), + ($posyc + $vrad), + $posxc, + ($posyc + $vrad) + ); + } else { + $out .= $this->getRawLine(($posx + $width), ($posy + $height)); + } + + $posxc = ($posx + $hrad); + $posyc = ($posy + $height - $vrad); + $out .= $this->getRawLine($posxc, ($posy + $height)); + + if ($corner[2] !== '0') { + $out .= $this->getRawCurve( + ($posxc - $harc), + ($posyc + $vrad), + ($posxc - $hrad), + ($posyc + $varc), + ($posxc - $hrad), + $posyc + ); + } else { + $out .= $this->getRawLine($posx, ($posy + $height)); + } + + $posxc = ($posx + $hrad); + $posyc = ($posy + $vrad); + $out .= $this->getRawLine($posx, $posyc); + + if ($corner[3] !== '0') { + $out .= $this->getRawCurve( + ($posxc - $hrad), + ($posyc - $varc), + ($posxc - $harc), + ($posyc - $vrad), + $posxc, + ($posyc - $vrad) + ); + } else { + $out .= $this->getRawLine($posx, $posy); + } + + return $out . $this->getPathPaintOp($mode); + } + + /** + * Draws an arrow. + * + * @param float $posx0 Abscissa of first point. + * @param float $posy0 Ordinate of first point. + * @param float $posx1 Abscissa of second point (head side). + * @param float $posy1 Ordinate of second point (head side) + * @param int $headmode Arrow head mode: + * 0 = draw only + * head arms; 1 = + * draw closed head + * without filling; + * 2 = closed and + * filled head; 3 = + * filled head. + * @param float $armsize Length of head arms. + * @param int $armangle Angle between an head arm and the arrow shaft. + * @param StyleDataOpt $style Line style to apply. + * + * @return string PDF command + */ + public function getArrow( + float $posx0, + float $posy0, + float $posx1, + float $posy1, + int $headmode = 0, + float $armsize = 5, + int $armangle = 15, + array $style = [], + ): string { + // getting arrow direction angle; 0 deg angle is when both arms go along X axis; angle grows clockwise. + $dir_angle = atan2(($posy0 - $posy1), ($posx0 - $posx1)); + if ($dir_angle < 0) { + $dir_angle += (2 * self::MPI); + } + + $armangle = $this->degToRad($armangle); + $sx1 = $posx1; + $sy1 = $posy1; + if ($headmode > 0) { + // calculate the stopping point for the arrow shaft + $linewidth = 0; + $linewidth = $style['lineWidth'] ?? (float) $this->getLastStyleProperty('lineWidth', $linewidth); + + $sx1 = ($posx1 + (($armsize - $linewidth) * cos($dir_angle))); + $sy1 = ($posy1 + (($armsize - $linewidth) * sin($dir_angle))); + } + + $out = $this->getStyleCmd($style); + // main arrow line / shaft + $out .= $this->getLine($posx0, $posy0, $sx1, $sy1); + // left arrowhead arm tip + $hxl = ($posx1 + ($armsize * cos($dir_angle + $armangle))); + $hyl = ($posy1 + ($armsize * sin($dir_angle + $armangle))); + // right arrowhead arm tip + $hxr = ($posx1 + ($armsize * cos($dir_angle - $armangle))); + $hyr = ($posy1 + ($armsize * sin($dir_angle - $armangle))); + $modemap = [ + 0 => 'S', + 1 => 's', + 2 => 'b', + 3 => 'f', + ]; + $points = [$hxl, $hyl, $posx1, $posy1, $hxr, $hyr]; + return $out . $this->getBasicPolygon($points, $modemap[$headmode], $style); + } + + /** + * Get a registration mark. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $rad Radius. + * @param bool $double If true prints two concentric crop marks. + * @param string $color Color. + * + * @return string PDF command + */ + public function getRegistrationMark( + float $posx, + float $posy, + float $rad, + bool $double = false, + string $color = 'all' + ): string { + $style = [ + 'lineWidth' => max((0.5 / $this->kunit), ($rad / 30)), + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'miterLimit' => (10.0 / $this->kunit), + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => $color, + 'fillColor' => $color, + ]; + + $colobj = $this->pdfColor->getColorObject($color); + if (! $colobj instanceof \Com\Tecnick\Color\Model) { + throw new GraphException('Unknow color: ' . $color); + } + + $out = $colobj->getPdfColor() + . $this->getPieSector($posx, $posy, $rad, 90, 180, 'F') + . $this->getPieSector($posx, $posy, $rad, 270, 360, 'F') + . $this->getCircle($posx, $posy, $rad, 0, 360, 'S', [], 8); + if ($double) { + $radi = ($rad * 0.5); + $out .= $colobj->invertColor()->getPdfColor() + . $this->getPieSector($posx, $posy, $radi, 90, 180, 'F') + . $this->getPieSector($posx, $posy, $radi, 270, 360, 'F') + . $this->getCircle($posx, $posy, $radi, 0, 360, 'S', [], 8) + . $colobj->getPdfColor() + . $this->getPieSector($posx, $posy, $radi, 0, 90, 'F') + . $this->getPieSector($posx, $posy, $radi, 180, 270, 'F') + . $this->getCircle($posx, $posy, $radi, 0, 360, 'S', [], 8); + } + + return $this->getStartTransform() + . $this->getStyleCmd($style) + . $out + . $this->getStopTransform(); + } + + /** + * Get a CMYK registration mark. + * + * @param float $posx Abscissa of center point. + * @param float $posy Ordinate of center point. + * @param float $rad Radius. + * + * @return string PDF command + */ + public function getCmykRegistrationMark(float $posx, float $posy, float $rad): string + { + // internal radius + $radi = ($rad * 0.6); + // external radius + $rade = ($rad * 1.3); + // line style for external circle + $style = [ + 'lineWidth' => max((0.5 / $this->kunit), ($rad / 30)), + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'miterLimit' => (10.0 / $this->kunit), + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'All', + 'fillColor' => '', + ]; + + return $this->getStartTransform() + . (($this->pdfColor->getColorObject('Cyan') instanceof \Com\Tecnick\Color\Model) + ? $this->pdfColor->getColorObject('Cyan')->getPdfColor() : '') + . $this->getPieSector($posx, $posy, $radi, 270, 360, 'F') + . (($this->pdfColor->getColorObject('Magenta') instanceof \Com\Tecnick\Color\Model) + ? $this->pdfColor->getColorObject('Magenta')->getPdfColor() : '') + . $this->getPieSector($posx, $posy, $radi, 0, 90, 'F') + . (($this->pdfColor->getColorObject('Yellow') instanceof \Com\Tecnick\Color\Model) + ? $this->pdfColor->getColorObject('Yellow')->getPdfColor() : '') + . $this->getPieSector($posx, $posy, $radi, 90, 180, 'F') + . (($this->pdfColor->getColorObject('Key') instanceof \Com\Tecnick\Color\Model) + ? $this->pdfColor->getColorObject('Key')->getPdfColor() : '') + . $this->getPieSector($posx, $posy, $radi, 180, 270, 'F') + . $this->getStyleCmd($style) + . $this->getCircle($posx, $posy, $rad, 0, 360, 'S', [], 8) + . $this->getLine($posx, ($posy - $rade), $posx, ($posy - $radi)) + . $this->getLine($posx, ($posy + $radi), $posx, ($posy + $rade)) + . $this->getLine(($posx - $rade), $posy, ($posx - $radi), $posy) + . $this->getLine(($posx + $radi), $posy, ($posx + $rade), $posy) + . $this->getStopTransform(); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Exception.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Exception.php new file mode 100644 index 0000000..405bdde --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +/** + * Com\Tecnick\Pdf\Graph\Exception + * + * Custom Exception class + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Gradient.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Gradient.php new file mode 100644 index 0000000..1b2abb6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Gradient.php @@ -0,0 +1,933 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +use Com\Tecnick\Pdf\Graph\Exception as GraphException; + +/** + * Com\Tecnick\Pdf\Graph\Gradient + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * @phpstan-import-type GradientData from \Com\Tecnick\Pdf\Graph\Base + * @phpstan-import-type StyleDataOpt from \Com\Tecnick\Pdf\Graph\Base + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Gradient extends \Com\Tecnick\Pdf\Graph\Raw +{ + /** + * Blend mode. + * + * @var array + */ + protected const BLENDMODE = [ + 'Color' => true, + 'ColorBurn' => true, + 'ColorDodge' => true, + 'Darken' => true, + 'Difference' => true, + 'Exclusion' => true, + 'HardLight' => true, + 'Hue' => true, + 'Lighten' => true, + 'Luminosity' => true, + 'Multiply' => true, + 'Normal' => true, + 'Overlay' => true, + 'Saturation' => true, + 'Screen' => true, + 'SoftLight' => true, + ]; + + /** + * Blend mode. + * + * @var array + */ + protected const COLSPACE = [ + 'CMYK' => 'DeviceCMYK', + 'RGB' => 'DeviceRGB', + 'GRAY' => 'DeviceGray', + ]; + + /** + * Returns the gradients array + * + * @return array + */ + public function getGradientsArray(): array + { + return $this->gradients; + } + + /** + * Draws a basic rectangle + * + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * @param StyleDataOpt $style Style. + * + * @return string PDF command + */ + public function getBasicRect( + float $posx, + float $posy, + float $width, + float $height, + string $mode = 'S', + array $style = [] + ): string { + return $this->getStyleCmd($style) + . $this->getRawRect($posx, $posy, $width, $height, $mode); + } + + /** + * Get a linear colour gradient command. + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + * @param string $colorstart Starting color. + * @param string $colorend Ending color. + * @param array $coords Gradient vector (x1, y1, x2, y2). + * + * @return string PDF command + */ + public function getLinearGradient( + float $posx, + float $posy, + float $width, + float $height, + string $colorstart, + string $colorend, + array $coords = [0, 0, 1, 0] + ): string { + return $this->getStartTransform() + . $this->getClippingRect($posx, $posy, $width, $height) + . $this->getGradientTransform($posx, $posy, $width, $height) + . $this->getGradient( + 2, + $coords, + [ + [ + 'color' => $colorstart, + 'exponent' => 1.0, + 'offset' => 0.0, + 'opacity' => 1.0, + ], + [ + 'color' => $colorend, + 'exponent' => 1.0, + 'offset' => 1.0, + 'opacity' => 1.0, + ], + ], + '', + false + ) + . $this->getStopTransform(); + } + + /** + * Get a radial colour gradient command. + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + * @param string $colorstart Starting color. + * @param string $colorend Ending color. + * @param array $coords Array of the form (fx, fy, cx, cy, r) where + * (fx, fy) is the starting point of the + * gradient with $colorstart (be inside the + * circle), (cx, cy) is the center of the + * circle with $colorend, and r is the radius + * of the circle. + * + * @return string PDF command + */ + public function getRadialGradient( + float $posx, + float $posy, + float $width, + float $height, + string $colorstart, + string $colorend, + array $coords = [0.5, 0.5, 0.5, 0.5, 1] + ): string { + return $this->getStartTransform() + . $this->getClippingRect($posx, $posy, $width, $height) + . $this->getGradientTransform($posx, $posy, $width, $height) + . $this->getGradient( + 3, + $coords, + [ + [ + 'color' => $colorstart, + 'exponent' => 1.0, + 'offset' => 0.0, + 'opacity' => 1.0, + ], + [ + 'color' => $colorend, + 'exponent' => 1.0, + 'offset' => 1.0, + 'opacity' => 1.0, + ], + ], + '', + false + ) + . $this->getStopTransform(); + } + + /** + * Rectangular clipping area. + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + * @param bool $eoclip If true, set clipping path using even-odd rule. + */ + public function getClippingRect(float $posx, float $posy, float $width, float $height, bool $eoclip = false): string + { + $mode = $eoclip ? 'CEO' : 'CNZ'; + return $this->getRawRect($posx, $posy, $width, $height, $mode); + } + + /** + * Rectangular clipping area. + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + */ + public function getGradientTransform(float $posx, float $posy, float $width, float $height): string + { + $ctm = [ + ($width * $this->kunit), + 0, + 0, + ($height * $this->kunit), + ($posx * $this->kunit), + (($this->pageh - ($posy + $height)) * $this->kunit), + ]; + return $this->getTransformation($ctm); + } + + /** + * Get a color gradient PDF command. + * + * @param int $type Type of gradient (Not all types are currently supported): + * 1 = Function-based shading; 2 = Axial shading; 3 = Radial + * shading; 4 = Free-form Gouraud-shaded triangle mesh; 5 = + * Lattice-form Gouraud-shaded triangle mesh; 6 = Coons + * patch mesh; 7 Tensor-product patch mesh + * @param array $coords Array of coordinates. + * @param array $stops Array gradient color components: + * color = color; offset = (0 to 1) + * represents a location along the + * gradient vector; exponent = + * exponent of the exponential + * interpolation function (default + * = 1). + * @param string $bgcolor Background color + * @param bool $antialias Flag indicating whether to filter the + * shading function to prevent aliasing artifacts. + * + * @return string PDF command + */ + public function getGradient( + int $type, + array $coords, + array $stops, + string $bgcolor, + bool $antialias = false + ): string { + if ($this->pdfa) { + return ''; + } + + $model = $this->pdfColor->getColorObject($stops[0]['color']); + if (! $model instanceof \Com\Tecnick\Color\Model) { + throw new GraphException('Invalid color'); + } + + $ngr = (1 + count($this->gradients)); + $this->gradients[$ngr] = $this->getGradientStops( + [ + 'antialias' => $antialias, + 'background' => $this->pdfColor->getColorObject($bgcolor), + 'colors' => [], + 'colspace' => self::COLSPACE[$model->getType()], + 'coords' => $coords, + 'id' => 0, + 'pattern' => 0, + 'stream' => '', + 'transparency' => false, + 'type' => $type, + ], + $stops + ); + + $out = ''; + if ($this->gradients[$ngr]['transparency']) { + // paint luminosity gradient + $out .= '/TGS' . $ngr . ' gs' . "\n"; + } + + // paint the gradient + $out .= '/Sh' . $ngr . ' sh' . "\n"; + + return $out; + } + + /** + * Returns the last gradient ID to be used with XOBjects. + * + * @return ?int + */ + public function getLastGradientID(): ?int + { + return array_key_last($this->gradients); + } + + /** + * Process the gradient stops. + * + * @param GradientData $grad Array containing gradient info + * @param array $stops Array gradient color components: + * color = color; + * offset = (0 to 1) represents a location along the gradient vector; + * exponent = exponent of the exponential interpolation function (default = 1). + * + * @return GradientData Gradient array. + */ + protected function getGradientStops(array $grad, array $stops): array + { + $num_stops = count($stops); + $last_stop_id = ($num_stops - 1); + + foreach ($stops as $key => $stop) { + $grad['colors'][$key] = []; + $grad['colors'][$key]['color'] = $stop['color']; + $grad['colors'][$key]['exponent'] = 1; + if (isset($stop['exponent'])) { + // exponent for the interpolation function + $grad['colors'][$key]['exponent'] = $stop['exponent']; + } + + $grad['colors'][$key]['opacity'] = 1; + if (isset($stop['opacity'])) { + $grad['colors'][$key]['opacity'] = $stop['opacity']; + $grad['transparency'] = ($grad['transparency'] || ($stop['opacity'] < 1)); + } + + // offset represents a location along the gradient vector + if (isset($stop['offset'])) { + $grad['colors'][$key]['offset'] = $stop['offset']; + } elseif ($key == 0) { + $grad['colors'][$key]['offset'] = 0; + } elseif ($key == $last_stop_id) { + $grad['colors'][$key]['offset'] = 1; + } elseif (isset($grad['colors'][($key - 1)]['offset'])) { + $offsetstep = ((1.0 - $grad['colors'][($key - 1)]['offset']) / ($num_stops - $key)); + $grad['colors'][$key]['offset'] = ($grad['colors'][($key - 1)]['offset'] + $offsetstep); + } + } + + return $grad; + } + + /** + * Paints a coons patch mesh. + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + * @param string $colll Lower-Left corner color. + * @param string $collr Lower-Right corner color. + * @param string $colur Upper-Right corner color. + * @param string $colul Upper-Left corner color. + * @param array $coords Coordinates + * @param float $coords_min Minimum value used by the coordinates. + * If a coordinate's value is smaller + * than this it will be cut to + * coords_min. + * @param float $coords_max Maximum value used by the coordinates. + * If a coordinate's value is greater + * than this it will be cut to + * coords_max. + * @param bool $antialias Flag indicating whether to filter the + * shading function to prevent aliasing artifacts. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.ExcessiveParameterList") + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + */ + public function getCoonsPatchMeshWithCoords( + float $posx, + float $posy, + float $width, + float $height, + string $colll = 'yellow', + string $collr = 'blue', + string $colur = 'green', + string $colul = 'red', + array $coords = [ + 0.00, + 0.00, + 0.33, + 0.00, + 0.67, + 0.00, + 1.00, + 0.00, + 1.00, + 0.33, + 1.00, + 0.67, + 1.00, + 1.00, + 0.67, + 1.00, + 0.33, + 1.00, + 0.00, + 1.00, + 0.00, + 0.67, + 0.00, + 0.33, + ], + float $coords_min = 0.0, + float $coords_max = 1.0, + bool $antialias = false + ): string { + if ($this->pdfa) { + return ''; + } + + // simple array -> convert to multi patch array + + $patch_array = [ + 0 => [ + 'f' => 0, + 'points' => $coords, + 'colors' => [ + 0 => [ + 'red' => 1, + 'green' => 1, + 'blue' => 0, + 'alpha' => 1, + ], + 1 => [ + 'red' => 0, + 'green' => 0, + 'blue' => 1, + 'alpha' => 1, + ], + 2 => [ + 'red' => 0, + 'green' => 1, + 'blue' => 0, + 'alpha' => 1, + ], + 3 => [ + 'red' => 1, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, + ], + ], + ], + ]; + + $colllobj = $this->pdfColor->getColorObject($colll); + if (! $colllobj instanceof \Com\Tecnick\Color\Model) { + throw new GraphException('Invalid Lower-Left corner color'); + } + + $patch_array[0]['colors'][0] = $colllobj->toRgbArray(); + + $collrobj = $this->pdfColor->getColorObject($collr); + if (! $collrobj instanceof \Com\Tecnick\Color\Model) { + throw new GraphException('Invalid Lower-Right corner color'); + } + + $patch_array[0]['colors'][1] = $collrobj->toRgbArray(); + + $colurobj = $this->pdfColor->getColorObject($colur); + if (! $colurobj instanceof \Com\Tecnick\Color\Model) { + throw new GraphException('Invalid Upper-Right corner color'); + } + + $patch_array[0]['colors'][2] = $colurobj->toRgbArray(); + + $colulobj = $this->pdfColor->getColorObject($colul); + if (! $colulobj instanceof \Com\Tecnick\Color\Model) { + throw new GraphException('Invalid Upper-Left corner color'); + } + + $patch_array[0]['colors'][3] = $colulobj->toRgbArray(); + + return $this->getCoonsPatchMesh( + $posx, + $posy, + $width, + $height, + $patch_array, + $coords_min, + $coords_max, + $antialias, + ); + } + + /** + * Paints a coons patch mesh. + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + * @param array, + * 'colors': array>, + * }> $patch_array For one patch mesh: + * array(float x1, + * float y1, .... + * float x12, float + * y12): 12 pairs of + * coordinates + * (normally from 0 to + * 1) which specify + * the Bezier control + * points that define + * the patch. First + * pair is the lower + * left edge point, + * next is its right + * control point + * (control point 2). + * Then the other + * points are defined + * in the order: + * control point 1, + * edge point, control + * point 2 going + * counter-clockwise + * around the patch. + * Last (x12, y12) is + * the first edge + * point's left + * control point + * (control point 1). + * For two or more + * patch meshes: + * array[number of + * patches] - arrays + * with the following + * keys for each + * patch: f: where to + * put that patch (0 = + * first patch, 1, 2, + * 3 = right, top and + * left) points: 12 + * pairs of + * coordinates of the + * Bezier control + * points as above for + * the first patch, 8 + * pairs of + * coordinates for the + * following patches, + * ignoring the + * coordinates already + * defined by the + * precedent patch + * colors: must be 4 + * colors for the + * first patch, 2 + * colors for the + * following patches + * @param float $coords_min Minimum value used by the coordinates. + * If a coordinate's value is smaller + * than this it will be cut to + * coords_min. + * @param float $coords_max Maximum value used by the coordinates. + * If a coordinate's value is greater + * than this it will be cut to + * coords_max. + * @param bool $antialias Flag indicating whether to filter the + * shading function to prevent aliasing artifacts. + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.ExcessiveParameterList") + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + public function getCoonsPatchMesh( + float $posx, + float $posy, + float $width, + float $height, + array $patch_array = [], + float $coords_min = 0.0, + float $coords_max = 1.0, + bool $antialias = false + ): string { + if ($this->pdfa) { + return ''; + } + + $ngr = (1 + count($this->gradients)); + $this->gradients[$ngr] = [ + 'antialias' => $antialias, + 'colors' => [], + 'background' => null, + 'colspace' => 'DeviceRGB', + 'coords' => [], + 'id' => 0, + 'pattern' => 0, + 'stream' => '', + 'transparency' => false, + 'type' => 6, //coons patch mesh + ]; + + $bpcd = 65535; // 16 bits per coordinate + + foreach ($patch_array as $par) { + $this->gradients[$ngr]['stream'] .= chr($par['f']); // start with the edge flag as 8 bit + foreach ($par['points'] as $point) { + // each point as 16 bit + $point = floor( + max( + 0, + min( + $bpcd, + ((($point - $coords_min) / ($coords_max - $coords_min)) * $bpcd) + ) + ) + ); + $this->gradients[$ngr]['stream'] .= chr((int) floor($point / 256)) . chr((int) floor($point % 256)); + } + + foreach ($par['colors'] as $color) { + // each color component as 8 bit + $this->gradients[$ngr]['stream'] .= chr((int) floor($color['red'] * 255)) + . chr((int) floor($color['green'] * 255)) + . chr((int) floor($color['blue'] * 255)); + } + } + + return $this->getStartTransform() + . $this->getClippingRect($posx, $posy, $width, $height) + . $this->getGradientTransform($posx, $posy, $width, $height) + . '/Sh' . $ngr . ' sh' . "\n" + . $this->getStopTransform(); + } + + /** + * Paints registration bars with color transtions + * + * @param float $posx Abscissa of the top left corner of the rectangle. + * @param float $posy Ordinate of the top left corner of the rectangle. + * @param float $width Width of the rectangle. + * @param float $height Height of the rectangle. + * @param bool $vertical If true prints bar vertically, otherwise horizontally. + * @param array> $colors Array of colors to print, + * each entry is a color + * string or an array of two + * transition colors; + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + public function getColorRegistrationBar( + float $posx, + float $posy, + float $width, + float $height, + bool $vertical = false, + array $colors = [ + // GRAY : black to white + ['g(0%)', 'g(100%)'], + // RGB : red to white + ['rgb(100%,0%,0%)', 'rgb(100%,100%,100%)'], + // RGB : green to white + ['rgb(0%,100%,0%)', 'rgb(100%,100%,100%)'], + // RGB : blue to white + ['rgb(0%,0%,100%)', 'rgb(100%,100%,100%)'], + // CMYK : cyan to white + ['cmyk(100%,0%,0,0%)', 'cmyk(0%,0%,0,0%)'], + // CMYK : magenta to white + ['cmyk(0%,100%,0,0%)', 'cmyk(0%,0%,0,0%)'], + // CMYK : yellow to white + ['cmyk(0%,0%,100,0%)', 'cmyk(0%,0%,0,0%)'], + // CMYK : black to white + ['cmyk(0%,0%,0,100%)', 'cmyk(0%,0%,0,0%)'], + ] + ): string { + $numbars = count($colors); + if ($numbars <= 0) { + return ''; + } + + // set bar measures + if ($vertical) { + $coords = [0, 1, 0, 0]; // coordinates for gradient transition + $wbr = ($width / $numbars); // bar width + $hbr = $height; // bar height + $xdt = $wbr; // delta x + $ydt = 0; // delta y + } else { + $coords = [0, 0, 1, 0]; + $wbr = $width; + $hbr = ($height / $numbars); + $xdt = 0; + $ydt = $hbr; + } + + $xbr = $posx; + $ybr = $posy; + + $out = ''; + foreach ($colors as $color) { + if (! empty($color) && ! empty($color[0])) { + if (! isset($color[1])) { + $color[1] = $color[0]; + } + + if (($color[0] !== $color[1]) && (! $this->pdfa)) { + // color gradient + $out .= $this->getLinearGradient($xbr, $ybr, $wbr, $hbr, $color[0], $color[1], $coords); + } else { + // colored rectangle + $out .= $this->getStartTransform(); + + $colobj = $this->pdfColor->getColorObject($color[0]); + if ($colobj instanceof \Com\Tecnick\Color\Model) { + $out .= $colobj->getPdfColor(); + } + + $out .= $this->getBasicRect($xbr, $ybr, $wbr, $hbr, 'F') + . $this->getStopTransform(); + } + } + + $xbr += $xdt; + $ybr += $ydt; + } + + return $out; + } + + /** + * Get a crop-mark. + * + * @param float $posx Abscissa of the crop-mark center. + * @param float $posy Ordinate of the crop-mark center. + * @param float $width Width of the crop-mark. + * @param float $height Height of the crop-mark. + * @param string $type Type of crop mark - one symbol per type: + * T = TOP, B = BOTTOM, L = LEFT, R = RIGHT + * @param StyleDataOpt $style Line style to apply. + * + * @return string PDF command + */ + public function getCropMark( + float $posx, + float $posy, + float $width, + float $height, + string $type = 'TBLR', + array $style = [] + ): string { + $crops = array_unique(str_split(strtoupper($type), 1)); + $space_ratio = 4; + $dhw = ($width / $space_ratio); // horizontal space to leave before the intersection point + $dvh = ($height / $space_ratio); // vertical space to leave before the intersection point + + $out = ''; + foreach ($crops as $crop) { + switch ($crop) { + case 'T': + $posx1 = $posx; + $posy1 = ($posy - $height); + $posx2 = $posx; + $posy2 = ($posy - $dvh); + break; + case 'B': + $posx1 = $posx; + $posy1 = ($posy + $dvh); + $posx2 = $posx; + $posy2 = ($posy + $height); + break; + case 'L': + $posx1 = ($posx - $width); + $posy1 = $posy; + $posx2 = ($posx - $dhw); + $posy2 = $posy; + break; + case 'R': + $posx1 = ($posx + $dhw); + $posy1 = $posy; + $posx2 = ($posx + $width); + $posy2 = $posy; + break; + default: + continue 2; + } + + $out .= $this->getRawPoint($posx1, $posy1) + . $this->getRawLine($posx2, $posy2) + . $this->getPathPaintOp('S'); + } + + if ($out === '') { + return ''; + } + + return $this->getStartTransform() + . $this->getStyleCmd($style) + . $out + . $this->getStopTransform(); + } + + /** + * Get overprint mode for stroking (OP) and non-stroking (op) painting operations. + * (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008). + * + * @param bool $stroking If true apply overprint for stroking operations. + * @param bool|null $nonstroking If true apply overprint for painting operations other than stroking. + * @param int $mode Overprint mode: + * 0 = each source + * colour + * component value + * replaces the + * value + * previously + * painted for the + * corresponding + * device + * colorant; 1 = a + * tint value of + * 0.0 for a + * source colour + * component shall + * leave the + * corresponding + * component of + * the previously + * painted colour + * unchanged. + * + * @return string PDF command + */ + public function getOverprint( + bool $stroking = true, + ?bool $nonstroking = null, + int $mode = 0 + ): string { + if ($nonstroking === null) { + $nonstroking = $stroking; + } + + return $this->getExtGState( + [ + 'OP' => $stroking, + 'op' => $nonstroking, + 'OPM' => max(0, min(1, $mode)), + ] + ); + } + + /** + * Set alpha for stroking (CA) and non-stroking (ca) operations. + * + * @param float $stroking Alpha value for stroking operations: + * real value from 0 (transparent) to 1 (opaque). + * @param string $bmv Blend mode, one of the following: + * Normal, Multiply, Screen, + * Overlay, Darken, Lighten, + * ColorDodge, ColorBurn, HardLight, + * SoftLight, Difference, Exclusion, + * Hue, Saturation, Color, + * Luminosity. + * @param float|string $nonstroking Alpha value for non-stroking operations: + * real value from 0 (transparent) to 1 + * (opaque). + * + * @return string PDF command + */ + public function getAlpha( + float $stroking = 1, + string $bmv = 'Normal', + float|string $nonstroking = '', + bool $ais = false + ): string { + if ($nonstroking == '') { + $nonstroking = $stroking; + } + + if ($bmv[0] == '/') { + // remove trailing slash + $bmv = substr($bmv, 1); + } + + if (! isset(self::BLENDMODE[$bmv])) { + $bmv = 'Normal'; + } + + return $this->getExtGState( + [ + 'CA' => $stroking, + 'ca' => (float) $nonstroking, + 'BM' => '/' . $bmv, + 'AIS' => $ais, + ] + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Raw.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Raw.php new file mode 100644 index 0000000..968e805 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Raw.php @@ -0,0 +1,381 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +/** + * Com\Tecnick\Pdf\Graph\Raw + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +abstract class Raw extends \Com\Tecnick\Pdf\Graph\Transform +{ + /** + * Begin a new subpath by moving the current point to the specified coordinates, + * omitting any connecting line segment. + * + * @param float $posx Abscissa of point. + * @param float $posy Ordinate of point. + * + * @return string PDF command + */ + public function getRawPoint(float $posx, float $posy): string + { + return sprintf( + '%F %F m' . "\n", + ($posx * $this->kunit), + (($this->pageh - $posy) * $this->kunit) + ); + } + + /** + * Append a straight line segment from the current point to the specified one. + * The new current point shall be the one specified. + * + * @param float $posx Abscissa of end point. + * @param float $posy Ordinate of end point. + * + * @return string PDF command + */ + public function getRawLine(float $posx, float $posy): string + { + return sprintf( + '%F %F l' . "\n", + ($posx * $this->kunit), + (($this->pageh - $posy) * $this->kunit) + ); + } + + /** + * Append a rectangle to the current path as a complete subpath, + * with lower-left corner in the specified point and dimensions width and height in user units. + * + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param string $mode Mode of rendering. @see getPathPaintOp() + * + * @return string PDF command + */ + public function getRawRect( + float $posx, + float $posy, + float $width, + float $height, + string $mode = '' + ): string { + return sprintf( + '%F %F %F %F re' . "\n" . $this->getPathPaintOp($mode, ''), + ($posx * $this->kunit), + (($this->pageh - $posy) * $this->kunit), + ($width * $this->kunit), + (-$height * $this->kunit) + ); + } + + /** + * Append a cubic Bezier curve to the current path. + * The curve shall extend from the current point to the point (posx3, posy3), + * using (posx1, posy1) and (posx2, posy2) as the Bezier control points. + * The new current point shall be (posx3, posy3). + * + * @param float $posx1 Abscissa of control point 1. + * @param float $posy1 Ordinate of control point 1. + * @param float $posx2 Abscissa of control point 2. + * @param float $posy2 Ordinate of control point 2. + * @param float $posx3 Abscissa of end point. + * @param float $posy3 Ordinate of end point. + * + * @return string PDF command + */ + public function getRawCurve( + float $posx1, + float $posy1, + float $posx2, + float $posy2, + float $posx3, + float $posy3 + ): string { + return sprintf( + '%F %F %F %F %F %F c' . "\n", + ($posx1 * $this->kunit), + (($this->pageh - $posy1) * $this->kunit), + ($posx2 * $this->kunit), + (($this->pageh - $posy2) * $this->kunit), + ($posx3 * $this->kunit), + (($this->pageh - $posy3) * $this->kunit) + ); + } + + /** + * Append a cubic Bezier curve to the current path. + * The curve shall extend from the current point to the point (posx3, posy3), + * using the current point and (posx2, posy2) as the Bezier control points. + * The new current point shall be (posx3, posy3). + * + * @param float $posx2 Abscissa of control point 2. + * @param float $posy2 Ordinate of control point 2. + * @param float $posx3 Abscissa of end point. + * @param float $posy3 Ordinate of end point. + * + * @return string PDF command + */ + public function getRawCurveV(float $posx2, float $posy2, float $posx3, float $posy3): string + { + return sprintf( + '%F %F %F %F v' . "\n", + ($posx2 * $this->kunit), + (($this->pageh - $posy2) * $this->kunit), + ($posx3 * $this->kunit), + (($this->pageh - $posy3) * $this->kunit) + ); + } + + /** + * Append a cubic Bezier curve to the current path. + * The curve shall extend from the current point to the point (posx3, posy3), + * using (posx1, posy1) and (posx3, posy3) as the Bezier control points. + * The new current point shall be (posx3, posy3). + * + * @param float $posx1 Abscissa of control point 1. + * @param float $posy1 Ordinate of control point 1. + * @param float $posx3 Abscissa of end point. + * @param float $posy3 Ordinate of end point. + * + * @return string PDF command + */ + public function getRawCurveY(float $posx1, float $posy1, float $posx3, float $posy3): string + { + return sprintf( + '%F %F %F %F y' . "\n", + ($posx1 * $this->kunit), + (($this->pageh - $posy1) * $this->kunit), + ($posx3 * $this->kunit), + (($this->pageh - $posy3) * $this->kunit) + ); + } + + /** + * Initialize angles for the elliptical arc. + * + * @param float $ags Angle in degrees at which starting drawing. + * @param float $agf Angle in degrees at which stop drawing. + * @param float $rdh Horizontal radius. + * @param float $rdv Vertical radius (if = 0 then it is a circle). + * @param bool $ccw If true draws in counter-clockwise direction. + * @param bool $svg If true the angles are in svg mode (already calculated). + */ + protected function setRawEllipticalArcAngles( + float &$ags, + float &$agf, + float $rdv, + float $rdh, + bool $ccw, + bool $svg + ): void { + $ags = $this->degToRad($ags); + $agf = $this->degToRad($agf); + if (! $svg) { + $ags = atan2((sin($ags) / $rdv), (cos($ags) / $rdh)); + $agf = atan2((sin($agf) / $rdv), (cos($agf) / $rdh)); + } + + if ($ags < 0) { + $ags += (2 * self::MPI); + } + + if ($agf < 0) { + $agf += (2 * self::MPI); + } + + if ($ccw && ($ags > $agf)) { + // reverse rotation + $ags -= (2 * self::MPI); + } elseif (! $ccw && ($ags < $agf)) { + // reverse rotation + $agf -= (2 * self::MPI); + } + } + + /** + * Append an elliptical arc to the current path. + * An ellipse is formed from n Bezier curves. + * + * @param float $posxc Abscissa of center point. + * @param float $posyc Ordinate of center point. + * @param float $rdh Horizontal radius. + * @param float $rdv Vertical radius (if = 0 then it is a circle). + * @param float $posxang Angle between the X-axis and the major axis of the ellipse. + * @param float $angs Angle in degrees at which starting drawing. + * @param float $angf Angle in degrees at which stop drawing. + * @param bool $pie If true do not mark the border point (used to draw pie sectors). + * @param float $ncv Number of curves used to draw a 90 degrees portion of ellipse. + * @param bool $startpoint If true output a starting point. + * @param bool $ccw If true draws in counter-clockwise direction. + * @param bool $svg If true the angles are in svg mode (already calculated). + * @param array $bbox If provided, it will be filled with the bounding box coordinates + * (x min, y min, x max, y max). + * + * @return string PDF command + * + * @SuppressWarnings("PHPMD.ExcessiveParameterList") + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + */ + public function getRawEllipticalArc( + float $posxc, + float $posyc, + float $rdh, + float $rdv, + float $posxang = 0.0, + float $angs = 0.0, + float $angf = 360.0, + bool $pie = false, + float $ncv = 2, + bool $startpoint = true, + bool $ccw = true, + bool $svg = false, + array &$bbox = [] + ): string { + $out = ''; + if (($rdh <= 0) || ($rdv < 0)) { + return ''; + } + + $bbox = [PHP_INT_MAX, PHP_INT_MAX, 0, 0]; + if ($pie) { + $out .= $this->getRawPoint($posxc, $posyc); // center of the arc + } + + $posxang = $this->degToRad($posxang); + $ags = $angs; + $agf = $angf; + $this->setRawEllipticalArcAngles($ags, $agf, $rdv, $rdh, $ccw, $svg); + $total_angle = ($agf - $ags); + $ncv = max(2, $ncv); + $ncv *= (2 * abs($total_angle) / self::MPI); // total arcs to draw + $ncv = round($ncv) + 1; + $arcang = ($total_angle / $ncv); // angle of each arc + $posx0 = $posxc; // X center point in PDF coordinates + $posy0 = ($this->pageh - $posyc); // Y center point in PDF coordinates + $ang = $ags; // starting angle + $alpha = sin($arcang) * ((sqrt(4 + (3 * tan(($arcang) / 2) ** 2)) - 1) / 3); + $cos_xang = cos($posxang); + $sin_xang = sin($posxang); + $cos_ang = cos($ang); + $sin_ang = sin($ang); + // first arc point + $px1 = $posx0 + ($rdh * $cos_xang * $cos_ang) - ($rdv * $sin_xang * $sin_ang); + $py1 = $posy0 + ($rdh * $sin_xang * $cos_ang) + ($rdv * $cos_xang * $sin_ang); + // first Bezier control point + $qx1 = ($alpha * ((-$rdh * $cos_xang * $sin_ang) - ($rdv * $sin_xang * $cos_ang))); + $qy1 = ($alpha * ((-$rdh * $sin_xang * $sin_ang) + ($rdv * $cos_xang * $cos_ang))); + if ($pie) { + $out .= $this->getRawLine($px1, ($this->pageh - $py1)); // line from center to arc starting point + } elseif ($startpoint) { + $out .= $this->getRawPoint($px1, ($this->pageh - $py1)); // arc starting point + } + + // draw arcs + for ($idx = 1; $idx <= $ncv; ++$idx) { + $ang = $ags + ($idx * $arcang); // starting angle + if ($idx == $ncv) { + $ang = $agf; + } + + $cos_ang = cos($ang); + $sin_ang = sin($ang); + // second arc point + $px2 = $posx0 + ($rdh * $cos_xang * $cos_ang) - ($rdv * $sin_xang * $sin_ang); + $py2 = $posy0 + ($rdh * $sin_xang * $cos_ang) + ($rdv * $cos_xang * $sin_ang); + // second Bezier control point + $qx2 = ($alpha * ((-$rdh * $cos_xang * $sin_ang) - ($rdv * $sin_xang * $cos_ang))); + $qy2 = ($alpha * ((-$rdh * $sin_xang * $sin_ang) + ($rdv * $cos_xang * $cos_ang))); + // draw arc + $cx1 = ($px1 + $qx1); + $cy1 = ($this->pageh - ($py1 + $qy1)); + $cx2 = ($px2 - $qx2); + $cy2 = ($this->pageh - ($py2 - $qy2)); + $cx3 = $px2; + $cy3 = ($this->pageh - $py2); + $out .= $this->getRawCurve($cx1, $cy1, $cx2, $cy2, $cx3, $cy3); + // get bounding box coordinates + $bbox = [ + min($bbox[0], (int) $cx1, (int) $cx2, (int) $cx3), + min($bbox[1], (int) $cy1, (int) $cy2, (int) $cy3), + max($bbox[2], (int) $cx1, (int) $cx2, (int) $cx3), + max($bbox[3], (int) $cy1, (int) $cy2, (int) $cy3), + ]; + // move to next point + $px1 = $px2; + $py1 = $py2; + $qx1 = $qx2; + $qy1 = $qy2; + } + + if ($pie) { + $out .= $this->getRawLine($posxc, $posyc); + // get bounding box coordinates + $bbox = [ + min($bbox[0], (int) $posxc), + min($bbox[1], (int) $posyc), + max($bbox[2], (int) $posxc), + max($bbox[3], (int) $posyc), + ]; + } + + return $out; + } + + /** + * Returns the angle in radiants between two vectors with the same origin point. + * Angles are counted counter-clock wise. + * + * @param float $posx1 X coordinate of first vector point. + * @param float $posy1 Y coordinate of first vector point. + * @param float $posx2 X coordinate of second vector point. + * @param float $posy2 Y coordinate of second vector point. + * + * @return float Angle in radiants + */ + public function getVectorsAngle( + float $posx1, + float $posy1, + float $posx2, + float $posy2, + ): float { + $dprod = (($posx1 * $posx2) + ($posy1 * $posy2)); + $dist1 = sqrt(($posx1 * $posx1) + ($posy1 * $posy1)); + $dist2 = sqrt(($posx2 * $posx2) + ($posy2 * $posy2)); + $distprod = ($dist1 * $dist2); + if ($distprod == 0) { + return 0; + } + + $angle = acos(min(1, max(-1, ($dprod / $distprod)))); + if ((($posx1 * $posy2) - ($posx2 * $posy1)) < 0) { + $angle *= -1; + } + + return $angle; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Style.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Style.php new file mode 100644 index 0000000..ce5bef8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Style.php @@ -0,0 +1,551 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +use Com\Tecnick\Pdf\Graph\Exception as GraphException; + +/** + * Com\Tecnick\Pdf\Graph\Style + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * @phpstan-import-type StyleDataOpt from \Com\Tecnick\Pdf\Graph\Base + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Style extends \Com\Tecnick\Pdf\Graph\Base +{ + /** + * Array of restore points (style ID). + * + * @var array + */ + protected array $stylemark = [0]; + + /** + * Map values for lineCap. + * + * @var array + */ + protected const LINECAPMAP = [ + 0 => 0, + 1 => 1, + 2 => 2, + 'butt' => 0, + 'round' => 1, + 'square' => 2, + ]; + + /** + * Map values for lineJoin. + * + * @var array + */ + protected const LINEJOINMAP = [ + 0 => 0, + 1 => 1, + 2 => 2, + 'miter' => 0, + 'round' => 1, + 'bevel' => 2, + ]; + + /** + * Map path paint operators. + * + * @var array + */ + protected const PPOPMAP = [ + 'S' => 'S', + 'D' => 'S', + 's' => 's', + 'h S' => 's', + 'd' => 's', + 'f' => 'f', + 'F' => 'f', + 'h f' => 'h f', + 'f*' => 'f*', + 'F*' => 'f*', + 'h f*' => 'h f*', + 'B' => 'B', + 'FD' => 'B', + 'DF' => 'B', + 'B*' => 'B*', + 'F*D' => 'B*', + 'DF*' => 'B*', + 'b' => 'b', + 'h B' => 'b', + 'fd' => 'b', + 'df' => 'b', + 'b*' => 'b*', + 'h B*' => 'b*', + 'f*d' => 'b*', + 'df*' => 'b*', + 'W n' => 'W n', + 'CNZ' => 'W n', + 'W* n' => 'W* n', + 'CEO' => 'W* n', + 'h' => 'h', + 'n' => 'n', + ]; + + /** + * Filling modes. + * + * @var array + */ + protected const MODEFILLING = [ + 'f' => true, + 'f*' => true, + 'B' => true, + 'B*' => true, + 'b' => true, + 'b*' => true, + ]; + + /** + * Stroking Modes. + * + * @var array + */ + protected const MODESTROKING = [ + 'S' => true, + 's' => true, + 'B' => true, + 'B*' => true, + 'b' => true, + 'b*' => true, + ]; + + /** + * Closing Modes. + * + * @var array + */ + protected const MODECLOSING = [ + 'b' => true, + 'b*' => true, + 's' => true, + ]; + + /** + * Clipping Modes. + * + * @var array + */ + protected const MODECLIPPING = [ + 'CEO' => true, + 'CNZ' => true, + 'W n' => true, + 'W* n' => true, + ]; + + /** + * Map of equivalent modes without close. + * + * @var array + */ + protected const MODETONOCLOSE = [ + 's' => 'S', + 'b' => 'B', + 'b*' => 'B*', + ]; + + /** + * Map of equivalent modes without fill. + * + * @var array + */ + protected const MODETONOFILL = [ + 'f' => '', + 'f*' => '', + 'B' => 'S', + 'B*' => 'S', + 'b' => 's', + 'b*' => 's', + ]; + + /** + * Map of equivalent modes without STROKE. + * + * @var array + */ + protected const MODETONOSTROKE = [ + 'S' => '', + 's' => 'h', + 'B' => 'f', + 'B*' => 'f*', + 'b' => 'h f', + 'b*' => 'h f*', + ]; + + /** + * Add a new style + * + * @param StyleDataOpt $style Style to add. + * @param bool $inheritlast If true inherit missing values from the last style. + * + * @return string PDF style string + */ + public function add(array $style = [], bool $inheritlast = false): string + { + if ($inheritlast) { + $style = array_merge($this->style[$this->styleid], $style); + } + + $this->style[++$this->styleid] = $style; + return $this->getStyle(); + } + + /** + * Remove and return last style. + * + * @return string PDF style string. + */ + public function pop(): string + { + if ($this->styleid <= 0) { + throw new GraphException('The style stack is empty'); + } + + $style = $this->getStyle(); + unset($this->style[$this->styleid]); + --$this->styleid; + return $style; + } + + /** + * Save the current style ID to be restored later. + */ + public function saveStyleStatus(): void + { + $this->stylemark[] = $this->styleid; + } + + /** + * Restore the saved style status. + */ + public function restoreStyleStatus(): void + { + $styleid = array_pop($this->stylemark); + if ($styleid === null) { + $styleid = 0; + } + + $this->styleid = $styleid; + + $this->style = array_slice($this->style, 0, ($this->styleid + 1), true); + } + + /** + * Returns the last style array. + * + * @return StyleDataOpt + */ + public function getCurrentStyleArray(): array + { + return $this->style[$this->styleid]; + } + + /** + * Returns the last set value of the specified property. + * + * @param string $property Property to search. + * @param int|float|bool|string|null $default Default value to return in case the property is not found. + * + * @return int|float|bool|string|null Property value or $default in case the property is not found. + */ + public function getLastStyleProperty( + string $property, + int|float|bool|string|null $default = null + ): int|float|bool|string|null { + for ($idx = $this->styleid; $idx >= 0; --$idx) { + if (isset($this->style[$idx][$property]) && !is_array($this->style[$idx][$property])) { + return $this->style[$idx][$property]; + } + } + + return $default; + } + + /** + * Returns the value of th especified item from the last inserted style. + * + * @param string $item Item to search. + */ + public function getCurrentStyleItem(string $item): mixed + { + if (! isset($this->style[$this->styleid][$item])) { + throw new GraphException('The ' . $item . ' value is not set in the current style'); + } + + return $this->style[$this->styleid][$item]; + } + + /** + * Returns the PDF string of the last style added. + */ + public function getStyle(): string + { + return $this->getStyleCmd($this->style[$this->styleid]); + } + + /** + * Returns the PDF string of the specified style. + * + * @param StyleDataOpt $style Style to represent. + */ + public function getStyleCmd(array $style = []): string + { + $out = ''; + if (isset($style['lineWidth'])) { + $out .= sprintf('%F w' . "\n", ($style['lineWidth'] * $this->kunit)); + } + + $out .= $this->getLineModeCmd($style); + + if (isset($style['lineColor'])) { + $out .= $this->pdfColor->getPdfColor($style['lineColor'], true); + } + + if (isset($style['fillColor'])) { + $out .= $this->pdfColor->getPdfColor($style['fillColor'], false); + } + + return $out; + } + + /** + * Returns the PDF string of the specified line style. + * + * @param StyleDataOpt $style Style to represent. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getLineModeCmd(array $style = []): string + { + $out = ''; + + if (isset($style['lineCap']) && isset(self::LINECAPMAP[$style['lineCap']])) { + $out .= self::LINECAPMAP[$style['lineCap']] . ' J' . "\n"; + } + + if (isset($style['lineJoin']) && isset(self::LINEJOINMAP[$style['lineJoin']])) { + $out .= self::LINEJOINMAP[$style['lineJoin']] . ' j' . "\n"; + } + + if (isset($style['miterLimit'])) { + $out .= sprintf('%F M' . "\n", ($style['miterLimit'] * $this->kunit)); + } + + if (isset($style['dashArray'])) { + $dash = []; + foreach ($style['dashArray'] as $val) { + $dash[] = sprintf('%F', ((float) $val * $this->kunit)); + } + + if (! isset($style['dashPhase'])) { + $style['dashPhase'] = 0; + } + + return $out .= sprintf('[%s] %F d' . "\n", implode(' ', $dash), $style['dashPhase']); + } + + return $out; + } + + /** + * Get the Path-Painting Operators. + * + * @param string $mode Mode of rendering. Possible values are: + * - S or D: Stroke the path. - s or d: + * Close and stroke the path. - f or F: + * Fill the path, using the nonzero + * winding number rule to determine the + * region to fill. - f* or F*: Fill the + * path, using the even-odd rule to + * determine the region to fill. - B or FD + * or DF: Fill and then stroke the path, + * using the nonzero winding number rule + * to determine the region to fill. - B* + * or F*D or DF*: Fill and then stroke the + * path, using the even-odd rule to + * determine the region to fill. - b or fd + * or df: Close, fill, and then stroke the + * path, using the nonzero winding number + * rule to determine the region to fill. - + * b or f*d or df*: Close, fill, and then + * stroke the path, using the even-odd + * rule to determine the region to fill. - + * CNZ: Clipping mode using the even-odd + * rule to determine which regions lie + * inside the clipping path. - CEO: + * Clipping mode using the nonzero winding + * number rule to determine which regions + * lie inside the clipping path - n: End + * the path object without filling or + * stroking it. + * @param string $default Default style + */ + public function getPathPaintOp(string $mode, string $default = 'S'): string + { + if (empty($mode) || !isset(self::PPOPMAP[$mode])) { + return isset(self::PPOPMAP[$default]) ? self::PPOPMAP[$default] . "\n" : ''; + } + return self::PPOPMAP[$mode] . "\n"; + } + + /** + * Returns true if the specified path paint operator includes the filling option. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function isFillingMode(string $mode): bool + { + return (isset(self::PPOPMAP[$mode]) + && (isset(self::MODEFILLING[self::PPOPMAP[$mode]]) + || $this->isClippingMode($mode)) + ); + } + + /** + * Returns true if the specified mode includes the stroking option. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function isStrokingMode(string $mode): bool + { + return (isset(self::PPOPMAP[$mode]) + && isset(self::MODESTROKING[self::PPOPMAP[$mode]]) + ); + } + + /** + * Returns true if the specified mode includes "closing the path" option. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function isClosingMode(string $mode): bool + { + return (isset(self::PPOPMAP[$mode]) + && (isset(self::MODECLOSING[self::PPOPMAP[$mode]]) + || $this->isClippingMode($mode)) + ); + } + + /** + * Returns true if the specified mode is of clippping type. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function isClippingMode(string $mode): bool + { + return (isset(self::PPOPMAP[$mode]) + && isset(self::MODECLIPPING[self::PPOPMAP[$mode]]) + ); + } + + /** + * Remove the Close option from the specified Path paint operator. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function getModeWithoutClose(string $mode): string + { + if ( + isset(self::PPOPMAP[$mode]) + && isset(self::MODETONOCLOSE[self::PPOPMAP[$mode]]) + ) { + return self::MODETONOCLOSE[self::PPOPMAP[$mode]]; + } + + return $mode; + } + + /** + * Remove the Fill option from the specified Path paint operator. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function getModeWithoutFill(string $mode): string + { + if ( + isset(self::PPOPMAP[$mode]) + && isset(self::MODETONOFILL[self::PPOPMAP[$mode]]) + ) { + return self::MODETONOFILL[self::PPOPMAP[$mode]]; + } + + return $mode; + } + + /** + * Remove the Stroke option from the specified Path paint operator. + * + * @param string $mode Path paint operator (mode of rendering). + */ + public function getModeWithoutStroke(string $mode): string + { + if ( + isset(self::PPOPMAP[$mode]) + && isset(self::MODETONOSTROKE[self::PPOPMAP[$mode]]) + ) { + return self::MODETONOSTROKE[self::PPOPMAP[$mode]]; + } + + return $mode; + } + + /** + * Add transparency parameters to the current extgstate. + * + * @param array $parms parameters. + * + * @return string PDF command. + */ + public function getExtGState(array $parms): string + { + if ($this->pdfa) { + return ''; + } + + $gsx = (count($this->extgstates) + 1); + // check if this ExtGState already exist + foreach ($this->extgstates as $idx => $ext) { + if ($ext['parms'] == $parms) { + $gsx = $idx; + break; + } + } + + if (empty($this->extgstates[$gsx])) { + $this->extgstates[$gsx] = [ + 'n' => 0, + 'name' => '', + 'parms' => $parms, + ]; + } + + return '/GS' . $gsx . ' gs' . "\n"; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/src/Transform.php b/vendor/tecnickcom/tc-lib-pdf-graph/src/Transform.php new file mode 100644 index 0000000..9450eab --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/src/Transform.php @@ -0,0 +1,370 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Com\Tecnick\Pdf\Graph; + +use Com\Tecnick\Pdf\Graph\Exception as GraphException; + +/** + * Com\Tecnick\Pdf\Graph\Transform + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * @phpstan-import-type TTMatrix from \Com\Tecnick\Pdf\Graph\Base + */ +abstract class Transform extends \Com\Tecnick\Pdf\Graph\Style +{ + /** + * Current ID for transformation matrix. + */ + protected int $ctmid = -1; + + /** + * Array (stack) of Current Transformation Matrix (CTM), + * which maps user space coordinates used within a PDF content stream into output device coordinates. + * + * @var array> + */ + protected array $ctm = []; + + /** + * Returns the transformation stack. + * + * @return array> + */ + public function getTransformStack(): array + { + return $this->ctm; + } + + /** + * Returns the transformation stack index. + */ + public function getTransformIndex(): int + { + return $this->ctmid; + } + + /** + * Starts a 2D transformation saving current graphic state. + * This function must be called before calling transformation methods + */ + public function getStartTransform(): string + { + $this->saveStyleStatus(); + $this->ctm[++$this->ctmid] = []; + return 'q' . "\n"; + } + + /** + * Stops a 2D tranformation restoring previous graphic state. + * This function must be called after calling transformation methods. + */ + public function getStopTransform(): string + { + if (! isset($this->ctm[$this->ctmid])) { + return ''; + } + + unset($this->ctm[$this->ctmid]); + --$this->ctmid; + $this->restoreStyleStatus(); + return 'Q' . "\n"; + } + + /** + * Get the tranformation matrix (CTM) PDF string + * + * @param TTMatrix $ctm Transformation matrix array. + */ + public function getTransformation(array $ctm): string + { + $this->ctm[$this->ctmid][] = $ctm; + return sprintf('%F %F %F %F %F %F cm' . "\n", $ctm[0], $ctm[1], $ctm[2], $ctm[3], $ctm[4], $ctm[5]); + } + + /** + * Vertical and horizontal non-proportional Scaling. + * + * @param float $skx Horizontal scaling factor. + * @param float $sky vertical scaling factor. + * @param float $posx Abscissa of the scaling center. + * @param float $posy Ordinate of the scaling center. + * + * @return string Transformation string + */ + public function getScaling(float $skx, float $sky, float $posx, float $posy): string + { + if (($skx == 0) || ($sky == 0)) { + throw new GraphException('Scaling factors must be different than zero'); + } + + $posy = (($this->pageh - $posy) * $this->kunit); + $posx *= $this->kunit; + $ctm = [$skx, 0, 0, $sky, ($posx * (1 - $skx)), ($posy * (1 - $sky))]; + return $this->getTransformation($ctm); + } + + /** + * Horizontal Scaling. + * + * @param float $skx Horizontal scaling factor. + * @param float $posx Abscissa of the scaling center. + * @param float $posy Ordinate of the scaling center. + * + * @return string Transformation string + */ + public function getHorizScaling(float $skx, float $posx, float $posy): string + { + return $this->getScaling($skx, 1, $posx, $posy); + } + + /** + * Vertical Scaling. + * + * @param float $sky vertical scaling factor. + * @param float $posx Abscissa of the scaling center. + * @param float $posy Ordinate of the scaling center. + * + * @return string Transformation string + */ + public function getVertScaling(float $sky, float $posx, float $posy): string + { + return $this->getScaling(1, $sky, $posx, $posy); + } + + /** + * Vertical and horizontal proportional Scaling. + * + * @param float $skf Scaling factor. + * @param float $posx Abscissa of the scaling center. + * @param float $posy Ordinate of the scaling center. + * + * @return string Transformation string + */ + public function getPropScaling(float $skf, float $posx, float $posy): string + { + return $this->getScaling($skf, $skf, $posx, $posy); + } + + /** + * Rotation. + * + * @param float $angle Angle in degrees for counter-clockwise rotation. + * @param float $posx Abscissa of the rotation center. + * @param float $posy Ordinate of the rotation center. + * + * @return string Transformation string + */ + public function getRotation(float $angle, float $posx, float $posy): string + { + $posy = (($this->pageh - $posy) * $this->kunit); + $posx *= $this->kunit; + $ctm = []; + $ctm[0] = cos($this->degToRad($angle)); + $ctm[1] = sin($this->degToRad($angle)); + $ctm[2] = -$ctm[1]; + $ctm[3] = $ctm[0]; + $ctm[4] = ($posx + ($ctm[1] * $posy) - ($ctm[0] * $posx)); + $ctm[5] = ($posy - ($ctm[0] * $posy) - ($ctm[1] * $posx)); + return $this->getTransformation($ctm); + } + + /** + * Horizontal Mirroring. + * + * @param float $posx Abscissa of the mirroring line. + * + * @return string Transformation string + */ + public function getHorizMirroring(float $posx): string + { + return $this->getScaling(-1, 1, $posx, 0); + } + + /** + * Verical Mirroring. + * + * @param float $posy Ordinate of the mirroring line. + * + * @return string Transformation string + */ + public function getVertMirroring(float $posy): string + { + return $this->getScaling(1, -1, 0, $posy); + } + + /** + * Point reflection mirroring. + * + * @param float $posx Abscissa of the mirroring point. + * @param float $posy Ordinate of the mirroring point. + * + * @return string Transformation string + */ + public function getPointMirroring(float $posx, float $posy): string + { + return $this->getScaling(-1, -1, $posx, $posy); + } + + /** + * Reflection against a straight line through point (x, y) with the gradient angle (angle). + * + * @param float $ang Gradient angle in degrees of the straight line. + * @param float $posx Abscissa of the mirroring point. + * @param float $posy Ordinate of the mirroring point. + * + * @return string Transformation string + */ + public function getReflection(float $ang, float $posx, float $posy): string + { + return $this->getScaling(-1, 1, $posx, $posy) . $this->getRotation((-2 * ($ang - 90)), $posx, $posy); + } + + /** + * Translate graphic object horizontally and vertically. + * + * @param float $trx Movement to the right. + * @param float $try Movement to the bottom. + * + * @return string Transformation string + */ + public function getTranslation(float $trx, float $try): string + { + //calculate elements of transformation matrix + $ctm = [1, 0, 0, 1, ($trx * $this->kunit), (-$try * $this->kunit)]; + return $this->getTransformation($ctm); + } + + /** + * Translate graphic object horizontally. + * + * @param float $trx Movement to the right. + * + * @return string Transformation string + */ + public function getHorizTranslation(float $trx): string + { + return $this->getTranslation($trx, 0); + } + + /** + * Translate graphic object vertically. + * + * @param float $try Movement to the bottom. + * + * @return string Transformation string + */ + public function getVertTranslation(float $try): string + { + return $this->getTranslation(0, $try); + } + + /** + * Skew. + * + * @param float $angx Angle in degrees between -90 (skew to the left) and 90 (skew to the right) + * @param float $angy Angle in degrees between -90 (skew to the bottom) and 90 (skew to the top) + * @param float $posx Abscissa of the skewing center. + * @param float $posy Ordinate of the skewing center. + * + * @return string Transformation string + */ + public function getSkewing(float $angx, float $angy, float $posx, float $posy): string + { + if (($angx <= -90) || ($angx >= 90) || ($angy <= -90) || ($angy >= 90)) { + throw new GraphException('Angle values must be beweeen -90 and +90 degrees.'); + } + + $posy = (($this->pageh - $posy) * $this->kunit); + $posx *= $this->kunit; + $ctm = []; + $ctm[0] = 1; + $ctm[1] = tan($this->degToRad($angy)); + $ctm[2] = tan($this->degToRad($angx)); + $ctm[3] = 1; + $ctm[4] = (-$ctm[2] * $posy); + $ctm[5] = (-$ctm[1] * $posx); + return $this->getTransformation($ctm); + } + + /** + * Skew horizontally. + * + * @param float $angx Angle in degrees between -90 (skew to the left) and 90 (skew to the right) + * @param float $posx Abscissa of the skewing center. + * @param float $posy Ordinate of the skewing center. + * + * @return string Transformation string + */ + public function getHorizSkewing(float $angx, float $posx, float $posy): string + { + return $this->getSkewing($angx, 0, $posx, $posy); + } + + /** + * Skew vertically. + * + * @param float $angy Angle in degrees between -90 (skew to the bottom) and 90 (skew to the top) + * @param float $posx Abscissa of the skewing center. + * @param float $posy Ordinate of the skewing center. + * + * @return string Transformation string + */ + public function getVertSkewing(float $angy, float $posx, float $posy): string + { + return $this->getSkewing(0, $angy, $posx, $posy); + } + + /** + * Get the product of two Tranformation Matrix. + * + * @param TTMatrix $tma First Tranformation Matrix. + * @param TTMatrix $tmb Second Tranformation Matrix. + * + * @return TTMatrix CTM Transformation Matrix. + */ + public function getCtmProduct(array $tma, array $tmb): array + { + return [ + (($tma[0] * $tmb[0]) + ($tma[2] * $tmb[1])), + (($tma[1] * $tmb[0]) + ($tma[3] * $tmb[1])), + (($tma[0] * $tmb[2]) + ($tma[2] * $tmb[3])), + (($tma[1] * $tmb[2]) + ($tma[3] * $tmb[3])), + (($tma[0] * $tmb[4]) + ($tma[2] * $tmb[5]) + $tma[4]), + (($tma[1] * $tmb[4]) + ($tma[3] * $tmb[5]) + $tma[5]), + ]; + } + + /** + * Converts the number in degrees to the radian equivalent. + * We use this instead of $this->degToRad to avoid precision problems with hhvm. + * + * @param float $deg Angular value in degrees. + * + * @return float Angle in radiants + */ + public function degToRad(float $deg): float + { + return ($deg * self::MPI / 180); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/BaseTest.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/BaseTest.php new file mode 100644 index 0000000..0e96659 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/BaseTest.php @@ -0,0 +1,209 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Test; + +/** + * Base Test + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class BaseTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw + { + return new \Com\Tecnick\Pdf\Graph\Draw( + 0.75, + 80, + 100, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + } + + public function testGetOutExtGState(): void + { + $draw = $this->getTestObject(); + $res = $draw->getOutExtGState(10); + $this->assertEquals( + '', + $res + ); + + $draw->getOverprint(); + $draw->getAlpha(); + + $res = $draw->getOutExtGState(10); + $this->assertEquals( + '11 0 obj' . "\n" + . '<< /Type /ExtGState /OP true /op true /OPM 0.000000 >>' . "\n" + . 'endobj' . "\n" + . '12 0 obj' . "\n" + . '<< /Type /ExtGState /CA 1.000000 /ca 1.000000 /BM /Normal /AIS false >>' . "\n" + . 'endobj' . "\n", + $res + ); + + $this->assertEquals(12, $draw->getObjectNumber()); + + $this->assertEquals(2, $draw->getLastExtGStateID()); + } + + /** + * @SuppressWarnings("PHPMD.LongVariable") + */ + public function testGetOutExtGStateResourcesEmpty(): void + { + $draw = $this->getTestObject(); + $outExtGStateResources = $draw->getOutExtGStateResources(); + $this->assertEquals('', $outExtGStateResources); + } + + public function testGetOutGradientResourcesEmpty(): void + { + $draw = $this->getTestObject(); + $outGradientResources = $draw->getOutGradientResources(); + $this->assertEquals( + '', + $outGradientResources + ); + } + + public function testGetOutGradientShaders(): void + { + $draw = $this->getTestObject(); + $res = $draw->getOutGradientShaders(10); + $this->assertEquals( + '', + $res + ); + + $draw->getCoonsPatchMeshWithCoords(3, 5, 7, 11); + $draw->getOutGradientShaders(11); + $this->assertEquals(13, $draw->getObjectNumber()); + + $res = $draw->getOutGradientResources(); + $this->assertEquals( + ' /Pattern << /p1 13 0 R >>' . "\n" + . ' /Shading << /Sh1 12 0 R >>' . "\n", + $res + ); + + $resx = $draw->getOutGradientResourcesByKeys([1]); + $this->assertEquals( + ' /Pattern << /p1 13 0 R >>' . "\n" + . ' /Shading << /Sh1 12 0 R >>' . "\n", + $resx + ); + } + + public function testGetOutShaders(): void + { + $draw = $this->getTestObject(); + $stops = [ + [ + 'color' => 'red', + 'exponent' => 1, + 'opacity' => 0.5, + ], + [ + 'color' => 'blue', + 'exponent' => 1, + 'offset' => 0.2, + 'opacity' => 0.6, + ], + [ + 'color' => '#98fb98', + 'exponent' => 1, + 'opacity' => 0.7, + ], + [ + 'color' => 'rgb(64,128,191)', + 'exponent' => 1, + 'offset' => 0.8, + 'opacity' => 0.8, + ], + [ + 'color' => 'skyblue', + 'exponent' => 1, + 'opacity' => 0.9, + ], + ]; + $this->assertEquals( + '/TGS1 gs' . "\n" + . '/Sh1 sh' . "\n", + $draw->getGradient(2, [0, 0, 1, 0], $stops, '', false) + ); + + $draw->getOverprint(); + $draw->getAlpha(); + $draw->getOutExtGState($draw->getObjectNumber()); + + $draw->getOutGradientShaders($draw->getObjectNumber()); + $this->assertEquals(19, $draw->getObjectNumber()); + + $res = $draw->getOutExtGStateResources(); + $this->assertEquals( + ' /ExtGState << /GS1 1 0 R /GS2 2 0 R /TGS1 20 0 R >>' . "\n", + $res + ); + + $resx = $draw->getOutExtGStateResourcesByKeys([1,2]); + $this->assertEquals( + ' /ExtGState << /GS1 1 0 R /GS2 2 0 R >>' . "\n", + $resx + ); + } + + public function testGetOutShadersRadial(): void + { + $draw = $this->getTestObject(); + $out = $draw->getGradient( + 3, + [0.6, 0.5, 0.4, 0.3, 1], + [ + [ + 'color' => 'red', + 'exponent' => 1, + 'offset' => 0, + ], + [ + 'color' => 'green', + 'exponent' => 1, + 'offset' => 1, + ], + ], + 'white', + true + ); + + $this->assertEquals( + '/Sh1 sh' . "\n", + $out + ); + + $this->assertEquals(0, $draw->getObjectNumber()); + $draw->getOutGradientShaders($draw->getObjectNumber()); + $this->assertEquals(4, $draw->getObjectNumber()); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/DrawTest.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/DrawTest.php new file mode 100644 index 0000000..a5f1878 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/DrawTest.php @@ -0,0 +1,1077 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Test; + +/** + * Draw Test + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class DrawTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw + { + return new \Com\Tecnick\Pdf\Graph\Draw( + 0.75, + 80, + 100, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + } + + /** + * Get test style + * + * @return array{ + * 'lineWidth': float, + * 'lineCap': string, + * 'lineJoin': string, + * 'miterLimit': float, + * 'dashArray': array, + * 'dashPhase': float, + * 'lineColor': string, + * 'fillColor': string, + * } + */ + protected function getTestStyle(): array + { + return [ + 'lineWidth' => 3, + 'lineCap' => 'round', + 'lineJoin' => 'bevel', + 'miterLimit' => 11, + 'dashArray' => [5, 7], + 'dashPhase' => 0.75, + 'lineColor' => 'greenyellow', + 'fillColor' => '["RGB",0.250000,0.500000,0.750000]', + ]; + } + + public function testGetLine(): void + { + $draw = $this->getTestObject(); + $res = $draw->getLine(3, 5, 7, 11); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getLine(3, 5, 7, 11, $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . 'S' . "\n", + $res + ); + } + + public function testGetCurve(): void + { + $draw = $this->getTestObject(); + $res = $draw->getCurve(3, 5, 7, 11, 13, 17, 19, 23); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 9.750000 62.250000 14.250000 57.750000 c' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getCurve(3, 5, 7, 11, 13, 17, 19, 23, 'B*', $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 9.750000 62.250000 14.250000 57.750000 c' . "\n" + . 'B*' . "\n", + $res + ); + } + + public function testGetPolycurve(): void + { + $draw = $this->getTestObject(); + $segments = [[7, 11, 13, 17, 19, 23], [29, 31, 37, 41, 43, 47]]; + + $res = $draw->getPolycurve(3, 5, $segments); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 9.750000 62.250000 14.250000 57.750000 c' . "\n" + . '21.750000 51.750000 27.750000 44.250000 32.250000 39.750000 c' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getPolycurve(3, 5, $segments, 'B*', $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 9.750000 62.250000 14.250000 57.750000 c' . "\n" + . '21.750000 51.750000 27.750000 44.250000 32.250000 39.750000 c' . "\n" + . 'B*' . "\n", + $res + ); + } + + public function testGetEllipse(): void + { + $draw = $this->getTestObject(); + $res = $draw->getEllipse(3, 5, 7, 0, 13, 61, 349); + $this->assertEquals( + '3.697096 76.296624 m' . "\n" + . '2.476319 76.646676 1.169043 76.542151 0.019397 76.002569 c' . "\n" + . '-1.130248 75.462987 -2.045949 74.524165 -2.556702 73.361424 c' . "\n" + . '-3.067455 72.198684 -3.139357 70.889209 -2.758978 69.677538 c' . "\n" + . '-2.378600 68.465867 -1.571192 67.432432 -0.487535 66.770223 c' . "\n" + . '0.596122 66.108014 1.884095 65.860988 3.135859 66.075278 c' . "\n" + . '4.387624 66.289567 5.520087 66.950946 6.321766 67.935905 c' . "\n" + . '7.123445 68.920865 7.541123 70.164022 7.496802 71.433222 c' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getEllipse(3, 5, 7, 11, 13, 61, 349, 'B*', $testStyle, 4); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '4.210523 78.087155 m' . "\n" + . '3.610431 78.606045 2.973969 78.977524 2.330748 79.184310 c' . "\n" + . '1.687527 79.391096 1.047679 79.429932 0.440975 79.299009 c' . "\n" + . '-0.165730 79.168086 -0.729735 78.869468 -1.224798 78.417048 c' . "\n" + . '-1.719862 77.964629 -2.138186 77.365534 -2.460309 76.647637 c' . "\n" + . '-2.782431 75.929740 -3.003276 75.104350 -3.112570 74.209869 c' . "\n" + . '-3.221865 73.315388 -3.217885 72.365906 -3.100818 71.405599 c' . "\n" + . '-2.983751 70.445292 -2.755440 69.489287 -2.426508 68.582062 c' . "\n" + . '-2.097575 67.674838 -1.673202 66.830685 -1.173134 66.088880 c' . "\n" + . '-0.673065 65.347074 -0.105178 64.719300 0.504106 64.234767 c' . "\n" + . '1.113389 63.750233 1.754473 63.416572 2.397528 63.249307 c' . "\n" + . '3.040584 63.082042 3.675482 63.083808 4.272683 63.254523 c' . "\n" + . '4.869885 63.425238 5.419982 63.762213 5.897382 64.249769 c' . "\n" + . '6.374782 64.737326 6.771963 65.367784 7.070448 66.111811 c' . "\n" + . '7.368932 66.855838 7.564018 67.701714 7.646628 68.610083 c' . "\n" + . '7.729237 69.518453 7.698070 70.475006 7.554576 71.435240 c' . "\n" + . 'B*' . "\n", + $res + ); + } + + public function testGetCircle(): void + { + $draw = $this->getTestObject(); + $res = $draw->getCircle(3, 5, 7, 61, 349); + $this->assertEquals( + '4.795251 75.841753 m' . "\n" + . '3.684506 76.457449 2.387223 76.649676 1.145663 76.382537 c' . "\n" + . '-0.095897 76.115398 -1.199317 75.406626 -1.958540 74.388581 c' . "\n" + . '-2.717762 73.370536 -3.082388 72.110797 -2.984325 70.844615 c' . "\n" + . '-2.886263 69.578433 -2.332021 68.389857 -1.425103 67.500851 c' . "\n" + . '-0.518184 66.611844 0.681209 66.081419 1.949096 66.008630 c' . "\n" + . '3.216982 65.935842 4.469198 66.325521 5.471898 67.104897 c' . "\n" + . '6.474597 67.884274 7.161220 69.001612 7.403543 70.248253 c' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getCircle(3, 5, 7, 61, 349, 'B*', $testStyle, 4); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '4.795251 75.841753 m' . "\n" + . '4.244239 76.147184 3.642722 76.350953 3.019526 76.443297 c' . "\n" + . '2.396329 76.535640 1.761569 76.515058 1.145663 76.382537 c' . "\n" + . '0.529758 76.250017 -0.057295 76.007708 -0.587363 75.667224 c' . "\n" + . '-1.117431 75.326740 -1.581909 74.893607 -1.958540 74.388581 c' . "\n" + . '-2.335170 73.883556 -2.617839 73.314836 -2.793000 72.709674 c' . "\n" + . '-2.968161 72.104513 -3.032972 71.472735 -2.984325 70.844615 c' . "\n" + . '-2.935679 70.216495 -2.774366 69.602229 -2.508116 69.031254 c' . "\n" + . '-2.241866 68.460279 -1.875001 67.941864 -1.425103 67.500851 c' . "\n" + . '-0.975204 67.059838 -0.449574 66.703386 0.126598 66.448577 c' . "\n" + . '0.702769 66.193768 1.320130 66.044739 1.949096 66.008630 c' . "\n" + . '2.578061 65.972522 3.208421 66.049920 3.809968 66.237117 c' . "\n" + . '4.411515 66.424313 4.974484 66.718269 5.471898 67.104897 c' . "\n" + . '5.969311 67.491526 6.393094 67.964551 6.722938 68.501304 c' . "\n" + . '7.052782 69.038058 7.283333 69.629827 7.403543 70.248253 c' . "\n" + . 'B*' . "\n", + $res + ); + } + + public function testGetPieSector(): void + { + $draw = $this->getTestObject(); + $res = $draw->getPieSector(3, 5, 7, 90, 120); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '2.250000 76.500000 l' . "\n" + . '1.791198 76.500000 1.334369 76.439857 0.891200 76.321111 c' . "\n" + . '0.448031 76.202364 0.022334 76.026034 -0.375000 75.796633 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'B' . "\n", + $res + ); + } + + public function testGetBasicPolygon(): void + { + $draw = $this->getTestObject(); + $points = [3, 5, 7, 11, 13, 17, 19, 23]; + + $res = $draw->getBasicPolygon($points); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '9.750000 62.250000 l' . "\n" + . '14.250000 57.750000 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getBasicPolygon($points, 'B*', $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '9.750000 62.250000 l' . "\n" + . '14.250000 57.750000 l' . "\n" + . 'B*' . "\n", + $res + ); + } + + public function testGetPolygon(): void + { + $draw = $this->getTestObject(); + $points = [3, 5, 7, 11, 13, 17, 19, 23]; + + $res = $draw->getPolygon([3, 5, 7, 11]); + $this->assertEquals('', $res); + + $res = $draw->getPolygon($points); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . 'S' . "\n" + . '5.250000 66.750000 m' . "\n" + . '9.750000 62.250000 l' . "\n" + . 'S' . "\n" + . '9.750000 62.250000 m' . "\n" + . '14.250000 57.750000 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getPolygon( + $points, + 'b*', + [ + 'all' => $testStyle, + 0 => [ + 'lineColor' => '#ff0000', + ], + ] + ); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '9.750000 62.250000 l' . "\n" + . '14.250000 57.750000 l' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'h f*' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . 'S' . "\n" + . '5.250000 66.750000 m' . "\n" + . '9.750000 62.250000 l' . "\n" + . 'S' . "\n" + . '9.750000 62.250000 m' . "\n" + . '14.250000 57.750000 l' . "\n" + . 'S' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '14.250000 57.750000 m' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'S' . "\n", + $res + ); + } + + public function testGetRegularPolygon(): void + { + $draw = $this->getTestObject(); + $res = $draw->getRegularPolygon(3, 5, 7, 2); + $this->assertEquals('', $res); + + $res = $draw->getRegularPolygon(3, 5, 7, 5, 11); + $this->assertEquals( + '3.251747 66.096457 m' . "\n" + . '7.460867 70.610186 l' . "\n" + . 'S' . "\n" + . '7.460867 70.610186 m' . "\n" + . '4.468746 76.008116 l' . "\n" + . 'S' . "\n" + . '4.468746 76.008116 m' . "\n" + . '-1.589607 74.830491 l' . "\n" + . 'S' . "\n" + . '-1.589607 74.830491 m' . "\n" + . '-2.341753 68.704749 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getRegularPolygon( + 3, + 5, + 7, + 5, + 11, + 'b*', + [ + 'all' => $testStyle, + 0 => [ + 'lineColor' => '#ff0000', + ], + ], + 'f', + [ + 'fillColor' => '#cccccc', + ] + ); + $this->assertEquals( + '0.800000 0.800000 0.800000 rg' . "\n" + . '7.500000 71.250000 m' . "\n" + . '7.500000 72.483995 7.064930 73.679340 6.271733 74.624635 c' . "\n" + . '5.478536 75.569930 4.376901 76.205960 3.161653 76.420241 c' . "\n" + . '1.946405 76.634522 0.693671 76.413631 -0.375000 75.796633 c' . "\n" + . '-1.443671 75.179636 -2.261335 74.205182 -2.683386 73.045606 c' . "\n" + . '-3.105437 71.886030 -3.105437 70.613970 -2.683386 69.454394 c' . "\n" + . '-2.261335 68.294818 -1.443671 67.320364 -0.375000 66.703367 c' . "\n" + . '0.693671 66.086369 1.946405 65.865478 3.161653 66.079759 c' . "\n" + . '4.376901 66.294040 5.478536 66.930070 6.271733 67.875365 c' . "\n" + . '7.064930 68.820660 7.500000 70.016005 7.500000 71.250000 c' . "\n" + . 'f' . "\n" + . '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '3.251747 66.096457 m' . "\n" + . '7.460867 70.610186 l' . "\n" + . '4.468746 76.008116 l' . "\n" + . '-1.589607 74.830491 l' . "\n" + . '-2.341753 68.704749 l' . "\n" + . '3.251747 66.096457 l' . "\n" + . 'h f*' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '3.251747 66.096457 m' . "\n" + . '7.460867 70.610186 l' . "\n" + . 'S' . "\n" + . '7.460867 70.610186 m' . "\n" + . '4.468746 76.008116 l' . "\n" + . 'S' . "\n" + . '4.468746 76.008116 m' . "\n" + . '-1.589607 74.830491 l' . "\n" + . 'S' . "\n" + . '-1.589607 74.830491 m' . "\n" + . '-2.341753 68.704749 l' . "\n" + . 'S' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '-2.341753 68.704749 m' . "\n" + . '3.251747 66.096457 l' . "\n" + . 'S' . "\n", + $res + ); + } + + public function testGetStarPolygon(): void + { + $draw = $this->getTestObject(); + $res = $draw->getStarPolygon(3, 5, 7, 1, 0); + $this->assertEquals('', $res); + + $res = $draw->getStarPolygon(3, 5, 7, 11, 13); + $this->assertEquals( + '2.250000 66.000000 m' . "\n" + . '7.025568 69.069071 l' . "\n" + . 'S' . "\n" + . '7.025568 69.069071 m' . "\n" + . '6.217685 74.688019 l' . "\n" + . 'S' . "\n" + . '6.217685 74.688019 m' . "\n" + . '0.770904 76.287338 l' . "\n" + . 'S' . "\n" + . '0.770904 76.287338 m' . "\n" + . '-2.946563 71.997153 l' . "\n" + . 'S' . "\n" + . '-2.946563 71.997153 m' . "\n" + . '-0.588364 66.833419 l' . "\n" + . 'S' . "\n" + . '-0.588364 66.833419 m' . "\n" + . '5.088364 66.833419 l' . "\n" + . 'S' . "\n" + . '5.088364 66.833419 m' . "\n" + . '7.446563 71.997153 l' . "\n" + . 'S' . "\n" + . '7.446563 71.997153 m' . "\n" + . '3.729096 76.287338 l' . "\n" + . 'S' . "\n" + . '3.729096 76.287338 m' . "\n" + . '-1.717685 74.688019 l' . "\n" + . 'S' . "\n" + . '-1.717685 74.688019 m' . "\n" + . '-2.525568 69.069071 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getStarPolygon( + 3, + 5, + 7, + 11, + 13, + 61, + 'b*', + [ + 'all' => $testStyle, + 0 => [ + 'lineColor' => '#ff0000', + ], + ], + 'f', + [ + 'fillColor' => '#cccccc', + ] + ); + $this->assertEquals( + '0.800000 0.800000 0.800000 rg' . "\n" + . '7.500000 71.250000 m' . "\n" + . '7.500000 72.483995 7.064930 73.679340 6.271733 74.624635 c' . "\n" + . '5.478536 75.569930 4.376901 76.205960 3.161653 76.420241 c' . "\n" + . '1.946405 76.634522 0.693671 76.413631 -0.375000 75.796633 c' . "\n" + . '-1.443671 75.179636 -2.261335 74.205182 -2.683386 73.045606 c' . "\n" + . '-3.105437 71.886030 -3.105437 70.613970 -2.683386 69.454394 c' . "\n" + . '-2.261335 68.294818 -1.443671 67.320364 -0.375000 66.703367 c' . "\n" + . '0.693671 66.086369 1.946405 65.865478 3.161653 66.079759 c' . "\n" + . '4.376901 66.294040 5.478536 66.930070 6.271733 67.875365 c' . "\n" + . '7.064930 68.820660 7.500000 70.016005 7.500000 71.250000 c' . "\n" + . 'f' . "\n" + . '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '6.841753 68.704749 m' . "\n" + . '6.472725 74.369471 l' . "\n" + . '1.166613 76.387000 l' . "\n" + . '-2.872835 72.398504 l' . "\n" + . '-0.922818 67.067211 l' . "\n" + . '4.736763 66.626310 l' . "\n" + . '7.488895 71.591288 l' . "\n" + . '4.115869 76.157243 l' . "\n" + . '-1.438675 74.985796 l' . "\n" + . '-2.680531 69.446569 l' . "\n" + . '1.842242 66.015859 l' . "\n" + . '6.841753 68.704749 l' . "\n" + . 'h f*' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '6.841753 68.704749 m' . "\n" + . '6.472725 74.369471 l' . "\n" + . 'S' . "\n" + . '6.472725 74.369471 m' . "\n" + . '1.166613 76.387000 l' . "\n" + . 'S' . "\n" + . '1.166613 76.387000 m' . "\n" + . '-2.872835 72.398504 l' . "\n" + . 'S' . "\n" + . '-2.872835 72.398504 m' . "\n" + . '-0.922818 67.067211 l' . "\n" + . 'S' . "\n" + . '-0.922818 67.067211 m' . "\n" + . '4.736763 66.626310 l' . "\n" + . 'S' . "\n" + . '4.736763 66.626310 m' . "\n" + . '7.488895 71.591288 l' . "\n" + . 'S' . "\n" + . '7.488895 71.591288 m' . "\n" + . '4.115869 76.157243 l' . "\n" + . 'S' . "\n" + . '4.115869 76.157243 m' . "\n" + . '-1.438675 74.985796 l' . "\n" + . 'S' . "\n" + . '-1.438675 74.985796 m' . "\n" + . '-2.680531 69.446569 l' . "\n" + . 'S' . "\n" + . '-2.680531 69.446569 m' . "\n" + . '1.842242 66.015859 l' . "\n" + . 'S' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '1.842242 66.015859 m' . "\n" + . '6.841753 68.704749 l' . "\n" + . 'S' . "\n", + $res + ); + } + + public function testGetBasicRect(): void + { + $draw = $this->getTestObject(); + $res = $draw->getBasicRect(3, 5, 7, 11); + $this->assertEquals( + '2.250000 71.250000 5.250000 -8.250000 re' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getBasicRect(3, 5, 7, 11, 'b*', $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 5.250000 -8.250000 re' . "\n" + . 'b*' . "\n", + $res + ); + } + + public function testGetRect(): void + { + $draw = $this->getTestObject(); + $res = $draw->getRect(3, 5, 7, 11); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '7.500000 71.250000 l' . "\n" + . 'S' . "\n" + . '7.500000 71.250000 m' . "\n" + . '7.500000 63.000000 l' . "\n" + . 'S' . "\n" + . '7.500000 63.000000 m' . "\n" + . '2.250000 63.000000 l' . "\n" + . 'S' . "\n" + . '2.250000 63.000000 m' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getRect( + 3, + 5, + 7, + 11, + 'b*', + [ + 'all' => $testStyle, + 1 => [ + 'lineColor' => '#ff0000', + ], + ] + ); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '7.500000 71.250000 l' . "\n" + . '7.500000 63.000000 l' . "\n" + . '2.250000 63.000000 l' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'h f*' . "\n" + . '2.250000 71.250000 m' . "\n" + . '7.500000 71.250000 l' . "\n" + . 'S' . "\n" + . '1.000000 0.000000 0.000000 RG' . "\n" + . '7.500000 71.250000 m' . "\n" + . '7.500000 63.000000 l' . "\n" + . 'S' . "\n" + . '7.500000 63.000000 m' . "\n" + . '2.250000 63.000000 l' . "\n" + . 'S' . "\n" + . '2.250000 63.000000 m' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'S' . "\n", + $res + ); + } + + public function testGetRoundedRect(): void + { + $draw = $this->getTestObject(); + $res = $draw->getRoundedRect(3, 5, 137, 241, 13, 17); + $this->assertEquals( + '12.000000 71.250000 m' . "\n" + . '95.250000 71.250000 l' . "\n" + . '100.634776 71.250000 105.000000 65.541631 105.000000 58.500000 c' . "\n" + . '105.000000 -96.750000 l' . "\n" + . '105.000000 -103.791631 100.634776 -109.500000 95.250000 -109.500000 c' . "\n" + . '12.000000 -109.500000 l' . "\n" + . '6.615224 -109.500000 2.250000 -103.791631 2.250000 -96.750000 c' . "\n" + . '2.250000 58.500000 l' . "\n" + . '2.250000 65.541631 6.615224 71.250000 12.000000 71.250000 c' . "\n" + . 'S' . "\n", + $res + ); + + $res = $draw->getRoundedRect(3, 5, 137, 241, 13, 17, '0000'); + $this->assertEquals( + '2.250000 71.250000 102.750000 -180.750000 re' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getRoundedRect(3, 5, 137, 241, 13, 17, '1010', 'b*', $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '95.250000 71.250000 l' . "\n" + . '100.634776 71.250000 105.000000 65.541631 105.000000 58.500000 c' . "\n" + . '105.000000 -96.750000 l' . "\n" + . '105.000000 -109.500000 l' . "\n" + . '12.000000 -109.500000 l' . "\n" + . '6.615224 -109.500000 2.250000 -103.791631 2.250000 -96.750000 c' . "\n" + . '2.250000 58.500000 l' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'b*' . "\n", + $res + ); + + $res = $draw->getRoundedRect(3, 5, 137, 241, 13, 17, '0101'); + $this->assertEquals( + '12.000000 71.250000 m' . "\n" + . '95.250000 71.250000 l' . "\n" + . '105.000000 71.250000 l' . "\n" + . '105.000000 -96.750000 l' . "\n" + . '105.000000 -103.791631 100.634776 -109.500000 95.250000 -109.500000 c' . "\n" + . '12.000000 -109.500000 l' . "\n" + . '2.250000 -109.500000 l' . "\n" + . '2.250000 58.500000 l' . "\n" + . '2.250000 65.541631 6.615224 71.250000 12.000000 71.250000 c' . "\n" + . 'S' . "\n", + $res + ); + } + + public function testGetArrow(): void + { + $draw = $this->getTestObject(); + $res = $draw->getArrow(3, 5, 7, 11); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . 'S' . "\n" + . '4.048317 70.302247 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '2.433189 69.225495 l' . "\n" + . 'S' . "\n", + $res + ); + + $testStyle = $this->getTestStyle(); + $res = $draw->getArrow(3, 5, 7, 11, 1, 6, 17, $testStyle); + $this->assertEquals( + '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '2.250000 71.250000 m' . "\n" + . '4.001925 68.622113 l' . "\n" + . 'S' . "\n" + . '2.250000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '8.250000 M' . "\n" + . '[3.750000 5.250000] 0.750000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n" + . '3.957625 71.060425 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '1.768213 69.600818 l' . "\n" + . 's' . "\n", + $res + ); + + $res = $draw->getArrow(3, 5, 7, 11, 2, 6, 17); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '3.308549 69.662176 l' . "\n" + . 'S' . "\n" + . '3.957625 71.060425 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '1.768213 69.600818 l' . "\n" + . 'b' . "\n", + $res + ); + + $res = $draw->getArrow(3, 5, 7, 11, 3, 6, 17); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '3.308549 69.662176 l' . "\n" + . 'S' . "\n" + . '3.957625 71.060425 m' . "\n" + . '5.250000 66.750000 l' . "\n" + . '1.768213 69.600818 l' . "\n" + . 'f' . "\n", + $res + ); + } + + public function testGetRegistrationMark(): void + { + $draw = $this->getTestObject(); + $res = $draw->getRegistrationMark(3, 5, 7, true, 'All'); + $this->assertEquals( + 'q' . "\n" + . '0.500000 w' . "\n" + . '0 J' . "\n" + . '0 j' . "\n" + . '10.000000 M' . "\n" + . '[] 0.000000 d' . "\n" + . '/CS1 CS 1.000000 SCN' . "\n" + . '/CS1 cs 1.000000 scn' . "\n" + . '1.000000 1.000000 1.000000 1.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '2.250000 76.500000 l' . "\n" + . '1.328501 76.500000 0.423041 76.257383 -0.375000 75.796633 c' . "\n" + . '-1.173041 75.335884 -1.835884 74.673041 -2.296633 73.875000 c' . "\n" + . '-2.757383 73.076959 -3.000000 72.171499 -3.000000 71.250000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '2.250000 71.250000 m' . "\n" + . '2.250000 66.000000 l' . "\n" + . '3.171499 66.000000 4.076959 66.242617 4.875000 66.703367 c' . "\n" + . '5.673041 67.164116 6.335884 67.826959 6.796633 68.625000 c' . "\n" + . '7.257383 69.423041 7.500000 70.328501 7.500000 71.250000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '7.500000 71.250000 m' . "\n" + . '7.500000 71.583451 7.468232 71.916144 7.405126 72.243569 c' . "\n" + . '7.342020 72.570994 7.247863 72.891663 7.123932 73.201228 c' . "\n" + . '7.000001 73.510793 6.846858 73.807848 6.666581 74.088364 c' . "\n" + . '6.486304 74.368881 6.279711 74.631585 6.049604 74.872915 c' . "\n" + . '5.819496 75.114244 5.566920 75.333103 5.295299 75.526524 c' . "\n" + . '5.023678 75.719944 4.734246 75.887048 4.430929 76.025568 c' . "\n" + . '4.127611 76.164088 3.811786 76.273397 3.487734 76.352011 c' . "\n" + . '3.163683 76.430625 2.832878 76.478187 2.499805 76.494054 c' . "\n" + . '2.166732 76.509920 1.832904 76.494018 1.502847 76.446563 c' . "\n" + . '1.172790 76.399108 0.848004 76.320315 0.532893 76.211254 c' . "\n" + . '0.217782 76.102193 -0.086223 75.963359 -0.375000 75.796633 c' . "\n" + . '-0.663777 75.629908 -0.936014 75.436049 -1.188019 75.217685 c' . "\n" + . '-1.440024 74.999322 -1.670653 74.757445 -1.876779 74.495335 c' . "\n" + . '-2.082904 74.233225 -2.263590 73.952072 -2.416386 73.655689 c' . "\n" + . '-2.569182 73.359306 -2.693394 73.049039 -2.787338 72.729096 c' . "\n" + . '-2.881282 72.409152 -2.944531 72.080985 -2.976228 71.749044 c' . "\n" + . '-3.007924 71.417103 -3.007924 71.082897 -2.976228 70.750956 c' . "\n" + . '-2.944531 70.419015 -2.881282 70.090848 -2.787338 69.770904 c' . "\n" + . '-2.693394 69.450961 -2.569182 69.140694 -2.416386 68.844311 c' . "\n" + . '-2.263590 68.547928 -2.082904 68.266775 -1.876779 68.004665 c' . "\n" + . '-1.670653 67.742555 -1.440024 67.500678 -1.188019 67.282315 c' . "\n" + . '-0.936014 67.063951 -0.663777 66.870092 -0.375000 66.703367 c' . "\n" + . '-0.086223 66.536641 0.217782 66.397807 0.532893 66.288746 c' . "\n" + . '0.848004 66.179685 1.172790 66.100892 1.502847 66.053437 c' . "\n" + . '1.832904 66.005982 2.166732 65.990080 2.499805 66.005946 c' . "\n" + . '2.832878 66.021813 3.163683 66.069375 3.487734 66.147989 c' . "\n" + . '3.811786 66.226603 4.127611 66.335912 4.430929 66.474432 c' . "\n" + . '4.734246 66.612952 5.023678 66.780056 5.295299 66.973476 c' . "\n" + . '5.566920 67.166897 5.819496 67.385756 6.049604 67.627085 c' . "\n" + . '6.279711 67.868415 6.486304 68.131119 6.666581 68.411636 c' . "\n" + . '6.846858 68.692152 7.000001 68.989207 7.123932 69.298772 c' . "\n" + . '7.247863 69.608337 7.342020 69.929006 7.405126 70.256431 c' . "\n" + . '7.468232 70.583856 7.500000 70.916549 7.500000 71.250000 c' . "\n" + . 'S' . "\n" + . '0.000000 0.000000 0.000000 0.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '2.250000 73.875000 l' . "\n" + . '1.789251 73.875000 1.336521 73.753691 0.937500 73.523317 c' . "\n" + . '0.538479 73.292942 0.207058 72.961521 -0.023317 72.562500 c' . "\n" + . '-0.253691 72.163479 -0.375000 71.710749 -0.375000 71.250000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '2.250000 71.250000 m' . "\n" + . '2.250000 68.625000 l' . "\n" + . '2.710749 68.625000 3.163479 68.746309 3.562500 68.976683 c' . "\n" + . '3.961521 69.207058 4.292942 69.538479 4.523317 69.937500 c' . "\n" + . '4.753691 70.336521 4.875000 70.789251 4.875000 71.250000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '4.875000 71.250000 m' . "\n" + . '4.875000 71.416725 4.859116 71.583072 4.827563 71.746785 c' . "\n" + . '4.796010 71.910497 4.748931 72.070831 4.686966 72.225614 c' . "\n" + . '4.625000 72.380396 4.548429 72.528924 4.458291 72.669182 c' . "\n" + . '4.368152 72.809440 4.264856 72.940793 4.149802 73.061457 c' . "\n" + . '4.034748 73.182122 3.908460 73.291552 3.772649 73.388262 c' . "\n" + . '3.636839 73.484972 3.492123 73.568524 3.340464 73.637784 c' . "\n" + . '3.188806 73.707044 3.030893 73.761698 2.868867 73.801005 c' . "\n" + . '2.706842 73.840312 2.541439 73.864094 2.374903 73.872027 c' . "\n" + . '2.208366 73.879960 2.041452 73.872009 1.876424 73.848281 c' . "\n" + . '1.711395 73.824554 1.549002 73.785158 1.391447 73.730627 c' . "\n" + . '1.233891 73.676097 1.081888 73.606679 0.937500 73.523317 c' . "\n" + . '0.793112 73.439954 0.656993 73.343025 0.530991 73.233843 c' . "\n" + . '0.404988 73.124661 0.289673 73.003722 0.186611 72.872667 c' . "\n" + . '0.083548 72.741612 -0.006795 72.601036 -0.083193 72.452845 c' . "\n" + . '-0.159591 72.304653 -0.221697 72.149520 -0.268669 71.989548 c' . "\n" + . '-0.315641 71.829576 -0.347266 71.665493 -0.363114 71.499522 c' . "\n" + . '-0.378962 71.333552 -0.378962 71.166448 -0.363114 71.000478 c' . "\n" + . '-0.347266 70.834507 -0.315641 70.670424 -0.268669 70.510452 c' . "\n" + . '-0.221697 70.350480 -0.159591 70.195347 -0.083193 70.047155 c' . "\n" + . '-0.006795 69.898964 0.083548 69.758388 0.186611 69.627333 c' . "\n" + . '0.289673 69.496278 0.404988 69.375339 0.530991 69.266157 c' . "\n" + . '0.656993 69.156975 0.793112 69.060046 0.937500 68.976683 c' . "\n" + . '1.081888 68.893321 1.233891 68.823903 1.391447 68.769373 c' . "\n" + . '1.549002 68.714842 1.711395 68.675446 1.876424 68.651719 c' . "\n" + . '2.041452 68.627991 2.208366 68.620040 2.374903 68.627973 c' . "\n" + . '2.541439 68.635906 2.706842 68.659688 2.868867 68.698995 c' . "\n" + . '3.030893 68.738302 3.188806 68.792956 3.340464 68.862216 c' . "\n" + . '3.492123 68.931476 3.636839 69.015028 3.772649 69.111738 c' . "\n" + . '3.908460 69.208448 4.034748 69.317878 4.149802 69.438543 c' . "\n" + . '4.264856 69.559207 4.368152 69.690560 4.458291 69.830818 c' . "\n" + . '4.548429 69.971076 4.625000 70.119604 4.686966 70.274386 c' . "\n" + . '4.748931 70.429169 4.796010 70.589503 4.827563 70.753215 c' . "\n" + . '4.859116 70.916928 4.875000 71.083275 4.875000 71.250000 c' . "\n" + . 'S' . "\n" + . '0.000000 0.000000 0.000000 0.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '4.875000 71.250000 l' . "\n" + . '4.875000 71.710749 4.753691 72.163479 4.523317 72.562500 c' . "\n" + . '4.292942 72.961521 3.961521 73.292942 3.562500 73.523317 c' . "\n" + . '3.163479 73.753691 2.710749 73.875000 2.250000 73.875000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '2.250000 71.250000 m' . "\n" + . '-0.375000 71.250000 l' . "\n" + . '-0.375000 70.789251 -0.253691 70.336521 -0.023317 69.937500 c' . "\n" + . '0.207058 69.538479 0.538479 69.207058 0.937500 68.976683 c' . "\n" + . '1.336521 68.746309 1.789251 68.625000 2.250000 68.625000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '4.875000 71.250000 m' . "\n" + . '4.875000 71.416725 4.859116 71.583072 4.827563 71.746785 c' . "\n" + . '4.796010 71.910497 4.748931 72.070831 4.686966 72.225614 c' . "\n" + . '4.625000 72.380396 4.548429 72.528924 4.458291 72.669182 c' . "\n" + . '4.368152 72.809440 4.264856 72.940793 4.149802 73.061457 c' . "\n" + . '4.034748 73.182122 3.908460 73.291552 3.772649 73.388262 c' . "\n" + . '3.636839 73.484972 3.492123 73.568524 3.340464 73.637784 c' . "\n" + . '3.188806 73.707044 3.030893 73.761698 2.868867 73.801005 c' . "\n" + . '2.706842 73.840312 2.541439 73.864094 2.374903 73.872027 c' . "\n" + . '2.208366 73.879960 2.041452 73.872009 1.876424 73.848281 c' . "\n" + . '1.711395 73.824554 1.549002 73.785158 1.391447 73.730627 c' . "\n" + . '1.233891 73.676097 1.081888 73.606679 0.937500 73.523317 c' . "\n" + . '0.793112 73.439954 0.656993 73.343025 0.530991 73.233843 c' . "\n" + . '0.404988 73.124661 0.289673 73.003722 0.186611 72.872667 c' . "\n" + . '0.083548 72.741612 -0.006795 72.601036 -0.083193 72.452845 c' . "\n" + . '-0.159591 72.304653 -0.221697 72.149520 -0.268669 71.989548 c' . "\n" + . '-0.315641 71.829576 -0.347266 71.665493 -0.363114 71.499522 c' . "\n" + . '-0.378962 71.333552 -0.378962 71.166448 -0.363114 71.000478 c' . "\n" + . '-0.347266 70.834507 -0.315641 70.670424 -0.268669 70.510452 c' . "\n" + . '-0.221697 70.350480 -0.159591 70.195347 -0.083193 70.047155 c' . "\n" + . '-0.006795 69.898964 0.083548 69.758388 0.186611 69.627333 c' . "\n" + . '0.289673 69.496278 0.404988 69.375339 0.530991 69.266157 c' . "\n" + . '0.656993 69.156975 0.793112 69.060046 0.937500 68.976683 c' . "\n" + . '1.081888 68.893321 1.233891 68.823903 1.391447 68.769373 c' . "\n" + . '1.549002 68.714842 1.711395 68.675446 1.876424 68.651719 c' . "\n" + . '2.041452 68.627991 2.208366 68.620040 2.374903 68.627973 c' . "\n" + . '2.541439 68.635906 2.706842 68.659688 2.868867 68.698995 c' . "\n" + . '3.030893 68.738302 3.188806 68.792956 3.340464 68.862216 c' . "\n" + . '3.492123 68.931476 3.636839 69.015028 3.772649 69.111738 c' . "\n" + . '3.908460 69.208448 4.034748 69.317878 4.149802 69.438543 c' . "\n" + . '4.264856 69.559207 4.368152 69.690560 4.458291 69.830818 c' . "\n" + . '4.548429 69.971076 4.625000 70.119604 4.686966 70.274386 c' . "\n" + . '4.748931 70.429169 4.796010 70.589503 4.827563 70.753215 c' . "\n" + . '4.859116 70.916928 4.875000 71.083275 4.875000 71.250000 c' . "\n" + . 'S' . "\n" + . 'Q' . "\n", + $res + ); + } + + public function testGetCmykRegistrationMark(): void + { + $draw = $this->getTestObject(); + $res = $draw->getCmykRegistrationMark(3, 5, 11); + $this->assertEquals( + 'q' . "\n" + . '1.000000 0.000000 0.000000 0.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '2.250000 66.300000 l' . "\n" + . '3.118842 66.300000 3.972561 66.528753 4.725000 66.963174 c' . "\n" + . '5.477439 67.397595 6.102405 68.022561 6.536826 68.775000 c' . "\n" + . '6.971247 69.527439 7.200000 70.381158 7.200000 71.250000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '0.000000 1.000000 0.000000 0.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '7.200000 71.250000 l' . "\n" + . '7.200000 72.118842 6.971247 72.972561 6.536826 73.725000 c' . "\n" + . '6.102405 74.477439 5.477439 75.102405 4.725000 75.536826 c' . "\n" + . '3.972561 75.971247 3.118842 76.200000 2.250000 76.200000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '0.000000 0.000000 1.000000 0.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '2.250000 76.200000 l' . "\n" + . '1.381158 76.200000 0.527439 75.971247 -0.225000 75.536826 c' . "\n" + . '-0.977439 75.102405 -1.602405 74.477439 -2.036826 73.725000 c' . "\n" + . '-2.471247 72.972561 -2.700000 72.118842 -2.700000 71.250000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '0.000000 0.000000 0.000000 1.000000 k' . "\n" + . '2.250000 71.250000 m' . "\n" + . '-2.700000 71.250000 l' . "\n" + . '-2.700000 70.381158 -2.471247 69.527439 -2.036826 68.775000 c' . "\n" + . '-1.602405 68.022561 -0.977439 67.397595 -0.225000 66.963174 c' . "\n" + . '0.527439 66.528753 1.381158 66.300000 2.250000 66.300000 c' . "\n" + . '2.250000 71.250000 l' . "\n" + . 'f' . "\n" + . '0.500000 w' . "\n" + . '0 J' . "\n" + . '0 j' . "\n" + . '10.000000 M' . "\n" + . '[] 0.000000 d' . "\n" + . '/CS5 CS 1.000000 SCN' . "\n" + . '10.500000 71.250000 m' . "\n" + . '10.500000 71.773994 10.450078 72.296798 10.350912 72.811323 c' . "\n" + . '10.251745 73.325847 10.103784 73.829756 9.909035 74.316215 c' . "\n" + . '9.714287 74.802674 9.473634 75.269475 9.190342 75.710287 c' . "\n" + . '8.907049 76.151098 8.582403 76.563920 8.220806 76.943152 c' . "\n" + . '7.859209 77.322384 7.462302 77.666305 7.035470 77.970252 c' . "\n" + . '6.608637 78.274198 6.153815 78.536789 5.677174 78.754464 c' . "\n" + . '5.200532 78.972139 4.704235 79.143909 4.195011 79.267445 c' . "\n" + . '3.685788 79.390982 3.165951 79.465723 2.642551 79.490656 c' . "\n" + . '2.119150 79.515588 1.594563 79.490599 1.075903 79.416027 c' . "\n" + . '0.557242 79.341455 0.046864 79.217638 -0.448311 79.046257 c' . "\n" + . '-0.943485 78.874875 -1.421208 78.656707 -1.875000 78.394710 c' . "\n" + . '-2.328792 78.132713 -2.756593 77.828077 -3.152601 77.484934 c' . "\n" + . '-3.548609 77.141791 -3.911026 76.761699 -4.234938 76.349812 c' . "\n" + . '-4.558850 75.937925 -4.842785 75.496113 -5.082892 75.030369 c' . "\n" + . '-5.323000 74.564624 -5.518191 74.077062 -5.665817 73.574294 c' . "\n" + . '-5.813443 73.071525 -5.912835 72.555834 -5.962643 72.034212 c' . "\n" + . '-6.012452 71.512591 -6.012452 70.987409 -5.962643 70.465788 c' . "\n" + . '-5.912835 69.944166 -5.813443 69.428475 -5.665817 68.925706 c' . "\n" + . '-5.518191 68.422938 -5.323000 67.935376 -5.082892 67.469631 c' . "\n" + . '-4.842785 67.003887 -4.558850 66.562075 -4.234938 66.150188 c' . "\n" + . '-3.911026 65.738301 -3.548609 65.358209 -3.152601 65.015066 c' . "\n" + . '-2.756593 64.671923 -2.328792 64.367287 -1.875000 64.105290 c' . "\n" + . '-1.421208 63.843293 -0.943485 63.625125 -0.448311 63.453743 c' . "\n" + . '0.046864 63.282362 0.557242 63.158545 1.075903 63.083973 c' . "\n" + . '1.594563 63.009401 2.119150 62.984412 2.642551 63.009344 c' . "\n" + . '3.165951 63.034277 3.685788 63.109018 4.195011 63.232555 c' . "\n" + . '4.704235 63.356091 5.200532 63.527861 5.677174 63.745536 c' . "\n" + . '6.153815 63.963211 6.608637 64.225802 7.035470 64.529748 c' . "\n" + . '7.462302 64.833695 7.859209 65.177616 8.220806 65.556848 c' . "\n" + . '8.582403 65.936080 8.907049 66.348902 9.190342 66.789713 c' . "\n" + . '9.473634 67.230525 9.714287 67.697326 9.909035 68.183785 c' . "\n" + . '10.103784 68.670244 10.251745 69.174153 10.350912 69.688677 c' . "\n" + . '10.450078 70.203202 10.500000 70.726006 10.500000 71.250000 c' . "\n" + . 'S' . "\n" + . '2.250000 81.975000 m' . "\n" + . '2.250000 76.200000 l' . "\n" + . 'S' . "\n" + . '2.250000 66.300000 m' . "\n" + . '2.250000 60.525000 l' . "\n" + . 'S' . "\n" + . '-8.475000 71.250000 m' . "\n" + . '-2.700000 71.250000 l' . "\n" + . 'S' . "\n" + . '7.200000 71.250000 m' . "\n" + . '12.975000 71.250000 l' . "\n" + . 'S' . "\n" + . 'Q' . "\n", + $res + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/GradientTest.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/GradientTest.php new file mode 100644 index 0000000..2fe821c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/GradientTest.php @@ -0,0 +1,654 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Test; + +/** + * Gradient Test + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class GradientTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw + { + return new \Com\Tecnick\Pdf\Graph\Draw( + 0.75, + 80, + 100, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + } + + public function testGetClippingRect(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '2.250000 71.250000 5.250000 -8.250000 re' . "\n" . 'W n' . "\n", + $draw->getClippingRect(3, 5, 7, 11) + ); + } + + public function testGetGradientTransform(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '5.250000 0.000000 0.000000 8.250000 2.250000 63.000000 cm' . "\n", + $draw->getGradientTransform(3, 5, 7, 11) + ); + } + + public function testGetLinearGradient(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + 'q' . "\n" + . '2.250000 71.250000 5.250000 -8.250000 re' . "\n" . 'W n' . "\n" + . '5.250000 0.000000 0.000000 8.250000 2.250000 63.000000 cm' . "\n" + . '/Sh1 sh' . "\n" + . 'Q' . "\n", + $draw->getLinearGradient(3, 5, 7, 11, 'red', 'green', [1, 2, 3, 4]) + ); + } + + public function testGetRadialGradient(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + 'q' . "\n" + . '2.250000 71.250000 5.250000 -8.250000 re' . "\n" . 'W n' . "\n" + . '5.250000 0.000000 0.000000 8.250000 2.250000 63.000000 cm' . "\n" + . '/Sh1 sh' . "\n" + . 'Q' . "\n", + $draw->getRadialGradient(3, 5, 7, 11, 'red', 'green', [0.6, 0.5, 0.4, 0.3, 1]) + ); + } + + public function testGetGradientPDFA(): void + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 0.75, + 80, + 100, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + true + ); + $this->assertEquals( + '', + $draw->getGradient(2, [], [], '', false) + ); + + $this->assertNull($draw->getLastGradientID()); + } + + public function testGetGradient(): void + { + $draw = $this->getTestObject(); + $stops = [ + [ + 'color' => 'red', + 'exponent' => 1.0, + 'offset' => 0.0, + 'opacity' => 0.5, + ], + [ + 'color' => 'blue', + 'exponent' => 1.0, + 'offset' => 0.2, + 'opacity' => 0.6, + ], + [ + 'color' => '#98fb98', + 'exponent' => 1.0, + 'offset' => 0.47, + 'opacity' => 0.7, + ], + [ + 'color' => 'rgb(64,128,191)', + 'exponent' => 1.0, + 'offset' => 0.8, + 'opacity' => 0.8, + ], + [ + 'color' => 'skyblue', + 'exponent' => 1.0, + 'offset' => 1.0, + 'opacity' => 0.9, + ], + ]; + $this->assertEquals( + '/TGS1 gs' . "\n" + . '/Sh1 sh' . "\n", + $draw->getGradient(2, [0, 0, 1, 0], $stops, '', false) + ); + + $exp = [ + 1 => [ + 'type' => 2, + 'coords' => [ + 0 => 0, + 1 => 0, + 2 => 1, + 3 => 0, + ], + 'antialias' => false, + 'colors' => [ + 0 => [ + 'color' => 'red', + 'exponent' => 1, + 'offset' => 0, + 'opacity' => 0.5, + ], + 1 => [ + 'color' => 'blue', + 'exponent' => 1, + 'offset' => 0.20, + 'opacity' => 0.60, + ], + 2 => [ + 'color' => '#98fb98', + 'exponent' => 1, + 'offset' => 0.47, + 'opacity' => 0.70, + ], + 3 => [ + 'color' => 'rgb(64,128,191)', + 'exponent' => 1, + 'offset' => 0.80, + 'opacity' => 0.80, + ], + 4 => [ + 'color' => 'skyblue', + 'exponent' => 1, + 'offset' => 1, + 'opacity' => 0.90, + ], + ], + 'transparency' => true, + 'background' => null, + 'colspace' => 'DeviceCMYK', + 'id' => 0, + 'pattern' => 0, + 'stream' => '', + ], + ]; + $this->bcAssertEqualsWithDelta($exp, $draw->getGradientsArray()); + + $this->assertEquals(1, $draw->getLastGradientID()); + } + + public function testGetCoonsPatchMeshPDFA(): void + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 0.75, + 80, + 100, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + true + ); + $this->assertEquals( + '', + $draw->getCoonsPatchMesh(3, 5, 7, 11) + ); + } + + public function testGetCoonsPatchMesh(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + 'q' . "\n" + . '2.250000 71.250000 5.250000 -8.250000 re' . "\n" . 'W n' . "\n" + . '5.250000 0.000000 0.000000 8.250000 2.250000 63.000000 cm' . "\n" + . '/Sh1 sh' . "\n" + . 'Q' . "\n", + $draw->getCoonsPatchMesh(3, 5, 7, 11) + ); + + $patch_array = [ + 0 => [ + 'f' => 0, + 'points' => [ + 0 => 0.0, + 1 => 0.0, + 2 => 0.33, + 3 => 0.0, + 4 => 0.67, + 5 => 0.0, + 6 => 1.0, + 7 => 0.0, + 8 => 1.0, + 9 => 0.33, + 10 => 0.80, + 11 => 0.67, + 12 => 1.0, + 13 => 1.0, + 14 => 0.67, + 15 => 0.800, + 16 => 0.33, + 17 => 1.8, + 18 => 0.0, + 19 => 1.0, + 20 => 0.0, + 21 => 0.67, + 22 => 0.0, + 23 => 0.33, + ], + 'colors' => [ + 0 => [ + 'red' => 255, + 'green' => 255, + 'blue' => 0, + ], + 1 => [ + 'red' => 0, + 'green' => 0, + 'blue' => 255, + ], + 2 => [ + 'red' => 0, + 'green' => 255, + 'blue' => 0, + ], + 3 => [ + 'red' => 255, + 'green' => 0, + 'blue' => 0, + ], + ], + ], + 1 => [ + 'f' => 2, + 'points' => [ + 0 => 0.0, + 1 => 1.33, + 2 => 0.0, + 3 => 1.67, + 4 => 0.0, + 5 => 2.0, + 6 => 0.33, + 7 => 2.0, + 8 => 0.67, + 9 => 2.0, + 10 => 1.0, + 11 => 2.0, + 12 => 1.0, + 13 => 1.67, + 14 => 1.5, + 15 => 1.33, + ], + 'colors' => [ + 0 => [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + ], + 1 => [ + 'red' => 255, + 'green' => 0, + 'blue' => 255, + ], + ], + ], + 2 => [ + 'f' => 3, + 'points' => [ + 0 => 1.33, + 1 => 0.80, + 2 => 1.67, + 3 => 1.5, + 4 => 2.0, + 5 => 1.0, + 6 => 2.0, + 7 => 1.33, + 8 => 2.0, + 9 => 1.67, + 10 => 2.0, + 11 => 2.0, + 12 => 1.66, + 13 => 2.0, + 14 => 1.33, + 15 => 2.0, + ], + 'colors' => [ + 0 => [ + 'red' => 0, + 'green' => 255, + 'blue' => 255, + ], + 1 => [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + ], + ], + ], + 3 => [ + 'f' => 1, + 'points' => [ + 0 => 2.0, + 1 => 0.67, + 2 => 2.0, + 3 => 0.33, + 4 => 2.0, + 5 => 0.0, + 6 => 1.67, + 7 => 0.0, + 8 => 1.33, + 9 => 0.0, + 10 => 1.0, + 11 => 0.0, + 12 => 1.0, + 13 => 0.33, + 14 => 0.80, + 15 => 0.67, + ], + 'colors' => [ + 0 => [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + ], + 1 => [ + 'red' => 0, + 'green' => 0, + 'blue' => 255, + ], + ], + ], + ]; + + $this->assertEquals( + 'q' . "\n" + . '7.500000 41.250000 142.500000 -150.000000 re' . "\n" . 'W n' . "\n" + . '142.500000 0.000000 0.000000 150.000000 7.500000 -108.750000 cm' . "\n" + . '/Sh2 sh' . "\n" + . 'Q' . "\n", + $draw->getCoonsPatchMesh(10, 45, 190, 200, $patch_array, 0, 2) + ); + } + + public function testGetColorRegistrationBar(): void + { + $draw = $this->getTestObject(); + $res = $draw->getColorRegistrationBar(50, 70, 40, 40); + $this->assertEquals( + 'q' . "\n" + . '37.500000 22.500000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 18.750000 cm' . "\n" + . '/Sh1 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 18.750000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 15.000000 cm' . "\n" + . '/Sh2 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 15.000000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 11.250000 cm' . "\n" + . '/Sh3 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 11.250000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 7.500000 cm' . "\n" + . '/Sh4 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 7.500000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 3.750000 cm' . "\n" + . '/Sh5 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 3.750000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 0.000000 cm' . "\n" + . '/Sh6 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 0.000000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 -3.750000 cm' . "\n" + . '/Sh7 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '37.500000 -3.750000 30.000000 -3.750000 re' . "\n" . 'W n' . "\n" + . '30.000000 0.000000 0.000000 3.750000 37.500000 -7.500000 cm' . "\n" + . '/Sh8 sh' . "\n" + . 'Q' . "\n", + $res + ); + + $res = $draw->getColorRegistrationBar(50, 70, 40, 40, true); + $this->assertEquals( + 'q' . "\n" + . '37.500000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 37.500000 -7.500000 cm' . "\n" + . '/Sh9 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '41.250000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 41.250000 -7.500000 cm' . "\n" + . '/Sh10 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '45.000000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 45.000000 -7.500000 cm' . "\n" + . '/Sh11 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '48.750000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 48.750000 -7.500000 cm' . "\n" + . '/Sh12 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '52.500000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 52.500000 -7.500000 cm' . "\n" + . '/Sh13 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '56.250000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 56.250000 -7.500000 cm' . "\n" + . '/Sh14 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '60.000000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 60.000000 -7.500000 cm' . "\n" + . '/Sh15 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '63.750000 22.500000 3.750000 -30.000000 re' . "\n" . 'W n' . "\n" + . '3.750000 0.000000 0.000000 30.000000 63.750000 -7.500000 cm' . "\n" + . '/Sh16 sh' . "\n" + . 'Q' . "\n", + $res + ); + + $res = $draw->getColorRegistrationBar( + 50, + 70, + 40, + 40, + true, + [ + [''], + ['g(50%)'], + ['rgb(50%,50%,50%)'], + ['cmyk(50%,50%,50,50%)'], + ['rgb(100%,0%,0%)'], + ['red', 'white'], + ['black', 'black'], + ['g(11%)', 'g(11%)'], + ['rgb(30%,50%,70%)', 'rgb(170%,150%,130%)'], + ['cmyk(10%,20%,30,40%)', 'cmyk(100%,90%,80,70%)'], + [], + ] + ); + + $this->assertEquals( + 'q' . "\n" + . '0.500000 g' . "\n" + . '40.227273 22.500000 2.727273 -30.000000 re' . "\n" + . 'f' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '0.500000 0.500000 0.500000 rg' . "\n" + . '42.954545 22.500000 2.727273 -30.000000 re' . "\n" + . 'f' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '0.500000 0.500000 0.500000 0.500000 k' . "\n" + . '45.681818 22.500000 2.727273 -30.000000 re' . "\n" + . 'f' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '1.000000 0.000000 0.000000 rg' . "\n" + . '48.409091 22.500000 2.727273 -30.000000 re' . "\n" + . 'f' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '51.136364 22.500000 2.727273 -30.000000 re' . "\n" . 'W n' . "\n" + . '2.727273 0.000000 0.000000 30.000000 51.136364 -7.500000 cm' . "\n" + . '/Sh17 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '0.000000 0.000000 0.000000 1.000000 k' . "\n" + . '53.863636 22.500000 2.727273 -30.000000 re' . "\n" + . 'f' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '0.110000 g' . "\n" + . '56.590909 22.500000 2.727273 -30.000000 re' . "\n" + . 'f' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '59.318182 22.500000 2.727273 -30.000000 re' . "\n" . 'W n' . "\n" + . '2.727273 0.000000 0.000000 30.000000 59.318182 -7.500000 cm' . "\n" + . '/Sh18 sh' . "\n" + . 'Q' . "\n" + . 'q' . "\n" + . '62.045455 22.500000 2.727273 -30.000000 re' . "\n" . 'W n' . "\n" + . '2.727273 0.000000 0.000000 30.000000 62.045455 -7.500000 cm' . "\n" + . '/Sh19 sh' . "\n" + . 'Q' . "\n", + $res + ); + + $res = $draw->getColorRegistrationBar( + 50, + 70, + 40, + 40, + false, + [] + ); + $this->assertEquals('', $res); + } + + public function testGetCropMark(): void + { + $draw = $this->getTestObject(); + $res = $draw->getCropMark(3, 5, 7, 11, ''); + $this->assertEquals('', $res); + + $res = $draw->getCropMark(3, 5, 7, 11, 'TBLR'); + $this->assertEquals( + 'q' . "\n" + . '2.250000 79.500000 m' . "\n" + . '2.250000 73.312500 l' . "\n" + . 'S' . "\n" + . '2.250000 69.187500 m' . "\n" + . '2.250000 63.000000 l' . "\n" + . 'S' . "\n" + . '-3.000000 71.250000 m' . "\n" + . '0.937500 71.250000 l' . "\n" + . 'S' . "\n" + . '3.562500 71.250000 m' . "\n" + . '7.500000 71.250000 l' . "\n" + . 'S' . "\n" + . 'Q' . "\n", + $res + ); + + $style = [ + 'lineWidth' => 0.3, + 'lineColor' => 'black', + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + ]; + + $res = $draw->getCropMark(3, 5, 7, 11, 'TBLR', $style); + $this->assertEquals( + 'q' . "\n" + . '0.225000 w' . "\n" + . '0 J' . "\n" + . '0 j' . "\n" + . '/CS1 CS 1.000000 SCN' . "\n" + . '2.250000 79.500000 m' . "\n" + . '2.250000 73.312500 l' . "\n" + . 'S' . "\n" + . '2.250000 69.187500 m' . "\n" + . '2.250000 63.000000 l' . "\n" + . 'S' . "\n" + . '-3.000000 71.250000 m' . "\n" + . '0.937500 71.250000 l' . "\n" + . 'S' . "\n" + . '3.562500 71.250000 m' . "\n" + . '7.500000 71.250000 l' . "\n" + . 'S' . "\n" + . 'Q' . "\n", + $res + ); + } + + public function testGetOverprint(): void + { + $draw = $this->getTestObject(); + $res = $draw->getOverprint(); + $this->assertEquals( + '/GS1 gs' . "\n", + $res + ); + + $res = $draw->getOverprint(false, true, 1); + $this->assertEquals( + '/GS2 gs' . "\n", + $res + ); + } + + public function testGetAlpha(): void + { + $draw = $this->getTestObject(); + $res = $draw->getAlpha(); + $this->assertEquals( + '/GS1 gs' . "\n", + $res + ); + + $res = $draw->getAlpha(0.5, '/Missing', 0.4, true); + $this->assertEquals( + '/GS2 gs' . "\n", + $res + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/RawTest.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/RawTest.php new file mode 100644 index 0000000..6036804 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/RawTest.php @@ -0,0 +1,175 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Test; + +/** + * Raw Test + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class RawTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw + { + return new \Com\Tecnick\Pdf\Graph\Draw( + 0.75, + 80, + 100, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + } + + public function testGetRawPoint(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('2.250000 71.250000 m' . "\n", $draw->getRawPoint(3, 5)); + } + + public function testGetRawLine(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('2.250000 71.250000 l' . "\n", $draw->getRawLine(3, 5)); + } + + public function testGetRawRect(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('2.250000 71.250000 5.250000 -8.250000 re' . "\n", $draw->getRawRect(3, 5, 7, 11)); + } + + public function testGetRawCurve(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '2.250000 71.250000 5.250000 66.750000 9.750000 62.250000 c' . "\n", + $draw->getRawCurve(3, 5, 7, 11, 13, 17) + ); + } + + public function testGetRawCurveV(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('2.250000 71.250000 5.250000 66.750000 v' . "\n", $draw->getRawCurveV(3, 5, 7, 11)); + } + + public function testGetRawCurveY(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('2.250000 71.250000 5.250000 66.750000 y' . "\n", $draw->getRawCurveY(3, 5, 7, 11)); + } + + public function testGetRawEllipticalArc(): void + { + $draw = $this->getTestObject(); + $res = $draw->getRawEllipticalArc(0, 0, 0, 0); + $this->assertEquals('', $res); + + $res = $draw->getRawEllipticalArc(3, 5, 7, 11); + $this->assertEquals( + '7.500000 71.250000 m' . "\n" + . '7.500000 73.189135 7.064930 75.067534 6.271733 76.552998 c' . "\n" + . '5.478536 78.038462 4.376901 79.037937 3.161653 79.374664 c' . "\n" + . '1.946405 79.711391 0.693671 79.364277 -0.375000 78.394710 c' . "\n" + . '-1.443671 77.425142 -2.261335 75.893857 -2.683386 74.071666 c' . "\n" + . '-3.105437 72.249475 -3.105437 70.250525 -2.683386 68.428334 c' . "\n" + . '-2.261335 66.606143 -1.443671 65.074858 -0.375000 64.105290 c' . "\n" + . '0.693671 63.135723 1.946405 62.788609 3.161653 63.125336 c' . "\n" + . '4.376901 63.462063 5.478536 64.461538 6.271733 65.947002 c' . "\n" + . '7.064930 67.432466 7.500000 69.310865 7.500000 71.250000 c' . "\n", + $res + ); + + $bbox = []; + $res = $draw->getRawEllipticalArc( + 3, + 5, + 7, + 11, + 0, + -180, + -90, + true, + 1.8, + false, + false, + true, + $bbox + ); + $this->assertEquals( + '2.250000 71.250000 m' . "\n" + . '-3.000000 71.250000 l' . "\n" + . '-3.000000 73.118591 -2.596009 74.932867 -1.854615 76.393791 c' . "\n" + . '-1.113221 77.854714 -0.077525 78.877355 1.081765 79.293155 c' . "\n" + . '2.241055 79.708956 3.456544 79.493745 4.527890 78.682993 c' . "\n" + . '5.599235 77.872242 6.464154 76.513084 6.980087 74.829541 c' . "\n" + . '7.496019 73.145998 7.632972 71.235944 7.368372 69.414202 c' . "\n" + . '7.103771 67.592460 6.453000 65.964938 5.523321 64.799890 c' . "\n" + . '4.593643 63.634843 3.439104 63.000000 2.250000 63.000000 c' . "\n" + . '2.250000 71.250000 l' . "\n", + $res + ); + $res = $draw->getRawEllipticalArc(3, 5, 7, 11, 0, 90, 45); + $this->assertEquals( + '2.250000 79.500000 m' . "\n" + . '1.084822 79.500000 -0.047846 78.890447 -0.968406 77.767993 c' . "\n" + . '-1.888967 76.645539 -2.546049 75.072821 -2.835467 73.299209 c' . "\n" + . '-3.124884 71.525598 -3.030486 69.650067 -2.567240 67.970002 c' . "\n" + . '-2.103993 66.289938 -1.297750 64.899093 -0.276348 64.018002 c' . "\n" + . '0.745054 63.136911 1.924617 62.814741 3.075308 63.102576 c' . "\n" + . '4.225999 63.390411 5.283605 64.272189 6.080433 65.608093 c' . "\n" + . '6.877260 66.943998 7.368843 68.659482 7.477234 70.482537 c' . "\n" + . '7.585626 72.305591 7.304778 74.134484 6.679223 75.679223 c' . "\n", + $res + ); + } + + public function testGetVectorsAngle(): void + { + $draw = $this->getTestObject(); + $res = $draw->getVectorsAngle(0, 0, 0, 0); + $this->bcAssertEqualsWithDelta(0, $res); + + $res = $draw->getVectorsAngle(0, 1, 0, 1); + $this->bcAssertEqualsWithDelta(0, $res); + + $res = $draw->getVectorsAngle(1, 1, 2, 2); + $this->bcAssertEqualsWithDelta(0, $res); + + $res = $draw->getVectorsAngle(1, 0, 0, 1); + $this->bcAssertEqualsWithDelta(1.57, $res); + + $res = $draw->getVectorsAngle(0, 1, 1, 0); + $this->bcAssertEqualsWithDelta(-1.57, $res); + + $res = $draw->getVectorsAngle(1, 0, 1, 1); + $this->bcAssertEqualsWithDelta(0.79, $res); + + $res = $draw->getVectorsAngle(-1, -1, 1, 1); + $this->bcAssertEqualsWithDelta(M_PI, $res); + + $res = $draw->getVectorsAngle(1, 0, -1, 0); + $this->bcAssertEqualsWithDelta(M_PI, $res); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/StyleTest.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/StyleTest.php new file mode 100644 index 0000000..a6f2f29 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/StyleTest.php @@ -0,0 +1,418 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Test; + +/** + * Style Test + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class StyleTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw + { + return new \Com\Tecnick\Pdf\Graph\Draw( + 1, + 0, + 0, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + } + + public function testGetStyleCmd(): void + { + $draw = $this->getTestObject(); + + $styleCmd = $draw->getStyleCmd(); + $exp1 = ''; + $this->assertEquals($exp1, $styleCmd); + + $style2 = [ + 'lineWidth' => 3, + 'lineCap' => 'round', + 'lineJoin' => 'bevel', + 'miterLimit' => 11, + 'dashArray' => [5, 7], + 'dashPhase' => 0, + 'lineColor' => 'greenyellow', + 'fillColor' => '["RGB",0.250000,0.500000,0.750000]', + ]; + $res2 = $draw->getStyleCmd($style2); + $exp2 = '3.000000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '11.000000 M' . "\n" + . '[5.000000 7.000000] 0.000000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n"; + $this->assertEquals($exp2, $res2); + } + + public function testStyle(): void + { + $draw = $this->getTestObject(); + $style = []; + $res1 = $draw->add($style, true); + $exp1 = '1.000000 w' . "\n" + . '0 J' . "\n" + . '0 j' . "\n" + . '10.000000 M' . "\n" + . '[] 0.000000 d' . "\n" + . '/CS1 CS 1.000000 SCN' . "\n" + . '/CS1 cs 1.000000 scn' . "\n"; + $this->assertEquals($exp1, $res1); + + $style = [ + 'lineWidth' => 3, + 'lineCap' => 'round', + 'lineJoin' => 'bevel', + 'miterLimit' => 11, + 'dashArray' => [5, 7], + 'dashPhase' => 1, + 'lineColor' => 'greenyellow', + 'fillColor' => '["RGB",0.250000,0.500000,0.750000]', + ]; + $res2 = $draw->add($style, false); + $exp2 = '3.000000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '11.000000 M' . "\n" + . '[5.000000 7.000000] 1.000000 d' . "\n" + . '0.678431 1.000000 0.184314 RG' . "\n" + . '0.250000 0.500000 0.750000 rg' . "\n"; + $this->assertEquals($exp2, $res2); + $this->assertEquals($style, $draw->getCurrentStyleArray()); + + $style = [ + 'lineCap' => 'round', + 'lineJoin' => 'bevel', + 'lineColor' => 'transparent', + 'fillColor' => 'cmyk(67,33,0,25)', + ]; + $res3 = $draw->add($style, true); + $exp3 = '3.000000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '11.000000 M' . "\n" + . '[5.000000 7.000000] 1.000000 d' . "\n" + . '0.670000 0.330000 0.000000 0.250000 k' . "\n"; + $this->assertEquals($exp3, $res3); + + $style = [ + 'lineCap' => 'round', + 'lineJoin' => 'bevel', + 'lineColor' => 'transparent', + 'fillColor' => 'cmyk(67,33,0,25)', + 'dashArray' => [], + ]; + $res4 = $draw->add($style, true); + $exp4 = '3.000000 w' . "\n" + . '1 J' . "\n" + . '2 j' . "\n" + . '11.000000 M' . "\n" + . '[] 1.000000 d' . "\n" + . '0.670000 0.330000 0.000000 0.250000 k' . "\n"; + $this->assertEquals($exp4, $res4); + + $style = [ + 'lineWidth' => 7.123, + ]; + $res5 = $draw->add($style, false); + $exp5 = '7.123000 w' . "\n"; + $this->assertEquals($exp5, $res5); + + $res = $draw->pop(); + $this->assertEquals($exp5, $res); + + $res = $draw->pop(); + $this->assertEquals($exp4, $res); + + $res = $draw->pop(); + $this->assertEquals($exp3, $res); + + $res = $draw->pop(); + $this->assertEquals($exp2, $res); + + $res = $draw->pop(); + $this->assertEquals($exp1, $res); + } + + public function testStyleEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Graph\Exception::class); + $draw = $this->getTestObject(); + $draw->pop(); + } + + public function testSaveRestoreStyle(): void + { + $draw = $this->getTestObject(); + $draw->add( + [ + 'lineWidth' => 1, + ], + false + ); + $draw->add( + [ + 'lineWidth' => 2, + ], + false + ); + $draw->add( + [ + 'lineWidth' => 3, + ], + false + ); + $draw->saveStyleStatus(); + $draw->add( + [ + 'lineWidth' => 4, + ], + false + ); + $draw->add( + [ + 'lineWidth' => 5, + ], + false + ); + $draw->add( + [ + 'lineWidth' => 6, + ], + false + ); + $this->assertEquals( + [ + 'lineWidth' => 6, + ], + $draw->getCurrentStyleArray() + ); + $draw->restoreStyleStatus(); + $this->assertEquals( + [ + 'lineWidth' => 3, + ], + $draw->getCurrentStyleArray() + ); + } + + public function testStyleItem(): void + { + $draw = $this->getTestObject(); + $res = $draw->getCurrentStyleItem('lineCap'); + $this->assertEquals('butt', $res); + } + + public function testStyleItemEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Graph\Exception::class); + $draw = $this->getTestObject(); + $draw->getCurrentStyleItem('wrongField'); + } + + public function testGetLastStyleProperty(): void + { + $draw = $this->getTestObject(); + $draw->add( + [ + 'lineWidth' => 1, + ], + false + ); + $draw->add( + [ + 'lineWidth' => 2, + ], + false + ); + $draw->add( + [ + 'lineWidth' => 3, + ], + false + ); + $this->assertEquals(3, $draw->getLastStyleProperty('lineWidth', 0)); + $draw->add( + [ + 'lineWidth' => 4, + ], + false + ); + $this->assertEquals(4, $draw->getLastStyleProperty('lineWidth', 0)); + $this->assertEquals(7, $draw->getLastStyleProperty('unknown', 7)); + } + + public function testGetPathPaintOp(): void + { + $draw = $this->getTestObject(); + $res = $draw->getPathPaintOp('', ''); + $this->assertEquals('', $res); + + $res = $draw->getPathPaintOp(''); + $this->assertEquals('S' . "\n", $res); + + $res = $draw->getPathPaintOp('', 'df'); + $this->assertEquals('b' . "\n", $res); + + $res = $draw->getPathPaintOp('CEO'); + $this->assertEquals('W* n' . "\n", $res); + + $res = $draw->getPathPaintOp('F*D'); + $this->assertEquals('B*' . "\n", $res); + } + + public function testIsFillingMode(): void + { + $draw = $this->getTestObject(); + $this->assertTrue($draw->isFillingMode('f')); + $this->assertTrue($draw->isFillingMode('f*')); + $this->assertTrue($draw->isFillingMode('B')); + $this->assertTrue($draw->isFillingMode('B*')); + $this->assertTrue($draw->isFillingMode('b')); + $this->assertTrue($draw->isFillingMode('b*')); + $this->assertFalse($draw->isFillingMode('S')); + $this->assertFalse($draw->isFillingMode('s')); + $this->assertFalse($draw->isFillingMode('n')); + $this->assertFalse($draw->isFillingMode('')); + } + + public function testIsStrokingMode(): void + { + $draw = $this->getTestObject(); + $this->assertTrue($draw->isStrokingMode('S')); + $this->assertTrue($draw->isStrokingMode('s')); + $this->assertTrue($draw->isStrokingMode('B')); + $this->assertTrue($draw->isStrokingMode('B*')); + $this->assertTrue($draw->isStrokingMode('b')); + $this->assertTrue($draw->isStrokingMode('b*')); + $this->assertFalse($draw->isStrokingMode('f')); + $this->assertFalse($draw->isStrokingMode('f*')); + $this->assertFalse($draw->isStrokingMode('n')); + $this->assertFalse($draw->isStrokingMode('')); + } + + public function testIsClosingMode(): void + { + $draw = $this->getTestObject(); + $this->assertTrue($draw->isClosingMode('s')); + $this->assertTrue($draw->isClosingMode('b')); + $this->assertTrue($draw->isClosingMode('b*')); + $this->assertFalse($draw->isClosingMode('f')); + $this->assertFalse($draw->isClosingMode('f*')); + $this->assertFalse($draw->isClosingMode('S')); + $this->assertFalse($draw->isClosingMode('B')); + $this->assertFalse($draw->isClosingMode('B*')); + $this->assertFalse($draw->isClosingMode('n')); + $this->assertFalse($draw->isClosingMode('')); + } + + public function testGetModeWithoutClose(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('', $draw->getModeWithoutClose('')); + $this->assertEquals('S', $draw->getModeWithoutClose('s')); + $this->assertEquals('B', $draw->getModeWithoutClose('b')); + $this->assertEquals('B*', $draw->getModeWithoutClose('b*')); + $this->assertEquals('n', $draw->getModeWithoutClose('n')); + } + + public function testGetModeWithoutFill(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('', $draw->getModeWithoutFill('')); + $this->assertEquals('', $draw->getModeWithoutFill('f')); + $this->assertEquals('', $draw->getModeWithoutFill('f*')); + $this->assertEquals('S', $draw->getModeWithoutFill('B')); + $this->assertEquals('S', $draw->getModeWithoutFill('B*')); + $this->assertEquals('s', $draw->getModeWithoutFill('b')); + $this->assertEquals('s', $draw->getModeWithoutFill('b*')); + $this->assertEquals('n', $draw->getModeWithoutFill('n')); + } + + public function testGetModeWithoutStroke(): void + { + $draw = $this->getTestObject(); + $this->assertEquals('', $draw->getModeWithoutStroke('')); + $this->assertEquals('', $draw->getModeWithoutStroke('S')); + $this->assertEquals('h', $draw->getModeWithoutStroke('s')); + $this->assertEquals('f', $draw->getModeWithoutStroke('B')); + $this->assertEquals('f*', $draw->getModeWithoutStroke('B*')); + $this->assertEquals('h f', $draw->getModeWithoutStroke('b')); + $this->assertEquals('h f*', $draw->getModeWithoutStroke('b*')); + $this->assertEquals('n', $draw->getModeWithoutStroke('n')); + } + + public function testGetExtGState(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '/GS1 gs' . "\n", + $draw->getExtGState( + [ + 'A' => 'B', + ] + ) + ); + $this->assertEquals( + '/GS1 gs' . "\n", + $draw->getExtGState( + [ + 'A' => 'B', + ] + ) + ); + $this->assertEquals( + '/GS2 gs' . "\n", + $draw->getExtGState( + [ + 'C' => 'D', + ] + ) + ); + } + + public function testGetExtGStatePdfa(): void + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 1, + 0, + 0, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + true + ); + $this->assertEquals( + '', + $draw->getExtGState( + [ + 'A' => 'B', + ] + ) + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/TestUtil.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/TestUtil.php new file mode 100644 index 0000000..e3c2c7f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/TestUtil.php @@ -0,0 +1,50 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Test Util + * + * @since 2020-12-19 + * @category Library + * @package file + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class TestUtil extends TestCase +{ + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-graph/test/TransformTest.php b/vendor/tecnickcom/tc-lib-pdf-graph/test/TransformTest.php new file mode 100644 index 0000000..de04aff --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-graph/test/TransformTest.php @@ -0,0 +1,292 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + * + * This file is part of tc-lib-pdf-graph software library. + */ + +namespace Test; + +/** + * Transform Test + * + * @since 2011-05-23 + * @category Library + * @package PdfGraph + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-graph + */ +class TransformTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 1, + 0, + 0, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + $this->assertEquals(-1, $draw->getTransformIndex()); + $this->assertEquals('q' . "\n", $draw->getStartTransform()); + return $draw; + } + + public function testGetStartStopTransform(): void + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 1, + 0, + 0, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + $this->assertEquals(-1, $draw->getTransformIndex()); + $this->assertEquals('q' . "\n", $draw->getStartTransform()); + $this->assertEquals(0, $draw->getTransformIndex()); + + $tmx = [0.1, 1.2, 2.3, 3.4, 4.5, 5.6]; + $this->assertEquals( + '0.100000 1.200000 2.300000 3.400000 4.500000 5.600000 cm' . "\n", + $draw->getTransformation($tmx) + ); + + $this->bcAssertEqualsWithDelta( + [ + 0 => [ + 0 => [0.1, 1.2, 2.3, 3.4, 4.5, 5.6], + ], + ], + $draw->getTransformStack(), + 0.0001, + '' + ); + + $this->assertEquals('Q' . "\n", $draw->getStopTransform()); + $this->assertEquals(-1, $draw->getTransformIndex()); + $this->assertEquals('', $draw->getStopTransform()); + $this->assertEquals(-1, $draw->getTransformIndex()); + } + + public function testGetTransform(): void + { + $draw = $this->getTestObject(); + $tmx = [0.1, 1.2, 2.3, 3.4, 4.5, 5.6]; + $this->assertEquals( + '0.100000 1.200000 2.300000 3.400000 4.500000 5.600000 cm' . "\n", + $draw->getTransformation($tmx) + ); + } + + public function testSetPageHeight(): void + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 1, + 0, + 0, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + $draw->setPageHeight(100); + $this->assertEquals('q' . "\n", $draw->getStartTransform()); + $this->assertEquals( + '3.000000 0.000000 0.000000 5.000000 -14.000000 -356.000000 cm' . "\n", + $draw->getScaling(3, 5, 7, 11) + ); + } + + public function testSetKUnit(): void + { + $draw = new \Com\Tecnick\Pdf\Graph\Draw( + 1, + 0, + 0, + new \Com\Tecnick\Color\Pdf(), + new \Com\Tecnick\Pdf\Encrypt\Encrypt(), + false + ); + $draw->setKUnit(0.75); + $this->assertEquals('q' . "\n", $draw->getStartTransform()); + $this->assertEquals( + '3.000000 0.000000 0.000000 5.000000 -10.500000 33.000000 cm' . "\n", + $draw->getScaling(3, 5, 7, 11) + ); + } + + public function testGetScaling(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '3.000000 0.000000 0.000000 5.000000 -14.000000 44.000000 cm' . "\n", + $draw->getScaling(3, 5, 7, 11) + ); + $this->assertEquals( + '3.000000 0.000000 0.000000 3.000000 -14.000000 22.000000 cm' . "\n", + $draw->getScaling(3, 3, 7, 11) + ); + } + + public function testGetScalingEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Graph\Exception::class); + $draw = $this->getTestObject(); + $draw->getScaling(0, 0, 7, 11); + } + + public function testGetHorizScaling(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '3.000000 0.000000 0.000000 1.000000 -14.000000 0.000000 cm' . "\n", + $draw->getHorizScaling(3, 7, 11) + ); + } + + public function testGetVertScaling(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.000000 0.000000 5.000000 0.000000 44.000000 cm' . "\n", + $draw->getVertScaling(5, 7, 11) + ); + } + + public function testGetPropScaling(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '3.000000 0.000000 0.000000 3.000000 -14.000000 22.000000 cm' . "\n", + $draw->getPropScaling(3, 7, 11) + ); + } + + public function testGetRotation(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '0.707107 0.707107 -0.707107 0.707107 -5.727922 -8.171573 cm' . "\n", + $draw->getRotation(45, 7, 11) + ); + } + + public function testGetHorizMirroring(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '-1.000000 0.000000 0.000000 1.000000 14.000000 0.000000 cm' . "\n", + $draw->getHorizMirroring(7) + ); + } + + public function testGetVertMirroring(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.000000 0.000000 -1.000000 0.000000 -22.000000 cm' . "\n", + $draw->getVertMirroring(11) + ); + } + + public function testGetPointMirroring(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '-1.000000 0.000000 0.000000 -1.000000 14.000000 -22.000000 cm' . "\n", + $draw->getPointMirroring(7, 11) + ); + } + + public function testGetReflection(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '-1.000000 0.000000 0.000000 1.000000 14.000000 0.000000 cm' . "\n" + . '0.000000 1.000000 -1.000000 0.000000 -4.000000 -18.000000 cm' . "\n", + $draw->getReflection(45, 7, 11) + ); + } + + public function testGetTranslation(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.000000 0.000000 1.000000 3.000000 -5.000000 cm' . "\n", + $draw->getTranslation(3, 5) + ); + } + + public function testGetHorizTranslation(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.000000 0.000000 1.000000 3.000000 0.000000 cm' . "\n", + $draw->getHorizTranslation(3) + ); + } + + public function testGetVertTranslation(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.000000 0.000000 1.000000 0.000000 -5.000000 cm' . "\n", + $draw->getVertTranslation(5) + ); + } + + public function testGetSkewing(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.087489 0.052408 1.000000 0.576486 -0.612421 cm' . "\n", + $draw->getSkewing(3, 5, 7, 11) + ); + } + + public function testGetSkewingEx(): void + { + $draw = $this->getTestObject(); + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Graph\Exception::class); + $draw->getSkewing(90, -90, 7, 11); + } + + public function testGetHorizSkewing(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.000000 0.052408 1.000000 0.576486 0.000000 cm' . "\n", + $draw->getHorizSkewing(3, 7, 11) + ); + } + + public function testGetVertSkewing(): void + { + $draw = $this->getTestObject(); + $this->assertEquals( + '1.000000 0.087489 0.000000 1.000000 0.000000 -0.612421 cm' . "\n", + $draw->getVertSkewing(5, 7, 11) + ); + } + + public function testGetCtmProduct(): void + { + $draw = $this->getTestObject(); + $tma = [3.1, 5.2, 7.3, 11.4, 13.5, 17.6]; + $tmb = [19.1, 23.2, 29.3, 31.4, 37.5, 41.6]; + $ctm = $draw->getCtmProduct($tma, $tmb); + $this->bcAssertEqualsWithDelta([228.570, 363.800, 320.050, 510.320, 433.430, 686.840], $ctm, 0.001); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.editorconfig b/vendor/tecnickcom/tc-lib-pdf-image/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-pdf-image/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-pdf-image/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-pdf-image/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-pdf-image/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-pdf-image/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/.gitignore b/vendor/tecnickcom/tc-lib-pdf-image/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-pdf-image/CODEOWNERS b/vendor/tecnickcom/tc-lib-pdf-image/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-pdf-image/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-pdf-image/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-pdf-image/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/LICENSE b/vendor/tecnickcom/tc-lib-pdf-image/LICENSE new file mode 100644 index 0000000..5d3b4c8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-pdf-image +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-pdf-image/Makefile b/vendor/tecnickcom/tc-lib-pdf-image/Makefile new file mode 100644 index 0000000..7c9644b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/Makefile @@ -0,0 +1,277 @@ +# makefile +# +# @since 2015-05-14 +# @category Library +# @package PdfImage +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf-image +# +# This file is part of tc-lib-pdf-image software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf-image + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Pdf/Image/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-pdf-image/README.md b/vendor/tecnickcom/tc-lib-pdf-image/README.md new file mode 100644 index 0000000..27fba71 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/README.md @@ -0,0 +1,109 @@ +# tc-lib-pdf-image +*PHP library containing PDF Image methods* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-pdf-image/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-image) +![Build](https://github.com/tecnickcom/tc-lib-pdf-image/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-pdf-image/graph/badge.svg?token=7RH3BDHTL2)](https://codecov.io/gh/tecnickcom/tc-lib-pdf-image) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-pdf-image/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-image) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-pdf-image/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-image) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Pdf\Image +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-pdf-image +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf-image + +## Description + +PHP library containing PDF Image methods. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-pdf-image": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-pdf-image ^2.0 +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Pdf/Image/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-pdf-image/RELEASE b/vendor/tecnickcom/tc-lib-pdf-image/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-pdf-image/SECURITY.md b/vendor/tecnickcom/tc-lib-pdf-image/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/VERSION b/vendor/tecnickcom/tc-lib-pdf-image/VERSION new file mode 100644 index 0000000..1b5105d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/VERSION @@ -0,0 +1 @@ +2.1.14 diff --git a/vendor/tecnickcom/tc-lib-pdf-image/composer.json b/vendor/tecnickcom/tc-lib-pdf-image/composer.json new file mode 100644 index 0000000..3330c06 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/composer.json @@ -0,0 +1,44 @@ +{ + "name": "tecnickcom/tc-lib-pdf-image", + "description": "PHP library containing PDF Image methods", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-pdf-image", + "PDF", + "image", + "PNG", + "JPEG", + "JPG" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-gd": "*", + "ext-zlib": "*", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Image\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-pdf-image/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/phpcs.xml b/vendor/tecnickcom/tc-lib-pdf-image/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-image/phpstan.neon b/vendor/tecnickcom/tc-lib-pdf-image/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-pdf-image/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-pdf-image/phpunit.xml.dist new file mode 100644 index 0000000..e7cd64a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/autoload.php b/vendor/tecnickcom/tc-lib-pdf-image/resources/autoload.php new file mode 100644 index 0000000..d94b6af --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-pdf-image software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(dirname(__DIR__)).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/changelog b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/compat b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/control b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/control new file mode 100644 index 0000000..0ad09f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.6 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-gd, php-zip, php-tecnickcom-tc-lib-file (<< 3.0.0), php-tecnickcom-tc-lib-file (>= 2.2.2), php-tecnickcom-tc-lib-color (<< 3.0.0), php-tecnickcom-tc-lib-color (>= 2.2.13), php-tecnickcom-tc-lib-pdf-encrypt (<< 3.0.0), php-tecnickcom-tc-lib-pdf-encrypt (>= 2.1.16), ${misc:Depends} +Description: PHP PDF Image Library + PHP library containing PDF Image methods. diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/copyright b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/rules b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/source/format b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf-image/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-pdf-image/resources/rpm/rpm.spec new file mode 100644 index 0000000..c447928 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/resources/rpm/rpm.spec @@ -0,0 +1,54 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library containing PDF Image methods + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-gd +Requires: php-zlib +Requires: php-composer(%{c_vendor}/tc-lib-file) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-file) >= 2.2.2 +Requires: php-composer(%{c_vendor}/tc-lib-color) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-color) >= 2.2.13 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1.16 + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library containing PDF Image methods + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Fri Jan 15 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-pdf-image/src/Exception.php b/vendor/tecnickcom/tc-lib-pdf-image/src/Exception.php new file mode 100644 index 0000000..cb4cf7b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-Image + * + * This file is part of tc-lib-pdf-Image software library. + */ + +namespace Com\Tecnick\Pdf\Image; + +/** + * Com\Tecnick\Pdf\Image\Exception + * + * Custom Exception class + * + * @since 2011-05-23 + * @category Library + * @package PdfImage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-Image + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/src/Import.php b/vendor/tecnickcom/tc-lib-pdf-image/src/Import.php new file mode 100644 index 0000000..a260edb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/src/Import.php @@ -0,0 +1,583 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-pdf-image software library. + */ + +namespace Com\Tecnick\Pdf\Image; + +use Com\Tecnick\File\File; +use Com\Tecnick\Pdf\Image\Exception as ImageException; +use Com\Tecnick\Pdf\Image\Import\ImageImportInterface; + +/** + * Com\Tecnick\Pdf\Image\Import + * + * @since 2011-05-23 + * @category Library + * @package PdfImage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * @phpstan-type ImageBaseData array{ + * 'bits': int, + * 'channels': int, + * 'colspace': string, + * 'data': string, + * 'exturl': bool, + * 'file': string, + * 'filter': string, + * 'height': int, + * 'icc': string, + * 'ismask': bool, + * 'key': string, + * 'mapto': int, + * 'native': bool, + * 'obj': int, + * 'obj_alt': int, + * 'obj_icc': int, + * 'obj_pal': int, + * 'pal': string, + * 'parms': string, + * 'raw': string, + * 'recode': bool, + * 'recoded': bool, + * 'splitalpha': bool, + * 'trns': array, + * 'type': int, + * 'width': int, + * } + * + * @phpstan-type ImageRawData array{ + * 'bits': int, + * 'channels': int, + * 'colspace': string, + * 'data': string, + * 'exturl': bool, + * 'file': string, + * 'filter': string, + * 'height': int, + * 'icc': string, + * 'ismask': bool, + * 'key': string, + * 'mapto': int, + * 'mask'?: ImageBaseData, + * 'native': bool, + * 'obj': int, + * 'obj_alt': int, + * 'obj_icc': int, + * 'obj_pal': int, + * 'pal': string, + * 'parms': string, + * 'plain'?: ImageBaseData, + * 'raw': string, + * 'recode': bool, + * 'recoded': bool, + * 'splitalpha': bool, + * 'trns': array, + * 'type': int, + * 'width': int, + * } + * + * @SuppressWarnings("PHPMD.ExcessiveClassLength") + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +class Import extends \Com\Tecnick\Pdf\Image\Output +{ + /** + * Image index. + * Count the number of added images. + */ + protected int $iid = 0; + + /** + * Native image types and associated importing class. + * (Image types for which we have an import method). + * + * @var array + */ + private const NATIVE = [ + IMAGETYPE_PNG => 'Png', + IMAGETYPE_JPEG => 'Jpeg', + ]; + + /** + * Lossless image types. + * + * @var array + */ + protected const LOSSLESS = [ + IMAGETYPE_GIF, // 1 + IMAGETYPE_PNG, // 3 + IMAGETYPE_PSD, // 5 + IMAGETYPE_BMP, // 6 + IMAGETYPE_WBMP, // 15 + IMAGETYPE_XBM, // 16 + IMAGETYPE_TIFF_II, // 7 + IMAGETYPE_TIFF_MM, // 8 + IMAGETYPE_IFF, // 14 + IMAGETYPE_SWC, // 13 + IMAGETYPE_ICO, // 17 + ]; + + /** + * Map number of channels with color space name. + * + * @var array + */ + protected const COLSPACEMAP = [ + 1 => 'DeviceGray', + 3 => 'DeviceRGB', + 4 => 'DeviceCMYK', + ]; + + /** + * Add a new image. + * + * @param string $image Image file name, URL or a '@' character followed by the image data string. + * To link an image without embedding it on the document, set an asterisk + * character before the URL (i.e.: '*http://www.example.com/image.jpg'). + * @param ?int $width New width in pixels or null to keep the original value. + * @param ?int $height New height in pixels or null to keep the original value. + * @param bool $ismask True if the image is a transparency mask. + * @param int $quality Quality for JPEG files (0 = max compression; 100 = best quality, bigger file). + * @param bool $defprint Indicate if the image is the default + * for printing when used as alternative image. + * @param array $altimgs Arrays of alternate image keys. + * + * @return int Image ID. + */ + public function add( + string $image, + ?int $width = null, + ?int $height = null, + bool $ismask = false, + int $quality = 100, + bool $defprint = false, + array $altimgs = [] + ): int { + $data = $this->import($image, $width, $height, $ismask, $quality); + ++$this->iid; + $this->image[$this->iid] = [ + 'iid' => $this->iid, + 'key' => $data['key'], + 'width' => $data['width'], + 'height' => $data['height'], + 'defprint' => $defprint, + 'altimgs' => $altimgs, + ]; + return $this->iid; + } + + /** + * Get the Image key used for caching. + * + * @param string $image Image file name or content. + * @param int $width Width in pixels. + * @param int $height Height in pixels. + * @param int $quality Quality for JPEG files. + */ + public function getKey( + string $image, + int $width = 0, + int $height = 0, + int $quality = 100, + ): string { + return strtr( + rtrim( + base64_encode( + pack('H*', md5($image . $width . $height . $quality)) + ), + '=' + ), + '+/', + '-_' + ); + } + + /** + * Get an imported image by key. + * + * @param string $key Image key. + * + * @return ImageRawData Image raw data array. + */ + public function getImageDataByKey(string $key): array + { + if (empty($this->cache[$key])) { + throw new ImageException('Unknown key'); + } + + return $this->cache[$key]; + } + + /** + * Import the original image raw data. + * + * @param string $image Image file name, URL or a '@' character followed by the image data string. + * To link an image without embedding it on the document, set an asterisk + * character before the URL (i.e.: '*http://www.example.com/image.jpg'). + * @param ?int $width New width in pixels or null to keep the original value. + * @param ?int $height New height in pixels or null to keep the original value. + * @param bool $ismask True if the image is a transparency mask. + * @param int $quality Quality for JPEG files (0 = max compression; 100 = best quality, bigger file). + * + * @return ImageRawData Image raw data array + */ + protected function import( + string $image, + ?int $width = null, + ?int $height = null, + bool $ismask = false, + int $quality = 100, + ): array { + $quality = max(0, min(100, $quality)); + $imgkey = $this->getKey($image, (int) $width, (int) $height, $quality); + + if (isset($this->cache[$imgkey])) { + return $this->cache[$imgkey]; + } + + $data = $this->getRawData($image); + $data['key'] = $imgkey; + + if ($width === null) { + $width = $data['width']; + } + + $width = max(0, (int) $width); + + if ($height === null) { + $height = $data['height']; + } + + $height = max(0, (int) $height); + + if ((! $data['native']) || ($width != $data['width']) || ($height != $data['height'])) { + $data = $this->getResizedRawData($data, $width, $height, true, $quality); + } + + $data = $this->getData($data, $width, $height, $quality); + + if ($ismask) { + $data['mask'] = $data; + } elseif (! empty($data['splitalpha'])) { + // create 2 separate images: plain + mask + $rawdata = $data; + $data['plain'] = $this->getResizedRawData($rawdata, $width, $height, false, $quality); + $data['plain'] = $this->getData($data['plain'], $width, $height, $quality); + $data['mask'] = $this->getAlphaChannelRawData($rawdata); + $data['mask'] = $this->getData($data['mask'], $width, $height, $quality); + $data['mask']['colspace'] = 'DeviceGray'; + } + + // store data in cache + $this->cache[$imgkey] = $data; + return $data; + } + + /** + * Extract the relevant data from the image. + * + * @param ImageRawData $data Image raw data. + * @param int $width Width in pixels. + * @param int $height Height in pixels. + * @param int $quality Quality for JPEG files. + * + * @return ImageRawData Image raw data array. + */ + protected function getData( + array $data, + int $width, + int $height, + int $quality + ): array { + if (! $data['native']) { + throw new ImageException('Unable to import image'); + } + + $imageImport = $this->createImportImage($data); + $data = $imageImport->getData($data); + + if (! empty($data['recode'])) { + // re-encode the image as it was not possible to decode it + $data = $this->getResizedRawData($data, $width, $height, true, $quality); + $data = $imageImport->getData($data); + } + + return $data; + } + + /** + * @param array{ + * 'type': int, + * } $data Image raw data. + */ + private function createImportImage(array $data): ImageImportInterface + { + $class = '\\Com\\Tecnick\\Pdf\\Image\\Import\\' . self::NATIVE[$data['type']]; + return new $class(); + } + + /** + * Get the original image raw data. + * + * @param string $image Image file name, URL or a '@' character followed by the image data string. + * To link an image without embedding it on the document, set an asterisk character + * before the URL (i.e.: '*http://www.example.com/image.jpg'). + * + * @return ImageRawData Image data array. + */ + protected function getRawData(string $image): array + { + // default data to return + $data = [ + 'bits' => 8, // number of bits per channel + 'channels' => 3, // number of channels + 'colspace' => 'DeviceRGB', // color space + 'data' => '', // PDF image data + 'exturl' => false, // true if the image is an exernal URL that should not be embedded + 'file' => '', // source file name or URL + 'filter' => 'FlateDecode', // decoding filter + 'height' => 0, // image height in pixels + 'icc' => '', // ICC profile + 'ismask' => false, // true if the image is a transparency mask + 'key' => '', // image key + 'mapto' => IMAGETYPE_PNG, // type to convert to + 'native' => false, // true if the image is PNG or JPEG + 'obj' => 0, // PDF object number + 'obj_alt' => 0, + 'obj_icc' => 0, + 'obj_pal' => 0, + 'pal' => '', // colour palette + 'parms' => '', // additional PDF decoding parameters + 'raw' => '', // raw image data + 'recode' => false, + 'recoded' => false, + 'splitalpha' => false, + 'trns' => [], // colour key masking + 'type' => 0, // image type constant: IMAGETYPE_XXX + 'width' => 0, // image width in pixels + ]; + + if ($image === '' || ((($image[0] === '@') || ($image[0] === '*')) && (strlen($image) === 1))) { + throw new ImageException('Empty image'); + } + + if ($image[0] === '@') { // image from string + $data['raw'] = substr($image, 1); + return $this->getMetaData($data); + } + + if ($image[0] === '*') { // not-embedded external URL + $data['exturl'] = true; + $image = substr($image, 1); + } + + $data['file'] = $image; + $file = new File(); + $raw = $file->getFileData($image); + if ($raw === false) { + throw new ImageException('Unable to read image file: ' . $image); + } + + $data['raw'] = $raw; + + return $this->getMetaData($data); + } + + /** + * Get the image meta data. + * + * @param ImageBaseData $data Image raw data. + * + * @return ImageRawData Image raw data array. + */ + protected function getMetaData(array $data): array + { + try { + $meta = @getimagesizefromstring($data['raw']); + } catch (\Exception $exception) { + throw new ImageException('Invalid image format: ' . $exception); + } + + if ($meta === false) { + throw new ImageException('Invalid image format'); + } + + $data['width'] = $meta[0]; + $data['height'] = $meta[1]; + $data['type'] = $meta[2]; + $data['native'] = isset(self::NATIVE[$data['type']]); + $data['mapto'] = (in_array($data['type'], self::LOSSLESS) ? IMAGETYPE_PNG : IMAGETYPE_JPEG); + if (isset($meta['bits'])) { + $data['bits'] = $meta['bits']; + } + + if (isset($meta['channels']) && $meta['channels'] !== 0) { + $data['channels'] = (int) $meta['channels']; + } + + if (isset(self::COLSPACEMAP[$data['channels']])) { + $data['colspace'] = self::COLSPACEMAP[$data['channels']]; + } + + return $data; + } + + /** + * Get the resized image raw data + * (always convert the image type to a native format: PNG or JPEG). + * + * @param ImageBaseData $data Image raw data as returned by getImageRawData. + * @param int $width New width in pixels. + * @param int $height New height in pixels. + * @param bool $alpha If true save the alpha channel information, + * if false merge the alpha channel (PNG mode). + * @param int $quality Quality for JPEG files + * (0 = max compression; 100 = best quality, bigger file). + * + * @return ImageRawData Image raw data array. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + protected function getResizedRawData( + array $data, + int $width, + int $height, + bool $alpha = true, + int $quality = 100, + ): array { + if (($width <= 0) || ($height <= 0)) { + throw new ImageException('Image width and/or height are empty'); + } + + $img = imagecreatefromstring($data['raw']); + if ($img === false) { + throw new ImageException('Unable to create new image from string'); + } + + $newimg = imagecreatetruecolor($width, $height); + if ($newimg === false) { + throw new ImageException('Unable to create new resized image'); + } + + imageinterlace($newimg, false); + + if ($alpha) { + $trid = imagecolorallocate($newimg, 0, 0, 0); + if ($trid === false) { + throw new ImageException('Unable to allocate alpha color for transparency'); + } + imagecolortransparent($newimg, $trid); + } else { + $tid = imagecolortransparent($img); + $palsize = imagecolorstotal($img); + if (($tid >= 0) && ($palsize > 0) && ($tid < $palsize)) { + // set transparency for Indexed image + $tcol = imagecolorsforindex($img, $tid); + $trid = imagecolorallocate($newimg, $tcol['red'], $tcol['green'], $tcol['blue']); + if ($trid === false) { + throw new ImageException('Unable to allocate color for transparency'); + } + imagefill($newimg, 0, 0, $trid); + imagecolortransparent($newimg, $trid); + } + } + + imagealphablending($newimg, ! $alpha); + imagesavealpha($newimg, $alpha); + + imagecopyresampled($newimg, $img, 0, 0, 0, 0, $width, $height, $data['width'], $data['height']); + + ob_start(); + if ($data['mapto'] == IMAGETYPE_PNG) { + imagepng($newimg, null, 9, PNG_ALL_FILTERS); + } else { + imagejpeg($newimg, null, $quality); + } + $ogc = ob_get_clean(); + if ($ogc === false) { + throw new ImageException('Unable to extract alpha channel'); + } + + $data['raw'] = $ogc; + $data['exturl'] = false; + $data['recoded'] = true; + return $this->getMetaData($data); + } + + /** + * Extract the alpha channel as separate image to be used as a mask. + * + * @param ImageBaseData $data Image raw data as returned by getImageRawData. + * + * @return ImageRawData Image raw data array. + */ + protected function getAlphaChannelRawData(array $data): array + { + $img = imagecreatefromstring($data['raw']); + if ($img === false) { + throw new ImageException('Unable to create alpha channel image from string'); + } + + $newimg = imagecreate( + max(1, $data['width']), + max(1, $data['height']), + ); + if ($newimg === false) { + throw new ImageException('Unable to create new empty alpha channel image'); + } + + imageinterlace($newimg, false); + + // generate gray scale palette (0 -> 255) + for ($col = 0; $col < 256; ++$col) { + imagecolorallocate($newimg, $col, $col, $col); + } + + // extract alpha channel + for ($xpx = 0; $xpx < $data['width']; ++$xpx) { + for ($ypx = 0; $ypx < $data['height']; ++$ypx) { + $colindex = imagecolorat($img, $xpx, $ypx); + if ($colindex === false) { + throw new ImageException('Unable to extract alpha channel color index'); + } + + // get and correct gamma color + $color = imagecolorsforindex($img, $colindex); + // GD alpha is only 7 bit (0 -> 127); 2.2 is the gamma value + $alpha = (int) (((float) (127 - $color['alpha']) / 127) ** 2.2 * 255); + imagesetpixel($newimg, $xpx, $ypx, $alpha); + } + } + + ob_start(); + imagepng($newimg, null, 9, PNG_ALL_FILTERS); + $ogc = ob_get_clean(); + if ($ogc === false) { + throw new ImageException('Unable to extract alpha channel'); + } + + $data['raw'] = $ogc; + $data['channels'] = 1; + $data['colspace'] = 'DeviceGray'; + $data['exturl'] = false; + $data['recoded'] = true; + $data['ismask'] = true; + return $this->getMetaData($data); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/src/Import/ImageImportInterface.php b/vendor/tecnickcom/tc-lib-pdf-image/src/Import/ImageImportInterface.php new file mode 100644 index 0000000..c120596 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/src/Import/ImageImportInterface.php @@ -0,0 +1,42 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-pdf-image software library. + */ + +namespace Com\Tecnick\Pdf\Image\Import; + +/** + * Com\Tecnick\Pdf\Image\Import\Jpeg + * + * @since 2011-05-23 + * @category Library + * @package PdfImage + * @author jmleroux + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * @phpstan-import-type ImageBaseData from \Com\Tecnick\Pdf\Image\Import + */ +interface ImageImportInterface +{ + /** + * Extract data from an image. + * + * @param ImageBaseData $data Image raw data. + * + * @return ImageBaseData Image raw data array. + */ + public function getData(array $data): array; +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/src/Import/Jpeg.php b/vendor/tecnickcom/tc-lib-pdf-image/src/Import/Jpeg.php new file mode 100644 index 0000000..106f8c7 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/src/Import/Jpeg.php differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/src/Import/Png.php b/vendor/tecnickcom/tc-lib-pdf-image/src/Import/Png.php new file mode 100644 index 0000000..8313292 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/src/Import/Png.php @@ -0,0 +1,301 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-pdf-image software library. + */ + +namespace Com\Tecnick\Pdf\Image\Import; + +use Com\Tecnick\File\Byte; +use Com\Tecnick\Pdf\Image\Exception as ImageException; + +/** + * Com\Tecnick\Pdf\Image\Import\Png + * + * @since 2011-05-23 + * @category Library + * @package PdfImage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * @phpstan-import-type ImageBaseData from \Com\Tecnick\Pdf\Image\Import + */ +class Png implements ImageImportInterface +{ + /** + * Extract data from a PNG image. + * + * @param ImageBaseData $data Image raw data. + * + * @return ImageBaseData Image raw data array. + */ + public function getData(array $data): array + { + $data['filter'] = 'FlateDecode'; + $byte = new Byte($data['raw']); + + $offset = 0; + // check signature + if (substr($data['raw'], $offset, 8) !== chr(137) . 'PNG' . chr(13) . chr(10) . chr(26) . chr(10)) { + // @codeCoverageIgnoreStart + throw new ImageException('Not a PNG image'); + // @codeCoverageIgnoreEnd + } + + $offset += 8; + $offset += 4; + + $data = $this->getIhdrChunk($data, $offset); + + $offset += 3; + + // check compression, filter and interlacing settings + if ( + ($byte->getByte($offset - 3) != 0) + || ($byte->getByte($offset - 2) != 0) + || ($byte->getByte($offset - 1) != 0) + ) { + if (! empty($data['recoded'])) { + // this image has been already re-encoded + // @codeCoverageIgnoreStart + throw new ImageException('Unsupported feature'); + // @codeCoverageIgnoreEnd + } + + // re-encode PNG + $data['recode'] = true; + return $data; + } + + if (str_contains($data['colspace'], '+Alpha')) { + // alpha channel: split images (plain + alpha) + $data['splitalpha'] = true; + $data['colspace'] = substr($data['colspace'], 0, -6); + return $data; + } + + $data['parms'] = '/DecodeParms << /Predictor 15 /Colors ' . $data['channels'] + . ' /BitsPerComponent ' . $data['bits'] + . ' /Columns ' . $data['width'] + . ' >>'; + + $offset += 4; + return $this->getChunks($data, $offset); + } + + /** + * Extract the IHDR chunk data. + * + * The header chunk (IHDR) contains basic information about the image data and must appear as the first chunk, + * and there must only be one header chunk in a PNG data stream. + * + * @param ImageBaseData $data Image raw data. + * @param int $offset Current byte offset. + * + * @return ImageBaseData Image raw data array. + */ + protected function getIhdrChunk(array $data, int &$offset): array + { + $byte = new Byte($data['raw']); + if (substr($data['raw'], $offset, 4) != 'IHDR') { + // @codeCoverageIgnoreStart + throw new ImageException('Invalid PNG image'); + // @codeCoverageIgnoreEnd + } + + $offset += 4; + $data['width'] = $byte->getULong($offset); + $offset += 4; + $data['height'] = $byte->getULong($offset); + $offset += 4; + $data['bits'] = $byte->getByte($offset); + ++$offset; + $chc = $byte->getByte($offset); // channels code + ++$offset; + $data['channels'] = (($chc == 2) ? 3 : 1); + $chcmap = [ + 0 => 'DeviceGray', + 2 => 'DeviceRGB', + 3 => 'Indexed', + 4 => 'DeviceGray+Alpha', + 6 => 'DeviceRGB+Alpha', + ]; + if (isset($chcmap[$chc])) { + $data['colspace'] = $chcmap[$chc]; + } else { + // @codeCoverageIgnoreStart + throw new ImageException('Unknown color mode'); + // @codeCoverageIgnoreEnd + } + + return $data; + } + + /** + * Extract chunks data from a PNG image. + * + * @param ImageBaseData $data Image raw data. + * @param int $offset Current byte offset. + * + * @return ImageBaseData Image raw data array. + */ + protected function getChunks(array $data, int $offset): array + { + $byte = new Byte($data['raw']); + while (($len = $byte->getULong($offset)) >= 0) { + $offset += 4; + $type = substr($data['raw'], $offset, 4); + $offset += 4; + if ($type == 'PLTE') { + $data = $this->getPlteChunk($data, $offset, $len); + } elseif ($type == 'tRNS') { + $data = $this->getTrnsChunk($data, $offset, $len); + } elseif ($type == 'IDAT') { + $data = $this->getIdatChunk($data, $offset, $len); + } elseif ($type == 'iCCP') { + $data = $this->getIccpChunk($byte, $data, $offset, $len); + } elseif ($type == 'IEND') { + // The image trailer chunk (IEND) must be the final chunk + // and marks the end of the PNG file or data stream. + break; + } else { + $offset += $len; + $offset += 4; + } + } + + if (($data['colspace'] == 'Indexed') && (empty($data['pal']))) { + // @codeCoverageIgnoreStart + throw new ImageException('The color palette is missing'); + // @codeCoverageIgnoreEnd + } + + return $data; + } + + /** + * Extract the PLTE chunk data. + * + * The palette chunk (PLTE) stores the colormap data associated with the image data. + * This chunk is presentonly if the image data uses a color palette and must appear before the image data chunk. + * + * @param ImageBaseData $data Image raw data. + * @param int $offset Current byte offset. + * @param int $len NUmber of bytes in this chunk. + * + * @return ImageBaseData Image raw data array. + */ + protected function getPlteChunk(array $data, int &$offset, int $len): array + { + $data['pal'] = substr($data['raw'], $offset, $len); + $offset += $len; + $offset += 4; + return $data; + } + + /** + * Extract the tRNS chunk data. + * + * @param ImageBaseData $data Image raw data. + * @param int $offset Current byte offset. + * @param int $len NUmber of bytes in this chunk. + * + * @return ImageBaseData Image raw data array. + */ + protected function getTrnsChunk(array $data, int &$offset, int $len): array + { + // read transparency info + $trns = substr($data['raw'], $offset, $len); + $offset += $len; + if ($data['colspace'] == 'DeviceGray') { + // DeviceGray + $data['trns'][] = ord($trns[1]); + } elseif ($data['colspace'] == 'DeviceRGB') { + // DeviceRGB + $data['trns'][] = ord($trns[1]); + $data['trns'][] = ord($trns[3]); + $data['trns'][] = ord($trns[5]); + } else { + // Indexed + $data['trns'] = array_map('ord', str_split($trns)); + } + + $offset += 4; + return $data; + } + + /** + * Extract the IDAT chunk data. + * + * The image data chunk (IDAT) stores the actual image data, + * and multiple image data chunks may occur in a data stream and must be stored in contiguous order. + * + * @param ImageBaseData $data Image raw data. + * @param int $offset Current byte offset. + * @param int $len NUmber of bytes in this chunk. + * + * @return ImageBaseData Image raw data array. + */ + protected function getIdatChunk(array $data, int &$offset, int $len): array + { + $data['data'] .= substr($data['raw'], $offset, $len); + $offset += $len; + $offset += 4; + return $data; + } + + /** + * Extract the iCCP chunk data. + * + * @param Byte $byte Byte class object. + * @param ImageBaseData $data Image raw data. + * @param int $offset Current byte offset. + * @param int $len NUmber of bytes in this chunk. + * + * @return ImageBaseData Image raw data array. + */ + protected function getIccpChunk( + Byte $byte, + array $data, + int &$offset, + int $len, + ): array { + // skip profile name + $pos = 0; + while (($byte->getByte($offset++) != 0) && ($pos < 80)) { + ++$pos; + } + + // get compression method + if ($byte->getByte($offset++) != 0) { + // @codeCoverageIgnoreStart + throw new ImageException('Unknown filter method'); + // @codeCoverageIgnoreEnd + } + + // read ICC Color Profile + $len -= ($pos + 2); + $icc = gzuncompress(substr($data['raw'], $offset, $len)); + if ($icc !== false) { + $data['icc'] = $icc; + } else { + throw new ImageException('Error while decompressing ICC profile'); + } + + $offset += $len; + $offset += 4; + return $data; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/src/Output.php b/vendor/tecnickcom/tc-lib-pdf-image/src/Output.php new file mode 100644 index 0000000..37b95d8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/src/Output.php @@ -0,0 +1,472 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-pdf-image software library. + */ + +namespace Com\Tecnick\Pdf\Image; + +use Com\Tecnick\Pdf\Encrypt\Encrypt; +use Com\Tecnick\Pdf\Image\Exception as ImageException; + +/** + * Com\Tecnick\Pdf\Image\Output + * + * @since 2011-05-23 + * @category Library + * @package PdfImage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * @phpstan-import-type ImageBaseData from \Com\Tecnick\Pdf\Image\Import + * @phpstan-import-type ImageRawData from \Com\Tecnick\Pdf\Image\Import + * + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Output +{ + /** + * Current PDF object number. + */ + protected int $pon; + + /** + * Store image object IDs for the XObject Dictionary. + * + * @var array + */ + protected array $xobjdict = []; + + /** + * Stack of added images. + * + * @var array, + * }> + */ + protected array $image = []; + + /** + * Cache used to store imported image data. + * The same image data can be reused multiple times. + * + * @var array + */ + protected array $cache = []; + + /** + * Initialize images data. + * + * @param float $kunit Unit of measure conversion ratio. + * @param Encrypt $encrypt Encrypt object. + * @param bool $pdfa True if we are in PDF/A mode. + * @param bool $compress Set to false to disable stream compression. + */ + public function __construct( + protected float $kunit, + /** + * Encrypt object. + */ + protected Encrypt $encrypt, + protected bool $pdfa = false, + protected bool $compress = true + ) { + } + + /** + * Returns current PDF object number. + */ + public function getObjectNumber(): int + { + return $this->pon; + } + + /** + * Get the PDF output string to print the specified image ID. + * + * @param int $iid Image ID. + * @param float $xpos Abscissa (X coordinate) of the upper-left Image corner in user units. + * @param float $ypos Ordinate (Y coordinate) of the upper-left Image corner in user units. + * @param float $width Image width in user units. + * @param float $height Image height in user units. + * @param float $pageheight Page height in user units. + * + * @return string Image PDF page content. + */ + public function getSetImage( + int $iid, + float $xpos, + float $ypos, + float $width, + float $height, + float $pageheight + ): string { + if (empty($this->image[$iid])) { + throw new ImageException('Unknown image ID: ' . $iid); + } + + $out = 'q'; + $out .= sprintf( + ' %F 0 0 %F %F %F cm', + ($width * $this->kunit), + ($height * $this->kunit), + ($xpos * $this->kunit), + (($pageheight - $ypos - $height) * $this->kunit) // reverse coordinate + ); + + if (empty($this->cache[$this->image[$iid]['key']]['mask'])) { + return $out . ' /IMG' . $iid . ' Do Q' . "\n"; + } + + if (empty($this->cache[$this->image[$iid]['key']]['plain'])) { + return $out . ' /IMGmask' . $iid . ' Do Q' . "\n"; + } + + return $out . ' /IMGplain' . $iid . ' Do Q' . "\n"; + } + + /** + * Get the PDF output string for Images. + * + * @param int $pon Current PDF Object Number. + * + * @return string PDF code for the images block. + */ + public function getOutImagesBlock(int $pon): string + { + $this->pon = $pon; + $out = ''; + foreach ($this->image as $iid => $img) { + if (empty($this->cache[$img['key']]['out'])) { + if (empty($this->cache[$img['key']]['mask'])) { + $out .= $this->getOutImage($img, $this->cache[$img['key']]); + } else { + $out .= $this->getOutImage($img, $this->cache[$img['key']]['mask'], 'mask'); + if (!empty($this->cache[$img['key']]['plain'])) { + $out .= $this->getOutImage($img, $this->cache[$img['key']]['plain'], 'plain'); + } + } + + $this->image[$iid] = $img; + } + + if (empty($this->cache[$img['key']]['mask']['obj'])) { + $this->xobjdict['IMG' . $img['iid']] = $this->cache[$img['key']]['obj']; + } else { + if (empty($this->cache[$img['key']]['plain']['obj'])) { + $this->xobjdict['IMGmask' . $img['iid']] = $this->cache[$img['key']]['mask']['obj']; + } else { + $this->xobjdict['IMGplain' . $img['iid']] = $this->cache[$img['key']]['plain']['obj']; + } + } + } + + return $out; + } + + /** + * Get the PDF output string for Image object. + * + * @param array{ + * 'iid': int, + * 'key': string, + * 'width': int, + * 'height': int, + * 'defprint': bool, + * 'altimgs'?: array, + * } $img Image reference. + * @param ImageBaseData $data Image raw data. + * @param string $sub Sub image ('mask', 'plain' or empty string). + * + * @return string PDF Image object. + */ + protected function getOutImage( + array &$img, + array &$data, + string $sub = '', + ): string { + $out = $this->getOutIcc($data) + . $this->getOutPalette($data) + . $this->getOutAltImages($img, $data, $sub); + + $data['obj'] = ++$this->pon; + + $out .= $data['obj'] . ' 0 obj' . "\n" + . '<<' + . ' /Type /XObject' + . ' /Subtype /Image' + . ' /Width ' . $data['width'] + . ' /Height ' . $data['height'] + . $this->getOutColorInfo($data); + + if (! empty($data['exturl'])) { + // external stream + $out .= ' /Length 0 /F' + . ' <<' + . ' /FS /URL /F ' + . $this->encrypt->escapeDataString(empty($data['exturl']) ? 'false' : 'true', $this->pon) + . ' >>'; + if (! empty($data['filter'])) { + $out .= ' /FFilter /' . $data['filter']; + } + + $out .= ' >>' . "\n"; + } else { + if (! empty($data['filter'])) { + $out .= ' /Filter /' . $data['filter']; + } + + if (! empty($data['parms'])) { + $out .= ' ' . $data['parms']; + } + + // Colour Key Masking + if (! empty($data['trns'])) { + $trns = $this->getOutTransparency($data); + if ($trns !== '') { + $out .= ' /Mask [ ' . $trns . ']'; + } + } + + $stream = $this->encrypt->encryptString($data['data'], $this->pon); + $out .= ' /Length ' . strlen($stream) + . '>> stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n"; + } + + $out .= 'endobj' . "\n"; + + $this->cache[$img['key']]['out'] = true; // mark this as done + + return $out; + } + + /** + * Return XObjects Dictionary portion for the images. + */ + public function getXobjectDict(): string + { + $out = ''; + foreach ($this->xobjdict as $iid => $objid) { + $out .= ' /' . $iid . ' ' . $objid . ' 0 R'; + } + + return $out; + } + + /** + * Return XObjects Dictionary. + * + * @param array $keys Image IDs. + */ + public function getXobjectDictByKeys(array $keys): string + { + if (empty($keys)) { + return ''; + } + + $out = ''; + + foreach ($keys as $iid) { + $key = 'IMG' . $iid; + if (!empty($this->xobjdict[$key])) { + $out .= ' /' . $key . ' ' . $this->xobjdict[$key] . ' 0 R'; + continue; + } + $key = 'IMGplain' . $iid; + if (!empty($this->xobjdict[$key])) { + $out .= ' /' . $key . ' ' . $this->xobjdict[$key] . ' 0 R'; + continue; + } + $key = 'IMGmask' . $iid; + if (!empty($this->xobjdict[$key])) { + $out .= ' /' . $key . ' ' . $this->xobjdict[$key] . ' 0 R'; + continue; + } + } + + return $out; + } + + /** + * Get the PDF output string for ICC object. + * + * @param ImageBaseData $data Image raw data. + */ + protected function getOutIcc(array &$data): string + { + if (empty($data['icc'])) { + return ''; + } + + $data['obj_icc'] = ++$this->pon; + $out = $data['obj_icc'] . ' 0 obj' . "\n" + . '<<' + . ' /N ' . $data['channels'] + . ' /Alternate /' . $data['colspace']; + $icc = $data['icc']; + if ($this->compress) { + $out .= ' /Filter /FlateDecode'; + $cicc = gzcompress($icc); + if ($cicc !== false) { + $icc = $cicc; + } + } + + $stream = $this->encrypt->encryptString($icc, $this->pon); + return $out . (' /Length ' . strlen($stream) + . ' >>' + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"); + } + + /** + * Get the PDF output string for Indexed palette object. + * + * @param ImageBaseData $data Image raw data. + */ + protected function getOutPalette(array &$data): string + { + if ($data['colspace'] != 'Indexed') { + return ''; + } + + $data['obj_pal'] = ++$this->pon; + $out = $data['obj_pal'] . ' 0 obj' . "\n" + . '<<'; + $pal = $data['pal']; + if ($this->compress) { + $out .= '/Filter /FlateDecode'; + $cpal = gzcompress($pal); + if ($cpal !== false) { + $pal = $cpal; + } + } + + $stream = $this->encrypt->encryptString($pal, $this->pon); + return $out . (' /Length ' . strlen($stream) + . '>>' + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"); + } + + /** + * Get the PDF output string for color and mask information. + * + * @param ImageBaseData $data Image raw data. + */ + protected function getOutColorInfo(array $data): string + { + $out = ''; + // set color space + if (! empty($data['obj_icc'])) { + // ICC Colour Space + $out .= ' /ColorSpace [/ICCBased ' . $data['obj_icc'] . ' 0 R]'; + } elseif (! empty($data['obj_pal'])) { + // Indexed Colour Space + $out .= ' /ColorSpace [/Indexed /DeviceRGB ' + . ((strlen($data['pal']) / 3) - 1) + . ' ' . $data['obj_pal'] . ' 0 R]'; + } else { + // Device Colour Space + $out .= ' /ColorSpace /' . $data['colspace']; + } + + if ($data['colspace'] == 'DeviceCMYK') { + $out .= ' /Decode [1 0 1 0 1 0 1 0]'; + } + + $out .= ' /BitsPerComponent ' . $data['bits']; + + if (! $data['ismask'] && ! empty($this->cache[$data['key']]['mask']['obj'])) { + $out .= ' /SMask ' . $this->cache[$data['key']]['mask']['obj'] . ' 0 R'; + } + + if (! empty($data['obj_alt'])) { + // reference to alternate images dictionary + $out .= ' /Alternates ' . $data['obj_alt'] . ' 0 R'; + } + + return $out; + } + + /** + * Get the PDF output string for Alternate images object. + * + * @param array{ + * 'iid': int, + * 'key': string, + * 'width': int, + * 'height': int, + * 'defprint': bool, + * 'altimgs'?: array, + * } $img Image reference. + * @param ImageBaseData $data Image raw data. + * @param string $sub Sub image ('mask', 'plain' or empty string). + */ + protected function getOutAltImages( + array $img, + array &$data, + string $sub = '', + ): string { + if ($this->pdfa || empty($img['altimgs']) || ($sub == 'mask')) { + return ''; + } + + $data['obj_alt'] = ++$this->pon; + + $out = $this->pon . ' 0 obj' . "\n" + . '['; + foreach ($img['altimgs'] as $iid) { + if (! empty($this->cache[$this->image[$iid]['key']]['obj'])) { + $out .= ' << /Image ' . $this->cache[$this->image[$iid]['key']]['obj'] . ' 0 R' + . ' /DefaultForPrinting ' . (empty($this->image[$iid]['defprint']) ? 'false' : 'true') + . ' >>'; + } + } + + return $out . (' ]' . "\n" + . 'endobj' . "\n"); + } + + /** + * Get the PDF output string for color and mask information. + * + * @param array{ + * 'trns': array, + * } $data Image raw data. + */ + protected function getOutTransparency(array $data): string + { + $trns = ''; + foreach ($data['trns'] as $idx => $val) { + if ($val == 0) { + $trns .= $idx . ' ' . $idx . ' '; + } + } + + return $trns; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/ImportTest.php b/vendor/tecnickcom/tc-lib-pdf-image/test/ImportTest.php new file mode 100644 index 0000000..90475f2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/test/ImportTest.php @@ -0,0 +1,231 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-pdf-image software library. + */ + +namespace Test; + +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Unit Test + * + * @since 2011-05-23 + * @category Library + * @package PdfImage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + */ +class ImportTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Image\Import + { + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(); + return new \Com\Tecnick\Pdf\Image\Import(0.75, $encrypt, false); + } + + public function testGetKey(): void + { + $import = $this->getTestObject(); + $result = $import->getKey('/images/200x100_RGB.png', 200, 100, 100); + $this->assertEquals('6EvJjr-KnDm4EnAWVt-7wQ', $result); + } + + public function testGetImageDataByKeyError(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Image\Exception::class); + $import = $this->getTestObject(); + $import->getImageDataByKey('missing'); + } + + public function testGetSetImageError(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Image\Exception::class); + $import = $this->getTestObject(); + $import->getSetImage(1, 2, 3, 5, 7, 17); + } + + /** + * @return array> + */ + public static function getBadAddValues(): array + { + return [ + [''], + [__DIR__ . '/images/missing.png'], + ['@'], + ['@garbage'], + ['*'], + ['*http://www.example.com/image.png'], + ]; + } + + #[DataProvider('getBadAddValues')] + public function testAddError(string $bad): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Image\Exception::class); + $import = $this->getTestObject(); + $import->add($bad); + } + + public function testAdd(): void + { + $import = $this->getTestObject(); + $iid = $import->add(__DIR__ . '/images/200x100_RGB.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG1 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_GRAY.jpg'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG2 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_GRAY.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG3 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_INDEX16.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG4 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_INDEX256.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG5 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGB.jpg'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG6 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGB.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG7 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGBALPHA.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMGplain8 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_INDEXALPHA.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG9 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + // resize + + $iid = $import->add(__DIR__ . '/images/200x100_RGB.png', 100, 50, true, 75, true); + $this->assertEquals( + 'q 75.000000 0 0 37.500000 2.250000 408.750000 cm /IMGmask10 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 100, 50, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGBALPHA.png', 100, 50, true, 75, true); + $this->assertEquals( + 'q 75.000000 0 0 37.500000 2.250000 408.750000 cm /IMGmask11 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 100, 50, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_INDEXALPHA.png', 100, 50, true, 75, true); + $this->assertEquals( + 'q 75.000000 0 0 37.500000 2.250000 408.750000 cm /IMGmask12 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 100, 50, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGB.jpg', 100, 50, false, 75, true, [1, 2, 3]); + $this->assertEquals( + 'q 75.000000 0 0 37.500000 2.250000 408.750000 cm /IMG13 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 100, 50, 600) + ); + + // ICC + + $iid = $import->add(__DIR__ . '/images/200x100_RGBICC.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG14 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGBICC.jpg'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG15 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_RGBINT.png'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMGplain16 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $iid = $import->add(__DIR__ . '/images/200x100_CMYK.jpg'); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG17 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + $key = $import->getKey(__DIR__ . '/images/200x100_INDEX256.png'); + $data = $import->getImageDataByKey($key); + $this->assertEquals($key, $data['key']); + + $iid = $import->add('@' . $data['raw']); + $this->assertEquals( + 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG18 Do Q' . "\n", + $import->getSetImage($iid, 3, 5, 200, 100, 600) + ); + + // disabled because of libpngerror + // $iid = $testObj->add('*http://localhost:8000/200x100_INDEX16.png'); + // $this->assertEquals( + // 'q 150.000000 0 0 75.000000 2.250000 371.250000 cm /IMG18 Do Q' . "\n", + // $testObj->getSetImage($iid, 3, 5, 200, 100, 600) + // ); + + $out = $import->getOutImagesBlock(10); + $this->assertNotEmpty($out); + + $this->assertEquals(37, $import->getObjectNumber()); + + $xobjectDict = $import->getXobjectDict(); + $this->assertEquals( + ' /IMG1 11 0 R /IMG2 12 0 R /IMG3 13 0 R /IMG4 15 0 R' + . ' /IMG5 17 0 R /IMG6 18 0 R /IMG7 11 0 R /IMGplain8 20 0 R' + . ' /IMG9 22 0 R /IMGmask10 23 0 R /IMGmask11 24 0 R' + . ' /IMGmask12 25 0 R /IMG13 27 0 R /IMG14 29 0 R' + . ' /IMG15 31 0 R /IMGplain16 33 0 R /IMG17 35 0 R /IMG18 37 0 R', + $xobjectDict + ); + + $xdByKeys = $import->getXobjectDictByKeys([2,3]); + $this->assertEquals( + ' /IMG2 12 0 R /IMG3 13 0 R', + $xdByKeys + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/TestUtil.php b/vendor/tecnickcom/tc-lib-pdf-image/test/TestUtil.php new file mode 100644 index 0000000..71c46a5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-image/test/TestUtil.php @@ -0,0 +1,41 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Web Color class test + * + * @since 2020-12-19 + * @category Library + * @package PdfImage + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-image + */ +class TestUtil extends TestCase +{ + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_CMYK.jpg b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_CMYK.jpg new file mode 100644 index 0000000..f16d6be Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_CMYK.jpg differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_GRAY.jpg b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_GRAY.jpg new file mode 100644 index 0000000..25f052d Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_GRAY.jpg differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_GRAY.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_GRAY.png new file mode 100644 index 0000000..8d366dd Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_GRAY.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEX16.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEX16.png new file mode 100644 index 0000000..c81f9ba Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEX16.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEX256.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEX256.png new file mode 100644 index 0000000..029d840 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEX256.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEXALPHA.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEXALPHA.png new file mode 100644 index 0000000..ee51d55 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_INDEXALPHA.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGB.jpg b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGB.jpg new file mode 100644 index 0000000..b550aa3 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGB.jpg differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGB.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGB.png new file mode 100644 index 0000000..295d228 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGB.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBALPHA.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBALPHA.png new file mode 100644 index 0000000..50f894e Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBALPHA.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBICC.jpg b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBICC.jpg new file mode 100644 index 0000000..63e3567 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBICC.jpg differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBICC.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBICC.png new file mode 100644 index 0000000..077d300 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBICC.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBINT.png b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBINT.png new file mode 100644 index 0000000..51e5e1c Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf-image/test/images/200x100_RGBINT.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.editorconfig b/vendor/tecnickcom/tc-lib-pdf-page/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-pdf-page/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-pdf-page/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-pdf-page/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-pdf-page/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-pdf-page/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/.gitignore b/vendor/tecnickcom/tc-lib-pdf-page/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-pdf-page/CODEOWNERS b/vendor/tecnickcom/tc-lib-pdf-page/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-pdf-page/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-pdf-page/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-pdf-page/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/LICENSE b/vendor/tecnickcom/tc-lib-pdf-page/LICENSE new file mode 100644 index 0000000..66af295 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-pdf-page +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-pdf-page/Makefile b/vendor/tecnickcom/tc-lib-pdf-page/Makefile new file mode 100644 index 0000000..883f05b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/Makefile @@ -0,0 +1,277 @@ +# makefile +# +# @since 2015-05-14 +# @category Library +# @package PdfPage +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf-page +# +# This file is part of tc-lib-pdf-page software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf-page + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Pdf/Page/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-pdf-page/README.md b/vendor/tecnickcom/tc-lib-pdf-page/README.md new file mode 100644 index 0000000..2ca5296 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/README.md @@ -0,0 +1,109 @@ +# tc-lib-pdf-page +*PHP library containing PDF page formats and definitions* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-pdf-page/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-page) +![Build](https://github.com/tecnickcom/tc-lib-pdf-page/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-pdf-page/graph/badge.svg?token=F6CPFHI3ED)](https://codecov.io/gh/tecnickcom/tc-lib-pdf-page) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-pdf-page/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-page) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-pdf-page/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-pdf-page) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Pdf\Page +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-pdf-page +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf-page + +## Description + +PHP library containing PDF page formats and definitions. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-pdf-page": "^4.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-pdf-page ^4.0 +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Pdf/Page/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-pdf-page/RELEASE b/vendor/tecnickcom/tc-lib-pdf-page/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-pdf-page/SECURITY.md b/vendor/tecnickcom/tc-lib-pdf-page/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/VERSION b/vendor/tecnickcom/tc-lib-pdf-page/VERSION new file mode 100644 index 0000000..a50236a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/VERSION @@ -0,0 +1 @@ +4.2.12 diff --git a/vendor/tecnickcom/tc-lib-pdf-page/composer.json b/vendor/tecnickcom/tc-lib-pdf-page/composer.json new file mode 100644 index 0000000..23b517c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/composer.json @@ -0,0 +1,41 @@ +{ + "name": "tecnickcom/tc-lib-pdf-page", + "description": "PHP library containing PDF page formats and definitions", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-pdf-page", + "PDF", + "page", + "format" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-date": "*", + "ext-zlib": "*", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\Page\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-pdf-page/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/phpcs.xml b/vendor/tecnickcom/tc-lib-pdf-page/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-page/phpstan.neon b/vendor/tecnickcom/tc-lib-pdf-page/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-pdf-page/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-pdf-page/phpunit.xml.dist new file mode 100644 index 0000000..90938a4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/autoload.php b/vendor/tecnickcom/tc-lib-pdf-page/resources/autoload.php new file mode 100644 index 0000000..06a88b0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(dirname(__DIR__)).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/changelog b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/compat b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/control b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/control new file mode 100644 index 0000000..450a4cf --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-date, php-zip, php-tecnickcom-tc-lib-color (<< 3.0.0), php-tecnickcom-tc-lib-color (>= 2.2.13), php-tecnickcom-tc-lib-pdf-encrypt (<< 3.0.0), php-tecnickcom-tc-lib-pdf-encrypt (>= 2.1.16), ${misc:Depends} +Description: PHP PDF Page Library + PHP library containing PDF page formats and definitions. diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/copyright b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/rules b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/source/format b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf-page/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-pdf-page/resources/rpm/rpm.spec new file mode 100644 index 0000000..60701f0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/resources/rpm/rpm.spec @@ -0,0 +1,54 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library containing PDF page formats and definitions + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-date +Requires: php-zlib +Requires: php-composer(%{c_vendor}/tc-lib-color) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-color) >= 2.2.13 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1.16 + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library containing PDF page formats and definitions + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Thu Jul 02 2024 Nicola Asuni 1.1.0-1 +- Changed package name, add provides section +* Thu May 14 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Box.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Box.php new file mode 100644 index 0000000..1c7f3a2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Box.php @@ -0,0 +1,392 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +use Com\Tecnick\Color\Pdf as Color; +use Com\Tecnick\Pdf\Page\Exception as PageException; + +/** + * Com\Tecnick\Pdf\Page\Box + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * @phpstan-type PageBci array{ + * 'color': string, + * 'width': float, + * 'style': string, + * 'dash': array, + * } + * + * @phpstan-type PageBox array{ + * 'llx': float, + * 'lly': float, + * 'urx': float, + * 'ury': float, + * 'bci'?: PageBci, + * } + * + * @phpstan-type MarginData array{ + * 'CB': float, + * 'CT': float, + * 'FT': float, + * 'HB': float, + * 'PB': float, + * 'PL': float, + * 'PR': float, + * 'PT': float, + * } + * + * @phpstan-type RegionData array{ + * 'RB': float, + * 'RH': float, + * 'RL': float, + * 'RR': float, + * 'RT': float, + * 'RW': float, + * 'RX': float, + * 'RY': float, + * 'x' : float, + * 'y' : float, + * } + * + + * @phpstan-type TransitionData array{ + * 'B': bool, + * 'D': int, + * 'Di': string|int, + * 'Dm': string, + * 'Dur': float, + * 'M': string, + * 'S': string, + * 'SS': float, + * } + * + * @phpstan-type PageData array{ + * 'annotrefs': array, + * 'autobreak': bool, + * 'box': array, + * 'columns': int, + * 'content': array, + * 'content_mark': array, + * 'ContentHeight': float, + * 'ContentWidth': float, + * 'FooterHeight': float, + * 'HeaderHeight': float, + * 'currentRegion': int, + * 'format': string, + * 'group': int, + * 'height': float, + * 'margin': MarginData, + * 'n': int, + * 'num': int, + * 'orientation': string, + * 'pagenum': int, + * 'pheight': float, + * 'pid': int, + * 'pwidth': float, + * 'region': array, + * 'rotation': int, + * 'time': int, + * 'transition': TransitionData, + * 'width': float, + * 'zoom': float, + * } + * + * @phpstan-type PageInputData array{ + * 'annotrefs'?: array, + * 'autobreak'?: bool, + * 'box'?: array, + * }, + * }>, + * 'columns'?: int, + * 'content'?: array, + * 'content_mark'?: array, + * 'ContentHeight'?: float, + * 'ContentWidth'?: float, + * 'FooterHeight'?: float, + * 'HeaderHeight'?: float, + * 'currentRegion'?: int, + * 'format'?: string, + * 'group'?: int, + * 'height'?: float, + * 'margin'?: array{ + * 'booklet'?: bool, + * 'CB'?: float, + * 'CT'?: float, + * 'FT'?: float, + * 'HB'?: float, + * 'PB'?: float, + * 'PL'?: float, + * 'PR'?: float, + * 'PT'?: float, + * }, + * 'n'?: int, + * 'num'?: int, + * 'orientation'?: string, + * 'pagenum'?: int, + * 'pheight'?: float, + * 'pid'?: int, + * 'pwidth'?: float, + * 'region'?: array, + * 'rotation'?: int, + * 'time'?: int, + * 'transition'?: array{ + * 'B'?: bool, + * 'D'?: int, + * 'Di'?: string|int, + * 'Dm'?: string, + * 'Dur'?: float, + * 'M'?: string, + * 'S'?: string, + * 'SS'?: float, + * }, + * 'width'?: float, + * 'zoom'?: float, + * } + */ +abstract class Box extends \Com\Tecnick\Pdf\Page\Mode +{ + /** + * Unit of measure conversion ratio. + */ + protected float $kunit = 1.0; + + /** + * Color object. + */ + protected Color $col; + + /** + * Page box names. + * + * @var array + */ + public const BOX = [ + 'MediaBox', + 'CropBox', + 'BleedBox', + 'TrimBox', + 'ArtBox', + ]; + + /** + * Swap X and Y coordinates of page boxes (change page boxes orientation). + * + * @param array $dims Array of page dimensions. + * + * @return array Page dimensions. + */ + public function swapCoordinates(array $dims): array + { + foreach (self::BOX as $type) { + // swap X and Y coordinates + if (isset($dims[$type])) { + $tmp = $dims[$type]['llx']; + $dims[$type]['llx'] = $dims[$type]['lly']; + $dims[$type]['lly'] = $tmp; + $tmp = $dims[$type]['urx']; + $dims[$type]['urx'] = $dims[$type]['ury']; + $dims[$type]['ury'] = $tmp; + } + } + + return $dims; + } + + /** + * Set page boundaries. + * + * @param array $dims Array of page dimensions to modify. + * @param string $type Box type: MediaBox, CropBox, BleedBox, TrimBox, ArtBox. + * @param float $llx Lower-left x coordinate in user units. + * @param float $lly Lower-left y coordinate in user units. + * @param float $urx Upper-right x coordinate in user units. + * @param float $ury Upper-right y coordinate in user units. + * @param PageBci $bci BoxColorInfo: guideline style (color, width, style, dash). + * + * @return array Page dimensions. + */ + public function setBox( + array $dims, + string $type, + float $llx, + float $lly, + float $urx, + float $ury, + ?array $bci = null, + ): array { + if ($dims === []) { + // initialize array + $dims = []; + } + + if (! in_array($type, self::BOX)) { + throw new PageException('unknown page box type: ' . $type); + } + + $dims[$type]['llx'] = $llx; + $dims[$type]['lly'] = $lly; + $dims[$type]['urx'] = $urx; + $dims[$type]['ury'] = $ury; + + if ($bci === null) { + // set default values + $bci = [ + 'color' => '#000000', + 'width' => (1.0 / $this->kunit), + 'style' => 'S', // S = solid; D = dash + 'dash' => [3], + ]; + } + + $dims[$type]['bci'] = $bci; + + return $dims; + } + + /** + * Initialize page boxes. + * + * @param float $width Page width in points. + * @param float $height Page height in points. + * + * @return array Page boxes. + */ + public function setPageBoxes(float $width, float $height): array + { + $dims = []; + foreach (self::BOX as $type) { + $dims = $this->setBox($dims, $type, 0, 0, $width, $height); + } + + return $dims; + } + + /** + * Returns the PDF command to output the specified page boxes. + * + * @param array $dims Array of page dimensions. + */ + protected function getBox(array $dims): string + { + $out = ''; + foreach (self::BOX as $box) { + if (empty($dims[$box])) { + // @codeCoverageIgnoreStart + continue; + // @codeCoverageIgnoreEnd + } + + $out .= '/' . $box . ' [' . sprintf( + '%F %F %F %F', + $dims[$box]['llx'], + $dims[$box]['lly'], + $dims[$box]['urx'], + $dims[$box]['ury'] + ) . ']' . "\n"; + } + + return $out; + } + + /** + * Returns the PDF command to output the specified page BoxColorInfo. + * + * @param array $dims Array of page dimensions. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function getBoxColorInfo(array $dims): string + { + $out = '/BoxColorInfo <<' . "\n"; + foreach (self::BOX as $box) { + if (empty($dims[$box])) { + continue; + } + + $out .= '/' . $box . ' <<' . "\n"; + if (! empty($dims[$box]['bci']['color'])) { + $out .= '/C [' . $this->col->getPdfRgbComponents($dims[$box]['bci']['color']) . ']' . "\n"; + } + + if (! empty($dims[$box]['bci']['width'])) { + $out .= '/W ' . sprintf('%F', ($dims[$box]['bci']['width'] * $this->kunit)) . "\n"; + } + + if (! empty($dims[$box]['bci']['style'])) { + $mode = strtoupper($dims[$box]['bci']['style'][0]); + if ($mode !== 'D') { + $mode = 'S'; + } + + $out .= '/S /' . $mode . "\n"; + } + + if (! empty($dims[$box]['bci']['dash'])) { + $out .= '/D ['; + foreach ($dims[$box]['bci']['dash'] as $dash) { + $out .= sprintf(' %F', ((float) $dash * $this->kunit)); + } + + $out .= ' ]' . "\n"; + } + + $out .= '>>' . "\n"; + } + + return $out . ('>>' . "\n"); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Exception.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Exception.php new file mode 100644 index 0000000..06453ed --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +/** + * Com\Tecnick\Pdf\Page\Exception + * + * Custom Exception class. + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Format.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Format.php new file mode 100644 index 0000000..feb3ce5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Format.php @@ -0,0 +1,574 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +use Com\Tecnick\Pdf\Page\Exception as PageException; + +/** + * Com\Tecnick\Pdf\Page\Format + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +abstract class Format +{ + /** + * Array of conversion ratios relative to points. + * 72 is the default DPI (Dot Per Inch) document resolution. + * + * @var array + */ + public const UNITRATIO = [ + '' => 1.0, // default to points + 'px' => 1.0, + 'pt' => 1.0, + 'points' => 1.0, + 'millimeters' => 2.83464566929134, // (72 / 25.4) + 'mm' => 2.83464566929134, // (72 / 25.4) + 'centimeters' => 28.3464566929134, // (72 / 2.54) + 'cm' => 28.3464566929134, // (72 / 2.54) + 'inches' => 72.0, + 'in' => 72.0, + ]; + + /** + * Array of page formats (width, height). + * Measures are calculated in this way: (inches * 72) or (millimeters * 72 / 25.4) + * + * @var array + */ + public const FORMAT = [ + // ISO 216 A Series + 2 SIS 014711 extensions + 'A0' => [2383.937, 3370.394], // = ( 841 x 1189 ) mm = ( 33.11 x 46.81 ) in + 'A1' => [1683.780, 2383.937], // = ( 594 x 841 ) mm = ( 23.39 x 33.11 ) in + 'A2' => [1190.551, 1683.780], // = ( 420 x 594 ) mm = ( 16.54 x 23.39 ) in + 'A3' => [841.890, 1190.551], // = ( 297 x 420 ) mm = ( 11.69 x 16.54 ) in + 'A4' => [595.276, 841.890], // = ( 210 x 297 ) mm = ( 8.27 x 11.69 ) in + 'A5' => [419.528, 595.276], // = ( 148 x 210 ) mm = ( 5.83 x 8.27 ) in + 'A6' => [297.638, 419.528], // = ( 105 x 148 ) mm = ( 4.13 x 5.83 ) in + 'A7' => [209.764, 297.638], // = ( 74 x 105 ) mm = ( 2.91 x 4.13 ) in + 'A8' => [147.402, 209.764], // = ( 52 x 74 ) mm = ( 2.05 x 2.91 ) in + 'A9' => [104.882, 147.402], // = ( 37 x 52 ) mm = ( 1.46 x 2.05 ) in + 'A10' => [73.701, 104.882], // = ( 26 x 37 ) mm = ( 1.02 x 1.46 ) in + 'A11' => [51.024, 73.701], // = ( 18 x 26 ) mm = ( 0.71 x 1.02 ) in + 'A12' => [36.850, 51.024], // = ( 13 x 18 ) mm = ( 0.51 x 0.71 ) in + // ISO 216 B Series + 2 SIS 014711 extensions + 'B0' => [2834.646, 4008.189], // = ( 1000 x 1414 ) mm = ( 39.37 x 55.67 ) in + 'B1' => [2004.094, 2834.646], // = ( 707 x 1000 ) mm = ( 27.83 x 39.37 ) in + 'B2' => [1417.323, 2004.094], // = ( 500 x 707 ) mm = ( 19.69 x 27.83 ) in + 'B3' => [1000.630, 1417.323], // = ( 353 x 500 ) mm = ( 13.90 x 19.69 ) in + 'B4' => [708.661, 1000.630], // = ( 250 x 353 ) mm = ( 9.84 x 13.90 ) in + 'B5' => [498.898, 708.661], // = ( 176 x 250 ) mm = ( 6.93 x 9.84 ) in + 'B6' => [354.331, 498.898], // = ( 125 x 176 ) mm = ( 4.92 x 6.93 ) in + 'B7' => [249.449, 354.331], // = ( 88 x 125 ) mm = ( 3.46 x 4.92 ) in + 'B8' => [175.748, 249.449], // = ( 62 x 88 ) mm = ( 2.44 x 3.46 ) in + 'B9' => [124.724, 175.748], // = ( 44 x 62 ) mm = ( 1.73 x 2.44 ) in + 'B10' => [87.874, 124.724], // = ( 31 x 44 ) mm = ( 1.22 x 1.73 ) in + 'B11' => [62.362, 87.874], // = ( 22 x 31 ) mm = ( 0.87 x 1.22 ) in + 'B12' => [42.520, 62.362], // = ( 15 x 22 ) mm = ( 0.59 x 0.87 ) in + // ISO 216 C Series + 2 SIS 014711 extensions + 5 EXTENSION + 'C0' => [2599.370, 3676.535], // = ( 917 x 1297 ) mm = ( 36.10 x 51.06 ) in + 'C1' => [1836.850, 2599.370], // = ( 648 x 917 ) mm = ( 25.51 x 36.10 ) in + 'C2' => [1298.268, 1836.850], // = ( 458 x 648 ) mm = ( 18.03 x 25.51 ) in + 'C3' => [918.425, 1298.268], // = ( 324 x 458 ) mm = ( 12.76 x 18.03 ) in + 'C4' => [649.134, 918.425], // = ( 229 x 324 ) mm = ( 9.02 x 12.76 ) in + 'C5' => [459.213, 649.134], // = ( 162 x 229 ) mm = ( 6.38 x 9.02 ) in + 'C6' => [323.150, 459.213], // = ( 114 x 162 ) mm = ( 4.49 x 6.38 ) in + 'C7' => [229.606, 323.150], // = ( 81 x 114 ) mm = ( 3.19 x 4.49 ) in + 'C8' => [161.575, 229.606], // = ( 57 x 81 ) mm = ( 2.24 x 3.19 ) in + 'C9' => [113.386, 161.575], // = ( 40 x 57 ) mm = ( 1.57 x 2.24 ) in + 'C10' => [79.370, 113.386], // = ( 28 x 40 ) mm = ( 1.10 x 1.57 ) in + 'C11' => [56.693, 79.370], // = ( 20 x 28 ) mm = ( 0.79 x 1.10 ) in + 'C12' => [39.685, 56.693], // = ( 14 x 20 ) mm = ( 0.55 x 0.79 ) in + 'C76' => [229.606, 459.213], // = ( 81 x 162 ) mm = ( 3.19 x 6.38 ) in + 'DL' => [311.811, 623.622], // = ( 110 x 220 ) mm = ( 4.33 x 8.66 ) in + 'DLE' => [323.150, 637.795], // = ( 114 x 225 ) mm = ( 4.49 x 8.86 ) in + 'DLX' => [340.158, 666.142], // = ( 120 x 235 ) mm = ( 4.72 x 9.25 ) in + 'DLP' => [280.630, 595.276], // = ( 99 x 210 ) mm = ( 3.90 x 8.27 ) in (A4/3) + // SIS 014711 E Series + 'E0' => [2491.654, 3517.795], // = ( 879 x 1241 ) mm = ( 34.61 x 48.86 ) in + 'E1' => [1757.480, 2491.654], // = ( 620 x 879 ) mm = ( 24.41 x 34.61 ) in + 'E2' => [1247.244, 1757.480], // = ( 440 x 620 ) mm = ( 17.32 x 24.41 ) in + 'E3' => [878.740, 1247.244], // = ( 310 x 440 ) mm = ( 12.20 x 17.32 ) in + 'E4' => [623.622, 878.740], // = ( 220 x 310 ) mm = ( 8.66 x 12.20 ) in + 'E5' => [439.370, 623.622], // = ( 155 x 220 ) mm = ( 6.10 x 8.66 ) in + 'E6' => [311.811, 439.370], // = ( 110 x 155 ) mm = ( 4.33 x 6.10 ) in + 'E7' => [221.102, 311.811], // = ( 78 x 110 ) mm = ( 3.07 x 4.33 ) in + 'E8' => [155.906, 221.102], // = ( 55 x 78 ) mm = ( 2.17 x 3.07 ) in + 'E9' => [110.551, 155.906], // = ( 39 x 55 ) mm = ( 1.54 x 2.17 ) in + 'E10' => [76.535, 110.551], // = ( 27 x 39 ) mm = ( 1.06 x 1.54 ) in + 'E11' => [53.858, 76.535], // = ( 19 x 27 ) mm = ( 0.75 x 1.06 ) in + 'E12' => [36.850, 53.858], // = ( 13 x 19 ) mm = ( 0.51 x 0.75 ) in + // SIS 014711 G Series + 'G0' => [2715.591, 3838.110], // = ( 958 x 1354 ) mm = ( 37.72 x 53.31 ) in + 'G1' => [1919.055, 2715.591], // = ( 677 x 958 ) mm = ( 26.65 x 37.72 ) in + 'G2' => [1357.795, 1919.055], // = ( 479 x 677 ) mm = ( 18.86 x 26.65 ) in + 'G3' => [958.110, 1357.795], // = ( 338 x 479 ) mm = ( 13.31 x 18.86 ) in + 'G4' => [677.480, 958.110], // = ( 239 x 338 ) mm = ( 9.41 x 13.31 ) in + 'G5' => [479.055, 677.480], // = ( 169 x 239 ) mm = ( 6.65 x 9.41 ) in + 'G6' => [337.323, 479.055], // = ( 119 x 169 ) mm = ( 4.69 x 6.65 ) in + 'G7' => [238.110, 337.323], // = ( 84 x 119 ) mm = ( 3.31 x 4.69 ) in + 'G8' => [167.244, 238.110], // = ( 59 x 84 ) mm = ( 2.32 x 3.31 ) in + 'G9' => [119.055, 167.244], // = ( 42 x 59 ) mm = ( 1.65 x 2.32 ) in + 'G10' => [82.205, 119.055], // = ( 29 x 42 ) mm = ( 1.14 x 1.65 ) in + 'G11' => [59.528, 82.205], // = ( 21 x 29 ) mm = ( 0.83 x 1.14 ) in + 'G12' => [39.685, 59.528], // = ( 14 x 21 ) mm = ( 0.55 x 0.83 ) in + // ISO Press + 'RA0' => [2437.795, 3458.268], // = ( 860 x 1220 ) mm = ( 33.86 x 48.03 ) in + 'RA1' => [1729.134, 2437.795], // = ( 610 x 860 ) mm = ( 24.02 x 33.86 ) in + 'RA2' => [1218.898, 1729.134], // = ( 430 x 610 ) mm = ( 16.93 x 24.02 ) in + 'RA3' => [864.567, 1218.898], // = ( 305 x 430 ) mm = ( 12.01 x 16.93 ) in + 'RA4' => [609.449, 864.567], // = ( 215 x 305 ) mm = ( 8.46 x 12.01 ) in + 'SRA0' => [2551.181, 3628.346], // = ( 900 x 1280 ) mm = ( 35.43 x 50.39 ) in + 'SRA1' => [1814.173, 2551.181], // = ( 640 x 900 ) mm = ( 25.20 x 35.43 ) in + 'SRA2' => [1275.591, 1814.173], // = ( 450 x 640 ) mm = ( 17.72 x 25.20 ) in + 'SRA3' => [907.087, 1275.591], // = ( 320 x 450 ) mm = ( 12.60 x 17.72 ) in + 'SRA4' => [637.795, 907.087], // = ( 225 x 320 ) mm = ( 8.86 x 12.60 ) in + // German DIN 476 + '4A0' => [4767.874, 6740.787], // = ( 1682 x 2378 ) mm = ( 66.22 x 93.62 ) in + '2A0' => [3370.394, 4767.874], // = ( 1189 x 1682 ) mm = ( 46.81 x 66.22 ) in + // Variations on the ISO Standard + 'A2_EXTRA' => [1261.417, 1754.646], // = ( 445 x 619 ) mm = ( 17.52 x 24.37 ) in + 'A3+' => [932.598, 1369.134], // = ( 329 x 483 ) mm = ( 12.95 x 19.02 ) in + 'A3_EXTRA' => [912.756, 1261.417], // = ( 322 x 445 ) mm = ( 12.68 x 17.52 ) in + 'A3_SUPER' => [864.567, 1440.000], // = ( 305 x 508 ) mm = ( 12.01 x 20.00 ) in + 'SUPER_A3' => [864.567, 1380.472], // = ( 305 x 487 ) mm = ( 12.01 x 19.17 ) in + 'A4_EXTRA' => [666.142, 912.756], // = ( 235 x 322 ) mm = ( 9.25 x 12.68 ) in + 'A4_SUPER' => [649.134, 912.756], // = ( 229 x 322 ) mm = ( 9.02 x 12.68 ) in + 'SUPER_A4' => [643.465, 1009.134], // = ( 227 x 356 ) mm = ( 8.94 x 14.02 ) in + 'A4_LONG' => [595.276, 986.457], // = ( 210 x 348 ) mm = ( 8.27 x 13.70 ) in + 'F4' => [595.276, 935.433], // = ( 210 x 330 ) mm = ( 8.27 x 12.99 ) in + 'SO_B5_EXTRA' => [572.598, 782.362], // = ( 202 x 276 ) mm = ( 7.95 x 10.87 ) in + 'A5_EXTRA' => [490.394, 666.142], // = ( 173 x 235 ) mm = ( 6.81 x 9.25 ) in + // ANSI Series + 'ANSI_E' => [2448.000, 3168.000], // = ( 864 x 1118 ) mm = ( 34.00 x 44.00 ) in + 'ANSI_D' => [1584.000, 2448.000], // = ( 559 x 864 ) mm = ( 22.00 x 34.00 ) in + 'ANSI_C' => [1224.000, 1584.000], // = ( 432 x 559 ) mm = ( 17.00 x 22.00 ) in + 'ANSI_B' => [792.000, 1224.000], // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'ANSI_A' => [612.000, 792.000], // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + // Traditional 'Loose' North American Paper Sizes + 'USLEDGER' => [1224.000, 792.000], // = ( 432 x 279 ) mm = ( 17.00 x 11.00 ) in + 'LEDGER' => [1224.000, 792.000], // = ( 432 x 279 ) mm = ( 17.00 x 11.00 ) in + 'ORGANIZERK' => [792.000, 1224.000], // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'BIBLE' => [792.000, 1224.000], // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'USTABLOID' => [792.000, 1224.000], // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'TABLOID' => [792.000, 1224.000], // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'ORGANIZERM' => [612.000, 792.000], // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + 'USLETTER' => [612.000, 792.000], // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + 'LETTER' => [612.000, 792.000], // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + 'USLEGAL' => [612.000, 1008.000], // = ( 216 x 356 ) mm = ( 8.50 x 14.00 ) in + 'LEGAL' => [612.000, 1008.000], // = ( 216 x 356 ) mm = ( 8.50 x 14.00 ) in + 'GOVERNMENTLETTER' => [576.000, 756.000], // = ( 203 x 267 ) mm = ( 8.00 x 10.50 ) in + 'GLETTER' => [576.000, 756.000], // = ( 203 x 267 ) mm = ( 8.00 x 10.50 ) in + 'JUNIORLEGAL' => [576.000, 360.000], // = ( 203 x 127 ) mm = ( 8.00 x 5.00 ) in + 'JLEGAL' => [576.000, 360.000], // = ( 203 x 127 ) mm = ( 8.00 x 5.00 ) in + // Other North American Paper Sizes + 'QUADDEMY' => [2520.000, 3240.000], // = ( 889 x 1143 ) mm = ( 35.00 x 45.00 ) in + 'SUPER_B' => [936.000, 1368.000], // = ( 330 x 483 ) mm = ( 13.00 x 19.00 ) in + 'QUARTO' => [648.000, 792.000], // = ( 229 x 279 ) mm = ( 9.00 x 11.00 ) in + 'GOVERNMENTLEGAL' => [612.000, 936.000], // = ( 216 x 330 ) mm = ( 8.50 x 13.00 ) in + 'FOLIO' => [612.000, 936.000], // = ( 216 x 330 ) mm = ( 8.50 x 13.00 ) in + 'MONARCH' => [522.000, 756.000], // = ( 184 x 267 ) mm = ( 7.25 x 10.50 ) in + 'EXECUTIVE' => [522.000, 756.000], // = ( 184 x 267 ) mm = ( 7.25 x 10.50 ) in + 'ORGANIZERL' => [396.000, 612.000], // = ( 140 x 216 ) mm = ( 5.50 x 8.50 ) in + 'STATEMENT' => [396.000, 612.000], // = ( 140 x 216 ) mm = ( 5.50 x 8.50 ) in + 'MEMO' => [396.000, 612.000], // = ( 140 x 216 ) mm = ( 5.50 x 8.50 ) in + 'FOOLSCAP' => [595.440, 936.000], // = ( 210 x 330 ) mm = ( 8.27 x 13.00 ) in + 'COMPACT' => [306.000, 486.000], // = ( 108 x 171 ) mm = ( 4.25 x 6.75 ) in + 'ORGANIZERJ' => [198.000, 360.000], // = ( 70 x 127 ) mm = ( 2.75 x 5.00 ) in + // Canadian standard CAN 2-9.60M + 'P1' => [1587.402, 2437.795], // = ( 560 x 860 ) mm = ( 22.05 x 33.86 ) in + 'P2' => [1218.898, 1587.402], // = ( 430 x 560 ) mm = ( 16.93 x 22.05 ) in + 'P3' => [793.701, 1218.898], // = ( 280 x 430 ) mm = ( 11.02 x 16.93 ) in + 'P4' => [609.449, 793.701], // = ( 215 x 280 ) mm = ( 8.46 x 11.02 ) in + 'P5' => [396.850, 609.449], // = ( 140 x 215 ) mm = ( 5.51 x 8.46 ) in + 'P6' => [303.307, 396.850], // = ( 107 x 140 ) mm = ( 4.21 x 5.51 ) in + // North American Architectural Sizes + 'ARCH_E' => [2592.000, 3456.000], // = ( 914 x 1219 ) mm = ( 36.00 x 48.00 ) in + 'ARCH_E1' => [2160.000, 3024.000], // = ( 762 x 1067 ) mm = ( 30.00 x 42.00 ) in + 'ARCH_D' => [1728.000, 2592.000], // = ( 610 x 914 ) mm = ( 24.00 x 36.00 ) in + 'BROADSHEET' => [1296.000, 1728.000], // = ( 457 x 610 ) mm = ( 18.00 x 24.00 ) in + 'ARCH_C' => [1296.000, 1728.000], // = ( 457 x 610 ) mm = ( 18.00 x 24.00 ) in + 'ARCH_B' => [864.000, 1296.000], // = ( 305 x 457 ) mm = ( 12.00 x 18.00 ) in + 'ARCH_A' => [648.000, 864.000], // = ( 229 x 305 ) mm = ( 9.00 x 12.00 ) in + // -- North American Envelope Sizes + // - Announcement Envelopes + 'ANNENV_A2' => [314.640, 414.000], // = ( 111 x 146 ) mm = ( 4.37 x 5.75 ) in + 'ANNENV_A6' => [342.000, 468.000], // = ( 121 x 165 ) mm = ( 4.75 x 6.50 ) in + 'ANNENV_A7' => [378.000, 522.000], // = ( 133 x 184 ) mm = ( 5.25 x 7.25 ) in + 'ANNENV_A8' => [396.000, 584.640], // = ( 140 x 206 ) mm = ( 5.50 x 8.12 ) in + 'ANNENV_A10' => [450.000, 692.640], // = ( 159 x 244 ) mm = ( 6.25 x 9.62 ) in + 'ANNENV_SLIM' => [278.640, 638.640], // = ( 98 x 225 ) mm = ( 3.87 x 8.87 ) in + // - Commercial Envelopes + 'COMMENV_N6_1/4' => [252.000, 432.000], // = ( 89 x 152 ) mm = ( 3.50 x 6.00 ) in + 'COMMENV_N6_3/4' => [260.640, 468.000], // = ( 92 x 165 ) mm = ( 3.62 x 6.50 ) in + 'COMMENV_N8' => [278.640, 540.000], // = ( 98 x 191 ) mm = ( 3.87 x 7.50 ) in + 'COMMENV_N9' => [278.640, 638.640], // = ( 98 x 225 ) mm = ( 3.87 x 8.87 ) in + 'COMMENV_N10' => [296.640, 684.000], // = ( 105 x 241 ) mm = ( 4.12 x 9.50 ) in + 'COMMENV_N11' => [324.000, 746.640], // = ( 114 x 263 ) mm = ( 4.50 x 10.37 ) in + 'COMMENV_N12' => [342.000, 792.000], // = ( 121 x 279 ) mm = ( 4.75 x 11.00 ) in + 'COMMENV_N14' => [360.000, 828.000], // = ( 127 x 292 ) mm = ( 5.00 x 11.50 ) in + // - Catalogue Envelopes + 'CATENV_N1' => [432.000, 648.000], // = ( 152 x 229 ) mm = ( 6.00 x 9.00 ) in + 'CATENV_N1_3/4' => [468.000, 684.000], // = ( 165 x 241 ) mm = ( 6.50 x 9.50 ) in + 'CATENV_N2' => [468.000, 720.000], // = ( 165 x 254 ) mm = ( 6.50 x 10.00 ) in + 'CATENV_N3' => [504.000, 720.000], // = ( 178 x 254 ) mm = ( 7.00 x 10.00 ) in + 'CATENV_N6' => [540.000, 756.000], // = ( 191 x 267 ) mm = ( 7.50 x 10.50 ) in + 'CATENV_N7' => [576.000, 792.000], // = ( 203 x 279 ) mm = ( 8.00 x 11.00 ) in + 'CATENV_N8' => [594.000, 810.000], // = ( 210 x 286 ) mm = ( 8.25 x 11.25 ) in + 'CATENV_N9_1/2' => [612.000, 756.000], // = ( 216 x 267 ) mm = ( 8.50 x 10.50 ) in + 'CATENV_N9_3/4' => [630.000, 810.000], // = ( 222 x 286 ) mm = ( 8.75 x 11.25 ) in + 'CATENV_N10_1/2' => [648.000, 864.000], // = ( 229 x 305 ) mm = ( 9.00 x 12.00 ) in + 'CATENV_N12_1/2' => [684.000, 900.000], // = ( 241 x 318 ) mm = ( 9.50 x 12.50 ) in + 'CATENV_N13_1/2' => [720.000, 936.000], // = ( 254 x 330 ) mm = ( 10.00 x 13.00 ) in + 'CATENV_N14_1/4' => [810.000, 882.000], // = ( 286 x 311 ) mm = ( 11.25 x 12.25 ) in + 'CATENV_N14_1/2' => [828.000, 1044.000], // = ( 292 x 368 ) mm = ( 11.50 x 14.50 ) in + // Japanese (JIS P 0138-61) Standard B-Series + 'JIS_B0' => [2919.685, 4127.244], // = ( 1030 x 1456 ) mm = ( 40.55 x 57.32 ) in + 'JIS_B1' => [2063.622, 2919.685], // = ( 728 x 1030 ) mm = ( 28.66 x 40.55 ) in + 'JIS_B2' => [1459.843, 2063.622], // = ( 515 x 728 ) mm = ( 20.28 x 28.66 ) in + 'JIS_B3' => [1031.811, 1459.843], // = ( 364 x 515 ) mm = ( 14.33 x 20.28 ) in + 'JIS_B4' => [728.504, 1031.811], // = ( 257 x 364 ) mm = ( 10.12 x 14.33 ) in + 'JIS_B5' => [515.906, 728.504], // = ( 182 x 257 ) mm = ( 7.17 x 10.12 ) in + 'JIS_B6' => [362.835, 515.906], // = ( 128 x 182 ) mm = ( 5.04 x 7.17 ) in + 'JIS_B7' => [257.953, 362.835], // = ( 91 x 128 ) mm = ( 3.58 x 5.04 ) in + 'JIS_B8' => [181.417, 257.953], // = ( 64 x 91 ) mm = ( 2.52 x 3.58 ) in + 'JIS_B9' => [127.559, 181.417], // = ( 45 x 64 ) mm = ( 1.77 x 2.52 ) in + 'JIS_B10' => [90.709, 127.559], // = ( 32 x 45 ) mm = ( 1.26 x 1.77 ) in + 'JIS_B11' => [62.362, 90.709], // = ( 22 x 32 ) mm = ( 0.87 x 1.26 ) in + 'JIS_B12' => [45.354, 62.362], // = ( 16 x 22 ) mm = ( 0.63 x 0.87 ) in + // PA Series + 'PA0' => [2381.102, 3174.803], // = ( 840 x 1120 ) mm = ( 33.07 x 44.09 ) in + 'PA1' => [1587.402, 2381.102], // = ( 560 x 840 ) mm = ( 22.05 x 33.07 ) in + 'PA2' => [1190.551, 1587.402], // = ( 420 x 560 ) mm = ( 16.54 x 22.05 ) in + 'PA3' => [793.701, 1190.551], // = ( 280 x 420 ) mm = ( 11.02 x 16.54 ) in + 'PA4' => [595.276, 793.701], // = ( 210 x 280 ) mm = ( 8.27 x 11.02 ) in + 'PA5' => [396.850, 595.276], // = ( 140 x 210 ) mm = ( 5.51 x 8.27 ) in + 'PA6' => [297.638, 396.850], // = ( 105 x 140 ) mm = ( 4.13 x 5.51 ) in + 'PA7' => [198.425, 297.638], // = ( 70 x 105 ) mm = ( 2.76 x 4.13 ) in + 'PA8' => [147.402, 198.425], // = ( 52 x 70 ) mm = ( 2.05 x 2.76 ) in + 'PA9' => [99.213, 147.402], // = ( 35 x 52 ) mm = ( 1.38 x 2.05 ) in + 'PA10' => [73.701, 99.213], // = ( 26 x 35 ) mm = ( 1.02 x 1.38 ) in + // Standard Photographic Print Sizes + 'PASSPORT_PHOTO' => [99.213, 127.559], // = ( 35 x 45 ) mm = ( 1.38 x 1.77 ) in + 'E' => [233.858, 340.157], // = ( 82 x 120 ) mm = ( 3.25 x 4.72 ) in + 'L' => [252.283, 360.000], // = ( 89 x 127 ) mm = ( 3.50 x 5.00 ) in + '3R' => [252.283, 360.000], // = ( 89 x 127 ) mm = ( 3.50 x 5.00 ) in + 'KG' => [289.134, 430.866], // = ( 102 x 152 ) mm = ( 4.02 x 5.98 ) in + '4R' => [289.134, 430.866], // = ( 102 x 152 ) mm = ( 4.02 x 5.98 ) in + '4D' => [340.157, 430.866], // = ( 120 x 152 ) mm = ( 4.72 x 5.98 ) in + '2L' => [360.000, 504.567], // = ( 127 x 178 ) mm = ( 5.00 x 7.01 ) in + '5R' => [360.000, 504.567], // = ( 127 x 178 ) mm = ( 5.00 x 7.01 ) in + '8P' => [430.866, 575.433], // = ( 152 x 203 ) mm = ( 5.98 x 7.99 ) in + '6R' => [430.866, 575.433], // = ( 152 x 203 ) mm = ( 5.98 x 7.99 ) in + '6P' => [575.433, 720.000], // = ( 203 x 254 ) mm = ( 7.99 x 10.00 ) in + '8R' => [575.433, 720.000], // = ( 203 x 254 ) mm = ( 7.99 x 10.00 ) in + '6PW' => [575.433, 864.567], // = ( 203 x 305 ) mm = ( 7.99 x 12.01 ) in + 'S8R' => [575.433, 864.567], // = ( 203 x 305 ) mm = ( 7.99 x 12.01 ) in + '4P' => [720.000, 864.567], // = ( 254 x 305 ) mm = ( 10.00 x 12.01 ) in + '10R' => [720.000, 864.567], // = ( 254 x 305 ) mm = ( 10.00 x 12.01 ) in + '4PW' => [720.000, 1080.000], // = ( 254 x 381 ) mm = ( 10.00 x 15.00 ) in + 'S10R' => [720.000, 1080.000], // = ( 254 x 381 ) mm = ( 10.00 x 15.00 ) in + '11R' => [790.866, 1009.134], // = ( 279 x 356 ) mm = ( 10.98 x 14.02 ) in + 'S11R' => [790.866, 1224.567], // = ( 279 x 432 ) mm = ( 10.98 x 17.01 ) in + '12R' => [864.567, 1080.000], // = ( 305 x 381 ) mm = ( 12.01 x 15.00 ) in + 'S12R' => [864.567, 1292.598], // = ( 305 x 456 ) mm = ( 12.01 x 17.95 ) in + // Common Newspaper Sizes + 'NEWSPAPER_BROADSHEET' => [2125.984, 1700.787], // = ( 750 x 600 ) mm = ( 29.53 x 23.62 ) in + 'NEWSPAPER_BERLINER' => [1332.283, 892.913], // = ( 470 x 315 ) mm = ( 18.50 x 12.40 ) in + 'NEWSPAPER_TABLOID' => [1218.898, 793.701], // = ( 430 x 280 ) mm = ( 16.93 x 11.02 ) in + 'NEWSPAPER_COMPACT' => [1218.898, 793.701], // = ( 430 x 280 ) mm = ( 16.93 x 11.02 ) in + // Business Cards + 'CREDIT_CARD' => [153.014, 242.646], // = ( 54 x 86 ) mm = ( 2.13 x 3.37 ) in + 'BUSINESS_CARD' => [153.014, 242.646], // = ( 54 x 86 ) mm = ( 2.13 x 3.37 ) in + 'BUSINESS_CARD_ISO7810' => [153.014, 242.646], // = ( 54 x 86 ) mm = ( 2.13 x 3.37 ) in + 'BUSINESS_CARD_ISO216' => [147.402, 209.764], // = ( 52 x 74 ) mm = ( 2.05 x 2.91 ) in + 'BUSINESS_CARD_IT' => [155.906, 240.945], // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_UK' => [155.906, 240.945], // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_FR' => [155.906, 240.945], // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_DE' => [155.906, 240.945], // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_ES' => [155.906, 240.945], // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_CA' => [144.567, 252.283], // = ( 51 x 89 ) mm = ( 2.01 x 3.50 ) in + 'BUSINESS_CARD_US' => [144.567, 252.283], // = ( 51 x 89 ) mm = ( 2.01 x 3.50 ) in + 'BUSINESS_CARD_JP' => [155.906, 257.953], // = ( 55 x 91 ) mm = ( 2.17 x 3.58 ) in + 'BUSINESS_CARD_HK' => [153.071, 255.118], // = ( 54 x 90 ) mm = ( 2.13 x 3.54 ) in + 'BUSINESS_CARD_AU' => [155.906, 255.118], // = ( 55 x 90 ) mm = ( 2.17 x 3.54 ) in + 'BUSINESS_CARD_DK' => [155.906, 255.118], // = ( 55 x 90 ) mm = ( 2.17 x 3.54 ) in + 'BUSINESS_CARD_SE' => [155.906, 255.118], // = ( 55 x 90 ) mm = ( 2.17 x 3.54 ) in + 'BUSINESS_CARD_RU' => [141.732, 255.118], // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_CZ' => [141.732, 255.118], // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_FI' => [141.732, 255.118], // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_HU' => [141.732, 255.118], // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_IL' => [141.732, 255.118], // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + // Billboards + '4SHEET' => [2880.000, 4320.000], // = ( 1016 x 1524 ) mm = ( 40.00 x 60.00 ) in + '6SHEET' => [3401.575, 5102.362], // = ( 1200 x 1800 ) mm = ( 47.24 x 70.87 ) in + '12SHEET' => [8640.000, 4320.000], // = ( 3048 x 1524 ) mm = (120.00 x 60.00 ) in + '16SHEET' => [5760.000, 8640.000], // = ( 2032 x 3048 ) mm = ( 80.00 x 120.00) in + '32SHEET' => [11520.000, 8640.000], // = ( 4064 x 3048 ) mm = (160.00 x 120.00) in + '48SHEET' => [17280.000, 8640.000], // = ( 6096 x 3048 ) mm = (240.00 x 120.00) in + '64SHEET' => [23040.000, 8640.000], // = ( 8128 x 3048 ) mm = (320.00 x 120.00) in + '96SHEET' => [34560.000, 8640.000], // = (12192 x 3048 ) mm = (480.00 x 120.00) in + // -- Old European Sizes + // - Old Imperial English Sizes + 'EN_EMPEROR' => [3456.000, 5184.000], // = ( 1219 x 1829 ) mm = ( 48.00 x 72.00 ) in + 'EN_ANTIQUARIAN' => [2232.000, 3816.000], // = ( 787 x 1346 ) mm = ( 31.00 x 53.00 ) in + 'EN_GRAND_EAGLE' => [2070.000, 3024.000], // = ( 730 x 1067 ) mm = ( 28.75 x 42.00 ) in + 'EN_DOUBLE_ELEPHANT' => [1926.000, 2880.000], // = ( 679 x 1016 ) mm = ( 26.75 x 40.00 ) in + 'EN_ATLAS' => [1872.000, 2448.000], // = ( 660 x 864 ) mm = ( 26.00 x 34.00 ) in + 'EN_COLOMBIER' => [1692.000, 2484.000], // = ( 597 x 876 ) mm = ( 23.50 x 34.50 ) in + 'EN_ELEPHANT' => [1656.000, 2016.000], // = ( 584 x 711 ) mm = ( 23.00 x 28.00 ) in + 'EN_DOUBLE_DEMY' => [1620.000, 2556.000], // = ( 572 x 902 ) mm = ( 22.50 x 35.50 ) in + 'EN_IMPERIAL' => [1584.000, 2160.000], // = ( 559 x 762 ) mm = ( 22.00 x 30.00 ) in + 'EN_PRINCESS' => [1548.000, 2016.000], // = ( 546 x 711 ) mm = ( 21.50 x 28.00 ) in + 'EN_CARTRIDGE' => [1512.000, 1872.000], // = ( 533 x 660 ) mm = ( 21.00 x 26.00 ) in + 'EN_DOUBLE_LARGE_POST' => [1512.000, 2376.000], // = ( 533 x 838 ) mm = ( 21.00 x 33.00 ) in + 'EN_ROYAL' => [1440.000, 1800.000], // = ( 508 x 635 ) mm = ( 20.00 x 25.00 ) in + 'EN_SHEET' => [1404.000, 1692.000], // = ( 495 x 597 ) mm = ( 19.50 x 23.50 ) in + 'EN_HALF_POST' => [1404.000, 1692.000], // = ( 495 x 597 ) mm = ( 19.50 x 23.50 ) in + 'EN_SUPER_ROYAL' => [1368.000, 1944.000], // = ( 483 x 686 ) mm = ( 19.00 x 27.00 ) in + 'EN_DOUBLE_POST' => [1368.000, 2196.000], // = ( 483 x 775 ) mm = ( 19.00 x 30.50 ) in + 'EN_MEDIUM' => [1260.000, 1656.000], // = ( 445 x 584 ) mm = ( 17.50 x 23.00 ) in + 'EN_DEMY' => [1260.000, 1620.000], // = ( 445 x 572 ) mm = ( 17.50 x 22.50 ) in + 'EN_LARGE_POST' => [1188.000, 1512.000], // = ( 419 x 533 ) mm = ( 16.50 x 21.00 ) in + 'EN_COPY_DRAUGHT' => [1152.000, 1440.000], // = ( 406 x 508 ) mm = ( 16.00 x 20.00 ) in + 'EN_POST' => [1116.000, 1386.000], // = ( 394 x 489 ) mm = ( 15.50 x 19.25 ) in + 'EN_CROWN' => [1080.000, 1440.000], // = ( 381 x 508 ) mm = ( 15.00 x 20.00 ) in + 'EN_PINCHED_POST' => [1062.000, 1332.000], // = ( 375 x 470 ) mm = ( 14.75 x 18.50 ) in + 'EN_BRIEF' => [972.000, 1152.000], // = ( 343 x 406 ) mm = ( 13.50 x 16.00 ) in + 'EN_FOOLSCAP' => [972.000, 1224.000], // = ( 343 x 432 ) mm = ( 13.50 x 17.00 ) in + 'EN_SMALL_FOOLSCAP' => [954.000, 1188.000], // = ( 337 x 419 ) mm = ( 13.25 x 16.50 ) in + 'EN_POTT' => [900.000, 1080.000], // = ( 318 x 381 ) mm = ( 12.50 x 15.00 ) in + // - Old Imperial Belgian Sizes + 'BE_GRAND_AIGLE' => [1984.252, 2948.031], // = ( 700 x 1040 ) mm = ( 27.56 x 40.94 ) in + 'BE_COLOMBIER' => [1757.480, 2409.449], // = ( 620 x 850 ) mm = ( 24.41 x 33.46 ) in + 'BE_DOUBLE_CARRE' => [1757.480, 2607.874], // = ( 620 x 920 ) mm = ( 24.41 x 36.22 ) in + 'BE_ELEPHANT' => [1746.142, 2182.677], // = ( 616 x 770 ) mm = ( 24.25 x 30.31 ) in + 'BE_PETIT_AIGLE' => [1700.787, 2381.102], // = ( 600 x 840 ) mm = ( 23.62 x 33.07 ) in + 'BE_GRAND_JESUS' => [1559.055, 2069.291], // = ( 550 x 730 ) mm = ( 21.65 x 28.74 ) in + 'BE_JESUS' => [1530.709, 2069.291], // = ( 540 x 730 ) mm = ( 21.26 x 28.74 ) in + 'BE_RAISIN' => [1417.323, 1842.520], // = ( 500 x 650 ) mm = ( 19.69 x 25.59 ) in + 'BE_GRAND_MEDIAN' => [1303.937, 1714.961], // = ( 460 x 605 ) mm = ( 18.11 x 23.82 ) in + 'BE_DOUBLE_POSTE' => [1233.071, 1601.575], // = ( 435 x 565 ) mm = ( 17.13 x 22.24 ) in + 'BE_COQUILLE' => [1218.898, 1587.402], // = ( 430 x 560 ) mm = ( 16.93 x 22.05 ) in + 'BE_PETIT_MEDIAN' => [1176.378, 1502.362], // = ( 415 x 530 ) mm = ( 16.34 x 20.87 ) in + 'BE_RUCHE' => [1020.472, 1303.937], // = ( 360 x 460 ) mm = ( 14.17 x 18.11 ) in + 'BE_PROPATRIA' => [977.953, 1218.898], // = ( 345 x 430 ) mm = ( 13.58 x 16.93 ) in + 'BE_LYS' => [898.583, 1125.354], // = ( 317 x 397 ) mm = ( 12.48 x 15.63 ) in + 'BE_POT' => [870.236, 1088.504], // = ( 307 x 384 ) mm = ( 12.09 x 15.12 ) in + 'BE_ROSETTE' => [765.354, 983.622], // = ( 270 x 347 ) mm = ( 10.63 x 13.66 ) in + // - Old Imperial French Sizes + 'FR_UNIVERS' => [2834.646, 3685.039], // = ( 1000 x 1300 ) mm = ( 39.37 x 51.18 ) in + 'FR_DOUBLE_COLOMBIER' => [2551.181, 3571.654], // = ( 900 x 1260 ) mm = ( 35.43 x 49.61 ) in + 'FR_GRANDE_MONDE' => [2551.181, 3571.654], // = ( 900 x 1260 ) mm = ( 35.43 x 49.61 ) in + 'FR_DOUBLE_SOLEIL' => [2267.717, 3401.575], // = ( 800 x 1200 ) mm = ( 31.50 x 47.24 ) in + 'FR_DOUBLE_JESUS' => [2154.331, 3174.803], // = ( 760 x 1120 ) mm = ( 29.92 x 44.09 ) in + 'FR_GRAND_AIGLE' => [2125.984, 3004.724], // = ( 750 x 1060 ) mm = ( 29.53 x 41.73 ) in + 'FR_PETIT_AIGLE' => [1984.252, 2664.567], // = ( 700 x 940 ) mm = ( 27.56 x 37.01 ) in + 'FR_DOUBLE_RAISIN' => [1842.520, 2834.646], // = ( 650 x 1000 ) mm = ( 25.59 x 39.37 ) in + 'FR_JOURNAL' => [1842.520, 2664.567], // = ( 650 x 940 ) mm = ( 25.59 x 37.01 ) in + 'FR_COLOMBIER_AFFICHE' => [1785.827, 2551.181], // = ( 630 x 900 ) mm = ( 24.80 x 35.43 ) in + 'FR_DOUBLE_CAVALIER' => [1757.480, 2607.874], // = ( 620 x 920 ) mm = ( 24.41 x 36.22 ) in + 'FR_CLOCHE' => [1700.787, 2267.717], // = ( 600 x 800 ) mm = ( 23.62 x 31.50 ) in + 'FR_SOLEIL' => [1700.787, 2267.717], // = ( 600 x 800 ) mm = ( 23.62 x 31.50 ) in + 'FR_DOUBLE_CARRE' => [1587.402, 2551.181], // = ( 560 x 900 ) mm = ( 22.05 x 35.43 ) in + 'FR_DOUBLE_COQUILLE' => [1587.402, 2494.488], // = ( 560 x 880 ) mm = ( 22.05 x 34.65 ) in + 'FR_JESUS' => [1587.402, 2154.331], // = ( 560 x 760 ) mm = ( 22.05 x 29.92 ) in + 'FR_RAISIN' => [1417.323, 1842.520], // = ( 500 x 650 ) mm = ( 19.69 x 25.59 ) in + 'FR_CAVALIER' => [1303.937, 1757.480], // = ( 460 x 620 ) mm = ( 18.11 x 24.41 ) in + 'FR_DOUBLE_COURONNE' => [1303.937, 2040.945], // = ( 460 x 720 ) mm = ( 18.11 x 28.35 ) in + 'FR_CARRE' => [1275.591, 1587.402], // = ( 450 x 560 ) mm = ( 17.72 x 22.05 ) in + 'FR_COQUILLE' => [1247.244, 1587.402], // = ( 440 x 560 ) mm = ( 17.32 x 22.05 ) in + 'FR_DOUBLE_TELLIERE' => [1247.244, 1927.559], // = ( 440 x 680 ) mm = ( 17.32 x 26.77 ) in + 'FR_DOUBLE_CLOCHE' => [1133.858, 1700.787], // = ( 400 x 600 ) mm = ( 15.75 x 23.62 ) in + 'FR_DOUBLE_POT' => [1133.858, 1757.480], // = ( 400 x 620 ) mm = ( 15.75 x 24.41 ) in + 'FR_ECU' => [1133.858, 1474.016], // = ( 400 x 520 ) mm = ( 15.75 x 20.47 ) in + 'FR_COURONNE' => [1020.472, 1303.937], // = ( 360 x 460 ) mm = ( 14.17 x 18.11 ) in + 'FR_TELLIERE' => [963.780, 1247.244], // = ( 340 x 440 ) mm = ( 13.39 x 17.32 ) in + 'FR_POT' => [878.740, 1133.858], // = ( 310 x 400 ) mm = ( 12.20 x 15.75 ) in + // Colombian Sizes + 'CO_CARTA' => [612.283, 790.866], // = ( 216 x 279 ) mm = ( 8.50 x 10.98 ) in + 'CO_EXTRA_TABLOIDE' => [864.000, 1296.000], // = ( 304 x 457 ) mm = ( 12.00 x 18.00 ) in + 'CO_OFICIO' => [612.283, 935.433], // = ( 216 x 330 ) mm = ( 8.50 x 12.99 ) in + 'CO_PLIEGO' => [1984.252, 2834.646], // = ( 700 x 1000 ) mm = ( 27.56 x 39.37 ) in + 'CO_PLIEGO2' => [1417.323, 1984.252], // = ( 500 x 700 ) mm = ( 19.69 x 27.56 ) in + 'CO_PLIEGO4' => [992.126, 1417.323], // = ( 350 x 500 ) mm = ( 13.78 x 19.69 ) in + 'CO_PLIEGO8' => [708.661, 992.126], // = ( 250 x 350 ) mm = ( 9.84 x 13.78 ) in + // Japanese Sizes + 'JP_AB_BAN' => [2494.488, 3075.591], // = ( 880 x 1085 ) mm = ( 34.65 x 42.72 ) in + 'JP_AIBAN' => [637.795, 977.953], // = ( 225 x 345 ) mm = ( 8.86 x 13.58 ) in + 'JP_A_KO_BAN' => [1723.465, 2454.803], // = ( 608 x 866 ) mm = ( 23.94 x 34.09 ) in + 'JP_B_KO_BAN' => [2137.323, 2967.874], // = ( 754 x 1047 ) mm = ( 29.69 x 41.22 ) in + 'JP_CHOUBO_BAN' => [2318.740, 3092.598], // = ( 818 x 1091 ) mm = ( 32.20 x 42.95 ) in + 'JP_CHUBAN' => [538.583, 722.835], // = ( 190 x 255 ) mm = ( 7.48 x 10.04 ) in + 'JP_CHU_TANZAKU' => [368.504, 1077.165], // = ( 130 x 380 ) mm = ( 5.12 x 14.96 ) in + 'JP_DAI OBAN' => [977.953, 1289.764], // = ( 345 x 455 ) mm = ( 13.58 x 17.91 ) in + 'JP_EBANKIRI' => [538.583, 1459.843], // = ( 190 x 515 ) mm = ( 7.48 x 20.28 ) in + 'JP_FUURUSU_KO_BAN' => [943.937, 1201.890], // = ( 333 x 424 ) mm = ( 13.11 x 16.69 ) in + 'JP_GAYOUSHI' => [1649.764, 2148.661], // = ( 582 x 758 ) mm = ( 22.91 x 29.84 ) in + 'JP_HASHIRE_E' => [368.504, 2069.291], // = ( 130 x 730 ) mm = ( 5.12 x 28.74 ) in + 'JP_HATORON_BAN' => [2551.181, 3401.575], // = ( 900 x 1200 ) mm = ( 35.43 x 47.24 ) in + 'JP_HOM_BAN' => [1842.520, 2211.024], // = ( 650 x 780 ) mm = ( 25.59 x 30.71 ) in + 'JP_HOSOBAN' => [411.024, 935.433], // = ( 145 x 330 ) mm = ( 5.71 x 12.99 ) in + 'JP_JIS_A_BAN' => [1771.654, 2494.488], // = ( 625 x 880 ) mm = ( 24.61 x 34.65 ) in + 'JP_JIS_B_BAN' => [2168.504, 3075.591], // = ( 765 x 1085 ) mm = ( 30.12 x 42.72 ) in + 'JP_KAKEMONO_E' => [651.969, 2154.331], // = ( 230 x 760 ) mm = ( 9.06 x 29.92 ) in + 'JP_KAKUBAN' => [504.567, 575.433], // = ( 178 x 203 ) mm = ( 7.01 x 7.99 ) in + 'JP_KAKU_SURIMONO' => [510.236, 609.449], // = ( 180 x 215 ) mm = ( 7.09 x 8.46 ) in + 'JP_KENTO_BAN' => [1374.803, 1768.819], // = ( 485 x 624 ) mm = ( 19.09 x 24.57 ) in + 'JP_KIKU_BAN' => [1802.835, 2661.732], // = ( 636 x 939 ) mm = ( 25.04 x 36.97 ) in + 'JP_KIKU_BAN4' => [643.465, 867.402], // = ( 227 x 306 ) mm = ( 8.94 x 12.05 ) in + 'JP_KIKU_BAN5' => [428.031, 643.465], // = ( 151 x 227 ) mm = ( 5.94 x 8.94 ) in + 'JP_KIKU_BAN5_OLD' => [430.866, 617.953], // = ( 152 x 218 ) mm = ( 5.98 x 8.58 ) in + 'JP_KIKU_BAN_A20_DORI' => [419.528, 473.386], // = ( 148 x 167 ) mm = ( 5.83 x 6.57 ) in + 'JP_KOBAN' => [481.890, 651.969], // = ( 170 x 230 ) mm = ( 6.69 x 9.06 ) in + 'JP_KO_BAN_B6' => [317.480, 493.228], // = ( 112 x 174 ) mm = ( 4.41 x 6.85 ) in + 'JP_KO_TANZAKU' => [215.433, 977.953], // = ( 76 x 345 ) mm = ( 2.99 x 13.58 ) in + 'JP_MOKUTANSHI' => [1332.283, 1760.315], // = ( 470 x 621 ) mm = ( 18.50 x 24.45 ) in + 'JP_NAGA_BAN' => [651.969, 1459.843], // = ( 230 x 515 ) mm = ( 9.06 x 20.28 ) in + 'JP_OBAN' => [720.000, 1077.165], // = ( 254 x 380 ) mm = ( 10.00 x 14.96 ) in + 'JP_OGATA_CHUBAN' => [615.118, 830.551], // = ( 217 x 293 ) mm = ( 8.54 x 11.54 ) in + 'JP_O_HOSOBAN' => [481.890, 1077.165], // = ( 170 x 380 ) mm = ( 6.69 x 14.96 ) in + 'JP_POSTCARD' => [283.465, 419.528], // = ( 100 x 148 ) mm = ( 3.94 x 5.83 ) in + 'JP_SANGO_BAN' => [238.110, 419.528], // = ( 84 x 148 ) mm = ( 3.31 x 5.83 ) in + 'JP_SANGO_BAN_A48_DORI' => [209.764, 396.850], // = ( 74 x 140 ) mm = ( 2.91 x 5.51 ) in + 'JP_SANGO_BAN_B20_DORI' => [515.906, 583.937], // = ( 182 x 206 ) mm = ( 7.17 x 8.11 ) in + 'JP_SANGO_BAN_B36_DORI' => [342.992, 484.724], // = ( 121 x 171 ) mm = ( 4.76 x 6.73 ) in + 'JP_SANGO_BAN_B40_DORI' => [238.110, 419.528], // = ( 84 x 148 ) mm = ( 3.31 x 5.83 ) in + 'JP_SANROKU_BAN_B48_DORI' => [257.953, 484.724], // = ( 91 x 171 ) mm = ( 3.58 x 6.73 ) in + 'JP_SANSAN_BAN' => [1975.748, 2834.646], // = ( 697 x 1000 ) mm = ( 27.44 x 39.37 ) in + 'JP_SANSHI_BAN' => [2060.787, 2834.646], // = ( 727 x 1000 ) mm = ( 28.62 x 39.37 ) in + 'JP_SHIKISHIBAN' => [581.102, 651.969], // = ( 205 x 230 ) mm = ( 8.07 x 9.06 ) in + 'JP_SHIMBUNYOUSHI' => [2304.567, 1547.717], // = ( 813 x 546 ) mm = ( 32.01 x 21.50 ) in + 'JP_SHINSHO_BAN_B40_A' => [300.472, 490.394], // = ( 106 x 173 ) mm = ( 4.17 x 6.81 ) in + 'JP_SHINSHO_BAN_B40_B' => [291.969, 515.906], // = ( 103 x 182 ) mm = ( 4.06 x 7.17 ) in + 'JP_SHIROKU_BAN' => [2233.701, 3092.598], // = ( 788 x 1091 ) mm = ( 31.02 x 42.95 ) in + 'JP_SHIROKU_BAN4' => [748.346, 1074.331], // = ( 264 x 379 ) mm = ( 10.39 x 14.92 ) in + 'JP_SHIROKU_BAN5' => [535.748, 742.677], // = ( 189 x 262 ) mm = ( 7.44 x 10.31 ) in + 'JP_SHIROKU_BAN5_OLD' => [541.417, 734.173], // = ( 191 x 259 ) mm = ( 7.52 x 10.20 ) in + 'JP_SHIROKU_BAN6' => [360.000, 532.913], // = ( 127 x 188 ) mm = ( 5.00 x 7.40 ) in + 'JP_SHO_TANZAKU' => [269.291, 722.835], // = ( 95 x 255 ) mm = ( 3.74 x 10.04 ) in + 'JP_SUITORISHI' => [1252.913, 1615.748], // = ( 442 x 570 ) mm = ( 17.40 x 22.44 ) in + 'JP_TANZAKU' => [360.000, 1218.898], // = ( 127 x 430 ) mm = ( 5.00 x 16.93 ) in + 'JP_TSUYA_GAMI' => [1440.000, 2160.000], // = ( 508 x 762 ) mm = ( 20.00 x 30.00 ) in + 'JP_UCHIWA' => [649.134, 720.000], // = ( 229 x 254 ) mm = ( 9.02 x 10.00 ) in + 'JP_WAIDO_BAN' => [595.276, 728.504], // = ( 210 x 257 ) mm = ( 8.27 x 10.12 ) in + 'JP_YATSUGIRI_BAN' => [269.291, 360.000], // = ( 95 x 127 ) mm = ( 3.74 x 5.00 ) in + ]; + + /** + * Get page dimensions. + * + * @param string $format The page format name. + * @param string $orientation Page orientation ('P' = portrait; 'L' = landscape, '' = default). + * @param string $unit Unit name (default points). + * @param int $dec Number of decimals to return. + * + * @return array{0:float, 1:float, 2:string} Page width, height and orientation in specified unit. + */ + public function getPageFormatSize( + string $format, + string $orientation = '', + string $unit = '', + int $dec = 6 + ): array { + if (! isset(self::FORMAT[$format])) { + throw new PageException('unknown page format: ' . $format); + } + + return $this->getPageOrientedSize( + $this->convertPoints(self::FORMAT[$format][0], $unit, $dec), + $this->convertPoints(self::FORMAT[$format][1], $unit, $dec), + $orientation + ); + } + + /** + * Returns the page dimensions oriented as specified. + * + * @param float $width Page width. + * @param float $height Page height. + * @param string $orientation Page orientation ('P' = portrait; 'L' = landscape, '' = default). + * + * @return array{0:float, 1:float, 2:string} Page width, height in points and orientation. + */ + public function getPageOrientedSize( + float $width, + float $height, + string $orientation = '' + ): array { + if ($orientation == 'P') { + return [min($width, $height), max($width, $height), 'P']; + } + + if ($orientation == 'L') { + return [max($width, $height), min($width, $height), 'L']; + } + + $orientation = $this->getPageOrientation($width, $height); + return [$width, $height, $orientation]; + } + + /** + * Returns the page orientation. + * + * @param float $width Page width. + * @param float $height Page height. + * + * @return string page orientation 'P' or 'L'. + */ + public function getPageOrientation(float $width, float $height): string + { + if ($width <= $height) { + return 'P'; + } + + return 'L'; + } + + /** + * Get the unit ratio for the specified unit of measure. + * + * @param string $unit Name of the unit of measure. + */ + public function getUnitRatio(string $unit): float + { + $unit = strtolower($unit); + if (! isset(self::UNITRATIO[$unit])) { + throw new PageException('unknown unit: ' . $unit); + } + + return self::UNITRATIO[$unit]; + } + + /** + * Convert Points to another unit. + * + * @param float $points Value to convert. + * @param string $unit Name of the unit to convert to. + * @param int $dec Number of decimals to return. + */ + public function convertPoints(float $points, string $unit, int $dec = 6): float + { + return round(($points / $this->getUnitRatio($unit)), $dec); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Mode.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Mode.php new file mode 100644 index 0000000..83c0681 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Mode.php @@ -0,0 +1,90 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +/** + * Com\Tecnick\Pdf\Page\Mode + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +abstract class Mode extends \Com\Tecnick\Pdf\Page\Format +{ + /** + * Map layouts with their canonical names + * + * @var array + */ + protected const LAYOUT = [ + 'singlepage' => 'SinglePage', // Display one page at a time + 'default' => 'SinglePage', + 'single' => 'SinglePage', + 'onecolumn' => 'OneColumn', // Display the pages in one column + 'continuous' => 'OneColumn', + 'twocolumnleft' => 'TwoColumnLeft', // Display the pages in two columns, with odd-numbered pages on the left + 'two' => 'TwoColumnLeft', + 'twocolumnright' => 'TwoColumnRight', // Display the pages in two columns, with odd-numbered pages on the right + 'twopageleft' => 'TwoPageLeft', // Display the pages two at a time, with odd-numbered pages on the left + 'twopageright' => 'TwoPageRight', // Display the pages two at a time, with odd-numbered pages on the right + ]; + + /** + * Map display modes with their canonical names + * + * @var array + */ + protected const DISPLAY = [ + 'usenone' => 'UseNone', // Neither document outline nor thumbnail images visible + 'useoutlines' => 'UseOutlines', // Document outline visible + 'usethumbs' => 'UseThumbs', // Thumbnail images visible + 'fullscreen' => 'FullScreen', // Full-screen mode, with no menu bar or window controls + 'useoc' => 'UseOC', // (PDF 1.5) Optional content group panel visible + 'useattachments' => 'UseAttachments', // (PDF 1.6) Attachments panel visible + '' => 'UseAttachments', // (PDF 1.6) Attachments panel visible + ]; + + /** + * Get the canonical page layout name. + * + * @param string $name Page layout name. + * + * @return string Canonical page layout name. + */ + public function getLayout(string $name = ''): string + { + $name = strtolower($name); + return self::LAYOUT[$name] ?? 'SinglePage'; + } + + /** + * Get the canonical page display mode. + * + * @param string $mode A name object specifying how the document should be displayed when opened. + * + * @return string Canonical page display mode. + */ + public function getDisplay(string $mode = ''): string + { + $mode = strtolower($mode); + return self::DISPLAY[$mode] ?? 'UseNone'; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Page.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Page.php new file mode 100644 index 0000000..39e6a4e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Page.php @@ -0,0 +1,416 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +use Com\Tecnick\Color\Pdf as Color; +use Com\Tecnick\Pdf\Encrypt\Encrypt; +use Com\Tecnick\Pdf\Page\Exception as PageException; + +/** + * Com\Tecnick\Pdf\Page\Page + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * @phpstan-import-type PageBci from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageBox from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type MarginData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type RegionData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type TransitionData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageData from \Com\Tecnick\Pdf\Page\Box + * + * @SuppressWarnings("PHPMD.TooManyPublicMethods") + */ +class Page extends \Com\Tecnick\Pdf\Page\Region +{ + /** + * Initialize page data. + * + * @param string $unit Unit of measure ('pt', 'mm', 'cm', 'in'). + * @param Color $color Color object. + * @param Encrypt $encrypt Encrypt object. + * @param bool $pdfa True if we are in PDF/A mode. + * @param bool $compress Set to false to disable stream compression. + * @param bool $sigapp True if the signature approval is enabled (for incremental updates). + */ + public function __construct( + string $unit, + Color $color, + Encrypt $encrypt, + bool $pdfa = false, + bool $compress = true, + bool $sigapp = false + ) { + $this->kunit = $this->getUnitRatio($unit); + $this->col = $color; + $this->enc = $encrypt; + $this->pdfa = $pdfa; + $this->compress = $compress; + $this->sigapp = $sigapp; + } + + /** + * Get the unit ratio. + * + * @return float Unit Ratio. + */ + public function getKUnit(): float + { + return $this->kunit; + } + + /** + * Enable Signature Approval. + * + * @param bool $sigapp True if the signature approval is enabled (for incremental updates). + */ + public function enableSignatureApproval(bool $sigapp): static + { + $this->sigapp = $sigapp; + return $this; + } + + /** + * Remove the specified page. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return PageData Removed page. + */ + public function delete(int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + $page = $this->page[$pid]; + --$this->group[$this->page[$pid]['group']]; + unset($this->page[$pid]); + $this->page = array_values($this->page); // reindex array + --$this->pmaxid; + return $page; + } + + /** + * Remove and return last page. + * + * @return PageData Removed page. + */ + public function pop(): array + { + return $this->delete($this->pmaxid); + } + + /** + * Move a page to a previous position. + * + * @param int $from Index of the page to move. + * @param int $new Destination index. + */ + public function move(int $from, int $new): void + { + if (($from <= $new) || ($from > $this->pmaxid)) { + throw new PageException('The new position must be lower than the starting position'); + } + + $this->page = array_values( + [ + ...array_slice($this->page, 0, $new), + $this->page[$from], + ...array_slice($this->page, $new, ($from - $new)), + ...array_slice($this->page, ($from + 1)), + ] + ); + } + + /** + * Returns the array (stack) containing all pages data. + * + * @return array Pages. + */ + public function getPages(): array + { + return $this->page; + } + + /** + * Add Annotation references. + * + * @param int $oid Annotation object IDs. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function addAnnotRef(int $oid, int $pid = -1): void + { + $pid = $this->sanitizePageID($pid); + + if (in_array($oid, $this->page[$pid]['annotrefs'])) { + return; + } + + $this->page[$pid]['annotrefs'][] = $oid; + } + + /** + * Add page content. + * + * @param string $content Page content. + * @param int $pid Page index. Omit or set it to -1 for the current page ID. + */ + public function addContent(string $content, int $pid = -1): void + { + $pid = $this->sanitizePageID($pid); + $this->page[$pid]['content'][] = $content; + } + + /** + * Remove and return last page content. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function popContent(int $pid = -1): string + { + $pid = $this->sanitizePageID($pid); + $page = array_pop($this->page[$pid]['content']); + if ($page === null) { + throw new PageException('Page content is empty'); + } + + return $page; + } + + /** + * Add page content mark. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function addContentMark(int $pid = -1): void + { + $pid = $this->sanitizePageID($pid); + $this->page[$pid]['content_mark'][] = count($this->page[$pid]['content']); + } + + /** + * Remove the last marked page content. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function popContentToLastMark(int $pid = -1): void + { + $pid = $this->sanitizePageID($pid); + $mark = array_pop($this->page[$pid]['content_mark']); + $this->page[$pid]['content'] = array_slice($this->page[$pid]['content'], 0, $mark, true); + } + + /** + * Returns the PDF command to output all page sections. + * + * @param int $pon Current PDF object number. + * + * @return string PDF command. + */ + public function getPdfPages(int &$pon): string + { + $out = $this->getPageRootObj($pon); + foreach ($this->page as $num => $page) { + if (! isset($page['num'])) { + if ($num > 0) { + $page['num'] = ( + $page['group'] == $this->page[($num - 1)]['group'] + ) ? (1 + $this->page[($num - 1)]['num']) : 1; + } else { + $page['num'] = (1 + $num); + } + } + + $this->page[$num]['num'] = $page['num']; + + $content = $this->replacePageTemplates($page); + $out .= $this->getPageContentObj($pon, $content); + $contentobjid = $pon; + + $out .= $page['n'] . ' 0 obj' . "\n" + . '<<' . "\n" + . '/Type /Page' . "\n" + . '/Parent ' . $this->rootoid . ' 0 R' . "\n"; + if (! $this->pdfa) { + $out .= '/Group << /Type /Group /S /Transparency /CS /DeviceRGB >>' . "\n"; + } + + if (! $this->sigapp) { + $out .= '/LastModified ' . $this->enc->getFormattedDate($page['time'], $pon) . "\n"; + } + + $out .= '/Resources ' . $this->rdoid . ' 0 R' . "\n" + . $this->getBox($page['box']) + . $this->getBoxColorInfo($page['box']) + . '/Contents ' . $contentobjid . ' 0 R' . "\n" + . '/Rotate ' . $page['rotation'] . "\n" + . '/PZ ' . sprintf('%F', $page['zoom']) . "\n" + . $this->getPageTransition($page) + . $this->getAnnotationRef($page) + . '>>' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Returns the reserved Object ID for the Resource dictionary. + * + * @return int Resource dictionary Object ID. + */ + public function getResourceDictObjID(): int + { + return $this->rdoid; + } + + /** + * Returns the root object ID. + * + * @return int Root Object ID. + */ + public function getRootObjID(): int + { + return $this->rootoid; + } + + /** + * Returns the PDF command to output the page content. + * + * @param PageData $page Page data. + * + * @return string PDF command. + */ + protected function getPageTransition(array $page): string + { + if (empty($page['transition'])) { + return ''; + } + + $entries = ['B', 'D', 'Di', 'Dm', 'M', 'S', 'SS']; + $out = ''; + $out .= '/Dur ' . sprintf('%F', $page['transition']['Dur']) . "\n"; + + $out .= '/Trans <<' . "\n" + . '/Type /Trans' . "\n"; + foreach ($page['transition'] as $key => $val) { + if (in_array($key, $entries)) { + if (is_float($val)) { + $val = sprintf('%F', $val); + } + + $out .= '/' . $key . ' /' . $val . "\n"; + } + } + + return $out . '>>' . "\n"; + } + + /** + * Get references to page annotations. + * + * @param PageData $page Page data. + * + * @return string PDF command. + */ + protected function getAnnotationRef(array $page): string + { + if (empty($page['annotrefs'])) { + return ''; + } + + $out = '/Annots [ '; + sort($page['annotrefs']); + foreach ($page['annotrefs'] as $val) { + $out .= (int) $val . ' 0 R '; + } + + return $out . ']' . "\n"; + } + + /** + * Returns the PDF command to output the page content. + * + * @param int $pon Current PDF object number. + * @param string $content Page content. + * + * @return string PDF command. + */ + protected function getPageContentObj(int &$pon, string $content = ''): string + { + $out = ++$pon . ' 0 obj' . "\n" + . '<<'; + if ($this->compress) { + $out .= ' /Filter /FlateDecode'; + $cmpr = gzcompress($content); + if ($cmpr !== false) { + $content = $cmpr; + } + } + + $stream = $this->enc->encryptString($content, $pon); + return $out . ' /Length ' . strlen($stream) + . ' >>' . "\n" + . 'stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + /** + * Returns the PDF command to output the page root object. + * + * @param int $pon Current PDF object number. + * + * @return string PDF command. + */ + protected function getPageRootObj(int &$pon): string + { + $this->rdoid = ++$pon; // reserve object ID for the resource dictionary + $this->rootoid = ++$pon; + $out = $this->rootoid . ' 0 obj' . "\n"; + $out .= '<< /Type /Pages /Kids [ '; + $numpages = count($this->page); + for ($pid = 0; $pid < $numpages; ++$pid) { + $this->page[$pid]['n'] = ++$pon; + $out .= $this->page[$pid]['n'] . ' 0 R '; + } + + return $out . '] /Count ' . $numpages . ' >>' . "\n" + . 'endobj' . "\n"; + } + + /** + * Replace page templates and numbers. + * + * @param PageData $data Page data. + */ + protected function replacePageTemplates(array $data): string + { + return implode( + "\n", + str_replace( + [self::PAGE_TOT, self::PAGE_NUM], + [(string) $this->group[$data['group']], (string) $data['num']], + $data['content'] + ) + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Region.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Region.php new file mode 100644 index 0000000..cf450f3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Region.php @@ -0,0 +1,382 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +use Com\Tecnick\Pdf\Page\Exception as PageException; + +/** + * Com\Tecnick\Pdf\Page\Region + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * @phpstan-import-type RegionData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageInputData from \Com\Tecnick\Pdf\Page\Box + * + * A page region defines the writable area of the page. + */ +abstract class Region extends \Com\Tecnick\Pdf\Page\Settings +{ + /** + * Add a new page. + * + * @param PageInputData $data Page data: + * annotrefs : array containing the annotation object references. + * autobreak : true to automatically add a page when the content reaches the breaking point. + * box : array containing page box boundaries and settings (@see setBox). + * columns : number of equal vertical columns, if set it will automatically populate the region array. + * content : string containing the raw page content. + * format : page format name, or alternatively you can set width and height as below. + * group : page group number. + * height : page height. + * margin : page margins: + * - booklet : true to enable booklet mode + * - PL : page left margin measured from the left page edge + * - PR : page right margin measured from the right page edge + * - PT : page top or header top measured distance from the top page edge + * - HB : header bottom measured from the top page edge + * - CT : content top measured from the top page edge + * - CB : content bottom (page breaking point) measured from the top page edge + * - FT : footer top measured from the bottom page edge + * - PB : page bottom (footer bottom) measured from the bottom page edge + * num : if set overwrites the page number. + * orientation : page orientation ('P' or 'L'). + * region : array containing the ordered list of rectangular areas where it is allowed to write, + * each region is defined by: + * - RX : horizontal coordinate of top-left corner + * - RY : vertical coordinate of top-left corner + * - RW : region width + * - RH : region height + * rotation : the number of degrees by which the page shall be rotated clockwise when displayed or printed. + * time : UTC page modification time in seconds. + * transition : array containing page transition data (@see getPageTransition). + * width : page width. + * zoom : preferred zoom (magnification) factor: 1.0 = 100%. + * + * NOTE: if $data is null, then the last page format will be cloned. + * + * @return PageData Page data with additional Page ID property 'pid'. + */ + public function add(array $data = []): array + { + if (($data === []) && ($this->pmaxid >= 0)) { + // clone last page data + $data = $this->page[$this->pmaxid]; + unset($data['time'], $data['content'], $data['annotrefs'], $data['pagenum']); + } else { + $this->sanitizeGroup($data); + $this->sanitizeRotation($data); + $this->sanitizeZoom($data); + $this->sanitizePageFormat($data); + $this->sanitizeBoxData($data); + $this->sanitizeTransitions($data); + $this->sanitizeMargins($data); + $this->sanitizeRegions($data); + } + + $this->sanitizeTime($data); + $this->sanitizeContent($data); + $this->sanitizeAnnotRefs($data); + $this->sanitizePageNumber($data); + $data['content_mark'] = [0]; + $data['currentRegion'] = 0; + $data['pid'] = ++$this->pmaxid; + $this->pid = $data['pid']; + $this->page[$this->pid] = $data; // @phpstan-ignore assign.propertyType + if (isset($data['group'])) { + if (isset($this->group[$data['group']])) { + ++$this->group[(int) $data['group']]; + } else { + $this->group[(int) $data['group']] = 1; + } + } + + return $this->page[$this->pid]; // @phpstan-ignore return.type + } + + /** + * Set the current page number (move to the specified page). + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return PageData Page data. + */ + public function setCurrentPage(int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + $this->pid = $pid; + return $this->page[$this->pid]; + } + + /** + * Returns the specified page data. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return PageData Page data. + */ + public function getPage(int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + return $this->page[$pid]; + } + + + /** + * Check if the specified page ID exist. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return int Page ID. + */ + protected function sanitizePageID(int $pid = -1): int + { + if ($pid < 0) { + $pid = $this->pid; + } + + if (! isset($this->page[$pid])) { + throw new PageException('The page with index ' . $pid . ' do not exist.'); + } + + return $pid; + } + + /** + * Select the specified page region. + * + * @param int $idr ID of the region. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return RegionData Selected region data. + */ + public function selectRegion(int $idr, int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + $this->page[$pid]['currentRegion'] = min(max(0, $idr), $this->page[$pid]['columns']); + return $this->getRegion(); + } + + /** + * Returns the current region data. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return RegionData Region. + */ + public function getRegion(int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + return $this->page[$pid]['region'][$this->page[$pid]['currentRegion']]; + } + + /** + * Returns the next page data. + * Creates a new page if required and page break is enabled. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return PageData Page data. + */ + public function getNextPage(int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + if ($pid < $this->pmaxid) { + $this->pid = ++$pid; + return $this->page[$this->pid]; + } + + if (! $this->isAutoPageBreakEnabled()) { + return $this->setCurrentPage($pid); + } + + return $this->add(); + } + + /** + * Returns the page data with the next selected region. + * If there are no more regions available, then the first region on the next page is selected. + * A new page is added if required. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return PageData Current page data. + */ + public function getNextRegion(int $pid = -1): array + { + $pid = $this->sanitizePageID($pid); + $nextid = ($this->page[$pid]['currentRegion'] + 1); + if (isset($this->page[$pid]['region'][$nextid])) { + $this->page[$pid]['currentRegion'] = $nextid; + return $this->page[$pid]; + } + + return $this->getNextPage($pid); + } + + /** + * Move to the next page region if required. + * + * @param float $height Height of the block to add. + * @param ?float $ypos Starting Y position or NULL for current position. + * @param int $pid Page index. Omit or set it to -1 for the current page ID. + * + * @return PageData Page data. + */ + public function checkRegionBreak( + float $height = 0.0, + ?float $ypos = null, + int $pid = -1, + ): array { + if ($this->isYOutRegion($ypos, $height, $pid)) { + return $this->getNextRegion($pid); + } + + return $this->getPage($pid); + } + + /** + * Return the auto-page-break status. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + * + * @return bool True if the auto page break is enabled, false otherwise. + */ + public function isAutoPageBreakEnabled(int $pid = -1): bool + { + $pid = $this->sanitizePageID($pid); + return $this->page[$pid]['autobreak']; + } + + /** + * Enable or disable automatic page break. + * + * @param bool $isenabled Set this to true to enable automatic page break. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function enableAutoPageBreak(bool $isenabled = true, int $pid = -1): void + { + $pid = $this->sanitizePageID($pid); + $this->page[$pid]['autobreak'] = $isenabled; + } + + /** + * Check if the specified position is outside the region. + * + * @param float $pos Position. + * @param string $min ID of the min region value to check. + * @param string $max ID of the max region value to check. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + private function isOutRegion(float $pos, string $min, string $max, int $pid = -1): bool + { + $region = $this->getRegion($pid); + return (($pos < ($region[$min] - self::EPS)) || ($pos > ($region[$max] + self::EPS))); + } + + /** + * Check if the specified vertical position is outside the region. + * + * @param ?float $posy Y position or NULL for current position. + * @param float $height Additional height to add. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function isYOutRegion( + ?float $posy = null, + float $height = 0.0, + int $pid = -1, + ): bool { + if ($posy === null) { + $posy = $this->getY(); + } + + return $this->isOutRegion($posy + $height, 'RY', 'RT', $pid); + } + + /** + * Check if the specified horizontal position is outside the region. + * + * @param ?float $posx X position or NULL for current position. + * @param float $width Additional width to add. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function isXOutRegion( + ?float $posx = null, + float $width = 0.0, + int $pid = -1 + ): bool { + if ($posx === null) { + $posx = $this->getX(); + } + + return $this->isOutRegion($posx + $width, 'RX', 'RL', $pid); + } + + /** + * Return the absolute horizontal cursor position for the current region. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function getX(int $pid = -1): float + { + $pid = $this->sanitizePageID($pid); + return $this->page[$pid]['region'][$this->page[$pid]['currentRegion']]['x']; + } + + /** + * Return the absolute vertical cursor position for the current region. + * + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function getY(int $pid = -1): float + { + $pid = $this->sanitizePageID($pid); + return $this->page[$pid]['region'][$this->page[$pid]['currentRegion']]['y']; + } + + /** + * Set the absolute horizontal cursor position for the current region. + * + * @param float $xpos X position relative to the page coordinates. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function setX(float $xpos, int $pid = -1): static + { + $pid = $this->sanitizePageID($pid); + $this->page[$pid]['region'][$this->page[$pid]['currentRegion']]['x'] = $xpos; + return $this; + } + + /** + * Set the absolute vertical cursor position for the current region. + * + * @param float $ypos Y position relative to the page coordinates. + * @param int $pid page index. Omit or set it to -1 for the current page ID. + */ + public function setY(float $ypos, int $pid = -1): static + { + $pid = $this->sanitizePageID($pid); + $this->page[$pid]['region'][$this->page[$pid]['currentRegion']]['y'] = $ypos; + return $this; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/src/Settings.php b/vendor/tecnickcom/tc-lib-pdf-page/src/Settings.php new file mode 100644 index 0000000..9b65f3e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/src/Settings.php @@ -0,0 +1,605 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Com\Tecnick\Pdf\Page; + +use Com\Tecnick\Pdf\Encrypt\Encrypt; + +/** + * Com\Tecnick\Pdf\Page\Settings + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * @phpstan-import-type PageBci from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageBox from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type MarginData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type RegionData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type TransitionData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageInputData from \Com\Tecnick\Pdf\Page\Box + * + * @SuppressWarnings("PHPMD.TooManyPublicMethods") + * @SuppressWarnings("PHPMD.ExcessiveClassComplexity") + */ +abstract class Settings extends \Com\Tecnick\Pdf\Page\Box +{ + /** + * Epsilon precision used to compare floating point values. + */ + public const EPS = 0.0001; + + /** + * Alias for total number of pages in a group. + * + * @var string + */ + public const PAGE_TOT = '~#PT'; + + /** + * Alias for page number. + * + * @var string + */ + public const PAGE_NUM = '~#PN'; + + /** + * Array of pages (stack). + * + * @var array + */ + protected array $page = []; + + /** + * Current page ID. + */ + protected int $pid = -1; + + /** + * Maximum page ID. + */ + protected int $pmaxid = -1; + + /** + * Count pages in each group. + * + * @var array + */ + protected array $group = [ + 0 => 0, + ]; + + /** + * Encrypt object. + */ + protected Encrypt $enc; + + /** + * True if we are in PDF/A mode. + */ + protected bool $pdfa = false; + + /** + * Enable stream compression. + */ + protected bool $compress = true; + + /** + * True if the signature approval is enabled (for incremental updates). + */ + protected bool $sigapp = false; + + /** + * Reserved Object ID for the resource dictionary. + */ + protected int $rdoid = 1; + + /** + * Root object ID. + */ + protected int $rootoid = 0; + + /** + * Return the current page ID. + * + * @return int Page ID. + */ + public function getPageID(): int + { + return $this->pid; + } + + /** + * Sanitize or set the page modification time. + * + * @param PageInputData $data Page data. + */ + public function sanitizePageNumber(array &$data): void + { + if (! empty($data['num'])) { + $data['num'] = max(0, (int) $data['num']); + } + } + + /** + * Sanitize or set the page modification time. + * + * @param PageInputData $data Page data. + */ + public function sanitizeTime(array &$data): void + { + $data['time'] = empty($data['time']) ? time() : max(0, (int) $data['time']); + } + + /** + * Sanitize or set the page group. + * + * @param PageInputData $data Page data. + */ + public function sanitizeGroup(array &$data): void + { + $data['group'] = empty($data['group']) ? 0 : max(0, $data['group']); + } + + /** + * Sanitize or set the page content. + * + * @param PageInputData $data Page data. + */ + public function sanitizeContent(array &$data): void + { + if (empty($data['content'])) { + $data['content'] = ['']; + return; + } + + if (is_string($data['content'])) { + $data['content'] = [(string) $data['content']]; // @phpstan-ignore parameterByRef.type + } + } + + /** + * Sanitize or set the annotation references. + * + * @param PageInputData $data Page data. + */ + public function sanitizeAnnotRefs(array &$data): void + { + if (empty($data['annotrefs'])) { + $data['annotrefs'] = []; + } + } + + /** + * Sanitize or set the page rotation. + * The number of degrees by which the page shall be rotated clockwise when displayed or printed. + * The value shall be a multiple of 90. + * + * @param PageInputData $data Page data. + */ + public function sanitizeRotation(array &$data): void + { + $data['rotation'] = empty($data['rotation']) || ($data['rotation'] % 90 != 0) ? 0 : (int) $data['rotation']; + } + + /** + * Sanitize or set the page preferred zoom (magnification) factor. + * + * @param PageInputData $data Page data. + */ + public function sanitizeZoom(array &$data): void + { + $data['zoom'] = empty($data['zoom']) ? 1 : $data['zoom']; // @phpstan-ignore parameterByRef.type + } + + /** + * Sanitize or set the page transitions. + * + * @param PageInputData $data Page data. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + public function sanitizeTransitions(array &$data): void + { + if (empty($data['transition'])) { + return; + } + + // display duration before advancing page + if (empty($data['transition']['Dur'])) { + unset($data['transition']['Dur']); + } else { + $data['transition']['Dur'] = max(0, $data['transition']['Dur']); // @phpstan-ignore parameterByRef.type + } + + // transition style + $styles = [ + 'Split', + 'Blinds', + 'Box', + 'Wipe', + 'Dissolve', + 'Glitter', + 'R', + 'Fly', + 'Push', + 'Cover', + 'Uncover', + 'Fade', + ]; + if (empty($data['transition']['S']) || ! in_array($data['transition']['S'], $styles)) { + $data['transition']['S'] = 'R'; // @phpstan-ignore parameterByRef.type + } + + // duration of the transition effect, in seconds + $data['transition']['D'] ??= 1; // @phpstan-ignore parameterByRef.type + + // dimension in which the specified transition effect shall occur + if ( + empty($data['transition']['Dm']) + || ! in_array($data['transition']['S'], ['Split', 'Blinds']) + || ! in_array($data['transition']['Dm'], ['H', 'V']) + ) { + unset($data['transition']['Dm']); // @phpstan-ignore parameterByRef.type + } + + // direction of motion for the specified transition effect + if ( + empty($data['transition']['M']) + || ! in_array($data['transition']['S'], ['Split', 'Box', 'Fly']) + || ! in_array($data['transition']['M'], ['I', 'O']) + ) { + unset($data['transition']['M']); // @phpstan-ignore parameterByRef.type + } + + // direction in which the specified transition effect shall moves + if ( + empty($data['transition']['Di']) + || ! in_array($data['transition']['S'], ['Wipe', 'Glitter', 'Fly', 'Cover', 'Uncover', 'Push']) + || ! in_array($data['transition']['Di'], ['None', 0, 90, 180, 270, 315]) + || (in_array($data['transition']['Di'], [90, 180]) && ($data['transition']['S'] != 'Wipe')) + || (($data['transition']['Di'] == 315) && ($data['transition']['S'] != 'Glitter')) + || (($data['transition']['Di'] == 'None') && ($data['transition']['S'] != 'Fly')) + ) { + unset($data['transition']['Di']); // @phpstan-ignore parameterByRef.type + } + + // If true, the area that shall be flown in is rectangular and opaque + $data['transition']['B'] = ! empty($data['transition']['B']); // @phpstan-ignore parameterByRef.type + } + + /** + * Sanitize or set the page margins. + * + * @param PageInputData $data Page data. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + public function sanitizeMargins(array &$data): void + { + if (empty($data['margin'])) { + $data['margin'] = ['booklet' => false]; + if (empty($data['width']) || empty($data['height'])) { + [$data['width'], $data['height'], $data['orientation']] = $this->getPageFormatSize('A4', 'P'); + $data['width'] /= $this->kunit; + $data['height'] /= $this->kunit; + } + } + + if (!isset($data['margin']['booklet'])) { + $data['margin']['booklet'] = false; + } + + $dataWidth = $data['width'] ?? 0; + $dataHeight = $data['height'] ?? 0; + + $margins = [ + 'PL' => $dataWidth, + 'PR' => $dataWidth, + 'PT' => $dataHeight, + 'HB' => $dataHeight, + 'CT' => $dataHeight, + 'CB' => $dataHeight, + 'FT' => $dataHeight, + 'PB' => $dataHeight, + ]; + + if (empty($data['margin'])) { + $data['margin'] = []; + } + + foreach ($margins as $type => $max) { + $data['margin'][$type] = ( // @phpstan-ignore parameterByRef.type + empty($data['margin'][$type]) + ) ? 0 : min(max(0, $data['margin'][$type]), $max); + } + + if ($data['margin']['booklet'] && ($this->pid % 2 == 0)) { + // swap margins on odd pages + // NOTE: $this->pid is the previous page (0 indexed). + $mtmp = $data['margin']['PL']; + $data['margin']['PL'] = $data['margin']['PR']; // @phpstan-ignore parameterByRef.type + $data['margin']['PR'] = $mtmp; // @phpstan-ignore parameterByRef.type + } + + $data['margin']['PR'] = min( // @phpstan-ignore parameterByRef.type + $data['margin']['PR'], + ($dataWidth - $data['margin']['PL']) + ); + $data['margin']['HB'] = max( // @phpstan-ignore parameterByRef.type + $data['margin']['HB'], + $data['margin']['PT'] + ); + $data['margin']['CT'] = max( // @phpstan-ignore parameterByRef.type + $data['margin']['CT'], + $data['margin']['HB'] + ); + $data['margin']['CB'] = min( // @phpstan-ignore parameterByRef.type + $data['margin']['CB'], + ($dataHeight - $data['margin']['CT']) + ); + $data['margin']['FT'] = min( // @phpstan-ignore parameterByRef.type + $data['margin']['FT'], + $data['margin']['CB'] + ); + $data['margin']['PB'] = min( // @phpstan-ignore parameterByRef.type + $data['margin']['PB'], + $data['margin']['FT'] + ); + + $data['ContentWidth'] = ( // @phpstan-ignore parameterByRef.type + $dataWidth - $data['margin']['PL'] - $data['margin']['PR']); + $data['ContentHeight'] = ( // @phpstan-ignore parameterByRef.type + $dataHeight - $data['margin']['CT'] - $data['margin']['CB']); + $data['HeaderHeight'] = ( // @phpstan-ignore parameterByRef.type + $data['margin']['HB'] - $data['margin']['PT']); + $data['FooterHeight'] = ( // @phpstan-ignore parameterByRef.type + $data['margin']['FT'] - $data['margin']['PB']); + } + + /** + * Sanitize or set the page regions (columns). + * + * @param PageInputData $data Page data. + */ + public function sanitizeRegions(array &$data): void + { + if (! empty($data['columns'])) { + // set eaual columns + $data['region'] = []; + $width = (($data['ContentWidth'] ?? 0) / ($data['columns'] ?? 1)); + for ($idx = 0; $idx < $data['columns']; ++$idx) { + $data['region'][] = [ // @phpstan-ignore parameterByRef.type + 'RX' => (($data['margin']['PL'] ?? 0) + ($idx * $width)), + 'RY' => ($data['margin']['CT'] ?? 0), + 'RW' => $width, + 'RH' => ($data['ContentHeight'] ?? 0), + ]; + } + } + + if (empty($data['region'])) { + // default single region + $data['region'] = [[ // @phpstan-ignore parameterByRef.type + 'RX' => ($data['margin']['PL'] ?? 0), + 'RY' => ($data['margin']['CT'] ?? 0), + 'RW' => ($data['ContentWidth'] ?? 0), + 'RH' => ($data['ContentHeight'] ?? 0), + ]]; + } + + $data['columns'] = 0; // @phpstan-ignore parameterByRef.type + foreach ($data['region'] as $key => $val) { + // region width + $data['region'][$key]['RW'] = min( // @phpstan-ignore parameterByRef.type + max( + 0, + ($val['RW'] ?? 0), + ), + ($data['ContentWidth'] ?? 0) + ); + // horizontal coordinate of the top-left corner + $data['region'][$key]['RX'] = min( // @phpstan-ignore parameterByRef.type + max(0, ($val['RX'] ?? 0)), + (($data['width'] ?? 0) - ($data['margin']['PR'] ?? 0) - ($val['RW'] ?? 0)) + ); + // distance of the region right side from the left page edge + $data['region'][$key]['RL'] = ( // @phpstan-ignore parameterByRef.type + ($val['RX'] ?? 0) + ($val['RW'] ?? 0)); + // distance of the region right side from the right page edge + $data['region'][$key]['RR'] = ( // @phpstan-ignore parameterByRef.type + ($data['width'] ?? 0) - ($val['RX'] ?? 0) - ($val['RW'] ?? 0)); + // region height + $data['region'][$key]['RH'] = min( // @phpstan-ignore parameterByRef.type + max( + 0, + ($val['RH'] ?? 0) + ), + ($data['ContentHeight'] ?? 0) + ); + // vertical coordinate of the top-left corner + $data['region'][$key]['RY'] = min( // @phpstan-ignore parameterByRef.type + max(0, ($val['RY'] ?? 0)), + (($data['height'] ?? 0) - ($data['margin']['CB'] ?? 0) - ($val['RH'] ?? 0)) + ); + // distance of the region bottom side from the top page edge + $data['region'][$key]['RT'] = ( // @phpstan-ignore parameterByRef.type + ($val['RY'] ?? 0) + ($val['RH'] ?? 0)); + // distance of the region bottom side from the bottom page edge + $data['region'][$key]['RB'] = ( // @phpstan-ignore parameterByRef.type + ($data['height'] ?? 0) - ($val['RY'] ?? 0) - ($val['RH'] ?? 0)); + + // initialize cursor position inside the region + $data['region'][$key]['x'] = $data['region'][$key]['RX']; // @phpstan-ignore parameterByRef.type + $data['region'][$key]['y'] = $data['region'][$key]['RY']; // @phpstan-ignore parameterByRef.type + + ++$data['columns']; // @phpstan-ignore parameterByRef.type + } + + if (! isset($data['autobreak'])) { + $data['autobreak'] = true; // @phpstan-ignore parameterByRef.type + } + } + + /** + * Sanitize or set the page boxes containing the page boundaries. + * + * @param PageInputData $data Page data. + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + * @SuppressWarnings("PHPMD.NPathComplexity") + */ + public function sanitizeBoxData(array &$data): void + { + if (empty($data['box'])) { + if (empty($data['pwidth']) || empty($data['pheight'])) { + [$data['pwidth'], $data['pheight'], $data['orientation']] = $this->getPageFormatSize('A4', 'P'); + } + + $data['box'] = $this->setPageBoxes(($data['pwidth'] ?? 0), ($data['pheight'] ?? 0)); + } else { + if (isset($data['format']) && $data['format'] !== '' && ($data['format'] == 'MediaBox')) { + $data['format'] = ''; + $data['width'] = abs( + ($data['box']['MediaBox']['urx'] ?? 0) - ($data['box']['MediaBox']['llx'] ?? 0) + ) / $this->kunit; + $data['height'] = abs( + ($data['box']['MediaBox']['ury'] ?? 0) - ($data['box']['MediaBox']['lly'] ?? 0) + ) / $this->kunit; + $this->sanitizePageFormat($data); + } + + if (empty($data['box']['MediaBox'])) { + $data['box'] = $this->setBox( + $data['box'] ?? $this->setPageBoxes( // @phpstan-ignore argument.type + ($data['pwidth'] ?? 0), + ($data['pheight'] ?? 0) + ), + 'MediaBox', + 0, + 0, + ($data['pwidth'] ?? 0), + ($data['pheight'] ?? 0), + ); + } + + if (empty($data['box']['CropBox'])) { + $data['box'] = $this->setBox( + $data['box'], // @phpstan-ignore argument.type + 'CropBox', + ($data['box']['MediaBox']['llx'] ?? 0), + ($data['box']['MediaBox']['lly'] ?? 0), + ($data['box']['MediaBox']['urx'] ?? 0), + ($data['box']['MediaBox']['ury'] ?? 0), + ); + } + + if (empty($data['box']['BleedBox'])) { + $data['box'] = $this->setBox( + $data['box'], // @phpstan-ignore argument.type + 'BleedBox', + ($data['box']['CropBox']['llx'] ?? 0), + ($data['box']['CropBox']['lly'] ?? 0), + ($data['box']['CropBox']['urx'] ?? 0), + ($data['box']['CropBox']['ury'] ?? 0), + ); + } + + if (empty($data['box']['TrimBox'])) { + $data['box'] = $this->setBox( + $data['box'], // @phpstan-ignore argument.type + 'TrimBox', + ($data['box']['CropBox']['llx'] ?? 0), + ($data['box']['CropBox']['lly'] ?? 0), + ($data['box']['CropBox']['urx'] ?? 0), + ($data['box']['CropBox']['ury'] ?? 0), + ); + } + + if (empty($data['box']['ArtBox'])) { + $data['box'] = $this->setBox( + $data['box'], // @phpstan-ignore argument.type + 'ArtBox', + ($data['box']['CropBox']['llx'] ?? 0), + ($data['box']['CropBox']['lly'] ?? 0), + ($data['box']['CropBox']['urx'] ?? 0), + ($data['box']['CropBox']['ury'] ?? 0), + ); + } + } + + $orientation = $this->getPageOrientation( + abs( + ($data['box']['MediaBox']['urx'] ?? 0) - ($data['box']['MediaBox']['llx'] ?? 0) + ), + abs( + ($data['box']['MediaBox']['ury'] ?? 0) - ($data['box']['MediaBox']['lly'] ?? 0) + ) + ); + if (empty($data['orientation'])) { + $data['orientation'] = $orientation; + } elseif ($data['orientation'] != $orientation) { + $data['box'] = $this->swapCoordinates($data['box']); // @phpstan-ignore argument.type + } + } + + /** + * Sanitize or set the page format. + * + * @param PageInputData $data Page data. + */ + public function sanitizePageFormat(array &$data): void + { + if (empty($data['orientation'])) { + $data['orientation'] = ''; + } + + if (! empty($data['format'])) { + [$data['pwidth'], $data['pheight'], $data['orientation']] = $this->getPageFormatSize( + $data['format'], + $data['orientation'] + ); + $data['width'] = ($data['pwidth'] / $this->kunit); + $data['height'] = ($data['pheight'] / $this->kunit); + } else { + $data['format'] = 'CUSTOM'; + if (empty($data['width']) || empty($data['height'])) { + // default page format + $data['format'] = 'A4'; + $data['orientation'] = 'P'; + $this->sanitizePageFormat($data); + return; + } + + [$data['width'], $data['height'], $data['orientation']] = $this->getPageOrientedSize( + $data['width'], + $data['height'], + $data['orientation'] + ); + } + + // convert values in points + $data['pwidth'] = ($data['width'] * $this->kunit); + $data['pheight'] = ($data['height'] * $this->kunit); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/BoxTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/BoxTest.php new file mode 100644 index 0000000..92fd84a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/BoxTest.php @@ -0,0 +1,153 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +/** + * Box Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class BoxTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new \Com\Tecnick\Color\Pdf(); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, false); + } + + public function testSetBox(): void + { + $page = $this->getTestObject(); + $dims = $page->setBox([], 'CropBox', 2, 4, 6, 8); + $this->bcAssertEqualsWithDelta( + [ + 'CropBox' => [ + 'llx' => 2, + 'lly' => 4, + 'urx' => 6, + 'ury' => 8, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [3], + ], + ], + ], + $dims + ); + + $dims = $page->setBox( + [], + 'TrimBox', + 3, + 5, + 7, + 11, + [ + 'color' => 'aquamarine', + 'width' => 2, + 'style' => 'D', + 'dash' => [2, 3, 5, 7], + ] + ); + $this->bcAssertEqualsWithDelta( + [ + 'TrimBox' => [ + 'llx' => 3, + 'lly' => 5, + 'urx' => 7, + 'ury' => 11, + 'bci' => [ + 'color' => 'aquamarine', + 'width' => 2, + 'style' => 'D', + 'dash' => [2, 3, 5, 7], + ], + ], + ], + $dims + ); + } + + public function testSetBoxEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class); + $page = $this->getTestObject(); + $page->setBox([], 'ERROR', 1, 2, 3, 4); + } + + public function testSwapCoordinates(): void + { + $page = $this->getTestObject(); + $dims = [ + 'CropBox' => [ + 'llx' => 2, + 'lly' => 4, + 'urx' => 6, + 'ury' => 8, + ], + ]; + $newpagedim = $page->swapCoordinates($dims); + $this->assertEquals( + [ + 'CropBox' => [ + 'llx' => 4, + 'lly' => 2, + 'urx' => 8, + 'ury' => 6, + ], + ], + $newpagedim + ); + } + + public function testSetPageBoxes(): void + { + $page = $this->getTestObject(); + $dims = $page->setPageBoxes(100, 200); + $exp = [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 100, + 'ury' => 200, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [3], + ], + ]; + $this->bcAssertEqualsWithDelta( + [ + 'MediaBox' => $exp, + 'CropBox' => $exp, + 'BleedBox' => $exp, + 'TrimBox' => $exp, + 'ArtBox' => $exp, + ], + $dims + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/FormatTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/FormatTest.php new file mode 100644 index 0000000..35bbc30 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/FormatTest.php @@ -0,0 +1,96 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +/** + * Format Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class FormatTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new \Com\Tecnick\Color\Pdf(); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, false); + } + + public function testGetPageSize(): void + { + $page = $this->getTestObject(); + $dims = $page->getPageFormatSize('A0'); + $this->assertEquals([2383.937, 3370.394, 'P'], $dims); + + $dims = $page->getPageFormatSize('A4', '', 'in', 2); + $this->assertEquals([8.27, 11.69, 'P'], $dims); + + $dims = $page->getPageFormatSize('LEGAL', '', 'mm', 0); + $this->assertEquals([216, 356, 'P'], $dims); + + $dims = $page->getPageFormatSize('LEGAL', 'P', 'mm', 0); + $this->assertEquals([216, 356, 'P'], $dims); + + $dims = $page->getPageFormatSize('LEGAL', 'L', 'mm', 0); + $this->assertEquals([356, 216, 'L'], $dims); + } + + public function testGetPageSizeEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class); + $page = $this->getTestObject(); + $page->getPageFormatSize('*ERROR*'); + } + + public function testGetPageOrientedSize(): void + { + $page = $this->getTestObject(); + $dims = $page->getPageOrientedSize(10, 20); + $this->assertEquals([10, 20, 'P'], $dims); + + $dims = $page->getPageOrientedSize(10, 20, 'P'); + $this->assertEquals([10, 20, 'P'], $dims); + + $dims = $page->getPageOrientedSize(10, 20, 'L'); + $this->assertEquals([20, 10, 'L'], $dims); + + $dims = $page->getPageOrientedSize(20, 10, 'P'); + $this->assertEquals([10, 20, 'P'], $dims); + + $dims = $page->getPageOrientedSize(20, 10, 'L'); + $this->assertEquals([20, 10, 'L'], $dims); + + $dims = $page->getPageOrientedSize(20, 10); + $this->assertEquals([20, 10, 'L'], $dims); + } + + public function testGetPageOrientation(): void + { + $page = $this->getTestObject(); + $orient = $page->getPageOrientation(10, 20); + $this->assertEquals('P', $orient); + + $orient = $page->getPageOrientation(20, 10); + $this->assertEquals('L', $orient); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/ModeTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/ModeTest.php new file mode 100644 index 0000000..7d890b9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/ModeTest.php @@ -0,0 +1,54 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +/** + * Mode Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class ModeTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new \Com\Tecnick\Color\Pdf(); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, false); + } + + public function testGetLayout(): void + { + $page = $this->getTestObject(); + $this->assertEquals('TwoColumnLeft', $page->getLayout('two')); + $this->assertEquals('SinglePage', $page->getLayout('')); + $this->assertEquals('SinglePage', $page->getLayout()); + } + + public function testGetDisplay(): void + { + $page = $this->getTestObject(); + $this->assertEquals('UseThumbs', $page->getDisplay('usethumbs')); + $this->assertEquals('UseAttachments', $page->getDisplay('')); + $this->assertEquals('UseNone', $page->getDisplay('something')); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/PageTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/PageTest.php new file mode 100644 index 0000000..c70bdbb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/PageTest.php @@ -0,0 +1,351 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +/** + * Page Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class PageTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new \Com\Tecnick\Color\Pdf(); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, true, false); + } + + public function testGetKUnit(): void + { + $page = $this->getTestObject(); + $this->bcAssertEqualsWithDelta(2.83464566929134, $page->getKUnit(), 0.001); + } + + public function testEnableSignatureApproval(): void + { + $page = $this->getTestObject(); + $res = $page->enableSignatureApproval(true); + $this->assertNotNull($res); // @phpstan-ignore method.alreadyNarrowedType + } + + public function testAdd(): void + { + $page = $this->getTestObject(); + // 1 + $res = $page->add(); + + $box = [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.2765, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ]; + + $exp = [ + 'group' => 0, + 'rotation' => 0, + 'zoom' => 1, + 'orientation' => 'P', + 'format' => 'A4', + 'pheight' => 841.890, + 'pwidth' => 595.2765, + 'width' => 210, + 'height' => 297, + 'box' => [ + 'MediaBox' => $box, + 'CropBox' => $box, + 'BleedBox' => $box, + 'TrimBox' => $box, + 'ArtBox' => $box, + ], + 'margin' => [ + 'booklet' => false, + 'PL' => 0, + 'PR' => 0, + 'PT' => 0, + 'HB' => 0, + 'CT' => 0, + 'CB' => 0, + 'FT' => 0, + 'PB' => 0, + ], + 'ContentWidth' => 210, + 'ContentHeight' => 297, + 'HeaderHeight' => 0, + 'FooterHeight' => 0, + 'region' => [[ + 'RX' => 0, + 'RY' => 0, + 'RW' => 210, + 'RH' => 297, + 'RL' => 210, + 'RR' => 0.0, + 'RT' => 297, + 'RB' => 0.0, + 'x' => 0.0, + 'y' => 0.0, + ]], + 'currentRegion' => 0, + 'columns' => 1, + 'content' => [ + 0 => '', + ], + 'annotrefs' => [], + 'content_mark' => [ + 0 => 0, + ], + 'autobreak' => true, + ]; + + unset($res['time']); + $exp['pid'] = 0; + $this->bcAssertEqualsWithDelta($exp, $res); + + // 2 + $res = $page->add(); + unset($res['time']); + $exp['pid'] = 1; + $this->bcAssertEqualsWithDelta($exp, $res); + + // 3 + $res = $page->add( + [ + 'group' => 1, + ] + ); + unset($res['time']); + $exp['pid'] = 2; + $exp['group'] = 1; + $this->bcAssertEqualsWithDelta($exp, $res); + + // 3 + $res = $page->add( + [ + 'columns' => 2, + ] + ); + unset($res['time']); + $exp['pid'] = 3; + $exp['group'] = 0; + $exp['columns'] = 2; + $exp['region'] = [ + 0 => [ + 'RX' => 0, + 'RY' => 0, + 'RW' => 105, + 'RH' => 297, + 'RL' => 105, + 'RR' => 105, + 'RT' => 297, + 'RB' => 0, + 'x' => 0, + 'y' => 0, + ], + 1 => [ + 'RX' => 105, + 'RY' => 0, + 'RW' => 105, + 'RH' => 297, + 'RL' => 210, + 'RR' => 0.0, + 'RT' => 297, + 'RB' => 0, + 'x' => 105, + 'y' => 0, + ], + ]; + $this->bcAssertEqualsWithDelta($exp, $res); + + $pid = $page->getPageID(); + $this->assertEquals(3, $pid); + } + + public function testGetNextPage(): void + { + $page = $this->getTestObject(); + $page->add(); + $page->add(); + $page->add(); + $page->add(); + + $page->setCurrentPage(2); + $page->getNextPage(); + $page->enableAutoPageBreak(false); + $page->getNextPage(); + $page->enableAutoPageBreak(true); + $page->getNextPage(); + $page->getNextPage(); + + $this->assertCount(6, $page->getPages()); + } + + public function testDelete(): void + { + $page = $this->getTestObject(); + $page->add(); + $page->add(); + $page->add(); + $this->assertCount(3, $page->getPages()); + $res = $page->delete(1); + $this->assertCount(2, $page->getPages()); + $this->assertArrayHasKey('time', $res); + } + + public function testDeleteEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class); + $page = $this->getTestObject(); + $page->delete(2); + } + + public function testPop(): void + { + $page = $this->getTestObject(); + $page->add(); + $page->add(); + $page->add(); + $this->assertCount(3, $page->getPages()); + $res = $page->pop(); + $this->assertCount(2, $page->getPages()); + $this->assertArrayHasKey('time', $res); + } + + public function testMove(): void + { + $page = $this->getTestObject(); + $page->add(); + $page->add( + [ + 'group' => 1, + ] + ); + $page->add( + [ + 'group' => 2, + ] + ); + $page->add( + [ + 'group' => 3, + ] + ); + + $this->assertEquals($page->getPage(3), $page->getPage()); + + $page->move(3, 0); + $this->assertCount(4, $page->getPages()); + + $res = $page->getPage(0); + $this->assertEquals(3, $res['group']); + } + + public function testMoveEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class); + $page = $this->getTestObject(); + $page->move(1, 2); + } + + public function testGetPageEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class); + $page = $this->getTestObject(); + $page->getPage(2); + } + + public function testContent(): void + { + $testObj = $this->getTestObject(); + $testObj->add(); + $testObj->addContent('Lorem'); + $testObj->addContent('ipsum'); + $testObj->addContentMark(); + $testObj->addContent('dolor'); + $testObj->addContent('sit'); + $testObj->addContent('amet'); + + $this->assertEquals('amet', $testObj->popContent()); + + $page = $testObj->getPage(); + $this->assertEquals([0, 3], $page['content_mark']); + $this->assertEquals(['', 'Lorem', 'ipsum', 'dolor', 'sit'], $page['content']); + + $testObj->popContentToLastMark(); + $page = $testObj->getPage(); + $this->assertEquals([0], $page['content_mark']); + $this->assertEquals(['', 'Lorem', 'ipsum'], $page['content']); + } + + public function testGetPdfPages(): void + { + $page = $this->getTestObject(); + $page->add(); + $page->addContent('TEST1'); + $page->add(); + $page->addContent('TEST2'); + $page->add( + [ + 'group' => 1, + 'transition' => [ + 'Dur' => 2, + 'D' => 3, + 'Dm' => 'V', + 'S' => 'Glitter', + 'M' => 'O', + 'Di' => 315, + 'SS' => 1.3, + 'B' => true, + ], + 'annotrefs' => [10, 20], + ] + ); + $page->addContent('TEST2'); + + $pon = 0; + $out = $page->getPdfPages($pon); + $this->assertEquals(1, $page->getResourceDictObjID()); + $this->assertEquals(2, $page->getRootObjID()); + $this->bcAssertStringContainsString('<< /Type /Pages /Kids [ 3 0 R 4 0 R 5 0 R ] /Count 3 >>', $out); + } + + public function testaddAnnotRef(): void + { + $testObj = $this->getTestObject(); + $testObj->add(); + $testObj->addAnnotRef(13); + $testObj->addAnnotRef(17); + + $page = $testObj->getPage(); + $this->assertEquals(13, $page['annotrefs'][0]); + $this->assertEquals(17, $page['annotrefs'][1]); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/RegionTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/RegionTest.php new file mode 100644 index 0000000..bc89d6a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/RegionTest.php @@ -0,0 +1,142 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +use Com\Tecnick\Color\Pdf; +use Com\Tecnick\Pdf\Encrypt\Encrypt; +use Com\Tecnick\Pdf\Page\Page; + +/** + * Page Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class RegionTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new Pdf(); + $encrypt = new Encrypt(false); + return new Page('mm', $pdf, $encrypt, false, false); + } + + public function testRegion(): void + { + $page = $this->getTestObject(); + $page->add( + [ + 'columns' => 3, + ] + ); + + $res = $page->selectRegion(1); + $exp = [ + 'RX' => 70, + 'RY' => 0, + 'RW' => 70, + 'RH' => 297, + 'RL' => 140, + 'RR' => 70, + 'RT' => 297, + 'RB' => 0, + 'x' => 70, + 'y' => 0, + ]; + $this->bcAssertEqualsWithDelta($exp, $res); + + $res = $page->getRegion(); + $this->bcAssertEqualsWithDelta($exp, $res); + + $res = $page->getNextRegion(); + $this->bcAssertEqualsWithDelta(2, $res['currentRegion']); + + $res = $page->getNextRegion(); + $this->bcAssertEqualsWithDelta(0, $res['currentRegion']); + + $page->setCurrentPage(0); + $res = $page->getNextRegion(); + $this->bcAssertEqualsWithDelta(0, $res['currentRegion']); + + $res = $page->checkRegionBreak(1000); + $this->bcAssertEqualsWithDelta(1, $res['currentRegion']); + + $res = $page->checkRegionBreak(); + $this->bcAssertEqualsWithDelta(1, $res['currentRegion']); + + $page->setX(13)->setY(17); + $this->bcAssertEqualsWithDelta(13, $page->getX()); + $this->bcAssertEqualsWithDelta(17, $page->getY()); + } + + public function testRegionBoundaries(): void + { + $page = $this->getTestObject(); + $page->add( + [ + 'columns' => 3, + ] + ); + + $region = $page->getRegion(); + + $res = $page->isYOutRegion(null, 1); + $this->assertFalse($res); + $res = $page->isYOutRegion(-1); + $this->assertTrue($res); + $res = $page->isYOutRegion($region['RY']); + $this->assertFalse($res); + $res = $page->isYOutRegion(0); + $this->assertFalse($res); + $res = $page->isYOutRegion(100); + $this->assertFalse($res); + $res = $page->isYOutRegion(297); + $this->assertFalse($res); + $res = $page->isYOutRegion($region['RT']); + $this->assertFalse($res); + $res = $page->isYOutRegion(298); + $this->assertTrue($res); + + $page->getNextRegion(); + $region = $page->getRegion(); + + $res = $page->isXOutRegion(null, 1); + $this->assertFalse($res); + $res = $page->isXOutRegion(69); + $this->assertTrue($res); + $res = $page->isXOutRegion($region['RX']); + $this->assertFalse($res); + $res = $page->isXOutRegion(70); + $this->assertFalse($res); + $res = $page->isXOutRegion(90); + $this->assertFalse($res); + $res = $page->isXOutRegion(140); + $this->assertFalse($res); + $res = $page->isXOutRegion($region['RL']); + $this->assertFalse($res); + $res = $page->isXOutRegion(141); + $this->assertTrue($res); + + $pid = $page->getPageID(); + $this->assertEquals(0, $pid); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/SettingsTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/SettingsTest.php new file mode 100644 index 0000000..7e3211b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/SettingsTest.php @@ -0,0 +1,779 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +/** + * Settings Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class SettingsTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new \Com\Tecnick\Color\Pdf(); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, false); + } + + public function testGetPageID(): void + { + $page = $this->getTestObject(); + + $pid = $page->getPageID(); + $this->assertEquals(-1, $pid); + } + + public function testSanitizePageNumber(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizePageNumber($data); + $this->assertEquals([], $data); + + $data = [ + 'num' => -1, + ]; + $page->sanitizePageNumber($data); + $this->assertEquals( + [ + 'num' => 0, + ], + $data + ); + + $data = [ + 'num' => 0, + ]; + $page->sanitizePageNumber($data); + $this->assertEquals( + [ + 'num' => 0, + ], + $data + ); + + $data = [ + 'num' => 1, + ]; + $page->sanitizePageNumber($data); + $this->assertEquals( + [ + 'num' => 1, + ], + $data + ); + } + + public function testSanitizeTime(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeTime($data); + $this->assertArrayHasKey('time', $data); + $this->assertNotEmpty($data['time']); // @phpstan-ignore offsetAccess.notFound + + $data = [ + 'time' => -1, + ]; + $page->sanitizeTime($data); + $this->assertEquals( + [ + 'time' => 0, + ], + $data + ); + + $data = [ + 'time' => 0, + ]; + $page->sanitizeTime($data); + $this->assertArrayHasKey('time', $data); + $this->assertNotEmpty($data['time']); // @phpstan-ignore offsetAccess.notFound + + $data = [ + 'time' => 1, + ]; + $page->sanitizeTime($data); + $this->assertEquals( + [ + 'time' => 1, + ], + $data + ); + } + + public function testSanitizeGroup(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeGroup($data); + $this->assertEquals( + [ + 'group' => 0, + ], + $data + ); + + $data = [ + 'group' => -1, + ]; + $page->sanitizeGroup($data); + $this->assertEquals( + [ + 'group' => 0, + ], + $data + ); + + $data = [ + 'group' => 0, + ]; + $page->sanitizeGroup($data); + $this->assertEquals( + [ + 'group' => 0, + ], + $data + ); + + $data = [ + 'group' => 1, + ]; + $page->sanitizeGroup($data); + $this->assertEquals( + [ + 'group' => 1, + ], + $data + ); + } + + public function testSanitizeContent(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeContent($data); + $this->assertEquals( + [ + 'content' => [''], + ], + $data + ); + + $data = [ + 'content' => 'test', + ]; + $page->sanitizeContent($data); // @phpstan-ignore argument.type + $this->assertEquals( + [ + 'content' => ['test'], + ], + $data + ); + } + + public function testSanitizeAnnotRefs(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeAnnotRefs($data); + $this->assertEquals( + [ + 'annotrefs' => [], + ], + $data + ); + } + + public function testSanitizeRotation(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 0, + ], + $data + ); + + $data = [ + 'rotation' => 0, + ]; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 0, + ], + $data + ); + + $data = [ + 'rotation' => 100, + ]; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 0, + ], + $data + ); + + $data = [ + 'rotation' => 90, + ]; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 90, + ], + $data + ); + + $data = [ + 'rotation' => 180, + ]; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 180, + ], + $data + ); + + $data = [ + 'rotation' => 270, + ]; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 270, + ], + $data + ); + + $data = [ + 'rotation' => 360, + ]; + $page->sanitizeRotation($data); + $this->assertEquals( + [ + 'rotation' => 360, + ], + $data + ); + } + + public function testSanitizeZoom(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeZoom($data); + $this->assertEquals( + [ + 'zoom' => 1, + ], + $data + ); + + $data = [ + 'zoom' => 1.2, + ]; + $page->sanitizeZoom($data); + $this->assertEquals( + [ + 'zoom' => 1.2, + ], + $data + ); + } + + public function testSanitizeTransitions(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeTransitions($data); + $this->assertEquals([], $data); + + $data = [ + 'transition' => [ + 'Dur' => 0, + ], + ]; + $page->sanitizeTransitions($data); + $exp = [ + 'transition' => [ + 'S' => 'R', + 'D' => 1, + 'B' => false, + ], + ]; + $this->assertEquals($exp, $data); + + $data = [ + 'transition' => [ + 'Dur' => 2, + 'D' => 3, + 'Dm' => 'V', + 'S' => 'Glitter', + 'M' => 'O', + 'Di' => 315, + 'SS' => 1.3, + 'B' => true, + ], + ]; + $page->sanitizeTransitions($data); + $exp = [ + 'transition' => [ + 'Dur' => 2, + 'D' => 3, + 'S' => 'Glitter', + 'Di' => 315, + 'SS' => 1.3, + 'B' => true, + ], + ]; + $this->assertEquals($exp, $data); + } + + public function testSanitizeMargins(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeMargins($data); + $exp = [ + 'margin' => [ + 'booklet' => false, + 'PL' => 0, + 'PR' => 0, + 'PT' => 0, + 'HB' => 0, + 'CT' => 0, + 'CB' => 0, + 'FT' => 0, + 'PB' => 0, + ], + 'orientation' => 'P', + 'height' => 297, + 'width' => 210, + 'ContentWidth' => 210, + 'ContentHeight' => 297, + 'HeaderHeight' => 0, + 'FooterHeight' => 0, + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + + $data = [ + 'margin' => [ + 'booklet' => false, + 'PL' => 11, + 'PR' => 12, + 'PT' => 13, + 'HB' => 14, + 'CT' => 15, + 'CB' => 15, + 'FT' => 13, + 'PB' => 11, + ], + 'orientation' => 'P', + 'height' => 297, + 'width' => 210, + ]; + $page->sanitizeMargins($data); + $exp = [ + 'margin' => [ + 'booklet' => false, + 'PL' => 11, + 'PR' => 12, + 'PT' => 13, + 'HB' => 14, + 'CT' => 15, + 'CB' => 15, + 'FT' => 13, + 'PB' => 11, + ], + 'orientation' => 'P', + 'height' => 297, + 'width' => 210, + 'ContentWidth' => 187, + 'ContentHeight' => 267, + 'HeaderHeight' => 1, + 'FooterHeight' => 2, + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + } + + public function testSanitizeBoxData(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizeBoxData($data); + $exp = [ + 'orientation' => 'P', + 'pheight' => 841.890, + 'pwidth' => 595.276, + 'box' => [ + 'MediaBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'CropBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'BleedBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'TrimBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'ArtBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + + $data = [ + 'format' => 'MediaBox', + 'orientation' => 'L', + 'box' => [ + 'MediaBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + ]; + $page->sanitizeBoxData($data); + $exp = [ + 'format' => 'CUSTOM', + 'orientation' => 'L', + 'box' => [ + 'MediaBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 841.890, + 'ury' => 595.276, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'CropBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 841.890, + 'ury' => 595.276, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'BleedBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 841.890, + 'ury' => 595.276, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'TrimBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 841.890, + 'ury' => 595.276, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'ArtBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 841.890, + 'ury' => 595.276, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + 'width' => 297, + 'height' => 210, + 'pwidth' => 841.890, + 'pheight' => 595.276, + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + + $data = [ + 'width' => 210, + 'height' => 297, + 'pwidth' => 595.276, + 'pheight' => 841.890, + 'box' => [ + 'CropBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + ]; + $page->sanitizeBoxData($data); + $exp = [ + 'width' => 210, + 'height' => 297, + 'pwidth' => 595.276, + 'pheight' => 841.890, + 'box' => [ + 'CropBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'MediaBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'BleedBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'TrimBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + 'ArtBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + 'orientation' => 'P', + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + } + + public function testSanitizePageFormat(): void + { + $page = $this->getTestObject(); + $data = []; + $page->sanitizePageFormat($data); + $exp = [ + 'orientation' => 'P', + 'format' => 'A4', + 'pheight' => 841.890, + 'pwidth' => 595.276, + 'width' => 210, + 'height' => 297, + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + + $data = [ + 'box' => [ + 'MediaBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + ]; + $page->sanitizePageFormat($data); + $exp = [ + 'box' => [ + 'MediaBox' => [ + 'llx' => 0, + 'lly' => 0, + 'urx' => 595.276, + 'ury' => 841.890, + 'bci' => [ + 'color' => '#000000', + 'width' => 0.353, + 'style' => 'S', + 'dash' => [ + 0 => 3, + ], + ], + ], + ], + 'orientation' => 'P', + 'format' => 'A4', + 'pwidth' => 595.276, + 'pheight' => 841.890, + 'width' => 210.000, + 'height' => 297.000, + ]; + $this->bcAssertEqualsWithDelta($exp, $data); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/TestUtil.php b/vendor/tecnickcom/tc-lib-pdf-page/test/TestUtil.php new file mode 100644 index 0000000..dc17bc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/TestUtil.php @@ -0,0 +1,55 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Web Color class test + * + * @since 2020-12-19 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class TestUtil extends TestCase +{ + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } + + public function bcAssertStringContainsString(string $needle, string $haystack): void + { + parent::assertStringContainsString($needle, $haystack); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf-page/test/UnitTest.php b/vendor/tecnickcom/tc-lib-pdf-page/test/UnitTest.php new file mode 100644 index 0000000..f2e2cec --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf-page/test/UnitTest.php @@ -0,0 +1,55 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + * + * This file is part of tc-lib-pdf-page software library. + */ + +namespace Test; + +/** + * Unit Test + * + * @since 2011-05-23 + * @category Library + * @package PdfPage + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf-page + */ +class UnitTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page + { + $pdf = new \Com\Tecnick\Color\Pdf(); + $encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false); + return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, false); + } + + public function testGetPageSize(): void + { + $page = $this->getTestObject(); + $val = $page->convertPoints(72, 'in', 3); + $this->assertEquals(1, $val); + + $val = $page->convertPoints(72, 'mm', 3); + $this->assertEquals(25.4, $val); + } + + public function testGetPageSizeEx(): void + { + $this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class); + $page = $this->getTestObject(); + $page->convertPoints(1, '*ERROR*', 2); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/.editorconfig b/vendor/tecnickcom/tc-lib-pdf/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-pdf/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-pdf/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-pdf/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-pdf/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-pdf/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-pdf/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-pdf/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-pdf/.github/pull_request_template.md new file mode 100644 index 0000000..aead8ef --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Minor non-breaking change (e.g., bug fix, dependencies updates) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-pdf/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-pdf/.github/workflows/check.yml new file mode 100644 index 0000000..dd3d883 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.github/workflows/check.yml @@ -0,0 +1,58 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + #- name: Install pdfinfo + # run: sudo apt-get install -y poppler-utils + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-pdf/.gitignore b/vendor/tecnickcom/tc-lib-pdf/.gitignore new file mode 100644 index 0000000..79e2607 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/.gitignore @@ -0,0 +1,21 @@ +.phpdoc +.phpunit.cache +.phpunit.result.cache +.vscode +**/._* +**/.#* +**/.DS_Store +**/.idea +**/.vagrant +**/*.bak +**/*.tmp +**/auth.json +**/nbproject +**/temp.php +**/test.php +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-pdf/CODEOWNERS b/vendor/tecnickcom/tc-lib-pdf/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-pdf/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-pdf/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-pdf/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-pdf/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-pdf/LICENSE b/vendor/tecnickcom/tc-lib-pdf/LICENSE new file mode 100644 index 0000000..da1d671 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-pdf +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2002-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-pdf/Makefile b/vendor/tecnickcom/tc-lib-pdf/Makefile new file mode 100644 index 0000000..678120d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/Makefile @@ -0,0 +1,290 @@ +# Makefile +# +# @since 2015-02-21 +# @category Library +# @package Pdf +# @author Nicola Asuni +# @copyright 2015-2025 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-pdf +# +# This file is part of tc-lib-pdf software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-pdf + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Pdf/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH=etc/$(PKGNAME)/ + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8971 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make fonts : Build default tc-font-mirror fonts via tc-lib-pdf-font" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps + cd vendor/tecnickcom/tc-lib-pdf-font/ && make buildall + $(MAKE) codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Build default tc-font-mirror fonts via tc-lib-pdf-font +.PHONY: fonts +fonts: + cd vendor/tecnickcom/tc-lib-pdf-font/ && make deps fonts + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text unusedcode,naming,design --exclude vendor + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: version ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t examples -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# set the version +version: + sed -i -e "s/protected string \$$version = '.*';/protected string \$$version = '${VERSION}';/g" src/Base.php + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + $(MAKE) version + diff --git a/vendor/tecnickcom/tc-lib-pdf/README.md b/vendor/tecnickcom/tc-lib-pdf/README.md new file mode 100644 index 0000000..b9eaaaf --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/README.md @@ -0,0 +1,175 @@ +# tc-lib-pdf +*PHP PDF Library* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-pdf/version)](https://packagist.org/packages/tecnickcom/tc-lib-pdf) +![Build](https://github.com/tecnickcom/tc-lib-pdf/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-pdf/graph/badge.svg?token=rmAqNKVG1c)](https://codecov.io/gh/tecnickcom/tc-lib-pdf) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-pdf/license)](https://packagist.org/packages/tecnickcom/tc-lib-pdf) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-pdf/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-pdf) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Pdf +* **author** Nicola Asuni +* **copyright** 2002-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://tcpdf.org +* **source** https://github.com/tecnickcom/tc-lib-pdf +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-pdf + +## Description + +PHP library for generating PDF documents on-the-fly. +This is the new version of the TCPDF library that will be deprecated once all the existing features are ported. + +NOTE: The first complete (stable) version will be 8.1.0. As this is currently unstable, only the patch number in the version will be updated, even if breaking changes are introduced. + +### Main Features: + +***(the features striked through are in progress)*** + +* all standard page formats, custom page formats, custom margins and units of measure; +* UTF-8 Unicode and Right-To-Left languages; +* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts; +* font subsetting; +* [] ~SVG~ +* [] ~CSS~ +* [] ~HTML~ +* [] ~JavaScript~ +* images, graphic (geometric figures) and transformation methods; +* supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/script/formats.php) +* 1D and 2D barcodes via tc-lib-barcode. +* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Pdfs and Transparencies; +* page common content support (header/footer); +* document encryption up to 256 bit and digital signature certifications; +* PDF annotations, including links, text and file attachments; +* text rendering modes (fill, stroke and clipping); +* multiple columns mode; +* no-write page regions; +* bookmarks, named destinations and table of content; +* text hyphenation; +* text stretching and spacing (tracking); +* automatic page break, line break and text alignments including justification; +* automatic page numbering and page groups; +* move and delete pages; +* page compression (requires php-zlib extension); +* XOBject Templates; +* Layers and object visibility. +* PDF/A-1b support. + +### Third party fonts: + +This library may include third party font files released with different licenses. + +All the PHP files on the fonts directory are subject to the general TCPDF license (GNU-LGPLv3), +they do not contain any binary data but just a description of the general properties of a particular font. +These files can be also generated on the fly using the font utilities and TCPDF methods. + +All the original binary TTF font files have been renamed for compatibility with TCPDF and compressed using the gzcompress PHP function that uses the ZLIB data format (.z files). + +The binary files (.z) that begins with the prefix "free" have been extracted from the GNU FreeFont collection (GNU-GPLv3). +The binary files (.z) that begins with the prefix "pdfa" have been derived from the GNU FreeFont, so they are subject to the same license. +For the details of Copyright, License and other information, please check the files inside the directory fonts/freefont-20120503 +Link : http://www.gnu.org/software/freefont/ + +The binary files (.z) that begins with the prefix "dejavu" have been extracted from the DejaVu fonts 2.33 (Bitstream) collection. +For the details of Copyright, License and other information, please check the files inside the directory fonts/dejavu-fonts-ttf-2.33 +Link : http://dejavu-fonts.org + +The binary files (.z) that begins with the prefix "ae" have been extracted from the Arabeyes.org collection (GNU-GPLv2). +Link : http://projects.arabeyes.org/ + +### ICC profile: + +TCPDF includes the sRGB.icc profile from the icc-profiles-free Debian package: +https://packages.debian.org/source/stable/icc-profiles-free + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +You can install the library via composer: + +```bash +composer require tecnickcom/tc-lib-pdf +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-pdf": "dev-main" + }, + "repositories": [ + { + "type": "vcs", + "url": "git@github.com:tecnickcom/tc-lib-pdf.git" + } + ] +} +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Barcode/autoload.php'); +``` + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-pdf/RELEASE b/vendor/tecnickcom/tc-lib-pdf/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-pdf/SECURITY.md b/vendor/tecnickcom/tc-lib-pdf/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-pdf/VERSION b/vendor/tecnickcom/tc-lib-pdf/VERSION new file mode 100644 index 0000000..ee0f689 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/VERSION @@ -0,0 +1 @@ +8.1.5 diff --git a/vendor/tecnickcom/tc-lib-pdf/composer.json b/vendor/tecnickcom/tc-lib-pdf/composer.json new file mode 100644 index 0000000..601ab25 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/composer.json @@ -0,0 +1,57 @@ +{ + "name": "tecnickcom/tc-lib-pdf", + "description": "PHP PDF Library", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-pdf", + "TCPDF", + "PDF", + "PDFD32000-2008", + "document" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-date": "*", + "ext-pcre": "*", + "tecnickcom/tc-lib-barcode": "^2.4", + "tecnickcom/tc-lib-color": "^2.2", + "tecnickcom/tc-lib-pdf-image": "^2.1", + "tecnickcom/tc-lib-pdf-font": "^2.6", + "tecnickcom/tc-lib-file": "^2.2", + "tecnickcom/tc-lib-pdf-encrypt": "^2.1", + "tecnickcom/tc-lib-unicode-data": "^2.0", + "tecnickcom/tc-lib-unicode": "^2.0", + "tecnickcom/tc-lib-pdf-page": "^4.2", + "tecnickcom/tc-lib-pdf-graph": "^2.3" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Pdf\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Test\\": "test" + } + }, + "archive": { + "exclude": [ + "/example" + ] + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.crt b/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.crt new file mode 100644 index 0000000..f049139 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.crt @@ -0,0 +1,40 @@ +Bag Attributes + localKeyID: 7B AB 1B 7A BE 4C 85 C0 1A A6 DC 59 3F 79 48 C3 93 38 68 9C +subject=/CN=TCPDF DEMO/O=TCPDF/OU=DEMO/emailAddress=you@example.com/C=IT +issuer=/CN=TCPDF DEMO/O=TCPDF/OU=DEMO/emailAddress=you@example.com/C=IT +-----BEGIN CERTIFICATE----- +MIIC1TCCAj6gAwIBAgIKkehOL/XGkB5cjjANBgkqhkiG9w0BAQUFADBhMRMwEQYD +VQQDEwpUQ1BERiBERU1PMQ4wDAYDVQQKEwVUQ1BERjENMAsGA1UECxMEREVNTzEe +MBwGCSqGSIb3DQEJARYPeW91QGV4YW1wbGUuY29tMQswCQYDVQQGEwJJVDAeFw0w +OTA4MjExMjU0NDhaFw0xNDA4MjExMjU0NDhaMGExEzARBgNVBAMTClRDUERGIERF +TU8xDjAMBgNVBAoTBVRDUERGMQ0wCwYDVQQLEwRERU1PMR4wHAYJKoZIhvcNAQkB +Fg95b3VAZXhhbXBsZS5jb20xCzAJBgNVBAYTAklUMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDAqIL0uGKmTR98Lxx2vEEE1OGKkMXFo0JViitALe7Onhxxqx0H +XMUDKF5mvEVu1rcvh7/oAnAfrCuEpL/up3u1mQCgBE7WXBnFFE/AE3jCksh9OkS0 +Z0Xj9woN5bzxRDsGoPiOu/4xzk5qSEXt8jf2Ep90QuNkqLIRT4swAzpDbwIDAQAB +o4GTMIGQMDcGA1UdEgQwMC6gEQYDVQQDDApUQ1BERiBERU1PoAwGA1UECgwFVENQ +REagCwYDVQQLDARERU1PMDcGA1UdEQQwMC6gEQYDVQQDDApUQ1BERiBERU1PoAwG +A1UECgwFVENQREagCwYDVQQLDARERU1PMA8GCSqGSIb3LwEBCgQCBQAwCwYDVR0P +BAQDAgSQMA0GCSqGSIb3DQEBBQUAA4GBAEhTQfqX3ZNdHmpTLDbIj22RHXii2roE +OavCbu9WsHoWpva0qSd+yIoD594VHvYAd29sfzDfiN+7W0aiZfDhq5jpaSQMVlN8 +RGYMupbHY/+a9Gz1wqxnR84mlTtIkZVRYAhsfPwy6M1BEjdMqfdh9h40JIdkdjtb +8faTCfXPePWQ +-----END CERTIFICATE----- +Bag Attributes + localKeyID: 7B AB 1B 7A BE 4C 85 C0 1A A6 DC 59 3F 79 48 C3 93 38 68 9C +Key Attributes: +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDAqIL0uGKmTR98Lxx2vEEE1OGKkMXFo0JViitALe7Onhxxqx0H +XMUDKF5mvEVu1rcvh7/oAnAfrCuEpL/up3u1mQCgBE7WXBnFFE/AE3jCksh9OkS0 +Z0Xj9woN5bzxRDsGoPiOu/4xzk5qSEXt8jf2Ep90QuNkqLIRT4swAzpDbwIDAQAB +AoGAXc+wNMmz/5Z+RlIKYia44klmqbplEx+0JULqXI4BQsrqvs67i+I4bJkznoL+ +rEIRYSuQ3sCRKFsFtckjTGpxadnxkB+uwGKc6pZChv99BFX6HFR4hgBlT/BBRAQA +hMDlM2JIRr4S4SMVXR7MHwGMUf9mUeanGLR3ZWtU3aXJrIECQQD7OaYUVYNEEnM9 +uXyjm22CuHyqyEf5gb13sK0uQty67547yJTMUQZd/sQc9KGwhzBbhrob2LO2jAhh +S+f+NSRnAkEAxFHm3fMI5RgXmswxlGm4QW07a/Ueo7ZJG6xjTkFXluJhd+XHswRD +dQIO3zG9nGjNUoeMrPhXhPvKqFc2F9RDuQJAQBEGin74N77gxqfr4ik79y8nE8J5 +oGZ2s/RJZdfFRKLg3mwbjjNHhWb4Ck5UgZkoOt8TzRApXG8/n9hktE5HFwJBALur +M5AueO1Pl5kB489lNJ9OxUQRYUXMxpxuscuoCQwSwmv0O2+0/qtG2WKhUQnI4aYo +L+FV0YwtivBb1jj3T/kCQQDIWOxq8eRowdaMzvJpRUHFgMcf1AVZExKyrugwYOWd +KNsDxC4KaQOsPt8iT/Ulo4g/MJC0HolCOhWibKmR9Ayl +-----END RSA PRIVATE KEY----- diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.fdf b/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.fdf new file mode 100644 index 0000000..a8f7c35 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.fdf differ diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.p12 b/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.p12 new file mode 100644 index 0000000..611f0df Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf/examples/data/cert/tcpdf.p12 differ diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/data/utf8test.txt b/vendor/tecnickcom/tc-lib-pdf/examples/data/utf8test.txt new file mode 100644 index 0000000..291d4e7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/data/utf8test.txt @@ -0,0 +1,128 @@ +Sentences that contain all letters commonly used in a language +-------------------------------------------------------------- + +This file is UTF-8 encoded. + +Czech (cz) +--------- + + Příšerně žluťoučký kůň úpěl ďábelské ódy. + Hleď, toť přízračný kůň v mátožné póze šíleně úpí. + Zvlášť zákeřný učeň s ďolíčky běží podél zóny úlů. + Loď čeří kýlem tůň obzvlášť v Grónské úžině. + Ó, náhlý déšť již zvířil prach a čilá laň teď běží s houfcem gazel k úkrytům. + +Danish (da) +--------- + + Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen + Wolther spillede på xylofon. + (= Quiz contestants were eating strawbery with cream while Wolther + the circus clown played on xylophone.) + +German (de) +----------- + + Falsches Üben von Xylophonmusik quält jeden größeren Zwerg + (= Wrongful practicing of xylophone music tortures every larger dwarf) + + Zwölf Boxkämpfer jagten Eva quer über den Sylter Deich + (= Twelve boxing fighters hunted Eva across the dike of Sylt) + + Heizölrückstoßabdämpfung + (= fuel oil recoil absorber) + (jqvwxy missing, but all non-ASCII letters in one word) + +English (en) +------------ + + The quick brown fox jumps over the lazy dog + +Spanish (es) +------------ + + El pingüino Wenceslao hizo kilómetros bajo exhaustiva lluvia y + frío, añoraba a su querido cachorro. + (Contains every letter and every accent, but not every combination + of vowel + acute.) + +French (fr) +----------- + + Portez ce vieux whisky au juge blond qui fume sur son île intérieure, à + côté de l'alcôve ovoïde, où les bûches se consument dans l'âtre, ce + qui lui permet de penser à la cænogenèse de l'être dont il est question + dans la cause ambiguë entendue à Moÿ, dans un capharnaüm qui, + pense-t-il, diminue çà et là la qualité de son œuvre. + + l'île exiguë + Où l'obèse jury mûr + Fête l'haï volapük, + Âne ex aéquo au whist, + Ôtez ce vœu déçu. + + Le cœur déçu mais l'âme plutôt naïve, Louÿs rêva de crapaüter en + canoë au delà des îles, près du mälström où brûlent les novæ. + +Irish Gaelic (ga) +----------------- + + D'fhuascail Íosa, Úrmhac na hÓighe Beannaithe, pór Éava agus Ádhaimh + +Hungarian (hu) +-------------- + + Árvíztűrő tükörfúrógép + (= flood-proof mirror-drilling machine, only all non-ASCII letters) + +Icelandic (is) +-------------- + + Kæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa + + Sævör grét áðan því úlpan var ónýt + (some ASCII letters missing) + +Greek (el) +------------- + + Γαζέες καὶ μυρτιὲς δὲν θὰ βρῶ πιὰ στὸ χρυσαφὶ ξέφωτο + (= No more shall I see acacias or myrtles in the golden clearing) + + Ξεσκεπάζω τὴν ψυχοφθόρα βδελυγμία + (= I uncover the soul-destroying abhorrence) + +Hebrew (iw) +----------- + + ? דג סקרן שט בים מאוכזב ולפתע מצא לו חברה איך הקליטה + +Polish (pl) +----------- + + Pchnąć w tę łódź jeża lub osiem skrzyń fig + (= To push a hedgehog or eight bins of figs in this boat) + + Zażółć gęślą jaźń + +Russian (ru) +------------ + + В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! + (= Would a citrus live in the bushes of south? Yes, but only a fake one!) + +Thai (th) +--------- + + [--------------------------|------------------------] + ๏ เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน + จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญฤๅเข่นฆ่าบีฑาใคร + ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย + ปฏิบัติประพฤติกฎกำหนดใจ พูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอย ฯ + + [The copyright for the Thai example is owned by The Computer + Association of Thailand under the Royal Patronage of His Majesty the + King.] + +Please let me know if you find others! Special thanks to the people +from all over the world who contributed these sentences. diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_box.ai b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_box.ai new file mode 100644 index 0000000..0c14846 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_box.ai @@ -0,0 +1,214 @@ +%!PS-Adobe-3.0 EPSF +%%Creator: Adobe Illustrator +%%BoundingBox: -7 0 487 327 +%%HiResBoundingBox: -6.66162 2.44007e-05 486.662 326.648 +%AI5_FileFormat 3 +%%EndComments +%%BeginProlog +%%EndProlog +%%BeginSetup +%%EndSetup +1 XR +%AI5_BeginLayer +1 1 1 1 0 0 -1 49 80 161 Lb +(New Layer) Ln +0.620000 0.580000 0.435000 0.996000 K +[] 0 d +1.402287 w +0 j +0 J +0.263000 0.290000 0.898000 0.263000 k +72.7885 255.643 m +277.08 286.778 L +425.478 260.993 L +408.269 190.301 L +113.504 181.247 L +113.504 181.247 72.9813 241.769 72.7885 255.643 C +b +0.620000 0.580000 0.435000 0.996000 K +1 j +0.094000 0.102000 0.369000 0.016000 k +423.247 259.914 m +240.217 207.097 L +240.635 0.701168 L +397.776 116.053 L +423.247 259.914 L +b +0.620000 0.580000 0.435000 0.996000 K +0.133000 0.141000 0.541000 0.035000 k +72.1745 254.207 m +240.217 207.097 L +240.561 0.783816 L +101.054 87.946 L +72.1745 254.207 L +b +0.047000 0.059000 0.184000 0.004000 k +423.247 259.914 m +308.187 51.1553 L +396.862 116.972 L +423.247 259.914 L +f +0.620000 0.580000 0.435000 0.996000 K +0 j +0.047000 0.059000 0.184000 0.004000 k +479.312 250.415 m +423.613 260.243 L +240.385 206.966 L +314.061 186.394 L +479.312 250.415 L +b +0.620000 0.580000 0.435000 0.996000 K +0.047000 0.059000 0.184000 0.004000 k +69.9121 254.273 m +237.965 207.131 L +163.618 164.537 L +0.687544 234.686 L +69.9121 254.273 L +b +0.620000 0.580000 0.435000 0.996000 K +0.047000 0.059000 0.184000 0.004000 k +242.971 319.299 m +275.613 286.233 L +72.5703 254.295 L +16.555 296.161 L +242.971 319.299 L +b +0.620000 0.580000 0.435000 0.996000 K +0.133000 0.141000 0.541000 0.035000 k +423.496 260.684 m +275.426 286.441 L +307.326 316.69 L +462.053 292.606 L +423.496 260.684 L +b +0.196000 0.227000 0.871000 0.106000 k +75.26 254.037 m +274.806 285.371 L +227.928 211.257 L +163.396 228.836 130.937 238.701 75.26 254.037 C +f +0.620000 0.580000 0.435000 0.996000 K +1 j +0.169000 0.314000 0.424000 0.094000 k +275.528 286.329 m +274.75 216.78 L +275.528 286.329 L +b +0.031000 0.949000 0.745000 0.729000 k +285.929 160.982 m +285.929 160.982 285.078 139.734 285.078 139.734 C +285.078 139.734 275.378 135.096 275.378 135.096 C +275.378 135.096 273.058 57.6061 273.058 57.6061 C +273.058 57.6061 257.133 47.3536 257.133 47.3536 C +257.133 47.3536 258.059 126.816 258.059 126.816 C +258.059 126.816 247.186 121.618 247.186 121.618 C +247.186 121.618 247.186 144.26 247.186 144.26 C +247.186 144.26 285.929 160.982 285.929 160.982 C +F +0.031000 0.949000 0.745000 0.729000 k +320.884 135.342 m +320.884 135.342 307.279 128.129 307.279 128.129 C +307.279 128.129 308.36 144.944 308.36 144.944 C +308.681 149.948 308.724 153.011 308.483 154.097 C +308.268 155.24 307.632 155.567 306.572 155.073 C +305.368 154.512 304.553 153.381 304.135 151.687 C +303.718 149.995 303.36 146.608 303.063 141.565 C +303.063 141.565 300.477 97.6864 300.477 97.6864 C +300.22 93.3298 300.208 90.6032 300.439 89.4791 C +300.668 88.3599 301.318 88.1316 302.385 88.7881 C +303.403 89.4149 304.103 90.4684 304.487 91.9528 C +304.894 93.4524 305.253 96.6211 305.567 101.497 C +305.567 101.497 306.297 112.86 306.297 112.86 C +306.297 112.86 319.718 120.438 319.718 120.438 C +319.718 120.438 319.446 116.964 319.446 116.964 C +318.734 107.862 317.873 101.293 316.856 97.1389 C +315.864 93.0164 314.026 88.8059 311.329 84.474 C +308.636 80.1307 305.421 76.743 301.646 74.2975 C +297.651 71.7096 294.365 70.7251 291.812 71.3887 C +289.213 72.064 287.545 74.2699 286.838 78.0362 C +286.121 81.8925 285.954 88.3297 286.349 97.4441 C +286.349 97.4441 287.575 125.751 287.575 125.751 C +287.89 133.007 288.277 138.586 288.737 142.421 C +289.202 146.323 290.251 150.369 291.883 154.544 C +293.54 158.732 295.716 162.4 298.394 165.529 C +301.078 168.689 304.052 170.959 307.296 172.342 C +311.621 174.188 315.02 174.154 317.521 172.296 C +319.974 170.473 321.427 167.541 321.911 163.514 C +322.39 159.578 322.275 153.119 321.579 144.225 C +321.579 144.225 320.884 135.342 320.884 135.342 C +F +0.031000 0.949000 0.745000 0.729000 k +*u +329.084 179.607 m +329.084 179.607 342.074 185.214 342.074 185.214 C +345.446 186.669 347.94 187.235 349.586 186.932 C +351.233 186.642 352.374 185.695 353.019 184.1 C +353.677 182.527 353.999 180.418 353.991 177.777 C +354.005 175.2 353.703 171.072 353.088 165.429 C +353.088 165.429 352.244 157.683 352.244 157.683 C +351.634 152.084 350.908 147.89 350.063 145.056 C +349.22 142.228 347.957 139.718 346.265 137.514 C +344.583 135.308 342.474 133.487 339.919 132.046 C +339.919 132.046 336.736 130.25 336.736 130.25 C +336.736 130.25 333.512 96.527 333.512 96.527 C +333.512 96.527 321.545 88.8222 321.545 88.8222 C +321.545 88.8222 329.084 179.607 329.084 179.607 C +F +340.42 168.795 m +340.42 168.795 338.184 145.407 338.184 145.407 C +338.526 145.552 338.82 145.69 339.068 145.822 C +340.172 146.404 340.98 147.319 341.498 148.568 C +342.038 149.863 342.473 152.174 342.805 155.518 C +342.805 155.518 343.55 163.014 343.55 163.014 C +343.863 166.167 343.82 168.111 343.416 168.832 C +343.011 169.557 342.015 169.547 340.42 168.795 C +F +*U +0.031000 0.949000 0.745000 0.729000 k +*u +359.204 192.607 m +359.204 192.607 367.556 196.212 367.556 196.212 C +372.753 198.454 376.114 199.414 377.734 199.14 C +379.351 198.877 380.446 197.777 381.03 195.854 C +381.608 193.948 381.815 191.642 381.655 188.934 C +381.502 186.28 380.88 180.934 379.804 172.981 C +379.804 172.981 375.968 144.653 375.968 144.653 C +375.021 137.654 374.236 132.926 373.604 130.399 C +372.993 127.921 372.216 125.786 371.268 123.986 C +370.323 122.215 369.243 120.698 368.023 119.43 C +366.801 118.187 365.012 116.807 362.638 115.279 C +362.638 115.279 349.593 106.88 349.593 106.88 C +349.593 106.88 359.204 192.607 359.204 192.607 C +F +368.395 181.985 m +368.395 181.985 361.644 126.918 361.644 126.918 C +363.113 127.815 364.084 128.947 364.566 130.32 C +365.053 131.727 365.629 135.077 366.301 140.416 C +366.301 140.416 370.368 172.752 370.368 172.752 C +370.86 176.666 371.12 179.163 371.145 180.223 C +371.168 181.285 371.006 181.972 370.654 182.282 C +370.306 182.629 369.555 182.531 368.395 181.985 C +F +*U +0.031000 0.949000 0.745000 0.729000 k +387.58 204.854 m +387.58 204.854 403.348 211.659 403.348 211.659 C +403.348 211.659 400.803 195.062 400.803 195.062 C +400.803 195.062 394.579 192.087 394.579 192.087 C +394.579 192.087 392.296 176.619 392.296 176.619 C +392.296 176.619 397.801 179.482 397.801 179.482 C +397.801 179.482 395.533 164.634 395.533 164.634 C +395.533 164.634 390.075 161.574 390.075 161.574 C +390.075 161.574 385.406 129.937 385.406 129.937 C +385.406 129.937 376.374 124.122 376.374 124.122 C +376.374 124.122 387.58 204.854 387.58 204.854 C +F +LB +%AI5_EndLayer-- +%AI5_BeginLayer +1 1 1 1 0 0 -1 49 80 161 Lb +(MasterLayer 1) Ln +LB +%AI5_EndLayer-- +%%Trailer +%%EOF diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_box.svg b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_box.svg new file mode 100644 index 0000000..8c29e64 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_box.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_logo.jpg b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_logo.jpg new file mode 100644 index 0000000..257f8fb Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_logo.jpg differ diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_signature.png b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_signature.png new file mode 100644 index 0000000..64caa51 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf/examples/images/tcpdf_signature.png differ diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/images/testsvg.svg b/vendor/tecnickcom/tc-lib-pdf/examples/images/testsvg.svg new file mode 100644 index 0000000..fd8314e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/images/testsvg.svg @@ -0,0 +1,328 @@ + + + + + TCPDF SVG EXAMPLE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + www.tcpdf.org + + + + + + + + SVG + diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/images/tux.svg b/vendor/tecnickcom/tc-lib-pdf/examples/images/tux.svg new file mode 100644 index 0000000..de8c869 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/images/tux.svg @@ -0,0 +1,1487 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/index.php b/vendor/tecnickcom/tc-lib-pdf/examples/index.php new file mode 100644 index 0000000..2adc566 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/index.php @@ -0,0 +1,1651 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +// NOTE: run make deps fonts in the project root to generate the dependencies and example fonts. + +// autoloader when using Composer +require(__DIR__ . '/../vendor/autoload.php'); + + +define('OUTPUT_FILE', realpath(__DIR__ . '/../target') . '/example.pdf'); + +// define fonts directory +define('K_PATH_FONTS', realpath(__DIR__ . '/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts')); + +// autoloader when using RPM or DEB package installation +//require ('/usr/share/php/Com/Tecnick/Pdf/autoload.php'); + +// main TCPDF object +$pdf = new \Com\Tecnick\Pdf\Tcpdf( + 'mm', // string $unit = 'mm', + true, // bool $isunicode = true, + false, // bool $subsetfont = false, + true, // bool $compress = true, + '', // string $mode = '', + null, // ?ObjEncrypt $objEncrypt = null, +); + +// ---------- + + +$pdf->setCreator('tc-lib-pdf'); +$pdf->setAuthor('John Doe'); +$pdf->setSubject('tc-lib-pdf generic example'); +$pdf->setTitle('Example'); +$pdf->setKeywords('TCPDF tc-lib-pdf generic example'); +$pdf->setPDFFilename('test_index.pdf'); + +$pdf->setViewerPreferences(['DisplayDocTitle' => true]); + +$pdf->enableDefaultPageContent(); + +// ---------- +// Insert fonts + +$bfont1 = $pdf->font->insert($pdf->pon, 'helvetica', '', 12); + + +// test images directory +$imgdir = realpath(__DIR__ . '/../vendor/tecnickcom/tc-lib-pdf-image/test/images/'); + + +// ---------- +// Add first page + +$page01 = $pdf->addPage(); +$pdf->setBookmark('Images', '', 0, -1, 0, 0, 'B', 'blue'); + +// Add Images + +$iid01 = $pdf->image->add($imgdir . '/200x100_CMYK.jpg'); +$iid01_out = $pdf->image->getSetImage($iid01, 0, 0, 40, 20, $page01['height']); +$pdf->page->addContent($iid01_out); + +$iid02 = $pdf->image->add($imgdir . '/200x100_GRAY.jpg'); +$iid02_out = $pdf->image->getSetImage($iid02, 40, 0, 40, 20, $page01['height']); +$pdf->page->addContent($iid02_out); + +$iid03 = $pdf->image->add($imgdir . '/200x100_GRAY.png'); +$iid03_out = $pdf->image->getSetImage($iid03, 80, 0, 40, 20, $page01['height']); +$pdf->page->addContent($iid03_out); + +$iid04 = $pdf->image->add($imgdir . '/200x100_INDEX16.png'); +$iid04_out = $pdf->image->getSetImage($iid04, 120, 0, 40, 20, $page01['height']); +$pdf->page->addContent($iid04_out); + +$iid05 = $pdf->image->add($imgdir . '/200x100_INDEX256.png'); +$iid05_out = $pdf->image->getSetImage($iid05, 160, 0, 40, 20, $page01['height']); +$pdf->page->addContent($iid05_out); + +$iid06 = $pdf->image->add($imgdir . '/200x100_INDEXALPHA.png'); +$iid06_out = $pdf->image->getSetImage($iid06, 0, 20, 40, 20, $page01['height']); +$pdf->page->addContent($iid06_out); + +$iid07 = $pdf->image->add($imgdir . '/200x100_RGB.jpg'); +$iid07_out = $pdf->image->getSetImage($iid07, 40, 20, 40, 20, $page01['height']); +$pdf->page->addContent($iid07_out); + +$iid08 = $pdf->image->add($imgdir . '/200x100_RGB.png'); +$iid08_out = $pdf->image->getSetImage($iid08, 80, 20, 40, 20, $page01['height']); +$pdf->page->addContent($iid08_out); + +$iid09 = $pdf->image->add($imgdir . '/200x100_RGBALPHA.png'); +$iid09_out = $pdf->image->getSetImage($iid09, 120, 20, 40, 20, $page01['height']); +$pdf->page->addContent($iid09_out); + +$iid10 = $pdf->image->add($imgdir . '/200x100_RGBICC.jpg'); +$iid10_out = $pdf->image->getSetImage($iid10, 160, 20, 40, 20, $page01['height']); +$pdf->page->addContent($iid10_out); + +$iid11 = $pdf->image->add($imgdir . '/200x100_RGBICC.png'); +$iid11_out = $pdf->image->getSetImage($iid11, 0, 40, 40, 20, $page01['height']); +$pdf->page->addContent($iid11_out); + +$iid12 = $pdf->image->add($imgdir . '/200x100_RGBINT.png'); +$iid12_out = $pdf->image->getSetImage($iid12, 40, 40, 40, 20, $page01['height']); +$pdf->page->addContent($iid12_out); + +// ---------- +// Add second page + +$page02 = $pdf->addPage(); +$pdf->setBookmark('Graphics', '', 0, -1, 0, 0, 'B', 'green'); + +$style1 = [ + 'lineWidth' => 0.5, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [5, 2, 1, 2], + 'dashPhase' => 0, + 'lineColor' => 'red', + 'fillColor' => 'powderblue', +]; + +$style2 = [ + 'lineWidth' => 0.5, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'green', + 'fillColor' => 'powderblue', +]; + +$style3 = [ + 'lineWidth' => 1, + 'lineCap' => 'round', + 'lineJoin' => 'round', + 'dashArray' => [6, 2], + 'dashPhase' => 0, + 'lineColor' => 'blue', + 'fillColor' => 'powderblue', +]; + +$style4 = [ + 'all' => [ + 'lineWidth' => 0.5, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'miterLimit' => 0.5, + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'black', + 'fillColor' => 'aliceblue', + ], + // TOP + 0 => [ + 'lineWidth' => 0.25, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'red', + 'fillColor' => 'powderblue', + ], + // RIGHT + 1 => [ + 'lineWidth' => 0.25, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'green', + 'fillColor' => 'powderblue', + ], + // BOTTOM + 2 => [ + 'lineWidth' => 0.50, + 'lineCap' => 'round', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'blue', + 'fillColor' => 'powderblue', + ], + // LEFT + 3 => [ + 'lineWidth' => 0.75, + 'lineCap' => 'square', + 'lineJoin' => 'miter', + 'dashArray' => [6, 3, 2, 3], + 'dashPhase' => 0, + 'lineColor' => 'yellow', + 'fillColor' => 'powderblue', + ], +]; + +$style5 = [ + 'lineWidth' => 0.25, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'darkblue', + 'fillColor' => 'mistyrose', +]; + +$style6 = [ + 'lineWidth' => 0.5, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [3, 3], + 'dashPhase' => 0, + 'lineColor' => 'green', + 'fillColor' => 'powderblue', +]; + +$style7 = [ + 'lineWidth' => 0.5, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'darkorange', + 'fillColor' => 'palegreen', +]; + +$pdf->graph->setPageWidth($page02['width']); +$pdf->graph->setPageHeight($page02['height']); + +// Line + +$line1 = $pdf->graph->getLine(5, 10, 80, 30, $style1); +$pdf->page->addContent($line1); + +$line2 = $pdf->graph->getLine(5, 10, 5, 30, $style2); +$pdf->page->addContent($line2); + +$line3 = $pdf->graph->getLine(5, 10, 80, 10, $style3); +$pdf->page->addContent($line3); + +// Rectangle + +$rect1 = $pdf->graph->getRect(100, 10, 40, 20, 'DF', $style4); +$pdf->page->addContent($rect1); + +$rect2 = $pdf->graph->getRect(145, 10, 40, 20, 'D', [ + 'all' => $style3, +]); +$pdf->page->addContent($rect2); + +// Curve + +$curve1 = $pdf->graph->getCurve(5, 40, 30, 55, 70, 45, 60, 75, '', $style6); +$pdf->page->addContent($curve1); + +$curve2 = $pdf->graph->getCurve(80, 40, 70, 75, 150, 45, 100, 75, 'F', $style6); +$pdf->page->addContent($curve2); + +$curve3 = $pdf->graph->getCurve(140, 40, 150, 55, 180, 45, 200, 75, 'DF', $style6); +$pdf->page->addContent($curve3); + +// Circle + +$circle1 = $pdf->graph->getCircle(25, 105, 20); +$pdf->page->addContent($circle1); + +$circle2 = $pdf->graph->getCircle(25, 105, 10, 90, 180, '', $style7); +$pdf->page->addContent($circle2); + +$circle3 = $pdf->graph->getCircle(25, 105, 10, 270, 360, 'F'); +$pdf->page->addContent($circle3); + +$circle4 = $pdf->graph->getCircle(25, 105, 10, 270, 360, 'C', $style7); +$pdf->page->addContent($circle4); + +// Ellipse + +$ellipse1 = $pdf->graph->getEllipse(100, 103, 40, 20); +$pdf->page->addContent($ellipse1); + +$ellipse2 = $pdf->graph->getEllipse(100, 105, 20, 10, 0, 90, 180, '', $style7); +$pdf->page->addContent($ellipse2); + +$ellipse3 = $pdf->graph->getEllipse(100, 105, 20, 10, 0, 270, 360, 'DF', $style7); +$pdf->page->addContent($ellipse3); + +$ellipse4 = $pdf->graph->getEllipse(175, 103, 30, 15, 45); +$pdf->page->addContent($ellipse4); + +$ellipse5 = $pdf->graph->getEllipse(175, 105, 15, 7.50, 45, 90, 180, '', $style7); +$pdf->page->addContent($ellipse5); + +$ellipse6 = $pdf->graph->getEllipse(175, 105, 15, 7.50, 45, 270, 360, 'F', $style7, 4); +$pdf->page->addContent($ellipse6); + +// Polygon + +$polygon1 = $pdf->graph->getPolygon([5, 135, 45, 135, 15, 165], 's'); +$pdf->page->addContent($polygon1); + +$polygon2 = $pdf->graph->getPolygon([60, 135, 80, 135, 80, 155, 70, 165, 50, 155], 'DF', [$style6, $style7, $style7, $style6, $style6]); +$pdf->page->addContent($polygon2); + +$polygon3 = $pdf->graph->getPolygon([120, 135, 140, 135, 150, 155, 110, 155], 'D', [$style5, $style6, $style7, $style6]); +$pdf->page->addContent($polygon3); + +$polygon4 = $pdf->graph->getPolygon([160, 135, 190, 155, 170, 155, 200, 160, 160, 165], 'DF', [ + 'all' => $style6, +]); +$pdf->page->addContent($polygon4); + +$polygon5 = $pdf->graph->getPolygon([80, 165, 90, 160, 100, 165, 110, 160, 120, 165, 130, 160, 140, 165], 'D', [ + 'all' => $style1, +]); +$pdf->page->addContent($polygon5); + +// Regular Polygon + +$regpoly1 = $pdf->graph->getRegularPolygon(20, 190, 15, 6, 0, 'b', [ + 'all' => $style6, +], 's', $style5); +$pdf->page->addContent($regpoly1); + +$regpoly2 = $pdf->graph->getRegularPolygon(55, 190, 15, 6, 0, 's'); +$pdf->page->addContent($regpoly2); + +$regpoly3 = $pdf->graph->getRegularPolygon(55, 190, 10, 6, 45, 'DF', [$style6, $style5, $style7, $style5, $style7, $style7]); +$pdf->page->addContent($regpoly3); + +$regpoly4 = $pdf->graph->getRegularPolygon(90, 190, 15, 3, 0, 'b', [ + 'all' => $style5, +], 'F', $style6); +$pdf->page->addContent($regpoly4); + +$regpoly5 = $pdf->graph->getRegularPolygon(125, 190, 15, 4, 30, 'b', [ + 'all' => $style5, +], 's', $style1); +$pdf->page->addContent($regpoly5); + +$regpoly6 = $pdf->graph->getRegularPolygon(160, 190, 15, 10, 0, 's'); +$pdf->page->addContent($regpoly6); + + +// Star Polygon + +$startpoly1 = $pdf->graph->getStarPolygon(20, 230, 15, 20, 3, 0, 's', [ + 'all' => $style2, +], 'b', $style5); +$pdf->page->addContent($startpoly1); + +$startpoly2 = $pdf->graph->getStarPolygon(55, 230, 15, 12, 5, 15, 's'); +$pdf->page->addContent($startpoly2); + +$startpoly3 = $pdf->graph->getStarPolygon(55, 230, 7, 12, 5, 45, 'b', [ + 'all' => $style7, +], 'F', $style6); +$pdf->page->addContent($startpoly3); + +$startpoly4 = $pdf->graph->getStarPolygon(90, 230, 15, 20, 6, 0, 's', [ + 'all' => $style5, +], 'F', $style6); +$pdf->page->addContent($startpoly4); + +$startpoly5 = $pdf->graph->getStarPolygon(125, 230, 15, 5, 2, 30, 's', [ + 'all' => $style5, +], 's', $style6); +$pdf->page->addContent($startpoly5); + +$startpoly6 = $pdf->graph->getStarPolygon(160, 230, 15, 10, 3, 0, 's'); +$pdf->page->addContent($startpoly6); + +$startpoly7 = $pdf->graph->getStarPolygon(160, 230, 7, 50, 26, 10, 's'); +$pdf->page->addContent($startpoly7); + +// Rounded Rectangle + +$roundrect1 = $pdf->graph->getRoundedRect(5, 255, 40, 30, 3.50, 3.50, '1111', 'DF'); +$pdf->page->addContent($roundrect1); + +$roundrect2 = $pdf->graph->getRoundedRect(50, 255, 40, 30, 6.50, 6.50, '1000', 'b'); +$pdf->page->addContent($roundrect2); + +$roundrect3 = $pdf->graph->getRoundedRect(95, 255, 40, 30, 10.0, 5.0, '1111', 's', $style6); +$pdf->page->addContent($roundrect3); + +$roundrect4 = $pdf->graph->getRoundedRect(140, 255, 40, 30, 8.0, 8.0, '0101', 'DF', $style6); +$pdf->page->addContent($roundrect4); + +// Arrows + +$arrow1 = $pdf->graph->getArrow(200, 280, 185, 266, 0, 5, 15); +$pdf->page->addContent($arrow1); + +$arrow2 = $pdf->graph->getArrow(200, 280, 190, 263, 1, 5, 15); +$pdf->page->addContent($arrow2); + +$arrow3 = $pdf->graph->getArrow(200, 280, 195, 261, 2, 5, 15); +$pdf->page->addContent($arrow3); + +$arrow4 = $pdf->graph->getArrow(200, 280, 200, 260, 3, 5, 15); +$pdf->page->addContent($arrow4); + +// ---------- +// Add page 2 + +$page03 = $pdf->addPage(); +$pdf->setBookmark('Ellipse', '', 1); + +$pdf->graph->setPageWidth($page03['width']); +$pdf->graph->setPageHeight($page03['height']); + +// center of ellipse +$xc = 100; +$yc = 100; +// X Y axis +$arc1 = $pdf->graph->getLine($xc - 50, $yc, $xc + 50, $yc, $style1); +$pdf->page->addContent($arc1); + +$arc2 = $pdf->graph->getLine($xc, $yc - 50, $xc, $yc + 50, $style2); +$pdf->page->addContent($arc2); + +// ellipse axis +$arc3 = $pdf->graph->getLine($xc - 50, $yc - 50, $xc + 50, $yc + 50, $style3); +$pdf->page->addContent($arc3); + +$arc4 = $pdf->graph->getLine($xc - 50, $yc + 50, $xc + 50, $yc - 50, $style5); +$pdf->page->addContent($arc4); + +// ellipse +$arc5 = $pdf->graph->getEllipse($xc, $yc, 30, 15, 45, 0, 360, 'D', $style6, 2); +$pdf->page->addContent($arc5); + +// ellipse arc +$arc6 = $pdf->graph->getEllipse($xc, $yc, 30, 15, 45, 45, 90, 'D', $style7, 2); +$pdf->page->addContent($arc6); + +// ---------- +// Add page 4 + +$page04 = $pdf->addPage(); +$pdf->setBookmark('Pie Chart', '', 1); + +$pdf->graph->setPageWidth($page04['width']); +$pdf->graph->setPageHeight($page04['height']); + +$xc = 105; +$yc = 100; +$r = 50; + +$pie1 = $pdf->graph->getPieSector($xc, $yc, $r, 20, 120, 'FD', $style5, 2); +$pdf->page->addContent($pie1); + +$pie2 = $pdf->graph->getPieSector($xc, $yc, $r, 120, 250, 'FD', $style6, 2); +$pdf->page->addContent($pie2); + +$pie3 = $pdf->graph->getPieSector($xc, $yc, $r, 250, 20, 'FD', $style7, 2); +$pdf->page->addContent($pie3); + + +// ---------- +// Add page 5 + +$page05 = $pdf->addPage(); +$pdf->setBookmark('Crop Marks and Color Maps', '', 1); + +$pdf->graph->setPageWidth($page05['width']); +$pdf->graph->setPageHeight($page05['height']); + + + +$pdf->graph->add($style7); + +$style8 = $pdf->graph->getCurrentStyleArray(); + +// Crop Marks + +$crpmrk1 = $pdf->graph->getCropMark(50, 70, 10, 10, 'TL', $style8); +$pdf->page->addContent($crpmrk1); + +$crpmrk2 = $pdf->graph->getCropMark(140, 70, 10, 10, 'TR', $style8); +$pdf->page->addContent($crpmrk2); + +$crpmrk3 = $pdf->graph->getCropMark(50, 120, 10, 10, 'BL', $style8); +$pdf->page->addContent($crpmrk3); + +$crpmrk4 = $pdf->graph->getCropMark(140, 120, 10, 10, 'BR', $style8); +$pdf->page->addContent($crpmrk4); + +$crpmrk5 = $pdf->graph->getCropMark(95, 65, 5, 5, 'LTR'); +$pdf->page->addContent($crpmrk5); + +$crpmrk6 = $pdf->graph->getCropMark(95, 125, 5, 5, 'LBR'); +$pdf->page->addContent($crpmrk6); + +$crpmrk7 = $pdf->graph->getCropMark(45, 95, 5, 5, 'TLB'); +$pdf->page->addContent($crpmrk7); + +$crpmrk8 = $pdf->graph->getCropMark(145, 95, 5, 5, 'TRB'); +$pdf->page->addContent($crpmrk8); + +$crpmrk9 = $pdf->graph->getCropMark(95, 140, 5, 5, 'TLBR', [ + 'lineColor' => 'lime', +]); +$pdf->page->addContent($crpmrk9); + + +// Registration Marks + + +$regmrk1 = $pdf->graph->getRegistrationMark(40, 60, 5, false); +$pdf->page->addContent($regmrk1); + +$regmrk2 = $pdf->graph->getRegistrationMark(150, 60, 5, true); +$pdf->page->addContent($regmrk2); + +$regmrk3 = $pdf->graph->getRegistrationMark(40, 130, 5, true); +$pdf->page->addContent($regmrk3); + +$regmrk4 = $pdf->graph->getRegistrationMark(150, 130, 5, false, 'blue'); +$pdf->page->addContent($regmrk4); + +// CYMK Registration Mark +$regmrk5 = $pdf->graph->getCmykRegistrationMark(150, 155, 8); +$pdf->page->addContent($regmrk5); + +// Add Spot Colors + +$color_custom_dark_green = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 1, + 'magenta' => 0.5, + 'yellow' => 0.8, + 'key' => 0.45, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Dark Green', $color_custom_dark_green); + +$color_custom_light_yellow = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0.55, + 'key' => 0, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Light Yellow', $color_custom_light_yellow); + +$color_custom_black = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0, + 'magenta' => 0, + 'yellow' => 0, + 'key' => 1, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Black', $color_custom_black); + +$color_custom_red = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0.3, + 'magenta' => 1, + 'yellow' => 0.9, + 'key' => 0.1, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Red', $color_custom_red); + +$color_custom_green = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 1, + 'magenta' => 0.3, + 'yellow' => 1, + 'key' => 0, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Green', $color_custom_green); + +$color_custom_blue = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 1, + 'magenta' => 0.6, + 'yellow' => 0.1, + 'key' => 0.05, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Blue', $color_custom_blue); + +$color_custom_yellow = new \Com\Tecnick\Color\Model\Cmyk( + [ + 'cyan' => 0, + 'magenta' => 0.2, + 'yellow' => 1, + 'key' => 0, + 'alpha' => 0, + ] +); +$pdf->color->addSpotColor('Custom Yellow', $color_custom_yellow); + + + +$style8 = [ + 'lineWidth' => 0, + 'lineCap' => 0, + 'lineJoin' => 0, + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'white', + 'fillColor' => 'white', +]; + + +$pdf->page->addContent($pdf->graph->getStyleCmd($style8)); + + +// Color Registration Bars with spot colors + +$colregspot = $pdf->graph->getColorRegistrationBar( + 30, + 150, + 100, + 10, + true, + [ + ['black'], + ['red'], + ['green'], + ['blue'], + ['Custom Dark Green'], + ['Custom Light Yellow'], + ['Custom Black'], + ['Custom Red'], + ['Custom Green'], + ['Custom Blue'], + ['Custom Yellow'], + ] +); +$pdf->page->addContent($colregspot); + + +$colreg1 = $pdf->graph->getColorRegistrationBar(50, 70, 40, 40, false); +$pdf->page->addContent($colreg1); + +$colreg2 = $pdf->graph->getColorRegistrationBar(90, 70, 40, 40, true); +$pdf->page->addContent($colreg2); + +$barcols = [ + ['black'], + ['white'], + ['red'], + ['green'], + ['blue'], + ['cyan'], + ['magenta'], + ['yellow'], + ['gray'], + ['black'], +]; + +$colreg3 = $pdf->graph->getColorRegistrationBar(50, 115, 80, 5, true, $barcols); +$pdf->page->addContent($colreg3); + +$colreg4 = $pdf->graph->getColorRegistrationBar(135, 70, 5, 50, false, $barcols); +$pdf->page->addContent($colreg4); + + +// ---------- +// Add page 6 + +$page06 = $pdf->addPage(); +$pdf->setBookmark('Color Gradients', '', 1); + +$pdf->graph->setPageWidth($page06['width']); +$pdf->graph->setPageHeight($page06['height']); + + +// Linear gradient +$lingrad = $pdf->graph->getLinearGradient(20, 45, 80, 80, 'red', 'blue', [0, 0, 1, 0]); +$pdf->page->addContent($lingrad); + +// Radial Gradient +$radgrad = $pdf->graph->getRadialGradient(110, 45, 80, 80, 'white', 'black', [0.5, 0.5, 1, 1, 1.2]); +$pdf->page->addContent($radgrad); + + +// CoonsPatchMesh +$coonspatchmesh1 = $pdf->graph->getCoonsPatchMeshWithCoords(20, 155, 80, 80, 'yellow', 'blue', 'green', 'red'); +$pdf->page->addContent($coonspatchmesh1); + + +// set the coordinates for the cubic Bézier points x1,y1 ... x12, y12 of the patch +$coords = [ + 0.00, + 0.00, + 0.33, + 0.20, + //lower left + 0.67, + 0.00, + 1.00, + 0.00, + 0.80, + 0.33, + //lower right + 0.80, + 0.67, + 1.00, + 1.00, + 0.67, + 0.80, + //upper right + 0.33, + 1.00, + 0.00, + 1.00, + 0.20, + 0.67, + //upper left + 0.00, + 0.33, +]; //lower left + +// paint a coons patch gradient with the above coordinates +$coonspatchmesh2 = $pdf->graph->getCoonsPatchMeshWithCoords(110, 155, 80, 80, 'yellow', 'blue', 'green', 'red', $coords, 0, 1); +$pdf->page->addContent($coonspatchmesh2); + + +// ---------- +// Add page 7 + +$page07 = $pdf->addPage(); +$pdf->setBookmark('Color gradient mesh', '', 1); + +$pdf->graph->setPageWidth($page07['width']); +$pdf->graph->setPageHeight($page07['height']); + +// first patch: f = 0 +$patch_array[0]['f'] = 0; +$patch_array[0]['points'] = [0.00, 0.00, 0.33, 0.00, 0.67, 0.00, 1.00, 0.00, 1.00, 0.33, 0.8, 0.67, 1.00, 1.00, 0.67, 0.8, 0.33, 1.80, 0.00, 1.00, 0.00, 0.67, 0.00, 0.33]; +$patch_array[0]['colors'][0] = [ + 'red' => 1, + 'green' => 1, + 'blue' => 0, + 'alpha' => 1, +]; +$patch_array[0]['colors'][1] = [ + 'red' => 1, + 'green' => 1, + 'blue' => 1, + 'alpha' => 1, +]; +$patch_array[0]['colors'][2] = [ + 'red' => 0, + 'green' => 1, + 'blue' => 0, + 'alpha' => 1, +]; +$patch_array[0]['colors'][3] = [ + 'red' => 1, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, +]; + +// second patch - above the other: f = 2 +$patch_array[1]['f'] = 2; +$patch_array[1]['points'] = [0.00, 1.33, 0.00, 1.67, 0.00, 2.00, 0.33, 2.00, 0.67, 2.00, 1.00, 2.00, 1.00, 1.67, 1.5, 1.33]; +$patch_array[1]['colors'][0] = [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, +]; +$patch_array[1]['colors'][1] = [ + 'red' => 1, + 'green' => 0, + 'blue' => 1, + 'alpha' => 1, +]; + +// third patch - right of the above: f = 3 +$patch_array[2]['f'] = 3; +$patch_array[2]['points'] = [1.33, 0.80, 1.67, 1.50, 2.00, 1.00, 2.00, 1.33, 2.00, 1.67, 2.00, 2.00, 1.67, 2.00, 1.33, 2.00]; +$patch_array[2]['colors'][0] = [ + 'red' => 0, + 'green' => 1, + 'blue' => 1, + 'alpha' => 1, +]; +$patch_array[2]['colors'][1] = [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, +]; + +// fourth patch - below the above, which means left(?) of the above: f = 1 +$patch_array[3]['f'] = 1; +$patch_array[3]['points'] = [2.00, 0.67, 2.00, 0.33, 2.00, 0.00, 1.67, 0.00, 1.33, 0.00, 1.00, 0.00, 1.00, 0.33, 0.8, 0.67]; +$patch_array[3]['colors'][0] = [ + 'red' => 0, + 'green' => 0, + 'blue' => 0, + 'alpha' => 1, +]; +$patch_array[3]['colors'][1] = [ + 'red' => 0, + 'green' => 0, + 'blue' => 1, + 'alpha' => 1, +]; + +$coonspatchmesh3 = $pdf->graph->getCoonsPatchMesh(0, 0, 210, 297, $patch_array, 0, 2); +$pdf->page->addContent($coonspatchmesh3); + +// ---------- +// Add page 8 + +$page08 = $pdf->addPage(); +$pdf->setBookmark('Transformations', '', 1); + +$pdf->graph->setPageWidth($page08['width']); +$pdf->graph->setPageHeight($page08['height']); + +// Geometric Transformations + + +$rect_style = [ + 'lineWidth' => 0.3, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'black', + 'fillColor' => 'black', +]; + +$transform_style = [ + 'lineWidth' => 0.3, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'red', + 'fillColor' => 'red', +]; + +// Scaling +$t1 = $pdf->graph->getBasicRect(50, 70, 40, 10, 'D', $rect_style); +$t1 .= $pdf->graph->getStartTransform(); +// Scale by 150% centered by (50,80) which is the lower left corner of the rectangle +$t1 .= $pdf->graph->getScaling(1.5, 1.5, 50, 80); +$t1 .= $pdf->graph->getBasicRect(50, 70, 40, 10, 'D', $transform_style); +$t1 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t1); + + +// Translation +$t2 = $pdf->graph->getBasicRect(125, 70, 40, 10, 'D'); +$t2 .= $pdf->graph->getStartTransform(); +// Translate 7 to the right, 5 to the bottom +$t2 .= $pdf->graph->getTranslation(7, 5); +$t2 .= $pdf->graph->getBasicRect(125, 70, 40, 10, 'D', $transform_style); +$t2 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t2); + + +// Rotation +$t3 = $pdf->graph->getBasicRect(70, 100, 40, 10, 'D'); +$t3 .= $pdf->graph->getStartTransform(); +// Rotate 20 degrees counter-clockwise centered by (70,110) which is the lower left corner of the rectangle +$t3 .= $pdf->graph->getRotation(20, 70, 110); +$t3 .= $pdf->graph->getBasicRect(70, 100, 40, 10, 'D', $transform_style); +$t3 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t3); + + +// Skewing +$t4 = $pdf->graph->getBasicRect(125, 100, 40, 10, 'D'); +$t4 .= $pdf->graph->getStartTransform(); +// skew 30 degrees along the x-axis centered by (125,110) which is the lower left corner of the rectangle +$t4 .= $pdf->graph->getSkewing(30, 0, 125, 110); +$t4 .= $pdf->graph->getBasicRect(125, 100, 40, 10, 'D', $transform_style); +$t4 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t4); + + +// Mirroring Horizontally +$t5 = $pdf->graph->getBasicRect(70, 130, 40, 10, 'D'); +$t5 .= $pdf->graph->getStartTransform(); +// mirror horizontally with axis of reflection at x-position 70 (left side of the rectangle) +$t5 .= $pdf->graph->getHorizMirroring(70); +$t5 .= $pdf->graph->getBasicRect(70, 130, 40, 10, 'D', $transform_style); +$t5 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t5); + + +// Mirroring Vertically +$t6 = $pdf->graph->getBasicRect(125, 130, 40, 10, 'D'); +$t6 .= $pdf->graph->getStartTransform(); +// mirror vertically with axis of reflection at y-position 140 (bottom side of the rectangle) +$t6 .= $pdf->graph->getVertMirroring(140); +$t6 .= $pdf->graph->getBasicRect(125, 130, 40, 10, 'D', $transform_style); +$t6 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t6); + + +// Point Reflection +$t7 = $pdf->graph->getBasicRect(70, 160, 40, 10, 'D'); +$t7 .= $pdf->graph->getStartTransform(); +// point reflection at the lower left point of rectangle +$t7 .= $pdf->graph->getPointMirroring(70, 170); +$t7 .= $pdf->graph->getBasicRect(70, 160, 40, 10, 'D', $transform_style); +$t7 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t7); + +// Mirroring against a straigth line described by a point (120, 120) and an angle -20° +$angle = -20; +$px = 120; +$py = 170; + +// just for visualisation: the straight line to mirror against +$t8 = $pdf->graph->getLine($px - 1, $py - 1, $px + 1, $py + 1, [ + 'lineColor' => 'green', +]); +$t8 .= $pdf->graph->getLine($px - 1, $py + 1, $px + 1, $py - 1, [ + 'lineColor' => 'green', +]); +$t8 .= $pdf->graph->getStartTransform(); +$t8 .= $pdf->graph->getRotation($angle, $px, $py); +$t8 .= $pdf->graph->getLine($px - 5, $py, $px + 60, $py, [ + 'lineColor' => 'green', +]); +$t8 .= $pdf->graph->getStopTransform(); +$t8 .= $pdf->graph->getBasicRect(125, 160, 40, 10, 'D', $rect_style); +$t8 .= $pdf->graph->getStartTransform(); +// mirror against the straight line +$t8 .= $pdf->graph->getReflection($angle, $px, $py); +$t8 .= $pdf->graph->getBasicRect(125, 160, 40, 10, 'D', $transform_style); +$t8 .= $pdf->graph->getStopTransform(); +$pdf->page->addContent($t8); + + +// ---------- +// Add page 9 + +$page09 = $pdf->addPage(); +$pdf->setBookmark('Barcodes', '', 0, -1, 0, 0, 'B', ''); + +$dest_barcode_page = $pdf->setNamedDestination('barcode'); + +$pdf->graph->setPageWidth($page09['width']); +$pdf->graph->setPageHeight($page09['height']); + +// Barcode + +$barcode_style = [ + 'lineWidth' => 0, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'black', + 'fillColor' => 'black', +]; + +$barcode1 = $pdf->getBarcode( + 'QRCODE,H', + 'https://tecnick.com', + 10, + 10, + -1, + -1, + [0, 0, 0, 0], + $barcode_style +); +$pdf->page->addContent($barcode1); + +$barcode2 = $pdf->getBarcode( + 'IMB', + '01234567094987654321-01234567891', + 10, + 80, + -1, + -2, + [0, 0, 0, 0], + $barcode_style +); +$pdf->page->addContent($barcode2); + + +// ---------- +// Add page 10 + +$page10 = $pdf->addPage(); +$pdf->setBookmark('Image Clipping', '', 0, -1, 0, 0, 'B', ''); + +$pdf->graph->setPageWidth($page10['width']); +$pdf->graph->setPageHeight($page10['height']); + +// Clipping Mask + +$cnz = $pdf->graph->getStartTransform(); +$cnz .= $pdf->graph->getStarPolygon(50, 50, 40, 10, 3, 0, 'CNZ'); +$clipimg = $pdf->image->add($imgdir . '/200x100_CMYK.jpg'); +$cnz .= $pdf->image->getSetImage($clipimg, 10, 10, 80, 80, $page10['height']); +$cnz .= $pdf->graph->getStopTransform(); + +$pdf->page->addContent($cnz); + + +// ---------- +// Add page 11 + +$page11 = $pdf->addPage(); +$pdf->setBookmark('Text', '', 0, -1, 0, 0, 'B', ''); + +// Add an internal link to this page +$page11_link = $pdf->addInternalLink(); + +$pdf->graph->setPageWidth($page11['width']); +$pdf->graph->setPageHeight($page11['height']); + +$styletxt = [ + 'lineWidth' => 0.25, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'red', + 'fillColor' => 'black', +]; + +$pdf->graph->add($styletxt); + + +$bfont2 = $pdf->font->insert($pdf->pon, 'times', 'BI', 24); + +$pdf->page->addContent($bfont2['out']); +// alternative to set the current font (last entry in the font stack): +// $pdf->page->addContent($pdf->font->getOutCurrentFont()); + +// Add text +$txt = $pdf->getTextLine( + 'Test PDF text with justification (stretching) % %% %%%', + 0, + $pdf->toUnit($bfont2['ascent']), + $page11['width'] +); + +$pdf->page->addContent($txt); + +$bbox = $pdf->getLastBBox(); + +// Add text +$txt2 = $pdf->getTextLine( + 'Link to https://tcpdf.org', + 15, + ($bbox['y'] + $bbox['h'] + $pdf->toUnit($bfont2['ascent'])), + 0, + 0, + 0, + 0, + 0, + true, + false, + false, + false, + false, + false, + '', + [ + 'xoffset' => 0.5, + 'yoffset' => 0.5, + 'opacity' => 0.5, + 'mode' => 'Normal', + 'color' => 'red', + ], +); +$pdf->page->addContent($txt2); + +// get the coordinates of the box containing the last added text string. +$bbox = $pdf->getLastBBox(); + +$aoid1 = $pdf->setLink( + $bbox['x'], + $bbox['y'], + $bbox['w'], + $bbox['h'], + 'https://tcpdf.org', +); +$pdf->page->addAnnotRef($aoid1); + +// ----------------------------------------------- + +// add a text column with automatic line breaking + +$bfont3 = $pdf->font->insert($pdf->pon, 'courier', '', 14); +$pdf->page->addContent($bfont3['out']); + +$txt3 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'."\n".'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'; + +$col = $pdf->color->getPdfColor('blue'); +$pdf->page->addContent($col); + +// single block of text +$txtbox = $pdf->getTextCell( + $txt3, // string $txt, + 20, // float $posx = 0, + 30, // float $posy = 0, + 150, // float $width = 0, + 0, // float $height = 0, + 15, // float $offset = 0, + 1, // float $linespace = 0, + 'T', // string $valign = 'C', + 'J', // string $halign = 'C', + null, // ?array $cell = null, + [], // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + false, // bool $drawcell = true, + '', // string $forcedir = '', + null // ?array $shadow = null, +); +$pdf->page->addContent($txtbox); + +$col = $pdf->color->getPdfColor('black'); +$pdf->page->addContent($col); + +$bfont4 = $pdf->font->insert($pdf->pon, 'freeserif', 'I', 14); +$pdf->page->addContent($bfont4['out']); + +$pdf->setDefaultCellPadding(2,2,2,2); + +// Text cell +$style_cell = [ + 'all' => [ + 'lineWidth' => 1, + 'lineCap' => 'round', + 'lineJoin' => 'round', + 'miterLimit' => 1, + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => 'green', + 'fillColor' => 'yellow', + ], +]; + +$txtcell1 = $pdf->getTextCell( + 'DEFAULT', // string $txt, + 20, // float $posx = 0, + 100, // float $posy = 0, + 0, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 0, // float $linespace = 0, + 'C', // string $valign = 'C', + 'C', // string $halign = 'C', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null // ?array $shadow = null, +); +$pdf->page->addContent($txtcell1); + +$pdf->setDefaultCellBorderPos($pdf::BORDERPOS_EXTERNAL); +$txtcell2 = $pdf->getTextCell( + 'EXTERNAL', // string $txt, + 49, // float $posx = 0, + 100, // float $posy = 0, + 0, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 0, // float $linespace = 0, + 'C', // string $valign = 'C', + 'C', // string $halign = 'C', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null // ?array $shadow = null, +); +$pdf->page->addContent($txtcell2); + +$pdf->setDefaultCellBorderPos($pdf::BORDERPOS_INTERNAL); +$txtcell2 = $pdf->getTextCell( + 'INTERNAL', // string $txt, + 80, // float $posx = 0, + 100, // float $posy = 0, + 0, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 0, // float $linespace = 0, + 'C', // string $valign = 'C', + 'C', // string $halign = 'C', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null // ?array $shadow = null, +); +$pdf->page->addContent($txtcell2); + + +$pdf->setDefaultCellBorderPos($pdf::BORDERPOS_DEFAULT); + +$txtcell2 = $pdf->getTextCell( + $txt3, // string $txt, + 20, // float $posx = 0, + 120, // float $posy = 0, + 150, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 0, // float $linespace = 0, + 'C', // string $valign = 'C', + 'J', // string $halign = 'C', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null // ?array $shadow = null, +); +$pdf->page->addContent($txtcell2); + + +$bfont4 = $pdf->font->insert($pdf->pon, 'dejavusans', '', 14); +$pdf->page->addContent($bfont4['out']); + +$pdf->setDefaultCellPadding(2,2,2,2); + +$style_cell_b = [ + 'all' => [ + 'lineWidth' => 0.5, + 'lineCap' => 'round', + 'lineJoin' => 'round', + 'miterLimit' => 0.5, + 'dashArray' => [0,1], + 'dashPhase' => 2, + 'lineColor' => 'red', + ], +]; + +// block of text between two page regions +$pdf->addTextCell( + $txt3, // string $txt, + -1, // int $pid = -1, + 20, // float $posx = 0, + 165, // float $posy = 0, + 150, // float $width = 0, + 0, // float $height = 0, + 15, // float $offset = 0, + 1, // float $linespace = 0, + 'T', // string $valign = 'T', + 'J', // string $halign = '', + null, // ?array $cell = null, + $style_cell_b, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null, // ?array $shadow = null, +); + +$txt4 = 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?'; + +$txt5 = 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.'; + +$pdf->enableZeroWidthBreakPoints(true); +$pdf->addTextCell( + "TEST-TEXT-ENABLE-AUTO-BREAK-POINTS", // string $txt, + -1, // int $pid = -1, + 20, // float $posx = 0, + 233, // float $posy = 0, + 85, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 0, // float $linespace = 0, + 'C', // string $valign = 'T', + 'L', // string $halign = '', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null, // ?array $shadow = null, +); + +$pdf->enableZeroWidthBreakPoints(false); +$pdf->addTextCell( + "TEST-TEXT-DISABLE-AUTO-BREAK-POINTS", // string $txt, + -1, // int $pid = -1, + 20, // float $posx = 0, + 252, // float $posy = 0, + 85, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 0, // float $linespace = 0, + 'C', // string $valign = 'T', + 'L', // string $halign = '', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null, // ?array $shadow = null, +); + +// Hyphenation example +// TEX hyphenation patterns can be downloaded from: +// https://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex +// +//$hyphen_patterns = $pdf->loadTexHyphenPatterns('../../RESOURCES/hyph-la-x-classic.tex'); +//$pdf->setTexHyphenPatterns($hyphen_patterns); + +// block of text between two page regions +$pdf->addTextCell( + $txt3 . "\n" . $txt4 . "\n" . $txt5, // string $txt, + -1, // int $pid = -1, + 20, // float $posx = 0, + 265, // float $posy = 0, + 120, // float $width = 0, + 0, // float $height = 0, + 15, // float $offset = 0, + 1, // float $linespace = 0, + 'T', // string $valign = 'T', + 'J', // string $halign = '', + null, // ?array $cell = null, + $style_cell, // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + false, //bool $underline = false, + false, //bool $linethrough = false, + false, //bool $overline = false, + false, // bool $clip = false, + true, // bool $drawcell = true, + '', // string $forcedir = '', + null, // ?array $shadow = null, +); + +$pdf->addTextCell( + 'overline, linethrough and underline', // string $txt, + -1, // int $pid = -1, + 15, // float $posx = 0, + 50, // float $posy = 0, + 180, // float $width = 0, + 0, // float $height = 0, + 0, // float $offset = 0, + 1, // float $linespace = 0, + 'T', // string $valign = 'C', + 'L', // string $halign = 'C', + null, // ?array $cell = null, + [], // array $styles = [], + 0, // float $strokewidth = 0, + 0, // float $wordspacing = 0, + 0, // float $leading = 0, + 0, // float $rise = 0, + true, // bool $jlast = true, + true, // bool $fill = true, + false, // bool $stroke = false, + true, //bool $underline = false, + true, //bool $linethrough = false, + true, //bool $overline = false, + false, // bool $clip = false, + false, // bool $drawcell = true, + '', // string $forcedir = '', + null // ?array $shadow = null, +); + +// ---------- + +// Page signature + +$pageC01 = $pdf->addPage(); +$pdf->setBookmark('Signature', '', 0, -1, 0, 0, 'B', 'red'); + +/* +NOTES: + - To create self-signed signature: + openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + - To export crt to p12: + openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + - To convert pfx certificate to pem: + openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes +*/ + +// set certificate file +$cert = 'file://data/cert/tcpdf.crt'; + +$sigdata = [ + // 'appearance' => [ + // 'empty' => [], + // 'name' => '', + // 'page' => 0, + // 'rect' => '', + // ], + // 'approval' => '', + 'cert_type' => 2, + // 'extracerts' => null, + 'info' => [ + 'ContactInfo' => 'http://www.tcpdf.org', + 'Location' => 'Office', + 'Name' => 'tc-lib-pdf', + 'Reason' => 'PDF signature test', + ], + 'password' => 'tcpdfdemo', + 'privkey' => $cert, + 'signcert' => $cert, +]; + +$pdf->setSignature($sigdata); + +$sigimg = $pdf->image->add('./images/tcpdf_signature.png'); +$sigimg_out = $pdf->image->getSetImage($sigimg, 30, 30, 20, 20, $pageC01['height']); +$pdf->page->addContent($sigimg_out); + +$pdf->setSignatureAppearance(30, 30, 20, 20, -1, 'test'); + +$pdf->addEmptySignatureAppearance(30, 60, 20, 20, -1, 'test'); + + +// ---------- + +// XOBject template + +$pageC02 = $pdf->addPage(); +$pdf->setBookmark('XOBject Template', '', 0, -1, 0, 0, 'B', ''); + +$tid = $pdf->newXObjectTemplate(80, 80, []); + + +$timg = $pdf->image->add($imgdir . '/200x100_RGB.png'); +$pdf->addXObjectImageID($tid, $timg); + +$xcnz = $pdf->image->getSetImage($timg, 10, 10, 80, 80, 80); +$pdf->addXObjectContent($tid, $xcnz); + +$pdf->exitXObjectTemplate(); + +$tmpl = $pdf->graph->getAlpha(0.33); +$tmpl .= $pdf->getXObjectTemplate($tid, 10, 10, 30, 30, 'T', 'L'); +$pdf->page->addContent($tmpl); + +$tmpl = $pdf->graph->getAlpha(0.66); +$tmpl .= $pdf->getXObjectTemplate($tid, 20, 20, 40, 40, 'T', 'L'); +$pdf->page->addContent($tmpl); + +$tmpl = $pdf->graph->getAlpha(1); +$tmpl .= $pdf->getXObjectTemplate($tid, 40, 40, 60, 60, 'T', 'L'); +$pdf->page->addContent($tmpl); + +// ---------- + +// Layers + +$pageV01 = $pdf->addPage(); +$pdf->setBookmark('Layers', '', 0, -1, 0, 0, 'B', ''); + +$pdf->page->addContent($bfont4['out']); + +$txtV1 = 'LAYERS: You can limit the visibility of PDF objects to screen or printer by using the newLayer() method. +Check the print preview of this document to display the alternative text.'; +$txtboxV1 = $pdf->getTextCell($txtV1, 15, 15, 150, valign: 'T', halign: 'L'); +$pdf->page->addContent($txtboxV1); + +$lyr01 = $pdf->newLayer('screen', [], false, true, false); +$pdf->page->addContent($lyr01); +$txtV2 = 'This line is for display on screen only.'; +$txtboxV2 = $pdf->getTextCell($txtV2, 15, 45, 150, valign: 'T', halign: 'L'); +$pdf->page->addContent($txtboxV2); +$pdf->page->addContent($pdf->closeLayer()); + + +$lyr02 = $pdf->newLayer('print', [], true, false, false); +$pdf->page->addContent($lyr02); +$txtV3 = 'This line is for print only.'; +$txtboxV3 = $pdf->getTextCell($txtV3, 15, 55, 150, valign: 'T', halign: 'L'); +$pdf->page->addContent($txtboxV3); +$pdf->page->addContent($pdf->closeLayer()); + +// Links + +$txtlnk1 = $pdf->getTextCell("Link to page 11", 15, 70, 150, valign: 'T', halign: 'L'); +$pdf->page->addContent($txtlnk1); +$bbox = $pdf->getLastBBox(); +$lnk1 = $pdf->setLink( + $bbox['x'], + $bbox['y'], + $bbox['w'], + $bbox['h'], + $page11_link, +); +$pdf->page->addAnnotRef($lnk1); + +$txtlnk2 = $pdf->getTextCell("Link dest to barcode page", 15, 80, 150, valign: 'T', halign: 'L'); +$pdf->page->addContent($txtlnk2); +$bbox = $pdf->getLastBBox(); +$lnk2 = $pdf->setLink( + $bbox['x'], + $bbox['y'], + $bbox['w'], + $bbox['h'], + $dest_barcode_page, +); +$pdf->page->addAnnotRef($lnk2); + +// ---------- + +$pageTOC = $pdf->addPage(); +$pdf->setBookmark('TOC'); + +$pdf->page->addContent($bfont4['out']); + +$pdf->setDefaultCellMargin(0,0,0,0); +$pdf->setDefaultCellPadding(1,1,1,1); + +$style_cell_toc = [ + 'all' => [ + 'lineWidth' => 0, + 'lineCap' => 'round', + 'lineJoin' => 'round', + 'miterLimit' => 0, + 'dashArray' => [], + 'dashPhase' => 0, + 'lineColor' => '', + ], +]; + +$pdf->graph->add($style_cell_toc); + +$pdf->addTOC(-1, 15, 30, 170, false); + + +// ============================================================= + +// ---------- +// get PDF document as raw string +$rawpdf = $pdf->getOutPDFString(); + +// ---------- + +// Various output modes: + +//$pdf->savePDF(dirname(__DIR__).'/target', $rawpdf); +$pdf->renderPDF($rawpdf); +//$pdf->downloadPDF($rawpdf); +//echo $pdf->getMIMEAttachmentPDF($rawpdf); diff --git a/vendor/tecnickcom/tc-lib-pdf/examples/invoice.php b/vendor/tecnickcom/tc-lib-pdf/examples/invoice.php new file mode 100644 index 0000000..8bf799f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/examples/invoice.php @@ -0,0 +1,308 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +// NOTE: run make deps fonts in the project root to generate the dependencies and example fonts. + +// autoloader when using Composer +require(__DIR__ . '/../vendor/autoload.php'); + + +define('OUTPUT_FILE', realpath(__DIR__ . '/../target') . '/example_invoice.pdf'); + +// define fonts directory +define('K_PATH_FONTS', realpath(__DIR__ . '/../vendor/tecnickcom/tc-lib-pdf-font/target/fonts')); + +// autoloader when using RPM or DEB package installation +//require ('/usr/share/php/Com/Tecnick/Pdf/autoload.php'); + +// main TCPDF object +$pdf = new \Com\Tecnick\Pdf\Tcpdf( + 'mm', // string $unit = 'mm', + true, // bool $isunicode = true, + false, // bool $subsetfont = false, + true, // bool $compress = true, + 'pdfa3', // string $mode = '', + null, // ?ObjEncrypt $objEncrypt = null, +); + +// ---------- + + +$pdf->setCreator('tc-lib-pdf'); +$pdf->setAuthor('John Doe'); +$pdf->setSubject('tc-lib-pdf invoice example'); +$pdf->setTitle('Example: Invoice'); +$pdf->setKeywords('TCPDF tc-lib-pdf invoice example'); +$pdf->setPDFFilename('test_invoice.pdf'); + +$pdf->setViewerPreferences(['DisplayDocTitle' => true]); + +$pdf->enableDefaultPageContent(); + +// ---------- +// Insert fonts + +$bfont1 = $pdf->font->insert($pdf->pon, 'helvetica', '', 12); + +// ---------- + + +// Factur-X 1.07 / ZUGFeRD 2.3 + +$pageF01 = $pdf->addPage(); +$pdf->setBookmark('Factur', '', 0, -1, 0, 0, 'B', ''); + +$pdf->page->addContent($bfont1['out']); + +$txtF1 = 'Example of custom XMP metadata for Factur-X 1.07 / ZUGFeRD 2.3'; +$txtboxF1 = $pdf->getTextCell($txtF1, 15, 15, 150, valign: 'T', halign: 'L'); +$pdf->page->addContent($txtboxF1); + +$invoiceXML = << + + + + Baurechnung + + + urn:cen.eu:en16931:2017 + + + + 181301674 + 204 + + 20241115 + + + Rapport-Nr.: 42389 vom 01.11.2024 +Im 2. OG BT1 Besprechungsraum eine Beamerhalterung an die Decke montiert. Dafür eine Deckenplatte ausgesägt. Beamerhalterung zur Montage auseinander gebaut. Ein Stromkabel für den Beamer, ein HDMI Kabel und ein VGA Kabel durch die Halterung gezogen. Beamerhalterung wieder zusammengebaut und Beamer montiert. Beamer verkabelt und ausgerichtet. Decke geschlossen. + + + + + + 01 + + 01 Beamermontage +Für die doppelte Verlegung, falls erforderlich. + + + + TGA Obermonteur/Monteur + + + + 43.2 + + + 43.2 + + + + 3 + + + + VAT + S + 19 + + + 129.6 + + + + + + 02 + + 02 Außerhalb Angebot + + + + Beamer-Deckenhalterung + + + + 122.5 + + + 122.5 + + + + 1 + + + + VAT + S + 19 + + + 122.5 + + + + + Liselotte Müller-Lüdenscheidt + + 549910 + ELEKTRON Industrieservice GmbH + Geschäftsführer Egon Schrempp Amtsgericht Stuttgart HRB 1234 + + 74465 + Erfurter Strasse 13 + Demoort + DE + + + DE136695976 + + + + 16259 + ConsultingService GmbH + + 76138 + Musterstr. 18 + Karlsruhe + DE + + + + per Mail vom 01.09.2024 + + + 13130162 + #ef=Aufmass.png + 916 + + + 42389 + #ef=ElektronRapport_neu-red.pdf + 916 + + + 13130162 + Projekt + + + + + + 20241101 + + + + + Rechnung 181301674 + EUR + + 58 + + DE91100000000123456789 + + + + 47.9 + VAT + 252.1 + S + 19 + + + Zahlbar sofort rein netto + + + 252.1 + 0 + 0 + 252.1 + 47.9 + 300 + 0 + 300 + + + 420 + + + + +XML; + +$pdf->addContentAsEmbeddedFile('factur-x.xml', $invoiceXML); + +$pdf->setCustomXMP('x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag', + ' + Factur-X PDFA Extension Schema + urn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0# + fx + + + + DocumentFileName + Text + external + The name of the embedded XML document + + + DocumentType + Text + external + The type of the hybrid document in capital letters, e.g. INVOICE or ORDER + + + Version + Text + external + The actual version of the standard applying to the embedded XML document + + + ConformanceLevel + Text + external + The conformance level of the embedded XML document + + + +' +); + +$pdf->setCustomXMP('x:xmpmeta.rdf:RDF', + ' + INVOICE + factur-x.xml + 1.0 + EN 16931 +'); + +// ============================================================= + +// ---------- +// get PDF document as raw string +$rawpdf = $pdf->getOutPDFString(); + +// ---------- + +// Various output modes: + +//$pdf->savePDF(dirname(__DIR__).'/target', $rawpdf); +$pdf->renderPDF($rawpdf); +//$pdf->downloadPDF($rawpdf); +//echo $pdf->getMIMEAttachmentPDF($rawpdf); diff --git a/vendor/tecnickcom/tc-lib-pdf/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-pdf/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-pdf/phpcs.xml b/vendor/tecnickcom/tc-lib-pdf/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf/phpstan.neon b/vendor/tecnickcom/tc-lib-pdf/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-pdf/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-pdf/phpunit.xml.dist new file mode 100644 index 0000000..ef916d8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/autoload.php b/vendor/tecnickcom/tc-lib-pdf/resources/autoload.php new file mode 100644 index 0000000..67aa82d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(__DIR__).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/debian/changelog b/vendor/tecnickcom/tc-lib-pdf/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/debian/compat b/vendor/tecnickcom/tc-lib-pdf/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/debian/control b/vendor/tecnickcom/tc-lib-pdf/resources/debian/control new file mode 100644 index 0000000..8e32e79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-date, php-tecnickcom-tc-lib-barcode (<< 3.0.0), php-tecnickcom-tc-lib-barcode (>= 2.4.8), php-tecnickcom-tc-lib-color (<< 3.0.0), php-tecnickcom-tc-lib-color (>= 2.2.13), php-tecnickcom-tc-lib-pdf-image (<< 3.0.0), php-tecnickcom-tc-lib-pdf-image (>= 2.1.14), php-tecnickcom-tc-lib-pdf-font (<< 3.0.0), php-tecnickcom-tc-lib-pdf-font (>= 2.6.12), php-tecnickcom-tc-lib-file (<< 3.0.0), php-tecnickcom-tc-lib-file (>= 2.2.2), php-tecnickcom-tc-lib-pdf-encrypt (<< 3.0.0), php-tecnickcom-tc-lib-pdf-encrypt (>= 2.1.16), php-tecnickcom-tc-lib-unicode-data (<< 3.0.0), php-tecnickcom-tc-lib-unicode-data (>= 2.0.24), php-tecnickcom-tc-lib-unicode (<< 3.0.0), php-tecnickcom-tc-lib-unicode (>= 2.0.25), php-tecnickcom-tc-lib-pdf-page (<< 5.0.0), php-tecnickcom-tc-lib-pdf-page (>= 4.2.12), php-tecnickcom-tc-lib-pdf-graph (<< 3.0.0), php-tecnickcom-tc-lib-pdf-graph (>= 2.3.2), ${misc:Depends} +Description: PHP Barcode library + This library includes PHP classes to generate PDF documents. diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/debian/copyright b/vendor/tecnickcom/tc-lib-pdf/resources/debian/copyright new file mode 100644 index 0000000..3a809c8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2025 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/debian/rules b/vendor/tecnickcom/tc-lib-pdf/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/debian/source/format b/vendor/tecnickcom/tc-lib-pdf/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/etc/php-tecnickcom-tc-lib-pdf/config.json b/vendor/tecnickcom/tc-lib-pdf/resources/etc/php-tecnickcom-tc-lib-pdf/config.json new file mode 100644 index 0000000..e69de29 diff --git a/vendor/tecnickcom/tc-lib-pdf/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-pdf/resources/rpm/rpm.spec new file mode 100644 index 0000000..1632e1b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/resources/rpm/rpm.spec @@ -0,0 +1,68 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library to generate PDF documents + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-date +Requires: php-pcre +Requires: php-composer(%{c_vendor}/tc-lib-barcode) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-barcode) >= 2.4.8 +Requires: php-composer(%{c_vendor}/tc-lib-color) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-color) >= 2.2.13 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-image) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-image) >= 2.1.14 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-font) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-font) >= 2.6.12 +Requires: php-composer(%{c_vendor}/tc-lib-file) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-file) >= 2.2.2 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1.16 +Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0.24 +Requires: php-composer(%{c_vendor}/tc-lib-unicode) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-unicode) >= 2.0.25 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-page) < 5.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-page) >= 4.2.12 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-graph) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-pdf-graph) >= 2.3.2 + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library to generate PDF documents + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +%config(noreplace) %{_configpath}* + +%changelog +* Fri Jun 10 2024 Nicola Asuni 8.0.0-1 +- Initial commit diff --git a/vendor/tecnickcom/tc-lib-pdf/src/Base.php b/vendor/tecnickcom/tc-lib-pdf/src/Base.php new file mode 100644 index 0000000..0a97b29 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/Base.php @@ -0,0 +1,789 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; +use Com\Tecnick\Barcode\Barcode as ObjBarcode; +use Com\Tecnick\Color\Pdf as ObjColor; +use Com\Tecnick\File\Cache as ObjCache; +use Com\Tecnick\File\File as ObjFile; +use Com\Tecnick\Pdf\Encrypt\Encrypt as ObjEncrypt; +use Com\Tecnick\Pdf\Font\Stack as ObjFont; +use Com\Tecnick\Pdf\Graph\Draw as ObjGraph; +use Com\Tecnick\Pdf\Image\Import as ObjImage; +use Com\Tecnick\Pdf\Page\Page as ObjPage; +use Com\Tecnick\Unicode\Convert as ObjUniConvert; + +/** + * Com\Tecnick\Pdf\Base + * + * Output PDF data + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-import-type PageInputData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type TFontMetric from \Com\Tecnick\Pdf\Font\Stack + * + * @phpstan-type TViewerPref array{ + * 'HideToolbar'?: bool, + * 'HideMenubar'?: bool, + * 'HideWindowUI'?: bool, + * 'FitWindow'?: bool, + * 'CenterWindow'?: bool, + * 'DisplayDocTitle'?: bool, + * 'NonFullScreenPageMode'?: string, + * 'Direction'?: string, + * 'ViewArea'?: string, + * 'ViewClip'?: string, + * 'PrintArea'?: string, + * 'PrintClip'?: string, + * 'PrintScaling'?: string, + * 'Duplex'?: string, + * 'PickTrayByPDFSize'?: bool, + * 'PrintPageRange'?: array, + * 'NumCopies'?: int, + * } + * + * @phpstan-type TBBox array{ + * 'x': float, + * 'y': float, + * 'w': float, + * 'h': float, + * } + * + * @phpstan-type TCellDef array{ + * 'margin': array{ + * 'T': float, + * 'R': float, + * 'B': float, + * 'L': float, + * }, + * 'padding': array{ + * 'T': float, + * 'R': float, + * 'B': float, + * 'L': float, + * }, + * 'borderpos': float, + * } + * + * @phpstan-type TRefUnitValues array{ + * 'parent': float, + * 'font': array{ + * 'rootsize': float, + * 'size': float, + * 'xheight': float, + * 'zerowidth': float, + * }, + * 'viewport': array{ + * 'width': float, + * 'height': float, + * }, + * 'page': array{ + * 'width': float, + * 'height': float, + * }, + * } + * + * @phpstan-type TCustomXMP array{ + * 'x:xmpmeta': string, + * 'x:xmpmeta.rdf:RDF': string, + * 'x:xmpmeta.rdf:RDF.rdf:Description': string, + * 'x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas': string, + * 'x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag': string, + * } + * + * @phpstan-type TStackBBox array + * + * @phpstan-import-type TAnnot from Output + * @phpstan-import-type TEmbeddedFile from Output + * @phpstan-import-type TObjID from Output + * @phpstan-import-type TOutline from Output + * @phpstan-import-type TSignature from Output + * @phpstan-import-type TSignTimeStamp from Output + * @phpstan-import-type TGTransparency from Output + * @phpstan-import-type TUserRights from Output + * @phpstan-import-type TXOBject from Output + * + * @SuppressWarnings("PHPMD") + */ +abstract class Base +{ + /** + * Encrypt object. + */ + public ObjEncrypt $encrypt; + + /** + * Color object. + */ + public ObjColor $color; + + /** + * Barcode object. + */ + public ObjBarcode $barcode; + + /** + * File object. + */ + public ObjFile $file; + + /** + * Cache object. + */ + public ObjCache $cache; + + /** + * Unicode Convert object. + */ + public ObjUniConvert $uniconv; + + /** + * Page object. + */ + public ObjPage $page; + + /** + * Graph object. + */ + public ObjGraph $graph; + + /** + * Font object. + */ + public ObjFont $font; + + /** + * Image Import object. + */ + public ObjImage $image; + + /** + * TCPDF version. + */ + protected string $version = '8.1.5'; + + /** + * Time is seconds since EPOCH when the document was created. + */ + protected int $doctime = 0; + + /** + * Time is seconds since EPOCH when the document was modified. + */ + protected int $docmodtime = 0; + + /** + * The name of the application that generates the PDF. + * + * If the document was converted to PDF from another format, + * the name of the conforming product that created the original document from which it was converted. + */ + protected string $creator = 'TCPDF'; + + /** + * The name of the person who created the document. + */ + protected string $author = 'TCPDF'; + + /** + * Subject of the document. + */ + protected string $subject = '-'; + + /** + * Title of the document. + */ + protected string $title = 'PDF Document'; + + /** + * Space-separated list of keywords associated with the document. + */ + protected string $keywords = 'TCPDF'; + + /** + * Additional custom XMP data. + * + * @var TCustomXMP + */ + protected array $custom_xmp = [ + 'x:xmpmeta' => '', + 'x:xmpmeta.rdf:RDF' => '', + 'x:xmpmeta.rdf:RDF.rdf:Description' => '', + 'x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas' => '', + 'x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag' => '', + ]; + + /** + * Set this to TRUE to add the default sRGB ICC color profile + */ + protected bool $sRGB = false; + + /** + * Viewer preferences dictionary controlling the way the document is to be presented on the screen or in print. + * (PDF reference, "Viewer Preferences"). + * + * @var TViewerPref + */ + protected array $viewerpref = []; + + /** + * Boolean flag to set the default document language direction. + * False = LTR = Left-To-Right. + * True = RTL = Right-To-Left. + * + * @val bool + */ + protected bool $rtl = false; + + /** + * Document ID. + */ + protected string $fileid; + + /** + * Unit of measure. + */ + protected string $unit = 'mm'; + + /** + * Valid HTML/CSS/SVG units. + * + * @var array + */ + protected const VALIDUNITS = [ + '%', 'ch', 'cm', 'em', 'ex', + 'in', 'mm', 'pc', 'pt', 'px', + 'rem', 'vh', 'vmax', 'vmin', 'vw', + ]; + + /** + * Map of relative font sizes. + * The key is the relative size and the value is the font size increment in points. + * + * @var array + */ + protected const FONTRELSIZE = [ + 'xx-small' => -4.0, + 'x-small' => -3.0, + 'smaller' => -3.0, + 'small' => -2.0, + 'medium' => 0.0, + 'large' => 2.0, + 'x-large' => 4.0, + 'larger' => 3.0, + 'xx-large' => 6.0, + ]; + + /** + * Default eference values for unit conversion. + * + * @var TRefUnitValues + */ + protected const REFUNITVAL = [ + 'parent' => 1.0, + 'font' => [ + 'rootsize' => 10.0, + 'size' => 10.0, + 'xheight' => 5.0, + 'zerowidth' => 3.0, + ], + 'viewport' => [ + 'width' => 1000.0, + 'height' => 1000.0, + ], + 'page' => [ + 'width' => 595.276, + 'height' => 841.890, + ], + ]; + + /** + * DPI (Dot Per Inch) Document Resolution (do not change). + * 1pt = 1/72 of 1in. + */ + protected float $dpi = 72.0; + + /** + * Unit of measure conversion ratio. + */ + protected float $kunit = 1.0; + + /** + * Ratio between an internal point and pixel size. + */ + protected float $pointtopixelratio = 1.0; + + /** + * Version of the PDF/A mode or 0 otherwise. + */ + protected int $pdfa = 0; + + /** + * Enable stream compression. + */ + protected bool $compress = true; + + /** + * True if we are in PDF/X mode. + */ + protected bool $pdfx = false; + + /** + * True if the document is signed. + */ + protected bool $sign = false; + + /** + * True if the signature approval is enabled (for incremental updates). + */ + protected bool $sigapp = false; + + /** + * True to subset the fonts. + */ + protected bool $subsetfont = false; + + /** + * True for Unicode font mode. + */ + protected bool $isunicode = true; + + /** + * Document encoding. + */ + protected string $encoding = 'UTF-8'; + + /** + * Current PDF object number. + */ + public int $pon = 0; + + /** + * PDF version. + */ + protected string $pdfver = '1.7'; + + /** + * Defines the way the document is to be displayed by the viewer. + * + * @var array{ + * zoom: int|string, + * layout: string, + * mode: string, + * } + */ + protected array $display = [ + 'zoom' => 'default', + 'layout' => 'SinglePage', + 'mode' => 'UseNone', + ]; + + /** + * Embedded files data. + * + * @var array + */ + protected array $embeddedfiles = []; + + /** + * Annotations indexed bu object IDs. + * + * @var array + */ + protected array $annotation = []; + + /** + * Array containing the regular expression used to identify withespaces or word separators. + * + * @var array{ + * r: string, + * p: string, + * m: string, + * } + */ + protected array $spaceregexp = [ + 'r' => '/[^\S\xa0]/', + 'p' => '[^\S\xa0]', + 'm' => '', + ]; + + /** + * File name of the PDF document. + */ + protected string $pdffilename; + + /** + * Raw encoded fFile name of the PDF document. + */ + protected string $encpdffilename; + + /** + * Array containing the ID of some named PDF objects. + * + * @var TObjID + */ + protected array $objid = [ + 'catalog' => 0, + 'dests' => 0, + 'form' => [], + 'info' => 0, + 'pages' => 0, + 'resdic' => 0, + 'signature' => 0, + 'srgbicc' => 0, + 'xmp' => 0, + ]; + + /** + * Current XOBject template ID. + * + * @var string + */ + protected string $xobjtid = ''; + + /** + * Outlines Data. + * + * @var array + */ + protected array $outlines = []; + + /** + * Outlines Root object ID. + */ + protected int $outlinerootoid = 0; + + /** + * Javascript catalog entry. + */ + protected string $jstree = ''; + + /** + * Signature Data. + * + * @var TSignature + */ + protected array $signature = [ + 'appearance' => [ + 'empty' => [], + 'name' => '', + 'page' => 0, + 'rect' => '', + ], + 'approval' => '', + 'cert_type' => -1, + 'extracerts' => null, + 'info' => [ + 'ContactInfo' => '', + 'Location' => '', + 'Name' => '', + 'Reason' => '', + ], + 'password' => '', + 'privkey' => '', + 'signcert' => '', + ]; + + /** + * Signature Timestamp Data. + * + * @var TSignTimeStamp + */ + protected array $sigtimestamp = [ + 'enabled' => false, + 'host' => '', + 'username' => '', + 'password' => '', + 'cert' => '', + ]; + + /** + * ByteRange placemark used during digital signature process. + * + * @var string + */ + protected const BYTERANGE = '/ByteRange[0 ********** ********** **********]'; + + /** + * Digital signature max length. + * + * @var int + */ + protected const SIGMAXLEN = 11742; + + /** + * User rights Data. + * + * @var TUserRights + */ + protected array $userrights = [ + 'annots' => '/Create/Delete/Modify/Copy/Import/Export', + 'document' => '/FullSave', + 'ef' => '/Create/Delete/Modify/Import', + 'enabled' => false, + 'form' => '/Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate', + 'formex' => '', // 'BarcodePlaintext', + 'signature' => '/Modify', + ]; + + /** + * XObjects data. + * + * @var array + */ + protected array $xobjects = []; + + /** + * Stack of bounding boxes [x, y, width, height] in user units. + * + * @var TStackBBox + */ + protected array $bbox = [[ + 'x' => 0, + 'y' => 0, + 'w' => 0, + 'h' => 0, + ]]; + + /** + * Set to true to enable the default page footer. + * + * @var bool + */ + protected bool $defPageContentEnabled = false; + + /** + * Default font for defautl page content. + * + * @var ?TFontMetric + */ + protected ?array $defaultfont = null; + /** + * The default relative position of the cell origin when + * the border is centered on the cell edge. + */ + public const BORDERPOS_DEFAULT = 0; + + /** + * The relative position of the cell origin when + * the border is external to the cell edge. + */ + public const BORDERPOS_EXTERNAL = -0.5; //-1/2 + + /** + * The relative position of the cell origin when + * the border is internal to the cell edge. + */ + public const BORDERPOS_INTERNAL = 0.5; // 1/2 + + /** + * Default values for cell. + * + * @const TCellDef + */ + public const ZEROCELL = [ + 'margin' => [ + 'T' => 0, + 'R' => 0, + 'B' => 0, + 'L' => 0, + ], + 'padding' => [ + 'T' => 0, + 'R' => 0, + 'B' => 0, + 'L' => 0, + ], + 'borderpos' => self::BORDERPOS_DEFAULT, + ]; + + /** + * Default values for cell. + * + * @var TCellDef + */ + protected $defcell = self::ZEROCELL; + + /** + * Convert user units to internal points unit. + * + * @param float $usr Value to convert. + */ + public function toPoints(float $usr): float + { + return ($usr * $this->kunit); + } + + /** + * Convert internal points to user unit. + * + * @param float $pnt Value to convert in user units. + */ + public function toUnit(float $pnt): float + { + return ($pnt / $this->kunit); + } + + /** + * Convert vertical user value to internal points unit. + * Note: the internal Y points coordinate starts at the bottom left of the page. + * + * @param float $usr Value to convert. + * @param float $pageh Optional page height in internal points ($pageh:$this->page->getPage()['pheight']). + */ + public function toYPoints(float $usr, float $pageh = -1): float + { + $pageh = $pageh >= 0 ? $pageh : $this->page->getPage()['pheight']; + return ($pageh - $this->toPoints($usr)); + } + + /** + * Convert vertical internal points value to user unit. + * Note: the internal Y points coordinate starts at the bottom left of the page. + * + * @param float $pnt Value to convert. + * @param float $pageh Optional page height in internal points ($pageh:$this->page->getPage()['pheight']). + */ + public function toYUnit(float $pnt, float $pageh = -1): float + { + $pageh = $pageh >= 0 ? $pageh : $this->page->getPage()['pheight']; + return $this->toUnit($pageh - $pnt); + } + + /** + * Enable or disable the default page content. + * + * @param bool $enable Enable or disable the default page content. + * + * @return void + */ + public function enableDefaultPageContent(bool $enable = true): void + { + $this->defPageContentEnabled = $enable; + } + + /** + * Set the pixel/point ratio used to convert pixel values to points. + * + * @param float $val + * + * @return void + */ + public function setPointToPixelRatio(float $val): void + { + $this->pointtopixelratio = $val; + } + + /** + * Converts a string containing value and unit of measure to internal points. + * This is used to convert values for SVG, CSS, HTML. + * + * @param string|float|int $val String containing values and unit. + * @param TRefUnitValues $ref Reference values in internal points. + * @param string $defunit Default unit (can be one of the VALIDUNITS). + * + * @return float Internal points value. + */ + protected function getUnitValuePoints( + string|float|int $val, + array $ref = self::REFUNITVAL, + string $defunit = 'px', + ): float { + $unit = 'px'; + if (in_array($defunit, self::VALIDUNITS)) { + $unit = $defunit; + } + + $value = 0.0; + if (is_numeric($val)) { + $value = floatval($val); + } elseif (preg_match('/([0-9\.\-\+]+)([a-z%]{0,4})/', $val, $match)) { + $value = floatval($match[1]); + if (in_array($match[2], self::VALIDUNITS)) { + $unit = $match[2]; + } + } else { + throw new PdfException('Invalid value: ' . $val); + } + + return match ($unit) { + // Percentage relative to the parent element. + '%' => (($value * $ref['parent']) / 100), + // Relative to the width of the "0" (zero) + 'ch' => ($value * $ref['font']['zerowidth']), + // Centimeters. + 'cm' => (($value * $this->dpi) / 2.54), + // Relative to the font-size of the element. + 'em' => ($value * $ref['font']['size']), + // Relative to the x-height of the current font. + 'ex' => ($value * $ref['font']['xheight']), + // Inches. + 'in' => ($value * $this->dpi), + // Millimeters. + 'mm' => (($value * $this->dpi) / 25.4), + // One pica is 12 points. + 'pc' => ($value * 12), + // Points. + 'pt' => $value, + // Pixels. + 'px' => ($value * $this->pointtopixelratio), + // Relative to font-size of the root element. + 'rem' => ($value * $ref['font']['rootsize']), + // Relative to 1% of the height of the viewport. + 'vh' => (($value * $ref['viewport']['height']) / 100), + // Relative to 1% of viewport's* larger dimension. + 'vmax' => (($value * max($ref['viewport']['height'], $ref['viewport']['width'])) / 100), + // Relative to 1% of viewport's smaller dimension. + 'vmin' => (($value * min($ref['viewport']['height'], $ref['viewport']['width'])) / 100), + // Relative to 1% of the width of the viewport. + 'vw' => (($value * $ref['viewport']['width']) / 100), + // Default to pixels. + default => ($value * $this->pointtopixelratio), + }; + } + + /** + * Converts a string containing font size value to internal points. + * This is used to convert values for SVG, CSS, HTML. + * + * @param string|float|int $val String containing values and unit. + * @param TRefUnitValues $ref Reference values in internal points. + * @param string $defunit Default unit (can be one of the VALIDUNITS). + * + * @return float Internal points value. + */ + protected function getFontValuePoints( + string|float|int $val, + array $ref = self::REFUNITVAL, + string $defunit = 'pt', + ): float { + if (is_string($val) && isset(self::FONTRELSIZE[$val])) { + return ($ref['parent'] + self::FONTRELSIZE[$val]); + } + + return $this->getUnitValuePoints($val, $ref, $defunit); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/CSS.php b/vendor/tecnickcom/tc-lib-pdf/src/CSS.php new file mode 100644 index 0000000..bcf504b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/CSS.php @@ -0,0 +1,36 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; + +/** + * Com\Tecnick\Pdf\CSS + * + * CSS PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + */ +abstract class CSS extends \Com\Tecnick\Pdf\SVG +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/Cell.php b/vendor/tecnickcom/tc-lib-pdf/src/Cell.php new file mode 100644 index 0000000..70b43a1 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/Cell.php @@ -0,0 +1,625 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +/** + * Com\Tecnick\Pdf\Cell + * + * Cell PDF data + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-import-type StyleDataOpt from \Com\Tecnick\Pdf\Graph\Style + * @phpstan-import-type TCellDef from \Com\Tecnick\Pdf\Base + * + */ +abstract class Cell extends \Com\Tecnick\Pdf\Base +{ + /** + * Set the default cell margin in user units. + * + * @param float $top Top. + * @param float $right Right. + * @param float $bottom Bottom. + * @param float $left Left. + */ + public function setDefaultCellMargin( + float $top, + float $right, + float $bottom, + float $left + ): void { + $this->defcell['margin']['T'] = $this->toPoints($top); + $this->defcell['margin']['R'] = $this->toPoints($right); + $this->defcell['margin']['B'] = $this->toPoints($bottom); + $this->defcell['margin']['L'] = $this->toPoints($left); + } + + /** + * Set the default cell padding in user units. + * + * @param float $top Top. + * @param float $right Right. + * @param float $bottom Bottom. + * @param float $left Left. + */ + public function setDefaultCellPadding( + float $top, + float $right, + float $bottom, + float $left + ): void { + $this->defcell['padding']['T'] = $this->toPoints($top); + $this->defcell['padding']['R'] = $this->toPoints($right); + $this->defcell['padding']['B'] = $this->toPoints($bottom); + $this->defcell['padding']['L'] = $this->toPoints($left); + } + + /** + * Sets the default cell border position. + * + * @param float $borderpos The border position to set: + * BORDERPOS_DEFAULT + * BORDERPOS_EXTERNAL + * BORDERPOS_INTERNAL + */ + public function setDefaultCellBorderPos(float $borderpos): void + { + if ( + ($borderpos == self::BORDERPOS_DEFAULT) + || ($borderpos == self::BORDERPOS_EXTERNAL) + || ($borderpos == self::BORDERPOS_INTERNAL) + ) { + $this->defcell['borderpos'] = $borderpos; + return; + } + + $this->defcell['borderpos'] = self::BORDERPOS_DEFAULT; + } + + /** + * Increase the cell padding to account for the border tickness. + * + * @param array $styles Optional to overwrite the styles (see: getCurrentStyleArray). + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * + * @return TCellDef + */ + protected function adjustMinCellPadding( + array $styles = [], + ?array $cell = null + ): array { + if ($cell === null) { + $cell = $this->defcell; + } + + if ($styles === []) { + $styles = $this->graph->getCurrentStyleArray(); + } + + $border_ratio = round(self::BORDERPOS_INTERNAL + $cell['borderpos'], 1); + + $minT = 0; + $minR = 0; + $minB = 0; + $minL = 0; + if (! empty($styles['all']['lineWidth'])) { + $minT = $this->toPoints((float) $styles['all']['lineWidth'] * $border_ratio); + $minR = $minT; + $minB = $minT; + $minL = $minT; + } elseif ( + (count($styles) == 4) + && isset($styles[0]['lineWidth']) + && isset($styles[1]['lineWidth']) + && isset($styles[2]['lineWidth']) + && isset($styles[3]['lineWidth']) + ) { + $minT = $this->toPoints((float) $styles[0]['lineWidth'] * $border_ratio); + $minR = $this->toPoints((float) $styles[1]['lineWidth'] * $border_ratio); + $minB = $this->toPoints((float) $styles[2]['lineWidth'] * $border_ratio); + $minL = $this->toPoints((float) $styles[3]['lineWidth'] * $border_ratio); + } else { + return $cell; + } + + $cell['padding']['T'] = max($cell['padding']['T'], $minT); + $cell['padding']['R'] = max($cell['padding']['R'], $minR); + $cell['padding']['B'] = max($cell['padding']['B'], $minB); + $cell['padding']['L'] = max($cell['padding']['L'], $minL); + return $cell; + } + + /** + * Returns the minimum cell height in points for the current text height. + * + * @param float $pheight Text height in internal points. + * @param string $align Text vertical alignment inside the cell: + * - T=top; + * - C=center; + * - B=bottom; + * - A=center-on-font-ascent; + * - L=center-on-font-baseline; + * - D=center-on-font-descent. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellMinHeight( + float $pheight = 0, + string $align = 'C', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + $curfont = $this->font->getCurrentFont(); + + if ($pheight == 0) { + $pheight = $curfont['height']; + } + + return match ($align) { + 'T', 'B' => ($pheight + $cell['padding']['T'] + $cell['padding']['B']), + 'L' => ($pheight - $curfont['height'] + (2 * max( + ($cell['padding']['T'] + $curfont['ascent']), + ($cell['padding']['B'] - $curfont['descent']) + ))), + 'A', 'D' => ($pheight + - $curfont['height'] + + (2 * ($curfont['height'] + max($cell['padding']['T'], $cell['padding']['B'])))), + // default on 'C' case + default => ($pheight + (2 * max($cell['padding']['T'], $cell['padding']['B']))), + }; + } + + /** + * Returns the minimum cell width in points for the current text + * + * @param float $txtwidth Text width in internal points. + * @param string $align Cell horizontal alignment: L=left; C=center; R=right; J=Justify. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellMinWidth( + float $txtwidth, + string $align = 'L', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + if ($align === '' || $align === 'J') { // Justify + $align = $this->rtl ? 'R' : 'L'; + } + + return match ($align) { + 'C' => ceil($txtwidth + (2 * max($cell['padding']['L'], $cell['padding']['R']))), + default => ceil($txtwidth + $cell['padding']['L'] + $cell['padding']['R']), + }; + } + + /** + * Returns the adjusted cell top Y coordinate to account for margins. + * + * @param float $pnty Starting top Y coordinate in internal points. + * @param float $pheight Cell height in internal points. + * @param string $align Cell vertical alignment: T=top; C=center; B=bottom. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellVPos( + float $pnty, + float $pheight, + string $align = 'T', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + return match ($align) { + 'T' => $pnty - $cell['margin']['T'], + 'C' => $pnty + ($pheight / 2), + 'B' => $pnty + $cell['margin']['B'] + $pheight, + default => $pnty, + }; + } + + /** + * Returns the adjusted cell left X coordinate to account for margins. + * + * @param float $pntx Starting top Y coordinate in internal points. + * @param float $pwidth Cell width in internal points. + * @param string $align Cell horizontal alignment: L=left; C=center; R=right; J=Justify. + * @param TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellHPos( + float $pntx, + float $pwidth, + string $align = 'L', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + if ($align === '' || $align === 'J') { // Justify + $align = $this->rtl ? 'R' : 'L'; + } + + return match ($align) { + 'L' => $pntx + $cell['margin']['L'], + 'R' => $pntx - $cell['margin']['R'] - $pwidth, + 'C' => $pntx - ($pwidth / 2), + default => $pntx, + }; + } + + /** + * Returns the vertical distance between the cell top side and the text. + * + * @param float $cellpheight Cell height in internal points. + * @param float $txtpheight Text height in internal points. + * @param string $align Text vertical alignment inside the cell: + * - T=top; + * - C=center; + * - B=bottom; + * - A=center-on-font-ascent; + * - L=center-on-font-baseline; + * - D=center-on-font-descent. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellTextVAlign( + float $cellpheight, + float $txtpheight = 0, + string $align = 'C', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + $curfont = $this->font->getCurrentFont(); + + if ($txtpheight == 0) { + $txtpheight = $curfont['height']; + } + + return match ($align) { + 'T' => ($cell['padding']['T']), + 'B' => (($cellpheight - $txtpheight) - $cell['padding']['B']), + 'L' => ((($cellpheight - $txtpheight + $curfont['height']) / 2) - $curfont['ascent']), + 'A' => (($cellpheight - $txtpheight + $curfont['height']) / 2), + 'D' => ((($cellpheight - $txtpheight + $curfont['height']) / 2) - $curfont['height']), + // default on 'C' case + default => (($cellpheight - $txtpheight) / 2) + }; + } + + /** + * Returns the horizontal distance between the cell left side and the text left side. + * + * @param float $pwidth Cell width in internal points. + * @param float $txtpwidth Text width in internal points. + * @param string $align Text horizontal alignment inside the cell: L=left; C=center; R=right; J=Justify. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellTextHAlign( + float $pwidth, + float $txtpwidth, + string $align = 'L', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + if ($align === '' || $align === 'J') { // Justify + $align = $this->rtl ? 'R' : 'L'; + } + + return match ($align) { + 'C' => (($pwidth - $txtpwidth) / 2), + 'R' => ($pwidth - $cell['padding']['R'] - $txtpwidth), + // default on 'L' case + default => ($cell['padding']['L']), + }; + } + + /** + * Returns the top Y coordinate of the cell wrapping the text. + * + * @param float $txty Text baseline top Y coordinate in internal points. + * @param float $cellpheight Cell height in internal points. + * @param float $txtpheight Text height in internal points. + * @param string $align Text vertical alignment inside the cell: + * - T=top; + * - C=center; + * - B=bottom; + * - A=center-on-font-ascent; + * - L=center-on-font-baseline; + * - D=center-on-font-descent. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellVPosFromText( + float $txty, + float $cellpheight, + float $txtpheight = 0, + string $align = 'C', + ?array $cell = null + ): float { + return ($txty + $this->cellTextVAlign($cellpheight, $txtpheight, $align, $cell)); + } + + /** + * Returns the left X coordinate of the cell wrapping the text. + * + * @param float $txtx Text left X coordinate in internal points. + * @param float $pwidth Cell width in internal points. + * @param float $txtpwidth Text width in internal points. + * @param string $align Text horizontal alignment inside the cell: L=left; C=center; R=right. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function cellHPosFromText( + float $txtx, + float $pwidth, + float $txtpwidth, + string $align = 'L', + ?array $cell = null + ): float { + return ($txtx - $this->cellTextHAlign($pwidth, $txtpwidth, $align, $cell)); + } + + /** + * Returns the top Y coordinate of the text inside the cell. + * + * @param float $pnty Cell top Y coordinate in internal points. + * @param float $cellpheight Cell height in internal points. + * @param float $txtpheight Text height in internal points. + * @param string $align Text vertical alignment inside the cell: + * - T=top; + * - C=center; + * - B=bottom; + * - A=center-on-font-ascent; + * - L=center-on-font-baseline; + * - D=center-on-font-descent. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function textVPosFromCell( + float $pnty, + float $cellpheight, + float $txtpheight = 0, + string $align = 'C', + ?array $cell = null + ): float { + return ($pnty - $this->cellTextVAlign($cellpheight, $txtpheight, $align, $cell)); + } + + /** + * Returns the left X coordinate of the text inside the cell. + * + * @param float $pntx Cell left X coordinate in internal points. + * @param float $pwidth Cell width in internal points. + * @param float $txtpwidth Text width in internal points. + * @param string $align Text horizontal alignment inside the cell: L=left; C=center; R=right. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + */ + protected function textHPosFromCell( + float $pntx, + float $pwidth, + float $txtpwidth, + string $align = 'L', + ?array $cell = null + ): float { + return ($pntx + $this->cellTextHAlign($pwidth, $txtpwidth, $align, $cell)); + } + + /** + * Calculates the maximum width available for a cell that fits the current region width. + * + * @param float $pntx Cell left X coordinate in internal points. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * + * @return float + */ + protected function cellMaxWidth( + float $pntx = 0, + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + $region = $this->page->getRegion(); + return ($this->toPoints($region['RW']) - $pntx - $cell['margin']['L'] - $cell['margin']['R']); + } + + /** + * Calculates the maximum width available for text within a cell. + * + * @param float $pwidth Cell width in internal points. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * + * @return float The maximum width available for text within the cell. + */ + protected function textMaxWidth( + float $pwidth, + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + return ($pwidth - $cell['padding']['L'] - $cell['padding']['R']); + } + + /** + * Calculates the maximum height available for text within a cell. + * + * @param float $pheight Available vertical space in internal points. + * @param string $align Text vertical alignment inside the cell: + * - T=top; + * - C=center; + * - B=bottom; + * - A=center-on-font-ascent; + * - L=center-on-font-baseline; + * - D=center-on-font-descent. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * + * @return float The maximum width available for text within the cell. + */ + protected function textMaxHeight( + float $pheight, + string $align = 'T', + ?array $cell = null + ): float { + if ($cell === null) { + $cell = $this->defcell; + } + + $curfont = $this->font->getCurrentFont(); + $cph = ($pheight - $cell['margin']['T'] - $cell['margin']['B']); + + // Use a match expression to determine the maximum text height based on alignment. + return match ($align) { + // Top or Bottom + 'T', 'B' => ($cph - $cell['padding']['T'] - $cell['padding']['B']), + // Center on font Baseline + 'L' => ($cph + $curfont['height'] - (2 * max( + ($cell['padding']['T'] + $curfont['ascent']), + ($cell['padding']['B'] - $curfont['descent']) + ))), + // Center on font Ascent or Descent + 'A', 'D' => ($cph + + $curfont['height'] + - (2 * ($curfont['height'] + max($cell['padding']['T'], $cell['padding']['B'])))), + // Default to Center 'C' case + default => ($cph - (2 * max($cell['padding']['T'], $cell['padding']['B']))), + }; + } + + /** + * Returns the PDF code to draw the text cell border and background. + * + * @param float $pntx Cell left X coordinate in internal points. + * @param float $pnty Cell top Y coordinate in internal points. + * @param float $pwidth Cell width in internal points. + * @param float $pheight Cell height in internal points. + * @param array $styles Optional to overwrite the styles (see: getCurrentStyleArray). + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * + * @return string + */ + protected function drawCell( + float $pntx, + float $pnty, + float $pwidth, + float $pheight, + array $styles = [], + ?array $cell = null + ) { + + $drawfill = (!empty($styles['all']['fillColor'])); + $drawborder = ( + !empty($styles['all']['lineWidth']) + || !empty($styles[0]['lineWidth']) + || !empty($styles[1]['lineWidth']) + || !empty($styles[2]['lineWidth']) + || !empty($styles[3]['lineWidth']) + ); + + if (!$drawfill && !$drawborder) { + return ''; + } + + if ($cell === null) { + $cell = $this->defcell; + } + + $styleall = (empty($styles['all']) ? [] : $styles['all']); + + $out = $this->graph->getStartTransform(); + $stoptr = $this->graph->getStopTransform(); + + if ( + $drawfill + && $drawborder + && ($cell['borderpos'] == self::BORDERPOS_DEFAULT) + && (count($styles) <= 1) + ) { + // single default border style for all sides + $out .= $this->graph->getBasicRect( + $this->toUnit($pntx), + $this->toYUnit($pnty), + $this->toUnit($pwidth), + $this->toUnit($pheight), + 'b', // close, fill, and then stroke the path + $styleall, + ); + + return $out . $stoptr; + } + + if ($drawfill) { + $out .= $this->graph->getBasicRect( + $this->toUnit($pntx), + $this->toYUnit($pnty), + $this->toUnit($pwidth), + $this->toUnit($pheight), + 'f', // fill the path + $styleall, + ); + } + + if (!$drawborder) { + return $out . $stoptr; + } + + $adj = (isset($styles['all']['lineWidth']) + ? $this->toPoints((float) $styles['all']['lineWidth'] * $cell['borderpos']) + : 0); + $adjx = (isset($styles['3']['lineWidth']) + ? $this->toPoints((float) $styles['3']['lineWidth'] * $cell['borderpos']) + : $adj); + $adjy = isset($styles['0']['lineWidth']) + ? $this->toPoints((float) $styles['0']['lineWidth'] * $cell['borderpos']) + : $adj; + $adjw = $adjx + (isset($styles['1']['lineWidth']) + ? $this->toPoints((float) $styles['1']['lineWidth'] * $cell['borderpos']) + : $adj); + $adjh = $adjy + (isset($styles['2']['lineWidth']) + ? $this->toPoints((float) $styles['2']['lineWidth'] * $cell['borderpos']) + : $adj); + + // different border styles for each side + $out .= $this->graph->getRect( + $this->toUnit($pntx + $adjx), + $this->toYUnit($pnty - $adjy), + $this->toUnit($pwidth - $adjw), + $this->toUnit($pheight - $adjh), + 's', // close and stroke the path + $styles, + ); + + return $out . $stoptr; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/ClassObjects.php b/vendor/tecnickcom/tc-lib-pdf/src/ClassObjects.php new file mode 100644 index 0000000..42f3464 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/ClassObjects.php @@ -0,0 +1,105 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Barcode\Barcode as ObjBarcode; +use Com\Tecnick\Color\Pdf as ObjColor; +use Com\Tecnick\File\Cache as ObjCache; +use Com\Tecnick\File\File as ObjFile; +use Com\Tecnick\Pdf\Encrypt\Encrypt as ObjEncrypt; +use Com\Tecnick\Pdf\Font\Stack as ObjFont; +use Com\Tecnick\Pdf\Graph\Draw as ObjGraph; +use Com\Tecnick\Pdf\Image\Import as ObjImage; +use Com\Tecnick\Pdf\Page\Page as ObjPage; +use Com\Tecnick\Unicode\Convert as ObjUniConvert; + +/** + * Com\Tecnick\Pdf\ClassObjects + * + * External class objects PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @SuppressWarnings("PHPMD.DepthOfInheritance") + */ +abstract class ClassObjects extends \Com\Tecnick\Pdf\Output +{ + /** + * Initialize dependencies class objects. + * + * @param ?ObjEncrypt $objEncrypt Encryption object. + */ + public function initClassObjects( + ?ObjEncrypt $objEncrypt = null + ): void { + if ($objEncrypt instanceof ObjEncrypt) { + $this->encrypt = $objEncrypt; + } else { + $this->encrypt = new ObjEncrypt(); + } + + $this->color = new ObjColor(); + $this->barcode = new ObjBarcode(); + $this->file = new ObjFile(); + $this->cache = new ObjCache(); + $this->uniconv = new ObjUniConvert(); + + $pdfamode = (bool) ($this->pdfa > 0); + + $this->page = new ObjPage( + $this->unit, + $this->color, + $this->encrypt, + $pdfamode, + $this->compress, + $this->sigapp, + ); + + $this->kunit = $this->page->getKUnit(); + $this->svgminunitlen = $this->toUnit($this::SVGMINPNTLEN); + + $this->graph = new ObjGraph( + $this->kunit, + 0, // $this->graph->setPageWidth($pagew) + 0, // $this->graph->setPageHeight($pageh) + $this->color, + $this->encrypt, + $pdfamode, + $this->compress, + ); + + $this->font = new ObjFont( + $this->kunit, + $this->subsetfont, + $this->isunicode, + $pdfamode, + ); + + $this->image = new ObjImage( + $this->kunit, + $this->encrypt, + $pdfamode, + $this->compress, + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/Exception.php b/vendor/tecnickcom/tc-lib-pdf/src/Exception.php new file mode 100644 index 0000000..81218fc --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2015-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +/** + * Com\Tecnick\Pdf\Exception + * + * Custom Exception class + * + * @since 2015-02-21 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2015-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/HTML.php b/vendor/tecnickcom/tc-lib-pdf/src/HTML.php new file mode 100644 index 0000000..1676c09 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/HTML.php @@ -0,0 +1,36 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; + +/** + * Com\Tecnick\Pdf\HTML + * + * HTML PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + */ +abstract class HTML extends \Com\Tecnick\Pdf\CSS +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/JavaScript.php b/vendor/tecnickcom/tc-lib-pdf/src/JavaScript.php new file mode 100644 index 0000000..eb60a0d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/JavaScript.php @@ -0,0 +1,38 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; + +/** + * Com\Tecnick\Pdf\JavaScript + * + * JavaScript PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @SuppressWarnings("PHPMD.DepthOfInheritance") + */ +abstract class JavaScript extends \Com\Tecnick\Pdf\HTML +{ +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/MetaInfo.php b/vendor/tecnickcom/tc-lib-pdf/src/MetaInfo.php new file mode 100644 index 0000000..158fe7c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/MetaInfo.php @@ -0,0 +1,593 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; + +/** + * Com\Tecnick\Pdf\MetaInfo + * + * Meta Informaton PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-import-type TViewerPref from Base + * + * @SuppressWarnings("PHPMD.DepthOfInheritance") + */ +abstract class MetaInfo extends \Com\Tecnick\Pdf\JavaScript +{ + /** + * Valid document zoom modes + * + * @var array + */ + protected const VALIDZOOM = ['fullpage', 'fullwidth', 'real', 'default']; + + /** + * Return the program version. + */ + public function getVersion(): string + { + return $this->version; + } + + /** + * Set a field value only if it is not empty. + * + * @param string $field Field name + * @param string $value Value to set + */ + private function setNonEmptyFieldValue(string $field, string $value): static + { + if ($value !== '') { + $this->$field = $value; + } + + return $this; + } + + /** + * Set the value of an existing array key if it is not empty. + * + * @param string $field Field array name + * @param string $key Key name + * @param string $value Value to set + */ + private function setNonEmptyArrayFieldValue(string $field, string $key, string $value): static + { + if ( + isset($this->$field) + && is_array($this->$field) + && ($key !== '') + && isset($this->$field[$key]) + && ($value !== '') + ) { + $this->$field[$key] = $value; + } + + return $this; + } + + /** + * Defines the creator of the document. + * This is typically the name of the application that generates the PDF. + * + * @param string $creator The name of the creator. + */ + public function setCreator(string $creator): static + { + return $this->setNonEmptyFieldValue('creator', $creator); + } + + /** + * Defines the author of the document. + * + * @param string $author The name of the author. + */ + public function setAuthor(string $author): static + { + return $this->setNonEmptyFieldValue('author', $author); + } + + /** + * Defines the subject of the document. + * + * @param string $subject The subject. + */ + public function setSubject(string $subject): static + { + return $this->setNonEmptyFieldValue('subject', $subject); + } + + /** + * Defines the title of the document. + * + * @param string $title The title. + */ + public function setTitle(string $title): static + { + return $this->setNonEmptyFieldValue('title', $title); + } + + /** + * Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'. + * + * @param string $keywords Space-separated list of keywords. + */ + public function setKeywords(string $keywords): static + { + return $this->setNonEmptyFieldValue('keywords', $keywords); + } + + /** + * Set the PDF version (check PDF reference for valid values). + * + * @param string $version PDF document version. + * + * @throw PdfException in case of error. + */ + public function setPDFVersion(string $version = '1.7'): static + { + if ($this->pdfa == 1) { // PDF/A 1 mode + $this->pdfver = '1.4'; + return $this; + } + + $isvalid = preg_match('/^[1-9]+[.]\d+$/', $version); + if ($isvalid === false) { + throw new PdfException('Invalid PDF version format'); + } + + $this->pdfver = $version; + return $this; + } + + /** + * Set the sRGB mode + * + * @param bool $enabled Set to true to add the default sRGB ICC color profile + */ + public function setSRGB(bool $enabled): static + { + $this->sRGB = $enabled; + return $this; + } + + /** + * Format a text string for output. + * + * @param string $str String to escape. + * @param int $oid Current PDF object number. + * @param bool $bom If true set the Byte Order Mark (BOM). + * + * @return string escaped string. + */ + protected function getOutTextString( + string $str, + int $oid, + bool $bom = false + ): string { + if ($this->isunicode) { + $str = $this->uniconv->toUTF16BE($str); + if ($bom) { + $str = "\xFE\xFF" . $str; // Byte Order Mark (BOM) + } + } + + return $this->encrypt->escapeDataString($str, $oid); + } + + /** + * Returns a formatted date for meta information + * + * @param int $time Time in seconds. + * + * @return string date-time string. + */ + protected function getFormattedDate(int $time): string + { + return substr_replace(date('YmdHisO', $time), "'", (-2), 0) . "'"; + } + + /** + * Returns a formatted date for XMP meta information + * + * @param int $time Time in seconds. + * + * @return string date-time string. + */ + protected function getXMPFormattedDate(int $time): string + { + return date('Y-m-dTH:i:sP', $time); + } + + /** + * Returns the producer string + */ + protected function getProducer(): string + { + return "\x54\x43\x50\x44\x46\x20" + . $this->version + . "\x20\x28\x68\x74\x74\x70\x73\x3a\x2f\x2f" + . "\x74\x63\x70\x64\x66\x2e\x6f\x72\x67\x29"; + } + + /** + * Returns a formatted date for meta information + * + * @param int $time Time in seconds. + * @param int $oid Current PDF object number. + * + * @return string escaped date-time string. + */ + protected function getOutDateTimeString(int $time, int $oid): string + { + if ($time === 0) { + $time = $this->doctime; + } + + return $this->encrypt->escapeDataString('D:' . $this->getFormattedDate($time), $oid); + } + + /** + * Get the PDF output string for the Document Information Dictionary. + * (ref. Chapter 14.3.3 Document Information Dictionary of PDF32000_2008.pdf) + */ + protected function getOutMetaInfo(): string + { + $oid = ++$this->pon; + $this->objid['info'] = $oid; + return $oid . ' 0 obj' . "\n" + . '<<' + . ' /Creator ' . $this->getOutTextString($this->creator, $oid, true) + . ' /Author ' . $this->getOutTextString($this->author, $oid, true) + . ' /Subject ' . $this->getOutTextString($this->subject, $oid, true) + . ' /Title ' . $this->getOutTextString($this->title, $oid, true) + . ' /Keywords ' . $this->getOutTextString($this->keywords, $oid, true) + . ' /Producer ' . $this->getOutTextString($this->getProducer(), $oid, true) + . ' /CreationDate ' . $this->getOutDateTimeString($this->doctime, $oid) + . ' /ModDate ' . $this->getOutDateTimeString($this->docmodtime, $oid) + . ' /Trapped /False' + . ' >>' . "\n" + . 'endobj' . "\n"; + } + + /** + * Escape some special characters (< > &) for XML output. + * + * @param string $str Input string to escape. + */ + protected function getEscapedXML(string $str): string + { + return strtr($str, [ + "\0" => '', + '&' => '&', + '<' => '<', + '>' => '>', + ]); + } + + /** + * Set additional custom XMP data to be appended just before the end of the tag indicated by the key. + * + * IMPORTANT: + * This data is added as-is without controls, so you have to validate your data before using this method. + * + * @param string $key Key for the custom XMP data. Valid keys are: + * - 'x:xmpmeta' + * - 'x:xmpmeta.rdf:RDF' + * - 'x:xmpmeta.rdf:RDF.rdf:Description' + * - 'x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas' + * - 'x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag' + * @param string $xmp Custom XMP data. + */ + public function setCustomXMP(string $key, string $xmp): static + { + return $this->setNonEmptyArrayFieldValue('custom_xmp', $key, $xmp); + } + + /** + * Get the PDF output string for the XMP data object + * + * @SuppressWarnings("PHPMD.ExcessiveMethodLength") + */ + protected function getOutXMP(): string + { + $uuid = 'uuid:' . substr($this->fileid, 0, 8) + . '-' . substr($this->fileid, 8, 4) + . '-' . substr($this->fileid, 12, 4) + . '-' . substr($this->fileid, 16, 4) + . '-' . substr($this->fileid, 20, 12); + + // @codingStandardsIgnoreStart + $xmp = 'uniconv->chr(0xfeff) . '" id="W5M0MpCehiHzreSzNTczkc9d"?>' . "\n" + . '' . "\n" + . "\t" . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t\t" . 'application/pdf' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . $this->getEscapedXML($this->title) . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . $this->getEscapedXML($this->author) . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . $this->getEscapedXML($this->subject) . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . $this->getEscapedXML($this->keywords) . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t\t" . '' . $this->getXMPFormattedDate($this->doctime) . '' . "\n" + . "\t\t\t" . '' . $this->getEscapedXML($this->creator) . '' . "\n" + . "\t\t\t" . '' . $this->getXMPFormattedDate($this->docmodtime) . '' . "\n" + . "\t\t\t" . '' . $this->getXMPFormattedDate($this->doctime) . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t\t" . '' . $this->getEscapedXML($this->keywords) . '' . "\n" + . "\t\t\t" . '' . $this->getEscapedXML($this->getProducer()) . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t" . '' . "\n" + . "\t\t\t" . '' . $uuid . '' . "\n" + . "\t\t\t" . '' . $uuid . '' . "\n" + . "\t\t" . '' . "\n"; + + if ($this->pdfa !== 0) { + $xmp .= ' ' . "\n" + . "\t\t\t" . '' . $this->pdfa . '' . "\n" + . "\t\t\t" . 'B' . "\n" + . "\t\t" . '' . "\n"; + } + + // XMP extension schemas + $xmp .= "\t\t" . '' . "\n" + . "\t\t\t" . '' . "\n" + . "\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t" . 'http://ns.adobe.com/pdf/1.3/' . "\n" + . "\t\t\t\t\t\t" . 'pdf' . "\n" + . "\t\t\t\t\t\t" . 'Adobe PDF Schema' . "\n" + . "\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t" . 'http://ns.adobe.com/xap/1.0/mm/' . "\n" + . "\t\t\t\t\t\t" . 'xmpMM' . "\n" + . "\t\t\t\t\t\t" . 'XMP Media Management Schema' . "\n" + . "\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'internal' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'UUID based identifier for specific incarnation of a document' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'InstanceID' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'URI' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t" . 'http://www.aiim.org/pdfa/ns/id/' . "\n" + . "\t\t\t\t\t\t" . 'pdfaid' . "\n" + . "\t\t\t\t\t\t" . 'PDF/A ID Schema' . "\n" + . "\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'internal' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'Part of PDF/A standard' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'part' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'Integer' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'internal' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'Amendment of PDF/A standard' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'amd' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'Text' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'internal' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'Conformance level of PDF/A standard' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'conformance' . "\n" + . "\t\t\t\t\t\t\t\t\t" . 'Text' . "\n" + . "\t\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t\t" . '' . "\n" + . "\t\t\t\t\t" . '' . "\n" + . $this->custom_xmp['x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas.rdf:Bag'] . "\n" + . "\t\t\t\t" . '' . "\n" + . $this->custom_xmp['x:xmpmeta.rdf:RDF.rdf:Description.pdfaExtension:schemas'] . "\n" + . "\t\t\t" . '' . "\n" + . $this->custom_xmp['x:xmpmeta.rdf:RDF.rdf:Description'] . "\n" + . "\t\t" . '' . "\n" + . $this->custom_xmp['x:xmpmeta.rdf:RDF'] . "\n" + . "\t" . '' . "\n" + . $this->custom_xmp['x:xmpmeta'] . "\n" + . '' . "\n" + . ''; + // @codingStandardsIgnoreEnd + + $oid = ++$this->pon; + $this->objid['xmp'] = $oid; + + return $oid . ' 0 obj' . "\n" + . '<<' + . ' /Type /Metadata' + . ' /Subtype /XML' + . ' /Length ' . strlen($xmp) + . ' >> stream' . "\n" + . $xmp . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + /** + * Set the default document language direction. + * + * @param bool $enabled False = LTR = Left-To-Right; True = RTL = Right-To-Left. + */ + public function setRTL(bool $enabled): static + { + $this->rtl = $enabled; + return $this; + } + + /** + * Set the viewer preferences dictionary + * controlling the way the document is to be presented on the screen or in print. + * + * @param TViewerPref $pref Array of options (see PDF reference "Viewer Preferences"). + */ + public function setViewerPreferences(array $pref): static + { + $this->viewerpref = $pref; + return $this; + } + + /** + * Sanitize the page box name and return the default 'CropBox' in case of error. + * + * @param string $name Entry name. + */ + protected function getPageBoxName(string $name): string + { + $box = 'CropBox'; + if (isset($this->viewerpref[$name])) { + $val = $this->viewerpref[$name]; + if ( + isset($this->page->$box[$val]) // @phpstan-ignore offsetAccess.nonOffsetAccessible + && is_string($this->page->$box[$val]) + ) { + $box = $this->page->$box[$val]; + } + } + + return ' /' . $name . ' /' . $box; + } + + /** + * Sanitize the page box name and return the default 'CropBox' in case of error. + */ + protected function getPagePrintScaling(): string + { + $mode = 'AppDefault'; + if (isset($this->viewerpref['PrintScaling'])) { + $name = strtolower($this->viewerpref['PrintScaling']); + $valid = [ + 'none' => 'None', + 'appdefault' => 'AppDefault', + ]; + if (isset($valid[$name])) { + $mode = $valid[$name]; + } + } + + return ' /PrintScaling /' . $mode; + } + + /** + * Returns the Duplex mode for the Viewer Preferences + */ + protected function getDuplexMode(): string + { + if (isset($this->viewerpref['Duplex'])) { + $name = strtolower($this->viewerpref['Duplex']); + $valid = [ + 'simplex' => 'Simplex', + 'duplexflipshortedge' => 'DuplexFlipShortEdge', + 'duplexfliplongedge' => 'DuplexFlipLongEdge', + ]; + if (isset($valid[$name])) { + return ' /Duplex /' . $valid[$name]; + } + } + + return ''; + } + + /** + * Returns the Viewer Preference boolean entry. + * + * @param string $name Entry name. + */ + protected function getBooleanMode(string $name): string + { + if (isset($this->viewerpref[$name])) { + return ' /' . $name . ' ' . ($this->viewerpref[$name] === true ? 'true' : 'false'); + } + + return ''; + } + + /** + * Returns the PDF viewer preferences for the catalog section + */ + protected function getOutViewerPref(): string + { + $vpr = $this->viewerpref; + $out = ' /ViewerPreferences <<'; + if ($this->rtl) { + $out .= ' /Direction /R2L'; + } else { + $out .= ' /Direction /L2R'; + } + + $out .= $this->getBooleanMode('HideToolbar'); + $out .= $this->getBooleanMode('HideMenubar'); + $out .= $this->getBooleanMode('HideWindowUI'); + $out .= $this->getBooleanMode('FitWindow'); + $out .= $this->getBooleanMode('CenterWindow'); + $out .= $this->getBooleanMode('DisplayDocTitle'); + if (isset($vpr['NonFullScreenPageMode'])) { + $out .= ' /NonFullScreenPageMode /' . $this->page->getDisplay($vpr['NonFullScreenPageMode']); + } + + $out .= $this->getPageBoxName('ViewArea'); + $out .= $this->getPageBoxName('ViewClip'); + $out .= $this->getPageBoxName('PrintArea'); + $out .= $this->getPageBoxName('PrintClip'); + $out .= $this->getPagePrintScaling(); + $out .= $this->getDuplexMode(); + $out .= $this->getBooleanMode('PickTrayByPDFSize'); + if (isset($vpr['PrintPageRange'])) { + $PrintPageRangeNum = ''; + foreach ($vpr['PrintPageRange'] as $pnum) { + $PrintPageRangeNum .= ' ' . ($pnum - 1) . ''; + } + + $out .= ' /PrintPageRange [' . $PrintPageRangeNum . ' ]'; + } + + if (isset($vpr['NumCopies'])) { + $out .= ' /NumCopies ' . (int) $vpr['NumCopies']; + } + + return $out . ' >>'; + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/Output.php b/vendor/tecnickcom/tc-lib-pdf/src/Output.php new file mode 100644 index 0000000..75ab2d6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/Output.php @@ -0,0 +1,3133 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; +use Com\Tecnick\Pdf\Font\Output as OutFont; + +/** + * Com\Tecnick\Pdf\Output + * + * Output PDF data + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-type TFourFloat array{ + * float, + * float, + * float, + * float, + * } + * + * @phpstan-type TAnnotQuadPoint array{ + * float, + * float, + * float, + * float, + * float, + * float, + * float, + * float, + * } + * + * @phpstan-type TAnnotBorderStyle array{ + * 'type': string, + * 'w': int, + * 's': string, + * 'd': array, + * } + * + * @phpstan-type TAnnotBorderEffect array{ + * 's'?: string, + * 'i'?: float, + * } + * + * @phpstan-type TAnnotMeasure array{ + * 'type'?: string, + * 'subtype'?: string, + * } + * + * @phpstan-type TAnnotMarkup array{ + * 't'?: string, + * 'popup'?: array, + * 'ca'?: float, + * 'rc'?: string, + * 'creationdate'?: string, + * 'irt'?: array, + * 'subj'?: string, + * 'rt'?: string, + * 'it'?: string, + * 'exdata'?: array{ + * 'type'?: string, + * 'subtype': string, + * }, + * } + * + * @phpstan-type TAnnotStates array{ + * 'marked'?: string, + * 'review'?: string, + * } + * + * @phpstan-type TAnnotText array{ + * 'subtype': string, + * 'open'?: bool, + * 'name'?: string, + * 'state'?: string, + * 'statemodel'?: string, + * } + * + * @phpstan-type TUriAction array{ + * 's': string, + * 'uri': string, + * 'ismap'?: bool, + * } + * + * @phpstan-type TAnnotLink array{ + * 'subtype': string, + * 'a'?: TAnnotActionDict, + * 'dest'?: string|array, + * 'h'?: string, + * 'pa'?: TUriAction, + * 'quadpoints'?: array, + * 'bs'?: TAnnotBorderStyle, + * } + * + * @phpstan-type TAnnotFreeText array{ + * 'subtype': string, + * 'da': string, + * 'q'?: int, + * 'rc'?: string, + * 'ds'?: string, + * 'cl'?: array, + * 'it'?: string, + * 'be'?: TAnnotBorderEffect, + * 'rd'?: TFourFloat, + * 'bs'?: TAnnotBorderStyle, + * 'le'?: string, + * } + * + * @phpstan-type TAnnotLine array{ + * 'subtype': string, + * 'l': TFourFloat, + * 'bs'?: TAnnotBorderStyle, + * 'le'?: array{string, string}, + * 'ic'?: TFourFloat, + * 'll'?: float, + * 'lle'?: float, + * 'cap'?: bool, + * 'it'?: string, + * 'llo'?: float, + * 'cp'?: string, + * 'measure'?: TAnnotMeasure, + * 'co'?: array{float, float}, + * } + * + * @phpstan-type TAnnotSquare array{ + * 'subtype': string, + * 'bs'?: TAnnotBorderStyle, + * 'ic'?: TFourFloat, + * 'be'?: TAnnotBorderEffect, + * 'rd'?: TFourFloat, + * } + * + * @phpstan-type TAnnotCircle TAnnotSquare + * + * @phpstan-type TAnnotPolygon array{ + * 'subtype': string, + * 'vertices'?: array, + * 'le'?: array{string, string}, + * 'bs'?: TAnnotBorderStyle, + * 'ic'?: TFourFloat, + * 'be'?: TAnnotBorderEffect, + * 'it'?: string, + * 'measure'?: TAnnotMeasure, + * } + * + * @phpstan-type TAnnotPolyline TAnnotPolygon + * + * @phpstan-type TAnnotTextMarkup array{ + * 'subtype': string, + * 'quadpoints': array, + * } + * + * @phpstan-type TAnnotCaret array{ + * 'subtype': string, + * 'rd'?: TFourFloat, + * 'sy'?: string, + * } + * + * @phpstan-type TAnnotRubberStamp array{ + * 'subtype': string, + * 'name'?: string, + * } + * + * @phpstan-type TAnnotInk array{ + * 'subtype': string, + * 'inklist'?: array>, + * 'bs'?: TAnnotBorderStyle, + * } + * + * @phpstan-type TAnnotPopup array{ + * 'subtype': string, + * 'parent'?: array, + * 'open'?: bool, + * } + * + * @phpstan-type TAnnotFileAttachment array{ + * 'subtype': string, + * 'fs'?: string, + * 'name'?: string, + * } + * + * @phpstan-type TAnnotSound array{ + * 'subtype': string, + * 'sound': string, + * 'name'?: string, + * } + * + * @phpstan-type TAnnotMovieDict array{ + * 'f': string, + * 'aspect'?: array{float, float}, + * 'rotate'?: int, + * 'poster'?: bool|string, + * } + * + * @phpstan-type TAnnotMovieActDict array{ + * 'start'?: int|string|array{int|string, int}, + * 'duration'?: int|string|array{int|string, int}, + * 'rate'?: float, + * 'volume'?: float, + * 'showcontrols'?: bool, + * 'mode'?: string, + * 'synchronous'?: bool, + * 'fwscale'?: array{int, int}, + * 'fwposition'?: array{float, float}, + * } + * + * @phpstan-type TAnnotMovie array{ + * 'subtype': string, + * 't'?: string, + * 'movie'?: TAnnotMovieDict, + * 'a'?: bool|TAnnotMovieActDict, + * } + * + * @phpstan-type TAnnotIconFitDict array{ + * 'sw'?: string, + * 's'?: string, + * 'a'?: array{float, float}, + * 'fb'?: bool, + * } + * + * @phpstan-type TAnnotMKDict array{ + * 'r'?: int, + * 'bc'?: TFourFloat, + * 'bg'?: array{float}, + * 'ca'?: string, + * 'rc'?: string, + * 'ac'?: string, + * 'i'?: string, + * 'ri'?: string, + * 'ix'?: string, + * 'if'?: TAnnotIconFitDict, + * 'tp'?: int, + * } + * + * @phpstan-type TAnnotActionDict array{ + * 'type'?: string, + * 's'?: string, + * 'next'?: array>, + * } + * + * @phpstan-type TAnnotAdditionalActionDict array{ + * 'e'?: TAnnotActionDict, + * 'x'?: TAnnotActionDict, + * 'd'?: TAnnotActionDict, + * 'u'?: TAnnotActionDict, + * 'fo'?: TAnnotActionDict, + * 'bi'?: TAnnotActionDict, + * 'po'?: TAnnotActionDict, + * 'pc'?: TAnnotActionDict, + * 'pv'?: TAnnotActionDict, + * 'pi'?: TAnnotActionDict, + * } + * + * @phpstan-type TAnnotScreen array{ + * 'subtype': string, + * 't'?: string, + * 'mk'?: TAnnotMKDict, + * 'a'?: TAnnotActionDict, + * 'aa'?: TAnnotAdditionalActionDict, + * } + * + * @phpstan-type TAnnotWidget array{ + * 'subtype': string, + * 'h'?: string, + * 'mk'?: TAnnotMKDict, + * 'a'?: TAnnotActionDict, + * 'aa'?: TAnnotAdditionalActionDict, + * 'bs'?: TAnnotBorderStyle, + * 'parent'?: array, + * } + * + * @phpstan-type TAnnotFixedPrintDict array{ + * 'type': string, + * 'matrix'?: array{float, float, float, float, float, float}, + * 'h'?: float, + * 'v'?: float, + * } + * + * @phpstan-type TAnnotWatermark array{ + * 'subtype': string, + * 'fixedprint'?: TAnnotFixedPrintDict, + * } + * + * @phpstan-type TAnnotRedact array{ + * 'subtype': string, + * 'quadpoints'?: array, + * 'ic'?: TFourFloat, + * 'ro'?: string, + * 'overlaytext'?: string, + * 'repeat'?: bool, + * 'da'?: string, + * 'q'?: int, + * } + * + * @phpstan-type TAnnotOptsA TAnnotText|TAnnotLink|TAnnotFreeText + * @phpstan-type TAnnotOptsB TAnnotLine|TAnnotSquare|TAnnotCircle|TAnnotPolygon|TAnnotPolyline + * @phpstan-type TAnnotOptsC TAnnotTextMarkup|TAnnotCaret|TAnnotRubberStamp|TAnnotInk|TAnnotPopup + * @phpstan-type TAnnotOptsD TAnnotFileAttachment|TAnnotSound|TAnnotMovie + * @phpstan-type TAnnotOptsE TAnnotScreen|TAnnotWidget|TAnnotWatermark|TAnnotRedact + * + * @phpstan-type TAnnotOpts TAnnotOptsA|TAnnotOptsB|TAnnotOptsC|TAnnotOptsD|TAnnotOptsE + * + * @phpstan-type TAnnot array{ + * 'n': int, + * 'x': float, + * 'y': float, + * 'w': float, + * 'h': float, + * 'txt': string, + * 'opt': TAnnotOpts, + * } + * + * @phpstan-type TGTransparency array{ + * 'CS': string, + * 'I': bool, + * 'K': bool, + * } + * + * @phpstan-type TXOBject array{ + * 'spot_colors': array, + * 'extgstate': array, + * 'gradient': array, + * 'font': array, + * 'image': array, + * 'xobject': array, + * 'annotations': array, + * 'transparency'?: ?TGTransparency, + * 'id': string, + * 'outdata': string, + * 'n': int, + * 'x': float, + * 'y': float, + * 'w': float, + * 'h': float, + * } + * + * @phpstan-type TOutline array{ + * 't': string, + * 'u': string, + * 'l': int, + * 'p': int, + * 'x': float, + * 'y': float, + * 's': string, + * 'c': string, + * 'parent': int, + * 'last': int, + * 'first': int, + * 'prev': int, + * 'next': int, + * } + * + * @phpstan-type TSignature array{ + * 'appearance': array{ + * 'empty': array, + * 'name': string, + * 'page': int, + * 'rect': string, + * }, + * 'approval': string, + * 'cert_type': int, + * 'extracerts': ?string, + * 'info': array{ + * 'ContactInfo': string, + * 'Location': string, + * 'Name': string, + * 'Reason': string, + * }, + * 'password': string, + * 'privkey': string, + * 'signcert': string, + * } + * + * @phpstan-type TSignTimeStamp array{ + * 'enabled': bool, + * 'host': string, + * 'username': string, + * 'password': string, + * 'cert': string, + * } + * + * @phpstan-type TUserRights array{ + * 'annots': string, + * 'document': string, + * 'ef': string, + * 'enabled': bool, + * 'form': string, + * 'formex': string, + * 'signature': string, + * } + * + * @phpstan-type TEmbeddedFile array{ + * 'a': int, + * 'f': int, + * 'n': int, + * 'file': string, + * 'content': string, + * } + * + * @phpstan-type TObjID array{ + * 'catalog': int, + * 'dests': int, + * 'form': array, + * 'info': int, + * 'pages': int, + * 'resdic': int, + * 'signature': int, + * 'srgbicc': int, + * 'xmp': int, + * } + * + * @SuppressWarnings("PHPMD") + */ +abstract class Output extends \Com\Tecnick\Pdf\MetaInfo +{ + /** + * Object to export fornt data. + * + * @var OutFont + */ + protected OutFont $outfont; + + /** + * PDF layers. + * + * @var array + */ + protected array $pdflayer = []; + + /** + * Language array. + * + * @var array + */ + protected array $lang = []; + + /** + * Fonts used in annotations. + * + * @var array + */ + protected array $annotation_fonts = []; + + /** + * Destinations. + * + * @var array + */ + protected array $dests = []; + + /** + * Links. + * + * @var array + */ + protected array $links = []; + + /** + * Radio Button Groups. + * + * @var array + */ + protected array $radiobuttonGroups = []; + + /** + * Javascript block to add. + */ + protected string $javascript = ''; + + /** + * Javascript objects. + * + * @var array + */ + protected array $jsobjects = []; + + /** + * Returns the RAW PDF string. + */ + public function getOutPDFString(): string + { + $out = $this->getOutPDFHeader() + . $this->getOutPDFBody(); + $startxref = strlen($out); + $offset = $this->getPDFObjectOffsets($out); + $out .= $this->getOutPDFXref($offset) + . $this->getOutPDFTrailer() + . 'startxref' . "\n" + . $startxref . "\n" + . '%%EOF' . "\n"; + return $this->signDocument($out); + } + + /** + * Returns the PDF document header. + */ + protected function getOutPDFHeader(): string + { + return '%PDF-' . $this->pdfver . "\n" + . "%\xE2\xE3\xCF\xD3\n"; + } + + /** + * Returns the raw PDF Body section. + */ + protected function getOutPDFBody(): string + { + $out = $this->page->getPdfPages($this->pon); + $this->objid['pages'] = $this->page->getRootObjID(); + $out .= $this->graph->getOutExtGState($this->pon); + $this->pon = $this->graph->getObjectNumber(); + $out .= $this->getOutOCG(); + $this->outfont = new OutFont( + $this->font->getFonts(), + $this->pon, + $this->encrypt, + ); + $out .= $this->outfont->getFontsBlock(); + $this->pon = $this->outfont->getObjectNumber(); + $out .= $this->image->getOutImagesBlock($this->pon); + $this->pon = $this->image->getObjectNumber(); + $out .= $this->color->getPdfSpotObjects($this->pon); + $out .= $this->graph->getOutGradientShaders($this->pon); + $this->pon = $this->graph->getObjectNumber(); + $out .= $this->getOutXObjects(); + $out .= $this->getOutResourcesDict(); + $out .= $this->getOutDestinations(); + $out .= $this->getOutEmbeddedFiles(); + $out .= $this->getOutAnnotations(); + $out .= $this->getOutJavascript(); + $out .= $this->getOutBookmarks(); + $enc = $this->encrypt->getEncryptionData(); + if ($enc['encrypted']) { + $out .= $this->encrypt->getPdfEncryptionObj($this->pon); + } + + $out .= $this->getOutSignatureFields(); + $out .= $this->getOutSignature(); + $out .= $this->getOutMetaInfo(); + $out .= $this->getOutXMP(); + $out .= $this->getOutICC(); + return $out . $this->getOutCatalog(); + } + + /** + * Returns the ordered offset array for each object. + * + * @param string $data Raw PDF data + * + * @return array - Ordered offset array for each PDF object + */ + protected function getPDFObjectOffsets(string $data): array + { + preg_match_all('/(([0-9]+)[\s][0-9]+[\s]obj[\n])/i', $data, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); + $offset = []; + foreach ($matches as $match) { + $offset[($match[2][0])] = $match[2][1]; + } + + ksort($offset); + return $offset; + } + + /** + * Returns the PDF XREF section. + * + * @param array $offset Ordered offset array for each PDF object + */ + protected function getOutPDFXref(array $offset): string + { + $out = 'xref' . "\n" + . '0 ' . ($this->pon + 1) . "\n" + . '0000000000 65535 f ' . "\n"; + $freegen = ($this->pon + 2); + $lastobj = array_key_last($offset); + for ($idx = 1; $idx <= $lastobj; ++$idx) { + if (isset($offset[$idx])) { + $out .= sprintf('%010d 00000 n ' . "\n", $offset[$idx]); + } else { + $out .= sprintf('0000000000 %05d f ' . "\n", $freegen); + ++$freegen; + } + } + + return $out; + } + + /** + * Returns the PDF Trailer section. + */ + protected function getOutPDFTrailer(): string + { + $out = 'trailer' . "\n" + . '<<' + . ' /Size ' . ($this->pon + 1) + . ' /Root ' . $this->objid['catalog'] . ' 0 R' + . ' /Info ' . $this->objid['info'] . ' 0 R'; + $enc = $this->encrypt->getEncryptionData(); + if (! empty($enc['objid'])) { + $out .= ' /Encrypt ' . $enc['objid'] . ' 0 R'; + } + + return $out . (' /ID [ <' . $this->fileid . '> <' . $this->fileid . '> ]' + . ' >>' . "\n"); + } + + /** + * Returns the PDF object to include a standard sRGB_IEC61966-2.1 blackscaled ICC colour profile. + */ + protected function getOutICC(): string + { + if ($this->pdfa === 0 && ! $this->sRGB) { + return ''; + } + + $oid = ++$this->pon; + $this->objid['srgbicc'] = $oid; + $out = $oid . ' 0 obj' . "\n"; + $icc = file_get_contents(__DIR__ . '/include/sRGB.icc.z'); + if ($icc === false) { + throw new PdfException('Unable to read sRGB.icc.z file'); + } + + $icc = $this->encrypt->encryptString($icc, $oid); + return $out . '<< /N 3 /Filter /FlateDecode /Length ' . strlen($icc) + . ' >>' + . ' stream' . "\n" + . $icc . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + /** + * Get OutputIntents for sRGB IEC61966-2.1 if required. + */ + protected function getOutputIntentsSrgb(): string + { + if (empty($this->objid['srgbicc'])) { + return ''; + } + + $oid = $this->objid['catalog']; + return ' /OutputIntents [<< /Type /OutputIntent /S /GTS_PDFA1 /OutputCondition ' + . $this->getOutTextString('sRGB IEC61966-2.1', $oid, true) + . ' /OutputConditionIdentifier ' . $this->getOutTextString('sRGB IEC61966-2.1', $oid, true) + . ' /RegistryName ' . $this->getOutTextString('http://www.color.org', $oid, true) + . ' /Info ' . $this->getOutTextString('sRGB IEC61966-2.1', $oid, true) + . ' /DestOutputProfile ' . $this->objid['srgbicc'] . ' 0 R' + . ' >>]'; + } + + /** + * Get OutputIntents for PDF-X if required. + */ + protected function getOutputIntentsPdfX(): string + { + $oid = $this->objid['catalog']; + return ' /OutputIntents [<< /Type /OutputIntent /S /GTS_PDFX /OutputConditionIdentifier ' + . $this->getOutTextString('OFCOM_PO_P1_F60_95', $oid, true) + . ' /RegistryName ' . $this->getOutTextString('http://www.color.org', $oid, true) + . ' /Info ' . $this->getOutTextString('OFCOM_PO_P1_F60_95', $oid, true) + . ' >>]'; + } + + protected function getOutputIntents(): string + { + if (empty($this->objid['catalog'])) { + return ''; + } + + if ($this->pdfx) { + $this->getOutputIntentsPdfX(); + } + + return $this->getOutputIntentsSrgb(); + } + + /** + * Get the PDF layers. + */ + protected function getPDFLayers(): string + { + if (empty($this->pdflayer) || empty($this->objid['catalog'])) { + return ''; + } + + $oid = $this->objid['catalog']; + $lyrobjs = ''; + $lyrobjs_off = ''; + $lyrobjs_lock = ''; + foreach ($this->pdflayer as $layer) { + $layer_obj_ref = ' ' . $layer['objid'] . ' 0 R'; + $lyrobjs .= $layer_obj_ref; + if ($layer['view'] === false) { + $lyrobjs_off .= $layer_obj_ref; + } + + if ($layer['lock']) { + $lyrobjs_lock .= $layer_obj_ref; + } + } + + return ' /OCProperties << /OCGs [' . $lyrobjs . ' ]' + . ' /D <<' + . ' /Name ' . $this->getOutTextString('Layers', $oid, true) + . ' /Creator ' . $this->getOutTextString($this->creator, $oid, true) + . ' /BaseState /ON' + . ' /OFF [' . $lyrobjs_off . ']' + . ' /Locked [' . $lyrobjs_lock . ']' + . ' /Intent /View' + . ' /AS [' + . ' << /Event /Print /OCGs [' . $lyrobjs . '] /Category [/Print] >>' + . ' << /Event /View /OCGs [' . $lyrobjs . '] /Category [/View] >>' + . ' ]' + . ' /Order [' . $lyrobjs . ']' + . ' /ListMode /AllPages' + //.' /RBGroups ['..']' + //.' /Locked ['..']' + . ' >>' + . ' >>'; + } + + /** + * Returns the PDF Catalog entry. + */ + protected function getOutCatalog(): string + { + $oid = ++$this->pon; + $this->objid['catalog'] = $oid; + $out = $oid . ' 0 obj' . "\n" + . '<<' + . ' /Type /Catalog' + . ' /Version /' . $this->pdfver + //.' /Extensions <<>>' + . ' /Pages ' . $this->objid['pages'] . ' 0 R' + //.' /PageLabels ' //... + . ' /Names <<'; + if ($this->pdfa === 0 && $this->jstree !== '') { + $out .= ' /JavaScript ' . $this->jstree; + } + + if ($this->embeddedfiles !== []) { + $afnames = []; + $afobjs = []; + foreach ($this->embeddedfiles as $efname => $efdata) { + $afnames[] = $this->getOutTextString($efname, $oid) . ' ' . $efdata['f'] . ' 0 R'; + $afobjs[] = $efdata['f'] . ' 0 R'; + } + $out .= ' /AF [ ' . implode(' ', $afobjs) . ' ]'; + $out .= ' /EmbeddedFiles << /Names [ ' . implode(' ', $afnames) . ' ] >>'; + } + + $out .= ' >>'; + + if (! empty($this->objid['dests'])) { + $out .= ' /Dests ' . ($this->objid['dests']) . ' 0 R'; + } + + $out .= $this->getOutViewerPref(); + + if (! empty($this->display['layout'])) { + $out .= ' /PageLayout /' . $this->display['layout']; + } + + if ($this->outlines !== []) { + $out .= ' /Outlines ' . $this->outlinerootoid . ' 0 R'; + if (empty($this->display['mode'])) { + $this->display['mode'] = 'UseOutlines'; + } + } + + if (! empty($this->display['mode'])) { + $out .= ' /PageMode /' . $this->display['mode']; + } + + //$out .= ' /Threads []'; + + $firstpage = $this->page->getPage(0); + $fpo = $firstpage['n']; + if ($this->display['zoom'] == 'fullpage') { + $out .= ' /OpenAction [' . $fpo . ' 0 R /Fit]'; + } elseif ($this->display['zoom'] == 'fullwidth') { + $out .= ' /OpenAction [' . $fpo . ' 0 R /FitH null]'; + } elseif ($this->display['zoom'] == 'real') { + $out .= ' /OpenAction [' . $fpo . ' 0 R /XYZ null null 1]'; + } elseif (! is_string($this->display['zoom'])) { + $out .= sprintf(' /OpenAction [' . $fpo . ' 0 R /XYZ null null %F]', ($this->display['zoom'] / 100)); + } + + //$out .= ' /AA <<>>'; + //$out .= ' /URI <<>>'; + $out .= ' /Metadata ' . $this->objid['xmp'] . ' 0 R'; + //$out .= ' /StructTreeRoot <<>>'; + //$out .= ' /MarkInfo <<>>'; + + if (! empty($this->lang['a_meta_language'])) { + $out .= ' /Lang ' . $this->getOutTextString($this->lang['a_meta_language'], $oid, true); + } + + //$out .= ' /SpiderInfo <<>>'; + $out .= $this->getOutputIntents(); + //$out .= ' /PieceInfo <<>>'; + $out .= $this->getPDFLayers(); + + // AcroForm + if ( + ! empty($this->objid['form']) + || ($this->sign && ($this->signature['cert_type'] >= 0)) + || ! empty($this->signature['appearance']['empty']) + ) { + $out .= ' /AcroForm <<'; + $objrefs = ''; + if ($this->sign && ($this->signature['cert_type'] >= 0)) { + // set reference for signature object + $objrefs .= $this->objid['signature'] . ' 0 R'; + } + + if (! empty($this->signature['appearance']['empty'])) { + foreach ($this->signature['appearance']['empty'] as $esa) { + // set reference for empty signature objects + $objrefs .= ' ' . $esa['objid'] . ' 0 R'; + } + } + + if (! empty($this->objid['form'])) { + foreach ($this->objid['form'] as $objid) { + $objrefs .= ' ' . $objid . ' 0 R'; + } + } + + $out .= ' /Fields [' . $objrefs . ']'; + // It's better to turn off this value and set the appearance stream for + // each annotation (/AP) to avoid conflicts with signature fields. + if (empty($this->signature['approval']) || ($this->signature['approval'] != 'A')) { + $out .= ' /NeedAppearances false'; + } + + if ($this->sign && ($this->signature['cert_type'] >= 0)) { + if ($this->signature['cert_type'] > 0) { + $out .= ' /SigFlags 3'; + } else { + $out .= ' /SigFlags 1'; + } + } + + //$out .= ' /CO '; + + if (! empty($this->annotation_fonts)) { + $out .= ' /DR << /Font <<'; + foreach ($this->annotation_fonts as $fontkey => $fontid) { + $out .= ' /F' . $fontid . ' ' . $this->font->getFont($fontkey)['n'] . ' 0 R'; + } + + $out .= ' >> >>'; + } + + $font = $this->font->getFont('helvetica'); + $out .= ' /DA ' . $this->encrypt->escapeDataString('/F' . $font['i'] . ' 0 Tf 0 g', $oid); + $out .= ' /Q ' . (($this->rtl) ? '2' : '0'); + //$out .= ' /XFA '; + $out .= ' >>'; + + // signatures + if ( + $this->sign && ($this->signature['cert_type'] >= 0) + && (empty($this->signature['approval']) || ($this->signature['approval'] != 'A')) + ) { + $out .= ' /Perms << '; + if ($this->signature['cert_type'] > 0) { + $out .= '/DocMDP '; + } else { + $out .= '/UR3 '; + } + + $out .= ($this->objid['signature'] + 1) . ' 0 R >>'; + } + } + + //$out .= ' /Legal <<>>'; + //$out .= ' /Requirements []'; + //$out .= ' /Collection <<>>'; + //$out .= ' /NeedsRendering true'; + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + return $out; + } + + /** + * Returns the PDF OCG entry. + */ + protected function getOutOCG(): string + { + if (empty($this->pdflayer)) { + return ''; + } + + $out = ''; + foreach ($this->pdflayer as $key => $layer) { + $oid = ++$this->pon; + $this->pdflayer[$key]['objid'] = $oid; + $out .= $oid . ' 0 obj' . "\n"; + + $out .= '<< /Type /OCG' + . ' /Name ' . $this->getOutTextString($layer['name'], $oid, true); + + if (!empty($layer['intent'])) { + $out .= ' /Intent [' . $layer['intent'] . ']'; + } + + $out .= ' /Usage <<'; + if (isset($layer['print'])) { + $out .= ' /Print << /PrintState /' . $this->getOnOff($layer['print']) . ' >>'; + } + $out .= ' /View << /ViewState /' . $this->getOnOff($layer['view']) . ' >>'; + // Other (not-implemented) possible /Usage entries: + // CreatorInfo, Language, Export, Zoom, User, PageElement. + $out .= ' >>'; // close /Usage + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Returns the PDF Annotation code for Apearance Stream XObjects entry. + * + * @param int $width annotation width + * @param int $height annotation height + * @param string $stream appearance stream + */ + protected function getOutAPXObjects( + int $width = 0, + int $height = 0, + string $stream = '' + ): string { + $stream = trim($stream); + $oid = ++$this->pon; + $out = $oid . ' 0 obj' . "\n"; + $tid = 'AX' . $oid; + $this->xobjects[$tid] = [ + 'spot_colors' => [], + 'extgstate' => [], + 'gradient' => [], + 'font' => [], + 'image' => [], + 'xobject' => [], + 'annotations' => [], + 'id' => $tid, + 'n' => $oid, + 'x' => 0, + 'w' => 0, + 'y' => 0, + 'h' => 0, + 'outdata' => '', + ]; + $out .= '<< /Type /XObject /Subtype /Form /FormType 1'; + if ($this->compress) { + $stream = gzcompress($stream); + if ($stream === false) { + throw new PdfException('Unable to compress stream'); + } + $out .= ' /Filter /FlateDecode'; + } + + $stream = $this->encrypt->encryptString($stream, $oid); + $rect = sprintf('%F %F', $width, $height); + return $out . ' /BBox [0 0 ' . $rect . ']' + . ' /Matrix [1 0 0 1 0 0]' + . ' /Resources 2 0 R' + . ' /Length ' . strlen($stream) + . ' >>' + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + /** + * Returns the PDF XObjects entry. + */ + protected function getOutXObjects(): string + { + $out = ''; + foreach ($this->xobjects as $data) { + if (empty($data['outdata'])) { + continue; + } + + $out .= $data['n'] . ' 0 obj' . "\n" + . '<<' + . ' /Type /XObject' + . ' /Subtype /Form' + . ' /FormType 1'; + $stream = trim($data['outdata']); + if ($this->compress) { + $stream = gzcompress($stream); + if ($stream === false) { + throw new PdfException('Unable to compress stream'); + } + $out .= ' /Filter /FlateDecode'; + } + + $out .= sprintf( + ' /BBox [%F %F %F %F]', + $this->toPoints($data['x']), + $this->toPoints(-$data['y']), + $this->toPoints(($data['w'] + $data['x'])), + $this->toPoints(($data['h'] - $data['y'])) + ); + + $out .= ' /Matrix [1 0 0 1 0 0]' + . ' /Resources <<' + . ' /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'; + + $out .= $this->graph->getOutExtGStateResourcesByKeys($data['extgstate']); + $out .= $this->graph->getOutGradientResourcesByKeys($data['gradient']); + $out .= $this->color->getPdfSpotResourcesByKeys($data['spot_colors']); + $out .= $this->outfont->getOutFontDictByKeys($data['font']); + + if (! empty($data['image']) || ! empty($data['xobject'])) { + $out .= ' /XObject <<'; + $out .= $this->image->getXobjectDictByKeys($data['image']); + if (! empty($data['xobject'])) { + foreach ($data['xobject'] as $xid) { + $out .= ' /' . $xid . ' ' . $this->xobjects[$xid]['n'] . ' 0 R'; + } + } + $out .= ' >>'; + } + + $out .= ' >>'; // end of /Resources. + + if (isset($data['transparency'])) { + // set transparency group + $out .= ' /Group << /Type /Group /S /Transparency'; + if (!empty($data['transparency'])) { + $out .= ' /CS /' . $data['transparency']['CS']; + $out .= ' /I /' . (($data['transparency']['I'] === true) ? 'true' : 'false'); + $out .= ' /K /' . (($data['transparency']['K'] === true) ? 'true' : 'false'); + } + $out .= ' >>'; + } + + $stream = $this->encrypt->encryptString($stream, $data['n']); + $out .= ' /Length ' . strlen($stream) + . ' >>' + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Returns the PDF Resources Dictionary entry. + */ + protected function getOutResourcesDict(): string + { + $this->objid['resdic'] = $this->page->getResourceDictObjID(); + return $this->objid['resdic'] . ' 0 obj' . "\n" + . '<<' + . ' /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]' + . $this->outfont->getOutFontDict() + . $this->getXObjectDict() + . $this->getLayerDict() + . $this->graph->getOutExtGStateResources() + . $this->graph->getOutGradientResources() + . $this->color->getPdfSpotResources() + . ' >>' . "\n" + . 'endobj' . "\n"; + } + + /** + * Returns the PDF Destinations entry. + */ + protected function getOutDestinations(): string + { + if (empty($this->dests)) { + return ''; + } + + $oid = ++$this->pon; + $this->objid['dests'] = $oid; + $out = $oid . ' 0 obj' . "\n" + . '<< '; + foreach ($this->dests as $name => $dst) { + $page = $this->page->getPage($dst['p']); + $poid = $page['n']; + $pgx = $this->toPoints($dst['x']); + $pgy = $this->toYPoints($dst['y'], $page['pheight']); + $out .= ' /' . $name . ' ' . sprintf('[%u 0 R /XYZ %F %F null]', $poid, $pgx, $pgy); + } + + return $out . ' >>' . "\n" + . 'endobj' . "\n"; + } + + /** + * Returns the PDF Embedded Files entry. + */ + protected function getOutEmbeddedFiles(): string + { + if (($this->pdfa == 1) || ($this->pdfa == 2)) { + // embedded files are not allowed in PDF/A mode version 1 and 2 + return ''; + } + + $out = ''; + reset($this->embeddedfiles); + foreach ($this->embeddedfiles as $name => $data) { + if (!empty($data['content'])) { + // if content is already set, use it + $content = $data['content']; + } else { + try { + $content = $this->file->fileGetContents($data['file']); + } catch (Exception) { + continue; // silently skip the file + } + } + + $rawsize = strlen($content); + if ($rawsize <= 0) { + continue; // silently skip the file + } + + // update name tree + $oid = $data['f']; + // embedded file specification object + $out .= $oid . ' 0 obj' . "\n" + . '<<' + . ' /Type /Filespec /F ' . $this->getOutTextString($name, $oid) + . ' /UF ' . $this->getOutTextString($name, $oid) + . ' /AFRelationship /Source' + . ' /EF <>' + . ' >>' . "\n" + . 'endobj' . "\n"; + // embedded file object + $filter = ''; + if ($this->pdfa == 3) { + $filter = ' /Subtype /text#2Fxml'; + } elseif ($this->compress) { + $content = gzcompress($content); + if ($content === false) { + throw new PdfException('Unable to compress content'); + } + $filter = ' /Filter /FlateDecode'; + } + + $stream = $this->encrypt->encryptString($content, $data['n']); + $out .= "\n" + . $data['n'] . ' 0 obj' . "\n" + . '<<' + . ' /Type /EmbeddedFile' + . $filter + . ' /Length ' . strlen($stream) + . ' /Params <>' + . ' >>' + . ' stream' . "\n" + . $stream . "\n" + . 'endstream' . "\n" + . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Convert a color array into a string representation for annotations. + * The number of array elements determines the colour space in which the colour shall be defined: + * 0 No colour; transparent + * 1 DeviceGray + * 3 DeviceRGB + * 4 DeviceCMYK + * + * @param array $color Array of colors. + */ + protected static function getColorStringFromArray(array $color): string + { + $col = array_values($color); + $out = '['; + match (count($color)) { + 4 => $out .= sprintf( + '%F %F %F %F', + (max(0, min(100, (float) $col[0])) / 100), + (max(0, min(100, (float) $col[1])) / 100), + (max(0, min(100, (float) $col[2])) / 100), + (max(0, min(100, (float) $col[3])) / 100) + ), + 3 => $out .= sprintf( + '%F %F %F', + (max(0, min(255, (float) $col[0])) / 255), + (max(0, min(255, (float) $col[1])) / 255), + (max(0, min(255, (float) $col[2])) / 255) + ), + 1 => $out .= sprintf( + '%F', + (max(0, min(255, (float) $col[0])) / 255) + ), + default => $out . ']', + }; + return $out . ']'; + } + + /** + * Returns the PDF Annotations entry. + */ + protected function getOutAnnotations(): string + { + $out = ''; + $pages = $this->page->getPages(); + foreach ($pages as $num => $page) { + foreach ($page['annotrefs'] as $key => $oid) { + if (empty($this->annotation[$oid])) { + continue; + } + $annot = $this->annotation[$oid]; + $annot['opt'] = array_change_key_case($annot['opt'], CASE_LOWER); + $out .= $this->getAnnotationRadiobuttonGroups($annot); // @phpstan-ignore-line + $orx = $this->toPoints($annot['x']); + $ory = $this->toYPoints(($annot['y'] + $annot['h']), $page['pheight']); + $width = $this->toPoints($annot['w']); + $height = $this->toPoints($annot['h']); + $rect = sprintf('%F %F %F %F', $orx, $ory, $orx + $width, $ory + $height); + $out .= ((int) $oid) . ' 0 obj' . "\n" // @phpstan-ignore-line + . '<<' + . ' /Type /Annot' + . ' /Subtype /' . $annot['opt']['subtype'] + . ' /Rect [' . $rect . ']'; + $ft = ['Btn', 'Tx', 'Ch', 'Sig']; + $formfield = (! empty($annot['opt']['ft']) && in_array($annot['opt']['ft'], $ft)); + if ($formfield) { + $out .= ' /FT /' . $annot['opt']['ft']; // @phpstan-ignore-line + } + + if ($annot['opt']['subtype'] !== 'Link') { + $out .= ' /Contents ' . $this->getOutTextString($annot['txt'], $oid, true); + } + + $out .= ' /P ' . $page['n'] . ' 0 R' + . ' /NM ' . $this->encrypt->escapeDataString(sprintf('%04u-%04u', $page['num'], $key), $oid) + . ' /M ' . $this->getOutDateTimeString($this->docmodtime, $oid) + . $this->getOutAnnotationFlags($annot) // @phpstan-ignore-line + . $this->getAnnotationAppearanceStream($annot, (int) $width, (int) $height) // @phpstan-ignore-line + . $this->getAnnotationBorder($annot); // @phpstan-ignore-line + + if (! empty($annot['opt']['c']) && is_string($annot['opt']['c'])) { + $out .= ' /C [ ' . $this->color->getPdfRgbComponents($annot['opt']['c']) . ' ]'; + } + + //$out .= ' /StructParent '; + //$out .= ' /OC '; + + $out .= $this->getOutAnnotationMarkups($annot, $oid) // @phpstan-ignore-line + . $this->getOutAnnotationOptSubtype($annot, $num, $oid, $key) // @phpstan-ignore-line + . ' >>' . "\n" + . 'endobj' . "\n"; + if (! $formfield) { + continue; + } + + if (isset($this->radiobuttonGroups[$annot['txt']])) { + continue; + } + + $this->objid['form'][] = $oid; + } + } + + return $out; + } + + /** + * Returns the Annotation code for Radio buttons. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getAnnotationRadiobuttonGroups(array $annot): string + { + $out = ''; + if ( + empty($this->radiobuttonGroups[$annot['txt']]) + || ! is_array($this->radiobuttonGroups[$annot['txt']]) + ) { + return $out; + } + + $oid = $this->radiobuttonGroups[$annot['txt']]['n']; + $out = $oid . ' 0 obj' . "\n" + . '<<' + . ' /Type /Annot' + . ' /Subtype /Widget' + . ' /Rect [0 0 0 0]'; + if ($this->radiobuttonGroups[$annot['txt']]['#readonly#']) { + // read only + $out .= ' /F 68 /Ff 49153'; + } else { + $out .= ' /F 4 /Ff 49152'; // default print for PDF/A + } + + $out .= ' /T ' . $this->encrypt->escapeDataString($annot['txt'], $oid); + if (! empty($annot['opt']['tu']) && is_string($annot['opt']['tu'])) { + $out .= ' /TU ' . $this->encrypt->escapeDataString($annot['opt']['tu'], $oid); + } + + $out .= ' /FT /Btn /Kids ['; + $defval = ''; + foreach ($this->radiobuttonGroups[$annot['txt']] as $data) { + if (isset($data['kid']) && is_numeric($data['kid'])) { + $out .= ' ' . $data['kid'] . ' 0 R'; + if ($data['def'] !== 'Off') { + $defval = $data['def']; + } + } + } + + $out .= ' ]'; + if (! empty($defval) && is_string($defval)) { + $out .= ' /V /' . $defval; + } + + $out .= ' >>' . "\n" + . 'endobj' . "\n"; + $this->objid['form'][] = $oid; + // store object id to be used on Parent entry of Kids + $this->radiobuttonGroups[$annot['txt']]['n'] = $oid; + return $out; + } + + /** + * Returns the Annotation code for Appearance Stream. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $width Annotation width. + * @param int $height Annotation height. + */ + protected function getAnnotationAppearanceStream( + array $annot, + int $width = 0, + int $height = 0 + ): string { + $out = ''; + if (! empty($annot['opt']['as']) && is_string($annot['opt']['as'])) { + $out .= ' /AS /' . $annot['opt']['as']; + } + + if (empty($annot['opt']['ap'])) { + return $out; + } + + $out .= ' /AP <<'; + if (! is_array($annot['opt']['ap'])) { + $out .= $annot['opt']['ap']; + } else { + foreach ($annot['opt']['ap'] as $mode => $def) { + // $mode can be: n = normal; r = rollover; d = down; + $out .= ' /' . strtoupper($mode); + if (is_array($def)) { + $out .= ' <<'; + foreach ($def as $apstate => $stream) { + // reference to XObject that define the appearance for this mode-state + $apsobjid = $this->getOutAPXObjects($width, $height, $stream); + $out .= ' /' . $apstate . ' ' . $apsobjid . ' 0 R'; + } + + $out .= ' >>'; + } else { + // reference to XObject that define the appearance for this mode + $apsobjid = $this->getOutAPXObjects($width, $height, $def); + $out .= ' ' . $apsobjid . ' 0 R'; + } + } + } + + return $out . ' >>'; + } + + /** + * Returns the Annotation code for Borders. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getAnnotationBorder(array $annot): string + { + $out = ''; + if ( + ! empty($annot['opt']['bs']) + && (is_array($annot['opt']['bs'])) + ) { + $out .= ' /BS << /Type /Border'; + if (isset($annot['opt']['bs']['w']) && is_numeric($annot['opt']['bs']['w'])) { + $out .= ' /W ' . (int) $annot['opt']['bs']['w']; + } + + $bstyles = ['S', 'D', 'B', 'I', 'U']; + if ( + ! empty($annot['opt']['bs']['s']) + && is_string($annot['opt']['bs']['s']) + && in_array($annot['opt']['bs']['s'], $bstyles) + ) { + $out .= ' /S /' . $annot['opt']['bs']['s']; + } + + if ( + isset($annot['opt']['bs']['d']) + && (is_array($annot['opt']['bs']['d'])) + ) { + $out .= ' /D ['; + foreach ($annot['opt']['bs']['d'] as $cord) { + if (is_numeric($cord)) { + $out .= ' ' . (int) $cord; + } + } + + $out .= ']'; + } + + $out .= ' >>'; + } else { + $out .= ' /Border ['; + if ( + isset($annot['opt']['border']) + && (count($annot['opt']['border']) >= 3) + && is_numeric($annot['opt']['border'][0]) + && is_numeric($annot['opt']['border'][1]) + && is_numeric($annot['opt']['border'][2]) + ) { + $out .= (int) $annot['opt']['border'][0] + . ' ' . (int) $annot['opt']['border'][1] + . ' ' . (int) $annot['opt']['border'][2]; + if ( + isset($annot['opt']['border'][3]) + && is_array($annot['opt']['border'][3]) + ) { + $out .= ' ['; + foreach ($annot['opt']['border'][3] as $dash) { + if (is_numeric($dash)) { + $out .= ' ' . (int) $dash; + } + } + + $out .= ' ]'; + } + } else { + $out .= '0 0 0'; + } + + $out .= ']'; + } + + if (isset($annot['opt']['be']) && (is_array($annot['opt']['be']))) { + $out .= ' /BE <<'; + $bstyles = ['S', 'C']; + if ( + ! empty($annot['opt']['be']['s']) + && is_string($annot['opt']['be']['s']) + && in_array($annot['opt']['be']['s'], $bstyles) + ) { + $out .= ' /S /' . $annot['opt']['be']['s']; + } else { + $out .= ' /S /S'; + } + + if ( + isset($annot['opt']['be']['i']) + && is_numeric($annot['opt']['be']['i']) + && ($annot['opt']['be']['i'] >= 0) + && ($annot['opt']['be']['i'] <= 2) + ) { + $out .= ' /I ' . sprintf(' %F', $annot['opt']['be']['i']); + } + + $out .= '>>'; + } + + return $out; + } + + /** + * Returns the Annotation code for Makups. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $oid Annotation Object ID. + */ + protected function getOutAnnotationMarkups( + array $annot, + int $oid + ): string { + $out = ''; + $markups = [ + 'text', + 'freetext', + 'line', + 'square', + 'circle', + 'polygon', + 'polyline', + 'highlight', + 'underline', + 'squiggly', + 'strikeout', + 'stamp', + 'caret', + 'ink', + 'fileattachment', + 'sound', + ]; + if (empty($annot['opt']['subtype']) || ! in_array(strtolower($annot['opt']['subtype']), $markups)) { + return $out; + } + + if (! empty($annot['opt']['t']) && is_string($annot['opt']['t'])) { + $out .= ' /T ' . $this->getOutTextString($annot['opt']['t'], $oid, true); + } + + //$out .= ' /Popup '; + if (isset($annot['opt']['ca'])) { + $out .= ' /CA ' . sprintf('%F', (float) $annot['opt']['ca']); + } + + if (isset($annot['opt']['rc'])) { + $out .= ' /RC ' . $this->getOutTextString($annot['opt']['rc'], $oid, true); + } + + $out .= ' /CreationDate ' . $this->getOutDateTimeString($this->doctime, $oid); + //$out .= ' /IRT '; + if (isset($annot['opt']['subj'])) { + $out .= ' /Subj ' . $this->getOutTextString($annot['opt']['subj'], $oid, true); + } + + //$out .= ' /RT '; + //$out .= ' /IT '; + //$out .= ' /ExData '; + return $out; + } + + /** + * Returns the Annotation code for Flags. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationFlags(array $annot): string + { + $fval = 4; + if (isset($annot['opt']['f'])) { + $fval = $this->getAnnotationFlagsCode($annot['opt']['f']); + } + + if ($this->pdfa > 0) { + // force print flag for PDF/A mode + $fval |= 4; + } + + return ' /F ' . $fval; + } + + /** + * Returns the Annotation Flags code. + * + * @param int|array $flags Annotation flags. + */ + protected function getAnnotationFlagsCode(int|array $flags): int + { + if (! is_array($flags)) { + return $flags; + } + + $fval = 0; + foreach ($flags as $flag) { + $fval += match (strtolower($flag)) { + 'invisible' => 1 << 0, + 'hidden' => 1 << 1, + 'print' => 1 << 2, + 'nozoom' => 1 << 3, + 'norotate' => 1 << 4, + 'noview' => 1 << 5, + 'readonly' => 1 << 6, + 'locked' => 1 << 7, + 'togglenoview' => 1 << 8, + 'lockedcontents' => 1 << 9, + default => 0, + }; + } + + return $fval; + } + + /** + * Returns the output code associated with the annotation opt.subtype. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $pagenum Page number. + * @param int $oid Annotation Object ID. + * @param int $key Annotation index in the current page. + */ + protected function getOutAnnotationOptSubtype(array $annot, int $pagenum, int $oid, int $key): string + { + return match (strtolower($annot['opt']['subtype'])) { + '3d' => $this->getOutAnnotationOptSubtype3D($annot), + 'caret' => $this->getOutAnnotationOptSubtypeCaret($annot), + 'circle' => $this->getOutAnnotationOptSubtypeCircle($annot), + 'fileattachment' => $this->getOutAnnotationOptSubtypeFileattachment($annot, $key), + 'freetext' => $this->getOutAnnotationOptSubtypeFreetext($annot, $oid), + 'highlight' => $this->getOutAnnotationOptSubtypeHighlight($annot), + 'ink' => $this->getOutAnnotationOptSubtypeInk($annot), + 'line' => $this->getOutAnnotationOptSubtypeLine($annot), + 'link' => $this->getOutAnnotationOptSubtypeLink($annot, $pagenum, $oid), + 'movie' => $this->getOutAnnotationOptSubtypeMovie($annot), + 'polygon' => $this->getOutAnnotationOptSubtypePolygon($annot), + 'polyline' => $this->getOutAnnotationOptSubtypePolyline($annot), + 'popup' => $this->getOutAnnotationOptSubtypePopup($annot), + 'printermark' => $this->getOutAnnotationOptSubtypePrintermark($annot), + 'redact' => $this->getOutAnnotationOptSubtypeRedact($annot), + 'screen' => $this->getOutAnnotationOptSubtypeScreen($annot), + 'sound' => $this->getOutAnnotationOptSubtypeSound($annot), + 'square' => $this->getOutAnnotationOptSubtypeSquare($annot), + 'squiggly' => $this->getOutAnnotationOptSubtypeSquiggly($annot), + 'stamp' => $this->getOutAnnotationOptSubtypeStamp($annot), + 'strikeout' => $this->getOutAnnotationOptSubtypeStrikeout($annot), + 'text' => $this->getOutAnnotationOptSubtypeText($annot), + 'trapnet' => $this->getOutAnnotationOptSubtypeTrapnet($annot), + 'underline' => $this->getOutAnnotationOptSubtypeUnderline($annot), + 'watermark' => $this->getOutAnnotationOptSubtypeWatermark($annot), + 'widget' => $this->getOutAnnotationOptSubtypeWidget($annot, $oid), + default => '', + }; + } + + /** + * Returns the output code associated with the annotation opt.subtype.text. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeText(array $annot): string + { + $out = ''; + if (isset($annot['opt']['open'])) { + $out .= ' /Open ' . ($annot['opt']['open'] === true ? 'true' : 'false'); + } + + $iconsapp = ['Comment', 'Help', 'Insert', 'Key', 'NewParagraph', 'Note', 'Paragraph']; + if ( + isset($annot['opt']['name']) + && in_array($annot['opt']['name'], $iconsapp) + ) { + $out .= ' /Name /' . $annot['opt']['name']; + } else { + $out .= ' /Name /Note'; + } + + if (! isset($annot['opt']['state']) && ! isset($annot['opt']['statemodel'])) { + return $out; + } + + $statemodels = ['Marked', 'Review']; + + if ( + isset($annot['opt']['statemodel']) + && in_array($annot['opt']['statemodel'], $statemodels) + ) { + $out .= ' /StateModel /' . $annot['opt']['statemodel']; + } else { + $annot['opt']['statemodel'] = 'Marked'; + $out .= ' /StateModel /' . $annot['opt']['statemodel']; + } + + if ($annot['opt']['statemodel'] == 'Marked') { + $states = ['Accepted', 'Unmarked']; + } else { + $states = ['Accepted', 'Rejected', 'Cancelled', 'Completed', 'None']; + } + + if ( + isset($annot['opt']['state']) + && in_array($annot['opt']['state'], $states) + ) { + $out .= ' /State /' . $annot['opt']['state']; + } elseif ($annot['opt']['statemodel'] == 'Marked') { + $out .= ' /State /Unmarked'; + } else { + $out .= ' /State /None'; + } + + return $out; + } + + /** + * Returns the output code associated with the annotation opt.subtype.link. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $pagenum Page number. + * @param int $oid Annotation Object ID. + */ + protected function getOutAnnotationOptSubtypeLink( + array $annot, + int $pagenum, + int $oid + ): string { + $out = ''; + if (! empty($annot['txt'])) { + switch ($annot['txt'][0]) { + case '#': // internal destination + $out .= ' /A << /S /GoTo /D /' + . $this->encrypt->encodeNameObject(substr($annot['txt'], 1)) . '>>'; + break; + case '@': // internal link ID + $l = $this->links[$annot['txt']]; + $page = $this->page->getPage($l['p']); + $y = $this->toYPoints($l['y'], $page['pheight']); + $out .= sprintf(' /Dest [%u 0 R /XYZ 0 %F null]', $page['n'], $y); + break; + case '%': // embedded PDF file + $filename = basename(substr($annot['txt'], 1)); + $out .= ' /A << /S /GoToE /D [0 /Fit] /NewWindow true /T << /R /C /P ' . ($pagenum - 1) + . ' /A ' . $this->embeddedfiles[$filename]['a'] + . ' >>' + . ' >>'; + break; + case '*': // embedded generic file + $filename = basename(substr($annot['txt'], 1)); + $jsa = 'var D=event.target.doc;var MyData=D.dataObjects;for (var i in MyData) if (MyData[i].path=="' + . $filename . '")' + . ' D.exportDataObject( { cName : MyData[i].name, nLaunch : 2});'; + $out .= ' /A << /S /JavaScript /JS ' + . $this->getOutTextString($jsa, $oid, true) . ' >>'; + break; + default: + $parsedUrl = parse_url($annot['txt']); + if ( + empty($parsedUrl['scheme']) + && (isset($parsedUrl['path']) && $parsedUrl['path'] !== '' + && strtolower(substr($parsedUrl['path'], -4)) == '.pdf') + ) { + // relative link to a PDF file + $dest = '[0 /Fit]'; // default page 0 + if (! empty($parsedUrl['fragment'])) { + // check for named destination + $tmp = explode('=', $parsedUrl['fragment']); + $dest = '(' . ((count($tmp) == 2) ? $tmp[1] : $tmp[0]) . ')'; + } + + $out .= ' /A << /S /GoToR /D ' . $dest + . ' /F ' + . $this->encrypt->escapeDataString($this->unhtmlentities($parsedUrl['path']), $oid) + . ' /NewWindow true' + . ' >>'; + } else { + // external URI link + $out .= ' /A << /S /URI /URI ' + . $this->encrypt->escapeDataString($this->unhtmlentities($annot['txt']), $oid) + . ' >>'; + } + break; + } + } + + $hmodes = ['N', 'I', 'O', 'P']; + if (! empty($annot['opt']['h']) && in_array($annot['opt']['h'], $hmodes)) { + $out .= ' /H /' . $annot['opt']['h']; + } else { + $out .= ' /H /I'; + } + + //$out .= ' /PA '; + //$out .= ' /Quadpoints '; + return $out; + } + + /** + * Returns the output code associated with the annotation opt.subtype.freetext. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $oid Annotation Object ID. + */ + protected function getOutAnnotationOptSubtypeFreetext(array $annot, int $oid): string + { + $out = ''; + if (! empty($annot['opt']['da'])) { + $out .= ' /DA ' . $this->encrypt->escapeDataString($annot['opt']['da'], $oid); + } + + if ( + isset($annot['opt']['q']) + && is_numeric($annot['opt']['q']) + && ($annot['opt']['q'] >= 0) + && ($annot['opt']['q'] <= 2) + ) { + $out .= ' /Q ' . (int) $annot['opt']['q']; + } + + if (isset($annot['opt']['rc'])) { + $out .= ' /RC ' . $this->getOutTextString($annot['opt']['rc'], $annot['n'], true); + } + + if (isset($annot['opt']['ds'])) { + $out .= ' /DS ' . $this->getOutTextString($annot['opt']['ds'], $annot['n'], true); + } + + if (isset($annot['opt']['cl']) && is_array($annot['opt']['cl'])) { + $out .= ' /CL ['; + foreach ($annot['opt']['cl'] as $cl) { + $out .= sprintf('%F ', $this->toPoints($cl)); + } + + $out .= ']'; + } + + $tfit = ['FreeText', 'FreeTextCallout', 'FreeTextTypeWriter']; + if (isset($annot['opt']['it']) && in_array($annot['opt']['it'], $tfit)) { + $out .= ' /IT /' . $annot['opt']['it']; + } + + if ( + isset($annot['opt']['rd']) + && is_array($annot['opt']['rd']) + && (count($annot['opt']['rd']) == 4) + && is_numeric($annot['opt']['rd'][0]) + && is_numeric($annot['opt']['rd'][1]) + && is_numeric($annot['opt']['rd'][2]) + && is_numeric($annot['opt']['rd'][3]) + ) { + $l = $this->toPoints((float) $annot['opt']['rd'][0]); + $r = $this->toPoints((float) $annot['opt']['rd'][1]); + $t = $this->toPoints((float) $annot['opt']['rd'][2]); + $b = $this->toPoints((float) $annot['opt']['rd'][3]); + $out .= ' /RD [' . sprintf('%F %F %F %F', $l, $r, $t, $b) . ']'; + } + + $lineendings = [ + 'Square', + 'Circle', + 'Diamond', + 'OpenArrow', + 'ClosedArrow', + 'None', + 'Butt', + 'ROpenArrow', + 'RClosedArrow', + 'Slash', + ]; + if (isset($annot['opt']['le']) && in_array($annot['opt']['le'], $lineendings)) { + $out .= ' /LE /' . $annot['opt']['le']; + } + + return $out; + } + + /** + * Returns the output code associated with the annotation opt.subtype.line. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeLine(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.square. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeSquare(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.circle. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeCircle(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.polygon. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypePolygon(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.polyline. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypePolyline(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.highlight. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeHighlight(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeUnderline(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.squiggly. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeSquiggly(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.strikeout. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeStrikeout(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.stamp. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeStamp(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.caret. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeCaret(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.ink. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeInk(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.popup. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypePopup(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.fileattachment. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $key Annotation index in the current page. + */ + protected function getOutAnnotationOptSubtypeFileattachment( + array $annot, + int $key + ): string { + if (($this->pdfa == 1) || ($this->pdfa == 2) || ! isset($annot['opt']['fs'])) { + // embedded files are not allowed in PDF/A mode version 1 and 2 + return ''; + } + + $filename = basename($annot['opt']['fs']); + if (! isset($this->embeddedfiles[$filename]['f'])) { + return ''; + } + + $out = ' /FS ' . $this->embeddedfiles[$filename]['f'] . ' 0 R'; + $iconsapp = ['Graph', 'Paperclip', 'PushPin', 'Tag']; + if (isset($annot['opt']['name']) && in_array($annot['opt']['name'], $iconsapp)) { + $out .= ' /Name /' . $annot['opt']['name']; + } else { + $out .= ' /Name /PushPin'; + } + + // index (zero-based) of the annotation in the Annots array of this page + $this->embeddedfiles[$filename]['a'] = $key; + return $out; + } + + /** + * Returns the output code associated with the annotation opt.subtype.sound. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeSound(array $annot): string + { + $out = ''; + if (empty($annot['opt']['fs'])) { + return ''; + } + + $filename = basename($annot['opt']['fs']); + if (! isset($this->embeddedfiles[$filename]['f'])) { + return ''; + } + + // ... TO BE COMPLETED ... + // /R /C /B /E /CO /CP + $out = ' /Sound ' . $this->embeddedfiles[$filename]['f'] . ' 0 R'; + $iconsapp = ['Speaker', 'Mic']; + if (isset($annot['opt']['name']) && in_array($annot['opt']['name'], $iconsapp)) { + $out .= ' /Name /' . $annot['opt']['name']; + } else { + $out .= ' /Name /Speaker'; + } + + return $out; + } + + /** + * Returns the output code associated with the annotation opt.subtype.movie. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeMovie(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.widget. + * + * @param TAnnot $annot Array containing page annotations. + * @param int $oid Annotation Object ID. + */ + protected function getOutAnnotationOptSubtypeWidget( + array $annot, + int $oid + ): string { + $out = ''; + $hmode = ['N', 'I', 'O', 'P', 'T']; + if (! empty($annot['opt']['h']) && in_array($annot['opt']['h'], $hmode)) { + $out .= ' /H /' . $annot['opt']['h']; + } + + if (! empty($annot['opt']['mk']) && is_array($annot['opt']['mk'])) { + $out .= ' /MK <<'; + if ( + isset($annot['opt']['mk']['r']) + && is_numeric($annot['opt']['mk']['r']) + ) { + $out .= ' /R ' . $annot['opt']['mk']['r']; + } + + if (isset($annot['opt']['mk']['bc']) && (is_array($annot['opt']['mk']['bc']))) { + $out .= ' /BC ' + . static::getColorStringFromArray($annot['opt']['mk']['bc']); // @phpstan-ignore argument.type + } + + if (isset($annot['opt']['mk']['bg']) && (is_array($annot['opt']['mk']['bg']))) { + $out .= ' /BG ' + . static::getColorStringFromArray($annot['opt']['mk']['bg']); // @phpstan-ignore argument.type + } + + if ( + isset($annot['opt']['mk']['ca']) + && is_string($annot['opt']['mk']['ca']) + ) { + $out .= ' /CA ' . $annot['opt']['mk']['ca']; + } + + if ( + isset($annot['opt']['mk']['rc']) + && is_string($annot['opt']['mk']['rc']) + ) { + $out .= ' /RC ' . $annot['opt']['mk']['rc']; + } + + if ( + isset($annot['opt']['mk']['ac']) + && is_string($annot['opt']['mk']['ac']) + ) { + $out .= ' /AC ' . $annot['opt']['mk']['ac']; + } + + if (isset($annot['opt']['mk']['i']) && is_string($annot['opt']['mk']['i'])) { + $info = $this->image->getImageDataByKey($this->image->getKey($annot['opt']['mk']['i'])); + if (! empty($info['obj'])) { + $out .= ' /I ' . $info['obj'] . ' 0 R'; + } + } + + if (isset($annot['opt']['mk']['ri']) && is_string($annot['opt']['mk']['ri'])) { + $info = $this->image->getImageDataByKey($this->image->getKey($annot['opt']['mk']['ri'])); + if (! empty($info['obj'])) { + $out .= ' /RI ' . $info['obj'] . ' 0 R'; + } + } + + if (isset($annot['opt']['mk']['ix']) && is_string($annot['opt']['mk']['ix'])) { + $info = $this->image->getImageDataByKey($this->image->getKey($annot['opt']['mk']['ix'])); + if (! empty($info['obj'])) { + $out .= ' /IX ' . $info['obj'] . ' 0 R'; + } + } + + if (! empty($annot['opt']['mk']['if']) && is_array($annot['opt']['mk']['if'])) { + $out .= ' /IF <<'; + $if_sw = ['A', 'B', 'S', 'N']; + if ( + isset($annot['opt']['mk']['if']['sw']) + && is_string($annot['opt']['mk']['if']['sw']) + && in_array($annot['opt']['mk']['if']['sw'], $if_sw) + ) { + $out .= ' /SW /' . $annot['opt']['mk']['if']['sw']; + } + + $if_s = ['A', 'P']; + if ( + isset($annot['opt']['mk']['if']['s']) + && is_string($annot['opt']['mk']['if']['s']) + && in_array($annot['opt']['mk']['if']['s'], $if_s) + ) { + $out .= ' /S /' . $annot['opt']['mk']['if']['s']; + } + + if ( + isset($annot['opt']['mk']['if']['a']) + && (is_array($annot['opt']['mk']['if']['a'])) + && (count($annot['opt']['mk']['if']['a']) == 2) + && is_numeric($annot['opt']['mk']['if']['a'][0]) + && is_numeric($annot['opt']['mk']['if']['a'][1]) + ) { + $out .= sprintf( + ' /A [%F %F]', + $annot['opt']['mk']['if']['a'][0], + $annot['opt']['mk']['if']['a'][1] + ); + } + + if (isset($annot['opt']['mk']['if']['fb']) && ($annot['opt']['mk']['if']['fb'])) { + $out .= ' /FB true'; + } + + $out .= '>>'; + } + + if ( + isset($annot['opt']['mk']['tp']) + && is_numeric($annot['opt']['mk']['tp']) + && ($annot['opt']['mk']['tp'] >= 0) + && ($annot['opt']['mk']['tp'] <= 6) + ) { + $out .= ' /TP ' . (int) $annot['opt']['mk']['tp']; + } + + $out .= '>>'; + } + + // --- Entries for field dictionaries --- + if (isset($this->radiobuttonGroups[$annot['txt']]['n'])) { + $out .= ' /Parent ' . $this->radiobuttonGroups[$annot['txt']]['n'] . ' 0 R'; + } + + if (isset($annot['opt']['t']) && is_string($annot['opt']['t'])) { + $out .= ' /T ' . $this->encrypt->escapeDataString($annot['opt']['t'], $oid); + } + + if (isset($annot['opt']['tu']) && is_string($annot['opt']['tu'])) { + $out .= ' /TU ' . $this->encrypt->escapeDataString($annot['opt']['tu'], $oid); + } + + if (isset($annot['opt']['tm']) && is_string($annot['opt']['tm'])) { + $out .= ' /TM ' . $this->encrypt->escapeDataString($annot['opt']['tm'], $oid); + } + + if (isset($annot['opt']['ff'])) { + if (is_array($annot['opt']['ff'])) { + // array of bit settings + $flag = 0; + foreach ($annot['opt']['ff'] as $val) { + $flag += 1 << ($val - 1); + } + } else { + $flag = (int) $annot['opt']['ff']; + } + + $out .= ' /Ff ' . $flag; + } + + if (isset($annot['opt']['maxlen'])) { + $out .= ' /MaxLen ' . (int) $annot['opt']['maxlen']; + } + + if (isset($annot['opt']['v'])) { + $out .= ' /V'; + if (is_array($annot['opt']['v'])) { + foreach ($annot['opt']['v'] as $optval) { + if (is_float($optval)) { + $optval = sprintf('%F', $optval); + } + + $out .= ' ' . $optval; + } + } else { + $out .= ' ' . $this->getOutTextString($annot['opt']['v'], $oid, true); + } + } + + if (isset($annot['opt']['dv'])) { + $out .= ' /DV'; + if (is_array($annot['opt']['dv'])) { + foreach ($annot['opt']['dv'] as $optval) { + if (is_float($optval)) { + $optval = sprintf('%F', $optval); + } + + $out .= ' ' . $optval; + } + } else { + $out .= ' ' . $this->getOutTextString($annot['opt']['dv'], $oid, true); + } + } + + if (isset($annot['opt']['rv'])) { + $out .= ' /RV'; + if (is_array($annot['opt']['rv'])) { + foreach ($annot['opt']['rv'] as $optval) { + if (is_float($optval)) { + $optval = sprintf('%F', $optval); + } + + $out .= ' ' . $optval; + } + } else { + $out .= ' ' . $this->getOutTextString($annot['opt']['rv'], $oid, true); + } + } + + if (! empty($annot['opt']['a'])) { + $out .= ' /A << ' . $annot['opt']['a'] . ' >>'; + } + + if (! empty($annot['opt']['aa'])) { + $out .= ' /AA << ' . $annot['opt']['aa'] . ' >>'; + } + + if (! empty($annot['opt']['da'])) { + $out .= ' /DA ' . $this->encrypt->escapeDataString($annot['opt']['da'], $oid); + } + + if ( + isset($annot['opt']['q']) + && is_numeric($annot['opt']['q']) + && ($annot['opt']['q'] >= 0) + && ($annot['opt']['q'] <= 2) + ) { + $out .= ' /Q ' . (int) $annot['opt']['q']; + } + + if (! empty($annot['opt']['opt']) && is_array($annot['opt']['opt'])) { + $out .= ' /Opt ['; + foreach ($annot['opt']['opt'] as $copt) { + if (is_array($copt)) { + if ((count($copt) != 2) || ! is_string($copt[0]) || ! is_string($copt[1])) { + continue; + } + $out .= ' [' . $this->getOutTextString($copt[0], $oid, true) + . ' ' . $this->getOutTextString($copt[1], $oid, true) . ']'; + } else { + $out .= ' ' . $this->getOutTextString($copt, $oid, true); + } + } + + $out .= ']'; + } + + if (isset($annot['opt']['ti'])) { + $out .= ' /TI ' . (int) $annot['opt']['ti']; + } + + if (! empty($annot['opt']['i']) && is_array($annot['opt']['i'])) { + $out .= ' /I ['; + foreach ($annot['opt']['i'] as $copt) { + $out .= (int) $copt . ' '; + } + + $out .= ']'; + } + + return $out; + } + + /** + * Returns the output code associated with the annotation opt.subtype.screen. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeScreen(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.printermark. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypePrintermark(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.redact. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeRedact(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.trapnet. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeTrapnet(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.watermark. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtypeWatermark(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the output code associated with the annotation opt.subtype.3d. + * + * @param TAnnot $annot Array containing page annotations. + */ + protected function getOutAnnotationOptSubtype3D(array $annot): string + { + // @TODO + return ''; + } + + /** + * Returns the PDF Javascript entry. + */ + protected function getOutJavascript(): string + { + if (($this->pdfa > 0) || (empty($this->javascript) && empty($this->jsobjects))) { + return ''; + } + + if (strpos($this->javascript, 'this.addField') > 0) { + if (! $this->userrights['enabled']) { + // $this->setUserRights(); + } + + // The following two lines are used to avoid form fields duplication after saving. + // The addField method only works when releasing user rights (UR3). + $pattern = "ftcpdfdocsaved=this.addField('%s','%s',%d,[%F,%F,%F,%F]);"; + $jsa = sprintf($pattern, 'tcpdfdocsaved', 'text', 0, 0, 1, 0, 1); + $jsb = "getField('tcpdfdocsaved').value='saved';"; + $this->javascript = $jsa . "\n" . $this->javascript . "\n" . $jsb; + } + + $out = ''; + // name tree for javascript + $njs = '<< /Names ['; + if (! empty($this->javascript)) { + // default Javascript object + $oid = ++$this->pon; + $out .= $oid . ' 0 obj' . "\n" + . '<<' + . ' /S /JavaScript /JS ' + . $this->getOutTextString($this->javascript, $oid, true) + . ' >>' . "\n" + . 'endobj' . "\n"; + $njs .= ' (EmbeddedJS) ' . $oid . ' 0 R'; + } + + foreach ($this->jsobjects as $key => $val) { + if ($val['onload']) { + // additional Javascript object + $oid = ++$this->pon; + $out .= $oid . ' 0 obj' . "\n" + . '<< ' + . '/S /JavaScript /JS ' + . $this->getOutTextString($val['js'], $oid, true) + . ' >>' . "\n" + . 'endobj' . "\n"; + $njs .= ' (JS' . $key . ') ' . $oid . ' 0 R'; + } + } + + $njs .= ' ] >>'; + $this->jstree = $njs; + return $out; + } + + /** + * Sort bookmarks by page and original position. + */ + protected function sortBookmarks(): void + { + $outline_p = []; + $outline_k = []; + foreach ($this->outlines as $key => $row) { + $outline_p[$key] = $row['p']; + $outline_k[$key] = $key; + } + + // sort outlines by page and original position + array_multisort($outline_p, SORT_NUMERIC, SORT_ASC, $outline_k, SORT_NUMERIC, SORT_ASC, $this->outlines); + } + + /** + * Process the bookmarks to get the previous and next one. + * + * @return int first bookmark object ID + */ + protected function processPrevNextBookmarks(): int + { + $numbookmarks = count($this->outlines); + $this->sortBookmarks(); + $lru = []; + $level = 0; + foreach ($this->outlines as $i => $o) { + if ($o['l'] > 0) { + $parent = $lru[($o['l'] - 1)]; + // set parent and last pointers + $this->outlines[$i]['parent'] = $parent; + $this->outlines[$parent]['last'] = $i; // @phpstan-ignore assign.propertyType + if ($o['l'] > $level) { + // level increasing: set first pointer + $this->outlines[$parent]['first'] = $i; // @phpstan-ignore assign.propertyType + } + } else { + $this->outlines[$i]['parent'] = $numbookmarks; + } + + if (($o['l'] <= $level) && ($i > 0)) { + // set prev and next pointers + $prev = $lru[$o['l']]; + $this->outlines[$prev]['next'] = $i; // @phpstan-ignore assign.propertyType + $this->outlines[$i]['prev'] = $prev; + } + + $lru[$o['l']] = $i; + $level = $o['l']; + } + return $lru[0]; + } + + /** + * Reverse function for htmlentities. + * + * @param string $text_to_convert Text to convert. + * + * @return string converted text string + */ + protected function unhtmlentities(string $text_to_convert): string + { + return html_entity_decode($text_to_convert, ENT_QUOTES, $this->encoding); + } + + /** + * Returns the PDF Bookmarks entry. + */ + protected function getOutBookmarks(): string + { + if ($this->outlines === []) { + return ''; + } + + $numbookmarks = is_countable($this->outlines) ? count($this->outlines) : 0; + if ($numbookmarks <= 0) { + return ''; + } + + $root_oid = $this->processPrevNextBookmarks(); + $first_oid = $this->pon + 1; + $nltags = '/|<\/(blockquote|dd|dl|div|dt|h1|h2|h3|h4|h5|h6|hr|li|ol|p|pre|ul|tcpdf|table|tr|td)>/si'; + $out = ''; + foreach ($this->outlines as $outline) { + // covert HTML title to string + $search = [$nltags, "/[\r]+/si", "/[\n]+/si"]; + $replace = ["\n", '', "\n"]; + $title = preg_replace($search, $replace, $outline['t']); + if ($title === null) { + $title = ''; + } + $title = strip_tags($title); + + $title = preg_replace("/^\s+|\s+$/u", '', $title); + if ($title === null) { + $title = ''; + } + + $oid = ++$this->pon; + $out .= $oid . ' 0 obj' . "\n" + . '<<' + . ' /Title ' . $this->getOutTextString($title, $oid, true) + . ' /Parent ' . ($first_oid + $outline['parent']) . ' 0 R'; + if ($outline['prev'] >= 0) { + $out .= ' /Prev ' . ($first_oid + $outline['prev']) . ' 0 R'; + } + if ($outline['next'] >= 0) { + $out .= ' /Next ' . ($first_oid + $outline['next']) . ' 0 R'; + } + if ($outline['first'] >= 0) { + $out .= ' /First ' . ($first_oid + $outline['first']) . ' 0 R'; + } + if ($outline['last'] >= 0) { + $out .= ' /Last ' . ($first_oid + $outline['last']) . ' 0 R'; + } + + if (! empty($outline['u'])) { + // link + switch ($outline['u'][0]) { + case '#': + // internal destination + $out .= ' /Dest /' . $this->encrypt->encodeNameObject(substr($outline['u'], 1)); + break; + case '@': + // internal link ID + $l = $this->links[$outline['u']]; + $page = $this->page->getPage($l['p']); + $y = $this->toYPoints($l['y'], $page['pheight']); + $out .= sprintf(' /Dest [%u 0 R /XYZ 0 %F null]', $page['n'], $y); + break; + case '%': + // embedded PDF file + $filename = basename(substr($outline['u'], 1)); + $out .= ' /A << /S /GoToE /D [0 /Fit] /NewWindow true /T << /R /C /P ' + . ($outline['p'] - 1) + . ' /A ' . $this->embeddedfiles[$filename]['a'] . ' >>' + . ' >>'; + break; + case '*': + // embedded generic file + $filename = basename(substr($outline['u'], 1)); + $jsa = 'var D=event.target.doc;var MyData=D.dataObjects;' + . 'for (var i in MyData) if (MyData[i].path=="' + . $filename . '")' + . ' D.exportDataObject( { cName : MyData[i].name, nLaunch : 2});'; + $out .= ' /A <getOutTextString($jsa, $oid, true) . '>>'; + break; + default: + // external URI link + $out .= ' /A << /S /URI /URI ' + . $this->encrypt->escapeDataString($this->unhtmlentities($outline['u']), $oid) + . ' >>'; + break; + } + } else { + // link to a page + $page = $this->page->getPage($outline['p']); + $x = $this->toPoints($outline['x']); + $y = $this->toYPoints($outline['y'], $page['pheight']); + $out .= ' ' . sprintf('/Dest [%u 0 R /XYZ %F %F null]', $page['n'], $x, $y); + } + + // set font style + $style = 0; + if (! empty($outline['s'])) { + if (str_contains($outline['s'], 'B')) { + $style |= 2; // bold + } + + if (str_contains($outline['s'], 'I')) { + $style |= 1; // oblique + } + } + + $out .= sprintf(' /F %d', $style); + // set bookmark color + if (empty($outline['c'])) { + $out .= ' /C [0.0 0.0 0.0]'; // black + } else { + $out .= ' /C [ ' . $this->color->getPdfRgbComponents($outline['c']) . ' ]'; + } + + $out .= ' /Count 0 >>' . "\n" + . 'endobj' . "\n"; + } + + //Outline root + $this->outlinerootoid = ++$this->pon; + return $out . $this->outlinerootoid . ' 0 obj' . "\n" + . '<<' + . ' /Type /Outlines' + . ' /First ' . $first_oid . ' 0 R' + . ' /Last ' . ($first_oid + $root_oid) . ' 0 R' + . ' >>' . "\n" + . 'endobj' . "\n"; + } + + /** + * Returns the PDF Signature Fields entry. + */ + protected function getOutSignatureFields(): string + { + if ($this->signature === []) { + return ''; + } + + $out = ''; + foreach ($this->signature['appearance']['empty'] as $key => $esa) { + $page = $this->page->getPage($esa['page']); + $signame = $esa['name'] . sprintf(' [%03d]', ($key + 1)); + $out .= $esa['objid'] . ' 0 obj' . "\n" + . '<<' + . ' /Type /Annot' + . ' /Subtype /Widget' + . ' /Rect [' . $esa['rect'] . ']' + . ' /P ' . $page['n'] . ' 0 R' // link to signature appearance page + . ' /F 4' + . ' /FT /Sig' + . ' /T ' . $this->getOutTextString($signame, $esa['objid'], true) + . ' /Ff 0' + . ' >>' + . "\n" . 'endobj' . "\n"; + } + + return $out; + } + + /** + * Sign the document. + * + * @param string $pdfdoc string containing the PDF document + */ + protected function signDocument(string $pdfdoc): string + { + if (! $this->sign) { + return $pdfdoc; + } + + // remove last newline + $pdfdoc = substr($pdfdoc, 0, -1); + // remove filler space + $byterange_strlen = strlen($this::BYTERANGE); + // define the ByteRange + $byte_range = []; + $byte_range[0] = 0; + $byte_range[1] = strpos($pdfdoc, $this::BYTERANGE) + $byterange_strlen + 10; + $byte_range[2] = $byte_range[1] + $this::SIGMAXLEN + 2; + $byte_range[3] = strlen($pdfdoc) - $byte_range[2]; + $pdfdoc = substr($pdfdoc, 0, $byte_range[1]) . substr($pdfdoc, $byte_range[2]); + // replace the ByteRange + $byterange = sprintf('/ByteRange[0 %u %u %u]', $byte_range[1], $byte_range[2], $byte_range[3]); + $byterange .= str_repeat(' ', ($byterange_strlen - strlen($byterange))); + $pdfdoc = str_replace($this::BYTERANGE, $byterange, $pdfdoc); + // write the document to a temporary folder + $tempdoc = $this->cache->getNewFileName('doc', $this->fileid); + if ($tempdoc === false) { + throw new PdfException('Unable to create temporary document file for signature'); + } + + $f = $this->file->fopenLocal($tempdoc, 'wb'); + $pdfdoc_length = strlen($pdfdoc); + fwrite($f, $pdfdoc, $pdfdoc_length); + fclose($f); + // get digital signature via openssl library + $tempsign = $this->cache->getNewFileName('sig', $this->fileid); + if ($tempsign === false) { + throw new PdfException('Unable to create temporary signature file'); + } + + openssl_pkcs7_sign( + $tempdoc, + $tempsign, + $this->signature['signcert'], + [$this->signature['privkey'], $this->signature['password']], + [], + PKCS7_BINARY | PKCS7_DETACHED, + $this->signature['extracerts'] + ); + + // read signature + $signature = $this->file->getFileData($tempsign); + if ($signature === false) { + throw new PdfException('Unable to read signature file'); + } + // extract signature + $signature = substr($signature, $pdfdoc_length); + $signature = substr($signature, (strpos($signature, "%%EOF\n\n------") + 13)); + + $tmparr = explode("\n\n", $signature); + $signature = $tmparr[1]; + // decode signature + $signature = base64_decode(trim($signature)); + if ($signature === false) { + throw new PdfException('Unable to decode signature'); + } + // add TSA timestamp to signature + $signature = $this->applySignatureTimestamp($signature); + // convert signature to hex + $signature = unpack('H*', $signature); + if ($signature === false) { + throw new PdfException('Unable to unpack signature'); + } + $signature = current($signature); + if (! is_string($signature)) { + throw new PdfException('Invalid signature'); + } + $signature = str_pad($signature, $this::SIGMAXLEN, '0'); + // Add signature to the document + return substr($pdfdoc, 0, $byte_range[1]) . '<' . $signature . '>' . substr($pdfdoc, $byte_range[1]); + } + + /** + * -- NOT YET IMPLEMENTED -- + * Add TSA timestamp to the signature. + * + * @param string $signature Digital signature as binary string + */ + protected function applySignatureTimestamp(string $signature): string + { + if (!$this->sigtimestamp['enabled']) { + return $signature; + } + + // @TODO: Add TSA timestamp to the signature + return $signature; + } + + /** + * Returns the PDF signarure entry. + */ + protected function getOutSignature(): string + { + if ((! $this->sign) || empty($this->signature['cert_type'])) { + return ''; + } + + // widget annotation for signature + $soid = $this->objid['signature']; + $oid = $soid + 1; + $page = $this->page->getPage($this->signature['appearance']['page']); + $out = $soid . ' 0 obj' . "\n" + . '<<' + . ' /Type /Annot' + . ' /Subtype /Widget' + . ' /Rect [' . $this->signature['appearance']['rect'] . ']' + . ' /P ' . $page['n'] . ' 0 R' // link to signature appearance page + . ' /F 4' + . ' /FT /Sig' + . ' /T ' . $this->getOutTextString($this->signature['appearance']['name'], $soid, true) + . ' /Ff 0' + . ' /V ' . $oid . ' 0 R' + . ' >>' . "\n" + . 'endobj' . "\n"; + $out .= $oid . ' 0 obj' . "\n"; + $out .= '<< /Type /Sig /Filter /Adobe.PPKLite /SubFilter /adbe.pkcs7.detached ' + . $this::BYTERANGE + . ' /Contents<' . str_repeat('0', $this::SIGMAXLEN) . '>'; + if (empty($this->signature['approval']) || ($this->signature['approval'] != 'A')) { + $out .= ' /Reference [ << /Type /SigRef'; + if ($this->signature['cert_type'] > 0) { + $out .= $this->getOutSignatureDocMDP(); + } else { + $out .= $this->getOutSignatureUserRights(); + } + + // optional digest data (values must be calculated and replaced later) + //$out .= ' /Data ********** 0 R' + // .' /DigestMethod /MD5' + // .' /DigestLocation[********** 34]' + // .' /DigestValue<********************************>'; + $out .= ' >> ]'; // end of reference + } + + $out .= $this->getOutSignatureInfo($oid); + return $out . ' /M ' + . $this->getOutDateTimeString($this->docmodtime, $oid) + . ' >>' . "\n" + . 'endobj' . "\n"; + } + + /** + * Returns the PDF signarure entry. + */ + protected function getOutSignatureDocMDP(): string + { + if (empty($this->signature['cert_type'])) { + return ''; + } + + return ' /TransformMethod /DocMDP ' + . '/TransformParams <<' + . ' /Type /TransformParams' + . ' /P ' . $this->signature['cert_type'] + . ' /V /1.2' + . ' >>'; + } + + /** + * Returns the PDF signarure entry. + */ + protected function getOutSignatureUserRights(): string + { + $out = ' /TransformMethod /UR3 /TransformParams << /Type /TransformParams /V /2.2'; + if (! empty($this->userrights['document'])) { + $out .= ' /Document[' . $this->userrights['document'] . ']'; + } + + if (! empty($this->userrights['form'])) { + $out .= ' /Form[' . $this->userrights['form'] . ']'; + } + + if (! empty($this->userrights['signature'])) { + $out .= ' /Signature[' . $this->userrights['signature'] . ']'; + } + + if (! empty($this->userrights['annots'])) { + $out .= ' /Annots[' . $this->userrights['annots'] . ']'; + } + + if (! empty($this->userrights['ef'])) { + $out .= ' /EF[' . $this->userrights['ef'] . ']'; + } + + if (! empty($this->userrights['formex'])) { + $out .= ' /FormEX[' . $this->userrights['formex'] . ']'; + } + + return $out . ' >>'; + } + + /** + * Returns the PDF signarure info section. + * + * @param int $oid Object ID. + */ + protected function getOutSignatureInfo(int $oid): string + { + $out = ''; + if (! empty($this->signature['info']['Name'])) { + $out .= ' /Name ' . $this->getOutTextString($this->signature['info']['Name'], $oid, true); + } + + if (! empty($this->signature['info']['Location'])) { + $out .= ' /Location ' . $this->getOutTextString($this->signature['info']['Location'], $oid, true); + } + + if (! empty($this->signature['info']['Reason'])) { + $out .= ' /Reason ' . $this->getOutTextString($this->signature['info']['Reason'], $oid, true); + } + + if (! empty($this->signature['info']['ContactInfo'])) { + $out .= ' /ContactInfo ' . $this->getOutTextString($this->signature['info']['ContactInfo'], $oid, true); + } + + return $out; + } + + /** + * Get the PDF output string for XObject resources dictionary. + */ + protected function getXObjectDict(): string + { + $out = ' /XObject <<'; + + foreach ($this->xobjects as $id => $oid) { + $out .= ' /' . $id . ' ' . $oid['n'] . ' 0 R'; + } + + $out .= $this->image->getXobjectDict(); + + return $out . ' >>'; + } + + /** + * Get the PDF output string for Layer resources dictionary. + */ + protected function getLayerDict(): string + { + if (empty($this->pdflayer)) { + return ''; + } + + $out = ' /Properties <<'; + + foreach ($this->pdflayer as $layer) { + $out .= ' /' . $layer['layer'] . ' ' . $layer['objid'] . ' 0 R'; + } + + return $out . ' >>'; + } + + /** + * Returns 'ON' if $val is true, 'OFF' otherwise. + * + * @param mixed $val Item to parse for boolean value. + */ + protected function getOnOff(mixed $val): string + { + if ((bool) $val) { + return 'ON'; + } + + return 'OFF'; + } + + /** + * Render the PDF in the browser or output the RAW data in the CLI. + * + * @param string $rawpdf Raw PDF data string from getOutPDFString(). + * + * @throw PdfException in case of error. + */ + public function renderPDF(string $rawpdf = ''): void + { + if (PHP_SAPI == 'cli') { + echo $rawpdf; + return; + } + + if (headers_sent()) { + throw new PdfException( + 'The PDF file cannot be sent because some data has already been output to the browser.' + ); + } + + header('Content-Type: application/pdf'); + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + header('Pragma: public'); + header('Expires: Sat, 01 Jan 2000 01:00:00 GMT'); // Date in the past + header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + header( + 'Content-Disposition: inline; filename="' . $this->encpdffilename . '"; filename*=UTF-8\'\'' + . $this->encpdffilename + ); + if (empty($_SERVER['HTTP_ACCEPT_ENCODING'])) { + // the content length may vary if the server is using compression + header('Content-Length: ' . strlen($rawpdf)); + } + + echo $rawpdf; + } + + /** + * Trigger the browser Download dialog to download the PDF document. + * + * @param string $rawpdf Raw PDF data string from getOutPDFString(). + * + * @throw PdfException in case of error. + */ + public function downloadPDF(string $rawpdf = ''): void + { + if (ob_get_contents()) { + throw new PdfException( + 'The PDF file cannot be sent, some data has already been output to the browser.' + ); + } + + if (headers_sent()) { + throw new PdfException( + 'The PDF file cannot be sent because some data has already been output to the browser.' + ); + } + + header('Content-Description: File Transfer'); + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + header('Pragma: public'); + header('Expires: Sat, 01 Jan 2000 01:00:00 GMT'); // Date in the past + header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); + // force download dialog + header('Content-Type: application/pdf'); + if (! str_contains(PHP_SAPI, 'cgi')) { + header('Content-Type: application/force-download', false); + header('Content-Type: application/octet-stream', false); + header('Content-Type: application/download', false); + } + + // use the Content-Disposition header to supply a recommended filename + header( + 'Content-Disposition: attachment; filename="' . $this->encpdffilename . '";' + . " filename*=UTF-8''" . $this->encpdffilename + ); + header('Content-Transfer-Encoding: binary'); + if (empty($_SERVER['HTTP_ACCEPT_ENCODING'])) { + // the content length may vary if the server is using compression + header('Content-Length: ' . strlen($rawpdf)); + } + + echo $rawpdf; + } + + /** + * Save the PDF document to a local file. + * + * @param string $path Path to the output file. + * @param string $rawpdf Raw PDF data string from getOutPDFString(). + */ + public function savePDF( + string $path = '', + string $rawpdf = '' + ): void { + $filepath = implode('/', [realpath($path), $this->pdffilename]); + $fhd = $this->file->fopenLocal($filepath, 'wb'); + if (! $fhd) { + throw new PdfException('Unable to create output file: ' . $filepath); + } + + fwrite($fhd, $rawpdf, strlen($rawpdf)); + fclose($fhd); + } + + /** + * Returns the PDF as base64 mime multi-part email attachment (RFC 2045). + * + * @param string $rawpdf Raw PDF data string from getOutPDFString(). + * + * @return string Email attachment as raw string. + */ + public function getMIMEAttachmentPDF(string $rawpdf = ''): string + { + return 'Content-Type: application/pdf;' . "\r\n" + . ' name="' . $this->encpdffilename . '"' . "\r\n" + . 'Content-Transfer-Encoding: base64' . "\r\n" + . 'Content-Disposition: attachment;' . "\r\n" + . ' filename="' . $this->encpdffilename . '"' . "\r\n\r\n" + . chunk_split(base64_encode($rawpdf), 76, "\r\n"); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/SVG.php b/vendor/tecnickcom/tc-lib-pdf/src/SVG.php new file mode 100644 index 0000000..899d916 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/SVG.php @@ -0,0 +1,2603 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; + +/** + * Com\Tecnick\Pdf\SVG + * + * SVG PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-import-type TTMatrix from \Com\Tecnick\Pdf\Graph\Base + * @phpstan-import-type TRefUnitValues from \Com\Tecnick\Pdf\Base + * + * @phpstan-type TSCGCoord array{ + * 'x': float, + * 'y': float, + * 'x0': float, + * 'y0': float, + * 'xmin': float, + * 'xmax': float, + * 'ymin': float, + * 'ymax': float, + * 'xinit': float, + * 'yinit': float, + * 'xoffset': float, + * 'yoffset': float, + * 'relcoord': bool, + * 'firstcmd': bool, + * } + * + * @phpstan-type TSVGGradient array{ + * 'xref': int, + * 'type': int, + * 'gradientUnits': string, + * 'mode': string, + * 'coords': array, + * 'stops': array, + * 'gradientTransform': array, + * } + * + * @phpstan-type TSVGStyle array{ + * 'alignment-baseline': string, + * 'baseline-shift': string, + * 'clip': string, + * 'clip-path': string, + * 'clip-rule': string, + * 'color': string, + * 'color-interpolation': string, + * 'color-interpolation-filters': string, + * 'color-profile': string, + * 'color-rendering': string, + * 'cursor': string, + * 'direction': string, + * 'display': string, + * 'dominant-baseline': string, + * 'enable-background': string, + * 'fill': string, + * 'fill-opacity': float, + * 'fill-rule': string, + * 'filter': string, + * 'flood-color': string, + * 'flood-opacity': float, + * 'font': string, + * 'font-family': string, + * 'font-size': string, + * 'font-size-val': float, + * 'font-size-adjust': string, + * 'font-stretch': string, + * 'font-stretch-val': float, + * 'font-style': string, + * 'font-variant': string, + * 'font-weight': string, + * 'font-mode': string, + * 'glyph-orientation-horizontal': string, + * 'glyph-orientation-vertical': string, + * 'image-rendering': string, + * 'kerning': string, + * 'letter-spacing': string, + * 'letter-spacing-val': float, + * 'lighting-color': string, + * 'marker': string, + * 'marker-end': string, + * 'marker-mid': string, + * 'marker-start': string, + * 'mask': string, + * 'objstyle': string, + * 'opacity': float, + * 'overflow': string, + * 'pointer-events': string, + * 'shape-rendering': string, + * 'stop-color': string, + * 'stop-opacity': float, + * 'stroke': string, + * 'stroke-dasharray': string, + * 'stroke-dashoffset': float, + * 'stroke-linecap': string, + * 'stroke-linejoin': string, + * 'stroke-miterlimit': float, + * 'stroke-opacity': float, + * 'stroke-width': float, + * 'text-anchor': string, + * 'text-decoration': string, + * 'text-rendering': string, + * 'unicode-bidi': string, + * 'visibility': string, + * 'word-spacing': string, + * 'writing-mode': string, + * 'text-color': string, + * 'transfmatrix': TTMatrix, + * } + * + * @phpstan-type TSVGTextMode array{ + * 'rtl': bool, + * 'invisible': bool, + * 'stroke': int, + * 'text-anchor': string, + * } + * + * @phpstan-type TSVGAttributes array{ + * 'accumulate'?: string, + * 'additive'?: string, + * 'alignment-baseline'?: string, + * 'amplitude'?: string, + * 'attributeName'?: string, + * 'attributeType'?: string, + * 'azimuth'?: string, + * 'baseFrequency'?: string, + * 'baseProfile'?: string, + * 'baseline-shift'?: string, + * 'begin'?: string, + * 'bias'?: string, + * 'by'?: string, + * 'calcMode'?: string, + * 'class'?: string, + * 'clip'?: string, + * 'clip-path'?: string, + * 'clip-rule'?: string, + * 'clipPathUnits'?: string, + * 'closing_tag'?: bool, + * 'color'?: string, + * 'color-interpolation'?: string, + * 'color-interpolation-filters'?: string, + * 'content'?: string, + * 'crossorigin'?: string, + * 'cursor'?: string, + * 'cx'?: string, + * 'cy'?: string, + * 'd'?: string, + * 'data-*'?: string, + * 'decoding'?: string, + * 'diffuseConstant'?: string, + * 'direction'?: string, + * 'display'?: string, + * 'divisor'?: string, + * 'dominant-baseline'?: string, + * 'dur'?: string, + * 'dx'?: string, + * 'dy'?: string, + * 'edgeMode'?: string, + * 'elevation'?: string, + * 'end'?: string, + * 'exponent'?: string, + * 'fill'?: string, + * 'fill-opacity'?: string, + * 'fill-rule'?: string, + * 'filter'?: string, + * 'filterUnits'?: string, + * 'flood-color'?: string, + * 'flood-opacity'?: string, + * 'font-family'?: string, + * 'font-size'?: string, + * 'font-size-adjust'?: string, + * 'font-stretch'?: string, + * 'font-style'?: string, + * 'font-variant'?: string, + * 'font-weight'?: string, + * 'fr'?: string, + * 'from'?: string, + * 'fx'?: string, + * 'fy'?: string, + * 'glyph-orientation-horizontal'?: string, + * 'glyph-orientation-vertical'?: string, + * 'gradientTransform'?: string, + * 'gradientUnits'?: string, + * 'height'?: string, + * 'href'?: string, + * 'hreflang'?: string, + * 'id'?: string, + * 'image-rendering'?: string, + * 'in'?: string, + * 'in2'?: string, + * 'intercept'?: string, + * 'k1'?: string, + * 'k2'?: string, + * 'k3'?: string, + * 'k4'?: string, + * 'kernelMatrix'?: string, + * 'kernelUnitLength'?: string, + * 'keyPoints'?: string, + * 'keySplines'?: string, + * 'keyTimes'?: string, + * 'lang'?: string, + * 'lengthAdjust'?: string, + * 'letter-spacing'?: string, + * 'lighting-color'?: string, + * 'limitingConeAngle'?: string, + * 'local'?: string, + * 'marker-end'?: string, + * 'marker-mid'?: string, + * 'marker-start'?: string, + * 'markerHeight'?: string, + * 'markerUnits'?: string, + * 'markerWidth'?: string, + * 'mask'?: string, + * 'maskContentUnits'?: string, + * 'maskUnits'?: string, + * 'max'?: string, + * 'media'?: string, + * 'method'?: string, + * 'min'?: string, + * 'mode'?: string, + * 'numOctaves'?: string, + * 'offset'?: string, + * 'opacity'?: string, + * 'operator'?: string, + * 'order'?: string, + * 'orient'?: string, + * 'origin'?: string, + * 'overflow'?: string, + * 'paint-order'?: string, + * 'path'?: string, + * 'pathLength'?: string, + * 'patternContentUnits'?: string, + * 'patternTransform'?: string, + * 'patternUnits'?: string, + * 'ping'?: string, + * 'pointer-events'?: string, + * 'points'?: string, + * 'pointsAtX'?: string, + * 'pointsAtY'?: string, + * 'pointsAtZ'?: string, + * 'preserveAlpha'?: string, + * 'preserveAspectRatio'?: string, + * 'primitiveUnits'?: string, + * 'r'?: string, + * 'radius'?: string, + * 'refX'?: string, + * 'refY'?: string, + * 'referrerPolicy'?: string, + * 'rel'?: string, + * 'rendering-intent'?: string, + * 'repeatCount'?: string, + * 'repeatDur'?: string, + * 'requiredExtensions'?: string, + * 'requiredFeatures'?: string, + * 'restart'?: string, + * 'result'?: string, + * 'rotate'?: string, + * 'rx'?: string, + * 'ry'?: string, + * 'scale'?: string, + * 'seed'?: string, + * 'shape-rendering'?: string, + * 'side'?: string, + * 'slope'?: string, + * 'spacing'?: string, + * 'specularConstant'?: string, + * 'specularExponent'?: string, + * 'speed'?: string, + * 'spreadMethod'?: string, + * 'startOffset'?: string, + * 'stdDeviation'?: string, + * 'stitchTiles'?: string, + * 'stop-color'?: string, + * 'stop-opacity'?: string, + * 'stroke'?: string, + * 'stroke-dasharray'?: string, + * 'stroke-dashoffset'?: string, + * 'stroke-linecap'?: string, + * 'stroke-linejoin'?: string, + * 'stroke-miterlimit'?: string, + * 'stroke-opacity'?: string, + * 'stroke-width'?: string, + * 'style'?: string, + * 'surfaceScale'?: string, + * 'systemLanguage'?: string, + * 'tabindex'?: string, + * 'tableValues'?: string, + * 'target'?: string, + * 'targetX'?: string, + * 'targetY'?: string, + * 'text-anchor'?: string, + * 'text-decoration'?: string, + * 'text-rendering'?: string, + * 'textLength'?: string, + * 'to'?: string, + * 'transform'?: string, + * 'transform-origin'?: string, + * 'type'?: string, + * 'unicode-bidi'?: string, + * 'values'?: string, + * 'vector-effect'?: string, + * 'version'?: string, + * 'viewBox'?: string, + * 'visibility'?: string, + * 'width'?: string, + * 'word-spacing'?: string, + * 'writing-mode'?: string, + * 'x'?: string, + * 'x1'?: string, + * 'x2'?: string, + * 'xChannelSelector'?: string, + * 'xlink:actuate'?: string, + * 'xlink:arcrole'?: string, + * 'xlink:href Deprecated'?: string, + * 'xlink:href'?: string, + * 'xlink:role'?: string, + * 'xlink:show'?: string, + * 'xlink:title'?: string, + * 'xlink:type'?: string, + * 'xml:lang'?: string, + * 'xml:space'?: string, + * 'y'?: string, + * 'y1'?: string, + * 'y2'?: string, + * 'yChannelSelector'?: string, + * 'z'?: string, + * 'zoomAndPan'?: string, + * } + * + * @phpstan-type TSVGAttribs array{ + * 'attr': TSVGAttributes, + * 'child'?: array, + * } + * + * @phpstan-type TSVGClipPath array{ + * 'name': string, + * 'attr': TSVGAttribs, + * 'tm': array, + * } + * + * @phpstan-type TSVGDefs array{ + * 'name': string, + * 'attr': TSVGAttribs, + * } + * + * @phpstan-type TSVGObj array{ + * 'defsmode': bool, + * 'clipmode': bool, + * 'clipid': int, + * 'gradientid': int, + * 'tagdepth': int, + * 'gradients': array, + * 'clippaths': array, + * 'textmode': array, + * 'defs': array, + * 'cliptm': array, + * 'styles': array, + * 'text': string, + * 'out': string, + * } + * + */ +abstract class SVG extends \Com\Tecnick\Pdf\Text +{ + /** + * Deafult unit of measure for SVG (px = pixels). + * + * @var string + */ + protected const SVGUNIT = 'px'; + + /** + * Default SVG minimum length in points. + * + * @var float + */ + protected const SVGMINPNTLEN = 0.01; + + + /** + * Array of inheritable SVG properties. + * + * @var array + */ + protected const SVGINHPROP = [ + 'clip-rule', + 'color', + 'color-interpolation', + 'color-interpolation-filters', + 'color-profile', + 'color-rendering', + 'cursor', + 'direction', + 'display', + 'fill', + 'fill-opacity', + 'fill-rule', + 'font', + 'font-family', + 'font-size', + 'font-size-adjust', + 'font-stretch', + 'font-style', + 'font-variant', + 'font-weight', + 'glyph-orientation-horizontal', + 'glyph-orientation-vertical', + 'image-rendering', + 'kerning', + 'letter-spacing', + 'marker', + 'marker-end', + 'marker-mid', + 'marker-start', + 'pointer-events', + 'shape-rendering', + 'stroke', + 'stroke-dasharray', + 'stroke-dashoffset', + 'stroke-linecap', + 'stroke-linejoin', + 'stroke-miterlimit', + 'stroke-opacity', + 'stroke-width', + 'text-anchor', + 'text-rendering', + 'visibility', + 'word-spacing', + 'writing-mode', + ]; + + /** + * Default SVG style. + * + * @var TSVGStyle + */ + protected const DEFSVGSTYLE = [ + 'alignment-baseline' => 'auto', + 'baseline-shift' => 'baseline', + 'clip' => 'auto', + 'clip-path' => 'none', + 'clip-rule' => 'nonzero', + 'color' => 'black', + 'color-interpolation' => 'sRGB', + 'color-interpolation-filters' => 'linearRGB', + 'color-profile' => 'auto', + 'color-rendering' => 'auto', + 'cursor' => 'auto', + 'direction' => 'ltr', + 'display' => 'inline', + 'dominant-baseline' => 'auto', + 'enable-background' => 'accumulate', + 'fill' => 'black', + 'fill-opacity' => 1.0, + 'fill-rule' => 'nonzero', + 'filter' => 'none', + 'flood-color' => 'black', + 'flood-opacity' => 1.0, + 'font' => '', + 'font-family' => 'helvetica', + 'font-size' => 'medium', + 'font-size-val' => 10.0, + 'font-size-adjust' => 'none', + 'font-stretch' => 'normal', + 'font-stretch-val' => 100.0, + 'font-style' => 'normal', + 'font-variant' => 'normal', + 'font-weight' => 'normal', + 'font-mode' => '', + 'glyph-orientation-horizontal' => '0deg', + 'glyph-orientation-vertical' => 'auto', + 'image-rendering' => 'auto', + 'kerning' => 'auto', + 'letter-spacing' => 'normal', + 'letter-spacing-val' => 0.0, + 'lighting-color' => 'white', + 'marker' => '', + 'marker-end' => 'none', + 'marker-mid' => 'none', + 'marker-start' => 'none', + 'mask' => 'none', + 'objstyle' => '', + 'opacity' => 1.0, + 'overflow' => 'auto', + 'pointer-events' => 'visiblePainted', + 'shape-rendering' => 'auto', + 'stop-color' => 'black', + 'stop-opacity' => 1.0, + 'stroke' => 'none', + 'stroke-dasharray' => 'none', + 'stroke-dashoffset' => 0.0, + 'stroke-linecap' => 'butt', + 'stroke-linejoin' => 'miter', + 'stroke-miterlimit' => 4.0, + 'stroke-opacity' => 1.0, + 'stroke-width' => 1.0, + 'text-anchor' => 'start', + 'text-decoration' => 'none', + 'text-rendering' => 'auto', + 'unicode-bidi' => 'normal', + 'visibility' => 'visible', + 'word-spacing' => 'normal', + 'writing-mode' => 'lr-tb', + 'text-color' => 'black', + 'transfmatrix' => [1.0, 0.0, 0.0, 1.0, 0.0, 0.0], + ]; + + /** + * List of possible SVG font attributes to parse. + * + * @var array + */ + protected const FONTATTRIBS = [ + 'font-family', + 'font-size-adjust', + 'font-size', + 'font-stretch', + 'font-style', + 'font-variant', + 'font-weight', + 'letter-spacing', + 'text-decoration', + ]; + + /** + * Modes to check when processing SVG start tags. + * + * @var array + */ + protected const SVGDEFSMODESTART = [ + 'clipPath', + 'linearGradient', + 'radialGradient', + 'stop', + ]; + + /** + * Modes to check when processing SVG end tags. + * + * @var array + */ + protected const SVGDEFSMODEEND = [ + 'defs', + 'clipPath', + 'linearGradient', + 'radialGradient', + 'stop', + ]; + + /** + * Default SVG object properties. + * + * @var TSVGObj + */ + protected const SVGDEFOBJ = [ + 'defsmode' => false, + 'clipmode' => false, + 'clipid' => 0, + 'gradientid' => 0, + 'tagdepth' => 0, + 'gradients' => [], + 'clippaths' => [], + 'cliptm' => [], + 'defs' => [], + 'textmode' => [], + 'styles' => [self::DEFSVGSTYLE], + 'text' => '', + 'out' => '', + ]; + + /** + * SVG object properties. + * + * @var array + */ + protected array $svgobjs = []; + + /** + * SVG minimum length in points. + * + * @var float + */ + protected float $svgminunitlen = 0; + + /** + * Parse the SVG transformation 'matrix'. + * + * @param string $val Transformation matrix string to parse. + * + * @return TTMatrix Transformation matrix. + */ + protected function parseSVGTMmatrix(string $val): array + { + $tmb = $this->graph::IDMATRIX; + $regs = []; + if ( + preg_match( + '/([a-z0-9\-\.]+)[\,\s]+' + . '([a-z0-9\-\.]+)[\,\s]+' + . '([a-z0-9\-\.]+)[\,\s]+' + . '([a-z0-9\-\.]+)[\,\s]+' + . '([a-z0-9\-\.]+)[\,\s]+' + . '([a-z0-9\-\.]+)/si', + $val, + $regs, + ) + ) { + $tmb[0] = floatval($regs[1]); + $tmb[1] = floatval($regs[2]); + $tmb[2] = floatval($regs[3]); + $tmb[3] = floatval($regs[4]); + $tmb[4] = floatval($regs[5]); + $tmb[5] = floatval($regs[6]); + } + return $tmb; + } + + /** + * Parse the SVG transformation 'translate'. + * + * @param string $val Transformation matrix string to parse. + * + * @return TTMatrix Transformation matrix. + */ + protected function parseSVGTMtranslate(string $val): array + { + $tmb = $this->graph::IDMATRIX; + $regs = []; + if (preg_match('/([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $val, $regs)) { + $tmb[4] = floatval($regs[1]); + $tmb[5] = floatval($regs[2]); + return $tmb; + } + if (preg_match('/([a-z0-9\-\.]+)/si', $val, $regs)) { + $tmb[4] = floatval($regs[1]); + } + return $tmb; + } + + /** + * Parse the SVG transformation 'scale'. + * + * @param string $val Transformation matrix string to parse. + * + * @return TTMatrix Transformation matrix. + */ + protected function parseSVGTMscale(string $val): array + { + $tmb = $this->graph::IDMATRIX; + $regs = []; + if (preg_match('/([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $val, $regs)) { + $tmb[0] = floatval($regs[1]); + $tmb[3] = floatval($regs[2]); + return $tmb; + } + if (preg_match('/([a-z0-9\-\.]+)/si', $val, $regs)) { + $tmb[0] = floatval($regs[1]); + $tmb[3] = $tmb[0]; + } + return $tmb; + } + + /** + * Parse the SVG transformation 'rotate'. + * + * @param string $val Transformation matrix string to parse. + * + * @return TTMatrix Transformation matrix. + */ + protected function parseSVGTMrotate(string $val): array + { + $tmb = $this->graph::IDMATRIX; + $regs = []; + if (preg_match('/([0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $val, $regs)) { + $ang = deg2rad(floatval($regs[1])); + $trx = floatval($regs[2]); + $try = floatval($regs[3]); + $tmb[0] = cos($ang); + $tmb[1] = sin($ang); + $tmb[2] = -$tmb[1]; + $tmb[3] = $tmb[0]; + $tmb[4] = ($trx * (1 - $tmb[0])) - ($try * $tmb[2]); + $tmb[5] = ($try * (1 - $tmb[3])) - ($trx * $tmb[1]); + return $tmb; + } + if (preg_match('/([0-9\-\.]+)/si', $val, $regs)) { + $ang = deg2rad(floatval($regs[1])); + $tmb[0] = cos($ang); + $tmb[1] = sin($ang); + $tmb = [$tmb[0], $tmb[1], -$tmb[1], $tmb[0], 0, 0]; + } + return $tmb; + } + + /** + * Parse the SVG transformation 'skewX'. + * + * @param string $val Transformation matrix string to parse. + * + * @return TTMatrix Transformation matrix. + */ + protected function parseSVGTMskewX(string $val): array + { + $tmb = $this->graph::IDMATRIX; + $regs = []; + if (preg_match('/([0-9\-\.]+)/si', $val, $regs)) { + $tmb[2] = tan(deg2rad(floatval($regs[1]))); + } + return $tmb; + } + + /** + * Parse the SVG transformation 'skewY'. + * + * @param string $val Transformation matrix string to parse. + * + * @return TTMatrix Transformation matrix. + */ + protected function parseSVGTMskewY(string $val): array + { + $tmb = $this->graph::IDMATRIX; + $regs = []; + if (preg_match('/([0-9\-\.]+)/si', $val, $regs)) { + $tmb[1] = tan(deg2rad(floatval($regs[1]))); + } + return $tmb; + } + + /** + * Get the tranformation matrix from the SVG 'transform' attribute. + * + * @param string $attr Transformation attribute. + * + * @return TTMatrix Transformation matrix. + */ + protected function getSVGTransformMatrix(string $attr): array + { + $transform = []; + $tma = $this->graph::IDMATRIX; + + if ( + !preg_match_all( + '/(matrix|translate|scale|rotate|skewX|skewY)[\s]*+\(([^\)]+)\)/si', + $attr, + $transform, + PREG_SET_ORDER, + ) > 0 + ) { + return $tma; + } + + foreach ($transform as $data) { + if (empty($data[2])) { + continue; + } + + $val = $data[2]; + + $tmb = match ($data[1]) { + 'matrix' => $this->parseSVGTMmatrix($val), + 'translate' => $this->parseSVGTMtranslate($val), + 'scale' => $this->parseSVGTMscale($val), + 'rotate' => $this->parseSVGTMrotate($val), + 'skewX' => $this->parseSVGTMskewX($val), + 'skewY' => $this->parseSVGTMskewY($val), + default => $this->graph::IDMATRIX, + }; + + $tma = $this->graph->getCtmProduct($tma, $tmb); + } + + return $tma; + } + + /** + * Convert SVG transformation matrix to PDF. + * + * @param TTMatrix $trm original SVG transformation matrix. + * @param TRefUnitValues $ref page height in internal points. + * + * @return TTMatrix Transformation matrix. + */ + protected function convertSVGMatrix( + array $trm, + array $ref = self::REFUNITVAL, + ): array { + // $tmx = 0; + $tmy = $ref['page']['height']; + + $trm[1] = -$trm[1]; + $trm[2] = -$trm[2]; + // ($tmx * (1 - $trm[0])) - ($tmy * $trm[2]) + $this->getUnitValuePoints($trm[4], $ref, self::SVGUNIT); + $trm[4] = $this->getUnitValuePoints($trm[4], $ref, self::SVGUNIT) - ($tmy * $trm[2]); + // ($tmy * (1 - $trm[3])) - ($tmx * $trm[1]) - $this->getUnitValuePoints($trm[5], $ref, self::SVGUNIT); + $trm[5] = ($tmy * (1 - $trm[3])) - $this->getUnitValuePoints($trm[5], $ref, self::SVGUNIT); + + return $trm; + } + + /** + * Get the SVG tranformation matrix (CTM) PDF string. + * + * @param TTMatrix $trm original SVG transformation matrix. + * @param TRefUnitValues $ref page height in internal points. + * + * @return string Transformation matrix (PDF string). + */ + protected function getOutSVGTransformation( + array $trm, + array $ref = self::REFUNITVAL, + ): string { + return $this->graph->getTransformation( + $this->convertSVGMatrix($trm, $ref), + ); + } + + /** + * Return the tag name without the namespace + * + * @param string $name Tag name + * + * @return string Tag name without the namespace + */ + protected function removeTagNamespace(string $name) + { + $parts = explode(':', $name); + return end($parts); + } + + protected function getSVGPath( + string $attrd, + string $mode = '', + ): string { + // set paint operator + $pop = $this->graph->getPathPaintOp($mode, ''); + if (empty($pop)) { + return ''; + } + + // extract paths + $attrd = preg_replace('/([0-9ACHLMQSTVZ])([\-\+])/si', '\\1 \\2', $attrd); + if (empty($attrd)) { + return ''; + } + + $attrd = preg_replace('/(\.[0-9]+)(\.)/s', '\\1 \\2', $attrd); + if (empty($attrd)) { + return ''; + } + + $paths = []; + preg_match_all('/([ACHLMQSTVZ])[\s]*+([^ACHLMQSTVZ\"]*+)/si', $attrd, $paths, PREG_SET_ORDER); + + // initialize variables + $out = ''; + + $coord = [ + 'x' => 0.0, + 'y' => 0.0, + 'x0' => 0.0, + 'y0' => 0.0, + 'xmin' => 2147483647.0, + 'xmax' => 0.0, + 'ymin' => 2147483647.0, + 'ymax' => 0.0, + 'xinit' => 0.0, + 'yinit' => 0.0, + 'xoffset' => 0.0, + 'yoffset' => 0.0, + 'relcoord' => false, + 'firstcmd' => true, + ]; + + // draw curve pieces + foreach ($paths as $key => $val) { + // get curve type + $cmd = trim($val[1]); + + // relative or absolute coordinates + $coord['relcoord'] = (strtolower($cmd) == $cmd); + if ($coord['relcoord']) { + // use relative coordinated instead of absolute + $coord['xoffset'] = $coord['x']; + $coord['yoffset'] = $coord['y']; + } else { + $coord['xoffset'] = 0.0; + $coord['yoffset'] = 0.0; + } + + $rawparams = []; + $params = []; + + // get curve parameters + $rprms = []; + if (empty(preg_match_all('/-?\d*+\.?\d+/', trim($val[2]), $rprms))) { + return ''; + } + + $rawparams = $rprms[0]; + + foreach ($rawparams as $prk => $prv) { + $params[$prk] = $this->getUnitValuePoints($prv, self::REFUNITVAL, self::SVGUNIT); + if (abs($params[$prk]) < $this->svgminunitlen) { + // approximate little values to zero + $params[$prk] = 0; + } + } + + // store current origin point + $coord['x0'] = $coord['x']; + $coord['y0'] = $coord['y']; + + $out .= match (strtoupper($cmd)) { + 'A' => $this->svgPathCmdA($params, $coord, $paths, $key, $rawparams), + 'C' => $this->svgPathCmdC($params, $coord), + 'H' => $this->svgPathCmdH($params, $coord), + 'L' => $this->svgPathCmdL($params, $coord), + 'M' => $this->svgPathCmdM($params, $coord), + 'Q' => $this->svgPathCmdQ($params, $coord), + 'S' => $this->svgPathCmdS($params, $coord, $paths, $key), + 'T' => $this->svgPathCmdT($params, $coord, $paths, $key), + 'V' => $this->svgPathCmdV($params, $coord), + 'Z' => $this->svgPathCmdZ($coord), + default => '', + }; + + $coord['firstcmd'] = false; + } + + return $out . ' ' . $pop . "\n"; + } + + /** + * Process SCG path command 'A' (elliptical arc). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * @param array> $paths All paths. + * @param int $key Current key. + * @param array $rawparams Raw parameters. + * + * @return string + */ + protected function svgPathCmdA(array $prm, array &$crd, array $paths, int $key, array $rawparams): string + { + $out = ''; + + foreach ($prm as $prk => $prv) { + if ((($prk + 1) % 7) != 0) { + continue; + } + + $crd['x0'] = $crd['x']; + $crd['y0'] = $crd['y']; + $rpx = (float) max(abs($prm[($prk - 6)]), .000000001); + $rpy = (float) max(abs($prm[($prk - 5)]), .000000001); + $ang = -intval($rawparams[($prk - 4)]); + $angle = deg2rad($ang); + $laf = $rawparams[($prk - 3)]; // large-arc-flag + $swf = $rawparams[($prk - 2)]; // sweep-flag + $crd['x'] = $prm[($prk - 1)] + $crd['xoffset']; + $crd['y'] = $prv + $crd['yoffset']; + + if ( + (abs($crd['x0'] - $crd['x']) < $this->svgminunitlen) && + (abs($crd['y0'] - $crd['y']) < $this->svgminunitlen) + ) { + // endpoints are almost identical + $crd['xmin'] = (float) min($crd['xmin'], $crd['x']); + $crd['ymin'] = (float) min($crd['ymin'], $crd['y']); + $crd['xmax'] = (float) max($crd['xmax'], $crd['x']); + $crd['ymax'] = (float) max($crd['ymax'], $crd['y']); + } else { + $cos_ang = cos($angle); + $sin_ang = sin($angle); + $cra = (($crd['x0'] - $crd['x']) / 2); + $crb = (($crd['y0'] - $crd['y']) / 2); + $pxa = ($cra * $cos_ang) - ($crb * $sin_ang); + $pya = ($cra * $sin_ang) + ($crb * $cos_ang); + $rx2 = $rpx * $rpx; + $ry2 = $rpy * $rpy; + $pxa2 = $pxa * $pxa; + $pya2 = $pya * $pya; + $delta = ($pxa2 / $rx2) + ($pya2 / $ry2); + if ($delta > 1) { + $rpx *= sqrt($delta); + $rpy *= sqrt($delta); + $rx2 = $rpx * $rpx; + $ry2 = $rpy * $rpy; + } + $numerator = (($rx2 * $ry2) - ($rx2 * $pya2) - ($ry2 * $pxa2)); + $root = 0; + if ($numerator > 0) { + $root = sqrt($numerator / (($rx2 * $pya2) + ($ry2 * $pxa2))); + } + if ($laf == $swf) { + $root *= -1; + } + $cax = $root * (($rpx * $pya) / $rpy); + $cay = -$root * (($rpy * $pxa) / $rpx); + // coordinates of ellipse center + $pcx = ($cax * $cos_ang) - ($cay * $sin_ang) + (($crd['x0'] + $crd['x']) / 2); + $pcy = ($cax * $sin_ang) + ($cay * $cos_ang) + (($crd['y0'] + $crd['y']) / 2); + // get angles + $angs = $this->graph->getVectorsAngle( + 1, + 0, + (($pxa - $cax) / $rpx), + (($cay - $pya) / $rpy), + ); + $dang = $this->graph->getVectorsAngle( + (($pxa - $cax) / $rpx), + (($pya - $cay) / $rpy), + ((-$pxa - $cax) / $rpx), + ((-$pya - $cay) / $rpy), + ); + if (($swf == 0) and ($dang > 0)) { + $dang -= (2 * M_PI); + } elseif (($swf == 1) and ($dang < 0)) { + $dang += (2 * M_PI); + } + $angf = $angs - $dang; + if ((($swf == 0) and ($angs > $angf)) or (($swf == 1) and ($angs < $angf))) { + // reverse angles + $tmp = $angs; + $angs = $angf; + $angf = $tmp; + } + $angs = round(rad2deg($angs), 6); + $angf = round(rad2deg($angf), 6); + // covent angles to positive values + if (($angs < 0) and ($angf < 0)) { + $angs += 360; + $angf += 360; + } + $pie = false; + if (($key == 0) and (isset($paths[($key + 1)][1])) and (trim($paths[($key + 1)][1]) == 'z')) { + $pie = true; + } + // list($axmin, $aymin, $axmax, $aymax) + $bbox = [0, 0, 0, 0]; + $out .= $this->graph->getRawEllipticalArc( + $pcx, + $pcy, + $rpx, + $rpy, + $ang, + $angs, + $angf, + $pie, + 2, + false, + ($swf == 0), + true, + $bbox, + ); + $crd['xmin'] = (float) min($crd['xmin'], $crd['x'], $bbox[0]); + $crd['ymin'] = (float) min($crd['ymin'], $crd['y'], $bbox[1]); + $crd['xmax'] = (float) max($crd['xmax'], $crd['x'], $bbox[2]); + $crd['ymax'] = (float) max($crd['ymax'], $crd['y'], $bbox[3]); + } + + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + + return $out; + } + + /** + * Process SCG path command 'C' (curveto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdC(array $prm, array &$crd): string + { + $out = ''; + + foreach ($prm as $prk => $prv) { + if ((($prk + 1) % 6) != 0) { + continue; + } + + $px1 = $prm[($prk - 5)] + $crd['xoffset']; + $py1 = $prm[($prk - 4)] + $crd['yoffset']; + $px2 = $prm[($prk - 3)] + $crd['xoffset']; + $py2 = $prm[($prk - 2)] + $crd['yoffset']; + $crd['x'] = $prm[($prk - 1)] + $crd['xoffset']; + $crd['y'] = $prv + $crd['yoffset']; + $out .= $this->graph->getRawCurve($px1, $py1, $px2, $py2, $crd['x'], $crd['y']); + $crd['xmin'] = (float) min($crd['xmin'], $crd['x'], $px1, $px2); + $crd['ymin'] = (float) min($crd['ymin'], $crd['y'], $py1, $py2); + $crd['xmax'] = (float) max($crd['xmax'], $crd['x'], $px1, $px2); + $crd['ymax'] = (float) max($crd['ymax'], $crd['y'], $py1, $py2); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'H' (horizontal lineto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdH(array $prm, array &$crd): string + { + $out = ''; + + foreach ($prm as $prv) { + $crd['x'] = $prv + $crd['xoffset']; + if ( + (abs($crd['x0'] - $crd['x']) >= $this->svgminunitlen) || + (abs($crd['y0'] - $crd['y']) >= $this->svgminunitlen) + ) { + $out .= $this->graph->getRawLine($crd['x'], $crd['y']); + $crd['x0'] = $crd['x']; + $crd['y0'] = $crd['y']; + } + $crd['xmin'] = min($crd['xmin'], $crd['x']); + $crd['xmax'] = max($crd['xmax'], $crd['x']); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + } + } + + return $out; + } + + /** + * Process SCG path command 'L' (lineto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdL(array $prm, array &$crd): string + { + $out = ''; + + foreach ($prm as $prk => $prv) { + if (($prk % 2) == 0) { + $crd['x'] = $prv + $crd['xoffset']; + continue; + } + + $crd['y'] = $prv + $crd['yoffset']; + if ( + (abs($crd['x0'] - $crd['x']) >= $this->svgminunitlen) || + (abs($crd['y0'] - $crd['y']) >= $this->svgminunitlen) + ) { + $out .= $this->graph->getRawLine($crd['x'], $crd['y']); + $crd['x0'] = $crd['x']; + $crd['y0'] = $crd['y']; + } + $crd['xmin'] = min($crd['xmin'], $crd['x']); + $crd['ymin'] = min($crd['ymin'], $crd['y']); + $crd['xmax'] = max($crd['xmax'], $crd['x']); + $crd['ymax'] = max($crd['ymax'], $crd['y']); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'M' (moveto) + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdM(array $prm, array &$crd): string + { + $out = ''; + + foreach ($prm as $prk => $prv) { + if (($prk % 2) == 0) { + $crd['x'] = $prv + $crd['xoffset']; + continue; + } + + $crd['y'] = $prv + $crd['yoffset']; + if ( + $crd['firstcmd'] || + (abs($crd['x0'] - $crd['x']) >= $this->svgminunitlen) || + (abs($crd['y0'] - $crd['y']) >= $this->svgminunitlen) + ) { + if ($prk == 1) { + $out .= $this->graph->getRawPoint($crd['x'], $crd['y']); + $crd['firstcmd'] = false; + $crd['xinit'] = $crd['x']; + $crd['yinit'] = $crd['y']; + } else { + $out .= $this->graph->getRawLine($crd['x'], $crd['y']); + } + $crd['x0'] = $crd['x']; + $crd['y0'] = $crd['y']; + } + $crd['xmin'] = min($crd['xmin'], $crd['x']); + $crd['ymin'] = min($crd['ymin'], $crd['y']); + $crd['xmax'] = max($crd['xmax'], $crd['x']); + $crd['ymax'] = max($crd['ymax'], $crd['y']); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'Q' (quadratic Bezier curveto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdQ(array $prm, array &$crd): string + { + $out = ''; + + foreach ($prm as $prk => $prv) { + if ((($prk + 1) % 4) != 0) { + continue; + } + + // convert quadratic points to cubic points + $px1 = $prm[($prk - 3)] + $crd['xoffset']; + $py1 = $prm[($prk - 2)] + $crd['yoffset']; + $pxa = ($crd['x'] + (2 * $px1)) / 3; + $pya = ($crd['y'] + (2 * $py1)) / 3; + $crd['x'] = $prm[($prk - 1)] + $crd['xoffset']; + $crd['y'] = $prv + $crd['yoffset']; + $pxb = ($crd['x'] + (2 * $px1)) / 3; + $pyb = ($crd['y'] + (2 * $py1)) / 3; + $out .= $this->graph->getRawCurve($pxa, $pya, $pxb, $pyb, $crd['x'], $crd['y']); + $crd['xmin'] = min($crd['xmin'], $crd['x'], $pxa, $pxb); + $crd['ymin'] = min($crd['ymin'], $crd['y'], $pya, $pyb); + $crd['xmax'] = max($crd['xmax'], $crd['x'], $pxa, $pxb); + $crd['ymax'] = max($crd['ymax'], $crd['y'], $pya, $pyb); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'S' (shorthand/smooth curveto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * @param array> $paths All paths. + * @param int $key Current key. + * + * @return string + */ + protected function svgPathCmdS(array $prm, array &$crd, array $paths, int $key): string + { + $out = ''; + + $px2 = 0.0; + $py2 = 0.0; + + foreach ($prm as $prk => $prv) { + if ((($prk + 1) % 4) != 0) { + continue; + } + + if ( + ($key > 0) && + ((strtoupper($paths[($key - 1)][1]) == 'C') || + (strtoupper($paths[($key - 1)][1]) == 'S')) + ) { + $px1 = (2 * $crd['x']) - $px2; + $py1 = (2 * $crd['y']) - $py2; + } else { + $px1 = $crd['x']; + $py1 = $crd['y']; + } + + $px2 = $prm[($prk - 3)] + $crd['xoffset']; + $py2 = $prm[($prk - 2)] + $crd['yoffset']; + $crd['x'] = $prm[($prk - 1)] + $crd['xoffset']; + $crd['y'] = $prv + $crd['yoffset']; + $out .= $this->graph->getRawCurve($px1, $py1, $px2, $py2, $crd['x'], $crd['y']); + $crd['xmin'] = min($crd['xmin'], $crd['x'], $px1, $px2); + $crd['ymin'] = min($crd['ymin'], $crd['y'], $py1, $py2); + $crd['xmax'] = max($crd['xmax'], $crd['x'], $px1, $px2); + $crd['ymax'] = max($crd['ymax'], $crd['y'], $py1, $py2); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'T' (shorthand/smooth quadratic Bezier curveto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * @param array> $paths All paths. + * @param int $key Current key. + * + * @return string + */ + protected function svgPathCmdT(array $prm, array &$crd, array $paths, int $key): string + { + $out = ''; + + $px1 = 0.0; + $py1 = 0.0; + + foreach ($prm as $prk => $prv) { + if (($prk % 2) == 0) { + continue; + } + + if ( + ($key > 0) && + ((strtoupper($paths[($key - 1)][1]) == 'Q') || + (strtoupper($paths[($key - 1)][1]) == 'T')) + ) { + $px1 = (2 * $crd['x']) - $px1; + $py1 = (2 * $crd['y']) - $py1; + } else { + $px1 = $crd['x']; + $py1 = $crd['y']; + } + + // convert quadratic points to cubic points + $pxa = ($crd['x'] + (2 * $px1)) / 3; + $pya = ($crd['y'] + (2 * $py1)) / 3; + $crd['x'] = $prm[($prk - 1)] + $crd['xoffset']; + $crd['y'] = $prv + $crd['yoffset']; + $pxb = ($crd['x'] + (2 * $px1)) / 3; + $pyb = ($crd['y'] + (2 * $py1)) / 3; + $out .= $this->graph->getRawCurve($pxa, $pya, $pxb, $pyb, $crd['x'], $crd['y']); + $crd['xmin'] = min($crd['xmin'], $crd['x'], $pxa, $pxb); + $crd['ymin'] = min($crd['ymin'], $crd['y'], $pya, $pyb); + $crd['xmax'] = max($crd['xmax'], $crd['x'], $pxa, $pxb); + $crd['ymax'] = max($crd['ymax'], $crd['y'], $pya, $pyb); + if ($crd['relcoord']) { + $crd['xoffset'] = $crd['x']; + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'V' (vertical lineto). + * + * @param array $prm Parameters. + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdV(array $prm, array &$crd): string + { + $out = ''; + + foreach ($prm as $prv) { + $crd['y'] = $prv + $crd['yoffset']; + if ( + (abs($crd['x0'] - $crd['x']) >= $this->svgminunitlen) || + (abs($crd['y0'] - $crd['y']) >= $this->svgminunitlen) + ) { + $out .= $this->graph->getRawLine($crd['x'], $crd['y']); + $crd['x0'] = $crd['x']; + $crd['y0'] = $crd['y']; + } + $crd['ymin'] = min($crd['ymin'], $crd['y']); + $crd['ymax'] = max($crd['ymax'], $crd['y']); + if ($crd['relcoord']) { + $crd['yoffset'] = $crd['y']; + } + } + + return $out; + } + + /** + * Process SCG path command 'Z'. + * + * @param TSCGCoord $crd Current coordinates. + * + * @return string + */ + protected function svgPathCmdZ(array &$crd): string + { + $crd['x'] = $crd['x0'] = $crd['xinit']; + $crd['y'] = $crd['y0'] = $crd['yinit']; + return "h\n"; + } + + // ---------------------------------------- + + /** + * Returns the letter-spacing value. + * + * @param string $spacing letter-spacing value. + * @param float $parent font spacing (tracking) value of the parent element. + * + * @return float Quantity to increases or decreases the space between characters in a text. + */ + protected function getTALetterSpacing(string $spacing, float $parent = 0): float + { + $spacing = trim($spacing); + return match ($spacing) { + 'normal' => 0, + 'inherit' => $parent, + default => $this->getUnitValuePoints($spacing, array_merge(self::REFUNITVAL, ['parent' => $parent])), + }; + } + + + /** + * Returns the percentage of font stretching. + * + * @param string $stretch stretch mode + * @param float $parent stretch value of the parent element + * + * @return float font stretching percentage + */ + protected function getTAFontStretching(string $stretch, float $parent = 100): float + { + $stretch = trim($stretch); + return match ($stretch) { + 'ultra-condensed' => 40, + 'extra-condensed' => 55, + 'condensed' => 70, + 'semi-condensed' => 85, + 'normal' => 100, + 'semi-expanded' => 115, + 'expanded' => 130, + 'extra-expanded' => 145, + 'ultra-expanded' => 160, + 'wider' => ($parent + 10), + 'narrower' => ($parent - 10), + 'inherit' => $parent, + default => $this->getUnitValuePoints($stretch, array_merge(self::REFUNITVAL, ['parent' => $parent]), '%'), + }; + } + + /** + * Returns the font weight letter. + * + * @param string $weight Font weight Description. + * + * @return string Font weight Letter('B'|''). + */ + protected function getTAFontWeight(string $weight): string + { + $weight = trim($weight); + return match ($weight) { + 'bold', 'bolder' => 'B', + // default to 'normal' + default => '', + }; + } + + /** + * Returns the font style letter. + * + * @param string $style Font style Description. + * + * @return string Font style Letter ('I'|''). + */ + protected function getTAFontStyle(string $style): string + { + $style = trim($style); + return match ($style) { + 'italic', 'oblique' => 'I', + // default to 'normal' + default => '', + }; + } + + /** + * Returns the font decoration letter + * + * @param string $decoration Font decoration Description. + * + * @return string Font decoration Letter('U'|'O'|'D'|''). + */ + protected function getTAFontDecoration(string $decoration): string + { + $decoration = trim($decoration); + return match ($decoration) { + 'underline' => 'U', + 'overline' => 'O', + 'line-through' => 'D', + default => '', + }; + } + + /** + * Parse the SVG style font attributes. + * + * @param string $tag Font tag content. + * @param string $attr Attribute name. + * @param string $default Default value. + * + * @return string + */ + protected function parseCSSAttrib(string $tag, string $attr, string $default = ''): string + { + if (preg_match('/' . $attr . '[\s]*+:[\s]*+([^\;\"]*+)/si', $tag, $regs)) { + return trim($regs[1]); + } + return $default; + } + + /** + * Parse the SVG font style. + * + * @param TSVGStyle $svgstyle SVG style. + * @param TSVGStyle $parent Parent SVG style. + * + * @return string the Raw PDF command to insert the font. + */ + protected function parseSVGStyleFont( + array &$svgstyle, + array $parent = self::DEFSVGSTYLE, + ): string { + if (!empty($svgstyle['font'])) { + // get font attributes from CSS style + $font = $svgstyle['font']; + foreach (self::FONTATTRIBS as $attr) { + $svgstyle[$attr] = $this->parseCSSAttrib( + $font, // @phpstan-ignore-line + $attr, + $svgstyle[$attr], // @phpstan-ignore-line + ); + } + } + + $svgstyle['font-family'] = (empty($svgstyle['font-family'])) ? + $parent['font-family'] : + $this->font->getFontFamilyName($svgstyle['font-family']); // @phpstan-ignore-line + + $svgstyle['letter-spacing-val'] = $this->getTALetterSpacing( + $svgstyle['letter-spacing'], // @phpstan-ignore-line + $parent['letter-spacing-val'], + ); + $svgstyle['font-stretch-val'] = $this->getTAFontStretching( + $svgstyle['font-stretch'], // @phpstan-ignore-line + $parent['font-stretch-val'], + ); + + $ref = self::REFUNITVAL; + $ref['parent'] = $parent['font-size-val']; + $ref['font']['rootsize'] = $parent['font-size-val']; + $ref['font']['size'] = $parent['font-size-val']; + $ref['font']['xheight'] = ($parent['font-size-val'] / 2); + $ref['font']['zerowidth'] = ($parent['font-size-val'] / 3); + $svgstyle['font-size-val'] = $this->getFontValuePoints( + $svgstyle['font-size'], // @phpstan-ignore-line + $ref, + ); + + $svgstyle['font-mode'] = ''; + $svgstyle['font-mode'] .= $this->getTAFontWeight( + $svgstyle['font-weight'], // @phpstan-ignore-line + ); + $svgstyle['font-mode'] .= $this->getTAFontStyle( + $svgstyle['font-style'], // @phpstan-ignore-line + ); + $svgstyle['font-mode'] .= $this->getTAFontDecoration( + $svgstyle['text-decoration'], // @phpstan-ignore-line + ); + + $fontmetric = $this->font->insert( + $this->pon, + $svgstyle['font-family'], + $svgstyle['font-mode'], + intval($svgstyle['font-size-val']), + ); + + return $fontmetric['out']; + } + + /** + * Parse the SVG stroke style. + * + * @param TSVGStyle $svgstyle SVG style. + * + * @return string the Raw PDF command to set the stroke. + */ + protected function parseSVGStyleStroke( + array &$svgstyle, + ): string { + if (empty($svgstyle['stroke']) || ($svgstyle['stroke'] == 'none')) { + return ''; + } + + $strokestyle = $this->graph->getDefaultStyle(); + + $col = $this->color->getColorObj($svgstyle['stroke']); + if ($col == null) { + return ''; + } + + $out = ''; + + if ($svgstyle['stroke-opacity'] < 1) { + $out .= $this->graph->getAlpha($svgstyle['stroke-opacity']); + } else { + $rgba = $col->toRgbArray(); + if (isset($rgba['alpha']) && ($rgba['alpha'] < 1)) { + $out .= $this->graph->getAlpha($rgba['alpha']); + } + } + + $ref = self::REFUNITVAL; + $ref['parent'] = 0; + $strokestyle['lineWidth'] = $this->getUnitValuePoints( + $svgstyle['stroke-width'], + $ref, + ); + + $strokestyle['lineCap'] = $svgstyle['stroke-linecap']; + $strokestyle['lineJoin'] = $svgstyle['stroke-linejoin']; + // $strokestyle['miterLimit'] = (10.0 / $this->kunit), + $strokestyle['dashArray'] = ( + empty($svgstyle['stroke-dasharray']) || ($svgstyle['stroke-dasharray'] == 'none') + ) ? [] : array_map( + 'intval', + explode(' ', $svgstyle['stroke-dasharray'], 100), + ); + // $strokestyle['dashPhase'] = 0, + $strokestyle['lineColor'] = $svgstyle['stroke']; + $strokestyle['fillColor'] = $svgstyle['stroke']; + + $out .= $this->graph->getStyleCmd($strokestyle); + + $svgstyle['objstyle'] .= 'D'; // @phpstan-ignore-line + + return $out; + } + + /** + * Parse the SVG opacity, color and text-color styles. + * + * @param TSVGStyle $svgstyle SVG style. + * + * @return string the Raw PDF command to set the stroke. + */ + protected function parseSVGStyleColor( + array &$svgstyle, + ): string { + $out = ''; + + if ($svgstyle['opacity'] < 1) { + $out .= $this->graph->getAlpha($svgstyle['opacity']); + } + + if (!empty($svgstyle['color'])) { + $this->graph->add(['fillColor' => $svgstyle['color']], true); + } + + if (!empty($svgstyle['text-color'])) { + $out .= $this->color->getPdfColor($svgstyle['text-color']); + } + + return $out; + } + + /** + * Parse the SVG clip style. + * + * @param TSVGStyle $svgstyle SVG style. + * @param float $posx X position in user units. + * @param float $posy Y position in user units. + * @param float $width Width in user units. + * @param float $height Height in user units. + * + * @return string the Raw PDF command to set the stroke. + */ + protected function parseSVGStyleClip( + array &$svgstyle, + float $posx, + float $posy, + float $width, + float $height, + ): string { + $regs = array(); + if ( + !preg_match( + '/rect\(([a-z0-9\-\.]*)[\s]*([a-z0-9\-\.]*)[\s]*([a-z0-9\-\.]*)[\s]*([a-z0-9\-\.]*)\)/si', + $svgstyle['clip'], + $regs + ) + ) { + return ''; + } + + $top = $this->toUnit( + $regs[1] + ? $this->getUnitValuePoints($regs[1], self::REFUNITVAL, self::SVGUNIT) + : 0 + ); + $right = $this->toUnit( + $regs[2] + ? $this->getUnitValuePoints($regs[2], self::REFUNITVAL, self::SVGUNIT) + : 0 + ); + $bottom = $this->toUnit( + $regs[3] + ? $this->getUnitValuePoints($regs[3], self::REFUNITVAL, self::SVGUNIT) + : 0 + ); + $left = $this->toUnit( + $regs[4] + ? $this->getUnitValuePoints($regs[4], self::REFUNITVAL, self::SVGUNIT) + : 0 + ); + + $clx = $posx + $left; + $cly = $posy + $top; + $clw = $width - $left - $right; + $clh = $height - $top - $bottom; + $eoclip = ($svgstyle['clip-rule'] == 'evenodd'); + + return $this->graph->getClippingRect( + $clx, + $cly, + $clw, + $clh, + $eoclip, + ); + } + + /** + * Parse the SVG fill style. + * + * @param array $gradients Gradients. + * @param int $xref Gradient ID. + * @param float $grx X position in user units. + * @param float $gry Y position in user units. + * @param float $grw Width in user units. + * @param float $grh Height in user units. + * @param string $clip_fnc Optional clipping function name. + * @param array $clip_par Optional clipping function parameters. + * + * @return string the Raw PDF command. + */ + protected function parseSVGStyleGradient( + array $gradients, + int $xref, + float $grx, + float $gry, + float $grw, + float $grh, + string $clip_fnc = '', + array $clip_par = [], + ): string { + $gradient = $gradients[$xref] ?? null; + if ($gradient === null) { + return ''; + } + if (!empty($gradient['xref'])) { + // reference to another gradient definition + $newgradient = $gradients[$gradient['xref']]; + $newgradient['coords'] = $gradient['coords']; + $newgradient['mode'] = $gradient['mode']; + $newgradient['type'] = $gradient['type']; + $newgradient['gradientUnits'] = $gradient['gradientUnits']; + if (isset($gradient['gradientTransform'])) { + $newgradient['gradientTransform'] = $gradient['gradientTransform']; + } + $gradient = $newgradient; + } + + if (!empty($clip_fnc) and method_exists($this, $clip_fnc)) { + $bbox = $this->$clip_fnc(...$clip_par); + if ( + (!isset($gradient['type']) + || ($gradient['type'] != 3)) + && is_array($bbox) + && (count($bbox) == 4) + ) { + $grx = is_numeric($bbox[0]) ? (float)$bbox[0] : 0.0; + $gry = is_numeric($bbox[1]) ? (float)$bbox[1] : 0.0; + $grw = is_numeric($bbox[2]) ? (float)$bbox[2] : 0.0; + $grh = is_numeric($bbox[3]) ? (float)$bbox[3] : 0.0; + } + } + + switch ($gradient['mode']) { + case 'percentage': + foreach ($gradient['coords'] as $key => $val) { + $gradient['coords'][$key] = (intval($val) / 100); + if ($val < 0) { + $gradient['coords'][$key] = 0; + } elseif ($val > 1) { + $gradient['coords'][$key] = 1; + } + } + break; + case 'measure': + if (!isset($gradient['coords'][4])) { + $gradient['coords'][4] = 0.5; + } + if (!empty($gradient['gradientTransform'])) { + $gtm = $gradient['gradientTransform']; + // apply transformation matrix + $gxa = ($gtm[0] * $gradient['coords'][0]) + ($gtm[2] * $gradient['coords'][1]) + $gtm[4]; + $gya = ($gtm[1] * $gradient['coords'][0]) + ($gtm[3] * $gradient['coords'][1]) + $gtm[5]; + $gxb = ($gtm[0] * $gradient['coords'][2]) + ($gtm[2] * $gradient['coords'][3]) + $gtm[4]; + $gyb = ($gtm[1] * $gradient['coords'][2]) + ($gtm[3] * $gradient['coords'][3]) + $gtm[5]; + $grr = sqrt(pow( + ($gtm[0] * $gradient['coords'][4]), + 2 + ) + pow( + ($gtm[1] * $gradient['coords'][4]), + 2 + )); + $gradient['coords'][0] = $gxa; + $gradient['coords'][1] = $gya; + $gradient['coords'][2] = $gxb; + $gradient['coords'][3] = $gyb; + $gradient['coords'][4] = $grr; + } + // convert SVG coordinates to user units + $gradient['coords'][0] = $this->toUnit( + $this->getUnitValuePoints( + $gradient['coords'][0], + self::REFUNITVAL, + self::SVGUNIT + ) + ); + $gradient['coords'][1] = $this->toUnit( + $this->getUnitValuePoints( + $gradient['coords'][1], + self::REFUNITVAL, + self::SVGUNIT + ) + ); + $gradient['coords'][2] = $this->toUnit( + $this->getUnitValuePoints( + $gradient['coords'][2], + self::REFUNITVAL, + self::SVGUNIT + ) + ); + $gradient['coords'][3] = $this->toUnit( + $this->getUnitValuePoints( + $gradient['coords'][3], + self::REFUNITVAL, + self::SVGUNIT + ) + ); + $gradient['coords'][4] = $this->toUnit( + $this->getUnitValuePoints( + $gradient['coords'][4], + self::REFUNITVAL, + self::SVGUNIT + ) + ); + if ($grw <= $this->svgminunitlen) { + $grw = $this->svgminunitlen; + } + if ($grh <= $this->svgminunitlen) { + $grh = $this->svgminunitlen; + } + // shift units + if ($gradient['gradientUnits'] == 'objectBoundingBox') { + // convert to SVG coordinate system + $gradient['coords'][0] += $grx; + $gradient['coords'][1] += $gry; + $gradient['coords'][2] += $grx; + $gradient['coords'][3] += $gry; + } + // calculate percentages + $gradient['coords'][0] = (($gradient['coords'][0] - $grx) / $grw); + $gradient['coords'][1] = (($gradient['coords'][1] - $gry) / $grh); + $gradient['coords'][2] = (($gradient['coords'][2] - $grx) / $grw); + $gradient['coords'][3] = (($gradient['coords'][3] - $gry) / $grh); + $gradient['coords'][4] /= $grw; + break; + } + + + if ( + ($gradient['type'] == 2) + && ($gradient['coords'][0] == $gradient['coords'][2]) + && ($gradient['coords'][1] == $gradient['coords'][3]) + ) { + // single color (no shading) + $gradient['coords'][0] = 1; + $gradient['coords'][1] = 0; + $gradient['coords'][2] = 0.999; + $gradient['coords'][3] = 0; + } + + // swap Y coordinates + $tmp = $gradient['coords'][1]; + $gradient['coords'][1] = $gradient['coords'][3]; + $gradient['coords'][3] = $tmp; + + // set transformation map for gradient + $gry = ($this->page->getPage()['height'] - $gry); + if ($gradient['type'] == 3) { + // circular gradient + $gry -= ($gradient['coords'][1] * ($grw + $grh)); + $grh = $grw = max($grw, $grh); + } else { + $gry -= $grh; + } + + $out = ''; + + $out .= sprintf( + '%F 0 0 %F %F %F cm', + $this->toPoints($grw), + $this->toPoints($grh), + $this->toPoints($grx), + $this->toPoints($gry) + ); + + if (count($gradient['stops']) > 1) { + $out .= $this->graph->getGradient( + $gradient['type'], + $gradient['coords'], + $gradient['stops'], + '', + false, + ); + } + + return $out; + } + + /** + * Parse the SVG fill style. + * + * @param TSVGStyle $svgstyle SVG style. + * @param array $gradients Gradients. + * @param float $posx X position in user units. + * @param float $posy Y position in user units. + * @param float $width Width in user units. + * @param float $height Height in user units. + * @param string $clip_fnc Optional clipping function name. + * @param array $clip_par Optional clipping function parameters. + * + * @return string the Raw PDF command. + */ + protected function parseSVGStyleFill( + array &$svgstyle, + array $gradients, + float $posx, + float $posy, + float $width, + float $height, + string $clip_fnc = '', + array $clip_par = [], + ): string { + if (empty($svgstyle['fill']) || ($svgstyle['fill'] == 'none')) { + return ''; + } + + $regs = array(); + if (preg_match('/url\([\s]*\#([^\)]*)\)/si', $svgstyle['fill'], $regs)) { + return $this->parseSVGStyleGradient( + $gradients, + intval($regs[1]), + $posx, + $posy, + $width, + $height, + $clip_fnc, + $clip_par, + ); + } + + $col = $this->color->getColorObj($svgstyle['fill']); + if ($col == null) { + return ''; + } + + $out = ''; + + if ($svgstyle['fill-opacity'] < 1) { + $out .= $this->graph->getAlpha($svgstyle['fill-opacity']); + } else { + $rgba = $col->toRgbArray(); + if (isset($rgba['alpha']) && ($rgba['alpha'] < 1)) { + $out .= $this->graph->getAlpha($rgba['alpha']); + } + } + + $svgstyle['objstyle'] .= ($svgstyle['fill-rule'] == 'evenodd') ? 'F*' : 'F'; + + $out .= $col->getPdfColor(); + + return $out; + } + + /** + * Parse the SVG style clip-path. + * + * @param TSVGStyle $svgstyle SVG style. + * @param array $clippaths Clipping paths. + * @return string the Raw PDF command. + */ + protected function parseSVGStyleClipPath( + array &$svgstyle, + array $clippaths = [], + ): string { + $out = ''; + $regs = []; + if (preg_match('/url\([\s]*\#([^\)]*)\)/si', $svgstyle['clip-path'], $regs)) { + $clip_path = $clippaths[$regs[1]]; + foreach ($clip_path as $cp) { + $cp = $cp; // @phpstan-ignore-line + //@TODO $out .= $this->handleSVGTagStart('clip-path', $cp['name'], $cp['attr'], $cp['tm']); + } + } + return $out; + } + + /** + * Parse the SVG style. + * + * @param TSVGObj $svgobj SVG object. + * @param float $posx X position in user units. + * @param float $posy Y position in user units. + * @param float $width Width in user units. + * @param float $height Height in user units. + * @param string $clip_fnc Optional clipping function name. + * @param array $clip_par Optional clipping function parameters. + * + * @return string the Raw PDF command. + */ + protected function parseSVGStyle( + array &$svgobj, + float $posx, + float $posy, + float $width, + float $height, + string $clip_fnc = '', + array $clip_par = [], + ): string { + $sid = (int)array_key_last($svgobj['styles']); + + if (empty($svgobj['styles'][$sid]['opacity'])) { + return ''; + } + + return $this->parseSVGStyleClipPath($svgobj['styles'][$sid], $svgobj['clippaths']) . + $this->parseSVGStyleColor($svgobj['styles'][$sid]) . + $this->parseSVGStyleClip( + $svgobj['styles'][$sid], + $posx, + $posy, + $width, + $height + ) . + $this->parseSVGStyleFill( + $svgobj['styles'][$sid], + $svgobj['gradients'], + $posx, + $posy, + $width, + $height, + $clip_fnc, + $clip_par + ) . + $this->parseSVGStyleStroke($svgobj['styles'][$sid]) . + $this->parseSVGStyleFont($svgobj['styles'][$sid], $svgobj['styles'][($sid - 1)]); + } + + /** + * Handler for the SVG character data. + * + * @param string $parser The XML parser calling the handler. + * @param string $data Character data. + * + * @return void + * + * @SuppressWarnings("PHPMD.UnusedFormalParameter") + */ + protected function handlerSVGCharacter( + string $parser, + string $data, + ) { + $soid = (int)array_key_last($this->svgobjs); + if (($soid < 0) || !isset($this->svgobjs[$soid]['text'])) { + return; + } + $this->svgobjs[$soid]['text'] .= $data; + } + + /** + * Handler for the end of an SVG tag. + * + * @param string $parser The XML parser calling the handler. + * @param string $name Name of the element for which this handler is called. + * + * @return void + * + * @SuppressWarnings("PHPMD.UnusedFormalParameter") + */ + protected function handleSVGTagEnd( + string $parser, + string $name, + ): void { + $name = $this->removeTagNamespace($name); + + $soid = (int)array_key_last($this->svgobjs); + if ($soid < 0) { + return; + } + + if ( + $this->svgobjs[$soid]['defsmode'] + && !in_array($name, self::SVGDEFSMODEEND) + ) { + if (end($this->svgobjs[$soid]['defs']) !== false) { + $last_svgdefs_id = (string)array_key_last($this->svgobjs[$soid]['defs']); + if (!empty($this->svgobjs[$soid]['defs'][$last_svgdefs_id]['attr']['child'])) { + foreach ( + $this->svgobjs[$soid]['defs'][$last_svgdefs_id]['attr']['child'] as $child + ) { + if ( + isset($child['attr']['id']) && + is_scalar($child['attr']['id']) && + ($child['name'] == $name) + ) { + $closeKey = (string)$child['attr']['id'] . '_CLOSE'; + $this->svgobjs[$soid]['defs'][$last_svgdefs_id]['attr']['child'][$closeKey] = [ + 'name' => $name, + 'attr' => [ + 'closing_tag' => true, + 'content' => $this->svgobjs[$soid]['text'], + ], + ]; + return; + } + } + if ($this->svgobjs[$soid]['defs'][$last_svgdefs_id]['name'] == $name) { + $closeKey = (string)$last_svgdefs_id . '_CLOSE'; + $this->svgobjs[$soid]['defs'][$last_svgdefs_id]['attr']['child'][$closeKey] = [ + 'name' => $name, + 'attr' => [ + 'closing_tag' => true, + 'content' => $this->svgobjs[$soid]['text'], + ], + ]; + return; + } + } + } + return; + } + + match ($name) { + 'defs' => $this->parseSVGTagENDdefs($soid), + 'clipPath' => $this->parseSVGTagENDclipPath($soid), + 'svg' => $this->parseSVGTagENDsvg($soid), + 'g' => $this->parseSVGTagENDg($soid), + 'text' => $this->parseSVGTagENDtext($soid), + 'tspan' => $this->parseSVGTagENDtspan($soid), + default => null, + }; + } + + /** + * Handler for the start of an SVG tag. + * + * @param string $parser The XML parser calling the handler. + * @param string $name Name of the element for which this handler is called. + * @param TSVGAttributes $attributes Associative array with the element's attributes. + * @param array $ctm Current transformation matrix (optional). + * + * @return void + * + * @SuppressWarnings("PHPMD.UnusedFormalParameter") + */ + protected function handleSVGTagStart( + string $parser, + string $name, + array $attributes, + array $ctm = [], + ): void { + $name = $this->removeTagNamespace($name); + + $soid = (int)array_key_last($this->svgobjs); + if ($soid < 0) { + return; + } + + //@TODO + + match ($name) { + 'defs' => $this->parseSVGTagSTARTdefs($soid), + 'clipPath' => $this->parseSVGTagSTARTclipPath($soid), + 'svg' => $this->parseSVGTagSTARTsvg($soid), + 'g' => $this->parseSVGTagSTARTg($soid), + 'linearGradient' => $this->parseSVGTagSTARTlinearGradient($soid), + 'radialGradient' => $this->parseSVGTagSTARTradialGradient($soid), + 'stop' => $this->parseSVGTagSTARTstop($soid), + 'path' => $this->parseSVGTagSTARTpath($soid), + 'rect' => $this->parseSVGTagSTARTrect($soid), + 'circle' => $this->parseSVGTagSTARTcircle($soid), + 'ellipse' => $this->parseSVGTagSTARTellipse($soid), + 'line' => $this->parseSVGTagSTARTline($soid), + 'polyline' => $this->parseSVGTagSTARTpolyline($soid), + 'polygon' => $this->parseSVGTagSTARTpolygon($soid), + 'image' => $this->parseSVGTagSTARTimage($soid), + 'text' => $this->parseSVGTagSTARTtext($soid), + 'tspan' => $this->parseSVGTagSTARTtspan($soid), + 'use' => $this->parseSVGTagSTARTuse($soid), + default => null, + }; + + //@TODO + } + + /** + * Parse the SVG End tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagENDdefs(int $soid): void + { + $this->svgobjs[$soid]['defsmode'] = false; + } + + /** + * Parse the SVG End tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagENDclipPath(int $soid): void + { + $this->svgobjs[$soid]['clipmode'] = false; + } + + /** + * Parse the SVG End tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagENDsvg(int $soid): void + { + if (--$this->svgobjs[$soid]['tagdepth'] <= 0) { + return; + } + $this->parseSVGTagENDg($soid); + } + + /** + * Parse the SVG End tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagENDg(int $soid): void + { + array_pop($this->svgobjs[$soid]['styles']); + $this->svgobjs[$soid]['out'] .= $this->graph->getStopTransform(); + } + + /** + * Parse the SVG End tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagENDtspan(int $soid): void + { + $this->parseSVGTagENDtext($soid); + } + + /** + * Parse the SVG End tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagENDtext(int $soid): void + { + if (!empty($this->svgobjs[$soid]['textmode']['invisible'])) { + // This implementation must be fixed to following the rule: + // If the 'visibility' property is set to hidden on a 'tspan', 'tref' or 'altGlyph' element, + // then the text is invisible but still takes up space in text layout calculations. + return; + } + + // $text = $this->svgobjs[$soid]['text']; + + // @TODO getTextLine + + $this->svgobjs[$soid]['text'] = ''; + $this->svgobjs[$soid]['out'] .= $this->graph->getStopTransform(); + + if (!$this->svgobjs[$soid]['defsmode']) { + array_pop($this->svgobjs[$soid]['styles']); + } + } + + + /** + * Parse the SVG Start tag 'defs'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTdefs(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'clipPath'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTclipPath(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'svg'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTsvg(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'g'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTg(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'linearGradient'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTlinearGradient(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'radialGradient'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTradialGradient(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'stop'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTstop(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'path'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTpath(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'rect'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTrect(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'circle'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTcircle(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'ellipse'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTellipse(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'line'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTline(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'polyline'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTpolyline(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'polygon'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTpolygon(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'image'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTimage(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'text'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTtext(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'tspan'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTtspan(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } + + /** + * Parse the SVG Start tag 'use'. + * + * @param int $soid ID of the current SVG object. + * + * @return void + */ + protected function parseSVGTagSTARTuse(int $soid) + { + $soid = $soid; // @phpstan-ignore-line + //@TODO + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/Tcpdf.php b/vendor/tecnickcom/tc-lib-pdf/src/Tcpdf.php new file mode 100644 index 0000000..402718d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/Tcpdf.php @@ -0,0 +1,1276 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Barcode\Exception as BarcodeException; +use Com\Tecnick\Pdf\Encrypt\Encrypt as ObjEncrypt; +use Com\Tecnick\Pdf\Exception as PdfException; + +/** + * Com\Tecnick\Pdf\Tcpdf + * + * Tcpdf PDF class + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-import-type StyleDataOpt from \Com\Tecnick\Pdf\Graph\Base + * @phpstan-import-type PageData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageInputData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type TFontMetric from \Com\Tecnick\Pdf\Font\Stack + * + * @phpstan-import-type TAnnotOpts from Output + * @phpstan-import-type TSignature from Output + * @phpstan-import-type TSignTimeStamp from Output + * @phpstan-import-type TGTransparency from Output + * @phpstan-import-type TUserRights from Output + * @phpstan-import-type TXOBject from Output + * + * @SuppressWarnings("PHPMD.DepthOfInheritance") + */ +class Tcpdf extends \Com\Tecnick\Pdf\ClassObjects +{ + /** + * Initialize a new PDF object. + * + * @param string $unit Unit of measure ('pt', 'mm', 'cm', 'in'). + * @param bool $isunicode True if the document is in Unicode mode. + * @param bool $subsetfont If true subset the embedded fonts to remove the unused characters. + * @param bool $compress Set to false to disable stream compression. + * @param string $mode PDF mode: "pdfa1", "pdfa2", "pdfa3", "pdfx" or empty. + * @param ?ObjEncrypt $objEncrypt Encryption object. + */ + public function __construct( + string $unit = 'mm', + bool $isunicode = true, + bool $subsetfont = false, + bool $compress = true, + string $mode = '', + ?ObjEncrypt $objEncrypt = null + ) { + $this->setDecimalSeparator(); + $this->doctime = time(); + $this->docmodtime = $this->doctime; + $seed = new \Com\Tecnick\Pdf\Encrypt\Type\Seed(); + $this->fileid = md5($seed->encrypt('TCPDF')); + $this->setPDFFilename($this->fileid . '.pdf'); + $this->unit = $unit; + $this->setUnicodeMode($isunicode); + $this->subsetfont = $subsetfont; + $this->setPDFMode($mode); + $this->setCompressMode($compress); + $this->setPDFVersion(); + $this->initClassObjects($objEncrypt); + } + + /** + * Set the pdf mode. + * + * @param string $mode Input PDFA mode. + */ + protected function setPDFMode(string $mode): void + { + $this->pdfx = ($mode == 'pdfx'); + $this->pdfa = 0; + $matches = ['', '0']; + if (preg_match('/^pdfa([1-3])$/', $mode, $matches) === 1) { + $this->pdfa = (int) $matches[1]; + } + } + + /** + * Set the compression mode. + * + * @param bool $compress Set to false to disable stream compression. + */ + protected function setCompressMode(bool $compress): void + { + $this->compress = (($compress) && ($this->pdfa != 3)); + } + + /** + * Set the decimal separator. + * + * @throw PdfException in case of error. + */ + protected function setDecimalSeparator(): void + { + // check for locale-related bug + if (1.1 == 1) { /* @phpstan-ignore-line */ + throw new PdfException("Don't alter the locale before including class file"); + } + + // check for decimal separator + if (sprintf('%.1F', 1.0) != '1.0') { + setlocale(LC_NUMERIC, 'C'); + } + } + + /** + * Set the decimal separator. + * + * @param bool $isunicode True when using Unicode mode. + */ + protected function setUnicodeMode(bool $isunicode): void + { + $this->isunicode = $isunicode; + // check if PCRE Unicode support is enabled + if ($this->isunicode && (@preg_match('/\pL/u', 'a') == 1)) { + $this->setSpaceRegexp('/(?!\xa0)[\s\p{Z}]/u'); + return; + } + + // PCRE unicode support is turned OFF + $this->setSpaceRegexp('/[^\S\xa0]/'); + } + + /** + * Set the pdf document base file name. + * If the file extension is present, it must be '.pdf' or '.PDF'. + * + * @param string $name File name. + */ + public function setPDFFilename(string $name): void + { + $bname = basename($name); + if (preg_match('/^[\w,\s-]+(\.pdf)?$/i', $bname) === 1) { + $this->pdffilename = $bname; + $this->encpdffilename = rawurlencode($bname); + } + } + + /** + * Set regular expression to detect withespaces or word separators. + * The pattern delimiter must be the forward-slash character "/". + * Some example patterns are: + *
+     * Non-Unicode or missing PCRE unicode support: "/[^\S\xa0]/"
+     * Unicode and PCRE unicode support: "/(?!\xa0)[\s\p{Z}]/u"
+     * Unicode and PCRE unicode support in Chinese mode: "/(?!\xa0)[\s\p{Z}\p{Lo}]/u"
+     * if PCRE unicode support is turned ON ("\P" is the negate class of "\p"):
+     *      \s     : any whitespace character
+     *      \p{Z}  : any separator
+     *      \p{Lo} : Unicode letter or ideograph that does not have lowercase and uppercase variants.
+     *      \xa0   : Unicode Character 'NO-BREAK SPACE' (U+00A0)
+     * 
+ * + * @param string $regexp regular expression (leave empty for default). + */ + public function setSpaceRegexp(string $regexp = '/[^\S\xa0]/'): void + { + $parts = explode('/', $regexp); + $this->spaceregexp = [ + 'r' => $regexp, + 'p' => (empty($parts[1]) ? '[\s]' : $parts[1]), + 'm' => (empty($parts[2]) ? '' : $parts[2]), + ]; + } + + /** + * Defines the way the document is to be displayed by the viewer. + * + * @param int|string $zoom The zoom to use. + * It can be one of the following string values or a number indicating the + * zooming factor to use. + * * fullpage: displays the entire page on screen * fullwidth: uses + * maximum width of window + * * real: uses real size (equivalent to 100% zoom) * default: uses + * viewer default mode + * @param string $layout The page layout. Possible values are: + * * SinglePage Display one page at a time + * * OneColumn Display the pages in one column + * * TwoColumnLeft Display the pages in two columns, + * with odd-numbered pages on the left + * * TwoColumnRight Display the pages in + * two columns, with odd-numbered pages + * on the right + * * TwoPageLeft Display the pages two at a time, + * with odd-numbered pages on the left + * * TwoPageRight Display the pages two at a time, + * with odd-numbered pages on the right + * @param string $mode A name object specifying how the document should be displayed when opened: + * * UseNone Neither document outline nor thumbnail images visible + * * UseOutlines Document outline visible + * * UseThumbs Thumbnail images visible + * * FullScreen Full screen, with no menu bar, window controls, + * or any other window visible + * * UseOC (PDF 1.5) Optional content group panel visible + * * UseAttachments (PDF 1.6) Attachments panel visible + */ + public function setDisplayMode( + int|string $zoom = 'default', + string $layout = 'SinglePage', + string $mode = 'UseNone' + ): static { + $this->display['zoom'] = (is_numeric($zoom) || in_array($zoom, $this::VALIDZOOM)) ? $zoom : 'default'; + $this->display['layout'] = $this->page->getLayout($layout); + $this->display['page'] = $this->page->getDisplay($mode); + return $this; + } + + // ===| BARCODE |======================================================= + + + /** + * Get a barcode PDF code. + * + * @param string $type Barcode type. + * @param string $code Barcode content. + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param int $width Barcode width in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each column. + * @param int $height Barcode height in user units (excluding padding). + * A negative value indicates the multiplication + * factor for each row. + * @param array{int, int, int, int} $padding Additional padding to add around the barcode + * (top, right, bottom, left) in user units. A + * negative value indicates the multiplication + * factor for each row or column. + * @param StyleDataOpt $style Array of style options. + * + * @throws BarcodeException in case of error + */ + public function getBarcode( + string $type, + string $code, + float $posx = 0, + float $posy = 0, + int $width = -1, + int $height = -1, + array $padding = [0, 0, 0, 0], + array $style = [] + ): string { + $model = $this->barcode->getBarcodeObj($type, $code, $width, $height, 'black', $padding); + $bars = $model->getBarsArrayXYWH(); + $out = ''; + $out .= $this->graph->getStartTransform(); + $out .= $this->graph->getStyleCmd($style); + foreach ($bars as $bar) { + $out .= $this->graph->getBasicRect(($posx + $bar[0]), ($posy + $bar[1]), $bar[2], $bar[3], 'f'); + } + + return $out . $this->graph->getStopTransform(); + } + + /** + * Add an embedded file. + * If a file with the same name already exists, it will be ignored. + * + * @param string $file File name (absolute or relative path). + * + * @throws PdfException in case of error. + */ + public function addEmbeddedFile(string $file): void + { + if (($this->pdfa == 1) || ($this->pdfa == 2)) { + throw new PdfException('Embedded files are not allowed in PDF/A mode version 1 and 2'); + } + + if (empty($file)) { + throw new PdfException('Empty file name'); + } + $filekey = basename((string) $file); + if ( + ! empty($filekey) + && empty($this->embeddedfiles[$filekey]) + ) { + $this->embeddedfiles[$filekey] = [ + 'a' => 0, + 'f' => ++$this->pon, + 'n' => ++$this->pon, + 'file' => (string) $file, + 'content' => '', + ]; + } + } + + /** + * Add string content as an embedded file. + * If a file with the same name already exists, it will be ignored. + * + * @param string $file File name to be used a key for the embedded file. + * @param string $content Content of the embedded file. + * + * @throws PdfException in case of error. + */ + public function addContentAsEmbeddedFile(string $file, string $content): void + { + if (($this->pdfa == 1) || ($this->pdfa == 2)) { + throw new PdfException('Embedded files are not allowed in PDF/A mode version 1 and 2'); + } + if (empty($file) || empty($content)) { + throw new PdfException('Empty file name or content'); + } + if (empty($this->embeddedfiles[$file])) { + $this->embeddedfiles[$file] = [ + 'a' => 0, + 'f' => ++$this->pon, + 'n' => ++$this->pon, + 'file' => $file, + 'content' => $content, + ]; + } + } + + // ===| ANNOTATION |==================================================== + + + /** + * Add an annotation and returns the object id. + * + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param string $txt Annotation text or alternate content. + * @param TAnnotOpts $opt Array of options (Annotation Types) - all lowercase. + * + * @return int Object ID. + */ + public function setAnnotation( + float $posx, + float $posy, + float $width, + float $height, + string $txt, + array $opt = [ + 'subtype' => 'text', + ] + ): int { + if (!empty($this->xobjtid)) { + // Store annotationparameters for later use on a XObject template. + $this->xobjects[$this->xobjtid]['annotations'][] = [ + 'n' => 0, + 'x' => $posx, + 'y' => $posy, + 'w' => $width, + 'h' => $height, + 'txt' => $txt, + 'opt' => $opt, + ]; + + return 0; + } + + $oid = ++$this->pon; + $this->annotation[$oid] = [ + 'n' => $oid, + 'x' => $posx, + 'y' => $posy, + 'w' => $width, + 'h' => $height, + 'txt' => $txt, + 'opt' => $opt, + ]; + switch (strtolower($opt['subtype'])) { + case 'fileattachment': + case 'sound': + $this->addEmbeddedFile($opt['fs']); + } + + // Add widgets annotation's icons + if (isset($opt['mk']['i']) && is_string($opt['mk']['i'])) { + $this->image->add($opt['mk']['i']); + } + + if (isset($opt['mk']['ri']) && is_string($opt['mk']['ri'])) { + $this->image->add($opt['mk']['ri']); + } + + if (isset($opt['mk']['ix']) && is_string($opt['mk']['ix'])) { + $this->image->add($opt['mk']['ix']); + } + + return $oid; + } + + /** + * Creates a link in the specified area. + * A link annotation represents either a hypertext link to a destination elsewhere in the document. + * + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param string $link URL to open when the link is clicked or an identifier returned by addInternalLink(). + * A single character prefix may be used to specify the link action: + * - '#' = internal destination + * - '%' = embedded PDF file + * - '*' = embedded generic file + * + * @return int Object ID (Add to a page via: $pdf->page->addAnnotRef($aoid);). + */ + public function setLink( + float $posx, + float $posy, + float $width, + float $height, + string $link, + ): int { + return $this->setAnnotation( + $posx, + $posy, + $width, + $height, + $link, + ['subtype' => 'Link'] + ); + } + + /** + * Defines the page and vertical position an internal link points to. + * + * @param int $page Page number. + * @param float $posy Vertical position. + * + * @return string Internal link identifier to be used with setLink(). + * + */ + public function addInternalLink(int $page = -1, float $posy = 0): string + { + $lnkid = '@' . (count($this->links) + 1); + $this->links[$lnkid] = [ + 'p' => ($page < 0) ? $this->page->getPageID() : $page, + 'y' => $posy, + ]; + return $lnkid; + } + + /** + * Add a named destination. + * + * @param string $name Named destination (must be unique). + * @param int $page Page number. + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * + * @return string Destination name. + */ + public function setNamedDestination( + string $name, + int $page = -1, + float $posx = 0, + float $posy = 0, + ): string { + $ename = $this->encrypt->encodeNameObject($name); + $this->dests[$ename] = [ + 'p' => ($page < 0) ? $this->page->getPageID() : $page, + 'x' => $posx, + 'y' => $posy, + ]; + return '#' . $ename; + } + + /** + * Add a bookmark entry. + * + * @param string $name Bookmark description that will be printed in the TOC. + * @param string $link (Optional) URL to open when the link is clicked + * or an identifier returned by addInternalLink(). + * A single character prefix may be used to specify the link action: + * - '#' = internal destination + * - '%' = embedded PDF file + * - '*' = embedded generic file + * @param int $level Bookmark level (minimum 0). + * + * @param int $page Page number. + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param string $fstyle Font style. + * Possible values are (case insensitive): + * - regular (default) + * - B: bold + * - I: italic + * - U: underline + * - D: strikeout (linethrough) + * - O: overline + * @param string $color Color name. + */ + public function setBookmark( + string $name, + string $link = '', + int $level = 0, + int $page = -1, + float $posx = 0, + float $posy = 0, + string $fstyle = '', + string $color = '', + ): void { + $maxlevel = ((count($this->outlines) > 0) ? (end($this->outlines)['l'] + 1) : 0); + $this->outlines[] = [ + 't' => $name, + 'u' => $link, + 'l' => (($level < 0) ? 0 : ($level > $maxlevel ? $maxlevel : $level)), + 'p' => (($page < 0) ? $this->page->getPageID() : $page), + 'x' => $posx, + 'y' => $posy, + 's' => strtoupper($fstyle), + 'c' => $color, + 'parent' => 0, + 'first' => -1, + 'last' => -1, + 'next' => -1, + 'prev' => -1, + ]; + } + + // ===| SIGNATURE |===================================================== + + /** + * Set User's Rights for the PDF Reader. + * WARNING: This is experimental and currently doesn't work because requires a private key. + * Check the PDF Reference 8.7.1 Transform Methods, + * Table 8.105 Entries in the UR transform parameters dictionary. + * + * @param TUserRights $rights User rights: + * - annots (string) Names specifying additional annotation-related usage rights for the document. + * Valid names in PDF 1.5 and later are /Create/Delete/Modify/Copy/Import/Export, which permit + * the user to perform the named operation on annotations. + * - document (string) Names specifying additional document-wide usage rights for the document. + * The only defined value is "/FullSave", which permits a user to save the document along with + * modified form and/or annotation data. + * - ef (string) Names specifying additional usage rights for named embedded files in the document. + * Valid names are /Create/Delete/Modify/Import, which permit the user to perform the named + * operation on named embedded files Names specifying additional embedded-files-related usage + * rights for the document. + * - enabled (bool) If true enable user's rights on PDF reader. + * - form (string) Names specifying additional form-field-related usage rights for the document. + * Valid names are: /Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate. + * - formex (string) Names specifying additional form-field-related usage rights. The only valid + * name is BarcodePlaintext, which permits text form field data to be encoded as a plaintext + * two-dimensional barcode. + * - signature (string) Names specifying additional signature-related usage rights for the document. + * The only defined value is /Modify, which permits a user to apply a digital signature to an + * existing signature form field or clear a signed signature form field. + */ + public function setUserRights(array $rights): void + { + $this->userrights = array_merge($this->userrights, $rights); + } + + /** + * Enable document signature (requires the OpenSSL Library). + * The digital signature improve document authenticity and integrity and allows + * to enable extra features on PDF Reader. + * + * To create self-signed signature: + * openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + * To export crt to p12: + * openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + * To convert pfx certificate to pem: + * openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes + * + * @param TSignature $data Signature data: + * - appearance (array) Signature appearance. + * - empty (bool) Array of empty signatures: + * - objid (int) Object id. + * - name (string) Name of the signature field. + * - page (int) Page number. + * - rect (array) Rectangle of the signature field. + * - name (string) Name of the signature field. + * - page (int) Page number. + * - rect (array) Rectangle of the signature field. + * - approval (bool) Enable approval signature eg. for PDF incremental update. + * - cert_type (int) The access permissions granted for this document. Valid values shall be: + * 1 = No changes to the document shall be permitted; + * any change to the document shall invalidate the signature; + * 2 = Permitted changes shall be filling in forms, instantiating page templates, and signing; + * other changes shall invalidate the signature; + * 3 = Permitted changes shall be the same as for 2, as well as annotation creation, + * deletion, and modification; + * other changes shall invalidate the signature. + * - extracerts (string) Specifies the name of a file containing a bunch of extra certificates + * to include in the signature + * which can for example be used to help the recipient to verify the certificate that you used. + * - info (array) Optional information. + * - ContactInfo (string) + * - Location (string) + * - Name (string) + * - Reason (string) + * - password (string) + * - privkey (string) Private key (string or filename prefixed with 'file://'). + * - signcert (string) Signing certificate (string or filename prefixed with 'file://'). + */ + public function setSignature(array $data): void + { + $this->signature = array_merge($this->signature, $data); + + if (empty($this->signature['signcert'])) { + throw new PdfException('Invalid signing certificate (signcert)'); + } + + if (empty($this->signature['privkey'])) { + $this->signature['privkey'] = $this->signature['signcert']; + } + + ++$this->pon; + $this->objid['signature'] = $this->pon; // Signature widget annotation object id. + ++$this->pon; // Signature appearance object id ($this->objid['signature'] + 1). + + $this->setSignAnnotRefs(); + + $this->sign = true; + } + + + /** + * Enable or disable the the Signature Approval + * + * @param bool $enabled It true enable the Signature Approval + */ + protected function enableSignatureApproval(bool $enabled = true): static + { + $this->sigapp = $enabled; + $this->page->enableSignatureApproval($this->sigapp); + return $this; + } + + /** + * Set the signature timestamp. + * + * @param TSignTimeStamp $data Signature timestamp data: + * - enabled (bool) If true enable timestamp signature. + * - host (string) Time Stamping Authority (TSA) server (prefixed with 'https://') + * - username (string) TSA username or authorization PEM file. + * - password (string) TSA password. + * - cert (string) cURL optional location of TSA certificate for authorization. + */ + public function setSignTimeStamp(array $data): void + { + $this->sigtimestamp = array_merge($this->sigtimestamp, $data); + + if ($this->sigtimestamp['enabled'] && empty($this->sigtimestamp['host'])) { + throw new PdfException('Invalid TSA host'); + } + } + + /** + * Get a signature appearance (page and rectangle coordinates). + * + * @param float $posx Abscissa of the upper-left corner. + * @param float $posy Ordinate of the upper-left corner. + * @param float $width Width of the signature area. + * @param float $heigth Height of the signature area. + * @param int $page Page number (pid). + * @param string $name Name of the signature. + * + * @return array{ + * 'name': string, + * 'page': int, + * 'rect': string, + * } Array defining page and rectangle coordinates of signature appearance. + */ + protected function getSignatureAppearanceArray( + float $posx = 0, + float $posy = 0, + float $width = 0, + float $heigth = 0, + int $page = -1, + string $name = '' + ): array { + $sigapp = []; + + $sigapp['page'] = ($page < 0) ? $this->page->getPageID() : $page; + $sigapp['name'] = (empty($name)) ? 'Signature' : $name; + + $pntx = $this->toPoints($posx); + $pnty = $this->toYUnit(($posy + $heigth), $this->page->getPage($sigapp['page'])['pheight']); + $pntw = $this->toPoints($width); + $pnth = $this->toPoints($heigth); + + $sigapp['rect'] = sprintf('%F %F %F %F', $pntx, $pnty, ($pntx + $pntw), ($pnty + $pnth)); + + return $sigapp; + } + + /** + * Set the digital signature appearance (a cliccable rectangle area to get signature properties). + * + * @param float $posx Abscissa of the upper-left corner. + * @param float $posy Ordinate of the upper-left corner. + * @param float $width Width of the signature area. + * @param float $heigth Height of the signature area. + * @param int $page option page number (if < 0 the current page is used). + * @param string $name Name of the signature. + */ + public function setSignatureAppearance( + float $posx = 0, + float $posy = 0, + float $width = 0, + float $heigth = 0, + int $page = -1, + string $name = '' + ): void { + $data = $this->getSignatureAppearanceArray($posx, $posy, $width, $heigth, $page, $name); + $this->signature['appearance']['page'] = $data['page']; + $this->signature['appearance']['name'] = $data['name']; + $this->signature['appearance']['rect'] = $data['rect']; + $this->setSignAnnotRefs(); + } + + /** + * Add an empty digital signature appearance (a cliccable rectangle area to get signature properties). + * + * @param float $posx Abscissa of the upper-left corner. + * @param float $posy Ordinate of the upper-left corner. + * @param float $width Width of the signature area. + * @param float $heigth Height of the signature area. + * @param int $page option page number (if < 0 the current page is used). + * @param string $name Name of the signature. + */ + public function addEmptySignatureAppearance( + float $posx = 0, + float $posy = 0, + float $width = 0, + float $heigth = 0, + int $page = -1, + string $name = '' + ): void { + ++$this->pon; + $data = $this->getSignatureAppearanceArray($posx, $posy, $width, $heigth, $page, $name); + $this->signature['appearance']['empty'][] = [ + 'objid' => $this->pon, + 'name' => $data['name'], + 'page' => $data['page'], + 'rect' => $data['rect'], + ]; + $this->setSignAnnotRefs(); + } + + /* + * Set the signature annotation references. + */ + protected function setSignAnnotRefs(): void + { + if (empty($this->objid['signature'])) { + return; + } + + if (!empty($this->signature['appearance']['page'])) { + $this->page->addAnnotRef($this->objid['signature'], $this->signature['appearance']['page']); + } + + if (empty($this->signature['appearance']['empty'])) { + return; + } + + foreach ($this->signature['appearance']['empty'] as $esa) { + $this->page->addAnnotRef($esa['objid'], $esa['page']); + } + } + + // ===| XOBJECT |======================================================= + + /** + * Create a new XObject template and return the object id. + * + * An XObject Template is a PDF block that is a self-contained description + * of any sequence of graphics objects (including path objects, text objects, + * and sampled images). An XObject Template may be painted multiple times, + * either on several pages or at several locations on the same page and + * produces the same results each time, subject only to the graphics state + * at the time it is invoked. + * + * @param float $width Width of the XObject. + * @param float $heigth Height of the XObject. + * @param ?TGTransparency $transpgroup Optional group attributes. + * + * @return string XObject template object ID. + */ + public function newXObjectTemplate( + float $width = 0, + float $heigth = 0, + ?array $transpgroup = null, + ): string { + $oid = ++$this->pon; + $tid = 'XT' . $oid; + $this->xobjtid = $tid; + + $region = $this->page->getRegion(); + + if (empty($width) || $width < 0) { + $width = $region['RW']; + } + + if (empty($heigth) || $heigth < 0) { + $heigth = $region['RH']; + } + + $this->xobjects[$tid] = [ + 'spot_colors' => [], + 'extgstate' => [], + 'gradient' => [], + 'font' => [], + 'image' => [], + 'xobject' => [], + 'annotations' => [], + 'id' => $tid, + 'n' => $oid, + 'x' => 0, + 'y' => 0, + 'w' => $width, + 'h' => $heigth, + 'outdata' => '', + 'transparency' => $transpgroup, + ]; + + return $tid; + } + + /** + * Exit from the XObject template mode. + * + * See: newXObjectTemplate. + */ + public function exitXObjectTemplate(): void + { + $this->xobjtid = ''; + } + + /** + * Returns the PDF code to render the specified XObject template. + * + * See: newXObjectTemplate. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param string $valign Vertical alignment inside the specified box: T=top; C=center; B=bottom. + * @param string $halign Horizontal alignment inside the specified box: L=left; C=center; R=right. + * + * @return string The PDF code to render the specified XObject template. + */ + public function getXObjectTemplate( + string $tid, + float $posx = 0, + float $posy = 0, + float $width = 0, + float $height = 0, + string $valign = 'T', + string $halign = 'L', + ): string { + $this->xobjtid = ''; + $region = $this->page->getRegion(); + + if (empty($this->xobjects[$tid])) { + return ''; + } + + $xobj = $this->xobjects[$tid]; + + if (empty($width) || $width < 0) { + $width = min($xobj['w'], $region['RW']); + } + + if (empty($height) || $height < 0) { + $height = min($xobj['h'], $region['RH']); + } + + $tplx = $this->cellHPos($posx, $width, $halign, $this->defcell); + $tply = $this->cellVPos($posy, $height, $valign, $this->defcell); + + $this->bbox[] = [ + 'x' => $tplx, + 'y' => $tply, + 'w' => $width, + 'h' => $height, + ]; + + $ctm = [ + 0 => ($width / $xobj['w']), + 1 => 0, + 2 => 0, + 3 => ($height / $xobj['h']), + 4 => $this->toPoints($tplx), + 5 => $this->toYPoints($tply + $height), + ]; + + $out = $this->graph->getStartTransform(); + $out .= $this->graph->getTransformation($ctm); + $out .= '/' . $xobj['id'] . ' Do' . "\n"; + $out .= $this->graph->getStopTransform(); + + if (!empty($xobj['annotations'])) { + foreach ($xobj['annotations'] as $annot) { + // transform original coordinates + $clt = $this->graph->getCtmProduct( + $ctm, + array( + 1, + 0, + 0, + 1, + $this->toPoints($annot['x']), + $this->toPoints(-$annot['y']), + ), + ); + $anx = $this->toUnit($clt[4]); + $any = $this->toYUnit($clt[5] + $this->toUnit($height)); + + $crb = $this->graph->getCtmProduct( + $ctm, + array( + 1, + 0, + 0, + 1, + $this->toPoints(($annot['x'] + $annot['w'])), + $this->toPoints((-$annot['y'] - $annot['h'])), + ), + ); + $anw = $this->toUnit($crb[4]) - $anx; + $anh = $this->toYUnit($crb[5] + $this->toUnit($height)) - $any; + + $out .= $this->setAnnotation( + $anx, + $any, + $anw, + $anh, + $annot['txt'], + $annot['opt'] + ); + } + } + + return $out; + } + + /** + * Add the specified raw PDF content to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param string $data The raw PDF content data to add. + */ + public function addXObjectContent(string $tid, string $data): void + { + $this->xobjects[$tid]['outdata'] .= $data; + } + + /** + * Add the specified XObject ID to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param string $key The XObject key to add. + */ + public function addXObjectXObjectID(string $tid, string $key): void + { + $this->xobjects[$tid]['xobject'][] = $key; + } + + /** + * Add the specified Image ID to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param int $key TheImage key to add. + */ + public function addXObjectImageID(string $tid, int $key): void + { + $this->xobjects[$tid]['image'][] = $key; + } + + /** + * Add the specified Font ID to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param string $key The Font key to add. + */ + public function addXObjectFontID(string $tid, string $key): void + { + $this->xobjects[$tid]['font'][] = $key; + } + + /** + * Add the specified Gradient ID to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param int $key The Gradient key to add. + */ + public function addXObjectGradientID(string $tid, int $key): void + { + $this->xobjects[$tid]['gradient'][] = $key; + } + + /** + * Add the specified ExtGState ID to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param int $key The ExtGState key to add. + */ + public function addXObjectExtGStateID(string $tid, int $key): void + { + $this->xobjects[$tid]['extgstate'][] = $key; + } + + /** + * Add the specified SpotColor ID to the XObject template. + * + * @param string $tid The XObject Template object as returned by the newXObjectTemplate method. + * @param string $key The SpotColor key to add. + */ + public function addXObjectSpotColorID(string $tid, string $key): void + { + $this->xobjects[$tid]['spot_colors'][] = $key; + } + + // ===| LAYERS |======================================================== + + /** + * Creates and return a new PDF Layer. + * + * @param string $name Layer name (only a-z letters and numbers). Leave empty for automatic name. + * @param array{'view'?: bool, 'design'?: bool} $intent intended use of the graphics in the layer. + * @param bool $print Set the printability of the layer. + * @param bool $view Set the visibility of the layer. + * @param bool $lock Set the lock state of the layer. + * + * @return string + */ + public function newLayer( + string $name = '', + array $intent = [], + bool $print = true, + bool $view = true, + bool $lock = true, + ): string { + $layer = sprintf('LYR%03d', (count($this->pdflayer) + 1)); + $name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $name); + if (empty($name)) { + $name = $layer; + } + + $intarr = []; + if (!empty($intent['view'])) { + $intarr[] = '/View'; + } + if (!empty($intent['design'])) { + $intarr[] = '/Design'; + } + + $this->pdflayer[] = array( + 'layer' => $layer, + 'name' => $name, + 'intent' => implode(' ', $intarr), + 'print' => $print, + 'view' => $view, + 'lock' => $lock, + 'objid' => 0, + ); + + return ' /OC /' . $layer . ' BDC' . "\n"; + } + + public function closeLayer(): string + { + return 'EMC' . "\n"; + } + + // ===| TOC |=========================================================== + + /** + * Add a Table of Contents (TOC) to the document. + * The bookmars are created via the setBookmark() method. + * + * @param int $page Page number. + * @param float $posx Abscissa of the upper-left corner. + * @param float $posy Ordinate of the upper-left corner. + * @param float $width Width of the signature area. + * @param bool $rtl Right-To-Left - If true prints the TOC in RTL mode. + * @param StyleDataOpt $linestyle Line style for the space filler. + * + * @return void + */ + public function addTOC( + int $page = -1, + float $posx = 0, + float $posy = 0, + float $width = 0, + bool $rtl = false, + array $linestyle = [ + 'lineWidth' => 0.3, + 'lineCap' => 'butt', + 'lineJoin' => 'miter', + 'dashArray' => [1,1], + 'dashPhase' => 0, + 'lineColor' => 'gray', + 'fillColor' => '', + ], + ): void { + if (empty($width) || $width < 0) { + $width = $this->page->getRegion()['RW']; + } + + $curfont = $this->font->getCurrentFont(); + + // width to accomodate the number (max 9 digits space). + $chrw = $this->toUnit($curfont['cw'][48] ?? $curfont['dw']); // 48 ASCII = '0'. + $indent = 2 * $chrw; // each level is indented by 2 characters. + $numwidth = 9 * $chrw; // maximum 9 digits to print the page number. + $txtwidth = ($width - $numwidth); + + $cellSpaceT = $this->toUnit( + $this->defcell['margin']['T'] + + $this->defcell['padding']['T'] + ); + $cellSpaceB = $this->toUnit( + $this->defcell['margin']['B'] + + $this->defcell['padding']['B'] + ); + $cellSpaceH = $chrw + $this->toUnit( + $this->defcell['margin']['L'] + + $this->defcell['margin']['L'] + + $this->defcell['padding']['R'] + + $this->defcell['padding']['R'] + ); + + $aligntext = 'L'; + $alignnum = 'R'; + $txt_posx = $posx; + $num_posx = $posx + $txtwidth; + if ($rtl) { + $aligntext = 'R'; + $alignnum = 'L'; + $txt_posx = $posx + $numwidth; + $num_posx = $posx; + } + + $pid = ($page < 0) ? $this->page->getPageID() : $page; + + foreach ($this->outlines as $bmrk) { + $font = $this->font->cloneFont( + $this->pon, + $curfont['idx'], + $bmrk['s'] . (($bmrk['l'] == 0) ? 'B' : ''), + (int) round($curfont['size'] - $bmrk['l']), + $curfont['spacing'], + $curfont['stretching'], + ); + + $region = $this->page->getRegion($pid); + + if (($posy + $cellSpaceT + $cellSpaceB + $font['height']) > $region['RH']) { + $this->page->getNextRegion($pid); + $curpid = $this->page->getPageId(); + if ($curpid > $pid) { + $pid = $curpid; + $this->setPageContext($pid); + } + $region = $this->page->getRegion($pid); + $posy = 0; // $region['RY']; + } + + $this->page->addContent($this->graph->getStartTransform(), $pid); + $this->page->addContent($font['out'], $pid); + + if (! empty($bmrk['c'])) { + $col = $this->color->getPdfColor($bmrk['c']); + $this->page->addContent($col, $pid); + } + + if (empty($bmrk['u'])) { + $bmrk['u'] = $this->addInternalLink($bmrk['p'], $bmrk['y']); + } + + $offset = ($indent * $bmrk['l']); + // add bookmark text + $this->addTextCell( + $bmrk['t'], + $pid, + $txt_posx, + $posy, + $txtwidth, + 0, + $offset, + 0, + 'T', + $aligntext, + ); + + $bbox = $this->getLastBBox(); + $wtxt = $bbox['w']; + + $pageid = $this->page->getPageID(); + if ($pageid > $pid) { + $this->page->addContent($this->graph->getStopTransform(), $pid); + $lnkid = $this->setLink( + $posx, + $posy, + $width, + ($region['RH'] - $posy), + $bmrk['u'], + ); + $this->page->addAnnotRef($lnkid, $pid); + $pid = $pageid; + $this->page->addContent($this->graph->getStartTransform(), $pid); + $this->page->addContent($font['out'], $pid); + } + + $posy = $bbox['y'] - $cellSpaceT; // align number with the last line of the text + + // add page number + $this->addTextCell( + (string) ($bmrk['p'] + 1), + $pid, + $num_posx, + $posy, + $numwidth, + 0, + 0, + 0, + 'T', + $alignnum, + ); + + $bbox = $this->getLastBBox(); + $wnum = $bbox['w']; + + // add line to fill the gap between text and number + $line_posx = ($cellSpaceH + $offset + $posx + ($rtl ? $wnum : $wtxt)); + $line_posy = $bbox['y'] + $this->toUnit($font['ascent']); + $line = $this->graph->getLine( + $line_posx, + $line_posy, + $line_posx + ($width - $wtxt - $wnum - (2 * $cellSpaceH) - $offset), + $line_posy, + $linestyle, + ); + $this->page->addContent($line, $pid); + + $lnkid = $this->setLink( + $posx, + $bbox['y'], + $width, + $bbox['h'], + $bmrk['u'], + ); + $this->page->addAnnotRef($lnkid, $pid); + + $this->page->addContent($this->graph->getStopTransform(), $pid); + + // Move to the next line. + $posy = $bbox['y'] + $bbox['h'] + $cellSpaceB; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/Text.php b/vendor/tecnickcom/tc-lib-pdf/src/Text.php new file mode 100644 index 0000000..9d482a2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/src/Text.php @@ -0,0 +1,1703 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Com\Tecnick\Pdf; + +use Com\Tecnick\Pdf\Exception as PdfException; +use Com\Tecnick\Unicode\Bidi; +use Com\Tecnick\Unicode\Data\Type as UnicodeType; + +/** + * Com\Tecnick\Pdf\Text + * + * Text PDF data + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * @phpstan-import-type TTextDims from \Com\Tecnick\Pdf\Font\Stack + * @phpstan-import-type StyleDataOpt from \Com\Tecnick\Pdf\Cell + * @phpstan-import-type TCellDef from \Com\Tecnick\Pdf\Cell + * @phpstan-import-type PageInputData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type PageData from \Com\Tecnick\Pdf\Page\Box + * @phpstan-import-type TFontMetric from \Com\Tecnick\Pdf\Font\Stack + * @phpstan-import-type TBBox from \Com\Tecnick\Pdf\Base + * @phpstan-import-type TStackBBox from \Com\Tecnick\Pdf\Base + * + * @phpstan-type TextShadow array{ + * 'xoffset': float, + * 'yoffset': float, + * 'opacity': float, + * 'mode': string, + * 'color': string, + * } + * + * @phpstan-type TextLinePos array{ + * 'pos': int, + * 'chars': int, + * 'spaces': int, + * 'septype': string, + * 'totwidth': float, + * 'totspacewidth': float, + * 'words': int, + * } + */ +abstract class Text extends \Com\Tecnick\Pdf\Cell +{ + /** + * The Unicode character used for hyphenation. + * (45) '-' + * Type: 'ES' (European Number Separator) + */ + protected const ORD_HYPHEN = 0x002D; + + /* + * The Unicode character used for non-breaking space. + * (160) 'NO-BREAK SPACE' + * Type: 'CS' (Common Separator) + */ + protected const ORD_NO_BREAK_SPACE = 0x00A0; + + /* + * The Unicode character used for soft hyphen. + * (173) 'SHY' (SOFT HYPHEN) + * Type: 'BN' (Boundary Neutral) + */ + protected const ORD_SOFT_HYPHEN = 0x00AD; + + /* + * The Unicode character used for zero width space. + * (8203) 'ZERO WIDTH SPACE' + * Type: 'BN' (Boundary Neutral) + */ + protected const ORD_ZERO_WIDTH_SPACE = 0x200B; + + /** + * The array of hyphenation patterns used for text processing. + * + * @var array Array of hyphenation patterns. + */ + protected $hyphen_patterns = []; + + /** + * Dafault value for $dim array. + * + * @var TTextDims + */ + protected const DIM_DEFAULT = [ + 'chars' => 0, + 'spaces' => 0, + 'words' => 0, + 'totwidth' => 0.0, + 'totspacewidth' => 0.0, + 'split' => [], + ]; + + + + /** + * If true, ZERO-WIDTH-SPACE characters are automatically added + * to the text to allow line breaking after some non-letter characters. + * + * @var bool + */ + protected $autozerowidthbreaks = false; + + /** + * Returns the PDF code to render a text block inside a rectangular cell. + * + * @param string $txt Text string to be processed. + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $height Height. + * @param float $offset Horizontal offset to apply to the line start. + * @param float $linespace Additional space to add between lines. + * @param string $valign Text vertical alignment inside the cell: T=top; C=center; B=bottom. + * @param string $halign Text horizontal alignment inside the cell: L=left; C=center; R=right; J=justify. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * @param array $styles Cell border styles (see: getCurrentStyleArray). + * @param float $strokewidth Stroke width. + * @param float $wordspacing Word spacing (use it only when justify == false). + * @param float $leading Leading. + * @param float $rise Text rise. + * @param bool $jlast If true does not justify the last line when $halign == J. + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $underline If true underline the text. + * @param bool $linethrough If true line through the text. + * @param bool $overline If true overline the text. + * @param bool $clip If true activate clipping mode. + * @param bool $drawcell If true draw the cell border. + * @param string $forcedir If 'R' forces RTL, if 'L' forces LTR. + * @param ?TextShadow $shadow Text shadow parameters. + */ + public function getTextCell( + string $txt, + float $posx = 0, + float $posy = 0, + float $width = 0, + float $height = 0, + float $offset = 0, + float $linespace = 0, + string $valign = 'C', + string $halign = 'C', + ?array $cell = null, + array $styles = [], + float $strokewidth = 0, + float $wordspacing = 0, + float $leading = 0, + float $rise = 0, + bool $jlast = true, + bool $fill = true, + bool $stroke = false, + bool $underline = false, + bool $linethrough = false, + bool $overline = false, + bool $clip = false, + bool $drawcell = true, + string $forcedir = '', + ?array $shadow = null, + ): string { + if ($txt === '') { + return ''; + } + + $ordarr = []; + $dim = self::DIM_DEFAULT; + $this->prepareText($txt, $ordarr, $dim, $forcedir); + $txt_pwidth = $dim['totwidth']; + + $cell = $this->adjustMinCellPadding($styles, $cell); + + $pntx = $this->toPoints($posx); + + $cell_pwidth = $this->toPoints($width); + if ($width <= 0) { + $cell_pwidth = min( + $this->cellMaxWidth($pntx, $cell), + $this->cellMinWidth( + $txt_pwidth, + $halign, + $cell + ), + ); + } + + $txt_pwidth = $this->textMaxWidth($cell_pwidth, $cell); + $line_width = $this->toUnit($txt_pwidth); + + $curfont = $this->font->getCurrentFont(); + $fontascent = $this->toUnit($curfont['ascent']); + + $lines = $this->splitLines( + $ordarr, + $dim, + $txt_pwidth, + $this->toPoints($offset) + ); + $numlines = count($lines); + $txt_pheight = (($numlines * $curfont['height']) + (($numlines - 1) * $this->toPoints($linespace))); + + $cell_pheight = $this->toPoints($height); + if ($height <= 0) { + $cell_pheight = $this->cellMinHeight($txt_pheight, $valign, $cell); + } + + $pnty = $this->toYPoints($posy); + $cell_pnty = ($pnty - $cell['margin']['T']); + + $txt_pnty = $this->textVPosFromCell( + $cell_pnty, + $cell_pheight, + $txt_pheight, + $valign, + $cell + ); + + + $cell_pntx = $this->cellHPos($pntx, $cell_pwidth, 'L', $cell); + $txt_pntx = $this->textHPosFromCell( + $cell_pntx, + $cell_pwidth, + $txt_pwidth, + $halign, + $cell + ); + + $txt_out = $this->outTextLines( + $ordarr, + $lines, + $this->toUnit($txt_pntx), + $this->toYUnit($txt_pnty), + $line_width, + $offset, + $fontascent, + $linespace, + $strokewidth, + $wordspacing, + $leading, + $rise, + $halign, + $jlast, + $fill, + $stroke, + $underline, + $linethrough, + $overline, + $clip, + $shadow, + ); + + if (!$drawcell) { + return $txt_out; + } + + $cell_out = $this->drawCell( + $cell_pntx, + $cell_pnty, + $cell_pwidth, + $cell_pheight, + $styles, + $cell, + ); + + return $cell_out . $txt_out; + } + + /** + * Adds a text block inside a rectangular cell. + * Accounts for automatic line, page and region breaks. + * + * @param string $txt Text string to be processed. + * @param int $pid Page index. Omit or set it to -1 for the current page ID. + * @param float $posx Abscissa of upper-left corner relative to the region origin X coordinate. + * @param float $posy Ordinate of upper-left corner relative to the region origin Y coordinate. + * @param float $width Width. + * @param float $height Height. + * @param float $offset Horizontal offset to apply to the line start. + * @param float $linespace Additional space to add between lines. + * @param string $valign Text vertical alignment inside the cell: T=top; C=center; B=bottom. + * @param string $halign Text horizontal alignment inside the cell: L=left; C=center; R=right; J=justify. + * @param ?TCellDef $cell Optional to overwrite cell parameters for padding, margin etc. + * @param array $styles Cell border styles (see: getCurrentStyleArray). + * @param float $strokewidth Stroke width. + * @param float $wordspacing Word spacing (use it only when justify == false). + * @param float $leading Leading. + * @param float $rise Text rise. + * @param bool $jlast If true does not justify the last line when $halign == J. + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $underline If true underline the text. + * @param bool $linethrough If true line through the text. + * @param bool $overline If true overline the text. + * @param bool $clip If true activate clipping mode. + * @param bool $drawcell If true draw the cell border. + * @param string $forcedir If 'R' forces RTL, if 'L' forces LTR. + * @param ?TextShadow $shadow Text shadow parameters. + */ + public function addTextCell( + string $txt, + int $pid = -1, + float $posx = 0, + float $posy = 0, + float $width = 0, + float $height = 0, + float $offset = 0, + float $linespace = 0, + string $valign = 'T', + string $halign = '', + ?array $cell = null, + array $styles = [], + float $strokewidth = 0, + float $wordspacing = 0, + float $leading = 0, + float $rise = 0, + bool $jlast = true, + bool $fill = true, + bool $stroke = false, + bool $underline = false, + bool $linethrough = false, + bool $overline = false, + bool $clip = false, + bool $drawcell = true, + string $forcedir = '', + ?array $shadow = null, + ): void { + if ($txt === '') { + return; + } + + if ($pid < 0) { + $pid = $this->page->getPageId(); + } + + if ($halign == '') { + $halign = $this->rtl ? 'R' : 'L'; + } + + $cstyles = $styles; + if ($cstyles === []) { + $cstyles = ['all' => $this->graph->getCurrentStyleArray()]; + } + if ($drawcell && (count($cstyles) == 1) && (!empty($cstyles['all']))) { + $cstyles[0] = $cstyles['all']; + $cstyles[1] = $cstyles['all']; + $cstyles[2] = $cstyles['all']; + $cstyles[3] = $cstyles['all']; + } + + $ordarr = []; + $dim = self::DIM_DEFAULT; + $this->prepareText($txt, $ordarr, $dim, $forcedir); + $txt_pwidth = $dim['totwidth']; + + $curfont = $this->font->getCurrentFont(); + $fontascent = $this->toUnit($curfont['ascent']); + $fontheight = $this->toUnit($curfont['height']); + + $ocell = $this->adjustMinCellPadding($cstyles, $cell); + $cell = $ocell; + + $cell_pntw = $this->toPoints($width); + $cell_pnth = $this->toPoints($height); + + $region_max_lines = 1; + $num_blocks = 0; + + // loop through the regions to fit all available text + while ($region_max_lines > 0) { + $region = $this->page->getRegion($pid); + $rposy = ($posy + $region['RY']); + $cell_pnty = ($this->toYPoints($rposy) - $cell['margin']['T']); + $cell_posy = $this->toYUnit($cell_pnty); + + $rposx = ($posx + $region['RX']); + $rpntx = $this->toPoints($rposx); + + $cell_pwidth = $cell_pntw; + if ($width <= 0) { + $cell_pwidth = min( + $this->cellMaxWidth($rpntx, $cell), + $this->cellMinWidth( + $txt_pwidth, + $halign, + $cell + ), + ); + } + + $txt_pwidth = $this->textMaxWidth($cell_pwidth, $cell); + $line_width = $this->toUnit($txt_pwidth); + + $cell_pntx = ($rpntx + $cell['margin']['L']); + $txt_pntx = $this->textHPosFromCell( + $cell_pntx, + $cell_pwidth, + $txt_pwidth, + $halign, + $cell + ); + $line_posx = $this->toUnit($txt_pntx); + + $lines = $this->splitLines( + $ordarr, + $dim, + $txt_pwidth, + $this->toPoints($offset) + ); + $numlines = count($lines); + + $vspace = $this->textMaxHeight($region['RH'] + $cell['margin']['B'] + $cell['padding']['B'] - $cell_posy); + $region_max_lines = (int)(($vspace + $linespace) / ($fontheight + $linespace)); + $lastblock = ($numlines <= $region_max_lines); + + $rlines = $lines; + if ($numlines > $region_max_lines) { + $rlines = array_slice($lines, 0, $region_max_lines); + } + + $txt_pheight = (($numlines * $curfont['height']) + (($numlines - 1) * $this->toPoints($linespace))); + + $cell_pheight = $cell_pnth; + if ($height <= 0) { + $cell_pheight = $this->cellMinHeight($txt_pheight, $valign, $cell); + } + + $txt_pnty = $this->textVPosFromCell( + $cell_pnty, + $cell_pheight, + $txt_pheight, + $valign, + $cell + ); + $line_posy = $this->toYUnit($txt_pnty); + + $out = $this->outTextLines( + $ordarr, + $rlines, + $line_posx, + $line_posy, + $line_width, + $offset, + $fontascent, + $linespace, + $strokewidth, + $wordspacing, + $leading, + $rise, + $halign, + ($lastblock and $jlast), + $fill, + $stroke, + $underline, + $linethrough, + $overline, + $clip, + $shadow, + ); + + if ($drawcell) { + $styles = $cstyles; + if ($num_blocks > 0) { + $styles[0]['lineWidth'] = 0; + empty($styles[0]['fillColor']) ? null : ($styles[0]['lineColor'] = $styles[0]['fillColor']); + if (!$lastblock) { + $styles[2]['lineWidth'] = 0; + empty($styles[2]['fillColor']) ? null : ($styles[2]['lineColor'] = $styles[2]['fillColor']); + } + } + + $out = $this->drawCell( + $cell_pntx, + $cell_pnty, + $cell_pwidth, + $cell_pheight, + $styles, + $cell, + ) . $out; + } + + $this->page->addContent($out, $pid); + + if ($lastblock) { + return; + } + + $ordarr = array_slice($ordarr, $lines[$region_max_lines]['pos']); + $dim = $this->font->getOrdArrDims($ordarr); // @phpstan-ignore argument.type + $posy = 0; + $offset = 0; + $num_blocks++; + + $cell = $ocell; + $cell['margin']['T'] = 0; + $cell['margin']['B'] = 0; + + $this->page->getNextRegion($pid); + $curpid = $this->page->getPageId(); + if ($curpid > $pid) { + $pid = $curpid; + $this->setPageContext($pid); + } + } + } + + /** + * Returns the PDF code to render a contiguous text block with automatic line breaks. + * + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param array $lines Array of lines metrics. + * @param float $posx Abscissa of upper-left corner. + * @param float $posy Ordinate of upper-left corner. + * @param float $width Width. + * @param float $offset Horizontal offset to apply to the line start. + * @param float $fontascent Font ascent in user units. + * @param float $linespace Additional space to add between lines. + * @param float $strokewidth Stroke width. + * @param float $wordspacing Word spacing (use it only when justify == false). + * @param float $leading Leading. + * @param float $rise Text rise. + * @param string $halign Text horizontal alignment inside the cell: L=left; C=center; R=right; J=justify. + * @param bool $jlast If true does not justify the last line when $halign == J. + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $underline If true underline the text. + * @param bool $linethrough If true line through the text. + * @param bool $overline If true overline the text. + * @param bool $clip If true activate clipping mode. + * @param ?TextShadow $shadow Text shadow parameters. + * + * @return string PDF code to render the text. + */ + protected function outTextLines( + array $ordarr, + array $lines, + float $posx, + float $posy, + float $width, + float $offset, + float $fontascent, + float $linespace = 0, + float $strokewidth = 0, + float $wordspacing = 0, + float $leading = 0, + float $rise = 0, + string $halign = '', + bool $jlast = true, + bool $fill = true, + bool $stroke = false, + bool $underline = false, + bool $linethrough = false, + bool $overline = false, + bool $clip = false, + ?array $shadow = null, + ): string { + if ($ordarr === [] || $lines === []) { + return ''; + } + + if ($halign == '') { + $halign = $this->rtl ? 'R' : 'L'; + } + + $num_lines = count($lines); + $lastline = ($num_lines - 1); + + $line_posx = $posx + $offset; + $line_posy = $posy + $fontascent; + + $out = ''; + foreach ($lines as $i => $data) { + $line_ordarr = array_slice($ordarr, $data['pos'], $data['chars']); + $line_ordarr = $this->removeOrdArrSoftHyphens($line_ordarr); + $line_txt = implode('', $this->uniconv->ordArrToChrArr($line_ordarr)); + $line_dim = [ + 'chars' => $data['chars'], + 'spaces' => $data['spaces'], + 'totwidth' => $data['totwidth'], + 'totspacewidth' => $data['totspacewidth'], + 'words' => $data['words'], + 'split' => [], + ]; + + $cell_width = ($width - $offset); + $txt_posx = $this->toUnit( + $this->textHPosFromCell( + $this->toPoints($line_posx), + $this->toPoints($cell_width), + $line_dim['totwidth'], + $halign, + static::ZEROCELL, // @phpstan-ignore argument.type + ) + ); + + $jwidth = 0; + if (($halign == 'J') && ($data['septype'] != 'B') && (($i < $lastline) || !$jlast)) { + $jwidth = $cell_width; + } + + $out .= $this->getOutTextLine( + $line_txt, + $line_ordarr, + $line_dim, + $txt_posx, + $line_posy, + $jwidth, + $strokewidth, + $wordspacing, + $leading, + $rise, + $fill, + $stroke, + $underline, + $linethrough, + $overline, + $clip, + $shadow, + ); + + $offset = 0; + $line_posx = $posx; + $bbox = $this->getLastBBox(); + $line_posy = ($bbox['y'] + $bbox['h'] + $fontascent + $linespace); + } + + return $out; + } + + /** + * Returns the PDF code to render a single line of text. + * + * @param string $txt Text string to be processed. + * @param float $posx X position relative to the start of the current line. + * @param float $posy Y position relative to the start of the current line (font baseline). + * @param float $width Desired string width to force justification via word spacing (0 = automatic). + * @param float $strokewidth Stroke width. + * @param float $wordspacing Word spacing (use it only when width == 0). + * @param float $leading Leading. + * @param float $rise Text rise. + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $underline If true underline the text. + * @param bool $linethrough If true line through the text. + * @param bool $overline If true overline the text. + * @param bool $clip If true activate clipping mode. + * @param string $forcedir If 'R' forces RTL, if 'L' forces LTR. + * @param ?TextShadow $shadow Text shadow parameters. + */ + public function getTextLine( + string $txt, + float $posx = 0, + float $posy = 0, + float $width = 0, + float $strokewidth = 0, + float $wordspacing = 0, + float $leading = 0, + float $rise = 0, + bool $fill = true, + bool $stroke = false, + bool $underline = false, + bool $linethrough = false, + bool $overline = false, + bool $clip = false, + string $forcedir = '', + ?array $shadow = null, + ): string { + if ($txt === '') { + return ''; + } + + $ordarr = []; + $dim = self::DIM_DEFAULT; + $this->prepareText($txt, $ordarr, $dim, $forcedir); + + return $this->getOutTextLine( + $txt, + $ordarr, + $dim, // @phpstan-ignore argument.type + $posx, + $posy, + $width, + $strokewidth, + $wordspacing, + $leading, + $rise, + $fill, + $stroke, + $underline, + $linethrough, + $overline, + $clip, + $shadow, + ); + } + + /** + * Returns the PDF code to render a single line of text. + * + * @param string $txt Text string to be processed. + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param TTextDims $dim Array of dimensions + * @param float $posx X position relative to the start of the current line. + * @param float $posy Y position relative to the start of the current line (font baseline). + * @param float $width Desired string width to force justification via word spacing (0 = automatic). + * @param float $strokewidth Stroke width. + * @param float $wordspacing Word spacing (use it only when width == 0). + * @param float $leading Leading. + * @param float $rise Text rise. + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $underline If true underline the text. + * @param bool $linethrough If true line through the text. + * @param bool $overline If true overline the text. + * @param bool $clip If true activate clipping mode. + * @param ?TextShadow $shadow Text shadow parameters. + */ + protected function getOutTextLine( + string $txt, + array $ordarr, + array $dim, + float $posx = 0, + float $posy = 0, + float $width = 0, + float $strokewidth = 0, + float $wordspacing = 0, + float $leading = 0, + float $rise = 0, + bool $fill = true, + bool $stroke = false, + bool $underline = false, + bool $linethrough = false, + bool $overline = false, + bool $clip = false, + ?array $shadow = null, + ): string { + if ($txt === '' || $ordarr === [] || $dim === []) { + return ''; + } + + $out = ''; + + if (!empty($shadow)) { + if ($shadow['xoffset'] < 0) { + $posx += $shadow['xoffset']; + } + + if ($shadow['yoffset'] < 0) { + $posy += $shadow['yoffset']; + } + + $out .= $this->graph->getStartTransform(); + $out .= $this->color->getPdfColor($shadow['color'], false); + $out .= $this->graph->getAlpha($shadow['opacity'], $shadow['mode']); + $out .= $this->outTextLine( + $txt, + $ordarr, + $dim, + $posx + $shadow['xoffset'], + $posy + $shadow['yoffset'], + $width, + 0, + $wordspacing, + $leading, + $rise, + true, + false, + false, + false, + false, + false, + ); + $out .= $this->graph->getStopTransform(); + } + + return $out . $this->outTextLine( + $txt, + $ordarr, + $dim, + $posx, + $posy, + $width, + $strokewidth, + $wordspacing, + $leading, + $rise, + $fill, + $stroke, + $underline, + $linethrough, + $overline, + $clip, + ); + } + + /** + * Cleanup the input text, convert it to UTF-8 array and get the dimensions. + * + * @param string $txt Clean text string to be processed. + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param TTextDims $dim Array of dimensions + * @param string $forcedir If 'R' forces RTL, if 'L' forces LTR. + */ + protected function prepareText( + string &$txt, + array &$ordarr, + array &$dim, + string $forcedir = '', + ): void { + if ($txt === '') { + return; + } + + $txt = $this->cleanupText($txt); + $ordarr = $this->uniconv->strToOrdArr($txt); // @phpstan-ignore parameterByRef.type + + if ($this->isunicode && !$this->font->isCurrentByteFont()) { + $bidi = new Bidi($txt, null, $ordarr, $forcedir); + $ordarr = $this->replaceUnicodeChars($bidi->getOrdArray()); // @phpstan-ignore argument.type + } + + if (!empty($this->hyphen_patterns)) { + $ordarr = $this->hyphenateTextOrdArr( + $this->hyphen_patterns, + $ordarr, // @phpstan-ignore argument.type + ); + } + + if ($this->autozerowidthbreaks) { + $ordarr = $this->addOrdArrBreakPoints($ordarr); // @phpstan-ignore argument.type + } + + $dim = $this->font->getOrdArrDims($ordarr); // @phpstan-ignore argument.type + } + + /** + * Split the text into lines to fit the specified width. + * + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param TTextDims $dim Array of dimensions. + * @param float $pwidth Max line width in internal points. + * @param float $poffset Horizontal offset to apply to the line start in internal points. + * + * @return array Array of lines metrics. + */ + protected function splitLines( + array $ordarr, + array $dim, + float $pwidth, + float $poffset = 0, + ): array { + if (empty($ordarr)) { + // no lines + return []; + } + + $line_width = ($pwidth - $poffset); + + if ($dim['totwidth'] <= $line_width) { + // the input text fits in a single line + return [[ + 'pos' => 0, + 'chars' => $dim['chars'], + 'spaces' => $dim['spaces'], + 'septype' => 'BN', + 'totwidth' => $dim['totwidth'], + 'totspacewidth' => $dim['totspacewidth'], + 'words' => $dim['words'], + ]]; + } + + $lines = []; + $posstart = 0; + $posend = 0; + $prev_spaces = 0; + $prev_totwidth = 0; + $prev_totspacewidth = 0; + $prev_words = 0; + $num_words = count($dim['split']); + $soft_hyphen_width = $this->font->getCharWidth(static::ORD_HYPHEN); // @phpstan-ignore argument.type + + for ($word = 0; $word < $num_words; $word++) { + $data = $dim['split'][$word]; // current word data + $curwidth = ($data['totwidth'] - $prev_totwidth); + $overline = ($curwidth > $line_width); + + if (($data['septype'] == 'B') || $overline) { + // the current word is a line break or does not fit in the current line + if ($overline && ($word > 0)) { + // the current word does not fit in the current line + $data = $dim['split'][($word - 1)]; + --$word; + } + + $posend = $data['pos']; + $totwidth = $data['totwidth']; + $totspacewidth = $data['totspacewidth']; + $spaces = $data['spaces']; + $septype = $data['septype']; + + $sepend = 0; + $sepwidth = 0; + if ($data['ord'] == static::ORD_SOFT_HYPHEN) { + $sepend = 1; + $sepwidth = $soft_hyphen_width; + } + + $lines[] = [ + 'pos' => $posstart, + 'chars' => ($posend - $posstart) + $sepend, + 'spaces' => ($spaces - $prev_spaces), + 'septype' => $septype, + 'totwidth' => ($totwidth - $prev_totwidth) + $sepwidth, + 'totspacewidth' => ($totspacewidth - $prev_totspacewidth), + 'words' => ($word - $prev_words), + ]; + + $chrwidth = $this->font->getCharWidth($data['ord']); + $prev_totwidth = $totwidth + $chrwidth; + $prev_totspacewidth = $totspacewidth; + $prev_spaces = $spaces; + if ($septype == 'WS') { + ++$prev_spaces; + $prev_totspacewidth += $chrwidth; + } + $prev_words = $word; + $line_width = $pwidth; + $posstart = $posend + 1; // skip word separator + } + } + + if ($posstart < $dim['chars']) { + $last = $dim['split'][$dim['words'] - 1]; + $lines[] = [ + 'pos' => $posstart, + 'chars' => ($dim['chars'] - $posstart), + 'spaces' => ($last['spaces'] - $prev_spaces), + 'septype' => $last['septype'], + 'totwidth' => ($last['totwidth'] - $prev_totwidth), + 'totspacewidth' => ($last['totspacewidth'] - $prev_totspacewidth), + 'words' => ($dim['words'] - $prev_words), + ]; + } + + return $lines; + } + + /** + * Returns the PDF code to render a line of text. + * + * @param string $txt Clean text string to be processed. + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param TTextDims $dim Array of dimensions. + * @param float $posx X position relative to the start of the current line. + * @param float $posy Y position relative to the start of the current line (font baseline). + * @param float $width Desired string width to force justification via word spacing (0 = automatic). + * @param float $strokewidth Stroke width. + * @param float $wordspacing Word spacing (use it only when width == 0). + * @param float $leading Leading. + * @param float $rise Text rise. + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $underline If true underline the text. + * @param bool $linethrough If true line through the text. + * @param bool $overline If true overline the text. + * @param bool $clip If true activate clipping mode. + */ + protected function outTextLine( + string $txt, + array $ordarr, + array $dim, + float $posx = 0, + float $posy = 0, + float $width = 0, + float $strokewidth = 0, + float $wordspacing = 0, + float $leading = 0, + float $rise = 0, + bool $fill = true, + bool $stroke = false, + bool $underline = false, + bool $linethrough = false, + bool $overline = false, + bool $clip = false, + ): string { + if ($txt === '' || $ordarr === [] || $dim === []) { + return ''; + } + + $width = $width > 0 ? $width : 0; + $curfont = $this->font->getCurrentFont(); + $this->bbox[] = [ + 'x' => $posx, + 'y' => ($posy - $this->toUnit($curfont['ascent'])), + 'w' => $width, + 'h' => $this->toUnit($curfont['height']), + ]; + + $out = $this->getJustifiedString($txt, $ordarr, $dim, $width); + + $out = $this->getOutTextPosXY($out, $posx, $posy, 'Td'); + + $trmode = $this->getTextRenderingMode($fill, $stroke, $clip); + $out = $this->getOutTextStateOperatorw($out, $this->toPoints($strokewidth)); + $out = $this->getOutTextStateOperatorTr($out, $trmode); + $out = $this->getOutTextStateOperatorTw($out, $this->toPoints($wordspacing)); + $out = $this->getOutTextStateOperatorTc($out, $curfont['spacing']); + $out = $this->getOutTextStateOperatorTz($out, $curfont['stretching']); + $out = $this->getOutTextStateOperatorTL($out, $this->toPoints($leading)); + $out = $this->getOutTextStateOperatorTs($out, $this->toPoints($rise)); + $out = $this->getOutTextObject($out); + + $bbox = $this->getLastBBox(); + if ($underline) { + $out .= $this->getOutUTOLine( + $this->toPoints($bbox['x']), + $this->toYPoints($bbox['y'] + $bbox['h']), + $this->toPoints($bbox['w']), + $curfont['ut'], + ); + } + + if ($linethrough) { + $out .= $this->getOutUTOLine( + $this->toPoints($bbox['x']), + $this->toYPoints($bbox['y'] + ($bbox['h'] / 2)), + $this->toPoints($bbox['w']), + $curfont['ut'], + ); + } + + if ($overline) { + $out .= $this->getOutUTOLine( + $this->toPoints($bbox['x']), + $this->toYPoints($bbox['y']), + $this->toPoints($bbox['w']), + $curfont['ut'], + ); + } + + return $out; + } + + /** + * Return the raw PDF command to print a graphic line. + * This is used for text underline, overline and line-through. + * + * @param float $pntx X position in internal points. + * @param float $pnty Y position in internal points. + * @param float $pwidth Line width in internal points. + * @param float $psize Line tickness in internal points. + * + * @return string Raw PDF data. + */ + protected function getOutUTOLine( + float $pntx, + float $pnty, + float $pwidth, + float $psize, + ): string { + return sprintf('%F %F %F %F re f' . "\n", $pntx, $pnty, $pwidth, $psize); + } + + /** + * Returns the last text bounding box [llx, lly, urx, ury]. + * + * @return TBBox Array of bounding box values. + */ + public function getLastBBox(): array + { + return $this->bbox[array_key_last($this->bbox)]; + } + + /** + * Remove special chacters from the text string: + * - 'CARRIAGE RETURN' (U+000D) + * - 'NO-BREAK SPACE' (U+00A0) + * - 'SHY' (U+00AD) SOFT HYPHEN + * + * @param string $txt Text string to be processed. + */ + protected function cleanupText(string $txt): string + { + $txt = str_replace("\r", ' ', $txt); + $txt = str_replace($this->uniconv->chr(self::ORD_NO_BREAK_SPACE), ' ', $txt); + $txt = str_replace($this->uniconv->chr(self::ORD_SOFT_HYPHEN), '', $txt); + return $txt; + } + + /** + * Returns the string to be used as input for getOutTextShowing(). + * + * @param string $txt Clean text string to be processed. + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param TTextDims $dim Array of dimensions + * @param float $width Desired string width in points (0 = automatic). + */ + protected function getJustifiedString( + string $txt, + array $ordarr, + array $dim, + float $width = 0, + ): string { + $pwidth = $this->toPoints($width); + + $this->bbox[] = $this->getLastBBox(); + $bboxid = array_key_last($this->bbox); + + if ((!$this->isunicode) || $this->font->isCurrentByteFont()) { + if ($this->isunicode) { + $txt = $this->uniconv->latinArrToStr($this->uniconv->uniArrToLatinArr($ordarr)); + } + $txt = $this->encrypt->escapeString($txt); + $txt = $this->getOutTextShowing($txt, 'Tj'); + if ($pwidth > 0) { + $spacewidth = (($pwidth - $dim['totwidth']) / ($dim['spaces'] ?: 1)); + return $this->getOutTextStateOperatorTw($txt, $spacewidth); + } + $this->bbox[$bboxid]['w'] = $this->toUnit($dim['totwidth']); + return $txt; + } + + $unistr = implode('', $this->uniconv->ordArrToChrArr($ordarr)); + $txt = $this->uniconv->toUTF16BE($unistr); + $txt = $this->encrypt->escapeString($txt); + + if ($pwidth <= 0) { + $this->bbox[$bboxid]['w'] = $this->toUnit($dim['totwidth']); + return $this->getOutTextShowing($txt, 'Tj'); + } + + $fontsize = $this->font->getCurrentFont()['size'] ?: 1; + $spacewidth = (($pwidth - $dim['totwidth'] + $dim['totspacewidth']) / ($dim['spaces'] ?: 1)); + $spacewidth = -1000 * $spacewidth / $fontsize; + $txt = str_replace(chr(0) . chr(32), ') ' . sprintf('%F', $spacewidth) . ' (', $txt); + + return $this->getOutTextShowing($txt, 'TJ'); + } + + /** + * Get the PDF code for the specified Text Positioning Operator mode. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param float $posx X position relative to the start of the current line. + * @param float $posy Y position relative to the start of the current line. + * @param string $mode Text state parameter to apply (one of: Td, TD, T*). + */ + protected function getOutTextPosXY( + string $raw, + float $posx = 0, + float $posy = 0, + string $mode = 'Td' + ): string { + $pntx = $this->toPoints($posx); + $pnty = $this->toYPoints($posy); + return match ($mode) { + 'Td' => sprintf('%F %F Td ' . $this->escapePerc($raw), $pntx, $pnty), + 'TD' => sprintf('%F %F TD ' . $this->escapePerc($raw), $pntx, $pnty), + 'T*' => 'T* ' . $raw, + default => '', + }; + } + + /** + * Get the text rendering mode. + * + * @param bool $fill If true fills the text. + * @param bool $stroke If true stroke the text. + * @param bool $clip If true activate clipping mode. + * + * @return int Text rendering mode as in PDF 32000-1:2008 - 9.3.6 Text Rendering Mode. + */ + protected function getTextRenderingMode( + bool $fill = true, + bool $stroke = false, + bool $clip = false + ): int { + $mode = ((int) $clip << 2) + ((int) $stroke << 1) + ((int) $fill); + return match ($mode) { + 0 => 3, + 4 => 7, + default => $mode - 1, + }; + } + + /** + * Get the PDF code for the Tc (character spacing) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorTc( + string $raw, + int|float $value = 0 + ): string { + if ($value == 0) { + return $raw; + } + + return sprintf('%F Tc ' . $this->escapePerc($raw) . ' 0 Tc', $value); + } + + /** + * Get the PDF code for the Tw (word spacing) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorTw( + string $raw, + int|float $value = 0 + ): string { + if ($value == 0) { + return $raw; + } + + return sprintf('%F Tw ' . $this->escapePerc($raw) . ' 0 Tw', $value); + } + + /** + * Get the PDF code for the Tz (horizontal scaling) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorTz( + string $raw, + int|float $value = 0 + ): string { + if ($value == 1) { + return $raw; + } + + return sprintf('%F Tz ' . $this->escapePerc($raw) . ' 100 Tz', $value); + } + + /** + * Get the PDF code for the TL (text leading) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorTL( + string $raw, + int|float $value = 0 + ): string { + if ($value == 0) { + return $raw; + } + + return sprintf('%F TL ' . $this->escapePerc($raw) . ' 0 TL', $value); + } + + /** + * Get the PDF code for the Tr (text rendering) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorTr( + string $raw, + int|float $value = 0 + ): string { + if (($value < 0) || ($value > 7)) { + return $raw; + } + + return sprintf('%d Tr ' . $this->escapePerc($raw), $value); + } + + /** + * Get the PDF code for the Ts (text rise) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorTs( + string $raw, + int|float $value = 0 + ): string { + if ($value == 0) { + return $raw; + } + + return sprintf('%F Ts ' . $this->escapePerc($raw) . ' 0 Ts', $value); + } + + /** + * Get the PDF code for the w (stroke width) Text State Operator. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param int|float $value Raw value to apply in internal units. + */ + protected function getOutTextStateOperatorw( + string $raw, + int|float $value = 0 + ): string { + return sprintf('%F w ' . $this->escapePerc($raw), ($value > 0 ? $value : 0)); + } + + /** + * Get the PDF code for the Text Positioning Operator Matrix. + * + * @param string $raw Raw PDf data to be wrapped by this command. + * @param array{float, float, float, float, float, float} $matrix Text Positioning Operator Matrix. + */ + protected function getOutTextPosMatrix( + string $raw, + array $matrix = [1, 0, 0, 1, 0, 0] + ): string { + if (count($matrix) != 6) { + return ''; + } + + return sprintf( + '%F %F %F %F %F %F Tm ' . $this->escapePerc($raw), + $matrix[0], + $matrix[1], + $matrix[2], + $matrix[3], + $matrix[4], + $matrix[5] + ); + } + + /** + * Get the PDF code for showing a string. + * + * @param string $str String to show. + * @param string $mode Text-showing operator to apply (one of: Tj, TJ, '). + */ + protected function getOutTextShowing(string $str, string $mode = 'Tj'): string + { + return match ($mode) { + 'Tj' => '(' . $str . ') Tj', + 'TJ' => '[(' . $str . ')] TJ', + "'" => '(' . $str . ") '", + default => '', + }; + } + + /** + * Returns a text oject by wrapping the $raw input. + * + * @param string $raw Raw PDf data to be wrapped by this command. + */ + protected function getOutTextObject(string $raw = ''): string + { + return 'BT ' . $raw . ' ET' . "\n"; + } + + /** + * Replace characters for languages like Thai. + * + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * + * @return array Array of UTF-8 codepoints (integer values). + */ + protected function replaceUnicodeChars(array $ordarr): array + { + // @TODO + return $ordarr; + } + + // ===| HYPENATION |==================================================== + + /** + * Returns an array of hyphenation patterns. + * + * @param string $file TEX file containing hypenation patterns. + * TEX patterns can be downloaded from + * https://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex + * See https://www.ctan.org/tex-archive/language/hyph-utf8/ for more information. + * + * @return array Array of hyphenation patterns. + */ + public function loadTexHyphenPatterns(string $file): array + { + $pattern = []; + $data = $this->file->fileGetContents($file); + // remove comments + $data = preg_replace('/\%[^\n]*+/', '', $data); + if ($data === null) { + throw new PdfException('Unable to load hyphenation patterns from file: ' . $file); + } + + // extract the patterns part + if (preg_match('/\\\\patterns\{([^\}]*+)\}/i', $data, $matches) !== 1) { + throw new PdfException('Invalid hyphenation pattern section from file: ' . $file); + } + + $data = trim(substr($matches[0], 10, -1)); + // extract each pattern + $list = preg_split('/[\s]+/', $data); + if ($list === false) { + throw new PdfException('Invalid hyphenation patterns from file: ' . $file); + } + + // map patterns + $pattern = []; + foreach ($list as $val) { + if ($val === '') { + continue; + } + + $val = str_replace("'", '\\\'', trim($val)); + $key = preg_replace('/\d+/', '', $val); + $pattern[$key] = $val; + } + + return $pattern; + } + + /** + * Sets the hyphen patterns for text. + * + * @param array $patterns Array of hyphenation patterns. + * + * @return void + * + * @see loadTexHyphenPatterns() + */ + public function setTexHyphenPatterns(array $patterns): void + { + $this->hyphen_patterns = $patterns; + } + + /** + * Removes soft hyphens from an array of Unicode code points. + * + * @param array $ordarr The array of Unicode code points. + * + * @return array The filtered array with soft hyphens removed. + */ + protected function removeOrdArrSoftHyphens(array $ordarr): array + { + $keeplast = ((count($ordarr) > 0) && ($ordarr[(count($ordarr) - 1)] == self::ORD_SOFT_HYPHEN)); + $retarr = array_filter( + $ordarr, + fn($ord) => ( + ($ord != self::ORD_SOFT_HYPHEN) + && ($ord != self::ORD_ZERO_WIDTH_SPACE) + ) + ); + if ($keeplast) { + $retarr[] = self::ORD_SOFT_HYPHEN; + } + return $retarr; + } + + /** + * Hyphenate a text array of UTF-8 codepoints by adding SOFT-HYPHEN (U+00AD) characters. + * + * @param array $phyphens An array of hyphenation patterns. + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * + * @return array The modified array with SOFT-HYPHEN (U+00AD) characters. + */ + protected function hyphenateTextOrdArr(array $phyphens, array $ordarr): array + { + $txtarr = []; + $word = []; + + foreach ($ordarr as $ord) { + $unitype = UnicodeType::UNI[$ord]; + switch ($unitype) { + case 'L': + $word[] = $ord; + break; + default: + if (count($word) > 0) { + $txtarr = array_merge($txtarr, $this->hyphenateWordOrdArr($phyphens, $word)); + $word = []; + } + $txtarr[] = $ord; + break; + } + } + + return $txtarr; + } + + /** + * Enable or disable automatic line breaking points after some non-letter character types. + * + * @param bool $enabled + */ + public function enableZeroWidthBreakPoints(bool $enabled): void + { + $this->autozerowidthbreaks = $enabled; + } + + /** + * Add artificial line breaking points to an array of UTF-8 codepoints. + * This method adds ZERO-WIDTH-SPACE (U+200B) characters after certain Unicode types. + * + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * + * @return array The modified array with SOFT-HYPHEN (U+00AD) characters. + */ + protected function addOrdArrBreakPoints(array $ordarr): array + { + $txtarr = []; + foreach ($ordarr as $ord) { + switch (UnicodeType::UNI[$ord]) { + case 'ES': + case 'ET': + case 'CS': + case 'BN': + case 'ON': + $txtarr[] = $ord; + $txtarr[] = self::ORD_ZERO_WIDTH_SPACE; + break; + default: + $txtarr[] = $ord; + break; + } + } + + return $txtarr; + } + + + /** + * Hyphenate a word array of UTF-8 codepoints by adding SOFT-HYPHEN (U+00AD) characters. + * + * @param array $phyphens An array of hyphenation patterns. + * @param array $ordarr Array of UTF-8 codepoints (integer values). + * @param int $leftmin Minimum number of characters before the hyphen. + * @param int $rightmin Minimum number of characters after the hyphen. + * @param int $charmin Minimum number of characters to consider for hyphenation. + * @param int $charmax Maximum number of characters to consider for hyphenation. + * + * @return array The modified array with SOFT-HYPHEN (U+00AD) characters. + */ + protected function hyphenateWordOrdArr( + array $phyphens, + array $ordarr, + $leftmin = 1, + $rightmin = 2, + $charmin = 1, + $charmax = 8, + ): array { + $numchars = count($ordarr); + if (empty($phyphens) || ($numchars < $charmin)) { + return $ordarr; + } + + $hyphenpos = []; // hyphens positions + + $pad = array(46); // 46 = Period, dot or full stop + $tmpword = array_merge($pad, $ordarr, $pad); + $tmpnumchars = $numchars + 2; + $maxpos = $tmpnumchars - 1; + + for ($pos = 0; $pos < $maxpos; ++$pos) { + $imax = min(($tmpnumchars - $pos), $charmax); + for ($i = 1; $i <= $imax; ++$i) { + $subword = mb_strtolower( + $this->uniconv->getSubUniArrStr( + $this->uniconv->ordArrToChrArr($tmpword), + $pos, + ($pos + $i) + ) + ); + if (isset($phyphens[$subword])) { + $pattern = $this->uniconv->strToOrdArr($phyphens[$subword]); + $pattern_length = count($pattern); + $digits = 1; + for ($j = 0; $j < $pattern_length; ++$j) { + // check if $pattern[$j] is a number = hyphenation level + // (only numbers from 1 to 5 are valid) + if (($pattern[$j] >= 48) and ($pattern[$j] <= 57)) { + $zero = ($j == 0) ? ($pos - 1) : ($pos + $j - $digits); + // get hyphenation level + $level = ($pattern[$j] - 48); + // if two levels from two different patterns match at the same point, + // the higher one is selected. + if (!isset($hyphenpos[$zero]) or ($hyphenpos[$zero] < $level)) { + $hyphenpos[$zero] = $level; + } + ++$digits; + } + } + } + } + } + + $inserted = 0; + $maxpos = $numchars - $rightmin; + for ($i = $leftmin; $i <= $maxpos; ++$i) { + // only odd levels indicate allowed hyphenation points + if (isset($hyphenpos[$i]) && (($hyphenpos[$i] % 2) != 0)) { + array_splice($ordarr, $i + $inserted, 0, self::ORD_SOFT_HYPHEN); + ++$inserted; + } + } + + return $ordarr; + } + + // ===| PAGE |========================================================== + + /** + * Add a new page (wrapper function for $this->page->add()). + * + * @param PageInputData $data Page data. + * @return PageData Page data with additional Page ID property 'pid'. + */ + public function addPage(array $data = []): array + { + $ret = $this->page->add($data); + $this->setPageContext($ret['pid']); + return $ret; + } + + /** + * Sets the page context by adding the previous page font and graphic settings. + * + * @param int $pid Page index. Omit or set it to -1 for the current page ID. + * + * @return void + */ + protected function setPageContext(int $pid = -1): void + { + $this->page->addContent($this->font->getOutCurrentFont(), $pid); + if ($this->defPageContentEnabled) { + $this->page->addContent($this->defaultPageContent($pid), $pid); + } + } + + /** + * Sets the page common content like Header and Footer. + * Override this method to add custom content to all pages. + * + * @param int $pid Page index. Omit or set it to -1 for the current page ID. + * + * @return string PDF output code. + */ + public function defaultPageContent(int $pid = -1): string + { + if ($pid < 0) { + $pid = $this->page->getPageId(); + } + + if ($this->defaultfont === null) { + $this->defaultfont = $this->font->insert($this->pon, 'helvetica', '', 10); + } + + $page = $this->page->getPage($pid); + + // print page number in the footer + $out = $this->graph->getStartTransform(); + $out .= $this->defaultfont['out']; + $out .= $this->color->getPdfColor('black'); + $prevcell = $this->defcell; + $this->defcell = $this::ZEROCELL; // @phpstan-ignore assign.propertyType + + $out .= $this->getTextCell( + (string) ($pid + 1), + $this->toUnit($this->defaultfont['dw']), + $page['height'] - (2 * $this->toUnit($this->defaultfont['height'])), + $page['width'] - (4 * $this->toUnit($this->defaultfont['dw'])), + 0, + 0, + 0, + 'T', + ($this->rtl ? 'L' : 'R'), + ); + $out .= $this->graph->getStopTransform(); + $this->defcell = $prevcell; + return $out; + } + + /** + * Escape percent signs in a string for use with sprintf. + * + * @param string $str The input string to escape. + * + * @return string The escaped string with percent signs replaced by double percent signs. + */ + protected function escapePerc(string $str): string + { + return str_replace('%', '%%', $str); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/src/include/sRGB.icc.z b/vendor/tecnickcom/tc-lib-pdf/src/include/sRGB.icc.z new file mode 100644 index 0000000..bb4f9a1 Binary files /dev/null and b/vendor/tecnickcom/tc-lib-pdf/src/include/sRGB.icc.z differ diff --git a/vendor/tecnickcom/tc-lib-pdf/test/TcpdfTest.php b/vendor/tecnickcom/tc-lib-pdf/test/TcpdfTest.php new file mode 100644 index 0000000..aca6b57 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/test/TcpdfTest.php @@ -0,0 +1,41 @@ + + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-pdf software library. + */ + +namespace Test; + +/** + * Tcpdf Pdf class test + * + * @since 2002-08-03 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2002-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + */ +class TcpdfTest extends TestUtil +{ + protected function getTestObject(): \Com\Tecnick\Pdf\Tcpdf + { + return new \Com\Tecnick\Pdf\Tcpdf(); + } + + public function testDummy(): void + { + $this->assertEquals(1, 1); + } +} diff --git a/vendor/tecnickcom/tc-lib-pdf/test/TestUtil.php b/vendor/tecnickcom/tc-lib-pdf/test/TestUtil.php new file mode 100644 index 0000000..b0e5871 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-pdf/test/TestUtil.php @@ -0,0 +1,60 @@ + + * @copyright 2015-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + * + * This file is part of tc-lib-file software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Test Util + * + * @since 2020-12-19 + * @category Library + * @package Pdf + * @author Nicola Asuni + * @copyright 2015-2025 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-pdf + */ +class TestUtil extends TestCase +{ + public function bcAssertEqualsWithDelta( + mixed $expected, + mixed $actual, + float $delta = 0.01, + string $message = '' + ): void { + parent::assertEqualsWithDelta($expected, $actual, $delta, $message); + } + + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } + + public function bcAssertIsResource(mixed $res): void + { + parent::assertIsResource($res); + } + + public function bcAssertMatchesRegularExpression(string $pattern, string $string, string $message = ''): void + { + parent::assertMatchesRegularExpression($pattern, $string, $message); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.editorconfig b/vendor/tecnickcom/tc-lib-unicode-data/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-unicode-data/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-unicode-data/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-unicode-data/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-unicode-data/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-unicode-data/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/.gitignore b/vendor/tecnickcom/tc-lib-unicode-data/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-unicode-data/CODEOWNERS b/vendor/tecnickcom/tc-lib-unicode-data/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-unicode-data/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-unicode-data/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-unicode-data/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/LICENSE b/vendor/tecnickcom/tc-lib-unicode-data/LICENSE new file mode 100644 index 0000000..c78125d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-unicode-data +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-unicode-data/Makefile b/vendor/tecnickcom/tc-lib-unicode-data/Makefile new file mode 100644 index 0000000..55406b6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/Makefile @@ -0,0 +1,277 @@ +# makefile +# +# @since 2015-05-14 +# @category Library +# @package UnicodeData +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-unicode-data +# +# This file is part of tc-lib-unicode-data software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-unicode-data + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Unicode/Data/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + #./vendor/bin/phpcpd --exclude vendor --exclude src/Encoding.php src > $(TARGETDIR)/report/phpcpd.txt + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION diff --git a/vendor/tecnickcom/tc-lib-unicode-data/README.md b/vendor/tecnickcom/tc-lib-unicode-data/README.md new file mode 100644 index 0000000..1217dca --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/README.md @@ -0,0 +1,108 @@ +# tc-lib-unicode-data +*PHP library containing UTF-8 font definitions* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-unicode-data/version)](https://packagist.org/packages/tecnickcom/tc-lib-unicode-data) +![Build](https://github.com/tecnickcom/tc-lib-unicode-data/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-unicode-data/graph/badge.svg?token=12SAG9XRFK)](https://codecov.io/gh/tecnickcom/tc-lib-unicode-data) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-unicode-data/license)](https://packagist.org/packages/tecnickcom/tc-lib-unicode-data) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-unicode-data/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-unicode-data) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Unicode\Data +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-unicode-data +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-unicode-data + +## Description + +PHP library containing UTF-8 font definitions. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-unicode-data": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-unicode-data ^2.0 +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Unicode/Data/autoload.php'); +``` + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-unicode-data/RELEASE b/vendor/tecnickcom/tc-lib-unicode-data/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-unicode-data/SECURITY.md b/vendor/tecnickcom/tc-lib-unicode-data/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/VERSION b/vendor/tecnickcom/tc-lib-unicode-data/VERSION new file mode 100644 index 0000000..8f4c02d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/VERSION @@ -0,0 +1 @@ +2.0.24 diff --git a/vendor/tecnickcom/tc-lib-unicode-data/composer.json b/vendor/tecnickcom/tc-lib-unicode-data/composer.json new file mode 100644 index 0000000..7e32439 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/composer.json @@ -0,0 +1,38 @@ +{ + "name": "tecnickcom/tc-lib-unicode-data", + "description": "PHP library containing Unicode definitions", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-unicode-data", + "PDF", + "font", + "UTF-8", + "Unicode" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Unicode\\Data\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-unicode-data/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/phpcs.xml b/vendor/tecnickcom/tc-lib-unicode-data/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-unicode-data/phpstan.neon b/vendor/tecnickcom/tc-lib-unicode-data/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-unicode-data/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-unicode-data/phpunit.xml.dist new file mode 100644 index 0000000..7e277e2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/autoload.php b/vendor/tecnickcom/tc-lib-unicode-data/resources/autoload.php new file mode 100644 index 0000000..36f2621 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(dirname(__DIR__)).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/changelog b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/compat b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/control b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/control new file mode 100644 index 0000000..f17c788 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), ${misc:Depends} +Description: PHP Unicode definitions + PHP library containing Unicode definitions. diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/copyright b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/rules b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/source/format b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-unicode-data/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-unicode-data/resources/rpm/rpm.spec new file mode 100644 index 0000000..f1111e9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/resources/rpm/rpm.spec @@ -0,0 +1,48 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library containing Unicode definitions + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library containing Unicode definitions + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Thu Jul 02 2024 Nicola Asuni 1.1.0-1 +- Changed package name, add provides section +* Thu May 14 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Arabic.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Arabic.php new file mode 100644 index 0000000..04ee321 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Arabic.php @@ -0,0 +1,189 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Arabic + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Arabic +{ + /** + * Unicode code for ARABIC QUESTION MARK (U+061F) + */ + public const QUESTION_MARK = 1567; + + /** + * Unicode code for ARABIC LETTER LAM (U+0644) + */ + public const LAM = 1604; + + /** + * Unicode code for ARABIC LETTER HEH (U+0647) + */ + public const HEH = 1607; + + /** + * Unicode code for ARABIC SHADDA (U+0651) + */ + public const SHADDA = 1617; + + /** + * Unicode code for ARABIC LIGATURE ALLAH ISOLATED FORM (U+FDF2) + */ + public const LIGATURE_ALLAH_ISOLATED_FORM = 65010; + + /** + * Arabic shape substitutions: char code => ([isolated, final, initial, medial]). + * + * @var array> + */ + public const SUBSTITUTE = [ + 1569 => [65152], + 1570 => [65153, 65154, 65153, 65154], + 1571 => [65155, 65156, 65155, 65156], + 1572 => [65157, 65158], + 1573 => [65159, 65160, 65159, 65160], + 1574 => [65161, 65162, 65163, 65164], + 1575 => [65165, 65166, 65165, 65166], + 1576 => [65167, 65168, 65169, 65170], + 1577 => [65171, 65172], + 1578 => [65173, 65174, 65175, 65176], + 1579 => [65177, 65178, 65179, 65180], + 1580 => [65181, 65182, 65183, 65184], + 1581 => [65185, 65186, 65187, 65188], + 1582 => [65189, 65190, 65191, 65192], + 1583 => [65193, 65194, 65193, 65194], + 1584 => [65195, 65196, 65195, 65196], + 1585 => [65197, 65198, 65197, 65198], + 1586 => [65199, 65200, 65199, 65200], + 1587 => [65201, 65202, 65203, 65204], + 1588 => [65205, 65206, 65207, 65208], + 1589 => [65209, 65210, 65211, 65212], + 1590 => [65213, 65214, 65215, 65216], + 1591 => [65217, 65218, 65219, 65220], + 1592 => [65221, 65222, 65223, 65224], + 1593 => [65225, 65226, 65227, 65228], + 1594 => [65229, 65230, 65231, 65232], + 1601 => [65233, 65234, 65235, 65236], + 1602 => [65237, 65238, 65239, 65240], + 1603 => [65241, 65242, 65243, 65244], + 1604 => [65245, 65246, 65247, 65248], + 1605 => [65249, 65250, 65251, 65252], + 1606 => [65253, 65254, 65255, 65256], + 1607 => [65257, 65258, 65259, 65260], + 1608 => [65261, 65262, 65261, 65262], + 1609 => [65263, 65264, 64488, 64489], + 1610 => [65265, 65266, 65267, 65268], + 1649 => [64336, 64337], + 1655 => [64477], + 1657 => [64358, 64359, 64360, 64361], + 1658 => [64350, 64351, 64352, 64353], + 1659 => [64338, 64339, 64340, 64341], + 1662 => [64342, 64343, 64344, 64345], + 1663 => [64354, 64355, 64356, 64357], + 1664 => [64346, 64347, 64348, 64349], + 1667 => [64374, 64375, 64376, 64377], + 1668 => [64370, 64371, 64372, 64373], + 1670 => [64378, 64379, 64380, 64381], + 1671 => [64382, 64383, 64384, 64385], + 1672 => [64392, 64393], + 1676 => [64388, 64389], + 1677 => [64386, 64387], + 1678 => [64390, 64391], + 1681 => [64396, 64397], + 1688 => [64394, 64395, 64394, 64395], + 1700 => [64362, 64363, 64364, 64365], + 1702 => [64366, 64367, 64368, 64369], + 1705 => [64398, 64399, 64400, 64401], + 1709 => [64467, 64468, 64469, 64470], + 1711 => [64402, 64403, 64404, 64405], + 1713 => [64410, 64411, 64412, 64413], + 1715 => [64406, 64407, 64408, 64409], + 1722 => [64414, 64415], + 1723 => [64416, 64417, 64418, 64419], + 1726 => [64426, 64427, 64428, 64429], + 1728 => [64420, 64421], + 1729 => [64422, 64423, 64424, 64425], + 1733 => [64480, 64481], + 1734 => [64473, 64474], + 1735 => [64471, 64472], + 1736 => [64475, 64476], + 1737 => [64482, 64483], + 1739 => [64478, 64479], + 1740 => [64508, 64509, 64510, 64511], + 1744 => [64484, 64485, 64486, 64487], + 1746 => [64430, 64431], + 1747 => [64432, 64433], + ]; + + /** + * Arabic laa letter: (char code => [isolated, final, initial, medial]). + * + * @var array> + */ + public const LAA = [ + 1570 => [65269, 65270, 65269, 65270], // ALEF (U+0627) with MADDAH ABOVE (U+0653) + 1571 => [65271, 65272, 65271, 65272], // ALEF (U+0627) with HAMZA ABOVE (U+0654) + 1573 => [65273, 65274, 65273, 65274], // ALEF (U+0627) with HAMZA BELOW (U+0655) + 1575 => [65275, 65276, 65275, 65276], // ALEF (U+0627) + ]; + + /** + * Array of character substitutions for sequences of two diacritics symbols. + * Putting the combining mark and character in the same glyph allows us + * to avoid the two marks overlapping each other in an illegible manner. + * second NSM char code => substitution char. + * + * @var array + */ + public const DIACRITIC = [ + 1612 => 64606, // Shadda + Dammatan + 1613 => 64607, // Shadda + Kasratan + 1614 => 64608, // Shadda + Fatha + 1615 => 64609, // Shadda + Damma + 1616 => 64610, // Shadda + Kasra + ]; + + /** + * Array of Arabic end letters + * + * @var array + */ + public const END = [ + 1569, // HAMZAH (U+621) + 1570, // ALEF (U+0627) with MADDAH ABOVE (U+0653) + 1571, // ALEF (U+0627) with HAMZA ABOVE (U+0654) + 1572, // WAW (U+0648) with HAMZA ABOVE (U+0654) + 1573, // ALEF (U+0627) with HAMZA BELOW (U+0655) + 1575, // ALEF (U+0627) + 1577, // TEH MARBUTA (U+0629) + 1583, // DAL (U+062F) + 1584, // THAL (U+0630) + 1585, // REH (U+0631) + 1586, // ZAIN (U+0632) + 1608, // WAW (U+0648) + 1688, // JEH (U+0698) + ]; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Bracket.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Bracket.php new file mode 100644 index 0000000..0cbbb85 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Bracket.php @@ -0,0 +1,167 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Bracket + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Bracket +{ + /** + * Bracket unicode characters (open bracket code => close bracket code). + * + * @var array + */ + public const OPEN = [ + 0x0028 => 0x0029, // PARENTHESIS + 0x005B => 0x005D, // SQUARE BRACKET + 0x007B => 0x007D, // CURLY BRACKET + 0x0F3A => 0x0F3B, // TIBETAN MARK GUG RTAGS GYON + 0x0F3C => 0x0F3D, // TIBETAN MARK ANG KHANG GYON + 0x169B => 0x169C, // OGHAM FEATHER MARK + 0x2045 => 0x2046, // SQUARE BRACKET WITH QUILL + 0x207D => 0x207E, // SUPERSCRIPT PARENTHESIS + 0x208D => 0x208E, // SUBSCRIPT PARENTHESIS + 0x2308 => 0x2309, // CEILING + 0x230A => 0x230B, // FLOOR + 0x2329 => 0x232A, // POINTING ANGLE BRACKET + 0x2768 => 0x2769, // MEDIUM PARENTHESIS ORNAMENT + 0x276A => 0x276B, // MEDIUM FLATTENED PARENTHESIS ORNAMENT + 0x276C => 0x276D, // MEDIUM POINTING ANGLE BRACKET ORNAMENT + 0x276E => 0x276F, // HEAVY POINTING ANGLE QUOTATION MARK ORNAMENT + 0x2770 => 0x2771, // HEAVY POINTING ANGLE BRACKET ORNAMENT + 0x2772 => 0x2773, // LIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x2774 => 0x2775, // MEDIUM CURLY BRACKET ORNAMENT + 0x27C5 => 0x27C6, // S-SHAPED BAG DELIMITER + 0x27E6 => 0x27E7, // MATHEMATICAL WHITE SQUARE BRACKET + 0x27E8 => 0x27E9, // MATHEMATICAL ANGLE BRACKET + 0x27EA => 0x27EB, // MATHEMATICAL DOUBLE ANGLE BRACKET + 0x27EC => 0x27ED, // MATHEMATICAL WHITE TORTOISE SHELL BRACKET + 0x27EE => 0x27EF, // MATHEMATICAL FLATTENED PARENTHESIS + 0x2983 => 0x2984, // WHITE CURLY BRACKET + 0x2985 => 0x2986, // WHITE PARENTHESIS + 0x2987 => 0x2988, // Z NOTATION IMAGE BRACKET + 0x2989 => 0x298A, // Z NOTATION BINDING BRACKET + 0x298B => 0x298C, // SQUARE BRACKET WITH UNDERBAR + 0x298D => 0x2990, // SQUARE BRACKET WITH TICK IN TOP CORNER + 0x298F => 0x298E, // SQUARE BRACKET WITH TICK IN BOTTOM CORNER + 0x2991 => 0x2992, // ANGLE BRACKET WITH DOT + 0x2993 => 0x2994, // ARC LESS-THAN BRACKET + 0x2995 => 0x2996, // DOUBLE ARC GREATER-THAN BRACKET + 0x2997 => 0x2998, // BLACK TORTOISE SHELL BRACKET + 0x29D8 => 0x29D9, // WIGGLY FENCE + 0x29DA => 0x29DB, // DOUBLE WIGGLY FENCE + 0x29FC => 0x29FD, // POINTING CURVED ANGLE BRACKET + 0x2E22 => 0x2E23, // TOP HALF BRACKET + 0x2E24 => 0x2E25, // BOTTOM HALF BRACKET + 0x2E26 => 0x2E27, // SIDEWAYS U BRACKET + 0x2E28 => 0x2E29, // DOUBLE PARENTHESIS + 0x3008 => 0x3009, // ANGLE BRACKET + 0x300A => 0x300B, // DOUBLE ANGLE BRACKET + 0x300C => 0x300D, // CORNER BRACKET + 0x300E => 0x300F, // WHITE CORNER BRACKET + 0x3010 => 0x3011, // BLACK LENTICULAR BRACKET + 0x3014 => 0x3015, // TORTOISE SHELL BRACKET + 0x3016 => 0x3017, // WHITE LENTICULAR BRACKET + 0x3018 => 0x3019, // WHITE TORTOISE SHELL BRACKET + 0x301A => 0x301B, // WHITE SQUARE BRACKET + 0xFE59 => 0xFE5A, // SMALL PARENTHESIS + 0xFE5B => 0xFE5C, // SMALL CURLY BRACKET + 0xFE5D => 0xFE5E, // SMALL TORTOISE SHELL BRACKET + 0xFF08 => 0xFF09, // FULLWIDTH PARENTHESIS + 0xFF3B => 0xFF3D, // FULLWIDTH SQUARE BRACKET + 0xFF5B => 0xFF5D, // FULLWIDTH CURLY BRACKET + 0xFF5F => 0xFF60, // FULLWIDTH WHITE PARENTHESIS + 0xFF62 => 0xFF63, // HALFWIDTH CORNER BRACKET + ]; + + /** + * Bracket unicode characters (close bracket code => open bracket code). + * + * @var array + */ + public const CLOSE = [ + 0x0029 => 0x0028, // PARENTHESIS + 0x005D => 0x005B, // SQUARE BRACKET + 0x007D => 0x007B, // CURLY BRACKET + 0x0F3B => 0x0F3A, // TIBETAN MARK GUG RTAGS GYON + 0x0F3D => 0x0F3C, // TIBETAN MARK ANG KHANG GYON + 0x169C => 0x169B, // OGHAM FEATHER MARK + 0x2046 => 0x2045, // SQUARE BRACKET WITH QUILL + 0x207E => 0x207D, // SUPERSCRIPT PARENTHESIS + 0x208E => 0x208D, // SUBSCRIPT PARENTHESIS + 0x2309 => 0x2308, // CEILING + 0x230B => 0x230A, // FLOOR + 0x232A => 0x2329, // POINTING ANGLE BRACKET + 0x2769 => 0x2768, // MEDIUM PARENTHESIS ORNAMENT + 0x276B => 0x276A, // MEDIUM FLATTENED PARENTHESIS ORNAMENT + 0x276D => 0x276C, // MEDIUM POINTING ANGLE BRACKET ORNAMENT + 0x276F => 0x276E, // HEAVY POINTING ANGLE QUOTATION MARK ORNAMENT + 0x2771 => 0x2770, // HEAVY POINTING ANGLE BRACKET ORNAMENT + 0x2773 => 0x2772, // LIGHT TORTOISE SHELL BRACKET ORNAMENT + 0x2775 => 0x2774, // MEDIUM CURLY BRACKET ORNAMENT + 0x27C6 => 0x27C5, // S-SHAPED BAG DELIMITER + 0x27E7 => 0x27E6, // MATHEMATICAL WHITE SQUARE BRACKET + 0x27E9 => 0x27E8, // MATHEMATICAL ANGLE BRACKET + 0x27EB => 0x27EA, // MATHEMATICAL DOUBLE ANGLE BRACKET + 0x27ED => 0x27EC, // MATHEMATICAL WHITE TORTOISE SHELL BRACKET + 0x27EF => 0x27EE, // MATHEMATICAL FLATTENED PARENTHESIS + 0x2984 => 0x2983, // WHITE CURLY BRACKET + 0x2986 => 0x2985, // WHITE PARENTHESIS + 0x2988 => 0x2987, // Z NOTATION IMAGE BRACKET + 0x298A => 0x2989, // Z NOTATION BINDING BRACKET + 0x298C => 0x298B, // SQUARE BRACKET WITH UNDERBAR + 0x2990 => 0x298D, // SQUARE BRACKET WITH TICK IN TOP CORNER + 0x298E => 0x298F, // SQUARE BRACKET WITH TICK IN BOTTOM CORNER + 0x2992 => 0x2991, // ANGLE BRACKET WITH DOT + 0x2994 => 0x2993, // ARC LESS-THAN BRACKET + 0x2996 => 0x2995, // DOUBLE ARC GREATER-THAN BRACKET + 0x2998 => 0x2997, // BLACK TORTOISE SHELL BRACKET + 0x29D9 => 0x29D8, // WIGGLY FENCE + 0x29DB => 0x29DA, // DOUBLE WIGGLY FENCE + 0x29FD => 0x29FC, // POINTING CURVED ANGLE BRACKET + 0x2E23 => 0x2E22, // TOP HALF BRACKET + 0x2E25 => 0x2E24, // BOTTOM HALF BRACKET + 0x2E27 => 0x2E26, // SIDEWAYS U BRACKET + 0x2E29 => 0x2E28, // DOUBLE PARENTHESIS + 0x3009 => 0x3008, // ANGLE BRACKET + 0x300B => 0x300A, // DOUBLE ANGLE BRACKET + 0x300D => 0x300C, // CORNER BRACKET + 0x300F => 0x300E, // WHITE CORNER BRACKET + 0x3011 => 0x3010, // BLACK LENTICULAR BRACKET + 0x3015 => 0x3014, // TORTOISE SHELL BRACKET + 0x3017 => 0x3016, // WHITE LENTICULAR BRACKET + 0x3019 => 0x3018, // WHITE TORTOISE SHELL BRACKET + 0x301B => 0x301A, // WHITE SQUARE BRACKET + 0xFE5A => 0xFE59, // SMALL PARENTHESIS + 0xFE5C => 0xFE5B, // SMALL CURLY BRACKET + 0xFE5E => 0xFE5D, // SMALL TORTOISE SHELL BRACKET + 0xFF09 => 0xFF08, // FULLWIDTH PARENTHESIS + 0xFF3D => 0xFF3B, // FULLWIDTH SQUARE BRACKET + 0xFF5D => 0xFF5B, // FULLWIDTH CURLY BRACKET + 0xFF60 => 0xFF5F, // FULLWIDTH WHITE PARENTHESIS + 0xFF63 => 0xFF62, // HALFWIDTH CORNER BRACKET + ]; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Constant.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Constant.php new file mode 100644 index 0000000..7c20ce8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Constant.php @@ -0,0 +1,176 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Constant + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Constant +{ + /* + * Explicit Directional Embeddings + * ------------------------------- + * The following characters signal that a piece of text is to be treated as embedded. + * For example, an English quotation in the middle of an Arabic sentence could be marked + * as being embedded left-to-right text. If there were a Hebrew phrase in the middle of + * the English quotation, that phrase could be marked as being embedded right-to-left text. + * Embeddings can be nested one inside another, and in isolates and overrides. + */ + + /** + * (U+202A) LEFT-TO-RIGHT EMBEDDING + * Treat the following text as embedded left-to-right + */ + public const LRE = 8234; + + /** + * (U+202B) RIGHT-TO-LEFT EMBEDDING + * Treat the following text as embedded right-to-left + */ + public const RLE = 8235; + + /* + * Explicit Directional Overrides + * ------------------------------ + * The following characters allow the bidirectional character types to be overridden when + * required for special cases, such as for part numbers. They are to be avoided wherever possible, + * because of security concerns. For more information, see [UTR36]. + * Directional overrides can be nested one inside another, and in embeddings and isolates. + */ + + /** + * (U+202D) for LEFT-TO-RIGHT OVERRIDE + * Force following characters to be treated as strong left-to-right characters + */ + public const LRO = 8237; + + /** + * (U+202E) RIGHT-TO-LEFT OVERRIDE + * Force following characters to be treated as strong right-to-left characters + */ + public const RLO = 8238; + + /* + * Terminating Explicit Directional Embeddings and Overrides + * --------------------------------------------------------- + */ + + /** + * (U+202C) POP DIRECTIONAL FORMATTING + * End the scope of the last LRE, RLE, RLO, or LRO whose scope has not yet been terminated + */ + public const PDF = 8236; + + /* + * Explicit Directional Isolates + * ----------------------------- + * The following characters signal that a piece of text is to be treated as directionally isolated + * from its surroundings. They are very similar to the explicit embedding formatting characters. + * However, while an embedding roughly has the effect of a strong character on the ordering of the + * surrounding text, an isolate has the effect of a neutral like U+FFFC OBJECT REPLACEMENT CHARACTER, + * and is assigned the corresponding display position in the surrounding text. + * Furthermore, the text inside the isolate has no effect on the ordering of the text outside it, and vice versa. + * + * In addition to allowing the embedding of strongly directional text without unduly affecting the bidirectional + * order of its surroundings, one of the isolate formatting characters also offers an extra feature: + * embedding text while inferring its direction heuristically from its constituent characters. + * + * Isolates can be nested one inside another, and in embeddings and overrides. + */ + + /** + * (U+2066) LEFT-TO-RIGHT ISOLATE + * Treat the following text as isolated and left-to-right + */ + public const LRI = 8294; + + /** + * (U+2067) RIGHT-TO-LEFT ISOLATE + * Treat the following text as isolated and right-to-left + */ + public const RLI = 8295; + + /** + * (U+2068) FIRST STRONG ISOLATE + * Treat the following text as isolated and in the direction of its first + * strong directional character that is not inside a nested isolate + */ + public const FSI = 8296; + + /* + * Terminating Explicit Directional Isolates + * ----------------------------------------- + * The following character terminates the scope of the last LRI, RLI, or FSI whose scope + * has not yet been terminated, as well as the scopes of any subsequent LREs, RLEs, LROs, or RLOs + * whose scopes have not yet been terminated. + */ + + /** + * (U+2069) POP DIRECTIONAL ISOLATE + * End the scope of the last LRI, RLI, or FSI + */ + public const PDI = 8297; + + /* + * Implicit Directional Marks + * -------------------------- + * These characters are very light-weight formatting. + * They act exactly like right-to-left or left-to-right characters, + * except that they do not display or have any other semantic effect. + * Their use is more convenient than using explicit embeddings or overrides because their scope is much more local. + + /** + * (U+200E) LEFT-TO-RIGHT MARK + * Left-to-right zero-width character + */ + public const LRM = 8206; + + /** + * (U+200F) RIGHT-TO-LEFT MARK + * Right-to-left zero-width non-Arabic character + */ + public const RLM = 8207; + + /** + * (U+061C) ARABIC LETTER MARK + * Right-to-left zero-width Arabic character + */ + public const ALM = 1564; + + /* + * Other useful characters + * ----------------------- + */ + + /** + * (U+0020) SPACE + */ + public const SPACE = 32; + + /** + * (U+200C) ZERO WIDTH NON-JOINER + */ + public const ZERO_WIDTH_NON_JOINER = 8204; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Encoding.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Encoding.php new file mode 100644 index 0000000..2b7c9f3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Encoding.php @@ -0,0 +1,5742 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Encoding + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * @SuppressWarnings("PHPMD.ExcessiveClassLength") + */ +class Encoding +{ + /** + * Font Encoding Maps. + * + * @var array> + */ + public const MAP = [ + // encoding map for: cp874 + 'cp874' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => 'ellipsis', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'kokaithai', + 162 => 'khokhaithai', + 163 => 'khokhuatthai', + 164 => 'khokhwaithai', + 165 => 'khokhonthai', + 166 => 'khorakhangthai', + 167 => 'ngonguthai', + 168 => 'chochanthai', + 169 => 'chochingthai', + 170 => 'chochangthai', + 171 => 'sosothai', + 172 => 'chochoethai', + 173 => 'yoyingthai', + 174 => 'dochadathai', + 175 => 'topatakthai', + 176 => 'thothanthai', + 177 => 'thonangmonthothai', + 178 => 'thophuthaothai', + 179 => 'nonenthai', + 180 => 'dodekthai', + 181 => 'totaothai', + 182 => 'thothungthai', + 183 => 'thothahanthai', + 184 => 'thothongthai', + 185 => 'nonuthai', + 186 => 'bobaimaithai', + 187 => 'poplathai', + 188 => 'phophungthai', + 189 => 'fofathai', + 190 => 'phophanthai', + 191 => 'fofanthai', + 192 => 'phosamphaothai', + 193 => 'momathai', + 194 => 'yoyakthai', + 195 => 'roruathai', + 196 => 'ruthai', + 197 => 'lolingthai', + 198 => 'luthai', + 199 => 'wowaenthai', + 200 => 'sosalathai', + 201 => 'sorusithai', + 202 => 'sosuathai', + 203 => 'hohipthai', + 204 => 'lochulathai', + 205 => 'oangthai', + 206 => 'honokhukthai', + 207 => 'paiyannoithai', + 208 => 'saraathai', + 209 => 'maihanakatthai', + 210 => 'saraaathai', + 211 => 'saraamthai', + 212 => 'saraithai', + 213 => 'saraiithai', + 214 => 'sarauethai', + 215 => 'saraueethai', + 216 => 'sarauthai', + 217 => 'sarauuthai', + 218 => 'phinthuthai', + 219 => '.notdef', + 220 => '.notdef', + 221 => '.notdef', + 222 => '.notdef', + 223 => 'bahtthai', + 224 => 'saraethai', + 225 => 'saraaethai', + 226 => 'saraothai', + 227 => 'saraaimaimuanthai', + 228 => 'saraaimaimalaithai', + 229 => 'lakkhangyaothai', + 230 => 'maiyamokthai', + 231 => 'maitaikhuthai', + 232 => 'maiekthai', + 233 => 'maithothai', + 234 => 'maitrithai', + 235 => 'maichattawathai', + 236 => 'thanthakhatthai', + 237 => 'nikhahitthai', + 238 => 'yamakkanthai', + 239 => 'fongmanthai', + 240 => 'zerothai', + 241 => 'onethai', + 242 => 'twothai', + 243 => 'threethai', + 244 => 'fourthai', + 245 => 'fivethai', + 246 => 'sixthai', + 247 => 'seventhai', + 248 => 'eightthai', + 249 => 'ninethai', + 250 => 'angkhankhuthai', + 251 => 'khomutthai', + 252 => '.notdef', + 253 => '.notdef', + 254 => '.notdef', + 255 => '.notdef', + ], + // encoding map for: cp1250 + 'cp1250' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => '.notdef', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => '.notdef', + 137 => 'perthousand', + 138 => 'Scaron', + 139 => 'guilsinglleft', + 140 => 'Sacute', + 141 => 'Tcaron', + 142 => 'Zcaron', + 143 => 'Zacute', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => '.notdef', + 153 => 'trademark', + 154 => 'scaron', + 155 => 'guilsinglright', + 156 => 'sacute', + 157 => 'tcaron', + 158 => 'zcaron', + 159 => 'zacute', + 160 => 'space', + 161 => 'caron', + 162 => 'breve', + 163 => 'Lslash', + 164 => 'currency', + 165 => 'Aogonek', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'Scedilla', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'Zdotaccent', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'ogonek', + 179 => 'lslash', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'aogonek', + 186 => 'scedilla', + 187 => 'guillemotright', + 188 => 'Lcaron', + 189 => 'hungarumlaut', + 190 => 'lcaron', + 191 => 'zdotaccent', + 192 => 'Racute', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Abreve', + 196 => 'Adieresis', + 197 => 'Lacute', + 198 => 'Cacute', + 199 => 'Ccedilla', + 200 => 'Ccaron', + 201 => 'Eacute', + 202 => 'Eogonek', + 203 => 'Edieresis', + 204 => 'Ecaron', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Dcaron', + 208 => 'Dcroat', + 209 => 'Nacute', + 210 => 'Ncaron', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Ohungarumlaut', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Rcaron', + 217 => 'Uring', + 218 => 'Uacute', + 219 => 'Uhungarumlaut', + 220 => 'Udieresis', + 221 => 'Yacute', + 222 => 'Tcommaaccent', + 223 => 'germandbls', + 224 => 'racute', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'abreve', + 228 => 'adieresis', + 229 => 'lacute', + 230 => 'cacute', + 231 => 'ccedilla', + 232 => 'ccaron', + 233 => 'eacute', + 234 => 'eogonek', + 235 => 'edieresis', + 236 => 'ecaron', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'dcaron', + 240 => 'dcroat', + 241 => 'nacute', + 242 => 'ncaron', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'ohungarumlaut', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'rcaron', + 249 => 'uring', + 250 => 'uacute', + 251 => 'uhungarumlaut', + 252 => 'udieresis', + 253 => 'yacute', + 254 => 'tcommaaccent', + 255 => 'dotaccent', + ], + // encoding map for: cp1251 + 'cp1251' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'afii10051', + 129 => 'afii10052', + 130 => 'quotesinglbase', + 131 => 'afii10100', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => 'Euro', + 137 => 'perthousand', + 138 => 'afii10058', + 139 => 'guilsinglleft', + 140 => 'afii10059', + 141 => 'afii10061', + 142 => 'afii10060', + 143 => 'afii10145', + 144 => 'afii10099', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => '.notdef', + 153 => 'trademark', + 154 => 'afii10106', + 155 => 'guilsinglright', + 156 => 'afii10107', + 157 => 'afii10109', + 158 => 'afii10108', + 159 => 'afii10193', + 160 => 'space', + 161 => 'afii10062', + 162 => 'afii10110', + 163 => 'afii10057', + 164 => 'currency', + 165 => 'afii10050', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'afii10023', + 169 => 'copyright', + 170 => 'afii10053', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'afii10056', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'afii10055', + 179 => 'afii10103', + 180 => 'afii10098', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'afii10071', + 185 => 'afii61352', + 186 => 'afii10101', + 187 => 'guillemotright', + 188 => 'afii10105', + 189 => 'afii10054', + 190 => 'afii10102', + 191 => 'afii10104', + 192 => 'afii10017', + 193 => 'afii10018', + 194 => 'afii10019', + 195 => 'afii10020', + 196 => 'afii10021', + 197 => 'afii10022', + 198 => 'afii10024', + 199 => 'afii10025', + 200 => 'afii10026', + 201 => 'afii10027', + 202 => 'afii10028', + 203 => 'afii10029', + 204 => 'afii10030', + 205 => 'afii10031', + 206 => 'afii10032', + 207 => 'afii10033', + 208 => 'afii10034', + 209 => 'afii10035', + 210 => 'afii10036', + 211 => 'afii10037', + 212 => 'afii10038', + 213 => 'afii10039', + 214 => 'afii10040', + 215 => 'afii10041', + 216 => 'afii10042', + 217 => 'afii10043', + 218 => 'afii10044', + 219 => 'afii10045', + 220 => 'afii10046', + 221 => 'afii10047', + 222 => 'afii10048', + 223 => 'afii10049', + 224 => 'afii10065', + 225 => 'afii10066', + 226 => 'afii10067', + 227 => 'afii10068', + 228 => 'afii10069', + 229 => 'afii10070', + 230 => 'afii10072', + 231 => 'afii10073', + 232 => 'afii10074', + 233 => 'afii10075', + 234 => 'afii10076', + 235 => 'afii10077', + 236 => 'afii10078', + 237 => 'afii10079', + 238 => 'afii10080', + 239 => 'afii10081', + 240 => 'afii10082', + 241 => 'afii10083', + 242 => 'afii10084', + 243 => 'afii10085', + 244 => 'afii10086', + 245 => 'afii10087', + 246 => 'afii10088', + 247 => 'afii10089', + 248 => 'afii10090', + 249 => 'afii10091', + 250 => 'afii10092', + 251 => 'afii10093', + 252 => 'afii10094', + 253 => 'afii10095', + 254 => 'afii10096', + 255 => 'afii10097', + ], + // encoding map for: cp1252 + 'cp1252' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => 'florin', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => 'circumflex', + 137 => 'perthousand', + 138 => 'Scaron', + 139 => 'guilsinglleft', + 140 => 'OE', + 141 => '.notdef', + 142 => 'Zcaron', + 143 => '.notdef', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => 'tilde', + 153 => 'trademark', + 154 => 'scaron', + 155 => 'guilsinglright', + 156 => 'oe', + 157 => '.notdef', + 158 => 'zcaron', + 159 => 'Ydieresis', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'ordfeminine', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'ordmasculine', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'questiondown', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Atilde', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'Igrave', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Eth', + 209 => 'Ntilde', + 210 => 'Ograve', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Yacute', + 222 => 'Thorn', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'atilde', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'igrave', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'eth', + 241 => 'ntilde', + 242 => 'ograve', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'yacute', + 254 => 'thorn', + 255 => 'ydieresis', + ], + // encoding map for: cp1253 + 'cp1253' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => 'florin', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => '.notdef', + 137 => 'perthousand', + 138 => '.notdef', + 139 => 'guilsinglleft', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => '.notdef', + 153 => 'trademark', + 154 => '.notdef', + 155 => 'guilsinglright', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'dieresistonos', + 162 => 'Alphatonos', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => '.notdef', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'afii00208', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'tonos', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'Epsilontonos', + 185 => 'Etatonos', + 186 => 'Iotatonos', + 187 => 'guillemotright', + 188 => 'Omicrontonos', + 189 => 'onehalf', + 190 => 'Upsilontonos', + 191 => 'Omegatonos', + 192 => 'iotadieresistonos', + 193 => 'Alpha', + 194 => 'Beta', + 195 => 'Gamma', + 196 => 'Delta', + 197 => 'Epsilon', + 198 => 'Zeta', + 199 => 'Eta', + 200 => 'Theta', + 201 => 'Iota', + 202 => 'Kappa', + 203 => 'Lambda', + 204 => 'Mu', + 205 => 'Nu', + 206 => 'Xi', + 207 => 'Omicron', + 208 => 'Pi', + 209 => 'Rho', + 210 => '.notdef', + 211 => 'Sigma', + 212 => 'Tau', + 213 => 'Upsilon', + 214 => 'Phi', + 215 => 'Chi', + 216 => 'Psi', + 217 => 'Omega', + 218 => 'Iotadieresis', + 219 => 'Upsilondieresis', + 220 => 'alphatonos', + 221 => 'epsilontonos', + 222 => 'etatonos', + 223 => 'iotatonos', + 224 => 'upsilondieresistonos', + 225 => 'alpha', + 226 => 'beta', + 227 => 'gamma', + 228 => 'delta', + 229 => 'epsilon', + 230 => 'zeta', + 231 => 'eta', + 232 => 'theta', + 233 => 'iota', + 234 => 'kappa', + 235 => 'lambda', + 236 => 'mu', + 237 => 'nu', + 238 => 'xi', + 239 => 'omicron', + 240 => 'pi', + 241 => 'rho', + 242 => 'sigma1', + 243 => 'sigma', + 244 => 'tau', + 245 => 'upsilon', + 246 => 'phi', + 247 => 'chi', + 248 => 'psi', + 249 => 'omega', + 250 => 'iotadieresis', + 251 => 'upsilondieresis', + 252 => 'omicrontonos', + 253 => 'upsilontonos', + 254 => 'omegatonos', + 255 => '.notdef', + ], + // encoding map for: cp1254 + 'cp1254' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => 'florin', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => 'circumflex', + 137 => 'perthousand', + 138 => 'Scaron', + 139 => 'guilsinglleft', + 140 => 'OE', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => 'tilde', + 153 => 'trademark', + 154 => 'scaron', + 155 => 'guilsinglright', + 156 => 'oe', + 157 => '.notdef', + 158 => '.notdef', + 159 => 'Ydieresis', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'ordfeminine', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'ordmasculine', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'questiondown', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Atilde', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'Igrave', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Gbreve', + 209 => 'Ntilde', + 210 => 'Ograve', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Idotaccent', + 222 => 'Scedilla', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'atilde', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'igrave', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'gbreve', + 241 => 'ntilde', + 242 => 'ograve', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'dotlessi', + 254 => 'scedilla', + 255 => 'ydieresis', + ], + // encoding map for: cp1255 + 'cp1255' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => 'florin', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => 'circumflex', + 137 => 'perthousand', + 138 => '.notdef', + 139 => 'guilsinglleft', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => 'tilde', + 153 => 'trademark', + 154 => '.notdef', + 155 => 'guilsinglright', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'afii57636', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'multiply', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'sfthyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'middot', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'divide', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'questiondown', + 192 => 'afii57799', + 193 => 'afii57801', + 194 => 'afii57800', + 195 => 'afii57802', + 196 => 'afii57793', + 197 => 'afii57794', + 198 => 'afii57795', + 199 => 'afii57798', + 200 => 'afii57797', + 201 => 'afii57806', + 202 => '.notdef', + 203 => 'afii57796', + 204 => 'afii57807', + 205 => 'afii57839', + 206 => 'afii57645', + 207 => 'afii57841', + 208 => 'afii57842', + 209 => 'afii57804', + 210 => 'afii57803', + 211 => 'afii57658', + 212 => 'afii57716', + 213 => 'afii57717', + 214 => 'afii57718', + 215 => 'gereshhebrew', + 216 => 'gershayimhebrew', + 217 => '.notdef', + 218 => '.notdef', + 219 => '.notdef', + 220 => '.notdef', + 221 => '.notdef', + 222 => '.notdef', + 223 => '.notdef', + 224 => 'afii57664', + 225 => 'afii57665', + 226 => 'afii57666', + 227 => 'afii57667', + 228 => 'afii57668', + 229 => 'afii57669', + 230 => 'afii57670', + 231 => 'afii57671', + 232 => 'afii57672', + 233 => 'afii57673', + 234 => 'afii57674', + 235 => 'afii57675', + 236 => 'afii57676', + 237 => 'afii57677', + 238 => 'afii57678', + 239 => 'afii57679', + 240 => 'afii57680', + 241 => 'afii57681', + 242 => 'afii57682', + 243 => 'afii57683', + 244 => 'afii57684', + 245 => 'afii57685', + 246 => 'afii57686', + 247 => 'afii57687', + 248 => 'afii57688', + 249 => 'afii57689', + 250 => 'afii57690', + 251 => '.notdef', + 252 => '.notdef', + 253 => 'afii299', + 254 => 'afii300', + 255 => '.notdef', + ], + // encoding map for: cp1256 + 'cp1256' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => 'afii57506', + 130 => 'quotesinglbase', + 131 => 'florin', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => 'circumflex', + 137 => 'perthousand', + 138 => 'afii57511', + 139 => 'guilsinglleft', + 140 => 'OE', + 141 => 'afii57507', + 142 => 'afii57508', + 143 => 'afii57512', + 144 => 'afii57509', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => '.notdef', + 153 => 'trademark', + 154 => 'afii57513', + 155 => 'guilsinglright', + 156 => 'oe', + 157 => 'afii61664', + 158 => 'afii301', + 159 => 'afii57514', + 160 => 'space', + 161 => 'afii57388', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => '.notdef', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'afii57403', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'afii57407', + 192 => '.notdef', + 193 => 'afii57409', + 194 => 'afii57410', + 195 => 'afii57411', + 196 => 'afii57412', + 197 => 'afii57413', + 198 => 'afii57414', + 199 => 'afii57415', + 200 => 'afii57416', + 201 => 'afii57417', + 202 => 'afii57418', + 203 => 'afii57419', + 204 => 'afii57420', + 205 => 'afii57421', + 206 => 'afii57422', + 207 => 'afii57423', + 208 => 'afii57424', + 209 => 'afii57425', + 210 => 'afii57426', + 211 => 'afii57427', + 212 => 'afii57428', + 213 => 'afii57429', + 214 => 'afii57430', + 215 => 'multiply', + 216 => 'afii57431', + 217 => 'afii57432', + 218 => 'afii57433', + 219 => 'afii57434', + 220 => 'afii57440', + 221 => 'afii57441', + 222 => 'afii57442', + 223 => 'afii57443', + 224 => 'agrave', + 225 => 'afii57444', + 226 => 'acircumflex', + 227 => 'afii57445', + 228 => 'afii57446', + 229 => 'afii57470', + 230 => 'afii57448', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'afii57449', + 237 => 'afii57450', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'afii57451', + 241 => 'afii57452', + 242 => 'afii57453', + 243 => 'afii57454', + 244 => 'ocircumflex', + 245 => 'afii57455', + 246 => 'afii57456', + 247 => 'divide', + 248 => 'afii57457', + 249 => 'ugrave', + 250 => 'afii57458', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'afii299', + 254 => 'afii300', + 255 => 'afii57519', + ], + // encoding map for: cp1257 + 'cp1257' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => '.notdef', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => '.notdef', + 137 => 'perthousand', + 138 => '.notdef', + 139 => 'guilsinglleft', + 140 => '.notdef', + 141 => 'dieresis', + 142 => 'caron', + 143 => 'cedilla', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => '.notdef', + 153 => 'trademark', + 154 => '.notdef', + 155 => 'guilsinglright', + 156 => '.notdef', + 157 => 'macron', + 158 => 'ogonek', + 159 => '.notdef', + 160 => 'space', + 161 => '.notdef', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => '.notdef', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'Oslash', + 169 => 'copyright', + 170 => 'Rcommaaccent', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'AE', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'oslash', + 185 => 'onesuperior', + 186 => 'rcommaaccent', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'ae', + 192 => 'Aogonek', + 193 => 'Iogonek', + 194 => 'Amacron', + 195 => 'Cacute', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'Eogonek', + 199 => 'Emacron', + 200 => 'Ccaron', + 201 => 'Eacute', + 202 => 'Zacute', + 203 => 'Edotaccent', + 204 => 'Gcommaaccent', + 205 => 'Kcommaaccent', + 206 => 'Imacron', + 207 => 'Lcommaaccent', + 208 => 'Scaron', + 209 => 'Nacute', + 210 => 'Ncommaaccent', + 211 => 'Oacute', + 212 => 'Omacron', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Uogonek', + 217 => 'Lslash', + 218 => 'Sacute', + 219 => 'Umacron', + 220 => 'Udieresis', + 221 => 'Zdotaccent', + 222 => 'Zcaron', + 223 => 'germandbls', + 224 => 'aogonek', + 225 => 'iogonek', + 226 => 'amacron', + 227 => 'cacute', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'eogonek', + 231 => 'emacron', + 232 => 'ccaron', + 233 => 'eacute', + 234 => 'zacute', + 235 => 'edotaccent', + 236 => 'gcommaaccent', + 237 => 'kcommaaccent', + 238 => 'imacron', + 239 => 'lcommaaccent', + 240 => 'scaron', + 241 => 'nacute', + 242 => 'ncommaaccent', + 243 => 'oacute', + 244 => 'omacron', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'uogonek', + 249 => 'lslash', + 250 => 'sacute', + 251 => 'umacron', + 252 => 'udieresis', + 253 => 'zdotaccent', + 254 => 'zcaron', + 255 => 'dotaccent', + ], + // encoding map for: cp1258 + 'cp1258' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'Euro', + 129 => '.notdef', + 130 => 'quotesinglbase', + 131 => 'florin', + 132 => 'quotedblbase', + 133 => 'ellipsis', + 134 => 'dagger', + 135 => 'daggerdbl', + 136 => 'circumflex', + 137 => 'perthousand', + 138 => '.notdef', + 139 => 'guilsinglleft', + 140 => 'OE', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => 'quoteleft', + 146 => 'quoteright', + 147 => 'quotedblleft', + 148 => 'quotedblright', + 149 => 'bullet', + 150 => 'endash', + 151 => 'emdash', + 152 => 'tilde', + 153 => 'trademark', + 154 => '.notdef', + 155 => 'guilsinglright', + 156 => 'oe', + 157 => '.notdef', + 158 => '.notdef', + 159 => 'Ydieresis', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'ordfeminine', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'ordmasculine', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'questiondown', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Abreve', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'gravecomb', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Dcroat', + 209 => 'Ntilde', + 210 => 'hookabovecomb', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Ohorn', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Uhorn', + 222 => 'tildecomb', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'abreve', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'acutecomb', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'dcroat', + 241 => 'ntilde', + 242 => 'dotbelowcomb', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'ohorn', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'uhorn', + 254 => 'dong', + 255 => 'ydieresis', + ], + // encoding map for: iso-8859-1 + 'iso-8859-1' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'ordfeminine', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'ordmasculine', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'questiondown', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Atilde', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'Igrave', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Eth', + 209 => 'Ntilde', + 210 => 'Ograve', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Yacute', + 222 => 'Thorn', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'atilde', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'igrave', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'eth', + 241 => 'ntilde', + 242 => 'ograve', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'yacute', + 254 => 'thorn', + 255 => 'ydieresis', + ], + // encoding map for: iso-8859-2 + 'iso-8859-2' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'Aogonek', + 162 => 'breve', + 163 => 'Lslash', + 164 => 'currency', + 165 => 'Lcaron', + 166 => 'Sacute', + 167 => 'section', + 168 => 'dieresis', + 169 => 'Scaron', + 170 => 'Scedilla', + 171 => 'Tcaron', + 172 => 'Zacute', + 173 => 'hyphen', + 174 => 'Zcaron', + 175 => 'Zdotaccent', + 176 => 'degree', + 177 => 'aogonek', + 178 => 'ogonek', + 179 => 'lslash', + 180 => 'acute', + 181 => 'lcaron', + 182 => 'sacute', + 183 => 'caron', + 184 => 'cedilla', + 185 => 'scaron', + 186 => 'scedilla', + 187 => 'tcaron', + 188 => 'zacute', + 189 => 'hungarumlaut', + 190 => 'zcaron', + 191 => 'zdotaccent', + 192 => 'Racute', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Abreve', + 196 => 'Adieresis', + 197 => 'Lacute', + 198 => 'Cacute', + 199 => 'Ccedilla', + 200 => 'Ccaron', + 201 => 'Eacute', + 202 => 'Eogonek', + 203 => 'Edieresis', + 204 => 'Ecaron', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Dcaron', + 208 => 'Dcroat', + 209 => 'Nacute', + 210 => 'Ncaron', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Ohungarumlaut', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Rcaron', + 217 => 'Uring', + 218 => 'Uacute', + 219 => 'Uhungarumlaut', + 220 => 'Udieresis', + 221 => 'Yacute', + 222 => 'Tcommaaccent', + 223 => 'germandbls', + 224 => 'racute', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'abreve', + 228 => 'adieresis', + 229 => 'lacute', + 230 => 'cacute', + 231 => 'ccedilla', + 232 => 'ccaron', + 233 => 'eacute', + 234 => 'eogonek', + 235 => 'edieresis', + 236 => 'ecaron', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'dcaron', + 240 => 'dcroat', + 241 => 'nacute', + 242 => 'ncaron', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'ohungarumlaut', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'rcaron', + 249 => 'uring', + 250 => 'uacute', + 251 => 'uhungarumlaut', + 252 => 'udieresis', + 253 => 'yacute', + 254 => 'tcommaaccent', + 255 => 'dotaccent', + ], + // encoding map for: iso-8859-4 + 'iso-8859-4' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'Aogonek', + 162 => 'kgreenlandic', + 163 => 'Rcommaaccent', + 164 => 'currency', + 165 => 'Itilde', + 166 => 'Lcommaaccent', + 167 => 'section', + 168 => 'dieresis', + 169 => 'Scaron', + 170 => 'Emacron', + 171 => 'Gcommaaccent', + 172 => 'Tbar', + 173 => 'hyphen', + 174 => 'Zcaron', + 175 => 'macron', + 176 => 'degree', + 177 => 'aogonek', + 178 => 'ogonek', + 179 => 'rcommaaccent', + 180 => 'acute', + 181 => 'itilde', + 182 => 'lcommaaccent', + 183 => 'caron', + 184 => 'cedilla', + 185 => 'scaron', + 186 => 'emacron', + 187 => 'gcommaaccent', + 188 => 'tbar', + 189 => 'Eng', + 190 => 'zcaron', + 191 => 'eng', + 192 => 'Amacron', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Atilde', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Iogonek', + 200 => 'Ccaron', + 201 => 'Eacute', + 202 => 'Eogonek', + 203 => 'Edieresis', + 204 => 'Edotaccent', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Imacron', + 208 => 'Dcroat', + 209 => 'Ncommaaccent', + 210 => 'Omacron', + 211 => 'Kcommaaccent', + 212 => 'Ocircumflex', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Uogonek', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Utilde', + 222 => 'Umacron', + 223 => 'germandbls', + 224 => 'amacron', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'atilde', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'iogonek', + 232 => 'ccaron', + 233 => 'eacute', + 234 => 'eogonek', + 235 => 'edieresis', + 236 => 'edotaccent', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'imacron', + 240 => 'dcroat', + 241 => 'ncommaaccent', + 242 => 'omacron', + 243 => 'kcommaaccent', + 244 => 'ocircumflex', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'uogonek', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'utilde', + 254 => 'umacron', + 255 => 'dotaccent', + ], + // encoding map for: iso-8859-5 + 'iso-8859-5' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'afii10023', + 162 => 'afii10051', + 163 => 'afii10052', + 164 => 'afii10053', + 165 => 'afii10054', + 166 => 'afii10055', + 167 => 'afii10056', + 168 => 'afii10057', + 169 => 'afii10058', + 170 => 'afii10059', + 171 => 'afii10060', + 172 => 'afii10061', + 173 => 'hyphen', + 174 => 'afii10062', + 175 => 'afii10145', + 176 => 'afii10017', + 177 => 'afii10018', + 178 => 'afii10019', + 179 => 'afii10020', + 180 => 'afii10021', + 181 => 'afii10022', + 182 => 'afii10024', + 183 => 'afii10025', + 184 => 'afii10026', + 185 => 'afii10027', + 186 => 'afii10028', + 187 => 'afii10029', + 188 => 'afii10030', + 189 => 'afii10031', + 190 => 'afii10032', + 191 => 'afii10033', + 192 => 'afii10034', + 193 => 'afii10035', + 194 => 'afii10036', + 195 => 'afii10037', + 196 => 'afii10038', + 197 => 'afii10039', + 198 => 'afii10040', + 199 => 'afii10041', + 200 => 'afii10042', + 201 => 'afii10043', + 202 => 'afii10044', + 203 => 'afii10045', + 204 => 'afii10046', + 205 => 'afii10047', + 206 => 'afii10048', + 207 => 'afii10049', + 208 => 'afii10065', + 209 => 'afii10066', + 210 => 'afii10067', + 211 => 'afii10068', + 212 => 'afii10069', + 213 => 'afii10070', + 214 => 'afii10072', + 215 => 'afii10073', + 216 => 'afii10074', + 217 => 'afii10075', + 218 => 'afii10076', + 219 => 'afii10077', + 220 => 'afii10078', + 221 => 'afii10079', + 222 => 'afii10080', + 223 => 'afii10081', + 224 => 'afii10082', + 225 => 'afii10083', + 226 => 'afii10084', + 227 => 'afii10085', + 228 => 'afii10086', + 229 => 'afii10087', + 230 => 'afii10088', + 231 => 'afii10089', + 232 => 'afii10090', + 233 => 'afii10091', + 234 => 'afii10092', + 235 => 'afii10093', + 236 => 'afii10094', + 237 => 'afii10095', + 238 => 'afii10096', + 239 => 'afii10097', + 240 => 'afii61352', + 241 => 'afii10071', + 242 => 'afii10099', + 243 => 'afii10100', + 244 => 'afii10101', + 245 => 'afii10102', + 246 => 'afii10103', + 247 => 'afii10104', + 248 => 'afii10105', + 249 => 'afii10106', + 250 => 'afii10107', + 251 => 'afii10108', + 252 => 'afii10109', + 253 => 'section', + 254 => 'afii10110', + 255 => 'afii10193', + ], + // encoding map for: iso-8859-7 + 'iso-8859-7' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'quoteleft', + 162 => 'quoteright', + 163 => 'sterling', + 164 => '.notdef', + 165 => '.notdef', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => '.notdef', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => '.notdef', + 175 => 'afii00208', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'tonos', + 181 => 'dieresistonos', + 182 => 'Alphatonos', + 183 => 'periodcentered', + 184 => 'Epsilontonos', + 185 => 'Etatonos', + 186 => 'Iotatonos', + 187 => 'guillemotright', + 188 => 'Omicrontonos', + 189 => 'onehalf', + 190 => 'Upsilontonos', + 191 => 'Omegatonos', + 192 => 'iotadieresistonos', + 193 => 'Alpha', + 194 => 'Beta', + 195 => 'Gamma', + 196 => 'Delta', + 197 => 'Epsilon', + 198 => 'Zeta', + 199 => 'Eta', + 200 => 'Theta', + 201 => 'Iota', + 202 => 'Kappa', + 203 => 'Lambda', + 204 => 'Mu', + 205 => 'Nu', + 206 => 'Xi', + 207 => 'Omicron', + 208 => 'Pi', + 209 => 'Rho', + 210 => '.notdef', + 211 => 'Sigma', + 212 => 'Tau', + 213 => 'Upsilon', + 214 => 'Phi', + 215 => 'Chi', + 216 => 'Psi', + 217 => 'Omega', + 218 => 'Iotadieresis', + 219 => 'Upsilondieresis', + 220 => 'alphatonos', + 221 => 'epsilontonos', + 222 => 'etatonos', + 223 => 'iotatonos', + 224 => 'upsilondieresistonos', + 225 => 'alpha', + 226 => 'beta', + 227 => 'gamma', + 228 => 'delta', + 229 => 'epsilon', + 230 => 'zeta', + 231 => 'eta', + 232 => 'theta', + 233 => 'iota', + 234 => 'kappa', + 235 => 'lambda', + 236 => 'mu', + 237 => 'nu', + 238 => 'xi', + 239 => 'omicron', + 240 => 'pi', + 241 => 'rho', + 242 => 'sigma1', + 243 => 'sigma', + 244 => 'tau', + 245 => 'upsilon', + 246 => 'phi', + 247 => 'chi', + 248 => 'psi', + 249 => 'omega', + 250 => 'iotadieresis', + 251 => 'upsilondieresis', + 252 => 'omicrontonos', + 253 => 'upsilontonos', + 254 => 'omegatonos', + 255 => '.notdef', + ], + // encoding map for: iso-8859-9 + 'iso-8859-9' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'currency', + 165 => 'yen', + 166 => 'brokenbar', + 167 => 'section', + 168 => 'dieresis', + 169 => 'copyright', + 170 => 'ordfeminine', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'acute', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'cedilla', + 185 => 'onesuperior', + 186 => 'ordmasculine', + 187 => 'guillemotright', + 188 => 'onequarter', + 189 => 'onehalf', + 190 => 'threequarters', + 191 => 'questiondown', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Atilde', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'Igrave', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Gbreve', + 209 => 'Ntilde', + 210 => 'Ograve', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Idotaccent', + 222 => 'Scedilla', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'atilde', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'igrave', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'gbreve', + 241 => 'ntilde', + 242 => 'ograve', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'dotlessi', + 254 => 'scedilla', + 255 => 'ydieresis', + ], + // encoding map for: iso-8859-11 + 'iso-8859-11' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'kokaithai', + 162 => 'khokhaithai', + 163 => 'khokhuatthai', + 164 => 'khokhwaithai', + 165 => 'khokhonthai', + 166 => 'khorakhangthai', + 167 => 'ngonguthai', + 168 => 'chochanthai', + 169 => 'chochingthai', + 170 => 'chochangthai', + 171 => 'sosothai', + 172 => 'chochoethai', + 173 => 'yoyingthai', + 174 => 'dochadathai', + 175 => 'topatakthai', + 176 => 'thothanthai', + 177 => 'thonangmonthothai', + 178 => 'thophuthaothai', + 179 => 'nonenthai', + 180 => 'dodekthai', + 181 => 'totaothai', + 182 => 'thothungthai', + 183 => 'thothahanthai', + 184 => 'thothongthai', + 185 => 'nonuthai', + 186 => 'bobaimaithai', + 187 => 'poplathai', + 188 => 'phophungthai', + 189 => 'fofathai', + 190 => 'phophanthai', + 191 => 'fofanthai', + 192 => 'phosamphaothai', + 193 => 'momathai', + 194 => 'yoyakthai', + 195 => 'roruathai', + 196 => 'ruthai', + 197 => 'lolingthai', + 198 => 'luthai', + 199 => 'wowaenthai', + 200 => 'sosalathai', + 201 => 'sorusithai', + 202 => 'sosuathai', + 203 => 'hohipthai', + 204 => 'lochulathai', + 205 => 'oangthai', + 206 => 'honokhukthai', + 207 => 'paiyannoithai', + 208 => 'saraathai', + 209 => 'maihanakatthai', + 210 => 'saraaathai', + 211 => 'saraamthai', + 212 => 'saraithai', + 213 => 'saraiithai', + 214 => 'sarauethai', + 215 => 'saraueethai', + 216 => 'sarauthai', + 217 => 'sarauuthai', + 218 => 'phinthuthai', + 219 => '.notdef', + 220 => '.notdef', + 221 => '.notdef', + 222 => '.notdef', + 223 => 'bahtthai', + 224 => 'saraethai', + 225 => 'saraaethai', + 226 => 'saraothai', + 227 => 'saraaimaimuanthai', + 228 => 'saraaimaimalaithai', + 229 => 'lakkhangyaothai', + 230 => 'maiyamokthai', + 231 => 'maitaikhuthai', + 232 => 'maiekthai', + 233 => 'maithothai', + 234 => 'maitrithai', + 235 => 'maichattawathai', + 236 => 'thanthakhatthai', + 237 => 'nikhahitthai', + 238 => 'yamakkanthai', + 239 => 'fongmanthai', + 240 => 'zerothai', + 241 => 'onethai', + 242 => 'twothai', + 243 => 'threethai', + 244 => 'fourthai', + 245 => 'fivethai', + 246 => 'sixthai', + 247 => 'seventhai', + 248 => 'eightthai', + 249 => 'ninethai', + 250 => 'angkhankhuthai', + 251 => 'khomutthai', + 252 => '.notdef', + 253 => '.notdef', + 254 => '.notdef', + 255 => '.notdef', + ], + // encoding map for: iso-8859-15 + 'iso-8859-15' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'exclamdown', + 162 => 'cent', + 163 => 'sterling', + 164 => 'Euro', + 165 => 'yen', + 166 => 'Scaron', + 167 => 'section', + 168 => 'scaron', + 169 => 'copyright', + 170 => 'ordfeminine', + 171 => 'guillemotleft', + 172 => 'logicalnot', + 173 => 'hyphen', + 174 => 'registered', + 175 => 'macron', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'twosuperior', + 179 => 'threesuperior', + 180 => 'Zcaron', + 181 => 'mu', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'zcaron', + 185 => 'onesuperior', + 186 => 'ordmasculine', + 187 => 'guillemotright', + 188 => 'OE', + 189 => 'oe', + 190 => 'Ydieresis', + 191 => 'questiondown', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Atilde', + 196 => 'Adieresis', + 197 => 'Aring', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'Igrave', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Eth', + 209 => 'Ntilde', + 210 => 'Ograve', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Otilde', + 214 => 'Odieresis', + 215 => 'multiply', + 216 => 'Oslash', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Yacute', + 222 => 'Thorn', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'atilde', + 228 => 'adieresis', + 229 => 'aring', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'igrave', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'eth', + 241 => 'ntilde', + 242 => 'ograve', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'otilde', + 246 => 'odieresis', + 247 => 'divide', + 248 => 'oslash', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'yacute', + 254 => 'thorn', + 255 => 'ydieresis', + ], + // encoding map for: iso-8859-16 + 'iso-8859-16' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'space', + 161 => 'Aogonek', + 162 => 'aogonek', + 163 => 'Lslash', + 164 => 'Euro', + 165 => 'quotedblbase', + 166 => 'Scaron', + 167 => 'section', + 168 => 'scaron', + 169 => 'copyright', + 170 => 'Scommaaccent', + 171 => 'guillemotleft', + 172 => 'Zacute', + 173 => 'hyphen', + 174 => 'zacute', + 175 => 'Zdotaccent', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'Ccaron', + 179 => 'lslash', + 180 => 'Zcaron', + 181 => 'quotedblright', + 182 => 'paragraph', + 183 => 'periodcentered', + 184 => 'zcaron', + 185 => 'ccaron', + 186 => 'scommaaccent', + 187 => 'guillemotright', + 188 => 'OE', + 189 => 'oe', + 190 => 'Ydieresis', + 191 => 'zdotaccent', + 192 => 'Agrave', + 193 => 'Aacute', + 194 => 'Acircumflex', + 195 => 'Abreve', + 196 => 'Adieresis', + 197 => 'Cacute', + 198 => 'AE', + 199 => 'Ccedilla', + 200 => 'Egrave', + 201 => 'Eacute', + 202 => 'Ecircumflex', + 203 => 'Edieresis', + 204 => 'Igrave', + 205 => 'Iacute', + 206 => 'Icircumflex', + 207 => 'Idieresis', + 208 => 'Dcroat', + 209 => 'Nacute', + 210 => 'Ograve', + 211 => 'Oacute', + 212 => 'Ocircumflex', + 213 => 'Ohungarumlaut', + 214 => 'Odieresis', + 215 => 'Sacute', + 216 => 'Uhungarumlaut', + 217 => 'Ugrave', + 218 => 'Uacute', + 219 => 'Ucircumflex', + 220 => 'Udieresis', + 221 => 'Eogonek', + 222 => 'Tcommaaccent', + 223 => 'germandbls', + 224 => 'agrave', + 225 => 'aacute', + 226 => 'acircumflex', + 227 => 'abreve', + 228 => 'adieresis', + 229 => 'cacute', + 230 => 'ae', + 231 => 'ccedilla', + 232 => 'egrave', + 233 => 'eacute', + 234 => 'ecircumflex', + 235 => 'edieresis', + 236 => 'igrave', + 237 => 'iacute', + 238 => 'icircumflex', + 239 => 'idieresis', + 240 => 'dcroat', + 241 => 'nacute', + 242 => 'ograve', + 243 => 'oacute', + 244 => 'ocircumflex', + 245 => 'ohungarumlaut', + 246 => 'odieresis', + 247 => 'sacute', + 248 => 'uhungarumlaut', + 249 => 'ugrave', + 250 => 'uacute', + 251 => 'ucircumflex', + 252 => 'udieresis', + 253 => 'eogonek', + 254 => 'tcommaaccent', + 255 => 'ydieresis', + ], + // encoding map for: koi8-r + 'koi8-r' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'SF100000', + 129 => 'SF110000', + 130 => 'SF010000', + 131 => 'SF030000', + 132 => 'SF020000', + 133 => 'SF040000', + 134 => 'SF080000', + 135 => 'SF090000', + 136 => 'SF060000', + 137 => 'SF070000', + 138 => 'SF050000', + 139 => 'upblock', + 140 => 'dnblock', + 141 => 'block', + 142 => 'lfblock', + 143 => 'rtblock', + 144 => 'ltshade', + 145 => 'shade', + 146 => 'dkshade', + 147 => 'integraltp', + 148 => 'filledbox', + 149 => 'periodcentered', + 150 => 'radical', + 151 => 'approxequal', + 152 => 'lessequal', + 153 => 'greaterequal', + 154 => 'space', + 155 => 'integralbt', + 156 => 'degree', + 157 => 'twosuperior', + 158 => 'periodcentered', + 159 => 'divide', + 160 => 'SF430000', + 161 => 'SF240000', + 162 => 'SF510000', + 163 => 'afii10071', + 164 => 'SF520000', + 165 => 'SF390000', + 166 => 'SF220000', + 167 => 'SF210000', + 168 => 'SF250000', + 169 => 'SF500000', + 170 => 'SF490000', + 171 => 'SF380000', + 172 => 'SF280000', + 173 => 'SF270000', + 174 => 'SF260000', + 175 => 'SF360000', + 176 => 'SF370000', + 177 => 'SF420000', + 178 => 'SF190000', + 179 => 'afii10023', + 180 => 'SF200000', + 181 => 'SF230000', + 182 => 'SF470000', + 183 => 'SF480000', + 184 => 'SF410000', + 185 => 'SF450000', + 186 => 'SF460000', + 187 => 'SF400000', + 188 => 'SF540000', + 189 => 'SF530000', + 190 => 'SF440000', + 191 => 'copyright', + 192 => 'afii10096', + 193 => 'afii10065', + 194 => 'afii10066', + 195 => 'afii10088', + 196 => 'afii10069', + 197 => 'afii10070', + 198 => 'afii10086', + 199 => 'afii10068', + 200 => 'afii10087', + 201 => 'afii10074', + 202 => 'afii10075', + 203 => 'afii10076', + 204 => 'afii10077', + 205 => 'afii10078', + 206 => 'afii10079', + 207 => 'afii10080', + 208 => 'afii10081', + 209 => 'afii10097', + 210 => 'afii10082', + 211 => 'afii10083', + 212 => 'afii10084', + 213 => 'afii10085', + 214 => 'afii10072', + 215 => 'afii10067', + 216 => 'afii10094', + 217 => 'afii10093', + 218 => 'afii10073', + 219 => 'afii10090', + 220 => 'afii10095', + 221 => 'afii10091', + 222 => 'afii10089', + 223 => 'afii10092', + 224 => 'afii10048', + 225 => 'afii10017', + 226 => 'afii10018', + 227 => 'afii10040', + 228 => 'afii10021', + 229 => 'afii10022', + 230 => 'afii10038', + 231 => 'afii10020', + 232 => 'afii10039', + 233 => 'afii10026', + 234 => 'afii10027', + 235 => 'afii10028', + 236 => 'afii10029', + 237 => 'afii10030', + 238 => 'afii10031', + 239 => 'afii10032', + 240 => 'afii10033', + 241 => 'afii10049', + 242 => 'afii10034', + 243 => 'afii10035', + 244 => 'afii10036', + 245 => 'afii10037', + 246 => 'afii10024', + 247 => 'afii10019', + 248 => 'afii10046', + 249 => 'afii10045', + 250 => 'afii10025', + 251 => 'afii10042', + 252 => 'afii10047', + 253 => 'afii10043', + 254 => 'afii10041', + 255 => 'afii10044', + ], + // encoding map for: koi8-u + 'koi8-u' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'quotedbl', + 35 => 'numbersign', + 36 => 'dollar', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'quotesingle', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asterisk', + 43 => 'plus', + 44 => 'comma', + 45 => 'hyphen', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'at', + 65 => 'A', + 66 => 'B', + 67 => 'C', + 68 => 'D', + 69 => 'E', + 70 => 'F', + 71 => 'G', + 72 => 'H', + 73 => 'I', + 74 => 'J', + 75 => 'K', + 76 => 'L', + 77 => 'M', + 78 => 'N', + 79 => 'O', + 80 => 'P', + 81 => 'Q', + 82 => 'R', + 83 => 'S', + 84 => 'T', + 85 => 'U', + 86 => 'V', + 87 => 'W', + 88 => 'X', + 89 => 'Y', + 90 => 'Z', + 91 => 'bracketleft', + 92 => 'backslash', + 93 => 'bracketright', + 94 => 'asciicircum', + 95 => 'underscore', + 96 => 'grave', + 97 => 'a', + 98 => 'b', + 99 => 'c', + 100 => 'd', + 101 => 'e', + 102 => 'f', + 103 => 'g', + 104 => 'h', + 105 => 'i', + 106 => 'j', + 107 => 'k', + 108 => 'l', + 109 => 'm', + 110 => 'n', + 111 => 'o', + 112 => 'p', + 113 => 'q', + 114 => 'r', + 115 => 's', + 116 => 't', + 117 => 'u', + 118 => 'v', + 119 => 'w', + 120 => 'x', + 121 => 'y', + 122 => 'z', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'asciitilde', + 127 => '.notdef', + 128 => 'SF100000', + 129 => 'SF110000', + 130 => 'SF010000', + 131 => 'SF030000', + 132 => 'SF020000', + 133 => 'SF040000', + 134 => 'SF080000', + 135 => 'SF090000', + 136 => 'SF060000', + 137 => 'SF070000', + 138 => 'SF050000', + 139 => 'upblock', + 140 => 'dnblock', + 141 => 'block', + 142 => 'lfblock', + 143 => 'rtblock', + 144 => 'ltshade', + 145 => 'shade', + 146 => 'dkshade', + 147 => 'integraltp', + 148 => 'filledbox', + 149 => 'bullet', + 150 => 'radical', + 151 => 'approxequal', + 152 => 'lessequal', + 153 => 'greaterequal', + 154 => 'space', + 155 => 'integralbt', + 156 => 'degree', + 157 => 'twosuperior', + 158 => 'periodcentered', + 159 => 'divide', + 160 => 'SF430000', + 161 => 'SF240000', + 162 => 'SF510000', + 163 => 'afii10071', + 164 => 'afii10101', + 165 => 'SF390000', + 166 => 'afii10103', + 167 => 'afii10104', + 168 => 'SF250000', + 169 => 'SF500000', + 170 => 'SF490000', + 171 => 'SF380000', + 172 => 'SF280000', + 173 => 'afii10098', + 174 => 'SF260000', + 175 => 'SF360000', + 176 => 'SF370000', + 177 => 'SF420000', + 178 => 'SF190000', + 179 => 'afii10023', + 180 => 'afii10053', + 181 => 'SF230000', + 182 => 'afii10055', + 183 => 'afii10056', + 184 => 'SF410000', + 185 => 'SF450000', + 186 => 'SF460000', + 187 => 'SF400000', + 188 => 'SF540000', + 189 => 'afii10050', + 190 => 'SF440000', + 191 => 'copyright', + 192 => 'afii10096', + 193 => 'afii10065', + 194 => 'afii10066', + 195 => 'afii10088', + 196 => 'afii10069', + 197 => 'afii10070', + 198 => 'afii10086', + 199 => 'afii10068', + 200 => 'afii10087', + 201 => 'afii10074', + 202 => 'afii10075', + 203 => 'afii10076', + 204 => 'afii10077', + 205 => 'afii10078', + 206 => 'afii10079', + 207 => 'afii10080', + 208 => 'afii10081', + 209 => 'afii10097', + 210 => 'afii10082', + 211 => 'afii10083', + 212 => 'afii10084', + 213 => 'afii10085', + 214 => 'afii10072', + 215 => 'afii10067', + 216 => 'afii10094', + 217 => 'afii10093', + 218 => 'afii10073', + 219 => 'afii10090', + 220 => 'afii10095', + 221 => 'afii10091', + 222 => 'afii10089', + 223 => 'afii10092', + 224 => 'afii10048', + 225 => 'afii10017', + 226 => 'afii10018', + 227 => 'afii10040', + 228 => 'afii10021', + 229 => 'afii10022', + 230 => 'afii10038', + 231 => 'afii10020', + 232 => 'afii10039', + 233 => 'afii10026', + 234 => 'afii10027', + 235 => 'afii10028', + 236 => 'afii10029', + 237 => 'afii10030', + 238 => 'afii10031', + 239 => 'afii10032', + 240 => 'afii10033', + 241 => 'afii10049', + 242 => 'afii10034', + 243 => 'afii10035', + 244 => 'afii10036', + 245 => 'afii10037', + 246 => 'afii10024', + 247 => 'afii10019', + 248 => 'afii10046', + 249 => 'afii10045', + 250 => 'afii10025', + 251 => 'afii10042', + 252 => 'afii10047', + 253 => 'afii10043', + 254 => 'afii10041', + 255 => 'afii10044', + ], + // encoding map for: symbol + 'symbol' => [ + 0 => '.notdef', + 1 => '.notdef', + 2 => '.notdef', + 3 => '.notdef', + 4 => '.notdef', + 5 => '.notdef', + 6 => '.notdef', + 7 => '.notdef', + 8 => '.notdef', + 9 => '.notdef', + 10 => '.notdef', + 11 => '.notdef', + 12 => '.notdef', + 13 => '.notdef', + 14 => '.notdef', + 15 => '.notdef', + 16 => '.notdef', + 17 => '.notdef', + 18 => '.notdef', + 19 => '.notdef', + 20 => '.notdef', + 21 => '.notdef', + 22 => '.notdef', + 23 => '.notdef', + 24 => '.notdef', + 25 => '.notdef', + 26 => '.notdef', + 27 => '.notdef', + 28 => '.notdef', + 29 => '.notdef', + 30 => '.notdef', + 31 => '.notdef', + 32 => 'space', + 33 => 'exclam', + 34 => 'universal', + 35 => 'numbersign', + 36 => 'existential', + 37 => 'percent', + 38 => 'ampersand', + 39 => 'suchthat', + 40 => 'parenleft', + 41 => 'parenright', + 42 => 'asteriskmath', + 43 => 'plus', + 44 => 'comma', + 45 => 'minus', + 46 => 'period', + 47 => 'slash', + 48 => 'zero', + 49 => 'one', + 50 => 'two', + 51 => 'three', + 52 => 'four', + 53 => 'five', + 54 => 'six', + 55 => 'seven', + 56 => 'eight', + 57 => 'nine', + 58 => 'colon', + 59 => 'semicolon', + 60 => 'less', + 61 => 'equal', + 62 => 'greater', + 63 => 'question', + 64 => 'congruent', + 65 => 'Alpha', + 66 => 'Beta', + 67 => 'Chi', + 68 => 'Delta', + 69 => 'Epsilon', + 70 => 'Phi', + 71 => 'Gamma', + 72 => 'Eta', + 73 => 'Iota', + 74 => 'theta1', + 75 => 'Kappa', + 76 => 'Lambda', + 77 => 'Mu', + 78 => 'Nu', + 79 => 'Omicron', + 80 => 'Pi', + 81 => 'Theta', + 82 => 'Rho', + 83 => 'Sigma', + 84 => 'Tau', + 85 => 'Upsilon', + 86 => 'sigma1', + 87 => 'Omega', + 88 => 'Xi', + 89 => 'Psi', + 90 => 'Zeta', + 91 => 'bracketleft', + 92 => 'therefore', + 93 => 'bracketright', + 94 => 'perpendicular', + 95 => 'underscore', + 96 => 'radicalex', + 97 => 'alpha', + 98 => 'beta', + 99 => 'chi', + 100 => 'delta', + 101 => 'epsilon', + 102 => 'phi', + 103 => 'gamma', + 104 => 'eta', + 105 => 'iota', + 106 => 'phi1', + 107 => 'kappa', + 108 => 'lambda', + 109 => 'mu', + 110 => 'nu', + 111 => 'omicron', + 112 => 'pi', + 113 => 'theta', + 114 => 'rho', + 115 => 'sigma', + 116 => 'tau', + 117 => 'upsilon', + 118 => 'omega1', + 119 => 'omega', + 120 => 'xi', + 121 => 'psi', + 122 => 'zeta', + 123 => 'braceleft', + 124 => 'bar', + 125 => 'braceright', + 126 => 'similar', + 127 => '.notdef', + 128 => '.notdef', + 129 => '.notdef', + 130 => '.notdef', + 131 => '.notdef', + 132 => '.notdef', + 133 => '.notdef', + 134 => '.notdef', + 135 => '.notdef', + 136 => '.notdef', + 137 => '.notdef', + 138 => '.notdef', + 139 => '.notdef', + 140 => '.notdef', + 141 => '.notdef', + 142 => '.notdef', + 143 => '.notdef', + 144 => '.notdef', + 145 => '.notdef', + 146 => '.notdef', + 147 => '.notdef', + 148 => '.notdef', + 149 => '.notdef', + 150 => '.notdef', + 151 => '.notdef', + 152 => '.notdef', + 153 => '.notdef', + 154 => '.notdef', + 155 => '.notdef', + 156 => '.notdef', + 157 => '.notdef', + 158 => '.notdef', + 159 => '.notdef', + 160 => 'Euro', + 161 => 'Upsilon1', + 162 => 'minute', + 163 => 'lessequal', + 164 => 'fraction', + 165 => 'infinity', + 166 => 'florin', + 167 => 'club', + 168 => 'diamond', + 169 => 'heart', + 170 => 'spade', + 171 => 'arrowboth', + 172 => 'arrowleft', + 173 => 'arrowup', + 174 => 'arrowright', + 175 => 'arrowdown', + 176 => 'degree', + 177 => 'plusminus', + 178 => 'second', + 179 => 'greaterequal', + 180 => 'multiply', + 181 => 'proportional', + 182 => 'partialdiff', + 183 => 'bullet', + 184 => 'divide', + 185 => 'notequal', + 186 => 'equivalence', + 187 => 'approxequal', + 188 => 'ellipsis', + 189 => 'arrowvertex', + 190 => 'arrowhorizex', + 191 => 'carriagereturn', + 192 => 'aleph', + 193 => 'Ifraktur', + 194 => 'Rfraktur', + 195 => 'weierstrass', + 196 => 'circlemultiply', + 197 => 'circleplus', + 198 => 'emptyset', + 199 => 'intersection', + 200 => 'union', + 201 => 'propersuperset', + 202 => 'reflexsuperset', + 203 => 'notsubset', + 204 => 'propersubset', + 205 => 'reflexsubset', + 206 => 'element', + 207 => 'notelement', + 208 => 'angle', + 209 => 'gradient', + 210 => 'registerserif', + 211 => 'copyrightserif', + 212 => 'trademarkserif', + 213 => 'product', + 214 => 'radical', + 215 => 'dotmath', + 216 => 'logicalnot', + 217 => 'logicaland', + 218 => 'logicalor', + 219 => 'arrowdblboth', + 220 => 'arrowdblleft', + 221 => 'arrowdblup', + 222 => 'arrowdblright', + 223 => 'arrowdbldown', + 224 => 'lozenge', + 225 => 'angleleft', + 226 => 'registersans', + 227 => 'copyrightsans', + 228 => 'trademarksans', + 229 => 'summation', + 230 => 'parenlefttp', + 231 => 'parenleftex', + 232 => 'parenleftbt', + 233 => 'bracketlefttp', + 234 => 'bracketleftex', + 235 => 'bracketleftbt', + 236 => 'bracelefttp', + 237 => 'braceleftmid', + 238 => 'braceleftbt', + 239 => 'braceex', + 240 => '.notdef', + 241 => 'angleright', + 242 => 'integral', + 243 => 'integraltp', + 244 => 'integralex', + 245 => 'integralbt', + 246 => 'parenrighttp', + 247 => 'parenrightex', + 248 => 'parenrightbt', + 249 => 'bracketrighttp', + 250 => 'bracketrightex', + 251 => 'bracketrightbt', + 252 => 'bracerighttp', + 253 => 'bracerightmid', + 254 => 'bracerightbt', + 255 => '.notdef', + 1226 => 'registered', + 1227 => 'copyright', + 1228 => 'trademark', + ], + ]; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Identity.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Identity.php new file mode 100644 index 0000000..7fc71f5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Identity.php @@ -0,0 +1,313 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Identity + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Identity +{ + /** + * ToUnicode map for Identity-H stream + */ + public const CIDHMAP = <<> def +/CMapName /Adobe-Identity-UCS def +/CMapType 2 def +/WMode 0 def +1 begincodespacerange +<0000> +endcodespacerange +100 beginbfrange +<0000> <00ff> <0000> +<0100> <01ff> <0100> +<0200> <02ff> <0200> +<0300> <03ff> <0300> +<0400> <04ff> <0400> +<0500> <05ff> <0500> +<0600> <06ff> <0600> +<0700> <07ff> <0700> +<0800> <08ff> <0800> +<0900> <09ff> <0900> +<0a00> <0aff> <0a00> +<0b00> <0bff> <0b00> +<0c00> <0cff> <0c00> +<0d00> <0dff> <0d00> +<0e00> <0eff> <0e00> +<0f00> <0fff> <0f00> +<1000> <10ff> <1000> +<1100> <11ff> <1100> +<1200> <12ff> <1200> +<1300> <13ff> <1300> +<1400> <14ff> <1400> +<1500> <15ff> <1500> +<1600> <16ff> <1600> +<1700> <17ff> <1700> +<1800> <18ff> <1800> +<1900> <19ff> <1900> +<1a00> <1aff> <1a00> +<1b00> <1bff> <1b00> +<1c00> <1cff> <1c00> +<1d00> <1dff> <1d00> +<1e00> <1eff> <1e00> +<1f00> <1fff> <1f00> +<2000> <20ff> <2000> +<2100> <21ff> <2100> +<2200> <22ff> <2200> +<2300> <23ff> <2300> +<2400> <24ff> <2400> +<2500> <25ff> <2500> +<2600> <26ff> <2600> +<2700> <27ff> <2700> +<2800> <28ff> <2800> +<2900> <29ff> <2900> +<2a00> <2aff> <2a00> +<2b00> <2bff> <2b00> +<2c00> <2cff> <2c00> +<2d00> <2dff> <2d00> +<2e00> <2eff> <2e00> +<2f00> <2fff> <2f00> +<3000> <30ff> <3000> +<3100> <31ff> <3100> +<3200> <32ff> <3200> +<3300> <33ff> <3300> +<3400> <34ff> <3400> +<3500> <35ff> <3500> +<3600> <36ff> <3600> +<3700> <37ff> <3700> +<3800> <38ff> <3800> +<3900> <39ff> <3900> +<3a00> <3aff> <3a00> +<3b00> <3bff> <3b00> +<3c00> <3cff> <3c00> +<3d00> <3dff> <3d00> +<3e00> <3eff> <3e00> +<3f00> <3fff> <3f00> +<4000> <40ff> <4000> +<4100> <41ff> <4100> +<4200> <42ff> <4200> +<4300> <43ff> <4300> +<4400> <44ff> <4400> +<4500> <45ff> <4500> +<4600> <46ff> <4600> +<4700> <47ff> <4700> +<4800> <48ff> <4800> +<4900> <49ff> <4900> +<4a00> <4aff> <4a00> +<4b00> <4bff> <4b00> +<4c00> <4cff> <4c00> +<4d00> <4dff> <4d00> +<4e00> <4eff> <4e00> +<4f00> <4fff> <4f00> +<5000> <50ff> <5000> +<5100> <51ff> <5100> +<5200> <52ff> <5200> +<5300> <53ff> <5300> +<5400> <54ff> <5400> +<5500> <55ff> <5500> +<5600> <56ff> <5600> +<5700> <57ff> <5700> +<5800> <58ff> <5800> +<5900> <59ff> <5900> +<5a00> <5aff> <5a00> +<5b00> <5bff> <5b00> +<5c00> <5cff> <5c00> +<5d00> <5dff> <5d00> +<5e00> <5eff> <5e00> +<5f00> <5fff> <5f00> +<6000> <60ff> <6000> +<6100> <61ff> <6100> +<6200> <62ff> <6200> +<6300> <63ff> <6300> +endbfrange +100 beginbfrange +<6400> <64ff> <6400> +<6500> <65ff> <6500> +<6600> <66ff> <6600> +<6700> <67ff> <6700> +<6800> <68ff> <6800> +<6900> <69ff> <6900> +<6a00> <6aff> <6a00> +<6b00> <6bff> <6b00> +<6c00> <6cff> <6c00> +<6d00> <6dff> <6d00> +<6e00> <6eff> <6e00> +<6f00> <6fff> <6f00> +<7000> <70ff> <7000> +<7100> <71ff> <7100> +<7200> <72ff> <7200> +<7300> <73ff> <7300> +<7400> <74ff> <7400> +<7500> <75ff> <7500> +<7600> <76ff> <7600> +<7700> <77ff> <7700> +<7800> <78ff> <7800> +<7900> <79ff> <7900> +<7a00> <7aff> <7a00> +<7b00> <7bff> <7b00> +<7c00> <7cff> <7c00> +<7d00> <7dff> <7d00> +<7e00> <7eff> <7e00> +<7f00> <7fff> <7f00> +<8000> <80ff> <8000> +<8100> <81ff> <8100> +<8200> <82ff> <8200> +<8300> <83ff> <8300> +<8400> <84ff> <8400> +<8500> <85ff> <8500> +<8600> <86ff> <8600> +<8700> <87ff> <8700> +<8800> <88ff> <8800> +<8900> <89ff> <8900> +<8a00> <8aff> <8a00> +<8b00> <8bff> <8b00> +<8c00> <8cff> <8c00> +<8d00> <8dff> <8d00> +<8e00> <8eff> <8e00> +<8f00> <8fff> <8f00> +<9000> <90ff> <9000> +<9100> <91ff> <9100> +<9200> <92ff> <9200> +<9300> <93ff> <9300> +<9400> <94ff> <9400> +<9500> <95ff> <9500> +<9600> <96ff> <9600> +<9700> <97ff> <9700> +<9800> <98ff> <9800> +<9900> <99ff> <9900> +<9a00> <9aff> <9a00> +<9b00> <9bff> <9b00> +<9c00> <9cff> <9c00> +<9d00> <9dff> <9d00> +<9e00> <9eff> <9e00> +<9f00> <9fff> <9f00> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +endbfrange +56 beginbfrange + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +endbfrange +endcmap +CMapName currentdict /CMap defineresource pop +end +end +EOD; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Latin.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Latin.php new file mode 100644 index 0000000..410d934 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Latin.php @@ -0,0 +1,66 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Latin + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Latin +{ + /** + * Array of character substitutions from UTF-8 Unicode to Latin1. + * + * @var array + */ + public const SUBSTITUTE = [ + 8364 => 128, // Euro1 + 338 => 140, // OE + 352 => 138, // Scaron + 376 => 159, // Ydieresis + 381 => 142, // Zcaron2 + 8226 => 149, // bullet3 + 710 => 136, // circumflex + 8224 => 134, // dagger + 8225 => 135, // daggerdbl + 8230 => 133, // ellipsis + 8212 => 151, // emdash + 8211 => 150, // endash + 402 => 131, // florin + 8249 => 139, // guilsinglleft + 8250 => 155, // guilsinglright + 339 => 156, // oe + 8240 => 137, // perthousand + 8222 => 132, // quotedblbase + 8220 => 147, // quotedblleft + 8221 => 148, // quotedblright + 8216 => 145, // quoteleft + 8217 => 146, // quoteright + 8218 => 130, // quotesinglbase + 353 => 154, // scaron + 732 => 152, // tilde + 8482 => 153, // trademark + 382 => 158, // zcaron2 + ]; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Mirror.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Mirror.php new file mode 100644 index 0000000..def4a87 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Mirror.php @@ -0,0 +1,393 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Mirror + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Mirror +{ + /** + * Mirror unicode characters. + * For information on bidi mirroring, see UAX #9: + * Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/. + * + * @var array + */ + public const UNI = [ + 0x0028 => 0x0029, + 0x0029 => 0x0028, + 0x003C => 0x003E, + 0x003E => 0x003C, + 0x005B => 0x005D, + 0x005D => 0x005B, + 0x007B => 0x007D, + 0x007D => 0x007B, + 0x00AB => 0x00BB, + 0x00BB => 0x00AB, + 0x0F3A => 0x0F3B, + 0x0F3B => 0x0F3A, + 0x0F3C => 0x0F3D, + 0x0F3D => 0x0F3C, + 0x169B => 0x169C, + 0x169C => 0x169B, + 0x2018 => 0x2019, + 0x2019 => 0x2018, + 0x201C => 0x201D, + 0x201D => 0x201C, + 0x2039 => 0x203A, + 0x203A => 0x2039, + 0x2045 => 0x2046, + 0x2046 => 0x2045, + 0x207D => 0x207E, + 0x207E => 0x207D, + 0x208D => 0x208E, + 0x208E => 0x208D, + 0x2208 => 0x220B, + 0x2209 => 0x220C, + 0x220A => 0x220D, + 0x220B => 0x2208, + 0x220C => 0x2209, + 0x220D => 0x220A, + 0x2215 => 0x29F5, + 0x223C => 0x223D, + 0x223D => 0x223C, + 0x2243 => 0x22CD, + 0x2252 => 0x2253, + 0x2253 => 0x2252, + 0x2254 => 0x2255, + 0x2255 => 0x2254, + 0x2264 => 0x2265, + 0x2265 => 0x2264, + 0x2266 => 0x2267, + 0x2267 => 0x2266, + 0x2268 => 0x2269, + 0x2269 => 0x2268, + 0x226A => 0x226B, + 0x226B => 0x226A, + 0x226E => 0x226F, + 0x226F => 0x226E, + 0x2270 => 0x2271, + 0x2271 => 0x2270, + 0x2272 => 0x2273, + 0x2273 => 0x2272, + 0x2274 => 0x2275, + 0x2275 => 0x2274, + 0x2276 => 0x2277, + 0x2277 => 0x2276, + 0x2278 => 0x2279, + 0x2279 => 0x2278, + 0x227A => 0x227B, + 0x227B => 0x227A, + 0x227C => 0x227D, + 0x227D => 0x227C, + 0x227E => 0x227F, + 0x227F => 0x227E, + 0x2280 => 0x2281, + 0x2281 => 0x2280, + 0x2282 => 0x2283, + 0x2283 => 0x2282, + 0x2284 => 0x2285, + 0x2285 => 0x2284, + 0x2286 => 0x2287, + 0x2287 => 0x2286, + 0x2288 => 0x2289, + 0x2289 => 0x2288, + 0x228A => 0x228B, + 0x228B => 0x228A, + 0x228F => 0x2290, + 0x2290 => 0x228F, + 0x2291 => 0x2292, + 0x2292 => 0x2291, + 0x2298 => 0x29B8, + 0x22A2 => 0x22A3, + 0x22A3 => 0x22A2, + 0x22A6 => 0x2ADE, + 0x22A8 => 0x2AE4, + 0x22A9 => 0x2AE3, + 0x22AB => 0x2AE5, + 0x22B0 => 0x22B1, + 0x22B1 => 0x22B0, + 0x22B2 => 0x22B3, + 0x22B3 => 0x22B2, + 0x22B4 => 0x22B5, + 0x22B5 => 0x22B4, + 0x22B6 => 0x22B7, + 0x22B7 => 0x22B6, + 0x22C9 => 0x22CA, + 0x22CA => 0x22C9, + 0x22CB => 0x22CC, + 0x22CC => 0x22CB, + 0x22CD => 0x2243, + 0x22D0 => 0x22D1, + 0x22D1 => 0x22D0, + 0x22D6 => 0x22D7, + 0x22D7 => 0x22D6, + 0x22D8 => 0x22D9, + 0x22D9 => 0x22D8, + 0x22DA => 0x22DB, + 0x22DB => 0x22DA, + 0x22DC => 0x22DD, + 0x22DD => 0x22DC, + 0x22DE => 0x22DF, + 0x22DF => 0x22DE, + 0x22E0 => 0x22E1, + 0x22E1 => 0x22E0, + 0x22E2 => 0x22E3, + 0x22E3 => 0x22E2, + 0x22E4 => 0x22E5, + 0x22E5 => 0x22E4, + 0x22E6 => 0x22E7, + 0x22E7 => 0x22E6, + 0x22E8 => 0x22E9, + 0x22E9 => 0x22E8, + 0x22EA => 0x22EB, + 0x22EB => 0x22EA, + 0x22EC => 0x22ED, + 0x22ED => 0x22EC, + 0x22F0 => 0x22F1, + 0x22F1 => 0x22F0, + 0x22F2 => 0x22FA, + 0x22F3 => 0x22FB, + 0x22F4 => 0x22FC, + 0x22F6 => 0x22FD, + 0x22F7 => 0x22FE, + 0x22FA => 0x22F2, + 0x22FB => 0x22F3, + 0x22FC => 0x22F4, + 0x22FD => 0x22F6, + 0x22FE => 0x22F7, + 0x2308 => 0x2309, + 0x2309 => 0x2308, + 0x230A => 0x230B, + 0x230B => 0x230A, + 0x2329 => 0x232A, + 0x232A => 0x2329, + 0x2768 => 0x2769, + 0x2769 => 0x2768, + 0x276A => 0x276B, + 0x276B => 0x276A, + 0x276C => 0x276D, + 0x276D => 0x276C, + 0x276E => 0x276F, + 0x276F => 0x276E, + 0x2770 => 0x2771, + 0x2771 => 0x2770, + 0x2772 => 0x2773, + 0x2773 => 0x2772, + 0x2774 => 0x2775, + 0x2775 => 0x2774, + 0x27C3 => 0x27C4, + 0x27C4 => 0x27C3, + 0x27C5 => 0x27C6, + 0x27C6 => 0x27C5, + 0x27D5 => 0x27D6, + 0x27D6 => 0x27D5, + 0x27DD => 0x27DE, + 0x27DE => 0x27DD, + 0x27E2 => 0x27E3, + 0x27E3 => 0x27E2, + 0x27E4 => 0x27E5, + 0x27E5 => 0x27E4, + 0x27E6 => 0x27E7, + 0x27E7 => 0x27E6, + 0x27E8 => 0x27E9, + 0x27E9 => 0x27E8, + 0x27EA => 0x27EB, + 0x27EB => 0x27EA, + 0x2983 => 0x2984, + 0x2984 => 0x2983, + 0x2985 => 0x2986, + 0x2986 => 0x2985, + 0x2987 => 0x2988, + 0x2988 => 0x2987, + 0x2989 => 0x298A, + 0x298A => 0x2989, + 0x298B => 0x298C, + 0x298C => 0x298B, + 0x298D => 0x2990, + 0x298E => 0x298F, + 0x298F => 0x298E, + 0x2990 => 0x298D, + 0x2991 => 0x2992, + 0x2992 => 0x2991, + 0x2993 => 0x2994, + 0x2994 => 0x2993, + 0x2995 => 0x2996, + 0x2996 => 0x2995, + 0x2997 => 0x2998, + 0x2998 => 0x2997, + 0x29B8 => 0x2298, + 0x29C0 => 0x29C1, + 0x29C1 => 0x29C0, + 0x29C4 => 0x29C5, + 0x29C5 => 0x29C4, + 0x29CF => 0x29D0, + 0x29D0 => 0x29CF, + 0x29D1 => 0x29D2, + 0x29D2 => 0x29D1, + 0x29D4 => 0x29D5, + 0x29D5 => 0x29D4, + 0x29D8 => 0x29D9, + 0x29D9 => 0x29D8, + 0x29DA => 0x29DB, + 0x29DB => 0x29DA, + 0x29F5 => 0x2215, + 0x29F8 => 0x29F9, + 0x29F9 => 0x29F8, + 0x29FC => 0x29FD, + 0x29FD => 0x29FC, + 0x2A2B => 0x2A2C, + 0x2A2C => 0x2A2B, + 0x2A2D => 0x2A2E, + 0x2A2E => 0x2A2D, + 0x2A34 => 0x2A35, + 0x2A35 => 0x2A34, + 0x2A3C => 0x2A3D, + 0x2A3D => 0x2A3C, + 0x2A64 => 0x2A65, + 0x2A65 => 0x2A64, + 0x2A79 => 0x2A7A, + 0x2A7A => 0x2A79, + 0x2A7D => 0x2A7E, + 0x2A7E => 0x2A7D, + 0x2A7F => 0x2A80, + 0x2A80 => 0x2A7F, + 0x2A81 => 0x2A82, + 0x2A82 => 0x2A81, + 0x2A83 => 0x2A84, + 0x2A84 => 0x2A83, + 0x2A8B => 0x2A8C, + 0x2A8C => 0x2A8B, + 0x2A91 => 0x2A92, + 0x2A92 => 0x2A91, + 0x2A93 => 0x2A94, + 0x2A94 => 0x2A93, + 0x2A95 => 0x2A96, + 0x2A96 => 0x2A95, + 0x2A97 => 0x2A98, + 0x2A98 => 0x2A97, + 0x2A99 => 0x2A9A, + 0x2A9A => 0x2A99, + 0x2A9B => 0x2A9C, + 0x2A9C => 0x2A9B, + 0x2AA1 => 0x2AA2, + 0x2AA2 => 0x2AA1, + 0x2AA6 => 0x2AA7, + 0x2AA7 => 0x2AA6, + 0x2AA8 => 0x2AA9, + 0x2AA9 => 0x2AA8, + 0x2AAA => 0x2AAB, + 0x2AAB => 0x2AAA, + 0x2AAC => 0x2AAD, + 0x2AAD => 0x2AAC, + 0x2AAF => 0x2AB0, + 0x2AB0 => 0x2AAF, + 0x2AB3 => 0x2AB4, + 0x2AB4 => 0x2AB3, + 0x2ABB => 0x2ABC, + 0x2ABC => 0x2ABB, + 0x2ABD => 0x2ABE, + 0x2ABE => 0x2ABD, + 0x2ABF => 0x2AC0, + 0x2AC0 => 0x2ABF, + 0x2AC1 => 0x2AC2, + 0x2AC2 => 0x2AC1, + 0x2AC3 => 0x2AC4, + 0x2AC4 => 0x2AC3, + 0x2AC5 => 0x2AC6, + 0x2AC6 => 0x2AC5, + 0x2ACD => 0x2ACE, + 0x2ACE => 0x2ACD, + 0x2ACF => 0x2AD0, + 0x2AD0 => 0x2ACF, + 0x2AD1 => 0x2AD2, + 0x2AD2 => 0x2AD1, + 0x2AD3 => 0x2AD4, + 0x2AD4 => 0x2AD3, + 0x2AD5 => 0x2AD6, + 0x2AD6 => 0x2AD5, + 0x2ADE => 0x22A6, + 0x2AE3 => 0x22A9, + 0x2AE4 => 0x22A8, + 0x2AE5 => 0x22AB, + 0x2AEC => 0x2AED, + 0x2AED => 0x2AEC, + 0x2AF7 => 0x2AF8, + 0x2AF8 => 0x2AF7, + 0x2AF9 => 0x2AFA, + 0x2AFA => 0x2AF9, + 0x2E02 => 0x2E03, + 0x2E03 => 0x2E02, + 0x2E04 => 0x2E05, + 0x2E05 => 0x2E04, + 0x2E09 => 0x2E0A, + 0x2E0A => 0x2E09, + 0x2E0C => 0x2E0D, + 0x2E0D => 0x2E0C, + 0x2E1C => 0x2E1D, + 0x2E1D => 0x2E1C, + 0x3008 => 0x3009, + 0x3009 => 0x3008, + 0x300A => 0x300B, + 0x300B => 0x300A, + 0x300C => 0x300D, + 0x300D => 0x300C, + 0x300E => 0x300F, + 0x300F => 0x300E, + 0x3010 => 0x3011, + 0x3011 => 0x3010, + 0x3014 => 0x3015, + 0x3015 => 0x3014, + 0x3016 => 0x3017, + 0x3017 => 0x3016, + 0x3018 => 0x3019, + 0x3019 => 0x3018, + 0x301A => 0x301B, + 0x301B => 0x301A, + 0x301D => 0x301E, + 0x301E => 0x301D, + 0xFE59 => 0xFE5A, + 0xFE5A => 0xFE59, + 0xFE5B => 0xFE5C, + 0xFE5C => 0xFE5B, + 0xFE5D => 0xFE5E, + 0xFE5E => 0xFE5D, + 0xFE64 => 0xFE65, + 0xFE65 => 0xFE64, + 0xFF08 => 0xFF09, + 0xFF09 => 0xFF08, + 0xFF1C => 0xFF1E, + 0xFF1E => 0xFF1C, + 0xFF3B => 0xFF3D, + 0xFF3D => 0xFF3B, + 0xFF5B => 0xFF5D, + 0xFF5D => 0xFF5B, + 0xFF5F => 0xFF60, + 0xFF60 => 0xFF5F, + 0xFF62 => 0xFF63, + 0xFF63 => 0xFF62, + ]; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Pattern.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Pattern.php new file mode 100644 index 0000000..96a8bb8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Pattern.php @@ -0,0 +1,76 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Pattern + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class Pattern +{ + /** + * Pattern to test RTL (Righ-To-Left) strings using regular expressions. + * (excluding Arabic) + */ + public const RTL = "/( + \xD6\xBE # R + | \xD7[\x80\x83\x86\x90-\xAA\xB0-\xB4] # R + | \xDF[\x80-\xAA\xB4\xB5\xBA] # R + | \xE2\x80\x8F # R + | \xEF\xAC[\x9D\x9F\xA0-\xA8\xAA-\xB6\xB8-\xBC\xBE] # R + | \xEF\xAD[\x80\x81\x83\x84\x86-\x8F] # R + | \xF0\x90\xA0[\x80-\x85\x88\x8A-\xB5\xB7\xB8\xBC\xBF] # R + | \xF0\x90\xA4[\x80-\x99] # R + | \xF0\x90\xA8[\x80\x90-\x93\x95-\x97\x99-\xB3] # R + | \xF0\x90\xA9[\x80-\x87\x90-\x98] # R + | \xE2\x80[\xAB\xAE] # RLE & RLO + | \xE2\x81\xA7 # RLI + )/x"; + + /** + * Pattern to test Arabic strings using regular expressions. + * Ref: http://www.w3.org/International/questions/qa-forms-utf-8 + */ + public const ARABIC = "/( + \xD8[\x80-\x83\x8B\x8D\x9B\x9E\x9F\xA1-\xBA] # AL + | \xD9[\x80-\x8A\xAD-\xAF\xB1-\xBF] # AL + | \xDA[\x80-\xBF] # AL + | \xDB[\x80-\x95\x9D\xA5\xA6\xAE\xAF\xBA-\xBF] # AL + | \xDC[\x80-\x8D\x90\x92-\xAF] # AL + | \xDD[\x8D-\xAD] # AL + | \xDE[\x80-\xA5\xB1] # AL + | \xEF\xAD[\x90-\xBF] # AL + | \xEF\xAE[\x80-\xB1] # AL + | \xEF\xAF[\x93-\xBF] # AL + | \xEF[\xB0-\xB3][\x80-\xBF] # AL + | \xEF\xB4[\x80-\xBD] # AL + | \xEF\xB5[\x90-\xBF] # AL + | \xEF\xB6[\x80-\x8F\x92-\xBF] # AL + | \xEF\xB7[\x80-\x87\xB0-\xBC] # AL + | \xEF\xB9[\xB0-\xB4\xB6-\xBF] # AL + | \xEF\xBA[\x80-\xBF] # AL + | \xEF\xBB[\x80-\xBC] # AL + | \xD9[\xA0-\xA9\xAB\xAC] # AN + )/x"; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/src/Type.php b/vendor/tecnickcom/tc-lib-unicode-data/src/Type.php new file mode 100644 index 0000000..7a584f2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/src/Type.php @@ -0,0 +1,17816 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Com\Tecnick\Unicode\Data; + +/** + * Com\Tecnick\Unicode\Data\Type + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * @SuppressWarnings("PHPMD.ExcessiveClassLength") + */ +class Type +{ + /** + * Array of Strong bidirectional character types. + * + * @var array + */ + public const STRONG = [ + 'L' => 'L', // Left-to-Right + 'R' => 'R', // Right-to-Left + 'AL' => 'AL', // Right-to-Left Arabic + ]; + + /** + * Array of Weak bidirectional character types. + * + * @var array + */ + public const WEAK = [ + 'EN' => 'EN', // European Number + 'ES' => 'ES', // European Number Separator + 'ET' => 'ET', // European Number Terminator + 'AN' => 'AN', // Arabic Number + 'CS' => 'CS', // Common Number Separator + 'NSM' => 'NSM', // Nonspacing Mark + 'BN' => 'BN', // Boundary Neutral + ]; + + /** + * Array of Neutral bidirectional character types. + * + * @var array + */ + public const NEUTRAL = [ + 'B' => 'B', // Paragraph Separator + 'S' => 'S', // Segment Separator + 'WS' => 'WS', // Whitespace + 'ON' => 'ON', // Other Neutrals + ]; + + /** + * Array of Explicit formatting codes. + * + * @var array + */ + public const EXPLICIT_FORMATTING = [ + 'LRE' => 8234, // Left-to-Right Embedding + 'LRO' => 8237, // Left-to-Right Override + 'RLE' => 8235, // Right-to-Left Embedding + 'RLO' => 8238, // Right-to-Left Override + 'PDF' => 8236, // Pop Directional Format + 'LRI' => 8294, // Left-to-Right Isolate + 'RLI' => 8295, // Right-to-Left Isolate + 'FSI' => 8296, // First Strong Isolate + 'PDI' => 8297, // Pop Directional Isolate + ]; + + /** + * Array of Unicode types. + * + * @var array + */ + public const UNI = [ + 0 => 'BN', + 1 => 'BN', + 2 => 'BN', + 3 => 'BN', + 4 => 'BN', + 5 => 'BN', + 6 => 'BN', + 7 => 'BN', + 8 => 'BN', + 9 => 'S', + 10 => 'B', + 11 => 'S', + 12 => 'WS', + 13 => 'B', + 14 => 'BN', + 15 => 'BN', + 16 => 'BN', + 17 => 'BN', + 18 => 'BN', + 19 => 'BN', + 20 => 'BN', + 21 => 'BN', + 22 => 'BN', + 23 => 'BN', + 24 => 'BN', + 25 => 'BN', + 26 => 'BN', + 27 => 'BN', + 28 => 'B', + 29 => 'B', + 30 => 'B', + 31 => 'S', + 32 => 'WS', + 33 => 'ON', + 34 => 'ON', + 35 => 'ET', + 36 => 'ET', + 37 => 'ET', + 38 => 'ON', + 39 => 'ON', + 40 => 'ON', + 41 => 'ON', + 42 => 'ON', + 43 => 'ES', + 44 => 'CS', + 45 => 'ES', + 46 => 'CS', + 47 => 'CS', + 48 => 'EN', + 49 => 'EN', + 50 => 'EN', + 51 => 'EN', + 52 => 'EN', + 53 => 'EN', + 54 => 'EN', + 55 => 'EN', + 56 => 'EN', + 57 => 'EN', + 58 => 'CS', + 59 => 'ON', + 60 => 'ON', + 61 => 'ON', + 62 => 'ON', + 63 => 'ON', + 64 => 'ON', + 65 => 'L', + 66 => 'L', + 67 => 'L', + 68 => 'L', + 69 => 'L', + 70 => 'L', + 71 => 'L', + 72 => 'L', + 73 => 'L', + 74 => 'L', + 75 => 'L', + 76 => 'L', + 77 => 'L', + 78 => 'L', + 79 => 'L', + 80 => 'L', + 81 => 'L', + 82 => 'L', + 83 => 'L', + 84 => 'L', + 85 => 'L', + 86 => 'L', + 87 => 'L', + 88 => 'L', + 89 => 'L', + 90 => 'L', + 91 => 'ON', + 92 => 'ON', + 93 => 'ON', + 94 => 'ON', + 95 => 'ON', + 96 => 'ON', + 97 => 'L', + 98 => 'L', + 99 => 'L', + 100 => 'L', + 101 => 'L', + 102 => 'L', + 103 => 'L', + 104 => 'L', + 105 => 'L', + 106 => 'L', + 107 => 'L', + 108 => 'L', + 109 => 'L', + 110 => 'L', + 111 => 'L', + 112 => 'L', + 113 => 'L', + 114 => 'L', + 115 => 'L', + 116 => 'L', + 117 => 'L', + 118 => 'L', + 119 => 'L', + 120 => 'L', + 121 => 'L', + 122 => 'L', + 123 => 'ON', + 124 => 'ON', + 125 => 'ON', + 126 => 'ON', + 127 => 'BN', + 128 => 'BN', + 129 => 'BN', + 130 => 'BN', + 131 => 'BN', + 132 => 'BN', + 133 => 'B', + 134 => 'BN', + 135 => 'BN', + 136 => 'BN', + 137 => 'BN', + 138 => 'BN', + 139 => 'BN', + 140 => 'BN', + 141 => 'BN', + 142 => 'BN', + 143 => 'BN', + 144 => 'BN', + 145 => 'BN', + 146 => 'BN', + 147 => 'BN', + 148 => 'BN', + 149 => 'BN', + 150 => 'BN', + 151 => 'BN', + 152 => 'BN', + 153 => 'BN', + 154 => 'BN', + 155 => 'BN', + 156 => 'BN', + 157 => 'BN', + 158 => 'BN', + 159 => 'BN', + 160 => 'CS', + 161 => 'ON', + 162 => 'ET', + 163 => 'ET', + 164 => 'ET', + 165 => 'ET', + 166 => 'ON', + 167 => 'ON', + 168 => 'ON', + 169 => 'ON', + 170 => 'L', + 171 => 'ON', + 172 => 'ON', + 173 => 'BN', + 174 => 'ON', + 175 => 'ON', + 176 => 'ET', + 177 => 'ET', + 178 => 'EN', + 179 => 'EN', + 180 => 'ON', + 181 => 'L', + 182 => 'ON', + 183 => 'ON', + 184 => 'ON', + 185 => 'EN', + 186 => 'L', + 187 => 'ON', + 188 => 'ON', + 189 => 'ON', + 190 => 'ON', + 191 => 'ON', + 192 => 'L', + 193 => 'L', + 194 => 'L', + 195 => 'L', + 196 => 'L', + 197 => 'L', + 198 => 'L', + 199 => 'L', + 200 => 'L', + 201 => 'L', + 202 => 'L', + 203 => 'L', + 204 => 'L', + 205 => 'L', + 206 => 'L', + 207 => 'L', + 208 => 'L', + 209 => 'L', + 210 => 'L', + 211 => 'L', + 212 => 'L', + 213 => 'L', + 214 => 'L', + 215 => 'ON', + 216 => 'L', + 217 => 'L', + 218 => 'L', + 219 => 'L', + 220 => 'L', + 221 => 'L', + 222 => 'L', + 223 => 'L', + 224 => 'L', + 225 => 'L', + 226 => 'L', + 227 => 'L', + 228 => 'L', + 229 => 'L', + 230 => 'L', + 231 => 'L', + 232 => 'L', + 233 => 'L', + 234 => 'L', + 235 => 'L', + 236 => 'L', + 237 => 'L', + 238 => 'L', + 239 => 'L', + 240 => 'L', + 241 => 'L', + 242 => 'L', + 243 => 'L', + 244 => 'L', + 245 => 'L', + 246 => 'L', + 247 => 'ON', + 248 => 'L', + 249 => 'L', + 250 => 'L', + 251 => 'L', + 252 => 'L', + 253 => 'L', + 254 => 'L', + 255 => 'L', + 256 => 'L', + 257 => 'L', + 258 => 'L', + 259 => 'L', + 260 => 'L', + 261 => 'L', + 262 => 'L', + 263 => 'L', + 264 => 'L', + 265 => 'L', + 266 => 'L', + 267 => 'L', + 268 => 'L', + 269 => 'L', + 270 => 'L', + 271 => 'L', + 272 => 'L', + 273 => 'L', + 274 => 'L', + 275 => 'L', + 276 => 'L', + 277 => 'L', + 278 => 'L', + 279 => 'L', + 280 => 'L', + 281 => 'L', + 282 => 'L', + 283 => 'L', + 284 => 'L', + 285 => 'L', + 286 => 'L', + 287 => 'L', + 288 => 'L', + 289 => 'L', + 290 => 'L', + 291 => 'L', + 292 => 'L', + 293 => 'L', + 294 => 'L', + 295 => 'L', + 296 => 'L', + 297 => 'L', + 298 => 'L', + 299 => 'L', + 300 => 'L', + 301 => 'L', + 302 => 'L', + 303 => 'L', + 304 => 'L', + 305 => 'L', + 306 => 'L', + 307 => 'L', + 308 => 'L', + 309 => 'L', + 310 => 'L', + 311 => 'L', + 312 => 'L', + 313 => 'L', + 314 => 'L', + 315 => 'L', + 316 => 'L', + 317 => 'L', + 318 => 'L', + 319 => 'L', + 320 => 'L', + 321 => 'L', + 322 => 'L', + 323 => 'L', + 324 => 'L', + 325 => 'L', + 326 => 'L', + 327 => 'L', + 328 => 'L', + 329 => 'L', + 330 => 'L', + 331 => 'L', + 332 => 'L', + 333 => 'L', + 334 => 'L', + 335 => 'L', + 336 => 'L', + 337 => 'L', + 338 => 'L', + 339 => 'L', + 340 => 'L', + 341 => 'L', + 342 => 'L', + 343 => 'L', + 344 => 'L', + 345 => 'L', + 346 => 'L', + 347 => 'L', + 348 => 'L', + 349 => 'L', + 350 => 'L', + 351 => 'L', + 352 => 'L', + 353 => 'L', + 354 => 'L', + 355 => 'L', + 356 => 'L', + 357 => 'L', + 358 => 'L', + 359 => 'L', + 360 => 'L', + 361 => 'L', + 362 => 'L', + 363 => 'L', + 364 => 'L', + 365 => 'L', + 366 => 'L', + 367 => 'L', + 368 => 'L', + 369 => 'L', + 370 => 'L', + 371 => 'L', + 372 => 'L', + 373 => 'L', + 374 => 'L', + 375 => 'L', + 376 => 'L', + 377 => 'L', + 378 => 'L', + 379 => 'L', + 380 => 'L', + 381 => 'L', + 382 => 'L', + 383 => 'L', + 384 => 'L', + 385 => 'L', + 386 => 'L', + 387 => 'L', + 388 => 'L', + 389 => 'L', + 390 => 'L', + 391 => 'L', + 392 => 'L', + 393 => 'L', + 394 => 'L', + 395 => 'L', + 396 => 'L', + 397 => 'L', + 398 => 'L', + 399 => 'L', + 400 => 'L', + 401 => 'L', + 402 => 'L', + 403 => 'L', + 404 => 'L', + 405 => 'L', + 406 => 'L', + 407 => 'L', + 408 => 'L', + 409 => 'L', + 410 => 'L', + 411 => 'L', + 412 => 'L', + 413 => 'L', + 414 => 'L', + 415 => 'L', + 416 => 'L', + 417 => 'L', + 418 => 'L', + 419 => 'L', + 420 => 'L', + 421 => 'L', + 422 => 'L', + 423 => 'L', + 424 => 'L', + 425 => 'L', + 426 => 'L', + 427 => 'L', + 428 => 'L', + 429 => 'L', + 430 => 'L', + 431 => 'L', + 432 => 'L', + 433 => 'L', + 434 => 'L', + 435 => 'L', + 436 => 'L', + 437 => 'L', + 438 => 'L', + 439 => 'L', + 440 => 'L', + 441 => 'L', + 442 => 'L', + 443 => 'L', + 444 => 'L', + 445 => 'L', + 446 => 'L', + 447 => 'L', + 448 => 'L', + 449 => 'L', + 450 => 'L', + 451 => 'L', + 452 => 'L', + 453 => 'L', + 454 => 'L', + 455 => 'L', + 456 => 'L', + 457 => 'L', + 458 => 'L', + 459 => 'L', + 460 => 'L', + 461 => 'L', + 462 => 'L', + 463 => 'L', + 464 => 'L', + 465 => 'L', + 466 => 'L', + 467 => 'L', + 468 => 'L', + 469 => 'L', + 470 => 'L', + 471 => 'L', + 472 => 'L', + 473 => 'L', + 474 => 'L', + 475 => 'L', + 476 => 'L', + 477 => 'L', + 478 => 'L', + 479 => 'L', + 480 => 'L', + 481 => 'L', + 482 => 'L', + 483 => 'L', + 484 => 'L', + 485 => 'L', + 486 => 'L', + 487 => 'L', + 488 => 'L', + 489 => 'L', + 490 => 'L', + 491 => 'L', + 492 => 'L', + 493 => 'L', + 494 => 'L', + 495 => 'L', + 496 => 'L', + 497 => 'L', + 498 => 'L', + 499 => 'L', + 500 => 'L', + 501 => 'L', + 502 => 'L', + 503 => 'L', + 504 => 'L', + 505 => 'L', + 506 => 'L', + 507 => 'L', + 508 => 'L', + 509 => 'L', + 510 => 'L', + 511 => 'L', + 512 => 'L', + 513 => 'L', + 514 => 'L', + 515 => 'L', + 516 => 'L', + 517 => 'L', + 518 => 'L', + 519 => 'L', + 520 => 'L', + 521 => 'L', + 522 => 'L', + 523 => 'L', + 524 => 'L', + 525 => 'L', + 526 => 'L', + 527 => 'L', + 528 => 'L', + 529 => 'L', + 530 => 'L', + 531 => 'L', + 532 => 'L', + 533 => 'L', + 534 => 'L', + 535 => 'L', + 536 => 'L', + 537 => 'L', + 538 => 'L', + 539 => 'L', + 540 => 'L', + 541 => 'L', + 542 => 'L', + 543 => 'L', + 544 => 'L', + 545 => 'L', + 546 => 'L', + 547 => 'L', + 548 => 'L', + 549 => 'L', + 550 => 'L', + 551 => 'L', + 552 => 'L', + 553 => 'L', + 554 => 'L', + 555 => 'L', + 556 => 'L', + 557 => 'L', + 558 => 'L', + 559 => 'L', + 560 => 'L', + 561 => 'L', + 562 => 'L', + 563 => 'L', + 564 => 'L', + 565 => 'L', + 566 => 'L', + 567 => 'L', + 568 => 'L', + 569 => 'L', + 570 => 'L', + 571 => 'L', + 572 => 'L', + 573 => 'L', + 574 => 'L', + 575 => 'L', + 576 => 'L', + 577 => 'L', + 578 => 'L', + 579 => 'L', + 580 => 'L', + 581 => 'L', + 582 => 'L', + 583 => 'L', + 584 => 'L', + 585 => 'L', + 586 => 'L', + 587 => 'L', + 588 => 'L', + 589 => 'L', + 590 => 'L', + 591 => 'L', + 592 => 'L', + 593 => 'L', + 594 => 'L', + 595 => 'L', + 596 => 'L', + 597 => 'L', + 598 => 'L', + 599 => 'L', + 600 => 'L', + 601 => 'L', + 602 => 'L', + 603 => 'L', + 604 => 'L', + 605 => 'L', + 606 => 'L', + 607 => 'L', + 608 => 'L', + 609 => 'L', + 610 => 'L', + 611 => 'L', + 612 => 'L', + 613 => 'L', + 614 => 'L', + 615 => 'L', + 616 => 'L', + 617 => 'L', + 618 => 'L', + 619 => 'L', + 620 => 'L', + 621 => 'L', + 622 => 'L', + 623 => 'L', + 624 => 'L', + 625 => 'L', + 626 => 'L', + 627 => 'L', + 628 => 'L', + 629 => 'L', + 630 => 'L', + 631 => 'L', + 632 => 'L', + 633 => 'L', + 634 => 'L', + 635 => 'L', + 636 => 'L', + 637 => 'L', + 638 => 'L', + 639 => 'L', + 640 => 'L', + 641 => 'L', + 642 => 'L', + 643 => 'L', + 644 => 'L', + 645 => 'L', + 646 => 'L', + 647 => 'L', + 648 => 'L', + 649 => 'L', + 650 => 'L', + 651 => 'L', + 652 => 'L', + 653 => 'L', + 654 => 'L', + 655 => 'L', + 656 => 'L', + 657 => 'L', + 658 => 'L', + 659 => 'L', + 660 => 'L', + 661 => 'L', + 662 => 'L', + 663 => 'L', + 664 => 'L', + 665 => 'L', + 666 => 'L', + 667 => 'L', + 668 => 'L', + 669 => 'L', + 670 => 'L', + 671 => 'L', + 672 => 'L', + 673 => 'L', + 674 => 'L', + 675 => 'L', + 676 => 'L', + 677 => 'L', + 678 => 'L', + 679 => 'L', + 680 => 'L', + 681 => 'L', + 682 => 'L', + 683 => 'L', + 684 => 'L', + 685 => 'L', + 686 => 'L', + 687 => 'L', + 688 => 'L', + 689 => 'L', + 690 => 'L', + 691 => 'L', + 692 => 'L', + 693 => 'L', + 694 => 'L', + 695 => 'L', + 696 => 'L', + 697 => 'ON', + 698 => 'ON', + 699 => 'L', + 700 => 'L', + 701 => 'L', + 702 => 'L', + 703 => 'L', + 704 => 'L', + 705 => 'L', + 706 => 'ON', + 707 => 'ON', + 708 => 'ON', + 709 => 'ON', + 710 => 'ON', + 711 => 'ON', + 712 => 'ON', + 713 => 'ON', + 714 => 'ON', + 715 => 'ON', + 716 => 'ON', + 717 => 'ON', + 718 => 'ON', + 719 => 'ON', + 720 => 'L', + 721 => 'L', + 722 => 'ON', + 723 => 'ON', + 724 => 'ON', + 725 => 'ON', + 726 => 'ON', + 727 => 'ON', + 728 => 'ON', + 729 => 'ON', + 730 => 'ON', + 731 => 'ON', + 732 => 'ON', + 733 => 'ON', + 734 => 'ON', + 735 => 'ON', + 736 => 'L', + 737 => 'L', + 738 => 'L', + 739 => 'L', + 740 => 'L', + 741 => 'ON', + 742 => 'ON', + 743 => 'ON', + 744 => 'ON', + 745 => 'ON', + 746 => 'ON', + 747 => 'ON', + 748 => 'ON', + 749 => 'ON', + 750 => 'L', + 751 => 'ON', + 752 => 'ON', + 753 => 'ON', + 754 => 'ON', + 755 => 'ON', + 756 => 'ON', + 757 => 'ON', + 758 => 'ON', + 759 => 'ON', + 760 => 'ON', + 761 => 'ON', + 762 => 'ON', + 763 => 'ON', + 764 => 'ON', + 765 => 'ON', + 766 => 'ON', + 767 => 'ON', + 768 => 'NSM', + 769 => 'NSM', + 770 => 'NSM', + 771 => 'NSM', + 772 => 'NSM', + 773 => 'NSM', + 774 => 'NSM', + 775 => 'NSM', + 776 => 'NSM', + 777 => 'NSM', + 778 => 'NSM', + 779 => 'NSM', + 780 => 'NSM', + 781 => 'NSM', + 782 => 'NSM', + 783 => 'NSM', + 784 => 'NSM', + 785 => 'NSM', + 786 => 'NSM', + 787 => 'NSM', + 788 => 'NSM', + 789 => 'NSM', + 790 => 'NSM', + 791 => 'NSM', + 792 => 'NSM', + 793 => 'NSM', + 794 => 'NSM', + 795 => 'NSM', + 796 => 'NSM', + 797 => 'NSM', + 798 => 'NSM', + 799 => 'NSM', + 800 => 'NSM', + 801 => 'NSM', + 802 => 'NSM', + 803 => 'NSM', + 804 => 'NSM', + 805 => 'NSM', + 806 => 'NSM', + 807 => 'NSM', + 808 => 'NSM', + 809 => 'NSM', + 810 => 'NSM', + 811 => 'NSM', + 812 => 'NSM', + 813 => 'NSM', + 814 => 'NSM', + 815 => 'NSM', + 816 => 'NSM', + 817 => 'NSM', + 818 => 'NSM', + 819 => 'NSM', + 820 => 'NSM', + 821 => 'NSM', + 822 => 'NSM', + 823 => 'NSM', + 824 => 'NSM', + 825 => 'NSM', + 826 => 'NSM', + 827 => 'NSM', + 828 => 'NSM', + 829 => 'NSM', + 830 => 'NSM', + 831 => 'NSM', + 832 => 'NSM', + 833 => 'NSM', + 834 => 'NSM', + 835 => 'NSM', + 836 => 'NSM', + 837 => 'NSM', + 838 => 'NSM', + 839 => 'NSM', + 840 => 'NSM', + 841 => 'NSM', + 842 => 'NSM', + 843 => 'NSM', + 844 => 'NSM', + 845 => 'NSM', + 846 => 'NSM', + 847 => 'NSM', + 848 => 'NSM', + 849 => 'NSM', + 850 => 'NSM', + 851 => 'NSM', + 852 => 'NSM', + 853 => 'NSM', + 854 => 'NSM', + 855 => 'NSM', + 856 => 'NSM', + 857 => 'NSM', + 858 => 'NSM', + 859 => 'NSM', + 860 => 'NSM', + 861 => 'NSM', + 862 => 'NSM', + 863 => 'NSM', + 864 => 'NSM', + 865 => 'NSM', + 866 => 'NSM', + 867 => 'NSM', + 868 => 'NSM', + 869 => 'NSM', + 870 => 'NSM', + 871 => 'NSM', + 872 => 'NSM', + 873 => 'NSM', + 874 => 'NSM', + 875 => 'NSM', + 876 => 'NSM', + 877 => 'NSM', + 878 => 'NSM', + 879 => 'NSM', + 884 => 'ON', + 885 => 'ON', + 890 => 'L', + 891 => 'L', + 892 => 'L', + 893 => 'L', + 894 => 'ON', + 900 => 'ON', + 901 => 'ON', + 902 => 'L', + 903 => 'ON', + 904 => 'L', + 905 => 'L', + 906 => 'L', + 908 => 'L', + 910 => 'L', + 911 => 'L', + 912 => 'L', + 913 => 'L', + 914 => 'L', + 915 => 'L', + 916 => 'L', + 917 => 'L', + 918 => 'L', + 919 => 'L', + 920 => 'L', + 921 => 'L', + 922 => 'L', + 923 => 'L', + 924 => 'L', + 925 => 'L', + 926 => 'L', + 927 => 'L', + 928 => 'L', + 929 => 'L', + 931 => 'L', + 932 => 'L', + 933 => 'L', + 934 => 'L', + 935 => 'L', + 936 => 'L', + 937 => 'L', + 938 => 'L', + 939 => 'L', + 940 => 'L', + 941 => 'L', + 942 => 'L', + 943 => 'L', + 944 => 'L', + 945 => 'L', + 946 => 'L', + 947 => 'L', + 948 => 'L', + 949 => 'L', + 950 => 'L', + 951 => 'L', + 952 => 'L', + 953 => 'L', + 954 => 'L', + 955 => 'L', + 956 => 'L', + 957 => 'L', + 958 => 'L', + 959 => 'L', + 960 => 'L', + 961 => 'L', + 962 => 'L', + 963 => 'L', + 964 => 'L', + 965 => 'L', + 966 => 'L', + 967 => 'L', + 968 => 'L', + 969 => 'L', + 970 => 'L', + 971 => 'L', + 972 => 'L', + 973 => 'L', + 974 => 'L', + 976 => 'L', + 977 => 'L', + 978 => 'L', + 979 => 'L', + 980 => 'L', + 981 => 'L', + 982 => 'L', + 983 => 'L', + 984 => 'L', + 985 => 'L', + 986 => 'L', + 987 => 'L', + 988 => 'L', + 989 => 'L', + 990 => 'L', + 991 => 'L', + 992 => 'L', + 993 => 'L', + 994 => 'L', + 995 => 'L', + 996 => 'L', + 997 => 'L', + 998 => 'L', + 999 => 'L', + 1000 => 'L', + 1001 => 'L', + 1002 => 'L', + 1003 => 'L', + 1004 => 'L', + 1005 => 'L', + 1006 => 'L', + 1007 => 'L', + 1008 => 'L', + 1009 => 'L', + 1010 => 'L', + 1011 => 'L', + 1012 => 'L', + 1013 => 'L', + 1014 => 'ON', + 1015 => 'L', + 1016 => 'L', + 1017 => 'L', + 1018 => 'L', + 1019 => 'L', + 1020 => 'L', + 1021 => 'L', + 1022 => 'L', + 1023 => 'L', + 1024 => 'L', + 1025 => 'L', + 1026 => 'L', + 1027 => 'L', + 1028 => 'L', + 1029 => 'L', + 1030 => 'L', + 1031 => 'L', + 1032 => 'L', + 1033 => 'L', + 1034 => 'L', + 1035 => 'L', + 1036 => 'L', + 1037 => 'L', + 1038 => 'L', + 1039 => 'L', + 1040 => 'L', + 1041 => 'L', + 1042 => 'L', + 1043 => 'L', + 1044 => 'L', + 1045 => 'L', + 1046 => 'L', + 1047 => 'L', + 1048 => 'L', + 1049 => 'L', + 1050 => 'L', + 1051 => 'L', + 1052 => 'L', + 1053 => 'L', + 1054 => 'L', + 1055 => 'L', + 1056 => 'L', + 1057 => 'L', + 1058 => 'L', + 1059 => 'L', + 1060 => 'L', + 1061 => 'L', + 1062 => 'L', + 1063 => 'L', + 1064 => 'L', + 1065 => 'L', + 1066 => 'L', + 1067 => 'L', + 1068 => 'L', + 1069 => 'L', + 1070 => 'L', + 1071 => 'L', + 1072 => 'L', + 1073 => 'L', + 1074 => 'L', + 1075 => 'L', + 1076 => 'L', + 1077 => 'L', + 1078 => 'L', + 1079 => 'L', + 1080 => 'L', + 1081 => 'L', + 1082 => 'L', + 1083 => 'L', + 1084 => 'L', + 1085 => 'L', + 1086 => 'L', + 1087 => 'L', + 1088 => 'L', + 1089 => 'L', + 1090 => 'L', + 1091 => 'L', + 1092 => 'L', + 1093 => 'L', + 1094 => 'L', + 1095 => 'L', + 1096 => 'L', + 1097 => 'L', + 1098 => 'L', + 1099 => 'L', + 1100 => 'L', + 1101 => 'L', + 1102 => 'L', + 1103 => 'L', + 1104 => 'L', + 1105 => 'L', + 1106 => 'L', + 1107 => 'L', + 1108 => 'L', + 1109 => 'L', + 1110 => 'L', + 1111 => 'L', + 1112 => 'L', + 1113 => 'L', + 1114 => 'L', + 1115 => 'L', + 1116 => 'L', + 1117 => 'L', + 1118 => 'L', + 1119 => 'L', + 1120 => 'L', + 1121 => 'L', + 1122 => 'L', + 1123 => 'L', + 1124 => 'L', + 1125 => 'L', + 1126 => 'L', + 1127 => 'L', + 1128 => 'L', + 1129 => 'L', + 1130 => 'L', + 1131 => 'L', + 1132 => 'L', + 1133 => 'L', + 1134 => 'L', + 1135 => 'L', + 1136 => 'L', + 1137 => 'L', + 1138 => 'L', + 1139 => 'L', + 1140 => 'L', + 1141 => 'L', + 1142 => 'L', + 1143 => 'L', + 1144 => 'L', + 1145 => 'L', + 1146 => 'L', + 1147 => 'L', + 1148 => 'L', + 1149 => 'L', + 1150 => 'L', + 1151 => 'L', + 1152 => 'L', + 1153 => 'L', + 1154 => 'L', + 1155 => 'NSM', + 1156 => 'NSM', + 1157 => 'NSM', + 1158 => 'NSM', + 1160 => 'NSM', + 1161 => 'NSM', + 1162 => 'L', + 1163 => 'L', + 1164 => 'L', + 1165 => 'L', + 1166 => 'L', + 1167 => 'L', + 1168 => 'L', + 1169 => 'L', + 1170 => 'L', + 1171 => 'L', + 1172 => 'L', + 1173 => 'L', + 1174 => 'L', + 1175 => 'L', + 1176 => 'L', + 1177 => 'L', + 1178 => 'L', + 1179 => 'L', + 1180 => 'L', + 1181 => 'L', + 1182 => 'L', + 1183 => 'L', + 1184 => 'L', + 1185 => 'L', + 1186 => 'L', + 1187 => 'L', + 1188 => 'L', + 1189 => 'L', + 1190 => 'L', + 1191 => 'L', + 1192 => 'L', + 1193 => 'L', + 1194 => 'L', + 1195 => 'L', + 1196 => 'L', + 1197 => 'L', + 1198 => 'L', + 1199 => 'L', + 1200 => 'L', + 1201 => 'L', + 1202 => 'L', + 1203 => 'L', + 1204 => 'L', + 1205 => 'L', + 1206 => 'L', + 1207 => 'L', + 1208 => 'L', + 1209 => 'L', + 1210 => 'L', + 1211 => 'L', + 1212 => 'L', + 1213 => 'L', + 1214 => 'L', + 1215 => 'L', + 1216 => 'L', + 1217 => 'L', + 1218 => 'L', + 1219 => 'L', + 1220 => 'L', + 1221 => 'L', + 1222 => 'L', + 1223 => 'L', + 1224 => 'L', + 1225 => 'L', + 1226 => 'L', + 1227 => 'L', + 1228 => 'L', + 1229 => 'L', + 1230 => 'L', + 1231 => 'L', + 1232 => 'L', + 1233 => 'L', + 1234 => 'L', + 1235 => 'L', + 1236 => 'L', + 1237 => 'L', + 1238 => 'L', + 1239 => 'L', + 1240 => 'L', + 1241 => 'L', + 1242 => 'L', + 1243 => 'L', + 1244 => 'L', + 1245 => 'L', + 1246 => 'L', + 1247 => 'L', + 1248 => 'L', + 1249 => 'L', + 1250 => 'L', + 1251 => 'L', + 1252 => 'L', + 1253 => 'L', + 1254 => 'L', + 1255 => 'L', + 1256 => 'L', + 1257 => 'L', + 1258 => 'L', + 1259 => 'L', + 1260 => 'L', + 1261 => 'L', + 1262 => 'L', + 1263 => 'L', + 1264 => 'L', + 1265 => 'L', + 1266 => 'L', + 1267 => 'L', + 1268 => 'L', + 1269 => 'L', + 1270 => 'L', + 1271 => 'L', + 1272 => 'L', + 1273 => 'L', + 1274 => 'L', + 1275 => 'L', + 1276 => 'L', + 1277 => 'L', + 1278 => 'L', + 1279 => 'L', + 1280 => 'L', + 1281 => 'L', + 1282 => 'L', + 1283 => 'L', + 1284 => 'L', + 1285 => 'L', + 1286 => 'L', + 1287 => 'L', + 1288 => 'L', + 1289 => 'L', + 1290 => 'L', + 1291 => 'L', + 1292 => 'L', + 1293 => 'L', + 1294 => 'L', + 1295 => 'L', + 1296 => 'L', + 1297 => 'L', + 1298 => 'L', + 1299 => 'L', + 1329 => 'L', + 1330 => 'L', + 1331 => 'L', + 1332 => 'L', + 1333 => 'L', + 1334 => 'L', + 1335 => 'L', + 1336 => 'L', + 1337 => 'L', + 1338 => 'L', + 1339 => 'L', + 1340 => 'L', + 1341 => 'L', + 1342 => 'L', + 1343 => 'L', + 1344 => 'L', + 1345 => 'L', + 1346 => 'L', + 1347 => 'L', + 1348 => 'L', + 1349 => 'L', + 1350 => 'L', + 1351 => 'L', + 1352 => 'L', + 1353 => 'L', + 1354 => 'L', + 1355 => 'L', + 1356 => 'L', + 1357 => 'L', + 1358 => 'L', + 1359 => 'L', + 1360 => 'L', + 1361 => 'L', + 1362 => 'L', + 1363 => 'L', + 1364 => 'L', + 1365 => 'L', + 1366 => 'L', + 1369 => 'L', + 1370 => 'L', + 1371 => 'L', + 1372 => 'L', + 1373 => 'L', + 1374 => 'L', + 1375 => 'L', + 1377 => 'L', + 1378 => 'L', + 1379 => 'L', + 1380 => 'L', + 1381 => 'L', + 1382 => 'L', + 1383 => 'L', + 1384 => 'L', + 1385 => 'L', + 1386 => 'L', + 1387 => 'L', + 1388 => 'L', + 1389 => 'L', + 1390 => 'L', + 1391 => 'L', + 1392 => 'L', + 1393 => 'L', + 1394 => 'L', + 1395 => 'L', + 1396 => 'L', + 1397 => 'L', + 1398 => 'L', + 1399 => 'L', + 1400 => 'L', + 1401 => 'L', + 1402 => 'L', + 1403 => 'L', + 1404 => 'L', + 1405 => 'L', + 1406 => 'L', + 1407 => 'L', + 1408 => 'L', + 1409 => 'L', + 1410 => 'L', + 1411 => 'L', + 1412 => 'L', + 1413 => 'L', + 1414 => 'L', + 1415 => 'L', + 1417 => 'L', + 1418 => 'ON', + 1425 => 'NSM', + 1426 => 'NSM', + 1427 => 'NSM', + 1428 => 'NSM', + 1429 => 'NSM', + 1430 => 'NSM', + 1431 => 'NSM', + 1432 => 'NSM', + 1433 => 'NSM', + 1434 => 'NSM', + 1435 => 'NSM', + 1436 => 'NSM', + 1437 => 'NSM', + 1438 => 'NSM', + 1439 => 'NSM', + 1440 => 'NSM', + 1441 => 'NSM', + 1442 => 'NSM', + 1443 => 'NSM', + 1444 => 'NSM', + 1445 => 'NSM', + 1446 => 'NSM', + 1447 => 'NSM', + 1448 => 'NSM', + 1449 => 'NSM', + 1450 => 'NSM', + 1451 => 'NSM', + 1452 => 'NSM', + 1453 => 'NSM', + 1454 => 'NSM', + 1455 => 'NSM', + 1456 => 'NSM', + 1457 => 'NSM', + 1458 => 'NSM', + 1459 => 'NSM', + 1460 => 'NSM', + 1461 => 'NSM', + 1462 => 'NSM', + 1463 => 'NSM', + 1464 => 'NSM', + 1465 => 'NSM', + 1466 => 'NSM', + 1467 => 'NSM', + 1468 => 'NSM', + 1469 => 'NSM', + 1470 => 'R', + 1471 => 'NSM', + 1472 => 'R', + 1473 => 'NSM', + 1474 => 'NSM', + 1475 => 'R', + 1476 => 'NSM', + 1477 => 'NSM', + 1478 => 'R', + 1479 => 'NSM', + 1488 => 'R', + 1489 => 'R', + 1490 => 'R', + 1491 => 'R', + 1492 => 'R', + 1493 => 'R', + 1494 => 'R', + 1495 => 'R', + 1496 => 'R', + 1497 => 'R', + 1498 => 'R', + 1499 => 'R', + 1500 => 'R', + 1501 => 'R', + 1502 => 'R', + 1503 => 'R', + 1504 => 'R', + 1505 => 'R', + 1506 => 'R', + 1507 => 'R', + 1508 => 'R', + 1509 => 'R', + 1510 => 'R', + 1511 => 'R', + 1512 => 'R', + 1513 => 'R', + 1514 => 'R', + 1520 => 'R', + 1521 => 'R', + 1522 => 'R', + 1523 => 'R', + 1524 => 'R', + 1536 => 'AL', + 1537 => 'AL', + 1538 => 'AL', + 1539 => 'AL', + 1547 => 'AL', + 1548 => 'CS', + 1549 => 'AL', + 1550 => 'ON', + 1551 => 'ON', + 1552 => 'NSM', + 1553 => 'NSM', + 1554 => 'NSM', + 1555 => 'NSM', + 1556 => 'NSM', + 1557 => 'NSM', + 1563 => 'AL', + 1566 => 'AL', + 1567 => 'AL', + 1569 => 'AL', + 1570 => 'AL', + 1571 => 'AL', + 1572 => 'AL', + 1573 => 'AL', + 1574 => 'AL', + 1575 => 'AL', + 1576 => 'AL', + 1577 => 'AL', + 1578 => 'AL', + 1579 => 'AL', + 1580 => 'AL', + 1581 => 'AL', + 1582 => 'AL', + 1583 => 'AL', + 1584 => 'AL', + 1585 => 'AL', + 1586 => 'AL', + 1587 => 'AL', + 1588 => 'AL', + 1589 => 'AL', + 1590 => 'AL', + 1591 => 'AL', + 1592 => 'AL', + 1593 => 'AL', + 1594 => 'AL', + 1600 => 'AL', + 1601 => 'AL', + 1602 => 'AL', + 1603 => 'AL', + 1604 => 'AL', + 1605 => 'AL', + 1606 => 'AL', + 1607 => 'AL', + 1608 => 'AL', + 1609 => 'AL', + 1610 => 'AL', + 1611 => 'NSM', + 1612 => 'NSM', + 1613 => 'NSM', + 1614 => 'NSM', + 1615 => 'NSM', + 1616 => 'NSM', + 1617 => 'NSM', + 1618 => 'NSM', + 1619 => 'NSM', + 1620 => 'NSM', + 1621 => 'NSM', + 1622 => 'NSM', + 1623 => 'NSM', + 1624 => 'NSM', + 1625 => 'NSM', + 1626 => 'NSM', + 1627 => 'NSM', + 1628 => 'NSM', + 1629 => 'NSM', + 1630 => 'NSM', + 1632 => 'AN', + 1633 => 'AN', + 1634 => 'AN', + 1635 => 'AN', + 1636 => 'AN', + 1637 => 'AN', + 1638 => 'AN', + 1639 => 'AN', + 1640 => 'AN', + 1641 => 'AN', + 1642 => 'ET', + 1643 => 'AN', + 1644 => 'AN', + 1645 => 'AL', + 1646 => 'AL', + 1647 => 'AL', + 1648 => 'NSM', + 1649 => 'AL', + 1650 => 'AL', + 1651 => 'AL', + 1652 => 'AL', + 1653 => 'AL', + 1654 => 'AL', + 1655 => 'AL', + 1656 => 'AL', + 1657 => 'AL', + 1658 => 'AL', + 1659 => 'AL', + 1660 => 'AL', + 1661 => 'AL', + 1662 => 'AL', + 1663 => 'AL', + 1664 => 'AL', + 1665 => 'AL', + 1666 => 'AL', + 1667 => 'AL', + 1668 => 'AL', + 1669 => 'AL', + 1670 => 'AL', + 1671 => 'AL', + 1672 => 'AL', + 1673 => 'AL', + 1674 => 'AL', + 1675 => 'AL', + 1676 => 'AL', + 1677 => 'AL', + 1678 => 'AL', + 1679 => 'AL', + 1680 => 'AL', + 1681 => 'AL', + 1682 => 'AL', + 1683 => 'AL', + 1684 => 'AL', + 1685 => 'AL', + 1686 => 'AL', + 1687 => 'AL', + 1688 => 'AL', + 1689 => 'AL', + 1690 => 'AL', + 1691 => 'AL', + 1692 => 'AL', + 1693 => 'AL', + 1694 => 'AL', + 1695 => 'AL', + 1696 => 'AL', + 1697 => 'AL', + 1698 => 'AL', + 1699 => 'AL', + 1700 => 'AL', + 1701 => 'AL', + 1702 => 'AL', + 1703 => 'AL', + 1704 => 'AL', + 1705 => 'AL', + 1706 => 'AL', + 1707 => 'AL', + 1708 => 'AL', + 1709 => 'AL', + 1710 => 'AL', + 1711 => 'AL', + 1712 => 'AL', + 1713 => 'AL', + 1714 => 'AL', + 1715 => 'AL', + 1716 => 'AL', + 1717 => 'AL', + 1718 => 'AL', + 1719 => 'AL', + 1720 => 'AL', + 1721 => 'AL', + 1722 => 'AL', + 1723 => 'AL', + 1724 => 'AL', + 1725 => 'AL', + 1726 => 'AL', + 1727 => 'AL', + 1728 => 'AL', + 1729 => 'AL', + 1730 => 'AL', + 1731 => 'AL', + 1732 => 'AL', + 1733 => 'AL', + 1734 => 'AL', + 1735 => 'AL', + 1736 => 'AL', + 1737 => 'AL', + 1738 => 'AL', + 1739 => 'AL', + 1740 => 'AL', + 1741 => 'AL', + 1742 => 'AL', + 1743 => 'AL', + 1744 => 'AL', + 1745 => 'AL', + 1746 => 'AL', + 1747 => 'AL', + 1748 => 'AL', + 1749 => 'AL', + 1750 => 'NSM', + 1751 => 'NSM', + 1752 => 'NSM', + 1753 => 'NSM', + 1754 => 'NSM', + 1755 => 'NSM', + 1756 => 'NSM', + 1757 => 'AL', + 1758 => 'NSM', + 1759 => 'NSM', + 1760 => 'NSM', + 1761 => 'NSM', + 1762 => 'NSM', + 1763 => 'NSM', + 1764 => 'NSM', + 1765 => 'AL', + 1766 => 'AL', + 1767 => 'NSM', + 1768 => 'NSM', + 1769 => 'ON', + 1770 => 'NSM', + 1771 => 'NSM', + 1772 => 'NSM', + 1773 => 'NSM', + 1774 => 'AL', + 1775 => 'AL', + 1776 => 'EN', + 1777 => 'EN', + 1778 => 'EN', + 1779 => 'EN', + 1780 => 'EN', + 1781 => 'EN', + 1782 => 'EN', + 1783 => 'EN', + 1784 => 'EN', + 1785 => 'EN', + 1786 => 'AL', + 1787 => 'AL', + 1788 => 'AL', + 1789 => 'AL', + 1790 => 'AL', + 1791 => 'AL', + 1792 => 'AL', + 1793 => 'AL', + 1794 => 'AL', + 1795 => 'AL', + 1796 => 'AL', + 1797 => 'AL', + 1798 => 'AL', + 1799 => 'AL', + 1800 => 'AL', + 1801 => 'AL', + 1802 => 'AL', + 1803 => 'AL', + 1804 => 'AL', + 1805 => 'AL', + 1807 => 'BN', + 1808 => 'AL', + 1809 => 'NSM', + 1810 => 'AL', + 1811 => 'AL', + 1812 => 'AL', + 1813 => 'AL', + 1814 => 'AL', + 1815 => 'AL', + 1816 => 'AL', + 1817 => 'AL', + 1818 => 'AL', + 1819 => 'AL', + 1820 => 'AL', + 1821 => 'AL', + 1822 => 'AL', + 1823 => 'AL', + 1824 => 'AL', + 1825 => 'AL', + 1826 => 'AL', + 1827 => 'AL', + 1828 => 'AL', + 1829 => 'AL', + 1830 => 'AL', + 1831 => 'AL', + 1832 => 'AL', + 1833 => 'AL', + 1834 => 'AL', + 1835 => 'AL', + 1836 => 'AL', + 1837 => 'AL', + 1838 => 'AL', + 1839 => 'AL', + 1840 => 'NSM', + 1841 => 'NSM', + 1842 => 'NSM', + 1843 => 'NSM', + 1844 => 'NSM', + 1845 => 'NSM', + 1846 => 'NSM', + 1847 => 'NSM', + 1848 => 'NSM', + 1849 => 'NSM', + 1850 => 'NSM', + 1851 => 'NSM', + 1852 => 'NSM', + 1853 => 'NSM', + 1854 => 'NSM', + 1855 => 'NSM', + 1856 => 'NSM', + 1857 => 'NSM', + 1858 => 'NSM', + 1859 => 'NSM', + 1860 => 'NSM', + 1861 => 'NSM', + 1862 => 'NSM', + 1863 => 'NSM', + 1864 => 'NSM', + 1865 => 'NSM', + 1866 => 'NSM', + 1869 => 'AL', + 1870 => 'AL', + 1871 => 'AL', + 1872 => 'AL', + 1873 => 'AL', + 1874 => 'AL', + 1875 => 'AL', + 1876 => 'AL', + 1877 => 'AL', + 1878 => 'AL', + 1879 => 'AL', + 1880 => 'AL', + 1881 => 'AL', + 1882 => 'AL', + 1883 => 'AL', + 1884 => 'AL', + 1885 => 'AL', + 1886 => 'AL', + 1887 => 'AL', + 1888 => 'AL', + 1889 => 'AL', + 1890 => 'AL', + 1891 => 'AL', + 1892 => 'AL', + 1893 => 'AL', + 1894 => 'AL', + 1895 => 'AL', + 1896 => 'AL', + 1897 => 'AL', + 1898 => 'AL', + 1899 => 'AL', + 1900 => 'AL', + 1901 => 'AL', + 1920 => 'AL', + 1921 => 'AL', + 1922 => 'AL', + 1923 => 'AL', + 1924 => 'AL', + 1925 => 'AL', + 1926 => 'AL', + 1927 => 'AL', + 1928 => 'AL', + 1929 => 'AL', + 1930 => 'AL', + 1931 => 'AL', + 1932 => 'AL', + 1933 => 'AL', + 1934 => 'AL', + 1935 => 'AL', + 1936 => 'AL', + 1937 => 'AL', + 1938 => 'AL', + 1939 => 'AL', + 1940 => 'AL', + 1941 => 'AL', + 1942 => 'AL', + 1943 => 'AL', + 1944 => 'AL', + 1945 => 'AL', + 1946 => 'AL', + 1947 => 'AL', + 1948 => 'AL', + 1949 => 'AL', + 1950 => 'AL', + 1951 => 'AL', + 1952 => 'AL', + 1953 => 'AL', + 1954 => 'AL', + 1955 => 'AL', + 1956 => 'AL', + 1957 => 'AL', + 1958 => 'NSM', + 1959 => 'NSM', + 1960 => 'NSM', + 1961 => 'NSM', + 1962 => 'NSM', + 1963 => 'NSM', + 1964 => 'NSM', + 1965 => 'NSM', + 1966 => 'NSM', + 1967 => 'NSM', + 1968 => 'NSM', + 1969 => 'AL', + 1984 => 'R', + 1985 => 'R', + 1986 => 'R', + 1987 => 'R', + 1988 => 'R', + 1989 => 'R', + 1990 => 'R', + 1991 => 'R', + 1992 => 'R', + 1993 => 'R', + 1994 => 'R', + 1995 => 'R', + 1996 => 'R', + 1997 => 'R', + 1998 => 'R', + 1999 => 'R', + 2000 => 'R', + 2001 => 'R', + 2002 => 'R', + 2003 => 'R', + 2004 => 'R', + 2005 => 'R', + 2006 => 'R', + 2007 => 'R', + 2008 => 'R', + 2009 => 'R', + 2010 => 'R', + 2011 => 'R', + 2012 => 'R', + 2013 => 'R', + 2014 => 'R', + 2015 => 'R', + 2016 => 'R', + 2017 => 'R', + 2018 => 'R', + 2019 => 'R', + 2020 => 'R', + 2021 => 'R', + 2022 => 'R', + 2023 => 'R', + 2024 => 'R', + 2025 => 'R', + 2026 => 'R', + 2027 => 'NSM', + 2028 => 'NSM', + 2029 => 'NSM', + 2030 => 'NSM', + 2031 => 'NSM', + 2032 => 'NSM', + 2033 => 'NSM', + 2034 => 'NSM', + 2035 => 'NSM', + 2036 => 'R', + 2037 => 'R', + 2038 => 'ON', + 2039 => 'ON', + 2040 => 'ON', + 2041 => 'ON', + 2042 => 'R', + 2305 => 'NSM', + 2306 => 'NSM', + 2307 => 'L', + 2308 => 'L', + 2309 => 'L', + 2310 => 'L', + 2311 => 'L', + 2312 => 'L', + 2313 => 'L', + 2314 => 'L', + 2315 => 'L', + 2316 => 'L', + 2317 => 'L', + 2318 => 'L', + 2319 => 'L', + 2320 => 'L', + 2321 => 'L', + 2322 => 'L', + 2323 => 'L', + 2324 => 'L', + 2325 => 'L', + 2326 => 'L', + 2327 => 'L', + 2328 => 'L', + 2329 => 'L', + 2330 => 'L', + 2331 => 'L', + 2332 => 'L', + 2333 => 'L', + 2334 => 'L', + 2335 => 'L', + 2336 => 'L', + 2337 => 'L', + 2338 => 'L', + 2339 => 'L', + 2340 => 'L', + 2341 => 'L', + 2342 => 'L', + 2343 => 'L', + 2344 => 'L', + 2345 => 'L', + 2346 => 'L', + 2347 => 'L', + 2348 => 'L', + 2349 => 'L', + 2350 => 'L', + 2351 => 'L', + 2352 => 'L', + 2353 => 'L', + 2354 => 'L', + 2355 => 'L', + 2356 => 'L', + 2357 => 'L', + 2358 => 'L', + 2359 => 'L', + 2360 => 'L', + 2361 => 'L', + 2364 => 'NSM', + 2365 => 'L', + 2366 => 'L', + 2367 => 'L', + 2368 => 'L', + 2369 => 'NSM', + 2370 => 'NSM', + 2371 => 'NSM', + 2372 => 'NSM', + 2373 => 'NSM', + 2374 => 'NSM', + 2375 => 'NSM', + 2376 => 'NSM', + 2377 => 'L', + 2378 => 'L', + 2379 => 'L', + 2380 => 'L', + 2381 => 'NSM', + 2384 => 'L', + 2385 => 'NSM', + 2386 => 'NSM', + 2387 => 'NSM', + 2388 => 'NSM', + 2392 => 'L', + 2393 => 'L', + 2394 => 'L', + 2395 => 'L', + 2396 => 'L', + 2397 => 'L', + 2398 => 'L', + 2399 => 'L', + 2400 => 'L', + 2401 => 'L', + 2402 => 'NSM', + 2403 => 'NSM', + 2404 => 'L', + 2405 => 'L', + 2406 => 'L', + 2407 => 'L', + 2408 => 'L', + 2409 => 'L', + 2410 => 'L', + 2411 => 'L', + 2412 => 'L', + 2413 => 'L', + 2414 => 'L', + 2415 => 'L', + 2416 => 'L', + 2427 => 'L', + 2428 => 'L', + 2429 => 'L', + 2430 => 'L', + 2431 => 'L', + 2433 => 'NSM', + 2434 => 'L', + 2435 => 'L', + 2437 => 'L', + 2438 => 'L', + 2439 => 'L', + 2440 => 'L', + 2441 => 'L', + 2442 => 'L', + 2443 => 'L', + 2444 => 'L', + 2447 => 'L', + 2448 => 'L', + 2451 => 'L', + 2452 => 'L', + 2453 => 'L', + 2454 => 'L', + 2455 => 'L', + 2456 => 'L', + 2457 => 'L', + 2458 => 'L', + 2459 => 'L', + 2460 => 'L', + 2461 => 'L', + 2462 => 'L', + 2463 => 'L', + 2464 => 'L', + 2465 => 'L', + 2466 => 'L', + 2467 => 'L', + 2468 => 'L', + 2469 => 'L', + 2470 => 'L', + 2471 => 'L', + 2472 => 'L', + 2474 => 'L', + 2475 => 'L', + 2476 => 'L', + 2477 => 'L', + 2478 => 'L', + 2479 => 'L', + 2480 => 'L', + 2482 => 'L', + 2486 => 'L', + 2487 => 'L', + 2488 => 'L', + 2489 => 'L', + 2492 => 'NSM', + 2493 => 'L', + 2494 => 'L', + 2495 => 'L', + 2496 => 'L', + 2497 => 'NSM', + 2498 => 'NSM', + 2499 => 'NSM', + 2500 => 'NSM', + 2503 => 'L', + 2504 => 'L', + 2507 => 'L', + 2508 => 'L', + 2509 => 'NSM', + 2510 => 'L', + 2519 => 'L', + 2524 => 'L', + 2525 => 'L', + 2527 => 'L', + 2528 => 'L', + 2529 => 'L', + 2530 => 'NSM', + 2531 => 'NSM', + 2534 => 'L', + 2535 => 'L', + 2536 => 'L', + 2537 => 'L', + 2538 => 'L', + 2539 => 'L', + 2540 => 'L', + 2541 => 'L', + 2542 => 'L', + 2543 => 'L', + 2544 => 'L', + 2545 => 'L', + 2546 => 'ET', + 2547 => 'ET', + 2548 => 'L', + 2549 => 'L', + 2550 => 'L', + 2551 => 'L', + 2552 => 'L', + 2553 => 'L', + 2554 => 'L', + 2561 => 'NSM', + 2562 => 'NSM', + 2563 => 'L', + 2565 => 'L', + 2566 => 'L', + 2567 => 'L', + 2568 => 'L', + 2569 => 'L', + 2570 => 'L', + 2575 => 'L', + 2576 => 'L', + 2579 => 'L', + 2580 => 'L', + 2581 => 'L', + 2582 => 'L', + 2583 => 'L', + 2584 => 'L', + 2585 => 'L', + 2586 => 'L', + 2587 => 'L', + 2588 => 'L', + 2589 => 'L', + 2590 => 'L', + 2591 => 'L', + 2592 => 'L', + 2593 => 'L', + 2594 => 'L', + 2595 => 'L', + 2596 => 'L', + 2597 => 'L', + 2598 => 'L', + 2599 => 'L', + 2600 => 'L', + 2602 => 'L', + 2603 => 'L', + 2604 => 'L', + 2605 => 'L', + 2606 => 'L', + 2607 => 'L', + 2608 => 'L', + 2610 => 'L', + 2611 => 'L', + 2613 => 'L', + 2614 => 'L', + 2616 => 'L', + 2617 => 'L', + 2620 => 'NSM', + 2622 => 'L', + 2623 => 'L', + 2624 => 'L', + 2625 => 'NSM', + 2626 => 'NSM', + 2631 => 'NSM', + 2632 => 'NSM', + 2635 => 'NSM', + 2636 => 'NSM', + 2637 => 'NSM', + 2649 => 'L', + 2650 => 'L', + 2651 => 'L', + 2652 => 'L', + 2654 => 'L', + 2662 => 'L', + 2663 => 'L', + 2664 => 'L', + 2665 => 'L', + 2666 => 'L', + 2667 => 'L', + 2668 => 'L', + 2669 => 'L', + 2670 => 'L', + 2671 => 'L', + 2672 => 'NSM', + 2673 => 'NSM', + 2674 => 'L', + 2675 => 'L', + 2676 => 'L', + 2689 => 'NSM', + 2690 => 'NSM', + 2691 => 'L', + 2693 => 'L', + 2694 => 'L', + 2695 => 'L', + 2696 => 'L', + 2697 => 'L', + 2698 => 'L', + 2699 => 'L', + 2700 => 'L', + 2701 => 'L', + 2703 => 'L', + 2704 => 'L', + 2705 => 'L', + 2707 => 'L', + 2708 => 'L', + 2709 => 'L', + 2710 => 'L', + 2711 => 'L', + 2712 => 'L', + 2713 => 'L', + 2714 => 'L', + 2715 => 'L', + 2716 => 'L', + 2717 => 'L', + 2718 => 'L', + 2719 => 'L', + 2720 => 'L', + 2721 => 'L', + 2722 => 'L', + 2723 => 'L', + 2724 => 'L', + 2725 => 'L', + 2726 => 'L', + 2727 => 'L', + 2728 => 'L', + 2730 => 'L', + 2731 => 'L', + 2732 => 'L', + 2733 => 'L', + 2734 => 'L', + 2735 => 'L', + 2736 => 'L', + 2738 => 'L', + 2739 => 'L', + 2741 => 'L', + 2742 => 'L', + 2743 => 'L', + 2744 => 'L', + 2745 => 'L', + 2748 => 'NSM', + 2749 => 'L', + 2750 => 'L', + 2751 => 'L', + 2752 => 'L', + 2753 => 'NSM', + 2754 => 'NSM', + 2755 => 'NSM', + 2756 => 'NSM', + 2757 => 'NSM', + 2759 => 'NSM', + 2760 => 'NSM', + 2761 => 'L', + 2763 => 'L', + 2764 => 'L', + 2765 => 'NSM', + 2768 => 'L', + 2784 => 'L', + 2785 => 'L', + 2786 => 'NSM', + 2787 => 'NSM', + 2790 => 'L', + 2791 => 'L', + 2792 => 'L', + 2793 => 'L', + 2794 => 'L', + 2795 => 'L', + 2796 => 'L', + 2797 => 'L', + 2798 => 'L', + 2799 => 'L', + 2801 => 'ET', + 2817 => 'NSM', + 2818 => 'L', + 2819 => 'L', + 2821 => 'L', + 2822 => 'L', + 2823 => 'L', + 2824 => 'L', + 2825 => 'L', + 2826 => 'L', + 2827 => 'L', + 2828 => 'L', + 2831 => 'L', + 2832 => 'L', + 2835 => 'L', + 2836 => 'L', + 2837 => 'L', + 2838 => 'L', + 2839 => 'L', + 2840 => 'L', + 2841 => 'L', + 2842 => 'L', + 2843 => 'L', + 2844 => 'L', + 2845 => 'L', + 2846 => 'L', + 2847 => 'L', + 2848 => 'L', + 2849 => 'L', + 2850 => 'L', + 2851 => 'L', + 2852 => 'L', + 2853 => 'L', + 2854 => 'L', + 2855 => 'L', + 2856 => 'L', + 2858 => 'L', + 2859 => 'L', + 2860 => 'L', + 2861 => 'L', + 2862 => 'L', + 2863 => 'L', + 2864 => 'L', + 2866 => 'L', + 2867 => 'L', + 2869 => 'L', + 2870 => 'L', + 2871 => 'L', + 2872 => 'L', + 2873 => 'L', + 2876 => 'NSM', + 2877 => 'L', + 2878 => 'L', + 2879 => 'NSM', + 2880 => 'L', + 2881 => 'NSM', + 2882 => 'NSM', + 2883 => 'NSM', + 2887 => 'L', + 2888 => 'L', + 2891 => 'L', + 2892 => 'L', + 2893 => 'NSM', + 2902 => 'NSM', + 2903 => 'L', + 2908 => 'L', + 2909 => 'L', + 2911 => 'L', + 2912 => 'L', + 2913 => 'L', + 2918 => 'L', + 2919 => 'L', + 2920 => 'L', + 2921 => 'L', + 2922 => 'L', + 2923 => 'L', + 2924 => 'L', + 2925 => 'L', + 2926 => 'L', + 2927 => 'L', + 2928 => 'L', + 2929 => 'L', + 2946 => 'NSM', + 2947 => 'L', + 2949 => 'L', + 2950 => 'L', + 2951 => 'L', + 2952 => 'L', + 2953 => 'L', + 2954 => 'L', + 2958 => 'L', + 2959 => 'L', + 2960 => 'L', + 2962 => 'L', + 2963 => 'L', + 2964 => 'L', + 2965 => 'L', + 2969 => 'L', + 2970 => 'L', + 2972 => 'L', + 2974 => 'L', + 2975 => 'L', + 2979 => 'L', + 2980 => 'L', + 2984 => 'L', + 2985 => 'L', + 2986 => 'L', + 2990 => 'L', + 2991 => 'L', + 2992 => 'L', + 2993 => 'L', + 2994 => 'L', + 2995 => 'L', + 2996 => 'L', + 2997 => 'L', + 2998 => 'L', + 2999 => 'L', + 3000 => 'L', + 3001 => 'L', + 3006 => 'L', + 3007 => 'L', + 3008 => 'NSM', + 3009 => 'L', + 3010 => 'L', + 3014 => 'L', + 3015 => 'L', + 3016 => 'L', + 3018 => 'L', + 3019 => 'L', + 3020 => 'L', + 3021 => 'NSM', + 3031 => 'L', + 3046 => 'L', + 3047 => 'L', + 3048 => 'L', + 3049 => 'L', + 3050 => 'L', + 3051 => 'L', + 3052 => 'L', + 3053 => 'L', + 3054 => 'L', + 3055 => 'L', + 3056 => 'L', + 3057 => 'L', + 3058 => 'L', + 3059 => 'ON', + 3060 => 'ON', + 3061 => 'ON', + 3062 => 'ON', + 3063 => 'ON', + 3064 => 'ON', + 3065 => 'ET', + 3066 => 'ON', + 3073 => 'L', + 3074 => 'L', + 3075 => 'L', + 3077 => 'L', + 3078 => 'L', + 3079 => 'L', + 3080 => 'L', + 3081 => 'L', + 3082 => 'L', + 3083 => 'L', + 3084 => 'L', + 3086 => 'L', + 3087 => 'L', + 3088 => 'L', + 3090 => 'L', + 3091 => 'L', + 3092 => 'L', + 3093 => 'L', + 3094 => 'L', + 3095 => 'L', + 3096 => 'L', + 3097 => 'L', + 3098 => 'L', + 3099 => 'L', + 3100 => 'L', + 3101 => 'L', + 3102 => 'L', + 3103 => 'L', + 3104 => 'L', + 3105 => 'L', + 3106 => 'L', + 3107 => 'L', + 3108 => 'L', + 3109 => 'L', + 3110 => 'L', + 3111 => 'L', + 3112 => 'L', + 3114 => 'L', + 3115 => 'L', + 3116 => 'L', + 3117 => 'L', + 3118 => 'L', + 3119 => 'L', + 3120 => 'L', + 3121 => 'L', + 3122 => 'L', + 3123 => 'L', + 3125 => 'L', + 3126 => 'L', + 3127 => 'L', + 3128 => 'L', + 3129 => 'L', + 3134 => 'NSM', + 3135 => 'NSM', + 3136 => 'NSM', + 3137 => 'L', + 3138 => 'L', + 3139 => 'L', + 3140 => 'L', + 3142 => 'NSM', + 3143 => 'NSM', + 3144 => 'NSM', + 3146 => 'NSM', + 3147 => 'NSM', + 3148 => 'NSM', + 3149 => 'NSM', + 3157 => 'NSM', + 3158 => 'NSM', + 3168 => 'L', + 3169 => 'L', + 3174 => 'L', + 3175 => 'L', + 3176 => 'L', + 3177 => 'L', + 3178 => 'L', + 3179 => 'L', + 3180 => 'L', + 3181 => 'L', + 3182 => 'L', + 3183 => 'L', + 3202 => 'L', + 3203 => 'L', + 3205 => 'L', + 3206 => 'L', + 3207 => 'L', + 3208 => 'L', + 3209 => 'L', + 3210 => 'L', + 3211 => 'L', + 3212 => 'L', + 3214 => 'L', + 3215 => 'L', + 3216 => 'L', + 3218 => 'L', + 3219 => 'L', + 3220 => 'L', + 3221 => 'L', + 3222 => 'L', + 3223 => 'L', + 3224 => 'L', + 3225 => 'L', + 3226 => 'L', + 3227 => 'L', + 3228 => 'L', + 3229 => 'L', + 3230 => 'L', + 3231 => 'L', + 3232 => 'L', + 3233 => 'L', + 3234 => 'L', + 3235 => 'L', + 3236 => 'L', + 3237 => 'L', + 3238 => 'L', + 3239 => 'L', + 3240 => 'L', + 3242 => 'L', + 3243 => 'L', + 3244 => 'L', + 3245 => 'L', + 3246 => 'L', + 3247 => 'L', + 3248 => 'L', + 3249 => 'L', + 3250 => 'L', + 3251 => 'L', + 3253 => 'L', + 3254 => 'L', + 3255 => 'L', + 3256 => 'L', + 3257 => 'L', + 3260 => 'NSM', + 3261 => 'L', + 3262 => 'L', + 3263 => 'L', + 3264 => 'L', + 3265 => 'L', + 3266 => 'L', + 3267 => 'L', + 3268 => 'L', + 3270 => 'L', + 3271 => 'L', + 3272 => 'L', + 3274 => 'L', + 3275 => 'L', + 3276 => 'NSM', + 3277 => 'NSM', + 3285 => 'L', + 3286 => 'L', + 3294 => 'L', + 3296 => 'L', + 3297 => 'L', + 3298 => 'NSM', + 3299 => 'NSM', + 3302 => 'L', + 3303 => 'L', + 3304 => 'L', + 3305 => 'L', + 3306 => 'L', + 3307 => 'L', + 3308 => 'L', + 3309 => 'L', + 3310 => 'L', + 3311 => 'L', + 3313 => 'ON', + 3314 => 'ON', + 3330 => 'L', + 3331 => 'L', + 3333 => 'L', + 3334 => 'L', + 3335 => 'L', + 3336 => 'L', + 3337 => 'L', + 3338 => 'L', + 3339 => 'L', + 3340 => 'L', + 3342 => 'L', + 3343 => 'L', + 3344 => 'L', + 3346 => 'L', + 3347 => 'L', + 3348 => 'L', + 3349 => 'L', + 3350 => 'L', + 3351 => 'L', + 3352 => 'L', + 3353 => 'L', + 3354 => 'L', + 3355 => 'L', + 3356 => 'L', + 3357 => 'L', + 3358 => 'L', + 3359 => 'L', + 3360 => 'L', + 3361 => 'L', + 3362 => 'L', + 3363 => 'L', + 3364 => 'L', + 3365 => 'L', + 3366 => 'L', + 3367 => 'L', + 3368 => 'L', + 3370 => 'L', + 3371 => 'L', + 3372 => 'L', + 3373 => 'L', + 3374 => 'L', + 3375 => 'L', + 3376 => 'L', + 3377 => 'L', + 3378 => 'L', + 3379 => 'L', + 3380 => 'L', + 3381 => 'L', + 3382 => 'L', + 3383 => 'L', + 3384 => 'L', + 3385 => 'L', + 3390 => 'L', + 3391 => 'L', + 3392 => 'L', + 3393 => 'NSM', + 3394 => 'NSM', + 3395 => 'NSM', + 3398 => 'L', + 3399 => 'L', + 3400 => 'L', + 3402 => 'L', + 3403 => 'L', + 3404 => 'L', + 3405 => 'NSM', + 3415 => 'L', + 3424 => 'L', + 3425 => 'L', + 3430 => 'L', + 3431 => 'L', + 3432 => 'L', + 3433 => 'L', + 3434 => 'L', + 3435 => 'L', + 3436 => 'L', + 3437 => 'L', + 3438 => 'L', + 3439 => 'L', + 3458 => 'L', + 3459 => 'L', + 3461 => 'L', + 3462 => 'L', + 3463 => 'L', + 3464 => 'L', + 3465 => 'L', + 3466 => 'L', + 3467 => 'L', + 3468 => 'L', + 3469 => 'L', + 3470 => 'L', + 3471 => 'L', + 3472 => 'L', + 3473 => 'L', + 3474 => 'L', + 3475 => 'L', + 3476 => 'L', + 3477 => 'L', + 3478 => 'L', + 3482 => 'L', + 3483 => 'L', + 3484 => 'L', + 3485 => 'L', + 3486 => 'L', + 3487 => 'L', + 3488 => 'L', + 3489 => 'L', + 3490 => 'L', + 3491 => 'L', + 3492 => 'L', + 3493 => 'L', + 3494 => 'L', + 3495 => 'L', + 3496 => 'L', + 3497 => 'L', + 3498 => 'L', + 3499 => 'L', + 3500 => 'L', + 3501 => 'L', + 3502 => 'L', + 3503 => 'L', + 3504 => 'L', + 3505 => 'L', + 3507 => 'L', + 3508 => 'L', + 3509 => 'L', + 3510 => 'L', + 3511 => 'L', + 3512 => 'L', + 3513 => 'L', + 3514 => 'L', + 3515 => 'L', + 3517 => 'L', + 3520 => 'L', + 3521 => 'L', + 3522 => 'L', + 3523 => 'L', + 3524 => 'L', + 3525 => 'L', + 3526 => 'L', + 3530 => 'NSM', + 3535 => 'L', + 3536 => 'L', + 3537 => 'L', + 3538 => 'NSM', + 3539 => 'NSM', + 3540 => 'NSM', + 3542 => 'NSM', + 3544 => 'L', + 3545 => 'L', + 3546 => 'L', + 3547 => 'L', + 3548 => 'L', + 3549 => 'L', + 3550 => 'L', + 3551 => 'L', + 3570 => 'L', + 3571 => 'L', + 3572 => 'L', + 3585 => 'L', + 3586 => 'L', + 3587 => 'L', + 3588 => 'L', + 3589 => 'L', + 3590 => 'L', + 3591 => 'L', + 3592 => 'L', + 3593 => 'L', + 3594 => 'L', + 3595 => 'L', + 3596 => 'L', + 3597 => 'L', + 3598 => 'L', + 3599 => 'L', + 3600 => 'L', + 3601 => 'L', + 3602 => 'L', + 3603 => 'L', + 3604 => 'L', + 3605 => 'L', + 3606 => 'L', + 3607 => 'L', + 3608 => 'L', + 3609 => 'L', + 3610 => 'L', + 3611 => 'L', + 3612 => 'L', + 3613 => 'L', + 3614 => 'L', + 3615 => 'L', + 3616 => 'L', + 3617 => 'L', + 3618 => 'L', + 3619 => 'L', + 3620 => 'L', + 3621 => 'L', + 3622 => 'L', + 3623 => 'L', + 3624 => 'L', + 3625 => 'L', + 3626 => 'L', + 3627 => 'L', + 3628 => 'L', + 3629 => 'L', + 3630 => 'L', + 3631 => 'L', + 3632 => 'L', + 3633 => 'NSM', + 3634 => 'L', + 3635 => 'L', + 3636 => 'NSM', + 3637 => 'NSM', + 3638 => 'NSM', + 3639 => 'NSM', + 3640 => 'NSM', + 3641 => 'NSM', + 3642 => 'NSM', + 3647 => 'ET', + 3648 => 'L', + 3649 => 'L', + 3650 => 'L', + 3651 => 'L', + 3652 => 'L', + 3653 => 'L', + 3654 => 'L', + 3655 => 'NSM', + 3656 => 'NSM', + 3657 => 'NSM', + 3658 => 'NSM', + 3659 => 'NSM', + 3660 => 'NSM', + 3661 => 'NSM', + 3662 => 'NSM', + 3663 => 'L', + 3664 => 'L', + 3665 => 'L', + 3666 => 'L', + 3667 => 'L', + 3668 => 'L', + 3669 => 'L', + 3670 => 'L', + 3671 => 'L', + 3672 => 'L', + 3673 => 'L', + 3674 => 'L', + 3675 => 'L', + 3713 => 'L', + 3714 => 'L', + 3716 => 'L', + 3719 => 'L', + 3720 => 'L', + 3722 => 'L', + 3725 => 'L', + 3732 => 'L', + 3733 => 'L', + 3734 => 'L', + 3735 => 'L', + 3737 => 'L', + 3738 => 'L', + 3739 => 'L', + 3740 => 'L', + 3741 => 'L', + 3742 => 'L', + 3743 => 'L', + 3745 => 'L', + 3746 => 'L', + 3747 => 'L', + 3749 => 'L', + 3751 => 'L', + 3754 => 'L', + 3755 => 'L', + 3757 => 'L', + 3758 => 'L', + 3759 => 'L', + 3760 => 'L', + 3761 => 'NSM', + 3762 => 'L', + 3763 => 'L', + 3764 => 'NSM', + 3765 => 'NSM', + 3766 => 'NSM', + 3767 => 'NSM', + 3768 => 'NSM', + 3769 => 'NSM', + 3771 => 'NSM', + 3772 => 'NSM', + 3773 => 'L', + 3776 => 'L', + 3777 => 'L', + 3778 => 'L', + 3779 => 'L', + 3780 => 'L', + 3782 => 'L', + 3784 => 'NSM', + 3785 => 'NSM', + 3786 => 'NSM', + 3787 => 'NSM', + 3788 => 'NSM', + 3789 => 'NSM', + 3792 => 'L', + 3793 => 'L', + 3794 => 'L', + 3795 => 'L', + 3796 => 'L', + 3797 => 'L', + 3798 => 'L', + 3799 => 'L', + 3800 => 'L', + 3801 => 'L', + 3804 => 'L', + 3805 => 'L', + 3840 => 'L', + 3841 => 'L', + 3842 => 'L', + 3843 => 'L', + 3844 => 'L', + 3845 => 'L', + 3846 => 'L', + 3847 => 'L', + 3848 => 'L', + 3849 => 'L', + 3850 => 'L', + 3851 => 'L', + 3852 => 'L', + 3853 => 'L', + 3854 => 'L', + 3855 => 'L', + 3856 => 'L', + 3857 => 'L', + 3858 => 'L', + 3859 => 'L', + 3860 => 'L', + 3861 => 'L', + 3862 => 'L', + 3863 => 'L', + 3864 => 'NSM', + 3865 => 'NSM', + 3866 => 'L', + 3867 => 'L', + 3868 => 'L', + 3869 => 'L', + 3870 => 'L', + 3871 => 'L', + 3872 => 'L', + 3873 => 'L', + 3874 => 'L', + 3875 => 'L', + 3876 => 'L', + 3877 => 'L', + 3878 => 'L', + 3879 => 'L', + 3880 => 'L', + 3881 => 'L', + 3882 => 'L', + 3883 => 'L', + 3884 => 'L', + 3885 => 'L', + 3886 => 'L', + 3887 => 'L', + 3888 => 'L', + 3889 => 'L', + 3890 => 'L', + 3891 => 'L', + 3892 => 'L', + 3893 => 'NSM', + 3894 => 'L', + 3895 => 'NSM', + 3896 => 'L', + 3897 => 'NSM', + 3898 => 'ON', + 3899 => 'ON', + 3900 => 'ON', + 3901 => 'ON', + 3902 => 'L', + 3903 => 'L', + 3904 => 'L', + 3905 => 'L', + 3906 => 'L', + 3907 => 'L', + 3908 => 'L', + 3909 => 'L', + 3910 => 'L', + 3911 => 'L', + 3913 => 'L', + 3914 => 'L', + 3915 => 'L', + 3916 => 'L', + 3917 => 'L', + 3918 => 'L', + 3919 => 'L', + 3920 => 'L', + 3921 => 'L', + 3922 => 'L', + 3923 => 'L', + 3924 => 'L', + 3925 => 'L', + 3926 => 'L', + 3927 => 'L', + 3928 => 'L', + 3929 => 'L', + 3930 => 'L', + 3931 => 'L', + 3932 => 'L', + 3933 => 'L', + 3934 => 'L', + 3935 => 'L', + 3936 => 'L', + 3937 => 'L', + 3938 => 'L', + 3939 => 'L', + 3940 => 'L', + 3941 => 'L', + 3942 => 'L', + 3943 => 'L', + 3944 => 'L', + 3945 => 'L', + 3946 => 'L', + 3953 => 'NSM', + 3954 => 'NSM', + 3955 => 'NSM', + 3956 => 'NSM', + 3957 => 'NSM', + 3958 => 'NSM', + 3959 => 'NSM', + 3960 => 'NSM', + 3961 => 'NSM', + 3962 => 'NSM', + 3963 => 'NSM', + 3964 => 'NSM', + 3965 => 'NSM', + 3966 => 'NSM', + 3967 => 'L', + 3968 => 'NSM', + 3969 => 'NSM', + 3970 => 'NSM', + 3971 => 'NSM', + 3972 => 'NSM', + 3973 => 'L', + 3974 => 'NSM', + 3975 => 'NSM', + 3976 => 'L', + 3977 => 'L', + 3978 => 'L', + 3979 => 'L', + 3984 => 'NSM', + 3985 => 'NSM', + 3986 => 'NSM', + 3987 => 'NSM', + 3988 => 'NSM', + 3989 => 'NSM', + 3990 => 'NSM', + 3991 => 'NSM', + 3993 => 'NSM', + 3994 => 'NSM', + 3995 => 'NSM', + 3996 => 'NSM', + 3997 => 'NSM', + 3998 => 'NSM', + 3999 => 'NSM', + 4000 => 'NSM', + 4001 => 'NSM', + 4002 => 'NSM', + 4003 => 'NSM', + 4004 => 'NSM', + 4005 => 'NSM', + 4006 => 'NSM', + 4007 => 'NSM', + 4008 => 'NSM', + 4009 => 'NSM', + 4010 => 'NSM', + 4011 => 'NSM', + 4012 => 'NSM', + 4013 => 'NSM', + 4014 => 'NSM', + 4015 => 'NSM', + 4016 => 'NSM', + 4017 => 'NSM', + 4018 => 'NSM', + 4019 => 'NSM', + 4020 => 'NSM', + 4021 => 'NSM', + 4022 => 'NSM', + 4023 => 'NSM', + 4024 => 'NSM', + 4025 => 'NSM', + 4026 => 'NSM', + 4027 => 'NSM', + 4028 => 'NSM', + 4030 => 'L', + 4031 => 'L', + 4032 => 'L', + 4033 => 'L', + 4034 => 'L', + 4035 => 'L', + 4036 => 'L', + 4037 => 'L', + 4038 => 'NSM', + 4039 => 'L', + 4040 => 'L', + 4041 => 'L', + 4042 => 'L', + 4043 => 'L', + 4044 => 'L', + 4047 => 'L', + 4048 => 'L', + 4049 => 'L', + 4096 => 'L', + 4097 => 'L', + 4098 => 'L', + 4099 => 'L', + 4100 => 'L', + 4101 => 'L', + 4102 => 'L', + 4103 => 'L', + 4104 => 'L', + 4105 => 'L', + 4106 => 'L', + 4107 => 'L', + 4108 => 'L', + 4109 => 'L', + 4110 => 'L', + 4111 => 'L', + 4112 => 'L', + 4113 => 'L', + 4114 => 'L', + 4115 => 'L', + 4116 => 'L', + 4117 => 'L', + 4118 => 'L', + 4119 => 'L', + 4120 => 'L', + 4121 => 'L', + 4122 => 'L', + 4123 => 'L', + 4124 => 'L', + 4125 => 'L', + 4126 => 'L', + 4127 => 'L', + 4128 => 'L', + 4129 => 'L', + 4131 => 'L', + 4132 => 'L', + 4133 => 'L', + 4134 => 'L', + 4135 => 'L', + 4137 => 'L', + 4138 => 'L', + 4140 => 'L', + 4141 => 'NSM', + 4142 => 'NSM', + 4143 => 'NSM', + 4144 => 'NSM', + 4145 => 'L', + 4146 => 'NSM', + 4150 => 'NSM', + 4151 => 'NSM', + 4152 => 'L', + 4153 => 'NSM', + 4160 => 'L', + 4161 => 'L', + 4162 => 'L', + 4163 => 'L', + 4164 => 'L', + 4165 => 'L', + 4166 => 'L', + 4167 => 'L', + 4168 => 'L', + 4169 => 'L', + 4170 => 'L', + 4171 => 'L', + 4172 => 'L', + 4173 => 'L', + 4174 => 'L', + 4175 => 'L', + 4176 => 'L', + 4177 => 'L', + 4178 => 'L', + 4179 => 'L', + 4180 => 'L', + 4181 => 'L', + 4182 => 'L', + 4183 => 'L', + 4184 => 'NSM', + 4185 => 'NSM', + 4256 => 'L', + 4257 => 'L', + 4258 => 'L', + 4259 => 'L', + 4260 => 'L', + 4261 => 'L', + 4262 => 'L', + 4263 => 'L', + 4264 => 'L', + 4265 => 'L', + 4266 => 'L', + 4267 => 'L', + 4268 => 'L', + 4269 => 'L', + 4270 => 'L', + 4271 => 'L', + 4272 => 'L', + 4273 => 'L', + 4274 => 'L', + 4275 => 'L', + 4276 => 'L', + 4277 => 'L', + 4278 => 'L', + 4279 => 'L', + 4280 => 'L', + 4281 => 'L', + 4282 => 'L', + 4283 => 'L', + 4284 => 'L', + 4285 => 'L', + 4286 => 'L', + 4287 => 'L', + 4288 => 'L', + 4289 => 'L', + 4290 => 'L', + 4291 => 'L', + 4292 => 'L', + 4293 => 'L', + 4304 => 'L', + 4305 => 'L', + 4306 => 'L', + 4307 => 'L', + 4308 => 'L', + 4309 => 'L', + 4310 => 'L', + 4311 => 'L', + 4312 => 'L', + 4313 => 'L', + 4314 => 'L', + 4315 => 'L', + 4316 => 'L', + 4317 => 'L', + 4318 => 'L', + 4319 => 'L', + 4320 => 'L', + 4321 => 'L', + 4322 => 'L', + 4323 => 'L', + 4324 => 'L', + 4325 => 'L', + 4326 => 'L', + 4327 => 'L', + 4328 => 'L', + 4329 => 'L', + 4330 => 'L', + 4331 => 'L', + 4332 => 'L', + 4333 => 'L', + 4334 => 'L', + 4335 => 'L', + 4336 => 'L', + 4337 => 'L', + 4338 => 'L', + 4339 => 'L', + 4340 => 'L', + 4341 => 'L', + 4342 => 'L', + 4343 => 'L', + 4344 => 'L', + 4345 => 'L', + 4346 => 'L', + 4347 => 'L', + 4348 => 'L', + 4352 => 'L', + 4353 => 'L', + 4354 => 'L', + 4355 => 'L', + 4356 => 'L', + 4357 => 'L', + 4358 => 'L', + 4359 => 'L', + 4360 => 'L', + 4361 => 'L', + 4362 => 'L', + 4363 => 'L', + 4364 => 'L', + 4365 => 'L', + 4366 => 'L', + 4367 => 'L', + 4368 => 'L', + 4369 => 'L', + 4370 => 'L', + 4371 => 'L', + 4372 => 'L', + 4373 => 'L', + 4374 => 'L', + 4375 => 'L', + 4376 => 'L', + 4377 => 'L', + 4378 => 'L', + 4379 => 'L', + 4380 => 'L', + 4381 => 'L', + 4382 => 'L', + 4383 => 'L', + 4384 => 'L', + 4385 => 'L', + 4386 => 'L', + 4387 => 'L', + 4388 => 'L', + 4389 => 'L', + 4390 => 'L', + 4391 => 'L', + 4392 => 'L', + 4393 => 'L', + 4394 => 'L', + 4395 => 'L', + 4396 => 'L', + 4397 => 'L', + 4398 => 'L', + 4399 => 'L', + 4400 => 'L', + 4401 => 'L', + 4402 => 'L', + 4403 => 'L', + 4404 => 'L', + 4405 => 'L', + 4406 => 'L', + 4407 => 'L', + 4408 => 'L', + 4409 => 'L', + 4410 => 'L', + 4411 => 'L', + 4412 => 'L', + 4413 => 'L', + 4414 => 'L', + 4415 => 'L', + 4416 => 'L', + 4417 => 'L', + 4418 => 'L', + 4419 => 'L', + 4420 => 'L', + 4421 => 'L', + 4422 => 'L', + 4423 => 'L', + 4424 => 'L', + 4425 => 'L', + 4426 => 'L', + 4427 => 'L', + 4428 => 'L', + 4429 => 'L', + 4430 => 'L', + 4431 => 'L', + 4432 => 'L', + 4433 => 'L', + 4434 => 'L', + 4435 => 'L', + 4436 => 'L', + 4437 => 'L', + 4438 => 'L', + 4439 => 'L', + 4440 => 'L', + 4441 => 'L', + 4447 => 'L', + 4448 => 'L', + 4449 => 'L', + 4450 => 'L', + 4451 => 'L', + 4452 => 'L', + 4453 => 'L', + 4454 => 'L', + 4455 => 'L', + 4456 => 'L', + 4457 => 'L', + 4458 => 'L', + 4459 => 'L', + 4460 => 'L', + 4461 => 'L', + 4462 => 'L', + 4463 => 'L', + 4464 => 'L', + 4465 => 'L', + 4466 => 'L', + 4467 => 'L', + 4468 => 'L', + 4469 => 'L', + 4470 => 'L', + 4471 => 'L', + 4472 => 'L', + 4473 => 'L', + 4474 => 'L', + 4475 => 'L', + 4476 => 'L', + 4477 => 'L', + 4478 => 'L', + 4479 => 'L', + 4480 => 'L', + 4481 => 'L', + 4482 => 'L', + 4483 => 'L', + 4484 => 'L', + 4485 => 'L', + 4486 => 'L', + 4487 => 'L', + 4488 => 'L', + 4489 => 'L', + 4490 => 'L', + 4491 => 'L', + 4492 => 'L', + 4493 => 'L', + 4494 => 'L', + 4495 => 'L', + 4496 => 'L', + 4497 => 'L', + 4498 => 'L', + 4499 => 'L', + 4500 => 'L', + 4501 => 'L', + 4502 => 'L', + 4503 => 'L', + 4504 => 'L', + 4505 => 'L', + 4506 => 'L', + 4507 => 'L', + 4508 => 'L', + 4509 => 'L', + 4510 => 'L', + 4511 => 'L', + 4512 => 'L', + 4513 => 'L', + 4514 => 'L', + 4520 => 'L', + 4521 => 'L', + 4522 => 'L', + 4523 => 'L', + 4524 => 'L', + 4525 => 'L', + 4526 => 'L', + 4527 => 'L', + 4528 => 'L', + 4529 => 'L', + 4530 => 'L', + 4531 => 'L', + 4532 => 'L', + 4533 => 'L', + 4534 => 'L', + 4535 => 'L', + 4536 => 'L', + 4537 => 'L', + 4538 => 'L', + 4539 => 'L', + 4540 => 'L', + 4541 => 'L', + 4542 => 'L', + 4543 => 'L', + 4544 => 'L', + 4545 => 'L', + 4546 => 'L', + 4547 => 'L', + 4548 => 'L', + 4549 => 'L', + 4550 => 'L', + 4551 => 'L', + 4552 => 'L', + 4553 => 'L', + 4554 => 'L', + 4555 => 'L', + 4556 => 'L', + 4557 => 'L', + 4558 => 'L', + 4559 => 'L', + 4560 => 'L', + 4561 => 'L', + 4562 => 'L', + 4563 => 'L', + 4564 => 'L', + 4565 => 'L', + 4566 => 'L', + 4567 => 'L', + 4568 => 'L', + 4569 => 'L', + 4570 => 'L', + 4571 => 'L', + 4572 => 'L', + 4573 => 'L', + 4574 => 'L', + 4575 => 'L', + 4576 => 'L', + 4577 => 'L', + 4578 => 'L', + 4579 => 'L', + 4580 => 'L', + 4581 => 'L', + 4582 => 'L', + 4583 => 'L', + 4584 => 'L', + 4585 => 'L', + 4586 => 'L', + 4587 => 'L', + 4588 => 'L', + 4589 => 'L', + 4590 => 'L', + 4591 => 'L', + 4592 => 'L', + 4593 => 'L', + 4594 => 'L', + 4595 => 'L', + 4596 => 'L', + 4597 => 'L', + 4598 => 'L', + 4599 => 'L', + 4600 => 'L', + 4601 => 'L', + 4608 => 'L', + 4609 => 'L', + 4610 => 'L', + 4611 => 'L', + 4612 => 'L', + 4613 => 'L', + 4614 => 'L', + 4615 => 'L', + 4616 => 'L', + 4617 => 'L', + 4618 => 'L', + 4619 => 'L', + 4620 => 'L', + 4621 => 'L', + 4622 => 'L', + 4623 => 'L', + 4624 => 'L', + 4625 => 'L', + 4626 => 'L', + 4627 => 'L', + 4628 => 'L', + 4629 => 'L', + 4630 => 'L', + 4631 => 'L', + 4632 => 'L', + 4633 => 'L', + 4634 => 'L', + 4635 => 'L', + 4636 => 'L', + 4637 => 'L', + 4638 => 'L', + 4639 => 'L', + 4640 => 'L', + 4641 => 'L', + 4642 => 'L', + 4643 => 'L', + 4644 => 'L', + 4645 => 'L', + 4646 => 'L', + 4647 => 'L', + 4648 => 'L', + 4649 => 'L', + 4650 => 'L', + 4651 => 'L', + 4652 => 'L', + 4653 => 'L', + 4654 => 'L', + 4655 => 'L', + 4656 => 'L', + 4657 => 'L', + 4658 => 'L', + 4659 => 'L', + 4660 => 'L', + 4661 => 'L', + 4662 => 'L', + 4663 => 'L', + 4664 => 'L', + 4665 => 'L', + 4666 => 'L', + 4667 => 'L', + 4668 => 'L', + 4669 => 'L', + 4670 => 'L', + 4671 => 'L', + 4672 => 'L', + 4673 => 'L', + 4674 => 'L', + 4675 => 'L', + 4676 => 'L', + 4677 => 'L', + 4678 => 'L', + 4679 => 'L', + 4680 => 'L', + 4682 => 'L', + 4683 => 'L', + 4684 => 'L', + 4685 => 'L', + 4688 => 'L', + 4689 => 'L', + 4690 => 'L', + 4691 => 'L', + 4692 => 'L', + 4693 => 'L', + 4694 => 'L', + 4696 => 'L', + 4698 => 'L', + 4699 => 'L', + 4700 => 'L', + 4701 => 'L', + 4704 => 'L', + 4705 => 'L', + 4706 => 'L', + 4707 => 'L', + 4708 => 'L', + 4709 => 'L', + 4710 => 'L', + 4711 => 'L', + 4712 => 'L', + 4713 => 'L', + 4714 => 'L', + 4715 => 'L', + 4716 => 'L', + 4717 => 'L', + 4718 => 'L', + 4719 => 'L', + 4720 => 'L', + 4721 => 'L', + 4722 => 'L', + 4723 => 'L', + 4724 => 'L', + 4725 => 'L', + 4726 => 'L', + 4727 => 'L', + 4728 => 'L', + 4729 => 'L', + 4730 => 'L', + 4731 => 'L', + 4732 => 'L', + 4733 => 'L', + 4734 => 'L', + 4735 => 'L', + 4736 => 'L', + 4737 => 'L', + 4738 => 'L', + 4739 => 'L', + 4740 => 'L', + 4741 => 'L', + 4742 => 'L', + 4743 => 'L', + 4744 => 'L', + 4746 => 'L', + 4747 => 'L', + 4748 => 'L', + 4749 => 'L', + 4752 => 'L', + 4753 => 'L', + 4754 => 'L', + 4755 => 'L', + 4756 => 'L', + 4757 => 'L', + 4758 => 'L', + 4759 => 'L', + 4760 => 'L', + 4761 => 'L', + 4762 => 'L', + 4763 => 'L', + 4764 => 'L', + 4765 => 'L', + 4766 => 'L', + 4767 => 'L', + 4768 => 'L', + 4769 => 'L', + 4770 => 'L', + 4771 => 'L', + 4772 => 'L', + 4773 => 'L', + 4774 => 'L', + 4775 => 'L', + 4776 => 'L', + 4777 => 'L', + 4778 => 'L', + 4779 => 'L', + 4780 => 'L', + 4781 => 'L', + 4782 => 'L', + 4783 => 'L', + 4784 => 'L', + 4786 => 'L', + 4787 => 'L', + 4788 => 'L', + 4789 => 'L', + 4792 => 'L', + 4793 => 'L', + 4794 => 'L', + 4795 => 'L', + 4796 => 'L', + 4797 => 'L', + 4798 => 'L', + 4800 => 'L', + 4802 => 'L', + 4803 => 'L', + 4804 => 'L', + 4805 => 'L', + 4808 => 'L', + 4809 => 'L', + 4810 => 'L', + 4811 => 'L', + 4812 => 'L', + 4813 => 'L', + 4814 => 'L', + 4815 => 'L', + 4816 => 'L', + 4817 => 'L', + 4818 => 'L', + 4819 => 'L', + 4820 => 'L', + 4821 => 'L', + 4822 => 'L', + 4824 => 'L', + 4825 => 'L', + 4826 => 'L', + 4827 => 'L', + 4828 => 'L', + 4829 => 'L', + 4830 => 'L', + 4831 => 'L', + 4832 => 'L', + 4833 => 'L', + 4834 => 'L', + 4835 => 'L', + 4836 => 'L', + 4837 => 'L', + 4838 => 'L', + 4839 => 'L', + 4840 => 'L', + 4841 => 'L', + 4842 => 'L', + 4843 => 'L', + 4844 => 'L', + 4845 => 'L', + 4846 => 'L', + 4847 => 'L', + 4848 => 'L', + 4849 => 'L', + 4850 => 'L', + 4851 => 'L', + 4852 => 'L', + 4853 => 'L', + 4854 => 'L', + 4855 => 'L', + 4856 => 'L', + 4857 => 'L', + 4858 => 'L', + 4859 => 'L', + 4860 => 'L', + 4861 => 'L', + 4862 => 'L', + 4863 => 'L', + 4864 => 'L', + 4865 => 'L', + 4866 => 'L', + 4867 => 'L', + 4868 => 'L', + 4869 => 'L', + 4870 => 'L', + 4871 => 'L', + 4872 => 'L', + 4873 => 'L', + 4874 => 'L', + 4875 => 'L', + 4876 => 'L', + 4877 => 'L', + 4878 => 'L', + 4879 => 'L', + 4880 => 'L', + 4882 => 'L', + 4883 => 'L', + 4884 => 'L', + 4885 => 'L', + 4888 => 'L', + 4889 => 'L', + 4890 => 'L', + 4891 => 'L', + 4892 => 'L', + 4893 => 'L', + 4894 => 'L', + 4895 => 'L', + 4896 => 'L', + 4897 => 'L', + 4898 => 'L', + 4899 => 'L', + 4900 => 'L', + 4901 => 'L', + 4902 => 'L', + 4903 => 'L', + 4904 => 'L', + 4905 => 'L', + 4906 => 'L', + 4907 => 'L', + 4908 => 'L', + 4909 => 'L', + 4910 => 'L', + 4911 => 'L', + 4912 => 'L', + 4913 => 'L', + 4914 => 'L', + 4915 => 'L', + 4916 => 'L', + 4917 => 'L', + 4918 => 'L', + 4919 => 'L', + 4920 => 'L', + 4921 => 'L', + 4922 => 'L', + 4923 => 'L', + 4924 => 'L', + 4925 => 'L', + 4926 => 'L', + 4927 => 'L', + 4928 => 'L', + 4929 => 'L', + 4930 => 'L', + 4931 => 'L', + 4932 => 'L', + 4933 => 'L', + 4934 => 'L', + 4935 => 'L', + 4936 => 'L', + 4937 => 'L', + 4938 => 'L', + 4939 => 'L', + 4940 => 'L', + 4941 => 'L', + 4942 => 'L', + 4943 => 'L', + 4944 => 'L', + 4945 => 'L', + 4946 => 'L', + 4947 => 'L', + 4948 => 'L', + 4949 => 'L', + 4950 => 'L', + 4951 => 'L', + 4952 => 'L', + 4953 => 'L', + 4954 => 'L', + 4959 => 'NSM', + 4960 => 'L', + 4961 => 'L', + 4962 => 'L', + 4963 => 'L', + 4964 => 'L', + 4965 => 'L', + 4966 => 'L', + 4967 => 'L', + 4968 => 'L', + 4969 => 'L', + 4970 => 'L', + 4971 => 'L', + 4972 => 'L', + 4973 => 'L', + 4974 => 'L', + 4975 => 'L', + 4976 => 'L', + 4977 => 'L', + 4978 => 'L', + 4979 => 'L', + 4980 => 'L', + 4981 => 'L', + 4982 => 'L', + 4983 => 'L', + 4984 => 'L', + 4985 => 'L', + 4986 => 'L', + 4987 => 'L', + 4988 => 'L', + 4992 => 'L', + 4993 => 'L', + 4994 => 'L', + 4995 => 'L', + 4996 => 'L', + 4997 => 'L', + 4998 => 'L', + 4999 => 'L', + 5000 => 'L', + 5001 => 'L', + 5002 => 'L', + 5003 => 'L', + 5004 => 'L', + 5005 => 'L', + 5006 => 'L', + 5007 => 'L', + 5008 => 'ON', + 5009 => 'ON', + 5010 => 'ON', + 5011 => 'ON', + 5012 => 'ON', + 5013 => 'ON', + 5014 => 'ON', + 5015 => 'ON', + 5016 => 'ON', + 5017 => 'ON', + 5024 => 'L', + 5025 => 'L', + 5026 => 'L', + 5027 => 'L', + 5028 => 'L', + 5029 => 'L', + 5030 => 'L', + 5031 => 'L', + 5032 => 'L', + 5033 => 'L', + 5034 => 'L', + 5035 => 'L', + 5036 => 'L', + 5037 => 'L', + 5038 => 'L', + 5039 => 'L', + 5040 => 'L', + 5041 => 'L', + 5042 => 'L', + 5043 => 'L', + 5044 => 'L', + 5045 => 'L', + 5046 => 'L', + 5047 => 'L', + 5048 => 'L', + 5049 => 'L', + 5050 => 'L', + 5051 => 'L', + 5052 => 'L', + 5053 => 'L', + 5054 => 'L', + 5055 => 'L', + 5056 => 'L', + 5057 => 'L', + 5058 => 'L', + 5059 => 'L', + 5060 => 'L', + 5061 => 'L', + 5062 => 'L', + 5063 => 'L', + 5064 => 'L', + 5065 => 'L', + 5066 => 'L', + 5067 => 'L', + 5068 => 'L', + 5069 => 'L', + 5070 => 'L', + 5071 => 'L', + 5072 => 'L', + 5073 => 'L', + 5074 => 'L', + 5075 => 'L', + 5076 => 'L', + 5077 => 'L', + 5078 => 'L', + 5079 => 'L', + 5080 => 'L', + 5081 => 'L', + 5082 => 'L', + 5083 => 'L', + 5084 => 'L', + 5085 => 'L', + 5086 => 'L', + 5087 => 'L', + 5088 => 'L', + 5089 => 'L', + 5090 => 'L', + 5091 => 'L', + 5092 => 'L', + 5093 => 'L', + 5094 => 'L', + 5095 => 'L', + 5096 => 'L', + 5097 => 'L', + 5098 => 'L', + 5099 => 'L', + 5100 => 'L', + 5101 => 'L', + 5102 => 'L', + 5103 => 'L', + 5104 => 'L', + 5105 => 'L', + 5106 => 'L', + 5107 => 'L', + 5108 => 'L', + 5121 => 'L', + 5122 => 'L', + 5123 => 'L', + 5124 => 'L', + 5125 => 'L', + 5126 => 'L', + 5127 => 'L', + 5128 => 'L', + 5129 => 'L', + 5130 => 'L', + 5131 => 'L', + 5132 => 'L', + 5133 => 'L', + 5134 => 'L', + 5135 => 'L', + 5136 => 'L', + 5137 => 'L', + 5138 => 'L', + 5139 => 'L', + 5140 => 'L', + 5141 => 'L', + 5142 => 'L', + 5143 => 'L', + 5144 => 'L', + 5145 => 'L', + 5146 => 'L', + 5147 => 'L', + 5148 => 'L', + 5149 => 'L', + 5150 => 'L', + 5151 => 'L', + 5152 => 'L', + 5153 => 'L', + 5154 => 'L', + 5155 => 'L', + 5156 => 'L', + 5157 => 'L', + 5158 => 'L', + 5159 => 'L', + 5160 => 'L', + 5161 => 'L', + 5162 => 'L', + 5163 => 'L', + 5164 => 'L', + 5165 => 'L', + 5166 => 'L', + 5167 => 'L', + 5168 => 'L', + 5169 => 'L', + 5170 => 'L', + 5171 => 'L', + 5172 => 'L', + 5173 => 'L', + 5174 => 'L', + 5175 => 'L', + 5176 => 'L', + 5177 => 'L', + 5178 => 'L', + 5179 => 'L', + 5180 => 'L', + 5181 => 'L', + 5182 => 'L', + 5183 => 'L', + 5184 => 'L', + 5185 => 'L', + 5186 => 'L', + 5187 => 'L', + 5188 => 'L', + 5189 => 'L', + 5190 => 'L', + 5191 => 'L', + 5192 => 'L', + 5193 => 'L', + 5194 => 'L', + 5195 => 'L', + 5196 => 'L', + 5197 => 'L', + 5198 => 'L', + 5199 => 'L', + 5200 => 'L', + 5201 => 'L', + 5202 => 'L', + 5203 => 'L', + 5204 => 'L', + 5205 => 'L', + 5206 => 'L', + 5207 => 'L', + 5208 => 'L', + 5209 => 'L', + 5210 => 'L', + 5211 => 'L', + 5212 => 'L', + 5213 => 'L', + 5214 => 'L', + 5215 => 'L', + 5216 => 'L', + 5217 => 'L', + 5218 => 'L', + 5219 => 'L', + 5220 => 'L', + 5221 => 'L', + 5222 => 'L', + 5223 => 'L', + 5224 => 'L', + 5225 => 'L', + 5226 => 'L', + 5227 => 'L', + 5228 => 'L', + 5229 => 'L', + 5230 => 'L', + 5231 => 'L', + 5232 => 'L', + 5233 => 'L', + 5234 => 'L', + 5235 => 'L', + 5236 => 'L', + 5237 => 'L', + 5238 => 'L', + 5239 => 'L', + 5240 => 'L', + 5241 => 'L', + 5242 => 'L', + 5243 => 'L', + 5244 => 'L', + 5245 => 'L', + 5246 => 'L', + 5247 => 'L', + 5248 => 'L', + 5249 => 'L', + 5250 => 'L', + 5251 => 'L', + 5252 => 'L', + 5253 => 'L', + 5254 => 'L', + 5255 => 'L', + 5256 => 'L', + 5257 => 'L', + 5258 => 'L', + 5259 => 'L', + 5260 => 'L', + 5261 => 'L', + 5262 => 'L', + 5263 => 'L', + 5264 => 'L', + 5265 => 'L', + 5266 => 'L', + 5267 => 'L', + 5268 => 'L', + 5269 => 'L', + 5270 => 'L', + 5271 => 'L', + 5272 => 'L', + 5273 => 'L', + 5274 => 'L', + 5275 => 'L', + 5276 => 'L', + 5277 => 'L', + 5278 => 'L', + 5279 => 'L', + 5280 => 'L', + 5281 => 'L', + 5282 => 'L', + 5283 => 'L', + 5284 => 'L', + 5285 => 'L', + 5286 => 'L', + 5287 => 'L', + 5288 => 'L', + 5289 => 'L', + 5290 => 'L', + 5291 => 'L', + 5292 => 'L', + 5293 => 'L', + 5294 => 'L', + 5295 => 'L', + 5296 => 'L', + 5297 => 'L', + 5298 => 'L', + 5299 => 'L', + 5300 => 'L', + 5301 => 'L', + 5302 => 'L', + 5303 => 'L', + 5304 => 'L', + 5305 => 'L', + 5306 => 'L', + 5307 => 'L', + 5308 => 'L', + 5309 => 'L', + 5310 => 'L', + 5311 => 'L', + 5312 => 'L', + 5313 => 'L', + 5314 => 'L', + 5315 => 'L', + 5316 => 'L', + 5317 => 'L', + 5318 => 'L', + 5319 => 'L', + 5320 => 'L', + 5321 => 'L', + 5322 => 'L', + 5323 => 'L', + 5324 => 'L', + 5325 => 'L', + 5326 => 'L', + 5327 => 'L', + 5328 => 'L', + 5329 => 'L', + 5330 => 'L', + 5331 => 'L', + 5332 => 'L', + 5333 => 'L', + 5334 => 'L', + 5335 => 'L', + 5336 => 'L', + 5337 => 'L', + 5338 => 'L', + 5339 => 'L', + 5340 => 'L', + 5341 => 'L', + 5342 => 'L', + 5343 => 'L', + 5344 => 'L', + 5345 => 'L', + 5346 => 'L', + 5347 => 'L', + 5348 => 'L', + 5349 => 'L', + 5350 => 'L', + 5351 => 'L', + 5352 => 'L', + 5353 => 'L', + 5354 => 'L', + 5355 => 'L', + 5356 => 'L', + 5357 => 'L', + 5358 => 'L', + 5359 => 'L', + 5360 => 'L', + 5361 => 'L', + 5362 => 'L', + 5363 => 'L', + 5364 => 'L', + 5365 => 'L', + 5366 => 'L', + 5367 => 'L', + 5368 => 'L', + 5369 => 'L', + 5370 => 'L', + 5371 => 'L', + 5372 => 'L', + 5373 => 'L', + 5374 => 'L', + 5375 => 'L', + 5376 => 'L', + 5377 => 'L', + 5378 => 'L', + 5379 => 'L', + 5380 => 'L', + 5381 => 'L', + 5382 => 'L', + 5383 => 'L', + 5384 => 'L', + 5385 => 'L', + 5386 => 'L', + 5387 => 'L', + 5388 => 'L', + 5389 => 'L', + 5390 => 'L', + 5391 => 'L', + 5392 => 'L', + 5393 => 'L', + 5394 => 'L', + 5395 => 'L', + 5396 => 'L', + 5397 => 'L', + 5398 => 'L', + 5399 => 'L', + 5400 => 'L', + 5401 => 'L', + 5402 => 'L', + 5403 => 'L', + 5404 => 'L', + 5405 => 'L', + 5406 => 'L', + 5407 => 'L', + 5408 => 'L', + 5409 => 'L', + 5410 => 'L', + 5411 => 'L', + 5412 => 'L', + 5413 => 'L', + 5414 => 'L', + 5415 => 'L', + 5416 => 'L', + 5417 => 'L', + 5418 => 'L', + 5419 => 'L', + 5420 => 'L', + 5421 => 'L', + 5422 => 'L', + 5423 => 'L', + 5424 => 'L', + 5425 => 'L', + 5426 => 'L', + 5427 => 'L', + 5428 => 'L', + 5429 => 'L', + 5430 => 'L', + 5431 => 'L', + 5432 => 'L', + 5433 => 'L', + 5434 => 'L', + 5435 => 'L', + 5436 => 'L', + 5437 => 'L', + 5438 => 'L', + 5439 => 'L', + 5440 => 'L', + 5441 => 'L', + 5442 => 'L', + 5443 => 'L', + 5444 => 'L', + 5445 => 'L', + 5446 => 'L', + 5447 => 'L', + 5448 => 'L', + 5449 => 'L', + 5450 => 'L', + 5451 => 'L', + 5452 => 'L', + 5453 => 'L', + 5454 => 'L', + 5455 => 'L', + 5456 => 'L', + 5457 => 'L', + 5458 => 'L', + 5459 => 'L', + 5460 => 'L', + 5461 => 'L', + 5462 => 'L', + 5463 => 'L', + 5464 => 'L', + 5465 => 'L', + 5466 => 'L', + 5467 => 'L', + 5468 => 'L', + 5469 => 'L', + 5470 => 'L', + 5471 => 'L', + 5472 => 'L', + 5473 => 'L', + 5474 => 'L', + 5475 => 'L', + 5476 => 'L', + 5477 => 'L', + 5478 => 'L', + 5479 => 'L', + 5480 => 'L', + 5481 => 'L', + 5482 => 'L', + 5483 => 'L', + 5484 => 'L', + 5485 => 'L', + 5486 => 'L', + 5487 => 'L', + 5488 => 'L', + 5489 => 'L', + 5490 => 'L', + 5491 => 'L', + 5492 => 'L', + 5493 => 'L', + 5494 => 'L', + 5495 => 'L', + 5496 => 'L', + 5497 => 'L', + 5498 => 'L', + 5499 => 'L', + 5500 => 'L', + 5501 => 'L', + 5502 => 'L', + 5503 => 'L', + 5504 => 'L', + 5505 => 'L', + 5506 => 'L', + 5507 => 'L', + 5508 => 'L', + 5509 => 'L', + 5510 => 'L', + 5511 => 'L', + 5512 => 'L', + 5513 => 'L', + 5514 => 'L', + 5515 => 'L', + 5516 => 'L', + 5517 => 'L', + 5518 => 'L', + 5519 => 'L', + 5520 => 'L', + 5521 => 'L', + 5522 => 'L', + 5523 => 'L', + 5524 => 'L', + 5525 => 'L', + 5526 => 'L', + 5527 => 'L', + 5528 => 'L', + 5529 => 'L', + 5530 => 'L', + 5531 => 'L', + 5532 => 'L', + 5533 => 'L', + 5534 => 'L', + 5535 => 'L', + 5536 => 'L', + 5537 => 'L', + 5538 => 'L', + 5539 => 'L', + 5540 => 'L', + 5541 => 'L', + 5542 => 'L', + 5543 => 'L', + 5544 => 'L', + 5545 => 'L', + 5546 => 'L', + 5547 => 'L', + 5548 => 'L', + 5549 => 'L', + 5550 => 'L', + 5551 => 'L', + 5552 => 'L', + 5553 => 'L', + 5554 => 'L', + 5555 => 'L', + 5556 => 'L', + 5557 => 'L', + 5558 => 'L', + 5559 => 'L', + 5560 => 'L', + 5561 => 'L', + 5562 => 'L', + 5563 => 'L', + 5564 => 'L', + 5565 => 'L', + 5566 => 'L', + 5567 => 'L', + 5568 => 'L', + 5569 => 'L', + 5570 => 'L', + 5571 => 'L', + 5572 => 'L', + 5573 => 'L', + 5574 => 'L', + 5575 => 'L', + 5576 => 'L', + 5577 => 'L', + 5578 => 'L', + 5579 => 'L', + 5580 => 'L', + 5581 => 'L', + 5582 => 'L', + 5583 => 'L', + 5584 => 'L', + 5585 => 'L', + 5586 => 'L', + 5587 => 'L', + 5588 => 'L', + 5589 => 'L', + 5590 => 'L', + 5591 => 'L', + 5592 => 'L', + 5593 => 'L', + 5594 => 'L', + 5595 => 'L', + 5596 => 'L', + 5597 => 'L', + 5598 => 'L', + 5599 => 'L', + 5600 => 'L', + 5601 => 'L', + 5602 => 'L', + 5603 => 'L', + 5604 => 'L', + 5605 => 'L', + 5606 => 'L', + 5607 => 'L', + 5608 => 'L', + 5609 => 'L', + 5610 => 'L', + 5611 => 'L', + 5612 => 'L', + 5613 => 'L', + 5614 => 'L', + 5615 => 'L', + 5616 => 'L', + 5617 => 'L', + 5618 => 'L', + 5619 => 'L', + 5620 => 'L', + 5621 => 'L', + 5622 => 'L', + 5623 => 'L', + 5624 => 'L', + 5625 => 'L', + 5626 => 'L', + 5627 => 'L', + 5628 => 'L', + 5629 => 'L', + 5630 => 'L', + 5631 => 'L', + 5632 => 'L', + 5633 => 'L', + 5634 => 'L', + 5635 => 'L', + 5636 => 'L', + 5637 => 'L', + 5638 => 'L', + 5639 => 'L', + 5640 => 'L', + 5641 => 'L', + 5642 => 'L', + 5643 => 'L', + 5644 => 'L', + 5645 => 'L', + 5646 => 'L', + 5647 => 'L', + 5648 => 'L', + 5649 => 'L', + 5650 => 'L', + 5651 => 'L', + 5652 => 'L', + 5653 => 'L', + 5654 => 'L', + 5655 => 'L', + 5656 => 'L', + 5657 => 'L', + 5658 => 'L', + 5659 => 'L', + 5660 => 'L', + 5661 => 'L', + 5662 => 'L', + 5663 => 'L', + 5664 => 'L', + 5665 => 'L', + 5666 => 'L', + 5667 => 'L', + 5668 => 'L', + 5669 => 'L', + 5670 => 'L', + 5671 => 'L', + 5672 => 'L', + 5673 => 'L', + 5674 => 'L', + 5675 => 'L', + 5676 => 'L', + 5677 => 'L', + 5678 => 'L', + 5679 => 'L', + 5680 => 'L', + 5681 => 'L', + 5682 => 'L', + 5683 => 'L', + 5684 => 'L', + 5685 => 'L', + 5686 => 'L', + 5687 => 'L', + 5688 => 'L', + 5689 => 'L', + 5690 => 'L', + 5691 => 'L', + 5692 => 'L', + 5693 => 'L', + 5694 => 'L', + 5695 => 'L', + 5696 => 'L', + 5697 => 'L', + 5698 => 'L', + 5699 => 'L', + 5700 => 'L', + 5701 => 'L', + 5702 => 'L', + 5703 => 'L', + 5704 => 'L', + 5705 => 'L', + 5706 => 'L', + 5707 => 'L', + 5708 => 'L', + 5709 => 'L', + 5710 => 'L', + 5711 => 'L', + 5712 => 'L', + 5713 => 'L', + 5714 => 'L', + 5715 => 'L', + 5716 => 'L', + 5717 => 'L', + 5718 => 'L', + 5719 => 'L', + 5720 => 'L', + 5721 => 'L', + 5722 => 'L', + 5723 => 'L', + 5724 => 'L', + 5725 => 'L', + 5726 => 'L', + 5727 => 'L', + 5728 => 'L', + 5729 => 'L', + 5730 => 'L', + 5731 => 'L', + 5732 => 'L', + 5733 => 'L', + 5734 => 'L', + 5735 => 'L', + 5736 => 'L', + 5737 => 'L', + 5738 => 'L', + 5739 => 'L', + 5740 => 'L', + 5741 => 'L', + 5742 => 'L', + 5743 => 'L', + 5744 => 'L', + 5745 => 'L', + 5746 => 'L', + 5747 => 'L', + 5748 => 'L', + 5749 => 'L', + 5750 => 'L', + 5760 => 'WS', + 5761 => 'L', + 5762 => 'L', + 5763 => 'L', + 5764 => 'L', + 5765 => 'L', + 5766 => 'L', + 5767 => 'L', + 5768 => 'L', + 5769 => 'L', + 5770 => 'L', + 5771 => 'L', + 5772 => 'L', + 5773 => 'L', + 5774 => 'L', + 5775 => 'L', + 5776 => 'L', + 5777 => 'L', + 5778 => 'L', + 5779 => 'L', + 5780 => 'L', + 5781 => 'L', + 5782 => 'L', + 5783 => 'L', + 5784 => 'L', + 5785 => 'L', + 5786 => 'L', + 5787 => 'ON', + 5788 => 'ON', + 5792 => 'L', + 5793 => 'L', + 5794 => 'L', + 5795 => 'L', + 5796 => 'L', + 5797 => 'L', + 5798 => 'L', + 5799 => 'L', + 5800 => 'L', + 5801 => 'L', + 5802 => 'L', + 5803 => 'L', + 5804 => 'L', + 5805 => 'L', + 5806 => 'L', + 5807 => 'L', + 5808 => 'L', + 5809 => 'L', + 5810 => 'L', + 5811 => 'L', + 5812 => 'L', + 5813 => 'L', + 5814 => 'L', + 5815 => 'L', + 5816 => 'L', + 5817 => 'L', + 5818 => 'L', + 5819 => 'L', + 5820 => 'L', + 5821 => 'L', + 5822 => 'L', + 5823 => 'L', + 5824 => 'L', + 5825 => 'L', + 5826 => 'L', + 5827 => 'L', + 5828 => 'L', + 5829 => 'L', + 5830 => 'L', + 5831 => 'L', + 5832 => 'L', + 5833 => 'L', + 5834 => 'L', + 5835 => 'L', + 5836 => 'L', + 5837 => 'L', + 5838 => 'L', + 5839 => 'L', + 5840 => 'L', + 5841 => 'L', + 5842 => 'L', + 5843 => 'L', + 5844 => 'L', + 5845 => 'L', + 5846 => 'L', + 5847 => 'L', + 5848 => 'L', + 5849 => 'L', + 5850 => 'L', + 5851 => 'L', + 5852 => 'L', + 5853 => 'L', + 5854 => 'L', + 5855 => 'L', + 5856 => 'L', + 5857 => 'L', + 5858 => 'L', + 5859 => 'L', + 5860 => 'L', + 5861 => 'L', + 5862 => 'L', + 5863 => 'L', + 5864 => 'L', + 5865 => 'L', + 5866 => 'L', + 5867 => 'L', + 5868 => 'L', + 5869 => 'L', + 5870 => 'L', + 5871 => 'L', + 5872 => 'L', + 5888 => 'L', + 5889 => 'L', + 5890 => 'L', + 5891 => 'L', + 5892 => 'L', + 5893 => 'L', + 5894 => 'L', + 5895 => 'L', + 5896 => 'L', + 5897 => 'L', + 5898 => 'L', + 5899 => 'L', + 5900 => 'L', + 5902 => 'L', + 5903 => 'L', + 5904 => 'L', + 5905 => 'L', + 5906 => 'NSM', + 5907 => 'NSM', + 5908 => 'NSM', + 5920 => 'L', + 5921 => 'L', + 5922 => 'L', + 5923 => 'L', + 5924 => 'L', + 5925 => 'L', + 5926 => 'L', + 5927 => 'L', + 5928 => 'L', + 5929 => 'L', + 5930 => 'L', + 5931 => 'L', + 5932 => 'L', + 5933 => 'L', + 5934 => 'L', + 5935 => 'L', + 5936 => 'L', + 5937 => 'L', + 5938 => 'NSM', + 5939 => 'NSM', + 5940 => 'NSM', + 5941 => 'L', + 5942 => 'L', + 5952 => 'L', + 5953 => 'L', + 5954 => 'L', + 5955 => 'L', + 5956 => 'L', + 5957 => 'L', + 5958 => 'L', + 5959 => 'L', + 5960 => 'L', + 5961 => 'L', + 5962 => 'L', + 5963 => 'L', + 5964 => 'L', + 5965 => 'L', + 5966 => 'L', + 5967 => 'L', + 5968 => 'L', + 5969 => 'L', + 5970 => 'NSM', + 5971 => 'NSM', + 5984 => 'L', + 5985 => 'L', + 5986 => 'L', + 5987 => 'L', + 5988 => 'L', + 5989 => 'L', + 5990 => 'L', + 5991 => 'L', + 5992 => 'L', + 5993 => 'L', + 5994 => 'L', + 5995 => 'L', + 5996 => 'L', + 5998 => 'L', + 5999 => 'L', + 6000 => 'L', + 6002 => 'NSM', + 6003 => 'NSM', + 6016 => 'L', + 6017 => 'L', + 6018 => 'L', + 6019 => 'L', + 6020 => 'L', + 6021 => 'L', + 6022 => 'L', + 6023 => 'L', + 6024 => 'L', + 6025 => 'L', + 6026 => 'L', + 6027 => 'L', + 6028 => 'L', + 6029 => 'L', + 6030 => 'L', + 6031 => 'L', + 6032 => 'L', + 6033 => 'L', + 6034 => 'L', + 6035 => 'L', + 6036 => 'L', + 6037 => 'L', + 6038 => 'L', + 6039 => 'L', + 6040 => 'L', + 6041 => 'L', + 6042 => 'L', + 6043 => 'L', + 6044 => 'L', + 6045 => 'L', + 6046 => 'L', + 6047 => 'L', + 6048 => 'L', + 6049 => 'L', + 6050 => 'L', + 6051 => 'L', + 6052 => 'L', + 6053 => 'L', + 6054 => 'L', + 6055 => 'L', + 6056 => 'L', + 6057 => 'L', + 6058 => 'L', + 6059 => 'L', + 6060 => 'L', + 6061 => 'L', + 6062 => 'L', + 6063 => 'L', + 6064 => 'L', + 6065 => 'L', + 6066 => 'L', + 6067 => 'L', + 6068 => 'L', + 6069 => 'L', + 6070 => 'L', + 6071 => 'NSM', + 6072 => 'NSM', + 6073 => 'NSM', + 6074 => 'NSM', + 6075 => 'NSM', + 6076 => 'NSM', + 6077 => 'NSM', + 6078 => 'L', + 6079 => 'L', + 6080 => 'L', + 6081 => 'L', + 6082 => 'L', + 6083 => 'L', + 6084 => 'L', + 6085 => 'L', + 6086 => 'NSM', + 6087 => 'L', + 6088 => 'L', + 6089 => 'NSM', + 6090 => 'NSM', + 6091 => 'NSM', + 6092 => 'NSM', + 6093 => 'NSM', + 6094 => 'NSM', + 6095 => 'NSM', + 6096 => 'NSM', + 6097 => 'NSM', + 6098 => 'NSM', + 6099 => 'NSM', + 6100 => 'L', + 6101 => 'L', + 6102 => 'L', + 6103 => 'L', + 6104 => 'L', + 6105 => 'L', + 6106 => 'L', + 6107 => 'ET', + 6108 => 'L', + 6109 => 'NSM', + 6112 => 'L', + 6113 => 'L', + 6114 => 'L', + 6115 => 'L', + 6116 => 'L', + 6117 => 'L', + 6118 => 'L', + 6119 => 'L', + 6120 => 'L', + 6121 => 'L', + 6128 => 'ON', + 6129 => 'ON', + 6130 => 'ON', + 6131 => 'ON', + 6132 => 'ON', + 6133 => 'ON', + 6134 => 'ON', + 6135 => 'ON', + 6136 => 'ON', + 6137 => 'ON', + 6144 => 'ON', + 6145 => 'ON', + 6146 => 'ON', + 6147 => 'ON', + 6148 => 'ON', + 6149 => 'ON', + 6150 => 'ON', + 6151 => 'ON', + 6152 => 'ON', + 6153 => 'ON', + 6154 => 'ON', + 6155 => 'NSM', + 6156 => 'NSM', + 6157 => 'NSM', + 6158 => 'WS', + 6160 => 'L', + 6161 => 'L', + 6162 => 'L', + 6163 => 'L', + 6164 => 'L', + 6165 => 'L', + 6166 => 'L', + 6167 => 'L', + 6168 => 'L', + 6169 => 'L', + 6176 => 'L', + 6177 => 'L', + 6178 => 'L', + 6179 => 'L', + 6180 => 'L', + 6181 => 'L', + 6182 => 'L', + 6183 => 'L', + 6184 => 'L', + 6185 => 'L', + 6186 => 'L', + 6187 => 'L', + 6188 => 'L', + 6189 => 'L', + 6190 => 'L', + 6191 => 'L', + 6192 => 'L', + 6193 => 'L', + 6194 => 'L', + 6195 => 'L', + 6196 => 'L', + 6197 => 'L', + 6198 => 'L', + 6199 => 'L', + 6200 => 'L', + 6201 => 'L', + 6202 => 'L', + 6203 => 'L', + 6204 => 'L', + 6205 => 'L', + 6206 => 'L', + 6207 => 'L', + 6208 => 'L', + 6209 => 'L', + 6210 => 'L', + 6211 => 'L', + 6212 => 'L', + 6213 => 'L', + 6214 => 'L', + 6215 => 'L', + 6216 => 'L', + 6217 => 'L', + 6218 => 'L', + 6219 => 'L', + 6220 => 'L', + 6221 => 'L', + 6222 => 'L', + 6223 => 'L', + 6224 => 'L', + 6225 => 'L', + 6226 => 'L', + 6227 => 'L', + 6228 => 'L', + 6229 => 'L', + 6230 => 'L', + 6231 => 'L', + 6232 => 'L', + 6233 => 'L', + 6234 => 'L', + 6235 => 'L', + 6236 => 'L', + 6237 => 'L', + 6238 => 'L', + 6239 => 'L', + 6240 => 'L', + 6241 => 'L', + 6242 => 'L', + 6243 => 'L', + 6244 => 'L', + 6245 => 'L', + 6246 => 'L', + 6247 => 'L', + 6248 => 'L', + 6249 => 'L', + 6250 => 'L', + 6251 => 'L', + 6252 => 'L', + 6253 => 'L', + 6254 => 'L', + 6255 => 'L', + 6256 => 'L', + 6257 => 'L', + 6258 => 'L', + 6259 => 'L', + 6260 => 'L', + 6261 => 'L', + 6262 => 'L', + 6263 => 'L', + 6272 => 'L', + 6273 => 'L', + 6274 => 'L', + 6275 => 'L', + 6276 => 'L', + 6277 => 'L', + 6278 => 'L', + 6279 => 'L', + 6280 => 'L', + 6281 => 'L', + 6282 => 'L', + 6283 => 'L', + 6284 => 'L', + 6285 => 'L', + 6286 => 'L', + 6287 => 'L', + 6288 => 'L', + 6289 => 'L', + 6290 => 'L', + 6291 => 'L', + 6292 => 'L', + 6293 => 'L', + 6294 => 'L', + 6295 => 'L', + 6296 => 'L', + 6297 => 'L', + 6298 => 'L', + 6299 => 'L', + 6300 => 'L', + 6301 => 'L', + 6302 => 'L', + 6303 => 'L', + 6304 => 'L', + 6305 => 'L', + 6306 => 'L', + 6307 => 'L', + 6308 => 'L', + 6309 => 'L', + 6310 => 'L', + 6311 => 'L', + 6312 => 'L', + 6313 => 'NSM', + 6400 => 'L', + 6401 => 'L', + 6402 => 'L', + 6403 => 'L', + 6404 => 'L', + 6405 => 'L', + 6406 => 'L', + 6407 => 'L', + 6408 => 'L', + 6409 => 'L', + 6410 => 'L', + 6411 => 'L', + 6412 => 'L', + 6413 => 'L', + 6414 => 'L', + 6415 => 'L', + 6416 => 'L', + 6417 => 'L', + 6418 => 'L', + 6419 => 'L', + 6420 => 'L', + 6421 => 'L', + 6422 => 'L', + 6423 => 'L', + 6424 => 'L', + 6425 => 'L', + 6426 => 'L', + 6427 => 'L', + 6428 => 'L', + 6432 => 'NSM', + 6433 => 'NSM', + 6434 => 'NSM', + 6435 => 'L', + 6436 => 'L', + 6437 => 'L', + 6438 => 'L', + 6439 => 'NSM', + 6440 => 'NSM', + 6441 => 'NSM', + 6442 => 'NSM', + 6443 => 'NSM', + 6448 => 'L', + 6449 => 'L', + 6450 => 'NSM', + 6451 => 'L', + 6452 => 'L', + 6453 => 'L', + 6454 => 'L', + 6455 => 'L', + 6456 => 'L', + 6457 => 'NSM', + 6458 => 'NSM', + 6459 => 'NSM', + 6464 => 'ON', + 6468 => 'ON', + 6469 => 'ON', + 6470 => 'L', + 6471 => 'L', + 6472 => 'L', + 6473 => 'L', + 6474 => 'L', + 6475 => 'L', + 6476 => 'L', + 6477 => 'L', + 6478 => 'L', + 6479 => 'L', + 6480 => 'L', + 6481 => 'L', + 6482 => 'L', + 6483 => 'L', + 6484 => 'L', + 6485 => 'L', + 6486 => 'L', + 6487 => 'L', + 6488 => 'L', + 6489 => 'L', + 6490 => 'L', + 6491 => 'L', + 6492 => 'L', + 6493 => 'L', + 6494 => 'L', + 6495 => 'L', + 6496 => 'L', + 6497 => 'L', + 6498 => 'L', + 6499 => 'L', + 6500 => 'L', + 6501 => 'L', + 6502 => 'L', + 6503 => 'L', + 6504 => 'L', + 6505 => 'L', + 6506 => 'L', + 6507 => 'L', + 6508 => 'L', + 6509 => 'L', + 6512 => 'L', + 6513 => 'L', + 6514 => 'L', + 6515 => 'L', + 6516 => 'L', + 6528 => 'L', + 6529 => 'L', + 6530 => 'L', + 6531 => 'L', + 6532 => 'L', + 6533 => 'L', + 6534 => 'L', + 6535 => 'L', + 6536 => 'L', + 6537 => 'L', + 6538 => 'L', + 6539 => 'L', + 6540 => 'L', + 6541 => 'L', + 6542 => 'L', + 6543 => 'L', + 6544 => 'L', + 6545 => 'L', + 6546 => 'L', + 6547 => 'L', + 6548 => 'L', + 6549 => 'L', + 6550 => 'L', + 6551 => 'L', + 6552 => 'L', + 6553 => 'L', + 6554 => 'L', + 6555 => 'L', + 6556 => 'L', + 6557 => 'L', + 6558 => 'L', + 6559 => 'L', + 6560 => 'L', + 6561 => 'L', + 6562 => 'L', + 6563 => 'L', + 6564 => 'L', + 6565 => 'L', + 6566 => 'L', + 6567 => 'L', + 6568 => 'L', + 6569 => 'L', + 6576 => 'L', + 6577 => 'L', + 6578 => 'L', + 6579 => 'L', + 6580 => 'L', + 6581 => 'L', + 6582 => 'L', + 6583 => 'L', + 6584 => 'L', + 6585 => 'L', + 6586 => 'L', + 6587 => 'L', + 6588 => 'L', + 6589 => 'L', + 6590 => 'L', + 6591 => 'L', + 6592 => 'L', + 6593 => 'L', + 6594 => 'L', + 6595 => 'L', + 6596 => 'L', + 6597 => 'L', + 6598 => 'L', + 6599 => 'L', + 6600 => 'L', + 6601 => 'L', + 6608 => 'L', + 6609 => 'L', + 6610 => 'L', + 6611 => 'L', + 6612 => 'L', + 6613 => 'L', + 6614 => 'L', + 6615 => 'L', + 6616 => 'L', + 6617 => 'L', + 6622 => 'ON', + 6623 => 'ON', + 6624 => 'ON', + 6625 => 'ON', + 6626 => 'ON', + 6627 => 'ON', + 6628 => 'ON', + 6629 => 'ON', + 6630 => 'ON', + 6631 => 'ON', + 6632 => 'ON', + 6633 => 'ON', + 6634 => 'ON', + 6635 => 'ON', + 6636 => 'ON', + 6637 => 'ON', + 6638 => 'ON', + 6639 => 'ON', + 6640 => 'ON', + 6641 => 'ON', + 6642 => 'ON', + 6643 => 'ON', + 6644 => 'ON', + 6645 => 'ON', + 6646 => 'ON', + 6647 => 'ON', + 6648 => 'ON', + 6649 => 'ON', + 6650 => 'ON', + 6651 => 'ON', + 6652 => 'ON', + 6653 => 'ON', + 6654 => 'ON', + 6655 => 'ON', + 6656 => 'L', + 6657 => 'L', + 6658 => 'L', + 6659 => 'L', + 6660 => 'L', + 6661 => 'L', + 6662 => 'L', + 6663 => 'L', + 6664 => 'L', + 6665 => 'L', + 6666 => 'L', + 6667 => 'L', + 6668 => 'L', + 6669 => 'L', + 6670 => 'L', + 6671 => 'L', + 6672 => 'L', + 6673 => 'L', + 6674 => 'L', + 6675 => 'L', + 6676 => 'L', + 6677 => 'L', + 6678 => 'L', + 6679 => 'NSM', + 6680 => 'NSM', + 6681 => 'L', + 6682 => 'L', + 6683 => 'L', + 6686 => 'L', + 6687 => 'L', + 6912 => 'NSM', + 6913 => 'NSM', + 6914 => 'NSM', + 6915 => 'NSM', + 6916 => 'L', + 6917 => 'L', + 6918 => 'L', + 6919 => 'L', + 6920 => 'L', + 6921 => 'L', + 6922 => 'L', + 6923 => 'L', + 6924 => 'L', + 6925 => 'L', + 6926 => 'L', + 6927 => 'L', + 6928 => 'L', + 6929 => 'L', + 6930 => 'L', + 6931 => 'L', + 6932 => 'L', + 6933 => 'L', + 6934 => 'L', + 6935 => 'L', + 6936 => 'L', + 6937 => 'L', + 6938 => 'L', + 6939 => 'L', + 6940 => 'L', + 6941 => 'L', + 6942 => 'L', + 6943 => 'L', + 6944 => 'L', + 6945 => 'L', + 6946 => 'L', + 6947 => 'L', + 6948 => 'L', + 6949 => 'L', + 6950 => 'L', + 6951 => 'L', + 6952 => 'L', + 6953 => 'L', + 6954 => 'L', + 6955 => 'L', + 6956 => 'L', + 6957 => 'L', + 6958 => 'L', + 6959 => 'L', + 6960 => 'L', + 6961 => 'L', + 6962 => 'L', + 6963 => 'L', + 6964 => 'NSM', + 6965 => 'L', + 6966 => 'NSM', + 6967 => 'NSM', + 6968 => 'NSM', + 6969 => 'NSM', + 6970 => 'NSM', + 6971 => 'L', + 6972 => 'NSM', + 6973 => 'L', + 6974 => 'L', + 6975 => 'L', + 6976 => 'L', + 6977 => 'L', + 6978 => 'NSM', + 6979 => 'L', + 6980 => 'L', + 6981 => 'L', + 6982 => 'L', + 6983 => 'L', + 6984 => 'L', + 6985 => 'L', + 6986 => 'L', + 6987 => 'L', + 6992 => 'L', + 6993 => 'L', + 6994 => 'L', + 6995 => 'L', + 6996 => 'L', + 6997 => 'L', + 6998 => 'L', + 6999 => 'L', + 7000 => 'L', + 7001 => 'L', + 7002 => 'L', + 7003 => 'L', + 7004 => 'L', + 7005 => 'L', + 7006 => 'L', + 7007 => 'L', + 7008 => 'L', + 7009 => 'L', + 7010 => 'L', + 7011 => 'L', + 7012 => 'L', + 7013 => 'L', + 7014 => 'L', + 7015 => 'L', + 7016 => 'L', + 7017 => 'L', + 7018 => 'L', + 7019 => 'NSM', + 7020 => 'NSM', + 7021 => 'NSM', + 7022 => 'NSM', + 7023 => 'NSM', + 7024 => 'NSM', + 7025 => 'NSM', + 7026 => 'NSM', + 7027 => 'NSM', + 7028 => 'L', + 7029 => 'L', + 7030 => 'L', + 7031 => 'L', + 7032 => 'L', + 7033 => 'L', + 7034 => 'L', + 7035 => 'L', + 7036 => 'L', + 7424 => 'L', + 7425 => 'L', + 7426 => 'L', + 7427 => 'L', + 7428 => 'L', + 7429 => 'L', + 7430 => 'L', + 7431 => 'L', + 7432 => 'L', + 7433 => 'L', + 7434 => 'L', + 7435 => 'L', + 7436 => 'L', + 7437 => 'L', + 7438 => 'L', + 7439 => 'L', + 7440 => 'L', + 7441 => 'L', + 7442 => 'L', + 7443 => 'L', + 7444 => 'L', + 7445 => 'L', + 7446 => 'L', + 7447 => 'L', + 7448 => 'L', + 7449 => 'L', + 7450 => 'L', + 7451 => 'L', + 7452 => 'L', + 7453 => 'L', + 7454 => 'L', + 7455 => 'L', + 7456 => 'L', + 7457 => 'L', + 7458 => 'L', + 7459 => 'L', + 7460 => 'L', + 7461 => 'L', + 7462 => 'L', + 7463 => 'L', + 7464 => 'L', + 7465 => 'L', + 7466 => 'L', + 7467 => 'L', + 7468 => 'L', + 7469 => 'L', + 7470 => 'L', + 7471 => 'L', + 7472 => 'L', + 7473 => 'L', + 7474 => 'L', + 7475 => 'L', + 7476 => 'L', + 7477 => 'L', + 7478 => 'L', + 7479 => 'L', + 7480 => 'L', + 7481 => 'L', + 7482 => 'L', + 7483 => 'L', + 7484 => 'L', + 7485 => 'L', + 7486 => 'L', + 7487 => 'L', + 7488 => 'L', + 7489 => 'L', + 7490 => 'L', + 7491 => 'L', + 7492 => 'L', + 7493 => 'L', + 7494 => 'L', + 7495 => 'L', + 7496 => 'L', + 7497 => 'L', + 7498 => 'L', + 7499 => 'L', + 7500 => 'L', + 7501 => 'L', + 7502 => 'L', + 7503 => 'L', + 7504 => 'L', + 7505 => 'L', + 7506 => 'L', + 7507 => 'L', + 7508 => 'L', + 7509 => 'L', + 7510 => 'L', + 7511 => 'L', + 7512 => 'L', + 7513 => 'L', + 7514 => 'L', + 7515 => 'L', + 7516 => 'L', + 7517 => 'L', + 7518 => 'L', + 7519 => 'L', + 7520 => 'L', + 7521 => 'L', + 7522 => 'L', + 7523 => 'L', + 7524 => 'L', + 7525 => 'L', + 7526 => 'L', + 7527 => 'L', + 7528 => 'L', + 7529 => 'L', + 7530 => 'L', + 7531 => 'L', + 7532 => 'L', + 7533 => 'L', + 7534 => 'L', + 7535 => 'L', + 7536 => 'L', + 7537 => 'L', + 7538 => 'L', + 7539 => 'L', + 7540 => 'L', + 7541 => 'L', + 7542 => 'L', + 7543 => 'L', + 7544 => 'L', + 7545 => 'L', + 7546 => 'L', + 7547 => 'L', + 7548 => 'L', + 7549 => 'L', + 7550 => 'L', + 7551 => 'L', + 7552 => 'L', + 7553 => 'L', + 7554 => 'L', + 7555 => 'L', + 7556 => 'L', + 7557 => 'L', + 7558 => 'L', + 7559 => 'L', + 7560 => 'L', + 7561 => 'L', + 7562 => 'L', + 7563 => 'L', + 7564 => 'L', + 7565 => 'L', + 7566 => 'L', + 7567 => 'L', + 7568 => 'L', + 7569 => 'L', + 7570 => 'L', + 7571 => 'L', + 7572 => 'L', + 7573 => 'L', + 7574 => 'L', + 7575 => 'L', + 7576 => 'L', + 7577 => 'L', + 7578 => 'L', + 7579 => 'L', + 7580 => 'L', + 7581 => 'L', + 7582 => 'L', + 7583 => 'L', + 7584 => 'L', + 7585 => 'L', + 7586 => 'L', + 7587 => 'L', + 7588 => 'L', + 7589 => 'L', + 7590 => 'L', + 7591 => 'L', + 7592 => 'L', + 7593 => 'L', + 7594 => 'L', + 7595 => 'L', + 7596 => 'L', + 7597 => 'L', + 7598 => 'L', + 7599 => 'L', + 7600 => 'L', + 7601 => 'L', + 7602 => 'L', + 7603 => 'L', + 7604 => 'L', + 7605 => 'L', + 7606 => 'L', + 7607 => 'L', + 7608 => 'L', + 7609 => 'L', + 7610 => 'L', + 7611 => 'L', + 7612 => 'L', + 7613 => 'L', + 7614 => 'L', + 7615 => 'L', + 7616 => 'NSM', + 7617 => 'NSM', + 7618 => 'NSM', + 7619 => 'NSM', + 7620 => 'NSM', + 7621 => 'NSM', + 7622 => 'NSM', + 7623 => 'NSM', + 7624 => 'NSM', + 7625 => 'NSM', + 7626 => 'NSM', + 7678 => 'NSM', + 7679 => 'NSM', + 7680 => 'L', + 7681 => 'L', + 7682 => 'L', + 7683 => 'L', + 7684 => 'L', + 7685 => 'L', + 7686 => 'L', + 7687 => 'L', + 7688 => 'L', + 7689 => 'L', + 7690 => 'L', + 7691 => 'L', + 7692 => 'L', + 7693 => 'L', + 7694 => 'L', + 7695 => 'L', + 7696 => 'L', + 7697 => 'L', + 7698 => 'L', + 7699 => 'L', + 7700 => 'L', + 7701 => 'L', + 7702 => 'L', + 7703 => 'L', + 7704 => 'L', + 7705 => 'L', + 7706 => 'L', + 7707 => 'L', + 7708 => 'L', + 7709 => 'L', + 7710 => 'L', + 7711 => 'L', + 7712 => 'L', + 7713 => 'L', + 7714 => 'L', + 7715 => 'L', + 7716 => 'L', + 7717 => 'L', + 7718 => 'L', + 7719 => 'L', + 7720 => 'L', + 7721 => 'L', + 7722 => 'L', + 7723 => 'L', + 7724 => 'L', + 7725 => 'L', + 7726 => 'L', + 7727 => 'L', + 7728 => 'L', + 7729 => 'L', + 7730 => 'L', + 7731 => 'L', + 7732 => 'L', + 7733 => 'L', + 7734 => 'L', + 7735 => 'L', + 7736 => 'L', + 7737 => 'L', + 7738 => 'L', + 7739 => 'L', + 7740 => 'L', + 7741 => 'L', + 7742 => 'L', + 7743 => 'L', + 7744 => 'L', + 7745 => 'L', + 7746 => 'L', + 7747 => 'L', + 7748 => 'L', + 7749 => 'L', + 7750 => 'L', + 7751 => 'L', + 7752 => 'L', + 7753 => 'L', + 7754 => 'L', + 7755 => 'L', + 7756 => 'L', + 7757 => 'L', + 7758 => 'L', + 7759 => 'L', + 7760 => 'L', + 7761 => 'L', + 7762 => 'L', + 7763 => 'L', + 7764 => 'L', + 7765 => 'L', + 7766 => 'L', + 7767 => 'L', + 7768 => 'L', + 7769 => 'L', + 7770 => 'L', + 7771 => 'L', + 7772 => 'L', + 7773 => 'L', + 7774 => 'L', + 7775 => 'L', + 7776 => 'L', + 7777 => 'L', + 7778 => 'L', + 7779 => 'L', + 7780 => 'L', + 7781 => 'L', + 7782 => 'L', + 7783 => 'L', + 7784 => 'L', + 7785 => 'L', + 7786 => 'L', + 7787 => 'L', + 7788 => 'L', + 7789 => 'L', + 7790 => 'L', + 7791 => 'L', + 7792 => 'L', + 7793 => 'L', + 7794 => 'L', + 7795 => 'L', + 7796 => 'L', + 7797 => 'L', + 7798 => 'L', + 7799 => 'L', + 7800 => 'L', + 7801 => 'L', + 7802 => 'L', + 7803 => 'L', + 7804 => 'L', + 7805 => 'L', + 7806 => 'L', + 7807 => 'L', + 7808 => 'L', + 7809 => 'L', + 7810 => 'L', + 7811 => 'L', + 7812 => 'L', + 7813 => 'L', + 7814 => 'L', + 7815 => 'L', + 7816 => 'L', + 7817 => 'L', + 7818 => 'L', + 7819 => 'L', + 7820 => 'L', + 7821 => 'L', + 7822 => 'L', + 7823 => 'L', + 7824 => 'L', + 7825 => 'L', + 7826 => 'L', + 7827 => 'L', + 7828 => 'L', + 7829 => 'L', + 7830 => 'L', + 7831 => 'L', + 7832 => 'L', + 7833 => 'L', + 7834 => 'L', + 7835 => 'L', + 7840 => 'L', + 7841 => 'L', + 7842 => 'L', + 7843 => 'L', + 7844 => 'L', + 7845 => 'L', + 7846 => 'L', + 7847 => 'L', + 7848 => 'L', + 7849 => 'L', + 7850 => 'L', + 7851 => 'L', + 7852 => 'L', + 7853 => 'L', + 7854 => 'L', + 7855 => 'L', + 7856 => 'L', + 7857 => 'L', + 7858 => 'L', + 7859 => 'L', + 7860 => 'L', + 7861 => 'L', + 7862 => 'L', + 7863 => 'L', + 7864 => 'L', + 7865 => 'L', + 7866 => 'L', + 7867 => 'L', + 7868 => 'L', + 7869 => 'L', + 7870 => 'L', + 7871 => 'L', + 7872 => 'L', + 7873 => 'L', + 7874 => 'L', + 7875 => 'L', + 7876 => 'L', + 7877 => 'L', + 7878 => 'L', + 7879 => 'L', + 7880 => 'L', + 7881 => 'L', + 7882 => 'L', + 7883 => 'L', + 7884 => 'L', + 7885 => 'L', + 7886 => 'L', + 7887 => 'L', + 7888 => 'L', + 7889 => 'L', + 7890 => 'L', + 7891 => 'L', + 7892 => 'L', + 7893 => 'L', + 7894 => 'L', + 7895 => 'L', + 7896 => 'L', + 7897 => 'L', + 7898 => 'L', + 7899 => 'L', + 7900 => 'L', + 7901 => 'L', + 7902 => 'L', + 7903 => 'L', + 7904 => 'L', + 7905 => 'L', + 7906 => 'L', + 7907 => 'L', + 7908 => 'L', + 7909 => 'L', + 7910 => 'L', + 7911 => 'L', + 7912 => 'L', + 7913 => 'L', + 7914 => 'L', + 7915 => 'L', + 7916 => 'L', + 7917 => 'L', + 7918 => 'L', + 7919 => 'L', + 7920 => 'L', + 7921 => 'L', + 7922 => 'L', + 7923 => 'L', + 7924 => 'L', + 7925 => 'L', + 7926 => 'L', + 7927 => 'L', + 7928 => 'L', + 7929 => 'L', + 7936 => 'L', + 7937 => 'L', + 7938 => 'L', + 7939 => 'L', + 7940 => 'L', + 7941 => 'L', + 7942 => 'L', + 7943 => 'L', + 7944 => 'L', + 7945 => 'L', + 7946 => 'L', + 7947 => 'L', + 7948 => 'L', + 7949 => 'L', + 7950 => 'L', + 7951 => 'L', + 7952 => 'L', + 7953 => 'L', + 7954 => 'L', + 7955 => 'L', + 7956 => 'L', + 7957 => 'L', + 7960 => 'L', + 7961 => 'L', + 7962 => 'L', + 7963 => 'L', + 7964 => 'L', + 7965 => 'L', + 7968 => 'L', + 7969 => 'L', + 7970 => 'L', + 7971 => 'L', + 7972 => 'L', + 7973 => 'L', + 7974 => 'L', + 7975 => 'L', + 7976 => 'L', + 7977 => 'L', + 7978 => 'L', + 7979 => 'L', + 7980 => 'L', + 7981 => 'L', + 7982 => 'L', + 7983 => 'L', + 7984 => 'L', + 7985 => 'L', + 7986 => 'L', + 7987 => 'L', + 7988 => 'L', + 7989 => 'L', + 7990 => 'L', + 7991 => 'L', + 7992 => 'L', + 7993 => 'L', + 7994 => 'L', + 7995 => 'L', + 7996 => 'L', + 7997 => 'L', + 7998 => 'L', + 7999 => 'L', + 8000 => 'L', + 8001 => 'L', + 8002 => 'L', + 8003 => 'L', + 8004 => 'L', + 8005 => 'L', + 8008 => 'L', + 8009 => 'L', + 8010 => 'L', + 8011 => 'L', + 8012 => 'L', + 8013 => 'L', + 8016 => 'L', + 8017 => 'L', + 8018 => 'L', + 8019 => 'L', + 8020 => 'L', + 8021 => 'L', + 8022 => 'L', + 8023 => 'L', + 8025 => 'L', + 8027 => 'L', + 8029 => 'L', + 8031 => 'L', + 8032 => 'L', + 8033 => 'L', + 8034 => 'L', + 8035 => 'L', + 8036 => 'L', + 8037 => 'L', + 8038 => 'L', + 8039 => 'L', + 8040 => 'L', + 8041 => 'L', + 8042 => 'L', + 8043 => 'L', + 8044 => 'L', + 8045 => 'L', + 8046 => 'L', + 8047 => 'L', + 8048 => 'L', + 8049 => 'L', + 8050 => 'L', + 8051 => 'L', + 8052 => 'L', + 8053 => 'L', + 8054 => 'L', + 8055 => 'L', + 8056 => 'L', + 8057 => 'L', + 8058 => 'L', + 8059 => 'L', + 8060 => 'L', + 8061 => 'L', + 8064 => 'L', + 8065 => 'L', + 8066 => 'L', + 8067 => 'L', + 8068 => 'L', + 8069 => 'L', + 8070 => 'L', + 8071 => 'L', + 8072 => 'L', + 8073 => 'L', + 8074 => 'L', + 8075 => 'L', + 8076 => 'L', + 8077 => 'L', + 8078 => 'L', + 8079 => 'L', + 8080 => 'L', + 8081 => 'L', + 8082 => 'L', + 8083 => 'L', + 8084 => 'L', + 8085 => 'L', + 8086 => 'L', + 8087 => 'L', + 8088 => 'L', + 8089 => 'L', + 8090 => 'L', + 8091 => 'L', + 8092 => 'L', + 8093 => 'L', + 8094 => 'L', + 8095 => 'L', + 8096 => 'L', + 8097 => 'L', + 8098 => 'L', + 8099 => 'L', + 8100 => 'L', + 8101 => 'L', + 8102 => 'L', + 8103 => 'L', + 8104 => 'L', + 8105 => 'L', + 8106 => 'L', + 8107 => 'L', + 8108 => 'L', + 8109 => 'L', + 8110 => 'L', + 8111 => 'L', + 8112 => 'L', + 8113 => 'L', + 8114 => 'L', + 8115 => 'L', + 8116 => 'L', + 8118 => 'L', + 8119 => 'L', + 8120 => 'L', + 8121 => 'L', + 8122 => 'L', + 8123 => 'L', + 8124 => 'L', + 8125 => 'ON', + 8126 => 'L', + 8127 => 'ON', + 8128 => 'ON', + 8129 => 'ON', + 8130 => 'L', + 8131 => 'L', + 8132 => 'L', + 8134 => 'L', + 8135 => 'L', + 8136 => 'L', + 8137 => 'L', + 8138 => 'L', + 8139 => 'L', + 8140 => 'L', + 8141 => 'ON', + 8142 => 'ON', + 8143 => 'ON', + 8144 => 'L', + 8145 => 'L', + 8146 => 'L', + 8147 => 'L', + 8150 => 'L', + 8151 => 'L', + 8152 => 'L', + 8153 => 'L', + 8154 => 'L', + 8155 => 'L', + 8157 => 'ON', + 8158 => 'ON', + 8159 => 'ON', + 8160 => 'L', + 8161 => 'L', + 8162 => 'L', + 8163 => 'L', + 8164 => 'L', + 8165 => 'L', + 8166 => 'L', + 8167 => 'L', + 8168 => 'L', + 8169 => 'L', + 8170 => 'L', + 8171 => 'L', + 8172 => 'L', + 8173 => 'ON', + 8174 => 'ON', + 8175 => 'ON', + 8178 => 'L', + 8179 => 'L', + 8180 => 'L', + 8182 => 'L', + 8183 => 'L', + 8184 => 'L', + 8185 => 'L', + 8186 => 'L', + 8187 => 'L', + 8188 => 'L', + 8189 => 'ON', + 8190 => 'ON', + 8192 => 'WS', + 8193 => 'WS', + 8194 => 'WS', + 8195 => 'WS', + 8196 => 'WS', + 8197 => 'WS', + 8198 => 'WS', + 8199 => 'WS', + 8200 => 'WS', + 8201 => 'WS', + 8202 => 'WS', + 8203 => 'BN', + 8204 => 'BN', + 8205 => 'BN', + 8206 => 'L', + 8207 => 'R', + 8208 => 'ON', + 8209 => 'ON', + 8210 => 'ON', + 8211 => 'ON', + 8212 => 'ON', + 8213 => 'ON', + 8214 => 'ON', + 8215 => 'ON', + 8216 => 'ON', + 8217 => 'ON', + 8218 => 'ON', + 8219 => 'ON', + 8220 => 'ON', + 8221 => 'ON', + 8222 => 'ON', + 8223 => 'ON', + 8224 => 'ON', + 8225 => 'ON', + 8226 => 'ON', + 8227 => 'ON', + 8228 => 'ON', + 8229 => 'ON', + 8230 => 'ON', + 8231 => 'ON', + 8232 => 'WS', + 8233 => 'B', + 8234 => 'LRE', + 8235 => 'RLE', + 8236 => 'PDF', + 8237 => 'LRO', + 8238 => 'RLO', + 8239 => 'CS', + 8240 => 'ET', + 8241 => 'ET', + 8242 => 'ET', + 8243 => 'ET', + 8244 => 'ET', + 8245 => 'ON', + 8246 => 'ON', + 8247 => 'ON', + 8248 => 'ON', + 8249 => 'ON', + 8250 => 'ON', + 8251 => 'ON', + 8252 => 'ON', + 8253 => 'ON', + 8254 => 'ON', + 8255 => 'ON', + 8256 => 'ON', + 8257 => 'ON', + 8258 => 'ON', + 8259 => 'ON', + 8260 => 'CS', + 8261 => 'ON', + 8262 => 'ON', + 8263 => 'ON', + 8264 => 'ON', + 8265 => 'ON', + 8266 => 'ON', + 8267 => 'ON', + 8268 => 'ON', + 8269 => 'ON', + 8270 => 'ON', + 8271 => 'ON', + 8272 => 'ON', + 8273 => 'ON', + 8274 => 'ON', + 8275 => 'ON', + 8276 => 'ON', + 8277 => 'ON', + 8278 => 'ON', + 8279 => 'ON', + 8280 => 'ON', + 8281 => 'ON', + 8282 => 'ON', + 8283 => 'ON', + 8284 => 'ON', + 8285 => 'ON', + 8286 => 'ON', + 8287 => 'WS', + 8288 => 'BN', + 8289 => 'BN', + 8290 => 'BN', + 8291 => 'BN', + 8298 => 'BN', + 8299 => 'BN', + 8300 => 'BN', + 8301 => 'BN', + 8302 => 'BN', + 8303 => 'BN', + 8304 => 'EN', + 8305 => 'L', + 8308 => 'EN', + 8309 => 'EN', + 8310 => 'EN', + 8311 => 'EN', + 8312 => 'EN', + 8313 => 'EN', + 8314 => 'ES', + 8315 => 'ES', + 8316 => 'ON', + 8317 => 'ON', + 8318 => 'ON', + 8319 => 'L', + 8320 => 'EN', + 8321 => 'EN', + 8322 => 'EN', + 8323 => 'EN', + 8324 => 'EN', + 8325 => 'EN', + 8326 => 'EN', + 8327 => 'EN', + 8328 => 'EN', + 8329 => 'EN', + 8330 => 'ES', + 8331 => 'ES', + 8332 => 'ON', + 8333 => 'ON', + 8334 => 'ON', + 8336 => 'L', + 8337 => 'L', + 8338 => 'L', + 8339 => 'L', + 8340 => 'L', + 8352 => 'ET', + 8353 => 'ET', + 8354 => 'ET', + 8355 => 'ET', + 8356 => 'ET', + 8357 => 'ET', + 8358 => 'ET', + 8359 => 'ET', + 8360 => 'ET', + 8361 => 'ET', + 8362 => 'ET', + 8363 => 'ET', + 8364 => 'ET', + 8365 => 'ET', + 8366 => 'ET', + 8367 => 'ET', + 8368 => 'ET', + 8369 => 'ET', + 8370 => 'ET', + 8371 => 'ET', + 8372 => 'ET', + 8373 => 'ET', + 8400 => 'NSM', + 8401 => 'NSM', + 8402 => 'NSM', + 8403 => 'NSM', + 8404 => 'NSM', + 8405 => 'NSM', + 8406 => 'NSM', + 8407 => 'NSM', + 8408 => 'NSM', + 8409 => 'NSM', + 8410 => 'NSM', + 8411 => 'NSM', + 8412 => 'NSM', + 8413 => 'NSM', + 8414 => 'NSM', + 8415 => 'NSM', + 8416 => 'NSM', + 8417 => 'NSM', + 8418 => 'NSM', + 8419 => 'NSM', + 8420 => 'NSM', + 8421 => 'NSM', + 8422 => 'NSM', + 8423 => 'NSM', + 8424 => 'NSM', + 8425 => 'NSM', + 8426 => 'NSM', + 8427 => 'NSM', + 8428 => 'NSM', + 8429 => 'NSM', + 8430 => 'NSM', + 8431 => 'NSM', + 8448 => 'ON', + 8449 => 'ON', + 8450 => 'L', + 8451 => 'ON', + 8452 => 'ON', + 8453 => 'ON', + 8454 => 'ON', + 8455 => 'L', + 8456 => 'ON', + 8457 => 'ON', + 8458 => 'L', + 8459 => 'L', + 8460 => 'L', + 8461 => 'L', + 8462 => 'L', + 8463 => 'L', + 8464 => 'L', + 8465 => 'L', + 8466 => 'L', + 8467 => 'L', + 8468 => 'ON', + 8469 => 'L', + 8470 => 'ON', + 8471 => 'ON', + 8472 => 'ON', + 8473 => 'L', + 8474 => 'L', + 8475 => 'L', + 8476 => 'L', + 8477 => 'L', + 8478 => 'ON', + 8479 => 'ON', + 8480 => 'ON', + 8481 => 'ON', + 8482 => 'ON', + 8483 => 'ON', + 8484 => 'L', + 8485 => 'ON', + 8486 => 'L', + 8487 => 'ON', + 8488 => 'L', + 8489 => 'ON', + 8490 => 'L', + 8491 => 'L', + 8492 => 'L', + 8493 => 'L', + 8494 => 'ET', + 8495 => 'L', + 8496 => 'L', + 8497 => 'L', + 8498 => 'L', + 8499 => 'L', + 8500 => 'L', + 8501 => 'L', + 8502 => 'L', + 8503 => 'L', + 8504 => 'L', + 8505 => 'L', + 8506 => 'ON', + 8507 => 'ON', + 8508 => 'L', + 8509 => 'L', + 8510 => 'L', + 8511 => 'L', + 8512 => 'ON', + 8513 => 'ON', + 8514 => 'ON', + 8515 => 'ON', + 8516 => 'ON', + 8517 => 'L', + 8518 => 'L', + 8519 => 'L', + 8520 => 'L', + 8521 => 'L', + 8522 => 'ON', + 8523 => 'ON', + 8524 => 'ON', + 8525 => 'ON', + 8526 => 'L', + 8531 => 'ON', + 8532 => 'ON', + 8533 => 'ON', + 8534 => 'ON', + 8535 => 'ON', + 8536 => 'ON', + 8537 => 'ON', + 8538 => 'ON', + 8539 => 'ON', + 8540 => 'ON', + 8541 => 'ON', + 8542 => 'ON', + 8543 => 'ON', + 8544 => 'L', + 8545 => 'L', + 8546 => 'L', + 8547 => 'L', + 8548 => 'L', + 8549 => 'L', + 8550 => 'L', + 8551 => 'L', + 8552 => 'L', + 8553 => 'L', + 8554 => 'L', + 8555 => 'L', + 8556 => 'L', + 8557 => 'L', + 8558 => 'L', + 8559 => 'L', + 8560 => 'L', + 8561 => 'L', + 8562 => 'L', + 8563 => 'L', + 8564 => 'L', + 8565 => 'L', + 8566 => 'L', + 8567 => 'L', + 8568 => 'L', + 8569 => 'L', + 8570 => 'L', + 8571 => 'L', + 8572 => 'L', + 8573 => 'L', + 8574 => 'L', + 8575 => 'L', + 8576 => 'L', + 8577 => 'L', + 8578 => 'L', + 8579 => 'L', + 8580 => 'L', + 8592 => 'ON', + 8593 => 'ON', + 8594 => 'ON', + 8595 => 'ON', + 8596 => 'ON', + 8597 => 'ON', + 8598 => 'ON', + 8599 => 'ON', + 8600 => 'ON', + 8601 => 'ON', + 8602 => 'ON', + 8603 => 'ON', + 8604 => 'ON', + 8605 => 'ON', + 8606 => 'ON', + 8607 => 'ON', + 8608 => 'ON', + 8609 => 'ON', + 8610 => 'ON', + 8611 => 'ON', + 8612 => 'ON', + 8613 => 'ON', + 8614 => 'ON', + 8615 => 'ON', + 8616 => 'ON', + 8617 => 'ON', + 8618 => 'ON', + 8619 => 'ON', + 8620 => 'ON', + 8621 => 'ON', + 8622 => 'ON', + 8623 => 'ON', + 8624 => 'ON', + 8625 => 'ON', + 8626 => 'ON', + 8627 => 'ON', + 8628 => 'ON', + 8629 => 'ON', + 8630 => 'ON', + 8631 => 'ON', + 8632 => 'ON', + 8633 => 'ON', + 8634 => 'ON', + 8635 => 'ON', + 8636 => 'ON', + 8637 => 'ON', + 8638 => 'ON', + 8639 => 'ON', + 8640 => 'ON', + 8641 => 'ON', + 8642 => 'ON', + 8643 => 'ON', + 8644 => 'ON', + 8645 => 'ON', + 8646 => 'ON', + 8647 => 'ON', + 8648 => 'ON', + 8649 => 'ON', + 8650 => 'ON', + 8651 => 'ON', + 8652 => 'ON', + 8653 => 'ON', + 8654 => 'ON', + 8655 => 'ON', + 8656 => 'ON', + 8657 => 'ON', + 8658 => 'ON', + 8659 => 'ON', + 8660 => 'ON', + 8661 => 'ON', + 8662 => 'ON', + 8663 => 'ON', + 8664 => 'ON', + 8665 => 'ON', + 8666 => 'ON', + 8667 => 'ON', + 8668 => 'ON', + 8669 => 'ON', + 8670 => 'ON', + 8671 => 'ON', + 8672 => 'ON', + 8673 => 'ON', + 8674 => 'ON', + 8675 => 'ON', + 8676 => 'ON', + 8677 => 'ON', + 8678 => 'ON', + 8679 => 'ON', + 8680 => 'ON', + 8681 => 'ON', + 8682 => 'ON', + 8683 => 'ON', + 8684 => 'ON', + 8685 => 'ON', + 8686 => 'ON', + 8687 => 'ON', + 8688 => 'ON', + 8689 => 'ON', + 8690 => 'ON', + 8691 => 'ON', + 8692 => 'ON', + 8693 => 'ON', + 8694 => 'ON', + 8695 => 'ON', + 8696 => 'ON', + 8697 => 'ON', + 8698 => 'ON', + 8699 => 'ON', + 8700 => 'ON', + 8701 => 'ON', + 8702 => 'ON', + 8703 => 'ON', + 8704 => 'ON', + 8705 => 'ON', + 8706 => 'ON', + 8707 => 'ON', + 8708 => 'ON', + 8709 => 'ON', + 8710 => 'ON', + 8711 => 'ON', + 8712 => 'ON', + 8713 => 'ON', + 8714 => 'ON', + 8715 => 'ON', + 8716 => 'ON', + 8717 => 'ON', + 8718 => 'ON', + 8719 => 'ON', + 8720 => 'ON', + 8721 => 'ON', + 8722 => 'ES', + 8723 => 'ET', + 8724 => 'ON', + 8725 => 'ON', + 8726 => 'ON', + 8727 => 'ON', + 8728 => 'ON', + 8729 => 'ON', + 8730 => 'ON', + 8731 => 'ON', + 8732 => 'ON', + 8733 => 'ON', + 8734 => 'ON', + 8735 => 'ON', + 8736 => 'ON', + 8737 => 'ON', + 8738 => 'ON', + 8739 => 'ON', + 8740 => 'ON', + 8741 => 'ON', + 8742 => 'ON', + 8743 => 'ON', + 8744 => 'ON', + 8745 => 'ON', + 8746 => 'ON', + 8747 => 'ON', + 8748 => 'ON', + 8749 => 'ON', + 8750 => 'ON', + 8751 => 'ON', + 8752 => 'ON', + 8753 => 'ON', + 8754 => 'ON', + 8755 => 'ON', + 8756 => 'ON', + 8757 => 'ON', + 8758 => 'ON', + 8759 => 'ON', + 8760 => 'ON', + 8761 => 'ON', + 8762 => 'ON', + 8763 => 'ON', + 8764 => 'ON', + 8765 => 'ON', + 8766 => 'ON', + 8767 => 'ON', + 8768 => 'ON', + 8769 => 'ON', + 8770 => 'ON', + 8771 => 'ON', + 8772 => 'ON', + 8773 => 'ON', + 8774 => 'ON', + 8775 => 'ON', + 8776 => 'ON', + 8777 => 'ON', + 8778 => 'ON', + 8779 => 'ON', + 8780 => 'ON', + 8781 => 'ON', + 8782 => 'ON', + 8783 => 'ON', + 8784 => 'ON', + 8785 => 'ON', + 8786 => 'ON', + 8787 => 'ON', + 8788 => 'ON', + 8789 => 'ON', + 8790 => 'ON', + 8791 => 'ON', + 8792 => 'ON', + 8793 => 'ON', + 8794 => 'ON', + 8795 => 'ON', + 8796 => 'ON', + 8797 => 'ON', + 8798 => 'ON', + 8799 => 'ON', + 8800 => 'ON', + 8801 => 'ON', + 8802 => 'ON', + 8803 => 'ON', + 8804 => 'ON', + 8805 => 'ON', + 8806 => 'ON', + 8807 => 'ON', + 8808 => 'ON', + 8809 => 'ON', + 8810 => 'ON', + 8811 => 'ON', + 8812 => 'ON', + 8813 => 'ON', + 8814 => 'ON', + 8815 => 'ON', + 8816 => 'ON', + 8817 => 'ON', + 8818 => 'ON', + 8819 => 'ON', + 8820 => 'ON', + 8821 => 'ON', + 8822 => 'ON', + 8823 => 'ON', + 8824 => 'ON', + 8825 => 'ON', + 8826 => 'ON', + 8827 => 'ON', + 8828 => 'ON', + 8829 => 'ON', + 8830 => 'ON', + 8831 => 'ON', + 8832 => 'ON', + 8833 => 'ON', + 8834 => 'ON', + 8835 => 'ON', + 8836 => 'ON', + 8837 => 'ON', + 8838 => 'ON', + 8839 => 'ON', + 8840 => 'ON', + 8841 => 'ON', + 8842 => 'ON', + 8843 => 'ON', + 8844 => 'ON', + 8845 => 'ON', + 8846 => 'ON', + 8847 => 'ON', + 8848 => 'ON', + 8849 => 'ON', + 8850 => 'ON', + 8851 => 'ON', + 8852 => 'ON', + 8853 => 'ON', + 8854 => 'ON', + 8855 => 'ON', + 8856 => 'ON', + 8857 => 'ON', + 8858 => 'ON', + 8859 => 'ON', + 8860 => 'ON', + 8861 => 'ON', + 8862 => 'ON', + 8863 => 'ON', + 8864 => 'ON', + 8865 => 'ON', + 8866 => 'ON', + 8867 => 'ON', + 8868 => 'ON', + 8869 => 'ON', + 8870 => 'ON', + 8871 => 'ON', + 8872 => 'ON', + 8873 => 'ON', + 8874 => 'ON', + 8875 => 'ON', + 8876 => 'ON', + 8877 => 'ON', + 8878 => 'ON', + 8879 => 'ON', + 8880 => 'ON', + 8881 => 'ON', + 8882 => 'ON', + 8883 => 'ON', + 8884 => 'ON', + 8885 => 'ON', + 8886 => 'ON', + 8887 => 'ON', + 8888 => 'ON', + 8889 => 'ON', + 8890 => 'ON', + 8891 => 'ON', + 8892 => 'ON', + 8893 => 'ON', + 8894 => 'ON', + 8895 => 'ON', + 8896 => 'ON', + 8897 => 'ON', + 8898 => 'ON', + 8899 => 'ON', + 8900 => 'ON', + 8901 => 'ON', + 8902 => 'ON', + 8903 => 'ON', + 8904 => 'ON', + 8905 => 'ON', + 8906 => 'ON', + 8907 => 'ON', + 8908 => 'ON', + 8909 => 'ON', + 8910 => 'ON', + 8911 => 'ON', + 8912 => 'ON', + 8913 => 'ON', + 8914 => 'ON', + 8915 => 'ON', + 8916 => 'ON', + 8917 => 'ON', + 8918 => 'ON', + 8919 => 'ON', + 8920 => 'ON', + 8921 => 'ON', + 8922 => 'ON', + 8923 => 'ON', + 8924 => 'ON', + 8925 => 'ON', + 8926 => 'ON', + 8927 => 'ON', + 8928 => 'ON', + 8929 => 'ON', + 8930 => 'ON', + 8931 => 'ON', + 8932 => 'ON', + 8933 => 'ON', + 8934 => 'ON', + 8935 => 'ON', + 8936 => 'ON', + 8937 => 'ON', + 8938 => 'ON', + 8939 => 'ON', + 8940 => 'ON', + 8941 => 'ON', + 8942 => 'ON', + 8943 => 'ON', + 8944 => 'ON', + 8945 => 'ON', + 8946 => 'ON', + 8947 => 'ON', + 8948 => 'ON', + 8949 => 'ON', + 8950 => 'ON', + 8951 => 'ON', + 8952 => 'ON', + 8953 => 'ON', + 8954 => 'ON', + 8955 => 'ON', + 8956 => 'ON', + 8957 => 'ON', + 8958 => 'ON', + 8959 => 'ON', + 8960 => 'ON', + 8961 => 'ON', + 8962 => 'ON', + 8963 => 'ON', + 8964 => 'ON', + 8965 => 'ON', + 8966 => 'ON', + 8967 => 'ON', + 8968 => 'ON', + 8969 => 'ON', + 8970 => 'ON', + 8971 => 'ON', + 8972 => 'ON', + 8973 => 'ON', + 8974 => 'ON', + 8975 => 'ON', + 8976 => 'ON', + 8977 => 'ON', + 8978 => 'ON', + 8979 => 'ON', + 8980 => 'ON', + 8981 => 'ON', + 8982 => 'ON', + 8983 => 'ON', + 8984 => 'ON', + 8985 => 'ON', + 8986 => 'ON', + 8987 => 'ON', + 8988 => 'ON', + 8989 => 'ON', + 8990 => 'ON', + 8991 => 'ON', + 8992 => 'ON', + 8993 => 'ON', + 8994 => 'ON', + 8995 => 'ON', + 8996 => 'ON', + 8997 => 'ON', + 8998 => 'ON', + 8999 => 'ON', + 9000 => 'ON', + 9001 => 'ON', + 9002 => 'ON', + 9003 => 'ON', + 9004 => 'ON', + 9005 => 'ON', + 9006 => 'ON', + 9007 => 'ON', + 9008 => 'ON', + 9009 => 'ON', + 9010 => 'ON', + 9011 => 'ON', + 9012 => 'ON', + 9013 => 'ON', + 9014 => 'L', + 9015 => 'L', + 9016 => 'L', + 9017 => 'L', + 9018 => 'L', + 9019 => 'L', + 9020 => 'L', + 9021 => 'L', + 9022 => 'L', + 9023 => 'L', + 9024 => 'L', + 9025 => 'L', + 9026 => 'L', + 9027 => 'L', + 9028 => 'L', + 9029 => 'L', + 9030 => 'L', + 9031 => 'L', + 9032 => 'L', + 9033 => 'L', + 9034 => 'L', + 9035 => 'L', + 9036 => 'L', + 9037 => 'L', + 9038 => 'L', + 9039 => 'L', + 9040 => 'L', + 9041 => 'L', + 9042 => 'L', + 9043 => 'L', + 9044 => 'L', + 9045 => 'L', + 9046 => 'L', + 9047 => 'L', + 9048 => 'L', + 9049 => 'L', + 9050 => 'L', + 9051 => 'L', + 9052 => 'L', + 9053 => 'L', + 9054 => 'L', + 9055 => 'L', + 9056 => 'L', + 9057 => 'L', + 9058 => 'L', + 9059 => 'L', + 9060 => 'L', + 9061 => 'L', + 9062 => 'L', + 9063 => 'L', + 9064 => 'L', + 9065 => 'L', + 9066 => 'L', + 9067 => 'L', + 9068 => 'L', + 9069 => 'L', + 9070 => 'L', + 9071 => 'L', + 9072 => 'L', + 9073 => 'L', + 9074 => 'L', + 9075 => 'L', + 9076 => 'L', + 9077 => 'L', + 9078 => 'L', + 9079 => 'L', + 9080 => 'L', + 9081 => 'L', + 9082 => 'L', + 9083 => 'ON', + 9084 => 'ON', + 9085 => 'ON', + 9086 => 'ON', + 9087 => 'ON', + 9088 => 'ON', + 9089 => 'ON', + 9090 => 'ON', + 9091 => 'ON', + 9092 => 'ON', + 9093 => 'ON', + 9094 => 'ON', + 9095 => 'ON', + 9096 => 'ON', + 9097 => 'ON', + 9098 => 'ON', + 9099 => 'ON', + 9100 => 'ON', + 9101 => 'ON', + 9102 => 'ON', + 9103 => 'ON', + 9104 => 'ON', + 9105 => 'ON', + 9106 => 'ON', + 9107 => 'ON', + 9108 => 'ON', + 9109 => 'L', + 9110 => 'ON', + 9111 => 'ON', + 9112 => 'ON', + 9113 => 'ON', + 9114 => 'ON', + 9115 => 'ON', + 9116 => 'ON', + 9117 => 'ON', + 9118 => 'ON', + 9119 => 'ON', + 9120 => 'ON', + 9121 => 'ON', + 9122 => 'ON', + 9123 => 'ON', + 9124 => 'ON', + 9125 => 'ON', + 9126 => 'ON', + 9127 => 'ON', + 9128 => 'ON', + 9129 => 'ON', + 9130 => 'ON', + 9131 => 'ON', + 9132 => 'ON', + 9133 => 'ON', + 9134 => 'ON', + 9135 => 'ON', + 9136 => 'ON', + 9137 => 'ON', + 9138 => 'ON', + 9139 => 'ON', + 9140 => 'ON', + 9141 => 'ON', + 9142 => 'ON', + 9143 => 'ON', + 9144 => 'ON', + 9145 => 'ON', + 9146 => 'ON', + 9147 => 'ON', + 9148 => 'ON', + 9149 => 'ON', + 9150 => 'ON', + 9151 => 'ON', + 9152 => 'ON', + 9153 => 'ON', + 9154 => 'ON', + 9155 => 'ON', + 9156 => 'ON', + 9157 => 'ON', + 9158 => 'ON', + 9159 => 'ON', + 9160 => 'ON', + 9161 => 'ON', + 9162 => 'ON', + 9163 => 'ON', + 9164 => 'ON', + 9165 => 'ON', + 9166 => 'ON', + 9167 => 'ON', + 9168 => 'ON', + 9169 => 'ON', + 9170 => 'ON', + 9171 => 'ON', + 9172 => 'ON', + 9173 => 'ON', + 9174 => 'ON', + 9175 => 'ON', + 9176 => 'ON', + 9177 => 'ON', + 9178 => 'ON', + 9179 => 'ON', + 9180 => 'ON', + 9181 => 'ON', + 9182 => 'ON', + 9183 => 'ON', + 9184 => 'ON', + 9185 => 'ON', + 9186 => 'ON', + 9187 => 'ON', + 9188 => 'ON', + 9189 => 'ON', + 9190 => 'ON', + 9191 => 'ON', + 9216 => 'ON', + 9217 => 'ON', + 9218 => 'ON', + 9219 => 'ON', + 9220 => 'ON', + 9221 => 'ON', + 9222 => 'ON', + 9223 => 'ON', + 9224 => 'ON', + 9225 => 'ON', + 9226 => 'ON', + 9227 => 'ON', + 9228 => 'ON', + 9229 => 'ON', + 9230 => 'ON', + 9231 => 'ON', + 9232 => 'ON', + 9233 => 'ON', + 9234 => 'ON', + 9235 => 'ON', + 9236 => 'ON', + 9237 => 'ON', + 9238 => 'ON', + 9239 => 'ON', + 9240 => 'ON', + 9241 => 'ON', + 9242 => 'ON', + 9243 => 'ON', + 9244 => 'ON', + 9245 => 'ON', + 9246 => 'ON', + 9247 => 'ON', + 9248 => 'ON', + 9249 => 'ON', + 9250 => 'ON', + 9251 => 'ON', + 9252 => 'ON', + 9253 => 'ON', + 9254 => 'ON', + 9280 => 'ON', + 9281 => 'ON', + 9282 => 'ON', + 9283 => 'ON', + 9284 => 'ON', + 9285 => 'ON', + 9286 => 'ON', + 9287 => 'ON', + 9288 => 'ON', + 9289 => 'ON', + 9290 => 'ON', + 9312 => 'ON', + 9313 => 'ON', + 9314 => 'ON', + 9315 => 'ON', + 9316 => 'ON', + 9317 => 'ON', + 9318 => 'ON', + 9319 => 'ON', + 9320 => 'ON', + 9321 => 'ON', + 9322 => 'ON', + 9323 => 'ON', + 9324 => 'ON', + 9325 => 'ON', + 9326 => 'ON', + 9327 => 'ON', + 9328 => 'ON', + 9329 => 'ON', + 9330 => 'ON', + 9331 => 'ON', + 9332 => 'ON', + 9333 => 'ON', + 9334 => 'ON', + 9335 => 'ON', + 9336 => 'ON', + 9337 => 'ON', + 9338 => 'ON', + 9339 => 'ON', + 9340 => 'ON', + 9341 => 'ON', + 9342 => 'ON', + 9343 => 'ON', + 9344 => 'ON', + 9345 => 'ON', + 9346 => 'ON', + 9347 => 'ON', + 9348 => 'ON', + 9349 => 'ON', + 9350 => 'ON', + 9351 => 'ON', + 9352 => 'EN', + 9353 => 'EN', + 9354 => 'EN', + 9355 => 'EN', + 9356 => 'EN', + 9357 => 'EN', + 9358 => 'EN', + 9359 => 'EN', + 9360 => 'EN', + 9361 => 'EN', + 9362 => 'EN', + 9363 => 'EN', + 9364 => 'EN', + 9365 => 'EN', + 9366 => 'EN', + 9367 => 'EN', + 9368 => 'EN', + 9369 => 'EN', + 9370 => 'EN', + 9371 => 'EN', + 9372 => 'L', + 9373 => 'L', + 9374 => 'L', + 9375 => 'L', + 9376 => 'L', + 9377 => 'L', + 9378 => 'L', + 9379 => 'L', + 9380 => 'L', + 9381 => 'L', + 9382 => 'L', + 9383 => 'L', + 9384 => 'L', + 9385 => 'L', + 9386 => 'L', + 9387 => 'L', + 9388 => 'L', + 9389 => 'L', + 9390 => 'L', + 9391 => 'L', + 9392 => 'L', + 9393 => 'L', + 9394 => 'L', + 9395 => 'L', + 9396 => 'L', + 9397 => 'L', + 9398 => 'L', + 9399 => 'L', + 9400 => 'L', + 9401 => 'L', + 9402 => 'L', + 9403 => 'L', + 9404 => 'L', + 9405 => 'L', + 9406 => 'L', + 9407 => 'L', + 9408 => 'L', + 9409 => 'L', + 9410 => 'L', + 9411 => 'L', + 9412 => 'L', + 9413 => 'L', + 9414 => 'L', + 9415 => 'L', + 9416 => 'L', + 9417 => 'L', + 9418 => 'L', + 9419 => 'L', + 9420 => 'L', + 9421 => 'L', + 9422 => 'L', + 9423 => 'L', + 9424 => 'L', + 9425 => 'L', + 9426 => 'L', + 9427 => 'L', + 9428 => 'L', + 9429 => 'L', + 9430 => 'L', + 9431 => 'L', + 9432 => 'L', + 9433 => 'L', + 9434 => 'L', + 9435 => 'L', + 9436 => 'L', + 9437 => 'L', + 9438 => 'L', + 9439 => 'L', + 9440 => 'L', + 9441 => 'L', + 9442 => 'L', + 9443 => 'L', + 9444 => 'L', + 9445 => 'L', + 9446 => 'L', + 9447 => 'L', + 9448 => 'L', + 9449 => 'L', + 9450 => 'ON', + 9451 => 'ON', + 9452 => 'ON', + 9453 => 'ON', + 9454 => 'ON', + 9455 => 'ON', + 9456 => 'ON', + 9457 => 'ON', + 9458 => 'ON', + 9459 => 'ON', + 9460 => 'ON', + 9461 => 'ON', + 9462 => 'ON', + 9463 => 'ON', + 9464 => 'ON', + 9465 => 'ON', + 9466 => 'ON', + 9467 => 'ON', + 9468 => 'ON', + 9469 => 'ON', + 9470 => 'ON', + 9471 => 'ON', + 9472 => 'ON', + 9473 => 'ON', + 9474 => 'ON', + 9475 => 'ON', + 9476 => 'ON', + 9477 => 'ON', + 9478 => 'ON', + 9479 => 'ON', + 9480 => 'ON', + 9481 => 'ON', + 9482 => 'ON', + 9483 => 'ON', + 9484 => 'ON', + 9485 => 'ON', + 9486 => 'ON', + 9487 => 'ON', + 9488 => 'ON', + 9489 => 'ON', + 9490 => 'ON', + 9491 => 'ON', + 9492 => 'ON', + 9493 => 'ON', + 9494 => 'ON', + 9495 => 'ON', + 9496 => 'ON', + 9497 => 'ON', + 9498 => 'ON', + 9499 => 'ON', + 9500 => 'ON', + 9501 => 'ON', + 9502 => 'ON', + 9503 => 'ON', + 9504 => 'ON', + 9505 => 'ON', + 9506 => 'ON', + 9507 => 'ON', + 9508 => 'ON', + 9509 => 'ON', + 9510 => 'ON', + 9511 => 'ON', + 9512 => 'ON', + 9513 => 'ON', + 9514 => 'ON', + 9515 => 'ON', + 9516 => 'ON', + 9517 => 'ON', + 9518 => 'ON', + 9519 => 'ON', + 9520 => 'ON', + 9521 => 'ON', + 9522 => 'ON', + 9523 => 'ON', + 9524 => 'ON', + 9525 => 'ON', + 9526 => 'ON', + 9527 => 'ON', + 9528 => 'ON', + 9529 => 'ON', + 9530 => 'ON', + 9531 => 'ON', + 9532 => 'ON', + 9533 => 'ON', + 9534 => 'ON', + 9535 => 'ON', + 9536 => 'ON', + 9537 => 'ON', + 9538 => 'ON', + 9539 => 'ON', + 9540 => 'ON', + 9541 => 'ON', + 9542 => 'ON', + 9543 => 'ON', + 9544 => 'ON', + 9545 => 'ON', + 9546 => 'ON', + 9547 => 'ON', + 9548 => 'ON', + 9549 => 'ON', + 9550 => 'ON', + 9551 => 'ON', + 9552 => 'ON', + 9553 => 'ON', + 9554 => 'ON', + 9555 => 'ON', + 9556 => 'ON', + 9557 => 'ON', + 9558 => 'ON', + 9559 => 'ON', + 9560 => 'ON', + 9561 => 'ON', + 9562 => 'ON', + 9563 => 'ON', + 9564 => 'ON', + 9565 => 'ON', + 9566 => 'ON', + 9567 => 'ON', + 9568 => 'ON', + 9569 => 'ON', + 9570 => 'ON', + 9571 => 'ON', + 9572 => 'ON', + 9573 => 'ON', + 9574 => 'ON', + 9575 => 'ON', + 9576 => 'ON', + 9577 => 'ON', + 9578 => 'ON', + 9579 => 'ON', + 9580 => 'ON', + 9581 => 'ON', + 9582 => 'ON', + 9583 => 'ON', + 9584 => 'ON', + 9585 => 'ON', + 9586 => 'ON', + 9587 => 'ON', + 9588 => 'ON', + 9589 => 'ON', + 9590 => 'ON', + 9591 => 'ON', + 9592 => 'ON', + 9593 => 'ON', + 9594 => 'ON', + 9595 => 'ON', + 9596 => 'ON', + 9597 => 'ON', + 9598 => 'ON', + 9599 => 'ON', + 9600 => 'ON', + 9601 => 'ON', + 9602 => 'ON', + 9603 => 'ON', + 9604 => 'ON', + 9605 => 'ON', + 9606 => 'ON', + 9607 => 'ON', + 9608 => 'ON', + 9609 => 'ON', + 9610 => 'ON', + 9611 => 'ON', + 9612 => 'ON', + 9613 => 'ON', + 9614 => 'ON', + 9615 => 'ON', + 9616 => 'ON', + 9617 => 'ON', + 9618 => 'ON', + 9619 => 'ON', + 9620 => 'ON', + 9621 => 'ON', + 9622 => 'ON', + 9623 => 'ON', + 9624 => 'ON', + 9625 => 'ON', + 9626 => 'ON', + 9627 => 'ON', + 9628 => 'ON', + 9629 => 'ON', + 9630 => 'ON', + 9631 => 'ON', + 9632 => 'ON', + 9633 => 'ON', + 9634 => 'ON', + 9635 => 'ON', + 9636 => 'ON', + 9637 => 'ON', + 9638 => 'ON', + 9639 => 'ON', + 9640 => 'ON', + 9641 => 'ON', + 9642 => 'ON', + 9643 => 'ON', + 9644 => 'ON', + 9645 => 'ON', + 9646 => 'ON', + 9647 => 'ON', + 9648 => 'ON', + 9649 => 'ON', + 9650 => 'ON', + 9651 => 'ON', + 9652 => 'ON', + 9653 => 'ON', + 9654 => 'ON', + 9655 => 'ON', + 9656 => 'ON', + 9657 => 'ON', + 9658 => 'ON', + 9659 => 'ON', + 9660 => 'ON', + 9661 => 'ON', + 9662 => 'ON', + 9663 => 'ON', + 9664 => 'ON', + 9665 => 'ON', + 9666 => 'ON', + 9667 => 'ON', + 9668 => 'ON', + 9669 => 'ON', + 9670 => 'ON', + 9671 => 'ON', + 9672 => 'ON', + 9673 => 'ON', + 9674 => 'ON', + 9675 => 'ON', + 9676 => 'ON', + 9677 => 'ON', + 9678 => 'ON', + 9679 => 'ON', + 9680 => 'ON', + 9681 => 'ON', + 9682 => 'ON', + 9683 => 'ON', + 9684 => 'ON', + 9685 => 'ON', + 9686 => 'ON', + 9687 => 'ON', + 9688 => 'ON', + 9689 => 'ON', + 9690 => 'ON', + 9691 => 'ON', + 9692 => 'ON', + 9693 => 'ON', + 9694 => 'ON', + 9695 => 'ON', + 9696 => 'ON', + 9697 => 'ON', + 9698 => 'ON', + 9699 => 'ON', + 9700 => 'ON', + 9701 => 'ON', + 9702 => 'ON', + 9703 => 'ON', + 9704 => 'ON', + 9705 => 'ON', + 9706 => 'ON', + 9707 => 'ON', + 9708 => 'ON', + 9709 => 'ON', + 9710 => 'ON', + 9711 => 'ON', + 9712 => 'ON', + 9713 => 'ON', + 9714 => 'ON', + 9715 => 'ON', + 9716 => 'ON', + 9717 => 'ON', + 9718 => 'ON', + 9719 => 'ON', + 9720 => 'ON', + 9721 => 'ON', + 9722 => 'ON', + 9723 => 'ON', + 9724 => 'ON', + 9725 => 'ON', + 9726 => 'ON', + 9727 => 'ON', + 9728 => 'ON', + 9729 => 'ON', + 9730 => 'ON', + 9731 => 'ON', + 9732 => 'ON', + 9733 => 'ON', + 9734 => 'ON', + 9735 => 'ON', + 9736 => 'ON', + 9737 => 'ON', + 9738 => 'ON', + 9739 => 'ON', + 9740 => 'ON', + 9741 => 'ON', + 9742 => 'ON', + 9743 => 'ON', + 9744 => 'ON', + 9745 => 'ON', + 9746 => 'ON', + 9747 => 'ON', + 9748 => 'ON', + 9749 => 'ON', + 9750 => 'ON', + 9751 => 'ON', + 9752 => 'ON', + 9753 => 'ON', + 9754 => 'ON', + 9755 => 'ON', + 9756 => 'ON', + 9757 => 'ON', + 9758 => 'ON', + 9759 => 'ON', + 9760 => 'ON', + 9761 => 'ON', + 9762 => 'ON', + 9763 => 'ON', + 9764 => 'ON', + 9765 => 'ON', + 9766 => 'ON', + 9767 => 'ON', + 9768 => 'ON', + 9769 => 'ON', + 9770 => 'ON', + 9771 => 'ON', + 9772 => 'ON', + 9773 => 'ON', + 9774 => 'ON', + 9775 => 'ON', + 9776 => 'ON', + 9777 => 'ON', + 9778 => 'ON', + 9779 => 'ON', + 9780 => 'ON', + 9781 => 'ON', + 9782 => 'ON', + 9783 => 'ON', + 9784 => 'ON', + 9785 => 'ON', + 9786 => 'ON', + 9787 => 'ON', + 9788 => 'ON', + 9789 => 'ON', + 9790 => 'ON', + 9791 => 'ON', + 9792 => 'ON', + 9793 => 'ON', + 9794 => 'ON', + 9795 => 'ON', + 9796 => 'ON', + 9797 => 'ON', + 9798 => 'ON', + 9799 => 'ON', + 9800 => 'ON', + 9801 => 'ON', + 9802 => 'ON', + 9803 => 'ON', + 9804 => 'ON', + 9805 => 'ON', + 9806 => 'ON', + 9807 => 'ON', + 9808 => 'ON', + 9809 => 'ON', + 9810 => 'ON', + 9811 => 'ON', + 9812 => 'ON', + 9813 => 'ON', + 9814 => 'ON', + 9815 => 'ON', + 9816 => 'ON', + 9817 => 'ON', + 9818 => 'ON', + 9819 => 'ON', + 9820 => 'ON', + 9821 => 'ON', + 9822 => 'ON', + 9823 => 'ON', + 9824 => 'ON', + 9825 => 'ON', + 9826 => 'ON', + 9827 => 'ON', + 9828 => 'ON', + 9829 => 'ON', + 9830 => 'ON', + 9831 => 'ON', + 9832 => 'ON', + 9833 => 'ON', + 9834 => 'ON', + 9835 => 'ON', + 9836 => 'ON', + 9837 => 'ON', + 9838 => 'ON', + 9839 => 'ON', + 9840 => 'ON', + 9841 => 'ON', + 9842 => 'ON', + 9843 => 'ON', + 9844 => 'ON', + 9845 => 'ON', + 9846 => 'ON', + 9847 => 'ON', + 9848 => 'ON', + 9849 => 'ON', + 9850 => 'ON', + 9851 => 'ON', + 9852 => 'ON', + 9853 => 'ON', + 9854 => 'ON', + 9855 => 'ON', + 9856 => 'ON', + 9857 => 'ON', + 9858 => 'ON', + 9859 => 'ON', + 9860 => 'ON', + 9861 => 'ON', + 9862 => 'ON', + 9863 => 'ON', + 9864 => 'ON', + 9865 => 'ON', + 9866 => 'ON', + 9867 => 'ON', + 9868 => 'ON', + 9869 => 'ON', + 9870 => 'ON', + 9871 => 'ON', + 9872 => 'ON', + 9873 => 'ON', + 9874 => 'ON', + 9875 => 'ON', + 9876 => 'ON', + 9877 => 'ON', + 9878 => 'ON', + 9879 => 'ON', + 9880 => 'ON', + 9881 => 'ON', + 9882 => 'ON', + 9883 => 'ON', + 9884 => 'ON', + 9888 => 'ON', + 9889 => 'ON', + 9890 => 'ON', + 9891 => 'ON', + 9892 => 'ON', + 9893 => 'ON', + 9894 => 'ON', + 9895 => 'ON', + 9896 => 'ON', + 9897 => 'ON', + 9898 => 'ON', + 9899 => 'ON', + 9900 => 'L', + 9901 => 'ON', + 9902 => 'ON', + 9903 => 'ON', + 9904 => 'ON', + 9905 => 'ON', + 9906 => 'ON', + 9985 => 'ON', + 9986 => 'ON', + 9987 => 'ON', + 9988 => 'ON', + 9990 => 'ON', + 9991 => 'ON', + 9992 => 'ON', + 9993 => 'ON', + 9996 => 'ON', + 9997 => 'ON', + 9998 => 'ON', + 9999 => 'ON', + 10000 => 'ON', + 10001 => 'ON', + 10002 => 'ON', + 10003 => 'ON', + 10004 => 'ON', + 10005 => 'ON', + 10006 => 'ON', + 10007 => 'ON', + 10008 => 'ON', + 10009 => 'ON', + 10010 => 'ON', + 10011 => 'ON', + 10012 => 'ON', + 10013 => 'ON', + 10014 => 'ON', + 10015 => 'ON', + 10016 => 'ON', + 10017 => 'ON', + 10018 => 'ON', + 10019 => 'ON', + 10020 => 'ON', + 10021 => 'ON', + 10022 => 'ON', + 10023 => 'ON', + 10025 => 'ON', + 10026 => 'ON', + 10027 => 'ON', + 10028 => 'ON', + 10029 => 'ON', + 10030 => 'ON', + 10031 => 'ON', + 10032 => 'ON', + 10033 => 'ON', + 10034 => 'ON', + 10035 => 'ON', + 10036 => 'ON', + 10037 => 'ON', + 10038 => 'ON', + 10039 => 'ON', + 10040 => 'ON', + 10041 => 'ON', + 10042 => 'ON', + 10043 => 'ON', + 10044 => 'ON', + 10045 => 'ON', + 10046 => 'ON', + 10047 => 'ON', + 10048 => 'ON', + 10049 => 'ON', + 10050 => 'ON', + 10051 => 'ON', + 10052 => 'ON', + 10053 => 'ON', + 10054 => 'ON', + 10055 => 'ON', + 10056 => 'ON', + 10057 => 'ON', + 10058 => 'ON', + 10059 => 'ON', + 10061 => 'ON', + 10063 => 'ON', + 10064 => 'ON', + 10065 => 'ON', + 10066 => 'ON', + 10070 => 'ON', + 10072 => 'ON', + 10073 => 'ON', + 10074 => 'ON', + 10075 => 'ON', + 10076 => 'ON', + 10077 => 'ON', + 10078 => 'ON', + 10081 => 'ON', + 10082 => 'ON', + 10083 => 'ON', + 10084 => 'ON', + 10085 => 'ON', + 10086 => 'ON', + 10087 => 'ON', + 10088 => 'ON', + 10089 => 'ON', + 10090 => 'ON', + 10091 => 'ON', + 10092 => 'ON', + 10093 => 'ON', + 10094 => 'ON', + 10095 => 'ON', + 10096 => 'ON', + 10097 => 'ON', + 10098 => 'ON', + 10099 => 'ON', + 10100 => 'ON', + 10101 => 'ON', + 10102 => 'ON', + 10103 => 'ON', + 10104 => 'ON', + 10105 => 'ON', + 10106 => 'ON', + 10107 => 'ON', + 10108 => 'ON', + 10109 => 'ON', + 10110 => 'ON', + 10111 => 'ON', + 10112 => 'ON', + 10113 => 'ON', + 10114 => 'ON', + 10115 => 'ON', + 10116 => 'ON', + 10117 => 'ON', + 10118 => 'ON', + 10119 => 'ON', + 10120 => 'ON', + 10121 => 'ON', + 10122 => 'ON', + 10123 => 'ON', + 10124 => 'ON', + 10125 => 'ON', + 10126 => 'ON', + 10127 => 'ON', + 10128 => 'ON', + 10129 => 'ON', + 10130 => 'ON', + 10131 => 'ON', + 10132 => 'ON', + 10136 => 'ON', + 10137 => 'ON', + 10138 => 'ON', + 10139 => 'ON', + 10140 => 'ON', + 10141 => 'ON', + 10142 => 'ON', + 10143 => 'ON', + 10144 => 'ON', + 10145 => 'ON', + 10146 => 'ON', + 10147 => 'ON', + 10148 => 'ON', + 10149 => 'ON', + 10150 => 'ON', + 10151 => 'ON', + 10152 => 'ON', + 10153 => 'ON', + 10154 => 'ON', + 10155 => 'ON', + 10156 => 'ON', + 10157 => 'ON', + 10158 => 'ON', + 10159 => 'ON', + 10161 => 'ON', + 10162 => 'ON', + 10163 => 'ON', + 10164 => 'ON', + 10165 => 'ON', + 10166 => 'ON', + 10167 => 'ON', + 10168 => 'ON', + 10169 => 'ON', + 10170 => 'ON', + 10171 => 'ON', + 10172 => 'ON', + 10173 => 'ON', + 10174 => 'ON', + 10176 => 'ON', + 10177 => 'ON', + 10178 => 'ON', + 10179 => 'ON', + 10180 => 'ON', + 10181 => 'ON', + 10182 => 'ON', + 10183 => 'ON', + 10184 => 'ON', + 10185 => 'ON', + 10186 => 'ON', + 10192 => 'ON', + 10193 => 'ON', + 10194 => 'ON', + 10195 => 'ON', + 10196 => 'ON', + 10197 => 'ON', + 10198 => 'ON', + 10199 => 'ON', + 10200 => 'ON', + 10201 => 'ON', + 10202 => 'ON', + 10203 => 'ON', + 10204 => 'ON', + 10205 => 'ON', + 10206 => 'ON', + 10207 => 'ON', + 10208 => 'ON', + 10209 => 'ON', + 10210 => 'ON', + 10211 => 'ON', + 10212 => 'ON', + 10213 => 'ON', + 10214 => 'ON', + 10215 => 'ON', + 10216 => 'ON', + 10217 => 'ON', + 10218 => 'ON', + 10219 => 'ON', + 10224 => 'ON', + 10225 => 'ON', + 10226 => 'ON', + 10227 => 'ON', + 10228 => 'ON', + 10229 => 'ON', + 10230 => 'ON', + 10231 => 'ON', + 10232 => 'ON', + 10233 => 'ON', + 10234 => 'ON', + 10235 => 'ON', + 10236 => 'ON', + 10237 => 'ON', + 10238 => 'ON', + 10239 => 'ON', + 10240 => 'L', + 10241 => 'L', + 10242 => 'L', + 10243 => 'L', + 10244 => 'L', + 10245 => 'L', + 10246 => 'L', + 10247 => 'L', + 10248 => 'L', + 10249 => 'L', + 10250 => 'L', + 10251 => 'L', + 10252 => 'L', + 10253 => 'L', + 10254 => 'L', + 10255 => 'L', + 10256 => 'L', + 10257 => 'L', + 10258 => 'L', + 10259 => 'L', + 10260 => 'L', + 10261 => 'L', + 10262 => 'L', + 10263 => 'L', + 10264 => 'L', + 10265 => 'L', + 10266 => 'L', + 10267 => 'L', + 10268 => 'L', + 10269 => 'L', + 10270 => 'L', + 10271 => 'L', + 10272 => 'L', + 10273 => 'L', + 10274 => 'L', + 10275 => 'L', + 10276 => 'L', + 10277 => 'L', + 10278 => 'L', + 10279 => 'L', + 10280 => 'L', + 10281 => 'L', + 10282 => 'L', + 10283 => 'L', + 10284 => 'L', + 10285 => 'L', + 10286 => 'L', + 10287 => 'L', + 10288 => 'L', + 10289 => 'L', + 10290 => 'L', + 10291 => 'L', + 10292 => 'L', + 10293 => 'L', + 10294 => 'L', + 10295 => 'L', + 10296 => 'L', + 10297 => 'L', + 10298 => 'L', + 10299 => 'L', + 10300 => 'L', + 10301 => 'L', + 10302 => 'L', + 10303 => 'L', + 10304 => 'L', + 10305 => 'L', + 10306 => 'L', + 10307 => 'L', + 10308 => 'L', + 10309 => 'L', + 10310 => 'L', + 10311 => 'L', + 10312 => 'L', + 10313 => 'L', + 10314 => 'L', + 10315 => 'L', + 10316 => 'L', + 10317 => 'L', + 10318 => 'L', + 10319 => 'L', + 10320 => 'L', + 10321 => 'L', + 10322 => 'L', + 10323 => 'L', + 10324 => 'L', + 10325 => 'L', + 10326 => 'L', + 10327 => 'L', + 10328 => 'L', + 10329 => 'L', + 10330 => 'L', + 10331 => 'L', + 10332 => 'L', + 10333 => 'L', + 10334 => 'L', + 10335 => 'L', + 10336 => 'L', + 10337 => 'L', + 10338 => 'L', + 10339 => 'L', + 10340 => 'L', + 10341 => 'L', + 10342 => 'L', + 10343 => 'L', + 10344 => 'L', + 10345 => 'L', + 10346 => 'L', + 10347 => 'L', + 10348 => 'L', + 10349 => 'L', + 10350 => 'L', + 10351 => 'L', + 10352 => 'L', + 10353 => 'L', + 10354 => 'L', + 10355 => 'L', + 10356 => 'L', + 10357 => 'L', + 10358 => 'L', + 10359 => 'L', + 10360 => 'L', + 10361 => 'L', + 10362 => 'L', + 10363 => 'L', + 10364 => 'L', + 10365 => 'L', + 10366 => 'L', + 10367 => 'L', + 10368 => 'L', + 10369 => 'L', + 10370 => 'L', + 10371 => 'L', + 10372 => 'L', + 10373 => 'L', + 10374 => 'L', + 10375 => 'L', + 10376 => 'L', + 10377 => 'L', + 10378 => 'L', + 10379 => 'L', + 10380 => 'L', + 10381 => 'L', + 10382 => 'L', + 10383 => 'L', + 10384 => 'L', + 10385 => 'L', + 10386 => 'L', + 10387 => 'L', + 10388 => 'L', + 10389 => 'L', + 10390 => 'L', + 10391 => 'L', + 10392 => 'L', + 10393 => 'L', + 10394 => 'L', + 10395 => 'L', + 10396 => 'L', + 10397 => 'L', + 10398 => 'L', + 10399 => 'L', + 10400 => 'L', + 10401 => 'L', + 10402 => 'L', + 10403 => 'L', + 10404 => 'L', + 10405 => 'L', + 10406 => 'L', + 10407 => 'L', + 10408 => 'L', + 10409 => 'L', + 10410 => 'L', + 10411 => 'L', + 10412 => 'L', + 10413 => 'L', + 10414 => 'L', + 10415 => 'L', + 10416 => 'L', + 10417 => 'L', + 10418 => 'L', + 10419 => 'L', + 10420 => 'L', + 10421 => 'L', + 10422 => 'L', + 10423 => 'L', + 10424 => 'L', + 10425 => 'L', + 10426 => 'L', + 10427 => 'L', + 10428 => 'L', + 10429 => 'L', + 10430 => 'L', + 10431 => 'L', + 10432 => 'L', + 10433 => 'L', + 10434 => 'L', + 10435 => 'L', + 10436 => 'L', + 10437 => 'L', + 10438 => 'L', + 10439 => 'L', + 10440 => 'L', + 10441 => 'L', + 10442 => 'L', + 10443 => 'L', + 10444 => 'L', + 10445 => 'L', + 10446 => 'L', + 10447 => 'L', + 10448 => 'L', + 10449 => 'L', + 10450 => 'L', + 10451 => 'L', + 10452 => 'L', + 10453 => 'L', + 10454 => 'L', + 10455 => 'L', + 10456 => 'L', + 10457 => 'L', + 10458 => 'L', + 10459 => 'L', + 10460 => 'L', + 10461 => 'L', + 10462 => 'L', + 10463 => 'L', + 10464 => 'L', + 10465 => 'L', + 10466 => 'L', + 10467 => 'L', + 10468 => 'L', + 10469 => 'L', + 10470 => 'L', + 10471 => 'L', + 10472 => 'L', + 10473 => 'L', + 10474 => 'L', + 10475 => 'L', + 10476 => 'L', + 10477 => 'L', + 10478 => 'L', + 10479 => 'L', + 10480 => 'L', + 10481 => 'L', + 10482 => 'L', + 10483 => 'L', + 10484 => 'L', + 10485 => 'L', + 10486 => 'L', + 10487 => 'L', + 10488 => 'L', + 10489 => 'L', + 10490 => 'L', + 10491 => 'L', + 10492 => 'L', + 10493 => 'L', + 10494 => 'L', + 10495 => 'L', + 10496 => 'ON', + 10497 => 'ON', + 10498 => 'ON', + 10499 => 'ON', + 10500 => 'ON', + 10501 => 'ON', + 10502 => 'ON', + 10503 => 'ON', + 10504 => 'ON', + 10505 => 'ON', + 10506 => 'ON', + 10507 => 'ON', + 10508 => 'ON', + 10509 => 'ON', + 10510 => 'ON', + 10511 => 'ON', + 10512 => 'ON', + 10513 => 'ON', + 10514 => 'ON', + 10515 => 'ON', + 10516 => 'ON', + 10517 => 'ON', + 10518 => 'ON', + 10519 => 'ON', + 10520 => 'ON', + 10521 => 'ON', + 10522 => 'ON', + 10523 => 'ON', + 10524 => 'ON', + 10525 => 'ON', + 10526 => 'ON', + 10527 => 'ON', + 10528 => 'ON', + 10529 => 'ON', + 10530 => 'ON', + 10531 => 'ON', + 10532 => 'ON', + 10533 => 'ON', + 10534 => 'ON', + 10535 => 'ON', + 10536 => 'ON', + 10537 => 'ON', + 10538 => 'ON', + 10539 => 'ON', + 10540 => 'ON', + 10541 => 'ON', + 10542 => 'ON', + 10543 => 'ON', + 10544 => 'ON', + 10545 => 'ON', + 10546 => 'ON', + 10547 => 'ON', + 10548 => 'ON', + 10549 => 'ON', + 10550 => 'ON', + 10551 => 'ON', + 10552 => 'ON', + 10553 => 'ON', + 10554 => 'ON', + 10555 => 'ON', + 10556 => 'ON', + 10557 => 'ON', + 10558 => 'ON', + 10559 => 'ON', + 10560 => 'ON', + 10561 => 'ON', + 10562 => 'ON', + 10563 => 'ON', + 10564 => 'ON', + 10565 => 'ON', + 10566 => 'ON', + 10567 => 'ON', + 10568 => 'ON', + 10569 => 'ON', + 10570 => 'ON', + 10571 => 'ON', + 10572 => 'ON', + 10573 => 'ON', + 10574 => 'ON', + 10575 => 'ON', + 10576 => 'ON', + 10577 => 'ON', + 10578 => 'ON', + 10579 => 'ON', + 10580 => 'ON', + 10581 => 'ON', + 10582 => 'ON', + 10583 => 'ON', + 10584 => 'ON', + 10585 => 'ON', + 10586 => 'ON', + 10587 => 'ON', + 10588 => 'ON', + 10589 => 'ON', + 10590 => 'ON', + 10591 => 'ON', + 10592 => 'ON', + 10593 => 'ON', + 10594 => 'ON', + 10595 => 'ON', + 10596 => 'ON', + 10597 => 'ON', + 10598 => 'ON', + 10599 => 'ON', + 10600 => 'ON', + 10601 => 'ON', + 10602 => 'ON', + 10603 => 'ON', + 10604 => 'ON', + 10605 => 'ON', + 10606 => 'ON', + 10607 => 'ON', + 10608 => 'ON', + 10609 => 'ON', + 10610 => 'ON', + 10611 => 'ON', + 10612 => 'ON', + 10613 => 'ON', + 10614 => 'ON', + 10615 => 'ON', + 10616 => 'ON', + 10617 => 'ON', + 10618 => 'ON', + 10619 => 'ON', + 10620 => 'ON', + 10621 => 'ON', + 10622 => 'ON', + 10623 => 'ON', + 10624 => 'ON', + 10625 => 'ON', + 10626 => 'ON', + 10627 => 'ON', + 10628 => 'ON', + 10629 => 'ON', + 10630 => 'ON', + 10631 => 'ON', + 10632 => 'ON', + 10633 => 'ON', + 10634 => 'ON', + 10635 => 'ON', + 10636 => 'ON', + 10637 => 'ON', + 10638 => 'ON', + 10639 => 'ON', + 10640 => 'ON', + 10641 => 'ON', + 10642 => 'ON', + 10643 => 'ON', + 10644 => 'ON', + 10645 => 'ON', + 10646 => 'ON', + 10647 => 'ON', + 10648 => 'ON', + 10649 => 'ON', + 10650 => 'ON', + 10651 => 'ON', + 10652 => 'ON', + 10653 => 'ON', + 10654 => 'ON', + 10655 => 'ON', + 10656 => 'ON', + 10657 => 'ON', + 10658 => 'ON', + 10659 => 'ON', + 10660 => 'ON', + 10661 => 'ON', + 10662 => 'ON', + 10663 => 'ON', + 10664 => 'ON', + 10665 => 'ON', + 10666 => 'ON', + 10667 => 'ON', + 10668 => 'ON', + 10669 => 'ON', + 10670 => 'ON', + 10671 => 'ON', + 10672 => 'ON', + 10673 => 'ON', + 10674 => 'ON', + 10675 => 'ON', + 10676 => 'ON', + 10677 => 'ON', + 10678 => 'ON', + 10679 => 'ON', + 10680 => 'ON', + 10681 => 'ON', + 10682 => 'ON', + 10683 => 'ON', + 10684 => 'ON', + 10685 => 'ON', + 10686 => 'ON', + 10687 => 'ON', + 10688 => 'ON', + 10689 => 'ON', + 10690 => 'ON', + 10691 => 'ON', + 10692 => 'ON', + 10693 => 'ON', + 10694 => 'ON', + 10695 => 'ON', + 10696 => 'ON', + 10697 => 'ON', + 10698 => 'ON', + 10699 => 'ON', + 10700 => 'ON', + 10701 => 'ON', + 10702 => 'ON', + 10703 => 'ON', + 10704 => 'ON', + 10705 => 'ON', + 10706 => 'ON', + 10707 => 'ON', + 10708 => 'ON', + 10709 => 'ON', + 10710 => 'ON', + 10711 => 'ON', + 10712 => 'ON', + 10713 => 'ON', + 10714 => 'ON', + 10715 => 'ON', + 10716 => 'ON', + 10717 => 'ON', + 10718 => 'ON', + 10719 => 'ON', + 10720 => 'ON', + 10721 => 'ON', + 10722 => 'ON', + 10723 => 'ON', + 10724 => 'ON', + 10725 => 'ON', + 10726 => 'ON', + 10727 => 'ON', + 10728 => 'ON', + 10729 => 'ON', + 10730 => 'ON', + 10731 => 'ON', + 10732 => 'ON', + 10733 => 'ON', + 10734 => 'ON', + 10735 => 'ON', + 10736 => 'ON', + 10737 => 'ON', + 10738 => 'ON', + 10739 => 'ON', + 10740 => 'ON', + 10741 => 'ON', + 10742 => 'ON', + 10743 => 'ON', + 10744 => 'ON', + 10745 => 'ON', + 10746 => 'ON', + 10747 => 'ON', + 10748 => 'ON', + 10749 => 'ON', + 10750 => 'ON', + 10751 => 'ON', + 10752 => 'ON', + 10753 => 'ON', + 10754 => 'ON', + 10755 => 'ON', + 10756 => 'ON', + 10757 => 'ON', + 10758 => 'ON', + 10759 => 'ON', + 10760 => 'ON', + 10761 => 'ON', + 10762 => 'ON', + 10763 => 'ON', + 10764 => 'ON', + 10765 => 'ON', + 10766 => 'ON', + 10767 => 'ON', + 10768 => 'ON', + 10769 => 'ON', + 10770 => 'ON', + 10771 => 'ON', + 10772 => 'ON', + 10773 => 'ON', + 10774 => 'ON', + 10775 => 'ON', + 10776 => 'ON', + 10777 => 'ON', + 10778 => 'ON', + 10779 => 'ON', + 10780 => 'ON', + 10781 => 'ON', + 10782 => 'ON', + 10783 => 'ON', + 10784 => 'ON', + 10785 => 'ON', + 10786 => 'ON', + 10787 => 'ON', + 10788 => 'ON', + 10789 => 'ON', + 10790 => 'ON', + 10791 => 'ON', + 10792 => 'ON', + 10793 => 'ON', + 10794 => 'ON', + 10795 => 'ON', + 10796 => 'ON', + 10797 => 'ON', + 10798 => 'ON', + 10799 => 'ON', + 10800 => 'ON', + 10801 => 'ON', + 10802 => 'ON', + 10803 => 'ON', + 10804 => 'ON', + 10805 => 'ON', + 10806 => 'ON', + 10807 => 'ON', + 10808 => 'ON', + 10809 => 'ON', + 10810 => 'ON', + 10811 => 'ON', + 10812 => 'ON', + 10813 => 'ON', + 10814 => 'ON', + 10815 => 'ON', + 10816 => 'ON', + 10817 => 'ON', + 10818 => 'ON', + 10819 => 'ON', + 10820 => 'ON', + 10821 => 'ON', + 10822 => 'ON', + 10823 => 'ON', + 10824 => 'ON', + 10825 => 'ON', + 10826 => 'ON', + 10827 => 'ON', + 10828 => 'ON', + 10829 => 'ON', + 10830 => 'ON', + 10831 => 'ON', + 10832 => 'ON', + 10833 => 'ON', + 10834 => 'ON', + 10835 => 'ON', + 10836 => 'ON', + 10837 => 'ON', + 10838 => 'ON', + 10839 => 'ON', + 10840 => 'ON', + 10841 => 'ON', + 10842 => 'ON', + 10843 => 'ON', + 10844 => 'ON', + 10845 => 'ON', + 10846 => 'ON', + 10847 => 'ON', + 10848 => 'ON', + 10849 => 'ON', + 10850 => 'ON', + 10851 => 'ON', + 10852 => 'ON', + 10853 => 'ON', + 10854 => 'ON', + 10855 => 'ON', + 10856 => 'ON', + 10857 => 'ON', + 10858 => 'ON', + 10859 => 'ON', + 10860 => 'ON', + 10861 => 'ON', + 10862 => 'ON', + 10863 => 'ON', + 10864 => 'ON', + 10865 => 'ON', + 10866 => 'ON', + 10867 => 'ON', + 10868 => 'ON', + 10869 => 'ON', + 10870 => 'ON', + 10871 => 'ON', + 10872 => 'ON', + 10873 => 'ON', + 10874 => 'ON', + 10875 => 'ON', + 10876 => 'ON', + 10877 => 'ON', + 10878 => 'ON', + 10879 => 'ON', + 10880 => 'ON', + 10881 => 'ON', + 10882 => 'ON', + 10883 => 'ON', + 10884 => 'ON', + 10885 => 'ON', + 10886 => 'ON', + 10887 => 'ON', + 10888 => 'ON', + 10889 => 'ON', + 10890 => 'ON', + 10891 => 'ON', + 10892 => 'ON', + 10893 => 'ON', + 10894 => 'ON', + 10895 => 'ON', + 10896 => 'ON', + 10897 => 'ON', + 10898 => 'ON', + 10899 => 'ON', + 10900 => 'ON', + 10901 => 'ON', + 10902 => 'ON', + 10903 => 'ON', + 10904 => 'ON', + 10905 => 'ON', + 10906 => 'ON', + 10907 => 'ON', + 10908 => 'ON', + 10909 => 'ON', + 10910 => 'ON', + 10911 => 'ON', + 10912 => 'ON', + 10913 => 'ON', + 10914 => 'ON', + 10915 => 'ON', + 10916 => 'ON', + 10917 => 'ON', + 10918 => 'ON', + 10919 => 'ON', + 10920 => 'ON', + 10921 => 'ON', + 10922 => 'ON', + 10923 => 'ON', + 10924 => 'ON', + 10925 => 'ON', + 10926 => 'ON', + 10927 => 'ON', + 10928 => 'ON', + 10929 => 'ON', + 10930 => 'ON', + 10931 => 'ON', + 10932 => 'ON', + 10933 => 'ON', + 10934 => 'ON', + 10935 => 'ON', + 10936 => 'ON', + 10937 => 'ON', + 10938 => 'ON', + 10939 => 'ON', + 10940 => 'ON', + 10941 => 'ON', + 10942 => 'ON', + 10943 => 'ON', + 10944 => 'ON', + 10945 => 'ON', + 10946 => 'ON', + 10947 => 'ON', + 10948 => 'ON', + 10949 => 'ON', + 10950 => 'ON', + 10951 => 'ON', + 10952 => 'ON', + 10953 => 'ON', + 10954 => 'ON', + 10955 => 'ON', + 10956 => 'ON', + 10957 => 'ON', + 10958 => 'ON', + 10959 => 'ON', + 10960 => 'ON', + 10961 => 'ON', + 10962 => 'ON', + 10963 => 'ON', + 10964 => 'ON', + 10965 => 'ON', + 10966 => 'ON', + 10967 => 'ON', + 10968 => 'ON', + 10969 => 'ON', + 10970 => 'ON', + 10971 => 'ON', + 10972 => 'ON', + 10973 => 'ON', + 10974 => 'ON', + 10975 => 'ON', + 10976 => 'ON', + 10977 => 'ON', + 10978 => 'ON', + 10979 => 'ON', + 10980 => 'ON', + 10981 => 'ON', + 10982 => 'ON', + 10983 => 'ON', + 10984 => 'ON', + 10985 => 'ON', + 10986 => 'ON', + 10987 => 'ON', + 10988 => 'ON', + 10989 => 'ON', + 10990 => 'ON', + 10991 => 'ON', + 10992 => 'ON', + 10993 => 'ON', + 10994 => 'ON', + 10995 => 'ON', + 10996 => 'ON', + 10997 => 'ON', + 10998 => 'ON', + 10999 => 'ON', + 11000 => 'ON', + 11001 => 'ON', + 11002 => 'ON', + 11003 => 'ON', + 11004 => 'ON', + 11005 => 'ON', + 11006 => 'ON', + 11007 => 'ON', + 11008 => 'ON', + 11009 => 'ON', + 11010 => 'ON', + 11011 => 'ON', + 11012 => 'ON', + 11013 => 'ON', + 11014 => 'ON', + 11015 => 'ON', + 11016 => 'ON', + 11017 => 'ON', + 11018 => 'ON', + 11019 => 'ON', + 11020 => 'ON', + 11021 => 'ON', + 11022 => 'ON', + 11023 => 'ON', + 11024 => 'ON', + 11025 => 'ON', + 11026 => 'ON', + 11027 => 'ON', + 11028 => 'ON', + 11029 => 'ON', + 11030 => 'ON', + 11031 => 'ON', + 11032 => 'ON', + 11033 => 'ON', + 11034 => 'ON', + 11040 => 'ON', + 11041 => 'ON', + 11042 => 'ON', + 11043 => 'ON', + 11264 => 'L', + 11265 => 'L', + 11266 => 'L', + 11267 => 'L', + 11268 => 'L', + 11269 => 'L', + 11270 => 'L', + 11271 => 'L', + 11272 => 'L', + 11273 => 'L', + 11274 => 'L', + 11275 => 'L', + 11276 => 'L', + 11277 => 'L', + 11278 => 'L', + 11279 => 'L', + 11280 => 'L', + 11281 => 'L', + 11282 => 'L', + 11283 => 'L', + 11284 => 'L', + 11285 => 'L', + 11286 => 'L', + 11287 => 'L', + 11288 => 'L', + 11289 => 'L', + 11290 => 'L', + 11291 => 'L', + 11292 => 'L', + 11293 => 'L', + 11294 => 'L', + 11295 => 'L', + 11296 => 'L', + 11297 => 'L', + 11298 => 'L', + 11299 => 'L', + 11300 => 'L', + 11301 => 'L', + 11302 => 'L', + 11303 => 'L', + 11304 => 'L', + 11305 => 'L', + 11306 => 'L', + 11307 => 'L', + 11308 => 'L', + 11309 => 'L', + 11310 => 'L', + 11312 => 'L', + 11313 => 'L', + 11314 => 'L', + 11315 => 'L', + 11316 => 'L', + 11317 => 'L', + 11318 => 'L', + 11319 => 'L', + 11320 => 'L', + 11321 => 'L', + 11322 => 'L', + 11323 => 'L', + 11324 => 'L', + 11325 => 'L', + 11326 => 'L', + 11327 => 'L', + 11328 => 'L', + 11329 => 'L', + 11330 => 'L', + 11331 => 'L', + 11332 => 'L', + 11333 => 'L', + 11334 => 'L', + 11335 => 'L', + 11336 => 'L', + 11337 => 'L', + 11338 => 'L', + 11339 => 'L', + 11340 => 'L', + 11341 => 'L', + 11342 => 'L', + 11343 => 'L', + 11344 => 'L', + 11345 => 'L', + 11346 => 'L', + 11347 => 'L', + 11348 => 'L', + 11349 => 'L', + 11350 => 'L', + 11351 => 'L', + 11352 => 'L', + 11353 => 'L', + 11354 => 'L', + 11355 => 'L', + 11356 => 'L', + 11357 => 'L', + 11358 => 'L', + 11360 => 'L', + 11361 => 'L', + 11362 => 'L', + 11363 => 'L', + 11364 => 'L', + 11365 => 'L', + 11366 => 'L', + 11367 => 'L', + 11368 => 'L', + 11369 => 'L', + 11370 => 'L', + 11371 => 'L', + 11372 => 'L', + 11380 => 'L', + 11381 => 'L', + 11382 => 'L', + 11383 => 'L', + 11392 => 'L', + 11393 => 'L', + 11394 => 'L', + 11395 => 'L', + 11396 => 'L', + 11397 => 'L', + 11398 => 'L', + 11399 => 'L', + 11400 => 'L', + 11401 => 'L', + 11402 => 'L', + 11403 => 'L', + 11404 => 'L', + 11405 => 'L', + 11406 => 'L', + 11407 => 'L', + 11408 => 'L', + 11409 => 'L', + 11410 => 'L', + 11411 => 'L', + 11412 => 'L', + 11413 => 'L', + 11414 => 'L', + 11415 => 'L', + 11416 => 'L', + 11417 => 'L', + 11418 => 'L', + 11419 => 'L', + 11420 => 'L', + 11421 => 'L', + 11422 => 'L', + 11423 => 'L', + 11424 => 'L', + 11425 => 'L', + 11426 => 'L', + 11427 => 'L', + 11428 => 'L', + 11429 => 'L', + 11430 => 'L', + 11431 => 'L', + 11432 => 'L', + 11433 => 'L', + 11434 => 'L', + 11435 => 'L', + 11436 => 'L', + 11437 => 'L', + 11438 => 'L', + 11439 => 'L', + 11440 => 'L', + 11441 => 'L', + 11442 => 'L', + 11443 => 'L', + 11444 => 'L', + 11445 => 'L', + 11446 => 'L', + 11447 => 'L', + 11448 => 'L', + 11449 => 'L', + 11450 => 'L', + 11451 => 'L', + 11452 => 'L', + 11453 => 'L', + 11454 => 'L', + 11455 => 'L', + 11456 => 'L', + 11457 => 'L', + 11458 => 'L', + 11459 => 'L', + 11460 => 'L', + 11461 => 'L', + 11462 => 'L', + 11463 => 'L', + 11464 => 'L', + 11465 => 'L', + 11466 => 'L', + 11467 => 'L', + 11468 => 'L', + 11469 => 'L', + 11470 => 'L', + 11471 => 'L', + 11472 => 'L', + 11473 => 'L', + 11474 => 'L', + 11475 => 'L', + 11476 => 'L', + 11477 => 'L', + 11478 => 'L', + 11479 => 'L', + 11480 => 'L', + 11481 => 'L', + 11482 => 'L', + 11483 => 'L', + 11484 => 'L', + 11485 => 'L', + 11486 => 'L', + 11487 => 'L', + 11488 => 'L', + 11489 => 'L', + 11490 => 'L', + 11491 => 'L', + 11492 => 'L', + 11493 => 'ON', + 11494 => 'ON', + 11495 => 'ON', + 11496 => 'ON', + 11497 => 'ON', + 11498 => 'ON', + 11513 => 'ON', + 11514 => 'ON', + 11515 => 'ON', + 11516 => 'ON', + 11517 => 'ON', + 11518 => 'ON', + 11519 => 'ON', + 11520 => 'L', + 11521 => 'L', + 11522 => 'L', + 11523 => 'L', + 11524 => 'L', + 11525 => 'L', + 11526 => 'L', + 11527 => 'L', + 11528 => 'L', + 11529 => 'L', + 11530 => 'L', + 11531 => 'L', + 11532 => 'L', + 11533 => 'L', + 11534 => 'L', + 11535 => 'L', + 11536 => 'L', + 11537 => 'L', + 11538 => 'L', + 11539 => 'L', + 11540 => 'L', + 11541 => 'L', + 11542 => 'L', + 11543 => 'L', + 11544 => 'L', + 11545 => 'L', + 11546 => 'L', + 11547 => 'L', + 11548 => 'L', + 11549 => 'L', + 11550 => 'L', + 11551 => 'L', + 11552 => 'L', + 11553 => 'L', + 11554 => 'L', + 11555 => 'L', + 11556 => 'L', + 11557 => 'L', + 11568 => 'L', + 11569 => 'L', + 11570 => 'L', + 11571 => 'L', + 11572 => 'L', + 11573 => 'L', + 11574 => 'L', + 11575 => 'L', + 11576 => 'L', + 11577 => 'L', + 11578 => 'L', + 11579 => 'L', + 11580 => 'L', + 11581 => 'L', + 11582 => 'L', + 11583 => 'L', + 11584 => 'L', + 11585 => 'L', + 11586 => 'L', + 11587 => 'L', + 11588 => 'L', + 11589 => 'L', + 11590 => 'L', + 11591 => 'L', + 11592 => 'L', + 11593 => 'L', + 11594 => 'L', + 11595 => 'L', + 11596 => 'L', + 11597 => 'L', + 11598 => 'L', + 11599 => 'L', + 11600 => 'L', + 11601 => 'L', + 11602 => 'L', + 11603 => 'L', + 11604 => 'L', + 11605 => 'L', + 11606 => 'L', + 11607 => 'L', + 11608 => 'L', + 11609 => 'L', + 11610 => 'L', + 11611 => 'L', + 11612 => 'L', + 11613 => 'L', + 11614 => 'L', + 11615 => 'L', + 11616 => 'L', + 11617 => 'L', + 11618 => 'L', + 11619 => 'L', + 11620 => 'L', + 11621 => 'L', + 11631 => 'L', + 11648 => 'L', + 11649 => 'L', + 11650 => 'L', + 11651 => 'L', + 11652 => 'L', + 11653 => 'L', + 11654 => 'L', + 11655 => 'L', + 11656 => 'L', + 11657 => 'L', + 11658 => 'L', + 11659 => 'L', + 11660 => 'L', + 11661 => 'L', + 11662 => 'L', + 11663 => 'L', + 11664 => 'L', + 11665 => 'L', + 11666 => 'L', + 11667 => 'L', + 11668 => 'L', + 11669 => 'L', + 11670 => 'L', + 11680 => 'L', + 11681 => 'L', + 11682 => 'L', + 11683 => 'L', + 11684 => 'L', + 11685 => 'L', + 11686 => 'L', + 11688 => 'L', + 11689 => 'L', + 11690 => 'L', + 11691 => 'L', + 11692 => 'L', + 11693 => 'L', + 11694 => 'L', + 11696 => 'L', + 11697 => 'L', + 11698 => 'L', + 11699 => 'L', + 11700 => 'L', + 11701 => 'L', + 11702 => 'L', + 11704 => 'L', + 11705 => 'L', + 11706 => 'L', + 11707 => 'L', + 11708 => 'L', + 11709 => 'L', + 11710 => 'L', + 11712 => 'L', + 11713 => 'L', + 11714 => 'L', + 11715 => 'L', + 11716 => 'L', + 11717 => 'L', + 11718 => 'L', + 11720 => 'L', + 11721 => 'L', + 11722 => 'L', + 11723 => 'L', + 11724 => 'L', + 11725 => 'L', + 11726 => 'L', + 11728 => 'L', + 11729 => 'L', + 11730 => 'L', + 11731 => 'L', + 11732 => 'L', + 11733 => 'L', + 11734 => 'L', + 11736 => 'L', + 11737 => 'L', + 11738 => 'L', + 11739 => 'L', + 11740 => 'L', + 11741 => 'L', + 11742 => 'L', + 11776 => 'ON', + 11777 => 'ON', + 11778 => 'ON', + 11779 => 'ON', + 11780 => 'ON', + 11781 => 'ON', + 11782 => 'ON', + 11783 => 'ON', + 11784 => 'ON', + 11785 => 'ON', + 11786 => 'ON', + 11787 => 'ON', + 11788 => 'ON', + 11789 => 'ON', + 11790 => 'ON', + 11791 => 'ON', + 11792 => 'ON', + 11793 => 'ON', + 11794 => 'ON', + 11795 => 'ON', + 11796 => 'ON', + 11797 => 'ON', + 11798 => 'ON', + 11799 => 'ON', + 11804 => 'ON', + 11805 => 'ON', + 11904 => 'ON', + 11905 => 'ON', + 11906 => 'ON', + 11907 => 'ON', + 11908 => 'ON', + 11909 => 'ON', + 11910 => 'ON', + 11911 => 'ON', + 11912 => 'ON', + 11913 => 'ON', + 11914 => 'ON', + 11915 => 'ON', + 11916 => 'ON', + 11917 => 'ON', + 11918 => 'ON', + 11919 => 'ON', + 11920 => 'ON', + 11921 => 'ON', + 11922 => 'ON', + 11923 => 'ON', + 11924 => 'ON', + 11925 => 'ON', + 11926 => 'ON', + 11927 => 'ON', + 11928 => 'ON', + 11929 => 'ON', + 11931 => 'ON', + 11932 => 'ON', + 11933 => 'ON', + 11934 => 'ON', + 11935 => 'ON', + 11936 => 'ON', + 11937 => 'ON', + 11938 => 'ON', + 11939 => 'ON', + 11940 => 'ON', + 11941 => 'ON', + 11942 => 'ON', + 11943 => 'ON', + 11944 => 'ON', + 11945 => 'ON', + 11946 => 'ON', + 11947 => 'ON', + 11948 => 'ON', + 11949 => 'ON', + 11950 => 'ON', + 11951 => 'ON', + 11952 => 'ON', + 11953 => 'ON', + 11954 => 'ON', + 11955 => 'ON', + 11956 => 'ON', + 11957 => 'ON', + 11958 => 'ON', + 11959 => 'ON', + 11960 => 'ON', + 11961 => 'ON', + 11962 => 'ON', + 11963 => 'ON', + 11964 => 'ON', + 11965 => 'ON', + 11966 => 'ON', + 11967 => 'ON', + 11968 => 'ON', + 11969 => 'ON', + 11970 => 'ON', + 11971 => 'ON', + 11972 => 'ON', + 11973 => 'ON', + 11974 => 'ON', + 11975 => 'ON', + 11976 => 'ON', + 11977 => 'ON', + 11978 => 'ON', + 11979 => 'ON', + 11980 => 'ON', + 11981 => 'ON', + 11982 => 'ON', + 11983 => 'ON', + 11984 => 'ON', + 11985 => 'ON', + 11986 => 'ON', + 11987 => 'ON', + 11988 => 'ON', + 11989 => 'ON', + 11990 => 'ON', + 11991 => 'ON', + 11992 => 'ON', + 11993 => 'ON', + 11994 => 'ON', + 11995 => 'ON', + 11996 => 'ON', + 11997 => 'ON', + 11998 => 'ON', + 11999 => 'ON', + 12000 => 'ON', + 12001 => 'ON', + 12002 => 'ON', + 12003 => 'ON', + 12004 => 'ON', + 12005 => 'ON', + 12006 => 'ON', + 12007 => 'ON', + 12008 => 'ON', + 12009 => 'ON', + 12010 => 'ON', + 12011 => 'ON', + 12012 => 'ON', + 12013 => 'ON', + 12014 => 'ON', + 12015 => 'ON', + 12016 => 'ON', + 12017 => 'ON', + 12018 => 'ON', + 12019 => 'ON', + 12032 => 'ON', + 12033 => 'ON', + 12034 => 'ON', + 12035 => 'ON', + 12036 => 'ON', + 12037 => 'ON', + 12038 => 'ON', + 12039 => 'ON', + 12040 => 'ON', + 12041 => 'ON', + 12042 => 'ON', + 12043 => 'ON', + 12044 => 'ON', + 12045 => 'ON', + 12046 => 'ON', + 12047 => 'ON', + 12048 => 'ON', + 12049 => 'ON', + 12050 => 'ON', + 12051 => 'ON', + 12052 => 'ON', + 12053 => 'ON', + 12054 => 'ON', + 12055 => 'ON', + 12056 => 'ON', + 12057 => 'ON', + 12058 => 'ON', + 12059 => 'ON', + 12060 => 'ON', + 12061 => 'ON', + 12062 => 'ON', + 12063 => 'ON', + 12064 => 'ON', + 12065 => 'ON', + 12066 => 'ON', + 12067 => 'ON', + 12068 => 'ON', + 12069 => 'ON', + 12070 => 'ON', + 12071 => 'ON', + 12072 => 'ON', + 12073 => 'ON', + 12074 => 'ON', + 12075 => 'ON', + 12076 => 'ON', + 12077 => 'ON', + 12078 => 'ON', + 12079 => 'ON', + 12080 => 'ON', + 12081 => 'ON', + 12082 => 'ON', + 12083 => 'ON', + 12084 => 'ON', + 12085 => 'ON', + 12086 => 'ON', + 12087 => 'ON', + 12088 => 'ON', + 12089 => 'ON', + 12090 => 'ON', + 12091 => 'ON', + 12092 => 'ON', + 12093 => 'ON', + 12094 => 'ON', + 12095 => 'ON', + 12096 => 'ON', + 12097 => 'ON', + 12098 => 'ON', + 12099 => 'ON', + 12100 => 'ON', + 12101 => 'ON', + 12102 => 'ON', + 12103 => 'ON', + 12104 => 'ON', + 12105 => 'ON', + 12106 => 'ON', + 12107 => 'ON', + 12108 => 'ON', + 12109 => 'ON', + 12110 => 'ON', + 12111 => 'ON', + 12112 => 'ON', + 12113 => 'ON', + 12114 => 'ON', + 12115 => 'ON', + 12116 => 'ON', + 12117 => 'ON', + 12118 => 'ON', + 12119 => 'ON', + 12120 => 'ON', + 12121 => 'ON', + 12122 => 'ON', + 12123 => 'ON', + 12124 => 'ON', + 12125 => 'ON', + 12126 => 'ON', + 12127 => 'ON', + 12128 => 'ON', + 12129 => 'ON', + 12130 => 'ON', + 12131 => 'ON', + 12132 => 'ON', + 12133 => 'ON', + 12134 => 'ON', + 12135 => 'ON', + 12136 => 'ON', + 12137 => 'ON', + 12138 => 'ON', + 12139 => 'ON', + 12140 => 'ON', + 12141 => 'ON', + 12142 => 'ON', + 12143 => 'ON', + 12144 => 'ON', + 12145 => 'ON', + 12146 => 'ON', + 12147 => 'ON', + 12148 => 'ON', + 12149 => 'ON', + 12150 => 'ON', + 12151 => 'ON', + 12152 => 'ON', + 12153 => 'ON', + 12154 => 'ON', + 12155 => 'ON', + 12156 => 'ON', + 12157 => 'ON', + 12158 => 'ON', + 12159 => 'ON', + 12160 => 'ON', + 12161 => 'ON', + 12162 => 'ON', + 12163 => 'ON', + 12164 => 'ON', + 12165 => 'ON', + 12166 => 'ON', + 12167 => 'ON', + 12168 => 'ON', + 12169 => 'ON', + 12170 => 'ON', + 12171 => 'ON', + 12172 => 'ON', + 12173 => 'ON', + 12174 => 'ON', + 12175 => 'ON', + 12176 => 'ON', + 12177 => 'ON', + 12178 => 'ON', + 12179 => 'ON', + 12180 => 'ON', + 12181 => 'ON', + 12182 => 'ON', + 12183 => 'ON', + 12184 => 'ON', + 12185 => 'ON', + 12186 => 'ON', + 12187 => 'ON', + 12188 => 'ON', + 12189 => 'ON', + 12190 => 'ON', + 12191 => 'ON', + 12192 => 'ON', + 12193 => 'ON', + 12194 => 'ON', + 12195 => 'ON', + 12196 => 'ON', + 12197 => 'ON', + 12198 => 'ON', + 12199 => 'ON', + 12200 => 'ON', + 12201 => 'ON', + 12202 => 'ON', + 12203 => 'ON', + 12204 => 'ON', + 12205 => 'ON', + 12206 => 'ON', + 12207 => 'ON', + 12208 => 'ON', + 12209 => 'ON', + 12210 => 'ON', + 12211 => 'ON', + 12212 => 'ON', + 12213 => 'ON', + 12214 => 'ON', + 12215 => 'ON', + 12216 => 'ON', + 12217 => 'ON', + 12218 => 'ON', + 12219 => 'ON', + 12220 => 'ON', + 12221 => 'ON', + 12222 => 'ON', + 12223 => 'ON', + 12224 => 'ON', + 12225 => 'ON', + 12226 => 'ON', + 12227 => 'ON', + 12228 => 'ON', + 12229 => 'ON', + 12230 => 'ON', + 12231 => 'ON', + 12232 => 'ON', + 12233 => 'ON', + 12234 => 'ON', + 12235 => 'ON', + 12236 => 'ON', + 12237 => 'ON', + 12238 => 'ON', + 12239 => 'ON', + 12240 => 'ON', + 12241 => 'ON', + 12242 => 'ON', + 12243 => 'ON', + 12244 => 'ON', + 12245 => 'ON', + 12272 => 'ON', + 12273 => 'ON', + 12274 => 'ON', + 12275 => 'ON', + 12276 => 'ON', + 12277 => 'ON', + 12278 => 'ON', + 12279 => 'ON', + 12280 => 'ON', + 12281 => 'ON', + 12282 => 'ON', + 12283 => 'ON', + 12288 => 'WS', + 12289 => 'ON', + 12290 => 'ON', + 12291 => 'ON', + 12292 => 'ON', + 12293 => 'L', + 12294 => 'L', + 12295 => 'L', + 12296 => 'ON', + 12297 => 'ON', + 12298 => 'ON', + 12299 => 'ON', + 12300 => 'ON', + 12301 => 'ON', + 12302 => 'ON', + 12303 => 'ON', + 12304 => 'ON', + 12305 => 'ON', + 12306 => 'ON', + 12307 => 'ON', + 12308 => 'ON', + 12309 => 'ON', + 12310 => 'ON', + 12311 => 'ON', + 12312 => 'ON', + 12313 => 'ON', + 12314 => 'ON', + 12315 => 'ON', + 12316 => 'ON', + 12317 => 'ON', + 12318 => 'ON', + 12319 => 'ON', + 12320 => 'ON', + 12321 => 'L', + 12322 => 'L', + 12323 => 'L', + 12324 => 'L', + 12325 => 'L', + 12326 => 'L', + 12327 => 'L', + 12328 => 'L', + 12329 => 'L', + 12330 => 'NSM', + 12331 => 'NSM', + 12332 => 'NSM', + 12333 => 'NSM', + 12334 => 'NSM', + 12335 => 'NSM', + 12336 => 'ON', + 12337 => 'L', + 12338 => 'L', + 12339 => 'L', + 12340 => 'L', + 12341 => 'L', + 12342 => 'ON', + 12343 => 'ON', + 12344 => 'L', + 12345 => 'L', + 12346 => 'L', + 12347 => 'L', + 12348 => 'L', + 12349 => 'ON', + 12350 => 'ON', + 12351 => 'ON', + 12353 => 'L', + 12354 => 'L', + 12355 => 'L', + 12356 => 'L', + 12357 => 'L', + 12358 => 'L', + 12359 => 'L', + 12360 => 'L', + 12361 => 'L', + 12362 => 'L', + 12363 => 'L', + 12364 => 'L', + 12365 => 'L', + 12366 => 'L', + 12367 => 'L', + 12368 => 'L', + 12369 => 'L', + 12370 => 'L', + 12371 => 'L', + 12372 => 'L', + 12373 => 'L', + 12374 => 'L', + 12375 => 'L', + 12376 => 'L', + 12377 => 'L', + 12378 => 'L', + 12379 => 'L', + 12380 => 'L', + 12381 => 'L', + 12382 => 'L', + 12383 => 'L', + 12384 => 'L', + 12385 => 'L', + 12386 => 'L', + 12387 => 'L', + 12388 => 'L', + 12389 => 'L', + 12390 => 'L', + 12391 => 'L', + 12392 => 'L', + 12393 => 'L', + 12394 => 'L', + 12395 => 'L', + 12396 => 'L', + 12397 => 'L', + 12398 => 'L', + 12399 => 'L', + 12400 => 'L', + 12401 => 'L', + 12402 => 'L', + 12403 => 'L', + 12404 => 'L', + 12405 => 'L', + 12406 => 'L', + 12407 => 'L', + 12408 => 'L', + 12409 => 'L', + 12410 => 'L', + 12411 => 'L', + 12412 => 'L', + 12413 => 'L', + 12414 => 'L', + 12415 => 'L', + 12416 => 'L', + 12417 => 'L', + 12418 => 'L', + 12419 => 'L', + 12420 => 'L', + 12421 => 'L', + 12422 => 'L', + 12423 => 'L', + 12424 => 'L', + 12425 => 'L', + 12426 => 'L', + 12427 => 'L', + 12428 => 'L', + 12429 => 'L', + 12430 => 'L', + 12431 => 'L', + 12432 => 'L', + 12433 => 'L', + 12434 => 'L', + 12435 => 'L', + 12436 => 'L', + 12437 => 'L', + 12438 => 'L', + 12441 => 'NSM', + 12442 => 'NSM', + 12443 => 'ON', + 12444 => 'ON', + 12445 => 'L', + 12446 => 'L', + 12447 => 'L', + 12448 => 'ON', + 12449 => 'L', + 12450 => 'L', + 12451 => 'L', + 12452 => 'L', + 12453 => 'L', + 12454 => 'L', + 12455 => 'L', + 12456 => 'L', + 12457 => 'L', + 12458 => 'L', + 12459 => 'L', + 12460 => 'L', + 12461 => 'L', + 12462 => 'L', + 12463 => 'L', + 12464 => 'L', + 12465 => 'L', + 12466 => 'L', + 12467 => 'L', + 12468 => 'L', + 12469 => 'L', + 12470 => 'L', + 12471 => 'L', + 12472 => 'L', + 12473 => 'L', + 12474 => 'L', + 12475 => 'L', + 12476 => 'L', + 12477 => 'L', + 12478 => 'L', + 12479 => 'L', + 12480 => 'L', + 12481 => 'L', + 12482 => 'L', + 12483 => 'L', + 12484 => 'L', + 12485 => 'L', + 12486 => 'L', + 12487 => 'L', + 12488 => 'L', + 12489 => 'L', + 12490 => 'L', + 12491 => 'L', + 12492 => 'L', + 12493 => 'L', + 12494 => 'L', + 12495 => 'L', + 12496 => 'L', + 12497 => 'L', + 12498 => 'L', + 12499 => 'L', + 12500 => 'L', + 12501 => 'L', + 12502 => 'L', + 12503 => 'L', + 12504 => 'L', + 12505 => 'L', + 12506 => 'L', + 12507 => 'L', + 12508 => 'L', + 12509 => 'L', + 12510 => 'L', + 12511 => 'L', + 12512 => 'L', + 12513 => 'L', + 12514 => 'L', + 12515 => 'L', + 12516 => 'L', + 12517 => 'L', + 12518 => 'L', + 12519 => 'L', + 12520 => 'L', + 12521 => 'L', + 12522 => 'L', + 12523 => 'L', + 12524 => 'L', + 12525 => 'L', + 12526 => 'L', + 12527 => 'L', + 12528 => 'L', + 12529 => 'L', + 12530 => 'L', + 12531 => 'L', + 12532 => 'L', + 12533 => 'L', + 12534 => 'L', + 12535 => 'L', + 12536 => 'L', + 12537 => 'L', + 12538 => 'L', + 12539 => 'ON', + 12540 => 'L', + 12541 => 'L', + 12542 => 'L', + 12543 => 'L', + 12549 => 'L', + 12550 => 'L', + 12551 => 'L', + 12552 => 'L', + 12553 => 'L', + 12554 => 'L', + 12555 => 'L', + 12556 => 'L', + 12557 => 'L', + 12558 => 'L', + 12559 => 'L', + 12560 => 'L', + 12561 => 'L', + 12562 => 'L', + 12563 => 'L', + 12564 => 'L', + 12565 => 'L', + 12566 => 'L', + 12567 => 'L', + 12568 => 'L', + 12569 => 'L', + 12570 => 'L', + 12571 => 'L', + 12572 => 'L', + 12573 => 'L', + 12574 => 'L', + 12575 => 'L', + 12576 => 'L', + 12577 => 'L', + 12578 => 'L', + 12579 => 'L', + 12580 => 'L', + 12581 => 'L', + 12582 => 'L', + 12583 => 'L', + 12584 => 'L', + 12585 => 'L', + 12586 => 'L', + 12587 => 'L', + 12588 => 'L', + 12593 => 'L', + 12594 => 'L', + 12595 => 'L', + 12596 => 'L', + 12597 => 'L', + 12598 => 'L', + 12599 => 'L', + 12600 => 'L', + 12601 => 'L', + 12602 => 'L', + 12603 => 'L', + 12604 => 'L', + 12605 => 'L', + 12606 => 'L', + 12607 => 'L', + 12608 => 'L', + 12609 => 'L', + 12610 => 'L', + 12611 => 'L', + 12612 => 'L', + 12613 => 'L', + 12614 => 'L', + 12615 => 'L', + 12616 => 'L', + 12617 => 'L', + 12618 => 'L', + 12619 => 'L', + 12620 => 'L', + 12621 => 'L', + 12622 => 'L', + 12623 => 'L', + 12624 => 'L', + 12625 => 'L', + 12626 => 'L', + 12627 => 'L', + 12628 => 'L', + 12629 => 'L', + 12630 => 'L', + 12631 => 'L', + 12632 => 'L', + 12633 => 'L', + 12634 => 'L', + 12635 => 'L', + 12636 => 'L', + 12637 => 'L', + 12638 => 'L', + 12639 => 'L', + 12640 => 'L', + 12641 => 'L', + 12642 => 'L', + 12643 => 'L', + 12644 => 'L', + 12645 => 'L', + 12646 => 'L', + 12647 => 'L', + 12648 => 'L', + 12649 => 'L', + 12650 => 'L', + 12651 => 'L', + 12652 => 'L', + 12653 => 'L', + 12654 => 'L', + 12655 => 'L', + 12656 => 'L', + 12657 => 'L', + 12658 => 'L', + 12659 => 'L', + 12660 => 'L', + 12661 => 'L', + 12662 => 'L', + 12663 => 'L', + 12664 => 'L', + 12665 => 'L', + 12666 => 'L', + 12667 => 'L', + 12668 => 'L', + 12669 => 'L', + 12670 => 'L', + 12671 => 'L', + 12672 => 'L', + 12673 => 'L', + 12674 => 'L', + 12675 => 'L', + 12676 => 'L', + 12677 => 'L', + 12678 => 'L', + 12679 => 'L', + 12680 => 'L', + 12681 => 'L', + 12682 => 'L', + 12683 => 'L', + 12684 => 'L', + 12685 => 'L', + 12686 => 'L', + 12688 => 'L', + 12689 => 'L', + 12690 => 'L', + 12691 => 'L', + 12692 => 'L', + 12693 => 'L', + 12694 => 'L', + 12695 => 'L', + 12696 => 'L', + 12697 => 'L', + 12698 => 'L', + 12699 => 'L', + 12700 => 'L', + 12701 => 'L', + 12702 => 'L', + 12703 => 'L', + 12704 => 'L', + 12705 => 'L', + 12706 => 'L', + 12707 => 'L', + 12708 => 'L', + 12709 => 'L', + 12710 => 'L', + 12711 => 'L', + 12712 => 'L', + 12713 => 'L', + 12714 => 'L', + 12715 => 'L', + 12716 => 'L', + 12717 => 'L', + 12718 => 'L', + 12719 => 'L', + 12720 => 'L', + 12721 => 'L', + 12722 => 'L', + 12723 => 'L', + 12724 => 'L', + 12725 => 'L', + 12726 => 'L', + 12727 => 'L', + 12736 => 'ON', + 12737 => 'ON', + 12738 => 'ON', + 12739 => 'ON', + 12740 => 'ON', + 12741 => 'ON', + 12742 => 'ON', + 12743 => 'ON', + 12744 => 'ON', + 12745 => 'ON', + 12746 => 'ON', + 12747 => 'ON', + 12748 => 'ON', + 12749 => 'ON', + 12750 => 'ON', + 12751 => 'ON', + 12784 => 'L', + 12785 => 'L', + 12786 => 'L', + 12787 => 'L', + 12788 => 'L', + 12789 => 'L', + 12790 => 'L', + 12791 => 'L', + 12792 => 'L', + 12793 => 'L', + 12794 => 'L', + 12795 => 'L', + 12796 => 'L', + 12797 => 'L', + 12798 => 'L', + 12799 => 'L', + 12800 => 'L', + 12801 => 'L', + 12802 => 'L', + 12803 => 'L', + 12804 => 'L', + 12805 => 'L', + 12806 => 'L', + 12807 => 'L', + 12808 => 'L', + 12809 => 'L', + 12810 => 'L', + 12811 => 'L', + 12812 => 'L', + 12813 => 'L', + 12814 => 'L', + 12815 => 'L', + 12816 => 'L', + 12817 => 'L', + 12818 => 'L', + 12819 => 'L', + 12820 => 'L', + 12821 => 'L', + 12822 => 'L', + 12823 => 'L', + 12824 => 'L', + 12825 => 'L', + 12826 => 'L', + 12827 => 'L', + 12828 => 'L', + 12829 => 'ON', + 12830 => 'ON', + 12832 => 'L', + 12833 => 'L', + 12834 => 'L', + 12835 => 'L', + 12836 => 'L', + 12837 => 'L', + 12838 => 'L', + 12839 => 'L', + 12840 => 'L', + 12841 => 'L', + 12842 => 'L', + 12843 => 'L', + 12844 => 'L', + 12845 => 'L', + 12846 => 'L', + 12847 => 'L', + 12848 => 'L', + 12849 => 'L', + 12850 => 'L', + 12851 => 'L', + 12852 => 'L', + 12853 => 'L', + 12854 => 'L', + 12855 => 'L', + 12856 => 'L', + 12857 => 'L', + 12858 => 'L', + 12859 => 'L', + 12860 => 'L', + 12861 => 'L', + 12862 => 'L', + 12863 => 'L', + 12864 => 'L', + 12865 => 'L', + 12866 => 'L', + 12867 => 'L', + 12880 => 'ON', + 12881 => 'ON', + 12882 => 'ON', + 12883 => 'ON', + 12884 => 'ON', + 12885 => 'ON', + 12886 => 'ON', + 12887 => 'ON', + 12888 => 'ON', + 12889 => 'ON', + 12890 => 'ON', + 12891 => 'ON', + 12892 => 'ON', + 12893 => 'ON', + 12894 => 'ON', + 12895 => 'ON', + 12896 => 'L', + 12897 => 'L', + 12898 => 'L', + 12899 => 'L', + 12900 => 'L', + 12901 => 'L', + 12902 => 'L', + 12903 => 'L', + 12904 => 'L', + 12905 => 'L', + 12906 => 'L', + 12907 => 'L', + 12908 => 'L', + 12909 => 'L', + 12910 => 'L', + 12911 => 'L', + 12912 => 'L', + 12913 => 'L', + 12914 => 'L', + 12915 => 'L', + 12916 => 'L', + 12917 => 'L', + 12918 => 'L', + 12919 => 'L', + 12920 => 'L', + 12921 => 'L', + 12922 => 'L', + 12923 => 'L', + 12924 => 'ON', + 12925 => 'ON', + 12926 => 'ON', + 12927 => 'L', + 12928 => 'L', + 12929 => 'L', + 12930 => 'L', + 12931 => 'L', + 12932 => 'L', + 12933 => 'L', + 12934 => 'L', + 12935 => 'L', + 12936 => 'L', + 12937 => 'L', + 12938 => 'L', + 12939 => 'L', + 12940 => 'L', + 12941 => 'L', + 12942 => 'L', + 12943 => 'L', + 12944 => 'L', + 12945 => 'L', + 12946 => 'L', + 12947 => 'L', + 12948 => 'L', + 12949 => 'L', + 12950 => 'L', + 12951 => 'L', + 12952 => 'L', + 12953 => 'L', + 12954 => 'L', + 12955 => 'L', + 12956 => 'L', + 12957 => 'L', + 12958 => 'L', + 12959 => 'L', + 12960 => 'L', + 12961 => 'L', + 12962 => 'L', + 12963 => 'L', + 12964 => 'L', + 12965 => 'L', + 12966 => 'L', + 12967 => 'L', + 12968 => 'L', + 12969 => 'L', + 12970 => 'L', + 12971 => 'L', + 12972 => 'L', + 12973 => 'L', + 12974 => 'L', + 12975 => 'L', + 12976 => 'L', + 12977 => 'ON', + 12978 => 'ON', + 12979 => 'ON', + 12980 => 'ON', + 12981 => 'ON', + 12982 => 'ON', + 12983 => 'ON', + 12984 => 'ON', + 12985 => 'ON', + 12986 => 'ON', + 12987 => 'ON', + 12988 => 'ON', + 12989 => 'ON', + 12990 => 'ON', + 12991 => 'ON', + 12992 => 'L', + 12993 => 'L', + 12994 => 'L', + 12995 => 'L', + 12996 => 'L', + 12997 => 'L', + 12998 => 'L', + 12999 => 'L', + 13000 => 'L', + 13001 => 'L', + 13002 => 'L', + 13003 => 'L', + 13004 => 'ON', + 13005 => 'ON', + 13006 => 'ON', + 13007 => 'ON', + 13008 => 'L', + 13009 => 'L', + 13010 => 'L', + 13011 => 'L', + 13012 => 'L', + 13013 => 'L', + 13014 => 'L', + 13015 => 'L', + 13016 => 'L', + 13017 => 'L', + 13018 => 'L', + 13019 => 'L', + 13020 => 'L', + 13021 => 'L', + 13022 => 'L', + 13023 => 'L', + 13024 => 'L', + 13025 => 'L', + 13026 => 'L', + 13027 => 'L', + 13028 => 'L', + 13029 => 'L', + 13030 => 'L', + 13031 => 'L', + 13032 => 'L', + 13033 => 'L', + 13034 => 'L', + 13035 => 'L', + 13036 => 'L', + 13037 => 'L', + 13038 => 'L', + 13039 => 'L', + 13040 => 'L', + 13041 => 'L', + 13042 => 'L', + 13043 => 'L', + 13044 => 'L', + 13045 => 'L', + 13046 => 'L', + 13047 => 'L', + 13048 => 'L', + 13049 => 'L', + 13050 => 'L', + 13051 => 'L', + 13052 => 'L', + 13053 => 'L', + 13054 => 'L', + 13056 => 'L', + 13057 => 'L', + 13058 => 'L', + 13059 => 'L', + 13060 => 'L', + 13061 => 'L', + 13062 => 'L', + 13063 => 'L', + 13064 => 'L', + 13065 => 'L', + 13066 => 'L', + 13067 => 'L', + 13068 => 'L', + 13069 => 'L', + 13070 => 'L', + 13071 => 'L', + 13072 => 'L', + 13073 => 'L', + 13074 => 'L', + 13075 => 'L', + 13076 => 'L', + 13077 => 'L', + 13078 => 'L', + 13079 => 'L', + 13080 => 'L', + 13081 => 'L', + 13082 => 'L', + 13083 => 'L', + 13084 => 'L', + 13085 => 'L', + 13086 => 'L', + 13087 => 'L', + 13088 => 'L', + 13089 => 'L', + 13090 => 'L', + 13091 => 'L', + 13092 => 'L', + 13093 => 'L', + 13094 => 'L', + 13095 => 'L', + 13096 => 'L', + 13097 => 'L', + 13098 => 'L', + 13099 => 'L', + 13100 => 'L', + 13101 => 'L', + 13102 => 'L', + 13103 => 'L', + 13104 => 'L', + 13105 => 'L', + 13106 => 'L', + 13107 => 'L', + 13108 => 'L', + 13109 => 'L', + 13110 => 'L', + 13111 => 'L', + 13112 => 'L', + 13113 => 'L', + 13114 => 'L', + 13115 => 'L', + 13116 => 'L', + 13117 => 'L', + 13118 => 'L', + 13119 => 'L', + 13120 => 'L', + 13121 => 'L', + 13122 => 'L', + 13123 => 'L', + 13124 => 'L', + 13125 => 'L', + 13126 => 'L', + 13127 => 'L', + 13128 => 'L', + 13129 => 'L', + 13130 => 'L', + 13131 => 'L', + 13132 => 'L', + 13133 => 'L', + 13134 => 'L', + 13135 => 'L', + 13136 => 'L', + 13137 => 'L', + 13138 => 'L', + 13139 => 'L', + 13140 => 'L', + 13141 => 'L', + 13142 => 'L', + 13143 => 'L', + 13144 => 'L', + 13145 => 'L', + 13146 => 'L', + 13147 => 'L', + 13148 => 'L', + 13149 => 'L', + 13150 => 'L', + 13151 => 'L', + 13152 => 'L', + 13153 => 'L', + 13154 => 'L', + 13155 => 'L', + 13156 => 'L', + 13157 => 'L', + 13158 => 'L', + 13159 => 'L', + 13160 => 'L', + 13161 => 'L', + 13162 => 'L', + 13163 => 'L', + 13164 => 'L', + 13165 => 'L', + 13166 => 'L', + 13167 => 'L', + 13168 => 'L', + 13169 => 'L', + 13170 => 'L', + 13171 => 'L', + 13172 => 'L', + 13173 => 'L', + 13174 => 'L', + 13175 => 'ON', + 13176 => 'ON', + 13177 => 'ON', + 13178 => 'ON', + 13179 => 'L', + 13180 => 'L', + 13181 => 'L', + 13182 => 'L', + 13183 => 'L', + 13184 => 'L', + 13185 => 'L', + 13186 => 'L', + 13187 => 'L', + 13188 => 'L', + 13189 => 'L', + 13190 => 'L', + 13191 => 'L', + 13192 => 'L', + 13193 => 'L', + 13194 => 'L', + 13195 => 'L', + 13196 => 'L', + 13197 => 'L', + 13198 => 'L', + 13199 => 'L', + 13200 => 'L', + 13201 => 'L', + 13202 => 'L', + 13203 => 'L', + 13204 => 'L', + 13205 => 'L', + 13206 => 'L', + 13207 => 'L', + 13208 => 'L', + 13209 => 'L', + 13210 => 'L', + 13211 => 'L', + 13212 => 'L', + 13213 => 'L', + 13214 => 'L', + 13215 => 'L', + 13216 => 'L', + 13217 => 'L', + 13218 => 'L', + 13219 => 'L', + 13220 => 'L', + 13221 => 'L', + 13222 => 'L', + 13223 => 'L', + 13224 => 'L', + 13225 => 'L', + 13226 => 'L', + 13227 => 'L', + 13228 => 'L', + 13229 => 'L', + 13230 => 'L', + 13231 => 'L', + 13232 => 'L', + 13233 => 'L', + 13234 => 'L', + 13235 => 'L', + 13236 => 'L', + 13237 => 'L', + 13238 => 'L', + 13239 => 'L', + 13240 => 'L', + 13241 => 'L', + 13242 => 'L', + 13243 => 'L', + 13244 => 'L', + 13245 => 'L', + 13246 => 'L', + 13247 => 'L', + 13248 => 'L', + 13249 => 'L', + 13250 => 'L', + 13251 => 'L', + 13252 => 'L', + 13253 => 'L', + 13254 => 'L', + 13255 => 'L', + 13256 => 'L', + 13257 => 'L', + 13258 => 'L', + 13259 => 'L', + 13260 => 'L', + 13261 => 'L', + 13262 => 'L', + 13263 => 'L', + 13264 => 'L', + 13265 => 'L', + 13266 => 'L', + 13267 => 'L', + 13268 => 'L', + 13269 => 'L', + 13270 => 'L', + 13271 => 'L', + 13272 => 'L', + 13273 => 'L', + 13274 => 'L', + 13275 => 'L', + 13276 => 'L', + 13277 => 'L', + 13278 => 'ON', + 13279 => 'ON', + 13280 => 'L', + 13281 => 'L', + 13282 => 'L', + 13283 => 'L', + 13284 => 'L', + 13285 => 'L', + 13286 => 'L', + 13287 => 'L', + 13288 => 'L', + 13289 => 'L', + 13290 => 'L', + 13291 => 'L', + 13292 => 'L', + 13293 => 'L', + 13294 => 'L', + 13295 => 'L', + 13296 => 'L', + 13297 => 'L', + 13298 => 'L', + 13299 => 'L', + 13300 => 'L', + 13301 => 'L', + 13302 => 'L', + 13303 => 'L', + 13304 => 'L', + 13305 => 'L', + 13306 => 'L', + 13307 => 'L', + 13308 => 'L', + 13309 => 'L', + 13310 => 'L', + 13311 => 'ON', + 13312 => 'L', + 19893 => 'L', + 19904 => 'ON', + 19905 => 'ON', + 19906 => 'ON', + 19907 => 'ON', + 19908 => 'ON', + 19909 => 'ON', + 19910 => 'ON', + 19911 => 'ON', + 19912 => 'ON', + 19913 => 'ON', + 19914 => 'ON', + 19915 => 'ON', + 19916 => 'ON', + 19917 => 'ON', + 19918 => 'ON', + 19919 => 'ON', + 19920 => 'ON', + 19921 => 'ON', + 19922 => 'ON', + 19923 => 'ON', + 19924 => 'ON', + 19925 => 'ON', + 19926 => 'ON', + 19927 => 'ON', + 19928 => 'ON', + 19929 => 'ON', + 19930 => 'ON', + 19931 => 'ON', + 19932 => 'ON', + 19933 => 'ON', + 19934 => 'ON', + 19935 => 'ON', + 19936 => 'ON', + 19937 => 'ON', + 19938 => 'ON', + 19939 => 'ON', + 19940 => 'ON', + 19941 => 'ON', + 19942 => 'ON', + 19943 => 'ON', + 19944 => 'ON', + 19945 => 'ON', + 19946 => 'ON', + 19947 => 'ON', + 19948 => 'ON', + 19949 => 'ON', + 19950 => 'ON', + 19951 => 'ON', + 19952 => 'ON', + 19953 => 'ON', + 19954 => 'ON', + 19955 => 'ON', + 19956 => 'ON', + 19957 => 'ON', + 19958 => 'ON', + 19959 => 'ON', + 19960 => 'ON', + 19961 => 'ON', + 19962 => 'ON', + 19963 => 'ON', + 19964 => 'ON', + 19965 => 'ON', + 19966 => 'ON', + 19967 => 'ON', + 19968 => 'L', + 40891 => 'L', + 40960 => 'L', + 40961 => 'L', + 40962 => 'L', + 40963 => 'L', + 40964 => 'L', + 40965 => 'L', + 40966 => 'L', + 40967 => 'L', + 40968 => 'L', + 40969 => 'L', + 40970 => 'L', + 40971 => 'L', + 40972 => 'L', + 40973 => 'L', + 40974 => 'L', + 40975 => 'L', + 40976 => 'L', + 40977 => 'L', + 40978 => 'L', + 40979 => 'L', + 40980 => 'L', + 40981 => 'L', + 40982 => 'L', + 40983 => 'L', + 40984 => 'L', + 40985 => 'L', + 40986 => 'L', + 40987 => 'L', + 40988 => 'L', + 40989 => 'L', + 40990 => 'L', + 40991 => 'L', + 40992 => 'L', + 40993 => 'L', + 40994 => 'L', + 40995 => 'L', + 40996 => 'L', + 40997 => 'L', + 40998 => 'L', + 40999 => 'L', + 41000 => 'L', + 41001 => 'L', + 41002 => 'L', + 41003 => 'L', + 41004 => 'L', + 41005 => 'L', + 41006 => 'L', + 41007 => 'L', + 41008 => 'L', + 41009 => 'L', + 41010 => 'L', + 41011 => 'L', + 41012 => 'L', + 41013 => 'L', + 41014 => 'L', + 41015 => 'L', + 41016 => 'L', + 41017 => 'L', + 41018 => 'L', + 41019 => 'L', + 41020 => 'L', + 41021 => 'L', + 41022 => 'L', + 41023 => 'L', + 41024 => 'L', + 41025 => 'L', + 41026 => 'L', + 41027 => 'L', + 41028 => 'L', + 41029 => 'L', + 41030 => 'L', + 41031 => 'L', + 41032 => 'L', + 41033 => 'L', + 41034 => 'L', + 41035 => 'L', + 41036 => 'L', + 41037 => 'L', + 41038 => 'L', + 41039 => 'L', + 41040 => 'L', + 41041 => 'L', + 41042 => 'L', + 41043 => 'L', + 41044 => 'L', + 41045 => 'L', + 41046 => 'L', + 41047 => 'L', + 41048 => 'L', + 41049 => 'L', + 41050 => 'L', + 41051 => 'L', + 41052 => 'L', + 41053 => 'L', + 41054 => 'L', + 41055 => 'L', + 41056 => 'L', + 41057 => 'L', + 41058 => 'L', + 41059 => 'L', + 41060 => 'L', + 41061 => 'L', + 41062 => 'L', + 41063 => 'L', + 41064 => 'L', + 41065 => 'L', + 41066 => 'L', + 41067 => 'L', + 41068 => 'L', + 41069 => 'L', + 41070 => 'L', + 41071 => 'L', + 41072 => 'L', + 41073 => 'L', + 41074 => 'L', + 41075 => 'L', + 41076 => 'L', + 41077 => 'L', + 41078 => 'L', + 41079 => 'L', + 41080 => 'L', + 41081 => 'L', + 41082 => 'L', + 41083 => 'L', + 41084 => 'L', + 41085 => 'L', + 41086 => 'L', + 41087 => 'L', + 41088 => 'L', + 41089 => 'L', + 41090 => 'L', + 41091 => 'L', + 41092 => 'L', + 41093 => 'L', + 41094 => 'L', + 41095 => 'L', + 41096 => 'L', + 41097 => 'L', + 41098 => 'L', + 41099 => 'L', + 41100 => 'L', + 41101 => 'L', + 41102 => 'L', + 41103 => 'L', + 41104 => 'L', + 41105 => 'L', + 41106 => 'L', + 41107 => 'L', + 41108 => 'L', + 41109 => 'L', + 41110 => 'L', + 41111 => 'L', + 41112 => 'L', + 41113 => 'L', + 41114 => 'L', + 41115 => 'L', + 41116 => 'L', + 41117 => 'L', + 41118 => 'L', + 41119 => 'L', + 41120 => 'L', + 41121 => 'L', + 41122 => 'L', + 41123 => 'L', + 41124 => 'L', + 41125 => 'L', + 41126 => 'L', + 41127 => 'L', + 41128 => 'L', + 41129 => 'L', + 41130 => 'L', + 41131 => 'L', + 41132 => 'L', + 41133 => 'L', + 41134 => 'L', + 41135 => 'L', + 41136 => 'L', + 41137 => 'L', + 41138 => 'L', + 41139 => 'L', + 41140 => 'L', + 41141 => 'L', + 41142 => 'L', + 41143 => 'L', + 41144 => 'L', + 41145 => 'L', + 41146 => 'L', + 41147 => 'L', + 41148 => 'L', + 41149 => 'L', + 41150 => 'L', + 41151 => 'L', + 41152 => 'L', + 41153 => 'L', + 41154 => 'L', + 41155 => 'L', + 41156 => 'L', + 41157 => 'L', + 41158 => 'L', + 41159 => 'L', + 41160 => 'L', + 41161 => 'L', + 41162 => 'L', + 41163 => 'L', + 41164 => 'L', + 41165 => 'L', + 41166 => 'L', + 41167 => 'L', + 41168 => 'L', + 41169 => 'L', + 41170 => 'L', + 41171 => 'L', + 41172 => 'L', + 41173 => 'L', + 41174 => 'L', + 41175 => 'L', + 41176 => 'L', + 41177 => 'L', + 41178 => 'L', + 41179 => 'L', + 41180 => 'L', + 41181 => 'L', + 41182 => 'L', + 41183 => 'L', + 41184 => 'L', + 41185 => 'L', + 41186 => 'L', + 41187 => 'L', + 41188 => 'L', + 41189 => 'L', + 41190 => 'L', + 41191 => 'L', + 41192 => 'L', + 41193 => 'L', + 41194 => 'L', + 41195 => 'L', + 41196 => 'L', + 41197 => 'L', + 41198 => 'L', + 41199 => 'L', + 41200 => 'L', + 41201 => 'L', + 41202 => 'L', + 41203 => 'L', + 41204 => 'L', + 41205 => 'L', + 41206 => 'L', + 41207 => 'L', + 41208 => 'L', + 41209 => 'L', + 41210 => 'L', + 41211 => 'L', + 41212 => 'L', + 41213 => 'L', + 41214 => 'L', + 41215 => 'L', + 41216 => 'L', + 41217 => 'L', + 41218 => 'L', + 41219 => 'L', + 41220 => 'L', + 41221 => 'L', + 41222 => 'L', + 41223 => 'L', + 41224 => 'L', + 41225 => 'L', + 41226 => 'L', + 41227 => 'L', + 41228 => 'L', + 41229 => 'L', + 41230 => 'L', + 41231 => 'L', + 41232 => 'L', + 41233 => 'L', + 41234 => 'L', + 41235 => 'L', + 41236 => 'L', + 41237 => 'L', + 41238 => 'L', + 41239 => 'L', + 41240 => 'L', + 41241 => 'L', + 41242 => 'L', + 41243 => 'L', + 41244 => 'L', + 41245 => 'L', + 41246 => 'L', + 41247 => 'L', + 41248 => 'L', + 41249 => 'L', + 41250 => 'L', + 41251 => 'L', + 41252 => 'L', + 41253 => 'L', + 41254 => 'L', + 41255 => 'L', + 41256 => 'L', + 41257 => 'L', + 41258 => 'L', + 41259 => 'L', + 41260 => 'L', + 41261 => 'L', + 41262 => 'L', + 41263 => 'L', + 41264 => 'L', + 41265 => 'L', + 41266 => 'L', + 41267 => 'L', + 41268 => 'L', + 41269 => 'L', + 41270 => 'L', + 41271 => 'L', + 41272 => 'L', + 41273 => 'L', + 41274 => 'L', + 41275 => 'L', + 41276 => 'L', + 41277 => 'L', + 41278 => 'L', + 41279 => 'L', + 41280 => 'L', + 41281 => 'L', + 41282 => 'L', + 41283 => 'L', + 41284 => 'L', + 41285 => 'L', + 41286 => 'L', + 41287 => 'L', + 41288 => 'L', + 41289 => 'L', + 41290 => 'L', + 41291 => 'L', + 41292 => 'L', + 41293 => 'L', + 41294 => 'L', + 41295 => 'L', + 41296 => 'L', + 41297 => 'L', + 41298 => 'L', + 41299 => 'L', + 41300 => 'L', + 41301 => 'L', + 41302 => 'L', + 41303 => 'L', + 41304 => 'L', + 41305 => 'L', + 41306 => 'L', + 41307 => 'L', + 41308 => 'L', + 41309 => 'L', + 41310 => 'L', + 41311 => 'L', + 41312 => 'L', + 41313 => 'L', + 41314 => 'L', + 41315 => 'L', + 41316 => 'L', + 41317 => 'L', + 41318 => 'L', + 41319 => 'L', + 41320 => 'L', + 41321 => 'L', + 41322 => 'L', + 41323 => 'L', + 41324 => 'L', + 41325 => 'L', + 41326 => 'L', + 41327 => 'L', + 41328 => 'L', + 41329 => 'L', + 41330 => 'L', + 41331 => 'L', + 41332 => 'L', + 41333 => 'L', + 41334 => 'L', + 41335 => 'L', + 41336 => 'L', + 41337 => 'L', + 41338 => 'L', + 41339 => 'L', + 41340 => 'L', + 41341 => 'L', + 41342 => 'L', + 41343 => 'L', + 41344 => 'L', + 41345 => 'L', + 41346 => 'L', + 41347 => 'L', + 41348 => 'L', + 41349 => 'L', + 41350 => 'L', + 41351 => 'L', + 41352 => 'L', + 41353 => 'L', + 41354 => 'L', + 41355 => 'L', + 41356 => 'L', + 41357 => 'L', + 41358 => 'L', + 41359 => 'L', + 41360 => 'L', + 41361 => 'L', + 41362 => 'L', + 41363 => 'L', + 41364 => 'L', + 41365 => 'L', + 41366 => 'L', + 41367 => 'L', + 41368 => 'L', + 41369 => 'L', + 41370 => 'L', + 41371 => 'L', + 41372 => 'L', + 41373 => 'L', + 41374 => 'L', + 41375 => 'L', + 41376 => 'L', + 41377 => 'L', + 41378 => 'L', + 41379 => 'L', + 41380 => 'L', + 41381 => 'L', + 41382 => 'L', + 41383 => 'L', + 41384 => 'L', + 41385 => 'L', + 41386 => 'L', + 41387 => 'L', + 41388 => 'L', + 41389 => 'L', + 41390 => 'L', + 41391 => 'L', + 41392 => 'L', + 41393 => 'L', + 41394 => 'L', + 41395 => 'L', + 41396 => 'L', + 41397 => 'L', + 41398 => 'L', + 41399 => 'L', + 41400 => 'L', + 41401 => 'L', + 41402 => 'L', + 41403 => 'L', + 41404 => 'L', + 41405 => 'L', + 41406 => 'L', + 41407 => 'L', + 41408 => 'L', + 41409 => 'L', + 41410 => 'L', + 41411 => 'L', + 41412 => 'L', + 41413 => 'L', + 41414 => 'L', + 41415 => 'L', + 41416 => 'L', + 41417 => 'L', + 41418 => 'L', + 41419 => 'L', + 41420 => 'L', + 41421 => 'L', + 41422 => 'L', + 41423 => 'L', + 41424 => 'L', + 41425 => 'L', + 41426 => 'L', + 41427 => 'L', + 41428 => 'L', + 41429 => 'L', + 41430 => 'L', + 41431 => 'L', + 41432 => 'L', + 41433 => 'L', + 41434 => 'L', + 41435 => 'L', + 41436 => 'L', + 41437 => 'L', + 41438 => 'L', + 41439 => 'L', + 41440 => 'L', + 41441 => 'L', + 41442 => 'L', + 41443 => 'L', + 41444 => 'L', + 41445 => 'L', + 41446 => 'L', + 41447 => 'L', + 41448 => 'L', + 41449 => 'L', + 41450 => 'L', + 41451 => 'L', + 41452 => 'L', + 41453 => 'L', + 41454 => 'L', + 41455 => 'L', + 41456 => 'L', + 41457 => 'L', + 41458 => 'L', + 41459 => 'L', + 41460 => 'L', + 41461 => 'L', + 41462 => 'L', + 41463 => 'L', + 41464 => 'L', + 41465 => 'L', + 41466 => 'L', + 41467 => 'L', + 41468 => 'L', + 41469 => 'L', + 41470 => 'L', + 41471 => 'L', + 41472 => 'L', + 41473 => 'L', + 41474 => 'L', + 41475 => 'L', + 41476 => 'L', + 41477 => 'L', + 41478 => 'L', + 41479 => 'L', + 41480 => 'L', + 41481 => 'L', + 41482 => 'L', + 41483 => 'L', + 41484 => 'L', + 41485 => 'L', + 41486 => 'L', + 41487 => 'L', + 41488 => 'L', + 41489 => 'L', + 41490 => 'L', + 41491 => 'L', + 41492 => 'L', + 41493 => 'L', + 41494 => 'L', + 41495 => 'L', + 41496 => 'L', + 41497 => 'L', + 41498 => 'L', + 41499 => 'L', + 41500 => 'L', + 41501 => 'L', + 41502 => 'L', + 41503 => 'L', + 41504 => 'L', + 41505 => 'L', + 41506 => 'L', + 41507 => 'L', + 41508 => 'L', + 41509 => 'L', + 41510 => 'L', + 41511 => 'L', + 41512 => 'L', + 41513 => 'L', + 41514 => 'L', + 41515 => 'L', + 41516 => 'L', + 41517 => 'L', + 41518 => 'L', + 41519 => 'L', + 41520 => 'L', + 41521 => 'L', + 41522 => 'L', + 41523 => 'L', + 41524 => 'L', + 41525 => 'L', + 41526 => 'L', + 41527 => 'L', + 41528 => 'L', + 41529 => 'L', + 41530 => 'L', + 41531 => 'L', + 41532 => 'L', + 41533 => 'L', + 41534 => 'L', + 41535 => 'L', + 41536 => 'L', + 41537 => 'L', + 41538 => 'L', + 41539 => 'L', + 41540 => 'L', + 41541 => 'L', + 41542 => 'L', + 41543 => 'L', + 41544 => 'L', + 41545 => 'L', + 41546 => 'L', + 41547 => 'L', + 41548 => 'L', + 41549 => 'L', + 41550 => 'L', + 41551 => 'L', + 41552 => 'L', + 41553 => 'L', + 41554 => 'L', + 41555 => 'L', + 41556 => 'L', + 41557 => 'L', + 41558 => 'L', + 41559 => 'L', + 41560 => 'L', + 41561 => 'L', + 41562 => 'L', + 41563 => 'L', + 41564 => 'L', + 41565 => 'L', + 41566 => 'L', + 41567 => 'L', + 41568 => 'L', + 41569 => 'L', + 41570 => 'L', + 41571 => 'L', + 41572 => 'L', + 41573 => 'L', + 41574 => 'L', + 41575 => 'L', + 41576 => 'L', + 41577 => 'L', + 41578 => 'L', + 41579 => 'L', + 41580 => 'L', + 41581 => 'L', + 41582 => 'L', + 41583 => 'L', + 41584 => 'L', + 41585 => 'L', + 41586 => 'L', + 41587 => 'L', + 41588 => 'L', + 41589 => 'L', + 41590 => 'L', + 41591 => 'L', + 41592 => 'L', + 41593 => 'L', + 41594 => 'L', + 41595 => 'L', + 41596 => 'L', + 41597 => 'L', + 41598 => 'L', + 41599 => 'L', + 41600 => 'L', + 41601 => 'L', + 41602 => 'L', + 41603 => 'L', + 41604 => 'L', + 41605 => 'L', + 41606 => 'L', + 41607 => 'L', + 41608 => 'L', + 41609 => 'L', + 41610 => 'L', + 41611 => 'L', + 41612 => 'L', + 41613 => 'L', + 41614 => 'L', + 41615 => 'L', + 41616 => 'L', + 41617 => 'L', + 41618 => 'L', + 41619 => 'L', + 41620 => 'L', + 41621 => 'L', + 41622 => 'L', + 41623 => 'L', + 41624 => 'L', + 41625 => 'L', + 41626 => 'L', + 41627 => 'L', + 41628 => 'L', + 41629 => 'L', + 41630 => 'L', + 41631 => 'L', + 41632 => 'L', + 41633 => 'L', + 41634 => 'L', + 41635 => 'L', + 41636 => 'L', + 41637 => 'L', + 41638 => 'L', + 41639 => 'L', + 41640 => 'L', + 41641 => 'L', + 41642 => 'L', + 41643 => 'L', + 41644 => 'L', + 41645 => 'L', + 41646 => 'L', + 41647 => 'L', + 41648 => 'L', + 41649 => 'L', + 41650 => 'L', + 41651 => 'L', + 41652 => 'L', + 41653 => 'L', + 41654 => 'L', + 41655 => 'L', + 41656 => 'L', + 41657 => 'L', + 41658 => 'L', + 41659 => 'L', + 41660 => 'L', + 41661 => 'L', + 41662 => 'L', + 41663 => 'L', + 41664 => 'L', + 41665 => 'L', + 41666 => 'L', + 41667 => 'L', + 41668 => 'L', + 41669 => 'L', + 41670 => 'L', + 41671 => 'L', + 41672 => 'L', + 41673 => 'L', + 41674 => 'L', + 41675 => 'L', + 41676 => 'L', + 41677 => 'L', + 41678 => 'L', + 41679 => 'L', + 41680 => 'L', + 41681 => 'L', + 41682 => 'L', + 41683 => 'L', + 41684 => 'L', + 41685 => 'L', + 41686 => 'L', + 41687 => 'L', + 41688 => 'L', + 41689 => 'L', + 41690 => 'L', + 41691 => 'L', + 41692 => 'L', + 41693 => 'L', + 41694 => 'L', + 41695 => 'L', + 41696 => 'L', + 41697 => 'L', + 41698 => 'L', + 41699 => 'L', + 41700 => 'L', + 41701 => 'L', + 41702 => 'L', + 41703 => 'L', + 41704 => 'L', + 41705 => 'L', + 41706 => 'L', + 41707 => 'L', + 41708 => 'L', + 41709 => 'L', + 41710 => 'L', + 41711 => 'L', + 41712 => 'L', + 41713 => 'L', + 41714 => 'L', + 41715 => 'L', + 41716 => 'L', + 41717 => 'L', + 41718 => 'L', + 41719 => 'L', + 41720 => 'L', + 41721 => 'L', + 41722 => 'L', + 41723 => 'L', + 41724 => 'L', + 41725 => 'L', + 41726 => 'L', + 41727 => 'L', + 41728 => 'L', + 41729 => 'L', + 41730 => 'L', + 41731 => 'L', + 41732 => 'L', + 41733 => 'L', + 41734 => 'L', + 41735 => 'L', + 41736 => 'L', + 41737 => 'L', + 41738 => 'L', + 41739 => 'L', + 41740 => 'L', + 41741 => 'L', + 41742 => 'L', + 41743 => 'L', + 41744 => 'L', + 41745 => 'L', + 41746 => 'L', + 41747 => 'L', + 41748 => 'L', + 41749 => 'L', + 41750 => 'L', + 41751 => 'L', + 41752 => 'L', + 41753 => 'L', + 41754 => 'L', + 41755 => 'L', + 41756 => 'L', + 41757 => 'L', + 41758 => 'L', + 41759 => 'L', + 41760 => 'L', + 41761 => 'L', + 41762 => 'L', + 41763 => 'L', + 41764 => 'L', + 41765 => 'L', + 41766 => 'L', + 41767 => 'L', + 41768 => 'L', + 41769 => 'L', + 41770 => 'L', + 41771 => 'L', + 41772 => 'L', + 41773 => 'L', + 41774 => 'L', + 41775 => 'L', + 41776 => 'L', + 41777 => 'L', + 41778 => 'L', + 41779 => 'L', + 41780 => 'L', + 41781 => 'L', + 41782 => 'L', + 41783 => 'L', + 41784 => 'L', + 41785 => 'L', + 41786 => 'L', + 41787 => 'L', + 41788 => 'L', + 41789 => 'L', + 41790 => 'L', + 41791 => 'L', + 41792 => 'L', + 41793 => 'L', + 41794 => 'L', + 41795 => 'L', + 41796 => 'L', + 41797 => 'L', + 41798 => 'L', + 41799 => 'L', + 41800 => 'L', + 41801 => 'L', + 41802 => 'L', + 41803 => 'L', + 41804 => 'L', + 41805 => 'L', + 41806 => 'L', + 41807 => 'L', + 41808 => 'L', + 41809 => 'L', + 41810 => 'L', + 41811 => 'L', + 41812 => 'L', + 41813 => 'L', + 41814 => 'L', + 41815 => 'L', + 41816 => 'L', + 41817 => 'L', + 41818 => 'L', + 41819 => 'L', + 41820 => 'L', + 41821 => 'L', + 41822 => 'L', + 41823 => 'L', + 41824 => 'L', + 41825 => 'L', + 41826 => 'L', + 41827 => 'L', + 41828 => 'L', + 41829 => 'L', + 41830 => 'L', + 41831 => 'L', + 41832 => 'L', + 41833 => 'L', + 41834 => 'L', + 41835 => 'L', + 41836 => 'L', + 41837 => 'L', + 41838 => 'L', + 41839 => 'L', + 41840 => 'L', + 41841 => 'L', + 41842 => 'L', + 41843 => 'L', + 41844 => 'L', + 41845 => 'L', + 41846 => 'L', + 41847 => 'L', + 41848 => 'L', + 41849 => 'L', + 41850 => 'L', + 41851 => 'L', + 41852 => 'L', + 41853 => 'L', + 41854 => 'L', + 41855 => 'L', + 41856 => 'L', + 41857 => 'L', + 41858 => 'L', + 41859 => 'L', + 41860 => 'L', + 41861 => 'L', + 41862 => 'L', + 41863 => 'L', + 41864 => 'L', + 41865 => 'L', + 41866 => 'L', + 41867 => 'L', + 41868 => 'L', + 41869 => 'L', + 41870 => 'L', + 41871 => 'L', + 41872 => 'L', + 41873 => 'L', + 41874 => 'L', + 41875 => 'L', + 41876 => 'L', + 41877 => 'L', + 41878 => 'L', + 41879 => 'L', + 41880 => 'L', + 41881 => 'L', + 41882 => 'L', + 41883 => 'L', + 41884 => 'L', + 41885 => 'L', + 41886 => 'L', + 41887 => 'L', + 41888 => 'L', + 41889 => 'L', + 41890 => 'L', + 41891 => 'L', + 41892 => 'L', + 41893 => 'L', + 41894 => 'L', + 41895 => 'L', + 41896 => 'L', + 41897 => 'L', + 41898 => 'L', + 41899 => 'L', + 41900 => 'L', + 41901 => 'L', + 41902 => 'L', + 41903 => 'L', + 41904 => 'L', + 41905 => 'L', + 41906 => 'L', + 41907 => 'L', + 41908 => 'L', + 41909 => 'L', + 41910 => 'L', + 41911 => 'L', + 41912 => 'L', + 41913 => 'L', + 41914 => 'L', + 41915 => 'L', + 41916 => 'L', + 41917 => 'L', + 41918 => 'L', + 41919 => 'L', + 41920 => 'L', + 41921 => 'L', + 41922 => 'L', + 41923 => 'L', + 41924 => 'L', + 41925 => 'L', + 41926 => 'L', + 41927 => 'L', + 41928 => 'L', + 41929 => 'L', + 41930 => 'L', + 41931 => 'L', + 41932 => 'L', + 41933 => 'L', + 41934 => 'L', + 41935 => 'L', + 41936 => 'L', + 41937 => 'L', + 41938 => 'L', + 41939 => 'L', + 41940 => 'L', + 41941 => 'L', + 41942 => 'L', + 41943 => 'L', + 41944 => 'L', + 41945 => 'L', + 41946 => 'L', + 41947 => 'L', + 41948 => 'L', + 41949 => 'L', + 41950 => 'L', + 41951 => 'L', + 41952 => 'L', + 41953 => 'L', + 41954 => 'L', + 41955 => 'L', + 41956 => 'L', + 41957 => 'L', + 41958 => 'L', + 41959 => 'L', + 41960 => 'L', + 41961 => 'L', + 41962 => 'L', + 41963 => 'L', + 41964 => 'L', + 41965 => 'L', + 41966 => 'L', + 41967 => 'L', + 41968 => 'L', + 41969 => 'L', + 41970 => 'L', + 41971 => 'L', + 41972 => 'L', + 41973 => 'L', + 41974 => 'L', + 41975 => 'L', + 41976 => 'L', + 41977 => 'L', + 41978 => 'L', + 41979 => 'L', + 41980 => 'L', + 41981 => 'L', + 41982 => 'L', + 41983 => 'L', + 41984 => 'L', + 41985 => 'L', + 41986 => 'L', + 41987 => 'L', + 41988 => 'L', + 41989 => 'L', + 41990 => 'L', + 41991 => 'L', + 41992 => 'L', + 41993 => 'L', + 41994 => 'L', + 41995 => 'L', + 41996 => 'L', + 41997 => 'L', + 41998 => 'L', + 41999 => 'L', + 42000 => 'L', + 42001 => 'L', + 42002 => 'L', + 42003 => 'L', + 42004 => 'L', + 42005 => 'L', + 42006 => 'L', + 42007 => 'L', + 42008 => 'L', + 42009 => 'L', + 42010 => 'L', + 42011 => 'L', + 42012 => 'L', + 42013 => 'L', + 42014 => 'L', + 42015 => 'L', + 42016 => 'L', + 42017 => 'L', + 42018 => 'L', + 42019 => 'L', + 42020 => 'L', + 42021 => 'L', + 42022 => 'L', + 42023 => 'L', + 42024 => 'L', + 42025 => 'L', + 42026 => 'L', + 42027 => 'L', + 42028 => 'L', + 42029 => 'L', + 42030 => 'L', + 42031 => 'L', + 42032 => 'L', + 42033 => 'L', + 42034 => 'L', + 42035 => 'L', + 42036 => 'L', + 42037 => 'L', + 42038 => 'L', + 42039 => 'L', + 42040 => 'L', + 42041 => 'L', + 42042 => 'L', + 42043 => 'L', + 42044 => 'L', + 42045 => 'L', + 42046 => 'L', + 42047 => 'L', + 42048 => 'L', + 42049 => 'L', + 42050 => 'L', + 42051 => 'L', + 42052 => 'L', + 42053 => 'L', + 42054 => 'L', + 42055 => 'L', + 42056 => 'L', + 42057 => 'L', + 42058 => 'L', + 42059 => 'L', + 42060 => 'L', + 42061 => 'L', + 42062 => 'L', + 42063 => 'L', + 42064 => 'L', + 42065 => 'L', + 42066 => 'L', + 42067 => 'L', + 42068 => 'L', + 42069 => 'L', + 42070 => 'L', + 42071 => 'L', + 42072 => 'L', + 42073 => 'L', + 42074 => 'L', + 42075 => 'L', + 42076 => 'L', + 42077 => 'L', + 42078 => 'L', + 42079 => 'L', + 42080 => 'L', + 42081 => 'L', + 42082 => 'L', + 42083 => 'L', + 42084 => 'L', + 42085 => 'L', + 42086 => 'L', + 42087 => 'L', + 42088 => 'L', + 42089 => 'L', + 42090 => 'L', + 42091 => 'L', + 42092 => 'L', + 42093 => 'L', + 42094 => 'L', + 42095 => 'L', + 42096 => 'L', + 42097 => 'L', + 42098 => 'L', + 42099 => 'L', + 42100 => 'L', + 42101 => 'L', + 42102 => 'L', + 42103 => 'L', + 42104 => 'L', + 42105 => 'L', + 42106 => 'L', + 42107 => 'L', + 42108 => 'L', + 42109 => 'L', + 42110 => 'L', + 42111 => 'L', + 42112 => 'L', + 42113 => 'L', + 42114 => 'L', + 42115 => 'L', + 42116 => 'L', + 42117 => 'L', + 42118 => 'L', + 42119 => 'L', + 42120 => 'L', + 42121 => 'L', + 42122 => 'L', + 42123 => 'L', + 42124 => 'L', + 42128 => 'ON', + 42129 => 'ON', + 42130 => 'ON', + 42131 => 'ON', + 42132 => 'ON', + 42133 => 'ON', + 42134 => 'ON', + 42135 => 'ON', + 42136 => 'ON', + 42137 => 'ON', + 42138 => 'ON', + 42139 => 'ON', + 42140 => 'ON', + 42141 => 'ON', + 42142 => 'ON', + 42143 => 'ON', + 42144 => 'ON', + 42145 => 'ON', + 42146 => 'ON', + 42147 => 'ON', + 42148 => 'ON', + 42149 => 'ON', + 42150 => 'ON', + 42151 => 'ON', + 42152 => 'ON', + 42153 => 'ON', + 42154 => 'ON', + 42155 => 'ON', + 42156 => 'ON', + 42157 => 'ON', + 42158 => 'ON', + 42159 => 'ON', + 42160 => 'ON', + 42161 => 'ON', + 42162 => 'ON', + 42163 => 'ON', + 42164 => 'ON', + 42165 => 'ON', + 42166 => 'ON', + 42167 => 'ON', + 42168 => 'ON', + 42169 => 'ON', + 42170 => 'ON', + 42171 => 'ON', + 42172 => 'ON', + 42173 => 'ON', + 42174 => 'ON', + 42175 => 'ON', + 42176 => 'ON', + 42177 => 'ON', + 42178 => 'ON', + 42179 => 'ON', + 42180 => 'ON', + 42181 => 'ON', + 42182 => 'ON', + 42752 => 'ON', + 42753 => 'ON', + 42754 => 'ON', + 42755 => 'ON', + 42756 => 'ON', + 42757 => 'ON', + 42758 => 'ON', + 42759 => 'ON', + 42760 => 'ON', + 42761 => 'ON', + 42762 => 'ON', + 42763 => 'ON', + 42764 => 'ON', + 42765 => 'ON', + 42766 => 'ON', + 42767 => 'ON', + 42768 => 'ON', + 42769 => 'ON', + 42770 => 'ON', + 42771 => 'ON', + 42772 => 'ON', + 42773 => 'ON', + 42774 => 'ON', + 42775 => 'ON', + 42776 => 'ON', + 42777 => 'ON', + 42778 => 'ON', + 42784 => 'ON', + 42785 => 'ON', + 43008 => 'L', + 43009 => 'L', + 43010 => 'NSM', + 43011 => 'L', + 43012 => 'L', + 43013 => 'L', + 43014 => 'NSM', + 43015 => 'L', + 43016 => 'L', + 43017 => 'L', + 43018 => 'L', + 43019 => 'NSM', + 43020 => 'L', + 43021 => 'L', + 43022 => 'L', + 43023 => 'L', + 43024 => 'L', + 43025 => 'L', + 43026 => 'L', + 43027 => 'L', + 43028 => 'L', + 43029 => 'L', + 43030 => 'L', + 43031 => 'L', + 43032 => 'L', + 43033 => 'L', + 43034 => 'L', + 43035 => 'L', + 43036 => 'L', + 43037 => 'L', + 43038 => 'L', + 43039 => 'L', + 43040 => 'L', + 43041 => 'L', + 43042 => 'L', + 43043 => 'L', + 43044 => 'L', + 43045 => 'NSM', + 43046 => 'NSM', + 43047 => 'L', + 43048 => 'ON', + 43049 => 'ON', + 43050 => 'ON', + 43051 => 'ON', + 43072 => 'L', + 43073 => 'L', + 43074 => 'L', + 43075 => 'L', + 43076 => 'L', + 43077 => 'L', + 43078 => 'L', + 43079 => 'L', + 43080 => 'L', + 43081 => 'L', + 43082 => 'L', + 43083 => 'L', + 43084 => 'L', + 43085 => 'L', + 43086 => 'L', + 43087 => 'L', + 43088 => 'L', + 43089 => 'L', + 43090 => 'L', + 43091 => 'L', + 43092 => 'L', + 43093 => 'L', + 43094 => 'L', + 43095 => 'L', + 43096 => 'L', + 43097 => 'L', + 43098 => 'L', + 43099 => 'L', + 43100 => 'L', + 43101 => 'L', + 43102 => 'L', + 43103 => 'L', + 43104 => 'L', + 43105 => 'L', + 43106 => 'L', + 43107 => 'L', + 43108 => 'L', + 43109 => 'L', + 43110 => 'L', + 43111 => 'L', + 43112 => 'L', + 43113 => 'L', + 43114 => 'L', + 43115 => 'L', + 43116 => 'L', + 43117 => 'L', + 43118 => 'L', + 43119 => 'L', + 43120 => 'L', + 43121 => 'L', + 43122 => 'L', + 43123 => 'L', + 43124 => 'ON', + 43125 => 'ON', + 43126 => 'ON', + 43127 => 'ON', + 44032 => 'L', + 55203 => 'L', + 55296 => 'L', + 56191 => 'L', + 56192 => 'L', + 56319 => 'L', + 56320 => 'L', + 57343 => 'L', + 57344 => 'L', + 63743 => 'L', + 63744 => 'L', + 63745 => 'L', + 63746 => 'L', + 63747 => 'L', + 63748 => 'L', + 63749 => 'L', + 63750 => 'L', + 63751 => 'L', + 63752 => 'L', + 63753 => 'L', + 63754 => 'L', + 63755 => 'L', + 63756 => 'L', + 63757 => 'L', + 63758 => 'L', + 63759 => 'L', + 63760 => 'L', + 63761 => 'L', + 63762 => 'L', + 63763 => 'L', + 63764 => 'L', + 63765 => 'L', + 63766 => 'L', + 63767 => 'L', + 63768 => 'L', + 63769 => 'L', + 63770 => 'L', + 63771 => 'L', + 63772 => 'L', + 63773 => 'L', + 63774 => 'L', + 63775 => 'L', + 63776 => 'L', + 63777 => 'L', + 63778 => 'L', + 63779 => 'L', + 63780 => 'L', + 63781 => 'L', + 63782 => 'L', + 63783 => 'L', + 63784 => 'L', + 63785 => 'L', + 63786 => 'L', + 63787 => 'L', + 63788 => 'L', + 63789 => 'L', + 63790 => 'L', + 63791 => 'L', + 63792 => 'L', + 63793 => 'L', + 63794 => 'L', + 63795 => 'L', + 63796 => 'L', + 63797 => 'L', + 63798 => 'L', + 63799 => 'L', + 63800 => 'L', + 63801 => 'L', + 63802 => 'L', + 63803 => 'L', + 63804 => 'L', + 63805 => 'L', + 63806 => 'L', + 63807 => 'L', + 63808 => 'L', + 63809 => 'L', + 63810 => 'L', + 63811 => 'L', + 63812 => 'L', + 63813 => 'L', + 63814 => 'L', + 63815 => 'L', + 63816 => 'L', + 63817 => 'L', + 63818 => 'L', + 63819 => 'L', + 63820 => 'L', + 63821 => 'L', + 63822 => 'L', + 63823 => 'L', + 63824 => 'L', + 63825 => 'L', + 63826 => 'L', + 63827 => 'L', + 63828 => 'L', + 63829 => 'L', + 63830 => 'L', + 63831 => 'L', + 63832 => 'L', + 63833 => 'L', + 63834 => 'L', + 63835 => 'L', + 63836 => 'L', + 63837 => 'L', + 63838 => 'L', + 63839 => 'L', + 63840 => 'L', + 63841 => 'L', + 63842 => 'L', + 63843 => 'L', + 63844 => 'L', + 63845 => 'L', + 63846 => 'L', + 63847 => 'L', + 63848 => 'L', + 63849 => 'L', + 63850 => 'L', + 63851 => 'L', + 63852 => 'L', + 63853 => 'L', + 63854 => 'L', + 63855 => 'L', + 63856 => 'L', + 63857 => 'L', + 63858 => 'L', + 63859 => 'L', + 63860 => 'L', + 63861 => 'L', + 63862 => 'L', + 63863 => 'L', + 63864 => 'L', + 63865 => 'L', + 63866 => 'L', + 63867 => 'L', + 63868 => 'L', + 63869 => 'L', + 63870 => 'L', + 63871 => 'L', + 63872 => 'L', + 63873 => 'L', + 63874 => 'L', + 63875 => 'L', + 63876 => 'L', + 63877 => 'L', + 63878 => 'L', + 63879 => 'L', + 63880 => 'L', + 63881 => 'L', + 63882 => 'L', + 63883 => 'L', + 63884 => 'L', + 63885 => 'L', + 63886 => 'L', + 63887 => 'L', + 63888 => 'L', + 63889 => 'L', + 63890 => 'L', + 63891 => 'L', + 63892 => 'L', + 63893 => 'L', + 63894 => 'L', + 63895 => 'L', + 63896 => 'L', + 63897 => 'L', + 63898 => 'L', + 63899 => 'L', + 63900 => 'L', + 63901 => 'L', + 63902 => 'L', + 63903 => 'L', + 63904 => 'L', + 63905 => 'L', + 63906 => 'L', + 63907 => 'L', + 63908 => 'L', + 63909 => 'L', + 63910 => 'L', + 63911 => 'L', + 63912 => 'L', + 63913 => 'L', + 63914 => 'L', + 63915 => 'L', + 63916 => 'L', + 63917 => 'L', + 63918 => 'L', + 63919 => 'L', + 63920 => 'L', + 63921 => 'L', + 63922 => 'L', + 63923 => 'L', + 63924 => 'L', + 63925 => 'L', + 63926 => 'L', + 63927 => 'L', + 63928 => 'L', + 63929 => 'L', + 63930 => 'L', + 63931 => 'L', + 63932 => 'L', + 63933 => 'L', + 63934 => 'L', + 63935 => 'L', + 63936 => 'L', + 63937 => 'L', + 63938 => 'L', + 63939 => 'L', + 63940 => 'L', + 63941 => 'L', + 63942 => 'L', + 63943 => 'L', + 63944 => 'L', + 63945 => 'L', + 63946 => 'L', + 63947 => 'L', + 63948 => 'L', + 63949 => 'L', + 63950 => 'L', + 63951 => 'L', + 63952 => 'L', + 63953 => 'L', + 63954 => 'L', + 63955 => 'L', + 63956 => 'L', + 63957 => 'L', + 63958 => 'L', + 63959 => 'L', + 63960 => 'L', + 63961 => 'L', + 63962 => 'L', + 63963 => 'L', + 63964 => 'L', + 63965 => 'L', + 63966 => 'L', + 63967 => 'L', + 63968 => 'L', + 63969 => 'L', + 63970 => 'L', + 63971 => 'L', + 63972 => 'L', + 63973 => 'L', + 63974 => 'L', + 63975 => 'L', + 63976 => 'L', + 63977 => 'L', + 63978 => 'L', + 63979 => 'L', + 63980 => 'L', + 63981 => 'L', + 63982 => 'L', + 63983 => 'L', + 63984 => 'L', + 63985 => 'L', + 63986 => 'L', + 63987 => 'L', + 63988 => 'L', + 63989 => 'L', + 63990 => 'L', + 63991 => 'L', + 63992 => 'L', + 63993 => 'L', + 63994 => 'L', + 63995 => 'L', + 63996 => 'L', + 63997 => 'L', + 63998 => 'L', + 63999 => 'L', + 64000 => 'L', + 64001 => 'L', + 64002 => 'L', + 64003 => 'L', + 64004 => 'L', + 64005 => 'L', + 64006 => 'L', + 64007 => 'L', + 64008 => 'L', + 64009 => 'L', + 64010 => 'L', + 64011 => 'L', + 64012 => 'L', + 64013 => 'L', + 64014 => 'L', + 64015 => 'L', + 64016 => 'L', + 64017 => 'L', + 64018 => 'L', + 64019 => 'L', + 64020 => 'L', + 64021 => 'L', + 64022 => 'L', + 64023 => 'L', + 64024 => 'L', + 64025 => 'L', + 64026 => 'L', + 64027 => 'L', + 64028 => 'L', + 64029 => 'L', + 64030 => 'L', + 64031 => 'L', + 64032 => 'L', + 64033 => 'L', + 64034 => 'L', + 64035 => 'L', + 64036 => 'L', + 64037 => 'L', + 64038 => 'L', + 64039 => 'L', + 64040 => 'L', + 64041 => 'L', + 64042 => 'L', + 64043 => 'L', + 64044 => 'L', + 64045 => 'L', + 64048 => 'L', + 64049 => 'L', + 64050 => 'L', + 64051 => 'L', + 64052 => 'L', + 64053 => 'L', + 64054 => 'L', + 64055 => 'L', + 64056 => 'L', + 64057 => 'L', + 64058 => 'L', + 64059 => 'L', + 64060 => 'L', + 64061 => 'L', + 64062 => 'L', + 64063 => 'L', + 64064 => 'L', + 64065 => 'L', + 64066 => 'L', + 64067 => 'L', + 64068 => 'L', + 64069 => 'L', + 64070 => 'L', + 64071 => 'L', + 64072 => 'L', + 64073 => 'L', + 64074 => 'L', + 64075 => 'L', + 64076 => 'L', + 64077 => 'L', + 64078 => 'L', + 64079 => 'L', + 64080 => 'L', + 64081 => 'L', + 64082 => 'L', + 64083 => 'L', + 64084 => 'L', + 64085 => 'L', + 64086 => 'L', + 64087 => 'L', + 64088 => 'L', + 64089 => 'L', + 64090 => 'L', + 64091 => 'L', + 64092 => 'L', + 64093 => 'L', + 64094 => 'L', + 64095 => 'L', + 64096 => 'L', + 64097 => 'L', + 64098 => 'L', + 64099 => 'L', + 64100 => 'L', + 64101 => 'L', + 64102 => 'L', + 64103 => 'L', + 64104 => 'L', + 64105 => 'L', + 64106 => 'L', + 64112 => 'L', + 64113 => 'L', + 64114 => 'L', + 64115 => 'L', + 64116 => 'L', + 64117 => 'L', + 64118 => 'L', + 64119 => 'L', + 64120 => 'L', + 64121 => 'L', + 64122 => 'L', + 64123 => 'L', + 64124 => 'L', + 64125 => 'L', + 64126 => 'L', + 64127 => 'L', + 64128 => 'L', + 64129 => 'L', + 64130 => 'L', + 64131 => 'L', + 64132 => 'L', + 64133 => 'L', + 64134 => 'L', + 64135 => 'L', + 64136 => 'L', + 64137 => 'L', + 64138 => 'L', + 64139 => 'L', + 64140 => 'L', + 64141 => 'L', + 64142 => 'L', + 64143 => 'L', + 64144 => 'L', + 64145 => 'L', + 64146 => 'L', + 64147 => 'L', + 64148 => 'L', + 64149 => 'L', + 64150 => 'L', + 64151 => 'L', + 64152 => 'L', + 64153 => 'L', + 64154 => 'L', + 64155 => 'L', + 64156 => 'L', + 64157 => 'L', + 64158 => 'L', + 64159 => 'L', + 64160 => 'L', + 64161 => 'L', + 64162 => 'L', + 64163 => 'L', + 64164 => 'L', + 64165 => 'L', + 64166 => 'L', + 64167 => 'L', + 64168 => 'L', + 64169 => 'L', + 64170 => 'L', + 64171 => 'L', + 64172 => 'L', + 64173 => 'L', + 64174 => 'L', + 64175 => 'L', + 64176 => 'L', + 64177 => 'L', + 64178 => 'L', + 64179 => 'L', + 64180 => 'L', + 64181 => 'L', + 64182 => 'L', + 64183 => 'L', + 64184 => 'L', + 64185 => 'L', + 64186 => 'L', + 64187 => 'L', + 64188 => 'L', + 64189 => 'L', + 64190 => 'L', + 64191 => 'L', + 64192 => 'L', + 64193 => 'L', + 64194 => 'L', + 64195 => 'L', + 64196 => 'L', + 64197 => 'L', + 64198 => 'L', + 64199 => 'L', + 64200 => 'L', + 64201 => 'L', + 64202 => 'L', + 64203 => 'L', + 64204 => 'L', + 64205 => 'L', + 64206 => 'L', + 64207 => 'L', + 64208 => 'L', + 64209 => 'L', + 64210 => 'L', + 64211 => 'L', + 64212 => 'L', + 64213 => 'L', + 64214 => 'L', + 64215 => 'L', + 64216 => 'L', + 64217 => 'L', + 64256 => 'L', + 64257 => 'L', + 64258 => 'L', + 64259 => 'L', + 64260 => 'L', + 64261 => 'L', + 64262 => 'L', + 64275 => 'L', + 64276 => 'L', + 64277 => 'L', + 64278 => 'L', + 64279 => 'L', + 64285 => 'R', + 64286 => 'NSM', + 64287 => 'R', + 64288 => 'R', + 64289 => 'R', + 64290 => 'R', + 64291 => 'R', + 64292 => 'R', + 64293 => 'R', + 64294 => 'R', + 64295 => 'R', + 64296 => 'R', + 64297 => 'ES', + 64298 => 'R', + 64299 => 'R', + 64300 => 'R', + 64301 => 'R', + 64302 => 'R', + 64303 => 'R', + 64304 => 'R', + 64305 => 'R', + 64306 => 'R', + 64307 => 'R', + 64308 => 'R', + 64309 => 'R', + 64310 => 'R', + 64312 => 'R', + 64313 => 'R', + 64314 => 'R', + 64315 => 'R', + 64316 => 'R', + 64318 => 'R', + 64320 => 'R', + 64321 => 'R', + 64323 => 'R', + 64324 => 'R', + 64326 => 'R', + 64327 => 'R', + 64328 => 'R', + 64329 => 'R', + 64330 => 'R', + 64331 => 'R', + 64332 => 'R', + 64333 => 'R', + 64334 => 'R', + 64335 => 'R', + 64336 => 'AL', + 64337 => 'AL', + 64338 => 'AL', + 64339 => 'AL', + 64340 => 'AL', + 64341 => 'AL', + 64342 => 'AL', + 64343 => 'AL', + 64344 => 'AL', + 64345 => 'AL', + 64346 => 'AL', + 64347 => 'AL', + 64348 => 'AL', + 64349 => 'AL', + 64350 => 'AL', + 64351 => 'AL', + 64352 => 'AL', + 64353 => 'AL', + 64354 => 'AL', + 64355 => 'AL', + 64356 => 'AL', + 64357 => 'AL', + 64358 => 'AL', + 64359 => 'AL', + 64360 => 'AL', + 64361 => 'AL', + 64362 => 'AL', + 64363 => 'AL', + 64364 => 'AL', + 64365 => 'AL', + 64366 => 'AL', + 64367 => 'AL', + 64368 => 'AL', + 64369 => 'AL', + 64370 => 'AL', + 64371 => 'AL', + 64372 => 'AL', + 64373 => 'AL', + 64374 => 'AL', + 64375 => 'AL', + 64376 => 'AL', + 64377 => 'AL', + 64378 => 'AL', + 64379 => 'AL', + 64380 => 'AL', + 64381 => 'AL', + 64382 => 'AL', + 64383 => 'AL', + 64384 => 'AL', + 64385 => 'AL', + 64386 => 'AL', + 64387 => 'AL', + 64388 => 'AL', + 64389 => 'AL', + 64390 => 'AL', + 64391 => 'AL', + 64392 => 'AL', + 64393 => 'AL', + 64394 => 'AL', + 64395 => 'AL', + 64396 => 'AL', + 64397 => 'AL', + 64398 => 'AL', + 64399 => 'AL', + 64400 => 'AL', + 64401 => 'AL', + 64402 => 'AL', + 64403 => 'AL', + 64404 => 'AL', + 64405 => 'AL', + 64406 => 'AL', + 64407 => 'AL', + 64408 => 'AL', + 64409 => 'AL', + 64410 => 'AL', + 64411 => 'AL', + 64412 => 'AL', + 64413 => 'AL', + 64414 => 'AL', + 64415 => 'AL', + 64416 => 'AL', + 64417 => 'AL', + 64418 => 'AL', + 64419 => 'AL', + 64420 => 'AL', + 64421 => 'AL', + 64422 => 'AL', + 64423 => 'AL', + 64424 => 'AL', + 64425 => 'AL', + 64426 => 'AL', + 64427 => 'AL', + 64428 => 'AL', + 64429 => 'AL', + 64430 => 'AL', + 64431 => 'AL', + 64432 => 'AL', + 64433 => 'AL', + 64467 => 'AL', + 64468 => 'AL', + 64469 => 'AL', + 64470 => 'AL', + 64471 => 'AL', + 64472 => 'AL', + 64473 => 'AL', + 64474 => 'AL', + 64475 => 'AL', + 64476 => 'AL', + 64477 => 'AL', + 64478 => 'AL', + 64479 => 'AL', + 64480 => 'AL', + 64481 => 'AL', + 64482 => 'AL', + 64483 => 'AL', + 64484 => 'AL', + 64485 => 'AL', + 64486 => 'AL', + 64487 => 'AL', + 64488 => 'AL', + 64489 => 'AL', + 64490 => 'AL', + 64491 => 'AL', + 64492 => 'AL', + 64493 => 'AL', + 64494 => 'AL', + 64495 => 'AL', + 64496 => 'AL', + 64497 => 'AL', + 64498 => 'AL', + 64499 => 'AL', + 64500 => 'AL', + 64501 => 'AL', + 64502 => 'AL', + 64503 => 'AL', + 64504 => 'AL', + 64505 => 'AL', + 64506 => 'AL', + 64507 => 'AL', + 64508 => 'AL', + 64509 => 'AL', + 64510 => 'AL', + 64511 => 'AL', + 64512 => 'AL', + 64513 => 'AL', + 64514 => 'AL', + 64515 => 'AL', + 64516 => 'AL', + 64517 => 'AL', + 64518 => 'AL', + 64519 => 'AL', + 64520 => 'AL', + 64521 => 'AL', + 64522 => 'AL', + 64523 => 'AL', + 64524 => 'AL', + 64525 => 'AL', + 64526 => 'AL', + 64527 => 'AL', + 64528 => 'AL', + 64529 => 'AL', + 64530 => 'AL', + 64531 => 'AL', + 64532 => 'AL', + 64533 => 'AL', + 64534 => 'AL', + 64535 => 'AL', + 64536 => 'AL', + 64537 => 'AL', + 64538 => 'AL', + 64539 => 'AL', + 64540 => 'AL', + 64541 => 'AL', + 64542 => 'AL', + 64543 => 'AL', + 64544 => 'AL', + 64545 => 'AL', + 64546 => 'AL', + 64547 => 'AL', + 64548 => 'AL', + 64549 => 'AL', + 64550 => 'AL', + 64551 => 'AL', + 64552 => 'AL', + 64553 => 'AL', + 64554 => 'AL', + 64555 => 'AL', + 64556 => 'AL', + 64557 => 'AL', + 64558 => 'AL', + 64559 => 'AL', + 64560 => 'AL', + 64561 => 'AL', + 64562 => 'AL', + 64563 => 'AL', + 64564 => 'AL', + 64565 => 'AL', + 64566 => 'AL', + 64567 => 'AL', + 64568 => 'AL', + 64569 => 'AL', + 64570 => 'AL', + 64571 => 'AL', + 64572 => 'AL', + 64573 => 'AL', + 64574 => 'AL', + 64575 => 'AL', + 64576 => 'AL', + 64577 => 'AL', + 64578 => 'AL', + 64579 => 'AL', + 64580 => 'AL', + 64581 => 'AL', + 64582 => 'AL', + 64583 => 'AL', + 64584 => 'AL', + 64585 => 'AL', + 64586 => 'AL', + 64587 => 'AL', + 64588 => 'AL', + 64589 => 'AL', + 64590 => 'AL', + 64591 => 'AL', + 64592 => 'AL', + 64593 => 'AL', + 64594 => 'AL', + 64595 => 'AL', + 64596 => 'AL', + 64597 => 'AL', + 64598 => 'AL', + 64599 => 'AL', + 64600 => 'AL', + 64601 => 'AL', + 64602 => 'AL', + 64603 => 'AL', + 64604 => 'AL', + 64605 => 'AL', + 64606 => 'AL', + 64607 => 'AL', + 64608 => 'AL', + 64609 => 'AL', + 64610 => 'AL', + 64611 => 'AL', + 64612 => 'AL', + 64613 => 'AL', + 64614 => 'AL', + 64615 => 'AL', + 64616 => 'AL', + 64617 => 'AL', + 64618 => 'AL', + 64619 => 'AL', + 64620 => 'AL', + 64621 => 'AL', + 64622 => 'AL', + 64623 => 'AL', + 64624 => 'AL', + 64625 => 'AL', + 64626 => 'AL', + 64627 => 'AL', + 64628 => 'AL', + 64629 => 'AL', + 64630 => 'AL', + 64631 => 'AL', + 64632 => 'AL', + 64633 => 'AL', + 64634 => 'AL', + 64635 => 'AL', + 64636 => 'AL', + 64637 => 'AL', + 64638 => 'AL', + 64639 => 'AL', + 64640 => 'AL', + 64641 => 'AL', + 64642 => 'AL', + 64643 => 'AL', + 64644 => 'AL', + 64645 => 'AL', + 64646 => 'AL', + 64647 => 'AL', + 64648 => 'AL', + 64649 => 'AL', + 64650 => 'AL', + 64651 => 'AL', + 64652 => 'AL', + 64653 => 'AL', + 64654 => 'AL', + 64655 => 'AL', + 64656 => 'AL', + 64657 => 'AL', + 64658 => 'AL', + 64659 => 'AL', + 64660 => 'AL', + 64661 => 'AL', + 64662 => 'AL', + 64663 => 'AL', + 64664 => 'AL', + 64665 => 'AL', + 64666 => 'AL', + 64667 => 'AL', + 64668 => 'AL', + 64669 => 'AL', + 64670 => 'AL', + 64671 => 'AL', + 64672 => 'AL', + 64673 => 'AL', + 64674 => 'AL', + 64675 => 'AL', + 64676 => 'AL', + 64677 => 'AL', + 64678 => 'AL', + 64679 => 'AL', + 64680 => 'AL', + 64681 => 'AL', + 64682 => 'AL', + 64683 => 'AL', + 64684 => 'AL', + 64685 => 'AL', + 64686 => 'AL', + 64687 => 'AL', + 64688 => 'AL', + 64689 => 'AL', + 64690 => 'AL', + 64691 => 'AL', + 64692 => 'AL', + 64693 => 'AL', + 64694 => 'AL', + 64695 => 'AL', + 64696 => 'AL', + 64697 => 'AL', + 64698 => 'AL', + 64699 => 'AL', + 64700 => 'AL', + 64701 => 'AL', + 64702 => 'AL', + 64703 => 'AL', + 64704 => 'AL', + 64705 => 'AL', + 64706 => 'AL', + 64707 => 'AL', + 64708 => 'AL', + 64709 => 'AL', + 64710 => 'AL', + 64711 => 'AL', + 64712 => 'AL', + 64713 => 'AL', + 64714 => 'AL', + 64715 => 'AL', + 64716 => 'AL', + 64717 => 'AL', + 64718 => 'AL', + 64719 => 'AL', + 64720 => 'AL', + 64721 => 'AL', + 64722 => 'AL', + 64723 => 'AL', + 64724 => 'AL', + 64725 => 'AL', + 64726 => 'AL', + 64727 => 'AL', + 64728 => 'AL', + 64729 => 'AL', + 64730 => 'AL', + 64731 => 'AL', + 64732 => 'AL', + 64733 => 'AL', + 64734 => 'AL', + 64735 => 'AL', + 64736 => 'AL', + 64737 => 'AL', + 64738 => 'AL', + 64739 => 'AL', + 64740 => 'AL', + 64741 => 'AL', + 64742 => 'AL', + 64743 => 'AL', + 64744 => 'AL', + 64745 => 'AL', + 64746 => 'AL', + 64747 => 'AL', + 64748 => 'AL', + 64749 => 'AL', + 64750 => 'AL', + 64751 => 'AL', + 64752 => 'AL', + 64753 => 'AL', + 64754 => 'AL', + 64755 => 'AL', + 64756 => 'AL', + 64757 => 'AL', + 64758 => 'AL', + 64759 => 'AL', + 64760 => 'AL', + 64761 => 'AL', + 64762 => 'AL', + 64763 => 'AL', + 64764 => 'AL', + 64765 => 'AL', + 64766 => 'AL', + 64767 => 'AL', + 64768 => 'AL', + 64769 => 'AL', + 64770 => 'AL', + 64771 => 'AL', + 64772 => 'AL', + 64773 => 'AL', + 64774 => 'AL', + 64775 => 'AL', + 64776 => 'AL', + 64777 => 'AL', + 64778 => 'AL', + 64779 => 'AL', + 64780 => 'AL', + 64781 => 'AL', + 64782 => 'AL', + 64783 => 'AL', + 64784 => 'AL', + 64785 => 'AL', + 64786 => 'AL', + 64787 => 'AL', + 64788 => 'AL', + 64789 => 'AL', + 64790 => 'AL', + 64791 => 'AL', + 64792 => 'AL', + 64793 => 'AL', + 64794 => 'AL', + 64795 => 'AL', + 64796 => 'AL', + 64797 => 'AL', + 64798 => 'AL', + 64799 => 'AL', + 64800 => 'AL', + 64801 => 'AL', + 64802 => 'AL', + 64803 => 'AL', + 64804 => 'AL', + 64805 => 'AL', + 64806 => 'AL', + 64807 => 'AL', + 64808 => 'AL', + 64809 => 'AL', + 64810 => 'AL', + 64811 => 'AL', + 64812 => 'AL', + 64813 => 'AL', + 64814 => 'AL', + 64815 => 'AL', + 64816 => 'AL', + 64817 => 'AL', + 64818 => 'AL', + 64819 => 'AL', + 64820 => 'AL', + 64821 => 'AL', + 64822 => 'AL', + 64823 => 'AL', + 64824 => 'AL', + 64825 => 'AL', + 64826 => 'AL', + 64827 => 'AL', + 64828 => 'AL', + 64829 => 'AL', + 64830 => 'ON', + 64831 => 'ON', + 64848 => 'AL', + 64849 => 'AL', + 64850 => 'AL', + 64851 => 'AL', + 64852 => 'AL', + 64853 => 'AL', + 64854 => 'AL', + 64855 => 'AL', + 64856 => 'AL', + 64857 => 'AL', + 64858 => 'AL', + 64859 => 'AL', + 64860 => 'AL', + 64861 => 'AL', + 64862 => 'AL', + 64863 => 'AL', + 64864 => 'AL', + 64865 => 'AL', + 64866 => 'AL', + 64867 => 'AL', + 64868 => 'AL', + 64869 => 'AL', + 64870 => 'AL', + 64871 => 'AL', + 64872 => 'AL', + 64873 => 'AL', + 64874 => 'AL', + 64875 => 'AL', + 64876 => 'AL', + 64877 => 'AL', + 64878 => 'AL', + 64879 => 'AL', + 64880 => 'AL', + 64881 => 'AL', + 64882 => 'AL', + 64883 => 'AL', + 64884 => 'AL', + 64885 => 'AL', + 64886 => 'AL', + 64887 => 'AL', + 64888 => 'AL', + 64889 => 'AL', + 64890 => 'AL', + 64891 => 'AL', + 64892 => 'AL', + 64893 => 'AL', + 64894 => 'AL', + 64895 => 'AL', + 64896 => 'AL', + 64897 => 'AL', + 64898 => 'AL', + 64899 => 'AL', + 64900 => 'AL', + 64901 => 'AL', + 64902 => 'AL', + 64903 => 'AL', + 64904 => 'AL', + 64905 => 'AL', + 64906 => 'AL', + 64907 => 'AL', + 64908 => 'AL', + 64909 => 'AL', + 64910 => 'AL', + 64911 => 'AL', + 64914 => 'AL', + 64915 => 'AL', + 64916 => 'AL', + 64917 => 'AL', + 64918 => 'AL', + 64919 => 'AL', + 64920 => 'AL', + 64921 => 'AL', + 64922 => 'AL', + 64923 => 'AL', + 64924 => 'AL', + 64925 => 'AL', + 64926 => 'AL', + 64927 => 'AL', + 64928 => 'AL', + 64929 => 'AL', + 64930 => 'AL', + 64931 => 'AL', + 64932 => 'AL', + 64933 => 'AL', + 64934 => 'AL', + 64935 => 'AL', + 64936 => 'AL', + 64937 => 'AL', + 64938 => 'AL', + 64939 => 'AL', + 64940 => 'AL', + 64941 => 'AL', + 64942 => 'AL', + 64943 => 'AL', + 64944 => 'AL', + 64945 => 'AL', + 64946 => 'AL', + 64947 => 'AL', + 64948 => 'AL', + 64949 => 'AL', + 64950 => 'AL', + 64951 => 'AL', + 64952 => 'AL', + 64953 => 'AL', + 64954 => 'AL', + 64955 => 'AL', + 64956 => 'AL', + 64957 => 'AL', + 64958 => 'AL', + 64959 => 'AL', + 64960 => 'AL', + 64961 => 'AL', + 64962 => 'AL', + 64963 => 'AL', + 64964 => 'AL', + 64965 => 'AL', + 64966 => 'AL', + 64967 => 'AL', + 65008 => 'AL', + 65009 => 'AL', + 65010 => 'AL', + 65011 => 'AL', + 65012 => 'AL', + 65013 => 'AL', + 65014 => 'AL', + 65015 => 'AL', + 65016 => 'AL', + 65017 => 'AL', + 65018 => 'AL', + 65019 => 'AL', + 65020 => 'AL', + 65021 => 'ON', + 65024 => 'NSM', + 65025 => 'NSM', + 65026 => 'NSM', + 65027 => 'NSM', + 65028 => 'NSM', + 65029 => 'NSM', + 65030 => 'NSM', + 65031 => 'NSM', + 65032 => 'NSM', + 65033 => 'NSM', + 65034 => 'NSM', + 65035 => 'NSM', + 65036 => 'NSM', + 65037 => 'NSM', + 65038 => 'NSM', + 65039 => 'NSM', + 65040 => 'ON', + 65041 => 'ON', + 65042 => 'ON', + 65043 => 'ON', + 65044 => 'ON', + 65045 => 'ON', + 65046 => 'ON', + 65047 => 'ON', + 65048 => 'ON', + 65049 => 'ON', + 65056 => 'NSM', + 65057 => 'NSM', + 65058 => 'NSM', + 65059 => 'NSM', + 65072 => 'ON', + 65073 => 'ON', + 65074 => 'ON', + 65075 => 'ON', + 65076 => 'ON', + 65077 => 'ON', + 65078 => 'ON', + 65079 => 'ON', + 65080 => 'ON', + 65081 => 'ON', + 65082 => 'ON', + 65083 => 'ON', + 65084 => 'ON', + 65085 => 'ON', + 65086 => 'ON', + 65087 => 'ON', + 65088 => 'ON', + 65089 => 'ON', + 65090 => 'ON', + 65091 => 'ON', + 65092 => 'ON', + 65093 => 'ON', + 65094 => 'ON', + 65095 => 'ON', + 65096 => 'ON', + 65097 => 'ON', + 65098 => 'ON', + 65099 => 'ON', + 65100 => 'ON', + 65101 => 'ON', + 65102 => 'ON', + 65103 => 'ON', + 65104 => 'CS', + 65105 => 'ON', + 65106 => 'CS', + 65108 => 'ON', + 65109 => 'CS', + 65110 => 'ON', + 65111 => 'ON', + 65112 => 'ON', + 65113 => 'ON', + 65114 => 'ON', + 65115 => 'ON', + 65116 => 'ON', + 65117 => 'ON', + 65118 => 'ON', + 65119 => 'ET', + 65120 => 'ON', + 65121 => 'ON', + 65122 => 'ES', + 65123 => 'ES', + 65124 => 'ON', + 65125 => 'ON', + 65126 => 'ON', + 65128 => 'ON', + 65129 => 'ET', + 65130 => 'ET', + 65131 => 'ON', + 65136 => 'AL', + 65137 => 'AL', + 65138 => 'AL', + 65139 => 'AL', + 65140 => 'AL', + 65142 => 'AL', + 65143 => 'AL', + 65144 => 'AL', + 65145 => 'AL', + 65146 => 'AL', + 65147 => 'AL', + 65148 => 'AL', + 65149 => 'AL', + 65150 => 'AL', + 65151 => 'AL', + 65152 => 'AL', + 65153 => 'AL', + 65154 => 'AL', + 65155 => 'AL', + 65156 => 'AL', + 65157 => 'AL', + 65158 => 'AL', + 65159 => 'AL', + 65160 => 'AL', + 65161 => 'AL', + 65162 => 'AL', + 65163 => 'AL', + 65164 => 'AL', + 65165 => 'AL', + 65166 => 'AL', + 65167 => 'AL', + 65168 => 'AL', + 65169 => 'AL', + 65170 => 'AL', + 65171 => 'AL', + 65172 => 'AL', + 65173 => 'AL', + 65174 => 'AL', + 65175 => 'AL', + 65176 => 'AL', + 65177 => 'AL', + 65178 => 'AL', + 65179 => 'AL', + 65180 => 'AL', + 65181 => 'AL', + 65182 => 'AL', + 65183 => 'AL', + 65184 => 'AL', + 65185 => 'AL', + 65186 => 'AL', + 65187 => 'AL', + 65188 => 'AL', + 65189 => 'AL', + 65190 => 'AL', + 65191 => 'AL', + 65192 => 'AL', + 65193 => 'AL', + 65194 => 'AL', + 65195 => 'AL', + 65196 => 'AL', + 65197 => 'AL', + 65198 => 'AL', + 65199 => 'AL', + 65200 => 'AL', + 65201 => 'AL', + 65202 => 'AL', + 65203 => 'AL', + 65204 => 'AL', + 65205 => 'AL', + 65206 => 'AL', + 65207 => 'AL', + 65208 => 'AL', + 65209 => 'AL', + 65210 => 'AL', + 65211 => 'AL', + 65212 => 'AL', + 65213 => 'AL', + 65214 => 'AL', + 65215 => 'AL', + 65216 => 'AL', + 65217 => 'AL', + 65218 => 'AL', + 65219 => 'AL', + 65220 => 'AL', + 65221 => 'AL', + 65222 => 'AL', + 65223 => 'AL', + 65224 => 'AL', + 65225 => 'AL', + 65226 => 'AL', + 65227 => 'AL', + 65228 => 'AL', + 65229 => 'AL', + 65230 => 'AL', + 65231 => 'AL', + 65232 => 'AL', + 65233 => 'AL', + 65234 => 'AL', + 65235 => 'AL', + 65236 => 'AL', + 65237 => 'AL', + 65238 => 'AL', + 65239 => 'AL', + 65240 => 'AL', + 65241 => 'AL', + 65242 => 'AL', + 65243 => 'AL', + 65244 => 'AL', + 65245 => 'AL', + 65246 => 'AL', + 65247 => 'AL', + 65248 => 'AL', + 65249 => 'AL', + 65250 => 'AL', + 65251 => 'AL', + 65252 => 'AL', + 65253 => 'AL', + 65254 => 'AL', + 65255 => 'AL', + 65256 => 'AL', + 65257 => 'AL', + 65258 => 'AL', + 65259 => 'AL', + 65260 => 'AL', + 65261 => 'AL', + 65262 => 'AL', + 65263 => 'AL', + 65264 => 'AL', + 65265 => 'AL', + 65266 => 'AL', + 65267 => 'AL', + 65268 => 'AL', + 65269 => 'AL', + 65270 => 'AL', + 65271 => 'AL', + 65272 => 'AL', + 65273 => 'AL', + 65274 => 'AL', + 65275 => 'AL', + 65276 => 'AL', + 65279 => 'BN', + 65281 => 'ON', + 65282 => 'ON', + 65283 => 'ET', + 65284 => 'ET', + 65285 => 'ET', + 65286 => 'ON', + 65287 => 'ON', + 65288 => 'ON', + 65289 => 'ON', + 65290 => 'ON', + 65291 => 'ES', + 65292 => 'CS', + 65293 => 'ES', + 65294 => 'CS', + 65295 => 'CS', + 65296 => 'EN', + 65297 => 'EN', + 65298 => 'EN', + 65299 => 'EN', + 65300 => 'EN', + 65301 => 'EN', + 65302 => 'EN', + 65303 => 'EN', + 65304 => 'EN', + 65305 => 'EN', + 65306 => 'CS', + 65307 => 'ON', + 65308 => 'ON', + 65309 => 'ON', + 65310 => 'ON', + 65311 => 'ON', + 65312 => 'ON', + 65313 => 'L', + 65314 => 'L', + 65315 => 'L', + 65316 => 'L', + 65317 => 'L', + 65318 => 'L', + 65319 => 'L', + 65320 => 'L', + 65321 => 'L', + 65322 => 'L', + 65323 => 'L', + 65324 => 'L', + 65325 => 'L', + 65326 => 'L', + 65327 => 'L', + 65328 => 'L', + 65329 => 'L', + 65330 => 'L', + 65331 => 'L', + 65332 => 'L', + 65333 => 'L', + 65334 => 'L', + 65335 => 'L', + 65336 => 'L', + 65337 => 'L', + 65338 => 'L', + 65339 => 'ON', + 65340 => 'ON', + 65341 => 'ON', + 65342 => 'ON', + 65343 => 'ON', + 65344 => 'ON', + 65345 => 'L', + 65346 => 'L', + 65347 => 'L', + 65348 => 'L', + 65349 => 'L', + 65350 => 'L', + 65351 => 'L', + 65352 => 'L', + 65353 => 'L', + 65354 => 'L', + 65355 => 'L', + 65356 => 'L', + 65357 => 'L', + 65358 => 'L', + 65359 => 'L', + 65360 => 'L', + 65361 => 'L', + 65362 => 'L', + 65363 => 'L', + 65364 => 'L', + 65365 => 'L', + 65366 => 'L', + 65367 => 'L', + 65368 => 'L', + 65369 => 'L', + 65370 => 'L', + 65371 => 'ON', + 65372 => 'ON', + 65373 => 'ON', + 65374 => 'ON', + 65375 => 'ON', + 65376 => 'ON', + 65377 => 'ON', + 65378 => 'ON', + 65379 => 'ON', + 65380 => 'ON', + 65381 => 'ON', + 65382 => 'L', + 65383 => 'L', + 65384 => 'L', + 65385 => 'L', + 65386 => 'L', + 65387 => 'L', + 65388 => 'L', + 65389 => 'L', + 65390 => 'L', + 65391 => 'L', + 65392 => 'L', + 65393 => 'L', + 65394 => 'L', + 65395 => 'L', + 65396 => 'L', + 65397 => 'L', + 65398 => 'L', + 65399 => 'L', + 65400 => 'L', + 65401 => 'L', + 65402 => 'L', + 65403 => 'L', + 65404 => 'L', + 65405 => 'L', + 65406 => 'L', + 65407 => 'L', + 65408 => 'L', + 65409 => 'L', + 65410 => 'L', + 65411 => 'L', + 65412 => 'L', + 65413 => 'L', + 65414 => 'L', + 65415 => 'L', + 65416 => 'L', + 65417 => 'L', + 65418 => 'L', + 65419 => 'L', + 65420 => 'L', + 65421 => 'L', + 65422 => 'L', + 65423 => 'L', + 65424 => 'L', + 65425 => 'L', + 65426 => 'L', + 65427 => 'L', + 65428 => 'L', + 65429 => 'L', + 65430 => 'L', + 65431 => 'L', + 65432 => 'L', + 65433 => 'L', + 65434 => 'L', + 65435 => 'L', + 65436 => 'L', + 65437 => 'L', + 65438 => 'L', + 65439 => 'L', + 65440 => 'L', + 65441 => 'L', + 65442 => 'L', + 65443 => 'L', + 65444 => 'L', + 65445 => 'L', + 65446 => 'L', + 65447 => 'L', + 65448 => 'L', + 65449 => 'L', + 65450 => 'L', + 65451 => 'L', + 65452 => 'L', + 65453 => 'L', + 65454 => 'L', + 65455 => 'L', + 65456 => 'L', + 65457 => 'L', + 65458 => 'L', + 65459 => 'L', + 65460 => 'L', + 65461 => 'L', + 65462 => 'L', + 65463 => 'L', + 65464 => 'L', + 65465 => 'L', + 65466 => 'L', + 65467 => 'L', + 65468 => 'L', + 65469 => 'L', + 65470 => 'L', + 65474 => 'L', + 65475 => 'L', + 65476 => 'L', + 65477 => 'L', + 65478 => 'L', + 65479 => 'L', + 65482 => 'L', + 65483 => 'L', + 65484 => 'L', + 65485 => 'L', + 65486 => 'L', + 65487 => 'L', + 65490 => 'L', + 65491 => 'L', + 65492 => 'L', + 65493 => 'L', + 65494 => 'L', + 65495 => 'L', + 65498 => 'L', + 65499 => 'L', + 65500 => 'L', + 65504 => 'ET', + 65505 => 'ET', + 65506 => 'ON', + 65507 => 'ON', + 65508 => 'ON', + 65509 => 'ET', + 65510 => 'ET', + 65512 => 'ON', + 65513 => 'ON', + 65514 => 'ON', + 65515 => 'ON', + 65516 => 'ON', + 65517 => 'ON', + 65518 => 'ON', + 65529 => 'ON', + 65530 => 'ON', + 65531 => 'ON', + 65532 => 'ON', + 65533 => 'ON', + 65536 => 'L', + 65537 => 'L', + 65538 => 'L', + 65539 => 'L', + 65540 => 'L', + 65541 => 'L', + 65542 => 'L', + 65543 => 'L', + 65544 => 'L', + 65545 => 'L', + 65546 => 'L', + 65547 => 'L', + 65549 => 'L', + 65550 => 'L', + 65551 => 'L', + 65552 => 'L', + 65553 => 'L', + 65554 => 'L', + 65555 => 'L', + 65556 => 'L', + 65557 => 'L', + 65558 => 'L', + 65559 => 'L', + 65560 => 'L', + 65561 => 'L', + 65562 => 'L', + 65563 => 'L', + 65564 => 'L', + 65565 => 'L', + 65566 => 'L', + 65567 => 'L', + 65568 => 'L', + 65569 => 'L', + 65570 => 'L', + 65571 => 'L', + 65572 => 'L', + 65573 => 'L', + 65574 => 'L', + 65576 => 'L', + 65577 => 'L', + 65578 => 'L', + 65579 => 'L', + 65580 => 'L', + 65581 => 'L', + 65582 => 'L', + 65583 => 'L', + 65584 => 'L', + 65585 => 'L', + 65586 => 'L', + 65587 => 'L', + 65588 => 'L', + 65589 => 'L', + 65590 => 'L', + 65591 => 'L', + 65592 => 'L', + 65593 => 'L', + 65594 => 'L', + 65596 => 'L', + 65597 => 'L', + 65599 => 'L', + 65600 => 'L', + 65601 => 'L', + 65602 => 'L', + 65603 => 'L', + 65604 => 'L', + 65605 => 'L', + 65606 => 'L', + 65607 => 'L', + 65608 => 'L', + 65609 => 'L', + 65610 => 'L', + 65611 => 'L', + 65612 => 'L', + 65613 => 'L', + 65616 => 'L', + 65617 => 'L', + 65618 => 'L', + 65619 => 'L', + 65620 => 'L', + 65621 => 'L', + 65622 => 'L', + 65623 => 'L', + 65624 => 'L', + 65625 => 'L', + 65626 => 'L', + 65627 => 'L', + 65628 => 'L', + 65629 => 'L', + 65664 => 'L', + 65665 => 'L', + 65666 => 'L', + 65667 => 'L', + 65668 => 'L', + 65669 => 'L', + 65670 => 'L', + 65671 => 'L', + 65672 => 'L', + 65673 => 'L', + 65674 => 'L', + 65675 => 'L', + 65676 => 'L', + 65677 => 'L', + 65678 => 'L', + 65679 => 'L', + 65680 => 'L', + 65681 => 'L', + 65682 => 'L', + 65683 => 'L', + 65684 => 'L', + 65685 => 'L', + 65686 => 'L', + 65687 => 'L', + 65688 => 'L', + 65689 => 'L', + 65690 => 'L', + 65691 => 'L', + 65692 => 'L', + 65693 => 'L', + 65694 => 'L', + 65695 => 'L', + 65696 => 'L', + 65697 => 'L', + 65698 => 'L', + 65699 => 'L', + 65700 => 'L', + 65701 => 'L', + 65702 => 'L', + 65703 => 'L', + 65704 => 'L', + 65705 => 'L', + 65706 => 'L', + 65707 => 'L', + 65708 => 'L', + 65709 => 'L', + 65710 => 'L', + 65711 => 'L', + 65712 => 'L', + 65713 => 'L', + 65714 => 'L', + 65715 => 'L', + 65716 => 'L', + 65717 => 'L', + 65718 => 'L', + 65719 => 'L', + 65720 => 'L', + 65721 => 'L', + 65722 => 'L', + 65723 => 'L', + 65724 => 'L', + 65725 => 'L', + 65726 => 'L', + 65727 => 'L', + 65728 => 'L', + 65729 => 'L', + 65730 => 'L', + 65731 => 'L', + 65732 => 'L', + 65733 => 'L', + 65734 => 'L', + 65735 => 'L', + 65736 => 'L', + 65737 => 'L', + 65738 => 'L', + 65739 => 'L', + 65740 => 'L', + 65741 => 'L', + 65742 => 'L', + 65743 => 'L', + 65744 => 'L', + 65745 => 'L', + 65746 => 'L', + 65747 => 'L', + 65748 => 'L', + 65749 => 'L', + 65750 => 'L', + 65751 => 'L', + 65752 => 'L', + 65753 => 'L', + 65754 => 'L', + 65755 => 'L', + 65756 => 'L', + 65757 => 'L', + 65758 => 'L', + 65759 => 'L', + 65760 => 'L', + 65761 => 'L', + 65762 => 'L', + 65763 => 'L', + 65764 => 'L', + 65765 => 'L', + 65766 => 'L', + 65767 => 'L', + 65768 => 'L', + 65769 => 'L', + 65770 => 'L', + 65771 => 'L', + 65772 => 'L', + 65773 => 'L', + 65774 => 'L', + 65775 => 'L', + 65776 => 'L', + 65777 => 'L', + 65778 => 'L', + 65779 => 'L', + 65780 => 'L', + 65781 => 'L', + 65782 => 'L', + 65783 => 'L', + 65784 => 'L', + 65785 => 'L', + 65786 => 'L', + 65792 => 'L', + 65793 => 'ON', + 65794 => 'L', + 65799 => 'L', + 65800 => 'L', + 65801 => 'L', + 65802 => 'L', + 65803 => 'L', + 65804 => 'L', + 65805 => 'L', + 65806 => 'L', + 65807 => 'L', + 65808 => 'L', + 65809 => 'L', + 65810 => 'L', + 65811 => 'L', + 65812 => 'L', + 65813 => 'L', + 65814 => 'L', + 65815 => 'L', + 65816 => 'L', + 65817 => 'L', + 65818 => 'L', + 65819 => 'L', + 65820 => 'L', + 65821 => 'L', + 65822 => 'L', + 65823 => 'L', + 65824 => 'L', + 65825 => 'L', + 65826 => 'L', + 65827 => 'L', + 65828 => 'L', + 65829 => 'L', + 65830 => 'L', + 65831 => 'L', + 65832 => 'L', + 65833 => 'L', + 65834 => 'L', + 65835 => 'L', + 65836 => 'L', + 65837 => 'L', + 65838 => 'L', + 65839 => 'L', + 65840 => 'L', + 65841 => 'L', + 65842 => 'L', + 65843 => 'L', + 65847 => 'L', + 65848 => 'L', + 65849 => 'L', + 65850 => 'L', + 65851 => 'L', + 65852 => 'L', + 65853 => 'L', + 65854 => 'L', + 65855 => 'L', + 65856 => 'ON', + 65857 => 'ON', + 65858 => 'ON', + 65859 => 'ON', + 65860 => 'ON', + 65861 => 'ON', + 65862 => 'ON', + 65863 => 'ON', + 65864 => 'ON', + 65865 => 'ON', + 65866 => 'ON', + 65867 => 'ON', + 65868 => 'ON', + 65869 => 'ON', + 65870 => 'ON', + 65871 => 'ON', + 65872 => 'ON', + 65873 => 'ON', + 65874 => 'ON', + 65875 => 'ON', + 65876 => 'ON', + 65877 => 'ON', + 65878 => 'ON', + 65879 => 'ON', + 65880 => 'ON', + 65881 => 'ON', + 65882 => 'ON', + 65883 => 'ON', + 65884 => 'ON', + 65885 => 'ON', + 65886 => 'ON', + 65887 => 'ON', + 65888 => 'ON', + 65889 => 'ON', + 65890 => 'ON', + 65891 => 'ON', + 65892 => 'ON', + 65893 => 'ON', + 65894 => 'ON', + 65895 => 'ON', + 65896 => 'ON', + 65897 => 'ON', + 65898 => 'ON', + 65899 => 'ON', + 65900 => 'ON', + 65901 => 'ON', + 65902 => 'ON', + 65903 => 'ON', + 65904 => 'ON', + 65905 => 'ON', + 65906 => 'ON', + 65907 => 'ON', + 65908 => 'ON', + 65909 => 'ON', + 65910 => 'ON', + 65911 => 'ON', + 65912 => 'ON', + 65913 => 'ON', + 65914 => 'ON', + 65915 => 'ON', + 65916 => 'ON', + 65917 => 'ON', + 65918 => 'ON', + 65919 => 'ON', + 65920 => 'ON', + 65921 => 'ON', + 65922 => 'ON', + 65923 => 'ON', + 65924 => 'ON', + 65925 => 'ON', + 65926 => 'ON', + 65927 => 'ON', + 65928 => 'ON', + 65929 => 'ON', + 65930 => 'ON', + 66304 => 'L', + 66305 => 'L', + 66306 => 'L', + 66307 => 'L', + 66308 => 'L', + 66309 => 'L', + 66310 => 'L', + 66311 => 'L', + 66312 => 'L', + 66313 => 'L', + 66314 => 'L', + 66315 => 'L', + 66316 => 'L', + 66317 => 'L', + 66318 => 'L', + 66319 => 'L', + 66320 => 'L', + 66321 => 'L', + 66322 => 'L', + 66323 => 'L', + 66324 => 'L', + 66325 => 'L', + 66326 => 'L', + 66327 => 'L', + 66328 => 'L', + 66329 => 'L', + 66330 => 'L', + 66331 => 'L', + 66332 => 'L', + 66333 => 'L', + 66334 => 'L', + 66336 => 'L', + 66337 => 'L', + 66338 => 'L', + 66339 => 'L', + 66352 => 'L', + 66353 => 'L', + 66354 => 'L', + 66355 => 'L', + 66356 => 'L', + 66357 => 'L', + 66358 => 'L', + 66359 => 'L', + 66360 => 'L', + 66361 => 'L', + 66362 => 'L', + 66363 => 'L', + 66364 => 'L', + 66365 => 'L', + 66366 => 'L', + 66367 => 'L', + 66368 => 'L', + 66369 => 'L', + 66370 => 'L', + 66371 => 'L', + 66372 => 'L', + 66373 => 'L', + 66374 => 'L', + 66375 => 'L', + 66376 => 'L', + 66377 => 'L', + 66378 => 'L', + 66432 => 'L', + 66433 => 'L', + 66434 => 'L', + 66435 => 'L', + 66436 => 'L', + 66437 => 'L', + 66438 => 'L', + 66439 => 'L', + 66440 => 'L', + 66441 => 'L', + 66442 => 'L', + 66443 => 'L', + 66444 => 'L', + 66445 => 'L', + 66446 => 'L', + 66447 => 'L', + 66448 => 'L', + 66449 => 'L', + 66450 => 'L', + 66451 => 'L', + 66452 => 'L', + 66453 => 'L', + 66454 => 'L', + 66455 => 'L', + 66456 => 'L', + 66457 => 'L', + 66458 => 'L', + 66459 => 'L', + 66460 => 'L', + 66461 => 'L', + 66463 => 'L', + 66464 => 'L', + 66465 => 'L', + 66466 => 'L', + 66467 => 'L', + 66468 => 'L', + 66469 => 'L', + 66470 => 'L', + 66471 => 'L', + 66472 => 'L', + 66473 => 'L', + 66474 => 'L', + 66475 => 'L', + 66476 => 'L', + 66477 => 'L', + 66478 => 'L', + 66479 => 'L', + 66480 => 'L', + 66481 => 'L', + 66482 => 'L', + 66483 => 'L', + 66484 => 'L', + 66485 => 'L', + 66486 => 'L', + 66487 => 'L', + 66488 => 'L', + 66489 => 'L', + 66490 => 'L', + 66491 => 'L', + 66492 => 'L', + 66493 => 'L', + 66494 => 'L', + 66495 => 'L', + 66496 => 'L', + 66497 => 'L', + 66498 => 'L', + 66499 => 'L', + 66504 => 'L', + 66505 => 'L', + 66506 => 'L', + 66507 => 'L', + 66508 => 'L', + 66509 => 'L', + 66510 => 'L', + 66511 => 'L', + 66512 => 'L', + 66513 => 'L', + 66514 => 'L', + 66515 => 'L', + 66516 => 'L', + 66517 => 'L', + 66560 => 'L', + 66561 => 'L', + 66562 => 'L', + 66563 => 'L', + 66564 => 'L', + 66565 => 'L', + 66566 => 'L', + 66567 => 'L', + 66568 => 'L', + 66569 => 'L', + 66570 => 'L', + 66571 => 'L', + 66572 => 'L', + 66573 => 'L', + 66574 => 'L', + 66575 => 'L', + 66576 => 'L', + 66577 => 'L', + 66578 => 'L', + 66579 => 'L', + 66580 => 'L', + 66581 => 'L', + 66582 => 'L', + 66583 => 'L', + 66584 => 'L', + 66585 => 'L', + 66586 => 'L', + 66587 => 'L', + 66588 => 'L', + 66589 => 'L', + 66590 => 'L', + 66591 => 'L', + 66592 => 'L', + 66593 => 'L', + 66594 => 'L', + 66595 => 'L', + 66596 => 'L', + 66597 => 'L', + 66598 => 'L', + 66599 => 'L', + 66600 => 'L', + 66601 => 'L', + 66602 => 'L', + 66603 => 'L', + 66604 => 'L', + 66605 => 'L', + 66606 => 'L', + 66607 => 'L', + 66608 => 'L', + 66609 => 'L', + 66610 => 'L', + 66611 => 'L', + 66612 => 'L', + 66613 => 'L', + 66614 => 'L', + 66615 => 'L', + 66616 => 'L', + 66617 => 'L', + 66618 => 'L', + 66619 => 'L', + 66620 => 'L', + 66621 => 'L', + 66622 => 'L', + 66623 => 'L', + 66624 => 'L', + 66625 => 'L', + 66626 => 'L', + 66627 => 'L', + 66628 => 'L', + 66629 => 'L', + 66630 => 'L', + 66631 => 'L', + 66632 => 'L', + 66633 => 'L', + 66634 => 'L', + 66635 => 'L', + 66636 => 'L', + 66637 => 'L', + 66638 => 'L', + 66639 => 'L', + 66640 => 'L', + 66641 => 'L', + 66642 => 'L', + 66643 => 'L', + 66644 => 'L', + 66645 => 'L', + 66646 => 'L', + 66647 => 'L', + 66648 => 'L', + 66649 => 'L', + 66650 => 'L', + 66651 => 'L', + 66652 => 'L', + 66653 => 'L', + 66654 => 'L', + 66655 => 'L', + 66656 => 'L', + 66657 => 'L', + 66658 => 'L', + 66659 => 'L', + 66660 => 'L', + 66661 => 'L', + 66662 => 'L', + 66663 => 'L', + 66664 => 'L', + 66665 => 'L', + 66666 => 'L', + 66667 => 'L', + 66668 => 'L', + 66669 => 'L', + 66670 => 'L', + 66671 => 'L', + 66672 => 'L', + 66673 => 'L', + 66674 => 'L', + 66675 => 'L', + 66676 => 'L', + 66677 => 'L', + 66678 => 'L', + 66679 => 'L', + 66680 => 'L', + 66681 => 'L', + 66682 => 'L', + 66683 => 'L', + 66684 => 'L', + 66685 => 'L', + 66686 => 'L', + 66687 => 'L', + 66688 => 'L', + 66689 => 'L', + 66690 => 'L', + 66691 => 'L', + 66692 => 'L', + 66693 => 'L', + 66694 => 'L', + 66695 => 'L', + 66696 => 'L', + 66697 => 'L', + 66698 => 'L', + 66699 => 'L', + 66700 => 'L', + 66701 => 'L', + 66702 => 'L', + 66703 => 'L', + 66704 => 'L', + 66705 => 'L', + 66706 => 'L', + 66707 => 'L', + 66708 => 'L', + 66709 => 'L', + 66710 => 'L', + 66711 => 'L', + 66712 => 'L', + 66713 => 'L', + 66714 => 'L', + 66715 => 'L', + 66716 => 'L', + 66717 => 'L', + 66720 => 'L', + 66721 => 'L', + 66722 => 'L', + 66723 => 'L', + 66724 => 'L', + 66725 => 'L', + 66726 => 'L', + 66727 => 'L', + 66728 => 'L', + 66729 => 'L', + 67584 => 'R', + 67585 => 'R', + 67586 => 'R', + 67587 => 'R', + 67588 => 'R', + 67589 => 'R', + 67592 => 'R', + 67594 => 'R', + 67595 => 'R', + 67596 => 'R', + 67597 => 'R', + 67598 => 'R', + 67599 => 'R', + 67600 => 'R', + 67601 => 'R', + 67602 => 'R', + 67603 => 'R', + 67604 => 'R', + 67605 => 'R', + 67606 => 'R', + 67607 => 'R', + 67608 => 'R', + 67609 => 'R', + 67610 => 'R', + 67611 => 'R', + 67612 => 'R', + 67613 => 'R', + 67614 => 'R', + 67615 => 'R', + 67616 => 'R', + 67617 => 'R', + 67618 => 'R', + 67619 => 'R', + 67620 => 'R', + 67621 => 'R', + 67622 => 'R', + 67623 => 'R', + 67624 => 'R', + 67625 => 'R', + 67626 => 'R', + 67627 => 'R', + 67628 => 'R', + 67629 => 'R', + 67630 => 'R', + 67631 => 'R', + 67632 => 'R', + 67633 => 'R', + 67634 => 'R', + 67635 => 'R', + 67636 => 'R', + 67637 => 'R', + 67639 => 'R', + 67640 => 'R', + 67644 => 'R', + 67647 => 'R', + 67840 => 'R', + 67841 => 'R', + 67842 => 'R', + 67843 => 'R', + 67844 => 'R', + 67845 => 'R', + 67846 => 'R', + 67847 => 'R', + 67848 => 'R', + 67849 => 'R', + 67850 => 'R', + 67851 => 'R', + 67852 => 'R', + 67853 => 'R', + 67854 => 'R', + 67855 => 'R', + 67856 => 'R', + 67857 => 'R', + 67858 => 'R', + 67859 => 'R', + 67860 => 'R', + 67861 => 'R', + 67862 => 'R', + 67863 => 'R', + 67864 => 'R', + 67865 => 'R', + 67871 => 'ON', + 68096 => 'R', + 68097 => 'NSM', + 68098 => 'NSM', + 68099 => 'NSM', + 68101 => 'NSM', + 68102 => 'NSM', + 68108 => 'NSM', + 68109 => 'NSM', + 68110 => 'NSM', + 68111 => 'NSM', + 68112 => 'R', + 68113 => 'R', + 68114 => 'R', + 68115 => 'R', + 68117 => 'R', + 68118 => 'R', + 68119 => 'R', + 68121 => 'R', + 68122 => 'R', + 68123 => 'R', + 68124 => 'R', + 68125 => 'R', + 68126 => 'R', + 68127 => 'R', + 68128 => 'R', + 68129 => 'R', + 68130 => 'R', + 68131 => 'R', + 68132 => 'R', + 68133 => 'R', + 68134 => 'R', + 68135 => 'R', + 68136 => 'R', + 68137 => 'R', + 68138 => 'R', + 68139 => 'R', + 68140 => 'R', + 68141 => 'R', + 68142 => 'R', + 68143 => 'R', + 68144 => 'R', + 68145 => 'R', + 68146 => 'R', + 68147 => 'R', + 68152 => 'NSM', + 68153 => 'NSM', + 68154 => 'NSM', + 68159 => 'NSM', + 68160 => 'R', + 68161 => 'R', + 68162 => 'R', + 68163 => 'R', + 68164 => 'R', + 68165 => 'R', + 68166 => 'R', + 68167 => 'R', + 68176 => 'R', + 68177 => 'R', + 68178 => 'R', + 68179 => 'R', + 68180 => 'R', + 68181 => 'R', + 68182 => 'R', + 68183 => 'R', + 68184 => 'R', + 73728 => 'L', + 73729 => 'L', + 73730 => 'L', + 73731 => 'L', + 73732 => 'L', + 73733 => 'L', + 73734 => 'L', + 73735 => 'L', + 73736 => 'L', + 73737 => 'L', + 73738 => 'L', + 73739 => 'L', + 73740 => 'L', + 73741 => 'L', + 73742 => 'L', + 73743 => 'L', + 73744 => 'L', + 73745 => 'L', + 73746 => 'L', + 73747 => 'L', + 73748 => 'L', + 73749 => 'L', + 73750 => 'L', + 73751 => 'L', + 73752 => 'L', + 73753 => 'L', + 73754 => 'L', + 73755 => 'L', + 73756 => 'L', + 73757 => 'L', + 73758 => 'L', + 73759 => 'L', + 73760 => 'L', + 73761 => 'L', + 73762 => 'L', + 73763 => 'L', + 73764 => 'L', + 73765 => 'L', + 73766 => 'L', + 73767 => 'L', + 73768 => 'L', + 73769 => 'L', + 73770 => 'L', + 73771 => 'L', + 73772 => 'L', + 73773 => 'L', + 73774 => 'L', + 73775 => 'L', + 73776 => 'L', + 73777 => 'L', + 73778 => 'L', + 73779 => 'L', + 73780 => 'L', + 73781 => 'L', + 73782 => 'L', + 73783 => 'L', + 73784 => 'L', + 73785 => 'L', + 73786 => 'L', + 73787 => 'L', + 73788 => 'L', + 73789 => 'L', + 73790 => 'L', + 73791 => 'L', + 73792 => 'L', + 73793 => 'L', + 73794 => 'L', + 73795 => 'L', + 73796 => 'L', + 73797 => 'L', + 73798 => 'L', + 73799 => 'L', + 73800 => 'L', + 73801 => 'L', + 73802 => 'L', + 73803 => 'L', + 73804 => 'L', + 73805 => 'L', + 73806 => 'L', + 73807 => 'L', + 73808 => 'L', + 73809 => 'L', + 73810 => 'L', + 73811 => 'L', + 73812 => 'L', + 73813 => 'L', + 73814 => 'L', + 73815 => 'L', + 73816 => 'L', + 73817 => 'L', + 73818 => 'L', + 73819 => 'L', + 73820 => 'L', + 73821 => 'L', + 73822 => 'L', + 73823 => 'L', + 73824 => 'L', + 73825 => 'L', + 73826 => 'L', + 73827 => 'L', + 73828 => 'L', + 73829 => 'L', + 73830 => 'L', + 73831 => 'L', + 73832 => 'L', + 73833 => 'L', + 73834 => 'L', + 73835 => 'L', + 73836 => 'L', + 73837 => 'L', + 73838 => 'L', + 73839 => 'L', + 73840 => 'L', + 73841 => 'L', + 73842 => 'L', + 73843 => 'L', + 73844 => 'L', + 73845 => 'L', + 73846 => 'L', + 73847 => 'L', + 73848 => 'L', + 73849 => 'L', + 73850 => 'L', + 73851 => 'L', + 73852 => 'L', + 73853 => 'L', + 73854 => 'L', + 73855 => 'L', + 73856 => 'L', + 73857 => 'L', + 73858 => 'L', + 73859 => 'L', + 73860 => 'L', + 73861 => 'L', + 73862 => 'L', + 73863 => 'L', + 73864 => 'L', + 73865 => 'L', + 73866 => 'L', + 73867 => 'L', + 73868 => 'L', + 73869 => 'L', + 73870 => 'L', + 73871 => 'L', + 73872 => 'L', + 73873 => 'L', + 73874 => 'L', + 73875 => 'L', + 73876 => 'L', + 73877 => 'L', + 73878 => 'L', + 73879 => 'L', + 73880 => 'L', + 73881 => 'L', + 73882 => 'L', + 73883 => 'L', + 73884 => 'L', + 73885 => 'L', + 73886 => 'L', + 73887 => 'L', + 73888 => 'L', + 73889 => 'L', + 73890 => 'L', + 73891 => 'L', + 73892 => 'L', + 73893 => 'L', + 73894 => 'L', + 73895 => 'L', + 73896 => 'L', + 73897 => 'L', + 73898 => 'L', + 73899 => 'L', + 73900 => 'L', + 73901 => 'L', + 73902 => 'L', + 73903 => 'L', + 73904 => 'L', + 73905 => 'L', + 73906 => 'L', + 73907 => 'L', + 73908 => 'L', + 73909 => 'L', + 73910 => 'L', + 73911 => 'L', + 73912 => 'L', + 73913 => 'L', + 73914 => 'L', + 73915 => 'L', + 73916 => 'L', + 73917 => 'L', + 73918 => 'L', + 73919 => 'L', + 73920 => 'L', + 73921 => 'L', + 73922 => 'L', + 73923 => 'L', + 73924 => 'L', + 73925 => 'L', + 73926 => 'L', + 73927 => 'L', + 73928 => 'L', + 73929 => 'L', + 73930 => 'L', + 73931 => 'L', + 73932 => 'L', + 73933 => 'L', + 73934 => 'L', + 73935 => 'L', + 73936 => 'L', + 73937 => 'L', + 73938 => 'L', + 73939 => 'L', + 73940 => 'L', + 73941 => 'L', + 73942 => 'L', + 73943 => 'L', + 73944 => 'L', + 73945 => 'L', + 73946 => 'L', + 73947 => 'L', + 73948 => 'L', + 73949 => 'L', + 73950 => 'L', + 73951 => 'L', + 73952 => 'L', + 73953 => 'L', + 73954 => 'L', + 73955 => 'L', + 73956 => 'L', + 73957 => 'L', + 73958 => 'L', + 73959 => 'L', + 73960 => 'L', + 73961 => 'L', + 73962 => 'L', + 73963 => 'L', + 73964 => 'L', + 73965 => 'L', + 73966 => 'L', + 73967 => 'L', + 73968 => 'L', + 73969 => 'L', + 73970 => 'L', + 73971 => 'L', + 73972 => 'L', + 73973 => 'L', + 73974 => 'L', + 73975 => 'L', + 73976 => 'L', + 73977 => 'L', + 73978 => 'L', + 73979 => 'L', + 73980 => 'L', + 73981 => 'L', + 73982 => 'L', + 73983 => 'L', + 73984 => 'L', + 73985 => 'L', + 73986 => 'L', + 73987 => 'L', + 73988 => 'L', + 73989 => 'L', + 73990 => 'L', + 73991 => 'L', + 73992 => 'L', + 73993 => 'L', + 73994 => 'L', + 73995 => 'L', + 73996 => 'L', + 73997 => 'L', + 73998 => 'L', + 73999 => 'L', + 74000 => 'L', + 74001 => 'L', + 74002 => 'L', + 74003 => 'L', + 74004 => 'L', + 74005 => 'L', + 74006 => 'L', + 74007 => 'L', + 74008 => 'L', + 74009 => 'L', + 74010 => 'L', + 74011 => 'L', + 74012 => 'L', + 74013 => 'L', + 74014 => 'L', + 74015 => 'L', + 74016 => 'L', + 74017 => 'L', + 74018 => 'L', + 74019 => 'L', + 74020 => 'L', + 74021 => 'L', + 74022 => 'L', + 74023 => 'L', + 74024 => 'L', + 74025 => 'L', + 74026 => 'L', + 74027 => 'L', + 74028 => 'L', + 74029 => 'L', + 74030 => 'L', + 74031 => 'L', + 74032 => 'L', + 74033 => 'L', + 74034 => 'L', + 74035 => 'L', + 74036 => 'L', + 74037 => 'L', + 74038 => 'L', + 74039 => 'L', + 74040 => 'L', + 74041 => 'L', + 74042 => 'L', + 74043 => 'L', + 74044 => 'L', + 74045 => 'L', + 74046 => 'L', + 74047 => 'L', + 74048 => 'L', + 74049 => 'L', + 74050 => 'L', + 74051 => 'L', + 74052 => 'L', + 74053 => 'L', + 74054 => 'L', + 74055 => 'L', + 74056 => 'L', + 74057 => 'L', + 74058 => 'L', + 74059 => 'L', + 74060 => 'L', + 74061 => 'L', + 74062 => 'L', + 74063 => 'L', + 74064 => 'L', + 74065 => 'L', + 74066 => 'L', + 74067 => 'L', + 74068 => 'L', + 74069 => 'L', + 74070 => 'L', + 74071 => 'L', + 74072 => 'L', + 74073 => 'L', + 74074 => 'L', + 74075 => 'L', + 74076 => 'L', + 74077 => 'L', + 74078 => 'L', + 74079 => 'L', + 74080 => 'L', + 74081 => 'L', + 74082 => 'L', + 74083 => 'L', + 74084 => 'L', + 74085 => 'L', + 74086 => 'L', + 74087 => 'L', + 74088 => 'L', + 74089 => 'L', + 74090 => 'L', + 74091 => 'L', + 74092 => 'L', + 74093 => 'L', + 74094 => 'L', + 74095 => 'L', + 74096 => 'L', + 74097 => 'L', + 74098 => 'L', + 74099 => 'L', + 74100 => 'L', + 74101 => 'L', + 74102 => 'L', + 74103 => 'L', + 74104 => 'L', + 74105 => 'L', + 74106 => 'L', + 74107 => 'L', + 74108 => 'L', + 74109 => 'L', + 74110 => 'L', + 74111 => 'L', + 74112 => 'L', + 74113 => 'L', + 74114 => 'L', + 74115 => 'L', + 74116 => 'L', + 74117 => 'L', + 74118 => 'L', + 74119 => 'L', + 74120 => 'L', + 74121 => 'L', + 74122 => 'L', + 74123 => 'L', + 74124 => 'L', + 74125 => 'L', + 74126 => 'L', + 74127 => 'L', + 74128 => 'L', + 74129 => 'L', + 74130 => 'L', + 74131 => 'L', + 74132 => 'L', + 74133 => 'L', + 74134 => 'L', + 74135 => 'L', + 74136 => 'L', + 74137 => 'L', + 74138 => 'L', + 74139 => 'L', + 74140 => 'L', + 74141 => 'L', + 74142 => 'L', + 74143 => 'L', + 74144 => 'L', + 74145 => 'L', + 74146 => 'L', + 74147 => 'L', + 74148 => 'L', + 74149 => 'L', + 74150 => 'L', + 74151 => 'L', + 74152 => 'L', + 74153 => 'L', + 74154 => 'L', + 74155 => 'L', + 74156 => 'L', + 74157 => 'L', + 74158 => 'L', + 74159 => 'L', + 74160 => 'L', + 74161 => 'L', + 74162 => 'L', + 74163 => 'L', + 74164 => 'L', + 74165 => 'L', + 74166 => 'L', + 74167 => 'L', + 74168 => 'L', + 74169 => 'L', + 74170 => 'L', + 74171 => 'L', + 74172 => 'L', + 74173 => 'L', + 74174 => 'L', + 74175 => 'L', + 74176 => 'L', + 74177 => 'L', + 74178 => 'L', + 74179 => 'L', + 74180 => 'L', + 74181 => 'L', + 74182 => 'L', + 74183 => 'L', + 74184 => 'L', + 74185 => 'L', + 74186 => 'L', + 74187 => 'L', + 74188 => 'L', + 74189 => 'L', + 74190 => 'L', + 74191 => 'L', + 74192 => 'L', + 74193 => 'L', + 74194 => 'L', + 74195 => 'L', + 74196 => 'L', + 74197 => 'L', + 74198 => 'L', + 74199 => 'L', + 74200 => 'L', + 74201 => 'L', + 74202 => 'L', + 74203 => 'L', + 74204 => 'L', + 74205 => 'L', + 74206 => 'L', + 74207 => 'L', + 74208 => 'L', + 74209 => 'L', + 74210 => 'L', + 74211 => 'L', + 74212 => 'L', + 74213 => 'L', + 74214 => 'L', + 74215 => 'L', + 74216 => 'L', + 74217 => 'L', + 74218 => 'L', + 74219 => 'L', + 74220 => 'L', + 74221 => 'L', + 74222 => 'L', + 74223 => 'L', + 74224 => 'L', + 74225 => 'L', + 74226 => 'L', + 74227 => 'L', + 74228 => 'L', + 74229 => 'L', + 74230 => 'L', + 74231 => 'L', + 74232 => 'L', + 74233 => 'L', + 74234 => 'L', + 74235 => 'L', + 74236 => 'L', + 74237 => 'L', + 74238 => 'L', + 74239 => 'L', + 74240 => 'L', + 74241 => 'L', + 74242 => 'L', + 74243 => 'L', + 74244 => 'L', + 74245 => 'L', + 74246 => 'L', + 74247 => 'L', + 74248 => 'L', + 74249 => 'L', + 74250 => 'L', + 74251 => 'L', + 74252 => 'L', + 74253 => 'L', + 74254 => 'L', + 74255 => 'L', + 74256 => 'L', + 74257 => 'L', + 74258 => 'L', + 74259 => 'L', + 74260 => 'L', + 74261 => 'L', + 74262 => 'L', + 74263 => 'L', + 74264 => 'L', + 74265 => 'L', + 74266 => 'L', + 74267 => 'L', + 74268 => 'L', + 74269 => 'L', + 74270 => 'L', + 74271 => 'L', + 74272 => 'L', + 74273 => 'L', + 74274 => 'L', + 74275 => 'L', + 74276 => 'L', + 74277 => 'L', + 74278 => 'L', + 74279 => 'L', + 74280 => 'L', + 74281 => 'L', + 74282 => 'L', + 74283 => 'L', + 74284 => 'L', + 74285 => 'L', + 74286 => 'L', + 74287 => 'L', + 74288 => 'L', + 74289 => 'L', + 74290 => 'L', + 74291 => 'L', + 74292 => 'L', + 74293 => 'L', + 74294 => 'L', + 74295 => 'L', + 74296 => 'L', + 74297 => 'L', + 74298 => 'L', + 74299 => 'L', + 74300 => 'L', + 74301 => 'L', + 74302 => 'L', + 74303 => 'L', + 74304 => 'L', + 74305 => 'L', + 74306 => 'L', + 74307 => 'L', + 74308 => 'L', + 74309 => 'L', + 74310 => 'L', + 74311 => 'L', + 74312 => 'L', + 74313 => 'L', + 74314 => 'L', + 74315 => 'L', + 74316 => 'L', + 74317 => 'L', + 74318 => 'L', + 74319 => 'L', + 74320 => 'L', + 74321 => 'L', + 74322 => 'L', + 74323 => 'L', + 74324 => 'L', + 74325 => 'L', + 74326 => 'L', + 74327 => 'L', + 74328 => 'L', + 74329 => 'L', + 74330 => 'L', + 74331 => 'L', + 74332 => 'L', + 74333 => 'L', + 74334 => 'L', + 74335 => 'L', + 74336 => 'L', + 74337 => 'L', + 74338 => 'L', + 74339 => 'L', + 74340 => 'L', + 74341 => 'L', + 74342 => 'L', + 74343 => 'L', + 74344 => 'L', + 74345 => 'L', + 74346 => 'L', + 74347 => 'L', + 74348 => 'L', + 74349 => 'L', + 74350 => 'L', + 74351 => 'L', + 74352 => 'L', + 74353 => 'L', + 74354 => 'L', + 74355 => 'L', + 74356 => 'L', + 74357 => 'L', + 74358 => 'L', + 74359 => 'L', + 74360 => 'L', + 74361 => 'L', + 74362 => 'L', + 74363 => 'L', + 74364 => 'L', + 74365 => 'L', + 74366 => 'L', + 74367 => 'L', + 74368 => 'L', + 74369 => 'L', + 74370 => 'L', + 74371 => 'L', + 74372 => 'L', + 74373 => 'L', + 74374 => 'L', + 74375 => 'L', + 74376 => 'L', + 74377 => 'L', + 74378 => 'L', + 74379 => 'L', + 74380 => 'L', + 74381 => 'L', + 74382 => 'L', + 74383 => 'L', + 74384 => 'L', + 74385 => 'L', + 74386 => 'L', + 74387 => 'L', + 74388 => 'L', + 74389 => 'L', + 74390 => 'L', + 74391 => 'L', + 74392 => 'L', + 74393 => 'L', + 74394 => 'L', + 74395 => 'L', + 74396 => 'L', + 74397 => 'L', + 74398 => 'L', + 74399 => 'L', + 74400 => 'L', + 74401 => 'L', + 74402 => 'L', + 74403 => 'L', + 74404 => 'L', + 74405 => 'L', + 74406 => 'L', + 74407 => 'L', + 74408 => 'L', + 74409 => 'L', + 74410 => 'L', + 74411 => 'L', + 74412 => 'L', + 74413 => 'L', + 74414 => 'L', + 74415 => 'L', + 74416 => 'L', + 74417 => 'L', + 74418 => 'L', + 74419 => 'L', + 74420 => 'L', + 74421 => 'L', + 74422 => 'L', + 74423 => 'L', + 74424 => 'L', + 74425 => 'L', + 74426 => 'L', + 74427 => 'L', + 74428 => 'L', + 74429 => 'L', + 74430 => 'L', + 74431 => 'L', + 74432 => 'L', + 74433 => 'L', + 74434 => 'L', + 74435 => 'L', + 74436 => 'L', + 74437 => 'L', + 74438 => 'L', + 74439 => 'L', + 74440 => 'L', + 74441 => 'L', + 74442 => 'L', + 74443 => 'L', + 74444 => 'L', + 74445 => 'L', + 74446 => 'L', + 74447 => 'L', + 74448 => 'L', + 74449 => 'L', + 74450 => 'L', + 74451 => 'L', + 74452 => 'L', + 74453 => 'L', + 74454 => 'L', + 74455 => 'L', + 74456 => 'L', + 74457 => 'L', + 74458 => 'L', + 74459 => 'L', + 74460 => 'L', + 74461 => 'L', + 74462 => 'L', + 74463 => 'L', + 74464 => 'L', + 74465 => 'L', + 74466 => 'L', + 74467 => 'L', + 74468 => 'L', + 74469 => 'L', + 74470 => 'L', + 74471 => 'L', + 74472 => 'L', + 74473 => 'L', + 74474 => 'L', + 74475 => 'L', + 74476 => 'L', + 74477 => 'L', + 74478 => 'L', + 74479 => 'L', + 74480 => 'L', + 74481 => 'L', + 74482 => 'L', + 74483 => 'L', + 74484 => 'L', + 74485 => 'L', + 74486 => 'L', + 74487 => 'L', + 74488 => 'L', + 74489 => 'L', + 74490 => 'L', + 74491 => 'L', + 74492 => 'L', + 74493 => 'L', + 74494 => 'L', + 74495 => 'L', + 74496 => 'L', + 74497 => 'L', + 74498 => 'L', + 74499 => 'L', + 74500 => 'L', + 74501 => 'L', + 74502 => 'L', + 74503 => 'L', + 74504 => 'L', + 74505 => 'L', + 74506 => 'L', + 74507 => 'L', + 74508 => 'L', + 74509 => 'L', + 74510 => 'L', + 74511 => 'L', + 74512 => 'L', + 74513 => 'L', + 74514 => 'L', + 74515 => 'L', + 74516 => 'L', + 74517 => 'L', + 74518 => 'L', + 74519 => 'L', + 74520 => 'L', + 74521 => 'L', + 74522 => 'L', + 74523 => 'L', + 74524 => 'L', + 74525 => 'L', + 74526 => 'L', + 74527 => 'L', + 74528 => 'L', + 74529 => 'L', + 74530 => 'L', + 74531 => 'L', + 74532 => 'L', + 74533 => 'L', + 74534 => 'L', + 74535 => 'L', + 74536 => 'L', + 74537 => 'L', + 74538 => 'L', + 74539 => 'L', + 74540 => 'L', + 74541 => 'L', + 74542 => 'L', + 74543 => 'L', + 74544 => 'L', + 74545 => 'L', + 74546 => 'L', + 74547 => 'L', + 74548 => 'L', + 74549 => 'L', + 74550 => 'L', + 74551 => 'L', + 74552 => 'L', + 74553 => 'L', + 74554 => 'L', + 74555 => 'L', + 74556 => 'L', + 74557 => 'L', + 74558 => 'L', + 74559 => 'L', + 74560 => 'L', + 74561 => 'L', + 74562 => 'L', + 74563 => 'L', + 74564 => 'L', + 74565 => 'L', + 74566 => 'L', + 74567 => 'L', + 74568 => 'L', + 74569 => 'L', + 74570 => 'L', + 74571 => 'L', + 74572 => 'L', + 74573 => 'L', + 74574 => 'L', + 74575 => 'L', + 74576 => 'L', + 74577 => 'L', + 74578 => 'L', + 74579 => 'L', + 74580 => 'L', + 74581 => 'L', + 74582 => 'L', + 74583 => 'L', + 74584 => 'L', + 74585 => 'L', + 74586 => 'L', + 74587 => 'L', + 74588 => 'L', + 74589 => 'L', + 74590 => 'L', + 74591 => 'L', + 74592 => 'L', + 74593 => 'L', + 74594 => 'L', + 74595 => 'L', + 74596 => 'L', + 74597 => 'L', + 74598 => 'L', + 74599 => 'L', + 74600 => 'L', + 74601 => 'L', + 74602 => 'L', + 74603 => 'L', + 74604 => 'L', + 74605 => 'L', + 74606 => 'L', + 74752 => 'L', + 74753 => 'L', + 74754 => 'L', + 74755 => 'L', + 74756 => 'L', + 74757 => 'L', + 74758 => 'L', + 74759 => 'L', + 74760 => 'L', + 74761 => 'L', + 74762 => 'L', + 74763 => 'L', + 74764 => 'L', + 74765 => 'L', + 74766 => 'L', + 74767 => 'L', + 74768 => 'L', + 74769 => 'L', + 74770 => 'L', + 74771 => 'L', + 74772 => 'L', + 74773 => 'L', + 74774 => 'L', + 74775 => 'L', + 74776 => 'L', + 74777 => 'L', + 74778 => 'L', + 74779 => 'L', + 74780 => 'L', + 74781 => 'L', + 74782 => 'L', + 74783 => 'L', + 74784 => 'L', + 74785 => 'L', + 74786 => 'L', + 74787 => 'L', + 74788 => 'L', + 74789 => 'L', + 74790 => 'L', + 74791 => 'L', + 74792 => 'L', + 74793 => 'L', + 74794 => 'L', + 74795 => 'L', + 74796 => 'L', + 74797 => 'L', + 74798 => 'L', + 74799 => 'L', + 74800 => 'L', + 74801 => 'L', + 74802 => 'L', + 74803 => 'L', + 74804 => 'L', + 74805 => 'L', + 74806 => 'L', + 74807 => 'L', + 74808 => 'L', + 74809 => 'L', + 74810 => 'L', + 74811 => 'L', + 74812 => 'L', + 74813 => 'L', + 74814 => 'L', + 74815 => 'L', + 74816 => 'L', + 74817 => 'L', + 74818 => 'L', + 74819 => 'L', + 74820 => 'L', + 74821 => 'L', + 74822 => 'L', + 74823 => 'L', + 74824 => 'L', + 74825 => 'L', + 74826 => 'L', + 74827 => 'L', + 74828 => 'L', + 74829 => 'L', + 74830 => 'L', + 74831 => 'L', + 74832 => 'L', + 74833 => 'L', + 74834 => 'L', + 74835 => 'L', + 74836 => 'L', + 74837 => 'L', + 74838 => 'L', + 74839 => 'L', + 74840 => 'L', + 74841 => 'L', + 74842 => 'L', + 74843 => 'L', + 74844 => 'L', + 74845 => 'L', + 74846 => 'L', + 74847 => 'L', + 74848 => 'L', + 74849 => 'L', + 74850 => 'L', + 74864 => 'L', + 74865 => 'L', + 74866 => 'L', + 74867 => 'L', + 118784 => 'L', + 118785 => 'L', + 118786 => 'L', + 118787 => 'L', + 118788 => 'L', + 118789 => 'L', + 118790 => 'L', + 118791 => 'L', + 118792 => 'L', + 118793 => 'L', + 118794 => 'L', + 118795 => 'L', + 118796 => 'L', + 118797 => 'L', + 118798 => 'L', + 118799 => 'L', + 118800 => 'L', + 118801 => 'L', + 118802 => 'L', + 118803 => 'L', + 118804 => 'L', + 118805 => 'L', + 118806 => 'L', + 118807 => 'L', + 118808 => 'L', + 118809 => 'L', + 118810 => 'L', + 118811 => 'L', + 118812 => 'L', + 118813 => 'L', + 118814 => 'L', + 118815 => 'L', + 118816 => 'L', + 118817 => 'L', + 118818 => 'L', + 118819 => 'L', + 118820 => 'L', + 118821 => 'L', + 118822 => 'L', + 118823 => 'L', + 118824 => 'L', + 118825 => 'L', + 118826 => 'L', + 118827 => 'L', + 118828 => 'L', + 118829 => 'L', + 118830 => 'L', + 118831 => 'L', + 118832 => 'L', + 118833 => 'L', + 118834 => 'L', + 118835 => 'L', + 118836 => 'L', + 118837 => 'L', + 118838 => 'L', + 118839 => 'L', + 118840 => 'L', + 118841 => 'L', + 118842 => 'L', + 118843 => 'L', + 118844 => 'L', + 118845 => 'L', + 118846 => 'L', + 118847 => 'L', + 118848 => 'L', + 118849 => 'L', + 118850 => 'L', + 118851 => 'L', + 118852 => 'L', + 118853 => 'L', + 118854 => 'L', + 118855 => 'L', + 118856 => 'L', + 118857 => 'L', + 118858 => 'L', + 118859 => 'L', + 118860 => 'L', + 118861 => 'L', + 118862 => 'L', + 118863 => 'L', + 118864 => 'L', + 118865 => 'L', + 118866 => 'L', + 118867 => 'L', + 118868 => 'L', + 118869 => 'L', + 118870 => 'L', + 118871 => 'L', + 118872 => 'L', + 118873 => 'L', + 118874 => 'L', + 118875 => 'L', + 118876 => 'L', + 118877 => 'L', + 118878 => 'L', + 118879 => 'L', + 118880 => 'L', + 118881 => 'L', + 118882 => 'L', + 118883 => 'L', + 118884 => 'L', + 118885 => 'L', + 118886 => 'L', + 118887 => 'L', + 118888 => 'L', + 118889 => 'L', + 118890 => 'L', + 118891 => 'L', + 118892 => 'L', + 118893 => 'L', + 118894 => 'L', + 118895 => 'L', + 118896 => 'L', + 118897 => 'L', + 118898 => 'L', + 118899 => 'L', + 118900 => 'L', + 118901 => 'L', + 118902 => 'L', + 118903 => 'L', + 118904 => 'L', + 118905 => 'L', + 118906 => 'L', + 118907 => 'L', + 118908 => 'L', + 118909 => 'L', + 118910 => 'L', + 118911 => 'L', + 118912 => 'L', + 118913 => 'L', + 118914 => 'L', + 118915 => 'L', + 118916 => 'L', + 118917 => 'L', + 118918 => 'L', + 118919 => 'L', + 118920 => 'L', + 118921 => 'L', + 118922 => 'L', + 118923 => 'L', + 118924 => 'L', + 118925 => 'L', + 118926 => 'L', + 118927 => 'L', + 118928 => 'L', + 118929 => 'L', + 118930 => 'L', + 118931 => 'L', + 118932 => 'L', + 118933 => 'L', + 118934 => 'L', + 118935 => 'L', + 118936 => 'L', + 118937 => 'L', + 118938 => 'L', + 118939 => 'L', + 118940 => 'L', + 118941 => 'L', + 118942 => 'L', + 118943 => 'L', + 118944 => 'L', + 118945 => 'L', + 118946 => 'L', + 118947 => 'L', + 118948 => 'L', + 118949 => 'L', + 118950 => 'L', + 118951 => 'L', + 118952 => 'L', + 118953 => 'L', + 118954 => 'L', + 118955 => 'L', + 118956 => 'L', + 118957 => 'L', + 118958 => 'L', + 118959 => 'L', + 118960 => 'L', + 118961 => 'L', + 118962 => 'L', + 118963 => 'L', + 118964 => 'L', + 118965 => 'L', + 118966 => 'L', + 118967 => 'L', + 118968 => 'L', + 118969 => 'L', + 118970 => 'L', + 118971 => 'L', + 118972 => 'L', + 118973 => 'L', + 118974 => 'L', + 118975 => 'L', + 118976 => 'L', + 118977 => 'L', + 118978 => 'L', + 118979 => 'L', + 118980 => 'L', + 118981 => 'L', + 118982 => 'L', + 118983 => 'L', + 118984 => 'L', + 118985 => 'L', + 118986 => 'L', + 118987 => 'L', + 118988 => 'L', + 118989 => 'L', + 118990 => 'L', + 118991 => 'L', + 118992 => 'L', + 118993 => 'L', + 118994 => 'L', + 118995 => 'L', + 118996 => 'L', + 118997 => 'L', + 118998 => 'L', + 118999 => 'L', + 119000 => 'L', + 119001 => 'L', + 119002 => 'L', + 119003 => 'L', + 119004 => 'L', + 119005 => 'L', + 119006 => 'L', + 119007 => 'L', + 119008 => 'L', + 119009 => 'L', + 119010 => 'L', + 119011 => 'L', + 119012 => 'L', + 119013 => 'L', + 119014 => 'L', + 119015 => 'L', + 119016 => 'L', + 119017 => 'L', + 119018 => 'L', + 119019 => 'L', + 119020 => 'L', + 119021 => 'L', + 119022 => 'L', + 119023 => 'L', + 119024 => 'L', + 119025 => 'L', + 119026 => 'L', + 119027 => 'L', + 119028 => 'L', + 119029 => 'L', + 119040 => 'L', + 119041 => 'L', + 119042 => 'L', + 119043 => 'L', + 119044 => 'L', + 119045 => 'L', + 119046 => 'L', + 119047 => 'L', + 119048 => 'L', + 119049 => 'L', + 119050 => 'L', + 119051 => 'L', + 119052 => 'L', + 119053 => 'L', + 119054 => 'L', + 119055 => 'L', + 119056 => 'L', + 119057 => 'L', + 119058 => 'L', + 119059 => 'L', + 119060 => 'L', + 119061 => 'L', + 119062 => 'L', + 119063 => 'L', + 119064 => 'L', + 119065 => 'L', + 119066 => 'L', + 119067 => 'L', + 119068 => 'L', + 119069 => 'L', + 119070 => 'L', + 119071 => 'L', + 119072 => 'L', + 119073 => 'L', + 119074 => 'L', + 119075 => 'L', + 119076 => 'L', + 119077 => 'L', + 119078 => 'L', + 119082 => 'L', + 119083 => 'L', + 119084 => 'L', + 119085 => 'L', + 119086 => 'L', + 119087 => 'L', + 119088 => 'L', + 119089 => 'L', + 119090 => 'L', + 119091 => 'L', + 119092 => 'L', + 119093 => 'L', + 119094 => 'L', + 119095 => 'L', + 119096 => 'L', + 119097 => 'L', + 119098 => 'L', + 119099 => 'L', + 119100 => 'L', + 119101 => 'L', + 119102 => 'L', + 119103 => 'L', + 119104 => 'L', + 119105 => 'L', + 119106 => 'L', + 119107 => 'L', + 119108 => 'L', + 119109 => 'L', + 119110 => 'L', + 119111 => 'L', + 119112 => 'L', + 119113 => 'L', + 119114 => 'L', + 119115 => 'L', + 119116 => 'L', + 119117 => 'L', + 119118 => 'L', + 119119 => 'L', + 119120 => 'L', + 119121 => 'L', + 119122 => 'L', + 119123 => 'L', + 119124 => 'L', + 119125 => 'L', + 119126 => 'L', + 119127 => 'L', + 119128 => 'L', + 119129 => 'L', + 119130 => 'L', + 119131 => 'L', + 119132 => 'L', + 119133 => 'L', + 119134 => 'L', + 119135 => 'L', + 119136 => 'L', + 119137 => 'L', + 119138 => 'L', + 119139 => 'L', + 119140 => 'L', + 119141 => 'L', + 119142 => 'L', + 119143 => 'NSM', + 119144 => 'NSM', + 119145 => 'NSM', + 119146 => 'L', + 119147 => 'L', + 119148 => 'L', + 119149 => 'L', + 119150 => 'L', + 119151 => 'L', + 119152 => 'L', + 119153 => 'L', + 119154 => 'L', + 119155 => 'BN', + 119156 => 'BN', + 119157 => 'BN', + 119158 => 'BN', + 119159 => 'BN', + 119160 => 'BN', + 119161 => 'BN', + 119162 => 'BN', + 119163 => 'NSM', + 119164 => 'NSM', + 119165 => 'NSM', + 119166 => 'NSM', + 119167 => 'NSM', + 119168 => 'NSM', + 119169 => 'NSM', + 119170 => 'NSM', + 119171 => 'L', + 119172 => 'L', + 119173 => 'NSM', + 119174 => 'NSM', + 119175 => 'NSM', + 119176 => 'NSM', + 119177 => 'NSM', + 119178 => 'NSM', + 119179 => 'NSM', + 119180 => 'L', + 119181 => 'L', + 119182 => 'L', + 119183 => 'L', + 119184 => 'L', + 119185 => 'L', + 119186 => 'L', + 119187 => 'L', + 119188 => 'L', + 119189 => 'L', + 119190 => 'L', + 119191 => 'L', + 119192 => 'L', + 119193 => 'L', + 119194 => 'L', + 119195 => 'L', + 119196 => 'L', + 119197 => 'L', + 119198 => 'L', + 119199 => 'L', + 119200 => 'L', + 119201 => 'L', + 119202 => 'L', + 119203 => 'L', + 119204 => 'L', + 119205 => 'L', + 119206 => 'L', + 119207 => 'L', + 119208 => 'L', + 119209 => 'L', + 119210 => 'NSM', + 119211 => 'NSM', + 119212 => 'NSM', + 119213 => 'NSM', + 119214 => 'L', + 119215 => 'L', + 119216 => 'L', + 119217 => 'L', + 119218 => 'L', + 119219 => 'L', + 119220 => 'L', + 119221 => 'L', + 119222 => 'L', + 119223 => 'L', + 119224 => 'L', + 119225 => 'L', + 119226 => 'L', + 119227 => 'L', + 119228 => 'L', + 119229 => 'L', + 119230 => 'L', + 119231 => 'L', + 119232 => 'L', + 119233 => 'L', + 119234 => 'L', + 119235 => 'L', + 119236 => 'L', + 119237 => 'L', + 119238 => 'L', + 119239 => 'L', + 119240 => 'L', + 119241 => 'L', + 119242 => 'L', + 119243 => 'L', + 119244 => 'L', + 119245 => 'L', + 119246 => 'L', + 119247 => 'L', + 119248 => 'L', + 119249 => 'L', + 119250 => 'L', + 119251 => 'L', + 119252 => 'L', + 119253 => 'L', + 119254 => 'L', + 119255 => 'L', + 119256 => 'L', + 119257 => 'L', + 119258 => 'L', + 119259 => 'L', + 119260 => 'L', + 119261 => 'L', + 119296 => 'ON', + 119297 => 'ON', + 119298 => 'ON', + 119299 => 'ON', + 119300 => 'ON', + 119301 => 'ON', + 119302 => 'ON', + 119303 => 'ON', + 119304 => 'ON', + 119305 => 'ON', + 119306 => 'ON', + 119307 => 'ON', + 119308 => 'ON', + 119309 => 'ON', + 119310 => 'ON', + 119311 => 'ON', + 119312 => 'ON', + 119313 => 'ON', + 119314 => 'ON', + 119315 => 'ON', + 119316 => 'ON', + 119317 => 'ON', + 119318 => 'ON', + 119319 => 'ON', + 119320 => 'ON', + 119321 => 'ON', + 119322 => 'ON', + 119323 => 'ON', + 119324 => 'ON', + 119325 => 'ON', + 119326 => 'ON', + 119327 => 'ON', + 119328 => 'ON', + 119329 => 'ON', + 119330 => 'ON', + 119331 => 'ON', + 119332 => 'ON', + 119333 => 'ON', + 119334 => 'ON', + 119335 => 'ON', + 119336 => 'ON', + 119337 => 'ON', + 119338 => 'ON', + 119339 => 'ON', + 119340 => 'ON', + 119341 => 'ON', + 119342 => 'ON', + 119343 => 'ON', + 119344 => 'ON', + 119345 => 'ON', + 119346 => 'ON', + 119347 => 'ON', + 119348 => 'ON', + 119349 => 'ON', + 119350 => 'ON', + 119351 => 'ON', + 119352 => 'ON', + 119353 => 'ON', + 119354 => 'ON', + 119355 => 'ON', + 119356 => 'ON', + 119357 => 'ON', + 119358 => 'ON', + 119359 => 'ON', + 119360 => 'ON', + 119361 => 'ON', + 119362 => 'NSM', + 119363 => 'NSM', + 119364 => 'NSM', + 119365 => 'ON', + 119552 => 'ON', + 119553 => 'ON', + 119554 => 'ON', + 119555 => 'ON', + 119556 => 'ON', + 119557 => 'ON', + 119558 => 'ON', + 119559 => 'ON', + 119560 => 'ON', + 119561 => 'ON', + 119562 => 'ON', + 119563 => 'ON', + 119564 => 'ON', + 119565 => 'ON', + 119566 => 'ON', + 119567 => 'ON', + 119568 => 'ON', + 119569 => 'ON', + 119570 => 'ON', + 119571 => 'ON', + 119572 => 'ON', + 119573 => 'ON', + 119574 => 'ON', + 119575 => 'ON', + 119576 => 'ON', + 119577 => 'ON', + 119578 => 'ON', + 119579 => 'ON', + 119580 => 'ON', + 119581 => 'ON', + 119582 => 'ON', + 119583 => 'ON', + 119584 => 'ON', + 119585 => 'ON', + 119586 => 'ON', + 119587 => 'ON', + 119588 => 'ON', + 119589 => 'ON', + 119590 => 'ON', + 119591 => 'ON', + 119592 => 'ON', + 119593 => 'ON', + 119594 => 'ON', + 119595 => 'ON', + 119596 => 'ON', + 119597 => 'ON', + 119598 => 'ON', + 119599 => 'ON', + 119600 => 'ON', + 119601 => 'ON', + 119602 => 'ON', + 119603 => 'ON', + 119604 => 'ON', + 119605 => 'ON', + 119606 => 'ON', + 119607 => 'ON', + 119608 => 'ON', + 119609 => 'ON', + 119610 => 'ON', + 119611 => 'ON', + 119612 => 'ON', + 119613 => 'ON', + 119614 => 'ON', + 119615 => 'ON', + 119616 => 'ON', + 119617 => 'ON', + 119618 => 'ON', + 119619 => 'ON', + 119620 => 'ON', + 119621 => 'ON', + 119622 => 'ON', + 119623 => 'ON', + 119624 => 'ON', + 119625 => 'ON', + 119626 => 'ON', + 119627 => 'ON', + 119628 => 'ON', + 119629 => 'ON', + 119630 => 'ON', + 119631 => 'ON', + 119632 => 'ON', + 119633 => 'ON', + 119634 => 'ON', + 119635 => 'ON', + 119636 => 'ON', + 119637 => 'ON', + 119638 => 'ON', + 119648 => 'L', + 119649 => 'L', + 119650 => 'L', + 119651 => 'L', + 119652 => 'L', + 119653 => 'L', + 119654 => 'L', + 119655 => 'L', + 119656 => 'L', + 119657 => 'L', + 119658 => 'L', + 119659 => 'L', + 119660 => 'L', + 119661 => 'L', + 119662 => 'L', + 119663 => 'L', + 119664 => 'L', + 119665 => 'L', + 119808 => 'L', + 119809 => 'L', + 119810 => 'L', + 119811 => 'L', + 119812 => 'L', + 119813 => 'L', + 119814 => 'L', + 119815 => 'L', + 119816 => 'L', + 119817 => 'L', + 119818 => 'L', + 119819 => 'L', + 119820 => 'L', + 119821 => 'L', + 119822 => 'L', + 119823 => 'L', + 119824 => 'L', + 119825 => 'L', + 119826 => 'L', + 119827 => 'L', + 119828 => 'L', + 119829 => 'L', + 119830 => 'L', + 119831 => 'L', + 119832 => 'L', + 119833 => 'L', + 119834 => 'L', + 119835 => 'L', + 119836 => 'L', + 119837 => 'L', + 119838 => 'L', + 119839 => 'L', + 119840 => 'L', + 119841 => 'L', + 119842 => 'L', + 119843 => 'L', + 119844 => 'L', + 119845 => 'L', + 119846 => 'L', + 119847 => 'L', + 119848 => 'L', + 119849 => 'L', + 119850 => 'L', + 119851 => 'L', + 119852 => 'L', + 119853 => 'L', + 119854 => 'L', + 119855 => 'L', + 119856 => 'L', + 119857 => 'L', + 119858 => 'L', + 119859 => 'L', + 119860 => 'L', + 119861 => 'L', + 119862 => 'L', + 119863 => 'L', + 119864 => 'L', + 119865 => 'L', + 119866 => 'L', + 119867 => 'L', + 119868 => 'L', + 119869 => 'L', + 119870 => 'L', + 119871 => 'L', + 119872 => 'L', + 119873 => 'L', + 119874 => 'L', + 119875 => 'L', + 119876 => 'L', + 119877 => 'L', + 119878 => 'L', + 119879 => 'L', + 119880 => 'L', + 119881 => 'L', + 119882 => 'L', + 119883 => 'L', + 119884 => 'L', + 119885 => 'L', + 119886 => 'L', + 119887 => 'L', + 119888 => 'L', + 119889 => 'L', + 119890 => 'L', + 119891 => 'L', + 119892 => 'L', + 119894 => 'L', + 119895 => 'L', + 119896 => 'L', + 119897 => 'L', + 119898 => 'L', + 119899 => 'L', + 119900 => 'L', + 119901 => 'L', + 119902 => 'L', + 119903 => 'L', + 119904 => 'L', + 119905 => 'L', + 119906 => 'L', + 119907 => 'L', + 119908 => 'L', + 119909 => 'L', + 119910 => 'L', + 119911 => 'L', + 119912 => 'L', + 119913 => 'L', + 119914 => 'L', + 119915 => 'L', + 119916 => 'L', + 119917 => 'L', + 119918 => 'L', + 119919 => 'L', + 119920 => 'L', + 119921 => 'L', + 119922 => 'L', + 119923 => 'L', + 119924 => 'L', + 119925 => 'L', + 119926 => 'L', + 119927 => 'L', + 119928 => 'L', + 119929 => 'L', + 119930 => 'L', + 119931 => 'L', + 119932 => 'L', + 119933 => 'L', + 119934 => 'L', + 119935 => 'L', + 119936 => 'L', + 119937 => 'L', + 119938 => 'L', + 119939 => 'L', + 119940 => 'L', + 119941 => 'L', + 119942 => 'L', + 119943 => 'L', + 119944 => 'L', + 119945 => 'L', + 119946 => 'L', + 119947 => 'L', + 119948 => 'L', + 119949 => 'L', + 119950 => 'L', + 119951 => 'L', + 119952 => 'L', + 119953 => 'L', + 119954 => 'L', + 119955 => 'L', + 119956 => 'L', + 119957 => 'L', + 119958 => 'L', + 119959 => 'L', + 119960 => 'L', + 119961 => 'L', + 119962 => 'L', + 119963 => 'L', + 119964 => 'L', + 119966 => 'L', + 119967 => 'L', + 119970 => 'L', + 119973 => 'L', + 119974 => 'L', + 119977 => 'L', + 119978 => 'L', + 119979 => 'L', + 119980 => 'L', + 119982 => 'L', + 119983 => 'L', + 119984 => 'L', + 119985 => 'L', + 119986 => 'L', + 119987 => 'L', + 119988 => 'L', + 119989 => 'L', + 119990 => 'L', + 119991 => 'L', + 119992 => 'L', + 119993 => 'L', + 119995 => 'L', + 119997 => 'L', + 119998 => 'L', + 119999 => 'L', + 120000 => 'L', + 120001 => 'L', + 120002 => 'L', + 120003 => 'L', + 120005 => 'L', + 120006 => 'L', + 120007 => 'L', + 120008 => 'L', + 120009 => 'L', + 120010 => 'L', + 120011 => 'L', + 120012 => 'L', + 120013 => 'L', + 120014 => 'L', + 120015 => 'L', + 120016 => 'L', + 120017 => 'L', + 120018 => 'L', + 120019 => 'L', + 120020 => 'L', + 120021 => 'L', + 120022 => 'L', + 120023 => 'L', + 120024 => 'L', + 120025 => 'L', + 120026 => 'L', + 120027 => 'L', + 120028 => 'L', + 120029 => 'L', + 120030 => 'L', + 120031 => 'L', + 120032 => 'L', + 120033 => 'L', + 120034 => 'L', + 120035 => 'L', + 120036 => 'L', + 120037 => 'L', + 120038 => 'L', + 120039 => 'L', + 120040 => 'L', + 120041 => 'L', + 120042 => 'L', + 120043 => 'L', + 120044 => 'L', + 120045 => 'L', + 120046 => 'L', + 120047 => 'L', + 120048 => 'L', + 120049 => 'L', + 120050 => 'L', + 120051 => 'L', + 120052 => 'L', + 120053 => 'L', + 120054 => 'L', + 120055 => 'L', + 120056 => 'L', + 120057 => 'L', + 120058 => 'L', + 120059 => 'L', + 120060 => 'L', + 120061 => 'L', + 120062 => 'L', + 120063 => 'L', + 120064 => 'L', + 120065 => 'L', + 120066 => 'L', + 120067 => 'L', + 120068 => 'L', + 120069 => 'L', + 120071 => 'L', + 120072 => 'L', + 120073 => 'L', + 120074 => 'L', + 120077 => 'L', + 120078 => 'L', + 120079 => 'L', + 120080 => 'L', + 120081 => 'L', + 120082 => 'L', + 120083 => 'L', + 120084 => 'L', + 120086 => 'L', + 120087 => 'L', + 120088 => 'L', + 120089 => 'L', + 120090 => 'L', + 120091 => 'L', + 120092 => 'L', + 120094 => 'L', + 120095 => 'L', + 120096 => 'L', + 120097 => 'L', + 120098 => 'L', + 120099 => 'L', + 120100 => 'L', + 120101 => 'L', + 120102 => 'L', + 120103 => 'L', + 120104 => 'L', + 120105 => 'L', + 120106 => 'L', + 120107 => 'L', + 120108 => 'L', + 120109 => 'L', + 120110 => 'L', + 120111 => 'L', + 120112 => 'L', + 120113 => 'L', + 120114 => 'L', + 120115 => 'L', + 120116 => 'L', + 120117 => 'L', + 120118 => 'L', + 120119 => 'L', + 120120 => 'L', + 120121 => 'L', + 120123 => 'L', + 120124 => 'L', + 120125 => 'L', + 120126 => 'L', + 120128 => 'L', + 120129 => 'L', + 120130 => 'L', + 120131 => 'L', + 120132 => 'L', + 120134 => 'L', + 120138 => 'L', + 120139 => 'L', + 120140 => 'L', + 120141 => 'L', + 120142 => 'L', + 120143 => 'L', + 120144 => 'L', + 120146 => 'L', + 120147 => 'L', + 120148 => 'L', + 120149 => 'L', + 120150 => 'L', + 120151 => 'L', + 120152 => 'L', + 120153 => 'L', + 120154 => 'L', + 120155 => 'L', + 120156 => 'L', + 120157 => 'L', + 120158 => 'L', + 120159 => 'L', + 120160 => 'L', + 120161 => 'L', + 120162 => 'L', + 120163 => 'L', + 120164 => 'L', + 120165 => 'L', + 120166 => 'L', + 120167 => 'L', + 120168 => 'L', + 120169 => 'L', + 120170 => 'L', + 120171 => 'L', + 120172 => 'L', + 120173 => 'L', + 120174 => 'L', + 120175 => 'L', + 120176 => 'L', + 120177 => 'L', + 120178 => 'L', + 120179 => 'L', + 120180 => 'L', + 120181 => 'L', + 120182 => 'L', + 120183 => 'L', + 120184 => 'L', + 120185 => 'L', + 120186 => 'L', + 120187 => 'L', + 120188 => 'L', + 120189 => 'L', + 120190 => 'L', + 120191 => 'L', + 120192 => 'L', + 120193 => 'L', + 120194 => 'L', + 120195 => 'L', + 120196 => 'L', + 120197 => 'L', + 120198 => 'L', + 120199 => 'L', + 120200 => 'L', + 120201 => 'L', + 120202 => 'L', + 120203 => 'L', + 120204 => 'L', + 120205 => 'L', + 120206 => 'L', + 120207 => 'L', + 120208 => 'L', + 120209 => 'L', + 120210 => 'L', + 120211 => 'L', + 120212 => 'L', + 120213 => 'L', + 120214 => 'L', + 120215 => 'L', + 120216 => 'L', + 120217 => 'L', + 120218 => 'L', + 120219 => 'L', + 120220 => 'L', + 120221 => 'L', + 120222 => 'L', + 120223 => 'L', + 120224 => 'L', + 120225 => 'L', + 120226 => 'L', + 120227 => 'L', + 120228 => 'L', + 120229 => 'L', + 120230 => 'L', + 120231 => 'L', + 120232 => 'L', + 120233 => 'L', + 120234 => 'L', + 120235 => 'L', + 120236 => 'L', + 120237 => 'L', + 120238 => 'L', + 120239 => 'L', + 120240 => 'L', + 120241 => 'L', + 120242 => 'L', + 120243 => 'L', + 120244 => 'L', + 120245 => 'L', + 120246 => 'L', + 120247 => 'L', + 120248 => 'L', + 120249 => 'L', + 120250 => 'L', + 120251 => 'L', + 120252 => 'L', + 120253 => 'L', + 120254 => 'L', + 120255 => 'L', + 120256 => 'L', + 120257 => 'L', + 120258 => 'L', + 120259 => 'L', + 120260 => 'L', + 120261 => 'L', + 120262 => 'L', + 120263 => 'L', + 120264 => 'L', + 120265 => 'L', + 120266 => 'L', + 120267 => 'L', + 120268 => 'L', + 120269 => 'L', + 120270 => 'L', + 120271 => 'L', + 120272 => 'L', + 120273 => 'L', + 120274 => 'L', + 120275 => 'L', + 120276 => 'L', + 120277 => 'L', + 120278 => 'L', + 120279 => 'L', + 120280 => 'L', + 120281 => 'L', + 120282 => 'L', + 120283 => 'L', + 120284 => 'L', + 120285 => 'L', + 120286 => 'L', + 120287 => 'L', + 120288 => 'L', + 120289 => 'L', + 120290 => 'L', + 120291 => 'L', + 120292 => 'L', + 120293 => 'L', + 120294 => 'L', + 120295 => 'L', + 120296 => 'L', + 120297 => 'L', + 120298 => 'L', + 120299 => 'L', + 120300 => 'L', + 120301 => 'L', + 120302 => 'L', + 120303 => 'L', + 120304 => 'L', + 120305 => 'L', + 120306 => 'L', + 120307 => 'L', + 120308 => 'L', + 120309 => 'L', + 120310 => 'L', + 120311 => 'L', + 120312 => 'L', + 120313 => 'L', + 120314 => 'L', + 120315 => 'L', + 120316 => 'L', + 120317 => 'L', + 120318 => 'L', + 120319 => 'L', + 120320 => 'L', + 120321 => 'L', + 120322 => 'L', + 120323 => 'L', + 120324 => 'L', + 120325 => 'L', + 120326 => 'L', + 120327 => 'L', + 120328 => 'L', + 120329 => 'L', + 120330 => 'L', + 120331 => 'L', + 120332 => 'L', + 120333 => 'L', + 120334 => 'L', + 120335 => 'L', + 120336 => 'L', + 120337 => 'L', + 120338 => 'L', + 120339 => 'L', + 120340 => 'L', + 120341 => 'L', + 120342 => 'L', + 120343 => 'L', + 120344 => 'L', + 120345 => 'L', + 120346 => 'L', + 120347 => 'L', + 120348 => 'L', + 120349 => 'L', + 120350 => 'L', + 120351 => 'L', + 120352 => 'L', + 120353 => 'L', + 120354 => 'L', + 120355 => 'L', + 120356 => 'L', + 120357 => 'L', + 120358 => 'L', + 120359 => 'L', + 120360 => 'L', + 120361 => 'L', + 120362 => 'L', + 120363 => 'L', + 120364 => 'L', + 120365 => 'L', + 120366 => 'L', + 120367 => 'L', + 120368 => 'L', + 120369 => 'L', + 120370 => 'L', + 120371 => 'L', + 120372 => 'L', + 120373 => 'L', + 120374 => 'L', + 120375 => 'L', + 120376 => 'L', + 120377 => 'L', + 120378 => 'L', + 120379 => 'L', + 120380 => 'L', + 120381 => 'L', + 120382 => 'L', + 120383 => 'L', + 120384 => 'L', + 120385 => 'L', + 120386 => 'L', + 120387 => 'L', + 120388 => 'L', + 120389 => 'L', + 120390 => 'L', + 120391 => 'L', + 120392 => 'L', + 120393 => 'L', + 120394 => 'L', + 120395 => 'L', + 120396 => 'L', + 120397 => 'L', + 120398 => 'L', + 120399 => 'L', + 120400 => 'L', + 120401 => 'L', + 120402 => 'L', + 120403 => 'L', + 120404 => 'L', + 120405 => 'L', + 120406 => 'L', + 120407 => 'L', + 120408 => 'L', + 120409 => 'L', + 120410 => 'L', + 120411 => 'L', + 120412 => 'L', + 120413 => 'L', + 120414 => 'L', + 120415 => 'L', + 120416 => 'L', + 120417 => 'L', + 120418 => 'L', + 120419 => 'L', + 120420 => 'L', + 120421 => 'L', + 120422 => 'L', + 120423 => 'L', + 120424 => 'L', + 120425 => 'L', + 120426 => 'L', + 120427 => 'L', + 120428 => 'L', + 120429 => 'L', + 120430 => 'L', + 120431 => 'L', + 120432 => 'L', + 120433 => 'L', + 120434 => 'L', + 120435 => 'L', + 120436 => 'L', + 120437 => 'L', + 120438 => 'L', + 120439 => 'L', + 120440 => 'L', + 120441 => 'L', + 120442 => 'L', + 120443 => 'L', + 120444 => 'L', + 120445 => 'L', + 120446 => 'L', + 120447 => 'L', + 120448 => 'L', + 120449 => 'L', + 120450 => 'L', + 120451 => 'L', + 120452 => 'L', + 120453 => 'L', + 120454 => 'L', + 120455 => 'L', + 120456 => 'L', + 120457 => 'L', + 120458 => 'L', + 120459 => 'L', + 120460 => 'L', + 120461 => 'L', + 120462 => 'L', + 120463 => 'L', + 120464 => 'L', + 120465 => 'L', + 120466 => 'L', + 120467 => 'L', + 120468 => 'L', + 120469 => 'L', + 120470 => 'L', + 120471 => 'L', + 120472 => 'L', + 120473 => 'L', + 120474 => 'L', + 120475 => 'L', + 120476 => 'L', + 120477 => 'L', + 120478 => 'L', + 120479 => 'L', + 120480 => 'L', + 120481 => 'L', + 120482 => 'L', + 120483 => 'L', + 120484 => 'L', + 120485 => 'L', + 120488 => 'L', + 120489 => 'L', + 120490 => 'L', + 120491 => 'L', + 120492 => 'L', + 120493 => 'L', + 120494 => 'L', + 120495 => 'L', + 120496 => 'L', + 120497 => 'L', + 120498 => 'L', + 120499 => 'L', + 120500 => 'L', + 120501 => 'L', + 120502 => 'L', + 120503 => 'L', + 120504 => 'L', + 120505 => 'L', + 120506 => 'L', + 120507 => 'L', + 120508 => 'L', + 120509 => 'L', + 120510 => 'L', + 120511 => 'L', + 120512 => 'L', + 120513 => 'L', + 120514 => 'L', + 120515 => 'L', + 120516 => 'L', + 120517 => 'L', + 120518 => 'L', + 120519 => 'L', + 120520 => 'L', + 120521 => 'L', + 120522 => 'L', + 120523 => 'L', + 120524 => 'L', + 120525 => 'L', + 120526 => 'L', + 120527 => 'L', + 120528 => 'L', + 120529 => 'L', + 120530 => 'L', + 120531 => 'L', + 120532 => 'L', + 120533 => 'L', + 120534 => 'L', + 120535 => 'L', + 120536 => 'L', + 120537 => 'L', + 120538 => 'L', + 120539 => 'L', + 120540 => 'L', + 120541 => 'L', + 120542 => 'L', + 120543 => 'L', + 120544 => 'L', + 120545 => 'L', + 120546 => 'L', + 120547 => 'L', + 120548 => 'L', + 120549 => 'L', + 120550 => 'L', + 120551 => 'L', + 120552 => 'L', + 120553 => 'L', + 120554 => 'L', + 120555 => 'L', + 120556 => 'L', + 120557 => 'L', + 120558 => 'L', + 120559 => 'L', + 120560 => 'L', + 120561 => 'L', + 120562 => 'L', + 120563 => 'L', + 120564 => 'L', + 120565 => 'L', + 120566 => 'L', + 120567 => 'L', + 120568 => 'L', + 120569 => 'L', + 120570 => 'L', + 120571 => 'L', + 120572 => 'L', + 120573 => 'L', + 120574 => 'L', + 120575 => 'L', + 120576 => 'L', + 120577 => 'L', + 120578 => 'L', + 120579 => 'L', + 120580 => 'L', + 120581 => 'L', + 120582 => 'L', + 120583 => 'L', + 120584 => 'L', + 120585 => 'L', + 120586 => 'L', + 120587 => 'L', + 120588 => 'L', + 120589 => 'L', + 120590 => 'L', + 120591 => 'L', + 120592 => 'L', + 120593 => 'L', + 120594 => 'L', + 120595 => 'L', + 120596 => 'L', + 120597 => 'L', + 120598 => 'L', + 120599 => 'L', + 120600 => 'L', + 120601 => 'L', + 120602 => 'L', + 120603 => 'L', + 120604 => 'L', + 120605 => 'L', + 120606 => 'L', + 120607 => 'L', + 120608 => 'L', + 120609 => 'L', + 120610 => 'L', + 120611 => 'L', + 120612 => 'L', + 120613 => 'L', + 120614 => 'L', + 120615 => 'L', + 120616 => 'L', + 120617 => 'L', + 120618 => 'L', + 120619 => 'L', + 120620 => 'L', + 120621 => 'L', + 120622 => 'L', + 120623 => 'L', + 120624 => 'L', + 120625 => 'L', + 120626 => 'L', + 120627 => 'L', + 120628 => 'L', + 120629 => 'L', + 120630 => 'L', + 120631 => 'L', + 120632 => 'L', + 120633 => 'L', + 120634 => 'L', + 120635 => 'L', + 120636 => 'L', + 120637 => 'L', + 120638 => 'L', + 120639 => 'L', + 120640 => 'L', + 120641 => 'L', + 120642 => 'L', + 120643 => 'L', + 120644 => 'L', + 120645 => 'L', + 120646 => 'L', + 120647 => 'L', + 120648 => 'L', + 120649 => 'L', + 120650 => 'L', + 120651 => 'L', + 120652 => 'L', + 120653 => 'L', + 120654 => 'L', + 120655 => 'L', + 120656 => 'L', + 120657 => 'L', + 120658 => 'L', + 120659 => 'L', + 120660 => 'L', + 120661 => 'L', + 120662 => 'L', + 120663 => 'L', + 120664 => 'L', + 120665 => 'L', + 120666 => 'L', + 120667 => 'L', + 120668 => 'L', + 120669 => 'L', + 120670 => 'L', + 120671 => 'L', + 120672 => 'L', + 120673 => 'L', + 120674 => 'L', + 120675 => 'L', + 120676 => 'L', + 120677 => 'L', + 120678 => 'L', + 120679 => 'L', + 120680 => 'L', + 120681 => 'L', + 120682 => 'L', + 120683 => 'L', + 120684 => 'L', + 120685 => 'L', + 120686 => 'L', + 120687 => 'L', + 120688 => 'L', + 120689 => 'L', + 120690 => 'L', + 120691 => 'L', + 120692 => 'L', + 120693 => 'L', + 120694 => 'L', + 120695 => 'L', + 120696 => 'L', + 120697 => 'L', + 120698 => 'L', + 120699 => 'L', + 120700 => 'L', + 120701 => 'L', + 120702 => 'L', + 120703 => 'L', + 120704 => 'L', + 120705 => 'L', + 120706 => 'L', + 120707 => 'L', + 120708 => 'L', + 120709 => 'L', + 120710 => 'L', + 120711 => 'L', + 120712 => 'L', + 120713 => 'L', + 120714 => 'L', + 120715 => 'L', + 120716 => 'L', + 120717 => 'L', + 120718 => 'L', + 120719 => 'L', + 120720 => 'L', + 120721 => 'L', + 120722 => 'L', + 120723 => 'L', + 120724 => 'L', + 120725 => 'L', + 120726 => 'L', + 120727 => 'L', + 120728 => 'L', + 120729 => 'L', + 120730 => 'L', + 120731 => 'L', + 120732 => 'L', + 120733 => 'L', + 120734 => 'L', + 120735 => 'L', + 120736 => 'L', + 120737 => 'L', + 120738 => 'L', + 120739 => 'L', + 120740 => 'L', + 120741 => 'L', + 120742 => 'L', + 120743 => 'L', + 120744 => 'L', + 120745 => 'L', + 120746 => 'L', + 120747 => 'L', + 120748 => 'L', + 120749 => 'L', + 120750 => 'L', + 120751 => 'L', + 120752 => 'L', + 120753 => 'L', + 120754 => 'L', + 120755 => 'L', + 120756 => 'L', + 120757 => 'L', + 120758 => 'L', + 120759 => 'L', + 120760 => 'L', + 120761 => 'L', + 120762 => 'L', + 120763 => 'L', + 120764 => 'L', + 120765 => 'L', + 120766 => 'L', + 120767 => 'L', + 120768 => 'L', + 120769 => 'L', + 120770 => 'L', + 120771 => 'L', + 120772 => 'L', + 120773 => 'L', + 120774 => 'L', + 120775 => 'L', + 120776 => 'L', + 120777 => 'L', + 120778 => 'L', + 120779 => 'L', + 120782 => 'EN', + 120783 => 'EN', + 120784 => 'EN', + 120785 => 'EN', + 120786 => 'EN', + 120787 => 'EN', + 120788 => 'EN', + 120789 => 'EN', + 120790 => 'EN', + 120791 => 'EN', + 120792 => 'EN', + 120793 => 'EN', + 120794 => 'EN', + 120795 => 'EN', + 120796 => 'EN', + 120797 => 'EN', + 120798 => 'EN', + 120799 => 'EN', + 120800 => 'EN', + 120801 => 'EN', + 120802 => 'EN', + 120803 => 'EN', + 120804 => 'EN', + 120805 => 'EN', + 120806 => 'EN', + 120807 => 'EN', + 120808 => 'EN', + 120809 => 'EN', + 120810 => 'EN', + 120811 => 'EN', + 120812 => 'EN', + 120813 => 'EN', + 120814 => 'EN', + 120815 => 'EN', + 120816 => 'EN', + 120817 => 'EN', + 120818 => 'EN', + 120819 => 'EN', + 120820 => 'EN', + 120821 => 'EN', + 120822 => 'EN', + 120823 => 'EN', + 120824 => 'EN', + 120825 => 'EN', + 120826 => 'EN', + 120827 => 'EN', + 120828 => 'EN', + 120829 => 'EN', + 120830 => 'EN', + 120831 => 'EN', + 131072 => 'L', + 173782 => 'L', + 194560 => 'L', + 194561 => 'L', + 194562 => 'L', + 194563 => 'L', + 194564 => 'L', + 194565 => 'L', + 194566 => 'L', + 194567 => 'L', + 194568 => 'L', + 194569 => 'L', + 194570 => 'L', + 194571 => 'L', + 194572 => 'L', + 194573 => 'L', + 194574 => 'L', + 194575 => 'L', + 194576 => 'L', + 194577 => 'L', + 194578 => 'L', + 194579 => 'L', + 194580 => 'L', + 194581 => 'L', + 194582 => 'L', + 194583 => 'L', + 194584 => 'L', + 194585 => 'L', + 194586 => 'L', + 194587 => 'L', + 194588 => 'L', + 194589 => 'L', + 194590 => 'L', + 194591 => 'L', + 194592 => 'L', + 194593 => 'L', + 194594 => 'L', + 194595 => 'L', + 194596 => 'L', + 194597 => 'L', + 194598 => 'L', + 194599 => 'L', + 194600 => 'L', + 194601 => 'L', + 194602 => 'L', + 194603 => 'L', + 194604 => 'L', + 194605 => 'L', + 194606 => 'L', + 194607 => 'L', + 194608 => 'L', + 194609 => 'L', + 194610 => 'L', + 194611 => 'L', + 194612 => 'L', + 194613 => 'L', + 194614 => 'L', + 194615 => 'L', + 194616 => 'L', + 194617 => 'L', + 194618 => 'L', + 194619 => 'L', + 194620 => 'L', + 194621 => 'L', + 194622 => 'L', + 194623 => 'L', + 194624 => 'L', + 194625 => 'L', + 194626 => 'L', + 194627 => 'L', + 194628 => 'L', + 194629 => 'L', + 194630 => 'L', + 194631 => 'L', + 194632 => 'L', + 194633 => 'L', + 194634 => 'L', + 194635 => 'L', + 194636 => 'L', + 194637 => 'L', + 194638 => 'L', + 194639 => 'L', + 194640 => 'L', + 194641 => 'L', + 194642 => 'L', + 194643 => 'L', + 194644 => 'L', + 194645 => 'L', + 194646 => 'L', + 194647 => 'L', + 194648 => 'L', + 194649 => 'L', + 194650 => 'L', + 194651 => 'L', + 194652 => 'L', + 194653 => 'L', + 194654 => 'L', + 194655 => 'L', + 194656 => 'L', + 194657 => 'L', + 194658 => 'L', + 194659 => 'L', + 194660 => 'L', + 194661 => 'L', + 194662 => 'L', + 194663 => 'L', + 194664 => 'L', + 194665 => 'L', + 194666 => 'L', + 194667 => 'L', + 194668 => 'L', + 194669 => 'L', + 194670 => 'L', + 194671 => 'L', + 194672 => 'L', + 194673 => 'L', + 194674 => 'L', + 194675 => 'L', + 194676 => 'L', + 194677 => 'L', + 194678 => 'L', + 194679 => 'L', + 194680 => 'L', + 194681 => 'L', + 194682 => 'L', + 194683 => 'L', + 194684 => 'L', + 194685 => 'L', + 194686 => 'L', + 194687 => 'L', + 194688 => 'L', + 194689 => 'L', + 194690 => 'L', + 194691 => 'L', + 194692 => 'L', + 194693 => 'L', + 194694 => 'L', + 194695 => 'L', + 194696 => 'L', + 194697 => 'L', + 194698 => 'L', + 194699 => 'L', + 194700 => 'L', + 194701 => 'L', + 194702 => 'L', + 194703 => 'L', + 194704 => 'L', + 194705 => 'L', + 194706 => 'L', + 194707 => 'L', + 194708 => 'L', + 194709 => 'L', + 194710 => 'L', + 194711 => 'L', + 194712 => 'L', + 194713 => 'L', + 194714 => 'L', + 194715 => 'L', + 194716 => 'L', + 194717 => 'L', + 194718 => 'L', + 194719 => 'L', + 194720 => 'L', + 194721 => 'L', + 194722 => 'L', + 194723 => 'L', + 194724 => 'L', + 194725 => 'L', + 194726 => 'L', + 194727 => 'L', + 194728 => 'L', + 194729 => 'L', + 194730 => 'L', + 194731 => 'L', + 194732 => 'L', + 194733 => 'L', + 194734 => 'L', + 194735 => 'L', + 194736 => 'L', + 194737 => 'L', + 194738 => 'L', + 194739 => 'L', + 194740 => 'L', + 194741 => 'L', + 194742 => 'L', + 194743 => 'L', + 194744 => 'L', + 194745 => 'L', + 194746 => 'L', + 194747 => 'L', + 194748 => 'L', + 194749 => 'L', + 194750 => 'L', + 194751 => 'L', + 194752 => 'L', + 194753 => 'L', + 194754 => 'L', + 194755 => 'L', + 194756 => 'L', + 194757 => 'L', + 194758 => 'L', + 194759 => 'L', + 194760 => 'L', + 194761 => 'L', + 194762 => 'L', + 194763 => 'L', + 194764 => 'L', + 194765 => 'L', + 194766 => 'L', + 194767 => 'L', + 194768 => 'L', + 194769 => 'L', + 194770 => 'L', + 194771 => 'L', + 194772 => 'L', + 194773 => 'L', + 194774 => 'L', + 194775 => 'L', + 194776 => 'L', + 194777 => 'L', + 194778 => 'L', + 194779 => 'L', + 194780 => 'L', + 194781 => 'L', + 194782 => 'L', + 194783 => 'L', + 194784 => 'L', + 194785 => 'L', + 194786 => 'L', + 194787 => 'L', + 194788 => 'L', + 194789 => 'L', + 194790 => 'L', + 194791 => 'L', + 194792 => 'L', + 194793 => 'L', + 194794 => 'L', + 194795 => 'L', + 194796 => 'L', + 194797 => 'L', + 194798 => 'L', + 194799 => 'L', + 194800 => 'L', + 194801 => 'L', + 194802 => 'L', + 194803 => 'L', + 194804 => 'L', + 194805 => 'L', + 194806 => 'L', + 194807 => 'L', + 194808 => 'L', + 194809 => 'L', + 194810 => 'L', + 194811 => 'L', + 194812 => 'L', + 194813 => 'L', + 194814 => 'L', + 194815 => 'L', + 194816 => 'L', + 194817 => 'L', + 194818 => 'L', + 194819 => 'L', + 194820 => 'L', + 194821 => 'L', + 194822 => 'L', + 194823 => 'L', + 194824 => 'L', + 194825 => 'L', + 194826 => 'L', + 194827 => 'L', + 194828 => 'L', + 194829 => 'L', + 194830 => 'L', + 194831 => 'L', + 194832 => 'L', + 194833 => 'L', + 194834 => 'L', + 194835 => 'L', + 194836 => 'L', + 194837 => 'L', + 194838 => 'L', + 194839 => 'L', + 194840 => 'L', + 194841 => 'L', + 194842 => 'L', + 194843 => 'L', + 194844 => 'L', + 194845 => 'L', + 194846 => 'L', + 194847 => 'L', + 194848 => 'L', + 194849 => 'L', + 194850 => 'L', + 194851 => 'L', + 194852 => 'L', + 194853 => 'L', + 194854 => 'L', + 194855 => 'L', + 194856 => 'L', + 194857 => 'L', + 194858 => 'L', + 194859 => 'L', + 194860 => 'L', + 194861 => 'L', + 194862 => 'L', + 194863 => 'L', + 194864 => 'L', + 194865 => 'L', + 194866 => 'L', + 194867 => 'L', + 194868 => 'L', + 194869 => 'L', + 194870 => 'L', + 194871 => 'L', + 194872 => 'L', + 194873 => 'L', + 194874 => 'L', + 194875 => 'L', + 194876 => 'L', + 194877 => 'L', + 194878 => 'L', + 194879 => 'L', + 194880 => 'L', + 194881 => 'L', + 194882 => 'L', + 194883 => 'L', + 194884 => 'L', + 194885 => 'L', + 194886 => 'L', + 194887 => 'L', + 194888 => 'L', + 194889 => 'L', + 194890 => 'L', + 194891 => 'L', + 194892 => 'L', + 194893 => 'L', + 194894 => 'L', + 194895 => 'L', + 194896 => 'L', + 194897 => 'L', + 194898 => 'L', + 194899 => 'L', + 194900 => 'L', + 194901 => 'L', + 194902 => 'L', + 194903 => 'L', + 194904 => 'L', + 194905 => 'L', + 194906 => 'L', + 194907 => 'L', + 194908 => 'L', + 194909 => 'L', + 194910 => 'L', + 194911 => 'L', + 194912 => 'L', + 194913 => 'L', + 194914 => 'L', + 194915 => 'L', + 194916 => 'L', + 194917 => 'L', + 194918 => 'L', + 194919 => 'L', + 194920 => 'L', + 194921 => 'L', + 194922 => 'L', + 194923 => 'L', + 194924 => 'L', + 194925 => 'L', + 194926 => 'L', + 194927 => 'L', + 194928 => 'L', + 194929 => 'L', + 194930 => 'L', + 194931 => 'L', + 194932 => 'L', + 194933 => 'L', + 194934 => 'L', + 194935 => 'L', + 194936 => 'L', + 194937 => 'L', + 194938 => 'L', + 194939 => 'L', + 194940 => 'L', + 194941 => 'L', + 194942 => 'L', + 194943 => 'L', + 194944 => 'L', + 194945 => 'L', + 194946 => 'L', + 194947 => 'L', + 194948 => 'L', + 194949 => 'L', + 194950 => 'L', + 194951 => 'L', + 194952 => 'L', + 194953 => 'L', + 194954 => 'L', + 194955 => 'L', + 194956 => 'L', + 194957 => 'L', + 194958 => 'L', + 194959 => 'L', + 194960 => 'L', + 194961 => 'L', + 194962 => 'L', + 194963 => 'L', + 194964 => 'L', + 194965 => 'L', + 194966 => 'L', + 194967 => 'L', + 194968 => 'L', + 194969 => 'L', + 194970 => 'L', + 194971 => 'L', + 194972 => 'L', + 194973 => 'L', + 194974 => 'L', + 194975 => 'L', + 194976 => 'L', + 194977 => 'L', + 194978 => 'L', + 194979 => 'L', + 194980 => 'L', + 194981 => 'L', + 194982 => 'L', + 194983 => 'L', + 194984 => 'L', + 194985 => 'L', + 194986 => 'L', + 194987 => 'L', + 194988 => 'L', + 194989 => 'L', + 194990 => 'L', + 194991 => 'L', + 194992 => 'L', + 194993 => 'L', + 194994 => 'L', + 194995 => 'L', + 194996 => 'L', + 194997 => 'L', + 194998 => 'L', + 194999 => 'L', + 195000 => 'L', + 195001 => 'L', + 195002 => 'L', + 195003 => 'L', + 195004 => 'L', + 195005 => 'L', + 195006 => 'L', + 195007 => 'L', + 195008 => 'L', + 195009 => 'L', + 195010 => 'L', + 195011 => 'L', + 195012 => 'L', + 195013 => 'L', + 195014 => 'L', + 195015 => 'L', + 195016 => 'L', + 195017 => 'L', + 195018 => 'L', + 195019 => 'L', + 195020 => 'L', + 195021 => 'L', + 195022 => 'L', + 195023 => 'L', + 195024 => 'L', + 195025 => 'L', + 195026 => 'L', + 195027 => 'L', + 195028 => 'L', + 195029 => 'L', + 195030 => 'L', + 195031 => 'L', + 195032 => 'L', + 195033 => 'L', + 195034 => 'L', + 195035 => 'L', + 195036 => 'L', + 195037 => 'L', + 195038 => 'L', + 195039 => 'L', + 195040 => 'L', + 195041 => 'L', + 195042 => 'L', + 195043 => 'L', + 195044 => 'L', + 195045 => 'L', + 195046 => 'L', + 195047 => 'L', + 195048 => 'L', + 195049 => 'L', + 195050 => 'L', + 195051 => 'L', + 195052 => 'L', + 195053 => 'L', + 195054 => 'L', + 195055 => 'L', + 195056 => 'L', + 195057 => 'L', + 195058 => 'L', + 195059 => 'L', + 195060 => 'L', + 195061 => 'L', + 195062 => 'L', + 195063 => 'L', + 195064 => 'L', + 195065 => 'L', + 195066 => 'L', + 195067 => 'L', + 195068 => 'L', + 195069 => 'L', + 195070 => 'L', + 195071 => 'L', + 195072 => 'L', + 195073 => 'L', + 195074 => 'L', + 195075 => 'L', + 195076 => 'L', + 195077 => 'L', + 195078 => 'L', + 195079 => 'L', + 195080 => 'L', + 195081 => 'L', + 195082 => 'L', + 195083 => 'L', + 195084 => 'L', + 195085 => 'L', + 195086 => 'L', + 195087 => 'L', + 195088 => 'L', + 195089 => 'L', + 195090 => 'L', + 195091 => 'L', + 195092 => 'L', + 195093 => 'L', + 195094 => 'L', + 195095 => 'L', + 195096 => 'L', + 195097 => 'L', + 195098 => 'L', + 195099 => 'L', + 195100 => 'L', + 195101 => 'L', + 917505 => 'BN', + 917536 => 'BN', + 917537 => 'BN', + 917538 => 'BN', + 917539 => 'BN', + 917540 => 'BN', + 917541 => 'BN', + 917542 => 'BN', + 917543 => 'BN', + 917544 => 'BN', + 917545 => 'BN', + 917546 => 'BN', + 917547 => 'BN', + 917548 => 'BN', + 917549 => 'BN', + 917550 => 'BN', + 917551 => 'BN', + 917552 => 'BN', + 917553 => 'BN', + 917554 => 'BN', + 917555 => 'BN', + 917556 => 'BN', + 917557 => 'BN', + 917558 => 'BN', + 917559 => 'BN', + 917560 => 'BN', + 917561 => 'BN', + 917562 => 'BN', + 917563 => 'BN', + 917564 => 'BN', + 917565 => 'BN', + 917566 => 'BN', + 917567 => 'BN', + 917568 => 'BN', + 917569 => 'BN', + 917570 => 'BN', + 917571 => 'BN', + 917572 => 'BN', + 917573 => 'BN', + 917574 => 'BN', + 917575 => 'BN', + 917576 => 'BN', + 917577 => 'BN', + 917578 => 'BN', + 917579 => 'BN', + 917580 => 'BN', + 917581 => 'BN', + 917582 => 'BN', + 917583 => 'BN', + 917584 => 'BN', + 917585 => 'BN', + 917586 => 'BN', + 917587 => 'BN', + 917588 => 'BN', + 917589 => 'BN', + 917590 => 'BN', + 917591 => 'BN', + 917592 => 'BN', + 917593 => 'BN', + 917594 => 'BN', + 917595 => 'BN', + 917596 => 'BN', + 917597 => 'BN', + 917598 => 'BN', + 917599 => 'BN', + 917600 => 'BN', + 917601 => 'BN', + 917602 => 'BN', + 917603 => 'BN', + 917604 => 'BN', + 917605 => 'BN', + 917606 => 'BN', + 917607 => 'BN', + 917608 => 'BN', + 917609 => 'BN', + 917610 => 'BN', + 917611 => 'BN', + 917612 => 'BN', + 917613 => 'BN', + 917614 => 'BN', + 917615 => 'BN', + 917616 => 'BN', + 917617 => 'BN', + 917618 => 'BN', + 917619 => 'BN', + 917620 => 'BN', + 917621 => 'BN', + 917622 => 'BN', + 917623 => 'BN', + 917624 => 'BN', + 917625 => 'BN', + 917626 => 'BN', + 917627 => 'BN', + 917628 => 'BN', + 917629 => 'BN', + 917630 => 'BN', + 917631 => 'BN', + 917760 => 'NSM', + 917761 => 'NSM', + 917762 => 'NSM', + 917763 => 'NSM', + 917764 => 'NSM', + 917765 => 'NSM', + 917766 => 'NSM', + 917767 => 'NSM', + 917768 => 'NSM', + 917769 => 'NSM', + 917770 => 'NSM', + 917771 => 'NSM', + 917772 => 'NSM', + 917773 => 'NSM', + 917774 => 'NSM', + 917775 => 'NSM', + 917776 => 'NSM', + 917777 => 'NSM', + 917778 => 'NSM', + 917779 => 'NSM', + 917780 => 'NSM', + 917781 => 'NSM', + 917782 => 'NSM', + 917783 => 'NSM', + 917784 => 'NSM', + 917785 => 'NSM', + 917786 => 'NSM', + 917787 => 'NSM', + 917788 => 'NSM', + 917789 => 'NSM', + 917790 => 'NSM', + 917791 => 'NSM', + 917792 => 'NSM', + 917793 => 'NSM', + 917794 => 'NSM', + 917795 => 'NSM', + 917796 => 'NSM', + 917797 => 'NSM', + 917798 => 'NSM', + 917799 => 'NSM', + 917800 => 'NSM', + 917801 => 'NSM', + 917802 => 'NSM', + 917803 => 'NSM', + 917804 => 'NSM', + 917805 => 'NSM', + 917806 => 'NSM', + 917807 => 'NSM', + 917808 => 'NSM', + 917809 => 'NSM', + 917810 => 'NSM', + 917811 => 'NSM', + 917812 => 'NSM', + 917813 => 'NSM', + 917814 => 'NSM', + 917815 => 'NSM', + 917816 => 'NSM', + 917817 => 'NSM', + 917818 => 'NSM', + 917819 => 'NSM', + 917820 => 'NSM', + 917821 => 'NSM', + 917822 => 'NSM', + 917823 => 'NSM', + 917824 => 'NSM', + 917825 => 'NSM', + 917826 => 'NSM', + 917827 => 'NSM', + 917828 => 'NSM', + 917829 => 'NSM', + 917830 => 'NSM', + 917831 => 'NSM', + 917832 => 'NSM', + 917833 => 'NSM', + 917834 => 'NSM', + 917835 => 'NSM', + 917836 => 'NSM', + 917837 => 'NSM', + 917838 => 'NSM', + 917839 => 'NSM', + 917840 => 'NSM', + 917841 => 'NSM', + 917842 => 'NSM', + 917843 => 'NSM', + 917844 => 'NSM', + 917845 => 'NSM', + 917846 => 'NSM', + 917847 => 'NSM', + 917848 => 'NSM', + 917849 => 'NSM', + 917850 => 'NSM', + 917851 => 'NSM', + 917852 => 'NSM', + 917853 => 'NSM', + 917854 => 'NSM', + 917855 => 'NSM', + 917856 => 'NSM', + 917857 => 'NSM', + 917858 => 'NSM', + 917859 => 'NSM', + 917860 => 'NSM', + 917861 => 'NSM', + 917862 => 'NSM', + 917863 => 'NSM', + 917864 => 'NSM', + 917865 => 'NSM', + 917866 => 'NSM', + 917867 => 'NSM', + 917868 => 'NSM', + 917869 => 'NSM', + 917870 => 'NSM', + 917871 => 'NSM', + 917872 => 'NSM', + 917873 => 'NSM', + 917874 => 'NSM', + 917875 => 'NSM', + 917876 => 'NSM', + 917877 => 'NSM', + 917878 => 'NSM', + 917879 => 'NSM', + 917880 => 'NSM', + 917881 => 'NSM', + 917882 => 'NSM', + 917883 => 'NSM', + 917884 => 'NSM', + 917885 => 'NSM', + 917886 => 'NSM', + 917887 => 'NSM', + 917888 => 'NSM', + 917889 => 'NSM', + 917890 => 'NSM', + 917891 => 'NSM', + 917892 => 'NSM', + 917893 => 'NSM', + 917894 => 'NSM', + 917895 => 'NSM', + 917896 => 'NSM', + 917897 => 'NSM', + 917898 => 'NSM', + 917899 => 'NSM', + 917900 => 'NSM', + 917901 => 'NSM', + 917902 => 'NSM', + 917903 => 'NSM', + 917904 => 'NSM', + 917905 => 'NSM', + 917906 => 'NSM', + 917907 => 'NSM', + 917908 => 'NSM', + 917909 => 'NSM', + 917910 => 'NSM', + 917911 => 'NSM', + 917912 => 'NSM', + 917913 => 'NSM', + 917914 => 'NSM', + 917915 => 'NSM', + 917916 => 'NSM', + 917917 => 'NSM', + 917918 => 'NSM', + 917919 => 'NSM', + 917920 => 'NSM', + 917921 => 'NSM', + 917922 => 'NSM', + 917923 => 'NSM', + 917924 => 'NSM', + 917925 => 'NSM', + 917926 => 'NSM', + 917927 => 'NSM', + 917928 => 'NSM', + 917929 => 'NSM', + 917930 => 'NSM', + 917931 => 'NSM', + 917932 => 'NSM', + 917933 => 'NSM', + 917934 => 'NSM', + 917935 => 'NSM', + 917936 => 'NSM', + 917937 => 'NSM', + 917938 => 'NSM', + 917939 => 'NSM', + 917940 => 'NSM', + 917941 => 'NSM', + 917942 => 'NSM', + 917943 => 'NSM', + 917944 => 'NSM', + 917945 => 'NSM', + 917946 => 'NSM', + 917947 => 'NSM', + 917948 => 'NSM', + 917949 => 'NSM', + 917950 => 'NSM', + 917951 => 'NSM', + 917952 => 'NSM', + 917953 => 'NSM', + 917954 => 'NSM', + 917955 => 'NSM', + 917956 => 'NSM', + 917957 => 'NSM', + 917958 => 'NSM', + 917959 => 'NSM', + 917960 => 'NSM', + 917961 => 'NSM', + 917962 => 'NSM', + 917963 => 'NSM', + 917964 => 'NSM', + 917965 => 'NSM', + 917966 => 'NSM', + 917967 => 'NSM', + 917968 => 'NSM', + 917969 => 'NSM', + 917970 => 'NSM', + 917971 => 'NSM', + 917972 => 'NSM', + 917973 => 'NSM', + 917974 => 'NSM', + 917975 => 'NSM', + 917976 => 'NSM', + 917977 => 'NSM', + 917978 => 'NSM', + 917979 => 'NSM', + 917980 => 'NSM', + 917981 => 'NSM', + 917982 => 'NSM', + 917983 => 'NSM', + 917984 => 'NSM', + 917985 => 'NSM', + 917986 => 'NSM', + 917987 => 'NSM', + 917988 => 'NSM', + 917989 => 'NSM', + 917990 => 'NSM', + 917991 => 'NSM', + 917992 => 'NSM', + 917993 => 'NSM', + 917994 => 'NSM', + 917995 => 'NSM', + 917996 => 'NSM', + 917997 => 'NSM', + 917998 => 'NSM', + 917999 => 'NSM', + 983040 => 'L', + 1_048_573 => 'L', + 1_048_576 => 'L', + 1_114_109 => 'L', + ]; +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/ArabicTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/ArabicTest.php new file mode 100644 index 0000000..bc34dab --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/ArabicTest.php @@ -0,0 +1,48 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Arabic Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class ArabicTest extends TestCase +{ + public function testDiacritic(): void + { + $this->assertEquals(5, count(\Com\Tecnick\Unicode\Data\Arabic::DIACRITIC)); + } + + public function testlaa(): void + { + $this->assertEquals(4, count(\Com\Tecnick\Unicode\Data\Arabic::LAA)); + } + + public function testSubstitute(): void + { + $this->assertEquals(76, count(\Com\Tecnick\Unicode\Data\Arabic::SUBSTITUTE)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/BracketTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/BracketTest.php new file mode 100644 index 0000000..7570e6f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/BracketTest.php @@ -0,0 +1,41 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Bracket Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class BracketTest extends TestCase +{ + public function testOpenClose(): void + { + $this->assertEquals( + \Com\Tecnick\Unicode\Data\Bracket::OPEN, + array_flip(\Com\Tecnick\Unicode\Data\Bracket::CLOSE) + ); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/ConstantTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/ConstantTest.php new file mode 100644 index 0000000..bbf7965 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/ConstantTest.php @@ -0,0 +1,39 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Constant Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class ConstantTest extends TestCase +{ + public function testConstants(): void + { + $reflectionClass = new \ReflectionClass('\\' . \Com\Tecnick\Unicode\Data\Constant::class); + $this->assertEquals(14, count($reflectionClass->getConstants())); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/EncodingTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/EncodingTest.php new file mode 100644 index 0000000..b6696c6 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/EncodingTest.php @@ -0,0 +1,39 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Encoding Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class EncodingTest extends TestCase +{ + public function testMap(): void + { + $this->assertEquals(22, count(\Com\Tecnick\Unicode\Data\Encoding::MAP)); + $this->assertEquals(256, count(\Com\Tecnick\Unicode\Data\Encoding::MAP['iso-8859-1'])); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/IdentityTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/IdentityTest.php new file mode 100644 index 0000000..bf4eaab --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/IdentityTest.php @@ -0,0 +1,38 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Identity Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class IdentityTest extends TestCase +{ + public function testConstants(): void + { + $this->assertEquals('a3f30375025e8570745ff463479522b6', md5(\Com\Tecnick\Unicode\Data\Identity::CIDHMAP)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/LatinTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/LatinTest.php new file mode 100644 index 0000000..b67796f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/LatinTest.php @@ -0,0 +1,38 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Latin Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class LatinTest extends TestCase +{ + public function testMap(): void + { + $this->assertEquals(27, count(\Com\Tecnick\Unicode\Data\Latin::SUBSTITUTE)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/MirrorTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/MirrorTest.php new file mode 100644 index 0000000..01721bb --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/MirrorTest.php @@ -0,0 +1,38 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Mirror Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class MirrorTest extends TestCase +{ + public function testMap(): void + { + $this->assertEquals(352, count(\Com\Tecnick\Unicode\Data\Mirror::UNI)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/PatternTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/PatternTest.php new file mode 100644 index 0000000..dced604 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/PatternTest.php @@ -0,0 +1,56 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Pattern Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class PatternTest extends TestCase +{ + public function testPatterns(): void + { + $str = 'hello world'; + $this->assertEquals(0, preg_match(\Com\Tecnick\Unicode\Data\Pattern::ARABIC, $str)); + $this->assertEquals(0, preg_match(\Com\Tecnick\Unicode\Data\Pattern::RTL, $str)); + + $str = 'مرحبا بالعالم'; + $this->assertEquals(1, preg_match(\Com\Tecnick\Unicode\Data\Pattern::ARABIC, $str)); + + $str = 'שלום עולם'; + $this->assertEquals(0, preg_match(\Com\Tecnick\Unicode\Data\Pattern::ARABIC, $str)); + $this->assertEquals(1, preg_match(\Com\Tecnick\Unicode\Data\Pattern::RTL, $str)); + + $str = json_decode('"\u2067"'); // RLI + $this->assertEquals(1, preg_match(\Com\Tecnick\Unicode\Data\Pattern::RTL, $str)); + + $str = json_decode('"\u202B"'); // RLE + $this->assertEquals(1, preg_match(\Com\Tecnick\Unicode\Data\Pattern::RTL, $str)); + + $str = json_decode('"\u202E"'); // RLO + $this->assertEquals(1, preg_match(\Com\Tecnick\Unicode\Data\Pattern::RTL, $str)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode-data/test/TypeTest.php b/vendor/tecnickcom/tc-lib-unicode-data/test/TypeTest.php new file mode 100644 index 0000000..6564972 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode-data/test/TypeTest.php @@ -0,0 +1,58 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + * + * This file is part of tc-lib-unicode-data software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Type Test + * + * @since 2011-05-23 + * @category Library + * @package UnicodeData + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode-data + */ +class TypeTest extends TestCase +{ + public function testStrong(): void + { + $this->assertEquals(3, count(\Com\Tecnick\Unicode\Data\Type::STRONG)); + } + + public function testWeak(): void + { + $this->assertEquals(7, count(\Com\Tecnick\Unicode\Data\Type::WEAK)); + } + + public function testNeutral(): void + { + $this->assertEquals(4, count(\Com\Tecnick\Unicode\Data\Type::NEUTRAL)); + } + + public function testExplicitFormatting(): void + { + $this->assertEquals(9, count(\Com\Tecnick\Unicode\Data\Type::EXPLICIT_FORMATTING)); + } + + public function testUni(): void + { + $this->assertEquals(17720, count(\Com\Tecnick\Unicode\Data\Type::UNI)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/.editorconfig b/vendor/tecnickcom/tc-lib-unicode/.editorconfig new file mode 100644 index 0000000..f8d1e73 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.editorconfig @@ -0,0 +1,20 @@ +# Ref: https://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style end of lines and a blank line at the end of the file +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.php] +indent_style = space +indent_size = 4 + +[*.{js,json,scss,css,yml,vue}] +indent_style = space +indent_size = 2 diff --git a/vendor/tecnickcom/tc-lib-unicode/.github/FUNDING.yml b/vendor/tecnickcom/tc-lib-unicode/.github/FUNDING.yml new file mode 100644 index 0000000..c47c69e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ'] diff --git a/vendor/tecnickcom/tc-lib-unicode/.github/ISSUE_TEMPLATE/bug_report.md b/vendor/tecnickcom/tc-lib-unicode/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..2c954f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, copy the relevant logs to help explain your problem. + +**Environment:** + - OS: + - PHP version: + - Version: + +**Additional context** +Add any other context about the problem here. diff --git a/vendor/tecnickcom/tc-lib-unicode/.github/ISSUE_TEMPLATE/feature_request.md b/vendor/tecnickcom/tc-lib-unicode/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/vendor/tecnickcom/tc-lib-unicode/.github/pull_request_template.md b/vendor/tecnickcom/tc-lib-unicode/.github/pull_request_template.md new file mode 100644 index 0000000..776ebc0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.github/pull_request_template.md @@ -0,0 +1,25 @@ +# Description + +Please include a summary of the change and include relevant motivation and context. + +... + + +## Checklist: + +- [ ] The `make buildall` command has been run successfully without any error or warning. +- [ ] Any new code line is covered by unit tests and the coverage has not dropped. +- [ ] Any new code follows the style guidelines of this project. +- [ ] The code changes have been self-reviewed. +- [ ] Corresponding changes to the documentation have been made. +- [ ] The version has been updated in the VERSION file. + +## Type of change: + +- [ ] Bug fix (non-breaking change which fixes an issue) → The patch number in the VERSION file has been increased. +- [ ] New feature (non-breaking change which adds functionality) → The minor number in the VERSION file has been increased. +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) → The major number in the VERSION file has been increased. +- [ ] Automation. +- [ ] Documentation. +- [ ] Example. +- [ ] Testing. diff --git a/vendor/tecnickcom/tc-lib-unicode/.github/workflows/check.yml b/vendor/tecnickcom/tc-lib-unicode/.github/workflows/check.yml new file mode 100644 index 0000000..bf9c5e3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.github/workflows/check.yml @@ -0,0 +1,56 @@ +name: check + +env: + XDEBUG_MODE: coverage + +permissions: + contents: read + +on: + push: + branches: + - 'main' + pull_request: + types: [opened, synchronize, reopened] + branches: + - main + +jobs: + test-php: + name: Test on php ${{ matrix.php-version }} and ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + php-version: ["8.1", "8.2", "8.3", "8.4"] + experimental: [false] + os: [ubuntu-latest] + coverage-extension: [pcov] + steps: + - uses: actions/checkout@v4 + - name: Use php ${{ matrix.php-version }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + coverage: ${{ matrix.coverage-extension }} + extensions: bcmath, curl, date, gd, hash, imagick, json, mbstring, openssl, pcre, zlib + ini-values: display_errors=on, error_reporting=-1, zend.assertions=1 + - name: List php modules + run: php -m + - name: List php modules using "no php ini" mode + run: php -m -n + - name: Cache module + uses: actions/cache@v4 + with: + path: ~/.composer/cache/ + key: composer-cache + - name: Install dependencies + run: make deps + - name: Run all tests + run: make qa + - name: Send coverage + uses: codecov/codecov-action@v5 + with: + flags: php-${{ matrix.php-version }}-${{ matrix.os }} + name: php-${{ matrix.php-version }}-${{ matrix.os }} diff --git a/vendor/tecnickcom/tc-lib-unicode/.gitignore b/vendor/tecnickcom/tc-lib-unicode/.gitignore new file mode 100644 index 0000000..4dd7d5e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/.gitignore @@ -0,0 +1,20 @@ +**/*.bak +**/*.tmp +**/.#* +**/.DS_Store +**/._* +**/.idea +**/.vagrant +**/auth.json +**/nbproject +**/temp.php +**/test.php +.phpdoc +.phpunit.cache +.phpunit.result.cache +composer.lock +ecs.php +phpunit.xml +rector.php +target +vendor diff --git a/vendor/tecnickcom/tc-lib-unicode/CODEOWNERS b/vendor/tecnickcom/tc-lib-unicode/CODEOWNERS new file mode 100644 index 0000000..302fbf3 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/CODEOWNERS @@ -0,0 +1 @@ +* @nicolaasuni diff --git a/vendor/tecnickcom/tc-lib-unicode/CODE_OF_CONDUCT.md b/vendor/tecnickcom/tc-lib-unicode/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18c9147 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/vendor/tecnickcom/tc-lib-unicode/CONTRIBUTING.md b/vendor/tecnickcom/tc-lib-unicode/CONTRIBUTING.md new file mode 100644 index 0000000..db2739c --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How to Contribute + + +## Reporting a bug + +* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to our [Security policy](SECURITY.md). + +* Ensure the bug was not already reported by searching on GitHub Issues. + +* If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring. + + +## Submitting a bug fix + +* Open a new GitHub pull request with the patch. + +* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + +* Ensure the new code is following the existing conventions and the unit test coverage is 100%. + +* Before submitting, please run the following command locally to ensure the code is passing the automatic checks: `make buildall`. + + +## Add a new feature or change an existing one + +* Before writing any code please suggest the change by opening a new Feature Request on Issues. diff --git a/vendor/tecnickcom/tc-lib-unicode/LICENSE b/vendor/tecnickcom/tc-lib-unicode/LICENSE new file mode 100644 index 0000000..cda9200 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/LICENSE @@ -0,0 +1,862 @@ +********************************************************************** +* LICENSE +* +* SOFTWARE : tc-lib-unicode +* AUTHOR : Nicola Asuni +* COPYRIGHT : 2011-2025 Nicola Asuni - Tecnick.com LTD +********************************************************************** + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tc-lib-unicode/Makefile b/vendor/tecnickcom/tc-lib-unicode/Makefile new file mode 100644 index 0000000..1a776f5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/Makefile @@ -0,0 +1,277 @@ +# makefile +# +# @since 2015-07-13 +# @category Library +# @package Unicode +# @author Nicola Asuni +# @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD +# @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) +# @link https://github.com/tecnickcom/tc-lib-unicode +# +# This file is part of tc-lib-unicode software library. +# ---------------------------------------------------------------------------------------------------------------------- + +SHELL=/bin/bash +.SHELLFLAGS=-o pipefail -c + +# Project owner +OWNER=tecnickcom + +# Project vendor +VENDOR=${OWNER} + +# Project name +PROJECT=tc-lib-unicode + +# Project version +VERSION=$(shell cat VERSION) + +# Project release number (packaging build number) +RELEASE=$(shell cat RELEASE) + +# Name of RPM or DEB package +PKGNAME=php-${OWNER}-${PROJECT} + +# Data dir +DATADIR=usr/share + +# PHP home folder +PHPHOME=${DATADIR}/php/Com/Tecnick + +# Default installation path for code +LIBPATH=${PHPHOME}/Unicode/ + +# Path for configuration files (etc/$(PKGNAME)/) +CONFIGPATH= + +# Default installation path for documentation +DOCPATH=${DATADIR}/doc/$(PKGNAME)/ + +# Installation path for the code +PATHINSTBIN=$(DESTDIR)/$(LIBPATH) + +# Installation path for the configuration files +PATHINSTCFG=$(DESTDIR)/$(CONFIGPATH) + +# Installation path for documentation +PATHINSTDOC=$(DESTDIR)/$(DOCPATH) + +# Current directory +CURRENTDIR=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +# Target directory +TARGETDIR=$(CURRENTDIR)target + +# RPM Packaging path (where RPMs will be stored) +PATHRPMPKG=$(TARGETDIR)/RPM + +# DEB Packaging path (where DEBs will be stored) +PATHDEBPKG=$(TARGETDIR)/DEB + +# BZ2 Packaging path (where BZ2s will be stored) +PATHBZ2PKG=$(TARGETDIR)/BZ2 + +# Default port number for the example server +PORT?=8000 + +# PHP binary +PHP=$(shell which php) + +# Composer executable (disable APC to as a work-around of a bug) +COMPOSER=$(PHP) -d "apc.enable_cli=0" $(shell which composer) + +# phpDocumentor executable file +PHPDOC=$(shell which phpDocumentor) + +# --- MAKE TARGETS --- + +# Display general help about this command +.PHONY: help +help: + @echo "" + @echo "$(PROJECT) Makefile." + @echo "The following commands are available:" + @echo "" + @echo " make buildall : Build and test everything from scratch" + @echo " make bz2 : Package the library in a compressed bz2 archive" + @echo " make clean : Delete the vendor and target directories" + @echo " make codefix : Fix code style violations" + @echo " make deb : Build a DEB package for Debian-like Linux distributions" + @echo " make deps : Download all dependencies" + @echo " make doc : Generate source code documentation" + @echo " make lint : Test source code for coding standard violations" + @echo " make qa : Run all tests and reports" + @echo " make report : Generate various reports" + @echo " make rpm : Build an RPM package for RedHat-like Linux distributions" + @echo " make server : Start the development server" + @echo " make test : Run unit tests" + @echo " make versionup: Increase the version patch number" + @echo "" + @echo "To test and build everything from scratch:" + @echo "make buildall" + @echo "" + +# alias for help target +.PHONY: all +all: help + +# Full build and test sequence +.PHONY: x +x: buildall + +# Full build and test sequence +.PHONY: buildall +buildall: deps codefix qa bz2 rpm deb + +# Package the library in a compressed bz2 archive +.PHONY: bz2 +bz2: + rm -rf $(PATHBZ2PKG) + make install DESTDIR=$(PATHBZ2PKG) + tar -jcvf $(PATHBZ2PKG)/$(PKGNAME)-$(VERSION)-$(RELEASE).tbz2 -C $(PATHBZ2PKG) $(DATADIR) + +# Delete the vendor and target directories +.PHONY: clean +clean: + rm -rf ./vendor $(TARGETDIR) + +# Fix code style violations +.PHONY: codefix +codefix: + ./vendor/bin/phpcbf --ignore="./vendor/" --standard=psr12 src test + +# Build a DEB package for Debian-like Linux distributions +.PHONY: deb +deb: + rm -rf $(PATHDEBPKG) + make install DESTDIR=$(PATHDEBPKG)/$(PKGNAME)-$(VERSION) + rm -f $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/$(DOCPATH)LICENSE + tar -zcvf $(PATHDEBPKG)/$(PKGNAME)_$(VERSION).orig.tar.gz -C $(PATHDEBPKG)/ $(PKGNAME)-$(VERSION) + cp -rf ./resources/debian $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#DATE#~/`date -R`/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VENDOR#~/$(VENDOR)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PROJECT#~/$(PROJECT)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#PKGNAME#~/$(PKGNAME)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#VERSION#~/$(VERSION)/" {} \; + find $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/ -type f -exec sed -i "s/~#RELEASE#~/$(RELEASE)/" {} \; + echo $(LIBPATH) > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(LIBPATH)* $(LIBPATH)" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install + echo $(DOCPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(DOCPATH)* $(DOCPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +ifneq ($(strip $(CONFIGPATH)),) + echo $(CONFIGPATH) >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).dirs + echo "$(CONFIGPATH)* $(CONFIGPATH)" >> $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/install +endif + echo "new-package-should-close-itp-bug" > $(PATHDEBPKG)/$(PKGNAME)-$(VERSION)/debian/$(PKGNAME).lintian-overrides + cd $(PATHDEBPKG)/$(PKGNAME)-$(VERSION) && debuild -us -uc + +# Clean all artifacts and download all dependencies +.PHONY: deps +deps: ensuretarget + rm -rf ./vendor/* + ($(COMPOSER) install -vvv --no-interaction) + curl --silent --show-error --fail --location --output ./vendor/phpstan.phar https://github.com/phpstan/phpstan/releases/download/2.1.2/phpstan.phar \ + && chmod +x ./vendor/phpstan.phar + +# Generate source code documentation +.PHONY: doc +doc: ensuretarget + rm -rf $(TARGETDIR)/doc + $(PHPDOC) -d ./src -t $(TARGETDIR)/doc/ + +# Create missing target directories for test and build artifacts +.PHONY: ensuretarget +ensuretarget: + mkdir -p $(TARGETDIR)/test + mkdir -p $(TARGETDIR)/report + mkdir -p $(TARGETDIR)/doc + +# Install this application +.PHONY: install +install: uninstall + mkdir -p $(PATHINSTBIN) + cp -rf ./src/* $(PATHINSTBIN) + cp -f ./resources/autoload.php $(PATHINSTBIN) + find $(PATHINSTBIN) -type d -exec chmod 755 {} \; + find $(PATHINSTBIN) -type f -exec chmod 644 {} \; + mkdir -p $(PATHINSTDOC) + cp -f ./LICENSE $(PATHINSTDOC) + cp -f ./README.md $(PATHINSTDOC) + cp -f ./VERSION $(PATHINSTDOC) + cp -f ./RELEASE $(PATHINSTDOC) + chmod -R 644 $(PATHINSTDOC)* +ifneq ($(strip $(CONFIGPATH)),) + mkdir -p $(PATHINSTCFG) + touch -c $(PATHINSTCFG)* + cp -ru ./resources/${CONFIGPATH}* $(PATHINSTCFG) + find $(PATHINSTCFG) -type d -exec chmod 755 {} \; + find $(PATHINSTCFG) -type f -exec chmod 644 {} \; +endif + +# Test source code for coding standard violations +.PHONY: lint +lint: + ./vendor/bin/phpcs --ignore="./vendor/" --standard=phpcs.xml src test + ./vendor/bin/phpmd src text codesize,unusedcode,naming,design --exclude */vendor/* + ./vendor/bin/phpmd test text unusedcode,naming,design --exclude */vendor/* + php -r 'exit((int)version_compare(PHP_MAJOR_VERSION, "7", ">"));' || ./vendor/phpstan.phar analyse + +# Run all tests and reports +.PHONY: qa +qa: ensuretarget lint test report + +# Generate various reports +.PHONY: report +report: ensuretarget + ./vendor/bin/pdepend --jdepend-xml=$(TARGETDIR)/report/dependencies.xml --summary-xml=$(TARGETDIR)/report/metrics.xml --jdepend-chart=$(TARGETDIR)/report/dependecies.svg --overview-pyramid=$(TARGETDIR)/report/overview-pyramid.svg --ignore=vendor ./src + #./vendor/bartlett/php-compatinfo/bin/phpcompatinfo --no-ansi analyser:run src/ > $(TARGETDIR)/report/phpcompatinfo.txt + +# Build the RPM package for RedHat-like Linux distributions +.PHONY: rpm +rpm: + rm -rf $(PATHRPMPKG) + rpmbuild \ + --define "_topdir $(PATHRPMPKG)" \ + --define "_vendor $(VENDOR)" \ + --define "_owner $(OWNER)" \ + --define "_project $(PROJECT)" \ + --define "_package $(PKGNAME)" \ + --define "_version $(VERSION)" \ + --define "_release $(RELEASE)" \ + --define "_current_directory $(CURRENTDIR)" \ + --define "_libpath /$(LIBPATH)" \ + --define "_docpath /$(DOCPATH)" \ + --define "_configpath /$(CONFIGPATH)" \ + -bb resources/rpm/rpm.spec + +# Start the development server +.PHONY: server +server: + $(PHP) -t example -S localhost:$(PORT) + +# Tag this GIT version +.PHONY: tag +tag: + git checkout main && \ + git tag -a ${VERSION} -m "Release ${VERSION}" && \ + git push origin --tags && \ + git pull + +# Run unit tests +.PHONY: test +test: + cp phpunit.xml.dist phpunit.xml + #./vendor/bin/phpunit --migrate-configuration || true + XDEBUG_MODE=coverage ./vendor/bin/phpunit --stderr test + +# Remove all installed files +.PHONY: uninstall +uninstall: + rm -rf $(PATHINSTBIN) + rm -rf $(PATHINSTDOC) + +# Increase the version patch number +.PHONY: versionup +versionup: + echo ${VERSION} | gawk -F. '{printf("%d.%d.%d\n",$$1,$$2,(($$3+1)));}' > VERSION + diff --git a/vendor/tecnickcom/tc-lib-unicode/README.md b/vendor/tecnickcom/tc-lib-unicode/README.md new file mode 100644 index 0000000..e946c26 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/README.md @@ -0,0 +1,109 @@ +# tc-lib-unicode +*PHP library containing Unicode and UTF-8 methods, including the Unicode Bidirectional Algorithm* + +[![Latest Stable Version](https://poser.pugx.org/tecnickcom/tc-lib-unicode/version)](https://packagist.org/packages/tecnickcom/tc-lib-unicode) +![Build](https://github.com/tecnickcom/tc-lib-unicode/actions/workflows/check.yml/badge.svg) +[![Coverage](https://codecov.io/gh/tecnickcom/tc-lib-unicode/graph/badge.svg?token=XLM0QWY9BE)](https://codecov.io/gh/tecnickcom/tc-lib-unicode) +[![License](https://poser.pugx.org/tecnickcom/tc-lib-unicode/license)](https://packagist.org/packages/tecnickcom/tc-lib-unicode) +[![Downloads](https://poser.pugx.org/tecnickcom/tc-lib-unicode/downloads)](https://packagist.org/packages/tecnickcom/tc-lib-unicode) + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **package** \Com\Tecnick\Unicode +* **author** Nicola Asuni +* **copyright** 2011-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** https://github.com/tecnickcom/tc-lib-unicode +* **SRC DOC** https://tcpdf.org/docs/srcdoc/tc-lib-unicode + +## Description + +PHP library containing Unicode and UTF-8 methods, including the Unicode Bidirectional Algorithm. + +The initial source code has been derived from [TCPDF](). + + +## Getting started + +First, you need to install all development dependencies using [Composer](https://getcomposer.org/): + +```bash +$ curl -sS https://getcomposer.org/installer | php +$ mv composer.phar /usr/local/bin/composer +``` + +This project include a Makefile that allows you to test and build the project with simple commands. +To see all available options: + +```bash +make help +``` + +To install all the development dependencies: + +```bash +make deps +``` + +## Running all tests + +Before committing the code, please check if it passes all tests using + +```bash +make qa +``` + +All artifacts are generated in the target directory. + + +## Example + +Examples are located in the `example` directory. + +Start a development server (requires PHP 8.0+) using the command: + +``` +make server +``` + +and point your browser to + + +## Installation + +Create a composer.json in your projects root-directory: + +```json +{ + "require": { + "tecnickcom/tc-lib-unicode": "^2.0" + } +} +``` + +Or add to an existing project with: + +```bash +composer require tecnickcom/tc-lib-unicode ^2.0 +``` + + +## Packaging + +This library is mainly intended to be used and included in other PHP projects using Composer. +However, since some production environments dictates the installation of any application as RPM or DEB packages, +this library includes make targets for building these packages (`make rpm` and `make deb`). +The packages are generated under the `target` directory. + +When this library is installed using an RPM or DEB package, you can use it your code by including the autoloader: +``` +require_once ('/usr/share/php/Com/Tecnick/Unicode/autoload.php'); +``` + + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tc-lib-unicode/RELEASE b/vendor/tecnickcom/tc-lib-unicode/RELEASE new file mode 100644 index 0000000..573541a --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/RELEASE @@ -0,0 +1 @@ +0 diff --git a/vendor/tecnickcom/tc-lib-unicode/SECURITY.md b/vendor/tecnickcom/tc-lib-unicode/SECURITY.md new file mode 100644 index 0000000..6150279 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report (suspected) security vulnerabilities to info@tecnick.com. diff --git a/vendor/tecnickcom/tc-lib-unicode/VERSION b/vendor/tecnickcom/tc-lib-unicode/VERSION new file mode 100644 index 0000000..efb4534 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/VERSION @@ -0,0 +1 @@ +2.0.25 diff --git a/vendor/tecnickcom/tc-lib-unicode/composer.json b/vendor/tecnickcom/tc-lib-unicode/composer.json new file mode 100644 index 0000000..411e801 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/composer.json @@ -0,0 +1,41 @@ +{ + "name": "tecnickcom/tc-lib-unicode", + "description": "PHP library containing Unicode methods", + "type": "library", + "homepage": "http://www.tecnick.com", + "license": "LGPL-3.0-or-later", + "keywords": [ + "tc-lib-unicode", + "PDF", + "font", + "UTF-8", + "Unicode" + ], + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=8.1", + "ext-mbstring": "*", + "ext-pcre": "*", + "tecnickcom/tc-lib-unicode-data": "^2.0" + }, + "require-dev": { + "pdepend/pdepend": "2.16.2", + "phpmd/phpmd": "2.15.0", + "phpunit/phpunit": "12.2.0 || 11.5.7 || 10.5.40", + "squizlabs/php_codesniffer": "3.13.0" + }, + "autoload": { + "psr-4": { + "Com\\Tecnick\\Unicode\\": "src" + } + }, + "autoload-dev": { + "psr-4": { "Test\\": "test" } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/examples/index.php b/vendor/tecnickcom/tc-lib-unicode/examples/index.php new file mode 100644 index 0000000..4c976b1 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/examples/index.php @@ -0,0 +1,23 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +// NOTE: run make deps fonts in the project root to generate the dependencies and example fonts. + +// autoloader when using Composer +require ('../vendor/autoload.php'); + +use \Com\Tecnick\Unicode\Bidi as Bidi; + +echo (new Bidi('hello ', null, null, 'R', false))->getString()."\n"; diff --git a/vendor/tecnickcom/tc-lib-unicode/phpcompatinfo.json b/vendor/tecnickcom/tc-lib-unicode/phpcompatinfo.json new file mode 100644 index 0000000..dc01759 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/phpcompatinfo.json @@ -0,0 +1,15 @@ +{ + "source-providers": [ + { + "in": "src as source", + "exclude": "vendor", + "name": "/\\.(php)$/" + } + ], + "plugins": [ + ], + "analysers": [ + ], + "services": [ + ] +} diff --git a/vendor/tecnickcom/tc-lib-unicode/phpcs.xml b/vendor/tecnickcom/tc-lib-unicode/phpcs.xml new file mode 100644 index 0000000..7c9da08 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/phpcs.xml @@ -0,0 +1,7 @@ + + + PSR-12 for PHP less than 7.1 + + + + diff --git a/vendor/tecnickcom/tc-lib-unicode/phpstan.neon b/vendor/tecnickcom/tc-lib-unicode/phpstan.neon new file mode 100644 index 0000000..86bd47d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/phpstan.neon @@ -0,0 +1,10 @@ +parameters: + level: max + paths: + - src + - test + excludePaths: + - vendor + ignoreErrors: + reportUnmatchedIgnoredErrors: false + treatPhpDocTypesAsCertain: false diff --git a/vendor/tecnickcom/tc-lib-unicode/phpunit.xml.dist b/vendor/tecnickcom/tc-lib-unicode/phpunit.xml.dist new file mode 100644 index 0000000..27ac7f9 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/phpunit.xml.dist @@ -0,0 +1,31 @@ + + + + + ./test + + + + + src + + + + + + + + + + + + diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/autoload.php b/vendor/tecnickcom/tc-lib-unicode/resources/autoload.php new file mode 100644 index 0000000..2d9e5b8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/autoload.php @@ -0,0 +1,30 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ +spl_autoload_register( + function ($class) { + $prefix = 'Com\\Tecnick\\'; + $len = strlen($prefix); + if (strncmp($prefix, $class, $len) !== 0) { + return; + } + $relative_class = substr($class, $len); + $file = dirname(__DIR__).'/'.str_replace('\\', '/', $relative_class).'.php'; + if (file_exists($file)) { + require $file; + } + } +); diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/debian/changelog b/vendor/tecnickcom/tc-lib-unicode/resources/debian/changelog new file mode 100644 index 0000000..7767c79 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/debian/changelog @@ -0,0 +1,7 @@ +~#PKGNAME#~ (~#VERSION#~-~#RELEASE#~) UNRELEASED; urgency=low + + * Please check the + https://github.com/~#VENDOR#~/~#PROJECT#~ + commit history + + -- Nicola Asuni ~#DATE#~ diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/debian/compat b/vendor/tecnickcom/tc-lib-unicode/resources/debian/compat new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/debian/compat @@ -0,0 +1 @@ +10 diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/debian/control b/vendor/tecnickcom/tc-lib-unicode/resources/debian/control new file mode 100644 index 0000000..57e74ac --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/debian/control @@ -0,0 +1,15 @@ +Source: ~#PKGNAME#~ +Maintainer: Nicola Asuni +Section: php +Priority: optional +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.7 +Homepage: https://github.com/~#VENDOR#~/~#PROJECT#~ +Vcs-Git: https://github.com/~#VENDOR#~/~#PROJECT#~.git + +Package: ~#PKGNAME#~ +Provides: php-~#PROJECT#~ +Architecture: all +Depends: php (>= 8.1.0), php-mbstring, php-tecnickcom-tc-lib-unicode-data (<< 3.0.0), php-tecnickcom-tc-lib-unicode-data (>= 2.0.24), ${misc:Depends} +Description: PHP Unicode methods. + PHP library containing Unicode methods. diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/debian/copyright b/vendor/tecnickcom/tc-lib-unicode/resources/debian/copyright new file mode 100644 index 0000000..68603ae --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/debian/copyright @@ -0,0 +1,20 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ~#PROJECT#~ +Source: https://github.com/~#VENDOR#~/~#PROJECT#~ + +Files: * +Copyright: Copyright 2001-2024 Nicola Asuni +License: LGPL-3 + +License: LGPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + You should have received a copy of the GNU General Public License + along with this program. If not, see or + /usr/share/common-licenses/LGPL-3 diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/debian/rules b/vendor/tecnickcom/tc-lib-unicode/resources/debian/rules new file mode 100644 index 0000000..cbe925d --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/debian/rules @@ -0,0 +1,3 @@ +#!/usr/bin/make -f +%: + dh $@ diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/debian/source/format b/vendor/tecnickcom/tc-lib-unicode/resources/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/vendor/tecnickcom/tc-lib-unicode/resources/rpm/rpm.spec b/vendor/tecnickcom/tc-lib-unicode/resources/rpm/rpm.spec new file mode 100644 index 0000000..187bf65 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/resources/rpm/rpm.spec @@ -0,0 +1,50 @@ +# SPEC file + +%global c_vendor %{_vendor} +%global gh_owner %{_owner} +%global gh_project %{_project} + +Name: %{_package} +Version: %{_version} +Release: %{_release}%{?dist} +Summary: PHP library containing Unicode methods + +Group: Development/Libraries +License: LGPLv3+ +URL: https://github.com/%{gh_owner}/%{gh_project} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id_u} -n) +BuildArch: noarch + +Requires: php(language) >= 8.1.0 +Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) < 3.0.0 +Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0.24 +Requires: php-pcre +Requires: php-mbstring + +Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version} +Provides: php-%{gh_project} = %{version} + +%description +PHP library containing Unicode methods + +%build +#(cd %{_current_directory} && make build) + +%install +rm -rf $RPM_BUILD_ROOT +(cd %{_current_directory} && make install DESTDIR=$RPM_BUILD_ROOT) + +%clean +rm -rf $RPM_BUILD_ROOT +#(cd %{_current_directory} && make clean) + +%files +%attr(-,root,root) %{_libpath} +%attr(-,root,root) %{_docpath} +%docdir %{_docpath} +#%config(noreplace) %{_configpath}* + +%changelog +* Tue Jul 21 2024 Nicola Asuni 1.0.0-1 +- Initial Commit diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi.php new file mode 100644 index 0000000..2ddfef2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi.php @@ -0,0 +1,362 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode; + +use Com\Tecnick\Unicode\Bidi\Shaping; +use Com\Tecnick\Unicode\Bidi\StepI; +use Com\Tecnick\Unicode\Bidi\StepL; +use Com\Tecnick\Unicode\Bidi\StepN; +use Com\Tecnick\Unicode\Bidi\StepP; +use Com\Tecnick\Unicode\Bidi\StepW; +use Com\Tecnick\Unicode\Bidi\StepX; +use Com\Tecnick\Unicode\Bidi\StepXten; +use Com\Tecnick\Unicode\Data\Pattern as UniPattern; +use Com\Tecnick\Unicode\Data\Type as UniType; +use Com\Tecnick\Unicode\Exception as UnicodeException; + +/** + * Com\Tecnick\Unicode\Bidi + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class Bidi +{ + /** + * String to process + */ + protected string $str = ''; + + /** + * Array of UTF-8 chars + * + * @var array + */ + protected array $chrarr = []; + + /** + * Array of UTF-8 codepoints + * + * @var array + */ + protected array $ordarr = []; + + /** + * Processed string + */ + protected string $bidistr = ''; + + /** + * Array of processed UTF-8 chars + * + * @var array + */ + protected array $bidichrarr = []; + + /** + * Array of processed UTF-8 codepoints + * + * @var array + */ + protected array $bidiordarr = []; + + /** + * If 'R' forces RTL, if 'L' forces LTR + */ + protected string $forcedir = ''; + + /** + * If true enable shaping + */ + protected bool $shaping = true; + + /** + * True if the string contains arabic characters + */ + protected bool $arabic = false; + + /** + * Array of character data + * + * @var array + */ + protected array $chardata = []; + + /** + * Convert object + */ + protected Convert $conv; + + /** + * Reverse the RLT substrings using the Bidirectional Algorithm + * http://unicode.org/reports/tr9/ + * + * @param ?string $str String to convert (if null it will be generated from $chrarr or $ordarr) + * @param ?array $chrarr Array of UTF-8 chars (if empty it will be generated from $str or $ordarr) + * @param ?array $ordarr Array of UTF-8 codepoints (if empty it will be generated from $str or $chrarr) + * @param string $forcedir If 'R' forces RTL, if 'L' forces LTR + * @param bool $shaping If true enable the shaping algorithm + */ + public function __construct( + ?string $str = null, + ?array $chrarr = null, + ?array $ordarr = null, + string $forcedir = '', + bool $shaping = true + ) { + if (($str === null) && ($chrarr === null || $chrarr === []) && ($ordarr === null || $ordarr === [])) { + throw new UnicodeException('empty input'); + } + + $this->conv = new Convert(); + $this->setInput($str, $chrarr, $ordarr, $forcedir); + + if (! $this->isRtlMode()) { + $this->bidistr = $this->str; + $this->bidichrarr = $this->chrarr; + $this->bidiordarr = $this->ordarr; + return; + } + + $this->shaping = ($shaping && $this->arabic); + + $this->process(); + } + + /** + * Set Input data + * + * @param ?string $str String to convert (if null it will be generated from $chrarr or $ordarr) + * @param ?array $chrarr Array of UTF-8 chars (if empty it will be generated from $str or $ordarr) + * @param ?array $ordarr Array of UTF-8 codepoints (if empty it will be generated from $str or $chrarr) + * @param string $forcedir If 'R' forces RTL, if 'L' forces LTR + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function setInput( + ?string $str = null, + ?array $chrarr = null, + ?array $ordarr = null, + string $forcedir = '' + ): void { + if ($str === null) { + if (($chrarr === null || $chrarr === []) && ($ordarr !== null && $ordarr !== [])) { + $chrarr = $this->conv->ordArrToChrArr($ordarr); + } + + $str = implode('', $chrarr); + } + + if ($chrarr === null || $chrarr === []) { + $chrarr = $this->conv->strToChrArr($str); + } + + if ($ordarr === null || $ordarr === []) { + $ordarr = $this->conv->chrArrToOrdArr($chrarr); + } + + $this->str = $str; + $this->chrarr = $chrarr; + $this->ordarr = $ordarr; + $this->forcedir = ''; + if ($forcedir !== '') { + $this->forcedir = strtoupper($forcedir[0]); + } + } + + /** + * Returns the processed array of UTF-8 codepoints + * + * @return array + */ + public function getOrdArray(): array + { + return $this->bidiordarr; + } + + /** + * Returns the processed array of UTF-8 chars + * + * @return array + */ + public function getChrArray(): array + { + if ($this->bidichrarr === []) { + $this->bidichrarr = $this->conv->ordArrToChrArr($this->bidiordarr); + } + + return $this->bidichrarr; + } + + /** + * Returns the number of characters in the processed string + */ + public function getNumChars(): int + { + return count($this->getChrArray()); + } + + /** + * Returns the processed string + */ + public function getString(): string + { + if ($this->bidistr === '') { + $this->bidistr = implode('', $this->getChrArray()); + } + + return $this->bidistr; + } + + /** + * Returns an array with processed chars as keys + * + * @return array + */ + public function getCharKeys(): array + { + return array_fill_keys(array_values($this->bidiordarr), true); + } + + /** + * P1. Split the text into separate paragraphs. + * A paragraph separator is kept with the previous paragraph. + * + * @return array> + */ + protected function getParagraphs(): array + { + $paragraph = [ + 0 => [], + ]; + $pdx = 0; // paragraphs index + foreach ($this->ordarr as $ord) { + $paragraph[$pdx][] = $ord; + if (isset(UniType::UNI[$ord]) && (UniType::UNI[$ord] == 'B')) { + ++$pdx; + $paragraph[$pdx] = []; + } + } + + return $paragraph; + } + + /** + * Process the string + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function process(): void + { + // split the text into separate paragraphs. + $paragraph = $this->getParagraphs(); + + // Within each paragraph, apply all the other rules of this algorithm. + foreach ($paragraph as $par) { + $pel = $this->getPel($par); + $stepx = new StepX($par, $pel); + $stepx10 = new StepXten($stepx->getChrData(), $pel); + $ilrs = $stepx10->getIsolatedLevelRunSequences(); + $chardata = []; + $maxlevel = 0; + foreach ($ilrs as $ilr) { + $stepw = new StepW($ilr); + $stepn = new StepN($stepw->getSequence()); + $stepi = new StepI($stepn->getSequence()); + $ilr = $stepi->getSequence(); + if ($this->shaping) { + $shaping = new Shaping($ilr); + $ilr = $shaping->getSequence(); + } + + $chardata = array_merge($chardata, $ilr['item']); + + if ($ilr['maxlevel'] > $maxlevel) { + $maxlevel = $ilr['maxlevel']; + } + } + + $stepl = new StepL($chardata, $pel, $maxlevel); + $chardata = $stepl->getChrData(); + foreach ($chardata as $chardatum) { + $this->bidiordarr[] = $chardatum['char']; + } + + // add back the paragraph separators + $lastchar = end($par); + if ($lastchar === false) { + continue; + } + + if ($lastchar < 0) { + continue; + } + + if (! isset(UniType::UNI[$lastchar])) { + continue; + } + + if (UniType::UNI[$lastchar] != 'B') { + continue; + } + + $this->bidiordarr[] = $lastchar; + } + } + + /** + * Get the paragraph embedding level + * + * @param array $par Paragraph + */ + protected function getPel($par): int + { + if ($this->forcedir === 'R') { + return 1; + } + + if ($this->forcedir === 'L') { + return 0; + } + + $stepp = new StepP($par); + return $stepp->getPel(); + } + + /** + * Check if the input string contains RTL characters to process + */ + protected function isRtlMode(): bool + { + $this->arabic = (bool) preg_match(UniPattern::ARABIC, $this->str); + return (($this->forcedir === 'R') || $this->arabic || preg_match(UniPattern::RTL, $this->str)); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/Shaping.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/Shaping.php new file mode 100644 index 0000000..eac0ed5 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/Shaping.php @@ -0,0 +1,140 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Arabic as UniArabic; +use Com\Tecnick\Unicode\Data\Constant as UniConstant; + +/** + * Com\Tecnick\Unicode\Bidi\Shaping + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * @phpstan-import-type SeqData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + */ +class Shaping extends \Com\Tecnick\Unicode\Bidi\Shaping\Arabic +{ + /** + * Shaping + * Cursively connected scripts, such as Arabic or Syriac, + * require the selection of positional character shapes that depend on adjacent characters. + * Shaping is logically applied after the Bidirectional Algorithm is used and is limited to + * characters within the same directional run. + * + * @param SeqData $seq isolated Sequence array + */ + public function __construct(array $seq) + { + $this->seq = $seq; + $this->newchardata = $seq['item']; + $this->process(); + } + + /** + * Returns the processed sequence + * + * @return SeqData + */ + public function getSequence(): array + { + return $this->seq; + } + + /** + * Process + */ + protected function process(): void + { + $this->setAlChars(); + for ($idx = 0; $idx < $this->seq['length']; ++$idx) { + if ($this->seq['item'][$idx]['otype'] == 'AL') { + $thischar = $this->seq['item'][$idx]; + $pos = $thischar['x']; + $prevchar = (($pos > 0) ? $this->alchars[($pos - 1)] : null); + $nextchar = ((($pos + 1) < $this->numalchars) ? $this->alchars[($pos + 1)] : null); + $this->processAlChar($idx, $pos, $prevchar, $thischar, $nextchar); + } + } + + $this->combineShadda(); + $this->removeDeletedChars(); + $this->seq['item'] = array_values($this->newchardata); + unset($this->newchardata); + } + + /** + * Set AL chars array + */ + protected function setAlChars(): void + { + $this->numalchars = 0; + for ($idx = 0; $idx < $this->seq['length']; ++$idx) { + if ( + ($this->seq['item'][$idx]['otype'] == 'AL') + || ($this->seq['item'][$idx]['char'] == UniConstant::SPACE) + || ($this->seq['item'][$idx]['char'] == UniConstant::ZERO_WIDTH_NON_JOINER) + ) { + $this->alchars[$this->numalchars]['i'] = $idx; + $this->alchars[$this->numalchars] = array_merge( + $this->alchars[$this->numalchars], + $this->seq['item'][$idx] + ); + $this->seq['item'][$idx]['x'] = $this->numalchars; + ++$this->numalchars; + } + } + } + + /** + * Combine characters that can occur with Arabic Shadda (0651 HEX, 1617 DEC). + * Putting the combining mark and shadda in the same glyph allows + * to avoid the two marks overlapping each other in an illegible manner. + */ + protected function combineShadda(): void + { + $last = ($this->seq['length'] - 1); + for ($idx = 0; $idx < $last; ++$idx) { + $cur = $this->newchardata[$idx]['char']; + $nxt = $this->newchardata[($idx + 1)]['char']; + if ( + ($cur == UniArabic::SHADDA) + && ($nxt >= 0) && (isset(UniArabic::DIACRITIC[$nxt])) + ) { + $this->newchardata[$idx]['char'] = -1; + $this->newchardata[($idx + 1)]['char'] = UniArabic::DIACRITIC[$nxt]; + } + } + } + + /** + * Remove marked characters + */ + protected function removeDeletedChars(): void + { + foreach ($this->newchardata as $key => $value) { + if ($value['char'] < 0) { + unset($this->newchardata[$key]); + } + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/Shaping/Arabic.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/Shaping/Arabic.php new file mode 100644 index 0000000..dc86502 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/Shaping/Arabic.php @@ -0,0 +1,266 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi\Shaping; + +use Com\Tecnick\Unicode\Data\Arabic as UniArabic; + +/** + * Com\Tecnick\Unicode\Bidi\Shaping\Arabic + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * @phpstan-type CharData array{ + * 'char': int, + * 'i': int, + * 'level': int, + * 'otype': string, + * 'pdimatch': int, + * 'pos': int, + * 'type': string, + * 'x': int, + * } + * + * @phpstan-type SeqData array{ + * 'e': int, + * 'edir': string, + * 'end': int, + * 'eos': string, + * 'length': int, + * 'maxlevel': int, + * 'sos': string, + * 'start': int, + * 'item': array, + * } + */ +abstract class Arabic +{ + /** + * Sequence to process and return + * + * @var SeqData + */ + protected array $seq = [ + 'e' => 0, + 'edir' => '', + 'end' => 0, + 'eos' => '', + 'length' => 0, + 'maxlevel' => 0, + 'sos' => '', + 'start' => 0, + 'item' => [], + ]; + + /** + * Array of processed chars + * + * @var array + */ + protected array $newchardata = []; + + /** + * Array of AL characters + * + * @var array + */ + protected array $alchars = []; + + /** + * Number of AL characters + */ + protected int $numalchars = 0; + + /** + * Check if it is a LAA LETTER + * + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + */ + protected function isLaaLetter(?array $prevchar, array $thischar): bool + { + return ($prevchar !== null) + && ($prevchar['char'] == UniArabic::LAM) + && (isset(UniArabic::LAA[$thischar['char']])); + } + + /** + * Check next char + * + * @param CharData $thischar Current char + * @param ?CharData $nextchar Next char + */ + protected function hasNextChar(array $thischar, ?array $nextchar): bool + { + return (($nextchar !== null) + && (($nextchar['otype'] == 'AL') || ($nextchar['otype'] == 'NSM')) + && ($nextchar['type'] == $thischar['type']) + && ($nextchar['char'] != UniArabic::QUESTION_MARK) + ); + } + + /** + * Check previous char + * + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + */ + protected function hasPrevChar(?array $prevchar, array $thischar): bool + { + return ((($prevchar !== null) + && (($prevchar['otype'] == 'AL') || ($prevchar['otype'] == 'NSM')) + && ($prevchar['type'] == $thischar['type'])) + ); + } + + /** + * Check if it is a middle character + * + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + * @param ?CharData $nextchar Next char + */ + protected function isMiddleChar(?array $prevchar, array $thischar, ?array $nextchar): bool + { + return ($this->hasPrevChar($prevchar, $thischar) && $this->hasNextChar($thischar, $nextchar)); + } + + /** + * Check if it is a final character + * + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + * @param ?CharData $nextchar Next char + */ + protected function isFinalChar(?array $prevchar, array $thischar, ?array $nextchar): bool + { + if ($this->hasPrevChar($prevchar, $thischar)) { + return true; + } + + return (($nextchar !== null) && ($nextchar['char'] == UniArabic::QUESTION_MARK)); + } + + /** + * Set initial or middle char + * + * @param int $idx Current index + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + * @param array> $arabicarr Substitution array + */ + protected function setMiddleChar(int $idx, ?array $prevchar, array $thischar, array $arabicarr): void + { + if (($prevchar != null) && in_array($prevchar['char'], UniArabic::END)) { + if (isset($arabicarr[$thischar['char']][2])) { + // initial + $this->newchardata[$idx]['char'] = $arabicarr[$thischar['char']][2]; + } + } elseif (isset($arabicarr[$thischar['char']][3])) { + // medial + $this->newchardata[$idx]['char'] = $arabicarr[$thischar['char']][3]; + } + } + + /** + * Set initial char + * + * @param int $idx Current index + * @param CharData $thischar Current char + * @param array> $arabicarr Substitution array + */ + protected function setInitialChar(int $idx, array $thischar, array $arabicarr): void + { + if (isset($arabicarr[$this->seq['item'][$idx]['char']][2])) { + $this->newchardata[$idx]['char'] = $arabicarr[$thischar['char']][2]; + } + } + + /** + * Set final char + * + * @param int $idx Current index + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + * @param array> $arabicarr Substitution array + */ + protected function setFinalChar(int $idx, ?array $prevchar, array $thischar, array $arabicarr): void + { + if ( + ($idx > 1) + && ($thischar['char'] == UniArabic::HEH) + && ($this->seq['item'][($idx - 1)]['char'] == UniArabic::LAM) + && ($this->seq['item'][($idx - 2)]['char'] == UniArabic::LAM) + ) { + // Allah Word + $this->newchardata[($idx - 2)]['char'] = -1; + $this->newchardata[($idx - 1)]['char'] = -1; + $this->newchardata[$idx]['char'] = UniArabic::LIGATURE_ALLAH_ISOLATED_FORM; + } elseif (($prevchar !== null) && in_array($prevchar['char'], UniArabic::END)) { + if (isset($arabicarr[$thischar['char']][0])) { + // isolated + $this->newchardata[$idx]['char'] = $arabicarr[$thischar['char']][0]; + } + } elseif (isset($arabicarr[$thischar['char']][1])) { + // final + $this->newchardata[$idx]['char'] = $arabicarr[$thischar['char']][1]; + } + } + + /** + * Process AL character + * + * @param int $idx Current index + * @param int $pos Current char position + * @param ?CharData $prevchar Previous char + * @param CharData $thischar Current char + * @param ?CharData $nextchar Next char + */ + protected function processAlChar(int $idx, int $pos, ?array $prevchar, array $thischar, ?array $nextchar): void + { + $laaletter = $this->isLaaLetter($prevchar, $thischar); + if ($laaletter) { + $arabicarr = UniArabic::LAA; + $prevchar = (($pos > 1) ? $this->alchars[($pos - 2)] : null); + } else { + $arabicarr = UniArabic::SUBSTITUTE; + } + + if ($this->isMiddleChar($prevchar, $thischar, $nextchar)) { + $this->setMiddleChar($idx, $prevchar, $thischar, $arabicarr); + } elseif ($this->hasNextChar($thischar, $nextchar)) { + $this->setInitialChar($idx, $thischar, $arabicarr); + } elseif ($this->isFinalChar($prevchar, $thischar, $nextchar)) { + // final + $this->setFinalChar($idx, $prevchar, $thischar, $arabicarr); + } elseif (isset($arabicarr[$thischar['char']][0])) { + // isolated + $this->newchardata[$idx]['char'] = $arabicarr[$thischar['char']][0]; + } + + // if laa letter + if ($laaletter) { + // mark characters to delete + $this->newchardata[($this->alchars[($pos - 1)]['i'])]['char'] = -1; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepBase.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepBase.php new file mode 100644 index 0000000..3f76569 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepBase.php @@ -0,0 +1,78 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +/** + * Com\Tecnick\Unicode\Bidi\StepBase + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * @phpstan-import-type SeqData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + */ +abstract class StepBase +{ + /** + * Initialize Sequence to process + * + * @param SeqData $seq Isolated Sequence array + * @param bool $process If false disable automatic processing (this is a testing flag) + */ + public function __construct( + /** + * Sequence to process and return + */ + protected array $seq, + $process = true + ) { + if ($process) { + $this->process(); + } + } + + /** + * Returns the processed array + * + * @return SeqData + */ + public function getSequence(): array + { + return $this->seq; + } + + /** + * Process the current step + */ + abstract protected function process(): void; + + /** + * Generic step + * + * @param string $method Processing methos + */ + public function processStep($method): void + { + for ($idx = 0; $idx < $this->seq['length']; ++$idx) { + $this->$method($idx); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepI.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepI.php new file mode 100644 index 0000000..0d6efb0 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepI.php @@ -0,0 +1,71 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +/** + * Com\Tecnick\Unicode\Bidi\StepI + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class StepI extends \Com\Tecnick\Unicode\Bidi\StepBase +{ + /** + * Process I steps + */ + protected function process(): void + { + $this->seq['maxlevel'] = 0; + $this->processStep('processI'); + } + + /** + * I1. For all characters with an even (left-to-right) embedding level, those of type R go up one level and those + * of type AN or EN go up two levels. + * I2. For all characters with an odd (right-to-left) embedding level, those of type L, EN or AN go up one level. + * + * @param int $idx Current character position + */ + protected function processI(int $idx): void + { + $odd = ($this->seq['item'][$idx]['level'] % 2); + if ($odd !== 0) { + if ( + ($this->seq['item'][$idx]['type'] == 'L') + || ($this->seq['item'][$idx]['type'] == 'EN') + || ($this->seq['item'][$idx]['type'] == 'AN') + ) { + ++$this->seq['item'][$idx]['level']; + } + } elseif ($this->seq['item'][$idx]['type'] == 'R') { + ++$this->seq['item'][$idx]['level']; + } elseif ( + ($this->seq['item'][$idx]['type'] == 'AN') + || ($this->seq['item'][$idx]['type'] == 'EN') + ) { + $this->seq['item'][$idx]['level'] += 2; + } + + // update the maximum level + $this->seq['maxlevel'] = max($this->seq['maxlevel'], $this->seq['item'][$idx]['level']); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepL.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepL.php new file mode 100644 index 0000000..9274a18 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepL.php @@ -0,0 +1,173 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Constant as UniConstant; +use Com\Tecnick\Unicode\Data\Mirror as UniMirror; + +/** + * Com\Tecnick\Unicode\Bidi\StepL + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * @phpstan-import-type CharData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + */ +class StepL +{ + /** + * Array of characters data to return + * + * @var array + */ + protected array $chardata = []; + + /** + * Number of characters in $this->chardata + */ + protected int $numchars; + + /** + * L steps + * + * @param array $chardata Array of characters data + * @param int $pel Paragraph embedding level + * @param int $maxlevel Maximum level + */ + public function __construct( + array $chardata, + /** + * Paragraph embedding level + */ + protected int $pel, + /** + * Maximum level + */ + protected int $maxlevel + ) { + // reorder chars by their original position + usort( + $chardata, + static fn ($apos, $bpos): int => ($apos['pos'] - $bpos['pos']) + ); + $this->chardata = $chardata; + $this->numchars = count($this->chardata); + $this->processL1(); + $this->processL2(); + } + + /** + * Returns the processed array + * + * @return array + */ + public function getChrData(): array + { + return $this->chardata; + } + + /** + * L1. On each line, reset the embedding level of the following characters to the paragraph embedding level: + * 1. Segment separators, + * 2. Paragraph separators, + * 3. Any sequence of whitespace characters and/or isolate formatting characters (FSI, LRI, RLI, and PDI) + * preceding a segment separator or paragraph separator, and + * 4. Any sequence of whitespace characters and/or isolate formatting characters (FSI, LRI, RLI, and PDI) + * at the end of the line. + */ + protected function processL1(): void + { + for ($idx = 0; $idx < $this->numchars; ++$idx) { + $this->processL1b($idx, $idx); + } + } + + /** + * Internal L1 step + * + * @param int $idx Main character index + * @param int $jdx Current index + */ + protected function processL1b(int $idx, int $jdx): void + { + if ($jdx >= ($this->numchars - 1)) { + return; + } + + if ( + (($this->chardata[$jdx]['otype'] == 'S') || ($this->chardata[$jdx]['otype'] == 'B')) + || (($jdx === $this->numchars - 1) && ($this->chardata[$jdx]['otype'] == 'WS')) + ) { + $this->chardata[$idx]['level'] = $this->pel; + return; + } + + if ($this->chardata[$jdx]['otype'] == 'WS') { + return; + } + + if ($this->chardata[$idx]['char'] >= UniConstant::LRI && $this->chardata[$idx]['char'] <= UniConstant::PDI) { + return; + } + + $this->processL1b($idx, ($jdx + 1)); + } + + /** + * L2. From the highest level found in the text to the lowest odd level on each line, + * including intermediate levels not actually present in the text, + * reverse any contiguous sequence of characters that are at that level or higher. + * This rule reverses a progressively larger series of substrings. + */ + protected function processL2(): void + { + for ($level = $this->maxlevel; $level > 0; --$level) { + $ordered = []; + $reversed = []; + foreach ($this->chardata as $chardatum) { + if ($chardatum['level'] >= $level) { + if (($chardatum['type'] == 'R') && (isset(UniMirror::UNI[$chardatum['char']]))) { + // L4. A character is depicted by a mirrored glyph if and only if + // (a) the resolved directionality of that character is R, and + // (b) the Bidi_Mirrored property value of that character is true. + $chardatum['char'] = UniMirror::UNI[$chardatum['char']]; + } + + $reversed[] = $chardatum; + } else { + if ($reversed !== []) { + $ordered = array_merge($ordered, array_reverse($reversed)); + $reversed = []; + } + + $ordered[] = $chardatum; + } + } + + if ($reversed !== []) { + $ordered = array_merge($ordered, array_reverse($reversed)); + } + + $this->chardata = $ordered; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepN.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepN.php new file mode 100644 index 0000000..44ed2df --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepN.php @@ -0,0 +1,312 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Bracket as UniBracket; + +/** + * Com\Tecnick\Unicode\Bidi\StepN + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class StepN extends \Com\Tecnick\Unicode\Bidi\StepBase +{ + /** + * List or bracket pairs positions + * + * @var array + */ + protected array $brackets = []; + + /** + * Stack used to store bracket positions + * + * @var array + */ + protected array $bstack = []; + + /** + * Process N steps + * Resolving Neutral and Isolate Formatting Types + * + * Neutral and isolate formatting (i.e. NI) characters are resolved one isolating run sequence at a time. + * Its results are that all NIs become either R or L. Generally, NIs take on the direction of the surrounding text. + * In case of a conflict, they take on the embedding direction. + * At isolating run sequence boundaries where the type of the character on the other side of the boundary + * is required, the type assigned to sos or eos is used. + * + * Bracket pairs within an isolating run sequence are processed as units so that both the opening and the closing + * paired bracket in a pair resolve to the same direction. Note that this rule is applied based on the current + * bidirectional character type of each paired bracket and not the original type, as this could have changed under + * X6. The current bidirectional character type may also have changed under a previous iteration of the for loop in + * N0 in the case of nested bracket pairs. + */ + protected function process(): void + { + $this->processStep('getBracketPairs'); + $this->processN0(); + $this->processStep('processN1'); + $this->processStep('processN2'); + } + + /** + * BD16. Find all bracket pairs + */ + protected function getBracketPairs(int $idx): void + { + $char = $this->seq['item'][$idx]['char']; + if (isset(UniBracket::OPEN[$char])) { + // process open bracket + if ($char == 0x3008) { + $char = 0x2329; + } + + $this->bstack[] = [$idx, $char]; + } elseif (isset(UniBracket::CLOSE[$char])) { + // process closign bracket + if ($char == 0x3009) { + $char = 0x232A; + } + + // find matching opening bracket + $tmpstack = $this->bstack; + while ($tmpstack !== []) { + $item = array_pop($tmpstack); + if ($char == UniBracket::OPEN[$item[1]]) { + $this->brackets[$item[0]] = $idx; + $this->bstack = $tmpstack; + } + } + } + + // Sort the list of pairs of text positions in ascending order + // based on the text position of the opening paired bracket. + ksort($this->brackets); + } + + /** + * Return the normalized chat type for the N0 step + * Within this scope, bidirectional types EN and AN are treated as R. + * + * @param string $type Char type + */ + protected function getN0Type(string $type): string + { + return ((($type == 'AN') || ($type == 'EN')) ? 'R' : $type); + } + + /** + * N0. Process bracket pairs in an isolating run sequence sequentially in the logical order of the text positions + * of the opening paired brackets. + */ + protected function processN0(): void + { + $odir = (($this->seq['edir'] == 'L') ? 'R' : 'L'); + // For each bracket-pair element in the list of pairs of text positions + foreach ($this->brackets as $open => $close) { + if ($this->processInsideBrackets($open, $close, $odir)) { + for ($jdx = ($open - 1); $jdx >= 0; --$jdx) { + $btype = $this->getN0Type($this->seq['item'][$jdx]['type']); + if ($btype == $odir) { + // 1. If the preceding strong type is also opposite the embedding direction, + // context is established, so set the type for both brackets in the pair to that direction. + $this->setBracketsType($open, $close, $odir); + break; + } elseif ($btype == $this->seq['edir']) { + // 2. Otherwise set the type for both brackets in the pair to the embedding direction. + $this->setBracketsType($open, $close, $this->seq['edir']); + break; + } + } + + if ($jdx < 0) { + $this->setBracketsType($open, $close, $this->seq['sos']); + } + } + + // d. Otherwise, there are no strong types within the bracket pair. Therefore, do not set the type for that + // bracket pair. Note that if the enclosed text contains no strong types the bracket pairs will both + // resolve to the same level when resolved individually using rules N1 and N2. + } + } + + /** + * Inspect the bidirectional types of the characters enclosed within the bracket pair. + * + * @param int $open Open bracket entry + * @param int $close Close bracket entry + * @param string $odir Opposite direction (L or R) + * + * @return bool True if type has not been found + */ + protected function processInsideBrackets(int $open, int $close, string $odir): bool + { + $opposite = false; + // a. Inspect the bidirectional types of the characters enclosed within the bracket pair. + for ($jdx = ($open + 1); $jdx < $close; ++$jdx) { + $btype = $this->getN0Type($this->seq['item'][$jdx]['type']); + // b. If any strong type (either L or R) matching the embedding direction is found, + // set the type for both brackets in the pair to match the embedding direction. + if ($btype == $this->seq['edir']) { + $this->setBracketsType($open, $close, $this->seq['edir']); + break; + } elseif ($btype === $odir) { + // c. Otherwise, if there is a strong type it must be opposite the embedding direction. + $opposite = true; + } + } + + // Therefore, test for an established context with a preceding strong type by checking backwards before + // the opening paired bracket until the first strong type (L, R, or sos) is found. + return (($jdx === $close) && $opposite); + } + + /** + * Set the brackets type + * + * @param int $open Open bracket entry + * @param int $close Close bracket entry + * @param string $type Type + */ + protected function setBracketsType(int $open, int $close, string $type): void + { + $this->seq['item'][$open]['type'] = $type; + $this->seq['item'][$close]['type'] = $type; + + // Any number of characters that had original bidirectional character type NSM + // prior to the application of W1 that immediately follow a paired bracket which + // changed to L or R under N0 should change to match the type of their preceding bracket. + $next = ($close + 1); + while (isset($this->seq['item'][$next]['otype']) && ($this->seq['item'][$next]['otype'] == 'NSM')) { + $this->seq['item'][$next]['type'] = $type; + ++$next; + } + } + + /** + * N1. A sequence of NIs takes the direction of the surrounding strong text if the text on both sides has the same + * direction. European and Arabic numbers act as if they were R in terms of their influence on NIs. + * The start-of-sequence (sos) and end-of-sequence (eos) types are used at isolating run sequence boundaries. + * + * @param int $idx Current character position + */ + protected function processN1(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'NI') { + $bdx = ($idx - 1); + $prev = $this->processN1prev($bdx); + if ($prev === '') { + return; + } + + $jdx = $this->getNextN1Char($idx); + $next = $this->processN1next($jdx); + if ($next === '') { + return; + } + + if ($next === $prev) { + for ($bdx = $idx; (($bdx < $jdx) && ($bdx < $this->seq['length'])); ++$bdx) { + $this->seq['item'][$bdx]['type'] = $next; + } + } + } + } + + /** + * Get the next direction + * + * @param int $bdx Position of the preceding character + * + * @return string Previous position + */ + protected function processN1prev(int &$bdx): string + { + if ($bdx < 0) { + $bdx = 0; + return $this->seq['sos']; + } + + if (in_array($this->seq['item'][$bdx]['type'], ['R', 'AN', 'EN'])) { + return 'R'; + } + + if ($this->seq['item'][$bdx]['type'] == 'L') { + return 'L'; + } + + return ''; + } + + /** + * Get the next direction + * + * @param int $jdx Position of the next character + * + * @return string Previous position + */ + protected function processN1next(int &$jdx): string + { + if ($jdx >= $this->seq['length']) { + $jdx = $this->seq['length']; + return $this->seq['eos']; + } + + if (in_array($this->seq['item'][$jdx]['type'], ['R', 'AN', 'EN'])) { + return 'R'; + } + + if ($this->seq['item'][$jdx]['type'] == 'L') { + return 'L'; + } + + return ''; + } + + /** + * Return the index of the next valid char for N1 + * + * @param int $idx Start index + */ + protected function getNextN1Char(int $idx): int + { + $jdx = ($idx + 1); + while (($jdx < $this->seq['length']) && ($this->seq['item'][$jdx]['type'] == 'NI')) { + ++$jdx; + } + + return $jdx; + } + + /** + * N2. Any remaining NIs take the embedding direction. + * + * @param int $idx Current character position + */ + protected function processN2($idx): void + { + if ($this->seq['item'][$idx]['type'] == 'NI') { + $this->seq['item'][$idx]['type'] = $this->seq['edir']; + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepP.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepP.php new file mode 100644 index 0000000..884de30 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepP.php @@ -0,0 +1,89 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Constant as UniConstant; +use Com\Tecnick\Unicode\Data\Type as UniType; + +/** + * Com\Tecnick\Unicode\Bidi\StepP + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class StepP +{ + /** + * P Steps for Bidirectional algorithm + * + * @param array $ordarr Array of UTF-8 codepoints + */ + public function __construct( + /** + * Array of UTF-8 codepoints + */ + protected array $ordarr + ) { + } + + /** + * Get the Paragraph Embedding Level + */ + public function getPel(): int + { + // P2. In each paragraph, find the first character of type L, AL, or R + // while skipping over any characters between an isolate initiator and its matching PDI or, + // if it has no matching PDI, the end of the paragraph. + // P3. If a character is found in P2 and it is of type AL or R, + // then set the paragraph embedding level to one; otherwise, set it to zero. + $isolate = 0; + foreach ($this->ordarr as $ord) { + $isolate = $this->getIsolateLevel($ord, $isolate); + if (($isolate == 0) && isset(UniType::UNI[$ord])) { + $type = UniType::UNI[$ord]; + if ($type === 'L') { + return 0; + } + + if (($type === 'R') || ($type === 'AL')) { + return 1; + } + } + } + + return 0; + } + + /** + * Update the level of explicit directional isolates + */ + protected function getIsolateLevel(int $ord, int $isolate): int + { + if (($ord == UniConstant::LRI) || ($ord == UniConstant::RLI) || ($ord == UniConstant::FSI)) { + ++$isolate; + } elseif ($ord == UniConstant::PDI) { + --$isolate; + } + + return max(0, $isolate); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepW.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepW.php new file mode 100644 index 0000000..408408b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepW.php @@ -0,0 +1,215 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Constant as UniConstant; + +/** + * Com\Tecnick\Unicode\Bidi\StepW + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class StepW extends \Com\Tecnick\Unicode\Bidi\StepBase +{ + /** + * Process W steps + * Resolving Weak Types + */ + protected function process(): void + { + $this->processStep('processW1'); + $this->processStep('processW2'); + $this->processStep('processW3'); + $this->processStep('processW4'); + $this->processStep('processW5'); + $this->processStep('processW6'); + $this->processStep('processW7'); + } + + /** + * W1. Examine each nonspacing mark (NSM) in the isolating run sequence, and + * change the type of the NSM to Other Neutral if the previous character is an isolate initiator or PDI, and + * to the type of the previous character otherwise. + * If the NSM is at the start of the isolating run sequence, it will get the type of sos. + * (Note that in an isolating run sequence, an isolate initiator followed by an NSM or any type + * other than PDI must be an overflow isolate initiator.) + * + * @param int $idx Current character position + */ + protected function processW1(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'NSM') { + $jdx = ($idx - 1); + if ($jdx < 0) { + $this->seq['item'][$idx]['type'] = $this->seq['sos']; + } elseif ( + ($this->seq['item'][$jdx]['char'] >= UniConstant::LRI) + && ($this->seq['item'][$jdx]['char'] <= UniConstant::PDI) + ) { + $this->seq['item'][$idx]['type'] = 'ON'; + } else { + $this->seq['item'][$idx]['type'] = $this->seq['item'][$jdx]['type']; + } + } + } + + /** + * W2. Search backward from each instance of a European number until the first strong type (R, L, AL, or sos) + * is found. If an AL is found, change the type of the European number to Arabic number. + * + * @param int $idx Current character position + */ + protected function processW2(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'EN') { + $jdx = ($idx - 1); + while ($jdx >= 0) { + if ($this->seq['item'][$jdx]['type'] == 'AL') { + $this->seq['item'][$idx]['type'] = 'AN'; + break; + } elseif (in_array($this->seq['item'][$jdx]['type'], ['R', 'L'])) { + break; + } + + --$jdx; + } + } + } + + /** + * W3. Change all ALs to R. + * + * @param int $idx Current character position + */ + protected function processW3(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'AL') { + $this->seq['item'][$idx]['type'] = 'R'; + } + } + + /** + * W4. A single European separator between two European numbers changes to a European number. + * A single common separator between two numbers of the same type changes to that type. + * + * @param int $idx Current character position + */ + protected function processW4(int $idx): void + { + if (in_array($this->seq['item'][$idx]['type'], ['ES', 'CS'])) { + $bdx = ($idx - 1); + $fdx = ($idx + 1); + if ( + ($bdx >= 0) + && ($fdx < $this->seq['length']) + && $this->seq['item'][$bdx]['type'] == $this->seq['item'][$fdx]['type'] + && in_array($this->seq['item'][$bdx]['type'], ['EN', 'AN']) + ) { + $this->seq['item'][$idx]['type'] = $this->seq['item'][$bdx]['type']; + } + } + } + + /** + * W5. A sequence of European terminators adjacent to European numbers changes to all European numbers. + * + * @param int $idx Current character position + */ + protected function processW5(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'ET') { + $this->processW5a($idx); + $this->processW5b($idx); + } + } + + /** + * W5a + * + * @param int $idx Current character position + */ + protected function processW5a(int $idx): void + { + for ($jdx = ($idx - 1); $jdx >= 0; --$jdx) { + if ($this->seq['item'][$jdx]['type'] == 'EN') { + $this->seq['item'][$idx]['type'] = 'EN'; + } else { + break; + } + } + } + + /** + * W5b + * + * @param int $idx Current character position + */ + protected function processW5b(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'ET') { + for ($jdx = ($idx + 1); $jdx < $this->seq['length']; ++$jdx) { + if ($this->seq['item'][$jdx]['type'] == 'EN') { + $this->seq['item'][$idx]['type'] = 'EN'; + } elseif ($this->seq['item'][$jdx]['type'] != 'ET') { + break; + } + } + } + } + + /** + * W6. Otherwise, separators and terminators change to Other Neutral. + * + * @param int $idx Current character position + */ + protected function processW6(int $idx): void + { + if (in_array($this->seq['item'][$idx]['type'], ['ET', 'ES', 'CS', 'ON'])) { + $this->seq['item'][$idx]['type'] = 'ON'; + } + } + + /** + * W7. Search backward from each instance of a European number until the first strong type (R, L, or sos) is found. + * If an L is found, then change the type of the European number to L. + * + * @param int $idx Current character position + */ + protected function processW7(int $idx): void + { + if ($this->seq['item'][$idx]['type'] == 'EN') { + for ($jdx = ($idx - 1); $jdx >= 0; --$jdx) { + if ($this->seq['item'][$jdx]['type'] == 'L') { + $this->seq['item'][$idx]['type'] = 'L'; + break; + } elseif ($this->seq['item'][$jdx]['type'] == 'R') { + break; + } + } + + if (($this->seq['sos'] == 'L') && ($jdx < 0)) { + $this->seq['item'][$idx]['type'] = 'L'; + } + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepX.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepX.php new file mode 100644 index 0000000..dedf53f --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepX.php @@ -0,0 +1,424 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Constant as UniConstant; +use Com\Tecnick\Unicode\Data\Type as UniType; + +/** + * Com\Tecnick\Unicode\Bidi\StepX + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * @phpstan-import-type SeqData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + * @phpstan-import-type CharData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + * + * @phpstan-type DssData array{ + * 'ord': int, + * 'cel': int, + * 'dos': string, + * 'dis': bool, + * } + */ +class StepX +{ + /** + * Maximum embedding level + */ + public const MAX_DEPTH = 125; + + /** + * Directional Status Stack + * + * @var array + */ + protected array $dss = []; + + /** + * Overflow Isolate Count + */ + protected int $oic = 0; + + /** + * Overflow Embedding Count + */ + protected int $oec = 0; + + /** + * Valid Isolate Count + */ + protected int $vic = 0; + + /** + * Array of characters data to return + * + * @var array + */ + protected array $chardata = []; + + /** + * X Steps for Bidirectional algorithm + * Explicit Levels and Directions + * + * @param array $ordarr Array of UTF-8 codepoints + * @param int $pel Paragraph embedding level + */ + public function __construct( + /** + * Array of UTF-8 codepoints + */ + protected array $ordarr, + int $pel + ) { + // - Push onto the stack an entry consisting of the paragraph embedding level, + // a neutral directional override status, and a false directional isolate status. + $this->dss[] = [ + 'ord' => -1, // dummy value, not used + 'cel' => $pel, + 'dos' => 'NI', + 'dis' => false, + ]; + // - Process each character iteratively, applying rules X2 through X8. + // Only embedding levels from 0 through max_depth are valid in this phase. + // (Note that in the resolution of levels in rules I1 and I2, + // the maximum embedding level of max_depth+1 can be reached.) + $this->processX(); + } + + /** + * Returns the processed array + * + * @return array + */ + public function getChrData(): array + { + return $this->chardata; + } + + /** + * Calculate the Least Even + * + * @param int $num Number to process + */ + protected function getLEven(int $num): int + { + return (2 + $num - ($num % 2)); + } + + /** + * Calculate the Least Odd + * + * @param int $num Number to process + */ + protected function getLOdd(int $num): int + { + return (1 + $num + ($num % 2)); + } + + /** + * Process X1 + */ + protected function processX(): void + { + foreach ($this->ordarr as $key => $ord) { + $this->processXcase($key, $ord); + } + } + + /** + * Process X1 case + * + * @param int $pos Original character position in the input string + * @param int $ord Char code + * + * @SuppressWarnings("PHPMD.CyclomaticComplexity") + */ + protected function processXcase(int $pos, int $ord): void + { + $edss = end($this->dss); + if ($edss === false) { + return; + } + + switch ($ord) { + case UniConstant::RLE: + // X2 + $this->setDss($this->getLOdd($edss['cel']), UniConstant::RLE, 'NI'); + break; + case UniConstant::LRE: + // X3 + $this->setDss($this->getLEven($edss['cel']), UniConstant::LRE, 'NI'); + break; + case UniConstant::RLO: + // X4 + $this->setDss($this->getLOdd($edss['cel']), UniConstant::RLO, 'R'); + break; + case UniConstant::LRO: + // X5 + $this->setDss($this->getLEven($edss['cel']), UniConstant::LRO, 'L'); + break; + case UniConstant::RLI: + // X5a + $this->processChar($pos, $ord, $edss); + $this->setDss($this->getLOdd($edss['cel']), UniConstant::RLI, 'NI', true, true, 1); + break; + case UniConstant::LRI: + // X5b + $this->processChar($pos, $ord, $edss); + $this->setDss($this->getLEven($edss['cel']), UniConstant::LRI, 'NI', true, true, 1); + break; + case UniConstant::FSI: + // X5c + $this->processChar($pos, $ord, $edss); + $this->processFsiCase($pos, $edss); + break; + case UniConstant::PDI: + // X6a + $this->processPdiCase($pos, $ord, $edss); + break; + case UniConstant::PDF: + // X7 + $this->processPdfCase($edss); + break; + default: + // X6 + $this->processChar($pos, $ord, $edss); + break; + } + } + + /** + * Set temporary data (X2 to X5) + * + * @param int $cel Embedding Level + * @param int $ord Char code + * @param string $dos Directional override status + * @param bool $dis Directional isolate status + * @param bool $isolate True if Isolate initiator + * @param int $ivic increment for the valid isolate count + */ + protected function setDss( + int $cel, + int $ord, + string $dos, + bool $dis = false, + bool $isolate = false, + int $ivic = 0 + ): void { + // X2 to X5 + // - Compute the least odd|even embedding level greater than the embedding level of the last entry + // on the directional status stack. + // - If this new level would be valid, and the overflow isolate count and overflow embedding + // count are both zero, then this RLE is valid. Push an entry consisting of the new embedding + // level, neutral|left|right directional override status, and false directional isolate status onto the + // directional status stack. + // - Otherwise, this is an overflow RLE. If the overflow isolate count is zero, increment the + // overflow embedding|isolate count by one. Leave all other variables unchanged. + if (($cel >= self::MAX_DEPTH) || ($this->oic != 0) || ($this->oec != 0)) { + if ($isolate) { + ++$this->oic; + } elseif ($this->oic == 0) { + ++$this->oec; + } + + return; + } + + $this->vic += $ivic; + $this->dss[] = [ + 'ord' => $ord, + 'cel' => $cel, + 'dos' => $dos, + 'dis' => $dis, + ]; + } + + /** + * Push a char on the stack + * + * @param int $pos Original character position in the input string + * @param int $ord Char code + * @param DssData $edss Last entry in the Directional Status Stack + */ + protected function pushChar(int $pos, int $ord, array $edss): void + { + $unitype = (UniType::UNI[$ord] ?? $edss['dos']); + $this->chardata[] = [ + 'char' => $ord, + 'i' => -1, + 'level' => $edss['cel'], + 'otype' => $unitype, + 'pdimatch' => -1, + 'pos' => $pos, + 'type' => (($edss['dos'] !== 'NI') ? $edss['dos'] : $unitype), + 'x' => -1, + ]; + } + + /** + * Process normal char (X6) + * + * @param int $pos Original character position in the input string + * @param int $ord Char code + * @param DssData $edss Last entry in the Directional Status Stack + */ + protected function processChar(int $pos, int $ord, array $edss): void + { + // X6. For all types besides B, BN, RLE, LRE, RLO, LRO, PDF, RLI, LRI, FSI, and PDI: + // - Set the current character’s embedding level to the embedding level + // of the last entry on the directional status stack. + // - Whenever the directional override status of the last entry on the directional status stack + // is not neutral, reset the current character type according to the directional override + // status of the last entry on the directional status stack. + if (isset(UniType::UNI[$ord]) && ((UniType::UNI[$ord] == 'B') || (UniType::UNI[$ord] == 'BN'))) { + return; + } + + $this->pushChar($pos, $ord, $edss); + } + + /** + * Process the PDF type character + * + * @param DssData $edss Last entry in the Directional Status Stack + */ + protected function processPdfCase(array $edss): void + { + // X7. With each PDF, perform the following steps: + // - If the overflow isolate count is greater than zero, do nothing. (This PDF is within the + // scope of an overflow isolate initiator. It either matches and terminates the scope of an + // overflow embedding initiator within that overflow isolate, or does not match any + // embedding initiator.) + if ($this->oic > 0) { + return; + } + + // - Otherwise, if the overflow embedding count is greater than zero, decrement it by one. + // (This PDF matches and terminates the scope of an overflow embedding initiator that is not + // within the scope of an overflow isolate initiator.) + if ($this->oec > 0) { + --$this->oec; + return; + } + + // - Otherwise, if the directional isolate status of the last entry on the directional status + // stack is false, and the directional status stack contains at least two entries, pop the + // last entry from the directional status stack. (This PDF matches and terminates the scope + // of a valid embedding initiator. Since the stack has at least two entries, this pop does + // not leave the stack empty.) + if (($edss['dis'] === false) && (count($this->dss) > 1)) { + array_pop($this->dss); + } + + // - Otherwise, do nothing. (This PDF does not match any embedding initiator.) + } + + /** + * Process the PDI type character + * + * @param int $pos Original character position in the input string + * @param int $ord Char code + * @param DssData $edss Last entry in the Directional Status Stack + */ + protected function processPdiCase(int $pos, int $ord, array $edss): void + { + // X6a. With each PDI, perform the following steps: + // - If the overflow isolate count is greater than zero, this PDI matches an overflow isolate + // initiator. Decrement the overflow isolate count by one. + if ($this->oic > 0) { + --$this->oic; + return; + } + + // - Otherwise, if the valid isolate count is zero, this PDI does not match any isolate + // initiator, valid or overflow. Do nothing. + if ($this->vic == 0) { + return; + } + + // - Otherwise, this PDI matches a valid isolate initiator. Perform the following steps: + // - Reset the overflow embedding count to zero. (This terminates the scope of those overflow + // embedding initiators within the scope of the matched isolate initiator whose scopes have + // not been terminated by a matching PDF, and which thus lack a matching PDF.) + $this->oec = 0; + // - While the directional isolate status of the last entry on the stack is false, pop the + // last entry from the directional status stack. (This terminates the scope of those valid + // embedding initiators within the scope of the matched isolate initiator whose scopes have + // not been terminated by a matching PDF, and which thus lack a matching PDF. Given that the + // valid isolate count is non-zero, the directional status stack before this step is + // executed must contain an entry with directional isolate status true, and thus after this + // step is executed the last entry on the stack will indeed have a true directional isolate + // status, i.e. represent the scope of the matched isolate initiator. This cannot be the + // stack's first entry, which always belongs to the paragraph level and has a false + // directional status, so there is at least one more entry below it on the stack.) + $count_dss = count($this->dss); + while (($edss['dis'] === false) && ($count_dss > 1)) { + array_pop($this->dss); + --$count_dss; + $edss = end($this->dss); + if ($edss === false) { + break; + } + } + + // - Pop the last entry from the directional status stack and decrement the valid isolate + // count by one. (This terminates the scope of the matched isolate initiator. Since the + // preceding step left the stack with at least two entries, this pop does not leave the + // stack empty.) + array_pop($this->dss); + --$this->vic; + + $edss = end($this->dss); + if ($edss === false) { + return; + } + + // - In all cases, look up the last entry on the directional status stack left after the + // steps above and: + // - Set the PDI’s level to the entry's embedding level. + // - If the entry's directional override status is not neutral, reset the current character type + // from PDI to L if the override status is left-to-right, and to R if the override status is + // right-to-left. + $this->pushChar($pos, $ord, $edss); + } + + /** + * Process the PDF type character + * + * @param int $pos Original character position in the input string + * @param DssData $edss Last entry in the Directional Status Stack + */ + protected function processFsiCase(int $pos, array $edss): void + { + // X5c. With each FSI, apply rules P2 and P3 to the sequence of characters between the FSI and its + // matching PDI, or if there is no matching PDI, the end of the paragraph, as if this sequence + // of characters were a paragraph. If these rules decide on paragraph embedding level 1, treat + // the FSI as an RLI in rule X5a. Otherwise, treat it as an LRI in rule X5b. + $stepp = new StepP(array_slice($this->ordarr, $pos)); + if ($stepp->getPel() == 0) { + $this->setDss($this->getLEven($edss['cel']), UniConstant::LRI, 'NI', true, true, 1); + } else { + $this->setDss($this->getLOdd($edss['cel']), UniConstant::RLI, 'NI', true, true, 1); + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepXten.php b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepXten.php new file mode 100644 index 0000000..038b358 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Bidi/StepXten.php @@ -0,0 +1,236 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Bidi; + +use Com\Tecnick\Unicode\Data\Constant as UniConstant; + +/** + * Com\Tecnick\Unicode\Bidi\StepXten + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * @phpstan-import-type SeqData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + * @phpstan-import-type CharData from \Com\Tecnick\Unicode\Bidi\Shaping\Arabic + */ +class StepXten +{ + /** + * Number of characters + */ + protected int $numchars; + + /** + * Array of Level Run sequences + * + * @var array + */ + protected array $runseq = []; + + /** + * Number of Level Run sequences + */ + protected int $numrunseq = 0; + + /** + * Array of Isolated Level Run sequences + * + * @var array + */ + protected array $ilrs = []; + + /** + * X Steps for Bidirectional algorithm + * + * @param array $chardata Array of UTF-8 codepoints + * @param int $pel Paragraph Embedding Level + */ + public function __construct( + /** + * Array of characters data to return + */ + protected array $chardata, + /** + * Paragraph Embedding Level + */ + protected int $pel + ) { + $this->numchars = count($chardata); + $this->setIsolatedLevelRunSequences(); + } + + /** + * Get the Isolated Run Sequences + * + * @return array + */ + public function getIsolatedLevelRunSequences(): array + { + return $this->ilrs; + } + + /** + * Get the embedded direction (L or R) + */ + protected function getEmbeddedDirection(int $level): string + { + return ((($level % 2) == 0) ? 'L' : 'R'); + } + + protected function setLevelRunSequences(): void + { + $start = 0; + while ($start < $this->numchars) { + $end = ($start + 1); + while (($end < $this->numchars) && ($this->chardata[$end]['level'] == $this->chardata[$start]['level'])) { + ++$end; + } + + --$end; + $this->runseq[] = [ + 'start' => $start, + 'end' => $end, + 'e' => $this->chardata[$start]['level'], + ]; + ++$this->numrunseq; + $start = ($end + 1); + } + } + + /** + * returns true if the input char is an Isolate Initiator + */ + protected function isIsolateInitiator(int $ord): bool + { + return (($ord == UniConstant::RLI) || ($ord == UniConstant::LRI) || ($ord == UniConstant::FSI)); + } + + /** + * Set level Isolated Level Run Sequences + */ + protected function setIsolatedLevelRunSequences(): void + { + $this->setLevelRunSequences(); + $numiso = 0; + foreach ($this->runseq as $idx => $seq) { + // Create a new level run sequence, and initialize it to contain just that level run + $isorun = [ + 'e' => $seq['e'], + 'edir' => $this->getEmbeddedDirection($seq['e']), // embedded direction + 'start' => $seq['start'], // position of the first char + 'end' => $seq['end'], // position of the last char + 'length' => ($seq['end'] - $seq['start'] + 1), + 'sos' => '', // start-of-sequence + 'eos' => '', // end-of-sequence + 'maxlevel' => 0, + 'item' => [], + ]; + for ($jdx = 0; $jdx < $isorun['length']; ++$jdx) { + $isorun['item'][$jdx] = $this->chardata[($seq['start'] + $jdx)]; + } + + $endchar = $isorun['item'][($jdx - 1)]['char']; + + // While the level run currently last in the sequence ends with an isolate initiator that has a + // matching PDI, append the level run containing the matching PDI to the sequence. + // (Note that this matching PDI must be the first character of its level run.) + $pdimatch = -1; + if ($this->isIsolateInitiator($endchar)) { + // find the next sequence with the same level that starts with a PDI + for ($kdx = ($idx + 1); $kdx < $this->numrunseq; ++$kdx) { + if ( + ($this->runseq[$kdx]['e'] == $isorun['e']) + && ($this->chardata[$this->runseq[$kdx]['start']]['char'] == UniConstant::PDI) + ) { + $pdimatch = $this->runseq[$kdx]['start']; + $this->chardata[$pdimatch]['pdimatch'] = $numiso; + break; + } + } + } + + // For each level run in the paragraph whose first character is not a PDI, + // or is a PDI that does not match any isolate initiator + if ($this->chardata[$seq['start']]['pdimatch'] >= 0) { + $parent = $this->chardata[$seq['start']]['pdimatch']; + + $this->ilrs[$parent]['item'] = array_merge( + $this->ilrs[$parent]['item'], + $isorun['item'] + ); + + $this->ilrs[$parent]['length'] += $isorun['length']; + $this->ilrs[$parent]['end'] += $isorun['end']; + if ($pdimatch >= 0) { + $this->chardata[$pdimatch]['pdimatch'] = $parent; + } + } else { + $this->ilrs[$numiso] = $isorun; + ++$numiso; + } + } + + $this->setStartEndOfSequence(); + } + + /** + * Determine the start-of-sequence (sos) and end-of-sequence (eos) types, either L or R, + * for each isolating run sequence. + */ + protected function setStartEndOfSequence(): void + { + foreach ($this->ilrs as $key => $seq) { + // For sos, compare the level of the first character in the sequence with the level of the character + // preceding it in the paragraph (not counting characters removed by X9), and if there is none, + // with the paragraph embedding level. + $lev = $seq['item'][0]['level']; + if ($seq['start'] == 0) { + $prev = $this->pel; + } else { + $lastchr = $this->chardata[($seq['start'] - 1)]; + $prev = $lastchr['level']; + } + + $this->ilrs[$key]['sos'] = $this->getEmbeddedDirection(max($prev, $lev)); + + // For eos, compare the level of the last character in the sequence with the level of the character + // following it in the paragraph (not counting characters removed by X9), and if there is none or the + // last character of the sequence is an isolate initiator (lacking a matching PDI), with the paragraph + // embedding level. + $lastchr = end($seq['item']); + if ($lastchr === false) { + return; + } + + $lev = $lastchr['level']; + if ((! isset($this->chardata[($seq['end'] + 1)]['level'])) || $this->isIsolateInitiator($lastchr['char'])) { + $next = $this->pel; + } else { + $next = $this->chardata[($seq['end'] + 1)]['level']; + } + + $this->ilrs[$key]['eos'] = $this->getEmbeddedDirection(max($next, $lev)); + + // If the higher level is odd, the sos or eos is R; otherwise, it is L. + } + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Convert.php b/vendor/tecnickcom/tc-lib-unicode/src/Convert.php new file mode 100644 index 0000000..dfb86be --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Convert.php @@ -0,0 +1,131 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode; + +use Com\Tecnick\Unicode\Exception as UniException; + +/** + * Com\Tecnick\Unicode\Convert + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class Convert extends \Com\Tecnick\Unicode\Convert\Encoding +{ + /** + * Returns the unicode string containing the character specified by value + * + * @param int $ord Unicode character value to convert + * + * @return string Returns the unicode string + */ + public function chr(int $ord): string + { + return mb_convert_encoding(pack('N', $ord), 'UTF-8', 'UCS-4BE'); + } + + /** + * Returns the unicode value of the specified character + * + * @param string $chr Unicode character + * + * @return int Returns the unicode value + */ + public function ord(string $chr): int + { + $uni = unpack('N', mb_convert_encoding($chr, 'UCS-4BE', 'UTF-8')); + if (($uni === false) || (!isset($uni[1])) || (!is_int($uni[1]))) { + throw new UniException('Error converting string'); + } + + return $uni[1]; + } + + /** + * Converts an UTF-8 string to an array of UTF-8 codepoints (integer values) + * + * @param string $str String to convert + * + * @return array + */ + public function strToChrArr(string $str): array + { + $ret = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY); + if ($ret === false) { + throw new UniException('Error splitting string'); + } + + return $ret; + } + + /** + * Converts an array of UTF-8 chars to an array of codepoints (integer values) + * + * @param array $chars Array of UTF-8 chars + * + * @return array + */ + public function chrArrToOrdArr(array $chars): array + { + return array_map(fn (string $chr): int => $this->ord($chr), $chars); + } + + /** + * Converts an array of UTF-8 code points array of chars + * + * @param array $ords Array of UTF-8 code points + * + * @return array + */ + public function ordArrToChrArr(array $ords): array + { + return array_map(fn (int $ord): string => $this->chr($ord), $ords); + } + + /** + * Converts an UTF-8 string to an array of UTF-8 codepoints (integer values) + * + * @param string $str Convert to convert + * + * @return array + */ + public function strToOrdArr(string $str): array + { + return $this->chrArrToOrdArr($this->strToChrArr($str)); + } + + /** + * Extract a slice of the $uniarr array and return it as string + * + * @param array $uniarr The input array of characters + * @param int $start The position of the starting element + * @param int|null $end The position of the first element that will not be returned. + */ + public function getSubUniArrStr(array $uniarr, int $start = 0, ?int $end = null): string + { + if ($end === null) { + $end = count($uniarr); + } + + return implode('', array_slice($uniarr, $start, ($end - $start))); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Convert/Encoding.php b/vendor/tecnickcom/tc-lib-unicode/src/Convert/Encoding.php new file mode 100644 index 0000000..a2069b7 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Convert/Encoding.php @@ -0,0 +1,136 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode\Convert; + +use Com\Tecnick\Unicode\Data\Latin as Latin; + +/** + * Com\Tecnick\Unicode\Convert\Encoding + * + * @since 2015-07-13 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class Encoding +{ + /** + * Converts UTF-8 code array to Latin1 codes + * + * @param array $ordarr Array containing UTF-8 code points + * + * @return array Array containing Latin1 code points + */ + public function uniArrToLatinArr(array $ordarr): array + { + $latarr = []; + foreach ($ordarr as $chr) { + if ($chr < 256) { + $latarr[] = $chr; + } elseif (array_key_exists($chr, Latin::SUBSTITUTE)) { + $latarr[] = Latin::SUBSTITUTE[$chr]; + } elseif ($chr !== 0xFFFD) { + $latarr[] = 63; // '?' character + } + } + + return $latarr; + } + + /** + * Converts an array of Latin1 code points to a string + * + * @param array $latarr Array of Latin1 code points + */ + public function latinArrToStr(array $latarr): string + { + return implode('', array_map('chr', $latarr)); + } + + /** + * Convert a string to an hexadecimal string (byte string) representation (as in the PDF standard) + * + * @param string $str String to convert + */ + public function strToHex(string $str): string + { + $hexstr = ''; + $len = strlen($str); + for ($idx = 0; $idx < $len; ++$idx) { + $hexstr .= sprintf('%02s', dechex(ord($str[$idx]))); + } + + return $hexstr; + } + + /** + * Convert an hexadecimal string (byte string - as in the PDF standard) to string + * + * @param string $hex Hex code to convert + */ + public function hexToStr(string $hex): string + { + if (strlen($hex) == 0) { + return ''; + } + + $str = ''; + $bytes = str_split($hex, 2); + foreach ($bytes as $byte) { + $str .= chr((int) hexdec($byte)); + } + + return $str; + } + + /** + * Converts a string with an unknown encoding to UTF-8 + * + * @param string $str String to convert + * @param null|string|array $enc Array or comma separated list string of encodings + * + * @return string UTF-8 encoded string + */ + public function toUTF8(string $str, null|string|array $enc = null): string + { + if ($enc === null) { + $enc = (array) mb_detect_order(); + } + + $chrenc = mb_detect_encoding($str, $enc); + if ($chrenc === false) { + $chrenc = null; + } + + return mb_convert_encoding($str, 'UTF-8', $chrenc); + } + + /** + * Converts an UTF-8 string to UTF-16BE + * + * @param string $str UTF-8 String to convert + * + * @return string UTF-16BE encoded string + */ + public function toUTF16BE(string $str): string + { + return mb_convert_encoding($str, 'UTF-16BE', 'UTF-8'); + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/src/Exception.php b/vendor/tecnickcom/tc-lib-unicode/src/Exception.php new file mode 100644 index 0000000..e7cc30b --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/src/Exception.php @@ -0,0 +1,34 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Com\Tecnick\Unicode; + +/** + * Com\Tecnick\Unicode\Exception + * + * Custom Exception class + * + * @since 2015-07-28 + * @category Library + * @package File + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-file + */ +class Exception extends \Exception +{ +} diff --git a/vendor/tecnickcom/tc-lib-unicode/test/Bidi/StepITest.php b/vendor/tecnickcom/tc-lib-unicode/test/Bidi/StepITest.php new file mode 100644 index 0000000..456258e --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/test/Bidi/StepITest.php @@ -0,0 +1,306 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Test\Bidi; + +use Com\Tecnick\Unicode\Bidi\StepI; +use PHPUnit\Framework\TestCase; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Bidi Test + * + * @since 2011-05-23 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class StepITest extends TestCase +{ + /** + * @param array{ + * 'e': int, + * 'edir': string, + * 'end': int, + * 'eos': string, + * 'length': int, + * 'maxlevel': int, + * 'sos': string, + * 'start': int, + * 'item': array, + * } $seq Isolated Sequence array + * + * @param mixed $expected Expected result + */ + #[DataProvider('stepIDataProvider')] + public function testStepI(array $seq, mixed $expected): void + { + $stepi = new StepI($seq); + $this->assertEquals($expected, $stepi->getSequence()); + } + + /** + * @return array, + * }>> + */ + public static function stepIDataProvider(): array + { + return [ + [ + [ + 'e' => 0, + 'edir' => 'L', + 'end' => 3, + 'eos' => 'L', + 'length' => 4, + 'maxlevel' => 0, + 'sos' => 'L', + 'start' => 0, + 'item' => [ + [ + 'char' => 65, + 'i' => -1, + 'level' => 0, + 'otype' => 'L', + 'pos' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'x' => 0, + ], + [ + 'char' => 8207, + 'i' => -1, + 'level' => 0, + 'otype' => 'R', + 'pos' => 1, + 'pdimatch' => -1, + 'type' => 'R', + 'x' => 0, + ], + [ + 'char' => 1632, + 'i' => -1, + 'level' => 0, + 'otype' => 'AN', + 'pos' => 2, + 'pdimatch' => -1, + 'type' => 'AN', + 'x' => 0, + ], + [ + 'char' => 1776, + 'i' => -1, + 'level' => 0, + 'otype' => 'EN', + 'pos' => 3, + 'pdimatch' => -1, + 'type' => 'EN', + 'x' => 0, + ], + ], + ], + [ + 'e' => 0, + 'edir' => 'L', + 'end' => 3, + 'eos' => 'L', + 'length' => 4, + 'maxlevel' => 2, + 'sos' => 'L', + 'start' => 0, + 'item' => [ + [ + 'char' => 65, + 'i' => -1, + 'level' => 0, + 'otype' => 'L', + 'pos' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'x' => 0, + ], + [ + 'char' => 8207, + 'i' => -1, + 'level' => 1, + 'otype' => 'R', + 'pos' => 1, + 'pdimatch' => -1, + 'type' => 'R', + 'x' => 0, + ], + [ + 'char' => 1632, + 'i' => -1, + 'level' => 2, + 'otype' => 'AN', + 'pos' => 2, + 'pdimatch' => -1, + 'type' => 'AN', + 'x' => 0, + ], + [ + 'char' => 1776, + 'i' => -1, + 'level' => 2, + 'otype' => 'EN', + 'pos' => 3, + 'pdimatch' => -1, + 'type' => 'EN', + 'x' => 0, + ], + ], + ], + ], + [ + [ + 'e' => 1, + 'edir' => 'R', + 'end' => 3, + 'eos' => 'R', + 'length' => 4, + 'maxlevel' => 0, + 'sos' => 'R', + 'start' => 0, + 'item' => [ + [ + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'otype' => 'L', + 'pos' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'x' => 0, + ], + [ + 'char' => 8207, + 'i' => -1, + 'level' => 1, + 'otype' => 'R', + 'pos' => 1, + 'pdimatch' => -1, + 'type' => 'R', + 'x' => 0, + ], + [ + 'char' => 1632, + 'i' => -1, + 'level' => 1, + 'otype' => 'AN', + 'pos' => 2, + 'pdimatch' => -1, + 'type' => 'AN', + 'x' => 0, + ], + [ + 'char' => 1776, + 'i' => -1, + 'level' => 1, + 'otype' => 'EN', + 'pos' => 3, + 'pdimatch' => -1, + 'type' => 'EN', + 'x' => 0, + ], + ], + ], + [ + 'e' => 1, + 'edir' => 'R', + 'end' => 3, + 'eos' => 'R', + 'length' => 4, + 'maxlevel' => 2, + 'sos' => 'R', + 'start' => 0, + 'item' => [ + [ + 'char' => 65, + 'i' => -1, + 'level' => 2, + 'otype' => 'L', + 'pos' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'x' => 0, + ], + [ + 'char' => 8207, + 'i' => -1, + 'level' => 1, + 'otype' => 'R', + 'pos' => 1, + 'pdimatch' => -1, + 'type' => 'R', + 'x' => 0, + ], + [ + 'char' => 1632, + 'i' => -1, + 'level' => 2, + 'otype' => 'AN', + 'pos' => 2, + 'pdimatch' => -1, + 'type' => 'AN', + 'x' => 0, + ], + [ + 'char' => 1776, + 'i' => -1, + 'level' => 2, + 'otype' => 'EN', + 'pos' => 3, + 'pdimatch' => -1, + 'type' => 'EN', + 'x' => 0, + ], + ], + ], + ], + ]; + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/test/Bidi/StepLTest.php b/vendor/tecnickcom/tc-lib-unicode/test/Bidi/StepLTest.php new file mode 100644 index 0000000..bc68ce4 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/test/Bidi/StepLTest.php @@ -0,0 +1,2758 @@ + + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Test\Bidi; + +use Com\Tecnick\Unicode\Bidi\StepL; +use PHPUnit\Framework\TestCase; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Bidi Test + * + * @since 2011-05-23 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class StepLTest extends TestCase +{ + /** + * @param array $chardata + */ + #[DataProvider('stepLDataProvider')] + public function testStepL(array $chardata, int $pel, int $maxlevel, mixed $expected): void + { + $stepl = new StepL($chardata, $pel, $maxlevel); + $this->assertEquals($expected, $stepl->getChrData()); + } + + /** + * @return array, + * 1: int, + * 2: int, + * 3: array, + * }> + */ + public static function stepLDataProvider(): array + { + return [ + [ + // car means CAR. + // 00000000001110 + [ + [ + 'pos' => 0, + 'char' => 99, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 1, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 2, + 'char' => 114, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 3, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 4, + 'char' => 109, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 5, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 6, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 7, + 'char' => 110, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 8, + 'char' => 115, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 9, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 10, + 'char' => 67, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 11, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 12, + 'char' => 82, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 13, + 'char' => 46, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + ], + 0, + 1, + // car means RAC. + [ + [ + 'pos' => 0, + 'char' => 99, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 1, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 2, + 'char' => 114, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 3, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 4, + 'char' => 109, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 5, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 6, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 7, + 'char' => 110, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 8, + 'char' => 115, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 9, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 12, + 'char' => 82, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 11, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 10, + 'char' => 67, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 13, + 'char' => 46, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + ], + ], + [ + // 0, + 'char' => 8295, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 1, + 'char' => 99, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 2, + 'char' => 97, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 3, + 'char' => 114, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 4, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 5, + 'char' => 77, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 6, + 'char' => 69, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 7, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 8, + 'char' => 78, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 9, + 'char' => 83, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 10, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 11, + 'char' => 67, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 12, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 13, + 'char' => 82, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 14, + 'char' => 46, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 15, + 'char' => 8297, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + ], + 0, + 2, + // <.RAC SNAEM car= + [ + [ + 'pos' => 0, + 'char' => 8295, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 14, + 'char' => 46, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 13, + 'char' => 82, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 12, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 11, + 'char' => 67, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 10, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 9, + 'char' => 83, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 8, + 'char' => 78, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 7, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 6, + 'char' => 69, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 5, + 'char' => 77, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 4, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 1, + 'char' => 99, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 2, + 'char' => 97, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 3, + 'char' => 114, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 15, + 'char' => 8297, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + ], + ], + [ + // he said " 0, + 'char' => 104, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 1, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 2, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 3, + 'char' => 115, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 4, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 5, + 'char' => 105, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 6, + 'char' => 100, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 7, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 8, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 9, + 'char' => 8295, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 10, + 'char' => 99, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 11, + 'char' => 97, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 12, + 'char' => 114, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 13, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 14, + 'char' => 77, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 15, + 'char' => 69, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 16, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 17, + 'char' => 78, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 18, + 'char' => 83, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 19, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 20, + 'char' => 67, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 21, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 22, + 'char' => 82, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 23, + 'char' => 8297, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 24, + 'char' => 46, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 25, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 26, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 27, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 28, + 'char' => 8295, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 29, + 'char' => 73, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 30, + 'char' => 84, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 31, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 32, + 'char' => 68, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 33, + 'char' => 79, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 34, + 'char' => 69, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 35, + 'char' => 83, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 36, + 'char' => 8297, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 37, + 'char' => 44, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 38, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 39, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 40, + 'char' => 115, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 41, + 'char' => 104, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 42, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 43, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 44, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 45, + 'char' => 103, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 46, + 'char' => 114, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 47, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 48, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 49, + 'char' => 100, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 50, + 'char' => 46, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + ], + 0, + 2, + // he said " 0, + 'char' => 104, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 1, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 2, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 3, + 'char' => 115, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 4, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 5, + 'char' => 105, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 6, + 'char' => 100, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 7, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 8, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 9, + 'char' => 8295, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 22, + 'char' => 82, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 21, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 20, + 'char' => 67, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 19, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 18, + 'char' => 83, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 17, + 'char' => 78, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 16, + 'char' => 65, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 15, + 'char' => 69, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 14, + 'char' => 77, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 13, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 10, + 'char' => 99, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 11, + 'char' => 97, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 12, + 'char' => 114, + 'i' => -1, + 'level' => 2, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 23, + 'char' => 8297, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 24, + 'char' => 46, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 25, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 26, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 27, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 28, + 'char' => 8295, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 35, + 'char' => 83, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 34, + 'char' => 69, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 33, + 'char' => 79, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 32, + 'char' => 68, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 31, + 'char' => 32, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 30, + 'char' => 84, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 29, + 'char' => 73, + 'i' => -1, + 'level' => 1, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 36, + 'char' => 8297, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 37, + 'char' => 44, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 38, + 'char' => 34, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 39, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 40, + 'char' => 115, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 41, + 'char' => 104, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 42, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 43, + 'char' => 32, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 44, + 'char' => 97, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 45, + 'char' => 103, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 46, + 'char' => 114, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 47, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 48, + 'char' => 101, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 49, + 'char' => 100, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + [ + 'pos' => 50, + 'char' => 46, + 'i' => -1, + 'level' => 0, + 'pdimatch' => -1, + 'type' => 'L', + 'otype' => 'L', + 'x' => 0, + ], + ], + ], + [ + // DID YOU SAY '>he said " + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-unicode software library. + */ + +namespace Test; + +use Com\Tecnick\Unicode\Data\Latin; +use PHPUnit\Framework\TestCase; +use PHPUnit\Framework\Attributes\DataProvider; + +/** + * Convert Test + * + * @since 2011-05-23 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class ConvertTest extends TestCase +{ + protected function getTestObject(): \Com\Tecnick\Unicode\Convert + { + return new \Com\Tecnick\Unicode\Convert(); + } + + #[DataProvider('chrDataProvider')] + public function testChr(int $ord, mixed $expected): void + { + $convert = $this->getTestObject(); + $chr = $convert->chr($ord); + $this->assertEquals($expected, $chr); + } + + #[DataProvider('chrDataProvider')] + public function testOrd(mixed $expected, string $chr): void + { + $convert = $this->getTestObject(); + $ord = $convert->ord($chr); + $this->assertEquals($expected, $ord); + } + + /** + * @return array + */ + public static function chrDataProvider(): array + { + return [ + [32, ' '], + [48, '0'], + [65, 'A'], + [182, '¶'], + [255, 'ÿ'], + [256, 'Ā'], + [544, 'Ƞ'], + [916, 'Δ'], + [1488, 'א'], + [21488, '台'], + [49436, '서'], + [70039, '𑆗'], + [195101, '𪘀'], + ]; + } + + public function testStrToChrArr(): void + { + $convert = $this->getTestObject(); + $res = $convert->strToChrArr('0A¶ÿĀȠΔא台서'); + $this->assertEquals(['0', 'A', '¶', 'ÿ', 'Ā', 'Ƞ', 'Δ', 'א', '台', '서'], $res); + } + + public function testChrArrToOrdArr(): void + { + $convert = $this->getTestObject(); + $res = $convert->chrArrToOrdArr(['0', 'A', '¶', 'ÿ', 'Ā', 'Ƞ', 'Δ', 'א', '台', '서']); + $this->assertEquals([48, 65, 182, 255, 256, 544, 916, 1488, 21488, 49436], $res); + } + + public function testOrdArrToChrArr(): void + { + $convert = $this->getTestObject(); + $res = $convert->ordArrToChrArr([48, 65, 182, 255, 256, 544, 916, 1488, 21488, 49436]); + $this->assertEquals(['0', 'A', '¶', 'ÿ', 'Ā', 'Ƞ', 'Δ', 'א', '台', '서'], $res); + } + + public function testStrToOrdArr(): void + { + $convert = $this->getTestObject(); + $res = $convert->strToOrdArr('0A¶ÿĀȠΔא台서'); + $this->assertEquals([48, 65, 182, 255, 256, 544, 916, 1488, 21488, 49436], $res); + } + + public function testGetSubUniArrStr(): void + { + $convert = $this->getTestObject(); + $res = $convert->getSubUniArrStr(['0', 'A', '¶', 'ÿ', 'Ā', 'Ƞ', 'Δ', 'א', '台', '서']); + $this->assertEquals('0A¶ÿĀȠΔא台서', $res); + + $res = $convert->getSubUniArrStr(['0', 'A', '¶', 'ÿ', 'Ā', 'Ƞ', 'Δ', 'א', '台', '서'], 2, 8); + $this->assertEquals('¶ÿĀȠΔא', $res); + } + + public function testUniArrToLatinArr(): void + { + $convert = $this->getTestObject(); + $uniarr = array_keys(Latin::SUBSTITUTE); + $uniarr[] = 65533; // 0xFFFD - character to ignore + $uniarr[] = 123456; // undefined char + $uniarr[] = 65; // ASCII char + $latarr = array_values(Latin::SUBSTITUTE); + $latarr[] = 63; + $latarr[] = 65; + $res = $convert->uniArrToLatinArr($uniarr); + $this->assertEquals($latarr, $res); + } + + public function testLatinArrToStr(): void + { + $convert = $this->getTestObject(); + $res = $convert->latinArrToStr([48, 57, 65, 90, 97, 122]); + $this->assertEquals('09AZaz', $res); + } + + #[DataProvider('strToHexDataProvider')] + public function testStrToHex(string $str, mixed $hex): void + { + $convert = $this->getTestObject(); + $res = $convert->strToHex($str); + $this->assertEquals($hex, $res); + } + + #[DataProvider('strToHexDataProvider')] + public function testHexToStr(mixed $str, string $hex): void + { + $convert = $this->getTestObject(); + $res = $convert->hexToStr($hex); + $this->assertEquals($str, $res); + } + + /** + * @return array> + */ + public static function strToHexDataProvider(): array + { + return [ + ['', ''], + ['A', '41'], + ['AB', '4142'], + ['ABC', '414243'], + ["\n", '0a'], + ]; + } + + #[DataProvider('toUTF16BEDataProvider')] + public function testToUTF16BE(string $str, mixed $exp): void + { + $convert = $this->getTestObject(); + $res = $convert->toUTF16BE($str); + $this->assertEquals($exp, $convert->strToHex($res)); + } + + /** + * @return array> + */ + public static function toUTF16BEDataProvider(): array + { + return [ + ['', ''], + ['ABC', '004100420043'], + [json_decode('"\u0010\uffff\u00ff\uff00"'), '0010ffff00ffff00'], + ]; + } + + #[DataProvider('toUTF8DataProvider')] + public function testToUTF8(string $str, mixed $exp, ?string $enc = null): void + { + $convert = $this->getTestObject(); + $res = $convert->toUTF8($str, $enc); + $this->assertEquals($exp, $res); + } + + /** + * @return array> + */ + public static function toUTF8DataProvider(): array + { + return [ + ['', ''], + ['òèìòù', 'òèìòù'], + ['òèìòù', 'òèìòù', 'ISO-8859-1'], + ]; + } +} diff --git a/vendor/tecnickcom/tc-lib-unicode/test/TestUtil.php b/vendor/tecnickcom/tc-lib-unicode/test/TestUtil.php new file mode 100644 index 0000000..df4e9f2 --- /dev/null +++ b/vendor/tecnickcom/tc-lib-unicode/test/TestUtil.php @@ -0,0 +1,41 @@ + + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + * + * This file is part of tc-lib-color software library. + */ + +namespace Test; + +use PHPUnit\Framework\TestCase; + +/** + * Web Color class test + * + * @since 2020-12-19 + * @category Library + * @package Unicode + * @author Nicola Asuni + * @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD + * @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) + * @link https://github.com/tecnickcom/tc-lib-unicode + */ +class TestUtil extends TestCase +{ + /** + * @param class-string<\Throwable> $exception + */ + public function bcExpectException($exception): void + { + parent::expectException($exception); + } +} diff --git a/vendor/tecnickcom/tcpdf/CHANGELOG.TXT b/vendor/tecnickcom/tcpdf/CHANGELOG.TXT new file mode 100644 index 0000000..5d560d0 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/CHANGELOG.TXT @@ -0,0 +1,3198 @@ +6.10.0 (2025-05-27) + - Embedded files support (Factur-X 1.07 / ZUGFeRD 2.3) #789 + +6.9.5 (2025-05-27) + - Automatically add destinations from HTML code #804 + - Wrong default value when $table_el['old_cell_padding'] is missing #807 + - Fixed PHP warning when empty hash link for image exists in HTML #809 + - Fix for application of alpha component to SVG RGBA fills #810 + +6.9.4 (2025-05-13) + - Update donation link. + +6.9.3 (2025-04-20) + - New fix for "Deserialization of untrusted data" (check on valid protocols). + - Removed global phar configuration. + +6.9.2 (2025-04-18) + - Quick fix for "Deserialization of untrusted data" security vulnerability reported by Positive Technologies. + - Disable phar protocol globally. + +6.9.1 (2025-04-03) + - Fixed "Path Traversal" security vulnerability reported by Positive Technologies. + +6.9.0 (2025-03-30) + - Added PHP 8.4 testing. + - Removed tcpdf_import.php and tcpdf_parser.php files (for a parser check the tc-lib-pdf-parser project instead). + - Fix composer.json. + +6.8.2 (2025-01-26) + - Fix some annotation flags values. + - Remove examples from packaging. + +6.8.1 (2025-01-26) - UNTAGGED + - Check relative paths on SVG images. + +6.8.0 (2024-12-23) + - Requires PHP 7.1+ and curl extension. + - Escape error message. + - Use strict time-constant function to compare TCPDF-tag hashes. + - Add K_CURLOPTS config array to set custom cURL options (NOTE: some defaults have changed). + - Add some addTTFfont fixes from tc-lib-pdf-font. + +6.7.8 (2024-12-13) + - Improve SVG detection by checking for (mandatory) namespace. + - Use late state binding now that minimum PHP version is 5.5. + +6.7.7 (2024-10-26) + - Update regular expression to avoid ReDoS (CVE-2024-22641) + - [PHP 8.4] Fix: Curl CURLOPT_BINARYTRANSFER deprecated #675 + - SVG detection fix for inline data images #646 + - Fix count svg #647 + - Since the version 6.7.4, the "0" is considered like empty string and not displayed + - Fixed handling of transparency in PDF/A mode in addExtGState method + - Encrypt /DA string when document is encrypted + - Improve quality of generated seed, avoid potential security pitfall + - Try to use random_bytes() first if it's available + - Do not include the server parameters in the generated seed, as they might contain sensitive data + - Fix bug on _getannotsrefs when there are empty signature appearances but not other annot on a page + - Fix SVG coordinate parser that caused drawing artifacts + - Remove usage of xml_set_object() function + +6.7.6 (2024-10-06) + - Forbid access to parent folder in HTML images. + +6.7.5 (2024-04-20) + - Update GitHub actions + - fix: CSV-2024-22640 (#712) + +6.7.4 (2024-03-24) + - Upgrade tcpdf tag encryption algorithm. + - Fix regression issue #699. + - Fix security issue. + - [BREAKING CHANGE] The tcpdf HTML tag syntax has changed, see example_049.php. + - New K_ALLOWED_TCPDF_TAGS configuration constant to set the allowed methods for the tcdpf HTML tag. + - Raised minimum PHP version to PHP 5.5.0. + +6.6.5 (2023-09-02) + - Fix corrupted file. + - Fix GitHub automation tests. + - Fix SPDX license ID (#591) + - Fix warning "array offset on value of type null" (#620) + - Improve the README about the status of this library (#589) + - Fix deprecation warning with PHP 8.1 (#614) + - Fixes for PHP 8.2 in tcpdf_fonts.php (#632) + - Fix some php 8+ edge cases (#630) + - Fix composite glyph output (#581) + - Fix "access array offset on value of type bool" with PDF/A (#583) + - Fix non-numeric value warning (#627) + - Fix issues with S25 barcode (#611) + - Fix return type annotations (#613) + - Fix some inconsistencies in type hints (#598) + +6.6.2 (2022-12-17) + - Ensure pregSplit return type is always array. + - Add ability to run tests on various operating systems (#566) + - Avoid a deprecated error from PHP8.1 (#573) + +6.6.1 (2022-12-12) + - Add PHPStan and fix level 1 errors (#307) + +6.6.0 (2022-12-06) + - Multi-byte character support for filename during output (#561). (#562) + - Fix garbage collection (#509) + - FIX: PDF417 corrupt output problem, solution set bcmath scale parameter to zero (#534) + - Fix TypeError: count() in PHP8 (#556) + - Fix-getHTMLFontUnits (#547) + - Improved embedded image in HTML allowing src="data:..." format (#552) + - Fix image abscissa when in RTL (#510) + - fix: php 8.1 notices (#548) + - Optimize PNG files (#563) + - Update documentation for a known issue. (#569) + - Fix for PHP 8.1 (#571) + +6.5.0 (2022-08-12) + - encodeUrlQuery takes into account the port (#493) + - Fixing undefined offset error in writeHTML() when last DOM element ha… + - correct some type hints (#495) + - fix: php 8.1 notices (#481) + - Fixed: null check for PHP 8.1 (#476) + - Fix Infinite Loop in Multicell with Auto Page Breaks Off (#473) + - GetCssBorderStyle Has Problem When !important Is Specified (#467) + - Support Apache 2.4 directives in htaccess file (#530) + - Remove examples from dist package (#542) + +6.4.4 (2021-12-31) + - PHP 8.1 fixes + +6.4.3 (2021-12-28) + - Fix MultiCell PHPDoc typehint (#407) + - Fix type hint for \TCPDF_STATIC::_freadint (#414) + - Footer and Header font phpdoc fixes + constructor $pdfa phpdoc fix + setHeaderData lw param fix (#402) + - Fix text-annotation state options (#412) + - Fix - Named links have been broken. This fixes. (#415) + - Fixed type in comment for $lw header image logo width in mm + - Change Set to set. Fixes #419 (#421) + - Fix failing tests and failing tests not marking exit code as 1 (#426) + - Fix phpdoc and prefer null as default value (#444) + - Run on PHP 8.1 normally and add nightly PHP as allowed to fail (#452) + - Fix AES128 encryption if the OpenSSL extension is installed (#453) + - Explicitly cast values to int for imagesetpixel (#460) + - Fix cell_height_ratio type (#405) + - Leave &NBSP; lowercase when using text-transform (#403) + +6.4.2 (2021-07-20) + - Fix PHP 8.1 type error with TCPDF_STATIC::pregSplit on preg_split + - Fix a PHP array offset error + - Fixed phpdoc blocks + - Drop a PHP 4 polyfill and add a .gitattributes file + - Added a test-suite + - Removed pointless assignments + - Fix docblock spelling error + - Update version info + - Fix color being filled to type 0 with PHP 8 + - Fix warnings for undefined tags for $lineStyle + - Normalized composer.json + - Allowed transparency in PDF/A-2 and PDF/A-3 + - Add a TCPDF composer example + - Fixed implicit conversion from float to int for PHP 8.1 + - Removed status.txt from font directories, because of filesize + - Fixed type hints + - Removed "U" modifier from regexes + +6.4.1 (2021-03-27) + - Update tcpdf version (no code changes) + +6.4.0 (2021-03-27) + - allow styles on
tags + - check if file exists before calling unlink + - Fix image file type for urls with query params + - Fix SVGPath should accept 1.19.30 (equiv 1.19,.30) compacted values list + - Fix Second parameter of TCPDF::cell() must be a number + - PHP 8.0 function signature fixes + - Fix vulnerability to roman numeral bombs + - Optimized a regular expression + - Cache file get contents calls + - Remove mb_internal encoding handling + +6.3.5 (2020-02-14) + - Fixed curly braces in pdf417 + - Fixed a syntax error issue when accessing an index of a casted variable + +6.3.4 (2020-02-12) + - Check if imagekeys exist + - Unlink only images in cache + +6.3.3 (2020-02-12) + - Fixed PHP 7.4 - cannot use array offset on integers + - Fixed PDF/A-3B validation issue caused by missing pdfaSchema:property. + - Removed backup changelog files from repo + - Prevents the deletion of non-existent files in /tmp + - Prevent crash in case of no list access in cache path + - Check existence of file before delete it + - Fixed erase users pictures + - Fixed problem with $imagekeys undefined or unlinked + - Fix SVGPath elliptical arc with rx/ry=0 + z should return to initial point + - Fixed PHP 7.4 errors + - handle integers for pages + - Fixed background image doesn't work in RTL + - Fixed PDF/A validity + - Fixed datamatrix.php for PHP 7.4 + - Fixed deprecated PHP features + +6.3.2 (2019-09-20) + - Update ICC profile + +6.3.1 (2019-09-20) + - Fix reported version + - Fix Undefined property: GLPIPDF::$imagekeys + +6.3.0 (2019-09-19) + - fix SpotColor handling in HTML + - Add an additional empty test to prevent error in PHP 7.2 + - Fix the documentation how to calculate the cell height + - Drop duplicated array indices + - Fix TCPDF_STATIC::fileGetContents() + - Introduce other version of pdfA (2 and 3) + - Add UF and AFRelationship missing + - Fix performance issue of cloned instances + - Change glob to readdir which performs better + - URI in PDF can result in E_NOTICE + - Fix a warning for PHP 7.4 + - Fixed gradient offsets for percentage-based stops. + - Fixed file_get_contents return value should also be checked for a non-empty string + - Fix Array and string offset access syntax with curly braces is deprecated + - Fix PHP Warning: chr() expects parameter 1 to be int + - Add a VERSION file + +6.2.26 (2018-10-16) + - Update sRGB.icc with the one from the Debian package icc-profiles-free + - Fix unsupported operand types error when codepoints arrays are merged + +6.2.25 (2018-09-23) + - Fix support for image URLs. + +6.2.24 + - Support remote urls when checking if file exists. + +6.2.23 (2018-09-22) + - Simplify file_exists function. + +6.2.22 (2018-09-14) + - Fixes on `include/tcpdf_images.php`, `include/tcpdf_static.php` and `tcpdf.php` about file handling + +6.2.21 (2018-09-14) + - _no code changes_ + +6.2.20 (2018-09-14) + - Fix for security vulnerability: Using the phar:// wrapper it was possible to trigger the unserialization of user provided data. + +6.2.19 (2018-09-14) + - Merge various fixes for PHP 7.3 compatibility and security. + +6.2.13 (2016-06-10) + - IMPORTANT: A new version of this library is under development at https://github.com/tecnickcom/tc-lib-pdf and as a consequence this version will not receive any additional development or support. This version should be considered obsolete, new projects should use the new version as soon it will become stable. + +6.2.12 (2015-09-12) + - fix composer package name to tecnickcom/tcpdf + +6.2.11 (2015-08-02) + - Bug #1070 "PNG regression in 6.2.9 (they appear as their alpha channel)" was fixed. + - Bug #1069 "Encoded SRC URLs in tags don't work anymore" was fixed. + +6.2.10 (2015-07-28) + - Minor mod to PNG parsing. + - Make dependency on mcrypt optional. + +6.2.8 (2015-04-29) + - Removed unwanted file. + +6.2.7 (2015-04-28) + - Merged PR 17: Avoid warning when iterating a non-array variable. + - Merged PR 16: Improve MuliCell param definition. + - Improved column check (PR 15). + - Merged PR 11: Use stream_is_local instead of limit to file://. + - Merged PR 10: ImageMagick link on README.txt. + +6.2.6 (2015-01-28) + - Bug #1008 "UTC offset sing breaks PDF/A-1b compliance" was fixed. + +6.2.5 (2015-01-24) + - Bug #1019 "$this in static context" was fixed. + - Bug #1015 "Infinite loop in getIndirectObject method of parser" was fixed. + +6.2.4 (2015-01-08) + - fix warning related to empty K_PATH_URL. + - fix error when a $table_colwidths key is not set. + +6.2.3 (2014-12-18) + - New comment. + - Moved the K_PATH_IMAGES definition in tcpdf_autoconfig. + +6.2.2 (2014-12-18) + - Fixed mispelled words. + - Fixed version number. + +6.2.1 (2014-12-18) + - The constant K_TCPDF_THROW_EXCEPTION_ERROR is now set to false in the default configuration file. + - An issue with the _destroy() method was fixed. + +6.2.0 (2014-12-10) + - Bug #1005 "Security Report, LFI posting internal files externally abusing default parameter" was fixed. + - Static methods serializeTCPDFtagParameters() and unserializeTCPDFtagParameters() were moved as non static to the main TCPDF class (see changes in example n. 49). + - Deprecated methods were removed, please use the equivalents defined in other classes (i.e. TCPDF_STATIC and TCPDF_FONTS). + - The constant K_TCPDF_CALLS_IN_HTML is now set by default to FALSE. + - DLE, DLX and DLP page format was added. + - Page format are now defined as a public property in TCPDF_STATIC. + +6.1.1 (2014-12-09) + - Fixed bug with the register_shutdown_function(). + +6.1.0 (2014-12-07) + - The method TCPDF_STATIC::getRandomSeed() was improved. + - The disk caching feature was removed. + - Bug #1003 "Backslashes become duplicated in table, using WriteHTML" was fixed. + - Bug #1002 "SVG radialGradient within non-square Rect" was fixed. + +6.0.099 (2014-11-15) + - Added basic support for nested SVG images (adapted PR from SamMousa). + - A bug related to setGDImageTransparency() was fixed (thanks to Maarten Boerema). + +6.0.098 (2014-11-08) + - Bug item #996 "getCharBBox($char) returns incorrect results for TTF glyphs without outlines" was fixed. + - Bug item #991 "Text problem with SVG" was fixed (only the font style part). + +6.0.097 (2014-10-20) + - Bug item #988 "hyphenateText - charmin parameter not work" was fixed. + - New 1D barcode method to print pre-formatted IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200. + +6.0.096 (2014-10-06) + - Bug item #982 "Display style is not inherited in SVG" was fixed. + - Bug item #984 "Double quote url in CSS" was fixed. + +6.0.095 (2014-10-02) + - Bug item #979 "New Timezone option overwriting current timezone" was fixed. + +6.0.094 (2014-09-30) + - Bug item #978 "Variable Undefined: $cborder" was fixed. + +6.0.093 (2014-09-02) + - Security fix: some serialize/unserialize methods were replaced with json_encode/json_decode to avoid a potential object injection with user supplied content. Thanks to ownCloud Inc. for reporting this issue. + - K_TIMEZONE constant was added to the default configuration to suppress date-time warnings. + +6.0.092 (2014-09-01) + - Bug item #956 "Monospaced fonts are not alignd at the baseline" was fixed. + - Bug item #964 "Problem when changing font size" was fixed. + - Bug item #969 "ImageSVG with radialGradient problem" was fixed. + - sRGB.icc file was replaced with the one from the Debian package icc-profiles-free (2.0.1+dfsg-1) + +6.0.091 (2014-08-13) + - Issue #325"Division by zero when css fontsize equals 0" was fixed. + +6.0.090 (2014-08-08) + - Starting from this version TCPDF is also available in GitHub at https://github.com/tecnickcom/TCPDF + - Function getmypid() was removed for better compatibility with shared hosting environments. + - Support for pulling SVG stroke opacity value from RGBa color was mergeg [adf006]. + - Bug item #951 "HTML Table within TCPDF columns doesnt flow correctly on page break ..." was fixed. + +6.0.089 (2014-07-16) + - Bug item #948 "bottom line of rowspan cell not work correctly" was fixed. + +6.0.088 (2014-07-09) + - Bug item #946 "Case sensitive type check causes broken match for SVG" was fixed. + - Bug item #945 "Imagick load doesn't account for passed data string " was fixed. + +6.0.087 (2014-06-25) + - A bug affecting fitcell option in Multicell was fixed. + +6.0.086 (2014-06-20) + - Bug item #938 "Hyphenation-dash extends outside of cell" was fixed (collateral effect). + +6.0.085 (2014-06-19) + - Some example images were replaced. + - A race condition bug was fixed. + - Bug item #938 "Hyphenation-dash extends outside of cell" was fixed. + +6.0.084 (2014-06-13) + - A bug related to MultiCell fitcell feature was fixed. + - Bug item #931 "Documentation error for setPageFormat()" was fixed. + +6.0.083 (2014-05-29) + - Bug item #928 "setHtmlVSpace with HR element" was fixed. + +6.0.082 (2014-05-23) + - Bug item #926 "test statement instead of assignment used in tcpdf_fonts.php" was fixed. + - Bug item #925 "924 transparent images bug" was fixed. + +6.0.081 (2014-05-22) + - Bug item #922 "writehtml tables thead repeating" was fixed. + - Patch #71 "External and internal links, local and remote" wa applied. + +6.0.080 (2014-05-20) + - Bug item #921 "Fatal error in hyphenateText() function" was fixed. + - Bug item #923 "Automatic Hyphenation error" was fixed. + - Patch #70 "Augument TCPDFBarcode classes with ability to return raw png image data" was applied. + +6.0.079 (2014-05-19) + - Patch item #69 "Named destinations, HTML internal and external links" was merged. + - Bug item #920 "hyphenateText() should not hyphenate the content of style-tags in HTML mode" was fixed. + - Image method now trigs an error in case the cache is now writeable. + - Fixed issue with layer default status. + +6.0.078 (2014-05-12) + - A warning issue in addTTFfont() method was fixed. + - Fonts were updated to include cbbox metrics. + +6.0.077 (2014-05-06) + - A Datamatrix barcode bug was fixed. + +6.0.076 (2014-05-06) + - A bug in Datamatrix Base256 encoding was fixed. + - Merged fix for SVG use/clip-gradient. + - Now it is possible to prefix a page number in Link methods with the * character to avoid been changed when adding/deleting/moving pages (see example_045.php). + +6.0.075 (2014-05-05) + - Bug #917 "Using realtive Units like ex or em for images distort output in HTML mode" was fixed. + +6.0.074 (2014-05-03) + - Part of Bug #917 "Using realtive Units like ex or em for images distort output in HTML mode" was fixed. + - Bug #915 "Problem with SVG Image using Radial Gradients" was fixed. + +6.0.073 (2014-04-29) + - Bug #913 "Possible bug with line-height" was fixed. + - Bug #914 "MultiCell and FitCell" was fixed. + - Bug #915 "Problem with SVG Image using Radial Gradients" was fixed. + +6.0.072 (2014-04-27) + - Deprecated curly braces substring syntax was replaced with square braces. + +6.0.071 (2014-04-25) + - Bug #911 "error with buffered png pics" was fixed. + +6.0.070 (2014-04-24) + - Bug #910 "An SVG image is being cut off (with clipping mask) when you use align options" was fixed. + +6.0.069 (2014-04-24) + - Datamatrix Base256 encoding was fixed. + +6.0.068 (2014-04-22) + - Some Datamatrix barcode bugs were fixed. + +6.0.067 (2014-04-21) + - startLayer() method signature was changed to include a new "lock" parameter. + +6.0.066 (2014-04-20) + - Bug #908 "Linebreak is not considered when getting length of the next string" was fixed. + +6.0.065 (2014-04-10) + - Bug #905 "RGB percentage color bug in convertHTMLColorToDec()" was fixed. + +6.0.064 (2014-04-07) + - Header and Footer fonts are now set by default. + - Bug #904 "PDF corrupted" was fixed. + +6.0.063 (2014-04-03) + - Method TCPDF_IMAGES::_parsepng() was fixed to support transparency in Indexed images. + +6.0.062 (2014-03-02) + - The method startLayer() now accepts the NULL value for the $print parameter to not set the print layer option. + +6.0.061 (2014-02-18) + - Bug #893 "Parsing error on streamed xref for secured pdf" was fixed. + +6.0.060 (2014-02-16) + - Bug #891 "Error on parsing hexa fields" was fixed. + - Bug #892 "Parsing pdf with trailing space at start" was fixed. + +6.0.059 (2014-02-03) + - SVG 'use' support was imporved. + +6.0.058 (2014-01-31) + - Bug #886 "Bugs with SVG using and " was fixed. + +6.0.057 (2014-01-26) + - Bug #883 "Parsing error" was fixed. + +6.0.056 (2014-01-25) + - The automatic cache folder selection now works also with some restricted hosting environments. + - CSS text-transform property is now supported (requires the multibyte string library for php) - see examle n. 061 (Thanks to Walter Ferraz). + - Bug #884 "Parsing error prev tag looking for" was fixed. + +6.0.055 (2014-01-15) + - Bug #880 "Error detecting hX tags (h1,h2..)" was fixed + - Bug #879 "Thead on the second page inherits style of previous tr" was fixed + +6.0.054 (2014-01-13) + - Bug #877 "Parenteses causing corrupt text" was fixed. + +6.0.053 (2014-01-03) + - Bug #876 "Cell padding should not be multiplied with number of lines in getStringHeight" was fixed. + - Patch #68 "Empty img src attribute leads to access of uninitialized string offset" was applied. + +6.0.052 (2013-12-12) + - Bug #871 "Datamatrix coding" was fixed. + +6.0.051 (2013-12-02) + - cbbox array values in addTTFfont() were converted to integers. + +6.0.050 (2013-12-01) + - The method getNumLines() was extended to support hyphenation. + - The CSS property line-height now supports non percentage values. + +6.0.050 (2013-11-27) + - A bug related to PNG images was fixed. + +6.0.048 (2013-11-24) + - SVG vars are now reset in ImageSVG() method. + +6.0.047 (2013-11-19) + - SVG support was extended to support some nested defs. + +6.0.046 (2013-11-17) + - preg_replace_callback functions were replaced to improve memory performances. + +6.0.045 (2013-11-17) + - Bug #862 "Parsing error on flate filter" was fixed. + +6.0.044 (2013-11-10) + - Bug #857 "Undefined offset error" was fixed. + - The uniord method now uses a static cache to improve performances (thanks to Mathieu Masseboeuf for the sugegstion). + - Two bugs in the TCPDF_FONTS class were fixed. + +6.0.043 (2013-10-29) + - Bug #854 "CSS instruction display" was fixed. + +6.0.042 (2013-10-25) + - Bug #852 "CMYK Colors Bug" was fixed. + +6.0.041 (2013-10-21) + - Bug #851 "Problem with images in PDF. PHP timing out" was fixed. + +6.0.040 (2013-10-20) + - Bug #849 "SVG import bug" was fixed. + +6.0.039 (2013-10-13) + - Bug #843 "Wrong call in parser" was fixed. + - Bug #844 "Wrong object type named" was fixed. + - Bug #845 "Parsing error on obj ref prefixed by '000000'" was fixed. + +6.0.038 (2013-10-06) + - Bug #841 "Division by zero warning at writeHTML a
  • tag" was fixed. + +6.0.037 (2013-09-30) + - Method getAllSpotColors() was added to return all spot colors. + - Method colorRegistrationBar() was extended to automatically print all spot colors and support individual spot colors. + - The method registrationMarkCMYK() was added to print a registration mark for CMYK colors. + - A bug related to page groups was fixed. + - Gradient() method now supports CMYK equivalents of spot colors. + - Example n. 56 was updated. + +6.0.036 (2013-09-29) + - Methods for registration bars and crop marks were extended to support registration color (see example n. 56). + - New default spot colors were added to tcpdf_colors.php, including the 'All' and 'None' special registration colors. + +6.0.035 (2013-09-25) + - TCPDF_PARSER class was improved. + +6.0.034 (2013-09-24) + - Bug #839 "Error in xref parsing in mixed newline chars" was fixed. + +6.0.033 (2013-09-23) + - Bug fix related to PNG image transparency using GD library. + +6.0.032 (2013-09-23) + - Bug #838 "Fatal error when imagick cannot handle the image, even though GD is available and can" was fixed. + +6.0.031 (2013-09-18) + - Bug #836 "Optional EOL marker before endstream" was fixed. + - Some additional controls were added to avoid "division by zero" error with badly formatted input. + +6.0.030 (2013-09-17) + - Bug #835 "PDF417 and Cyrilic simbols" was fixed. + +6.0.029 (2013-09-15) + - Constants K_TCPDF_PARSER_THROW_EXCEPTION_ERROR and K_TCPDF_PARSER_IGNORE_DECODING_ERRORS where removed in favor of a new configuration array in the TCPDF_PARSER class. + - The TCPDF_PARSER class can now be configured using the new $cfg parameter. + +6.0.028 (2013-09-15) + - A debug print_r was removed form tcpdf_parser.php. + - TCPDF_FILTERS class now throws an exception in case of error. + - TCPDF_PARSER class now throws an exception in case of error unless you define the constant K_TCPDF_PARSER_THROW_EXCEPTION_ERROR to false. + - The constant K_TCPDF_PARSER_IGNORE_DECODING_ERRORS can be set to tru eto ignore decoding errors on TCPDF_PARSER. + +6.0.027 (2013-09-14) + - A bug in tcpdf_parser wen parsing hexadecimal strings was fixed. + - A bug in tcpdf_parser wen looking for statxref was fixed. + - A bug on RC4 encryption was fixed. + +6.0.026 (2013-09-14) + - A bug in tcpdf_parser wen decoding streams was fixed. + +6.0.025 (2013-09-04) + - A pregSplit() bug was fixed. + - Improved content loading from URLs. + - Improved font path loading. + +6.0.024 (2013-09-02) + - Bug #826 "addEmptySignatureAppearance issue" was fixed. + +6.0.023 (2013-08-05) + - GNU Freefont fonts were updated. + - Licensing and copyright information about fonts were improved. + - PNG image support was improved. + +6.0.022 (2013-08-02) + - fixing initialization problem for signature_appearance property. + +6.0.021 (2013-07-18) + - The bug caused by the preg_split function on some PHP 5.2.x versions was fixed. + +6.0.020 (2013-06-04) + - The method addTTFfont() was fixed (Bug item #813 Undefined offset). + +6.0.019 (2013-06-04) + - The magic constant __DIR__ was replaced with dirname(__FILE__) for php 5.2 compatibility. + - The exceptions raised by file_exists() function were suppressed. + +6.0.018 (2013-05-19) + - The barcode examples were changed to automatically search for the barcode class path (in case the examples directory is not installed under the TCPDF root). + +6.0.017 (2013-05-16) + - The command line tool tcpdf_addfont.php was improved. + - The php logic was removed from configuration files that now contains only constant defines. + - The tcpdf_autoconfig.php file was added to automatically set missing configuration values. + +6.0.016 (2013-05-15) + - The tcpdf_addfont.php tool was improved (thanks to Remi Collet). + - Constant K_PATH_IMAGES is now automatically set in configuration file. + +6.0.015 (2013-05-14) + - Some unused vars were removed from AddFont() method. + - Some directories were moved inside the examples directory. + - All examples were updated to reflect the new default structure. + - Source code were clean-up up to be more compatible with system packaging. + - Files encodings and permissions were reset. + - The command line tool tcpdf_addfont.php was added on the tools directory. + +6.0.014 (2013-04-13) + - The signature of addTTFfont() method includes a new parameter to link existing fonts instead of copying and compressing them. + +6.0.013 (2013-04-10) + - Add support for SVG dx and dy text/tspan attributes. + - replace require() with require_once(). + - fix some minor typos on documentation. + - fix a problem when deleting all pages. + +6.0.012 (2013-04-24) + - An error condition in addHtmlLink() method was fixed (bug #799). + +6.0.011 (2013-04-22) + - Minor documentation changes. + +6.0.010 (2013-04-03) + - The method Rect() was fixed to print borders correctly. + +6.0.009 (2013-04-02) + - Adding back some files that were not properly committed on the latest release. + +6.0.008 (2013-04-01) + - Duplicated encoding maps was removed from tcpdf_font_data.php. + - Fixing bug on AddTTFFont(). + +6.0.007 (2013-03-29) + - HTML/CSS font size conversion were improved. + +6.0.006 (2013-03-27) + - Bug related to SVG and EPS files on xobjects were fixed. + +6.0.005 (2013-03-26) + - Default font path was fixed. + +6.0.004 (2013-03-21) + - Return value of addTTFfont() method was fixed. + +6.0.003 (2013-03-20) + - A bug related to non-unicode mode was fixed. + +6.0.002 (2013-03-18) + - _getFIXED call on tcpdf_fonts.php was fixed. + +6.0.001 (2013-03-18) + - Fixed $uni_type call on tcpdf.php. + +6.0.000 (2013-03-17) + - IMPORTANT: PHP4 support has been removed starting from this version. + - Several TCPDF methods and vars were moved to new class files: tcpdf_static.php, tcpdf_colors.php, tcpdf_images.php, tcpdf_font_data.php, tcpdf_fonts.php. + - Files htmlcolors.php, spotcolors.php, unicode_data.php and ecodings_maps.php were removed. + - Barcode classes were renamed and new barcode examples were added. + - Class TCPDF_PARSER was improved. + +******************************************************************************** + +5.9.209 (2013-03-15) + - Image method was improved. + +5.9.208 (2013-03-15) + - objclone function was patched to support old imagick extensions. + - tcpdf_parser was improved to support Cross-Reference Streams and large streams. + +5.9.207 (2013-03-04) + - Datamatrix class was fixed (a debug echo was removed). + +5.9.206 (2013-02-22) + - Bug item #754 "PNG with alpha channel becomes gray scale" was fixed. + - Minor documentation fixes. + +5.9.205 (2013-02-06) + - The constant K_TCPDF_THROW_EXCEPTION_ERROR was added on configuration file to change the behavior of Error() method. + - PDF417 barcode bug was fixed. + +5.9.204 (2013-01-23) + - The method Bookmark() was extended to include named destinations, URLs, internal links or embedded files (see example n. 15). + - automatic path calculation on configuration file was fixed. + - Error() method was extended to throw new Exception if PHP > 5. + +5.9.203 (2013-01-22) + - Horizontal position of radiobuttons and checkboxes was adjusted. + +5.9.202 (2012-12-16) + - Vertical space problem after table was fixed. + +5.9.201 (2012-12-10) + - First 256 chars are now always included on font subset to overcome a problem reported on the forum. + +5.9.200 (2012-12-05) + - Bug item #768 "Rowspan with Pagebreak error" was fixed. + - Page regions now works also with limited MultiCell() cells. + +5.9.199 (2012-11-29) + - Internal setImageBuffer() method was improved. + +5.9.198 (2012-11-19) + - Datamatrix EDIFACT mode was fixed. + +5.9.197 (2012-11-06) + - Bug item #756 "TCPDF 5.9.196 shows line on top of all PDFs" was fixed. + +5.9.196 (2012-11-02) + - Several methods were improved to avoid output when the context is out of page. + - Bug item #755 "remove cached files before unsetting" was fixed. + +5.9.195 (2012-10-24) + - Method _putfonts() was improved. + +5.9.194 (2012-10-23) + - Text alignment on TextField() method was fixed. + +5.9.193 (2012-09-25) + - Support for named destinations on HTML links was added (i.e.: link to named destination). + +5.9.192 (2012-09-24) + - A problem on the releasing process was fixed. + +5.9.191 (2012-09-24) + - SVG image naow support svg and eps images. + +5.9.190 (2012-09-23) + - "page" word translation is now set to empty if not defined. + - Tooltip feature was added on the radiobutton annotation. + +5.9.189 (2012-09-18) + - Bug item #3568969 "ini_get safe_mode error" was fixed. + +5.9.188 (2012-09-15) + - A datamatrix barcode bug was fixed. + +5.9.187 (2012-09-14) + - Subset feature was extended to include the first 256 characters. + +5.9.186 (2012-09-13) + - barcodes.php file was resynced. + - Methods SetAbsX, SetAbsY, SetAbsXY where added to set the absolute pointer coordinates. + - Method getCharBBox were added to get single character bounding box. + - Signature of addTTFfont method was changed ($addcbbox parameter was added). + +5.9.185 (2012-09-12) + - Method _putfontwidths() was fixed. + +5.9.184 (2012-09-11) + - A problem with EAN barcodes was fixed. + +5.9.183 (2012-09-07) + - A problem with font names normalization was fixed. + +5.9.182 (2012-09-05) + - Bug item #3564982 "Infinite loop in Write() method" was fixed. + +5.9.181 (2012-08-31) + - composer.json file was added. + - Bug item #3563369 "Cached images are not unlinked some time" was fixed. + +5.9.180 (2012-08-22) + - Bug item #3560493 "Problems with nested cells in HTML" was fixed. + +5.9.179 (2012-08-04) + - SVG 'use' tag was fixed for 'circle' and 'ellipse' shift problem. + - Alpha status is now correctly stored and restored by getGraphicVars() and SetGraphicVars() methods. + +5.9.178 (2012-08-02) + - SVG 'use' tag was fixed for 'circle' and 'ellipse'. + +5.9.177 (2012-08-02) + - An additional control on annotations was fixed. + +5.9.176 (2012-07-25) + - A bug related to stroke width was fixed. + - A problem related to font spacing in HTML was fixed. + +5.9.175 (2012-07-25) + - The problem of missing letter on hyphen break was fixed. + +5.9.174 (2012-07-25) + - The problem of wrong filename when downloading PDF from an Android device was fixed. + - The method setHeaderData() was extended to set text and line color for header (see example n. 1). + - The method setFooterData() was added to set text and line color for footer (see example n. 1). + - The methods setTextShadow() and getTextShadow() were added to set text shadows (see example n. 1). + - The GetCharWidth() method was fixed for negative character spacing. + - A 'none' border mode is now correctly recognized. + - Break on hyphen problem was fixed. + +5.9.173 (2012-07-23) + - Some additional control wher added on barcode methods. + - The option CURLOPT_FOLLOWLOCATION on Image method is now disabled if PHP safe_mode is on or open_basedir is set. + - Method Bookmark() was extended to include X parameter. + - Method setDestination() was extended to include X parameter. + - A problem with Thai language was fixed. + +5.9.172 (2012-07-02) + - A PNG color profile issue was fixed. + +5.9.171 (2012-07-01) + - Some SVG rendering problems were fixed. + +5.9.170 (2012-06-27) + - Bug #3538227 "Numerous errors inserting shared images" was fixed. + +5.9.169 (2012-06-25) + - Some SVG rendering problems were fixed. + +5.9.168 (2012-06-22) + - Thai language rendering was fixed. + +5.9.167 (2012-06-22) + - Thai language rendering was fixed and improved. + - Method isCharDefined() was improved. + - Protected method replaceChar() was added. + - Font "kerning" word was corrected to "tracking". + +5.9.166 (2012-06-21) + - Array to string conversion on file_id creation was fixed. + - Thai language rendering was fixed (thanks to Atsawin Chaowanakritsanakul). + +5.9.165 (2012-06-07) + - Some HTML form related bugs were fixed. + +5.9.164 (2012-06-06) + - A bug introduced on the latest release was fixed. + +5.9.163 (2012-06-05) + - Method getGDgamma() was changed. + - Rendering performances of PNG images with alpha channel were improved. + +5.9.162 (2012-05-11) + - A bug related to long text on TD cells was fixed. + +5.9.161 (2012-05-09) + - A bug on XREF table was fixed (Bug ID: 3525051). + - Deprecated Imagick:clone was replaced. + - Method objclone() was fixed for PHP4. + +5.9.160 (2012-05-03) + - A bug on tcpdf_parser.php was fixed. + +5.9.159 (2012-04-30) + - Barcode classes were updated to fix PNG export Bug (ID: 3522291). + +5.9.158 (2012-04-22) + - Some SVG-related bugs were fixed. + +5.9.157 (2012-04-16) + - Some SVG-related bugs were fixed. + +5.9.156 (2012-04-10) + - Bug item #3515885 "TOC and booklet: left and right page exchanged". + - SetAutoPageBreak(false) now works also in multicolumn mode. + +5.9.155 (2012-04-02) + - Bug item #3512596 "font import problems" was fixed. + - Method addTTFfont() was modified to extract only specified Platform ID and Encoding ID (check the source code documentation). + - All fonts were updated. + - Bug item #3513867 "booklet and setHeaderTemplateAutoreset: header shifted left" was fixed. + - Bug item #3513749 "TCPDF Superscript/Subscript" was fixed. + +5.9.154 (2012-03-29) + - A debug echo was removed. + +5.9.153 (2012-03-28) + - A bug on font conversion was fixed. + - All fonts were updated. + - Method isCharDefined() was added to find if a character is defined on the selected font. + - Method replaceMissingChars() was added to automatically replace missing chars on selected font. + - SetFont() method was fixed. + +5.9.152 (2012-03-23) + - The following overprint methods were added: setOverprint(), getOverprint(). + - Signature of setAlpha() method was changed and method getAlpha() was added. + - stroke-opacity support was added on SVG. + - The following date methods were added: setDocCreationTimestamp(), setDocModificationTimestamp(), getDocCreationTimestamp(), getDocModificationTimestamp(), getFormattedDate(), getTimestamp(). + - Signature of _datestring() method was changed. + - Method getFontBBox() was added. + - Method setPageBoxTypes() was aded. + +5.9.151 (2012-03-22) + - Bug item #3509889 "Transform() distorts PDF" was fixed. + - Precision of real number were extended. + - ComboBox and ListBox methods were fixed. + - Bulgarian language file was added. + - addTOC() method was improved to include bookmark color and font style. + +5.9.150 (2012-03-16) + - A bug related to form fields in PDF/A mode was fixed. + +5.9.149 (2012-02-21) + - Bug item #3489933 "SVG Parser treats tspan like text" was fixed. + +5.9.148 (2012-02-17) + - Bug item #3488600 "Multiple radiobutton sets get first set value" was fixed. + +5.9.147 (2012-02-14) + - A problem with SVG gradients has been fixed. + +5.9.146 (2012-02-12) + - Bug item #3486880 "$filehash undefine error" was fixed. + - The default font is now the one specified at PDF_FONT_NAME_MAIN constant. + +5.9.145 (2012-01-28) + - Japanese language file was added. + - TCPDF license and README.TXT files were updated. + +5.9.144 (2012-01-12) + - HTML output on barcode classes was improved. + +5.9.143 (2012-01-08) + - Bug item #3471057 "setCreator() has no effect" was fixed. + +5.9.142 (2011-12-23) + - Source code documentation was updated. + +5.9.141 (2011-12-14) + - Some minor bugs were fixed. + +5.9.140 (2011-12-13) + - SVG now supports embedded images encoded as base64. + +5.9.139 (2011-12-11) + - Spot color methods were fixed. + +5.9.138 (2011-12-10) + - cropMark() method was improved (check source code documentation). + - Example n. 56 was updated. + - Bug item #3452390 "Check Box still not ticked when set to true" was fixed. + +5.9.137 (2011-12-01) + - Bug item #3447005 "Background color and border of Form Elements is printed" was fixed. + - Color support for Form elements was improved. + +5.9.136 (2011-11-27) + - Bug item #3443387 "SetMargins with keep option does not work for top margin" was fixed. + +5.9.135 (2011-11-04) + - Bug item #3433406 "Double keywords in description" was fixed. + +5.9.134 (2011-10-29) + - The default value for $defcol parameter on convertHTMLColorToDec() method was fixed. + - Deafult HTTP headers were changed to avoid browser caching. + - Some deprecated syntax were replaced. + +5.9.133 (2011-10-26) + - Bug item #3428446 "copyPage method not working when diskcache enabled" was fixed. + +5.9.132 (2011-10-20) + - Bug item #3426167 "bug in function convertHTMLColorToDec()" was fixed. + +5.9.131 (2011-10-13) + - An error message was added to ImagePngAlpha() method. + +5.9.130 (2011-10-12) + - Now you can set image data strings on HTML img tag by encoding the image binary data in this way: $imgsrc = '@'.base64_encode($imgdata); + +5.9.129 (2011-10-07) + - Core fonts metrics was fixed (replace all helvetica and times php files on fonts folder). + - Form fields support was improved and some problems were fixed (check the example n. 14). + - Bug item #3420249 "Issue with booklet and MultiCell" was fixed. + +5.9.128 (2011-10-06) + - Method addTTFfont() was improved (check the source code documentation). + - Method setExtraXMP() to set custom XMP data was added. + +5.9.127 (2011-10-04) + - Readonly mode option was activated for radiobuttons. + +5.9.126 (2011-10-03) + - Bug item #3417989 "Graphics State operator in form XObject fails to render" was fixed. + - Xobjects problems with transparency, gradients and spot colors were fixed. + +5.9.125 (2011-10-03) + - Support for 8-digit CMYK hexadecimal color representation was added (to be used with XHTML and SVG). + - Spot colors support was improved (check example n. 37). + - Color methods were improved. + +5.9.124 (2011-10-02) + - Core fonts were updated. + +5.9.123 (2011-10-02) + - The method addTTFfont() wad added to automatically convert TTF fonts (check the new fonts guide at http://www.tcpdf.org). + - Old font utils were removed. + - All fonts were updated and new arabic fonts were added (almohanad were removed and replaced by aefurat and aealarabiya). + - The file unicode_data.php was updated. + - The file encodings_maps.php was added. + - PDF/A files are now compressed to save space. + - XHTML input form fields now support text-alignment attribute. + +5.9.122 (2011-09-29) + - PDF/A-1b compliance was improved to pass some online testing. + +5.9.121 (2011-09-28) + - This version includes support for PDF/A-1b format (the class constructor signature was changed - see example n. 65). + - Method setSRGBmode() was added to force sRGB_IEC61966-2.1 black scaled ICC color profile for the whole document (file sRGB.icc was added). + - 14 new fonts were added to allow embedding core fonts (for PDF/A compliance). + - Font utils were fixed. + +5.9.120 (2011-09-22) + - This version includes a fix for _getTrueTypeFontSubset() method. + +5.9.119 (2011-09-19) + - This version includes a fix for extra page numbering on TOC. + +5.9.118 (2011-09-17) + - This version includes some changes that allows you to add a bookmark for a page that do not exist. + +5.9.117 (2011-09-15) + - TCPDFBarcode and TCPDF2DBarcode classes were extended to include a method for exporting barcodes as PNG images. + +5.9.116 (2011-09-14) + - Datamatrix class was improved and documentation was fixed. + +5.9.115 (2011-09-13) + - Datamatrix ECC200 barcode support was added (a new datamatrix.php file was added) - check example n. 50. + - getBarcodeHTML() method was added on TCPDFBarcode and TCPDF2DBarcode classes to return an HTML representation of the barcode. + - cURL options on Image() method were improved. + - A bug on write2DBarcode() was fixed. + +5.9.114 (2011-09-04) + - A bug related to column position was fixed. + +5.9.113 (2011-08-24) + - This release include two new experimental files for parsing an existing PDF document (the integration with TCPDF is under development). + +5.9.112 (2011-08-18) + - A newline character was added after the 'trailer' keyword for compatibility with some parsers. + - Support for layers was improved. + +5.9.111 (2011-08-17) + - Barcode CODE 39 default gap was restored at 1. + +5.9.110 (2011-08-17) + - Barcode CODE 39 was fixed. + +5.9.109 (2011-08-12) + - Method getNumLines() was fixed. + - A bug related to page break in multi-column mode was fixed. + +5.9.108 (2011-08-09) + - A bug on PHP4 version was fixed. + +5.9.107 (2011-08-08) + - This version includes a minor bugfix. + +5.9.106 (2011-08-04) + - This version includes transparency groups: check the new parameter on startTemplate() method and example 62. + +5.9.105 (2011-08-04) + - Bug item #3386153 "Check Box not ticked when set to true" was fixed. + +5.9.104 (2011-08-01) + - Bug item #3383698 "imagemagick, resize and dpi" was fixed. + +5.9.103 (2011-07-16) + - Alignment of XHTML lines was improved. + - Spell of the "length" word was fixed. + +5.9.102 (2011-07-13) + - Methods startLayer() and endLayer() were added to support arbitrary PDF layers. + - Some improvements/fixes for images were added (thanks to Brendan Abbott). + +5.9.101 (2011-07-07) + - Support for JPEG and PNG ICC Color Profiles was added. + - Method addEmptySignatureAppearance() was added to add empty signature fields (see example n. 52). + - Bug item #3354332 "Strange line spacing with reduced font-size in writeHTML" was fixed. + +5.9.100 (2011-06-29) + - An SVG bug has been fixed. + +5.9.099 (2011-06-27) + - Bug item #3335045 "Font freesans seems somehow corrupted in footer" was fixed. + +5.9.098 (2011-06-23) + - The Named Destination feature was fixed. + +5.9.097 (2011-06-23) + - The method setHtmlVSpace() now can be used also for tags: div, li, br, dt and dd. + - The Named Destination feature was added (check the example n. 15) - thanks to Christian Deligant. + +5.9.096 (2011-06-19) + - Bug item #3322234 "Surrogate pairs codes in arrUTF8ToUTF16BE" was fixed. + +5.9.095 (2011-06-18) + - Numbers alignment for Table-Of-Content methods was improved and fixed. + - Font subsetting was fixed to include all parts of composite fonts. + +5.9.094 (2011-06-17) + - Bug item #3317898 "Page Group numbering broken in 5.9.093" was fixed. + +5.9.093 (2011-06-16) + - Method setStartingPageNumber() was added to set starting page number (for automatic page numbering). + +5.9.092 (2011-06-15) + - Method _putpages() was improved. + - Bug item #3316678 "Memory overflow when use Rotate and SetAutoPageBreak" was fixed. + - Right alignment of page numbers was improved. + +5.9.090 (2011-06-14) + - Methods AliasNbPages() and AliasNumPage() were re-added as deprecated for backward compatibility. + +5.9.089 (2011-06-13) + - Example n. 8 was updated. + - Method sendOutputData() was changed to remove default compression (it was incompatible with some server settings). + - Bugs related to page group numbers were fixed. + - Method copyPage() was fixed. + - Method Image() was improved to include support for alternative and external images. + +5.9.088 (2011-06-01) + - Method getAutoPageBreak() was added (see example n. 51). + - Example n. 51 (full page background) was updated. + +5.9.087 (2011-06-01) + - Method sendOutputData() was improved to include deflate encoding. + - Barcode classes on PHP 4 version were fixed. + +5.9.086 (2011-05-31) + - Font files were updated (the ones on the previous release were broken). + - The script fonts/utils/makeallttffonts.php was updated and fixed. + - Output() method was improved to use compression when available. + +5.9.085 (2011-05-31) + - TCPDFBarcode class (barcodes.php) now includes getBarcodeSVG() and getBarcodeSVGcode() methods to get SVG image representation of the barcode. + - TCPDF2DBarcode class (2dbarcodes.php) now includes getBarcodeSVG() and getBarcodeSVGcode() methods to get SVG image representation of the barcode. + +5.9.084 (2011-05-29) + - Font files were updated. + - The file fonts/utils/makeallttffonts.php was updated. + - Bug item# 3308774 "Problems with font subsetting" was fixed. + +5.9.083 (2011-05-24) + - Bug item #3308387 "line height & SetCellHeightRatio" was fixed. + +5.9.082 (2011-05-22) + - Bug item #3305592 "Setting fill color <> text color breaks text clipping" was fixed. + +5.9.081 (2011-05-18) + - Method resetHeaderTemplate() was added to reset the xobject template used by Header() method. + - Method setHeaderTemplateAutoreset() was added to automatically reset the xobject template used by Header() method at each page. + +5.9.080 (2011-05-17) + - A problem related to file path calculation for images was fixed. + - A problem related to unsuppressed getimagesize() error was fixed. + +5.9.079 (2011-05-16) + - Footer() method was changed to use C128 barcode as default (instead of the previous C128B). + +5.9.078 (2011-05-12) + - Bug item #3300878 "wrong rendering for html bullet list in some case" was fixed. + - Bug item #3301017 "Emphasized vs. font-weight" was fixed. + - Barcode Code 128 was improved to include AUTO mode (automatically switch between A, B and C modes). + - Examples n. 27 and 49 were updated. + +5.9.077 (2011-05-07) + - Bug item #3298591 "error code93" was fixed. + - SetLineStyle() function was improved. + +5.9.076 (2011-05-06) + - Bug item #3298264 "codebar 93 error" was fixed. + +5.9.075 (2011-05-02) + - Table header alignment when using WriteHTMLCell() or MultiCell() was fixed. + +5.9.074 (2011-04-28) + - Bug item #3294306 "CSS classes not work in table section" was fixed. + +5.9.073 (2011-04-27) + - A bug related to character entities on HTML cells was fixed. + +5.9.072 (2011-04-26) + - Method resetColumns() was added to remove multiple columns and reset page margins (example n. 10 was updated). + +5.9.071 (2011-04-19) + - Bug #3288574 "
    trouble" was fixed. + +5.9.069 (2011-04-19) + - Bug #3288763 "HTML-Table: non-breaking table rows: Bug" was fixed. + +5.9.068 (2011-04-15) + - Bookmark, addTOC and addHTMLTOC methods were improved to include font style and color (Examples 15, 49 and 59 were updated). + - Default $_SERVER['DOCUMENT_ROOT'] value on tcpdf_config.php file was changed. + +5.9.067 (2011-04-10) + - Performances were drastically improved (PDF documents are now created more quickly). + +5.9.066 (2011-04-09) + - A bug related to digital signature + encryption was fixed. + - A bug related to encryption + xobject templates was fixed. + +5.9.065 (2011-04-08) + - Bug item #3280512 "Text encoding iso-8859-2 crashes" was fixed. + +5.9.064 (2011-04-05) + - A bug related to character entities on HTML cells was fixed. + +5.9.063 (2011-04-01) + - Bug item #3267235 "WriteHTML() and image that doesn't fit on the page" was fixed. + +5.9.062 (2011-03-23) + - Bug item #3232650 "Using Write if there are pageRegions active creates error" was fixed. + - Bug item #3221891 "text input borders" was fixed. + - Bug item #3228958 "Adobe Reader 9.4.2 crash" was fixed. + +5.9.061 (2011-03-15) + - Bug item #3213488 "wrong function call in function Write" was fixed. + - Bug item #3203007 "list element with black background" was fixed. + +5.9.060 (2011-03-08) + - addTOC() method was fixed for text alignment problems. + +5.9.059 (2011-02-27) + - Default Header() method was improved to reduce document size. + +5.9.058 (2011-02-25) + - Image() method was improved to cache images with transparency layers (thanks to Korneliusz Jarzębski for reporting this problem). + +5.9.057 (2011-02-24) + - A problem with image caching system was fixed (thanks to Korneliusz Jarzębski for reporting this problem). + +5.9.056 (2011-02-22) + - A bug on fixHTMLCode() method was fixed. + - Automatic line break for HTML was fixed. + +5.9.055 (2011-02-17) + - Another bug related to HTML table page break was fixed. + +5.9.054 (2011-02-16) + - A bug related to HTML table page break was fixed. + +5.9.053 (2011-02-16) + - Support for HTML attribute display="none" was added. + +5.9.052 (2011-02-15) + - A bug related to HTML automatic newlines was fixed. + +5.9.051 (2011-02-12) + - "Commas at beginning of new lines" problem was fixed. + +5.9.050 (2011-02-11) + - Bug #3177606 "SVG Bar chart error" was fixed. + +5.9.049 (2011-02-03) + - Bug #3170777 "TCPDF creates a new page after a single line in writeHTML" was fixed. + +5.9.048 (2011-02-02) + - No changes. Just released to override previous release that was not uploaded correctly. + +5.9.047 (2011-01-28) + - Bug #3167115 "PDF error in (example 48)" was fixed (was introduced in 5.8.046). + +5.9.046 (2011-01-18) + - PDF view/print layers are now automatically turned off if not used (see setVisibility() method). + +5.9.045 (2011-01-17) + - HTML list support were improved. + +5.9.044 (2011-01-15) + - Bug #3158422 "writeHTMLCell Loop" was fixed. + - Some HTML image alignment problems were fixed. + +5.9.043 (2011-01-14) + - Bug #3158178 "PHP Notice" was fixed. + - Bug #3158193 "Endless loop in writeHTML" was fixed. + - Bug #3157764 "SVG Pie chart incorrectly rendered2". + +5.9.042 (2011-01-14) + - Some problems of the PHP4 version were fixed. + +5.9.041 (2011-01-13) + - A problem with SVG elliptical arc path was fixed (ref. bug #3156574). + - A problem related to font weight on HTML table headers was fixed. + +5.9.040 (2011-01-12) + - A bug related to empty pages after table was fixed. + +5.9.039 (2011-01-12) + - Bug item #3155759 "openssl_random_pseudo_bytes() slow under Windows" was fixed. + +5.9.038 (2011-01-11) + - Minor bugs were fixed. + +5.9.037 (2011-01-09) + - An alignment problem for HTML texts was fixed. + +5.9.036 (2011-01-07) + - A bug related to HTML tables on header was fixed. + +5.9.035 (2011-01-03) + - A problem related to HTML table border alignment was fixed. + - Bug #2996366 "FastCGI and Header Problems" was fixed. + +5.9.034 (2010-12-19) + - DejaVu and GNU Free fonts were updated. + +5.9.033 (2010-12-18) + - Source code documetnation was improved. + +5.9.032 (2010-12-18) + - Default font stretching and spacing values are now inherited by HTML methods. + +5.9.031 (2010-12-16) + - Source code documentation errors were fixed. + +5.9.030 (2010-12-16) + - Several source code documentation errors were fixed. + - Source code style was changed for Doxygen. + - Source code documentation was moved online to http://www.tcpdf.org + +5.9.029 (2010-12-04) + - The $fitbox parameter on Image() method was extended to specify image alignment inside the box (check the example n. 9). + +5.9.028 (2010-12-03) + - Font utils makefont.php and makeallttffonts.php were updated. + +5.9.027 (2010-12-01) + - Spot Colors are now better integrated with HTML mode. + - Method SetDocInfoUnicode() was added to turn on/off Unicode mode for document information dictionary (meta tags) - check the example n. 19. + +5.9.026 (2010-12-01) + - A problem with mixed text directions on HTML was fixed. + +5.9.025 (2010-12-01) + - The AddSpotColor() now automatically fills the spotcolor array (defined on spotcolors.php file). + +5.9.024 (2010-11-30) + - Bug item #3123612 "SVG not use gradientTransform in percentage mode" was fixed. + +5.9.023 (2010-11-25) + - A potential bug on SVG transcoder was fixed. + +5.9.022 (2010-11-21) + - Method ImageEPS includes support for EPS/AI Spot colors. + - Method ImageEPS includes a new parameter $fixoutvals to remove values outside the bounding box. + +5.9.021 (2010-11-20) + - Support for custom bullet points images was added (check the example n.6) + - Examples n. 6 and 61 were update (check the comments inside). + +5.9.020 (2010-11-19) + - A problem related to additional page when using multicolumn mode was fixed. + +5.9.019 (2010-11-19) + - An SVG bug was fixed. + - ImageSVG() and ImageEPS() methods now accepts image data streams (put the string on the $file parameter preceded by '@' character). + - Option 'E' was added to the $dest parameter of Output() method to return the document as base64 mime multi-part email attachment (RFC 2045). + +5.9.018 (2010-11-19) + - An SVG bug was fixed. + +5.9.017 (2010-11-16) + - Tagline color was set to transparent. + - The method fixHTMLCode() was added to automatically clean up HTML code (requires HTML Tidy). + +5.9.016 (2010-11-16) + - Bug item #3109705 "list item page break hanging bullet" was fixed. + +5.9.015 (2010-11-16) + - Bug item affecting QRCode was fixed. + - Some bugs affecting HTML lists were fixed. + - ImageSVG() and fitBlock() methods were improved to handle some SVG problems. + - Some problems with PHP4 compatibility were fixed. + +5.9.014 (2010-11-15) + - Bug item #3109464 "QRCode error" was fixed. + +5.9.013 (2010-11-15) + - Bug item #3109257 "Problem with interlaced GIFs and PNGs" was fixed. + - Image function now accepts image data streams (check example n. 9). + +5.9.012 (2010-11-12) + - Method getTCPDFVersion() was added. + - PDF_PRODUCER constant was removed. + - Method convertHTMLColorToDec() was improved. + - HTML colors now support spot color names defined on the new spotcolors.php file. + - The default method Header() was improved to support SVG and EPS/AI images. + - A bug on SVG importer was fixed. + +5.9.011 (2010-11-02) + - Bug item #3101486 "Bug Fix for image loading" was fixed. + +5.9.010 (2010-10-27) + - Support for CSS properties 'border-spacing' and 'padding' for tables were added. + - Several language files were added. + +5.9.009 (2010-10-21) + - HTML text alignment was improved to include the case of RTL text on LTR direction and LTR text on RTL direction. + +5.9.008 (2010-10-21) + - Bug item #3091502 "Bookmark oddity" was fixed. + - HTML internal links now accepts page number and Y position. + - The method write1DBarcode() was improved to accept separate horizontal and vertical padding (see example n. 27). + +5.9.007 (2010-10-20) + - Method adjustCellPadding() was fixed to handle bad input. + +5.9.006 (2010-10-19) + - Support for AES 256 bit encryption was added (see example n. 16). + - Method getNumLines() was fixed for the empty string case. + +5.9.005 (2010-10-18) + - Method addPageRegion() was changed to accept regions starting exactly from the top of the page. + +5.9.004 (2010-10-18) + - A bug related to annotations was fixed. + - The file unicode_data.php was canged to encapsulate all data in a class. + - The file htmlcolors.php was changed to remove the global variable. + +5.9.003 (2010-10-15) + - Support for no-write page regions was added. Check the example n. 64 and new methods setPageRegions(), addPageRegion(), getPageRegions(), removePageRegion(). + - A bug on Right-To-Left alignment was fixed. + +5.9.002 (2010-10-08) + - Cell method was improved to preserve the font stretching and spacing values when using the $stretch parameter (see example n. 4). + +5.9.001 (2010-10-07) + - The problem of blank page for nobr table higher than a single page was fixed. + +5.9.000 (2010-10-06) + - Support for text stretching and spacing (tracking) was added, see example n. 63 and methods setFontStretching(), getFontStretching(), setFontSpacing(), getFontSpacing(). + - Support for CSS properties 'font-stretch' and 'letter-spacing' was added (see example n. 63). + - The cMargin state was replaced by cell_padding array that can be set/get using setCellPadding() and getCellPadding() methods. + - Methods getCellPaddings() and setCellPaddings() were added to fine tune cell paddings (see example n. 5). + - Methods getCellMargins() and setCellMargins() were added to fine tune cell margins (see example n. 5). + - Method write1DBarcode() was improved to permit custom labels (see example n. 27). + - Method ImagePngAlpha() now includes support for ImageMagick to improve performances. + - XObject Template support was extended to support Multicell(), writeHTML() and writeHTMLCell() methods. + - The signature of getNumLines() and getStringHeight() methods is changed. + - Example n. 57 was updated. + +// ------------------------------------------------------------------- + +5.8.034 (2010-09-27) + - A bug related to SetFont on XObject templates was fixed. + +5.8.033 (2010-09-25) + - A problem with Footer() and multiple columns was fixed. + +5.8.032 (2010-09-22) + - Bug #3073165 "Issues with changes to addHTMLVertSpace()" was fixed. + +5.8.031 (2010-09-20) + - Bug #3071961 "Spaces in HTML" was fixed. + +5.8.030 (2010-09-17) + - SVG support was improved and some bugs were fixed. + +5.8.029 (2010-09-16) + - A problem with HTML borders was fixed. + +5.8.028 (2010-09-13) + - Bug #3065224 "mcrypt_create_iv error on TCPDF 5.8.027 on PHP 5.3.2" was fixed. + +5.8.027 (2010-09-13) + - Bug #3065118 "mcrypt_decrypt error on TCPDF 5.8.026 on PHP 5.3.2" was fixed. + +5.8.026 (2010-09-13) + - A bug on addHTMLTOC() method was fixed. Note: be sure that the #TOC_PAGE_NUMBER# template has enough width to be printed correctly. + +5.8.025 (2010-09-09) + - Bug #3062692 "Textarea inside a table" was fixed. + +5.8.024 (2010-09-08) + - Bug #3062005 "Undefined variable: ann_obj_id" was fixed. + +5.8.023 (2010-08-31) + - Forms bug added on version 5.8.019 was fixed. + +5.8.022 (2010-08-31) + - Bug #3056632 "SVG rendered vertically flipped" was fixed. + +5.8.021 (2010-08-30) + - A new CID-0 'chinese' font was added for traditional Chinese. + - Bug #3054287 'Inner tags are ignored due to "align" attribute' was fixed. + +5.8.020 (2010-08-26) + - CSS "catch-all" class selector is now supported. + +5.8.019 (2010-08-26) + - XObject Templates now includes support for links and annotations. + - A problem related to link alignment on cell was fixed. + - A problem related to SVG styles was fixed. + +5.8.018 (2010-08-25) + - Method getNumberOfColumns() was added. + - A problem related to table header was fixed. + - Method getSVGTransformMatrix() was fixed to apply SVG transformations in the correct order. + - SVG support was improved and several bugs were fixed. + +5.8.017 (2010-08-25) + - This version includes support for XObject Templates (see the new example n. 62). + - Methods starttemplate(), endTemplate() and printTemplate() were added (see the new example n. 62). + +5.8.016 (2010-08-24) + - Alignment problem on write2DBarcode was fixed. + +5.8.015 (2010-08-24) + - A problem arose with the latest bugfix was fixed. + +5.8.014 (2010-08-23) + - Method _getxobjectdict() was added for better compatibility with external extensions. + - A bug related to radiobuttons was fixed. + - Bug #3051509 "new line after punctuation marks" was fixed (partially). + +5.8.013 (2010-08-23) + - SVG support for 'direction' property was added. + - A problem on default width calculation for linear barcodes was fixed. + - New option was added to write1DBarcode() method to improve alignments (see example n. 27). + - Bug #3050896 "Nested HTML tables: styles are not applied" was fixed. + - Method _putresourcedict() was improved to include external XObject templates. + +5.8.012 (2010-08-22) + - Support for SVG 'text-anchor' property was added. + +5.8.011 (2010-08-21) + - Method write1DBarcode() was improved to be backward compatible (check the new example n. 27). + - Support for CSS width and height properties on images were added. + +5.8.010 (2010-08-20) + - Documentation of unhtmlentities() was fixed. + - The 'fitwidth' option was added and border color problem was fixed on write1DBarcode() method (check the example n. 27). + +5.8.009 (2010-08-20) + - Internal object numbering was improved. + - Some errors in object encryption were fixed. + +5.8.008 (2010-08-19) + - Method write1DBarcode() was changed, check the example n. 27. + - Method Footer() was changed to account for barcode changes. + - Automatic calculation of K_PATH_URL constant was fixed on configuration file. + - Method setEqualColumns() was fixed for $width=0 case. + - Method AddTOC() was fixed for multipage and multicolumn modes. + - Better support for SVG "font-family" property. + - A problem on default Page Zoom mode was fixed. + - Several Annotation bugs were fixed. + +5.8.007 (2010-08-18) + - A bug affecting HTML tables was fixed. + - Bug #3047500 "SVG not rendering paths properly" was fixed. + +5.8.006 (2010-08-17) + - A bug affecting HTML table nesting was fixed. + +5.8.005 (2010-08-17) + - A bug affecting the HTML 'select' tag in certain conditions was fixed. + +5.8.004 (2010-08-17) + - Better support for HTML "font-family" property. + - A bug related to HTML multicolumn was fixed. + +5.8.003 (2010-08-16) + - Better support for HTML "font-family" property. + +5.8.002 (2010-08-14) + - HTML alignments were improved + - IMPORTANT: Default regular expression to find spaces has been changed to exclude the non-breaking-space (160 DEC- A0 HEX). If you are using setSpacesRE() method, please read the new documentation. + - Example n. 1 was updated. + +5.8.001 (2010-08-12) + - Bug #3043650 "subsetchars incorrectly cached" was fixed. + +5.8.000 (2010-08-11) + - A control to avoid bookmarking page 0 was added. + - addTOC() method now includes support for multicolumn mode. + - Support for tables in multicolumn mode was improved. + - Example n.10 was updated. + - All trimming functions were replaced with stringLeftTrim(), stringRightTrim() and stringTrim(). + - HTML alignments were improved. + +------------------------------------------------------------ + +5.7.003 (2010-08-08) + - Bug #3041263 "php source ending is bad" was fixed (all PHP files were updated, including fonts). + +5.7.002 (2010-08-06) + - Methods copyPage(), movePage() and deletePage() were changed to account for internal markings. + +5.7.001 (2010-08-05) + - Bug #3040105 "Broken PDF when using TOC (example 45)" was fixed. + +5.7.000 (2010-08-03) + - CSS borders are now supported for HTML tables and other block tags (see example n. 61); + - Cell borders were improved (see example n. 57); + - Minor bugs were fixed. + +------------------------------------------------------------ + +5.6.000 (2010-07-31) + - A bug with object IDs was fixes. + - Performances were improved. + +------------------------------------------------------------ + +5.5.015 (2010-07-29) + - Automatic fix for unclosed self-closing tag. + - Support for deprecated 's' and 'strike' tags was added. + - Empty list items problem was fixed. + +5.5.014 (2010-07-15) + - Support for external images was improved. + +5.5.013 (2010-07-14) + - Bug #3029338 "FI and FO output destination filename bug" was fixed (previous fix was wrong). + +5.5.012 (2010-07-14) + - Bug #3029310 "Font baseline inconsistencies with line-height and font-size" was fixed. + - Bug #3029338 "FI and FO output destination filename bug" was fixed. + +5.5.011 (2010-07-09) + - Support for multiple CSS classes was added. + - The method getColumn() was added to return the current column number. + - Some regular Expressions were fixed to be more compatible with UTF-8. + +5.5.010 (2010-07-06) + - Bug item #3025772 "Borders in all image functions are still flawed" was fixed. + +5.5.009 (2010-07-05) + - A problem related to last page footer was fixed. + - Image alignments and fit-on-page features were improved. + +5.5.008 (2010-07-02) + - A problem on table header alignment in booklet mode was fixed. + - Default graphic vars are now applied for setHeader(); + +5.5.007 (2010-07-02) + - Attribute "readonly" was added to input and textarea form fields. + - Vertical alignment feature was added on MultiCell() method only for simple text mode (see example n. 5). + - Text-Fit feature was added on MultiCell() method only for simple text mode (see example n. 5). + +5.5.006 (2010-06-29) + - getStringHeight() and getNumLines() methods were fixed. + +5.5.005 (2010-06-28) + - Bug #3022170 "getFontDescent() does not return correct descent value" was fixed. + - Some problems with multicolumn mode were fixed. + +5.5.004 (2010-06-27) + - Bug #3021803 "SVG Border" was fixed. + +5.5.003 (2010-06-26) + - On Write() method, blank lines at the beginning of a page or column are now automatically removed. + +5.5.002 (2010-06-24) + - ToUnicode Identity-H name was replaced with a full CMap (to avoid preflight syntax error). + - Bug #3020638 "str_split() not available in php4" was fixed. + - Bug #3020665 "file_get_contents() too many parameters for php4" was fixed. + +5.5.001 (2010-06-23) + - A problem on image streams was fixed. + +5.5.000 (2010-06-22) + - Several PDF syntax errors (and related bugs) were fixed. + - Bug #3019090 "/Length values are wrong if AES encryption is used" was fixed. + +------------------------------------------------------------ + +5.4.003 (2010-06-19) + - A problem related to page boxes was fixed. + - Bug #3016920 "Font subsetting issues when editing pdf" was partially fixed (Note that flattening transparency layers is currently incompatible with TrueTypeUnicode fonts). + +5.4.002 (2010-06-18) + - A problem related with setProtection() method was fixed. + +5.4.001 (2010-06-18) + - A problem related with setProtection() method was fixed. + +5.4.000 (2010-06-18) + - The method setSignatureAppearance() was added, check the example n. 52. + - Several problems related to font subsetting were fixed. + +------------------------------------------------------------ + +5.3.010 (2010-06-15) + - Previous release was corrupted. + +5.3.009 (2010-06-15) + - Bug #3015934 "Bullets don't display correctly" was fixed. + +5.3.008 (2010-06-13) + - This version fixes some problems of SVG rasterization. + +5.3.007 (2010-06-13) + - This version improves SVG support. + +5.3.006 (2010-06-10) + - This version includes a change in uniqid calls for backward compatibility with PHP4. + +5.3.005 (2010-06-09) + - The method getPageSizeFromFormat() was changed to include all standard page formats (includes 281 page formats + variation). + +5.3.004 (2010-06-08) + - Bug #3013291 "HTML table cell width" was fixed. + - Bug #3013294 "HTML table cell alignment" was fixed. + - The columns widths of HTML tables are now inherited from the first row. + +5.3.003 (2010-06-08) + - Bug #3013102 "HTML table header misaligned after page break" was fixed. + +5.3.002 (2010-06-07) + - The methods setFontSubsetting() and setFontSubsetting() were added to control the default font subsetting mode (see example n. 1). + - Bug #3012596 "Whitespace should not appeared after use Thai top characters" was fixed. + - Examples n. 1, 14, and 54 were updated. + +5.3.001 (2010-06-06) + - Barcode PDF417 was improved to support Macro Code Blocks (see example n. 50). + +5.3.000 (2010-06-05) + - License was changed to GNU-LGPLv3 (see the updated LICENSE.TXT file). + - PDF417 barcode support was added (check the example n. 50). + - The method write2DBarcode() was improved (some parameters were added and other changed - check example n. 50). + +------------------------------------------------------------ + +5.2.000 (2010-06-02) + - IMPORTANT: Support for font subsetting was added by default to reduce the size of documents using large unicode font files. + If you embed the whole font in the PDF, the person on the other end can make changes to it even if he didn't have your font. + If you subset the font, file size of the PDF will be smaller but the person who receives your PDF would need to have your same font in order to make changes to your PDF. + - The signature of the SetFont() and AddFont() methods were changed to include the font subsetting option (subsetting is applied by default). + - Examples 14 and 54 were updated. + +------------------------------------------------------------ + +5.1.002 (2010-05-27) + - Bug #3007818 "SetAutoPageBreak fails with MultiCell" was fixed. + - A bug related to MultiCell() minimun height was fixed. + +5.1.001 (2010-05-26) + - The problem of blank page after table was fixed. + +5.1.000 (2010-05-25) + - This version includes support for CSS (Cascading Style Sheets) (see example n. 61). + - The convertHTMLColorToDec() method was improved. + +------------------------------------------------------------ + +5.0.014 (2010-05-21) + - A problem on color and style of HTML links was fixed. + - A bug relative to gradients was fixed. + - The getStringHeight() method was added and getNumLines() method was improved. + - All examples were updated. + +5.0.013 (2010-05-19) + - A bug related to page-breaks and table cells was fixed. + +5.0.012 (2010-05-19) + - Page orientation bug was fixed. + - The access to method setPageFormat() was changed to 'protected' because it is not intended to be directly called. + +5.0.011 (2010-05-19) + - Page orientation bug was fixed. + - Bug #3003966 "Multiple columns and nested lists" was fixed. + +5.0.010 (2010-05-17) + - The methods setPageFormat(), setPageOrientation() and related methods were extended to include page boxes, page rotations and page transitions. + - The method setPageBoxes() was added to set page boundaries (MediaBox, CropBox, BleedBox, TrimBox, ArtBox); + - A bug relative to underline, overline and linethrough was fixed. + +5.0.009 (2010-05-16) + - Bug #3002381 "Multiple columns and nested lists" was fixed. + +5.0.008 (2010-05-15) + - Bug "Columns WriteHTML and Justification" was fixed. + +5.0.007 (2010-05-14) + - Bug #3001347 "Bug when using WriteHTML with setEqualColumns()" was fixed. + - Bug #3001505 "problem with sup and sub tags at the beginning of a line" was fixed. + +5.0.006 (2010-05-13) + - Length of hr tag was fixed. + - An error on 2d barcode method was fixed. + +5.0.005 (2010-05-12) + - WARNING: The logic of permissions on the SetProtection() method has been inverted and extended (see example 16). Now you have to specify the features you want to block. + - SetProtection() method was extended to support RSA and AES 128 encryption and public-keys (see example 16). + - Bug #2999489 "setEqualColumns() and TOC uses wrong columns" was fixed (see the example 10). + +5.0.004 (2010-05-10) + - HTML line alignment when using sub and sup tags was fixed. + +5.0.003 (2010-05-07) + - Horizontal alignment was fixed for images and barcodes. Now the X coordinate is always relative to the left margin. Use GetAbsX() instead of GetX() to get the X relative to left margin. + - Header() method was changed to account for new image alignment rules. + +5.0.002 (2010-05-06) + - Bookmark() and related methods were fixed to accept HTML code. + - A problem on HTML links was fixed. + +5.0.001 (2010-05-06) + - Protected method _putstream was re-added for backward compatibility. + - The following method were added to display HTML Table Of Content (see example n. 59): + addTOCPage(), endTOCPage(), addHTMLTOC(). + +5.0.000 (2010-05-05) + - Method ImageSVG() was added to embedd SVG images (see example n. 58). Note that not all SVG images are supported. + - Method setRasterizeVectorImages() was added to enable/disable rasterization for vector images via ImageMagick library. + - Method RoundedRectXY() was added. + - Method PieSectorXY() was added. + - Gradient() method is now public and support new features. + - Shading to transparency is now supported. + - Image alignments were fixed. + - Support for dynamic images were improved. + - PDF_IMAGE_SCALE_RATIO has been changed to 1.25 for better compatibility with SVG. + - RAW and RAW2 modes were added to 2D Barcodes (see example n. 50). + - Automatic padding feature was added on barcodes (see examples n. 27 and 50). + - Bug #2995003 "Reproduced thead bug" was fixed. + - The Output() method now accepts FI and FD destinations to save the document on server before sending it to the client. + - Ellipse() method was improved and fixed (see page 2 of example n. 12). + +------------------------------------------------------------ + +4.9.018 (2010-04-21) + - Bug item #2990356 "Current font size not respected with more than two HTML

    " was fixed. + +4.9.017 (2010-04-21) + - Bug item #2990224 "Different behaviour for equivalent HTML strings" was fixed. + - Bug item #2990314 "Dash is not appearing with SHY character" was fixed. + +4.9.016 (2010-04-20) + - An error on htmlcolors.php was fixed. + - getImageFileType() method was improved. + - GIF images with transparency are now better supported. + - Automatic page orientation was improved. + +4.9.015 (2010-04-20) + - A new method copyPage() was added to clone pages (see example n. 44). + - Support for text overline was added. + - Underline and linethrough methods were fixed. + - Bug #2989058 "SHY character causes unnecessary word-wrapping" was fixed. + +4.9.014 (2010-04-18) + - Bug item #2988845 was fixed. + +4.9.013 (2010-04-15) + - Image() and ImageEPS() methods were fixed and improved; $fitonpage parameter was added. + +4.9.012 (2010-04-12) + - The hyphenateText() method was added to automatically hyphenate text (see example n. 46). + +4.9.011 (2010-04-07) + - Vertical alignments for Cell() method were improved (see example n. 57). + +4.9.010 (2010-04-06) + - Signature of Cell() method now includes new parameters for vertical alignment (see example n. 57). + - Text() method was extended to include all Cell() parameters. + - HTML line alignment procedure was changed to fix some bugs. + +4.9.009 (2010-04-05) + - Text() method was fixed for backward compatibility. + +4.9.008 (2010-04-03) + - Additional line space after table header was removed. + - Support for HTML lists in multicolumn mode was added. + - The method setTextRenderingMode() was added to set text rendering modes (see the example n. 26). + - The following HTML attributes were added to set text rendering modes (see the example n. 26): stroke, strokecolor, fill. + +4.9.007 (2010-04-03) + - Font Descent computation was fixed (patch #2981441). + +4.9.006 (2010-04-02) + - The constant K_TCPDF_CALLS_IN_HTML was added on configuration file to enable/disable the ability to call TCPDF methods in HTML. + - The usage of tcpdf tag in HTML mode was changed to remove the possible security flaw offered by the eval() function (thanks to Matthias Hecker for spotting this security problem). See the new example n. 49 for further information. + +4.9.005 (2010-04-01) + - Bug# 2980354 "Wrong File attachment description with security" was fixed. + - Several problems with HTML line alignment were fixed. + - The constant K_THAI_TOPCHAR was added on configuration file to enable/disable the special procedure used to avoid the overlappind of symbols on Thai language. + - A problem with font name directory was fixed. + - A bug on _destroy() method was fixed. + +4.9.004 (2010-03-31) + - Patch #979681 "GetCharWidth - default character width" was applied (bugfix). + +4.9.003 (2010-03-30) + - Problem of first
    on multiple columns was fixed. + - HTML line alignment was fixed. + - A QR-code bug was fixed. + +4.9.002 (2010-03-29) + - Patch #2978349 "$ignore_min_height is ignored in function Cell()" was applied. + - Bug #2978607 "2D Barcodes are wrong" was fixed. + - A problem with HTML block tags was fixed. + - Artificial italic for CID-0 fonts was added. + - Several multicolumn bugs were fixed. + - Support for HTML tables on multicolumn was added. + +4.9.001 (2010-03-28) + - QR Code minor bug was fixed. + - Multicolumn mode was added (see the new example n. 10). + - The following methods were added: setEqualColumns(), setColumnsArray(), selectColumn(). + - Thai diacritics support were changed (note that this is incompatible with html justification). + +4.9.000 (2010-03-27) + - QR Code (2D barcode) support was added (see example n. 50). + - The following methods were added to print crop and registration marks (see example n. 56): colorRegistrationBar(), cropMark(), registrationMark(). + - Limited support for CSS line-height property was added. + - Gradient method now supports Gray, RGB and CMYK space color. + - Example n. 51 was updated. + - Vertical alignment of font inside cell was fixed. + - Support for multiple Thai diacritics was added. + - Bug item #2974929 "Duplicate case values" was fixed. + - Bug item #2976729 "File attachment not working with security" was fixed. + +------------------------------------------------------------ + +4.8.039 (2010-03-20) + - Problems related to custom locale settings were fixed. + - Problems related to HTML on Header and Footer were fixed. + +4.8.038 (2010-03-13) + - Various bugs related to page-break in HTML mode were fixed. + - Bug item #2968974 "Another

    pagebreak problem" was fixed. + - Bug item #2969276 "justification problem" was fixed. + - Bug item #2969289 "bug when using justified text and custom headers" was fixed. + - Images are now automatically resized to be contained on the page. + - Some HTML line alignments were fixed. + - Signature of AddPage() and SetMargins() methods were changed to include an option to set default page margins. + +4.8.037 (2010-03-03) + - Bug item #2962068 was fixed. + - Bug item #2967017 "Problems with and pagebreaks" was fixed. + - Bug item #2967023 "table header lost with pagebreak" was fixed. + - Bug item #2967032 "Header lost with nested tables" was fixed. + +4.8.036 (2010-02-24) + - Automatic page break for HTML images was improved. + - Example 10 was updated. + - Japanese was removed from example 8 because the freeserif font doesn't contain japanese (you can display it using arialunicid0 font). + +4.8.035 (2010-02-23) + - Automatic page break for HTML images was added. + - Support for multicolumn HTML was added (example 10 was updated). + +4.8.034 (2010-02-17) + - Language files were updated. + +4.8.033 (2010-02-12) + - A bug related to protection mode with links was fixed. + +4.8.032 (2010-02-04) + - A bug related to $maxh parameter on Write() and MultiCell() was fixed. + - Support for body tag was added. + +4.8.031 (2010-01-30) + - Bug item #2941589 "paragraph justify not working on some non-C locales" was fixed. + +4.8.030 (2010-01-27) + - Some text alignment cases were fixed. + +4.8.029 (2010-01-27) + - Bug item #2941057 "TOC Error in PDF File Output" was fixed. + - Some text alignment cases were fixed. + +4.8.028 (2010-01-26) + - Text alignment for RTL mode was fixed. + +4.8.027 (2010-01-25) + - Bug item #2938412 "Table related problems - thead, nobr, table width" was fixed. + +4.8.026 (2010-01-19) + - The misspelled word "length" was replaced with "length" in some variables and comments. + +4.8.025 (2010-01-18) + - addExtGState() method was improved to reuse existing ExtGState objects. + +4.8.024 (2010-01-15) + - Justification mode for HTML was fixed (Bug item #2932470). + +4.8.023 (2010-01-15) + - Bug item #2932470 "Some HTML entities breaks justification" was fixed. + +4.8.022 (2010-01-14) + - Source code documentation was fixed. + +4.8.021 (2010-01-03) + - A Bug relative to Table Of Content index was fixed. + +4.8.020 (2009-12-21) + - Bug item #2918545 "Display problem of the first row of a table with larger font" was fixed. + - A Bug relative to table rowspan mode was fixed. + +4.8.019 (2009-12-16) + - Bug item #2915684 "Image size" was fixed. + - Bug item #2914995 "Image jpeg quality" was fixed. + - The signature of the Image() method was changed (check the documentation for the $resize parameter). + +4.8.018 (2009-12-15) + - Bug item #2914352 "write error" was fixed. + +4.8.017 (2009-11-27) + - THEAD problem when table is used on header/footer was fixed. + - A first line alignment on HTML justification was fixed. + - Method getImageFileType() was added. + - Images with unknown extension and type are now supported via ImageMagick PHP extension. + +4.8.016 (2009-11-21) + - Document Information Dictionary was fixed. + - CSS attributes 'page-break-before', 'page-break-after' and 'page-break-inside' are now supported. + - Problem of unclosed last page was fixed. + - Problem of 'thead' unnecessarily repeated on the next page was fixed. + +4.8.015 (2009-11-20) + - A problem with some PNG transparency images was fixed. + - Bug #2900762 "Sort issues in Bookmarks" was fixed. + - Text justification was fixed for various modes: underline, strikeout and background. + +4.8.014 (2009-11-04) + - Bug item #2891316 "writeHTML, underlining replacing spaces" was fixed. + - The handling of temporary RTL text direction mode was fixed. + +4.8.013 (2009-10-26) + - Bug item #2884729 "Problem with word-wrap and hyphen" was fixed. + +4.8.012 (2009-10-23) + - Table cell alignments for RTL booklet mode were fixed. + - Images and barcode alignments for booklet mode were fixed. + +4.8.011 (2009-10-22) + - DejaVu fonts were updated to latest version. + +4.8.010 (2009-10-21) + - Bookmark for TOC page was added. + - Signature of addTOC() method is changed. + - Bookmarks are now automatically sorted by page and Y position. + - Example n. 45 was updated. + - Example n. 55 was added to display all charactes available on core fonts. + +4.8.009 (2009-09-30) + - Compatibility with PHP 5.3 was improved. + - All examples were updated. + - Index file for examples was added. + +4.8.008 (2009-09-29) + - Example 49 was updated. + - Underline and linethrough now works with cell stretching mode. + +4.8.007 (2009-09-23) + - Infinite loop problem caused by nobr attribute was fixed. + +4.8.006 (2009-09-23) + - Bug item #2864522 "No images if DOCUMENT_ROOT=='/'" was fixed. + - Support for text-indent CSS attribute was added. + - Method rollbackTransaction() was changed to support self-reassignment of previous object (check source code documentation). + - Support for the HTML "nobr" attribute was added to avoid splitting a table or a table row on two pages (i.e.: ...). + +4.8.005 (2009-09-17) + - A bug relative to multiple transformations and annotations was fixed. + +4.8.004 (2009-09-16) + - A bug on _putannotsrefs() method was fixed. + +4.8.003 (2009-09-15) + - Bug item #2858754 "Division by zero" was fixed. + - A bug relative to HTML list items was fixed. + - A bug relative to form fields on multiple pages was fixed. + - PolyLine() method was added (see example n. 12). + - Signature of Polygon() method was changed. + +4.8.002 (2009-09-12) + - A problem related to CID-0 fonts offset was fixed: if the $cw[1] entry on the CID-0 font file is not defined, then a CID keys offset is introduced. + +4.8.001 (2009-09-09) + - The appearance streams (AP) for anotations form fields was fixed (see examples n. 14 and 54). + - Radiobuttons were fixed. + +4.8.000 (2009-09-07) + - This version includes some support for Forms fields (see example n. 14) and XHTML forms (see example n. 54). + - The following methods were changed to work without JavaScript: TextField(), RadioButton(), ListBox(), ComboBox(), CheckBox(), Button(). + - Support for Widget annotations was improved. + - Alignment of annotation objects was fixed (examples 36 and 41 were updated). + - addJavascriptObject() method was added. + - Signature of Image() method was changed. + - htmlcolors.php file was updated. + +------------------------------------------------------------ + +4.7.003 (2009-09-03) + - Support for TCPDF methods on HTML was improved (see example n. 49). + +4.7.002 (2009-09-02) + - Bug item #2848892 "writeHTML + table: Gaps between rows" was fixed. + - JavaScript support was fixed (see example n. 53). + +4.7.001 (2009-08-30) + - The Polygon() and Arrow() methods were fixed and improved (see example n. 12). + +4.7.000 (2009-08-29) + - This is a major release. + - Some procedures were internally optimized. + - The problem of mixed signature and annotations was fixed (example n. 52). + +4.6.030 (2009-08-29) + - IMPORTANT: percentages on table cell widths are now relative to the full table width (as in standard HTML). + - Various minor bugs were fixed. + - Example n. 52 (digital signature) was updated. + +4.6.029 (2009-08-26) + - PHP4 version was fixed. + +4.6.028 (2009-08-25) + - Signature algorithm was finally fixed (see example n. 52). + +4.6.027 (2009-08-24) + - TCPDF now supports unembedded TrueTypeUnicode Fonts (just comment the $file entry on the fonts' php file. + +4.6.026 (2009-08-21) + - Bug #2841693 "Problem with MultiCell and ishtml and justification" was fixed. + - Signature functions were improved but not yet fixed (tcpdf.crt and example n. 52 were updated). + +4.6.025 (2009-08-17) + - Carriage returns (\r) were removed from source code. + - Problem related to set_magic_quotes_runtime() depracated was fixed. + +4.6.024 (2009-08-07) + - Bug item #2833556 "justification using other units than mm" was fixed. + - Documentation was fixed/updated. + +4.6.023 (2009-08-02) + - Bug item #2830537 "MirrorH can show mask for transparent PNGs" was fixed. + +4.6.022 (2009-07-24) + - A bug relative to single line printing when using WriteHTMLCell() was fixed. + - Signature support were improved but is still experimental. + - Fonts Free and Dejavu were updated to latest versions. + +4.6.021 (2009-07-20) + - Bug item #2824015 "XHTML Ampersand & in hyperlink bug" was fixed. + - Bug item #2824036 "Image as hyperlink in table, text displaced at page break" was fixed. + - Links alignment on justified text was fixed. + - Unicode "\u" modifier was added to re_spaces variable by default. + +4.6.020 (2009-07-16) + - Bug item #2821921 "issue in example 18" was fixed. + - Signature of SetRTL() method was changed. + +4.6.019 (2009-07-13) + - Bug item #2820703 "xref table broken" was fixed. + +4.6.018 (2009-07-10) + - Bug item #2819319 "Text over text" was fixed. + - Method Arrow() was added to print graphic arrows (example 12 was updated). + +4.6.017 (2009-07-05) + - Bug item #2816079 "Example 48 not working" was fixed. + - The signature of the checkPageBreak() was changed. The parameter $addpage was added to turn off the automatic page creation. + +4.6.016 (2009-06-16) + - Method setSpacesRE() was added to set the regular expression used for detecting withespaces or word separators. If you are using chinese, try: setSpacesRE('/[\s\p{Z}\p{Lo}]/');, otherwise you can use setSpacesRE('/[\s\p{Z}]/'); + - The method _putinfo() now automatically fills the metadata with '?' in case of empty string. + +4.6.015 (2009-06-11) + - Bug #2804667 "word wrap bug" was fixed. + +4.6.014 (2009-06-04) + - Bug #2800931 "Table thead tag bug" was fixed. + - A bug related to
     tag was fixed.
    +
    +4.6.013 (2009-05-28)
    +	- List bullets position was fixed for RTL languages.
    +
    +4.6.012 (2009-05-23)
    +	- setUserRights() method doesn't work anymore unless you call the setSignature() method with the Adobe private key!
    +
    +4.6.011 (2009-05-18)
    +	- Signature of the Image() method was changed to include the new $fitbox parameter (see source code documentation).
    +
    +4.6.010 (2009-05-17)
    +	- Image() method was improved: now is possible to specify the maximum dimensions for a constraint box defined by $w and $h parameters, and setting the $resize parameter to null.
    +	-  tag indent problem was fixed.
    +	- $y parameter was added to checkPageBreak() method.
    +	- Bug n. 2791773 "writeHTML" was fixed.
    +
    +4.6.009 (2009-05-13)
    +	- xref table for embedded files was fixed.
    +
    +4.6.008 (2009-05-07)
    +	- setSignature() method was improved (but is still experimental).
    +	- Example n. 52 was added.
    +
    +4.6.007 (2009-05-05)
    +	- Bug #2786685 "writeHtmlCell and 
    in custom footer" was fixed. + - Table header repeating bug was fixed. + - Some newlines and tabs are now automatically removed from HTML strings. + +4.6.006 (2009-04-28) + - Support for "..." was added. + - By default TCPDF requires PCRE Unicode support turned on but now works also without it (with limited ability to detect some Unicode blank spaces). + +4.6.005 (2009-04-25) + - Points (pt) conversion in getHTMLUnitToUnits() was fixed. + - Default tcpdf.pem certificate file was added. + - Experimental support for signing document was added but it is not yet completed (some help is needed - I think that the calculation of the ByteRange is OK and the problem is on the signature calculation). + +4.6.004 (2009-04-23) + - Method deletePage() was added to delete pages (see example n. 44). + +4.6.003 (2009-04-21) + - The caching mechanism of the UTF8StringToArray() method was fixed. + +4.6.002 (2009-04-20) + - Documentation of rollbackTransaction() method was fixed. + - The setImageScale() and getImageScale() methods now set and get the adjusting parameter used by pixelsToUnits() method. + - HTML images now support other units of measure than pixels (getHTMLUnitToUnits() is now used instead of pixelsToUnits()). + - WARNING: PDF_IMAGE_SCALE_RATIO has been changed by default to 1. + +4.6.001 (2009-04-17) + - Spaces between HTML block tags are now automatically removed. + - The bug related to cMargin changes between tables was fixed. + +4.6.000 (2009-04-16) + - WARNING: THIS VERSION CHANGES THE BEHAVIOUR OF $x and $y parameters for several TCPDF methods: + zero coordinates for $x and $y are now valid coordinates; + set $x and $y as empty strings to get the current value. + - Some error caused by 'empty' function were fixed. + - Default color for convertHTMLColorToDec() method was changed to white and the return value for invalid color is false. + - HTML on footer bug was fixed. + - The following examples were fixed: 5,7,10,17,19,20,21,33,42,43. + +4.5.043 (2009-04-15) + - Barcode class (barcode.php) was extended to include new linear barcode types (see example n. 27): + C39 : CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9 + C39+ : CODE 39 with checksum + C39E : CODE 39 EXTENDED + C39E+ : CODE 39 EXTENDED + CHECKSUM + C93 : CODE 93 - USS-93 + S25 : Standard 2 of 5 + S25+ : Standard 2 of 5 + CHECKSUM + I25 : Interleaved 2 of 5 + I25+ : Interleaved 2 of 5 + CHECKSUM + C128A : CODE 128 A + C128B : CODE 128 B + C128C : CODE 128 C + EAN2 : 2-Digits UPC-Based Extension + EAN5 : 5-Digits UPC-Based Extension + EAN8 : EAN 8 + EAN13 : EAN 13 + UPCA : UPC-A + UPCE : UPC-E + MSI : MSI (Variation of Plessey code) + MSI+ : MSI + CHECKSUM (modulo 11) + POSTNET : POSTNET + PLANET : PLANET + RMS4CC : RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) + KIX : KIX (Klant index - Customer index) + IMB: Intelligent Mail Barcode - Onecode - USPS-B-3200 (NOTE: requires BCMath PHP extension) + CODABAR : CODABAR + CODE11 : CODE 11 + PHARMA : PHARMACODE + PHARMA2T : PHARMACODE TWO-TRACKS + +4.5.042 (2009-04-15) + - Method Write() was fixed for the strings containing only zero value. + +4.5.041 (2009-04-14) + - Barcode methods were fixed. + +4.5.040 (2009-04-14) + - Method Write() was fixed to handle empty strings. + +4.5.039 (2009-04-11) + - Support for linear barcodes was extended (see example n. 27 and barcodes.php documentation). + +4.5.038 (2009-04-10) + - Write() method was improved to support separators for Japanese, Korean, Chinese Traditional and Chinese Simplified. + +4.5.037 (2009-04-09) + - General performances were improved. + - The signature of the method utf8Bidi() was changed. + - The method UniArrSubString() was added. + - Experimental support for 2D barcodes were added (see example n. 50 and 2dbarcodes.php class). + +4.5.036 (2009-04-03) + - TCPDF methods can be called inside the HTML code (see example n. 49). + - All tag attributes, such as

    must be enclosed within double quotes. + +4.5.035 (2009-03-28) + - Bug #2717436 "writeHTML rowspan problem (continued)" was fixed. + - Bug #2719090 "writeHTML fix follow up" was fixed. + - The method _putuserrights() was changed to avoid Adobe Reader 9.1 crash. This broken the 'trick' that was used to display forms in Acrobat Reader. + +4.5.034 (2009-03-27) + - Bug #2716914 "Bug writeHTML of a table in body and footer related with pb" was fixed. + - Bug #2717056 ] "writeHTML problem when setting tr style" was fixed. + - The signature of the Cell() method was changed. + +4.5.033 (2009-03-27) + - The support for rowspan/colspan on HTML tables was improved (see example n. 48). + +4.5.032 (2009-03-23) + - setPrintFooter(false) bug was fixed. + +4.5.031 (2009-03-20) + - Table header support was extended to multiple pages. + +4.5.030 (2009-03-20) + - thead tag is now supported on HTML tables (header rows are repeated after page breaks). + - The startTransaction() was improved to autocommit. + - List bullets now uses the foreground color (putHtmlListBullet()). + +4.5.029 (2009-03-19) + - The following methods were added to UNDO commands (see example 47): startTransaction(), commitTransaction(), rollbackTransaction(). + - All examples were updated. + +4.5.028 (2009-03-18) + - Bug #2690945 "List Bugs" was fixed. + - HTML text alignment on lists was fixed. + - The constant PDF_FONT_MONOSPACED was added to the configuration file to define the default monospaced font. + - The following methods were fixed: getPageWidth(), getPageHeight(), getBreakMargin(). + - All examples were updated. + +4.5.027 (2009-03-16) + - Method getPageDimensions() was added to get page dimensions. + - The signature of the following methos were changed: getPageWidth(), getPageHeight(), getBreakMargin(). + - _parsepng() method was fixed for PNG URL images (fread bug). + +4.5.026 (2009-03-11) + - Bug #2681793 affecting URL images with spaces was fixed. + +4.5.025 (2009-03-10) + - A small bug affecting hyphenation support was fixed. + - The method SetDefaultMonospacedFont() was added to define the default monospaced font. + +4.5.024 (2009-03-07) + - The bug #2666493 was fixed "Footer corrupts document". + +4.5.023 (2009-03-06) + - The bug #2666688 was fixed "Rowspan in tables". + +4.5.022 (2009-03-05) + - The bug #2659676 was fixed "refer to #2157099 test 4 < BR > problem still not fixed". + - addTOC() function bug was fixed. + +4.5.020 (2009-03-03) + - The following bug was fixed: "function removeSHY corrupts unicode". + +4.5.019 (2009-02-28) + - The problem of decimal separator using different locale was fixed. + - The text hyphenation is now supported (see example n. 46). + +4.5.018 (2009-02-26) + - The _destroy() method was added to unset all class variables and frees memory. + - Now it's possible to call Output() method multiple times. + +4.5.017 (2009-02-24) + - A minor bug that raises a PHP warning was fixed. + +4.5.016 (2009-02-24) + - Bug item #2631200 "getNumLines() counts wrong" was fixed. + - Multiple attachments bug was fixed. + - All class variables are now cleared on Output() for memory otpimization. + +4.5.015 (2009-02-18) + - Bug item #2612553 "function Write() must not break a line on   character" was fixed. + +4.5.014 (2009-02-13) + - Bug item #2595015 "POSTNET Barcode Checksum Error" was fixed (on barcode.php). + - Pagebreak bug for barcode was fixed. + +4.5.013 (2009-02-12) + - border attribute is now supported on HTML images (only accepts the same values accepted by Cell()). + +4.5.012 (2009-02-12) + - An error on image border feature was fixed. + +4.5.011 (2009-02-12) + - HTML links for images are now supported. + - height attribute is now supported on HTML cells. + - $border parameter was added to Image() and ImageEps() methods. + - The method getNumLines() was added to estimate the number of lines required for the specified text. + +4.5.010 (2009-01-29) + - Bug n. 2546108 "BarCode Y position" was fixed. + +4.5.009 (2009-01-26) + - Bug n. 2538094 "Empty pdf file created" was fixed. + +4.5.008 (2009-01-26) + - setPage() method was fixed to correctly restore graphic states. + - Source code was cleaned up for performances. + +4.5.007 (2009-01-24) + - checkPageBreak() and write1DBarcode() methods were fixed. + - Source code was cleaned up for performances. + - barcodes.php was updated. + +4.5.006 (2009-01-23) + - getHTMLUnitToPoints() method was replaced by getHTMLUnitToUnits() to fix HTML units bugs. + +4.5.005 (2009-01-23) + - Page closing bug was fixed. + +4.5.004 (2009-01-21) + - The access of convertHTMLColorToDec() method was changed to public + - Fixed bug on UL tag. + +4.5.003 (2009-01-19) + - Fonts on different folders are now supported. + +4.5.002 (2009-01-07) + - addTOC() function was improved (see example n. 45). + +4.5.001 (2009-01-04) + - The signature of startPageGroup() function was changed. + - Method Footer() was improved to automatically print page or page-group number (see example n. 23). + - Protected method formatTOCPageNumber() was added to customize the format of page numbers on the Table Of Content. + - The signature of addTOC() was changed to include the font used for page numbers. + +4.5.000 (2009-01-03) + - A new $diskcache parameter was added to class constructor to enable disk caching and reduce RAM memory usage (see example n. 43). + - The method movePageTo() was added to move pages to previous positions (see example n. 44). + - The methods getAliasNumPage() and getPageNumGroupAlias() were added to get the alias for page number (needed when using movepageTo()). + - The methods addTOC() was added to print a Table Of Content (see example n. 45). + - Imagick class constant was removed for better compatibility with PHP4. + - All existing examples were updated and new examples were added. + +4.4.009 (2008-12-29) + - Examples 1 and 35 were fixed. + +4.4.008 (2008-12-28) + - Bug #2472169 "Unordered bullet size not adjusted for unit type" was fixed. + +4.4.007 (2008-12-23) + - Bug #2459935 "no unit conversion for header line" was fixed. + - Example n. 42 for image alpha channel was added. + - All examples were updated. + +4.4.006 (2008-12-11) + - Method setLIsymbol() was changed to reflect latest changes in HTML list handling. + +4.4.005 (2008-12-10) + - Bug item #2413870 "ordered list override value" was fixed. + +4.4.004 (2008-12-10) + - The protected method getHTMLUnitToPoints() was added to accept various HTML units of measure (em, ex, px, in, cm, mm, pt, pc, %). + - The method intToRoman() was added to convert integer number to Roman representation. + - Support fot HTML lists was improved: the CSS property list-style-type is now supported. + +4.4.003 (2008-12-09) + - Bug item #2412147 "Warning on line 3367" was fixed. + - Method setHtmlLinksStyle() was added to set default HTML link colors and font style. + - Method addHtmlLink() was changed to use color and style defined on the inline CSS. + +4.4.002 (2008-12-09) + - Borders on Multicell() were fixed. + - Problem of Multicell() on Header function (Bug item #2407579) was fixed. + - Problem on graphics tranformations applied to Multicell() was fixed. + - Support for ImageMagick was added. + - Width calculation for nested tables was fixed. + +4.4.001 (2008-12-08) + - Some missing core fonts were added on fonts directory. + - CID0 fonts rendering was fixed. + - HTML support was improved (

     and  tags are now supported).
    +	- Bug item #2406022 "Left padding bug in MultiCell with maxh" was fixed.
    +
    +4.4.000 (2008-12-07)
    +	- File attachments are now supported (see example n. 41).
    +	- Font functions were optimized to reduce document size.
    +	- makefont.php was updated.
    +	- Linux binaries were added on /fonts/utils
    +	- All fonts were updated.
    +	- $autopadding parameter was added to Multicell() to disable automatic padding features.
    +	- $maxh parameter was added to Multicell() and Write() to set a maximum height.
    +
    +4.3.009 (2008-12-05)
    +	- Bug item #2392989 (Custom header + setlinewidth + cell border bug) was fixed.
    +
    +4.3.008 (2008-12-05)
    +	- Bug item #2390566 "rect bug" was fixed.
    +	- File path was fixed for font embedded files.
    +	- SetFont() method signature was changed to include the font filename.
    +	- Some font-related methods were improved.
    +	- Methods getFontFamily() and getFontStyle() were added.
    +
    +4.3.007 (2008-12-03)
    +	- PNG alpha channel is now supported (GD library is required).
    +	- AddFont() function now support custom font file path on $file parameter.
    +	- The default width variable ($dw) is now always defined for any font.
    +	- The 'Style' attribute on CID-0 fonts was removed because of protection bug.
    +
    +4.3.006 (2008-12-01)
    +	- A regular expression on getHtmlDomArray() to find HTML tags was fixed.
    +
    +4.3.005 (2008-11-25)
    +	- makefont.php was fixed.
    +	- Bug item #2339877 was fixed (false loop condition detected on WriteHTML()).
    +	- Bug item #2336733 was fixed (lasth value update on Multicell() when border and fill are disabled).
    +	- Bug item #2342303 was fixed (automatic page-break on Image() and ImageEPS()).
    +
    +4.3.004 (2008-11-19)
    +	- Function _textstring() was fixed (bug 2309051).
    +	- All examples were updated.
    +
    +4.3.003 (2008-11-18)
    +	- CID-0 font bug was fixed.
    +	- Some functions were optimized.
    +	- Function getGroupPageNoFormatted() was added.
    +	- Example n. 23 was updated.
    +
    +4.3.002 (2008-11-17)
    +	- Bug item #2305518 "CID-0 font don't work with encryption" was fixed.
    +
    +4.3.001 (2008-11-17)
    +	- Bug item #2300007 "download mimetype pdf" was fixed.
    +	- Double quotes were replaced by single quotes to improve PHP performances.
    +	- A bug relative to HTML cell borders was fixed.
    +
    +4.3.000 (2008-11-14)
    +	- The function setOpenCell() was added to set the top/bottom cell sides to be open or closed when the cell cross the page.
    +	- A bug relative to list items indentation was fixed.
    +	- A bug relative to borders on HTML tables and Multicell was fixed.
    +	- A bug relative to rowspanned cells was fixed.
    +	- A bug relative to html images across pages was fixed.
    +
    +4.2.009 (2008-11-13)
    +	- Spaces between li tags are now automatically removed.
    +
    +4.2.008 (2008-11-12)
    +	- A bug relative to fill color on next page was fixed.
    +
    +4.2.007 (2008-11-12)
    +	- The function setListIndentWidth() was added to set custom indentation widht for HTML lists.
    +
    +4.2.006 (2008-11-06)
    +	- A bug relative to HTML justification was fixed.
    +
    +4.2.005 (2008-11-06)
    +	- A bug relative to HTML justification was fixed.
    +	- The methods formatPageNumber() and PageNoFormatted() were added to format page numbers.
    +	- Default Footer() method was changed to use PageNoFormatted() instead of PageNo().
    +	- Example 6 was updated.
    +
    +4.2.004 (2008-11-04)
    +	- Bug item n. 2217039 "filename handling improvement" was fixed.
    +
    +4.2.003 (2008-10-31)
    +	- Font style bug was fixed.
    +
    +4.2.002 (2008-10-31)
    +	- Bug item #2210922 (htm element br not work) was fixed.
    +	- Write() function was improved to support margin changes.
    +
    +4.2.001 (2008-10-30)
    +	- setHtmlVSpace($tagvs) function was added to set custom vertical spaces for HTML tags.
    +	- writeHTML() function now support margin changes during execution.
    +	- Signature of addHTMLVertSpace() function is changed.
    +
    +4.2.000 (2008-10-29)
    +	- htmlcolors.php was changed to support class-loaders.
    +	- ImageEps() function was improved in performances.
    +	- Signature of Link() And Annotation() functions were changed.
    +	- (Bug item #2198926) Links and Annotations alignment were fixed (support for geometric tranformations was added).
    +	- rowspan mode for HTML table cells was improved and fixed.
    +	- Booklet mode for double-sided pages was added; see SetBooklet() function and example n. 40.
    +	- lastPage() signature is changed.
    +	- Signature of Write() function is changed.
    +	- Some HTML justification problems were fixed.
    +	- Some functions were fixed to better support RTL mode.
    +	- Example n. 10 was changed to support RTL mode.
    +	- All examples were updated.
    +
    +4.1.004 (2008-10-23)
    +	- unicode_data.php was changed to support class-loaders.
    +	- Bug item #2186040/2 (writeHTML margin problem) was fixed.
    +
    +4.1.003 (2008-10-22)
    +	- Bug item #2185399 was fixed (rowspan and page break).
    +	- Bugs item #2186040 was fixed (writeHTML margin problem).
    +	- Newline after table was removed.
    +
    +4.1.002 (2008-10-21)
    +	- Bug item #2184525 was fixed (rowspan on HTML cell).
    +
    +4.1.001 (2008-10-21)
    +	- Support for "start" attribute was added to HTML ordered list.
    +	- unicode_data.php file was changed to include UTF-8 to ASCII table.
    +	- Some functions were modified to better support UTF-8 extensions to core fonts.
    +	- Support for images on HTML lists was improved.
    +	- Examples n. 1 and 6 were updated.
    +
    +4.1.000 (2008-10-18)
    +	- Page-break bug using HTML content was fixed.
    +	- The "false" parameter was reintroduced to class_exists function on PHP5 version to avoid autoload.
    +	- addHtmlLink() function was improved to support internal links (i.e.: link to page 23).
    +	- Justification alignment is now supported on HTML (see example n. 39).
    +	- example_006.php was updated.
    +
    +4.0.033 (2008-10-13)
    +	- Bug n. 2157099 was fixed.
    +	- SetX() and SetY() functions were improved.
    +	- SetY() includes a new parameter to avoid the X reset.
    +
    +4.0.032 (2008-10-10)
    +	- Bug n. 2156926 was fixed (bold, italic, underlined, linethrough).
    +	- setStyle() method was removed.
    +	- Configuration file was changed to use helvetica (non-unicode) font by default.
    +	- The use of mixed font types was improved.
    +	- All examples were updated.
    +
    +4.0.031 (2008-10-09)
    +	- _putannots() and _putbookmarks() links alignments were fixed.
    +
    +4.0.030 (2008-10-07)
    +	- _putbookmarks() function was fixed.
    +	- _putannots() was fixed to include internal links.
    +
    +4.0.029 (2008-09-27)
    +	- Infinite loop bug was fixed [Bug item #130309].
    +	- Multicell() problem on Header() was fixed.
    +
    +4.0.028 (2008-09-26)
    +	- setLIsymbol() was added to set the LI symbol used on UL lists.
    +	- Missing $padding and $encryption_key variables declarations were added [Bug item #2129058].
    +
    +4.0.027 (2008-09-19)
    +	- Bug #2118588 "Undefined offset in tcpdf.php on line 9581" was fixed.
    +	- arailunicid0.php font was updated.
    +	- The problem of javascript form fields duplication after saving was fixed.
    +
    +4.0.026 (2008-09-17)
    +	- convertHTMLColorToDec() function was improved to support rgb(RR,GG,BB) notation.
    +	- The following inline CSS attributes are now supported: text-decoration, color, background-color and font-size names: xx-small, x-small, small, medium, large, x-large, xx-large
    +	- Example n. 6 was updated.
    +
    +4.0.025 (2008-09-15)
    +	- _putcidfont0 function was improved to include CJK fonts (Chinese, Japanese, Korean, CJK, Asian fonts) without embedding.
    +	- arialunicid0 font was added (see the new example n. 38).
    +	- The following Unicode to CID-0 tables were added on fonts folder: uni2cid_ak12.php, uni2cid_aj16.php, uni2cid_ag15.php, uni2cid_ac15.php.
    +
    +4.0.024 (2008-09-12)
    +	- "stripos" function was replaced with "strpos + strtolower" for backward compatibility with PHP4.
    +	- support for Spot Colors were added. Check the new example n. 37 and the following new functions:
    +		AddSpotColor()
    +		SetDrawSpotColor()
    +		SetFillSpotColor()
    +		SetTextSpotColor()
    +		_putspotcolors()
    +	- Bookmark() function was improved to fix wrong levels.
    +	- $lasth changes after header/footer calls were fixed.
    +
    +4.0.023 (2008-09-05)
    +	- Some HTML related problems were fixed.
    +	- Image alignment on HTML was changed, now it always defaults to the normal mode (see example_006.php).
    +
    +4.0.022 (2008-08-28)
    +	- Line height on HTML was fixed.
    +	- Image inside an HTML cell problem was fixed.
    +	- A new "zarbold" persian font was added.
    +
    +4.0.021 (2008-08-24)
    +	- HTTP headers were fixed on Output function().
    +	- getAliasNbPages() and getPageGroupAlias() functions were changed to support non-unicode fonts on unicode documents.
    +	- Function Write() was fixed.
    +	- The problem of additional vertical spaces on HTML was fixed.
    +	- The problem of frame around HTML links was fixed.
    +
    +4.0.020 (2008-08-15)
    +	- "[2052259] WriteHTML  & " bug was fixed.
    +
    +4.0.019 (2008-08-13)
    +	- "Rowspan on first cell" bug was fixed.
    +
    +4.0.018 (2008-08-08)
    +	- Default cellpadding for HTML tables was fixed.
    +	- Annotation() function was added to support some PDF annotations (see example_036.php and section 8.4 of PDF reference 1.7).
    +	- HTML links are now correclty shifted during line alignments.
    +	- function getAliasNbPages() was added and Footer() was updated.
    +	- RowSpan mode for HTML tables was fixed.
    +	- Bugs item #2043610 "Multiple sizes vertical align wrong" was fixed.
    +	- ImageEPS() function was improved and RTL alignment was fixed (see example_032.php).
    +
    +4.0.017 (2008-08-05)
    +	- Missing CNZ and CEO style modes were added to Rect() function.
    +	- Fonts utils were updated to include support for OpenType fonts.
    +	- getLastH() function was added.
    +
    +4.0.016 (2008-07-30)
    +	- setPageMark() function was added. This function must be called after calling Image() function for a background image.
    +
    +4.0.015 (2008-07-29)
    +	- Some functions were changed to support different page formats (see example_028.php).
    +	- The signature of setPage() function is changed.
    +
    +4.0.014 (2008-07-29)
    +	- K_PATH_MAIN calculation on tcpdf_config.php was fixed.
    +	- HTML support for EPS/AI images was added (see example_006.php).
    +	- Bugs item #2030807 "Truncated text on multipage html fields" was fixed.
    +	- PDF header bug was fixed.
    +	- helvetica was added as default font family.
    +	- Stroke mode was fixed on Text function.
    +	- several minor bugs were fixed.
    +
    +4.0.013 (2008-07-27)
    +	- Bugs item #2027799 " Big spaces between lines after page break" was fixed.
    +	- K_PATH_MAIN calculation on tcpdf_config.php was changed.
    +	- Function setVisibility() was fixed to avoid the "Incorrect PDEObject type" error message.
    +
    +4.0.012 (2008-07-24)
    +	- Addpage(), Header() and Footer() functions were changed to simplify the implementation of external header/footer functions.
    +	- The following functions were added:
    +			setHeader()
    +			setFooter()
    +			getImageRBX()
    +			getImageRBY()
    +			getCellHeightRatio()
    +			getHeaderFont()
    +			getFooterFont()
    +			getRTL()
    +			getBarcode()
    +			getHeaderData()
    +			getHeaderMargin()
    +			getFooterMargin()
    +
    +4.0.011 (2008-07-23)
    +	- Font support was improved.
    +	- The folder /fonts/utils contains new utilities and instructions for embedd font files.
    +	- Documentation was updated.
    +
    +4.0.010 (2008-07-22)
    +	- HTML tables were fixed to work across pages.
    +	- Header() and Footer() functions were updated to preserve previous settings.
    +	- example_035.php was added.
    +
    +4.0.009 (2008-07-21)
    +	- UTF8StringToArray() function was fixed for non-unicode mode.
    +
    +4.0.008 (2008-07-21)
    +	- Barcodes alignment was fixed (see example_027.php).
    +	- unicode_data.php was updated.
    +	- Arabic shaping for "Zero-Width Non-Joiner" character (U+200C) was fixed.
    +
    +4.0.007 (2008-07-18)
    +	- str_split was replaced by preg_split for compatibility with PHP4 version.
    +	- Clipping mode was added to all graphic functions by using parameter $style = "CNZ" or "CEO" (see example_034.php).
    +
    +4.0.006 (2008-07-16)
    +	- HTML rowspan bug was fixed.
    +	- Line style for MultiCell() was fixed.
    +	- WriteHTML() function was improved.
    +	- CODE128C barcode was fixed (barcodes.php).
    +
    +4.0.005 (2008-07-11)
    +	- Bug [2015715] "PHP Error/Warning" was fixed.
    +
    +4.0.004 (2008-07-09)
    +	- HTML cell internal padding was fixed.
    +
    +4.0.003 (2008-07-08)
    +	- Removed URL encoding when F option is selected on Output() function.
    +	- fixed some minor bugs in html tables.
    +
    +4.0.002 (2008-07-07)
    +	- Bug [2000861] was still unfixed and has been fixed.
    +
    +4.0.001 (2008-07-05)
    +	- Bug [2000861] was fixed.
    +
    +4.0.000 (2008-07-03)
    +	- THIS IS A MAIN RELEASE THAT INCLUDES SEVERAL NEW FEATURES AND BUGFIXES
    +	- Signature fo SetTextColor() and SetFillColor() functions was changed (parameter $storeprev was removed).
    +	- HTML support was completely rewritten and improved (see example 6).
    +	- Alignments parameters were fixed.
    +	- Functions GetArrStringWidth() and GetStringWidth() now include font parameters.
    +	- Fonts support was improved.
    +	- All core fonts were replaced and moved to fonts/ directory.
    +	- The following functions were added: getMargins(), getFontSize(), getFontSizePt().
    +	- File config/tcpdf_config_old.php was renamed tcpdf_config_alt.php and updated.
    +	- Multicell and WriteHTMLCell fill function was fixed.
    +	- Several minor bugs were fixed.
    +	- barcodes.php was updated.
    +	- All examples were updated.
    +
    +------------------------------------------------------------
    +
    +3.1.001 (2008-06-13)
    +	- Bug [1992515] "K_PATH_FONTS default value wrong" was fixed.
    +	- Vera font was removed, DejaVu font and Free fonts were updated.
    +	- Image handling was improved.
    +	- All examples were updated.
    +
    +3.1.000 (2008-06-11)
    +	- setPDFVersion() was added to change the default PDF version (currently 1.7).
    +	- setViewerPreferences() was added to control the way the document is to be presented on the screen or printed (see example 29).
    +	- SetDisplayMode() signature was changed (new options were added).
    +	- LinearGradient(), RadialGradient(), CoonsPatchMesh() functions were added to print various color gradients (see example 30).
    +	- PieSector() function was added to render render pie charts (see example 31).
    +	- ImageEps() was added to display EPS and AI images with limited support (see example 32).
    +	- writeBarcode() function is now depracated, a new write1DBarcode() function was added. The barcode directory was removed and a new barcodes.php file was added.
    +	- The new write1DBarcode() function support more barcodes and do not need the GD library (see example 027). All barcodes are directly written to PDF using graphic functions.
    +	- HTML lists were improved and could be nested (you may now represent trees).
    +	- AddFont() bug was fixed.
    +	- _putfonts() bug was fixed.
    +	- graphics functions were fixed.
    +	- unicode_data.php file was updated (fixed).
    +	- almohanad font was updated.
    +	- example 18 was updated (Farsi and Arabic languages).
    +	- source code cleanup.
    +	- All examples were updated and new examples were added.
    +
    +3.0.015 (2008-06-06)
    +	- AddPage() function signature is changed to include page format.
    +	- example 28 was added to show page format changes.
    +	- setPageUnit() function was added to change the page units of measure.
    +	- setPageFormat() function was added to change the page format and orientation between pages.
    +	- setPageOrientation() function was added to change the page orientation.
    +	- Arabic font shaping was fixed for laa letter and square boxes (see the example 18).
    +
    +3.0.014 (2008-06-04)
    +	- Arabic font shaping was fixed.
    +	- setDefaultTableColumns() function was added.
    +	- $cell_height_ratio variable was added.
    +	- setCellHeightRatio() function was added to define the default height of cell repect font height.
    +
    +3.0.013 (2008-06-03)
    +	- Multicell height parameter was fixed.
    +	- Arabic font shaping was improved.
    +	- unicode_data.php was updated.
    +
    +3.0.012 (2008-05-30)
    +	- K_PATH_MAIN and K_PATH_URL constants are now automatically set on config file.
    +	- DOCUMENT_ROOT constant was fixed for IIS Webserver (config file was updated).
    +	- Arabic font shaping was improved.
    +	- TranslateY() function was fixed (bug [1977962]).
    +	- setVisibility() function was fixed.
    +	- writeBarcode() function was fixed to scale using $xref parameter.
    +	- All examples were updated.
    +
    +3.0.011 (2008-05-23)
    +	- CMYK color support was added to all graphic functions.
    +	- HTML table support was improved:
    +	  -- now it's possible to include additional html tags inside a cell;
    +	  -- colspan attribute was added.
    +	- example 006 was updated.
    +
    +3.0.010 (2008-05-21)
    +	- fixed $laa_array inclusion on utf8Bidi() function.
    +
    +3.0.009 (2008-05-20)
    +	- unicode_data.php was updated.
    +	- Arabic laa letter problem was fixed.
    +
    +3.0.008 (2008-05-12)
    +	- Arabic support was fixed and improved (unicode_data.php was updated).
    +	- Polycurve() function was added to draw a poly-Bezier curve.
    +	- list items alignment was fixed.
    +	- example 6 was updated.
    +
    +3.0.007 (2008-05-06)
    +	- Arabic support was fixed and improved.
    +	- AlMohanad (arabic) font was added.
    +	- C128 barcode bugs were fixed.
    +
    +3.0.006 (2008-04-21)
    +	- Condition to check negative width values was added.
    +
    +3.0.005 (2008-04-18)
    +	- back-Slash character escape was fixed on writeHTML() function.
    +	- Exampe 6 was updated.
    +
    +3.0.004 (2008-04-11)
    +	- Bug [1939304] (Right to Left Issue) was fixed.
    +
    +3.0.003 (2008-04-07)
    +	- Bug [1934523](Words between HTML tags in cell not kept on one line) was fixed.
    +	- "face" attribute of "font" tag is now fully supported.
    +
    +3.0.002 (2008-04-01)
    +	- Write() functions now return the number of cells and not the number of lines.
    +	- TCPDF is released under LGPL 2.1, or any later version.
    +
    +3.0.001 (2008-05-28)
    +	- _legacyparsejpeg() and _legacyparsepng() were renamed _parsejpeg() and _parsepng().
    +	- function writeBarcode() was fixed.
    +	- all examples were updated.
    +	- example 27 was added to show various barcodes.
    +
    +3.0.000 (2008-03-27)
    +	- private function pixelsToMillimeters() was changed to public function pixelsToUnits() to fix html image size bug.
    +	- Image-related functions were rewritten.
    +	- resize parameter was added to Image() signature to reduce the image size and fit width and height (see example 9).
    +	- TCPDF now supports all images supported by GD library: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM.
    +	- CMYK support was added to SetDrawColor(), SetFillColor(), SetTextColor() (see example 22).
    +	- Page Groups were added (see example 23).
    +	- setVisibility() function was added to restrict the rendering of some elements to screen or printout (see example 24).
    +	- All private variables and functions were changed to protected.
    +	- setAlpha() function was added to give transparency support for all objects (see example 25).
    +	- Clipping and stroke modes were added to Text() function (see example 26).
    +	- All examples were moved to "examples" directory.
    +	- function setJPEGQuality() was added to set the JPEG image comrpession (see example 9).
    +
    +2.9.000 (2008-03-26)
    +	- htmlcolors.php file was added to include html colors.
    +	- Support for HTML color names and three-digit hexadecimal color codes was added.
    +	- private function convertColorHexToDec() was renamed convertHTMLColorToDec().
    +	- color and bgcolor attributes are now supported on all HTML tags (color nesting is also supported).
    +	- Write() function were fixed.
    +	- example_006.php was updated.
    +	- private function setUserRights() was added to release user rights on Acrobat Reader (this allows to display forms, see example 14)
    +
    +2.8.000 (2008-03-20)
    +	- Private variables were changed to protected.
    +	- Function Write() was fixed and improved.
    +	- Support for dl, dt, dd, del HTML tags was introduced.
    +	- Line-trought mode was added for HTML and text.
    +	- Text vertical alignment on cells were fixed.
    +	- Examples were updated to reflect changes.
    +
    +2.7.002 (2008-03-13)
    +	- Bug "[1912142] Encrypted PDF created/modified date" was fixed.
    +
    +2.7.001 (2008-03-10)
    +	- Cell justification was fixed for non-unicode mode.
    +
    +2.7.000 (2008-03-09)
    +	- Cell() stretching mode 4 (forced character spacing) was fixed.
    +	- writeHTMLCell() now uses Multicell() to write.
    +	- Multicell() has a new parameter $ishtml to act as writeHTMLCell().
    +	- Write() speed was improved for non-arabic strings.
    +	- Example n. 20 was changed.
    +
    +2.6.000 (2008-03-07)
    +	- various alignments bugs were fixed.
    +
    +2.5.000 (2008-03-07)
    +	- Several bugs were fixed.
    +	- example_019.php was added to test non-unicode mode using old fonts.
    +
    +2.4.000 (2008-03-06)
    +	- RTL support was deeply improved.
    +	- GetStringWidth() was fixed to support RTL languages.
    +	- Text() RTL alignment was fixed.
    +	- Some functions were added: GetArrStringWidth(), GetCharWidth(), uniord(), utf8Bidi().
    +	- example_018.php was added and test_unicode.php was removed.
    +
    +2.3.000 (2008-03-05)
    +	- MultiCell() signature is changed. Now support multiple columns across pages (see example_017).
    +	- Write() signature is changed. Now support the cell mode to be used with MultiCell.
    +	- Header() and Footer() were changed.
    +	- The following functions were added: UTF8ArrSubString() and unichr().
    +	- Examples were updated to reflect last changes.
    +
    +2.2.004 (2008-03-04)
    +	- Several examples were added.
    +	- AddPage() Header() and Footer() were fixed.
    +	- Documentation is now available on http://www.tcpdf.org
    +
    +2.2.003 (2008-03-03)
    +	- [1894853] Performance of MultiCell() was improved.
    +	- RadioButton and ListBox functions were added.
    +	- javascript form functions were rewritten and properties names are changed. The properties function supported by form fields are listed on Possible values are listed on http://www.adobe.com/devnet/acrobat/pdfs/js_developer_guide.pdf.
    +
    +2.2.002 (2008-02-28)
    +	- [1900495] html images path was fixed.
    +	- Legacy image functions were reintroduced to allow PNG and JPEG support without GD library.
    +
    +2.2.001 (2008-02-16)
    +	- The bug "[1894700] bug with replace relative path" was fixed
    +	- Justification was fixed
    +
    +2.2.000 (2008-02-12)
    +	- fixed javascript bug introduced with latest release
    +
    +2.1.002 (2008-02-12)
    +	- Justify function was fixed on PHP4 version.
    +	- Bookmank function was added ([1578250] Table of contents).
    +	- Javascript and Form fields support was added ([1796359] Form fields).
    +
    +2.1.001 (2008-02-10)
    +	- The bug "[1885776] Race Condition in function justitfy" was fixed.
    +	- The bug "[1890217] xpdf complains that pdf is incorrect" was fixed.
    +
    +2.1.000 (2008-01-07)
    +	- FPDF_FONTPATH constant was changed to K_PATH_FONTS on config file
    +	- Bidirectional Algorithm to correctly reverse bidirectional languages was added.
    +	- SetLeftMargin, SetTopMargin, SetRightMargin functions were fixed.
    +	- SetCellPadding function was added.
    +	- writeHTML was updated with new parameters.
    +	- Text function was fixed.
    +	- MultiCell function was fixed, now works also across multiple pages.
    +	- Line width was fixed on Header and Footer functions and 
    tag. + - "GetImageSize" was renamed "getimagesize". + - Document version was changed from 1.3 to 1.5. + - _begindoc() function was fixed. + - ChangeDate was fixed and ModDate was added. + - The following functions were added: + setPage() : Move pointer to the specified document page. + getPage() : Get current document page number. + lastpage() : Reset pointer to the last document page. + getNumPages() : Get the total number of inserted pages. + GetNumChars() : count the number of (UTF-8) characters in a string. + - $stretch parameter was added to Cell() function to fit text on cell: + 0 = disabled + 1 = horizontal scaling only if necessary + 2 = forced horizontal scaling + 3 = character spacing only if necessary + 4 = forced character spacing + - Line function was fixed for RTL. + - Graphic transformation functions were added [1811158]: + StartTransform() + StopTransform() + ScaleX() + ScaleY() + ScaleXY() + Scale() + MirrorH() + MirrorV() + MirrorP() + MirrorL() + TranslateX() + TranslateY() + Translate() + Rotate() + SkewX() + SkewY() + Skew() + - Graphic function were added/updated [1688549]: + SetLineStyle() + _outPoint() + _outLine() + _outRect() + _outCurve() + Line() + Rect() + Curve + Ellipse + Circle + Polygon + RegularPolygon + +2.0.000 (2008-01-04) + - RTL (Right-To-Left) languages support was added. Language direction is set using the $l['a_meta_dir'] setting on /configure/language/xxx.php language files. + - setRTL($enable) method was added to manually enable/disable the RTL text direction. + - The attribute "dir" was added to support custom text direction on HTML tags. Possible values are: ltr - for Left-To-Right and RTL for Right-To-Left. + - RC4 40bit encryption was added. Check the SetProtection method. + - [1815213] Improved image support for GIF, JPEG, PNG formats. + - [1800094] Attribute "value" was added to ordered list items
  • . + - Image function now has a new "align" parameter that indicates the alignment of the pointer next to image insertion and relative to image height. The value can be: + T: top-right for LTR or top-left for RTL + M: middle-right for LTR or middle-left for RTL + B: bottom-right for LTR or bottom-left for RTL + N: next line + - Attribute "align" was added to html tag to set the above image "align" parameter. Possible values are: + top: top-right for LTR or top-left for RTL + middle: middle-right for LTR or middle-left for RTL + bottom: bottom-right for LTR or bottom-left for RTL + - [1798103] newline was added after , and

    tages. + - [1816393] Documentation was updated. + - 'ln' parameter was fixed on writeHTMLCell. Now it's possible to print two or more columns across several pages; + - The method lastPage() was added to move the pointer on the last page; + +------------------------------------------------------------ + +1.53.0.TC034 (2007-07-30) + - fixed htmlentities conversion. + - MultiCell() function returns the number of cells. + +1.53.0.TC033 (2007-07-30) + - fixed bug 1762550: case sensitive for font files + - NOTE: all fonts files names must be in lowercase! + +1.53.0.TC032 (2007-07-27) + - setLastH method was added to resolve bug 1689071. + - all fonts names were converted in lowercase (bug 1713005). + - bug 1740954 was fixed. + - justification was added as Cell option. + +1.53.0.TC031 (2007-03-20) + - ToUnicode CMap were added on _puttruetypeunicode function. Now you may search and copy unicode text. + +1.53.0.TC030 (2007-03-06) + - fixed bug on PHP4 version. + +1.53.0.TC029 (2007-03-06) + - DejaVu Fonts were added. + +1.53.0.TC028 (2007-03-03) + - MultiCell function signature were changed: the $ln parameter were added. Check documentation for further information. + - Greek language were added on example sentences. + - setPrintHeader() and setPrintFooter() functions were added to enable or disable page header and footer. + +1.53.0.TC027 (2006-12-14) + - $attr['face'] bug were fixed. + - K_TCPDF_EXTERNAL_CONFIG control where introduced on /config/tcpdf_config.php to use external configuration files. + +1.53.0.TC026 (2006-10-28) + - writeHTML function call were fixed on examples. + +1.53.0.TC025 (2006-10-27) + - Bugs item #1421290 were fixed (0D - 0A substitution in some characters) + - Bugs item #1573174 were fixed (MultiCell documentation) + +1.53.0.TC024 (2006-09-26) + - getPageHeight() function were fixed (bug 1543476). + - fixed missing breaks on closedHTMLTagHandler function (bug 1535263). + - fixed extra spaces on Write function (bug 1535262). + +1.53.0.TC023 (2006-08-04) + - paths to barcode directory were fixed. + - documentation were updated. + +1.53.0.TC022 (2006-07-16) + - fixed bug: [ 1516858 ] Probs with PHP autoloader and class_exists() + +1.53.0.TC021 (2006-07-01) + - HTML attributes with whitespaces are now supported (thanks to Nelson Benitez for his support) + +1.53.0.TC020 (2006-06-23) + - code cleanup + +1.53.0.TC019 (2006-05-21) + - fixed and closing tags + +1.53.0.TC018 (2006-05-18) + - fixed font names bug + +1.53.0.TC017 (2006-05-18) + - the TTF2UFM utility to convert True Type fonts for TCPDF were included on fonts folder. + - new free unicode fonts were included on /fonts/freefont. + - test_unicode.php example were exended. + - parameter $fill were added on Write, writeHTML and writeHTMLCell functions. + - documentation were updated. + +1.53.0.TC016 (2006-03-09) + - fixed closing tag on html parser. + +1.53.0.TC016 (2005-08-28) + - fpdf.php and tcpdf.php files were joined in one single class (you can still extend TCPDF with your own class). + - fixed problem when mb_internal_encoding is set. + +1.53.0.TC014 (2005-05-29) + - fixed WriteHTMLCell new page issue. + +1.53.0.TC013 (2005-05-29) + - fixed WriteHTMLCell across pages. + +1.53.0.TC012 (2005-05-29) + - font color attribute bug were fixed. + +1.53.0.TC011 (2005-03-31) + - SetFont function were fixed (thank Sjaak Lauwers for bug notice). + +1.53.0.TC010 (2005-03-22) + - the html functions were improved (thanks to Manfred Vervuert for bug reporting). + +1.53.0.TC009 (2005-03-19) + - a wrong reference to convertColorHexToDec were fixed. + +1.53.0.TC008 (2005-02-07) + - removed some extra bytes from PHP files. + +1.53.0.TC007 (2005-01-08) + - fill attribute were removed from writeHTMLCell method. + +1.53.0.TC006 (2005-01-08) + - the documentation were updated. + +1.53.0.TC005 (2005-01-05) + - Steven Wittens's unicode methods were removed. + - All unicode methods were rewritten from scratch. + - TCPDF is now licensed as LGPL. + +1.53.0.TC004 (2005-01-04) + - this changelog were added. + - removed commercial fonts for licensing issue. + - Bitstream Vera Fonts were added (http://www.bitstream.com/font_rendering/products/dev_fonts/vera.html). + - Now the AddFont and SetFont functions returns the basic font if the styled version do not exist. + +EOF -------------------------------------------------------- diff --git a/vendor/tecnickcom/tcpdf/LICENSE.TXT b/vendor/tecnickcom/tcpdf/LICENSE.TXT new file mode 100644 index 0000000..4e446a1 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/LICENSE.TXT @@ -0,0 +1,860 @@ +********************************************************************** +* TCPDF LICENSE +********************************************************************** + + TCPDF is free software: you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + 2002-2025 Nicola Asuni - Tecnick.com LTD + +********************************************************************** +********************************************************************** + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + +********************************************************************** +********************************************************************** + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +********************************************************************** +********************************************************************** diff --git a/vendor/tecnickcom/tcpdf/README.md b/vendor/tecnickcom/tcpdf/README.md new file mode 100644 index 0000000..0144f49 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/README.md @@ -0,0 +1,83 @@ +# TCPDF +*PHP PDF Library* + +[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ) +*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/donate/?hosted_button_id=NZUEC5XS8MFBJ)* + +* **category** Library +* **author** Nicola Asuni +* **copyright** 2002-2025 Nicola Asuni - Tecnick.com LTD +* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT) +* **link** http://www.tcpdf.org +* **source** https://github.com/tecnickcom/TCPDF + + +## NOTE +A new version of this library is under development at https://github.com/tecnickcom/tc-lib-pdf and as a consequence this library is in support only mode. + + + +## Description + +PHP library for generating PDF documents on-the-fly. + +### Main Features: +* no external libraries are required for the basic functions; +* all standard page formats, custom page formats, custom margins and units of measure; +* UTF-8 Unicode and Right-To-Left languages; +* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts; +* font subsetting; +* methods to publish some XHTML + CSS code, Javascript and Forms; +* images, graphic (geometric figures) and transformation methods; +* supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/script/formats.php) +* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417; +* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies; +* automatic page header and footer management; +* document encryption up to 256 bit and digital signature certifications; +* transactions to UNDO commands; +* PDF annotations, including links, text and file attachments; +* text rendering modes (fill, stroke and clipping); +* multiple columns mode; +* no-write page regions; +* bookmarks, named destinations and table of content; +* text hyphenation; +* text stretching and spacing (tracking); +* automatic page break, line break and text alignments including justification; +* automatic page numbering and page groups; +* move and delete pages; +* page compression (requires php-zlib extension); +* XOBject Templates; +* Layers and object visibility. +* PDF/A-1b support. + +### Third party fonts: + +This library may include third party font files released with different licenses. + +All the PHP files on the fonts directory are subject to the general TCPDF license (GNU-LGPLv3), +they do not contain any binary data but just a description of the general properties of a particular font. +These files can be also generated on the fly using the font utilities and TCPDF methods. + +All the original binary TTF font files have been renamed for compatibility with TCPDF and compressed using the gzcompress PHP function that uses the ZLIB data format (.z files). + +The binary files (.z) that begins with the prefix "free" have been extracted from the GNU FreeFont collection (GNU-GPLv3). +The binary files (.z) that begins with the prefix "pdfa" have been derived from the GNU FreeFont, so they are subject to the same license. +For the details of Copyright, License and other information, please check the files inside the directory fonts/freefont-20120503 +Link : http://www.gnu.org/software/freefont/ + +The binary files (.z) that begins with the prefix "dejavu" have been extracted from the DejaVu fonts 2.33 (Bitstream) collection. +For the details of Copyright, License and other information, please check the files inside the directory fonts/dejavu-fonts-ttf-2.33 +Link : http://dejavu-fonts.org + +The binary files (.z) that begins with the prefix "ae" have been extracted from the Arabeyes.org collection (GNU-GPLv2). +Link : http://projects.arabeyes.org/ + +### ICC profile: + +TCPDF includes the sRGB.icc profile from the icc-profiles-free Debian package: +https://packages.debian.org/source/stable/icc-profiles-free + + +## Developer(s) Contact + +* Nicola Asuni diff --git a/vendor/tecnickcom/tcpdf/VERSION b/vendor/tecnickcom/tcpdf/VERSION new file mode 100644 index 0000000..cf79bf9 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/VERSION @@ -0,0 +1 @@ +6.10.0 diff --git a/vendor/tecnickcom/tcpdf/composer.json b/vendor/tecnickcom/tcpdf/composer.json new file mode 100644 index 0000000..8d77919 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/composer.json @@ -0,0 +1,46 @@ +{ + "name": "tecnickcom/tcpdf", + "type": "library", + "description": "TCPDF is a PHP class for generating PDF documents and barcodes.", + "keywords": [ + "PDF", + "tcpdf", + "PDFD32000-2008", + "qrcode", + "datamatrix", + "pdf417", + "barcodes" + ], + "homepage": "http://www.tcpdf.org/", + "version": "6.10.0", + "license": "LGPL-3.0-or-later", + "authors": [ + { + "name": "Nicola Asuni", + "email": "info@tecnick.com", + "role": "lead" + } + ], + "require": { + "php": ">=7.1.0", + "ext-curl": "*" + }, + "autoload": { + "classmap": [ + "config", + "include", + "tcpdf.php", + "tcpdf_barcodes_1d.php", + "tcpdf_barcodes_2d.php", + "include/tcpdf_colors.php", + "include/tcpdf_filters.php", + "include/tcpdf_font_data.php", + "include/tcpdf_fonts.php", + "include/tcpdf_images.php", + "include/tcpdf_static.php", + "include/barcodes/datamatrix.php", + "include/barcodes/pdf417.php", + "include/barcodes/qrcode.php" + ] + } +} diff --git a/vendor/tecnickcom/tcpdf/config/tcpdf_config.php b/vendor/tecnickcom/tcpdf/config/tcpdf_config.php new file mode 100644 index 0000000..9888a67 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/config/tcpdf_config.php @@ -0,0 +1,235 @@ +. +// +// See LICENSE.TXT file for more information. +//============================================================+ + +/** + * Configuration file for TCPDF. + * @author Nicola Asuni + * @package com.tecnick.tcpdf + * @version 4.9.005 + * @since 2004-10-27 + */ + +// IMPORTANT: +// If you define the constant K_TCPDF_EXTERNAL_CONFIG, all the following settings will be ignored. +// If you use the tcpdf_autoconfig.php, then you can overwrite some values here. + + +/** + * Installation path (/var/www/tcpdf/). + * By default it is automatically calculated but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_MAIN', ''); + +/** + * URL path to tcpdf installation folder (http://localhost/tcpdf/). + * By default it is automatically set but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_URL', ''); + +/** + * Path for PDF fonts. + * By default it is automatically set but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_FONTS', K_PATH_MAIN.'fonts/'); + +/** + * Default images directory. + * By default it is automatically set but you can also set it as a fixed string to improve performances. + */ +//define ('K_PATH_IMAGES', ''); + +/** + * Deafult image logo used be the default Header() method. + * Please set here your own logo or an empty string to disable it. + */ +//define ('PDF_HEADER_LOGO', ''); + +/** + * Header logo image width in user units. + */ +//define ('PDF_HEADER_LOGO_WIDTH', 0); + +/** + * Cache directory for temporary files (full path). + */ +//define ('K_PATH_CACHE', '/tmp/'); + +/** + * Generic name for a blank image. + */ +define ('K_BLANK_IMAGE', '_blank.png'); + +/** + * Page format. + */ +define ('PDF_PAGE_FORMAT', 'A4'); + +/** + * Page orientation (P=portrait, L=landscape). + */ +define ('PDF_PAGE_ORIENTATION', 'P'); + +/** + * Document creator. + */ +define ('PDF_CREATOR', 'TCPDF'); + +/** + * Document author. + */ +define ('PDF_AUTHOR', 'TCPDF'); + +/** + * Header title. + */ +define ('PDF_HEADER_TITLE', 'TCPDF Example'); + +/** + * Header description string. + */ +define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org"); + +/** + * Document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]. + */ +define ('PDF_UNIT', 'mm'); + +/** + * Header margin. + */ +define ('PDF_MARGIN_HEADER', 5); + +/** + * Footer margin. + */ +define ('PDF_MARGIN_FOOTER', 10); + +/** + * Top margin. + */ +define ('PDF_MARGIN_TOP', 27); + +/** + * Bottom margin. + */ +define ('PDF_MARGIN_BOTTOM', 25); + +/** + * Left margin. + */ +define ('PDF_MARGIN_LEFT', 15); + +/** + * Right margin. + */ +define ('PDF_MARGIN_RIGHT', 15); + +/** + * Default main font name. + */ +define ('PDF_FONT_NAME_MAIN', 'helvetica'); + +/** + * Default main font size. + */ +define ('PDF_FONT_SIZE_MAIN', 10); + +/** + * Default data font name. + */ +define ('PDF_FONT_NAME_DATA', 'helvetica'); + +/** + * Default data font size. + */ +define ('PDF_FONT_SIZE_DATA', 8); + +/** + * Default monospaced font name. + */ +define ('PDF_FONT_MONOSPACED', 'courier'); + +/** + * Ratio used to adjust the conversion of pixels to user units. + */ +define ('PDF_IMAGE_SCALE_RATIO', 1.25); + +/** + * Magnification factor for titles. + */ +define('HEAD_MAGNIFICATION', 1.1); + +/** + * Height of cell respect font height. + */ +define('K_CELL_HEIGHT_RATIO', 1.25); + +/** + * Title magnification respect main font size. + */ +define('K_TITLE_MAGNIFICATION', 1.3); + +/** + * Reduction factor for small font. + */ +define('K_SMALL_RATIO', 2/3); + +/** + * Set to true to enable the special procedure used to avoid the overlappind of symbols on Thai language. + */ +define('K_THAI_TOPCHARS', true); + +/** + * If true allows to call TCPDF methods using HTML syntax + * IMPORTANT: For security reason, disable this feature if you are printing user HTML content. + */ +define('K_TCPDF_CALLS_IN_HTML', false); + +/** + * List of TCPDF methods that are allowed to be called using HTML syntax. + * Note: each method name must end with surrounded with | (pipe) character. + * The constant K_TCPDF_CALLS_IN_HTML must be set to true. + * IMPORTANT: For security reason, disable this feature if you are allowing user HTML content. + */ +define('K_ALLOWED_TCPDF_TAGS', ''); + +/** + * If true and PHP version is greater than 5, then the Error() method throw new exception instead of terminating the execution. + */ +define('K_TCPDF_THROW_EXCEPTION_ERROR', false); + +/** + * Default timezone for datetime functions + */ +define('K_TIMEZONE', 'UTC'); + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/COPYING b/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/COPYING new file mode 100644 index 0000000..a8e2dd4 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/COPYING @@ -0,0 +1,343 @@ + -* www.gnu.org *- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + diff --git a/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/ChangeLog b/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/ChangeLog new file mode 100644 index 0000000..3e2a906 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/ChangeLog @@ -0,0 +1,863 @@ +2007-08-20 00:48 Youssef Chahibi + + * sfd/ae_AlArabiya.sfd: Diagonal marks + +2007-08-20 00:25 Khaled Hosny + + * README: Added Release notes, preparing for 2.0 release. + +2007-08-19 23:19 Youssef Chahibi + + * sfd/ae_AlArabiya.sfd: Stack diacritics definition + +2007-08-19 22:56 Khaled Hosny + + * sfd/ae_Tholoth.sfd: + * Added 'rlg' lookup table and subtable and registered stacked + diacritic ligatures. + * kasrah and kasratan were too close to the base glyph, fixed. + +2007-08-19 22:28 Khaled Hosny + + * sfd/: ae_AlHor.sfd, ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, + ae_AlYarmook.sfd, ae_Arab.sfd, ae_Cortoba.sfd, ae_Furat.sfd, + ae_Graph.sfd, ae_Kayrawan.sfd, ae_Khalid.sfd, ae_Mashq-Bold.sfd, + ae_Mashq.sfd, ae_Metal.sfd, ae_Nada.sfd, ae_Nagham.sfd, + ae_Ostorah.sfd, ae_Ouhod-Bold.sfd, ae_Petra.sfd, + ae_Rasheeq-Bold.sfd, ae_Rehan.sfd, ae_Salem.sfd, ae_Shado.sfd, + ae_Sharjah.sfd, ae_Sindbad.sfd, ae_Tarablus.sfd: Scaled up + diacritic glyphs, this makes them more readable. + +2007-08-19 22:03 Youssef Chahibi + + * sfd/ae_AlArabiya.sfd: New sukun, removed wrong anchors from + kasrah + +2007-08-19 20:26 Khaled Hosny + + * sfd/ae_AlMothnna-Bold.sfd: Added 'rlg' lookup table and subtable + and registered stacked diacritic ligatures. + +2007-08-19 18:28 Youssef Chahibi + + * sfd/ae_AlMothnna-Bold.sfd: Fixed shaddas + +2007-08-19 18:01 Youssef Chahibi + + * sfd/ae_AlMothnna-Bold.sfd: Stacked diacrititcs + +2007-08-19 14:49 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: Removed mark2mark anchors, now we use + ligature substitution for stacked diacritics instead of anchors. + Added 'rlg' lookup table and subtable and registered stacked + diacritic ligatures. + +2007-08-19 02:30 Youssef Chahibi + + * sfd/ae_AlArabiya.sfd: Stacked diacritics added + +2007-08-19 01:53 Khaled Hosny + + * sfd/ArabicReesha.sfd: + * Added to new ligatures; and + . + * Small fixes to Jeem isolated width. + +2007-08-18 21:30 Youssef Chahibi + + * sfd/ae_AlMothnna-Bold.sfd: Diacritics fixed except allahisolated + ligature + +2007-08-18 20:13 Khaled Hosny + + * sfd/ae_AlMothnna-Bold.sfd: Removed old, buggy, anchors and auto + added new ones, needs manual editing. + +2007-08-18 19:11 Youssef Chahibi + + * sfd/ae_AlMothnna-Bold.sfd: New shadda, modified sukun to meet the + other marks + +2007-08-18 17:20 Youssef Chahibi + + * sfd/ae_AlArabiya.sfd: New diacritics for ae_AlArabiya.sfd + +2007-08-17 23:19 Afief Halumi + + * sfd/ae_Tholoth.sfd: ae_Tholoth.sfd: Added glyphs U+FC5E - U+FC62. + +2007-08-16 14:56 Khaled Hosny + + * sfd/ae_AlMohanad.sfd: AlMohanad: Fixed U+FEDA (kaf final) to take + the shape of ordinary final kaf rather than the long variant. + +2007-08-15 14:25 Khaled Hosny + + * sfd/ArabicReesha.sfd: ArabicReesha.sfd: Fixed a bug that caused + some isolated glyphs to have more space to the right. + +2007-08-15 12:02 Khaled Hosny + + * sfd/: ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, ae_AlYarmook.sfd, + ae_Electron.sfd, ae_Hani.sfd, ae_Haramain.sfd, ae_Khalid.sfd, + ae_Rasheeq-Bold.sfd, ae_Rehan.sfd, ae_Sharjah.sfd, + ae_Tarablus.sfd, ae_Tholoth.sfd: Add new 'liga' table without + "Ignore Combining Marks" flag, allahisolated ligature belong to that + table now, so when allahisolated has a tashkil on it, the ligature + will be ignored and will use normal glyphs instead. + +2007-08-15 11:05 Khaled Hosny + + * sfd/: ae_Granada.sfd, ae_Graph.sfd, ae_Haramain.sfd, + ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, ae_Sindbad.sfd, + ae_Tarablus.sfd: Added "Ignore Combining Marks flag" to 'liga' + table. + +2007-08-15 10:35 Khaled Hosny + + * sfd/ArabicReesha.sfd: ArabicReesha: New font based on SIL's + Scheherazade, first version. + +2007-08-15 00:23 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: Shadda was missing mark2mark below anchor. + +2007-08-14 23:28 Mohammed Adnene Trojette + + * Makefile: GPL has been removed + +2007-08-14 23:21 Mohammed Adnene Trojette + + * COPYING, README: Copyright informations + +2007-08-14 23:05 Khaled Hosny + + * COPYING: Updated to refer to FreeFonts project. + +2007-08-14 22:56 Khaled Hosny + + * sfd/ae_Salem.sfd: Updated the copyright statement, to mention GPL + font exception and FreeFonts project, again + +2007-08-14 22:43 Afief Halumi + + * sfd/ae_Salem.sfd: Revert to 1.7 and added Allah anchors(again). + +2007-08-14 21:35 Afief Halumi + + * sfd/ae_Tholoth.sfd: Minor positioning fix + +2007-08-14 21:12 Khaled Hosny + + * sfd/ae_Tholoth.sfd: Added missed U+0647. + +2007-08-14 18:37 Khaled Hosny + + * sfd/: ae_AlArabiya.sfd, ae_AlBattar.sfd, ae_AlHor.sfd, + ae_AlManzomah.sfd, ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, + ae_AlMothnna-Bold.sfd, ae_AlYarmook.sfd, ae_Arab.sfd, + ae_Cortoba.sfd, ae_Dimnah.sfd, ae_Electron.sfd, ae_Furat.sfd, + ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd, ae_Haramain.sfd, + ae_Hor.sfd, ae_Japan.sfd, ae_Jet.sfd, ae_Kayrawan.sfd, + ae_Khalid.sfd, ae_Mashq-Bold.sfd, ae_Mashq.sfd, ae_Metal.sfd, + ae_Nada.sfd, ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd, ae_Petra.sfd, ae_Rasheeq-Bold.sfd, + ae_Rehan.sfd, ae_Salem.sfd, ae_Shado.sfd, ae_Sharjah.sfd, + ae_Sindbad.sfd, ae_Tarablus.sfd, ae_Tholoth.sfd: Updated the + copyright statement, to mention GPL font exception and FreeFonts + project. + +2007-08-13 22:18 Khaled Hosny + + * sfd/: ae_AlArabiya.sfd, ae_AlBattar.sfd, ae_AlManzomah.sfd, + ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, ae_AlMothnna-Bold.sfd, + ae_Arab.sfd, ae_Cortoba.sfd, ae_Electron.sfd, ae_Furat.sfd, + ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd, ae_Haramain.sfd, + ae_Hor.sfd, ae_Jet.sfd, ae_Kayrawan.sfd, ae_Mashq-Bold.sfd, + ae_Mashq.sfd, ae_Nada.sfd, ae_Nagham.sfd, ae_Nice.sfd, + ae_Ostorah.sfd, ae_Ouhod-Bold.sfd, ae_Petra.sfd, + ae_Rasheeq-Bold.sfd, ae_Rehan.sfd, ae_Salem.sfd, ae_Shado.sfd, + ae_Sharjah.sfd, ae_Sindbad.sfd, ae_Tarablus.sfd, ae_Tholoth.sfd: + * Add missed mark2mark anchors in the affected files, though we + aren't going to use this on the long run, but I'll leave that task + for 2.1 . + * Reencoded all files to unicode glyph map. + +2007-08-13 14:47 Khaled Hosny + + * sfd/: ae_Petra.sfd, ae_Shado.sfd: ae_Petra.sfd, ae_Shado.sfd: + Full support for diacritics positioning by Osama Khalid. + +2007-08-13 10:38 Khaled Hosny + + * sfd/: ae_Hor.sfd, ae_Sharjah.sfd: + * ae_Hor: Full support for diacritics positioning by Fahd. + * ae_Sharjah: Full support for diacritics positioning by Fahd. + +2007-08-13 05:34 Youssef Chahibi + + * sfd/: ae_Nice.sfd, ae_Tarablus.sfd: Full diacritics supports, + needs a check + +2007-08-13 05:24 Youssef Chahibi + + * sfd/ae_Nagham.sfd: Full diacritics supports, needs a check + +2007-08-13 05:08 Youssef Chahibi + + * sfd/ae_Haramain.sfd: Full diacritics supports, needs a check + +2007-08-13 04:42 Youssef Chahibi + + * sfd/ae_Graph.sfd: Full diacritics supports, needs a check + +2007-08-13 04:38 Youssef Chahibi + + * sfd/ae_Granada.sfd: Full diacritics supports, needs a check + +2007-08-13 03:28 Afief Halumi + + * sfd/ae_Ostorah.sfd: ae_Ostorah.sfd: Full support for diacritic + positioning. + +2007-08-13 02:13 Youssef Chahibi + + * sfd/ae_Haramain.sfd: Done: replaced ugly marks, repositioned + below marks + +2007-08-13 01:31 Youssef Chahibi + + * sfd/ae_Graph.sfd: Done, needs to be checked + +2007-08-13 01:16 Youssef Chahibi + + * sfd/ae_Granada.sfd: Done, needs to be checked + +2007-08-12 23:05 Youssef Chahibi + + * sfd/: ae_Tarablus.sfd: First steps + +2007-08-12 18:24 Afief Halumi + + * sfd/ae_Electron.sfd: ae_Electron.sfd: Full support for diacritic + positioning. + +2007-08-12 16:06 Khaled Hosny + + * sfd/ae_Hani.sfd: ae_Hani.sfd: Full support for diacritic + positioning by Osama Khaled + +2007-08-11 23:33 Afief Halumi + + * sfd/ae_Ouhod-Bold.sfd: ae_Ouhod-Bold.sfd: Full support for + diacritic positioning. + +2007-08-11 21:28 Afief Halumi + + * sfd/ae_Rasheeq-Bold.sfd: ae_Rasheeq-Bold.sfd: Full diacritic + support. + +2007-08-11 15:09 Khaled Hosny + + * sfd/ae_Hor.sfd: some fixes + +2007-08-11 14:55 Khaled Hosny + + * sfd/: ae_Electron.sfd, ae_Granada.sfd, ae_Graph.sfd, + ae_Haramain.sfd, ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd, ae_Rasheeq-Bold.sfd, ae_Shado.sfd, + ae_Sharjah.sfd, ae_Tarablus.sfd: More tweaking, it is ready for + manual editing now (I hope so). + +2007-08-11 11:08 Khaled Hosny + + * sfd/ae_Hor.sfd: Fahd: I updated the anchor points, please use + this instead of the old version. + +2007-08-11 10:45 Khaled Hosny + + * sfd/: ae_Electron.sfd, ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd, + ae_Haramain.sfd, ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd, ae_Petra.sfd, ae_Rasheeq-Bold.sfd, + ae_Shado.sfd, ae_Sharjah.sfd, ae_Tarablus.sfd: Replaced old + anchor points with new ones and better automatic positioning using + the improved addanchors.pe script. Please update your local copy + before doing any further work, this will make our life easier. + +2007-08-11 10:25 Khaled Hosny + + * tools/addanchors.pe: Now X and Y values are computed to produce a + far better result, the needed manual tweaking is very little now. + +2007-08-10 01:27 Khaled Hosny + + * sfd/ae_Nada.sfd: ae_Nada.sfd: Full support for diacritic + positioning by Fahd AlSaidi. + +2007-08-07 23:47 Khaled Hosny + + * sfd/ae_AlYarmook.sfd: + * ae_AlYarmook.sfd: Changed font name and other related feilds from + AlYermook to AlYarmook + * ae_AlYarmook.sfd: Full support for diacritic positioning. + +2007-08-07 00:22 Khaled Hosny + + * sfd/ae_Mashq-Bold.sfd: sfd/ae_Mashq-Bold.sfd: Full support for + diacritic positioning. + +2007-08-06 02:58 Khaled Hosny + + * sfd/ae_Rehan.sfd: Mark to mark ligatures were too close, fixed. + +2007-08-04 20:14 Afief Halumi + + * sfd/ae_Rehan.sfd: ae_Rehan.sfd: Full support for diacritic + positioning. + +2007-08-04 01:22 Khaled Hosny + + * sfd/ae_Mashq.sfd: ae_Mashq.sfd: Full support for diacritic + positioning. + +2007-08-04 01:19 Khaled Hosny + + * sfd/ae_Khalid.sfd: Reencoded the file to Unicode. + +2007-08-04 01:16 Khaled Hosny + + * sfd/ae_Kayrawan.sfd: Fixed ArabicMark2MarkBelow anchor point. + Reencoded the file to Unicode. + +2007-08-03 06:12 Youssef Chahibi + + * sfd/ae_Kayrawan.sfd: Fixed two letters ligatures diacritics + +2007-08-03 05:55 Youssef Chahibi + + * sfd/ae_Kayrawan.sfd: Added لله ligature diacritics + +2007-08-03 05:01 Youssef Chahibi + + * sfd/ae_Kayrawan.sfd: Ignore combining marks set + +2007-08-03 04:51 Youssef Chahibi + + * sfd/ae_Kayrawan.sfd: Full diacritics support - + ArabicMark2MarkBelow need to be checked + +2007-08-03 02:40 Afief Halumi + + * sfd/ae_Salem.sfd: Added and positioned anchors for Allah glyph. + +2007-08-03 02:32 Khaled Hosny + + * sfd/ae_Dimnah.sfd: ae_Dimnah.sfd: Full support for diacritic + positioning. + +2007-08-03 01:26 Youssef Chahibi + + * sfd/ae_Kayrawan.sfd: First steps in font editing + +2007-08-03 00:10 Afief Halumi + + * sfd/ae_Salem.sfd: ae_Salem.sfd: Full diacritic support. + +2007-08-02 04:50 Khaled Hosny + + * sfd/ae_Arab.sfd: Fixed ligatures anchor points. + +2007-08-02 02:15 Khaled Hosny + + * sfd/ae_Arab.sfd: Support for diacritic positioning by Osama + Khalid. + +2007-08-01 23:09 Khaled Hosny + + * sfd/ae_AlManzomah.sfd: ae_AlManzomah.sfd: Full support for + diacritic positioning. + +2007-08-01 01:56 Khaled Hosny + + * sfd/ae_Khalid.sfd: ae_Khalid.sfd: Full support for diacritic + positioning. + +2007-07-28 11:43 Khaled Hosny + + * sfd/ae_AlMateen-Bold.sfd: ae_AlMateen-Bold.sfd: Full support for + diacritic positioning. + +2007-07-27 22:16 Afief Halumi + + * Makefile: New make targets as requested by KhaledHosney. + +2007-07-27 21:04 Khaled Hosny + + * sfd/ae_AlHor.sfd: ae_AlHor.sfd: Full diacritic support + +2007-07-26 10:14 Afief Halumi + + * sfd/ae_Jet.sfd: ./sfd/ae_Jet.sfd: Full diacritic support. + +2007-07-26 01:38 Khaled Hosny + + * sfd/ae_Japan.sfd: Aeif, you forgot the ligatures and letter beh + isolated, fixed + +2007-07-25 14:41 Khaled Hosny + + * sfd/ae_Metal.sfd: Add anchor points for لله ligature + +2007-07-25 12:52 Afief Halumi + + * sfd/ae_Metal.sfd: ae_Metal: Full diacritic support. + +2007-07-25 01:36 Afief Halumi + + * sfd/ae_Japan.sfd: ae_Japan: Full diacritic support. + +2007-07-25 01:28 Khaled Hosny + + * sfd/ae_Cortoba.sfd: minor fix + +2007-07-25 00:24 Khaled Hosny + + * sfd/ae_Cortoba.sfd: + + ----------------------------------------------------------------------ae_Cortoba.sfd: Full support for diacritic positioning. + +2007-07-24 18:34 Khaled Hosny + + * tools/generate.sh: not needed any more, use 'make' instead + +2007-07-24 18:31 Khaled Hosny + + * sfd/ae_Sindbad.sfd: Add anchor points for لله ligature + +2007-07-24 18:04 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: Fixed ligatures anchor points + +2007-07-24 17:55 Khaled Hosny + + * sfd/ae_Furat.sfd: Add anchor points for لله ligature + +2007-07-23 23:16 Khaled Hosny + + * README, README.cvs: + - new readme file to explain how to build ttf onts from our cvs + tree. + +2007-07-23 23:01 Khaled Hosny + + * sfd/ae_AlBattar.sfd: few fixes in the diacritic positions + +2007-07-23 13:56 Khaled Hosny + + * sfd/ae_AlBattar.sfd: ae_AlBattar.sfd, full support for diacritic + positioning. + +2007-07-23 05:28 Afief Halumi + + * Makefile: Now doesn't rebuild untouched fonts, should save some + server cycles. + +2007-07-23 04:00 Khaled Hosny + + * sfd/ae_Sindbad.sfd: Unchecked 'compact' option + +2007-07-23 00:16 Khaled Hosny + + * sfd/ae_Sindbad.sfd: + - Add the missed "Ignore Combining Marks" feature to Arabic liga + lookuptable, Afief please remember this. + - Few changes in ArabicBelow anchor points placement. + +2007-07-22 14:42 Khaled Hosny + + * sfd/ae_AlBattar.sfd: Diacritic support, for isolated glyphs only. + +2007-07-22 00:43 Afief Halumi + + * sfd/ae_Sindbad.sfd: Full support for diacritic positioning. + +2007-07-21 21:38 Khaled Hosny + + * Makefile: fixed "clean" to remove the bzipped archive. + +2007-07-21 21:34 Khaled Hosny + + * Makefile: + - All files are under ae_fonts dir now. + - The archive is bzipped. + +2007-07-21 20:05 Afief Halumi + + * Makefile: Committed the Makefile. Hope you like it. + +2007-07-21 19:11 Khaled Hosny + + * tools/generate.pe: Add a usage note. + +2007-07-21 19:09 Khaled Hosny + + * tools/generate.pe: Now accepts a 2nd argument for the .ttf file + name. + +2007-07-21 18:52 Afief Halumi + + * sfd/ae_Tholoth.sfd: A few fixes in positioning. + +2007-07-21 16:48 Afief Halumi + + * sfd/ae_Tholoth.sfd: Finished work on ae_Tholoth.sfd; Added a few + better glyphs and full support for diacritic positioning. + +2007-07-21 00:04 Khaled Hosny + + * sfd/ae_Tholoth.sfd: + + Diacritics work by afief + +2007-07-19 23:49 Khaled Hosny + + * tools/addanchors.pe: Add support for mark2glyph anchor points, + thanks George Williams for fixing fontforge's bug. + +2007-07-19 23:16 Khaled Hosny + + * sfd/: ae_AlBattar.sfd, ae_AlHor.sfd, ae_AlManzomah.sfd, + ae_AlMateen-Bold.sfd, ae_AlYarmook.sfd, ae_Arab.sfd, + ae_Cortoba.sfd, ae_Dimnah.sfd, ae_Electron.sfd, ae_Granada.sfd, + ae_Graph.sfd, ae_Hani.sfd, ae_Haramain.sfd, ae_Hor.sfd, + ae_Japan.sfd, ae_Jet.sfd, ae_Kayrawan.sfd, ae_Khalid.sfd, + ae_Mashq-Bold.sfd, ae_Mashq.sfd, ae_Metal.sfd, ae_Nada.sfd, + ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, ae_Ouhod-Bold.sfd, + ae_Petra.sfd, ae_Rasheeq-Bold.sfd, ae_Rehan.sfd, ae_Salem.sfd, + ae_Shado.sfd, ae_Sharjah.sfd, ae_Sindbad.sfd, ae_Tarablus.sfd, + ae_Tholoth.sfd: + + - Removed Cyrillic and Greek glyphs, this makes the font more + lighter. + - Add all needed anchor points, still needs to be manually adjusted. + +2007-07-19 23:15 Khaled Hosny + + * sfd/: ae_AlMohanad.sfd, ae_AlMothnna-Bold.sfd, ae_Furat.sfd: + Removed Cyrillic and Greek glyphs, this makes the font more lighter. + +2007-07-19 23:12 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: full support for diacritic positioning + +2007-07-18 14:57 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: + + Full mark2base and mark2mark anchor points + +2007-07-16 20:53 Khaled Hosny + + * sfd/ae_Nada.sfd: + + Removed obsolete reference to Btstream copyright, we don't include + any Bitstream copyrighted glyphs anymore. + +2007-07-16 20:03 Khaled Hosny + + * tools/: addanchors.pe, addlookups.pe, cp.pe, generate.pe: + + use "#!/usr/bin/env fontforge" instead of "#!/usr/bin/fontforge" + +2007-07-16 13:47 Khaled Hosny + + * sfd/ae_AlMohanad.sfd: + + Full support for proper diacritics positioning + +2007-07-16 00:16 Khaled Hosny + + * tools/: addanchors.pe, addlookups.pe, cp.pe, generate.pe: Now the + scripts require Fotforge 20070501 or newer, older versions use older + SFD formate which we don't suport. + +2007-07-16 00:09 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: Add support for proper diacritic + positioning by Afief Halumi, still in progress + +2007-07-15 23:48 Khaled Hosny + + * sfd/ae_Furat.sfd: full support for diacritic positioning + +2007-07-15 20:08 Khaled Hosny + + * sfd/: ae_AlBattar.sfd, ae_AlHor.sfd, ae_AlManzomah.sfd, + ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, ae_AlYarmook.sfd, + ae_Arab.sfd, ae_Cortoba.sfd, ae_Dimnah.sfd, ae_Electron.sfd, + ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd, ae_Haramain.sfd, + ae_Hor.sfd, ae_Japan.sfd, ae_Jet.sfd, ae_Kayrawan.sfd, + ae_Khalid.sfd, ae_Mashq-Bold.sfd, ae_Mashq.sfd, ae_Metal.sfd, + ae_Nada.sfd, ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd, ae_Petra.sfd, ae_Rasheeq-Bold.sfd, + ae_Rehan.sfd, ae_Salem.sfd, ae_Shado.sfd, ae_Sharjah.sfd, + ae_Sindbad.sfd, ae_Tarablus.sfd, ae_Tholoth.sfd: removed traces + of ae_ prefix + +2007-07-15 19:44 Khaled Hosny + + * sfd/ae_AlArabiya.sfd: removed traces of ae_ prefix + +2007-07-13 20:14 Khaled Hosny + + * sfd/ae_AlMothnna-Bold.sfd: + - Removed traces of ae_ prefix. + - Full support for proper Arabic diacritics positioning. + +2007-07-13 19:38 Khaled Hosny + + * sfd/ae_Furat.sfd: + - Removed traces of ae_ prefix. + - add anchor points for Arabic diacritics, needs manual tuning. + +2007-07-13 19:09 Khaled Hosny + + * tools/: addanchors.pe, addlookups.pe: scripts to assist adding + lookup tables and anchor points needed for proper diacritics + (harakat) support. + +2007-07-01 03:31 Khaled Hosny + + * sfd/: ae_AlArabiya.sfd, ae_AlBattar.sfd, ae_AlHor.sfd, + ae_AlManzomah.sfd, ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, + ae_AlMothnna-Bold.sfd, ae_AlYarmook.sfd, ae_Arab.sfd, + ae_Cortoba.sfd, ae_Dimnah.sfd, ae_Electron.sfd, ae_Furat.sfd, + ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd, ae_Haramain.sfd, + ae_Hor.sfd, ae_Japan.sfd, ae_Jet.sfd, ae_Kayrawan.sfd, + ae_Khalid.sfd, ae_Mashq-Bold.sfd, ae_Mashq.sfd, ae_Metal.sfd, + ae_Nada.sfd, ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd, ae_Petra.sfd, ae_Rasheeq-Bold.sfd, + ae_Rehan.sfd, ae_Salem.sfd, ae_Shado.sfd, ae_Sharjah.sfd, + ae_Sindbad.sfd, ae_Tarablus.sfd, ae_Tholoth.sfd: Removed ae_ + prefix from all fonts, see + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=361965 + +2007-06-30 22:02 Khaled Hosny + + * README: Initial README file + +2007-06-30 20:20 Khaled Hosny + + * tools/: generate.pe, generate.sh: Scripts to generate TTF files + from SFD ones. + +2007-06-30 19:58 Khaled Hosny + + * sfd/ae_Tarablus.sfd: add the missed U+F6BE that caused bug in 'j' + glyph, CVS_SILENT + +2007-06-30 19:48 Khaled Hosny + + * sfd/ae_Sindbad.sfd: + add the missed U+F6BE that caused bug in 'j' glyph, CVS_SILENT + +2007-06-23 22:29 Khaled Hosny + + * sfd/: ae_Shado.sfd, ae_Sharjah.sfd: add the missed U+F6BE that + caused bug in 'j' glyph + +2007-06-23 22:26 Khaled Hosny + + * sfd/: ae_Rasheeq-Bold.sfd, ae_Rehan.sfd, ae_Salem.sfd: add the + missed U+F6BE that caused bug in 'j' glyph + +2007-06-23 22:22 Khaled Hosny + + * sfd/: ae_Nice.sfd, ae_Ostorah.sfd, ae_Ouhod-Bold.sfd, + ae_Petra.sfd: add the missed U+F6BE that caused bug in 'j' glyph + +2007-06-23 22:19 Khaled Hosny + + * sfd/: ae_Metal.sfd, ae_Nada.sfd, ae_Nagham.sfd: add the missed + U+F6BE that caused bug in 'j' glyph + +2007-06-23 22:16 Khaled Hosny + + * sfd/: ae_Kayrawan.sfd, ae_Khalid.sfd, ae_Mashq-Bold.sfd, + ae_Mashq.sfd: add the missed U+F6BE that caused bug in 'j' glyph + +2007-06-23 22:12 Khaled Hosny + + * sfd/: ae_Haramain.sfd, ae_Hor.sfd, ae_Japan.sfd, ae_Jet.sfd: add + the missed U+F6BE that caused bug in 'j' glyph + +2007-06-23 22:09 Khaled Hosny + + * sfd/: ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd: add the missed + U+F6BE that caused bug in 'j' glyph + +2007-06-23 22:05 Khaled Hosny + + * sfd/: ae_Electron.sfd, ae_Furat.sfd: add the missed U+F6BE that + caused bug in 'j' glyph + +2007-06-23 22:02 Khaled Hosny + + * sfd/: ae_Cortoba.sfd, ae_Dimnah.sfd: add the missed U+F6BE that + caused bug in 'j' glyph + +2007-06-23 21:59 Khaled Hosny + + * sfd/: ae_AlYarmook.sfd, ae_Arab.sfd: add the missed U+F6BE that + caused bug in 'j' glyph + +2007-06-23 21:19 Khaled Hosny + + * sfd/: ae_AlArabiya.sfd, ae_AlBattar.sfd, ae_AlHor.sfd, + ae_AlManzomah.sfd, ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, + ae_AlMothnna-Bold.sfd: Added the missed U+U+F6BE glyphs which + caused a bug in "j" glyph + +2007-06-23 18:30 Khaled Hosny + + * COPYING: -Moved GPL to a separate file. -Added GPL font + exception to COPYING. + +2007-06-23 18:12 Khaled Hosny + + * sfd/ae_Tholoth.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 18:07 Khaled Hosny + + * sfd/: ae_Shado.sfd, ae_Sharjah.sfd, ae_Sindbad.sfd, + ae_Tarablus.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 18:04 Khaled Hosny + + * sfd/: ae_Petra.sfd, ae_Rasheeq-Bold.sfd, ae_Rehan.sfd, + ae_Salem.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 18:01 Khaled Hosny + + * sfd/: ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:57 Khaled Hosny + + * sfd/: ae_Metal.sfd, ae_Nada.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:54 Khaled Hosny + + * sfd/: ae_Kayrawan.sfd, ae_Khalid.sfd, ae_Mashq-Bold.sfd, + ae_Mashq.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:51 Khaled Hosny + + * sfd/: ae_Haramain.sfd, ae_Hor.sfd, ae_Japan.sfd, ae_Jet.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:47 Khaled Hosny + + * sfd/: ae_Furat.sfd, ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:43 Khaled Hosny + + * sfd/: ae_Arab.sfd, ae_Cortoba.sfd, ae_Dimnah.sfd, + ae_Electron.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:40 Khaled Hosny + + * sfd/: ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, + ae_AlMothnna-Bold.sfd, ae_AlYarmook.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-23 17:37 Khaled Hosny + + * sfd/: ae_AlArabiya.sfd, ae_AlBattar.sfd, ae_AlHor.sfd, + ae_AlManzomah.sfd: + - New glyphs (covering every thing outside Arabic block) based on + the GPL'd FreeFont project [http://www.nongnu.org/freefont/]. + - Arabic diacritic marks (harakat) are set to have zero advance + width and OT class as 'mark' nstead of 'base glyph' + +2007-06-21 05:57 Khaled Hosny + + * tools/cp.pe: Simple ff script to copy a specific range of glyphs + from on font to another. + +2007-06-16 01:54 Khaled Hosny + + * sfd/ae_AlMothnna-Bold.sfd: + - Identical glyphs (or parts of glyphs) are referenced to one common + glyph instead of copying the same shape each time. + - Add few missed Arabic glyphs, DOTLESS QAF, DOTLESS BEH, HAMZA + ABOVE, HAMZA BELOW and EXTENDED ARABIC-INDIC DIGIT ZERO, ONE, TWO, + THREE, SEVEN, EIGHT, NINE. + +2007-06-15 07:10 Khaled Hosny + + * sfd/: ae_AlArabiya.sfd, ae_AlBattar.sfd, ae_AlHor.sfd, + ae_AlManzomah.sfd, ae_AlMateen-Bold.sfd, ae_AlMohanad.sfd, + ae_AlMothnna-Bold.sfd, ae_AlYarmook.sfd, ae_Arab.sfd, + ae_Cortoba.sfd, ae_Dimnah.sfd, ae_Electron.sfd, ae_Furat.sfd, + ae_Granada.sfd, ae_Graph.sfd, ae_Hani.sfd, ae_Haramain.sfd, + ae_Hor.sfd, ae_Japan.sfd, ae_Jet.sfd, ae_Kayrawan.sfd, + ae_Khalid.sfd, ae_Mashq-Bold.sfd, ae_Mashq.sfd, ae_Metal.sfd, + ae_Nada.sfd, ae_Nagham.sfd, ae_Nice.sfd, ae_Ostorah.sfd, + ae_Ouhod-Bold.sfd, ae_Petra.sfd, ae_Rasheeq-Bold.sfd, + ae_Rehan.sfd, ae_Salem.sfd, ae_Shado.sfd, ae_Sharjah.sfd, + ae_Sindbad.sfd, ae_Tarablus.sfd, ae_Tholoth.sfd: Preparing to + work + +2007-06-02 21:25 Khaled Hosny + + * sfd/ae_AlMothnna-Bold.sfd: + - A modified version of "AlMothnna", partially fixes the vowel marks + issues. + - This is fontforg's sfd file. + +2004-07-10 09:48 nadim + + * COPYING: + Minor mods to the GPL license mention (their address + changed) + Added disclaimer + Renamed file from license.txt for + consistency + diff --git a/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/README b/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/README new file mode 100644 index 0000000..b517cc8 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/ae_fonts_2.0/README @@ -0,0 +1,58 @@ +This project aims at increasing the number of available Arabic free and +open source fonts. The goals of this project are, + + * Create and/or salvage high quality free and open TTF Arabic fonts. + + * Create a central repository of all free and open source Arabic fonts +(TTF and otherwise) in order to get them included into the various +distributions. + + * To better couple and artistically match Arabic fonts to their latin +counterparts. + +You can visit our web page +http://www.arabeyes.org/project.php?proj=Khotot + +This software package/product and attached documentations are provided +"as is", with no warranty. + + -* www.arabeyes.org *- + +If you'd like to help the Arabeyes Project, then consider: + + http://www.arabeyes.org/donate.php + +Typeface and data © 2003-2007, Arabeyes.org. + +Latin glyphs (U+0021-U+007E, U+00A1-U+0237, U+1E00-U+1EF9 and +U+FB00-U+FB06 Unicode ranges) are based on "Free UCS Outline Fonts", +www.nongnu.org/freefont (Copyleft 2002, 2003, 2005 Free Software +Foundation). + +These fonts are subject to the GNU GENERAL PUBLIC (GPL) LICENSE (Version 2). +See COPYING for details or http://www.gnu.org/copyleft/gpl.html + +As a special exception, if you create a document which uses this +font, and embed this font or unaltered portions of this font into the +document, this font does not by itself cause the resulting document to +be covered by the GNU General Public License. This exception does not +however invalidate any other reasons why the document might be covered +by the GNU General Public License. If you modify this font, you may +extend this exception to your version of the font, but you are not +obligated to do so. If you do not wish to do so, delete this exception +statement from your version. + +Release Notes +------------- +2.0 +This the second major release of Arabeyes fonts, this release features: + * Completely new Latin Glyphs, based on font distributed by FreeFonts project + (See the legal notes above) + * Proper support for Arabic diacritics; all fonts now have anchor points + adjusted manually to fit nicely with each glyph. + * Diacritics for AlMothnna, AlArabiya and Tholoth fonts have been redisigned + too look better and fit with the style of the font. + * We dropped ae_ prefix from all fonts, so please fix your configuration + files. + * Various other small fixes, see ChangeLog file for details. + diff --git a/vendor/tecnickcom/tcpdf/fonts/aealarabiya.ctg.z b/vendor/tecnickcom/tcpdf/fonts/aealarabiya.ctg.z new file mode 100644 index 0000000..51315d6 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/aealarabiya.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/aealarabiya.php b/vendor/tecnickcom/tcpdf/fonts/aealarabiya.php new file mode 100644 index 0000000..828f1ec --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/aealarabiya.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-123 -488 1305 1230]','ItalicAngle'=>0,'Ascent'=>1230,'Descent'=>-503,'Leading'=>200,'CapHeight'=>729,'XHeight'=>524,'StemV'=>39,'StemH'=>17,'AvgWidth'=>441,'MaxWidth'=>1332,'MissingWidth'=>367); +$cbbox=array(33=>array(124,0,208,729),34=>array(52,464,306,709),35=>array(14,-20,542,697),36=>array(33,-126,518,770),37=>array(29,-20,859,709),38=>array(52,-23,637,709),39=>array(48,464,142,709),40=>array(73,-212,291,729),41=>array(38,-212,256,729),42=>array(40,441,343,729),43=>array(50,-10,534,474),44=>array(87,-147,192,104),45=>array(46,240,284,312),46=>array(87,0,191,104),47=>array(-8,-20,284,729),48=>array(43,-23,507,709),49=>array(102,0,347,709),50=>array(34,0,511,709),51=>array(32,-23,506,709),52=>array(28,0,520,709),53=>array(34,-23,513,709),54=>array(43,-23,513,709),55=>array(46,0,520,709),56=>array(37,-23,513,709),57=>array(38,-23,509,709),58=>array(110,0,214,524),59=>array(110,-147,214,524),60=>array(46,-9,534,474),61=>array(50,111,534,353),62=>array(50,-9,539,474),63=>array(77,0,509,741),64=>array(34,-142,951,741),65=>array(17,0,653,729),66=>array(79,0,623,729),67=>array(48,-23,677,741),68=>array(89,0,667,729),69=>array(90,0,613,729),70=>array(90,0,579,729),71=>array(44,-23,709,741),72=>array(83,0,644,729),73=>array(100,0,194,729),74=>array(17,-23,426,729),75=>array(79,0,658,729),76=>array(80,0,533,729),77=>array(74,0,761,729),78=>array(76,0,646,729),79=>array(38,-23,742,741),80=>array(91,0,617,729),81=>array(38,-59,742,741),82=>array(93,0,679,729),83=>array(48,-23,621,741),84=>array(21,0,593,729),85=>array(86,-23,646,729),86=>array(30,0,646,729),87=>array(22,0,929,729),88=>array(22,0,649,729),89=>array(13,0,661,729),90=>array(28,0,583,729),91=>array(64,-212,250,729),92=>array(-8,-20,284,729),93=>array(23,-212,209,729),94=>array(44,329,426,709),95=>array(-22,-176,578,-126),96=>array(22,592,231,740),97=>array(42,-23,534,539),98=>array(54,-23,523,729),99=>array(31,-23,477,539),100=>array(26,-23,494,729),101=>array(40,-23,513,539),102=>array(18,0,258,732),103=>array(29,-218,489,539),104=>array(70,0,486,729),105=>array(66,0,151,729),106=>array(-18,-218,153,729),107=>array(58,0,502,729),108=>array(68,0,152,729),109=>array(70,0,762,539),110=>array(70,0,487,539),111=>array(36,-23,510,539),112=>array(54,-218,523,539),113=>array(26,-218,494,539),114=>array(69,0,321,539),115=>array(34,-23,459,539),116=>array(14,-23,254,668),117=>array(66,-23,482,524),118=>array(10,0,486,524),119=>array(6,0,708,524),120=>array(17,0,473,524),121=>array(20,-218,478,524),122=>array(31,0,457,524),123=>array(43,-212,276,729),124=>array(100,-212,160,729),125=>array(29,-212,262,729),126=>array(74,268,508,438),160=>array(0,0,0,0),161=>array(122,-206,206,524),162=>array(52,-120,510,628),163=>array(26,-23,534,729),164=>array(67,133,489,551),165=>array(11,0,546,709),166=>array(100,-212,160,729),167=>array(43,-213,506,729),168=>array(30,612,296,714),169=>array(-13,-22,751,742),170=>array(37,303,333,742),171=>array(98,106,454,438),172=>array(40,86,544,374),173=>array(46,240,284,312),174=>array(-13,-22,751,742),175=>array(28,631,302,701),176=>array(151,383,454,686),177=>array(50,-11,534,623),178=>array(19,284,326,709),179=>array(16,270,322,709),180=>array(92,592,301,740),181=>array(78,-200,498,518),182=>array(48,-177,522,729),183=>array(87,302,211,427),184=>array(39,-214,287,0),185=>array(61,284,222,709),186=>array(40,303,324,742),187=>array(98,106,451,438),188=>array(61,-20,849,709),189=>array(61,-20,844,709),190=>array(16,-20,849,709),191=>array(96,-217,528,524),192=>array(17,0,653,939),193=>array(17,0,653,939),194=>array(17,0,653,940),195=>array(17,0,653,905),196=>array(17,0,653,904),197=>array(17,0,653,953),198=>array(11,0,950,729),199=>array(48,-214,677,741),200=>array(90,0,613,939),201=>array(90,0,613,939),202=>array(90,0,613,939),203=>array(90,0,613,904),204=>array(0,0,208,939),205=>array(71,0,280,939),206=>array(-1,0,286,940),207=>array(14,0,280,904),208=>array(20,0,667,729),209=>array(76,0,646,905),210=>array(38,-23,742,939),211=>array(38,-23,742,939),212=>array(38,-23,742,940),213=>array(38,-23,742,905),214=>array(38,-23,742,904),215=>array(94,34,488,427),216=>array(30,-23,744,754),217=>array(86,-23,646,939),218=>array(86,-23,646,939),219=>array(86,-23,646,939),220=>array(86,-23,646,904),221=>array(13,0,661,939),222=>array(91,0,616,729),223=>array(67,-14,571,728),224=>array(42,-23,534,740),225=>array(42,-23,534,739),226=>array(42,-23,534,741),227=>array(42,-23,534,703),228=>array(42,-23,534,701),229=>array(42,-23,534,754),230=>array(34,-23,846,539),231=>array(31,-214,477,539),232=>array(40,-23,513,740),233=>array(40,-23,513,739),234=>array(40,-23,513,742),235=>array(40,-23,513,701),236=>array(-4,0,204,738),237=>array(66,0,274,739),238=>array(-7,0,280,741),239=>array(3,0,269,701),240=>array(36,-23,510,743),241=>array(70,0,487,703),242=>array(36,-23,510,741),243=>array(36,-23,510,740),244=>array(36,-23,510,742),245=>array(36,-23,510,703),246=>array(36,-23,510,701),247=>array(50,0,534,472),248=>array(18,-30,529,539),249=>array(66,-23,482,739),250=>array(66,-23,482,740),251=>array(66,-23,482,742),252=>array(66,-23,482,701),253=>array(20,-218,478,739),254=>array(54,-218,522,714),255=>array(20,-218,478,701),256=>array(17,0,653,871),257=>array(42,-23,534,669),258=>array(17,0,653,932),259=>array(42,-23,534,734),260=>array(17,-206,692,729),261=>array(43,-206,596,539),262=>array(48,-23,677,940),263=>array(31,-23,477,740),264=>array(48,-23,677,940),265=>array(31,-23,477,714),266=>array(48,-23,677,873),267=>array(31,-23,477,668),268=>array(48,-23,677,940),269=>array(31,-23,477,742),270=>array(89,0,667,940),271=>array(26,-23,690,729),272=>array(20,0,667,729),273=>array(26,-23,557,729),274=>array(90,0,613,871),275=>array(40,-23,513,669),276=>array(90,0,613,904),277=>array(40,-23,513,699),278=>array(90,0,613,906),279=>array(40,-23,513,703),280=>array(90,-206,652,729),281=>array(40,-204,513,539),282=>array(90,0,613,940),283=>array(40,-23,513,741),284=>array(44,-23,709,920),285=>array(29,-218,489,741),286=>array(44,-23,709,932),287=>array(29,-218,489,734),288=>array(44,-23,709,873),289=>array(29,-218,489,668),290=>array(44,-333,709,741),291=>array(29,-218,489,740),292=>array(83,0,644,919),293=>array(-32,0,486,919),294=>array(39,0,688,729),295=>array(7,0,486,729),296=>array(-9,0,304,873),297=>array(-21,0,293,668),298=>array(10,0,284,871),299=>array(-2,0,273,669),300=>array(-3,0,298,904),301=>array(-16,0,286,699),302=>array(27,-206,235,729),303=>array(-17,-206,191,729),304=>array(94,0,199,906),305=>array(94,0,177,524),306=>array(100,-23,626,729),307=>array(66,-218,306,729),308=>array(17,-23,523,919),309=>array(-32,-218,254,741),310=>array(79,-311,658,729),311=>array(58,-311,502,729),312=>array(58,0,502,524),313=>array(70,0,533,939),314=>array(64,0,273,939),315=>array(80,-311,533,729),316=>array(57,-311,162,729),317=>array(80,0,533,741),318=>array(68,0,306,729),319=>array(80,0,533,729),320=>array(68,0,433,729),321=>array(0,0,552,729),322=>array(0,0,212,729),323=>array(76,0,646,939),324=>array(70,0,487,739),325=>array(76,-311,646,729),326=>array(70,-311,487,539),327=>array(76,0,646,940),328=>array(70,0,487,740),329=>array(48,0,627,709),330=>array(76,-218,646,729),331=>array(70,-218,487,539),332=>array(38,-23,742,871),333=>array(36,-23,510,669),334=>array(38,-23,742,904),335=>array(36,-23,510,699),336=>array(38,-23,742,940),337=>array(36,-23,526,740),338=>array(43,-20,959,741),339=>array(40,-23,899,539),340=>array(93,0,679,939),341=>array(69,0,331,739),342=>array(93,-311,679,729),343=>array(59,-311,321,539),344=>array(93,0,679,940),345=>array(49,0,336,741),346=>array(48,-23,621,941),347=>array(34,-23,459,740),348=>array(48,-23,621,941),349=>array(34,-23,459,714),350=>array(48,-214,621,741),351=>array(34,-214,459,539),352=>array(48,-23,621,940),353=>array(34,-23,459,741),354=>array(21,-214,593,729),355=>array(14,-237,293,668),356=>array(21,0,593,940),357=>array(14,-23,402,668),358=>array(21,0,593,729),359=>array(9,-23,254,668),360=>array(86,-23,646,873),361=>array(66,-23,482,668),362=>array(86,-23,646,871),363=>array(66,-23,482,669),364=>array(86,-23,646,904),365=>array(66,-23,482,699),366=>array(86,-23,646,954),367=>array(66,-23,482,754),368=>array(86,-23,646,940),369=>array(66,-23,530,740),370=>array(86,-206,646,729),371=>array(66,-204,521,524),372=>array(22,0,929,919),373=>array(6,0,708,741),374=>array(13,0,661,919),375=>array(20,-218,478,741),376=>array(13,0,661,904),377=>array(28,0,583,939),378=>array(31,0,457,739),379=>array(28,0,583,906),380=>array(31,0,457,703),381=>array(28,0,583,940),382=>array(31,0,457,740),383=>array(18,0,258,732),384=>array(26,-23,557,729),385=>array(48,0,810,729),386=>array(79,0,623,729),387=>array(54,-23,523,729),388=>array(-49,0,623,729),389=>array(-39,-23,523,729),390=>array(48,-23,678,741),391=>array(48,-23,749,741),392=>array(31,-23,558,556),393=>array(20,0,667,729),394=>array(48,0,844,729),395=>array(79,0,623,729),396=>array(54,-23,523,729),397=>array(37,-197,529,548),398=>array(90,0,613,729),399=>array(47,-23,677,741),400=>array(48,-23,621,741),401=>array(2,-218,579,729),402=>array(0,-218,258,732),403=>array(44,-23,786,741),404=>array(13,-27,661,729),405=>array(70,-23,833,729),406=>array(66,-23,234,729),407=>array(0,0,333,729),408=>array(79,0,672,729),409=>array(58,0,502,732),410=>array(0,0,333,729),411=>array(30,-10,556,738),412=>array(64,-14,768,729),413=>array(-12,-218,646,729),414=>array(70,-200,487,539),415=>array(38,-23,742,741),416=>array(38,-23,788,796),417=>array(36,-23,566,631),418=>array(38,-23,924,746),419=>array(36,-200,672,539),420=>array(48,0,792,729),421=>array(54,-218,523,732),422=>array(91,-126,646,729),423=>array(48,-23,621,741),424=>array(34,-23,459,539),425=>array(28,0,583,729),426=>array(-18,-218,317,732),427=>array(14,-218,254,668),428=>array(0,0,593,729),429=>array(14,-23,254,732),430=>array(21,-218,593,729),431=>array(86,-23,776,856),432=>array(66,-23,623,651),433=>array(17,-4,694,729),434=>array(86,-23,660,729),435=>array(-12,0,686,729),436=>array(20,-218,548,546),437=>array(28,0,583,729),438=>array(31,0,457,524),439=>array(32,-23,581,729),440=>array(32,-23,581,729),441=>array(12,-143,486,524),442=>array(34,-202,483,524),443=>array(34,0,511,709),446=>array(64,-21,496,668),447=>array(54,-218,526,540),448=>array(100,-212,160,729),449=>array(100,-212,270,729),450=>array(50,-212,534,729),451=>array(124,0,208,729),452=>array(89,0,1283,940),453=>array(89,0,1165,740),454=>array(26,-23,1013,740),455=>array(80,-23,982,729),456=>array(80,-218,709,729),457=>array(68,-218,376,729),458=>array(76,-23,1134,729),459=>array(76,-218,876,729),460=>array(70,-218,709,729),461=>array(17,0,653,931),462=>array(42,-23,534,729),463=>array(3,0,290,931),464=>array(-7,0,280,729),465=>array(38,-23,742,931),466=>array(36,-23,510,729),467=>array(86,-23,646,931),468=>array(66,-23,482,729),469=>array(86,-23,646,1024),470=>array(66,-23,482,825),471=>array(86,-23,646,1102),472=>array(66,-23,482,903),473=>array(86,-23,646,1104),474=>array(66,-23,482,905),475=>array(86,-23,646,1102),476=>array(66,-23,482,903),477=>array(40,-23,513,539),478=>array(17,0,653,1024),479=>array(42,-23,534,825),480=>array(17,0,653,995),481=>array(42,-23,534,793),482=>array(11,0,950,900),483=>array(34,-23,846,701),484=>array(44,-23,762,741),485=>array(29,-218,514,539),486=>array(44,-23,709,931),487=>array(29,-218,489,729),488=>array(79,0,658,931),489=>array(-44,0,502,919),490=>array(38,-222,742,741),491=>array(36,-222,510,539),492=>array(38,-222,742,851),493=>array(36,-222,510,649),494=>array(32,-23,581,951),495=>array(12,-143,486,738),496=>array(-33,-218,254,714),497=>array(89,0,1305,729),498=>array(89,0,1179,729),499=>array(26,-23,1013,729),500=>array(44,-23,709,929),501=>array(29,-218,489,727),504=>array(76,0,646,929),505=>array(70,0,487,727),506=>array(17,0,653,1141),507=>array(42,-23,534,942),508=>array(11,0,950,929),509=>array(34,-23,846,727),510=>array(30,-23,744,943),511=>array(18,-30,529,727),512=>array(17,0,653,931),513=>array(42,-23,534,729),514=>array(17,0,653,729),515=>array(42,-23,534,539),516=>array(90,0,613,931),517=>array(40,-23,513,729),518=>array(90,0,613,729),519=>array(40,-23,513,539),520=>array(-80,0,302,931),521=>array(-92,0,291,729),522=>array(100,0,194,729),523=>array(94,0,177,524),524=>array(38,-23,742,931),525=>array(36,-23,510,729),526=>array(38,-23,742,741),527=>array(36,-23,510,539),528=>array(93,0,679,931),529=>array(-22,0,360,729),530=>array(93,0,679,729),531=>array(69,0,321,539),532=>array(86,-23,646,931),533=>array(66,-23,482,729),534=>array(86,-23,646,729),535=>array(66,-23,482,524),536=>array(48,-284,621,741),537=>array(34,-284,459,539),538=>array(21,-284,593,729),539=>array(14,-284,254,668),542=>array(83,0,644,931),543=>array(-27,0,486,919),548=>array(28,-216,583,729),549=>array(31,-216,457,524),550=>array(17,0,653,886),551=>array(42,-23,534,683),552=>array(90,-207,613,729),553=>array(40,-230,513,539),554=>array(38,-23,742,1024),555=>array(36,-23,510,825),556=>array(38,-23,742,1027),557=>array(36,-23,510,827),558=>array(38,-23,742,886),559=>array(36,-23,510,683),560=>array(38,-23,742,995),561=>array(36,-23,510,793),562=>array(13,0,661,851),563=>array(20,-218,478,649),1548=>array(56,63,155,244),1563=>array(56,63,155,377),1567=>array(54,-69,348,542),1569=>array(24,0,368,366),1570=>array(24,0,139,764),1571=>array(24,0,139,757),1572=>array(31,-147,341,586),1573=>array(24,-144,139,586),1574=>array(25,-147,462,444),1575=>array(24,0,139,586),1576=>array(24,-155,777,391),1577=>array(29,0,425,567),1578=>array(24,0,777,567),1579=>array(24,0,777,714),1580=>array(37,-149,427,386),1581=>array(37,-147,415,386),1582=>array(36,-147,413,567),1583=>array(21,0,396,402),1584=>array(19,0,395,567),1585=>array(0,-147,190,391),1586=>array(0,-147,190,567),1587=>array(32,-147,987,391),1588=>array(32,-147,987,688),1589=>array(32,-147,917,391),1590=>array(32,-147,917,567),1591=>array(19,0,599,586),1592=>array(19,0,599,586),1593=>array(34,-147,409,391),1594=>array(37,-147,413,567),1600=>array(-5,0,158,93),1601=>array(27,0,736,567),1602=>array(25,-147,530,567),1603=>array(24,0,777,586),1604=>array(32,-147,537,586),1605=>array(9,-294,381,391),1606=>array(32,-147,502,567),1607=>array(29,0,425,393),1608=>array(36,-147,338,391),1609=>array(25,-147,462,391),1610=>array(25,-298,462,391),1611=>array(47,640,314,930),1612=>array(80,686,340,954),1613=>array(19,-488,286,-198),1614=>array(39,681,305,845),1615=>array(80,697,231,965),1616=>array(44,-441,311,-277),1617=>array(2,678,305,876),1618=>array(-10,704,167,897),1632=>array(183,174,283,273),1633=>array(177,4,256,498),1634=>array(78,4,372,498),1635=>array(20,-1,410,508),1636=>array(89,0,341,498),1637=>array(79,0,355,509),1638=>array(53,4,348,498),1639=>array(49,0,371,498),1640=>array(49,0,371,498),1641=>array(78,4,341,498),1642=>array(56,0,462,612),1645=>array(17,388,317,688),7680=>array(17,-235,653,729),7681=>array(42,-258,534,539),7682=>array(79,0,623,906),7683=>array(54,-23,523,893),7684=>array(79,-164,623,729),7685=>array(54,-187,523,729),7686=>array(79,-131,623,729),7687=>array(54,-153,523,729),7688=>array(48,-214,677,949),7689=>array(31,-214,477,747),7690=>array(89,0,667,906),7691=>array(26,-23,494,893),7692=>array(89,-164,667,729),7693=>array(26,-187,494,729),7694=>array(89,-131,667,729),7695=>array(26,-153,494,729),7696=>array(85,-207,667,729),7697=>array(26,-230,494,729),7698=>array(86,-211,667,729),7699=>array(26,-233,494,729),7700=>array(90,0,613,1108),7701=>array(40,-23,513,909),7702=>array(90,0,613,1108),7703=>array(40,-23,513,909),7704=>array(90,-211,613,729),7705=>array(40,-233,513,539),7706=>array(90,-164,613,729),7707=>array(40,-187,513,539),7708=>array(90,-207,613,936),7709=>array(40,-230,513,734),7710=>array(90,0,579,906),7711=>array(18,0,263,896),7712=>array(44,-23,709,871),7713=>array(29,-218,489,669),7714=>array(83,0,644,906),7715=>array(58,0,486,893),7716=>array(83,-164,644,729),7717=>array(70,-164,486,729),7718=>array(83,0,644,904),7719=>array(44,0,486,892),7720=>array(-15,-207,644,729),7721=>array(-33,-207,486,729),7722=>array(83,-195,644,729),7723=>array(70,-195,486,729),7724=>array(-9,-164,304,729),7725=>array(-48,-164,265,729),7726=>array(14,0,321,1114),7727=>array(3,0,315,916),7728=>array(79,0,658,949),7729=>array(58,0,502,937),7730=>array(79,-164,658,729),7731=>array(58,-164,502,729),7732=>array(79,-131,658,729),7733=>array(58,-131,502,729),7734=>array(80,-164,533,729),7735=>array(57,-164,162,729),7736=>array(-11,-164,533,871),7737=>array(-27,-164,248,859),7738=>array(80,-131,533,729),7739=>array(-27,-131,248,729),7740=>array(80,-211,533,729),7741=>array(-34,-211,253,729),7742=>array(74,0,761,949),7743=>array(70,0,762,747),7744=>array(74,0,761,906),7745=>array(70,0,762,703),7746=>array(74,-164,761,729),7747=>array(70,-164,762,539),7748=>array(76,0,646,906),7749=>array(70,0,487,703),7750=>array(76,-164,646,729),7751=>array(70,-164,487,539),7752=>array(76,-131,646,729),7753=>array(70,-131,487,539),7754=>array(76,-211,646,729),7755=>array(70,-211,487,539),7756=>array(38,-23,742,1124),7757=>array(36,-23,510,926),7758=>array(38,-23,742,1078),7759=>array(36,-23,510,880),7760=>array(38,-23,742,1108),7761=>array(36,-23,510,909),7762=>array(38,-23,742,1108),7763=>array(36,-23,510,909),7764=>array(91,0,617,949),7765=>array(54,-218,523,747),7766=>array(91,0,617,906),7767=>array(54,-218,523,703),7768=>array(93,0,679,906),7769=>array(69,0,321,703),7770=>array(93,-164,679,729),7771=>array(58,-164,321,539),7772=>array(93,-164,679,871),7773=>array(58,-164,336,669),7774=>array(93,-131,679,729),7775=>array(-26,-131,321,539),7776=>array(48,-23,621,906),7777=>array(34,-23,459,703),7778=>array(48,-187,621,741),7779=>array(34,-187,459,539),7780=>array(48,-23,621,1103),7781=>array(34,-23,459,904),7782=>array(48,-23,621,1104),7783=>array(34,-23,459,906),7784=>array(48,-187,621,906),7785=>array(34,-187,459,703),7786=>array(21,0,593,906),7787=>array(14,-23,254,832),7788=>array(21,-164,593,729),7789=>array(14,-187,254,668),7790=>array(21,-131,593,729),7791=>array(14,-153,323,668),7792=>array(21,-211,593,729),7793=>array(14,-233,329,668),7794=>array(86,-186,646,729),7795=>array(66,-186,482,524),7796=>array(86,-187,646,729),7797=>array(66,-187,482,524),7798=>array(86,-233,646,729),7799=>array(66,-233,482,524),7800=>array(86,-23,646,1081),7801=>array(66,-23,496,876),7802=>array(86,-23,646,1062),7803=>array(66,-23,482,864),7804=>array(30,0,646,905),7805=>array(10,0,486,703),7806=>array(30,-164,646,729),7807=>array(10,-164,486,524),7808=>array(22,0,929,949),7809=>array(6,0,708,747),7810=>array(22,0,929,949),7811=>array(6,0,708,747),7812=>array(22,0,929,904),7813=>array(6,0,708,701),7814=>array(22,0,929,906),7815=>array(6,0,708,703),7816=>array(22,-164,929,729),7817=>array(6,-164,708,524),7818=>array(22,0,649,906),7819=>array(17,0,473,703),7820=>array(22,0,649,904),7821=>array(17,0,473,701),7822=>array(13,0,661,906),7823=>array(20,-218,478,703),7824=>array(28,0,583,951),7825=>array(31,0,457,749),7826=>array(28,-164,583,729),7827=>array(31,-164,457,524),7828=>array(28,-131,583,729),7829=>array(31,-131,457,524),7830=>array(70,-131,486,729),7831=>array(-7,-23,259,831),7832=>array(6,0,708,774),7833=>array(20,-218,478,774),7835=>array(18,0,263,896),7840=>array(17,-164,653,729),7841=>array(42,-187,534,539),7842=>array(17,0,653,1031),7843=>array(42,-23,534,829),7844=>array(17,0,653,1148),7845=>array(42,-23,534,949),7846=>array(17,0,653,1148),7847=>array(42,-23,534,949),7848=>array(17,0,653,1230),7849=>array(42,-23,534,1031),7850=>array(17,0,653,1104),7851=>array(42,-23,534,905),7852=>array(17,-164,653,951),7853=>array(42,-187,534,749),7854=>array(17,0,653,1139),7855=>array(42,-23,534,940),7856=>array(17,0,653,1139),7857=>array(42,-23,534,940),7858=>array(17,0,653,1221),7859=>array(42,-23,534,1022),7860=>array(17,0,653,1095),7861=>array(42,-23,534,896),7862=>array(17,-164,653,936),7863=>array(42,-187,534,734),7864=>array(90,-164,613,729),7865=>array(40,-187,513,539),7866=>array(90,0,613,1031),7867=>array(40,-23,513,829),7868=>array(90,0,613,905),7869=>array(40,-23,513,703),7870=>array(90,0,613,1148),7871=>array(40,-23,513,949),7872=>array(78,0,613,980),7873=>array(40,-23,513,949),7874=>array(90,0,613,1230),7875=>array(40,-23,513,1031),7876=>array(90,0,613,1104),7877=>array(40,-23,513,905),7878=>array(90,-164,613,951),7879=>array(40,-187,513,749),7880=>array(100,0,257,1031),7881=>array(93,0,246,829),7882=>array(94,-164,199,729),7883=>array(57,-164,161,729),7884=>array(38,-187,742,741),7885=>array(36,-187,510,539),7886=>array(38,-23,742,1031),7887=>array(36,-23,510,829),7888=>array(38,-23,742,1148),7889=>array(36,-23,510,949),7890=>array(38,-23,742,1148),7891=>array(36,-23,510,949),7892=>array(38,-23,742,1230),7893=>array(36,-23,510,1031),7894=>array(38,-23,742,1104),7895=>array(36,-23,510,905),7896=>array(38,-187,742,951),7897=>array(36,-187,510,749),7898=>array(38,-23,788,962),7899=>array(36,-23,566,749),7900=>array(38,-23,788,950),7901=>array(36,-23,566,726),7902=>array(38,-23,788,1032),7903=>array(36,-23,566,826),7904=>array(38,-23,788,907),7905=>array(36,-23,566,705),7906=>array(38,-187,788,796),7907=>array(36,-187,566,631),7908=>array(86,-187,646,729),7909=>array(66,-187,482,524),7910=>array(86,-23,646,1031),7911=>array(66,-23,482,829),7912=>array(86,-23,776,950),7913=>array(66,-23,623,733),7914=>array(86,-23,776,950),7915=>array(66,-23,623,733),7916=>array(86,-23,776,984),7917=>array(66,-23,623,809),7918=>array(86,-23,776,900),7919=>array(66,-23,623,701),7920=>array(86,-187,776,856),7921=>array(66,-187,623,651),7922=>array(13,0,661,949),7923=>array(20,-218,478,747),7924=>array(13,-164,661,729),7925=>array(20,-382,478,524),7926=>array(13,0,661,1031),7927=>array(20,-218,478,829),7928=>array(13,0,661,905),7929=>array(20,-218,478,703),8204=>array(-17,0,17,910),8205=>array(-110,0,110,910),8206=>array(-123,0,123,916),8207=>array(-123,0,123,916),8234=>array(-123,-94,123,822),8235=>array(-123,-94,123,822),8236=>array(-111,0,111,910),8237=>array(-123,-94,123,916),8238=>array(-123,-94,123,916),64256=>array(13,0,388,536),64257=>array(9,0,319,536),64258=>array(13,0,315,536),64259=>array(13,0,523,536),64260=>array(13,0,518,536),64261=>array(13,-17,389,536),64262=>array(25,-17,552,489),64606=>array(19,728,322,1202),64607=>array(-3,479,299,964),64608=>array(-3,678,299,1013),64609=>array(-3,701,299,1143),64610=>array(-3,656,299,1014),64611=>array(-3,689,299,1021),64830=>array(34,-158,409,578),64831=>array(34,-158,409,578),65010=>array(24,0,841,586),65152=>array(23,0,367,366),65153=>array(23,0,148,679),65154=>array(12,0,201,755),65155=>array(18,0,133,744),65156=>array(18,0,199,822),65157=>array(38,-147,339,583),65158=>array(38,-147,386,581),65159=>array(19,-144,139,586),65160=>array(22,-144,201,586),65161=>array(25,-147,462,477),65162=>array(14,-147,503,419),65163=>array(-5,0,196,552),65164=>array(-5,0,262,557),65165=>array(24,0,139,586),65166=>array(24,0,201,586),65167=>array(24,-155,777,391),65168=>array(24,-154,824,391),65169=>array(-5,-154,196,391),65170=>array(-5,-154,262,391),65171=>array(28,0,424,567),65172=>array(23,0,473,567),65173=>array(24,0,777,567),65174=>array(24,0,824,567),65175=>array(-5,0,250,567),65176=>array(-5,0,316,567),65177=>array(24,0,777,714),65178=>array(24,0,824,688),65179=>array(-5,0,245,685),65180=>array(-5,0,306,685),65181=>array(37,-151,419,386),65182=>array(37,-148,456,386),65183=>array(-10,-154,401,386),65184=>array(-10,-154,458,386),65185=>array(37,-147,415,386),65186=>array(37,-147,456,386),65187=>array(-9,0,402,386),65188=>array(-10,0,458,386),65189=>array(37,-147,415,567),65190=>array(36,-147,454,567),65191=>array(-10,0,401,567),65192=>array(-10,0,458,567),65193=>array(23,0,399,402),65194=>array(22,0,438,402),65195=>array(21,0,396,567),65196=>array(21,0,437,567),65197=>array(0,-147,190,391),65198=>array(0,-147,238,391),65199=>array(0,-147,190,567),65200=>array(0,-147,238,567),65201=>array(32,-147,987,391),65202=>array(32,-147,1044,391),65203=>array(-5,0,733,391),65204=>array(-5,0,784,391),65205=>array(30,-147,986,685),65206=>array(32,-147,1044,685),65207=>array(-5,0,733,685),65208=>array(-7,0,783,685),65209=>array(32,-147,917,391),65210=>array(32,-147,962,391),65211=>array(-5,0,751,391),65212=>array(-5,0,796,391),65213=>array(34,-147,918,567),65214=>array(32,-147,962,567),65215=>array(-5,0,751,567),65216=>array(-5,0,796,567),65217=>array(14,0,599,586),65218=>array(19,0,655,586),65219=>array(-5,0,584,586),65220=>array(-7,0,653,586),65221=>array(17,0,601,586),65222=>array(19,0,655,586),65223=>array(-5,0,584,586),65224=>array(-6,0,654,586),65225=>array(34,-147,409,391),65226=>array(37,-147,446,399),65227=>array(-5,0,357,391),65228=>array(-5,0,433,399),65229=>array(34,-147,409,567),65230=>array(37,-147,446,567),65231=>array(-5,0,357,567),65232=>array(-5,0,433,567),65233=>array(27,0,736,567),65234=>array(26,0,788,567),65235=>array(-4,0,392,567),65236=>array(-4,0,434,567),65237=>array(27,-147,532,567),65238=>array(27,-147,580,567),65239=>array(-4,0,392,567),65240=>array(-4,0,434,567),65241=>array(24,0,777,586),65242=>array(24,0,824,586),65243=>array(-6,0,522,586),65244=>array(-7,0,553,586),65245=>array(32,-147,537,586),65246=>array(32,-147,596,586),65247=>array(-5,0,172,586),65248=>array(-5,0,262,586),65249=>array(9,-294,381,391),65250=>array(6,-294,414,391),65251=>array(-3,-93,324,391),65252=>array(-3,-93,361,391),65253=>array(32,-147,502,567),65254=>array(30,-147,557,567),65255=>array(-5,0,196,567),65256=>array(-5,0,257,567),65257=>array(29,0,425,393),65258=>array(24,0,474,393),65259=>array(-6,0,491,391),65260=>array(-6,0,523,391),65261=>array(36,-147,338,391),65262=>array(36,-147,384,391),65263=>array(25,-147,462,391),65264=>array(13,-147,502,264),65265=>array(25,-298,462,391),65266=>array(13,-298,502,264),65267=>array(-5,-154,248,391),65268=>array(-5,-154,306,391),65269=>array(29,0,484,586),65270=>array(29,0,544,586),65271=>array(29,0,484,586),65272=>array(29,0,544,586),65273=>array(29,-146,484,586),65274=>array(29,-145,544,586),65275=>array(29,0,484,586),65276=>array(29,0,544,586),65535=>array(33,0,300,667)); +$cw=array(0=>0,12=>318,13=>332,14=>212,32=>278,33=>278,34=>354,35=>556,36=>556,37=>888,38=>667,39=>191,40=>332,41=>332,42=>388,43=>584,44=>278,45=>332,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1014,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>832,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>468,95=>556,96=>332,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>832,110=>556,111=>556,112=>556,113=>556,114=>332,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,160=>278,161=>278,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>332,169=>737,170=>370,171=>556,172=>584,173=>332,174=>737,175=>332,176=>606,177=>584,178=>351,179=>351,180=>332,181=>574,182=>537,183=>278,184=>332,185=>351,186=>364,187=>556,188=>868,189=>868,190=>868,191=>556,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>666,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>888,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>554,255=>500,256=>667,257=>556,258=>667,259=>556,260=>667,261=>556,262=>722,263=>500,264=>722,265=>500,266=>722,267=>500,268=>722,269=>500,270=>722,271=>722,272=>722,273=>556,274=>667,275=>556,276=>667,277=>556,278=>667,279=>556,280=>667,281=>556,282=>667,283=>556,284=>778,285=>556,286=>778,287=>556,288=>778,289=>556,290=>778,291=>697,292=>722,293=>556,294=>722,295=>556,296=>278,297=>278,298=>278,299=>278,300=>278,301=>278,302=>278,303=>222,304=>278,305=>278,306=>700,307=>374,308=>500,309=>222,310=>667,311=>500,312=>500,313=>556,314=>222,315=>556,316=>222,317=>556,318=>387,319=>556,320=>500,321=>556,322=>222,323=>722,324=>556,325=>722,326=>556,327=>722,328=>556,329=>722,330=>722,331=>556,332=>778,333=>556,334=>778,335=>556,336=>778,337=>556,338=>1000,339=>944,340=>722,341=>332,342=>722,343=>332,344=>722,345=>332,346=>667,347=>500,348=>667,349=>500,350=>667,351=>500,352=>667,353=>500,354=>611,355=>278,356=>611,357=>442,358=>611,359=>278,360=>722,361=>556,362=>722,363=>556,364=>722,365=>556,366=>722,367=>556,368=>722,369=>556,370=>722,371=>556,372=>944,373=>722,374=>667,375=>500,376=>667,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>278,384=>556,385=>854,386=>667,387=>556,388=>667,389=>556,390=>722,391=>722,392=>500,393=>722,394=>898,395=>667,396=>556,397=>556,398=>667,399=>722,400=>667,401=>611,402=>278,403=>778,404=>667,405=>888,406=>278,407=>332,408=>667,409=>500,410=>332,411=>560,412=>832,413=>722,414=>556,415=>778,416=>778,417=>556,418=>944,419=>722,420=>842,421=>556,422=>666,423=>667,424=>500,425=>611,426=>332,427=>278,428=>611,429=>278,430=>611,431=>722,432=>556,433=>778,434=>722,435=>722,436=>556,437=>611,438=>500,439=>611,440=>611,441=>500,442=>500,443=>556,446=>556,447=>556,448=>260,449=>370,450=>584,451=>278,452=>1311,453=>1208,454=>1056,455=>1056,456=>778,457=>444,458=>1158,459=>944,460=>778,461=>667,462=>556,463=>278,464=>278,465=>778,466=>556,467=>722,468=>556,469=>722,470=>556,471=>722,472=>556,473=>722,474=>556,475=>722,476=>556,477=>556,478=>667,479=>556,480=>667,481=>556,482=>1000,483=>888,484=>778,485=>556,486=>778,487=>556,488=>667,489=>500,490=>778,491=>556,492=>778,493=>556,494=>611,495=>500,496=>222,497=>1332,498=>1222,499=>1056,500=>778,501=>556,504=>722,505=>556,506=>667,507=>556,508=>1000,509=>888,510=>778,511=>611,512=>667,513=>556,514=>667,515=>556,516=>667,517=>556,518=>667,519=>556,520=>278,521=>278,522=>278,523=>278,524=>778,525=>556,526=>778,527=>556,528=>722,529=>332,530=>1082,531=>332,532=>722,533=>556,534=>722,535=>556,536=>667,537=>500,538=>611,539=>278,542=>722,543=>556,548=>611,549=>500,550=>667,551=>556,552=>667,553=>556,554=>778,555=>556,556=>778,557=>556,558=>778,559=>556,560=>778,561=>556,562=>667,563=>500,1548=>202,1563=>202,1567=>402,1569=>399,1570=>173,1571=>166,1572=>371,1573=>171,1574=>486,1575=>171,1576=>806,1577=>459,1578=>806,1579=>808,1580=>439,1581=>438,1582=>438,1583=>414,1584=>413,1585=>223,1586=>221,1587=>1024,1588=>1022,1589=>953,1590=>951,1591=>637,1592=>637,1593=>438,1594=>443,1600=>147,1601=>776,1602=>561,1603=>808,1604=>565,1605=>409,1606=>536,1607=>459,1608=>369,1609=>495,1610=>494,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>467,1633=>391,1634=>467,1635=>467,1636=>467,1637=>467,1638=>467,1639=>467,1640=>467,1641=>467,1642=>508,1645=>332,7680=>667,7681=>556,7682=>667,7683=>556,7684=>667,7685=>556,7686=>667,7687=>556,7688=>722,7689=>500,7690=>722,7691=>556,7692=>722,7693=>556,7694=>722,7695=>556,7696=>722,7697=>556,7698=>722,7699=>556,7700=>667,7701=>556,7702=>667,7703=>556,7704=>667,7705=>556,7706=>667,7707=>556,7708=>667,7709=>556,7710=>611,7711=>278,7712=>778,7713=>556,7714=>722,7715=>556,7716=>722,7717=>556,7718=>722,7719=>556,7720=>722,7721=>556,7722=>722,7723=>556,7724=>278,7725=>222,7726=>278,7727=>278,7728=>667,7729=>500,7730=>667,7731=>500,7732=>667,7733=>500,7734=>556,7735=>222,7736=>556,7737=>222,7738=>556,7739=>222,7740=>556,7741=>222,7742=>832,7743=>832,7744=>832,7745=>832,7746=>832,7747=>832,7748=>722,7749=>556,7750=>722,7751=>556,7752=>722,7753=>556,7754=>722,7755=>556,7756=>778,7757=>556,7758=>778,7759=>556,7760=>778,7761=>556,7762=>778,7763=>556,7764=>667,7765=>556,7766=>667,7767=>556,7768=>722,7769=>332,7770=>722,7771=>332,7772=>722,7773=>332,7774=>722,7775=>332,7776=>667,7777=>500,7778=>667,7779=>500,7780=>667,7781=>500,7782=>667,7783=>500,7784=>667,7785=>500,7786=>611,7787=>278,7788=>611,7789=>278,7790=>611,7791=>278,7792=>611,7793=>278,7794=>722,7795=>556,7796=>722,7797=>556,7798=>722,7799=>556,7800=>722,7801=>556,7802=>722,7803=>556,7804=>667,7805=>500,7806=>667,7807=>500,7808=>944,7809=>722,7810=>944,7811=>722,7812=>944,7813=>722,7814=>944,7815=>722,7816=>944,7817=>722,7818=>667,7819=>500,7820=>667,7821=>500,7822=>667,7823=>500,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>556,7831=>278,7832=>722,7833=>500,7835=>278,7840=>667,7841=>556,7842=>667,7843=>556,7844=>667,7845=>556,7846=>667,7847=>556,7848=>667,7849=>556,7850=>667,7851=>556,7852=>667,7853=>556,7854=>667,7855=>556,7856=>667,7857=>556,7858=>667,7859=>556,7860=>667,7861=>556,7862=>667,7863=>556,7864=>667,7865=>556,7866=>667,7867=>556,7868=>667,7869=>556,7870=>667,7871=>556,7872=>667,7873=>556,7874=>667,7875=>556,7876=>667,7877=>556,7878=>667,7879=>556,7880=>278,7881=>278,7882=>278,7883=>222,7884=>778,7885=>556,7886=>778,7887=>556,7888=>778,7889=>556,7890=>778,7891=>556,7892=>778,7893=>556,7894=>778,7895=>556,7896=>778,7897=>556,7898=>778,7899=>556,7900=>778,7901=>556,7902=>778,7903=>556,7904=>778,7905=>556,7906=>778,7907=>556,7908=>722,7909=>556,7910=>722,7911=>556,7912=>722,7913=>556,7914=>722,7915=>556,7916=>722,7917=>556,7918=>722,7919=>556,7920=>722,7921=>556,7922=>667,7923=>500,7924=>667,7925=>500,7926=>667,7927=>500,7928=>667,7929=>500,8204=>0,8205=>0,8206=>0,8207=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,64256=>407,64257=>366,64258=>366,64259=>569,64260=>569,64261=>407,64262=>569,64606=>0,64607=>0,64608=>0,64609=>0,64610=>0,64611=>0,64830=>457,64831=>457,65010=>879,65152=>403,65153=>174,65154=>196,65155=>169,65156=>192,65157=>362,65158=>377,65159=>169,65160=>193,65161=>491,65162=>488,65163=>244,65164=>244,65165=>173,65166=>192,65167=>810,65168=>806,65169=>244,65170=>251,65171=>461,65172=>462,65173=>810,65174=>807,65175=>292,65176=>293,65177=>813,65178=>807,65179=>277,65180=>294,65181=>437,65182=>451,65183=>439,65184=>441,65185=>439,65186=>449,65187=>441,65188=>441,65189=>439,65190=>446,65191=>439,65192=>441,65193=>418,65194=>427,65195=>415,65196=>426,65197=>226,65198=>224,65199=>222,65200=>224,65201=>1024,65202=>1022,65203=>757,65204=>770,65205=>1023,65206=>1025,65207=>756,65208=>770,65209=>946,65210=>948,65211=>782,65212=>786,65213=>956,65214=>953,65215=>779,65216=>787,65217=>633,65218=>648,65219=>613,65220=>643,65221=>641,65222=>643,65223=>613,65224=>646,65225=>441,65226=>433,65227=>373,65228=>423,65229=>437,65230=>438,65231=>379,65232=>425,65233=>762,65234=>770,65235=>416,65236=>418,65237=>563,65238=>568,65239=>426,65240=>423,65241=>808,65242=>812,65243=>558,65244=>545,65245=>564,65246=>585,65247=>207,65248=>253,65249=>407,65250=>408,65251=>352,65252=>354,65253=>537,65254=>541,65255=>244,65256=>244,65257=>452,65258=>463,65259=>512,65260=>516,65261=>366,65262=>368,65263=>487,65264=>488,65265=>491,65266=>486,65267=>293,65268=>294,65269=>514,65270=>527,65271=>518,65272=>522,65273=>512,65274=>536,65275=>514,65276=>522,65535=>367); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/aealarabiya.z b/vendor/tecnickcom/tcpdf/fonts/aealarabiya.z new file mode 100644 index 0000000..653d826 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/aealarabiya.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/aefurat.ctg.z b/vendor/tecnickcom/tcpdf/fonts/aefurat.ctg.z new file mode 100644 index 0000000..0df3649 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/aefurat.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/aefurat.php b/vendor/tecnickcom/tcpdf/fonts/aefurat.php new file mode 100644 index 0000000..2610ed1 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/aefurat.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-272 -501 1319 1114]','ItalicAngle'=>0,'Ascent'=>1162,'Descent'=>-508,'Leading'=>200,'CapHeight'=>662,'XHeight'=>450,'StemV'=>39,'StemH'=>17,'AvgWidth'=>401,'MaxWidth'=>1332,'MissingWidth'=>367); +$cbbox=array(33=>array(130,-9,237,676),34=>array(77,431,331,676),35=>array(6,0,496,662),36=>array(44,-87,457,727),37=>array(61,-13,772,676),38=>array(42,-13,750,676),39=>array(48,431,133,676),40=>array(48,-177,304,676),41=>array(29,-177,286,676),42=>array(69,266,432,676),43=>array(30,0,534,506),44=>array(56,-141,194,102),45=>array(39,194,286,257),46=>array(70,-11,181,100),47=>array(-9,-14,287,676),48=>array(24,-14,476,676),49=>array(111,0,394,676),50=>array(30,0,474,676),51=>array(43,-14,432,676),52=>array(12,0,472,676),53=>array(32,-14,438,688),54=>array(34,-14,468,684),55=>array(20,-8,449,662),56=>array(56,-14,446,676),57=>array(30,-22,459,676),58=>array(81,-11,192,459),59=>array(80,-141,219,459),60=>array(28,-10,536,516),61=>array(30,120,534,386),62=>array(28,-10,536,516),63=>array(68,-8,414,676),64=>array(116,-14,809,676),65=>array(14,0,706,674),66=>array(17,0,593,662),67=>array(28,-14,633,676),68=>array(16,0,686,662),69=>array(12,0,597,662),70=>array(12,0,546,662),71=>array(32,-14,709,676),72=>array(19,0,702,662),73=>array(18,0,314,662),74=>array(10,-14,370,662),75=>array(34,0,723,662),76=>array(12,0,598,662),77=>array(12,0,863,662),78=>array(12,-11,707,662),79=>array(34,-14,688,676),80=>array(16,0,542,662),81=>array(34,-178,701,676),82=>array(17,0,659,662),83=>array(42,-14,491,676),84=>array(17,0,593,662),85=>array(14,-14,706,662),86=>array(16,-11,697,662),87=>array(6,-11,932,662),88=>array(10,0,704,662),89=>array(22,0,703,662),90=>array(9,0,597,662),91=>array(88,-156,299,662),92=>array(-9,-14,287,676),93=>array(34,-156,246,662),94=>array(24,297,446,662),95=>array(0,-126,500,-74),96=>array(19,507,242,678),97=>array(37,-10,442,460),98=>array(3,-10,468,683),99=>array(26,-10,412,460),100=>array(27,-10,491,683),101=>array(26,-10,424,460),102=>array(20,0,383,683),103=>array(28,-218,470,460),104=>array(9,0,487,683),105=>array(16,0,253,683),106=>array(-70,-218,194,683),107=>array(7,0,506,683),108=>array(19,0,257,683),109=>array(16,0,774,460),110=>array(16,0,486,460),111=>array(29,-10,470,460),112=>array(6,-217,470,460),113=>array(24,-217,488,461),114=>array(6,0,334,460),115=>array(51,-10,348,459),116=>array(13,-10,279,579),117=>array(9,-10,479,450),118=>array(19,-14,477,450),119=>array(21,-14,694,450),120=>array(17,0,479,450),121=>array(14,-218,474,450),122=>array(27,0,418,450),123=>array(100,-181,350,680),124=>array(67,-14,133,676),125=>array(130,-181,380,680),126=>array(40,186,502,320),160=>array(0,0,0,0),161=>array(97,-218,204,469),162=>array(53,-138,448,579),163=>array(12,-8,490,676),164=>array(-22,58,522,602),165=>array(-53,0,512,662),166=>array(67,-14,133,676),167=>array(70,-148,426,676),168=>array(18,523,316,622),169=>array(38,-14,722,676),170=>array(4,394,270,676),171=>array(42,33,456,416),172=>array(30,108,534,386),173=>array(39,194,286,257),174=>array(38,-14,722,676),175=>array(11,547,322,601),176=>array(57,390,343,676),177=>array(30,0,534,568),178=>array(1,270,296,676),179=>array(14,262,291,676),180=>array(93,507,317,678),181=>array(59,-224,514,451),182=>array(-22,-154,450,662),183=>array(70,199,181,310),184=>array(52,-214,261,0),185=>array(57,270,248,676),186=>array(6,394,304,676),187=>array(44,33,458,416),188=>array(37,-14,718,676),189=>array(31,-14,746,676),190=>array(14,-14,718,676),191=>array(30,-218,376,468),192=>array(14,0,706,890),193=>array(14,0,706,890),194=>array(14,0,706,886),195=>array(14,0,706,850),196=>array(14,0,706,836),197=>array(14,0,706,914),198=>array(0,0,863,662),199=>array(28,-214,633,676),200=>array(12,0,597,890),201=>array(12,0,597,890),202=>array(12,0,597,886),203=>array(12,0,597,834),204=>array(18,0,314,890),205=>array(18,0,317,890),206=>array(11,0,322,886),207=>array(18,0,316,836),208=>array(16,0,686,662),209=>array(12,-11,707,850),210=>array(34,-14,688,888),211=>array(34,-14,688,890),212=>array(34,-14,688,886),213=>array(34,-14,688,850),214=>array(34,-14,688,836),215=>array(38,8,527,497),216=>array(34,-80,688,734),217=>array(14,-14,706,890),218=>array(14,-14,706,890),219=>array(14,-14,706,886),220=>array(14,-14,706,834),221=>array(22,0,703,890),222=>array(16,0,542,662),223=>array(12,-9,468,683),224=>array(37,-10,442,678),225=>array(37,-10,442,678),226=>array(37,-10,442,674),227=>array(37,-10,442,638),228=>array(37,-10,442,619),229=>array(37,-10,442,718),230=>array(38,-10,632,460),231=>array(26,-214,412,460),232=>array(26,-10,424,678),233=>array(26,-10,424,678),234=>array(26,-10,424,674),235=>array(26,-10,424,621),236=>array(-8,0,253,678),237=>array(16,0,291,678),238=>array(-16,0,296,674),239=>array(11,0,269,622),240=>array(29,-10,471,686),241=>array(16,0,486,638),242=>array(29,-10,470,678),243=>array(29,-10,470,678),244=>array(29,-10,470,674),245=>array(29,-10,470,637),246=>array(29,-10,470,619),247=>array(30,-10,534,516),248=>array(29,-112,470,551),249=>array(9,-10,479,678),250=>array(9,-10,479,678),251=>array(9,-10,479,674),252=>array(9,-10,479,621),253=>array(14,-218,474,678),254=>array(6,-217,470,683),255=>array(14,-218,474,625),256=>array(14,0,706,791),257=>array(37,-10,442,574),258=>array(14,0,706,893),259=>array(37,-10,442,677),260=>array(14,-166,787,674),261=>array(37,-166,444,460),262=>array(28,-14,633,890),263=>array(26,-10,412,678),264=>array(28,-14,633,886),265=>array(26,-10,412,674),266=>array(28,-14,633,836),267=>array(26,-10,412,622),268=>array(28,-14,633,886),269=>array(26,-10,412,674),270=>array(16,0,686,887),271=>array(27,-10,599,683),272=>array(16,0,686,662),273=>array(27,-10,500,683),274=>array(12,0,597,791),275=>array(26,-10,424,574),276=>array(12,0,597,876),277=>array(26,-10,424,677),278=>array(12,0,597,836),279=>array(26,-10,424,622),280=>array(12,-166,613,662),281=>array(26,-166,424,460),282=>array(12,0,597,886),283=>array(26,-10,424,675),284=>array(32,-14,709,884),285=>array(28,-218,470,674),286=>array(32,-14,709,874),287=>array(28,-218,470,665),288=>array(32,-14,709,836),289=>array(28,-218,470,619),290=>array(32,-281,709,676),291=>array(28,-218,470,736),292=>array(19,0,702,903),293=>array(9,0,487,890),294=>array(19,0,702,662),295=>array(9,0,534,683),296=>array(1,0,331,842),297=>array(-28,0,301,626),298=>array(11,0,322,791),299=>array(-19,0,292,574),300=>array(18,0,314,893),301=>array(-4,0,277,677),302=>array(18,-166,397,662),303=>array(16,-166,278,683),304=>array(18,0,314,836),305=>array(16,0,253,460),306=>array(18,-14,703,662),307=>array(16,-218,472,683),308=>array(10,-14,382,903),309=>array(-51,-159,306,687),310=>array(34,-275,723,662),311=>array(7,-275,506,683),312=>array(7,0,490,460),313=>array(12,0,598,907),314=>array(19,0,294,894),315=>array(12,-275,598,662),316=>array(19,-275,257,683),317=>array(12,0,598,676),318=>array(19,0,348,683),319=>array(12,0,721,662),320=>array(19,0,415,683),321=>array(12,0,598,662),322=>array(19,0,259,683),323=>array(12,-11,707,892),324=>array(16,0,486,679),325=>array(12,-256,707,662),326=>array(16,-255,486,460),327=>array(12,-11,707,884),328=>array(16,0,486,675),329=>array(4,0,535,738),330=>array(12,-218,707,662),331=>array(16,-218,424,460),332=>array(34,-14,688,791),333=>array(29,-10,470,574),334=>array(34,-14,688,893),335=>array(29,-10,470,677),336=>array(34,-14,688,890),337=>array(29,-10,470,680),338=>array(30,-6,886,668),339=>array(30,-10,690,460),340=>array(17,0,659,907),341=>array(6,0,334,679),342=>array(17,-275,659,662),343=>array(6,-275,334,460),344=>array(17,0,659,886),345=>array(6,0,334,674),346=>array(42,-14,491,892),347=>array(51,-10,367,680),348=>array(42,-14,491,886),349=>array(37,-10,348,675),350=>array(42,-214,491,676),351=>array(51,-214,348,459),352=>array(42,-14,491,887),353=>array(38,-10,350,676),354=>array(17,-214,593,662),355=>array(13,-214,279,579),356=>array(17,0,593,888),357=>array(13,-10,300,676),358=>array(17,0,593,662),359=>array(13,-10,279,579),360=>array(14,-14,706,842),361=>array(9,-10,479,626),362=>array(14,-14,706,791),363=>array(9,-10,479,574),364=>array(14,-14,706,893),365=>array(9,-10,479,677),366=>array(14,-14,706,934),367=>array(9,-10,479,718),368=>array(14,-14,706,892),369=>array(9,-10,479,680),370=>array(14,-166,706,662),371=>array(9,-166,500,450),372=>array(6,-11,932,887),373=>array(21,-14,694,676),374=>array(22,0,703,887),375=>array(14,-218,474,675),376=>array(22,0,703,836),377=>array(9,0,597,891),378=>array(27,0,418,679),379=>array(9,0,597,836),380=>array(27,0,418,619),381=>array(9,0,597,886),382=>array(27,0,418,674),383=>array(20,0,383,683),384=>array(-1,-10,468,683),385=>array(-104,0,593,662),386=>array(39,0,608,686),387=>array(-10,-10,468,662),388=>array(3,0,604,683),389=>array(-17,-10,468,683),390=>array(28,-14,633,676),391=>array(28,-14,806,822),392=>array(26,-10,554,570),393=>array(16,0,686,662),394=>array(-100,0,686,662),395=>array(39,0,608,686),396=>array(27,-10,503,662),397=>array(31,-224,477,459),398=>array(12,0,597,662),399=>array(37,-14,688,676),400=>array(28,-14,484,702),401=>array(-67,-204,546,662),402=>array(-76,-218,384,683),403=>array(32,-14,816,822),404=>array(23,-14,643,662),405=>array(9,-9,709,683),406=>array(19,-10,326,683),407=>array(1,0,331,662),408=>array(34,0,794,664),409=>array(7,0,506,683),410=>array(1,0,281,683),411=>array(28,-10,458,672),412=>array(10,-10,931,662),413=>array(-70,-218,707,662),414=>array(16,-200,486,460),415=>array(30,-12,714,673),416=>array(34,-14,708,796),417=>array(29,-10,536,552),418=>array(34,-14,1022,676),419=>array(29,-217,774,460),420=>array(-106,0,542,662),421=>array(6,-217,470,683),422=>array(6,-113,659,662),423=>array(42,-14,491,676),424=>array(51,-10,348,459),425=>array(14,0,562,661),426=>array(22,-190,576,683),427=>array(13,-218,279,579),428=>array(-9,0,593,662),429=>array(-12,-10,350,683),430=>array(17,-204,593,662),431=>array(14,-14,826,848),432=>array(9,-10,538,636),433=>array(33,-13,713,663),434=>array(14,-14,688,662),435=>array(17,0,803,666),436=>array(14,-218,651,459),437=>array(9,0,597,662),438=>array(27,0,418,450),439=>array(14,-14,496,676),440=>array(14,-14,496,676),441=>array(6,-209,362,450),442=>array(46,-228,434,450),443=>array(30,0,474,676),444=>array(31,-14,580,662),445=>array(26,-183,404,477),446=>array(26,-10,379,579),447=>array(6,-217,472,460),448=>array(67,-14,133,676),449=>array(67,-14,333,676),450=>array(47,-108,553,614),451=>array(130,-9,237,676),452=>array(16,0,1319,886),453=>array(16,0,1140,674),454=>array(27,-10,918,683),455=>array(12,-14,981,662),456=>array(12,-218,804,683),457=>array(19,-218,472,683),458=>array(12,-14,1092,662),459=>array(12,-218,916,683),460=>array(16,-218,694,683),461=>array(14,0,706,886),462=>array(37,-10,442,674),463=>array(8,0,320,886),464=>array(-19,-2,292,672),465=>array(34,-14,688,886),466=>array(29,-10,470,674),467=>array(14,-14,706,882),468=>array(9,-10,479,674),469=>array(14,-14,706,913),470=>array(9,-10,479,721),471=>array(14,-14,706,931),472=>array(9,-10,479,788),473=>array(14,-14,706,963),474=>array(9,-10,479,784),475=>array(14,-14,706,939),476=>array(9,-10,479,788),477=>array(18,-10,417,460),478=>array(14,0,706,834),479=>array(37,-10,442,721),480=>array(14,0,706,913),481=>array(37,-10,442,721),482=>array(0,0,863,813),483=>array(38,-10,632,460),484=>array(32,-14,709,676),485=>array(11,-218,489,460),486=>array(32,-14,709,886),487=>array(28,-218,470,674),488=>array(34,0,723,886),489=>array(7,0,506,886),490=>array(34,-14,688,676),491=>array(29,-10,470,460),492=>array(34,-14,688,813),493=>array(29,-10,470,601),494=>array(14,-14,496,903),495=>array(6,-209,362,674),496=>array(-70,-218,292,672),497=>array(16,0,1319,662),498=>array(16,0,1140,662),499=>array(27,-10,918,683),500=>array(32,-14,709,676),501=>array(28,-218,470,678),502=>array(19,-14,917,662),504=>array(12,-11,707,890),505=>array(16,0,486,678),506=>array(14,0,706,914),507=>array(37,-10,442,718),508=>array(0,0,863,890),509=>array(38,-10,632,678),510=>array(34,-80,688,734),511=>array(29,-112,470,678),512=>array(14,0,706,890),513=>array(27,-10,442,678),514=>array(14,0,706,876),515=>array(37,-10,442,664),516=>array(12,0,597,890),517=>array(24,-10,424,678),518=>array(12,0,597,876),519=>array(26,-10,424,664),520=>array(-77,0,314,890),521=>array(-71,0,309,678),522=>array(18,0,314,876),523=>array(-4,0,277,664),524=>array(34,-14,688,890),525=>array(29,-10,470,678),526=>array(34,-14,688,876),527=>array(29,-10,470,664),528=>array(17,0,659,890),529=>array(-53,0,334,678),530=>array(17,0,659,876),531=>array(6,0,334,664),532=>array(14,-14,706,890),533=>array(9,-10,479,678),534=>array(14,-14,706,876),535=>array(9,-10,479,664),536=>array(42,-281,491,676),537=>array(51,-281,348,459),538=>array(17,-281,593,662),539=>array(13,-281,279,579),542=>array(19,0,702,886),543=>array(-6,0,487,886),550=>array(14,0,706,834),551=>array(37,-10,442,622),552=>array(12,-214,597,662),553=>array(26,-214,424,460),554=>array(34,-14,688,913),555=>array(29,-10,470,721),556=>array(34,-14,688,923),557=>array(29,-10,470,721),558=>array(34,-14,688,834),559=>array(29,-10,470,622),560=>array(34,-14,688,913),561=>array(29,-10,470,721),562=>array(22,0,703,813),563=>array(14,-218,474,601),565=>array(16,-230,578,460),567=>array(-70,-218,193,460),1548=>array(71,38,208,312),1563=>array(73,11,211,442),1567=>array(36,0,287,536),1569=>array(30,-59,264,213),1570=>array(21,-59,302,869),1571=>array(41,-58,259,760),1572=>array(59,-267,402,422),1573=>array(57,-292,288,738),1574=>array(42,-163,599,418),1575=>array(57,-58,259,738),1576=>array(38,-198,751,328),1577=>array(46,2,292,584),1578=>array(37,1,751,433),1579=>array(39,2,753,521),1580=>array(41,-440,563,411),1581=>array(34,-437,557,414),1582=>array(44,-437,567,553),1583=>array(51,1,364,454),1584=>array(43,0,357,647),1585=>array(48,-269,408,313),1586=>array(46,-269,406,513),1587=>array(36,-229,832,302),1588=>array(47,-225,844,551),1589=>array(46,-225,1032,304),1590=>array(35,-230,1022,434),1591=>array(41,0,698,738),1592=>array(40,-4,697,734),1593=>array(33,-438,462,420),1594=>array(34,-438,462,599),1600=>array(0,0,440,88),1601=>array(30,1,751,578),1602=>array(38,-228,534,454),1603=>array(37,1,744,739),1604=>array(43,-228,542,738),1605=>array(47,-412,354,242),1606=>array(46,-227,550,372),1607=>array(35,-2,282,411),1608=>array(39,-270,382,256),1609=>array(37,-164,593,417),1610=>array(44,-329,600,418),1611=>array(18,688,216,925),1612=>array(11,682,246,921),1613=>array(4,-501,202,-263),1614=>array(18,695,216,847),1615=>array(17,687,219,937),1616=>array(2,-427,200,-276),1617=>array(57,921,265,1114),1618=>array(6,731,158,914),1632=>array(157,109,292,284),1633=>array(143,-8,292,496),1634=>array(74,-8,358,496),1635=>array(46,-8,380,496),1636=>array(95,0,348,496),1637=>array(82,0,354,496),1638=>array(63,0,373,496),1639=>array(29,0,384,496),1640=>array(31,0,386,496),1641=>array(74,0,354,496),1642=>array(33,0,428,664),1645=>array(19,109,368,441),7680=>array(14,-238,706,674),7681=>array(37,-249,442,460),7682=>array(17,0,593,801),7683=>array(3,-10,468,825),7684=>array(17,-139,593,662),7685=>array(3,-149,468,683),7686=>array(17,-94,593,662),7687=>array(3,-104,468,683),7688=>array(28,-214,633,897),7689=>array(26,-214,412,661),7690=>array(16,0,686,801),7691=>array(27,-10,491,683),7692=>array(16,-139,686,662),7693=>array(27,-149,491,683),7694=>array(16,-94,686,662),7695=>array(27,-104,491,683),7696=>array(16,-214,686,662),7697=>array(27,-224,491,683),7698=>array(16,-219,686,662),7699=>array(27,-229,491,683),7700=>array(12,0,597,1024),7701=>array(26,-10,424,812),7702=>array(12,0,597,1024),7703=>array(26,-10,424,812),7704=>array(12,-219,597,662),7705=>array(26,-229,424,460),7706=>array(12,-146,597,662),7707=>array(26,-156,424,460),7708=>array(12,-214,597,858),7709=>array(26,-214,424,647),7710=>array(12,0,546,801),7711=>array(20,0,383,825),7712=>array(32,-14,709,780),7713=>array(28,-218,470,544),7714=>array(19,0,702,801),7715=>array(9,0,487,825),7716=>array(19,-139,702,662),7717=>array(9,-139,487,683),7718=>array(19,0,702,801),7719=>array(9,0,487,825),7720=>array(19,-214,702,662),7721=>array(9,-214,487,683),7722=>array(19,-197,702,662),7723=>array(9,-197,487,683),7724=>array(1,-146,331,662),7725=>array(-31,-146,298,683),7726=>array(18,0,316,1044),7727=>array(11,0,269,832),7728=>array(34,0,723,872),7729=>array(7,0,506,897),7730=>array(34,-139,723,662),7731=>array(7,-139,506,683),7732=>array(34,-94,723,662),7733=>array(7,-94,506,683),7734=>array(12,-139,598,662),7735=>array(19,-139,257,683),7736=>array(12,-139,598,756),7737=>array(-17,-139,294,780),7738=>array(12,-94,598,662),7739=>array(-17,-94,294,683),7740=>array(12,-219,598,662),7741=>array(-17,-219,294,683),7742=>array(12,0,863,872),7743=>array(16,0,774,661),7744=>array(12,0,863,801),7745=>array(16,0,774,589),7746=>array(12,-139,863,662),7747=>array(16,-139,774,460),7748=>array(12,-11,707,801),7749=>array(16,0,486,589),7750=>array(12,-151,707,662),7751=>array(16,-139,486,460),7752=>array(12,-106,707,662),7753=>array(16,-94,486,460),7754=>array(12,-231,707,662),7755=>array(16,-219,486,460),7756=>array(34,-14,688,1061),7757=>array(29,-10,470,848),7758=>array(34,-14,688,989),7759=>array(29,-10,470,777),7760=>array(34,-14,688,1024),7761=>array(29,-10,470,812),7762=>array(34,-14,688,1024),7763=>array(29,-10,470,812),7764=>array(16,0,542,872),7765=>array(6,-217,470,661),7766=>array(16,0,542,801),7767=>array(6,-217,470,589),7768=>array(17,0,659,801),7769=>array(6,0,334,589),7770=>array(17,-139,659,662),7771=>array(6,-139,334,460),7772=>array(17,-139,659,756),7773=>array(6,-139,334,544),7774=>array(17,-94,659,662),7775=>array(6,-94,334,460),7776=>array(42,-14,491,825),7777=>array(51,-10,348,589),7778=>array(42,-153,491,676),7779=>array(51,-149,348,459),7780=>array(42,-14,491,1029),7781=>array(51,-10,367,825),7782=>array(42,-14,491,1025),7783=>array(38,-10,350,825),7784=>array(42,-153,491,825),7785=>array(51,-149,348,589),7786=>array(17,0,593,801),7787=>array(13,-10,279,718),7788=>array(17,-139,593,662),7789=>array(13,-149,279,579),7790=>array(17,-94,593,662),7791=>array(-9,-104,302,579),7792=>array(17,-219,593,662),7793=>array(-9,-229,302,579),7794=>array(14,-153,706,662),7795=>array(9,-149,479,450),7796=>array(14,-160,706,662),7797=>array(9,-156,479,450),7798=>array(14,-233,706,662),7799=>array(9,-229,479,450),7800=>array(14,-14,706,1061),7801=>array(9,-10,479,848),7802=>array(14,-14,706,952),7803=>array(9,-10,479,740),7804=>array(16,-11,697,808),7805=>array(19,-14,477,596),7806=>array(16,-151,697,662),7807=>array(19,-153,477,450),7808=>array(6,-11,932,872),7809=>array(21,-14,694,661),7810=>array(6,-11,932,872),7811=>array(21,-14,694,661),7812=>array(6,-11,932,801),7813=>array(21,-14,694,589),7814=>array(6,-11,932,801),7815=>array(21,-14,694,589),7816=>array(6,-151,932,662),7817=>array(21,-153,694,450),7818=>array(10,0,704,801),7819=>array(17,0,479,589),7820=>array(10,0,704,801),7821=>array(17,0,479,589),7822=>array(22,0,703,801),7823=>array(14,-218,474,589),7824=>array(9,0,597,868),7825=>array(27,0,418,657),7826=>array(9,-139,597,662),7827=>array(27,-139,418,450),7828=>array(9,-94,597,662),7829=>array(27,-94,418,450),7830=>array(9,-94,487,683),7831=>array(-3,-10,295,718),7832=>array(21,-14,694,688),7833=>array(14,-218,474,688),7834=>array(37,-10,442,710),7835=>array(20,0,383,825),7840=>array(14,-139,706,674),7841=>array(37,-149,442,460),7842=>array(14,0,706,920),7843=>array(37,-10,442,708),7844=>array(14,0,706,1097),7845=>array(37,-10,442,897),7846=>array(14,0,706,1097),7847=>array(37,-10,442,897),7848=>array(14,0,706,911),7849=>array(37,-10,498,696),7850=>array(14,0,706,1032),7851=>array(37,-10,442,832),7852=>array(14,-139,706,893),7853=>array(37,-149,442,657),7854=>array(14,0,706,1087),7855=>array(37,-10,442,875),7856=>array(14,0,706,1087),7857=>array(37,-10,442,875),7858=>array(14,0,706,1040),7859=>array(37,-10,442,838),7860=>array(14,0,706,1022),7861=>array(37,-10,442,810),7862=>array(14,-139,706,883),7863=>array(37,-149,442,647),7864=>array(12,-139,597,662),7865=>array(26,-149,424,460),7866=>array(12,0,597,920),7867=>array(26,-10,424,708),7868=>array(12,0,597,808),7869=>array(26,-10,424,596),7870=>array(12,0,597,1097),7871=>array(26,-10,424,897),7872=>array(12,0,597,1097),7873=>array(26,-10,424,897),7874=>array(12,0,608,920),7875=>array(26,-10,504,708),7876=>array(12,0,597,1032),7877=>array(26,-10,424,832),7878=>array(12,-139,597,868),7879=>array(26,-149,424,657),7880=>array(-240,0,314,911),7881=>array(-272,0,253,699),7882=>array(18,-139,314,662),7883=>array(16,-139,253,683),7884=>array(34,-153,688,676),7885=>array(29,-149,470,460),7886=>array(34,-14,688,924),7887=>array(29,-10,470,706),7888=>array(34,-14,688,1097),7889=>array(29,-10,470,897),7890=>array(34,-14,688,1097),7891=>array(29,-10,470,897),7892=>array(34,-14,688,924),7893=>array(29,-10,537,706),7894=>array(34,-14,688,1032),7895=>array(29,-10,470,832),7896=>array(34,-153,688,893),7897=>array(29,-149,470,657),7898=>array(34,-14,708,895),7899=>array(29,-10,536,679),7900=>array(34,-14,708,904),7901=>array(29,-10,536,677),7902=>array(34,-14,708,924),7903=>array(29,-10,536,706),7904=>array(34,-14,708,857),7905=>array(29,-10,536,618),7906=>array(34,-173,708,796),7907=>array(29,-169,536,552),7908=>array(14,-153,706,662),7909=>array(9,-149,479,450),7910=>array(14,-14,706,920),7911=>array(9,-10,479,708),7912=>array(14,-14,826,914),7913=>array(9,-10,538,684),7914=>array(14,-14,826,908),7915=>array(9,-10,538,678),7916=>array(14,-14,826,920),7917=>array(9,-10,538,708),7918=>array(14,-14,826,848),7919=>array(9,-10,538,640),7920=>array(14,-173,826,848),7921=>array(9,-169,538,636),7922=>array(22,0,703,872),7923=>array(14,-218,474,661),7924=>array(22,-139,703,662),7925=>array(14,-357,474,450),7926=>array(22,0,703,920),7927=>array(14,-218,474,708),7928=>array(22,0,703,808),7929=>array(14,-218,474,596),8204=>array(-17,0,17,910),8205=>array(-110,0,110,910),8206=>array(-123,0,123,916),8207=>array(-123,0,123,916),8234=>array(-123,-94,123,822),8235=>array(-123,-94,123,822),8236=>array(-111,0,111,910),8237=>array(-123,-94,123,916),8238=>array(-123,-94,123,916),64256=>array(26,0,479,500),64257=>array(22,0,382,500),64258=>array(23,0,382,500),64259=>array(26,0,583,500),64260=>array(26,0,582,500),64262=>array(37,-7,494,512),64830=>array(29,-259,520,689),64831=>array(34,-259,525,689),65010=>array(46,1,664,673),65152=>array(49,-58,283,215),65153=>array(32,-59,314,869),65154=>array(28,0,391,870),65155=>array(41,-58,259,760),65156=>array(41,0,340,760),65157=>array(51,-267,394,422),65158=>array(48,-267,448,422),65159=>array(57,-292,288,738),65160=>array(57,-232,354,738),65161=>array(47,-164,603,417),65162=>array(34,-262,538,202),65163=>array(0,0,214,534),65164=>array(0,0,253,523),65165=>array(57,-58,259,738),65166=>array(57,0,354,738),65167=>array(34,-196,748,331),65168=>array(29,-196,777,330),65169=>array(0,-197,214,329),65170=>array(0,-197,253,329),65171=>array(34,2,281,583),65172=>array(36,1,438,582),65173=>array(42,0,756,432),65174=>array(37,0,784,432),65175=>array(0,0,244,515),65176=>array(0,0,296,515),65177=>array(39,1,753,518),65178=>array(37,0,784,518),65179=>array(0,0,244,601),65180=>array(0,0,293,601),65181=>array(38,-437,561,414),65182=>array(46,-438,568,413),65183=>array(0,-196,551,366),65184=>array(0,-196,539,366),65185=>array(42,-438,564,413),65186=>array(46,-438,568,413),65187=>array(0,0,551,366),65188=>array(0,0,539,366),65189=>array(38,-436,561,554),65190=>array(41,-438,563,551),65191=>array(0,0,551,588),65192=>array(0,0,539,515),65193=>array(47,0,361,454),65194=>array(53,0,401,454),65195=>array(50,0,364,647),65196=>array(48,-1,397,647),65197=>array(47,-268,407,314),65198=>array(38,-267,464,317),65199=>array(49,-272,409,511),65200=>array(43,-267,469,516),65201=>array(38,-228,834,303),65202=>array(43,-228,917,303),65203=>array(0,0,563,303),65204=>array(0,0,640,303),65205=>array(36,-228,832,548),65206=>array(41,-228,914,549),65207=>array(0,0,563,555),65208=>array(0,0,640,555),65209=>array(46,-228,1032,302),65210=>array(41,-228,1085,302),65211=>array(0,0,708,302),65212=>array(0,0,761,302),65213=>array(38,-228,1025,432),65214=>array(41,-228,1085,432),65215=>array(0,0,708,432),65216=>array(0,0,761,432),65217=>array(50,-1,707,738),65218=>array(49,0,729,738),65219=>array(0,0,593,738),65220=>array(0,0,616,738),65221=>array(47,0,704,738),65222=>array(42,0,722,738),65223=>array(0,0,593,738),65224=>array(0,0,616,738),65225=>array(41,-438,469,419),65226=>array(63,-458,496,274),65227=>array(0,0,493,362),65228=>array(0,0,388,281),65229=>array(39,-438,467,599),65230=>array(63,-458,496,516),65231=>array(0,0,493,542),65232=>array(0,0,388,516),65233=>array(42,0,763,578),65234=>array(35,1,792,458),65235=>array(0,0,298,578),65236=>array(0,0,316,458),65237=>array(41,-228,537,454),65238=>array(41,-228,584,454),65239=>array(0,0,298,599),65240=>array(0,0,316,491),65241=>array(38,1,746,739),65242=>array(0,0,768,738),65243=>array(0,0,357,762),65244=>array(0,0,410,762),65245=>array(38,-228,537,738),65246=>array(46,-228,616,738),65247=>array(0,0,220,738),65248=>array(0,0,245,738),65249=>array(48,-413,356,240),65250=>array(48,-416,472,256),65251=>array(0,0,385,256),65252=>array(0,-14,424,256),65253=>array(54,-231,559,367),65254=>array(38,-228,616,370),65255=>array(0,0,214,516),65256=>array(0,0,253,516),65257=>array(35,-2,282,411),65258=>array(42,1,445,413),65259=>array(0,-16,452,522),65260=>array(0,-173,415,373),65261=>array(47,-268,390,259),65262=>array(50,-267,449,259),65263=>array(41,-163,597,419),65264=>array(42,-262,546,182),65265=>array(43,-333,599,414),65266=>array(42,-422,546,183),65267=>array(0,-236,244,329),65268=>array(0,-236,283,329),65269=>array(39,-88,507,752),65270=>array(39,-99,744,779),65271=>array(52,-88,507,792),65272=>array(57,-99,744,788),65273=>array(74,-292,507,749),65274=>array(68,-248,744,736),65275=>array(48,-89,481,748),65276=>array(68,-99,744,736),65535=>array(33,0,300,667)); +$cw=array(0=>0,12=>318,32=>250,33=>332,34=>408,35=>500,36=>500,37=>832,38=>778,39=>180,40=>332,41=>332,42=>500,43=>564,44=>250,45=>332,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,60=>564,61=>564,62=>564,63=>444,64=>921,65=>722,66=>667,67=>667,68=>722,69=>611,70=>556,71=>722,72=>722,73=>332,74=>388,75=>722,76=>611,77=>888,78=>722,79=>722,80=>556,81=>722,82=>667,83=>556,84=>611,85=>722,86=>722,87=>944,88=>722,89=>722,90=>611,91=>332,92=>278,93=>332,94=>468,95=>500,96=>332,97=>444,98=>500,99=>444,100=>500,101=>444,102=>332,103=>500,104=>500,105=>278,106=>278,107=>500,108=>278,109=>778,110=>500,111=>500,112=>500,113=>500,114=>332,115=>388,116=>278,117=>500,118=>500,119=>722,120=>500,121=>500,122=>444,123=>480,124=>200,125=>480,126=>541,160=>250,161=>332,162=>500,163=>500,164=>500,165=>500,166=>200,167=>500,168=>332,169=>760,170=>276,171=>500,172=>564,173=>332,174=>760,175=>332,176=>400,177=>564,178=>300,179=>300,180=>332,181=>534,182=>452,183=>250,184=>332,185=>300,186=>310,187=>500,188=>750,189=>750,190=>750,191=>444,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>888,199=>667,200=>611,201=>611,202=>611,203=>611,204=>332,205=>332,206=>332,207=>332,208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>564,216=>722,217=>722,218=>722,219=>722,220=>722,221=>722,222=>556,223=>500,224=>444,225=>444,226=>444,227=>444,228=>444,229=>444,230=>667,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>500,242=>500,243=>500,244=>500,245=>500,246=>500,247=>564,248=>500,249=>500,250=>500,251=>500,252=>500,253=>500,254=>500,255=>500,256=>722,257=>444,258=>722,259=>444,260=>722,261=>444,262=>667,263=>444,264=>667,265=>444,266=>667,267=>444,268=>667,269=>444,270=>722,271=>600,272=>722,273=>500,274=>611,275=>444,276=>611,277=>444,278=>611,279=>444,280=>611,281=>444,282=>611,283=>444,284=>722,285=>500,286=>722,287=>500,288=>722,289=>500,290=>722,291=>500,292=>722,293=>500,294=>722,295=>548,296=>332,297=>278,298=>332,299=>278,300=>332,301=>278,302=>332,303=>278,304=>332,305=>278,306=>722,307=>556,308=>388,309=>203,310=>722,311=>500,312=>500,313=>611,314=>278,315=>611,316=>278,317=>611,318=>348,319=>611,320=>444,321=>611,322=>278,323=>722,324=>500,325=>722,326=>500,327=>722,328=>500,329=>556,330=>722,331=>500,332=>722,333=>500,334=>722,335=>500,336=>722,337=>500,338=>888,339=>722,340=>667,341=>332,342=>667,343=>332,344=>667,345=>332,346=>556,347=>388,348=>556,349=>388,350=>556,351=>388,352=>556,353=>388,354=>611,355=>278,356=>611,357=>278,358=>611,359=>278,360=>722,361=>500,362=>722,363=>500,364=>722,365=>500,366=>722,367=>500,368=>722,369=>500,370=>722,371=>500,372=>944,373=>722,374=>722,375=>500,376=>722,377=>611,378=>444,379=>611,380=>444,381=>611,382=>444,383=>332,384=>500,385=>667,386=>646,387=>500,388=>646,389=>500,390=>667,391=>667,392=>444,393=>722,394=>722,395=>646,396=>500,397=>534,398=>611,399=>722,400=>518,401=>556,402=>332,403=>722,404=>664,405=>728,406=>332,407=>332,408=>810,409=>500,410=>278,411=>480,412=>944,413=>722,414=>500,415=>726,416=>722,417=>500,418=>1042,419=>778,420=>556,421=>500,422=>667,423=>556,424=>388,425=>627,426=>592,427=>278,428=>611,429=>278,430=>611,431=>722,432=>500,433=>757,434=>722,435=>822,436=>667,437=>611,438=>444,439=>556,440=>556,441=>388,442=>500,443=>500,444=>614,445=>438,446=>421,447=>500,448=>200,449=>400,450=>600,451=>332,452=>1332,453=>1166,454=>944,455=>1000,456=>888,457=>556,458=>1111,459=>1000,460=>778,461=>722,462=>444,463=>332,464=>278,465=>722,466=>500,467=>722,468=>500,469=>722,470=>500,471=>722,472=>500,473=>722,474=>500,475=>722,476=>500,477=>444,478=>722,479=>444,480=>722,481=>444,482=>888,483=>667,484=>722,485=>500,486=>722,487=>500,488=>722,489=>500,490=>722,491=>500,492=>722,493=>500,494=>556,495=>388,496=>278,497=>1332,498=>1166,499=>944,500=>722,501=>500,502=>944,504=>722,505=>500,506=>722,507=>444,508=>888,509=>667,510=>722,511=>500,512=>722,513=>444,514=>722,515=>444,516=>611,517=>444,518=>611,519=>444,520=>332,521=>278,522=>332,523=>278,524=>722,525=>500,526=>722,527=>500,528=>667,529=>332,530=>667,531=>332,532=>722,533=>500,534=>722,535=>500,536=>556,537=>388,538=>611,539=>278,542=>722,543=>500,550=>722,551=>444,552=>611,553=>444,554=>722,555=>500,556=>722,557=>500,558=>722,559=>500,560=>722,561=>500,562=>722,563=>500,565=>597,567=>278,1548=>278,1563=>278,1567=>322,1569=>278,1570=>343,1571=>298,1572=>442,1573=>343,1574=>634,1575=>298,1576=>806,1577=>324,1578=>808,1579=>815,1580=>616,1581=>616,1582=>625,1583=>407,1584=>408,1585=>459,1586=>469,1587=>880,1588=>907,1589=>1099,1590=>1077,1591=>750,1592=>755,1593=>522,1594=>529,1600=>439,1601=>806,1602=>584,1603=>782,1604=>589,1605=>413,1606=>623,1607=>332,1608=>435,1609=>634,1610=>634,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>419,1633=>419,1634=>419,1635=>419,1636=>419,1637=>419,1638=>419,1639=>419,1640=>419,1641=>419,1642=>462,1645=>398,7680=>722,7681=>444,7682=>667,7683=>500,7684=>667,7685=>500,7686=>667,7687=>500,7688=>667,7689=>444,7690=>722,7691=>500,7692=>722,7693=>500,7694=>722,7695=>500,7696=>722,7697=>500,7698=>722,7699=>500,7700=>611,7701=>444,7702=>611,7703=>444,7704=>611,7705=>444,7706=>611,7707=>444,7708=>611,7709=>444,7710=>556,7711=>332,7712=>722,7713=>500,7714=>722,7715=>500,7716=>722,7717=>500,7718=>722,7719=>500,7720=>722,7721=>500,7722=>722,7723=>500,7724=>332,7725=>278,7726=>332,7727=>278,7728=>722,7729=>500,7730=>722,7731=>500,7732=>722,7733=>500,7734=>611,7735=>278,7736=>611,7737=>278,7738=>611,7739=>278,7740=>611,7741=>278,7742=>888,7743=>778,7744=>888,7745=>778,7746=>888,7747=>778,7748=>722,7749=>500,7750=>722,7751=>500,7752=>722,7753=>500,7754=>722,7755=>500,7756=>722,7757=>500,7758=>722,7759=>500,7760=>722,7761=>500,7762=>722,7763=>500,7764=>556,7765=>500,7766=>556,7767=>500,7768=>667,7769=>332,7770=>667,7771=>332,7772=>667,7773=>332,7774=>667,7775=>332,7776=>556,7777=>388,7778=>556,7779=>388,7780=>556,7781=>388,7782=>556,7783=>388,7784=>556,7785=>388,7786=>611,7787=>278,7788=>611,7789=>278,7790=>611,7791=>278,7792=>611,7793=>278,7794=>722,7795=>500,7796=>722,7797=>500,7798=>722,7799=>500,7800=>722,7801=>500,7802=>722,7803=>500,7804=>722,7805=>500,7806=>722,7807=>500,7808=>944,7809=>722,7810=>944,7811=>722,7812=>944,7813=>722,7814=>944,7815=>722,7816=>944,7817=>722,7818=>722,7819=>500,7820=>722,7821=>500,7822=>722,7823=>500,7824=>611,7825=>444,7826=>611,7827=>444,7828=>611,7829=>444,7830=>500,7831=>278,7832=>722,7833=>500,7834=>444,7835=>332,7840=>722,7841=>444,7842=>807,7843=>528,7844=>722,7845=>444,7846=>722,7847=>444,7848=>807,7849=>528,7850=>722,7851=>444,7852=>722,7853=>444,7854=>722,7855=>444,7856=>722,7857=>444,7858=>807,7859=>528,7860=>722,7861=>444,7862=>722,7863=>444,7864=>611,7865=>444,7866=>696,7867=>528,7868=>611,7869=>444,7870=>611,7871=>444,7872=>611,7873=>444,7874=>696,7875=>528,7876=>611,7877=>444,7878=>611,7879=>444,7880=>332,7881=>278,7882=>332,7883=>278,7884=>722,7885=>500,7886=>807,7887=>584,7888=>722,7889=>500,7890=>722,7891=>500,7892=>807,7893=>584,7894=>722,7895=>500,7896=>722,7897=>500,7898=>722,7899=>500,7900=>722,7901=>500,7902=>807,7903=>584,7904=>722,7905=>500,7906=>722,7907=>500,7908=>722,7909=>500,7910=>807,7911=>584,7912=>722,7913=>500,7914=>722,7915=>500,7916=>807,7917=>584,7918=>722,7919=>500,7920=>722,7921=>500,7922=>722,7923=>500,7924=>722,7925=>500,7926=>807,7927=>584,7928=>722,7929=>500,8204=>0,8205=>0,8206=>0,8207=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,64256=>443,64257=>407,64258=>407,64259=>603,64260=>601,64262=>496,64830=>554,64831=>554,65010=>719,65152=>329,65153=>366,65154=>391,65155=>296,65156=>339,65157=>439,65158=>448,65159=>342,65160=>354,65161=>659,65162=>538,65163=>267,65164=>253,65165=>298,65166=>354,65167=>808,65168=>777,65169=>274,65170=>253,65171=>337,65172=>438,65173=>818,65174=>784,65175=>293,65176=>296,65177=>818,65178=>784,65179=>293,65180=>293,65181=>608,65182=>568,65183=>599,65184=>539,65185=>606,65186=>568,65187=>606,65188=>539,65189=>616,65190=>563,65191=>599,65192=>539,65193=>411,65194=>402,65195=>423,65196=>396,65197=>459,65198=>464,65199=>464,65200=>469,65201=>887,65202=>916,65203=>623,65204=>640,65205=>883,65206=>914,65207=>621,65208=>640,65209=>1080,65210=>1084,65211=>772,65212=>761,65213=>1075,65214=>1084,65215=>767,65216=>761,65217=>762,65218=>729,65219=>654,65220=>616,65221=>762,65222=>722,65223=>642,65224=>616,65225=>522,65226=>422,65227=>553,65228=>387,65229=>529,65230=>422,65231=>541,65232=>387,65233=>815,65234=>791,65235=>346,65236=>315,65237=>587,65238=>584,65239=>348,65240=>315,65241=>806,65242=>767,65243=>408,65244=>410,65245=>589,65246=>616,65247=>278,65248=>245,65249=>407,65250=>472,65251=>439,65252=>423,65253=>611,65254=>616,65255=>281,65256=>253,65257=>332,65258=>444,65259=>507,65260=>415,65261=>439,65262=>449,65263=>637,65264=>546,65265=>639,65266=>546,65267=>293,65268=>282,65269=>569,65270=>744,65271=>577,65272=>744,65273=>579,65274=>744,65275=>537,65276=>744,65535=>367); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/aefurat.z b/vendor/tecnickcom/tcpdf/fonts/aefurat.z new file mode 100644 index 0000000..67d0f96 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/aefurat.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/cid0cs.php b/vendor/tecnickcom/tcpdf/fonts/cid0cs.php new file mode 100644 index 0000000..cd269d0 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/cid0cs.php @@ -0,0 +1,17 @@ +'Adobe', 'Ordering'=>'GB1','Supplement'=>2); +include(dirname(__FILE__).'/uni2cid_ag15.php'); +$desc=array('Flags'=>32,'FontBBox'=>'[-1011 -330 2260 1078]','ItalicAngle'=>0,'Ascent'=>1069,'Descent'=>-271,'Leading'=>0,'CapHeight'=>716,'XHeight'=>518,'StemV'=>34,'StemH'=>15,'AvgWidth'=>441,'MaxWidth'=>2259,'MissingWidth'=>1000); +$cbbox=array(0=>array(125,0,875,750),33=>array(85,0,194,716),34=>array(41,462,313,716),35=>array(11,-12,545,728),36=>array(38,-103,511,782),37=>array(73,-27,819,728),38=>array(43,-17,644,728),39=>array(45,462,145,716),40=>array(60,-210,297,728),41=>array(36,-210,273,728),42=>array(33,423,356,728),43=>array(55,116,529,590),44=>array(84,-141,190,100),45=>array(32,215,301,303),46=>array(89,0,189,100),47=>array(0,-24,278,716),48=>array(45,-12,511,719),49=>array(111,0,375,719),50=>array(31,0,505,719),51=>array(44,-12,513,719),52=>array(15,0,510,716),53=>array(42,-12,516,706),54=>array(42,-12,514,719),55=>array(48,0,511,706),56=>array(42,-12,513,719),57=>array(43,-12,513,719),58=>array(90,0,190,518),59=>array(84,-141,190,518),60=>array(55,111,529,595),61=>array(55,203,529,503),62=>array(55,111,529,595),63=>array(46,0,508,728),64=>array(56,-210,981,729),65=>array(-1,0,668,716),66=>array(74,0,615,716),67=>array(51,-12,683,728),68=>array(80,0,672,716),69=>array(79,0,614,716),70=>array(80,0,563,716),71=>array(52,-12,714,728),72=>array(80,0,642,716),73=>array(92,0,187,716),74=>array(27,-12,420,716),75=>array(73,0,665,716),76=>array(75,0,523,716),77=>array(76,0,757,716),78=>array(79,0,642,716),79=>array(47,-12,732,728),80=>array(77,0,623,716),81=>array(47,-56,745,728),82=>array(80,0,711,716),83=>array(45,-12,615,728),84=>array(22,0,589,716),85=>array(79,-12,642,716),86=>array(6,0,660,716),87=>array(12,0,933,716),88=>array(5,0,661,716),89=>array(5,0,661,716),90=>array(18,0,584,716),91=>array(68,-199,262,716),92=>array(0,-24,278,716),93=>array(16,-199,210,716),94=>array(26,325,443,716),95=>array(-6,-125,506,-75),96=>array(42,591,222,728),97=>array(38,-12,516,530),98=>array(67,-12,517,716),99=>array(39,-12,491,530),100=>array(36,-12,486,716),101=>array(39,-12,517,530),102=>array(8,0,311,728),103=>array(34,-210,491,530),104=>array(67,0,490,716),105=>array(67,0,155,716),106=>array(-45,-209,155,716),107=>array(66,0,496,716),108=>array(67,0,155,716),109=>array(65,0,769,530),110=>array(68,0,490,530),111=>array(35,-12,521,530),112=>array(68,-199,518,530),113=>array(38,-199,488,530),114=>array(64,0,346,530),115=>array(31,-12,461,530),116=>array(17,-7,269,700),117=>array(66,-12,487,518),118=>array(13,0,488,518),119=>array(5,0,717,518),120=>array(7,0,493,518),121=>array(16,-210,492,518),122=>array(20,0,479,518),123=>array(28,-210,310,728),124=>array(92,-199,168,716),125=>array(24,-210,306,728),126=>array(43,272,542,432),161=>array(110,-199,219,517),162=>array(55,-200,507,716),163=>array(15,-14,531,728),164=>array(38,115,518,594),165=>array(1,0,555,716),166=>array(92,-199,168,716),167=>array(42,-210,513,728),168=>array(31,611,302,711),169=>array(0,-9,737,728),170=>array(21,364,348,728),171=>array(69,35,487,481),172=>array(55,203,529,503),173=>array(32,215,301,303),174=>array(0,-9,737,728),175=>array(-6,793,506,843),176=>array(65,454,335,725),177=>array(55,0,529,611),178=>array(12,358,316,725),179=>array(16,349,315,725),180=>array(111,591,291,728),181=>array(67,-199,488,518),182=>array(-1,-199,539,716),183=>array(89,302,189,402),184=>array(52,-205,263,11),185=>array(52,358,232,725),186=>array(22,361,343,728),187=>array(69,35,487,481),188=>array(62,-25,789,732),189=>array(62,-25,806,732),190=>array(26,-25,789,732),191=>array(75,-209,537,519),192=>array(-1,0,668,900),193=>array(-1,0,668,900),194=>array(-1,0,668,900),195=>array(-1,0,668,886),196=>array(-1,0,668,881),197=>array(-1,0,668,920),198=>array(0,0,945,716),199=>array(51,-209,684,728),200=>array(79,0,614,900),201=>array(79,0,614,900),202=>array(79,0,614,900),203=>array(79,0,614,881),204=>array(15,0,195,900),205=>array(83,0,264,900),206=>array(-15,0,293,900),207=>array(3,0,274,881),208=>array(1,0,672,716),209=>array(79,0,642,884),210=>array(47,-12,732,900),211=>array(47,-12,732,900),212=>array(47,-12,732,900),213=>array(47,-12,732,884),214=>array(47,-12,732,881),215=>array(79,141,505,567),216=>array(41,-29,742,742),217=>array(79,-12,642,900),218=>array(79,-12,642,900),219=>array(79,-12,642,900),220=>array(79,-12,642,881),221=>array(5,0,661,900),222=>array(77,0,623,716),223=>array(72,-12,577,728),224=>array(38,-12,516,728),225=>array(38,-12,516,728),226=>array(38,-12,516,728),227=>array(38,-12,516,716),228=>array(38,-12,516,711),229=>array(38,-12,516,752),230=>array(34,-12,849,530),231=>array(39,-196,491,530),232=>array(39,-12,517,728),233=>array(39,-12,517,728),234=>array(39,-12,517,728),235=>array(39,-12,517,711),236=>array(13,0,193,728),237=>array(83,0,264,728),238=>array(-15,0,293,728),239=>array(5,0,276,711),240=>array(38,-12,517,716),241=>array(68,0,490,716),242=>array(35,-12,521,728),243=>array(35,-12,521,728),244=>array(35,-12,521,728),245=>array(35,-12,521,716),246=>array(35,-12,521,711),247=>array(55,146,529,560),248=>array(63,-39,549,550),249=>array(66,-12,487,728),250=>array(66,-12,487,728),251=>array(66,-12,487,728),252=>array(66,-12,487,711),253=>array(16,-210,492,728),254=>array(68,-199,518,716),255=>array(16,-210,492,711),256=>array(-1,0,668,833),257=>array(38,-12,516,697),258=>array(-1,0,668,888),259=>array(38,-12,516,722),260=>array(-1,-208,758,716),261=>array(38,-208,571,530),262=>array(51,-12,683,916),263=>array(39,-12,491,728),264=>array(51,-12,683,914),265=>array(39,-12,491,728),266=>array(51,-12,683,877),267=>array(39,-12,491,711),268=>array(51,-12,683,916),269=>array(39,-12,491,728),270=>array(80,0,672,916),271=>array(36,-12,625,716),272=>array(-1,0,672,716),273=>array(36,-12,551,716),274=>array(79,0,614,863),275=>array(39,-12,517,697),276=>array(79,0,614,902),277=>array(39,-12,517,722),278=>array(79,0,614,877),279=>array(39,-12,517,711),280=>array(79,-208,645,716),281=>array(39,-208,517,530),282=>array(79,0,614,916),283=>array(39,-12,517,728),284=>array(52,-12,714,914),285=>array(34,-210,491,728),286=>array(52,-12,714,904),287=>array(34,-210,491,722),288=>array(52,-12,714,877),289=>array(34,-210,491,711),290=>array(52,-210,714,728),291=>array(34,-210,491,775),292=>array(80,0,642,914),293=>array(67,0,490,914),294=>array(-1,0,722,716),295=>array(2,0,490,716),296=>array(-24,0,303,890),297=>array(-53,0,274,717),298=>array(-15,0,290,849),299=>array(-42,0,263,697),300=>array(-3,0,286,904),301=>array(-34,0,255,722),302=>array(91,-208,305,716),303=>array(45,-208,225,716),304=>array(92,0,187,877),305=>array(95,0,183,518),306=>array(92,-12,670,716),307=>array(67,-209,377,716),308=>array(27,-12,526,914),309=>array(-46,-209,263,728),310=>array(73,-210,665,716),311=>array(66,-210,496,716),312=>array(66,0,446,518),313=>array(75,0,523,916),314=>array(50,0,230,916),315=>array(75,-210,523,716),316=>array(58,-210,160,716),317=>array(-29,0,523,916),318=>array(-44,0,264,916),319=>array(75,0,523,716),320=>array(67,0,313,716),321=>array(0,0,521,716),322=>array(1,0,218,716),323=>array(79,0,642,916),324=>array(68,0,490,728),325=>array(79,-210,642,716),326=>array(68,-210,490,530),327=>array(79,0,642,916),328=>array(68,0,490,728),329=>array(-2,0,559,722),330=>array(81,-186,670,728),331=>array(68,-210,489,530),332=>array(47,-12,732,849),333=>array(35,-12,521,697),334=>array(47,-12,732,904),335=>array(35,-12,521,722),336=>array(47,-12,732,914),337=>array(35,-12,521,728),338=>array(63,-12,968,728),339=>array(38,-12,904,530),340=>array(80,0,711,914),341=>array(64,0,346,728),342=>array(80,-210,711,716),343=>array(54,-210,346,530),344=>array(80,0,711,916),345=>array(28,0,346,728),346=>array(45,-12,615,916),347=>array(31,-12,461,728),348=>array(45,-12,615,916),349=>array(31,-12,461,728),350=>array(45,-210,615,728),351=>array(31,-210,461,530),352=>array(45,-12,615,916),353=>array(31,-12,461,728),354=>array(22,-210,589,716),355=>array(17,-210,269,700),356=>array(22,0,589,916),357=>array(17,-7,406,716),358=>array(22,0,589,716),359=>array(17,-7,269,700),360=>array(79,-12,642,890),361=>array(66,-12,487,716),362=>array(79,-12,642,851),363=>array(66,-12,487,697),364=>array(79,-12,642,906),365=>array(66,-12,487,722),366=>array(79,-12,642,955),367=>array(66,-12,487,752),368=>array(79,-12,642,917),369=>array(66,-12,487,728),370=>array(79,-208,642,716),371=>array(66,-208,555,518),372=>array(12,0,933,916),373=>array(5,0,717,728),374=>array(5,0,661,916),375=>array(16,-210,492,728),376=>array(5,0,661,879),377=>array(18,0,584,916),378=>array(20,0,479,728),379=>array(18,0,584,877),380=>array(20,0,479,711),381=>array(18,0,584,916),382=>array(20,0,479,728),383=>array(67,0,292,728),384=>array(-14,-12,515,716),385=>array(0,0,688,716),386=>array(80,0,620,716),387=>array(65,-12,515,716),388=>array(67,-12,517,716),389=>array(67,-12,517,716),390=>array(39,-12,671,728),391=>array(51,-12,769,750),392=>array(39,-12,579,567),393=>array(1,0,672,716),394=>array(0,0,739,716),395=>array(35,0,575,716),396=>array(41,-12,491,716),397=>array(35,-198,522,530),398=>array(53,0,588,716),399=>array(45,-12,676,728),400=>array(42,-13,565,728),401=>array(-20,-154,563,716),402=>array(-14,-154,311,728),403=>array(52,-12,792,750),404=>array(0,-206,649,716),405=>array(67,-12,775,716),406=>array(67,-12,245,716),407=>array(0,0,322,716),408=>array(73,0,690,720),409=>array(66,0,496,728),410=>array(0,-12,322,716),411=>array(13,0,488,716),412=>array(65,-12,769,716),413=>array(-21,-154,642,716),414=>array(68,-199,490,530),415=>array(47,-12,732,728),416=>array(47,-12,776,768),417=>array(35,-12,555,606),418=>array(47,-12,950,728),419=>array(35,-209,715,530),420=>array(0,0,691,716),421=>array(68,-199,519,637),422=>array(80,-122,738,716),423=>array(52,-12,622,728),424=>array(39,-12,469,530),425=>array(47,0,554,716),426=>array(34,-154,405,734),427=>array(17,-151,269,700),428=>array(23,0,549,716),429=>array(17,-7,269,716),430=>array(22,-208,589,716),431=>array(79,-12,776,768),432=>array(66,-12,625,620),433=>array(67,-12,681,716),434=>array(6,0,620,728),435=>array(32,0,745,728),436=>array(16,-210,617,528),437=>array(18,0,584,716),438=>array(20,0,479,519),439=>array(40,-12,582,716),440=>array(46,-12,588,716),441=>array(42,-192,486,518),442=>array(36,-209,437,518),443=>array(31,0,505,728),444=>array(13,-12,516,716),445=>array(37,-12,486,518),446=>array(46,-10,508,716),447=>array(68,-199,498,529),448=>array(92,0,168,716),449=>array(92,0,372,716),450=>array(25,0,449,716),451=>array(85,0,194,716),452=>array(80,0,1303,896),453=>array(80,0,1202,728),454=>array(36,-12,1036,728),455=>array(75,-12,949,716),456=>array(75,-209,709,716),457=>array(67,-209,375,716),458=>array(79,-12,1141,716),459=>array(79,-209,875,716),460=>array(68,-209,709,716),461=>array(-1,0,668,900),462=>array(38,-12,516,728),463=>array(-17,0,292,900),464=>array(-18,0,291,728),465=>array(47,-12,732,900),466=>array(35,-12,521,728),467=>array(79,-12,642,900),468=>array(66,-12,487,728),469=>array(79,-12,642,1003),470=>array(66,-12,487,832),471=>array(79,-12,642,1068),472=>array(66,-12,487,896),473=>array(79,-12,642,1068),474=>array(66,-12,487,896),475=>array(79,-12,642,1068),476=>array(66,-12,487,896),477=>array(39,-11,517,530),478=>array(-1,0,668,1003),479=>array(38,-12,516,832),480=>array(-1,0,668,1003),481=>array(38,-12,516,832),482=>array(0,0,945,865),483=>array(34,-12,849,697),484=>array(52,-12,779,728),485=>array(34,-210,556,530),486=>array(52,-12,714,900),487=>array(34,-210,491,728),488=>array(73,0,665,900),489=>array(66,0,496,900),490=>array(47,-208,732,728),491=>array(33,-208,519,530),492=>array(47,-208,732,865),493=>array(33,-208,519,697),494=>array(48,6,492,898),495=>array(48,-192,492,728),496=>array(-48,-209,261,728),497=>array(80,0,1301,716),498=>array(80,0,1200,716),499=>array(36,-12,1034,716),500=>array(52,-12,714,900),501=>array(34,-210,491,728),506=>array(-1,0,668,1043),507=>array(38,-12,516,937),508=>array(0,0,945,898),509=>array(34,-12,849,728),510=>array(41,-29,742,898),511=>array(63,-39,549,728),512=>array(-1,0,668,894),513=>array(38,-12,516,728),514=>array(-1,0,668,888),515=>array(38,-12,516,722),516=>array(79,0,614,894),517=>array(39,-12,517,728),518=>array(79,0,614,888),519=>array(39,-12,517,722),520=>array(-55,0,291,894),521=>array(-53,0,292,728),522=>array(-3,0,286,888),523=>array(-5,0,284,722),524=>array(47,-12,732,894),525=>array(35,-12,521,728),526=>array(47,-12,732,888),527=>array(35,-12,521,722),528=>array(80,0,711,894),529=>array(14,0,359,728),530=>array(80,0,711,888),531=>array(38,0,346,722),532=>array(79,-12,642,894),533=>array(66,-12,487,728),534=>array(79,-12,642,888),535=>array(66,-12,487,722),592=>array(40,-12,518,530),593=>array(36,-12,486,530),594=>array(70,-12,520,530),595=>array(70,-12,520,716),596=>array(9,-12,461,530),597=>array(39,-91,482,530),598=>array(36,-210,611,716),599=>array(36,-12,611,716),600=>array(39,-12,522,530),601=>array(39,-12,517,530),602=>array(41,-12,772,530),603=>array(36,-12,450,530),604=>array(35,-12,449,530),605=>array(35,-12,701,530),606=>array(36,-12,483,530),607=>array(-51,-210,252,518),608=>array(34,-210,616,716),609=>array(34,-210,491,530),610=>array(36,-12,518,530),611=>array(13,-210,488,518),612=>array(13,-12,488,518),613=>array(66,-198,487,518),614=>array(67,0,490,716),615=>array(67,-210,490,716),616=>array(-2,0,244,716),617=>array(67,-12,280,518),618=>array(33,0,323,518),619=>array(7,0,349,716),620=>array(20,0,403,716),621=>array(67,-210,280,716),622=>array(67,-210,599,716),623=>array(64,-12,768,518),624=>array(64,-209,768,518),625=>array(65,-210,769,530),626=>array(-57,-210,490,530),627=>array(68,-210,615,530),628=>array(68,0,490,518),629=>array(35,-12,521,530),630=>array(36,-12,690,530),631=>array(36,-12,638,530),632=>array(36,-210,522,716),633=>array(-13,-12,269,518),634=>array(-13,-12,269,716),635=>array(-13,-210,394,518),636=>array(64,-198,346,530),637=>array(64,-210,346,530),638=>array(64,0,326,530),639=>array(-14,0,248,530),640=>array(64,0,518,518),641=>array(64,0,518,518),642=>array(31,-208,461,530),643=>array(-83,-210,299,716),644=>array(-53,-210,329,716),645=>array(-83,-210,299,716),646=>array(-125,-198,302,716),647=>array(9,-177,261,530),648=>array(17,-210,294,700),649=>array(20,-12,576,518),650=>array(36,-12,522,518),651=>array(66,-12,520,530),652=>array(13,0,488,518),653=>array(5,0,717,518),654=>array(8,0,484,728),655=>array(2,0,498,518),656=>array(20,-208,653,518),657=>array(20,-79,542,518),658=>array(22,-210,494,518),659=>array(26,-210,494,518),660=>array(16,0,428,728),661=>array(36,0,448,728),662=>array(16,-12,428,716),663=>array(39,-210,491,530),664=>array(36,-12,578,530),665=>array(74,0,496,518),666=>array(36,-12,483,530),667=>array(36,-12,582,616),668=>array(68,0,490,518),669=>array(-125,-198,248,716),670=>array(4,-198,434,518),671=>array(67,0,406,518),672=>array(36,-198,611,716),673=>array(16,0,428,728),674=>array(36,0,448,728),675=>array(36,-12,945,716),676=>array(36,-210,930,716),677=>array(36,-79,1008,716),678=>array(17,-12,650,700),679=>array(17,-210,540,728),680=>array(17,-91,700,700),688=>array(50,344,278,716),689=>array(50,344,278,716),690=>array(-10,235,103,716),691=>array(50,344,210,619),692=>array(-9,338,151,613),693=>array(-9,241,213,613),694=>array(50,344,292,613),695=>array(2,344,386,613),696=>array(8,235,274,613),697=>array(46,462,192,716),698=>array(46,462,342,716),699=>array(64,494,166,728),700=>array(56,482,158,716),701=>array(64,482,166,716),702=>array(44,497,178,716),703=>array(44,497,178,716),704=>array(9,428,230,720),705=>array(20,428,242,720),706=>array(57,423,264,675),707=>array(56,423,263,675),708=>array(34,445,286,652),709=>array(34,446,286,653),710=>array(12,591,321,728),711=>array(12,591,321,728),712=>array(66,506,126,716),713=>array(14,624,319,697),714=>array(111,591,291,728),715=>array(42,591,222,728),716=>array(66,-210,126,0),717=>array(14,-176,319,-113),718=>array(42,-210,222,-73),719=>array(111,-210,291,-73),720=>array(83,0,217,518),721=>array(83,382,217,518),722=>array(44,150,178,369),723=>array(44,150,178,369),724=>array(45,185,295,333),725=>array(45,185,295,333),726=>array(45,164,235,354),727=>array(65,254,297,300),728=>array(22,595,311,722),729=>array(121,611,211,711),730=>array(79,576,255,752),731=>array(89,-208,303,12),732=>array(3,605,330,716),733=>array(28,591,373,728),734=>array(20,195,329,389),736=>array(7,235,271,613),737=>array(50,344,103,716),738=>array(17,338,249,619),739=>array(4,344,271,613),740=>array(25,215,314,724),741=>array(22,0,280,716),742=>array(22,0,280,716),743=>array(22,0,280,716),744=>array(22,0,280,716),745=>array(22,0,280,716),768=>array(-368,591,-188,728),769=>array(-343,591,-163,728),770=>array(-432,591,-124,728),771=>array(-441,605,-114,716),772=>array(-430,624,-125,697),773=>array(-534,624,-22,674),774=>array(-422,595,-133,722),775=>array(-323,611,-233,711),776=>array(-414,611,-143,711),777=>array(-384,722,-172,895),778=>array(-366,574,-190,752),779=>array(-426,591,-81,728),780=>array(-432,591,-124,728),781=>array(-308,591,-248,801),782=>array(-383,591,-173,801),783=>array(-451,591,-105,728),784=>array(-422,595,-133,822),785=>array(-422,595,-133,722),786=>array(-333,591,-231,825),787=>array(-325,579,-223,813),788=>array(-333,579,-231,813),789=>array(7,482,109,716),790=>array(-368,-210,-188,-73),791=>array(-343,-210,-163,-73),792=>array(-337,-252,-219,-62),793=>array(-337,-252,-219,-62),794=>array(-392,591,-164,769),795=>array(-100,330,55,606),796=>array(-326,-210,-230,-40),797=>array(-403,-210,-153,-62),798=>array(-403,-210,-153,-62),799=>array(-373,-252,-183,-62),800=>array(-404,-165,-152,-119),801=>array(-397,-208,-158,20),802=>array(-272,-208,-33,20),803=>array(-323,-210,-233,-110),804=>array(-414,-210,-143,-110),805=>array(-366,-210,-190,-32),806=>array(-325,-210,-223,-46),807=>array(-381,-205,-169,11),808=>array(-326,-208,-112,12),809=>array(-308,-210,-248,-40),810=>array(-407,-190,-148,-77),811=>array(-414,-205,-142,-43),812=>array(-432,-210,-124,-73),813=>array(-432,-210,-124,-73),814=>array(-422,-200,-133,-73),815=>array(-422,-200,-133,-73),816=>array(-441,-185,-114,-72),817=>array(-430,-179,-125,-106),818=>array(-534,-125,-22,-75),819=>array(-534,-210,-22,-55),820=>array(-441,203,-114,316),821=>array(-430,223,-125,296),822=>array(-500,223,-56,296),823=>array(-458,84,-98,434),824=>array(-678,-24,-100,716),825=>array(-311,-210,-216,-40),826=>array(-407,-190,-148,-77),827=>array(-359,-210,-196,-47),828=>array(-414,-186,-142,-83),829=>array(-412,558,-144,790),830=>array(-333,595,-222,922),831=>array(-534,624,-22,779),832=>array(-368,722,-188,859),833=>array(-343,722,-163,859),834=>array(-441,604,-114,717),835=>array(-325,613,-223,847),836=>array(-456,585,-100,720),837=>array(-301,-210,-180,-60),864=>array(-1011,604,-101,716),865=>array(-1000,595,-112,722),884=>array(30,464,301,716),885=>array(30,-132,301,120),890=>array(80,-208,258,-42),894=>array(84,-141,190,518),900=>array(89,600,208,736),901=>array(-27,600,304,736),902=>array(-1,0,668,736),903=>array(89,303,189,403),904=>array(-43,0,651,736),905=>array(-43,0,679,736),906=>array(-43,0,224,736),908=>array(-6,-12,732,736),910=>array(-43,0,740,736),911=>array(-6,0,706,736),912=>array(-56,0,275,736),913=>array(-1,0,668,716),914=>array(74,0,615,716),915=>array(81,0,528,716),916=>array(6,0,675,716),917=>array(79,0,614,716),918=>array(18,0,584,716),919=>array(80,0,642,716),920=>array(47,-12,732,728),921=>array(92,0,187,716),922=>array(73,0,665,716),923=>array(5,0,659,716),924=>array(76,0,757,716),925=>array(79,0,642,716),926=>array(53,0,597,716),927=>array(47,-12,732,728),928=>array(80,0,642,716),929=>array(77,0,623,716),931=>array(47,0,554,716),932=>array(22,0,589,716),933=>array(5,0,661,716),934=>array(47,-26,761,737),935=>array(5,0,661,716),936=>array(46,0,759,716),937=>array(52,0,706,728),938=>array(3,0,274,860),939=>array(5,0,661,860),940=>array(35,-12,541,736),941=>array(29,-12,405,736),942=>array(68,-199,490,736),943=>array(67,0,188,736),944=>array(68,-12,483,736),945=>array(35,-12,541,530),946=>array(66,-199,528,728),947=>array(13,-199,488,518),948=>array(35,-12,522,716),949=>array(29,-12,405,530),950=>array(35,-210,433,716),951=>array(68,-199,490,530),952=>array(45,-12,511,728),953=>array(67,0,155,518),954=>array(65,0,499,518),955=>array(13,0,488,716),956=>array(66,-199,487,518),957=>array(13,0,488,518),958=>array(35,-210,420,728),959=>array(35,-12,521,530),960=>array(16,0,662,518),961=>array(66,-199,536,530),962=>array(35,-210,465,530),963=>array(35,-12,597,534),964=>array(16,0,366,518),965=>array(68,-12,483,518),966=>array(35,-199,614,530),967=>array(7,-199,515,518),968=>array(66,-199,662,518),969=>array(35,-12,731,518),970=>array(-25,0,246,711),971=>array(68,-12,483,711),972=>array(35,-12,521,736),973=>array(68,-12,483,736),974=>array(35,-12,731,736),976=>array(66,-12,528,728),977=>array(23,-12,595,728),978=>array(6,0,627,719),979=>array(-42,0,723,736),980=>array(6,0,627,861),981=>array(35,-199,609,716),982=>array(19,-12,746,518),986=>array(51,-210,671,728),988=>array(80,-209,529,716),990=>array(46,-209,524,728),992=>array(25,-12,645,728),994=>array(80,-209,800,716),995=>array(63,-209,767,518),996=>array(58,0,604,720),997=>array(46,-199,492,521),998=>array(80,-187,626,716),999=>array(25,-13,494,589),1000=>array(46,-12,511,728),1001=>array(48,-196,463,530),1002=>array(3,0,621,716),1003=>array(15,0,591,530),1004=>array(62,-12,596,747),1005=>array(35,-12,597,576),1006=>array(19,0,549,716),1007=>array(11,-196,423,606),1008=>array(20,-11,580,528),1009=>array(66,-209,536,530),1010=>array(39,-12,491,530),1011=>array(-45,-209,155,716),1025=>array(79,0,614,859),1026=>array(25,-11,826,716),1027=>array(80,0,543,869),1028=>array(47,-12,680,728),1029=>array(45,-12,615,728),1030=>array(92,0,187,716),1031=>array(1,0,272,859),1032=>array(27,-12,420,716),1033=>array(9,-11,1070,716),1034=>array(80,0,973,716),1035=>array(24,0,809,716),1036=>array(80,0,580,869),1038=>array(5,-9,633,881),1039=>array(80,-199,643,716),1040=>array(-1,0,668,716),1041=>array(80,0,620,716),1042=>array(74,0,615,716),1043=>array(80,0,543,716),1044=>array(1,-167,642,716),1045=>array(79,0,614,716),1046=>array(3,0,919,716),1047=>array(39,-13,562,728),1048=>array(79,0,643,716),1049=>array(79,0,643,881),1050=>array(80,0,580,717),1051=>array(9,-11,625,716),1052=>array(76,0,757,716),1053=>array(80,0,642,716),1054=>array(47,-12,732,728),1055=>array(80,0,643,716),1056=>array(77,0,623,716),1057=>array(51,-12,683,728),1058=>array(22,0,589,716),1059=>array(5,-9,633,716),1060=>array(40,0,720,716),1061=>array(5,0,661,716),1062=>array(78,-199,706,716),1063=>array(58,0,604,716),1064=>array(80,0,840,716),1065=>array(80,-199,904,716),1066=>array(0,0,757,716),1067=>array(80,0,801,716),1068=>array(80,0,620,716),1069=>array(38,-12,671,728),1070=>array(80,-12,960,728),1071=>array(11,0,642,716),1072=>array(38,-12,516,530),1073=>array(45,-12,532,732),1074=>array(66,0,492,518),1075=>array(66,0,364,518),1076=>array(0,-147,553,518),1077=>array(39,-12,517,530),1078=>array(-3,0,671,518),1079=>array(24,-12,423,530),1080=>array(66,0,493,518),1081=>array(66,0,493,716),1082=>array(66,0,446,518),1083=>array(11,-3,505,518),1084=>array(66,0,617,518),1085=>array(66,0,486,518),1086=>array(35,-12,521,530),1087=>array(67,0,476,518),1088=>array(68,-199,518,530),1089=>array(39,-12,491,530),1090=>array(18,0,439,518),1091=>array(16,-210,492,518),1092=>array(37,-199,788,716),1093=>array(7,0,493,518),1094=>array(66,-199,532,518),1095=>array(46,0,467,518),1096=>array(69,0,734,518),1097=>array(69,-199,792,518),1098=>array(0,0,589,518),1099=>array(66,0,646,518),1100=>array(66,0,492,518),1101=>array(24,-11,474,530),1102=>array(66,-11,709,530),1103=>array(16,0,475,518),1105=>array(39,-12,517,720),1106=>array(2,-209,490,716),1107=>array(66,0,364,720),1108=>array(37,-11,487,530),1109=>array(31,-12,461,530),1110=>array(67,0,155,716),1111=>array(4,0,275,720),1112=>array(-45,-209,155,716),1113=>array(11,-3,842,518),1114=>array(66,0,780,518),1115=>array(2,0,490,716),1116=>array(66,0,446,720),1118=>array(16,-210,492,716),1119=>array(67,-199,476,518),1120=>array(47,-12,929,730),1121=>array(35,-12,731,518),1122=>array(0,0,622,716),1123=>array(-2,0,491,716),1124=>array(92,-12,912,728),1125=>array(68,-11,671,530),1126=>array(-2,0,668,716),1127=>array(0,0,595,518),1128=>array(92,0,952,716),1129=>array(68,0,817,518),1130=>array(0,0,654,716),1131=>array(1,0,599,518),1132=>array(92,0,932,716),1133=>array(68,0,820,518),1134=>array(37,-209,562,898),1135=>array(28,-209,423,728),1136=>array(46,0,759,716),1137=>array(66,-199,662,518),1138=>array(47,-12,732,728),1139=>array(35,-11,521,530),1140=>array(6,0,674,716),1141=>array(13,0,497,518),1142=>array(6,0,674,898),1143=>array(13,0,497,728),1144=>array(47,-210,1268,728),1145=>array(35,-210,1049,530),1146=>array(47,-36,732,750),1147=>array(35,-24,521,542),1148=>array(47,-12,929,926),1149=>array(35,-12,731,758),1150=>array(47,-12,929,880),1151=>array(35,-12,731,711),1152=>array(51,-97,672,728),1153=>array(39,-143,482,530),1154=>array(55,0,631,716),1155=>array(2,621,332,758),1156=>array(4,613,380,774),1157=>array(2,621,332,758),1158=>array(2,621,332,758),1168=>array(80,0,412,883),1169=>array(66,0,321,666),1170=>array(0,0,543,716),1171=>array(-2,0,364,518),1172=>array(80,-185,622,716),1173=>array(67,-209,490,716),1174=>array(3,-199,919,716),1175=>array(-3,-199,671,518),1176=>array(39,-205,562,728),1177=>array(24,-205,423,530),1178=>array(80,-199,580,717),1179=>array(66,-199,446,518),1180=>array(80,0,580,717),1181=>array(66,0,446,518),1182=>array(0,0,580,717),1183=>array(-2,0,446,518),1184=>array(24,0,762,717),1185=>array(0,0,544,518),1186=>array(80,-199,707,716),1187=>array(66,-199,543,518),1188=>array(80,0,880,716),1189=>array(66,0,653,518),1190=>array(80,-174,704,716),1191=>array(67,-174,537,518),1192=>array(47,-154,732,728),1193=>array(35,-141,550,530),1194=>array(51,-208,684,728),1195=>array(39,-208,491,530),1196=>array(21,-199,589,716),1197=>array(18,-199,439,518),1198=>array(5,0,661,716),1199=>array(13,-199,488,518),1200=>array(5,0,661,716),1201=>array(13,-199,488,518),1202=>array(4,-199,660,716),1203=>array(7,-199,493,518),1204=>array(16,-199,882,716),1205=>array(18,-199,631,518),1206=>array(58,-199,670,716),1207=>array(46,-199,524,518),1208=>array(58,0,604,716),1209=>array(46,0,467,518),1210=>array(81,0,627,716),1211=>array(67,0,490,716),1212=>array(7,-12,784,728),1213=>array(7,-11,624,530),1214=>array(7,-208,784,728),1215=>array(7,-208,624,530),1216=>array(92,0,187,716),1217=>array(3,0,919,881),1218=>array(-3,0,671,716),1219=>array(80,-174,580,717),1220=>array(66,-174,445,519),1223=>array(80,-174,703,716),1224=>array(66,-174,547,518),1227=>array(58,-199,604,716),1228=>array(46,-199,467,518),1232=>array(-2,0,668,881),1233=>array(38,-12,516,716),1234=>array(-1,0,668,861),1235=>array(38,-12,516,721),1236=>array(0,0,945,716),1237=>array(34,-12,849,530),1238=>array(79,0,613,881),1239=>array(39,-12,517,716),1240=>array(45,-12,676,728),1241=>array(39,-11,517,530),1242=>array(45,-12,676,859),1243=>array(39,-11,517,719),1244=>array(3,0,919,859),1245=>array(-3,0,671,721),1246=>array(39,-13,562,861),1247=>array(24,-12,423,721),1248=>array(39,-13,562,716),1249=>array(24,-206,457,518),1250=>array(79,0,643,833),1251=>array(66,0,493,697),1252=>array(79,0,643,861),1253=>array(66,0,493,721),1254=>array(47,-12,732,861),1255=>array(35,-12,521,721),1256=>array(47,-12,732,728),1257=>array(35,-11,521,530),1258=>array(47,-12,732,861),1259=>array(35,-11,521,721),1262=>array(5,-9,633,833),1263=>array(16,-210,492,697),1264=>array(5,-9,633,861),1265=>array(16,-210,492,721),1266=>array(5,-9,633,898),1267=>array(16,-210,492,728),1268=>array(58,0,604,861),1269=>array(46,0,467,721),1272=>array(80,0,801,861),1273=>array(66,0,646,721),1329=>array(25,-9,618,678),1330=>array(90,-1,481,685),1331=>array(31,-1,563,684),1332=>array(34,-1,564,684),1333=>array(30,-11,468,677),1334=>array(56,-22,510,692),1335=>array(27,-185,407,671),1336=>array(89,-96,476,684),1337=>array(98,0,722,683),1338=>array(46,-11,613,678),1339=>array(24,-2,503,676),1340=>array(28,-185,357,672),1341=>array(24,-12,539,676),1342=>array(38,-11,675,676),1343=>array(32,-2,462,676),1344=>array(28,-61,410,690),1345=>array(31,-11,515,689),1346=>array(27,-96,559,683),1347=>array(63,0,487,708),1348=>array(26,-11,620,677),1349=>array(101,-10,631,684),1350=>array(36,-11,594,685),1351=>array(32,-11,602,684),1352=>array(90,-1,460,684),1353=>array(69,-19,489,689),1354=>array(78,-1,614,683),1355=>array(55,-23,508,690),1356=>array(86,-2,619,683),1357=>array(30,-12,462,675),1358=>array(37,-96,665,676),1359=>array(101,-11,501,683),1360=>array(87,-7,452,677),1361=>array(104,-15,498,680),1362=>array(23,-7,511,671),1363=>array(106,-6,608,672),1364=>array(35,-8,675,678),1365=>array(100,-16,547,679),1366=>array(76,-15,713,680),1369=>array(87,485,211,705),1370=>array(83,485,207,705),1371=>array(34,485,114,702),1372=>array(20,425,282,702),1373=>array(87,518,210,699),1374=>array(14,476,257,702),1375=>array(38,484,397,702),1377=>array(39,-8,552,315),1378=>array(52,-210,400,319),1379=>array(52,-210,402,319),1380=>array(49,-210,433,319),1381=>array(49,-8,391,613),1382=>array(48,-210,409,319),1383=>array(50,-122,393,613),1384=>array(52,-210,395,319),1385=>array(49,-210,437,319),1386=>array(40,-8,430,613),1387=>array(44,-210,394,613),1388=>array(37,-210,309,315),1389=>array(38,-210,482,613),1390=>array(45,-8,413,580),1391=>array(53,-210,391,613),1392=>array(45,0,398,613),1393=>array(51,-8,397,561),1394=>array(50,-210,401,319),1395=>array(8,-8,386,618),1396=>array(44,-8,404,618),1397=>array(6,-210,197,315),1398=>array(90,-9,394,618),1399=>array(37,-8,359,319),1400=>array(50,0,397,319),1401=>array(79,-210,318,376),1402=>array(39,-210,551,315),1403=>array(55,-210,411,319),1404=>array(29,0,420,319),1405=>array(49,-9,393,315),1406=>array(43,-210,393,613),1407=>array(42,-8,550,319),1408=>array(52,-210,399,319),1409=>array(49,-210,393,319),1410=>array(32,0,308,315),1411=>array(39,-210,550,613),1412=>array(47,0,337,618),1413=>array(52,-8,336,319),1414=>array(78,-210,541,610),1415=>array(49,-8,502,613),1417=>array(80,-21,197,335),1425=>array(97,-194,263,-63),1426=>array(37,568,323,664),1427=>array(112,569,249,789),1428=>array(147,568,213,728),1429=>array(106,568,262,728),1430=>array(104,-195,256,-43),1431=>array(133,568,227,662),1432=>array(82,568,278,684),1433=>array(0,568,152,720),1434=>array(229,-205,340,-43),1435=>array(104,-195,256,-43),1436=>array(104,568,256,720),1437=>array(208,568,360,720),1438=>array(108,568,360,750),1439=>array(12,568,348,716),1440=>array(200,568,348,716),1441=>array(58,568,303,716),1443=>array(92,-191,221,-62),1444=>array(117,-205,228,-43),1445=>array(104,-195,256,-43),1446=>array(54,-215,306,-33),1447=>array(117,-209,242,-35),1448=>array(104,568,256,720),1449=>array(12,568,160,716),1450=>array(97,-194,263,-63),1451=>array(117,568,228,730),1452=>array(92,580,221,709),1453=>array(208,-195,360,-43),1454=>array(0,568,196,684),1455=>array(125,568,235,678),1456=>array(147,-210,213,-50),1457=>array(53,-210,307,-50),1458=>array(69,-210,285,-50),1459=>array(69,-210,285,-50),1460=>array(147,-116,213,-50),1461=>array(100,-116,260,-50),1462=>array(100,-210,260,-50),1463=>array(119,-104,241,-62),1464=>array(119,-144,241,-62),1465=>array(147,568,213,634),1467=>array(53,-210,307,-50),1468=>array(147,231,213,297),1469=>array(159,-184,201,-62),1470=>array(24,430,342,518),1471=>array(119,580,241,622),1472=>array(72,-80,154,598),1473=>array(147,568,213,634),1474=>array(147,568,213,634),1475=>array(69,0,169,518),1476=>array(147,568,213,634),1488=>array(60,0,517,518),1489=>array(38,0,533,530),1490=>array(20,0,386,530),1491=>array(24,0,482,518),1492=>array(72,0,526,530),1493=>array(16,0,248,530),1494=>array(28,0,306,543),1495=>array(72,0,526,530),1496=>array(68,-12,532,530),1497=>array(16,258,248,530),1498=>array(20,-199,439,530),1499=>array(38,-12,469,530),1500=>array(33,-12,436,716),1501=>array(72,0,526,518),1502=>array(30,0,526,530),1503=>array(16,-199,248,530),1504=>array(38,0,270,530),1505=>array(25,-12,546,530),1506=>array(32,-82,503,518),1507=>array(45,-199,499,530),1508=>array(37,-12,511,530),1509=>array(37,-199,468,518),1510=>array(45,0,477,518),1511=>array(72,-199,535,518),1512=>array(20,0,439,530),1513=>array(72,-12,674,518),1514=>array(21,-13,565,530),1520=>array(16,0,522,530),1521=>array(16,0,522,530),1522=>array(16,258,522,530),1523=>array(45,398,221,641),1524=>array(45,398,417,641),1548=>array(90,-3,196,238),1563=>array(90,0,196,479),1567=>array(47,0,509,728),1569=>array(54,0,469,422),1570=>array(-23,0,270,862),1571=>array(46,0,188,933),1572=>array(-108,-210,408,761),1573=>array(46,-174,188,716),1574=>array(32,-121,679,453),1575=>array(79,0,164,716),1576=>array(62,-190,709,265),1577=>array(62,-6,452,633),1578=>array(62,-50,709,437),1579=>array(62,-50,709,539),1580=>array(52,-271,564,453),1581=>array(52,-271,564,453),1582=>array(52,-271,564,621),1583=>array(38,0,368,437),1584=>array(38,0,368,629),1585=>array(-74,-210,357,290),1586=>array(-74,-210,357,470),1587=>array(39,-228,1115,346),1588=>array(39,-228,1115,604),1589=>array(39,-228,1230,436),1590=>array(39,-228,1230,532),1591=>array(59,0,782,686),1592=>array(59,0,782,686),1593=>array(53,-271,565,492),1594=>array(53,-271,565,725),1600=>array(-1,0,280,95),1601=>array(62,0,895,773),1602=>array(34,-214,738,678),1603=>array(62,0,689,716),1604=>array(34,-121,594,716),1605=>array(58,-265,527,359),1606=>array(62,-121,630,456),1607=>array(62,-6,452,431),1608=>array(-108,-210,408,476),1609=>array(32,-121,679,453),1610=>array(32,-238,679,453),1611=>array(10,716,290,944),1612=>array(4,716,292,990),1613=>array(8,-255,288,-78),1614=>array(10,716,290,859),1615=>array(4,716,292,990),1616=>array(8,-170,288,-78),1617=>array(7,716,299,936),1618=>array(3,716,201,965),1632=>array(130,59,348,260),1633=>array(99,0,282,576),1634=>array(35,0,451,576),1635=>array(39,0,473,576),1636=>array(63,-6,443,586),1637=>array(45,-6,435,576),1638=>array(29,0,450,576),1639=>array(21,-6,459,576),1640=>array(21,0,459,582),1641=>array(42,0,466,582),1642=>array(37,-3,516,579),1643=>array(-19,-151,205,100),1644=>array(90,-3,196,238),1645=>array(20,163,418,576),1648=>array(127,716,173,984),1649=>array(-15,0,256,927),1650=>array(-47,0,196,936),1651=>array(-55,-257,188,716),1652=>array(46,716,188,933),1653=>array(79,0,384,777),1654=>array(-108,-210,551,641),1655=>array(-108,-210,551,754),1656=>array(32,-121,775,621),1657=>array(62,-50,709,569),1658=>array(62,-50,709,568),1659=>array(62,-271,709,265),1660=>array(62,-161,709,437),1661=>array(62,-50,709,539),1662=>array(62,-271,709,265),1663=>array(62,-50,709,569),1664=>array(62,-271,709,265),1665=>array(52,-271,564,621),1666=>array(52,-271,564,724),1667=>array(52,-271,564,453),1668=>array(52,-271,564,453),1669=>array(52,-271,564,695),1670=>array(52,-271,564,453),1671=>array(52,-271,564,453),1672=>array(38,0,368,746),1673=>array(38,-95,368,437),1674=>array(38,-155,368,437),1675=>array(38,-155,368,746),1676=>array(38,0,368,614),1677=>array(38,-140,368,437),1678=>array(38,0,368,716),1679=>array(38,0,368,716),1680=>array(38,0,368,746),1681=>array(-74,-210,360,587),1682=>array(-74,-210,357,526),1683=>array(-74,-258,357,290),1684=>array(-74,-267,378,290),1685=>array(-74,-269,442,290),1686=>array(-74,-267,378,290),1687=>array(-74,-210,360,455),1688=>array(-74,-210,360,557),1689=>array(-74,-210,357,587),1690=>array(39,-228,1115,517),1691=>array(39,-254,1115,346),1692=>array(39,-254,1115,603),1693=>array(39,-228,1230,436),1694=>array(39,-228,1230,619),1695=>array(59,0,782,686),1696=>array(53,-271,565,749),1697=>array(62,0,895,556),1698=>array(62,-134,895,556),1699=>array(62,-134,895,773),1700=>array(62,0,895,860),1701=>array(62,-221,895,556),1702=>array(62,0,895,891),1703=>array(34,-214,738,693),1704=>array(34,-214,738,780),1705=>array(62,0,827,717),1706=>array(62,0,997,717),1707=>array(62,0,827,717),1708=>array(62,0,689,759),1709=>array(62,0,689,846),1710=>array(62,-223,689,716),1711=>array(62,0,827,793),1712=>array(62,0,827,793),1713=>array(62,0,827,863),1714=>array(62,-169,827,793),1715=>array(62,-271,827,793),1716=>array(62,0,827,942),1717=>array(34,-121,618,952),1718=>array(34,-121,594,914),1719=>array(34,-121,647,1001),1722=>array(62,-121,630,272),1723=>array(62,-121,630,570),1724=>array(62,-232,630,455),1725=>array(62,-121,630,540),1726=>array(29,-15,644,593),1728=>array(62,-6,452,705),1729=>array(2,-85,510,159),1730=>array(2,-85,510,431),1731=>array(2,-85,510,347),1732=>array(-108,-210,408,476),1733=>array(-108,-210,408,476),1734=>array(-108,-210,408,712),1735=>array(-108,-210,408,758),1736=>array(-108,-210,408,789),1737=>array(-108,-210,408,713),1738=>array(-108,-210,408,655),1739=>array(-108,-210,408,757),1740=>array(32,-121,679,453),1741=>array(-4,-121,789,453),1742=>array(32,-121,679,576),1744=>array(32,-271,679,493),1745=>array(32,-263,679,493),1746=>array(71,-221,684,297),1747=>array(71,-221,684,349),1748=>array(-1,190,280,285),1749=>array(62,-6,452,431),1750=>array(27,352,699,802),1751=>array(27,352,531,802),1752=>array(35,573,287,788),1753=>array(5,573,284,1002),1754=>array(34,354,341,789),1755=>array(25,635,347,869),1756=>array(23,436,669,781),1757=>array(34,27,654,647),1758=>array(2,-87,850,761),1759=>array(78,687,209,808),1760=>array(78,687,209,808),1761=>array(-1,576,340,848),1762=>array(34,414,316,789),1763=>array(23,-267,669,78),1764=>array(-14,714,162,756),1765=>array(-42,395,268,807),1766=>array(36,443,404,754),1767=>array(36,443,404,754),1768=>array(37,573,378,919),1769=>array(34,0,480,736),1770=>array(35,-161,183,-13),1771=>array(35,641,183,789),1772=>array(35,641,183,789),1773=>array(34,-270,316,105),1776=>array(130,59,348,260),1777=>array(99,0,282,576),1778=>array(35,0,451,576),1779=>array(39,0,473,576),1780=>array(35,0,471,661),1781=>array(30,-6,450,576),1782=>array(94,0,403,576),1783=>array(21,-6,459,576),1784=>array(21,0,459,582),1785=>array(42,0,466,582),2305=>array(-375,608,-50,889),2306=>array(-239,608,-109,843),2307=>array(78,69,216,513),2309=>array(42,-17,706,608),2310=>array(42,-18,923,608),2311=>array(-1,-114,545,608),2312=>array(-1,-114,545,891),2313=>array(-1,11,603,608),2314=>array(-1,11,726,608),2315=>array(-1,-44,933,608),2316=>array(-1,-44,690,608),2317=>array(-1,-187,624,864),2318=>array(-1,-187,624,886),2319=>array(-1,-187,624,608),2320=>array(-1,-187,624,889),2321=>array(42,-18,923,864),2322=>array(42,-18,923,886),2323=>array(42,-14,922,889),2324=>array(42,-17,922,892),2325=>array(-1,-17,680,608),2326=>array(-1,-15,745,608),2327=>array(-1,-15,605,608),2328=>array(-1,-17,652,608),2329=>array(-1,0,636,608),2330=>array(-1,-15,700,608),2331=>array(-1,-80,726,608),2332=>array(-1,-17,700,608),2333=>array(-1,-17,725,608),2334=>array(-1,-15,710,608),2335=>array(-1,0,515,608),2336=>array(-1,0,545,608),2337=>array(-1,0,595,608),2338=>array(-1,0,535,608),2339=>array(-1,-17,706,608),2340=>array(-1,-17,598,608),2341=>array(42,-14,650,608),2342=>array(-1,-14,545,608),2343=>array(42,-18,653,616),2344=>array(-1,-15,598,608),2345=>array(-1,-33,598,608),2346=>array(-1,-17,578,608),2347=>array(-2,-15,712,608),2348=>array(-1,-17,604,608),2349=>array(39,-17,702,608),2350=>array(-1,-17,646,608),2351=>array(-1,-17,613,608),2352=>array(-1,-14,499,608),2353=>array(-1,-19,499,608),2354=>array(-1,-14,692,608),2355=>array(-1,0,742,608),2356=>array(-1,-122,742,608),2357=>array(-1,-15,604,608),2358=>array(38,-18,696,616),2359=>array(-1,-15,621,608),2360=>array(-1,-17,659,608),2361=>array(-1,-238,559,608),2364=>array(-404,-197,-274,-67),2365=>array(28,50,386,608),2366=>array(-1,-17,332,608),2367=>array(-1,-15,776,895),2368=>array(-254,-15,332,895),2369=>array(-463,-256,-31,7),2370=>array(-345,-262,84,7),2371=>array(-330,-249,-50,13),2372=>array(-321,-271,-24,46),2373=>array(-338,608,-49,864),2374=>array(-546,598,-135,886),2375=>array(-534,598,-135,889),2376=>array(-475,599,-135,892),2377=>array(-19,-17,332,864),2378=>array(-228,-17,332,886),2379=>array(-260,-17,332,889),2380=>array(-152,-17,332,892),2381=>array(-251,-271,32,0),2384=>array(47,97,830,792),2385=>array(-212,608,-135,788),2386=>array(-612,-99,0,-29),2387=>array(-349,645,-184,832),2388=>array(-261,645,-96,832),2392=>array(-1,-17,680,608),2393=>array(-1,-104,745,608),2394=>array(-1,-54,605,608),2395=>array(-1,-66,700,608),2396=>array(-1,-67,595,608),2397=>array(-1,-77,535,608),2398=>array(-2,-15,712,608),2399=>array(-1,-38,613,608),2400=>array(-1,-71,933,608),2401=>array(-1,-71,690,608),2402=>array(-418,-271,26,13),2403=>array(-418,-271,60,13),2404=>array(128,-17,203,617),2405=>array(128,-17,385,616),2406=>array(147,115,491,468),2407=>array(179,-134,455,689),2408=>array(99,-123,542,644),2409=>array(125,-106,492,677),2410=>array(12,112,617,685),2411=>array(82,-149,576,658),2412=>array(118,-130,545,653),2413=>array(73,23,570,569),2414=>array(84,29,570,667),2415=>array(119,-92,575,648),2416=>array(64,292,298,525),2433=>array(-296,703,10,875),2434=>array(66,-56,396,605),2435=>array(92,0,338,606),2437=>array(0,0,794,607),2438=>array(0,0,1039,690),2439=>array(0,-94,590,875),2440=>array(0,-22,611,875),2441=>array(0,1,656,875),2442=>array(0,0,765,875),2443=>array(54,0,766,688),2444=>array(33,1,596,651),2447=>array(38,0,593,605),2448=>array(38,0,701,876),2451=>array(57,1,629,609),2452=>array(57,1,728,876),2453=>array(0,0,787,607),2454=>array(54,0,663,625),2455=>array(44,0,614,607),2456=>array(0,0,658,607),2457=>array(51,0,621,607),2458=>array(0,0,563,607),2459=>array(0,-93,593,607),2460=>array(0,-42,737,607),2461=>array(0,0,761,607),2462=>array(38,0,829,606),2463=>array(0,0,575,875),2464=>array(0,0,634,876),2465=>array(0,1,656,607),2466=>array(0,0,575,607),2467=>array(55,0,606,607),2468=>array(0,1,688,607),2469=>array(50,0,653,607),2470=>array(0,-24,617,607),2471=>array(45,0,604,624),2472=>array(0,0,603,607),2474=>array(44,0,643,607),2475=>array(0,0,789,607),2476=>array(0,0,601,607),2477=>array(0,2,685,607),2478=>array(0,0,629,607),2479=>array(0,0,609,607),2480=>array(0,-18,601,607),2482=>array(0,-0,648,607),2486=>array(0,0,606,626),2487=>array(0,0,604,607),2488=>array(0,0,645,607),2489=>array(0,-94,590,607),2492=>array(-366,-164,-233,-32),2494=>array(0,0,253,690),2495=>array(0,0,531,850),2496=>array(-334,0,253,875),2497=>array(-357,-269,39,5),2498=>array(-359,-269,21,-73),2499=>array(-314,-270,-60,-77),2500=>array(-380,-271,98,24),2503=>array(0,1,317,607),2504=>array(0,1,317,875),2507=>array(0,0,940,690),2508=>array(0,0,940,875),2509=>array(-187,-267,26,-73),2519=>array(-250,0,253,875),2524=>array(0,-164,656,607),2525=>array(0,-164,561,607),2527=>array(0,-42,604,607),2528=>array(54,-93,766,688),2529=>array(33,-271,596,651),2530=>array(-381,-271,-4,23),2531=>array(-401,-271,333,151),2534=>array(62,55,548,550),2535=>array(46,0,513,624),2536=>array(58,-51,583,636),2537=>array(53,2,671,606),2538=>array(67,0,547,653),2539=>array(62,1,632,638),2540=>array(52,1,616,622),2541=>array(69,0,498,624),2542=>array(55,0,641,622),2543=>array(53,1,559,622),2544=>array(0,0,601,607),2545=>array(0,-51,601,607),2546=>array(36,0,581,606),2547=>array(-87,0,575,875),2548=>array(26,0,571,606),2549=>array(44,1,669,606),2550=>array(54,0,624,606),2551=>array(103,0,165,607),2552=>array(52,0,564,605),2553=>array(48,154,376,451),2554=>array(74,349,492,788),2562=>array(-156,578,-79,731),2565=>array(0,0,696,578),2566=>array(0,0,940,578),2567=>array(0,0,808,822),2568=>array(0,0,808,822),2569=>array(0,-267,683,839),2570=>array(0,-267,683,839),2575=>array(0,2,562,793),2576=>array(0,0,696,839),2579=>array(0,-2,683,836),2580=>array(0,0,696,839),2581=>array(0,0,607,578),2582=>array(0,0,572,578),2583=>array(0,0,646,578),2584=>array(0,0,692,578),2585=>array(0,0,570,578),2586=>array(0,1,597,578),2587=>array(0,0,607,578),2588=>array(0,0,596,578),2589=>array(0,0,546,578),2590=>array(0,0,563,578),2591=>array(0,0,548,578),2592=>array(0,0,586,578),2593=>array(0,0,601,578),2594=>array(0,0,645,578),2595=>array(0,0,645,578),2596=>array(0,0,596,578),2597=>array(0,0,569,578),2598=>array(0,0,645,578),2599=>array(0,0,569,578),2600=>array(0,0,587,578),2602=>array(0,0,569,578),2603=>array(0,0,556,578),2604=>array(0,0,564,578),2605=>array(0,0,554,578),2606=>array(0,0,563,578),2607=>array(0,0,657,578),2608=>array(0,4,545,578),2610=>array(0,-0,682,578),2611=>array(0,-96,682,578),2613=>array(0,0,606,578),2614=>array(0,0,563,578),2616=>array(0,0,563,578),2617=>array(0,0,554,578),2620=>array(-208,-154,-131,-77),2622=>array(0,216,251,578),2623=>array(0,0,397,822),2624=>array(-151,0,251,822),2625=>array(-388,-267,-50,0),2626=>array(-388,-267,-50,0),2631=>array(-473,578,-90,793),2632=>array(-471,578,-90,839),2635=>array(-411,572,-90,803),2636=>array(-379,578,-27,839),2637=>array(-235,-238,51,0),2649=>array(0,0,572,578),2650=>array(0,0,695,578),2651=>array(0,0,596,578),2652=>array(0,0,596,578),2654=>array(0,0,585,578),2662=>array(54,42,537,524),2663=>array(86,0,514,575),2664=>array(53,0,528,577),2665=>array(52,1,527,577),2666=>array(69,0,522,577),2667=>array(57,0,501,579),2668=>array(74,0,530,758),2669=>array(36,0,519,578),2670=>array(64,0,526,578),2671=>array(65,0,525,769),2672=>array(-103,664,103,841),2673=>array(-193,660,111,839),2674=>array(0,2,562,578),2675=>array(0,-2,683,839),2676=>array(28,-110,857,648),2689=>array(-429,608,-23,885),2690=>array(-179,608,-67,822),2691=>array(88,98,212,510),2693=>array(36,0,803,608),2694=>array(36,0,1062,610),2695=>array(42,-1,553,882),2696=>array(42,-1,606,882),2697=>array(60,0,545,742),2698=>array(60,-4,776,882),2699=>array(20,0,780,608),2701=>array(36,0,803,881),2703=>array(36,0,803,881),2704=>array(36,0,803,882),2705=>array(36,0,1062,881),2707=>array(36,0,1062,881),2708=>array(36,0,1062,882),2709=>array(35,0,411,610),2710=>array(5,0,792,608),2711=>array(25,0,625,608),2712=>array(52,-1,579,608),2713=>array(25,0,462,610),2714=>array(36,0,620,608),2715=>array(55,0,643,608),2716=>array(50,0,791,608),2717=>array(34,0,601,608),2718=>array(25,0,669,608),2719=>array(55,0,460,610),2720=>array(59,0,409,610),2721=>array(25,0,404,610),2722=>array(55,-1,447,608),2723=>array(98,-271,714,608),2724=>array(60,0,554,608),2725=>array(45,0,572,608),2726=>array(44,-1,480,608),2727=>array(27,0,561,727),2728=>array(43,0,602,608),2730=>array(5,0,592,608),2731=>array(50,-270,442,608),2732=>array(50,0,684,608),2733=>array(50,0,776,608),2734=>array(27,0,614,608),2735=>array(40,0,514,608),2736=>array(45,-2,411,609),2738=>array(55,0,633,608),2739=>array(52,0,676,609),2741=>array(50,0,558,608),2742=>array(52,0,633,610),2743=>array(75,0,528,608),2744=>array(43,0,684,608),2745=>array(69,0,573,610),2748=>array(-323,-182,-211,-70),2749=>array(52,0,436,608),2750=>array(98,0,291,610),2751=>array(98,0,660,883),2752=>array(-180,0,291,884),2753=>array(-412,-271,28,5),2754=>array(-323,-271,151,5),2755=>array(-271,-271,41,5),2756=>array(-275,-271,65,20),2757=>array(-452,608,-25,881),2759=>array(-509,608,-80,881),2760=>array(-544,608,-96,882),2761=>array(-179,0,291,881),2763=>array(-236,0,291,881),2764=>array(-271,0,291,882),2765=>array(-244,-249,186,5),2768=>array(46,0,815,881),2784=>array(20,-1,875,608),2790=>array(91,61,532,545),2791=>array(110,0,534,608),2792=>array(97,0,524,608),2793=>array(29,0,527,608),2794=>array(18,0,595,609),2795=>array(18,0,598,608),2796=>array(104,0,541,610),2797=>array(25,0,571,608),2798=>array(118,0,532,607),2799=>array(35,1,608,605),2817=>array(-374,776,37,979),2818=>array(34,379,271,717),2819=>array(59,0,332,717),2821=>array(42,0,508,717),2822=>array(42,0,726,717),2823=>array(39,-16,643,717),2824=>array(39,-16,643,717),2825=>array(39,-16,618,717),2826=>array(39,-16,625,717),2827=>array(39,-16,607,717),2828=>array(39,0,516,717),2831=>array(49,0,479,717),2832=>array(49,0,918,913),2835=>array(59,0,561,732),2836=>array(59,0,953,913),2837=>array(39,0,564,717),2838=>array(39,0,539,717),2839=>array(39,0,539,717),2840=>array(39,0,524,717),2841=>array(39,0,688,717),2842=>array(39,0,540,717),2843=>array(39,0,540,717),2844=>array(39,0,554,717),2845=>array(39,-15,540,732),2846=>array(54,0,532,717),2847=>array(39,0,539,717),2848=>array(44,0,534,717),2849=>array(39,0,540,717),2850=>array(39,-12,540,717),2851=>array(44,0,526,717),2852=>array(39,0,540,717),2853=>array(39,0,505,717),2854=>array(39,0,540,717),2855=>array(44,0,521,732),2856=>array(39,0,540,717),2858=>array(39,0,524,717),2859=>array(39,0,703,717),2860=>array(39,0,540,717),2861=>array(39,-16,628,717),2862=>array(39,-0,524,717),2863=>array(56,0,547,717),2864=>array(39,-16,604,717),2866=>array(39,-16,638,717),2867=>array(39,0,554,717),2870=>array(39,0,539,717),2871=>array(39,0,524,717),2872=>array(39,0,524,717),2873=>array(39,-30,540,717),2876=>array(-301,-176,-206,-84),2877=>array(71,0,273,717),2878=>array(82,0,136,717),2879=>array(-522,762,-17,918),2880=>array(-25,1,213,920),2881=>array(-443,-264,123,-51),2882=>array(-359,-271,171,-17),2883=>array(-325,-271,102,-18),2887=>array(59,0,436,717),2888=>array(59,0,1005,913),2891=>array(59,0,945,717),2892=>array(59,0,1006,913),2893=>array(-188,-267,161,-45),2902=>array(-515,717,-20,913),2903=>array(-297,0,198,913),2908=>array(39,-176,540,717),2909=>array(39,-176,540,717),2911=>array(23,-53,623,718),2912=>array(39,-16,607,717),2913=>array(39,-30,540,717),2918=>array(44,0,534,717),2919=>array(49,-12,441,717),2920=>array(39,-12,432,717),2921=>array(34,0,541,717),2922=>array(20,0,487,732),2923=>array(0,-21,605,717),2924=>array(34,-15,476,718),2925=>array(29,-9,495,729),2926=>array(82,0,495,717),2927=>array(54,-15,456,719),2928=>array(50,209,544,557),2946=>array(-388,499,-211,675),2947=>array(37,-11,698,702),2949=>array(22,-271,932,429),2950=>array(22,-271,1071,429),2951=>array(19,-271,915,702),2952=>array(70,0,621,417),2953=>array(55,0,988,429),2954=>array(55,0,1221,429),2958=>array(52,-11,721,417),2959=>array(52,-110,726,417),2960=>array(27,-271,813,429),2962=>array(49,-271,711,429),2963=>array(49,-271,711,429),2964=>array(49,-271,1631,429),2965=>array(36,-11,610,417),2969=>array(70,0,759,417),2970=>array(36,-11,565,417),2972=>array(28,-271,815,429),2974=>array(63,-271,928,417),2975=>array(70,0,778,417),2979=>array(52,-11,1290,429),2980=>array(-4,-271,600,417),2984=>array(-0,-271,577,417),2985=>array(52,-11,1007,429),2986=>array(70,0,623,417),2990=>array(70,0,667,429),2991=>array(83,-11,719,417),2992=>array(70,-113,540,417),2993=>array(2,-271,650,429),2994=>array(52,-11,768,510),2995=>array(52,-11,866,429),2996=>array(62,-271,665,429),2997=>array(52,-11,803,429),2999=>array(52,-271,1067,429),3000=>array(52,-11,1046,510),3001=>array(0,-271,1207,429),3006=>array(70,0,542,417),3007=>array(-245,1,112,702),3008=>array(-282,417,94,702),3009=>array(-117,145,458,417),3010=>array(-117,-52,754,636),3014=>array(61,-12,685,701),3015=>array(56,-11,659,702),3016=>array(52,-11,901,429),3018=>array(61,-12,1661,701),3019=>array(56,-11,1661,702),3020=>array(61,-12,1989,701),3021=>array(-364,523,-237,650),3031=>array(52,-11,866,429),3047=>array(36,-11,610,417),3048=>array(55,0,988,429),3049=>array(70,0,727,417),3050=>array(36,-11,682,417),3051=>array(70,-208,913,645),3052=>array(36,-11,857,417),3053=>array(52,-11,721,417),3054=>array(22,-271,932,429),3055=>array(36,-11,776,417),3056=>array(83,-11,662,702),3057=>array(71,0,714,429),3058=>array(-4,-271,745,417),3073=>array(57,-6,335,481),3074=>array(57,-13,544,471),3075=>array(65,-12,280,474),3077=>array(54,-11,667,474),3078=>array(54,-11,732,473),3079=>array(36,-229,513,472),3080=>array(24,-11,1108,664),3081=>array(57,-11,634,682),3082=>array(57,-11,996,682),3083=>array(57,-11,1239,474),3084=>array(44,-11,856,586),3086=>array(44,-11,556,702),3087=>array(44,-11,556,839),3088=>array(54,-11,656,475),3090=>array(57,-11,610,471),3091=>array(57,-11,610,642),3092=>array(6,-11,856,688),3093=>array(36,-11,474,664),3094=>array(51,-137,620,476),3095=>array(39,-14,510,664),3096=>array(35,-137,874,664),3097=>array(57,-11,610,472),3098=>array(24,-11,630,664),3099=>array(24,-137,630,664),3100=>array(57,-11,610,474),3101=>array(57,-136,1146,664),3102=>array(36,-229,715,472),3103=>array(57,-11,829,550),3104=>array(57,-11,540,664),3105=>array(57,-11,659,664),3106=>array(57,-137,659,664),3107=>array(63,-11,752,474),3108=>array(57,-11,659,664),3109=>array(60,-137,643,664),3110=>array(60,-11,643,664),3111=>array(60,-137,643,664),3112=>array(44,-11,547,664),3114=>array(35,-11,563,664),3115=>array(35,-137,563,664),3116=>array(57,-11,621,473),3117=>array(57,-137,663,664),3118=>array(44,-11,873,664),3119=>array(57,-12,1144,664),3120=>array(57,-11,540,664),3121=>array(57,-12,837,476),3122=>array(57,-11,571,474),3123=>array(48,-11,561,664),3125=>array(44,-11,561,664),3126=>array(48,-11,524,664),3127=>array(35,-137,759,664),3128=>array(24,-11,581,664),3129=>array(31,-11,893,664),3134=>array(6,305,626,545),3135=>array(17,462,281,785),3136=>array(10,462,289,980),3137=>array(-48,-9,302,474),3138=>array(-48,-9,665,545),3139=>array(-203,-271,294,474),3140=>array(-216,-271,687,473),3142=>array(6,466,618,688),3143=>array(6,466,617,889),3144=>array(6,-271,894,688),3146=>array(6,470,843,715),3147=>array(6,470,843,908),3148=>array(6,449,970,688),3149=>array(39,465,655,866),3157=>array(47,767,289,980),3158=>array(-670,-271,109,-31),3168=>array(57,-11,1602,545),3169=>array(44,-11,1263,545),3174=>array(158,-14,682,510),3175=>array(88,-14,752,510),3176=>array(54,0,726,510),3177=>array(199,-13,609,512),3178=>array(136,-12,704,519),3179=>array(60,-14,781,521),3180=>array(106,0,798,510),3181=>array(201,-15,668,513),3182=>array(65,-13,815,510),3183=>array(106,0,798,510),3202=>array(46,84,394,554),3203=>array(46,84,205,553),3205=>array(47,84,608,602),3206=>array(46,84,625,602),3207=>array(37,84,595,602),3208=>array(33,84,850,752),3209=>array(46,84,911,602),3210=>array(46,84,1247,602),3211=>array(37,84,1000,752),3212=>array(37,84,695,602),3214=>array(37,84,606,602),3215=>array(37,84,606,647),3216=>array(44,84,615,602),3218=>array(37,84,630,602),3219=>array(37,84,630,775),3220=>array(38,84,631,774),3221=>array(49,84,415,752),3222=>array(17,84,700,713),3223=>array(51,84,493,752),3224=>array(44,-79,742,752),3225=>array(37,84,630,602),3226=>array(37,84,633,752),3227=>array(46,-79,614,752),3228=>array(37,84,630,602),3229=>array(54,-79,1127,752),3230=>array(37,84,889,602),3231=>array(59,84,627,651),3232=>array(54,84,508,752),3233=>array(54,84,625,752),3234=>array(54,-79,625,752),3235=>array(54,84,682,602),3236=>array(46,84,500,752),3237=>array(54,-79,626,752),3238=>array(54,84,626,752),3239=>array(54,-79,626,752),3240=>array(46,46,514,752),3242=>array(46,84,620,752),3243=>array(46,-79,619,753),3244=>array(37,84,632,602),3245=>array(37,-79,643,752),3246=>array(49,84,928,752),3247=>array(46,84,1057,752),3248=>array(54,84,508,752),3249=>array(49,84,628,602),3250=>array(46,84,615,602),3251=>array(42,84,507,752),3253=>array(49,84,620,752),3254=>array(49,84,506,752),3255=>array(49,70,620,752),3256=>array(44,84,499,752),3257=>array(49,84,675,752),3262=>array(-21,84,370,588),3263=>array(-13,339,307,702),3264=>array(-13,46,635,702),3265=>array(-5,84,312,563),3266=>array(-5,84,673,560),3267=>array(22,-173,364,236),3268=>array(24,-173,614,253),3270=>array(-79,354,258,774),3271=>array(-79,46,606,774),3272=>array(-79,-173,438,774),3274=>array(-79,84,868,774),3275=>array(-79,46,1188,774),3276=>array(-160,276,395,774),3277=>array(-22,335,329,703),3285=>array(49,46,299,560),3286=>array(25,-173,364,301),3294=>array(49,84,624,602),3296=>array(37,84,1654,752),3297=>array(37,84,943,602),3302=>array(42,84,507,686),3303=>array(34,84,515,685),3304=>array(22,98,507,688),3305=>array(52,84,527,684),3306=>array(38,84,515,684),3307=>array(33,84,516,688),3308=>array(42,98,529,687),3309=>array(47,98,525,684),3310=>array(36,84,520,687),3311=>array(46,84,521,667),3330=>array(45,-9,323,269),3331=>array(49,-9,256,464),3333=>array(49,-9,1152,464),3334=>array(49,-173,1309,464),3335=>array(49,-232,856,464),3336=>array(49,-232,1411,464),3337=>array(49,-232,586,464),3338=>array(49,-232,1149,464),3339=>array(44,-271,817,464),3340=>array(49,-9,908,465),3342=>array(44,-271,1157,464),3343=>array(44,-271,1153,464),3344=>array(49,-271,1785,465),3346=>array(49,-9,601,464),3347=>array(49,-9,1065,464),3348=>array(49,-9,1146,464),3349=>array(42,-8,819,464),3350=>array(49,-9,907,465),3351=>array(44,-10,830,464),3352=>array(39,0,1279,464),3353=>array(49,-9,916,465),3354=>array(15,0,940,464),3355=>array(15,-9,1217,464),3356=>array(44,-51,663,464),3357=>array(49,-9,1410,464),3358=>array(49,-9,1166,465),3359=>array(39,-9,524,464),3360=>array(43,-9,517,464),3361=>array(44,-9,1146,464),3362=>array(44,-9,1195,465),3363=>array(49,-12,1219,465),3364=>array(49,-9,830,464),3365=>array(76,0,893,464),3366=>array(49,-9,501,464),3367=>array(49,-9,835,467),3368=>array(44,-12,830,464),3370=>array(44,-9,956,464),3371=>array(44,-9,1104,464),3372=>array(49,-9,1258,465),3373=>array(54,0,504,464),3374=>array(71,0,572,464),3375=>array(44,-9,905,464),3376=>array(49,-9,594,464),3377=>array(44,-8,506,464),3378=>array(76,0,869,464),3379=>array(44,-232,589,464),3380=>array(44,-9,514,464),3381=>array(49,-7,884,464),3382=>array(44,-9,888,464),3383=>array(44,-9,1043,464),3384=>array(44,-9,1146,464),3385=>array(44,-9,1063,464),3390=>array(42,-6,426,464),3391=>array(0,0,330,651),3392=>array(0,0,354,651),3393=>array(39,-271,301,466),3394=>array(39,-271,301,466),3395=>array(8,-271,458,466),3398=>array(49,-9,591,465),3399=>array(49,-8,476,464),3400=>array(49,-9,1230,465),3402=>array(49,-9,1319,465),3403=>array(49,-8,1209,464),3404=>array(49,-9,1398,465),3405=>array(-300,520,-19,721),3415=>array(39,-9,504,464),3424=>array(44,-271,817,464),3425=>array(49,-173,1058,465),3430=>array(49,-9,1080,464),3431=>array(15,-143,852,464),3432=>array(44,-7,840,464),3433=>array(44,-9,1166,464),3434=>array(44,-9,643,651),3435=>array(54,-243,918,651),3436=>array(44,-271,1162,464),3437=>array(49,-271,591,464),3438=>array(49,-271,884,464),3439=>array(44,-9,848,651),3585=>array(54,0,520,558),3586=>array(30,0,573,558),3587=>array(30,0,590,559),3588=>array(52,0,530,558),3589=>array(52,0,530,560),3590=>array(30,-5,590,559),3591=>array(25,-5,396,558),3592=>array(26,-5,481,558),3593=>array(30,-5,622,558),3594=>array(30,0,634,592),3595=>array(30,0,651,592),3596=>array(54,-5,741,558),3597=>array(54,-208,783,558),3598=>array(30,-203,545,558),3599=>array(30,-203,545,558),3600=>array(54,-206,477,560),3601=>array(30,0,710,559),3602=>array(52,-5,751,560),3603=>array(54,-5,857,558),3604=>array(52,0,530,558),3605=>array(52,0,530,560),3606=>array(54,-5,520,558),3607=>array(30,0,575,558),3608=>array(54,0,477,560),3609=>array(30,-5,622,558),3610=>array(30,0,533,558),3611=>array(30,0,533,830),3612=>array(78,0,552,558),3613=>array(78,0,552,830),3614=>array(30,0,620,558),3615=>array(30,0,620,830),3616=>array(30,-5,545,558),3617=>array(30,-5,506,558),3618=>array(75,0,513,558),3619=>array(54,-5,437,560),3620=>array(54,-199,520,558),3621=>array(44,-5,499,558),3622=>array(30,-199,545,558),3623=>array(19,-5,444,558),3624=>array(52,0,562,664),3625=>array(30,0,637,558),3626=>array(44,-5,544,659),3627=>array(30,0,584,558),3628=>array(30,0,684,723),3629=>array(36,0,491,558),3630=>array(61,0,545,656),3631=>array(30,0,442,558),3632=>array(44,49,418,510),3633=>array(-364,631,10,824),3634=>array(26,0,421,558),3635=>array(-223,0,421,767),3636=>array(-493,612,-109,775),3637=>array(-493,612,-109,800),3638=>array(-493,612,-64,800),3639=>array(-493,612,-109,800),3640=>array(-201,-206,-85,-34),3641=>array(-337,-206,-89,-34),3642=>array(-157,-115,-75,-33),3647=>array(84,-103,625,782),3648=>array(75,-5,272,553),3649=>array(75,-5,541,553),3650=>array(27,-5,466,830),3651=>array(30,-5,485,828),3652=>array(10,-5,485,828),3653=>array(26,-199,421,558),3654=>array(30,-199,431,559),3655=>array(-424,603,-47,849),3656=>array(-167,858,-109,1031),3657=>array(-293,858,1,1065),3658=>array(-342,858,98,1056),3659=>array(-225,858,-52,1031),3660=>array(-330,861,-18,1078),3661=>array(-223,609,-65,767),3662=>array(-203,858,-42,1067),3663=>array(60,-5,495,430),3664=>array(60,-5,538,428),3665=>array(50,-5,590,428),3666=>array(75,0,613,611),3667=>array(75,-5,615,428),3668=>array(50,-5,637,611),3669=>array(50,-5,637,611),3670=>array(18,-5,585,611),3671=>array(75,-5,789,574),3672=>array(60,-5,659,574),3673=>array(75,-5,715,574),3674=>array(30,0,598,558),3675=>array(40,-5,964,447),3713=>array(55,-6,721,587),3714=>array(53,-15,664,587),3716=>array(54,-5,670,587),3719=>array(34,-207,470,587),3720=>array(37,-18,636,587),3722=>array(54,-210,629,587),3725=>array(54,-5,670,588),3732=>array(54,-5,665,587),3733=>array(54,-6,780,587),3734=>array(45,-257,711,587),3735=>array(55,-5,862,587),3737=>array(54,-11,690,589),3738=>array(55,-5,686,587),3739=>array(55,-5,686,707),3740=>array(54,-5,780,593),3741=>array(54,-5,780,707),3742=>array(54,-5,800,587),3743=>array(54,-5,800,707),3745=>array(55,-11,721,589),3746=>array(54,-5,670,707),3747=>array(54,-7,643,587),3749=>array(46,-7,646,587),3751=>array(46,-7,646,587),3754=>array(58,-7,673,587),3755=>array(55,-5,862,587),3757=>array(54,-7,671,587),3758=>array(53,-7,664,595),3759=>array(54,-21,604,680),3760=>array(57,113,382,578),3761=>array(57,847,482,1049),3762=>array(34,-5,422,587),3763=>array(1,-5,422,788),3764=>array(139,805,639,1059),3765=>array(139,805,713,1059),3766=>array(139,805,639,1059),3767=>array(139,805,713,1059),3768=>array(308,-269,470,-26),3769=>array(248,-263,528,-15),3771=>array(145,838,635,1060),3772=>array(147,-257,632,-72),3773=>array(55,-5,616,829),3776=>array(34,-5,386,576),3777=>array(34,-5,772,576),3778=>array(28,-5,410,1001),3779=>array(17,-5,429,1037),3780=>array(46,-5,311,1025),3782=>array(34,-267,517,579),3784=>array(349,806,429,1012),3785=>array(148,808,630,1035),3786=>array(163,805,609,1015),3787=>array(281,805,497,1019),3788=>array(212,812,560,1049),3789=>array(308,806,470,967),3792=>array(54,-7,667,578),3793=>array(54,-5,665,578),3794=>array(67,-5,557,796),3795=>array(44,-5,665,829),3796=>array(54,-5,632,776),3797=>array(54,-5,632,776),3798=>array(54,-5,780,829),3799=>array(55,-257,702,579),3800=>array(54,-171,670,579),3801=>array(54,-5,841,577),3804=>array(55,-11,1218,579),3805=>array(55,-11,1218,579),3840=>array(52,207,573,983),3841=>array(52,232,534,864),3842=>array(11,274,571,864),3843=>array(11,274,593,864),3844=>array(0,227,583,720),3845=>array(107,227,464,720),3846=>array(0,-174,583,720),3847=>array(-152,393,649,720),3848=>array(141,-174,512,809),3849=>array(80,81,520,716),3850=>array(34,-62,576,799),3851=>array(92,522,508,716),3852=>array(92,-117,508,716),3853=>array(260,-174,340,716),3854=>array(190,-174,410,716),3855=>array(250,-174,350,716),3856=>array(187,-174,413,716),3857=>array(179,-174,421,716),3858=>array(-20,-124,620,719),3859=>array(21,126,579,706),3860=>array(238,403,371,681),3861=>array(128,254,472,716),3862=>array(128,320,477,716),3863=>array(99,378,510,657),3864=>array(159,-9,537,322),3865=>array(260,-201,340,300),3866=>array(241,459,359,577),3867=>array(151,459,449,577),3868=>array(151,419,449,687),3869=>array(123,346,476,683),3870=>array(66,426,520,607),3871=>array(129,448,455,584),3872=>array(128,-13,472,374),3873=>array(126,-149,444,374),3874=>array(40,-86,530,374),3875=>array(97,-176,507,402),3876=>array(27,19,560,339),3877=>array(80,-13,541,374),3878=>array(33,-42,547,434),3879=>array(24,-13,568,390),3880=>array(57,-63,485,401),3881=>array(82,-82,534,374),3882=>array(-65,-149,653,374),3883=>array(-65,-86,653,374),3884=>array(-65,-176,653,402),3885=>array(-65,19,653,339),3886=>array(-65,-13,653,374),3887=>array(-65,-42,653,434),3888=>array(-65,-13,653,390),3889=>array(-65,-63,653,401),3890=>array(-65,-82,653,374),3891=>array(-65,-13,653,374),3892=>array(227,359,373,609),3893=>array(238,-1,371,150),3894=>array(81,159,519,619),3895=>array(251,52,349,150),3896=>array(87,431,495,735),3897=>array(355,538,551,706),3898=>array(2,419,587,687),3899=>array(13,419,598,687),3900=>array(56,-201,484,837),3901=>array(116,-201,544,837),3902=>array(238,-201,457,180),3903=>array(143,-201,362,180),3904=>array(23,27,558,716),3905=>array(42,207,558,716),3906=>array(22,27,558,716),3907=>array(22,-174,558,716),3908=>array(72,207,528,716),3909=>array(54,207,541,716),3910=>array(43,207,557,716),3911=>array(72,207,528,716),3913=>array(96,27,488,726),3914=>array(72,27,528,716),3915=>array(62,207,538,716),3916=>array(72,27,528,716),3917=>array(72,-174,528,716),3918=>array(102,27,500,716),3919=>array(72,27,528,716),3920=>array(62,207,538,716),3921=>array(72,27,528,716),3922=>array(72,-174,528,716),3923=>array(100,27,498,716),3924=>array(72,207,558,716),3925=>array(72,207,558,716),3926=>array(72,207,558,716),3927=>array(72,-174,558,716),3928=>array(30,207,558,716),3929=>array(54,207,601,864),3930=>array(43,207,601,864),3931=>array(72,207,621,864),3932=>array(72,-174,621,864),3933=>array(31,207,558,726),3934=>array(62,27,542,716),3935=>array(62,207,538,716),3936=>array(72,187,580,716),3937=>array(72,207,558,716),3938=>array(86,207,580,716),3939=>array(72,207,558,716),3940=>array(19,27,538,716),3941=>array(62,27,581,716),3942=>array(72,207,558,716),3943=>array(72,27,528,716),3944=>array(52,207,558,716),3945=>array(23,-174,558,716),3953=>array(208,-51,414,140),3954=>array(87,625,539,864),3955=>array(87,-51,539,864),3956=>array(72,-70,524,153),3957=>array(105,-201,524,180),3958=>array(61,41,513,864),3959=>array(61,-201,513,864),3960=>array(61,-11,513,864),3961=>array(61,-201,513,864),3962=>array(137,643,365,777),3963=>array(137,643,405,897),3964=>array(67,643,573,829),3965=>array(67,643,573,929),3966=>array(241,736,359,854),3967=>array(399,180,517,448),3968=>array(61,625,513,864),3969=>array(61,-51,513,864),3970=>array(193,625,391,852),3971=>array(193,625,391,819),3972=>array(307,-201,535,-67),3973=>array(96,-54,488,726),3974=>array(186,461,432,864),3975=>array(288,666,312,864),3976=>array(162,609,438,864),3977=>array(85,575,515,864),3978=>array(165,634,455,864),3979=>array(163,652,486,864),3984=>array(75,-201,510,180),3985=>array(90,-201,510,180),3986=>array(74,-200,510,180),3987=>array(179,-201,413,180),3988=>array(115,-201,485,180),3989=>array(100,-201,496,180),3991=>array(115,-201,485,180),3993=>array(134,-201,453,186),3994=>array(115,-201,485,180),3995=>array(107,-201,493,180),3996=>array(115,-201,485,180),3997=>array(201,-201,399,180),3998=>array(139,-201,463,180),3999=>array(115,-201,485,180),4000=>array(107,-201,493,180),4001=>array(115,-201,485,180),4002=>array(201,-201,399,180),4003=>array(137,-201,461,180),4004=>array(115,-201,510,180),4005=>array(115,-201,510,180),4006=>array(115,-201,510,180),4007=>array(201,-201,413,180),4008=>array(81,-201,510,180),4009=>array(100,-201,545,301),4010=>array(91,-201,545,301),4011=>array(115,-201,561,301),4012=>array(201,-201,440,245),4013=>array(81,-201,510,188),4017=>array(115,-201,510,180),4018=>array(126,-201,528,180),4019=>array(115,-201,510,180),4020=>array(72,-201,493,180),4021=>array(107,-201,528,180),4022=>array(115,-201,510,180),4023=>array(132,-201,468,180),4025=>array(179,-201,413,180),4256=>array(42,-15,633,716),4257=>array(45,-3,677,716),4258=>array(45,-142,695,716),4259=>array(42,-15,657,716),4260=>array(45,0,543,716),4261=>array(47,0,745,716),4262=>array(1,-7,630,715),4263=>array(35,0,740,716),4264=>array(24,0,494,716),4265=>array(66,0,568,716),4266=>array(45,-7,748,716),4267=>array(34,-7,677,716),4268=>array(66,0,563,716),4269=>array(35,-15,681,732),4270=>array(-1,-15,639,719),4271=>array(-1,-209,624,721),4272=>array(34,-15,689,716),4273=>array(66,-15,581,716),4274=>array(66,0,547,716),4275=>array(35,-15,681,732),4276=>array(35,-209,644,732),4277=>array(34,-209,671,716),4278=>array(66,0,577,732),4279=>array(52,0,557,716),4280=>array(50,-15,557,716),4281=>array(66,0,563,716),4282=>array(35,-163,593,732),4283=>array(34,-7,736,716),4284=>array(66,-209,547,716),4285=>array(49,-15,614,732),4286=>array(66,0,563,716),4287=>array(-66,-171,660,716),4288=>array(45,-15,701,716),4289=>array(66,0,552,716),4290=>array(23,-15,571,716),4291=>array(34,0,539,716),4292=>array(58,-209,618,716),4293=>array(34,-15,758,716),4304=>array(36,-12,398,490),4305=>array(37,-12,519,721),4306=>array(42,-256,523,455),4307=>array(36,-251,836,454),4308=>array(20,-256,472,452),4309=>array(30,-256,498,451),4310=>array(24,-12,689,734),4311=>array(34,-16,834,454),4312=>array(34,-16,495,452),4313=>array(30,-256,498,451),4314=>array(36,-251,921,449),4315=>array(34,-12,486,728),4316=>array(66,-12,518,723),4317=>array(34,-33,700,449),4318=>array(34,-12,502,727),4319=>array(40,-256,508,466),4320=>array(34,-16,651,727),4321=>array(66,-12,512,716),4322=>array(34,-256,772,623),4323=>array(22,-257,745,449),4324=>array(34,-256,743,451),4325=>array(34,-257,436,716),4326=>array(36,-251,655,449),4327=>array(44,-257,446,452),4328=>array(34,-12,486,734),4329=>array(66,0,451,733),4330=>array(45,-256,534,452),4331=>array(34,-12,486,716),4332=>array(32,-256,562,734),4333=>array(34,-257,530,732),4334=>array(66,-12,518,716),4335=>array(32,-238,771,450),4336=>array(35,-12,514,736),4337=>array(40,-12,619,716),4338=>array(10,-12,549,453),4339=>array(23,-256,478,450),4340=>array(34,-257,448,495),4341=>array(43,-250,549,583),4342=>array(35,-256,788,715),4347=>array(87,-12,449,464),4352=>array(129,91,796,665),4353=>array(114,91,844,665),4354=>array(204,90,873,665),4355=>array(184,90,838,664),4356=>array(149,90,888,665),4357=>array(173,90,827,665),4358=>array(215,90,785,665),4359=>array(215,90,785,665),4360=>array(145,88,855,665),4361=>array(107,76,882,663),4362=>array(110,78,890,663),4363=>array(187,92,813,666),4364=>array(109,76,880,665),4365=>array(105,80,895,666),4366=>array(109,76,880,665),4367=>array(206,90,790,663),4368=>array(189,91,837,664),4369=>array(187,90,813,665),4370=>array(156,88,844,665),4371=>array(144,91,844,665),4372=>array(144,93,881,665),4373=>array(144,90,888,665),4374=>array(144,89,853,665),4375=>array(149,89,842,665),4376=>array(149,85,881,665),4377=>array(149,85,887,665),4378=>array(149,85,876,666),4379=>array(232,78,789,722),4380=>array(142,89,853,665),4381=>array(232,78,768,711),4382=>array(145,88,844,665),4383=>array(145,88,881,665),4384=>array(145,88,888,665),4385=>array(145,78,884,664),4386=>array(111,78,889,665),4387=>array(101,78,933,665),4388=>array(93,78,907,665),4389=>array(101,78,962,665),4390=>array(101,78,962,666),4391=>array(140,78,885,666),4392=>array(140,78,885,665),4393=>array(145,88,855,665),4394=>array(145,88,868,665),4395=>array(232,78,768,725),4396=>array(197,78,803,728),4397=>array(130,78,844,665),4398=>array(130,78,858,665),4399=>array(130,78,888,665),4400=>array(125,78,887,665),4401=>array(125,78,860,665),4402=>array(125,78,868,665),4403=>array(57,78,889,665),4404=>array(57,78,949,663),4405=>array(125,78,876,663),4406=>array(117,78,883,666),4407=>array(119,78,885,665),4408=>array(125,78,873,663),4409=>array(125,78,855,665),4410=>array(125,78,868,665),4411=>array(125,78,876,666),4412=>array(216,-1,702,716),4413=>array(92,-1,860,716),4414=>array(298,-1,784,716),4415=>array(140,-1,908,716),4416=>array(258,93,742,659),4417=>array(125,91,844,665),4418=>array(125,90,888,665),4419=>array(125,89,860,665),4420=>array(125,89,853,665),4421=>array(125,78,880,663),4422=>array(125,119,886,664),4423=>array(125,122,874,617),4424=>array(125,78,885,666),4425=>array(125,78,885,665),4426=>array(125,90,855,665),4427=>array(125,91,868,665),4428=>array(232,131,768,551),4429=>array(119,78,874,666),4430=>array(97,-1,903,720),4431=>array(92,-1,903,720),4432=>array(97,-1,903,720),4433=>array(97,-1,908,720),4434=>array(123,78,873,665),4435=>array(123,78,876,666),4436=>array(97,-1,903,814),4437=>array(97,-1,903,814),4438=>array(127,89,853,665),4439=>array(202,78,798,714),4440=>array(100,91,900,666),4441=>array(182,78,818,573),4449=>array(421,-64,711,842),4450=>array(345,-64,655,842),4451=>array(381,-64,676,842),4452=>array(340,-64,661,842),4453=>array(302,-65,597,841),4454=>array(186,-63,677,843),4455=>array(332,-64,626,842),4456=>array(226,-63,687,843),4457=>array(60,197,940,614),4458=>array(46,-64,931,842),4459=>array(51,-64,892,842),4460=>array(61,-64,857,842),4461=>array(60,197,940,615),4462=>array(79,76,921,554),4463=>array(68,-65,882,841),4464=>array(53,-63,912,843),4465=>array(70,-64,867,842),4466=>array(72,111,928,589),4467=>array(57,357,943,436),4468=>array(67,-64,867,842),4469=>array(462,-64,538,842),4470=>array(62,7,943,842),4471=>array(79,-64,936,842),4472=>array(62,7,943,842),4473=>array(62,-3,938,842),4474=>array(62,7,943,841),4475=>array(79,-64,920,841),4476=>array(57,22,943,841),4477=>array(62,7,943,842),4478=>array(79,-64,920,842),4479=>array(63,-70,907,841),4480=>array(63,-68,907,843),4481=>array(63,-68,907,843),4482=>array(62,22,943,783),4483=>array(62,-64,943,783),4484=>array(62,-70,907,842),4485=>array(62,-69,907,842),4486=>array(62,-70,907,842),4487=>array(62,22,943,782),4488=>array(62,-69,907,842),4489=>array(68,-69,936,842),4490=>array(68,-69,907,842),4491=>array(57,22,943,841),4492=>array(63,-68,907,843),4493=>array(79,-64,920,762),4494=>array(68,-69,936,842),4495=>array(68,-70,907,841),4496=>array(68,-63,912,843),4497=>array(68,-70,907,842),4498=>array(63,-68,907,843),4499=>array(79,-64,921,756),4500=>array(68,-64,867,842),4501=>array(79,-64,921,615),4502=>array(79,197,921,615),4503=>array(65,-64,921,842),4504=>array(321,-63,812,843),4505=>array(311,-63,772,843),4506=>array(62,22,943,842),4507=>array(79,-64,921,842),4508=>array(57,22,943,842),4509=>array(410,50,584,842),4510=>array(410,280,584,463),4511=>array(410,-65,719,841),4512=>array(79,-64,921,601),4513=>array(333,-69,667,842),4514=>array(329,280,671,463),4520=>array(129,91,796,665),4521=>array(114,91,844,665),4522=>array(114,78,880,665),4523=>array(204,90,873,665),4524=>array(144,78,880,666),4525=>array(144,91,876,666),4526=>array(184,90,838,664),4527=>array(173,90,827,665),4528=>array(149,85,842,665),4529=>array(149,85,852,665),4530=>array(149,85,853,665),4531=>array(149,78,880,665),4532=>array(149,85,855,665),4533=>array(149,85,868,665),4534=>array(149,85,876,666),4535=>array(215,90,785,665),4536=>array(215,90,785,665),4537=>array(145,78,880,664),4538=>array(107,76,882,663),4539=>array(110,78,890,663),4540=>array(187,92,813,666),4541=>array(109,76,880,665),4542=>array(109,76,880,665),4543=>array(206,90,790,663),4544=>array(189,91,837,664),4545=>array(187,90,813,665),4546=>array(156,88,844,665),4547=>array(114,85,887,665),4548=>array(75,78,913,665),4549=>array(144,91,844,665),4550=>array(144,90,888,665),4551=>array(144,78,880,665),4552=>array(144,93,886,665),4553=>array(144,90,855,665),4554=>array(149,89,842,665),4555=>array(149,85,887,665),4556=>array(76,78,961,665),4557=>array(149,85,881,665),4558=>array(149,85,888,665),4559=>array(76,85,944,666),4560=>array(149,85,887,665),4561=>array(76,85,920,665),4562=>array(76,78,973,665),4563=>array(76,78,973,665),4564=>array(76,85,946,666),4565=>array(149,85,848,728),4566=>array(80,78,960,665),4567=>array(149,85,886,665),4568=>array(149,85,873,665),4569=>array(149,85,878,666),4570=>array(142,89,844,665),4571=>array(142,85,887,665),4572=>array(142,89,853,665),4573=>array(142,78,880,665),4574=>array(84,78,960,665),4575=>array(142,89,886,665),4576=>array(142,78,885,665),4577=>array(142,89,876,666),4578=>array(232,78,768,711),4579=>array(145,85,887,665),4580=>array(145,88,868,665),4581=>array(145,88,876,666),4582=>array(232,78,768,725),4583=>array(130,78,844,665),4584=>array(130,78,888,665),4585=>array(125,78,887,665),4586=>array(125,78,868,665),4587=>array(258,93,742,659),4588=>array(125,91,844,665),4589=>array(72,91,913,665),4590=>array(125,122,874,617),4591=>array(125,90,873,663),4592=>array(232,131,768,551),4593=>array(125,78,880,663),4594=>array(125,119,886,664),4595=>array(127,89,853,665),4596=>array(202,78,798,714),4597=>array(116,91,881,666),4598=>array(116,85,887,666),4599=>array(116,89,852,666),4600=>array(116,89,853,666),4601=>array(182,78,818,573),7680=>array(-1,-210,668,716),7681=>array(38,-210,516,530),7682=>array(74,0,615,881),7683=>array(67,-12,517,881),7684=>array(74,-210,615,716),7685=>array(67,-210,517,716),7686=>array(74,-179,615,716),7687=>array(67,-179,517,716),7688=>array(51,-209,684,898),7689=>array(39,-196,491,728),7690=>array(80,0,672,881),7691=>array(36,-12,486,881),7692=>array(80,-210,672,716),7693=>array(36,-210,486,716),7694=>array(80,-179,672,716),7695=>array(36,-179,486,716),7696=>array(80,-205,672,716),7697=>array(36,-205,486,716),7698=>array(80,-210,672,716),7699=>array(36,-210,486,716),7700=>array(79,0,614,1050),7701=>array(39,-12,517,882),7702=>array(79,0,614,1050),7703=>array(39,-12,517,882),7704=>array(79,-210,614,716),7705=>array(39,-210,517,530),7706=>array(79,-185,614,716),7707=>array(39,-185,517,530),7708=>array(79,-205,614,902),7709=>array(39,-205,517,722),7710=>array(80,0,563,881),7711=>array(8,0,311,881),7712=>array(52,-12,714,865),7713=>array(34,-210,491,697),7714=>array(80,0,642,881),7715=>array(67,0,490,881),7716=>array(80,-210,642,716),7717=>array(67,-210,490,716),7718=>array(80,0,642,881),7719=>array(67,0,490,881),7720=>array(27,-205,642,716),7721=>array(2,-205,490,716),7722=>array(80,-200,642,716),7723=>array(67,-200,490,716),7724=>array(-28,-185,299,716),7725=>array(-58,-185,270,716),7726=>array(3,0,274,1066),7727=>array(5,0,276,896),7728=>array(73,0,665,898),7729=>array(66,0,496,898),7730=>array(73,-210,665,716),7731=>array(66,-210,496,716),7732=>array(73,-179,665,716),7733=>array(66,-179,496,716),7734=>array(75,-210,523,716),7735=>array(67,-210,158,716),7736=>array(75,-210,523,865),7737=>array(-41,-210,264,865),7738=>array(75,-179,523,716),7739=>array(-42,-179,262,716),7740=>array(75,-210,523,716),7741=>array(-39,-210,270,716),7742=>array(76,0,757,898),7743=>array(65,0,769,728),7744=>array(76,0,757,881),7745=>array(65,0,769,711),7746=>array(76,-210,757,716),7747=>array(65,-210,769,530),7748=>array(79,0,642,881),7749=>array(68,0,490,711),7750=>array(79,-210,642,716),7751=>array(68,-210,490,530),7752=>array(79,-179,642,716),7753=>array(68,-179,490,530),7754=>array(79,-210,642,716),7755=>array(68,-210,490,530),7756=>array(47,-12,732,1064),7757=>array(35,-12,521,902),7758=>array(47,-12,732,1035),7759=>array(35,-12,521,865),7760=>array(47,-12,732,1050),7761=>array(35,-12,521,882),7762=>array(47,-12,732,1050),7763=>array(35,-12,521,882),7764=>array(77,0,623,898),7765=>array(68,-199,518,728),7766=>array(77,0,623,881),7767=>array(68,-199,518,711),7768=>array(80,0,711,881),7769=>array(64,0,346,711),7770=>array(80,-210,711,716),7771=>array(64,-210,346,530),7772=>array(80,-210,711,865),7773=>array(14,-210,346,697),7774=>array(80,-179,711,716),7775=>array(8,-179,346,530),7776=>array(45,-12,615,881),7777=>array(31,-12,461,711),7778=>array(45,-210,615,728),7779=>array(31,-210,461,530),7780=>array(45,-12,615,939),7781=>array(31,-12,461,768),7782=>array(45,-12,615,1047),7783=>array(31,-12,461,877),7784=>array(45,-210,615,881),7785=>array(31,-210,461,711),7786=>array(22,0,589,881),7787=>array(17,-7,269,881),7788=>array(22,-210,589,716),7789=>array(17,-210,269,700),7790=>array(22,-179,589,716),7791=>array(-11,-179,293,700),7792=>array(22,-210,589,716),7793=>array(6,-210,315,700),7794=>array(79,-210,642,716),7795=>array(66,-210,487,518),7796=>array(79,-185,642,716),7797=>array(66,-185,487,518),7798=>array(79,-210,642,716),7799=>array(66,-210,487,518),7800=>array(79,-12,642,1072),7801=>array(66,-12,487,902),7802=>array(79,-12,642,1002),7803=>array(66,-12,487,846),7804=>array(6,0,660,886),7805=>array(13,0,488,716),7806=>array(6,-210,660,716),7807=>array(13,-210,488,518),7808=>array(12,0,933,898),7809=>array(5,0,717,728),7810=>array(12,0,933,898),7811=>array(5,0,717,728),7812=>array(12,0,933,881),7813=>array(5,0,717,711),7814=>array(12,0,933,881),7815=>array(5,0,717,711),7816=>array(12,-210,933,716),7817=>array(5,-210,717,518),7818=>array(5,0,661,881),7819=>array(7,0,493,711),7820=>array(5,0,661,881),7821=>array(7,0,493,711),7822=>array(5,0,661,881),7823=>array(16,-210,492,711),7824=>array(18,0,584,898),7825=>array(20,0,479,728),7826=>array(18,-210,584,716),7827=>array(20,-210,479,518),7828=>array(18,-179,584,716),7829=>array(20,-179,479,518),7830=>array(67,-179,490,716),7831=>array(1,-7,272,881),7832=>array(5,0,717,752),7833=>array(16,-210,492,752),7834=>array(38,-12,557,758),7835=>array(8,0,311,881),7840=>array(-1,-210,668,716),7841=>array(38,-210,516,530),7842=>array(-1,0,668,934),7843=>array(38,-12,516,756),7844=>array(-1,0,668,978),7845=>array(38,-12,586,808),7846=>array(-1,0,668,978),7847=>array(-30,-12,516,808),7848=>array(-1,0,668,996),7849=>array(38,-12,573,826),7850=>array(-1,0,668,1058),7851=>array(38,-12,516,888),7852=>array(-1,-210,668,898),7853=>array(38,-210,516,728),7854=>array(-1,0,668,1039),7855=>array(38,-12,516,859),7856=>array(-1,0,668,1039),7857=>array(38,-12,516,859),7858=>array(-1,0,668,1074),7859=>array(38,-12,516,895),7860=>array(-1,0,668,1060),7861=>array(38,-12,516,880),7862=>array(-1,-210,668,902),7863=>array(38,-210,516,722),7864=>array(79,-210,614,716),7865=>array(39,-210,517,530),7866=>array(79,0,614,936),7867=>array(39,-12,517,756),7868=>array(79,0,614,884),7869=>array(39,-12,517,716),7870=>array(79,0,652,978),7871=>array(39,-12,586,808),7872=>array(34,0,614,978),7873=>array(-30,-12,517,808),7874=>array(79,0,638,996),7875=>array(39,-12,573,826),7876=>array(79,0,614,1056),7877=>array(39,-12,517,886),7878=>array(79,-210,614,900),7879=>array(39,-210,517,728),7880=>array(33,0,245,936),7881=>array(33,0,245,756),7882=>array(92,-210,187,716),7883=>array(67,-210,158,716),7884=>array(47,-210,732,728),7885=>array(35,-210,521,530),7886=>array(47,-12,732,936),7887=>array(35,-12,521,756),7888=>array(47,-12,732,978),7889=>array(35,-12,586,808),7890=>array(47,-12,732,978),7891=>array(-30,-12,521,808),7892=>array(47,-12,732,996),7893=>array(35,-12,573,826),7894=>array(47,-12,732,1056),7895=>array(35,-12,521,886),7896=>array(47,-210,732,900),7897=>array(35,-210,521,728),7898=>array(47,-12,776,900),7899=>array(35,-12,555,728),7900=>array(47,-12,776,900),7901=>array(35,-12,555,728),7902=>array(47,-12,776,936),7903=>array(35,-12,555,756),7904=>array(47,-12,776,884),7905=>array(35,-12,555,716),7906=>array(47,-210,776,768),7907=>array(35,-210,555,606),7908=>array(79,-210,642,716),7909=>array(66,-210,487,518),7910=>array(79,-12,642,936),7911=>array(66,-12,487,756),7912=>array(79,-12,776,900),7913=>array(66,-12,625,728),7914=>array(79,-12,776,900),7915=>array(66,-12,625,728),7916=>array(79,-12,776,936),7917=>array(66,-12,625,756),7918=>array(79,-12,776,884),7919=>array(66,-12,625,716),7920=>array(79,-210,776,768),7921=>array(66,-210,625,620),7922=>array(5,0,661,900),7923=>array(16,-210,492,728),7924=>array(5,-210,661,716),7925=>array(16,-210,492,518),7926=>array(5,0,661,936),7927=>array(16,-210,492,756),7928=>array(5,0,661,884),7929=>array(16,-210,492,716),7936=>array(35,-12,541,763),7937=>array(35,-12,541,763),7938=>array(35,-12,541,763),7939=>array(35,-12,541,763),7940=>array(35,-12,541,763),7941=>array(35,-12,541,763),7942=>array(35,-12,541,847),7943=>array(35,-12,541,847),7944=>array(-1,0,668,763),7945=>array(-1,0,668,763),7946=>array(-50,0,681,763),7947=>array(-50,0,681,763),7948=>array(-46,0,681,763),7949=>array(-38,0,681,763),7950=>array(-43,0,719,763),7951=>array(-43,0,719,763),7952=>array(29,-12,405,763),7953=>array(29,-12,405,763),7954=>array(29,-12,405,763),7955=>array(29,-12,405,763),7956=>array(29,-12,405,763),7957=>array(29,-12,405,763),7960=>array(-43,0,639,763),7961=>array(-44,0,639,763),7962=>array(-43,0,770,763),7963=>array(-43,0,770,763),7964=>array(-71,0,770,763),7965=>array(-63,0,769,763),7968=>array(68,-199,490,763),7969=>array(68,-199,490,763),7970=>array(68,-199,490,763),7971=>array(68,-199,490,763),7972=>array(68,-199,490,763),7973=>array(68,-199,490,763),7974=>array(68,-199,490,847),7975=>array(68,-199,490,847),7976=>array(-43,0,667,763),7977=>array(-44,0,667,763),7978=>array(-43,0,798,763),7979=>array(-43,0,798,763),7980=>array(-71,0,798,763),7981=>array(-63,0,798,763),7982=>array(-43,0,843,763),7983=>array(-43,0,843,763),7984=>array(59,0,162,763),7985=>array(53,0,156,763),7986=>array(-13,0,236,763),7987=>array(-13,0,236,763),7988=>array(-15,0,251,763),7989=>array(-15,0,243,763),7990=>array(-36,0,253,847),7991=>array(-36,0,253,847),7992=>array(-43,0,212,763),7993=>array(-44,0,212,763),7994=>array(-43,0,343,763),7995=>array(-43,0,343,763),7996=>array(-71,0,343,763),7997=>array(-63,0,343,763),7998=>array(-43,0,388,763),7999=>array(-43,0,388,763),8000=>array(35,-12,521,763),8001=>array(35,-12,521,763),8002=>array(35,-12,521,763),8003=>array(35,-12,521,763),8004=>array(35,-12,521,763),8005=>array(35,-12,521,763),8008=>array(-30,-12,732,763),8009=>array(-38,-12,732,763),8010=>array(-43,-12,848,763),8011=>array(-31,-12,848,763),8012=>array(-37,-12,848,763),8013=>array(-36,-12,848,763),8016=>array(68,-12,483,763),8017=>array(68,-12,483,763),8018=>array(68,-12,483,763),8019=>array(68,-12,483,763),8020=>array(68,-12,483,763),8021=>array(68,-12,483,763),8022=>array(68,-12,483,847),8023=>array(68,-12,483,847),8025=>array(-43,0,771,763),8027=>array(-43,0,887,763),8029=>array(-43,0,879,763),8031=>array(-43,0,934,763),8032=>array(35,-12,731,763),8033=>array(35,-12,731,763),8034=>array(35,-12,731,763),8035=>array(35,-12,731,763),8036=>array(35,-12,731,763),8037=>array(35,-12,731,763),8038=>array(35,-12,731,847),8039=>array(35,-12,731,847),8040=>array(-30,0,706,763),8041=>array(-38,0,706,763),8042=>array(-43,0,822,763),8043=>array(-43,0,822,763),8044=>array(-43,0,816,763),8045=>array(-43,0,815,763),8046=>array(-43,0,859,763),8047=>array(-43,0,859,763),8048=>array(35,-12,541,736),8049=>array(35,-12,541,736),8050=>array(29,-12,405,736),8051=>array(29,-12,405,736),8052=>array(68,-199,490,736),8053=>array(68,-199,490,736),8054=>array(35,0,155,736),8055=>array(67,0,187,736),8056=>array(35,-12,521,736),8057=>array(35,-12,521,736),8058=>array(68,-12,483,736),8059=>array(68,-12,483,736),8060=>array(35,-12,731,736),8061=>array(35,-12,731,736),8064=>array(35,-208,541,763),8065=>array(35,-208,541,763),8066=>array(35,-208,541,763),8067=>array(35,-208,541,763),8068=>array(35,-208,541,763),8069=>array(35,-208,541,763),8070=>array(35,-208,541,847),8071=>array(35,-208,541,847),8072=>array(-1,-208,668,763),8073=>array(-1,-208,668,763),8074=>array(-50,-208,681,763),8075=>array(-50,-208,681,763),8076=>array(-46,-208,681,763),8077=>array(-38,-208,681,763),8078=>array(-43,-208,719,763),8079=>array(-43,-208,719,763),8080=>array(68,-208,490,763),8081=>array(68,-208,490,763),8082=>array(68,-208,490,763),8083=>array(68,-208,490,763),8084=>array(68,-208,490,763),8085=>array(68,-208,490,763),8086=>array(68,-208,490,847),8087=>array(68,-208,490,847),8088=>array(-43,-208,667,763),8089=>array(-44,-208,667,763),8090=>array(-43,-208,798,763),8091=>array(-43,-208,798,763),8092=>array(-71,-208,798,763),8093=>array(-63,-208,798,763),8094=>array(-43,-208,843,763),8095=>array(-43,-208,843,763),8096=>array(35,-208,731,763),8097=>array(35,-208,731,763),8098=>array(35,-208,731,763),8099=>array(35,-208,731,763),8100=>array(35,-208,731,763),8101=>array(35,-208,731,763),8102=>array(35,-208,731,847),8103=>array(35,-208,731,847),8104=>array(-30,-208,706,763),8105=>array(-38,-208,706,763),8106=>array(-43,-208,822,763),8107=>array(-43,-208,822,763),8108=>array(-43,-208,816,763),8109=>array(-43,-208,815,763),8110=>array(-43,-208,859,763),8111=>array(-43,-208,859,763),8112=>array(35,-12,541,722),8113=>array(35,-12,541,697),8114=>array(35,-208,541,736),8115=>array(35,-208,541,530),8116=>array(35,-208,541,736),8118=>array(35,-12,541,717),8119=>array(35,-208,541,717),8120=>array(-1,0,668,889),8121=>array(-1,0,668,835),8122=>array(-1,0,668,736),8123=>array(-1,0,668,736),8124=>array(-1,-208,668,716),8125=>array(86,579,189,763),8126=>array(111,-208,289,-42),8127=>array(86,579,189,763),8128=>array(-5,590,284,717),8129=>array(-5,591,284,819),8130=>array(68,-208,490,736),8131=>array(68,-208,490,530),8132=>array(68,-208,490,736),8134=>array(68,-199,490,717),8135=>array(68,-208,490,717),8136=>array(-43,0,640,736),8137=>array(-43,0,651,736),8138=>array(-43,0,668,736),8139=>array(-43,0,679,736),8140=>array(80,-208,642,716),8141=>array(16,579,265,763),8142=>array(16,579,282,763),8143=>array(-5,583,284,847),8144=>array(-34,0,255,722),8145=>array(-41,0,264,697),8146=>array(-55,0,276,736),8147=>array(-55,0,276,736),8150=>array(-34,0,255,717),8151=>array(-32,0,257,819),8152=>array(-5,0,284,889),8153=>array(-14,0,291,835),8154=>array(-43,0,213,736),8155=>array(-43,0,213,736),8157=>array(16,579,265,763),8158=>array(16,579,274,763),8159=>array(-5,583,284,847),8160=>array(68,-12,483,722),8161=>array(68,-12,483,697),8162=>array(68,-12,483,736),8163=>array(68,-12,483,736),8164=>array(66,-199,536,763),8165=>array(66,-199,536,763),8166=>array(68,-12,483,717),8167=>array(68,-12,483,819),8168=>array(5,0,661,889),8169=>array(5,0,661,835),8170=>array(-43,0,736,736),8171=>array(-43,0,740,736),8172=>array(-43,0,649,763),8173=>array(-27,600,304,736),8174=>array(-27,600,304,736),8175=>array(70,600,189,736),8178=>array(35,-208,731,736),8179=>array(35,-208,731,518),8180=>array(35,-208,731,736),8182=>array(35,-12,731,717),8183=>array(35,-208,731,717),8184=>array(-17,-12,732,736),8185=>array(-6,-12,732,736),8186=>array(-17,0,706,736),8187=>array(-6,0,706,736),8188=>array(52,-208,706,728),8189=>array(84,600,203,736),8190=>array(88,579,191,763),8208=>array(32,215,301,303),8209=>array(32,215,301,303),8210=>array(-6,223,562,295),8211=>array(-6,223,506,295),8212=>array(-6,223,1006,295),8213=>array(26,223,538,295),8214=>array(92,-85,336,716),8215=>array(-6,-165,506,-35),8216=>array(64,494,166,728),8217=>array(56,482,158,716),8218=>array(53,-132,155,102),8219=>array(64,482,166,716),8220=>array(43,494,297,728),8221=>array(36,482,290,716),8222=>array(36,-132,290,102),8223=>array(44,482,298,716),8224=>array(39,-169,517,699),8225=>array(39,-169,517,706),8226=>array(51,227,299,474),8227=>array(52,197,321,504),8228=>array(89,0,189,100),8229=>array(89,0,467,100),8230=>array(117,0,883,100),8231=>array(89,302,189,402),8240=>array(18,-27,982,728),8241=>array(18,-27,1310,728),8242=>array(46,462,192,716),8243=>array(46,462,342,716),8244=>array(46,462,492,716),8245=>array(30,462,176,716),8246=>array(30,462,326,716),8247=>array(30,462,476,716),8248=>array(30,-175,282,32),8249=>array(44,35,271,481),8250=>array(62,35,289,481),8251=>array(116,-125,883,641),8252=>array(85,0,387,716),8253=>array(46,0,508,747),8254=>array(-6,740,506,790),8255=>array(3,-203,941,4),8256=>array(3,578,941,785),8257=>array(30,-175,282,146),8258=>array(33,-3,786,728),8259=>array(32,185,301,333),8260=>array(-222,-25,393,732),8261=>array(68,-199,262,716),8262=>array(16,-199,210,716),8304=>array(15,349,318,725),8308=>array(11,358,319,725),8309=>array(16,349,313,716),8310=>array(9,349,315,725),8311=>array(36,358,304,716),8312=>array(22,349,312,725),8313=>array(18,349,323,725),8314=>array(37,395,296,654),8315=>array(37,496,296,553),8316=>array(37,436,296,613),8317=>array(32,209,195,769),8318=>array(16,209,178,769),8319=>array(51,358,293,646),8320=>array(15,-24,318,352),8321=>array(52,-15,232,352),8322=>array(12,-15,316,352),8323=>array(16,-24,315,352),8324=>array(11,-15,319,352),8325=>array(16,-24,313,343),8326=>array(9,-24,315,352),8327=>array(36,-15,304,343),8328=>array(22,-24,312,352),8329=>array(18,-24,323,352),8330=>array(37,22,296,281),8331=>array(37,123,296,180),8332=>array(37,63,296,240),8333=>array(32,-164,195,396),8334=>array(16,-164,178,396),8352=>array(20,0,547,719),8353=>array(51,-63,525,782),8354=>array(45,-12,533,728),8355=>array(80,0,554,716),8356=>array(13,-14,528,728),8357=>array(65,-71,769,652),8358=>array(21,0,535,719),8359=>array(21,0,539,716),8360=>array(18,-12,986,716),8361=>array(8,0,929,716),8362=>array(72,0,712,518),8363=>array(67,0,514,723),8364=>array(-14,-12,541,728),8400=>array(28,574,552,716),8401=>array(48,574,572,716),8402=>array(264,-194,336,706),8403=>array(264,-12,336,524),8404=>array(34,419,668,646),8405=>array(32,419,666,646),8406=>array(28,504,555,716),8407=>array(45,504,572,716),8408=>array(146,102,454,410),8409=>array(146,102,465,421),8410=>array(146,91,465,410),8411=>array(112,611,488,707),8412=>array(42,611,558,707),8413=>array(63,-131,837,643),8414=>array(93,-101,807,613),8415=>array(9,-186,891,697),8416=>array(63,-131,837,643),8417=>array(28,504,672,716),8448=>array(46,-27,825,728),8449=>array(46,-27,822,728),8450=>array(37,-15,632,677),8451=>array(44,-12,983,728),8452=>array(41,0,588,662),8453=>array(53,-27,836,728),8454=>array(53,-27,823,728),8455=>array(42,-15,480,677),8456=>array(30,-15,630,677),8457=>array(44,0,873,725),8458=>array(-25,-201,523,327),8459=>array(23,-9,1078,665),8460=>array(46,-20,940,698),8461=>array(19,0,703,662),8462=>array(19,-12,458,694),8463=>array(19,-12,458,694),8464=>array(8,-201,834,654),8465=>array(26,-20,498,677),8466=>array(48,-8,842,664),8467=>array(5,-5,288,627),8468=>array(3,-12,739,716),8469=>array(-12,-11,710,662),8470=>array(79,0,1031,716),8471=>array(0,-9,737,728),8472=>array(48,-216,701,516),8473=>array(19,0,524,662),8474=>array(37,-198,685,677),8475=>array(71,-13,951,658),8476=>array(46,-20,747,686),8477=>array(19,0,677,662),8478=>array(19,0,677,662),8479=>array(19,-176,677,817),8480=>array(93,311,866,723),8481=>array(100,318,1085,716),8482=>array(100,318,861,716),8483=>array(10,-176,711,817),8484=>array(11,0,581,662),8485=>array(50,-192,494,690),8486=>array(28,0,740,677),8487=>array(28,-15,740,662),8488=>array(28,-194,644,687),8489=>array(2,0,245,530),8490=>array(73,0,665,716),8491=>array(-1,0,668,922),8492=>array(105,-5,951,659),8493=>array(53,-20,627,697),8494=>array(35,-12,521,530),8495=>array(31,-4,398,328),8496=>array(75,-6,671,666),8497=>array(35,-6,885,668),8498=>array(47,0,530,716),8499=>array(36,-12,1214,661),8500=>array(37,-6,379,318),8501=>array(64,-19,649,716),8502=>array(67,0,631,716),8503=>array(25,0,325,716),8504=>array(72,-18,630,716),8531=>array(52,-25,815,732),8532=>array(12,-25,815,732),8533=>array(52,-25,813,732),8534=>array(12,-25,813,732),8535=>array(16,-25,813,732),8536=>array(11,-25,813,732),8537=>array(52,-25,813,732),8538=>array(16,-25,813,732),8539=>array(52,-25,804,732),8540=>array(16,-25,804,732),8541=>array(16,-25,804,732),8542=>array(73,-25,804,732),8543=>array(52,-25,727,732),8544=>array(92,0,187,716),8545=>array(92,0,464,716),8546=>array(92,0,741,716),8547=>array(92,0,934,716),8548=>array(6,0,660,716),8549=>array(6,0,843,716),8550=>array(2,0,960,716),8551=>array(2,0,1197,716),8552=>array(92,0,940,716),8553=>array(5,0,661,716),8554=>array(5,0,853,716),8555=>array(5,0,964,716),8556=>array(75,0,523,716),8557=>array(51,-12,683,728),8558=>array(80,0,672,716),8559=>array(76,0,757,716),8560=>array(67,0,155,716),8561=>array(67,0,377,716),8562=>array(67,0,599,716),8563=>array(67,0,697,716),8564=>array(13,0,488,518),8565=>array(13,0,633,716),8566=>array(13,0,855,716),8567=>array(13,0,1077,716),8568=>array(67,0,708,716),8569=>array(7,0,493,518),8570=>array(7,0,645,716),8571=>array(7,0,867,716),8572=>array(67,0,155,716),8573=>array(39,-12,491,530),8574=>array(36,-12,486,716),8575=>array(65,0,769,530),8576=>array(47,0,936,716),8577=>array(80,0,672,716),8578=>array(47,0,936,716),8592=>array(40,100,673,412),8593=>array(201,0,513,662),8594=>array(40,100,673,412),8595=>array(201,0,513,662),8596=>array(40,100,673,412),8597=>array(201,0,513,662),8598=>array(100,102,586,588),8599=>array(128,102,614,588),8600=>array(128,74,614,560),8601=>array(100,74,586,560),8602=>array(40,100,673,412),8603=>array(40,100,673,412),8604=>array(40,100,674,412),8605=>array(39,100,673,412),8606=>array(40,100,673,412),8607=>array(201,0,513,662),8608=>array(40,100,673,412),8609=>array(201,0,513,662),8610=>array(40,100,673,412),8611=>array(40,100,673,412),8612=>array(40,100,673,412),8613=>array(201,0,513,662),8614=>array(40,100,673,412),8615=>array(201,0,513,662),8616=>array(201,0,513,662),8617=>array(40,100,673,482),8618=>array(40,100,673,482),8619=>array(40,100,673,500),8620=>array(40,100,673,500),8621=>array(40,100,774,412),8622=>array(40,100,773,412),8623=>array(199,0,520,662),8624=>array(120,71,553,603),8625=>array(160,71,593,603),8626=>array(120,59,553,591),8627=>array(160,59,593,591),8628=>array(97,94,629,527),8629=>array(120,59,553,591),8630=>array(67,181,638,497),8631=>array(75,181,646,497),8632=>array(81,102,633,662),8633=>array(40,-56,673,568),8634=>array(60,21,740,701),8635=>array(60,21,740,701),8636=>array(40,232,673,412),8637=>array(40,100,673,280),8638=>array(333,0,513,662),8639=>array(201,0,381,662),8640=>array(40,232,673,412),8641=>array(40,100,673,280),8642=>array(333,0,513,662),8643=>array(201,0,381,662),8644=>array(40,-56,673,568),8645=>array(45,0,669,662),8646=>array(40,-56,673,568),8647=>array(40,-56,673,568),8648=>array(45,0,669,662),8649=>array(40,-56,673,568),8650=>array(45,0,669,662),8651=>array(39,30,672,482),8652=>array(40,30,673,482),8653=>array(40,40,673,472),8654=>array(40,40,910,472),8655=>array(40,40,673,472),8656=>array(40,40,673,472),8657=>array(141,0,573,662),8658=>array(40,40,673,472),8659=>array(141,0,573,662),8660=>array(40,40,823,472),8661=>array(141,0,573,783),8662=>array(100,0,688,588),8663=>array(26,0,614,588),8664=>array(26,0,614,588),8665=>array(100,0,688,588),8666=>array(40,40,673,472),8667=>array(40,40,673,472),8668=>array(40,100,773,412),8669=>array(40,100,773,412),8670=>array(201,0,513,662),8671=>array(201,0,513,662),8672=>array(40,100,673,412),8673=>array(201,0,513,662),8674=>array(40,100,673,412),8675=>array(201,0,513,662),8676=>array(40,100,673,412),8677=>array(40,100,673,412),8678=>array(40,40,673,472),8679=>array(141,0,573,662),8680=>array(40,40,673,472),8681=>array(141,0,573,662),8682=>array(141,0,573,662),8704=>array(27,0,573,689),8705=>array(80,-60,528,702),8706=>array(32,-15,486,695),8707=>array(115,0,475,689),8708=>array(115,-73,475,762),8709=>array(46,-23,755,686),8710=>array(6,0,608,688),8711=>array(6,0,608,688),8712=>array(43,33,498,480),8713=>array(43,-57,498,570),8714=>array(89,78,453,435),8715=>array(51,33,506,480),8716=>array(51,-57,506,570),8717=>array(96,78,460,435),8718=>array(98,0,451,512),8719=>array(25,-101,803,751),8720=>array(25,-101,803,751),8721=>array(17,-101,695,752),8722=>array(55,312,529,394),8723=>array(55,0,529,611),8724=>array(55,0,529,627),8725=>array(-222,-25,393,732),8726=>array(0,-24,278,716),8727=>array(33,194,356,499),8728=>array(65,207,335,478),8729=>array(65,207,335,478),8730=>array(41,-19,549,782),8731=>array(41,-19,549,782),8732=>array(41,-19,549,782),8733=>array(75,128,447,384),8734=>array(20,99,529,414),8735=>array(55,0,529,474),8736=>array(55,0,529,474),8737=>array(55,0,529,474),8738=>array(55,-98,444,572),8739=>array(92,-199,168,716),8740=>array(92,-199,352,716),8741=>array(92,-199,326,716),8742=>array(92,-199,510,716),8743=>array(20,0,542,568),8744=>array(20,0,542,568),8745=>array(50,0,512,568),8746=>array(50,0,512,568),8747=>array(63,-271,434,1022),8748=>array(63,-271,734,1022),8749=>array(63,-271,1034,1022),8750=>array(33,-271,459,1022),8751=>array(33,-271,759,1022),8752=>array(33,-271,1059,1022),8753=>array(33,-271,488,1022),8754=>array(33,-271,488,1022),8755=>array(33,-271,498,1022),8756=>array(42,0,521,528),8757=>array(42,0,521,528),8758=>array(161,0,260,528),8759=>array(42,0,521,528),8760=>array(55,312,529,567),8761=>array(55,139,529,567),8762=>array(55,139,529,567),8763=>array(55,139,529,567),8764=>array(55,279,529,424),8765=>array(55,279,529,424),8766=>array(35,212,539,496),8767=>array(40,72,544,636),8768=>array(139,0,284,592),8769=>array(55,171,529,533),8770=>array(55,202,529,535),8771=>array(55,203,529,536),8772=>array(55,91,529,613),8773=>array(55,123,529,584),8774=>array(55,51,529,614),8775=>array(55,51,529,633),8776=>array(55,171,529,533),8777=>array(55,81,529,603),8778=>array(55,123,529,584),8779=>array(55,97,529,584),8780=>array(35,53,539,654),8781=>array(55,155,529,551),8782=>array(55,58,529,648),8783=>array(55,203,529,648),8784=>array(55,203,529,676),8785=>array(55,59,529,647),8786=>array(55,59,529,647),8787=>array(55,59,529,647),8788=>array(55,195,682,511),8789=>array(55,195,682,511),8790=>array(55,189,529,518),8791=>array(55,0,529,617),8792=>array(55,0,529,518),8793=>array(55,0,529,630),8794=>array(55,0,529,630),8795=>array(55,0,529,651),8796=>array(55,0,529,701),8797=>array(55,0,529,605),8798=>array(55,0,529,532),8799=>array(55,0,529,601),8800=>array(55,103,529,603),8801=>array(55,123,529,557),8802=>array(55,23,529,657),8803=>array(55,35,529,645),8804=>array(55,55,529,650),8805=>array(55,55,529,650),8806=>array(55,0,529,783),8807=>array(55,0,529,783),8808=>array(55,-85,529,783),8809=>array(55,-85,529,783),8810=>array(55,111,914,595),8811=>array(55,111,914,595),8812=>array(143,-210,441,728),8813=>array(55,103,529,603),8814=>array(55,23,529,657),8815=>array(55,23,529,657),8816=>array(55,-141,529,657),8817=>array(55,-141,529,657),8818=>array(55,-1,529,656),8819=>array(55,-1,529,656),8820=>array(55,-91,529,718),8821=>array(55,-91,529,718),8822=>array(55,-27,529,821),8823=>array(55,-27,529,821),8824=>array(55,-27,529,821),8825=>array(55,-27,529,821),8826=>array(55,111,529,595),8827=>array(55,111,529,595),8828=>array(55,-33,529,595),8829=>array(55,-33,529,595),8830=>array(55,-1,529,656),8831=>array(55,-1,529,656),8832=>array(55,23,529,657),8833=>array(55,23,529,657),8834=>array(55,122,623,584),8835=>array(55,122,623,584),8836=>array(55,22,623,684),8837=>array(55,22,623,684),8838=>array(55,0,623,626),8839=>array(55,0,623,626),8840=>array(55,-100,623,726),8841=>array(55,-100,623,726),8842=>array(55,-100,623,626),8843=>array(55,-100,623,626),8844=>array(50,0,512,568),8845=>array(50,0,512,568),8846=>array(50,0,512,568),8847=>array(55,122,623,584),8848=>array(55,122,623,584),8849=>array(55,0,623,626),8850=>array(55,0,623,626),8851=>array(50,0,512,568),8852=>array(50,0,512,568),8853=>array(59,-85,741,597),8854=>array(59,-85,741,597),8855=>array(59,-85,741,597),8856=>array(59,-85,741,597),8857=>array(59,-85,741,597),8858=>array(59,-85,741,597),8859=>array(59,-85,741,597),8860=>array(59,-85,741,597),8861=>array(59,-85,741,597),8862=>array(60,0,741,681),8863=>array(60,0,741,681),8864=>array(60,0,741,681),8865=>array(60,0,741,681),8866=>array(60,0,531,512),8867=>array(18,0,489,512),8868=>array(18,0,531,512),8869=>array(18,0,531,512),8870=>array(60,0,381,512),8871=>array(60,0,381,512),8872=>array(60,0,531,512),8873=>array(60,0,531,512),8874=>array(60,0,531,512),8875=>array(60,0,654,512),8876=>array(60,0,531,513),8877=>array(60,0,531,513),8878=>array(60,0,531,513),8879=>array(60,0,654,513),8880=>array(18,-54,531,566),8881=>array(18,-54,531,566),8882=>array(18,0,531,512),8883=>array(18,0,531,512),8884=>array(18,-51,531,562),8885=>array(18,-51,531,562),8886=>array(40,153,673,359),8887=>array(40,153,673,359),8888=>array(40,153,673,359),8889=>array(18,0,531,512),8890=>array(88,0,461,632),8891=>array(50,0,534,638),8892=>array(50,0,534,638),8893=>array(50,0,534,638),8894=>array(55,0,529,474),8895=>array(55,0,529,474),8896=>array(20,0,542,568),8897=>array(20,0,542,568),8898=>array(50,0,512,568),8899=>array(50,0,512,568),8900=>array(156,106,395,406),8901=>array(55,186,195,326),8902=>array(39,39,511,488),8903=>array(30,9,620,502),8904=>array(29,-64,601,576),8905=>array(29,-64,601,576),8906=>array(29,-64,601,576),8907=>array(29,-64,601,576),8908=>array(29,-64,601,576),8909=>array(55,203,529,536),8910=>array(18,0,542,568),8911=>array(18,0,542,568),8912=>array(56,84,623,626),8913=>array(56,84,623,626),8914=>array(63,0,605,567),8915=>array(63,0,605,567),8916=>array(50,0,512,716),8917=>array(55,-199,529,716),8918=>array(55,111,529,595),8919=>array(55,111,529,595),8920=>array(55,111,1299,595),8921=>array(55,111,1299,595),8922=>array(55,-217,529,927),8923=>array(55,-217,529,927),8924=>array(55,55,529,650),8925=>array(55,55,529,650),8926=>array(55,-33,529,595),8927=>array(55,-33,529,595),8928=>array(55,-141,529,657),8929=>array(55,-141,529,657),8930=>array(55,-100,623,726),8931=>array(55,-100,623,726),8932=>array(55,-100,623,626),8933=>array(55,-100,623,626),8934=>array(55,-71,529,656),8935=>array(55,-71,529,656),8936=>array(55,-71,529,656),8937=>array(55,-71,529,656),8938=>array(55,23,529,657),8939=>array(55,23,529,657),8940=>array(55,-45,529,712),8941=>array(55,-45,529,712),8942=>array(89,0,189,766),8943=>array(117,333,883,433),8944=>array(117,0,883,766),8945=>array(117,0,883,766),8960=>array(60,41,490,471),8962=>array(51,24,498,486),8963=>array(129,180,419,395),8964=>array(129,117,419,332),8965=>array(78,130,471,441),8966=>array(78,130,471,565),8967=>array(191,-192,359,693),8968=>array(103,58,346,694),8969=>array(103,58,346,694),8970=>array(103,-192,346,444),8971=>array(103,-192,346,444),8972=>array(251,-40,571,280),8973=>array(-22,-40,299,280),8974=>array(251,232,571,552),8975=>array(-22,232,299,552),8976=>array(49,163,511,403),8977=>array(83,64,467,448),8978=>array(59,156,741,497),8979=>array(59,156,741,497),8980=>array(34,100,516,441),8981=>array(27,9,490,471),8982=>array(26,-102,523,614),8983=>array(18,-51,632,563),8984=>array(63,0,717,654),8985=>array(49,109,511,349),8986=>array(45,-20,505,532),8987=>array(103,0,447,512),8988=>array(111,140,391,420),8989=>array(158,140,439,420),8990=>array(111,92,391,372),8991=>array(158,92,439,372),8992=>array(180,-218,434,752),8993=>array(63,-188,313,782),8994=>array(17,159,696,341),8995=>array(17,171,696,353),8996=>array(18,226,982,547),8997=>array(18,0,982,512),8998=>array(90,0,948,600),8999=>array(90,0,910,600),9000=>array(90,0,910,600),9001=>array(32,-184,299,694),9002=>array(30,-184,297,694),9003=>array(52,0,910,600),9004=>array(57,6,493,509),9005=>array(13,77,537,435),9006=>array(100,108,465,400),9007=>array(38,132,511,380),9008=>array(38,0,504,525),9009=>array(81,62,509,450),9010=>array(35,50,531,462),9011=>array(35,186,531,392),9012=>array(51,84,498,419),9013=>array(51,84,498,419),9014=>array(60,0,540,559),9015=>array(140,0,460,559),9016=>array(60,0,540,559),9017=>array(60,0,540,559),9018=>array(60,0,540,559),9019=>array(60,0,540,559),9020=>array(60,0,540,559),9021=>array(104,0,496,559),9022=>array(60,39,540,519),9023=>array(84,0,517,559),9024=>array(83,0,516,559),9025=>array(60,0,540,559),9026=>array(60,0,540,559),9027=>array(60,0,540,559),9028=>array(60,0,540,559),9029=>array(13,0,556,559),9030=>array(44,0,587,559),9031=>array(60,0,540,559),9032=>array(60,0,540,559),9033=>array(104,0,496,559),9034=>array(60,0,540,559),9035=>array(122,0,478,559),9036=>array(60,0,540,559),9037=>array(60,0,540,559),9038=>array(60,0,540,559),9039=>array(60,0,540,559),9040=>array(60,0,540,559),9041=>array(60,0,540,559),9042=>array(122,0,478,559),9043=>array(60,0,540,559),9044=>array(60,0,540,559),9045=>array(60,0,540,559),9046=>array(60,0,540,559),9047=>array(60,0,540,559),9048=>array(160,0,440,559),9049=>array(60,0,540,559),9050=>array(60,0,540,559),9051=>array(60,0,540,397),9052=>array(60,0,540,475),9053=>array(60,0,540,559),9054=>array(60,0,540,559),9055=>array(60,39,540,519),9056=>array(60,0,540,559),9057=>array(60,0,540,559),9058=>array(122,0,478,559),9059=>array(153,157,447,509),9060=>array(153,161,447,524),9061=>array(104,33,496,559),9062=>array(60,0,540,559),9063=>array(54,0,542,559),9064=>array(50,131,549,464),9065=>array(148,122,452,559),9066=>array(160,122,440,478),9067=>array(103,68,502,508),9068=>array(93,-14,504,573),9069=>array(50,0,549,559),9070=>array(160,-136,440,559),9071=>array(60,0,540,559),9072=>array(60,0,540,559),9073=>array(51,55,550,469),9074=>array(50,89,549,503),9075=>array(163,-14,427,475),9076=>array(90,-212,525,475),9077=>array(26,-14,574,475),9078=>array(60,-136,555,475),9079=>array(60,-136,540,480),9080=>array(160,-136,440,475),9081=>array(26,-136,574,475),9082=>array(61,-14,555,475),9109=>array(60,0,540,559),9216=>array(30,0,565,689),9217=>array(37,0,564,694),9218=>array(37,0,587,694),9219=>array(41,0,587,689),9220=>array(41,0,582,689),9221=>array(41,-42,583,689),9222=>array(9,0,594,689),9223=>array(34,0,565,689),9224=>array(134,112,465,574),9225=>array(134,116,482,574),9226=>array(141,116,462,574),9227=>array(109,116,482,574),9228=>array(141,116,462,574),9229=>array(120,116,489,579),9230=>array(137,112,472,579),9231=>array(137,116,449,579),9232=>array(34,0,560,689),9233=>array(34,0,564,689),9234=>array(34,0,558,689),9235=>array(34,-4,559,689),9236=>array(34,0,573,689),9237=>array(30,0,594,689),9238=>array(37,0,568,694),9239=>array(41,0,575,689),9240=>array(20,0,568,694),9241=>array(141,116,472,574),9242=>array(37,0,575,694),9243=>array(41,-4,573,689),9244=>array(141,112,465,574),9245=>array(120,112,465,579),9246=>array(134,112,465,574),9247=>array(134,112,465,574),9248=>array(137,116,471,579),9249=>array(34,0,565,689),9250=>array(46,-12,561,716),9251=>array(96,-126,505,0),9252=>array(130,116,465,574),9280=>array(103,1,514,650),9281=>array(102,0,514,650),9282=>array(103,1,514,650),9283=>array(103,1,514,650),9284=>array(102,1,514,650),9285=>array(102,336,514,650),9286=>array(102,0,648,702),9287=>array(102,0,648,702),9288=>array(102,117,648,663),9289=>array(102,195,648,507),9290=>array(30,1,574,650),9312=>array(81,-109,919,728),9313=>array(81,-109,919,728),9314=>array(81,-109,919,728),9315=>array(81,-109,919,728),9316=>array(81,-109,919,728),9317=>array(81,-109,919,728),9318=>array(81,-109,919,728),9319=>array(81,-109,919,728),9320=>array(81,-109,919,728),9321=>array(81,-109,919,728),9322=>array(81,-109,919,728),9323=>array(81,-109,919,728),9324=>array(81,-109,919,728),9325=>array(81,-109,919,728),9326=>array(81,-109,919,728),9327=>array(81,-109,919,728),9328=>array(81,-109,919,728),9329=>array(81,-109,919,728),9330=>array(81,-109,919,728),9331=>array(81,-109,919,728),9332=>array(81,-67,919,683),9333=>array(81,-67,919,683),9334=>array(81,-67,919,683),9335=>array(81,-67,919,683),9336=>array(81,-67,919,683),9337=>array(81,-67,919,683),9338=>array(81,-67,919,683),9339=>array(81,-67,919,683),9340=>array(81,-67,919,683),9341=>array(81,-67,919,683),9342=>array(81,-67,919,683),9343=>array(81,-67,919,683),9344=>array(81,-67,919,683),9345=>array(81,-67,919,683),9346=>array(81,-67,919,683),9347=>array(81,-67,919,683),9348=>array(81,-67,919,683),9349=>array(81,-67,919,683),9350=>array(81,-67,919,683),9351=>array(81,-67,919,683),9352=>array(301,79,627,547),9353=>array(273,79,717,547),9354=>array(277,72,717,547),9355=>array(253,79,717,545),9356=>array(272,72,717,539),9357=>array(266,72,717,547),9358=>array(294,79,717,539),9359=>array(275,72,717,547),9360=>array(282,72,717,547),9361=>array(163,72,807,547),9362=>array(191,79,807,547),9363=>array(155,79,807,547),9364=>array(155,72,807,547),9365=>array(159,79,807,547),9366=>array(159,72,807,547),9367=>array(159,72,807,547),9368=>array(159,79,807,547),9369=>array(159,72,807,547),9370=>array(159,72,807,547),9371=>array(185,72,817,547),9372=>array(81,-67,919,683),9373=>array(81,-67,919,683),9374=>array(81,-67,919,683),9375=>array(81,-67,919,683),9376=>array(81,-67,919,683),9377=>array(81,-67,919,683),9378=>array(81,-67,919,683),9379=>array(81,-67,919,683),9380=>array(81,-67,919,683),9381=>array(81,-67,919,683),9382=>array(81,-67,919,683),9383=>array(81,-67,919,683),9384=>array(81,-67,919,683),9385=>array(81,-67,919,683),9386=>array(81,-67,919,683),9387=>array(81,-67,919,683),9388=>array(81,-67,919,683),9389=>array(81,-67,919,683),9390=>array(81,-67,919,683),9391=>array(81,-67,919,683),9392=>array(81,-67,919,683),9393=>array(81,-67,919,683),9394=>array(81,-67,919,683),9395=>array(81,-67,919,683),9396=>array(81,-67,919,683),9397=>array(81,-67,919,683),9398=>array(81,-109,919,728),9399=>array(81,-109,919,728),9400=>array(81,-109,919,728),9401=>array(81,-109,919,728),9402=>array(81,-109,919,728),9403=>array(81,-109,919,728),9404=>array(81,-109,919,728),9405=>array(81,-109,919,728),9406=>array(81,-109,919,728),9407=>array(81,-109,919,728),9408=>array(81,-109,919,728),9409=>array(81,-109,919,728),9410=>array(81,-109,919,728),9411=>array(81,-109,919,728),9412=>array(81,-109,919,728),9413=>array(81,-109,919,728),9414=>array(81,-109,919,728),9415=>array(81,-109,919,728),9416=>array(81,-109,919,728),9417=>array(81,-109,919,728),9418=>array(81,-109,919,728),9419=>array(81,-109,919,728),9420=>array(81,-109,919,728),9421=>array(81,-109,919,728),9422=>array(81,-109,919,728),9423=>array(81,-109,919,728),9424=>array(81,-109,919,728),9425=>array(81,-109,919,728),9426=>array(81,-109,919,728),9427=>array(81,-109,919,728),9428=>array(81,-109,919,728),9429=>array(81,-109,919,728),9430=>array(81,-109,919,728),9431=>array(81,-109,919,728),9432=>array(81,-109,919,728),9433=>array(81,-109,919,728),9434=>array(81,-109,919,728),9435=>array(81,-109,919,728),9436=>array(81,-109,919,728),9437=>array(81,-109,919,728),9438=>array(81,-109,919,728),9439=>array(81,-109,919,728),9440=>array(81,-109,919,728),9441=>array(81,-109,919,728),9442=>array(81,-109,919,728),9443=>array(81,-109,919,728),9444=>array(81,-109,919,728),9445=>array(81,-109,919,728),9446=>array(81,-109,919,728),9447=>array(81,-109,919,728),9448=>array(81,-109,919,728),9449=>array(81,-109,919,728),9450=>array(81,-109,919,728),9472=>array(-11,340,611,425),9473=>array(-11,303,611,474),9474=>array(258,-218,343,994),9475=>array(215,-218,386,994),9476=>array(-11,346,611,431),9477=>array(-11,303,611,474),9478=>array(258,-218,343,994),9479=>array(215,-218,386,994),9480=>array(-11,346,611,431),9481=>array(-11,303,611,474),9482=>array(258,-218,343,994),9483=>array(215,-218,386,994),9484=>array(258,-218,611,431),9485=>array(258,-218,611,474),9486=>array(215,-218,611,431),9487=>array(215,-218,611,474),9488=>array(-11,-218,343,431),9489=>array(-11,-218,343,474),9490=>array(-11,-218,386,431),9491=>array(-11,-218,386,474),9492=>array(258,346,611,994),9493=>array(258,303,611,994),9494=>array(215,346,611,994),9495=>array(215,303,611,994),9496=>array(-11,346,343,994),9497=>array(-11,303,343,994),9498=>array(-11,346,386,994),9499=>array(-11,303,386,994),9500=>array(258,-218,611,994),9501=>array(258,-218,611,994),9502=>array(215,-218,611,994),9503=>array(215,-218,611,994),9504=>array(215,-218,611,994),9505=>array(215,-218,611,994),9506=>array(215,-218,611,994),9507=>array(215,-218,611,994),9508=>array(-11,-218,343,994),9509=>array(-11,-218,343,994),9510=>array(-11,-218,386,994),9511=>array(-11,-218,386,994),9512=>array(-11,-218,386,994),9513=>array(-11,-218,386,994),9514=>array(-11,-218,386,994),9515=>array(-11,-218,386,994),9516=>array(-11,-218,611,431),9517=>array(-11,-218,611,474),9518=>array(-11,-218,611,474),9519=>array(-11,-218,611,474),9520=>array(-11,-218,611,431),9521=>array(-11,-218,611,474),9522=>array(-11,-218,611,474),9523=>array(-11,-218,611,474),9524=>array(-11,346,611,994),9525=>array(-11,303,611,994),9526=>array(-11,303,611,994),9527=>array(-11,303,611,994),9528=>array(-11,346,611,994),9529=>array(-11,303,611,994),9530=>array(-11,303,611,994),9531=>array(-11,303,611,994),9532=>array(-11,-218,611,994),9533=>array(-11,-218,611,994),9534=>array(-11,-218,611,994),9535=>array(-11,-218,611,994),9536=>array(-11,-218,611,994),9537=>array(-11,-218,611,994),9538=>array(-11,-218,611,994),9539=>array(-11,-218,611,994),9540=>array(-11,-218,611,994),9541=>array(-11,-218,611,994),9542=>array(-11,-218,611,994),9543=>array(-11,-218,611,994),9544=>array(-11,-218,611,994),9545=>array(-11,-218,611,994),9546=>array(-11,-218,611,994),9547=>array(-11,-218,611,994),9548=>array(-11,346,611,431),9549=>array(-11,303,611,474),9550=>array(258,-218,343,994),9551=>array(215,-218,386,994),9552=>array(-11,261,611,516),9553=>array(173,-218,428,994),9554=>array(258,-218,611,516),9555=>array(173,-218,611,431),9556=>array(173,-218,611,516),9557=>array(-11,-218,343,516),9558=>array(-11,-218,428,431),9559=>array(-11,-218,428,516),9560=>array(258,261,611,994),9561=>array(173,346,611,994),9562=>array(173,261,611,994),9563=>array(-11,261,343,994),9564=>array(-11,346,428,994),9565=>array(-11,261,428,994),9566=>array(258,-218,611,994),9567=>array(173,-218,611,994),9568=>array(173,-218,611,994),9569=>array(-11,-218,343,994),9570=>array(-11,-218,428,994),9571=>array(-11,-218,428,994),9572=>array(-11,-218,611,516),9573=>array(-11,-218,611,431),9574=>array(-11,-218,611,516),9575=>array(-11,261,611,994),9576=>array(-11,346,611,994),9577=>array(-11,261,611,994),9578=>array(-11,-218,611,994),9579=>array(-11,-218,611,994),9580=>array(-11,-218,611,994),9581=>array(258,77,612,431),9582=>array(-11,77,343,431),9583=>array(-11,346,343,700),9584=>array(258,346,612,700),9585=>array(0,88,600,688),9586=>array(0,88,600,688),9587=>array(0,88,600,688),9588=>array(-11,346,258,431),9589=>array(258,431,343,994),9590=>array(343,346,611,431),9591=>array(258,-218,343,346),9592=>array(-11,303,258,474),9593=>array(215,431,386,994),9594=>array(343,303,611,474),9595=>array(215,-218,386,346),9596=>array(-11,303,611,474),9597=>array(215,-218,386,994),9598=>array(-11,303,611,474),9599=>array(215,-218,386,994),9600=>array(-11,388,611,994),9601=>array(-11,-218,611,-66),9602=>array(-11,-218,611,85),9603=>array(-11,-218,611,237),9604=>array(-11,-218,611,388),9605=>array(-11,-218,611,540),9606=>array(-11,-218,611,691),9607=>array(-11,-218,611,843),9608=>array(-11,-218,611,994),9609=>array(-11,-218,525,994),9610=>array(-11,-218,450,994),9611=>array(-11,-218,375,994),9612=>array(-11,-218,300,994),9613=>array(-11,-218,225,994),9614=>array(-11,-218,150,994),9615=>array(-11,-218,75,994),9616=>array(300,-218,611,994),9617=>array(100,-262,600,1043),9618=>array(0,-264,601,1042),9619=>array(0,-262,601,1042),9620=>array(-11,843,611,994),9621=>array(525,-218,611,994),9632=>array(85,160,515,590),9633=>array(85,160,515,590),9634=>array(85,160,515,590),9635=>array(85,160,515,590),9636=>array(85,160,515,590),9637=>array(85,160,515,590),9638=>array(85,160,515,590),9639=>array(85,160,515,590),9640=>array(85,160,515,590),9641=>array(85,160,515,590),9642=>array(192,267,408,483),9643=>array(192,267,408,483),9644=>array(85,267,515,483),9645=>array(85,267,515,483),9646=>array(192,160,408,590),9647=>array(192,160,408,590),9648=>array(79,275,521,475),9649=>array(79,275,521,475),9650=>array(89,211,511,611),9651=>array(89,211,511,611),9652=>array(146,285,454,552),9653=>array(146,285,454,552),9654=>array(136,164,536,586),9655=>array(136,164,536,586),9656=>array(211,221,478,529),9657=>array(211,221,478,529),9658=>array(85,194,541,556),9659=>array(85,194,541,556),9660=>array(89,139,511,539),9661=>array(89,139,511,539),9662=>array(146,198,454,465),9663=>array(146,198,454,465),9664=>array(64,164,464,586),9665=>array(64,164,464,586),9666=>array(122,221,389,529),9667=>array(122,221,389,529),9668=>array(59,194,515,556),9669=>array(59,194,515,556),9670=>array(69,144,531,606),9671=>array(69,144,531,606),9672=>array(69,144,531,606),9673=>array(85,160,515,590),9674=>array(85,80,515,670),9675=>array(85,160,515,590),9676=>array(86,161,514,589),9677=>array(85,160,515,590),9678=>array(85,160,515,590),9679=>array(85,160,515,590),9680=>array(85,160,515,590),9681=>array(85,160,515,590),9682=>array(85,160,515,590),9683=>array(85,160,515,590),9684=>array(85,160,515,590),9685=>array(85,160,515,590),9686=>array(85,160,300,590),9687=>array(300,160,515,590),9688=>array(0,0,600,600),9689=>array(0,0,600,600),9690=>array(0,300,600,600),9691=>array(0,0,600,300),9692=>array(85,375,300,590),9693=>array(300,375,515,590),9694=>array(300,160,515,375),9695=>array(85,160,300,375),9696=>array(85,375,515,590),9697=>array(85,160,515,375),9698=>array(85,160,515,590),9699=>array(85,160,515,590),9700=>array(85,160,515,590),9701=>array(85,160,515,590),9702=>array(193,268,407,482),9703=>array(85,160,515,590),9704=>array(85,160,515,590),9705=>array(85,160,515,590),9706=>array(85,160,515,590),9707=>array(85,160,515,590),9708=>array(89,211,511,611),9709=>array(89,211,511,611),9710=>array(89,211,511,611),9711=>array(20,95,580,655),9728=>array(65,1,685,621),9729=>array(58,166,944,652),9730=>array(76,6,674,622),9731=>array(105,-3,672,690),9732=>array(81,0,923,690),9733=>array(37,0,779,719),9734=>array(37,0,786,720),9735=>array(107,12,356,451),9736=>array(35,53,436,449),9737=>array(70,0,730,660),9738=>array(70,50,730,620),9739=>array(70,50,730,620),9740=>array(200,100,677,577),9741=>array(100,0,700,600),9742=>array(22,63,696,521),9743=>array(22,63,696,521),9744=>array(63,0,671,607),9745=>array(63,0,671,607),9746=>array(63,0,671,607),9747=>array(129,0,633,668),9754=>array(27,56,924,451),9755=>array(36,56,933,451),9756=>array(84,168,899,531),9757=>array(288,-79,651,736),9758=>array(41,168,856,531),9759=>array(288,-36,651,779),9760=>array(24,15,720,725),9761=>array(50,40,546,610),9762=>array(56,22,694,660),9763=>array(46,115,704,724),9764=>array(45,0,535,652),9765=>array(24,0,436,699),9766=>array(35,0,409,699),9767=>array(87,0,589,637),9768=>array(35,0,409,699),9769=>array(54,20,714,680),9770=>array(88,0,727,664),9771=>array(70,-24,778,656),9772=>array(78,-2,596,691),9773=>array(56,0,741,732),9774=>array(64,0,686,622),9775=>array(64,0,686,622),9776=>array(70,0,830,639),9777=>array(70,0,830,639),9778=>array(70,0,830,639),9779=>array(70,0,830,639),9780=>array(70,0,830,639),9781=>array(70,0,830,639),9782=>array(70,0,830,639),9783=>array(70,0,830,639),9784=>array(60,32,690,661),9785=>array(64,0,686,622),9786=>array(64,0,686,622),9787=>array(64,0,686,622),9788=>array(75,11,675,611),9789=>array(84,-189,659,691),9790=>array(91,-189,666,691),9791=>array(150,-100,590,759),9792=>array(100,-100,640,699),9793=>array(100,-30,640,769),9794=>array(60,-30,711,621),9795=>array(45,0,573,699),9796=>array(26,0,432,699),9797=>array(45,0,587,699),9798=>array(23,0,757,719),9799=>array(80,0,487,699),9800=>array(38,0,796,709),9801=>array(36,0,744,703),9802=>array(35,0,699,699),9803=>array(45,0,842,699),9804=>array(41,-176,749,700),9805=>array(42,-162,1002,699),9806=>array(33,0,863,699),9807=>array(42,-72,1067,699),9808=>array(48,0,747,699),9809=>array(29,-90,808,699),9810=>array(36,106,886,618),9811=>array(34,0,662,699),9812=>array(83,-117,913,709),9813=>array(42,-117,954,729),9814=>array(154,-113,842,706),9815=>array(83,-103,913,707),9816=>array(76,-110,912,727),9817=>array(197,-103,803,710),9818=>array(83,-117,913,709),9819=>array(42,-117,954,729),9820=>array(154,-113,842,706),9821=>array(83,-103,913,707),9822=>array(76,-110,912,727),9823=>array(197,-103,803,710),9824=>array(49,0,673,705),9825=>array(49,0,685,705),9826=>array(51,0,623,706),9827=>array(49,0,755,705),9828=>array(49,0,673,705),9829=>array(49,0,685,705),9830=>array(51,0,623,706),9831=>array(49,0,755,705),9832=>array(56,24,804,680),9833=>array(48,0,316,736),9834=>array(48,0,556,736),9835=>array(48,-70,654,766),9836=>array(48,-70,654,766),9837=>array(107,10,400,736),9838=>array(107,-22,333,736),9839=>array(29,-22,411,736),9985=>array(56,49,901,637),9986=>array(38,48,923,635),9987=>array(56,49,901,637),9988=>array(6,0,979,551),9990=>array(68,-201,700,669),9991=>array(30,0,760,730),9992=>array(17,0,772,654),9993=>array(27,28,663,483),9996=>array(64,0,521,582),9997=>array(59,72,824,515),9998=>array(62,113,848,672),9999=>array(35,170,898,521),10000=>array(62,19,849,578),10001=>array(36,135,908,555),10002=>array(51,135,923,555),10003=>array(18,-10,722,706),10004=>array(34,-9,796,765),10005=>array(47,0,715,668),10006=>array(46,0,714,668),10007=>array(0,-58,567,638),10008=>array(25,-67,650,682),10009=>array(35,0,728,693),10010=>array(34,0,727,693),10011=>array(35,0,724,689),10012=>array(35,0,718,683),10013=>array(35,0,460,690),10014=>array(9,0,542,690),10015=>array(38,0,499,690),10016=>array(36,94,542,600),10017=>array(29,-12,663,720),10018=>array(37,-11,750,702),10019=>array(34,0,755,719),10020=>array(34,0,755,719),10021=>array(36,0,755,719),10022=>array(37,0,756,719),10023=>array(38,0,757,719),10025=>array(37,0,786,720),10026=>array(31,-13,757,713),10027=>array(49,0,792,719),10028=>array(37,0,786,719),10029=>array(42,0,791,719),10030=>array(34,0,783,719),10031=>array(35,-14,795,718),10032=>array(49,1,873,718),10033=>array(29,0,714,719),10034=>array(18,0,706,719),10035=>array(35,0,714,679),10036=>array(35,0,756,721),10037=>array(47,0,745,698),10038=>array(37,0,659,699),10039=>array(35,0,741,706),10040=>array(35,0,733,698),10041=>array(35,0,757,729),10042=>array(35,0,725,688),10043=>array(31,0,675,719),10044=>array(34,7,674,728),10045=>array(13,0,669,719),10046=>array(21,0,680,719),10047=>array(35,0,791,737),10048=>array(35,0,780,728),10049=>array(35,0,754,719),10050=>array(44,-14,745,695),10051=>array(28,0,679,719),10052=>array(32,0,655,696),10053=>array(29,0,667,696),10054=>array(1,0,688,687),10055=>array(30,0,757,719),10056=>array(42,-7,745,696),10057=>array(42,30,670,663),10058=>array(60,0,731,718),10059=>array(26,-21,759,711),10061=>array(41,-33,832,638),10063=>array(23,0,739,714),10064=>array(23,0,739,714),10065=>array(23,0,735,714),10066=>array(23,0,735,714),10070=>array(36,-12,749,701),10072=>array(29,0,109,712),10073=>array(29,0,248,712),10074=>array(29,0,386,712),10075=>array(56,265,336,706),10076=>array(56,265,336,706),10077=>array(38,265,630,706),10078=>array(38,265,630,706),10081=>array(87,-157,666,727),10082=>array(60,-14,484,716),10083=>array(28,-14,516,711),10084=>array(35,0,875,703),10085=>array(38,0,644,764),10086=>array(76,-15,681,709),10087=>array(0,110,760,514),10102=>array(35,-14,753,705),10103=>array(35,-14,753,705),10104=>array(35,-14,753,705),10105=>array(35,-14,753,705),10106=>array(35,-14,753,705),10107=>array(35,-14,753,705),10108=>array(35,-14,753,705),10109=>array(35,-14,753,705),10110=>array(35,-14,753,705),10111=>array(35,-14,753,705),10112=>array(35,-14,753,705),10113=>array(35,-14,753,705),10114=>array(35,-14,753,705),10115=>array(35,-14,753,705),10116=>array(35,-14,753,705),10117=>array(35,-14,753,705),10118=>array(35,-14,753,705),10119=>array(35,-14,753,705),10120=>array(35,-14,753,705),10121=>array(35,-14,753,705),10122=>array(35,-14,753,705),10123=>array(35,-14,753,705),10124=>array(35,-14,753,705),10125=>array(35,-14,753,705),10126=>array(35,-14,753,705),10127=>array(35,-14,753,705),10128=>array(35,-14,753,705),10129=>array(35,-14,753,705),10130=>array(35,-14,753,705),10131=>array(35,-14,753,705),10132=>array(22,66,879,640),10136=>array(106,19,675,558),10137=>array(33,73,909,520),10138=>array(121,-28,619,578),10139=>array(28,73,890,603),10140=>array(38,70,891,636),10141=>array(82,137,843,554),10142=>array(82,137,846,554),10143=>array(35,155,799,536),10144=>array(36,94,838,594),10145=>array(13,94,815,594),10146=>array(35,82,889,610),10147=>array(35,82,889,610),10148=>array(103,147,845,543),10149=>array(42,123,900,578),10150=>array(42,55,901,509),10151=>array(45,-85,418,772),10152=>array(21,-68,868,755),10153=>array(36,43,813,648),10154=>array(41,43,807,648),10155=>array(61,129,832,585),10156=>array(61,129,832,585),10157=>array(37,44,665,651),10158=>array(37,44,665,651),10159=>array(38,93,836,620),10161=>array(38,69,836,596),10162=>array(15,0,746,730),10163=>array(23,128,934,561),10164=>array(42,2,725,685),10165=>array(27,166,838,525),10166=>array(20,5,703,685),10167=>array(93,0,791,694),10168=>array(57,166,886,523),10169=>array(98,13,792,710),10170=>array(35,192,805,498),10171=>array(28,157,858,533),10172=>array(83,199,849,501),10173=>array(15,147,949,549),10174=>array(41,97,889,579),12289=>array(94,-86,336,167),12290=>array(86,-54,373,235),12291=>array(305,220,695,527),12292=>array(100,-35,933,800),12293=>array(137,5,781,779),12294=>array(148,4,839,695),12295=>array(106,-26,920,790),12296=>array(587,-69,921,837),12297=>array(79,-69,413,837),12298=>array(501,-69,950,837),12299=>array(50,-69,499,837),12300=>array(559,349,900,837),12301=>array(100,-68,446,419),12302=>array(560,349,930,835),12303=>array(70,-69,444,421),12304=>array(611,-69,900,837),12305=>array(100,-69,389,837),12306=>array(173,-18,827,735),12307=>array(144,20,845,750),12308=>array(625,-75,900,844),12309=>array(100,-75,375,844),12310=>array(570,-73,930,845),12311=>array(69,-73,429,845),12312=>array(649,-73,877,835),12313=>array(124,-74,352,834),12314=>array(578,-81,861,820),12315=>array(121,-82,404,819),12316=>array(39,289,961,466),12317=>array(535,523,901,853),12318=>array(100,523,466,853),12319=>array(181,-53,547,277),12320=>array(89,66,911,689),12321=>array(445,46,525,715),12322=>array(339,48,660,714),12323=>array(255,47,734,717),12324=>array(153,34,769,707),12325=>array(285,35,742,747),12326=>array(184,255,821,671),12327=>array(185,167,823,691),12328=>array(181,104,816,707),12329=>array(206,35,844,743),12330=>array(112,1,375,265),12331=>array(111,513,375,776),12332=>array(627,514,889,778),12333=>array(624,1,888,264),12334=>array(85,311,237,462),12335=>array(83,207,237,564),12336=>array(68,285,931,479),12337=>array(284,-60,729,810),12338=>array(199,-56,876,814),12339=>array(174,-28,732,782),12340=>array(128,-28,898,782),12341=>array(232,-46,726,796),12342=>array(106,-26,920,790),12343=>array(61,-53,920,827),12351=>array(241,-70,759,836),12353=>array(187,47,786,720),12354=>array(113,-60,867,781),12355=>array(217,45,802,670),12356=>array(144,-30,876,760),12357=>array(191,42,750,687),12358=>array(113,-36,810,759),12359=>array(169,54,811,709),12360=>array(90,-23,881,787),12361=>array(185,66,791,704),12362=>array(102,-12,864,796),12363=>array(80,-31,857,806),12364=>array(58,-31,944,815),12365=>array(99,-31,822,811),12366=>array(100,-30,947,833),12367=>array(145,-22,766,776),12368=>array(145,-22,914,821),12369=>array(162,-55,914,782),12370=>array(97,-62,959,839),12371=>array(163,7,857,716),12372=>array(116,10,869,807),12373=>array(98,-31,814,789),12374=>array(94,-31,925,821),12375=>array(207,-18,857,769),12376=>array(185,-18,905,821),12377=>array(114,-62,886,773),12378=>array(89,-62,915,863),12379=>array(98,-16,879,760),12380=>array(72,-16,938,863),12381=>array(102,-35,887,751),12382=>array(80,-35,925,807),12383=>array(119,-16,881,797),12384=>array(89,-16,905,807),12385=>array(143,-21,844,799),12386=>array(109,-21,905,859),12387=>array(175,123,771,603),12388=>array(122,47,868,645),12389=>array(97,57,895,873),12390=>array(90,-25,856,720),12391=>array(90,-25,903,720),12392=>array(163,10,823,775),12393=>array(163,10,911,810),12394=>array(80,-22,907,800),12395=>array(131,-8,875,779),12396=>array(105,-6,909,782),12397=>array(88,-15,903,773),12398=>array(115,-18,882,714),12399=>array(111,-30,896,774),12400=>array(84,-30,931,840),12401=>array(95,-30,944,843),12402=>array(123,-7,938,742),12403=>array(89,-7,921,840),12404=>array(103,-12,918,861),12405=>array(73,-9,924,757),12406=>array(64,-9,915,840),12407=>array(50,-9,918,861),12408=>array(86,66,909,662),12409=>array(86,66,909,806),12410=>array(66,66,889,827),12411=>array(110,-23,898,771),12412=>array(79,-23,924,823),12413=>array(94,-23,942,827),12414=>array(126,-24,892,797),12415=>array(115,-33,888,772),12416=>array(121,-17,905,789),12417=>array(130,-30,870,796),12418=>array(112,-9,858,789),12419=>array(173,48,804,710),12420=>array(99,-29,887,789),12421=>array(202,34,795,712),12422=>array(135,-48,878,792),12423=>array(192,96,804,699),12424=>array(116,21,879,780),12425=>array(144,-17,817,780),12426=>array(193,-81,777,770),12427=>array(82,11,836,767),12428=>array(105,-29,911,774),12429=>array(100,-11,857,760),12430=>array(160,62,798,700),12431=>array(80,-14,874,782),12432=>array(118,-5,879,745),12433=>array(86,1,895,774),12434=>array(115,-24,853,805),12435=>array(90,-8,906,778),12436=>array(103,-36,940,786),12441=>array(641,603,869,807),12442=>array(703,648,918,861),12443=>array(503,603,731,807),12444=>array(490,648,705,861),12445=>array(153,39,808,744),12446=>array(153,39,827,744),12449=>array(199,54,815,665),12450=>array(94,-61,920,751),12451=>array(218,66,759,704),12452=>array(121,-44,833,800),12453=>array(225,59,789,694),12454=>array(125,-47,880,803),12455=>array(189,91,810,630),12456=>array(80,0,915,735),12457=>array(184,61,822,683),12458=>array(96,-45,952,787),12459=>array(88,-41,858,794),12460=>array(88,-41,888,831),12461=>array(73,-45,901,803),12462=>array(71,-54,930,821),12463=>array(120,-49,857,815),12464=>array(77,-51,924,849),12465=>array(64,-48,908,813),12466=>array(64,-48,908,835),12467=>array(98,-23,859,734),12468=>array(81,-25,910,877),12469=>array(84,-59,917,788),12470=>array(64,-59,966,799),12471=>array(83,-39,904,789),12472=>array(79,-39,900,799),12473=>array(82,-52,952,728),12474=>array(56,-52,946,867),12475=>array(87,-5,912,786),12476=>array(81,-3,900,800),12477=>array(131,-51,841,780),12478=>array(131,-51,876,831),12479=>array(120,-60,851,805),12480=>array(60,-60,910,859),12481=>array(87,-54,921,813),12482=>array(77,-54,930,813),12483=>array(189,61,752,663),12484=>array(89,-47,845,774),12485=>array(101,-47,890,829),12486=>array(73,-61,908,740),12487=>array(73,-61,948,757),12488=>array(291,-46,850,787),12489=>array(325,-44,879,790),12490=>array(82,-63,915,786),12491=>array(77,16,911,711),12492=>array(116,-54,863,734),12493=>array(65,-51,926,786),12494=>array(130,-49,855,740),12495=>array(72,-29,928,791),12496=>array(47,-32,944,799),12497=>array(47,-32,944,837),12498=>array(163,-5,879,770),12499=>array(150,-5,930,799),12500=>array(137,-5,944,799),12501=>array(151,-58,855,732),12502=>array(107,-60,920,886),12503=>array(89,-60,964,857),12504=>array(57,24,937,651),12505=>array(57,24,937,685),12506=>array(57,24,937,685),12507=>array(70,-45,913,785),12508=>array(70,-45,913,821),12509=>array(70,-45,913,849),12510=>array(113,-31,887,729),12511=>array(104,-43,892,769),12512=>array(80,-26,927,792),12513=>array(108,-35,835,787),12514=>array(81,-6,916,739),12515=>array(203,48,790,686),12516=>array(104,-48,884,801),12517=>array(180,93,801,636),12518=>array(75,-4,909,730),12519=>array(205,80,765,640),12520=>array(105,-27,860,730),12521=>array(104,-57,873,748),12522=>array(213,-53,790,768),12523=>array(62,-45,936,788),12524=>array(203,-29,893,788),12525=>array(134,-24,848,730),12526=>array(224,51,769,636),12527=>array(124,-54,867,731),12528=>array(83,-45,918,784),12529=>array(76,-5,910,730),12530=>array(123,-53,863,753),12531=>array(107,-33,896,754),12532=>array(107,-54,884,839),12533=>array(199,57,767,690),12534=>array(179,43,809,694),12535=>array(92,-58,952,834),12536=>array(73,-45,953,843),12537=>array(82,-5,977,861),12538=>array(107,-54,947,846),12539=>array(161,311,313,462),12540=>array(83,339,917,429),12541=>array(271,-27,738,666),12542=>array(271,-27,766,807),12549=>array(157,-41,845,819),12550=>array(113,-35,861,812),12551=>array(149,51,851,697),12552=>array(147,44,849,718),12553=>array(98,-41,843,819),12554=>array(100,-45,900,783),12555=>array(151,-45,840,758),12556=>array(98,-35,843,817),12557=>array(133,-41,806,802),12558=>array(121,-34,879,738),12559=>array(60,-32,871,738),12560=>array(232,-43,676,791),12561=>array(257,-41,677,801),12562=>array(121,-28,879,738),12563=>array(105,6,895,782),12564=>array(142,-33,756,796),12565=>array(61,-30,825,752),12566=>array(227,-15,773,734),12567=>array(149,-35,811,746),12568=>array(113,-39,887,806),12569=>array(149,-32,883,752),12570=>array(163,-37,837,783),12571=>array(121,2,879,738),12572=>array(121,2,879,794),12573=>array(109,8,891,773),12574=>array(112,-39,871,754),12575=>array(82,-10,934,729),12576=>array(163,-48,866,790),12577=>array(111,-20,887,723),12578=>array(133,-37,849,742),12579=>array(166,-33,838,775),12580=>array(94,-21,872,797),12581=>array(164,54,847,751),12582=>array(88,-21,903,731),12583=>array(129,369,871,449),12584=>array(124,-4,877,753),12585=>array(157,29,843,711),12586=>array(87,-26,885,736),12587=>array(88,-21,903,734),12588=>array(60,-32,871,788),12593=>array(129,91,796,665),12594=>array(114,91,844,665),12595=>array(114,78,880,665),12596=>array(204,90,873,665),12597=>array(144,78,880,666),12598=>array(144,91,876,666),12599=>array(184,90,838,664),12600=>array(149,90,888,665),12601=>array(173,90,827,665),12602=>array(149,85,842,665),12603=>array(149,85,852,665),12604=>array(149,85,853,665),12605=>array(149,78,880,665),12606=>array(149,85,855,665),12607=>array(149,85,868,665),12608=>array(149,85,876,666),12609=>array(215,90,785,665),12610=>array(215,90,785,665),12611=>array(145,88,855,665),12612=>array(145,78,880,664),12613=>array(107,76,882,663),12614=>array(110,78,890,663),12615=>array(187,92,813,666),12616=>array(109,76,880,665),12617=>array(105,80,895,666),12618=>array(109,76,880,665),12619=>array(206,90,790,663),12620=>array(189,91,837,664),12621=>array(187,90,813,665),12622=>array(156,88,844,665),12623=>array(421,-64,711,842),12624=>array(345,-64,655,842),12625=>array(381,-64,676,842),12626=>array(340,-64,661,842),12627=>array(302,-65,597,841),12628=>array(186,-63,677,843),12629=>array(332,-64,626,842),12630=>array(226,-63,687,843),12631=>array(60,197,940,614),12632=>array(46,-64,931,842),12633=>array(51,-64,892,842),12634=>array(61,-64,857,842),12635=>array(60,197,940,615),12636=>array(79,76,921,554),12637=>array(68,-65,882,841),12638=>array(53,-63,912,843),12639=>array(70,-64,867,842),12640=>array(72,111,928,589),12641=>array(57,357,943,436),12642=>array(67,-64,867,842),12643=>array(462,-64,538,842),12645=>array(169,93,848,665),12646=>array(169,90,888,665),12647=>array(169,78,880,665),12648=>array(169,93,886,665),12649=>array(85,78,960,665),12650=>array(149,85,888,665),12651=>array(85,78,960,665),12652=>array(149,85,886,665),12653=>array(149,85,885,665),12654=>array(142,89,853,665),12655=>array(142,78,880,665),12656=>array(142,89,886,665),12657=>array(232,78,768,711),12658=>array(145,88,844,665),12659=>array(145,88,888,665),12660=>array(111,78,889,665),12661=>array(101,78,933,665),12662=>array(140,78,885,666),12663=>array(145,88,855,665),12664=>array(232,78,768,725),12665=>array(197,78,803,728),12666=>array(130,78,844,665),12667=>array(130,78,858,665),12668=>array(130,78,888,665),12669=>array(125,78,868,665),12670=>array(117,78,883,666),12671=>array(258,93,742,659),12672=>array(99,214,901,562),12673=>array(232,131,768,551),12674=>array(125,78,880,663),12675=>array(125,119,886,664),12676=>array(202,78,798,714),12677=>array(100,91,900,666),12678=>array(182,78,818,573),12679=>array(62,-64,936,842),12680=>array(62,-64,892,842),12681=>array(62,-64,867,842),12682=>array(52,-64,881,842),12683=>array(52,-63,902,843),12684=>array(52,-64,867,842),12685=>array(430,319,570,459),12686=>array(316,-98,634,855),12688=>array(468,391,532,889),12689=>array(302,391,760,889),12690=>array(56,620,459,664),12691=>array(43,481,468,770),12692=>array(47,446,470,803),12693=>array(62,415,456,817),12694=>array(45,427,479,845),12695=>array(70,401,449,858),12696=>array(44,401,477,827),12697=>array(73,399,448,839),12698=>array(82,423,470,815),12699=>array(39,401,485,834),12700=>array(46,401,469,834),12701=>array(35,401,482,832),12702=>array(30,412,488,859),12703=>array(38,401,490,846),12800=>array(72,-21,977,798),12801=>array(72,-21,977,798),12802=>array(72,-21,977,798),12803=>array(72,-21,977,798),12804=>array(72,-21,977,798),12805=>array(72,-21,977,798),12806=>array(72,-21,977,798),12807=>array(72,-21,977,798),12808=>array(72,-21,977,798),12809=>array(72,-21,977,798),12810=>array(72,-21,977,798),12811=>array(72,-21,977,798),12812=>array(72,-21,977,798),12813=>array(72,-21,977,798),12814=>array(72,-21,977,798),12815=>array(72,-21,977,798),12816=>array(72,-21,977,798),12817=>array(72,-21,977,798),12818=>array(72,-21,977,798),12819=>array(72,-21,977,798),12820=>array(72,-21,977,798),12821=>array(72,-21,977,798),12822=>array(72,-21,977,798),12823=>array(72,-21,977,798),12824=>array(72,-21,977,798),12825=>array(72,-21,977,798),12826=>array(72,-21,977,798),12827=>array(72,-21,977,798),12828=>array(72,-21,977,798),12832=>array(72,-21,976,798),12833=>array(72,-21,976,798),12834=>array(72,-21,976,798),12835=>array(72,-21,976,798),12836=>array(72,-21,976,798),12837=>array(72,-21,976,798),12838=>array(72,-21,976,798),12839=>array(72,-21,976,798),12840=>array(72,-21,976,798),12841=>array(72,-21,976,798),12842=>array(72,-21,976,798),12843=>array(72,-21,976,798),12844=>array(72,-21,976,798),12845=>array(72,-21,976,798),12846=>array(72,-21,976,803),12847=>array(72,-21,976,798),12848=>array(72,-21,976,798),12849=>array(72,-21,976,798),12850=>array(72,-21,976,798),12851=>array(72,-21,976,798),12852=>array(72,-21,976,798),12853=>array(72,-21,976,798),12854=>array(72,-21,976,798),12855=>array(72,-21,976,798),12856=>array(72,-21,976,798),12857=>array(72,-21,976,798),12858=>array(72,-21,976,798),12859=>array(72,-21,976,798),12860=>array(72,-21,976,798),12861=>array(72,-21,976,803),12862=>array(72,-21,976,798),12863=>array(72,-21,976,798),12864=>array(72,-21,976,798),12865=>array(72,-21,976,798),12866=>array(72,-21,976,798),12867=>array(72,-21,976,798),12896=>array(30,-82,970,859),12897=>array(30,-82,970,859),12898=>array(30,-82,970,859),12899=>array(30,-82,970,859),12900=>array(30,-82,970,859),12901=>array(30,-82,970,859),12902=>array(30,-82,970,859),12903=>array(30,-82,970,859),12904=>array(30,-82,970,859),12905=>array(30,-82,970,859),12906=>array(30,-82,970,859),12907=>array(30,-82,970,859),12908=>array(30,-82,970,859),12909=>array(30,-82,970,859),12910=>array(30,-82,970,859),12911=>array(30,-82,970,859),12912=>array(30,-82,970,859),12913=>array(30,-82,970,859),12914=>array(30,-82,970,859),12915=>array(30,-82,970,859),12916=>array(30,-82,970,859),12917=>array(30,-82,970,859),12918=>array(30,-82,970,859),12919=>array(30,-82,970,859),12920=>array(30,-82,970,859),12921=>array(30,-82,970,859),12922=>array(30,-82,970,859),12923=>array(30,-82,970,859),12927=>array(30,-82,970,859),12928=>array(30,-82,970,859),12929=>array(30,-82,970,859),12930=>array(30,-82,970,859),12931=>array(30,-82,970,859),12932=>array(30,-82,970,859),12933=>array(30,-82,970,859),12934=>array(30,-82,970,859),12935=>array(30,-82,970,859),12936=>array(30,-82,970,859),12937=>array(30,-82,970,859),12938=>array(30,-82,970,859),12939=>array(30,-82,970,859),12940=>array(30,-82,970,859),12941=>array(30,-82,970,859),12942=>array(30,-82,970,859),12943=>array(30,-82,970,859),12944=>array(30,-82,970,859),12945=>array(30,-82,970,859),12946=>array(30,-82,970,859),12947=>array(30,-82,970,859),12948=>array(30,-82,970,859),12949=>array(30,-82,970,859),12950=>array(30,-82,970,859),12951=>array(30,-82,970,859),12952=>array(30,-82,970,859),12953=>array(30,-82,970,859),12954=>array(30,-82,970,859),12955=>array(30,-82,970,859),12956=>array(30,-82,970,859),12957=>array(30,-82,970,859),12958=>array(30,-82,970,859),12959=>array(30,-82,970,859),12960=>array(30,-82,970,859),12961=>array(30,-82,970,859),12962=>array(30,-82,970,859),12963=>array(30,-82,970,859),12964=>array(30,-82,970,859),12965=>array(30,-82,970,859),12966=>array(30,-82,970,859),12967=>array(30,-82,970,859),12968=>array(30,-82,970,859),12969=>array(30,-82,970,859),12970=>array(30,-82,970,859),12971=>array(30,-82,970,859),12972=>array(30,-82,970,859),12973=>array(30,-82,970,859),12974=>array(30,-82,970,859),12975=>array(30,-82,970,859),12976=>array(30,-82,970,859),12992=>array(119,-55,892,783),12993=>array(88,-55,892,797),12994=>array(86,-55,892,787),12995=>array(64,-55,892,783),12996=>array(89,-55,892,783),12997=>array(102,-55,897,787),12998=>array(90,-55,892,783),12999=>array(80,-55,892,789),13000=>array(82,-55,892,793),13001=>array(47,-55,892,799),13002=>array(47,-55,892,783),13003=>array(47,-55,892,794),13008=>array(30,-82,970,859),13009=>array(30,-82,970,859),13010=>array(30,-82,970,859),13011=>array(30,-82,970,859),13012=>array(30,-82,970,859),13013=>array(30,-82,970,859),13014=>array(30,-82,970,859),13015=>array(30,-82,970,859),13016=>array(30,-82,970,859),13017=>array(30,-82,970,859),13018=>array(30,-82,970,859),13019=>array(30,-82,970,859),13020=>array(30,-82,970,859),13021=>array(30,-82,970,859),13022=>array(30,-82,970,859),13023=>array(30,-82,970,859),13024=>array(30,-82,970,859),13025=>array(30,-82,970,859),13026=>array(30,-82,970,859),13027=>array(30,-82,970,859),13028=>array(30,-82,970,859),13029=>array(30,-82,970,859),13030=>array(30,-82,970,859),13031=>array(30,-82,970,859),13032=>array(30,-82,970,859),13033=>array(30,-82,970,859),13034=>array(30,-82,970,859),13035=>array(30,-82,970,859),13036=>array(30,-82,970,859),13037=>array(30,-82,970,859),13038=>array(30,-82,970,859),13039=>array(30,-82,970,859),13040=>array(30,-82,970,859),13041=>array(30,-82,970,859),13042=>array(30,-82,970,859),13043=>array(30,-82,970,859),13044=>array(30,-82,970,859),13045=>array(30,-82,970,859),13046=>array(30,-82,970,859),13047=>array(30,-82,970,859),13048=>array(30,-82,970,859),13049=>array(30,-82,970,859),13050=>array(30,-82,970,859),13051=>array(30,-82,970,859),13052=>array(30,-82,970,859),13053=>array(30,-82,970,859),13054=>array(30,-82,970,859),13056=>array(54,-77,959,836),13057=>array(62,-82,960,822),13058=>array(39,-64,954,811),13059=>array(49,-64,945,811),13060=>array(73,-74,957,845),13061=>array(50,-76,949,845),13062=>array(75,-49,949,836),13063=>array(38,-77,962,804),13064=>array(58,-67,945,796),13065=>array(47,-48,949,836),13066=>array(47,-66,945,836),13067=>array(58,-75,921,845),13068=>array(58,-77,944,844),13069=>array(58,-75,944,844),13070=>array(58,-49,924,860),13071=>array(58,-67,965,860),13072=>array(51,-61,975,862),13073=>array(51,129,939,862),13074=>array(51,-75,946,862),13075=>array(51,-74,968,862),13076=>array(51,-47,924,841),13077=>array(38,-66,970,841),13078=>array(50,-78,970,844),13079=>array(51,-78,961,841),13080=>array(33,-66,944,866),13081=>array(33,-78,961,866),13082=>array(46,-66,968,844),13083=>array(54,-73,963,844),13084=>array(46,-48,945,850),13085=>array(55,-77,960,822),13086=>array(40,-71,945,802),13087=>array(46,-72,968,845),13088=>array(46,-76,970,841),13089=>array(66,-82,970,831),13090=>array(48,-76,949,836),13091=>array(48,-77,949,836),13092=>array(54,-48,945,868),13093=>array(50,-71,952,868),13094=>array(156,-64,968,856),13095=>array(156,-76,949,845),13096=>array(55,-54,904,841),13097=>array(61,-77,731,825),13098=>array(37,-64,921,845),13099=>array(37,-76,980,836),13100=>array(37,-64,945,836),13101=>array(37,-64,968,856),13102=>array(56,-78,970,857),13103=>array(49,-64,923,857),13104=>array(106,-41,918,857),13105=>array(106,-64,968,862),13106=>array(71,-78,961,794),13107=>array(53,-77,933,845),13108=>array(57,-69,970,862),13109=>array(57,-76,944,826),13110=>array(39,-73,970,844),13111=>array(39,-75,915,802),13112=>array(39,-41,939,802),13113=>array(39,-64,968,836),13114=>array(39,-48,949,811),13115=>array(39,-71,945,802),13116=>array(39,-73,945,819),13117=>array(40,-77,933,859),13118=>array(40,-77,968,859),13119=>array(40,-76,949,842),13120=>array(40,-77,949,859),13121=>array(40,-64,945,842),13122=>array(40,-76,945,842),13123=>array(55,-72,924,845),13124=>array(49,-64,921,845),13125=>array(37,-72,731,805),13126=>array(55,-72,968,836),13127=>array(57,-69,963,811),13128=>array(61,-76,949,844),13129=>array(61,-75,887,829),13130=>array(39,-72,970,831),13131=>array(67,-60,969,833),13132=>array(67,-77,969,860),13133=>array(67,-77,968,833),13134=>array(59,-77,945,847),13135=>array(49,-64,945,847),13136=>array(57,-76,950,811),13137=>array(107,-77,968,831),13138=>array(107,-73,944,831),13139=>array(49,140,955,857),13140=>array(49,-77,968,836),13141=>array(124,-66,956,835),13142=>array(118,-82,963,835),13143=>array(79,-77,718,798),13144=>array(124,-65,967,826),13145=>array(119,-65,967,826),13146=>array(88,-65,967,826),13147=>array(86,-65,967,826),13148=>array(64,-65,967,826),13149=>array(89,-65,967,826),13150=>array(102,-65,972,826),13151=>array(90,-65,967,826),13152=>array(80,-65,967,826),13153=>array(82,-65,967,826),13154=>array(47,-65,967,826),13155=>array(47,-65,967,826),13156=>array(47,-65,967,826),13157=>array(47,-65,967,826),13158=>array(47,-65,967,826),13159=>array(47,-65,967,826),13160=>array(47,-65,967,826),13161=>array(47,-65,967,826),13162=>array(47,-65,967,826),13163=>array(47,-65,967,826),13164=>array(48,-65,967,826),13165=>array(48,-65,967,826),13166=>array(48,-65,967,826),13167=>array(48,-65,967,826),13168=>array(48,-65,967,826),13169=>array(77,12,942,739),13170=>array(65,11,930,739),13171=>array(50,23,915,751),13172=>array(81,11,971,739),13173=>array(63,16,962,739),13174=>array(90,-71,934,658),13179=>array(37,-70,970,831),13180=>array(54,-60,946,831),13181=>array(28,-43,956,829),13182=>array(59,-67,970,832),13183=>array(23,-86,969,855),13184=>array(84,-171,968,739),13185=>array(82,23,968,739),13186=>array(79,-187,963,739),13187=>array(77,23,965,739),13188=>array(80,23,962,739),13189=>array(78,23,946,739),13190=>array(78,23,946,739),13191=>array(63,23,946,763),13192=>array(58,11,922,739),13193=>array(62,11,938,739),13194=>array(84,-171,942,739),13195=>array(82,23,942,739),13196=>array(80,-187,942,739),13197=>array(80,-187,919,553),13198=>array(77,-187,925,553),13199=>array(91,-187,919,739),13200=>array(91,23,949,739),13201=>array(82,23,952,739),13202=>array(72,23,957,739),13203=>array(52,23,962,763),13204=>array(44,23,952,739),13205=>array(84,-187,926,737),13206=>array(86,23,930,739),13207=>array(65,11,930,739),13208=>array(123,23,926,739),13209=>array(86,23,914,751),13210=>array(86,23,914,553),13211=>array(87,-187,914,553),13212=>array(70,23,930,553),13213=>array(63,16,918,558),13214=>array(83,23,918,739),13215=>array(67,23,958,677),13216=>array(63,16,958,677),13217=>array(149,23,926,677),13218=>array(82,23,958,739),13219=>array(67,23,964,680),13220=>array(63,16,964,680),13221=>array(149,23,932,680),13222=>array(82,23,964,739),13223=>array(75,16,937,740),13224=>array(67,16,958,740),13225=>array(104,11,926,739),13226=>array(69,11,951,739),13227=>array(58,11,961,739),13228=>array(55,23,975,763),13229=>array(70,11,930,739),13230=>array(67,11,959,740),13231=>array(67,11,966,740),13232=>array(92,-171,940,558),13233=>array(91,16,929,558),13234=>array(92,-187,946,558),13235=>array(83,16,947,558),13236=>array(92,-171,954,739),13237=>array(88,23,954,739),13238=>array(92,-187,954,739),13239=>array(70,23,954,739),13240=>array(93,23,954,739),13241=>array(76,23,959,739),13242=>array(84,-171,965,739),13243=>array(87,23,963,739),13244=>array(87,-187,963,739),13245=>array(70,23,967,739),13246=>array(91,23,965,739),13247=>array(72,23,969,739),13248=>array(87,23,945,739),13249=>array(72,23,948,739),13250=>array(65,11,955,553),13251=>array(85,-171,917,739),13252=>array(64,16,940,558),13253=>array(64,11,925,739),13254=>array(50,-187,942,761),13255=>array(63,16,955,763),13256=>array(61,11,939,739),13257=>array(64,-186,960,763),13258=>array(91,11,939,739),13259=>array(102,23,932,739),13260=>array(159,23,837,739),13261=>array(90,22,959,739),13262=>array(79,23,921,739),13263=>array(121,18,860,739),13264=>array(109,23,918,739),13265=>array(151,23,844,739),13266=>array(79,-187,921,739),13267=>array(166,23,842,739),13268=>array(88,11,947,739),13269=>array(87,23,913,739),13270=>array(69,16,931,739),13271=>array(93,-171,907,739),13272=>array(76,-171,955,558),13273=>array(69,23,931,739),13274=>array(84,23,961,739),13275=>array(98,16,918,558),13276=>array(68,23,944,763),13277=>array(51,11,952,739),13280=>array(119,-24,908,777),13281=>array(88,-24,908,797),13282=>array(86,-35,908,787),13283=>array(64,-24,908,781),13284=>array(89,-31,908,780),13285=>array(102,-34,914,787),13286=>array(90,-24,908,777),13287=>array(80,-25,908,789),13288=>array(82,-27,908,793),13289=>array(47,-35,918,795),13290=>array(47,-24,918,776),13291=>array(47,-24,918,793),13292=>array(47,-35,918,792),13293=>array(47,-24,918,785),13294=>array(47,-31,918,780),13295=>array(47,-32,918,787),13296=>array(47,-24,918,777),13297=>array(47,-24,918,786),13298=>array(47,-31,918,788),13299=>array(48,-35,918,795),13300=>array(48,-24,918,792),13301=>array(48,-24,918,792),13302=>array(48,-34,918,792),13303=>array(48,-24,918,792),13304=>array(48,-31,918,792),13305=>array(48,-32,918,792),13306=>array(48,-24,918,792),13307=>array(48,-24,918,792),13308=>array(48,-31,918,792),13309=>array(44,-35,918,795),13310=>array(44,-34,918,790),19968=>array(121,356,896,439),19969=>array(98,-68,911,768),19970=>array(102,-67,897,787),19971=>array(75,-11,896,823),19972=>array(92,9,927,814),19973=>array(92,9,927,814),19974=>array(115,-77,914,738),19975=>array(63,-77,959,738),19976=>array(83,-77,948,827),19977=>array(99,32,911,713),19978=>array(92,10,927,814),19979=>array(84,-59,916,772),19980=>array(53,-64,927,778),19981=>array(71,-65,928,769),19982=>array(68,-64,930,825),19983=>array(85,-66,937,782),19984=>array(98,-63,908,767),19985=>array(78,-11,922,764),19986=>array(80,-13,925,765),19987=>array(73,-68,921,828),19988=>array(84,-14,935,776),19989=>array(85,-6,942,771),19990=>array(64,-65,936,805),19991=>array(74,-69,926,817),19992=>array(76,-13,927,803),19993=>array(68,-74,933,767),19994=>array(67,-12,918,799),19995=>array(55,-4,915,827),19996=>array(52,-72,911,820),19997=>array(70,-9,925,828),19998=>array(58,-17,951,778),19999=>array(100,-54,898,767),20000=>array(68,-36,952,807),20001=>array(62,-64,952,787),20002=>array(66,-57,906,809),20003=>array(98,-62,914,783),20004=>array(62,-61,911,780),20005=>array(38,-61,914,782),20006=>array(68,-13,941,840),20007=>array(64,-74,944,818),20008=>array(439,-66,515,823),20009=>array(283,-55,652,833),20010=>array(30,-70,955,832),20011=>array(136,-53,866,805),20012=>array(248,-68,574,816),20013=>array(131,-65,860,826),20014=>array(71,-64,963,786),20015=>array(83,-68,933,844),20016=>array(73,-61,927,832),20017=>array(73,-72,894,826),20018=>array(123,-68,886,832),20019=>array(59,-70,912,830),20020=>array(103,-59,908,840),20021=>array(84,-54,930,814),20022=>array(289,225,647,575),20023=>array(134,287,875,584),20024=>array(52,-71,950,824),20025=>array(74,-73,939,777),20026=>array(82,-65,836,829),20027=>array(81,-6,930,841),20028=>array(82,-65,932,831),20029=>array(61,-57,912,771),20030=>array(18,-82,950,821),20031=>array(249,-60,554,834),20032=>array(72,-66,928,836),20033=>array(161,-77,953,786),20034=>array(66,-77,953,828),20035=>array(73,-56,894,776),20036=>array(117,-69,879,840),20037=>array(85,-50,957,835),20038=>array(75,-49,949,802),20039=>array(74,-24,940,816),20040=>array(94,-28,930,816),20041=>array(54,-71,955,818),20042=>array(99,262,872,706),20043=>array(64,-63,947,822),20044=>array(71,-68,889,828),20045=>array(56,-67,945,850),20046=>array(93,-64,924,826),20047=>array(65,-63,949,829),20048=>array(49,-59,941,833),20049=>array(54,-61,953,837),20050=>array(89,-77,921,826),20051=>array(87,-73,927,826),20052=>array(39,-69,948,819),20053=>array(38,-62,929,837),20054=>array(59,-65,926,831),20055=>array(50,-70,953,854),20056=>array(50,-70,953,824),20057=>array(158,-14,909,740),20058=>array(222,0,890,782),20059=>array(92,290,913,534),20060=>array(80,-20,954,822),20061=>array(77,-46,948,831),20062=>array(62,-27,925,835),20063=>array(92,-9,930,830),20064=>array(118,-62,818,769),20065=>array(96,-58,834,832),20066=>array(137,-32,953,825),20067=>array(85,-32,953,825),20068=>array(96,-43,924,792),20069=>array(113,-15,894,831),20070=>array(60,-71,894,819),20071=>array(101,-15,922,829),20072=>array(57,-53,953,828),20073=>array(91,-53,937,833),20074=>array(85,-28,958,753),20075=>array(60,-15,875,826),20076=>array(115,-15,889,804),20077=>array(76,-15,918,777),20078=>array(146,-40,897,829),20079=>array(93,-30,914,829),20080=>array(39,-62,920,779),20081=>array(58,-44,936,826),20082=>array(77,-15,954,828),20083=>array(48,-85,958,815),20084=>array(61,-45,938,806),20085=>array(74,-55,961,850),20086=>array(62,-55,956,849),20087=>array(58,-51,952,836),20088=>array(42,-27,959,828),20089=>array(108,-64,976,833),20090=>array(66,-31,938,831),20091=>array(50,-31,943,847),20092=>array(80,-31,966,859),20093=>array(67,-58,929,836),20094=>array(48,-64,950,842),20095=>array(44,-62,958,824),20096=>array(64,-43,956,853),20097=>array(81,-61,961,837),20098=>array(49,-68,962,843),20099=>array(36,-62,960,840),20100=>array(54,-30,954,831),20101=>array(290,-40,544,818),20102=>array(172,-41,829,773),20103=>array(98,-62,895,822),20104=>array(92,-66,913,782),20105=>array(69,-70,939,829),20106=>array(60,-65,950,826),20107=>array(60,-65,950,826),20108=>array(100,103,916,657),20109=>array(98,-51,914,764),20110=>array(89,-69,908,773),20111=>array(64,-62,912,770),20112=>array(64,-62,912,770),20113=>array(71,-50,934,760),20114=>array(78,-6,932,775),20115=>array(42,-66,919,784),20116=>array(82,25,916,744),20117=>array(63,-70,935,829),20118=>array(57,-24,960,791),20119=>array(57,-24,950,822),20120=>array(71,-6,941,770),20121=>array(52,-24,948,780),20122=>array(63,-7,914,775),20123=>array(65,-17,933,829),20124=>array(64,-24,952,783),20125=>array(77,-17,928,852),20126=>array(64,-24,952,783),20127=>array(74,-29,938,811),20128=>array(73,391,927,690),20129=>array(64,-3,936,822),20130=>array(66,-58,959,822),20131=>array(98,-55,911,835),20132=>array(70,-65,946,822),20133=>array(85,-64,931,840),20134=>array(57,-66,934,822),20135=>array(25,-63,889,843),20136=>array(74,-61,926,825),20137=>array(62,-56,916,841),20138=>array(81,-78,941,841),20139=>array(74,-58,936,828),20140=>array(53,-64,950,825),20141=>array(93,-58,907,836),20142=>array(65,-68,950,838),20143=>array(77,-62,923,840),20144=>array(59,-67,942,828),20145=>array(39,-63,941,846),20146=>array(49,-67,920,837),20147=>array(87,-45,961,838),20148=>array(71,-56,973,861),20149=>array(29,-75,944,841),20150=>array(53,-47,947,845),20151=>array(40,-59,955,850),20152=>array(52,-69,953,836),20153=>array(54,-47,960,858),20154=>array(71,-48,943,806),20155=>array(256,-69,592,824),20156=>array(32,-27,973,804),20157=>array(50,-56,978,838),20158=>array(171,16,906,794),20159=>array(34,-64,943,829),20160=>array(48,-68,950,829),20161=>array(47,-65,953,835),20162=>array(65,-65,910,838),20163=>array(43,-67,954,837),20164=>array(42,-66,957,775),20165=>array(23,-62,936,832),20166=>array(44,-67,956,835),20167=>array(39,-73,957,836),20168=>array(49,-73,955,828),20169=>array(60,-67,956,825),20170=>array(33,-77,967,836),20171=>array(54,-71,951,858),20172=>array(56,-47,953,831),20173=>array(58,-71,923,829),20174=>array(18,-72,964,836),20175=>array(44,-62,941,837),20176=>array(30,-58,955,832),20177=>array(30,-34,955,827),20178=>array(31,-68,964,811),20179=>array(26,-28,941,832),20180=>array(50,-64,954,834),20181=>array(46,-64,935,828),20182=>array(32,-68,956,844),20183=>array(51,-64,959,839),20184=>array(55,-73,947,838),20185=>array(43,-68,894,822),20186=>array(55,-64,957,840),20187=>array(60,-73,930,838),20188=>array(54,-63,939,832),20189=>array(56,-15,958,843),20190=>array(51,-67,895,832),20191=>array(54,-64,948,833),20192=>array(48,-67,948,829),20193=>array(46,-66,952,842),20194=>array(48,-69,920,829),20195=>array(46,-68,957,830),20196=>array(38,-67,961,846),20197=>array(66,-52,945,802),20198=>array(48,-66,951,829),20199=>array(76,-39,945,828),20200=>array(44,-66,937,830),20201=>array(57,-59,948,835),20202=>array(27,-75,949,823),20203=>array(44,-80,944,829),20204=>array(32,-57,897,837),20205=>array(24,-65,969,829),20206=>array(34,-70,949,839),20207=>array(41,-63,958,846),20208=>array(31,-64,897,853),20209=>array(54,-67,949,840),20210=>array(50,-68,902,833),20211=>array(52,-67,955,832),20212=>array(48,-66,859,832),20213=>array(52,-67,956,842),20214=>array(45,-67,950,837),20215=>array(33,-74,982,847),20216=>array(28,-69,962,833),20217=>array(43,-79,936,836),20218=>array(58,-38,982,866),20219=>array(27,-73,949,830),20220=>array(33,-67,938,835),20221=>array(50,-74,968,828),20222=>array(23,-67,951,835),20223=>array(56,-70,953,845),20224=>array(49,-61,948,837),20225=>array(28,-28,958,841),20226=>array(41,-65,946,836),20227=>array(49,-55,956,840),20228=>array(52,-68,912,828),20229=>array(41,-64,945,832),20230=>array(49,-64,921,843),20231=>array(45,-66,967,835),20232=>array(40,-59,954,846),20233=>array(40,-69,954,839),20234=>array(34,-75,950,827),20235=>array(39,-55,963,844),20236=>array(41,-72,930,819),20237=>array(29,-73,947,832),20238=>array(49,-66,960,840),20239=>array(50,-67,954,841),20240=>array(47,-73,950,822),20241=>array(49,-71,953,832),20242=>array(51,-66,937,829),20243=>array(46,-66,952,827),20244=>array(41,-71,958,832),20245=>array(50,-71,961,832),20246=>array(55,-87,958,835),20247=>array(34,-75,947,828),20248=>array(42,-64,945,840),20249=>array(50,-69,959,829),20250=>array(51,-56,954,832),20251=>array(39,-68,924,819),20252=>array(65,-57,941,831),20253=>array(45,-64,941,835),20254=>array(28,-81,950,822),20255=>array(30,-58,912,835),20256=>array(28,-66,903,831),20257=>array(50,-74,951,829),20258=>array(49,-67,932,835),20259=>array(50,-67,940,829),20260=>array(30,-66,919,823),20261=>array(39,-73,947,819),20262=>array(31,-59,935,833),20263=>array(25,-67,949,828),20264=>array(37,-67,906,836),20265=>array(37,-67,976,850),20266=>array(32,-68,895,824),20267=>array(34,-66,914,822),20268=>array(50,-66,952,834),20269=>array(39,-63,951,836),20270=>array(49,-71,959,840),20271=>array(62,-65,887,842),20272=>array(38,-67,951,835),20273=>array(62,-65,951,852),20274=>array(51,-76,952,830),20275=>array(36,-66,945,833),20276=>array(42,-65,955,835),20277=>array(42,-65,890,833),20278=>array(26,-71,965,849),20279=>array(33,-70,896,833),20280=>array(48,-65,897,843),20281=>array(34,-69,958,838),20282=>array(52,-68,896,834),20283=>array(45,-65,952,839),20284=>array(40,-69,960,839),20285=>array(29,-68,908,831),20286=>array(43,-69,936,822),20287=>array(44,-66,960,835),20288=>array(44,-65,915,835),20289=>array(48,-64,948,832),20290=>array(48,-64,946,831),20291=>array(45,-66,902,840),20292=>array(45,-66,948,840),20293=>array(45,-66,937,840),20294=>array(31,-73,934,839),20295=>array(38,-67,940,831),20296=>array(50,-65,956,842),20297=>array(42,-64,948,837),20298=>array(37,-73,966,838),20299=>array(36,-66,906,824),20300=>array(45,-63,958,837),20301=>array(41,-71,947,827),20302=>array(38,-68,961,838),20303=>array(35,-70,948,839),20304=>array(34,-66,946,834),20305=>array(42,-67,945,833),20306=>array(40,-63,965,837),20307=>array(37,-64,966,831),20308=>array(35,-63,935,840),20309=>array(33,-70,958,839),20310=>array(47,-67,956,832),20311=>array(48,-67,951,834),20312=>array(40,-61,970,857),20313=>array(61,-63,951,852),20314=>array(57,-67,967,839),20315=>array(47,-65,924,834),20316=>array(37,-67,954,847),20317=>array(66,-67,921,841),20318=>array(43,-69,945,836),20319=>array(46,-73,969,846),20320=>array(16,-73,951,833),20321=>array(48,-71,957,830),20322=>array(38,-61,943,837),20323=>array(37,-65,895,833),20324=>array(44,-68,962,840),20325=>array(26,-18,943,831),20326=>array(38,-64,921,831),20327=>array(47,-65,953,842),20328=>array(43,-59,955,836),20329=>array(39,-67,959,833),20330=>array(50,-68,897,838),20331=>array(52,-66,964,839),20332=>array(41,-65,942,832),20333=>array(37,-69,944,839),20334=>array(53,-64,968,847),20335=>array(44,-65,947,842),20336=>array(48,-67,947,833),20337=>array(48,-24,975,852),20338=>array(47,-70,883,840),20339=>array(21,-72,933,834),20340=>array(54,-74,948,835),20341=>array(37,-70,955,851),20342=>array(35,-73,924,834),20343=>array(53,-66,959,837),20344=>array(48,-55,948,845),20345=>array(42,-59,963,851),20346=>array(44,-67,951,832),20347=>array(22,-84,946,829),20348=>array(27,-70,941,835),20349=>array(63,-57,955,850),20350=>array(24,-67,974,837),20351=>array(50,-73,985,836),20352=>array(44,-70,913,841),20353=>array(46,-64,960,839),20354=>array(43,-63,954,846),20355=>array(41,-66,961,836),20356=>array(18,-66,921,831),20357=>array(41,-61,947,842),20358=>array(63,-64,956,835),20359=>array(40,-70,961,839),20360=>array(48,-62,920,844),20361=>array(32,-67,975,848),20362=>array(32,-67,946,838),20363=>array(41,-63,911,845),20364=>array(33,-81,952,861),20365=>array(52,-74,949,829),20366=>array(52,-74,976,827),20367=>array(36,-80,953,824),20368=>array(36,-61,958,847),20369=>array(39,-65,954,844),20370=>array(42,-64,942,836),20371=>array(42,-64,948,835),20372=>array(43,-71,947,843),20373=>array(42,-62,955,843),20374=>array(42,-62,966,852),20375=>array(50,-65,908,829),20376=>array(42,-70,964,829),20377=>array(38,-59,949,847),20378=>array(48,-57,938,845),20379=>array(38,-70,949,844),20380=>array(49,-73,954,843),20381=>array(36,-73,947,839),20382=>array(52,-55,905,847),20383=>array(44,-70,954,844),20384=>array(28,-67,944,832),20385=>array(24,-61,938,835),20386=>array(47,-67,949,828),20387=>array(32,-65,883,833),20388=>array(37,-60,945,832),20389=>array(10,-61,932,834),20390=>array(38,-74,922,831),20391=>array(18,-60,875,832),20392=>array(41,-55,967,848),20393=>array(32,-59,943,833),20394=>array(27,-69,937,834),20395=>array(37,-60,949,843),20396=>array(27,-69,962,834),20397=>array(27,-69,960,834),20398=>array(34,-68,946,839),20399=>array(44,-73,974,835),20400=>array(44,-73,933,835),20401=>array(44,-73,940,826),20402=>array(42,-73,969,827),20403=>array(39,-63,956,853),20404=>array(48,-61,975,852),20405=>array(36,-64,948,840),20406=>array(49,-63,900,836),20407=>array(41,-63,913,830),20408=>array(49,-63,942,836),20409=>array(35,-63,962,835),20410=>array(57,-65,957,843),20411=>array(51,-72,960,828),20412=>array(55,-64,946,830),20413=>array(53,-64,927,843),20414=>array(52,-64,953,843),20415=>array(42,-73,947,834),20416=>array(43,-63,955,842),20417=>array(35,-59,964,840),20418=>array(40,-65,954,845),20419=>array(20,-70,961,840),20420=>array(41,-64,960,840),20421=>array(42,-70,960,840),20422=>array(20,-70,948,840),20423=>array(28,-64,948,840),20424=>array(20,-70,939,840),20425=>array(53,-67,963,840),20426=>array(42,-79,953,849),20427=>array(40,-70,956,840),20428=>array(40,-70,945,840),20429=>array(59,-69,970,832),20430=>array(42,-57,954,829),20431=>array(52,-67,925,836),20432=>array(54,-66,918,847),20433=>array(21,-67,911,842),20434=>array(54,-67,946,845),20435=>array(39,-67,955,839),20436=>array(39,-54,958,841),20437=>array(39,-65,939,841),20438=>array(47,-64,947,841),20439=>array(36,-65,972,839),20440=>array(31,-62,951,832),20441=>array(42,-70,957,844),20442=>array(25,-68,948,836),20443=>array(50,-64,969,841),20444=>array(44,-65,955,850),20445=>array(35,-73,965,832),20446=>array(48,-61,975,852),20447=>array(23,-69,977,846),20448=>array(44,-68,968,840),20449=>array(32,-68,941,825),20450=>array(43,-82,954,844),20451=>array(25,-76,933,819),20452=>array(25,-70,919,842),20453=>array(26,-67,934,839),20454=>array(23,-71,953,832),20455=>array(25,-69,929,826),20456=>array(35,-69,923,823),20457=>array(32,-58,917,834),20458=>array(19,-61,911,829),20459=>array(25,-69,941,830),20460=>array(42,-64,961,850),20461=>array(19,-58,944,836),20462=>array(33,-76,973,844),20463=>array(33,-71,950,831),20464=>array(42,-64,913,850),20465=>array(22,-69,944,835),20466=>array(17,-57,909,852),20467=>array(37,-66,957,842),20468=>array(47,-60,947,840),20469=>array(41,-69,963,838),20470=>array(34,-69,981,835),20471=>array(46,-68,947,825),20472=>array(36,-68,964,843),20473=>array(51,-67,929,836),20474=>array(34,-61,967,841),20475=>array(51,-72,946,836),20476=>array(41,-74,911,844),20477=>array(44,-72,946,848),20478=>array(39,-65,950,853),20479=>array(39,-65,950,857),20480=>array(44,-68,972,831),20481=>array(47,-66,946,849),20482=>array(37,-68,955,835),20483=>array(44,-65,961,837),20484=>array(39,-64,922,844),20485=>array(32,-64,946,835),20486=>array(49,-68,941,846),20487=>array(45,-75,947,834),20488=>array(43,-65,972,836),20489=>array(62,-71,946,855),20490=>array(43,-65,969,831),20491=>array(50,-68,918,838),20492=>array(39,-65,927,854),20493=>array(39,-69,950,835),20494=>array(49,-72,943,838),20495=>array(31,-73,966,846),20496=>array(14,-67,952,848),20497=>array(27,-70,892,841),20498=>array(53,-68,903,839),20499=>array(50,-66,952,843),20500=>array(38,-66,908,831),20501=>array(46,-67,949,832),20502=>array(42,-65,940,844),20503=>array(54,-64,890,834),20504=>array(35,-65,895,836),20505=>array(20,-68,958,843),20506=>array(36,-64,953,842),20507=>array(54,-77,951,834),20508=>array(45,-72,926,840),20509=>array(73,-73,961,833),20510=>array(35,-68,956,832),20511=>array(41,-68,953,838),20512=>array(46,-71,935,825),20513=>array(52,-65,897,833),20514=>array(44,-64,978,839),20515=>array(29,-69,974,847),20516=>array(36,-68,943,837),20517=>array(26,-69,954,834),20518=>array(34,-67,963,835),20519=>array(62,-59,967,839),20520=>array(32,-71,947,841),20521=>array(36,-67,956,847),20522=>array(49,-77,951,821),20523=>array(31,-71,976,855),20524=>array(46,-65,951,836),20525=>array(12,-67,952,842),20526=>array(33,-67,979,843),20527=>array(52,-68,967,830),20528=>array(44,-65,956,834),20529=>array(59,-59,960,836),20530=>array(59,-64,943,836),20531=>array(51,-64,956,831),20532=>array(46,-68,975,835),20533=>array(47,-62,951,830),20534=>array(39,-65,961,838),20535=>array(52,-62,963,832),20536=>array(47,-62,975,848),20537=>array(39,-71,955,841),20538=>array(35,-86,913,827),20539=>array(30,-65,973,835),20540=>array(37,-68,943,834),20541=>array(54,-59,969,875),20542=>array(29,-59,955,828),20543=>array(39,-64,939,841),20544=>array(46,-70,972,839),20545=>array(44,-68,952,836),20546=>array(48,-65,960,850),20547=>array(27,-73,945,841),20548=>array(46,-70,975,837),20549=>array(46,-70,956,837),20550=>array(39,-69,972,840),20551=>array(41,-70,962,835),20552=>array(45,-69,920,825),20553=>array(42,-66,948,844),20554=>array(45,-67,918,835),20555=>array(40,-72,951,841),20556=>array(36,-66,954,847),20557=>array(47,-73,961,833),20558=>array(33,-71,970,844),20559=>array(38,-68,921,837),20560=>array(35,-71,939,836),20561=>array(37,-68,966,832),20562=>array(41,-66,944,842),20563=>array(47,-68,960,841),20564=>array(41,-66,925,842),20565=>array(31,-68,963,840),20566=>array(31,-66,938,842),20567=>array(55,-67,956,843),20568=>array(46,-65,920,829),20569=>array(61,-65,908,839),20570=>array(51,-74,963,835),20571=>array(46,-67,958,836),20572=>array(37,-65,934,834),20573=>array(37,-65,953,845),20574=>array(44,-70,955,833),20575=>array(49,-52,951,852),20576=>array(46,-75,960,834),20577=>array(51,-64,959,841),20578=>array(40,-54,973,848),20579=>array(54,-68,956,845),20580=>array(44,-71,936,828),20581=>array(43,-73,966,834),20582=>array(43,-70,957,834),20583=>array(28,-70,980,834),20584=>array(31,-71,969,834),20585=>array(55,-73,943,838),20586=>array(47,-53,948,839),20587=>array(53,-66,968,839),20588=>array(33,-68,970,846),20589=>array(38,-62,944,837),20590=>array(45,-71,952,830),20591=>array(41,-74,960,843),20592=>array(40,-73,960,835),20593=>array(43,-67,935,840),20594=>array(43,-65,971,833),20595=>array(44,-64,951,839),20596=>array(42,-68,902,834),20597=>array(48,-79,943,836),20598=>array(38,-62,907,836),20599=>array(53,-63,979,862),20600=>array(37,-71,963,824),20601=>array(23,-66,962,840),20602=>array(44,-66,960,840),20603=>array(23,-66,933,830),20604=>array(36,-61,954,839),20605=>array(41,-67,924,835),20606=>array(27,-69,925,834),20607=>array(21,-57,912,834),20608=>array(26,-72,967,841),20609=>array(50,-72,963,832),20610=>array(49,-69,961,837),20611=>array(55,-70,948,837),20612=>array(41,-64,968,840),20613=>array(31,-65,941,838),20614=>array(56,-75,958,838),20615=>array(58,-72,961,833),20616=>array(30,-65,979,838),20617=>array(44,-69,953,827),20618=>array(44,-73,936,827),20619=>array(44,-69,951,827),20620=>array(44,-58,941,848),20621=>array(36,-64,941,833),20622=>array(41,-58,955,848),20623=>array(45,-75,948,843),20624=>array(39,-65,906,841),20625=>array(31,-65,971,847),20626=>array(38,-65,978,837),20627=>array(53,-60,903,842),20628=>array(45,-57,960,850),20629=>array(60,-71,960,830),20630=>array(29,-80,969,851),20631=>array(29,-69,950,843),20632=>array(52,-58,971,847),20633=>array(29,-69,956,835),20634=>array(25,-57,978,832),20635=>array(44,-66,958,840),20636=>array(46,-72,953,839),20637=>array(39,-73,917,829),20638=>array(39,-62,954,853),20639=>array(42,-71,922,844),20640=>array(37,-67,968,844),20641=>array(47,-44,970,844),20642=>array(37,-68,976,854),20643=>array(32,-65,976,845),20644=>array(42,-64,964,836),20645=>array(28,-64,934,829),20646=>array(28,-72,943,823),20647=>array(30,-66,938,841),20648=>array(28,-63,922,833),20649=>array(27,-61,924,828),20650=>array(27,-76,967,847),20651=>array(34,-70,943,830),20652=>array(30,-60,936,840),20653=>array(34,-68,957,840),20654=>array(44,-66,954,843),20655=>array(44,-64,969,838),20656=>array(38,-71,903,840),20657=>array(40,-74,973,835),20658=>array(32,-67,958,835),20659=>array(35,-70,951,836),20660=>array(35,-65,948,838),20661=>array(41,-72,963,833),20662=>array(46,-74,967,838),20663=>array(31,-67,953,839),20664=>array(42,-80,961,837),20665=>array(39,-65,952,847),20666=>array(29,-65,958,841),20667=>array(28,-66,961,841),20668=>array(33,-66,948,841),20669=>array(44,-71,954,847),20670=>array(35,-67,962,831),20671=>array(39,-70,949,834),20672=>array(29,-72,949,859),20673=>array(47,-62,965,839),20674=>array(30,-72,950,835),20675=>array(26,-65,907,832),20676=>array(46,-65,955,834),20677=>array(33,-70,944,840),20678=>array(17,-61,965,840),20679=>array(36,-57,974,844),20680=>array(41,-81,960,832),20681=>array(37,-66,979,847),20682=>array(41,-64,958,840),20683=>array(46,-80,970,847),20684=>array(25,-71,968,847),20685=>array(43,-66,925,832),20686=>array(37,-58,950,843),20687=>array(40,-62,963,840),20688=>array(45,-66,909,844),20689=>array(35,-66,965,832),20690=>array(47,-65,952,843),20691=>array(55,-79,959,840),20692=>array(46,-67,949,843),20693=>array(48,-64,963,835),20694=>array(39,-68,951,834),20695=>array(52,-71,934,831),20696=>array(23,-67,985,844),20697=>array(44,-70,969,835),20698=>array(41,-64,983,842),20699=>array(38,-74,963,839),20700=>array(55,-45,963,829),20701=>array(55,-70,962,826),20702=>array(33,-65,930,839),20703=>array(38,-56,946,835),20704=>array(62,-70,965,828),20705=>array(53,-52,962,836),20706=>array(43,-67,947,833),20707=>array(34,-64,968,836),20708=>array(68,-67,967,835),20709=>array(38,-67,962,837),20710=>array(35,-64,967,851),20711=>array(39,-60,907,843),20712=>array(39,-72,968,841),20713=>array(52,-52,911,840),20714=>array(54,-64,918,833),20715=>array(52,-52,962,840),20716=>array(34,-68,967,842),20717=>array(24,-65,972,838),20718=>array(29,-71,953,832),20719=>array(57,-72,974,833),20720=>array(47,-63,963,835),20721=>array(30,-62,952,847),20722=>array(25,-75,948,832),20723=>array(20,-69,965,839),20724=>array(52,-52,911,840),20725=>array(45,-61,956,838),20726=>array(43,-70,982,832),20727=>array(45,-72,955,847),20728=>array(30,-70,972,834),20729=>array(28,-71,949,826),20730=>array(47,-70,959,828),20731=>array(35,-65,958,847),20732=>array(47,-66,951,833),20733=>array(37,-68,988,830),20734=>array(41,-57,972,858),20735=>array(34,-70,979,834),20736=>array(39,-68,963,845),20737=>array(39,-74,942,844),20738=>array(36,-76,977,843),20739=>array(44,-70,960,838),20740=>array(36,-67,960,840),20741=>array(53,-68,915,836),20742=>array(26,-66,978,841),20743=>array(50,-66,979,837),20744=>array(34,-61,968,863),20745=>array(38,-69,965,851),20746=>array(34,-72,978,836),20747=>array(20,-72,942,839),20748=>array(28,-58,963,850),20749=>array(39,-56,965,853),20750=>array(42,-65,964,836),20751=>array(38,-67,968,845),20752=>array(28,-68,964,854),20753=>array(47,-79,962,825),20754=>array(36,-60,956,839),20755=>array(52,-67,964,829),20756=>array(32,-65,953,838),20757=>array(41,-71,963,837),20758=>array(51,-65,942,843),20759=>array(30,-64,969,839),20760=>array(31,-64,964,845),20761=>array(31,-64,960,845),20762=>array(37,-59,938,838),20763=>array(39,-67,943,842),20764=>array(39,-67,948,841),20765=>array(50,-65,937,856),20766=>array(37,-75,951,837),20767=>array(28,-73,961,842),20768=>array(47,-71,954,836),20769=>array(54,-68,923,826),20770=>array(46,-70,964,829),20771=>array(64,-74,959,846),20772=>array(49,-68,965,830),20773=>array(47,-79,940,835),20774=>array(42,-76,963,841),20775=>array(37,-77,963,838),20776=>array(39,-80,947,838),20777=>array(49,-75,934,838),20778=>array(30,-73,954,835),20779=>array(40,-73,957,840),20780=>array(5,-73,996,835),20781=>array(35,-73,972,830),20782=>array(36,-66,952,836),20783=>array(26,-64,963,846),20784=>array(44,-75,951,834),20785=>array(28,-66,967,845),20786=>array(40,-68,946,838),20787=>array(41,-66,969,844),20788=>array(33,-69,979,844),20789=>array(32,-68,971,843),20790=>array(33,-67,940,848),20791=>array(36,-69,968,841),20792=>array(44,-55,950,840),20793=>array(30,-72,954,840),20794=>array(29,-69,955,839),20795=>array(27,-68,973,848),20796=>array(34,-70,971,832),20797=>array(47,-72,935,832),20798=>array(36,-71,964,839),20799=>array(39,-81,955,815),20800=>array(46,-64,942,754),20801=>array(82,-59,936,842),20802=>array(40,-65,963,824),20803=>array(76,-67,939,767),20804=>array(85,-65,932,776),20805=>array(64,-68,951,822),20806=>array(73,-64,933,832),20807=>array(40,-60,953,836),20808=>array(89,-67,934,839),20809=>array(66,-63,930,832),20810=>array(49,-68,949,835),20811=>array(60,-67,937,832),20812=>array(51,-60,953,812),20813=>array(52,-70,948,840),20814=>array(68,-60,959,831),20815=>array(37,-66,956,794),20816=>array(52,-66,929,737),20817=>array(67,-64,941,848),20818=>array(88,-62,927,833),20819=>array(36,-64,970,794),20820=>array(63,-67,950,842),20821=>array(41,-65,962,780),20822=>array(58,-67,956,848),20823=>array(42,-62,959,834),20824=>array(30,-50,960,823),20825=>array(29,-80,961,845),20826=>array(52,-64,948,828),20827=>array(30,-79,955,845),20828=>array(52,-66,948,844),20829=>array(29,-80,954,846),20830=>array(28,-81,977,844),20831=>array(41,-68,956,830),20832=>array(36,-66,962,845),20833=>array(27,-79,953,845),20834=>array(32,-71,958,830),20835=>array(34,-81,965,845),20836=>array(28,-79,958,844),20837=>array(85,-38,933,769),20838=>array(143,-12,903,787),20839=>array(127,-69,877,786),20840=>array(40,-23,935,803),20841=>array(60,-68,953,783),20842=>array(35,-66,965,822),20843=>array(44,-36,949,791),20844=>array(51,-54,956,804),20845=>array(62,-29,946,810),20846=>array(46,-60,954,816),20847=>array(118,-57,799,812),20848=>array(65,-27,915,796),20849=>array(75,-70,925,829),20850=>array(90,-57,931,809),20851=>array(38,-62,919,831),20852=>array(47,-51,915,809),20853=>array(53,-66,958,817),20854=>array(63,-65,936,832),20855=>array(63,-64,942,789),20856=>array(52,-71,943,833),20857=>array(63,-47,912,831),20858=>array(46,-54,951,829),20859=>array(33,-67,951,839),20860=>array(50,-62,959,841),20861=>array(65,-63,917,836),20862=>array(65,-61,935,837),20863=>array(79,-56,952,830),20864=>array(57,-74,929,834),20865=>array(50,-67,969,814),20866=>array(131,-66,869,766),20867=>array(136,-69,864,795),20868=>array(52,-66,942,800),20869=>array(131,-64,865,824),20870=>array(151,-51,849,781),20871=>array(70,-62,934,849),20872=>array(107,-61,856,789),20873=>array(53,-67,947,839),20874=>array(52,-66,948,788),20875=>array(131,-65,887,779),20876=>array(47,-79,958,786),20877=>array(67,-61,954,791),20878=>array(117,-55,879,800),20879=>array(122,-65,878,783),20880=>array(189,-50,851,788),20881=>array(189,-60,851,834),20882=>array(131,-65,869,810),20883=>array(60,-65,954,833),20884=>array(101,-60,941,809),20885=>array(43,-61,951,809),20886=>array(94,353,906,541),20887=>array(56,-67,945,762),20888=>array(44,-73,949,825),20889=>array(65,-58,939,786),20890=>array(108,-67,891,772),20891=>array(58,-59,909,780),20892=>array(42,-70,959,828),20893=>array(51,-59,953,799),20894=>array(50,-65,961,782),20895=>array(81,-38,940,806),20896=>array(51,-67,957,787),20897=>array(75,-50,951,763),20898=>array(60,-67,965,783),20899=>array(76,-53,945,790),20900=>array(54,-60,952,795),20901=>array(67,-70,933,793),20902=>array(43,-60,959,785),20903=>array(28,-66,986,783),20904=>array(99,-55,908,785),20905=>array(82,-66,910,802),20906=>array(60,-67,965,785),20907=>array(338,-28,574,766),20908=>array(67,-72,958,855),20909=>array(61,-72,957,840),20910=>array(40,-57,940,717),20911=>array(52,-48,888,781),20912=>array(48,-65,966,837),20913=>array(53,-22,951,769),20914=>array(44,-61,897,833),20915=>array(55,-66,972,836),20916=>array(65,-63,936,793),20917=>array(38,-72,933,758),20918=>array(63,-62,954,834),20919=>array(54,-71,966,849),20920=>array(49,-62,954,835),20921=>array(58,-71,956,839),20922=>array(58,-61,939,786),20923=>array(52,-60,948,832),20924=>array(55,-66,957,827),20925=>array(48,-67,893,830),20926=>array(48,-62,970,843),20927=>array(31,-62,959,841),20928=>array(58,-61,922,839),20929=>array(58,-65,948,835),20930=>array(64,-71,955,840),20931=>array(48,-68,975,843),20932=>array(44,-70,936,835),20933=>array(59,-49,895,788),20934=>array(57,-65,950,835),20935=>array(39,-60,943,830),20936=>array(55,-67,950,822),20937=>array(63,-63,961,830),20938=>array(49,-50,955,854),20939=>array(33,-74,878,781),20940=>array(41,-70,959,831),20941=>array(48,-58,965,839),20942=>array(57,-38,962,817),20943=>array(38,-80,939,834),20944=>array(60,-27,954,787),20945=>array(42,-67,959,834),20946=>array(42,-58,927,835),20947=>array(54,-62,978,791),20948=>array(46,-52,974,866),20949=>array(54,-70,946,788),20950=>array(54,-64,950,841),20951=>array(39,-69,951,825),20952=>array(39,-53,951,851),20953=>array(32,-59,956,797),20954=>array(59,-68,955,831),20955=>array(43,-64,930,832),20956=>array(55,-65,973,833),20957=>array(16,-70,972,819),20958=>array(46,-73,951,818),20959=>array(37,-70,962,837),20960=>array(34,-65,961,774),20961=>array(72,-71,935,767),20962=>array(72,-71,935,831),20963=>array(72,-71,935,801),20964=>array(34,-65,939,791),20965=>array(52,-74,949,778),20966=>array(18,-67,935,818),20967=>array(47,-65,953,791),20968=>array(34,-65,939,791),20969=>array(38,-61,961,791),20970=>array(34,-65,939,791),20971=>array(48,-58,958,842),20972=>array(34,-65,939,791),20973=>array(32,-60,966,837),20974=>array(34,-65,939,791),20975=>array(72,-65,972,826),20976=>array(63,-66,963,792),20977=>array(62,-67,954,836),20978=>array(63,-66,963,792),20979=>array(59,-74,954,839),20980=>array(39,-56,952,800),20981=>array(112,-72,888,808),20982=>array(130,-44,870,775),20983=>array(128,-64,872,798),20984=>array(143,-66,894,778),20985=>array(126,-38,874,775),20986=>array(144,-65,868,838),20987=>array(75,-67,925,826),20988=>array(111,-66,889,819),20989=>array(81,-61,919,799),20990=>array(102,-52,898,803),20991=>array(75,-64,925,828),20992=>array(85,-34,856,760),20993=>array(80,-50,868,782),20994=>array(364,-64,619,827),20995=>array(46,-54,877,761),20996=>array(53,-35,947,751),20997=>array(70,-69,917,751),20998=>array(65,-69,936,779),20999=>array(44,-73,897,797),21000=>array(77,-64,899,817),21001=>array(55,-77,905,826),21002=>array(71,-62,893,831),21003=>array(56,-63,893,831),21004=>array(72,-66,908,836),21005=>array(77,-43,851,828),21006=>array(71,-62,893,839),21007=>array(62,-63,913,840),21008=>array(53,-66,910,821),21009=>array(59,-70,899,829),21010=>array(45,-64,897,835),21011=>array(41,-69,907,826),21012=>array(95,-66,914,836),21013=>array(36,-66,947,806),21014=>array(60,-69,913,826),21015=>array(83,-76,901,832),21016=>array(29,-57,884,841),21017=>array(30,-66,883,823),21018=>array(90,-60,873,830),21019=>array(43,-61,893,837),21020=>array(57,-64,912,832),21021=>array(32,-73,900,822),21022=>array(56,-59,900,833),21023=>array(78,-70,893,831),21024=>array(27,-75,885,820),21025=>array(100,-67,901,828),21026=>array(49,-61,907,835),21027=>array(67,-65,878,831),21028=>array(58,-70,898,832),21029=>array(54,-68,899,825),21030=>array(72,-65,873,831),21031=>array(58,-64,906,831),21032=>array(55,-64,911,841),21033=>array(57,-67,920,826),21034=>array(63,-68,906,830),21035=>array(70,-70,883,821),21036=>array(44,-63,897,841),21037=>array(21,-60,875,827),21038=>array(77,-69,898,831),21039=>array(53,-64,900,823),21040=>array(65,-65,905,826),21041=>array(47,-69,973,825),21042=>array(64,-64,914,828),21043=>array(42,-65,905,831),21044=>array(44,-68,898,826),21045=>array(54,-61,894,833),21046=>array(77,-68,914,836),21047=>array(59,-68,898,830),21048=>array(69,-55,952,837),21049=>array(41,-63,892,837),21050=>array(71,-65,906,831),21051=>array(56,-63,902,829),21052=>array(62,-54,927,831),21053=>array(30,-57,881,837),21054=>array(42,-62,898,825),21055=>array(35,-68,882,823),21056=>array(79,-63,874,826),21057=>array(60,-62,919,831),21058=>array(28,-68,882,830),21059=>array(41,-64,897,845),21060=>array(67,-65,918,831),21061=>array(50,-69,895,829),21062=>array(138,-69,899,829),21063=>array(67,-70,897,830),21064=>array(119,-66,879,825),21065=>array(53,-63,900,834),21066=>array(80,-63,894,833),21067=>array(35,-63,965,836),21068=>array(63,-66,914,835),21069=>array(76,-60,924,850),21070=>array(79,-70,907,841),21071=>array(33,-69,971,839),21072=>array(88,-63,875,830),21073=>array(28,-65,883,838),21074=>array(77,-62,910,829),21075=>array(44,-59,924,814),21076=>array(60,-71,906,829),21077=>array(50,-57,912,845),21078=>array(63,-65,896,833),21079=>array(110,-69,891,830),21080=>array(88,-68,874,830),21081=>array(35,-62,958,830),21082=>array(46,-58,893,836),21083=>array(103,-67,898,829),21084=>array(52,-73,918,851),21085=>array(71,-62,893,848),21086=>array(82,-65,920,836),21087=>array(66,-73,913,823),21088=>array(55,-71,877,844),21089=>array(62,-67,943,835),21090=>array(73,-68,924,823),21091=>array(35,-65,907,844),21092=>array(52,-66,906,826),21093=>array(54,-48,879,836),21094=>array(32,-63,900,840),21095=>array(21,-62,880,833),21096=>array(39,-66,922,834),21097=>array(36,-67,910,834),21098=>array(70,-64,927,842),21099=>array(55,-75,917,835),21100=>array(71,-69,917,833),21101=>array(55,-70,921,821),21102=>array(111,-64,896,829),21103=>array(74,-70,914,829),21104=>array(46,-65,918,828),21105=>array(37,-70,971,837),21106=>array(59,-58,914,833),21107=>array(36,-56,894,804),21108=>array(68,-64,914,835),21109=>array(46,-72,901,842),21110=>array(46,-64,911,838),21111=>array(43,-67,905,848),21112=>array(54,-55,903,845),21113=>array(42,-65,920,824),21114=>array(33,-76,968,833),21115=>array(42,-70,904,831),21116=>array(32,-71,905,852),21117=>array(53,-62,924,829),21118=>array(112,-59,890,829),21119=>array(50,-62,900,846),21120=>array(37,-67,904,819),21121=>array(37,-68,894,835),21122=>array(52,-70,923,829),21123=>array(50,-63,921,830),21124=>array(40,-54,911,835),21125=>array(57,-63,910,823),21126=>array(26,-63,912,844),21127=>array(40,-67,910,835),21128=>array(53,-63,947,840),21129=>array(44,-64,911,837),21130=>array(45,-71,917,854),21131=>array(38,-71,906,823),21132=>array(44,-65,928,836),21133=>array(47,-69,897,848),21134=>array(47,-68,886,848),21135=>array(91,-64,883,842),21136=>array(44,-66,903,825),21137=>array(53,-73,915,827),21138=>array(41,-71,919,843),21139=>array(61,-64,919,861),21140=>array(39,-75,973,840),21141=>array(36,-68,908,825),21142=>array(34,-61,905,852),21143=>array(58,-73,913,830),21144=>array(43,-62,899,860),21145=>array(67,-70,921,841),21146=>array(46,-50,909,848),21147=>array(70,-56,863,824),21148=>array(45,-65,958,825),21149=>array(35,-70,895,820),21150=>array(64,-59,931,838),21151=>array(73,-76,892,823),21152=>array(58,-76,913,831),21153=>array(35,-69,958,829),21154=>array(30,-63,900,824),21155=>array(67,-63,942,838),21156=>array(40,-63,946,839),21157=>array(46,-65,895,846),21158=>array(36,-69,946,844),21159=>array(73,-71,896,824),21160=>array(55,-60,887,832),21161=>array(53,-67,926,833),21162=>array(67,-70,939,822),21163=>array(63,-75,918,823),21164=>array(42,-68,904,844),21165=>array(64,-63,915,830),21166=>array(60,-64,927,836),21167=>array(47,-67,946,834),21168=>array(99,-59,888,833),21169=>array(30,-58,901,831),21170=>array(25,-59,888,833),21171=>array(59,-61,915,830),21172=>array(59,-61,896,841),21173=>array(35,-73,957,827),21174=>array(14,-57,904,822),21175=>array(80,-72,909,842),21176=>array(62,-49,922,831),21177=>array(68,-65,927,832),21178=>array(90,-77,924,824),21179=>array(96,-73,917,828),21180=>array(57,-62,915,839),21181=>array(89,-57,869,792),21182=>array(53,-63,926,830),21183=>array(58,-57,951,833),21184=>array(40,-69,951,846),21185=>array(55,-70,916,829),21186=>array(76,-55,928,839),21187=>array(103,-75,904,831),21188=>array(62,-77,904,839),21189=>array(32,-68,904,836),21190=>array(113,-75,915,843),21191=>array(45,-70,875,809),21192=>array(95,-68,890,830),21193=>array(38,-60,965,835),21194=>array(35,-63,965,836),21195=>array(30,-65,890,830),21196=>array(49,-62,914,850),21197=>array(43,-72,909,826),21198=>array(105,-59,939,832),21199=>array(103,-77,914,840),21200=>array(48,-77,914,822),21201=>array(54,-65,916,836),21202=>array(72,-65,917,829),21203=>array(88,-70,916,828),21204=>array(65,-77,905,832),21205=>array(58,-68,914,832),21206=>array(77,-76,953,839),21207=>array(48,-67,918,811),21208=>array(54,-71,914,827),21209=>array(37,-71,971,844),21210=>array(56,-76,922,827),21211=>array(51,-76,952,838),21212=>array(48,-75,926,832),21213=>array(41,-76,957,839),21214=>array(52,-73,919,832),21215=>array(58,-61,967,837),21216=>array(43,-72,926,827),21217=>array(67,-68,921,832),21218=>array(49,-68,957,829),21219=>array(58,-66,916,837),21220=>array(44,-68,929,827),21221=>array(49,-55,949,819),21222=>array(37,-76,918,842),21223=>array(37,-61,920,841),21224=>array(53,-69,912,842),21225=>array(53,-58,899,850),21226=>array(31,-68,940,842),21227=>array(28,-69,910,822),21228=>array(27,-69,934,840),21229=>array(52,-73,918,849),21230=>array(26,-73,931,835),21231=>array(54,-78,921,844),21232=>array(35,-66,966,834),21233=>array(54,-67,924,830),21234=>array(54,-72,928,833),21235=>array(45,-76,918,839),21236=>array(46,-73,928,825),21237=>array(27,-76,929,825),21238=>array(44,-45,949,840),21239=>array(54,-61,919,844),21240=>array(38,-76,920,838),21241=>array(30,-69,875,826),21242=>array(82,-62,896,850),21243=>array(93,-59,894,838),21244=>array(61,-63,903,826),21245=>array(82,-62,900,839),21246=>array(56,-55,898,829),21247=>array(71,-44,895,852),21248=>array(84,-59,930,838),21249=>array(38,-59,928,838),21250=>array(55,-59,912,844),21251=>array(55,-59,912,844),21252=>array(55,-59,912,844),21253=>array(48,-33,955,838),21254=>array(64,-58,902,842),21255=>array(63,-59,912,839),21256=>array(55,-59,912,844),21257=>array(57,-66,886,837),21258=>array(57,-59,911,845),21259=>array(68,-60,938,841),21260=>array(68,-60,938,841),21261=>array(74,-63,922,843),21262=>array(58,-70,918,829),21263=>array(42,-65,964,834),21264=>array(59,-65,915,845),21265=>array(48,-63,914,840),21266=>array(48,-68,902,843),21267=>array(52,-68,909,843),21268=>array(48,-63,916,840),21269=>array(304,-45,928,803),21270=>array(48,-57,950,836),21271=>array(45,-50,948,792),21272=>array(99,-53,921,804),21273=>array(56,-78,970,811),21274=>array(133,-71,930,795),21275=>array(93,-26,894,768),21276=>array(99,-21,926,788),21277=>array(92,-70,923,831),21278=>array(93,-26,894,768),21279=>array(96,-23,920,794),21280=>array(128,-48,921,790),21281=>array(121,-70,921,791),21282=>array(115,-32,942,778),21283=>array(133,-71,930,795),21284=>array(113,-76,930,811),21285=>array(112,-32,912,791),21286=>array(112,-32,959,796),21287=>array(114,-32,916,796),21288=>array(112,-32,922,796),21289=>array(101,-28,918,785),21290=>array(114,-69,931,789),21291=>array(115,-32,942,778),21292=>array(87,-29,950,789),21293=>array(85,-26,941,792),21294=>array(112,-32,922,796),21295=>array(129,-71,930,795),21296=>array(136,-23,951,787),21297=>array(117,-72,953,814),21298=>array(117,-26,945,804),21299=>array(133,-71,946,795),21300=>array(118,-29,954,780),21301=>array(85,-26,932,804),21302=>array(136,-59,951,795),21303=>array(92,-31,938,784),21304=>array(76,-5,924,762),21305=>array(134,-71,933,742),21306=>array(133,-57,933,784),21307=>array(103,-56,927,791),21308=>array(77,-26,934,797),21309=>array(69,-30,942,787),21310=>array(71,-30,950,796),21311=>array(118,-68,939,800),21312=>array(133,-71,930,795),21313=>array(105,-70,902,838),21314=>array(64,-37,962,786),21315=>array(113,-68,906,830),21316=>array(67,-44,933,821),21317=>array(46,-68,948,819),21318=>array(55,-64,950,833),21319=>array(80,-71,930,827),21320=>array(90,-68,918,834),21321=>array(55,-69,941,829),21322=>array(76,-67,909,824),21323=>array(69,-63,931,827),21324=>array(63,-59,937,825),21325=>array(91,-26,909,787),21326=>array(28,-57,918,831),21327=>array(51,-62,948,834),21328=>array(94,-26,911,787),21329=>array(64,-67,936,846),21330=>array(82,-67,918,837),21331=>array(65,-68,935,826),21332=>array(63,-70,924,835),21333=>array(54,-58,926,841),21334=>array(49,-65,923,832),21335=>array(68,-72,942,830),21336=>array(64,-62,936,854),21337=>array(58,-49,939,830),21338=>array(53,-71,949,835),21339=>array(53,-46,942,813),21340=>array(403,-65,899,825),21341=>array(73,-26,924,790),21342=>array(74,-62,926,819),21343=>array(107,-63,947,828),21344=>array(184,-70,903,832),21345=>array(77,-68,927,828),21346=>array(39,-58,916,829),21347=>array(113,-65,903,833),21348=>array(136,-66,911,826),21349=>array(136,-66,911,826),21350=>array(37,-68,957,827),21351=>array(111,-62,954,818),21352=>array(96,-67,902,836),21353=>array(303,-69,717,781),21354=>array(291,-69,743,781),21355=>array(63,-5,913,747),21356=>array(104,-69,892,832),21357=>array(53,-69,890,746),21358=>array(59,-65,933,835),21359=>array(50,-62,903,839),21360=>array(148,-64,883,835),21361=>array(62,-67,928,836),21362=>array(52,-55,916,799),21363=>array(55,-67,896,786),21364=>array(49,-60,888,826),21365=>array(59,-71,883,815),21366=>array(29,-70,893,836),21367=>array(31,-45,959,834),21368=>array(73,-63,898,846),21369=>array(39,-54,907,861),21370=>array(26,-27,947,783),21371=>array(47,-68,910,837),21372=>array(51,-71,962,832),21373=>array(140,-73,894,827),21374=>array(88,-63,894,788),21375=>array(41,-70,920,834),21376=>array(54,-60,907,829),21377=>array(39,-63,951,835),21378=>array(38,-64,922,791),21379=>array(62,-67,900,836),21380=>array(50,-64,942,777),21381=>array(38,-67,904,774),21382=>array(39,-57,911,786),21383=>array(40,-57,941,789),21384=>array(38,-68,914,792),21385=>array(36,-56,911,781),21386=>array(51,-75,933,775),21387=>array(37,-63,913,771),21388=>array(37,-62,926,778),21389=>array(35,-72,922,775),21390=>array(44,-68,937,796),21391=>array(56,-68,936,777),21392=>array(34,-64,957,788),21393=>array(29,-64,942,788),21394=>array(52,-64,934,779),21395=>array(40,-57,926,798),21396=>array(35,-62,948,793),21397=>array(17,-73,896,786),21398=>array(27,-67,957,788),21399=>array(73,-65,957,780),21400=>array(45,-74,932,779),21401=>array(49,-70,956,795),21402=>array(50,-65,940,809),21403=>array(34,-64,950,788),21404=>array(46,-72,959,782),21405=>array(50,-68,943,780),21406=>array(57,-73,932,764),21407=>array(59,-65,932,787),21408=>array(39,-63,942,788),21409=>array(50,-101,916,782),21410=>array(18,-69,925,785),21411=>array(35,-73,938,765),21412=>array(39,-64,974,792),21413=>array(39,-67,962,793),21414=>array(42,-75,938,816),21415=>array(43,-81,951,786),21416=>array(20,-62,909,785),21417=>array(37,-63,961,802),21418=>array(24,-47,929,811),21419=>array(46,-60,948,795),21420=>array(48,-69,966,784),21421=>array(39,-71,963,785),21422=>array(23,-71,930,791),21423=>array(39,-65,958,791),21424=>array(46,-71,951,783),21425=>array(46,-71,948,783),21426=>array(51,-71,939,784),21427=>array(34,-79,894,835),21428=>array(47,-71,947,798),21429=>array(27,-45,882,821),21430=>array(117,11,903,746),21431=>array(56,-20,928,843),21432=>array(61,-25,941,767),21433=>array(57,-65,949,829),21434=>array(56,-59,933,843),21435=>array(79,-56,931,832),21436=>array(61,-64,932,816),21437=>array(67,-44,905,806),21438=>array(97,-60,971,791),21439=>array(61,-72,913,786),21440=>array(133,-48,955,823),21441=>array(38,-32,962,838),21442=>array(18,-74,970,848),21443=>array(30,-88,968,844),21444=>array(30,-15,968,852),21445=>array(30,-61,968,852),21446=>array(68,-66,977,836),21447=>array(38,-68,961,829),21448=>array(94,-34,920,754),21449=>array(63,-50,948,773),21450=>array(36,-64,945,767),21451=>array(63,-61,939,843),21452=>array(37,-67,955,770),21453=>array(51,-71,942,790),21454=>array(53,-50,962,816),21455=>array(58,-38,930,828),21456=>array(38,-62,940,827),21457=>array(38,-60,940,828),21458=>array(52,-57,944,801),21459=>array(58,-68,930,812),21460=>array(50,-64,963,833),21461=>array(48,-50,944,815),21462=>array(43,-70,960,780),21463=>array(64,-68,936,829),21464=>array(38,-59,934,833),21465=>array(16,-63,942,836),21466=>array(141,-75,963,781),21467=>array(52,-75,966,834),21468=>array(48,-57,961,839),21469=>array(54,-51,962,811),21470=>array(19,-61,953,785),21471=>array(31,-67,969,829),21472=>array(55,-29,954,806),21473=>array(34,-70,971,833),21474=>array(52,-71,945,829),21475=>array(184,5,818,695),21476=>array(83,-71,911,823),21477=>array(65,-51,902,840),21478=>array(78,-70,859,780),21479=>array(78,-70,859,780),21480=>array(124,-76,895,755),21481=>array(120,-65,894,766),21482=>array(58,-40,928,772),21483=>array(113,-64,929,831),21484=>array(76,-70,861,789),21485=>array(95,-65,952,781),21486=>array(98,-66,929,766),21487=>array(98,-64,926,769),21488=>array(124,-51,904,840),21489=>array(116,-25,946,810),21490=>array(63,-65,953,835),21491=>array(69,-62,917,837),21492=>array(43,-47,949,829),21493=>array(121,-13,896,782),21494=>array(90,-53,934,843),21495=>array(65,-59,935,804),21496=>array(111,-63,886,790),21497=>array(98,-70,937,763),21498=>array(107,-42,973,770),21499=>array(132,-65,899,831),21500=>array(116,-54,896,762),21501=>array(99,-66,930,768),21502=>array(135,-57,851,798),21503=>array(93,-37,950,788),21504=>array(98,-40,930,817),21505=>array(98,-67,930,776),21506=>array(102,-65,914,847),21507=>array(98,-26,932,835),21508=>array(57,-65,951,836),21509=>array(106,-56,894,783),21510=>array(96,-63,933,830),21511=>array(98,-67,945,780),21512=>array(40,-73,956,859),21513=>array(64,-72,900,823),21514=>array(157,-70,867,775),21515=>array(104,-61,933,832),21516=>array(118,-75,882,787),21517=>array(56,-67,829,836),21518=>array(44,-64,926,844),21519=>array(71,-76,947,824),21520=>array(99,-19,939,825),21521=>array(133,-75,867,831),21522=>array(72,-32,957,837),21523=>array(104,-65,932,775),21524=>array(104,-23,948,836),21525=>array(162,-70,821,770),21526=>array(104,-64,939,835),21527=>array(99,-58,900,789),21528=>array(97,-68,941,840),21529=>array(103,-72,946,833),21530=>array(103,-75,925,774),21531=>array(46,-70,947,783),21532=>array(95,-39,941,769),21533=>array(52,-66,958,822),21534=>array(53,-72,959,773),21535=>array(90,-71,945,854),21536=>array(92,-69,942,827),21537=>array(83,-49,946,816),21538=>array(58,-50,927,799),21539=>array(102,-6,928,805),21540=>array(108,-69,951,836),21541=>array(112,-71,934,780),21542=>array(48,-70,947,775),21543=>array(95,-29,935,779),21544=>array(86,-41,933,824),21545=>array(95,-62,955,806),21546=>array(91,-50,945,851),21547=>array(37,-65,966,858),21548=>array(104,-58,936,863),21549=>array(100,-68,970,824),21550=>array(99,-73,955,838),21551=>array(47,-58,848,857),21552=>array(97,-67,947,838),21553=>array(95,-70,944,835),21554=>array(96,-76,866,819),21555=>array(72,-67,940,787),21556=>array(43,-72,937,783),21557=>array(99,-74,958,827),21558=>array(106,-68,897,793),21559=>array(94,-74,952,831),21560=>array(98,-68,955,788),21561=>array(109,-70,949,836),21562=>array(116,-71,967,782),21563=>array(102,-72,903,834),21564=>array(89,-68,937,825),21565=>array(99,-51,945,844),21566=>array(70,-72,942,782),21567=>array(67,-67,917,832),21568=>array(98,-65,940,787),21569=>array(106,-62,903,827),21570=>array(180,-77,840,772),21571=>array(87,-69,942,789),21572=>array(74,-61,942,783),21573=>array(96,-74,966,833),21574=>array(51,-68,964,774),21575=>array(69,-66,934,819),21576=>array(77,-17,910,773),21577=>array(53,-71,944,787),21578=>array(67,-67,917,832),21579=>array(96,-69,943,829),21580=>array(116,-55,943,842),21581=>array(111,-51,956,743),21582=>array(116,-66,978,790),21583=>array(97,-66,939,835),21584=>array(101,-60,880,825),21585=>array(53,-72,959,830),21586=>array(100,-68,925,765),21587=>array(100,-26,932,824),21588=>array(79,-68,934,832),21589=>array(94,-7,928,767),21590=>array(91,-70,910,765),21591=>array(99,-74,926,764),21592=>array(84,-81,880,780),21593=>array(157,-68,837,760),21594=>array(111,-68,957,838),21595=>array(111,-31,968,831),21596=>array(101,-62,905,831),21597=>array(93,-64,951,841),21598=>array(97,-63,871,790),21599=>array(110,-65,961,819),21600=>array(97,-70,955,826),21601=>array(95,-70,949,786),21602=>array(100,-71,929,784),21603=>array(93,-63,942,777),21604=>array(89,-83,949,856),21605=>array(98,-60,943,841),21606=>array(98,-74,911,828),21607=>array(94,-63,945,831),21608=>array(39,-67,882,780),21609=>array(109,-54,953,751),21610=>array(109,-60,950,760),21611=>array(109,-60,942,845),21612=>array(108,-65,905,767),21613=>array(98,-14,928,831),21614=>array(108,-66,960,771),21615=>array(99,-67,942,787),21616=>array(84,-68,937,836),21617=>array(90,-68,970,830),21618=>array(102,-60,957,820),21619=>array(90,-65,942,830),21620=>array(108,-68,909,833),21621=>array(98,-65,930,785),21622=>array(79,-71,949,828),21623=>array(115,-62,893,786),21624=>array(94,-20,932,769),21625=>array(95,-49,969,830),21626=>array(106,-60,952,794),21627=>array(105,-67,900,835),21628=>array(98,-67,931,825),21629=>array(33,-73,971,862),21630=>array(104,-28,950,783),21631=>array(95,-61,953,841),21632=>array(94,-31,933,787),21633=>array(122,-66,951,828),21634=>array(89,-21,940,783),21635=>array(83,-34,962,834),21636=>array(115,-70,900,826),21637=>array(81,-68,898,833),21638=>array(107,-36,960,833),21639=>array(104,-28,950,802),21640=>array(89,-59,914,836),21641=>array(89,-74,968,824),21642=>array(89,-34,964,818),21643=>array(108,-70,943,840),21644=>array(53,-70,894,821),21645=>array(111,-65,954,840),21646=>array(39,-68,961,833),21647=>array(79,-63,943,848),21648=>array(90,-70,941,833),21649=>array(89,-51,935,842),21650=>array(54,-75,937,777),21651=>array(97,-34,941,773),21652=>array(97,-70,936,829),21653=>array(91,-67,923,828),21654=>array(104,-64,898,832),21655=>array(94,-3,951,830),21656=>array(97,-67,941,832),21657=>array(100,-59,932,830),21658=>array(86,-80,951,847),21659=>array(102,-68,893,836),21660=>array(102,-42,928,817),21661=>array(90,-7,914,809),21662=>array(98,-67,937,775),21663=>array(102,-64,891,730),21664=>array(51,-65,947,784),21665=>array(103,-50,956,800),21666=>array(61,-53,939,806),21667=>array(99,-68,933,811),21668=>array(80,-42,921,819),21669=>array(106,-30,956,782),21670=>array(90,-71,954,835),21671=>array(106,-67,892,829),21672=>array(64,-74,954,840),21673=>array(96,-64,931,840),21674=>array(82,-65,967,824),21675=>array(35,-71,974,779),21676=>array(98,-72,961,830),21677=>array(91,-65,926,828),21678=>array(107,-70,963,824),21679=>array(90,-65,948,848),21680=>array(117,-71,901,818),21681=>array(119,-70,883,841),21682=>array(119,-73,970,836),21683=>array(88,-60,949,824),21684=>array(100,-67,943,824),21685=>array(84,-63,963,854),21686=>array(110,-68,947,827),21687=>array(88,-62,944,842),21688=>array(58,-66,959,838),21689=>array(91,-51,908,828),21690=>array(91,-23,936,778),21691=>array(88,-63,943,835),21692=>array(119,-55,881,799),21693=>array(103,-64,898,785),21694=>array(105,-30,957,830),21695=>array(99,-69,949,835),21696=>array(47,-68,951,832),21697=>array(116,-66,884,792),21698=>array(91,-64,936,779),21699=>array(108,-69,904,783),21700=>array(90,-72,935,831),21701=>array(102,-61,908,831),21702=>array(106,-80,919,845),21703=>array(108,-25,949,831),21704=>array(84,-66,945,851),21705=>array(74,-60,944,828),21706=>array(104,-75,942,831),21707=>array(95,-27,935,846),21708=>array(85,-71,971,832),21709=>array(97,-55,900,875),21710=>array(103,-66,949,835),21711=>array(108,-73,973,781),21712=>array(99,-26,925,764),21713=>array(102,-18,924,766),21714=>array(87,-46,945,803),21715=>array(103,-63,936,821),21716=>array(98,-64,931,814),21717=>array(99,-61,872,821),21718=>array(93,-52,940,855),21719=>array(86,-60,922,833),21720=>array(103,-71,958,830),21721=>array(100,-47,949,829),21722=>array(81,-77,943,778),21723=>array(51,-69,962,803),21724=>array(101,-70,945,842),21725=>array(88,-62,950,828),21726=>array(108,-70,945,838),21727=>array(75,-59,886,837),21728=>array(110,-65,926,831),21729=>array(62,-62,943,785),21730=>array(89,-52,935,801),21731=>array(120,-14,943,779),21732=>array(87,-55,956,825),21733=>array(70,-60,931,784),21734=>array(84,-67,942,824),21735=>array(81,-66,946,827),21736=>array(109,-69,912,832),21737=>array(100,-15,933,779),21738=>array(107,-74,942,785),21739=>array(113,-73,962,762),21740=>array(78,-55,930,833),21741=>array(64,-71,949,773),21742=>array(92,-68,927,833),21743=>array(118,-65,951,783),21744=>array(80,-44,885,840),21745=>array(98,-65,923,829),21746=>array(63,-62,926,825),21747=>array(99,-81,947,824),21748=>array(108,-73,973,856),21749=>array(82,-69,913,829),21750=>array(88,-64,951,825),21751=>array(103,-70,938,814),21752=>array(94,-74,917,818),21753=>array(92,-68,936,834),21754=>array(87,-70,931,832),21755=>array(102,-66,937,778),21756=>array(95,-68,932,846),21757=>array(91,-74,952,786),21758=>array(95,-64,968,844),21759=>array(65,-62,959,839),21760=>array(110,-62,954,830),21761=>array(97,-62,931,845),21762=>array(116,-52,960,835),21763=>array(116,-66,900,828),21764=>array(101,-66,947,782),21765=>array(87,-45,951,867),21766=>array(101,-69,961,849),21767=>array(53,-76,939,786),21768=>array(88,-30,943,788),21769=>array(94,-68,945,848),21770=>array(106,-66,954,835),21771=>array(112,-62,950,830),21772=>array(98,-74,964,813),21773=>array(113,-74,946,841),21774=>array(98,-52,904,844),21775=>array(84,-62,938,843),21776=>array(44,-71,938,835),21777=>array(92,-36,934,820),21778=>array(88,-65,940,781),21779=>array(116,-71,924,829),21780=>array(99,-70,934,785),21781=>array(100,-48,923,863),21782=>array(82,-23,951,793),21783=>array(103,-65,957,827),21784=>array(34,-60,979,822),21785=>array(112,-57,987,812),21786=>array(97,-62,957,777),21787=>array(101,-66,948,830),21788=>array(59,-37,952,802),21789=>array(104,-62,938,804),21790=>array(92,-65,936,832),21791=>array(95,-37,929,851),21792=>array(91,-72,914,824),21793=>array(109,-61,963,792),21794=>array(104,-62,938,834),21795=>array(86,-29,935,842),21796=>array(74,-73,948,832),21797=>array(97,-46,940,821),21798=>array(97,-67,951,825),21799=>array(110,-70,900,780),21800=>array(80,-44,959,779),21801=>array(99,-73,946,833),21802=>array(74,-65,957,843),21803=>array(74,-27,959,804),21804=>array(87,-70,957,829),21805=>array(104,-71,941,837),21806=>array(42,-67,944,843),21807=>array(97,-65,945,836),21808=>array(100,-64,909,830),21809=>array(115,-68,900,787),21810=>array(107,-79,948,827),21811=>array(82,-69,962,802),21812=>array(106,-71,942,830),21813=>array(112,-44,995,856),21814=>array(113,-66,964,837),21815=>array(94,-75,933,845),21816=>array(78,-35,950,847),21817=>array(81,-56,972,832),21818=>array(110,-74,961,833),21819=>array(104,-65,951,841),21820=>array(113,-68,947,843),21821=>array(92,-67,953,832),21822=>array(84,-30,940,831),21823=>array(92,-28,953,842),21824=>array(105,-73,941,785),21825=>array(103,-66,902,791),21826=>array(93,-76,971,827),21827=>array(97,-70,930,833),21828=>array(84,-63,971,774),21829=>array(95,-67,933,833),21830=>array(55,-56,945,825),21831=>array(39,-73,928,844),21832=>array(111,-65,947,837),21833=>array(76,-76,945,819),21834=>array(93,-66,932,782),21835=>array(109,-66,987,837),21836=>array(86,-31,955,819),21837=>array(84,-57,942,864),21838=>array(46,-67,962,835),21839=>array(119,-71,889,784),21840=>array(89,-62,931,843),21841=>array(84,-77,962,829),21842=>array(113,-68,903,788),21843=>array(54,-60,964,838),21844=>array(91,-60,945,844),21845=>array(111,-62,908,842),21846=>array(83,-62,952,836),21847=>array(123,-65,900,846),21848=>array(104,-72,965,846),21849=>array(85,-55,952,824),21850=>array(77,-66,927,795),21851=>array(83,-73,933,822),21852=>array(83,-68,955,786),21853=>array(76,-67,955,821),21854=>array(91,-25,940,785),21855=>array(35,-68,969,836),21856=>array(88,-60,913,812),21857=>array(95,-66,932,826),21858=>array(109,-61,963,792),21859=>array(83,-68,926,832),21860=>array(91,-69,935,846),21861=>array(97,-70,950,850),21862=>array(91,-64,930,836),21863=>array(90,-72,914,828),21864=>array(90,-66,927,828),21865=>array(121,-63,959,831),21866=>array(110,-64,909,838),21867=>array(115,-65,960,835),21868=>array(63,-66,913,825),21869=>array(94,-66,914,833),21870=>array(79,-63,912,829),21871=>array(82,-68,906,794),21872=>array(86,-71,948,814),21873=>array(86,-48,935,822),21874=>array(104,-50,908,842),21875=>array(86,-30,973,843),21876=>array(115,-58,945,833),21877=>array(105,-64,983,833),21878=>array(86,-72,942,844),21879=>array(94,-64,942,840),21880=>array(91,-65,923,826),21881=>array(91,-80,933,781),21882=>array(91,-72,944,785),21883=>array(92,-67,908,833),21884=>array(90,-67,930,823),21885=>array(114,-59,989,859),21886=>array(76,-66,957,832),21887=>array(110,-30,955,827),21888=>array(95,-69,965,819),21889=>array(93,-58,910,793),21890=>array(108,-69,960,785),21891=>array(92,-67,939,835),21892=>array(56,-70,907,835),21893=>array(92,-18,924,788),21894=>array(82,-50,918,825),21895=>array(112,-67,904,831),21896=>array(86,-65,942,827),21897=>array(88,-74,950,840),21898=>array(92,-72,930,837),21899=>array(83,-65,952,832),21900=>array(52,-71,909,787),21901=>array(104,-69,967,824),21902=>array(112,-67,906,788),21903=>array(84,-59,931,833),21904=>array(79,-81,936,830),21905=>array(97,-65,933,841),21906=>array(92,-48,956,849),21907=>array(110,-72,957,777),21908=>array(91,-70,933,781),21909=>array(110,-66,953,783),21910=>array(97,-66,939,829),21911=>array(85,-68,951,801),21912=>array(81,-67,930,834),21913=>array(85,-60,968,833),21914=>array(79,-65,971,838),21915=>array(91,-67,979,836),21916=>array(86,-63,938,837),21917=>array(105,-55,913,801),21918=>array(77,-73,921,840),21919=>array(116,-61,901,787),21920=>array(97,-32,936,825),21921=>array(107,-71,949,828),21922=>array(107,-71,951,827),21923=>array(52,-74,965,824),21924=>array(90,-18,935,861),21925=>array(110,-71,968,837),21926=>array(132,-68,888,789),21927=>array(79,-26,945,829),21928=>array(86,-73,959,838),21929=>array(76,-71,966,812),21930=>array(75,-73,957,829),21931=>array(96,-55,961,835),21932=>array(50,-71,951,830),21933=>array(88,-53,939,860),21934=>array(53,-68,945,789),21935=>array(89,-59,953,851),21936=>array(90,-72,965,837),21937=>array(90,-70,941,788),21938=>array(107,-65,905,836),21939=>array(82,-28,916,834),21940=>array(72,-71,972,832),21941=>array(75,-62,924,832),21942=>array(94,-63,906,834),21943=>array(110,-67,925,831),21944=>array(65,-77,959,841),21945=>array(90,-26,953,851),21946=>array(112,-62,982,834),21947=>array(80,-70,948,858),21948=>array(110,-32,970,846),21949=>array(90,-66,936,807),21950=>array(82,-66,893,826),21951=>array(50,-69,961,780),21952=>array(49,-72,955,829),21953=>array(88,-64,946,839),21954=>array(108,-72,960,845),21955=>array(94,-68,938,838),21956=>array(82,-62,954,790),21957=>array(88,-73,945,845),21958=>array(84,-65,947,847),21959=>array(56,-75,946,832),21960=>array(107,-29,963,826),21961=>array(87,-64,944,831),21962=>array(110,-68,962,791),21963=>array(106,-70,933,838),21964=>array(98,-22,946,841),21965=>array(108,-70,907,835),21966=>array(104,-68,909,783),21967=>array(112,-68,977,827),21968=>array(118,-70,954,847),21969=>array(88,-21,941,830),21970=>array(76,-64,944,830),21971=>array(81,-73,961,793),21972=>array(90,-85,963,851),21973=>array(95,-68,963,784),21974=>array(92,-70,962,828),21975=>array(105,-70,937,783),21976=>array(84,-59,963,851),21977=>array(111,-64,956,841),21978=>array(118,-56,916,846),21979=>array(95,-56,970,863),21980=>array(95,-69,943,834),21981=>array(92,-64,930,788),21982=>array(119,-66,961,837),21983=>array(89,-27,938,840),21984=>array(48,-81,960,829),21985=>array(83,-71,955,791),21986=>array(100,-36,950,780),21987=>array(112,-68,910,786),21988=>array(92,-70,938,827),21989=>array(84,-68,957,844),21990=>array(80,-68,942,829),21991=>array(34,-75,973,842),21992=>array(83,-68,939,836),21993=>array(91,-67,946,836),21994=>array(90,-70,954,835),21995=>array(89,-66,943,776),21996=>array(93,-70,942,830),21997=>array(91,-37,929,849),21998=>array(63,-57,939,788),21999=>array(87,-39,950,782),22000=>array(68,-75,913,845),22001=>array(90,-68,974,862),22002=>array(71,-57,940,845),22003=>array(90,-67,949,822),22004=>array(72,-54,969,835),22005=>array(88,-54,942,772),22006=>array(83,-68,935,787),22007=>array(86,-64,964,832),22008=>array(58,-57,951,854),22009=>array(83,-56,963,827),22010=>array(117,-68,956,831),22011=>array(98,-69,961,841),22012=>array(118,-72,972,829),22013=>array(82,-76,950,834),22014=>array(79,-68,961,837),22015=>array(115,-78,962,841),22016=>array(87,-73,927,846),22017=>array(76,-68,943,835),22018=>array(121,-68,894,823),22019=>array(83,-70,949,841),22020=>array(83,-70,958,845),22021=>array(82,-64,964,788),22022=>array(83,-72,964,832),22023=>array(101,-80,965,846),22024=>array(91,-72,935,830),22025=>array(50,-65,957,833),22026=>array(85,-68,938,834),22027=>array(73,-78,972,839),22028=>array(91,-70,940,789),22029=>array(90,-74,933,832),22030=>array(86,-67,946,784),22031=>array(60,-66,960,812),22032=>array(91,-50,966,801),22033=>array(106,-70,913,836),22034=>array(99,-25,956,835),22035=>array(102,-63,906,799),22036=>array(90,-73,949,805),22037=>array(116,-64,951,785),22038=>array(84,-74,947,832),22039=>array(109,-67,905,836),22040=>array(91,-68,924,823),22041=>array(81,-73,926,836),22042=>array(101,-70,946,824),22043=>array(74,-75,975,833),22044=>array(106,-61,981,840),22045=>array(96,-70,941,832),22046=>array(103,-70,911,832),22047=>array(91,-68,933,822),22048=>array(81,-54,956,804),22049=>array(89,-23,939,836),22050=>array(106,-59,962,800),22051=>array(86,-65,883,814),22052=>array(91,-64,927,789),22053=>array(84,-65,973,831),22054=>array(27,-86,973,836),22055=>array(90,-64,945,848),22056=>array(91,-65,923,826),22057=>array(81,-68,945,831),22058=>array(106,-83,953,780),22059=>array(84,-71,949,831),22060=>array(77,-72,959,809),22061=>array(91,-59,924,827),22062=>array(95,-69,923,833),22063=>array(79,-77,949,843),22064=>array(86,-65,947,833),22065=>array(89,-72,891,780),22066=>array(79,-75,906,830),22067=>array(113,-80,964,832),22068=>array(91,-65,950,828),22069=>array(76,-67,944,835),22070=>array(93,-65,930,837),22071=>array(100,-48,948,863),22072=>array(80,-63,948,847),22073=>array(86,-67,952,845),22074=>array(115,-66,990,830),22075=>array(90,-69,933,833),22076=>array(77,-67,926,796),22077=>array(107,-68,956,785),22078=>array(111,-71,958,780),22079=>array(82,-68,937,783),22080=>array(113,-80,964,781),22081=>array(85,-48,959,768),22082=>array(92,-64,950,856),22083=>array(110,-63,971,841),22084=>array(77,-68,945,831),22085=>array(109,-70,922,834),22086=>array(113,-69,978,783),22087=>array(103,-36,934,841),22088=>array(98,-68,967,836),22089=>array(106,-68,983,837),22090=>array(108,-67,940,784),22091=>array(88,-73,973,837),22092=>array(92,-73,905,835),22093=>array(85,-71,944,843),22094=>array(87,-23,937,839),22095=>array(106,-63,991,858),22096=>array(64,-70,933,795),22097=>array(90,-62,948,840),22098=>array(86,-74,954,832),22099=>array(93,-76,936,832),22100=>array(79,-11,956,855),22101=>array(61,-77,904,856),22102=>array(82,-68,947,790),22103=>array(82,-61,951,830),22104=>array(80,-62,967,796),22105=>array(95,-70,966,851),22106=>array(109,-72,957,779),22107=>array(86,-68,940,829),22108=>array(80,-61,947,828),22109=>array(80,-64,945,834),22110=>array(79,-72,950,855),22111=>array(39,-72,934,844),22112=>array(78,-67,946,835),22113=>array(90,-59,956,849),22114=>array(80,-68,947,853),22115=>array(122,-75,936,779),22116=>array(81,-62,971,832),22117=>array(80,-72,955,835),22118=>array(104,-64,970,838),22119=>array(80,-68,932,830),22120=>array(49,-62,956,798),22121=>array(51,-23,944,789),22122=>array(80,-70,954,792),22123=>array(88,-32,949,825),22124=>array(92,-27,941,838),22125=>array(83,-57,964,864),22126=>array(104,-81,973,782),22127=>array(84,-75,954,830),22128=>array(99,-70,954,848),22129=>array(80,-68,954,833),22130=>array(74,-66,959,853),22131=>array(99,-73,975,833),22132=>array(85,-76,956,838),22133=>array(70,-72,942,847),22134=>array(84,-68,934,834),22135=>array(101,-76,980,838),22136=>array(76,-70,961,827),22137=>array(106,-53,918,841),22138=>array(83,-61,962,832),22139=>array(77,-38,964,839),22140=>array(95,-68,948,842),22141=>array(74,-63,953,835),22142=>array(106,-70,944,833),22143=>array(102,-71,941,780),22144=>array(89,-69,944,838),22145=>array(115,-68,951,785),22146=>array(92,-39,927,821),22147=>array(95,-76,957,828),22148=>array(79,-53,951,842),22149=>array(84,-65,936,789),22150=>array(83,-62,937,835),22151=>array(81,-68,956,834),22152=>array(65,-71,975,797),22153=>array(81,-61,952,835),22154=>array(91,-67,962,856),22155=>array(91,-65,968,833),22156=>array(100,-77,949,832),22157=>array(98,-33,938,821),22158=>array(91,-67,959,848),22159=>array(75,-64,947,837),22160=>array(92,-52,916,850),22161=>array(92,-62,966,828),22162=>array(81,-78,946,835),22163=>array(92,-70,962,839),22164=>array(75,-80,951,836),22165=>array(84,-69,943,846),22166=>array(82,-36,955,832),22167=>array(104,-66,984,787),22168=>array(91,-72,946,784),22169=>array(92,-70,934,830),22170=>array(111,-52,914,803),22171=>array(81,-69,972,847),22172=>array(84,-20,957,794),22173=>array(91,-80,925,841),22174=>array(41,-68,958,841),22175=>array(118,-48,989,844),22176=>array(72,-62,922,834),22177=>array(69,-67,954,833),22178=>array(57,-70,961,833),22179=>array(36,-64,942,786),22180=>array(75,-78,934,835),22181=>array(82,-60,949,830),22182=>array(78,-65,939,790),22183=>array(90,-71,947,828),22184=>array(79,-70,944,837),22185=>array(86,-68,933,835),22186=>array(98,-70,906,780),22187=>array(89,-69,966,842),22188=>array(92,-64,958,842),22189=>array(74,-63,967,835),22190=>array(43,-68,949,845),22191=>array(88,-66,914,784),22192=>array(103,-68,955,838),22193=>array(77,-68,963,835),22194=>array(55,-65,960,845),22195=>array(58,-64,955,841),22196=>array(46,-62,964,817),22197=>array(85,-59,948,846),22198=>array(82,-65,935,788),22199=>array(89,-69,968,842),22200=>array(74,-74,917,829),22201=>array(63,-72,959,834),22202=>array(67,-63,956,805),22203=>array(106,-60,919,794),22204=>array(76,-76,960,844),22205=>array(76,-75,948,833),22206=>array(92,-64,940,828),22207=>array(71,-67,939,834),22208=>array(84,-64,947,832),22209=>array(80,-66,950,807),22210=>array(55,-77,961,779),22211=>array(87,-65,954,831),22212=>array(83,-71,938,843),22213=>array(57,-66,969,792),22214=>array(87,-81,946,834),22215=>array(111,-68,957,790),22216=>array(82,-75,950,831),22217=>array(98,-65,962,796),22218=>array(72,-75,951,834),22219=>array(92,-74,947,824),22220=>array(88,-52,965,842),22221=>array(55,-51,949,839),22222=>array(64,-62,972,832),22223=>array(50,-68,944,839),22224=>array(75,-78,957,830),22225=>array(88,-74,929,817),22226=>array(74,-57,948,839),22227=>array(87,-52,945,845),22228=>array(78,-70,959,831),22229=>array(83,-77,953,832),22230=>array(74,-51,958,858),22231=>array(133,-54,879,781),22232=>array(129,-52,871,778),22233=>array(123,-30,865,754),22234=>array(132,-73,868,776),22235=>array(121,-35,879,744),22236=>array(123,-30,865,754),22237=>array(107,-65,886,789),22238=>array(129,-30,871,754),22239=>array(74,-68,863,839),22240=>array(130,-64,870,793),22241=>array(121,-64,895,788),22242=>array(109,-64,865,785),22243=>array(122,-64,878,785),22244=>array(110,-72,891,784),22245=>array(121,-67,894,784),22246=>array(113,-67,887,788),22247=>array(120,-67,892,785),22248=>array(121,-65,894,786),22249=>array(121,-67,894,784),22250=>array(138,-67,879,849),22251=>array(101,-68,901,788),22252=>array(111,-53,877,754),22253=>array(95,-63,900,791),22254=>array(99,-51,894,799),22255=>array(128,-59,884,789),22256=>array(114,-65,886,784),22257=>array(138,-67,879,849),22258=>array(122,-59,878,789),22259=>array(121,-70,879,781),22260=>array(109,-70,866,782),22261=>array(106,-63,863,776),22262=>array(122,-59,878,789),22263=>array(122,-68,905,791),22264=>array(115,-64,907,788),22265=>array(105,-64,897,788),22266=>array(115,-70,885,785),22267=>array(115,-70,885,785),22268=>array(115,-70,885,785),22269=>array(122,-59,878,789),22270=>array(110,-66,866,784),22271=>array(96,-68,892,789),22272=>array(106,-65,894,784),22273=>array(116,-69,903,774),22274=>array(112,-67,897,782),22275=>array(106,-70,905,789),22276=>array(101,-66,896,788),22277=>array(116,-69,873,794),22278=>array(112,-68,865,774),22279=>array(102,-67,896,788),22280=>array(105,-69,895,791),22281=>array(113,-65,900,790),22282=>array(107,-65,906,796),22283=>array(109,-67,890,780),22284=>array(96,-53,900,797),22285=>array(102,-61,905,784),22286=>array(116,-69,903,774),22287=>array(107,-69,896,785),22288=>array(111,-69,908,779),22289=>array(111,-69,898,774),22290=>array(102,-70,898,790),22291=>array(113,-71,899,787),22292=>array(103,-71,900,781),22293=>array(116,-69,903,774),22294=>array(119,-68,906,794),22295=>array(119,-68,906,794),22296=>array(112,-64,903,788),22297=>array(116,-69,903,774),22298=>array(93,-54,893,809),22299=>array(95,-53,893,806),22300=>array(98,-67,902,796),22301=>array(106,-69,894,774),22302=>array(99,-65,901,790),22303=>array(78,-13,922,810),22304=>array(59,-58,957,806),22305=>array(100,-15,895,796),22306=>array(54,-59,939,796),22307=>array(61,-29,960,776),22308=>array(53,-59,961,814),22309=>array(89,-67,934,778),22310=>array(68,-55,944,741),22311=>array(37,-63,913,770),22312=>array(49,-65,921,836),22313=>array(42,-64,949,793),22314=>array(55,-62,953,800),22315=>array(49,-55,930,790),22316=>array(49,-78,951,791),22317=>array(73,-39,927,809),22318=>array(43,-58,945,786),22319=>array(39,-53,954,776),22320=>array(56,-52,935,808),22321=>array(58,-58,952,817),22322=>array(50,-45,943,796),22323=>array(56,-71,907,785),22324=>array(68,-61,917,788),22325=>array(44,-59,948,781),22326=>array(60,-61,953,805),22327=>array(44,-65,932,788),22328=>array(59,-56,897,789),22329=>array(39,-63,912,832),22330=>array(29,-63,897,808),22331=>array(62,-64,948,810),22332=>array(84,-41,938,785),22333=>array(62,-72,903,794),22334=>array(40,-71,956,796),22335=>array(50,-63,967,802),22336=>array(44,-32,949,786),22337=>array(43,-69,952,800),22338=>array(43,-70,966,785),22339=>array(51,-68,958,774),22340=>array(44,-66,967,793),22341=>array(48,-60,972,811),22342=>array(38,-63,970,799),22343=>array(50,-63,906,831),22344=>array(44,-72,946,793),22345=>array(44,-59,944,806),22346=>array(41,-77,953,827),22347=>array(58,-78,967,798),22348=>array(53,-24,947,804),22349=>array(43,-71,948,799),22350=>array(48,-66,962,810),22351=>array(40,-55,968,790),22352=>array(73,-29,927,806),22353=>array(47,-67,951,813),22354=>array(57,-43,952,809),22355=>array(57,-29,952,813),22356=>array(57,-49,974,792),22357=>array(57,-59,952,805),22358=>array(28,-54,961,768),22359=>array(33,-70,947,834),22360=>array(43,-58,951,765),22361=>array(57,-54,952,758),22362=>array(52,-19,932,831),22363=>array(43,-38,939,816),22364=>array(41,-69,912,804),22365=>array(33,-58,943,798),22366=>array(35,-67,902,832),22367=>array(41,-60,955,852),22368=>array(62,-14,926,821),22369=>array(48,-71,963,812),22370=>array(46,-67,945,801),22371=>array(84,-14,933,777),22372=>array(65,-48,908,805),22373=>array(65,-32,933,771),22374=>array(48,-21,952,786),22375=>array(65,-49,936,791),22376=>array(60,-60,952,806),22377=>array(39,-68,945,796),22378=>array(50,-67,947,794),22379=>array(38,-52,904,794),22380=>array(56,-67,980,834),22381=>array(46,-83,953,777),22382=>array(53,-58,964,823),22383=>array(42,-14,948,785),22384=>array(59,-67,914,782),22385=>array(43,-70,957,797),22386=>array(60,-71,925,810),22387=>array(61,-71,920,835),22388=>array(60,-56,944,800),22389=>array(45,-18,953,824),22390=>array(40,-65,943,817),22391=>array(48,-61,947,807),22392=>array(56,-54,909,849),22393=>array(45,-60,958,843),22394=>array(45,-69,955,836),22395=>array(56,-63,954,828),22396=>array(51,-67,941,832),22397=>array(67,-66,968,847),22398=>array(75,-61,918,836),22399=>array(71,-79,945,842),22400=>array(56,-63,940,828),22401=>array(56,-60,967,828),22402=>array(73,-32,927,826),22403=>array(49,-11,952,838),22404=>array(47,-31,941,829),22405=>array(37,-67,929,824),22406=>array(35,-66,911,826),22407=>array(30,-65,903,755),22408=>array(34,-32,946,833),22409=>array(46,-28,955,840),22410=>array(70,-61,939,786),22411=>array(59,-25,953,827),22412=>array(30,-70,898,781),22413=>array(55,-70,883,841),22414=>array(30,-65,948,848),22415=>array(55,-71,954,823),22416=>array(56,-36,926,853),22417=>array(50,-58,920,844),22418=>array(52,-36,926,814),22419=>array(37,-63,949,834),22420=>array(59,-20,954,790),22421=>array(59,-11,954,831),22422=>array(67,-43,904,842),22423=>array(37,-54,956,840),22424=>array(50,-73,963,822),22425=>array(43,-52,962,842),22426=>array(49,-11,953,842),22427=>array(43,-65,965,809),22428=>array(58,-62,949,809),22429=>array(46,-57,963,850),22430=>array(42,-43,953,839),22431=>array(51,-73,955,821),22432=>array(37,-68,952,809),22433=>array(34,-32,946,833),22434=>array(50,-69,932,833),22435=>array(47,-14,947,808),22436=>array(31,-22,931,811),22437=>array(49,-70,960,827),22438=>array(75,-27,949,790),22439=>array(38,-77,891,842),22440=>array(48,-59,954,843),22441=>array(50,-8,922,764),22442=>array(41,-70,949,839),22443=>array(32,-11,932,830),22444=>array(41,-72,946,831),22445=>array(43,-6,923,808),22446=>array(41,-66,965,842),22447=>array(40,-49,942,793),22448=>array(51,-64,940,835),22449=>array(41,-60,883,826),22450=>array(41,-27,941,813),22451=>array(45,-67,956,833),22452=>array(40,-66,923,832),22453=>array(50,-72,951,832),22454=>array(59,-65,948,833),22455=>array(56,-65,944,783),22456=>array(51,-67,959,857),22457=>array(43,-68,943,827),22458=>array(49,-68,954,817),22459=>array(49,-72,960,804),22460=>array(63,-24,969,822),22461=>array(55,-15,951,846),22462=>array(54,-64,955,800),22463=>array(53,-66,941,833),22464=>array(97,-32,916,829),22465=>array(57,-70,958,821),22466=>array(46,-70,959,791),22467=>array(50,-71,956,845),22468=>array(46,-65,949,846),22469=>array(65,-24,959,842),22470=>array(63,-71,906,824),22471=>array(51,-61,893,811),22472=>array(46,-68,953,836),22473=>array(46,-73,945,836),22474=>array(55,-15,951,842),22475=>array(39,-25,943,793),22476=>array(54,-74,955,827),22477=>array(61,-67,903,791),22478=>array(41,-68,951,834),22479=>array(36,-64,964,829),22480=>array(50,-62,970,814),22481=>array(55,-30,951,831),22482=>array(47,-62,945,827),22483=>array(61,-65,956,806),22484=>array(40,-68,948,833),22485=>array(55,-20,959,814),22486=>array(59,-48,962,832),22487=>array(43,-56,945,835),22488=>array(39,-64,923,826),22489=>array(43,-70,938,806),22490=>array(31,-67,892,802),22491=>array(31,-51,915,802),22492=>array(48,-27,967,817),22493=>array(17,-43,964,849),22494=>array(26,-58,966,848),22495=>array(36,-69,965,835),22496=>array(39,-68,959,854),22497=>array(53,-20,959,821),22498=>array(47,-48,959,823),22499=>array(48,-65,951,822),22500=>array(39,-56,961,860),22501=>array(53,-67,959,835),22502=>array(32,-61,959,855),22503=>array(32,-52,952,820),22504=>array(26,-65,974,853),22505=>array(46,-60,954,836),22506=>array(42,-12,944,831),22507=>array(56,-62,907,839),22508=>array(51,-73,965,824),22509=>array(35,-64,949,835),22510=>array(48,-72,971,829),22511=>array(45,-30,945,829),22512=>array(46,-62,959,833),22513=>array(45,-74,963,830),22514=>array(50,-68,976,841),22515=>array(62,-68,899,831),22516=>array(35,-67,953,835),22517=>array(47,-50,959,812),22518=>array(32,-67,973,831),22519=>array(57,-69,960,833),22520=>array(55,-67,911,818),22521=>array(36,-65,938,835),22522=>array(36,-28,980,832),22523=>array(46,-67,951,835),22524=>array(52,-64,958,836),22525=>array(42,-69,948,801),22526=>array(52,-27,945,792),22527=>array(67,-27,945,850),22528=>array(48,-65,906,818),22529=>array(47,-67,966,808),22530=>array(84,-14,933,832),22531=>array(52,-23,958,855),22532=>array(53,-67,956,838),22533=>array(56,-22,944,784),22534=>array(45,-73,950,834),22535=>array(60,-22,954,833),22536=>array(56,-48,911,828),22537=>array(45,-58,947,835),22538=>array(68,-12,951,794),22539=>array(41,-55,907,820),22540=>array(57,-69,901,803),22541=>array(42,-69,962,837),22542=>array(44,-70,963,833),22543=>array(63,-23,958,855),22544=>array(50,-71,956,804),22545=>array(45,-29,924,826),22546=>array(53,-49,970,789),22547=>array(57,-67,927,829),22548=>array(52,-67,966,811),22549=>array(58,-19,912,828),22550=>array(55,-65,920,841),22551=>array(26,-65,944,844),22552=>array(76,-28,972,835),22553=>array(32,-25,953,810),22554=>array(51,-65,936,787),22555=>array(54,-67,953,806),22556=>array(53,-67,966,832),22557=>array(64,-67,915,799),22558=>array(37,-65,970,833),22559=>array(59,-63,945,840),22560=>array(35,-72,966,840),22561=>array(38,-19,933,830),22562=>array(50,-70,944,836),22563=>array(66,-68,922,803),22564=>array(48,-70,966,793),22565=>array(54,-12,965,828),22566=>array(40,-50,956,844),22567=>array(35,-51,968,821),22568=>array(60,-69,924,807),22569=>array(38,-71,951,823),22570=>array(32,-68,946,829),22571=>array(38,-68,969,829),22572=>array(56,-70,976,836),22573=>array(66,-32,967,824),22574=>array(60,-69,952,800),22575=>array(43,-65,962,837),22576=>array(44,-62,956,807),22577=>array(65,-67,966,832),22578=>array(67,-16,963,770),22579=>array(43,-52,907,820),22580=>array(42,-63,948,788),22581=>array(39,-68,940,833),22582=>array(58,-67,952,835),22583=>array(52,-70,951,843),22584=>array(56,-71,973,803),22585=>array(50,-25,949,839),22586=>array(60,-66,971,829),22587=>array(49,-29,951,827),22588=>array(47,-16,954,826),22589=>array(54,-64,954,804),22590=>array(52,-64,978,842),22591=>array(58,-71,956,821),22592=>array(40,-69,955,804),22593=>array(55,-27,945,815),22594=>array(40,-26,961,826),22595=>array(40,-68,950,835),22596=>array(35,-66,911,804),22597=>array(45,-72,971,829),22598=>array(54,-60,944,846),22599=>array(50,-27,927,842),22600=>array(59,-16,958,794),22601=>array(50,-73,973,829),22602=>array(47,-68,965,841),22603=>array(64,-17,940,831),22604=>array(46,-68,915,796),22605=>array(28,-55,972,835),22606=>array(52,-71,960,831),22607=>array(39,-41,952,816),22608=>array(36,-64,980,833),22609=>array(53,-11,948,833),22610=>array(36,-65,956,829),22611=>array(56,-71,964,806),22612=>array(42,-69,963,829),22613=>array(54,-68,976,827),22614=>array(49,-65,964,842),22615=>array(46,-17,970,856),22616=>array(44,-69,948,819),22617=>array(42,-63,944,841),22618=>array(37,-60,973,807),22619=>array(53,-70,965,805),22620=>array(41,-60,965,807),22621=>array(55,-66,951,834),22622=>array(48,-30,949,830),22623=>array(55,-40,963,811),22624=>array(50,-60,961,834),22625=>array(52,-61,927,834),22626=>array(62,-60,928,839),22627=>array(58,-31,953,817),22628=>array(54,-70,967,818),22629=>array(59,-69,954,803),22630=>array(64,-46,953,815),22631=>array(54,-8,954,859),22632=>array(37,-67,966,826),22633=>array(49,-34,950,831),22634=>array(49,-65,934,836),22635=>array(47,-69,946,836),22636=>array(35,-68,948,785),22637=>array(47,-30,959,809),22638=>array(47,-64,965,849),22639=>array(63,-67,921,835),22640=>array(52,-46,951,840),22641=>array(57,-26,951,847),22642=>array(33,-56,941,850),22643=>array(53,-66,961,844),22644=>array(56,-71,906,831),22645=>array(44,-49,943,834),22646=>array(54,-69,959,838),22647=>array(56,-64,958,839),22648=>array(53,-26,940,803),22649=>array(53,-24,959,833),22650=>array(48,-69,954,835),22651=>array(46,-73,969,820),22652=>array(42,-66,961,830),22653=>array(34,-58,967,839),22654=>array(49,-34,952,831),22655=>array(33,-62,951,846),22656=>array(43,-71,957,810),22657=>array(52,-64,983,817),22658=>array(47,-70,957,804),22659=>array(39,-65,960,828),22660=>array(51,-65,961,838),22661=>array(52,-25,945,789),22662=>array(56,-69,942,823),22663=>array(53,-71,953,838),22664=>array(52,-64,920,831),22665=>array(28,-64,962,821),22666=>array(63,-26,958,838),22667=>array(60,-68,953,841),22668=>array(46,-67,962,851),22669=>array(58,-38,964,846),22670=>array(46,-69,950,836),22671=>array(45,-43,943,847),22672=>array(56,-32,956,823),22673=>array(48,-65,954,842),22674=>array(19,-80,923,826),22675=>array(45,-40,954,834),22676=>array(45,-58,945,839),22677=>array(40,-60,962,801),22678=>array(40,-69,949,837),22679=>array(38,-73,905,835),22680=>array(39,-67,969,833),22681=>array(38,-71,927,821),22682=>array(29,-68,947,821),22683=>array(34,-72,968,812),22684=>array(60,-35,968,847),22685=>array(39,-57,963,847),22686=>array(52,-62,961,830),22687=>array(31,-64,911,827),22688=>array(48,-70,960,804),22689=>array(40,-69,953,836),22690=>array(49,-64,959,843),22691=>array(36,-76,965,827),22692=>array(29,-69,953,836),22693=>array(49,-32,962,843),22694=>array(52,-63,932,827),22695=>array(55,-61,976,836),22696=>array(56,-43,949,816),22697=>array(38,-68,964,826),22698=>array(43,-52,969,831),22699=>array(41,-72,950,834),22700=>array(67,-27,967,844),22701=>array(32,-24,947,826),22702=>array(67,-15,956,857),22703=>array(34,-33,954,847),22704=>array(49,-67,954,806),22705=>array(39,-32,981,828),22706=>array(30,-62,954,845),22707=>array(43,-76,962,838),22708=>array(47,-57,950,831),22709=>array(60,-69,933,779),22710=>array(47,-68,963,833),22711=>array(35,-68,945,831),22712=>array(52,-62,938,842),22713=>array(52,-67,924,787),22714=>array(32,-64,972,851),22715=>array(52,-68,950,833),22716=>array(56,-33,977,831),22717=>array(46,-75,977,846),22718=>array(64,-25,960,828),22719=>array(56,-70,962,806),22720=>array(26,-69,962,845),22721=>array(62,-26,957,831),22722=>array(36,-38,964,780),22723=>array(43,-26,944,788),22724=>array(44,-32,959,832),22725=>array(62,-32,953,851),22726=>array(79,-34,951,826),22727=>array(43,-34,947,835),22728=>array(50,-68,987,830),22729=>array(47,-72,969,833),22730=>array(48,-71,965,839),22731=>array(61,-65,918,832),22732=>array(35,-79,966,837),22733=>array(41,-32,953,791),22734=>array(38,-54,969,857),22735=>array(49,-34,951,823),22736=>array(53,-35,962,794),22737=>array(46,-26,962,836),22738=>array(44,-18,956,834),22739=>array(42,-45,953,807),22740=>array(41,-55,949,840),22741=>array(43,-62,965,828),22742=>array(31,-51,947,818),22743=>array(36,-35,954,823),22744=>array(59,-28,949,783),22745=>array(52,-77,967,847),22746=>array(61,-66,969,836),22747=>array(53,-65,920,806),22748=>array(35,-60,951,808),22749=>array(36,-65,973,826),22750=>array(51,-63,970,844),22751=>array(57,-24,950,849),22752=>array(29,-68,952,841),22753=>array(29,-64,964,843),22754=>array(46,-65,959,820),22755=>array(38,-64,963,831),22756=>array(42,-61,951,837),22757=>array(42,-70,948,791),22758=>array(59,-70,953,829),22759=>array(33,-72,957,811),22760=>array(71,-28,941,781),22761=>array(59,-71,932,793),22762=>array(31,-75,959,848),22763=>array(103,28,894,796),22764=>array(49,-18,951,796),22765=>array(75,-58,888,834),22766=>array(41,-63,913,829),22767=>array(33,-69,948,820),22768=>array(47,-55,927,837),22769=>array(74,-40,927,846),22770=>array(62,-58,933,846),22771=>array(42,-58,955,846),22772=>array(59,-17,951,826),22773=>array(52,-34,969,842),22774=>array(59,-9,909,834),22775=>array(55,-21,948,835),22776=>array(59,-38,909,834),22777=>array(55,-21,948,835),22778=>array(72,-32,947,831),22779=>array(50,-50,972,806),22780=>array(55,-23,953,830),22781=>array(55,-61,951,836),22782=>array(49,-18,950,829),22783=>array(62,-72,954,845),22784=>array(55,-61,951,836),22785=>array(95,-62,932,847),22786=>array(59,-46,954,826),22787=>array(67,-64,923,791),22788=>array(18,-67,935,818),22789=>array(30,-82,946,827),22790=>array(51,-71,955,833),22791=>array(43,-63,930,827),22792=>array(37,-60,961,832),22793=>array(58,-62,959,830),22794=>array(55,-41,952,812),22795=>array(71,-67,937,842),22796=>array(54,-64,969,833),22797=>array(55,-65,954,829),22798=>array(60,-67,967,829),22799=>array(53,-65,954,812),22800=>array(84,-66,945,844),22801=>array(53,-65,961,843),22802=>array(46,-67,954,795),22803=>array(55,-67,965,823),22804=>array(36,-53,948,841),22805=>array(95,-71,856,842),22806=>array(41,-65,967,836),22807=>array(46,-66,945,828),22808=>array(57,-59,872,844),22809=>array(24,-66,968,789),22810=>array(89,-68,911,849),22811=>array(107,-81,928,807),22812=>array(45,-65,959,828),22813=>array(29,-47,965,804),22814=>array(119,-58,929,821),22815=>array(14,-59,907,842),22816=>array(66,-65,921,847),22817=>array(66,-65,953,847),22818=>array(59,-73,928,839),22819=>array(71,-73,915,845),22820=>array(58,-76,942,848),22821=>array(22,-69,925,840),22822=>array(50,-69,952,823),22823=>array(85,-43,933,837),22824=>array(55,-63,950,845),22825=>array(61,-51,947,778),22826=>array(83,-48,941,834),22827=>array(74,-51,943,834),22828=>array(29,-57,979,840),22829=>array(84,-55,931,798),22830=>array(54,-70,968,826),22831=>array(58,-66,957,835),22832=>array(76,-70,953,835),22833=>array(86,-70,941,829),22834=>array(33,-62,947,835),22835=>array(54,-7,946,839),22836=>array(62,-59,913,831),22837=>array(43,-61,945,835),22838=>array(36,-71,969,824),22839=>array(58,-68,953,835),22840=>array(29,-70,982,855),22841=>array(29,-59,936,830),22842=>array(33,-59,947,835),22843=>array(21,-58,937,835),22844=>array(60,-67,955,835),22845=>array(66,-71,957,835),22846=>array(69,-64,955,834),22847=>array(53,-45,957,835),22848=>array(53,-62,982,783),22849=>array(40,-31,954,821),22850=>array(50,-67,958,832),22851=>array(67,-88,958,847),22852=>array(32,-44,976,842),22853=>array(59,-67,965,838),22854=>array(66,-41,957,835),22855=>array(60,-65,929,840),22856=>array(62,-62,960,848),22857=>array(44,-72,958,840),22858=>array(59,-74,964,831),22859=>array(21,-58,937,835),22860=>array(37,-60,963,828),22861=>array(35,-60,972,843),22862=>array(36,-22,961,851),22863=>array(46,-77,954,840),22864=>array(39,-66,966,841),22865=>array(43,-70,957,830),22866=>array(36,-65,974,838),22867=>array(57,-65,965,829),22868=>array(48,-71,970,835),22869=>array(53,-57,972,843),22870=>array(30,-59,954,839),22871=>array(43,-65,966,844),22872=>array(42,-65,955,829),22873=>array(29,-60,975,848),22874=>array(54,-68,960,839),22875=>array(26,-68,997,841),22876=>array(47,-69,970,836),22877=>array(70,-82,962,836),22878=>array(47,-75,976,833),22879=>array(41,-59,974,840),22880=>array(40,-71,959,829),22881=>array(44,-64,973,793),22882=>array(36,-68,970,840),22883=>array(51,-78,971,807),22884=>array(26,-77,972,837),22885=>array(39,-73,961,840),22886=>array(44,-66,960,839),22887=>array(47,-72,968,842),22888=>array(39,-64,970,852),22889=>array(32,-22,966,845),22890=>array(30,-65,967,843),22891=>array(40,-71,968,844),22892=>array(39,-64,970,847),22893=>array(35,-63,982,839),22894=>array(51,-69,960,849),22895=>array(29,-80,983,839),22896=>array(40,-73,967,781),22897=>array(48,-66,966,839),22898=>array(42,-72,961,832),22899=>array(86,-53,911,836),22900=>array(64,-67,949,819),22901=>array(52,-63,948,840),22902=>array(68,-70,920,821),22903=>array(63,-63,958,833),22904=>array(69,-65,959,836),22905=>array(40,-56,948,836),22906=>array(100,-70,972,832),22907=>array(65,-64,951,828),22908=>array(64,-55,958,831),22909=>array(52,-67,961,818),22910=>array(62,-65,912,829),22911=>array(44,-60,961,830),22912=>array(63,-66,944,821),22913=>array(66,-59,919,844),22914=>array(71,-74,897,815),22915=>array(29,-52,945,840),22916=>array(54,-72,942,836),22917=>array(77,-53,964,816),22918=>array(31,-67,938,824),22919=>array(47,-62,861,833),22920=>array(46,-61,914,828),22921=>array(61,-71,955,832),22922=>array(51,-72,935,832),22923=>array(76,-72,962,833),22924=>array(64,-69,954,837),22925=>array(51,-67,952,837),22926=>array(56,-72,974,840),22927=>array(74,-66,972,842),22928=>array(53,-56,974,841),22929=>array(49,-54,941,849),22930=>array(62,-68,934,839),22931=>array(57,-69,961,836),22932=>array(47,-64,957,853),22933=>array(57,-66,891,838),22934=>array(47,-70,957,830),22935=>array(39,-66,966,850),22936=>array(45,-69,958,830),22937=>array(53,-67,952,835),22938=>array(49,-64,966,840),22939=>array(66,-44,940,823),22940=>array(58,-69,955,831),22941=>array(39,-63,961,835),22942=>array(45,-50,956,827),22943=>array(66,-59,920,785),22944=>array(61,-66,917,835),22945=>array(57,-70,946,837),22946=>array(50,-67,971,836),22947=>array(52,-48,966,839),22948=>array(46,-62,951,830),22949=>array(67,-71,903,834),22950=>array(44,-66,951,836),22951=>array(53,-68,955,836),22952=>array(55,-77,951,829),22953=>array(53,-64,935,824),22954=>array(36,-66,913,818),22955=>array(36,-64,890,825),22956=>array(62,-62,965,828),22957=>array(58,-64,975,844),22958=>array(58,-65,945,838),22959=>array(61,-65,918,845),22960=>array(64,-67,951,842),22961=>array(62,-73,911,835),22962=>array(50,-58,937,835),22963=>array(53,-52,965,847),22964=>array(59,-63,945,844),22965=>array(60,-56,958,832),22966=>array(45,-56,956,835),22967=>array(66,-60,975,844),22968=>array(61,-62,961,830),22969=>array(30,-71,978,833),22970=>array(55,-66,973,838),22971=>array(80,-70,935,837),22972=>array(62,-60,959,830),22973=>array(59,-62,918,837),22974=>array(65,-65,936,828),22975=>array(60,-55,924,821),22976=>array(53,-65,956,842),22977=>array(60,-65,918,834),22978=>array(71,-58,969,830),22979=>array(60,-58,962,826),22980=>array(61,-61,954,826),22981=>array(56,-72,953,839),22982=>array(60,-67,948,832),22983=>array(58,-70,941,830),22984=>array(55,-50,968,860),22985=>array(37,-68,954,840),22986=>array(70,-64,934,832),22987=>array(54,-74,945,835),22988=>array(56,-62,965,839),22989=>array(32,-56,959,831),22990=>array(42,-77,968,834),22991=>array(62,-69,955,837),22992=>array(56,-65,956,818),22993=>array(56,-64,956,838),22994=>array(66,-64,978,841),22995=>array(52,-69,952,827),22996=>array(58,-67,912,836),22997=>array(58,-67,958,827),22998=>array(51,-52,949,822),22999=>array(41,-70,922,825),23000=>array(48,-67,956,850),23001=>array(40,-64,959,834),23002=>array(53,-70,960,833),23003=>array(60,-70,906,830),23004=>array(67,-63,926,850),23005=>array(38,-65,969,832),23006=>array(48,-52,957,850),23007=>array(38,-68,948,842),23008=>array(57,-74,907,832),23009=>array(80,-72,938,829),23010=>array(63,-72,929,831),23011=>array(38,-66,970,846),23012=>array(62,-66,957,837),23013=>array(47,-54,959,833),23014=>array(49,-71,962,843),23015=>array(52,-65,952,845),23016=>array(54,-67,968,837),23017=>array(68,-75,956,827),23018=>array(45,-69,956,824),23019=>array(50,-71,955,831),23020=>array(62,-66,956,829),23021=>array(67,-73,931,837),23022=>array(69,-59,960,837),23023=>array(64,-74,953,823),23024=>array(45,-60,909,836),23025=>array(44,-49,979,860),23026=>array(61,-74,954,831),23027=>array(61,-70,887,830),23028=>array(83,-73,938,824),23029=>array(69,-79,954,821),23030=>array(52,-50,970,858),23031=>array(55,-73,957,827),23032=>array(63,-73,953,827),23033=>array(40,-59,953,845),23034=>array(64,-74,953,823),23035=>array(53,-66,895,831),23036=>array(73,-80,932,822),23037=>array(78,-75,947,820),23038=>array(57,-80,955,823),23039=>array(59,-74,939,842),23040=>array(64,-67,951,830),23041=>array(53,-74,959,832),23042=>array(73,-73,959,832),23043=>array(73,-68,953,833),23044=>array(44,-65,935,829),23045=>array(44,-77,934,817),23046=>array(28,-69,936,822),23047=>array(40,-60,939,836),23048=>array(56,-82,919,834),23049=>array(34,-64,962,839),23050=>array(64,-68,958,830),23051=>array(62,-70,897,836),23052=>array(46,-48,956,840),23053=>array(46,-70,961,840),23054=>array(37,-68,939,830),23055=>array(56,-62,956,838),23056=>array(64,-64,953,837),23057=>array(37,-68,943,830),23058=>array(56,-67,953,845),23059=>array(41,-67,963,823),23060=>array(82,-69,954,839),23061=>array(60,-62,964,837),23062=>array(63,-69,980,829),23063=>array(57,-69,983,833),23064=>array(62,-75,962,831),23065=>array(51,-48,952,845),23066=>array(72,-74,923,808),23067=>array(64,-71,977,833),23068=>array(50,-71,947,833),23069=>array(66,-54,969,852),23070=>array(48,-68,945,833),23071=>array(63,-72,897,831),23072=>array(66,-66,965,831),23073=>array(66,-66,961,831),23074=>array(54,-66,951,867),23075=>array(65,-67,933,845),23076=>array(37,-68,939,829),23077=>array(42,-63,972,832),23078=>array(62,-64,954,828),23079=>array(62,-68,949,846),23080=>array(47,-64,954,828),23081=>array(57,-67,967,848),23082=>array(57,-68,948,828),23083=>array(39,-67,967,828),23084=>array(42,-64,962,833),23085=>array(73,-74,964,833),23086=>array(64,-68,941,832),23087=>array(64,-71,948,833),23088=>array(64,-67,955,840),23089=>array(32,-62,947,826),23090=>array(43,-72,891,819),23091=>array(55,-64,912,839),23092=>array(46,-73,870,832),23093=>array(49,-71,968,835),23094=>array(67,-75,940,793),23095=>array(65,-44,953,833),23096=>array(51,-78,953,833),23097=>array(44,-77,964,828),23098=>array(37,-67,973,823),23099=>array(61,-64,973,835),23100=>array(68,-69,906,832),23101=>array(57,-67,955,828),23102=>array(51,-69,958,827),23103=>array(37,-58,939,827),23104=>array(38,-65,952,835),23105=>array(55,-68,930,832),23106=>array(63,-71,912,840),23107=>array(58,-68,957,834),23108=>array(53,-67,960,839),23109=>array(64,-61,921,847),23110=>array(66,-74,946,836),23111=>array(42,-67,959,834),23112=>array(46,-72,971,831),23113=>array(59,-63,954,836),23114=>array(37,-67,977,837),23115=>array(44,-66,953,837),23116=>array(49,-71,980,828),23117=>array(54,-65,962,839),23118=>array(69,-68,953,842),23119=>array(42,-67,968,848),23120=>array(52,-70,979,827),23121=>array(50,-70,962,830),23122=>array(50,-68,971,836),23123=>array(64,-74,935,827),23124=>array(54,-63,964,834),23125=>array(37,-65,964,836),23126=>array(45,-68,979,829),23127=>array(54,-70,960,832),23128=>array(50,-62,966,831),23129=>array(48,-60,946,841),23130=>array(55,-71,960,833),23131=>array(52,-62,955,838),23132=>array(47,-67,954,790),23133=>array(52,-71,961,828),23134=>array(49,-67,959,839),23135=>array(66,-71,912,829),23136=>array(65,-68,924,839),23137=>array(44,-64,970,839),23138=>array(54,-65,951,850),23139=>array(59,-75,922,834),23140=>array(52,-72,898,830),23141=>array(56,-66,967,833),23142=>array(42,-74,944,832),23143=>array(45,-64,948,837),23144=>array(34,-61,957,834),23145=>array(53,-67,948,837),23146=>array(47,-78,964,822),23147=>array(54,-56,949,834),23148=>array(37,-50,950,829),23149=>array(45,-54,954,833),23150=>array(69,-68,945,834),23151=>array(57,-78,918,795),23152=>array(50,-73,959,835),23153=>array(57,-78,944,848),23154=>array(70,-65,962,835),23155=>array(61,-62,934,835),23156=>array(56,-74,915,780),23157=>array(37,-70,956,825),23158=>array(52,-63,903,831),23159=>array(40,-65,949,852),23160=>array(57,-68,947,830),23161=>array(65,-67,952,835),23162=>array(51,-69,963,841),23163=>array(50,-65,951,833),23164=>array(51,-64,954,840),23165=>array(53,-70,964,832),23166=>array(41,-70,964,849),23167=>array(63,-65,967,834),23168=>array(67,-68,932,832),23169=>array(50,-64,963,849),23170=>array(65,-61,935,858),23171=>array(57,-68,961,832),23172=>array(57,-71,961,833),23173=>array(38,-49,955,827),23174=>array(57,-72,945,835),23175=>array(57,-72,934,832),23176=>array(70,-62,950,824),23177=>array(57,-62,943,832),23178=>array(43,-73,951,833),23179=>array(58,-73,973,823),23180=>array(52,-74,955,830),23181=>array(56,-82,954,852),23182=>array(57,-68,965,838),23183=>array(50,-69,950,830),23184=>array(51,-72,952,787),23185=>array(65,-66,959,842),23186=>array(60,-66,973,836),23187=>array(60,-58,959,841),23188=>array(52,-70,954,834),23189=>array(57,-76,964,833),23190=>array(47,-60,988,842),23191=>array(73,-50,961,836),23192=>array(57,-65,951,842),23193=>array(48,-74,961,843),23194=>array(63,-73,900,827),23195=>array(42,-65,949,836),23196=>array(56,-82,954,833),23197=>array(50,-72,945,835),23198=>array(55,-69,986,832),23199=>array(44,-62,963,810),23200=>array(64,-65,927,845),23201=>array(58,-67,964,833),23202=>array(49,-70,920,825),23203=>array(43,-66,954,835),23204=>array(67,-53,976,832),23205=>array(53,-78,921,834),23206=>array(55,-67,914,832),23207=>array(54,-65,919,837),23208=>array(54,-63,967,835),23209=>array(62,-71,914,827),23210=>array(35,-74,951,815),23211=>array(38,-60,965,836),23212=>array(56,-67,981,825),23213=>array(57,-82,931,825),23214=>array(41,-70,974,849),23215=>array(46,-60,928,845),23216=>array(46,-65,908,832),23217=>array(55,-73,967,840),23218=>array(43,-53,958,852),23219=>array(65,-67,967,846),23220=>array(59,-76,974,823),23221=>array(31,-65,968,834),23222=>array(55,-67,954,827),23223=>array(43,-64,950,837),23224=>array(55,-71,966,843),23225=>array(56,-69,915,834),23226=>array(51,-73,975,829),23227=>array(38,-76,950,832),23228=>array(51,-72,968,818),23229=>array(56,-71,922,818),23230=>array(18,-64,948,837),23231=>array(52,-64,972,855),23232=>array(48,-69,962,833),23233=>array(53,-69,970,832),23234=>array(42,-65,958,840),23235=>array(60,-71,945,840),23236=>array(38,-65,968,839),23237=>array(72,-60,954,844),23238=>array(65,-69,977,833),23239=>array(54,-82,962,829),23240=>array(61,-73,932,831),23241=>array(66,-76,957,831),23242=>array(49,-65,954,832),23243=>array(36,-57,929,818),23244=>array(51,-64,966,850),23245=>array(52,-70,927,832),23246=>array(44,-69,950,840),23247=>array(49,-64,946,842),23248=>array(57,-65,958,829),23249=>array(82,-71,934,791),23250=>array(44,-73,931,820),23251=>array(43,-53,967,844),23252=>array(43,-72,920,826),23253=>array(58,-56,971,830),23254=>array(22,-62,953,831),23255=>array(36,-77,951,837),23256=>array(44,-61,977,843),23257=>array(38,-63,970,841),23258=>array(47,-47,972,833),23259=>array(52,-74,958,785),23260=>array(52,-65,964,849),23261=>array(58,-70,962,834),23262=>array(54,-67,957,836),23263=>array(44,-47,951,841),23264=>array(37,-66,955,841),23265=>array(37,-64,948,836),23266=>array(51,-72,954,826),23267=>array(43,-61,952,836),23268=>array(55,-55,938,836),23269=>array(50,-69,951,831),23270=>array(30,-77,921,826),23271=>array(36,-67,943,830),23272=>array(59,-72,972,833),23273=>array(69,-69,964,835),23274=>array(37,-72,973,839),23275=>array(68,-62,989,837),23276=>array(63,-66,978,834),23277=>array(56,-68,953,831),23278=>array(50,-70,954,828),23279=>array(44,-75,960,833),23280=>array(69,-69,984,837),23281=>array(41,-70,914,823),23282=>array(49,-66,979,840),23283=>array(51,-50,957,859),23284=>array(62,-80,956,829),23285=>array(40,-65,961,836),23286=>array(39,-54,970,856),23287=>array(34,-65,950,841),23288=>array(44,-78,962,837),23289=>array(46,-73,966,828),23290=>array(42,-68,911,835),23291=>array(57,-65,915,823),23292=>array(38,-74,958,831),23293=>array(44,-74,980,838),23294=>array(37,-74,954,836),23295=>array(48,-77,965,834),23296=>array(53,-67,964,852),23297=>array(35,-77,989,831),23298=>array(54,-82,981,833),23299=>array(45,-77,951,827),23300=>array(38,-69,954,833),23301=>array(38,-69,952,829),23302=>array(41,-64,991,858),23303=>array(38,-79,960,832),23304=>array(44,-64,965,835),23305=>array(38,-64,956,841),23306=>array(64,-89,940,832),23307=>array(34,-68,958,835),23308=>array(52,-68,966,834),23309=>array(38,-66,965,835),23310=>array(42,-70,975,831),23311=>array(40,-68,975,831),23312=>array(44,-74,976,841),23313=>array(30,-50,963,844),23314=>array(45,-68,973,864),23315=>array(45,-80,977,839),23316=>array(41,-66,971,831),23317=>array(46,-64,941,835),23318=>array(61,-75,948,848),23319=>array(35,-56,962,850),23320=>array(34,-64,952,837),23321=>array(36,-65,964,837),23322=>array(42,-70,972,844),23323=>array(46,-60,991,836),23324=>array(53,-84,969,849),23325=>array(46,-64,956,848),23326=>array(50,-41,962,835),23327=>array(46,-70,965,853),23328=>array(38,-67,984,838),23329=>array(36,-66,975,843),23330=>array(43,-79,966,837),23331=>array(51,-70,964,837),23332=>array(37,-68,973,848),23333=>array(51,-70,956,825),23334=>array(50,-71,955,826),23335=>array(41,-70,953,825),23336=>array(34,-50,963,838),23337=>array(43,-70,942,831),23338=>array(44,-67,966,844),23339=>array(34,-65,947,840),23340=>array(48,-68,951,829),23341=>array(44,-68,976,815),23342=>array(45,-74,950,807),23343=>array(45,-68,957,824),23344=>array(68,-69,924,791),23345=>array(53,-75,953,840),23346=>array(46,-63,934,829),23347=>array(43,-65,963,831),23348=>array(43,-69,956,850),23349=>array(40,-68,936,845),23350=>array(43,-64,962,859),23351=>array(36,-67,962,846),23352=>array(54,-65,958,851),23353=>array(27,-65,977,829),23354=>array(57,-53,971,829),23355=>array(46,-66,961,841),23356=>array(62,-74,921,831),23357=>array(40,-67,976,839),23358=>array(35,-50,968,848),23359=>array(41,-68,971,836),23360=>array(51,-65,932,831),23361=>array(68,-66,930,785),23362=>array(42,-43,959,840),23363=>array(59,-61,989,840),23364=>array(41,-66,909,832),23365=>array(43,-65,969,821),23366=>array(55,-67,954,831),23367=>array(46,-64,980,832),23368=>array(48,-65,943,831),23369=>array(66,-58,937,839),23370=>array(41,-78,942,839),23371=>array(44,-72,962,825),23372=>array(55,-74,957,839),23373=>array(39,-67,974,831),23374=>array(46,-73,947,830),23375=>array(45,-65,953,846),23376=>array(98,-49,921,787),23377=>array(72,-52,927,782),23378=>array(221,-58,921,778),23379=>array(94,-53,939,781),23380=>array(69,-61,953,825),23381=>array(74,-59,942,783),23382=>array(41,-52,955,786),23383=>array(94,-61,926,832),23384=>array(47,-69,943,839),23385=>array(31,-66,937,823),23386=>array(53,-65,947,840),23387=>array(74,-64,944,831),23388=>array(60,-65,967,834),23389=>array(48,-61,928,834),23390=>array(24,-31,945,786),23391=>array(66,-17,955,786),23392=>array(86,-51,920,828),23393=>array(20,-70,953,839),23394=>array(53,-64,947,847),23395=>array(50,-67,959,838),23396=>array(42,-77,970,838),23397=>array(54,-58,947,852),23398=>array(74,-54,926,826),23399=>array(86,-52,935,826),23400=>array(41,-67,950,800),23401=>array(51,-68,948,833),23402=>array(41,-60,924,842),23403=>array(44,-69,965,815),23404=>array(38,-66,946,791),23405=>array(55,-72,960,785),23406=>array(41,-64,949,836),23407=>array(63,-61,956,796),23408=>array(41,-68,971,834),23409=>array(31,-59,962,798),23410=>array(51,-50,961,789),23411=>array(53,-56,949,855),23412=>array(135,-68,903,823),23413=>array(34,-76,944,817),23414=>array(53,-58,949,838),23415=>array(41,-71,953,831),23416=>array(66,-67,939,831),23417=>array(64,-57,940,840),23418=>array(31,-64,955,790),23419=>array(44,-70,954,823),23420=>array(59,-81,946,833),23421=>array(71,-60,948,837),23422=>array(39,-67,954,788),23423=>array(57,-59,955,846),23424=>array(90,354,883,650),23425=>array(79,-52,934,851),23426=>array(56,-67,945,833),23427=>array(109,-28,902,821),23428=>array(55,-63,952,841),23429=>array(70,-38,942,833),23430=>array(79,-61,932,841),23431=>array(59,-69,931,840),23432=>array(77,-59,923,825),23433=>array(76,-70,912,818),23434=>array(71,-64,950,844),23435=>array(63,-65,951,824),23436=>array(60,-62,946,839),23437=>array(58,-58,942,822),23438=>array(48,-66,955,845),23439=>array(77,-64,927,822),23440=>array(76,-37,972,838),23441=>array(106,-66,923,838),23442=>array(84,-44,940,832),23443=>array(46,-66,958,830),23444=>array(75,-32,925,842),23445=>array(57,-65,894,839),23446=>array(75,-65,942,830),23447=>array(71,-63,945,822),23448=>array(106,-70,894,839),23449=>array(106,-71,894,817),23450=>array(41,-67,953,826),23451=>array(54,-59,954,818),23452=>array(60,-29,953,831),23453=>array(79,-25,925,826),23454=>array(73,-61,929,832),23455=>array(47,-57,955,827),23456=>array(32,-56,957,841),23457=>array(89,-60,904,842),23458=>array(40,-61,958,828),23459=>array(73,-25,931,823),23460=>array(93,-35,907,825),23461=>array(51,-70,908,839),23462=>array(102,-72,915,832),23463=>array(90,-21,910,835),23464=>array(74,-79,949,824),23465=>array(87,-54,933,835),23466=>array(41,-63,921,837),23467=>array(91,-74,894,839),23468=>array(39,-65,966,842),23469=>array(59,-65,932,830),23470=>array(98,-68,902,829),23471=>array(42,-58,934,848),23472=>array(80,-63,931,831),23473=>array(83,-52,893,844),23474=>array(46,-50,955,844),23475=>array(83,-65,920,834),23476=>array(69,-79,934,839),23477=>array(110,-71,901,837),23478=>array(55,-65,960,823),23479=>array(46,-56,955,857),23480=>array(45,-67,968,833),23481=>array(47,-68,953,834),23482=>array(54,-57,955,840),23483=>array(55,-61,949,834),23484=>array(47,-73,959,846),23485=>array(81,-62,927,836),23486=>array(50,-77,917,846),23487=>array(43,-73,906,828),23488=>array(46,-62,955,826),23489=>array(41,-67,982,841),23490=>array(48,-71,969,835),23491=>array(54,-62,952,829),23492=>array(80,-59,941,833),23493=>array(53,-69,956,835),23494=>array(66,-64,944,827),23495=>array(47,-73,959,830),23496=>array(86,-65,921,846),23497=>array(90,-67,912,845),23498=>array(62,-74,963,838),23499=>array(37,-41,968,835),23500=>array(107,-67,900,835),23501=>array(61,-31,953,835),23502=>array(43,-53,926,860),23503=>array(63,-66,961,841),23504=>array(46,-77,962,821),23505=>array(45,-72,929,839),23506=>array(48,-83,952,834),23507=>array(100,-65,900,840),23508=>array(75,-68,971,828),23509=>array(83,-68,930,843),23510=>array(56,-60,981,844),23511=>array(47,-55,944,840),23512=>array(72,-78,931,841),23513=>array(34,-64,966,839),23514=>array(65,-65,957,842),23515=>array(55,-57,956,842),23516=>array(80,-68,917,843),23517=>array(39,-75,952,829),23518=>array(35,-76,962,845),23519=>array(53,-62,954,825),23520=>array(41,-61,936,856),23521=>array(35,-66,974,840),23522=>array(47,-76,960,836),23523=>array(53,-72,948,836),23524=>array(54,-64,953,836),23525=>array(42,-72,977,850),23526=>array(61,-74,952,850),23527=>array(80,-68,917,844),23528=>array(44,-69,930,839),23529=>array(41,-73,970,835),23530=>array(50,-63,914,836),23531=>array(82,-65,910,833),23532=>array(55,-57,953,843),23533=>array(83,-34,925,849),23534=>array(41,-64,970,838),23535=>array(63,-68,917,841),23536=>array(62,-78,967,846),23537=>array(44,-69,975,835),23538=>array(58,-75,968,833),23539=>array(70,-69,939,832),23540=>array(67,-76,957,841),23541=>array(54,-66,969,836),23542=>array(70,-69,939,850),23543=>array(69,-25,923,847),23544=>array(97,-64,912,829),23545=>array(24,-60,915,829),23546=>array(77,-59,932,836),23547=>array(62,-57,913,793),23548=>array(50,-58,916,786),23549=>array(50,-63,916,840),23550=>array(49,-46,951,821),23551=>array(60,-57,934,835),23552=>array(100,-61,945,826),23553=>array(49,-61,945,826),23554=>array(62,-72,935,823),23555=>array(55,-72,936,823),23556=>array(49,-64,948,845),23557=>array(44,-69,962,827),23558=>array(41,-63,940,839),23559=>array(37,-64,956,841),23560=>array(57,-67,947,826),23561=>array(44,-71,951,826),23562=>array(68,-63,932,850),23563=>array(73,-70,933,811),23564=>array(53,-71,955,829),23565=>array(38,-61,952,835),23566=>array(57,-65,944,848),23567=>array(71,-41,927,818),23568=>array(68,-62,945,816),23569=>array(52,-67,944,818),23570=>array(45,-63,954,833),23571=>array(59,-63,935,827),23572=>array(32,-63,909,830),23573=>array(49,-58,961,789),23574=>array(61,-64,939,830),23575=>array(49,-58,961,821),23576=>array(50,-16,921,824),23577=>array(116,-70,861,824),23578=>array(110,-70,864,836),23579=>array(31,-48,962,821),23580=>array(43,-64,952,824),23581=>array(66,-68,898,831),23582=>array(41,-64,970,821),23583=>array(41,-71,970,822),23584=>array(42,-84,972,826),23585=>array(41,-62,961,836),23586=>array(46,-63,954,829),23587=>array(82,-47,936,782),23588=>array(62,-65,927,829),23589=>array(32,-60,963,842),23590=>array(42,-44,959,835),23591=>array(70,-61,932,827),23592=>array(35,-70,949,853),23593=>array(35,-61,964,798),23594=>array(44,-64,964,832),23595=>array(32,-55,962,785),23596=>array(31,-66,963,844),23597=>array(43,-65,962,837),23598=>array(34,-51,958,833),23599=>array(34,-51,958,835),23600=>array(50,-66,961,836),23601=>array(56,-63,951,831),23602=>array(33,-51,958,842),23603=>array(44,-69,959,826),23604=>array(34,-51,958,833),23605=>array(34,-51,960,835),23606=>array(36,-66,971,831),23607=>array(36,-72,974,831),23608=>array(78,-71,880,766),23609=>array(41,-58,956,772),23610=>array(69,-73,926,765),23611=>array(36,-62,963,790),23612=>array(53,-71,934,782),23613=>array(40,-60,960,789),23614=>array(57,-67,940,784),23615=>array(52,-74,951,779),23616=>array(68,-65,895,785),23617=>array(54,-73,938,782),23618=>array(28,-63,917,789),23619=>array(28,-64,961,789),23620=>array(52,-62,903,794),23621=>array(56,-73,930,782),23622=>array(64,-73,896,788),23623=>array(63,-62,897,792),23624=>array(49,-65,886,792),23625=>array(41,-70,935,787),23626=>array(22,-60,846,791),23627=>array(53,-74,933,796),23628=>array(59,-69,894,786),23629=>array(33,-64,964,791),23630=>array(47,-76,939,785),23631=>array(53,-72,930,785),23632=>array(37,-65,972,789),23633=>array(59,-72,894,789),23634=>array(45,-72,956,795),23635=>array(65,-92,946,781),23636=>array(60,-59,952,804),23637=>array(46,-73,943,779),23638=>array(55,-64,932,782),23639=>array(48,-73,964,798),23640=>array(48,-73,964,782),23641=>array(35,-68,951,788),23642=>array(58,-66,899,808),23643=>array(53,-72,930,785),23644=>array(49,-67,957,791),23645=>array(44,-70,935,786),23646=>array(30,-73,877,777),23647=>array(23,-58,963,803),23648=>array(46,-68,935,796),23649=>array(41,-65,911,788),23650=>array(46,-82,939,823),23651=>array(44,-69,973,787),23652=>array(50,-68,900,808),23653=>array(29,-68,953,786),23654=>array(35,-73,913,789),23655=>array(23,-58,975,803),23656=>array(41,-70,962,798),23657=>array(44,-62,959,800),23658=>array(48,-66,966,786),23659=>array(44,-62,983,800),23660=>array(57,-82,912,790),23661=>array(40,-58,934,804),23662=>array(85,-65,895,825),23663=>array(78,-40,952,836),23664=>array(90,-68,912,848),23665=>array(137,-48,863,771),23666=>array(124,-65,853,820),23667=>array(47,-65,950,800),23668=>array(67,-62,915,833),23669=>array(46,-80,882,833),23670=>array(67,-62,915,833),23671=>array(94,-70,920,821),23672=>array(94,4,953,821),23673=>array(53,-27,935,841),23674=>array(85,-28,931,813),23675=>array(110,-64,897,820),23676=>array(113,-70,964,824),23677=>array(113,-50,963,824),23678=>array(89,-69,911,814),23679=>array(90,-67,922,825),23680=>array(143,-65,869,838),23681=>array(80,-65,855,815),23682=>array(104,-31,921,822),23683=>array(95,-75,915,833),23684=>array(113,-65,889,824),23685=>array(95,-68,953,824),23686=>array(97,-62,963,827),23687=>array(110,-64,911,836),23688=>array(89,-52,930,814),23689=>array(103,-66,909,834),23690=>array(118,-67,935,787),23691=>array(106,-71,965,806),23692=>array(43,-65,957,832),23693=>array(86,-68,931,817),23694=>array(63,-71,951,824),23695=>array(104,-69,948,818),23696=>array(76,-66,964,837),23697=>array(41,-73,955,833),23698=>array(96,-71,960,836),23699=>array(101,-70,948,830),23700=>array(45,-69,961,821),23701=>array(52,-68,969,831),23702=>array(93,-29,916,803),23703=>array(134,-58,833,830),23704=>array(87,-68,934,810),23705=>array(53,-67,959,812),23706=>array(40,-62,957,826),23707=>array(115,-63,865,832),23708=>array(140,-26,921,823),23709=>array(53,-66,935,838),23710=>array(91,-62,955,845),23711=>array(97,-70,964,831),23712=>array(91,-20,951,813),23713=>array(113,-59,888,789),23714=>array(80,-62,931,839),23715=>array(109,-54,909,845),23716=>array(65,-66,966,834),23717=>array(98,-70,957,827),23718=>array(70,-27,945,824),23719=>array(54,-56,900,850),23720=>array(80,-25,948,817),23721=>array(69,-68,920,822),23722=>array(107,-64,900,837),23723=>array(66,-64,892,830),23724=>array(81,-67,901,817),23725=>array(103,-72,948,833),23726=>array(103,-43,949,833),23727=>array(97,-30,949,800),23728=>array(98,-69,910,834),23729=>array(47,-67,955,839),23730=>array(87,-62,960,810),23731=>array(76,-65,924,829),23732=>array(93,-8,933,814),23733=>array(76,-65,935,829),23734=>array(66,-66,888,843),23735=>array(66,-67,939,817),23736=>array(35,-72,931,829),23737=>array(87,-70,910,810),23738=>array(41,-66,955,833),23739=>array(62,-57,961,829),23740=>array(62,-67,959,817),23741=>array(63,-66,920,815),23742=>array(66,-67,955,830),23743=>array(101,-66,875,824),23744=>array(144,-65,869,833),23745=>array(67,-69,911,836),23746=>array(107,-62,964,837),23747=>array(97,-67,907,820),23748=>array(91,-68,944,798),23749=>array(66,-75,950,845),23750=>array(111,-70,961,823),23751=>array(30,-62,979,840),23752=>array(107,-70,961,826),23753=>array(48,-70,963,821),23754=>array(163,-78,862,824),23755=>array(100,-60,903,844),23756=>array(107,-12,960,795),23757=>array(101,-64,959,827),23758=>array(134,-77,937,824),23759=>array(104,-68,956,821),23760=>array(107,-70,960,827),23761=>array(53,-41,948,819),23762=>array(101,-62,898,815),23763=>array(108,-76,949,822),23764=>array(103,-32,942,822),23765=>array(71,-70,947,836),23766=>array(111,-76,944,821),23767=>array(100,-67,949,819),23768=>array(106,-12,956,804),23769=>array(58,-58,927,838),23770=>array(54,-29,971,819),23771=>array(74,-76,885,818),23772=>array(44,-44,974,839),23773=>array(144,-61,869,827),23774=>array(46,-69,939,822),23775=>array(50,-67,934,825),23776=>array(79,-64,940,835),23777=>array(76,-64,945,826),23778=>array(73,-67,910,830),23779=>array(82,-60,944,829),23780=>array(89,-65,947,819),23781=>array(93,-62,957,830),23782=>array(40,-65,947,844),23783=>array(88,-63,944,846),23784=>array(77,-57,945,833),23785=>array(43,-52,958,850),23786=>array(62,-63,941,826),23787=>array(78,-67,948,817),23788=>array(109,-61,956,831),23789=>array(66,-67,923,833),23790=>array(98,-60,941,814),23791=>array(37,-64,978,839),23792=>array(77,-65,961,840),23793=>array(47,-65,951,793),23794=>array(46,-59,898,841),23795=>array(39,-67,969,841),23796=>array(77,-64,933,827),23797=>array(66,-43,956,828),23798=>array(118,-70,897,845),23799=>array(89,-62,939,829),23800=>array(105,-78,952,823),23801=>array(39,-71,957,835),23802=>array(66,-72,962,817),23803=>array(79,-69,966,849),23804=>array(69,-62,929,833),23805=>array(70,-73,961,836),23806=>array(93,-71,932,837),23807=>array(101,-62,944,813),23808=>array(131,-68,947,826),23809=>array(55,-64,987,837),23810=>array(91,-65,912,825),23811=>array(87,-65,963,818),23812=>array(69,-32,939,813),23813=>array(69,-54,906,849),23814=>array(85,-23,924,839),23815=>array(63,-66,937,835),23816=>array(92,-65,924,858),23817=>array(77,-62,980,843),23818=>array(64,-63,968,842),23819=>array(66,-73,934,831),23820=>array(109,-68,956,818),23821=>array(63,-63,945,835),23822=>array(77,-69,938,831),23823=>array(109,-73,962,827),23824=>array(90,-42,961,811),23825=>array(76,-66,954,838),23826=>array(69,-68,945,835),23827=>array(93,-65,909,811),23828=>array(49,-68,949,836),23829=>array(66,-64,953,825),23830=>array(46,-80,938,833),23831=>array(134,-67,879,833),23832=>array(66,-68,960,839),23833=>array(33,-61,979,841),23834=>array(66,-52,968,850),23835=>array(66,-66,932,817),23836=>array(90,-27,911,832),23837=>array(107,-68,957,833),23838=>array(91,-62,935,851),23839=>array(49,-22,962,835),23840=>array(109,-71,976,830),23841=>array(71,-57,920,802),23842=>array(65,-71,956,834),23843=>array(55,-66,970,837),23844=>array(79,-64,927,838),23845=>array(100,-73,948,837),23846=>array(74,-33,950,847),23847=>array(29,-64,933,838),23848=>array(107,-69,974,832),23849=>array(59,-74,894,835),23850=>array(95,-64,951,845),23851=>array(61,-74,911,823),23852=>array(50,-50,960,829),23853=>array(36,-70,914,823),23854=>array(127,-67,886,837),23855=>array(86,-22,964,845),23856=>array(106,-68,930,835),23857=>array(73,-74,897,829),23858=>array(109,-28,954,837),23859=>array(106,-71,967,837),23860=>array(33,-63,956,835),23861=>array(111,-68,955,817),23862=>array(52,-65,953,829),23863=>array(79,-71,953,838),23864=>array(108,-81,963,809),23865=>array(108,-69,933,831),23866=>array(38,-73,956,829),23867=>array(72,-68,949,830),23868=>array(109,-72,961,815),23869=>array(60,-31,955,836),23870=>array(82,-65,945,805),23871=>array(109,-63,962,818),23872=>array(48,-70,955,826),23873=>array(109,-27,953,826),23874=>array(43,-67,954,833),23875=>array(108,-71,951,833),23876=>array(74,-71,961,831),23877=>array(41,-71,953,831),23878=>array(39,-70,960,832),23879=>array(45,-65,972,837),23880=>array(92,-67,958,830),23881=>array(106,-70,944,841),23882=>array(79,-65,960,842),23883=>array(66,-64,905,817),23884=>array(47,-69,971,835),23885=>array(36,-62,954,830),23886=>array(66,-65,915,817),23887=>array(57,-75,945,821),23888=>array(34,-62,970,837),23889=>array(109,-70,919,821),23890=>array(99,-52,895,800),23891=>array(114,-42,910,813),23892=>array(63,-69,943,812),23893=>array(103,-69,967,819),23894=>array(83,-23,967,836),23895=>array(45,-70,939,809),23896=>array(82,-71,955,817),23897=>array(55,-70,956,827),23898=>array(26,-66,960,835),23899=>array(33,-64,979,839),23900=>array(60,-62,928,831),23901=>array(92,-63,944,817),23902=>array(51,-71,967,847),23903=>array(37,-77,939,833),23904=>array(106,-62,995,841),23905=>array(47,-56,969,825),23906=>array(106,-70,958,842),23907=>array(111,-72,951,835),23908=>array(70,-60,919,830),23909=>array(110,-68,963,829),23910=>array(81,-20,933,839),23911=>array(105,-73,911,831),23912=>array(109,-74,940,842),23913=>array(63,-70,937,835),23914=>array(81,-75,939,841),23915=>array(83,-66,938,844),23916=>array(76,-74,951,836),23917=>array(59,-76,953,840),23918=>array(64,-65,973,846),23919=>array(77,-39,945,825),23920=>array(83,-64,967,843),23921=>array(105,-72,967,830),23922=>array(110,-72,979,845),23923=>array(37,-47,956,839),23924=>array(78,-67,960,833),23925=>array(114,-61,947,836),23926=>array(69,-54,929,809),23927=>array(101,-67,974,836),23928=>array(48,-71,966,835),23929=>array(79,-76,959,835),23930=>array(109,-67,960,817),23931=>array(79,-66,968,848),23932=>array(112,-67,959,834),23933=>array(98,-67,957,826),23934=>array(38,-49,974,851),23935=>array(68,-74,965,835),23936=>array(109,-65,953,818),23937=>array(76,-68,934,836),23938=>array(62,-65,930,844),23939=>array(93,-64,962,842),23940=>array(50,-64,955,835),23941=>array(36,-59,957,794),23942=>array(109,-69,955,826),23943=>array(66,-64,933,817),23944=>array(48,-71,962,830),23945=>array(127,-68,964,831),23946=>array(46,-58,948,842),23947=>array(83,-63,924,843),23948=>array(51,-56,890,810),23949=>array(107,-73,900,812),23950=>array(51,-64,948,821),23951=>array(40,-78,954,821),23952=>array(107,-73,949,812),23953=>array(81,-75,951,834),23954=>array(95,-53,908,851),23955=>array(98,-71,972,830),23956=>array(45,-65,978,836),23957=>array(109,-70,970,827),23958=>array(60,-63,991,858),23959=>array(92,-67,935,829),23960=>array(29,-71,910,838),23961=>array(76,-71,937,829),23962=>array(24,-67,985,835),23963=>array(76,-62,959,852),23964=>array(37,-72,964,830),23965=>array(66,-24,954,835),23966=>array(116,-71,933,838),23967=>array(78,-72,955,848),23968=>array(76,-64,956,828),23969=>array(40,-79,971,830),23970=>array(62,-64,943,836),23971=>array(39,-64,938,830),23972=>array(33,-59,962,833),23973=>array(66,-73,970,812),23974=>array(67,-72,945,841),23975=>array(82,-64,935,814),23976=>array(100,-67,915,835),23977=>array(109,-80,973,829),23978=>array(40,-68,964,840),23979=>array(79,-67,948,825),23980=>array(66,-77,965,840),23981=>array(103,-64,947,840),23982=>array(66,-57,950,854),23983=>array(44,-80,965,829),23984=>array(106,-69,961,828),23985=>array(106,-69,954,824),23986=>array(57,-60,929,842),23987=>array(40,-52,968,836),23988=>array(38,-73,977,840),23989=>array(115,-68,961,814),23990=>array(45,-73,967,825),23991=>array(29,-63,951,834),23992=>array(75,-65,947,829),23993=>array(62,-65,960,833),23994=>array(40,-73,961,832),23995=>array(37,-84,964,831),23996=>array(74,-70,958,821),23997=>array(52,-66,965,839),23998=>array(78,-32,953,837),23999=>array(74,-64,943,812),24000=>array(39,-64,964,831),24001=>array(73,-63,962,826),24002=>array(49,-64,936,838),24003=>array(54,-64,975,836),24004=>array(67,-63,962,843),24005=>array(46,-68,931,824),24006=>array(93,-67,940,836),24007=>array(95,-56,959,847),24008=>array(69,-64,919,812),24009=>array(69,-67,966,848),24010=>array(72,-62,958,831),24011=>array(43,-65,938,836),24012=>array(42,-69,968,820),24013=>array(38,-73,957,828),24014=>array(54,-61,976,820),24015=>array(93,-70,953,817),24016=>array(78,-61,975,836),24017=>array(106,-68,976,832),24018=>array(58,-64,961,841),24019=>array(55,-87,941,851),24020=>array(48,-64,962,836),24021=>array(96,-63,945,844),24022=>array(42,-67,973,836),24023=>array(58,-64,963,815),24024=>array(82,-72,956,832),24025=>array(74,-65,964,837),24026=>array(37,-68,957,833),24027=>array(43,-60,914,801),24028=>array(166,-60,793,795),24029=>array(58,-70,858,817),24030=>array(55,-64,859,823),24031=>array(55,-70,941,839),24032=>array(74,-36,945,773),24033=>array(22,-53,943,817),24034=>array(61,-59,961,849),24035=>array(61,-59,961,836),24036=>array(122,-67,935,842),24037=>array(95,54,909,696),24038=>array(55,-14,925,819),24039=>array(59,-57,933,773),24040=>array(169,-60,932,791),24041=>array(44,-64,940,790),24042=>array(88,-54,921,806),24043=>array(69,1,949,753),24044=>array(63,-47,955,814),24045=>array(64,-59,955,847),24046=>array(47,-19,936,840),24047=>array(37,-67,936,841),24048=>array(43,-71,959,845),24049=>array(114,0,897,763),24050=>array(138,-17,934,764),24051=>array(174,-24,942,768),24052=>array(140,-12,942,746),24053=>array(59,-65,938,835),24054=>array(68,-58,945,776),24055=>array(38,-43,971,819),24056=>array(100,-50,972,781),24057=>array(33,-35,989,780),24058=>array(72,-72,941,776),24059=>array(44,-43,955,830),24060=>array(136,-67,962,796),24061=>array(63,-80,937,790),24062=>array(154,-69,846,829),24063=>array(82,-63,936,833),24064=>array(72,-68,928,759),24065=>array(91,-62,873,814),24066=>array(72,-68,928,826),24067=>array(58,-67,920,835),24068=>array(110,-65,941,829),24069=>array(61,-64,886,828),24070=>array(95,-76,948,829),24071=>array(71,-66,929,826),24072=>array(105,-63,917,830),24073=>array(110,-61,972,834),24074=>array(98,-61,942,834),24075=>array(70,-50,936,854),24076=>array(64,-65,941,845),24077=>array(70,-69,889,827),24078=>array(102,-59,949,842),24079=>array(90,-69,906,824),24080=>array(91,-79,951,809),24081=>array(51,-62,948,843),24082=>array(47,-62,928,839),24083=>array(90,-63,948,843),24084=>array(90,-72,940,832),24085=>array(118,-67,886,843),24086=>array(96,-66,943,833),24087=>array(91,-74,956,833),24088=>array(104,-72,903,842),24089=>array(76,-66,955,830),24090=>array(72,-70,892,780),24091=>array(139,-65,874,851),24092=>array(90,-70,948,811),24093=>array(104,-68,896,834),24094=>array(111,-70,941,811),24095=>array(66,-68,935,832),24096=>array(165,-67,849,831),24097=>array(110,-68,952,847),24098=>array(110,-72,955,826),24099=>array(46,-69,960,832),24100=>array(47,-66,879,833),24101=>array(115,-65,910,850),24102=>array(65,-59,913,828),24103=>array(89,-67,940,825),24104=>array(76,-72,958,827),24105=>array(110,-67,920,826),24106=>array(111,-76,959,825),24107=>array(112,-74,948,844),24108=>array(57,-67,945,786),24109=>array(50,-71,944,829),24110=>array(54,-55,925,831),24111=>array(65,-59,913,828),24112=>array(88,-65,929,808),24113=>array(90,-64,922,828),24114=>array(65,-64,937,852),24115=>array(81,-68,962,829),24116=>array(97,-68,943,842),24117=>array(80,-65,948,847),24118=>array(89,-65,933,830),24119=>array(86,-62,932,833),24120=>array(94,-67,918,835),24121=>array(80,-72,925,844),24122=>array(80,-65,952,840),24123=>array(92,-64,929,826),24124=>array(90,-65,890,798),24125=>array(94,-73,916,828),24126=>array(106,-68,941,832),24127=>array(81,-68,975,834),24128=>array(79,-70,946,831),24129=>array(111,-72,961,830),24130=>array(38,-65,979,788),24131=>array(73,-70,938,838),24132=>array(89,-64,935,829),24133=>array(85,-69,924,829),24134=>array(85,-69,948,829),24135=>array(55,-64,948,835),24136=>array(79,-71,960,827),24137=>array(88,-67,958,833),24138=>array(111,-78,962,828),24139=>array(54,-69,970,848),24140=>array(84,-72,941,828),24141=>array(106,-70,927,820),24142=>array(62,-57,950,838),24143=>array(110,-69,977,838),24144=>array(41,-76,957,836),24145=>array(35,-76,964,833),24146=>array(75,-65,969,850),24147=>array(107,-68,972,841),24148=>array(57,-65,953,826),24149=>array(57,-63,954,834),24150=>array(75,-69,957,826),24151=>array(70,-61,923,838),24152=>array(109,-70,964,830),24153=>array(89,-60,948,839),24154=>array(55,-64,942,852),24155=>array(85,-65,935,842),24156=>array(104,-70,963,821),24157=>array(104,-71,965,823),24158=>array(63,-74,937,821),24159=>array(78,-71,948,837),24160=>array(92,-70,965,827),24161=>array(68,-66,934,839),24162=>array(71,-64,931,845),24163=>array(89,-72,962,839),24164=>array(89,-70,945,839),24165=>array(61,-64,958,833),24166=>array(52,-62,959,851),24167=>array(101,-70,989,823),24168=>array(88,-50,935,853),24169=>array(113,-73,970,830),24170=>array(116,-65,981,836),24171=>array(55,-64,948,835),24172=>array(66,-68,938,826),24173=>array(89,-53,955,849),24174=>array(92,-72,946,843),24175=>array(94,-55,926,854),24176=>array(81,-65,952,840),24177=>array(55,-65,922,829),24178=>array(100,-58,900,779),24179=>array(71,-70,920,787),24180=>array(86,-68,917,841),24181=>array(59,-68,954,778),24182=>array(76,-65,929,848),24183=>array(89,-70,898,839),24184=>array(94,-67,909,833),24185=>array(60,-66,970,844),24186=>array(91,-37,914,826),24187=>array(53,-48,902,807),24188=>array(53,-65,906,826),24189=>array(115,-63,885,831),24190=>array(61,-66,958,838),24191=>array(49,-61,908,823),24192=>array(53,-72,939,847),24193=>array(35,-61,930,826),24194=>array(58,-66,950,835),24195=>array(45,-65,935,822),24196=>array(28,-64,942,822),24197=>array(24,-66,918,816),24198=>array(39,-75,941,830),24199=>array(35,-51,964,839),24200=>array(51,-68,954,846),24201=>array(50,-68,951,837),24202=>array(45,-67,964,822),24203=>array(43,-66,980,848),24204=>array(58,-64,945,840),24205=>array(44,-67,936,845),24206=>array(25,-76,936,819),24207=>array(45,-71,918,831),24208=>array(32,-68,914,835),24209=>array(26,-67,924,842),24210=>array(28,-64,942,849),24211=>array(27,-60,925,841),24212=>array(46,-59,928,834),24213=>array(43,-63,952,837),24214=>array(39,-66,943,828),24215=>array(45,-64,948,839),24216=>array(25,-64,908,819),24217=>array(39,-66,913,844),24218=>array(45,-68,963,839),24219=>array(56,-53,956,834),24220=>array(41,-68,937,831),24221=>array(24,-84,936,846),24222=>array(25,-59,928,832),24223=>array(39,-68,947,833),24224=>array(42,-67,951,834),24225=>array(25,-70,938,819),24226=>array(48,-53,954,830),24227=>array(55,-67,954,824),24228=>array(48,-55,956,831),24229=>array(29,-65,966,844),24230=>array(46,-68,950,826),24231=>array(48,-66,928,822),24232=>array(44,-67,930,833),24233=>array(25,-64,959,819),24234=>array(39,-76,958,838),24235=>array(54,-76,941,829),24236=>array(44,-58,956,838),24237=>array(37,-63,968,837),24238=>array(41,-61,932,842),24239=>array(25,-71,908,819),24240=>array(51,-77,954,824),24241=>array(41,-67,959,846),24242=>array(44,-68,954,838),24243=>array(41,-51,955,865),24244=>array(49,-64,942,841),24245=>array(38,-66,965,831),24246=>array(36,-55,945,828),24247=>array(41,-67,966,823),24248=>array(50,-61,954,844),24249=>array(26,-68,968,854),24250=>array(25,-61,930,827),24251=>array(50,-63,940,839),24252=>array(46,-69,944,855),24253=>array(49,-63,945,849),24254=>array(43,-74,967,824),24255=>array(39,-66,913,844),24256=>array(31,-62,961,839),24257=>array(45,-69,948,840),24258=>array(51,-71,942,832),24259=>array(42,-67,965,833),24260=>array(37,-54,968,857),24261=>array(40,-66,954,842),24262=>array(30,-64,961,838),24263=>array(34,-69,948,839),24264=>array(43,-73,952,839),24265=>array(44,-59,970,845),24266=>array(46,-60,949,837),24267=>array(31,-54,967,856),24268=>array(39,-73,951,835),24269=>array(38,-71,947,850),24270=>array(46,-68,968,855),24271=>array(37,-54,968,843),24272=>array(40,-67,956,831),24273=>array(42,-66,951,848),24274=>array(39,-70,966,852),24275=>array(35,-65,942,837),24276=>array(32,-50,959,862),24277=>array(37,-67,985,856),24278=>array(39,-67,958,843),24279=>array(58,-71,957,834),24280=>array(41,-72,951,840),24281=>array(57,-78,965,840),24282=>array(42,-69,949,837),24283=>array(16,-63,951,837),24284=>array(46,-70,956,841),24285=>array(44,-70,947,837),24286=>array(36,-75,974,842),24287=>array(47,-64,947,833),24288=>array(46,-71,938,827),24289=>array(34,-70,964,836),24290=>array(42,-65,965,820),24291=>array(54,-68,950,837),24292=>array(49,-63,968,857),24293=>array(31,-70,971,841),24294=>array(36,-72,953,840),24295=>array(28,-72,942,843),24296=>array(24,-72,940,832),24297=>array(30,-67,964,837),24298=>array(29,-69,920,838),24299=>array(24,-84,958,842),24300=>array(22,-62,961,846),24301=>array(44,-66,932,853),24302=>array(35,-70,956,845),24303=>array(43,-67,959,840),24304=>array(40,-75,967,832),24305=>array(37,-54,949,838),24306=>array(35,-66,947,836),24307=>array(40,-75,957,832),24308=>array(33,-62,949,743),24309=>array(44,-73,953,804),24310=>array(33,-62,949,824),24311=>array(33,-62,949,825),24312=>array(33,-62,949,825),24313=>array(49,-71,973,852),24314=>array(33,-62,949,826),24315=>array(33,-62,949,790),24316=>array(33,-62,949,790),24317=>array(43,-71,972,788),24318=>array(36,-72,930,822),24319=>array(79,-56,932,818),24320=>array(36,-57,906,780),24321=>array(47,-66,954,848),24322=>array(56,-67,953,785),24323=>array(61,-62,928,830),24324=>array(48,-65,934,785),24325=>array(48,-59,961,794),24326=>array(70,-59,944,814),24327=>array(45,-64,972,863),24328=>array(52,-67,943,839),24329=>array(61,-63,936,829),24330=>array(59,-76,955,833),24331=>array(81,-63,933,824),24332=>array(74,-62,944,834),24333=>array(78,-62,948,834),24334=>array(73,-62,944,834),24335=>array(74,-62,944,834),24336=>array(74,-62,944,834),24337=>array(37,-61,949,826),24338=>array(42,-67,962,841),24339=>array(143,-60,857,788),24340=>array(110,-66,896,778),24341=>array(138,-61,844,826),24342=>array(64,-55,930,779),24343=>array(56,-66,904,838),24344=>array(80,-63,945,819),24345=>array(77,-71,956,788),24346=>array(61,-68,954,794),24347=>array(80,-63,957,824),24348=>array(92,-66,893,788),24349=>array(65,-57,953,791),24350=>array(77,-66,977,839),24351=>array(69,-64,902,843),24352=>array(62,-66,943,803),24353=>array(80,-63,951,790),24354=>array(76,-65,981,831),24355=>array(63,-55,949,847),24356=>array(63,-68,954,838),24357=>array(70,-63,955,836),24358=>array(80,-65,961,819),24359=>array(68,-63,958,838),24360=>array(72,-68,909,786),24361=>array(63,-63,952,836),24362=>array(67,-60,920,764),24363=>array(62,-63,953,776),24364=>array(62,-63,953,776),24365=>array(76,-65,941,790),24366=>array(47,-64,956,832),24367=>array(55,-75,946,830),24368=>array(83,-65,912,824),24369=>array(56,-65,917,787),24370=>array(80,-63,911,782),24371=>array(62,-56,936,774),24372=>array(80,-63,944,828),24373=>array(68,-64,962,799),24374=>array(77,-59,971,850),24375=>array(70,-63,955,833),24376=>array(63,-66,901,787),24377=>array(56,-59,918,836),24378=>array(63,-74,940,766),24379=>array(89,-62,927,790),24380=>array(63,-63,939,787),24381=>array(89,-62,968,832),24382=>array(68,-63,952,835),24383=>array(54,-48,976,874),24384=>array(57,-68,975,838),24385=>array(70,-65,944,797),24386=>array(80,-58,890,829),24387=>array(75,-67,961,785),24388=>array(69,-63,951,788),24389=>array(62,-67,964,847),24390=>array(91,-48,944,855),24391=>array(68,-76,926,837),24392=>array(70,-69,948,798),24393=>array(68,-67,962,831),24394=>array(66,-63,946,806),24395=>array(73,-82,969,780),24396=>array(49,-65,951,790),24397=>array(81,-74,959,846),24398=>array(52,-67,955,849),24399=>array(68,-70,967,786),24400=>array(167,-4,786,670),24401=>array(62,-37,941,804),24402=>array(27,-62,861,832),24403=>array(123,-60,878,830),24404=>array(67,-57,941,848),24405=>array(71,-61,965,789),24406=>array(59,-58,964,834),24407=>array(50,-75,951,834),24408=>array(53,-68,958,841),24409=>array(30,-72,965,841),24410=>array(30,-52,965,810),24411=>array(40,-61,956,825),24412=>array(40,-61,962,848),24413=>array(54,-71,956,851),24414=>array(40,-61,956,818),24415=>array(52,-57,978,840),24416=>array(68,-60,978,841),24417=>array(294,-59,800,804),24418=>array(59,-67,955,828),24419=>array(37,-66,949,821),24420=>array(53,-68,951,838),24421=>array(44,-67,926,852),24422=>array(33,-67,921,831),24423=>array(57,-61,956,832),24424=>array(52,-40,964,781),24425=>array(43,-62,958,828),24426=>array(20,-69,956,832),24427=>array(41,-65,963,844),24428=>array(47,-64,952,830),24429=>array(62,-65,957,828),24430=>array(51,-62,949,850),24431=>array(55,-74,961,823),24432=>array(47,-74,955,832),24433=>array(47,-68,961,829),24434=>array(36,-68,961,829),24435=>array(178,-67,756,826),24436=>array(58,-69,920,830),24437=>array(58,-66,945,830),24438=>array(49,-65,968,842),24439=>array(41,-73,942,840),24440=>array(52,-64,959,840),24441=>array(38,-70,963,833),24442=>array(58,-66,936,830),24443=>array(40,-66,911,820),24444=>array(51,-73,961,838),24445=>array(46,-70,962,836),24446=>array(41,-68,957,837),24447=>array(34,-66,915,838),24448=>array(47,-61,937,836),24449=>array(33,-70,954,836),24450=>array(44,-65,952,841),24451=>array(56,-65,952,841),24452=>array(45,-66,968,832),24453=>array(37,-67,947,841),24454=>array(57,-70,942,834),24455=>array(54,-64,923,842),24456=>array(37,-70,950,834),24457=>array(39,-68,948,843),24458=>array(61,-65,914,833),24459=>array(36,-67,954,830),24460=>array(42,-67,953,841),24461=>array(44,-65,931,842),24462=>array(44,-65,938,841),24463=>array(44,-65,945,841),24464=>array(35,-70,963,836),24465=>array(50,-74,956,838),24466=>array(48,-73,961,838),24467=>array(48,-73,961,838),24468=>array(56,-68,955,835),24469=>array(39,-63,941,834),24470=>array(49,-70,957,838),24471=>array(50,-70,947,833),24472=>array(36,-68,955,836),24473=>array(40,-64,970,833),24474=>array(59,-68,964,835),24475=>array(53,-68,956,834),24476=>array(44,-68,933,835),24477=>array(56,-68,930,835),24478=>array(49,-71,966,838),24479=>array(55,-73,900,835),24480=>array(39,-65,972,837),24481=>array(37,-62,917,835),24482=>array(44,-75,963,835),24483=>array(44,-68,953,835),24484=>array(44,-71,964,835),24485=>array(42,-68,963,827),24486=>array(40,-73,967,821),24487=>array(35,-65,910,833),24488=>array(46,-67,953,848),24489=>array(44,-67,970,843),24490=>array(40,-67,941,840),24491=>array(49,-62,954,837),24492=>array(46,-65,953,850),24493=>array(45,-67,956,852),24494=>array(35,-76,964,833),24495=>array(46,-64,973,837),24496=>array(44,-68,945,835),24497=>array(47,-68,954,835),24498=>array(41,-72,962,820),24499=>array(35,-70,958,838),24500=>array(31,-71,973,834),24501=>array(31,-71,973,834),24502=>array(48,-70,973,832),24503=>array(35,-70,960,838),24504=>array(26,-68,957,850),24505=>array(47,-70,951,830),24506=>array(56,-74,947,837),24507=>array(53,-68,972,845),24508=>array(31,-70,966,848),24509=>array(31,-67,961,836),24510=>array(39,-72,974,830),24511=>array(18,-62,965,842),24512=>array(28,-70,976,844),24513=>array(40,-70,967,834),24514=>array(43,-66,957,840),24515=>array(41,-17,958,801),24516=>array(300,-62,695,829),24517=>array(52,-8,960,796),24518=>array(41,-73,935,819),24519=>array(63,-66,874,833),24520=>array(46,-20,954,772),24521=>array(63,-69,903,830),24522=>array(51,-63,933,830),24523=>array(63,-63,957,830),24524=>array(47,-29,946,785),24525=>array(39,-31,961,773),24526=>array(46,-20,954,831),24527=>array(55,-59,950,839),24528=>array(45,-23,963,832),24529=>array(50,-21,968,774),24530=>array(43,-60,962,830),24531=>array(46,-67,963,832),24532=>array(42,-64,948,834),24533=>array(52,-73,958,825),24534=>array(46,-67,954,832),24535=>array(46,-20,954,826),24536=>array(49,-19,951,832),24537=>array(49,-64,935,830),24538=>array(37,-64,945,830),24539=>array(69,-76,948,820),24540=>array(46,-59,961,837),24541=>array(42,-64,956,841),24542=>array(59,-42,945,829),24543=>array(50,-60,977,851),24544=>array(56,-14,976,841),24545=>array(56,-67,912,830),24546=>array(45,-22,967,783),24547=>array(40,-67,971,833),24548=>array(43,-65,956,834),24549=>array(41,-65,962,849),24550=>array(48,-75,982,850),24551=>array(48,-74,928,821),24552=>array(36,-68,949,833),24553=>array(60,-25,978,806),24554=>array(53,-67,962,829),24555=>array(50,-73,964,837),24556=>array(30,-57,941,852),24557=>array(51,-68,964,849),24558=>array(46,-69,979,829),24559=>array(46,-65,958,839),24560=>array(37,-63,954,844),24561=>array(36,-65,956,838),24562=>array(23,-66,944,854),24563=>array(35,-64,953,835),24564=>array(48,-65,975,840),24565=>array(30,-58,963,846),24566=>array(46,-69,958,832),24567=>array(44,-71,907,835),24568=>array(30,-67,953,830),24569=>array(46,-67,948,832),24570=>array(47,-75,963,836),24571=>array(43,-68,945,829),24572=>array(46,-67,957,843),24573=>array(63,-32,953,845),24574=>array(38,-60,954,829),24575=>array(41,-21,951,810),24576=>array(55,-67,959,830),24577=>array(36,-44,937,807),24578=>array(41,-20,943,831),24579=>array(35,-72,929,824),24580=>array(46,-63,924,828),24581=>array(40,-71,942,821),24582=>array(44,-67,936,827),24583=>array(56,-67,946,824),24584=>array(43,-67,954,830),24585=>array(41,-60,947,839),24586=>array(52,-67,900,836),24587=>array(47,-70,954,830),24588=>array(45,-70,951,824),24589=>array(61,-71,971,833),24590=>array(59,-29,954,846),24591=>array(35,-69,968,832),24592=>array(52,-66,908,839),24593=>array(44,-70,937,835),24594=>array(49,-25,959,830),24595=>array(45,-71,959,826),24596=>array(44,-57,953,843),24597=>array(61,-64,922,855),24598=>array(22,-58,929,850),24599=>array(47,-69,957,825),24600=>array(29,-25,970,854),24601=>array(47,-67,950,832),24602=>array(37,-51,951,840),24603=>array(47,-68,953,829),24604=>array(39,-68,962,840),24605=>array(54,-23,935,780),24606=>array(47,-71,899,836),24607=>array(47,-67,953,836),24608=>array(50,-22,968,848),24609=>array(48,-66,947,832),24610=>array(50,-68,967,829),24611=>array(63,-24,965,805),24612=>array(63,-26,965,826),24613=>array(43,-24,947,842),24614=>array(41,-69,956,830),24615=>array(54,-68,951,827),24616=>array(53,-19,964,849),24617=>array(32,-68,955,830),24618=>array(45,-58,976,843),24619=>array(44,-68,933,832),24620=>array(59,-58,903,829),24621=>array(38,-66,957,830),24622=>array(50,-73,915,831),24623=>array(38,-65,951,835),24624=>array(45,-65,961,844),24625=>array(40,-57,969,822),24626=>array(38,-66,948,833),24627=>array(43,-54,969,845),24628=>array(38,-74,942,832),24629=>array(49,-67,959,830),24630=>array(32,-71,978,832),24631=>array(64,-32,957,823),24632=>array(64,-31,957,823),24633=>array(39,-28,954,841),24634=>array(35,-63,964,844),24635=>array(63,-22,938,829),24636=>array(45,-26,934,823),24637=>array(44,-61,971,843),24638=>array(23,-57,933,843),24639=>array(33,-63,946,825),24640=>array(45,-63,941,852),24641=>array(37,-25,945,843),24642=>array(57,-69,914,837),24643=>array(37,-68,947,832),24644=>array(57,-70,922,826),24645=>array(55,-68,941,826),24646=>array(49,-70,955,821),24647=>array(29,-57,963,835),24648=>array(23,-62,929,849),24649=>array(51,-48,938,847),24650=>array(27,-65,924,834),24651=>array(54,-32,945,831),24652=>array(58,-71,954,832),24653=>array(49,-69,963,836),24654=>array(23,-57,950,843),24655=>array(48,-27,949,843),24656=>array(49,-27,947,777),24657=>array(23,-71,956,845),24658=>array(35,-59,955,849),24659=>array(34,-62,938,834),24660=>array(42,-53,957,859),24661=>array(57,-17,967,844),24662=>array(42,-41,960,846),24663=>array(23,-58,966,843),24664=>array(69,-69,967,833),24665=>array(49,-49,954,849),24666=>array(44,-52,954,836),24667=>array(54,-68,893,829),24668=>array(23,-59,964,843),24669=>array(47,-48,950,805),24670=>array(60,-74,948,828),24671=>array(43,-55,924,848),24672=>array(45,-84,963,834),24673=>array(52,-70,937,821),24674=>array(36,-62,959,832),24675=>array(41,-22,946,842),24676=>array(31,-65,964,836),24677=>array(38,-65,970,814),24678=>array(59,-71,894,826),24679=>array(45,-45,982,759),24680=>array(45,-70,957,825),24681=>array(46,-40,965,796),24682=>array(38,-66,966,839),24683=>array(52,-57,923,841),24684=>array(28,-67,944,830),24685=>array(43,-62,968,836),24686=>array(56,-66,958,828),24687=>array(43,-25,949,843),24688=>array(54,-65,982,847),24689=>array(41,-65,961,837),24690=>array(60,-70,956,829),24691=>array(37,-42,924,768),24692=>array(53,-28,946,863),24693=>array(47,-28,942,846),24694=>array(46,-16,935,783),24695=>array(51,-35,942,805),24696=>array(35,-68,892,825),24697=>array(23,-75,941,823),24698=>array(50,-62,928,826),24699=>array(39,-63,878,827),24700=>array(39,-64,937,832),24701=>array(38,-66,915,823),24702=>array(38,-55,933,832),24703=>array(59,-22,976,798),24704=>array(53,-67,900,829),24705=>array(55,-64,900,830),24706=>array(26,-67,927,828),24707=>array(37,-67,907,827),24708=>array(55,-61,934,846),24709=>array(45,-66,968,842),24710=>array(44,-35,967,838),24711=>array(42,-62,968,834),24712=>array(45,-66,949,835),24713=>array(33,-31,959,832),24714=>array(51,-38,958,822),24715=>array(46,-72,954,825),24716=>array(42,-66,937,848),24717=>array(49,-63,955,844),24718=>array(57,-62,939,834),24719=>array(57,-73,964,835),24720=>array(56,-39,962,829),24721=>array(45,-68,941,833),24722=>array(46,-67,958,830),24723=>array(44,-61,944,833),24724=>array(31,-62,955,848),24725=>array(46,-67,951,847),24726=>array(31,-66,949,834),24727=>array(43,-63,960,852),24728=>array(42,-41,960,802),24729=>array(43,-67,951,852),24730=>array(43,-66,971,835),24731=>array(11,-69,953,849),24732=>array(48,-64,960,830),24733=>array(47,-68,961,826),24734=>array(41,-55,968,837),24735=>array(43,-67,945,821),24736=>array(29,-35,957,839),24737=>array(39,-43,953,830),24738=>array(40,-68,960,833),24739=>array(52,-58,958,832),24740=>array(39,-58,958,866),24741=>array(52,-58,958,869),24742=>array(22,-66,960,844),24743=>array(22,-66,918,842),24744=>array(49,-23,963,842),24745=>array(40,-64,900,831),24746=>array(62,-25,962,783),24747=>array(52,-32,939,824),24748=>array(37,-16,933,791),24749=>array(32,-62,945,827),24750=>array(45,-74,947,815),24751=>array(29,-61,885,832),24752=>array(52,-67,972,832),24753=>array(39,-72,948,833),24754=>array(43,-38,953,831),24755=>array(40,-47,945,839),24756=>array(37,-62,952,844),24757=>array(48,-67,976,830),24758=>array(127,-62,886,792),24759=>array(50,-67,960,838),24760=>array(30,-67,974,840),24761=>array(62,-36,957,834),24762=>array(62,-67,924,839),24763=>array(46,-65,960,837),24764=>array(21,-62,944,846),24765=>array(36,-78,948,826),24766=>array(34,-57,953,851),24767=>array(46,-63,979,832),24768=>array(45,-64,974,837),24769=>array(37,-28,970,830),24770=>array(52,-67,912,849),24771=>array(51,-74,949,824),24772=>array(38,-28,955,831),24773=>array(19,-66,939,837),24774=>array(31,-68,891,826),24775=>array(43,-67,971,833),24776=>array(52,-70,968,826),24777=>array(48,-26,965,829),24778=>array(27,-60,974,842),24779=>array(29,-61,959,855),24780=>array(52,-31,955,838),24781=>array(43,-74,965,830),24782=>array(41,-27,964,842),24783=>array(34,-64,988,833),24784=>array(32,-66,918,837),24785=>array(50,-20,958,844),24786=>array(42,-41,960,842),24787=>array(31,-72,989,834),24788=>array(52,-68,964,841),24789=>array(49,-58,914,846),24790=>array(26,-38,971,823),24791=>array(50,-51,972,853),24792=>array(43,-67,911,828),24793=>array(38,-52,962,838),24794=>array(41,-65,965,844),24795=>array(40,-53,956,850),24796=>array(47,-73,956,837),24797=>array(45,-71,914,824),24798=>array(47,-72,961,833),24799=>array(23,-61,946,849),24800=>array(56,-28,953,846),24801=>array(62,-25,962,783),24802=>array(39,-31,977,831),24803=>array(53,-43,940,844),24804=>array(44,-69,957,835),24805=>array(35,-32,983,834),24806=>array(47,-62,958,851),24807=>array(46,-68,964,831),24808=>array(35,-75,982,835),24809=>array(23,-32,932,832),24810=>array(37,-23,955,839),24811=>array(37,-47,962,834),24812=>array(40,-65,929,821),24813=>array(20,-53,910,835),24814=>array(31,-60,954,840),24815=>array(23,-64,925,832),24816=>array(44,-66,953,841),24817=>array(43,-65,929,847),24818=>array(46,-68,962,828),24819=>array(43,-47,956,825),24820=>array(45,-67,956,832),24821=>array(43,-71,952,830),24822=>array(49,-57,956,856),24823=>array(41,-51,968,836),24824=>array(49,-70,959,840),24825=>array(46,-37,962,828),24826=>array(39,-58,958,847),24827=>array(60,-64,921,831),24828=>array(53,-70,925,830),24829=>array(40,-54,963,836),24830=>array(47,-68,969,830),24831=>array(59,-69,981,824),24832=>array(29,-71,977,830),24833=>array(28,-51,960,829),24834=>array(28,-51,955,832),24835=>array(52,-61,956,833),24836=>array(51,-88,969,823),24837=>array(58,-70,953,827),24838=>array(44,-29,957,840),24839=>array(47,-70,944,837),24840=>array(29,-62,965,854),24841=>array(30,-73,981,846),24842=>array(30,-57,935,841),24843=>array(49,-73,972,836),24844=>array(47,-68,972,841),24845=>array(65,-49,963,818),24846=>array(34,-69,980,841),24847=>array(43,-48,959,840),24848=>array(40,-72,947,819),24849=>array(55,-58,914,836),24850=>array(46,-53,916,837),24851=>array(30,-56,952,837),24852=>array(55,-73,954,828),24853=>array(40,-67,963,829),24854=>array(38,-58,952,837),24855=>array(30,-45,954,830),24856=>array(47,-70,974,833),24857=>array(28,-54,990,868),24858=>array(38,-45,954,793),24859=>array(72,-65,948,834),24860=>array(38,-68,958,829),24861=>array(49,-62,945,830),24862=>array(51,-72,957,827),24863=>array(47,-29,951,829),24864=>array(31,-74,948,823),24865=>array(19,-74,961,850),24866=>array(37,-74,961,823),24867=>array(48,-68,950,829),24868=>array(27,-64,930,829),24869=>array(48,-68,988,836),24870=>array(53,-70,937,821),24871=>array(28,-61,952,845),24872=>array(52,-49,960,838),24873=>array(55,-77,958,833),24874=>array(48,-68,941,829),24875=>array(38,-67,980,833),24876=>array(43,-60,961,830),24877=>array(57,-74,936,832),24878=>array(60,-71,955,834),24879=>array(56,-72,968,833),24880=>array(57,-74,941,829),24881=>array(45,-74,963,846),24882=>array(58,-67,914,833),24883=>array(28,-23,955,789),24884=>array(30,-67,982,852),24885=>array(52,-70,917,821),24886=>array(60,-58,932,849),24887=>array(37,-68,951,835),24888=>array(44,-33,957,835),24889=>array(52,-76,962,841),24890=>array(49,-68,950,834),24891=>array(62,-40,970,831),24892=>array(49,-66,927,834),24893=>array(40,-66,951,834),24894=>array(32,-63,974,851),24895=>array(43,-52,963,812),24896=>array(47,-71,974,831),24897=>array(62,-38,967,780),24898=>array(42,-50,957,816),24899=>array(44,-72,955,851),24900=>array(38,-59,976,835),24901=>array(55,-75,971,829),24902=>array(50,-54,926,853),24903=>array(40,-42,974,845),24904=>array(38,-48,951,837),24905=>array(50,-72,951,841),24906=>array(35,-72,975,849),24907=>array(50,-48,954,848),24908=>array(41,-68,962,836),24909=>array(48,-72,965,826),24910=>array(41,-69,951,843),24911=>array(60,-78,952,835),24912=>array(47,-51,963,831),24913=>array(48,-65,952,830),24914=>array(46,-72,953,824),24915=>array(39,-68,984,829),24916=>array(48,-71,973,832),24917=>array(51,-63,964,833),24918=>array(53,-74,919,822),24919=>array(15,-43,954,829),24920=>array(29,-76,967,847),24921=>array(38,-58,953,837),24922=>array(37,-63,965,846),24923=>array(38,-68,952,829),24924=>array(47,-44,964,853),24925=>array(41,-58,963,824),24926=>array(20,-58,953,854),24927=>array(52,-74,934,830),24928=>array(36,-76,960,838),24929=>array(40,-73,960,829),24930=>array(38,-69,970,825),24931=>array(40,-68,967,843),24932=>array(52,-49,968,818),24933=>array(39,-66,945,838),24934=>array(39,-36,981,828),24935=>array(49,-52,951,835),24936=>array(28,-70,963,842),24937=>array(40,-67,971,834),24938=>array(40,-68,959,828),24939=>array(42,-50,958,845),24940=>array(47,-64,953,829),24941=>array(44,-33,970,835),24942=>array(45,-77,957,841),24943=>array(40,-68,963,845),24944=>array(55,-21,959,838),24945=>array(39,-65,952,828),24946=>array(48,-65,956,827),24947=>array(37,-68,954,829),24948=>array(54,-66,915,826),24949=>array(37,-65,959,842),24950=>array(50,-67,951,838),24951=>array(39,-57,955,846),24952=>array(57,-31,959,849),24953=>array(57,-31,959,834),24954=>array(32,-75,952,830),24955=>array(41,-76,981,845),24956=>array(36,-29,965,844),24957=>array(35,-63,963,842),24958=>array(38,-25,973,841),24959=>array(70,-32,957,800),24960=>array(51,-70,979,824),24961=>array(45,-65,964,834),24962=>array(55,-60,966,816),24963=>array(38,-39,982,847),24964=>array(37,-45,958,837),24965=>array(58,-51,979,859),24966=>array(33,-69,945,835),24967=>array(47,-29,961,817),24968=>array(45,-72,962,829),24969=>array(42,-73,971,828),24970=>array(42,-70,957,834),24971=>array(48,-28,965,843),24972=>array(39,-36,963,833),24973=>array(28,-60,975,848),24974=>array(38,-73,905,835),24975=>array(46,-61,972,854),24976=>array(36,-76,962,832),24977=>array(42,-58,960,800),24978=>array(36,-70,966,833),24979=>array(43,-61,971,835),24980=>array(25,-67,963,846),24981=>array(43,-61,963,837),24982=>array(25,-60,970,835),24983=>array(29,-60,952,841),24984=>array(52,-70,956,837),24985=>array(37,-47,961,844),24986=>array(42,-63,965,832),24987=>array(42,-72,961,824),24988=>array(45,-62,965,833),24989=>array(53,-52,976,834),24990=>array(23,-75,954,837),24991=>array(32,-68,967,823),24992=>array(31,-47,961,818),24993=>array(48,-70,979,836),24994=>array(17,-87,964,830),24995=>array(29,-70,962,829),24996=>array(36,-72,956,836),24997=>array(40,-47,961,832),24998=>array(52,-70,946,833),24999=>array(38,-68,950,831),25000=>array(50,-33,959,837),25001=>array(43,-29,958,845),25002=>array(36,-68,908,825),25003=>array(51,-55,902,846),25004=>array(46,-68,963,828),25005=>array(34,-58,971,845),25006=>array(38,-71,974,832),25007=>array(45,-59,961,832),25008=>array(44,-62,944,826),25009=>array(47,-71,972,838),25010=>array(42,-38,976,839),25011=>array(36,-70,954,825),25012=>array(35,-65,973,828),25013=>array(49,-39,948,821),25014=>array(32,-68,965,840),25015=>array(38,-66,960,824),25016=>array(32,-66,976,857),25017=>array(41,-65,984,838),25018=>array(43,-67,957,842),25019=>array(43,-67,957,847),25020=>array(45,-32,957,835),25021=>array(48,-56,968,847),25022=>array(38,-71,970,832),25023=>array(33,-78,968,841),25024=>array(37,-72,973,864),25025=>array(37,-79,974,819),25026=>array(46,-58,967,845),25027=>array(38,-66,959,832),25028=>array(29,-69,952,841),25029=>array(31,-85,978,829),25030=>array(42,-62,976,830),25031=>array(48,-26,955,844),25032=>array(29,-63,950,845),25033=>array(39,-68,953,843),25034=>array(18,-68,949,860),25035=>array(42,-58,959,832),25036=>array(44,-63,964,831),25037=>array(38,-68,971,844),25038=>array(53,-68,950,833),25039=>array(49,-70,932,848),25040=>array(40,-71,965,839),25041=>array(53,-26,941,821),25042=>array(30,-63,943,838),25043=>array(48,-69,975,843),25044=>array(33,-70,947,847),25045=>array(36,-59,959,821),25046=>array(51,-41,944,827),25047=>array(25,-69,956,833),25048=>array(53,-52,953,811),25049=>array(60,-71,942,821),25050=>array(33,-71,953,830),25051=>array(37,-71,953,826),25052=>array(37,-71,963,825),25053=>array(49,-71,974,830),25054=>array(41,-59,971,836),25055=>array(46,-44,966,823),25056=>array(38,-70,964,836),25057=>array(38,-69,962,846),25058=>array(43,-73,964,821),25059=>array(46,-62,966,834),25060=>array(38,-69,957,830),25061=>array(44,-70,976,829),25062=>array(48,-59,964,843),25063=>array(44,-68,962,839),25064=>array(36,-71,975,838),25065=>array(34,-56,967,858),25066=>array(41,-70,980,825),25067=>array(47,-73,957,844),25068=>array(29,-55,952,847),25069=>array(51,-85,939,836),25070=>array(47,-73,955,828),25071=>array(48,-41,980,826),25072=>array(47,-65,905,848),25073=>array(47,-71,960,824),25074=>array(32,-42,963,846),25075=>array(26,-56,988,836),25076=>array(27,-68,962,845),25077=>array(41,-68,954,835),25078=>array(32,-72,970,845),25079=>array(43,-69,962,841),25080=>array(46,-32,965,836),25081=>array(29,-67,984,840),25082=>array(27,-67,963,846),25083=>array(30,-80,966,830),25084=>array(29,-65,957,826),25085=>array(42,-68,953,826),25086=>array(43,-66,963,830),25087=>array(43,-55,963,834),25088=>array(42,-54,961,841),25089=>array(39,-44,967,836),25090=>array(40,-72,960,854),25091=>array(42,-78,962,829),25092=>array(34,-57,971,836),25093=>array(39,-36,957,842),25094=>array(59,-29,941,826),25095=>array(39,-36,957,846),25096=>array(90,-52,956,829),25097=>array(73,-64,966,832),25098=>array(65,-64,951,840),25099=>array(74,-70,930,820),25100=>array(51,-57,951,836),25101=>array(64,-67,953,837),25102=>array(50,-66,952,830),25103=>array(42,-68,934,825),25104=>array(50,-72,946,831),25105=>array(61,-60,933,832),25106=>array(61,-64,955,838),25107=>array(70,-66,956,838),25108=>array(85,-58,935,840),25109=>array(44,-68,961,829),25110=>array(70,-58,956,838),25111=>array(32,-74,938,826),25112=>array(100,-69,937,829),25113=>array(102,-67,957,823),25114=>array(65,-60,962,836),25115=>array(81,-57,949,788),25116=>array(67,-67,953,838),25117=>array(63,-74,946,834),25118=>array(77,-49,935,796),25119=>array(51,-65,946,834),25120=>array(68,-69,968,839),25121=>array(33,-72,939,836),25122=>array(43,-64,954,830),25123=>array(45,-71,964,832),25124=>array(33,-65,958,828),25125=>array(52,-59,956,832),25126=>array(35,-73,947,833),25127=>array(43,-64,970,848),25128=>array(65,-65,956,829),25129=>array(52,-65,956,829),25130=>array(54,-61,959,837),25131=>array(36,-63,964,829),25132=>array(52,-61,947,815),25133=>array(42,-70,958,844),25134=>array(39,-77,962,835),25135=>array(52,-68,956,837),25136=>array(56,-73,947,832),25137=>array(41,-65,949,834),25138=>array(52,-68,958,835),25139=>array(24,-62,946,836),25140=>array(43,-63,938,834),25141=>array(50,-65,958,827),25142=>array(69,-64,882,838),25143=>array(53,-66,849,842),25144=>array(57,-64,918,764),25145=>array(45,-71,939,836),25146=>array(51,-59,963,831),25147=>array(39,-68,947,799),25148=>array(89,-72,914,783),25149=>array(57,-67,954,841),25150=>array(44,-71,941,837),25151=>array(40,-66,938,804),25152=>array(42,-70,959,841),25153=>array(43,-70,908,796),25154=>array(61,-65,906,826),25155=>array(45,-64,898,853),25156=>array(38,-68,899,843),25157=>array(38,-68,901,847),25158=>array(38,-68,983,850),25159=>array(35,-67,896,811),25160=>array(28,-68,961,802),25161=>array(28,-77,947,810),25162=>array(52,-72,962,836),25163=>array(85,-68,913,833),25164=>array(266,-62,684,829),25165=>array(64,-62,916,835),25166=>array(53,-61,943,828),25167=>array(56,-61,960,828),25168=>array(66,-71,909,829),25169=>array(53,-48,964,849),25170=>array(45,-65,955,830),25171=>array(54,-62,934,830),25172=>array(66,-67,919,829),25173=>array(43,-61,953,828),25174=>array(80,-61,957,828),25175=>array(53,-61,945,829),25176=>array(55,-69,930,826),25177=>array(61,-69,968,830),25178=>array(58,-67,918,831),25179=>array(44,-64,934,829),25180=>array(59,-65,958,830),25181=>array(39,-61,944,828),25182=>array(48,-53,951,841),25183=>array(39,-65,958,828),25184=>array(38,-56,959,837),25185=>array(48,-57,958,836),25186=>array(47,-63,950,836),25187=>array(71,-68,893,830),25188=>array(53,-68,947,832),25189=>array(53,-66,960,827),25190=>array(46,-64,947,832),25191=>array(25,-67,945,825),25192=>array(42,-61,964,826),25193=>array(42,-63,922,826),25194=>array(29,-65,882,826),25195=>array(44,-62,885,830),25196=>array(55,-65,889,831),25197=>array(39,-53,947,841),25198=>array(49,-64,963,820),25199=>array(52,-57,945,830),25200=>array(50,-66,958,832),25201=>array(41,-51,962,840),25202=>array(59,-68,973,839),25203=>array(45,-78,963,826),25204=>array(68,-66,964,832),25205=>array(42,-55,975,845),25206=>array(50,-72,962,833),25207=>array(50,-67,968,832),25208=>array(78,-58,907,839),25209=>array(45,-72,961,823),25210=>array(42,-55,963,853),25211=>array(48,-69,963,840),25212=>array(50,-69,950,829),25213=>array(50,-67,960,828),25214=>array(63,-68,950,825),25215=>array(33,-67,965,785),25216=>array(37,-74,952,824),25217=>array(50,-64,949,844),25218=>array(63,-55,948,839),25219=>array(62,-59,958,831),25220=>array(39,-63,960,829),25221=>array(31,-55,921,840),25222=>array(37,-57,974,851),25223=>array(57,-63,897,832),25224=>array(56,-66,903,829),25225=>array(53,-64,961,837),25226=>array(40,-62,941,833),25227=>array(42,-55,967,839),25228=>array(61,-58,962,838),25229=>array(42,-65,969,839),25230=>array(51,-71,954,826),25231=>array(56,-70,957,826),25232=>array(58,-66,895,835),25233=>array(47,-69,905,834),25234=>array(57,-58,941,833),25235=>array(40,-69,959,829),25236=>array(57,-52,969,839),25237=>array(56,-66,963,821),25238=>array(52,-64,947,828),25239=>array(46,-63,959,829),25240=>array(61,-68,938,834),25241=>array(48,-67,939,839),25242=>array(31,-60,935,829),25243=>array(28,-78,930,821),25244=>array(51,-77,950,835),25245=>array(55,-55,907,853),25246=>array(42,-56,958,839),25247=>array(37,-66,914,823),25248=>array(36,-54,912,832),25249=>array(36,-56,948,832),25250=>array(38,-71,950,828),25251=>array(46,-63,920,830),25252=>array(27,-66,872,828),25253=>array(49,-69,946,820),25254=>array(54,-52,950,838),25255=>array(93,-57,957,833),25256=>array(41,-65,943,827),25257=>array(50,-66,953,828),25258=>array(39,-65,941,838),25259=>array(45,-71,978,832),25260=>array(44,-70,953,839),25261=>array(44,-60,954,830),25262=>array(51,-62,952,845),25263=>array(45,-62,951,827),25264=>array(44,-69,956,833),25265=>array(50,-61,955,840),25266=>array(56,-70,953,821),25267=>array(50,-74,955,828),25268=>array(49,-67,951,828),25269=>array(43,-64,957,831),25270=>array(50,-70,965,827),25271=>array(45,-56,951,823),25272=>array(58,-67,969,831),25273=>array(61,-67,962,835),25274=>array(61,-65,942,832),25275=>array(43,-68,905,836),25276=>array(73,-66,908,828),25277=>array(62,-67,899,836),25278=>array(52,-60,960,839),25279=>array(48,-64,956,828),25280=>array(61,-64,972,832),25281=>array(61,-64,928,832),25282=>array(53,-69,931,816),25283=>array(57,-62,944,841),25284=>array(48,-68,951,836),25285=>array(44,-60,953,836),25286=>array(53,-62,935,838),25287=>array(37,-68,953,825),25288=>array(50,-67,947,829),25289=>array(49,-64,947,829),25290=>array(52,-62,959,841),25291=>array(44,-73,948,825),25292=>array(48,-64,942,828),25293=>array(73,-64,904,851),25294=>array(42,-68,970,851),25295=>array(60,-58,974,851),25296=>array(49,-64,910,826),25297=>array(63,-67,959,826),25298=>array(39,-68,944,832),25299=>array(53,-63,936,826),25300=>array(40,-77,954,835),25301=>array(74,-64,944,831),25302=>array(43,-62,954,839),25303=>array(61,-73,920,832),25304=>array(65,-61,909,849),25305=>array(60,-63,912,832),25306=>array(52,-75,950,845),25307=>array(69,-67,913,820),25308=>array(47,-79,956,829),25309=>array(44,-66,946,835),25310=>array(70,-64,943,832),25311=>array(41,-61,937,830),25312=>array(55,-61,956,832),25313=>array(36,-66,949,832),25314=>array(31,-52,961,837),25315=>array(29,-61,932,835),25316=>array(57,-68,938,832),25317=>array(40,-72,893,824),25318=>array(38,-55,923,830),25319=>array(40,-61,918,836),25320=>array(38,-74,925,820),25321=>array(30,-64,942,826),25322=>array(61,-63,935,832),25323=>array(54,-66,967,829),25324=>array(39,-70,952,835),25325=>array(43,-70,964,827),25326=>array(45,-67,957,828),25327=>array(37,-71,964,823),25328=>array(58,-72,951,823),25329=>array(35,-69,953,826),25330=>array(36,-65,977,828),25331=>array(38,-67,965,838),25332=>array(33,-64,960,829),25333=>array(60,-68,959,830),25334=>array(46,-64,945,839),25335=>array(41,-65,952,833),25336=>array(60,-75,940,833),25337=>array(54,-71,928,826),25338=>array(55,-65,953,832),25339=>array(56,-80,958,822),25340=>array(48,-70,949,839),25341=>array(44,-64,961,836),25342=>array(45,-63,961,848),25343=>array(38,-70,969,862),25344=>array(62,-81,950,819),25345=>array(39,-64,944,834),25346=>array(36,-49,951,844),25347=>array(56,-52,951,830),25348=>array(60,-66,942,844),25349=>array(60,-62,952,832),25350=>array(78,-62,976,844),25351=>array(52,-68,937,829),25352=>array(54,-62,951,835),25353=>array(57,-67,948,832),25354=>array(41,-66,946,844),25355=>array(57,-50,953,827),25356=>array(49,-65,987,846),25357=>array(46,-51,974,859),25358=>array(48,-65,963,839),25359=>array(60,-74,911,815),25360=>array(63,-51,959,855),25361=>array(47,-75,950,825),25362=>array(60,-78,927,823),25363=>array(44,-64,959,834),25364=>array(52,-64,964,829),25365=>array(66,-70,957,817),25366=>array(38,-65,943,846),25367=>array(60,-62,963,844),25368=>array(49,-67,950,835),25369=>array(19,-68,951,835),25370=>array(54,-68,942,824),25371=>array(42,-60,920,845),25372=>array(60,-50,954,844),25373=>array(25,-62,945,831),25374=>array(34,-60,942,830),25375=>array(26,-64,948,832),25376=>array(42,-64,930,825),25377=>array(35,-62,883,826),25378=>array(36,-64,948,826),25379=>array(36,-66,923,832),25380=>array(37,-61,938,834),25381=>array(33,-59,911,832),25382=>array(61,-61,936,832),25383=>array(60,-53,909,844),25384=>array(42,-69,965,834),25385=>array(46,-66,956,829),25386=>array(47,-73,950,822),25387=>array(51,-71,948,829),25388=>array(56,-59,953,835),25389=>array(53,-60,969,836),25390=>array(60,-67,926,844),25391=>array(45,-74,963,821),25392=>array(60,-49,950,838),25393=>array(60,-60,969,832),25394=>array(56,-63,952,839),25395=>array(53,-66,949,827),25396=>array(40,-64,947,828),25397=>array(38,-51,951,841),25398=>array(36,-56,916,841),25399=>array(39,-68,950,836),25400=>array(56,-72,947,829),25401=>array(36,-68,956,823),25402=>array(44,-66,964,824),25403=>array(52,-73,956,826),25404=>array(41,-56,944,858),25405=>array(44,-69,965,840),25406=>array(47,-70,964,835),25407=>array(60,-52,939,844),25408=>array(60,-64,969,831),25409=>array(50,-68,932,828),25410=>array(43,-72,952,823),25411=>array(51,-65,966,833),25412=>array(59,-65,952,832),25413=>array(62,-70,915,825),25414=>array(53,-69,915,826),25415=>array(56,-69,958,829),25416=>array(43,-59,965,832),25417=>array(35,-72,953,821),25418=>array(53,-63,953,832),25419=>array(48,-67,952,826),25420=>array(45,-71,909,825),25421=>array(38,-68,951,826),25422=>array(52,-65,919,835),25423=>array(56,-67,956,828),25424=>array(55,-67,903,823),25425=>array(56,-73,958,831),25426=>array(67,-65,955,835),25427=>array(64,-67,958,829),25428=>array(76,-65,912,829),25429=>array(39,-69,950,832),25430=>array(46,-69,950,834),25431=>array(58,-64,966,827),25432=>array(65,-65,979,836),25433=>array(59,-65,954,829),25434=>array(67,-63,956,829),25435=>array(67,-63,915,829),25436=>array(44,-78,963,829),25437=>array(67,-61,968,829),25438=>array(44,-63,914,832),25439=>array(32,-64,937,827),25440=>array(50,-64,931,829),25441=>array(31,-63,931,830),25442=>array(25,-73,948,825),25443=>array(49,-62,900,836),25444=>array(66,-67,951,824),25445=>array(58,-70,961,852),25446=>array(73,-52,966,835),25447=>array(36,-74,967,834),25448=>array(43,-68,969,845),25449=>array(27,-66,959,826),25450=>array(67,-65,960,833),25451=>array(54,-63,904,832),25452=>array(37,-60,949,849),25453=>array(37,-65,947,846),25454=>array(37,-54,943,838),25455=>array(56,-64,914,830),25456=>array(50,-64,974,832),25457=>array(50,-71,967,842),25458=>array(36,-56,967,835),25459=>array(53,-58,951,833),25460=>array(67,-61,962,829),25461=>array(41,-54,950,843),25462=>array(30,-71,933,833),25463=>array(40,-75,963,833),25464=>array(54,-69,959,824),25465=>array(67,-72,957,829),25466=>array(23,-61,963,847),25467=>array(27,-64,961,853),25468=>array(53,-59,967,840),25469=>array(51,-51,953,854),25470=>array(67,-64,939,845),25471=>array(67,-63,938,835),25472=>array(45,-72,961,833),25473=>array(53,-71,968,832),25474=>array(56,-74,938,840),25475=>array(44,-65,922,829),25476=>array(38,-65,974,853),25477=>array(46,-65,959,836),25478=>array(67,-65,906,829),25479=>array(41,-67,975,827),25480=>array(52,-69,964,832),25481=>array(46,-71,944,825),25482=>array(48,-65,959,845),25483=>array(67,-69,966,839),25484=>array(79,-61,932,835),25485=>array(51,-69,960,827),25486=>array(45,-63,966,842),25487=>array(62,-69,921,841),25488=>array(61,-65,908,842),25489=>array(50,-73,953,835),25490=>array(41,-69,951,831),25491=>array(41,-71,958,832),25492=>array(73,-69,951,788),25493=>array(40,-72,971,820),25494=>array(40,-74,963,820),25495=>array(38,-65,965,842),25496=>array(49,-76,911,829),25497=>array(40,-66,952,828),25498=>array(40,-69,942,820),25499=>array(38,-65,968,829),25500=>array(48,-70,957,832),25501=>array(53,-70,951,827),25502=>array(45,-52,971,852),25503=>array(34,-60,966,837),25504=>array(41,-71,955,826),25505=>array(39,-58,975,848),25506=>array(39,-69,966,824),25507=>array(45,-71,942,827),25508=>array(49,-69,898,829),25509=>array(43,-71,950,828),25510=>array(40,-69,911,820),25511=>array(36,-65,945,828),25512=>array(52,-68,955,836),25513=>array(41,-68,966,839),25514=>array(49,-72,948,824),25515=>array(41,-51,968,841),25516=>array(50,-62,914,844),25517=>array(46,-59,988,832),25518=>array(55,-68,951,836),25519=>array(38,-67,951,832),25520=>array(54,-52,954,826),25521=>array(83,-67,944,831),25522=>array(73,-71,924,818),25523=>array(31,-65,909,832),25524=>array(37,-60,904,830),25525=>array(40,-72,977,828),25526=>array(40,-71,956,856),25527=>array(22,-70,923,824),25528=>array(41,-63,917,837),25529=>array(65,-59,954,825),25530=>array(54,-62,942,835),25531=>array(28,-65,973,826),25532=>array(30,-64,921,829),25533=>array(42,-60,947,854),25534=>array(49,-63,975,839),25535=>array(40,-72,948,836),25536=>array(37,-65,965,835),25537=>array(59,-74,962,821),25538=>array(61,-68,955,839),25539=>array(43,-68,950,837),25540=>array(39,-64,973,831),25541=>array(40,-69,941,785),25542=>array(46,-67,954,835),25543=>array(50,-67,947,829),25544=>array(53,-72,899,823),25545=>array(46,-69,964,826),25546=>array(55,-70,952,828),25547=>array(50,-74,972,828),25548=>array(57,-70,971,821),25549=>array(36,-66,968,845),25550=>array(47,-59,965,851),25551=>array(53,-69,955,828),25552=>array(48,-72,969,826),25553=>array(55,-72,954,820),25554=>array(48,-71,940,836),25555=>array(57,-68,962,828),25556=>array(33,-50,972,850),25557=>array(54,-64,949,828),25558=>array(37,-67,948,829),25559=>array(51,-72,957,832),25560=>array(53,-71,951,838),25561=>array(62,-69,920,832),25562=>array(46,-77,944,820),25563=>array(40,-65,971,838),25564=>array(36,-60,975,862),25565=>array(53,-69,977,829),25566=>array(35,-72,912,831),25567=>array(57,-74,964,823),25568=>array(41,-63,953,829),25569=>array(54,-62,943,830),25570=>array(40,-72,960,849),25571=>array(37,-63,954,836),25572=>array(57,-64,901,830),25573=>array(55,-67,943,838),25574=>array(44,-67,903,831),25575=>array(43,-68,949,831),25576=>array(49,-69,941,833),25577=>array(50,-68,949,830),25578=>array(34,-66,964,829),25579=>array(66,-51,969,851),25580=>array(40,-69,960,836),25581=>array(73,-71,924,818),25582=>array(56,-68,945,825),25583=>array(56,-68,956,825),25584=>array(53,-62,954,830),25585=>array(67,-70,941,833),25586=>array(38,-53,971,843),25587=>array(53,-73,961,827),25588=>array(61,-69,969,830),25589=>array(38,-66,959,823),25590=>array(34,-64,945,829),25591=>array(48,-70,940,826),25592=>array(28,-57,971,836),25593=>array(48,-63,953,827),25594=>array(39,-76,937,819),25595=>array(35,-66,971,829),25596=>array(49,-61,974,833),25597=>array(32,-60,930,833),25598=>array(40,-72,967,820),25599=>array(35,-68,938,825),25600=>array(43,-63,939,829),25601=>array(42,-73,897,824),25602=>array(35,-53,943,837),25603=>array(95,-59,950,822),25604=>array(50,-59,960,849),25605=>array(34,-63,926,837),25606=>array(39,-68,958,836),25607=>array(45,-64,971,842),25608=>array(52,-72,962,837),25609=>array(39,-58,957,851),25610=>array(53,-62,909,836),25611=>array(53,-75,968,828),25612=>array(53,-75,968,827),25613=>array(51,-70,956,822),25614=>array(61,-68,961,828),25615=>array(50,-66,945,832),25616=>array(50,-75,950,843),25617=>array(43,-67,954,829),25618=>array(53,-57,962,853),25619=>array(27,-66,933,843),25620=>array(28,-65,950,826),25621=>array(51,-61,954,826),25622=>array(42,-64,945,845),25623=>array(66,-60,921,844),25624=>array(47,-50,955,847),25625=>array(43,-64,953,829),25626=>array(55,-64,934,838),25627=>array(49,-70,953,838),25628=>array(44,-78,963,832),25629=>array(67,-67,971,843),25630=>array(60,-67,940,842),25631=>array(48,-72,952,823),25632=>array(56,-70,915,835),25633=>array(35,-67,964,829),25634=>array(43,-65,958,833),25635=>array(44,-72,968,831),25636=>array(41,-50,954,859),25637=>array(44,-55,967,857),25638=>array(52,-64,917,828),25639=>array(56,-71,923,838),25640=>array(59,-64,918,827),25641=>array(43,-65,969,838),25642=>array(46,-70,948,843),25643=>array(50,-64,957,842),25644=>array(38,-71,976,838),25645=>array(40,-71,966,830),25646=>array(56,-70,975,826),25647=>array(43,-70,920,838),25648=>array(56,-68,916,827),25649=>array(67,-71,928,829),25650=>array(38,-66,960,844),25651=>array(47,-70,948,836),25652=>array(36,-59,981,845),25653=>array(49,-67,965,826),25654=>array(37,-66,970,849),25655=>array(58,-72,961,836),25656=>array(43,-68,973,839),25657=>array(55,-65,952,825),25658=>array(39,-77,947,839),25659=>array(38,-64,969,862),25660=>array(43,-69,970,839),25661=>array(40,-65,965,830),25662=>array(42,-61,952,837),25663=>array(52,-57,955,822),25664=>array(56,-69,945,842),25665=>array(65,-62,955,826),25666=>array(47,-58,951,835),25667=>array(35,-55,954,837),25668=>array(47,-60,960,835),25669=>array(38,-63,967,830),25670=>array(31,-63,934,834),25671=>array(28,-76,914,819),25672=>array(43,-64,932,844),25673=>array(52,-64,975,841),25674=>array(38,-66,922,830),25675=>array(45,-73,967,835),25676=>array(55,-71,942,847),25677=>array(58,-71,950,832),25678=>array(55,-70,968,826),25679=>array(52,-64,976,835),25680=>array(50,-66,974,832),25681=>array(56,-68,927,827),25682=>array(43,-69,955,830),25683=>array(51,-66,965,829),25684=>array(40,-66,958,846),25685=>array(43,-68,960,829),25686=>array(43,-63,968,841),25687=>array(33,-69,978,837),25688=>array(45,-73,948,825),25689=>array(55,-71,974,827),25690=>array(49,-59,945,833),25691=>array(44,-51,945,855),25692=>array(35,-73,955,827),25693=>array(53,-70,956,838),25694=>array(56,-68,953,826),25695=>array(41,-75,942,831),25696=>array(53,-67,964,831),25697=>array(47,-70,965,830),25698=>array(53,-70,938,836),25699=>array(43,-64,953,841),25700=>array(37,-59,946,839),25701=>array(52,-68,949,835),25702=>array(47,-76,978,832),25703=>array(41,-68,953,833),25704=>array(39,-72,954,827),25705=>array(37,-63,940,838),25706=>array(43,-66,984,843),25707=>array(51,-66,958,830),25708=>array(57,-72,961,837),25709=>array(42,-67,962,851),25710=>array(54,-70,971,839),25711=>array(56,-67,952,833),25712=>array(50,-70,974,832),25713=>array(53,-68,975,822),25714=>array(51,-67,955,828),25715=>array(37,-67,951,824),25716=>array(30,-56,948,836),25717=>array(50,-70,959,828),25718=>array(38,-63,959,839),25719=>array(52,-67,970,838),25720=>array(45,-72,971,823),25721=>array(53,-65,965,835),25722=>array(53,-64,910,830),25723=>array(34,-78,966,849),25724=>array(51,-66,956,826),25725=>array(31,-54,948,839),25726=>array(40,-64,959,828),25727=>array(55,-70,964,843),25728=>array(60,-54,946,833),25729=>array(43,-68,957,847),25730=>array(42,-67,975,829),25731=>array(73,-64,955,835),25732=>array(36,-65,923,823),25733=>array(31,-68,971,829),25734=>array(73,-66,953,831),25735=>array(46,-69,971,837),25736=>array(54,-68,942,833),25737=>array(58,-68,971,844),25738=>array(42,-69,911,825),25739=>array(39,-71,905,822),25740=>array(42,-85,953,826),25741=>array(44,-67,957,828),25742=>array(55,-64,955,828),25743=>array(38,-70,962,826),25744=>array(67,-73,954,820),25745=>array(31,-77,941,822),25746=>array(41,-69,963,832),25747=>array(55,-69,953,827),25748=>array(42,-66,955,826),25749=>array(37,-67,942,834),25750=>array(39,-77,982,831),25751=>array(40,-81,962,823),25752=>array(41,-52,962,857),25753=>array(45,-62,963,853),25754=>array(37,-60,970,849),25755=>array(41,-74,954,832),25756=>array(43,-68,983,832),25757=>array(45,-56,943,846),25758=>array(33,-71,948,829),25759=>array(51,-67,976,838),25760=>array(35,-73,972,823),25761=>array(22,-64,978,845),25762=>array(50,-63,949,828),25763=>array(41,-68,956,828),25764=>array(39,-68,961,835),25765=>array(40,-71,959,843),25766=>array(55,-70,980,833),25767=>array(34,-64,973,844),25768=>array(55,-71,969,849),25769=>array(37,-61,968,843),25770=>array(39,-64,973,855),25771=>array(46,-63,954,837),25772=>array(41,-63,958,837),25773=>array(29,-69,971,829),25774=>array(32,-65,948,832),25775=>array(55,-64,965,847),25776=>array(36,-69,955,823),25777=>array(40,-71,949,840),25778=>array(37,-69,975,835),25779=>array(40,-70,973,839),25780=>array(12,-73,975,838),25781=>array(25,-61,936,828),25782=>array(33,-68,945,831),25783=>array(40,-65,943,827),25784=>array(41,-66,915,827),25785=>array(35,-64,965,828),25786=>array(33,-62,912,846),25787=>array(40,-78,955,833),25788=>array(47,-68,960,833),25789=>array(36,-79,974,842),25790=>array(38,-68,966,829),25791=>array(34,-69,961,861),25792=>array(45,-66,964,829),25793=>array(32,-70,958,835),25794=>array(54,-69,924,823),25795=>array(27,-76,966,832),25796=>array(43,-67,954,835),25797=>array(45,-67,957,837),25798=>array(31,-64,963,833),25799=>array(49,-67,935,821),25800=>array(39,-66,972,833),25801=>array(41,-69,924,829),25802=>array(73,-65,956,835),25803=>array(52,-66,918,832),25804=>array(75,-38,967,854),25805=>array(39,-62,954,823),25806=>array(47,-73,951,845),25807=>array(33,-78,971,830),25808=>array(42,-68,958,828),25809=>array(43,-78,970,843),25810=>array(29,-68,963,842),25811=>array(39,-53,949,839),25812=>array(48,-74,950,846),25813=>array(55,-65,960,834),25814=>array(48,-71,939,829),25815=>array(49,-64,965,849),25816=>array(54,-64,949,832),25817=>array(34,-79,975,840),25818=>array(41,-70,964,831),25819=>array(40,-73,985,819),25820=>array(47,-70,984,848),25821=>array(45,-66,979,826),25822=>array(30,-64,958,832),25823=>array(53,-70,958,841),25824=>array(53,-77,953,830),25825=>array(44,-63,961,830),25826=>array(36,-65,952,830),25827=>array(57,-65,954,827),25828=>array(61,-67,962,856),25829=>array(84,-51,955,840),25830=>array(46,-70,966,826),25831=>array(55,-59,965,832),25832=>array(42,-74,967,831),25833=>array(48,-68,953,827),25834=>array(47,-69,954,837),25835=>array(39,-76,969,824),25836=>array(42,-63,956,832),25837=>array(45,-49,966,844),25838=>array(44,-58,958,843),25839=>array(34,-71,960,842),25840=>array(49,-67,952,844),25841=>array(58,-71,913,827),25842=>array(36,-75,949,832),25843=>array(33,-67,939,835),25844=>array(43,-68,960,841),25845=>array(51,-62,962,840),25846=>array(42,-64,955,841),25847=>array(41,-70,972,840),25848=>array(41,-50,970,861),25849=>array(40,-68,977,837),25850=>array(43,-69,952,818),25851=>array(31,-67,963,837),25852=>array(51,-71,961,827),25853=>array(54,-70,952,831),25854=>array(41,-64,963,829),25855=>array(63,-64,986,843),25856=>array(49,-65,960,832),25857=>array(42,-78,975,844),25858=>array(42,-77,948,823),25859=>array(42,-73,973,825),25860=>array(44,-67,965,836),25861=>array(46,-77,960,828),25862=>array(40,-70,954,835),25863=>array(39,-65,960,843),25864=>array(31,-83,974,839),25865=>array(43,-64,967,833),25866=>array(35,-72,964,827),25867=>array(27,-72,970,844),25868=>array(61,-70,923,826),25869=>array(36,-73,976,842),25870=>array(39,-69,954,827),25871=>array(40,-62,954,842),25872=>array(46,-67,982,842),25873=>array(41,-71,986,835),25874=>array(23,-71,933,827),25875=>array(27,-65,980,845),25876=>array(56,-76,912,822),25877=>array(29,-66,972,841),25878=>array(50,-71,953,835),25879=>array(46,-68,966,846),25880=>array(39,-69,970,829),25881=>array(44,-74,964,838),25882=>array(35,-68,959,828),25883=>array(38,-64,969,841),25884=>array(42,-74,944,832),25885=>array(36,-68,955,821),25886=>array(52,-64,962,831),25887=>array(32,-70,974,853),25888=>array(48,-72,954,841),25889=>array(49,-64,962,840),25890=>array(41,-65,968,831),25891=>array(48,-61,957,840),25892=>array(55,-72,951,832),25893=>array(33,-63,970,844),25894=>array(63,-66,961,824),25895=>array(29,-72,959,835),25896=>array(35,-73,973,844),25897=>array(38,-57,956,840),25898=>array(41,-62,959,839),25899=>array(36,-64,970,826),25900=>array(39,-72,956,832),25901=>array(26,-71,967,840),25902=>array(48,-65,975,839),25903=>array(78,-65,945,830),25904=>array(41,-55,968,846),25905=>array(58,-80,972,834),25906=>array(63,-73,973,830),25907=>array(41,-71,981,824),25908=>array(34,-76,942,825),25909=>array(68,-72,932,818),25910=>array(67,-70,951,830),25911=>array(71,-67,979,840),25912=>array(48,-67,949,830),25913=>array(103,-65,946,825),25914=>array(86,-75,969,821),25915=>array(64,-68,957,838),25916=>array(62,-67,967,841),25917=>array(46,-71,963,832),25918=>array(46,-65,956,842),25919=>array(38,-74,956,838),25920=>array(114,-77,970,838),25921=>array(129,-82,955,828),25922=>array(24,-61,976,834),25923=>array(87,-80,962,823),25924=>array(29,-71,970,833),25925=>array(54,-67,958,833),25926=>array(52,-68,969,835),25927=>array(28,-65,972,834),25928=>array(60,-64,956,834),25929=>array(42,-67,975,838),25930=>array(46,-62,970,835),25931=>array(37,-68,959,840),25932=>array(27,-64,947,833),25933=>array(47,-70,960,843),25934=>array(38,-69,971,837),25935=>array(57,-63,971,839),25936=>array(33,-67,971,825),25937=>array(39,-68,955,843),25938=>array(32,-67,963,834),25939=>array(38,-69,969,829),25940=>array(54,-54,973,855),25941=>array(43,-70,970,836),25942=>array(48,-74,946,830),25943=>array(63,-74,963,836),25944=>array(48,-61,967,843),25945=>array(30,-60,950,831),25946=>array(30,-70,972,839),25947=>array(23,-60,932,847),25948=>array(37,-74,971,835),25949=>array(99,-69,967,835),25950=>array(81,-70,966,836),25951=>array(46,-73,957,836),25952=>array(44,-84,965,820),25953=>array(43,-77,971,823),25954=>array(39,-61,960,826),25955=>array(65,-72,956,834),25956=>array(42,-74,968,823),25957=>array(44,-80,966,829),25958=>array(42,-67,961,839),25959=>array(45,-59,962,839),25960=>array(66,-71,969,840),25961=>array(52,-69,969,842),25962=>array(44,-76,965,821),25963=>array(35,-61,944,823),25964=>array(44,-70,969,836),25965=>array(42,-71,969,836),25966=>array(36,-74,970,837),25967=>array(99,-75,967,823),25968=>array(42,-69,959,821),25969=>array(45,-63,967,835),25970=>array(55,-71,957,838),25971=>array(47,-75,969,833),25972=>array(51,-18,946,840),25973=>array(60,-69,967,834),25974=>array(104,-76,985,828),25975=>array(41,-65,969,839),25976=>array(60,-70,959,833),25977=>array(58,-76,984,831),25978=>array(60,-71,959,832),25979=>array(36,-65,970,846),25980=>array(60,-73,973,827),25981=>array(36,-68,974,843),25982=>array(64,-77,978,849),25983=>array(44,-77,978,827),25984=>array(35,-72,970,824),25985=>array(63,-69,977,842),25986=>array(45,-66,970,859),25987=>array(51,-68,955,830),25988=>array(38,-65,972,832),25989=>array(52,-72,967,838),25990=>array(52,-69,969,839),25991=>array(62,-69,947,822),25992=>array(49,-73,951,815),25993=>array(49,-63,951,828),25994=>array(36,-72,959,843),25995=>array(47,-68,921,840),25996=>array(36,-63,963,833),25997=>array(26,-65,974,840),25998=>array(29,-64,974,828),25999=>array(47,-66,971,846),26000=>array(36,-63,964,831),26001=>array(35,-68,956,829),26002=>array(44,-71,936,829),26003=>array(43,-70,888,807),26004=>array(60,-75,983,833),26005=>array(53,-65,927,826),26006=>array(49,-42,951,835),26007=>array(62,-64,946,832),26008=>array(54,-65,950,844),26009=>array(38,-68,956,836),26010=>array(67,-65,948,829),26011=>array(27,-72,946,826),26012=>array(32,-71,945,838),26013=>array(67,-65,946,789),26014=>array(46,-73,954,827),26015=>array(42,-79,944,820),26016=>array(51,-70,954,836),26017=>array(46,-77,960,854),26018=>array(60,-76,954,823),26019=>array(33,-76,948,818),26020=>array(75,-71,902,832),26021=>array(81,-69,895,834),26022=>array(48,-69,959,824),26023=>array(77,-64,941,836),26024=>array(50,-69,941,828),26025=>array(66,-75,925,828),26026=>array(47,-70,957,816),26027=>array(37,-69,951,834),26028=>array(53,-73,945,831),26029=>array(99,-66,946,824),26030=>array(63,-70,951,824),26031=>array(49,-75,944,829),26032=>array(54,-62,944,830),26033=>array(45,-67,934,837),26034=>array(65,-65,959,828),26035=>array(47,-73,952,836),26036=>array(36,-79,957,831),26037=>array(65,-65,959,833),26038=>array(43,-68,927,821),26039=>array(106,-66,950,845),26040=>array(44,-62,960,829),26041=>array(52,-67,936,822),26042=>array(38,-63,976,842),26043=>array(42,-61,969,837),26044=>array(41,-62,966,826),26045=>array(42,-49,952,831),26046=>array(51,-73,956,844),26047=>array(54,-50,952,858),26048=>array(48,-69,962,841),26049=>array(70,-65,906,829),26050=>array(36,-68,951,850),26051=>array(34,-70,951,833),26052=>array(49,-67,967,844),26053=>array(33,-67,969,839),26054=>array(48,-61,965,854),26055=>array(64,-73,959,848),26056=>array(34,-73,961,848),26057=>array(42,-69,947,832),26058=>array(35,-60,963,839),26059=>array(39,-66,966,841),26060=>array(39,-68,954,841),26061=>array(44,-73,974,838),26062=>array(50,-74,960,843),26063=>array(35,-67,966,843),26064=>array(42,-59,968,852),26065=>array(42,-61,962,852),26066=>array(18,-65,958,846),26067=>array(44,-67,955,836),26068=>array(30,-86,964,845),26069=>array(61,-55,976,843),26070=>array(39,-68,945,837),26071=>array(37,-70,955,837),26072=>array(37,-65,957,839),26073=>array(45,-55,959,839),26074=>array(44,-68,958,839),26075=>array(37,-67,971,839),26076=>array(40,-61,955,850),26077=>array(37,-64,980,834),26078=>array(31,-67,985,828),26079=>array(33,-71,967,847),26080=>array(65,-59,944,779),26081=>array(93,-50,947,800),26082=>array(47,-55,961,784),26083=>array(110,-64,946,846),26084=>array(86,-65,972,789),26085=>array(237,-32,788,747),26086=>array(84,-13,936,769),26087=>array(140,-52,860,778),26088=>array(195,-61,883,835),26089=>array(86,-68,934,780),26090=>array(89,-53,949,843),26091=>array(89,-73,905,763),26092=>array(39,-61,899,837),26093=>array(52,-62,957,839),26094=>array(54,-65,974,844),26095=>array(54,-66,972,776),26096=>array(92,-65,927,770),26097=>array(85,-61,939,785),26098=>array(46,-66,969,789),26099=>array(111,-64,905,841),26100=>array(101,-54,951,789),26101=>array(121,-66,879,786),26102=>array(103,-62,927,829),26103=>array(87,-65,912,832),26104=>array(95,-68,914,775),26105=>array(63,-64,937,833),26106=>array(91,-7,934,781),26107=>array(35,-58,968,796),26108=>array(95,-74,943,815),26109=>array(92,-47,967,823),26110=>array(73,-64,956,836),26111=>array(111,-67,948,837),26112=>array(105,-54,903,830),26113=>array(104,-62,945,831),26114=>array(69,-61,899,791),26115=>array(48,-72,950,789),26116=>array(102,-69,956,791),26117=>array(109,-71,959,787),26118=>array(82,-50,958,796),26119=>array(51,-62,954,789),26120=>array(105,-66,934,833),26121=>array(99,-56,947,825),26122=>array(68,-68,952,786),26123=>array(49,-68,956,831),26124=>array(158,-64,856,788),26125=>array(116,-53,884,788),26126=>array(109,-65,869,787),26127=>array(86,-69,937,843),26128=>array(109,-70,960,784),26129=>array(103,-66,956,831),26130=>array(103,-63,911,839),26131=>array(75,-67,866,782),26132=>array(79,-62,930,828),26133=>array(101,-68,936,838),26134=>array(101,-46,965,807),26135=>array(77,-68,943,795),26136=>array(64,-63,933,810),26137=>array(66,-74,918,779),26138=>array(66,-53,957,835),26139=>array(97,-14,952,788),26140=>array(49,-60,936,798),26141=>array(67,-68,973,845),26142=>array(57,-62,942,786),26143=>array(96,-18,935,780),26144=>array(88,-67,953,832),26145=>array(118,-57,955,822),26146=>array(123,-69,901,824),26147=>array(100,-72,974,849),26148=>array(102,-65,948,839),26149=>array(45,-67,962,837),26150=>array(50,-68,959,774),26151=>array(100,-65,966,832),26152=>array(116,-62,955,845),26153=>array(73,-67,961,830),26154=>array(51,-65,932,805),26155=>array(115,-56,919,830),26156=>array(159,-68,937,812),26157=>array(120,-68,901,785),26158=>array(50,-72,916,778),26159=>array(68,-66,960,790),26160=>array(64,-24,942,802),26161=>array(70,-18,944,788),26162=>array(106,-66,918,830),26163=>array(120,-76,961,824),26164=>array(84,-67,892,787),26165=>array(104,-71,939,778),26166=>array(33,-62,976,802),26167=>array(57,-14,948,788),26168=>array(110,-77,964,837),26169=>array(99,-66,965,835),26170=>array(85,-69,938,776),26171=>array(50,-61,898,791),26172=>array(41,-43,964,789),26173=>array(91,-61,926,824),26174=>array(53,-17,921,784),26175=>array(95,-56,948,819),26176=>array(113,-68,965,830),26177=>array(47,-65,960,788),26178=>array(113,-65,948,839),26179=>array(54,-51,948,800),26180=>array(108,-57,959,831),26181=>array(102,-31,946,776),26182=>array(102,-22,959,836),26183=>array(104,-72,965,837),26184=>array(89,-63,944,846),26185=>array(72,-60,944,790),26186=>array(110,-12,953,774),26187=>array(74,-65,926,799),26188=>array(107,-68,907,847),26189=>array(107,-65,895,782),26190=>array(107,-69,953,828),26191=>array(61,-73,945,789),26192=>array(107,-61,943,846),26193=>array(136,-62,877,789),26194=>array(97,-54,941,799),26195=>array(90,-67,943,822),26196=>array(100,-64,928,823),26197=>array(64,-65,916,785),26198=>array(101,-72,930,758),26199=>array(80,-71,957,848),26200=>array(101,-62,953,789),26201=>array(94,-62,958,834),26202=>array(110,-70,956,827),26203=>array(102,-58,955,797),26204=>array(55,-53,908,803),26205=>array(59,-30,948,829),26206=>array(79,-69,951,837),26207=>array(30,-67,967,793),26208=>array(90,-68,951,834),26209=>array(110,-68,959,832),26210=>array(68,-62,943,842),26211=>array(102,-67,954,843),26212=>array(82,-65,940,786),26213=>array(91,-71,962,824),26214=>array(98,-59,947,837),26215=>array(97,-60,939,831),26216=>array(30,-68,935,809),26217=>array(97,-69,965,840),26218=>array(110,-74,961,833),26219=>array(106,-71,946,825),26220=>array(102,-60,951,850),26221=>array(97,-68,907,791),26222=>array(53,-70,944,845),26223=>array(58,-61,940,796),26224=>array(102,-67,954,832),26225=>array(107,-71,949,828),26226=>array(110,-68,959,833),26227=>array(58,-71,932,826),26228=>array(75,-52,938,838),26229=>array(52,-60,964,846),26230=>array(117,-64,887,785),26231=>array(50,-68,943,782),26232=>array(41,-52,968,808),26233=>array(110,-72,919,782),26234=>array(82,-69,897,829),26235=>array(105,-40,966,828),26236=>array(104,-72,965,846),26237=>array(59,-63,981,842),26238=>array(87,-62,931,842),26239=>array(87,-62,923,791),26240=>array(107,-70,955,831),26241=>array(86,-65,970,817),26242=>array(64,-71,931,827),26243=>array(58,-70,937,808),26244=>array(90,-49,947,822),26245=>array(79,-59,960,849),26246=>array(90,-67,947,830),26247=>array(106,-71,971,790),26248=>array(57,-62,950,798),26249=>array(89,-65,936,787),26250=>array(121,-80,965,782),26251=>array(106,-55,948,849),26252=>array(86,-61,940,834),26253=>array(115,-69,925,785),26254=>array(95,-63,969,835),26255=>array(115,-65,960,835),26256=>array(91,-51,946,858),26257=>array(62,-63,955,790),26258=>array(89,-21,954,792),26259=>array(36,-69,954,830),26260=>array(110,-68,952,834),26261=>array(108,-67,966,833),26262=>array(89,-67,954,834),26263=>array(98,-64,943,840),26264=>array(82,-55,937,804),26265=>array(104,-72,956,833),26266=>array(89,-64,945,831),26267=>array(107,-25,939,843),26268=>array(60,-68,944,826),26269=>array(101,-56,936,789),26270=>array(112,-50,933,849),26271=>array(109,-24,951,832),26272=>array(74,-56,927,820),26273=>array(104,-70,960,800),26274=>array(92,-70,938,831),26275=>array(46,-63,974,851),26276=>array(92,-64,979,849),26277=>array(50,-59,950,788),26278=>array(39,-62,961,796),26279=>array(97,-72,955,821),26280=>array(59,-25,953,783),26281=>array(110,-72,990,832),26282=>array(113,-70,953,823),26283=>array(83,-68,948,833),26284=>array(65,-71,953,827),26285=>array(112,-64,952,849),26286=>array(51,-65,965,837),26287=>array(100,-75,955,827),26288=>array(100,-69,975,833),26289=>array(104,-26,962,799),26290=>array(112,-68,953,834),26291=>array(83,-62,941,826),26292=>array(66,-66,956,786),26293=>array(101,-53,968,841),26294=>array(92,-71,971,828),26295=>array(115,-68,960,836),26296=>array(89,-62,966,855),26297=>array(58,-56,933,815),26298=>array(109,-74,953,777),26299=>array(115,-68,971,781),26300=>array(68,-71,960,837),26301=>array(115,-70,960,824),26302=>array(99,-77,970,835),26303=>array(89,-69,957,833),26304=>array(101,-8,948,843),26305=>array(59,-37,947,832),26306=>array(89,-68,956,827),26307=>array(70,-64,960,829),26308=>array(94,-68,945,831),26309=>array(59,-71,943,819),26310=>array(32,-60,959,798),26311=>array(53,-74,947,817),26312=>array(96,-14,941,854),26313=>array(107,-61,964,837),26314=>array(110,-77,953,827),26315=>array(114,-70,956,777),26316=>array(55,-25,949,779),26317=>array(112,-64,952,849),26318=>array(79,-62,949,788),26319=>array(51,-67,946,788),26320=>array(86,-47,918,821),26321=>array(35,-75,968,812),26322=>array(94,-59,964,850),26323=>array(31,-75,966,834),26324=>array(57,-66,978,840),26325=>array(84,-72,927,841),26326=>array(81,-62,946,841),26327=>array(95,-67,959,825),26328=>array(101,-69,941,781),26329=>array(97,-63,955,789),26330=>array(94,-61,965,836),26331=>array(89,-70,965,835),26332=>array(85,-70,946,813),26333=>array(103,-64,980,784),26334=>array(93,-66,935,799),26335=>array(55,-67,956,816),26336=>array(93,-71,966,819),26337=>array(54,-32,952,791),26338=>array(99,-61,959,820),26339=>array(91,-72,953,823),26340=>array(91,-64,926,783),26341=>array(92,-67,954,830),26342=>array(88,-64,946,841),26343=>array(116,-68,966,817),26344=>array(90,-53,957,853),26345=>array(48,-62,937,824),26346=>array(90,-64,962,796),26347=>array(49,-71,962,838),26348=>array(92,-68,961,800),26349=>array(82,-68,944,834),26350=>array(83,-64,959,799),26351=>array(98,-67,924,806),26352=>array(166,-33,842,728),26353=>array(175,-61,841,788),26354=>array(163,-68,860,831),26355=>array(71,-56,954,839),26356=>array(48,-72,962,777),26357=>array(71,-60,946,845),26358=>array(61,-71,898,845),26359=>array(62,-67,896,792),26360=>array(84,-64,938,837),26361=>array(53,-70,947,829),26362=>array(53,-70,947,829),26363=>array(43,-68,946,791),26364=>array(57,-67,959,791),26365=>array(127,-65,876,852),26366=>array(38,-65,959,825),26367=>array(56,-68,950,834),26368=>array(53,-73,935,783),26369=>array(60,-71,960,781),26370=>array(54,-68,946,808),26371=>array(33,-74,978,848),26372=>array(98,-68,980,828),26373=>array(63,-63,920,830),26374=>array(94,-64,949,845),26375=>array(23,-74,957,847),26376=>array(86,-76,788,783),26377=>array(45,-65,936,844),26378=>array(33,-65,956,790),26379=>array(65,-77,891,782),26380=>array(23,-68,963,839),26381=>array(53,-75,950,783),26382=>array(47,-57,971,854),26383=>array(41,-56,905,840),26384=>array(34,-66,908,843),26385=>array(52,-64,964,829),26386=>array(43,-64,906,832),26387=>array(39,-71,957,823),26388=>array(60,-67,905,848),26389=>array(36,-73,961,837),26390=>array(36,-64,962,834),26391=>array(49,-74,885,832),26392=>array(33,-71,985,838),26393=>array(90,-65,915,793),26394=>array(72,-69,925,838),26395=>array(73,-36,927,822),26396=>array(36,-62,949,843),26397=>array(72,-68,908,827),26398=>array(42,-60,958,837),26399=>array(60,-70,899,829),26400=>array(33,-72,973,826),26401=>array(39,-85,966,825),26402=>array(85,-39,915,791),26403=>array(41,-72,952,828),26404=>array(65,-77,893,797),26405=>array(61,-66,941,833),26406=>array(34,-61,965,836),26407=>array(54,-73,962,834),26408=>array(77,-68,939,826),26409=>array(77,-58,889,826),26410=>array(65,-67,948,838),26411=>array(55,-67,955,839),26412=>array(41,-67,955,827),26413=>array(46,-62,954,829),26414=>array(75,-65,940,829),26415=>array(34,-69,947,815),26416=>array(51,-15,960,813),26417=>array(65,-70,950,828),26418=>array(57,-63,943,830),26419=>array(56,-71,969,830),26420=>array(49,-55,961,840),26421=>array(54,-68,955,777),26422=>array(53,-68,955,787),26423=>array(54,-58,901,830),26424=>array(66,-67,912,826),26425=>array(55,-63,955,830),26426=>array(54,-73,975,827),26427=>array(58,-66,901,829),26428=>array(54,-56,958,837),26429=>array(45,-62,937,832),26430=>array(48,-62,940,830),26431=>array(37,-54,956,839),26432=>array(53,-66,926,811),26433=>array(53,-64,958,828),26434=>array(42,-64,939,824),26435=>array(39,-65,954,836),26436=>array(42,-63,947,833),26437=>array(51,-61,953,835),26438=>array(39,-58,963,830),26439=>array(33,-62,956,831),26440=>array(37,-68,971,823),26441=>array(43,-69,950,831),26442=>array(43,-67,892,827),26443=>array(61,-63,959,833),26444=>array(33,-67,961,830),26445=>array(55,-68,955,829),26446=>array(51,-70,960,831),26447=>array(64,-62,950,827),26448=>array(40,-75,951,824),26449=>array(44,-71,951,829),26450=>array(44,-71,914,823),26451=>array(32,-69,917,834),26452=>array(47,-71,930,823),26453=>array(34,-64,976,833),26454=>array(43,-72,975,827),26455=>array(40,-67,954,837),26456=>array(47,-76,924,785),26457=>array(39,-70,961,830),26458=>array(50,-59,956,838),26459=>array(49,-70,902,828),26460=>array(49,-70,948,828),26461=>array(42,-64,959,830),26462=>array(39,-58,940,830),26463=>array(71,-67,950,833),26464=>array(39,-58,942,830),26465=>array(40,-65,956,827),26466=>array(44,-23,956,822),26467=>array(51,-58,912,830),26468=>array(51,-58,956,830),26469=>array(49,-57,951,830),26470=>array(47,-66,948,835),26471=>array(46,-59,931,833),26472=>array(22,-68,902,826),26473=>array(21,-62,890,825),26474=>array(51,-58,950,831),26475=>array(47,-62,954,835),26476=>array(41,-61,969,836),26477=>array(40,-62,962,832),26478=>array(47,-62,950,839),26479=>array(41,-63,959,835),26480=>array(46,-73,943,825),26481=>array(50,-71,960,831),26482=>array(31,-64,978,787),26483=>array(44,-65,956,832),26484=>array(54,-69,966,838),26485=>array(40,-68,948,837),26486=>array(44,-58,963,837),26487=>array(44,-68,967,825),26488=>array(49,-77,964,824),26489=>array(60,-69,962,829),26490=>array(39,-61,956,832),26491=>array(39,-61,959,832),26492=>array(51,-64,943,830),26493=>array(55,-70,950,826),26494=>array(39,-62,959,833),26495=>array(31,-73,966,823),26496=>array(42,-55,973,803),26497=>array(45,-73,972,829),26498=>array(71,-71,886,819),26499=>array(50,-75,903,822),26500=>array(45,-61,919,842),26501=>array(51,-68,953,830),26502=>array(39,-61,954,833),26503=>array(37,-70,968,826),26504=>array(58,-55,973,809),26505=>array(51,-58,961,830),26506=>array(46,-61,905,842),26507=>array(51,-58,941,830),26508=>array(42,-64,955,824),26509=>array(42,-59,963,835),26510=>array(36,-69,975,828),26511=>array(47,-65,970,835),26512=>array(41,-68,942,831),26513=>array(40,-61,964,833),26514=>array(47,-62,967,833),26515=>array(32,-59,956,842),26516=>array(55,-73,970,833),26517=>array(48,-62,959,836),26518=>array(48,-70,957,833),26519=>array(30,-69,954,829),26520=>array(42,-64,908,835),26521=>array(38,-58,968,839),26522=>array(57,-68,965,843),26523=>array(33,-66,968,823),26524=>array(48,-67,960,788),26525=>array(48,-64,965,834),26526=>array(24,-69,968,822),26527=>array(54,-80,954,830),26528=>array(39,-64,954,837),26529=>array(51,-65,948,830),26530=>array(31,-68,931,822),26531=>array(32,-76,956,824),26532=>array(40,-68,954,830),26533=>array(20,-67,903,820),26534=>array(51,-66,937,830),26535=>array(19,-73,928,823),26536=>array(23,-72,950,820),26537=>array(48,-74,950,820),26538=>array(41,-63,960,831),26539=>array(15,-58,937,830),26540=>array(42,-66,955,832),26541=>array(39,-51,944,832),26542=>array(55,-70,954,829),26543=>array(52,-62,956,836),26544=>array(42,-63,954,833),26545=>array(43,-62,964,852),26546=>array(42,-55,969,856),26547=>array(38,-68,965,829),26548=>array(51,-62,917,830),26549=>array(41,-67,950,827),26550=>array(47,-66,964,827),26551=>array(51,-58,934,832),26552=>array(51,-58,925,841),26553=>array(51,-58,951,830),26554=>array(42,-69,953,828),26555=>array(37,-62,964,829),26556=>array(40,-48,965,823),26557=>array(26,-54,950,827),26558=>array(48,-72,950,829),26559=>array(7,-66,968,829),26560=>array(45,-73,957,830),26561=>array(32,-62,958,835),26562=>array(51,-77,963,816),26563=>array(39,-80,957,827),26564=>array(46,-58,943,828),26565=>array(39,-55,963,840),26566=>array(51,-58,964,830),26567=>array(51,-71,976,822),26568=>array(51,-72,958,824),26569=>array(42,-69,965,825),26570=>array(34,-66,984,833),26571=>array(50,-70,968,822),26572=>array(49,-66,895,827),26573=>array(47,-75,961,823),26574=>array(51,-63,957,830),26575=>array(45,-62,896,846),26576=>array(44,-69,956,835),26577=>array(40,-65,953,827),26578=>array(45,-61,966,830),26579=>array(51,-66,956,835),26580=>array(48,-67,947,788),26581=>array(58,-67,917,825),26582=>array(32,-66,895,829),26583=>array(33,-68,948,833),26584=>array(58,-67,942,825),26585=>array(40,-64,898,833),26586=>array(37,-66,899,835),26587=>array(39,-69,896,825),26588=>array(40,-60,946,830),26589=>array(51,-66,945,836),26590=>array(51,-66,950,839),26591=>array(37,-65,967,832),26592=>array(26,-62,922,836),26593=>array(26,-69,981,827),26594=>array(51,-58,945,830),26595=>array(36,-81,957,822),26596=>array(51,-58,961,830),26597=>array(50,-12,951,826),26598=>array(58,-68,958,826),26599=>array(51,-59,952,830),26600=>array(48,-66,959,850),26601=>array(35,-65,952,824),26602=>array(50,-79,918,820),26603=>array(44,-71,914,838),26604=>array(55,-61,932,838),26605=>array(51,-77,962,826),26606=>array(51,-65,933,832),26607=>array(51,-61,953,830),26608=>array(64,-63,945,839),26609=>array(41,-67,957,839),26610=>array(43,-63,957,830),26611=>array(34,-61,921,837),26612=>array(44,-68,959,825),26613=>array(35,-60,956,832),26614=>array(50,-66,895,827),26615=>array(33,-55,964,836),26616=>array(48,-66,956,827),26617=>array(45,-66,934,832),26618=>array(50,-68,890,827),26619=>array(50,-12,952,826),26620=>array(36,-73,949,828),26621=>array(27,-75,947,817),26622=>array(27,-75,924,817),26623=>array(40,-64,949,827),26624=>array(43,-67,955,834),26625=>array(46,-61,905,837),26626=>array(46,-64,954,831),26627=>array(43,-76,945,834),26628=>array(60,-65,957,820),26629=>array(25,-65,965,829),26630=>array(38,-72,958,834),26631=>array(21,-59,940,833),26632=>array(17,-71,933,825),26633=>array(20,-71,917,817),26634=>array(17,-69,930,820),26635=>array(25,-60,942,833),26636=>array(21,-72,918,820),26637=>array(21,-68,951,827),26638=>array(21,-74,950,816),26639=>array(32,-57,925,833),26640=>array(32,-63,964,844),26641=>array(20,-71,929,818),26642=>array(58,-65,927,845),26643=>array(37,-65,948,826),26644=>array(56,-64,962,836),26645=>array(63,-68,953,823),26646=>array(54,-62,957,833),26647=>array(60,-65,957,788),26648=>array(63,-71,933,835),26649=>array(45,-66,961,842),26650=>array(38,-69,969,833),26651=>array(34,-65,966,835),26652=>array(39,-67,964,830),26653=>array(34,-64,943,832),26654=>array(56,-64,962,811),26655=>array(38,-63,948,845),26656=>array(45,-67,961,844),26657=>array(37,-74,963,822),26658=>array(39,-64,957,831),26659=>array(39,-64,965,843),26660=>array(32,-65,981,837),26661=>array(52,-65,954,841),26662=>array(39,-70,908,832),26663=>array(33,-64,961,836),26664=>array(32,-70,971,833),26665=>array(51,-58,909,830),26666=>array(28,-63,961,836),26667=>array(51,-68,930,830),26668=>array(53,-67,955,826),26669=>array(38,-68,951,828),26670=>array(53,-70,954,826),26671=>array(38,-68,948,826),26672=>array(29,-64,956,832),26673=>array(33,-77,955,825),26674=>array(36,-65,952,833),26675=>array(45,-68,954,826),26676=>array(38,-63,962,833),26677=>array(36,-67,908,830),26678=>array(17,-62,895,831),26679=>array(17,-61,924,831),26680=>array(33,-67,949,825),26681=>array(51,-71,957,820),26682=>array(44,-68,942,829),26683=>array(33,-58,971,839),26684=>array(44,-65,968,835),26685=>array(50,-59,957,839),26686=>array(39,-77,951,834),26687=>array(44,-66,991,842),26688=>array(54,-67,960,841),26689=>array(39,-68,956,835),26690=>array(39,-66,944,827),26691=>array(39,-72,945,828),26692=>array(33,-68,966,832),26693=>array(40,-65,967,844),26694=>array(30,-69,941,826),26695=>array(63,-65,963,844),26696=>array(63,-65,963,838),26697=>array(39,-60,956,845),26698=>array(50,-48,948,827),26699=>array(33,-71,971,832),26700=>array(52,-67,957,831),26701=>array(51,-67,932,830),26702=>array(51,-58,950,830),26703=>array(31,-64,957,832),26704=>array(46,-65,895,830),26705=>array(53,-65,958,788),26706=>array(52,-63,957,836),26707=>array(39,-65,954,827),26708=>array(38,-62,939,837),26709=>array(54,-74,898,821),26710=>array(54,-74,972,857),26711=>array(54,-74,964,821),26712=>array(50,-74,898,837),26713=>array(51,-65,946,833),26714=>array(45,-75,945,839),26715=>array(36,-66,946,836),26716=>array(54,-74,959,821),26717=>array(37,-66,949,835),26718=>array(36,-74,957,821),26719=>array(22,-71,933,826),26720=>array(18,-67,922,824),26721=>array(17,-74,938,821),26722=>array(20,-81,921,816),26723=>array(51,-60,935,830),26724=>array(26,-63,932,826),26725=>array(36,-53,966,844),26726=>array(25,-75,929,817),26727=>array(25,-78,959,833),26728=>array(27,-61,949,840),26729=>array(24,-69,923,833),26730=>array(44,-68,938,827),26731=>array(37,-69,972,829),26732=>array(48,-61,970,836),26733=>array(26,-72,966,832),26734=>array(41,-70,954,829),26735=>array(44,-65,951,827),26736=>array(43,-65,961,829),26737=>array(41,-68,953,826),26738=>array(33,-64,953,837),26739=>array(19,-73,979,834),26740=>array(51,-76,955,830),26741=>array(49,-74,953,826),26742=>array(42,-71,902,827),26743=>array(51,-63,924,844),26744=>array(44,-71,953,837),26745=>array(48,-66,977,848),26746=>array(35,-67,965,833),26747=>array(46,-73,976,821),26748=>array(36,-65,965,826),26749=>array(56,-23,960,824),26750=>array(51,-72,956,830),26751=>array(51,-62,933,830),26752=>array(46,-67,972,832),26753=>array(53,-68,956,808),26754=>array(50,-65,961,833),26755=>array(41,-66,960,830),26756=>array(32,-62,945,832),26757=>array(46,-71,953,843),26758=>array(38,-68,951,836),26759=>array(49,-65,961,829),26760=>array(31,-62,920,843),26761=>array(41,-69,953,826),26762=>array(39,-62,977,832),26763=>array(41,-71,897,824),26764=>array(48,-69,977,826),26765=>array(33,-67,935,842),26766=>array(39,-67,945,848),26767=>array(51,-67,934,833),26768=>array(32,-64,954,831),26769=>array(34,-76,970,821),26770=>array(42,-69,964,828),26771=>array(38,-70,956,837),26772=>array(28,-67,965,840),26773=>array(21,-67,970,833),26774=>array(37,-82,956,824),26775=>array(35,-68,956,829),26776=>array(36,-62,958,833),26777=>array(50,-70,911,827),26778=>array(50,-68,963,848),26779=>array(34,-68,962,824),26780=>array(30,-69,979,828),26781=>array(42,-71,981,839),26782=>array(45,-65,966,827),26783=>array(63,-68,932,847),26784=>array(51,-64,913,830),26785=>array(40,-72,962,838),26786=>array(44,-63,915,835),26787=>array(41,-70,967,825),26788=>array(47,-68,975,827),26789=>array(45,-71,957,838),26790=>array(49,-59,947,828),26791=>array(47,-62,948,835),26792=>array(41,-68,950,823),26793=>array(44,-64,952,828),26794=>array(43,-67,951,823),26795=>array(47,-69,968,830),26796=>array(42,-68,953,825),26797=>array(51,-73,951,835),26798=>array(42,-66,911,830),26799=>array(44,-70,927,839),26800=>array(40,-67,961,832),26801=>array(36,-54,913,835),26802=>array(44,-61,961,831),26803=>array(51,-70,957,830),26804=>array(30,-76,974,827),26805=>array(41,-79,943,824),26806=>array(31,-64,971,832),26807=>array(29,-62,971,839),26808=>array(36,-65,918,835),26809=>array(51,-58,954,830),26810=>array(46,-58,943,833),26811=>array(33,-65,950,836),26812=>array(33,-64,952,830),26813=>array(36,-54,972,835),26814=>array(27,-60,959,835),26815=>array(54,-55,971,835),26816=>array(24,-60,934,832),26817=>array(36,-64,968,844),26818=>array(23,-70,947,819),26819=>array(50,-67,967,813),26820=>array(39,-68,969,842),26821=>array(24,-72,970,824),26822=>array(30,-70,953,839),26823=>array(48,-68,959,824),26824=>array(43,-68,952,832),26825=>array(58,-71,922,838),26826=>array(72,-71,944,835),26827=>array(29,-70,947,827),26828=>array(41,-70,977,826),26829=>array(51,-58,946,830),26830=>array(51,-71,972,828),26831=>array(33,-71,973,825),26832=>array(42,-59,964,843),26833=>array(48,-73,954,824),26834=>array(27,-68,962,838),26835=>array(42,-72,950,841),26836=>array(39,-70,961,831),26837=>array(39,-70,954,823),26838=>array(37,-66,984,832),26839=>array(48,-65,966,834),26840=>array(39,-65,968,830),26841=>array(21,-66,979,844),26842=>array(57,-72,912,822),26843=>array(36,-75,932,845),26844=>array(41,-71,973,833),26845=>array(42,-73,903,826),26846=>array(42,-72,898,826),26847=>array(50,-64,973,835),26848=>array(54,-67,967,836),26849=>array(40,-72,916,824),26850=>array(37,-68,898,824),26851=>array(39,-70,965,832),26852=>array(51,-72,960,833),26853=>array(39,-69,967,826),26854=>array(43,-67,951,826),26855=>array(39,-70,948,840),26856=>array(44,-53,975,848),26857=>array(36,-75,897,825),26858=>array(36,-59,971,845),26859=>array(32,-58,964,841),26860=>array(30,-64,973,843),26861=>array(32,-68,968,839),26862=>array(30,-69,970,833),26863=>array(52,-70,963,834),26864=>array(38,-64,957,830),26865=>array(39,-67,972,832),26866=>array(22,-68,939,836),26867=>array(27,-71,975,827),26868=>array(40,-74,970,827),26869=>array(35,-70,968,822),26870=>array(33,-67,969,831),26871=>array(36,-68,970,824),26872=>array(42,-70,961,783),26873=>array(39,-70,956,835),26874=>array(42,-64,921,829),26875=>array(45,-62,983,830),26876=>array(32,-61,967,831),26877=>array(46,-70,963,826),26878=>array(44,-56,954,829),26879=>array(26,-77,951,835),26880=>array(34,-64,962,834),26881=>array(31,-62,952,833),26882=>array(31,-65,972,829),26883=>array(31,-62,957,837),26884=>array(39,-73,954,832),26885=>array(21,-75,927,817),26886=>array(51,-71,913,824),26887=>array(42,-78,960,827),26888=>array(36,-70,902,844),26889=>array(39,-65,964,841),26890=>array(48,-71,955,838),26891=>array(35,-67,967,835),26892=>array(51,-58,954,830),26893=>array(29,-73,954,835),26894=>array(37,-71,952,836),26895=>array(51,-58,964,830),26896=>array(35,-68,951,833),26897=>array(48,-79,954,835),26898=>array(36,-64,966,829),26899=>array(37,-67,980,830),26900=>array(48,-71,930,832),26901=>array(39,-69,967,826),26902=>array(29,-67,946,840),26903=>array(41,-62,976,843),26904=>array(29,-37,983,831),26905=>array(41,-68,900,832),26906=>array(31,-65,918,832),26907=>array(41,-62,958,834),26908=>array(33,-62,959,838),26909=>array(38,-71,986,826),26910=>array(38,-71,986,830),26911=>array(18,-76,954,815),26912=>array(32,-71,944,827),26913=>array(21,-70,918,833),26914=>array(18,-76,886,815),26915=>array(33,-72,955,833),26916=>array(34,-63,920,823),26917=>array(44,-62,905,830),26918=>array(27,-63,950,843),26919=>array(18,-76,977,828),26920=>array(27,-70,951,829),26921=>array(18,-76,956,856),26922=>array(42,-67,954,825),26923=>array(18,-76,937,837),26924=>array(33,-76,953,848),26925=>array(10,-63,922,830),26926=>array(18,-76,942,835),26927=>array(32,-64,950,837),26928=>array(28,-65,941,826),26929=>array(18,-76,970,843),26930=>array(36,-70,955,835),26931=>array(33,-55,973,838),26932=>array(31,-71,975,837),26933=>array(26,-73,965,826),26934=>array(39,-70,969,825),26935=>array(38,-69,962,828),26936=>array(19,-55,961,852),26937=>array(39,-70,940,827),26938=>array(18,-76,981,825),26939=>array(39,-67,950,826),26940=>array(26,-70,951,830),26941=>array(36,-67,970,831),26942=>array(18,-76,951,833),26943=>array(30,-64,978,835),26944=>array(37,-68,910,824),26945=>array(39,-71,971,827),26946=>array(30,-63,962,831),26947=>array(30,-61,943,833),26948=>array(33,-70,928,824),26949=>array(30,-73,948,823),26950=>array(30,-70,952,823),26951=>array(18,-76,919,815),26952=>array(44,-72,965,824),26953=>array(42,-69,954,826),26954=>array(47,-72,944,817),26955=>array(38,-69,922,826),26956=>array(41,-72,955,836),26957=>array(35,-70,966,813),26958=>array(30,-71,951,823),26959=>array(38,-68,980,829),26960=>array(18,-76,969,815),26961=>array(35,-73,972,832),26962=>array(39,-64,967,830),26963=>array(47,-64,971,836),26964=>array(39,-70,954,828),26965=>array(28,-76,927,845),26966=>array(21,-63,914,828),26967=>array(27,-59,970,840),26968=>array(36,-69,968,830),26969=>array(33,-70,961,830),26970=>array(48,-69,954,827),26971=>array(44,-60,953,834),26972=>array(39,-71,930,827),26973=>array(39,-70,971,836),26974=>array(39,-70,942,818),26975=>array(32,-71,952,836),26976=>array(33,-67,951,830),26977=>array(33,-76,950,818),26978=>array(44,-62,967,843),26979=>array(49,-67,924,829),26980=>array(26,-76,968,850),26981=>array(31,-60,971,848),26982=>array(41,-64,957,854),26983=>array(18,-76,988,836),26984=>array(37,-74,962,836),26985=>array(33,-69,967,826),26986=>array(39,-62,973,834),26987=>array(39,-70,957,818),26988=>array(37,-70,903,823),26989=>array(52,-69,965,829),26990=>array(39,-70,949,829),26991=>array(35,-64,961,839),26992=>array(37,-76,979,824),26993=>array(34,-71,969,831),26994=>array(24,-64,968,829),26995=>array(34,-64,975,832),26996=>array(42,-70,932,839),26997=>array(39,-68,956,824),26998=>array(44,-68,968,829),26999=>array(42,-70,956,827),27000=>array(34,-66,986,827),27001=>array(39,-70,957,818),27002=>array(36,-70,961,825),27003=>array(39,-65,958,834),27004=>array(18,-52,932,838),27005=>array(50,-64,950,847),27006=>array(39,-75,966,841),27007=>array(27,-67,972,832),27008=>array(37,-68,914,825),27009=>array(39,-70,940,835),27010=>array(30,-70,966,824),27011=>array(31,-71,960,823),27012=>array(21,-64,934,830),27013=>array(44,-76,967,820),27014=>array(30,-68,971,849),27015=>array(29,-76,934,822),27016=>array(16,-68,885,825),27017=>array(27,-75,961,816),27018=>array(28,-67,917,833),27019=>array(27,-67,916,829),27020=>array(28,-72,970,829),27021=>array(30,-67,912,824),27022=>array(33,-62,967,832),27023=>array(33,-64,954,859),27024=>array(28,-71,967,827),27025=>array(31,-70,960,833),27026=>array(24,-64,917,829),27027=>array(31,-68,958,833),27028=>array(46,-61,939,835),27029=>array(33,-64,969,830),27030=>array(46,-67,970,827),27031=>array(33,-70,955,826),27032=>array(29,-66,971,842),27033=>array(38,-68,966,833),27034=>array(39,-70,967,832),27035=>array(30,-68,973,839),27036=>array(54,-70,928,833),27037=>array(30,-73,967,835),27038=>array(33,-70,968,825),27039=>array(24,-64,941,845),27040=>array(39,-72,946,831),27041=>array(30,-69,951,833),27042=>array(24,-64,967,844),27043=>array(27,-69,951,837),27044=>array(28,-70,980,829),27045=>array(38,-65,960,830),27046=>array(49,-56,968,855),27047=>array(38,-74,939,817),27048=>array(47,-69,942,838),27049=>array(26,-69,975,826),27050=>array(31,-71,923,827),27051=>array(33,-68,965,844),27052=>array(40,-74,970,826),27053=>array(28,-65,965,849),27054=>array(61,-67,948,832),27055=>array(31,-60,954,833),27056=>array(34,-68,956,832),27057=>array(19,-66,972,832),27058=>array(39,-70,965,818),27059=>array(36,-65,967,840),27060=>array(53,-66,913,834),27061=>array(31,-70,956,828),27062=>array(37,-69,951,838),27063=>array(41,-67,944,841),27064=>array(18,-70,964,823),27065=>array(26,-70,965,827),27066=>array(37,-64,971,838),27067=>array(55,-62,930,845),27068=>array(32,-64,960,833),27069=>array(32,-75,972,825),27070=>array(39,-70,947,818),27071=>array(39,-70,962,829),27072=>array(32,-62,968,831),27073=>array(39,-70,940,844),27074=>array(23,-70,963,823),27075=>array(36,-60,969,845),27076=>array(39,-70,915,822),27077=>array(43,-69,927,823),27078=>array(42,-69,945,827),27079=>array(33,-78,961,833),27080=>array(24,-64,959,829),27081=>array(26,-73,973,836),27082=>array(34,-67,970,845),27083=>array(40,-68,954,828),27084=>array(28,-72,959,843),27085=>array(31,-70,960,851),27086=>array(39,-70,951,847),27087=>array(25,-67,952,840),27088=>array(39,-70,948,844),27089=>array(30,-68,976,787),27090=>array(40,-68,950,843),27091=>array(39,-70,969,818),27092=>array(33,-67,987,849),27093=>array(35,-70,968,835),27094=>array(43,-77,968,844),27095=>array(49,-61,926,834),27096=>array(35,-62,969,843),27097=>array(34,-69,950,836),27098=>array(33,-70,923,818),27099=>array(13,-57,922,845),27100=>array(19,-76,953,843),27101=>array(39,-70,942,844),27102=>array(13,-57,958,845),27103=>array(21,-64,917,842),27104=>array(21,-65,911,825),27105=>array(13,-67,964,845),27106=>array(20,-73,916,823),27107=>array(24,-74,951,845),27108=>array(32,-71,976,825),27109=>array(37,-64,965,830),27110=>array(38,-73,959,845),27111=>array(31,-64,973,837),27112=>array(29,-62,955,836),27113=>array(29,-60,969,811),27114=>array(26,-67,966,845),27115=>array(43,-66,956,835),27116=>array(33,-78,988,835),27117=>array(33,-70,964,839),27118=>array(34,-72,989,850),27119=>array(13,-65,953,845),27120=>array(13,-68,959,845),27121=>array(30,-67,968,826),27122=>array(27,-71,962,842),27123=>array(53,-65,963,843),27124=>array(34,-65,969,831),27125=>array(13,-57,978,845),27126=>array(22,-71,906,831),27127=>array(31,-73,987,829),27128=>array(37,-70,983,824),27129=>array(37,-64,952,845),27130=>array(28,-66,966,848),27131=>array(33,-58,971,839),27132=>array(38,-71,986,826),27133=>array(44,-71,948,827),27134=>array(30,-72,979,828),27135=>array(26,-65,953,828),27136=>array(45,-67,960,847),27137=>array(46,-64,976,835),27138=>array(60,-64,959,847),27139=>array(21,-74,939,826),27140=>array(21,-71,990,826),27141=>array(39,-64,964,829),27142=>array(30,-76,945,829),27143=>array(27,-73,989,824),27144=>array(36,-70,968,835),27145=>array(37,-80,968,826),27146=>array(28,-66,964,836),27147=>array(34,-67,961,827),27148=>array(26,-68,967,829),27149=>array(30,-84,955,830),27150=>array(26,-65,942,843),27151=>array(30,-69,954,826),27152=>array(26,-65,958,839),27153=>array(36,-61,985,836),27154=>array(26,-65,945,830),27155=>array(39,-69,949,831),27156=>array(36,-67,970,842),27157=>array(30,-77,973,832),27158=>array(46,-72,961,853),27159=>array(43,-68,956,826),27160=>array(32,-70,956,824),27161=>array(33,-70,957,818),27162=>array(33,-70,959,838),27163=>array(44,-61,971,833),27164=>array(33,-79,961,841),27165=>array(39,-71,962,828),27166=>array(46,-61,957,830),27167=>array(41,-67,944,826),27168=>array(30,-69,953,826),27169=>array(31,-69,952,828),27170=>array(33,-70,959,847),27171=>array(35,-62,978,848),27172=>array(6,-73,993,824),27173=>array(38,-73,970,825),27174=>array(40,-67,958,831),27175=>array(35,-76,976,828),27176=>array(39,-68,955,832),27177=>array(25,-72,957,832),27178=>array(26,-72,944,822),27179=>array(37,-62,964,832),27180=>array(33,-70,964,831),27181=>array(33,-60,972,831),27182=>array(33,-70,957,818),27183=>array(18,-72,929,819),27184=>array(36,-63,957,838),27185=>array(22,-74,953,832),27186=>array(34,-55,966,852),27187=>array(32,-66,955,830),27188=>array(34,-71,965,831),27189=>array(44,-67,969,836),27190=>array(27,-70,948,818),27191=>array(27,-67,950,844),27192=>array(48,-68,971,833),27193=>array(39,-71,953,825),27194=>array(38,-68,954,832),27195=>array(39,-81,958,826),27196=>array(39,-77,953,820),27197=>array(35,-65,957,851),27198=>array(30,-66,977,830),27199=>array(33,-70,954,828),27200=>array(44,-64,984,851),27201=>array(37,-69,956,828),27202=>array(35,-76,974,851),27203=>array(24,-70,959,843),27204=>array(34,-69,960,835),27205=>array(21,-70,954,845),27206=>array(46,-74,961,831),27207=>array(31,-67,963,837),27208=>array(36,-69,962,830),27209=>array(33,-80,956,825),27210=>array(34,-71,946,818),27211=>array(36,-62,962,836),27212=>array(33,-70,911,818),27213=>array(39,-68,897,822),27214=>array(38,-70,963,826),27215=>array(36,-71,951,838),27216=>array(44,-65,972,832),27217=>array(34,-68,964,826),27218=>array(36,-70,954,838),27219=>array(36,-72,948,838),27220=>array(36,-79,969,839),27221=>array(44,-58,951,836),27222=>array(43,-68,972,825),27223=>array(31,-68,948,839),27224=>array(36,-61,923,828),27225=>array(27,-69,951,830),27226=>array(39,-70,952,829),27227=>array(21,-68,972,828),27228=>array(47,-64,966,816),27229=>array(40,-68,953,826),27230=>array(35,-65,963,827),27231=>array(36,-68,963,829),27232=>array(37,-80,956,837),27233=>array(38,-70,964,837),27234=>array(37,-72,948,842),27235=>array(37,-72,957,847),27236=>array(44,-67,970,838),27237=>array(47,-69,952,821),27238=>array(32,-58,958,847),27239=>array(45,-61,917,849),27240=>array(33,-74,962,830),27241=>array(36,-67,958,826),27242=>array(38,-79,964,826),27243=>array(47,-70,956,827),27244=>array(37,-72,957,819),27245=>array(40,-72,957,824),27246=>array(53,-72,913,834),27247=>array(39,-70,944,824),27248=>array(37,-72,948,863),27249=>array(24,-69,914,829),27250=>array(37,-72,933,833),27251=>array(30,-55,967,821),27252=>array(30,-71,956,830),27253=>array(37,-72,979,832),27254=>array(43,-74,964,821),27255=>array(32,-73,962,838),27256=>array(43,-73,959,818),27257=>array(21,-73,928,817),27258=>array(37,-72,911,819),27259=>array(29,-72,966,819),27260=>array(15,-63,980,837),27261=>array(41,-76,973,833),27262=>array(41,-66,974,828),27263=>array(26,-58,955,832),27264=>array(29,-61,956,841),27265=>array(46,-65,991,855),27266=>array(37,-71,966,828),27267=>array(50,-76,971,819),27268=>array(31,-66,974,844),27269=>array(24,-72,964,823),27270=>array(39,-73,943,836),27271=>array(36,-65,960,834),27272=>array(37,-72,958,819),27273=>array(37,-65,936,826),27274=>array(36,-66,980,829),27275=>array(37,-72,981,820),27276=>array(43,-65,970,829),27277=>array(31,-76,970,829),27278=>array(22,-65,971,851),27279=>array(37,-72,972,833),27280=>array(21,-70,949,838),27281=>array(50,-68,933,826),27282=>array(42,-75,967,826),27283=>array(27,-71,980,834),27284=>array(46,-59,924,839),27285=>array(51,-76,966,824),27286=>array(27,-69,974,834),27287=>array(33,-54,973,840),27288=>array(33,-72,965,849),27289=>array(35,-76,923,815),27290=>array(35,-74,976,827),27291=>array(31,-71,977,826),27292=>array(32,-64,974,861),27293=>array(41,-78,970,819),27294=>array(27,-66,961,837),27295=>array(29,-83,962,823),27296=>array(34,-65,954,834),27297=>array(34,-70,954,826),27298=>array(33,-68,969,858),27299=>array(33,-63,959,838),27300=>array(35,-71,980,827),27301=>array(29,-73,964,842),27302=>array(41,-70,919,826),27303=>array(33,-70,974,823),27304=>array(33,-74,960,829),27305=>array(22,-64,921,857),27306=>array(42,-64,973,849),27307=>array(15,-63,943,830),27308=>array(29,-61,965,836),27309=>array(40,-72,981,828),27310=>array(40,-65,950,833),27311=>array(38,-56,970,838),27312=>array(35,-68,936,845),27313=>array(25,-56,943,832),27314=>array(35,-68,917,832),27315=>array(40,-65,966,846),27316=>array(34,-68,974,827),27317=>array(35,-69,942,824),27318=>array(38,-71,983,834),27319=>array(36,-70,959,821),27320=>array(37,-63,952,839),27321=>array(38,-65,965,842),27322=>array(45,-64,969,842),27323=>array(24,-62,957,839),27324=>array(27,-69,953,825),27325=>array(36,-61,967,831),27326=>array(105,-51,918,822),27327=>array(34,-68,958,829),27328=>array(36,-69,974,840),27329=>array(26,-66,945,839),27330=>array(36,-50,957,840),27331=>array(44,-66,954,835),27332=>array(44,-71,977,835),27333=>array(36,-71,975,839),27334=>array(48,-68,977,824),27335=>array(32,-75,963,825),27336=>array(31,-62,984,847),27337=>array(27,-70,953,826),27338=>array(31,-71,913,824),27339=>array(42,-70,958,840),27340=>array(44,-69,958,832),27341=>array(40,-75,961,831),27342=>array(35,-71,957,849),27343=>array(28,-64,984,828),27344=>array(40,-65,969,813),27345=>array(43,-66,935,827),27346=>array(30,-73,973,831),27347=>array(30,-61,974,849),27348=>array(42,-65,958,831),27349=>array(42,-72,967,831),27350=>array(34,-62,965,836),27351=>array(42,-67,958,833),27352=>array(42,-62,961,831),27353=>array(44,-70,949,824),27354=>array(39,-61,904,833),27355=>array(47,-66,959,840),27356=>array(43,-59,973,843),27357=>array(30,-70,971,835),27358=>array(33,-66,972,841),27359=>array(32,-71,969,841),27360=>array(37,-71,986,838),27361=>array(58,-72,950,833),27362=>array(20,-72,972,837),27363=>array(22,-72,974,841),27364=>array(41,-68,955,841),27365=>array(33,-71,959,847),27366=>array(29,-68,970,841),27367=>array(34,-65,957,840),27368=>array(36,-71,962,833),27369=>array(44,-65,920,833),27370=>array(32,-65,955,832),27371=>array(41,-68,959,831),27372=>array(43,-62,971,843),27373=>array(30,-62,965,831),27374=>array(36,-67,951,827),27375=>array(31,-68,981,842),27376=>array(30,-78,980,841),27377=>array(43,-65,967,840),27378=>array(33,-65,979,839),27379=>array(35,-58,969,855),27380=>array(19,-72,970,843),27381=>array(27,-66,973,840),27382=>array(32,-62,960,831),27383=>array(16,-45,965,851),27384=>array(38,-72,986,835),27385=>array(40,-68,957,830),27386=>array(38,-61,936,832),27387=>array(45,-62,958,826),27388=>array(28,-78,978,832),27389=>array(48,-68,956,813),27390=>array(31,-64,969,829),27391=>array(32,-67,951,835),27392=>array(33,-70,977,837),27393=>array(22,-70,987,832),27394=>array(31,-69,959,828),27395=>array(34,-58,964,853),27396=>array(35,-65,909,836),27397=>array(31,-69,973,827),27398=>array(21,-66,969,836),27399=>array(31,-66,955,827),27400=>array(45,-64,944,838),27401=>array(40,-62,962,835),27402=>array(38,-71,952,830),27403=>array(33,-68,960,823),27404=>array(33,-68,970,838),27405=>array(28,-68,937,832),27406=>array(44,-71,964,842),27407=>array(34,-67,967,830),27408=>array(39,-73,960,828),27409=>array(33,-70,970,831),27410=>array(40,-74,961,844),27411=>array(33,-78,966,836),27412=>array(33,-65,970,828),27413=>array(33,-70,987,828),27414=>array(40,-63,961,841),27415=>array(39,-65,942,830),27416=>array(47,-68,933,827),27417=>array(49,-62,959,831),27418=>array(35,-68,978,846),27419=>array(38,-71,932,835),27420=>array(40,-65,975,839),27421=>array(56,-67,964,843),27422=>array(49,-64,968,828),27423=>array(36,-69,984,835),27424=>array(51,-69,950,842),27425=>array(49,-66,953,822),27426=>array(20,-64,948,839),27427=>array(48,-72,962,831),27428=>array(41,-75,952,819),27429=>array(106,-75,968,829),27430=>array(35,-75,968,838),27431=>array(101,-66,953,833),27432=>array(56,-73,971,829),27433=>array(51,-62,947,822),27434=>array(90,-68,956,837),27435=>array(66,-68,950,847),27436=>array(44,-68,971,848),27437=>array(115,-73,961,830),27438=>array(60,-68,971,850),27439=>array(55,-74,967,830),27440=>array(30,-72,959,831),27441=>array(34,-72,959,834),27442=>array(47,-65,969,837),27443=>array(107,-74,962,830),27444=>array(101,-73,959,848),27445=>array(46,-62,970,853),27446=>array(44,-76,964,826),27447=>array(30,-69,963,838),27448=>array(47,-66,967,839),27449=>array(57,-79,975,830),27450=>array(61,-65,968,832),27451=>array(50,-72,958,838),27452=>array(50,-72,969,830),27453=>array(39,-71,977,839),27454=>array(50,-70,954,835),27455=>array(54,-67,968,841),27456=>array(46,-76,983,824),27457=>array(65,-73,985,827),27458=>array(61,-71,975,833),27459=>array(58,-72,972,838),27460=>array(102,-69,969,827),27461=>array(56,-72,977,826),27462=>array(47,-71,964,843),27463=>array(22,-74,968,842),27464=>array(29,-73,973,844),27465=>array(34,-70,970,841),27466=>array(54,-73,963,846),27467=>array(33,-69,967,826),27468=>array(65,-66,959,839),27469=>array(51,-73,970,841),27470=>array(39,-72,967,830),27471=>array(49,-72,961,842),27472=>array(110,-79,961,830),27473=>array(46,-69,977,831),27474=>array(60,-69,971,839),27475=>array(39,-65,963,841),27476=>array(32,-73,983,838),27477=>array(53,-83,972,825),27478=>array(60,-77,970,830),27479=>array(49,-68,975,840),27480=>array(52,-56,953,835),27481=>array(37,-67,964,856),27482=>array(64,-65,983,849),27483=>array(31,-70,983,864),27484=>array(37,-80,972,836),27485=>array(63,-72,971,838),27486=>array(55,-71,967,829),27487=>array(48,-67,969,841),27488=>array(53,-59,969,849),27489=>array(37,-68,962,836),27490=>array(76,-6,931,791),27491=>array(100,-5,920,756),27492=>array(37,-57,949,804),27493=>array(57,-60,932,835),27494=>array(63,-58,942,834),27495=>array(40,-66,956,830),27496=>array(41,-66,952,835),27497=>array(53,-62,962,833),27498=>array(63,-20,919,779),27499=>array(40,-28,953,783),27500=>array(46,-74,942,822),27501=>array(53,-67,951,829),27502=>array(37,-59,957,836),27503=>array(98,-70,938,835),27504=>array(60,-51,920,792),27505=>array(45,-20,956,836),27506=>array(45,-70,940,834),27507=>array(48,-70,943,834),27508=>array(33,-56,961,801),27509=>array(30,-55,955,849),27510=>array(80,-70,939,823),27511=>array(41,-58,944,789),27512=>array(47,-71,930,846),27513=>array(79,-75,921,767),27514=>array(71,-75,815,798),27515=>array(60,-67,959,761),27516=>array(26,-60,916,801),27517=>array(41,-68,955,828),27518=>array(58,-59,921,843),27519=>array(56,-62,972,840),27520=>array(39,-57,967,840),27521=>array(44,-74,950,774),27522=>array(49,-47,957,785),27523=>array(41,-73,964,827),27524=>array(54,-71,966,853),27525=>array(53,-74,952,827),27526=>array(65,-74,951,829),27527=>array(31,-68,913,826),27528=>array(44,-63,951,838),27529=>array(63,-75,921,835),27530=>array(61,-66,964,832),27531=>array(47,-61,965,845),27532=>array(33,-73,954,773),27533=>array(57,-64,953,837),27534=>array(43,-73,961,821),27535=>array(42,-76,950,821),27536=>array(52,-70,968,829),27537=>array(52,-74,960,823),27538=>array(32,-87,910,778),27539=>array(35,-71,948,820),27540=>array(57,-69,975,831),27541=>array(55,-58,949,829),27542=>array(40,-67,954,835),27543=>array(38,-53,968,835),27544=>array(68,-60,952,832),27545=>array(57,-64,958,829),27546=>array(44,-70,939,823),27547=>array(48,-47,947,788),27548=>array(39,-68,982,842),27549=>array(39,-68,974,829),27550=>array(40,-60,958,800),27551=>array(54,-67,970,782),27552=>array(39,-71,971,843),27553=>array(36,-71,930,830),27554=>array(50,-70,954,826),27555=>array(54,-72,952,829),27556=>array(55,-70,963,845),27557=>array(39,-78,953,834),27558=>array(43,-69,946,834),27559=>array(52,-71,978,829),27560=>array(43,-68,970,833),27561=>array(35,-65,976,798),27562=>array(47,-20,954,833),27563=>array(57,-64,953,789),27564=>array(50,-64,941,786),27565=>array(35,-44,965,807),27566=>array(40,-67,977,854),27567=>array(55,-66,960,838),27568=>array(36,-68,963,830),27569=>array(42,-73,954,829),27570=>array(44,-66,946,829),27571=>array(52,-70,948,788),27572=>array(98,-66,959,792),27573=>array(41,-73,964,832),27574=>array(58,-80,958,819),27575=>array(46,-68,952,836),27576=>array(45,-69,976,833),27577=>array(81,-72,972,787),27578=>array(51,-72,967,824),27579=>array(51,-70,963,833),27580=>array(49,-68,964,833),27581=>array(35,-65,976,847),27582=>array(35,-72,960,823),27583=>array(31,-73,969,799),27584=>array(73,-64,962,836),27585=>array(58,-68,958,833),27586=>array(52,-67,944,815),27587=>array(58,-72,973,843),27588=>array(58,-69,963,835),27589=>array(39,-72,963,831),27590=>array(69,-68,958,810),27591=>array(53,-76,974,819),27592=>array(55,-73,963,830),27593=>array(71,-29,951,800),27594=>array(41,-63,976,833),27595=>array(92,-57,935,798),27596=>array(74,-58,926,788),27597=>array(77,-66,931,783),27598=>array(64,-63,933,843),27599=>array(64,-63,939,843),27600=>array(55,-65,952,836),27601=>array(44,-62,967,805),27602=>array(56,-69,944,832),27603=>array(43,-62,964,835),27604=>array(59,-36,956,811),27605=>array(58,-59,908,816),27606=>array(63,-43,951,816),27607=>array(87,-67,965,820),27608=>array(76,-62,969,794),27609=>array(41,-54,941,826),27610=>array(56,-65,956,845),27611=>array(79,-23,944,822),27612=>array(52,-18,971,840),27613=>array(52,-18,971,840),27614=>array(78,-41,947,831),27615=>array(52,-40,954,841),27616=>array(49,-32,956,823),27617=>array(52,-18,971,840),27618=>array(55,-27,961,837),27619=>array(71,-32,949,778),27620=>array(48,-62,956,830),27621=>array(52,-18,971,841),27622=>array(55,-58,956,836),27623=>array(62,-26,965,834),27624=>array(54,-25,954,833),27625=>array(52,-18,971,840),27626=>array(35,-19,931,836),27627=>array(80,-54,933,840),27628=>array(51,-24,969,832),27629=>array(44,-39,954,836),27630=>array(30,-65,964,835),27631=>array(59,-30,967,835),27632=>array(47,-29,958,834),27633=>array(47,-28,958,833),27634=>array(39,-76,955,819),27635=>array(70,-44,970,826),27636=>array(47,-28,958,823),27637=>array(30,-65,933,844),27638=>array(44,-28,972,855),27639=>array(90,-55,961,848),27640=>array(55,-28,959,825),27641=>array(28,-70,972,847),27642=>array(48,-28,960,841),27643=>array(31,-65,962,840),27644=>array(31,-68,963,819),27645=>array(44,-32,971,832),27646=>array(47,-67,960,822),27647=>array(35,-67,967,853),27648=>array(54,-69,966,824),27649=>array(60,-28,972,835),27650=>array(53,-76,958,825),27651=>array(46,-45,962,839),27652=>array(38,-54,960,844),27653=>array(49,-34,959,841),27654=>array(54,-43,974,840),27655=>array(30,-25,928,835),27656=>array(68,-56,946,844),27657=>array(37,-58,964,840),27658=>array(54,-43,974,854),27659=>array(52,-69,971,828),27660=>array(48,-40,978,843),27661=>array(33,-66,966,830),27662=>array(61,-46,961,825),27663=>array(83,-68,934,828),27664=>array(100,-54,907,832),27665=>array(51,-67,950,784),27666=>array(91,-71,936,839),27667=>array(111,-61,951,781),27668=>array(39,-56,966,853),27669=>array(36,-67,957,847),27670=>array(51,-64,965,845),27671=>array(36,-62,963,853),27672=>array(46,-69,966,840),27673=>array(44,-62,965,852),27674=>array(26,-68,959,849),27675=>array(52,-69,962,839),27676=>array(35,-63,959,849),27677=>array(36,-75,960,835),27678=>array(36,-72,960,835),27679=>array(37,-76,962,829),27680=>array(10,-71,933,837),27681=>array(45,-76,961,845),27682=>array(38,-63,943,832),27683=>array(50,-67,959,838),27684=>array(40,-63,979,849),27685=>array(37,-66,968,842),27686=>array(41,-65,972,858),27687=>array(42,-70,958,832),27688=>array(41,-73,961,835),27689=>array(21,-64,938,825),27690=>array(38,-66,968,849),27691=>array(47,-68,957,831),27692=>array(39,-61,974,854),27693=>array(38,-66,966,852),27694=>array(48,-79,963,835),27695=>array(45,-74,959,841),27696=>array(35,-70,964,839),27697=>array(25,-69,955,830),27698=>array(25,-70,955,830),27699=>array(43,-71,971,833),27700=>array(47,-64,953,826),27701=>array(320,-38,602,803),27702=>array(51,-74,958,782),27703=>array(47,-64,953,826),27704=>array(51,-65,957,838),27705=>array(85,-28,958,830),27706=>array(40,-64,962,826),27707=>array(69,-60,921,829),27708=>array(54,-39,945,830),27709=>array(27,-71,967,846),27710=>array(71,-32,962,814),27711=>array(60,-65,966,823),27712=>array(51,-55,941,808),27713=>array(58,-59,962,833),27714=>array(61,-65,938,835),27715=>array(60,-62,977,814),27716=>array(60,-63,942,835),27717=>array(59,-51,937,814),27718=>array(33,-65,961,790),27719=>array(46,-49,920,803),27720=>array(70,-59,896,790),27721=>array(40,-59,956,804),27722=>array(57,-66,967,813),27723=>array(59,-57,912,836),27724=>array(62,-72,910,829),27725=>array(44,-71,975,826),27726=>array(53,-62,959,825),27727=>array(62,-65,960,829),27728=>array(67,-71,919,831),27729=>array(67,-42,930,826),27730=>array(55,-49,958,836),27731=>array(55,-64,954,802),27732=>array(60,-37,967,842),27733=>array(57,-65,898,820),27734=>array(54,-65,954,833),27735=>array(48,-67,948,798),27736=>array(48,-59,933,831),27737=>array(51,-67,957,814),27738=>array(49,-52,948,802),27739=>array(43,-63,975,812),27740=>array(33,-46,945,808),27741=>array(47,-62,947,847),27742=>array(58,-68,948,781),27743=>array(65,-51,940,796),27744=>array(48,-46,959,825),27745=>array(58,-52,943,802),27746=>array(74,-58,945,811),27747=>array(92,-68,957,831),27748=>array(51,-63,899,790),27749=>array(52,-70,977,828),27750=>array(44,-68,963,826),27751=>array(69,-68,964,801),27752=>array(70,-57,900,812),27753=>array(55,-40,911,817),27754=>array(54,-41,944,809),27755=>array(53,-68,951,833),27756=>array(57,-67,964,822),27757=>array(61,-69,905,801),27758=>array(41,-65,904,831),27759=>array(48,-61,951,830),27760=>array(48,-64,962,835),27761=>array(50,-70,957,837),27762=>array(41,-68,955,820),27763=>array(49,-73,972,807),27764=>array(53,-64,944,846),27765=>array(53,-73,945,854),27766=>array(42,-66,962,830),27767=>array(59,-63,941,805),27768=>array(54,-69,949,833),27769=>array(58,-59,900,820),27770=>array(56,-72,970,836),27771=>array(41,-75,951,826),27772=>array(41,-75,951,811),27773=>array(63,-61,962,850),27774=>array(41,-62,955,814),27775=>array(62,-57,950,820),27776=>array(45,-75,931,825),27777=>array(56,-48,947,811),27778=>array(58,-67,950,831),27779=>array(48,-64,962,819),27780=>array(46,-60,946,807),27781=>array(47,-70,948,812),27782=>array(63,-66,951,817),27783=>array(48,-60,951,849),27784=>array(56,-73,946,824),27785=>array(51,-58,952,788),27786=>array(49,-58,973,833),27787=>array(51,-69,960,827),27788=>array(41,-44,963,833),27789=>array(56,-38,939,794),27790=>array(45,-62,961,844),27791=>array(62,-67,926,814),27792=>array(43,-63,960,833),27793=>array(66,-51,947,821),27794=>array(58,-71,953,841),27795=>array(54,-62,962,835),27796=>array(54,-60,944,814),27797=>array(59,-56,926,855),27798=>array(54,-64,914,839),27799=>array(35,-58,976,803),27800=>array(52,-50,964,817),27801=>array(51,-62,968,812),27802=>array(65,-44,966,807),27803=>array(41,-65,942,837),27804=>array(70,-66,953,837),27805=>array(31,-69,969,835),27806=>array(52,-74,939,826),27807=>array(41,-61,903,831),27808=>array(66,-64,959,821),27809=>array(47,-62,959,805),27810=>array(40,-66,973,805),27811=>array(58,-63,920,813),27812=>array(42,-47,929,822),27813=>array(41,-57,916,827),27814=>array(52,-46,948,837),27815=>array(28,-63,967,821),27816=>array(58,-58,937,824),27817=>array(41,-62,892,819),27818=>array(45,-62,874,836),27819=>array(56,-61,980,833),27820=>array(62,-72,984,819),27821=>array(39,-67,947,829),27822=>array(57,-30,957,820),27823=>array(52,-52,967,813),27824=>array(53,-71,951,803),27825=>array(53,-44,951,828),27826=>array(38,-58,953,810),27827=>array(49,-67,952,796),27828=>array(46,-47,978,862),27829=>array(73,-53,947,840),27830=>array(51,-73,956,800),27831=>array(53,-81,961,827),27832=>array(42,-63,915,823),27833=>array(64,-69,903,836),27834=>array(54,-74,900,801),27835=>array(48,-64,959,834),27836=>array(52,-61,896,817),27837=>array(69,-64,956,836),27838=>array(67,-56,946,836),27839=>array(43,-48,936,814),27840=>array(45,-68,891,806),27841=>array(59,-62,965,810),27842=>array(45,-73,894,813),27843=>array(47,-70,896,825),27844=>array(39,-63,953,835),27845=>array(49,-66,897,811),27846=>array(28,-50,976,856),27847=>array(48,-73,909,818),27848=>array(81,-66,984,829),27849=>array(46,-73,960,843),27850=>array(60,-57,875,847),27851=>array(39,-66,968,828),27852=>array(42,-32,972,829),27853=>array(44,-67,968,835),27854=>array(97,-62,955,845),27855=>array(42,-71,915,830),27856=>array(64,-68,918,832),27857=>array(57,-75,907,831),27858=>array(55,-64,975,849),27859=>array(50,-53,958,808),27860=>array(46,-53,947,831),27861=>array(64,-59,945,821),27862=>array(56,-68,924,837),27863=>array(61,-53,909,810),27864=>array(78,-67,931,825),27865=>array(54,-64,952,818),27866=>array(38,-39,960,838),27867=>array(56,-67,963,836),27868=>array(41,-69,958,834),27869=>array(55,-68,952,842),27870=>array(51,-72,910,824),27871=>array(62,-63,953,806),27872=>array(36,-50,969,870),27873=>array(46,-46,968,834),27874=>array(50,-75,961,831),27875=>array(62,-27,956,820),27876=>array(59,-65,960,828),27877=>array(56,-64,957,821),27878=>array(62,-57,973,818),27879=>array(55,-70,960,828),27880=>array(60,-46,939,838),27881=>array(49,-58,958,831),27882=>array(53,-59,914,820),27883=>array(54,-53,949,831),27884=>array(53,-72,972,846),27885=>array(52,-73,948,823),27886=>array(63,-69,967,825),27887=>array(49,-63,951,812),27888=>array(38,-65,963,838),27889=>array(59,-71,983,831),27890=>array(50,-46,922,856),27891=>array(42,-58,980,851),27892=>array(58,-26,988,825),27893=>array(57,-67,964,777),27894=>array(45,-66,929,815),27895=>array(57,-62,929,822),27896=>array(53,-62,910,822),27897=>array(53,-50,955,798),27898=>array(42,-62,933,828),27899=>array(43,-55,893,806),27900=>array(47,-76,949,814),27901=>array(55,-70,948,805),27902=>array(63,-58,926,799),27903=>array(64,-72,964,812),27904=>array(51,-69,954,838),27905=>array(57,-71,957,827),27906=>array(57,-66,945,846),27907=>array(44,-78,972,829),27908=>array(71,-57,915,803),27909=>array(57,-66,965,806),27910=>array(47,-60,964,805),27911=>array(56,-63,910,810),27912=>array(50,-73,964,829),27913=>array(49,-67,955,822),27914=>array(56,-64,970,840),27915=>array(42,-65,951,846),27916=>array(45,-62,902,830),27917=>array(52,-44,954,812),27918=>array(58,-69,898,842),27919=>array(56,-70,954,811),27920=>array(55,-70,955,830),27921=>array(49,-66,974,841),27922=>array(46,-53,947,813),27923=>array(55,-65,941,824),27924=>array(58,-61,935,838),27925=>array(41,-73,975,818),27926=>array(46,-70,962,807),27927=>array(60,-62,963,833),27928=>array(47,-74,953,825),27929=>array(42,-62,967,832),27930=>array(49,-70,968,834),27931=>array(57,-72,959,842),27932=>array(38,-67,981,849),27933=>array(55,-71,959,835),27934=>array(48,-55,898,819),27935=>array(45,-74,973,830),27936=>array(51,-68,954,844),27937=>array(71,-67,965,824),27938=>array(53,-79,952,830),27939=>array(51,-65,955,824),27940=>array(44,-38,962,845),27941=>array(48,-62,959,842),27942=>array(52,-70,932,830),27943=>array(42,-77,945,828),27944=>array(52,-74,963,835),27945=>array(55,-63,974,831),27946=>array(69,-60,940,834),27947=>array(50,-53,970,829),27948=>array(53,-71,963,818),27949=>array(50,-45,953,812),27950=>array(52,-60,967,825),27951=>array(53,-68,948,829),27952=>array(54,-52,949,805),27953=>array(56,-64,959,812),27954=>array(57,-70,897,820),27955=>array(56,-64,908,834),27956=>array(48,-65,956,847),27957=>array(50,-59,908,850),27958=>array(56,-63,917,838),27959=>array(55,-57,956,809),27960=>array(59,-75,965,819),27961=>array(54,-53,959,802),27962=>array(55,-72,889,830),27963=>array(43,-70,942,826),27964=>array(50,-54,956,829),27965=>array(50,-59,986,845),27966=>array(51,-72,966,832),27967=>array(58,-63,988,854),27968=>array(48,-73,909,828),27969=>array(40,-70,964,830),27970=>array(48,-73,970,836),27971=>array(49,-74,939,818),27972=>array(48,-61,952,839),27973=>array(46,-70,939,853),27974=>array(34,-61,947,836),27975=>array(37,-63,929,834),27976=>array(62,-80,920,819),27977=>array(46,-71,930,822),27978=>array(57,-54,935,816),27979=>array(48,-63,880,828),27980=>array(45,-63,956,825),27981=>array(45,-68,940,822),27982=>array(36,-64,952,835),27983=>array(55,-68,871,821),27984=>array(54,-68,917,846),27985=>array(57,-60,909,811),27986=>array(46,-69,920,822),27987=>array(40,-58,950,831),27988=>array(43,-64,911,790),27989=>array(54,-64,936,810),27990=>array(46,-66,934,835),27991=>array(56,-63,956,833),27992=>array(66,-64,970,821),27993=>array(41,-65,954,835),27994=>array(24,-54,948,846),27995=>array(42,-70,955,839),27996=>array(47,-65,963,824),27997=>array(52,-45,965,833),27998=>array(50,-54,972,829),27999=>array(50,-76,971,839),28000=>array(40,-65,951,838),28001=>array(60,-63,957,844),28002=>array(63,-44,966,818),28003=>array(56,-64,960,839),28004=>array(52,-65,940,833),28005=>array(45,-35,955,818),28006=>array(42,-52,956,847),28007=>array(53,-43,951,813),28008=>array(57,-68,972,831),28009=>array(29,-63,944,841),28010=>array(62,-63,962,829),28011=>array(46,-60,938,817),28012=>array(48,-49,952,817),28013=>array(47,-70,962,816),28014=>array(46,-68,951,834),28015=>array(54,-47,949,835),28016=>array(55,-65,909,831),28017=>array(54,-70,963,808),28018=>array(54,-72,969,842),28019=>array(57,-76,957,843),28020=>array(53,-60,959,847),28021=>array(43,-74,954,831),28022=>array(46,-69,945,836),28023=>array(42,-62,956,843),28024=>array(42,-69,949,798),28025=>array(43,-67,971,830),28026=>array(54,-67,911,827),28027=>array(50,-65,908,819),28028=>array(42,-65,962,840),28029=>array(53,-66,958,821),28030=>array(53,-70,953,830),28031=>array(56,-78,955,810),28032=>array(51,-66,963,811),28033=>array(55,-76,966,822),28034=>array(48,-68,975,843),28035=>array(52,-71,906,812),28036=>array(55,-68,956,830),28037=>array(28,-26,960,816),28038=>array(44,-67,950,809),28039=>array(50,-38,956,820),28040=>array(64,-67,917,833),28041=>array(48,-58,956,834),28042=>array(55,-52,972,809),28043=>array(56,-71,968,826),28044=>array(49,-61,897,818),28045=>array(50,-67,947,832),28046=>array(36,-66,964,813),28047=>array(63,-68,948,810),28048=>array(59,-67,964,827),28049=>array(49,-68,961,825),28050=>array(45,-68,948,814),28051=>array(74,-65,915,814),28052=>array(53,-67,996,829),28053=>array(42,-68,927,844),28054=>array(39,-48,956,859),28055=>array(57,-70,955,840),28056=>array(37,-53,973,863),28057=>array(36,-68,959,827),28058=>array(54,-64,968,852),28059=>array(61,-61,937,834),28060=>array(41,-59,955,844),28061=>array(52,-54,911,834),28062=>array(44,-59,943,823),28063=>array(44,-58,938,816),28064=>array(49,-63,869,800),28065=>array(41,-70,893,795),28066=>array(51,-67,929,813),28067=>array(22,-63,946,842),28068=>array(45,-59,944,828),28069=>array(50,-61,908,848),28070=>array(62,-53,918,829),28071=>array(46,-62,870,819),28072=>array(45,-60,956,821),28073=>array(53,-41,928,798),28074=>array(45,-67,952,845),28075=>array(51,-65,928,850),28076=>array(67,-67,933,827),28077=>array(76,-69,964,832),28078=>array(63,-66,924,830),28079=>array(39,-64,951,818),28080=>array(58,-67,967,794),28081=>array(50,-69,961,804),28082=>array(52,-68,961,839),28083=>array(66,-52,956,833),28084=>array(43,-56,962,857),28085=>array(53,-63,911,810),28086=>array(69,-50,941,828),28087=>array(85,-71,963,820),28088=>array(53,-65,900,824),28089=>array(51,-72,946,840),28090=>array(72,-73,932,813),28091=>array(54,-72,962,825),28092=>array(49,-61,964,831),28093=>array(66,-71,957,816),28094=>array(82,-68,946,820),28095=>array(54,-51,975,815),28096=>array(54,-74,956,820),28097=>array(54,-71,944,841),28098=>array(78,-65,953,813),28099=>array(50,-50,951,834),28100=>array(65,-62,926,842),28101=>array(40,-58,953,839),28102=>array(54,-64,958,844),28103=>array(48,-65,961,830),28104=>array(65,-80,908,800),28105=>array(84,-71,965,815),28106=>array(57,-70,897,829),28107=>array(28,-63,968,841),28108=>array(45,-62,935,838),28109=>array(66,-77,906,804),28110=>array(66,-67,967,832),28111=>array(88,-74,971,819),28112=>array(85,-69,906,806),28113=>array(31,-66,975,829),28114=>array(35,-66,953,838),28115=>array(63,-72,956,823),28116=>array(69,-56,955,834),28117=>array(80,-60,954,832),28118=>array(38,-65,945,836),28119=>array(59,-62,904,828),28120=>array(47,-58,911,847),28121=>array(40,-62,961,836),28122=>array(48,-66,982,843),28123=>array(71,-71,905,821),28124=>array(74,-75,911,806),28125=>array(40,-62,960,806),28126=>array(29,-65,956,832),28127=>array(37,-54,970,849),28128=>array(46,-64,955,814),28129=>array(47,-62,965,846),28130=>array(79,-70,958,820),28131=>array(50,-58,957,850),28132=>array(40,-61,965,835),28133=>array(40,-64,956,837),28134=>array(50,-36,957,843),28135=>array(50,-39,989,843),28136=>array(57,-61,950,834),28137=>array(47,-73,964,835),28138=>array(39,-58,991,856),28139=>array(41,-42,943,827),28140=>array(24,-61,948,840),28141=>array(70,-68,961,824),28142=>array(43,-59,962,849),28143=>array(50,-66,941,832),28144=>array(38,-53,969,848),28145=>array(44,-68,963,808),28146=>array(57,-79,956,823),28147=>array(50,-61,955,831),28148=>array(34,-33,955,846),28149=>array(47,-65,900,830),28150=>array(52,-65,985,836),28151=>array(55,-60,961,803),28152=>array(39,-64,943,833),28153=>array(42,-37,984,854),28154=>array(42,-60,978,845),28155=>array(53,-55,962,837),28156=>array(49,-68,978,827),28157=>array(64,-53,951,824),28158=>array(51,-69,962,857),28159=>array(70,-68,922,838),28160=>array(76,-80,974,820),28161=>array(47,-68,961,823),28162=>array(51,-60,949,795),28163=>array(41,-70,951,821),28164=>array(44,-62,953,820),28165=>array(39,-67,943,833),28166=>array(42,-57,909,826),28167=>array(39,-63,924,800),28168=>array(42,-60,958,825),28169=>array(39,-67,966,824),28170=>array(59,-72,882,824),28171=>array(48,-31,956,834),28172=>array(46,-60,936,807),28173=>array(54,-75,912,827),28174=>array(52,-60,929,823),28175=>array(52,-62,954,833),28176=>array(36,-63,920,829),28177=>array(50,-48,933,799),28178=>array(36,-65,957,841),28179=>array(46,-57,979,828),28180=>array(50,-48,922,829),28181=>array(42,-57,909,826),28182=>array(60,-72,910,832),28183=>array(51,-61,964,839),28184=>array(82,-69,964,813),28185=>array(34,-65,951,838),28186=>array(47,-65,948,833),28187=>array(54,-76,956,837),28188=>array(50,-72,970,804),28189=>array(33,-76,965,843),28190=>array(81,-71,934,837),28191=>array(46,-62,921,849),28192=>array(53,-68,965,819),28193=>array(49,-71,973,832),28194=>array(29,-54,972,812),28195=>array(33,-29,959,843),28196=>array(63,-77,930,836),28197=>array(48,-70,956,811),28198=>array(51,-59,896,822),28199=>array(62,-71,919,838),28200=>array(46,-76,975,803),28201=>array(36,-61,943,781),28202=>array(61,-80,930,820),28203=>array(45,-65,978,830),28204=>array(64,-65,909,826),28205=>array(65,-65,913,808),28206=>array(50,-65,950,828),28207=>array(47,-56,961,826),28208=>array(54,-67,973,844),28209=>array(49,-49,959,825),28210=>array(55,-39,954,847),28211=>array(40,-70,952,813),28212=>array(62,-65,919,801),28213=>array(49,-70,956,825),28214=>array(57,-79,970,824),28215=>array(49,-58,967,856),28216=>array(54,-77,950,839),28217=>array(49,-50,919,855),28218=>array(28,-71,946,826),28219=>array(46,-72,960,831),28220=>array(58,-65,982,845),28221=>array(51,-74,962,822),28222=>array(43,-57,956,821),28223=>array(45,-67,980,829),28224=>array(52,-76,968,829),28225=>array(49,-72,963,834),28226=>array(52,-60,963,805),28227=>array(44,-61,961,832),28228=>array(80,-69,919,808),28229=>array(39,-46,968,855),28230=>array(43,-69,951,833),28231=>array(41,-73,947,829),28232=>array(48,-59,975,832),28233=>array(50,-71,952,824),28234=>array(49,-69,966,825),28235=>array(46,-71,950,838),28236=>array(52,-63,963,848),28237=>array(54,-64,956,833),28238=>array(43,-64,951,809),28239=>array(47,-71,939,832),28240=>array(48,-65,918,829),28241=>array(45,-48,963,820),28242=>array(52,-71,951,811),28243=>array(43,-53,959,823),28244=>array(50,-65,965,850),28245=>array(40,-73,978,826),28246=>array(68,-68,912,829),28247=>array(69,-61,954,826),28248=>array(69,-65,916,829),28249=>array(69,-38,980,840),28250=>array(54,-70,965,828),28251=>array(38,-65,948,823),28252=>array(49,-65,979,811),28253=>array(55,-69,958,825),28254=>array(60,-77,955,833),28255=>array(42,-37,959,846),28256=>array(55,-66,954,835),28257=>array(52,-66,910,801),28258=>array(55,-72,951,811),28259=>array(48,-44,959,821),28260=>array(43,-57,959,853),28261=>array(45,-70,977,832),28262=>array(52,-46,955,807),28263=>array(44,-68,918,814),28264=>array(49,-67,974,812),28265=>array(45,-64,962,818),28266=>array(49,-63,974,843),28267=>array(50,-67,979,833),28268=>array(25,-67,964,833),28269=>array(29,-65,955,842),28270=>array(34,-50,939,810),28271=>array(51,-68,953,795),28272=>array(43,-48,938,844),28273=>array(56,-65,955,835),28274=>array(41,-56,968,846),28275=>array(55,-64,956,836),28276=>array(53,-40,959,851),28277=>array(45,-60,969,840),28278=>array(45,-70,974,840),28279=>array(49,-70,961,832),28280=>array(52,-70,961,830),28281=>array(49,-68,956,806),28282=>array(64,-65,949,840),28283=>array(45,-64,954,845),28284=>array(48,-46,948,821),28285=>array(65,-62,952,843),28286=>array(54,-61,953,836),28287=>array(49,-39,933,804),28288=>array(38,-59,922,828),28289=>array(44,-70,962,818),28290=>array(44,-67,903,831),28291=>array(48,-64,919,827),28292=>array(48,-63,969,840),28293=>array(29,-63,931,833),28294=>array(42,-69,949,817),28295=>array(29,-52,928,837),28296=>array(46,-68,939,839),28297=>array(48,-64,963,811),28298=>array(48,-67,969,817),28299=>array(48,-33,965,817),28300=>array(46,-61,966,823),28301=>array(49,-69,961,816),28302=>array(44,-54,954,849),28303=>array(37,-65,949,828),28304=>array(48,-70,943,799),28305=>array(51,-72,935,836),28306=>array(43,-71,960,827),28307=>array(65,-71,953,831),28308=>array(50,-74,971,833),28309=>array(50,-60,965,799),28310=>array(54,-67,951,843),28311=>array(38,-70,967,836),28312=>array(31,-41,938,832),28313=>array(45,-70,987,845),28314=>array(55,-68,966,827),28315=>array(55,-74,976,838),28316=>array(45,-66,925,830),28317=>array(43,-67,948,829),28318=>array(64,-72,963,806),28319=>array(48,-66,966,807),28320=>array(55,-45,952,835),28321=>array(35,-70,954,824),28322=>array(48,-34,952,839),28323=>array(38,-67,973,848),28324=>array(41,-71,932,797),28325=>array(53,-64,951,835),28326=>array(46,-69,964,830),28327=>array(51,-62,967,804),28328=>array(51,-59,972,842),28329=>array(26,-60,928,839),28330=>array(26,-69,977,838),28331=>array(53,-59,959,784),28332=>array(53,-59,980,829),28333=>array(53,-59,973,802),28334=>array(52,-68,968,838),28335=>array(66,-70,922,837),28336=>array(58,-49,954,830),28337=>array(44,-66,986,840),28338=>array(34,-64,970,837),28339=>array(51,-71,969,811),28340=>array(56,-67,975,842),28341=>array(56,-71,989,836),28342=>array(53,-68,964,835),28343=>array(46,-65,905,818),28344=>array(56,-67,980,830),28345=>array(62,-65,958,831),28346=>array(54,-60,927,803),28347=>array(57,-63,878,808),28348=>array(57,-41,959,816),28349=>array(36,-64,950,810),28350=>array(45,-64,965,851),28351=>array(45,-70,958,824),28352=>array(55,-73,950,835),28353=>array(44,-65,978,840),28354=>array(51,-62,959,848),28355=>array(36,-52,973,812),28356=>array(46,-65,991,863),28357=>array(53,-68,954,828),28358=>array(55,-68,951,802),28359=>array(53,-69,962,844),28360=>array(63,-64,954,839),28361=>array(47,-62,962,813),28362=>array(55,-63,972,847),28363=>array(45,-65,944,841),28364=>array(38,-58,978,853),28365=>array(48,-73,946,831),28366=>array(46,-65,952,830),28367=>array(35,-49,969,836),28368=>array(43,-68,970,835),28369=>array(49,-62,926,811),28370=>array(57,-74,951,797),28371=>array(41,-66,952,840),28372=>array(57,-65,950,836),28373=>array(27,-64,958,824),28374=>array(53,-71,965,836),28375=>array(43,-49,924,827),28376=>array(48,-61,959,814),28377=>array(47,-39,951,828),28378=>array(44,-79,961,841),28379=>array(43,-76,939,820),28380=>array(54,-70,987,852),28381=>array(44,-51,958,835),28382=>array(43,-72,938,829),28383=>array(37,-63,926,826),28384=>array(46,-64,943,805),28385=>array(38,-59,922,828),28386=>array(37,-43,921,824),28387=>array(37,-76,979,791),28388=>array(39,-57,940,832),28389=>array(45,-54,920,828),28390=>array(46,-60,951,841),28391=>array(46,-54,978,852),28392=>array(43,-70,927,844),28393=>array(40,-39,917,834),28394=>array(45,-69,969,810),28395=>array(50,-68,960,836),28396=>array(44,-64,963,815),28397=>array(55,-74,953,799),28398=>array(55,-75,977,832),28399=>array(45,-68,950,829),28400=>array(61,-65,952,847),28401=>array(61,-71,970,838),28402=>array(45,-68,945,859),28403=>array(36,-80,923,826),28404=>array(36,-68,954,831),28405=>array(49,-73,966,842),28406=>array(56,-73,972,829),28407=>array(63,-64,953,837),28408=>array(38,-64,951,832),28409=>array(54,-66,955,839),28410=>array(50,-49,956,818),28411=>array(50,-64,959,844),28412=>array(54,-60,967,826),28413=>array(56,-68,956,839),28414=>array(57,-68,961,827),28415=>array(46,-69,948,830),28416=>array(33,-72,961,826),28417=>array(44,-60,972,850),28418=>array(23,-65,971,795),28419=>array(51,-73,974,836),28420=>array(55,-81,952,832),28421=>array(55,-70,962,834),28422=>array(29,-64,969,838),28423=>array(51,-74,973,831),28424=>array(51,-68,955,830),28425=>array(41,-70,970,828),28426=>array(35,-72,945,837),28427=>array(41,-67,985,845),28428=>array(35,-41,965,830),28429=>array(50,-71,898,813),28430=>array(52,-73,968,827),28431=>array(46,-67,956,800),28432=>array(66,-71,964,840),28433=>array(47,-52,959,847),28434=>array(57,-74,963,830),28435=>array(37,-58,943,841),28436=>array(40,-66,960,840),28437=>array(38,-65,956,837),28438=>array(47,-62,972,833),28439=>array(46,-54,962,843),28440=>array(51,-53,964,821),28441=>array(69,-68,964,831),28442=>array(42,-31,957,805),28443=>array(46,-45,983,828),28444=>array(47,-52,964,824),28445=>array(50,-65,919,804),28446=>array(56,-69,961,827),28447=>array(51,-28,954,839),28448=>array(28,-63,974,840),28449=>array(56,-70,954,838),28450=>array(38,-68,962,838),28451=>array(37,-58,963,833),28452=>array(38,-63,948,819),28453=>array(50,-52,954,836),28454=>array(38,-68,978,841),28455=>array(47,-67,961,832),28456=>array(61,-70,972,843),28457=>array(38,-62,973,849),28458=>array(41,-62,961,829),28459=>array(36,-68,972,806),28460=>array(47,-69,969,837),28461=>array(57,-70,968,827),28462=>array(49,-69,959,844),28463=>array(50,-60,962,819),28464=>array(40,-68,908,842),28465=>array(39,-71,970,837),28466=>array(44,-68,962,816),28467=>array(41,-67,952,843),28468=>array(47,-76,934,824),28469=>array(33,-58,966,833),28470=>array(34,-35,958,829),28471=>array(37,-71,953,838),28472=>array(48,-68,956,836),28473=>array(56,-68,955,814),28474=>array(51,-72,968,823),28475=>array(47,-71,966,808),28476=>array(51,-70,955,823),28477=>array(63,-74,957,805),28478=>array(45,-62,974,840),28479=>array(36,-68,959,839),28480=>array(43,-50,962,814),28481=>array(38,-66,956,831),28482=>array(54,-58,945,833),28483=>array(50,-71,964,832),28484=>array(51,-65,972,846),28485=>array(45,-72,936,843),28486=>array(37,-63,913,825),28487=>array(43,-66,951,824),28488=>array(39,-55,971,824),28489=>array(44,-54,943,840),28490=>array(36,-61,967,831),28491=>array(40,-65,946,824),28492=>array(48,-46,944,841),28493=>array(40,-43,923,832),28494=>array(48,-71,977,824),28495=>array(51,-70,920,801),28496=>array(52,-64,974,838),28497=>array(30,-63,983,846),28498=>array(50,-64,977,828),28499=>array(55,-52,985,824),28500=>array(57,-68,951,823),28501=>array(47,-71,978,829),28502=>array(53,-45,958,801),28503=>array(49,-66,979,848),28504=>array(33,-66,969,832),28505=>array(31,-60,945,837),28506=>array(41,-59,954,846),28507=>array(55,-65,964,837),28508=>array(53,-48,956,840),28509=>array(44,-70,985,841),28510=>array(42,-65,972,833),28511=>array(58,-64,922,846),28512=>array(40,-70,955,797),28513=>array(49,-71,981,841),28514=>array(37,-66,955,832),28515=>array(48,-68,908,809),28516=>array(71,-69,915,794),28517=>array(69,-72,960,793),28518=>array(44,-64,968,838),28519=>array(52,-70,915,824),28520=>array(69,-62,966,847),28521=>array(49,-74,960,807),28522=>array(52,-71,916,832),28523=>array(49,-68,975,828),28524=>array(49,-69,951,805),28525=>array(40,-71,962,805),28526=>array(58,-79,905,832),28527=>array(44,-62,952,805),28528=>array(57,-68,960,837),28529=>array(57,-56,937,839),28530=>array(57,-70,950,828),28531=>array(50,-71,948,808),28532=>array(36,-63,934,823),28533=>array(38,-69,963,832),28534=>array(48,-63,977,807),28535=>array(52,-72,956,829),28536=>array(32,-71,964,834),28537=>array(32,-51,968,819),28538=>array(38,-68,960,808),28539=>array(48,-68,975,823),28540=>array(53,-49,953,845),28541=>array(51,-71,956,836),28542=>array(49,-74,974,821),28543=>array(36,-65,904,813),28544=>array(33,-38,956,810),28545=>array(46,-60,959,836),28546=>array(42,-69,974,838),28547=>array(33,-78,961,817),28548=>array(46,-52,964,837),28549=>array(45,-50,952,828),28550=>array(51,-61,973,840),28551=>array(44,-56,949,846),28552=>array(45,-70,974,841),28553=>array(35,-66,975,831),28554=>array(48,-62,957,851),28555=>array(50,-71,952,804),28556=>array(37,-64,954,843),28557=>array(42,-62,955,830),28558=>array(36,-59,972,845),28559=>array(34,-58,934,813),28560=>array(46,-75,954,812),28561=>array(40,-49,923,804),28562=>array(42,-56,973,818),28563=>array(49,-68,961,835),28564=>array(32,-50,950,853),28565=>array(55,-69,947,826),28566=>array(46,-68,906,812),28567=>array(37,-60,894,820),28568=>array(32,-51,956,834),28569=>array(41,-70,960,835),28570=>array(32,-68,949,844),28571=>array(32,-74,943,835),28572=>array(52,-58,883,820),28573=>array(44,-59,945,847),28574=>array(68,-74,972,826),28575=>array(62,-63,977,854),28576=>array(40,-46,962,804),28577=>array(39,-67,977,795),28578=>array(59,-68,910,824),28579=>array(41,-65,976,837),28580=>array(35,-68,956,822),28581=>array(66,-73,952,822),28582=>array(45,-69,969,810),28583=>array(43,-41,951,833),28584=>array(41,-43,951,850),28585=>array(87,-68,924,833),28586=>array(55,-77,995,820),28587=>array(66,-65,946,825),28588=>array(62,-79,965,825),28589=>array(71,-71,954,839),28590=>array(19,-65,969,855),28591=>array(69,-70,963,823),28592=>array(63,-69,970,836),28593=>array(45,-68,975,808),28594=>array(68,-69,958,823),28595=>array(24,-68,963,851),28596=>array(35,-73,976,806),28597=>array(35,-55,948,828),28598=>array(42,-44,956,849),28599=>array(36,-57,941,819),28600=>array(52,-57,962,831),28601=>array(28,-56,941,856),28602=>array(75,-53,975,837),28603=>array(45,-56,944,843),28604=>array(42,-65,953,841),28605=>array(56,-66,957,828),28606=>array(37,-57,951,833),28607=>array(71,-71,961,822),28608=>array(40,-72,962,840),28609=>array(54,-59,914,815),28610=>array(28,-68,962,830),28611=>array(34,-75,965,840),28612=>array(74,-68,974,810),28613=>array(39,-54,984,853),28614=>array(47,-67,966,836),28615=>array(41,-44,951,855),28616=>array(43,-68,964,818),28617=>array(44,-66,954,839),28618=>array(69,-78,964,825),28619=>array(77,-70,987,820),28620=>array(49,-71,970,824),28621=>array(70,-57,969,826),28622=>array(74,-68,954,812),28623=>array(68,-65,967,822),28624=>array(68,-64,986,822),28625=>array(39,-63,935,826),28626=>array(49,-58,951,835),28627=>array(28,-68,962,850),28628=>array(51,-71,958,802),28629=>array(53,-70,963,799),28630=>array(69,-63,961,802),28631=>array(39,-63,991,835),28632=>array(39,-60,956,849),28633=>array(52,-49,952,839),28634=>array(52,-65,937,829),28635=>array(43,-62,952,837),28636=>array(54,-54,957,826),28637=>array(53,-69,974,829),28638=>array(42,-64,962,859),28639=>array(48,-71,954,838),28640=>array(35,-59,967,834),28641=>array(40,-68,938,812),28642=>array(45,-70,952,801),28643=>array(59,-73,979,831),28644=>array(40,-58,963,841),28645=>array(40,-60,975,848),28646=>array(35,-63,959,826),28647=>array(55,-68,954,827),28648=>array(53,-41,965,841),28649=>array(51,-68,963,829),28650=>array(49,-43,972,842),28651=>array(47,-55,963,842),28652=>array(53,-64,972,829),28653=>array(58,-60,962,815),28654=>array(20,-68,957,831),28655=>array(41,-65,955,808),28656=>array(50,-61,956,839),28657=>array(46,-73,966,845),28658=>array(45,-78,963,822),28659=>array(52,-69,966,827),28660=>array(47,-68,955,826),28661=>array(79,-57,930,840),28662=>array(47,-65,901,815),28663=>array(51,-64,951,834),28664=>array(46,-65,984,837),28665=>array(24,-29,960,802),28666=>array(35,-69,964,845),28667=>array(50,-76,963,828),28668=>array(25,-73,978,842),28669=>array(45,-72,960,834),28670=>array(43,-71,967,841),28671=>array(56,-67,939,812),28672=>array(56,-70,959,809),28673=>array(46,-78,969,838),28674=>array(63,-61,974,849),28675=>array(58,-57,957,824),28676=>array(76,-68,952,829),28677=>array(52,-43,957,836),28678=>array(41,-71,933,834),28679=>array(45,-83,940,831),28680=>array(45,-70,937,817),28681=>array(36,-59,929,846),28682=>array(40,-52,955,824),28683=>array(48,-65,952,838),28684=>array(42,-62,951,837),28685=>array(47,-54,956,863),28686=>array(47,-67,950,833),28687=>array(61,-67,933,834),28688=>array(59,-62,942,830),28689=>array(34,-68,973,797),28690=>array(41,-43,981,856),28691=>array(39,-67,970,834),28692=>array(49,-71,970,822),28693=>array(37,-71,965,821),28694=>array(44,-65,942,820),28695=>array(41,-53,949,839),28696=>array(48,-67,962,841),28697=>array(51,-70,970,844),28698=>array(39,-59,976,848),28699=>array(48,-71,956,838),28700=>array(36,-69,967,826),28701=>array(38,-59,967,820),28702=>array(44,-65,959,844),28703=>array(40,-65,959,833),28704=>array(46,-63,967,838),28705=>array(35,-69,967,832),28706=>array(41,-64,974,829),28707=>array(24,-42,961,835),28708=>array(51,-72,964,841),28709=>array(45,-71,938,817),28710=>array(40,-65,951,833),28711=>array(45,-68,963,827),28712=>array(42,-71,973,829),28713=>array(40,-66,966,830),28714=>array(55,-65,960,843),28715=>array(46,-73,975,829),28716=>array(42,-73,961,829),28717=>array(50,-70,978,849),28718=>array(50,-66,963,824),28719=>array(55,-63,951,841),28720=>array(48,-62,975,808),28721=>array(42,-63,942,832),28722=>array(40,-67,987,849),28723=>array(50,-64,952,831),28724=>array(36,-70,957,833),28725=>array(53,-76,969,840),28726=>array(54,-63,936,840),28727=>array(44,-68,949,825),28728=>array(41,-60,974,841),28729=>array(39,-62,990,852),28730=>array(43,-65,962,848),28731=>array(37,-71,966,829),28732=>array(39,-58,975,848),28733=>array(49,-64,950,845),28734=>array(59,-70,923,797),28735=>array(52,-65,959,839),28736=>array(53,-61,936,832),28737=>array(56,-65,921,825),28738=>array(55,-62,964,840),28739=>array(59,-59,964,826),28740=>array(46,-63,961,814),28741=>array(45,-46,958,804),28742=>array(36,-45,949,826),28743=>array(41,-62,952,834),28744=>array(45,-65,954,806),28745=>array(51,-68,956,834),28746=>array(50,-67,960,808),28747=>array(46,-76,941,844),28748=>array(49,-70,953,829),28749=>array(49,-67,930,790),28750=>array(39,-36,964,836),28751=>array(33,-67,935,805),28752=>array(56,-37,950,836),28753=>array(46,-67,969,819),28754=>array(46,-69,958,824),28755=>array(36,-68,959,832),28756=>array(41,-66,972,832),28757=>array(41,-62,965,856),28758=>array(49,-65,956,843),28759=>array(48,-55,964,832),28760=>array(34,-72,960,837),28761=>array(52,-78,941,836),28762=>array(37,-66,963,829),28763=>array(50,-64,910,823),28764=>array(48,-71,946,838),28765=>array(46,-69,973,813),28766=>array(32,-71,925,815),28767=>array(55,-69,938,815),28768=>array(47,-66,954,837),28769=>array(45,-57,948,839),28770=>array(44,-70,988,830),28771=>array(50,-69,940,839),28772=>array(28,-63,975,844),28773=>array(45,-68,965,845),28774=>array(34,-73,964,816),28775=>array(39,-36,972,839),28776=>array(44,-77,954,834),28777=>array(38,-36,964,839),28778=>array(48,-67,944,830),28779=>array(85,-66,919,815),28780=>array(39,223,932,469),28781=>array(45,-61,955,771),28782=>array(49,-64,954,829),28783=>array(49,-91,942,814),28784=>array(32,-59,959,782),28785=>array(70,-70,908,825),28786=>array(146,-68,889,832),28787=>array(59,-57,917,833),28788=>array(58,-66,959,827),28789=>array(53,-63,926,790),28790=>array(64,-77,964,824),28791=>array(54,-65,949,829),28792=>array(54,-62,956,840),28793=>array(79,-70,943,837),28794=>array(58,-69,966,819),28795=>array(53,-64,953,830),28796=>array(50,-77,920,832),28797=>array(53,-64,953,817),28798=>array(45,-72,925,835),28799=>array(37,-81,903,826),28800=>array(32,-63,899,826),28801=>array(37,-69,960,800),28802=>array(53,-67,960,826),28803=>array(42,-73,969,780),28804=>array(46,-70,961,825),28805=>array(46,-52,965,804),28806=>array(50,-71,987,835),28807=>array(81,-74,956,838),28808=>array(73,-70,964,825),28809=>array(34,-65,925,828),28810=>array(59,-72,964,840),28811=>array(59,-72,959,832),28812=>array(59,-72,957,849),28813=>array(59,-72,964,832),28814=>array(66,-77,962,829),28815=>array(59,-73,964,837),28816=>array(59,-72,956,834),28817=>array(48,-65,975,831),28818=>array(44,-74,965,833),28819=>array(55,-86,963,820),28820=>array(59,-74,970,828),28821=>array(48,-69,955,836),28822=>array(39,-66,966,826),28823=>array(57,-73,960,829),28824=>array(62,-70,954,840),28825=>array(57,-73,960,840),28826=>array(100,-75,967,827),28827=>array(39,-59,949,833),28828=>array(35,-71,889,822),28829=>array(37,-62,937,827),28830=>array(37,-68,954,823),28831=>array(56,-68,956,822),28832=>array(73,-70,914,831),28833=>array(54,-66,956,826),28834=>array(62,-70,956,831),28835=>array(62,-70,961,831),28836=>array(69,-66,920,829),28837=>array(50,-62,932,829),28838=>array(62,-70,968,844),28839=>array(62,-70,943,831),28840=>array(63,-70,953,852),28841=>array(49,-73,957,829),28842=>array(54,-70,914,831),28843=>array(49,-72,961,822),28844=>array(48,-72,951,831),28845=>array(37,-69,959,830),28846=>array(55,-72,948,839),28847=>array(60,-71,915,830),28848=>array(34,-61,971,849),28849=>array(37,-62,986,838),28850=>array(62,-70,954,838),28851=>array(45,-69,950,827),28852=>array(48,-74,968,825),28853=>array(51,-71,965,834),28854=>array(62,-70,931,831),28855=>array(39,-72,942,828),28856=>array(59,-71,951,842),28857=>array(50,-71,950,830),28858=>array(62,-64,920,838),28859=>array(35,-68,911,823),28860=>array(35,-60,942,832),28861=>array(38,-64,940,830),28862=>array(53,-70,967,820),28863=>array(34,-65,965,844),28864=>array(39,-70,921,825),28865=>array(29,-68,943,830),28866=>array(32,-56,936,833),28867=>array(35,-63,923,823),28868=>array(35,-66,970,846),28869=>array(52,-55,956,832),28870=>array(48,-65,953,832),28871=>array(55,-65,965,830),28872=>array(58,-61,954,831),28873=>array(47,-71,957,843),28874=>array(41,-85,956,841),28875=>array(42,-61,973,849),28876=>array(35,-71,933,837),28877=>array(55,-64,956,826),28878=>array(45,-73,958,788),28879=>array(68,-63,887,845),28880=>array(34,-65,965,844),28881=>array(54,-63,964,829),28882=>array(47,-74,968,824),28883=>array(49,-56,953,832),28884=>array(57,-61,910,831),28885=>array(53,-64,959,832),28886=>array(82,-58,957,839),28887=>array(49,-68,959,835),28888=>array(49,-71,949,830),28889=>array(48,-75,968,839),28890=>array(53,-68,969,833),28891=>array(35,-60,944,826),28892=>array(55,-64,959,837),28893=>array(50,-58,966,785),28894=>array(46,-68,953,830),28895=>array(62,-75,919,834),28896=>array(48,-68,953,829),28897=>array(56,-71,933,831),28898=>array(44,-63,960,827),28899=>array(48,-75,956,829),28900=>array(43,-77,953,832),28901=>array(43,-77,949,825),28902=>array(34,-62,926,831),28903=>array(34,-74,934,818),28904=>array(54,-66,927,824),28905=>array(31,-65,931,841),28906=>array(31,-73,970,836),28907=>array(49,-70,931,812),28908=>array(26,-64,936,833),28909=>array(45,-63,951,829),28910=>array(68,-70,931,828),28911=>array(47,-82,944,842),28912=>array(43,-70,956,826),28913=>array(42,-51,915,839),28914=>array(63,-70,931,825),28915=>array(41,-65,956,831),28916=>array(56,-76,954,820),28917=>array(56,-72,947,831),28918=>array(38,-70,972,826),28919=>array(51,-75,960,837),28920=>array(53,-68,953,824),28921=>array(50,-72,955,842),28922=>array(55,-73,970,831),28923=>array(47,-67,967,829),28924=>array(44,-66,965,826),28925=>array(39,-81,969,839),28926=>array(46,-24,968,815),28927=>array(51,-77,959,833),28928=>array(45,-70,964,823),28929=>array(59,-66,962,826),28930=>array(38,-66,972,836),28931=>array(71,-71,954,835),28932=>array(33,-60,963,804),28933=>array(49,-71,951,832),28934=>array(49,-71,897,824),28935=>array(49,-71,911,833),28936=>array(46,-70,980,846),28937=>array(62,-63,937,798),28938=>array(49,-70,954,832),28939=>array(46,-70,980,829),28940=>array(57,-69,961,849),28941=>array(46,-70,914,829),28942=>array(57,-75,958,829),28943=>array(53,-61,961,775),28944=>array(48,-70,953,826),28945=>array(48,-67,917,826),28946=>array(58,-69,904,826),28947=>array(46,-70,968,833),28948=>array(55,-72,911,828),28949=>array(20,-77,948,832),28950=>array(33,-67,878,825),28951=>array(56,-65,929,835),28952=>array(39,-66,936,817),28953=>array(45,-79,947,831),28954=>array(61,-64,959,823),28955=>array(112,-72,911,781),28956=>array(51,-63,974,832),28957=>array(48,-67,960,833),28958=>array(50,-69,953,830),28959=>array(45,-67,953,831),28960=>array(39,-65,967,845),28961=>array(45,-63,951,844),28962=>array(48,-68,950,829),28963=>array(52,-75,956,785),28964=>array(48,-70,956,844),28965=>array(44,-72,961,845),28966=>array(48,-65,954,836),28967=>array(48,-67,968,826),28968=>array(48,-69,889,826),28969=>array(38,-67,895,826),28970=>array(48,-71,953,846),28971=>array(48,-67,937,826),28972=>array(65,-67,929,826),28973=>array(69,-62,936,839),28974=>array(38,-66,977,841),28975=>array(56,-70,957,837),28976=>array(53,-79,893,837),28977=>array(37,-66,971,840),28978=>array(49,-69,966,841),28979=>array(65,-67,954,834),28980=>array(40,-61,951,838),28981=>array(46,-73,910,824),28982=>array(62,-67,961,838),28983=>array(48,-67,951,850),28984=>array(59,-67,959,803),28985=>array(48,-67,897,826),28986=>array(50,-72,955,827),28987=>array(48,-67,905,826),28988=>array(56,-74,963,829),28989=>array(69,-70,959,821),28990=>array(37,-61,971,840),28991=>array(48,-68,967,855),28992=>array(37,-61,907,829),28993=>array(43,-70,957,832),28994=>array(40,-71,953,826),28995=>array(64,-70,979,847),28996=>array(41,-72,955,829),28997=>array(32,-72,971,829),28998=>array(38,-63,969,835),28999=>array(60,-65,959,829),29000=>array(28,-67,971,826),29001=>array(46,-69,968,830),29002=>array(51,-67,959,841),29003=>array(51,-71,957,826),29004=>array(42,-71,948,849),29005=>array(36,-73,986,827),29006=>array(55,-77,955,839),29007=>array(48,-67,933,826),29008=>array(50,-70,977,830),29009=>array(66,-70,961,831),29010=>array(45,-65,967,846),29011=>array(40,-73,953,828),29012=>array(36,-70,941,838),29013=>array(43,-72,949,793),29014=>array(40,-73,967,844),29015=>array(56,-72,975,835),29016=>array(47,-68,977,826),29017=>array(53,-63,953,832),29018=>array(38,-66,967,807),29019=>array(38,-73,977,788),29020=>array(46,-67,954,827),29021=>array(44,-79,897,823),29022=>array(34,-71,940,836),29023=>array(45,-75,906,825),29024=>array(32,-57,973,836),29025=>array(35,-75,977,829),29026=>array(66,-68,938,833),29027=>array(42,-68,977,829),29028=>array(44,-68,964,833),29029=>array(39,-62,969,834),29030=>array(48,-66,955,843),29031=>array(67,-62,950,788),29032=>array(35,-71,960,828),29033=>array(49,-76,959,829),29034=>array(48,-75,952,842),29035=>array(50,-62,974,840),29036=>array(38,-75,954,826),29037=>array(49,-61,954,830),29038=>array(54,-79,955,831),29039=>array(50,-65,961,832),29040=>array(46,-75,906,829),29041=>array(51,-69,911,828),29042=>array(49,-67,962,837),29043=>array(26,-70,883,823),29044=>array(56,-69,950,828),29045=>array(51,-67,959,831),29046=>array(43,-55,970,837),29047=>array(43,-73,969,846),29048=>array(50,-63,939,832),29049=>array(51,-69,966,829),29050=>array(49,-69,950,826),29051=>array(44,-72,956,836),29052=>array(56,-69,926,850),29053=>array(41,-72,921,822),29054=>array(51,-69,950,828),29055=>array(46,-71,959,838),29056=>array(49,-74,964,827),29057=>array(51,-68,952,836),29058=>array(44,-68,967,831),29059=>array(47,-69,962,840),29060=>array(34,-71,964,847),29061=>array(57,-75,956,820),29062=>array(51,-67,956,829),29063=>array(57,-65,959,843),29064=>array(43,-72,949,801),29065=>array(53,-80,964,826),29066=>array(40,-70,947,844),29067=>array(58,-72,968,838),29068=>array(51,-63,905,831),29069=>array(51,-72,937,843),29070=>array(48,-71,956,827),29071=>array(45,-72,949,834),29072=>array(46,-77,956,832),29073=>array(51,-69,966,850),29074=>array(58,-63,949,839),29075=>array(56,-69,928,839),29076=>array(51,-71,962,835),29077=>array(56,-69,969,828),29078=>array(53,-76,933,835),29079=>array(40,-72,981,850),29080=>array(42,-63,890,830),29081=>array(43,-72,949,785),29082=>array(51,-55,959,835),29083=>array(32,-61,945,832),29084=>array(49,-52,977,830),29085=>array(40,-69,968,846),29086=>array(48,-61,977,825),29087=>array(38,-67,960,831),29088=>array(39,-70,909,835),29089=>array(51,-72,955,826),29090=>array(51,-69,962,843),29091=>array(51,-69,953,833),29092=>array(48,-62,953,827),29093=>array(32,-70,973,824),29094=>array(56,-65,949,837),29095=>array(46,-70,973,839),29096=>array(35,-63,964,830),29097=>array(42,-71,964,826),29098=>array(41,-71,931,825),29099=>array(51,-69,962,851),29100=>array(30,-72,940,833),29101=>array(35,-66,962,835),29102=>array(49,-70,968,827),29103=>array(46,-59,969,843),29104=>array(54,-61,956,825),29105=>array(47,-69,949,831),29106=>array(41,-76,968,821),29107=>array(43,-62,983,833),29108=>array(36,-61,964,838),29109=>array(32,-67,951,848),29110=>array(26,-67,962,828),29111=>array(43,-62,917,853),29112=>array(32,-61,964,835),29113=>array(41,-62,965,835),29114=>array(37,-65,956,836),29115=>array(34,-63,991,848),29116=>array(42,-73,958,826),29117=>array(38,-68,946,824),29118=>array(36,-75,956,837),29119=>array(54,-75,967,831),29120=>array(47,-68,954,825),29121=>array(43,-65,953,832),29122=>array(46,-67,956,826),29123=>array(45,-75,959,831),29124=>array(47,-66,970,842),29125=>array(41,-75,971,826),29126=>array(44,-68,969,826),29127=>array(47,-67,954,835),29128=>array(35,-85,963,837),29129=>array(46,-73,973,837),29130=>array(44,-63,974,839),29131=>array(38,-73,963,837),29132=>array(51,-75,967,827),29133=>array(46,-67,954,836),29134=>array(41,-73,969,850),29135=>array(50,-66,925,830),29136=>array(49,-68,959,833),29137=>array(37,-61,933,844),29138=>array(48,-74,955,829),29139=>array(39,-71,968,836),29140=>array(32,-65,965,837),29141=>array(45,-67,952,828),29142=>array(43,-56,954,833),29143=>array(22,-68,911,829),29144=>array(48,-67,914,829),29145=>array(53,-72,968,798),29146=>array(44,-74,969,828),29147=>array(43,-74,972,785),29148=>array(43,-65,928,829),29149=>array(46,-67,967,824),29150=>array(34,-67,969,837),29151=>array(84,-68,903,832),29152=>array(54,-69,952,825),29153=>array(42,-70,957,825),29154=>array(47,-67,969,838),29155=>array(44,-68,968,849),29156=>array(44,-68,951,822),29157=>array(33,-71,973,829),29158=>array(38,-69,971,836),29159=>array(36,-74,960,823),29160=>array(37,-69,962,847),29161=>array(37,-71,962,845),29162=>array(30,-63,979,836),29163=>array(61,-79,969,847),29164=>array(53,-64,974,835),29165=>array(61,-79,927,828),29166=>array(55,-80,967,830),29167=>array(43,-77,956,820),29168=>array(49,-73,977,829),29169=>array(53,-75,976,830),29170=>array(46,-72,951,843),29171=>array(49,-75,977,823),29172=>array(39,-73,971,857),29173=>array(39,-73,954,835),29174=>array(41,-70,984,838),29175=>array(48,-70,921,857),29176=>array(41,-70,945,830),29177=>array(43,-67,972,784),29178=>array(63,-63,943,853),29179=>array(54,-70,971,831),29180=>array(39,-70,954,830),29181=>array(44,-67,952,833),29182=>array(48,-67,967,833),29183=>array(37,-64,957,831),29184=>array(48,-69,951,831),29185=>array(41,-69,951,823),29186=>array(57,-69,964,840),29187=>array(45,-65,961,831),29188=>array(45,-65,948,827),29189=>array(45,-65,963,827),29190=>array(37,-72,967,828),29191=>array(49,-63,973,839),29192=>array(33,-68,965,838),29193=>array(47,-76,971,847),29194=>array(33,-68,962,839),29195=>array(55,-68,930,833),29196=>array(37,-75,948,841),29197=>array(36,-73,972,847),29198=>array(37,-64,990,845),29199=>array(27,-64,956,827),29200=>array(43,-71,954,830),29201=>array(43,-71,980,837),29202=>array(61,-80,961,858),29203=>array(54,-67,918,829),29204=>array(46,-62,972,841),29205=>array(50,-73,971,843),29206=>array(40,-63,962,843),29207=>array(36,-68,953,826),29208=>array(40,-83,979,841),29209=>array(36,-71,970,838),29210=>array(51,-75,973,824),29211=>array(53,-70,923,830),29212=>array(53,-70,962,834),29213=>array(39,-63,956,843),29214=>array(41,-70,962,831),29215=>array(36,-64,962,837),29216=>array(36,-68,960,830),29217=>array(36,-73,949,842),29218=>array(44,-75,958,845),29219=>array(47,-76,972,831),29220=>array(47,-66,942,830),29221=>array(47,-68,933,827),29222=>array(35,-67,975,838),29223=>array(48,-73,953,824),29224=>array(35,-70,968,830),29225=>array(40,-73,954,822),29226=>array(63,-64,944,835),29227=>array(83,181,938,697),29228=>array(50,-62,958,837),29229=>array(71,-73,924,824),29230=>array(50,-62,958,837),29231=>array(56,-67,950,846),29232=>array(54,-65,957,846),29233=>array(52,-73,943,824),29234=>array(33,-70,934,852),29235=>array(69,-52,916,844),29236=>array(74,-66,970,829),29237=>array(64,-61,943,842),29238=>array(95,-57,923,825),29239=>array(67,-62,951,823),29240=>array(45,-16,954,844),29241=>array(52,-79,964,839),29242=>array(55,-62,961,843),29243=>array(48,-63,960,840),29244=>array(66,-11,962,773),29245=>array(52,-69,963,835),29246=>array(50,-73,940,785),29247=>array(49,-69,732,820),29248=>array(42,-65,969,825),29249=>array(46,-71,951,829),29250=>array(46,-64,954,851),29251=>array(46,-64,968,831),29252=>array(36,-71,969,841),29253=>array(46,-73,949,851),29254=>array(39,-67,951,833),29255=>array(48,-75,895,829),29256=>array(34,-73,966,818),29257=>array(57,-77,957,826),29258=>array(50,-74,909,821),29259=>array(42,-70,966,840),29260=>array(42,-62,944,837),29261=>array(18,-75,927,819),29262=>array(18,-66,960,848),29263=>array(39,-57,950,853),29264=>array(18,-76,940,836),29265=>array(32,-78,922,833),29266=>array(34,-66,968,831),29267=>array(40,-70,957,846),29268=>array(23,-71,959,838),29269=>array(34,-66,959,839),29270=>array(31,-68,951,839),29271=>array(40,-73,949,851),29272=>array(33,-84,955,835),29273=>array(59,-53,929,780),29274=>array(51,-61,939,836),29275=>array(81,-68,939,830),29276=>array(155,-67,719,829),29277=>array(47,-67,938,829),29278=>array(51,-62,914,832),29279=>array(53,-67,947,844),29280=>array(43,-62,964,838),29281=>array(42,-62,953,829),29282=>array(56,-65,944,833),29283=>array(57,-49,914,844),29284=>array(57,-48,931,844),29285=>array(57,-67,954,849),29286=>array(34,-75,937,828),29287=>array(50,-68,974,840),29288=>array(50,-64,957,843),29289=>array(68,-73,921,829),29290=>array(48,-71,954,833),29291=>array(48,-71,949,825),29292=>array(39,-74,927,823),29293=>array(49,-69,937,826),29294=>array(55,-68,972,844),29295=>array(49,-67,949,829),29296=>array(50,-72,908,833),29297=>array(50,-66,960,833),29298=>array(44,-65,954,831),29299=>array(44,-66,960,825),29300=>array(48,-67,968,843),29301=>array(82,-61,934,845),29302=>array(43,-67,976,838),29303=>array(58,-69,984,827),29304=>array(54,-52,962,848),29305=>array(50,-68,944,831),29306=>array(26,-62,923,830),29307=>array(42,-68,950,838),29308=>array(52,-68,951,825),29309=>array(76,-67,945,838),29310=>array(52,-62,956,833),29311=>array(52,-52,955,842),29312=>array(45,-69,933,800),29313=>array(68,-61,945,835),29314=>array(59,-63,954,849),29315=>array(58,-65,956,848),29316=>array(45,-65,949,838),29317=>array(69,-67,918,827),29318=>array(58,-65,953,838),29319=>array(46,-67,959,839),29320=>array(61,-72,968,830),29321=>array(66,-67,957,837),29322=>array(25,-62,932,830),29323=>array(44,-67,947,830),29324=>array(42,-77,973,827),29325=>array(39,-68,962,830),29326=>array(65,-64,962,831),29327=>array(28,-79,906,832),29328=>array(47,-73,954,826),29329=>array(41,-75,970,825),29330=>array(42,-71,950,826),29331=>array(53,-69,914,830),29332=>array(42,-71,974,851),29333=>array(43,-72,952,823),29334=>array(60,-68,954,847),29335=>array(43,-65,965,850),29336=>array(57,-69,947,843),29337=>array(42,-73,947,848),29338=>array(43,-68,958,824),29339=>array(52,-68,965,834),29340=>array(22,-73,973,837),29341=>array(45,-65,954,835),29342=>array(51,-70,976,825),29343=>array(62,-67,912,781),29344=>array(33,-70,965,853),29345=>array(33,-70,944,825),29346=>array(39,-84,956,835),29347=>array(37,-76,973,837),29348=>array(38,-67,980,826),29349=>array(29,-69,966,840),29350=>array(28,-59,983,833),29351=>array(33,-63,960,841),29352=>array(40,-67,947,840),29353=>array(52,-73,975,833),29354=>array(30,-65,972,846),29355=>array(39,-66,946,839),29356=>array(77,-71,949,826),29357=>array(257,-63,643,790),29358=>array(60,-73,962,834),29359=>array(60,-59,933,809),29360=>array(42,-70,963,829),29361=>array(33,-69,952,833),29362=>array(103,-71,950,824),29363=>array(97,-56,897,851),29364=>array(35,-64,945,824),29365=>array(57,-55,960,829),29366=>array(44,-68,940,823),29367=>array(34,-65,911,832),29368=>array(29,-65,889,798),29369=>array(40,-70,956,817),29370=>array(47,-69,959,832),29371=>array(52,-62,950,840),29372=>array(42,-69,959,823),29373=>array(48,-62,951,820),29374=>array(92,-62,942,831),29375=>array(52,-65,943,829),29376=>array(40,-69,951,818),29377=>array(44,-63,956,839),29378=>array(50,-66,948,807),29379=>array(24,-45,944,830),29380=>array(50,-70,972,825),29381=>array(43,-57,943,807),29382=>array(57,-61,913,833),29383=>array(73,-61,964,835),29384=>array(32,-60,942,799),29385=>array(39,-44,950,813),29386=>array(45,-68,973,785),29387=>array(38,-72,973,804),29388=>array(47,-47,951,827),29389=>array(47,-52,958,834),29390=>array(69,-64,920,822),29391=>array(69,-55,943,831),29392=>array(32,-77,970,838),29393=>array(47,-76,960,836),29394=>array(61,-68,934,822),29395=>array(47,-70,958,835),29396=>array(32,-80,963,796),29397=>array(35,-73,920,831),29398=>array(35,-66,966,834),29399=>array(60,-61,921,842),29400=>array(36,-70,963,824),29401=>array(47,-54,957,801),29402=>array(43,-50,958,820),29403=>array(70,-66,886,843),29404=>array(51,-68,953,830),29405=>array(41,-58,934,836),29406=>array(43,-61,924,849),29407=>array(46,-50,962,816),29408=>array(48,-71,969,811),29409=>array(52,-65,963,812),29410=>array(53,-67,973,839),29411=>array(47,-67,963,833),29412=>array(49,-73,953,823),29413=>array(64,-64,909,836),29414=>array(43,-68,956,827),29415=>array(64,-64,958,834),29416=>array(45,-80,967,818),29417=>array(48,-59,954,824),29418=>array(50,-67,911,811),29419=>array(39,-60,955,826),29420=>array(33,-58,948,827),29421=>array(29,-63,942,832),29422=>array(29,-71,930,822),29423=>array(36,-60,955,837),29424=>array(32,-60,920,837),29425=>array(33,-74,959,822),29426=>array(20,-62,948,832),29427=>array(29,-62,971,855),29428=>array(50,-50,958,831),29429=>array(50,-62,957,826),29430=>array(45,-71,956,834),29431=>array(75,-65,918,815),29432=>array(45,-57,958,820),29433=>array(31,-63,967,833),29434=>array(47,-62,959,844),29435=>array(41,-64,973,854),29436=>array(37,-75,968,831),29437=>array(45,-70,962,794),29438=>array(47,-71,960,826),29439=>array(58,-65,971,792),29440=>array(45,-69,966,823),29441=>array(54,-64,917,830),29442=>array(51,-64,956,816),29443=>array(32,-68,946,832),29444=>array(52,-60,965,846),29445=>array(52,-65,950,829),29446=>array(38,-68,965,831),29447=>array(49,-70,955,823),29448=>array(65,-67,955,832),29449=>array(65,-71,957,833),29450=>array(47,-65,953,832),29451=>array(40,-62,962,845),29452=>array(38,-70,969,826),29453=>array(55,-65,984,836),29454=>array(39,-69,939,817),29455=>array(48,-76,908,818),29456=>array(48,-54,970,820),29457=>array(62,-63,958,782),29458=>array(101,-72,962,824),29459=>array(48,-68,968,817),29460=>array(53,-65,951,845),29461=>array(23,-61,945,831),29462=>array(53,-68,911,808),29463=>array(47,-62,955,835),29464=>array(46,-68,914,826),29465=>array(35,-68,963,837),29466=>array(59,-70,953,842),29467=>array(49,-59,958,808),29468=>array(46,-65,954,837),29469=>array(49,-67,953,819),29470=>array(40,-65,978,850),29471=>array(50,-63,968,827),29472=>array(40,-74,960,829),29473=>array(35,-64,894,808),29474=>array(62,-68,927,829),29475=>array(43,-73,959,813),29476=>array(35,-66,959,809),29477=>array(44,-64,964,809),29478=>array(46,-74,961,792),29479=>array(72,-69,923,793),29480=>array(32,-60,959,841),29481=>array(42,-61,951,803),29482=>array(49,-56,921,836),29483=>array(24,-69,933,824),29484=>array(56,-65,911,803),29485=>array(49,-66,966,828),29486=>array(55,-54,955,842),29487=>array(61,-69,950,830),29488=>array(42,-64,974,831),29489=>array(43,-64,961,819),29490=>array(68,-65,933,790),29491=>array(33,-61,967,819),29492=>array(36,-71,975,827),29493=>array(65,-73,929,825),29494=>array(40,-71,955,840),29495=>array(57,-69,970,845),29496=>array(40,-74,897,815),29497=>array(41,-53,962,835),29498=>array(41,-64,966,850),29499=>array(30,-62,962,831),29500=>array(20,-71,943,829),29501=>array(38,-73,950,789),29502=>array(25,-72,929,819),29503=>array(42,-69,977,833),29504=>array(30,-78,977,833),29505=>array(40,-61,922,819),29506=>array(39,-75,979,804),29507=>array(45,-55,969,842),29508=>array(37,-66,970,826),29509=>array(39,-67,954,840),29510=>array(50,-64,979,849),29511=>array(50,-64,974,828),29512=>array(50,-57,962,842),29513=>array(35,-70,984,836),29514=>array(40,-73,963,845),29515=>array(38,-74,960,852),29516=>array(29,-72,973,812),29517=>array(53,-65,958,851),29518=>array(39,-64,970,843),29519=>array(44,-72,971,823),29520=>array(44,-64,949,840),29521=>array(19,-74,953,822),29522=>array(25,-68,949,830),29523=>array(44,-71,960,838),29524=>array(44,-74,960,852),29525=>array(44,-65,953,833),29526=>array(59,-75,947,827),29527=>array(44,-74,981,805),29528=>array(33,-54,965,857),29529=>array(23,-80,977,826),29530=>array(39,-73,955,827),29531=>array(42,-68,983,827),29532=>array(44,-74,954,832),29533=>array(56,-68,924,824),29534=>array(51,-42,962,838),29535=>array(41,-70,961,833),29536=>array(35,-61,967,846),29537=>array(52,-57,932,833),29538=>array(39,-67,973,835),29539=>array(45,-67,972,833),29540=>array(44,-73,973,837),29541=>array(46,-75,960,835),29542=>array(37,-63,943,827),29543=>array(39,-55,965,826),29544=>array(64,-66,920,791),29545=>array(41,-66,967,826),29546=>array(32,-62,984,863),29547=>array(26,-63,975,864),29548=>array(44,-67,960,838),29549=>array(12,-60,936,838),29550=>array(34,-67,975,834),29551=>array(49,-62,966,828),29552=>array(40,-67,957,816),29553=>array(57,-66,960,842),29554=>array(30,-64,964,840),29555=>array(47,-66,951,791),29556=>array(37,-65,951,831),29557=>array(36,-74,971,842),29558=>array(39,-76,969,824),29559=>array(40,-71,972,838),29560=>array(59,-67,972,829),29561=>array(40,-72,954,830),29562=>array(37,-71,975,833),29563=>array(38,-76,958,831),29564=>array(35,-64,973,829),29565=>array(36,-69,987,842),29566=>array(43,-67,959,835),29567=>array(43,-74,963,808),29568=>array(41,-64,959,822),29569=>array(38,-67,961,813),29570=>array(38,-71,963,823),29571=>array(36,-60,965,831),29572=>array(95,-57,915,819),29573=>array(65,-70,973,852),29574=>array(44,-65,956,818),29575=>array(72,-69,928,840),29576=>array(64,-71,970,836),29577=>array(117,0,908,753),29578=>array(85,-30,935,770),29579=>array(92,14,908,766),29580=>array(81,-38,943,822),29581=>array(59,-17,934,825),29582=>array(71,-69,956,790),29583=>array(71,-76,892,823),29584=>array(51,-60,960,775),29585=>array(37,-67,936,762),29586=>array(57,-23,957,763),29587=>array(64,-69,920,829),29588=>array(57,-70,912,822),29589=>array(40,-65,951,787),29590=>array(41,-64,979,835),29591=>array(54,-74,953,785),29592=>array(54,-26,957,778),29593=>array(54,-67,922,825),29594=>array(54,-63,927,769),29595=>array(51,-60,909,787),29596=>array(44,-60,957,806),29597=>array(50,-73,949,821),29598=>array(49,-64,963,833),29599=>array(51,-58,972,827),29600=>array(48,-65,987,855),29601=>array(44,-75,956,775),29602=>array(42,-62,984,820),29603=>array(47,-64,935,841),29604=>array(42,-73,954,823),29605=>array(60,-71,905,785),29606=>array(47,-63,991,837),29607=>array(47,-60,964,834),29608=>array(56,-17,952,767),29609=>array(51,-68,958,779),29610=>array(43,-62,975,831),29611=>array(60,-59,957,840),29612=>array(55,-78,956,779),29613=>array(44,-67,958,823),29614=>array(42,-67,893,825),29615=>array(38,-57,951,782),29616=>array(33,-59,930,788),29617=>array(45,-33,950,828),29618=>array(37,-68,964,840),29619=>array(39,-65,953,835),29620=>array(50,-20,957,824),29621=>array(51,-73,955,827),29622=>array(47,-71,956,782),29623=>array(39,-67,945,832),29624=>array(48,-38,956,827),29625=>array(43,-55,961,829),29626=>array(35,-48,915,826),29627=>array(64,-64,969,830),29628=>array(46,-43,966,810),29629=>array(46,-54,909,849),29630=>array(49,-71,917,780),29631=>array(49,-74,906,783),29632=>array(66,-63,882,846),29633=>array(66,-29,961,779),29634=>array(50,-65,961,779),29635=>array(47,-73,956,831),29636=>array(47,-12,952,827),29637=>array(53,-61,917,838),29638=>array(49,-72,952,842),29639=>array(49,-27,954,783),29640=>array(43,-70,907,830),29641=>array(41,-55,964,794),29642=>array(54,-61,951,789),29643=>array(45,-70,911,830),29644=>array(48,-30,963,824),29645=>array(67,-72,974,849),29646=>array(53,-52,964,847),29647=>array(53,-13,950,760),29648=>array(52,-64,949,829),29649=>array(32,-61,926,824),29650=>array(59,-72,954,827),29651=>array(58,-66,971,837),29652=>array(57,-64,954,832),29653=>array(57,-65,959,835),29654=>array(57,-65,955,821),29655=>array(52,-59,957,827),29656=>array(51,-67,951,836),29657=>array(41,-68,965,831),29658=>array(58,-71,907,771),29659=>array(60,-68,954,828),29660=>array(54,-67,954,833),29661=>array(57,-71,905,780),29662=>array(45,-66,972,840),29663=>array(40,-66,993,789),29664=>array(66,-62,978,837),29665=>array(50,-60,951,795),29666=>array(76,-71,957,781),29667=>array(62,-59,914,837),29668=>array(25,-64,963,834),29669=>array(25,-66,949,789),29670=>array(25,-55,900,875),29671=>array(50,-64,969,835),29672=>array(58,-69,958,829),29673=>array(45,-67,956,833),29674=>array(38,-21,951,831),29675=>array(50,-67,966,840),29676=>array(60,-61,971,835),29677=>array(50,-61,951,811),29678=>array(45,-72,977,788),29679=>array(38,-32,959,833),29680=>array(38,-60,899,829),29681=>array(38,-52,959,782),29682=>array(37,-69,920,764),29683=>array(49,-58,957,834),29684=>array(49,-64,958,828),29685=>array(56,-14,954,788),29686=>array(56,-68,915,822),29687=>array(36,-64,962,833),29688=>array(58,-71,953,775),29689=>array(36,-68,951,834),29690=>array(62,-69,956,787),29691=>array(35,-69,955,843),29692=>array(57,-73,959,782),29693=>array(44,-64,973,832),29694=>array(56,-65,944,780),29695=>array(56,-71,969,780),29696=>array(57,-71,964,830),29697=>array(59,-73,968,831),29698=>array(61,-62,930,845),29699=>array(53,-63,959,831),29700=>array(57,-65,894,782),29701=>array(46,-66,965,815),29702=>array(35,-16,945,775),29703=>array(47,-63,963,833),29704=>array(55,-67,954,819),29705=>array(30,-70,960,830),29706=>array(43,-67,958,789),29707=>array(53,-68,953,837),29708=>array(54,-71,967,824),29709=>array(47,-65,900,832),29710=>array(57,-19,975,817),29711=>array(32,-49,938,827),29712=>array(35,-65,933,828),29713=>array(35,-67,940,833),29714=>array(43,-65,963,846),29715=>array(35,-69,968,828),29716=>array(35,-83,949,831),29717=>array(35,-65,957,841),29718=>array(47,-70,954,835),29719=>array(35,-71,943,839),29720=>array(35,-65,960,833),29721=>array(35,-68,965,835),29722=>array(52,-67,964,787),29723=>array(30,-67,958,786),29724=>array(35,-65,972,836),29725=>array(55,-74,963,787),29726=>array(55,-26,945,796),29727=>array(35,-65,955,843),29728=>array(53,-72,965,826),29729=>array(55,-76,962,822),29730=>array(32,-65,971,774),29731=>array(55,-68,951,838),29732=>array(43,-59,967,849),29733=>array(39,-67,940,834),29734=>array(48,-61,957,841),29735=>array(63,-22,958,784),29736=>array(53,-57,970,790),29737=>array(76,-67,918,787),29738=>array(50,-68,960,836),29739=>array(50,-71,959,831),29740=>array(49,-65,967,836),29741=>array(57,-67,962,830),29742=>array(47,-62,959,821),29743=>array(47,-65,924,837),29744=>array(53,-65,980,838),29745=>array(63,-72,911,774),29746=>array(47,-71,958,832),29747=>array(37,-63,964,826),29748=>array(34,-74,960,802),29749=>array(55,-54,959,791),29750=>array(71,-23,941,787),29751=>array(35,-53,976,820),29752=>array(54,-71,953,825),29753=>array(50,-64,960,798),29754=>array(53,-59,962,831),29755=>array(35,-23,982,843),29756=>array(33,-55,971,852),29757=>array(35,-69,959,835),29758=>array(35,-66,971,774),29759=>array(43,-62,967,793),29760=>array(45,-70,912,827),29761=>array(55,-65,930,788),29762=>array(51,-70,900,783),29763=>array(51,-64,970,842),29764=>array(43,-27,954,832),29765=>array(51,-70,969,788),29766=>array(36,-27,954,782),29767=>array(37,-66,948,835),29768=>array(40,-61,973,796),29769=>array(40,-52,963,823),29770=>array(45,-75,963,825),29771=>array(47,-65,960,832),29772=>array(47,-72,975,788),29773=>array(46,-77,977,832),29774=>array(53,-73,960,822),29775=>array(48,-70,951,845),29776=>array(50,-72,954,839),29777=>array(40,-51,960,850),29778=>array(39,-77,954,780),29779=>array(48,-62,965,835),29780=>array(48,-69,970,846),29781=>array(38,-67,969,789),29782=>array(38,-69,970,840),29783=>array(47,-65,982,843),29784=>array(47,-65,952,783),29785=>array(56,-65,920,841),29786=>array(69,-62,893,830),29787=>array(31,-68,962,829),29788=>array(30,-65,972,816),29789=>array(43,-30,948,851),29790=>array(62,-68,939,833),29791=>array(63,-46,958,785),29792=>array(37,-65,913,834),29793=>array(69,-67,954,840),29794=>array(53,-70,965,824),29795=>array(63,-72,965,836),29796=>array(46,-62,959,841),29797=>array(46,-32,964,783),29798=>array(63,-60,928,839),29799=>array(59,-68,971,835),29800=>array(36,-61,959,789),29801=>array(69,-19,935,839),29802=>array(60,-61,911,787),29803=>array(60,-63,937,835),29804=>array(54,-28,954,843),29805=>array(44,-67,956,850),29806=>array(56,-72,977,781),29807=>array(41,-61,954,798),29808=>array(53,-65,947,856),29809=>array(36,-64,955,840),29810=>array(45,-65,995,858),29811=>array(42,-29,951,839),29812=>array(47,-89,964,824),29813=>array(50,-69,971,787),29814=>array(40,-64,913,822),29815=>array(35,-70,944,827),29816=>array(35,-63,943,830),29817=>array(62,-77,967,818),29818=>array(45,-67,930,839),29819=>array(53,-66,955,802),29820=>array(53,-77,952,819),29821=>array(58,-71,968,826),29822=>array(38,-21,946,828),29823=>array(62,-22,957,792),29824=>array(45,-62,962,839),29825=>array(56,-43,972,837),29826=>array(45,-33,972,829),29827=>array(39,-69,943,833),29828=>array(51,-65,952,847),29829=>array(62,-72,982,822),29830=>array(45,-62,957,800),29831=>array(38,-71,972,828),29832=>array(48,-77,983,826),29833=>array(41,-64,962,833),29834=>array(56,-65,959,824),29835=>array(45,-68,952,828),29836=>array(45,-78,953,834),29837=>array(37,-68,945,831),29838=>array(39,-81,928,775),29839=>array(39,-72,988,841),29840=>array(38,-65,975,841),29841=>array(38,-65,961,836),29842=>array(52,-17,964,832),29843=>array(31,-53,957,829),29844=>array(51,-72,892,827),29845=>array(50,-67,950,783),29846=>array(45,-65,969,799),29847=>array(60,-46,954,818),29848=>array(57,-66,959,837),29849=>array(57,-67,969,850),29850=>array(50,-67,920,787),29851=>array(32,-67,954,831),29852=>array(37,-74,923,824),29853=>array(37,-70,966,833),29854=>array(47,-63,964,828),29855=>array(36,-57,951,801),29856=>array(43,-64,973,836),29857=>array(39,-64,967,844),29858=>array(62,-71,926,797),29859=>array(45,-61,972,839),29860=>array(48,-35,979,826),29861=>array(48,-70,977,830),29862=>array(48,-63,985,840),29863=>array(48,-39,946,836),29864=>array(37,-66,979,839),29865=>array(48,-64,980,837),29866=>array(45,-70,966,784),29867=>array(45,-62,935,836),29868=>array(50,-71,962,845),29869=>array(48,-73,971,811),29870=>array(42,-30,956,848),29871=>array(42,-64,994,858),29872=>array(40,-61,962,808),29873=>array(46,-67,970,782),29874=>array(47,-64,959,816),29875=>array(46,-69,966,816),29876=>array(50,-69,961,826),29877=>array(40,-66,969,840),29878=>array(50,-37,949,823),29879=>array(35,-71,973,832),29880=>array(62,-77,941,831),29881=>array(41,-65,968,833),29882=>array(84,-37,938,836),29883=>array(53,-68,949,785),29884=>array(40,-23,957,839),29885=>array(53,-42,962,799),29886=>array(60,-71,963,837),29887=>array(41,-63,981,841),29888=>array(49,-72,944,780),29889=>array(44,-74,967,823),29890=>array(49,-35,955,819),29891=>array(51,-65,928,786),29892=>array(40,-67,962,836),29893=>array(36,-70,972,839),29894=>array(40,-61,962,813),29895=>array(40,-64,963,789),29896=>array(35,-62,974,830),29897=>array(40,-72,958,829),29898=>array(56,-65,975,845),29899=>array(31,-66,968,839),29900=>array(40,-67,965,847),29901=>array(28,-67,969,831),29902=>array(37,-67,959,840),29903=>array(52,-61,972,834),29904=>array(45,-67,953,830),29905=>array(40,-60,966,790),29906=>array(38,-71,925,825),29907=>array(40,-65,909,787),29908=>array(37,-64,955,788),29909=>array(63,-35,968,778),29910=>array(47,-73,966,839),29911=>array(57,-63,933,838),29912=>array(54,-68,956,826),29913=>array(42,-70,960,832),29914=>array(46,-69,969,836),29915=>array(30,-62,974,832),29916=>array(59,-57,956,834),29917=>array(32,-77,991,826),29918=>array(38,-67,992,837),29919=>array(36,-73,959,837),29920=>array(36,-67,964,838),29921=>array(57,-73,976,826),29922=>array(47,-69,973,834),29923=>array(32,-69,958,828),29924=>array(37,-66,969,856),29925=>array(51,-65,971,836),29926=>array(83,-35,941,773),29927=>array(36,-29,958,771),29928=>array(44,-63,966,783),29929=>array(36,-29,958,771),29930=>array(49,-29,955,811),29931=>array(65,-64,943,842),29932=>array(41,-74,968,838),29933=>array(39,-77,968,820),29934=>array(43,-56,956,807),29935=>array(104,-58,954,766),29936=>array(36,-29,963,782),29937=>array(36,-29,968,771),29938=>array(36,-29,953,822),29939=>array(56,-75,968,818),29940=>array(37,-65,969,838),29941=>array(62,-72,960,832),29942=>array(48,-61,962,842),29943=>array(75,-60,951,838),29944=>array(36,-29,958,772),29945=>array(99,-64,968,791),29946=>array(49,-60,970,800),29947=>array(36,-65,969,831),29948=>array(49,-29,955,786),29949=>array(78,-56,963,833),29950=>array(38,-64,960,824),29951=>array(50,-50,955,839),29952=>array(39,-71,970,827),29953=>array(39,-71,964,835),29954=>array(36,-74,974,832),29955=>array(58,-54,962,836),29956=>array(30,-48,947,784),29957=>array(38,-29,960,790),29958=>array(65,-63,962,854),29959=>array(97,-66,934,825),29960=>array(43,-75,962,838),29961=>array(34,-77,974,836),29962=>array(35,-69,966,830),29963=>array(65,-70,962,829),29964=>array(105,-74,950,787),29965=>array(74,-66,961,828),29966=>array(70,-66,945,827),29967=>array(60,-59,954,834),29968=>array(37,-68,958,828),29969=>array(83,-64,964,848),29970=>array(44,-68,961,824),29971=>array(24,-47,938,825),29972=>array(34,-68,985,829),29973=>array(66,-55,966,838),29974=>array(55,-68,957,785),29975=>array(33,-59,949,835),29976=>array(76,-68,927,827),29977=>array(49,-76,959,828),29978=>array(66,-72,934,835),29979=>array(32,-48,959,845),29980=>array(34,-58,945,834),29981=>array(35,-75,962,823),29982=>array(74,-47,939,836),29983=>array(60,-8,934,824),29984=>array(129,-23,956,830),29985=>array(37,-29,956,830),29986=>array(50,-76,930,838),29987=>array(49,-74,928,831),29988=>array(72,-56,970,811),29989=>array(73,-57,923,812),29990=>array(40,-69,966,811),29991=>array(45,-66,952,829),29992=>array(52,-73,855,788),29993=>array(65,-61,936,785),29994=>array(74,-67,847,842),29995=>array(62,-67,956,843),29996=>array(140,-65,856,798),29997=>array(53,-81,935,783),29998=>array(48,-67,916,844),29999=>array(63,-61,945,836),30000=>array(133,-68,867,762),30001=>array(137,-70,862,833),30002=>array(140,-69,860,785),30003=>array(149,-67,851,833),30004=>array(172,-67,839,832),30005=>array(148,-31,954,824),30006=>array(149,-65,872,833),30007=>array(85,-62,889,783),30008=>array(37,-56,914,856),30009=>array(65,-68,939,833),30010=>array(107,-53,954,790),30011=>array(75,-57,925,800),30012=>array(98,-46,914,810),30013=>array(99,-74,891,823),30014=>array(126,-62,879,844),30015=>array(101,-7,948,830),30016=>array(50,-65,957,779),30017=>array(50,-55,957,833),30018=>array(98,-59,965,850),30019=>array(90,-59,921,837),30020=>array(153,-62,845,824),30021=>array(90,-56,889,830),30022=>array(46,-66,965,823),30023=>array(99,-63,912,845),30024=>array(107,-66,978,791),30025=>array(96,-68,962,833),30026=>array(88,-64,952,828),30027=>array(76,-52,955,835),30028=>array(54,-70,961,782),30029=>array(96,-72,974,835),30030=>array(110,-66,981,831),30031=>array(64,-69,944,780),30032=>array(72,-52,945,791),30033=>array(51,-59,903,838),30034=>array(56,-50,963,833),30035=>array(60,-72,967,813),30036=>array(93,-67,938,839),30037=>array(178,-72,823,780),30038=>array(81,-70,970,836),30039=>array(109,-72,902,843),30040=>array(79,-62,955,839),30041=>array(75,-68,897,818),30042=>array(29,-67,975,848),30043=>array(111,-64,978,853),30044=>array(76,-59,920,836),30045=>array(56,-65,972,836),30046=>array(77,-70,968,838),30047=>array(50,-69,965,817),30048=>array(143,-68,867,845),30049=>array(86,-61,943,846),30050=>array(58,-69,947,801),30051=>array(34,-68,968,834),30052=>array(106,-62,955,832),30053=>array(110,-66,962,839),30054=>array(89,-22,943,828),30055=>array(48,-75,963,812),30056=>array(50,-70,959,808),30057=>array(96,-64,959,795),30058=>array(53,-70,957,836),30059=>array(82,-24,938,836),30060=>array(37,-67,966,854),30061=>array(81,-62,961,850),30062=>array(94,-62,954,847),30063=>array(69,-69,961,849),30064=>array(72,-74,926,784),30065=>array(89,-71,916,797),30066=>array(33,-72,973,847),30067=>array(54,-50,952,813),30068=>array(82,-58,911,831),30069=>array(79,-34,934,836),30070=>array(103,-68,914,841),30071=>array(77,-67,976,786),30072=>array(97,-62,939,835),30073=>array(101,-63,966,844),30074=>array(54,-20,951,803),30075=>array(74,-14,972,836),30076=>array(92,-61,938,782),30077=>array(103,-15,953,851),30078=>array(115,-69,908,783),30079=>array(56,-69,963,839),30080=>array(42,-71,969,828),30081=>array(74,-73,970,811),30082=>array(54,-46,952,786),30083=>array(94,-42,961,840),30084=>array(100,-70,955,822),30085=>array(84,-48,961,814),30086=>array(31,-61,951,814),30087=>array(87,-63,938,833),30088=>array(52,-82,943,829),30089=>array(51,-39,949,822),30090=>array(54,-31,952,791),30091=>array(28,-66,975,773),30092=>array(52,-70,968,835),30093=>array(68,-7,957,787),30094=>array(30,-65,966,827),30095=>array(35,-71,960,821),30096=>array(59,-81,955,837),30097=>array(33,-68,945,827),30098=>array(37,-63,898,822),30099=>array(37,-63,914,822),30100=>array(63,-65,944,823),30101=>array(36,-59,957,852),30102=>array(30,-63,899,838),30103=>array(35,-59,924,842),30104=>array(36,-75,954,833),30105=>array(46,-71,953,852),30106=>array(48,-69,968,820),30107=>array(48,-64,951,841),30108=>array(54,-69,941,845),30109=>array(54,-69,941,815),30110=>array(54,-69,961,845),30111=>array(24,-65,925,836),30112=>array(32,-66,900,838),30113=>array(28,-70,914,840),30114=>array(44,-65,982,855),30115=>array(51,-71,952,825),30116=>array(47,-73,960,845),30117=>array(50,-70,959,825),30118=>array(47,-73,945,845),30119=>array(52,-69,966,841),30120=>array(47,-73,938,845),30121=>array(47,-73,938,845),30122=>array(39,-57,959,854),30123=>array(37,-71,953,840),30124=>array(27,-67,896,849),30125=>array(27,-67,928,850),30126=>array(26,-67,932,840),30127=>array(27,-63,942,848),30128=>array(43,-63,951,849),30129=>array(39,-67,953,829),30130=>array(43,-73,957,831),30131=>array(44,-67,944,834),30132=>array(25,-66,938,851),30133=>array(54,-74,963,841),30134=>array(49,-71,951,830),30135=>array(47,-78,946,835),30136=>array(59,-75,954,829),30137=>array(41,-72,974,826),30138=>array(50,-60,958,835),30139=>array(47,-82,935,834),30140=>array(40,-78,972,825),30141=>array(32,-74,954,839),30142=>array(43,-73,962,829),30143=>array(44,-65,945,849),30144=>array(41,-58,954,855),30145=>array(44,-58,945,852),30146=>array(43,-79,941,832),30147=>array(27,-77,933,834),30148=>array(53,-61,948,856),30149=>array(38,-71,933,840),30150=>array(40,-71,951,847),30151=>array(41,-65,955,827),30152=>array(19,-74,918,848),30153=>array(24,-60,919,827),30154=>array(43,-73,951,830),30155=>array(53,-79,968,835),30156=>array(34,-83,948,840),30157=>array(43,-69,972,833),30158=>array(47,-67,957,846),30159=>array(41,-60,960,850),30160=>array(50,-75,944,829),30161=>array(51,-70,945,836),30162=>array(48,-71,955,827),30163=>array(50,-75,944,829),30164=>array(38,-68,947,844),30165=>array(48,-68,964,825),30166=>array(27,-65,919,846),30167=>array(36,-51,964,859),30168=>array(45,-75,949,826),30169=>array(45,-72,954,839),30170=>array(56,-82,962,832),30171=>array(33,-68,935,834),30172=>array(34,-70,962,847),30173=>array(43,-60,962,841),30174=>array(44,-68,961,834),30175=>array(57,-68,945,843),30176=>array(48,-73,983,846),30177=>array(31,-73,954,843),30178=>array(46,-69,944,835),30179=>array(45,-63,960,836),30180=>array(49,-67,954,847),30181=>array(33,-73,951,847),30182=>array(57,-68,955,835),30183=>array(39,-65,965,845),30184=>array(56,-67,922,852),30185=>array(37,-70,961,831),30186=>array(29,-74,955,846),30187=>array(20,-65,913,839),30188=>array(42,-69,941,841),30189=>array(44,-73,959,845),30190=>array(43,-75,965,840),30191=>array(34,-55,959,858),30192=>array(55,-70,958,832),30193=>array(45,-70,942,848),30194=>array(34,-66,957,838),30195=>array(40,-69,971,834),30196=>array(38,-67,941,834),30197=>array(36,-71,974,851),30198=>array(45,-72,960,851),30199=>array(36,-63,965,849),30200=>array(31,-73,930,839),30201=>array(46,-68,951,843),30202=>array(59,-67,959,834),30203=>array(39,-75,960,845),30204=>array(33,-65,941,836),30205=>array(31,-68,954,848),30206=>array(35,-67,956,842),30207=>array(33,-67,945,834),30208=>array(38,-64,964,837),30209=>array(48,-66,952,838),30210=>array(38,-77,935,843),30211=>array(30,-65,967,848),30212=>array(37,-64,942,841),30213=>array(37,-71,939,846),30214=>array(14,-67,912,845),30215=>array(34,-55,954,854),30216=>array(46,-64,974,855),30217=>array(39,-64,955,826),30218=>array(38,-65,955,852),30219=>array(38,-66,960,838),30220=>array(38,-70,944,847),30221=>array(55,-70,956,845),30222=>array(38,-67,944,840),30223=>array(33,-55,961,857),30224=>array(41,-69,974,850),30225=>array(45,-69,948,848),30226=>array(41,-75,938,848),30227=>array(46,-72,972,849),30228=>array(51,-73,961,838),30229=>array(44,-67,981,854),30230=>array(27,-54,954,860),30231=>array(26,-68,934,847),30232=>array(38,-69,911,835),30233=>array(30,-69,961,836),30234=>array(42,-70,971,836),30235=>array(24,-60,970,855),30236=>array(47,-66,981,840),30237=>array(40,-58,969,861),30238=>array(36,-62,976,848),30239=>array(37,-72,938,833),30240=>array(34,-67,962,841),30241=>array(35,-70,966,841),30242=>array(32,-73,957,841),30243=>array(46,-65,958,831),30244=>array(46,-74,948,841),30245=>array(43,-66,956,851),30246=>array(22,-68,959,851),30247=>array(44,-74,942,833),30248=>array(45,-79,963,837),30249=>array(46,-61,952,849),30250=>array(21,-67,933,823),30251=>array(26,-65,923,840),30252=>array(26,-65,963,840),30253=>array(44,-66,979,847),30254=>array(26,-73,967,847),30255=>array(45,-69,955,834),30256=>array(52,-76,951,841),30257=>array(50,-69,966,836),30258=>array(53,-64,978,854),30259=>array(32,-68,971,851),30260=>array(23,-66,943,841),30261=>array(33,-67,963,847),30262=>array(52,-65,970,848),30263=>array(52,-65,979,848),30264=>array(45,-65,943,848),30265=>array(52,-65,951,848),30266=>array(31,-69,948,852),30267=>array(36,-73,941,829),30268=>array(49,-67,980,850),30269=>array(37,-62,954,836),30270=>array(26,-65,970,832),30271=>array(29,-65,909,838),30272=>array(23,-81,928,826),30273=>array(23,-87,940,826),30274=>array(46,-65,964,830),30275=>array(33,-67,971,847),30276=>array(23,-91,937,826),30277=>array(23,-71,912,836),30278=>array(49,-66,941,841),30279=>array(29,-57,942,846),30280=>array(35,-62,963,829),30281=>array(35,-65,947,849),30282=>array(35,-70,973,853),30283=>array(57,-69,967,854),30284=>array(38,-68,933,844),30285=>array(24,-68,923,835),30286=>array(37,-64,937,840),30287=>array(37,-64,957,850),30288=>array(51,-68,983,849),30289=>array(37,-87,957,850),30290=>array(42,-58,971,836),30291=>array(49,-73,983,831),30292=>array(25,-61,931,828),30293=>array(42,-57,957,836),30294=>array(45,-73,956,833),30295=>array(42,-67,933,836),30296=>array(53,-65,948,844),30297=>array(42,-74,969,832),30298=>array(37,-71,936,833),30299=>array(48,-67,989,843),30300=>array(45,-67,980,841),30301=>array(48,-69,920,838),30302=>array(21,-71,912,835),30303=>array(44,-69,973,844),30304=>array(38,-71,982,846),30305=>array(51,-71,976,844),30306=>array(45,-76,947,840),30307=>array(25,-66,920,841),30308=>array(57,-73,959,837),30309=>array(40,-69,973,852),30310=>array(50,-78,948,846),30311=>array(43,-65,962,836),30312=>array(47,-75,946,834),30313=>array(42,-67,985,854),30314=>array(40,-69,964,854),30315=>array(29,-69,919,838),30316=>array(45,-66,956,854),30317=>array(50,-68,939,850),30318=>array(38,-71,974,845),30319=>array(35,-77,947,844),30320=>array(35,-78,959,854),30321=>array(47,-71,954,856),30322=>array(39,-77,967,854),30323=>array(27,-60,972,853),30324=>array(21,-77,958,849),30325=>array(46,-72,963,833),30326=>array(100,220,956,730),30327=>array(80,-55,936,839),30328=>array(80,-78,936,840),30329=>array(38,-69,967,840),30330=>array(47,-51,957,837),30331=>array(57,-13,957,837),30332=>array(52,-63,960,829),30333=>array(199,-64,822,833),30334=>array(98,-67,914,780),30335=>array(113,-47,959,830),30336=>array(200,-26,891,841),30337=>array(53,-49,947,866),30338=>array(74,-26,924,842),30339=>array(60,-67,950,836),30340=>array(101,-54,882,838),30341=>array(94,-27,941,842),30342=>array(64,-62,947,837),30343=>array(80,-28,932,845),30344=>array(87,-80,954,831),30345=>array(107,-39,959,834),30346=>array(119,-78,962,839),30347=>array(33,-64,959,849),30348=>array(100,-53,967,847),30349=>array(134,-61,898,837),30350=>array(90,-60,952,824),30351=>array(111,-69,954,835),30352=>array(53,-64,947,849),30353=>array(76,-19,944,820),30354=>array(100,-72,956,829),30355=>array(84,-64,923,831),30356=>array(84,-62,944,810),30357=>array(56,-63,947,776),30358=>array(86,-62,930,825),30359=>array(93,-67,907,810),30360=>array(84,-59,959,838),30361=>array(42,-63,943,847),30362=>array(92,-20,933,839),30363=>array(114,-69,889,834),30364=>array(110,-63,957,837),30365=>array(69,-70,964,833),30366=>array(117,-69,982,831),30367=>array(112,-68,975,839),30368=>array(97,-65,953,833),30369=>array(92,-74,960,852),30370=>array(92,-61,964,837),30371=>array(88,-68,946,831),30372=>array(79,-67,948,836),30373=>array(90,-74,960,852),30374=>array(82,-55,954,857),30375=>array(82,-62,946,841),30376=>array(60,-43,954,842),30377=>array(43,-73,970,838),30378=>array(98,-52,969,851),30379=>array(87,-72,956,845),30380=>array(82,-67,941,817),30381=>array(110,-63,963,845),30382=>array(53,-71,940,832),30383=>array(33,-81,951,826),30384=>array(33,-62,965,836),30385=>array(27,-68,939,833),30386=>array(41,-67,932,821),30387=>array(33,-75,956,834),30388=>array(31,-75,956,844),30389=>array(57,-76,966,826),30390=>array(30,-75,976,834),30391=>array(36,-70,956,838),30392=>array(50,-68,966,832),30393=>array(38,-67,954,832),30394=>array(45,-73,971,838),30395=>array(46,-73,969,824),30396=>array(47,-73,956,835),30397=>array(47,-66,969,849),30398=>array(51,-71,969,835),30399=>array(70,34,944,715),30400=>array(57,-20,948,822),30401=>array(57,-14,948,784),30402=>array(57,-14,948,789),30403=>array(48,-17,958,770),30404=>array(60,-53,956,757),30405=>array(47,-11,956,841),30406=>array(49,-25,947,794),30407=>array(46,-40,957,827),30408=>array(59,-38,952,784),30409=>array(41,-21,974,836),30410=>array(45,-18,960,840),30411=>array(55,-37,954,836),30412=>array(48,-20,957,830),30413=>array(62,-22,954,838),30414=>array(55,-14,954,835),30415=>array(52,-19,925,823),30416=>array(50,-44,924,799),30417=>array(52,-23,943,820),30418=>array(47,-28,961,851),30419=>array(60,-20,952,821),30420=>array(59,-23,951,840),30421=>array(63,-32,952,817),30422=>array(39,-32,959,847),30423=>array(57,-33,954,840),30424=>array(65,-32,914,831),30425=>array(51,-33,952,834),30426=>array(61,-34,956,809),30427=>array(50,-23,947,832),30428=>array(63,-32,952,843),30429=>array(60,-23,954,850),30430=>array(63,-32,953,840),30431=>array(58,-27,952,789),30432=>array(57,-46,961,848),30433=>array(48,-35,948,829),30434=>array(58,-27,952,802),30435=>array(53,-26,947,824),30436=>array(62,-35,956,842),30437=>array(53,-24,961,837),30438=>array(26,-26,957,869),30439=>array(40,-78,941,833),30440=>array(38,-24,961,788),30441=>array(60,-18,959,834),30442=>array(53,-12,951,823),30443=>array(32,-54,957,863),30444=>array(58,-10,952,850),30445=>array(65,-38,978,842),30446=>array(206,-42,767,771),30447=>array(98,-62,931,770),30448=>array(101,-68,938,783),30449=>array(118,-59,956,789),30450=>array(63,-70,937,826),30451=>array(107,-27,953,824),30452=>array(95,-70,949,835),30453=>array(109,-40,965,833),30454=>array(75,-68,958,778),30455=>array(109,-61,900,821),30456=>array(43,-65,889,828),30457=>array(86,-34,952,829),30458=>array(116,-71,957,828),30459=>array(107,-62,958,803),30460=>array(100,-71,944,803),30461=>array(101,-59,957,826),30462=>array(68,-73,920,834),30463=>array(75,-55,984,851),30464=>array(130,-65,890,787),30465=>array(53,-70,939,829),30466=>array(119,-59,945,837),30467=>array(119,-73,962,762),30468=>array(96,-52,949,790),30469=>array(92,-62,971,813),30470=>array(119,-66,954,849),30471=>array(88,-72,943,826),30472=>array(93,-65,931,826),30473=>array(52,-70,880,781),30474=>array(101,-55,943,811),30475=>array(71,-67,912,818),30476=>array(73,-62,949,799),30477=>array(96,-21,919,763),30478=>array(85,-58,951,755),30479=>array(96,-67,953,832),30480=>array(114,-21,953,773),30481=>array(106,-70,916,827),30482=>array(119,-70,917,830),30483=>array(99,-73,959,827),30484=>array(50,-67,946,785),30485=>array(116,-71,967,835),30486=>array(119,-62,960,773),30487=>array(119,-58,924,844),30488=>array(42,-57,971,821),30489=>array(118,-65,952,835),30490=>array(65,-62,961,843),30491=>array(124,-64,987,839),30492=>array(124,-64,987,839),30493=>array(118,-64,927,827),30494=>array(78,-84,951,835),30495=>array(64,-84,936,835),30496=>array(98,-71,956,785),30497=>array(94,-53,963,829),30498=>array(34,-65,958,843),30499=>array(116,-71,973,835),30500=>array(95,-71,929,784),30501=>array(44,-52,947,852),30502=>array(76,-56,931,823),30503=>array(110,-73,903,780),30504=>array(96,-69,948,833),30505=>array(88,-49,927,823),30506=>array(88,-68,951,782),30507=>array(95,-55,942,837),30508=>array(88,-67,931,825),30509=>array(124,-21,959,832),30510=>array(88,-70,909,782),30511=>array(80,-64,927,824),30512=>array(88,-42,956,770),30513=>array(106,-78,965,821),30514=>array(110,-70,953,777),30515=>array(107,-71,906,825),30516=>array(111,-40,909,859),30517=>array(119,-65,935,847),30518=>array(94,-21,934,783),30519=>array(39,-67,964,838),30520=>array(86,-62,929,849),30521=>array(103,-51,969,853),30522=>array(104,-67,943,828),30523=>array(110,-70,954,823),30524=>array(96,-64,965,794),30525=>array(105,-74,966,820),30526=>array(57,-67,955,785),30527=>array(88,-61,976,840),30528=>array(39,-69,929,839),30529=>array(101,-72,922,824),30530=>array(37,-67,938,841),30531=>array(97,-73,930,835),30532=>array(104,-67,909,825),30533=>array(107,-49,955,806),30534=>array(98,-55,951,834),30535=>array(110,-64,915,853),30536=>array(88,-16,952,788),30537=>array(88,-24,958,829),30538=>array(107,-48,902,803),30539=>array(97,-68,954,828),30540=>array(100,-71,949,825),30541=>array(96,-50,954,804),30542=>array(109,-47,948,864),30543=>array(112,-68,903,782),30544=>array(100,-69,940,820),30545=>array(96,-18,937,823),30546=>array(118,-75,983,829),30547=>array(100,-74,960,829),30548=>array(105,-70,969,840),30549=>array(112,-66,967,844),30550=>array(112,-74,972,823),30551=>array(105,-66,929,781),30552=>array(76,-73,930,781),30553=>array(110,-79,979,829),30554=>array(97,-72,933,790),30555=>array(109,-68,935,831),30556=>array(98,-63,930,836),30557=>array(72,-69,908,849),30558=>array(110,-64,970,830),30559=>array(95,-48,939,857),30560=>array(109,-30,965,841),30561=>array(87,-26,947,833),30562=>array(98,-64,937,832),30563=>array(57,-67,956,835),30564=>array(104,-64,955,792),30565=>array(104,-64,951,856),30566=>array(96,-30,948,826),30567=>array(97,-48,944,860),30568=>array(137,-57,969,845),30569=>array(118,-73,966,838),30570=>array(78,-70,932,783),30571=>array(92,-72,941,833),30572=>array(94,-65,944,831),30573=>array(113,-68,911,780),30574=>array(108,-67,980,839),30575=>array(88,-69,941,834),30576=>array(92,-65,948,829),30577=>array(88,-68,965,791),30578=>array(92,-22,945,788),30579=>array(92,-32,980,829),30580=>array(92,-65,936,787),30581=>array(107,-53,981,829),30582=>array(92,-64,978,842),30583=>array(92,-55,964,827),30584=>array(111,-64,906,789),30585=>array(98,-66,932,831),30586=>array(109,-74,962,834),30587=>array(92,-20,959,855),30588=>array(107,-69,965,786),30589=>array(86,-62,952,833),30590=>array(58,-72,950,849),30591=>array(49,-66,958,833),30592=>array(40,-65,982,845),30593=>array(111,-69,971,785),30594=>array(44,-67,970,832),30595=>array(100,-69,954,831),30596=>array(93,-65,929,835),30597=>array(79,-79,950,828),30598=>array(92,-60,938,832),30599=>array(97,-63,956,833),30600=>array(121,-79,980,781),30601=>array(93,-73,987,827),30602=>array(92,-77,956,843),30603=>array(94,-78,961,833),30604=>array(90,-26,927,833),30605=>array(97,-58,966,841),30606=>array(89,-62,932,824),30607=>array(54,-75,971,782),30608=>array(124,-45,896,816),30609=>array(91,-67,938,790),30610=>array(87,-60,917,826),30611=>array(104,-66,914,838),30612=>array(92,-74,947,833),30613=>array(98,-50,945,854),30614=>array(114,-69,938,813),30615=>array(116,-70,933,828),30616=>array(89,-23,953,801),30617=>array(109,-72,970,826),30618=>array(107,-80,958,837),30619=>array(108,-69,973,835),30620=>array(97,-73,949,821),30621=>array(105,-65,951,834),30622=>array(95,-69,936,831),30623=>array(82,-70,955,789),30624=>array(79,-39,942,823),30625=>array(109,-72,961,822),30626=>array(88,-83,913,830),30627=>array(94,-37,962,823),30628=>array(79,-62,906,793),30629=>array(102,-72,959,841),30630=>array(79,-65,956,836),30631=>array(90,-62,941,837),30632=>array(108,-73,966,821),30633=>array(88,-72,894,779),30634=>array(86,-23,935,843),30635=>array(114,-70,961,782),30636=>array(95,-68,944,830),30637=>array(94,-66,975,841),30638=>array(100,-62,970,847),30639=>array(88,-68,911,796),30640=>array(85,-75,960,828),30641=>array(102,-70,950,824),30642=>array(106,-68,928,783),30643=>array(95,-35,940,833),30644=>array(105,-71,961,827),30645=>array(109,-62,951,838),30646=>array(108,-64,969,839),30647=>array(105,-68,901,785),30648=>array(98,-70,957,827),30649=>array(89,-69,944,838),30650=>array(96,-70,952,839),30651=>array(68,-75,919,838),30652=>array(82,-67,951,852),30653=>array(52,-64,969,836),30654=>array(72,-46,910,801),30655=>array(39,-65,947,790),30656=>array(68,-77,981,828),30657=>array(99,-23,974,825),30658=>array(94,-66,961,786),30659=>array(76,-63,952,844),30660=>array(92,-76,949,830),30661=>array(81,-70,953,805),30662=>array(96,-65,963,828),30663=>array(91,-64,959,820),30664=>array(81,-70,957,848),30665=>array(98,-55,952,856),30666=>array(103,-68,919,835),30667=>array(87,-67,948,808),30668=>array(102,-72,964,850),30669=>array(31,-62,974,799),30670=>array(94,-65,963,844),30671=>array(92,-69,939,853),30672=>array(99,-67,935,785),30673=>array(68,-67,953,832),30674=>array(77,-67,946,833),30675=>array(91,-68,951,831),30676=>array(99,-70,938,824),30677=>array(41,-72,957,840),30678=>array(97,-62,965,804),30679=>array(71,-71,953,842),30680=>array(92,-68,947,830),30681=>array(88,-54,899,806),30682=>array(102,-77,905,786),30683=>array(81,-57,926,793),30684=>array(39,-66,972,850),30685=>array(39,-77,960,846),30686=>array(60,-68,927,786),30687=>array(44,-67,940,833),30688=>array(33,-70,954,825),30689=>array(43,-61,960,811),30690=>array(69,-71,947,828),30691=>array(42,-66,965,843),30692=>array(80,-56,964,837),30693=>array(69,-73,911,838),30694=>array(62,-67,941,836),30695=>array(34,-67,893,831),30696=>array(37,-68,980,834),30697=>array(39,-61,947,825),30698=>array(39,-65,932,834),30699=>array(27,-61,951,839),30700=>array(33,-29,955,832),30701=>array(51,-77,948,809),30702=>array(36,-73,951,833),30703=>array(33,-67,963,827),30704=>array(59,-70,934,838),30705=>array(40,-71,980,827),30706=>array(34,-65,980,837),30707=>array(67,-70,909,768),30708=>array(39,-66,948,761),30709=>array(61,-61,880,824),30710=>array(39,-57,929,774),30711=>array(44,-63,953,786),30712=>array(38,-64,959,780),30713=>array(37,-66,962,788),30714=>array(29,-33,959,828),30715=>array(51,-29,972,837),30716=>array(39,-2,957,761),30717=>array(59,-77,927,841),30718=>array(40,-70,942,785),30719=>array(49,-68,921,818),30720=>array(23,-59,898,767),30721=>array(39,-62,905,768),30722=>array(38,-68,971,824),30723=>array(45,-69,954,785),30724=>array(22,-69,955,829),30725=>array(44,-73,981,821),30726=>array(49,-70,990,836),30727=>array(42,-65,976,842),30728=>array(32,-71,970,772),30729=>array(48,-62,956,842),30730=>array(42,-64,957,843),30731=>array(42,-3,954,822),30732=>array(53,-62,925,829),30733=>array(43,-71,971,844),30734=>array(36,-77,971,828),30735=>array(43,-69,967,785),30736=>array(43,-70,969,786),30737=>array(51,-61,951,778),30738=>array(32,-51,952,818),30739=>array(39,-69,972,785),30740=>array(36,-71,956,780),30741=>array(42,-63,954,837),30742=>array(21,-68,921,826),30743=>array(29,-67,951,820),30744=>array(28,-44,944,824),30745=>array(42,-35,952,780),30746=>array(26,-62,929,788),30747=>array(41,-69,972,837),30748=>array(24,-69,954,781),30749=>array(50,-56,956,827),30750=>array(42,-64,987,839),30751=>array(41,-62,956,848),30752=>array(32,-17,954,792),30753=>array(52,-35,964,765),30754=>array(44,-59,952,783),30755=>array(44,-32,950,844),30756=>array(42,-29,943,831),30757=>array(29,-55,959,831),30758=>array(41,-53,960,843),30759=>array(40,-65,945,827),30760=>array(47,-75,964,832),30761=>array(42,-65,921,831),30762=>array(38,-60,958,784),30763=>array(57,-37,962,824),30764=>array(39,-19,952,816),30765=>array(37,-65,963,830),30766=>array(44,-53,962,855),30767=>array(51,-64,976,828),30768=>array(34,-68,951,780),30769=>array(46,-77,979,841),30770=>array(35,-29,963,835),30771=>array(43,-54,945,779),30772=>array(46,-70,958,835),30773=>array(23,-59,971,836),30774=>array(42,-66,886,843),30775=>array(59,-70,922,836),30776=>array(36,-26,956,788),30777=>array(35,-68,971,830),30778=>array(54,-72,946,761),30779=>array(29,-62,933,826),30780=>array(31,-31,964,840),30781=>array(42,-57,928,786),30782=>array(32,-60,947,828),30783=>array(33,-66,948,822),30784=>array(35,-60,905,830),30785=>array(30,-33,938,772),30786=>array(32,-11,965,845),30787=>array(37,-65,980,839),30788=>array(35,-66,960,831),30789=>array(41,-20,954,832),30790=>array(35,-65,963,841),30791=>array(46,-78,909,839),30792=>array(41,-72,956,824),30793=>array(42,-68,958,824),30794=>array(45,-72,952,822),30795=>array(35,-73,969,836),30796=>array(28,-57,972,849),30797=>array(30,-60,973,791),30798=>array(36,-63,907,832),30799=>array(36,-69,953,788),30800=>array(43,-70,909,782),30801=>array(36,-70,958,839),30802=>array(35,-68,948,780),30803=>array(25,-32,959,833),30804=>array(35,-71,949,826),30805=>array(38,-67,940,775),30806=>array(30,-74,945,826),30807=>array(29,-72,936,821),30808=>array(35,-64,903,795),30809=>array(25,-25,938,826),30810=>array(35,-66,963,823),30811=>array(35,-63,955,846),30812=>array(42,-20,956,791),30813=>array(50,-70,943,833),30814=>array(41,-67,954,829),30815=>array(35,-67,967,824),30816=>array(45,-71,972,834),30817=>array(35,-68,937,832),30818=>array(41,-70,961,819),30819=>array(35,-68,953,830),30820=>array(33,-67,983,833),30821=>array(42,-68,950,838),30822=>array(35,-51,951,802),30823=>array(35,-64,895,785),30824=>array(49,-62,964,838),30825=>array(50,-65,938,830),30826=>array(33,-54,959,830),30827=>array(26,-70,964,830),30828=>array(46,-61,978,784),30829=>array(41,-35,959,805),30830=>array(51,-57,907,852),30831=>array(34,-69,960,787),30832=>array(51,-65,942,830),30833=>array(49,-71,915,777),30834=>array(42,-64,980,833),30835=>array(35,-54,970,835),30836=>array(32,-65,962,828),30837=>array(39,-63,958,839),30838=>array(35,-66,969,830),30839=>array(32,-32,939,811),30840=>array(35,-67,948,836),30841=>array(39,-61,977,829),30842=>array(35,-56,959,785),30843=>array(44,-68,987,782),30844=>array(59,-78,919,779),30845=>array(35,-32,954,839),30846=>array(29,-16,953,853),30847=>array(37,-27,950,837),30848=>array(44,-67,954,827),30849=>array(26,-54,971,843),30850=>array(35,-57,969,850),30851=>array(36,-72,950,823),30852=>array(44,-70,972,823),30853=>array(36,-72,900,780),30854=>array(41,-52,949,843),30855=>array(42,-71,962,833),30856=>array(35,-65,960,833),30857=>array(53,-68,918,785),30858=>array(35,-57,974,840),30859=>array(35,-67,932,836),30860=>array(35,-67,966,836),30861=>array(33,-52,952,796),30862=>array(43,-64,951,834),30863=>array(39,-72,955,820),30864=>array(35,-67,981,839),30865=>array(31,-68,956,844),30866=>array(35,-23,982,843),30867=>array(44,-68,951,840),30868=>array(31,-62,968,831),30869=>array(35,-64,964,835),30870=>array(44,-70,958,847),30871=>array(43,-69,961,834),30872=>array(44,-74,960,829),30873=>array(47,-67,908,786),30874=>array(39,-63,954,840),30875=>array(27,-75,923,826),30876=>array(23,-71,949,839),30877=>array(35,-72,975,788),30878=>array(45,-50,936,798),30879=>array(35,-62,968,833),30880=>array(41,-67,952,837),30881=>array(37,-64,956,830),30882=>array(46,-65,907,785),30883=>array(49,-68,927,788),30884=>array(47,-71,971,823),30885=>array(32,-67,915,824),30886=>array(50,-70,956,849),30887=>array(60,-67,937,845),30888=>array(44,-73,975,784),30889=>array(44,-72,970,783),30890=>array(28,-54,948,841),30891=>array(46,-74,969,825),30892=>array(28,-73,971,785),30893=>array(29,-68,954,788),30894=>array(35,-72,979,788),30895=>array(34,-61,951,849),30896=>array(45,-29,957,845),30897=>array(34,-72,955,834),30898=>array(47,-67,939,842),30899=>array(39,-72,970,829),30900=>array(41,-24,964,830),30901=>array(32,-74,962,836),30902=>array(35,-57,961,834),30903=>array(35,-71,962,839),30904=>array(35,-69,971,789),30905=>array(25,-10,922,818),30906=>array(34,-69,950,843),30907=>array(29,-57,949,835),30908=>array(50,-60,933,781),30909=>array(35,-66,969,791),30910=>array(30,-70,961,785),30911=>array(39,-75,925,795),30912=>array(31,-58,963,838),30913=>array(37,-57,955,836),30914=>array(46,-65,913,834),30915=>array(37,-73,966,832),30916=>array(46,-73,966,830),30917=>array(37,-76,954,834),30918=>array(32,-69,946,793),30919=>array(32,-53,968,852),30920=>array(41,-64,972,857),30921=>array(43,-62,990,790),30922=>array(52,-68,944,788),30923=>array(20,-40,934,849),30924=>array(32,-70,955,825),30925=>array(19,-71,946,841),30926=>array(29,-75,967,841),30927=>array(34,-68,985,840),30928=>array(42,-61,956,844),30929=>array(41,-24,964,831),30930=>array(41,-64,941,785),30931=>array(32,-58,963,844),30932=>array(25,-59,963,849),30933=>array(32,-24,959,832),30934=>array(29,-57,921,800),30935=>array(32,-71,959,838),30936=>array(31,-67,956,827),30937=>array(24,-79,968,846),30938=>array(43,-66,957,831),30939=>array(39,-50,933,846),30940=>array(43,-55,960,850),30941=>array(40,-71,964,827),30942=>array(44,-75,898,824),30943=>array(51,-66,971,783),30944=>array(39,-64,958,839),30945=>array(25,-70,918,831),30946=>array(36,-72,964,824),30947=>array(36,-64,997,858),30948=>array(31,-66,957,837),30949=>array(47,-68,967,780),30950=>array(47,-64,965,787),30951=>array(43,-68,975,839),30952=>array(37,-64,939,833),30953=>array(45,-72,969,825),30954=>array(38,-65,966,838),30955=>array(38,-70,955,836),30956=>array(44,-67,952,832),30957=>array(45,-73,956,785),30958=>array(30,-61,945,841),30959=>array(33,-69,960,835),30960=>array(35,-65,952,846),30961=>array(33,-66,957,833),30962=>array(32,-63,975,829),30963=>array(46,-72,900,824),30964=>array(41,-21,989,838),30965=>array(41,-67,924,787),30966=>array(41,-64,944,846),30967=>array(37,-74,953,832),30968=>array(41,-76,974,851),30969=>array(56,-70,953,781),30970=>array(41,-72,968,828),30971=>array(30,-57,971,839),30972=>array(53,-68,966,832),30973=>array(38,-63,971,837),30974=>array(42,-65,940,787),30975=>array(32,-65,953,793),30976=>array(74,-68,926,785),30977=>array(45,-68,961,840),30978=>array(53,-70,956,825),30979=>array(54,-64,945,833),30980=>array(44,-62,988,833),30981=>array(41,-72,968,839),30982=>array(44,-68,969,858),30983=>array(43,-62,969,850),30984=>array(36,-58,963,825),30985=>array(43,-75,975,835),30986=>array(41,-59,959,818),30987=>array(51,-64,949,786),30988=>array(36,-65,935,789),30989=>array(53,-59,933,836),30990=>array(36,-65,961,825),30991=>array(44,-55,951,833),30992=>array(39,-71,937,833),30993=>array(40,-52,933,847),30994=>array(29,-58,965,860),30995=>array(44,-35,951,778),30996=>array(43,-68,956,836),30997=>array(44,-67,945,819),30998=>array(44,-70,952,821),30999=>array(51,-74,960,836),31000=>array(46,-69,954,786),31001=>array(33,-61,967,832),31002=>array(44,-20,957,835),31003=>array(41,-27,954,823),31004=>array(41,-67,984,839),31005=>array(33,-65,953,783),31006=>array(44,-66,976,830),31007=>array(22,-60,975,794),31008=>array(51,-31,949,846),31009=>array(34,-67,948,828),31010=>array(44,-76,975,844),31011=>array(32,-67,970,830),31012=>array(35,-67,976,828),31013=>array(41,-66,975,794),31014=>array(39,-74,959,834),31015=>array(46,-55,932,795),31016=>array(50,-54,936,792),31017=>array(36,-76,959,833),31018=>array(32,-63,962,799),31019=>array(26,-71,965,844),31020=>array(50,-70,962,833),31021=>array(59,-70,978,775),31022=>array(22,-60,975,840),31023=>array(36,-65,951,829),31024=>array(49,-69,953,790),31025=>array(44,-68,949,849),31026=>array(44,-62,956,842),31027=>array(26,-64,957,845),31028=>array(31,-61,951,832),31029=>array(44,-62,923,789),31030=>array(64,-58,936,839),31031=>array(50,-23,950,838),31032=>array(35,-75,979,829),31033=>array(33,-68,982,789),31034=>array(91,-68,932,757),31035=>array(235,-68,689,820),31036=>array(42,-59,961,820),31037=>array(54,-57,912,839),31038=>array(47,-69,949,822),31039=>array(48,-56,921,844),31040=>array(77,-68,945,768),31041=>array(39,-68,935,815),31042=>array(35,-55,963,847),31043=>array(35,-69,905,826),31044=>array(35,-70,976,835),31045=>array(45,-69,967,834),31046=>array(38,-67,964,841),31047=>array(36,-63,968,834),31048=>array(46,-67,946,834),31049=>array(36,-63,944,834),31050=>array(35,-55,960,848),31051=>array(36,-76,963,831),31052=>array(41,-71,918,831),31053=>array(45,-65,948,845),31054=>array(41,-71,906,826),31055=>array(34,-68,956,828),31056=>array(40,-60,958,843),31057=>array(34,-68,977,831),31058=>array(34,-72,908,824),31059=>array(47,-70,957,828),31060=>array(42,-52,949,850),31061=>array(42,-69,970,835),31062=>array(35,-73,953,818),31063=>array(57,-69,955,814),31064=>array(29,-52,964,763),31065=>array(34,-57,970,842),31066=>array(72,-69,960,838),31067=>array(32,-69,941,832),31068=>array(32,-69,953,836),31069=>array(35,-67,960,822),31070=>array(55,-67,904,837),31071=>array(64,-67,945,836),31072=>array(67,-68,909,775),31073=>array(60,-64,948,823),31074=>array(36,-64,962,834),31075=>array(44,-68,962,839),31076=>array(47,-69,906,833),31077=>array(39,-68,956,843),31078=>array(39,-68,968,836),31079=>array(37,-69,969,847),31080=>array(73,-61,952,788),31081=>array(50,-70,966,837),31082=>array(46,-72,955,833),31083=>array(27,-54,973,853),31084=>array(50,-69,956,837),31085=>array(46,-66,957,839),31086=>array(50,-69,953,838),31087=>array(30,-65,925,821),31088=>array(43,-64,959,843),31089=>array(50,-69,959,846),31090=>array(35,-65,970,842),31091=>array(45,-72,964,839),31092=>array(39,-74,951,841),31093=>array(50,-69,923,837),31094=>array(50,-69,925,842),31095=>array(36,-63,952,834),31096=>array(28,-61,886,822),31097=>array(27,-64,920,840),31098=>array(57,-66,963,829),31099=>array(50,-70,911,837),31100=>array(31,-53,982,851),31101=>array(40,-67,954,838),31102=>array(50,-69,968,837),31103=>array(32,-69,969,840),31104=>array(39,-74,915,816),31105=>array(46,-65,957,834),31106=>array(33,-70,908,835),31107=>array(50,-69,959,839),31108=>array(38,-64,963,834),31109=>array(45,-65,955,847),31110=>array(36,-69,956,849),31111=>array(50,-69,959,837),31112=>array(44,-68,951,835),31113=>array(28,-69,953,842),31114=>array(32,-69,958,832),31115=>array(38,-53,954,847),31116=>array(50,-69,943,843),31117=>array(36,-63,912,834),31118=>array(44,-67,971,832),31119=>array(38,-69,943,834),31120=>array(46,-69,957,835),31121=>array(32,-69,930,804),31122=>array(43,-69,970,839),31123=>array(38,-72,950,826),31124=>array(32,-69,966,797),31125=>array(38,-62,968,842),31126=>array(28,-57,978,843),31127=>array(51,-62,967,835),31128=>array(36,-56,953,846),31129=>array(32,-64,966,846),31130=>array(31,-70,985,832),31131=>array(30,-78,961,833),31132=>array(88,-67,941,823),31133=>array(50,-69,964,802),31134=>array(50,-75,940,841),31135=>array(50,-69,954,843),31136=>array(30,-71,955,836),31137=>array(49,-64,948,842),31138=>array(34,-72,915,826),31139=>array(48,-71,959,842),31140=>array(47,-68,899,835),31141=>array(38,-69,971,837),31142=>array(63,-66,940,835),31143=>array(60,-69,947,835),31144=>array(42,-72,973,843),31145=>array(50,-69,973,837),31146=>array(55,-69,955,791),31147=>array(32,-55,954,842),31148=>array(51,-71,963,840),31149=>array(44,-66,980,845),31150=>array(60,-69,952,833),31151=>array(50,-70,979,840),31152=>array(39,-64,973,827),31153=>array(26,-69,960,835),31154=>array(35,-72,947,835),31155=>array(50,-69,970,846),31156=>array(24,-59,972,868),31157=>array(43,-69,959,836),31158=>array(30,-81,968,825),31159=>array(37,-68,965,830),31160=>array(72,-59,875,818),31161=>array(120,-71,883,829),31162=>array(130,-64,882,785),31163=>array(69,-65,939,838),31164=>array(131,-65,869,834),31165=>array(38,-59,962,856),31166=>array(55,-70,958,825),31167=>array(52,-64,947,831),31168=>array(50,-59,951,830),31169=>array(40,-68,959,833),31170=>array(50,-50,954,823),31171=>array(50,-76,921,817),31172=>array(44,-67,955,833),31173=>array(45,-67,951,833),31174=>array(49,-70,947,820),31175=>array(50,-70,960,833),31176=>array(36,-52,904,846),31177=>array(42,-70,950,823),31178=>array(47,-69,968,834),31179=>array(43,-73,964,837),31180=>array(59,-71,968,829),31181=>array(45,-70,917,826),31182=>array(39,-69,962,824),31183=>array(48,-71,960,838),31184=>array(51,-69,955,829),31185=>array(41,-69,955,829),31186=>array(43,-70,959,827),31187=>array(41,-69,965,835),31188=>array(41,-69,966,843),31189=>array(39,-61,954,829),31190=>array(42,-76,972,827),31191=>array(41,-70,955,829),31192=>array(43,-61,969,828),31193=>array(41,-69,956,836),31194=>array(41,-69,944,833),31195=>array(49,-71,951,832),31196=>array(35,-71,952,829),31197=>array(51,-71,976,822),31198=>array(53,-70,924,827),31199=>array(32,-73,958,817),31200=>array(42,-70,964,829),31201=>array(41,-69,975,844),31202=>array(37,-78,975,831),31203=>array(39,-59,972,839),31204=>array(42,-75,951,810),31205=>array(41,-69,947,830),31206=>array(52,-68,964,835),31207=>array(39,-72,979,835),31208=>array(41,-69,951,842),31209=>array(36,-70,973,839),31210=>array(37,-49,966,859),31211=>array(34,-65,954,834),31212=>array(41,-57,941,835),31213=>array(42,-62,937,835),31214=>array(48,-73,960,829),31215=>array(24,-62,939,830),31216=>array(44,-59,961,835),31217=>array(59,-69,941,829),31218=>array(31,-71,942,835),31219=>array(41,-69,958,839),31220=>array(41,-69,985,853),31221=>array(66,-69,939,829),31222=>array(39,-69,973,829),31223=>array(47,-67,951,822),31224=>array(44,-61,951,836),31225=>array(33,-69,954,829),31226=>array(45,-59,955,827),31227=>array(49,-70,935,839),31228=>array(55,-69,945,836),31229=>array(30,-61,896,835),31230=>array(33,-72,959,835),31231=>array(67,-69,933,839),31232=>array(41,-71,961,846),31233=>array(47,-61,930,846),31234=>array(36,-64,968,850),31235=>array(35,-55,951,842),31236=>array(40,-72,969,830),31237=>array(36,-70,970,819),31238=>array(26,-64,871,821),31239=>array(62,-64,938,817),31240=>array(43,-60,956,828),31241=>array(24,-64,976,818),31242=>array(49,-52,932,864),31243=>array(29,-70,949,816),31244=>array(38,-55,967,862),31245=>array(52,-70,947,837),31246=>array(36,-70,954,840),31247=>array(26,-64,954,827),31248=>array(41,-71,977,836),31249=>array(28,-51,951,846),31250=>array(43,-72,903,823),31251=>array(47,-72,951,825),31252=>array(30,-62,970,840),31253=>array(47,-72,954,834),31254=>array(26,-70,947,841),31255=>array(38,-67,954,844),31256=>array(34,-52,952,846),31257=>array(39,-57,954,852),31258=>array(41,-70,955,832),31259=>array(45,-70,905,828),31260=>array(33,-57,967,835),31261=>array(70,-73,930,822),31262=>array(27,-72,965,819),31263=>array(76,-61,930,816),31264=>array(49,-80,911,818),31265=>array(41,-64,959,851),31266=>array(43,-70,969,825),31267=>array(39,-64,947,838),31268=>array(36,-64,953,849),31269=>array(56,-65,950,817),31270=>array(33,-69,951,833),31271=>array(34,-65,966,829),31272=>array(32,-68,918,827),31273=>array(55,-64,945,821),31274=>array(50,-64,950,837),31275=>array(34,-74,962,821),31276=>array(26,-71,961,823),31277=>array(21,-68,970,831),31278=>array(47,-65,956,836),31279=>array(33,-71,967,829),31280=>array(33,-50,972,845),31281=>array(32,-69,956,835),31282=>array(32,-64,936,824),31283=>array(19,-61,947,834),31284=>array(26,-64,966,850),31285=>array(26,-64,965,843),31286=>array(26,-72,949,835),31287=>array(24,-66,952,823),31288=>array(24,-68,960,843),31289=>array(22,-67,964,848),31290=>array(26,-71,928,826),31291=>array(45,-71,943,832),31292=>array(38,-69,979,832),31293=>array(40,-65,946,844),31294=>array(47,-51,930,836),31295=>array(55,-75,940,831),31296=>array(45,-74,964,825),31297=>array(26,-70,956,827),31298=>array(41,-68,976,826),31299=>array(33,-58,958,845),31300=>array(27,-59,960,850),31301=>array(37,-66,966,848),31302=>array(39,-73,961,847),31303=>array(36,-76,983,847),31304=>array(47,-71,967,832),31305=>array(31,-61,952,834),31306=>array(27,-68,967,835),31307=>array(39,-70,979,838),31308=>array(31,-62,964,843),31309=>array(40,-74,947,833),31310=>array(39,-70,972,838),31311=>array(32,-55,965,838),31312=>array(30,-61,965,846),31313=>array(26,-63,910,824),31314=>array(38,-72,960,833),31315=>array(26,-64,963,821),31316=>array(43,-78,959,827),31317=>array(41,-65,961,845),31318=>array(40,-72,961,822),31319=>array(41,-68,957,826),31320=>array(43,-77,963,823),31321=>array(26,-68,971,833),31322=>array(38,-70,962,828),31323=>array(46,-78,971,828),31324=>array(37,-71,951,831),31325=>array(41,-66,959,822),31326=>array(26,-73,928,821),31327=>array(33,-71,974,825),31328=>array(32,-68,983,840),31329=>array(35,-63,956,836),31330=>array(22,-74,969,833),31331=>array(35,-79,967,837),31332=>array(32,-59,964,825),31333=>array(42,-73,947,821),31334=>array(47,-65,966,853),31335=>array(40,-72,963,837),31336=>array(45,-67,974,830),31337=>array(31,-66,959,831),31338=>array(51,-71,949,825),31339=>array(28,-56,967,840),31340=>array(38,-80,966,843),31341=>array(28,-69,984,853),31342=>array(30,-70,971,846),31343=>array(36,-63,956,836),31344=>array(21,-69,962,844),31345=>array(36,-69,961,835),31346=>array(51,-73,953,825),31347=>array(36,-78,970,836),31348=>array(66,-59,950,822),31349=>array(94,-14,943,852),31350=>array(48,-44,957,822),31351=>array(44,-71,898,831),31352=>array(45,-59,924,850),31353=>array(92,-58,898,839),31354=>array(88,-17,918,833),31355=>array(66,-68,945,843),31356=>array(48,-68,967,849),31357=>array(60,-70,922,839),31358=>array(60,-69,982,839),31359=>array(58,-62,928,838),31360=>array(58,-32,965,854),31361=>array(60,-65,942,824),31362=>array(56,-65,944,849),31363=>array(54,-56,898,831),31364=>array(63,-69,898,828),31365=>array(109,-62,920,857),31366=>array(51,-60,972,867),31367=>array(48,-36,962,835),31368=>array(78,-76,908,833),31369=>array(72,-64,948,838),31370=>array(47,-75,967,846),31371=>array(107,-67,927,837),31372=>array(64,-67,929,845),31373=>array(52,-65,916,836),31374=>array(72,-62,902,840),31375=>array(81,-79,935,829),31376=>array(66,-8,941,851),31377=>array(65,-69,937,862),31378=>array(75,-35,925,839),31379=>array(50,-38,954,839),31380=>array(40,-51,963,864),31381=>array(27,-68,937,839),31382=>array(42,-70,934,839),31383=>array(102,-69,898,831),31384=>array(28,-67,930,839),31385=>array(63,-65,938,840),31386=>array(50,-72,952,849),31387=>array(47,-75,963,849),31388=>array(73,-61,896,832),31389=>array(37,-69,897,838),31390=>array(75,-73,915,848),31391=>array(43,-83,898,838),31392=>array(38,-65,962,845),31393=>array(60,-71,955,848),31394=>array(53,-75,957,844),31395=>array(63,-62,957,854),31396=>array(94,-54,954,851),31397=>array(37,-64,936,840),31398=>array(57,-68,914,837),31399=>array(65,-68,935,851),31400=>array(60,-65,954,848),31401=>array(102,-73,898,839),31402=>array(56,-38,956,839),31403=>array(46,-72,969,845),31404=>array(42,-64,979,849),31405=>array(53,-67,927,846),31406=>array(55,-64,925,838),31407=>array(37,-65,963,839),31408=>array(81,-70,935,830),31409=>array(42,-73,971,838),31410=>array(57,-70,951,830),31411=>array(49,-70,959,848),31412=>array(86,-79,937,838),31413=>array(58,-62,927,848),31414=>array(53,-80,947,833),31415=>array(52,-77,909,838),31416=>array(53,-30,974,854),31417=>array(34,-64,951,851),31418=>array(57,-76,962,839),31419=>array(51,-52,952,851),31420=>array(38,-58,966,851),31421=>array(38,-71,961,851),31422=>array(63,-68,974,852),31423=>array(56,-76,933,831),31424=>array(51,-72,960,832),31425=>array(36,-62,952,861),31426=>array(41,-64,970,851),31427=>array(47,-67,965,843),31428=>array(77,-66,948,833),31429=>array(48,-75,970,839),31430=>array(62,-68,918,847),31431=>array(53,-80,950,838),31432=>array(50,-49,968,844),31433=>array(54,-68,967,852),31434=>array(57,-71,921,843),31435=>array(95,-3,912,822),31436=>array(86,-73,975,825),31437=>array(86,-67,950,830),31438=>array(56,-54,934,838),31439=>array(49,-67,935,821),31440=>array(49,-65,964,800),31441=>array(40,-54,945,821),31442=>array(83,-65,938,832),31443=>array(59,-21,929,828),31444=>array(49,-55,909,833),31445=>array(49,-62,963,806),31446=>array(48,-16,952,807),31447=>array(53,-60,952,827),31448=>array(60,-72,935,832),31449=>array(73,-66,918,832),31450=>array(46,-68,964,825),31451=>array(45,-78,975,831),31452=>array(66,-54,954,836),31453=>array(27,-26,947,799),31454=>array(39,-58,932,838),31455=>array(38,-66,946,818),31456=>array(60,-68,940,831),31457=>array(24,-64,957,801),31458=>array(44,-74,979,825),31459=>array(35,-69,964,849),31460=>array(54,-70,962,838),31461=>array(68,-33,932,832),31462=>array(45,-65,971,832),31463=>array(56,-68,957,847),31464=>array(54,-62,969,844),31465=>array(79,-23,957,848),31466=>array(66,-25,960,796),31467=>array(45,-71,956,834),31468=>array(40,-71,948,833),31469=>array(67,-65,921,802),31470=>array(48,-73,953,833),31471=>array(43,-70,942,830),31472=>array(45,-63,948,804),31473=>array(48,-65,957,832),31474=>array(48,-68,935,849),31475=>array(48,-23,963,837),31476=>array(37,-72,957,845),31477=>array(38,-69,944,830),31478=>array(39,-76,959,838),31479=>array(55,-69,969,840),31480=>array(39,-76,962,830),31481=>array(49,-62,949,848),31482=>array(68,-5,943,819),31483=>array(47,-67,948,847),31484=>array(54,-71,948,847),31485=>array(54,-59,954,842),31486=>array(54,-10,948,827),31487=>array(42,-60,931,841),31488=>array(48,-23,947,847),31489=>array(47,-15,955,847),31490=>array(41,-69,969,822),31491=>array(44,-64,919,822),31492=>array(37,-73,945,844),31493=>array(47,-73,977,842),31494=>array(40,-44,914,835),31495=>array(67,-75,933,845),31496=>array(44,-65,955,845),31497=>array(47,-66,945,843),31498=>array(37,-68,964,840),31499=>array(62,-58,962,845),31500=>array(54,-57,943,845),31501=>array(56,-61,939,835),31502=>array(52,-69,966,834),31503=>array(74,-69,960,839),31504=>array(43,-70,964,838),31505=>array(65,-64,953,839),31506=>array(43,-77,971,835),31507=>array(44,-50,965,814),31508=>array(33,-25,918,830),31509=>array(39,-63,932,825),31510=>array(44,-67,962,814),31511=>array(44,-77,969,814),31512=>array(44,-57,932,848),31513=>array(51,-18,938,840),31514=>array(45,-69,941,841),31515=>array(50,-65,952,841),31516=>array(44,-64,941,814),31517=>array(60,-69,927,832),31518=>array(52,-63,944,842),31519=>array(53,-62,951,836),31520=>array(52,-17,945,838),31521=>array(52,-14,957,842),31522=>array(55,-71,959,829),31523=>array(37,-30,956,841),31524=>array(45,-68,954,844),31525=>array(62,-62,956,854),31526=>array(42,-73,950,841),31527=>array(37,-69,956,847),31528=>array(38,-59,970,846),31529=>array(43,-72,958,854),31530=>array(54,-14,959,835),31531=>array(54,-65,942,842),31532=>array(62,-62,932,834),31533=>array(31,-80,969,835),31534=>array(44,-56,945,847),31535=>array(49,-74,953,837),31536=>array(45,-65,933,838),31537=>array(55,-56,948,846),31538=>array(51,-65,932,832),31539=>array(55,-63,950,842),31540=>array(41,-65,938,827),31541=>array(44,-70,953,836),31542=>array(44,-71,968,836),31543=>array(40,-61,962,836),31544=>array(71,-20,962,836),31545=>array(54,-64,946,836),31546=>array(27,-63,931,833),31547=>array(52,-61,950,847),31548=>array(34,-59,940,842),31549=>array(39,33,944,842),31550=>array(31,-57,938,823),31551=>array(34,-73,968,842),31552=>array(51,-32,952,820),31553=>array(31,-43,909,823),31554=>array(31,-44,959,823),31555=>array(46,-61,937,836),31556=>array(53,-68,947,845),31557=>array(61,-58,969,848),31558=>array(74,-64,944,839),31559=>array(54,-66,944,841),31560=>array(41,-57,938,843),31561=>array(65,-68,934,838),31562=>array(58,-60,971,850),31563=>array(48,-65,946,848),31564=>array(42,-23,958,840),31565=>array(51,-52,938,854),31566=>array(40,-58,945,841),31567=>array(42,-59,961,848),31568=>array(42,-83,953,847),31569=>array(47,-61,950,833),31570=>array(43,-61,942,849),31571=>array(38,-65,931,837),31572=>array(34,-71,971,843),31573=>array(53,-54,962,844),31574=>array(46,-65,957,844),31575=>array(50,-68,949,842),31576=>array(56,-67,949,839),31577=>array(32,-61,943,834),31578=>array(37,-68,913,834),31579=>array(43,-69,925,829),31580=>array(45,-60,943,847),31581=>array(41,-66,922,820),31582=>array(37,-65,930,834),31583=>array(36,-64,948,837),31584=>array(50,-71,946,837),31585=>array(38,-71,962,841),31586=>array(39,-64,929,825),31587=>array(41,-69,932,840),31588=>array(33,-54,966,853),31589=>array(38,-54,923,849),31590=>array(37,-57,960,850),31591=>array(47,-66,970,839),31592=>array(37,-69,966,842),31593=>array(42,-54,936,857),31594=>array(33,-16,934,853),31595=>array(33,-62,943,853),31596=>array(38,-67,953,837),31597=>array(58,-52,939,857),31598=>array(62,-11,948,837),31599=>array(52,-75,935,837),31600=>array(54,-70,960,843),31601=>array(39,-67,969,843),31602=>array(50,-67,945,847),31603=>array(24,-65,970,846),31604=>array(34,-55,978,849),31605=>array(36,-74,949,845),31606=>array(49,-70,945,836),31607=>array(49,-70,965,840),31608=>array(50,-67,939,843),31609=>array(29,-63,911,833),31610=>array(42,-69,953,847),31611=>array(51,-66,938,827),31612=>array(47,-81,933,841),31613=>array(47,-69,947,841),31614=>array(46,-20,957,842),31615=>array(26,-64,958,841),31616=>array(46,-59,926,833),31617=>array(46,-59,934,833),31618=>array(42,-67,969,841),31619=>array(27,-74,968,841),31620=>array(47,-67,949,841),31621=>array(50,-70,945,841),31622=>array(47,-51,966,848),31623=>array(41,-67,970,846),31624=>array(40,-72,930,835),31625=>array(36,-63,938,842),31626=>array(39,-69,953,831),31627=>array(51,-60,964,847),31628=>array(52,-72,930,835),31629=>array(69,-58,957,847),31630=>array(43,-73,953,841),31631=>array(41,-61,948,851),31632=>array(48,-62,947,841),31633=>array(32,-57,968,852),31634=>array(41,-68,919,827),31635=>array(48,-52,959,846),31636=>array(48,-65,944,846),31637=>array(63,-58,944,849),31638=>array(44,-69,963,834),31639=>array(50,-75,935,841),31640=>array(61,-69,938,841),31641=>array(38,-52,975,855),31642=>array(57,-68,932,840),31643=>array(33,-61,959,855),31644=>array(49,-28,935,841),31645=>array(57,-59,960,850),31646=>array(46,-46,959,844),31647=>array(57,-54,954,850),31648=>array(41,-19,942,853),31649=>array(53,-68,929,845),31650=>array(48,-66,924,832),31651=>array(41,-65,912,831),31652=>array(45,-70,942,837),31653=>array(48,-62,960,832),31654=>array(27,-81,913,835),31655=>array(41,-17,917,829),31656=>array(38,-69,952,823),31657=>array(39,-61,919,834),31658=>array(52,-70,928,843),31659=>array(44,-68,937,824),31660=>array(55,-65,954,842),31661=>array(60,-58,957,855),31662=>array(60,-24,955,855),31663=>array(44,-70,976,833),31664=>array(66,-51,960,828),31665=>array(46,-62,947,846),31666=>array(69,-62,963,855),31667=>array(45,-72,935,855),31668=>array(39,-68,966,844),31669=>array(45,-70,952,843),31670=>array(42,-61,930,842),31671=>array(41,-66,954,847),31672=>array(49,-67,945,842),31673=>array(40,-72,941,837),31674=>array(43,-72,974,842),31675=>array(43,-70,959,842),31676=>array(43,-74,933,842),31677=>array(43,-27,947,842),31678=>array(50,-72,943,837),31679=>array(43,-64,942,842),31680=>array(54,-65,949,841),31681=>array(57,-36,962,835),31682=>array(67,-47,952,835),31683=>array(57,-70,952,835),31684=>array(67,-64,943,842),31685=>array(62,-62,954,842),31686=>array(56,-60,962,848),31687=>array(46,-69,942,840),31688=>array(33,-58,958,837),31689=>array(53,-67,959,838),31690=>array(42,-69,957,843),31691=>array(54,-71,945,849),31692=>array(38,-68,955,841),31693=>array(33,-64,985,837),31694=>array(53,-76,960,837),31695=>array(53,-64,973,847),31696=>array(38,-28,957,847),31697=>array(38,-75,911,829),31698=>array(38,-66,961,829),31699=>array(45,-60,933,836),31700=>array(54,-64,941,851),31701=>array(59,-14,952,832),31702=>array(46,-75,938,832),31703=>array(32,-62,968,844),31704=>array(55,-68,929,829),31705=>array(45,-65,938,849),31706=>array(36,-26,938,842),31707=>array(40,-71,931,840),31708=>array(53,-83,953,844),31709=>array(51,-69,949,843),31710=>array(63,-70,953,832),31711=>array(44,-65,948,836),31712=>array(30,-53,966,855),31713=>array(45,-60,974,855),31714=>array(62,-76,947,827),31715=>array(72,-69,937,837),31716=>array(53,-59,942,845),31717=>array(56,-67,982,847),31718=>array(49,-38,958,844),31719=>array(58,-68,927,829),31720=>array(35,-54,959,849),31721=>array(41,-64,959,855),31722=>array(47,-71,968,846),31723=>array(71,-67,946,832),31724=>array(43,-66,972,832),31725=>array(57,-54,962,849),31726=>array(54,-29,924,827),31727=>array(33,-71,959,827),31728=>array(66,-73,951,839),31729=>array(66,-64,929,830),31730=>array(47,-73,953,844),31731=>array(55,-59,970,853),31732=>array(45,-68,968,836),31733=>array(49,-71,955,828),31734=>array(42,-64,951,838),31735=>array(50,-46,960,856),31736=>array(42,-74,954,829),31737=>array(44,-39,957,827),31738=>array(57,-78,964,850),31739=>array(53,-64,937,846),31740=>array(59,-73,955,838),31741=>array(47,-68,933,831),31742=>array(41,-67,967,850),31743=>array(56,-73,951,830),31744=>array(64,-65,964,846),31745=>array(53,-74,976,830),31746=>array(60,-69,920,832),31747=>array(46,-70,931,831),31748=>array(36,-80,957,845),31749=>array(49,-72,954,828),31750=>array(44,-71,961,837),31751=>array(49,-67,982,849),31752=>array(45,-60,943,829),31753=>array(57,-70,982,845),31754=>array(50,-34,974,823),31755=>array(44,-30,974,839),31756=>array(33,-65,973,847),31757=>array(58,-74,942,844),31758=>array(71,-69,956,832),31759=>array(39,-65,954,845),31760=>array(57,-72,974,834),31761=>array(33,-66,981,853),31762=>array(39,-78,965,851),31763=>array(33,-64,962,855),31764=>array(29,-67,965,855),31765=>array(60,-71,920,847),31766=>array(52,-70,952,829),31767=>array(58,-63,961,821),31768=>array(50,-62,941,838),31769=>array(53,-72,953,841),31770=>array(46,-86,952,850),31771=>array(29,-49,942,858),31772=>array(56,-75,958,834),31773=>array(52,-67,967,833),31774=>array(50,-58,962,860),31775=>array(31,-67,946,844),31776=>array(56,-29,973,842),31777=>array(27,-61,951,844),31778=>array(59,-66,934,834),31779=>array(42,-63,948,847),31780=>array(43,-69,945,847),31781=>array(36,-53,976,855),31782=>array(48,-33,977,839),31783=>array(36,-68,915,842),31784=>array(51,-58,932,847),31785=>array(46,-68,930,835),31786=>array(47,-68,971,843),31787=>array(52,-76,949,842),31788=>array(57,-73,961,836),31789=>array(44,-63,970,838),31790=>array(36,-68,954,847),31791=>array(36,-55,942,847),31792=>array(46,-67,957,833),31793=>array(49,-67,951,849),31794=>array(43,-75,957,849),31795=>array(54,-65,964,840),31796=>array(42,-83,934,856),31797=>array(66,-62,962,834),31798=>array(23,-61,938,856),31799=>array(41,-54,938,856),31800=>array(43,-68,970,847),31801=>array(60,-67,927,837),31802=>array(43,-33,944,837),31803=>array(45,-74,984,829),31804=>array(44,-67,954,837),31805=>array(27,-65,972,841),31806=>array(31,-53,963,854),31807=>array(44,-70,954,853),31808=>array(61,-64,939,842),31809=>array(37,-74,918,824),31810=>array(39,-71,944,836),31811=>array(53,-16,955,849),31812=>array(36,-52,938,842),31813=>array(51,-70,958,841),31814=>array(46,-75,978,845),31815=>array(44,-59,975,850),31816=>array(36,-62,981,835),31817=>array(46,-35,945,842),31818=>array(37,-67,944,850),31819=>array(43,-66,974,835),31820=>array(56,-58,951,852),31821=>array(33,-62,943,852),31822=>array(43,-68,971,835),31823=>array(43,-95,953,835),31824=>array(39,-62,976,848),31825=>array(28,-82,972,847),31826=>array(61,-64,939,834),31827=>array(37,-64,969,840),31828=>array(35,-56,971,845),31829=>array(45,-70,937,842),31830=>array(38,-53,961,853),31831=>array(50,-60,948,845),31832=>array(39,-67,976,849),31833=>array(38,-52,959,853),31834=>array(42,-62,962,837),31835=>array(52,-72,964,839),31836=>array(57,-68,953,846),31837=>array(50,-68,962,846),31838=>array(47,-62,964,847),31839=>array(42,-69,965,851),31840=>array(49,-62,964,855),31841=>array(33,-60,962,818),31842=>array(45,-69,987,838),31843=>array(40,-67,929,841),31844=>array(38,-53,961,853),31845=>array(35,-60,967,853),31846=>array(39,-33,967,837),31847=>array(28,-57,969,854),31848=>array(22,-56,983,848),31849=>array(34,-67,964,848),31850=>array(33,-71,954,842),31851=>array(40,-60,952,857),31852=>array(61,-62,964,854),31853=>array(56,-73,940,856),31854=>array(54,-59,957,854),31855=>array(38,-75,974,837),31856=>array(31,-55,970,844),31857=>array(29,-78,963,835),31858=>array(46,-71,954,835),31859=>array(57,-67,949,830),31860=>array(33,-58,961,844),31861=>array(41,-71,956,823),31862=>array(41,-73,975,823),31863=>array(41,-71,935,823),31864=>array(36,-64,965,828),31865=>array(28,-68,954,826),31866=>array(38,-61,973,832),31867=>array(39,-62,948,834),31868=>array(48,-63,900,814),31869=>array(56,-59,960,838),31870=>array(42,-75,910,827),31871=>array(41,-76,953,822),31872=>array(38,-71,966,827),31873=>array(37,-68,957,829),31874=>array(37,-58,963,841),31875=>array(32,-65,954,832),31876=>array(44,-71,970,824),31877=>array(59,-65,947,839),31878=>array(59,-65,963,829),31879=>array(69,-65,967,843),31880=>array(53,-65,967,828),31881=>array(29,-67,964,829),31882=>array(43,-68,957,826),31883=>array(48,-63,963,837),31884=>array(58,-67,918,826),31885=>array(39,-54,967,850),31886=>array(69,-76,973,837),31887=>array(49,-71,934,837),31888=>array(42,-66,928,829),31889=>array(42,-65,965,829),31890=>array(37,-64,949,837),31891=>array(46,-67,959,838),31892=>array(44,-70,945,824),31893=>array(51,-60,901,849),31894=>array(49,-70,971,825),31895=>array(46,-62,953,833),31896=>array(52,-64,943,840),31897=>array(46,-64,907,836),31898=>array(51,-62,953,833),31899=>array(50,-62,941,834),31900=>array(37,-67,963,818),31901=>array(29,-66,940,802),31902=>array(35,-67,955,832),31903=>array(56,-72,946,789),31904=>array(55,-69,947,830),31905=>array(55,-64,921,830),31906=>array(40,-65,961,846),31907=>array(33,-65,951,830),31908=>array(62,-65,913,838),31909=>array(79,-65,907,829),31910=>array(43,-77,961,836),31911=>array(35,-55,951,829),31912=>array(46,-70,959,823),31913=>array(52,-70,941,828),31914=>array(45,-59,941,823),31915=>array(48,-68,951,838),31916=>array(48,-56,923,843),31917=>array(53,-65,972,853),31918=>array(37,-56,974,836),31919=>array(52,-70,969,824),31920=>array(37,-64,953,837),31921=>array(46,-70,951,842),31922=>array(42,-62,983,838),31923=>array(39,-67,956,829),31924=>array(51,-71,962,824),31925=>array(54,-68,956,844),31926=>array(33,-67,966,835),31927=>array(67,-63,935,837),31928=>array(49,-77,960,836),31929=>array(29,-59,942,835),31930=>array(52,-70,965,839),31931=>array(36,-70,962,830),31932=>array(42,-70,971,830),31933=>array(42,-67,977,831),31934=>array(45,-66,954,837),31935=>array(45,-68,986,821),31936=>array(53,-68,961,833),31937=>array(21,-71,941,839),31938=>array(45,-73,963,832),31939=>array(63,-70,937,810),31940=>array(31,-65,929,833),31941=>array(34,-66,990,830),31942=>array(36,-70,968,810),31943=>array(30,-68,964,836),31944=>array(40,-67,986,829),31945=>array(38,-62,980,841),31946=>array(52,-68,897,835),31947=>array(37,-72,954,830),31948=>array(39,-65,975,841),31949=>array(42,-65,965,843),31950=>array(30,-75,958,844),31951=>array(69,-79,931,840),31952=>array(39,-70,948,827),31953=>array(38,-68,917,831),31954=>array(39,-72,938,822),31955=>array(39,-73,969,834),31956=>array(41,-79,971,826),31957=>array(52,-62,969,850),31958=>array(42,-69,952,827),31959=>array(48,-65,990,847),31960=>array(31,-68,968,832),31961=>array(42,-64,972,837),31962=>array(53,-69,954,832),31963=>array(56,-67,940,837),31964=>array(34,-62,968,828),31965=>array(28,-76,985,853),31966=>array(62,-69,955,849),31967=>array(40,-67,962,840),31968=>array(31,-66,966,833),31969=>array(50,-60,952,847),31970=>array(32,-62,982,832),31971=>array(34,-66,966,832),31972=>array(66,-73,934,828),31973=>array(60,-60,956,839),31974=>array(40,-71,933,839),31975=>array(40,-72,954,818),31976=>array(38,-69,967,830),31977=>array(25,-64,974,861),31978=>array(39,-67,975,832),31979=>array(70,-65,953,838),31980=>array(47,-67,960,826),31981=>array(38,-62,980,843),31982=>array(30,-64,964,832),31983=>array(47,-59,964,838),31984=>array(40,-68,916,833),31985=>array(40,-67,965,840),31986=>array(37,-71,963,828),31987=>array(54,-56,963,836),31988=>array(37,-67,962,797),31989=>array(42,-72,966,823),31990=>array(39,-68,956,833),31991=>array(46,-68,953,828),31992=>array(56,-65,941,847),31993=>array(226,-64,734,824),31994=>array(52,-64,952,839),31995=>array(62,-64,942,833),31996=>array(60,-67,892,825),31997=>array(60,-70,956,828),31998=>array(38,-67,936,839),31999=>array(60,-67,892,825),32000=>array(35,-64,954,839),32001=>array(60,-66,966,832),32002=>array(84,-64,950,839),32003=>array(57,-73,905,822),32004=>array(34,-64,903,839),32005=>array(34,-64,944,841),32006=>array(69,-64,950,839),32007=>array(34,-64,953,844),32008=>array(34,-78,957,839),32009=>array(60,-67,892,825),32010=>array(54,-60,948,831),32011=>array(34,-66,961,839),32012=>array(56,-64,963,825),32013=>array(34,-65,909,839),32014=>array(43,-71,975,829),32015=>array(44,-72,966,825),32016=>array(34,-64,956,839),32017=>array(53,-70,964,834),32018=>array(38,-71,979,844),32019=>array(47,-59,932,815),32020=>array(34,-64,964,839),32021=>array(44,-64,954,839),32022=>array(57,-72,914,824),32023=>array(34,-64,959,839),32024=>array(34,-64,945,841),32025=>array(34,-70,956,839),32026=>array(34,-66,955,839),32027=>array(34,-64,961,839),32028=>array(74,-64,944,839),32029=>array(40,-31,937,815),32030=>array(48,-71,968,828),32031=>array(52,-76,979,834),32032=>array(63,-60,937,834),32033=>array(34,-71,949,839),32034=>array(65,-69,946,835),32035=>array(57,-63,969,837),32036=>array(57,-62,949,843),32037=>array(82,-65,953,837),32038=>array(73,-44,965,824),32039=>array(84,-60,935,834),32040=>array(73,-73,960,833),32041=>array(35,-76,961,839),32042=>array(57,-35,943,839),32043=>array(57,-67,948,825),32044=>array(32,-64,906,839),32045=>array(61,-67,939,820),32046=>array(49,-60,953,831),32047=>array(51,-63,943,808),32048=>array(34,-64,912,839),32049=>array(62,-62,982,834),32050=>array(69,-67,954,839),32051=>array(36,-64,902,839),32052=>array(43,-65,947,839),32053=>array(54,-68,946,839),32054=>array(35,-54,954,838),32055=>array(49,-78,975,831),32056=>array(32,-38,954,839),32057=>array(34,-64,910,839),32058=>array(35,-64,956,839),32059=>array(39,-74,966,823),32060=>array(52,-62,932,829),32061=>array(36,-39,952,838),32062=>array(48,-75,974,843),32063=>array(84,-65,968,839),32064=>array(67,-65,921,828),32065=>array(32,-32,957,839),32066=>array(34,-77,964,839),32067=>array(34,-65,961,839),32068=>array(38,-64,942,839),32069=>array(44,-64,910,839),32070=>array(64,-64,955,839),32071=>array(40,-73,915,835),32072=>array(47,-67,901,837),32073=>array(35,-60,969,826),32074=>array(40,-67,970,840),32075=>array(44,-66,971,839),32076=>array(37,-64,966,839),32077=>array(40,-68,959,831),32078=>array(44,-64,964,839),32079=>array(49,-74,967,839),32080=>array(35,-64,944,839),32081=>array(42,-68,966,829),32082=>array(57,-70,911,826),32083=>array(54,-55,954,819),32084=>array(52,-66,951,833),32085=>array(50,-48,947,817),32086=>array(34,-72,961,839),32087=>array(61,-46,939,831),32088=>array(57,-75,963,832),32089=>array(41,-39,954,831),32090=>array(36,-39,943,830),32091=>array(32,-62,954,845),32092=>array(57,-63,943,827),32093=>array(36,-58,978,843),32094=>array(34,-64,962,841),32095=>array(58,-57,967,816),32096=>array(71,-65,954,837),32097=>array(34,-64,982,849),32098=>array(34,-64,900,842),32099=>array(64,-72,949,839),32100=>array(62,-65,938,820),32101=>array(36,-67,980,831),32102=>array(34,-65,965,853),32103=>array(51,-61,913,831),32104=>array(44,-64,962,839),32105=>array(41,-70,955,827),32106=>array(34,-64,918,839),32107=>array(81,-70,917,836),32108=>array(69,-64,958,834),32109=>array(43,-70,958,835),32110=>array(63,-60,939,838),32111=>array(46,-65,960,836),32112=>array(50,-39,957,825),32113=>array(34,-64,959,839),32114=>array(64,-71,960,839),32115=>array(49,-64,968,844),32116=>array(49,-65,954,843),32117=>array(34,-64,961,839),32118=>array(35,-64,961,839),32119=>array(41,-68,930,819),32120=>array(60,-61,953,817),32121=>array(33,-64,894,839),32122=>array(35,-55,957,857),32123=>array(44,-72,968,838),32124=>array(55,-65,954,833),32125=>array(69,-66,906,839),32126=>array(30,-70,961,833),32127=>array(34,-64,971,839),32128=>array(46,-70,975,823),32129=>array(54,-61,953,836),32130=>array(48,-70,959,830),32131=>array(51,-65,938,838),32132=>array(48,-70,969,836),32133=>array(57,-63,976,816),32134=>array(36,-71,971,820),32135=>array(36,-62,945,820),32136=>array(57,-65,928,849),32137=>array(44,-74,969,839),32138=>array(38,-69,979,836),32139=>array(38,-60,951,833),32140=>array(61,-68,962,832),32141=>array(43,-52,945,843),32142=>array(32,-71,976,839),32143=>array(59,-67,959,839),32144=>array(49,-67,961,839),32145=>array(59,-62,917,813),32146=>array(49,-71,954,826),32147=>array(44,-64,945,839),32148=>array(35,-66,968,846),32149=>array(59,-41,972,826),32150=>array(46,-59,976,853),32151=>array(37,-51,915,813),32152=>array(44,-61,977,841),32153=>array(34,-65,933,839),32154=>array(34,-64,962,839),32155=>array(44,-64,962,839),32156=>array(34,-65,960,839),32157=>array(35,-68,965,839),32158=>array(42,-46,951,828),32159=>array(34,-69,972,839),32160=>array(34,-67,966,843),32161=>array(48,-70,956,830),32162=>array(34,-67,897,839),32163=>array(34,-64,974,839),32164=>array(55,-54,932,786),32165=>array(41,-71,958,824),32166=>array(41,-59,983,836),32167=>array(48,-70,961,832),32168=>array(38,-77,960,849),32169=>array(58,-67,958,832),32170=>array(44,-69,953,832),32171=>array(50,-64,957,839),32172=>array(34,-65,973,839),32173=>array(34,-64,938,839),32174=>array(34,-73,946,843),32175=>array(39,-64,923,848),32176=>array(44,-64,941,839),32177=>array(34,-64,915,839),32178=>array(33,-64,909,839),32179=>array(57,-67,895,827),32180=>array(32,-65,966,839),32181=>array(34,-68,966,839),32182=>array(39,-64,969,820),32183=>array(34,-66,963,839),32184=>array(34,-67,976,856),32185=>array(42,-64,964,845),32186=>array(39,-64,952,839),32187=>array(34,-66,966,839),32188=>array(50,-71,953,841),32189=>array(44,-64,953,840),32190=>array(34,-66,968,839),32191=>array(34,-68,911,839),32192=>array(40,-73,958,837),32193=>array(53,-64,977,829),32194=>array(56,-74,982,829),32195=>array(36,-71,976,844),32196=>array(45,-62,966,822),32197=>array(43,-82,977,826),32198=>array(49,-73,920,828),32199=>array(49,-64,938,839),32200=>array(42,-64,934,842),32201=>array(45,-68,952,827),32202=>array(57,-63,943,803),32203=>array(34,-68,954,839),32204=>array(32,-62,961,856),32205=>array(40,-65,960,839),32206=>array(40,-66,962,839),32207=>array(34,-64,968,839),32208=>array(49,-68,978,840),32209=>array(34,-64,963,839),32210=>array(34,-67,941,839),32211=>array(39,-66,984,830),32212=>array(53,-74,941,818),32213=>array(34,-82,956,839),32214=>array(34,-67,941,839),32215=>array(71,-73,924,820),32216=>array(34,-68,969,839),32217=>array(45,-61,956,832),32218=>array(34,-64,963,840),32219=>array(54,-72,963,831),32220=>array(67,-70,966,839),32221=>array(34,-68,943,839),32222=>array(29,-69,976,848),32223=>array(54,-48,954,836),32224=>array(34,-67,946,839),32225=>array(34,-64,973,839),32226=>array(53,-67,950,829),32227=>array(34,-64,979,839),32228=>array(34,-64,957,839),32229=>array(36,-61,964,840),32230=>array(51,-41,976,819),32231=>array(55,-70,953,836),32232=>array(33,-67,935,839),32233=>array(34,-64,959,839),32234=>array(40,-64,960,837),32235=>array(43,-36,971,850),32236=>array(34,-64,950,839),32237=>array(64,-64,921,829),32238=>array(49,-72,968,831),32239=>array(32,-64,954,839),32240=>array(49,-71,984,834),32241=>array(44,-62,967,833),32242=>array(24,-71,960,839),32243=>array(36,-72,943,847),32244=>array(34,-66,967,839),32245=>array(53,-61,980,839),32246=>array(40,-55,972,841),32247=>array(50,-68,954,830),32248=>array(62,-44,953,810),32249=>array(38,-64,952,820),32250=>array(51,-70,914,830),32251=>array(24,-72,962,839),32252=>array(51,-41,959,830),32253=>array(51,-90,938,840),32254=>array(51,-63,958,830),32255=>array(35,-39,954,839),32256=>array(33,-50,963,828),32257=>array(34,-64,967,839),32258=>array(33,-50,964,823),32259=>array(48,-70,961,828),32260=>array(34,-64,971,839),32261=>array(24,-64,972,839),32262=>array(33,-59,970,849),32263=>array(46,-50,964,855),32264=>array(63,-65,950,829),32265=>array(34,-66,955,839),32266=>array(34,-64,961,839),32267=>array(34,-64,962,847),32268=>array(55,-75,973,814),32269=>array(41,-70,951,841),32270=>array(38,-69,932,827),32271=>array(40,-67,967,844),32272=>array(59,-64,926,850),32273=>array(44,-65,984,852),32274=>array(34,-64,951,839),32275=>array(47,-71,961,823),32276=>array(46,-70,985,822),32277=>array(34,-64,960,839),32278=>array(47,-72,952,841),32279=>array(37,-63,977,855),32280=>array(33,-61,977,842),32281=>array(48,-70,931,828),32282=>array(53,-71,919,833),32283=>array(34,-64,953,839),32284=>array(44,-78,954,826),32285=>array(33,-82,961,839),32286=>array(34,-71,947,839),32287=>array(24,-64,958,839),32288=>array(33,-77,960,826),32289=>array(34,-68,952,839),32290=>array(39,-70,967,844),32291=>array(54,-57,966,817),32292=>array(49,-72,959,824),32293=>array(43,-70,984,830),32294=>array(34,-70,961,839),32295=>array(43,-60,966,839),32296=>array(62,-74,964,828),32297=>array(59,-70,979,825),32298=>array(44,-68,955,810),32299=>array(35,-64,963,843),32300=>array(42,-45,952,842),32301=>array(56,-61,961,850),32302=>array(34,-65,943,839),32303=>array(34,-72,957,839),32304=>array(51,-71,976,823),32305=>array(24,-70,955,839),32306=>array(34,-64,962,839),32307=>array(35,-69,954,823),32308=>array(55,-70,941,832),32309=>array(34,-65,974,839),32310=>array(60,-59,968,840),32311=>array(34,-65,942,839),32312=>array(41,-73,972,827),32313=>array(34,-64,955,839),32314=>array(34,-64,960,839),32315=>array(34,-62,968,839),32316=>array(42,-72,972,831),32317=>array(34,-64,959,844),32318=>array(34,-73,952,839),32319=>array(42,-79,972,845),32320=>array(51,-68,953,824),32321=>array(59,-71,948,837),32322=>array(42,-72,953,830),32323=>array(34,-72,917,839),32324=>array(71,-73,949,805),32325=>array(34,-65,972,839),32326=>array(34,-75,970,839),32327=>array(59,-60,965,846),32328=>array(48,-74,962,841),32329=>array(46,-68,968,820),32330=>array(29,-64,964,839),32331=>array(57,-71,964,829),32332=>array(38,-75,973,839),32333=>array(34,-67,957,839),32334=>array(39,-71,959,831),32335=>array(49,-58,947,820),32336=>array(35,-44,971,825),32337=>array(44,-64,973,832),32338=>array(34,-71,972,839),32339=>array(42,-73,969,831),32340=>array(28,-66,958,839),32341=>array(34,-67,949,840),32342=>array(24,-72,984,839),32343=>array(43,-71,958,827),32344=>array(47,-61,926,845),32345=>array(34,-67,959,839),32346=>array(34,-64,965,859),32347=>array(45,-65,962,838),32348=>array(45,-70,957,838),32349=>array(34,-68,920,839),32350=>array(34,-64,954,839),32351=>array(43,-68,957,830),32352=>array(50,-67,971,840),32353=>array(26,-72,962,839),32354=>array(42,-70,954,826),32355=>array(40,-39,957,825),32356=>array(36,-66,969,838),32357=>array(37,-65,951,836),32358=>array(24,-64,967,839),32359=>array(25,-75,949,839),32360=>array(55,-73,974,830),32361=>array(34,-64,970,839),32362=>array(34,-68,973,864),32363=>array(53,-73,962,841),32364=>array(39,-65,965,837),32365=>array(63,-57,937,833),32366=>array(41,-39,951,812),32367=>array(40,-66,970,807),32368=>array(34,-64,972,839),32369=>array(48,-38,959,837),32370=>array(49,-68,961,829),32371=>array(51,-71,962,845),32372=>array(50,-71,944,831),32373=>array(47,-45,962,834),32374=>array(43,-33,977,829),32375=>array(44,-64,962,836),32376=>array(30,-78,970,830),32377=>array(34,-66,934,839),32378=>array(45,-74,976,834),32379=>array(34,-64,954,839),32380=>array(24,-70,942,839),32381=>array(34,-70,958,839),32382=>array(57,-59,976,836),32383=>array(34,-64,957,844),32384=>array(42,-67,972,829),32385=>array(30,-58,971,851),32386=>array(22,-71,974,850),32387=>array(34,-68,969,839),32388=>array(36,-62,963,833),32389=>array(56,-68,948,850),32390=>array(51,-38,967,830),32391=>array(41,-66,960,831),32392=>array(34,-64,970,839),32393=>array(34,-64,981,845),32394=>array(31,-77,967,839),32395=>array(49,-68,961,837),32396=>array(34,-84,957,839),32397=>array(53,-62,947,789),32398=>array(24,-64,967,839),32399=>array(35,-67,961,839),32400=>array(19,-64,980,839),32401=>array(46,-68,956,833),32402=>array(34,-64,950,839),32403=>array(34,-67,954,839),32404=>array(24,-68,966,847),32405=>array(32,-68,979,849),32406=>array(19,-64,967,839),32407=>array(38,-65,941,833),32408=>array(30,-68,972,839),32409=>array(40,-67,964,835),32410=>array(26,-68,974,829),32411=>array(42,-71,953,839),32412=>array(19,-64,960,847),32413=>array(42,-62,955,822),32414=>array(53,-31,947,842),32415=>array(271,10,660,829),32416=>array(72,-69,847,828),32417=>array(57,-56,933,828),32418=>array(74,3,936,828),32419=>array(57,-64,933,828),32420=>array(43,-67,942,812),32421=>array(57,-24,936,843),32422=>array(61,-62,879,835),32423=>array(62,-71,941,828),32424=>array(58,-56,964,838),32425=>array(54,-66,912,830),32426=>array(57,-15,936,828),32427=>array(73,-69,874,820),32428=>array(46,-69,903,824),32429=>array(57,-54,927,828),32430=>array(77,-71,950,837),32431=>array(70,-34,929,834),32432=>array(57,-47,937,829),32433=>array(66,-59,943,824),32434=>array(40,-59,885,829),32435=>array(52,-57,898,833),32436=>array(72,-21,939,813),32437=>array(41,-64,945,833),32438=>array(32,-21,943,835),32439=>array(75,-67,957,828),32440=>array(46,-70,926,825),32441=>array(71,-65,944,840),32442=>array(60,-66,921,842),32443=>array(60,11,934,828),32444=>array(74,-72,895,824),32445=>array(74,-23,936,820),32446=>array(57,-61,915,828),32447=>array(44,-60,937,831),32448=>array(57,-66,942,829),32449=>array(57,-22,937,828),32450=>array(57,-65,966,832),32451=>array(35,-61,947,830),32452=>array(57,-14,925,807),32453=>array(77,-64,885,835),32454=>array(60,-57,895,783),32455=>array(39,-56,942,802),32456=>array(62,-79,947,834),32457=>array(39,-57,873,827),32458=>array(57,-66,938,832),32459=>array(53,-64,915,827),32460=>array(57,-67,903,828),32461=>array(54,-72,894,786),32462=>array(41,-74,958,818),32463=>array(57,-33,938,819),32464=>array(57,-67,950,832),32465=>array(42,-69,937,834),32466=>array(71,-65,945,835),32467=>array(67,-66,933,837),32468=>array(57,-63,958,840),32469=>array(44,-60,944,835),32470=>array(76,-22,923,828),32471=>array(53,-66,947,830),32472=>array(44,-55,934,838),32473=>array(57,-67,949,852),32474=>array(59,-58,882,839),32475=>array(57,-57,960,842),32476=>array(74,-63,967,847),32477=>array(39,-21,925,832),32478=>array(81,-64,947,840),32479=>array(57,-71,942,838),32480=>array(57,-74,954,828),32481=>array(57,-67,921,835),32482=>array(73,-59,879,827),32483=>array(50,-85,942,807),32484=>array(59,-68,962,832),32485=>array(59,-69,942,834),32486=>array(25,-66,964,833),32487=>array(53,-23,940,809),32488=>array(61,-67,909,847),32489=>array(41,-62,931,833),32490=>array(53,-69,924,829),32491=>array(57,-68,951,834),32492=>array(52,-66,969,828),32493=>array(28,-67,932,833),32494=>array(59,-63,937,836),32495=>array(63,-66,939,827),32496=>array(65,-65,936,838),32497=>array(53,-74,916,827),32498=>array(57,-64,949,828),32499=>array(50,-23,940,826),32500=>array(63,-64,920,836),32501=>array(67,-70,886,842),32502=>array(57,-72,958,836),32503=>array(34,-74,925,792),32504=>array(57,-69,881,827),32505=>array(49,-67,924,840),32506=>array(30,-64,937,828),32507=>array(53,-41,973,839),32508=>array(53,-67,934,844),32509=>array(61,-68,951,843),32510=>array(53,-64,917,850),32511=>array(30,-64,943,819),32512=>array(53,-67,973,818),32513=>array(57,-66,921,836),32514=>array(53,-63,939,829),32515=>array(53,-74,910,827),32516=>array(52,-70,953,832),32517=>array(60,-66,931,814),32518=>array(35,-54,932,841),32519=>array(57,-66,935,828),32520=>array(52,-73,937,830),32521=>array(57,-70,935,822),32522=>array(69,-28,959,805),32523=>array(39,-66,919,830),32524=>array(57,-43,959,828),32525=>array(52,-33,933,830),32526=>array(53,-71,953,818),32527=>array(53,-57,954,839),32528=>array(59,-64,959,842),32529=>array(53,-69,971,831),32530=>array(53,-72,951,844),32531=>array(66,-67,949,827),32532=>array(62,-69,925,848),32533=>array(39,-54,941,838),32534=>array(34,-69,922,837),32535=>array(57,-64,956,828),32536=>array(53,-73,937,834),32537=>array(47,-64,911,827),32538=>array(50,-67,946,832),32539=>array(53,-64,942,827),32540=>array(53,-68,936,843),32541=>array(52,-53,955,816),32542=>array(69,-63,962,855),32543=>array(53,-67,932,850),32544=>array(36,-64,919,847),32545=>array(56,-63,944,847),32546=>array(53,-23,943,840),32547=>array(55,-67,967,851),32548=>array(33,-50,933,824),32549=>array(57,-64,940,819),32550=>array(53,-68,958,827),32551=>array(53,-64,959,827),32552=>array(39,-75,937,822),32553=>array(41,-66,917,841),32554=>array(52,-76,953,817),32555=>array(53,-67,955,837),32556=>array(38,-68,945,825),32557=>array(57,-64,947,855),32558=>array(62,-67,931,839),32559=>array(53,-64,901,851),32560=>array(50,-40,935,806),32561=>array(53,-72,951,834),32562=>array(53,-66,963,827),32563=>array(57,-68,952,828),32564=>array(53,-71,946,842),32565=>array(38,-69,933,822),32566=>array(47,-60,953,831),32567=>array(58,-62,909,838),32568=>array(44,-45,941,836),32569=>array(50,-72,960,845),32570=>array(59,-68,950,836),32571=>array(58,-32,962,836),32572=>array(80,-73,960,851),32573=>array(48,-54,971,848),32574=>array(58,-53,954,855),32575=>array(49,-58,945,843),32576=>array(47,-64,960,851),32577=>array(47,-65,951,851),32578=>array(48,-68,912,780),32579=>array(69,-71,945,838),32580=>array(49,-68,956,833),32581=>array(48,-72,931,834),32582=>array(48,-68,951,829),32583=>array(45,-72,970,838),32584=>array(48,-70,953,831),32585=>array(63,-54,935,837),32586=>array(72,-68,958,825),32587=>array(62,-68,939,838),32588=>array(59,-65,951,790),32589=>array(68,-62,957,797),32590=>array(34,-53,951,842),32591=>array(45,-63,957,841),32592=>array(44,-59,949,838),32593=>array(117,-60,883,780),32594=>array(148,317,884,597),32595=>array(137,265,863,657),32596=>array(114,-68,894,787),32597=>array(64,-64,917,786),32598=>array(110,10,917,802),32599=>array(69,-55,884,792),32600=>array(45,-64,955,787),32601=>array(50,-68,955,789),32602=>array(98,-57,869,791),32603=>array(42,-61,973,798),32604=>array(79,-35,961,777),32605=>array(55,-20,950,798),32606=>array(56,-62,947,790),32607=>array(68,-60,954,787),32608=>array(47,-58,947,784),32609=>array(63,-24,941,785),32610=>array(55,-60,904,792),32611=>array(63,-33,958,763),32612=>array(55,-53,908,785),32613=>array(141,-70,883,779),32614=>array(82,-68,933,783),32615=>array(55,-71,971,780),32616=>array(29,-34,966,794),32617=>array(59,-69,956,782),32618=>array(57,-69,943,794),32619=>array(59,-64,968,787),32620=>array(44,-72,969,784),32621=>array(63,-51,963,800),32622=>array(100,-73,945,813),32623=>array(81,-69,931,787),32624=>array(71,-73,900,810),32625=>array(51,-72,949,791),32626=>array(58,-65,944,789),32627=>array(56,-26,954,780),32628=>array(34,-62,928,776),32629=>array(57,-69,919,783),32630=>array(136,-70,882,783),32631=>array(68,-63,967,807),32632=>array(85,-73,951,782),32633=>array(39,-64,949,788),32634=>array(44,-70,973,783),32635=>array(41,-68,951,782),32636=>array(59,-65,943,810),32637=>array(36,-65,947,791),32638=>array(110,-67,905,794),32639=>array(50,-8,947,805),32640=>array(107,-71,916,787),32641=>array(49,-65,890,772),32642=>array(64,-63,896,802),32643=>array(42,-65,968,792),32644=>array(44,-64,953,815),32645=>array(38,-67,950,807),32646=>array(43,-73,956,784),32647=>array(63,-64,953,788),32648=>array(62,-64,938,796),32649=>array(50,-52,968,792),32650=>array(72,-67,946,855),32651=>array(60,-67,953,821),32652=>array(39,-61,953,844),32653=>array(38,-67,965,836),32654=>array(45,-61,955,845),32655=>array(54,-68,957,842),32656=>array(34,-67,974,830),32657=>array(52,-67,991,854),32658=>array(54,-73,985,842),32659=>array(44,-71,972,842),32660=>array(61,-63,957,856),32661=>array(46,-66,965,848),32662=>array(50,-71,967,834),32663=>array(36,-66,965,841),32664=>array(53,-68,954,843),32665=>array(53,-63,941,854),32666=>array(22,-68,960,847),32667=>array(53,-69,938,846),32668=>array(57,-66,960,844),32669=>array(42,-73,950,839),32670=>array(29,-33,934,838),32671=>array(36,-68,922,823),32672=>array(43,-72,969,840),32673=>array(49,-74,960,845),32674=>array(52,-69,974,837),32675=>array(57,-64,954,787),32676=>array(32,-62,960,850),32677=>array(46,-75,950,833),32678=>array(41,-73,964,834),32679=>array(35,-75,965,830),32680=>array(49,-62,978,858),32681=>array(48,-63,941,843),32682=>array(42,-77,965,842),32683=>array(39,-70,950,845),32684=>array(51,-70,978,822),32685=>array(50,-74,969,827),32686=>array(33,-58,974,860),32687=>array(55,-67,930,842),32688=>array(41,-82,971,831),32689=>array(53,-73,970,833),32690=>array(34,-66,959,853),32691=>array(46,-69,968,832),32692=>array(35,-83,969,808),32693=>array(46,-82,967,826),32694=>array(16,-65,959,842),32695=>array(53,-71,969,835),32696=>array(29,-60,973,841),32697=>array(51,-62,966,853),32698=>array(49,-64,968,833),32699=>array(52,-69,970,836),32700=>array(41,-71,965,797),32701=>array(73,-50,892,785),32702=>array(40,-70,953,783),32703=>array(43,-64,945,780),32704=>array(47,-63,917,836),32705=>array(47,-62,958,822),32706=>array(43,-71,981,790),32707=>array(52,-67,938,840),32708=>array(47,-73,970,837),32709=>array(31,-59,972,839),32710=>array(54,-58,946,790),32711=>array(41,-76,959,785),32712=>array(113,-79,923,788),32713=>array(29,-64,910,826),32714=>array(56,-65,915,821),32715=>array(42,-67,950,836),32716=>array(50,-20,942,798),32717=>array(33,-72,962,821),32718=>array(31,-63,918,838),32719=>array(32,-76,965,785),32720=>array(32,-74,976,827),32721=>array(37,-64,914,828),32722=>array(74,-72,892,782),32723=>array(70,-65,914,838),32724=>array(51,-60,893,855),32725=>array(47,-63,965,845),32726=>array(26,-64,916,817),32727=>array(61,-70,916,829),32728=>array(32,-71,941,818),32729=>array(45,-64,931,836),32730=>array(74,-65,926,801),32731=>array(37,-63,982,844),32732=>array(37,-72,964,783),32733=>array(30,-48,910,825),32734=>array(53,-68,962,834),32735=>array(40,-80,927,807),32736=>array(53,-61,947,807),32737=>array(46,-56,921,826),32738=>array(41,-71,903,782),32739=>array(61,-63,936,797),32740=>array(98,-71,918,785),32741=>array(42,-59,956,834),32742=>array(65,-59,959,863),32743=>array(57,-69,913,855),32744=>array(88,-65,970,785),32745=>array(41,-60,917,795),32746=>array(59,-73,968,825),32747=>array(52,-74,963,783),32748=>array(62,-62,957,790),32749=>array(53,-76,983,824),32750=>array(75,-64,903,788),32751=>array(66,-52,941,802),32752=>array(60,-69,978,853),32753=>array(46,-63,904,848),32754=>array(41,-73,895,780),32755=>array(60,-67,929,785),32756=>array(40,-73,969,816),32757=>array(37,-54,948,854),32758=>array(48,-77,913,839),32759=>array(53,-67,917,830),32760=>array(61,-70,919,835),32761=>array(28,-66,966,830),32762=>array(46,-68,913,845),32763=>array(59,-67,909,824),32764=>array(54,-66,946,807),32765=>array(30,-67,910,832),32766=>array(60,-57,928,795),32767=>array(66,-52,917,843),32768=>array(28,-73,954,828),32769=>array(38,-39,923,832),32770=>array(21,160,923,832),32771=>array(48,-56,929,836),32772=>array(39,-36,948,834),32773=>array(62,-64,929,836),32774=>array(33,-69,938,836),32775=>array(59,-64,950,835),32776=>array(69,-66,933,840),32777=>array(40,-55,951,840),32778=>array(49,-53,950,836),32779=>array(53,-53,950,836),32780=>array(89,-68,923,768),32781=>array(63,-68,934,789),32782=>array(46,-67,970,791),32783=>array(55,-74,951,822),32784=>array(51,-79,956,836),32785=>array(62,-62,954,840),32786=>array(55,-65,968,829),32787=>array(46,-65,924,827),32788=>array(46,-65,957,828),32789=>array(31,-73,954,831),32790=>array(31,-70,970,831),32791=>array(35,-68,924,828),32792=>array(36,-73,943,832),32793=>array(36,-73,951,832),32794=>array(46,-72,960,833),32795=>array(47,-71,951,839),32796=>array(38,-73,909,832),32797=>array(31,-73,938,831),32798=>array(47,-68,914,829),32799=>array(49,-58,964,828),32800=>array(21,-78,964,842),32801=>array(59,-66,929,831),32802=>array(25,-72,914,818),32803=>array(46,-73,968,844),32804=>array(46,-70,956,826),32805=>array(39,-69,933,832),32806=>array(61,-71,927,830),32807=>array(32,-73,922,806),32808=>array(34,-64,959,832),32809=>array(36,-67,964,833),32810=>array(43,-69,954,842),32811=>array(44,-71,943,830),32812=>array(34,-69,954,835),32813=>array(53,-69,949,840),32814=>array(44,-86,968,831),32815=>array(49,-69,966,827),32816=>array(33,-62,979,830),32817=>array(23,-68,955,838),32818=>array(45,-69,972,849),32819=>array(55,-74,922,781),32820=>array(56,-67,967,828),32821=>array(48,-62,954,789),32822=>array(59,-67,930,786),32823=>array(40,-69,960,839),32824=>array(55,-66,916,830),32825=>array(55,-67,978,853),32826=>array(29,-67,944,789),32827=>array(42,-64,951,824),32828=>array(46,-67,957,789),32829=>array(40,-70,950,831),32830=>array(55,-65,960,838),32831=>array(38,-67,954,825),32832=>array(50,-67,967,825),32833=>array(49,-67,951,805),32834=>array(39,-60,952,794),32835=>array(35,-65,961,829),32836=>array(50,-72,971,850),32837=>array(50,-67,945,819),32838=>array(28,-62,966,854),32839=>array(58,-70,957,781),32840=>array(72,-80,921,822),32841=>array(46,-68,921,827),32842=>array(59,-71,914,830),32843=>array(51,-48,923,841),32844=>array(31,-70,955,782),32845=>array(29,-68,924,830),32846=>array(63,-67,962,826),32847=>array(49,-68,960,785),32848=>array(45,-70,959,822),32849=>array(50,-70,955,770),32850=>array(36,-64,941,804),32851=>array(47,-59,960,806),32852=>array(37,-60,940,830),32853=>array(50,-67,955,844),32854=>array(66,-37,934,805),32855=>array(50,-75,968,833),32856=>array(33,-71,955,831),32857=>array(50,-67,974,835),32858=>array(36,-61,948,793),32859=>array(50,-67,956,841),32860=>array(48,-67,956,834),32861=>array(45,-71,952,823),32862=>array(119,-68,901,786),32863=>array(34,-69,950,852),32864=>array(50,-68,959,845),32865=>array(32,-65,968,819),32866=>array(50,-83,949,797),32867=>array(50,-67,953,816),32868=>array(41,-61,970,856),32869=>array(50,-68,925,827),32870=>array(50,-67,964,839),32871=>array(51,-72,970,817),32872=>array(52,-65,963,806),32873=>array(34,-69,928,824),32874=>array(33,-60,950,838),32875=>array(48,-65,963,806),32876=>array(46,-71,971,827),32877=>array(50,-67,969,856),32878=>array(52,-65,967,782),32879=>array(42,-65,946,842),32880=>array(43,-66,973,835),32881=>array(53,-70,948,838),32882=>array(62,-64,946,833),32883=>array(48,-70,952,846),32884=>array(44,-67,963,839),32885=>array(40,-67,962,838),32886=>array(42,-66,951,808),32887=>array(35,-70,960,839),32888=>array(44,-73,942,827),32889=>array(41,-64,967,835),32890=>array(41,-65,948,846),32891=>array(35,-65,954,831),32892=>array(44,-67,966,847),32893=>array(58,-67,966,840),32894=>array(43,-71,962,840),32895=>array(73,-66,945,833),32896=>array(73,-66,931,833),32897=>array(45,-61,947,848),32898=>array(50,-72,953,828),32899=>array(50,-62,941,834),32900=>array(28,-68,945,829),32901=>array(46,-69,947,833),32902=>array(46,-61,946,841),32903=>array(51,-61,949,850),32904=>array(50,-61,953,856),32905=>array(118,-73,882,841),32906=>array(49,-68,959,783),32907=>array(68,-70,898,834),32908=>array(31,-74,948,773),32909=>array(59,-75,957,831),32910=>array(116,-45,892,762),32911=>array(42,-79,958,777),32912=>array(41,-78,977,826),32913=>array(76,-59,921,844),32914=>array(39,-64,954,833),32915=>array(135,-50,924,826),32916=>array(60,-71,963,825),32917=>array(53,-65,908,799),32918=>array(133,-61,861,836),32919=>array(60,-71,944,839),32920=>array(57,-70,933,826),32921=>array(70,-64,841,788),32922=>array(63,-68,938,829),32923=>array(54,-70,942,786),32924=>array(44,-58,965,856),32925=>array(60,-71,936,785),32926=>array(48,-62,959,803),32927=>array(31,-80,950,782),32928=>array(22,-61,886,786),32929=>array(51,-65,944,788),32930=>array(43,-70,969,837),32931=>array(35,-69,972,833),32932=>array(38,-71,939,831),32933=>array(51,-70,949,779),32934=>array(29,-60,968,810),32935=>array(60,-72,944,785),32936=>array(60,-71,940,813),32937=>array(53,-70,901,810),32938=>array(34,-71,949,825),32939=>array(38,-67,957,833),32940=>array(44,-62,961,831),32941=>array(24,-68,877,799),32942=>array(41,-73,957,832),32943=>array(59,-54,953,831),32944=>array(60,-71,977,837),32945=>array(30,-62,945,826),32946=>array(92,-49,907,840),32947=>array(46,-71,921,829),32948=>array(52,-49,928,844),32949=>array(39,-68,954,829),32950=>array(37,-58,956,824),32951=>array(30,-67,939,824),32952=>array(46,-65,956,811),32953=>array(56,-71,959,811),32954=>array(31,-70,953,839),32955=>array(121,-58,897,827),32956=>array(23,-82,950,827),32957=>array(23,-81,956,822),32958=>array(124,-69,944,820),32959=>array(31,-68,894,814),32960=>array(35,-73,946,815),32961=>array(27,-65,948,824),32962=>array(50,-71,912,833),32963=>array(170,-49,849,785),32964=>array(177,-48,838,834),32965=>array(45,-76,974,826),32966=>array(37,-70,954,786),32967=>array(45,-75,928,826),32968=>array(41,-73,968,826),32969=>array(40,-60,903,854),32970=>array(34,-66,908,843),32971=>array(57,-70,934,835),32972=>array(60,-57,937,826),32973=>array(31,-73,977,837),32974=>array(49,-70,944,838),32975=>array(51,-60,957,840),32976=>array(45,-59,905,840),32977=>array(32,-55,966,797),32978=>array(57,-70,945,788),32979=>array(57,-70,959,789),32980=>array(54,-68,968,835),32981=>array(44,-57,961,848),32982=>array(45,-69,934,834),32983=>array(39,-68,980,840),32984=>array(42,-67,957,836),32985=>array(53,-70,940,837),32986=>array(44,-69,948,786),32987=>array(49,-70,899,787),32988=>array(44,-69,953,824),32989=>array(34,-72,948,833),32990=>array(37,-64,958,845),32991=>array(35,-60,962,787),32992=>array(29,-62,957,839),32993=>array(71,-67,895,818),32994=>array(66,-70,948,787),32995=>array(47,-71,964,825),32996=>array(40,-66,967,846),32997=>array(38,-50,935,789),32998=>array(38,-67,981,829),32999=>array(18,-67,931,826),33000=>array(31,-72,939,817),33001=>array(31,-80,946,822),33002=>array(34,-69,921,817),33003=>array(32,-72,923,782),33004=>array(35,-66,932,827),33005=>array(48,-68,910,790),33006=>array(35,-70,965,837),33007=>array(28,-70,969,848),33008=>array(39,-72,963,838),33009=>array(35,-60,959,823),33010=>array(52,-69,975,845),33011=>array(35,-71,967,845),33012=>array(28,-70,912,786),33013=>array(46,-72,959,782),33014=>array(28,-71,946,842),33015=>array(73,-71,878,847),33016=>array(31,-58,924,841),33017=>array(46,-73,965,780),33018=>array(45,-72,948,840),33019=>array(49,-67,967,838),33020=>array(27,-70,947,845),33021=>array(63,-55,959,844),33022=>array(51,-64,952,829),33023=>array(34,-72,959,827),33024=>array(35,-77,972,813),33025=>array(29,-67,962,818),33026=>array(48,-70,952,815),33027=>array(33,-54,947,821),33028=>array(33,-70,965,824),33029=>array(73,-52,940,841),33030=>array(30,-72,958,844),33031=>array(40,-67,915,841),33032=>array(35,-62,967,836),33033=>array(44,-70,972,840),33034=>array(56,-59,944,835),33035=>array(73,-49,940,808),33036=>array(33,-70,943,841),33037=>array(38,-74,951,818),33038=>array(37,-73,932,818),33039=>array(31,-66,920,821),33040=>array(24,-82,951,832),33041=>array(43,-64,951,841),33042=>array(27,-70,980,821),33043=>array(32,-72,962,827),33044=>array(28,-64,923,846),33045=>array(44,-72,967,837),33046=>array(45,-67,951,837),33047=>array(45,-58,925,851),33048=>array(26,-67,963,821),33049=>array(42,-75,948,820),33050=>array(33,-61,913,810),33051=>array(49,-65,945,791),33052=>array(27,-70,944,776),33053=>array(48,-71,946,835),33054=>array(49,-60,970,833),33055=>array(39,-71,953,815),33056=>array(44,-62,972,820),33057=>array(44,-62,972,820),33058=>array(41,-70,942,839),33059=>array(58,-56,935,790),33060=>array(33,-57,967,800),33061=>array(44,-78,964,822),33062=>array(31,-70,968,831),33063=>array(33,-71,985,838),33064=>array(31,-70,975,825),33065=>array(37,-67,965,846),33066=>array(31,-70,961,846),33067=>array(32,-71,968,812),33068=>array(65,-72,986,834),33069=>array(39,-54,950,787),33070=>array(31,-75,948,835),33071=>array(28,-70,952,839),33072=>array(44,-60,956,797),33073=>array(59,-71,944,833),33074=>array(23,-71,970,788),33075=>array(27,-67,964,818),33076=>array(31,-70,969,797),33077=>array(31,-58,947,788),33078=>array(34,-67,925,785),33079=>array(31,-70,906,833),33080=>array(26,-65,944,836),33081=>array(42,-64,962,799),33082=>array(34,-71,943,839),33083=>array(31,-72,959,833),33084=>array(31,-66,948,787),33085=>array(23,-68,945,830),33086=>array(28,-70,957,841),33087=>array(31,-70,974,841),33088=>array(31,-73,976,851),33089=>array(31,-71,953,830),33090=>array(31,-70,969,788),33091=>array(46,-71,981,830),33092=>array(33,-67,953,833),33093=>array(31,-70,970,841),33094=>array(28,-70,965,835),33095=>array(38,-81,974,822),33096=>array(32,-77,940,828),33097=>array(43,-70,959,816),33098=>array(52,-69,956,824),33099=>array(21,-70,970,812),33100=>array(31,-72,972,844),33101=>array(41,-66,972,825),33102=>array(108,-59,958,815),33103=>array(40,-78,980,783),33104=>array(46,-68,948,839),33105=>array(28,-70,952,835),33106=>array(44,-74,944,784),33107=>array(18,-66,936,818),33108=>array(29,-70,947,822),33109=>array(26,-64,962,834),33110=>array(31,-70,973,835),33111=>array(31,-70,955,831),33112=>array(31,-70,919,787),33113=>array(34,-78,951,833),33114=>array(23,-83,949,831),33115=>array(46,-72,954,782),33116=>array(47,-75,973,822),33117=>array(31,-70,975,788),33118=>array(45,-67,970,836),33119=>array(31,-70,952,836),33120=>array(49,-72,987,831),33121=>array(34,-77,903,782),33122=>array(38,-67,911,803),33123=>array(31,-70,948,850),33124=>array(38,-69,955,840),33125=>array(19,-70,945,788),33126=>array(65,-65,925,846),33127=>array(34,-70,973,855),33128=>array(31,-70,956,835),33129=>array(49,-71,974,830),33130=>array(31,-70,953,788),33131=>array(48,-64,945,836),33132=>array(31,-70,977,796),33133=>array(28,-70,947,787),33134=>array(28,-70,964,786),33135=>array(47,-72,956,832),33136=>array(24,-70,941,793),33137=>array(26,-63,964,829),33138=>array(43,-77,981,782),33139=>array(58,-71,911,820),33140=>array(27,-70,972,833),33141=>array(48,-70,980,791),33142=>array(39,-75,979,825),33143=>array(37,-71,954,785),33144=>array(42,-60,952,801),33145=>array(21,-70,973,837),33146=>array(21,-70,968,837),33147=>array(28,-70,950,829),33148=>array(26,-76,941,778),33149=>array(26,-78,950,784),33150=>array(31,-61,951,836),33151=>array(22,-60,958,783),33152=>array(28,-69,938,819),33153=>array(30,-70,983,843),33154=>array(46,-48,944,847),33155=>array(60,-70,967,785),33156=>array(48,-70,986,830),33157=>array(48,-64,954,843),33158=>array(45,-64,953,825),33159=>array(45,-72,981,832),33160=>array(18,-69,939,784),33161=>array(41,-75,964,826),33162=>array(34,-70,961,831),33163=>array(72,-67,932,835),33164=>array(44,-70,980,823),33165=>array(49,-72,961,835),33166=>array(36,-74,972,842),33167=>array(94,-62,906,834),33168=>array(46,-52,944,846),33169=>array(25,-63,934,832),33170=>array(48,-70,963,787),33171=>array(48,-75,969,853),33172=>array(43,-64,953,839),33173=>array(44,-75,920,783),33174=>array(30,-70,971,844),33175=>array(37,-65,959,829),33176=>array(39,-69,962,788),33177=>array(39,-60,969,829),33178=>array(46,-68,941,848),33179=>array(47,-72,954,835),33180=>array(19,-70,972,823),33181=>array(28,-70,966,828),33182=>array(41,-69,944,826),33183=>array(45,-70,958,839),33184=>array(39,-76,977,788),33185=>array(18,-70,987,850),33186=>array(45,-67,951,824),33187=>array(33,-71,938,817),33188=>array(18,-70,968,787),33189=>array(37,-62,950,844),33190=>array(39,-70,954,832),33191=>array(26,-60,950,833),33192=>array(17,-70,975,837),33193=>array(36,-78,969,836),33194=>array(26,-68,891,832),33195=>array(49,-75,982,845),33196=>array(55,-75,986,830),33197=>array(30,-70,969,839),33198=>array(40,-68,975,829),33199=>array(24,-70,981,837),33200=>array(30,-60,966,852),33201=>array(45,-75,983,840),33202=>array(41,-68,969,838),33203=>array(35,-67,949,840),33204=>array(36,-57,963,848),33205=>array(40,-67,964,830),33206=>array(48,-70,930,793),33207=>array(49,-70,967,827),33208=>array(42,-70,956,839),33209=>array(46,-79,956,830),33210=>array(28,-68,922,839),33211=>array(42,-70,959,845),33212=>array(43,-72,976,805),33213=>array(38,-66,956,853),33214=>array(36,-71,983,859),33215=>array(35,-75,969,840),33216=>array(35,-57,960,788),33217=>array(30,-82,961,837),33218=>array(33,-58,927,836),33219=>array(37,-75,952,849),33220=>array(39,-68,959,822),33221=>array(50,-69,916,787),33222=>array(21,-70,963,840),33223=>array(48,-67,931,835),33224=>array(36,-70,940,833),33225=>array(53,-68,991,854),33226=>array(39,-87,974,784),33227=>array(35,-71,959,827),33228=>array(40,-72,973,836),33229=>array(45,-73,966,843),33230=>array(36,-58,962,805),33231=>array(35,-74,955,847),33232=>array(45,-73,964,840),33233=>array(46,-78,948,777),33234=>array(44,-73,969,835),33235=>array(32,-61,966,838),33236=>array(32,-60,973,796),33237=>array(30,-60,965,853),33238=>array(41,-54,954,830),33239=>array(55,-70,979,837),33240=>array(40,-65,956,848),33241=>array(43,-75,969,829),33242=>array(43,-74,971,827),33243=>array(48,-67,946,790),33244=>array(41,-71,972,827),33245=>array(41,-50,964,867),33246=>array(39,-56,955,805),33247=>array(28,-61,970,838),33248=>array(54,-67,942,846),33249=>array(54,-53,949,849),33250=>array(43,-78,956,829),33251=>array(151,-58,927,780),33252=>array(100,-31,976,782),33253=>array(120,-65,959,820),33254=>array(58,-70,954,772),33255=>array(31,-63,956,836),33256=>array(120,-65,932,841),33257=>array(48,-76,965,781),33258=>array(201,-67,821,853),33259=>array(87,-47,948,840),33260=>array(46,-67,967,850),33261=>array(56,-63,970,844),33262=>array(42,-66,937,837),33263=>array(52,-64,946,849),33264=>array(61,-72,925,852),33265=>array(109,-101,922,839),33266=>array(37,-71,967,844),33267=>array(80,-16,915,770),33268=>array(59,-71,971,831),33269=>array(49,-57,965,848),33270=>array(55,-68,962,840),33271=>array(58,-72,960,821),33272=>array(54,-42,952,756),33273=>array(46,-78,954,824),33274=>array(80,-32,933,829),33275=>array(56,-68,959,829),33276=>array(156,-46,863,793),33277=>array(138,-68,825,829),33278=>array(42,-71,966,824),33279=>array(57,-68,954,833),33280=>array(83,-67,917,834),33281=>array(50,-74,956,834),33282=>array(44,-65,969,838),33283=>array(85,-60,898,834),33284=>array(58,-68,927,834),33285=>array(65,-52,874,842),33286=>array(52,-59,924,829),33287=>array(40,-70,955,836),33288=>array(68,-56,951,826),33289=>array(55,-67,965,810),33290=>array(62,-67,947,832),33291=>array(73,-41,936,832),33292=>array(76,-55,909,831),33293=>array(46,-65,958,856),33294=>array(46,-65,958,856),33295=>array(61,-57,879,831),33296=>array(43,-62,948,828),33297=>array(58,-67,956,829),33298=>array(45,-64,945,848),33299=>array(40,-53,931,818),33300=>array(55,-63,971,789),33301=>array(57,-75,961,824),33302=>array(36,-56,947,851),33303=>array(39,-58,955,843),33304=>array(31,-65,933,851),33305=>array(45,-63,965,846),33306=>array(50,-65,949,855),33307=>array(44,-72,942,837),33308=>array(41,-70,943,842),33309=>array(63,-68,937,841),33310=>array(47,-76,949,852),33311=>array(71,-69,936,839),33312=>array(47,-79,902,826),33313=>array(43,-66,947,837),33314=>array(67,-68,921,845),33315=>array(42,-71,943,821),33316=>array(53,-68,975,845),33317=>array(54,-71,963,853),33318=>array(42,-60,981,860),33319=>array(53,-68,948,848),33320=>array(34,-67,978,855),33321=>array(46,-68,958,835),33322=>array(37,-56,960,849),33323=>array(59,-63,945,849),33324=>array(44,-70,963,833),33325=>array(35,-70,935,822),33326=>array(39,-69,931,834),33327=>array(44,-61,910,856),33328=>array(41,-68,932,838),33329=>array(36,-66,944,833),33330=>array(39,-70,986,860),33331=>array(74,-64,915,839),33332=>array(51,-70,962,846),33333=>array(39,-54,951,849),33334=>array(40,-68,896,851),33335=>array(34,-65,963,849),33336=>array(54,-54,956,849),33337=>array(41,-67,957,849),33338=>array(41,-61,906,856),33339=>array(29,-66,924,828),33340=>array(44,-73,965,835),33341=>array(52,-70,972,840),33342=>array(36,-75,924,825),33343=>array(53,-68,973,839),33344=>array(74,-60,964,849),33345=>array(44,-68,975,845),33346=>array(34,-73,965,841),33347=>array(39,-70,978,843),33348=>array(49,-68,951,846),33349=>array(38,-70,966,840),33350=>array(35,-68,976,845),33351=>array(34,-61,965,849),33352=>array(32,-68,972,845),33353=>array(36,-73,962,836),33354=>array(53,-68,930,845),33355=>array(52,-68,971,839),33356=>array(23,-51,974,846),33357=>array(29,-73,963,845),33358=>array(34,-67,954,839),33359=>array(37,-64,954,856),33360=>array(36,-75,977,840),33361=>array(37,-68,915,838),33362=>array(52,-56,912,850),33363=>array(54,-71,980,828),33364=>array(26,-71,986,849),33365=>array(37,-67,938,847),33366=>array(39,-75,957,843),33367=>array(36,-72,959,845),33368=>array(49,-64,964,854),33369=>array(64,-63,991,863),33370=>array(49,-79,950,829),33371=>array(43,-80,956,833),33372=>array(36,-73,950,831),33373=>array(54,-54,966,849),33374=>array(44,-74,971,834),33375=>array(29,-54,963,849),33376=>array(20,-68,980,845),33377=>array(41,-73,923,836),33378=>array(44,-68,965,844),33379=>array(44,-63,967,856),33380=>array(34,-65,978,852),33381=>array(29,-71,968,850),33382=>array(34,-54,955,849),33383=>array(23,-68,970,845),33384=>array(29,-61,972,844),33385=>array(37,-72,970,845),33386=>array(44,-61,982,849),33387=>array(49,-68,973,845),33388=>array(37,-72,959,840),33389=>array(35,-62,970,858),33390=>array(112,-56,974,796),33391=>array(85,-61,963,820),33392=>array(40,-60,942,791),33393=>array(46,-68,958,827),33394=>array(46,-17,958,838),33395=>array(54,-62,938,828),33396=>array(53,-72,969,842),33397=>array(50,-73,961,831),33398=>array(48,-66,960,832),33399=>array(54,-66,960,832),33400=>array(47,-69,912,827),33401=>array(62,310,913,613),33402=>array(69,-29,919,820),33403=>array(64,-66,943,826),33404=>array(66,-64,939,826),33405=>array(42,-68,974,832),33406=>array(62,-60,946,825),33407=>array(60,-64,935,830),33408=>array(64,-66,943,826),33409=>array(56,-67,945,826),33410=>array(61,-57,911,831),33411=>array(47,-52,961,843),33412=>array(41,-69,969,832),33413=>array(61,-63,950,833),33414=>array(63,-67,946,836),33415=>array(81,-69,931,836),33416=>array(63,-69,940,831),33417=>array(65,-85,938,831),33418=>array(59,-71,951,822),33419=>array(65,-62,938,831),33420=>array(64,-61,932,831),33421=>array(67,-62,929,831),33422=>array(68,-61,936,833),33423=>array(53,-23,949,822),33424=>array(78,-71,948,823),33425=>array(60,-28,951,826),33426=>array(66,-20,936,823),33427=>array(71,-66,947,826),33428=>array(50,-68,915,838),33429=>array(62,-66,912,823),33430=>array(60,-66,936,823),33431=>array(62,-70,912,823),33432=>array(70,-80,959,818),33433=>array(65,-65,955,834),33434=>array(64,-46,950,832),33435=>array(66,-73,957,820),33436=>array(52,-58,929,832),33437=>array(55,-74,967,824),33438=>array(54,-72,962,826),33439=>array(36,-62,976,833),33440=>array(46,-71,971,831),33441=>array(62,-70,939,830),33442=>array(44,-67,956,823),33443=>array(38,-70,935,819),33444=>array(47,-64,967,829),33445=>array(57,-68,961,836),33446=>array(45,-75,937,827),33447=>array(71,-51,943,837),33448=>array(49,-65,970,833),33449=>array(38,-80,971,840),33450=>array(80,-64,956,836),33451=>array(34,-58,971,832),33452=>array(39,-60,957,837),33453=>array(78,-35,936,822),33454=>array(73,-63,927,825),33455=>array(33,-19,951,837),33456=>array(47,-62,974,833),33457=>array(49,-69,934,826),33458=>array(29,-44,951,823),33459=>array(52,-63,933,838),33460=>array(58,-77,941,822),33461=>array(49,-69,972,826),33462=>array(53,-69,944,833),33463=>array(82,-20,935,829),33464=>array(68,-71,940,824),33465=>array(58,-67,933,829),33466=>array(55,-84,979,820),33467=>array(59,-67,912,838),33468=>array(72,-38,951,839),33469=>array(57,-57,943,838),33470=>array(60,-61,954,832),33471=>array(48,-52,913,827),33472=>array(52,-73,964,823),33473=>array(44,-68,941,827),33474=>array(56,-75,968,827),33475=>array(47,-76,980,818),33476=>array(63,-75,937,822),33477=>array(44,-71,916,818),33478=>array(44,-55,913,828),33479=>array(63,-65,913,828),33480=>array(53,-68,912,824),33481=>array(67,-51,918,823),33482=>array(49,-84,928,816),33483=>array(59,-64,931,820),33484=>array(63,-67,942,826),33485=>array(29,-44,951,823),33486=>array(65,9,916,824),33487=>array(61,-68,936,822),33488=>array(62,-62,924,837),33489=>array(60,-66,948,828),33490=>array(57,-68,949,833),33491=>array(42,-67,965,832),33492=>array(71,-65,941,832),33493=>array(62,-66,938,827),33494=>array(72,-71,944,822),33495=>array(69,-68,940,830),33496=>array(63,-78,933,820),33497=>array(51,-14,947,840),33498=>array(70,-73,944,833),33499=>array(66,-63,949,833),33500=>array(68,-65,938,834),33501=>array(68,-54,964,834),33502=>array(44,-45,946,820),33503=>array(48,-62,934,837),33504=>array(69,-70,962,824),33505=>array(74,-67,978,833),33506=>array(79,-70,931,834),33507=>array(79,-80,931,834),33508=>array(57,-11,951,833),33509=>array(72,-65,931,827),33510=>array(80,-67,912,832),33511=>array(67,-61,936,830),33512=>array(55,-67,960,829),33513=>array(79,-65,933,827),33514=>array(66,-62,956,830),33515=>array(79,-66,933,827),33516=>array(68,-70,941,823),33517=>array(77,-67,950,832),33518=>array(45,-67,934,830),33519=>array(58,-71,959,829),33520=>array(69,-68,953,826),33521=>array(50,-71,935,823),33522=>array(48,-64,948,829),33523=>array(48,-61,959,836),33524=>array(60,-14,957,830),33525=>array(47,-71,968,825),33526=>array(40,-70,975,823),33527=>array(51,-71,945,822),33528=>array(68,-66,938,827),33529=>array(55,-64,949,827),33530=>array(53,-52,948,833),33531=>array(43,-65,950,830),33532=>array(59,-36,938,827),33533=>array(49,-62,956,827),33534=>array(56,-50,956,839),33535=>array(50,-61,958,836),33536=>array(48,-66,949,832),33537=>array(80,-64,939,838),33538=>array(61,-70,943,828),33539=>array(46,-69,948,811),33540=>array(57,-68,943,836),33541=>array(51,-64,934,838),33542=>array(40,-59,944,836),33543=>array(48,-65,959,830),33544=>array(59,-41,964,830),33545=>array(50,-61,958,836),33546=>array(66,-29,932,836),33547=>array(80,-64,955,836),33548=>array(39,-66,954,831),33549=>array(55,-67,947,828),33550=>array(46,-32,963,831),33551=>array(33,-66,923,827),33552=>array(27,-57,916,826),33553=>array(58,-60,916,826),33554=>array(66,-70,944,825),33555=>array(68,-59,926,826),33556=>array(75,-7,926,826),33557=>array(62,-66,957,826),33558=>array(55,-73,966,821),33559=>array(61,-66,939,829),33560=>array(42,-66,943,835),33561=>array(66,-68,956,829),33562=>array(61,-72,925,822),33563=>array(63,-60,956,833),33564=>array(60,-64,946,832),33565=>array(69,-39,944,811),33566=>array(68,-40,943,811),33567=>array(77,-64,934,842),33568=>array(41,-68,966,826),33569=>array(53,-64,948,831),33570=>array(61,-53,942,841),33571=>array(46,-66,950,828),33572=>array(87,-76,960,826),33573=>array(59,-26,956,820),33574=>array(53,-68,970,824),33575=>array(54,-67,960,817),33576=>array(54,-65,947,834),33577=>array(47,-70,953,825),33578=>array(49,-76,962,822),33579=>array(61,-46,941,830),33580=>array(59,-58,949,838),33581=>array(56,-66,964,833),33582=>array(62,-70,938,826),33583=>array(53,-66,972,835),33584=>array(72,-66,959,835),33585=>array(38,-64,979,834),33586=>array(85,-60,935,838),33587=>array(56,-62,948,830),33588=>array(66,-65,939,834),33589=>array(72,-61,940,838),33590=>array(41,-67,968,831),33591=>array(44,-72,958,819),33592=>array(61,-63,954,840),33593=>array(53,-68,945,834),33594=>array(21,-31,946,859),33595=>array(57,-68,906,827),33596=>array(66,-64,939,833),33597=>array(42,-74,933,834),33598=>array(65,-69,957,827),33599=>array(46,-67,973,829),33600=>array(45,-58,938,833),33601=>array(65,-25,957,817),33602=>array(42,-68,978,823),33603=>array(51,-26,955,832),33604=>array(55,-53,950,839),33605=>array(59,-62,974,831),33606=>array(33,-62,888,834),33607=>array(60,-54,962,843),33608=>array(54,-71,951,825),33609=>array(59,-68,950,833),33610=>array(69,-74,933,827),33611=>array(68,-69,945,820),33612=>array(62,-73,949,823),33613=>array(69,-70,958,829),33614=>array(74,-30,964,811),33615=>array(29,-69,942,834),33616=>array(31,-53,950,844),33617=>array(55,-63,980,831),33618=>array(41,-56,955,837),33619=>array(65,-69,957,828),33620=>array(42,-66,943,833),33621=>array(48,-65,943,835),33622=>array(53,-30,959,837),33623=>array(61,-70,943,828),33624=>array(43,-65,941,827),33625=>array(57,-50,947,831),33626=>array(26,-60,941,831),33627=>array(59,-65,931,826),33628=>array(63,-68,923,823),33629=>array(30,-66,916,825),33630=>array(35,-71,950,825),33631=>array(35,-56,938,824),33632=>array(25,-70,949,827),33633=>array(34,-64,905,827),33634=>array(65,-62,939,830),33635=>array(42,-71,941,817),33636=>array(53,-57,910,833),33637=>array(37,-60,944,831),33638=>array(56,-63,928,831),33639=>array(67,-74,922,822),33640=>array(64,-66,915,825),33641=>array(37,-71,952,826),33642=>array(44,-66,936,824),33643=>array(78,-69,926,826),33644=>array(35,-66,915,827),33645=>array(36,-16,925,821),33646=>array(45,-68,921,824),33647=>array(56,-68,917,822),33648=>array(48,-69,945,826),33649=>array(73,-63,928,821),33650=>array(56,-32,951,821),33651=>array(59,-34,954,805),33652=>array(45,-76,974,829),33653=>array(63,-32,971,823),33654=>array(71,-79,958,825),33655=>array(42,-74,945,834),33656=>array(53,-64,948,832),33657=>array(57,-58,935,831),33658=>array(49,-62,937,823),33659=>array(35,-65,964,831),33660=>array(49,-65,956,831),33661=>array(48,-72,954,832),33662=>array(51,-70,954,821),33663=>array(41,-62,959,827),33664=>array(45,-67,968,821),33665=>array(69,-16,943,826),33666=>array(62,-70,916,821),33667=>array(48,-70,947,827),33668=>array(51,-66,938,821),33669=>array(26,-74,947,822),33670=>array(62,-65,955,835),33671=>array(57,-75,938,824),33672=>array(54,-76,956,821),33673=>array(46,-59,933,839),33674=>array(46,-69,943,822),33675=>array(50,-70,947,824),33676=>array(42,-63,956,822),33677=>array(55,-69,944,820),33678=>array(42,-67,947,832),33679=>array(47,-70,959,824),33680=>array(56,-66,960,818),33681=>array(39,-64,980,832),33682=>array(66,-70,938,833),33683=>array(60,-62,947,833),33684=>array(66,-65,939,820),33685=>array(54,-69,972,829),33686=>array(76,-18,949,836),33687=>array(69,-63,951,836),33688=>array(53,-67,947,832),33689=>array(45,-63,953,832),33690=>array(40,-73,949,825),33691=>array(36,-69,959,826),33692=>array(20,-82,968,828),33693=>array(60,-17,955,838),33694=>array(47,-58,961,830),33695=>array(37,-79,966,831),33696=>array(42,-67,956,831),33697=>array(55,-73,970,831),33698=>array(57,-65,964,834),33699=>array(47,-24,957,832),33700=>array(66,-67,940,827),33701=>array(46,-65,943,824),33702=>array(76,-64,949,824),33703=>array(46,-62,950,832),33704=>array(61,-61,950,835),33705=>array(53,-64,948,835),33706=>array(69,-65,948,831),33707=>array(65,-72,962,823),33708=>array(43,-64,953,834),33709=>array(61,-65,912,829),33710=>array(50,-73,939,827),33711=>array(47,-67,969,824),33712=>array(54,-74,969,823),33713=>array(32,-61,948,829),33714=>array(36,-59,947,809),33715=>array(62,-64,920,826),33716=>array(62,-63,912,827),33717=>array(43,-59,956,832),33718=>array(35,-19,962,823),33719=>array(32,-63,940,830),33720=>array(35,-66,925,827),33721=>array(65,-19,924,825),33722=>array(62,-62,912,824),33723=>array(42,-64,919,818),33724=>array(50,-27,928,824),33725=>array(40,-65,971,837),33726=>array(36,-71,980,829),33727=>array(63,-65,947,827),33728=>array(51,-68,966,830),33729=>array(71,-65,939,833),33730=>array(85,-63,937,823),33731=>array(47,-73,945,823),33732=>array(41,-70,976,824),33733=>array(63,-68,937,835),33734=>array(58,-74,968,828),33735=>array(52,-61,954,839),33736=>array(72,-67,951,824),33737=>array(65,-52,935,840),33738=>array(41,-63,932,836),33739=>array(77,-69,963,826),33740=>array(70,-61,938,838),33741=>array(38,-44,957,833),33742=>array(80,-34,955,823),33743=>array(60,-62,954,832),33744=>array(88,-64,924,835),33745=>array(72,-62,940,832),33746=>array(49,-70,961,844),33747=>array(45,-68,962,822),33748=>array(46,-70,969,832),33749=>array(40,-61,974,829),33750=>array(71,-59,943,844),33751=>array(64,-70,936,826),33752=>array(25,-66,967,832),33753=>array(69,-29,947,827),33754=>array(67,-60,964,821),33755=>array(86,-73,938,820),33756=>array(48,-65,971,837),33757=>array(63,-74,973,824),33758=>array(59,-69,949,826),33759=>array(50,-57,960,834),33760=>array(61,-62,960,836),33761=>array(68,-65,961,832),33762=>array(60,-72,960,820),33763=>array(79,-74,961,820),33764=>array(42,-39,979,818),33765=>array(44,-64,957,832),33766=>array(60,-70,944,831),33767=>array(50,-69,955,832),33768=>array(69,-75,942,827),33769=>array(72,-59,934,837),33770=>array(62,-65,939,830),33771=>array(64,-38,960,812),33772=>array(68,-73,937,823),33773=>array(39,-67,961,833),33774=>array(45,-70,969,829),33775=>array(56,-78,941,838),33776=>array(43,-65,961,833),33777=>array(46,-65,954,831),33778=>array(61,-65,934,841),33779=>array(54,-39,980,815),33780=>array(35,-42,968,816),33781=>array(95,-65,945,824),33782=>array(40,-70,967,835),33783=>array(73,-68,923,826),33784=>array(44,-66,973,832),33785=>array(56,-39,954,832),33786=>array(62,-68,947,829),33787=>array(48,-69,966,822),33788=>array(48,-62,970,835),33789=>array(39,-73,966,832),33790=>array(47,-72,968,831),33791=>array(69,-70,944,825),33792=>array(43,-73,953,826),33793=>array(62,-69,958,836),33794=>array(46,-59,933,839),33795=>array(76,-59,949,836),33796=>array(43,-63,939,826),33797=>array(60,-67,957,838),33798=>array(59,-52,949,841),33799=>array(61,-67,971,827),33800=>array(46,-62,950,832),33801=>array(42,-67,960,826),33802=>array(35,-62,973,833),33803=>array(54,-70,947,833),33804=>array(61,-68,935,839),33805=>array(54,-63,949,838),33806=>array(53,-73,934,834),33807=>array(77,-62,947,833),33808=>array(42,-69,976,826),33809=>array(36,-67,952,833),33810=>array(53,-60,963,820),33811=>array(67,-38,961,811),33812=>array(47,-44,935,838),33813=>array(44,-76,956,828),33814=>array(77,-62,937,815),33815=>array(67,-63,927,819),33816=>array(50,-68,965,830),33817=>array(25,-66,964,832),33818=>array(38,-69,952,826),33819=>array(58,-70,947,825),33820=>array(52,-77,933,822),33821=>array(65,-58,917,829),33822=>array(79,-58,958,826),33823=>array(36,-68,952,824),33824=>array(59,-74,939,820),33825=>array(50,-65,939,826),33826=>array(51,-30,978,835),33827=>array(49,-73,973,823),33828=>array(63,-70,916,818),33829=>array(66,-71,916,819),33830=>array(54,-60,908,830),33831=>array(54,-62,930,831),33832=>array(74,-67,931,828),33833=>array(40,-64,985,833),33834=>array(41,-69,955,839),33835=>array(42,-70,956,825),33836=>array(77,-68,946,834),33837=>array(73,-61,936,831),33838=>array(46,-71,968,827),33839=>array(50,-81,943,829),33840=>array(46,-71,968,825),33841=>array(52,-24,948,832),33842=>array(59,-70,947,828),33843=>array(71,-66,943,824),33844=>array(46,-76,942,827),33845=>array(70,-67,942,833),33846=>array(43,-73,974,821),33847=>array(67,-68,941,823),33848=>array(31,-64,979,830),33849=>array(47,-66,941,831),33850=>array(70,-69,945,831),33851=>array(69,-69,944,825),33852=>array(77,-62,932,839),33853=>array(56,-68,970,835),33854=>array(59,-57,951,829),33855=>array(53,-72,956,823),33856=>array(55,-68,955,825),33857=>array(67,-57,950,821),33858=>array(34,-63,954,828),33859=>array(71,-68,944,829),33860=>array(53,-67,945,826),33861=>array(46,-32,954,824),33862=>array(35,-68,965,832),33863=>array(46,-61,973,832),33864=>array(48,-55,962,832),33865=>array(49,-70,965,839),33866=>array(45,-64,972,849),33867=>array(42,-67,948,830),33868=>array(46,-71,939,822),33869=>array(71,-70,947,823),33870=>array(32,-70,949,829),33871=>array(52,-67,959,829),33872=>array(55,-29,973,828),33873=>array(53,-58,958,832),33874=>array(61,-49,956,832),33875=>array(67,-69,957,826),33876=>array(51,-71,969,827),33877=>array(41,-69,953,845),33878=>array(47,-61,984,832),33879=>array(43,-64,941,826),33880=>array(63,-62,923,833),33881=>array(45,-69,943,826),33882=>array(51,-32,945,833),33883=>array(62,-61,942,837),33884=>array(34,-67,974,825),33885=>array(61,-67,943,823),33886=>array(68,-73,952,823),33887=>array(83,-27,955,826),33888=>array(32,-53,951,841),33889=>array(41,-64,948,830),33890=>array(34,-20,966,831),33891=>array(76,-27,947,839),33892=>array(61,-58,958,832),33893=>array(77,-68,951,829),33894=>array(63,-59,945,839),33895=>array(82,-65,953,825),33896=>array(69,-67,973,826),33897=>array(62,-51,953,828),33898=>array(61,-75,955,843),33899=>array(69,-61,940,840),33900=>array(45,-62,939,838),33901=>array(60,-67,967,833),33902=>array(43,-72,966,826),33903=>array(57,-66,942,823),33904=>array(41,-71,979,824),33905=>array(49,-37,962,834),33906=>array(42,-70,933,833),33907=>array(39,-64,966,833),33908=>array(55,-66,955,828),33909=>array(66,-60,951,835),33910=>array(74,-54,942,829),33911=>array(74,-64,946,842),33912=>array(46,-29,968,829),33913=>array(42,-56,963,842),33914=>array(51,-64,942,830),33915=>array(24,-66,962,830),33916=>array(69,-65,969,838),33917=>array(69,-70,944,827),33918=>array(59,-36,967,827),33919=>array(69,-70,944,838),33920=>array(59,-21,955,831),33921=>array(36,-39,959,831),33922=>array(72,-67,925,842),33923=>array(72,-60,961,838),33924=>array(51,-67,957,838),33925=>array(51,-68,956,838),33926=>array(68,-81,941,826),33927=>array(20,-69,952,833),33928=>array(60,-67,914,824),33929=>array(60,-69,914,828),33930=>array(60,-58,950,828),33931=>array(41,-59,943,833),33932=>array(25,-60,939,833),33933=>array(39,-69,948,826),33934=>array(49,-71,969,832),33935=>array(61,-71,939,827),33936=>array(47,-52,963,839),33937=>array(54,-81,968,822),33938=>array(69,-64,959,832),33939=>array(51,-62,956,832),33940=>array(70,-61,946,833),33941=>array(52,-37,948,840),33942=>array(70,-89,942,830),33943=>array(48,-64,974,830),33944=>array(62,-69,955,825),33945=>array(53,-75,959,839),33946=>array(83,-66,938,826),33947=>array(42,-74,953,826),33948=>array(37,-59,946,835),33949=>array(42,-68,939,826),33950=>array(53,-65,953,831),33951=>array(53,-66,956,830),33952=>array(52,-29,953,825),33953=>array(66,-64,945,834),33954=>array(76,-68,974,825),33955=>array(46,-69,950,826),33956=>array(56,-72,950,826),33957=>array(77,-76,928,835),33958=>array(38,-69,974,835),33959=>array(51,-73,966,824),33960=>array(23,-53,956,841),33961=>array(52,-68,962,825),33962=>array(60,-70,942,835),33963=>array(37,-47,956,854),33964=>array(43,-60,956,829),33965=>array(65,-71,931,845),33966=>array(29,-70,937,822),33967=>array(56,-70,923,835),33968=>array(50,-79,964,827),33969=>array(48,-55,947,840),33970=>array(46,-61,946,839),33971=>array(65,-75,927,839),33972=>array(41,-69,942,833),33973=>array(54,-59,960,833),33974=>array(45,-72,946,823),33975=>array(66,-64,944,833),33976=>array(47,-73,953,824),33977=>array(31,-64,972,835),33978=>array(50,-69,961,833),33979=>array(40,-60,960,833),33980=>array(43,-62,972,836),33981=>array(36,-39,950,823),33982=>array(49,-52,946,839),33983=>array(68,-68,941,833),33984=>array(44,-64,955,835),33985=>array(36,-69,964,829),33986=>array(53,-65,947,830),33987=>array(51,-67,957,833),33988=>array(51,-66,940,838),33989=>array(48,-72,960,823),33990=>array(43,-71,954,824),33991=>array(54,-64,949,831),33992=>array(70,-65,924,833),33993=>array(46,-66,954,839),33994=>array(35,-62,957,832),33995=>array(59,-21,955,834),33996=>array(48,-74,973,825),33997=>array(53,-67,943,831),33998=>array(46,-75,938,826),33999=>array(59,-74,968,826),34000=>array(52,-67,939,830),34001=>array(44,-71,956,835),34002=>array(63,-72,956,825),34003=>array(48,-62,957,840),34004=>array(62,-71,955,826),34005=>array(48,-57,959,830),34006=>array(67,-58,941,837),34007=>array(51,-68,978,829),34008=>array(46,-78,959,824),34009=>array(57,-66,937,833),34010=>array(33,-76,982,830),34011=>array(38,-73,973,827),34012=>array(60,-67,950,830),34013=>array(54,-23,924,821),34014=>array(62,-67,914,821),34015=>array(26,-62,908,832),34016=>array(62,-63,914,827),34017=>array(44,-67,966,832),34018=>array(62,-75,938,830),34019=>array(61,-63,924,829),34020=>array(38,-76,974,825),34021=>array(29,-6,954,827),34022=>array(38,-56,947,826),34023=>array(36,-52,961,839),34024=>array(42,-67,963,828),34025=>array(35,-71,950,825),34026=>array(50,-73,972,824),34027=>array(43,-72,970,822),34028=>array(35,-62,952,833),34029=>array(38,-59,965,827),34030=>array(37,-56,951,839),34031=>array(33,-69,962,832),34032=>array(51,-68,978,829),34033=>array(56,-73,957,820),34034=>array(65,-32,953,823),34035=>array(66,-32,943,824),34036=>array(64,-63,957,825),34037=>array(40,-75,963,827),34038=>array(69,-70,956,823),34039=>array(67,-68,961,823),34040=>array(61,-74,939,851),34041=>array(45,-67,947,829),34042=>array(40,-55,961,833),34043=>array(54,-47,967,844),34044=>array(26,-76,972,829),34045=>array(56,-65,948,832),34046=>array(73,-70,944,823),34047=>array(33,-67,948,834),34048=>array(61,-65,944,827),34049=>array(67,-68,946,831),34050=>array(68,-69,944,827),34051=>array(74,-58,947,839),34052=>array(71,-65,944,822),34053=>array(63,-57,936,838),34054=>array(49,-76,974,825),34055=>array(69,-70,951,826),34056=>array(62,-65,941,824),34057=>array(44,-68,965,827),34058=>array(51,-66,960,832),34059=>array(47,-70,964,828),34060=>array(45,-67,985,832),34061=>array(49,-69,958,823),34062=>array(66,-73,972,825),34063=>array(66,-70,938,822),34064=>array(39,-73,928,838),34065=>array(48,-70,956,835),34066=>array(47,-73,964,824),34067=>array(59,-61,966,835),34068=>array(57,-68,943,825),34069=>array(74,-71,943,817),34070=>array(28,-68,952,824),34071=>array(52,-67,951,838),34072=>array(31,-70,981,825),34073=>array(39,-72,975,823),34074=>array(51,-68,948,836),34075=>array(40,-66,959,828),34076=>array(41,-73,963,827),34077=>array(75,-68,975,825),34078=>array(56,-73,959,832),34079=>array(36,-75,966,820),34080=>array(53,-70,963,826),34081=>array(63,-64,963,839),34082=>array(64,-68,944,838),34083=>array(49,-59,948,835),34084=>array(57,-70,944,826),34085=>array(56,-30,955,835),34086=>array(53,-67,940,835),34087=>array(55,-23,950,820),34088=>array(79,-71,951,823),34089=>array(66,-73,941,824),34090=>array(58,-69,952,829),34091=>array(42,-64,951,832),34092=>array(54,-71,966,835),34093=>array(76,-78,967,834),34094=>array(78,-69,948,822),34095=>array(57,-53,964,841),34096=>array(36,-69,960,824),34097=>array(73,-83,967,824),34098=>array(32,-67,960,824),34099=>array(45,-59,944,841),34100=>array(44,-73,937,840),34101=>array(31,-67,962,832),34102=>array(65,-65,964,829),34103=>array(73,-73,925,817),34104=>array(24,-81,949,822),34105=>array(41,-73,949,822),34106=>array(63,-66,911,827),34107=>array(42,-72,956,832),34108=>array(65,-60,928,834),34109=>array(69,-70,961,834),34110=>array(39,-59,973,835),34111=>array(33,-59,937,832),34112=>array(32,-72,979,829),34113=>array(56,-62,948,833),34114=>array(41,-76,957,833),34115=>array(36,-69,957,831),34116=>array(71,-65,944,823),34117=>array(42,-69,944,826),34118=>array(31,-67,962,833),34119=>array(69,-68,946,823),34120=>array(54,-69,948,830),34121=>array(42,-61,938,837),34122=>array(38,-54,962,817),34123=>array(24,-64,944,830),34124=>array(76,-77,944,818),34125=>array(41,-72,975,823),34126=>array(50,-65,963,832),34127=>array(76,-73,955,826),34128=>array(60,-78,943,829),34129=>array(63,-57,936,839),34130=>array(48,-69,945,838),34131=>array(53,-77,947,835),34132=>array(58,-68,956,829),34133=>array(55,-60,955,836),34134=>array(42,-68,983,829),34135=>array(39,-71,980,835),34136=>array(33,-59,962,835),34137=>array(38,-33,964,833),34138=>array(58,-70,945,842),34139=>array(37,-67,938,827),34140=>array(62,-65,958,833),34141=>array(56,-48,962,842),34142=>array(51,-62,985,830),34143=>array(58,-53,973,831),34144=>array(45,-68,959,831),34145=>array(61,-76,939,840),34146=>array(65,-70,955,832),34147=>array(68,-74,941,831),34148=>array(64,-56,949,832),34149=>array(32,-69,952,826),34150=>array(43,-76,972,823),34151=>array(43,-75,977,833),34152=>array(38,-67,968,832),34153=>array(67,-67,956,836),34154=>array(59,-67,956,833),34155=>array(64,-46,936,842),34156=>array(52,-69,971,823),34157=>array(51,-74,947,840),34158=>array(47,-62,938,826),34159=>array(54,-56,941,829),34160=>array(67,-76,957,834),34161=>array(35,-65,938,826),34162=>array(62,-69,913,821),34163=>array(68,-73,938,832),34164=>array(41,-29,923,825),34165=>array(44,-85,981,831),34166=>array(42,-81,983,827),34167=>array(67,-68,975,829),34168=>array(48,-74,968,821),34169=>array(44,-62,951,835),34170=>array(62,-65,968,831),34171=>array(67,-68,972,831),34172=>array(60,-70,952,826),34173=>array(48,-58,952,848),34174=>array(73,-61,941,836),34175=>array(42,-85,957,833),34176=>array(54,-48,956,846),34177=>array(45,-74,958,830),34178=>array(41,-78,960,823),34179=>array(65,-72,926,822),34180=>array(53,-68,949,832),34181=>array(41,-65,957,823),34182=>array(48,-69,973,828),34183=>array(36,-77,958,834),34184=>array(27,-65,977,833),34185=>array(41,-71,960,824),34186=>array(46,-64,941,832),34187=>array(78,-81,933,826),34188=>array(47,-65,944,833),34189=>array(79,-66,964,828),34190=>array(62,-71,964,824),34191=>array(33,-50,967,834),34192=>array(27,-54,976,838),34193=>array(58,-41,948,806),34194=>array(42,-63,983,834),34195=>array(37,-60,953,826),34196=>array(60,-61,956,834),34197=>array(40,-67,971,824),34198=>array(48,-74,970,823),34199=>array(64,-63,936,830),34200=>array(47,-66,975,831),34201=>array(44,-68,949,836),34202=>array(51,-68,953,826),34203=>array(69,-61,941,838),34204=>array(42,-65,944,827),34205=>array(54,-70,939,823),34206=>array(40,-70,966,829),34207=>array(34,-50,966,841),34208=>array(51,-76,959,827),34209=>array(49,-74,934,820),34210=>array(40,-75,964,829),34211=>array(64,-75,966,823),34212=>array(50,-67,945,831),34213=>array(62,-58,935,831),34214=>array(37,-67,945,834),34215=>array(61,-65,953,827),34216=>array(50,-63,955,829),34217=>array(72,-65,939,832),34218=>array(51,-70,955,849),34219=>array(47,-70,957,830),34220=>array(49,-70,961,841),34221=>array(51,-78,969,828),34222=>array(52,-68,961,820),34223=>array(46,-61,945,835),34224=>array(47,-70,957,830),34225=>array(56,-69,957,828),34226=>array(44,-75,974,836),34227=>array(53,-67,967,828),34228=>array(63,-61,959,832),34229=>array(64,-70,941,826),34230=>array(51,-64,962,826),34231=>array(62,-67,952,833),34232=>array(58,-62,961,831),34233=>array(53,-57,941,831),34234=>array(49,-69,956,833),34235=>array(48,-89,961,832),34236=>array(58,-65,951,840),34237=>array(51,-74,956,823),34238=>array(43,-66,974,823),34239=>array(52,-68,971,827),34240=>array(56,-69,977,827),34241=>array(32,-67,968,842),34242=>array(38,-68,958,825),34243=>array(60,-74,955,828),34244=>array(36,-68,968,828),34245=>array(74,-62,946,833),34246=>array(43,-65,969,829),34247=>array(63,-54,941,839),34248=>array(59,-65,954,832),34249=>array(29,-67,952,832),34250=>array(32,-57,944,831),34251=>array(53,-64,956,829),34252=>array(74,-56,945,832),34253=>array(56,-34,949,839),34254=>array(55,-38,951,842),34255=>array(34,-71,942,824),34256=>array(57,-70,960,834),34257=>array(60,-68,961,833),34258=>array(51,-70,947,828),34259=>array(39,-64,922,826),34260=>array(41,-64,970,834),34261=>array(40,-67,937,833),34262=>array(67,-58,944,833),34263=>array(52,-71,986,824),34264=>array(55,-69,958,818),34265=>array(65,-72,971,826),34266=>array(83,-80,938,828),34267=>array(67,-56,937,821),34268=>array(47,-65,953,831),34269=>array(62,-72,954,836),34270=>array(41,-63,951,830),34271=>array(73,-68,936,825),34272=>array(47,-77,973,824),34273=>array(45,-73,982,827),34274=>array(53,-68,975,827),34275=>array(69,-65,939,827),34276=>array(39,-67,959,836),34277=>array(55,-62,930,826),34278=>array(45,-65,935,829),34279=>array(50,-58,964,824),34280=>array(44,-75,945,829),34281=>array(40,-62,960,836),34282=>array(45,-71,967,830),34283=>array(51,-73,950,836),34284=>array(74,-80,943,832),34285=>array(51,-64,948,835),34286=>array(38,-69,969,845),34287=>array(52,-46,974,822),34288=>array(62,-65,924,829),34289=>array(39,-64,959,826),34290=>array(42,-65,956,826),34291=>array(32,-67,968,828),34292=>array(53,-63,956,818),34293=>array(56,-65,942,845),34294=>array(33,-65,954,832),34295=>array(62,-69,955,826),34296=>array(55,-70,962,827),34297=>array(72,-61,929,839),34298=>array(57,-65,949,832),34299=>array(49,-65,971,839),34300=>array(44,-58,955,836),34301=>array(49,-62,966,833),34302=>array(44,-76,974,830),34303=>array(43,-68,929,837),34304=>array(54,-61,958,838),34305=>array(65,-32,945,823),34306=>array(43,-62,975,837),34307=>array(53,-62,946,838),34308=>array(48,-67,940,832),34309=>array(41,-67,953,832),34310=>array(59,-66,961,836),34311=>array(56,-67,948,827),34312=>array(61,-68,960,833),34313=>array(46,-64,957,855),34314=>array(53,-71,956,818),34315=>array(47,-68,960,837),34316=>array(51,-59,960,833),34317=>array(74,-58,947,832),34318=>array(76,-75,981,842),34319=>array(42,-67,958,832),34320=>array(62,-73,964,840),34321=>array(55,-66,960,838),34322=>array(43,-68,964,832),34323=>array(67,-76,966,830),34324=>array(42,-61,972,832),34325=>array(50,-81,955,832),34326=>array(50,-62,965,838),34327=>array(41,-62,965,837),34328=>array(56,-63,978,829),34329=>array(63,-70,947,831),34330=>array(43,-67,950,830),34331=>array(57,-62,945,830),34332=>array(69,-68,946,825),34333=>array(37,-57,968,832),34334=>array(45,-69,987,835),34335=>array(63,-56,956,823),34336=>array(59,-72,947,824),34337=>array(73,-72,950,827),34338=>array(56,-65,961,833),34339=>array(55,-75,960,830),34340=>array(59,-70,935,828),34341=>array(48,-62,969,828),34342=>array(70,-62,942,829),34343=>array(42,-72,982,831),34344=>array(53,-59,968,829),34345=>array(59,-64,964,833),34346=>array(48,-58,983,831),34347=>array(42,-50,963,830),34348=>array(55,-69,949,822),34349=>array(72,-70,928,839),34350=>array(49,-70,946,830),34351=>array(53,-25,951,830),34352=>array(44,-61,974,830),34353=>array(34,-72,965,829),34354=>array(65,-31,945,821),34355=>array(42,-71,954,828),34356=>array(63,-48,934,844),34357=>array(49,-66,958,827),34358=>array(44,-71,969,828),34359=>array(36,-62,971,832),34360=>array(64,-63,951,836),34361=>array(39,-69,965,829),34362=>array(60,-67,951,827),34363=>array(60,-70,963,825),34364=>array(41,-67,959,829),34365=>array(40,-58,969,838),34366=>array(39,-72,984,826),34367=>array(61,-80,954,835),34368=>array(43,-33,968,823),34369=>array(32,-64,968,849),34370=>array(60,-70,965,832),34371=>array(44,-66,967,828),34372=>array(59,-71,963,837),34373=>array(32,-53,978,837),34374=>array(68,-54,936,849),34375=>array(65,-70,951,834),34376=>array(68,-74,940,832),34377=>array(68,-56,949,831),34378=>array(48,-71,961,828),34379=>array(55,-67,947,842),34380=>array(62,-43,947,830),34381=>array(47,-66,924,829),34382=>array(35,-68,953,835),34383=>array(40,-59,893,834),34384=>array(39,-63,878,840),34385=>array(39,-60,937,832),34386=>array(40,-67,963,847),34387=>array(40,-53,954,843),34388=>array(49,-66,949,835),34389=>array(39,-68,959,836),34390=>array(29,-55,931,837),34391=>array(36,-62,919,837),34392=>array(29,-58,948,837),34393=>array(44,-67,961,827),34394=>array(30,-57,914,830),34395=>array(38,-66,936,829),34396=>array(45,-77,929,841),34397=>array(23,-82,956,830),34398=>array(35,-68,950,838),34399=>array(53,-71,951,829),34400=>array(40,-58,959,840),34401=>array(46,-84,950,823),34402=>array(43,-70,960,831),34403=>array(38,-67,972,828),34404=>array(31,-68,967,827),34405=>array(42,-75,989,831),34406=>array(39,-91,965,830),34407=>array(40,-76,954,834),34408=>array(44,-77,946,823),34409=>array(36,-75,953,829),34410=>array(40,-73,973,832),34411=>array(47,-59,954,850),34412=>array(46,-41,928,809),34413=>array(53,-72,899,811),34414=>array(43,-65,961,816),34415=>array(48,-45,957,849),34416=>array(49,-67,955,815),34417=>array(65,-59,970,792),34418=>array(43,-63,962,815),34419=>array(51,-70,916,829),34420=>array(44,-35,964,827),34421=>array(47,-23,957,841),34422=>array(47,-54,962,814),34423=>array(54,-68,954,819),34424=>array(47,-62,967,814),34425=>array(28,-5,930,813),34426=>array(21,-56,962,811),34427=>array(50,-21,942,814),34428=>array(54,-30,957,831),34429=>array(76,-59,888,792),34430=>array(46,-64,944,823),34431=>array(32,-69,914,772),34432=>array(48,-51,935,832),34433=>array(39,-78,942,814),34434=>array(47,-61,909,830),34435=>array(58,-63,942,839),34436=>array(47,-58,960,836),34437=>array(43,-74,950,810),34438=>array(48,-41,961,791),34439=>array(53,-76,973,808),34440=>array(47,-67,958,814),34441=>array(21,-71,976,838),34442=>array(38,-62,956,822),34443=>array(69,-65,914,808),34444=>array(45,-61,939,842),34445=>array(36,-51,951,817),34446=>array(53,-72,914,802),34447=>array(36,-69,869,805),34448=>array(69,-56,930,840),34449=>array(45,-54,967,844),34450=>array(45,-70,967,829),34451=>array(44,-61,899,833),34452=>array(57,-69,967,823),34453=>array(51,-69,963,793),34454=>array(53,-73,960,805),34455=>array(53,-71,971,823),34456=>array(41,-72,961,827),34457=>array(51,-66,963,838),34458=>array(51,-68,953,828),34459=>array(53,-66,891,815),34460=>array(47,-61,958,824),34461=>array(44,-33,953,833),34462=>array(55,-70,966,822),34463=>array(29,-27,948,809),34464=>array(48,-90,964,825),34465=>array(52,-73,978,808),34466=>array(49,-73,958,823),34467=>array(43,-59,961,807),34468=>array(29,-78,971,784),34469=>array(51,-70,963,833),34470=>array(45,-54,954,829),34471=>array(39,-65,957,854),34472=>array(53,-66,964,830),34473=>array(50,-66,952,833),34474=>array(43,-65,958,830),34475=>array(44,-45,967,834),34476=>array(37,-65,930,809),34477=>array(37,-65,945,809),34478=>array(37,-65,956,835),34479=>array(51,-7,955,825),34480=>array(71,-64,916,830),34481=>array(54,-65,948,844),34482=>array(40,-65,943,811),34483=>array(35,-51,958,849),34484=>array(65,-69,911,839),34485=>array(47,-50,954,828),34486=>array(50,-64,953,831),34487=>array(40,-23,954,814),34488=>array(49,-73,939,818),34489=>array(58,-69,955,839),34490=>array(47,-65,951,829),34491=>array(56,-74,960,824),34492=>array(67,-66,926,844),34493=>array(65,-29,962,809),34494=>array(66,-65,951,831),34495=>array(53,-51,953,823),34496=>array(51,-6,964,851),34497=>array(55,-70,903,812),34498=>array(54,-72,967,830),34499=>array(55,-67,940,810),34500=>array(51,-64,943,830),34501=>array(54,-67,938,829),34502=>array(46,-13,954,837),34503=>array(41,-38,959,828),34504=>array(55,-76,968,826),34505=>array(34,-65,966,854),34506=>array(57,-21,910,831),34507=>array(66,-73,957,788),34508=>array(64,-70,973,819),34509=>array(83,-70,896,824),34510=>array(34,-63,906,809),34511=>array(35,-16,936,814),34512=>array(54,-56,923,843),34513=>array(56,-62,963,851),34514=>array(54,-61,982,849),34515=>array(59,-54,960,840),34516=>array(51,-64,904,837),34517=>array(51,-67,961,837),34518=>array(54,-55,964,825),34519=>array(73,-70,948,859),34520=>array(46,-64,948,835),34521=>array(55,-18,954,844),34522=>array(56,-76,918,821),34523=>array(26,-72,957,829),34524=>array(52,-67,951,840),34525=>array(47,-66,965,811),34526=>array(44,-64,947,826),34527=>array(40,-65,963,821),34528=>array(52,-67,952,841),34529=>array(63,-53,930,814),34530=>array(56,-74,953,827),34531=>array(53,-62,952,827),34532=>array(38,-65,963,841),34533=>array(54,-70,935,839),34534=>array(51,-75,961,820),34535=>array(37,-66,931,820),34536=>array(51,-70,945,807),34537=>array(57,-64,946,779),34538=>array(69,-75,944,829),34539=>array(60,-72,980,841),34540=>array(39,-67,981,827),34541=>array(45,-21,947,824),34542=>array(50,-75,949,836),34543=>array(27,-32,959,833),34544=>array(46,-67,937,825),34545=>array(36,-68,931,821),34546=>array(33,-67,934,823),34547=>array(30,-66,918,821),34548=>array(36,-68,938,840),34549=>array(57,-30,953,815),34550=>array(48,-66,948,827),34551=>array(60,-70,969,822),34552=>array(57,-68,939,832),34553=>array(54,-54,900,826),34554=>array(40,-68,963,838),34555=>array(44,-76,961,820),34556=>array(40,-67,948,835),34557=>array(58,-67,961,825),34558=>array(61,-55,970,835),34559=>array(43,-67,961,834),34560=>array(68,-65,913,776),34561=>array(53,-71,967,830),34562=>array(37,-59,965,847),34563=>array(85,-76,941,788),34564=>array(52,-75,970,815),34565=>array(69,-64,954,835),34566=>array(56,-67,958,809),34567=>array(60,-65,959,835),34568=>array(39,-66,961,809),34569=>array(42,-62,950,835),34570=>array(61,-62,918,832),34571=>array(52,-71,965,855),34572=>array(61,-32,962,826),34573=>array(43,-62,963,850),34574=>array(58,-71,915,815),34575=>array(49,-74,969,818),34576=>array(29,-68,926,833),34577=>array(42,-72,967,829),34578=>array(40,-66,967,813),34579=>array(32,-68,963,811),34580=>array(63,-58,912,828),34581=>array(36,-73,954,830),34582=>array(47,-71,904,815),34583=>array(51,-66,902,815),34584=>array(59,-57,909,847),34585=>array(41,-69,970,829),34586=>array(46,-67,939,824),34587=>array(61,-75,954,813),34588=>array(74,-70,931,833),34589=>array(26,-70,971,843),34590=>array(47,-67,962,832),34591=>array(42,-75,933,845),34592=>array(74,-71,918,813),34593=>array(41,-52,951,842),34594=>array(40,-25,953,813),34595=>array(36,-61,954,845),34596=>array(56,-80,948,823),34597=>array(55,-65,952,829),34598=>array(61,-65,968,828),34599=>array(71,-77,983,823),34600=>array(32,-60,956,839),34601=>array(48,-70,890,815),34602=>array(57,-62,917,831),34603=>array(59,-49,955,809),34604=>array(59,-73,903,814),34605=>array(64,-68,908,825),34606=>array(47,-66,957,837),34607=>array(53,-65,978,838),34608=>array(45,-76,973,790),34609=>array(49,-64,957,855),34610=>array(58,-85,954,818),34611=>array(58,-71,955,834),34612=>array(65,-64,911,815),34613=>array(56,-72,902,813),34614=>array(50,-68,974,842),34615=>array(40,-33,967,831),34616=>array(79,-89,951,778),34617=>array(31,-67,946,826),34618=>array(52,-52,959,851),34619=>array(47,-65,953,839),34620=>array(64,-68,950,832),34621=>array(39,-65,947,814),34622=>array(46,-62,965,811),34623=>array(45,-66,966,830),34624=>array(40,-51,974,842),34625=>array(90,-89,944,774),34626=>array(34,-69,976,817),34627=>array(54,-77,957,814),34628=>array(50,-67,915,825),34629=>array(57,-89,971,787),34630=>array(40,-69,952,819),34631=>array(29,-30,932,806),34632=>array(37,-68,877,810),34633=>array(41,-61,945,848),34634=>array(41,-66,968,846),34635=>array(41,-64,983,813),34636=>array(48,-65,951,832),34637=>array(51,-69,915,817),34638=>array(60,-58,919,836),34639=>array(56,-68,949,832),34640=>array(46,-70,903,814),34641=>array(42,-74,964,811),34642=>array(47,-71,948,815),34643=>array(40,-63,968,829),34644=>array(50,-72,957,824),34645=>array(38,-65,961,835),34646=>array(56,-29,956,829),34647=>array(39,-37,936,834),34648=>array(33,-30,944,818),34649=>array(46,-69,932,807),34650=>array(47,-73,970,814),34651=>array(48,-69,965,828),34652=>array(59,-75,965,836),34653=>array(34,-54,959,853),34654=>array(55,-70,908,814),34655=>array(51,-65,912,815),34656=>array(48,-65,948,812),34657=>array(53,-71,968,815),34658=>array(53,-78,956,815),34659=>array(50,-67,956,837),34660=>array(61,-66,965,852),34661=>array(49,-45,964,848),34662=>array(51,-68,980,834),34663=>array(47,-74,972,823),34664=>array(31,-64,952,809),34665=>array(50,-32,955,824),34666=>array(49,-66,951,815),34667=>array(43,-69,939,825),34668=>array(55,-77,976,825),34669=>array(61,-74,986,812),34670=>array(33,-64,967,845),34671=>array(44,-76,955,825),34672=>array(29,-45,960,831),34673=>array(45,-64,975,837),34674=>array(56,-67,942,831),34675=>array(51,-74,952,829),34676=>array(40,-71,899,833),34677=>array(50,-82,961,831),34678=>array(31,-62,972,842),34679=>array(45,-73,947,833),34680=>array(50,-57,918,826),34681=>array(54,-30,968,813),34682=>array(37,-70,920,834),34683=>array(37,-62,947,837),34684=>array(37,-63,932,813),34685=>array(50,-70,951,821),34686=>array(31,-65,949,823),34687=>array(47,-42,971,806),34688=>array(78,-74,956,837),34689=>array(42,-72,973,815),34690=>array(60,-59,957,831),34691=>array(46,-64,940,849),34692=>array(43,-62,948,843),34693=>array(40,-33,959,853),34694=>array(63,-63,966,837),34695=>array(49,-53,974,853),34696=>array(47,-71,953,810),34697=>array(53,-69,971,830),34698=>array(44,-64,977,843),34699=>array(39,-69,965,836),34700=>array(41,-80,956,858),34701=>array(64,-62,967,826),34702=>array(45,-73,955,827),34703=>array(47,-71,977,834),34704=>array(53,-72,952,830),34705=>array(40,-75,979,845),34706=>array(58,-75,976,834),34707=>array(49,-67,987,836),34708=>array(47,-73,976,836),34709=>array(50,-46,973,852),34710=>array(47,-67,941,813),34711=>array(39,-65,949,848),34712=>array(39,-18,943,838),34713=>array(31,-67,977,832),34714=>array(75,-73,954,852),34715=>array(33,-73,947,845),34716=>array(73,-71,966,826),34717=>array(45,-66,977,842),34718=>array(55,-60,936,836),34719=>array(36,-66,951,833),34720=>array(36,-26,957,840),34721=>array(36,-77,957,840),34722=>array(68,-66,934,839),34723=>array(29,-68,972,835),34724=>array(56,-71,987,842),34725=>array(17,-60,970,855),34726=>array(49,-65,969,831),34727=>array(49,-71,936,832),34728=>array(29,-65,921,825),34729=>array(26,-60,966,841),34730=>array(57,-70,939,837),34731=>array(54,-60,942,850),34732=>array(46,-62,957,836),34733=>array(46,-62,951,854),34734=>array(34,-57,945,836),34735=>array(39,-72,943,836),34736=>array(44,-59,961,835),34737=>array(63,-66,934,832),34738=>array(59,-21,951,826),34739=>array(54,-17,958,842),34740=>array(82,-79,967,823),34741=>array(49,-64,955,812),34742=>array(36,-77,965,816),34743=>array(49,-82,957,847),34744=>array(46,-76,950,829),34745=>array(56,-72,956,826),34746=>array(33,-73,961,835),34747=>array(49,-67,954,836),34748=>array(61,-32,955,822),34749=>array(45,-68,977,843),34750=>array(37,-78,959,840),34751=>array(50,-83,958,836),34752=>array(36,-65,949,819),34753=>array(57,-70,957,827),34754=>array(56,-67,965,841),34755=>array(51,-73,975,818),34756=>array(55,-65,965,834),34757=>array(56,-70,966,831),34758=>array(38,-65,966,834),34759=>array(57,-87,954,835),34760=>array(51,-64,912,809),34761=>array(40,-59,969,834),34762=>array(57,-67,957,787),34763=>array(30,-34,949,828),34764=>array(52,-31,968,832),34765=>array(34,-81,958,811),34766=>array(34,-67,947,829),34767=>array(42,-80,984,825),34768=>array(54,-64,934,839),34769=>array(59,-61,967,852),34770=>array(46,-65,956,833),34771=>array(33,-64,970,841),34772=>array(44,-71,960,815),34773=>array(54,-70,940,831),34774=>array(49,-67,954,836),34775=>array(57,-80,938,834),34776=>array(49,-68,962,844),34777=>array(43,-71,958,838),34778=>array(57,-80,961,820),34779=>array(41,-64,961,832),34780=>array(50,-68,962,838),34781=>array(48,-66,959,846),34782=>array(89,-83,954,825),34783=>array(43,-68,952,835),34784=>array(33,-66,951,835),34785=>array(56,-71,920,837),34786=>array(51,-68,957,832),34787=>array(36,-66,960,833),34788=>array(34,-73,943,806),34789=>array(53,-68,965,847),34790=>array(51,-74,965,827),34791=>array(52,-68,949,833),34792=>array(53,-71,954,790),34793=>array(51,-70,982,821),34794=>array(44,-50,977,815),34795=>array(52,-66,953,813),34796=>array(56,-58,955,823),34797=>array(43,-68,945,834),34798=>array(30,-71,936,833),34799=>array(43,-66,957,832),34800=>array(31,-72,961,835),34801=>array(51,-69,961,836),34802=>array(60,-64,975,840),34803=>array(43,-75,945,818),34804=>array(49,-74,959,830),34805=>array(30,-71,948,807),34806=>array(41,-30,935,814),34807=>array(49,-64,915,829),34808=>array(36,-64,975,819),34809=>array(45,-71,948,851),34810=>array(52,-27,953,831),34811=>array(42,-73,947,850),34812=>array(49,-74,951,830),34813=>array(46,-57,950,833),34814=>array(43,-68,958,855),34815=>array(40,-56,955,843),34816=>array(51,-70,953,839),34817=>array(55,-76,941,841),34818=>array(43,-65,975,828),34819=>array(41,-68,957,849),34820=>array(37,-53,974,861),34821=>array(46,-48,957,819),34822=>array(66,-72,962,833),34823=>array(62,-66,958,832),34824=>array(52,-71,961,828),34825=>array(43,-71,969,820),34826=>array(34,-67,946,851),34827=>array(52,-66,924,817),34828=>array(42,-62,940,820),34829=>array(40,-75,977,824),34830=>array(46,-65,956,833),34831=>array(43,-61,948,847),34832=>array(41,-64,968,849),34833=>array(37,-65,965,839),34834=>array(48,-75,957,802),34835=>array(47,-60,961,835),34836=>array(50,-59,966,846),34837=>array(56,-59,943,829),34838=>array(34,-65,976,832),34839=>array(40,-66,951,806),34840=>array(34,-59,974,842),34841=>array(39,-69,965,842),34842=>array(53,-71,942,840),34843=>array(44,-64,961,839),34844=>array(38,-87,979,834),34845=>array(52,-70,929,784),34846=>array(56,-86,949,838),34847=>array(32,-60,961,848),34848=>array(53,-71,944,786),34849=>array(52,-64,957,844),34850=>array(55,-62,972,858),34851=>array(50,-65,948,818),34852=>array(67,-69,969,853),34853=>array(63,-75,944,846),34854=>array(45,-71,956,827),34855=>array(54,-67,967,844),34856=>array(42,-55,965,842),34857=>array(64,-71,964,823),34858=>array(71,-75,962,845),34859=>array(65,-77,969,831),34860=>array(40,-68,950,839),34861=>array(54,-79,967,854),34862=>array(35,-73,975,802),34863=>array(40,-70,954,844),34864=>array(30,-66,975,846),34865=>array(46,-33,957,833),34866=>array(57,-63,929,842),34867=>array(34,-78,953,806),34868=>array(55,-68,942,826),34869=>array(47,-65,949,828),34870=>array(50,-76,965,793),34871=>array(46,-64,946,807),34872=>array(36,-67,941,826),34873=>array(54,-67,967,844),34874=>array(50,-88,965,809),34875=>array(62,-77,944,830),34876=>array(48,-68,986,819),34877=>array(41,-73,966,829),34878=>array(47,-71,924,815),34879=>array(89,-73,946,847),34880=>array(55,-11,954,806),34881=>array(59,-14,955,846),34882=>array(34,-60,971,811),34883=>array(43,-70,968,833),34884=>array(20,-15,947,834),34885=>array(25,-45,949,853),34886=>array(49,-64,958,836),34887=>array(37,-68,971,836),34888=>array(40,-69,955,832),34889=>array(34,-61,982,849),34890=>array(31,-68,957,830),34891=>array(63,-57,941,842),34892=>array(51,-62,941,845),34893=>array(41,-68,954,827),34894=>array(53,-67,960,829),34895=>array(50,-68,948,829),34896=>array(53,-66,960,829),34897=>array(53,-66,960,829),34898=>array(47,-65,954,835),34899=>array(39,-73,951,824),34900=>array(29,-68,923,828),34901=>array(46,-65,952,833),34902=>array(49,-69,960,833),34903=>array(41,-72,951,831),34904=>array(24,-66,960,853),34905=>array(40,-65,959,831),34906=>array(46,-70,953,825),34907=>array(37,-65,955,839),34908=>array(34,-66,960,816),34909=>array(38,-68,953,835),34910=>array(35,-70,943,831),34911=>array(39,-66,954,841),34912=>array(24,-72,936,839),34913=>array(33,-69,945,835),34914=>array(37,-65,956,837),34915=>array(38,-68,944,826),34916=>array(266,-66,677,819),34917=>array(40,-69,954,843),34918=>array(41,-50,963,842),34919=>array(41,-67,958,844),34920=>array(52,-75,953,835),34921=>array(34,-67,971,843),34922=>array(35,-64,954,843),34923=>array(42,-68,957,830),34924=>array(32,-60,917,839),34925=>array(35,-61,973,841),34926=>array(54,-73,963,845),34927=>array(45,-74,973,845),34928=>array(37,-70,960,832),34929=>array(50,-76,963,844),34930=>array(23,-69,879,803),34931=>array(33,-65,955,831),34932=>array(54,-75,964,842),34933=>array(46,-53,909,805),34934=>array(62,-67,932,844),34935=>array(42,-73,960,829),34936=>array(50,-63,946,837),34937=>array(50,-67,956,838),34938=>array(47,-68,960,850),34939=>array(61,-67,966,838),34940=>array(50,-70,976,850),34941=>array(39,-67,946,810),34942=>array(37,-62,955,858),34943=>array(36,-65,970,848),34944=>array(60,-71,930,838),34945=>array(67,-62,967,833),34946=>array(32,-66,964,832),34947=>array(30,-73,984,823),34948=>array(16,-76,940,837),34949=>array(49,-59,950,829),34950=>array(48,-67,906,842),34951=>array(48,-78,956,842),34952=>array(48,-67,959,831),34953=>array(48,-67,957,842),34954=>array(48,-77,949,842),34955=>array(44,-69,962,837),34956=>array(44,-69,956,851),34957=>array(42,-67,960,839),34958=>array(37,-75,914,845),34959=>array(44,-60,964,845),34960=>array(29,-62,970,845),34961=>array(50,-72,894,840),34962=>array(47,-65,951,828),34963=>array(45,-68,956,844),34964=>array(48,-67,953,842),34965=>array(51,-74,966,841),34966=>array(46,-68,899,827),34967=>array(39,-52,972,853),34968=>array(47,-65,957,843),34969=>array(47,-72,892,848),34970=>array(31,-62,967,847),34971=>array(39,-58,960,850),34972=>array(28,-56,970,847),34973=>array(39,-70,941,848),34974=>array(52,-58,961,840),34975=>array(47,-80,966,838),34976=>array(50,-67,961,846),34977=>array(52,-68,954,841),34978=>array(43,-65,954,838),34979=>array(54,-61,964,848),34980=>array(47,-62,960,845),34981=>array(54,-62,948,848),34982=>array(54,-65,916,848),34983=>array(54,-71,914,848),34984=>array(52,-62,947,844),34985=>array(54,-66,951,848),34986=>array(46,-65,955,842),34987=>array(36,-69,962,838),34988=>array(44,-68,964,849),34989=>array(29,-63,942,840),34990=>array(54,-61,944,856),34991=>array(54,-74,945,848),34992=>array(61,-67,945,811),34993=>array(33,-74,971,834),34994=>array(51,-79,960,854),34995=>array(41,-70,935,848),34996=>array(36,-63,982,842),34997=>array(46,-55,954,833),34998=>array(38,-67,972,844),34999=>array(36,-63,966,850),35000=>array(44,-70,954,836),35001=>array(41,-70,951,842),35002=>array(42,-72,950,844),35003=>array(33,-70,954,842),35004=>array(50,-71,977,841),35005=>array(47,-55,904,852),35006=>array(28,-55,965,844),35007=>array(41,-65,959,838),35008=>array(36,-57,916,842),35009=>array(42,-66,957,840),35010=>array(44,-73,955,828),35011=>array(41,-65,913,835),35012=>array(41,-67,964,840),35013=>array(45,-68,959,830),35014=>array(28,-66,864,822),35015=>array(46,-53,972,855),35016=>array(41,-65,948,842),35017=>array(39,-71,966,842),35018=>array(46,-64,958,852),35019=>array(37,-67,964,834),35020=>array(37,-72,966,846),35021=>array(38,-65,908,842),35022=>array(48,-65,956,847),35023=>array(43,-75,955,840),35024=>array(28,-68,915,842),35025=>array(41,-65,950,842),35026=>array(55,-61,967,850),35027=>array(41,-65,957,842),35028=>array(35,-67,942,845),35029=>array(44,-69,969,833),35030=>array(30,-71,980,840),35031=>array(37,-73,960,840),35032=>array(51,-55,963,832),35033=>array(42,-74,948,823),35034=>array(40,-74,969,830),35035=>array(46,-70,969,838),35036=>array(32,-63,946,834),35037=>array(57,-60,957,832),35038=>array(35,-65,959,841),35039=>array(33,-67,948,833),35040=>array(33,-82,948,786),35041=>array(41,-64,954,821),35042=>array(20,-69,935,815),35043=>array(23,-68,956,832),35044=>array(29,-60,931,840),35045=>array(24,-68,886,822),35046=>array(36,-79,957,841),35047=>array(45,-76,966,840),35048=>array(31,-68,941,849),35049=>array(31,-68,949,842),35050=>array(41,-66,917,842),35051=>array(47,-71,903,842),35052=>array(49,-72,973,839),35053=>array(31,-68,949,842),35054=>array(54,-70,905,840),35055=>array(36,-65,906,844),35056=>array(36,-67,971,838),35057=>array(34,-65,975,843),35058=>array(46,-71,948,823),35059=>array(45,-68,956,836),35060=>array(35,-63,958,830),35061=>array(47,-74,948,832),35062=>array(45,-70,955,840),35063=>array(47,-65,973,838),35064=>array(40,-71,973,822),35065=>array(68,-59,967,842),35066=>array(41,-70,966,837),35067=>array(41,-75,956,824),35068=>array(53,-64,928,823),35069=>array(28,-79,972,842),35070=>array(35,-68,957,825),35071=>array(53,-64,954,845),35072=>array(42,-72,963,843),35073=>array(42,-69,960,785),35074=>array(34,-66,968,833),35075=>array(34,-70,930,837),35076=>array(34,-66,938,835),35077=>array(51,-72,957,839),35078=>array(41,-73,968,837),35079=>array(36,-67,962,845),35080=>array(40,-63,956,840),35081=>array(43,-75,972,835),35082=>array(38,-70,906,823),35083=>array(53,-68,975,841),35084=>array(36,-65,952,823),35085=>array(34,-67,956,837),35086=>array(38,-73,976,847),35087=>array(38,-56,957,855),35088=>array(36,-63,924,834),35089=>array(50,-75,977,838),35090=>array(56,-73,972,842),35091=>array(32,-65,964,836),35092=>array(47,-71,952,842),35093=>array(45,-66,965,840),35094=>array(54,-70,978,837),35095=>array(44,-64,946,840),35096=>array(34,-58,954,838),35097=>array(30,-64,965,837),35098=>array(46,-64,959,841),35099=>array(23,-62,929,821),35100=>array(31,-80,971,836),35101=>array(38,-73,940,833),35102=>array(35,-68,968,820),35103=>array(39,-70,915,842),35104=>array(23,-65,954,829),35105=>array(45,-61,956,838),35106=>array(37,-75,978,839),35107=>array(48,-72,987,836),35108=>array(23,-60,977,833),35109=>array(42,-70,953,820),35110=>array(32,-55,970,855),35111=>array(24,-54,972,846),35112=>array(35,-57,933,847),35113=>array(31,-76,970,843),35114=>array(26,-73,967,820),35115=>array(19,-70,951,838),35116=>array(53,-70,993,835),35117=>array(47,-79,964,856),35118=>array(39,-71,976,833),35119=>array(41,-72,945,841),35120=>array(36,-65,974,846),35121=>array(51,-75,974,846),35122=>array(30,-69,947,845),35123=>array(30,-65,965,837),35124=>array(12,-68,918,821),35125=>array(31,-55,947,855),35126=>array(34,-65,910,817),35127=>array(42,-75,973,833),35128=>array(36,-66,945,842),35129=>array(23,-70,971,823),35130=>array(56,-68,972,840),35131=>array(54,-60,955,843),35132=>array(42,-70,971,833),35133=>array(56,-72,972,832),35134=>array(45,-67,957,850),35135=>array(23,-69,942,828),35136=>array(41,-74,947,833),35137=>array(17,-68,965,819),35138=>array(31,-59,973,853),35139=>array(56,-56,949,840),35140=>array(49,-58,955,843),35141=>array(32,-68,948,833),35142=>array(40,-67,972,844),35143=>array(51,-67,924,842),35144=>array(23,-69,955,821),35145=>array(39,-64,911,837),35146=>array(23,-66,962,821),35147=>array(33,-67,973,837),35148=>array(39,-63,950,817),35149=>array(36,-68,966,832),35150=>array(23,-67,964,833),35151=>array(40,-72,963,839),35152=>array(46,-66,958,838),35153=>array(42,-67,952,843),35154=>array(41,-76,970,831),35155=>array(30,-70,954,832),35156=>array(23,-67,951,831),35157=>array(26,-59,937,831),35158=>array(35,-66,971,846),35159=>array(51,-68,956,835),35160=>array(43,-67,969,837),35161=>array(46,-67,972,838),35162=>array(44,-66,980,845),35163=>array(40,-64,978,844),35164=>array(31,-68,954,846),35165=>array(26,-64,983,858),35166=>array(47,-53,974,835),35167=>array(36,-66,971,834),35168=>array(43,-65,928,835),35169=>array(52,-67,924,835),35170=>array(27,-55,947,856),35171=>array(44,-66,964,846),35172=>array(35,-68,952,836),35173=>array(20,-104,957,841),35174=>array(35,-64,959,836),35175=>array(39,-64,973,843),35176=>array(23,-66,969,825),35177=>array(43,-82,960,839),35178=>array(31,-65,958,829),35179=>array(41,-74,971,835),35180=>array(28,-55,958,845),35181=>array(36,-81,966,831),35182=>array(36,-73,994,831),35183=>array(33,-76,966,826),35184=>array(23,-72,977,846),35185=>array(39,-70,964,840),35186=>array(51,-65,948,841),35187=>array(27,-70,974,831),35188=>array(29,-62,912,826),35189=>array(29,-76,955,843),35190=>array(22,-65,973,835),35191=>array(34,-65,969,825),35192=>array(31,-66,978,831),35193=>array(31,-66,980,831),35194=>array(34,-62,948,834),35195=>array(31,-59,968,849),35196=>array(29,-60,967,841),35197=>array(29,-64,942,841),35198=>array(71,-63,945,782),35199=>array(73,-53,929,772),35200=>array(85,374,935,781),35201=>array(52,-69,935,781),35202=>array(74,-70,971,782),35203=>array(59,-63,955,788),35204=>array(64,-70,938,788),35205=>array(53,-66,930,836),35206=>array(55,-69,963,818),35207=>array(63,-70,937,818),35208=>array(48,-73,967,802),35209=>array(60,-68,950,804),35210=>array(54,-53,934,811),35211=>array(58,-74,944,783),35212=>array(18,-65,948,784),35213=>array(64,-60,935,830),35214=>array(52,-39,956,787),35215=>array(43,-59,954,812),35216=>array(38,-56,957,818),35217=>array(42,-58,956,836),35218=>array(51,-62,956,822),35219=>array(51,-71,960,837),35220=>array(64,-65,944,791),35221=>array(42,-64,956,828),35222=>array(39,-63,959,834),35223=>array(58,-69,953,780),35224=>array(96,-62,938,829),35225=>array(51,-62,946,848),35226=>array(37,-65,908,816),35227=>array(36,-70,966,828),35228=>array(36,-70,954,826),35229=>array(50,-72,962,780),35230=>array(37,-70,961,773),35231=>array(45,-71,962,824),35232=>array(32,-62,971,796),35233=>array(38,-71,967,774),35234=>array(49,-71,968,829),35235=>array(41,-71,966,824),35236=>array(36,-70,969,835),35237=>array(33,-60,971,836),35238=>array(32,-72,971,827),35239=>array(47,-63,960,838),35240=>array(71,-59,963,789),35241=>array(31,-69,963,825),35242=>array(46,-70,957,826),35243=>array(17,-79,957,825),35244=>array(39,-79,950,835),35245=>array(52,-61,965,785),35246=>array(66,-70,937,824),35247=>array(62,-74,977,829),35248=>array(32,-74,978,835),35249=>array(64,-58,939,828),35250=>array(52,-68,974,835),35251=>array(39,-60,970,841),35252=>array(29,-75,972,828),35253=>array(104,-74,975,791),35254=>array(50,-70,962,837),35255=>array(32,-71,966,835),35256=>array(104,-74,975,791),35257=>array(33,-66,963,832),35258=>array(64,-65,935,840),35259=>array(22,-76,987,835),35260=>array(18,-76,966,789),35261=>array(47,-63,960,840),35262=>array(37,-74,967,834),35263=>array(44,-75,967,835),35264=>array(35,-70,960,827),35265=>array(24,-56,921,784),35266=>array(18,-61,932,792),35267=>array(25,-55,971,792),35268=>array(26,-56,932,826),35269=>array(29,-51,934,827),35270=>array(31,-72,937,818),35271=>array(98,-67,941,813),35272=>array(39,-59,913,838),35273=>array(28,-60,920,816),35274=>array(70,-78,938,810),35275=>array(22,-69,936,771),35276=>array(43,-73,931,819),35277=>array(37,-85,973,836),35278=>array(32,-81,938,822),35279=>array(52,-72,933,818),35280=>array(29,-64,936,819),35281=>array(25,-75,942,817),35282=>array(69,-60,863,849),35283=>array(45,-70,886,842),35284=>array(60,-57,924,849),35285=>array(59,-56,911,851),35286=>array(40,-67,979,847),35287=>array(38,-62,975,838),35288=>array(24,-68,959,845),35289=>array(41,-79,963,852),35290=>array(33,-67,975,842),35291=>array(52,-68,954,841),35292=>array(28,-68,937,835),35293=>array(33,-56,962,857),35294=>array(18,-65,913,834),35295=>array(25,-67,955,828),35296=>array(42,-59,972,836),35297=>array(33,-70,989,831),35298=>array(40,-61,900,830),35299=>array(52,-67,949,834),35300=>array(28,-87,963,828),35301=>array(38,-71,969,836),35302=>array(36,-71,962,834),35303=>array(46,-66,934,843),35304=>array(32,-73,966,824),35305=>array(38,-71,967,828),35306=>array(46,-66,938,850),35307=>array(42,-68,974,839),35308=>array(34,-74,960,825),35309=>array(44,-71,955,841),35310=>array(54,-67,962,842),35311=>array(19,-67,922,834),35312=>array(44,-70,951,836),35313=>array(38,-69,965,842),35314=>array(29,-70,954,831),35315=>array(38,-67,981,829),35316=>array(41,-67,962,848),35317=>array(46,-70,935,842),35318=>array(44,-78,967,829),35319=>array(60,-65,930,830),35320=>array(63,-74,926,833),35321=>array(29,-71,960,841),35322=>array(54,-64,965,831),35323=>array(38,-70,975,835),35324=>array(38,-73,975,841),35325=>array(44,-71,959,841),35326=>array(33,-64,973,836),35327=>array(44,-52,955,850),35328=>array(84,-64,916,819),35329=>array(261,-47,747,842),35330=>array(60,-61,955,817),35331=>array(60,-65,951,829),35332=>array(33,-66,966,836),35333=>array(60,-58,967,842),35334=>array(69,-67,876,842),35335=>array(77,-61,909,840),35336=>array(51,-64,954,835),35337=>array(60,-45,948,847),35338=>array(60,-62,959,817),35339=>array(60,-55,914,847),35340=>array(65,-47,948,790),35341=>array(65,-50,946,844),35342=>array(60,-69,949,830),35343=>array(68,-68,964,834),35344=>array(65,-64,955,792),35345=>array(46,-34,963,853),35346=>array(63,-53,904,817),35347=>array(60,-68,902,829),35348=>array(85,-64,928,824),35349=>array(79,-56,912,846),35350=>array(60,-55,960,835),35351=>array(60,-61,957,834),35352=>array(60,-61,957,823),35353=>array(64,-56,964,848),35354=>array(116,-57,874,823),35355=>array(58,-62,954,840),35356=>array(60,-44,968,843),35357=>array(60,-62,948,793),35358=>array(63,-73,976,839),35359=>array(59,-58,964,815),35360=>array(60,-61,899,843),35361=>array(60,-66,963,843),35362=>array(63,-73,960,831),35363=>array(62,-69,955,829),35364=>array(60,-65,934,846),35365=>array(71,-71,907,796),35366=>array(60,-50,950,843),35367=>array(66,-69,963,841),35368=>array(60,-44,954,843),35369=>array(76,-58,930,840),35370=>array(60,-62,945,824),35371=>array(60,-44,960,843),35372=>array(72,-77,972,836),35373=>array(60,-63,975,817),35374=>array(60,-65,952,843),35375=>array(60,-69,982,843),35376=>array(65,-41,957,842),35377=>array(60,-64,949,837),35378=>array(60,-66,891,852),35379=>array(60,-62,964,817),35380=>array(56,-67,956,837),35381=>array(60,-46,917,843),35382=>array(59,-62,961,793),35383=>array(60,-62,901,838),35384=>array(60,-71,948,843),35385=>array(62,-68,951,844),35386=>array(56,-72,965,844),35387=>array(60,-61,947,829),35388=>array(53,-57,950,817),35389=>array(60,-52,921,846),35390=>array(64,-67,958,827),35391=>array(57,-44,964,839),35392=>array(59,-55,951,844),35393=>array(60,-65,953,826),35394=>array(60,-66,964,843),35395=>array(60,-65,982,843),35396=>array(57,-74,966,845),35397=>array(56,-76,976,839),35398=>array(56,-60,961,835),35399=>array(60,-58,978,843),35400=>array(74,-65,942,820),35401=>array(51,-71,977,843),35402=>array(63,-70,952,837),35403=>array(60,-44,957,843),35404=>array(58,-70,948,836),35405=>array(58,-47,947,844),35406=>array(62,-48,954,843),35407=>array(59,-73,911,848),35408=>array(60,-61,951,841),35409=>array(60,-61,952,824),35410=>array(60,-63,952,830),35411=>array(60,-51,963,843),35412=>array(60,-62,905,817),35413=>array(53,-65,956,817),35414=>array(51,-74,972,834),35415=>array(56,-61,903,841),35416=>array(78,-67,920,833),35417=>array(65,-76,965,843),35418=>array(60,-44,963,843),35419=>array(60,-50,964,793),35420=>array(42,-64,971,837),35421=>array(60,-62,925,843),35422=>array(60,-64,909,817),35423=>array(35,-69,972,846),35424=>array(52,-63,965,844),35425=>array(77,-52,914,841),35426=>array(62,-60,910,836),35427=>array(60,-63,958,831),35428=>array(54,-66,966,832),35429=>array(51,-65,977,853),35430=>array(60,-61,963,829),35431=>array(51,-60,957,839),35432=>array(52,-74,971,831),35433=>array(60,-61,954,838),35434=>array(60,-64,964,844),35435=>array(53,-57,961,829),35436=>array(69,-78,951,818),35437=>array(62,-61,954,846),35438=>array(49,-55,955,830),35439=>array(60,-70,899,843),35440=>array(50,-58,945,829),35441=>array(53,-64,958,834),35442=>array(53,-63,954,824),35443=>array(60,-65,954,843),35444=>array(58,-68,951,840),35445=>array(55,-73,963,826),35446=>array(57,-71,905,848),35447=>array(60,-65,904,837),35448=>array(61,-67,974,849),35449=>array(45,-76,914,842),35450=>array(61,-72,914,841),35451=>array(57,-67,966,836),35452=>array(52,-57,954,833),35453=>array(61,-69,956,840),35454=>array(47,-62,925,842),35455=>array(63,-55,954,831),35456=>array(53,-65,946,842),35457=>array(57,-69,951,838),35458=>array(57,-67,957,830),35459=>array(62,-65,916,840),35460=>array(59,-68,981,830),35461=>array(58,-65,977,836),35462=>array(62,-53,957,838),35463=>array(60,-62,978,843),35464=>array(61,-52,957,849),35465=>array(42,-67,958,842),35466=>array(30,-60,954,832),35467=>array(51,-70,967,832),35468=>array(53,-59,964,820),35469=>array(53,-48,964,813),35470=>array(61,-65,976,849),35471=>array(60,-73,982,841),35472=>array(61,-59,970,849),35473=>array(63,-53,957,817),35474=>array(57,-74,986,839),35475=>array(64,-71,936,839),35476=>array(64,-67,967,840),35477=>array(58,-66,963,819),35478=>array(62,-50,956,846),35479=>array(61,-65,936,849),35480=>array(53,-69,975,828),35481=>array(65,-68,961,843),35482=>array(67,-70,926,835),35483=>array(61,-61,970,849),35484=>array(61,-67,968,849),35485=>array(61,-71,972,849),35486=>array(49,-68,949,815),35487=>array(61,-68,957,849),35488=>array(52,-70,961,833),35489=>array(58,-63,964,837),35490=>array(61,-52,958,849),35491=>array(59,-48,954,797),35492=>array(59,-62,944,815),35493=>array(50,-65,945,831),35494=>array(60,-64,895,793),35495=>array(59,-66,953,826),35496=>array(62,-68,954,845),35497=>array(61,-56,948,851),35498=>array(57,-71,964,816),35499=>array(59,-68,967,842),35500=>array(59,-57,956,848),35501=>array(53,-57,966,829),35502=>array(61,-66,964,849),35503=>array(61,-62,932,849),35504=>array(54,-70,952,837),35505=>array(61,-72,962,849),35506=>array(56,-61,970,817),35507=>array(61,-77,932,849),35508=>array(61,-63,977,850),35509=>array(61,-64,968,855),35510=>array(69,-68,974,842),35511=>array(61,-67,939,849),35512=>array(60,-63,955,837),35513=>array(53,-68,954,829),35514=>array(59,-68,977,836),35515=>array(59,-69,967,834),35516=>array(53,-57,958,827),35517=>array(60,-61,965,837),35518=>array(119,-68,903,804),35519=>array(53,-62,915,817),35520=>array(54,-68,950,843),35521=>array(61,-62,963,843),35522=>array(58,-68,897,838),35523=>array(57,-70,970,832),35524=>array(56,-62,959,835),35525=>array(50,-71,963,831),35526=>array(55,-80,952,833),35527=>array(63,-67,962,841),35528=>array(54,-47,963,843),35529=>array(62,-65,958,843),35530=>array(61,-66,937,849),35531=>array(53,-65,956,835),35532=>array(53,-64,974,835),35533=>array(56,-61,956,836),35534=>array(61,-64,960,849),35535=>array(51,-68,969,817),35536=>array(26,-58,946,836),35537=>array(56,-64,978,833),35538=>array(53,-60,960,830),35539=>array(63,-62,959,840),35540=>array(60,-69,975,838),35541=>array(60,-70,959,833),35542=>array(55,-63,973,849),35543=>array(63,-55,986,843),35544=>array(63,-73,980,839),35545=>array(58,-70,963,834),35546=>array(61,-53,983,824),35547=>array(53,-74,975,832),35548=>array(53,-64,971,830),35549=>array(59,-68,973,839),35550=>array(71,-72,928,794),35551=>array(55,-60,967,814),35552=>array(50,-42,947,837),35553=>array(54,-37,973,816),35554=>array(49,-67,954,793),35555=>array(49,-67,914,840),35556=>array(55,-59,951,793),35557=>array(55,-44,947,842),35558=>array(51,-67,946,826),35559=>array(56,-65,951,832),35560=>array(54,-67,927,840),35561=>array(55,-43,936,845),35562=>array(54,-73,949,833),35563=>array(48,-67,964,833),35564=>array(29,-69,953,852),35565=>array(48,-68,970,852),35566=>array(53,-64,965,845),35567=>array(61,-61,955,838),35568=>array(56,-48,971,833),35569=>array(58,-62,951,842),35570=>array(68,-45,959,836),35571=>array(57,-64,947,844),35572=>array(42,-60,945,837),35573=>array(55,-56,953,846),35574=>array(65,-82,957,818),35575=>array(51,-69,964,797),35576=>array(59,-66,948,835),35577=>array(59,-48,947,842),35578=>array(54,-71,952,830),35579=>array(59,-43,953,844),35580=>array(68,-70,981,839),35581=>array(59,-68,947,842),35582=>array(53,-65,949,836),35583=>array(53,-69,950,835),35584=>array(53,-69,969,829),35585=>array(62,-60,926,816),35586=>array(60,-64,911,823),35587=>array(63,-42,959,842),35588=>array(40,-72,967,840),35589=>array(58,-63,914,841),35590=>array(56,-61,919,872),35591=>array(31,-65,970,843),35592=>array(35,-67,969,793),35593=>array(64,-56,984,851),35594=>array(56,-63,961,840),35595=>array(75,-71,987,834),35596=>array(69,-60,954,804),35597=>array(108,-71,902,823),35598=>array(79,-70,956,836),35599=>array(60,-60,958,843),35600=>array(66,-55,968,827),35601=>array(57,-74,957,842),35602=>array(61,-68,963,838),35603=>array(60,-73,960,842),35604=>array(62,-68,954,833),35605=>array(57,-72,959,836),35606=>array(50,-66,968,793),35607=>array(59,-69,951,816),35608=>array(57,-71,952,838),35609=>array(64,-64,978,843),35610=>array(54,-57,961,804),35611=>array(55,-65,952,826),35612=>array(57,-66,962,845),35613=>array(53,-66,951,844),35614=>array(59,-68,930,832),35615=>array(51,-57,926,848),35616=>array(59,-58,957,842),35617=>array(53,-64,952,829),35618=>array(62,-73,972,841),35619=>array(58,-68,953,837),35620=>array(59,-69,955,833),35621=>array(56,-53,968,831),35622=>array(45,-66,958,845),35623=>array(59,-66,954,838),35624=>array(63,-68,984,823),35625=>array(33,-72,976,841),35626=>array(62,-67,956,838),35627=>array(55,-70,951,838),35628=>array(60,-72,947,795),35629=>array(55,-73,947,838),35630=>array(52,-77,958,842),35631=>array(42,-49,945,849),35632=>array(61,-71,964,835),35633=>array(53,-75,948,842),35634=>array(53,-73,970,848),35635=>array(60,-85,957,793),35636=>array(60,-68,951,847),35637=>array(81,-68,922,835),35638=>array(45,-61,960,837),35639=>array(63,-60,964,839),35640=>array(66,-79,974,834),35641=>array(60,-50,953,830),35642=>array(69,-81,958,837),35643=>array(71,-72,938,836),35644=>array(56,-78,946,833),35645=>array(79,-68,940,841),35646=>array(68,-60,983,813),35647=>array(60,-75,942,847),35648=>array(56,-70,968,842),35649=>array(54,-64,954,834),35650=>array(68,-68,956,840),35651=>array(60,-48,961,847),35652=>array(60,-63,918,847),35653=>array(54,-44,946,839),35654=>array(34,-70,943,825),35655=>array(60,-66,972,841),35656=>array(54,-74,972,841),35657=>array(59,-53,956,830),35658=>array(56,-69,950,839),35659=>array(75,-60,922,846),35660=>array(51,-79,968,852),35661=>array(42,-71,944,851),35662=>array(62,-64,941,798),35663=>array(57,-67,972,833),35664=>array(56,-65,954,845),35665=>array(60,-62,965,844),35666=>array(50,-57,970,848),35667=>array(73,-46,977,827),35668=>array(48,-58,951,846),35669=>array(58,-67,955,844),35670=>array(55,-67,960,824),35671=>array(66,-59,959,841),35672=>array(51,-68,959,833),35673=>array(60,-71,971,835),35674=>array(49,-67,954,813),35675=>array(60,-49,966,838),35676=>array(53,-61,952,843),35677=>array(52,-50,966,840),35678=>array(60,-66,976,847),35679=>array(53,-50,969,800),35680=>array(63,-55,960,837),35681=>array(60,-65,945,847),35682=>array(60,-63,978,847),35683=>array(42,-70,970,847),35684=>array(60,-66,985,847),35685=>array(40,-67,979,845),35686=>array(55,-77,944,824),35687=>array(48,-66,967,838),35688=>array(57,-73,977,839),35689=>array(63,-48,966,844),35690=>array(57,-68,948,834),35691=>array(64,-76,962,839),35692=>array(66,-60,961,830),35693=>array(51,-59,973,846),35694=>array(60,-68,985,848),35695=>array(53,-64,939,795),35696=>array(54,-63,962,850),35697=>array(36,-86,955,843),35698=>array(52,-79,973,837),35699=>array(60,-59,953,847),35700=>array(60,-63,967,836),35701=>array(63,-68,959,847),35702=>array(36,-66,955,847),35703=>array(53,-59,971,837),35704=>array(63,-61,964,840),35705=>array(53,-68,977,836),35706=>array(54,-74,967,831),35707=>array(83,-63,936,790),35708=>array(83,-74,936,841),35709=>array(31,-64,971,832),35710=>array(60,-55,956,858),35711=>array(57,-46,965,823),35712=>array(59,-71,961,835),35713=>array(39,-60,961,847),35714=>array(61,-71,959,835),35715=>array(51,-69,959,836),35716=>array(76,-63,920,840),35717=>array(55,-69,973,840),35718=>array(40,-71,955,839),35719=>array(60,-60,923,847),35720=>array(55,-70,971,828),35721=>array(61,-61,953,842),35722=>array(50,-70,960,840),35723=>array(66,-48,953,860),35724=>array(52,-66,968,838),35725=>array(60,-48,938,847),35726=>array(23,-62,952,845),35727=>array(40,-71,955,854),35728=>array(41,-71,944,842),35729=>array(60,-52,969,847),35730=>array(52,-65,961,842),35731=>array(59,-66,957,845),35732=>array(49,-63,967,842),35733=>array(62,-62,900,839),35734=>array(58,-59,960,834),35735=>array(60,-67,951,839),35736=>array(58,-67,960,831),35737=>array(53,-52,949,842),35738=>array(56,-60,959,851),35739=>array(74,-60,957,847),35740=>array(59,-79,967,833),35741=>array(62,-67,956,847),35742=>array(53,-70,968,835),35743=>array(55,-61,949,840),35744=>array(308,-19,665,809),35745=>array(74,-66,937,840),35746=>array(69,-65,926,826),35747=>array(62,-67,953,840),35748=>array(72,-62,958,826),35749=>array(59,-58,960,812),35750=>array(52,-66,922,810),35751=>array(49,13,913,814),35752=>array(75,-70,932,828),35753=>array(66,-22,929,818),35754=>array(50,-58,878,826),35755=>array(70,-29,943,838),35756=>array(68,-30,944,836),35757=>array(65,-74,889,826),35758=>array(49,-71,968,806),35759=>array(68,-57,958,826),35760=>array(80,-28,946,834),35761=>array(61,-60,890,836),35762=>array(56,-68,916,829),35763=>array(49,-58,916,830),35764=>array(61,-11,933,807),35765=>array(47,-25,917,820),35766=>array(49,-64,914,808),35767=>array(62,-61,901,829),35768=>array(64,-65,936,836),35769=>array(62,-64,930,836),35770=>array(52,-30,964,828),35771=>array(50,-65,906,832),35772=>array(56,-59,936,784),35773=>array(54,-61,975,811),35774=>array(54,-54,946,804),35775=>array(71,-71,931,847),35776=>array(74,-71,931,835),35777=>array(59,-22,938,797),35778=>array(67,-66,936,823),35779=>array(67,-64,944,826),35780=>array(78,-67,942,836),35781=>array(53,-29,927,790),35782=>array(49,-54,951,811),35783=>array(58,-60,909,836),35784=>array(69,-69,931,839),35785=>array(69,-69,946,834),35786=>array(69,-74,960,846),35787=>array(62,-64,938,830),35788=>array(66,-54,873,820),35789=>array(51,-61,888,826),35790=>array(56,-69,892,826),35791=>array(49,-56,888,823),35792=>array(43,-71,970,832),35793=>array(63,-60,954,817),35794=>array(63,-60,940,837),35795=>array(58,-26,938,826),35796=>array(56,-71,957,828),35797=>array(57,-61,944,825),35798=>array(63,-27,925,820),35799=>array(41,-62,944,834),35800=>array(67,-66,928,826),35801=>array(56,-59,958,826),35802=>array(47,-57,956,835),35803=>array(57,-68,938,830),35804=>array(43,-75,947,823),35805=>array(72,-65,941,830),35806=>array(62,-66,951,815),35807=>array(53,-79,920,816),35808=>array(62,-19,942,836),35809=>array(71,-63,937,844),35810=>array(61,-62,903,834),35811=>array(57,-69,937,828),35812=>array(68,-58,932,835),35813=>array(69,-79,949,838),35814=>array(59,-67,913,842),35815=>array(61,-25,932,852),35816=>array(60,-58,947,812),35817=>array(54,-54,885,818),35818=>array(76,-57,952,836),35819=>array(76,-65,942,840),35820=>array(54,-16,950,805),35821=>array(53,-70,936,795),35822=>array(57,-74,913,831),35823=>array(61,-69,956,794),35824=>array(57,-66,918,828),35825=>array(70,-69,941,825),35826=>array(72,-60,937,843),35827=>array(49,-54,947,827),35828=>array(66,-68,953,838),35829=>array(56,-65,879,798),35830=>array(56,-71,957,837),35831=>array(61,-66,930,831),35832=>array(68,-67,932,831),35833=>array(48,-70,955,799),35834=>array(54,-66,912,805),35835=>array(56,-69,940,835),35836=>array(61,-57,954,811),35837=>array(59,-64,942,836),35838=>array(56,-66,954,834),35839=>array(56,-65,925,833),35840=>array(56,-77,947,828),35841=>array(50,-72,927,834),35842=>array(50,-51,942,836),35843=>array(72,-85,897,810),35844=>array(67,-67,880,835),35845=>array(69,-70,935,838),35846=>array(69,-64,920,848),35847=>array(57,-71,923,842),35848=>array(55,-71,919,837),35849=>array(55,-66,931,838),35850=>array(55,-25,931,846),35851=>array(72,-67,953,832),35852=>array(60,-51,933,817),35853=>array(61,-66,948,829),35854=>array(53,-65,956,828),35855=>array(56,-69,961,831),35856=>array(57,-67,948,829),35857=>array(53,-70,945,831),35858=>array(74,-62,898,809),35859=>array(62,-66,900,836),35860=>array(55,-62,921,816),35861=>array(58,-72,954,847),35862=>array(60,-72,936,819),35863=>array(49,-65,961,834),35864=>array(54,-66,940,842),35865=>array(68,-66,930,834),35866=>array(60,-64,920,842),35867=>array(65,-69,921,839),35868=>array(59,-55,940,818),35869=>array(50,-74,888,836),35870=>array(78,-51,946,805),35871=>array(54,-65,943,820),35872=>array(60,-69,953,835),35873=>array(75,-65,942,800),35874=>array(53,-66,936,841),35875=>array(63,-74,924,807),35876=>array(74,-71,928,842),35877=>array(59,-35,936,828),35878=>array(63,-66,956,841),35879=>array(60,-36,948,825),35880=>array(54,-35,930,820),35881=>array(57,-61,948,786),35882=>array(58,-68,924,839),35883=>array(51,-79,947,838),35884=>array(58,-74,958,810),35885=>array(55,-70,939,793),35886=>array(57,-67,956,811),35887=>array(64,-75,938,828),35888=>array(46,-65,909,825),35889=>array(60,-62,941,844),35890=>array(59,-66,918,786),35891=>array(48,-75,971,825),35892=>array(47,-61,956,809),35893=>array(54,-78,941,836),35894=>array(56,-67,955,831),35895=>array(34,-53,967,839),35896=>array(59,-64,966,833),35897=>array(42,-58,952,836),35898=>array(37,-62,948,813),35899=>array(49,-68,960,813),35900=>array(32,-73,958,820),35901=>array(57,-69,957,837),35902=>array(34,-48,957,835),35903=>array(38,-66,982,837),35904=>array(35,-64,968,841),35905=>array(54,-63,961,836),35906=>array(45,-72,964,797),35907=>array(37,-71,976,834),35908=>array(37,-66,991,841),35909=>array(29,-70,983,834),35910=>array(100,-14,929,778),35911=>array(62,-17,951,770),35912=>array(62,-12,931,835),35913=>array(53,-68,973,835),35914=>array(57,-32,951,824),35915=>array(41,-26,962,842),35916=>array(51,-69,958,831),35917=>array(52,-73,950,838),35918=>array(48,-18,957,796),35919=>array(54,-67,966,832),35920=>array(70,-25,924,832),35921=>array(28,-67,965,836),35922=>array(34,-67,965,836),35923=>array(45,-46,974,829),35924=>array(45,-47,963,829),35925=>array(70,-49,949,772),35926=>array(58,-70,967,781),35927=>array(41,-75,969,781),35928=>array(43,-41,952,836),35929=>array(62,-55,939,847),35930=>array(31,-61,972,789),35931=>array(58,-69,963,787),35932=>array(43,-75,940,786),35933=>array(33,-46,951,785),35934=>array(43,-52,921,846),35935=>array(40,-65,958,815),35936=>array(43,-41,947,787),35937=>array(67,-59,940,845),35938=>array(49,-62,957,839),35939=>array(43,-71,953,787),35940=>array(29,-70,963,783),35941=>array(36,-64,958,834),35942=>array(49,-70,973,829),35943=>array(43,-75,951,824),35944=>array(41,-67,952,835),35945=>array(39,-64,977,779),35946=>array(88,-66,960,834),35947=>array(60,-72,962,835),35948=>array(47,-69,959,835),35949=>array(48,-70,984,789),35950=>array(42,-68,957,836),35951=>array(39,-77,975,819),35952=>array(77,-77,965,824),35953=>array(50,-61,959,782),35954=>array(42,-64,968,786),35955=>array(113,-69,911,825),35956=>array(43,-73,963,835),35957=>array(52,-71,983,829),35958=>array(34,-72,971,826),35959=>array(41,-62,967,832),35960=>array(125,-58,931,843),35961=>array(57,-56,903,842),35962=>array(61,-58,957,850),35963=>array(50,-67,963,835),35964=>array(40,-65,966,835),35965=>array(48,-65,914,842),35966=>array(48,-48,932,842),35967=>array(68,-52,921,846),35968=>array(41,-72,916,834),35969=>array(36,-57,965,855),35970=>array(65,-52,919,836),35971=>array(48,-63,890,842),35972=>array(46,-69,956,834),35973=>array(55,-61,981,850),35974=>array(46,-67,954,830),35975=>array(48,-55,960,842),35976=>array(48,-73,964,843),35977=>array(43,-64,975,840),35978=>array(54,-63,959,830),35979=>array(48,-65,926,842),35980=>array(41,-66,966,841),35981=>array(55,-59,956,838),35982=>array(48,-61,991,842),35983=>array(35,-73,953,836),35984=>array(46,-64,986,860),35985=>array(42,-75,977,829),35986=>array(37,-70,956,831),35987=>array(44,-67,950,836),35988=>array(34,-61,949,850),35989=>array(35,-62,959,834),35990=>array(36,-48,974,842),35991=>array(37,-71,951,837),35992=>array(26,-65,975,837),35993=>array(40,-60,965,827),35994=>array(43,-68,968,838),35995=>array(38,-71,912,832),35996=>array(55,-70,973,830),35997=>array(89,-68,912,789),35998=>array(59,-69,950,836),35999=>array(59,-69,950,842),36000=>array(53,-69,952,855),36001=>array(46,-73,939,829),36002=>array(59,-67,949,789),36003=>array(65,-70,954,850),36004=>array(52,-54,964,849),36005=>array(46,-78,954,834),36006=>array(52,-69,948,804),36007=>array(54,-69,954,823),36008=>array(52,-71,955,831),36009=>array(50,-67,973,788),36010=>array(38,-78,969,857),36011=>array(57,-74,946,785),36012=>array(57,-67,955,836),36013=>array(52,-75,924,831),36014=>array(53,-70,956,817),36015=>array(48,-68,948,822),36016=>array(51,-73,949,836),36017=>array(14,-67,970,832),36018=>array(43,-75,956,824),36019=>array(53,-70,956,837),36020=>array(57,-67,949,832),36021=>array(43,-66,977,865),36022=>array(57,-65,969,830),36023=>array(65,-67,949,782),36024=>array(63,-69,942,838),36025=>array(47,-75,956,822),36026=>array(51,-75,972,773),36027=>array(73,-71,933,837),36028=>array(50,-64,954,835),36029=>array(60,-62,960,833),36030=>array(49,-54,955,849),36031=>array(72,-67,941,827),36032=>array(65,-73,943,839),36033=>array(61,-67,943,828),36034=>array(57,-63,976,839),36035=>array(40,-65,957,837),36036=>array(54,-68,961,834),36037=>array(54,-77,973,830),36038=>array(21,-70,949,839),36039=>array(61,-70,942,837),36040=>array(66,-79,948,785),36041=>array(37,-58,973,855),36042=>array(41,-58,963,837),36043=>array(37,-76,970,846),36044=>array(66,-77,947,844),36045=>array(49,-59,956,822),36046=>array(44,-69,959,827),36047=>array(57,-73,963,773),36048=>array(31,-67,979,836),36049=>array(37,-71,971,787),36050=>array(40,-64,969,851),36051=>array(44,-74,974,837),36052=>array(101,-85,911,844),36053=>array(51,-66,981,829),36054=>array(31,-69,962,825),36055=>array(55,-74,911,822),36056=>array(49,-59,956,847),36057=>array(63,-71,911,793),36058=>array(45,-70,985,836),36059=>array(52,-76,964,843),36060=>array(60,-66,920,791),36061=>array(40,-70,976,780),36062=>array(71,-74,948,836),36063=>array(40,-73,955,830),36064=>array(59,-65,956,835),36065=>array(32,-67,954,849),36066=>array(70,-73,944,789),36067=>array(48,-69,945,826),36068=>array(48,-67,967,842),36069=>array(41,-73,950,840),36070=>array(42,-63,958,836),36071=>array(39,-68,974,832),36072=>array(57,-79,963,839),36073=>array(42,-60,960,845),36074=>array(63,-68,941,833),36075=>array(69,-70,954,826),36076=>array(55,-68,978,787),36077=>array(43,-65,944,823),36078=>array(40,-74,977,827),36079=>array(57,-60,934,840),36080=>array(49,-70,980,838),36081=>array(56,-76,958,783),36082=>array(38,-73,967,845),36083=>array(51,-75,967,830),36084=>array(44,-71,961,830),36085=>array(55,-68,921,789),36086=>array(40,-67,941,846),36087=>array(69,-70,954,834),36088=>array(31,-66,966,837),36089=>array(44,-66,959,818),36090=>array(58,-65,967,851),36091=>array(50,-65,951,833),36092=>array(41,-66,941,829),36093=>array(50,-73,960,847),36094=>array(113,-76,968,832),36095=>array(41,-72,960,786),36096=>array(68,-76,949,803),36097=>array(42,-61,967,836),36098=>array(41,-71,957,842),36099=>array(49,-62,965,831),36100=>array(61,-68,954,834),36101=>array(51,-70,954,846),36102=>array(37,-67,970,832),36103=>array(46,-71,954,829),36104=>array(34,-73,909,835),36105=>array(47,-71,957,781),36106=>array(60,-72,947,825),36107=>array(41,-70,944,813),36108=>array(36,-64,963,832),36109=>array(36,-74,948,834),36110=>array(47,-66,968,832),36111=>array(42,-62,961,834),36112=>array(47,-59,972,825),36113=>array(55,-66,969,849),36114=>array(70,-73,955,835),36115=>array(27,-65,966,836),36116=>array(49,-71,979,803),36117=>array(56,-73,963,837),36118=>array(47,-73,962,837),36119=>array(41,-73,945,825),36120=>array(26,-72,954,836),36121=>array(31,-71,967,828),36122=>array(30,-65,950,836),36123=>array(54,-70,974,849),36124=>array(55,-63,972,815),36125=>array(77,-58,885,796),36126=>array(65,-63,905,830),36127=>array(57,-65,934,838),36128=>array(73,-61,894,844),36129=>array(48,-61,906,780),36130=>array(42,-70,922,826),36131=>array(60,-66,915,826),36132=>array(61,-67,931,834),36133=>array(47,-74,945,834),36134=>array(32,-72,958,811),36135=>array(29,-63,917,839),36136=>array(25,-69,906,831),36137=>array(33,-70,956,800),36138=>array(33,-66,954,836),36139=>array(34,-65,980,835),36140=>array(32,-67,952,828),36141=>array(33,-64,903,831),36142=>array(28,-71,923,818),36143=>array(43,-69,914,791),36144=>array(48,-68,953,831),36145=>array(30,-59,928,831),36146=>array(70,-78,917,820),36147=>array(61,-71,909,826),36148=>array(42,-67,938,832),36149=>array(41,-65,907,830),36150=>array(31,-58,968,784),36151=>array(47,-65,927,835),36152=>array(83,-66,900,831),36153=>array(60,-63,913,830),36154=>array(24,-72,868,832),36155=>array(35,-69,941,824),36156=>array(31,-56,939,838),36157=>array(39,-86,948,818),36158=>array(47,-71,913,782),36159=>array(33,-69,944,832),36160=>array(60,-84,929,816),36161=>array(30,-59,917,841),36162=>array(33,-64,960,837),36163=>array(38,-68,921,837),36164=>array(71,-70,939,829),36165=>array(39,-79,956,827),36166=>array(31,-64,953,782),36167=>array(39,-69,972,826),36168=>array(39,-70,942,784),36169=>array(34,-70,942,823),36170=>array(39,-69,953,848),36171=>array(37,-69,955,834),36172=>array(39,-69,939,834),36173=>array(76,-70,886,824),36174=>array(43,-58,956,835),36175=>array(84,-54,912,841),36176=>array(39,-69,901,785),36177=>array(43,-66,1003,830),36178=>array(39,-69,911,794),36179=>array(40,-69,930,849),36180=>array(39,-69,939,843),36181=>array(39,-70,957,829),36182=>array(40,-63,943,834),36183=>array(39,-74,900,778),36184=>array(43,-69,915,827),36185=>array(39,-68,939,831),36186=>array(41,-65,951,849),36187=>array(38,-75,961,840),36188=>array(99,-67,936,828),36189=>array(31,-69,906,772),36190=>array(35,-75,930,836),36191=>array(46,-75,954,834),36192=>array(32,-71,895,827),36193=>array(22,-75,931,831),36194=>array(35,-69,949,842),36195=>array(55,-69,943,835),36196=>array(67,-75,930,830),36197=>array(31,-71,961,839),36198=>array(56,-63,984,848),36199=>array(48,-68,957,829),36200=>array(40,-67,966,825),36201=>array(28,-67,961,826),36202=>array(25,-80,971,825),36203=>array(51,-65,970,836),36204=>array(36,-76,962,823),36205=>array(25,-70,958,832),36206=>array(35,-79,975,833),36207=>array(32,-71,960,837),36208=>array(46,-74,960,830),36209=>array(69,-66,950,830),36210=>array(36,-62,963,833),36211=>array(50,-65,966,831),36212=>array(41,-73,967,829),36213=>array(23,-60,942,823),36214=>array(27,-72,965,831),36215=>array(35,-74,945,834),36216=>array(46,-71,973,825),36217=>array(39,-66,960,829),36218=>array(46,-71,973,824),36219=>array(46,-72,974,835),36220=>array(33,-64,968,835),36221=>array(44,-74,972,830),36222=>array(46,-72,974,835),36223=>array(46,-72,978,835),36224=>array(47,-71,970,832),36225=>array(18,-62,960,857),36226=>array(46,-72,974,835),36227=>array(46,-72,974,835),36228=>array(38,-65,975,833),36229=>array(33,-68,959,833),36230=>array(46,-72,978,835),36231=>array(46,-72,974,835),36232=>array(46,-72,974,835),36233=>array(40,-65,968,826),36234=>array(42,-74,962,832),36235=>array(26,-72,938,824),36236=>array(30,-61,967,836),36237=>array(39,-64,977,830),36238=>array(35,-68,978,832),36239=>array(36,-65,981,820),36240=>array(28,-61,973,828),36241=>array(42,-64,973,848),36242=>array(27,-65,965,826),36243=>array(28,-61,981,826),36244=>array(39,-68,976,831),36245=>array(46,-69,966,829),36246=>array(57,-68,966,824),36247=>array(28,-61,965,826),36248=>array(28,-61,965,826),36249=>array(41,-75,959,830),36250=>array(28,-61,965,826),36251=>array(36,-71,969,824),36252=>array(35,-68,970,833),36253=>array(46,-72,974,835),36254=>array(46,-72,974,835),36255=>array(58,-53,973,841),36256=>array(39,-71,977,824),36257=>array(41,-68,971,823),36258=>array(34,-64,960,835),36259=>array(31,-54,960,835),36260=>array(46,-72,974,836),36261=>array(37,-60,968,835),36262=>array(45,-53,974,845),36263=>array(37,-71,981,818),36264=>array(56,-71,966,834),36265=>array(46,-72,974,835),36266=>array(39,-57,979,833),36267=>array(32,-71,984,825),36268=>array(41,-64,983,830),36269=>array(33,-62,984,827),36270=>array(26,-67,975,829),36271=>array(33,-68,970,828),36272=>array(31,-72,979,835),36273=>array(22,-69,937,817),36274=>array(42,-65,970,832),36275=>array(55,-73,970,762),36276=>array(30,-74,968,786),36277=>array(53,-54,896,841),36278=>array(64,-65,967,790),36279=>array(48,-37,974,830),36280=>array(45,-73,940,761),36281=>array(57,-72,965,827),36282=>array(45,-72,974,829),36283=>array(45,-72,967,837),36284=>array(54,-76,947,783),36285=>array(45,-69,959,849),36286=>array(45,-24,954,822),36287=>array(35,-71,971,788),36288=>array(45,-65,870,788),36289=>array(56,-32,959,785),36290=>array(35,-53,954,841),36291=>array(39,-64,963,832),36292=>array(45,-34,953,814),36293=>array(47,-70,955,819),36294=>array(52,-68,972,837),36295=>array(61,-34,951,822),36296=>array(48,-69,960,839),36297=>array(45,-79,971,847),36298=>array(40,-61,967,836),36299=>array(21,-76,948,841),36300=>array(52,-59,975,844),36301=>array(55,-68,951,826),36302=>array(48,-27,950,839),36303=>array(46,-72,907,828),36304=>array(46,-59,964,822),36305=>array(45,-34,966,838),36306=>array(45,-62,965,788),36307=>array(47,-15,955,842),36308=>array(45,-52,921,846),36309=>array(41,-52,947,842),36310=>array(39,-53,947,786),36311=>array(41,-50,951,846),36312=>array(53,-70,956,825),36313=>array(59,-19,963,783),36314=>array(28,-67,919,781),36315=>array(53,-62,978,841),36316=>array(45,-72,954,790),36317=>array(31,-61,947,795),36318=>array(48,-62,939,817),36319=>array(46,-71,964,787),36320=>array(52,-73,975,823),36321=>array(47,-59,955,822),36322=>array(42,-63,913,836),36323=>array(40,-63,953,829),36324=>array(50,-65,983,846),36325=>array(46,-62,964,791),36326=>array(50,-70,977,829),36327=>array(43,-20,968,793),36328=>array(39,-64,962,841),36329=>array(44,-74,967,823),36330=>array(48,-65,965,852),36331=>array(29,-64,947,778),36332=>array(54,-23,958,829),36333=>array(40,-69,972,841),36334=>array(51,-33,956,779),36335=>array(29,-67,968,838),36336=>array(50,-73,954,829),36337=>array(40,-52,950,841),36338=>array(44,-54,963,858),36339=>array(41,-70,945,825),36340=>array(37,-68,952,789),36341=>array(40,-69,959,827),36342=>array(50,-49,982,788),36343=>array(52,-71,938,815),36344=>array(35,-64,929,808),36345=>array(42,-51,935,804),36346=>array(54,-64,979,794),36347=>array(43,-66,948,835),36348=>array(48,-55,916,800),36349=>array(48,-32,969,791),36350=>array(46,-72,974,827),36351=>array(51,-70,966,821),36352=>array(52,-73,970,781),36353=>array(46,-28,945,785),36354=>array(51,-70,961,783),36355=>array(51,-69,909,824),36356=>array(45,-64,955,830),36357=>array(44,-66,970,835),36358=>array(48,-72,970,827),36359=>array(51,-64,953,825),36360=>array(45,-54,960,841),36361=>array(58,-68,981,837),36362=>array(50,-64,897,800),36363=>array(80,-61,915,810),36364=>array(37,-61,917,828),36365=>array(47,-68,948,823),36366=>array(36,-54,969,797),36367=>array(53,-62,980,843),36368=>array(30,-55,945,841),36369=>array(55,-75,967,824),36370=>array(44,-72,965,829),36371=>array(45,-68,959,831),36372=>array(54,-62,965,838),36373=>array(44,-73,972,827),36374=>array(47,-61,972,837),36375=>array(52,-36,976,835),36376=>array(49,-63,916,837),36377=>array(51,-73,981,782),36378=>array(47,-68,984,836),36379=>array(44,-26,954,826),36380=>array(56,-71,982,823),36381=>array(43,-67,972,787),36382=>array(46,-69,952,785),36383=>array(28,-67,886,836),36384=>array(39,-76,966,843),36385=>array(48,-37,986,846),36386=>array(46,-58,907,794),36387=>array(48,-65,953,849),36388=>array(48,-69,954,840),36389=>array(38,-70,950,833),36390=>array(42,-62,965,844),36391=>array(41,-69,979,830),36392=>array(59,-65,975,837),36393=>array(48,-62,976,837),36394=>array(44,-57,969,834),36395=>array(45,-35,957,832),36396=>array(42,-68,921,823),36397=>array(53,-59,970,836),36398=>array(43,-65,949,845),36399=>array(38,-65,919,798),36400=>array(43,-64,962,832),36401=>array(49,-62,982,856),36402=>array(47,-67,950,840),36403=>array(39,-68,978,840),36404=>array(41,-56,918,801),36405=>array(45,-27,958,839),36406=>array(52,-55,987,803),36407=>array(72,-69,959,835),36408=>array(35,-26,953,824),36409=>array(53,-64,956,835),36410=>array(43,-73,946,805),36411=>array(72,-57,916,800),36412=>array(33,-79,963,778),36413=>array(46,-62,942,836),36414=>array(41,-65,932,787),36415=>array(32,-75,983,822),36416=>array(49,-65,975,830),36417=>array(48,-65,944,843),36418=>array(45,-61,984,799),36419=>array(72,-65,948,836),36420=>array(37,-67,946,826),36421=>array(39,-32,967,823),36422=>array(38,-65,954,800),36423=>array(34,-62,984,842),36424=>array(53,-62,937,835),36425=>array(30,-26,937,841),36426=>array(20,-61,967,842),36427=>array(49,-61,903,799),36428=>array(55,-64,982,866),36429=>array(34,-52,968,797),36430=>array(50,-79,961,833),36431=>array(34,-72,968,830),36432=>array(51,-62,986,846),36433=>array(35,-71,937,780),36434=>array(29,-66,914,818),36435=>array(47,-62,920,841),36436=>array(39,-54,972,839),36437=>array(34,-68,949,805),36438=>array(48,-70,965,834),36439=>array(49,-66,962,837),36440=>array(27,-61,966,802),36441=>array(55,-60,981,842),36442=>array(61,-37,960,816),36443=>array(50,-74,951,821),36444=>array(36,-52,915,857),36445=>array(43,-67,971,831),36446=>array(40,-82,959,828),36447=>array(39,-55,955,849),36448=>array(38,-60,958,835),36449=>array(36,-52,952,858),36450=>array(39,-52,948,855),36451=>array(47,-65,954,835),36452=>array(43,-65,979,831),36453=>array(45,-72,969,823),36454=>array(46,-74,905,836),36455=>array(59,-74,962,821),36456=>array(64,-65,971,837),36457=>array(33,-65,972,839),36458=>array(52,-81,965,825),36459=>array(29,-67,933,788),36460=>array(33,-26,969,836),36461=>array(44,-64,912,846),36462=>array(37,-43,974,813),36463=>array(31,-67,971,833),36464=>array(30,-66,939,802),36465=>array(59,-32,971,839),36466=>array(44,-72,970,834),36467=>array(46,-67,979,832),36468=>array(25,-68,956,828),36469=>array(33,-65,965,845),36470=>array(25,-70,965,788),36471=>array(37,-58,963,800),36472=>array(49,-70,974,827),36473=>array(44,-63,979,858),36474=>array(46,-63,962,842),36475=>array(34,-59,961,857),36476=>array(28,-64,963,832),36477=>array(39,-62,975,859),36478=>array(39,-73,973,837),36479=>array(39,-60,916,843),36480=>array(28,-68,951,802),36481=>array(31,-61,965,798),36482=>array(46,-68,977,836),36483=>array(36,-64,965,849),36484=>array(39,-57,960,843),36485=>array(57,-62,924,786),36486=>array(23,-67,976,837),36487=>array(36,-62,953,842),36488=>array(33,-72,982,841),36489=>array(44,-67,968,833),36490=>array(43,-58,958,839),36491=>array(32,-69,964,849),36492=>array(62,-72,961,833),36493=>array(35,-70,956,813),36494=>array(61,-71,958,783),36495=>array(50,-71,918,820),36496=>array(41,-63,974,852),36497=>array(32,-67,956,821),36498=>array(45,-52,961,856),36499=>array(39,-68,974,837),36500=>array(25,-67,941,848),36501=>array(36,-63,960,853),36502=>array(59,-68,915,835),36503=>array(36,-67,979,839),36504=>array(33,-65,967,838),36505=>array(37,-50,901,804),36506=>array(36,-66,973,815),36507=>array(36,-67,979,839),36508=>array(34,-75,927,824),36509=>array(37,-50,917,804),36510=>array(37,-65,985,847),36511=>array(39,-65,976,850),36512=>array(43,-67,960,829),36513=>array(30,-69,955,804),36514=>array(37,-50,910,805),36515=>array(50,-65,967,787),36516=>array(42,-64,956,831),36517=>array(33,-65,963,849),36518=>array(40,-75,975,829),36519=>array(42,-73,966,791),36520=>array(39,-68,956,841),36521=>array(41,-61,980,809),36522=>array(49,-59,964,837),36523=>array(74,-62,924,853),36524=>array(55,-60,904,839),36525=>array(40,-66,969,848),36526=>array(57,-61,968,846),36527=>array(47,-65,945,844),36528=>array(27,-53,969,851),36529=>array(56,-62,965,848),36530=>array(54,-62,976,843),36531=>array(53,-69,917,861),36532=>array(47,-68,972,844),36533=>array(49,-68,973,830),36534=>array(41,-68,965,830),36535=>array(41,-67,970,841),36536=>array(57,-68,956,830),36537=>array(53,-68,946,847),36538=>array(48,-62,936,851),36539=>array(45,-68,948,845),36540=>array(49,-68,975,830),36541=>array(35,-58,958,850),36542=>array(34,-62,969,843),36543=>array(45,-63,966,857),36544=>array(42,-60,964,853),36545=>array(45,-68,962,839),36546=>array(33,-70,969,829),36547=>array(53,-68,968,830),36548=>array(45,-68,977,845),36549=>array(26,-73,977,841),36550=>array(32,-58,946,848),36551=>array(53,-57,968,846),36552=>array(38,-61,948,848),36553=>array(38,-78,934,836),36554=>array(63,-71,935,832),36555=>array(54,-70,948,830),36556=>array(53,-74,957,831),36557=>array(91,-68,923,784),36558=>array(61,-67,913,819),36559=>array(52,-69,958,829),36560=>array(41,-69,958,827),36561=>array(61,-72,978,827),36562=>array(55,-68,951,832),36563=>array(64,-76,963,824),36564=>array(68,-67,917,830),36565=>array(65,-69,921,830),36566=>array(62,-69,961,827),36567=>array(63,-73,962,830),36568=>array(61,-65,957,835),36569=>array(50,-70,945,838),36570=>array(65,-69,977,838),36571=>array(60,-66,954,830),36572=>array(66,-70,918,827),36573=>array(46,-68,966,832),36574=>array(60,-70,961,836),36575=>array(62,-67,965,841),36576=>array(59,-64,949,827),36577=>array(61,-76,968,834),36578=>array(53,-69,964,827),36579=>array(61,-55,913,834),36580=>array(65,-70,950,827),36581=>array(60,-65,915,831),36582=>array(59,-69,956,832),36583=>array(57,-72,960,833),36584=>array(54,-69,965,845),36585=>array(68,-70,954,838),36586=>array(84,-75,924,835),36587=>array(51,-67,969,844),36588=>array(46,-64,966,855),36589=>array(43,-71,945,827),36590=>array(61,-80,968,829),36591=>array(57,-72,950,827),36592=>array(62,-50,940,835),36593=>array(58,-60,975,834),36594=>array(72,-76,929,833),36595=>array(72,-64,977,849),36596=>array(72,-64,962,839),36597=>array(63,-69,952,835),36598=>array(76,-67,970,829),36599=>array(57,-52,959,839),36600=>array(58,-76,913,831),36601=>array(57,-67,962,826),36602=>array(69,-67,918,832),36603=>array(54,-67,950,829),36604=>array(56,-67,979,829),36605=>array(52,-64,976,833),36606=>array(60,-67,968,836),36607=>array(55,-54,949,852),36608=>array(53,-56,948,836),36609=>array(56,-80,977,826),36610=>array(44,-69,961,829),36611=>array(59,-67,965,829),36612=>array(59,-69,970,829),36613=>array(47,-65,967,838),36614=>array(57,-75,960,836),36615=>array(62,-71,966,820),36616=>array(61,-63,959,838),36617=>array(63,-62,956,836),36618=>array(60,-64,954,831),36619=>array(28,-64,980,840),36620=>array(52,-72,939,831),36621=>array(58,-70,967,824),36622=>array(60,-69,937,826),36623=>array(65,-68,966,825),36624=>array(66,-70,973,824),36625=>array(60,-71,951,827),36626=>array(50,-67,967,830),36627=>array(58,-67,966,827),36628=>array(55,-73,948,833),36629=>array(57,-70,950,832),36630=>array(57,-70,900,822),36631=>array(54,-65,962,827),36632=>array(47,-57,966,835),36633=>array(46,-68,966,837),36634=>array(62,-70,971,834),36635=>array(52,-72,939,831),36636=>array(63,-71,940,835),36637=>array(41,-63,953,832),36638=>array(57,-65,924,831),36639=>array(60,-65,971,833),36640=>array(62,-71,978,823),36641=>array(77,-68,912,841),36642=>array(77,-65,956,849),36643=>array(62,-76,903,823),36644=>array(61,-70,953,832),36645=>array(54,-70,955,829),36646=>array(52,-62,954,831),36647=>array(57,-65,949,859),36648=>array(62,-65,930,846),36649=>array(55,-74,951,838),36650=>array(52,-71,971,868),36651=>array(52,-65,967,831),36652=>array(54,-57,970,849),36653=>array(65,-72,975,820),36654=>array(60,-68,977,826),36655=>array(62,-70,951,831),36656=>array(77,-65,959,831),36657=>array(47,-68,979,835),36658=>array(72,-64,957,835),36659=>array(47,-67,964,832),36660=>array(50,-72,951,833),36661=>array(60,-53,923,838),36662=>array(56,-66,947,852),36663=>array(65,-70,919,834),36664=>array(45,-70,960,849),36665=>array(60,-68,974,836),36666=>array(63,-71,940,833),36667=>array(46,-74,941,827),36668=>array(59,-70,959,823),36669=>array(42,-66,967,831),36670=>array(60,-71,964,831),36671=>array(66,-55,948,839),36672=>array(59,-70,959,823),36673=>array(52,-65,944,831),36674=>array(48,-68,968,836),36675=>array(66,-69,973,833),36676=>array(53,-62,949,837),36677=>array(50,-70,967,833),36678=>array(53,-68,958,835),36679=>array(58,-64,968,829),36680=>array(58,-70,974,828),36681=>array(56,-71,947,828),36682=>array(44,-72,943,837),36683=>array(55,-72,974,825),36684=>array(46,-66,946,831),36685=>array(42,-68,972,837),36686=>array(51,-61,964,841),36687=>array(63,-71,958,825),36688=>array(53,-69,969,826),36689=>array(55,-54,968,844),36690=>array(65,-72,959,829),36691=>array(60,-67,978,829),36692=>array(48,-67,954,833),36693=>array(61,-64,948,830),36694=>array(58,-68,962,829),36695=>array(50,-66,961,830),36696=>array(56,-70,984,831),36697=>array(50,-74,974,853),36698=>array(60,-62,971,828),36699=>array(69,-71,964,826),36700=>array(42,-65,970,831),36701=>array(46,-69,977,836),36702=>array(66,-73,958,829),36703=>array(63,-62,960,836),36704=>array(71,-68,929,824),36705=>array(32,-65,961,844),36706=>array(50,-65,970,831),36707=>array(45,-53,969,836),36708=>array(52,-67,956,832),36709=>array(55,-65,941,837),36710=>array(42,-61,956,833),36711=>array(69,-73,922,823),36712=>array(67,-78,940,828),36713=>array(63,-70,934,823),36714=>array(68,-70,977,838),36715=>array(63,-69,901,824),36716=>array(53,-66,935,826),36717=>array(52,-74,937,818),36718=>array(31,-55,951,835),36719=>array(73,-69,949,838),36720=>array(28,-57,939,837),36721=>array(52,-76,929,823),36722=>array(52,-74,933,818),36723=>array(44,-73,929,819),36724=>array(59,-74,903,821),36725=>array(63,-69,946,824),36726=>array(52,-74,962,826),36727=>array(25,-65,920,828),36728=>array(52,-74,952,840),36729=>array(41,-65,947,823),36730=>array(63,-68,901,824),36731=>array(51,-48,938,836),36732=>array(37,-75,936,833),36733=>array(58,-69,939,824),36734=>array(52,-74,930,818),36735=>array(31,-66,948,832),36736=>array(63,-68,960,838),36737=>array(44,-60,940,831),36738=>array(52,-67,950,836),36739=>array(54,-69,948,835),36740=>array(45,-69,937,827),36741=>array(52,-73,931,831),36742=>array(35,-57,925,833),36743=>array(43,-75,950,816),36744=>array(68,-70,932,821),36745=>array(42,-57,948,833),36746=>array(52,-74,942,818),36747=>array(63,-67,905,827),36748=>array(63,-68,966,849),36749=>array(43,-65,961,819),36750=>array(55,-73,922,833),36751=>array(55,-69,944,838),36752=>array(43,-74,923,818),36753=>array(56,-69,936,821),36754=>array(46,-69,959,821),36755=>array(61,-73,943,846),36756=>array(40,-65,914,829),36757=>array(41,-78,949,819),36758=>array(52,-73,931,838),36759=>array(52,-74,948,818),36760=>array(50,-65,951,842),36761=>array(46,-65,938,839),36762=>array(52,-68,947,831),36763=>array(77,-68,923,828),36764=>array(59,-62,945,837),36765=>array(29,-65,948,840),36766=>array(52,-55,953,832),36767=>array(36,-55,954,847),36768=>array(59,-67,945,839),36769=>array(33,-67,954,853),36770=>array(21,-58,954,853),36771=>array(33,-67,967,835),36772=>array(39,-82,974,853),36773=>array(42,-57,960,840),36774=>array(58,-79,932,829),36775=>array(32,-68,945,837),36776=>array(37,-71,949,831),36777=>array(53,-64,933,843),36778=>array(59,-51,947,857),36779=>array(40,-66,915,838),36780=>array(40,-79,945,838),36781=>array(46,-63,962,846),36782=>array(42,-81,959,834),36783=>array(61,-77,938,829),36784=>array(57,-63,963,785),36785=>array(33,-61,955,789),36786=>array(38,-78,963,834),36787=>array(44,-74,956,836),36788=>array(57,-77,968,785),36789=>array(46,-74,960,827),36790=>array(38,-57,938,814),36791=>array(50,-17,957,811),36792=>array(38,-57,938,814),36793=>array(33,-24,939,823),36794=>array(33,-24,939,804),36795=>array(50,-34,955,832),36796=>array(35,-54,965,820),36797=>array(44,-45,944,793),36798=>array(31,-35,940,825),36799=>array(44,-45,944,835),36800=>array(31,-53,952,817),36801=>array(50,-17,957,828),36802=>array(44,-45,944,793),36803=>array(31,-69,952,793),36804=>array(44,-45,944,832),36805=>array(39,-53,960,817),36806=>array(27,-56,957,841),36807=>array(36,-51,933,827),36808=>array(32,-41,938,798),36809=>array(55,-61,979,815),36810=>array(56,-53,940,781),36811=>array(43,-53,972,835),36812=>array(56,-53,940,782),36813=>array(33,-57,962,841),36814=>array(31,-53,952,833),36815=>array(46,-47,952,827),36816=>array(32,-46,944,800),36817=>array(31,-53,952,828),36818=>array(48,-63,970,829),36819=>array(45,-69,966,832),36820=>array(42,-52,960,822),36821=>array(36,-55,968,852),36822=>array(47,-66,979,827),36823=>array(66,-62,988,817),36824=>array(32,-33,927,812),36825=>array(36,-47,942,815),36826=>array(36,-47,942,801),36827=>array(24,-37,935,817),36828=>array(38,-49,941,809),36829=>array(41,-49,938,816),36830=>array(34,-44,944,810),36831=>array(41,-26,938,806),36832=>array(55,-64,973,844),36833=>array(63,-77,974,833),36834=>array(36,-47,942,808),36835=>array(43,-65,967,829),36836=>array(53,-62,968,842),36837=>array(36,-47,942,808),36838=>array(44,-45,944,827),36839=>array(56,-53,940,830),36840=>array(51,-71,975,841),36841=>array(43,-45,946,829),36842=>array(31,-53,952,831),36843=>array(40,-54,961,834),36844=>array(56,-53,940,820),36845=>array(31,-53,952,817),36846=>array(72,-69,979,840),36847=>array(36,-47,952,803),36848=>array(36,-44,959,828),36849=>array(36,-38,959,837),36850=>array(37,-56,951,815),36851=>array(41,-50,939,793),36852=>array(36,-47,965,813),36853=>array(49,-73,982,835),36854=>array(39,-76,975,837),36855=>array(31,-53,952,831),36856=>array(36,-47,965,840),36857=>array(36,-47,965,831),36858=>array(36,-47,965,813),36859=>array(31,-58,960,857),36860=>array(46,-74,972,827),36861=>array(31,-53,952,842),36862=>array(39,-70,974,832),36863=>array(46,-70,978,849),36864=>array(31,-53,952,818),36865=>array(31,-53,952,859),36866=>array(42,-65,935,859),36867=>array(31,-53,952,828),36868=>array(39,-65,982,851),36869=>array(36,-47,965,837),36870=>array(31,-53,952,838),36871=>array(31,-53,952,833),36872=>array(42,-65,948,858),36873=>array(28,-43,942,807),36874=>array(32,-48,940,807),36875=>array(46,-47,952,841),36876=>array(46,-78,968,826),36877=>array(51,-47,950,829),36878=>array(41,-53,962,801),36879=>array(33,-52,954,831),36880=>array(22,-53,953,817),36881=>array(36,-47,965,832),36882=>array(28,-30,930,839),36883=>array(37,-56,951,830),36884=>array(30,-55,951,849),36885=>array(36,-47,965,813),36886=>array(31,-47,960,830),36887=>array(39,-56,953,815),36888=>array(41,-56,959,838),36889=>array(44,-45,944,816),36890=>array(31,-53,952,817),36891=>array(50,-59,963,821),36892=>array(46,-73,980,823),36893=>array(24,-53,945,829),36894=>array(41,-47,970,813),36895=>array(31,-53,952,836),36896=>array(31,-42,946,830),36897=>array(36,-47,965,839),36898=>array(44,-45,944,839),36899=>array(37,-56,951,830),36900=>array(39,-71,980,822),36901=>array(37,-56,976,799),36902=>array(33,-46,939,787),36903=>array(50,-46,944,809),36904=>array(37,-56,951,836),36905=>array(49,-56,963,847),36906=>array(37,-56,951,824),36907=>array(37,-44,951,811),36908=>array(37,-48,951,836),36909=>array(45,-78,971,844),36910=>array(31,-53,952,829),36911=>array(43,-66,981,847),36912=>array(39,-66,963,834),36913=>array(37,-56,951,799),36914=>array(37,-60,951,831),36915=>array(37,-48,951,821),36916=>array(51,-75,976,829),36917=>array(36,-47,965,837),36918=>array(46,-47,952,833),36919=>array(45,-64,959,791),36920=>array(36,-54,957,841),36921=>array(26,-53,947,834),36922=>array(37,-56,951,835),36923=>array(39,-57,942,792),36924=>array(44,-45,944,799),36925=>array(43,-66,961,826),36926=>array(11,-73,952,836),36927=>array(43,-68,966,818),36928=>array(49,-56,963,845),36929=>array(31,-74,952,837),36930=>array(31,-53,952,848),36931=>array(49,-56,963,833),36932=>array(46,-68,960,835),36933=>array(37,-56,951,807),36934=>array(49,-64,963,845),36935=>array(36,-51,964,814),36936=>array(36,-55,964,812),36937=>array(31,-63,956,831),36938=>array(37,-56,960,842),36939=>array(37,-56,951,799),36940=>array(36,-51,964,826),36941=>array(33,-45,959,815),36942=>array(37,-56,951,799),36943=>array(31,-53,952,801),36944=>array(31,-53,952,801),36945=>array(31,-53,952,843),36946=>array(37,-56,950,821),36947=>array(31,-53,952,847),36948=>array(37,-56,951,834),36949=>array(37,-56,951,844),36950=>array(47,-56,955,810),36951=>array(49,-59,953,820),36952=>array(52,-56,960,832),36953=>array(37,-56,951,837),36954=>array(44,-69,963,841),36955=>array(36,-67,975,834),36956=>array(42,-41,961,823),36957=>array(37,-40,955,831),36958=>array(47,-56,955,828),36959=>array(37,-56,951,799),36960=>array(37,-44,953,835),36961=>array(37,-56,951,837),36962=>array(40,-65,961,829),36963=>array(25,-59,946,832),36964=>array(25,-59,946,817),36965=>array(37,-56,951,834),36966=>array(37,-56,951,807),36967=>array(84,-56,977,838),36968=>array(47,-56,955,834),36969=>array(37,-56,951,839),36970=>array(37,-56,952,835),36971=>array(49,-70,982,827),36972=>array(37,-64,977,831),36973=>array(31,-53,952,830),36974=>array(36,-47,939,835),36975=>array(50,-59,955,795),36976=>array(40,-54,976,843),36977=>array(37,-56,972,831),36978=>array(47,-56,961,815),36979=>array(56,-72,981,832),36980=>array(40,-72,973,836),36981=>array(35,-49,958,841),36982=>array(47,-56,965,838),36983=>array(37,-56,956,807),36984=>array(37,-56,951,799),36985=>array(38,-52,975,826),36986=>array(37,-56,951,835),36987=>array(41,-73,976,820),36988=>array(37,-56,968,838),36989=>array(47,-56,961,835),36990=>array(45,-66,972,840),36991=>array(31,-53,952,824),36992=>array(47,-51,961,837),36993=>array(47,-51,961,829),36994=>array(47,-56,961,841),36995=>array(52,-56,966,841),36996=>array(37,-56,951,808),36997=>array(44,-70,972,846),36998=>array(39,-69,980,826),36999=>array(36,-47,971,828),37000=>array(18,-65,964,846),37001=>array(47,-51,961,837),37002=>array(47,-51,961,838),37003=>array(40,-65,971,848),37004=>array(45,-56,961,825),37005=>array(38,-72,983,848),37006=>array(37,-68,971,820),37007=>array(52,-51,966,820),37008=>array(42,-65,973,813),37009=>array(124,-30,927,784),37010=>array(84,-70,942,782),37011=>array(30,-60,912,790),37012=>array(72,-64,934,788),37013=>array(75,-24,931,841),37014=>array(114,-60,912,819),37015=>array(69,-69,939,787),37016=>array(60,-63,938,794),37017=>array(49,-69,958,799),37018=>array(85,-69,939,818),37019=>array(73,-69,939,781),37020=>array(57,-69,939,844),37021=>array(38,-65,916,842),37022=>array(55,-66,956,827),37023=>array(44,-60,947,838),37024=>array(45,-71,953,786),37025=>array(68,-71,959,841),37026=>array(51,-70,945,785),37027=>array(57,-70,940,786),37028=>array(41,-69,955,816),37029=>array(56,-68,950,832),37030=>array(76,-75,937,830),37031=>array(52,-69,945,785),37032=>array(57,-65,938,833),37033=>array(73,-91,911,814),37034=>array(48,-65,941,785),37035=>array(36,-75,959,830),37036=>array(47,-61,912,837),37037=>array(61,-72,943,834),37038=>array(89,-72,911,823),37039=>array(36,-67,919,831),37040=>array(75,-69,954,833),37041=>array(55,-63,927,828),37042=>array(46,-71,956,827),37043=>array(56,-68,957,784),37044=>array(51,-59,947,797),37045=>array(51,-68,938,786),37046=>array(33,-74,939,811),37047=>array(73,-74,941,780),37048=>array(63,-70,939,828),37049=>array(39,-68,917,809),37050=>array(40,-67,923,804),37051=>array(44,-60,909,829),37052=>array(93,-58,942,788),37053=>array(56,-68,943,824),37054=>array(41,-54,954,840),37055=>array(62,-68,943,827),37056=>array(32,-65,942,839),37057=>array(48,-68,942,840),37058=>array(53,-74,958,835),37059=>array(57,-72,959,829),37060=>array(31,-64,945,850),37061=>array(61,-69,957,783),37062=>array(82,-68,963,824),37063=>array(37,-63,961,847),37064=>array(46,-53,947,860),37065=>array(51,-70,945,785),37066=>array(54,-64,936,822),37067=>array(133,-67,930,833),37068=>array(49,-48,955,826),37069=>array(50,-76,910,845),37070=>array(51,-65,930,832),37071=>array(39,-70,912,820),37072=>array(26,-64,915,835),37073=>array(35,-59,921,832),37074=>array(102,-31,968,826),37075=>array(63,-70,930,780),37076=>array(52,-71,958,813),37077=>array(31,-52,958,852),37078=>array(51,-65,949,788),37079=>array(47,-69,968,837),37080=>array(121,-66,931,787),37081=>array(62,-76,956,826),37082=>array(66,-70,956,781),37083=>array(38,-68,939,834),37084=>array(80,-74,966,827),37085=>array(59,-62,947,836),37086=>array(77,-65,910,833),37087=>array(19,-74,942,829),37088=>array(48,-71,950,777),37089=>array(41,-68,945,787),37090=>array(46,-68,955,785),37091=>array(59,-70,944,823),37092=>array(40,-67,943,834),37093=>array(61,-68,954,786),37094=>array(62,-64,930,786),37095=>array(35,-69,916,783),37096=>array(59,-67,943,830),37097=>array(47,-70,952,836),37098=>array(52,-71,956,827),37099=>array(63,-69,967,847),37100=>array(73,-71,949,829),37101=>array(52,-58,941,837),37102=>array(33,-69,941,786),37103=>array(46,-70,962,831),37104=>array(46,-73,947,787),37105=>array(59,-69,938,827),37106=>array(46,-70,951,834),37107=>array(41,-70,949,828),37108=>array(49,-69,963,825),37109=>array(52,-69,942,831),37110=>array(59,-65,965,840),37111=>array(38,-70,947,833),37112=>array(43,-58,914,831),37113=>array(43,-70,954,786),37114=>array(36,-66,967,830),37115=>array(86,-69,960,783),37116=>array(60,-68,952,841),37117=>array(50,-67,949,835),37118=>array(80,-69,963,786),37119=>array(42,-69,966,785),37120=>array(44,-55,947,838),37121=>array(37,-74,951,826),37122=>array(62,-68,948,785),37123=>array(29,-68,954,843),37124=>array(57,-68,962,785),37125=>array(60,-53,947,848),37126=>array(71,-69,963,782),37127=>array(34,-70,959,838),37128=>array(33,-70,953,835),37129=>array(53,-70,938,839),37130=>array(53,-70,938,830),37131=>array(44,-69,951,826),37132=>array(23,-69,965,848),37133=>array(44,-75,949,783),37134=>array(25,-62,953,840),37135=>array(46,-71,948,802),37136=>array(62,-69,955,842),37137=>array(68,-68,949,785),37138=>array(53,-72,949,842),37139=>array(41,-66,949,841),37140=>array(37,-66,945,844),37141=>array(41,-70,938,831),37142=>array(45,-77,968,783),37143=>array(63,-67,951,837),37144=>array(40,-69,957,843),37145=>array(42,-70,933,783),37146=>array(47,-72,935,825),37147=>array(45,-69,953,835),37148=>array(51,-64,953,850),37149=>array(42,-68,940,785),37150=>array(52,-65,948,830),37151=>array(57,-70,943,824),37152=>array(58,-65,954,795),37153=>array(27,-69,945,838),37154=>array(37,-68,966,784),37155=>array(65,-69,940,838),37156=>array(47,-68,947,803),37157=>array(37,-66,946,844),37158=>array(24,-70,950,830),37159=>array(46,-65,951,832),37160=>array(101,-39,946,829),37161=>array(49,-73,950,781),37162=>array(49,-80,955,833),37163=>array(95,-55,942,853),37164=>array(48,-78,965,836),37165=>array(57,-77,956,839),37166=>array(46,-73,952,836),37167=>array(66,-67,947,849),37168=>array(62,-77,949,833),37169=>array(35,-70,953,836),37170=>array(49,-66,951,787),37171=>array(104,-67,949,787),37172=>array(40,-69,974,824),37173=>array(41,-68,960,797),37174=>array(18,-74,962,847),37175=>array(48,-71,943,830),37176=>array(59,-67,941,834),37177=>array(43,-70,960,793),37178=>array(34,-70,949,845),37179=>array(63,-75,958,829),37180=>array(25,-75,958,827),37181=>array(22,-75,978,858),37182=>array(48,-65,954,789),37183=>array(59,-67,958,832),37184=>array(42,-73,959,829),37185=>array(40,-79,954,836),37186=>array(44,-50,960,801),37187=>array(85,-68,956,796),37188=>array(40,-69,958,825),37189=>array(45,-65,956,837),37190=>array(47,-68,947,827),37191=>array(52,-62,962,844),37192=>array(30,-67,951,805),37193=>array(54,-63,946,779),37194=>array(59,-54,953,788),37195=>array(60,-67,950,840),37196=>array(64,-63,915,844),37197=>array(63,-67,945,790),37198=>array(62,-65,954,832),37199=>array(60,-54,961,825),37200=>array(59,-60,950,790),37201=>array(56,-45,966,798),37202=>array(47,-62,943,790),37203=>array(46,-72,966,849),37204=>array(40,-68,979,837),37205=>array(59,-54,957,809),37206=>array(66,-61,973,836),37207=>array(55,-53,916,808),37208=>array(56,-75,984,791),37209=>array(56,-72,955,826),37210=>array(55,-53,962,790),37211=>array(35,-68,969,787),37212=>array(45,-68,980,842),37213=>array(52,-61,943,782),37214=>array(54,-70,968,837),37215=>array(56,-70,943,816),37216=>array(55,-57,956,790),37217=>array(55,-53,959,836),37218=>array(50,-64,951,835),37219=>array(53,-65,955,830),37220=>array(55,-58,951,836),37221=>array(63,-65,977,828),37222=>array(46,-64,972,820),37223=>array(66,-61,965,849),37224=>array(69,-70,961,833),37225=>array(76,-65,919,839),37226=>array(51,-67,967,840),37227=>array(30,-68,958,820),37228=>array(66,-65,913,835),37229=>array(45,-68,956,834),37230=>array(55,-64,932,790),37231=>array(55,-71,953,816),37232=>array(53,-70,974,836),37233=>array(65,-62,922,837),37234=>array(50,-53,946,790),37235=>array(60,-68,960,825),37236=>array(55,-63,968,841),37237=>array(61,-71,949,830),37238=>array(59,-71,955,840),37239=>array(59,-61,924,829),37240=>array(40,-73,967,849),37241=>array(55,-64,952,830),37242=>array(55,-66,960,828),37243=>array(60,-68,973,835),37244=>array(25,-68,977,833),37245=>array(49,-64,920,771),37246=>array(50,-45,913,775),37247=>array(43,-60,939,841),37248=>array(55,-68,955,822),37249=>array(55,-73,963,831),37250=>array(58,-70,975,820),37251=>array(55,-55,971,831),37252=>array(55,-60,929,826),37253=>array(55,-67,952,838),37254=>array(59,-68,964,832),37255=>array(54,-64,960,831),37256=>array(55,-69,978,839),37257=>array(56,-71,951,835),37258=>array(51,-63,967,793),37259=>array(59,-72,949,818),37260=>array(58,-54,961,789),37261=>array(53,-65,966,787),37262=>array(49,-69,955,834),37263=>array(55,-66,951,825),37264=>array(68,-66,919,828),37265=>array(55,-68,966,790),37266=>array(66,-38,962,798),37267=>array(55,-53,963,830),37268=>array(48,-70,951,844),37269=>array(35,-68,949,845),37270=>array(40,-68,963,787),37271=>array(53,-64,968,834),37272=>array(45,-68,953,822),37273=>array(55,-69,964,824),37274=>array(47,-73,961,821),37275=>array(55,-53,968,821),37276=>array(59,-65,974,847),37277=>array(55,-53,952,829),37278=>array(55,-53,958,790),37279=>array(86,-63,921,831),37280=>array(55,-53,967,828),37281=>array(56,-69,948,838),37282=>array(51,-52,941,840),37283=>array(50,-67,954,844),37284=>array(53,-74,947,845),37285=>array(55,-67,963,799),37286=>array(60,-61,967,848),37287=>array(48,-53,957,790),37288=>array(55,-69,954,827),37289=>array(54,-53,961,848),37290=>array(48,-69,975,790),37291=>array(51,-71,945,784),37292=>array(63,-78,955,853),37293=>array(57,-72,981,823),37294=>array(54,-66,952,833),37295=>array(47,-58,959,836),37296=>array(60,-48,960,811),37297=>array(53,-62,977,846),37298=>array(46,-74,972,825),37299=>array(66,-70,962,784),37300=>array(51,-57,952,829),37301=>array(43,-65,970,828),37302=>array(51,-66,947,847),37303=>array(51,-62,965,838),37304=>array(51,-79,979,837),37305=>array(52,-55,944,803),37306=>array(53,-66,959,832),37307=>array(62,-64,961,835),37308=>array(49,-67,963,826),37309=>array(53,-48,939,810),37310=>array(47,-65,961,838),37311=>array(55,-66,961,837),37312=>array(62,-72,982,842),37313=>array(52,-75,964,833),37314=>array(59,-64,962,848),37315=>array(54,-72,964,790),37316=>array(55,-63,961,837),37317=>array(50,-65,981,795),37318=>array(50,-70,966,824),37319=>array(52,-68,956,829),37320=>array(42,-66,978,827),37321=>array(45,-66,907,842),37322=>array(47,-61,934,806),37323=>array(36,-70,951,821),37324=>array(52,-19,948,796),37325=>array(69,-34,947,831),37326=>array(64,-64,931,784),37327=>array(53,-30,947,789),37328=>array(29,-56,953,844),37329=>array(54,-21,960,856),37330=>array(39,-26,547,829),37331=>array(39,-30,959,829),37332=>array(35,-32,954,824),37333=>array(48,-64,944,828),37334=>array(39,-73,934,829),37335=>array(59,-62,909,831),37336=>array(45,-52,956,843),37337=>array(49,-65,958,833),37338=>array(42,-72,967,845),37339=>array(39,-66,927,834),37340=>array(66,-25,948,833),37341=>array(44,-67,950,831),37342=>array(39,-57,958,829),37343=>array(39,-71,989,829),37344=>array(39,-71,967,829),37345=>array(86,-21,916,833),37346=>array(58,-75,940,840),37347=>array(55,-61,921,841),37348=>array(48,-65,957,832),37349=>array(39,-72,982,829),37350=>array(54,-50,906,813),37351=>array(48,-62,896,837),37352=>array(42,-72,957,829),37353=>array(39,-67,959,831),37354=>array(45,-71,956,829),37355=>array(36,-69,955,826),37356=>array(39,-71,958,823),37357=>array(36,-18,955,824),37358=>array(42,-74,953,834),37359=>array(39,-26,930,833),37360=>array(39,-49,916,829),37361=>array(36,-60,963,835),37362=>array(48,-38,958,829),37363=>array(29,-29,961,827),37364=>array(39,-67,958,834),37365=>array(42,-67,965,830),37366=>array(39,-26,963,841),37367=>array(41,-17,953,827),37368=>array(48,-69,920,831),37369=>array(41,-68,950,830),37370=>array(39,-67,942,829),37371=>array(42,-56,964,843),37372=>array(37,-60,969,823),37373=>array(40,-64,967,834),37374=>array(54,-59,967,827),37375=>array(42,-61,959,847),37376=>array(36,-35,954,830),37377=>array(46,-64,948,835),37378=>array(42,-63,966,839),37379=>array(35,-72,957,834),37380=>array(49,-64,964,831),37381=>array(35,-73,894,841),37382=>array(41,-68,972,836),37383=>array(37,-58,966,840),37384=>array(34,-64,959,827),37385=>array(56,-68,914,823),37386=>array(44,-26,972,836),37387=>array(37,-62,954,840),37388=>array(46,-73,985,837),37389=>array(37,-52,965,839),37390=>array(61,-57,920,841),37391=>array(35,-72,898,823),37392=>array(40,-70,977,840),37393=>array(41,-62,971,831),37394=>array(40,-68,979,840),37395=>array(37,-22,958,840),37396=>array(35,-60,973,829),37397=>array(41,-30,951,833),37398=>array(32,-70,976,832),37399=>array(38,-60,966,838),37400=>array(44,-68,973,841),37401=>array(40,-70,990,834),37402=>array(38,-69,962,831),37403=>array(37,-52,949,840),37404=>array(38,-63,964,836),37405=>array(44,-71,954,840),37406=>array(65,-57,923,839),37407=>array(51,-66,896,840),37408=>array(37,-65,964,840),37409=>array(37,-66,891,840),37410=>array(31,-72,980,832),37411=>array(51,-65,944,830),37412=>array(39,-71,909,827),37413=>array(44,-67,976,826),37414=>array(46,-69,951,833),37415=>array(44,-66,964,841),37416=>array(37,-51,949,840),37417=>array(37,-66,928,840),37418=>array(45,-71,970,827),37419=>array(37,-63,961,842),37420=>array(37,-66,981,840),37421=>array(37,-21,968,823),37422=>array(43,-60,953,833),37423=>array(37,-66,922,842),37424=>array(35,-64,954,846),37425=>array(31,-57,964,839),37426=>array(29,-72,976,839),37427=>array(35,-61,957,833),37428=>array(35,-65,975,846),37429=>array(37,-62,962,840),37430=>array(46,-69,961,831),37431=>array(38,-65,948,833),37432=>array(47,-66,975,833),37433=>array(32,-67,972,839),37434=>array(47,-14,950,831),37435=>array(37,-47,912,843),37436=>array(37,-65,948,844),37437=>array(39,-68,944,837),37438=>array(64,-70,912,828),37439=>array(42,-42,918,827),37440=>array(56,-67,914,823),37441=>array(57,-72,971,850),37442=>array(56,-68,970,833),37443=>array(56,-67,967,828),37444=>array(27,-59,974,841),37445=>array(42,-17,953,826),37446=>array(44,-73,950,829),37447=>array(56,-29,943,830),37448=>array(24,-30,957,829),37449=>array(35,-70,981,829),37450=>array(35,-71,920,830),37451=>array(33,-45,964,834),37452=>array(28,-70,981,831),37453=>array(32,-78,967,837),37454=>array(35,-30,954,834),37455=>array(27,-20,947,834),37456=>array(35,-71,950,838),37457=>array(70,-68,919,845),37458=>array(38,-29,952,833),37459=>array(31,-73,948,834),37460=>array(37,-29,953,828),37461=>array(37,-29,953,828),37462=>array(39,-78,986,840),37463=>array(37,-68,958,833),37464=>array(56,-62,932,829),37465=>array(56,-68,948,823),37466=>array(59,-74,912,837),37467=>array(51,-67,959,823),37468=>array(56,-64,962,837),37469=>array(56,-22,955,835),37470=>array(40,-62,966,829),37471=>array(56,-27,971,823),37472=>array(29,-74,976,830),37473=>array(44,-72,953,834),37474=>array(31,-73,980,831),37475=>array(39,-54,953,837),37476=>array(45,-59,919,834),37477=>array(31,-58,959,838),37478=>array(41,-18,954,832),37479=>array(36,-58,957,828),37480=>array(56,-58,934,836),37481=>array(56,-28,979,844),37482=>array(56,-22,954,830),37483=>array(46,-57,937,831),37484=>array(63,-69,913,831),37485=>array(38,-12,959,830),37486=>array(55,-62,913,838),37487=>array(34,-69,967,837),37488=>array(48,-71,908,838),37489=>array(37,-66,948,823),37490=>array(39,-70,953,844),37491=>array(36,-59,964,824),37492=>array(28,-17,947,835),37493=>array(41,-42,983,832),37494=>array(39,-53,907,847),37495=>array(35,-71,948,837),37496=>array(31,-63,973,840),37497=>array(44,-69,941,831),37498=>array(30,-64,959,833),37499=>array(34,-67,966,824),37500=>array(37,-59,962,854),37501=>array(53,-65,963,835),37502=>array(31,-71,969,830),37503=>array(41,-67,974,847),37504=>array(44,-56,968,827),37505=>array(56,-60,909,836),37506=>array(52,-69,903,835),37507=>array(39,-64,960,835),37508=>array(39,-64,914,844),37509=>array(50,-70,921,829),37510=>array(51,-70,949,833),37511=>array(59,-68,980,835),37512=>array(47,-31,956,837),37513=>array(34,-61,955,841),37514=>array(50,-71,957,836),37515=>array(43,-68,952,835),37516=>array(46,-69,955,841),37517=>array(34,-20,947,835),37518=>array(32,-14,968,800),37519=>array(26,-68,974,823),37520=>array(43,-32,967,828),37521=>array(33,-70,959,837),37522=>array(56,-69,956,823),37523=>array(35,-24,973,830),37524=>array(50,-70,955,834),37525=>array(33,-73,970,830),37526=>array(30,-64,967,839),37527=>array(47,-73,952,837),37528=>array(64,-69,903,840),37529=>array(54,-67,967,834),37530=>array(41,-66,964,838),37531=>array(37,-63,959,837),37532=>array(38,-73,961,832),37533=>array(35,-76,964,832),37534=>array(41,-22,964,848),37535=>array(47,-67,930,837),37536=>array(31,-36,958,831),37537=>array(43,-73,945,831),37538=>array(58,-70,969,832),37539=>array(54,-63,927,837),37540=>array(54,-73,964,832),37541=>array(37,-65,963,844),37542=>array(48,-52,921,834),37543=>array(52,-71,961,835),37544=>array(35,-63,951,848),37545=>array(42,-51,955,829),37546=>array(46,-65,954,837),37547=>array(51,-32,971,837),37548=>array(34,-63,956,832),37549=>array(56,-70,933,826),37550=>array(35,-27,960,825),37551=>array(56,-67,952,824),37552=>array(51,-66,949,835),37553=>array(30,-70,942,841),37554=>array(30,-52,958,841),37555=>array(39,-69,959,833),37556=>array(31,-37,987,838),37557=>array(42,-71,969,846),37558=>array(47,-62,975,835),37559=>array(50,-67,942,833),37560=>array(30,-67,953,827),37561=>array(35,-70,958,838),37562=>array(27,-47,987,832),37563=>array(60,-67,925,836),37564=>array(39,-23,955,835),37565=>array(28,-54,981,831),37566=>array(58,-70,969,832),37567=>array(29,-64,895,840),37568=>array(28,-30,953,839),37569=>array(53,-69,917,819),37570=>array(38,-75,975,832),37571=>array(50,-63,978,846),37572=>array(47,-74,984,835),37573=>array(46,-70,951,834),37574=>array(39,-25,964,835),37575=>array(48,-67,961,833),37576=>array(36,-25,967,838),37577=>array(43,-69,975,841),37578=>array(34,-68,984,840),37579=>array(48,-46,977,854),37580=>array(45,-69,968,834),37581=>array(35,-73,957,835),37582=>array(28,-66,970,844),37583=>array(42,-70,980,835),37584=>array(42,-65,957,834),37585=>array(32,-76,968,841),37586=>array(41,-61,980,841),37587=>array(42,-70,916,833),37588=>array(28,-67,967,848),37589=>array(57,-40,982,825),37590=>array(33,-74,959,838),37591=>array(36,-64,903,844),37592=>array(43,-72,978,823),37593=>array(35,-48,947,839),37594=>array(34,-25,966,842),37595=>array(41,-68,931,832),37596=>array(33,-73,970,838),37597=>array(37,-70,954,840),37598=>array(32,-30,954,833),37599=>array(38,-66,979,833),37600=>array(31,-78,971,846),37601=>array(37,-70,981,840),37602=>array(33,-56,973,838),37603=>array(42,-72,958,829),37604=>array(45,-70,919,834),37605=>array(33,-16,950,838),37606=>array(42,-68,930,829),37607=>array(36,-72,969,838),37608=>array(36,-64,955,836),37609=>array(39,-21,954,830),37610=>array(43,-70,951,835),37611=>array(19,-25,951,835),37612=>array(34,-24,966,833),37613=>array(39,-70,959,834),37614=>array(43,-70,964,840),37615=>array(46,-65,957,831),37616=>array(40,-27,954,836),37617=>array(35,-60,968,831),37618=>array(39,-64,954,835),37619=>array(37,-60,945,838),37620=>array(43,-66,954,838),37621=>array(39,-64,960,835),37622=>array(33,-70,973,843),37623=>array(26,-76,968,826),37624=>array(39,-68,945,830),37625=>array(25,-71,962,835),37626=>array(35,-67,965,831),37627=>array(37,-27,971,782),37628=>array(62,-68,908,824),37629=>array(33,-62,965,838),37630=>array(25,-70,914,836),37631=>array(28,-69,920,833),37632=>array(29,-64,982,841),37633=>array(37,-65,977,833),37634=>array(42,-57,971,842),37635=>array(34,-42,966,836),37636=>array(57,-64,968,841),37637=>array(49,-46,946,832),37638=>array(38,-64,953,842),37639=>array(38,-70,947,841),37640=>array(30,-41,978,839),37641=>array(40,-71,967,837),37642=>array(40,-64,960,845),37643=>array(21,-80,903,821),37644=>array(25,-70,941,836),37645=>array(37,-69,959,842),37646=>array(36,-68,905,836),37647=>array(29,-24,962,833),37648=>array(48,-68,954,832),37649=>array(33,-69,972,842),37650=>array(30,-66,956,826),37651=>array(28,-66,964,837),37652=>array(33,-53,975,841),37653=>array(53,-42,961,837),37654=>array(44,-32,981,836),37655=>array(30,-62,958,842),37656=>array(43,-32,952,832),37657=>array(44,-65,934,844),37658=>array(27,-64,957,832),37659=>array(36,-64,994,845),37660=>array(27,-27,971,840),37661=>array(24,-54,969,838),37662=>array(30,-58,951,846),37663=>array(35,-59,968,843),37664=>array(41,-72,963,839),37665=>array(38,-65,952,837),37666=>array(48,-67,956,832),37667=>array(31,-61,962,835),37668=>array(46,-74,981,833),37669=>array(33,-68,954,843),37670=>array(68,-67,920,849),37671=>array(37,-48,923,860),37672=>array(42,-67,956,836),37673=>array(49,-64,907,838),37674=>array(37,-58,973,838),37675=>array(55,-60,917,824),37676=>array(57,-64,973,835),37677=>array(36,-75,905,840),37678=>array(58,-70,917,836),37679=>array(39,-64,955,836),37680=>array(39,-90,986,836),37681=>array(54,-62,948,844),37682=>array(39,-64,973,836),37683=>array(44,-32,956,824),37684=>array(29,-30,956,825),37685=>array(29,-65,962,833),37686=>array(29,-57,974,841),37687=>array(29,-70,983,835),37688=>array(33,-64,975,836),37689=>array(40,-65,956,836),37690=>array(40,-65,958,837),37691=>array(50,-64,962,846),37692=>array(37,-65,978,838),37693=>array(44,-72,981,833),37694=>array(31,-18,938,825),37695=>array(34,-67,951,834),37696=>array(42,-53,957,845),37697=>array(33,-72,961,833),37698=>array(34,-31,982,843),37699=>array(34,-29,961,842),37700=>array(38,-60,967,832),37701=>array(50,-57,962,831),37702=>array(50,-65,921,830),37703=>array(52,-62,979,844),37704=>array(33,-64,964,835),37705=>array(36,-71,978,828),37706=>array(18,-53,969,847),37707=>array(54,-67,914,834),37708=>array(54,-43,971,817),37709=>array(46,-78,969,833),37710=>array(42,-68,951,837),37711=>array(47,-70,959,832),37712=>array(46,-67,983,839),37713=>array(44,-72,981,835),37714=>array(41,-71,979,834),37715=>array(41,-67,954,834),37716=>array(44,-60,965,839),37717=>array(47,-76,964,824),37718=>array(43,-74,955,818),37719=>array(50,-67,943,843),37720=>array(49,-67,915,830),37721=>array(49,-43,973,817),37722=>array(39,-68,964,825),37723=>array(42,-69,971,830),37724=>array(42,-50,963,842),37725=>array(42,-70,944,842),37726=>array(49,-81,978,832),37727=>array(49,-28,954,832),37728=>array(39,-21,957,851),37729=>array(32,-71,970,829),37730=>array(42,-65,948,842),37731=>array(47,-71,950,829),37732=>array(43,-64,960,844),37733=>array(48,-62,976,841),37734=>array(38,-69,957,841),37735=>array(52,-65,926,836),37736=>array(39,-58,955,835),37737=>array(37,-65,973,836),37738=>array(42,-23,981,842),37739=>array(43,-39,967,842),37740=>array(43,-73,974,833),37741=>array(39,-53,964,844),37742=>array(41,-63,969,840),37743=>array(41,-47,960,848),37744=>array(43,-67,981,844),37745=>array(35,-50,968,845),37746=>array(43,-52,963,843),37747=>array(39,-40,973,837),37748=>array(43,-63,954,843),37749=>array(38,-66,963,823),37750=>array(48,-32,965,823),37751=>array(36,-37,978,824),37752=>array(34,-71,923,833),37753=>array(45,-37,961,834),37754=>array(39,-64,950,838),37755=>array(57,-73,936,824),37756=>array(28,-60,963,842),37757=>array(36,-67,917,840),37758=>array(36,-30,959,842),37759=>array(36,-71,925,838),37760=>array(38,-67,976,837),37761=>array(38,-65,969,834),37762=>array(44,-74,968,837),37763=>array(35,-68,974,844),37764=>array(44,-75,969,842),37765=>array(26,-54,969,846),37766=>array(39,-73,951,833),37767=>array(44,-72,920,818),37768=>array(29,-49,956,848),37769=>array(35,-69,920,833),37770=>array(50,-67,925,847),37771=>array(44,-70,938,839),37772=>array(25,-66,970,847),37773=>array(34,-65,971,834),37774=>array(27,-69,978,842),37775=>array(33,-30,986,843),37776=>array(33,-58,957,835),37777=>array(34,-34,957,833),37778=>array(32,-70,970,826),37779=>array(44,-81,969,822),37780=>array(26,-51,963,842),37781=>array(39,-68,964,845),37782=>array(42,-70,970,837),37783=>array(41,-60,970,855),37784=>array(39,-67,954,826),37785=>array(33,-73,924,823),37786=>array(28,-73,965,838),37787=>array(40,-53,951,843),37788=>array(40,-50,976,846),37789=>array(40,-62,988,835),37790=>array(30,-50,960,845),37791=>array(34,-71,986,827),37792=>array(44,-37,953,834),37793=>array(33,-64,955,851),37794=>array(37,-66,950,839),37795=>array(39,-33,972,835),37796=>array(36,-61,974,836),37797=>array(40,-30,976,836),37798=>array(48,-67,925,830),37799=>array(37,-24,960,832),37800=>array(40,-65,965,840),37801=>array(47,-62,990,836),37802=>array(41,-72,975,835),37803=>array(44,-57,976,823),37804=>array(45,-70,936,832),37805=>array(37,-78,963,833),37806=>array(38,-69,952,836),37807=>array(32,-65,954,837),37808=>array(39,-38,961,824),37809=>array(33,-67,974,837),37810=>array(34,-63,980,838),37811=>array(35,-67,965,846),37812=>array(34,-42,980,836),37813=>array(32,-56,967,843),37814=>array(44,-64,929,818),37815=>array(44,-62,936,838),37816=>array(44,-66,950,837),37817=>array(37,-48,968,822),37818=>array(19,-73,981,837),37819=>array(48,-70,959,840),37820=>array(41,-70,942,835),37821=>array(39,-64,970,839),37822=>array(44,-38,968,818),37823=>array(49,-65,969,855),37824=>array(54,-67,926,834),37825=>array(43,-65,970,839),37826=>array(37,-35,957,828),37827=>array(31,-66,974,837),37828=>array(41,-67,962,838),37829=>array(37,-66,958,847),37830=>array(45,-66,955,830),37831=>array(28,-57,973,848),37832=>array(45,-63,969,835),37833=>array(48,-76,966,834),37834=>array(38,-30,979,846),37835=>array(31,-67,951,829),37836=>array(28,-57,978,844),37837=>array(34,-71,962,831),37838=>array(32,-71,962,831),37839=>array(40,-23,957,824),37840=>array(39,-69,960,841),37841=>array(35,-64,951,833),37842=>array(44,-67,983,841),37843=>array(44,-44,989,850),37844=>array(43,-71,965,840),37845=>array(36,-63,961,845),37846=>array(25,-66,967,837),37847=>array(34,-20,968,832),37848=>array(31,-65,953,833),37849=>array(47,-67,967,837),37850=>array(44,-70,982,835),37851=>array(44,-64,933,839),37852=>array(46,-23,956,827),37853=>array(39,-60,984,841),37854=>array(39,-70,956,839),37855=>array(40,-71,954,847),37856=>array(21,-52,989,843),37857=>array(34,-73,964,836),37858=>array(38,-64,965,824),37859=>array(28,-75,983,840),37860=>array(44,-64,956,835),37861=>array(44,-65,942,831),37862=>array(29,-55,979,847),37863=>array(48,-29,968,826),37864=>array(31,-21,962,836),37865=>array(34,-63,974,843),37866=>array(44,-69,978,828),37867=>array(44,-68,962,826),37868=>array(41,-68,942,835),37869=>array(29,-38,964,828),37870=>array(32,-66,966,848),37871=>array(39,-72,972,823),37872=>array(37,-74,930,841),37873=>array(35,-61,967,852),37874=>array(35,-67,949,848),37875=>array(32,-62,920,846),37876=>array(22,-65,970,841),37877=>array(35,-67,961,833),37878=>array(38,-67,981,836),37879=>array(32,-63,974,830),37880=>array(47,-42,982,825),37881=>array(43,-53,959,837),37882=>array(51,-68,993,848),37883=>array(66,-57,979,840),37884=>array(29,-68,979,837),37885=>array(23,-53,954,840),37886=>array(19,-76,969,834),37887=>array(39,-68,979,832),37888=>array(44,-80,954,834),37889=>array(24,-67,954,838),37890=>array(37,-71,946,839),37891=>array(37,-63,963,839),37892=>array(37,-70,971,839),37893=>array(60,-40,972,839),37894=>array(60,-30,972,846),37895=>array(35,-66,969,850),37896=>array(42,-62,964,841),37897=>array(42,-85,969,824),37898=>array(24,-67,954,838),37899=>array(27,-66,952,837),37900=>array(42,-67,988,825),37901=>array(47,-56,925,839),37902=>array(27,-66,975,844),37903=>array(44,-50,952,858),37904=>array(39,-67,973,846),37905=>array(41,-70,961,835),37906=>array(47,-65,952,833),37907=>array(29,-70,971,832),37908=>array(36,-53,943,839),37909=>array(27,-71,959,834),37910=>array(24,-69,963,836),37911=>array(29,-68,911,838),37912=>array(40,-31,956,839),37913=>array(32,-24,959,837),37914=>array(37,-48,968,839),37915=>array(41,-59,965,830),37916=>array(40,-34,958,847),37917=>array(48,-76,954,838),37918=>array(42,-59,962,839),37919=>array(37,-68,954,839),37920=>array(42,-64,954,844),37921=>array(44,-69,951,824),37922=>array(39,-30,972,826),37923=>array(47,-54,935,839),37924=>array(47,-56,938,834),37925=>array(37,-64,954,845),37926=>array(57,-73,905,839),37927=>array(57,-65,927,822),37928=>array(38,-71,966,835),37929=>array(45,-66,978,830),37930=>array(40,-71,954,833),37931=>array(35,-58,951,843),37932=>array(39,-69,959,829),37933=>array(42,-62,970,850),37934=>array(28,-79,969,847),37935=>array(37,-62,963,842),37936=>array(45,-68,973,834),37937=>array(50,-68,980,842),37938=>array(57,-58,930,827),37939=>array(52,-70,935,837),37940=>array(37,-69,972,845),37941=>array(44,-69,951,824),37942=>array(41,-67,976,837),37943=>array(46,-70,970,830),37944=>array(39,-64,951,840),37945=>array(44,-71,974,826),37946=>array(51,-65,945,838),37947=>array(39,-64,966,831),37948=>array(48,-75,967,830),37949=>array(45,-68,977,835),37950=>array(32,-17,951,838),37951=>array(36,-37,966,844),37952=>array(57,-68,979,835),37953=>array(37,-61,980,843),37954=>array(33,-70,963,836),37955=>array(44,-61,967,835),37956=>array(45,-65,960,835),37957=>array(43,-66,971,834),37958=>array(41,-68,969,826),37959=>array(37,-68,979,833),37960=>array(37,-65,974,829),37961=>array(52,-32,959,831),37962=>array(37,-64,970,835),37963=>array(53,-27,956,825),37964=>array(37,-64,977,849),37965=>array(60,-30,972,804),37966=>array(37,-27,959,839),37967=>array(46,-72,963,839),37968=>array(33,-70,961,831),37969=>array(30,-16,957,844),37970=>array(42,-34,974,841),37971=>array(33,-56,959,837),37972=>array(28,-69,977,845),37973=>array(46,-63,977,844),37974=>array(32,-67,968,839),37975=>array(36,-70,983,834),37976=>array(34,-63,933,830),37977=>array(17,-74,974,834),37978=>array(37,-60,981,845),37979=>array(46,-62,970,839),37980=>array(37,-72,954,839),37981=>array(31,-68,982,832),37982=>array(37,-62,964,842),37983=>array(37,-66,966,841),37984=>array(48,-68,982,840),37985=>array(37,-63,942,839),37986=>array(31,-58,960,847),37987=>array(35,-66,967,854),37988=>array(39,-68,969,827),37989=>array(34,-65,974,852),37990=>array(17,-57,989,839),37991=>array(34,-61,959,849),37992=>array(31,-65,973,837),37993=>array(30,-30,958,817),37994=>array(46,-72,957,829),37995=>array(32,-73,973,856),37996=>array(39,-64,964,839),37997=>array(49,-64,927,829),37998=>array(38,-65,964,831),37999=>array(27,-62,980,837),38000=>array(28,-68,969,845),38001=>array(38,-58,965,842),38002=>array(40,-67,974,854),38003=>array(31,-67,986,844),38004=>array(47,-67,951,828),38005=>array(36,-56,957,837),38006=>array(31,-67,975,834),38007=>array(32,-69,955,822),38008=>array(42,-27,969,827),38009=>array(36,-66,963,848),38010=>array(22,-65,967,839),38011=>array(34,-66,977,842),38012=>array(36,-70,960,829),38013=>array(48,-70,959,838),38014=>array(43,-29,967,845),38015=>array(52,-37,962,834),38016=>array(36,-72,974,833),38017=>array(35,-65,984,834),38018=>array(31,-71,970,832),38019=>array(49,-76,937,831),38020=>array(43,-65,961,846),38021=>array(249,-26,702,820),38022=>array(34,-37,943,826),38023=>array(39,-28,938,830),38024=>array(39,-69,933,830),38025=>array(39,-53,939,830),38026=>array(60,-64,890,828),38027=>array(39,-67,957,830),38028=>array(36,-65,926,822),38029=>array(39,-17,944,830),38030=>array(39,-75,942,830),38031=>array(35,-64,896,832),38032=>array(50,-64,931,827),38033=>array(39,-66,965,830),38034=>array(39,-74,942,830),38035=>array(39,-63,904,838),38036=>array(37,-59,902,830),38037=>array(39,-70,933,830),38038=>array(37,-66,926,830),38039=>array(35,-67,960,830),38040=>array(38,-63,948,830),38041=>array(28,-67,926,820),38042=>array(33,-72,952,828),38043=>array(39,-69,956,830),38044=>array(39,-30,937,830),38045=>array(39,-46,955,830),38046=>array(39,-51,958,830),38047=>array(39,-66,906,830),38048=>array(36,-60,914,830),38049=>array(39,-60,943,830),38050=>array(37,-58,913,830),38051=>array(39,-72,965,830),38052=>array(39,-72,960,837),38053=>array(39,-67,873,830),38054=>array(39,-69,963,836),38055=>array(39,-60,907,832),38056=>array(39,-52,918,839),38057=>array(39,-61,903,830),38058=>array(39,-68,963,845),38059=>array(39,-69,943,834),38060=>array(39,-69,966,830),38061=>array(39,-69,933,830),38062=>array(39,-28,935,826),38063=>array(39,-34,958,830),38064=>array(33,-28,934,830),38065=>array(38,-70,962,830),38066=>array(20,-22,950,823),38067=>array(39,-66,941,830),38068=>array(39,-67,940,831),38069=>array(25,-56,968,837),38070=>array(39,-59,946,830),38071=>array(39,-36,938,830),38072=>array(38,-70,927,833),38073=>array(39,-71,948,841),38074=>array(43,-64,949,826),38075=>array(39,-66,931,830),38076=>array(54,-70,894,826),38077=>array(41,-14,929,826),38078=>array(44,-69,897,826),38079=>array(29,-45,894,826),38080=>array(42,-73,888,821),38081=>array(36,-70,954,832),38082=>array(39,-71,903,843),38083=>array(37,-79,955,847),38084=>array(32,-60,955,832),38085=>array(43,-69,930,826),38086=>array(42,-70,915,834),38087=>array(43,-45,964,834),38088=>array(38,-66,937,841),38089=>array(24,-65,937,839),38090=>array(39,-33,940,846),38091=>array(33,-76,950,830),38092=>array(40,-62,937,827),38093=>array(46,-70,955,837),38094=>array(35,-60,955,826),38095=>array(30,-53,914,835),38096=>array(37,-66,949,829),38097=>array(39,-34,941,828),38098=>array(29,-66,937,826),38099=>array(39,-33,954,828),38100=>array(39,-45,957,826),38101=>array(37,-67,937,835),38102=>array(42,-72,945,827),38103=>array(31,-64,927,829),38104=>array(33,-72,935,818),38105=>array(36,-70,933,831),38106=>array(31,-18,947,829),38107=>array(55,-54,894,822),38108=>array(28,-72,917,823),38109=>array(49,-71,900,817),38110=>array(39,-68,908,816),38111=>array(45,-53,905,827),38112=>array(32,-19,948,824),38113=>array(50,-67,916,830),38114=>array(38,-66,950,837),38115=>array(40,-73,938,830),38116=>array(19,-71,951,833),38117=>array(49,-52,939,827),38118=>array(38,-64,958,834),38119=>array(9,-66,927,828),38120=>array(20,-27,936,816),38121=>array(20,-57,948,825),38122=>array(38,-69,958,845),38123=>array(19,-68,948,833),38124=>array(39,-69,945,821),38125=>array(44,-72,885,840),38126=>array(17,-62,919,825),38127=>array(48,-35,954,834),38128=>array(29,-65,952,835),38129=>array(27,-73,953,840),38130=>array(34,-68,938,847),38131=>array(19,-66,942,844),38132=>array(23,-61,891,822),38133=>array(33,-65,934,844),38134=>array(47,-60,971,825),38135=>array(28,-65,911,835),38136=>array(32,-64,923,832),38137=>array(12,-57,923,822),38138=>array(40,-62,934,832),38139=>array(27,-48,947,821),38140=>array(39,-61,970,823),38141=>array(19,-63,951,833),38142=>array(32,-56,943,825),38143=>array(31,-21,930,819),38144=>array(39,-69,923,831),38145=>array(37,-70,955,830),38146=>array(32,-27,952,833),38147=>array(39,-28,942,830),38148=>array(45,-76,916,833),38149=>array(34,-60,903,839),38150=>array(39,-67,941,827),38151=>array(37,-66,948,833),38152=>array(36,-68,963,827),38153=>array(22,-22,965,832),38154=>array(44,-71,944,819),38155=>array(29,-63,952,839),38156=>array(39,-73,943,831),38157=>array(40,-73,957,832),38158=>array(52,-61,896,830),38159=>array(45,-62,895,828),38160=>array(39,-74,942,835),38161=>array(61,-69,908,836),38162=>array(27,-66,961,843),38163=>array(19,-68,963,833),38164=>array(27,-70,914,833),38165=>array(30,-69,949,832),38166=>array(43,-72,950,828),38167=>array(35,-66,933,832),38168=>array(31,-69,943,837),38169=>array(50,-66,939,829),38170=>array(39,-69,939,827),38171=>array(24,-66,976,843),38172=>array(39,-63,970,839),38173=>array(30,-76,940,827),38174=>array(33,-67,967,833),38175=>array(40,-49,953,827),38176=>array(39,-63,909,826),38177=>array(28,-68,917,815),38178=>array(36,-73,900,827),38179=>array(43,-60,908,834),38180=>array(29,-30,932,833),38181=>array(35,-70,937,834),38182=>array(47,-68,904,846),38183=>array(29,-68,921,833),38184=>array(30,-71,961,824),38185=>array(42,-43,962,833),38186=>array(32,-28,953,822),38187=>array(38,-77,942,834),38188=>array(39,-62,952,842),38189=>array(42,-76,952,839),38190=>array(44,-67,955,826),38191=>array(43,-73,928,827),38192=>array(35,-36,939,821),38193=>array(34,-67,918,842),38194=>array(30,-64,959,832),38195=>array(29,-64,974,836),38196=>array(32,-64,959,837),38197=>array(40,-61,936,827),38198=>array(33,-34,957,827),38199=>array(30,-56,948,827),38200=>array(36,-66,943,841),38201=>array(38,-71,957,833),38202=>array(34,-30,959,838),38203=>array(37,-78,959,823),38204=>array(33,-71,966,832),38205=>array(43,-37,950,834),38206=>array(38,-68,964,842),38207=>array(31,-72,968,844),38208=>array(39,-82,957,846),38209=>array(39,-69,977,829),38210=>array(31,-67,953,824),38211=>array(29,-63,961,837),38212=>array(37,-70,932,826),38213=>array(39,-76,903,827),38214=>array(28,-80,957,810),38215=>array(21,-66,951,838),38216=>array(29,-53,951,843),38217=>array(19,-68,937,833),38218=>array(40,-69,946,828),38219=>array(29,-63,970,835),38220=>array(32,-73,945,833),38221=>array(37,-69,949,843),38222=>array(31,-75,968,842),38223=>array(35,-69,917,833),38224=>array(37,-72,919,848),38225=>array(37,-73,927,848),38226=>array(30,-27,951,832),38227=>array(22,-58,950,840),38228=>array(43,-60,941,826),38229=>array(29,-72,977,841),38230=>array(33,-66,956,833),38231=>array(36,-25,949,833),38232=>array(30,-62,973,833),38233=>array(42,-71,946,827),38234=>array(33,-74,919,833),38235=>array(33,-63,949,851),38236=>array(40,-70,958,836),38237=>array(31,-66,946,844),38238=>array(24,-68,965,839),38239=>array(31,-60,971,846),38240=>array(31,-61,973,831),38241=>array(34,-73,941,821),38242=>array(31,-77,970,830),38243=>array(35,-68,956,842),38244=>array(23,-65,961,833),38245=>array(43,-65,941,835),38246=>array(24,-72,959,836),38247=>array(31,-62,894,825),38248=>array(30,-66,943,843),38249=>array(50,-70,952,837),38250=>array(24,-58,958,822),38251=>array(43,-29,966,832),38252=>array(37,-66,968,832),38253=>array(51,-73,918,827),38254=>array(29,-76,974,833),38255=>array(29,-60,914,833),38256=>array(19,-80,953,844),38257=>array(24,-37,950,842),38258=>array(26,-74,959,842),38259=>array(27,-69,952,850),38260=>array(29,-62,964,842),38261=>array(29,-68,965,842),38262=>array(25,-80,971,843),38263=>array(69,-69,942,800),38264=>array(89,-16,892,784),38265=>array(57,-67,965,850),38266=>array(57,-72,962,831),38267=>array(58,-73,976,821),38268=>array(63,-73,921,785),38269=>array(60,-68,975,827),38270=>array(44,-65,986,786),38271=>array(60,-54,957,823),38272=>array(112,-71,871,782),38273=>array(132,-64,882,789),38274=>array(116,-67,890,788),38275=>array(125,-64,875,789),38276=>array(113,-73,936,803),38277=>array(125,-64,874,789),38278=>array(125,-70,888,782),38279=>array(132,-64,883,791),38280=>array(136,-75,895,783),38281=>array(109,-68,891,785),38282=>array(110,-74,891,779),38283=>array(110,-51,890,806),38284=>array(104,-61,909,792),38285=>array(109,-62,910,790),38286=>array(106,-53,883,797),38287=>array(109,-63,890,796),38288=>array(101,-70,903,782),38289=>array(129,-63,886,797),38290=>array(126,-55,899,801),38291=>array(125,-66,892,784),38292=>array(125,-65,902,790),38293=>array(125,-64,875,789),38294=>array(132,-64,882,789),38295=>array(108,-59,892,799),38296=>array(127,-60,883,796),38297=>array(132,-64,882,789),38298=>array(125,-64,875,789),38299=>array(128,-64,889,787),38300=>array(118,-69,898,782),38301=>array(109,-64,891,788),38302=>array(121,-68,900,783),38303=>array(112,-61,900,790),38304=>array(132,-64,882,789),38305=>array(109,-67,894,790),38306=>array(132,-64,882,789),38307=>array(113,-58,887,798),38308=>array(112,-62,888,789),38309=>array(125,-61,885,794),38310=>array(125,-64,875,789),38311=>array(110,-68,900,786),38312=>array(119,-71,894,791),38313=>array(112,-67,900,789),38314=>array(106,-68,896,786),38315=>array(113,-64,894,788),38316=>array(110,-64,890,788),38317=>array(117,-65,907,790),38318=>array(101,-59,899,791),38319=>array(125,-64,875,789),38320=>array(121,-61,895,787),38321=>array(112,-63,888,801),38322=>array(112,-54,888,802),38323=>array(125,-64,875,789),38324=>array(109,-64,891,788),38325=>array(113,-68,910,783),38326=>array(123,-70,912,789),38327=>array(32,-70,928,829),38328=>array(125,-64,875,789),38329=>array(106,-67,894,788),38330=>array(112,-70,916,796),38331=>array(120,-64,894,793),38332=>array(108,-65,894,797),38333=>array(110,-65,901,789),38334=>array(116,-64,906,790),38335=>array(124,-68,912,782),38336=>array(107,-69,893,810),38337=>array(125,-64,875,789),38338=>array(125,-64,875,789),38339=>array(130,-68,906,783),38340=>array(125,-64,875,799),38341=>array(110,-63,888,812),38342=>array(106,-59,890,796),38343=>array(108,-59,892,803),38344=>array(114,-65,909,790),38345=>array(101,-52,894,797),38346=>array(107,-67,897,783),38347=>array(113,-67,898,792),38348=>array(117,-68,904,788),38349=>array(123,-69,913,784),38350=>array(125,-64,875,789),38351=>array(125,-64,875,789),38352=>array(124,-69,914,789),38353=>array(110,-64,911,794),38354=>array(98,-52,895,805),38355=>array(128,-69,908,782),38356=>array(123,-71,910,785),38357=>array(115,-66,907,791),38358=>array(120,-56,895,794),38359=>array(100,-61,900,800),38360=>array(132,-64,882,789),38361=>array(119,-64,881,789),38362=>array(101,-56,893,794),38363=>array(114,-65,897,788),38364=>array(104,-70,904,792),38365=>array(102,-68,898,784),38366=>array(121,-68,916,783),38367=>array(116,-67,893,784),38368=>array(119,-69,917,790),38369=>array(114,-61,902,793),38370=>array(97,-70,902,785),38371=>array(116,-67,892,787),38372=>array(118,-68,915,789),38373=>array(116,-73,908,785),38374=>array(125,-64,875,789),38375=>array(125,-64,875,797),38376=>array(116,-57,874,823),38377=>array(115,-67,853,801),38378=>array(120,-57,879,821),38379=>array(100,-67,867,826),38380=>array(116,-57,874,823),38381=>array(106,-56,860,820),38382=>array(112,-64,864,802),38383=>array(98,-57,869,832),38384=>array(123,-59,883,815),38385=>array(109,-67,862,822),38386=>array(108,-65,873,818),38387=>array(104,-68,864,826),38388=>array(100,-60,859,820),38389=>array(107,-66,864,816),38390=>array(110,-69,865,826),38391=>array(121,-63,874,826),38392=>array(105,-63,872,823),38393=>array(109,-60,875,821),38394=>array(96,-61,870,819),38395=>array(111,-63,873,824),38396=>array(96,-64,867,823),38397=>array(119,-65,874,817),38398=>array(109,-61,867,828),38399=>array(109,-61,867,828),38400=>array(116,-59,889,824),38401=>array(104,-61,880,810),38402=>array(95,-60,866,830),38403=>array(100,-62,873,829),38404=>array(108,-63,862,817),38405=>array(100,-64,877,821),38406=>array(121,-64,879,823),38407=>array(111,-64,889,821),38408=>array(98,-69,871,818),38409=>array(99,-66,873,811),38410=>array(106,-70,872,822),38411=>array(109,-71,865,817),38412=>array(100,-67,868,826),38413=>array(103,-67,865,821),38414=>array(101,-63,873,815),38415=>array(109,-69,862,813),38416=>array(104,-59,858,830),38417=>array(106,-55,865,822),38418=>array(108,-64,874,828),38419=>array(108,-64,874,828),38420=>array(98,-56,876,831),38421=>array(91,-69,871,822),38422=>array(93,-66,870,821),38423=>array(103,-64,872,834),38424=>array(93,-66,870,821),38425=>array(97,-67,875,826),38426=>array(93,-64,868,830),38427=>array(112,-64,888,830),38428=>array(49,-69,942,854),38429=>array(358,-68,720,782),38430=>array(115,-69,926,824),38431=>array(101,-63,942,830),38432=>array(102,-63,960,789),38433=>array(104,-68,935,824),38434=>array(134,-63,964,791),38435=>array(109,-62,949,834),38436=>array(112,-61,969,832),38437=>array(112,-63,970,795),38438=>array(112,-69,959,820),38439=>array(112,-64,955,829),38440=>array(119,-68,959,793),38441=>array(119,-65,939,831),38442=>array(104,-67,964,795),38443=>array(86,-70,959,783),38444=>array(107,-52,959,858),38445=>array(109,-69,952,840),38446=>array(98,-68,935,788),38447=>array(119,-61,954,835),38448=>array(111,-58,960,829),38449=>array(121,-64,952,829),38450=>array(103,-77,953,827),38451=>array(99,-64,875,784),38452=>array(110,-69,883,788),38453=>array(80,-59,951,835),38454=>array(96,-63,946,837),38455=>array(96,-58,950,800),38456=>array(96,-68,963,837),38457=>array(110,-70,960,824),38458=>array(115,-69,965,832),38459=>array(97,-73,949,782),38460=>array(140,-63,964,845),38461=>array(135,-64,953,829),38462=>array(136,-77,975,850),38463=>array(93,-75,927,778),38464=>array(102,-71,946,824),38465=>array(102,-71,954,839),38466=>array(99,-68,948,836),38467=>array(116,-71,955,780),38468=>array(110,-79,945,842),38469=>array(89,-61,945,786),38470=>array(100,-50,924,838),38471=>array(98,-63,932,826),38472=>array(88,-63,930,826),38473=>array(96,-64,921,786),38474=>array(124,-73,942,834),38475=>array(99,-82,936,792),38476=>array(104,-69,941,785),38477=>array(101,-68,955,846),38478=>array(116,-70,966,823),38479=>array(111,-63,927,825),38480=>array(114,-61,945,795),38481=>array(110,-64,929,786),38482=>array(108,-77,956,845),38483=>array(103,-68,955,829),38484=>array(109,-63,960,849),38485=>array(100,-73,950,821),38486=>array(109,-69,972,843),38487=>array(109,-68,918,833),38488=>array(116,-69,958,783),38489=>array(81,-65,958,786),38490=>array(104,-69,962,833),38491=>array(95,-61,964,827),38492=>array(108,-74,958,829),38493=>array(89,-65,951,836),38494=>array(113,-62,959,838),38495=>array(123,-64,953,829),38496=>array(81,-67,951,839),38497=>array(116,-66,966,836),38498=>array(100,-70,959,831),38499=>array(102,-67,950,835),38500=>array(111,-65,956,853),38501=>array(108,-65,909,851),38502=>array(99,-66,952,831),38503=>array(99,-67,922,783),38504=>array(99,-67,929,783),38505=>array(100,-67,944,827),38506=>array(97,-67,939,835),38507=>array(115,-70,953,826),38508=>array(74,-75,963,795),38509=>array(116,-69,953,832),38510=>array(100,-69,954,835),38511=>array(110,-68,965,828),38512=>array(110,-68,964,843),38513=>array(104,-68,909,832),38514=>array(78,-70,935,810),38515=>array(104,-79,950,827),38516=>array(128,-69,974,845),38517=>array(95,-67,970,831),38518=>array(116,-62,917,837),38519=>array(119,-64,896,839),38520=>array(103,-58,951,833),38521=>array(113,-71,948,838),38522=>array(97,-66,958,846),38523=>array(119,-64,939,791),38524=>array(128,-71,967,830),38525=>array(89,-71,934,779),38526=>array(103,-77,967,783),38527=>array(93,-54,958,797),38528=>array(110,-58,956,828),38529=>array(99,-56,954,798),38530=>array(110,-68,964,851),38531=>array(103,-52,969,863),38532=>array(107,-61,972,791),38533=>array(99,-55,902,800),38534=>array(93,-60,959,848),38535=>array(97,-67,961,829),38536=>array(90,-60,964,800),38537=>array(114,-64,959,819),38538=>array(101,-71,950,837),38539=>array(92,-68,927,845),38540=>array(92,-68,943,844),38541=>array(92,-74,932,844),38542=>array(100,-60,958,832),38543=>array(99,-64,942,825),38544=>array(113,-62,952,828),38545=>array(116,-67,957,829),38546=>array(118,-68,963,843),38547=>array(118,-65,957,836),38548=>array(96,-56,932,801),38549=>array(92,-70,941,784),38550=>array(102,-70,928,839),38551=>array(97,-71,956,819),38552=>array(86,-64,957,804),38553=>array(109,-67,960,819),38554=>array(93,-69,954,835),38555=>array(93,-68,950,841),38556=>array(95,-65,941,830),38557=>array(93,-74,916,843),38558=>array(109,-72,983,832),38559=>array(83,-73,970,842),38560=>array(113,-62,965,838),38561=>array(113,-78,965,831),38562=>array(111,-65,973,823),38563=>array(100,-70,957,833),38564=>array(110,-66,960,836),38565=>array(110,-64,963,837),38566=>array(96,-68,937,845),38567=>array(85,-68,963,809),38568=>array(106,-68,967,838),38569=>array(98,-74,970,839),38570=>array(106,-66,962,855),38571=>array(106,-73,954,832),38572=>array(111,-68,947,781),38573=>array(106,-62,953,794),38574=>array(92,-57,952,864),38575=>array(101,-65,938,833),38576=>array(100,-75,934,786),38577=>array(112,-59,953,832),38578=>array(93,-69,920,826),38579=>array(38,-69,984,839),38580=>array(77,-66,936,830),38581=>array(85,-68,955,835),38582=>array(65,-57,958,833),38583=>array(47,-71,963,830),38584=>array(47,-71,963,828),38585=>array(31,-69,954,845),38586=>array(36,-69,937,847),38587=>array(32,-76,968,844),38588=>array(53,-69,947,840),38589=>array(34,-65,897,837),38590=>array(40,-61,932,824),38591=>array(53,-70,953,826),38592=>array(46,-73,948,833),38593=>array(39,-66,939,803),38594=>array(38,-68,951,831),38595=>array(49,-68,953,830),38596=>array(36,-68,953,827),38597=>array(48,-59,953,837),38598=>array(55,-67,962,831),38599=>array(31,-75,924,818),38600=>array(36,-67,952,834),38601=>array(55,-63,957,836),38602=>array(40,-67,956,842),38603=>array(40,-61,932,843),38604=>array(34,-71,956,833),38605=>array(49,-72,948,824),38606=>array(42,-59,956,837),38607=>array(40,-49,916,830),38608=>array(40,-78,928,833),38609=>array(39,-63,953,833),38610=>array(30,-70,949,841),38611=>array(28,-65,954,839),38612=>array(38,-70,955,827),38613=>array(31,-71,952,836),38614=>array(59,-65,954,828),38615=>array(53,-63,950,839),38616=>array(36,-71,975,826),38617=>array(42,-70,958,843),38618=>array(37,-62,946,833),38619=>array(43,-68,954,847),38620=>array(45,-61,955,833),38621=>array(53,-65,954,839),38622=>array(38,-68,956,842),38623=>array(46,-65,939,839),38624=>array(14,-59,925,822),38625=>array(44,-71,952,824),38626=>array(64,-73,957,834),38627=>array(43,-70,950,834),38628=>array(53,-82,914,809),38629=>array(32,-67,970,839),38630=>array(14,-59,965,822),38631=>array(20,-41,956,837),38632=>array(82,-65,943,778),38633=>array(60,-60,955,790),38634=>array(96,-69,888,800),38635=>array(75,-58,929,797),38636=>array(41,-63,948,784),38637=>array(69,-48,965,802),38638=>array(54,-34,964,796),38639=>array(59,-63,963,790),38640=>array(46,-62,971,822),38641=>array(46,-62,941,798),38642=>array(76,-71,930,805),38643=>array(30,-68,916,772),38644=>array(48,-16,941,781),38645=>array(45,-76,982,785),38646=>array(43,-63,961,810),38647=>array(105,-67,914,786),38648=>array(73,-67,938,785),38649=>array(41,-37,956,790),38650=>array(47,-64,926,787),38651=>array(85,-32,945,802),38652=>array(60,-67,936,781),38653=>array(66,-64,941,783),38654=>array(41,-68,941,782),38655=>array(55,-68,975,785),38656=>array(79,-70,930,787),38657=>array(32,-70,948,777),38658=>array(45,-62,981,792),38659=>array(68,-72,935,796),38660=>array(74,-52,916,800),38661=>array(78,-68,953,782),38662=>array(29,-72,947,811),38663=>array(35,-71,965,808),38664=>array(47,-64,951,791),38665=>array(70,-65,947,790),38666=>array(75,-28,930,778),38667=>array(73,-79,947,789),38668=>array(39,-59,899,787),38669=>array(56,-67,935,790),38670=>array(77,-67,943,790),38671=>array(61,-64,924,787),38672=>array(57,-67,974,787),38673=>array(67,-62,942,798),38674=>array(56,-67,970,827),38675=>array(39,-67,956,789),38676=>array(67,-54,939,798),38677=>array(55,-35,962,829),38678=>array(40,-67,968,789),38679=>array(81,-82,965,798),38680=>array(54,-67,913,788),38681=>array(34,-72,986,792),38682=>array(113,-53,949,791),38683=>array(68,-70,938,791),38684=>array(65,-68,909,785),38685=>array(96,-74,911,783),38686=>array(92,-59,967,813),38687=>array(46,-71,956,783),38688=>array(64,-72,968,783),38689=>array(43,-73,981,789),38690=>array(43,-72,969,824),38691=>array(58,-75,952,799),38692=>array(89,-55,902,802),38693=>array(54,-59,965,799),38694=>array(48,-67,967,787),38695=>array(51,-71,962,823),38696=>array(52,-60,939,800),38697=>array(90,-69,927,787),38698=>array(41,-64,924,797),38699=>array(82,-69,919,785),38700=>array(59,-69,941,783),38701=>array(52,-66,891,778),38702=>array(58,-49,955,780),38703=>array(51,-31,979,779),38704=>array(56,-65,964,796),38705=>array(60,-66,927,832),38706=>array(70,-62,965,817),38707=>array(88,-56,938,787),38708=>array(53,-16,975,829),38709=>array(63,-68,957,785),38710=>array(53,-53,959,785),38711=>array(83,-67,936,783),38712=>array(68,-70,900,815),38713=>array(31,-72,946,792),38714=>array(44,-63,964,819),38715=>array(57,-54,951,807),38716=>array(55,-64,971,846),38717=>array(60,-69,962,801),38718=>array(54,-56,949,794),38719=>array(43,-62,992,823),38720=>array(77,-70,948,808),38721=>array(94,-73,928,800),38722=>array(48,-73,941,790),38723=>array(33,-65,967,787),38724=>array(72,-64,928,799),38725=>array(48,-47,970,836),38726=>array(53,-56,949,829),38727=>array(65,-67,961,786),38728=>array(74,-28,929,779),38729=>array(55,-66,978,836),38730=>array(79,-51,934,795),38731=>array(61,-68,957,792),38732=>array(70,-79,939,825),38733=>array(42,-60,971,763),38734=>array(95,-58,971,763),38735=>array(43,-60,971,823),38736=>array(24,-50,981,809),38737=>array(104,-65,915,837),38738=>array(104,-65,915,837),38739=>array(51,-67,927,821),38740=>array(51,-67,938,852),38741=>array(38,-66,948,836),38742=>array(41,-66,952,840),38743=>array(55,-72,959,831),38744=>array(68,-63,968,841),38745=>array(70,-58,938,835),38746=>array(55,-74,976,832),38747=>array(53,-65,968,845),38748=>array(55,-72,950,829),38749=>array(48,-63,968,848),38750=>array(49,-65,944,826),38751=>array(49,-44,959,820),38752=>array(44,-73,925,838),38753=>array(36,-73,970,837),38754=>array(69,-77,924,784),38755=>array(69,-77,924,784),38756=>array(49,-26,963,849),38757=>array(31,-68,955,800),38758=>array(48,-57,957,797),38759=>array(33,-68,990,833),38760=>array(59,-69,949,807),38761=>array(73,-69,927,829),38762=>array(60,-69,951,825),38763=>array(57,-65,960,830),38764=>array(57,-69,953,831),38765=>array(54,-70,915,830),38766=>array(71,-50,919,851),38767=>array(51,-50,949,840),38768=>array(62,-68,969,828),38769=>array(62,-72,971,828),38770=>array(60,-68,968,833),38771=>array(60,-69,952,832),38772=>array(44,-67,969,824),38773=>array(60,-66,951,832),38774=>array(60,-65,956,835),38775=>array(63,-53,896,843),38776=>array(62,-74,971,837),38777=>array(48,-71,928,838),38778=>array(62,-64,986,830),38779=>array(65,-72,966,822),38780=>array(53,-64,955,829),38781=>array(63,-50,956,844),38782=>array(53,-70,947,824),38783=>array(65,-53,924,847),38784=>array(66,-71,917,831),38785=>array(69,-72,967,831),38786=>array(53,-71,967,823),38787=>array(61,-70,963,824),38788=>array(55,-67,961,824),38789=>array(42,-67,961,835),38790=>array(43,-70,957,823),38791=>array(53,-70,925,823),38792=>array(66,-73,978,843),38793=>array(66,-72,960,827),38794=>array(60,-69,953,829),38795=>array(53,-64,950,836),38796=>array(82,-58,966,830),38797=>array(59,-65,951,836),38798=>array(60,-71,970,830),38799=>array(53,-72,944,805),38800=>array(66,-68,940,834),38801=>array(51,-68,937,820),38802=>array(51,-66,949,826),38803=>array(51,-68,956,820),38804=>array(61,-70,969,838),38805=>array(49,-68,971,836),38806=>array(59,-74,959,836),38807=>array(39,-67,968,839),38808=>array(52,-70,943,835),38809=>array(62,-52,916,842),38810=>array(55,-50,955,859),38811=>array(73,-67,954,848),38812=>array(63,-68,961,829),38813=>array(64,-70,936,825),38814=>array(63,-73,959,830),38815=>array(73,-64,960,847),38816=>array(63,-65,919,847),38817=>array(62,-62,953,836),38818=>array(51,-68,976,828),38819=>array(45,-65,965,837),38820=>array(60,-67,954,836),38821=>array(56,-69,977,840),38822=>array(56,-66,968,841),38823=>array(56,-65,947,843),38824=>array(68,-69,922,827),38825=>array(46,-66,914,837),38826=>array(43,-68,952,841),38827=>array(66,-68,918,843),38828=>array(55,-72,967,829),38829=>array(47,-70,962,832),38830=>array(63,-68,975,826),38831=>array(53,-72,913,817),38832=>array(63,-69,951,817),38833=>array(53,-69,926,848),38834=>array(47,-79,952,821),38835=>array(51,-50,968,847),38836=>array(52,-70,948,820),38837=>array(47,-79,995,841),38838=>array(55,-48,943,855),38839=>array(54,-79,946,821),38840=>array(46,-69,952,825),38841=>array(51,-55,948,854),38842=>array(55,-70,956,824),38843=>array(65,-67,961,824),38844=>array(65,-68,970,833),38845=>array(65,-67,964,841),38846=>array(47,-67,948,836),38847=>array(54,-68,960,834),38848=>array(69,-65,961,831),38849=>array(62,-68,956,829),38850=>array(39,-65,950,842),38851=>array(55,-73,949,835),38852=>array(60,-73,967,823),38853=>array(53,-71,960,828),38854=>array(51,-76,968,834),38855=>array(66,-73,960,832),38856=>array(65,-64,981,839),38857=>array(68,-65,961,829),38858=>array(68,-58,946,808),38859=>array(72,-64,931,840),38860=>array(73,-62,901,844),38861=>array(59,-70,981,843),38862=>array(54,-71,981,841),38863=>array(39,-68,968,852),38864=>array(58,-69,985,847),38865=>array(23,-68,968,825),38866=>array(51,-70,943,834),38867=>array(54,-66,946,837),38868=>array(53,-75,973,836),38869=>array(68,-68,954,841),38870=>array(66,-67,977,840),38871=>array(59,-69,954,846),38872=>array(53,-67,976,840),38873=>array(39,-73,975,837),38874=>array(60,-66,949,834),38875=>array(68,-76,988,834),38876=>array(62,-70,951,842),38877=>array(57,-73,956,832),38878=>array(57,-70,959,839),38879=>array(53,-67,972,845),38880=>array(46,-73,952,831),38881=>array(62,-73,958,830),38882=>array(54,-73,966,830),38883=>array(65,-65,927,840),38884=>array(65,-65,981,840),38885=>array(62,-73,957,842),38886=>array(62,-73,894,820),38887=>array(61,-64,901,826),38888=>array(49,-80,948,840),38889=>array(47,-57,915,830),38890=>array(28,-66,945,809),38891=>array(50,-68,951,822),38892=>array(59,-76,901,817),38893=>array(65,-13,935,816),38894=>array(53,-24,947,823),38895=>array(49,-60,964,829),38896=>array(51,-35,956,820),38897=>array(49,-60,964,836),38898=>array(35,-29,966,826),38899=>array(72,-68,928,840),38900=>array(68,-74,932,842),38901=>array(66,-59,916,828),38902=>array(72,-64,914,818),38903=>array(56,-64,921,834),38904=>array(62,-72,972,834),38905=>array(65,-49,959,846),38906=>array(51,-72,973,835),38907=>array(66,-73,957,840),38908=>array(44,-56,951,841),38909=>array(50,-70,952,849),38910=>array(35,-70,941,825),38911=>array(63,-67,937,845),38912=>array(58,-74,976,824),38913=>array(79,-70,938,785),38914=>array(76,-68,950,791),38915=>array(126,-69,939,787),38916=>array(40,-79,961,826),38917=>array(48,-68,947,784),38918=>array(62,-76,960,801),38919=>array(54,-71,962,790),38920=>array(51,-71,946,817),38921=>array(40,-71,946,783),38922=>array(55,-71,961,788),38923=>array(29,-72,957,790),38924=>array(47,-64,964,790),38925=>array(45,-78,965,824),38926=>array(35,-68,970,833),38927=>array(49,-64,963,798),38928=>array(53,-70,959,781),38929=>array(42,-77,953,788),38930=>array(47,-66,957,822),38931=>array(53,-68,952,834),38932=>array(124,-68,952,788),38933=>array(128,-68,952,829),38934=>array(40,-60,966,844),38935=>array(32,-70,970,832),38936=>array(42,-68,955,839),38937=>array(38,-71,957,783),38938=>array(48,-64,966,792),38939=>array(42,-73,972,823),38940=>array(35,-70,962,831),38941=>array(53,-75,957,833),38942=>array(59,-53,968,856),38943=>array(37,-64,943,819),38944=>array(32,-68,967,836),38945=>array(62,-68,966,809),38946=>array(39,-68,956,801),38947=>array(95,-70,947,787),38948=>array(91,-70,963,787),38949=>array(96,-66,962,795),38950=>array(44,-65,961,844),38951=>array(107,-76,968,828),38952=>array(29,-79,971,782),38953=>array(44,-73,963,832),38954=>array(38,-68,961,832),38955=>array(36,-69,957,823),38956=>array(24,-61,959,830),38957=>array(52,-61,959,787),38958=>array(32,-78,975,802),38959=>array(32,-78,975,829),38960=>array(47,-71,967,840),38961=>array(48,-78,965,819),38962=>array(44,-79,964,793),38963=>array(36,-77,970,823),38964=>array(18,-82,959,826),38965=>array(25,-77,970,783),38966=>array(30,-61,959,814),38967=>array(38,-69,972,838),38968=>array(48,-72,959,789),38969=>array(35,-72,973,834),38970=>array(49,-65,965,824),38971=>array(45,-71,960,833),38972=>array(44,-72,973,829),38973=>array(35,-73,954,834),38974=>array(37,-68,948,826),38975=>array(33,-76,955,849),38976=>array(32,-73,951,836),38977=>array(38,-83,963,833),38978=>array(29,-73,964,833),38979=>array(52,-74,959,826),38980=>array(77,-71,962,788),38981=>array(42,-74,956,833),38982=>array(43,-68,964,788),38983=>array(34,-68,963,833),38984=>array(38,-82,959,826),38985=>array(44,-79,965,829),38986=>array(60,-78,953,840),38987=>array(35,-68,963,790),38988=>array(39,-60,956,787),38989=>array(41,-64,951,825),38990=>array(57,-63,959,794),38991=>array(57,-75,958,808),38992=>array(62,-81,971,783),38993=>array(38,-67,975,839),38994=>array(50,-73,964,788),38995=>array(53,-68,963,827),38996=>array(33,-65,961,830),38997=>array(45,-70,956,783),38998=>array(21,-77,967,831),38999=>array(47,-75,968,827),39000=>array(38,-57,962,796),39001=>array(45,-67,979,787),39002=>array(57,-78,964,834),39003=>array(43,-73,960,835),39004=>array(56,-72,970,829),39005=>array(69,-74,951,786),39006=>array(38,-67,960,828),39007=>array(40,-80,955,788),39008=>array(31,-73,960,784),39009=>array(39,-72,959,846),39010=>array(62,-65,973,830),39011=>array(33,-60,963,844),39012=>array(47,-48,963,850),39013=>array(46,-66,966,790),39014=>array(26,-48,963,840),39015=>array(41,-68,959,820),39016=>array(49,-70,959,808),39017=>array(36,-74,964,834),39018=>array(47,-68,978,831),39019=>array(56,-65,967,837),39020=>array(61,-67,952,788),39021=>array(47,-67,952,822),39022=>array(44,-64,965,844),39023=>array(43,-73,964,787),39024=>array(51,-64,958,843),39025=>array(28,-72,959,840),39026=>array(47,-66,964,847),39027=>array(35,-68,959,800),39028=>array(25,-62,961,844),39029=>array(78,-80,908,775),39030=>array(47,-60,930,783),39031=>array(88,-60,934,794),39032=>array(50,-66,937,774),39033=>array(37,-64,937,778),39034=>array(25,-61,940,822),39035=>array(30,-62,937,807),39036=>array(32,-68,933,772),39037=>array(31,-70,936,787),39038=>array(36,-61,953,787),39039=>array(59,-64,955,832),39040=>array(27,-68,935,814),39041=>array(35,-65,930,783),39042=>array(36,-65,936,783),39043=>array(27,-76,921,822),39044=>array(50,-65,936,779),39045=>array(36,-67,940,832),39046=>array(36,-60,940,830),39047=>array(18,-77,940,822),39048=>array(35,-59,943,783),39049=>array(55,-76,918,812),39050=>array(24,-61,933,830),39051=>array(33,-76,964,799),39052=>array(19,-69,915,830),39053=>array(21,-63,921,806),39054=>array(26,-70,942,827),39055=>array(32,-69,931,826),39056=>array(104,-70,929,778),39057=>array(51,-67,957,824),39058=>array(32,-71,950,802),39059=>array(47,-69,952,814),39060=>array(23,-76,933,822),39061=>array(18,-71,950,826),39062=>array(27,-70,942,827),39063=>array(22,-63,934,790),39064=>array(32,-63,941,788),39065=>array(117,-67,962,788),39066=>array(50,-73,937,778),39067=>array(52,-71,935,812),39068=>array(30,-68,940,832),39069=>array(31,-63,941,838),39070=>array(31,-70,921,784),39071=>array(50,-65,940,820),39072=>array(31,-70,940,827),39073=>array(29,-80,938,778),39074=>array(28,-72,937,782),39075=>array(32,-72,947,800),39076=>array(34,-81,964,861),39077=>array(61,-54,941,781),39078=>array(49,-62,927,832),39079=>array(22,-73,939,821),39080=>array(51,-68,967,783),39081=>array(43,-73,972,824),39082=>array(30,-73,965,797),39083=>array(24,-68,967,792),39084=>array(34,-68,954,787),39085=>array(32,-57,964,844),39086=>array(53,-63,967,850),39087=>array(32,-65,968,789),39088=>array(22,-57,955,825),39089=>array(37,-65,970,814),39090=>array(38,-71,967,820),39091=>array(41,-58,958,830),39092=>array(18,-57,944,822),39093=>array(41,-58,958,800),39094=>array(39,-62,959,800),39095=>array(33,-68,960,842),39096=>array(53,-64,963,809),39097=>array(17,-62,963,840),39098=>array(26,-61,967,791),39099=>array(42,-67,972,839),39100=>array(35,-65,970,829),39101=>array(44,-70,978,833),39102=>array(39,-75,970,781),39103=>array(40,-54,964,796),39104=>array(43,-73,961,833),39105=>array(36,-67,982,786),39106=>array(43,-60,970,798),39107=>array(26,-61,967,791),39108=>array(42,-74,970,784),39109=>array(43,-59,956,799),39110=>array(43,-68,980,832),39111=>array(43,-73,961,832),39112=>array(35,-64,966,820),39113=>array(31,-70,965,829),39114=>array(23,-62,974,791),39115=>array(31,-73,973,781),39116=>array(41,-65,974,829),39117=>array(26,-73,988,802),39118=>array(26,-63,942,790),39119=>array(20,-62,939,785),39120=>array(20,-62,939,804),39121=>array(16,-64,934,822),39122=>array(29,-67,936,812),39123=>array(8,-66,927,783),39124=>array(8,-65,939,783),39125=>array(20,-62,939,816),39126=>array(50,-58,972,819),39127=>array(20,-62,939,821),39128=>array(31,-60,963,789),39129=>array(43,-77,960,821),39130=>array(20,-70,931,817),39131=>array(64,-64,963,787),39132=>array(34,-69,967,824),39133=>array(55,-59,937,808),39134=>array(76,-59,936,770),39135=>array(43,-67,957,847),39136=>array(257,-34,731,839),39137=>array(48,-63,958,848),39138=>array(33,-54,962,839),39139=>array(41,-56,967,839),39140=>array(41,-73,936,839),39141=>array(28,-39,965,853),39142=>array(41,-50,966,839),39143=>array(42,-63,978,848),39144=>array(34,-76,939,822),39145=>array(40,-66,957,843),39146=>array(42,-31,949,838),39147=>array(40,-66,969,843),39148=>array(49,-81,957,840),39149=>array(42,-66,943,843),39150=>array(46,-68,957,844),39151=>array(34,-69,964,839),39152=>array(34,-64,951,843),39153=>array(40,-63,958,848),39154=>array(34,-64,969,839),39155=>array(46,-46,964,851),39156=>array(34,-55,956,842),39157=>array(34,-65,948,844),39158=>array(38,-56,960,842),39159=>array(34,-34,964,839),39160=>array(52,-63,958,848),39161=>array(40,-69,903,843),39162=>array(39,-84,979,824),39163=>array(36,-66,971,850),39164=>array(34,-68,906,839),39165=>array(36,-47,965,839),39166=>array(34,-70,944,839),39167=>array(39,-68,922,839),39168=>array(36,-74,985,839),39169=>array(36,-64,965,857),39170=>array(36,-52,954,857),39171=>array(40,-66,961,843),39172=>array(36,-65,948,857),39173=>array(34,-77,961,842),39174=>array(36,-70,960,857),39175=>array(31,-70,907,844),39176=>array(41,-54,964,852),39177=>array(40,-66,921,843),39178=>array(39,-70,964,843),39179=>array(39,-72,976,840),39180=>array(44,-69,958,841),39181=>array(46,-84,950,766),39182=>array(37,-64,982,844),39183=>array(38,-71,966,842),39184=>array(26,-64,974,840),39185=>array(43,-64,948,840),39186=>array(40,-66,959,843),39187=>array(34,-59,964,839),39188=>array(40,-66,944,843),39189=>array(36,-61,984,848),39190=>array(48,-44,953,846),39191=>array(42,-54,960,850),39192=>array(40,-66,971,843),39193=>array(36,-67,961,857),39194=>array(27,-64,956,855),39195=>array(32,-53,964,848),39196=>array(35,-64,980,828),39197=>array(40,-66,947,843),39198=>array(40,-67,959,843),39199=>array(34,-63,981,848),39200=>array(40,-66,957,843),39201=>array(40,-68,912,843),39202=>array(36,-65,956,857),39203=>array(24,-39,977,857),39204=>array(40,-66,961,843),39205=>array(47,-77,982,829),39206=>array(36,-62,978,857),39207=>array(32,-64,968,850),39208=>array(34,-64,931,839),39209=>array(37,-71,972,839),39210=>array(41,-73,990,834),39211=>array(36,-69,956,836),39212=>array(33,-78,918,838),39213=>array(38,-47,958,824),39214=>array(34,-75,943,832),39215=>array(40,-67,989,834),39216=>array(40,-71,959,834),39217=>array(33,-49,964,859),39218=>array(28,-60,915,848),39219=>array(48,-59,959,830),39220=>array(36,-68,963,857),39221=>array(25,-65,978,845),39222=>array(34,-34,947,853),39223=>array(36,-30,969,857),39224=>array(32,-48,975,845),39225=>array(36,-64,954,857),39226=>array(36,-65,951,832),39227=>array(36,-66,960,854),39228=>array(34,-64,971,846),39229=>array(40,-66,960,843),39230=>array(39,-69,932,843),39231=>array(41,-65,971,840),39232=>array(29,-63,950,835),39233=>array(18,-15,966,846),39234=>array(40,-66,959,843),39235=>array(34,-69,972,844),39236=>array(36,-30,964,857),39237=>array(40,-66,957,843),39238=>array(38,-68,950,834),39239=>array(36,-41,956,816),39240=>array(38,-55,955,847),39241=>array(40,-66,948,843),39242=>array(36,-84,957,859),39243=>array(40,-75,954,843),39244=>array(38,-66,959,843),39245=>array(24,-65,962,846),39246=>array(20,-68,956,843),39247=>array(29,-76,982,835),39248=>array(40,-66,953,843),39249=>array(28,-70,968,841),39250=>array(40,-68,962,843),39251=>array(26,-69,983,835),39252=>array(10,-74,957,849),39253=>array(17,-72,972,832),39254=>array(30,-64,967,828),39255=>array(35,-69,955,841),39256=>array(30,-33,960,849),39257=>array(32,-74,970,837),39258=>array(45,-30,929,857),39259=>array(38,-68,971,834),39260=>array(29,-71,982,816),39261=>array(29,-67,950,851),39262=>array(36,-70,960,839),39263=>array(30,-63,982,849),39264=>array(42,-65,956,837),39265=>array(41,-74,964,839),39266=>array(31,-64,983,839),39267=>array(242,2,685,829),39268=>array(31,-43,953,840),39269=>array(32,-60,948,840),39270=>array(31,-26,943,840),39271=>array(30,-66,891,826),39272=>array(25,-38,920,829),39273=>array(20,-67,939,825),39274=>array(40,-13,927,829),39275=>array(41,-69,957,829),39276=>array(41,-70,926,836),39277=>array(48,-71,953,829),39278=>array(47,-68,949,836),39279=>array(43,-58,953,836),39280=>array(42,-73,946,842),39281=>array(37,-28,946,835),39282=>array(41,-68,895,836),39283=>array(45,-68,911,830),39284=>array(41,-57,940,839),39285=>array(33,-67,927,829),39286=>array(36,-73,964,821),39287=>array(41,-66,912,841),39288=>array(49,-60,956,844),39289=>array(32,-65,975,837),39290=>array(42,-65,950,835),39291=>array(41,-71,966,836),39292=>array(39,-72,946,841),39293=>array(41,-65,931,831),39294=>array(41,-36,953,829),39295=>array(44,-61,946,829),39296=>array(41,-65,959,840),39297=>array(41,-79,946,831),39298=>array(36,-61,972,848),39299=>array(32,-68,964,825),39300=>array(40,-60,955,825),39301=>array(42,-70,881,838),39302=>array(47,-67,913,844),39303=>array(26,-16,947,821),39304=>array(37,-64,949,828),39305=>array(38,-71,943,829),39306=>array(41,-68,954,829),39307=>array(34,-68,960,827),39308=>array(48,-53,947,833),39309=>array(35,-71,935,817),39310=>array(43,-65,962,835),39311=>array(44,-67,916,838),39312=>array(27,-67,937,836),39313=>array(31,-43,938,813),39314=>array(27,-65,951,829),39315=>array(26,-90,955,822),39316=>array(29,-64,942,828),39317=>array(30,-81,948,821),39318=>array(95,-67,926,843),39319=>array(34,-64,959,831),39320=>array(55,-65,964,834),39321=>array(40,-65,955,817),39322=>array(40,-62,973,823),39323=>array(40,-74,966,841),39324=>array(40,-71,971,821),39325=>array(33,-77,965,828),39326=>array(44,-68,963,830),39327=>array(59,-68,958,827),39328=>array(70,-70,971,832),39329=>array(52,-69,956,824),39330=>array(34,-68,956,832),39331=>array(37,-62,975,833),39332=>array(48,-62,940,839),39333=>array(18,-62,974,838),39334=>array(33,-68,988,835),39335=>array(33,-61,983,839),39336=>array(28,-69,972,844),39337=>array(28,-67,956,839),39338=>array(33,-78,974,844),39339=>array(45,-70,975,816),39340=>array(56,-65,909,776),39341=>array(35,-68,964,790),39342=>array(52,-64,912,784),39343=>array(45,-73,950,781),39344=>array(56,-62,920,829),39345=>array(49,-63,964,833),39346=>array(36,-63,949,809),39347=>array(47,-62,951,836),39348=>array(53,-57,893,829),39349=>array(53,-69,947,782),39350=>array(30,-67,965,835),39351=>array(45,-62,954,840),39352=>array(45,-53,930,812),39353=>array(45,-52,891,803),39354=>array(32,-74,981,780),39355=>array(35,-71,978,825),39356=>array(40,-65,964,793),39357=>array(46,-68,909,783),39358=>array(25,-66,969,831),39359=>array(38,-57,931,827),39360=>array(45,-55,970,831),39361=>array(47,-66,967,826),39362=>array(55,-74,924,812),39363=>array(53,-69,982,826),39364=>array(45,-69,961,833),39365=>array(45,-66,973,797),39366=>array(27,-52,948,799),39367=>array(47,-76,988,832),39368=>array(28,-48,954,814),39369=>array(39,-66,905,785),39370=>array(45,-63,1002,841),39371=>array(45,-71,921,785),39372=>array(47,-68,965,833),39373=>array(42,-70,954,783),39374=>array(38,-68,906,823),39375=>array(40,-69,954,782),39376=>array(49,-57,956,829),39377=>array(48,-68,937,847),39378=>array(36,-62,919,845),39379=>array(39,-63,971,783),39380=>array(43,-63,957,790),39381=>array(56,-65,897,836),39382=>array(43,-73,981,842),39383=>array(47,-74,987,833),39384=>array(45,-60,964,839),39385=>array(28,-64,962,837),39386=>array(34,-66,972,827),39387=>array(37,-62,961,833),39388=>array(46,-66,974,830),39389=>array(55,-61,943,795),39390=>array(28,-55,962,829),39391=>array(43,-58,916,788),39392=>array(35,-71,938,823),39393=>array(39,-66,911,789),39394=>array(27,-73,962,835),39395=>array(42,-70,966,826),39396=>array(37,-72,959,780),39397=>array(39,-71,969,832),39398=>array(49,-62,957,830),39399=>array(46,-68,918,786),39400=>array(45,-60,944,836),39401=>array(35,-66,975,787),39402=>array(34,-71,964,826),39403=>array(45,-66,990,831),39404=>array(35,-71,957,786),39405=>array(46,-60,949,804),39406=>array(40,-60,961,820),39407=>array(45,-65,966,836),39408=>array(54,-67,924,785),39409=>array(64,-62,972,839),39410=>array(45,-65,927,835),39411=>array(33,-66,968,834),39412=>array(46,-66,975,824),39413=>array(30,-57,965,799),39414=>array(43,-65,927,783),39415=>array(37,-66,985,828),39416=>array(35,-61,946,788),39417=>array(31,-67,967,825),39418=>array(43,-73,980,838),39419=>array(46,-59,959,792),39420=>array(29,-77,974,834),39421=>array(53,-65,927,788),39422=>array(44,-67,966,814),39423=>array(44,-69,967,849),39424=>array(42,-63,951,831),39425=>array(42,-63,949,836),39426=>array(52,-59,954,853),39427=>array(42,-58,973,861),39428=>array(39,-65,974,829),39429=>array(48,-66,957,836),39430=>array(53,-74,927,782),39431=>array(37,-65,991,832),39432=>array(42,-64,953,843),39433=>array(32,-63,979,786),39434=>array(64,-63,924,832),39435=>array(33,-65,981,829),39436=>array(42,-65,958,845),39437=>array(45,-65,982,790),39438=>array(44,-62,956,834),39439=>array(33,-71,970,831),39440=>array(42,-63,956,845),39441=>array(39,-58,952,844),39442=>array(49,-64,963,791),39443=>array(48,-63,973,837),39444=>array(46,-66,937,787),39445=>array(35,-69,956,785),39446=>array(60,-68,958,845),39447=>array(32,-58,969,833),39448=>array(27,-63,974,850),39449=>array(39,-66,933,807),39450=>array(39,-62,960,835),39451=>array(29,-73,968,780),39452=>array(41,-65,970,843),39453=>array(25,-68,977,828),39454=>array(40,-70,967,828),39455=>array(32,-63,937,862),39456=>array(48,-75,988,781),39457=>array(42,-66,957,842),39458=>array(30,-68,980,784),39459=>array(40,-57,960,849),39460=>array(44,-68,978,841),39461=>array(33,-67,984,788),39462=>array(42,-63,968,788),39463=>array(48,-48,917,809),39464=>array(42,-73,945,843),39465=>array(47,-68,979,838),39466=>array(48,-64,973,831),39467=>array(37,-61,976,837),39468=>array(41,-65,984,838),39469=>array(54,-71,939,830),39470=>array(46,-64,924,834),39471=>array(27,-65,939,843),39472=>array(40,-72,967,840),39473=>array(29,-63,972,840),39474=>array(56,-64,965,830),39475=>array(42,-63,944,788),39476=>array(35,-65,955,788),39477=>array(44,-74,967,783),39478=>array(58,-66,923,849),39479=>array(49,-64,970,791),39480=>array(51,-63,941,840),39481=>array(20,-63,966,812),39482=>array(55,-69,959,829),39483=>array(37,-63,968,834),39484=>array(31,-63,965,843),39485=>array(48,-64,922,787),39486=>array(30,-73,961,801),39487=>array(36,-75,959,832),39488=>array(57,-69,968,832),39489=>array(58,-68,956,847),39490=>array(40,-71,984,857),39491=>array(33,-63,949,792),39492=>array(28,-63,973,837),39493=>array(46,-66,951,794),39494=>array(50,-64,958,787),39495=>array(54,-66,946,830),39496=>array(52,-63,937,789),39497=>array(40,-55,955,831),39498=>array(29,-68,962,836),39499=>array(22,-62,989,846),39500=>array(31,-64,962,837),39501=>array(35,-65,967,837),39502=>array(23,-51,943,844),39503=>array(51,-72,963,789),39504=>array(45,-63,980,835),39505=>array(27,-71,956,797),39506=>array(48,-62,948,791),39507=>array(53,-69,924,831),39508=>array(42,-64,961,789),39509=>array(48,-56,979,833),39510=>array(35,-68,977,837),39511=>array(37,-70,962,846),39512=>array(41,-67,973,843),39513=>array(36,-60,964,852),39514=>array(52,-65,951,846),39515=>array(25,-62,945,788),39516=>array(54,-68,951,825),39517=>array(37,-77,962,844),39518=>array(36,-78,974,844),39519=>array(34,-61,964,791),39520=>array(41,-74,970,824),39521=>array(46,-53,964,839),39522=>array(38,-64,951,836),39523=>array(26,-63,972,845),39524=>array(50,-75,976,833),39525=>array(27,-70,955,834),39526=>array(49,-61,930,789),39527=>array(35,-62,937,832),39528=>array(45,-66,927,826),39529=>array(52,-60,959,829),39530=>array(26,-73,964,789),39531=>array(57,-62,938,803),39532=>array(83,-57,892,790),39533=>array(64,-70,945,789),39534=>array(69,-65,947,831),39535=>array(64,-58,876,826),39536=>array(72,-55,933,834),39537=>array(40,-54,926,786),39538=>array(68,-58,891,803),39539=>array(43,-69,951,844),39540=>array(41,-55,896,845),39541=>array(37,-60,936,784),39542=>array(58,-70,953,831),39543=>array(49,-57,897,778),39544=>array(51,-66,940,835),39545=>array(91,-60,914,844),39546=>array(34,-59,872,822),39547=>array(47,-57,942,842),39548=>array(72,-57,926,839),39549=>array(29,-62,944,826),39550=>array(44,-60,912,831),39551=>array(42,-73,959,772),39552=>array(47,-63,949,840),39553=>array(36,-62,941,824),39554=>array(84,-59,890,787),39555=>array(57,-58,924,785),39556=>array(33,-62,940,836),39557=>array(42,-71,941,823),39558=>array(66,-64,953,836),39559=>array(59,-63,933,848),39560=>array(47,-75,945,847),39561=>array(39,-67,936,820),39562=>array(41,-65,920,768),39563=>array(62,-60,950,834),39564=>array(33,-63,943,835),39565=>array(62,-59,954,853),39566=>array(33,-68,968,786),39567=>array(61,-69,943,833),39568=>array(47,-73,949,829),39569=>array(61,-64,939,828),39570=>array(47,-67,956,788),39571=>array(57,-65,941,834),39572=>array(47,-65,958,845),39573=>array(33,-73,957,833),39574=>array(44,-74,953,833),39575=>array(37,-63,927,833),39576=>array(89,-63,934,829),39577=>array(47,-68,978,841),39578=>array(57,-66,953,789),39579=>array(43,-69,954,828),39580=>array(36,-73,951,831),39581=>array(57,-66,904,826),39582=>array(33,-62,947,840),39583=>array(55,-64,901,834),39584=>array(57,-62,944,789),39585=>array(64,-62,936,787),39586=>array(57,-55,956,836),39587=>array(53,-69,942,782),39588=>array(26,-73,953,779),39589=>array(49,-72,936,834),39590=>array(49,-62,931,790),39591=>array(48,-67,952,834),39592=>array(101,-55,899,806),39593=>array(79,-68,965,822),39594=>array(59,-67,978,787),39595=>array(78,-68,964,822),39596=>array(76,-63,967,791),39597=>array(76,-53,951,801),39598=>array(70,-52,967,825),39599=>array(91,-66,958,844),39600=>array(60,-68,963,783),39601=>array(62,-67,952,845),39602=>array(90,-60,967,849),39603=>array(82,-72,973,829),39604=>array(65,-68,958,824),39605=>array(54,-54,971,839),39606=>array(69,-65,962,826),39607=>array(74,-67,948,833),39608=>array(57,-62,958,824),39609=>array(68,-71,961,838),39610=>array(62,-74,945,829),39611=>array(78,-69,962,829),39612=>array(47,-71,937,838),39613=>array(37,-74,959,835),39614=>array(78,-51,970,810),39615=>array(78,-70,953,835),39616=>array(58,-69,930,844),39617=>array(61,-68,964,786),39618=>array(63,-68,957,848),39619=>array(42,-73,943,783),39620=>array(46,-57,967,839),39621=>array(61,-70,940,807),39622=>array(74,-68,947,835),39623=>array(71,-65,941,840),39624=>array(52,-71,954,843),39625=>array(32,-71,959,841),39626=>array(65,-66,948,831),39627=>array(43,-72,938,825),39628=>array(67,-76,937,818),39629=>array(51,-64,968,837),39630=>array(69,-74,962,789),39631=>array(55,-66,941,841),39632=>array(62,-64,956,829),39633=>array(67,-67,908,783),39634=>array(80,-64,958,833),39635=>array(51,-72,947,837),39636=>array(79,-70,934,829),39637=>array(69,-53,955,862),39638=>array(57,-67,948,849),39639=>array(84,-64,954,836),39640=>array(102,-67,916,828),39641=>array(102,-67,916,833),39642=>array(70,-67,958,848),39643=>array(47,-66,968,849),39644=>array(70,-71,956,847),39645=>array(74,-68,926,848),39646=>array(56,-67,946,840),39647=>array(68,-50,956,847),39648=>array(39,-58,963,837),39649=>array(51,-62,961,832),39650=>array(51,-21,953,832),39651=>array(51,-59,957,832),39652=>array(31,-64,973,846),39653=>array(63,-61,967,839),39654=>array(51,-34,955,834),39655=>array(32,-67,967,839),39656=>array(34,-58,964,839),39657=>array(58,-59,959,782),39658=>array(51,-61,956,853),39659=>array(62,-64,970,844),39660=>array(39,-25,964,829),39661=>array(46,-44,962,853),39662=>array(51,-61,956,853),39663=>array(65,-64,969,839),39664=>array(72,-37,948,823),39665=>array(40,-43,966,830),39666=>array(39,-73,958,832),39667=>array(65,-50,938,849),39668=>array(55,-65,950,833),39669=>array(44,-70,949,837),39670=>array(50,-70,957,832),39671=>array(69,-67,957,835),39672=>array(44,-69,948,837),39673=>array(53,-64,989,841),39674=>array(60,-68,948,832),39675=>array(66,-63,957,836),39676=>array(52,-65,966,845),39677=>array(55,-31,956,840),39678=>array(62,-74,952,834),39679=>array(61,-57,981,856),39680=>array(35,-71,962,857),39681=>array(60,-50,942,857),39682=>array(51,-51,942,857),39683=>array(74,-59,955,834),39684=>array(59,-64,965,843),39685=>array(44,-68,962,828),39686=>array(41,-70,964,846),39687=>array(47,-50,964,853),39688=>array(29,-32,968,842),39689=>array(60,-66,956,831),39690=>array(52,-72,973,834),39691=>array(58,-64,954,849),39692=>array(40,-67,967,835),39693=>array(68,-68,949,846),39694=>array(49,-53,943,851),39695=>array(35,-69,942,825),39696=>array(65,-63,955,847),39697=>array(39,-50,965,853),39698=>array(40,-59,954,853),39699=>array(59,-83,903,824),39700=>array(53,-72,979,836),39701=>array(57,-77,971,856),39702=>array(50,-56,969,851),39703=>array(62,-70,968,838),39704=>array(46,-65,980,851),39705=>array(72,-55,961,851),39706=>array(48,-68,957,841),39707=>array(53,-66,955,829),39708=>array(38,-61,938,823),39709=>array(38,-61,938,823),39710=>array(38,-63,966,846),39711=>array(24,-68,949,839),39712=>array(50,-80,966,852),39713=>array(40,-45,932,855),39714=>array(58,-69,959,837),39715=>array(41,-62,944,839),39716=>array(52,-71,958,845),39717=>array(116,-71,891,826),39718=>array(116,-71,891,826),39719=>array(116,-61,893,835),39720=>array(118,-63,894,830),39721=>array(115,-65,898,832),39722=>array(102,-57,897,839),39723=>array(105,-55,901,840),39724=>array(107,-61,907,833),39725=>array(99,-71,901,823),39726=>array(110,-65,917,832),39727=>array(122,-24,909,826),39728=>array(53,-79,953,840),39729=>array(53,-58,952,845),39730=>array(72,-64,945,791),39731=>array(41,-68,927,826),39732=>array(60,-70,948,833),39733=>array(51,-64,955,783),39734=>array(54,-40,969,838),39735=>array(60,-67,977,826),39736=>array(40,-64,923,834),39737=>array(54,-50,939,813),39738=>array(55,-69,952,830),39739=>array(72,-64,927,830),39740=>array(45,-58,962,850),39741=>array(49,-62,973,836),39742=>array(49,-75,973,836),39743=>array(53,-66,968,843),39744=>array(37,-65,962,843),39745=>array(26,-76,959,848),39746=>array(46,-62,960,857),39747=>array(40,-35,941,840),39748=>array(74,-38,952,854),39749=>array(35,-66,962,839),39750=>array(39,-77,977,845),39751=>array(47,-75,960,770),39752=>array(34,-67,968,844),39753=>array(21,-69,929,823),39754=>array(34,-67,977,841),39755=>array(46,-76,961,842),39756=>array(38,-68,963,843),39757=>array(39,-48,960,841),39758=>array(38,-63,970,847),39759=>array(39,-70,966,836),39760=>array(26,-76,957,849),39761=>array(38,-63,966,841),39762=>array(28,-68,956,846),39763=>array(28,-56,956,849),39764=>array(27,-69,960,840),39765=>array(35,-75,970,834),39766=>array(38,-70,964,836),39767=>array(58,-70,960,851),39768=>array(44,-68,947,797),39769=>array(51,-70,965,831),39770=>array(43,-70,956,849),39771=>array(43,-66,894,841),39772=>array(88,-73,976,841),39773=>array(61,-65,887,841),39774=>array(43,-45,958,841),39775=>array(33,-48,957,842),39776=>array(35,-49,949,844),39777=>array(31,-71,916,839),39778=>array(31,-49,973,839),39779=>array(31,-61,945,839),39780=>array(41,-73,979,832),39781=>array(31,-49,976,839),39782=>array(39,-66,966,832),39783=>array(35,-70,976,835),39784=>array(35,-32,959,846),39785=>array(31,-49,931,839),39786=>array(31,-49,969,839),39787=>array(31,-49,969,839),39788=>array(40,-78,963,834),39789=>array(31,-49,955,839),39790=>array(31,-49,974,839),39791=>array(51,-68,947,837),39792=>array(39,-74,978,834),39793=>array(38,-32,954,835),39794=>array(31,-49,952,839),39795=>array(31,-74,948,839),39796=>array(34,-73,953,837),39797=>array(41,-62,973,837),39798=>array(34,-65,905,834),39799=>array(43,-64,966,841),39800=>array(31,-49,950,839),39801=>array(31,-56,954,839),39802=>array(47,-71,964,836),39803=>array(57,-69,919,833),39804=>array(48,-70,963,830),39805=>array(42,-70,961,831),39806=>array(44,-52,964,819),39807=>array(31,-73,981,842),39808=>array(38,-38,948,852),39809=>array(31,-61,962,839),39810=>array(52,-64,914,832),39811=>array(44,-65,948,843),39812=>array(16,-62,932,839),39813=>array(45,-67,982,831),39814=>array(44,-58,963,850),39815=>array(38,-67,976,837),39816=>array(52,-70,927,830),39817=>array(31,-70,950,839),39818=>array(33,-66,886,843),39819=>array(31,-69,944,839),39820=>array(31,-71,961,840),39821=>array(31,-73,971,839),39822=>array(45,-64,957,838),39823=>array(31,-49,947,839),39824=>array(42,-65,960,839),39825=>array(44,-46,967,844),39826=>array(39,-60,959,851),39827=>array(48,-61,961,845),39828=>array(31,-49,933,839),39829=>array(57,-71,970,838),39830=>array(31,-49,935,839),39831=>array(31,-77,948,839),39832=>array(44,-54,935,836),39833=>array(31,-49,908,839),39834=>array(44,-62,958,839),39835=>array(31,-75,976,834),39836=>array(31,-63,953,839),39837=>array(14,-67,991,836),39838=>array(51,-67,970,839),39839=>array(31,-51,964,839),39840=>array(33,-55,954,849),39841=>array(40,-69,972,833),39842=>array(46,-78,995,829),39843=>array(45,-67,915,839),39844=>array(55,-76,954,826),39845=>array(38,-69,984,840),39846=>array(36,-61,910,842),39847=>array(31,-49,954,839),39848=>array(40,-39,953,844),39849=>array(31,-49,937,853),39850=>array(44,-67,959,839),39851=>array(48,-66,959,843),39852=>array(31,-62,961,843),39853=>array(35,-39,967,847),39854=>array(44,-60,960,843),39855=>array(32,-72,974,834),39856=>array(31,-49,939,839),39857=>array(31,-49,949,839),39858=>array(30,-61,979,839),39859=>array(38,-55,945,835),39860=>array(45,-71,982,839),39861=>array(36,-67,966,834),39862=>array(41,-70,965,841),39863=>array(11,-49,939,839),39864=>array(43,-61,978,845),39865=>array(33,-65,944,836),39866=>array(18,-57,948,836),39867=>array(31,-49,975,839),39868=>array(31,-49,972,839),39869=>array(29,-68,979,832),39870=>array(11,-54,959,839),39871=>array(33,-53,962,845),39872=>array(49,-52,979,840),39873=>array(39,-67,978,840),39874=>array(39,-56,937,839),39875=>array(39,-65,961,839),39876=>array(28,-64,979,842),39877=>array(28,-66,983,842),39878=>array(36,-67,957,839),39879=>array(41,-65,965,845),39880=>array(41,-71,977,840),39881=>array(45,-52,954,833),39882=>array(48,-70,960,836),39883=>array(29,-37,980,841),39884=>array(45,-61,954,833),39885=>array(41,-68,964,842),39886=>array(26,-68,961,841),39887=>array(36,-45,914,853),39888=>array(41,-43,955,841),39889=>array(41,-49,964,841),39890=>array(41,-49,945,841),39891=>array(43,-70,964,842),39892=>array(44,-64,950,846),39893=>array(32,-79,974,839),39894=>array(35,-59,964,843),39895=>array(32,-65,971,854),39896=>array(32,-69,968,840),39897=>array(35,-67,962,842),39898=>array(31,-65,988,838),39899=>array(51,-65,916,839),39900=>array(30,-68,971,841),39901=>array(-15,-70,916,841),39902=>array(39,-74,964,825),39903=>array(29,-57,992,827),39904=>array(32,-65,990,831),39905=>array(46,-62,957,846),39906=>array(38,-48,965,845),39907=>array(38,-64,953,845),39908=>array(42,-63,971,836),39909=>array(32,-39,960,841),39910=>array(29,-62,986,838),39911=>array(49,-64,914,854),39912=>array(44,-62,972,843),39913=>array(33,-68,985,868),39914=>array(43,-67,986,839),39915=>array(32,-62,971,842),39916=>array(35,-72,988,836),39917=>array(37,-44,957,796),39918=>array(42,-65,958,845),39919=>array(46,-67,945,837),39920=>array(44,-33,972,851),39921=>array(42,-74,962,836),39922=>array(53,-73,961,828),39923=>array(34,-62,962,841),39924=>array(33,-62,946,836),39925=>array(65,-81,956,834),39926=>array(42,-63,938,836),39927=>array(43,-68,978,843),39928=>array(39,-67,983,837),39929=>array(42,-45,945,836),39930=>array(42,-64,953,837),39931=>array(43,-63,930,837),39932=>array(42,-57,980,849),39933=>array(52,-65,929,837),39934=>array(42,-69,963,836),39935=>array(47,-62,923,848),39936=>array(44,-64,940,847),39937=>array(49,-64,973,847),39938=>array(37,-59,909,840),39939=>array(49,-57,973,847),39940=>array(43,-40,970,847),39941=>array(49,-61,932,847),39942=>array(39,-61,973,843),39943=>array(43,-64,996,845),39944=>array(37,-67,973,836),39945=>array(39,-45,954,847),39946=>array(54,-53,968,847),39947=>array(24,-36,953,834),39948=>array(33,-70,972,829),39949=>array(31,-67,978,837),39950=>array(35,-73,984,838),39951=>array(49,-65,963,847),39952=>array(38,-61,958,844),39953=>array(49,-45,951,847),39954=>array(35,-64,973,844),39955=>array(38,-44,968,849),39956=>array(44,-66,977,835),39957=>array(37,-63,963,827),39958=>array(51,-64,942,848),39959=>array(44,-70,930,834),39960=>array(49,-26,943,843),39961=>array(24,-60,973,847),39962=>array(49,-21,949,855),39963=>array(44,-39,974,826),39964=>array(30,-64,975,852),39965=>array(39,-68,959,838),39966=>array(24,-60,953,847),39967=>array(49,-65,949,847),39968=>array(49,-66,966,847),39969=>array(43,-65,931,837),39970=>array(49,-63,949,847),39971=>array(34,-62,958,836),39972=>array(33,-65,958,845),39973=>array(38,-72,964,828),39974=>array(69,-56,943,847),39975=>array(34,-67,963,836),39976=>array(56,-61,927,844),39977=>array(37,-62,962,845),39978=>array(29,-26,967,847),39979=>array(43,-64,978,838),39980=>array(37,-66,982,830),39981=>array(42,-65,965,843),39982=>array(44,-39,974,826),39983=>array(34,-65,937,839),39984=>array(53,-66,944,839),39985=>array(41,-74,967,838),39986=>array(47,-69,953,840),39987=>array(51,-74,936,835),39988=>array(32,-68,970,831),39989=>array(41,-76,958,845),39990=>array(24,-65,986,839),39991=>array(29,-62,970,845),39992=>array(39,-21,966,847),39993=>array(35,-21,973,845),39994=>array(33,-73,976,862),39995=>array(35,-65,978,837),39996=>array(40,-64,915,837),39997=>array(32,-53,961,849),39998=>array(37,-62,957,838),39999=>array(36,-74,980,839),40000=>array(59,-71,961,791),40001=>array(34,-66,979,843),40002=>array(42,-65,968,847),40003=>array(44,-63,929,847),40004=>array(38,-63,956,845),40005=>array(41,-73,959,851),40006=>array(38,-64,962,849),40007=>array(38,-59,966,846),40008=>array(35,-56,939,841),40009=>array(41,-72,973,835),40010=>array(41,-67,951,835),40011=>array(31,-71,965,837),40012=>array(24,-63,989,845),40013=>array(28,-68,978,841),40014=>array(30,-69,984,840),40015=>array(49,-63,966,847),40016=>array(37,-70,967,839),40017=>array(34,-59,968,847),40018=>array(35,-62,956,855),40019=>array(38,-62,953,831),40020=>array(32,-64,962,851),40021=>array(30,-68,984,842),40022=>array(29,-68,970,842),40023=>array(31,-68,965,843),40024=>array(40,-59,965,842),40025=>array(27,-70,984,837),40026=>array(27,-65,953,837),40027=>array(49,-68,950,847),40028=>array(26,-67,962,845),40029=>array(29,-60,973,847),40030=>array(39,-68,983,831),40031=>array(53,-68,974,848),40032=>array(25,-61,984,861),40033=>array(32,-62,974,838),40034=>array(41,-65,992,830),40035=>array(32,-35,964,849),40036=>array(58,-40,930,839),40037=>array(38,-71,959,839),40038=>array(36,-56,976,822),40039=>array(36,-28,965,842),40040=>array(34,-48,954,854),40041=>array(29,-70,951,854),40042=>array(34,-64,974,834),40043=>array(25,-68,979,854),40044=>array(24,-70,967,854),40045=>array(39,-62,957,852),40046=>array(29,-56,956,848),40047=>array(39,-64,995,847),40048=>array(29,-63,960,854),40049=>array(38,-67,945,838),40050=>array(22,-59,970,854),40051=>array(38,-65,967,843),40052=>array(36,-69,971,841),40053=>array(27,-55,964,858),40054=>array(40,-73,963,837),40055=>array(39,-29,956,839),40056=>array(36,-60,962,851),40057=>array(48,-67,965,841),40058=>array(35,-68,966,828),40059=>array(59,-73,948,824),40060=>array(78,-15,929,826),40061=>array(22,-73,934,841),40062=>array(31,-29,973,839),40063=>array(29,-65,965,841),40064=>array(22,-46,945,841),40065=>array(44,-53,925,849),40066=>array(39,-75,936,836),40067=>array(22,-32,974,841),40068=>array(22,-71,964,841),40069=>array(30,-68,967,838),40070=>array(24,-72,945,824),40071=>array(22,-74,903,841),40072=>array(22,-72,920,817),40073=>array(22,-69,919,841),40074=>array(22,-61,961,845),40075=>array(24,-62,943,840),40076=>array(22,-66,886,843),40077=>array(22,-30,950,843),40078=>array(74,-13,926,822),40079=>array(22,-73,951,841),40080=>array(39,-67,942,834),40081=>array(39,-29,950,839),40082=>array(24,-64,941,828),40083=>array(29,-55,945,837),40084=>array(24,-69,942,838),40085=>array(28,-70,956,824),40086=>array(22,-61,941,841),40087=>array(33,-65,913,840),40088=>array(22,-63,953,841),40089=>array(22,-55,977,840),40090=>array(12,-76,937,836),40091=>array(39,-69,943,844),40092=>array(27,-61,938,846),40093=>array(54,-37,955,823),40094=>array(25,-42,942,830),40095=>array(21,-68,923,821),40096=>array(25,-69,961,830),40097=>array(0,-59,921,818),40098=>array(16,-49,937,822),40099=>array(19,-20,943,834),40100=>array(39,-23,937,828),40101=>array(24,-68,920,829),40102=>array(23,-64,956,832),40103=>array(33,-63,962,831),40104=>array(60,-48,918,822),40105=>array(25,-67,947,842),40106=>array(22,-69,965,841),40107=>array(31,-67,912,836),40108=>array(22,-44,930,841),40109=>array(24,-61,947,834),40110=>array(25,-69,969,834),40111=>array(22,-79,974,841),40112=>array(19,-64,955,825),40113=>array(32,-64,941,830),40114=>array(24,-60,953,824),40115=>array(39,-66,897,828),40116=>array(22,-70,881,816),40117=>array(24,-72,947,824),40118=>array(31,-32,956,849),40119=>array(25,-66,899,830),40120=>array(39,-64,947,846),40121=>array(25,-79,972,839),40122=>array(16,-68,943,819),40123=>array(25,-66,933,834),40124=>array(27,-80,918,825),40125=>array(25,-69,957,830),40126=>array(22,-65,963,841),40127=>array(24,-58,957,841),40128=>array(22,-68,988,841),40129=>array(22,-39,982,841),40130=>array(22,-57,983,841),40131=>array(34,-31,951,842),40132=>array(20,-66,939,812),40133=>array(18,-70,961,828),40134=>array(25,-66,956,842),40135=>array(24,-44,937,844),40136=>array(22,-64,973,844),40137=>array(34,-61,954,841),40138=>array(25,-77,911,836),40139=>array(24,-67,953,822),40140=>array(35,-50,931,820),40141=>array(24,-67,941,834),40142=>array(24,-63,910,824),40143=>array(25,-66,950,830),40144=>array(47,-67,941,824),40145=>array(22,-65,949,843),40146=>array(22,-64,975,852),40147=>array(33,-75,917,828),40148=>array(25,-64,957,830),40149=>array(25,-69,922,830),40150=>array(41,-40,945,835),40151=>array(25,-68,965,836),40152=>array(53,-38,955,836),40153=>array(25,-84,943,840),40154=>array(16,-67,984,868),40155=>array(22,-67,957,841),40156=>array(19,-69,953,825),40157=>array(25,-66,945,848),40158=>array(25,-68,945,834),40159=>array(35,-65,953,851),40160=>array(22,-64,995,841),40161=>array(41,-33,959,841),40162=>array(25,-32,948,833),40163=>array(24,-35,976,849),40164=>array(43,-67,957,856),40165=>array(66,-59,887,852),40166=>array(34,-65,952,847),40167=>array(58,-58,960,842),40168=>array(43,-64,957,848),40169=>array(48,-63,930,849),40170=>array(177,-69,927,843),40171=>array(41,-68,927,788),40172=>array(52,-62,960,851),40173=>array(31,-73,951,841),40174=>array(39,-73,961,841),40175=>array(46,-60,965,796),40176=>array(43,-71,957,840),40177=>array(58,-75,956,840),40178=>array(33,-48,955,861),40179=>array(46,-60,965,796),40180=>array(109,-63,909,851),40181=>array(59,-67,952,841),40182=>array(52,-57,949,850),40183=>array(47,-69,964,846),40184=>array(46,-73,954,835),40185=>array(35,-70,954,847),40186=>array(40,-65,955,846),40187=>array(39,-78,954,841),40188=>array(46,-52,976,864),40189=>array(35,-75,959,844),40190=>array(57,-76,943,841),40191=>array(42,-71,939,841),40192=>array(36,-72,951,848),40193=>array(31,-72,951,848),40194=>array(17,-73,951,848),40195=>array(48,-70,972,840),40196=>array(63,-74,963,843),40197=>array(49,-75,957,838),40198=>array(45,-68,942,841),40199=>array(65,-65,923,848),40200=>array(46,-63,947,791),40201=>array(46,-64,924,842),40202=>array(38,-64,924,842),40203=>array(39,-68,924,842),40204=>array(34,-68,996,781),40205=>array(40,-68,959,844),40206=>array(96,-70,924,836),40207=>array(29,-80,971,851),40208=>array(61,-68,944,833),40209=>array(68,-68,947,847),40210=>array(41,-65,926,838),40211=>array(54,-71,946,835),40212=>array(45,-68,958,835),40213=>array(41,-61,946,841),40214=>array(33,-61,967,853),40215=>array(60,-71,941,843),40216=>array(43,-75,956,839),40217=>array(52,-68,953,844),40218=>array(26,-62,960,841),40219=>array(46,-67,951,840),40220=>array(62,-67,932,827),40221=>array(36,-58,918,849),40222=>array(72,-55,926,845),40223=>array(68,-58,921,846),40224=>array(61,-68,946,843),40225=>array(42,-58,946,853),40226=>array(51,-72,950,838),40227=>array(66,-60,923,845),40228=>array(25,-77,975,843),40229=>array(38,-72,979,841),40230=>array(34,-63,971,842),40231=>array(51,-68,956,835),40232=>array(113,-79,916,843),40233=>array(45,-75,959,835),40234=>array(61,-56,956,841),40235=>array(113,-67,916,843),40236=>array(63,-67,893,821),40237=>array(107,-63,943,841),40238=>array(37,-70,955,836),40239=>array(59,-59,916,845),40240=>array(71,-61,930,847),40241=>array(46,-63,955,841),40242=>array(59,-66,943,841),40243=>array(57,-66,966,838),40244=>array(37,-63,944,849),40245=>array(27,-66,965,841),40246=>array(56,-64,954,840),40247=>array(57,-68,908,824),40248=>array(43,-67,956,843),40249=>array(76,-63,956,855),40250=>array(44,-63,961,839),40251=>array(48,-57,919,853),40252=>array(29,-61,971,856),40253=>array(55,-43,924,850),40254=>array(65,-67,957,841),40255=>array(49,-67,924,844),40256=>array(43,-47,951,858),40257=>array(37,-67,957,839),40258=>array(39,-71,916,842),40259=>array(37,-67,951,841),40260=>array(53,-60,933,843),40261=>array(38,-69,963,838),40262=>array(35,-70,943,855),40263=>array(41,-68,959,841),40264=>array(40,-70,949,841),40265=>array(62,-55,938,808),40266=>array(46,-68,954,841),40267=>array(34,-69,948,840),40268=>array(26,-67,981,840),40269=>array(34,-69,966,840),40270=>array(36,-73,964,840),40271=>array(55,-61,945,846),40272=>array(18,-69,970,847),40273=>array(108,-68,915,838),40274=>array(28,-68,914,842),40275=>array(71,-61,926,845),40276=>array(31,-73,971,847),40277=>array(34,-70,959,840),40278=>array(104,-68,942,846),40279=>array(33,-67,949,840),40280=>array(38,-71,952,839),40281=>array(47,-68,951,841),40282=>array(45,-67,963,841),40283=>array(54,-71,950,840),40284=>array(53,-61,930,843),40285=>array(68,-60,924,840),40286=>array(53,-73,952,847),40287=>array(48,-69,945,839),40288=>array(70,-62,933,842),40289=>array(61,-63,933,842),40290=>array(48,-69,946,845),40291=>array(42,-69,958,840),40292=>array(43,-69,948,850),40293=>array(67,-62,920,834),40294=>array(37,-68,966,839),40295=>array(48,-71,955,838),40296=>array(23,-68,965,845),40297=>array(37,-69,956,841),40298=>array(50,-60,925,849),40299=>array(59,-72,950,841),40300=>array(63,-77,928,849),40301=>array(24,-65,949,844),40302=>array(44,-65,956,844),40303=>array(65,-58,926,853),40304=>array(57,-55,927,851),40305=>array(33,-70,969,848),40306=>array(60,-61,931,841),40307=>array(37,-70,959,841),40308=>array(28,-67,967,848),40309=>array(34,-68,960,846),40310=>array(52,-65,943,844),40311=>array(37,-61,918,848),40312=>array(58,-68,968,847),40313=>array(49,-64,942,838),40314=>array(37,-75,950,841),40315=>array(51,-64,967,847),40316=>array(44,-68,940,844),40317=>array(49,-66,963,849),40318=>array(57,-69,943,840),40319=>array(34,-66,957,851),40320=>array(28,-73,969,853),40321=>array(43,-65,959,847),40322=>array(51,-68,956,835),40323=>array(27,-69,973,840),40324=>array(62,-74,961,852),40325=>array(51,-65,958,849),40326=>array(40,-68,966,847),40327=>array(42,-68,947,844),40328=>array(50,-74,962,841),40329=>array(54,-62,922,845),40330=>array(26,-68,917,848),40331=>array(41,-72,962,840),40332=>array(37,-63,958,852),40333=>array(35,-69,965,840),40334=>array(34,-69,966,850),40335=>array(42,-68,955,842),40336=>array(52,-63,953,839),40337=>array(61,-74,939,827),40338=>array(33,-65,963,838),40339=>array(53,-65,911,846),40340=>array(48,-63,961,844),40341=>array(57,-69,943,840),40342=>array(41,-67,957,834),40343=>array(46,-62,967,842),40344=>array(62,-64,927,844),40345=>array(67,-62,956,850),40346=>array(71,-59,927,846),40347=>array(55,-65,948,838),40348=>array(46,-70,968,838),40349=>array(61,-66,951,842),40350=>array(36,-63,956,840),40351=>array(50,-65,957,843),40352=>array(69,-64,949,834),40353=>array(16,-55,897,853),40354=>array(36,-64,954,843),40355=>array(18,-58,966,841),40356=>array(64,-65,948,839),40357=>array(35,-69,965,840),40358=>array(75,-68,897,828),40359=>array(32,-62,972,826),40360=>array(50,-63,977,838),40361=>array(52,-66,950,838),40362=>array(55,-60,953,841),40363=>array(34,-77,947,841),40364=>array(27,-71,909,846),40365=>array(60,-70,946,847),40366=>array(35,-69,948,848),40367=>array(57,-74,933,829),40368=>array(-9,-77,948,840),40369=>array(47,-73,968,835),40370=>array(43,-68,955,843),40371=>array(52,-68,955,841),40372=>array(40,-65,938,837),40373=>array(49,-59,938,846),40374=>array(45,-69,964,842),40375=>array(83,-68,953,846),40376=>array(40,-64,952,834),40377=>array(69,-70,949,838),40378=>array(47,-67,924,836),40379=>array(85,-61,921,848),40380=>array(31,-69,912,844),40381=>array(26,-69,948,840),40382=>array(60,-69,949,827),40383=>array(53,-55,929,857),40384=>array(74,-62,927,845),40385=>array(36,-49,951,850),40386=>array(66,-57,924,844),40387=>array(50,-53,950,861),40388=>array(46,-61,945,835),40389=>array(52,-63,960,843),40390=>array(53,-67,949,838),40391=>array(61,-72,976,825),40392=>array(45,-70,962,839),40393=>array(30,-73,970,841),40394=>array(56,-66,949,842),40395=>array(44,-72,959,841),40396=>array(21,-64,946,838),40397=>array(47,-65,959,844),40398=>array(34,-73,964,840),40399=>array(43,-64,952,841),40400=>array(40,-68,956,845),40401=>array(43,-71,952,836),40402=>array(62,-65,954,846),40403=>array(49,-63,931,845),40404=>array(52,-67,954,842),40405=>array(58,-65,937,845),40406=>array(54,-70,930,797),40407=>array(115,-68,925,843),40408=>array(52,-64,974,834),40409=>array(58,-63,956,835),40410=>array(32,-76,912,846),40411=>array(45,-65,954,847),40412=>array(41,-67,955,845),40413=>array(50,-70,957,845),40414=>array(44,-67,967,854),40415=>array(46,-67,953,845),40416=>array(40,-69,948,840),40417=>array(39,-71,970,844),40418=>array(36,-67,979,785),40419=>array(65,-65,954,846),40420=>array(61,-70,954,838),40421=>array(60,-71,937,847),40422=>array(26,-56,898,847),40423=>array(47,-69,948,840),40424=>array(48,-65,959,846),40425=>array(56,-49,939,853),40426=>array(54,-63,935,802),40427=>array(59,-52,955,862),40428=>array(48,-65,954,844),40429=>array(39,-66,965,851),40430=>array(41,-65,962,844),40431=>array(32,-68,915,841),40432=>array(37,-69,969,840),40433=>array(50,-67,955,846),40434=>array(65,-66,943,840),40435=>array(113,-62,925,844),40436=>array(98,-69,938,841),40437=>array(35,-67,956,840),40438=>array(54,-73,945,840),40439=>array(62,-77,950,841),40440=>array(60,-68,934,844),40441=>array(40,-76,942,837),40442=>array(62,-67,948,849),40443=>array(29,-77,989,839),40444=>array(48,-69,948,840),40445=>array(50,-73,935,844),40446=>array(58,-65,962,845),40447=>array(53,-61,956,841),40448=>array(33,-68,962,841),40449=>array(34,-67,969,843),40450=>array(48,-74,957,830),40451=>array(32,-64,974,846),40452=>array(47,-73,969,837),40453=>array(62,-70,954,839),40454=>array(50,-72,966,839),40455=>array(45,-65,942,846),40456=>array(36,-69,926,846),40457=>array(38,-62,955,833),40458=>array(33,-66,960,842),40459=>array(59,-65,959,841),40460=>array(36,-66,948,843),40461=>array(34,-61,959,847),40462=>array(68,-59,910,805),40463=>array(50,-70,961,847),40464=>array(42,-67,971,841),40465=>array(44,-51,951,852),40466=>array(34,-63,975,838),40467=>array(93,-65,933,840),40468=>array(41,-70,973,843),40469=>array(43,-65,930,844),40470=>array(63,-67,939,844),40471=>array(71,-72,945,836),40472=>array(24,-71,960,844),40473=>array(57,-64,946,847),40474=>array(50,-65,928,843),40475=>array(45,-67,927,845),40476=>array(34,-65,966,845),40477=>array(41,-65,935,842),40478=>array(62,-67,958,846),40479=>array(80,-53,892,842),40480=>array(34,-65,893,820),40481=>array(30,-57,890,837),40482=>array(58,-65,935,825),40483=>array(98,-52,903,842),40484=>array(27,-66,896,826),40485=>array(96,-53,904,840),40486=>array(23,-64,906,837),40487=>array(35,-63,932,833),40488=>array(53,-63,892,827),40489=>array(37,-69,918,823),40490=>array(49,-65,892,822),40491=>array(26,-66,897,824),40492=>array(34,-66,896,826),40493=>array(100,-68,902,825),40494=>array(72,-69,902,825),40495=>array(32,-58,950,831),40496=>array(50,-70,927,844),40497=>array(70,-65,896,825),40498=>array(24,-57,895,828),40499=>array(35,-62,924,827),40500=>array(81,-63,893,821),40501=>array(41,-57,920,835),40502=>array(61,-59,910,832),40503=>array(50,-63,923,821),40504=>array(50,-59,893,826),40505=>array(29,-62,896,820),40506=>array(15,-66,896,824),40507=>array(37,-63,938,844),40508=>array(49,-67,928,835),40509=>array(26,-53,907,836),40510=>array(64,-60,917,835),40511=>array(39,-55,894,839),40512=>array(40,-62,949,838),40513=>array(62,-64,899,824),40514=>array(62,-60,895,820),40515=>array(98,-61,899,842),40516=>array(30,-54,898,826),40517=>array(32,-59,899,833),40518=>array(16,-60,895,821),40519=>array(90,-63,899,834),40520=>array(20,-66,900,822),40521=>array(41,-62,896,821),40522=>array(52,-64,903,826),40523=>array(60,-63,898,823),40524=>array(24,-64,899,828),40525=>array(81,-62,925,824),40526=>array(43,-71,902,818),40527=>array(24,-68,906,839),40528=>array(44,-64,926,843),40529=>array(51,-66,896,829),40530=>array(26,-68,931,846),40531=>array(49,-64,942,848),40532=>array(41,-64,959,833),40533=>array(52,-67,896,819),40534=>array(16,-64,896,821),40535=>array(61,-68,896,823),40536=>array(62,-69,894,825),40537=>array(39,-67,944,834),40538=>array(64,-63,921,824),40539=>array(19,-67,898,823),40540=>array(39,-65,929,825),40541=>array(70,-65,928,829),40542=>array(50,-61,934,821),40543=>array(44,-65,926,836),40544=>array(83,-67,924,839),40545=>array(36,-67,898,831),40546=>array(46,-67,898,849),40547=>array(38,-70,912,828),40548=>array(19,-56,898,840),40549=>array(83,-67,929,802),40550=>array(33,-61,899,821),40551=>array(20,-63,898,826),40552=>array(46,-69,929,831),40553=>array(48,-60,923,828),40554=>array(36,-63,922,827),40555=>array(42,-64,960,845),40556=>array(39,-65,895,821),40557=>array(31,-63,930,827),40558=>array(37,-62,951,821),40559=>array(61,-62,937,846),40560=>array(45,-78,917,831),40561=>array(30,-65,948,826),40562=>array(63,-64,933,833),40563=>array(29,-56,897,828),40564=>array(29,-70,946,822),40565=>array(125,-70,891,835),40566=>array(91,-52,972,835),40567=>array(91,-73,972,835),40568=>array(82,-60,966,835),40569=>array(94,-71,969,831),40570=>array(88,-59,941,843),40571=>array(69,-72,982,845),40572=>array(72,-66,947,847),40573=>array(52,-18,943,837),40574=>array(92,-45,924,830),40575=>array(57,-67,949,829),40576=>array(29,-66,958,842),40577=>array(42,-64,953,834),40578=>array(21,-60,935,841),40579=>array(39,-75,960,848),40580=>array(40,-74,958,833),40581=>array(30,-60,949,849),40582=>array(30,-60,941,849),40583=>array(30,-67,961,849),40584=>array(21,-60,925,836),40585=>array(48,-75,956,814),40586=>array(52,-72,955,826),40587=>array(67,-64,941,821),40588=>array(36,-57,966,829),40589=>array(25,-70,969,845),40590=>array(25,-80,971,845),40591=>array(25,-74,960,845),40592=>array(25,-73,975,845),40593=>array(37,-64,955,838),40594=>array(40,-70,951,835),40595=>array(37,-68,958,837),40596=>array(25,-74,960,845),40597=>array(36,-65,945,833),40598=>array(25,-70,951,845),40599=>array(43,-67,952,814),40600=>array(25,-72,971,845),40601=>array(25,-73,963,845),40602=>array(25,-78,970,845),40603=>array(25,-70,956,845),40604=>array(25,-75,979,845),40605=>array(58,-63,946,841),40606=>array(25,-80,952,843),40607=>array(26,-68,959,838),40608=>array(25,-76,952,847),40609=>array(25,-79,970,843),40610=>array(25,-74,951,843),40611=>array(35,-68,976,841),40612=>array(42,-69,959,853),40613=>array(58,-75,942,832),40614=>array(56,-65,950,827),40615=>array(40,-75,981,828),40616=>array(43,-84,971,832),40617=>array(37,-64,964,831),40618=>array(37,-64,958,831),40619=>array(43,-84,939,832),40620=>array(45,-84,964,832),40621=>array(37,-64,971,842),40622=>array(47,-68,978,824),40623=>array(43,-84,929,832),40624=>array(38,-54,971,866),40625=>array(43,-84,958,832),40626=>array(43,-84,968,832),40627=>array(43,-84,973,832),40628=>array(25,-63,959,826),40629=>array(34,-63,967,831),40630=>array(41,-71,979,837),40631=>array(44,-66,982,829),40632=>array(43,-57,973,830),40633=>array(37,-65,982,830),40634=>array(37,-65,982,818),40635=>array(43,-70,966,839),40636=>array(45,-68,956,839),40637=>array(41,-72,926,837),40638=>array(23,-67,958,836),40639=>array(36,-68,945,838),40640=>array(37,-71,969,843),40641=>array(39,-66,978,852),40642=>array(34,-73,940,845),40643=>array(55,-76,957,826),40644=>array(75,-83,925,831),40645=>array(50,-76,968,830),40646=>array(50,-76,972,830),40647=>array(58,-78,942,832),40648=>array(56,-78,959,818),40649=>array(58,-67,916,840),40650=>array(50,-78,963,831),40651=>array(28,-79,958,822),40652=>array(49,-72,960,842),40653=>array(35,-68,963,830),40654=>array(49,-68,946,832),40655=>array(39,-62,956,838),40656=>array(31,-64,954,835),40657=>array(81,-67,946,787),40658=>array(81,-67,946,787),40659=>array(48,-67,970,823),40660=>array(36,-65,970,841),40661=>array(43,-78,963,820),40662=>array(41,-75,964,780),40663=>array(39,-60,966,837),40664=>array(45,-69,955,829),40665=>array(43,-67,957,809),40666=>array(60,-70,956,823),40667=>array(47,-67,962,847),40668=>array(63,-66,919,832),40669=>array(58,-62,941,830),40670=>array(63,-64,945,839),40671=>array(58,-63,941,846),40672=>array(37,-64,952,829),40673=>array(33,-78,964,805),40674=>array(29,-72,933,831),40675=>array(43,-57,957,845),40676=>array(42,-52,965,853),40677=>array(38,-62,963,819),40678=>array(38,-68,964,833),40679=>array(44,-68,955,837),40680=>array(41,-70,956,836),40681=>array(30,-67,941,817),40682=>array(31,-76,950,823),40683=>array(25,-51,960,793),40684=>array(33,-68,967,835),40685=>array(45,-70,979,828),40686=>array(48,-53,954,832),40687=>array(52,-63,951,832),40688=>array(49,-59,970,852),40689=>array(26,-88,974,841),40690=>array(38,-55,970,864),40691=>array(47,-79,957,813),40692=>array(44,-67,977,833),40693=>array(56,-62,950,843),40694=>array(35,-73,959,817),40695=>array(37,-80,961,835),40696=>array(46,-64,954,836),40697=>array(46,-65,962,830),40698=>array(39,-74,970,826),40699=>array(34,-69,978,836),40700=>array(36,-62,955,835),40701=>array(120,-33,967,794),40702=>array(139,-42,966,803),40703=>array(45,-32,960,788),40704=>array(40,-56,973,837),40705=>array(63,-46,968,829),40706=>array(62,-54,971,823),40707=>array(68,-51,971,843),40708=>array(40,-54,971,844),40709=>array(57,-54,971,858),40710=>array(49,-42,971,784),40711=>array(48,-56,973,845),40712=>array(70,-49,960,829),40713=>array(58,-38,969,809),40714=>array(45,-39,956,834),40715=>array(84,-55,958,819),40716=>array(63,-51,962,822),40717=>array(63,-53,961,822),40718=>array(48,-65,948,801),40719=>array(41,-75,944,782),40720=>array(55,-69,943,792),40721=>array(44,-65,899,835),40722=>array(50,-67,950,824),40723=>array(59,-74,961,837),40724=>array(59,-74,961,833),40725=>array(60,-60,960,832),40726=>array(42,-73,974,833),40727=>array(44,-76,962,827),40728=>array(60,-68,962,828),40729=>array(51,-65,969,833),40730=>array(51,-69,962,827),40731=>array(43,-71,967,830),40732=>array(46,-67,972,829),40733=>array(37,-61,963,811),40734=>array(60,-35,970,818),40735=>array(34,-47,966,826),40736=>array(61,-60,963,836),40737=>array(40,-69,957,810),40738=>array(62,-52,948,830),40739=>array(74,-72,957,836),40740=>array(76,-73,959,835),40741=>array(68,-60,957,840),40742=>array(66,-69,924,826),40743=>array(66,-69,962,831),40744=>array(65,-60,969,838),40745=>array(63,-46,961,847),40746=>array(54,-56,954,846),40747=>array(61,-55,952,847),40748=>array(60,-58,945,820),40749=>array(68,-66,959,835),40750=>array(59,-68,958,840),40751=>array(56,-51,946,827),40752=>array(68,-65,953,836),40753=>array(57,-43,944,846),40754=>array(70,-77,952,834),40755=>array(65,-71,964,837),40756=>array(57,-55,954,832),40757=>array(59,-66,959,843),40758=>array(58,-75,964,839),40759=>array(49,-53,949,838),40760=>array(56,-66,954,840),40761=>array(87,-66,952,829),40762=>array(70,-58,943,825),40763=>array(42,-58,951,851),40764=>array(51,-71,897,843),40765=>array(43,-70,964,854),40766=>array(38,-65,964,850),40767=>array(30,-72,970,851),40768=>array(31,-68,976,843),40769=>array(56,-62,923,858),40770=>array(41,-75,967,833),40771=>array(43,-70,933,842),40772=>array(45,-67,950,825),40773=>array(36,-64,967,848),40774=>array(36,-62,957,860),40775=>array(49,-66,959,846),40776=>array(44,-64,967,841),40777=>array(53,-66,974,840),40778=>array(52,-70,946,831),40779=>array(55,-73,962,831),40780=>array(39,-74,973,847),40781=>array(32,-73,979,846),40782=>array(39,-67,978,846),40783=>array(43,-69,977,833),40784=>array(32,-69,952,834),40785=>array(36,-67,937,842),40786=>array(53,-73,946,829),40787=>array(58,-37,950,836),40788=>array(58,-63,948,836),40789=>array(62,-41,968,840),40790=>array(62,-65,954,840),40791=>array(65,-64,959,837),40792=>array(56,-52,976,860),40793=>array(57,-71,960,835),40794=>array(57,-71,943,851),40795=>array(61,-62,956,830),40796=>array(47,-48,957,835),40797=>array(60,-64,957,834),40798=>array(61,-71,962,833),40799=>array(40,-63,956,836),40800=>array(40,-63,930,836),40801=>array(40,-63,943,836),40802=>array(42,-68,958,846),40803=>array(55,-63,927,836),40804=>array(45,-65,969,839),40805=>array(55,-87,954,830),40806=>array(46,-73,967,836),40807=>array(64,-65,942,836),40808=>array(42,-45,958,839),40809=>array(64,-63,950,837),40810=>array(58,-63,960,836),40811=>array(66,-65,911,829),40812=>array(46,-63,956,836),40813=>array(63,-66,937,825),40814=>array(59,-73,956,831),40815=>array(59,-56,958,844),40816=>array(54,-48,949,851),40817=>array(58,-68,958,828),40818=>array(55,-66,940,836),40819=>array(73,-64,927,839),40820=>array(54,-67,957,837),40821=>array(60,-42,921,877),40822=>array(56,-60,954,846),40823=>array(58,-66,936,836),40824=>array(57,-29,968,829),40825=>array(47,-65,952,847),40826=>array(54,-71,931,837),40827=>array(59,-71,962,830),40828=>array(60,-56,940,839),40829=>array(47,-70,964,839),40830=>array(53,-69,975,829),40831=>array(75,-61,925,827),40832=>array(52,-59,930,817),40833=>array(52,-59,950,842),40834=>array(52,-59,908,842),40835=>array(52,-47,953,817),40836=>array(46,-57,947,826),40837=>array(52,-47,965,828),40838=>array(52,-67,870,817),40839=>array(51,-53,941,824),40840=>array(52,-70,969,817),40841=>array(50,-71,918,817),40842=>array(54,-68,965,821),40843=>array(44,-77,889,813),40844=>array(68,-68,927,817),40845=>array(50,-66,970,833),40846=>array(44,-63,975,797),40847=>array(59,-76,957,838),40848=>array(44,-63,975,845),40849=>array(50,-61,965,834),40850=>array(61,-64,957,838),40851=>array(45,-68,955,833),40852=>array(60,-69,956,850),40853=>array(44,-64,962,858),40854=>array(47,-47,971,819),40855=>array(63,-56,957,829),40856=>array(71,-65,958,837),40857=>array(37,-65,928,823),40858=>array(23,-66,923,834),40859=>array(21,-62,934,828),40860=>array(37,-41,967,846),40861=>array(16,-55,965,851),40862=>array(56,-54,970,843),40863=>array(50,-34,965,827),40864=>array(28,-64,976,848),40865=>array(56,-48,975,857),40866=>array(31,-62,986,863),40867=>array(29,-68,969,841),40868=>array(31,-43,962,857),40869=>array(31,-74,969,857),44032=>array(98,-69,936,842),44033=>array(88,-59,936,837),44034=>array(88,-61,936,837),44035=>array(88,-71,936,837),44036=>array(90,-45,936,842),44037=>array(88,-69,936,837),44038=>array(88,-76,936,837),44039=>array(88,-44,936,837),44040=>array(88,-62,936,837),44041=>array(88,-64,936,837),44042=>array(88,-64,936,837),44043=>array(88,-64,936,837),44044=>array(88,-70,936,837),44045=>array(88,-64,936,837),44046=>array(88,-64,936,837),44047=>array(88,-76,936,837),44048=>array(88,-62,936,837),44049=>array(88,-61,936,837),44050=>array(88,-70,936,837),44051=>array(88,-74,936,837),44052=>array(88,-69,936,837),44053=>array(88,-67,936,837),44054=>array(88,-72,936,837),44055=>array(88,-71,936,837),44056=>array(88,-66,936,837),44057=>array(88,-59,936,837),44058=>array(88,-60,936,837),44059=>array(88,-69,936,837),44060=>array(104,-69,907,842),44061=>array(88,-61,907,842),44062=>array(88,-61,907,842),44063=>array(88,-71,931,842),44064=>array(90,-46,907,842),44065=>array(88,-68,912,842),44066=>array(88,-76,907,842),44067=>array(88,-44,921,842),44068=>array(88,-62,917,842),44069=>array(88,-64,907,842),44070=>array(88,-64,908,842),44071=>array(88,-64,908,842),44072=>array(88,-69,923,842),44073=>array(88,-64,908,842),44074=>array(88,-64,908,842),44075=>array(88,-76,907,842),44076=>array(88,-62,907,842),44077=>array(88,-61,907,842),44078=>array(88,-69,922,842),44079=>array(88,-74,929,842),44080=>array(88,-69,927,842),44081=>array(88,-68,911,842),44082=>array(88,-72,929,842),44083=>array(88,-70,936,842),44084=>array(88,-66,908,842),44085=>array(88,-59,916,842),44086=>array(88,-60,928,842),44087=>array(88,-68,908,842),44088=>array(98,-68,935,843),44089=>array(90,-59,936,842),44090=>array(90,-61,936,842),44091=>array(90,-71,936,842),44092=>array(90,-45,936,842),44093=>array(90,-69,936,842),44094=>array(90,-76,936,842),44095=>array(90,-44,936,842),44096=>array(90,-62,936,842),44097=>array(90,-64,936,842),44098=>array(90,-64,936,842),44099=>array(90,-64,936,842),44100=>array(90,-70,936,842),44101=>array(90,-64,936,842),44102=>array(90,-64,936,842),44103=>array(90,-76,936,842),44104=>array(90,-62,936,842),44105=>array(90,-61,936,842),44106=>array(90,-70,936,842),44107=>array(90,-74,936,842),44108=>array(90,-69,936,842),44109=>array(90,-67,936,842),44110=>array(90,-72,936,842),44111=>array(90,-71,936,842),44112=>array(90,-66,936,842),44113=>array(90,-59,936,842),44114=>array(90,-60,936,842),44115=>array(90,-69,936,842),44116=>array(104,-69,907,842),44117=>array(88,-61,907,842),44118=>array(88,-61,907,842),44119=>array(88,-71,931,842),44120=>array(90,-46,907,842),44121=>array(88,-68,912,842),44122=>array(88,-76,907,842),44123=>array(88,-44,921,842),44124=>array(88,-62,917,842),44125=>array(88,-64,907,842),44126=>array(88,-64,908,842),44127=>array(88,-64,908,842),44128=>array(88,-69,923,842),44129=>array(88,-64,908,842),44130=>array(88,-64,908,842),44131=>array(88,-76,907,842),44132=>array(88,-62,907,842),44133=>array(88,-61,907,842),44134=>array(88,-69,922,842),44135=>array(88,-74,929,842),44136=>array(88,-69,927,842),44137=>array(88,-68,911,842),44138=>array(88,-72,929,842),44139=>array(88,-70,936,842),44140=>array(88,-66,908,842),44141=>array(88,-59,916,842),44142=>array(88,-60,928,842),44143=>array(88,-68,908,842),44144=>array(98,-70,907,841),44145=>array(90,-61,907,841),44146=>array(90,-61,907,841),44147=>array(90,-71,931,841),44148=>array(90,-46,907,841),44149=>array(90,-68,912,841),44150=>array(90,-76,907,841),44151=>array(90,-44,921,841),44152=>array(90,-62,917,841),44153=>array(90,-64,907,841),44154=>array(90,-64,908,841),44155=>array(90,-64,908,841),44156=>array(90,-69,923,841),44157=>array(90,-64,908,841),44158=>array(90,-64,908,841),44159=>array(90,-76,906,841),44160=>array(90,-62,907,841),44161=>array(90,-61,907,841),44162=>array(90,-69,922,841),44163=>array(90,-74,929,841),44164=>array(90,-69,927,841),44165=>array(90,-68,911,841),44166=>array(90,-72,929,841),44167=>array(90,-70,936,841),44168=>array(90,-66,908,841),44169=>array(90,-59,916,841),44170=>array(90,-60,928,841),44171=>array(90,-68,908,841),44172=>array(93,-68,907,843),44173=>array(74,-61,907,843),44174=>array(74,-61,907,843),44175=>array(74,-71,931,843),44176=>array(70,-46,907,843),44177=>array(74,-68,912,843),44178=>array(74,-76,907,843),44179=>array(74,-44,921,843),44180=>array(74,-62,917,843),44181=>array(74,-64,907,843),44182=>array(74,-64,908,843),44183=>array(74,-64,908,843),44184=>array(74,-69,923,843),44185=>array(74,-64,908,843),44186=>array(74,-64,908,843),44187=>array(74,-76,907,843),44188=>array(74,-62,907,843),44189=>array(74,-61,907,843),44190=>array(74,-69,922,843),44191=>array(74,-74,929,843),44192=>array(74,-69,927,843),44193=>array(74,-68,911,843),44194=>array(74,-72,929,843),44195=>array(74,-70,936,843),44196=>array(74,-66,908,843),44197=>array(74,-59,916,843),44198=>array(74,-60,928,843),44199=>array(74,-68,908,843),44200=>array(98,-70,907,842),44201=>array(90,-61,908,842),44202=>array(90,-61,908,842),44203=>array(90,-71,931,842),44204=>array(90,-46,907,842),44205=>array(90,-68,912,842),44206=>array(90,-76,908,842),44207=>array(90,-44,921,842),44208=>array(90,-62,917,842),44209=>array(90,-64,908,842),44210=>array(90,-64,908,842),44211=>array(90,-64,908,842),44212=>array(90,-69,923,842),44213=>array(90,-64,908,842),44214=>array(90,-64,908,842),44215=>array(90,-76,908,842),44216=>array(90,-62,908,842),44217=>array(90,-61,908,842),44218=>array(90,-69,922,842),44219=>array(90,-74,929,842),44220=>array(90,-69,927,842),44221=>array(90,-68,911,842),44222=>array(90,-72,929,842),44223=>array(90,-70,936,842),44224=>array(90,-66,908,842),44225=>array(90,-59,916,842),44226=>array(90,-60,928,842),44227=>array(90,-68,908,842),44228=>array(78,-68,907,843),44229=>array(79,-61,907,843),44230=>array(79,-61,907,843),44231=>array(79,-71,931,843),44232=>array(70,-46,907,843),44233=>array(79,-68,912,843),44234=>array(79,-76,907,843),44235=>array(79,-44,921,843),44236=>array(79,-62,917,843),44237=>array(79,-64,907,843),44238=>array(79,-64,908,843),44239=>array(79,-64,908,843),44240=>array(79,-69,923,843),44241=>array(79,-64,908,843),44242=>array(79,-64,908,843),44243=>array(79,-76,907,843),44244=>array(79,-62,907,843),44245=>array(79,-61,907,843),44246=>array(79,-69,922,843),44247=>array(79,-74,929,843),44248=>array(79,-69,927,843),44249=>array(79,-68,911,843),44250=>array(79,-72,929,843),44251=>array(79,-70,936,843),44252=>array(79,-66,908,843),44253=>array(79,-59,916,843),44254=>array(79,-60,928,843),44255=>array(79,-68,908,843),44256=>array(62,27,943,700),44257=>array(79,-61,921,770),44258=>array(79,-61,921,770),44259=>array(79,-71,921,770),44260=>array(79,-46,921,770),44261=>array(79,-68,921,770),44262=>array(79,-74,921,770),44263=>array(79,-44,921,770),44264=>array(79,-62,921,770),44265=>array(79,-64,921,770),44266=>array(79,-64,921,770),44267=>array(79,-63,921,770),44268=>array(79,-68,921,770),44269=>array(79,-64,921,770),44270=>array(79,-63,921,770),44271=>array(79,-74,921,770),44272=>array(79,-62,921,770),44273=>array(79,-61,921,770),44274=>array(79,-69,921,770),44275=>array(79,-74,921,770),44276=>array(79,-69,921,770),44277=>array(79,-68,921,770),44278=>array(79,-72,921,770),44279=>array(79,-70,921,770),44280=>array(79,-66,921,770),44281=>array(79,-59,921,770),44282=>array(79,-60,921,770),44283=>array(79,-68,921,770),44284=>array(38,-68,935,843),44285=>array(64,-59,936,842),44286=>array(64,-61,936,842),44287=>array(64,-71,936,842),44288=>array(57,-45,936,842),44289=>array(64,-69,936,842),44290=>array(64,-76,936,842),44291=>array(64,-44,936,842),44292=>array(64,-62,936,842),44293=>array(64,-64,936,842),44294=>array(64,-64,936,842),44295=>array(64,-64,936,842),44296=>array(64,-70,936,842),44297=>array(64,-64,936,842),44298=>array(64,-64,936,842),44299=>array(64,-76,936,842),44300=>array(64,-62,936,842),44301=>array(64,-61,936,842),44302=>array(64,-70,936,842),44303=>array(64,-74,936,842),44304=>array(64,-69,936,842),44305=>array(64,-67,936,842),44306=>array(64,-72,936,842),44307=>array(64,-71,936,842),44308=>array(64,-66,936,842),44309=>array(64,-59,936,842),44310=>array(64,-60,936,842),44311=>array(64,-69,936,842),44312=>array(51,-69,907,842),44313=>array(65,-61,907,841),44314=>array(65,-61,907,841),44315=>array(65,-71,931,841),44316=>array(53,-46,907,841),44317=>array(65,-68,912,841),44318=>array(65,-76,907,841),44319=>array(65,-44,921,841),44320=>array(65,-62,917,841),44321=>array(65,-64,907,841),44322=>array(65,-64,908,841),44323=>array(65,-64,908,841),44324=>array(65,-69,923,841),44325=>array(65,-64,908,841),44326=>array(65,-64,908,841),44327=>array(65,-76,907,841),44328=>array(65,-62,907,841),44329=>array(65,-61,907,841),44330=>array(65,-69,922,841),44331=>array(65,-74,929,841),44332=>array(65,-69,927,841),44333=>array(65,-68,911,841),44334=>array(65,-72,929,841),44335=>array(65,-70,936,841),44336=>array(65,-66,908,841),44337=>array(65,-59,916,841),44338=>array(65,-60,928,841),44339=>array(65,-68,908,841),44340=>array(60,-69,907,842),44341=>array(64,-61,907,842),44342=>array(64,-61,907,842),44343=>array(64,-71,931,842),44344=>array(72,-46,907,842),44345=>array(64,-68,912,842),44346=>array(64,-76,907,842),44347=>array(64,-44,921,842),44348=>array(64,-62,917,842),44349=>array(64,-64,907,842),44350=>array(64,-64,908,842),44351=>array(64,-64,908,842),44352=>array(64,-69,923,842),44353=>array(64,-64,908,842),44354=>array(64,-64,908,842),44355=>array(64,-76,907,842),44356=>array(64,-62,907,842),44357=>array(64,-61,907,842),44358=>array(64,-69,922,842),44359=>array(64,-74,929,842),44360=>array(64,-69,927,842),44361=>array(64,-68,911,842),44362=>array(64,-72,929,842),44363=>array(64,-70,936,842),44364=>array(64,-66,908,842),44365=>array(64,-59,916,842),44366=>array(64,-60,928,842),44367=>array(64,-68,908,842),44368=>array(62,27,943,723),44369=>array(62,-61,943,770),44370=>array(62,-61,943,770),44371=>array(62,-71,943,770),44372=>array(62,-46,943,770),44373=>array(62,-68,943,770),44374=>array(62,-74,943,770),44375=>array(62,-44,943,770),44376=>array(62,-62,943,770),44377=>array(62,-64,943,770),44378=>array(62,-64,943,770),44379=>array(62,-63,943,770),44380=>array(62,-68,943,770),44381=>array(62,-64,943,770),44382=>array(62,-63,943,770),44383=>array(62,-74,943,770),44384=>array(62,-62,943,770),44385=>array(62,-61,943,770),44386=>array(62,-69,943,770),44387=>array(62,-74,943,770),44388=>array(62,-69,943,770),44389=>array(62,-68,943,770),44390=>array(62,-72,943,770),44391=>array(62,-70,943,770),44392=>array(62,-66,943,770),44393=>array(62,-59,943,770),44394=>array(62,-60,943,770),44395=>array(62,-68,943,770),44396=>array(79,-64,920,780),44397=>array(79,-61,921,769),44398=>array(79,-61,921,769),44399=>array(79,-71,921,769),44400=>array(79,-46,921,768),44401=>array(79,-68,921,769),44402=>array(79,-74,921,769),44403=>array(79,-44,921,769),44404=>array(79,-62,921,769),44405=>array(79,-64,921,769),44406=>array(79,-64,921,769),44407=>array(79,-63,921,769),44408=>array(79,-68,921,769),44409=>array(79,-64,921,769),44410=>array(79,-63,921,769),44411=>array(79,-74,921,769),44412=>array(79,-62,921,769),44413=>array(79,-61,921,769),44414=>array(79,-69,921,769),44415=>array(79,-74,921,769),44416=>array(79,-69,921,769),44417=>array(79,-68,921,769),44418=>array(79,-72,921,769),44419=>array(79,-70,921,769),44420=>array(79,-66,921,769),44421=>array(79,-59,921,769),44422=>array(79,-60,921,769),44423=>array(79,-68,921,769),44424=>array(67,-69,907,842),44425=>array(75,-61,907,841),44426=>array(75,-61,907,841),44427=>array(75,-71,931,841),44428=>array(81,-46,907,841),44429=>array(75,-68,912,841),44430=>array(75,-76,907,841),44431=>array(75,-44,921,841),44432=>array(75,-62,917,841),44433=>array(75,-64,907,841),44434=>array(75,-64,908,841),44435=>array(75,-64,908,841),44436=>array(75,-69,923,841),44437=>array(75,-64,908,841),44438=>array(75,-64,908,841),44439=>array(75,-76,906,841),44440=>array(75,-62,907,841),44441=>array(75,-61,907,841),44442=>array(75,-69,922,841),44443=>array(75,-74,929,841),44444=>array(75,-69,927,841),44445=>array(75,-68,911,841),44446=>array(75,-72,929,841),44447=>array(75,-70,936,841),44448=>array(75,-66,908,841),44449=>array(75,-59,916,841),44450=>array(75,-60,928,841),44451=>array(75,-68,908,841),44452=>array(40,-69,908,842),44453=>array(70,-61,907,843),44454=>array(70,-61,907,843),44455=>array(70,-71,931,843),44456=>array(79,-46,907,843),44457=>array(70,-68,912,843),44458=>array(70,-76,907,843),44459=>array(70,-44,921,843),44460=>array(70,-62,917,843),44461=>array(70,-64,907,843),44462=>array(70,-64,908,843),44463=>array(70,-64,908,843),44464=>array(70,-69,923,843),44465=>array(70,-64,908,843),44466=>array(70,-64,908,843),44467=>array(70,-76,907,843),44468=>array(70,-62,907,843),44469=>array(70,-61,907,843),44470=>array(70,-69,922,843),44471=>array(70,-74,929,843),44472=>array(70,-69,927,843),44473=>array(70,-68,911,843),44474=>array(70,-72,929,843),44475=>array(70,-70,936,843),44476=>array(70,-66,908,843),44477=>array(70,-59,916,843),44478=>array(70,-60,928,843),44479=>array(70,-68,908,843),44480=>array(55,-69,907,842),44481=>array(64,-61,907,842),44482=>array(64,-61,907,842),44483=>array(64,-71,931,842),44484=>array(64,-46,907,842),44485=>array(64,-68,912,842),44486=>array(64,-76,907,842),44487=>array(64,-44,921,842),44488=>array(64,-62,917,842),44489=>array(64,-64,907,842),44490=>array(64,-64,908,842),44491=>array(64,-64,908,842),44492=>array(64,-69,923,842),44493=>array(64,-64,908,842),44494=>array(64,-64,908,842),44495=>array(64,-76,907,842),44496=>array(64,-62,907,842),44497=>array(64,-61,907,842),44498=>array(64,-69,922,842),44499=>array(64,-74,929,842),44500=>array(64,-69,927,842),44501=>array(64,-68,911,842),44502=>array(64,-72,929,842),44503=>array(64,-70,936,842),44504=>array(64,-66,908,842),44505=>array(64,-59,916,842),44506=>array(64,-60,928,842),44507=>array(64,-68,908,842),44508=>array(71,-64,928,780),44509=>array(79,-61,921,768),44510=>array(79,-61,921,768),44511=>array(79,-71,921,768),44512=>array(79,-46,921,769),44513=>array(79,-68,921,768),44514=>array(79,-74,921,768),44515=>array(79,-44,921,768),44516=>array(79,-62,921,768),44517=>array(79,-64,921,768),44518=>array(79,-64,921,768),44519=>array(79,-63,921,768),44520=>array(79,-68,921,768),44521=>array(79,-64,921,768),44522=>array(79,-63,921,768),44523=>array(79,-74,921,768),44524=>array(79,-62,921,768),44525=>array(79,-61,921,768),44526=>array(79,-69,921,768),44527=>array(79,-74,921,768),44528=>array(79,-69,921,768),44529=>array(79,-68,921,768),44530=>array(79,-72,921,768),44531=>array(79,-70,921,768),44532=>array(79,-66,921,768),44533=>array(79,-59,921,768),44534=>array(79,-60,921,768),44535=>array(79,-68,921,768),44536=>array(57,62,943,685),44537=>array(78,-61,919,769),44538=>array(78,-61,919,769),44539=>array(78,-71,919,769),44540=>array(79,-46,921,770),44541=>array(78,-68,919,769),44542=>array(78,-74,919,769),44543=>array(78,-44,919,769),44544=>array(78,-62,919,769),44545=>array(78,-64,919,769),44546=>array(78,-64,919,769),44547=>array(78,-63,919,769),44548=>array(78,-68,919,769),44549=>array(78,-64,919,769),44550=>array(78,-63,919,769),44551=>array(78,-74,919,769),44552=>array(78,-62,919,769),44553=>array(78,-61,919,769),44554=>array(78,-69,919,769),44555=>array(78,-74,919,769),44556=>array(78,-69,919,769),44557=>array(78,-68,919,769),44558=>array(78,-72,919,769),44559=>array(78,-70,919,769),44560=>array(78,-66,919,769),44561=>array(78,-59,919,769),44562=>array(78,-60,919,769),44563=>array(78,-68,919,769),44564=>array(52,-69,907,842),44565=>array(64,-61,907,842),44566=>array(64,-61,907,842),44567=>array(64,-71,931,842),44568=>array(68,-46,907,842),44569=>array(64,-68,912,842),44570=>array(64,-76,907,842),44571=>array(64,-44,921,842),44572=>array(64,-62,917,842),44573=>array(64,-64,907,842),44574=>array(64,-64,908,842),44575=>array(64,-64,908,842),44576=>array(64,-69,923,842),44577=>array(64,-64,908,842),44578=>array(64,-64,908,842),44579=>array(64,-76,907,842),44580=>array(64,-62,907,842),44581=>array(64,-61,907,842),44582=>array(64,-69,922,842),44583=>array(64,-74,929,842),44584=>array(64,-69,927,842),44585=>array(64,-68,911,842),44586=>array(64,-72,929,842),44587=>array(64,-70,936,842),44588=>array(64,-66,908,842),44589=>array(64,-59,916,842),44590=>array(64,-60,928,842),44591=>array(64,-68,908,842),44592=>array(90,-69,907,842),44593=>array(63,-61,907,842),44594=>array(63,-61,907,842),44595=>array(63,-71,931,842),44596=>array(77,-46,907,842),44597=>array(63,-68,912,842),44598=>array(63,-76,907,842),44599=>array(63,-44,921,842),44600=>array(63,-62,917,842),44601=>array(63,-64,907,842),44602=>array(63,-64,908,842),44603=>array(63,-64,908,842),44604=>array(63,-69,923,842),44605=>array(63,-64,908,842),44606=>array(63,-64,908,842),44607=>array(63,-76,907,842),44608=>array(63,-62,907,842),44609=>array(63,-61,907,842),44610=>array(63,-69,922,842),44611=>array(63,-74,929,842),44612=>array(63,-69,927,842),44613=>array(63,-68,911,842),44614=>array(63,-72,929,842),44615=>array(63,-70,936,842),44616=>array(63,-66,908,842),44617=>array(63,-59,916,842),44618=>array(63,-60,928,842),44619=>array(63,-68,908,842),44620=>array(46,-69,936,842),44621=>array(88,-59,936,842),44622=>array(88,-61,936,842),44623=>array(88,-71,936,842),44624=>array(60,-45,936,842),44625=>array(88,-69,936,842),44626=>array(88,-76,936,842),44627=>array(88,-44,936,842),44628=>array(88,-62,936,842),44629=>array(88,-64,936,842),44630=>array(88,-64,936,842),44631=>array(88,-64,936,842),44632=>array(88,-70,936,842),44633=>array(88,-64,936,842),44634=>array(88,-64,936,842),44635=>array(88,-76,936,842),44636=>array(88,-62,936,842),44637=>array(88,-61,936,842),44638=>array(88,-70,936,842),44639=>array(88,-74,936,842),44640=>array(88,-69,936,842),44641=>array(88,-67,936,842),44642=>array(88,-72,936,842),44643=>array(88,-71,936,842),44644=>array(88,-66,936,842),44645=>array(88,-59,936,842),44646=>array(88,-60,936,842),44647=>array(88,-69,936,842),44648=>array(41,-69,907,842),44649=>array(68,-61,907,837),44650=>array(68,-61,907,837),44651=>array(68,-71,931,837),44652=>array(50,-46,907,842),44653=>array(68,-68,912,837),44654=>array(68,-76,907,837),44655=>array(68,-44,921,837),44656=>array(68,-62,917,837),44657=>array(68,-64,907,837),44658=>array(68,-64,908,837),44659=>array(68,-64,908,837),44660=>array(68,-69,923,837),44661=>array(68,-64,908,837),44662=>array(68,-64,908,837),44663=>array(68,-76,907,837),44664=>array(68,-62,907,837),44665=>array(68,-61,907,837),44666=>array(68,-69,922,837),44667=>array(68,-74,929,837),44668=>array(68,-69,927,837),44669=>array(68,-68,911,837),44670=>array(68,-72,929,837),44671=>array(68,-70,936,837),44672=>array(68,-66,908,837),44673=>array(68,-59,916,837),44674=>array(68,-60,928,837),44675=>array(68,-68,908,837),44676=>array(46,-69,936,842),44677=>array(88,-59,936,842),44678=>array(88,-61,936,842),44679=>array(88,-71,936,842),44680=>array(60,-45,936,842),44681=>array(88,-69,936,842),44682=>array(88,-76,936,842),44683=>array(88,-44,936,842),44684=>array(88,-62,936,842),44685=>array(88,-64,936,842),44686=>array(88,-64,936,842),44687=>array(88,-64,936,842),44688=>array(88,-70,936,842),44689=>array(88,-64,936,842),44690=>array(88,-64,936,842),44691=>array(88,-76,936,842),44692=>array(88,-62,936,842),44693=>array(88,-61,936,842),44694=>array(88,-70,936,842),44695=>array(88,-74,936,842),44696=>array(88,-69,936,842),44697=>array(88,-67,936,842),44698=>array(88,-72,936,842),44699=>array(88,-71,936,842),44700=>array(88,-66,936,842),44701=>array(88,-59,936,842),44702=>array(88,-60,936,842),44703=>array(88,-69,936,842),44704=>array(41,-69,907,842),44705=>array(68,-61,907,842),44706=>array(68,-61,907,842),44707=>array(68,-71,931,842),44708=>array(50,-46,907,842),44709=>array(68,-68,912,842),44710=>array(68,-76,907,842),44711=>array(68,-44,921,842),44712=>array(68,-62,917,842),44713=>array(68,-64,907,842),44714=>array(68,-64,908,842),44715=>array(68,-64,908,842),44716=>array(68,-69,923,842),44717=>array(68,-64,908,842),44718=>array(68,-64,908,842),44719=>array(68,-76,907,842),44720=>array(68,-62,907,842),44721=>array(68,-61,907,842),44722=>array(68,-69,922,842),44723=>array(68,-74,929,842),44724=>array(68,-69,927,842),44725=>array(68,-68,911,842),44726=>array(68,-72,929,842),44727=>array(68,-70,936,842),44728=>array(68,-66,908,842),44729=>array(68,-59,916,842),44730=>array(68,-60,928,842),44731=>array(68,-68,908,842),44732=>array(46,-70,907,841),44733=>array(88,-61,907,836),44734=>array(88,-61,907,836),44735=>array(88,-71,931,836),44736=>array(60,-46,907,841),44737=>array(88,-68,912,836),44738=>array(88,-76,907,836),44739=>array(88,-44,921,836),44740=>array(88,-62,917,836),44741=>array(88,-64,907,836),44742=>array(88,-64,908,836),44743=>array(88,-64,908,836),44744=>array(88,-69,923,836),44745=>array(88,-64,908,836),44746=>array(88,-64,908,836),44747=>array(88,-76,906,836),44748=>array(88,-62,907,836),44749=>array(88,-61,907,836),44750=>array(88,-69,922,836),44751=>array(88,-74,929,836),44752=>array(88,-69,927,836),44753=>array(88,-68,911,836),44754=>array(88,-72,929,836),44755=>array(88,-70,936,836),44756=>array(88,-66,908,836),44757=>array(88,-59,916,836),44758=>array(88,-60,928,836),44759=>array(88,-68,908,836),44760=>array(36,-68,907,843),44761=>array(53,-61,907,843),44762=>array(53,-61,907,843),44763=>array(53,-71,931,843),44764=>array(35,-46,907,843),44765=>array(53,-68,912,843),44766=>array(53,-76,907,843),44767=>array(53,-44,921,843),44768=>array(53,-62,917,843),44769=>array(53,-64,907,843),44770=>array(53,-64,908,843),44771=>array(53,-64,908,843),44772=>array(53,-69,923,843),44773=>array(53,-64,908,843),44774=>array(53,-64,908,843),44775=>array(53,-76,907,843),44776=>array(53,-62,907,843),44777=>array(53,-61,907,843),44778=>array(53,-69,922,843),44779=>array(53,-74,929,843),44780=>array(53,-69,927,843),44781=>array(53,-68,911,843),44782=>array(53,-72,929,843),44783=>array(53,-70,936,843),44784=>array(53,-66,908,843),44785=>array(53,-59,916,843),44786=>array(53,-60,928,843),44787=>array(53,-68,908,843),44788=>array(46,-69,908,842),44789=>array(88,-61,909,842),44790=>array(88,-61,909,842),44791=>array(88,-71,931,842),44792=>array(60,-46,909,841),44793=>array(88,-68,912,842),44794=>array(88,-76,909,842),44795=>array(88,-44,921,842),44796=>array(88,-62,917,842),44797=>array(88,-64,909,842),44798=>array(88,-64,909,842),44799=>array(88,-64,909,842),44800=>array(88,-69,923,842),44801=>array(88,-64,909,842),44802=>array(88,-64,909,842),44803=>array(88,-76,909,842),44804=>array(88,-62,909,842),44805=>array(88,-61,909,842),44806=>array(88,-69,922,842),44807=>array(88,-74,929,842),44808=>array(88,-69,927,842),44809=>array(88,-68,911,842),44810=>array(88,-72,929,842),44811=>array(88,-70,936,842),44812=>array(88,-66,909,842),44813=>array(88,-59,916,842),44814=>array(88,-60,928,842),44815=>array(88,-68,909,842),44816=>array(36,-68,907,843),44817=>array(53,-61,907,838),44818=>array(53,-61,907,838),44819=>array(53,-71,931,838),44820=>array(35,-46,907,843),44821=>array(53,-68,912,838),44822=>array(53,-76,907,838),44823=>array(53,-44,921,838),44824=>array(53,-62,917,838),44825=>array(53,-64,907,838),44826=>array(53,-64,908,838),44827=>array(53,-64,908,838),44828=>array(53,-69,923,838),44829=>array(53,-64,908,838),44830=>array(53,-64,908,838),44831=>array(53,-76,907,838),44832=>array(53,-62,907,838),44833=>array(53,-61,907,838),44834=>array(53,-69,922,838),44835=>array(53,-74,929,838),44836=>array(53,-69,927,838),44837=>array(53,-68,911,838),44838=>array(53,-72,929,838),44839=>array(53,-70,936,838),44840=>array(53,-66,908,838),44841=>array(53,-59,916,838),44842=>array(53,-60,928,838),44843=>array(53,-68,908,838),44844=>array(60,12,940,714),44845=>array(79,-61,921,767),44846=>array(79,-61,921,767),44847=>array(79,-71,921,767),44848=>array(79,-46,921,766),44849=>array(79,-68,921,767),44850=>array(79,-74,921,767),44851=>array(79,-44,921,767),44852=>array(79,-62,921,767),44853=>array(79,-64,921,767),44854=>array(79,-64,921,767),44855=>array(79,-63,921,767),44856=>array(79,-68,921,767),44857=>array(79,-64,921,767),44858=>array(79,-63,921,767),44859=>array(79,-74,921,767),44860=>array(79,-62,921,767),44861=>array(79,-61,921,767),44862=>array(79,-69,921,767),44863=>array(79,-74,921,767),44864=>array(79,-69,921,767),44865=>array(79,-68,921,767),44866=>array(79,-72,921,767),44867=>array(79,-70,921,767),44868=>array(79,-66,921,767),44869=>array(79,-59,921,767),44870=>array(79,-60,921,767),44871=>array(79,-68,921,767),44872=>array(52,-69,936,842),44873=>array(69,-59,936,837),44874=>array(69,-61,936,837),44875=>array(69,-71,936,837),44876=>array(72,-45,936,842),44877=>array(69,-69,936,837),44878=>array(69,-76,936,837),44879=>array(69,-44,936,837),44880=>array(69,-62,936,837),44881=>array(69,-64,936,837),44882=>array(69,-64,936,837),44883=>array(69,-64,936,837),44884=>array(69,-70,936,837),44885=>array(69,-64,936,837),44886=>array(69,-64,936,837),44887=>array(69,-76,936,837),44888=>array(69,-62,936,837),44889=>array(69,-61,936,837),44890=>array(69,-70,936,837),44891=>array(69,-74,936,837),44892=>array(69,-69,936,837),44893=>array(69,-67,936,837),44894=>array(69,-72,936,837),44895=>array(69,-71,936,837),44896=>array(69,-66,936,837),44897=>array(69,-59,936,837),44898=>array(69,-60,936,837),44899=>array(69,-69,936,837),44900=>array(68,-69,907,842),44901=>array(70,-61,907,842),44902=>array(70,-61,907,842),44903=>array(70,-71,931,842),44904=>array(57,-46,907,842),44905=>array(70,-68,912,842),44906=>array(70,-76,907,842),44907=>array(70,-44,921,842),44908=>array(70,-62,917,842),44909=>array(70,-64,907,842),44910=>array(70,-64,908,842),44911=>array(70,-64,908,842),44912=>array(70,-69,923,842),44913=>array(70,-64,908,842),44914=>array(70,-64,908,842),44915=>array(70,-76,907,842),44916=>array(70,-62,907,842),44917=>array(70,-61,907,842),44918=>array(70,-69,922,842),44919=>array(70,-74,929,842),44920=>array(70,-69,927,842),44921=>array(70,-68,911,842),44922=>array(70,-72,929,842),44923=>array(70,-70,936,842),44924=>array(70,-66,908,842),44925=>array(70,-59,916,842),44926=>array(70,-60,928,842),44927=>array(70,-68,908,842),44928=>array(78,-69,907,842),44929=>array(64,-61,907,842),44930=>array(64,-61,907,842),44931=>array(64,-71,931,842),44932=>array(69,-46,907,842),44933=>array(64,-68,912,842),44934=>array(64,-76,907,842),44935=>array(64,-44,921,842),44936=>array(64,-62,917,842),44937=>array(64,-64,907,842),44938=>array(64,-64,908,842),44939=>array(64,-64,908,842),44940=>array(64,-69,923,842),44941=>array(64,-64,908,842),44942=>array(64,-64,908,842),44943=>array(64,-76,907,842),44944=>array(64,-62,907,842),44945=>array(64,-61,907,842),44946=>array(64,-69,922,842),44947=>array(64,-74,929,842),44948=>array(64,-69,927,842),44949=>array(64,-68,911,842),44950=>array(64,-72,929,842),44951=>array(64,-70,936,842),44952=>array(64,-66,908,842),44953=>array(64,-59,916,842),44954=>array(64,-60,928,842),44955=>array(64,-68,908,842),44956=>array(60,32,940,714),44957=>array(79,-61,921,794),44958=>array(79,-61,921,794),44959=>array(79,-71,921,794),44960=>array(79,-46,921,785),44961=>array(79,-68,921,794),44962=>array(79,-74,921,794),44963=>array(79,-44,921,794),44964=>array(79,-62,921,794),44965=>array(79,-64,921,794),44966=>array(79,-64,921,794),44967=>array(79,-63,921,794),44968=>array(79,-68,921,794),44969=>array(79,-64,921,794),44970=>array(79,-63,921,794),44971=>array(79,-74,921,794),44972=>array(79,-62,921,794),44973=>array(79,-61,921,794),44974=>array(79,-69,921,794),44975=>array(79,-74,921,794),44976=>array(79,-69,921,794),44977=>array(79,-68,921,794),44978=>array(79,-72,921,794),44979=>array(79,-70,921,794),44980=>array(79,-66,921,794),44981=>array(79,-59,921,794),44982=>array(79,-60,921,794),44983=>array(79,-68,921,794),44984=>array(79,-64,921,776),44985=>array(79,-61,921,766),44986=>array(79,-61,921,766),44987=>array(79,-71,921,766),44988=>array(79,-46,921,767),44989=>array(79,-68,921,766),44990=>array(79,-74,921,766),44991=>array(79,-44,921,766),44992=>array(79,-62,921,766),44993=>array(79,-64,921,766),44994=>array(79,-64,921,766),44995=>array(79,-63,921,766),44996=>array(79,-68,921,766),44997=>array(79,-64,921,766),44998=>array(79,-63,921,766),44999=>array(79,-74,921,766),45000=>array(79,-62,921,766),45001=>array(79,-61,921,766),45002=>array(79,-69,921,766),45003=>array(79,-74,921,766),45004=>array(79,-69,921,766),45005=>array(79,-68,921,766),45006=>array(79,-72,921,766),45007=>array(79,-70,921,766),45008=>array(79,-66,921,766),45009=>array(79,-59,921,766),45010=>array(79,-60,921,766),45011=>array(79,-68,921,766),45012=>array(78,-70,907,841),45013=>array(68,-61,907,841),45014=>array(68,-61,907,841),45015=>array(68,-71,931,841),45016=>array(80,-46,907,841),45017=>array(68,-68,912,841),45018=>array(68,-76,907,841),45019=>array(68,-44,921,841),45020=>array(68,-62,917,841),45021=>array(68,-64,907,841),45022=>array(68,-64,908,841),45023=>array(68,-64,908,841),45024=>array(68,-69,923,841),45025=>array(68,-64,908,841),45026=>array(68,-64,908,841),45027=>array(68,-76,906,841),45028=>array(68,-62,907,841),45029=>array(68,-61,907,841),45030=>array(68,-69,922,841),45031=>array(68,-74,929,841),45032=>array(68,-69,927,841),45033=>array(68,-68,911,841),45034=>array(68,-72,929,841),45035=>array(68,-70,936,841),45036=>array(68,-66,908,841),45037=>array(68,-59,916,841),45038=>array(68,-60,928,841),45039=>array(68,-68,908,841),45040=>array(50,-68,912,843),45041=>array(67,-61,907,838),45042=>array(67,-61,907,838),45043=>array(67,-71,931,838),45044=>array(75,-46,907,843),45045=>array(67,-68,912,838),45046=>array(67,-76,907,838),45047=>array(67,-44,921,838),45048=>array(67,-62,917,838),45049=>array(67,-64,907,838),45050=>array(67,-64,908,838),45051=>array(67,-64,908,838),45052=>array(67,-69,923,838),45053=>array(67,-64,908,838),45054=>array(67,-64,908,838),45055=>array(67,-76,907,838),45056=>array(67,-62,907,838),45057=>array(67,-61,907,838),45058=>array(67,-69,922,838),45059=>array(67,-74,929,838),45060=>array(67,-69,927,838),45061=>array(67,-68,911,838),45062=>array(67,-72,929,838),45063=>array(67,-70,936,838),45064=>array(67,-66,908,838),45065=>array(67,-59,916,838),45066=>array(67,-60,928,838),45067=>array(67,-68,908,838),45068=>array(64,-69,907,842),45069=>array(65,-61,907,842),45070=>array(65,-61,907,842),45071=>array(65,-71,931,842),45072=>array(78,-46,907,842),45073=>array(65,-68,912,842),45074=>array(65,-76,907,842),45075=>array(65,-44,921,842),45076=>array(65,-62,917,842),45077=>array(65,-64,907,842),45078=>array(65,-64,908,842),45079=>array(65,-64,908,842),45080=>array(65,-69,923,842),45081=>array(65,-64,908,842),45082=>array(65,-64,908,842),45083=>array(65,-76,907,842),45084=>array(65,-62,907,842),45085=>array(65,-61,907,842),45086=>array(65,-69,922,842),45087=>array(65,-74,929,842),45088=>array(65,-69,927,842),45089=>array(65,-68,911,842),45090=>array(65,-72,929,842),45091=>array(65,-70,936,842),45092=>array(65,-66,908,842),45093=>array(65,-59,916,842),45094=>array(65,-60,928,842),45095=>array(65,-68,908,842),45096=>array(84,-64,921,776),45097=>array(79,-61,921,766),45098=>array(79,-61,921,766),45099=>array(79,-71,921,766),45100=>array(81,-46,922,767),45101=>array(79,-68,921,766),45102=>array(79,-74,921,766),45103=>array(79,-44,921,766),45104=>array(79,-62,921,766),45105=>array(79,-64,921,766),45106=>array(79,-64,921,766),45107=>array(79,-63,921,766),45108=>array(79,-68,921,766),45109=>array(79,-64,921,766),45110=>array(79,-63,921,766),45111=>array(79,-74,921,766),45112=>array(79,-62,921,766),45113=>array(79,-61,921,766),45114=>array(79,-69,921,766),45115=>array(79,-74,921,766),45116=>array(79,-69,921,766),45117=>array(79,-68,921,766),45118=>array(79,-72,921,766),45119=>array(79,-70,921,766),45120=>array(79,-66,921,766),45121=>array(79,-59,921,766),45122=>array(79,-60,921,766),45123=>array(79,-68,921,766),45124=>array(57,52,943,691),45125=>array(79,-61,921,767),45126=>array(79,-61,921,767),45127=>array(79,-71,921,767),45128=>array(79,-46,921,767),45129=>array(79,-68,921,767),45130=>array(79,-74,921,767),45131=>array(79,-44,921,767),45132=>array(79,-62,921,767),45133=>array(79,-64,921,767),45134=>array(79,-64,921,767),45135=>array(79,-63,921,767),45136=>array(79,-68,921,767),45137=>array(79,-64,921,767),45138=>array(79,-63,921,767),45139=>array(79,-74,921,767),45140=>array(79,-62,921,767),45141=>array(79,-61,921,767),45142=>array(79,-69,921,767),45143=>array(79,-74,921,767),45144=>array(79,-69,921,767),45145=>array(79,-68,921,767),45146=>array(79,-72,921,767),45147=>array(79,-70,921,767),45148=>array(79,-66,921,767),45149=>array(79,-59,921,767),45150=>array(79,-60,921,767),45151=>array(79,-68,921,767),45152=>array(66,-69,907,842),45153=>array(75,-61,907,842),45154=>array(75,-61,907,842),45155=>array(75,-71,931,842),45156=>array(74,-46,907,842),45157=>array(75,-68,912,842),45158=>array(75,-76,907,842),45159=>array(75,-44,921,842),45160=>array(75,-62,917,842),45161=>array(75,-64,907,842),45162=>array(75,-64,908,842),45163=>array(75,-64,908,842),45164=>array(75,-69,923,842),45165=>array(75,-64,908,842),45166=>array(75,-64,908,842),45167=>array(75,-76,907,842),45168=>array(75,-62,907,842),45169=>array(75,-61,907,842),45170=>array(75,-69,922,842),45171=>array(75,-74,929,842),45172=>array(75,-69,927,842),45173=>array(75,-68,911,842),45174=>array(75,-72,929,842),45175=>array(75,-70,936,842),45176=>array(75,-66,908,842),45177=>array(75,-59,916,842),45178=>array(75,-60,928,842),45179=>array(75,-68,908,842),45180=>array(56,-69,907,842),45181=>array(123,-61,907,842),45182=>array(123,-61,907,842),45183=>array(123,-71,931,842),45184=>array(105,-46,907,842),45185=>array(123,-68,912,842),45186=>array(123,-76,907,842),45187=>array(123,-44,921,842),45188=>array(123,-62,917,842),45189=>array(123,-64,907,842),45190=>array(123,-64,908,842),45191=>array(123,-64,908,842),45192=>array(123,-69,923,842),45193=>array(123,-64,908,842),45194=>array(123,-64,908,842),45195=>array(123,-76,907,842),45196=>array(123,-62,907,842),45197=>array(123,-61,907,842),45198=>array(123,-69,922,842),45199=>array(123,-74,929,842),45200=>array(123,-69,927,842),45201=>array(123,-68,911,842),45202=>array(123,-72,929,842),45203=>array(123,-70,936,842),45204=>array(123,-66,908,842),45205=>array(123,-59,916,842),45206=>array(123,-60,928,842),45207=>array(123,-68,908,842),45208=>array(109,-69,936,842),45209=>array(109,-59,936,842),45210=>array(109,-61,936,842),45211=>array(109,-71,936,842),45212=>array(109,-45,936,842),45213=>array(109,-69,936,842),45214=>array(109,-76,936,842),45215=>array(109,-44,936,842),45216=>array(109,-62,936,842),45217=>array(109,-64,936,842),45218=>array(109,-64,936,842),45219=>array(109,-64,936,842),45220=>array(109,-70,936,842),45221=>array(109,-64,936,842),45222=>array(109,-64,936,842),45223=>array(109,-76,936,842),45224=>array(109,-62,936,842),45225=>array(109,-61,936,842),45226=>array(109,-70,936,842),45227=>array(109,-74,936,842),45228=>array(109,-69,936,842),45229=>array(109,-67,936,842),45230=>array(109,-72,936,842),45231=>array(109,-71,936,842),45232=>array(109,-66,936,842),45233=>array(109,-59,936,842),45234=>array(109,-60,936,842),45235=>array(109,-69,936,842),45236=>array(133,-69,907,842),45237=>array(109,-61,907,842),45238=>array(109,-61,907,842),45239=>array(109,-71,931,842),45240=>array(109,-46,907,842),45241=>array(109,-68,912,842),45242=>array(109,-76,907,842),45243=>array(109,-44,921,842),45244=>array(109,-62,917,842),45245=>array(109,-64,907,842),45246=>array(109,-64,908,842),45247=>array(109,-64,908,842),45248=>array(109,-69,923,842),45249=>array(109,-64,908,842),45250=>array(109,-64,908,842),45251=>array(109,-76,907,842),45252=>array(109,-62,907,842),45253=>array(109,-61,907,842),45254=>array(109,-69,922,842),45255=>array(109,-74,929,842),45256=>array(109,-69,927,842),45257=>array(109,-68,911,842),45258=>array(109,-72,929,842),45259=>array(109,-70,936,842),45260=>array(109,-66,908,842),45261=>array(109,-59,916,842),45262=>array(109,-60,928,842),45263=>array(109,-68,908,842),45264=>array(109,-69,936,842),45265=>array(109,-59,936,842),45266=>array(109,-61,936,842),45267=>array(109,-71,936,842),45268=>array(109,-45,936,842),45269=>array(109,-69,936,842),45270=>array(109,-76,936,842),45271=>array(109,-44,936,842),45272=>array(109,-62,936,842),45273=>array(109,-64,936,842),45274=>array(109,-64,936,842),45275=>array(109,-64,936,842),45276=>array(109,-70,936,842),45277=>array(109,-64,936,842),45278=>array(109,-64,936,842),45279=>array(109,-76,936,842),45280=>array(109,-62,936,842),45281=>array(109,-61,936,842),45282=>array(109,-70,936,842),45283=>array(109,-74,936,842),45284=>array(109,-69,936,842),45285=>array(109,-67,936,842),45286=>array(109,-72,936,842),45287=>array(109,-71,936,842),45288=>array(109,-66,936,842),45289=>array(109,-59,936,842),45290=>array(109,-60,936,842),45291=>array(109,-69,936,842),45292=>array(133,-69,907,842),45293=>array(109,-61,907,842),45294=>array(109,-61,907,842),45295=>array(109,-71,931,842),45296=>array(109,-46,907,842),45297=>array(109,-68,912,842),45298=>array(109,-76,907,842),45299=>array(109,-44,921,842),45300=>array(109,-62,917,842),45301=>array(109,-64,907,842),45302=>array(109,-64,908,842),45303=>array(109,-64,908,842),45304=>array(109,-69,923,842),45305=>array(109,-64,908,842),45306=>array(109,-64,908,842),45307=>array(109,-76,907,842),45308=>array(109,-62,907,842),45309=>array(109,-61,907,842),45310=>array(109,-69,922,842),45311=>array(109,-74,929,842),45312=>array(109,-69,927,842),45313=>array(109,-68,911,842),45314=>array(109,-72,929,842),45315=>array(109,-70,936,842),45316=>array(109,-66,908,842),45317=>array(109,-59,916,842),45318=>array(109,-60,928,842),45319=>array(109,-68,908,842),45320=>array(109,-70,907,841),45321=>array(109,-61,907,841),45322=>array(109,-61,907,841),45323=>array(109,-71,931,841),45324=>array(109,-46,907,841),45325=>array(109,-68,912,841),45326=>array(109,-76,907,841),45327=>array(109,-44,921,841),45328=>array(109,-62,917,841),45329=>array(109,-64,907,841),45330=>array(109,-64,908,841),45331=>array(109,-64,908,841),45332=>array(109,-69,923,841),45333=>array(109,-64,908,841),45334=>array(109,-64,908,841),45335=>array(109,-76,906,841),45336=>array(109,-62,907,841),45337=>array(109,-61,907,841),45338=>array(109,-69,922,841),45339=>array(109,-74,929,841),45340=>array(109,-69,927,841),45341=>array(109,-68,911,841),45342=>array(109,-72,929,841),45343=>array(109,-70,936,841),45344=>array(109,-66,908,841),45345=>array(109,-59,916,841),45346=>array(109,-60,928,841),45347=>array(109,-68,908,841),45348=>array(134,-68,907,843),45349=>array(109,-61,907,843),45350=>array(109,-61,907,843),45351=>array(109,-71,931,843),45352=>array(109,-46,907,843),45353=>array(109,-68,912,843),45354=>array(109,-76,907,843),45355=>array(109,-44,921,843),45356=>array(109,-62,917,843),45357=>array(109,-64,907,843),45358=>array(109,-64,908,843),45359=>array(109,-64,908,843),45360=>array(109,-69,923,843),45361=>array(109,-64,908,843),45362=>array(109,-64,908,843),45363=>array(109,-76,907,843),45364=>array(109,-62,907,843),45365=>array(109,-61,907,843),45366=>array(109,-69,922,843),45367=>array(109,-74,929,843),45368=>array(109,-69,927,843),45369=>array(109,-68,911,843),45370=>array(109,-72,929,843),45371=>array(109,-70,936,843),45372=>array(109,-66,908,843),45373=>array(109,-59,916,843),45374=>array(109,-60,928,843),45375=>array(109,-68,908,843),45376=>array(109,-69,909,842),45377=>array(109,-61,907,842),45378=>array(109,-61,907,842),45379=>array(109,-71,931,842),45380=>array(109,-46,908,841),45381=>array(109,-68,912,842),45382=>array(109,-76,907,842),45383=>array(109,-44,921,842),45384=>array(109,-62,917,842),45385=>array(109,-64,907,842),45386=>array(109,-64,908,842),45387=>array(109,-64,908,842),45388=>array(109,-69,923,842),45389=>array(109,-64,908,842),45390=>array(109,-64,908,842),45391=>array(109,-76,907,842),45392=>array(109,-62,907,842),45393=>array(109,-61,907,842),45394=>array(109,-69,922,842),45395=>array(109,-74,929,842),45396=>array(109,-69,927,842),45397=>array(109,-68,911,842),45398=>array(109,-72,929,842),45399=>array(109,-70,936,842),45400=>array(109,-66,908,842),45401=>array(109,-59,916,842),45402=>array(109,-60,928,842),45403=>array(109,-68,908,842),45404=>array(144,-68,907,843),45405=>array(109,-61,907,838),45406=>array(109,-61,907,838),45407=>array(109,-71,931,838),45408=>array(109,-46,907,843),45409=>array(109,-68,912,838),45410=>array(109,-76,907,838),45411=>array(109,-44,921,838),45412=>array(109,-62,917,838),45413=>array(109,-64,907,838),45414=>array(109,-64,908,838),45415=>array(109,-64,908,838),45416=>array(109,-69,923,838),45417=>array(109,-64,908,838),45418=>array(109,-64,908,838),45419=>array(109,-76,907,838),45420=>array(109,-62,907,838),45421=>array(109,-61,907,838),45422=>array(109,-69,922,838),45423=>array(109,-74,929,838),45424=>array(109,-69,927,838),45425=>array(109,-68,911,838),45426=>array(109,-72,929,838),45427=>array(109,-70,936,838),45428=>array(109,-66,908,838),45429=>array(109,-59,916,838),45430=>array(109,-60,928,838),45431=>array(109,-68,908,838),45432=>array(62,27,943,732),45433=>array(79,-61,921,797),45434=>array(79,-61,921,797),45435=>array(79,-71,921,797),45436=>array(79,-46,921,792),45437=>array(79,-68,921,797),45438=>array(79,-74,921,797),45439=>array(79,-44,921,797),45440=>array(79,-62,921,797),45441=>array(79,-64,921,797),45442=>array(79,-64,921,797),45443=>array(79,-63,921,797),45444=>array(79,-68,921,797),45445=>array(79,-64,921,797),45446=>array(79,-63,921,797),45447=>array(79,-74,921,797),45448=>array(79,-62,921,797),45449=>array(79,-61,921,797),45450=>array(79,-69,921,797),45451=>array(79,-74,921,797),45452=>array(79,-69,921,797),45453=>array(79,-68,921,797),45454=>array(79,-72,921,797),45455=>array(79,-70,921,797),45456=>array(79,-66,921,797),45457=>array(79,-59,921,797),45458=>array(79,-60,921,797),45459=>array(79,-68,921,797),45460=>array(47,-69,936,842),45461=>array(64,-59,936,842),45462=>array(64,-61,936,842),45463=>array(64,-71,936,842),45464=>array(74,-45,936,842),45465=>array(64,-69,936,842),45466=>array(64,-76,936,842),45467=>array(64,-44,936,842),45468=>array(64,-62,936,842),45469=>array(64,-64,936,842),45470=>array(64,-64,936,842),45471=>array(64,-64,936,842),45472=>array(64,-70,936,842),45473=>array(64,-64,936,842),45474=>array(64,-64,936,842),45475=>array(64,-76,936,842),45476=>array(64,-62,936,842),45477=>array(64,-61,936,842),45478=>array(64,-70,936,842),45479=>array(64,-74,936,842),45480=>array(64,-69,936,842),45481=>array(64,-67,936,842),45482=>array(64,-72,936,842),45483=>array(64,-71,936,842),45484=>array(64,-66,936,842),45485=>array(64,-59,936,842),45486=>array(64,-60,936,842),45487=>array(64,-69,936,842),45488=>array(43,-68,907,843),45489=>array(79,-61,907,843),45490=>array(79,-61,907,843),45491=>array(79,-71,931,843),45492=>array(72,-46,907,842),45493=>array(79,-68,912,843),45494=>array(79,-76,907,843),45495=>array(79,-44,921,843),45496=>array(79,-62,917,843),45497=>array(79,-64,907,843),45498=>array(79,-64,908,843),45499=>array(79,-64,908,843),45500=>array(79,-69,923,843),45501=>array(79,-64,908,843),45502=>array(79,-64,908,843),45503=>array(79,-76,907,843),45504=>array(79,-62,907,843),45505=>array(79,-61,907,843),45506=>array(79,-69,922,843),45507=>array(79,-74,929,843),45508=>array(79,-69,927,843),45509=>array(79,-68,911,843),45510=>array(79,-72,929,843),45511=>array(79,-70,936,843),45512=>array(79,-66,908,843),45513=>array(79,-59,916,843),45514=>array(79,-60,928,843),45515=>array(79,-68,908,843),45516=>array(62,-69,907,842),45517=>array(64,-61,908,842),45518=>array(64,-61,908,842),45519=>array(64,-71,931,842),45520=>array(64,-46,908,841),45521=>array(64,-68,912,842),45522=>array(64,-76,908,842),45523=>array(64,-44,921,842),45524=>array(64,-62,917,842),45525=>array(64,-64,908,842),45526=>array(64,-64,908,842),45527=>array(64,-64,908,842),45528=>array(64,-69,923,842),45529=>array(64,-64,908,842),45530=>array(64,-64,908,842),45531=>array(64,-76,908,842),45532=>array(64,-62,908,842),45533=>array(64,-61,908,842),45534=>array(64,-69,922,842),45535=>array(64,-74,929,842),45536=>array(64,-69,927,842),45537=>array(64,-68,911,842),45538=>array(64,-72,929,842),45539=>array(64,-70,936,842),45540=>array(64,-66,908,842),45541=>array(64,-59,916,842),45542=>array(64,-60,928,842),45543=>array(64,-68,908,842),45544=>array(60,-13,940,742),45545=>array(79,-61,922,797),45546=>array(79,-61,922,797),45547=>array(79,-71,922,797),45548=>array(79,-46,922,797),45549=>array(79,-68,922,797),45550=>array(79,-74,922,797),45551=>array(79,-44,922,797),45552=>array(79,-62,922,797),45553=>array(79,-64,922,797),45554=>array(79,-64,922,797),45555=>array(79,-63,922,797),45556=>array(79,-68,922,797),45557=>array(79,-64,922,797),45558=>array(79,-63,922,797),45559=>array(79,-74,922,797),45560=>array(79,-62,922,797),45561=>array(79,-61,922,797),45562=>array(79,-69,922,797),45563=>array(79,-74,922,797),45564=>array(79,-69,922,797),45565=>array(79,-68,922,797),45566=>array(79,-72,922,797),45567=>array(79,-70,922,797),45568=>array(79,-66,922,797),45569=>array(79,-59,922,797),45570=>array(79,-60,922,797),45571=>array(79,-68,922,797),45572=>array(79,-64,921,797),45573=>array(79,-61,921,797),45574=>array(79,-61,921,797),45575=>array(79,-71,921,797),45576=>array(79,-46,921,797),45577=>array(79,-68,921,797),45578=>array(79,-74,921,797),45579=>array(79,-44,921,797),45580=>array(79,-62,921,797),45581=>array(79,-64,921,797),45582=>array(79,-64,921,797),45583=>array(79,-63,921,797),45584=>array(79,-68,921,797),45585=>array(79,-64,921,797),45586=>array(79,-63,921,797),45587=>array(79,-74,921,797),45588=>array(79,-62,921,797),45589=>array(79,-61,921,797),45590=>array(79,-69,921,797),45591=>array(79,-74,921,797),45592=>array(79,-69,921,797),45593=>array(79,-68,921,797),45594=>array(79,-72,921,797),45595=>array(79,-70,921,797),45596=>array(79,-66,921,797),45597=>array(79,-59,921,797),45598=>array(79,-60,921,797),45599=>array(79,-68,921,797),45600=>array(69,-69,909,842),45601=>array(79,-61,907,841),45602=>array(79,-61,907,841),45603=>array(79,-71,931,841),45604=>array(79,-46,907,841),45605=>array(79,-68,912,841),45606=>array(79,-76,907,841),45607=>array(79,-44,921,841),45608=>array(79,-62,917,841),45609=>array(79,-64,907,841),45610=>array(79,-64,908,841),45611=>array(79,-64,908,841),45612=>array(79,-69,923,841),45613=>array(79,-64,908,841),45614=>array(79,-64,908,841),45615=>array(79,-76,906,841),45616=>array(79,-62,907,841),45617=>array(79,-61,907,841),45618=>array(79,-69,922,841),45619=>array(79,-74,929,841),45620=>array(79,-69,927,841),45621=>array(79,-68,911,841),45622=>array(79,-72,929,841),45623=>array(79,-70,936,841),45624=>array(79,-66,908,841),45625=>array(79,-59,916,841),45626=>array(79,-60,928,841),45627=>array(79,-68,908,841),45628=>array(63,-68,907,843),45629=>array(72,-61,907,843),45630=>array(72,-61,907,843),45631=>array(72,-71,931,843),45632=>array(90,-46,907,843),45633=>array(72,-68,912,843),45634=>array(72,-76,907,843),45635=>array(72,-44,921,843),45636=>array(72,-62,917,843),45637=>array(72,-64,907,843),45638=>array(72,-64,908,843),45639=>array(72,-64,908,843),45640=>array(72,-69,923,843),45641=>array(72,-64,908,843),45642=>array(72,-64,908,843),45643=>array(72,-76,907,843),45644=>array(72,-62,907,843),45645=>array(72,-61,907,843),45646=>array(72,-69,922,843),45647=>array(72,-74,929,843),45648=>array(72,-69,927,843),45649=>array(72,-68,911,843),45650=>array(72,-72,929,843),45651=>array(72,-70,936,843),45652=>array(72,-66,908,843),45653=>array(72,-59,916,843),45654=>array(72,-60,928,843),45655=>array(72,-68,908,843),45656=>array(70,-68,910,843),45657=>array(64,-61,907,842),45658=>array(64,-61,907,842),45659=>array(64,-71,931,842),45660=>array(65,-46,907,841),45661=>array(64,-68,912,842),45662=>array(64,-76,907,842),45663=>array(64,-44,921,842),45664=>array(64,-62,917,842),45665=>array(64,-64,907,842),45666=>array(64,-64,908,842),45667=>array(64,-64,908,842),45668=>array(64,-69,923,842),45669=>array(64,-64,908,842),45670=>array(64,-64,908,842),45671=>array(64,-76,907,842),45672=>array(64,-62,907,842),45673=>array(64,-61,907,842),45674=>array(64,-69,922,842),45675=>array(64,-74,929,842),45676=>array(64,-69,927,842),45677=>array(64,-68,911,842),45678=>array(64,-72,929,842),45679=>array(64,-70,936,842),45680=>array(64,-66,908,842),45681=>array(64,-59,916,842),45682=>array(64,-60,928,842),45683=>array(64,-68,908,842),45684=>array(71,-64,928,797),45685=>array(79,-61,921,797),45686=>array(79,-61,921,797),45687=>array(79,-71,921,797),45688=>array(79,-46,921,797),45689=>array(79,-68,921,797),45690=>array(79,-74,921,797),45691=>array(79,-44,921,797),45692=>array(79,-62,921,797),45693=>array(79,-64,921,797),45694=>array(79,-64,921,797),45695=>array(79,-63,921,797),45696=>array(79,-68,921,797),45697=>array(79,-64,921,797),45698=>array(79,-63,921,797),45699=>array(79,-74,921,797),45700=>array(79,-62,921,797),45701=>array(79,-61,921,797),45702=>array(79,-69,921,797),45703=>array(79,-74,921,797),45704=>array(79,-69,921,797),45705=>array(79,-68,921,797),45706=>array(79,-72,921,797),45707=>array(79,-70,921,797),45708=>array(79,-66,921,797),45709=>array(79,-59,921,797),45710=>array(79,-60,921,797),45711=>array(79,-68,921,797),45712=>array(57,32,943,747),45713=>array(79,-61,921,802),45714=>array(79,-61,921,802),45715=>array(79,-71,921,802),45716=>array(79,-46,921,812),45717=>array(79,-68,921,802),45718=>array(79,-74,921,802),45719=>array(79,-44,921,802),45720=>array(79,-62,921,802),45721=>array(79,-64,921,802),45722=>array(79,-64,921,802),45723=>array(79,-63,921,802),45724=>array(79,-68,921,802),45725=>array(79,-64,921,802),45726=>array(79,-63,921,802),45727=>array(79,-74,921,802),45728=>array(79,-62,921,802),45729=>array(79,-61,921,802),45730=>array(79,-69,921,802),45731=>array(79,-74,921,802),45732=>array(79,-69,921,802),45733=>array(79,-68,921,802),45734=>array(79,-72,921,802),45735=>array(79,-70,921,802),45736=>array(79,-66,921,802),45737=>array(79,-59,921,802),45738=>array(79,-60,921,802),45739=>array(79,-68,921,802),45740=>array(68,-69,907,842),45741=>array(69,-61,907,842),45742=>array(69,-61,907,842),45743=>array(69,-71,931,842),45744=>array(65,-46,907,842),45745=>array(69,-68,912,842),45746=>array(69,-76,907,842),45747=>array(69,-44,921,842),45748=>array(69,-62,917,842),45749=>array(69,-64,907,842),45750=>array(69,-64,908,842),45751=>array(69,-64,908,842),45752=>array(69,-69,923,842),45753=>array(69,-64,908,842),45754=>array(69,-64,908,842),45755=>array(69,-76,907,842),45756=>array(69,-62,907,842),45757=>array(69,-61,907,842),45758=>array(69,-69,922,842),45759=>array(69,-74,929,842),45760=>array(69,-69,927,842),45761=>array(69,-68,911,842),45762=>array(69,-72,929,842),45763=>array(69,-70,936,842),45764=>array(69,-66,908,842),45765=>array(69,-59,916,842),45766=>array(69,-60,928,842),45767=>array(69,-68,908,842),45768=>array(138,-69,907,842),45769=>array(138,-61,907,842),45770=>array(138,-61,907,842),45771=>array(138,-71,931,842),45772=>array(138,-46,907,842),45773=>array(138,-68,912,842),45774=>array(138,-76,907,842),45775=>array(138,-44,921,842),45776=>array(138,-62,917,842),45777=>array(138,-64,907,842),45778=>array(138,-64,908,842),45779=>array(138,-64,908,842),45780=>array(138,-69,923,842),45781=>array(138,-64,908,842),45782=>array(138,-64,908,842),45783=>array(138,-76,907,842),45784=>array(138,-62,907,842),45785=>array(138,-61,907,842),45786=>array(138,-69,922,842),45787=>array(138,-74,929,842),45788=>array(138,-69,927,842),45789=>array(138,-68,911,842),45790=>array(138,-72,929,842),45791=>array(138,-70,936,842),45792=>array(138,-66,908,842),45793=>array(138,-59,916,842),45794=>array(138,-60,928,842),45795=>array(138,-68,908,842),45796=>array(109,-69,936,842),45797=>array(109,-59,936,837),45798=>array(109,-61,936,837),45799=>array(109,-71,936,837),45800=>array(109,-45,936,842),45801=>array(109,-69,936,837),45802=>array(109,-76,936,837),45803=>array(109,-44,936,837),45804=>array(109,-62,936,837),45805=>array(109,-64,936,837),45806=>array(109,-64,936,837),45807=>array(109,-64,936,837),45808=>array(109,-70,936,837),45809=>array(109,-64,936,837),45810=>array(109,-64,936,837),45811=>array(109,-76,936,837),45812=>array(109,-62,936,837),45813=>array(109,-61,936,837),45814=>array(109,-70,936,837),45815=>array(109,-74,936,837),45816=>array(109,-69,936,837),45817=>array(109,-67,936,837),45818=>array(109,-72,936,837),45819=>array(109,-71,936,837),45820=>array(109,-66,936,837),45821=>array(109,-59,936,837),45822=>array(109,-60,936,837),45823=>array(109,-69,936,837),45824=>array(109,-69,907,842),45825=>array(119,-61,907,842),45826=>array(119,-61,907,842),45827=>array(119,-71,931,842),45828=>array(119,-46,907,842),45829=>array(119,-68,912,842),45830=>array(119,-76,907,842),45831=>array(119,-44,921,842),45832=>array(119,-62,917,842),45833=>array(119,-64,907,842),45834=>array(119,-64,908,842),45835=>array(119,-64,908,842),45836=>array(119,-69,923,842),45837=>array(119,-64,908,842),45838=>array(119,-64,908,842),45839=>array(119,-76,907,842),45840=>array(119,-62,907,842),45841=>array(119,-61,907,842),45842=>array(119,-69,922,842),45843=>array(119,-74,929,842),45844=>array(119,-69,927,842),45845=>array(119,-68,911,842),45846=>array(119,-72,929,842),45847=>array(119,-70,936,842),45848=>array(119,-66,908,842),45849=>array(119,-59,916,842),45850=>array(119,-60,928,842),45851=>array(119,-68,908,842),45852=>array(109,-68,935,843),45853=>array(109,-59,936,842),45854=>array(109,-61,936,842),45855=>array(109,-71,936,842),45856=>array(109,-45,936,842),45857=>array(109,-69,936,842),45858=>array(109,-76,936,842),45859=>array(109,-44,936,842),45860=>array(109,-62,936,842),45861=>array(109,-64,936,842),45862=>array(109,-64,936,842),45863=>array(109,-64,936,842),45864=>array(109,-70,936,842),45865=>array(109,-64,936,842),45866=>array(109,-64,936,842),45867=>array(109,-76,936,842),45868=>array(109,-62,936,842),45869=>array(109,-61,936,842),45870=>array(109,-70,936,842),45871=>array(109,-74,936,842),45872=>array(109,-69,936,842),45873=>array(109,-67,936,842),45874=>array(109,-72,936,842),45875=>array(109,-71,936,842),45876=>array(109,-66,936,842),45877=>array(109,-59,936,842),45878=>array(109,-60,936,842),45879=>array(109,-69,936,842),45880=>array(109,-69,907,842),45881=>array(119,-61,907,842),45882=>array(119,-61,907,842),45883=>array(119,-71,931,842),45884=>array(119,-46,907,842),45885=>array(119,-68,912,842),45886=>array(119,-76,907,842),45887=>array(119,-44,921,842),45888=>array(119,-62,917,842),45889=>array(119,-64,907,842),45890=>array(119,-64,908,842),45891=>array(119,-64,908,842),45892=>array(119,-69,923,842),45893=>array(119,-64,908,842),45894=>array(119,-64,908,842),45895=>array(119,-76,907,842),45896=>array(119,-62,907,842),45897=>array(119,-61,907,842),45898=>array(119,-69,922,842),45899=>array(119,-74,929,842),45900=>array(119,-69,927,842),45901=>array(119,-68,911,842),45902=>array(119,-72,929,842),45903=>array(119,-70,936,842),45904=>array(119,-66,908,842),45905=>array(119,-59,916,842),45906=>array(119,-60,928,842),45907=>array(119,-68,908,842),45908=>array(109,-70,907,841),45909=>array(109,-61,907,841),45910=>array(109,-61,907,841),45911=>array(109,-71,931,841),45912=>array(109,-46,907,841),45913=>array(109,-68,912,841),45914=>array(109,-76,907,841),45915=>array(109,-44,921,841),45916=>array(109,-62,917,841),45917=>array(109,-64,907,841),45918=>array(109,-64,908,841),45919=>array(109,-64,908,841),45920=>array(109,-69,923,841),45921=>array(109,-64,908,841),45922=>array(109,-64,908,841),45923=>array(109,-76,906,841),45924=>array(109,-62,907,841),45925=>array(109,-61,907,841),45926=>array(109,-69,922,841),45927=>array(109,-74,929,841),45928=>array(109,-69,927,841),45929=>array(109,-68,911,841),45930=>array(109,-72,929,841),45931=>array(109,-70,936,841),45932=>array(109,-66,908,841),45933=>array(109,-59,916,841),45934=>array(109,-60,928,841),45935=>array(109,-68,908,841),45936=>array(109,-68,907,843),45937=>array(119,-61,907,843),45938=>array(119,-61,907,843),45939=>array(119,-71,931,843),45940=>array(119,-46,907,843),45941=>array(119,-68,912,843),45942=>array(119,-76,907,843),45943=>array(119,-44,921,843),45944=>array(119,-62,917,843),45945=>array(119,-64,907,843),45946=>array(119,-64,908,843),45947=>array(119,-64,908,843),45948=>array(119,-69,923,843),45949=>array(119,-64,908,843),45950=>array(119,-64,908,843),45951=>array(119,-76,907,843),45952=>array(119,-62,907,843),45953=>array(119,-61,907,843),45954=>array(119,-69,922,843),45955=>array(119,-74,929,843),45956=>array(119,-69,927,843),45957=>array(119,-68,911,843),45958=>array(119,-72,929,843),45959=>array(119,-70,936,843),45960=>array(119,-66,908,843),45961=>array(119,-59,916,843),45962=>array(119,-60,928,843),45963=>array(119,-68,908,843),45964=>array(109,-70,907,842),45965=>array(109,-61,908,842),45966=>array(109,-61,908,842),45967=>array(109,-71,931,842),45968=>array(109,-46,907,842),45969=>array(109,-68,912,842),45970=>array(109,-76,908,842),45971=>array(109,-44,921,842),45972=>array(109,-62,917,842),45973=>array(109,-64,908,842),45974=>array(109,-64,908,842),45975=>array(109,-64,908,842),45976=>array(109,-69,923,842),45977=>array(109,-64,908,842),45978=>array(109,-64,908,842),45979=>array(109,-76,908,842),45980=>array(109,-62,908,842),45981=>array(109,-61,908,842),45982=>array(109,-69,922,842),45983=>array(109,-74,929,842),45984=>array(109,-69,927,842),45985=>array(109,-68,911,842),45986=>array(109,-72,929,842),45987=>array(109,-70,936,842),45988=>array(109,-66,908,842),45989=>array(109,-59,916,842),45990=>array(109,-60,928,842),45991=>array(109,-68,908,842),45992=>array(109,-68,907,843),45993=>array(119,-61,907,843),45994=>array(119,-61,907,843),45995=>array(119,-71,931,843),45996=>array(119,-46,907,843),45997=>array(119,-68,912,843),45998=>array(119,-76,907,843),45999=>array(119,-44,921,843),46000=>array(119,-62,917,843),46001=>array(119,-64,907,843),46002=>array(119,-64,908,843),46003=>array(119,-64,908,843),46004=>array(119,-69,923,843),46005=>array(119,-64,908,843),46006=>array(119,-64,908,843),46007=>array(119,-76,907,843),46008=>array(119,-62,907,843),46009=>array(119,-61,907,843),46010=>array(119,-69,922,843),46011=>array(119,-74,929,843),46012=>array(119,-69,927,843),46013=>array(119,-68,911,843),46014=>array(119,-72,929,843),46015=>array(119,-70,936,843),46016=>array(119,-66,908,843),46017=>array(119,-59,916,843),46018=>array(119,-60,928,843),46019=>array(119,-68,908,843),46020=>array(62,-13,943,759),46021=>array(79,-61,921,790),46022=>array(79,-61,921,790),46023=>array(79,-71,921,790),46024=>array(79,-46,921,784),46025=>array(79,-68,921,790),46026=>array(79,-74,921,790),46027=>array(79,-44,921,790),46028=>array(79,-62,921,790),46029=>array(79,-64,921,790),46030=>array(79,-64,921,790),46031=>array(79,-63,921,790),46032=>array(79,-68,921,790),46033=>array(79,-64,921,790),46034=>array(79,-63,921,790),46035=>array(79,-74,921,790),46036=>array(79,-62,921,790),46037=>array(79,-61,921,790),46038=>array(79,-69,921,790),46039=>array(79,-74,921,790),46040=>array(79,-69,921,790),46041=>array(79,-68,921,790),46042=>array(79,-72,921,790),46043=>array(79,-70,921,790),46044=>array(79,-66,921,790),46045=>array(79,-59,921,790),46046=>array(79,-60,921,790),46047=>array(79,-68,921,790),46048=>array(47,-69,936,842),46049=>array(64,-59,936,842),46050=>array(64,-61,936,842),46051=>array(64,-71,936,842),46052=>array(74,-45,936,842),46053=>array(64,-69,936,842),46054=>array(64,-76,936,842),46055=>array(64,-44,936,842),46056=>array(64,-62,936,842),46057=>array(64,-64,936,842),46058=>array(64,-64,936,842),46059=>array(64,-64,936,842),46060=>array(64,-70,936,842),46061=>array(64,-64,936,842),46062=>array(64,-64,936,842),46063=>array(64,-76,936,842),46064=>array(64,-62,936,842),46065=>array(64,-61,936,842),46066=>array(64,-70,936,842),46067=>array(64,-74,936,842),46068=>array(64,-69,936,842),46069=>array(64,-67,936,842),46070=>array(64,-72,936,842),46071=>array(64,-71,936,842),46072=>array(64,-66,936,842),46073=>array(64,-59,936,842),46074=>array(64,-60,936,842),46075=>array(64,-69,936,842),46076=>array(61,-69,906,842),46077=>array(64,-61,907,842),46078=>array(64,-61,907,842),46079=>array(64,-71,931,842),46080=>array(53,-46,907,842),46081=>array(64,-68,912,842),46082=>array(64,-76,907,842),46083=>array(64,-44,921,842),46084=>array(64,-62,917,842),46085=>array(64,-64,907,842),46086=>array(64,-64,908,842),46087=>array(64,-64,908,842),46088=>array(64,-69,923,842),46089=>array(64,-64,908,842),46090=>array(64,-64,908,842),46091=>array(64,-76,907,842),46092=>array(64,-62,907,842),46093=>array(64,-61,907,842),46094=>array(64,-69,922,842),46095=>array(64,-74,929,842),46096=>array(64,-69,927,842),46097=>array(64,-68,911,842),46098=>array(64,-72,929,842),46099=>array(64,-70,936,842),46100=>array(64,-66,908,842),46101=>array(64,-59,916,842),46102=>array(64,-60,928,842),46103=>array(64,-68,908,842),46104=>array(62,-69,907,842),46105=>array(64,-61,907,842),46106=>array(64,-61,907,842),46107=>array(64,-71,931,842),46108=>array(64,-46,908,841),46109=>array(64,-68,912,842),46110=>array(64,-76,907,842),46111=>array(64,-44,921,842),46112=>array(64,-62,917,842),46113=>array(64,-64,907,842),46114=>array(64,-64,908,842),46115=>array(64,-64,908,842),46116=>array(64,-69,923,842),46117=>array(64,-64,908,842),46118=>array(64,-64,908,842),46119=>array(64,-76,907,842),46120=>array(64,-62,907,842),46121=>array(64,-61,907,842),46122=>array(64,-69,922,842),46123=>array(64,-74,929,842),46124=>array(64,-69,927,842),46125=>array(64,-68,911,842),46126=>array(64,-72,929,842),46127=>array(64,-70,936,842),46128=>array(64,-66,908,842),46129=>array(64,-59,916,842),46130=>array(64,-60,928,842),46131=>array(64,-68,908,842),46132=>array(60,-13,940,759),46133=>array(79,-61,921,785),46134=>array(79,-61,921,785),46135=>array(79,-71,921,785),46136=>array(79,-46,922,784),46137=>array(79,-68,921,785),46138=>array(79,-74,921,785),46139=>array(79,-44,921,785),46140=>array(79,-62,921,785),46141=>array(79,-64,921,785),46142=>array(79,-64,921,785),46143=>array(79,-63,921,785),46144=>array(79,-68,921,785),46145=>array(79,-64,921,785),46146=>array(79,-63,921,785),46147=>array(79,-74,921,785),46148=>array(79,-62,921,785),46149=>array(79,-61,921,785),46150=>array(79,-69,921,785),46151=>array(79,-74,921,785),46152=>array(79,-69,921,785),46153=>array(79,-68,921,785),46154=>array(79,-72,921,785),46155=>array(79,-70,921,785),46156=>array(79,-66,921,785),46157=>array(79,-59,921,785),46158=>array(79,-60,921,785),46159=>array(79,-68,921,785),46160=>array(79,-64,920,789),46161=>array(79,-61,921,785),46162=>array(79,-61,921,785),46163=>array(79,-71,921,785),46164=>array(79,-46,921,784),46165=>array(79,-68,921,785),46166=>array(79,-74,921,785),46167=>array(79,-44,921,785),46168=>array(79,-62,921,785),46169=>array(79,-64,921,785),46170=>array(79,-64,921,785),46171=>array(79,-63,921,785),46172=>array(79,-68,921,785),46173=>array(79,-64,921,785),46174=>array(79,-63,921,785),46175=>array(79,-74,921,785),46176=>array(79,-62,921,785),46177=>array(79,-61,921,785),46178=>array(79,-69,921,785),46179=>array(79,-74,921,785),46180=>array(79,-69,921,785),46181=>array(79,-68,921,785),46182=>array(79,-72,921,785),46183=>array(79,-70,921,785),46184=>array(79,-66,921,785),46185=>array(79,-59,921,785),46186=>array(79,-60,921,785),46187=>array(79,-68,921,785),46188=>array(68,-70,907,841),46189=>array(76,-61,907,841),46190=>array(76,-61,907,841),46191=>array(76,-71,931,841),46192=>array(75,-46,907,841),46193=>array(76,-68,912,841),46194=>array(76,-76,907,841),46195=>array(76,-44,921,841),46196=>array(76,-62,917,841),46197=>array(76,-64,907,841),46198=>array(76,-64,908,841),46199=>array(76,-64,908,841),46200=>array(76,-69,923,841),46201=>array(76,-64,908,841),46202=>array(76,-64,908,841),46203=>array(76,-76,906,841),46204=>array(76,-62,907,841),46205=>array(76,-61,907,841),46206=>array(76,-69,922,841),46207=>array(76,-74,929,841),46208=>array(76,-69,927,841),46209=>array(76,-68,911,841),46210=>array(76,-72,929,841),46211=>array(76,-70,936,841),46212=>array(76,-66,908,841),46213=>array(76,-59,916,841),46214=>array(76,-60,928,841),46215=>array(76,-68,908,841),46216=>array(52,-69,908,842),46217=>array(71,-61,907,843),46218=>array(71,-61,907,843),46219=>array(71,-71,931,843),46220=>array(79,-46,907,843),46221=>array(71,-68,912,843),46222=>array(71,-76,907,843),46223=>array(71,-44,921,843),46224=>array(71,-62,917,843),46225=>array(71,-64,907,843),46226=>array(71,-64,908,843),46227=>array(71,-64,908,843),46228=>array(71,-69,923,843),46229=>array(71,-64,908,843),46230=>array(71,-64,908,843),46231=>array(71,-76,907,843),46232=>array(71,-62,907,843),46233=>array(71,-61,907,843),46234=>array(71,-69,922,843),46235=>array(71,-74,929,843),46236=>array(71,-69,927,843),46237=>array(71,-68,911,843),46238=>array(71,-72,929,843),46239=>array(71,-70,936,843),46240=>array(71,-66,908,843),46241=>array(71,-59,916,843),46242=>array(71,-60,928,843),46243=>array(71,-68,908,843),46244=>array(70,-69,907,842),46245=>array(64,-61,907,842),46246=>array(64,-61,907,842),46247=>array(64,-71,931,842),46248=>array(65,-46,907,843),46249=>array(64,-68,912,842),46250=>array(64,-76,907,842),46251=>array(64,-44,921,842),46252=>array(64,-62,917,842),46253=>array(64,-64,907,842),46254=>array(64,-64,908,842),46255=>array(64,-64,908,842),46256=>array(64,-69,923,842),46257=>array(64,-64,908,842),46258=>array(64,-64,908,842),46259=>array(64,-76,907,842),46260=>array(64,-62,907,842),46261=>array(64,-61,907,842),46262=>array(64,-69,922,842),46263=>array(64,-74,929,842),46264=>array(64,-69,927,842),46265=>array(64,-68,911,842),46266=>array(64,-72,929,842),46267=>array(64,-70,936,842),46268=>array(64,-66,908,842),46269=>array(64,-59,916,842),46270=>array(64,-60,928,842),46271=>array(64,-68,908,842),46272=>array(71,-64,928,784),46273=>array(79,-61,921,785),46274=>array(79,-61,921,785),46275=>array(79,-71,921,785),46276=>array(79,-46,921,784),46277=>array(79,-68,921,785),46278=>array(79,-74,921,785),46279=>array(79,-44,921,785),46280=>array(79,-62,921,785),46281=>array(79,-64,921,785),46282=>array(79,-64,921,785),46283=>array(79,-63,921,785),46284=>array(79,-68,921,785),46285=>array(79,-64,921,785),46286=>array(79,-63,921,785),46287=>array(79,-74,921,785),46288=>array(79,-62,921,785),46289=>array(79,-61,921,785),46290=>array(79,-69,921,785),46291=>array(79,-74,921,785),46292=>array(79,-69,921,785),46293=>array(79,-68,921,785),46294=>array(79,-72,921,785),46295=>array(79,-70,921,785),46296=>array(79,-66,921,785),46297=>array(79,-59,921,785),46298=>array(79,-60,921,785),46299=>array(79,-68,921,785),46300=>array(57,42,943,709),46301=>array(79,-61,921,784),46302=>array(79,-61,921,784),46303=>array(79,-71,921,784),46304=>array(79,-46,921,784),46305=>array(79,-68,921,784),46306=>array(79,-74,921,784),46307=>array(79,-44,921,784),46308=>array(79,-62,921,784),46309=>array(79,-64,921,784),46310=>array(79,-64,921,784),46311=>array(79,-63,921,784),46312=>array(79,-68,921,784),46313=>array(79,-64,921,784),46314=>array(79,-63,921,784),46315=>array(79,-74,921,784),46316=>array(79,-62,921,784),46317=>array(79,-61,921,784),46318=>array(79,-69,921,784),46319=>array(79,-74,921,784),46320=>array(79,-69,921,784),46321=>array(79,-68,921,784),46322=>array(79,-72,921,784),46323=>array(79,-70,921,784),46324=>array(79,-66,921,784),46325=>array(79,-59,921,784),46326=>array(79,-60,921,784),46327=>array(79,-68,921,784),46328=>array(66,-69,907,842),46329=>array(64,-61,907,842),46330=>array(64,-61,907,842),46331=>array(64,-71,931,842),46332=>array(64,-46,907,842),46333=>array(64,-68,912,842),46334=>array(64,-76,907,842),46335=>array(64,-44,921,842),46336=>array(64,-62,917,842),46337=>array(64,-64,907,842),46338=>array(64,-64,908,842),46339=>array(64,-64,908,842),46340=>array(64,-69,923,842),46341=>array(64,-64,908,842),46342=>array(64,-64,908,842),46343=>array(64,-76,907,842),46344=>array(64,-62,907,842),46345=>array(64,-61,907,842),46346=>array(64,-69,922,842),46347=>array(64,-74,929,842),46348=>array(64,-69,927,842),46349=>array(64,-68,911,842),46350=>array(64,-72,929,842),46351=>array(64,-70,936,842),46352=>array(64,-66,908,842),46353=>array(64,-59,916,842),46354=>array(64,-60,928,842),46355=>array(64,-68,908,842),46356=>array(119,-69,907,842),46357=>array(124,-61,907,842),46358=>array(124,-61,907,842),46359=>array(124,-71,931,842),46360=>array(124,-46,907,842),46361=>array(124,-68,912,842),46362=>array(124,-76,907,842),46363=>array(124,-44,921,842),46364=>array(124,-62,917,842),46365=>array(124,-64,907,842),46366=>array(124,-64,908,842),46367=>array(124,-64,908,842),46368=>array(124,-69,923,842),46369=>array(124,-64,908,842),46370=>array(124,-64,908,842),46371=>array(124,-76,907,842),46372=>array(124,-62,907,842),46373=>array(124,-61,907,842),46374=>array(124,-69,922,842),46375=>array(124,-74,929,842),46376=>array(124,-69,927,842),46377=>array(124,-68,911,842),46378=>array(124,-72,929,842),46379=>array(124,-70,936,842),46380=>array(124,-66,908,842),46381=>array(124,-59,916,842),46382=>array(124,-60,928,842),46383=>array(124,-68,908,842),46384=>array(94,-69,936,842),46385=>array(94,-59,936,842),46386=>array(94,-61,936,842),46387=>array(94,-71,936,842),46388=>array(94,-45,936,842),46389=>array(94,-69,936,842),46390=>array(94,-76,936,842),46391=>array(94,-44,936,842),46392=>array(94,-62,936,842),46393=>array(94,-64,936,842),46394=>array(94,-64,936,842),46395=>array(94,-64,936,842),46396=>array(94,-70,936,842),46397=>array(94,-64,936,842),46398=>array(94,-64,936,842),46399=>array(94,-76,936,842),46400=>array(94,-62,936,842),46401=>array(94,-61,936,842),46402=>array(94,-70,936,842),46403=>array(94,-74,936,842),46404=>array(94,-69,936,842),46405=>array(94,-67,936,842),46406=>array(94,-72,936,842),46407=>array(94,-71,936,842),46408=>array(94,-66,936,842),46409=>array(94,-59,936,842),46410=>array(94,-60,936,842),46411=>array(94,-69,936,842),46412=>array(99,-69,907,842),46413=>array(99,-61,907,837),46414=>array(99,-61,907,837),46415=>array(99,-71,931,837),46416=>array(99,-46,907,842),46417=>array(99,-68,912,837),46418=>array(99,-76,907,837),46419=>array(99,-44,921,837),46420=>array(99,-62,917,837),46421=>array(99,-64,907,837),46422=>array(99,-64,908,837),46423=>array(99,-64,908,837),46424=>array(99,-69,923,837),46425=>array(99,-64,908,837),46426=>array(99,-64,908,837),46427=>array(99,-76,907,837),46428=>array(99,-62,907,837),46429=>array(99,-61,907,837),46430=>array(99,-69,922,837),46431=>array(99,-74,929,837),46432=>array(99,-69,927,837),46433=>array(99,-68,911,837),46434=>array(99,-72,929,837),46435=>array(99,-70,936,837),46436=>array(99,-66,908,837),46437=>array(99,-59,916,837),46438=>array(99,-60,928,837),46439=>array(99,-68,908,837),46440=>array(94,-69,936,842),46441=>array(94,-59,936,842),46442=>array(94,-61,936,842),46443=>array(94,-71,936,842),46444=>array(94,-45,936,842),46445=>array(94,-69,936,842),46446=>array(94,-76,936,842),46447=>array(94,-44,936,842),46448=>array(94,-62,936,842),46449=>array(94,-64,936,842),46450=>array(94,-64,936,842),46451=>array(94,-64,936,842),46452=>array(94,-70,936,842),46453=>array(94,-64,936,842),46454=>array(94,-64,936,842),46455=>array(94,-76,936,842),46456=>array(94,-62,936,842),46457=>array(94,-61,936,842),46458=>array(94,-70,936,842),46459=>array(94,-74,936,842),46460=>array(94,-69,936,842),46461=>array(94,-67,936,842),46462=>array(94,-72,936,842),46463=>array(94,-71,936,842),46464=>array(94,-66,936,842),46465=>array(94,-59,936,842),46466=>array(94,-60,936,842),46467=>array(94,-69,936,842),46468=>array(99,-69,907,842),46469=>array(99,-61,907,842),46470=>array(99,-61,907,842),46471=>array(99,-71,931,842),46472=>array(99,-46,907,842),46473=>array(99,-68,912,842),46474=>array(99,-76,907,842),46475=>array(99,-44,921,842),46476=>array(99,-62,917,842),46477=>array(99,-64,907,842),46478=>array(99,-64,908,842),46479=>array(99,-64,908,842),46480=>array(99,-69,923,842),46481=>array(99,-64,908,842),46482=>array(99,-64,908,842),46483=>array(99,-76,907,842),46484=>array(99,-62,907,842),46485=>array(99,-61,907,842),46486=>array(99,-69,922,842),46487=>array(99,-74,929,842),46488=>array(99,-69,927,842),46489=>array(99,-68,911,842),46490=>array(99,-72,929,842),46491=>array(99,-70,936,842),46492=>array(99,-66,908,842),46493=>array(99,-59,916,842),46494=>array(99,-60,928,842),46495=>array(99,-68,908,842),46496=>array(94,-70,907,841),46497=>array(94,-61,907,836),46498=>array(94,-61,907,836),46499=>array(94,-71,931,836),46500=>array(94,-46,907,841),46501=>array(94,-68,912,836),46502=>array(94,-76,907,836),46503=>array(94,-44,921,836),46504=>array(94,-62,917,836),46505=>array(94,-64,907,836),46506=>array(94,-64,908,836),46507=>array(94,-64,908,836),46508=>array(94,-69,923,836),46509=>array(94,-64,908,836),46510=>array(94,-64,908,836),46511=>array(94,-76,906,836),46512=>array(94,-62,907,836),46513=>array(94,-61,907,836),46514=>array(94,-69,922,836),46515=>array(94,-74,929,836),46516=>array(94,-69,927,836),46517=>array(94,-68,911,836),46518=>array(94,-72,929,836),46519=>array(94,-70,936,836),46520=>array(94,-66,908,836),46521=>array(94,-59,916,836),46522=>array(94,-60,928,836),46523=>array(94,-68,908,836),46524=>array(99,-68,907,843),46525=>array(99,-61,907,843),46526=>array(99,-61,907,843),46527=>array(99,-71,931,843),46528=>array(99,-46,907,843),46529=>array(99,-68,912,843),46530=>array(99,-76,907,843),46531=>array(99,-44,921,843),46532=>array(99,-62,917,843),46533=>array(99,-64,907,843),46534=>array(99,-64,908,843),46535=>array(99,-64,908,843),46536=>array(99,-69,923,843),46537=>array(99,-64,908,843),46538=>array(99,-64,908,843),46539=>array(99,-76,907,843),46540=>array(99,-62,907,843),46541=>array(99,-61,907,843),46542=>array(99,-69,922,843),46543=>array(99,-74,929,843),46544=>array(99,-69,927,843),46545=>array(99,-68,911,843),46546=>array(99,-72,929,843),46547=>array(99,-70,936,843),46548=>array(99,-66,908,843),46549=>array(99,-59,916,843),46550=>array(99,-60,928,843),46551=>array(99,-68,908,843),46552=>array(94,-69,907,842),46553=>array(94,-61,907,842),46554=>array(94,-61,907,842),46555=>array(94,-71,931,842),46556=>array(94,-46,908,842),46557=>array(94,-68,912,842),46558=>array(94,-76,907,842),46559=>array(94,-44,921,842),46560=>array(94,-62,917,842),46561=>array(94,-64,907,842),46562=>array(94,-64,908,842),46563=>array(94,-64,908,842),46564=>array(94,-69,923,842),46565=>array(94,-64,908,842),46566=>array(94,-64,908,842),46567=>array(94,-76,907,842),46568=>array(94,-62,907,842),46569=>array(94,-61,907,842),46570=>array(94,-69,922,842),46571=>array(94,-74,929,842),46572=>array(94,-69,927,842),46573=>array(94,-68,911,842),46574=>array(94,-72,929,842),46575=>array(94,-70,936,842),46576=>array(94,-66,908,842),46577=>array(94,-59,916,842),46578=>array(94,-60,928,842),46579=>array(94,-68,908,842),46580=>array(99,-68,907,843),46581=>array(94,-61,907,843),46582=>array(94,-61,907,843),46583=>array(94,-71,931,843),46584=>array(94,-46,907,843),46585=>array(94,-68,912,843),46586=>array(94,-76,907,843),46587=>array(94,-44,921,843),46588=>array(94,-62,917,843),46589=>array(94,-64,907,843),46590=>array(94,-64,908,843),46591=>array(94,-64,908,843),46592=>array(94,-69,923,843),46593=>array(94,-64,908,843),46594=>array(94,-64,908,843),46595=>array(94,-76,907,843),46596=>array(94,-62,907,843),46597=>array(94,-61,907,843),46598=>array(94,-69,922,843),46599=>array(94,-74,929,843),46600=>array(94,-69,927,843),46601=>array(94,-68,911,843),46602=>array(94,-72,929,843),46603=>array(94,-70,936,843),46604=>array(94,-66,908,843),46605=>array(94,-59,916,843),46606=>array(94,-60,928,843),46607=>array(94,-68,908,843),46608=>array(60,12,940,740),46609=>array(79,-61,921,795),46610=>array(79,-61,921,795),46611=>array(79,-71,921,795),46612=>array(79,-46,921,795),46613=>array(79,-68,921,795),46614=>array(79,-74,921,795),46615=>array(79,-44,921,795),46616=>array(79,-62,921,795),46617=>array(79,-64,921,795),46618=>array(79,-64,921,795),46619=>array(79,-63,921,795),46620=>array(79,-68,921,795),46621=>array(79,-64,921,795),46622=>array(79,-63,921,795),46623=>array(79,-74,921,795),46624=>array(79,-62,921,795),46625=>array(79,-61,921,795),46626=>array(79,-69,921,795),46627=>array(79,-74,921,795),46628=>array(79,-69,921,795),46629=>array(79,-68,921,795),46630=>array(79,-72,921,795),46631=>array(79,-70,921,795),46632=>array(79,-66,921,795),46633=>array(79,-59,921,795),46634=>array(79,-60,921,795),46635=>array(79,-68,921,795),46636=>array(68,-69,935,842),46637=>array(69,-59,936,837),46638=>array(69,-61,936,837),46639=>array(69,-71,936,837),46640=>array(57,-45,936,842),46641=>array(69,-69,936,837),46642=>array(69,-76,936,837),46643=>array(69,-44,936,837),46644=>array(69,-62,936,837),46645=>array(69,-64,936,837),46646=>array(69,-64,936,837),46647=>array(69,-64,936,837),46648=>array(69,-70,936,837),46649=>array(69,-64,936,837),46650=>array(69,-64,936,837),46651=>array(69,-76,936,837),46652=>array(69,-62,936,837),46653=>array(69,-61,936,837),46654=>array(69,-70,936,837),46655=>array(69,-74,936,837),46656=>array(69,-69,936,837),46657=>array(69,-67,936,837),46658=>array(69,-72,936,837),46659=>array(69,-71,936,837),46660=>array(69,-66,936,837),46661=>array(69,-59,936,837),46662=>array(69,-60,936,837),46663=>array(69,-69,936,837),46664=>array(64,-69,906,842),46665=>array(70,-61,907,842),46666=>array(70,-61,907,842),46667=>array(70,-71,931,842),46668=>array(57,-46,907,842),46669=>array(70,-68,912,842),46670=>array(70,-76,907,842),46671=>array(70,-44,921,842),46672=>array(70,-62,917,842),46673=>array(70,-64,907,842),46674=>array(70,-64,908,842),46675=>array(70,-64,908,842),46676=>array(70,-69,923,842),46677=>array(70,-64,908,842),46678=>array(70,-64,908,842),46679=>array(70,-76,907,842),46680=>array(70,-62,907,842),46681=>array(70,-61,907,842),46682=>array(70,-69,922,842),46683=>array(70,-74,929,842),46684=>array(70,-69,927,842),46685=>array(70,-68,911,842),46686=>array(70,-72,929,842),46687=>array(70,-70,936,842),46688=>array(70,-66,908,842),46689=>array(70,-59,916,842),46690=>array(70,-60,928,842),46691=>array(70,-68,908,842),46692=>array(83,-69,906,842),46693=>array(64,-61,907,842),46694=>array(64,-61,907,842),46695=>array(64,-71,931,842),46696=>array(64,-46,907,842),46697=>array(64,-68,912,842),46698=>array(64,-76,907,842),46699=>array(64,-44,921,842),46700=>array(64,-62,917,842),46701=>array(64,-64,907,842),46702=>array(64,-64,908,842),46703=>array(64,-64,908,842),46704=>array(64,-69,923,842),46705=>array(64,-64,908,842),46706=>array(64,-64,908,842),46707=>array(64,-76,906,842),46708=>array(64,-62,907,842),46709=>array(64,-61,907,842),46710=>array(64,-69,922,842),46711=>array(64,-74,929,842),46712=>array(64,-69,927,842),46713=>array(64,-68,911,842),46714=>array(64,-72,929,842),46715=>array(64,-70,936,842),46716=>array(64,-66,908,842),46717=>array(64,-59,916,842),46718=>array(64,-60,928,842),46719=>array(64,-68,908,842),46720=>array(59,-13,939,750),46721=>array(79,-61,921,795),46722=>array(79,-61,921,795),46723=>array(79,-71,921,795),46724=>array(79,-46,921,795),46725=>array(79,-68,921,795),46726=>array(79,-74,921,795),46727=>array(79,-44,921,795),46728=>array(79,-62,921,795),46729=>array(79,-64,921,795),46730=>array(79,-64,921,795),46731=>array(79,-63,921,795),46732=>array(79,-68,921,795),46733=>array(79,-64,921,795),46734=>array(79,-63,921,795),46735=>array(79,-74,921,795),46736=>array(79,-62,921,795),46737=>array(79,-61,921,795),46738=>array(79,-69,921,795),46739=>array(79,-74,921,795),46740=>array(79,-69,921,795),46741=>array(79,-68,921,795),46742=>array(79,-72,921,795),46743=>array(79,-70,921,795),46744=>array(79,-66,921,795),46745=>array(79,-59,921,795),46746=>array(79,-60,921,795),46747=>array(79,-68,921,795),46748=>array(79,-64,921,785),46749=>array(79,-61,921,795),46750=>array(79,-61,921,795),46751=>array(79,-71,921,795),46752=>array(79,-46,921,795),46753=>array(79,-68,921,795),46754=>array(79,-74,921,795),46755=>array(79,-44,921,795),46756=>array(79,-62,921,795),46757=>array(79,-64,921,795),46758=>array(79,-64,921,795),46759=>array(79,-63,921,795),46760=>array(79,-68,921,795),46761=>array(79,-64,921,795),46762=>array(79,-63,921,795),46763=>array(79,-74,921,795),46764=>array(79,-62,921,795),46765=>array(79,-61,921,795),46766=>array(79,-69,921,795),46767=>array(79,-74,921,795),46768=>array(79,-69,921,795),46769=>array(79,-68,921,795),46770=>array(79,-72,921,795),46771=>array(79,-70,921,795),46772=>array(79,-66,921,795),46773=>array(79,-59,921,795),46774=>array(79,-60,921,795),46775=>array(79,-68,921,795),46776=>array(72,-70,907,841),46777=>array(67,-61,907,841),46778=>array(67,-61,907,841),46779=>array(67,-71,931,841),46780=>array(63,-46,907,841),46781=>array(67,-68,912,841),46782=>array(67,-76,907,841),46783=>array(67,-44,921,841),46784=>array(67,-62,917,841),46785=>array(67,-64,907,841),46786=>array(67,-64,908,841),46787=>array(67,-64,908,841),46788=>array(67,-69,923,841),46789=>array(67,-64,908,841),46790=>array(67,-64,908,841),46791=>array(67,-76,906,841),46792=>array(67,-62,907,841),46793=>array(67,-61,907,841),46794=>array(67,-69,922,841),46795=>array(67,-74,929,841),46796=>array(67,-69,927,841),46797=>array(67,-68,911,841),46798=>array(67,-72,929,841),46799=>array(67,-70,936,841),46800=>array(67,-66,908,841),46801=>array(67,-59,916,841),46802=>array(67,-60,928,841),46803=>array(67,-68,908,841),46804=>array(50,-68,907,843),46805=>array(67,-61,907,843),46806=>array(67,-61,907,843),46807=>array(67,-71,931,843),46808=>array(68,-46,907,842),46809=>array(67,-68,912,843),46810=>array(67,-76,907,843),46811=>array(67,-44,921,843),46812=>array(67,-62,917,843),46813=>array(67,-64,907,843),46814=>array(67,-64,908,843),46815=>array(67,-64,908,843),46816=>array(67,-69,923,843),46817=>array(67,-64,908,843),46818=>array(67,-64,908,843),46819=>array(67,-76,907,843),46820=>array(67,-62,907,843),46821=>array(67,-61,907,843),46822=>array(67,-69,922,843),46823=>array(67,-74,929,843),46824=>array(67,-69,927,843),46825=>array(67,-68,911,843),46826=>array(67,-72,929,843),46827=>array(67,-70,936,843),46828=>array(67,-66,908,843),46829=>array(67,-59,916,843),46830=>array(67,-60,928,843),46831=>array(67,-68,908,843),46832=>array(63,-69,907,842),46833=>array(66,-61,907,842),46834=>array(66,-61,907,842),46835=>array(66,-71,931,842),46836=>array(66,-46,907,842),46837=>array(66,-68,912,842),46838=>array(66,-76,907,842),46839=>array(66,-44,921,842),46840=>array(66,-62,917,842),46841=>array(66,-64,907,842),46842=>array(66,-64,908,842),46843=>array(66,-64,908,842),46844=>array(66,-69,923,842),46845=>array(66,-64,908,842),46846=>array(66,-64,908,842),46847=>array(66,-76,907,842),46848=>array(66,-62,907,842),46849=>array(66,-61,907,842),46850=>array(66,-69,922,842),46851=>array(66,-74,929,842),46852=>array(66,-69,927,842),46853=>array(66,-68,911,842),46854=>array(66,-72,929,842),46855=>array(66,-70,936,842),46856=>array(66,-66,908,842),46857=>array(66,-59,916,842),46858=>array(66,-60,928,842),46859=>array(66,-68,908,842),46860=>array(79,-64,921,785),46861=>array(79,-61,921,795),46862=>array(79,-61,921,795),46863=>array(79,-71,921,795),46864=>array(81,-46,922,795),46865=>array(79,-68,921,795),46866=>array(79,-74,921,795),46867=>array(79,-44,921,795),46868=>array(79,-62,921,795),46869=>array(79,-64,921,795),46870=>array(79,-64,921,795),46871=>array(79,-63,921,795),46872=>array(79,-68,921,795),46873=>array(79,-64,921,795),46874=>array(79,-63,921,795),46875=>array(79,-74,921,795),46876=>array(79,-62,921,795),46877=>array(79,-61,921,795),46878=>array(79,-69,921,795),46879=>array(79,-74,921,795),46880=>array(79,-69,921,795),46881=>array(79,-68,921,795),46882=>array(79,-72,921,795),46883=>array(79,-70,921,795),46884=>array(79,-66,921,795),46885=>array(79,-59,921,795),46886=>array(79,-60,921,795),46887=>array(79,-68,921,795),46888=>array(57,22,943,720),46889=>array(79,-61,922,795),46890=>array(79,-61,922,795),46891=>array(79,-71,922,795),46892=>array(79,-46,921,795),46893=>array(79,-68,922,795),46894=>array(79,-74,922,795),46895=>array(79,-44,922,795),46896=>array(79,-62,922,795),46897=>array(79,-64,922,795),46898=>array(79,-64,922,795),46899=>array(79,-63,922,795),46900=>array(79,-68,922,795),46901=>array(79,-64,922,795),46902=>array(79,-63,922,795),46903=>array(79,-74,922,795),46904=>array(79,-62,922,795),46905=>array(79,-61,922,795),46906=>array(79,-69,922,795),46907=>array(79,-74,922,795),46908=>array(79,-69,922,795),46909=>array(79,-68,922,795),46910=>array(79,-72,922,795),46911=>array(79,-70,922,795),46912=>array(79,-66,922,795),46913=>array(79,-59,922,795),46914=>array(79,-60,922,795),46915=>array(79,-68,922,795),46916=>array(67,-69,907,842),46917=>array(74,-61,908,842),46918=>array(74,-61,908,842),46919=>array(74,-71,931,842),46920=>array(65,-46,907,842),46921=>array(74,-68,912,842),46922=>array(74,-76,908,842),46923=>array(74,-44,921,842),46924=>array(74,-62,917,842),46925=>array(74,-64,908,842),46926=>array(74,-64,908,842),46927=>array(74,-64,908,842),46928=>array(74,-69,923,842),46929=>array(74,-64,908,842),46930=>array(74,-64,908,842),46931=>array(74,-76,908,842),46932=>array(74,-62,908,842),46933=>array(74,-61,908,842),46934=>array(74,-69,922,842),46935=>array(74,-74,929,842),46936=>array(74,-69,927,842),46937=>array(74,-68,911,842),46938=>array(74,-72,929,842),46939=>array(74,-70,936,842),46940=>array(74,-66,908,842),46941=>array(74,-59,916,842),46942=>array(74,-60,928,842),46943=>array(74,-68,908,842),46944=>array(104,-69,907,842),46945=>array(109,-61,907,842),46946=>array(109,-61,907,842),46947=>array(109,-71,931,842),46948=>array(99,-46,907,842),46949=>array(109,-68,912,842),46950=>array(109,-76,907,842),46951=>array(109,-44,921,842),46952=>array(109,-62,917,842),46953=>array(109,-64,907,842),46954=>array(109,-64,908,842),46955=>array(109,-64,908,842),46956=>array(109,-69,923,842),46957=>array(109,-64,908,842),46958=>array(109,-64,908,842),46959=>array(109,-76,907,842),46960=>array(109,-62,907,842),46961=>array(109,-61,907,842),46962=>array(109,-69,922,842),46963=>array(109,-74,929,842),46964=>array(109,-69,927,842),46965=>array(109,-68,911,842),46966=>array(109,-72,929,842),46967=>array(109,-70,936,842),46968=>array(109,-66,908,842),46969=>array(109,-59,916,842),46970=>array(109,-60,928,842),46971=>array(109,-68,908,842),46972=>array(118,-69,936,842),46973=>array(103,-59,936,842),46974=>array(103,-61,936,842),46975=>array(103,-71,936,842),46976=>array(108,-45,936,842),46977=>array(103,-69,936,842),46978=>array(103,-76,936,842),46979=>array(103,-44,936,842),46980=>array(103,-62,936,842),46981=>array(103,-64,936,842),46982=>array(103,-64,936,842),46983=>array(103,-64,936,842),46984=>array(103,-70,936,842),46985=>array(103,-64,936,842),46986=>array(103,-64,936,842),46987=>array(103,-76,936,842),46988=>array(103,-62,936,842),46989=>array(103,-61,936,842),46990=>array(103,-70,936,842),46991=>array(103,-74,936,842),46992=>array(103,-69,936,842),46993=>array(103,-67,936,842),46994=>array(103,-72,936,842),46995=>array(103,-71,936,842),46996=>array(103,-66,936,842),46997=>array(103,-59,936,842),46998=>array(103,-60,936,842),46999=>array(103,-69,936,842),47000=>array(118,-69,907,842),47001=>array(103,-61,907,842),47002=>array(103,-61,907,842),47003=>array(103,-71,931,842),47004=>array(103,-46,907,842),47005=>array(103,-68,912,842),47006=>array(103,-76,907,842),47007=>array(103,-44,921,842),47008=>array(103,-62,917,842),47009=>array(103,-64,907,842),47010=>array(103,-64,908,842),47011=>array(103,-64,908,842),47012=>array(103,-69,923,842),47013=>array(103,-64,908,842),47014=>array(103,-64,908,842),47015=>array(103,-76,907,842),47016=>array(103,-62,907,842),47017=>array(103,-61,907,842),47018=>array(103,-69,922,842),47019=>array(103,-74,929,842),47020=>array(103,-69,927,842),47021=>array(103,-68,911,842),47022=>array(103,-72,929,842),47023=>array(103,-70,936,842),47024=>array(103,-66,908,842),47025=>array(103,-59,916,842),47026=>array(103,-60,928,842),47027=>array(103,-68,908,842),47028=>array(118,-68,935,843),47029=>array(103,-59,936,842),47030=>array(103,-61,936,842),47031=>array(103,-71,936,842),47032=>array(108,-45,936,842),47033=>array(103,-69,936,842),47034=>array(103,-76,936,842),47035=>array(103,-44,936,842),47036=>array(103,-62,936,842),47037=>array(103,-64,936,842),47038=>array(103,-64,936,842),47039=>array(103,-64,936,842),47040=>array(103,-70,936,842),47041=>array(103,-64,936,842),47042=>array(103,-64,936,842),47043=>array(103,-76,936,842),47044=>array(103,-62,936,842),47045=>array(103,-61,936,842),47046=>array(103,-70,936,842),47047=>array(103,-74,936,842),47048=>array(103,-69,936,842),47049=>array(103,-67,936,842),47050=>array(103,-72,936,842),47051=>array(103,-71,936,842),47052=>array(103,-66,936,842),47053=>array(103,-59,936,842),47054=>array(103,-60,936,842),47055=>array(103,-69,936,842),47056=>array(118,-69,907,842),47057=>array(103,-61,907,842),47058=>array(103,-61,907,842),47059=>array(103,-71,931,842),47060=>array(103,-46,907,842),47061=>array(103,-68,912,842),47062=>array(103,-76,907,842),47063=>array(103,-44,921,842),47064=>array(103,-62,917,842),47065=>array(103,-64,907,842),47066=>array(103,-64,908,842),47067=>array(103,-64,908,842),47068=>array(103,-69,923,842),47069=>array(103,-64,908,842),47070=>array(103,-64,908,842),47071=>array(103,-76,907,842),47072=>array(103,-62,907,842),47073=>array(103,-61,907,842),47074=>array(103,-69,922,842),47075=>array(103,-74,929,842),47076=>array(103,-69,927,842),47077=>array(103,-68,911,842),47078=>array(103,-72,929,842),47079=>array(103,-70,936,842),47080=>array(103,-66,908,842),47081=>array(103,-59,916,842),47082=>array(103,-60,928,842),47083=>array(103,-68,908,842),47084=>array(118,-70,907,841),47085=>array(103,-61,907,841),47086=>array(103,-61,907,841),47087=>array(103,-71,931,841),47088=>array(103,-46,907,841),47089=>array(103,-68,912,841),47090=>array(103,-76,907,841),47091=>array(103,-44,921,841),47092=>array(103,-62,917,841),47093=>array(103,-64,907,841),47094=>array(103,-64,908,841),47095=>array(103,-64,908,841),47096=>array(103,-69,923,841),47097=>array(103,-64,908,841),47098=>array(103,-64,908,841),47099=>array(103,-76,906,841),47100=>array(103,-62,907,841),47101=>array(103,-61,907,841),47102=>array(103,-69,922,841),47103=>array(103,-74,929,841),47104=>array(103,-69,927,841),47105=>array(103,-68,911,841),47106=>array(103,-72,929,841),47107=>array(103,-70,936,841),47108=>array(103,-66,908,841),47109=>array(103,-59,916,841),47110=>array(103,-60,928,841),47111=>array(103,-68,908,841),47112=>array(118,-68,907,843),47113=>array(118,-61,907,843),47114=>array(118,-61,907,843),47115=>array(118,-71,931,843),47116=>array(118,-46,907,843),47117=>array(118,-68,912,843),47118=>array(118,-76,907,843),47119=>array(118,-44,921,843),47120=>array(118,-62,917,843),47121=>array(118,-64,907,843),47122=>array(118,-64,908,843),47123=>array(118,-64,908,843),47124=>array(118,-69,923,843),47125=>array(118,-64,908,843),47126=>array(118,-64,908,843),47127=>array(118,-76,907,843),47128=>array(118,-62,907,843),47129=>array(118,-61,907,843),47130=>array(118,-69,922,843),47131=>array(118,-74,929,843),47132=>array(118,-69,927,843),47133=>array(118,-68,911,843),47134=>array(118,-72,929,843),47135=>array(118,-70,936,843),47136=>array(118,-66,908,843),47137=>array(118,-59,916,843),47138=>array(118,-60,928,843),47139=>array(118,-68,908,843),47140=>array(118,-70,907,842),47141=>array(103,-61,908,842),47142=>array(103,-61,908,842),47143=>array(103,-71,931,842),47144=>array(103,-46,907,842),47145=>array(103,-68,912,842),47146=>array(103,-76,908,842),47147=>array(103,-44,921,842),47148=>array(103,-62,917,842),47149=>array(103,-64,908,842),47150=>array(103,-64,908,842),47151=>array(103,-64,908,842),47152=>array(103,-69,923,842),47153=>array(103,-64,908,842),47154=>array(103,-64,908,842),47155=>array(103,-76,908,842),47156=>array(103,-62,908,842),47157=>array(103,-61,908,842),47158=>array(103,-69,922,842),47159=>array(103,-74,929,842),47160=>array(103,-69,927,842),47161=>array(103,-68,911,842),47162=>array(103,-72,929,842),47163=>array(103,-70,936,842),47164=>array(103,-66,908,842),47165=>array(103,-59,916,842),47166=>array(103,-60,928,842),47167=>array(103,-68,908,842),47168=>array(118,-68,907,843),47169=>array(118,-61,907,843),47170=>array(118,-61,907,843),47171=>array(118,-71,931,843),47172=>array(118,-46,907,843),47173=>array(118,-68,912,843),47174=>array(118,-76,907,843),47175=>array(118,-44,921,843),47176=>array(118,-62,917,843),47177=>array(118,-64,907,843),47178=>array(118,-64,908,843),47179=>array(118,-64,908,843),47180=>array(118,-69,923,843),47181=>array(118,-64,908,843),47182=>array(118,-64,908,843),47183=>array(118,-76,907,843),47184=>array(118,-62,907,843),47185=>array(118,-61,907,843),47186=>array(118,-69,922,843),47187=>array(118,-74,929,843),47188=>array(118,-69,927,843),47189=>array(118,-68,911,843),47190=>array(118,-72,929,843),47191=>array(118,-70,936,843),47192=>array(118,-66,908,843),47193=>array(118,-59,916,843),47194=>array(118,-60,928,843),47195=>array(118,-68,908,843),47196=>array(62,27,943,755),47197=>array(79,-61,921,795),47198=>array(79,-61,921,795),47199=>array(79,-71,921,795),47200=>array(79,-46,921,795),47201=>array(79,-68,921,795),47202=>array(79,-74,921,795),47203=>array(79,-44,921,795),47204=>array(79,-62,921,795),47205=>array(79,-64,921,795),47206=>array(79,-64,921,795),47207=>array(79,-63,921,795),47208=>array(79,-68,921,795),47209=>array(79,-64,921,795),47210=>array(79,-63,921,795),47211=>array(79,-74,921,795),47212=>array(79,-62,921,795),47213=>array(79,-61,921,795),47214=>array(79,-69,921,795),47215=>array(79,-74,921,795),47216=>array(79,-69,921,795),47217=>array(79,-68,921,795),47218=>array(79,-72,921,795),47219=>array(79,-70,921,795),47220=>array(79,-66,921,795),47221=>array(79,-59,921,795),47222=>array(79,-60,921,795),47223=>array(79,-68,921,795),47224=>array(52,-69,936,842),47225=>array(68,-59,936,842),47226=>array(68,-61,936,842),47227=>array(68,-71,936,842),47228=>array(74,-45,936,843),47229=>array(68,-69,936,842),47230=>array(68,-76,936,842),47231=>array(68,-44,936,842),47232=>array(68,-62,936,842),47233=>array(68,-64,936,842),47234=>array(68,-64,936,842),47235=>array(68,-64,936,842),47236=>array(68,-70,936,842),47237=>array(68,-64,936,842),47238=>array(68,-64,936,842),47239=>array(68,-76,936,842),47240=>array(68,-62,936,842),47241=>array(68,-61,936,842),47242=>array(68,-70,936,842),47243=>array(68,-74,936,842),47244=>array(68,-69,936,842),47245=>array(68,-67,936,842),47246=>array(68,-72,936,842),47247=>array(68,-71,936,842),47248=>array(68,-66,936,842),47249=>array(68,-59,936,842),47250=>array(68,-60,936,842),47251=>array(68,-69,936,842),47252=>array(61,-68,907,843),47253=>array(64,-61,908,842),47254=>array(64,-61,908,842),47255=>array(64,-71,931,842),47256=>array(58,-46,907,842),47257=>array(64,-68,912,842),47258=>array(64,-76,908,842),47259=>array(64,-44,921,842),47260=>array(64,-62,917,842),47261=>array(64,-64,908,842),47262=>array(64,-64,908,842),47263=>array(64,-64,908,842),47264=>array(64,-69,923,842),47265=>array(64,-64,908,842),47266=>array(64,-64,908,842),47267=>array(64,-76,908,842),47268=>array(64,-62,908,842),47269=>array(64,-61,908,842),47270=>array(64,-69,922,842),47271=>array(64,-74,929,842),47272=>array(64,-69,927,842),47273=>array(64,-68,911,842),47274=>array(64,-72,929,842),47275=>array(64,-70,936,842),47276=>array(64,-66,908,842),47277=>array(64,-59,916,842),47278=>array(64,-60,928,842),47279=>array(64,-68,908,842),47280=>array(62,-69,907,842),47281=>array(64,-61,907,841),47282=>array(64,-61,907,841),47283=>array(64,-71,931,841),47284=>array(64,-46,907,842),47285=>array(64,-68,912,841),47286=>array(64,-76,907,841),47287=>array(64,-44,921,841),47288=>array(64,-62,917,841),47289=>array(64,-64,907,841),47290=>array(64,-64,908,841),47291=>array(64,-64,908,841),47292=>array(64,-69,923,841),47293=>array(64,-64,908,841),47294=>array(64,-64,908,841),47295=>array(64,-76,907,841),47296=>array(64,-62,907,841),47297=>array(64,-61,907,841),47298=>array(64,-69,922,841),47299=>array(64,-74,929,841),47300=>array(64,-69,927,841),47301=>array(64,-68,911,841),47302=>array(64,-72,929,841),47303=>array(64,-70,936,841),47304=>array(64,-66,908,841),47305=>array(64,-59,916,841),47306=>array(64,-60,928,841),47307=>array(64,-68,908,841),47308=>array(62,27,943,755),47309=>array(79,-61,921,795),47310=>array(79,-61,921,795),47311=>array(79,-71,921,795),47312=>array(79,-46,922,795),47313=>array(79,-68,921,795),47314=>array(79,-74,921,795),47315=>array(79,-44,921,795),47316=>array(79,-62,921,795),47317=>array(79,-64,921,795),47318=>array(79,-64,921,795),47319=>array(79,-63,921,795),47320=>array(79,-68,921,795),47321=>array(79,-64,921,795),47322=>array(79,-63,921,795),47323=>array(79,-74,921,795),47324=>array(79,-62,921,795),47325=>array(79,-61,921,795),47326=>array(79,-69,921,795),47327=>array(79,-74,921,795),47328=>array(79,-69,921,795),47329=>array(79,-68,921,795),47330=>array(79,-72,921,795),47331=>array(79,-70,921,795),47332=>array(79,-66,921,795),47333=>array(79,-59,921,795),47334=>array(79,-60,921,795),47335=>array(79,-68,921,795),47336=>array(79,-64,920,795),47337=>array(79,-61,921,795),47338=>array(79,-61,921,795),47339=>array(79,-71,921,795),47340=>array(79,-46,921,795),47341=>array(79,-68,921,795),47342=>array(79,-74,921,795),47343=>array(79,-44,921,795),47344=>array(79,-62,921,795),47345=>array(79,-64,921,795),47346=>array(79,-64,921,795),47347=>array(79,-63,921,795),47348=>array(79,-68,921,795),47349=>array(79,-64,921,795),47350=>array(79,-63,921,795),47351=>array(79,-74,921,795),47352=>array(79,-62,921,795),47353=>array(79,-61,921,795),47354=>array(79,-69,921,795),47355=>array(79,-74,921,795),47356=>array(79,-69,921,795),47357=>array(79,-68,921,795),47358=>array(79,-72,921,795),47359=>array(79,-70,921,795),47360=>array(79,-66,921,795),47361=>array(79,-59,921,795),47362=>array(79,-60,921,795),47363=>array(79,-68,921,795),47364=>array(69,-70,907,841),47365=>array(76,-61,907,841),47366=>array(76,-61,907,841),47367=>array(76,-71,931,841),47368=>array(76,-46,907,841),47369=>array(76,-68,912,841),47370=>array(76,-76,907,841),47371=>array(76,-44,921,841),47372=>array(76,-62,917,841),47373=>array(76,-64,907,841),47374=>array(76,-64,908,841),47375=>array(76,-64,908,841),47376=>array(76,-69,923,841),47377=>array(76,-64,908,841),47378=>array(76,-64,908,841),47379=>array(76,-76,906,841),47380=>array(76,-62,907,841),47381=>array(76,-61,907,841),47382=>array(76,-69,922,841),47383=>array(76,-74,929,841),47384=>array(76,-69,927,841),47385=>array(76,-68,911,841),47386=>array(76,-72,929,841),47387=>array(76,-70,936,841),47388=>array(76,-66,908,841),47389=>array(76,-59,916,841),47390=>array(76,-60,928,841),47391=>array(76,-68,908,841),47392=>array(52,-68,907,843),47393=>array(72,-61,907,843),47394=>array(72,-61,907,843),47395=>array(72,-71,931,843),47396=>array(90,-46,907,843),47397=>array(72,-68,912,843),47398=>array(72,-76,907,843),47399=>array(72,-44,921,843),47400=>array(72,-62,917,843),47401=>array(72,-64,907,843),47402=>array(72,-64,908,843),47403=>array(72,-64,908,843),47404=>array(72,-69,923,843),47405=>array(72,-64,908,843),47406=>array(72,-64,908,843),47407=>array(72,-76,907,843),47408=>array(72,-62,907,843),47409=>array(72,-61,907,843),47410=>array(72,-69,922,843),47411=>array(72,-74,929,843),47412=>array(72,-69,927,843),47413=>array(72,-68,911,843),47414=>array(72,-72,929,843),47415=>array(72,-70,936,843),47416=>array(72,-66,908,843),47417=>array(72,-59,916,843),47418=>array(72,-60,928,843),47419=>array(72,-68,908,843),47420=>array(70,-69,907,842),47421=>array(64,-61,907,842),47422=>array(64,-61,907,842),47423=>array(64,-71,931,842),47424=>array(65,-46,907,843),47425=>array(64,-68,912,842),47426=>array(64,-76,907,842),47427=>array(64,-44,921,842),47428=>array(64,-62,917,842),47429=>array(64,-64,907,842),47430=>array(64,-64,908,842),47431=>array(64,-64,908,842),47432=>array(64,-69,923,842),47433=>array(64,-64,908,842),47434=>array(64,-64,908,842),47435=>array(64,-76,907,842),47436=>array(64,-62,907,842),47437=>array(64,-61,907,842),47438=>array(64,-69,922,842),47439=>array(64,-74,929,842),47440=>array(64,-69,927,842),47441=>array(64,-68,911,842),47442=>array(64,-72,929,842),47443=>array(64,-70,936,842),47444=>array(64,-66,908,842),47445=>array(64,-59,916,842),47446=>array(64,-60,928,842),47447=>array(64,-68,908,842),47448=>array(71,-64,928,795),47449=>array(79,-61,921,795),47450=>array(79,-61,921,795),47451=>array(79,-71,921,795),47452=>array(79,-46,921,795),47453=>array(79,-68,921,795),47454=>array(79,-74,921,795),47455=>array(79,-44,921,795),47456=>array(79,-62,921,795),47457=>array(79,-64,921,795),47458=>array(79,-64,921,795),47459=>array(79,-63,921,795),47460=>array(79,-68,921,795),47461=>array(79,-64,921,795),47462=>array(79,-63,921,795),47463=>array(79,-74,921,795),47464=>array(79,-62,921,795),47465=>array(79,-61,921,795),47466=>array(79,-69,921,795),47467=>array(79,-74,921,795),47468=>array(79,-69,921,795),47469=>array(79,-68,921,795),47470=>array(79,-72,921,795),47471=>array(79,-70,921,795),47472=>array(79,-66,921,795),47473=>array(79,-59,921,795),47474=>array(79,-60,921,795),47475=>array(79,-68,921,795),47476=>array(57,42,943,730),47477=>array(79,-61,921,795),47478=>array(79,-61,921,795),47479=>array(79,-71,921,795),47480=>array(79,-46,921,795),47481=>array(79,-68,921,795),47482=>array(79,-74,921,795),47483=>array(79,-44,921,795),47484=>array(79,-62,921,795),47485=>array(79,-64,921,795),47486=>array(79,-64,921,795),47487=>array(79,-63,921,795),47488=>array(79,-68,921,795),47489=>array(79,-64,921,795),47490=>array(79,-63,921,795),47491=>array(79,-74,921,795),47492=>array(79,-62,921,795),47493=>array(79,-61,921,795),47494=>array(79,-69,921,795),47495=>array(79,-74,921,795),47496=>array(79,-69,921,795),47497=>array(79,-68,921,795),47498=>array(79,-72,921,795),47499=>array(79,-70,921,795),47500=>array(79,-66,921,795),47501=>array(79,-59,921,795),47502=>array(79,-60,921,795),47503=>array(79,-68,921,795),47504=>array(67,-69,907,842),47505=>array(64,-61,908,842),47506=>array(64,-61,908,842),47507=>array(64,-71,931,842),47508=>array(64,-46,908,842),47509=>array(64,-68,912,842),47510=>array(64,-76,908,842),47511=>array(64,-44,921,842),47512=>array(64,-62,917,842),47513=>array(64,-64,908,842),47514=>array(64,-64,908,842),47515=>array(64,-64,908,842),47516=>array(64,-69,923,842),47517=>array(64,-64,908,842),47518=>array(64,-64,908,842),47519=>array(64,-76,908,842),47520=>array(64,-62,908,842),47521=>array(64,-61,908,842),47522=>array(64,-69,922,842),47523=>array(64,-74,929,842),47524=>array(64,-69,927,842),47525=>array(64,-68,911,842),47526=>array(64,-72,929,842),47527=>array(64,-70,936,842),47528=>array(64,-66,908,842),47529=>array(64,-59,916,842),47530=>array(64,-60,928,842),47531=>array(64,-68,908,842),47532=>array(143,-69,907,842),47533=>array(138,-61,907,842),47534=>array(138,-61,907,842),47535=>array(138,-71,931,842),47536=>array(138,-46,907,842),47537=>array(138,-68,912,842),47538=>array(138,-76,907,842),47539=>array(138,-44,921,842),47540=>array(138,-62,917,842),47541=>array(138,-64,907,842),47542=>array(138,-64,908,842),47543=>array(138,-64,908,842),47544=>array(138,-69,923,842),47545=>array(138,-64,908,842),47546=>array(138,-64,908,842),47547=>array(138,-76,907,842),47548=>array(138,-62,907,842),47549=>array(138,-61,907,842),47550=>array(138,-69,922,842),47551=>array(138,-74,929,842),47552=>array(138,-69,927,842),47553=>array(138,-68,911,842),47554=>array(138,-72,929,842),47555=>array(138,-70,936,842),47556=>array(138,-66,908,842),47557=>array(138,-59,916,842),47558=>array(138,-60,928,842),47559=>array(138,-68,908,842),47560=>array(127,-69,936,842),47561=>array(122,-59,936,842),47562=>array(122,-61,936,842),47563=>array(122,-71,936,842),47564=>array(122,-45,936,842),47565=>array(122,-69,936,842),47566=>array(122,-76,936,842),47567=>array(122,-44,936,842),47568=>array(122,-62,936,842),47569=>array(122,-64,936,842),47570=>array(122,-64,936,842),47571=>array(122,-64,936,842),47572=>array(122,-70,936,842),47573=>array(122,-64,936,842),47574=>array(122,-64,936,842),47575=>array(122,-76,936,842),47576=>array(122,-62,936,842),47577=>array(122,-61,936,842),47578=>array(122,-70,936,842),47579=>array(122,-74,936,842),47580=>array(118,-69,936,842),47581=>array(122,-67,936,842),47582=>array(122,-72,936,842),47583=>array(122,-71,936,842),47584=>array(122,-66,936,842),47585=>array(122,-59,936,842),47586=>array(122,-60,936,842),47587=>array(122,-69,936,842),47588=>array(127,-69,907,842),47589=>array(122,-61,907,842),47590=>array(122,-61,907,842),47591=>array(122,-71,931,842),47592=>array(122,-46,907,842),47593=>array(122,-68,912,842),47594=>array(122,-76,907,842),47595=>array(122,-44,921,842),47596=>array(122,-62,917,842),47597=>array(122,-64,907,842),47598=>array(122,-64,908,842),47599=>array(122,-64,908,842),47600=>array(122,-69,923,842),47601=>array(122,-64,908,842),47602=>array(122,-64,908,842),47603=>array(122,-76,907,842),47604=>array(122,-62,907,842),47605=>array(122,-61,907,842),47606=>array(122,-69,922,842),47607=>array(122,-74,929,842),47608=>array(122,-69,927,842),47609=>array(122,-68,911,842),47610=>array(122,-72,929,842),47611=>array(122,-70,936,842),47612=>array(122,-66,908,842),47613=>array(122,-59,916,842),47614=>array(122,-60,928,842),47615=>array(122,-68,908,842),47616=>array(127,-68,935,843),47617=>array(122,-59,936,842),47618=>array(122,-61,936,842),47619=>array(122,-71,936,842),47620=>array(122,-45,936,842),47621=>array(122,-69,936,842),47622=>array(122,-76,936,842),47623=>array(122,-44,936,842),47624=>array(122,-62,936,842),47625=>array(122,-64,936,842),47626=>array(122,-64,936,842),47627=>array(122,-64,936,842),47628=>array(122,-70,936,842),47629=>array(122,-64,936,842),47630=>array(122,-64,936,842),47631=>array(122,-76,936,842),47632=>array(122,-62,936,842),47633=>array(122,-61,936,842),47634=>array(122,-70,936,842),47635=>array(122,-74,936,842),47636=>array(118,-69,936,842),47637=>array(122,-67,936,842),47638=>array(122,-72,936,842),47639=>array(122,-71,936,842),47640=>array(122,-66,936,842),47641=>array(122,-59,936,842),47642=>array(122,-60,936,842),47643=>array(122,-69,936,842),47644=>array(127,-69,907,842),47645=>array(122,-61,907,842),47646=>array(122,-61,907,842),47647=>array(122,-71,931,842),47648=>array(122,-46,907,842),47649=>array(122,-68,912,842),47650=>array(122,-76,907,842),47651=>array(122,-44,921,842),47652=>array(122,-62,917,842),47653=>array(122,-64,907,842),47654=>array(122,-64,908,842),47655=>array(122,-64,908,842),47656=>array(122,-69,923,842),47657=>array(122,-64,908,842),47658=>array(122,-64,908,842),47659=>array(122,-76,907,842),47660=>array(122,-62,907,842),47661=>array(122,-61,907,842),47662=>array(122,-69,922,842),47663=>array(122,-74,929,842),47664=>array(122,-69,927,842),47665=>array(122,-68,911,842),47666=>array(122,-72,929,842),47667=>array(122,-70,936,842),47668=>array(122,-66,908,842),47669=>array(122,-59,916,842),47670=>array(122,-60,928,842),47671=>array(122,-68,908,842),47672=>array(127,-70,907,841),47673=>array(122,-61,907,841),47674=>array(122,-61,907,841),47675=>array(122,-71,931,841),47676=>array(112,-46,907,841),47677=>array(122,-68,912,841),47678=>array(122,-76,907,841),47679=>array(122,-44,921,841),47680=>array(122,-62,917,841),47681=>array(122,-64,907,841),47682=>array(122,-64,908,841),47683=>array(122,-64,908,841),47684=>array(122,-69,923,841),47685=>array(122,-64,908,841),47686=>array(122,-64,908,841),47687=>array(122,-76,906,841),47688=>array(122,-62,907,841),47689=>array(122,-61,907,841),47690=>array(122,-69,922,841),47691=>array(122,-74,929,841),47692=>array(122,-69,927,841),47693=>array(122,-68,911,841),47694=>array(122,-72,929,841),47695=>array(122,-70,936,841),47696=>array(122,-66,908,841),47697=>array(122,-59,916,841),47698=>array(122,-60,928,841),47699=>array(122,-68,908,841),47700=>array(127,-68,907,843),47701=>array(122,-61,907,843),47702=>array(122,-61,907,843),47703=>array(122,-71,931,843),47704=>array(122,-46,907,843),47705=>array(122,-68,912,843),47706=>array(122,-76,907,843),47707=>array(122,-44,921,843),47708=>array(122,-62,917,843),47709=>array(122,-64,907,843),47710=>array(122,-64,908,843),47711=>array(122,-64,908,843),47712=>array(122,-69,923,843),47713=>array(122,-64,908,843),47714=>array(122,-64,908,843),47715=>array(122,-76,907,843),47716=>array(122,-62,907,843),47717=>array(122,-61,907,843),47718=>array(122,-69,922,843),47719=>array(122,-74,929,843),47720=>array(122,-69,927,843),47721=>array(122,-68,911,843),47722=>array(122,-72,929,843),47723=>array(122,-70,936,843),47724=>array(122,-66,908,843),47725=>array(122,-59,916,843),47726=>array(122,-60,928,843),47727=>array(122,-68,908,843),47728=>array(127,-70,907,842),47729=>array(122,-61,908,842),47730=>array(122,-61,908,842),47731=>array(122,-71,931,842),47732=>array(112,-46,907,842),47733=>array(122,-68,912,842),47734=>array(122,-76,908,842),47735=>array(122,-44,921,842),47736=>array(122,-62,917,842),47737=>array(122,-64,908,842),47738=>array(122,-64,908,842),47739=>array(122,-64,908,842),47740=>array(122,-69,923,842),47741=>array(122,-64,908,842),47742=>array(122,-64,908,842),47743=>array(122,-76,908,842),47744=>array(122,-62,908,842),47745=>array(122,-61,908,842),47746=>array(122,-69,922,842),47747=>array(122,-74,929,842),47748=>array(122,-69,927,842),47749=>array(122,-68,911,842),47750=>array(122,-72,929,842),47751=>array(122,-70,936,842),47752=>array(122,-66,908,842),47753=>array(122,-59,916,842),47754=>array(122,-60,928,842),47755=>array(122,-68,908,842),47756=>array(127,-68,907,843),47757=>array(122,-61,907,843),47758=>array(122,-61,907,843),47759=>array(122,-71,931,843),47760=>array(122,-46,907,843),47761=>array(122,-68,912,843),47762=>array(122,-76,907,843),47763=>array(122,-44,921,843),47764=>array(122,-62,917,843),47765=>array(122,-64,907,843),47766=>array(122,-64,908,843),47767=>array(122,-64,908,843),47768=>array(122,-69,923,843),47769=>array(122,-64,908,843),47770=>array(122,-64,908,843),47771=>array(122,-76,907,843),47772=>array(122,-62,907,843),47773=>array(122,-61,907,843),47774=>array(122,-69,922,843),47775=>array(122,-74,929,843),47776=>array(122,-69,927,843),47777=>array(122,-68,911,843),47778=>array(122,-72,929,843),47779=>array(122,-70,936,843),47780=>array(122,-66,908,843),47781=>array(122,-59,916,843),47782=>array(122,-60,928,843),47783=>array(122,-68,908,843),47784=>array(62,17,943,740),47785=>array(79,-61,921,800),47786=>array(79,-61,921,800),47787=>array(79,-71,921,800),47788=>array(79,-46,921,800),47789=>array(79,-68,921,800),47790=>array(79,-74,921,800),47791=>array(79,-44,921,800),47792=>array(79,-62,921,800),47793=>array(79,-64,921,800),47794=>array(79,-64,921,800),47795=>array(79,-63,921,800),47796=>array(79,-68,921,800),47797=>array(79,-64,921,800),47798=>array(79,-63,921,800),47799=>array(79,-74,921,800),47800=>array(79,-62,921,800),47801=>array(79,-61,921,800),47802=>array(79,-69,921,800),47803=>array(79,-74,921,800),47804=>array(79,-69,921,800),47805=>array(79,-68,921,800),47806=>array(79,-72,921,800),47807=>array(79,-70,921,800),47808=>array(79,-66,921,800),47809=>array(79,-59,921,800),47810=>array(79,-60,921,800),47811=>array(79,-68,921,800),47812=>array(52,-69,936,842),47813=>array(77,-59,936,843),47814=>array(77,-61,936,843),47815=>array(77,-71,936,843),47816=>array(66,-45,936,842),47817=>array(77,-69,936,843),47818=>array(77,-76,936,843),47819=>array(77,-44,936,843),47820=>array(77,-62,936,843),47821=>array(77,-64,936,843),47822=>array(77,-64,936,843),47823=>array(77,-64,936,843),47824=>array(77,-70,936,843),47825=>array(77,-64,936,843),47826=>array(77,-64,936,843),47827=>array(77,-76,936,843),47828=>array(77,-62,936,843),47829=>array(77,-61,936,843),47830=>array(77,-70,936,843),47831=>array(77,-74,936,843),47832=>array(77,-69,936,843),47833=>array(77,-67,936,843),47834=>array(77,-72,936,843),47835=>array(77,-71,936,843),47836=>array(77,-66,936,843),47837=>array(77,-59,936,843),47838=>array(77,-60,936,843),47839=>array(77,-69,936,843),47840=>array(61,-69,907,842),47841=>array(79,-61,907,843),47842=>array(79,-61,907,843),47843=>array(79,-71,931,843),47844=>array(72,-46,907,842),47845=>array(79,-68,912,843),47846=>array(79,-76,907,843),47847=>array(79,-44,921,843),47848=>array(79,-62,917,843),47849=>array(79,-64,907,843),47850=>array(79,-64,908,843),47851=>array(79,-64,908,843),47852=>array(79,-69,923,843),47853=>array(79,-64,908,843),47854=>array(79,-64,908,843),47855=>array(79,-76,907,843),47856=>array(79,-62,907,843),47857=>array(79,-61,907,843),47858=>array(79,-69,922,843),47859=>array(79,-74,929,843),47860=>array(79,-69,927,843),47861=>array(79,-68,911,843),47862=>array(79,-72,929,843),47863=>array(79,-70,936,843),47864=>array(79,-66,908,843),47865=>array(79,-59,916,843),47866=>array(79,-60,928,843),47867=>array(79,-68,908,843),47868=>array(61,-69,907,842),47869=>array(64,-61,908,841),47870=>array(64,-61,908,841),47871=>array(64,-71,931,841),47872=>array(65,-46,908,841),47873=>array(64,-68,912,841),47874=>array(64,-76,908,841),47875=>array(64,-44,921,841),47876=>array(64,-62,917,841),47877=>array(64,-64,908,841),47878=>array(64,-64,908,841),47879=>array(64,-64,908,841),47880=>array(64,-69,923,841),47881=>array(64,-64,908,841),47882=>array(64,-64,908,841),47883=>array(64,-76,908,841),47884=>array(64,-62,908,841),47885=>array(64,-61,908,841),47886=>array(64,-69,922,841),47887=>array(64,-74,929,841),47888=>array(64,-69,927,841),47889=>array(64,-68,911,841),47890=>array(64,-72,929,841),47891=>array(64,-70,936,841),47892=>array(64,-66,908,841),47893=>array(64,-59,916,841),47894=>array(64,-60,928,841),47895=>array(64,-68,908,841),47896=>array(60,-3,940,765),47897=>array(79,-61,922,800),47898=>array(79,-61,922,800),47899=>array(79,-71,922,800),47900=>array(79,-46,922,800),47901=>array(79,-68,922,800),47902=>array(79,-74,922,800),47903=>array(79,-44,922,800),47904=>array(79,-62,922,800),47905=>array(79,-64,922,800),47906=>array(79,-64,922,800),47907=>array(79,-63,922,800),47908=>array(79,-68,922,800),47909=>array(79,-64,922,800),47910=>array(79,-63,922,800),47911=>array(79,-74,922,800),47912=>array(79,-62,922,800),47913=>array(79,-61,922,800),47914=>array(79,-69,922,800),47915=>array(79,-74,922,800),47916=>array(79,-69,922,800),47917=>array(79,-68,922,800),47918=>array(79,-72,922,800),47919=>array(79,-70,922,800),47920=>array(79,-66,922,800),47921=>array(79,-59,922,800),47922=>array(79,-60,922,800),47923=>array(79,-68,922,800),47924=>array(79,-64,921,800),47925=>array(79,-61,921,800),47926=>array(79,-61,921,800),47927=>array(79,-71,921,800),47928=>array(79,-46,921,800),47929=>array(79,-68,921,800),47930=>array(79,-74,921,800),47931=>array(79,-44,921,800),47932=>array(79,-62,921,800),47933=>array(79,-64,921,800),47934=>array(79,-64,921,800),47935=>array(79,-63,921,800),47936=>array(79,-68,921,800),47937=>array(79,-64,921,800),47938=>array(79,-63,921,800),47939=>array(79,-74,921,800),47940=>array(79,-62,921,800),47941=>array(79,-61,921,800),47942=>array(79,-69,921,800),47943=>array(79,-74,921,800),47944=>array(79,-69,921,800),47945=>array(79,-68,921,800),47946=>array(79,-72,921,800),47947=>array(79,-70,921,800),47948=>array(79,-66,921,800),47949=>array(79,-59,921,800),47950=>array(79,-60,921,800),47951=>array(79,-68,921,800),47952=>array(69,-70,907,841),47953=>array(79,-61,907,841),47954=>array(79,-61,907,841),47955=>array(79,-71,931,841),47956=>array(79,-46,907,841),47957=>array(79,-68,912,841),47958=>array(79,-76,907,841),47959=>array(79,-44,921,841),47960=>array(79,-62,917,841),47961=>array(79,-64,907,841),47962=>array(79,-64,908,841),47963=>array(79,-64,908,841),47964=>array(79,-69,923,841),47965=>array(79,-64,908,841),47966=>array(79,-64,908,841),47967=>array(79,-76,906,841),47968=>array(79,-62,907,841),47969=>array(79,-61,907,841),47970=>array(79,-69,922,841),47971=>array(79,-74,929,841),47972=>array(79,-69,927,841),47973=>array(79,-68,911,841),47974=>array(79,-72,929,841),47975=>array(79,-70,936,841),47976=>array(79,-66,908,841),47977=>array(79,-59,916,841),47978=>array(79,-60,928,841),47979=>array(79,-68,908,841),47980=>array(63,-68,912,843),47981=>array(72,-61,907,843),47982=>array(72,-61,907,843),47983=>array(72,-71,931,843),47984=>array(89,-46,907,843),47985=>array(72,-68,912,843),47986=>array(72,-76,907,843),47987=>array(72,-44,921,843),47988=>array(72,-62,917,843),47989=>array(72,-64,907,843),47990=>array(72,-64,908,843),47991=>array(72,-64,908,843),47992=>array(72,-69,923,843),47993=>array(72,-64,908,843),47994=>array(72,-64,908,843),47995=>array(72,-76,907,843),47996=>array(72,-62,907,843),47997=>array(72,-61,907,843),47998=>array(72,-69,922,843),47999=>array(72,-74,929,843),48000=>array(72,-69,927,843),48001=>array(72,-68,911,843),48002=>array(72,-72,929,843),48003=>array(72,-70,936,843),48004=>array(72,-66,908,843),48005=>array(72,-59,916,843),48006=>array(72,-60,928,843),48007=>array(72,-68,908,843),48008=>array(51,-69,907,842),48009=>array(65,-61,907,842),48010=>array(65,-61,907,842),48011=>array(65,-71,931,842),48012=>array(65,-46,907,842),48013=>array(65,-68,912,842),48014=>array(65,-76,907,842),48015=>array(65,-44,921,842),48016=>array(65,-62,917,842),48017=>array(65,-64,907,842),48018=>array(65,-64,908,842),48019=>array(65,-64,908,842),48020=>array(65,-69,923,842),48021=>array(65,-64,908,842),48022=>array(65,-64,908,842),48023=>array(65,-76,907,842),48024=>array(65,-62,907,842),48025=>array(65,-61,907,842),48026=>array(65,-69,922,842),48027=>array(65,-74,929,842),48028=>array(65,-69,927,842),48029=>array(65,-68,911,842),48030=>array(65,-72,929,842),48031=>array(65,-70,936,842),48032=>array(65,-66,908,842),48033=>array(65,-59,916,842),48034=>array(65,-60,928,842),48035=>array(65,-68,908,842),48036=>array(71,-64,928,800),48037=>array(79,-61,921,800),48038=>array(79,-61,921,800),48039=>array(79,-71,921,800),48040=>array(79,-46,921,790),48041=>array(79,-68,921,800),48042=>array(79,-74,921,800),48043=>array(79,-44,921,800),48044=>array(79,-62,921,800),48045=>array(79,-64,921,800),48046=>array(79,-64,921,800),48047=>array(79,-63,921,800),48048=>array(79,-68,921,800),48049=>array(79,-64,921,800),48050=>array(79,-63,921,800),48051=>array(79,-74,921,800),48052=>array(79,-62,921,800),48053=>array(79,-61,921,800),48054=>array(79,-69,921,800),48055=>array(79,-74,921,800),48056=>array(79,-69,921,800),48057=>array(79,-68,921,800),48058=>array(79,-72,921,800),48059=>array(79,-70,921,800),48060=>array(79,-66,921,800),48061=>array(79,-59,921,800),48062=>array(79,-60,921,800),48063=>array(79,-68,921,800),48064=>array(57,42,943,710),48065=>array(79,-61,921,791),48066=>array(79,-61,921,791),48067=>array(79,-71,921,791),48068=>array(79,-46,921,791),48069=>array(79,-68,921,791),48070=>array(79,-74,921,791),48071=>array(79,-44,921,791),48072=>array(79,-62,921,791),48073=>array(79,-64,921,791),48074=>array(79,-64,921,791),48075=>array(79,-63,921,791),48076=>array(79,-68,921,791),48077=>array(79,-64,921,791),48078=>array(79,-63,921,791),48079=>array(79,-74,921,791),48080=>array(79,-62,921,791),48081=>array(79,-61,921,791),48082=>array(79,-69,921,791),48083=>array(79,-74,921,791),48084=>array(79,-69,921,791),48085=>array(79,-68,921,791),48086=>array(79,-72,921,791),48087=>array(79,-70,921,791),48088=>array(79,-66,921,791),48089=>array(79,-59,921,791),48090=>array(79,-60,921,791),48091=>array(79,-68,921,791),48092=>array(67,-69,907,842),48093=>array(64,-61,907,842),48094=>array(64,-61,907,842),48095=>array(64,-71,931,842),48096=>array(64,-46,907,842),48097=>array(64,-68,912,842),48098=>array(64,-76,907,842),48099=>array(64,-44,921,842),48100=>array(64,-62,917,842),48101=>array(64,-64,907,842),48102=>array(64,-64,908,842),48103=>array(64,-64,908,842),48104=>array(64,-69,923,842),48105=>array(64,-64,908,842),48106=>array(64,-64,908,842),48107=>array(64,-76,907,842),48108=>array(64,-62,907,842),48109=>array(64,-61,907,842),48110=>array(64,-69,922,842),48111=>array(64,-74,929,842),48112=>array(64,-69,927,842),48113=>array(64,-68,911,842),48114=>array(64,-72,929,842),48115=>array(64,-70,936,842),48116=>array(64,-66,908,842),48117=>array(64,-59,916,842),48118=>array(64,-60,928,842),48119=>array(64,-68,908,842),48120=>array(147,-69,907,842),48121=>array(157,-61,907,842),48122=>array(157,-61,907,842),48123=>array(157,-71,931,842),48124=>array(122,-46,907,842),48125=>array(157,-68,912,842),48126=>array(157,-76,907,842),48127=>array(157,-44,921,842),48128=>array(157,-62,917,842),48129=>array(157,-64,907,842),48130=>array(157,-64,908,842),48131=>array(157,-64,908,842),48132=>array(157,-69,923,842),48133=>array(157,-64,908,842),48134=>array(157,-64,908,842),48135=>array(157,-76,907,842),48136=>array(157,-62,907,842),48137=>array(157,-61,907,842),48138=>array(157,-69,922,842),48139=>array(157,-74,929,842),48140=>array(143,-69,927,842),48141=>array(157,-68,911,842),48142=>array(157,-72,929,842),48143=>array(157,-70,936,842),48144=>array(157,-66,908,842),48145=>array(157,-59,916,842),48146=>array(157,-60,928,842),48147=>array(157,-68,908,842),48148=>array(122,-69,936,842),48149=>array(122,-59,936,837),48150=>array(122,-61,936,837),48151=>array(122,-71,936,837),48152=>array(122,-45,936,842),48153=>array(122,-69,936,837),48154=>array(122,-76,936,837),48155=>array(122,-44,936,837),48156=>array(122,-62,936,837),48157=>array(122,-64,936,837),48158=>array(122,-64,936,837),48159=>array(122,-64,936,837),48160=>array(122,-70,936,837),48161=>array(122,-64,936,837),48162=>array(122,-64,936,837),48163=>array(122,-76,936,837),48164=>array(122,-62,936,837),48165=>array(122,-61,936,837),48166=>array(122,-70,936,837),48167=>array(122,-74,936,837),48168=>array(118,-69,936,837),48169=>array(122,-67,936,837),48170=>array(122,-72,936,837),48171=>array(122,-71,936,837),48172=>array(122,-66,936,837),48173=>array(122,-59,936,837),48174=>array(122,-60,936,837),48175=>array(122,-69,936,837),48176=>array(122,-69,907,842),48177=>array(157,-61,907,842),48178=>array(157,-61,907,842),48179=>array(157,-71,931,842),48180=>array(157,-46,907,842),48181=>array(157,-68,912,842),48182=>array(157,-76,907,842),48183=>array(157,-44,921,842),48184=>array(157,-62,917,842),48185=>array(157,-64,907,842),48186=>array(157,-64,908,842),48187=>array(157,-64,908,842),48188=>array(157,-69,923,842),48189=>array(157,-64,908,842),48190=>array(157,-64,908,842),48191=>array(157,-76,907,842),48192=>array(157,-62,907,842),48193=>array(157,-61,907,842),48194=>array(157,-69,922,842),48195=>array(157,-74,929,842),48196=>array(143,-69,927,842),48197=>array(157,-68,911,842),48198=>array(157,-72,929,842),48199=>array(157,-70,936,842),48200=>array(157,-66,908,842),48201=>array(157,-59,916,842),48202=>array(157,-60,928,842),48203=>array(157,-68,908,842),48204=>array(122,-68,935,843),48205=>array(122,-59,936,842),48206=>array(122,-61,936,842),48207=>array(122,-71,936,842),48208=>array(122,-45,936,842),48209=>array(122,-69,936,842),48210=>array(122,-76,936,842),48211=>array(122,-44,936,842),48212=>array(122,-62,936,842),48213=>array(122,-64,936,842),48214=>array(122,-64,936,842),48215=>array(122,-64,936,842),48216=>array(122,-70,936,842),48217=>array(122,-64,936,842),48218=>array(122,-64,936,842),48219=>array(122,-76,936,842),48220=>array(122,-62,936,842),48221=>array(122,-61,936,842),48222=>array(122,-70,936,842),48223=>array(122,-74,936,842),48224=>array(118,-69,936,842),48225=>array(122,-67,936,842),48226=>array(122,-72,936,842),48227=>array(122,-71,936,842),48228=>array(122,-66,936,842),48229=>array(122,-59,936,842),48230=>array(122,-60,936,842),48231=>array(122,-69,936,842),48232=>array(122,-69,907,842),48233=>array(157,-61,907,842),48234=>array(157,-61,907,842),48235=>array(157,-71,931,842),48236=>array(157,-46,907,842),48237=>array(157,-68,912,842),48238=>array(157,-76,907,842),48239=>array(157,-44,921,842),48240=>array(157,-62,917,842),48241=>array(157,-64,907,842),48242=>array(157,-64,908,842),48243=>array(157,-64,908,842),48244=>array(157,-69,923,842),48245=>array(157,-64,908,842),48246=>array(157,-64,908,842),48247=>array(157,-76,907,842),48248=>array(157,-62,907,842),48249=>array(157,-61,907,842),48250=>array(157,-69,922,842),48251=>array(157,-74,929,842),48252=>array(143,-69,927,842),48253=>array(157,-68,911,842),48254=>array(157,-72,929,842),48255=>array(157,-70,936,842),48256=>array(157,-66,908,842),48257=>array(157,-59,916,842),48258=>array(157,-60,928,842),48259=>array(157,-68,908,842),48260=>array(127,-70,907,841),48261=>array(122,-61,907,841),48262=>array(122,-61,907,841),48263=>array(122,-71,931,841),48264=>array(122,-46,907,841),48265=>array(122,-68,912,841),48266=>array(122,-76,907,841),48267=>array(122,-44,921,841),48268=>array(122,-62,917,841),48269=>array(122,-64,907,841),48270=>array(122,-64,908,841),48271=>array(122,-64,908,841),48272=>array(122,-69,923,841),48273=>array(122,-64,908,841),48274=>array(122,-64,908,841),48275=>array(122,-76,906,841),48276=>array(122,-62,907,841),48277=>array(122,-61,907,841),48278=>array(122,-69,922,841),48279=>array(122,-74,929,841),48280=>array(122,-69,927,841),48281=>array(122,-68,911,841),48282=>array(122,-72,929,841),48283=>array(122,-70,936,841),48284=>array(122,-66,908,841),48285=>array(122,-59,916,841),48286=>array(122,-60,928,841),48287=>array(122,-68,908,841),48288=>array(122,-68,907,843),48289=>array(127,-61,907,843),48290=>array(127,-61,907,843),48291=>array(127,-71,931,843),48292=>array(127,-46,907,843),48293=>array(127,-68,912,843),48294=>array(127,-76,907,843),48295=>array(127,-44,921,843),48296=>array(127,-62,917,843),48297=>array(127,-64,907,843),48298=>array(127,-64,908,843),48299=>array(127,-64,908,843),48300=>array(127,-69,923,843),48301=>array(127,-64,908,843),48302=>array(127,-64,908,843),48303=>array(127,-76,907,843),48304=>array(127,-62,907,843),48305=>array(127,-61,907,843),48306=>array(127,-69,922,843),48307=>array(127,-74,929,843),48308=>array(127,-69,927,843),48309=>array(127,-68,911,843),48310=>array(127,-72,929,843),48311=>array(127,-70,936,843),48312=>array(127,-66,908,843),48313=>array(127,-59,916,843),48314=>array(127,-60,928,843),48315=>array(127,-68,908,843),48316=>array(127,-70,907,842),48317=>array(122,-61,908,842),48318=>array(122,-61,908,842),48319=>array(122,-71,931,842),48320=>array(122,-46,907,842),48321=>array(122,-68,912,842),48322=>array(122,-76,908,842),48323=>array(122,-44,921,842),48324=>array(122,-62,917,842),48325=>array(122,-64,908,842),48326=>array(122,-64,908,842),48327=>array(122,-64,908,842),48328=>array(122,-69,923,842),48329=>array(122,-64,908,842),48330=>array(122,-64,908,842),48331=>array(122,-76,908,842),48332=>array(122,-62,908,842),48333=>array(122,-61,908,842),48334=>array(122,-69,922,842),48335=>array(122,-74,929,842),48336=>array(122,-69,927,842),48337=>array(122,-68,911,842),48338=>array(122,-72,929,842),48339=>array(122,-70,936,842),48340=>array(122,-66,908,842),48341=>array(122,-59,916,842),48342=>array(122,-60,928,842),48343=>array(122,-68,908,842),48344=>array(122,-68,907,843),48345=>array(127,-61,907,843),48346=>array(127,-61,907,843),48347=>array(127,-71,931,843),48348=>array(127,-46,907,843),48349=>array(127,-68,912,843),48350=>array(127,-76,907,843),48351=>array(127,-44,921,843),48352=>array(127,-62,917,843),48353=>array(127,-64,907,843),48354=>array(127,-64,908,843),48355=>array(127,-64,908,843),48356=>array(127,-69,923,843),48357=>array(127,-64,908,843),48358=>array(127,-64,908,843),48359=>array(127,-76,907,843),48360=>array(127,-62,907,843),48361=>array(127,-61,907,843),48362=>array(127,-69,922,843),48363=>array(127,-74,929,843),48364=>array(127,-69,927,843),48365=>array(127,-68,911,843),48366=>array(127,-72,929,843),48367=>array(127,-70,936,843),48368=>array(127,-66,908,843),48369=>array(127,-59,916,843),48370=>array(127,-60,928,843),48371=>array(127,-68,908,843),48372=>array(62,7,943,795),48373=>array(79,-61,921,815),48374=>array(79,-61,921,815),48375=>array(79,-71,921,815),48376=>array(79,-46,921,815),48377=>array(79,-68,921,815),48378=>array(79,-74,921,815),48379=>array(79,-44,921,815),48380=>array(79,-62,921,815),48381=>array(79,-64,921,815),48382=>array(79,-64,921,815),48383=>array(79,-63,921,815),48384=>array(79,-68,921,815),48385=>array(79,-64,921,815),48386=>array(79,-63,921,815),48387=>array(79,-74,921,815),48388=>array(79,-62,921,815),48389=>array(79,-61,921,815),48390=>array(79,-69,921,815),48391=>array(79,-74,921,815),48392=>array(79,-69,921,815),48393=>array(79,-68,921,815),48394=>array(79,-72,921,815),48395=>array(79,-70,921,815),48396=>array(79,-66,921,815),48397=>array(79,-59,921,815),48398=>array(79,-60,921,815),48399=>array(79,-68,921,815),48400=>array(52,-69,936,842),48401=>array(77,-59,936,843),48402=>array(77,-61,936,843),48403=>array(77,-71,936,843),48404=>array(66,-45,936,842),48405=>array(77,-69,936,843),48406=>array(77,-76,936,843),48407=>array(77,-44,936,843),48408=>array(77,-62,936,843),48409=>array(77,-64,936,843),48410=>array(77,-64,936,843),48411=>array(77,-64,936,843),48412=>array(77,-70,936,843),48413=>array(77,-64,936,843),48414=>array(77,-64,936,843),48415=>array(77,-76,936,843),48416=>array(77,-62,936,843),48417=>array(77,-61,936,843),48418=>array(77,-70,936,843),48419=>array(77,-74,936,843),48420=>array(77,-69,936,843),48421=>array(77,-67,936,843),48422=>array(77,-72,936,843),48423=>array(77,-71,936,843),48424=>array(77,-66,936,843),48425=>array(77,-59,936,843),48426=>array(77,-60,936,843),48427=>array(77,-69,936,843),48428=>array(61,-68,907,843),48429=>array(79,-61,907,843),48430=>array(79,-61,907,843),48431=>array(79,-71,931,843),48432=>array(72,-46,907,842),48433=>array(79,-68,912,843),48434=>array(79,-76,907,843),48435=>array(79,-44,921,843),48436=>array(79,-62,917,843),48437=>array(79,-64,907,843),48438=>array(79,-64,908,843),48439=>array(79,-64,908,843),48440=>array(79,-69,923,843),48441=>array(79,-64,908,843),48442=>array(79,-64,908,843),48443=>array(79,-76,907,843),48444=>array(79,-62,907,843),48445=>array(79,-61,907,843),48446=>array(79,-69,922,843),48447=>array(79,-74,929,843),48448=>array(79,-69,927,843),48449=>array(79,-68,911,843),48450=>array(79,-72,929,843),48451=>array(79,-70,936,843),48452=>array(79,-66,908,843),48453=>array(79,-59,916,843),48454=>array(79,-60,928,843),48455=>array(79,-68,908,843),48456=>array(62,-69,907,842),48457=>array(65,-61,907,842),48458=>array(65,-61,907,842),48459=>array(65,-71,931,842),48460=>array(64,-46,907,842),48461=>array(65,-68,912,842),48462=>array(65,-76,907,842),48463=>array(65,-44,921,842),48464=>array(65,-62,917,842),48465=>array(65,-64,907,842),48466=>array(65,-64,908,842),48467=>array(65,-64,908,842),48468=>array(65,-69,923,842),48469=>array(65,-64,908,842),48470=>array(65,-64,908,842),48471=>array(65,-76,907,842),48472=>array(65,-62,907,842),48473=>array(65,-61,907,842),48474=>array(65,-69,922,842),48475=>array(65,-74,929,842),48476=>array(65,-69,927,842),48477=>array(65,-68,911,842),48478=>array(65,-72,929,842),48479=>array(65,-70,936,842),48480=>array(65,-66,908,842),48481=>array(65,-59,916,842),48482=>array(65,-60,928,842),48483=>array(65,-68,908,842),48484=>array(62,7,943,805),48485=>array(79,-61,922,815),48486=>array(79,-61,922,815),48487=>array(79,-71,922,815),48488=>array(79,-46,922,815),48489=>array(79,-68,922,815),48490=>array(79,-74,922,815),48491=>array(79,-44,922,815),48492=>array(79,-62,922,815),48493=>array(79,-64,922,815),48494=>array(79,-64,922,815),48495=>array(79,-63,922,815),48496=>array(79,-68,922,815),48497=>array(79,-64,922,815),48498=>array(79,-63,922,815),48499=>array(79,-74,922,815),48500=>array(79,-62,922,815),48501=>array(79,-61,922,815),48502=>array(79,-69,922,815),48503=>array(79,-74,922,815),48504=>array(79,-69,922,815),48505=>array(79,-68,922,815),48506=>array(79,-72,922,815),48507=>array(79,-70,922,815),48508=>array(79,-66,922,815),48509=>array(79,-59,922,815),48510=>array(79,-60,922,815),48511=>array(79,-68,922,815),48512=>array(79,-64,921,815),48513=>array(79,-61,921,815),48514=>array(79,-61,921,815),48515=>array(79,-71,921,815),48516=>array(79,-46,921,815),48517=>array(79,-68,921,815),48518=>array(79,-74,921,815),48519=>array(79,-44,921,815),48520=>array(79,-62,921,815),48521=>array(79,-64,921,815),48522=>array(79,-64,921,815),48523=>array(79,-63,921,815),48524=>array(79,-68,921,815),48525=>array(79,-64,921,815),48526=>array(79,-63,921,815),48527=>array(79,-74,921,815),48528=>array(79,-62,921,815),48529=>array(79,-61,921,815),48530=>array(79,-69,921,815),48531=>array(79,-74,921,815),48532=>array(79,-69,921,815),48533=>array(79,-68,921,815),48534=>array(79,-72,921,815),48535=>array(79,-70,921,815),48536=>array(79,-66,921,815),48537=>array(79,-59,921,815),48538=>array(79,-60,921,815),48539=>array(79,-68,921,815),48540=>array(69,-70,907,841),48541=>array(75,-61,907,841),48542=>array(75,-61,907,841),48543=>array(75,-71,931,841),48544=>array(76,-46,907,841),48545=>array(75,-68,912,841),48546=>array(75,-76,907,841),48547=>array(75,-44,921,841),48548=>array(75,-62,917,841),48549=>array(75,-64,907,841),48550=>array(75,-64,908,841),48551=>array(75,-64,908,841),48552=>array(75,-69,923,841),48553=>array(75,-64,908,841),48554=>array(75,-64,908,841),48555=>array(75,-76,906,841),48556=>array(75,-62,907,841),48557=>array(75,-61,907,841),48558=>array(75,-69,922,841),48559=>array(75,-74,929,841),48560=>array(75,-69,927,841),48561=>array(75,-68,911,841),48562=>array(75,-72,929,841),48563=>array(75,-70,936,841),48564=>array(75,-66,908,841),48565=>array(75,-59,916,841),48566=>array(75,-60,928,841),48567=>array(75,-68,908,841),48568=>array(63,-68,907,843),48569=>array(72,-61,907,843),48570=>array(72,-61,907,843),48571=>array(72,-71,931,843),48572=>array(76,-46,907,843),48573=>array(72,-68,912,843),48574=>array(72,-76,907,843),48575=>array(72,-44,921,843),48576=>array(72,-62,917,843),48577=>array(72,-64,907,843),48578=>array(72,-64,908,843),48579=>array(72,-64,908,843),48580=>array(72,-69,923,843),48581=>array(72,-64,908,843),48582=>array(72,-64,908,843),48583=>array(72,-76,907,843),48584=>array(72,-62,907,843),48585=>array(72,-61,907,843),48586=>array(72,-69,922,843),48587=>array(72,-74,929,843),48588=>array(72,-69,927,843),48589=>array(72,-68,911,843),48590=>array(72,-72,929,843),48591=>array(72,-70,936,843),48592=>array(72,-66,908,843),48593=>array(72,-59,916,843),48594=>array(72,-60,928,843),48595=>array(72,-68,908,843),48596=>array(70,-69,907,842),48597=>array(65,-61,907,841),48598=>array(65,-61,907,841),48599=>array(65,-71,931,841),48600=>array(65,-46,907,841),48601=>array(65,-68,912,841),48602=>array(65,-76,907,841),48603=>array(65,-44,921,841),48604=>array(65,-62,917,841),48605=>array(65,-64,907,841),48606=>array(65,-64,908,841),48607=>array(65,-64,908,841),48608=>array(65,-69,923,841),48609=>array(65,-64,908,841),48610=>array(65,-64,908,841),48611=>array(65,-76,907,841),48612=>array(65,-62,907,841),48613=>array(65,-61,907,841),48614=>array(65,-69,922,841),48615=>array(65,-74,929,841),48616=>array(65,-69,927,841),48617=>array(65,-68,911,841),48618=>array(65,-72,929,841),48619=>array(65,-70,936,841),48620=>array(65,-66,908,841),48621=>array(65,-59,916,841),48622=>array(65,-60,928,841),48623=>array(65,-68,908,841),48624=>array(71,-64,928,815),48625=>array(79,-61,921,815),48626=>array(79,-61,921,815),48627=>array(79,-71,921,815),48628=>array(79,-46,921,815),48629=>array(79,-68,921,815),48630=>array(79,-74,921,815),48631=>array(79,-44,921,815),48632=>array(79,-62,921,815),48633=>array(79,-64,921,815),48634=>array(79,-64,921,815),48635=>array(79,-63,921,815),48636=>array(79,-68,921,815),48637=>array(79,-64,921,815),48638=>array(79,-63,921,815),48639=>array(79,-74,921,815),48640=>array(79,-62,921,815),48641=>array(79,-61,921,815),48642=>array(79,-69,921,815),48643=>array(79,-74,921,815),48644=>array(79,-69,921,815),48645=>array(79,-68,921,815),48646=>array(79,-72,921,815),48647=>array(79,-70,921,815),48648=>array(79,-66,921,815),48649=>array(79,-59,921,815),48650=>array(79,-60,921,815),48651=>array(79,-68,921,815),48652=>array(57,42,943,750),48653=>array(79,-61,921,825),48654=>array(79,-61,921,825),48655=>array(79,-71,921,825),48656=>array(79,-46,921,825),48657=>array(79,-68,921,825),48658=>array(79,-74,921,825),48659=>array(79,-44,921,825),48660=>array(79,-62,921,825),48661=>array(79,-64,921,825),48662=>array(79,-64,921,825),48663=>array(79,-63,921,825),48664=>array(79,-68,921,825),48665=>array(79,-64,921,825),48666=>array(79,-63,921,825),48667=>array(79,-74,921,825),48668=>array(79,-62,921,825),48669=>array(79,-61,921,825),48670=>array(79,-69,921,825),48671=>array(79,-74,921,825),48672=>array(79,-69,921,825),48673=>array(79,-68,921,825),48674=>array(79,-72,921,825),48675=>array(79,-70,921,825),48676=>array(79,-66,921,825),48677=>array(79,-59,921,825),48678=>array(79,-60,921,825),48679=>array(79,-68,921,825),48680=>array(67,-69,907,842),48681=>array(65,-61,907,842),48682=>array(65,-61,907,842),48683=>array(65,-71,931,842),48684=>array(65,-46,907,841),48685=>array(65,-68,912,842),48686=>array(65,-76,907,842),48687=>array(65,-44,921,842),48688=>array(65,-62,917,842),48689=>array(65,-64,907,842),48690=>array(65,-64,908,842),48691=>array(65,-64,908,842),48692=>array(65,-69,923,842),48693=>array(65,-64,908,842),48694=>array(65,-64,908,842),48695=>array(65,-76,907,842),48696=>array(65,-62,907,842),48697=>array(65,-61,907,842),48698=>array(65,-69,922,842),48699=>array(65,-74,929,842),48700=>array(65,-69,927,842),48701=>array(65,-68,911,842),48702=>array(65,-72,929,842),48703=>array(65,-70,936,842),48704=>array(65,-66,908,842),48705=>array(65,-59,916,842),48706=>array(65,-60,928,842),48707=>array(65,-68,908,842),48708=>array(147,-69,907,842),48709=>array(157,-61,907,842),48710=>array(157,-61,907,842),48711=>array(157,-71,931,842),48712=>array(152,-46,907,842),48713=>array(157,-68,912,842),48714=>array(157,-76,907,842),48715=>array(157,-44,921,842),48716=>array(157,-62,917,842),48717=>array(157,-64,907,842),48718=>array(157,-64,908,842),48719=>array(157,-64,908,842),48720=>array(157,-69,923,842),48721=>array(157,-64,908,842),48722=>array(157,-64,908,842),48723=>array(157,-76,907,842),48724=>array(157,-62,907,842),48725=>array(157,-61,907,842),48726=>array(157,-69,922,842),48727=>array(157,-74,929,842),48728=>array(143,-69,927,842),48729=>array(157,-68,911,842),48730=>array(157,-72,929,842),48731=>array(157,-70,936,842),48732=>array(157,-66,908,842),48733=>array(157,-59,916,842),48734=>array(157,-60,928,842),48735=>array(157,-68,908,842),48736=>array(95,-69,936,842),48737=>array(105,-59,936,842),48738=>array(105,-61,936,842),48739=>array(105,-71,936,842),48740=>array(105,-45,936,842),48741=>array(105,-69,936,842),48742=>array(105,-76,936,842),48743=>array(105,-44,936,842),48744=>array(105,-62,936,842),48745=>array(105,-64,936,842),48746=>array(105,-64,936,842),48747=>array(105,-64,936,842),48748=>array(105,-70,936,842),48749=>array(105,-64,936,842),48750=>array(105,-64,936,842),48751=>array(105,-76,936,842),48752=>array(105,-62,936,842),48753=>array(105,-61,936,842),48754=>array(105,-70,936,842),48755=>array(105,-74,936,842),48756=>array(105,-69,936,842),48757=>array(105,-67,936,842),48758=>array(105,-72,936,842),48759=>array(105,-71,936,842),48760=>array(105,-66,936,842),48761=>array(105,-59,936,842),48762=>array(105,-60,936,842),48763=>array(105,-69,936,842),48764=>array(95,-69,907,842),48765=>array(105,-61,907,842),48766=>array(105,-61,907,842),48767=>array(105,-71,931,842),48768=>array(105,-46,907,842),48769=>array(105,-68,912,842),48770=>array(105,-76,907,842),48771=>array(105,-44,921,842),48772=>array(105,-62,917,842),48773=>array(105,-64,907,842),48774=>array(105,-64,908,842),48775=>array(105,-64,908,842),48776=>array(105,-69,923,842),48777=>array(105,-64,908,842),48778=>array(105,-64,908,842),48779=>array(105,-76,907,842),48780=>array(105,-62,907,842),48781=>array(105,-61,907,842),48782=>array(105,-69,922,842),48783=>array(105,-74,929,842),48784=>array(105,-69,927,842),48785=>array(105,-68,911,842),48786=>array(105,-72,929,842),48787=>array(105,-70,936,842),48788=>array(105,-66,908,842),48789=>array(105,-59,916,842),48790=>array(105,-60,928,842),48791=>array(105,-68,908,842),48792=>array(95,-68,935,843),48793=>array(105,-59,936,842),48794=>array(105,-61,936,842),48795=>array(105,-71,936,842),48796=>array(105,-45,936,842),48797=>array(105,-69,936,842),48798=>array(105,-76,936,842),48799=>array(105,-44,936,842),48800=>array(105,-62,936,842),48801=>array(105,-64,936,842),48802=>array(105,-64,936,842),48803=>array(105,-64,936,842),48804=>array(105,-70,936,842),48805=>array(105,-64,936,842),48806=>array(105,-64,936,842),48807=>array(105,-76,936,842),48808=>array(105,-62,936,842),48809=>array(105,-61,936,842),48810=>array(105,-70,936,842),48811=>array(105,-74,936,842),48812=>array(105,-69,936,842),48813=>array(105,-67,936,842),48814=>array(105,-72,936,842),48815=>array(105,-71,936,842),48816=>array(105,-66,936,842),48817=>array(105,-59,936,842),48818=>array(105,-60,936,842),48819=>array(105,-69,936,842),48820=>array(95,-69,907,842),48821=>array(105,-61,907,842),48822=>array(105,-61,907,842),48823=>array(105,-71,931,842),48824=>array(105,-46,907,842),48825=>array(105,-68,912,842),48826=>array(105,-76,907,842),48827=>array(105,-44,921,842),48828=>array(105,-62,917,842),48829=>array(105,-64,907,842),48830=>array(105,-64,908,842),48831=>array(105,-64,908,842),48832=>array(105,-69,923,842),48833=>array(105,-64,908,842),48834=>array(105,-64,908,842),48835=>array(105,-76,907,842),48836=>array(105,-62,907,842),48837=>array(105,-61,907,842),48838=>array(105,-69,922,842),48839=>array(105,-74,929,842),48840=>array(105,-69,927,842),48841=>array(105,-68,911,842),48842=>array(105,-72,929,842),48843=>array(105,-70,936,842),48844=>array(105,-66,908,842),48845=>array(105,-59,916,842),48846=>array(105,-60,928,842),48847=>array(105,-68,908,842),48848=>array(95,-70,907,841),48849=>array(105,-61,907,841),48850=>array(105,-61,907,841),48851=>array(105,-71,931,841),48852=>array(105,-46,907,841),48853=>array(105,-68,912,841),48854=>array(105,-76,907,841),48855=>array(105,-44,921,841),48856=>array(105,-62,917,841),48857=>array(105,-64,907,841),48858=>array(105,-64,908,841),48859=>array(105,-64,908,841),48860=>array(105,-69,923,841),48861=>array(105,-64,908,841),48862=>array(105,-64,908,841),48863=>array(105,-76,906,841),48864=>array(105,-62,907,841),48865=>array(105,-61,907,841),48866=>array(105,-69,922,841),48867=>array(105,-74,929,841),48868=>array(105,-69,927,841),48869=>array(105,-68,911,841),48870=>array(105,-72,929,841),48871=>array(105,-70,936,841),48872=>array(105,-66,908,841),48873=>array(105,-59,916,841),48874=>array(105,-60,928,841),48875=>array(105,-68,908,841),48876=>array(90,-68,907,843),48877=>array(90,-61,907,843),48878=>array(90,-61,907,843),48879=>array(90,-71,931,843),48880=>array(90,-46,907,843),48881=>array(90,-68,912,843),48882=>array(90,-76,907,843),48883=>array(90,-44,921,843),48884=>array(90,-62,917,843),48885=>array(90,-64,907,843),48886=>array(90,-64,908,843),48887=>array(90,-64,908,843),48888=>array(90,-69,923,843),48889=>array(90,-64,908,843),48890=>array(90,-64,908,843),48891=>array(90,-76,907,843),48892=>array(90,-62,907,843),48893=>array(90,-61,907,843),48894=>array(90,-69,922,843),48895=>array(90,-74,929,843),48896=>array(90,-69,927,843),48897=>array(90,-68,911,843),48898=>array(90,-72,929,843),48899=>array(90,-70,936,843),48900=>array(90,-66,908,843),48901=>array(90,-59,916,843),48902=>array(90,-60,928,843),48903=>array(90,-68,908,843),48904=>array(95,-70,907,842),48905=>array(105,-61,908,842),48906=>array(105,-61,908,842),48907=>array(105,-71,931,842),48908=>array(105,-46,907,842),48909=>array(105,-68,912,842),48910=>array(105,-76,908,842),48911=>array(105,-44,921,842),48912=>array(105,-62,917,842),48913=>array(105,-64,908,842),48914=>array(105,-64,908,842),48915=>array(105,-64,908,842),48916=>array(105,-69,923,842),48917=>array(105,-64,908,842),48918=>array(105,-64,908,842),48919=>array(105,-76,908,842),48920=>array(105,-62,908,842),48921=>array(105,-61,908,842),48922=>array(105,-69,922,842),48923=>array(105,-74,929,842),48924=>array(105,-69,927,842),48925=>array(105,-68,911,842),48926=>array(105,-72,929,842),48927=>array(105,-70,936,842),48928=>array(105,-66,908,842),48929=>array(105,-59,916,842),48930=>array(105,-60,928,842),48931=>array(105,-68,908,842),48932=>array(90,-68,907,843),48933=>array(90,-61,907,843),48934=>array(90,-61,907,843),48935=>array(90,-71,931,843),48936=>array(90,-46,907,843),48937=>array(90,-68,912,843),48938=>array(90,-76,907,843),48939=>array(90,-44,921,843),48940=>array(90,-62,917,843),48941=>array(90,-64,907,843),48942=>array(90,-64,908,843),48943=>array(90,-64,908,843),48944=>array(90,-69,923,843),48945=>array(90,-64,908,843),48946=>array(90,-64,908,843),48947=>array(90,-76,907,843),48948=>array(90,-62,907,843),48949=>array(90,-61,907,843),48950=>array(90,-69,922,843),48951=>array(90,-74,929,843),48952=>array(90,-69,927,843),48953=>array(90,-68,911,843),48954=>array(90,-72,929,843),48955=>array(90,-70,936,843),48956=>array(90,-66,908,843),48957=>array(90,-59,916,843),48958=>array(90,-60,928,843),48959=>array(90,-68,908,843),48960=>array(60,12,940,766),48961=>array(79,-61,921,806),48962=>array(79,-61,921,806),48963=>array(79,-71,921,806),48964=>array(79,-46,921,806),48965=>array(79,-68,921,806),48966=>array(79,-74,921,806),48967=>array(79,-44,921,806),48968=>array(79,-62,921,806),48969=>array(79,-64,921,806),48970=>array(79,-64,921,806),48971=>array(79,-63,921,806),48972=>array(79,-68,921,806),48973=>array(79,-64,921,806),48974=>array(79,-63,921,806),48975=>array(79,-74,921,806),48976=>array(79,-62,921,806),48977=>array(79,-61,921,806),48978=>array(79,-69,921,806),48979=>array(79,-74,921,806),48980=>array(79,-69,921,806),48981=>array(79,-68,921,806),48982=>array(79,-72,921,806),48983=>array(79,-70,921,806),48984=>array(79,-66,921,806),48985=>array(79,-59,921,806),48986=>array(79,-60,921,806),48987=>array(79,-68,921,806),48988=>array(51,-69,936,842),48989=>array(69,-59,937,843),48990=>array(69,-61,937,843),48991=>array(69,-71,937,843),48992=>array(57,-45,937,842),48993=>array(69,-69,937,843),48994=>array(69,-76,937,843),48995=>array(69,-44,937,843),48996=>array(69,-62,937,843),48997=>array(69,-64,937,843),48998=>array(69,-64,937,843),48999=>array(69,-64,937,843),49000=>array(69,-70,937,843),49001=>array(69,-64,937,843),49002=>array(69,-64,937,843),49003=>array(69,-76,937,843),49004=>array(69,-62,937,843),49005=>array(69,-61,937,843),49006=>array(69,-70,937,843),49007=>array(69,-74,937,843),49008=>array(69,-69,937,843),49009=>array(69,-67,937,843),49010=>array(69,-72,937,843),49011=>array(69,-71,937,843),49012=>array(69,-66,937,843),49013=>array(69,-59,937,843),49014=>array(69,-60,937,843),49015=>array(69,-69,937,843),49016=>array(57,-69,907,842),49017=>array(69,-61,908,842),49018=>array(69,-61,908,842),49019=>array(69,-71,931,842),49020=>array(57,-46,908,842),49021=>array(69,-68,912,842),49022=>array(69,-76,908,842),49023=>array(69,-44,921,842),49024=>array(69,-62,917,842),49025=>array(69,-64,908,842),49026=>array(69,-64,908,842),49027=>array(69,-64,908,842),49028=>array(69,-69,923,842),49029=>array(69,-64,908,842),49030=>array(69,-64,908,842),49031=>array(69,-76,908,842),49032=>array(69,-62,908,842),49033=>array(69,-61,908,842),49034=>array(69,-69,922,842),49035=>array(69,-74,929,842),49036=>array(69,-69,927,842),49037=>array(69,-68,911,842),49038=>array(69,-72,929,842),49039=>array(69,-70,936,842),49040=>array(69,-66,908,842),49041=>array(69,-59,916,842),49042=>array(69,-60,928,842),49043=>array(69,-68,908,842),49044=>array(58,-69,907,842),49045=>array(64,-61,907,841),49046=>array(64,-61,907,841),49047=>array(64,-71,931,841),49048=>array(64,-46,907,842),49049=>array(64,-68,912,841),49050=>array(64,-76,907,841),49051=>array(64,-44,921,841),49052=>array(64,-62,917,841),49053=>array(64,-64,907,841),49054=>array(64,-64,908,841),49055=>array(64,-64,908,841),49056=>array(64,-69,923,841),49057=>array(64,-64,908,841),49058=>array(64,-64,908,841),49059=>array(64,-76,907,841),49060=>array(64,-62,907,841),49061=>array(64,-61,907,841),49062=>array(64,-69,922,841),49063=>array(64,-74,929,841),49064=>array(64,-69,927,841),49065=>array(64,-68,911,841),49066=>array(64,-72,929,841),49067=>array(64,-70,936,841),49068=>array(64,-66,908,841),49069=>array(64,-59,916,841),49070=>array(64,-60,928,841),49071=>array(64,-68,908,841),49072=>array(60,-13,940,803),49073=>array(79,-61,921,806),49074=>array(79,-61,921,806),49075=>array(79,-71,921,806),49076=>array(79,-46,921,806),49077=>array(79,-68,921,806),49078=>array(79,-74,921,806),49079=>array(79,-44,921,806),49080=>array(79,-62,921,806),49081=>array(79,-64,921,806),49082=>array(79,-64,921,806),49083=>array(79,-63,921,806),49084=>array(79,-68,921,806),49085=>array(79,-64,921,806),49086=>array(79,-63,921,806),49087=>array(79,-74,921,806),49088=>array(79,-62,921,806),49089=>array(79,-61,921,806),49090=>array(79,-69,921,806),49091=>array(79,-74,921,806),49092=>array(79,-69,921,806),49093=>array(79,-68,921,806),49094=>array(79,-72,921,806),49095=>array(79,-70,921,806),49096=>array(79,-66,921,806),49097=>array(79,-59,921,806),49098=>array(79,-60,921,806),49099=>array(79,-68,921,806),49100=>array(79,-64,921,806),49101=>array(79,-61,921,806),49102=>array(79,-61,921,806),49103=>array(79,-71,921,806),49104=>array(79,-46,921,806),49105=>array(79,-68,921,806),49106=>array(79,-74,921,806),49107=>array(79,-44,921,806),49108=>array(79,-62,921,806),49109=>array(79,-64,921,806),49110=>array(79,-64,921,806),49111=>array(79,-63,921,806),49112=>array(79,-68,921,806),49113=>array(79,-64,921,806),49114=>array(79,-63,921,806),49115=>array(79,-74,921,806),49116=>array(79,-62,921,806),49117=>array(79,-61,921,806),49118=>array(79,-69,921,806),49119=>array(79,-74,921,806),49120=>array(79,-69,921,806),49121=>array(79,-68,921,806),49122=>array(79,-72,921,806),49123=>array(79,-70,921,806),49124=>array(79,-66,921,806),49125=>array(79,-59,921,806),49126=>array(79,-60,921,806),49127=>array(79,-68,921,806),49128=>array(72,-70,907,841),49129=>array(67,-61,907,841),49130=>array(67,-61,907,841),49131=>array(67,-71,931,841),49132=>array(65,-46,907,841),49133=>array(67,-68,912,841),49134=>array(67,-76,907,841),49135=>array(67,-44,921,841),49136=>array(67,-62,917,841),49137=>array(67,-64,907,841),49138=>array(67,-64,908,841),49139=>array(67,-64,908,841),49140=>array(67,-69,923,841),49141=>array(67,-64,908,841),49142=>array(67,-64,908,841),49143=>array(67,-76,906,841),49144=>array(67,-62,907,841),49145=>array(67,-61,907,841),49146=>array(67,-69,922,841),49147=>array(67,-74,929,841),49148=>array(67,-69,927,841),49149=>array(67,-68,911,841),49150=>array(67,-72,929,841),49151=>array(67,-70,936,841),49152=>array(67,-66,908,841),49153=>array(67,-59,916,841),49154=>array(67,-60,928,841),49155=>array(67,-68,908,841),49156=>array(51,-68,907,843),49157=>array(67,-61,907,843),49158=>array(67,-61,907,843),49159=>array(67,-71,931,843),49160=>array(68,-46,907,842),49161=>array(67,-68,912,843),49162=>array(67,-76,907,843),49163=>array(67,-44,921,843),49164=>array(67,-62,917,843),49165=>array(67,-64,907,843),49166=>array(67,-64,908,843),49167=>array(67,-64,908,843),49168=>array(67,-69,923,843),49169=>array(67,-64,908,843),49170=>array(67,-64,908,843),49171=>array(67,-76,907,843),49172=>array(67,-62,907,843),49173=>array(67,-61,907,843),49174=>array(67,-69,922,843),49175=>array(67,-74,929,843),49176=>array(67,-69,927,843),49177=>array(67,-68,911,843),49178=>array(67,-72,929,843),49179=>array(67,-70,936,843),49180=>array(67,-66,908,843),49181=>array(67,-59,916,843),49182=>array(67,-60,928,843),49183=>array(67,-68,908,843),49184=>array(64,-69,907,842),49185=>array(65,-61,907,843),49186=>array(65,-61,907,843),49187=>array(65,-71,931,843),49188=>array(66,-46,907,842),49189=>array(65,-68,912,843),49190=>array(65,-76,907,843),49191=>array(65,-44,921,843),49192=>array(65,-62,917,843),49193=>array(65,-64,907,843),49194=>array(65,-64,908,843),49195=>array(65,-64,908,843),49196=>array(65,-69,923,843),49197=>array(65,-64,908,843),49198=>array(65,-64,908,843),49199=>array(65,-76,907,843),49200=>array(65,-62,907,843),49201=>array(65,-61,907,843),49202=>array(65,-69,922,843),49203=>array(65,-74,929,843),49204=>array(65,-69,927,843),49205=>array(65,-68,911,843),49206=>array(65,-72,929,843),49207=>array(65,-70,936,843),49208=>array(65,-66,908,843),49209=>array(65,-59,916,843),49210=>array(65,-60,928,843),49211=>array(65,-68,908,843),49212=>array(79,-64,921,806),49213=>array(79,-61,921,806),49214=>array(79,-61,921,806),49215=>array(79,-71,921,806),49216=>array(81,-46,922,806),49217=>array(79,-68,921,806),49218=>array(79,-74,921,806),49219=>array(79,-44,921,806),49220=>array(79,-62,921,806),49221=>array(79,-64,921,806),49222=>array(79,-64,921,806),49223=>array(79,-63,921,806),49224=>array(79,-68,921,806),49225=>array(79,-64,921,806),49226=>array(79,-63,921,806),49227=>array(79,-74,921,806),49228=>array(79,-62,921,806),49229=>array(79,-61,921,806),49230=>array(79,-69,921,806),49231=>array(79,-74,921,806),49232=>array(79,-69,921,806),49233=>array(79,-68,921,806),49234=>array(79,-72,921,806),49235=>array(79,-70,921,806),49236=>array(79,-66,921,806),49237=>array(79,-59,921,806),49238=>array(79,-60,921,806),49239=>array(79,-68,921,806),49240=>array(57,22,943,746),49241=>array(79,-61,922,811),49242=>array(79,-61,922,811),49243=>array(79,-71,922,811),49244=>array(79,-46,921,806),49245=>array(79,-68,922,811),49246=>array(79,-74,922,811),49247=>array(79,-44,922,811),49248=>array(79,-62,922,811),49249=>array(79,-64,922,811),49250=>array(79,-64,922,811),49251=>array(79,-63,922,811),49252=>array(79,-68,922,811),49253=>array(79,-64,922,811),49254=>array(79,-63,922,811),49255=>array(79,-74,922,811),49256=>array(79,-62,922,811),49257=>array(79,-61,922,811),49258=>array(79,-69,922,811),49259=>array(79,-74,922,811),49260=>array(79,-69,922,811),49261=>array(79,-68,922,811),49262=>array(79,-72,922,811),49263=>array(79,-70,922,811),49264=>array(79,-66,922,811),49265=>array(79,-59,922,811),49266=>array(79,-60,922,811),49267=>array(79,-68,922,811),49268=>array(68,-69,907,842),49269=>array(74,-61,907,841),49270=>array(74,-61,907,841),49271=>array(74,-71,931,841),49272=>array(65,-46,907,842),49273=>array(74,-68,912,841),49274=>array(74,-76,907,841),49275=>array(74,-44,921,841),49276=>array(74,-62,917,841),49277=>array(74,-64,907,841),49278=>array(74,-64,908,841),49279=>array(74,-64,908,841),49280=>array(74,-69,923,841),49281=>array(74,-64,908,841),49282=>array(74,-64,908,841),49283=>array(74,-76,907,841),49284=>array(74,-62,907,841),49285=>array(74,-61,907,841),49286=>array(74,-69,922,841),49287=>array(74,-74,929,841),49288=>array(74,-69,927,841),49289=>array(74,-68,911,841),49290=>array(74,-72,929,841),49291=>array(74,-70,936,841),49292=>array(74,-66,908,841),49293=>array(74,-59,916,841),49294=>array(74,-60,928,841),49295=>array(74,-68,908,841),49296=>array(110,-69,907,842),49297=>array(120,-61,907,842),49298=>array(120,-61,907,842),49299=>array(120,-71,931,842),49300=>array(130,-46,907,842),49301=>array(120,-68,912,842),49302=>array(120,-76,907,842),49303=>array(120,-44,921,842),49304=>array(120,-62,917,842),49305=>array(120,-64,907,842),49306=>array(120,-64,908,842),49307=>array(120,-64,908,842),49308=>array(120,-69,923,842),49309=>array(120,-64,908,842),49310=>array(120,-64,908,842),49311=>array(120,-76,907,842),49312=>array(120,-62,907,842),49313=>array(120,-61,907,842),49314=>array(120,-69,922,842),49315=>array(120,-74,929,842),49316=>array(120,-69,927,842),49317=>array(120,-68,911,842),49318=>array(120,-72,929,842),49319=>array(120,-70,936,842),49320=>array(120,-66,908,842),49321=>array(120,-59,916,842),49322=>array(120,-60,928,842),49323=>array(120,-68,908,842),49324=>array(48,-69,936,842),49325=>array(81,-59,935,842),49326=>array(81,-61,935,842),49327=>array(81,-71,935,842),49328=>array(58,-45,935,841),49329=>array(81,-69,935,842),49330=>array(81,-76,935,842),49331=>array(81,-44,935,842),49332=>array(81,-62,935,842),49333=>array(81,-64,935,842),49334=>array(81,-64,935,842),49335=>array(81,-64,935,842),49336=>array(81,-70,935,842),49337=>array(81,-64,935,842),49338=>array(81,-64,935,842),49339=>array(81,-76,935,842),49340=>array(81,-62,935,842),49341=>array(81,-61,935,842),49342=>array(81,-70,935,842),49343=>array(81,-74,935,842),49344=>array(81,-69,935,842),49345=>array(81,-67,935,842),49346=>array(81,-72,935,842),49347=>array(81,-71,935,842),49348=>array(81,-66,935,842),49349=>array(81,-59,935,842),49350=>array(81,-60,935,842),49351=>array(81,-69,935,842),49352=>array(43,-69,907,842),49353=>array(75,-61,907,842),49354=>array(75,-61,907,842),49355=>array(75,-71,931,842),49356=>array(62,-46,908,842),49357=>array(75,-68,912,842),49358=>array(75,-76,907,842),49359=>array(75,-44,921,842),49360=>array(75,-62,917,842),49361=>array(75,-64,907,842),49362=>array(75,-64,908,842),49363=>array(75,-64,908,842),49364=>array(75,-69,923,842),49365=>array(75,-64,908,842),49366=>array(75,-64,908,842),49367=>array(75,-76,906,842),49368=>array(75,-62,907,842),49369=>array(75,-61,907,842),49370=>array(75,-69,922,842),49371=>array(75,-74,929,842),49372=>array(75,-69,927,842),49373=>array(75,-68,911,842),49374=>array(75,-72,929,842),49375=>array(75,-70,936,842),49376=>array(75,-66,908,842),49377=>array(75,-59,916,842),49378=>array(75,-60,928,842),49379=>array(75,-68,908,842),49380=>array(48,-68,935,843),49381=>array(81,-59,936,842),49382=>array(81,-61,936,842),49383=>array(81,-71,936,842),49384=>array(62,-45,936,842),49385=>array(81,-69,936,842),49386=>array(81,-76,936,842),49387=>array(81,-44,936,842),49388=>array(81,-62,936,842),49389=>array(81,-64,936,842),49390=>array(81,-64,936,842),49391=>array(81,-64,936,842),49392=>array(81,-70,936,842),49393=>array(81,-64,936,842),49394=>array(81,-64,936,842),49395=>array(81,-76,936,842),49396=>array(81,-62,936,842),49397=>array(81,-61,936,842),49398=>array(81,-70,936,842),49399=>array(81,-74,936,842),49400=>array(81,-69,936,842),49401=>array(81,-67,936,842),49402=>array(81,-72,936,842),49403=>array(81,-71,936,842),49404=>array(81,-66,936,842),49405=>array(81,-59,936,842),49406=>array(81,-60,936,842),49407=>array(81,-69,936,842),49408=>array(43,-69,907,842),49409=>array(75,-61,907,842),49410=>array(75,-61,907,842),49411=>array(75,-71,931,842),49412=>array(62,-46,908,842),49413=>array(75,-68,912,842),49414=>array(75,-76,907,842),49415=>array(75,-44,921,842),49416=>array(75,-62,917,842),49417=>array(75,-64,907,842),49418=>array(75,-64,908,842),49419=>array(75,-64,908,842),49420=>array(75,-69,923,842),49421=>array(75,-64,908,842),49422=>array(75,-64,908,842),49423=>array(75,-76,906,842),49424=>array(75,-62,907,842),49425=>array(75,-61,907,842),49426=>array(75,-69,922,842),49427=>array(75,-74,929,842),49428=>array(75,-69,927,842),49429=>array(75,-68,911,842),49430=>array(75,-72,929,842),49431=>array(75,-70,936,842),49432=>array(75,-66,908,842),49433=>array(75,-59,916,842),49434=>array(75,-60,928,842),49435=>array(75,-68,908,842),49436=>array(59,-70,907,841),49437=>array(81,-61,907,841),49438=>array(81,-61,907,841),49439=>array(81,-71,931,841),49440=>array(62,-46,907,841),49441=>array(81,-68,912,841),49442=>array(81,-76,907,841),49443=>array(81,-44,921,841),49444=>array(81,-62,917,841),49445=>array(81,-64,907,841),49446=>array(81,-64,908,841),49447=>array(81,-64,908,841),49448=>array(81,-69,923,841),49449=>array(81,-64,908,841),49450=>array(81,-64,908,841),49451=>array(81,-76,906,841),49452=>array(81,-62,907,841),49453=>array(81,-61,907,841),49454=>array(81,-69,922,841),49455=>array(81,-74,929,841),49456=>array(81,-69,927,841),49457=>array(81,-68,911,841),49458=>array(81,-72,929,841),49459=>array(81,-70,936,841),49460=>array(81,-66,908,841),49461=>array(81,-59,916,841),49462=>array(81,-60,928,841),49463=>array(81,-68,908,841),49464=>array(46,-68,907,843),49465=>array(75,-61,907,843),49466=>array(75,-61,907,843),49467=>array(75,-71,931,843),49468=>array(58,-46,908,842),49469=>array(75,-68,912,843),49470=>array(75,-76,907,843),49471=>array(75,-44,921,843),49472=>array(75,-62,917,843),49473=>array(75,-64,907,843),49474=>array(75,-64,908,843),49475=>array(75,-64,908,843),49476=>array(75,-69,923,843),49477=>array(75,-64,908,843),49478=>array(75,-64,908,843),49479=>array(75,-76,906,843),49480=>array(75,-62,907,843),49481=>array(75,-61,907,843),49482=>array(75,-69,922,843),49483=>array(75,-74,929,843),49484=>array(75,-69,927,843),49485=>array(75,-68,911,843),49486=>array(75,-72,929,843),49487=>array(75,-70,936,843),49488=>array(75,-66,908,843),49489=>array(75,-59,916,843),49490=>array(75,-60,928,843),49491=>array(75,-68,908,843),49492=>array(46,-70,907,842),49493=>array(81,-61,908,842),49494=>array(81,-61,908,842),49495=>array(81,-71,931,842),49496=>array(58,-46,907,841),49497=>array(81,-68,912,842),49498=>array(81,-76,908,842),49499=>array(81,-44,921,842),49500=>array(81,-62,917,842),49501=>array(81,-64,908,842),49502=>array(81,-64,908,842),49503=>array(81,-64,908,842),49504=>array(81,-69,923,842),49505=>array(81,-64,908,842),49506=>array(81,-64,908,842),49507=>array(81,-76,908,842),49508=>array(81,-62,908,842),49509=>array(81,-61,908,842),49510=>array(81,-69,922,842),49511=>array(81,-74,929,842),49512=>array(81,-69,927,842),49513=>array(81,-68,911,842),49514=>array(81,-72,929,842),49515=>array(81,-70,936,842),49516=>array(81,-66,908,842),49517=>array(81,-59,916,842),49518=>array(81,-60,928,842),49519=>array(81,-68,908,842),49520=>array(46,-68,907,843),49521=>array(45,-61,907,842),49522=>array(45,-61,907,842),49523=>array(45,-71,931,842),49524=>array(47,-46,907,842),49525=>array(45,-68,912,842),49526=>array(45,-76,907,842),49527=>array(45,-44,921,842),49528=>array(45,-62,917,842),49529=>array(45,-64,907,842),49530=>array(45,-64,908,842),49531=>array(45,-64,908,842),49532=>array(45,-69,923,842),49533=>array(45,-64,908,842),49534=>array(45,-64,908,842),49535=>array(45,-76,907,842),49536=>array(45,-62,907,842),49537=>array(45,-61,907,842),49538=>array(45,-69,922,842),49539=>array(45,-74,929,842),49540=>array(45,-69,927,842),49541=>array(45,-68,911,842),49542=>array(45,-72,929,842),49543=>array(45,-70,936,842),49544=>array(45,-66,908,842),49545=>array(45,-59,916,842),49546=>array(45,-60,928,842),49547=>array(45,-68,908,842),49548=>array(62,7,943,771),49549=>array(79,-61,921,822),49550=>array(79,-61,921,822),49551=>array(79,-71,921,822),49552=>array(79,-46,921,822),49553=>array(79,-68,921,822),49554=>array(79,-74,921,822),49555=>array(79,-44,921,822),49556=>array(79,-62,921,822),49557=>array(79,-64,921,822),49558=>array(79,-64,921,822),49559=>array(79,-63,921,822),49560=>array(79,-68,921,822),49561=>array(79,-64,921,822),49562=>array(79,-63,921,822),49563=>array(79,-74,921,822),49564=>array(79,-62,921,822),49565=>array(79,-61,921,822),49566=>array(79,-69,921,822),49567=>array(79,-74,921,822),49568=>array(79,-69,921,822),49569=>array(79,-68,921,822),49570=>array(79,-72,921,822),49571=>array(79,-70,921,822),49572=>array(79,-66,921,822),49573=>array(79,-59,921,822),49574=>array(79,-60,921,822),49575=>array(79,-68,921,822),49576=>array(60,-69,937,842),49577=>array(77,-59,936,842),49578=>array(77,-61,936,842),49579=>array(77,-71,936,842),49580=>array(72,-45,937,842),49581=>array(77,-69,936,842),49582=>array(77,-76,936,842),49583=>array(77,-44,936,842),49584=>array(77,-62,936,842),49585=>array(77,-64,936,842),49586=>array(77,-64,936,842),49587=>array(77,-64,936,842),49588=>array(77,-70,936,842),49589=>array(77,-64,936,842),49590=>array(77,-64,936,842),49591=>array(77,-76,936,842),49592=>array(77,-62,936,842),49593=>array(77,-61,936,842),49594=>array(77,-70,936,842),49595=>array(77,-74,936,842),49596=>array(77,-69,936,842),49597=>array(77,-67,936,842),49598=>array(77,-72,936,842),49599=>array(77,-71,936,842),49600=>array(77,-66,936,842),49601=>array(77,-59,936,842),49602=>array(77,-60,936,842),49603=>array(77,-69,936,842),49604=>array(54,-69,907,842),49605=>array(67,-61,907,842),49606=>array(67,-61,907,842),49607=>array(67,-71,931,842),49608=>array(57,-46,908,842),49609=>array(67,-68,912,842),49610=>array(67,-76,907,842),49611=>array(67,-44,921,842),49612=>array(67,-62,917,842),49613=>array(67,-64,907,842),49614=>array(67,-64,908,842),49615=>array(67,-64,908,842),49616=>array(67,-69,923,842),49617=>array(67,-64,908,842),49618=>array(67,-64,908,842),49619=>array(67,-76,907,842),49620=>array(67,-62,907,842),49621=>array(67,-61,907,842),49622=>array(67,-69,922,842),49623=>array(67,-74,929,842),49624=>array(67,-69,927,842),49625=>array(67,-68,911,842),49626=>array(67,-72,929,842),49627=>array(67,-70,936,842),49628=>array(67,-66,908,842),49629=>array(67,-59,916,842),49630=>array(67,-60,928,842),49631=>array(67,-68,908,842),49632=>array(52,-69,907,842),49633=>array(65,-61,908,842),49634=>array(65,-61,908,842),49635=>array(65,-71,931,842),49636=>array(64,-46,907,842),49637=>array(65,-68,912,842),49638=>array(65,-76,908,842),49639=>array(65,-44,921,842),49640=>array(65,-62,917,842),49641=>array(65,-64,908,842),49642=>array(65,-64,908,842),49643=>array(65,-64,908,842),49644=>array(65,-69,923,842),49645=>array(65,-64,908,842),49646=>array(65,-64,908,842),49647=>array(65,-76,908,842),49648=>array(65,-62,908,842),49649=>array(65,-61,908,842),49650=>array(65,-69,922,842),49651=>array(65,-74,929,842),49652=>array(65,-69,927,842),49653=>array(65,-68,911,842),49654=>array(65,-72,929,842),49655=>array(65,-70,936,842),49656=>array(65,-66,908,842),49657=>array(65,-59,916,842),49658=>array(65,-60,928,842),49659=>array(65,-68,908,842),49660=>array(62,7,938,771),49661=>array(79,-61,922,822),49662=>array(79,-61,922,822),49663=>array(79,-71,922,822),49664=>array(79,-46,922,822),49665=>array(79,-68,922,822),49666=>array(79,-74,922,822),49667=>array(79,-44,922,822),49668=>array(79,-62,922,822),49669=>array(79,-64,922,822),49670=>array(79,-64,922,822),49671=>array(79,-63,922,822),49672=>array(79,-68,922,822),49673=>array(79,-64,922,822),49674=>array(79,-63,922,822),49675=>array(79,-74,922,822),49676=>array(79,-62,922,822),49677=>array(79,-61,922,822),49678=>array(79,-69,922,822),49679=>array(79,-74,922,822),49680=>array(79,-69,922,822),49681=>array(79,-68,922,822),49682=>array(79,-72,922,822),49683=>array(79,-70,922,822),49684=>array(79,-66,922,822),49685=>array(79,-59,922,822),49686=>array(79,-60,922,822),49687=>array(79,-68,922,822),49688=>array(79,-64,921,831),49689=>array(79,-61,921,822),49690=>array(79,-61,921,822),49691=>array(79,-71,921,822),49692=>array(79,-46,921,822),49693=>array(79,-68,921,822),49694=>array(79,-74,921,822),49695=>array(79,-44,921,822),49696=>array(79,-62,921,822),49697=>array(79,-64,921,822),49698=>array(79,-64,921,822),49699=>array(79,-63,921,822),49700=>array(79,-68,921,822),49701=>array(79,-64,921,822),49702=>array(79,-63,921,822),49703=>array(79,-74,921,822),49704=>array(79,-62,921,822),49705=>array(79,-61,921,822),49706=>array(79,-69,921,822),49707=>array(79,-74,921,822),49708=>array(79,-69,921,822),49709=>array(79,-68,921,822),49710=>array(79,-72,921,822),49711=>array(79,-70,921,822),49712=>array(79,-66,921,822),49713=>array(79,-59,921,822),49714=>array(79,-60,921,822),49715=>array(79,-68,921,822),49716=>array(69,-70,907,841),49717=>array(73,-61,907,841),49718=>array(73,-61,907,841),49719=>array(73,-71,931,841),49720=>array(76,-46,907,841),49721=>array(73,-68,912,841),49722=>array(73,-76,907,841),49723=>array(73,-44,921,841),49724=>array(73,-62,917,841),49725=>array(73,-64,907,841),49726=>array(73,-64,908,841),49727=>array(73,-64,908,841),49728=>array(73,-69,923,841),49729=>array(73,-64,908,841),49730=>array(73,-64,908,841),49731=>array(73,-76,906,841),49732=>array(73,-62,907,841),49733=>array(73,-61,907,841),49734=>array(73,-69,922,841),49735=>array(73,-74,929,841),49736=>array(73,-69,927,841),49737=>array(73,-68,911,841),49738=>array(73,-72,929,841),49739=>array(73,-70,936,841),49740=>array(73,-66,908,841),49741=>array(73,-59,916,841),49742=>array(73,-60,928,841),49743=>array(73,-68,908,841),49744=>array(63,-68,907,843),49745=>array(70,-61,907,843),49746=>array(70,-61,907,843),49747=>array(70,-71,931,843),49748=>array(62,-46,907,843),49749=>array(70,-68,912,843),49750=>array(70,-76,907,843),49751=>array(70,-44,921,843),49752=>array(70,-62,917,843),49753=>array(70,-64,907,843),49754=>array(70,-64,908,843),49755=>array(70,-64,908,843),49756=>array(70,-69,923,843),49757=>array(70,-64,908,843),49758=>array(70,-64,908,843),49759=>array(70,-76,907,843),49760=>array(70,-62,907,843),49761=>array(70,-61,907,843),49762=>array(70,-69,922,843),49763=>array(70,-74,929,843),49764=>array(70,-69,927,843),49765=>array(70,-68,911,843),49766=>array(70,-72,929,843),49767=>array(70,-70,936,843),49768=>array(70,-66,908,843),49769=>array(70,-59,916,843),49770=>array(70,-60,928,843),49771=>array(70,-68,908,843),49772=>array(63,-69,907,842),49773=>array(65,-61,907,840),49774=>array(65,-61,907,840),49775=>array(65,-71,931,840),49776=>array(65,-46,907,843),49777=>array(65,-68,912,840),49778=>array(65,-76,907,840),49779=>array(65,-44,921,840),49780=>array(65,-62,917,840),49781=>array(65,-64,907,840),49782=>array(65,-64,908,840),49783=>array(65,-64,908,840),49784=>array(65,-69,923,840),49785=>array(65,-64,908,840),49786=>array(65,-64,908,840),49787=>array(65,-76,907,840),49788=>array(65,-62,907,840),49789=>array(65,-61,907,840),49790=>array(65,-69,922,840),49791=>array(65,-74,929,840),49792=>array(65,-69,927,840),49793=>array(65,-68,911,840),49794=>array(65,-72,929,840),49795=>array(65,-70,936,840),49796=>array(65,-66,908,840),49797=>array(65,-59,916,840),49798=>array(65,-60,928,840),49799=>array(65,-68,908,840),49800=>array(87,-64,928,831),49801=>array(79,-61,921,822),49802=>array(79,-61,921,822),49803=>array(79,-71,921,822),49804=>array(81,-46,922,822),49805=>array(79,-68,921,822),49806=>array(79,-74,921,822),49807=>array(79,-44,921,822),49808=>array(79,-62,921,822),49809=>array(79,-64,921,822),49810=>array(79,-64,921,822),49811=>array(79,-63,921,822),49812=>array(79,-68,921,822),49813=>array(79,-64,921,822),49814=>array(79,-63,921,822),49815=>array(79,-74,921,822),49816=>array(79,-62,921,822),49817=>array(79,-61,921,822),49818=>array(79,-69,921,822),49819=>array(79,-74,921,822),49820=>array(79,-69,921,822),49821=>array(79,-68,921,822),49822=>array(79,-72,921,822),49823=>array(79,-70,921,822),49824=>array(79,-66,921,822),49825=>array(79,-59,921,822),49826=>array(79,-60,921,822),49827=>array(79,-68,921,822),49828=>array(57,52,943,741),49829=>array(79,-61,922,802),49830=>array(79,-61,922,802),49831=>array(79,-71,922,802),49832=>array(79,-46,922,802),49833=>array(79,-68,922,802),49834=>array(79,-74,922,802),49835=>array(79,-44,922,802),49836=>array(79,-62,922,802),49837=>array(79,-64,922,802),49838=>array(79,-64,922,802),49839=>array(79,-63,922,802),49840=>array(79,-68,922,802),49841=>array(79,-64,922,802),49842=>array(79,-63,922,802),49843=>array(79,-74,922,802),49844=>array(79,-62,922,802),49845=>array(79,-61,922,802),49846=>array(79,-69,922,802),49847=>array(79,-74,922,802),49848=>array(79,-69,922,802),49849=>array(79,-68,922,802),49850=>array(79,-72,922,802),49851=>array(79,-70,922,802),49852=>array(79,-66,922,802),49853=>array(79,-59,922,802),49854=>array(79,-60,922,802),49855=>array(79,-68,922,802),49856=>array(78,-69,907,842),49857=>array(65,-61,907,842),49858=>array(65,-61,907,842),49859=>array(65,-71,931,842),49860=>array(65,-46,907,842),49861=>array(65,-68,912,842),49862=>array(65,-76,907,842),49863=>array(65,-44,921,842),49864=>array(65,-62,917,842),49865=>array(65,-64,907,842),49866=>array(65,-64,908,842),49867=>array(65,-64,908,842),49868=>array(65,-69,923,842),49869=>array(65,-64,908,842),49870=>array(65,-64,908,842),49871=>array(65,-76,907,842),49872=>array(65,-62,907,842),49873=>array(65,-61,907,842),49874=>array(65,-69,922,842),49875=>array(65,-74,929,842),49876=>array(65,-69,927,842),49877=>array(65,-68,911,842),49878=>array(65,-72,929,842),49879=>array(65,-70,936,842),49880=>array(65,-66,908,842),49881=>array(65,-59,916,842),49882=>array(65,-60,928,842),49883=>array(65,-68,908,842),49884=>array(90,-69,907,842),49885=>array(106,-61,907,842),49886=>array(106,-61,907,842),49887=>array(106,-71,931,842),49888=>array(104,-46,907,842),49889=>array(106,-68,912,842),49890=>array(106,-76,907,842),49891=>array(106,-44,921,842),49892=>array(106,-62,917,842),49893=>array(106,-64,907,842),49894=>array(106,-64,908,842),49895=>array(106,-64,908,842),49896=>array(106,-69,923,842),49897=>array(106,-64,908,842),49898=>array(106,-64,908,842),49899=>array(106,-76,907,842),49900=>array(106,-62,907,842),49901=>array(106,-61,907,842),49902=>array(106,-69,922,842),49903=>array(106,-74,929,842),49904=>array(106,-69,927,842),49905=>array(106,-68,911,842),49906=>array(106,-72,929,842),49907=>array(106,-70,936,842),49908=>array(106,-66,908,842),49909=>array(106,-59,916,842),49910=>array(106,-60,928,842),49911=>array(106,-68,908,842),49912=>array(20,-69,937,842),49913=>array(62,-59,936,842),49914=>array(62,-61,936,842),49915=>array(62,-71,936,842),49916=>array(72,-45,936,842),49917=>array(62,-69,936,842),49918=>array(62,-76,936,842),49919=>array(62,-44,936,842),49920=>array(62,-62,936,842),49921=>array(62,-64,936,842),49922=>array(62,-64,936,842),49923=>array(62,-64,936,842),49924=>array(62,-70,936,842),49925=>array(62,-64,936,842),49926=>array(62,-64,936,842),49927=>array(62,-76,936,842),49928=>array(62,-62,936,842),49929=>array(62,-61,936,842),49930=>array(62,-70,936,842),49931=>array(62,-74,936,842),49932=>array(62,-69,936,842),49933=>array(62,-67,936,842),49934=>array(62,-72,936,842),49935=>array(62,-71,936,842),49936=>array(62,-66,936,842),49937=>array(62,-59,936,842),49938=>array(62,-60,936,842),49939=>array(62,-69,936,842),49940=>array(21,-69,907,842),49941=>array(55,-61,907,842),49942=>array(55,-61,907,842),49943=>array(55,-71,931,842),49944=>array(52,-46,907,842),49945=>array(55,-68,912,842),49946=>array(55,-76,907,842),49947=>array(55,-44,921,842),49948=>array(55,-62,917,842),49949=>array(55,-64,907,842),49950=>array(55,-64,908,842),49951=>array(55,-64,908,842),49952=>array(55,-69,923,842),49953=>array(55,-64,908,842),49954=>array(55,-64,908,842),49955=>array(55,-76,907,842),49956=>array(55,-62,907,842),49957=>array(55,-61,907,842),49958=>array(55,-69,922,842),49959=>array(55,-74,929,842),49960=>array(55,-69,927,842),49961=>array(55,-68,911,842),49962=>array(55,-72,929,842),49963=>array(55,-70,936,842),49964=>array(55,-66,908,842),49965=>array(55,-59,916,842),49966=>array(55,-60,928,842),49967=>array(55,-68,908,842),49968=>array(20,-68,935,843),49969=>array(62,-59,936,842),49970=>array(62,-61,936,842),49971=>array(62,-71,936,842),49972=>array(72,-45,936,842),49973=>array(62,-69,936,842),49974=>array(62,-76,936,842),49975=>array(62,-44,936,842),49976=>array(62,-62,936,842),49977=>array(62,-64,936,842),49978=>array(62,-64,936,842),49979=>array(62,-64,936,842),49980=>array(62,-70,936,842),49981=>array(62,-64,936,842),49982=>array(62,-64,936,842),49983=>array(62,-76,936,842),49984=>array(62,-62,936,842),49985=>array(62,-61,936,842),49986=>array(62,-70,936,842),49987=>array(62,-74,936,842),49988=>array(62,-69,936,842),49989=>array(62,-67,936,842),49990=>array(62,-72,936,842),49991=>array(62,-71,936,842),49992=>array(62,-66,936,842),49993=>array(62,-59,936,842),49994=>array(62,-60,936,842),49995=>array(62,-69,936,842),49996=>array(21,-69,907,842),49997=>array(60,-61,907,842),49998=>array(60,-61,907,842),49999=>array(60,-71,931,842),50000=>array(52,-46,907,842),50001=>array(60,-68,912,842),50002=>array(60,-76,907,842),50003=>array(60,-44,921,842),50004=>array(60,-62,917,842),50005=>array(60,-64,907,842),50006=>array(60,-64,908,842),50007=>array(60,-64,908,842),50008=>array(60,-69,923,842),50009=>array(60,-64,908,842),50010=>array(60,-64,908,842),50011=>array(60,-76,907,842),50012=>array(60,-62,907,842),50013=>array(60,-61,907,842),50014=>array(60,-69,922,842),50015=>array(60,-74,929,842),50016=>array(60,-69,927,842),50017=>array(60,-68,911,842),50018=>array(60,-72,929,842),50019=>array(60,-70,936,842),50020=>array(60,-66,908,842),50021=>array(60,-59,916,842),50022=>array(60,-60,928,842),50023=>array(60,-68,908,842),50024=>array(20,-70,907,841),50025=>array(72,-61,907,841),50026=>array(72,-61,907,841),50027=>array(72,-71,931,841),50028=>array(72,-46,907,841),50029=>array(72,-68,912,841),50030=>array(72,-76,907,841),50031=>array(72,-44,921,841),50032=>array(72,-62,917,841),50033=>array(72,-64,907,841),50034=>array(72,-64,908,841),50035=>array(72,-64,908,841),50036=>array(72,-69,923,841),50037=>array(72,-64,908,841),50038=>array(72,-64,908,841),50039=>array(72,-76,906,841),50040=>array(72,-62,907,841),50041=>array(72,-61,907,841),50042=>array(72,-69,922,841),50043=>array(72,-74,929,841),50044=>array(72,-69,927,841),50045=>array(72,-68,911,841),50046=>array(72,-72,929,841),50047=>array(72,-70,936,841),50048=>array(72,-66,908,841),50049=>array(72,-59,916,841),50050=>array(72,-60,928,841),50051=>array(72,-68,908,841),50052=>array(20,-68,907,843),50053=>array(50,-61,907,843),50054=>array(50,-61,907,843),50055=>array(50,-71,931,843),50056=>array(52,-46,907,843),50057=>array(50,-68,912,843),50058=>array(50,-76,907,843),50059=>array(50,-44,921,843),50060=>array(50,-62,917,843),50061=>array(50,-64,907,843),50062=>array(50,-64,908,843),50063=>array(50,-64,908,843),50064=>array(50,-69,923,843),50065=>array(50,-64,908,843),50066=>array(50,-64,908,843),50067=>array(50,-76,907,843),50068=>array(50,-62,907,843),50069=>array(50,-61,907,843),50070=>array(50,-69,922,843),50071=>array(50,-74,929,843),50072=>array(50,-69,927,843),50073=>array(50,-68,911,843),50074=>array(50,-72,929,843),50075=>array(50,-70,936,843),50076=>array(50,-66,908,843),50077=>array(50,-59,916,843),50078=>array(50,-60,928,843),50079=>array(50,-68,908,843),50080=>array(20,-70,907,842),50081=>array(52,-61,908,842),50082=>array(52,-61,908,842),50083=>array(52,-71,931,842),50084=>array(52,-46,907,842),50085=>array(52,-68,912,842),50086=>array(52,-76,908,842),50087=>array(52,-44,921,842),50088=>array(52,-62,917,842),50089=>array(52,-64,908,842),50090=>array(52,-64,908,842),50091=>array(52,-64,908,842),50092=>array(52,-69,923,842),50093=>array(52,-64,908,842),50094=>array(52,-64,908,842),50095=>array(52,-76,908,842),50096=>array(52,-62,908,842),50097=>array(52,-61,908,842),50098=>array(52,-69,922,842),50099=>array(52,-74,929,842),50100=>array(52,-69,927,842),50101=>array(52,-68,911,842),50102=>array(52,-72,929,842),50103=>array(52,-70,936,842),50104=>array(52,-66,908,842),50105=>array(52,-59,916,842),50106=>array(52,-60,928,842),50107=>array(52,-68,908,842),50108=>array(20,-68,907,843),50109=>array(50,-61,907,843),50110=>array(50,-61,907,843),50111=>array(50,-71,931,843),50112=>array(40,-46,907,843),50113=>array(50,-68,912,843),50114=>array(50,-76,907,843),50115=>array(50,-44,921,843),50116=>array(50,-62,917,843),50117=>array(50,-64,907,843),50118=>array(50,-64,908,843),50119=>array(50,-64,908,843),50120=>array(50,-69,923,843),50121=>array(50,-64,908,843),50122=>array(50,-64,908,843),50123=>array(50,-76,907,843),50124=>array(50,-62,907,843),50125=>array(50,-61,907,843),50126=>array(50,-69,922,843),50127=>array(50,-74,929,843),50128=>array(50,-69,927,843),50129=>array(50,-68,911,843),50130=>array(50,-72,929,843),50131=>array(50,-70,936,843),50132=>array(50,-66,908,843),50133=>array(50,-59,916,843),50134=>array(50,-60,928,843),50135=>array(50,-68,908,843),50136=>array(62,12,943,774),50137=>array(79,-61,921,788),50138=>array(79,-61,921,788),50139=>array(79,-71,921,788),50140=>array(79,-46,922,788),50141=>array(79,-68,921,788),50142=>array(79,-74,921,788),50143=>array(79,-44,921,788),50144=>array(79,-62,921,788),50145=>array(79,-64,921,788),50146=>array(79,-64,921,788),50147=>array(79,-63,921,788),50148=>array(79,-68,921,788),50149=>array(79,-64,921,788),50150=>array(79,-63,921,788),50151=>array(79,-74,921,788),50152=>array(79,-62,921,788),50153=>array(79,-61,921,788),50154=>array(79,-69,921,788),50155=>array(79,-74,921,788),50156=>array(79,-69,921,788),50157=>array(79,-68,921,788),50158=>array(79,-72,921,788),50159=>array(79,-70,921,788),50160=>array(79,-66,921,788),50161=>array(79,-59,921,788),50162=>array(79,-60,921,788),50163=>array(79,-68,921,788),50164=>array(41,-68,936,843),50165=>array(55,-59,936,842),50166=>array(55,-61,936,842),50167=>array(55,-71,936,842),50168=>array(64,-45,936,842),50169=>array(55,-69,936,842),50170=>array(55,-76,936,842),50171=>array(55,-44,936,842),50172=>array(55,-62,936,842),50173=>array(55,-64,936,842),50174=>array(55,-64,936,842),50175=>array(55,-64,936,842),50176=>array(55,-70,936,842),50177=>array(55,-64,936,842),50178=>array(55,-64,936,842),50179=>array(55,-76,936,842),50180=>array(55,-62,936,842),50181=>array(55,-61,936,842),50182=>array(55,-70,936,842),50183=>array(55,-74,936,842),50184=>array(55,-69,936,842),50185=>array(55,-67,936,842),50186=>array(55,-72,936,842),50187=>array(55,-71,936,842),50188=>array(55,-66,936,842),50189=>array(55,-59,936,842),50190=>array(55,-60,936,842),50191=>array(55,-69,936,842),50192=>array(38,-69,907,842),50193=>array(63,-61,907,842),50194=>array(63,-61,907,842),50195=>array(63,-71,931,842),50196=>array(48,-46,907,842),50197=>array(63,-68,912,842),50198=>array(63,-76,907,842),50199=>array(63,-44,921,842),50200=>array(63,-62,917,842),50201=>array(63,-64,907,842),50202=>array(63,-64,908,842),50203=>array(63,-64,908,842),50204=>array(63,-69,923,842),50205=>array(63,-64,908,842),50206=>array(63,-64,908,842),50207=>array(63,-76,907,842),50208=>array(63,-62,907,842),50209=>array(63,-61,907,842),50210=>array(63,-69,922,842),50211=>array(63,-74,929,842),50212=>array(63,-69,927,842),50213=>array(63,-68,911,842),50214=>array(63,-72,929,842),50215=>array(63,-70,936,842),50216=>array(63,-66,908,842),50217=>array(63,-59,916,842),50218=>array(63,-60,928,842),50219=>array(63,-68,908,842),50220=>array(68,-69,907,842),50221=>array(65,-61,907,842),50222=>array(65,-61,907,842),50223=>array(65,-71,931,842),50224=>array(65,-46,907,842),50225=>array(65,-68,912,842),50226=>array(65,-76,907,842),50227=>array(65,-44,921,842),50228=>array(65,-62,917,842),50229=>array(65,-64,907,842),50230=>array(65,-64,908,842),50231=>array(65,-64,908,842),50232=>array(65,-69,923,842),50233=>array(65,-64,908,842),50234=>array(65,-64,908,842),50235=>array(65,-76,907,842),50236=>array(65,-62,907,842),50237=>array(65,-61,907,842),50238=>array(65,-69,922,842),50239=>array(65,-74,929,842),50240=>array(65,-69,927,842),50241=>array(65,-68,911,842),50242=>array(65,-72,929,842),50243=>array(65,-70,936,842),50244=>array(65,-66,908,842),50245=>array(65,-59,916,842),50246=>array(65,-60,928,842),50247=>array(65,-68,908,842),50248=>array(62,12,943,774),50249=>array(79,-61,922,788),50250=>array(79,-61,922,788),50251=>array(79,-71,922,788),50252=>array(79,-46,922,788),50253=>array(79,-68,922,788),50254=>array(79,-74,922,788),50255=>array(79,-44,922,788),50256=>array(79,-62,922,788),50257=>array(79,-64,922,788),50258=>array(79,-64,922,788),50259=>array(79,-63,922,788),50260=>array(79,-68,922,788),50261=>array(79,-64,922,788),50262=>array(79,-63,922,788),50263=>array(79,-74,922,788),50264=>array(79,-62,922,788),50265=>array(79,-61,922,788),50266=>array(79,-69,922,788),50267=>array(79,-74,922,788),50268=>array(79,-69,922,788),50269=>array(79,-68,922,788),50270=>array(79,-72,922,788),50271=>array(79,-70,922,788),50272=>array(79,-66,922,788),50273=>array(79,-59,922,788),50274=>array(79,-60,922,788),50275=>array(79,-68,922,788),50276=>array(82,-64,924,822),50277=>array(79,-61,921,788),50278=>array(79,-61,921,788),50279=>array(79,-71,921,788),50280=>array(79,-46,921,788),50281=>array(79,-68,921,788),50282=>array(79,-74,921,788),50283=>array(79,-44,921,788),50284=>array(79,-62,921,788),50285=>array(79,-64,921,788),50286=>array(79,-64,921,788),50287=>array(79,-63,921,788),50288=>array(79,-68,921,788),50289=>array(79,-64,921,788),50290=>array(79,-63,921,788),50291=>array(79,-74,921,788),50292=>array(79,-62,921,788),50293=>array(79,-61,921,788),50294=>array(79,-69,921,788),50295=>array(79,-74,921,788),50296=>array(79,-69,921,788),50297=>array(79,-68,921,788),50298=>array(79,-72,921,788),50299=>array(79,-70,921,788),50300=>array(79,-66,921,788),50301=>array(79,-59,921,788),50302=>array(79,-60,921,788),50303=>array(79,-68,921,788),50304=>array(81,-70,907,841),50305=>array(74,-61,908,841),50306=>array(74,-61,908,841),50307=>array(74,-71,931,841),50308=>array(66,-46,908,842),50309=>array(74,-68,912,841),50310=>array(74,-76,908,841),50311=>array(74,-44,921,841),50312=>array(74,-62,917,841),50313=>array(74,-64,908,841),50314=>array(74,-64,908,841),50315=>array(74,-64,908,841),50316=>array(74,-69,923,841),50317=>array(74,-64,908,841),50318=>array(74,-64,908,841),50319=>array(74,-76,908,841),50320=>array(74,-62,908,841),50321=>array(74,-61,908,841),50322=>array(74,-69,922,841),50323=>array(74,-74,929,841),50324=>array(74,-69,927,841),50325=>array(74,-68,911,841),50326=>array(74,-72,929,841),50327=>array(74,-70,936,841),50328=>array(74,-66,908,841),50329=>array(74,-59,916,841),50330=>array(74,-60,928,841),50331=>array(74,-68,908,841),50332=>array(51,-68,907,843),50333=>array(64,-61,907,843),50334=>array(64,-61,907,843),50335=>array(64,-71,931,843),50336=>array(64,-46,907,843),50337=>array(64,-68,912,843),50338=>array(64,-76,907,843),50339=>array(64,-44,921,843),50340=>array(64,-62,917,843),50341=>array(64,-64,907,843),50342=>array(64,-64,908,843),50343=>array(64,-64,908,843),50344=>array(64,-69,923,843),50345=>array(64,-64,908,843),50346=>array(64,-64,908,843),50347=>array(64,-76,907,843),50348=>array(64,-62,907,843),50349=>array(64,-61,907,843),50350=>array(64,-69,922,843),50351=>array(64,-74,929,843),50352=>array(64,-69,927,843),50353=>array(64,-68,911,843),50354=>array(64,-72,929,843),50355=>array(64,-70,936,843),50356=>array(64,-66,908,843),50357=>array(64,-59,916,843),50358=>array(64,-60,928,843),50359=>array(64,-68,908,843),50360=>array(60,-69,907,842),50361=>array(65,-61,907,842),50362=>array(65,-61,907,842),50363=>array(65,-71,931,842),50364=>array(65,-46,907,842),50365=>array(65,-68,912,842),50366=>array(65,-76,907,842),50367=>array(65,-44,921,842),50368=>array(65,-62,917,842),50369=>array(65,-64,907,842),50370=>array(65,-64,908,842),50371=>array(65,-64,908,842),50372=>array(65,-69,923,842),50373=>array(65,-64,908,842),50374=>array(65,-64,908,842),50375=>array(65,-76,907,842),50376=>array(65,-62,907,842),50377=>array(65,-61,907,842),50378=>array(65,-69,922,842),50379=>array(65,-74,929,842),50380=>array(65,-69,927,842),50381=>array(65,-68,911,842),50382=>array(65,-72,929,842),50383=>array(65,-70,936,842),50384=>array(65,-66,908,842),50385=>array(65,-59,916,842),50386=>array(65,-60,928,842),50387=>array(65,-68,908,842),50388=>array(82,-64,924,822),50389=>array(79,-61,921,788),50390=>array(79,-61,921,788),50391=>array(79,-71,921,788),50392=>array(81,-46,922,788),50393=>array(79,-68,921,788),50394=>array(79,-74,921,788),50395=>array(79,-44,921,788),50396=>array(79,-62,921,788),50397=>array(79,-64,921,788),50398=>array(79,-64,921,788),50399=>array(79,-63,921,788),50400=>array(79,-68,921,788),50401=>array(79,-64,921,788),50402=>array(79,-63,921,788),50403=>array(79,-74,921,788),50404=>array(79,-62,921,788),50405=>array(79,-61,921,788),50406=>array(79,-69,921,788),50407=>array(79,-74,921,788),50408=>array(79,-69,921,788),50409=>array(79,-68,921,788),50410=>array(79,-72,921,788),50411=>array(79,-70,921,788),50412=>array(79,-66,921,788),50413=>array(79,-59,921,788),50414=>array(79,-60,921,788),50415=>array(79,-68,921,788),50416=>array(57,22,943,720),50417=>array(79,-61,922,794),50418=>array(79,-61,922,794),50419=>array(79,-71,922,794),50420=>array(79,-46,921,794),50421=>array(79,-68,922,794),50422=>array(79,-74,922,794),50423=>array(79,-44,922,794),50424=>array(79,-62,922,794),50425=>array(79,-64,922,794),50426=>array(79,-64,922,794),50427=>array(79,-63,922,794),50428=>array(79,-68,922,794),50429=>array(79,-64,922,794),50430=>array(79,-63,922,794),50431=>array(79,-74,922,794),50432=>array(79,-62,922,794),50433=>array(79,-61,922,794),50434=>array(79,-69,922,794),50435=>array(79,-74,922,794),50436=>array(79,-69,922,794),50437=>array(79,-68,922,794),50438=>array(79,-72,922,794),50439=>array(79,-70,922,794),50440=>array(79,-66,922,794),50441=>array(79,-59,922,794),50442=>array(79,-60,922,794),50443=>array(79,-68,922,794),50444=>array(67,-69,907,842),50445=>array(75,-61,907,842),50446=>array(75,-61,907,842),50447=>array(75,-71,931,842),50448=>array(65,-46,907,842),50449=>array(75,-68,912,842),50450=>array(75,-76,907,842),50451=>array(75,-44,921,842),50452=>array(75,-62,917,842),50453=>array(75,-64,907,842),50454=>array(75,-64,908,842),50455=>array(75,-64,908,842),50456=>array(75,-69,923,842),50457=>array(75,-64,908,842),50458=>array(75,-64,908,842),50459=>array(75,-76,907,842),50460=>array(75,-62,907,842),50461=>array(75,-61,907,842),50462=>array(75,-69,922,842),50463=>array(75,-74,929,842),50464=>array(75,-69,927,842),50465=>array(75,-68,911,842),50466=>array(75,-72,929,842),50467=>array(75,-70,936,842),50468=>array(75,-66,908,842),50469=>array(75,-59,916,842),50470=>array(75,-60,928,842),50471=>array(75,-68,908,842),50472=>array(48,-69,907,842),50473=>array(68,-61,907,842),50474=>array(68,-61,907,842),50475=>array(68,-71,931,842),50476=>array(68,-46,907,842),50477=>array(68,-68,912,842),50478=>array(68,-76,907,842),50479=>array(68,-44,921,842),50480=>array(68,-62,917,842),50481=>array(68,-64,907,842),50482=>array(68,-64,908,842),50483=>array(68,-64,908,842),50484=>array(68,-69,923,842),50485=>array(68,-64,908,842),50486=>array(68,-64,908,842),50487=>array(68,-76,907,842),50488=>array(68,-62,907,842),50489=>array(68,-61,907,842),50490=>array(68,-69,922,842),50491=>array(68,-74,929,842),50492=>array(68,-69,927,842),50493=>array(68,-68,911,842),50494=>array(68,-72,929,842),50495=>array(68,-70,936,842),50496=>array(68,-66,908,842),50497=>array(68,-59,916,842),50498=>array(68,-60,928,842),50499=>array(68,-68,908,842),50500=>array(108,-69,936,842),50501=>array(113,-59,936,842),50502=>array(113,-61,936,842),50503=>array(113,-71,936,842),50504=>array(100,-45,936,842),50505=>array(113,-69,936,842),50506=>array(113,-76,936,842),50507=>array(113,-44,936,842),50508=>array(113,-62,936,842),50509=>array(113,-64,936,842),50510=>array(113,-64,936,842),50511=>array(113,-64,936,842),50512=>array(113,-70,936,842),50513=>array(113,-64,936,842),50514=>array(113,-64,936,842),50515=>array(113,-76,936,842),50516=>array(113,-62,936,842),50517=>array(113,-61,936,842),50518=>array(113,-70,936,842),50519=>array(113,-74,936,842),50520=>array(113,-69,936,842),50521=>array(113,-67,936,842),50522=>array(113,-72,936,842),50523=>array(113,-71,936,842),50524=>array(113,-66,936,842),50525=>array(113,-59,936,842),50526=>array(113,-60,936,842),50527=>array(113,-69,936,842),50528=>array(105,-69,907,842),50529=>array(93,-61,907,842),50530=>array(93,-61,907,842),50531=>array(93,-71,931,842),50532=>array(80,-46,907,842),50533=>array(93,-68,912,842),50534=>array(93,-76,907,842),50535=>array(93,-44,921,842),50536=>array(93,-62,917,842),50537=>array(93,-64,907,842),50538=>array(93,-64,908,842),50539=>array(93,-64,908,842),50540=>array(93,-69,923,842),50541=>array(93,-64,908,842),50542=>array(93,-64,908,842),50543=>array(93,-76,907,842),50544=>array(93,-62,907,842),50545=>array(93,-61,907,842),50546=>array(93,-69,922,842),50547=>array(93,-74,929,842),50548=>array(93,-69,927,842),50549=>array(93,-68,911,842),50550=>array(93,-72,929,842),50551=>array(93,-70,936,842),50552=>array(93,-66,908,842),50553=>array(93,-59,916,842),50554=>array(93,-60,928,842),50555=>array(93,-68,908,842),50556=>array(123,-68,935,843),50557=>array(113,-59,936,842),50558=>array(113,-61,936,842),50559=>array(113,-71,936,842),50560=>array(100,-45,936,842),50561=>array(113,-69,936,842),50562=>array(113,-76,936,842),50563=>array(113,-44,936,842),50564=>array(113,-62,936,842),50565=>array(113,-64,936,842),50566=>array(113,-64,936,842),50567=>array(113,-64,936,842),50568=>array(113,-70,936,842),50569=>array(113,-64,936,842),50570=>array(113,-64,936,842),50571=>array(113,-76,936,842),50572=>array(113,-62,936,842),50573=>array(113,-61,936,842),50574=>array(113,-70,936,842),50575=>array(113,-74,936,842),50576=>array(113,-69,936,842),50577=>array(113,-67,936,842),50578=>array(113,-72,936,842),50579=>array(113,-71,936,842),50580=>array(113,-66,936,842),50581=>array(113,-59,936,842),50582=>array(113,-60,936,842),50583=>array(113,-69,936,842),50584=>array(105,-69,907,842),50585=>array(93,-61,907,842),50586=>array(93,-61,907,842),50587=>array(93,-71,931,842),50588=>array(85,-46,907,842),50589=>array(93,-68,912,842),50590=>array(93,-76,907,842),50591=>array(93,-44,921,842),50592=>array(93,-62,917,842),50593=>array(93,-64,907,842),50594=>array(93,-64,908,842),50595=>array(93,-64,908,842),50596=>array(93,-69,923,842),50597=>array(93,-64,908,842),50598=>array(93,-64,908,842),50599=>array(93,-76,907,842),50600=>array(93,-62,907,842),50601=>array(93,-61,907,842),50602=>array(93,-69,922,842),50603=>array(93,-74,929,842),50604=>array(93,-69,927,842),50605=>array(93,-68,911,842),50606=>array(93,-72,929,842),50607=>array(93,-70,936,842),50608=>array(93,-66,908,842),50609=>array(93,-59,916,842),50610=>array(93,-60,928,842),50611=>array(93,-68,908,842),50612=>array(93,-70,907,841),50613=>array(88,-61,907,841),50614=>array(88,-61,907,841),50615=>array(88,-71,931,841),50616=>array(85,-46,907,841),50617=>array(88,-68,912,841),50618=>array(88,-76,907,841),50619=>array(88,-44,921,841),50620=>array(88,-62,917,841),50621=>array(88,-64,907,841),50622=>array(88,-64,908,841),50623=>array(88,-64,908,841),50624=>array(88,-69,923,841),50625=>array(88,-64,908,841),50626=>array(88,-64,908,841),50627=>array(88,-76,906,841),50628=>array(88,-62,907,841),50629=>array(88,-61,907,841),50630=>array(88,-69,922,841),50631=>array(88,-74,929,841),50632=>array(88,-69,927,841),50633=>array(88,-68,911,841),50634=>array(88,-72,929,841),50635=>array(88,-70,936,841),50636=>array(88,-66,908,841),50637=>array(88,-59,916,841),50638=>array(88,-60,928,841),50639=>array(88,-68,908,841),50640=>array(85,-68,907,843),50641=>array(75,-61,907,843),50642=>array(75,-61,907,843),50643=>array(75,-71,931,843),50644=>array(76,-46,907,843),50645=>array(75,-68,912,843),50646=>array(75,-76,907,843),50647=>array(75,-44,921,843),50648=>array(75,-62,917,843),50649=>array(75,-64,907,843),50650=>array(75,-64,908,843),50651=>array(75,-64,908,843),50652=>array(75,-69,923,843),50653=>array(75,-64,908,843),50654=>array(75,-64,908,843),50655=>array(75,-76,907,843),50656=>array(75,-62,907,843),50657=>array(75,-61,907,843),50658=>array(75,-69,922,843),50659=>array(75,-74,929,843),50660=>array(75,-69,927,843),50661=>array(75,-68,911,843),50662=>array(75,-72,929,843),50663=>array(75,-70,936,843),50664=>array(75,-66,908,843),50665=>array(75,-59,916,843),50666=>array(75,-60,928,843),50667=>array(75,-68,908,843),50668=>array(93,-70,907,842),50669=>array(88,-61,908,842),50670=>array(88,-61,908,842),50671=>array(88,-71,931,842),50672=>array(85,-46,907,842),50673=>array(88,-68,912,842),50674=>array(88,-76,908,842),50675=>array(88,-44,921,842),50676=>array(88,-62,917,842),50677=>array(88,-64,908,842),50678=>array(88,-64,908,842),50679=>array(88,-64,908,842),50680=>array(88,-69,923,842),50681=>array(88,-64,908,842),50682=>array(88,-64,908,842),50683=>array(88,-76,908,842),50684=>array(88,-62,908,842),50685=>array(88,-61,908,842),50686=>array(88,-69,922,842),50687=>array(88,-74,929,842),50688=>array(88,-69,927,842),50689=>array(88,-68,911,842),50690=>array(88,-72,929,842),50691=>array(88,-70,936,842),50692=>array(88,-66,908,842),50693=>array(88,-59,916,842),50694=>array(88,-60,928,842),50695=>array(88,-68,908,842),50696=>array(85,-68,907,843),50697=>array(75,-61,907,843),50698=>array(75,-61,907,843),50699=>array(75,-71,931,843),50700=>array(76,-46,907,843),50701=>array(75,-68,912,843),50702=>array(75,-76,907,843),50703=>array(75,-44,921,843),50704=>array(75,-62,917,843),50705=>array(75,-64,907,843),50706=>array(75,-64,908,843),50707=>array(75,-64,908,843),50708=>array(75,-69,923,843),50709=>array(75,-64,908,843),50710=>array(75,-64,908,843),50711=>array(75,-76,907,843),50712=>array(75,-62,907,843),50713=>array(75,-61,907,843),50714=>array(75,-69,922,843),50715=>array(75,-74,929,843),50716=>array(75,-69,927,843),50717=>array(75,-68,911,843),50718=>array(75,-72,929,843),50719=>array(75,-70,936,843),50720=>array(75,-66,908,843),50721=>array(75,-59,916,843),50722=>array(75,-60,928,843),50723=>array(75,-68,908,843),50724=>array(62,4,938,763),50725=>array(79,-61,921,808),50726=>array(79,-61,921,808),50727=>array(79,-71,921,808),50728=>array(79,-46,922,803),50729=>array(79,-68,921,808),50730=>array(79,-74,921,808),50731=>array(79,-44,921,808),50732=>array(79,-62,921,808),50733=>array(79,-64,921,808),50734=>array(79,-64,921,808),50735=>array(79,-63,921,808),50736=>array(79,-68,921,808),50737=>array(79,-64,921,808),50738=>array(79,-63,921,808),50739=>array(79,-74,921,808),50740=>array(79,-62,921,808),50741=>array(79,-61,921,808),50742=>array(79,-69,921,808),50743=>array(79,-74,921,808),50744=>array(79,-69,921,808),50745=>array(79,-68,921,808),50746=>array(79,-72,921,808),50747=>array(79,-70,921,808),50748=>array(79,-66,921,808),50749=>array(79,-59,921,808),50750=>array(79,-60,921,808),50751=>array(79,-68,921,808),50752=>array(52,-69,936,842),50753=>array(77,-59,936,842),50754=>array(77,-61,936,842),50755=>array(77,-71,936,842),50756=>array(72,-45,936,842),50757=>array(77,-69,936,842),50758=>array(77,-76,936,842),50759=>array(77,-44,936,842),50760=>array(77,-62,936,842),50761=>array(77,-64,936,842),50762=>array(77,-64,936,842),50763=>array(77,-64,936,842),50764=>array(77,-70,936,842),50765=>array(77,-64,936,842),50766=>array(77,-64,936,842),50767=>array(77,-76,936,842),50768=>array(77,-62,936,842),50769=>array(77,-61,936,842),50770=>array(77,-70,936,842),50771=>array(77,-74,936,842),50772=>array(77,-69,936,842),50773=>array(77,-67,936,842),50774=>array(77,-72,936,842),50775=>array(77,-71,936,842),50776=>array(77,-66,936,842),50777=>array(77,-59,936,842),50778=>array(77,-60,936,842),50779=>array(77,-69,936,842),50780=>array(61,-69,907,842),50781=>array(62,-61,907,842),50782=>array(62,-61,907,842),50783=>array(62,-71,931,842),50784=>array(62,-46,907,842),50785=>array(62,-68,912,842),50786=>array(62,-76,907,842),50787=>array(62,-44,921,842),50788=>array(62,-62,917,842),50789=>array(62,-64,907,842),50790=>array(62,-64,908,842),50791=>array(62,-64,908,842),50792=>array(62,-69,923,842),50793=>array(62,-64,908,842),50794=>array(62,-64,908,842),50795=>array(62,-76,907,842),50796=>array(62,-62,907,842),50797=>array(62,-61,907,842),50798=>array(62,-69,922,842),50799=>array(62,-74,929,842),50800=>array(62,-69,927,842),50801=>array(62,-68,911,842),50802=>array(62,-72,929,842),50803=>array(62,-70,936,842),50804=>array(62,-66,908,842),50805=>array(62,-59,916,842),50806=>array(62,-60,928,842),50807=>array(62,-68,908,842),50808=>array(52,-69,907,842),50809=>array(64,-61,907,842),50810=>array(64,-61,907,842),50811=>array(64,-71,931,842),50812=>array(64,-46,907,842),50813=>array(64,-68,912,842),50814=>array(64,-76,907,842),50815=>array(64,-44,921,842),50816=>array(64,-62,917,842),50817=>array(64,-64,907,842),50818=>array(64,-64,908,842),50819=>array(64,-64,908,842),50820=>array(64,-69,923,842),50821=>array(64,-64,908,842),50822=>array(64,-64,908,842),50823=>array(64,-76,907,842),50824=>array(64,-62,907,842),50825=>array(64,-61,907,842),50826=>array(64,-69,922,842),50827=>array(64,-74,929,842),50828=>array(64,-69,927,842),50829=>array(64,-68,911,842),50830=>array(64,-72,929,842),50831=>array(64,-70,936,842),50832=>array(64,-66,908,842),50833=>array(64,-59,916,842),50834=>array(64,-60,928,842),50835=>array(64,-68,908,842),50836=>array(62,4,938,763),50837=>array(79,-61,922,808),50838=>array(79,-61,922,808),50839=>array(79,-71,922,808),50840=>array(79,-46,922,793),50841=>array(79,-68,922,808),50842=>array(79,-74,922,808),50843=>array(79,-44,922,808),50844=>array(79,-62,922,808),50845=>array(79,-64,922,808),50846=>array(79,-64,922,808),50847=>array(79,-63,922,808),50848=>array(79,-68,922,808),50849=>array(79,-64,922,808),50850=>array(79,-63,922,808),50851=>array(79,-74,922,808),50852=>array(79,-62,922,808),50853=>array(79,-61,922,808),50854=>array(79,-69,922,808),50855=>array(79,-74,922,808),50856=>array(79,-69,922,808),50857=>array(79,-68,922,808),50858=>array(79,-72,922,808),50859=>array(79,-70,922,808),50860=>array(79,-66,922,808),50861=>array(79,-59,922,808),50862=>array(79,-60,922,808),50863=>array(79,-68,922,808),50864=>array(79,-64,921,793),50865=>array(79,-61,921,808),50866=>array(79,-61,921,808),50867=>array(79,-71,921,808),50868=>array(79,-46,921,793),50869=>array(79,-68,921,808),50870=>array(79,-74,921,808),50871=>array(79,-44,921,808),50872=>array(79,-62,921,808),50873=>array(79,-64,921,808),50874=>array(79,-64,921,808),50875=>array(79,-63,921,808),50876=>array(79,-68,921,808),50877=>array(79,-64,921,808),50878=>array(79,-63,921,808),50879=>array(79,-74,921,808),50880=>array(79,-62,921,808),50881=>array(79,-61,921,808),50882=>array(79,-69,921,808),50883=>array(79,-74,921,808),50884=>array(79,-69,921,808),50885=>array(79,-68,921,808),50886=>array(79,-72,921,808),50887=>array(79,-70,921,808),50888=>array(79,-66,921,808),50889=>array(79,-59,921,808),50890=>array(79,-60,921,808),50891=>array(79,-68,921,808),50892=>array(73,-70,907,841),50893=>array(75,-61,908,841),50894=>array(75,-61,908,841),50895=>array(75,-71,931,841),50896=>array(76,-46,907,841),50897=>array(75,-68,912,841),50898=>array(75,-76,908,841),50899=>array(75,-44,921,841),50900=>array(75,-62,917,841),50901=>array(75,-64,908,841),50902=>array(75,-64,908,841),50903=>array(75,-64,908,841),50904=>array(75,-69,923,841),50905=>array(75,-64,908,841),50906=>array(75,-64,908,841),50907=>array(75,-76,908,841),50908=>array(75,-62,908,841),50909=>array(75,-61,908,841),50910=>array(75,-69,922,841),50911=>array(75,-74,929,841),50912=>array(75,-69,927,841),50913=>array(75,-68,911,841),50914=>array(75,-72,929,841),50915=>array(75,-70,936,841),50916=>array(75,-66,908,841),50917=>array(75,-59,916,841),50918=>array(75,-60,928,841),50919=>array(75,-68,908,841),50920=>array(53,-68,907,843),50921=>array(70,-61,907,843),50922=>array(70,-61,907,843),50923=>array(70,-71,931,843),50924=>array(61,-46,907,843),50925=>array(70,-68,912,843),50926=>array(70,-76,907,843),50927=>array(70,-44,921,843),50928=>array(70,-62,917,843),50929=>array(70,-64,907,843),50930=>array(70,-64,908,843),50931=>array(70,-64,908,843),50932=>array(70,-69,923,843),50933=>array(70,-64,908,843),50934=>array(70,-64,908,843),50935=>array(70,-76,907,843),50936=>array(70,-62,907,843),50937=>array(70,-61,907,843),50938=>array(70,-69,922,843),50939=>array(70,-74,929,843),50940=>array(70,-69,927,843),50941=>array(70,-68,911,843),50942=>array(70,-72,929,843),50943=>array(70,-70,936,843),50944=>array(70,-66,908,843),50945=>array(70,-59,916,843),50946=>array(70,-60,928,843),50947=>array(70,-68,908,843),50948=>array(70,-69,907,842),50949=>array(65,-61,907,842),50950=>array(65,-61,907,842),50951=>array(65,-71,931,842),50952=>array(63,-46,907,842),50953=>array(65,-68,912,842),50954=>array(65,-76,907,842),50955=>array(65,-44,921,842),50956=>array(65,-62,917,842),50957=>array(65,-64,907,842),50958=>array(65,-64,908,842),50959=>array(65,-64,908,842),50960=>array(65,-69,923,842),50961=>array(65,-64,908,842),50962=>array(65,-64,908,842),50963=>array(65,-76,907,842),50964=>array(65,-62,907,842),50965=>array(65,-61,907,842),50966=>array(65,-69,922,842),50967=>array(65,-74,929,842),50968=>array(65,-69,927,842),50969=>array(65,-68,911,842),50970=>array(65,-72,929,842),50971=>array(65,-70,936,842),50972=>array(65,-66,908,842),50973=>array(65,-59,916,842),50974=>array(65,-60,928,842),50975=>array(65,-68,908,842),50976=>array(71,-64,928,793),50977=>array(79,-61,921,808),50978=>array(79,-61,921,808),50979=>array(79,-71,921,808),50980=>array(79,-46,921,793),50981=>array(79,-68,921,808),50982=>array(79,-74,921,808),50983=>array(79,-44,921,808),50984=>array(79,-62,921,808),50985=>array(79,-64,921,808),50986=>array(79,-64,921,808),50987=>array(79,-63,921,808),50988=>array(79,-68,921,808),50989=>array(79,-64,921,808),50990=>array(79,-63,921,808),50991=>array(79,-74,921,808),50992=>array(79,-62,921,808),50993=>array(79,-61,921,808),50994=>array(79,-69,921,808),50995=>array(79,-74,921,808),50996=>array(79,-69,921,808),50997=>array(79,-68,921,808),50998=>array(79,-72,921,808),50999=>array(79,-70,921,808),51000=>array(79,-66,921,808),51001=>array(79,-59,921,808),51002=>array(79,-60,921,808),51003=>array(79,-68,921,808),51004=>array(57,42,943,733),51005=>array(79,-61,921,808),51006=>array(79,-61,921,808),51007=>array(79,-71,921,808),51008=>array(79,-46,921,793),51009=>array(79,-68,921,808),51010=>array(79,-74,921,808),51011=>array(79,-44,921,808),51012=>array(79,-62,921,808),51013=>array(79,-64,921,808),51014=>array(79,-64,921,808),51015=>array(79,-63,921,808),51016=>array(79,-68,921,808),51017=>array(79,-64,921,808),51018=>array(79,-63,921,808),51019=>array(79,-74,921,808),51020=>array(79,-62,921,808),51021=>array(79,-61,921,808),51022=>array(79,-69,921,808),51023=>array(79,-74,921,808),51024=>array(79,-69,921,808),51025=>array(79,-68,921,808),51026=>array(79,-72,921,808),51027=>array(79,-70,921,808),51028=>array(79,-66,921,808),51029=>array(79,-59,921,808),51030=>array(79,-60,921,808),51031=>array(79,-68,921,808),51032=>array(67,-69,907,842),51033=>array(75,-61,907,842),51034=>array(75,-61,907,842),51035=>array(75,-71,931,842),51036=>array(66,-46,907,842),51037=>array(75,-68,912,842),51038=>array(75,-76,907,842),51039=>array(75,-44,921,842),51040=>array(75,-62,917,842),51041=>array(75,-64,907,842),51042=>array(75,-64,908,842),51043=>array(75,-64,908,842),51044=>array(75,-69,923,842),51045=>array(75,-64,908,842),51046=>array(75,-64,908,842),51047=>array(75,-76,907,842),51048=>array(75,-62,907,842),51049=>array(75,-61,907,842),51050=>array(75,-69,922,842),51051=>array(75,-74,929,842),51052=>array(75,-69,927,842),51053=>array(75,-68,911,842),51054=>array(75,-72,929,842),51055=>array(75,-70,936,842),51056=>array(75,-66,908,842),51057=>array(75,-59,916,842),51058=>array(75,-60,928,842),51059=>array(75,-68,908,842),51060=>array(134,-69,906,842),51061=>array(119,-61,907,842),51062=>array(119,-61,907,842),51063=>array(119,-71,931,842),51064=>array(108,-46,907,842),51065=>array(119,-68,912,842),51066=>array(119,-76,907,842),51067=>array(119,-44,921,842),51068=>array(119,-62,917,842),51069=>array(119,-64,907,842),51070=>array(119,-64,908,842),51071=>array(119,-64,908,842),51072=>array(119,-69,923,842),51073=>array(119,-64,908,842),51074=>array(119,-64,908,842),51075=>array(119,-76,907,842),51076=>array(119,-62,907,842),51077=>array(119,-61,907,842),51078=>array(119,-69,922,842),51079=>array(119,-74,929,842),51080=>array(119,-69,927,842),51081=>array(119,-68,911,842),51082=>array(119,-72,929,842),51083=>array(119,-70,936,842),51084=>array(119,-66,908,842),51085=>array(119,-59,916,842),51086=>array(119,-60,928,842),51087=>array(119,-68,908,842),51088=>array(73,-69,936,842),51089=>array(83,-59,936,842),51090=>array(83,-61,936,842),51091=>array(83,-71,936,842),51092=>array(71,-45,936,842),51093=>array(83,-69,936,842),51094=>array(83,-76,936,842),51095=>array(83,-44,936,842),51096=>array(83,-62,936,842),51097=>array(83,-64,936,842),51098=>array(83,-64,936,842),51099=>array(83,-64,936,842),51100=>array(83,-70,936,842),51101=>array(83,-64,936,842),51102=>array(83,-64,936,842),51103=>array(83,-76,936,842),51104=>array(83,-62,936,842),51105=>array(83,-61,936,842),51106=>array(83,-70,936,842),51107=>array(83,-74,936,842),51108=>array(83,-69,936,842),51109=>array(83,-67,936,842),51110=>array(83,-72,936,842),51111=>array(83,-71,936,842),51112=>array(83,-66,936,842),51113=>array(83,-59,936,842),51114=>array(83,-60,936,842),51115=>array(83,-69,936,842),51116=>array(50,-69,907,842),51117=>array(84,-61,907,842),51118=>array(84,-61,907,842),51119=>array(84,-71,931,842),51120=>array(76,-46,907,842),51121=>array(84,-68,912,842),51122=>array(84,-76,907,842),51123=>array(84,-44,921,842),51124=>array(84,-62,917,842),51125=>array(84,-64,907,842),51126=>array(84,-64,908,842),51127=>array(84,-64,908,842),51128=>array(84,-69,923,842),51129=>array(84,-64,908,842),51130=>array(84,-64,908,842),51131=>array(84,-76,907,842),51132=>array(84,-62,907,842),51133=>array(84,-61,907,842),51134=>array(84,-69,922,842),51135=>array(84,-74,929,842),51136=>array(84,-69,927,842),51137=>array(84,-68,911,842),51138=>array(84,-72,929,842),51139=>array(84,-70,936,842),51140=>array(84,-66,908,842),51141=>array(84,-59,916,842),51142=>array(84,-60,928,842),51143=>array(84,-68,908,842),51144=>array(73,-68,935,843),51145=>array(83,-59,936,842),51146=>array(83,-61,936,842),51147=>array(83,-71,936,842),51148=>array(71,-45,936,842),51149=>array(83,-69,936,842),51150=>array(83,-76,936,842),51151=>array(83,-44,936,842),51152=>array(83,-62,936,842),51153=>array(83,-64,936,842),51154=>array(83,-64,936,842),51155=>array(83,-64,936,842),51156=>array(83,-70,936,842),51157=>array(83,-64,936,842),51158=>array(83,-64,936,842),51159=>array(83,-76,936,842),51160=>array(83,-62,936,842),51161=>array(83,-61,936,842),51162=>array(83,-70,936,842),51163=>array(83,-74,936,842),51164=>array(83,-69,936,842),51165=>array(83,-67,936,842),51166=>array(83,-72,936,842),51167=>array(83,-71,936,842),51168=>array(83,-66,936,842),51169=>array(83,-59,936,842),51170=>array(83,-60,936,842),51171=>array(83,-69,936,842),51172=>array(50,-69,907,842),51173=>array(84,-61,907,842),51174=>array(84,-61,907,842),51175=>array(84,-71,931,842),51176=>array(76,-46,907,842),51177=>array(84,-68,912,842),51178=>array(84,-76,907,842),51179=>array(84,-44,921,842),51180=>array(84,-62,917,842),51181=>array(84,-64,907,842),51182=>array(84,-64,908,842),51183=>array(84,-64,908,842),51184=>array(84,-69,923,842),51185=>array(84,-64,908,842),51186=>array(84,-64,908,842),51187=>array(84,-76,907,842),51188=>array(84,-62,907,842),51189=>array(84,-61,907,842),51190=>array(84,-69,922,842),51191=>array(84,-74,929,842),51192=>array(84,-69,927,842),51193=>array(84,-68,911,842),51194=>array(84,-72,929,842),51195=>array(84,-70,936,842),51196=>array(84,-66,908,842),51197=>array(84,-59,916,842),51198=>array(84,-60,928,842),51199=>array(84,-68,908,842),51200=>array(68,-70,907,841),51201=>array(83,-61,907,841),51202=>array(83,-61,907,841),51203=>array(83,-71,931,841),51204=>array(71,-46,907,841),51205=>array(83,-68,912,841),51206=>array(83,-76,907,841),51207=>array(83,-44,921,841),51208=>array(83,-62,917,841),51209=>array(83,-64,907,841),51210=>array(83,-64,908,841),51211=>array(83,-64,908,841),51212=>array(83,-69,923,841),51213=>array(83,-64,908,841),51214=>array(83,-64,908,841),51215=>array(83,-76,906,841),51216=>array(83,-62,907,841),51217=>array(83,-61,907,841),51218=>array(83,-69,922,841),51219=>array(83,-74,929,841),51220=>array(83,-69,927,841),51221=>array(83,-68,911,841),51222=>array(83,-72,929,841),51223=>array(83,-70,936,841),51224=>array(83,-66,908,841),51225=>array(83,-59,916,841),51226=>array(83,-60,928,841),51227=>array(83,-68,908,841),51228=>array(50,-69,907,842),51229=>array(64,-61,907,843),51230=>array(64,-61,907,843),51231=>array(64,-71,931,843),51232=>array(56,-46,907,843),51233=>array(64,-68,912,843),51234=>array(64,-76,907,843),51235=>array(64,-44,921,843),51236=>array(64,-62,917,843),51237=>array(64,-64,907,843),51238=>array(64,-64,908,843),51239=>array(64,-64,908,843),51240=>array(64,-69,923,843),51241=>array(64,-64,908,843),51242=>array(64,-64,908,843),51243=>array(64,-76,907,843),51244=>array(64,-62,907,843),51245=>array(64,-61,907,843),51246=>array(64,-69,922,843),51247=>array(64,-74,929,843),51248=>array(64,-69,927,843),51249=>array(64,-68,911,843),51250=>array(64,-72,929,843),51251=>array(64,-70,936,843),51252=>array(64,-66,908,843),51253=>array(64,-59,916,843),51254=>array(64,-60,928,843),51255=>array(64,-68,908,843),51256=>array(58,-70,907,842),51257=>array(63,-61,908,842),51258=>array(63,-61,908,842),51259=>array(63,-71,931,842),51260=>array(70,-46,907,842),51261=>array(63,-68,912,842),51262=>array(63,-76,908,842),51263=>array(63,-44,921,842),51264=>array(63,-62,917,842),51265=>array(63,-64,908,842),51266=>array(63,-64,908,842),51267=>array(63,-64,908,842),51268=>array(63,-69,923,842),51269=>array(63,-64,908,842),51270=>array(63,-64,908,842),51271=>array(63,-76,908,842),51272=>array(63,-62,908,842),51273=>array(63,-61,908,842),51274=>array(63,-69,922,842),51275=>array(63,-74,929,842),51276=>array(63,-69,927,842),51277=>array(63,-68,911,842),51278=>array(63,-72,929,842),51279=>array(63,-70,936,842),51280=>array(63,-66,908,842),51281=>array(63,-59,916,842),51282=>array(63,-60,928,842),51283=>array(63,-68,908,842),51284=>array(38,-69,908,842),51285=>array(62,-61,907,843),51286=>array(62,-61,907,843),51287=>array(62,-71,931,843),51288=>array(53,-46,907,843),51289=>array(62,-68,912,843),51290=>array(62,-76,907,843),51291=>array(62,-44,921,843),51292=>array(62,-62,917,843),51293=>array(62,-64,907,843),51294=>array(62,-64,908,843),51295=>array(62,-64,908,843),51296=>array(62,-69,923,843),51297=>array(62,-64,908,843),51298=>array(62,-64,908,843),51299=>array(62,-76,907,843),51300=>array(62,-62,907,843),51301=>array(62,-61,907,843),51302=>array(62,-69,922,843),51303=>array(62,-74,929,843),51304=>array(62,-69,927,843),51305=>array(62,-68,911,843),51306=>array(62,-72,929,843),51307=>array(62,-70,936,843),51308=>array(62,-66,908,843),51309=>array(62,-59,916,843),51310=>array(62,-60,928,843),51311=>array(62,-68,908,843),51312=>array(62,22,943,742),51313=>array(79,-61,921,798),51314=>array(79,-61,921,798),51315=>array(79,-71,921,798),51316=>array(79,-46,921,798),51317=>array(79,-68,921,798),51318=>array(79,-74,921,798),51319=>array(79,-44,921,798),51320=>array(79,-62,921,798),51321=>array(79,-64,921,798),51322=>array(79,-64,921,798),51323=>array(79,-63,921,798),51324=>array(79,-68,921,798),51325=>array(79,-64,921,798),51326=>array(79,-63,921,798),51327=>array(79,-74,921,798),51328=>array(79,-62,921,798),51329=>array(79,-61,921,798),51330=>array(79,-69,921,798),51331=>array(79,-74,921,798),51332=>array(79,-69,921,798),51333=>array(79,-68,921,798),51334=>array(79,-72,921,798),51335=>array(79,-70,921,798),51336=>array(79,-66,921,798),51337=>array(79,-59,921,798),51338=>array(79,-60,921,798),51339=>array(79,-68,921,798),51340=>array(64,-69,936,842),51341=>array(77,-59,936,842),51342=>array(77,-61,936,842),51343=>array(77,-71,936,842),51344=>array(72,-45,936,842),51345=>array(77,-69,936,842),51346=>array(77,-76,936,842),51347=>array(77,-44,936,842),51348=>array(77,-62,936,842),51349=>array(77,-64,936,842),51350=>array(77,-64,936,842),51351=>array(77,-64,936,842),51352=>array(77,-70,936,842),51353=>array(77,-64,936,842),51354=>array(77,-64,936,842),51355=>array(77,-76,936,842),51356=>array(77,-62,936,842),51357=>array(77,-61,936,842),51358=>array(77,-70,936,842),51359=>array(77,-74,936,842),51360=>array(77,-69,936,842),51361=>array(77,-67,936,842),51362=>array(77,-72,936,842),51363=>array(77,-71,936,842),51364=>array(77,-66,936,842),51365=>array(77,-59,936,842),51366=>array(77,-60,936,842),51367=>array(77,-69,936,842),51368=>array(49,-69,907,842),51369=>array(77,-61,907,842),51370=>array(77,-61,907,842),51371=>array(77,-71,931,842),51372=>array(72,-46,907,842),51373=>array(77,-68,912,842),51374=>array(77,-76,907,842),51375=>array(77,-44,921,842),51376=>array(77,-62,917,842),51377=>array(77,-64,907,842),51378=>array(77,-64,908,842),51379=>array(77,-64,908,842),51380=>array(77,-69,923,842),51381=>array(77,-64,908,842),51382=>array(77,-64,908,842),51383=>array(77,-76,907,842),51384=>array(77,-62,907,842),51385=>array(77,-61,907,842),51386=>array(77,-69,922,842),51387=>array(77,-74,929,842),51388=>array(77,-69,927,842),51389=>array(77,-68,911,842),51390=>array(77,-72,929,842),51391=>array(77,-70,936,842),51392=>array(77,-66,908,842),51393=>array(77,-59,916,842),51394=>array(77,-60,928,842),51395=>array(77,-68,908,842),51396=>array(52,-69,907,842),51397=>array(65,-61,907,842),51398=>array(65,-61,907,842),51399=>array(65,-71,931,842),51400=>array(65,-46,907,842),51401=>array(65,-68,912,842),51402=>array(65,-76,907,842),51403=>array(65,-44,921,842),51404=>array(65,-62,917,842),51405=>array(65,-64,907,842),51406=>array(65,-64,908,842),51407=>array(65,-64,908,842),51408=>array(65,-69,923,842),51409=>array(65,-64,908,842),51410=>array(65,-64,908,842),51411=>array(65,-76,907,842),51412=>array(65,-62,907,842),51413=>array(65,-61,907,842),51414=>array(65,-69,922,842),51415=>array(65,-74,929,842),51416=>array(65,-69,927,842),51417=>array(65,-68,911,842),51418=>array(65,-72,929,842),51419=>array(65,-70,936,842),51420=>array(65,-66,908,842),51421=>array(65,-59,916,842),51422=>array(65,-60,928,842),51423=>array(65,-68,908,842),51424=>array(62,22,938,742),51425=>array(79,-61,922,798),51426=>array(79,-61,922,798),51427=>array(79,-71,922,798),51428=>array(79,-46,922,798),51429=>array(79,-68,922,798),51430=>array(79,-74,922,798),51431=>array(79,-44,922,798),51432=>array(79,-62,922,798),51433=>array(79,-64,922,798),51434=>array(79,-64,922,798),51435=>array(79,-63,922,798),51436=>array(79,-68,922,798),51437=>array(79,-64,922,798),51438=>array(79,-63,922,798),51439=>array(79,-74,922,798),51440=>array(79,-62,922,798),51441=>array(79,-61,922,798),51442=>array(79,-69,922,798),51443=>array(79,-74,922,798),51444=>array(79,-69,922,798),51445=>array(79,-68,922,798),51446=>array(79,-72,922,798),51447=>array(79,-70,922,798),51448=>array(79,-66,922,798),51449=>array(79,-59,922,798),51450=>array(79,-60,922,798),51451=>array(79,-68,922,798),51452=>array(79,-64,921,798),51453=>array(79,-61,921,798),51454=>array(79,-61,921,798),51455=>array(79,-71,921,798),51456=>array(79,-46,921,798),51457=>array(79,-68,921,798),51458=>array(79,-74,921,798),51459=>array(79,-44,921,798),51460=>array(79,-62,921,798),51461=>array(79,-64,921,798),51462=>array(79,-64,921,798),51463=>array(79,-63,921,798),51464=>array(79,-68,921,798),51465=>array(79,-64,921,798),51466=>array(79,-63,921,798),51467=>array(79,-74,921,798),51468=>array(79,-62,921,798),51469=>array(79,-61,921,798),51470=>array(79,-69,921,798),51471=>array(79,-74,921,798),51472=>array(79,-69,921,798),51473=>array(79,-68,921,798),51474=>array(79,-72,921,798),51475=>array(79,-70,921,798),51476=>array(79,-66,921,798),51477=>array(79,-59,921,798),51478=>array(79,-60,921,798),51479=>array(79,-68,921,798),51480=>array(70,-70,907,841),51481=>array(73,-61,910,841),51482=>array(73,-61,910,841),51483=>array(73,-71,931,841),51484=>array(76,-46,909,840),51485=>array(73,-68,912,841),51486=>array(73,-76,910,841),51487=>array(73,-44,921,841),51488=>array(73,-62,917,841),51489=>array(73,-64,910,841),51490=>array(73,-64,910,841),51491=>array(73,-64,910,841),51492=>array(73,-69,923,841),51493=>array(73,-64,910,841),51494=>array(73,-64,910,841),51495=>array(73,-76,910,841),51496=>array(73,-62,910,841),51497=>array(73,-61,910,841),51498=>array(73,-69,922,841),51499=>array(73,-74,929,841),51500=>array(73,-69,927,841),51501=>array(73,-68,911,841),51502=>array(73,-72,929,841),51503=>array(73,-70,936,841),51504=>array(73,-66,910,841),51505=>array(73,-59,916,841),51506=>array(73,-60,928,841),51507=>array(73,-68,910,841),51508=>array(63,-68,907,843),51509=>array(70,-61,907,843),51510=>array(70,-61,907,843),51511=>array(70,-71,931,843),51512=>array(76,-46,907,843),51513=>array(70,-68,912,843),51514=>array(70,-76,907,843),51515=>array(70,-44,921,843),51516=>array(70,-62,917,843),51517=>array(70,-64,907,843),51518=>array(70,-64,908,843),51519=>array(70,-64,908,843),51520=>array(70,-69,923,843),51521=>array(70,-64,908,843),51522=>array(70,-64,908,843),51523=>array(70,-76,907,843),51524=>array(70,-62,907,843),51525=>array(70,-61,907,843),51526=>array(70,-69,922,843),51527=>array(70,-74,929,843),51528=>array(70,-69,927,843),51529=>array(70,-68,911,843),51530=>array(70,-72,929,843),51531=>array(70,-70,936,843),51532=>array(70,-66,908,843),51533=>array(70,-59,916,843),51534=>array(70,-60,928,843),51535=>array(70,-68,908,843),51536=>array(70,-69,907,842),51537=>array(76,-61,907,842),51538=>array(76,-61,907,842),51539=>array(76,-71,931,842),51540=>array(74,-46,907,842),51541=>array(76,-68,912,842),51542=>array(76,-76,907,842),51543=>array(76,-44,921,842),51544=>array(76,-62,917,842),51545=>array(76,-64,907,842),51546=>array(76,-64,908,842),51547=>array(76,-64,908,842),51548=>array(76,-69,923,842),51549=>array(76,-64,908,842),51550=>array(76,-64,908,842),51551=>array(76,-76,906,842),51552=>array(76,-62,907,842),51553=>array(76,-61,907,842),51554=>array(76,-69,922,842),51555=>array(76,-74,929,842),51556=>array(76,-69,927,842),51557=>array(76,-68,911,842),51558=>array(76,-72,929,842),51559=>array(76,-70,936,842),51560=>array(76,-66,908,842),51561=>array(76,-59,916,842),51562=>array(76,-60,928,842),51563=>array(76,-68,908,842),51564=>array(87,-64,928,798),51565=>array(79,-61,921,798),51566=>array(79,-61,921,798),51567=>array(79,-71,921,798),51568=>array(81,-46,922,798),51569=>array(79,-68,921,798),51570=>array(79,-74,921,798),51571=>array(79,-44,921,798),51572=>array(79,-62,921,798),51573=>array(79,-64,921,798),51574=>array(79,-64,921,798),51575=>array(79,-63,921,798),51576=>array(79,-68,921,798),51577=>array(79,-64,921,798),51578=>array(79,-63,921,798),51579=>array(79,-74,921,798),51580=>array(79,-62,921,798),51581=>array(79,-61,921,798),51582=>array(79,-69,921,798),51583=>array(79,-74,921,798),51584=>array(79,-69,921,798),51585=>array(79,-68,921,798),51586=>array(79,-72,921,798),51587=>array(79,-70,921,798),51588=>array(79,-66,921,798),51589=>array(79,-59,921,798),51590=>array(79,-60,921,798),51591=>array(79,-68,921,798),51592=>array(57,52,943,717),51593=>array(79,-61,922,798),51594=>array(79,-61,922,798),51595=>array(79,-71,922,798),51596=>array(79,-46,922,798),51597=>array(79,-68,922,798),51598=>array(79,-74,922,798),51599=>array(79,-44,922,798),51600=>array(79,-62,922,798),51601=>array(79,-64,922,798),51602=>array(79,-64,922,798),51603=>array(79,-63,922,798),51604=>array(79,-68,922,798),51605=>array(79,-64,922,798),51606=>array(79,-63,922,798),51607=>array(79,-74,922,798),51608=>array(79,-62,922,798),51609=>array(79,-61,922,798),51610=>array(79,-69,922,798),51611=>array(79,-74,922,798),51612=>array(79,-69,922,798),51613=>array(79,-68,922,798),51614=>array(79,-72,922,798),51615=>array(79,-70,922,798),51616=>array(79,-66,922,798),51617=>array(79,-59,922,798),51618=>array(79,-60,922,798),51619=>array(79,-68,922,798),51620=>array(78,-69,907,842),51621=>array(65,-61,907,842),51622=>array(65,-61,907,842),51623=>array(65,-71,931,842),51624=>array(65,-46,907,842),51625=>array(65,-68,912,842),51626=>array(65,-76,907,842),51627=>array(65,-44,921,842),51628=>array(65,-62,917,842),51629=>array(65,-64,907,842),51630=>array(65,-64,908,842),51631=>array(65,-64,908,842),51632=>array(65,-69,923,842),51633=>array(65,-64,908,842),51634=>array(65,-64,908,842),51635=>array(65,-76,907,842),51636=>array(65,-62,907,842),51637=>array(65,-61,907,842),51638=>array(65,-69,922,842),51639=>array(65,-74,929,842),51640=>array(65,-69,927,842),51641=>array(65,-68,911,842),51642=>array(65,-72,929,842),51643=>array(65,-70,936,842),51644=>array(65,-66,908,842),51645=>array(65,-59,916,842),51646=>array(65,-60,928,842),51647=>array(65,-68,908,842),51648=>array(116,-69,907,842),51649=>array(123,-61,907,842),51650=>array(123,-61,907,842),51651=>array(123,-71,931,842),51652=>array(105,-46,907,842),51653=>array(123,-68,912,842),51654=>array(123,-76,907,842),51655=>array(123,-44,921,842),51656=>array(123,-62,917,842),51657=>array(123,-64,907,842),51658=>array(123,-64,908,842),51659=>array(123,-64,908,842),51660=>array(123,-69,923,842),51661=>array(123,-64,908,842),51662=>array(123,-64,908,842),51663=>array(123,-76,907,842),51664=>array(123,-62,907,842),51665=>array(123,-61,907,842),51666=>array(123,-69,922,842),51667=>array(123,-74,929,842),51668=>array(123,-69,927,842),51669=>array(123,-68,911,842),51670=>array(123,-72,929,842),51671=>array(123,-70,936,842),51672=>array(123,-66,908,842),51673=>array(123,-59,916,842),51674=>array(123,-60,928,842),51675=>array(123,-68,908,842),51676=>array(36,-69,935,842),51677=>array(59,-59,936,842),51678=>array(59,-61,936,842),51679=>array(59,-71,936,842),51680=>array(50,-45,936,842),51681=>array(59,-69,936,842),51682=>array(59,-76,936,842),51683=>array(59,-44,936,842),51684=>array(59,-62,936,842),51685=>array(59,-64,936,842),51686=>array(59,-64,936,842),51687=>array(59,-64,936,842),51688=>array(59,-70,936,842),51689=>array(59,-64,936,842),51690=>array(59,-64,936,842),51691=>array(59,-76,936,842),51692=>array(59,-62,936,842),51693=>array(59,-61,936,842),51694=>array(59,-70,936,842),51695=>array(59,-74,936,842),51696=>array(59,-69,936,842),51697=>array(59,-67,936,842),51698=>array(59,-72,936,842),51699=>array(59,-71,936,842),51700=>array(59,-66,936,842),51701=>array(59,-59,936,842),51702=>array(59,-60,936,842),51703=>array(59,-69,936,842),51704=>array(33,-69,907,842),51705=>array(44,-61,907,842),51706=>array(44,-61,907,842),51707=>array(44,-71,931,842),51708=>array(52,-46,907,842),51709=>array(44,-68,912,842),51710=>array(44,-76,907,842),51711=>array(44,-44,921,842),51712=>array(44,-62,917,842),51713=>array(44,-64,907,842),51714=>array(44,-64,908,842),51715=>array(44,-64,908,842),51716=>array(44,-69,923,842),51717=>array(44,-64,908,842),51718=>array(44,-64,908,842),51719=>array(44,-76,907,842),51720=>array(44,-62,907,842),51721=>array(44,-61,907,842),51722=>array(44,-69,922,842),51723=>array(44,-74,929,842),51724=>array(44,-69,927,842),51725=>array(44,-68,911,842),51726=>array(44,-72,929,842),51727=>array(44,-70,936,842),51728=>array(44,-66,908,842),51729=>array(44,-59,916,842),51730=>array(44,-60,928,842),51731=>array(44,-68,908,842),51732=>array(36,-68,935,843),51733=>array(59,-59,936,842),51734=>array(59,-61,936,842),51735=>array(59,-71,936,842),51736=>array(50,-45,936,842),51737=>array(59,-69,936,842),51738=>array(59,-76,936,842),51739=>array(59,-44,936,842),51740=>array(59,-62,936,842),51741=>array(59,-64,936,842),51742=>array(59,-64,936,842),51743=>array(59,-64,936,842),51744=>array(59,-70,936,842),51745=>array(59,-64,936,842),51746=>array(59,-64,936,842),51747=>array(59,-76,936,842),51748=>array(59,-62,936,842),51749=>array(59,-61,936,842),51750=>array(59,-70,936,842),51751=>array(59,-74,936,842),51752=>array(59,-69,936,842),51753=>array(59,-67,936,842),51754=>array(59,-72,936,842),51755=>array(59,-71,936,842),51756=>array(59,-66,936,842),51757=>array(59,-59,936,842),51758=>array(59,-60,936,842),51759=>array(59,-69,936,842),51760=>array(33,-69,907,842),51761=>array(44,-61,907,842),51762=>array(44,-61,907,842),51763=>array(44,-71,931,842),51764=>array(52,-46,907,842),51765=>array(44,-68,912,842),51766=>array(44,-76,907,842),51767=>array(44,-44,921,842),51768=>array(44,-62,917,842),51769=>array(44,-64,907,842),51770=>array(44,-64,908,842),51771=>array(44,-64,908,842),51772=>array(44,-69,923,842),51773=>array(44,-64,908,842),51774=>array(44,-64,908,842),51775=>array(44,-76,907,842),51776=>array(44,-62,907,842),51777=>array(44,-61,907,842),51778=>array(44,-69,922,842),51779=>array(44,-74,929,842),51780=>array(44,-69,927,842),51781=>array(44,-68,911,842),51782=>array(44,-72,929,842),51783=>array(44,-70,936,842),51784=>array(44,-66,908,842),51785=>array(44,-59,916,842),51786=>array(44,-60,928,842),51787=>array(44,-68,908,842),51788=>array(41,-70,907,841),51789=>array(64,-61,907,841),51790=>array(64,-61,907,841),51791=>array(64,-71,931,841),51792=>array(55,-46,907,841),51793=>array(64,-68,912,841),51794=>array(64,-76,907,841),51795=>array(64,-44,921,841),51796=>array(64,-62,917,841),51797=>array(64,-64,907,841),51798=>array(64,-64,908,841),51799=>array(64,-64,908,841),51800=>array(64,-69,923,841),51801=>array(64,-64,908,841),51802=>array(64,-64,908,841),51803=>array(64,-76,906,841),51804=>array(64,-62,907,841),51805=>array(64,-61,907,841),51806=>array(64,-69,922,841),51807=>array(64,-74,929,841),51808=>array(64,-69,927,841),51809=>array(64,-68,911,841),51810=>array(64,-72,929,841),51811=>array(64,-70,936,841),51812=>array(64,-66,908,841),51813=>array(64,-59,916,841),51814=>array(64,-60,928,841),51815=>array(64,-68,908,841),51816=>array(33,-68,907,843),51817=>array(44,-61,907,843),51818=>array(44,-61,907,843),51819=>array(44,-71,931,843),51820=>array(52,-46,907,843),51821=>array(44,-68,912,843),51822=>array(44,-76,907,843),51823=>array(44,-44,921,843),51824=>array(44,-62,917,843),51825=>array(44,-64,907,843),51826=>array(44,-64,908,843),51827=>array(44,-64,908,843),51828=>array(44,-69,923,843),51829=>array(44,-64,908,843),51830=>array(44,-64,908,843),51831=>array(44,-76,907,843),51832=>array(44,-62,907,843),51833=>array(44,-61,907,843),51834=>array(44,-69,922,843),51835=>array(44,-74,929,843),51836=>array(44,-69,927,843),51837=>array(44,-68,911,843),51838=>array(44,-72,929,843),51839=>array(44,-70,936,843),51840=>array(44,-66,908,843),51841=>array(44,-59,916,843),51842=>array(44,-60,928,843),51843=>array(44,-68,908,843),51844=>array(36,-70,907,842),51845=>array(54,-61,908,842),51846=>array(54,-61,908,842),51847=>array(54,-71,931,842),51848=>array(55,-46,907,842),51849=>array(54,-68,912,842),51850=>array(54,-76,908,842),51851=>array(54,-44,921,842),51852=>array(54,-62,917,842),51853=>array(54,-64,908,842),51854=>array(54,-64,908,842),51855=>array(54,-64,908,842),51856=>array(54,-69,923,842),51857=>array(54,-64,908,842),51858=>array(54,-64,908,842),51859=>array(54,-76,908,842),51860=>array(54,-62,908,842),51861=>array(54,-61,908,842),51862=>array(54,-69,922,842),51863=>array(54,-74,929,842),51864=>array(54,-69,927,842),51865=>array(54,-68,911,842),51866=>array(54,-72,929,842),51867=>array(54,-70,936,842),51868=>array(54,-66,908,842),51869=>array(54,-59,916,842),51870=>array(54,-60,928,842),51871=>array(54,-68,908,842),51872=>array(33,-68,907,843),51873=>array(49,-61,907,843),51874=>array(49,-61,907,843),51875=>array(49,-71,931,843),51876=>array(47,-46,907,843),51877=>array(49,-68,912,843),51878=>array(49,-76,907,843),51879=>array(49,-44,921,843),51880=>array(49,-62,917,843),51881=>array(49,-64,907,843),51882=>array(49,-64,908,843),51883=>array(49,-64,908,843),51884=>array(49,-69,923,843),51885=>array(49,-64,908,843),51886=>array(49,-64,908,843),51887=>array(49,-76,907,843),51888=>array(49,-62,907,843),51889=>array(49,-61,907,843),51890=>array(49,-69,922,843),51891=>array(49,-74,929,843),51892=>array(49,-69,927,843),51893=>array(49,-68,911,843),51894=>array(49,-72,929,843),51895=>array(49,-70,936,843),51896=>array(49,-66,908,843),51897=>array(49,-59,916,843),51898=>array(49,-60,928,843),51899=>array(49,-68,908,843),51900=>array(55,22,943,755),51901=>array(79,-61,921,786),51902=>array(79,-61,921,786),51903=>array(79,-71,921,786),51904=>array(79,-46,922,786),51905=>array(79,-68,921,786),51906=>array(79,-74,921,786),51907=>array(79,-44,921,786),51908=>array(79,-62,921,786),51909=>array(79,-64,921,786),51910=>array(79,-64,921,786),51911=>array(79,-63,921,786),51912=>array(79,-68,921,786),51913=>array(79,-64,921,786),51914=>array(79,-63,921,786),51915=>array(79,-74,921,786),51916=>array(79,-62,921,786),51917=>array(79,-61,921,786),51918=>array(79,-69,921,786),51919=>array(79,-74,921,786),51920=>array(79,-69,921,786),51921=>array(79,-68,921,786),51922=>array(79,-72,921,786),51923=>array(79,-70,921,786),51924=>array(79,-66,921,786),51925=>array(79,-59,921,786),51926=>array(79,-60,921,786),51927=>array(79,-68,921,786),51928=>array(50,-69,936,842),51929=>array(65,-59,936,842),51930=>array(65,-61,936,842),51931=>array(65,-71,936,842),51932=>array(72,-45,936,842),51933=>array(65,-69,936,842),51934=>array(65,-76,936,842),51935=>array(65,-44,936,842),51936=>array(65,-62,936,842),51937=>array(65,-64,936,842),51938=>array(65,-64,936,842),51939=>array(65,-64,936,842),51940=>array(65,-70,936,842),51941=>array(65,-64,936,842),51942=>array(65,-64,936,842),51943=>array(65,-76,936,842),51944=>array(65,-62,936,842),51945=>array(65,-61,936,842),51946=>array(65,-70,936,842),51947=>array(65,-74,936,842),51948=>array(65,-69,936,842),51949=>array(65,-67,936,842),51950=>array(65,-72,936,842),51951=>array(65,-71,936,842),51952=>array(65,-66,936,842),51953=>array(65,-59,936,842),51954=>array(65,-60,936,842),51955=>array(65,-69,936,842),51956=>array(50,-69,907,842),51957=>array(71,-61,907,842),51958=>array(71,-61,907,842),51959=>array(71,-71,931,842),51960=>array(66,-46,907,842),51961=>array(71,-68,912,842),51962=>array(71,-76,907,842),51963=>array(71,-44,921,842),51964=>array(71,-62,917,842),51965=>array(71,-64,907,842),51966=>array(71,-64,908,842),51967=>array(71,-64,908,842),51968=>array(71,-69,923,842),51969=>array(71,-64,908,842),51970=>array(71,-64,908,842),51971=>array(71,-76,907,842),51972=>array(71,-62,907,842),51973=>array(71,-61,907,842),51974=>array(71,-69,922,842),51975=>array(71,-74,929,842),51976=>array(71,-69,927,842),51977=>array(71,-68,911,842),51978=>array(71,-72,929,842),51979=>array(71,-70,936,842),51980=>array(71,-66,908,842),51981=>array(71,-59,916,842),51982=>array(71,-60,928,842),51983=>array(71,-68,908,842),51984=>array(66,-69,907,842),51985=>array(65,-61,907,842),51986=>array(65,-61,907,842),51987=>array(65,-71,931,842),51988=>array(65,-46,907,842),51989=>array(65,-68,912,842),51990=>array(65,-76,907,842),51991=>array(65,-44,921,842),51992=>array(65,-62,917,842),51993=>array(65,-64,907,842),51994=>array(65,-64,908,842),51995=>array(65,-64,908,842),51996=>array(65,-69,923,842),51997=>array(65,-64,908,842),51998=>array(65,-64,908,842),51999=>array(65,-76,907,842),52000=>array(65,-62,907,842),52001=>array(65,-61,907,842),52002=>array(65,-69,922,842),52003=>array(65,-74,929,842),52004=>array(65,-69,927,842),52005=>array(65,-68,911,842),52006=>array(65,-72,929,842),52007=>array(65,-70,936,842),52008=>array(65,-66,908,842),52009=>array(65,-59,916,842),52010=>array(65,-60,928,842),52011=>array(65,-68,908,842),52012=>array(62,22,943,756),52013=>array(79,-61,922,786),52014=>array(79,-61,922,786),52015=>array(79,-71,922,786),52016=>array(79,-46,922,786),52017=>array(79,-68,922,786),52018=>array(79,-74,922,786),52019=>array(79,-44,922,786),52020=>array(79,-62,922,786),52021=>array(79,-64,922,786),52022=>array(79,-64,922,786),52023=>array(79,-63,922,786),52024=>array(79,-68,922,786),52025=>array(79,-64,922,786),52026=>array(79,-63,922,786),52027=>array(79,-74,922,786),52028=>array(79,-62,922,786),52029=>array(79,-61,922,786),52030=>array(79,-69,922,786),52031=>array(79,-74,922,786),52032=>array(79,-69,922,786),52033=>array(79,-68,922,786),52034=>array(79,-72,922,786),52035=>array(79,-70,922,786),52036=>array(79,-66,922,786),52037=>array(79,-59,922,786),52038=>array(79,-60,922,786),52039=>array(79,-68,922,786),52040=>array(82,-64,924,811),52041=>array(79,-61,921,811),52042=>array(79,-61,921,811),52043=>array(79,-71,921,811),52044=>array(79,-46,921,811),52045=>array(79,-68,921,811),52046=>array(79,-74,921,811),52047=>array(79,-44,921,811),52048=>array(79,-62,921,811),52049=>array(79,-64,921,811),52050=>array(79,-64,921,811),52051=>array(79,-63,921,811),52052=>array(79,-68,921,811),52053=>array(79,-64,921,811),52054=>array(79,-63,921,811),52055=>array(79,-74,921,811),52056=>array(79,-62,921,811),52057=>array(79,-61,921,811),52058=>array(79,-69,921,811),52059=>array(79,-74,921,811),52060=>array(79,-69,921,811),52061=>array(79,-68,921,811),52062=>array(79,-72,921,811),52063=>array(79,-70,921,811),52064=>array(79,-66,921,811),52065=>array(79,-59,921,811),52066=>array(79,-60,921,811),52067=>array(79,-68,921,811),52068=>array(81,-70,907,841),52069=>array(74,-61,909,841),52070=>array(74,-61,909,841),52071=>array(74,-71,931,841),52072=>array(66,-46,909,842),52073=>array(74,-68,912,841),52074=>array(74,-76,909,841),52075=>array(74,-44,921,841),52076=>array(74,-62,917,841),52077=>array(74,-64,909,841),52078=>array(74,-64,909,841),52079=>array(74,-64,909,841),52080=>array(74,-69,923,841),52081=>array(74,-64,909,841),52082=>array(74,-64,909,841),52083=>array(74,-76,909,841),52084=>array(74,-62,909,841),52085=>array(74,-61,909,841),52086=>array(74,-69,922,841),52087=>array(74,-74,929,841),52088=>array(74,-69,927,841),52089=>array(74,-68,911,841),52090=>array(74,-72,929,841),52091=>array(74,-70,936,841),52092=>array(74,-66,909,841),52093=>array(74,-59,916,841),52094=>array(74,-60,928,841),52095=>array(74,-68,909,841),52096=>array(50,-68,907,843),52097=>array(68,-61,907,843),52098=>array(68,-61,907,843),52099=>array(68,-71,931,843),52100=>array(68,-46,907,843),52101=>array(68,-68,912,843),52102=>array(68,-76,907,843),52103=>array(68,-44,921,843),52104=>array(68,-62,917,843),52105=>array(68,-64,907,843),52106=>array(68,-64,908,843),52107=>array(68,-64,908,843),52108=>array(68,-69,923,843),52109=>array(68,-64,908,843),52110=>array(68,-64,908,843),52111=>array(68,-76,907,843),52112=>array(68,-62,907,843),52113=>array(68,-61,907,843),52114=>array(68,-69,922,843),52115=>array(68,-74,929,843),52116=>array(68,-69,927,843),52117=>array(68,-68,911,843),52118=>array(68,-72,929,843),52119=>array(68,-70,936,843),52120=>array(68,-66,908,843),52121=>array(68,-59,916,843),52122=>array(68,-60,928,843),52123=>array(68,-68,908,843),52124=>array(60,-69,907,842),52125=>array(65,-61,907,842),52126=>array(65,-61,907,842),52127=>array(65,-71,931,842),52128=>array(65,-46,907,842),52129=>array(65,-68,912,842),52130=>array(65,-76,907,842),52131=>array(65,-44,921,842),52132=>array(65,-62,917,842),52133=>array(65,-64,907,842),52134=>array(65,-64,908,842),52135=>array(65,-64,908,842),52136=>array(65,-69,923,842),52137=>array(65,-64,908,842),52138=>array(65,-64,908,842),52139=>array(65,-76,907,842),52140=>array(65,-62,907,842),52141=>array(65,-61,907,842),52142=>array(65,-69,922,842),52143=>array(65,-74,929,842),52144=>array(65,-69,927,842),52145=>array(65,-68,911,842),52146=>array(65,-72,929,842),52147=>array(65,-70,936,842),52148=>array(65,-66,908,842),52149=>array(65,-59,916,842),52150=>array(65,-60,928,842),52151=>array(65,-68,908,842),52152=>array(82,-64,924,811),52153=>array(79,-61,921,811),52154=>array(79,-61,921,811),52155=>array(79,-71,921,811),52156=>array(81,-46,922,811),52157=>array(79,-68,921,811),52158=>array(79,-74,921,811),52159=>array(79,-44,921,811),52160=>array(79,-62,921,811),52161=>array(79,-64,921,811),52162=>array(79,-64,921,811),52163=>array(79,-63,921,811),52164=>array(79,-68,921,811),52165=>array(79,-64,921,811),52166=>array(79,-63,921,811),52167=>array(79,-74,921,811),52168=>array(79,-62,921,811),52169=>array(79,-61,921,811),52170=>array(79,-69,921,811),52171=>array(79,-74,921,811),52172=>array(79,-69,921,811),52173=>array(79,-68,921,811),52174=>array(79,-72,921,811),52175=>array(79,-70,921,811),52176=>array(79,-66,921,811),52177=>array(79,-59,921,811),52178=>array(79,-60,921,811),52179=>array(79,-68,921,811),52180=>array(56,37,944,728),52181=>array(79,-61,922,786),52182=>array(79,-61,922,786),52183=>array(79,-71,922,786),52184=>array(79,-46,921,784),52185=>array(79,-68,922,786),52186=>array(79,-74,922,786),52187=>array(79,-44,922,786),52188=>array(79,-62,922,786),52189=>array(79,-64,922,786),52190=>array(79,-64,922,786),52191=>array(79,-63,922,786),52192=>array(79,-68,922,786),52193=>array(79,-64,922,786),52194=>array(79,-63,922,786),52195=>array(79,-74,922,786),52196=>array(79,-62,922,786),52197=>array(79,-61,922,786),52198=>array(79,-69,922,786),52199=>array(79,-74,922,786),52200=>array(79,-69,922,786),52201=>array(79,-68,922,786),52202=>array(79,-72,922,786),52203=>array(79,-70,922,786),52204=>array(79,-66,922,786),52205=>array(79,-59,922,786),52206=>array(79,-60,922,786),52207=>array(79,-68,922,786),52208=>array(63,-69,907,842),52209=>array(65,-61,907,842),52210=>array(65,-61,907,842),52211=>array(65,-71,931,842),52212=>array(65,-46,907,842),52213=>array(65,-68,912,842),52214=>array(65,-76,907,842),52215=>array(65,-44,921,842),52216=>array(65,-62,917,842),52217=>array(65,-64,907,842),52218=>array(65,-64,908,842),52219=>array(65,-64,908,842),52220=>array(65,-69,923,842),52221=>array(65,-64,908,842),52222=>array(65,-64,908,842),52223=>array(65,-76,907,842),52224=>array(65,-62,907,842),52225=>array(65,-61,907,842),52226=>array(65,-69,922,842),52227=>array(65,-74,929,842),52228=>array(65,-69,927,842),52229=>array(65,-68,911,842),52230=>array(65,-72,929,842),52231=>array(65,-70,936,842),52232=>array(65,-66,908,842),52233=>array(65,-59,916,842),52234=>array(65,-60,928,842),52235=>array(65,-68,908,842),52236=>array(76,-69,907,842),52237=>array(60,-61,907,842),52238=>array(60,-61,907,842),52239=>array(60,-71,931,842),52240=>array(57,-46,907,842),52241=>array(60,-68,912,842),52242=>array(60,-76,907,842),52243=>array(60,-44,921,842),52244=>array(60,-62,917,842),52245=>array(60,-64,907,842),52246=>array(60,-64,908,842),52247=>array(60,-64,908,842),52248=>array(60,-69,923,842),52249=>array(60,-64,908,842),52250=>array(60,-64,908,842),52251=>array(60,-76,907,842),52252=>array(60,-62,907,842),52253=>array(60,-61,907,842),52254=>array(60,-69,922,842),52255=>array(60,-74,929,842),52256=>array(60,-69,927,842),52257=>array(60,-68,911,842),52258=>array(60,-72,929,842),52259=>array(60,-70,936,842),52260=>array(60,-66,908,842),52261=>array(60,-59,916,842),52262=>array(60,-60,928,842),52263=>array(60,-68,908,842),52264=>array(86,-69,935,842),52265=>array(71,-59,936,842),52266=>array(71,-61,936,842),52267=>array(71,-71,936,842),52268=>array(64,-45,936,842),52269=>array(71,-69,936,842),52270=>array(71,-76,936,842),52271=>array(71,-44,936,842),52272=>array(71,-62,936,842),52273=>array(71,-64,936,842),52274=>array(71,-64,936,842),52275=>array(71,-64,936,842),52276=>array(71,-70,936,842),52277=>array(71,-64,936,842),52278=>array(71,-64,936,842),52279=>array(71,-76,936,842),52280=>array(71,-62,936,842),52281=>array(71,-61,936,842),52282=>array(71,-70,936,842),52283=>array(71,-74,936,842),52284=>array(71,-69,936,842),52285=>array(71,-67,936,842),52286=>array(71,-72,936,842),52287=>array(71,-71,936,842),52288=>array(71,-66,936,842),52289=>array(71,-59,936,842),52290=>array(71,-60,936,842),52291=>array(71,-69,936,842),52292=>array(81,-69,907,842),52293=>array(69,-61,907,842),52294=>array(69,-61,907,842),52295=>array(69,-71,931,842),52296=>array(64,-46,907,842),52297=>array(69,-68,912,842),52298=>array(69,-76,907,842),52299=>array(69,-44,921,842),52300=>array(69,-62,917,842),52301=>array(69,-64,907,842),52302=>array(69,-64,908,842),52303=>array(69,-64,908,842),52304=>array(69,-69,923,842),52305=>array(69,-64,908,842),52306=>array(69,-64,908,842),52307=>array(69,-76,907,842),52308=>array(69,-62,907,842),52309=>array(69,-61,907,842),52310=>array(69,-69,922,842),52311=>array(69,-74,929,842),52312=>array(69,-69,927,842),52313=>array(69,-68,911,842),52314=>array(69,-72,929,842),52315=>array(69,-70,936,842),52316=>array(69,-66,908,842),52317=>array(69,-59,916,842),52318=>array(69,-60,928,842),52319=>array(69,-68,908,842),52320=>array(86,-68,935,843),52321=>array(74,-59,936,842),52322=>array(74,-61,936,842),52323=>array(74,-71,936,842),52324=>array(64,-45,936,842),52325=>array(74,-69,936,842),52326=>array(74,-76,936,842),52327=>array(74,-44,936,842),52328=>array(74,-62,936,842),52329=>array(74,-64,936,842),52330=>array(74,-64,936,842),52331=>array(74,-64,936,842),52332=>array(74,-70,936,842),52333=>array(74,-64,936,842),52334=>array(74,-64,936,842),52335=>array(74,-76,936,842),52336=>array(74,-62,936,842),52337=>array(74,-61,936,842),52338=>array(74,-70,936,842),52339=>array(74,-74,936,842),52340=>array(74,-69,936,842),52341=>array(74,-67,936,842),52342=>array(74,-72,936,842),52343=>array(74,-71,936,842),52344=>array(74,-66,936,842),52345=>array(74,-59,936,842),52346=>array(74,-60,936,842),52347=>array(74,-69,936,842),52348=>array(81,-69,907,842),52349=>array(71,-61,907,842),52350=>array(71,-61,907,842),52351=>array(71,-71,931,842),52352=>array(64,-46,907,842),52353=>array(71,-68,912,842),52354=>array(71,-76,907,842),52355=>array(71,-44,921,842),52356=>array(71,-62,917,842),52357=>array(71,-64,907,842),52358=>array(71,-64,908,842),52359=>array(71,-64,908,842),52360=>array(71,-69,923,842),52361=>array(71,-64,908,842),52362=>array(71,-64,908,842),52363=>array(71,-76,907,842),52364=>array(71,-62,907,842),52365=>array(71,-61,907,842),52366=>array(71,-69,922,842),52367=>array(71,-74,929,842),52368=>array(71,-69,927,842),52369=>array(71,-68,911,842),52370=>array(71,-72,929,842),52371=>array(71,-70,936,842),52372=>array(71,-66,908,842),52373=>array(71,-59,916,842),52374=>array(71,-60,928,842),52375=>array(71,-68,908,842),52376=>array(86,-70,907,841),52377=>array(68,-61,907,842),52378=>array(68,-61,907,842),52379=>array(68,-71,931,842),52380=>array(66,-46,907,841),52381=>array(68,-68,912,842),52382=>array(68,-76,907,842),52383=>array(68,-44,921,842),52384=>array(68,-62,917,842),52385=>array(68,-64,907,842),52386=>array(68,-64,908,842),52387=>array(68,-64,908,842),52388=>array(68,-69,923,842),52389=>array(68,-64,908,842),52390=>array(68,-64,908,842),52391=>array(68,-76,906,842),52392=>array(68,-62,907,842),52393=>array(68,-61,907,842),52394=>array(68,-69,922,842),52395=>array(68,-74,929,842),52396=>array(68,-69,927,842),52397=>array(68,-68,911,842),52398=>array(68,-72,929,842),52399=>array(68,-70,936,842),52400=>array(68,-66,908,842),52401=>array(68,-59,916,842),52402=>array(68,-60,928,842),52403=>array(68,-68,908,842),52404=>array(71,-68,907,843),52405=>array(65,-61,907,843),52406=>array(65,-61,907,843),52407=>array(65,-71,931,843),52408=>array(66,-46,907,843),52409=>array(65,-68,912,843),52410=>array(65,-76,907,843),52411=>array(65,-44,921,843),52412=>array(65,-62,917,843),52413=>array(65,-64,907,843),52414=>array(65,-64,908,843),52415=>array(65,-64,908,843),52416=>array(65,-69,923,843),52417=>array(65,-64,908,843),52418=>array(65,-64,908,843),52419=>array(65,-76,907,843),52420=>array(65,-62,907,843),52421=>array(65,-61,907,843),52422=>array(65,-69,922,843),52423=>array(65,-74,929,843),52424=>array(65,-69,927,843),52425=>array(65,-68,911,843),52426=>array(65,-72,929,843),52427=>array(65,-70,936,843),52428=>array(65,-66,908,843),52429=>array(65,-59,916,843),52430=>array(65,-60,928,843),52431=>array(65,-68,908,843),52432=>array(86,-70,907,842),52433=>array(65,-61,907,842),52434=>array(65,-61,907,842),52435=>array(65,-71,931,842),52436=>array(62,-46,907,842),52437=>array(65,-68,912,842),52438=>array(65,-76,907,842),52439=>array(65,-44,921,842),52440=>array(65,-62,917,842),52441=>array(65,-64,907,842),52442=>array(65,-64,908,842),52443=>array(65,-64,908,842),52444=>array(65,-69,923,842),52445=>array(65,-64,908,842),52446=>array(65,-64,908,842),52447=>array(65,-76,907,842),52448=>array(65,-62,907,842),52449=>array(65,-61,907,842),52450=>array(65,-69,922,842),52451=>array(65,-74,929,842),52452=>array(65,-69,927,842),52453=>array(65,-68,911,842),52454=>array(65,-72,929,842),52455=>array(65,-70,936,842),52456=>array(65,-66,908,842),52457=>array(65,-59,916,842),52458=>array(65,-60,928,842),52459=>array(65,-68,908,842),52460=>array(71,-68,907,843),52461=>array(65,-61,907,843),52462=>array(65,-61,907,843),52463=>array(65,-71,931,843),52464=>array(65,-46,907,843),52465=>array(65,-68,912,843),52466=>array(65,-76,907,843),52467=>array(65,-44,921,843),52468=>array(65,-62,917,843),52469=>array(65,-64,907,843),52470=>array(65,-64,908,843),52471=>array(65,-64,908,843),52472=>array(65,-69,923,843),52473=>array(65,-64,908,843),52474=>array(65,-64,908,843),52475=>array(65,-76,907,843),52476=>array(65,-62,907,843),52477=>array(65,-61,907,843),52478=>array(65,-69,922,843),52479=>array(65,-74,929,843),52480=>array(65,-69,927,843),52481=>array(65,-68,911,843),52482=>array(65,-72,929,843),52483=>array(65,-70,936,843),52484=>array(65,-66,908,843),52485=>array(65,-59,916,843),52486=>array(65,-60,928,843),52487=>array(65,-68,908,843),52488=>array(62,-3,943,777),52489=>array(79,-61,921,802),52490=>array(79,-61,921,802),52491=>array(79,-71,921,802),52492=>array(79,-46,921,792),52493=>array(79,-68,921,802),52494=>array(79,-74,921,802),52495=>array(79,-44,921,802),52496=>array(79,-62,921,802),52497=>array(79,-64,921,802),52498=>array(79,-64,921,802),52499=>array(79,-63,921,802),52500=>array(79,-68,921,802),52501=>array(79,-64,921,802),52502=>array(79,-63,921,802),52503=>array(79,-74,921,802),52504=>array(79,-62,921,802),52505=>array(79,-61,921,802),52506=>array(79,-69,921,802),52507=>array(79,-74,921,802),52508=>array(79,-69,921,802),52509=>array(79,-68,921,802),52510=>array(79,-72,921,802),52511=>array(79,-70,921,802),52512=>array(79,-66,921,802),52513=>array(79,-59,921,802),52514=>array(79,-60,921,802),52515=>array(79,-68,921,802),52516=>array(64,-69,936,842),52517=>array(77,-59,936,842),52518=>array(77,-61,936,842),52519=>array(77,-71,936,842),52520=>array(72,-45,936,842),52521=>array(77,-69,936,842),52522=>array(77,-76,936,842),52523=>array(77,-44,936,842),52524=>array(77,-62,936,842),52525=>array(77,-64,936,842),52526=>array(77,-64,936,842),52527=>array(77,-64,936,842),52528=>array(77,-70,936,842),52529=>array(77,-64,936,842),52530=>array(77,-64,936,842),52531=>array(77,-76,936,842),52532=>array(77,-62,936,842),52533=>array(77,-61,936,842),52534=>array(77,-70,936,842),52535=>array(77,-74,936,842),52536=>array(77,-69,936,842),52537=>array(77,-67,936,842),52538=>array(77,-72,936,842),52539=>array(77,-71,936,842),52540=>array(77,-66,936,842),52541=>array(77,-59,936,842),52542=>array(77,-60,936,842),52543=>array(77,-69,936,842),52544=>array(57,-69,907,842),52545=>array(72,-61,907,842),52546=>array(72,-61,907,842),52547=>array(72,-71,931,842),52548=>array(72,-46,907,842),52549=>array(72,-68,912,842),52550=>array(72,-76,907,842),52551=>array(72,-44,921,842),52552=>array(72,-62,917,842),52553=>array(72,-64,907,842),52554=>array(72,-64,908,842),52555=>array(72,-64,908,842),52556=>array(72,-69,923,842),52557=>array(72,-64,908,842),52558=>array(72,-64,908,842),52559=>array(72,-76,907,842),52560=>array(72,-62,907,842),52561=>array(72,-61,907,842),52562=>array(72,-69,922,842),52563=>array(72,-74,929,842),52564=>array(72,-69,927,842),52565=>array(72,-68,911,842),52566=>array(72,-72,929,842),52567=>array(72,-70,936,842),52568=>array(72,-66,908,842),52569=>array(72,-59,916,842),52570=>array(72,-60,928,842),52571=>array(72,-68,908,842),52572=>array(67,-69,907,842),52573=>array(65,-61,907,842),52574=>array(65,-61,907,842),52575=>array(65,-71,931,842),52576=>array(65,-46,907,842),52577=>array(65,-68,912,842),52578=>array(65,-76,907,842),52579=>array(65,-44,921,842),52580=>array(65,-62,917,842),52581=>array(65,-64,907,842),52582=>array(65,-64,908,842),52583=>array(65,-64,908,842),52584=>array(65,-69,923,842),52585=>array(65,-64,908,842),52586=>array(65,-64,908,842),52587=>array(65,-76,907,842),52588=>array(65,-62,907,842),52589=>array(65,-61,907,842),52590=>array(65,-69,922,842),52591=>array(65,-74,929,842),52592=>array(65,-69,927,842),52593=>array(65,-68,911,842),52594=>array(65,-72,929,842),52595=>array(65,-70,936,842),52596=>array(65,-66,908,842),52597=>array(65,-59,916,842),52598=>array(65,-60,928,842),52599=>array(65,-68,908,842),52600=>array(62,-3,938,777),52601=>array(79,-61,922,802),52602=>array(79,-61,922,802),52603=>array(79,-71,922,802),52604=>array(79,-46,922,792),52605=>array(79,-68,922,802),52606=>array(79,-74,922,802),52607=>array(79,-44,922,802),52608=>array(79,-62,922,802),52609=>array(79,-64,922,802),52610=>array(79,-64,922,802),52611=>array(79,-63,922,802),52612=>array(79,-68,922,802),52613=>array(79,-64,922,802),52614=>array(79,-63,922,802),52615=>array(79,-74,922,802),52616=>array(79,-62,922,802),52617=>array(79,-61,922,802),52618=>array(79,-69,922,802),52619=>array(79,-74,922,802),52620=>array(79,-69,922,802),52621=>array(79,-68,922,802),52622=>array(79,-72,922,802),52623=>array(79,-70,922,802),52624=>array(79,-66,922,802),52625=>array(79,-59,922,802),52626=>array(79,-60,922,802),52627=>array(79,-68,922,802),52628=>array(79,-64,921,820),52629=>array(79,-61,921,822),52630=>array(79,-61,921,822),52631=>array(79,-71,921,822),52632=>array(79,-46,921,820),52633=>array(79,-68,921,822),52634=>array(79,-74,921,822),52635=>array(79,-44,921,822),52636=>array(79,-62,921,822),52637=>array(79,-64,921,822),52638=>array(79,-64,921,822),52639=>array(79,-63,921,822),52640=>array(79,-68,921,822),52641=>array(79,-64,921,822),52642=>array(79,-63,921,822),52643=>array(79,-74,921,822),52644=>array(79,-62,921,822),52645=>array(79,-61,921,822),52646=>array(79,-69,921,822),52647=>array(79,-74,921,822),52648=>array(79,-69,921,822),52649=>array(79,-68,921,822),52650=>array(79,-72,921,822),52651=>array(79,-70,921,822),52652=>array(79,-66,921,822),52653=>array(79,-59,921,822),52654=>array(79,-60,921,822),52655=>array(79,-68,921,822),52656=>array(70,-70,907,841),52657=>array(75,-61,910,841),52658=>array(75,-61,910,841),52659=>array(75,-71,931,841),52660=>array(76,-46,910,842),52661=>array(75,-68,912,841),52662=>array(75,-76,910,841),52663=>array(75,-44,921,841),52664=>array(75,-62,917,841),52665=>array(75,-64,910,841),52666=>array(75,-64,910,841),52667=>array(75,-64,910,841),52668=>array(75,-69,923,841),52669=>array(75,-64,910,841),52670=>array(75,-64,910,841),52671=>array(75,-76,910,841),52672=>array(75,-62,910,841),52673=>array(75,-61,910,841),52674=>array(75,-69,922,841),52675=>array(75,-74,929,841),52676=>array(75,-69,927,841),52677=>array(75,-68,911,841),52678=>array(75,-72,929,841),52679=>array(75,-70,936,841),52680=>array(75,-66,910,841),52681=>array(75,-59,916,841),52682=>array(75,-60,928,841),52683=>array(75,-68,910,841),52684=>array(63,-68,907,843),52685=>array(70,-61,907,843),52686=>array(70,-61,907,843),52687=>array(70,-71,931,843),52688=>array(76,-46,907,843),52689=>array(70,-68,912,843),52690=>array(70,-76,907,843),52691=>array(70,-44,921,843),52692=>array(70,-62,917,843),52693=>array(70,-64,907,843),52694=>array(70,-64,908,843),52695=>array(70,-64,908,843),52696=>array(70,-69,923,843),52697=>array(70,-64,908,843),52698=>array(70,-64,908,843),52699=>array(70,-76,907,843),52700=>array(70,-62,907,843),52701=>array(70,-61,907,843),52702=>array(70,-69,922,843),52703=>array(70,-74,929,843),52704=>array(70,-69,927,843),52705=>array(70,-68,911,843),52706=>array(70,-72,929,843),52707=>array(70,-70,936,843),52708=>array(70,-66,908,843),52709=>array(70,-59,916,843),52710=>array(70,-60,928,843),52711=>array(70,-68,908,843),52712=>array(70,-69,907,842),52713=>array(65,-61,907,842),52714=>array(65,-61,907,842),52715=>array(65,-71,931,842),52716=>array(66,-46,907,842),52717=>array(65,-68,912,842),52718=>array(65,-76,907,842),52719=>array(65,-44,921,842),52720=>array(65,-62,917,842),52721=>array(65,-64,907,842),52722=>array(65,-64,908,842),52723=>array(65,-64,908,842),52724=>array(65,-69,923,842),52725=>array(65,-64,908,842),52726=>array(65,-64,908,842),52727=>array(65,-76,907,842),52728=>array(65,-62,907,842),52729=>array(65,-61,907,842),52730=>array(65,-69,922,842),52731=>array(65,-74,929,842),52732=>array(65,-69,927,842),52733=>array(65,-68,911,842),52734=>array(65,-72,929,842),52735=>array(65,-70,936,842),52736=>array(65,-66,908,842),52737=>array(65,-59,916,842),52738=>array(65,-60,928,842),52739=>array(65,-68,908,842),52740=>array(87,-54,928,820),52741=>array(79,-61,921,822),52742=>array(79,-61,921,822),52743=>array(79,-71,921,822),52744=>array(81,-46,922,820),52745=>array(79,-68,921,822),52746=>array(79,-74,921,822),52747=>array(79,-44,921,822),52748=>array(79,-62,921,822),52749=>array(79,-64,921,822),52750=>array(79,-64,921,822),52751=>array(79,-63,921,822),52752=>array(79,-68,921,822),52753=>array(79,-64,921,822),52754=>array(79,-63,921,822),52755=>array(79,-74,921,822),52756=>array(79,-62,921,822),52757=>array(79,-61,921,822),52758=>array(79,-69,921,822),52759=>array(79,-74,921,822),52760=>array(79,-69,921,822),52761=>array(79,-68,921,822),52762=>array(79,-72,921,822),52763=>array(79,-70,921,822),52764=>array(79,-66,921,822),52765=>array(79,-59,921,822),52766=>array(79,-60,921,822),52767=>array(79,-68,921,822),52768=>array(57,47,943,752),52769=>array(79,-61,922,802),52770=>array(79,-61,922,802),52771=>array(79,-71,922,802),52772=>array(79,-46,922,792),52773=>array(79,-68,922,802),52774=>array(79,-74,922,802),52775=>array(79,-44,922,802),52776=>array(79,-62,922,802),52777=>array(79,-64,922,802),52778=>array(79,-64,922,802),52779=>array(79,-63,922,802),52780=>array(79,-68,922,802),52781=>array(79,-64,922,802),52782=>array(79,-63,922,802),52783=>array(79,-74,922,802),52784=>array(79,-62,922,802),52785=>array(79,-61,922,802),52786=>array(79,-69,922,802),52787=>array(79,-74,922,802),52788=>array(79,-69,922,802),52789=>array(79,-68,922,802),52790=>array(79,-72,922,802),52791=>array(79,-70,922,802),52792=>array(79,-66,922,802),52793=>array(79,-59,922,802),52794=>array(79,-60,922,802),52795=>array(79,-68,922,802),52796=>array(70,-69,907,842),52797=>array(65,-61,907,842),52798=>array(65,-61,907,842),52799=>array(65,-71,931,842),52800=>array(65,-46,907,842),52801=>array(65,-68,912,842),52802=>array(65,-76,907,842),52803=>array(65,-44,921,842),52804=>array(65,-62,917,842),52805=>array(65,-64,907,842),52806=>array(65,-64,908,842),52807=>array(65,-64,908,842),52808=>array(65,-69,923,842),52809=>array(65,-64,908,842),52810=>array(65,-64,908,842),52811=>array(65,-76,907,842),52812=>array(65,-62,907,842),52813=>array(65,-61,907,842),52814=>array(65,-69,922,842),52815=>array(65,-74,929,842),52816=>array(65,-69,927,842),52817=>array(65,-68,911,842),52818=>array(65,-72,929,842),52819=>array(65,-70,936,842),52820=>array(65,-66,908,842),52821=>array(65,-59,916,842),52822=>array(65,-60,928,842),52823=>array(65,-68,908,842),52824=>array(115,-69,907,842),52825=>array(95,-61,907,842),52826=>array(95,-61,907,842),52827=>array(95,-71,931,842),52828=>array(99,-46,907,842),52829=>array(95,-68,912,842),52830=>array(95,-76,907,842),52831=>array(95,-44,921,842),52832=>array(95,-62,917,842),52833=>array(95,-64,907,842),52834=>array(95,-64,908,842),52835=>array(95,-64,908,842),52836=>array(95,-69,923,842),52837=>array(95,-64,908,842),52838=>array(95,-64,908,842),52839=>array(95,-76,907,842),52840=>array(95,-62,907,842),52841=>array(95,-61,907,842),52842=>array(95,-69,922,842),52843=>array(95,-74,929,842),52844=>array(95,-69,927,842),52845=>array(95,-68,911,842),52846=>array(95,-72,929,842),52847=>array(95,-70,936,842),52848=>array(95,-66,908,842),52849=>array(95,-59,916,842),52850=>array(95,-60,928,842),52851=>array(95,-68,908,842),52852=>array(84,-69,936,842),52853=>array(66,-59,936,842),52854=>array(66,-61,936,842),52855=>array(66,-71,936,842),52856=>array(69,-45,936,842),52857=>array(66,-69,936,842),52858=>array(66,-76,936,842),52859=>array(66,-44,936,842),52860=>array(66,-62,936,842),52861=>array(66,-64,936,842),52862=>array(66,-64,936,842),52863=>array(66,-64,936,842),52864=>array(66,-70,936,842),52865=>array(66,-64,936,842),52866=>array(66,-64,936,842),52867=>array(66,-76,936,842),52868=>array(66,-62,936,842),52869=>array(66,-61,936,842),52870=>array(66,-70,936,842),52871=>array(66,-74,936,842),52872=>array(66,-69,936,842),52873=>array(66,-67,936,842),52874=>array(66,-72,936,842),52875=>array(66,-71,936,842),52876=>array(66,-66,936,842),52877=>array(66,-59,936,842),52878=>array(66,-60,936,842),52879=>array(66,-69,936,842),52880=>array(79,-69,907,842),52881=>array(66,-61,907,842),52882=>array(66,-61,907,842),52883=>array(66,-71,931,842),52884=>array(69,-46,907,842),52885=>array(66,-68,912,842),52886=>array(66,-76,907,842),52887=>array(66,-44,921,842),52888=>array(66,-62,917,842),52889=>array(66,-64,907,842),52890=>array(66,-64,908,842),52891=>array(66,-64,908,842),52892=>array(66,-69,923,842),52893=>array(66,-64,908,842),52894=>array(66,-64,908,842),52895=>array(66,-76,907,842),52896=>array(66,-62,907,842),52897=>array(66,-61,907,842),52898=>array(66,-69,922,842),52899=>array(66,-74,929,842),52900=>array(66,-69,927,842),52901=>array(66,-68,911,842),52902=>array(66,-72,929,842),52903=>array(66,-70,936,842),52904=>array(66,-66,908,842),52905=>array(66,-59,916,842),52906=>array(66,-60,928,842),52907=>array(66,-68,908,842),52908=>array(74,-68,935,843),52909=>array(66,-59,936,842),52910=>array(66,-61,936,842),52911=>array(66,-71,936,842),52912=>array(69,-45,936,842),52913=>array(66,-69,936,842),52914=>array(66,-76,936,842),52915=>array(66,-44,936,842),52916=>array(66,-62,936,842),52917=>array(66,-64,936,842),52918=>array(66,-64,936,842),52919=>array(66,-64,936,842),52920=>array(66,-70,936,842),52921=>array(66,-64,936,842),52922=>array(66,-64,936,842),52923=>array(66,-76,936,842),52924=>array(66,-62,936,842),52925=>array(66,-61,936,842),52926=>array(66,-70,936,842),52927=>array(66,-74,936,842),52928=>array(66,-69,936,842),52929=>array(66,-67,936,842),52930=>array(66,-72,936,842),52931=>array(66,-71,936,842),52932=>array(66,-66,936,842),52933=>array(66,-59,936,842),52934=>array(66,-60,936,842),52935=>array(66,-69,936,842),52936=>array(79,-69,907,842),52937=>array(66,-61,907,842),52938=>array(66,-61,907,842),52939=>array(66,-71,931,842),52940=>array(69,-46,907,842),52941=>array(66,-68,912,842),52942=>array(66,-76,907,842),52943=>array(66,-44,921,842),52944=>array(66,-62,917,842),52945=>array(66,-64,907,842),52946=>array(66,-64,908,842),52947=>array(66,-64,908,842),52948=>array(66,-69,923,842),52949=>array(66,-64,908,842),52950=>array(66,-64,908,842),52951=>array(66,-76,907,842),52952=>array(66,-62,907,842),52953=>array(66,-61,907,842),52954=>array(66,-69,922,842),52955=>array(66,-74,929,842),52956=>array(66,-69,927,842),52957=>array(66,-68,911,842),52958=>array(66,-72,929,842),52959=>array(66,-70,936,842),52960=>array(66,-66,908,842),52961=>array(66,-59,916,842),52962=>array(66,-60,928,842),52963=>array(66,-68,908,842),52964=>array(104,-70,907,841),52965=>array(66,-61,907,841),52966=>array(66,-61,907,841),52967=>array(66,-71,931,841),52968=>array(69,-46,907,841),52969=>array(66,-68,912,841),52970=>array(66,-76,907,841),52971=>array(66,-44,921,841),52972=>array(66,-62,917,841),52973=>array(66,-64,907,841),52974=>array(66,-64,908,841),52975=>array(66,-64,908,841),52976=>array(66,-69,923,841),52977=>array(66,-64,908,841),52978=>array(66,-64,908,841),52979=>array(66,-76,906,841),52980=>array(66,-62,907,841),52981=>array(66,-61,907,841),52982=>array(66,-69,922,841),52983=>array(66,-74,929,841),52984=>array(66,-69,927,841),52985=>array(66,-68,911,841),52986=>array(66,-72,929,841),52987=>array(66,-70,936,841),52988=>array(66,-66,908,841),52989=>array(66,-59,916,841),52990=>array(66,-60,928,841),52991=>array(66,-68,908,841),52992=>array(97,-68,907,843),52993=>array(66,-61,907,843),52994=>array(66,-61,907,843),52995=>array(66,-71,931,843),52996=>array(69,-46,907,843),52997=>array(66,-68,912,843),52998=>array(66,-76,907,843),52999=>array(66,-44,921,843),53000=>array(66,-62,917,843),53001=>array(66,-64,907,843),53002=>array(66,-64,908,843),53003=>array(66,-64,908,843),53004=>array(66,-69,923,843),53005=>array(66,-64,908,843),53006=>array(66,-64,908,843),53007=>array(66,-76,907,843),53008=>array(66,-62,907,843),53009=>array(66,-61,907,843),53010=>array(66,-69,922,843),53011=>array(66,-74,929,843),53012=>array(66,-69,927,843),53013=>array(66,-68,911,843),53014=>array(66,-72,929,843),53015=>array(66,-70,936,843),53016=>array(66,-66,908,843),53017=>array(66,-59,916,843),53018=>array(66,-60,928,843),53019=>array(66,-68,908,843),53020=>array(104,-70,907,842),53021=>array(66,-61,908,842),53022=>array(66,-61,908,842),53023=>array(66,-71,931,842),53024=>array(69,-46,907,842),53025=>array(66,-68,912,842),53026=>array(66,-76,908,842),53027=>array(66,-44,921,842),53028=>array(66,-62,917,842),53029=>array(66,-64,908,842),53030=>array(66,-64,908,842),53031=>array(66,-64,908,842),53032=>array(66,-69,923,842),53033=>array(66,-64,908,842),53034=>array(66,-64,908,842),53035=>array(66,-76,908,842),53036=>array(66,-62,908,842),53037=>array(66,-61,908,842),53038=>array(66,-69,922,842),53039=>array(66,-74,929,842),53040=>array(66,-69,927,842),53041=>array(66,-68,911,842),53042=>array(66,-72,929,842),53043=>array(66,-70,936,842),53044=>array(66,-66,908,842),53045=>array(66,-59,916,842),53046=>array(66,-60,928,842),53047=>array(66,-68,908,842),53048=>array(97,-68,907,843),53049=>array(66,-61,907,843),53050=>array(66,-61,907,843),53051=>array(66,-71,931,843),53052=>array(64,-46,907,843),53053=>array(66,-68,912,843),53054=>array(66,-76,907,843),53055=>array(66,-44,921,843),53056=>array(66,-62,917,843),53057=>array(66,-64,907,843),53058=>array(66,-64,908,843),53059=>array(66,-64,908,843),53060=>array(66,-69,923,843),53061=>array(66,-64,908,843),53062=>array(66,-64,908,843),53063=>array(66,-76,907,843),53064=>array(66,-62,907,843),53065=>array(66,-61,907,843),53066=>array(66,-69,922,843),53067=>array(66,-74,929,843),53068=>array(66,-69,927,843),53069=>array(66,-68,911,843),53070=>array(66,-72,929,843),53071=>array(66,-70,936,843),53072=>array(66,-66,908,843),53073=>array(66,-59,916,843),53074=>array(66,-60,928,843),53075=>array(66,-68,908,843),53076=>array(62,22,943,725),53077=>array(79,-61,921,775),53078=>array(79,-61,921,775),53079=>array(79,-71,921,775),53080=>array(79,-46,922,775),53081=>array(79,-68,921,775),53082=>array(79,-74,921,775),53083=>array(79,-44,921,775),53084=>array(79,-62,921,775),53085=>array(79,-64,921,775),53086=>array(79,-64,921,775),53087=>array(79,-63,921,775),53088=>array(79,-68,921,775),53089=>array(79,-64,921,775),53090=>array(79,-63,921,775),53091=>array(79,-74,921,775),53092=>array(79,-62,921,775),53093=>array(79,-61,921,775),53094=>array(79,-69,921,775),53095=>array(79,-74,921,775),53096=>array(79,-69,921,775),53097=>array(79,-68,921,775),53098=>array(79,-72,921,775),53099=>array(79,-70,921,775),53100=>array(79,-66,921,775),53101=>array(79,-59,921,775),53102=>array(79,-60,921,775),53103=>array(79,-68,921,775),53104=>array(68,-69,936,842),53105=>array(65,-59,936,842),53106=>array(65,-61,936,842),53107=>array(65,-71,936,842),53108=>array(72,-45,936,842),53109=>array(65,-69,936,842),53110=>array(65,-76,936,842),53111=>array(65,-44,936,842),53112=>array(65,-62,936,842),53113=>array(65,-64,936,842),53114=>array(65,-64,936,842),53115=>array(65,-64,936,842),53116=>array(65,-70,936,842),53117=>array(65,-64,936,842),53118=>array(65,-64,936,842),53119=>array(65,-76,936,842),53120=>array(65,-62,936,842),53121=>array(65,-61,936,842),53122=>array(65,-70,936,842),53123=>array(65,-74,936,842),53124=>array(65,-69,936,842),53125=>array(65,-67,936,842),53126=>array(65,-72,936,842),53127=>array(65,-71,936,842),53128=>array(65,-66,936,842),53129=>array(65,-59,936,842),53130=>array(65,-60,936,842),53131=>array(65,-69,936,842),53132=>array(68,-69,907,842),53133=>array(77,-61,907,842),53134=>array(77,-61,907,842),53135=>array(77,-71,931,842),53136=>array(72,-46,907,842),53137=>array(77,-68,912,842),53138=>array(77,-76,907,842),53139=>array(77,-44,921,842),53140=>array(77,-62,917,842),53141=>array(77,-64,907,842),53142=>array(77,-64,908,842),53143=>array(77,-64,908,842),53144=>array(77,-69,923,842),53145=>array(77,-64,908,842),53146=>array(77,-64,908,842),53147=>array(77,-76,907,842),53148=>array(77,-62,907,842),53149=>array(77,-61,907,842),53150=>array(77,-69,922,842),53151=>array(77,-74,929,842),53152=>array(77,-69,927,842),53153=>array(77,-68,911,842),53154=>array(77,-72,929,842),53155=>array(77,-70,936,842),53156=>array(77,-66,908,842),53157=>array(77,-59,916,842),53158=>array(77,-60,928,842),53159=>array(77,-68,908,842),53160=>array(92,-69,907,842),53161=>array(65,-61,907,842),53162=>array(65,-61,907,842),53163=>array(65,-71,931,842),53164=>array(65,-46,907,842),53165=>array(65,-68,912,842),53166=>array(65,-76,907,842),53167=>array(65,-44,921,842),53168=>array(65,-62,917,842),53169=>array(65,-64,907,842),53170=>array(65,-64,908,842),53171=>array(65,-64,908,842),53172=>array(65,-69,923,842),53173=>array(65,-64,908,842),53174=>array(65,-64,908,842),53175=>array(65,-76,907,842),53176=>array(65,-62,907,842),53177=>array(65,-61,907,842),53178=>array(65,-69,922,842),53179=>array(65,-74,929,842),53180=>array(65,-69,927,842),53181=>array(65,-68,911,842),53182=>array(65,-72,929,842),53183=>array(65,-70,936,842),53184=>array(65,-66,908,842),53185=>array(65,-59,916,842),53186=>array(65,-60,928,842),53187=>array(65,-68,908,842),53188=>array(62,22,943,725),53189=>array(79,-61,922,775),53190=>array(79,-61,922,775),53191=>array(79,-71,922,775),53192=>array(79,-46,922,775),53193=>array(79,-68,922,775),53194=>array(79,-74,922,775),53195=>array(79,-44,922,775),53196=>array(79,-62,922,775),53197=>array(79,-64,922,775),53198=>array(79,-64,922,775),53199=>array(79,-63,922,775),53200=>array(79,-68,922,775),53201=>array(79,-64,922,775),53202=>array(79,-63,922,775),53203=>array(79,-74,922,775),53204=>array(79,-62,922,775),53205=>array(79,-61,922,775),53206=>array(79,-69,922,775),53207=>array(79,-74,922,775),53208=>array(79,-69,922,775),53209=>array(79,-68,922,775),53210=>array(79,-72,922,775),53211=>array(79,-70,922,775),53212=>array(79,-66,922,775),53213=>array(79,-59,922,775),53214=>array(79,-60,922,775),53215=>array(79,-68,922,775),53216=>array(87,-64,928,795),53217=>array(79,-61,921,790),53218=>array(79,-61,921,790),53219=>array(79,-71,921,790),53220=>array(79,-46,921,785),53221=>array(79,-68,921,790),53222=>array(79,-74,921,790),53223=>array(79,-44,921,790),53224=>array(79,-62,921,790),53225=>array(79,-64,921,790),53226=>array(79,-64,921,790),53227=>array(79,-63,921,790),53228=>array(79,-68,921,790),53229=>array(79,-64,921,790),53230=>array(79,-63,921,790),53231=>array(79,-74,921,790),53232=>array(79,-62,921,790),53233=>array(79,-61,921,790),53234=>array(79,-69,921,790),53235=>array(79,-74,921,790),53236=>array(79,-69,921,790),53237=>array(79,-68,921,790),53238=>array(79,-72,921,790),53239=>array(79,-70,921,790),53240=>array(79,-66,921,790),53241=>array(79,-59,921,790),53242=>array(79,-60,921,790),53243=>array(79,-68,921,790),53244=>array(70,-70,907,841),53245=>array(75,-61,908,844),53246=>array(75,-61,908,844),53247=>array(75,-71,931,844),53248=>array(76,-46,907,841),53249=>array(75,-68,912,844),53250=>array(75,-76,908,844),53251=>array(75,-44,921,844),53252=>array(75,-62,917,844),53253=>array(75,-64,908,844),53254=>array(75,-64,908,844),53255=>array(75,-64,908,844),53256=>array(75,-69,923,844),53257=>array(75,-64,908,844),53258=>array(75,-64,908,844),53259=>array(75,-76,908,844),53260=>array(75,-62,908,844),53261=>array(75,-61,908,844),53262=>array(75,-69,922,844),53263=>array(75,-74,929,844),53264=>array(75,-69,927,844),53265=>array(75,-68,911,844),53266=>array(75,-72,929,844),53267=>array(75,-70,936,844),53268=>array(75,-66,908,844),53269=>array(75,-59,916,844),53270=>array(75,-60,928,844),53271=>array(75,-68,908,844),53272=>array(61,-68,907,843),53273=>array(70,-61,907,843),53274=>array(70,-61,907,843),53275=>array(70,-71,931,843),53276=>array(76,-46,907,843),53277=>array(70,-68,912,843),53278=>array(70,-76,907,843),53279=>array(70,-44,921,843),53280=>array(70,-62,917,843),53281=>array(70,-64,907,843),53282=>array(70,-64,908,843),53283=>array(70,-64,908,843),53284=>array(70,-69,923,843),53285=>array(70,-64,908,843),53286=>array(70,-64,908,843),53287=>array(70,-76,907,843),53288=>array(70,-62,907,843),53289=>array(70,-61,907,843),53290=>array(70,-69,922,843),53291=>array(70,-74,929,843),53292=>array(70,-69,927,843),53293=>array(70,-68,911,843),53294=>array(70,-72,929,843),53295=>array(70,-70,936,843),53296=>array(70,-66,908,843),53297=>array(70,-59,916,843),53298=>array(70,-60,928,843),53299=>array(70,-68,908,843),53300=>array(67,-69,907,842),53301=>array(65,-61,907,842),53302=>array(65,-61,907,842),53303=>array(65,-71,931,842),53304=>array(65,-46,907,842),53305=>array(65,-68,912,842),53306=>array(65,-76,907,842),53307=>array(65,-44,921,842),53308=>array(65,-62,917,842),53309=>array(65,-64,907,842),53310=>array(65,-64,908,842),53311=>array(65,-64,908,842),53312=>array(65,-69,923,842),53313=>array(65,-64,908,842),53314=>array(65,-64,908,842),53315=>array(65,-76,907,842),53316=>array(65,-62,907,842),53317=>array(65,-61,907,842),53318=>array(65,-69,922,842),53319=>array(65,-74,929,842),53320=>array(65,-69,927,842),53321=>array(65,-68,911,842),53322=>array(65,-72,929,842),53323=>array(65,-70,936,842),53324=>array(65,-66,908,842),53325=>array(65,-59,916,842),53326=>array(65,-60,928,842),53327=>array(65,-68,908,842),53328=>array(87,-64,928,795),53329=>array(79,-61,921,785),53330=>array(79,-61,921,785),53331=>array(79,-71,921,785),53332=>array(96,-46,927,785),53333=>array(79,-68,921,785),53334=>array(79,-74,921,785),53335=>array(79,-44,921,785),53336=>array(79,-62,921,785),53337=>array(79,-64,921,785),53338=>array(79,-64,921,785),53339=>array(79,-63,921,785),53340=>array(79,-68,921,785),53341=>array(79,-64,921,785),53342=>array(79,-63,921,785),53343=>array(79,-74,921,785),53344=>array(79,-62,921,785),53345=>array(79,-61,921,785),53346=>array(79,-69,921,785),53347=>array(79,-74,921,785),53348=>array(79,-69,921,785),53349=>array(79,-68,921,785),53350=>array(79,-72,921,785),53351=>array(79,-70,921,785),53352=>array(79,-66,921,785),53353=>array(79,-59,921,785),53354=>array(79,-60,921,785),53355=>array(79,-68,921,785),53356=>array(67,27,943,700),53357=>array(79,-61,922,785),53358=>array(79,-61,922,785),53359=>array(79,-71,922,785),53360=>array(79,-46,921,785),53361=>array(79,-68,922,785),53362=>array(79,-74,922,785),53363=>array(79,-44,922,785),53364=>array(79,-62,922,785),53365=>array(79,-64,922,785),53366=>array(79,-64,922,785),53367=>array(79,-63,922,785),53368=>array(79,-68,922,785),53369=>array(79,-64,922,785),53370=>array(79,-63,922,785),53371=>array(79,-74,922,785),53372=>array(79,-62,922,785),53373=>array(79,-61,922,785),53374=>array(79,-69,922,785),53375=>array(79,-74,922,785),53376=>array(79,-69,922,785),53377=>array(79,-68,922,785),53378=>array(79,-72,922,785),53379=>array(79,-70,922,785),53380=>array(79,-66,922,785),53381=>array(79,-59,922,785),53382=>array(79,-60,922,785),53383=>array(79,-68,922,785),53384=>array(65,-69,907,842),53385=>array(59,-61,907,842),53386=>array(59,-61,907,842),53387=>array(59,-71,931,842),53388=>array(65,-46,907,842),53389=>array(59,-68,912,842),53390=>array(59,-76,907,842),53391=>array(59,-44,921,842),53392=>array(59,-62,917,842),53393=>array(59,-64,907,842),53394=>array(59,-64,908,842),53395=>array(59,-64,908,842),53396=>array(59,-69,923,842),53397=>array(59,-64,908,842),53398=>array(59,-64,908,842),53399=>array(59,-76,907,842),53400=>array(59,-62,907,842),53401=>array(59,-61,907,842),53402=>array(59,-69,922,842),53403=>array(59,-74,929,842),53404=>array(59,-69,927,842),53405=>array(59,-68,911,842),53406=>array(59,-72,929,842),53407=>array(59,-70,936,842),53408=>array(59,-66,908,842),53409=>array(59,-59,916,842),53410=>array(59,-60,928,842),53411=>array(59,-68,908,842),53412=>array(120,-69,907,842),53413=>array(67,-61,907,842),53414=>array(67,-61,907,842),53415=>array(67,-71,931,842),53416=>array(94,-46,907,842),53417=>array(67,-68,912,842),53418=>array(67,-76,907,842),53419=>array(67,-44,921,842),53420=>array(67,-62,917,842),53421=>array(67,-64,907,842),53422=>array(67,-64,908,842),53423=>array(67,-64,908,842),53424=>array(67,-69,923,842),53425=>array(67,-64,908,842),53426=>array(67,-64,908,842),53427=>array(67,-76,907,842),53428=>array(67,-62,907,842),53429=>array(67,-61,907,842),53430=>array(67,-69,922,842),53431=>array(67,-74,929,842),53432=>array(67,-69,927,842),53433=>array(67,-68,911,842),53434=>array(67,-72,929,842),53435=>array(67,-70,936,842),53436=>array(67,-66,908,842),53437=>array(67,-59,916,842),53438=>array(67,-60,928,842),53439=>array(67,-68,908,842),53440=>array(115,-69,936,842),53441=>array(115,-59,936,842),53442=>array(115,-61,936,842),53443=>array(115,-71,936,842),53444=>array(115,-45,936,842),53445=>array(115,-69,936,842),53446=>array(115,-76,936,842),53447=>array(115,-44,936,842),53448=>array(115,-62,936,842),53449=>array(115,-64,936,842),53450=>array(115,-64,936,842),53451=>array(115,-64,936,842),53452=>array(115,-70,936,842),53453=>array(115,-64,936,842),53454=>array(115,-64,936,842),53455=>array(115,-76,936,842),53456=>array(115,-62,936,842),53457=>array(115,-61,936,842),53458=>array(115,-70,936,842),53459=>array(115,-74,936,842),53460=>array(115,-69,936,842),53461=>array(115,-67,936,842),53462=>array(115,-72,936,842),53463=>array(115,-71,936,842),53464=>array(115,-66,936,842),53465=>array(115,-59,936,842),53466=>array(115,-60,936,842),53467=>array(115,-69,936,842),53468=>array(115,-69,907,842),53469=>array(115,-61,907,842),53470=>array(115,-61,907,842),53471=>array(115,-71,931,842),53472=>array(115,-46,907,842),53473=>array(115,-68,912,842),53474=>array(115,-76,907,842),53475=>array(115,-44,921,842),53476=>array(115,-62,917,842),53477=>array(115,-64,907,842),53478=>array(115,-64,908,842),53479=>array(115,-64,908,842),53480=>array(115,-69,923,842),53481=>array(115,-64,908,842),53482=>array(115,-64,908,842),53483=>array(115,-76,907,842),53484=>array(115,-62,907,842),53485=>array(115,-61,907,842),53486=>array(115,-69,922,842),53487=>array(115,-74,929,842),53488=>array(115,-69,927,842),53489=>array(115,-68,911,842),53490=>array(115,-72,929,842),53491=>array(115,-70,936,842),53492=>array(115,-66,908,842),53493=>array(115,-59,916,842),53494=>array(115,-60,928,842),53495=>array(115,-68,908,842),53496=>array(114,-68,935,843),53497=>array(115,-59,936,842),53498=>array(115,-61,936,842),53499=>array(115,-71,936,842),53500=>array(115,-45,936,842),53501=>array(115,-69,936,842),53502=>array(115,-76,936,842),53503=>array(115,-44,936,842),53504=>array(115,-62,936,842),53505=>array(115,-64,936,842),53506=>array(115,-64,936,842),53507=>array(115,-64,936,842),53508=>array(115,-70,936,842),53509=>array(115,-64,936,842),53510=>array(115,-64,936,842),53511=>array(115,-76,936,842),53512=>array(115,-62,936,842),53513=>array(115,-61,936,842),53514=>array(115,-70,936,842),53515=>array(115,-74,936,842),53516=>array(115,-69,936,842),53517=>array(115,-67,936,842),53518=>array(115,-72,936,842),53519=>array(115,-71,936,842),53520=>array(115,-66,936,842),53521=>array(115,-59,936,842),53522=>array(115,-60,936,842),53523=>array(115,-69,936,842),53524=>array(115,-69,907,842),53525=>array(115,-61,907,842),53526=>array(115,-61,907,842),53527=>array(115,-71,931,842),53528=>array(115,-46,907,842),53529=>array(115,-68,912,842),53530=>array(115,-76,907,842),53531=>array(115,-44,921,842),53532=>array(115,-62,917,842),53533=>array(115,-64,907,842),53534=>array(115,-64,908,842),53535=>array(115,-64,908,842),53536=>array(115,-69,923,842),53537=>array(115,-64,908,842),53538=>array(115,-64,908,842),53539=>array(115,-76,907,842),53540=>array(115,-62,907,842),53541=>array(115,-61,907,842),53542=>array(115,-69,922,842),53543=>array(115,-74,929,842),53544=>array(115,-69,927,842),53545=>array(115,-68,911,842),53546=>array(115,-72,929,842),53547=>array(115,-70,936,842),53548=>array(115,-66,908,842),53549=>array(115,-59,916,842),53550=>array(115,-60,928,842),53551=>array(115,-68,908,842),53552=>array(115,-70,907,841),53553=>array(115,-61,907,841),53554=>array(115,-61,907,841),53555=>array(115,-71,931,841),53556=>array(115,-46,907,841),53557=>array(115,-68,912,841),53558=>array(115,-76,907,841),53559=>array(115,-44,921,841),53560=>array(115,-62,917,841),53561=>array(115,-64,907,841),53562=>array(115,-64,908,841),53563=>array(115,-64,908,841),53564=>array(115,-69,923,841),53565=>array(115,-64,908,841),53566=>array(115,-64,908,841),53567=>array(115,-76,906,841),53568=>array(115,-62,907,841),53569=>array(115,-61,907,841),53570=>array(115,-69,922,841),53571=>array(115,-74,929,841),53572=>array(115,-69,927,841),53573=>array(115,-68,911,841),53574=>array(115,-72,929,841),53575=>array(115,-70,936,841),53576=>array(115,-66,908,841),53577=>array(115,-59,916,841),53578=>array(115,-60,928,841),53579=>array(115,-68,908,841),53580=>array(115,-68,907,843),53581=>array(115,-61,907,843),53582=>array(115,-61,907,843),53583=>array(115,-71,931,843),53584=>array(115,-46,907,843),53585=>array(115,-68,912,843),53586=>array(115,-76,907,843),53587=>array(115,-44,921,843),53588=>array(115,-62,917,843),53589=>array(115,-64,907,843),53590=>array(115,-64,908,843),53591=>array(115,-64,908,843),53592=>array(115,-69,923,843),53593=>array(115,-64,908,843),53594=>array(115,-64,908,843),53595=>array(115,-76,907,843),53596=>array(115,-62,907,843),53597=>array(115,-61,907,843),53598=>array(115,-69,922,843),53599=>array(115,-74,929,843),53600=>array(115,-69,927,843),53601=>array(115,-68,911,843),53602=>array(115,-72,929,843),53603=>array(115,-70,936,843),53604=>array(115,-66,908,843),53605=>array(115,-59,916,843),53606=>array(115,-60,928,843),53607=>array(115,-68,908,843),53608=>array(115,-70,907,842),53609=>array(115,-61,908,842),53610=>array(115,-61,908,842),53611=>array(115,-71,931,842),53612=>array(115,-46,907,842),53613=>array(115,-68,912,842),53614=>array(115,-76,908,842),53615=>array(115,-44,921,842),53616=>array(115,-62,917,842),53617=>array(115,-64,908,842),53618=>array(115,-64,908,842),53619=>array(115,-64,908,842),53620=>array(115,-69,923,842),53621=>array(115,-64,908,842),53622=>array(115,-64,908,842),53623=>array(115,-76,908,842),53624=>array(115,-62,908,842),53625=>array(115,-61,908,842),53626=>array(115,-69,922,842),53627=>array(115,-74,929,842),53628=>array(115,-69,927,842),53629=>array(115,-68,911,842),53630=>array(115,-72,929,842),53631=>array(115,-70,936,842),53632=>array(115,-66,908,842),53633=>array(115,-59,916,842),53634=>array(115,-60,928,842),53635=>array(115,-68,908,842),53636=>array(115,-68,907,843),53637=>array(115,-61,907,843),53638=>array(115,-61,907,843),53639=>array(115,-71,931,843),53640=>array(115,-46,907,843),53641=>array(115,-68,912,843),53642=>array(115,-76,907,843),53643=>array(115,-44,921,843),53644=>array(115,-62,917,843),53645=>array(115,-64,907,843),53646=>array(115,-64,908,843),53647=>array(115,-64,908,843),53648=>array(115,-69,923,843),53649=>array(115,-64,908,843),53650=>array(115,-64,908,843),53651=>array(115,-76,907,843),53652=>array(115,-62,907,843),53653=>array(115,-61,907,843),53654=>array(115,-69,922,843),53655=>array(115,-74,929,843),53656=>array(115,-69,927,843),53657=>array(115,-68,911,843),53658=>array(115,-72,929,843),53659=>array(115,-70,936,843),53660=>array(115,-66,908,843),53661=>array(115,-59,916,843),53662=>array(115,-60,928,843),53663=>array(115,-68,908,843),53664=>array(62,17,943,757),53665=>array(79,-61,921,799),53666=>array(79,-61,921,799),53667=>array(79,-71,921,799),53668=>array(79,-46,922,789),53669=>array(79,-68,921,799),53670=>array(79,-74,921,799),53671=>array(79,-44,921,799),53672=>array(79,-62,921,799),53673=>array(79,-64,921,799),53674=>array(79,-64,921,799),53675=>array(79,-63,921,799),53676=>array(79,-68,921,799),53677=>array(79,-64,921,799),53678=>array(79,-63,921,799),53679=>array(79,-74,921,799),53680=>array(79,-62,921,799),53681=>array(79,-61,921,799),53682=>array(79,-69,921,799),53683=>array(79,-74,921,799),53684=>array(79,-69,921,799),53685=>array(79,-68,921,799),53686=>array(79,-72,921,799),53687=>array(79,-70,921,799),53688=>array(79,-66,921,799),53689=>array(79,-59,921,799),53690=>array(79,-60,921,799),53691=>array(79,-68,921,799),53692=>array(53,-69,936,842),53693=>array(77,-59,936,842),53694=>array(77,-61,936,842),53695=>array(77,-71,936,842),53696=>array(77,-45,936,842),53697=>array(77,-69,936,842),53698=>array(77,-76,936,842),53699=>array(77,-44,936,842),53700=>array(77,-62,936,842),53701=>array(77,-64,936,842),53702=>array(77,-64,936,842),53703=>array(77,-64,936,842),53704=>array(77,-70,936,842),53705=>array(77,-64,936,842),53706=>array(77,-64,936,842),53707=>array(77,-76,936,842),53708=>array(77,-62,936,842),53709=>array(77,-61,936,842),53710=>array(77,-70,936,842),53711=>array(77,-74,936,842),53712=>array(77,-69,936,842),53713=>array(77,-67,936,842),53714=>array(77,-72,936,842),53715=>array(77,-71,936,842),53716=>array(77,-66,936,842),53717=>array(77,-59,936,842),53718=>array(77,-60,936,842),53719=>array(77,-69,936,842),53720=>array(43,-69,907,842),53721=>array(77,-61,907,842),53722=>array(77,-61,907,842),53723=>array(77,-71,931,842),53724=>array(77,-46,907,842),53725=>array(77,-68,912,842),53726=>array(77,-76,907,842),53727=>array(77,-44,921,842),53728=>array(77,-62,917,842),53729=>array(77,-64,907,842),53730=>array(77,-64,908,842),53731=>array(77,-64,908,842),53732=>array(77,-69,923,842),53733=>array(77,-64,908,842),53734=>array(77,-64,908,842),53735=>array(77,-76,907,842),53736=>array(77,-62,907,842),53737=>array(77,-61,907,842),53738=>array(77,-69,922,842),53739=>array(77,-74,929,842),53740=>array(77,-69,927,842),53741=>array(77,-68,911,842),53742=>array(77,-72,929,842),53743=>array(77,-70,936,842),53744=>array(77,-66,908,842),53745=>array(77,-59,916,842),53746=>array(77,-60,928,842),53747=>array(77,-68,908,842),53748=>array(53,-68,907,843),53749=>array(65,-61,907,842),53750=>array(65,-61,907,842),53751=>array(65,-71,931,842),53752=>array(65,-46,907,842),53753=>array(65,-68,912,842),53754=>array(65,-76,907,842),53755=>array(65,-44,921,842),53756=>array(65,-62,917,842),53757=>array(65,-64,907,842),53758=>array(65,-64,908,842),53759=>array(65,-64,908,842),53760=>array(65,-69,923,842),53761=>array(65,-64,908,842),53762=>array(65,-64,908,842),53763=>array(65,-76,907,842),53764=>array(65,-62,907,842),53765=>array(65,-61,907,842),53766=>array(65,-69,922,842),53767=>array(65,-74,929,842),53768=>array(65,-69,927,842),53769=>array(65,-68,911,842),53770=>array(65,-72,929,842),53771=>array(65,-70,936,842),53772=>array(65,-66,908,842),53773=>array(65,-59,916,842),53774=>array(65,-60,928,842),53775=>array(65,-68,908,842),53776=>array(62,7,943,777),53777=>array(79,-61,921,799),53778=>array(79,-61,921,799),53779=>array(79,-71,921,799),53780=>array(79,-46,921,794),53781=>array(79,-68,921,799),53782=>array(79,-74,921,799),53783=>array(79,-44,921,799),53784=>array(79,-62,921,799),53785=>array(79,-64,921,799),53786=>array(79,-64,921,799),53787=>array(79,-63,921,799),53788=>array(79,-68,921,799),53789=>array(79,-64,921,799),53790=>array(79,-63,921,799),53791=>array(79,-74,921,799),53792=>array(79,-62,921,799),53793=>array(79,-61,921,799),53794=>array(79,-69,921,799),53795=>array(79,-74,921,799),53796=>array(79,-69,921,799),53797=>array(79,-68,921,799),53798=>array(79,-72,921,799),53799=>array(79,-70,921,799),53800=>array(79,-66,921,799),53801=>array(79,-59,921,799),53802=>array(79,-60,921,799),53803=>array(79,-68,921,799),53804=>array(82,-64,924,789),53805=>array(79,-61,921,799),53806=>array(79,-61,921,799),53807=>array(79,-71,921,799),53808=>array(79,-46,921,789),53809=>array(79,-68,921,799),53810=>array(79,-74,921,799),53811=>array(79,-44,921,799),53812=>array(79,-62,921,799),53813=>array(79,-64,921,799),53814=>array(79,-64,921,799),53815=>array(79,-63,921,799),53816=>array(79,-68,921,799),53817=>array(79,-64,921,799),53818=>array(79,-63,921,799),53819=>array(79,-74,921,799),53820=>array(79,-62,921,799),53821=>array(79,-61,921,799),53822=>array(79,-69,921,799),53823=>array(79,-74,921,799),53824=>array(79,-69,921,799),53825=>array(79,-68,921,799),53826=>array(79,-72,921,799),53827=>array(79,-70,921,799),53828=>array(79,-66,921,799),53829=>array(79,-59,921,799),53830=>array(79,-60,921,799),53831=>array(79,-68,921,799),53832=>array(76,-70,907,841),53833=>array(74,-61,909,843),53834=>array(74,-61,909,843),53835=>array(74,-71,931,843),53836=>array(75,-46,909,843),53837=>array(74,-68,912,843),53838=>array(74,-76,909,843),53839=>array(74,-44,921,843),53840=>array(74,-62,917,843),53841=>array(74,-64,909,843),53842=>array(74,-64,909,843),53843=>array(74,-64,909,843),53844=>array(74,-69,923,843),53845=>array(74,-64,909,843),53846=>array(74,-64,909,843),53847=>array(74,-76,909,843),53848=>array(74,-62,909,843),53849=>array(74,-61,909,843),53850=>array(74,-69,922,843),53851=>array(74,-74,929,843),53852=>array(74,-69,927,843),53853=>array(74,-68,911,843),53854=>array(74,-72,929,843),53855=>array(74,-70,936,843),53856=>array(74,-66,909,843),53857=>array(74,-59,916,843),53858=>array(74,-60,928,843),53859=>array(74,-68,909,843),53860=>array(56,-68,907,843),53861=>array(68,-61,907,843),53862=>array(68,-61,907,843),53863=>array(68,-71,931,843),53864=>array(74,-46,907,843),53865=>array(68,-68,912,843),53866=>array(68,-76,907,843),53867=>array(68,-44,921,843),53868=>array(68,-62,917,843),53869=>array(68,-64,907,843),53870=>array(68,-64,908,843),53871=>array(68,-64,908,843),53872=>array(68,-69,923,843),53873=>array(68,-64,908,843),53874=>array(68,-64,908,843),53875=>array(68,-76,907,843),53876=>array(68,-62,907,843),53877=>array(68,-61,907,843),53878=>array(68,-69,922,843),53879=>array(68,-74,929,843),53880=>array(68,-69,927,843),53881=>array(68,-68,911,843),53882=>array(68,-72,929,843),53883=>array(68,-70,936,843),53884=>array(68,-66,908,843),53885=>array(68,-59,916,843),53886=>array(68,-60,928,843),53887=>array(68,-68,908,843),53888=>array(67,-69,907,842),53889=>array(65,-61,907,842),53890=>array(65,-61,907,842),53891=>array(65,-71,931,842),53892=>array(65,-46,907,842),53893=>array(65,-68,912,842),53894=>array(65,-76,907,842),53895=>array(65,-44,921,842),53896=>array(65,-62,917,842),53897=>array(65,-64,907,842),53898=>array(65,-64,908,842),53899=>array(65,-64,908,842),53900=>array(65,-69,923,842),53901=>array(65,-64,908,842),53902=>array(65,-64,908,842),53903=>array(65,-76,907,842),53904=>array(65,-62,907,842),53905=>array(65,-61,907,842),53906=>array(65,-69,922,842),53907=>array(65,-74,929,842),53908=>array(65,-69,927,842),53909=>array(65,-68,911,842),53910=>array(65,-72,929,842),53911=>array(65,-70,936,842),53912=>array(65,-66,908,842),53913=>array(65,-59,916,842),53914=>array(65,-60,928,842),53915=>array(65,-68,908,842),53916=>array(82,-64,924,784),53917=>array(79,-61,921,799),53918=>array(79,-61,921,799),53919=>array(79,-71,921,799),53920=>array(81,-46,922,789),53921=>array(79,-68,921,799),53922=>array(79,-74,921,799),53923=>array(79,-44,921,799),53924=>array(79,-62,921,799),53925=>array(79,-64,921,799),53926=>array(79,-64,921,799),53927=>array(79,-63,921,799),53928=>array(79,-68,921,799),53929=>array(79,-64,921,799),53930=>array(79,-63,921,799),53931=>array(79,-74,921,799),53932=>array(79,-62,921,799),53933=>array(79,-61,921,799),53934=>array(79,-69,921,799),53935=>array(79,-74,921,799),53936=>array(79,-69,921,799),53937=>array(79,-68,921,799),53938=>array(79,-72,921,799),53939=>array(79,-70,921,799),53940=>array(79,-66,921,799),53941=>array(79,-59,921,799),53942=>array(79,-60,921,799),53943=>array(79,-68,921,799),53944=>array(57,52,943,719),53945=>array(79,-61,922,796),53946=>array(79,-61,922,796),53947=>array(79,-71,922,796),53948=>array(79,-46,921,791),53949=>array(79,-68,922,796),53950=>array(79,-74,922,796),53951=>array(79,-44,922,796),53952=>array(79,-62,922,796),53953=>array(79,-64,922,796),53954=>array(79,-64,922,796),53955=>array(79,-63,922,796),53956=>array(79,-68,922,796),53957=>array(79,-64,922,796),53958=>array(79,-63,922,796),53959=>array(79,-74,922,796),53960=>array(79,-62,922,796),53961=>array(79,-61,922,796),53962=>array(79,-69,922,796),53963=>array(79,-74,922,796),53964=>array(79,-69,922,796),53965=>array(79,-68,922,796),53966=>array(79,-72,922,796),53967=>array(79,-70,922,796),53968=>array(79,-66,922,796),53969=>array(79,-59,922,796),53970=>array(79,-60,922,796),53971=>array(79,-68,922,796),53972=>array(67,-69,907,842),53973=>array(65,-61,907,842),53974=>array(65,-61,907,842),53975=>array(65,-71,931,842),53976=>array(65,-46,907,842),53977=>array(65,-68,912,842),53978=>array(65,-76,907,842),53979=>array(65,-44,921,842),53980=>array(65,-62,917,842),53981=>array(65,-64,907,842),53982=>array(65,-64,908,842),53983=>array(65,-64,908,842),53984=>array(65,-69,923,842),53985=>array(65,-64,908,842),53986=>array(65,-64,908,842),53987=>array(65,-76,907,842),53988=>array(65,-62,907,842),53989=>array(65,-61,907,842),53990=>array(65,-69,922,842),53991=>array(65,-74,929,842),53992=>array(65,-69,927,842),53993=>array(65,-68,911,842),53994=>array(65,-72,929,842),53995=>array(65,-70,936,842),53996=>array(65,-66,908,842),53997=>array(65,-59,916,842),53998=>array(65,-60,928,842),53999=>array(65,-68,908,842),54000=>array(125,-69,907,842),54001=>array(130,-61,907,842),54002=>array(130,-61,907,842),54003=>array(130,-71,931,842),54004=>array(125,-46,907,842),54005=>array(130,-68,912,842),54006=>array(130,-76,907,842),54007=>array(130,-44,921,842),54008=>array(130,-62,917,842),54009=>array(130,-64,907,842),54010=>array(130,-64,908,842),54011=>array(130,-64,908,842),54012=>array(130,-69,923,842),54013=>array(130,-64,908,842),54014=>array(130,-64,908,842),54015=>array(130,-76,907,842),54016=>array(130,-62,907,842),54017=>array(130,-61,907,842),54018=>array(130,-69,922,842),54019=>array(130,-74,929,842),54020=>array(130,-69,927,842),54021=>array(130,-68,911,842),54022=>array(130,-72,929,842),54023=>array(130,-70,936,842),54024=>array(130,-66,908,842),54025=>array(130,-59,916,842),54026=>array(130,-60,928,842),54027=>array(130,-68,908,842),54028=>array(84,-69,936,842),54029=>array(66,-59,936,842),54030=>array(66,-61,936,842),54031=>array(66,-71,936,842),54032=>array(78,-45,936,842),54033=>array(66,-69,936,842),54034=>array(66,-76,936,842),54035=>array(66,-44,936,842),54036=>array(66,-62,936,842),54037=>array(66,-64,936,842),54038=>array(66,-64,936,842),54039=>array(66,-64,936,842),54040=>array(66,-70,936,842),54041=>array(66,-64,936,842),54042=>array(66,-64,936,842),54043=>array(66,-76,936,842),54044=>array(66,-62,936,842),54045=>array(66,-61,936,842),54046=>array(66,-70,936,842),54047=>array(66,-74,936,842),54048=>array(66,-69,936,842),54049=>array(66,-67,936,842),54050=>array(66,-72,936,842),54051=>array(66,-71,936,842),54052=>array(66,-66,936,842),54053=>array(66,-59,936,842),54054=>array(66,-60,936,842),54055=>array(66,-69,936,842),54056=>array(73,-69,907,842),54057=>array(83,-61,907,842),54058=>array(83,-61,907,842),54059=>array(83,-71,931,842),54060=>array(78,-46,907,842),54061=>array(83,-68,912,842),54062=>array(83,-76,907,842),54063=>array(83,-44,921,842),54064=>array(83,-62,917,842),54065=>array(83,-64,907,842),54066=>array(83,-64,908,842),54067=>array(83,-64,908,842),54068=>array(83,-69,923,842),54069=>array(83,-64,908,842),54070=>array(83,-64,908,842),54071=>array(83,-76,907,842),54072=>array(83,-62,907,842),54073=>array(83,-61,907,842),54074=>array(83,-69,922,842),54075=>array(83,-74,929,842),54076=>array(83,-69,927,842),54077=>array(83,-68,911,842),54078=>array(83,-72,929,842),54079=>array(83,-70,936,842),54080=>array(83,-66,908,842),54081=>array(83,-59,916,842),54082=>array(83,-60,928,842),54083=>array(83,-68,908,842),54084=>array(84,-68,935,843),54085=>array(66,-59,936,842),54086=>array(66,-61,936,842),54087=>array(66,-71,936,842),54088=>array(78,-45,936,842),54089=>array(66,-69,936,842),54090=>array(66,-76,936,842),54091=>array(66,-44,936,842),54092=>array(66,-62,936,842),54093=>array(66,-64,936,842),54094=>array(66,-64,936,842),54095=>array(66,-64,936,842),54096=>array(66,-70,936,842),54097=>array(66,-64,936,842),54098=>array(66,-64,936,842),54099=>array(66,-76,936,842),54100=>array(66,-62,936,842),54101=>array(66,-61,936,842),54102=>array(66,-70,936,842),54103=>array(66,-74,936,842),54104=>array(66,-69,936,842),54105=>array(66,-67,936,842),54106=>array(66,-72,936,842),54107=>array(66,-71,936,842),54108=>array(66,-66,936,842),54109=>array(66,-59,936,842),54110=>array(66,-60,936,842),54111=>array(66,-69,936,842),54112=>array(73,-69,907,842),54113=>array(83,-61,907,842),54114=>array(83,-61,907,842),54115=>array(83,-71,931,842),54116=>array(78,-46,907,842),54117=>array(83,-68,912,842),54118=>array(83,-76,907,842),54119=>array(83,-44,921,842),54120=>array(83,-62,917,842),54121=>array(83,-64,907,842),54122=>array(83,-64,908,842),54123=>array(83,-64,908,842),54124=>array(83,-69,923,842),54125=>array(83,-64,908,842),54126=>array(83,-64,908,842),54127=>array(83,-76,907,842),54128=>array(83,-62,907,842),54129=>array(83,-61,907,842),54130=>array(83,-69,922,842),54131=>array(83,-74,929,842),54132=>array(83,-69,927,842),54133=>array(83,-68,911,842),54134=>array(83,-72,929,842),54135=>array(83,-70,936,842),54136=>array(83,-66,908,842),54137=>array(83,-59,916,842),54138=>array(83,-60,928,842),54139=>array(83,-68,908,842),54140=>array(84,-70,907,841),54141=>array(66,-61,907,841),54142=>array(66,-61,907,841),54143=>array(66,-71,931,841),54144=>array(78,-46,907,841),54145=>array(66,-68,912,841),54146=>array(66,-76,907,841),54147=>array(66,-44,921,841),54148=>array(66,-62,917,841),54149=>array(66,-64,907,841),54150=>array(66,-64,908,841),54151=>array(66,-64,908,841),54152=>array(66,-69,923,841),54153=>array(66,-64,908,841),54154=>array(66,-64,908,841),54155=>array(66,-76,906,841),54156=>array(66,-62,907,841),54157=>array(66,-61,907,841),54158=>array(66,-69,922,841),54159=>array(66,-74,929,841),54160=>array(66,-69,927,841),54161=>array(66,-68,911,841),54162=>array(66,-72,929,841),54163=>array(66,-70,936,841),54164=>array(66,-66,908,841),54165=>array(66,-59,916,841),54166=>array(66,-60,928,841),54167=>array(66,-68,908,841),54168=>array(63,-68,907,843),54169=>array(65,-61,907,843),54170=>array(65,-61,907,843),54171=>array(65,-71,931,843),54172=>array(83,-46,907,843),54173=>array(65,-68,912,843),54174=>array(65,-76,907,843),54175=>array(65,-44,921,843),54176=>array(65,-62,917,843),54177=>array(65,-64,907,843),54178=>array(65,-64,908,843),54179=>array(65,-64,908,843),54180=>array(65,-69,923,843),54181=>array(65,-64,908,843),54182=>array(65,-64,908,843),54183=>array(65,-76,907,843),54184=>array(65,-62,907,843),54185=>array(65,-61,907,843),54186=>array(65,-69,922,843),54187=>array(65,-74,929,843),54188=>array(65,-69,927,843),54189=>array(65,-68,911,843),54190=>array(65,-72,929,843),54191=>array(65,-70,936,843),54192=>array(65,-66,908,843),54193=>array(65,-59,916,843),54194=>array(65,-60,928,843),54195=>array(65,-68,908,843),54196=>array(74,-70,907,842),54197=>array(56,-61,908,842),54198=>array(56,-61,908,842),54199=>array(56,-71,931,842),54200=>array(68,-46,907,842),54201=>array(56,-68,912,842),54202=>array(56,-76,908,842),54203=>array(56,-44,921,842),54204=>array(56,-62,917,842),54205=>array(56,-64,908,842),54206=>array(56,-64,908,842),54207=>array(56,-64,908,842),54208=>array(56,-69,923,842),54209=>array(56,-64,908,842),54210=>array(56,-64,908,842),54211=>array(56,-76,908,842),54212=>array(56,-62,908,842),54213=>array(56,-61,908,842),54214=>array(56,-69,922,842),54215=>array(56,-74,929,842),54216=>array(56,-69,927,842),54217=>array(56,-68,911,842),54218=>array(56,-72,929,842),54219=>array(56,-70,936,842),54220=>array(56,-66,908,842),54221=>array(56,-59,916,842),54222=>array(56,-60,928,842),54223=>array(56,-68,908,842),54224=>array(63,-68,907,843),54225=>array(65,-61,907,843),54226=>array(65,-61,907,843),54227=>array(65,-71,931,843),54228=>array(83,-46,907,843),54229=>array(65,-68,912,843),54230=>array(65,-76,907,843),54231=>array(65,-44,921,843),54232=>array(65,-62,917,843),54233=>array(65,-64,907,843),54234=>array(65,-64,908,843),54235=>array(65,-64,908,843),54236=>array(65,-69,923,843),54237=>array(65,-64,908,843),54238=>array(65,-64,908,843),54239=>array(65,-76,907,843),54240=>array(65,-62,907,843),54241=>array(65,-61,907,843),54242=>array(65,-69,922,843),54243=>array(65,-74,929,843),54244=>array(65,-69,927,843),54245=>array(65,-68,911,843),54246=>array(65,-72,929,843),54247=>array(65,-70,936,843),54248=>array(65,-66,908,843),54249=>array(65,-59,916,843),54250=>array(65,-60,928,843),54251=>array(65,-68,908,843),54252=>array(62,22,938,724),54253=>array(79,-61,921,799),54254=>array(79,-61,921,799),54255=>array(79,-71,921,799),54256=>array(79,-46,922,799),54257=>array(79,-68,921,799),54258=>array(79,-74,921,799),54259=>array(79,-44,921,799),54260=>array(79,-62,921,799),54261=>array(79,-64,921,799),54262=>array(79,-64,921,799),54263=>array(79,-63,921,799),54264=>array(79,-68,921,799),54265=>array(79,-64,921,799),54266=>array(79,-63,921,799),54267=>array(79,-74,921,799),54268=>array(79,-62,921,799),54269=>array(79,-61,921,799),54270=>array(79,-69,921,799),54271=>array(79,-74,921,799),54272=>array(79,-69,921,799),54273=>array(79,-68,921,799),54274=>array(79,-72,921,799),54275=>array(79,-70,921,799),54276=>array(79,-66,921,799),54277=>array(79,-59,921,799),54278=>array(79,-60,921,799),54279=>array(79,-68,921,799),54280=>array(68,-69,936,842),54281=>array(77,-59,936,842),54282=>array(77,-61,936,842),54283=>array(77,-71,936,842),54284=>array(77,-45,936,842),54285=>array(77,-69,936,842),54286=>array(77,-76,936,842),54287=>array(77,-44,936,842),54288=>array(77,-62,936,842),54289=>array(77,-64,936,842),54290=>array(77,-64,936,842),54291=>array(77,-64,936,842),54292=>array(77,-70,936,842),54293=>array(77,-64,936,842),54294=>array(77,-64,936,842),54295=>array(77,-76,936,842),54296=>array(77,-62,936,842),54297=>array(77,-61,936,842),54298=>array(77,-70,936,842),54299=>array(77,-74,936,842),54300=>array(77,-69,936,842),54301=>array(77,-67,936,842),54302=>array(77,-72,936,842),54303=>array(77,-71,936,842),54304=>array(77,-66,936,842),54305=>array(77,-59,936,842),54306=>array(77,-60,936,842),54307=>array(77,-69,936,842),54308=>array(59,-69,907,842),54309=>array(77,-61,907,842),54310=>array(77,-61,907,842),54311=>array(77,-71,931,842),54312=>array(67,-46,907,842),54313=>array(77,-68,912,842),54314=>array(77,-76,907,842),54315=>array(77,-44,921,842),54316=>array(77,-62,917,842),54317=>array(77,-64,907,842),54318=>array(77,-64,908,842),54319=>array(77,-64,908,842),54320=>array(77,-69,923,842),54321=>array(77,-64,908,842),54322=>array(77,-64,908,842),54323=>array(77,-76,907,842),54324=>array(77,-62,907,842),54325=>array(77,-61,907,842),54326=>array(77,-69,922,842),54327=>array(77,-74,929,842),54328=>array(77,-69,927,842),54329=>array(77,-68,911,842),54330=>array(77,-72,929,842),54331=>array(77,-70,936,842),54332=>array(77,-66,908,842),54333=>array(77,-59,916,842),54334=>array(77,-60,928,842),54335=>array(77,-68,908,842),54336=>array(53,-68,908,843),54337=>array(65,-61,907,842),54338=>array(65,-61,907,842),54339=>array(65,-71,931,842),54340=>array(65,-46,907,842),54341=>array(65,-68,912,842),54342=>array(65,-76,907,842),54343=>array(65,-44,921,842),54344=>array(65,-62,917,842),54345=>array(65,-64,907,842),54346=>array(65,-64,908,842),54347=>array(65,-64,908,842),54348=>array(65,-69,923,842),54349=>array(65,-64,908,842),54350=>array(65,-64,908,842),54351=>array(65,-76,907,842),54352=>array(65,-62,907,842),54353=>array(65,-61,907,842),54354=>array(65,-69,922,842),54355=>array(65,-74,929,842),54356=>array(65,-69,927,842),54357=>array(65,-68,911,842),54358=>array(65,-72,929,842),54359=>array(65,-70,936,842),54360=>array(65,-66,908,842),54361=>array(65,-59,916,842),54362=>array(65,-60,928,842),54363=>array(65,-68,908,842),54364=>array(60,17,940,739),54365=>array(79,-61,921,799),54366=>array(79,-61,921,799),54367=>array(79,-71,921,799),54368=>array(79,-46,921,799),54369=>array(79,-68,921,799),54370=>array(79,-74,921,799),54371=>array(79,-44,921,799),54372=>array(79,-62,921,799),54373=>array(79,-64,921,799),54374=>array(79,-64,921,799),54375=>array(79,-63,921,799),54376=>array(79,-68,921,799),54377=>array(79,-64,921,799),54378=>array(79,-63,921,799),54379=>array(79,-74,921,799),54380=>array(79,-62,921,799),54381=>array(79,-61,921,799),54382=>array(79,-69,921,799),54383=>array(79,-74,921,799),54384=>array(79,-69,921,799),54385=>array(79,-68,921,799),54386=>array(79,-72,921,799),54387=>array(79,-70,921,799),54388=>array(79,-66,921,799),54389=>array(79,-59,921,799),54390=>array(79,-60,921,799),54391=>array(79,-68,921,799),54392=>array(79,-64,921,794),54393=>array(79,-61,921,799),54394=>array(79,-61,921,799),54395=>array(79,-71,921,799),54396=>array(79,-46,921,799),54397=>array(79,-68,921,799),54398=>array(79,-74,921,799),54399=>array(79,-44,921,799),54400=>array(79,-62,921,799),54401=>array(79,-64,921,799),54402=>array(79,-64,921,799),54403=>array(79,-63,921,799),54404=>array(79,-68,921,799),54405=>array(79,-64,921,799),54406=>array(79,-63,921,799),54407=>array(79,-74,921,799),54408=>array(79,-62,921,799),54409=>array(79,-61,921,799),54410=>array(79,-69,921,799),54411=>array(79,-74,921,799),54412=>array(79,-69,921,799),54413=>array(79,-68,921,799),54414=>array(79,-72,921,799),54415=>array(79,-70,921,799),54416=>array(79,-66,921,799),54417=>array(79,-59,921,799),54418=>array(79,-60,921,799),54419=>array(79,-68,921,799),54420=>array(67,-65,882,841),54421=>array(72,-61,907,836),54422=>array(72,-61,907,836),54423=>array(72,-71,931,836),54424=>array(75,-46,907,841),54425=>array(72,-68,912,836),54426=>array(72,-76,907,836),54427=>array(72,-44,921,836),54428=>array(72,-62,917,836),54429=>array(72,-64,907,836),54430=>array(72,-64,908,836),54431=>array(72,-64,908,836),54432=>array(72,-69,923,836),54433=>array(72,-64,908,836),54434=>array(72,-64,908,836),54435=>array(72,-76,906,836),54436=>array(72,-62,907,836),54437=>array(72,-61,907,836),54438=>array(72,-69,922,836),54439=>array(72,-74,929,836),54440=>array(72,-69,927,836),54441=>array(72,-68,911,836),54442=>array(72,-72,929,836),54443=>array(72,-70,936,836),54444=>array(72,-66,908,836),54445=>array(72,-59,916,836),54446=>array(72,-60,928,836),54447=>array(72,-68,908,836),54448=>array(62,-63,912,843),54449=>array(70,-61,907,838),54450=>array(70,-61,907,838),54451=>array(70,-71,931,838),54452=>array(76,-46,907,843),54453=>array(70,-68,912,838),54454=>array(70,-76,907,838),54455=>array(70,-44,921,838),54456=>array(70,-62,917,838),54457=>array(70,-64,907,838),54458=>array(70,-64,908,838),54459=>array(70,-64,908,838),54460=>array(70,-69,923,838),54461=>array(70,-64,908,838),54462=>array(70,-64,908,838),54463=>array(70,-76,906,838),54464=>array(70,-62,907,838),54465=>array(70,-61,907,838),54466=>array(70,-69,922,838),54467=>array(70,-74,929,838),54468=>array(70,-69,927,838),54469=>array(70,-68,911,838),54470=>array(70,-72,929,838),54471=>array(70,-70,936,838),54472=>array(70,-66,908,838),54473=>array(70,-59,916,838),54474=>array(70,-60,928,838),54475=>array(70,-68,908,838),54476=>array(71,-69,907,842),54477=>array(65,-61,907,842),54478=>array(65,-61,907,842),54479=>array(65,-71,931,842),54480=>array(65,-46,907,842),54481=>array(65,-68,912,842),54482=>array(65,-76,907,842),54483=>array(65,-44,921,842),54484=>array(65,-62,917,842),54485=>array(65,-64,907,842),54486=>array(65,-64,908,842),54487=>array(65,-64,908,842),54488=>array(65,-69,923,842),54489=>array(65,-64,908,842),54490=>array(65,-64,908,842),54491=>array(65,-76,907,842),54492=>array(65,-62,907,842),54493=>array(65,-61,907,842),54494=>array(65,-69,922,842),54495=>array(65,-74,929,842),54496=>array(65,-69,927,842),54497=>array(65,-68,911,842),54498=>array(65,-72,929,842),54499=>array(65,-70,936,842),54500=>array(65,-66,908,842),54501=>array(65,-59,916,842),54502=>array(65,-60,928,842),54503=>array(65,-68,908,842),54504=>array(79,-64,921,794),54505=>array(79,-61,921,799),54506=>array(79,-61,921,799),54507=>array(79,-71,921,799),54508=>array(81,-46,922,799),54509=>array(79,-68,921,799),54510=>array(79,-74,921,799),54511=>array(79,-44,921,799),54512=>array(79,-62,921,799),54513=>array(79,-64,921,799),54514=>array(79,-64,921,799),54515=>array(79,-63,921,799),54516=>array(79,-68,921,799),54517=>array(79,-64,921,799),54518=>array(79,-63,921,799),54519=>array(79,-74,921,799),54520=>array(79,-62,921,799),54521=>array(79,-61,921,799),54522=>array(79,-69,921,799),54523=>array(79,-74,921,799),54524=>array(79,-69,921,799),54525=>array(79,-68,921,799),54526=>array(79,-72,921,799),54527=>array(79,-70,921,799),54528=>array(79,-66,921,799),54529=>array(79,-59,921,799),54530=>array(79,-60,921,799),54531=>array(79,-68,921,799),54532=>array(57,52,943,724),54533=>array(79,-61,922,799),54534=>array(79,-61,922,799),54535=>array(79,-71,922,799),54536=>array(79,-46,921,799),54537=>array(79,-68,922,799),54538=>array(79,-74,922,799),54539=>array(79,-44,922,799),54540=>array(79,-62,922,799),54541=>array(79,-64,922,799),54542=>array(79,-64,922,799),54543=>array(79,-63,922,799),54544=>array(79,-68,922,799),54545=>array(79,-64,922,799),54546=>array(79,-63,922,799),54547=>array(79,-74,922,799),54548=>array(79,-62,922,799),54549=>array(79,-61,922,799),54550=>array(79,-69,922,799),54551=>array(79,-74,922,799),54552=>array(79,-69,922,799),54553=>array(79,-68,922,799),54554=>array(79,-72,922,799),54555=>array(79,-70,922,799),54556=>array(79,-66,922,799),54557=>array(79,-59,922,799),54558=>array(79,-60,922,799),54559=>array(79,-68,922,799),54560=>array(67,-69,907,842),54561=>array(65,-61,907,842),54562=>array(65,-61,907,842),54563=>array(65,-71,931,842),54564=>array(65,-46,907,842),54565=>array(65,-68,912,842),54566=>array(65,-76,907,842),54567=>array(65,-44,921,842),54568=>array(65,-62,917,842),54569=>array(65,-64,907,842),54570=>array(65,-64,908,842),54571=>array(65,-64,908,842),54572=>array(65,-69,923,842),54573=>array(65,-64,908,842),54574=>array(65,-64,908,842),54575=>array(65,-76,907,842),54576=>array(65,-62,907,842),54577=>array(65,-61,907,842),54578=>array(65,-69,922,842),54579=>array(65,-74,929,842),54580=>array(65,-69,927,842),54581=>array(65,-68,911,842),54582=>array(65,-72,929,842),54583=>array(65,-70,936,842),54584=>array(65,-66,908,842),54585=>array(65,-59,916,842),54586=>array(65,-60,928,842),54587=>array(65,-68,908,842),54588=>array(85,-69,907,842),54589=>array(86,-61,907,842),54590=>array(86,-61,907,842),54591=>array(86,-71,931,842),54592=>array(86,-46,907,842),54593=>array(86,-68,912,842),54594=>array(86,-76,907,842),54595=>array(86,-44,921,842),54596=>array(86,-62,917,842),54597=>array(86,-64,907,842),54598=>array(86,-64,908,842),54599=>array(86,-64,908,842),54600=>array(86,-69,923,842),54601=>array(86,-64,908,842),54602=>array(86,-64,908,842),54603=>array(86,-76,907,842),54604=>array(86,-62,907,842),54605=>array(86,-61,907,842),54606=>array(86,-69,922,842),54607=>array(86,-74,929,842),54608=>array(86,-69,927,842),54609=>array(86,-68,911,842),54610=>array(86,-72,929,842),54611=>array(86,-70,936,842),54612=>array(86,-66,908,842),54613=>array(86,-59,916,842),54614=>array(86,-60,928,842),54615=>array(86,-68,908,842),54616=>array(94,-69,936,842),54617=>array(85,-59,936,842),54618=>array(85,-61,936,842),54619=>array(85,-71,936,842),54620=>array(85,-45,936,842),54621=>array(85,-69,936,842),54622=>array(85,-76,936,842),54623=>array(85,-44,936,842),54624=>array(85,-62,936,842),54625=>array(85,-64,936,842),54626=>array(85,-64,936,842),54627=>array(85,-64,936,842),54628=>array(85,-70,936,842),54629=>array(85,-64,936,842),54630=>array(85,-64,936,842),54631=>array(85,-76,936,842),54632=>array(85,-62,936,842),54633=>array(85,-61,936,842),54634=>array(85,-70,936,842),54635=>array(85,-74,936,842),54636=>array(85,-69,936,842),54637=>array(85,-67,936,842),54638=>array(85,-72,936,842),54639=>array(85,-71,936,842),54640=>array(85,-66,936,842),54641=>array(85,-59,936,842),54642=>array(85,-60,936,842),54643=>array(85,-69,936,842),54644=>array(79,-69,907,842),54645=>array(85,-61,907,842),54646=>array(85,-61,907,842),54647=>array(85,-71,931,842),54648=>array(85,-46,907,842),54649=>array(85,-68,912,842),54650=>array(85,-76,907,842),54651=>array(85,-44,921,842),54652=>array(85,-62,917,842),54653=>array(85,-64,907,842),54654=>array(85,-64,908,842),54655=>array(85,-64,908,842),54656=>array(85,-69,923,842),54657=>array(85,-64,908,842),54658=>array(85,-64,908,842),54659=>array(85,-76,907,842),54660=>array(85,-62,907,842),54661=>array(85,-61,907,842),54662=>array(85,-69,922,842),54663=>array(85,-74,929,842),54664=>array(85,-69,927,842),54665=>array(85,-68,911,842),54666=>array(85,-72,929,842),54667=>array(85,-70,936,842),54668=>array(85,-66,908,842),54669=>array(85,-59,916,842),54670=>array(85,-60,928,842),54671=>array(85,-68,908,842),54672=>array(94,-68,935,843),54673=>array(85,-59,936,842),54674=>array(85,-61,936,842),54675=>array(85,-71,936,842),54676=>array(85,-45,936,842),54677=>array(85,-69,936,842),54678=>array(85,-76,936,842),54679=>array(85,-44,936,842),54680=>array(85,-62,936,842),54681=>array(85,-64,936,842),54682=>array(85,-64,936,842),54683=>array(85,-64,936,842),54684=>array(85,-70,936,842),54685=>array(85,-64,936,842),54686=>array(85,-64,936,842),54687=>array(85,-76,936,842),54688=>array(85,-62,936,842),54689=>array(85,-61,936,842),54690=>array(85,-70,936,842),54691=>array(85,-74,936,842),54692=>array(85,-69,936,842),54693=>array(85,-67,936,842),54694=>array(85,-72,936,842),54695=>array(85,-71,936,842),54696=>array(85,-66,936,842),54697=>array(85,-59,936,842),54698=>array(85,-60,936,842),54699=>array(85,-69,936,842),54700=>array(79,-69,907,842),54701=>array(85,-61,907,842),54702=>array(85,-61,907,842),54703=>array(85,-71,931,842),54704=>array(85,-46,907,842),54705=>array(85,-68,912,842),54706=>array(85,-76,907,842),54707=>array(85,-44,921,842),54708=>array(85,-62,917,842),54709=>array(85,-64,907,842),54710=>array(85,-64,908,842),54711=>array(85,-64,908,842),54712=>array(85,-69,923,842),54713=>array(85,-64,908,842),54714=>array(85,-64,908,842),54715=>array(85,-76,907,842),54716=>array(85,-62,907,842),54717=>array(85,-61,907,842),54718=>array(85,-69,922,842),54719=>array(85,-74,929,842),54720=>array(85,-69,927,842),54721=>array(85,-68,911,842),54722=>array(85,-72,929,842),54723=>array(85,-70,936,842),54724=>array(85,-66,908,842),54725=>array(85,-59,916,842),54726=>array(85,-60,928,842),54727=>array(85,-68,908,842),54728=>array(79,-70,907,841),54729=>array(85,-61,907,842),54730=>array(85,-61,907,842),54731=>array(85,-71,931,842),54732=>array(85,-46,907,841),54733=>array(85,-68,912,842),54734=>array(85,-76,907,842),54735=>array(85,-44,921,842),54736=>array(85,-62,917,842),54737=>array(85,-64,907,842),54738=>array(85,-64,908,842),54739=>array(85,-64,908,842),54740=>array(85,-69,923,842),54741=>array(85,-64,908,842),54742=>array(85,-64,908,842),54743=>array(85,-76,906,842),54744=>array(85,-62,907,842),54745=>array(85,-61,907,842),54746=>array(85,-69,922,842),54747=>array(85,-74,929,842),54748=>array(85,-69,927,842),54749=>array(85,-68,911,842),54750=>array(85,-72,929,842),54751=>array(85,-70,936,842),54752=>array(85,-66,908,842),54753=>array(85,-59,916,842),54754=>array(85,-60,928,842),54755=>array(85,-68,908,842),54756=>array(69,-68,907,843),54757=>array(50,-61,907,843),54758=>array(50,-61,907,843),54759=>array(50,-71,931,843),54760=>array(60,-46,907,843),54761=>array(50,-68,912,843),54762=>array(50,-76,907,843),54763=>array(50,-44,921,843),54764=>array(50,-62,917,843),54765=>array(50,-64,907,843),54766=>array(50,-64,908,843),54767=>array(50,-64,908,843),54768=>array(50,-69,923,843),54769=>array(50,-64,908,843),54770=>array(50,-64,908,843),54771=>array(50,-76,907,843),54772=>array(50,-62,907,843),54773=>array(50,-61,907,843),54774=>array(50,-69,922,843),54775=>array(50,-74,929,843),54776=>array(50,-69,927,843),54777=>array(50,-68,911,843),54778=>array(50,-72,929,843),54779=>array(50,-70,936,843),54780=>array(50,-66,908,843),54781=>array(50,-59,916,843),54782=>array(50,-60,928,843),54783=>array(50,-68,908,843),54784=>array(89,-70,907,842),54785=>array(75,-61,907,842),54786=>array(75,-61,907,842),54787=>array(75,-71,931,842),54788=>array(85,-46,907,842),54789=>array(75,-68,912,842),54790=>array(75,-76,907,842),54791=>array(75,-44,921,842),54792=>array(75,-62,917,842),54793=>array(75,-64,907,842),54794=>array(75,-64,908,842),54795=>array(75,-64,908,842),54796=>array(75,-69,923,842),54797=>array(75,-64,908,842),54798=>array(75,-64,908,842),54799=>array(75,-76,907,842),54800=>array(75,-62,907,842),54801=>array(75,-61,907,842),54802=>array(75,-69,922,842),54803=>array(75,-74,929,842),54804=>array(75,-69,927,842),54805=>array(75,-68,911,842),54806=>array(75,-72,929,842),54807=>array(75,-70,936,842),54808=>array(75,-66,908,842),54809=>array(75,-59,916,842),54810=>array(75,-60,928,842),54811=>array(75,-68,908,842),54812=>array(49,-68,907,843),54813=>array(50,-61,907,843),54814=>array(50,-61,907,843),54815=>array(50,-71,931,843),54816=>array(50,-46,907,843),54817=>array(50,-68,912,843),54818=>array(50,-76,907,843),54819=>array(50,-44,921,843),54820=>array(50,-62,917,843),54821=>array(50,-64,907,843),54822=>array(50,-64,908,843),54823=>array(50,-64,908,843),54824=>array(50,-69,923,843),54825=>array(50,-64,908,843),54826=>array(50,-64,908,843),54827=>array(50,-76,907,843),54828=>array(50,-62,907,843),54829=>array(50,-61,907,843),54830=>array(50,-69,922,843),54831=>array(50,-74,929,843),54832=>array(50,-69,927,843),54833=>array(50,-68,911,843),54834=>array(50,-72,929,843),54835=>array(50,-70,936,843),54836=>array(50,-66,908,843),54837=>array(50,-59,916,843),54838=>array(50,-60,928,843),54839=>array(50,-68,908,843),54840=>array(62,7,938,764),54841=>array(79,-61,921,819),54842=>array(79,-61,921,819),54843=>array(79,-71,921,819),54844=>array(79,-46,922,819),54845=>array(79,-68,921,819),54846=>array(79,-74,921,819),54847=>array(79,-44,921,819),54848=>array(79,-62,921,819),54849=>array(79,-64,921,819),54850=>array(79,-64,921,819),54851=>array(79,-63,921,819),54852=>array(79,-68,921,819),54853=>array(79,-64,921,819),54854=>array(79,-63,921,819),54855=>array(79,-74,921,819),54856=>array(79,-62,921,819),54857=>array(79,-61,921,819),54858=>array(79,-69,921,819),54859=>array(79,-74,921,819),54860=>array(79,-69,921,819),54861=>array(79,-68,921,819),54862=>array(79,-72,921,819),54863=>array(79,-70,921,819),54864=>array(79,-66,921,819),54865=>array(79,-59,921,819),54866=>array(79,-60,921,819),54867=>array(79,-68,921,819),54868=>array(68,-69,936,842),54869=>array(77,-59,936,842),54870=>array(77,-61,936,842),54871=>array(77,-71,936,842),54872=>array(72,-45,936,842),54873=>array(77,-69,936,842),54874=>array(77,-76,936,842),54875=>array(77,-44,936,842),54876=>array(77,-62,936,842),54877=>array(77,-64,936,842),54878=>array(77,-64,936,842),54879=>array(77,-64,936,842),54880=>array(77,-70,936,842),54881=>array(77,-64,936,842),54882=>array(77,-64,936,842),54883=>array(77,-76,936,842),54884=>array(77,-62,936,842),54885=>array(77,-61,936,842),54886=>array(77,-70,936,842),54887=>array(77,-74,936,842),54888=>array(77,-69,936,842),54889=>array(77,-67,936,842),54890=>array(77,-72,936,842),54891=>array(77,-71,936,842),54892=>array(77,-66,936,842),54893=>array(77,-59,936,842),54894=>array(77,-60,936,842),54895=>array(77,-69,936,842),54896=>array(61,-69,907,842),54897=>array(77,-61,907,842),54898=>array(77,-61,907,842),54899=>array(77,-71,931,842),54900=>array(72,-46,907,842),54901=>array(77,-68,912,842),54902=>array(77,-76,907,842),54903=>array(77,-44,921,842),54904=>array(77,-62,917,842),54905=>array(77,-64,907,842),54906=>array(77,-64,908,842),54907=>array(77,-64,908,842),54908=>array(77,-69,923,842),54909=>array(77,-64,908,842),54910=>array(77,-64,908,842),54911=>array(77,-76,907,842),54912=>array(77,-62,907,842),54913=>array(77,-61,907,842),54914=>array(77,-69,922,842),54915=>array(77,-74,929,842),54916=>array(77,-69,927,842),54917=>array(77,-68,911,842),54918=>array(77,-72,929,842),54919=>array(77,-70,936,842),54920=>array(77,-66,908,842),54921=>array(77,-59,916,842),54922=>array(77,-60,928,842),54923=>array(77,-68,908,842),54924=>array(74,-69,907,842),54925=>array(65,-61,907,842),54926=>array(65,-61,907,842),54927=>array(65,-71,931,842),54928=>array(65,-46,907,842),54929=>array(65,-68,912,842),54930=>array(65,-76,907,842),54931=>array(65,-44,921,842),54932=>array(65,-62,917,842),54933=>array(65,-64,907,842),54934=>array(65,-64,908,842),54935=>array(65,-64,908,842),54936=>array(65,-69,923,842),54937=>array(65,-64,908,842),54938=>array(65,-64,908,842),54939=>array(65,-76,907,842),54940=>array(65,-62,907,842),54941=>array(65,-61,907,842),54942=>array(65,-69,922,842),54943=>array(65,-74,929,842),54944=>array(65,-69,927,842),54945=>array(65,-68,911,842),54946=>array(65,-72,929,842),54947=>array(65,-70,936,842),54948=>array(65,-66,908,842),54949=>array(65,-59,916,842),54950=>array(65,-60,928,842),54951=>array(65,-68,908,842),54952=>array(62,7,938,764),54953=>array(79,-61,921,819),54954=>array(79,-61,921,819),54955=>array(79,-71,921,819),54956=>array(79,-46,921,819),54957=>array(79,-68,921,819),54958=>array(79,-74,921,819),54959=>array(79,-44,921,819),54960=>array(79,-62,921,819),54961=>array(79,-64,921,819),54962=>array(79,-64,921,819),54963=>array(79,-63,921,819),54964=>array(79,-68,921,819),54965=>array(79,-64,921,819),54966=>array(79,-63,921,819),54967=>array(79,-74,921,819),54968=>array(79,-62,921,819),54969=>array(79,-61,921,819),54970=>array(79,-69,921,819),54971=>array(79,-74,921,819),54972=>array(79,-69,921,819),54973=>array(79,-68,921,819),54974=>array(79,-72,921,819),54975=>array(79,-70,921,819),54976=>array(79,-66,921,819),54977=>array(79,-59,921,819),54978=>array(79,-60,921,819),54979=>array(79,-68,921,819),54980=>array(79,-64,921,809),54981=>array(79,-61,921,819),54982=>array(79,-61,921,819),54983=>array(79,-71,921,819),54984=>array(79,-46,921,814),54985=>array(79,-68,921,819),54986=>array(79,-74,921,819),54987=>array(79,-44,921,819),54988=>array(79,-62,921,819),54989=>array(79,-64,921,819),54990=>array(79,-64,921,819),54991=>array(79,-63,921,819),54992=>array(79,-68,921,819),54993=>array(79,-64,921,819),54994=>array(79,-63,921,819),54995=>array(79,-74,921,819),54996=>array(79,-62,921,819),54997=>array(79,-61,921,819),54998=>array(79,-69,921,819),54999=>array(79,-74,921,819),55000=>array(79,-69,921,819),55001=>array(79,-68,921,819),55002=>array(79,-72,921,819),55003=>array(79,-70,921,819),55004=>array(79,-66,921,819),55005=>array(79,-59,921,819),55006=>array(79,-60,921,819),55007=>array(79,-68,921,819),55008=>array(70,-70,907,841),55009=>array(75,-61,909,843),55010=>array(75,-61,909,843),55011=>array(75,-71,931,843),55012=>array(76,-46,909,843),55013=>array(75,-68,912,843),55014=>array(75,-76,909,843),55015=>array(75,-44,921,843),55016=>array(75,-62,917,843),55017=>array(75,-64,909,843),55018=>array(75,-64,909,843),55019=>array(75,-64,909,843),55020=>array(75,-69,923,843),55021=>array(75,-64,909,843),55022=>array(75,-64,909,843),55023=>array(75,-76,909,843),55024=>array(75,-62,909,843),55025=>array(75,-61,909,843),55026=>array(75,-69,922,843),55027=>array(75,-74,929,843),55028=>array(75,-69,927,843),55029=>array(75,-68,911,843),55030=>array(75,-72,929,843),55031=>array(75,-70,936,843),55032=>array(75,-66,909,843),55033=>array(75,-59,916,843),55034=>array(75,-60,928,843),55035=>array(75,-68,909,843),55036=>array(63,-68,907,843),55037=>array(70,-61,907,843),55038=>array(70,-61,907,843),55039=>array(70,-71,931,843),55040=>array(76,-46,907,843),55041=>array(70,-68,912,843),55042=>array(70,-76,907,843),55043=>array(70,-44,921,843),55044=>array(70,-62,917,843),55045=>array(70,-64,907,843),55046=>array(70,-64,908,843),55047=>array(70,-64,908,843),55048=>array(70,-69,923,843),55049=>array(70,-64,908,843),55050=>array(70,-64,908,843),55051=>array(70,-76,907,843),55052=>array(70,-62,907,843),55053=>array(70,-61,907,843),55054=>array(70,-69,922,843),55055=>array(70,-74,929,843),55056=>array(70,-69,927,843),55057=>array(70,-68,911,843),55058=>array(70,-72,929,843),55059=>array(70,-70,936,843),55060=>array(70,-66,908,843),55061=>array(70,-59,916,843),55062=>array(70,-60,928,843),55063=>array(70,-68,908,843),55064=>array(70,-69,907,842),55065=>array(65,-61,907,842),55066=>array(65,-61,907,842),55067=>array(65,-71,931,842),55068=>array(65,-46,907,842),55069=>array(65,-68,912,842),55070=>array(65,-76,907,842),55071=>array(65,-44,921,842),55072=>array(65,-62,917,842),55073=>array(65,-64,907,842),55074=>array(65,-64,908,842),55075=>array(65,-64,908,842),55076=>array(65,-69,923,842),55077=>array(65,-64,908,842),55078=>array(65,-64,908,842),55079=>array(65,-76,907,842),55080=>array(65,-62,907,842),55081=>array(65,-61,907,842),55082=>array(65,-69,922,842),55083=>array(65,-74,929,842),55084=>array(65,-69,927,842),55085=>array(65,-68,911,842),55086=>array(65,-72,929,842),55087=>array(65,-70,936,842),55088=>array(65,-66,908,842),55089=>array(65,-59,916,842),55090=>array(65,-60,928,842),55091=>array(65,-68,908,842),55092=>array(87,-64,928,799),55093=>array(79,-61,921,819),55094=>array(79,-61,921,819),55095=>array(79,-71,921,819),55096=>array(79,-46,921,814),55097=>array(79,-68,921,819),55098=>array(79,-74,921,819),55099=>array(79,-44,921,819),55100=>array(79,-62,921,819),55101=>array(79,-64,921,819),55102=>array(79,-64,921,819),55103=>array(79,-63,921,819),55104=>array(79,-68,921,819),55105=>array(79,-64,921,819),55106=>array(79,-63,921,819),55107=>array(79,-74,921,819),55108=>array(79,-62,921,819),55109=>array(79,-61,921,819),55110=>array(79,-69,921,819),55111=>array(79,-74,921,819),55112=>array(79,-69,921,819),55113=>array(79,-68,921,819),55114=>array(79,-72,921,819),55115=>array(79,-70,921,819),55116=>array(79,-66,921,819),55117=>array(79,-59,921,819),55118=>array(79,-60,921,819),55119=>array(79,-68,921,819),55120=>array(52,42,948,744),55121=>array(79,-61,921,819),55122=>array(79,-61,921,819),55123=>array(79,-71,921,819),55124=>array(79,-46,921,815),55125=>array(79,-68,921,819),55126=>array(79,-74,921,819),55127=>array(79,-44,921,819),55128=>array(79,-62,921,819),55129=>array(79,-64,921,819),55130=>array(79,-64,921,819),55131=>array(79,-63,921,819),55132=>array(79,-68,921,819),55133=>array(79,-64,921,819),55134=>array(79,-63,921,819),55135=>array(79,-74,921,819),55136=>array(79,-62,921,819),55137=>array(79,-61,921,819),55138=>array(79,-69,921,819),55139=>array(79,-74,921,819),55140=>array(79,-69,921,819),55141=>array(79,-68,921,819),55142=>array(79,-72,921,819),55143=>array(79,-70,921,819),55144=>array(79,-66,921,819),55145=>array(79,-59,921,819),55146=>array(79,-60,921,819),55147=>array(79,-68,921,819),55148=>array(67,-69,907,842),55149=>array(65,-61,907,842),55150=>array(65,-61,907,842),55151=>array(65,-71,931,842),55152=>array(65,-46,907,842),55153=>array(65,-68,912,842),55154=>array(65,-76,907,842),55155=>array(65,-44,921,842),55156=>array(65,-62,917,842),55157=>array(65,-64,907,842),55158=>array(65,-64,908,842),55159=>array(65,-64,908,842),55160=>array(65,-69,923,842),55161=>array(65,-64,908,842),55162=>array(65,-64,908,842),55163=>array(65,-76,907,842),55164=>array(65,-62,907,842),55165=>array(65,-61,907,842),55166=>array(65,-69,922,842),55167=>array(65,-74,929,842),55168=>array(65,-69,927,842),55169=>array(65,-68,911,842),55170=>array(65,-72,929,842),55171=>array(65,-70,936,842),55172=>array(65,-66,908,842),55173=>array(65,-59,916,842),55174=>array(65,-60,928,842),55175=>array(65,-68,908,842),55176=>array(84,-69,907,842),55177=>array(101,-61,907,842),55178=>array(101,-61,907,842),55179=>array(101,-71,931,842),55180=>array(96,-46,907,842),55181=>array(101,-68,912,842),55182=>array(101,-76,907,842),55183=>array(101,-44,921,842),55184=>array(101,-62,917,842),55185=>array(101,-64,907,842),55186=>array(101,-64,908,842),55187=>array(101,-64,908,842),55188=>array(101,-69,923,842),55189=>array(101,-64,908,842),55190=>array(101,-64,908,842),55191=>array(101,-76,907,842),55192=>array(101,-62,907,842),55193=>array(101,-61,907,842),55194=>array(101,-69,922,842),55195=>array(101,-74,929,842),55196=>array(101,-69,927,842),55197=>array(101,-68,911,842),55198=>array(101,-72,929,842),55199=>array(101,-70,936,842),55200=>array(101,-66,908,842),55201=>array(101,-59,916,842),55202=>array(101,-60,928,842),55203=>array(101,-68,908,842),59393=>array(-54,0,248,634),59394=>array(20,-199,439,530),59395=>array(20,-199,439,530),59396=>array(-70,-12,436,716),59397=>array(-70,-12,436,716),59416=>array(7,637,299,1065),59492=>array(32,0,450,576),59495=>array(32,-1,452,577),59536=>array(38,0,459,770),59557=>array(-1,-221,404,556),59558=>array(-1,-221,481,393),59559=>array(62,-221,904,393),61441=>array(14,0,432,728),61442=>array(14,0,430,728),63232=>array(54,-5,477,560),63233=>array(-601,612,-216,775),63234=>array(-601,612,-216,800),63235=>array(-601,612,-171,800),63236=>array(-601,612,-216,800),63237=>array(-341,612,-283,785),63238=>array(-467,612,-173,819),63239=>array(-620,612,-180,810),63240=>array(-399,612,-226,785),63241=>array(-504,615,-192,832),63242=>array(-167,612,-109,785),63243=>array(-293,612,1,819),63244=>array(-342,612,98,810),63245=>array(-225,612,-52,785),63246=>array(-330,615,-18,832),63247=>array(54,-5,774,558),63248=>array(-563,631,-189,824),63249=>array(-422,609,-265,767),63250=>array(-623,603,-246,849),63251=>array(-274,858,-216,1031),63252=>array(-400,858,-106,1065),63253=>array(-449,858,-9,1056),63254=>array(-333,858,-159,1031),63255=>array(-437,861,-125,1078),63256=>array(-201,-206,-85,-34),63257=>array(-337,-206,-89,-34),63258=>array(-157,-115,-75,-33),63260=>array(111,-210,291,-73),63261=>array(17,-113,269,0),63744=>array(62,-12,931,835),63745=>array(48,-72,962,777),63746=>array(63,-71,935,832),63747=>array(66,-79,948,785),63748=>array(49,-62,926,811),63749=>array(123,-68,886,832),63750=>array(65,-51,902,840),63751=>array(37,-41,967,846),63752=>array(37,-41,967,846),63753=>array(43,-70,957,830),63754=>array(54,-21,960,856),63755=>array(112,-67,904,831),63756=>array(62,-62,960,848),63757=>array(32,-72,970,845),63758=>array(42,-67,985,854),63759=>array(38,-67,950,807),63760=>array(61,-80,954,835),63761=>array(33,-73,961,835),63762=>array(40,-71,973,822),63763=>array(52,-51,966,820),63764=>array(60,-64,959,847),63765=>array(57,-72,959,842),63766=>array(48,-75,968,839),63767=>array(45,-66,972,840),63768=>array(56,-68,970,835),63769=>array(51,-67,967,840),63770=>array(64,-62,972,839),63771=>array(49,-68,962,843),63772=>array(59,-71,883,815),63773=>array(35,-65,909,836),63774=>array(53,-70,923,830),63775=>array(72,-70,928,839),63776=>array(62,-67,958,846),63777=>array(59,-49,964,846),63778=>array(50,-73,964,837),63779=>array(56,-34,949,839),63780=>array(35,-68,952,836),63781=>array(49,-64,947,829),63782=>array(40,-65,956,848),63783=>array(47,-76,968,842),63784=>array(46,-60,949,837),63785=>array(49,-74,885,832),63786=>array(62,-63,962,829),63787=>array(37,-75,968,831),63788=>array(51,-65,930,832),63789=>array(63,-64,956,835),63790=>array(54,-71,966,849),63791=>array(52,-73,919,832),63792=>array(43,-67,954,835),63793=>array(30,-61,974,849),63794=>array(43,-71,954,830),63795=>array(40,-78,941,833),63796=>array(38,-39,923,832),63797=>array(59,-66,961,836),63798=>array(45,-77,929,841),63799=>array(29,-67,968,838),63800=>array(70,-62,965,817),63801=>array(51,-68,947,837),63802=>array(62,-67,948,849),63803=>array(36,-64,952,818),63804=>array(57,-69,958,840),63805=>array(34,-67,974,839),63806=>array(65,-52,935,840),63807=>array(57,-64,968,841),63808=>array(57,-67,949,829),63809=>array(55,-63,973,849),63810=>array(57,-24,950,849),63811=>array(48,-65,934,785),63812=>array(49,-62,964,855),63813=>array(43,-71,962,840),63814=>array(56,-65,944,833),63815=>array(52,-68,944,788),63816=>array(57,-63,976,839),63817=>array(105,-67,914,786),63818=>array(59,-28,949,783),63819=>array(46,-82,939,823),63820=>array(39,-70,949,831),63821=>array(48,-66,982,843),63822=>array(46,-67,956,800),63823=>array(51,-63,943,808),63824=>array(34,-65,942,839),63825=>array(99,-82,936,792),63826=>array(72,-65,917,829),63827=>array(68,-70,898,834),63828=>array(55,-65,973,833),63829=>array(41,-70,959,831),63830=>array(33,-57,967,835),63831=>array(34,-66,968,839),63832=>array(46,-65,954,831),63833=>array(95,-67,970,831),63834=>array(59,-66,961,841),63835=>array(60,-58,974,851),63836=>array(60,-64,959,847),63837=>array(53,-65,949,836),63838=>array(74,-73,939,777),63839=>array(69,-55,923,850),63840=>array(49,-25,959,830),63841=>array(72,-69,928,840),63842=>array(72,-74,926,784),63843=>array(45,-54,948,792),63844=>array(30,-55,956,850),63845=>array(42,-73,947,834),63846=>array(44,-67,970,843),63847=>array(71,-65,928,769),63848=>array(42,-32,972,829),63849=>array(60,-70,959,833),63850=>array(65,-69,946,835),63851=>array(30,-88,968,844),63852=>array(48,-30,949,830),63853=>array(53,-70,939,829),63854=>array(49,-70,965,839),63855=>array(57,-71,964,816),63856=>array(51,-72,967,824),63857=>array(57,-63,963,785),63858=>array(56,-73,946,824),63859=>array(45,-63,961,848),63860=>array(72,-65,931,827),63861=>array(41,-71,955,826),63862=>array(110,-66,962,839),63863=>array(65,-68,950,838),63864=>array(60,-68,953,783),63865=>array(63,-63,961,830),63866=>array(53,-68,956,808),63867=>array(40,-72,954,818),63868=>array(85,-61,963,820),63869=>array(53,-60,960,830),63870=>array(53,-30,947,789),63871=>array(27,-76,929,825),63872=>array(180,-77,840,772),63873=>array(86,-53,911,836),63874=>array(22,-62,961,846),63875=>array(33,-67,969,839),63876=>array(43,-71,967,841),63877=>array(32,-63,962,799),63878=>array(117,-65,907,790),63879=>array(26,-73,964,789),63880=>array(43,-67,952,814),63881=>array(49,-68,946,832),63882=>array(70,-56,863,824),63883=>array(37,-62,947,796),63884=>array(41,-67,930,779),63885=>array(50,-65,970,831),63886=>array(86,-68,917,841),63887=>array(36,-76,958,832),63888=>array(42,-54,961,841),63889=>array(37,-60,970,849),63890=>array(37,-56,963,833),63891=>array(52,-67,962,830),63892=>array(41,-64,962,833),63893=>array(47,-69,968,834),63894=>array(34,-66,967,839),63895=>array(42,-65,946,842),63896=>array(48,-62,944,831),63897=>array(37,-56,951,839),63898=>array(37,-56,951,830),63899=>array(18,-53,969,847),63900=>array(83,-76,901,832),63901=>array(67,-63,942,838),63902=>array(103,-64,898,785),63903=>array(58,-61,954,831),63904=>array(44,-73,955,828),63905=>array(57,-71,964,816),63906=>array(40,-59,966,839),63907=>array(30,-58,963,846),63908=>array(27,-64,961,853),63909=>array(40,-67,977,854),63910=>array(31,-53,963,854),63911=>array(36,-74,971,842),63912=>array(38,-67,961,846),63913=>array(105,-64,897,788),63914=>array(80,-68,917,844),63915=>array(40,-73,961,832),63916=>array(39,-68,962,840),63917=>array(37,-68,964,840),63918=>array(69,-19,935,839),63919=>array(22,-68,960,847),63920=>array(28,-62,966,854),63921=>array(35,-65,975,846),63922=>array(43,-63,961,810),63923=>array(74,-28,929,779),63924=>array(42,-68,955,839),63925=>array(41,-63,911,845),63926=>array(60,-69,952,833),63927=>array(51,-57,952,829),63928=>array(132,-64,882,789),63929=>array(62,-25,962,783),63930=>array(172,-41,829,773),63931=>array(41,-64,983,842),63932=>array(41,-64,970,838),63933=>array(52,-74,951,779),63934=>array(38,-68,956,836),63935=>array(60,-64,959,847),63936=>array(41,-73,969,850),63937=>array(46,-65,964,830),63938=>array(26,-76,972,829),63939=>array(37,-56,968,838),63940=>array(50,-66,970,833),63941=>array(57,-62,950,798),63942=>array(98,-68,935,788),63943=>array(44,-64,911,837),63944=>array(39,-61,959,832),63945=>array(34,-61,921,837),63946=>array(40,-70,964,830),63947=>array(45,-66,925,830),63948=>array(30,-70,960,830),63949=>array(75,-68,897,818),63950=>array(26,-70,964,830),63951=>array(34,-64,956,839),63952=>array(38,-67,960,828),63953=>array(62,-29,946,810),63954=>array(39,-77,962,835),63955=>array(103,-58,951,833),63956=>array(31,-71,976,855),63957=>array(33,-61,979,841),63958=>array(39,-58,991,856),63959=>array(52,-71,971,868),63960=>array(36,-67,954,830),63961=>array(38,-59,976,835),63962=>array(60,-65,957,788),63963=>array(72,-69,928,840),63964=>array(93,-60,959,848),63965=>array(57,-67,920,826),63966=>array(71,-76,947,824),63967=>array(29,-68,953,786),63968=>array(75,-67,866,782),63969=>array(51,-70,960,831),63970=>array(41,-68,950,823),63971=>array(56,-64,957,821),63972=>array(35,-16,945,775),63973=>array(46,-69,944,835),63974=>array(39,-64,949,788),63975=>array(43,-75,955,840),63976=>array(41,-64,954,821),63977=>array(52,-19,948,796),63978=>array(64,-73,957,834),63979=>array(118,-68,939,800),63980=>array(54,-60,927,803),63981=>array(52,-74,958,822),63982=>array(49,-68,958,833),63983=>array(57,-66,959,837),63984=>array(57,-65,949,832),63985=>array(100,-70,956,834),63986=>array(31,-68,959,843),63987=>array(26,-68,959,838),63988=>array(30,-69,954,829),63989=>array(28,-63,968,841),63990=>array(120,-65,932,841),63991=>array(95,-3,912,822),63992=>array(52,-17,945,838),63993=>array(37,-64,949,837),63994=>array(40,-69,951,818),63995=>array(57,-73,960,840),63996=>array(51,-68,959,833),63997=>array(48,-68,950,829),63998=>array(41,-68,968,831),63999=>array(71,-65,906,831),64000=>array(44,-73,897,797),64001=>array(46,-68,950,826),64002=>array(53,-63,936,826),64003=>array(42,-69,952,827),64004=>array(70,-38,942,833),64005=>array(48,-55,898,819),64006=>array(47,-65,953,815),64007=>array(46,-74,941,827),64008=>array(51,-62,941,845),64009=>array(101,-68,955,846),64010=>array(58,-66,944,789),64011=>array(35,-65,942,837),64012=>array(49,-55,942,754),64013=>array(57,-70,964,827),64014=>array(45,-62,955,843),64015=>array(41,-65,969,830),64016=>array(41,-60,968,807),64017=>array(77,-62,953,828),64018=>array(89,-55,952,838),64019=>array(37,-71,948,828),64020=>array(37,-67,976,831),64021=>array(31,-69,973,831),64022=>array(49,-56,921,836),64023=>array(45,-22,947,840),64024=>array(42,-59,961,820),64025=>array(55,-67,904,837),64026=>array(39,-68,956,843),64027=>array(38,-69,943,834),64028=>array(41,-66,952,840),64029=>array(45,-66,954,837),64030=>array(73,-50,892,785),64031=>array(30,-68,935,839),64032=>array(40,-68,969,832),64033=>array(39,-19,946,826),64034=>array(59,-66,948,835),64035=>array(31,-69,953,829),64036=>array(37,-60,961,808),64037=>array(36,-54,957,835),64038=>array(44,-67,943,835),64039=>array(33,-70,949,839),64040=>array(33,-64,959,839),64041=>array(94,-71,936,842),64042=>array(34,-69,964,839),64043=>array(34,-68,906,839),64044=>array(34,-64,931,839),64045=>array(40,-65,938,837),64256=>array(13,0,569,728),64257=>array(14,0,432,728),64258=>array(14,0,430,728),64259=>array(42,0,709,728),64260=>array(13,0,680,728),64261=>array(67,-7,521,728),64262=>array(31,-12,750,700),64275=>array(44,-9,751,618),64276=>array(44,-8,749,609),64277=>array(44,-210,752,609),64278=>array(43,-210,749,609),64279=>array(44,-210,844,609),64286=>array(22,568,311,695),64287=>array(16,162,522,530),64288=>array(32,-12,503,518),64289=>array(58,0,652,518),64290=>array(24,0,619,518),64291=>array(72,0,662,530),64292=>array(38,-12,598,530),64293=>array(33,-12,557,716),64294=>array(72,0,662,518),64295=>array(20,0,565,530),64296=>array(19,-13,726,530),64297=>array(55,0,529,278),64298=>array(72,-12,674,634),64299=>array(72,-12,674,634),64300=>array(72,-12,674,634),64301=>array(72,-12,674,634),64302=>array(60,-104,517,518),64303=>array(60,-144,517,518),64304=>array(60,0,517,518),64305=>array(38,0,533,530),64306=>array(20,0,386,530),64307=>array(24,0,482,518),64308=>array(72,0,526,530),64309=>array(16,0,248,530),64310=>array(-9,0,306,543),64312=>array(68,-12,532,530),64313=>array(16,258,248,530),64314=>array(20,-199,439,530),64315=>array(38,-12,469,530),64316=>array(33,-12,436,716),64318=>array(30,0,526,530),64320=>array(38,0,270,530),64321=>array(25,-12,546,530),64323=>array(45,-199,499,530),64324=>array(37,-12,511,530),64326=>array(45,0,477,518),64327=>array(72,-199,535,518),64328=>array(20,0,439,530),64329=>array(72,-12,674,518),64330=>array(21,-13,565,530),64331=>array(16,0,248,634),64332=>array(38,0,533,622),64333=>array(38,-12,469,622),64334=>array(37,-12,511,622),64335=>array(33,0,517,716),64336=>array(-15,0,256,927),64337=>array(-15,0,274,927),64338=>array(62,-275,709,265),64339=>array(62,-279,789,265),64340=>array(-1,-252,194,284),64341=>array(-1,-256,244,284),64342=>array(62,-270,709,265),64343=>array(62,-270,789,265),64344=>array(-1,-228,233,284),64345=>array(-1,-228,244,284),64346=>array(62,-270,709,265),64347=>array(62,-270,789,265),64348=>array(-1,-242,210,284),64349=>array(-1,-242,244,284),64350=>array(62,-50,709,568),64351=>array(62,-50,789,568),64352=>array(-1,0,194,616),64353=>array(-1,0,244,616),64354=>array(62,-50,709,569),64355=>array(62,-50,789,569),64356=>array(-1,0,222,618),64357=>array(-1,0,244,618),64358=>array(62,-50,709,569),64359=>array(62,-50,789,569),64360=>array(-1,0,245,618),64361=>array(-1,0,244,618),64362=>array(62,0,895,859),64363=>array(62,-33,904,697),64364=>array(-1,0,404,860),64365=>array(-1,0,481,697),64366=>array(62,0,895,890),64367=>array(62,-33,904,727),64368=>array(-1,0,404,890),64369=>array(-1,0,481,727),64370=>array(52,-271,564,453),64371=>array(54,-271,659,453),64372=>array(-1,-236,567,453),64373=>array(-1,-236,638,453),64374=>array(52,-271,564,453),64375=>array(54,-271,659,453),64376=>array(-1,-105,567,453),64377=>array(-1,-105,638,453),64378=>array(52,-271,564,453),64379=>array(54,-271,659,453),64380=>array(-1,-208,567,453),64381=>array(-1,-208,638,453),64382=>array(52,-271,564,453),64383=>array(54,-271,659,453),64384=>array(-1,-236,567,453),64385=>array(-1,-237,638,453),64386=>array(38,-140,368,437),64387=>array(38,-140,459,436),64388=>array(38,0,368,614),64389=>array(38,0,459,638),64390=>array(38,0,368,716),64391=>array(38,0,459,740),64392=>array(38,0,368,746),64393=>array(38,0,459,770),64394=>array(-74,-210,362,554),64395=>array(-74,-210,437,544),64396=>array(-74,-210,369,584),64397=>array(-74,-210,437,574),64398=>array(62,0,827,717),64399=>array(62,0,943,717),64400=>array(-1,0,432,717),64401=>array(-1,0,548,717),64402=>array(62,0,827,793),64403=>array(62,0,943,793),64404=>array(-1,0,432,793),64405=>array(-1,0,548,793),64406=>array(62,-256,827,793),64407=>array(62,-257,943,793),64408=>array(-1,-252,432,793),64409=>array(-1,-256,548,793),64410=>array(62,0,827,839),64411=>array(62,0,943,839),64412=>array(-1,0,432,839),64413=>array(-1,0,548,839),64414=>array(62,-121,630,272),64415=>array(39,-228,724,183),64416=>array(62,-121,630,568),64417=>array(39,-228,724,568),64418=>array(-1,0,245,618),64419=>array(-1,0,244,618),64420=>array(62,-6,452,705),64421=>array(62,0,478,705),64422=>array(62,-6,452,431),64423=>array(2,-85,510,159),64424=>array(-1,-242,194,284),64425=>array(-1,-264,428,196),64426=>array(29,-15,644,593),64427=>array(29,-15,707,593),64428=>array(-1,0,624,593),64429=>array(-1,0,687,593),64430=>array(71,-221,684,297),64431=>array(62,-221,675,95),64432=>array(71,-221,684,473),64433=>array(62,-221,675,363),64467=>array(62,0,689,817),64468=>array(34,0,734,817),64469=>array(-1,0,432,889),64470=>array(-1,0,548,889),64471=>array(-108,-210,408,766),64472=>array(-111,-210,467,704),64473=>array(-108,-210,408,696),64474=>array(-111,-210,467,628),64475=>array(-108,-210,408,789),64476=>array(-111,-210,467,725),64477=>array(-108,-210,441,755),64478=>array(-108,-210,408,750),64479=>array(-111,-210,467,685),64480=>array(-108,-210,408,476),64481=>array(-111,-210,467,379),64482=>array(-108,-210,408,705),64483=>array(-111,-210,467,641),64484=>array(10,-279,730,453),64485=>array(33,-279,935,126),64486=>array(-1,-239,194,284),64487=>array(-1,-239,244,284),64488=>array(-1,0,194,284),64489=>array(-1,0,244,284),64490=>array(79,0,475,716),64491=>array(79,0,518,716),64492=>array(2,-85,710,569),64493=>array(2,-85,754,569),64494=>array(-111,-210,667,569),64495=>array(-111,-210,711,569),64496=>array(-111,-210,667,704),64497=>array(-111,-210,711,704),64498=>array(-111,-210,667,628),64499=>array(-111,-210,711,628),64500=>array(-111,-210,667,725),64501=>array(-111,-210,711,725),64502=>array(33,-279,1135,569),64503=>array(33,-279,1178,569),64504=>array(-1,-256,445,569),64505=>array(34,-270,995,569),64506=>array(34,-270,1038,569),64507=>array(-1,0,445,569),64508=>array(32,-121,679,453),64509=>array(34,-270,794,126),64510=>array(-1,-140,217,284),64511=>array(-1,-140,244,284),64512=>array(54,-271,860,569),64513=>array(54,-271,860,569),64514=>array(58,-265,842,569),64515=>array(34,-270,995,569),64516=>array(34,-265,1005,569),64517=>array(54,-271,853,453),64518=>array(54,-271,853,453),64519=>array(54,-271,853,621),64520=>array(58,-265,834,359),64521=>array(34,-270,988,284),64522=>array(34,-265,998,284),64523=>array(54,-271,876,486),64524=>array(54,-271,876,486),64525=>array(54,-271,876,621),64526=>array(58,-265,858,486),64527=>array(34,-270,1011,486),64528=>array(34,-265,1021,486),64529=>array(54,-271,876,588),64530=>array(58,-265,858,588),64531=>array(34,-270,1011,588),64532=>array(34,-265,1021,588),64533=>array(54,-271,1226,453),64534=>array(58,-265,1208,453),64535=>array(54,-271,1226,453),64536=>array(58,-265,1208,453),64537=>array(54,-271,1226,610),64538=>array(54,-271,1226,610),64539=>array(58,-265,1208,610),64540=>array(54,-271,1350,453),64541=>array(54,-271,1350,453),64542=>array(54,-271,1350,621),64543=>array(58,-265,1332,359),64544=>array(54,-271,1415,453),64545=>array(58,-265,1397,436),64546=>array(54,-271,1415,522),64547=>array(54,-271,1415,522),64548=>array(54,-271,1415,621),64549=>array(58,-265,1397,522),64550=>array(54,-271,1331,686),64551=>array(58,-265,1313,686),64552=>array(58,-265,1313,686),64553=>array(54,-271,1183,492),64554=>array(58,-265,1165,492),64555=>array(54,-271,1183,716),64556=>array(58,-265,1165,716),64557=>array(54,-271,1063,773),64558=>array(54,-271,1063,773),64559=>array(54,-271,1063,773),64560=>array(58,-265,1045,773),64561=>array(34,-270,1198,773),64562=>array(34,-265,1208,773),64563=>array(54,-271,1063,758),64564=>array(58,-265,1045,758),64565=>array(34,-270,1198,758),64566=>array(34,-265,1208,758),64567=>array(79,0,706,717),64568=>array(54,-271,1091,717),64569=>array(54,-271,1091,717),64570=>array(54,-271,1091,717),64571=>array(34,-228,1106,717),64572=>array(58,-265,1073,717),64573=>array(34,-270,1226,717),64574=>array(34,-265,1236,717),64575=>array(54,-271,853,716),64576=>array(54,-271,853,716),64577=>array(54,-271,853,716),64578=>array(58,-265,835,716),64579=>array(34,-270,988,716),64580=>array(34,-265,998,716),64581=>array(54,-271,1078,453),64582=>array(54,-271,1078,453),64583=>array(54,-271,1078,621),64584=>array(58,-265,1060,359),64585=>array(34,-270,1213,359),64586=>array(34,-265,1223,359),64587=>array(54,-271,853,501),64588=>array(54,-271,853,501),64589=>array(54,-271,853,621),64590=>array(58,-265,835,501),64591=>array(34,-270,988,501),64592=>array(34,-265,998,501),64593=>array(54,-271,1283,593),64594=>array(58,-265,1265,593),64595=>array(34,-270,1418,593),64596=>array(34,-265,1428,593),64597=>array(54,-271,876,453),64598=>array(54,-271,876,453),64599=>array(54,-271,876,621),64600=>array(58,-265,858,359),64601=>array(34,-270,1011,284),64602=>array(34,-265,1021,284),64603=>array(38,0,368,889),64604=>array(-74,-210,357,609),64605=>array(32,-121,679,505),64606=>array(4,521,299,990),64607=>array(7,618,299,990),64608=>array(7,648,299,990),64609=>array(4,521,299,990),64610=>array(7,770,299,990),64611=>array(7,588,299,1053),64612=>array(-74,-210,681,569),64613=>array(-74,-210,681,569),64614=>array(58,-265,885,569),64615=>array(39,-228,968,569),64616=>array(34,-270,1038,569),64617=>array(34,-265,1048,569),64618=>array(-74,-210,681,284),64619=>array(-74,-210,681,458),64620=>array(58,-265,885,359),64621=>array(39,-228,968,356),64622=>array(34,-270,1038,284),64623=>array(34,-265,1048,284),64624=>array(-74,-210,681,486),64625=>array(-74,-210,681,486),64626=>array(58,-265,885,486),64627=>array(39,-228,968,486),64628=>array(34,-270,1038,486),64629=>array(34,-265,1048,486),64630=>array(-74,-210,681,588),64631=>array(-74,-210,681,588),64632=>array(58,-265,885,588),64633=>array(39,-228,968,588),64634=>array(34,-270,1038,588),64635=>array(34,-265,1048,588),64636=>array(34,-270,1275,610),64637=>array(34,-265,1285,610),64638=>array(34,-270,1275,595),64639=>array(34,-265,1285,595),64640=>array(79,0,822,717),64641=>array(34,-228,1222,717),64642=>array(58,-265,1189,717),64643=>array(34,-270,1342,717),64644=>array(34,-265,1352,717),64645=>array(58,-265,885,716),64646=>array(34,-270,1038,716),64647=>array(34,-265,1048,716),64648=>array(79,0,807,716),64649=>array(58,-265,1174,359),64650=>array(-74,-210,681,501),64651=>array(-74,-210,681,501),64652=>array(58,-265,885,501),64653=>array(39,-228,968,501),64654=>array(34,-270,1038,501),64655=>array(34,-265,1048,501),64656=>array(34,-270,794,301),64657=>array(-74,-210,681,284),64658=>array(-74,-210,681,458),64659=>array(58,-265,885,359),64660=>array(39,-228,968,356),64661=>array(34,-270,1038,284),64662=>array(34,-265,1048,284),64663=>array(-1,-140,839,569),64664=>array(-1,0,839,569),64665=>array(-1,0,839,612),64666=>array(-1,0,734,569),64667=>array(-1,-269,606,569),64668=>array(-1,-140,832,453),64669=>array(-1,-140,832,453),64670=>array(-1,-140,832,612),64671=>array(-1,-140,727,359),64672=>array(-1,-269,600,376),64673=>array(-1,-140,855,486),64674=>array(-1,0,855,486),64675=>array(-1,0,855,612),64676=>array(-1,0,750,486),64677=>array(-1,-269,623,486),64678=>array(-1,0,750,588),64679=>array(-1,-80,1205,453),64680=>array(-1,-80,1100,453),64681=>array(-1,-140,1205,453),64682=>array(-1,0,1100,453),64683=>array(-1,-140,1205,610),64684=>array(-1,0,1100,610),64685=>array(-1,-140,1329,453),64686=>array(-1,0,1329,453),64687=>array(-1,0,1329,612),64688=>array(-1,0,1224,359),64689=>array(-1,0,1394,453),64690=>array(-1,0,1394,612),64691=>array(-1,0,1289,436),64692=>array(-1,-140,1394,522),64693=>array(-1,0,1394,522),64694=>array(-1,0,1394,612),64695=>array(-1,0,1289,522),64696=>array(-1,0,1310,686),64697=>array(-1,0,1205,686),64698=>array(-1,-140,1162,492),64699=>array(-1,0,1057,492),64700=>array(-1,-140,1162,716),64701=>array(-1,0,1057,716),64702=>array(-1,-140,1042,773),64703=>array(-1,0,1042,773),64704=>array(-1,0,1042,773),64705=>array(-1,0,937,773),64706=>array(-1,0,1042,758),64707=>array(-1,0,937,758),64708=>array(-1,-140,1070,717),64709=>array(-1,0,1070,717),64710=>array(-1,0,1070,717),64711=>array(-1,0,676,717),64712=>array(-1,0,965,717),64713=>array(-1,-140,832,716),64714=>array(-1,0,832,716),64715=>array(-1,0,832,716),64716=>array(-1,0,727,716),64717=>array(-1,-269,600,716),64718=>array(-1,-140,1057,453),64719=>array(-1,0,1057,453),64720=>array(-1,0,1057,612),64721=>array(-1,0,952,359),64722=>array(-1,-140,832,501),64723=>array(-1,0,832,501),64724=>array(-1,0,832,612),64725=>array(-1,0,727,501),64726=>array(-1,-269,600,501),64727=>array(-1,-140,1262,593),64728=>array(-1,0,1157,593),64729=>array(-1,0,624,912),64730=>array(-1,-140,855,453),64731=>array(-1,-140,855,453),64732=>array(-1,-140,855,612),64733=>array(-1,-140,750,359),64734=>array(-1,-269,623,376),64735=>array(-1,0,777,569),64736=>array(-1,-269,650,569),64737=>array(-1,-140,777,359),64738=>array(-1,-269,650,376),64739=>array(-1,0,777,486),64740=>array(-1,-269,650,486),64741=>array(-1,0,777,588),64742=>array(-1,-269,650,588),64743=>array(-1,0,1304,359),64744=>array(-1,-269,1177,376),64745=>array(-1,0,1304,604),64746=>array(-1,-269,1177,604),64747=>array(-1,0,792,717),64748=>array(-1,0,1081,717),64749=>array(-1,0,777,716),64750=>array(-1,0,777,501),64751=>array(-1,-269,650,501),64752=>array(-1,-140,777,359),64753=>array(-1,-269,650,376),64754=>array(-1,0,307,1058),64755=>array(-1,0,303,990),64756=>array(-1,0,299,1054),64757=>array(34,-270,1466,686),64758=>array(34,-265,1476,686),64759=>array(34,-270,1318,492),64760=>array(34,-265,1328,492),64761=>array(34,-270,1318,716),64762=>array(34,-265,1328,716),64763=>array(34,-270,1485,346),64764=>array(34,-265,1495,346),64765=>array(34,-270,1485,604),64766=>array(34,-265,1495,604),64767=>array(34,-270,1361,453),64768=>array(34,-265,1371,453),64769=>array(34,-270,1361,453),64770=>array(34,-265,1371,453),64771=>array(34,-270,1361,610),64772=>array(34,-265,1371,610),64773=>array(34,-270,1550,436),64774=>array(34,-265,1560,436),64775=>array(34,-270,1550,522),64776=>array(34,-265,1560,522),64777=>array(54,-271,1350,604),64778=>array(54,-271,1350,604),64779=>array(54,-271,1350,621),64780=>array(58,-265,1332,604),64781=>array(-74,-210,1128,604),64782=>array(-74,-210,1128,346),64783=>array(-74,-210,1193,436),64784=>array(-74,-210,1193,522),64785=>array(34,-270,1528,686),64786=>array(34,-265,1538,686),64787=>array(34,-270,1349,407),64788=>array(34,-265,1359,407),64789=>array(34,-270,1349,624),64790=>array(34,-265,1359,624),64791=>array(34,-270,1565,346),64792=>array(34,-265,1575,346),64793=>array(34,-270,1565,604),64794=>array(34,-265,1575,604),64795=>array(34,-270,1432,453),64796=>array(34,-265,1442,453),64797=>array(34,-270,1432,453),64798=>array(34,-265,1442,453),64799=>array(34,-270,1432,612),64800=>array(34,-265,1442,612),64801=>array(34,-270,1612,436),64802=>array(34,-265,1622,436),64803=>array(34,-270,1612,522),64804=>array(34,-265,1622,522),64805=>array(54,-271,1430,604),64806=>array(54,-271,1430,604),64807=>array(54,-271,1430,621),64808=>array(58,-265,1412,604),64809=>array(-74,-210,1208,604),64810=>array(-74,-210,1208,346),64811=>array(-74,-210,1255,436),64812=>array(-74,-210,1255,522),64813=>array(-1,-140,1329,604),64814=>array(-1,0,1329,604),64815=>array(-1,0,1329,612),64816=>array(-1,0,1224,604),64817=>array(-1,-269,1097,376),64818=>array(-1,-269,1097,604),64819=>array(-1,0,1205,686),64820=>array(-1,-140,1409,453),64821=>array(-1,0,1409,453),64822=>array(-1,0,1409,612),64823=>array(-1,-140,1409,604),64824=>array(-1,0,1409,604),64825=>array(-1,0,1409,612),64826=>array(-1,0,1267,686),64827=>array(-1,0,1267,686),64828=>array(79,0,615,944),64829=>array(79,0,615,944),64830=>array(82,-218,445,790),64831=>array(155,-218,518,790),64848=>array(-1,-140,1389,486),64849=>array(54,-271,1542,486),64850=>array(-1,-140,1494,486),64851=>array(-1,0,1389,486),64852=>array(-1,0,1389,612),64853=>array(-1,-140,1389,486),64854=>array(-1,0,1389,486),64855=>array(-1,0,1389,612),64856=>array(54,-271,1831,453),64857=>array(-1,-80,1738,453),64858=>array(34,-265,1976,453),64859=>array(34,-270,1965,453),64860=>array(-1,-140,1967,453),64861=>array(-1,-140,1967,453),64862=>array(34,-270,2203,453),64863=>array(54,-271,1963,453),64864=>array(-1,0,1862,453),64865=>array(-1,-140,1862,453),64866=>array(58,-265,1945,359),64867=>array(-1,0,1757,359),64868=>array(54,-271,2115,453),64869=>array(-1,0,2032,453),64870=>array(58,-265,1992,436),64871=>array(58,-265,2050,604),64872=>array(-1,0,1862,604),64873=>array(34,-265,2213,604),64874=>array(54,-271,1963,621),64875=>array(-1,0,1862,612),64876=>array(58,-265,1945,604),64877=>array(-1,0,1757,604),64878=>array(34,-270,2250,522),64879=>array(58,-265,2097,612),64880=>array(-1,0,1927,612),64881=>array(54,-271,1926,686),64882=>array(-1,0,1843,686),64883=>array(-1,0,1738,686),64884=>array(34,-265,2071,686),64885=>array(58,-265,1834,453),64886=>array(58,-265,1729,407),64887=>array(-1,0,1590,492),64888=>array(34,-270,1882,407),64889=>array(58,-265,1729,624),64890=>array(34,-265,1893,624),64891=>array(34,-270,1882,624),64892=>array(58,-265,1760,612),64893=>array(-1,0,1575,773),64894=>array(54,-271,1671,595),64895=>array(58,-265,1655,595),64896=>array(58,-265,1523,716),64897=>array(34,-265,1687,716),64898=>array(34,-270,1676,716),64899=>array(-1,-140,1470,716),64900=>array(54,-271,1542,716),64901=>array(58,-265,1523,716),64902=>array(-1,0,1365,716),64903=>array(54,-271,1437,716),64904=>array(-1,0,1365,716),64905=>array(-1,-140,1695,453),64906=>array(-1,0,1590,453),64907=>array(34,-265,1976,453),64908=>array(-1,-140,1695,453),64909=>array(-1,-140,1590,453),64910=>array(-1,-140,1695,612),64911=>array(-1,0,1590,612),64914=>array(-1,-140,1695,612),64915=>array(-1,-140,1795,593),64916=>array(-1,0,1690,593),64917=>array(-1,0,1365,501),64918=>array(34,-270,1676,501),64919=>array(58,-265,1523,501),64920=>array(-1,-140,1365,501),64921=>array(34,-270,1676,501),64922=>array(34,-265,1582,501),64923=>array(34,-270,1571,501),64924=>array(58,-265,1418,359),64925=>array(-1,-140,1284,359),64926=>array(34,-265,1687,612),64927=>array(34,-265,1687,486),64928=>array(34,-270,1676,486),64929=>array(34,-265,1687,612),64930=>array(34,-270,1676,612),64931=>array(34,-265,1582,486),64932=>array(34,-270,1571,486),64933=>array(34,-265,1976,453),64934=>array(34,-270,2070,453),64935=>array(34,-270,1965,453),64936=>array(34,-270,2203,612),64937=>array(34,-265,2260,453),64938=>array(34,-265,2213,604),64939=>array(34,-265,2260,522),64940=>array(34,-265,1687,716),64941=>array(34,-265,1582,716),64942=>array(34,-265,1687,453),64943=>array(34,-265,1687,453),64944=>array(34,-265,1582,359),64945=>array(34,-265,1871,359),64946=>array(34,-265,1818,595),64947=>array(34,-265,1687,501),64948=>array(-1,0,1575,758),64949=>array(-1,0,1365,716),64950=>array(34,-265,1893,407),64951=>array(34,-265,1885,717),64952=>array(-1,-140,1470,501),64953=>array(34,-265,1976,612),64954=>array(-1,-140,1365,716),64955=>array(58,-265,1722,717),64956=>array(58,-265,1523,716),64957=>array(54,-271,1542,501),64958=>array(34,-265,2081,453),64959=>array(34,-265,2081,453),64960=>array(34,-265,1976,453),64961=>array(34,-265,1818,610),64962=>array(34,-265,1687,453),64963=>array(-1,0,1499,717),64964=>array(-1,-140,1695,492),64965=>array(-1,0,1822,436),64966=>array(34,-265,2213,612),64967=>array(34,-265,1687,501),65008=>array(62,-221,1462,716),65009=>array(62,-221,1110,758),65010=>array(52,0,1077,1015),65011=>array(-74,-210,1277,717),65012=>array(38,0,2049,453),65013=>array(58,-265,2196,716),65014=>array(34,-210,2066,716),65015=>array(62,-140,1490,716),65016=>array(58,-265,1984,716),65017=>array(34,-270,1794,716),65018=>array(77,-156,1842,762),65019=>array(74,-37,1003,826),65056=>array(55,604,450,726),65057=>array(0,604,395,726),65058=>array(55,604,450,726),65059=>array(0,604,395,726),65072=>array(446,87,554,679),65073=>array(461,-121,539,887),65074=>array(461,229,539,537),65075=>array(-5,-121,73,887),65076=>array(0,-118,118,885),65077=>array(45,39,952,277),65078=>array(47,558,954,796),65079=>array(43,31,956,281),65080=>array(43,548,956,798),65081=>array(41,19,960,294),65082=>array(40,543,959,818),65083=>array(45,18,950,306),65084=>array(47,530,952,818),65085=>array(47,-32,953,416),65086=>array(47,420,953,868),65087=>array(47,-2,953,325),65088=>array(47,511,953,838),65089=>array(48,18,952,358),65090=>array(48,473,952,818),65091=>array(48,-12,952,359),65092=>array(48,475,952,848),65097=>array(75,761,925,801),65098=>array(75,731,925,829),65099=>array(-1,771,1001,889),65100=>array(-2,656,1001,884),65101=>array(75,-29,925,11),65102=>array(75,-49,925,49),65103=>array(-1,-112,1001,6),65104=>array(50,-85,114,60),65105=>array(33,109,172,224),65106=>array(53,0,113,60),65108=>array(50,-85,114,311),65109=>array(54,0,114,311),65110=>array(28,0,305,437),65111=>array(51,0,116,430),65112=>array(-4,134,604,177),65113=>array(36,-126,178,437),65114=>array(22,-126,164,437),65115=>array(17,-126,186,437),65116=>array(14,-126,184,437),65117=>array(41,-119,184,430),65118=>array(16,-119,159,430),65119=>array(7,-7,327,437),65120=>array(26,-10,386,437),65121=>array(20,254,214,437),65122=>array(33,70,317,354),65123=>array(19,129,181,182),65124=>array(33,67,317,357),65125=>array(33,67,317,357),65126=>array(33,122,317,302),65128=>array(0,-14,167,430),65129=>array(23,-62,307,469),65130=>array(44,-16,491,437),65131=>array(34,-126,589,437),65136=>array(10,716,290,944),65137=>array(-1,0,299,944),65138=>array(4,716,292,990),65140=>array(8,-255,288,-78),65142=>array(10,716,290,859),65143=>array(-1,0,299,859),65144=>array(4,716,292,990),65145=>array(-1,0,303,990),65146=>array(8,-170,288,-78),65147=>array(-1,-170,297,95),65148=>array(7,716,299,936),65149=>array(-1,0,307,936),65150=>array(3,767,151,915),65151=>array(-1,0,155,915),65152=>array(54,0,469,422),65153=>array(-23,0,270,846),65154=>array(-23,0,274,846),65155=>array(46,0,188,933),65156=>array(46,0,274,933),65157=>array(-108,-210,408,762),65158=>array(-111,-210,467,664),65159=>array(46,-285,188,716),65160=>array(46,-285,274,716),65161=>array(32,-121,679,453),65162=>array(34,-270,794,301),65163=>array(-1,0,201,569),65164=>array(-1,0,244,569),65165=>array(79,0,164,716),65166=>array(79,0,274,716),65167=>array(62,-190,709,265),65168=>array(62,-190,789,265),65169=>array(-1,-140,194,284),65170=>array(-1,-140,244,284),65171=>array(62,-6,452,633),65172=>array(62,0,478,628),65173=>array(62,-50,709,437),65174=>array(62,-50,789,437),65175=>array(-1,0,217,486),65176=>array(-1,0,244,486),65177=>array(62,-50,709,539),65178=>array(62,-50,789,539),65179=>array(-1,0,217,588),65180=>array(-1,0,244,588),65181=>array(52,-271,564,453),65182=>array(54,-271,659,453),65183=>array(-1,-80,567,453),65184=>array(-1,-140,638,453),65185=>array(52,-271,564,453),65186=>array(54,-271,659,453),65187=>array(-1,0,567,453),65188=>array(-1,0,638,453),65189=>array(52,-271,564,621),65190=>array(54,-271,659,621),65191=>array(-1,0,567,610),65192=>array(-1,0,638,612),65193=>array(38,0,368,437),65194=>array(38,0,459,436),65195=>array(38,0,368,629),65196=>array(38,0,459,653),65197=>array(-74,-210,357,290),65198=>array(-74,-210,437,239),65199=>array(-74,-210,357,470),65200=>array(-74,-210,437,458),65201=>array(39,-228,1115,346),65202=>array(39,-228,1195,346),65203=>array(-1,0,691,346),65204=>array(-1,0,771,346),65205=>array(39,-228,1115,604),65206=>array(39,-228,1195,604),65207=>array(-1,0,691,604),65208=>array(-1,0,771,604),65209=>array(39,-228,1230,436),65210=>array(39,-228,1292,436),65211=>array(-1,0,756,436),65212=>array(-1,0,818,436),65213=>array(39,-228,1230,532),65214=>array(39,-228,1292,532),65215=>array(-1,0,756,522),65216=>array(-1,0,818,522),65217=>array(59,0,782,686),65218=>array(59,0,844,686),65219=>array(-1,0,672,686),65220=>array(-1,0,734,686),65221=>array(59,0,782,686),65222=>array(59,0,844,686),65223=>array(-1,0,672,686),65224=>array(-1,0,734,686),65225=>array(53,-271,565,492),65226=>array(55,-271,567,443),65227=>array(-1,0,524,492),65228=>array(-3,0,555,407),65229=>array(53,-271,565,725),65230=>array(55,-271,567,660),65231=>array(-1,0,524,716),65232=>array(-3,0,555,624),65233=>array(62,0,895,773),65234=>array(62,-33,904,610),65235=>array(-1,0,404,773),65236=>array(-1,0,481,610),65237=>array(34,-214,738,678),65238=>array(39,-271,824,557),65239=>array(-1,0,404,758),65240=>array(-1,0,481,595),65241=>array(62,0,689,716),65242=>array(34,0,734,716),65243=>array(-1,0,432,717),65244=>array(-1,0,548,717),65245=>array(34,-121,594,716),65246=>array(34,-228,674,716),65247=>array(-1,0,194,716),65248=>array(-1,0,244,716),65249=>array(58,-265,527,359),65250=>array(58,-265,641,359),65251=>array(-1,0,419,359),65252=>array(-1,0,533,359),65253=>array(62,-121,630,458),65254=>array(39,-228,724,356),65255=>array(-1,0,194,501),65256=>array(-1,0,244,501),65257=>array(62,-6,452,431),65258=>array(62,0,478,446),65259=>array(-1,0,624,593),65260=>array(-1,-269,406,376),65261=>array(-108,-210,408,476),65262=>array(-111,-210,467,379),65263=>array(32,-121,679,453),65264=>array(34,-270,794,126),65265=>array(32,-238,679,453),65266=>array(34,-265,804,146),65267=>array(-1,-140,217,284),65268=>array(-1,-140,244,284),65269=>array(-122,-78,474,862),65270=>array(-121,-78,604,862),65271=>array(-27,-78,474,862),65272=>array(-27,-78,604,862),65273=>array(8,-171,474,716),65274=>array(8,-172,604,716),65275=>array(8,-78,474,716),65276=>array(8,-78,604,716),65281=>array(446,0,555,716),65282=>array(363,462,635,716),65283=>array(234,-12,768,728),65284=>array(263,-103,736,782),65285=>array(128,-27,874,728),65286=>array(199,-17,800,728),65287=>array(447,462,547,716),65288=>array(382,-210,619,728),65289=>array(382,-210,619,728),65290=>array(338,423,661,728),65291=>array(264,116,738,590),65292=>array(447,-141,553,100),65293=>array(366,215,635,303),65294=>array(448,0,548,100),65295=>array(361,-24,639,716),65296=>array(266,-12,732,719),65297=>array(367,0,631,719),65298=>array(263,0,737,719),65299=>array(267,-12,736,719),65300=>array(253,0,748,716),65301=>array(263,-12,737,706),65302=>array(265,-12,737,719),65303=>array(269,0,732,706),65304=>array(265,-12,736,719),65305=>array(266,-12,736,719),65306=>array(449,0,549,518),65307=>array(447,-141,553,518),65308=>array(263,111,737,595),65309=>array(263,203,737,503),65310=>array(263,111,737,595),65311=>array(269,0,731,728),65312=>array(37,-210,962,729),65313=>array(166,0,835,716),65314=>array(229,0,770,716),65315=>array(184,-12,816,728),65316=>array(204,0,796,716),65317=>array(232,0,767,716),65318=>array(258,0,741,716),65319=>array(169,-12,831,728),65320=>array(219,0,781,716),65321=>array(452,0,547,716),65322=>array(304,-12,697,716),65323=>array(204,0,796,716),65324=>array(276,0,724,716),65325=>array(159,0,840,716),65326=>array(218,0,781,716),65327=>array(157,-12,842,728),65328=>array(227,0,773,716),65329=>array(151,-56,849,728),65330=>array(184,0,815,716),65331=>array(215,-12,785,728),65332=>array(216,0,783,716),65333=>array(218,-12,781,716),65334=>array(173,0,827,716),65335=>array(39,0,960,716),65336=>array(172,0,828,716),65337=>array(172,0,828,716),65338=>array(217,0,783,716),65339=>array(403,-199,597,716),65340=>array(361,-24,639,716),65341=>array(403,-199,597,716),65342=>array(291,325,708,716),65343=>array(244,-125,756,-75),65344=>array(410,591,590,728),65345=>array(261,-12,739,530),65346=>array(275,-12,725,716),65347=>array(274,-12,726,530),65348=>array(275,-12,725,716),65349=>array(261,-12,739,530),65350=>array(348,0,651,728),65351=>array(271,-210,728,530),65352=>array(288,0,711,716),65353=>array(456,0,544,716),65354=>array(400,-209,600,716),65355=>array(285,0,715,716),65356=>array(456,0,544,716),65357=>array(148,0,852,530),65358=>array(289,0,711,530),65359=>array(257,-12,743,530),65360=>array(275,-199,725,530),65361=>array(275,-199,725,530),65362=>array(359,0,641,530),65363=>array(285,-12,715,530),65364=>array(374,-7,626,700),65365=>array(289,-12,710,518),65366=>array(262,0,737,518),65367=>array(144,0,856,518),65368=>array(257,0,743,518),65369=>array(262,-210,738,518),65370=>array(270,0,729,518),65371=>array(359,-210,641,728),65372=>array(462,-199,538,716),65373=>array(359,-210,641,728),65374=>array(250,272,749,432),65377=>array(53,-40,235,142),65378=>array(79,-68,421,837),65379=>array(77,-68,423,837),65380=>array(54,-82,296,171),65381=>array(196,332,304,440),65382=>array(65,-53,435,753),65383=>array(63,-11,461,732),65384=>array(46,-3,441,769),65385=>array(79,-9,425,763),65386=>array(61,32,439,689),65387=>array(38,-15,443,751),65388=>array(51,-26,452,756),65389=>array(61,33,439,696),65390=>array(79,19,421,701),65391=>array(56,-3,432,727),65392=>array(81,329,419,411),65393=>array(43,-61,481,751),65394=>array(42,-44,448,795),65395=>array(62,-47,439,803),65396=>array(41,0,459,735),65397=>array(34,-45,464,787),65398=>array(38,-40,443,794),65399=>array(43,-46,457,799),65400=>array(40,-49,436,815),65401=>array(39,-48,461,813),65402=>array(60,-23,440,734),65403=>array(42,-59,458,788),65404=>array(36,-33,461,770),65405=>array(28,-49,472,727),65406=>array(44,-5,468,786),65407=>array(49,-51,442,780),65408=>array(36,-56,453,798),65409=>array(41,-50,459,798),65410=>array(45,-43,455,770),65411=>array(41,-61,459,740),65412=>array(122,-46,444,787),65413=>array(42,-59,458,786),65414=>array(41,16,459,711),65415=>array(42,-47,459,734),65416=>array(25,-51,487,769),65417=>array(52,-43,442,740),65418=>array(35,-29,464,791),65419=>array(95,-5,465,770),65420=>array(66,-54,434,732),65421=>array(26,24,472,645),65422=>array(22,-47,472,785),65423=>array(50,-31,450,729),65424=>array(38,-31,463,769),65425=>array(28,-31,478,790),65426=>array(45,-35,449,782),65427=>array(41,-6,459,739),65428=>array(47,-50,468,797),65429=>array(41,-4,459,730),65430=>array(61,-27,439,730),65431=>array(58,-54,442,748),65432=>array(106,-53,394,768),65433=>array(18,-44,481,788),65434=>array(111,-29,474,788),65435=>array(71,-24,429,730),65436=>array(64,-48,436,731),65437=>array(41,-33,461,749),65438=>array(21,523,250,750),65439=>array(38,591,220,773),65441=>array(50,91,450,665),65442=>array(31,91,469,665),65443=>array(20,78,495,665),65444=>array(49,90,451,665),65445=>array(29,80,492,666),65446=>array(30,91,472,666),65447=>array(54,90,446,664),65448=>array(28,90,472,665),65449=>array(59,90,451,665),65450=>array(42,88,458,665),65451=>array(39,85,461,665),65452=>array(39,85,461,665),65453=>array(39,78,495,665),65454=>array(41,85,459,665),65455=>array(34,85,466,665),65456=>array(32,85,468,666),65457=>array(79,90,421,665),65458=>array(79,90,421,665),65459=>array(37,88,463,665),65460=>array(37,78,495,664),65461=>array(13,80,486,661),65462=>array(2,78,493,663),65463=>array(52,92,448,666),65464=>array(17,78,481,665),65465=>array(11,79,495,666),65466=>array(19,76,481,665),65467=>array(72,90,428,663),65468=>array(56,91,444,664),65469=>array(62,90,438,665),65470=>array(44,88,456,665),65474=>array(105,-64,395,842),65475=>array(95,-64,405,842),65476=>array(103,-64,397,842),65477=>array(90,-64,411,842),65478=>array(103,-65,397,841),65479=>array(40,-63,445,843),65482=>array(103,-64,397,842),65483=>array(39,-63,446,843),65484=>array(43,197,457,614),65485=>array(24,-64,476,842),65486=>array(27,-64,463,842),65487=>array(24,-64,439,842),65490=>array(30,197,470,615),65491=>array(40,76,460,554),65492=>array(31,-65,454,841),65493=>array(25,-63,465,843),65494=>array(31,-64,449,842),65495=>array(40,110,468,588),65498=>array(28,357,472,436),65499=>array(30,-64,450,842),65500=>array(212,-64,288,842),65504=>array(274,-200,726,716),65505=>array(242,-14,758,728),65506=>array(263,203,737,503),65507=>array(244,793,756,843),65508=>array(462,-199,538,716),65509=>array(223,0,777,716),65510=>array(39,0,960,716),65512=>array(207,-218,293,994),65513=>array(40,100,460,412),65514=>array(93,0,405,420),65515=>array(40,100,460,412),65516=>array(93,0,405,420),65517=>array(35,160,465,590),65518=>array(35,160,465,590),65532=>array(0,0,1000,719),65533=>array(85,-21,915,810),65535=>array(125,0,875,750)); +$cw=array(0=>1000,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>469,95=>500,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>500,176=>400,177=>584,178=>333,179=>333,180=>333,181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500,256=>667,257=>556,258=>667,259=>556,260=>667,261=>556,262=>722,263=>500,264=>722,265=>500,266=>722,267=>500,268=>722,269=>500,270=>722,271=>627,272=>722,273=>556,274=>667,275=>556,276=>667,277=>556,278=>667,279=>556,280=>667,281=>556,282=>667,283=>556,284=>778,285=>556,286=>778,287=>556,288=>778,289=>556,290=>778,291=>556,292=>722,293=>556,294=>722,295=>556,296=>278,297=>222,298=>278,299=>222,300=>278,301=>222,302=>278,303=>222,304=>278,305=>278,306=>751,307=>444,308=>500,309=>222,310=>667,311=>500,312=>437,313=>556,314=>222,315=>556,316=>222,317=>556,318=>222,319=>556,320=>318,321=>556,322=>222,323=>722,324=>556,325=>722,326=>556,327=>722,328=>556,329=>626,330=>723,331=>556,332=>778,333=>556,334=>778,335=>556,336=>778,337=>556,338=>1000,339=>944,340=>722,341=>333,342=>722,343=>333,344=>722,345=>333,346=>667,347=>500,348=>667,349=>500,350=>667,351=>500,352=>667,353=>500,354=>611,355=>278,356=>611,357=>406,358=>611,359=>278,360=>722,361=>556,362=>722,363=>556,364=>722,365=>556,366=>722,367=>556,368=>722,369=>556,370=>722,371=>556,372=>944,373=>722,374=>667,375=>500,376=>667,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>222,384=>556,385=>740,386=>655,387=>556,388=>556,389=>556,390=>722,391=>766,392=>579,393=>722,394=>789,395=>655,396=>556,397=>557,398=>667,399=>729,400=>604,401=>611,402=>278,403=>791,404=>649,405=>806,406=>245,407=>322,408=>667,409=>500,410=>322,411=>500,412=>833,413=>722,414=>556,415=>778,416=>776,417=>556,418=>1019,419=>782,420=>735,421=>556,422=>722,423=>667,424=>500,425=>602,426=>366,427=>278,428=>571,429=>278,430=>611,431=>776,432=>620,433=>748,434=>667,435=>752,436=>615,437=>611,438=>500,439=>628,440=>628,441=>526,442=>480,443=>556,444=>556,445=>526,446=>556,447=>556,448=>278,449=>464,450=>474,451=>278,452=>1333,453=>1222,454=>1056,455=>1030,456=>778,457=>444,458=>1222,459=>944,460=>778,461=>667,462=>556,463=>278,464=>278,465=>778,466=>556,467=>722,468=>556,469=>722,470=>556,471=>722,472=>556,473=>722,474=>556,475=>722,476=>556,477=>556,478=>667,479=>556,480=>667,481=>556,482=>1000,483=>889,484=>778,485=>556,486=>778,487=>556,488=>667,489=>500,490=>778,491=>556,492=>778,493=>556,494=>534,495=>534,496=>222,497=>1333,498=>1222,499=>1056,500=>778,501=>556,506=>667,507=>556,508=>1000,509=>889,510=>778,511=>611,512=>667,513=>556,514=>667,515=>556,516=>667,517=>556,518=>667,519=>556,520=>278,521=>278,522=>278,523=>278,524=>778,525=>556,526=>778,527=>556,528=>722,529=>333,530=>722,531=>333,532=>722,533=>556,534=>722,535=>556,592=>556,593=>556,594=>556,595=>556,596=>500,597=>500,598=>556,599=>556,600=>556,601=>556,602=>777,603=>485,604=>485,605=>686,606=>519,607=>260,608=>556,609=>556,610=>557,611=>500,612=>500,613=>556,614=>556,615=>556,616=>242,617=>282,618=>356,619=>356,620=>425,621=>222,622=>635,623=>833,624=>833,625=>833,626=>556,627=>556,628=>558,629=>556,630=>715,631=>674,632=>558,633=>333,634=>333,635=>333,636=>333,637=>333,638=>312,639=>312,640=>530,641=>530,642=>500,643=>216,644=>276,645=>216,646=>222,647=>278,648=>278,649=>596,650=>558,651=>556,652=>500,653=>722,654=>500,655=>500,656=>500,657=>564,658=>530,659=>530,660=>464,661=>464,662=>464,663=>500,664=>614,665=>526,666=>519,667=>557,668=>558,669=>222,670=>500,671=>416,672=>556,673=>464,674=>464,675=>966,676=>966,677=>1030,678=>689,679=>484,680=>718,688=>326,689=>326,690=>153,691=>201,692=>201,693=>201,694=>304,695=>389,696=>278,697=>222,698=>372,699=>222,700=>222,701=>222,702=>222,703=>222,704=>250,705=>250,706=>320,707=>320,708=>320,709=>320,710=>333,711=>333,712=>192,713=>333,714=>333,715=>333,716=>192,717=>333,718=>333,719=>333,720=>300,721=>300,722=>222,723=>222,724=>340,725=>340,726=>280,727=>362,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,736=>278,737=>153,738=>270,739=>274,740=>325,741=>360,742=>360,743=>360,744=>360,745=>360,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,864=>0,865=>0,884=>308,885=>308,890=>278,894=>278,900=>278,901=>278,902=>667,903=>278,904=>704,905=>759,906=>315,908=>778,910=>746,911=>758,912=>222,913=>667,914=>667,915=>550,916=>682,917=>667,918=>611,919=>722,920=>778,921=>278,922=>667,923=>667,924=>833,925=>722,926=>650,927=>778,928=>722,929=>667,931=>602,932=>611,933=>667,934=>808,935=>667,936=>804,937=>758,938=>278,939=>667,940=>576,941=>434,942=>556,943=>222,944=>551,945=>576,946=>563,947=>500,948=>557,949=>434,950=>440,951=>556,952=>556,953=>222,954=>498,955=>500,956=>553,957=>500,958=>432,959=>556,960=>678,961=>571,962=>472,963=>619,964=>382,965=>551,966=>649,967=>522,968=>729,969=>766,970=>222,971=>551,972=>556,973=>551,974=>766,976=>563,977=>616,978=>631,979=>726,980=>631,981=>644,982=>781,986=>722,988=>578,990=>570,992=>692,994=>880,995=>833,996=>684,997=>558,998=>680,999=>529,1000=>557,1001=>505,1002=>623,1003=>603,1004=>610,1005=>611,1006=>568,1007=>434,1008=>600,1009=>571,1010=>500,1011=>222,1025=>667,1026=>865,1027=>567,1028=>717,1029=>667,1030=>278,1031=>278,1032=>500,1033=>1105,1034=>1009,1035=>867,1036=>584,1038=>635,1039=>723,1040=>667,1041=>655,1042=>667,1043=>567,1044=>677,1045=>667,1046=>923,1047=>604,1048=>722,1049=>722,1050=>584,1051=>705,1052=>833,1053=>722,1054=>778,1055=>723,1056=>667,1057=>722,1058=>611,1059=>635,1060=>760,1061=>667,1062=>740,1063=>684,1064=>920,1065=>939,1066=>793,1067=>883,1068=>655,1069=>717,1070=>1006,1071=>722,1072=>556,1073=>573,1074=>531,1075=>383,1076=>583,1077=>556,1078=>669,1079=>458,1080=>559,1081=>559,1082=>437,1083=>571,1084=>683,1085=>552,1086=>556,1087=>542,1088=>556,1089=>500,1090=>458,1091=>500,1092=>823,1093=>500,1094=>562,1095=>533,1096=>802,1097=>823,1098=>620,1099=>717,1100=>523,1101=>510,1102=>744,1103=>542,1105=>556,1106=>556,1107=>383,1108=>510,1109=>500,1110=>222,1111=>278,1112=>222,1113=>873,1114=>811,1115=>556,1116=>437,1118=>500,1119=>542,1120=>976,1121=>766,1122=>656,1123=>521,1124=>950,1125=>694,1126=>667,1127=>597,1128=>952,1129=>817,1130=>654,1131=>600,1132=>932,1133=>817,1134=>604,1135=>458,1136=>804,1137=>729,1138=>778,1139=>556,1140=>667,1141=>500,1142=>667,1143=>500,1144=>1279,1145=>1060,1146=>778,1147=>556,1148=>976,1149=>766,1150=>976,1151=>766,1152=>722,1153=>514,1154=>686,1155=>334,1156=>382,1157=>334,1158=>334,1168=>435,1169=>339,1170=>567,1171=>383,1172=>656,1173=>556,1174=>923,1175=>669,1176=>604,1177=>458,1178=>584,1179=>437,1180=>584,1181=>437,1182=>584,1183=>437,1184=>764,1185=>537,1186=>741,1187=>573,1188=>900,1189=>670,1190=>736,1191=>560,1192=>778,1193=>560,1194=>722,1195=>500,1196=>611,1197=>458,1198=>667,1199=>500,1200=>667,1201=>500,1202=>667,1203=>500,1204=>916,1205=>661,1206=>684,1207=>533,1208=>684,1209=>533,1210=>684,1211=>556,1212=>829,1213=>667,1214=>829,1215=>667,1216=>278,1217=>923,1218=>669,1219=>584,1220=>437,1223=>735,1224=>570,1227=>684,1228=>533,1232=>667,1233=>556,1234=>667,1235=>556,1236=>1000,1237=>889,1238=>667,1239=>556,1240=>729,1241=>556,1242=>729,1243=>556,1244=>923,1245=>669,1246=>604,1247=>458,1248=>604,1249=>492,1250=>722,1251=>559,1252=>722,1253=>559,1254=>778,1255=>556,1256=>778,1257=>556,1258=>778,1259=>556,1262=>635,1263=>500,1264=>635,1265=>500,1266=>635,1267=>500,1268=>684,1269=>533,1272=>883,1273=>717,1329=>635,1330=>531,1331=>583,1332=>583,1333=>531,1334=>531,1335=>427,1336=>531,1337=>750,1338=>635,1339=>531,1340=>375,1341=>583,1342=>698,1343=>531,1344=>427,1345=>531,1346=>583,1347=>531,1348=>635,1349=>698,1350=>635,1351=>635,1352=>531,1353=>531,1354=>698,1355=>531,1356=>635,1357=>531,1358=>698,1359=>583,1360=>479,1361=>583,1362=>531,1363=>698,1364=>698,1365=>635,1366=>750,1369=>271,1370=>271,1371=>150,1372=>300,1373=>271,1374=>271,1375=>420,1377=>583,1378=>427,1379=>427,1380=>427,1381=>427,1382=>427,1383=>427,1384=>427,1385=>459,1386=>427,1387=>427,1388=>323,1389=>531,1390=>427,1391=>427,1392=>427,1393=>427,1394=>427,1395=>427,1396=>427,1397=>271,1398=>427,1399=>375,1400=>427,1401=>375,1402=>583,1403=>427,1404=>427,1405=>427,1406=>427,1407=>583,1408=>427,1409=>427,1410=>323,1411=>583,1412=>375,1413=>375,1414=>583,1415=>527,1417=>271,1425=>360,1426=>360,1427=>360,1428=>360,1429=>360,1430=>360,1431=>360,1432=>360,1433=>360,1434=>360,1435=>360,1436=>360,1437=>360,1438=>360,1439=>360,1440=>360,1441=>360,1443=>360,1444=>360,1445=>360,1446=>360,1447=>360,1448=>360,1449=>360,1450=>360,1451=>360,1452=>360,1453=>360,1454=>360,1455=>360,1456=>360,1457=>360,1458=>360,1459=>360,1460=>360,1461=>360,1462=>360,1463=>360,1464=>360,1465=>360,1467=>360,1468=>360,1469=>360,1470=>366,1471=>360,1472=>225,1473=>360,1474=>360,1475=>238,1476=>360,1488=>577,1489=>563,1490=>411,1491=>512,1492=>594,1493=>316,1494=>326,1495=>594,1496=>594,1497=>316,1498=>507,1499=>527,1500=>484,1501=>594,1502=>594,1503=>316,1504=>338,1505=>604,1506=>550,1507=>567,1508=>569,1509=>505,1510=>514,1511=>583,1512=>507,1513=>700,1514=>633,1520=>590,1521=>590,1522=>590,1523=>216,1524=>412,1548=>278,1563=>278,1567=>556,1569=>529,1570=>243,1571=>243,1572=>470,1573=>243,1574=>731,1575=>243,1576=>771,1577=>514,1578=>771,1579=>771,1580=>544,1581=>544,1582=>544,1583=>430,1584=>430,1585=>421,1586=>421,1587=>1194,1588=>1194,1589=>1291,1590=>1291,1591=>843,1592=>843,1593=>594,1594=>594,1600=>279,1601=>957,1602=>800,1603=>757,1604=>662,1605=>589,1606=>692,1607=>514,1608=>470,1609=>731,1610=>731,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>480,1633=>480,1634=>480,1635=>480,1636=>480,1637=>480,1638=>480,1639=>480,1640=>480,1641=>480,1642=>547,1643=>278,1644=>278,1645=>438,1648=>0,1649=>243,1650=>243,1651=>243,1652=>0,1653=>380,1654=>470,1655=>548,1656=>772,1657=>771,1658=>771,1659=>771,1660=>771,1661=>771,1662=>771,1663=>771,1664=>771,1665=>544,1666=>544,1667=>544,1668=>544,1669=>544,1670=>544,1671=>544,1672=>430,1673=>430,1674=>430,1675=>430,1676=>430,1677=>430,1678=>430,1679=>430,1680=>430,1681=>421,1682=>421,1683=>421,1684=>421,1685=>421,1686=>419,1687=>421,1688=>421,1689=>421,1690=>1194,1691=>1194,1692=>1194,1693=>1291,1694=>1291,1695=>843,1696=>594,1697=>957,1698=>957,1699=>957,1700=>957,1701=>957,1702=>957,1703=>800,1704=>800,1705=>828,1706=>1058,1707=>828,1708=>757,1709=>757,1710=>757,1711=>828,1712=>828,1713=>828,1714=>828,1715=>828,1716=>828,1717=>662,1718=>662,1719=>662,1722=>692,1723=>692,1724=>692,1725=>692,1726=>706,1728=>514,1729=>509,1730=>509,1731=>509,1732=>470,1733=>470,1734=>470,1735=>470,1736=>470,1737=>470,1738=>470,1739=>470,1740=>731,1741=>841,1742=>731,1744=>731,1745=>731,1746=>550,1747=>550,1748=>279,1749=>514,1750=>726,1751=>558,1752=>321,1753=>318,1754=>342,1755=>373,1756=>716,1757=>688,1758=>852,1759=>288,1760=>288,1761=>388,1762=>350,1763=>716,1764=>146,1765=>282,1766=>339,1767=>339,1768=>415,1769=>514,1770=>220,1771=>220,1772=>220,1773=>350,1776=>480,1777=>480,1778=>480,1779=>480,1780=>480,1781=>480,1782=>480,1783=>480,1784=>480,1785=>480,2305=>0,2306=>0,2307=>294,2309=>693,2310=>910,2311=>533,2312=>533,2313=>590,2314=>713,2315=>920,2316=>677,2317=>611,2318=>611,2319=>611,2320=>611,2321=>910,2322=>910,2323=>910,2324=>910,2325=>667,2326=>732,2327=>593,2328=>639,2329=>624,2330=>688,2331=>713,2332=>688,2333=>712,2334=>697,2335=>502,2336=>533,2337=>583,2338=>523,2339=>693,2340=>585,2341=>638,2342=>533,2343=>640,2344=>585,2345=>585,2346=>565,2347=>699,2348=>592,2349=>689,2350=>633,2351=>600,2352=>486,2353=>486,2354=>680,2355=>730,2356=>730,2357=>592,2358=>684,2359=>608,2360=>646,2361=>546,2364=>0,2365=>373,2366=>319,2367=>319,2368=>319,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>319,2378=>319,2379=>319,2380=>319,2381=>0,2384=>884,2385=>0,2386=>0,2387=>0,2388=>0,2392=>667,2393=>732,2394=>593,2395=>688,2396=>583,2397=>523,2398=>699,2399=>600,2400=>920,2401=>677,2402=>0,2403=>0,2404=>331,2405=>513,2406=>639,2407=>639,2408=>639,2409=>639,2410=>639,2411=>639,2412=>639,2413=>639,2414=>639,2415=>639,2416=>362,2433=>0,2434=>430,2435=>430,2437=>786,2438=>1030,2439=>582,2440=>603,2441=>648,2442=>757,2443=>758,2444=>630,2447=>685,2448=>746,2451=>711,2452=>776,2453=>779,2454=>655,2455=>606,2456=>645,2457=>661,2458=>554,2459=>585,2460=>729,2461=>752,2462=>893,2463=>567,2464=>625,2465=>648,2466=>567,2467=>598,2468=>680,2469=>645,2470=>609,2471=>596,2472=>595,2474=>635,2475=>780,2476=>593,2477=>677,2478=>621,2479=>601,2480=>593,2482=>640,2486=>598,2487=>596,2488=>637,2489=>582,2492=>0,2494=>245,2495=>245,2496=>245,2497=>0,2498=>0,2499=>0,2500=>0,2503=>309,2504=>309,2507=>932,2508=>932,2509=>0,2519=>245,2524=>648,2525=>553,2527=>596,2528=>758,2529=>630,2530=>0,2531=>335,2534=>610,2535=>559,2536=>595,2537=>711,2538=>610,2539=>661,2540=>661,2541=>559,2542=>661,2543=>600,2544=>593,2545=>593,2546=>601,2547=>567,2548=>601,2549=>699,2550=>661,2551=>267,2552=>610,2553=>424,2554=>548,2562=>0,2565=>691,2566=>936,2567=>803,2568=>803,2569=>678,2570=>678,2575=>557,2576=>691,2579=>678,2580=>691,2581=>602,2582=>567,2583=>641,2584=>688,2585=>565,2586=>592,2587=>603,2588=>591,2589=>541,2590=>558,2591=>543,2592=>581,2593=>596,2594=>640,2595=>640,2596=>591,2597=>564,2598=>640,2599=>564,2600=>581,2602=>564,2603=>551,2604=>560,2605=>549,2606=>558,2607=>652,2608=>540,2610=>677,2611=>677,2613=>601,2614=>558,2616=>558,2617=>549,2620=>0,2622=>246,2623=>246,2624=>246,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2649=>567,2650=>690,2651=>591,2652=>591,2654=>581,2662=>591,2663=>591,2664=>591,2665=>591,2666=>591,2667=>591,2668=>591,2669=>591,2670=>591,2671=>591,2672=>0,2673=>0,2674=>557,2675=>678,2676=>894,2689=>0,2690=>0,2691=>300,2693=>781,2694=>1044,2695=>589,2696=>589,2697=>560,2698=>758,2699=>806,2701=>781,2703=>781,2704=>781,2705=>1044,2707=>1044,2708=>1044,2709=>413,2710=>773,2711=>606,2712=>558,2713=>483,2714=>600,2715=>691,2716=>811,2717=>647,2718=>651,2719=>453,2720=>450,2721=>425,2722=>478,2723=>694,2724=>534,2725=>553,2726=>446,2727=>541,2728=>582,2730=>572,2731=>437,2732=>663,2733=>756,2734=>594,2735=>493,2736=>392,2738=>613,2739=>656,2741=>538,2742=>611,2743=>507,2744=>663,2745=>587,2748=>0,2749=>478,2750=>273,2751=>273,2752=>273,2753=>0,2754=>0,2755=>0,2756=>0,2757=>0,2759=>0,2760=>0,2761=>273,2763=>273,2764=>273,2765=>0,2768=>843,2784=>893,2790=>625,2791=>625,2792=>625,2793=>625,2794=>625,2795=>625,2796=>625,2797=>625,2798=>625,2799=>625,2817=>0,2818=>306,2819=>391,2821=>590,2822=>808,2823=>658,2824=>658,2825=>633,2826=>654,2827=>636,2828=>540,2831=>560,2832=>938,2835=>600,2836=>973,2837=>603,2838=>620,2839=>620,2840=>605,2841=>712,2842=>579,2843=>579,2844=>593,2845=>564,2846=>581,2847=>604,2848=>578,2849=>579,2850=>579,2851=>607,2852=>579,2853=>587,2854=>579,2855=>602,2856=>579,2858=>605,2859=>728,2860=>579,2861=>643,2862=>605,2863=>628,2864=>619,2866=>653,2867=>593,2870=>620,2871=>605,2872=>605,2873=>579,2876=>0,2877=>333,2878=>218,2879=>0,2880=>294,2881=>0,2882=>0,2883=>0,2887=>479,2888=>479,2891=>1026,2892=>1026,2893=>0,2902=>0,2903=>218,2908=>579,2909=>579,2911=>599,2912=>636,2913=>540,2918=>578,2919=>480,2920=>480,2921=>622,2922=>506,2923=>605,2924=>529,2925=>548,2926=>512,2927=>528,2928=>561,2946=>0,2947=>742,2949=>1002,2950=>1118,2951=>994,2952=>660,2953=>1012,2954=>1231,2958=>726,2959=>731,2960=>870,2962=>763,2963=>763,2964=>1636,2965=>667,2969=>830,2970=>584,2972=>876,2974=>986,2975=>802,2979=>1295,2980=>656,2984=>630,2985=>1012,2986=>694,2990=>727,2991=>790,2992=>545,2993=>718,2994=>821,2995=>871,2996=>724,2997=>873,2999=>1087,3000=>1098,3001=>1274,3006=>547,3007=>172,3008=>93,3009=>519,3010=>814,3014=>748,3015=>681,3016=>956,3018=>1666,3019=>1666,3020=>1994,3021=>0,3031=>871,3047=>667,3048=>1012,3049=>751,3050=>740,3051=>924,3052=>884,3053=>726,3054=>1002,3055=>825,3056=>717,3057=>719,3058=>774,3073=>365,3074=>601,3075=>346,3077=>720,3078=>786,3079=>567,3080=>1159,3081=>690,3082=>1047,3083=>1299,3084=>913,3086=>625,3087=>625,3088=>712,3090=>655,3091=>655,3092=>862,3093=>515,3094=>680,3095=>526,3096=>943,3097=>655,3098=>684,3099=>684,3100=>670,3101=>1205,3102=>732,3103=>888,3104=>597,3105=>709,3106=>709,3107=>809,3108=>715,3109=>702,3110=>702,3111=>702,3112=>607,3114=>623,3115=>623,3116=>681,3117=>681,3118=>932,3119=>1203,3120=>597,3121=>893,3122=>631,3123=>608,3125=>620,3126=>541,3127=>667,3128=>640,3129=>911,3134=>644,3135=>298,3136=>298,3137=>361,3138=>682,3139=>342,3140=>704,3142=>624,3143=>624,3144=>900,3146=>849,3147=>849,3148=>976,3149=>669,3157=>298,3158=>119,3168=>1620,3169=>1281,3174=>840,3175=>840,3176=>840,3177=>840,3178=>840,3179=>840,3180=>840,3181=>840,3182=>840,3183=>840,3202=>440,3203=>251,3205=>654,3206=>654,3207=>631,3208=>891,3209=>957,3210=>1293,3211=>1044,3212=>744,3214=>650,3215=>650,3216=>659,3218=>667,3219=>667,3220=>667,3221=>462,3222=>749,3223=>543,3224=>779,3225=>674,3226=>682,3227=>660,3228=>667,3229=>1171,3230=>926,3231=>671,3232=>557,3233=>669,3234=>669,3235=>728,3236=>544,3237=>672,3238=>672,3239=>672,3240=>560,3242=>668,3243=>668,3244=>681,3245=>687,3246=>972,3247=>1101,3248=>556,3249=>677,3250=>661,3251=>545,3253=>666,3254=>553,3255=>670,3256=>549,3257=>716,3262=>425,3263=>341,3264=>680,3265=>354,3266=>714,3267=>386,3268=>638,3270=>307,3271=>670,3272=>462,3274=>908,3275=>1251,3276=>434,3277=>336,3285=>344,3286=>404,3294=>673,3296=>1695,3297=>978,3302=>549,3303=>549,3304=>549,3305=>549,3306=>549,3307=>549,3308=>549,3309=>549,3310=>549,3311=>549,3330=>368,3331=>305,3333=>1201,3334=>1351,3335=>905,3336=>1459,3337=>635,3338=>1198,3339=>861,3340=>957,3342=>1211,3343=>1202,3344=>1839,3346=>642,3347=>1114,3348=>1195,3349=>861,3350=>982,3351=>874,3352=>1354,3353=>957,3354=>1016,3355=>1266,3356=>712,3357=>1454,3358=>1215,3359=>563,3360=>565,3361=>1192,3362=>1244,3363=>1268,3364=>878,3365=>966,3366=>545,3367=>879,3368=>879,3370=>1031,3371=>1175,3372=>1334,3373=>546,3374=>643,3375=>949,3376=>642,3377=>555,3378=>945,3379=>631,3380=>553,3381=>959,3382=>936,3383=>1122,3384=>1190,3385=>1112,3390=>475,3391=>418,3392=>442,3393=>340,3394=>340,3395=>473,3398=>640,3399=>530,3400=>1279,3402=>1368,3403=>1258,3404=>1447,3405=>0,3415=>553,3424=>861,3425=>1100,3430=>1095,3431=>929,3432=>854,3433=>1181,3434=>658,3435=>972,3436=>1210,3437=>650,3438=>959,3439=>896,3585=>595,3586=>648,3587=>665,3588=>608,3589=>608,3590=>665,3591=>471,3592=>556,3593=>652,3594=>664,3595=>681,3596=>816,3597=>849,3598=>620,3599=>620,3600=>541,3601=>785,3602=>826,3603=>887,3604=>598,3605=>605,3606=>595,3607=>650,3608=>541,3609=>652,3610=>608,3611=>608,3612=>630,3613=>630,3614=>695,3615=>695,3616=>620,3617=>581,3618=>588,3619=>501,3620=>595,3621=>569,3622=>620,3623=>519,3624=>592,3625=>659,3626=>574,3627=>654,3628=>695,3629=>566,3630=>574,3631=>517,3632=>452,3633=>0,3634=>496,3635=>496,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>687,3648=>302,3649=>571,3650=>478,3651=>515,3652=>515,3653=>496,3654=>506,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>555,3664=>598,3665=>640,3666=>688,3667=>690,3668=>657,3669=>657,3670=>635,3671=>839,3672=>693,3673=>769,3674=>673,3675=>994,3713=>775,3714=>707,3716=>724,3719=>524,3720=>690,3722=>678,3725=>711,3732=>719,3733=>834,3734=>776,3735=>916,3737=>744,3738=>740,3739=>740,3740=>834,3741=>834,3742=>854,3743=>854,3745=>775,3746=>724,3747=>697,3749=>700,3751=>700,3754=>708,3755=>916,3757=>700,3758=>697,3759=>658,3760=>432,3761=>534,3762=>476,3763=>476,3764=>778,3765=>778,3766=>778,3767=>778,3768=>778,3769=>778,3771=>778,3772=>778,3773=>670,3776=>420,3777=>806,3778=>430,3779=>446,3780=>346,3782=>571,3784=>778,3785=>778,3786=>778,3787=>778,3788=>778,3789=>778,3792=>721,3793=>719,3794=>601,3795=>711,3796=>686,3797=>686,3798=>834,3799=>756,3800=>724,3801=>906,3804=>1272,3805=>1272,3840=>600,3841=>600,3842=>600,3843=>600,3844=>600,3845=>600,3846=>600,3847=>600,3848=>600,3849=>600,3850=>600,3851=>600,3852=>600,3853=>600,3854=>600,3855=>600,3856=>600,3857=>600,3858=>600,3859=>600,3860=>600,3861=>600,3862=>600,3863=>600,3864=>600,3865=>600,3866=>600,3867=>600,3868=>600,3869=>600,3870=>600,3871=>600,3872=>600,3873=>600,3874=>600,3875=>600,3876=>600,3877=>600,3878=>600,3879=>600,3880=>600,3881=>600,3882=>600,3883=>600,3884=>600,3885=>600,3886=>600,3887=>600,3888=>600,3889=>600,3890=>600,3891=>600,3892=>600,3893=>600,3894=>600,3895=>600,3896=>600,3897=>600,3898=>600,3899=>600,3900=>600,3901=>600,3902=>600,3903=>600,3904=>600,3905=>600,3906=>600,3907=>600,3908=>600,3909=>600,3910=>600,3911=>600,3913=>600,3914=>600,3915=>600,3916=>600,3917=>600,3918=>600,3919=>600,3920=>600,3921=>600,3922=>600,3923=>600,3924=>600,3925=>600,3926=>600,3927=>600,3928=>600,3929=>600,3930=>600,3931=>600,3932=>600,3933=>600,3934=>600,3935=>600,3936=>600,3937=>600,3938=>600,3939=>600,3940=>600,3941=>600,3942=>600,3943=>600,3944=>600,3945=>600,3953=>600,3954=>600,3955=>600,3956=>600,3957=>600,3958=>600,3959=>600,3960=>600,3961=>600,3962=>600,3963=>600,3964=>600,3965=>600,3966=>600,3967=>600,3968=>600,3969=>600,3970=>600,3971=>600,3972=>600,3973=>600,3974=>600,3975=>600,3976=>600,3977=>600,3978=>600,3979=>600,3984=>600,3985=>600,3986=>600,3987=>600,3988=>600,3989=>600,3991=>600,3993=>600,3994=>600,3995=>600,3996=>600,3997=>600,3998=>600,3999=>600,4000=>600,4001=>600,4002=>600,4003=>600,4004=>600,4005=>600,4006=>600,4007=>600,4008=>600,4009=>600,4010=>600,4011=>600,4012=>600,4013=>600,4017=>600,4018=>600,4019=>600,4020=>600,4021=>600,4022=>600,4023=>600,4025=>600,4256=>662,4257=>677,4258=>708,4259=>696,4260=>609,4261=>790,4262=>664,4263=>785,4264=>560,4265=>634,4266=>782,4267=>701,4268=>629,4269=>682,4270=>705,4271=>692,4272=>734,4273=>615,4274=>592,4275=>680,4276=>679,4277=>705,4278=>643,4279=>623,4280=>623,4281=>629,4282=>633,4283=>770,4284=>592,4285=>662,4286=>629,4287=>672,4288=>735,4289=>576,4290=>606,4291=>605,4292=>676,4293=>792,4304=>435,4305=>556,4306=>565,4307=>872,4308=>506,4309=>544,4310=>723,4311=>868,4312=>530,4313=>532,4314=>955,4315=>552,4316=>565,4317=>712,4318=>547,4319=>574,4320=>685,4321=>554,4322=>806,4323=>810,4324=>777,4325=>502,4326=>686,4327=>512,4328=>552,4329=>496,4330=>568,4331=>552,4332=>592,4333=>565,4334=>552,4335=>741,4336=>549,4337=>659,4338=>559,4339=>524,4340=>482,4341=>565,4342=>822,4347=>506,4352=>1000,4353=>1000,4354=>1000,4355=>1000,4356=>1000,4357=>1000,4358=>1000,4359=>1000,4360=>1000,4361=>1000,4362=>1000,4363=>1000,4364=>1000,4365=>1000,4366=>1000,4367=>1000,4368=>1000,4369=>1000,4370=>1000,4371=>1000,4372=>1000,4373=>1000,4374=>1000,4375=>1000,4376=>1000,4377=>1000,4378=>1000,4379=>1000,4380=>1000,4381=>1000,4382=>1000,4383=>1000,4384=>1000,4385=>1000,4386=>1000,4387=>1000,4388=>1000,4389=>1000,4390=>1000,4391=>1000,4392=>1000,4393=>1000,4394=>1000,4395=>1000,4396=>1000,4397=>1000,4398=>1000,4399=>1000,4400=>1000,4401=>1000,4402=>1000,4403=>1000,4404=>1000,4405=>1000,4406=>1000,4407=>1000,4408=>1000,4409=>1000,4410=>1000,4411=>1000,4412=>1000,4413=>1000,4414=>1000,4415=>1000,4416=>1000,4417=>1000,4418=>1000,4419=>1000,4420=>1000,4421=>1000,4422=>1000,4423=>1000,4424=>1000,4425=>1000,4426=>1000,4427=>1000,4428=>1000,4429=>1000,4430=>1000,4431=>1000,4432=>1000,4433=>1000,4434=>1000,4435=>1000,4436=>1000,4437=>1000,4438=>1000,4439=>1000,4440=>1000,4441=>1000,4447=>1000,4448=>1000,4449=>1000,4450=>1000,4451=>1000,4452=>1000,4453=>1000,4454=>1000,4455=>1000,4456=>1000,4457=>1000,4458=>1000,4459=>1000,4460=>1000,4461=>1000,4462=>1000,4463=>1000,4464=>1000,4465=>1000,4466=>1000,4467=>1000,4468=>1000,4469=>1000,4470=>1000,4471=>1000,4472=>1000,4473=>1000,4474=>1000,4475=>1000,4476=>1000,4477=>1000,4478=>1000,4479=>1000,4480=>1000,4481=>1000,4482=>1000,4483=>1000,4484=>1000,4485=>1000,4486=>1000,4487=>1000,4488=>1000,4489=>1000,4490=>1000,4491=>1000,4492=>1000,4493=>1000,4494=>1000,4495=>1000,4496=>1000,4497=>1000,4498=>1000,4499=>1000,4500=>1000,4501=>1000,4502=>1000,4503=>1000,4504=>1000,4505=>1000,4506=>1000,4507=>1000,4508=>1000,4509=>1000,4510=>1000,4511=>1000,4512=>1000,4513=>1000,4514=>1000,4520=>1000,4521=>1000,4522=>1000,4523=>1000,4524=>1000,4525=>1000,4526=>1000,4527=>1000,4528=>1000,4529=>1000,4530=>1000,4531=>1000,4532=>1000,4533=>1000,4534=>1000,4535=>1000,4536=>1000,4537=>1000,4538=>1000,4539=>1000,4540=>1000,4541=>1000,4542=>1000,4543=>1000,4544=>1000,4545=>1000,4546=>1000,4547=>1000,4548=>1000,4549=>1000,4550=>1000,4551=>1000,4552=>1000,4553=>1000,4554=>1000,4555=>1000,4556=>1000,4557=>1000,4558=>1000,4559=>1000,4560=>1000,4561=>1000,4562=>1000,4563=>1000,4564=>1000,4565=>1000,4566=>1000,4567=>1000,4568=>1000,4569=>1000,4570=>1000,4571=>1000,4572=>1000,4573=>1000,4574=>1000,4575=>1000,4576=>1000,4577=>1000,4578=>1000,4579=>1000,4580=>1000,4581=>1000,4582=>1000,4583=>1000,4584=>1000,4585=>1000,4586=>1000,4587=>1000,4588=>1000,4589=>1000,4590=>1000,4591=>1000,4592=>1000,4593=>1000,4594=>1000,4595=>1000,4596=>1000,4597=>1000,4598=>1000,4599=>1000,4600=>1000,4601=>1000,7680=>667,7681=>556,7682=>667,7683=>556,7684=>667,7685=>556,7686=>667,7687=>556,7688=>722,7689=>500,7690=>722,7691=>556,7692=>722,7693=>556,7694=>722,7695=>556,7696=>722,7697=>556,7698=>722,7699=>556,7700=>667,7701=>556,7702=>667,7703=>556,7704=>667,7705=>556,7706=>667,7707=>556,7708=>667,7709=>556,7710=>611,7711=>278,7712=>778,7713=>556,7714=>722,7715=>556,7716=>722,7717=>556,7718=>722,7719=>556,7720=>722,7721=>556,7722=>722,7723=>556,7724=>278,7725=>222,7726=>278,7727=>278,7728=>667,7729=>500,7730=>667,7731=>500,7732=>667,7733=>500,7734=>556,7735=>222,7736=>556,7737=>222,7738=>556,7739=>222,7740=>556,7741=>222,7742=>833,7743=>833,7744=>833,7745=>833,7746=>833,7747=>833,7748=>722,7749=>556,7750=>722,7751=>556,7752=>722,7753=>556,7754=>722,7755=>556,7756=>778,7757=>556,7758=>778,7759=>556,7760=>778,7761=>556,7762=>778,7763=>556,7764=>667,7765=>556,7766=>667,7767=>556,7768=>722,7769=>333,7770=>722,7771=>333,7772=>722,7773=>333,7774=>722,7775=>333,7776=>667,7777=>500,7778=>667,7779=>500,7780=>667,7781=>500,7782=>667,7783=>500,7784=>667,7785=>500,7786=>611,7787=>278,7788=>611,7789=>278,7790=>611,7791=>278,7792=>611,7793=>278,7794=>722,7795=>556,7796=>722,7797=>556,7798=>722,7799=>556,7800=>722,7801=>556,7802=>722,7803=>556,7804=>667,7805=>500,7806=>667,7807=>500,7808=>944,7809=>722,7810=>944,7811=>722,7812=>944,7813=>722,7814=>944,7815=>722,7816=>944,7817=>722,7818=>667,7819=>500,7820=>667,7821=>500,7822=>667,7823=>500,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>556,7831=>278,7832=>722,7833=>500,7834=>556,7835=>278,7840=>667,7841=>556,7842=>667,7843=>556,7844=>667,7845=>556,7846=>667,7847=>556,7848=>667,7849=>556,7850=>667,7851=>556,7852=>667,7853=>556,7854=>667,7855=>556,7856=>667,7857=>556,7858=>667,7859=>556,7860=>667,7861=>556,7862=>667,7863=>556,7864=>667,7865=>556,7866=>667,7867=>556,7868=>667,7869=>556,7870=>667,7871=>556,7872=>667,7873=>556,7874=>667,7875=>556,7876=>667,7877=>556,7878=>667,7879=>556,7880=>278,7881=>278,7882=>278,7883=>222,7884=>778,7885=>556,7886=>778,7887=>556,7888=>778,7889=>556,7890=>778,7891=>556,7892=>778,7893=>556,7894=>778,7895=>556,7896=>778,7897=>556,7898=>776,7899=>556,7900=>776,7901=>556,7902=>776,7903=>556,7904=>776,7905=>556,7906=>776,7907=>556,7908=>722,7909=>556,7910=>722,7911=>556,7912=>776,7913=>620,7914=>776,7915=>620,7916=>776,7917=>620,7918=>776,7919=>620,7920=>776,7921=>620,7922=>667,7923=>500,7924=>667,7925=>500,7926=>667,7927=>500,7928=>667,7929=>500,7936=>576,7937=>576,7938=>576,7939=>576,7940=>576,7941=>576,7942=>576,7943=>576,7944=>667,7945=>667,7946=>680,7947=>680,7948=>680,7949=>680,7950=>718,7951=>718,7952=>434,7953=>434,7954=>434,7955=>434,7956=>434,7957=>434,7960=>692,7961=>692,7962=>823,7963=>823,7964=>823,7965=>823,7968=>556,7969=>556,7970=>556,7971=>556,7972=>556,7973=>556,7974=>556,7975=>556,7976=>747,7977=>747,7978=>878,7979=>878,7980=>878,7981=>878,7982=>923,7983=>923,7984=>222,7985=>222,7986=>222,7987=>222,7988=>222,7989=>222,7990=>222,7991=>222,7992=>303,7993=>303,7994=>434,7995=>434,7996=>434,7997=>434,7998=>479,7999=>479,8000=>556,8001=>556,8002=>556,8003=>556,8004=>556,8005=>556,8008=>778,8009=>778,8010=>894,8011=>894,8012=>894,8013=>894,8016=>551,8017=>551,8018=>551,8019=>551,8020=>551,8021=>551,8022=>551,8023=>551,8025=>777,8027=>893,8029=>885,8031=>940,8032=>766,8033=>766,8034=>766,8035=>766,8036=>766,8037=>766,8038=>766,8039=>766,8040=>758,8041=>758,8042=>874,8043=>874,8044=>868,8045=>867,8046=>911,8047=>911,8048=>576,8049=>576,8050=>434,8051=>434,8052=>556,8053=>556,8054=>222,8055=>222,8056=>556,8057=>556,8058=>551,8059=>551,8060=>766,8061=>766,8064=>576,8065=>576,8066=>576,8067=>576,8068=>576,8069=>576,8070=>576,8071=>576,8072=>667,8073=>667,8074=>680,8075=>680,8076=>680,8077=>680,8078=>718,8079=>718,8080=>556,8081=>556,8082=>556,8083=>556,8084=>556,8085=>556,8086=>556,8087=>556,8088=>747,8089=>747,8090=>878,8091=>878,8092=>878,8093=>878,8094=>923,8095=>923,8096=>766,8097=>766,8098=>766,8099=>766,8100=>766,8101=>766,8102=>766,8103=>766,8104=>758,8105=>758,8106=>874,8107=>874,8108=>868,8109=>867,8110=>911,8111=>911,8112=>576,8113=>576,8114=>576,8115=>576,8116=>576,8118=>576,8119=>576,8120=>667,8121=>667,8122=>667,8123=>667,8124=>667,8125=>278,8126=>278,8127=>278,8128=>278,8129=>278,8130=>556,8131=>556,8132=>556,8134=>556,8135=>556,8136=>693,8137=>704,8138=>748,8139=>759,8140=>722,8141=>278,8142=>278,8143=>278,8144=>222,8145=>222,8146=>222,8147=>222,8150=>222,8151=>222,8152=>278,8153=>278,8154=>304,8155=>304,8157=>278,8158=>278,8159=>278,8160=>551,8161=>551,8162=>551,8163=>551,8164=>571,8165=>571,8166=>551,8167=>551,8168=>667,8169=>667,8170=>742,8171=>746,8172=>693,8173=>278,8174=>278,8175=>278,8178=>766,8179=>766,8180=>766,8182=>766,8183=>766,8184=>778,8185=>778,8186=>758,8187=>758,8188=>758,8189=>278,8190=>278,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>100,8202=>50,8203=>0,8204=>0,8205=>0,8208=>333,8209=>333,8210=>556,8211=>500,8212=>1000,8213=>564,8214=>428,8215=>500,8216=>222,8217=>222,8218=>222,8219=>222,8220=>333,8221=>333,8222=>333,8223=>333,8224=>556,8225=>556,8226=>350,8227=>350,8228=>278,8229=>556,8230=>1000,8231=>278,8232=>0,8233=>0,8240=>1000,8241=>1330,8242=>222,8243=>372,8244=>522,8245=>206,8246=>356,8247=>506,8248=>312,8249=>333,8250=>333,8251=>1000,8252=>471,8253=>556,8254=>500,8255=>945,8256=>945,8257=>312,8258=>820,8259=>333,8260=>167,8261=>278,8262=>278,8304=>333,8308=>333,8309=>333,8310=>333,8311=>333,8312=>333,8313=>333,8314=>333,8315=>333,8316=>333,8317=>210,8318=>210,8319=>333,8320=>333,8321=>333,8322=>333,8323=>333,8324=>333,8325=>333,8326=>333,8327=>333,8328=>333,8329=>333,8330=>333,8331=>333,8332=>333,8333=>210,8334=>210,8352=>556,8353=>556,8354=>556,8355=>556,8356=>556,8357=>833,8358=>556,8359=>556,8360=>1024,8361=>940,8362=>784,8363=>556,8364=>556,8400=>600,8401=>600,8402=>600,8403=>600,8404=>700,8405=>700,8406=>600,8407=>600,8408=>600,8409=>600,8410=>600,8411=>600,8412=>600,8413=>900,8414=>900,8415=>900,8416=>900,8417=>700,8448=>889,8449=>889,8450=>667,8451=>1022,8452=>611,8453=>889,8454=>889,8455=>501,8456=>667,8457=>921,8458=>510,8459=>906,8460=>988,8461=>722,8462=>500,8463=>500,8464=>688,8465=>553,8466=>708,8467=>291,8468=>778,8469=>722,8470=>1073,8471=>737,8472=>740,8473=>556,8474=>722,8475=>927,8476=>795,8477=>667,8478=>667,8479=>667,8480=>1000,8481=>1174,8482=>1000,8483=>722,8484=>611,8485=>542,8486=>768,8487=>768,8488=>698,8489=>321,8490=>667,8491=>667,8492=>927,8493=>646,8494=>556,8495=>385,8496=>615,8497=>688,8498=>611,8499=>1115,8500=>406,8501=>688,8502=>688,8503=>344,8504=>688,8531=>834,8532=>834,8533=>834,8534=>834,8535=>834,8536=>834,8537=>834,8538=>834,8539=>834,8540=>834,8541=>834,8542=>834,8543=>834,8544=>278,8545=>555,8546=>832,8547=>933,8548=>667,8549=>934,8550=>1031,8551=>1268,8552=>944,8553=>667,8554=>944,8555=>1035,8556=>556,8557=>722,8558=>722,8559=>833,8560=>222,8561=>444,8562=>666,8563=>700,8564=>500,8565=>700,8566=>922,8567=>1144,8568=>712,8569=>500,8570=>712,8571=>934,8572=>222,8573=>500,8574=>556,8575=>833,8576=>983,8577=>722,8578=>983,8592=>713,8593=>713,8594=>713,8595=>713,8596=>713,8597=>713,8598=>713,8599=>713,8600=>713,8601=>713,8602=>713,8603=>713,8604=>713,8605=>713,8606=>713,8607=>713,8608=>713,8609=>713,8610=>713,8611=>713,8612=>713,8613=>713,8614=>713,8615=>713,8616=>713,8617=>713,8618=>713,8619=>713,8620=>713,8621=>813,8622=>813,8623=>713,8624=>713,8625=>713,8626=>713,8627=>713,8628=>713,8629=>713,8630=>713,8631=>713,8632=>713,8633=>713,8634=>800,8635=>800,8636=>713,8637=>713,8638=>713,8639=>713,8640=>713,8641=>713,8642=>713,8643=>713,8644=>713,8645=>713,8646=>713,8647=>713,8648=>713,8649=>713,8650=>713,8651=>713,8652=>713,8653=>713,8654=>950,8655=>713,8656=>713,8657=>713,8658=>713,8659=>713,8660=>863,8661=>713,8662=>713,8663=>713,8664=>713,8665=>713,8666=>713,8667=>713,8668=>813,8669=>813,8670=>713,8671=>713,8672=>713,8673=>713,8674=>713,8675=>713,8676=>713,8677=>713,8678=>713,8679=>713,8680=>713,8681=>713,8682=>713,8704=>600,8705=>600,8706=>494,8707=>600,8708=>600,8709=>800,8710=>612,8711=>612,8712=>549,8713=>549,8714=>549,8715=>549,8716=>549,8717=>549,8718=>549,8719=>823,8720=>823,8721=>713,8722=>584,8723=>584,8724=>584,8725=>167,8726=>278,8727=>389,8728=>400,8729=>400,8730=>600,8731=>600,8732=>600,8733=>549,8734=>549,8735=>584,8736=>584,8737=>584,8738=>584,8739=>260,8740=>444,8741=>418,8742=>602,8743=>561,8744=>561,8745=>561,8746=>561,8747=>506,8748=>806,8749=>1106,8750=>506,8751=>806,8752=>1106,8753=>506,8754=>506,8755=>506,8756=>561,8757=>561,8758=>422,8759=>561,8760=>584,8761=>584,8762=>584,8763=>584,8764=>584,8765=>584,8766=>584,8767=>584,8768=>422,8769=>584,8770=>584,8771=>584,8772=>584,8773=>584,8774=>584,8775=>584,8776=>584,8777=>584,8778=>584,8779=>584,8780=>584,8781=>584,8782=>584,8783=>584,8784=>584,8785=>584,8786=>584,8787=>584,8788=>737,8789=>737,8790=>584,8791=>584,8792=>584,8793=>584,8794=>584,8795=>584,8796=>584,8797=>584,8798=>584,8799=>584,8800=>584,8801=>584,8802=>584,8803=>584,8804=>584,8805=>584,8806=>584,8807=>584,8808=>584,8809=>584,8810=>969,8811=>969,8812=>584,8813=>584,8814=>584,8815=>584,8816=>584,8817=>584,8818=>584,8819=>584,8820=>584,8821=>584,8822=>584,8823=>584,8824=>584,8825=>584,8826=>584,8827=>584,8828=>584,8829=>584,8830=>584,8831=>584,8832=>584,8833=>584,8834=>678,8835=>678,8836=>678,8837=>678,8838=>678,8839=>678,8840=>678,8841=>678,8842=>678,8843=>678,8844=>561,8845=>561,8846=>561,8847=>678,8848=>678,8849=>673,8850=>673,8851=>561,8852=>561,8853=>800,8854=>800,8855=>800,8856=>800,8857=>800,8858=>800,8859=>800,8860=>800,8861=>800,8862=>800,8863=>800,8864=>800,8865=>800,8866=>549,8867=>549,8868=>549,8869=>549,8870=>399,8871=>399,8872=>549,8873=>549,8874=>549,8875=>672,8876=>549,8877=>549,8878=>549,8879=>672,8880=>549,8881=>549,8882=>549,8883=>549,8884=>549,8885=>549,8886=>713,8887=>713,8888=>713,8889=>549,8890=>549,8891=>584,8892=>584,8893=>584,8894=>584,8895=>584,8896=>561,8897=>561,8898=>561,8899=>561,8900=>549,8901=>250,8902=>549,8903=>649,8904=>630,8905=>630,8906=>630,8907=>630,8908=>630,8909=>584,8910=>561,8911=>561,8912=>668,8913=>668,8914=>668,8915=>668,8916=>561,8917=>602,8918=>584,8919=>584,8920=>1354,8921=>1354,8922=>584,8923=>584,8924=>584,8925=>584,8926=>584,8927=>584,8928=>584,8929=>584,8930=>673,8931=>673,8932=>673,8933=>673,8934=>584,8935=>584,8936=>584,8937=>584,8938=>584,8939=>584,8940=>584,8941=>584,8942=>278,8943=>1000,8944=>1000,8945=>1000,8960=>549,8962=>549,8963=>549,8964=>549,8965=>549,8966=>549,8967=>549,8968=>449,8969=>449,8970=>449,8971=>449,8972=>549,8973=>549,8974=>549,8975=>549,8976=>549,8977=>549,8978=>800,8979=>800,8980=>549,8981=>549,8982=>549,8983=>650,8984=>780,8985=>549,8986=>549,8987=>549,8988=>549,8989=>549,8990=>549,8991=>549,8992=>506,8993=>506,8994=>713,8995=>713,8996=>1000,8997=>1000,8998=>1000,8999=>1000,9000=>1000,9001=>329,9002=>329,9003=>1000,9004=>549,9005=>549,9006=>549,9007=>549,9008=>549,9009=>549,9010=>549,9011=>549,9012=>549,9013=>549,9014=>600,9015=>600,9016=>600,9017=>600,9018=>600,9019=>600,9020=>600,9021=>600,9022=>600,9023=>600,9024=>600,9025=>600,9026=>600,9027=>600,9028=>600,9029=>600,9030=>600,9031=>600,9032=>600,9033=>600,9034=>600,9035=>600,9036=>600,9037=>600,9038=>600,9039=>600,9040=>600,9041=>600,9042=>600,9043=>600,9044=>600,9045=>600,9046=>600,9047=>600,9048=>600,9049=>600,9050=>600,9051=>600,9052=>600,9053=>600,9054=>600,9055=>600,9056=>600,9057=>600,9058=>600,9059=>600,9060=>600,9061=>600,9062=>600,9063=>600,9064=>600,9065=>600,9066=>600,9067=>600,9068=>600,9069=>600,9070=>600,9071=>600,9072=>600,9073=>600,9074=>600,9075=>600,9076=>600,9077=>600,9078=>600,9079=>600,9080=>600,9081=>600,9082=>600,9109=>600,9216=>600,9217=>600,9218=>600,9219=>600,9220=>600,9221=>600,9222=>600,9223=>600,9224=>600,9225=>600,9226=>600,9227=>600,9228=>600,9229=>600,9230=>600,9231=>600,9232=>600,9233=>600,9234=>600,9235=>600,9236=>600,9237=>600,9238=>600,9239=>600,9240=>600,9241=>600,9242=>600,9243=>600,9244=>600,9245=>600,9246=>600,9247=>600,9248=>600,9249=>600,9250=>600,9251=>600,9252=>600,9280=>604,9281=>604,9282=>604,9283=>604,9284=>604,9285=>604,9286=>750,9287=>750,9288=>750,9289=>750,9290=>604,9312=>1000,9313=>1000,9314=>1000,9315=>1000,9316=>1000,9317=>1000,9318=>1000,9319=>1000,9320=>1000,9321=>1000,9322=>1000,9323=>1000,9324=>1000,9325=>1000,9326=>1000,9327=>1000,9328=>1000,9329=>1000,9330=>1000,9331=>1000,9332=>1000,9333=>1000,9334=>1000,9335=>1000,9336=>1000,9337=>1000,9338=>1000,9339=>1000,9340=>1000,9341=>1000,9342=>1000,9343=>1000,9344=>1000,9345=>1000,9346=>1000,9347=>1000,9348=>1000,9349=>1000,9350=>1000,9351=>1000,9352=>1000,9353=>1000,9354=>1000,9355=>1000,9356=>1000,9357=>1000,9358=>1000,9359=>1000,9360=>1000,9361=>1000,9362=>1000,9363=>1000,9364=>1000,9365=>1000,9366=>1000,9367=>1000,9368=>1000,9369=>1000,9370=>1000,9371=>1000,9372=>1000,9373=>1000,9374=>1000,9375=>1000,9376=>1000,9377=>1000,9378=>1000,9379=>1000,9380=>1000,9381=>1000,9382=>1000,9383=>1000,9384=>1000,9385=>1000,9386=>1000,9387=>1000,9388=>1000,9389=>1000,9390=>1000,9391=>1000,9392=>1000,9393=>1000,9394=>1000,9395=>1000,9396=>1000,9397=>1000,9398=>1000,9399=>1000,9400=>1000,9401=>1000,9402=>1000,9403=>1000,9404=>1000,9405=>1000,9406=>1000,9407=>1000,9408=>1000,9409=>1000,9410=>1000,9411=>1000,9412=>1000,9413=>1000,9414=>1000,9415=>1000,9416=>1000,9417=>1000,9418=>1000,9419=>1000,9420=>1000,9421=>1000,9422=>1000,9423=>1000,9424=>1000,9425=>1000,9426=>1000,9427=>1000,9428=>1000,9429=>1000,9430=>1000,9431=>1000,9432=>1000,9433=>1000,9434=>1000,9435=>1000,9436=>1000,9437=>1000,9438=>1000,9439=>1000,9440=>1000,9441=>1000,9442=>1000,9443=>1000,9444=>1000,9445=>1000,9446=>1000,9447=>1000,9448=>1000,9449=>1000,9450=>1000,9472=>600,9473=>600,9474=>600,9475=>600,9476=>600,9477=>600,9478=>600,9479=>600,9480=>600,9481=>600,9482=>600,9483=>600,9484=>600,9485=>600,9486=>600,9487=>600,9488=>600,9489=>600,9490=>600,9491=>600,9492=>600,9493=>600,9494=>600,9495=>600,9496=>600,9497=>600,9498=>600,9499=>600,9500=>600,9501=>600,9502=>600,9503=>600,9504=>600,9505=>600,9506=>600,9507=>600,9508=>600,9509=>600,9510=>600,9511=>600,9512=>600,9513=>600,9514=>600,9515=>600,9516=>600,9517=>600,9518=>600,9519=>600,9520=>600,9521=>600,9522=>600,9523=>600,9524=>600,9525=>600,9526=>600,9527=>600,9528=>600,9529=>600,9530=>600,9531=>600,9532=>600,9533=>600,9534=>600,9535=>600,9536=>600,9537=>600,9538=>600,9539=>600,9540=>600,9541=>600,9542=>600,9543=>600,9544=>600,9545=>600,9546=>600,9547=>600,9548=>600,9549=>600,9550=>600,9551=>600,9552=>600,9553=>600,9554=>600,9555=>600,9556=>600,9557=>600,9558=>600,9559=>600,9560=>600,9561=>600,9562=>600,9563=>600,9564=>600,9565=>600,9566=>600,9567=>600,9568=>600,9569=>600,9570=>600,9571=>600,9572=>600,9573=>600,9574=>600,9575=>600,9576=>600,9577=>600,9578=>600,9579=>600,9580=>600,9581=>600,9582=>600,9583=>600,9584=>600,9585=>600,9586=>600,9587=>600,9588=>600,9589=>600,9590=>600,9591=>600,9592=>600,9593=>600,9594=>600,9595=>600,9596=>600,9597=>600,9598=>600,9599=>600,9600=>600,9601=>600,9602=>600,9603=>600,9604=>600,9605=>600,9606=>600,9607=>600,9608=>600,9609=>600,9610=>600,9611=>600,9612=>600,9613=>600,9614=>600,9615=>600,9616=>600,9617=>600,9618=>600,9619=>600,9620=>600,9621=>600,9632=>600,9633=>600,9634=>600,9635=>600,9636=>600,9637=>600,9638=>600,9639=>600,9640=>600,9641=>600,9642=>600,9643=>600,9644=>600,9645=>600,9646=>600,9647=>600,9648=>600,9649=>600,9650=>600,9651=>600,9652=>600,9653=>600,9654=>600,9655=>600,9656=>600,9657=>600,9658=>600,9659=>600,9660=>600,9661=>600,9662=>600,9663=>600,9664=>600,9665=>600,9666=>600,9667=>600,9668=>600,9669=>600,9670=>600,9671=>600,9672=>600,9673=>600,9674=>600,9675=>600,9676=>600,9677=>600,9678=>600,9679=>600,9680=>600,9681=>600,9682=>600,9683=>600,9684=>600,9685=>600,9686=>600,9687=>600,9688=>600,9689=>600,9690=>600,9691=>600,9692=>600,9693=>600,9694=>600,9695=>600,9696=>600,9697=>600,9698=>600,9699=>600,9700=>600,9701=>600,9702=>600,9703=>600,9704=>600,9705=>600,9706=>600,9707=>600,9708=>600,9709=>600,9710=>600,9711=>600,9728=>750,9729=>1000,9730=>750,9731=>750,9732=>1000,9733=>816,9734=>823,9735=>500,9736=>500,9737=>800,9738=>800,9739=>800,9740=>800,9741=>800,9742=>719,9743=>719,9744=>734,9745=>734,9746=>734,9747=>762,9754=>960,9755=>960,9756=>939,9757=>939,9758=>939,9759=>939,9760=>750,9761=>600,9762=>750,9763=>750,9764=>580,9765=>460,9766=>444,9767=>650,9768=>444,9769=>768,9770=>800,9771=>850,9772=>675,9773=>800,9774=>750,9775=>750,9776=>900,9777=>900,9778=>900,9779=>900,9780=>900,9781=>900,9782=>900,9783=>900,9784=>750,9785=>750,9786=>750,9787=>750,9788=>750,9789=>750,9790=>750,9791=>740,9792=>740,9793=>740,9794=>740,9795=>653,9796=>490,9797=>632,9798=>780,9799=>560,9800=>838,9801=>780,9802=>734,9803=>887,9804=>780,9805=>1080,9806=>896,9807=>1080,9808=>804,9809=>868,9810=>922,9811=>696,9812=>1000,9813=>1000,9814=>1000,9815=>1000,9816=>1000,9817=>1000,9818=>1000,9819=>1000,9820=>1000,9821=>1000,9822=>1000,9823=>1000,9824=>722,9825=>734,9826=>674,9827=>804,9828=>722,9829=>734,9830=>674,9831=>804,9832=>860,9833=>423,9834=>592,9835=>750,9836=>750,9837=>439,9838=>439,9839=>439,9985=>974,9986=>961,9987=>974,9988=>980,9990=>789,9991=>790,9992=>791,9993=>690,9996=>549,9997=>855,9998=>911,9999=>933,10000=>911,10001=>945,10002=>974,10003=>755,10004=>846,10005=>762,10006=>761,10007=>571,10008=>677,10009=>763,10010=>760,10011=>759,10012=>754,10013=>494,10014=>552,10015=>537,10016=>577,10017=>692,10018=>786,10019=>788,10020=>788,10021=>790,10022=>793,10023=>794,10025=>823,10026=>789,10027=>841,10028=>823,10029=>833,10030=>816,10031=>831,10032=>923,10033=>744,10034=>723,10035=>749,10036=>790,10037=>792,10038=>695,10039=>776,10040=>768,10041=>792,10042=>759,10043=>707,10044=>708,10045=>682,10046=>701,10047=>826,10048=>815,10049=>789,10050=>789,10051=>707,10052=>687,10053=>696,10054=>689,10055=>786,10056=>787,10057=>713,10058=>791,10059=>785,10061=>873,10063=>762,10064=>762,10065=>759,10066=>759,10070=>784,10072=>138,10073=>277,10074=>415,10075=>392,10076=>392,10077=>668,10078=>668,10081=>732,10082=>544,10083=>544,10084=>910,10085=>667,10086=>760,10087=>760,10102=>788,10103=>788,10104=>788,10105=>788,10106=>788,10107=>788,10108=>788,10109=>788,10110=>788,10111=>788,10112=>788,10113=>788,10114=>788,10115=>788,10116=>788,10117=>788,10118=>788,10119=>788,10120=>788,10121=>788,10122=>788,10123=>788,10124=>788,10125=>788,10126=>788,10127=>788,10128=>788,10129=>788,10130=>788,10131=>788,10132=>894,10136=>748,10137=>924,10138=>748,10139=>918,10140=>927,10141=>928,10142=>928,10143=>834,10144=>873,10145=>828,10146=>924,10147=>924,10148=>917,10149=>930,10150=>931,10151=>463,10152=>883,10153=>836,10154=>836,10155=>867,10156=>867,10157=>696,10158=>696,10159=>874,10161=>874,10162=>760,10163=>946,10164=>771,10165=>865,10166=>771,10167=>888,10168=>967,10169=>888,10170=>831,10171=>873,10172=>927,10173=>970,10174=>918,12288=>1000,12289=>1000,12290=>1000,12291=>1000,12292=>1000,12293=>1000,12294=>1000,12295=>1000,12296=>1000,12297=>1000,12298=>1000,12299=>1000,12300=>1000,12301=>1000,12302=>1000,12303=>1000,12304=>1000,12305=>1000,12306=>1000,12307=>1000,12308=>1000,12309=>1000,12310=>1000,12311=>1000,12312=>1000,12313=>1000,12314=>1000,12315=>1000,12316=>1000,12317=>1000,12318=>1000,12319=>1000,12320=>1000,12321=>1000,12322=>1000,12323=>1000,12324=>1000,12325=>1000,12326=>1000,12327=>1000,12328=>1000,12329=>1000,12330=>1000,12331=>1000,12332=>1000,12333=>1000,12334=>1000,12335=>1000,12336=>1000,12337=>1000,12338=>1000,12339=>1000,12340=>1000,12341=>1000,12342=>1000,12343=>1000,12351=>1000,12353=>1000,12354=>1000,12355=>1000,12356=>1000,12357=>1000,12358=>1000,12359=>1000,12360=>1000,12361=>1000,12362=>1000,12363=>1000,12364=>1000,12365=>1000,12366=>1000,12367=>1000,12368=>1000,12369=>1000,12370=>1000,12371=>1000,12372=>1000,12373=>1000,12374=>1000,12375=>1000,12376=>1000,12377=>1000,12378=>1000,12379=>1000,12380=>1000,12381=>1000,12382=>1000,12383=>1000,12384=>1000,12385=>1000,12386=>1000,12387=>1000,12388=>1000,12389=>1000,12390=>1000,12391=>1000,12392=>1000,12393=>1000,12394=>1000,12395=>1000,12396=>1000,12397=>1000,12398=>1000,12399=>1000,12400=>1000,12401=>1000,12402=>1000,12403=>1000,12404=>1000,12405=>1000,12406=>1000,12407=>1000,12408=>1000,12409=>1000,12410=>1000,12411=>1000,12412=>1000,12413=>1000,12414=>1000,12415=>1000,12416=>1000,12417=>1000,12418=>1000,12419=>1000,12420=>1000,12421=>1000,12422=>1000,12423=>1000,12424=>1000,12425=>1000,12426=>1000,12427=>1000,12428=>1000,12429=>1000,12430=>1000,12431=>1000,12432=>1000,12433=>1000,12434=>1000,12435=>1000,12436=>1000,12441=>1000,12442=>1000,12443=>1000,12444=>1000,12445=>1000,12446=>1000,12449=>1000,12450=>1000,12451=>1000,12452=>1000,12453=>1000,12454=>1000,12455=>1000,12456=>1000,12457=>1000,12458=>1000,12459=>1000,12460=>1000,12461=>1000,12462=>1000,12463=>1000,12464=>1000,12465=>1000,12466=>1000,12467=>1000,12468=>1000,12469=>1000,12470=>1000,12471=>1000,12472=>1000,12473=>1000,12474=>1000,12475=>1000,12476=>1000,12477=>1000,12478=>1000,12479=>1000,12480=>1000,12481=>1000,12482=>1000,12483=>1000,12484=>1000,12485=>1000,12486=>1000,12487=>1000,12488=>1000,12489=>1000,12490=>1000,12491=>1000,12492=>1000,12493=>1000,12494=>1000,12495=>1000,12496=>1000,12497=>1000,12498=>1000,12499=>1000,12500=>1000,12501=>1000,12502=>1000,12503=>1000,12504=>1000,12505=>1000,12506=>1000,12507=>1000,12508=>1000,12509=>1000,12510=>1000,12511=>1000,12512=>1000,12513=>1000,12514=>1000,12515=>1000,12516=>1000,12517=>1000,12518=>1000,12519=>1000,12520=>1000,12521=>1000,12522=>1000,12523=>1000,12524=>1000,12525=>1000,12526=>1000,12527=>1000,12528=>1000,12529=>1000,12530=>1000,12531=>1000,12532=>1000,12533=>1000,12534=>1000,12535=>1000,12536=>1000,12537=>1000,12538=>1000,12539=>1000,12540=>1000,12541=>1000,12542=>1000,12549=>1000,12550=>1000,12551=>1000,12552=>1000,12553=>1000,12554=>1000,12555=>1000,12556=>1000,12557=>1000,12558=>1000,12559=>1000,12560=>1000,12561=>1000,12562=>1000,12563=>1000,12564=>1000,12565=>1000,12566=>1000,12567=>1000,12568=>1000,12569=>1000,12570=>1000,12571=>1000,12572=>1000,12573=>1000,12574=>1000,12575=>1000,12576=>1000,12577=>1000,12578=>1000,12579=>1000,12580=>1000,12581=>1000,12582=>1000,12583=>1000,12584=>1000,12585=>1000,12586=>1000,12587=>1000,12588=>1000,12593=>1000,12594=>1000,12595=>1000,12596=>1000,12597=>1000,12598=>1000,12599=>1000,12600=>1000,12601=>1000,12602=>1000,12603=>1000,12604=>1000,12605=>1000,12606=>1000,12607=>1000,12608=>1000,12609=>1000,12610=>1000,12611=>1000,12612=>1000,12613=>1000,12614=>1000,12615=>1000,12616=>1000,12617=>1000,12618=>1000,12619=>1000,12620=>1000,12621=>1000,12622=>1000,12623=>1000,12624=>1000,12625=>1000,12626=>1000,12627=>1000,12628=>1000,12629=>1000,12630=>1000,12631=>1000,12632=>1000,12633=>1000,12634=>1000,12635=>1000,12636=>1000,12637=>1000,12638=>1000,12639=>1000,12640=>1000,12641=>1000,12642=>1000,12643=>1000,12644=>1000,12645=>1000,12646=>1000,12647=>1000,12648=>1000,12649=>1000,12650=>1000,12651=>1000,12652=>1000,12653=>1000,12654=>1000,12655=>1000,12656=>1000,12657=>1000,12658=>1000,12659=>1000,12660=>1000,12661=>1000,12662=>1000,12663=>1000,12664=>1000,12665=>1000,12666=>1000,12667=>1000,12668=>1000,12669=>1000,12670=>1000,12671=>1000,12672=>1000,12673=>1000,12674=>1000,12675=>1000,12676=>1000,12677=>1000,12678=>1000,12679=>1000,12680=>1000,12681=>1000,12682=>1000,12683=>1000,12684=>1000,12685=>1000,12686=>1000,12688=>1000,12689=>1000,12690=>1000,12691=>1000,12692=>1000,12693=>1000,12694=>1000,12695=>1000,12696=>1000,12697=>1000,12698=>1000,12699=>1000,12700=>1000,12701=>1000,12702=>1000,12703=>1000,12800=>1000,12801=>1000,12802=>1000,12803=>1000,12804=>1000,12805=>1000,12806=>1000,12807=>1000,12808=>1000,12809=>1000,12810=>1000,12811=>1000,12812=>1000,12813=>1000,12814=>1000,12815=>1000,12816=>1000,12817=>1000,12818=>1000,12819=>1000,12820=>1000,12821=>1000,12822=>1000,12823=>1000,12824=>1000,12825=>1000,12826=>1000,12827=>1000,12828=>1000,12832=>1000,12833=>1000,12834=>1000,12835=>1000,12836=>1000,12837=>1000,12838=>1000,12839=>1000,12840=>1000,12841=>1000,12842=>1000,12843=>1000,12844=>1000,12845=>1000,12846=>1000,12847=>1000,12848=>1000,12849=>1000,12850=>1000,12851=>1000,12852=>1000,12853=>1000,12854=>1000,12855=>1000,12856=>1000,12857=>1000,12858=>1000,12859=>1000,12860=>1000,12861=>1000,12862=>1000,12863=>1000,12864=>1000,12865=>1000,12866=>1000,12867=>1000,12896=>1000,12897=>1000,12898=>1000,12899=>1000,12900=>1000,12901=>1000,12902=>1000,12903=>1000,12904=>1000,12905=>1000,12906=>1000,12907=>1000,12908=>1000,12909=>1000,12910=>1000,12911=>1000,12912=>1000,12913=>1000,12914=>1000,12915=>1000,12916=>1000,12917=>1000,12918=>1000,12919=>1000,12920=>1000,12921=>1000,12922=>1000,12923=>1000,12927=>1000,12928=>1000,12929=>1000,12930=>1000,12931=>1000,12932=>1000,12933=>1000,12934=>1000,12935=>1000,12936=>1000,12937=>1000,12938=>1000,12939=>1000,12940=>1000,12941=>1000,12942=>1000,12943=>1000,12944=>1000,12945=>1000,12946=>1000,12947=>1000,12948=>1000,12949=>1000,12950=>1000,12951=>1000,12952=>1000,12953=>1000,12954=>1000,12955=>1000,12956=>1000,12957=>1000,12958=>1000,12959=>1000,12960=>1000,12961=>1000,12962=>1000,12963=>1000,12964=>1000,12965=>1000,12966=>1000,12967=>1000,12968=>1000,12969=>1000,12970=>1000,12971=>1000,12972=>1000,12973=>1000,12974=>1000,12975=>1000,12976=>1000,12992=>1000,12993=>1000,12994=>1000,12995=>1000,12996=>1000,12997=>1000,12998=>1000,12999=>1000,13000=>1000,13001=>1000,13002=>1000,13003=>1000,13008=>1000,13009=>1000,13010=>1000,13011=>1000,13012=>1000,13013=>1000,13014=>1000,13015=>1000,13016=>1000,13017=>1000,13018=>1000,13019=>1000,13020=>1000,13021=>1000,13022=>1000,13023=>1000,13024=>1000,13025=>1000,13026=>1000,13027=>1000,13028=>1000,13029=>1000,13030=>1000,13031=>1000,13032=>1000,13033=>1000,13034=>1000,13035=>1000,13036=>1000,13037=>1000,13038=>1000,13039=>1000,13040=>1000,13041=>1000,13042=>1000,13043=>1000,13044=>1000,13045=>1000,13046=>1000,13047=>1000,13048=>1000,13049=>1000,13050=>1000,13051=>1000,13052=>1000,13053=>1000,13054=>1000,13056=>1000,13057=>1000,13058=>1000,13059=>1000,13060=>1000,13061=>1000,13062=>1000,13063=>1000,13064=>1000,13065=>1000,13066=>1000,13067=>1000,13068=>1000,13069=>1000,13070=>1000,13071=>1000,13072=>1000,13073=>1000,13074=>1000,13075=>1000,13076=>1000,13077=>1000,13078=>1000,13079=>1000,13080=>1000,13081=>1000,13082=>1000,13083=>1000,13084=>1000,13085=>1000,13086=>1000,13087=>1000,13088=>1000,13089=>1000,13090=>1000,13091=>1000,13092=>1000,13093=>1000,13094=>1000,13095=>1000,13096=>1000,13097=>1000,13098=>1000,13099=>1000,13100=>1000,13101=>1000,13102=>1000,13103=>1000,13104=>1000,13105=>1000,13106=>1000,13107=>1000,13108=>1000,13109=>1000,13110=>1000,13111=>1000,13112=>1000,13113=>1000,13114=>1000,13115=>1000,13116=>1000,13117=>1000,13118=>1000,13119=>1000,13120=>1000,13121=>1000,13122=>1000,13123=>1000,13124=>1000,13125=>1000,13126=>1000,13127=>1000,13128=>1000,13129=>1000,13130=>1000,13131=>1000,13132=>1000,13133=>1000,13134=>1000,13135=>1000,13136=>1000,13137=>1000,13138=>1000,13139=>1000,13140=>1000,13141=>1000,13142=>1000,13143=>1000,13144=>1000,13145=>1000,13146=>1000,13147=>1000,13148=>1000,13149=>1000,13150=>1000,13151=>1000,13152=>1000,13153=>1000,13154=>1000,13155=>1000,13156=>1000,13157=>1000,13158=>1000,13159=>1000,13160=>1000,13161=>1000,13162=>1000,13163=>1000,13164=>1000,13165=>1000,13166=>1000,13167=>1000,13168=>1000,13169=>1000,13170=>1000,13171=>1000,13172=>1000,13173=>1000,13174=>1000,13179=>1000,13180=>1000,13181=>1000,13182=>1000,13183=>1000,13184=>1000,13185=>1000,13186=>1000,13187=>1000,13188=>1000,13189=>1000,13190=>1000,13191=>1000,13192=>1000,13193=>1000,13194=>1000,13195=>1000,13196=>1000,13197=>1000,13198=>1000,13199=>1000,13200=>1000,13201=>1000,13202=>1000,13203=>1000,13204=>1000,13205=>1000,13206=>1000,13207=>1000,13208=>1000,13209=>1000,13210=>1000,13211=>1000,13212=>1000,13213=>1000,13214=>1000,13215=>1000,13216=>1000,13217=>1000,13218=>1000,13219=>1000,13220=>1000,13221=>1000,13222=>1000,13223=>1000,13224=>1000,13225=>1000,13226=>1000,13227=>1000,13228=>1000,13229=>1000,13230=>1000,13231=>1000,13232=>1000,13233=>1000,13234=>1000,13235=>1000,13236=>1000,13237=>1000,13238=>1000,13239=>1000,13240=>1000,13241=>1000,13242=>1000,13243=>1000,13244=>1000,13245=>1000,13246=>1000,13247=>1000,13248=>1000,13249=>1000,13250=>1000,13251=>1000,13252=>1000,13253=>1000,13254=>1000,13255=>1000,13256=>1000,13257=>1000,13258=>1000,13259=>1000,13260=>1000,13261=>1000,13262=>1000,13263=>1000,13264=>1000,13265=>1000,13266=>1000,13267=>1000,13268=>1000,13269=>1000,13270=>1000,13271=>1000,13272=>1000,13273=>1000,13274=>1000,13275=>1000,13276=>1000,13277=>1000,13280=>1000,13281=>1000,13282=>1000,13283=>1000,13284=>1000,13285=>1000,13286=>1000,13287=>1000,13288=>1000,13289=>1000,13290=>1000,13291=>1000,13292=>1000,13293=>1000,13294=>1000,13295=>1000,13296=>1000,13297=>1000,13298=>1000,13299=>1000,13300=>1000,13301=>1000,13302=>1000,13303=>1000,13304=>1000,13305=>1000,13306=>1000,13307=>1000,13308=>1000,13309=>1000,13310=>1000,19968=>1000,19969=>1000,19970=>1000,19971=>1000,19972=>1000,19973=>1000,19974=>1000,19975=>1000,19976=>1000,19977=>1000,19978=>1000,19979=>1000,19980=>1000,19981=>1000,19982=>1000,19983=>1000,19984=>1000,19985=>1000,19986=>1000,19987=>1000,19988=>1000,19989=>1000,19990=>1000,19991=>1000,19992=>1000,19993=>1000,19994=>1000,19995=>1000,19996=>1000,19997=>1000,19998=>1000,19999=>1000,20000=>1000,20001=>1000,20002=>1000,20003=>1000,20004=>1000,20005=>1000,20006=>1000,20007=>1000,20008=>1000,20009=>1000,20010=>1000,20011=>1000,20012=>1000,20013=>1000,20014=>1000,20015=>1000,20016=>1000,20017=>1000,20018=>1000,20019=>1000,20020=>1000,20021=>1000,20022=>1000,20023=>1000,20024=>1000,20025=>1000,20026=>1000,20027=>1000,20028=>1000,20029=>1000,20030=>1000,20031=>1000,20032=>1000,20033=>1000,20034=>1000,20035=>1000,20036=>1000,20037=>1000,20038=>1000,20039=>1000,20040=>1000,20041=>1000,20042=>1000,20043=>1000,20044=>1000,20045=>1000,20046=>1000,20047=>1000,20048=>1000,20049=>1000,20050=>1000,20051=>1000,20052=>1000,20053=>1000,20054=>1000,20055=>1000,20056=>1000,20057=>1000,20058=>1000,20059=>1000,20060=>1000,20061=>1000,20062=>1000,20063=>1000,20064=>1000,20065=>1000,20066=>1000,20067=>1000,20068=>1000,20069=>1000,20070=>1000,20071=>1000,20072=>1000,20073=>1000,20074=>1000,20075=>1000,20076=>1000,20077=>1000,20078=>1000,20079=>1000,20080=>1000,20081=>1000,20082=>1000,20083=>1000,20084=>1000,20085=>1000,20086=>1000,20087=>1000,20088=>1000,20089=>1000,20090=>1000,20091=>1000,20092=>1000,20093=>1000,20094=>1000,20095=>1000,20096=>1000,20097=>1000,20098=>1000,20099=>1000,20100=>1000,20101=>1000,20102=>1000,20103=>1000,20104=>1000,20105=>1000,20106=>1000,20107=>1000,20108=>1000,20109=>1000,20110=>1000,20111=>1000,20112=>1000,20113=>1000,20114=>1000,20115=>1000,20116=>1000,20117=>1000,20118=>1000,20119=>1000,20120=>1000,20121=>1000,20122=>1000,20123=>1000,20124=>1000,20125=>1000,20126=>1000,20127=>1000,20128=>1000,20129=>1000,20130=>1000,20131=>1000,20132=>1000,20133=>1000,20134=>1000,20135=>1000,20136=>1000,20137=>1000,20138=>1000,20139=>1000,20140=>1000,20141=>1000,20142=>1000,20143=>1000,20144=>1000,20145=>1000,20146=>1000,20147=>1000,20148=>1000,20149=>1000,20150=>1000,20151=>1000,20152=>1000,20153=>1000,20154=>1000,20155=>1000,20156=>1000,20157=>1000,20158=>1000,20159=>1000,20160=>1000,20161=>1000,20162=>1000,20163=>1000,20164=>1000,20165=>1000,20166=>1000,20167=>1000,20168=>1000,20169=>1000,20170=>1000,20171=>1000,20172=>1000,20173=>1000,20174=>1000,20175=>1000,20176=>1000,20177=>1000,20178=>1000,20179=>1000,20180=>1000,20181=>1000,20182=>1000,20183=>1000,20184=>1000,20185=>1000,20186=>1000,20187=>1000,20188=>1000,20189=>1000,20190=>1000,20191=>1000,20192=>1000,20193=>1000,20194=>1000,20195=>1000,20196=>1000,20197=>1000,20198=>1000,20199=>1000,20200=>1000,20201=>1000,20202=>1000,20203=>1000,20204=>1000,20205=>1000,20206=>1000,20207=>1000,20208=>1000,20209=>1000,20210=>1000,20211=>1000,20212=>1000,20213=>1000,20214=>1000,20215=>1000,20216=>1000,20217=>1000,20218=>1000,20219=>1000,20220=>1000,20221=>1000,20222=>1000,20223=>1000,20224=>1000,20225=>1000,20226=>1000,20227=>1000,20228=>1000,20229=>1000,20230=>1000,20231=>1000,20232=>1000,20233=>1000,20234=>1000,20235=>1000,20236=>1000,20237=>1000,20238=>1000,20239=>1000,20240=>1000,20241=>1000,20242=>1000,20243=>1000,20244=>1000,20245=>1000,20246=>1000,20247=>1000,20248=>1000,20249=>1000,20250=>1000,20251=>1000,20252=>1000,20253=>1000,20254=>1000,20255=>1000,20256=>1000,20257=>1000,20258=>1000,20259=>1000,20260=>1000,20261=>1000,20262=>1000,20263=>1000,20264=>1000,20265=>1000,20266=>1000,20267=>1000,20268=>1000,20269=>1000,20270=>1000,20271=>1000,20272=>1000,20273=>1000,20274=>1000,20275=>1000,20276=>1000,20277=>1000,20278=>1000,20279=>1000,20280=>1000,20281=>1000,20282=>1000,20283=>1000,20284=>1000,20285=>1000,20286=>1000,20287=>1000,20288=>1000,20289=>1000,20290=>1000,20291=>1000,20292=>1000,20293=>1000,20294=>1000,20295=>1000,20296=>1000,20297=>1000,20298=>1000,20299=>1000,20300=>1000,20301=>1000,20302=>1000,20303=>1000,20304=>1000,20305=>1000,20306=>1000,20307=>1000,20308=>1000,20309=>1000,20310=>1000,20311=>1000,20312=>1000,20313=>1000,20314=>1000,20315=>1000,20316=>1000,20317=>1000,20318=>1000,20319=>1000,20320=>1000,20321=>1000,20322=>1000,20323=>1000,20324=>1000,20325=>1000,20326=>1000,20327=>1000,20328=>1000,20329=>1000,20330=>1000,20331=>1000,20332=>1000,20333=>1000,20334=>1000,20335=>1000,20336=>1000,20337=>1000,20338=>1000,20339=>1000,20340=>1000,20341=>1000,20342=>1000,20343=>1000,20344=>1000,20345=>1000,20346=>1000,20347=>1000,20348=>1000,20349=>1000,20350=>1000,20351=>1000,20352=>1000,20353=>1000,20354=>1000,20355=>1000,20356=>1000,20357=>1000,20358=>1000,20359=>1000,20360=>1000,20361=>1000,20362=>1000,20363=>1000,20364=>1000,20365=>1000,20366=>1000,20367=>1000,20368=>1000,20369=>1000,20370=>1000,20371=>1000,20372=>1000,20373=>1000,20374=>1000,20375=>1000,20376=>1000,20377=>1000,20378=>1000,20379=>1000,20380=>1000,20381=>1000,20382=>1000,20383=>1000,20384=>1000,20385=>1000,20386=>1000,20387=>1000,20388=>1000,20389=>1000,20390=>1000,20391=>1000,20392=>1000,20393=>1000,20394=>1000,20395=>1000,20396=>1000,20397=>1000,20398=>1000,20399=>1000,20400=>1000,20401=>1000,20402=>1000,20403=>1000,20404=>1000,20405=>1000,20406=>1000,20407=>1000,20408=>1000,20409=>1000,20410=>1000,20411=>1000,20412=>1000,20413=>1000,20414=>1000,20415=>1000,20416=>1000,20417=>1000,20418=>1000,20419=>1000,20420=>1000,20421=>1000,20422=>1000,20423=>1000,20424=>1000,20425=>1000,20426=>1000,20427=>1000,20428=>1000,20429=>1000,20430=>1000,20431=>1000,20432=>1000,20433=>1000,20434=>1000,20435=>1000,20436=>1000,20437=>1000,20438=>1000,20439=>1000,20440=>1000,20441=>1000,20442=>1000,20443=>1000,20444=>1000,20445=>1000,20446=>1000,20447=>1000,20448=>1000,20449=>1000,20450=>1000,20451=>1000,20452=>1000,20453=>1000,20454=>1000,20455=>1000,20456=>1000,20457=>1000,20458=>1000,20459=>1000,20460=>1000,20461=>1000,20462=>1000,20463=>1000,20464=>1000,20465=>1000,20466=>1000,20467=>1000,20468=>1000,20469=>1000,20470=>1000,20471=>1000,20472=>1000,20473=>1000,20474=>1000,20475=>1000,20476=>1000,20477=>1000,20478=>1000,20479=>1000,20480=>1000,20481=>1000,20482=>1000,20483=>1000,20484=>1000,20485=>1000,20486=>1000,20487=>1000,20488=>1000,20489=>1000,20490=>1000,20491=>1000,20492=>1000,20493=>1000,20494=>1000,20495=>1000,20496=>1000,20497=>1000,20498=>1000,20499=>1000,20500=>1000,20501=>1000,20502=>1000,20503=>1000,20504=>1000,20505=>1000,20506=>1000,20507=>1000,20508=>1000,20509=>1000,20510=>1000,20511=>1000,20512=>1000,20513=>1000,20514=>1000,20515=>1000,20516=>1000,20517=>1000,20518=>1000,20519=>1000,20520=>1000,20521=>1000,20522=>1000,20523=>1000,20524=>1000,20525=>1000,20526=>1000,20527=>1000,20528=>1000,20529=>1000,20530=>1000,20531=>1000,20532=>1000,20533=>1000,20534=>1000,20535=>1000,20536=>1000,20537=>1000,20538=>1000,20539=>1000,20540=>1000,20541=>1000,20542=>1000,20543=>1000,20544=>1000,20545=>1000,20546=>1000,20547=>1000,20548=>1000,20549=>1000,20550=>1000,20551=>1000,20552=>1000,20553=>1000,20554=>1000,20555=>1000,20556=>1000,20557=>1000,20558=>1000,20559=>1000,20560=>1000,20561=>1000,20562=>1000,20563=>1000,20564=>1000,20565=>1000,20566=>1000,20567=>1000,20568=>1000,20569=>1000,20570=>1000,20571=>1000,20572=>1000,20573=>1000,20574=>1000,20575=>1000,20576=>1000,20577=>1000,20578=>1000,20579=>1000,20580=>1000,20581=>1000,20582=>1000,20583=>1000,20584=>1000,20585=>1000,20586=>1000,20587=>1000,20588=>1000,20589=>1000,20590=>1000,20591=>1000,20592=>1000,20593=>1000,20594=>1000,20595=>1000,20596=>1000,20597=>1000,20598=>1000,20599=>1000,20600=>1000,20601=>1000,20602=>1000,20603=>1000,20604=>1000,20605=>1000,20606=>1000,20607=>1000,20608=>1000,20609=>1000,20610=>1000,20611=>1000,20612=>1000,20613=>1000,20614=>1000,20615=>1000,20616=>1000,20617=>1000,20618=>1000,20619=>1000,20620=>1000,20621=>1000,20622=>1000,20623=>1000,20624=>1000,20625=>1000,20626=>1000,20627=>1000,20628=>1000,20629=>1000,20630=>1000,20631=>1000,20632=>1000,20633=>1000,20634=>1000,20635=>1000,20636=>1000,20637=>1000,20638=>1000,20639=>1000,20640=>1000,20641=>1000,20642=>1000,20643=>1000,20644=>1000,20645=>1000,20646=>1000,20647=>1000,20648=>1000,20649=>1000,20650=>1000,20651=>1000,20652=>1000,20653=>1000,20654=>1000,20655=>1000,20656=>1000,20657=>1000,20658=>1000,20659=>1000,20660=>1000,20661=>1000,20662=>1000,20663=>1000,20664=>1000,20665=>1000,20666=>1000,20667=>1000,20668=>1000,20669=>1000,20670=>1000,20671=>1000,20672=>1000,20673=>1000,20674=>1000,20675=>1000,20676=>1000,20677=>1000,20678=>1000,20679=>1000,20680=>1000,20681=>1000,20682=>1000,20683=>1000,20684=>1000,20685=>1000,20686=>1000,20687=>1000,20688=>1000,20689=>1000,20690=>1000,20691=>1000,20692=>1000,20693=>1000,20694=>1000,20695=>1000,20696=>1000,20697=>1000,20698=>1000,20699=>1000,20700=>1000,20701=>1000,20702=>1000,20703=>1000,20704=>1000,20705=>1000,20706=>1000,20707=>1000,20708=>1000,20709=>1000,20710=>1000,20711=>1000,20712=>1000,20713=>1000,20714=>1000,20715=>1000,20716=>1000,20717=>1000,20718=>1000,20719=>1000,20720=>1000,20721=>1000,20722=>1000,20723=>1000,20724=>1000,20725=>1000,20726=>1000,20727=>1000,20728=>1000,20729=>1000,20730=>1000,20731=>1000,20732=>1000,20733=>1000,20734=>1000,20735=>1000,20736=>1000,20737=>1000,20738=>1000,20739=>1000,20740=>1000,20741=>1000,20742=>1000,20743=>1000,20744=>1000,20745=>1000,20746=>1000,20747=>1000,20748=>1000,20749=>1000,20750=>1000,20751=>1000,20752=>1000,20753=>1000,20754=>1000,20755=>1000,20756=>1000,20757=>1000,20758=>1000,20759=>1000,20760=>1000,20761=>1000,20762=>1000,20763=>1000,20764=>1000,20765=>1000,20766=>1000,20767=>1000,20768=>1000,20769=>1000,20770=>1000,20771=>1000,20772=>1000,20773=>1000,20774=>1000,20775=>1000,20776=>1000,20777=>1000,20778=>1000,20779=>1000,20780=>1000,20781=>1000,20782=>1000,20783=>1000,20784=>1000,20785=>1000,20786=>1000,20787=>1000,20788=>1000,20789=>1000,20790=>1000,20791=>1000,20792=>1000,20793=>1000,20794=>1000,20795=>1000,20796=>1000,20797=>1000,20798=>1000,20799=>1000,20800=>1000,20801=>1000,20802=>1000,20803=>1000,20804=>1000,20805=>1000,20806=>1000,20807=>1000,20808=>1000,20809=>1000,20810=>1000,20811=>1000,20812=>1000,20813=>1000,20814=>1000,20815=>1000,20816=>1000,20817=>1000,20818=>1000,20819=>1000,20820=>1000,20821=>1000,20822=>1000,20823=>1000,20824=>1000,20825=>1000,20826=>1000,20827=>1000,20828=>1000,20829=>1000,20830=>1000,20831=>1000,20832=>1000,20833=>1000,20834=>1000,20835=>1000,20836=>1000,20837=>1000,20838=>1000,20839=>1000,20840=>1000,20841=>1000,20842=>1000,20843=>1000,20844=>1000,20845=>1000,20846=>1000,20847=>1000,20848=>1000,20849=>1000,20850=>1000,20851=>1000,20852=>1000,20853=>1000,20854=>1000,20855=>1000,20856=>1000,20857=>1000,20858=>1000,20859=>1000,20860=>1000,20861=>1000,20862=>1000,20863=>1000,20864=>1000,20865=>1000,20866=>1000,20867=>1000,20868=>1000,20869=>1000,20870=>1000,20871=>1000,20872=>1000,20873=>1000,20874=>1000,20875=>1000,20876=>1000,20877=>1000,20878=>1000,20879=>1000,20880=>1000,20881=>1000,20882=>1000,20883=>1000,20884=>1000,20885=>1000,20886=>1000,20887=>1000,20888=>1000,20889=>1000,20890=>1000,20891=>1000,20892=>1000,20893=>1000,20894=>1000,20895=>1000,20896=>1000,20897=>1000,20898=>1000,20899=>1000,20900=>1000,20901=>1000,20902=>1000,20903=>1000,20904=>1000,20905=>1000,20906=>1000,20907=>1000,20908=>1000,20909=>1000,20910=>1000,20911=>1000,20912=>1000,20913=>1000,20914=>1000,20915=>1000,20916=>1000,20917=>1000,20918=>1000,20919=>1000,20920=>1000,20921=>1000,20922=>1000,20923=>1000,20924=>1000,20925=>1000,20926=>1000,20927=>1000,20928=>1000,20929=>1000,20930=>1000,20931=>1000,20932=>1000,20933=>1000,20934=>1000,20935=>1000,20936=>1000,20937=>1000,20938=>1000,20939=>1000,20940=>1000,20941=>1000,20942=>1000,20943=>1000,20944=>1000,20945=>1000,20946=>1000,20947=>1000,20948=>1000,20949=>1000,20950=>1000,20951=>1000,20952=>1000,20953=>1000,20954=>1000,20955=>1000,20956=>1000,20957=>1000,20958=>1000,20959=>1000,20960=>1000,20961=>1000,20962=>1000,20963=>1000,20964=>1000,20965=>1000,20966=>1000,20967=>1000,20968=>1000,20969=>1000,20970=>1000,20971=>1000,20972=>1000,20973=>1000,20974=>1000,20975=>1000,20976=>1000,20977=>1000,20978=>1000,20979=>1000,20980=>1000,20981=>1000,20982=>1000,20983=>1000,20984=>1000,20985=>1000,20986=>1000,20987=>1000,20988=>1000,20989=>1000,20990=>1000,20991=>1000,20992=>1000,20993=>1000,20994=>1000,20995=>1000,20996=>1000,20997=>1000,20998=>1000,20999=>1000,21000=>1000,21001=>1000,21002=>1000,21003=>1000,21004=>1000,21005=>1000,21006=>1000,21007=>1000,21008=>1000,21009=>1000,21010=>1000,21011=>1000,21012=>1000,21013=>1000,21014=>1000,21015=>1000,21016=>1000,21017=>1000,21018=>1000,21019=>1000,21020=>1000,21021=>1000,21022=>1000,21023=>1000,21024=>1000,21025=>1000,21026=>1000,21027=>1000,21028=>1000,21029=>1000,21030=>1000,21031=>1000,21032=>1000,21033=>1000,21034=>1000,21035=>1000,21036=>1000,21037=>1000,21038=>1000,21039=>1000,21040=>1000,21041=>1000,21042=>1000,21043=>1000,21044=>1000,21045=>1000,21046=>1000,21047=>1000,21048=>1000,21049=>1000,21050=>1000,21051=>1000,21052=>1000,21053=>1000,21054=>1000,21055=>1000,21056=>1000,21057=>1000,21058=>1000,21059=>1000,21060=>1000,21061=>1000,21062=>1000,21063=>1000,21064=>1000,21065=>1000,21066=>1000,21067=>1000,21068=>1000,21069=>1000,21070=>1000,21071=>1000,21072=>1000,21073=>1000,21074=>1000,21075=>1000,21076=>1000,21077=>1000,21078=>1000,21079=>1000,21080=>1000,21081=>1000,21082=>1000,21083=>1000,21084=>1000,21085=>1000,21086=>1000,21087=>1000,21088=>1000,21089=>1000,21090=>1000,21091=>1000,21092=>1000,21093=>1000,21094=>1000,21095=>1000,21096=>1000,21097=>1000,21098=>1000,21099=>1000,21100=>1000,21101=>1000,21102=>1000,21103=>1000,21104=>1000,21105=>1000,21106=>1000,21107=>1000,21108=>1000,21109=>1000,21110=>1000,21111=>1000,21112=>1000,21113=>1000,21114=>1000,21115=>1000,21116=>1000,21117=>1000,21118=>1000,21119=>1000,21120=>1000,21121=>1000,21122=>1000,21123=>1000,21124=>1000,21125=>1000,21126=>1000,21127=>1000,21128=>1000,21129=>1000,21130=>1000,21131=>1000,21132=>1000,21133=>1000,21134=>1000,21135=>1000,21136=>1000,21137=>1000,21138=>1000,21139=>1000,21140=>1000,21141=>1000,21142=>1000,21143=>1000,21144=>1000,21145=>1000,21146=>1000,21147=>1000,21148=>1000,21149=>1000,21150=>1000,21151=>1000,21152=>1000,21153=>1000,21154=>1000,21155=>1000,21156=>1000,21157=>1000,21158=>1000,21159=>1000,21160=>1000,21161=>1000,21162=>1000,21163=>1000,21164=>1000,21165=>1000,21166=>1000,21167=>1000,21168=>1000,21169=>1000,21170=>1000,21171=>1000,21172=>1000,21173=>1000,21174=>1000,21175=>1000,21176=>1000,21177=>1000,21178=>1000,21179=>1000,21180=>1000,21181=>1000,21182=>1000,21183=>1000,21184=>1000,21185=>1000,21186=>1000,21187=>1000,21188=>1000,21189=>1000,21190=>1000,21191=>1000,21192=>1000,21193=>1000,21194=>1000,21195=>1000,21196=>1000,21197=>1000,21198=>1000,21199=>1000,21200=>1000,21201=>1000,21202=>1000,21203=>1000,21204=>1000,21205=>1000,21206=>1000,21207=>1000,21208=>1000,21209=>1000,21210=>1000,21211=>1000,21212=>1000,21213=>1000,21214=>1000,21215=>1000,21216=>1000,21217=>1000,21218=>1000,21219=>1000,21220=>1000,21221=>1000,21222=>1000,21223=>1000,21224=>1000,21225=>1000,21226=>1000,21227=>1000,21228=>1000,21229=>1000,21230=>1000,21231=>1000,21232=>1000,21233=>1000,21234=>1000,21235=>1000,21236=>1000,21237=>1000,21238=>1000,21239=>1000,21240=>1000,21241=>1000,21242=>1000,21243=>1000,21244=>1000,21245=>1000,21246=>1000,21247=>1000,21248=>1000,21249=>1000,21250=>1000,21251=>1000,21252=>1000,21253=>1000,21254=>1000,21255=>1000,21256=>1000,21257=>1000,21258=>1000,21259=>1000,21260=>1000,21261=>1000,21262=>1000,21263=>1000,21264=>1000,21265=>1000,21266=>1000,21267=>1000,21268=>1000,21269=>1000,21270=>1000,21271=>1000,21272=>1000,21273=>1000,21274=>1000,21275=>1000,21276=>1000,21277=>1000,21278=>1000,21279=>1000,21280=>1000,21281=>1000,21282=>1000,21283=>1000,21284=>1000,21285=>1000,21286=>1000,21287=>1000,21288=>1000,21289=>1000,21290=>1000,21291=>1000,21292=>1000,21293=>994,21294=>1000,21295=>1000,21296=>1000,21297=>1000,21298=>1000,21299=>1000,21300=>1000,21301=>1000,21302=>1000,21303=>1000,21304=>1000,21305=>1000,21306=>1000,21307=>1000,21308=>1000,21309=>1000,21310=>1000,21311=>1000,21312=>1000,21313=>1000,21314=>1000,21315=>1000,21316=>1000,21317=>1000,21318=>1000,21319=>1000,21320=>1000,21321=>1000,21322=>1000,21323=>1000,21324=>1000,21325=>1000,21326=>1000,21327=>1000,21328=>1000,21329=>1000,21330=>1000,21331=>1000,21332=>1000,21333=>1000,21334=>1000,21335=>1000,21336=>1000,21337=>1000,21338=>1000,21339=>1000,21340=>1000,21341=>1000,21342=>1000,21343=>1000,21344=>1000,21345=>1000,21346=>1000,21347=>1000,21348=>1000,21349=>1000,21350=>1000,21351=>1000,21352=>1000,21353=>1000,21354=>1000,21355=>1000,21356=>1000,21357=>1000,21358=>1000,21359=>1000,21360=>1000,21361=>1000,21362=>1000,21363=>1000,21364=>1000,21365=>1000,21366=>1000,21367=>1000,21368=>1000,21369=>1000,21370=>1000,21371=>1000,21372=>1000,21373=>1000,21374=>1000,21375=>1000,21376=>1000,21377=>1000,21378=>1000,21379=>1000,21380=>1000,21381=>1000,21382=>1000,21383=>1000,21384=>1000,21385=>1000,21386=>1000,21387=>1000,21388=>1000,21389=>1000,21390=>1000,21391=>1000,21392=>1000,21393=>1000,21394=>1000,21395=>1000,21396=>1000,21397=>1000,21398=>1000,21399=>1000,21400=>1000,21401=>1000,21402=>1000,21403=>1000,21404=>1000,21405=>1000,21406=>1000,21407=>1000,21408=>1000,21409=>1000,21410=>1000,21411=>1000,21412=>1000,21413=>1000,21414=>1000,21415=>1000,21416=>1000,21417=>1000,21418=>1000,21419=>1000,21420=>1000,21421=>1000,21422=>1000,21423=>1000,21424=>1000,21425=>1000,21426=>1000,21427=>1000,21428=>1000,21429=>1000,21430=>1000,21431=>1000,21432=>1000,21433=>1000,21434=>1000,21435=>1000,21436=>1000,21437=>1000,21438=>1000,21439=>1000,21440=>1000,21441=>1000,21442=>1000,21443=>1000,21444=>1000,21445=>1000,21446=>1000,21447=>1000,21448=>1000,21449=>1000,21450=>1000,21451=>1000,21452=>1000,21453=>1000,21454=>1000,21455=>1000,21456=>1000,21457=>1000,21458=>1000,21459=>1000,21460=>1000,21461=>1000,21462=>1000,21463=>1000,21464=>1000,21465=>1000,21466=>1000,21467=>1000,21468=>1000,21469=>1000,21470=>1000,21471=>1000,21472=>1000,21473=>1000,21474=>1000,21475=>1000,21476=>1000,21477=>1000,21478=>1000,21479=>1000,21480=>1000,21481=>1000,21482=>1000,21483=>1000,21484=>1000,21485=>1000,21486=>1000,21487=>1000,21488=>1000,21489=>1000,21490=>1000,21491=>1000,21492=>1000,21493=>1000,21494=>1000,21495=>1000,21496=>1000,21497=>1000,21498=>1000,21499=>1000,21500=>1000,21501=>1000,21502=>1000,21503=>1000,21504=>1000,21505=>1000,21506=>1000,21507=>1000,21508=>1000,21509=>1000,21510=>1000,21511=>1000,21512=>1000,21513=>1000,21514=>1000,21515=>1000,21516=>1000,21517=>1000,21518=>1000,21519=>1000,21520=>1000,21521=>1000,21522=>1000,21523=>1000,21524=>1000,21525=>1000,21526=>1000,21527=>1000,21528=>1000,21529=>1000,21530=>1000,21531=>1000,21532=>1000,21533=>1000,21534=>1000,21535=>1000,21536=>1000,21537=>1000,21538=>1000,21539=>1000,21540=>1000,21541=>1000,21542=>1000,21543=>1000,21544=>1000,21545=>1000,21546=>1000,21547=>1000,21548=>1000,21549=>1000,21550=>1000,21551=>1000,21552=>1000,21553=>1000,21554=>1000,21555=>1000,21556=>1000,21557=>1000,21558=>1000,21559=>1000,21560=>1000,21561=>1000,21562=>1000,21563=>1000,21564=>1000,21565=>1000,21566=>1000,21567=>1000,21568=>1000,21569=>1000,21570=>1000,21571=>1000,21572=>1000,21573=>1000,21574=>1000,21575=>1000,21576=>1000,21577=>1000,21578=>1000,21579=>1000,21580=>1000,21581=>1000,21582=>1000,21583=>1000,21584=>1000,21585=>1000,21586=>1000,21587=>1000,21588=>1000,21589=>1000,21590=>1000,21591=>1000,21592=>1000,21593=>1000,21594=>1000,21595=>1000,21596=>1000,21597=>1000,21598=>1000,21599=>1000,21600=>1000,21601=>1000,21602=>1000,21603=>1000,21604=>1000,21605=>1000,21606=>1000,21607=>1000,21608=>1000,21609=>1000,21610=>1000,21611=>1000,21612=>1000,21613=>1000,21614=>1000,21615=>1000,21616=>1000,21617=>1000,21618=>1000,21619=>1000,21620=>1000,21621=>1000,21622=>1000,21623=>1000,21624=>1000,21625=>1000,21626=>1000,21627=>1000,21628=>1000,21629=>1000,21630=>1000,21631=>1000,21632=>1000,21633=>1000,21634=>1000,21635=>1000,21636=>1000,21637=>1000,21638=>1000,21639=>1000,21640=>1000,21641=>1000,21642=>1000,21643=>1000,21644=>1000,21645=>1000,21646=>1000,21647=>1000,21648=>1000,21649=>1000,21650=>1000,21651=>1000,21652=>1000,21653=>1000,21654=>1000,21655=>1000,21656=>1000,21657=>1000,21658=>1000,21659=>1000,21660=>1000,21661=>1000,21662=>1000,21663=>1000,21664=>1000,21665=>1000,21666=>1000,21667=>1000,21668=>1000,21669=>1000,21670=>1000,21671=>1000,21672=>1000,21673=>1000,21674=>1000,21675=>1000,21676=>1000,21677=>1000,21678=>1000,21679=>1000,21680=>1000,21681=>1000,21682=>1000,21683=>1000,21684=>1000,21685=>1000,21686=>1000,21687=>1000,21688=>1000,21689=>1000,21690=>1000,21691=>1000,21692=>1000,21693=>1000,21694=>1000,21695=>1000,21696=>1000,21697=>1000,21698=>1000,21699=>1000,21700=>1000,21701=>1000,21702=>1000,21703=>1000,21704=>1000,21705=>1000,21706=>1000,21707=>1000,21708=>1000,21709=>1000,21710=>1000,21711=>1000,21712=>1000,21713=>1000,21714=>1000,21715=>1000,21716=>1000,21717=>1000,21718=>1000,21719=>1000,21720=>1000,21721=>1000,21722=>1000,21723=>1000,21724=>1000,21725=>1000,21726=>1000,21727=>1000,21728=>1000,21729=>1000,21730=>1000,21731=>1000,21732=>1000,21733=>1000,21734=>1000,21735=>1000,21736=>1000,21737=>1000,21738=>1000,21739=>1000,21740=>1000,21741=>1000,21742=>1000,21743=>1000,21744=>1000,21745=>1000,21746=>1000,21747=>1000,21748=>1000,21749=>1000,21750=>1000,21751=>1000,21752=>1000,21753=>1000,21754=>1000,21755=>1000,21756=>1000,21757=>1000,21758=>1000,21759=>1000,21760=>1000,21761=>1000,21762=>1000,21763=>1000,21764=>1000,21765=>1000,21766=>1000,21767=>1000,21768=>1000,21769=>1000,21770=>1000,21771=>1000,21772=>1000,21773=>1000,21774=>1000,21775=>1000,21776=>1000,21777=>1000,21778=>1000,21779=>1000,21780=>1000,21781=>1000,21782=>1000,21783=>1000,21784=>1000,21785=>1000,21786=>1000,21787=>1000,21788=>1000,21789=>1000,21790=>1000,21791=>1000,21792=>1000,21793=>1000,21794=>1000,21795=>1000,21796=>1000,21797=>1000,21798=>1000,21799=>1000,21800=>1000,21801=>1000,21802=>1000,21803=>1000,21804=>1000,21805=>1000,21806=>1000,21807=>1000,21808=>1000,21809=>1000,21810=>1000,21811=>1000,21812=>1000,21813=>1000,21814=>1000,21815=>1000,21816=>1000,21817=>1000,21818=>1000,21819=>1000,21820=>1000,21821=>1000,21822=>1000,21823=>1000,21824=>1000,21825=>1000,21826=>1000,21827=>1000,21828=>1000,21829=>1000,21830=>1000,21831=>1000,21832=>1000,21833=>1000,21834=>1000,21835=>1000,21836=>1000,21837=>1000,21838=>1000,21839=>1000,21840=>1000,21841=>1000,21842=>1000,21843=>1000,21844=>1000,21845=>1000,21846=>1000,21847=>1000,21848=>1000,21849=>1000,21850=>1000,21851=>1000,21852=>1000,21853=>1000,21854=>1000,21855=>1000,21856=>1000,21857=>1000,21858=>1000,21859=>1000,21860=>1000,21861=>1000,21862=>1000,21863=>1000,21864=>1000,21865=>1000,21866=>1000,21867=>1000,21868=>1000,21869=>1000,21870=>1000,21871=>1000,21872=>1000,21873=>1000,21874=>1000,21875=>1000,21876=>1000,21877=>1000,21878=>1000,21879=>1000,21880=>1000,21881=>1000,21882=>1000,21883=>1000,21884=>1000,21885=>1000,21886=>1000,21887=>1000,21888=>1000,21889=>1000,21890=>1000,21891=>1000,21892=>1000,21893=>1000,21894=>1000,21895=>1000,21896=>1000,21897=>1000,21898=>1000,21899=>1000,21900=>1000,21901=>1000,21902=>1000,21903=>1000,21904=>1000,21905=>1000,21906=>1000,21907=>1000,21908=>1000,21909=>1000,21910=>1000,21911=>1000,21912=>1000,21913=>1000,21914=>1000,21915=>1000,21916=>1000,21917=>1000,21918=>1000,21919=>1000,21920=>1000,21921=>1000,21922=>1000,21923=>1000,21924=>1000,21925=>1000,21926=>1000,21927=>1000,21928=>1000,21929=>1000,21930=>1000,21931=>1000,21932=>1000,21933=>1000,21934=>1000,21935=>1000,21936=>1000,21937=>1000,21938=>1000,21939=>1000,21940=>1000,21941=>1000,21942=>1000,21943=>1000,21944=>1000,21945=>1000,21946=>1000,21947=>1000,21948=>1000,21949=>1000,21950=>1000,21951=>1000,21952=>1000,21953=>1000,21954=>1000,21955=>1000,21956=>1000,21957=>1000,21958=>1000,21959=>1000,21960=>1000,21961=>1000,21962=>1000,21963=>1000,21964=>1000,21965=>1000,21966=>1000,21967=>1000,21968=>1000,21969=>1000,21970=>1000,21971=>1000,21972=>1000,21973=>1000,21974=>1000,21975=>1000,21976=>1000,21977=>1000,21978=>1000,21979=>1000,21980=>1000,21981=>1000,21982=>1000,21983=>1000,21984=>1000,21985=>1000,21986=>1000,21987=>1000,21988=>1000,21989=>1000,21990=>1000,21991=>1000,21992=>1000,21993=>1000,21994=>1000,21995=>1000,21996=>1000,21997=>1000,21998=>1000,21999=>1000,22000=>1000,22001=>1000,22002=>1000,22003=>1000,22004=>1000,22005=>1000,22006=>1000,22007=>1000,22008=>1000,22009=>1000,22010=>1000,22011=>1000,22012=>1000,22013=>1000,22014=>1000,22015=>1000,22016=>1000,22017=>1000,22018=>1000,22019=>1000,22020=>1000,22021=>1000,22022=>1000,22023=>1000,22024=>1000,22025=>1000,22026=>1000,22027=>1000,22028=>1000,22029=>1000,22030=>1000,22031=>1000,22032=>1000,22033=>1000,22034=>1000,22035=>1000,22036=>1000,22037=>1000,22038=>1000,22039=>1000,22040=>1000,22041=>1000,22042=>1000,22043=>1000,22044=>1000,22045=>1000,22046=>1000,22047=>1000,22048=>1000,22049=>1000,22050=>1000,22051=>1000,22052=>1000,22053=>1000,22054=>1000,22055=>1000,22056=>1000,22057=>1000,22058=>1000,22059=>1000,22060=>1000,22061=>1000,22062=>1000,22063=>1000,22064=>1000,22065=>1000,22066=>1000,22067=>1000,22068=>1000,22069=>1000,22070=>1000,22071=>1000,22072=>1000,22073=>1000,22074=>1000,22075=>1000,22076=>1000,22077=>1000,22078=>1000,22079=>1000,22080=>1000,22081=>1000,22082=>1000,22083=>1000,22084=>1000,22085=>1000,22086=>1000,22087=>1000,22088=>1000,22089=>1000,22090=>1000,22091=>1000,22092=>1000,22093=>1000,22094=>1000,22095=>1000,22096=>1000,22097=>1000,22098=>1000,22099=>1000,22100=>1000,22101=>1000,22102=>1000,22103=>1000,22104=>1000,22105=>1000,22106=>1000,22107=>1000,22108=>1000,22109=>1000,22110=>1000,22111=>1000,22112=>1000,22113=>1000,22114=>1000,22115=>1000,22116=>1000,22117=>1000,22118=>1000,22119=>1000,22120=>1000,22121=>1000,22122=>1000,22123=>1000,22124=>1000,22125=>1000,22126=>1000,22127=>1000,22128=>1000,22129=>1000,22130=>1000,22131=>1000,22132=>1000,22133=>1000,22134=>1000,22135=>1000,22136=>1000,22137=>1000,22138=>1000,22139=>1000,22140=>1000,22141=>1000,22142=>1000,22143=>1000,22144=>1000,22145=>1000,22146=>1000,22147=>1000,22148=>1000,22149=>1000,22150=>1000,22151=>1000,22152=>1000,22153=>1000,22154=>1000,22155=>1000,22156=>1000,22157=>1000,22158=>1000,22159=>1000,22160=>1000,22161=>1000,22162=>1000,22163=>1000,22164=>1000,22165=>1000,22166=>1000,22167=>1000,22168=>1000,22169=>1000,22170=>1000,22171=>1000,22172=>1000,22173=>1000,22174=>1000,22175=>1000,22176=>1000,22177=>1000,22178=>1000,22179=>1000,22180=>1000,22181=>1000,22182=>1000,22183=>1000,22184=>1000,22185=>1000,22186=>1000,22187=>1000,22188=>1000,22189=>1000,22190=>1000,22191=>1000,22192=>1000,22193=>1000,22194=>1000,22195=>1000,22196=>1000,22197=>1000,22198=>1000,22199=>1000,22200=>1000,22201=>1000,22202=>1000,22203=>1000,22204=>1000,22205=>1000,22206=>1000,22207=>1000,22208=>1000,22209=>1000,22210=>1000,22211=>1000,22212=>1000,22213=>1000,22214=>1000,22215=>1000,22216=>1000,22217=>1000,22218=>1000,22219=>1000,22220=>1000,22221=>1000,22222=>1000,22223=>1000,22224=>1000,22225=>1000,22226=>1000,22227=>1000,22228=>1000,22229=>1000,22230=>1000,22231=>1000,22232=>1000,22233=>1000,22234=>1000,22235=>1000,22236=>1000,22237=>1000,22238=>1000,22239=>1000,22240=>1000,22241=>1000,22242=>1000,22243=>1000,22244=>1000,22245=>1000,22246=>1000,22247=>1000,22248=>1000,22249=>1000,22250=>1000,22251=>1000,22252=>1000,22253=>1000,22254=>1000,22255=>1000,22256=>1000,22257=>1000,22258=>1000,22259=>1000,22260=>1000,22261=>1000,22262=>1000,22263=>1000,22264=>1000,22265=>1000,22266=>1000,22267=>1000,22268=>1000,22269=>1000,22270=>1000,22271=>1000,22272=>1000,22273=>1000,22274=>1000,22275=>1000,22276=>1000,22277=>1000,22278=>1000,22279=>1000,22280=>1000,22281=>1000,22282=>1000,22283=>1000,22284=>1000,22285=>1000,22286=>1000,22287=>1000,22288=>1000,22289=>1000,22290=>1000,22291=>1000,22292=>1000,22293=>1000,22294=>1000,22295=>1000,22296=>1000,22297=>1000,22298=>1000,22299=>1000,22300=>1000,22301=>1000,22302=>1000,22303=>1000,22304=>1000,22305=>1000,22306=>1000,22307=>1000,22308=>1000,22309=>1000,22310=>1000,22311=>1000,22312=>1000,22313=>1000,22314=>1000,22315=>1000,22316=>1000,22317=>1000,22318=>1000,22319=>1000,22320=>1000,22321=>1000,22322=>1000,22323=>1000,22324=>1000,22325=>1000,22326=>1000,22327=>1000,22328=>1000,22329=>1000,22330=>1000,22331=>1000,22332=>1000,22333=>1000,22334=>1000,22335=>1000,22336=>1000,22337=>1000,22338=>1000,22339=>1000,22340=>1000,22341=>1000,22342=>1000,22343=>1000,22344=>1000,22345=>1000,22346=>1000,22347=>1000,22348=>1000,22349=>1000,22350=>1000,22351=>1000,22352=>1000,22353=>1000,22354=>1000,22355=>1000,22356=>1000,22357=>1000,22358=>1000,22359=>1000,22360=>1000,22361=>1000,22362=>1000,22363=>1000,22364=>1000,22365=>1000,22366=>1000,22367=>1000,22368=>1000,22369=>1000,22370=>1000,22371=>1000,22372=>1000,22373=>1000,22374=>1000,22375=>1000,22376=>1000,22377=>1000,22378=>1000,22379=>1000,22380=>1000,22381=>1000,22382=>1000,22383=>1000,22384=>1000,22385=>1000,22386=>1000,22387=>1000,22388=>1000,22389=>1000,22390=>1000,22391=>1000,22392=>1000,22393=>1000,22394=>1000,22395=>1000,22396=>1000,22397=>1000,22398=>1000,22399=>1000,22400=>1000,22401=>1000,22402=>1000,22403=>1000,22404=>1000,22405=>1000,22406=>1000,22407=>1000,22408=>1000,22409=>1000,22410=>1000,22411=>1000,22412=>1000,22413=>1000,22414=>1000,22415=>1000,22416=>1000,22417=>1000,22418=>1000,22419=>1000,22420=>1000,22421=>1000,22422=>1000,22423=>1000,22424=>1000,22425=>1000,22426=>1000,22427=>1000,22428=>1000,22429=>1000,22430=>1000,22431=>1000,22432=>1000,22433=>1000,22434=>1000,22435=>1000,22436=>1000,22437=>1000,22438=>1000,22439=>1000,22440=>1000,22441=>1000,22442=>1000,22443=>1000,22444=>1000,22445=>1000,22446=>1000,22447=>1000,22448=>1000,22449=>1000,22450=>1000,22451=>1000,22452=>1000,22453=>1000,22454=>1000,22455=>1000,22456=>1000,22457=>1000,22458=>1000,22459=>1000,22460=>1000,22461=>1000,22462=>1000,22463=>1000,22464=>1000,22465=>1000,22466=>1000,22467=>1000,22468=>1000,22469=>1000,22470=>1000,22471=>1000,22472=>1000,22473=>1000,22474=>1000,22475=>1000,22476=>1000,22477=>1000,22478=>1000,22479=>1000,22480=>1000,22481=>1000,22482=>1000,22483=>1000,22484=>1000,22485=>1000,22486=>1000,22487=>1000,22488=>1000,22489=>1000,22490=>1000,22491=>1000,22492=>1000,22493=>1000,22494=>1000,22495=>1000,22496=>1000,22497=>1000,22498=>1000,22499=>1000,22500=>1000,22501=>1000,22502=>1000,22503=>1000,22504=>1000,22505=>1000,22506=>1000,22507=>1000,22508=>1000,22509=>1000,22510=>1000,22511=>1000,22512=>1000,22513=>1000,22514=>1000,22515=>1000,22516=>1000,22517=>1000,22518=>1000,22519=>1000,22520=>1000,22521=>1000,22522=>1000,22523=>1000,22524=>1000,22525=>1000,22526=>1000,22527=>1000,22528=>1000,22529=>1000,22530=>1000,22531=>1000,22532=>1000,22533=>1000,22534=>1000,22535=>1000,22536=>1000,22537=>1000,22538=>1000,22539=>1000,22540=>1000,22541=>1000,22542=>1000,22543=>1000,22544=>1000,22545=>1000,22546=>1000,22547=>1000,22548=>1000,22549=>1000,22550=>1000,22551=>1000,22552=>1000,22553=>1000,22554=>1000,22555=>1000,22556=>1000,22557=>1000,22558=>1000,22559=>1000,22560=>1000,22561=>1000,22562=>1000,22563=>1000,22564=>1000,22565=>1000,22566=>1000,22567=>1000,22568=>1000,22569=>1000,22570=>1000,22571=>1000,22572=>1000,22573=>1000,22574=>1000,22575=>1000,22576=>1000,22577=>1000,22578=>1000,22579=>1000,22580=>1000,22581=>1000,22582=>1000,22583=>1000,22584=>1000,22585=>1000,22586=>1000,22587=>1000,22588=>1000,22589=>1000,22590=>1000,22591=>1000,22592=>1000,22593=>1000,22594=>1000,22595=>1000,22596=>1000,22597=>1000,22598=>1000,22599=>1000,22600=>1000,22601=>1000,22602=>1000,22603=>1000,22604=>1000,22605=>1000,22606=>1000,22607=>1000,22608=>1000,22609=>1000,22610=>1000,22611=>1000,22612=>1000,22613=>1000,22614=>1000,22615=>1000,22616=>1000,22617=>1000,22618=>1000,22619=>1000,22620=>1000,22621=>1000,22622=>1000,22623=>1000,22624=>1000,22625=>1000,22626=>1000,22627=>1000,22628=>1000,22629=>1000,22630=>1000,22631=>1000,22632=>1000,22633=>1000,22634=>1000,22635=>1000,22636=>1000,22637=>1000,22638=>1000,22639=>1000,22640=>1000,22641=>1000,22642=>1000,22643=>1000,22644=>1000,22645=>1000,22646=>1000,22647=>1000,22648=>1000,22649=>1000,22650=>1000,22651=>1000,22652=>1000,22653=>1000,22654=>1000,22655=>1000,22656=>1000,22657=>1000,22658=>1000,22659=>1000,22660=>1000,22661=>1000,22662=>1000,22663=>1000,22664=>1000,22665=>1000,22666=>1000,22667=>1000,22668=>1000,22669=>1000,22670=>1000,22671=>1000,22672=>1000,22673=>1000,22674=>1000,22675=>1000,22676=>1000,22677=>1000,22678=>1000,22679=>1000,22680=>1000,22681=>1000,22682=>1000,22683=>1000,22684=>1000,22685=>1000,22686=>1000,22687=>1000,22688=>1000,22689=>1000,22690=>1000,22691=>1000,22692=>1000,22693=>1000,22694=>1000,22695=>1000,22696=>1000,22697=>1000,22698=>1000,22699=>1000,22700=>1000,22701=>1000,22702=>1000,22703=>1000,22704=>1000,22705=>1000,22706=>1000,22707=>1000,22708=>1000,22709=>1000,22710=>1000,22711=>1000,22712=>1000,22713=>1000,22714=>1000,22715=>1000,22716=>1000,22717=>1000,22718=>1000,22719=>1000,22720=>1000,22721=>1000,22722=>1000,22723=>1000,22724=>1000,22725=>1000,22726=>1000,22727=>1000,22728=>1000,22729=>1000,22730=>1000,22731=>1000,22732=>1000,22733=>1000,22734=>1000,22735=>1000,22736=>1000,22737=>1000,22738=>1000,22739=>1000,22740=>1000,22741=>1000,22742=>1000,22743=>1000,22744=>1000,22745=>1000,22746=>1000,22747=>1000,22748=>1000,22749=>1000,22750=>1000,22751=>1000,22752=>1000,22753=>1000,22754=>1000,22755=>1000,22756=>1000,22757=>1000,22758=>1000,22759=>1000,22760=>1000,22761=>1000,22762=>1000,22763=>1000,22764=>1000,22765=>1000,22766=>1000,22767=>1000,22768=>1000,22769=>1000,22770=>1000,22771=>1000,22772=>1000,22773=>1000,22774=>1000,22775=>1000,22776=>1000,22777=>1000,22778=>1000,22779=>1000,22780=>1000,22781=>1000,22782=>1000,22783=>1000,22784=>1000,22785=>1000,22786=>1000,22787=>1000,22788=>1000,22789=>1000,22790=>1000,22791=>1000,22792=>1000,22793=>1000,22794=>1000,22795=>1000,22796=>1000,22797=>1000,22798=>1000,22799=>1000,22800=>1000,22801=>1000,22802=>1000,22803=>1000,22804=>1000,22805=>1000,22806=>1000,22807=>1000,22808=>1000,22809=>1000,22810=>1000,22811=>1000,22812=>1000,22813=>1000,22814=>1000,22815=>1000,22816=>1000,22817=>1000,22818=>1000,22819=>1000,22820=>1000,22821=>1000,22822=>1000,22823=>1000,22824=>1000,22825=>1000,22826=>1000,22827=>1000,22828=>1000,22829=>1000,22830=>1000,22831=>1000,22832=>1000,22833=>1000,22834=>1000,22835=>1000,22836=>1000,22837=>1000,22838=>1000,22839=>1000,22840=>1000,22841=>1000,22842=>1000,22843=>1000,22844=>1000,22845=>1000,22846=>1000,22847=>1000,22848=>1000,22849=>1000,22850=>1000,22851=>1000,22852=>1000,22853=>1000,22854=>1000,22855=>1000,22856=>1000,22857=>1000,22858=>1000,22859=>1000,22860=>1000,22861=>1000,22862=>1000,22863=>1000,22864=>1000,22865=>1000,22866=>1000,22867=>1000,22868=>1000,22869=>1000,22870=>1000,22871=>1000,22872=>1000,22873=>1000,22874=>1000,22875=>1000,22876=>1000,22877=>1000,22878=>1000,22879=>1000,22880=>1000,22881=>1000,22882=>1000,22883=>1000,22884=>1000,22885=>1000,22886=>1000,22887=>1000,22888=>1000,22889=>1000,22890=>1000,22891=>1000,22892=>1000,22893=>1000,22894=>1000,22895=>1000,22896=>1000,22897=>1000,22898=>1000,22899=>1000,22900=>1000,22901=>1000,22902=>1000,22903=>1000,22904=>1000,22905=>1000,22906=>1000,22907=>1000,22908=>1000,22909=>1000,22910=>1000,22911=>1000,22912=>1000,22913=>1000,22914=>1000,22915=>1000,22916=>1000,22917=>1000,22918=>1000,22919=>1000,22920=>1000,22921=>1000,22922=>1000,22923=>1000,22924=>1000,22925=>1000,22926=>1000,22927=>1000,22928=>1000,22929=>1000,22930=>1000,22931=>1000,22932=>1000,22933=>1000,22934=>1000,22935=>1000,22936=>1000,22937=>1000,22938=>1000,22939=>1000,22940=>1000,22941=>1000,22942=>1000,22943=>1000,22944=>1000,22945=>1000,22946=>1000,22947=>1000,22948=>1000,22949=>1000,22950=>1000,22951=>1000,22952=>1000,22953=>1000,22954=>1000,22955=>1000,22956=>1000,22957=>1000,22958=>1000,22959=>1000,22960=>1000,22961=>1000,22962=>1000,22963=>1000,22964=>1000,22965=>1000,22966=>1000,22967=>1000,22968=>1000,22969=>1000,22970=>1000,22971=>1000,22972=>1000,22973=>1000,22974=>1000,22975=>1000,22976=>1000,22977=>1000,22978=>1000,22979=>1000,22980=>1000,22981=>1000,22982=>1000,22983=>1000,22984=>1000,22985=>1000,22986=>1000,22987=>1000,22988=>1000,22989=>1000,22990=>1000,22991=>1000,22992=>1000,22993=>1000,22994=>1000,22995=>1000,22996=>1000,22997=>1000,22998=>1000,22999=>1000,23000=>1000,23001=>1000,23002=>1000,23003=>1000,23004=>1000,23005=>1000,23006=>1000,23007=>1000,23008=>1000,23009=>1000,23010=>1000,23011=>1000,23012=>1000,23013=>1000,23014=>1000,23015=>1000,23016=>1000,23017=>1000,23018=>1000,23019=>1000,23020=>1000,23021=>1000,23022=>1000,23023=>1000,23024=>1000,23025=>1000,23026=>1000,23027=>1000,23028=>1000,23029=>1000,23030=>1000,23031=>1000,23032=>1000,23033=>1000,23034=>1000,23035=>1000,23036=>1000,23037=>1000,23038=>1000,23039=>1000,23040=>1000,23041=>1000,23042=>1000,23043=>1000,23044=>1000,23045=>1000,23046=>1000,23047=>1000,23048=>1000,23049=>1000,23050=>1000,23051=>1000,23052=>1000,23053=>1000,23054=>1000,23055=>1000,23056=>1000,23057=>1000,23058=>1000,23059=>1000,23060=>1000,23061=>1000,23062=>1000,23063=>1000,23064=>1000,23065=>1000,23066=>1000,23067=>1000,23068=>1000,23069=>1000,23070=>1000,23071=>1000,23072=>1000,23073=>1000,23074=>1000,23075=>1000,23076=>1000,23077=>1000,23078=>1000,23079=>1000,23080=>1000,23081=>1000,23082=>1000,23083=>1000,23084=>1000,23085=>1000,23086=>1000,23087=>1000,23088=>1000,23089=>1000,23090=>1000,23091=>1000,23092=>1000,23093=>1000,23094=>1000,23095=>1000,23096=>1000,23097=>1000,23098=>1000,23099=>1000,23100=>1000,23101=>1000,23102=>1000,23103=>1000,23104=>1000,23105=>1000,23106=>1000,23107=>1000,23108=>1000,23109=>1000,23110=>1000,23111=>1000,23112=>1000,23113=>1000,23114=>1000,23115=>1000,23116=>1000,23117=>1000,23118=>1000,23119=>1000,23120=>1000,23121=>1000,23122=>1000,23123=>1000,23124=>1000,23125=>1000,23126=>1000,23127=>1000,23128=>1000,23129=>1000,23130=>1000,23131=>1000,23132=>1000,23133=>1000,23134=>1000,23135=>1000,23136=>1000,23137=>1000,23138=>1000,23139=>1000,23140=>1000,23141=>1000,23142=>1000,23143=>1000,23144=>1000,23145=>1000,23146=>1000,23147=>1000,23148=>1000,23149=>1000,23150=>1000,23151=>1000,23152=>1000,23153=>1000,23154=>1000,23155=>1000,23156=>1000,23157=>1000,23158=>1000,23159=>1000,23160=>1000,23161=>1000,23162=>1000,23163=>1000,23164=>1000,23165=>1000,23166=>1000,23167=>1000,23168=>1000,23169=>1000,23170=>1000,23171=>1000,23172=>1000,23173=>1000,23174=>1000,23175=>1000,23176=>1000,23177=>1000,23178=>1000,23179=>1000,23180=>1000,23181=>1000,23182=>1000,23183=>1000,23184=>1000,23185=>1000,23186=>1000,23187=>1000,23188=>1000,23189=>1000,23190=>1000,23191=>1000,23192=>1000,23193=>1000,23194=>1000,23195=>1000,23196=>1000,23197=>1000,23198=>1000,23199=>1000,23200=>1000,23201=>1000,23202=>1000,23203=>1000,23204=>1000,23205=>1000,23206=>1000,23207=>1000,23208=>1000,23209=>1000,23210=>1000,23211=>1000,23212=>1000,23213=>1000,23214=>1000,23215=>1000,23216=>1000,23217=>1000,23218=>1000,23219=>1000,23220=>1000,23221=>1000,23222=>1000,23223=>1000,23224=>1000,23225=>1000,23226=>1000,23227=>1000,23228=>1000,23229=>1000,23230=>1000,23231=>1000,23232=>1000,23233=>1000,23234=>1000,23235=>1000,23236=>1000,23237=>1000,23238=>1000,23239=>1000,23240=>1000,23241=>1000,23242=>1000,23243=>1000,23244=>1000,23245=>1000,23246=>1000,23247=>1000,23248=>1000,23249=>1000,23250=>1000,23251=>1000,23252=>1000,23253=>1000,23254=>1000,23255=>1000,23256=>1000,23257=>1000,23258=>1000,23259=>1000,23260=>1000,23261=>1000,23262=>1000,23263=>1000,23264=>1000,23265=>1000,23266=>1000,23267=>1000,23268=>1000,23269=>1000,23270=>1000,23271=>1000,23272=>1000,23273=>1000,23274=>1000,23275=>1000,23276=>1000,23277=>1000,23278=>1000,23279=>1000,23280=>1000,23281=>1000,23282=>1000,23283=>1000,23284=>1000,23285=>1000,23286=>1000,23287=>1000,23288=>1000,23289=>1000,23290=>1000,23291=>1000,23292=>1000,23293=>1000,23294=>1000,23295=>1000,23296=>1000,23297=>1000,23298=>1000,23299=>1000,23300=>1000,23301=>1000,23302=>1000,23303=>1000,23304=>1000,23305=>1000,23306=>1000,23307=>1000,23308=>1000,23309=>1000,23310=>1000,23311=>1000,23312=>1000,23313=>1000,23314=>1000,23315=>1000,23316=>1000,23317=>1000,23318=>1000,23319=>1000,23320=>1000,23321=>1000,23322=>1000,23323=>1000,23324=>1000,23325=>1000,23326=>1000,23327=>1000,23328=>1000,23329=>1000,23330=>1000,23331=>1000,23332=>1000,23333=>1000,23334=>1000,23335=>1000,23336=>1000,23337=>1000,23338=>1000,23339=>1000,23340=>1000,23341=>1000,23342=>1000,23343=>1000,23344=>1000,23345=>1000,23346=>1000,23347=>1000,23348=>1000,23349=>1000,23350=>1000,23351=>1000,23352=>1000,23353=>1000,23354=>1000,23355=>1000,23356=>1000,23357=>1000,23358=>1000,23359=>1000,23360=>1000,23361=>1000,23362=>1000,23363=>1000,23364=>1000,23365=>1000,23366=>1000,23367=>1000,23368=>1000,23369=>1000,23370=>1000,23371=>1000,23372=>1000,23373=>1000,23374=>1000,23375=>1000,23376=>1000,23377=>1000,23378=>1000,23379=>1000,23380=>1000,23381=>1000,23382=>1000,23383=>1000,23384=>1000,23385=>1000,23386=>1000,23387=>1000,23388=>1000,23389=>1000,23390=>1000,23391=>1000,23392=>1000,23393=>1000,23394=>1000,23395=>1000,23396=>1000,23397=>1000,23398=>1000,23399=>1000,23400=>1000,23401=>1000,23402=>1000,23403=>1000,23404=>1000,23405=>1000,23406=>1000,23407=>1000,23408=>1000,23409=>1000,23410=>1000,23411=>1000,23412=>1000,23413=>1000,23414=>1000,23415=>1000,23416=>1000,23417=>1000,23418=>1000,23419=>1000,23420=>1000,23421=>1000,23422=>1000,23423=>1000,23424=>1000,23425=>1000,23426=>1000,23427=>1000,23428=>1000,23429=>1000,23430=>1000,23431=>1000,23432=>1000,23433=>1000,23434=>1000,23435=>1000,23436=>1000,23437=>1000,23438=>1000,23439=>1000,23440=>1000,23441=>1000,23442=>1000,23443=>1000,23444=>1000,23445=>1000,23446=>1000,23447=>1000,23448=>1000,23449=>1000,23450=>1000,23451=>1000,23452=>1000,23453=>1000,23454=>1000,23455=>1000,23456=>1000,23457=>1000,23458=>1000,23459=>1000,23460=>1000,23461=>1000,23462=>1000,23463=>1000,23464=>1000,23465=>1000,23466=>1000,23467=>1000,23468=>1000,23469=>1000,23470=>1000,23471=>1000,23472=>1000,23473=>1000,23474=>1000,23475=>1000,23476=>1000,23477=>1000,23478=>1000,23479=>1000,23480=>1000,23481=>1000,23482=>1000,23483=>1000,23484=>1000,23485=>1000,23486=>1000,23487=>1000,23488=>1000,23489=>1000,23490=>1000,23491=>1000,23492=>1000,23493=>1000,23494=>1000,23495=>1000,23496=>1000,23497=>1000,23498=>1000,23499=>1000,23500=>1000,23501=>1000,23502=>1000,23503=>1000,23504=>1000,23505=>1000,23506=>1000,23507=>1000,23508=>1000,23509=>1000,23510=>1000,23511=>1000,23512=>1000,23513=>1000,23514=>1000,23515=>1000,23516=>1000,23517=>1000,23518=>1000,23519=>1000,23520=>1000,23521=>1000,23522=>1000,23523=>1000,23524=>1000,23525=>1000,23526=>1000,23527=>1000,23528=>1000,23529=>1000,23530=>1000,23531=>1000,23532=>1000,23533=>1000,23534=>1000,23535=>1000,23536=>1000,23537=>1000,23538=>1000,23539=>1000,23540=>1000,23541=>1000,23542=>1000,23543=>1000,23544=>1000,23545=>1000,23546=>1000,23547=>1000,23548=>1000,23549=>1000,23550=>1000,23551=>1000,23552=>1000,23553=>1000,23554=>1000,23555=>1000,23556=>1000,23557=>1000,23558=>1000,23559=>1000,23560=>1000,23561=>1000,23562=>1000,23563=>1000,23564=>1000,23565=>1000,23566=>1000,23567=>1000,23568=>1000,23569=>1000,23570=>1000,23571=>1000,23572=>1000,23573=>1000,23574=>1000,23575=>1000,23576=>1000,23577=>1000,23578=>1000,23579=>1000,23580=>1000,23581=>1000,23582=>1000,23583=>1000,23584=>1000,23585=>1000,23586=>1000,23587=>1000,23588=>1000,23589=>1000,23590=>1000,23591=>1000,23592=>1000,23593=>1000,23594=>1000,23595=>1000,23596=>1000,23597=>1000,23598=>1000,23599=>1000,23600=>1000,23601=>1000,23602=>1000,23603=>1000,23604=>1000,23605=>1000,23606=>1000,23607=>1000,23608=>1000,23609=>1000,23610=>1000,23611=>1000,23612=>1000,23613=>1000,23614=>1000,23615=>1000,23616=>1000,23617=>1000,23618=>1000,23619=>1000,23620=>1000,23621=>1000,23622=>1000,23623=>1000,23624=>1000,23625=>1000,23626=>1000,23627=>1000,23628=>1000,23629=>1000,23630=>1000,23631=>1000,23632=>1000,23633=>1000,23634=>1000,23635=>1000,23636=>1000,23637=>1000,23638=>1000,23639=>1000,23640=>1000,23641=>1000,23642=>1000,23643=>1000,23644=>1000,23645=>1000,23646=>1000,23647=>1000,23648=>1000,23649=>1000,23650=>1000,23651=>1000,23652=>1000,23653=>1000,23654=>1000,23655=>1000,23656=>1000,23657=>1000,23658=>1000,23659=>1000,23660=>1000,23661=>1000,23662=>1000,23663=>1000,23664=>1000,23665=>1000,23666=>1000,23667=>1000,23668=>1000,23669=>1000,23670=>1000,23671=>1000,23672=>1000,23673=>1000,23674=>1000,23675=>1000,23676=>1000,23677=>1000,23678=>1000,23679=>1000,23680=>1000,23681=>1000,23682=>1000,23683=>1000,23684=>1000,23685=>1000,23686=>1000,23687=>1000,23688=>1000,23689=>1000,23690=>1000,23691=>1000,23692=>1000,23693=>1000,23694=>1000,23695=>1000,23696=>1000,23697=>1000,23698=>1000,23699=>1000,23700=>1000,23701=>1000,23702=>1000,23703=>1000,23704=>1000,23705=>1000,23706=>1000,23707=>1000,23708=>1000,23709=>1000,23710=>1000,23711=>1000,23712=>1000,23713=>1000,23714=>1000,23715=>1000,23716=>1000,23717=>1000,23718=>1000,23719=>1000,23720=>1000,23721=>1000,23722=>1000,23723=>1000,23724=>1000,23725=>1000,23726=>1000,23727=>1000,23728=>1000,23729=>1000,23730=>1000,23731=>1000,23732=>1000,23733=>1000,23734=>1000,23735=>1000,23736=>1000,23737=>1000,23738=>1000,23739=>1000,23740=>1000,23741=>1000,23742=>1000,23743=>1000,23744=>1000,23745=>1000,23746=>1000,23747=>1000,23748=>1000,23749=>1000,23750=>1000,23751=>1000,23752=>1000,23753=>1000,23754=>1000,23755=>1000,23756=>1000,23757=>1000,23758=>1000,23759=>1000,23760=>1000,23761=>1000,23762=>1000,23763=>1000,23764=>1000,23765=>1000,23766=>1000,23767=>1000,23768=>1000,23769=>1000,23770=>1000,23771=>1000,23772=>1000,23773=>1000,23774=>1000,23775=>1000,23776=>1000,23777=>1000,23778=>1000,23779=>1000,23780=>1000,23781=>1000,23782=>1000,23783=>1000,23784=>1000,23785=>1000,23786=>1000,23787=>1000,23788=>1000,23789=>1000,23790=>1000,23791=>1000,23792=>1000,23793=>1000,23794=>1000,23795=>1000,23796=>1000,23797=>1000,23798=>1000,23799=>1000,23800=>1000,23801=>1000,23802=>1000,23803=>1000,23804=>1000,23805=>1000,23806=>1000,23807=>1000,23808=>1000,23809=>1000,23810=>1000,23811=>1000,23812=>1000,23813=>1000,23814=>1000,23815=>1000,23816=>1000,23817=>1000,23818=>1000,23819=>1000,23820=>1000,23821=>1000,23822=>1000,23823=>1000,23824=>1000,23825=>1000,23826=>1000,23827=>1000,23828=>1000,23829=>1000,23830=>1000,23831=>1000,23832=>1000,23833=>1000,23834=>1000,23835=>1000,23836=>1000,23837=>1000,23838=>1000,23839=>1000,23840=>1000,23841=>1000,23842=>1000,23843=>1000,23844=>1000,23845=>1000,23846=>1000,23847=>1000,23848=>1000,23849=>1000,23850=>1000,23851=>1000,23852=>1000,23853=>1000,23854=>1000,23855=>1000,23856=>1000,23857=>1000,23858=>1000,23859=>1000,23860=>1000,23861=>1000,23862=>1000,23863=>1000,23864=>1000,23865=>1000,23866=>1000,23867=>1000,23868=>1000,23869=>1000,23870=>1000,23871=>1000,23872=>1000,23873=>1000,23874=>1000,23875=>1000,23876=>1000,23877=>1000,23878=>1000,23879=>1000,23880=>1000,23881=>1000,23882=>1000,23883=>1000,23884=>1000,23885=>1000,23886=>1000,23887=>1000,23888=>1000,23889=>1000,23890=>1000,23891=>1000,23892=>1000,23893=>1000,23894=>1000,23895=>1000,23896=>1000,23897=>1000,23898=>1000,23899=>1000,23900=>1000,23901=>1000,23902=>1000,23903=>1000,23904=>1000,23905=>1000,23906=>1000,23907=>1000,23908=>1000,23909=>1000,23910=>1000,23911=>1000,23912=>1000,23913=>1000,23914=>1000,23915=>1000,23916=>1000,23917=>1000,23918=>1000,23919=>1000,23920=>1000,23921=>1000,23922=>1000,23923=>1000,23924=>1000,23925=>1000,23926=>1000,23927=>1000,23928=>1000,23929=>1000,23930=>1000,23931=>1000,23932=>1000,23933=>1000,23934=>1000,23935=>1000,23936=>1000,23937=>1000,23938=>1000,23939=>1000,23940=>1000,23941=>1000,23942=>1000,23943=>1000,23944=>1000,23945=>1000,23946=>1000,23947=>1000,23948=>1000,23949=>1000,23950=>1000,23951=>1000,23952=>1000,23953=>1000,23954=>1000,23955=>1000,23956=>1000,23957=>1000,23958=>1000,23959=>1000,23960=>1000,23961=>1000,23962=>1000,23963=>1000,23964=>1000,23965=>1000,23966=>1000,23967=>1000,23968=>1000,23969=>1000,23970=>1000,23971=>1000,23972=>1000,23973=>1000,23974=>1000,23975=>1000,23976=>1000,23977=>1000,23978=>1000,23979=>1000,23980=>1000,23981=>1000,23982=>1000,23983=>1000,23984=>1000,23985=>1000,23986=>1000,23987=>1000,23988=>1000,23989=>1000,23990=>1000,23991=>1000,23992=>1000,23993=>1000,23994=>1000,23995=>1000,23996=>1000,23997=>1000,23998=>1000,23999=>1000,24000=>1000,24001=>1000,24002=>1000,24003=>1000,24004=>1000,24005=>1000,24006=>1000,24007=>1000,24008=>1000,24009=>1000,24010=>1000,24011=>1000,24012=>1000,24013=>1000,24014=>1000,24015=>1000,24016=>1000,24017=>1000,24018=>1000,24019=>1000,24020=>1000,24021=>1000,24022=>1000,24023=>1000,24024=>1000,24025=>1000,24026=>1000,24027=>1000,24028=>1000,24029=>1000,24030=>1000,24031=>1000,24032=>1000,24033=>1000,24034=>1000,24035=>1000,24036=>1000,24037=>1000,24038=>1000,24039=>1000,24040=>1000,24041=>1000,24042=>1000,24043=>1000,24044=>1000,24045=>1000,24046=>1000,24047=>1000,24048=>1000,24049=>1000,24050=>1000,24051=>1000,24052=>1000,24053=>1000,24054=>1000,24055=>1000,24056=>1000,24057=>1000,24058=>1000,24059=>1000,24060=>1000,24061=>1000,24062=>1000,24063=>1000,24064=>1000,24065=>1000,24066=>1000,24067=>1000,24068=>1000,24069=>1000,24070=>1000,24071=>1000,24072=>1000,24073=>1000,24074=>1000,24075=>1000,24076=>1000,24077=>1000,24078=>1000,24079=>1000,24080=>1000,24081=>1000,24082=>1000,24083=>1000,24084=>1000,24085=>1000,24086=>1000,24087=>1000,24088=>1000,24089=>1000,24090=>1000,24091=>1000,24092=>1000,24093=>1000,24094=>1000,24095=>1000,24096=>1000,24097=>1000,24098=>1000,24099=>1000,24100=>1000,24101=>1000,24102=>1000,24103=>1000,24104=>1000,24105=>1000,24106=>1000,24107=>1000,24108=>1000,24109=>1000,24110=>1000,24111=>1000,24112=>1000,24113=>1000,24114=>1000,24115=>1000,24116=>1000,24117=>1000,24118=>1000,24119=>1000,24120=>1000,24121=>1000,24122=>1000,24123=>1000,24124=>1000,24125=>1000,24126=>1000,24127=>1000,24128=>1000,24129=>1000,24130=>1000,24131=>1000,24132=>1000,24133=>1000,24134=>1000,24135=>1000,24136=>1000,24137=>1000,24138=>1000,24139=>1000,24140=>1000,24141=>1000,24142=>1000,24143=>1000,24144=>1000,24145=>1000,24146=>1000,24147=>1000,24148=>1000,24149=>1000,24150=>1000,24151=>1000,24152=>1000,24153=>1000,24154=>1000,24155=>1000,24156=>1000,24157=>1000,24158=>1000,24159=>1000,24160=>1000,24161=>1000,24162=>1000,24163=>1000,24164=>1000,24165=>1000,24166=>1000,24167=>1000,24168=>1000,24169=>1000,24170=>1000,24171=>1000,24172=>1000,24173=>1000,24174=>1000,24175=>1000,24176=>1000,24177=>1000,24178=>1000,24179=>1000,24180=>1000,24181=>1000,24182=>1000,24183=>1000,24184=>1000,24185=>1000,24186=>1000,24187=>1000,24188=>1000,24189=>1000,24190=>1000,24191=>1000,24192=>1000,24193=>1000,24194=>1000,24195=>1000,24196=>1000,24197=>1000,24198=>1000,24199=>1000,24200=>1000,24201=>1000,24202=>1000,24203=>1000,24204=>1000,24205=>1000,24206=>1000,24207=>1000,24208=>1000,24209=>1000,24210=>1000,24211=>1000,24212=>1000,24213=>1000,24214=>1000,24215=>1000,24216=>1000,24217=>1000,24218=>1000,24219=>1000,24220=>1000,24221=>1000,24222=>1000,24223=>1000,24224=>1000,24225=>1000,24226=>1000,24227=>1000,24228=>1000,24229=>1000,24230=>1000,24231=>1000,24232=>1000,24233=>1000,24234=>1000,24235=>1000,24236=>1000,24237=>1000,24238=>1000,24239=>1000,24240=>1000,24241=>1000,24242=>1000,24243=>1000,24244=>1000,24245=>1000,24246=>1000,24247=>1000,24248=>1000,24249=>1000,24250=>1000,24251=>1000,24252=>1000,24253=>1000,24254=>1000,24255=>1000,24256=>1000,24257=>1000,24258=>1000,24259=>1000,24260=>1000,24261=>1000,24262=>1000,24263=>1000,24264=>1000,24265=>1000,24266=>1000,24267=>1000,24268=>1000,24269=>1000,24270=>1000,24271=>1000,24272=>1000,24273=>1000,24274=>1000,24275=>1000,24276=>1000,24277=>1000,24278=>1000,24279=>1000,24280=>1000,24281=>1000,24282=>1000,24283=>1000,24284=>1000,24285=>1000,24286=>1000,24287=>1000,24288=>1000,24289=>1000,24290=>1000,24291=>1000,24292=>1000,24293=>1000,24294=>1000,24295=>1000,24296=>1000,24297=>1000,24298=>1000,24299=>1000,24300=>1000,24301=>1000,24302=>1000,24303=>1000,24304=>1000,24305=>1000,24306=>1000,24307=>1000,24308=>1000,24309=>1000,24310=>1000,24311=>1000,24312=>1000,24313=>1000,24314=>1000,24315=>1000,24316=>1000,24317=>1000,24318=>1000,24319=>1000,24320=>1000,24321=>1000,24322=>1000,24323=>1000,24324=>1000,24325=>1000,24326=>1000,24327=>1000,24328=>1000,24329=>1000,24330=>1000,24331=>1000,24332=>1000,24333=>1000,24334=>1000,24335=>1000,24336=>1000,24337=>1000,24338=>1000,24339=>1000,24340=>1000,24341=>1000,24342=>1000,24343=>1000,24344=>1000,24345=>1000,24346=>1000,24347=>1000,24348=>1000,24349=>1000,24350=>1000,24351=>1000,24352=>1000,24353=>1000,24354=>1000,24355=>1000,24356=>1000,24357=>1000,24358=>1000,24359=>1000,24360=>1000,24361=>1000,24362=>1000,24363=>1000,24364=>1000,24365=>1000,24366=>1000,24367=>1000,24368=>1000,24369=>1000,24370=>1000,24371=>1000,24372=>1000,24373=>1000,24374=>1000,24375=>1000,24376=>1000,24377=>1000,24378=>1000,24379=>1000,24380=>1000,24381=>1000,24382=>1000,24383=>1000,24384=>1000,24385=>1000,24386=>1000,24387=>1000,24388=>1000,24389=>1000,24390=>1000,24391=>1000,24392=>1000,24393=>1000,24394=>1000,24395=>1000,24396=>1000,24397=>1000,24398=>1000,24399=>1000,24400=>1000,24401=>1000,24402=>1000,24403=>1000,24404=>1000,24405=>1000,24406=>1000,24407=>1000,24408=>1000,24409=>1000,24410=>1000,24411=>1000,24412=>1000,24413=>1000,24414=>1000,24415=>1000,24416=>1000,24417=>1000,24418=>1000,24419=>1000,24420=>1000,24421=>1000,24422=>1000,24423=>1000,24424=>1000,24425=>1000,24426=>1000,24427=>1000,24428=>1000,24429=>1000,24430=>1000,24431=>1000,24432=>1000,24433=>1000,24434=>1000,24435=>1000,24436=>1000,24437=>1000,24438=>1000,24439=>1000,24440=>1000,24441=>1000,24442=>1000,24443=>1000,24444=>1000,24445=>1000,24446=>1000,24447=>1000,24448=>1000,24449=>1000,24450=>1000,24451=>1000,24452=>1000,24453=>1000,24454=>1000,24455=>1000,24456=>1000,24457=>1000,24458=>1000,24459=>1000,24460=>1000,24461=>1000,24462=>1000,24463=>1000,24464=>1000,24465=>1000,24466=>1000,24467=>1000,24468=>1000,24469=>1000,24470=>1000,24471=>1000,24472=>1000,24473=>1000,24474=>1000,24475=>1000,24476=>1000,24477=>1000,24478=>1000,24479=>1000,24480=>1000,24481=>1000,24482=>1000,24483=>1000,24484=>1000,24485=>1000,24486=>1000,24487=>1000,24488=>1000,24489=>1000,24490=>1000,24491=>1000,24492=>1000,24493=>1000,24494=>1000,24495=>1000,24496=>1000,24497=>1000,24498=>1000,24499=>1000,24500=>1000,24501=>1000,24502=>1000,24503=>1000,24504=>1000,24505=>1000,24506=>1000,24507=>1000,24508=>1000,24509=>1000,24510=>1000,24511=>1000,24512=>1000,24513=>1000,24514=>1000,24515=>1000,24516=>1000,24517=>1000,24518=>1000,24519=>1000,24520=>1000,24521=>1000,24522=>1000,24523=>1000,24524=>1000,24525=>1000,24526=>1000,24527=>1000,24528=>1000,24529=>1000,24530=>1000,24531=>1000,24532=>1000,24533=>1000,24534=>1000,24535=>1000,24536=>1000,24537=>1000,24538=>1000,24539=>1000,24540=>1000,24541=>1000,24542=>1000,24543=>1000,24544=>1000,24545=>1000,24546=>1000,24547=>1000,24548=>1000,24549=>1000,24550=>1000,24551=>1000,24552=>1000,24553=>1000,24554=>1000,24555=>1000,24556=>1000,24557=>1000,24558=>1000,24559=>1000,24560=>1000,24561=>1000,24562=>1000,24563=>1000,24564=>1000,24565=>1000,24566=>1000,24567=>1000,24568=>1000,24569=>1000,24570=>1000,24571=>1000,24572=>1000,24573=>1000,24574=>1000,24575=>1000,24576=>1000,24577=>1000,24578=>1000,24579=>1000,24580=>1000,24581=>1000,24582=>1000,24583=>1000,24584=>1000,24585=>1000,24586=>1000,24587=>1000,24588=>1000,24589=>1000,24590=>1000,24591=>1000,24592=>1000,24593=>1000,24594=>1000,24595=>1000,24596=>1000,24597=>1000,24598=>1000,24599=>1000,24600=>1000,24601=>1000,24602=>1000,24603=>1000,24604=>1000,24605=>1000,24606=>1000,24607=>1000,24608=>1000,24609=>1000,24610=>1000,24611=>1000,24612=>1000,24613=>1000,24614=>1000,24615=>1000,24616=>1000,24617=>1000,24618=>1000,24619=>1000,24620=>1000,24621=>1000,24622=>1000,24623=>1000,24624=>1000,24625=>1000,24626=>1000,24627=>1000,24628=>1000,24629=>1000,24630=>1000,24631=>1000,24632=>1000,24633=>1000,24634=>1000,24635=>1000,24636=>1000,24637=>1000,24638=>1000,24639=>1000,24640=>1000,24641=>1000,24642=>1000,24643=>1000,24644=>1000,24645=>1000,24646=>1000,24647=>1000,24648=>1000,24649=>1000,24650=>1000,24651=>1000,24652=>1000,24653=>1000,24654=>1000,24655=>1000,24656=>1000,24657=>1000,24658=>1000,24659=>1000,24660=>1000,24661=>1000,24662=>1000,24663=>1000,24664=>1000,24665=>1000,24666=>1000,24667=>1000,24668=>1000,24669=>1000,24670=>1000,24671=>1000,24672=>1000,24673=>1000,24674=>1000,24675=>1000,24676=>1000,24677=>1000,24678=>1000,24679=>1000,24680=>1000,24681=>1000,24682=>1000,24683=>1000,24684=>1000,24685=>1000,24686=>1000,24687=>1000,24688=>1000,24689=>1000,24690=>1000,24691=>1000,24692=>1000,24693=>1000,24694=>1000,24695=>1000,24696=>1000,24697=>1000,24698=>1000,24699=>1000,24700=>1000,24701=>1000,24702=>1000,24703=>1000,24704=>1000,24705=>1000,24706=>1000,24707=>1000,24708=>1000,24709=>1000,24710=>1000,24711=>1000,24712=>1000,24713=>1000,24714=>1000,24715=>1000,24716=>1000,24717=>1000,24718=>1000,24719=>1000,24720=>1000,24721=>1000,24722=>1000,24723=>1000,24724=>1000,24725=>1000,24726=>1000,24727=>1000,24728=>1000,24729=>1000,24730=>1000,24731=>1000,24732=>1000,24733=>1000,24734=>1000,24735=>1000,24736=>1000,24737=>1000,24738=>1000,24739=>1000,24740=>1000,24741=>1000,24742=>1000,24743=>1000,24744=>1000,24745=>1000,24746=>1000,24747=>1000,24748=>1000,24749=>1000,24750=>1000,24751=>1000,24752=>1000,24753=>1000,24754=>1000,24755=>1000,24756=>1000,24757=>1000,24758=>1000,24759=>1000,24760=>1000,24761=>1000,24762=>1000,24763=>1000,24764=>1000,24765=>1000,24766=>1000,24767=>1000,24768=>1000,24769=>1000,24770=>1000,24771=>1000,24772=>1000,24773=>1000,24774=>1000,24775=>1000,24776=>1000,24777=>1000,24778=>1000,24779=>1000,24780=>1000,24781=>1000,24782=>1000,24783=>1000,24784=>1000,24785=>1000,24786=>1000,24787=>1000,24788=>1000,24789=>1000,24790=>1000,24791=>1000,24792=>1000,24793=>1000,24794=>1000,24795=>1000,24796=>1000,24797=>1000,24798=>1000,24799=>1000,24800=>1000,24801=>1000,24802=>1000,24803=>1000,24804=>1000,24805=>1000,24806=>1000,24807=>1000,24808=>1000,24809=>1000,24810=>1000,24811=>1000,24812=>1000,24813=>1000,24814=>1000,24815=>1000,24816=>1000,24817=>1000,24818=>1000,24819=>1000,24820=>1000,24821=>1000,24822=>1000,24823=>1000,24824=>1000,24825=>1000,24826=>1000,24827=>1000,24828=>1000,24829=>1000,24830=>1000,24831=>1000,24832=>1000,24833=>1000,24834=>1000,24835=>1000,24836=>1000,24837=>1000,24838=>1000,24839=>1000,24840=>1000,24841=>1000,24842=>1000,24843=>1000,24844=>1000,24845=>1000,24846=>1000,24847=>1000,24848=>1000,24849=>1000,24850=>1000,24851=>1000,24852=>1000,24853=>1000,24854=>1000,24855=>1000,24856=>1000,24857=>1000,24858=>1000,24859=>1000,24860=>1000,24861=>1000,24862=>1000,24863=>1000,24864=>1000,24865=>1000,24866=>1000,24867=>1000,24868=>1000,24869=>1000,24870=>1000,24871=>1000,24872=>1000,24873=>1000,24874=>1000,24875=>1000,24876=>1000,24877=>1000,24878=>1000,24879=>1000,24880=>1000,24881=>1000,24882=>1000,24883=>1000,24884=>1000,24885=>1000,24886=>1000,24887=>1000,24888=>1000,24889=>1000,24890=>1000,24891=>1000,24892=>1000,24893=>1000,24894=>1000,24895=>1000,24896=>1000,24897=>1000,24898=>1000,24899=>1000,24900=>1000,24901=>1000,24902=>1000,24903=>1000,24904=>1000,24905=>1000,24906=>1000,24907=>1000,24908=>1000,24909=>1000,24910=>1000,24911=>1000,24912=>1000,24913=>1000,24914=>1000,24915=>1000,24916=>1000,24917=>1000,24918=>1000,24919=>1000,24920=>1000,24921=>1000,24922=>1000,24923=>1000,24924=>1000,24925=>1000,24926=>1000,24927=>1000,24928=>1000,24929=>1000,24930=>1000,24931=>1000,24932=>1000,24933=>1000,24934=>1000,24935=>1000,24936=>1000,24937=>1000,24938=>1000,24939=>1000,24940=>1000,24941=>1000,24942=>1000,24943=>1000,24944=>1000,24945=>1000,24946=>1000,24947=>1000,24948=>1000,24949=>1000,24950=>1000,24951=>1000,24952=>1000,24953=>1000,24954=>1000,24955=>1000,24956=>1000,24957=>1000,24958=>1000,24959=>1000,24960=>1000,24961=>1001,24962=>1000,24963=>1000,24964=>1000,24965=>1000,24966=>1000,24967=>1000,24968=>1000,24969=>1000,24970=>1000,24971=>1000,24972=>1000,24973=>1000,24974=>1000,24975=>1000,24976=>1000,24977=>1000,24978=>1000,24979=>1000,24980=>1000,24981=>1000,24982=>1000,24983=>1000,24984=>1000,24985=>1000,24986=>1000,24987=>1000,24988=>1000,24989=>1000,24990=>1000,24991=>1000,24992=>1000,24993=>1000,24994=>1000,24995=>1000,24996=>1000,24997=>1000,24998=>1000,24999=>1000,25000=>1000,25001=>1000,25002=>1000,25003=>1000,25004=>1000,25005=>1000,25006=>1000,25007=>1000,25008=>1000,25009=>1000,25010=>1000,25011=>1000,25012=>1000,25013=>1000,25014=>1000,25015=>1000,25016=>1000,25017=>1000,25018=>1000,25019=>1000,25020=>1000,25021=>1000,25022=>1000,25023=>1000,25024=>1000,25025=>1000,25026=>1000,25027=>1000,25028=>1000,25029=>1000,25030=>1000,25031=>1000,25032=>1000,25033=>1000,25034=>1000,25035=>1000,25036=>1000,25037=>1000,25038=>1000,25039=>1000,25040=>1000,25041=>1000,25042=>1000,25043=>1000,25044=>1000,25045=>1000,25046=>1000,25047=>1000,25048=>1000,25049=>1000,25050=>1000,25051=>1000,25052=>1000,25053=>1000,25054=>1000,25055=>1000,25056=>1000,25057=>1000,25058=>1000,25059=>1000,25060=>1000,25061=>1000,25062=>1000,25063=>1000,25064=>1000,25065=>1000,25066=>1000,25067=>1000,25068=>1000,25069=>1000,25070=>1000,25071=>1000,25072=>1000,25073=>1000,25074=>1000,25075=>1000,25076=>1000,25077=>1000,25078=>1000,25079=>1000,25080=>1000,25081=>1000,25082=>1000,25083=>1000,25084=>1000,25085=>1000,25086=>1000,25087=>1000,25088=>1000,25089=>1000,25090=>1000,25091=>1000,25092=>1000,25093=>1000,25094=>1000,25095=>1000,25096=>1000,25097=>1000,25098=>1000,25099=>1000,25100=>1000,25101=>1000,25102=>1000,25103=>1000,25104=>1000,25105=>1000,25106=>1000,25107=>1000,25108=>1000,25109=>1000,25110=>1000,25111=>1000,25112=>1000,25113=>1000,25114=>1000,25115=>1000,25116=>1000,25117=>1000,25118=>1000,25119=>1000,25120=>1000,25121=>1000,25122=>1000,25123=>1000,25124=>1000,25125=>1000,25126=>1000,25127=>1000,25128=>1000,25129=>1000,25130=>1000,25131=>1000,25132=>1000,25133=>1000,25134=>1000,25135=>1000,25136=>1000,25137=>1000,25138=>1000,25139=>1000,25140=>1000,25141=>1000,25142=>1000,25143=>1000,25144=>1000,25145=>1000,25146=>1000,25147=>1000,25148=>1000,25149=>1000,25150=>1000,25151=>1000,25152=>1000,25153=>1000,25154=>1000,25155=>1000,25156=>1000,25157=>1000,25158=>1000,25159=>1000,25160=>1000,25161=>1000,25162=>1000,25163=>1000,25164=>1000,25165=>1000,25166=>1000,25167=>1000,25168=>1000,25169=>1000,25170=>1000,25171=>1000,25172=>1000,25173=>1000,25174=>1000,25175=>1000,25176=>1000,25177=>1000,25178=>1000,25179=>1000,25180=>1000,25181=>1000,25182=>1000,25183=>1000,25184=>1000,25185=>1000,25186=>1000,25187=>1000,25188=>1000,25189=>1000,25190=>1000,25191=>1000,25192=>1000,25193=>1000,25194=>1000,25195=>1000,25196=>1000,25197=>1000,25198=>1000,25199=>1000,25200=>1000,25201=>1000,25202=>1000,25203=>1000,25204=>1000,25205=>1000,25206=>1000,25207=>1000,25208=>1000,25209=>1000,25210=>1000,25211=>1000,25212=>1000,25213=>1000,25214=>1000,25215=>1000,25216=>1000,25217=>1000,25218=>1000,25219=>1000,25220=>1000,25221=>1000,25222=>1000,25223=>1000,25224=>1000,25225=>1000,25226=>1000,25227=>1000,25228=>1000,25229=>1000,25230=>1000,25231=>1000,25232=>1000,25233=>1000,25234=>1000,25235=>1000,25236=>1000,25237=>1000,25238=>1000,25239=>1000,25240=>1000,25241=>1000,25242=>1000,25243=>1000,25244=>1000,25245=>1000,25246=>1000,25247=>1000,25248=>1000,25249=>1000,25250=>1000,25251=>1000,25252=>1000,25253=>1000,25254=>1000,25255=>1000,25256=>1000,25257=>1000,25258=>1000,25259=>1000,25260=>1000,25261=>1000,25262=>1000,25263=>1000,25264=>1000,25265=>1000,25266=>1000,25267=>1000,25268=>1000,25269=>1000,25270=>1000,25271=>1000,25272=>1000,25273=>1000,25274=>1000,25275=>1000,25276=>1000,25277=>1000,25278=>1000,25279=>1000,25280=>1000,25281=>1000,25282=>1000,25283=>1000,25284=>1000,25285=>1000,25286=>1000,25287=>1000,25288=>1000,25289=>1000,25290=>1000,25291=>1000,25292=>1000,25293=>1000,25294=>1000,25295=>1000,25296=>1000,25297=>1000,25298=>1000,25299=>1000,25300=>1000,25301=>1000,25302=>1000,25303=>1000,25304=>1000,25305=>1000,25306=>1000,25307=>1000,25308=>1000,25309=>1000,25310=>1000,25311=>1000,25312=>1000,25313=>1000,25314=>1000,25315=>1000,25316=>1000,25317=>1000,25318=>1000,25319=>1000,25320=>1000,25321=>1000,25322=>1000,25323=>1000,25324=>1000,25325=>1000,25326=>1000,25327=>1000,25328=>1000,25329=>1000,25330=>1000,25331=>1000,25332=>1000,25333=>1000,25334=>1000,25335=>1000,25336=>1000,25337=>1000,25338=>1000,25339=>1000,25340=>1000,25341=>1000,25342=>1000,25343=>1000,25344=>1000,25345=>1000,25346=>1000,25347=>1000,25348=>1000,25349=>1000,25350=>1000,25351=>1000,25352=>1000,25353=>1000,25354=>1000,25355=>1000,25356=>1000,25357=>1000,25358=>1000,25359=>1000,25360=>1000,25361=>1000,25362=>1000,25363=>1000,25364=>1000,25365=>1000,25366=>1000,25367=>1000,25368=>1000,25369=>1000,25370=>1000,25371=>1000,25372=>1000,25373=>1000,25374=>1000,25375=>1000,25376=>1000,25377=>1000,25378=>1000,25379=>1000,25380=>1000,25381=>1000,25382=>1000,25383=>1000,25384=>1000,25385=>1000,25386=>1000,25387=>1000,25388=>1000,25389=>1000,25390=>1000,25391=>1000,25392=>1000,25393=>1000,25394=>1000,25395=>1000,25396=>1000,25397=>1000,25398=>1000,25399=>1000,25400=>1000,25401=>1000,25402=>1000,25403=>1000,25404=>1000,25405=>1000,25406=>1000,25407=>1000,25408=>1000,25409=>1000,25410=>1000,25411=>1000,25412=>1000,25413=>1000,25414=>1000,25415=>1000,25416=>1000,25417=>1000,25418=>1000,25419=>1000,25420=>1000,25421=>1000,25422=>1000,25423=>1000,25424=>1000,25425=>1000,25426=>1000,25427=>1000,25428=>1000,25429=>1000,25430=>1000,25431=>1000,25432=>1000,25433=>1000,25434=>1000,25435=>1000,25436=>1000,25437=>1000,25438=>1000,25439=>1000,25440=>1000,25441=>1000,25442=>1000,25443=>1000,25444=>1000,25445=>1000,25446=>1000,25447=>1000,25448=>1000,25449=>1000,25450=>1000,25451=>1000,25452=>1000,25453=>1000,25454=>1000,25455=>1000,25456=>1000,25457=>1000,25458=>1000,25459=>1000,25460=>1000,25461=>1000,25462=>1000,25463=>1000,25464=>1000,25465=>1000,25466=>1000,25467=>1000,25468=>1000,25469=>1000,25470=>1000,25471=>1000,25472=>1000,25473=>1000,25474=>1000,25475=>1000,25476=>1000,25477=>1000,25478=>1000,25479=>1000,25480=>1000,25481=>1000,25482=>1000,25483=>1000,25484=>1000,25485=>1000,25486=>1000,25487=>1000,25488=>1000,25489=>1000,25490=>1000,25491=>1000,25492=>1000,25493=>1000,25494=>1000,25495=>1000,25496=>1000,25497=>1000,25498=>1000,25499=>1000,25500=>1000,25501=>1000,25502=>1000,25503=>1000,25504=>1000,25505=>1000,25506=>1000,25507=>1000,25508=>1000,25509=>1000,25510=>1000,25511=>1000,25512=>1000,25513=>1000,25514=>1000,25515=>1000,25516=>1000,25517=>1000,25518=>1000,25519=>1000,25520=>1000,25521=>1000,25522=>1000,25523=>1000,25524=>1000,25525=>1000,25526=>1000,25527=>1000,25528=>1000,25529=>1000,25530=>1000,25531=>1000,25532=>1000,25533=>1000,25534=>1000,25535=>1000,25536=>1000,25537=>1000,25538=>1000,25539=>1000,25540=>1000,25541=>1000,25542=>1000,25543=>1000,25544=>1000,25545=>1000,25546=>1000,25547=>1000,25548=>1000,25549=>1000,25550=>1000,25551=>1000,25552=>1000,25553=>1000,25554=>1000,25555=>1000,25556=>1000,25557=>1000,25558=>1000,25559=>1000,25560=>1000,25561=>1000,25562=>1000,25563=>1000,25564=>1000,25565=>1000,25566=>1000,25567=>1000,25568=>1000,25569=>1000,25570=>1000,25571=>1000,25572=>1000,25573=>1000,25574=>1000,25575=>1000,25576=>1000,25577=>1000,25578=>1000,25579=>1000,25580=>1000,25581=>1000,25582=>1000,25583=>1000,25584=>1000,25585=>1000,25586=>1000,25587=>1000,25588=>1000,25589=>1000,25590=>1000,25591=>1000,25592=>1000,25593=>1000,25594=>1000,25595=>1000,25596=>1000,25597=>1000,25598=>1000,25599=>1000,25600=>1000,25601=>1000,25602=>1000,25603=>1000,25604=>1000,25605=>1000,25606=>1000,25607=>1000,25608=>1000,25609=>1000,25610=>1000,25611=>1000,25612=>1000,25613=>1000,25614=>1000,25615=>1000,25616=>1000,25617=>1000,25618=>1000,25619=>1000,25620=>1000,25621=>1000,25622=>1000,25623=>1000,25624=>1000,25625=>1000,25626=>1000,25627=>1000,25628=>1000,25629=>1000,25630=>1000,25631=>1000,25632=>1000,25633=>1000,25634=>1000,25635=>1000,25636=>1000,25637=>1000,25638=>1000,25639=>1000,25640=>1000,25641=>1000,25642=>1000,25643=>1000,25644=>1000,25645=>1000,25646=>1000,25647=>1000,25648=>1000,25649=>1000,25650=>1000,25651=>1000,25652=>1000,25653=>1000,25654=>1000,25655=>1000,25656=>1000,25657=>1000,25658=>1000,25659=>1000,25660=>1000,25661=>1000,25662=>1000,25663=>1000,25664=>1000,25665=>1000,25666=>1000,25667=>1000,25668=>1000,25669=>1000,25670=>1000,25671=>1000,25672=>1000,25673=>1000,25674=>1000,25675=>1000,25676=>1000,25677=>1000,25678=>1000,25679=>1000,25680=>1000,25681=>1000,25682=>1000,25683=>1000,25684=>1000,25685=>1000,25686=>1000,25687=>1000,25688=>1000,25689=>1000,25690=>1000,25691=>1000,25692=>1000,25693=>1000,25694=>1000,25695=>1000,25696=>1000,25697=>1000,25698=>1000,25699=>1000,25700=>1000,25701=>1000,25702=>1000,25703=>1000,25704=>1000,25705=>1000,25706=>1000,25707=>1000,25708=>1000,25709=>1000,25710=>1000,25711=>1000,25712=>1000,25713=>1000,25714=>1000,25715=>1000,25716=>1000,25717=>1000,25718=>1000,25719=>1000,25720=>1000,25721=>1000,25722=>1000,25723=>1000,25724=>1000,25725=>1000,25726=>1000,25727=>1000,25728=>1000,25729=>1000,25730=>1000,25731=>1000,25732=>1000,25733=>1000,25734=>1000,25735=>1000,25736=>1000,25737=>1000,25738=>1000,25739=>1000,25740=>1000,25741=>1000,25742=>1000,25743=>1000,25744=>1000,25745=>1000,25746=>1000,25747=>1000,25748=>1000,25749=>1000,25750=>1000,25751=>1000,25752=>1000,25753=>1000,25754=>1000,25755=>1000,25756=>1000,25757=>1000,25758=>1000,25759=>1000,25760=>1000,25761=>1000,25762=>1000,25763=>1000,25764=>1000,25765=>1000,25766=>1000,25767=>1000,25768=>1000,25769=>1000,25770=>1000,25771=>1000,25772=>1000,25773=>1000,25774=>1000,25775=>1000,25776=>1000,25777=>1000,25778=>1000,25779=>1000,25780=>1000,25781=>1000,25782=>1000,25783=>1000,25784=>1000,25785=>1000,25786=>1000,25787=>1000,25788=>1000,25789=>1000,25790=>1000,25791=>1000,25792=>1000,25793=>1000,25794=>1000,25795=>1000,25796=>1000,25797=>1000,25798=>1000,25799=>1000,25800=>1000,25801=>1000,25802=>1000,25803=>1000,25804=>1000,25805=>1000,25806=>1000,25807=>1000,25808=>1000,25809=>1000,25810=>1000,25811=>1000,25812=>1000,25813=>1000,25814=>1000,25815=>1000,25816=>1000,25817=>1000,25818=>1000,25819=>1000,25820=>1000,25821=>1000,25822=>1000,25823=>1000,25824=>1000,25825=>1000,25826=>1000,25827=>1000,25828=>1000,25829=>1000,25830=>1000,25831=>1000,25832=>1000,25833=>1000,25834=>1000,25835=>1000,25836=>1000,25837=>1000,25838=>1000,25839=>1000,25840=>1000,25841=>1000,25842=>1000,25843=>1000,25844=>1000,25845=>1000,25846=>1000,25847=>1000,25848=>1000,25849=>1000,25850=>1000,25851=>1000,25852=>1000,25853=>1000,25854=>1000,25855=>1000,25856=>1000,25857=>1000,25858=>1000,25859=>1000,25860=>1000,25861=>1000,25862=>1000,25863=>1000,25864=>1000,25865=>1000,25866=>1000,25867=>1000,25868=>1000,25869=>1000,25870=>1000,25871=>1000,25872=>1000,25873=>1000,25874=>1000,25875=>1000,25876=>1000,25877=>1000,25878=>1000,25879=>1000,25880=>1000,25881=>1000,25882=>1000,25883=>1000,25884=>1000,25885=>1000,25886=>1000,25887=>1000,25888=>1000,25889=>1000,25890=>1000,25891=>1000,25892=>1000,25893=>1000,25894=>1000,25895=>1000,25896=>1000,25897=>1000,25898=>1000,25899=>1000,25900=>1000,25901=>1000,25902=>1000,25903=>1000,25904=>1000,25905=>1000,25906=>1000,25907=>1000,25908=>1000,25909=>1000,25910=>1000,25911=>1000,25912=>1000,25913=>1000,25914=>1000,25915=>1000,25916=>1000,25917=>1000,25918=>1000,25919=>1000,25920=>1000,25921=>1000,25922=>1000,25923=>1000,25924=>1000,25925=>1000,25926=>1000,25927=>1000,25928=>1000,25929=>1000,25930=>1000,25931=>1000,25932=>1000,25933=>1000,25934=>1000,25935=>1000,25936=>1000,25937=>1000,25938=>1000,25939=>1000,25940=>1000,25941=>1000,25942=>1000,25943=>1000,25944=>1000,25945=>1000,25946=>1000,25947=>1000,25948=>1000,25949=>1000,25950=>1000,25951=>1000,25952=>1000,25953=>1000,25954=>1000,25955=>1000,25956=>1000,25957=>1000,25958=>1000,25959=>1000,25960=>1000,25961=>1000,25962=>1000,25963=>1000,25964=>1000,25965=>1000,25966=>1000,25967=>1000,25968=>1000,25969=>1000,25970=>1000,25971=>1000,25972=>1000,25973=>1000,25974=>1000,25975=>1000,25976=>1000,25977=>1000,25978=>1000,25979=>1000,25980=>1000,25981=>1000,25982=>1000,25983=>1000,25984=>1000,25985=>1000,25986=>1000,25987=>1000,25988=>1000,25989=>1000,25990=>1000,25991=>1000,25992=>1000,25993=>1000,25994=>1000,25995=>1000,25996=>1000,25997=>1000,25998=>1000,25999=>1000,26000=>1000,26001=>1000,26002=>1000,26003=>1000,26004=>1000,26005=>1000,26006=>1000,26007=>1000,26008=>1000,26009=>1000,26010=>1000,26011=>1000,26012=>1000,26013=>1000,26014=>1000,26015=>1000,26016=>1000,26017=>1000,26018=>1000,26019=>1000,26020=>1000,26021=>1000,26022=>1000,26023=>1000,26024=>1000,26025=>1000,26026=>1000,26027=>1000,26028=>1000,26029=>1000,26030=>1000,26031=>1000,26032=>1000,26033=>1000,26034=>1000,26035=>1000,26036=>1000,26037=>1000,26038=>1000,26039=>1000,26040=>1000,26041=>1000,26042=>1000,26043=>1000,26044=>1000,26045=>1000,26046=>1000,26047=>1000,26048=>1000,26049=>1000,26050=>1000,26051=>1000,26052=>1000,26053=>1000,26054=>1000,26055=>1000,26056=>1000,26057=>1000,26058=>1000,26059=>1000,26060=>1000,26061=>1000,26062=>1000,26063=>1000,26064=>1000,26065=>1000,26066=>1000,26067=>1000,26068=>1000,26069=>1000,26070=>1000,26071=>1000,26072=>1000,26073=>1000,26074=>1000,26075=>1000,26076=>1000,26077=>1000,26078=>1000,26079=>1000,26080=>1000,26081=>1000,26082=>1000,26083=>1000,26084=>1000,26085=>1000,26086=>1000,26087=>1000,26088=>1000,26089=>1000,26090=>1000,26091=>1000,26092=>1000,26093=>1000,26094=>1000,26095=>1000,26096=>1000,26097=>1000,26098=>1000,26099=>1000,26100=>1000,26101=>1000,26102=>1000,26103=>1000,26104=>1000,26105=>1000,26106=>1000,26107=>1000,26108=>1000,26109=>1000,26110=>1000,26111=>1000,26112=>1000,26113=>1000,26114=>1000,26115=>1000,26116=>1000,26117=>1000,26118=>1000,26119=>1000,26120=>1000,26121=>1000,26122=>1000,26123=>1000,26124=>1000,26125=>1000,26126=>1000,26127=>1000,26128=>1000,26129=>1000,26130=>1000,26131=>1000,26132=>1000,26133=>1000,26134=>1000,26135=>1000,26136=>1000,26137=>1000,26138=>1000,26139=>1000,26140=>1000,26141=>1000,26142=>1000,26143=>1000,26144=>1000,26145=>1000,26146=>1000,26147=>1000,26148=>1000,26149=>1000,26150=>1000,26151=>1000,26152=>1000,26153=>1000,26154=>1000,26155=>1000,26156=>1000,26157=>1000,26158=>1000,26159=>1000,26160=>1000,26161=>1000,26162=>1000,26163=>1000,26164=>1000,26165=>1000,26166=>1000,26167=>1000,26168=>1000,26169=>1000,26170=>1000,26171=>1000,26172=>1000,26173=>1000,26174=>1000,26175=>1000,26176=>1000,26177=>1000,26178=>1000,26179=>1000,26180=>1000,26181=>1000,26182=>1000,26183=>1000,26184=>1000,26185=>1000,26186=>1000,26187=>1000,26188=>1000,26189=>1000,26190=>1000,26191=>1000,26192=>1000,26193=>1000,26194=>1000,26195=>1000,26196=>1000,26197=>1000,26198=>1000,26199=>1000,26200=>1000,26201=>1000,26202=>1000,26203=>1000,26204=>1000,26205=>1000,26206=>1000,26207=>1000,26208=>1000,26209=>1000,26210=>1000,26211=>1000,26212=>1000,26213=>1000,26214=>1000,26215=>1000,26216=>1000,26217=>1000,26218=>1000,26219=>1000,26220=>1000,26221=>1000,26222=>1000,26223=>1000,26224=>1000,26225=>1000,26226=>1000,26227=>1000,26228=>1000,26229=>1000,26230=>1000,26231=>1000,26232=>1000,26233=>1000,26234=>1000,26235=>1000,26236=>1000,26237=>1000,26238=>1000,26239=>1000,26240=>1000,26241=>1000,26242=>1000,26243=>1000,26244=>1000,26245=>1000,26246=>1000,26247=>1000,26248=>1000,26249=>1000,26250=>1000,26251=>1000,26252=>1000,26253=>1000,26254=>1000,26255=>1000,26256=>1000,26257=>1000,26258=>1000,26259=>1000,26260=>1000,26261=>1000,26262=>1000,26263=>1000,26264=>1000,26265=>1000,26266=>1000,26267=>1000,26268=>1000,26269=>1000,26270=>1000,26271=>1000,26272=>1000,26273=>1000,26274=>1000,26275=>1000,26276=>1000,26277=>1000,26278=>1000,26279=>1000,26280=>1000,26281=>1000,26282=>1000,26283=>1000,26284=>1000,26285=>1000,26286=>1000,26287=>1000,26288=>1000,26289=>1000,26290=>1000,26291=>1000,26292=>1000,26293=>1000,26294=>1000,26295=>1000,26296=>1000,26297=>1000,26298=>1000,26299=>1000,26300=>1000,26301=>1000,26302=>1000,26303=>1000,26304=>1000,26305=>1000,26306=>1000,26307=>1000,26308=>1000,26309=>1000,26310=>1000,26311=>1000,26312=>1000,26313=>1000,26314=>1000,26315=>1000,26316=>1000,26317=>1000,26318=>1000,26319=>1000,26320=>1000,26321=>1000,26322=>1000,26323=>1000,26324=>1000,26325=>1000,26326=>1000,26327=>1000,26328=>1000,26329=>1000,26330=>1000,26331=>1000,26332=>1000,26333=>1000,26334=>1000,26335=>1000,26336=>1000,26337=>1000,26338=>1000,26339=>1000,26340=>1000,26341=>1000,26342=>1000,26343=>1000,26344=>1000,26345=>1000,26346=>1000,26347=>1000,26348=>1000,26349=>1000,26350=>1000,26351=>1000,26352=>1000,26353=>1000,26354=>1000,26355=>1000,26356=>1000,26357=>1000,26358=>1000,26359=>1000,26360=>1000,26361=>1000,26362=>1000,26363=>1000,26364=>1000,26365=>1000,26366=>1000,26367=>1000,26368=>1000,26369=>1000,26370=>1000,26371=>1000,26372=>1000,26373=>1000,26374=>1000,26375=>1000,26376=>1000,26377=>1000,26378=>1000,26379=>1000,26380=>1000,26381=>1000,26382=>1000,26383=>1000,26384=>1000,26385=>1000,26386=>1000,26387=>1000,26388=>1000,26389=>1000,26390=>1000,26391=>1000,26392=>1000,26393=>1000,26394=>1000,26395=>1000,26396=>1000,26397=>1000,26398=>1000,26399=>1000,26400=>1000,26401=>1000,26402=>1000,26403=>1000,26404=>1000,26405=>1000,26406=>1000,26407=>1000,26408=>1000,26409=>1000,26410=>1000,26411=>1000,26412=>1000,26413=>1000,26414=>1000,26415=>1000,26416=>1000,26417=>1000,26418=>1000,26419=>1000,26420=>1000,26421=>1000,26422=>1000,26423=>1000,26424=>1000,26425=>1000,26426=>1000,26427=>1000,26428=>1000,26429=>1000,26430=>1000,26431=>1000,26432=>1000,26433=>1000,26434=>1000,26435=>1000,26436=>1000,26437=>1000,26438=>1000,26439=>1000,26440=>1000,26441=>1000,26442=>1000,26443=>1000,26444=>1000,26445=>1000,26446=>1000,26447=>1000,26448=>1000,26449=>1000,26450=>1000,26451=>1000,26452=>1000,26453=>1000,26454=>1000,26455=>1000,26456=>1000,26457=>1000,26458=>1000,26459=>1000,26460=>1000,26461=>1000,26462=>1000,26463=>1000,26464=>1000,26465=>1000,26466=>1000,26467=>1000,26468=>1000,26469=>1000,26470=>1000,26471=>1000,26472=>1000,26473=>1000,26474=>1000,26475=>1000,26476=>1000,26477=>1000,26478=>1000,26479=>1000,26480=>1000,26481=>1000,26482=>1000,26483=>1000,26484=>1000,26485=>1000,26486=>1000,26487=>1000,26488=>1000,26489=>1000,26490=>1000,26491=>1000,26492=>1000,26493=>1000,26494=>1000,26495=>1000,26496=>1000,26497=>1000,26498=>1000,26499=>1000,26500=>1000,26501=>1000,26502=>1000,26503=>1000,26504=>1000,26505=>1000,26506=>1000,26507=>1000,26508=>1000,26509=>1000,26510=>1000,26511=>1000,26512=>1000,26513=>1000,26514=>1000,26515=>1000,26516=>1000,26517=>1000,26518=>1000,26519=>1000,26520=>1000,26521=>1000,26522=>1000,26523=>1000,26524=>1000,26525=>1000,26526=>1000,26527=>1000,26528=>1000,26529=>1000,26530=>1000,26531=>1000,26532=>1000,26533=>1000,26534=>1000,26535=>1000,26536=>1000,26537=>1000,26538=>1000,26539=>1000,26540=>1000,26541=>1000,26542=>1000,26543=>1000,26544=>1000,26545=>1000,26546=>1000,26547=>1000,26548=>1000,26549=>1000,26550=>1000,26551=>1000,26552=>1000,26553=>1000,26554=>1000,26555=>1000,26556=>1000,26557=>1000,26558=>1000,26559=>1000,26560=>1000,26561=>1000,26562=>1000,26563=>1000,26564=>1000,26565=>1000,26566=>1000,26567=>1000,26568=>1000,26569=>1000,26570=>1000,26571=>1000,26572=>1000,26573=>1000,26574=>1000,26575=>1000,26576=>1000,26577=>1000,26578=>1000,26579=>1000,26580=>1000,26581=>1000,26582=>1000,26583=>1000,26584=>1000,26585=>1000,26586=>1000,26587=>1000,26588=>1000,26589=>1000,26590=>1000,26591=>1000,26592=>1000,26593=>1000,26594=>1000,26595=>1000,26596=>1000,26597=>1000,26598=>1000,26599=>1000,26600=>1000,26601=>1000,26602=>1000,26603=>1000,26604=>1000,26605=>1000,26606=>1000,26607=>1000,26608=>1000,26609=>1000,26610=>1000,26611=>1000,26612=>1000,26613=>1000,26614=>1000,26615=>1000,26616=>1000,26617=>1000,26618=>1000,26619=>1000,26620=>1000,26621=>1000,26622=>1000,26623=>1000,26624=>1000,26625=>1000,26626=>1000,26627=>1000,26628=>1000,26629=>1000,26630=>1000,26631=>1000,26632=>1000,26633=>1000,26634=>1000,26635=>1000,26636=>1000,26637=>1000,26638=>1000,26639=>1000,26640=>1000,26641=>1000,26642=>1000,26643=>1000,26644=>1000,26645=>1000,26646=>1000,26647=>1000,26648=>1000,26649=>1000,26650=>1000,26651=>1000,26652=>1000,26653=>1000,26654=>1000,26655=>1000,26656=>1000,26657=>1000,26658=>1000,26659=>1000,26660=>1000,26661=>1000,26662=>1000,26663=>1000,26664=>1000,26665=>1000,26666=>1000,26667=>1000,26668=>1000,26669=>1000,26670=>1000,26671=>1000,26672=>1000,26673=>1000,26674=>1000,26675=>1000,26676=>1000,26677=>1000,26678=>1000,26679=>1000,26680=>1000,26681=>1000,26682=>1000,26683=>1000,26684=>1000,26685=>1000,26686=>1000,26687=>1000,26688=>1000,26689=>1000,26690=>1000,26691=>1000,26692=>1000,26693=>1000,26694=>1000,26695=>1000,26696=>1000,26697=>1000,26698=>1000,26699=>1000,26700=>1000,26701=>1000,26702=>1000,26703=>1000,26704=>1000,26705=>1000,26706=>1000,26707=>1000,26708=>1000,26709=>1000,26710=>1000,26711=>1000,26712=>1000,26713=>1000,26714=>1000,26715=>1000,26716=>1000,26717=>1000,26718=>1000,26719=>1000,26720=>1000,26721=>1000,26722=>1000,26723=>1000,26724=>1000,26725=>1000,26726=>1000,26727=>1000,26728=>1000,26729=>1000,26730=>1000,26731=>1000,26732=>1000,26733=>1000,26734=>1000,26735=>1000,26736=>1000,26737=>1000,26738=>1000,26739=>1000,26740=>1000,26741=>1000,26742=>1000,26743=>1000,26744=>1000,26745=>1000,26746=>1000,26747=>1000,26748=>1000,26749=>1000,26750=>1000,26751=>1000,26752=>1000,26753=>1000,26754=>1000,26755=>1000,26756=>1000,26757=>1000,26758=>1000,26759=>1000,26760=>1000,26761=>1000,26762=>1000,26763=>1000,26764=>1000,26765=>1000,26766=>1000,26767=>1000,26768=>1000,26769=>1000,26770=>1000,26771=>1000,26772=>1000,26773=>1000,26774=>1000,26775=>1000,26776=>1000,26777=>1000,26778=>1000,26779=>1000,26780=>1000,26781=>1000,26782=>1000,26783=>1000,26784=>1000,26785=>1000,26786=>1000,26787=>1000,26788=>1000,26789=>1000,26790=>1000,26791=>1000,26792=>1000,26793=>1000,26794=>1000,26795=>1000,26796=>1000,26797=>1000,26798=>1000,26799=>1000,26800=>1000,26801=>1000,26802=>1000,26803=>1000,26804=>1000,26805=>1000,26806=>1000,26807=>1000,26808=>1000,26809=>1000,26810=>1000,26811=>1000,26812=>1000,26813=>1000,26814=>1000,26815=>1000,26816=>1000,26817=>1000,26818=>1000,26819=>1000,26820=>1000,26821=>1000,26822=>1000,26823=>1000,26824=>1000,26825=>1000,26826=>1000,26827=>1000,26828=>1000,26829=>1000,26830=>1000,26831=>1000,26832=>1000,26833=>1000,26834=>1000,26835=>1000,26836=>1000,26837=>1000,26838=>1000,26839=>1000,26840=>1000,26841=>1000,26842=>1000,26843=>1000,26844=>1000,26845=>1000,26846=>1000,26847=>1000,26848=>1000,26849=>1000,26850=>1000,26851=>1000,26852=>1000,26853=>1000,26854=>1000,26855=>1000,26856=>1000,26857=>1000,26858=>1000,26859=>1000,26860=>1000,26861=>1000,26862=>1000,26863=>1000,26864=>1000,26865=>1000,26866=>1000,26867=>1000,26868=>1000,26869=>1000,26870=>1000,26871=>1000,26872=>1000,26873=>1000,26874=>1000,26875=>1000,26876=>1000,26877=>1000,26878=>1000,26879=>1000,26880=>1000,26881=>1000,26882=>1000,26883=>1000,26884=>1000,26885=>1000,26886=>1000,26887=>1000,26888=>1000,26889=>1000,26890=>1000,26891=>1000,26892=>1000,26893=>1000,26894=>1000,26895=>1000,26896=>1000,26897=>1000,26898=>1000,26899=>1000,26900=>1000,26901=>1000,26902=>1000,26903=>1000,26904=>1000,26905=>1000,26906=>1000,26907=>1000,26908=>1000,26909=>1000,26910=>1000,26911=>1000,26912=>1000,26913=>1000,26914=>1000,26915=>1000,26916=>1000,26917=>1000,26918=>1000,26919=>1000,26920=>1000,26921=>1000,26922=>1000,26923=>1000,26924=>1000,26925=>1000,26926=>1000,26927=>1000,26928=>1000,26929=>1000,26930=>1000,26931=>1000,26932=>1000,26933=>1000,26934=>1000,26935=>1000,26936=>1000,26937=>1000,26938=>1000,26939=>1000,26940=>1000,26941=>1000,26942=>1000,26943=>1000,26944=>1000,26945=>1000,26946=>1000,26947=>1000,26948=>1000,26949=>1000,26950=>1000,26951=>1000,26952=>1000,26953=>1000,26954=>1000,26955=>1000,26956=>1000,26957=>1000,26958=>1000,26959=>1000,26960=>1000,26961=>1000,26962=>1000,26963=>1000,26964=>1000,26965=>1000,26966=>1000,26967=>1000,26968=>1000,26969=>1000,26970=>1000,26971=>1000,26972=>1000,26973=>1000,26974=>1000,26975=>1000,26976=>1000,26977=>1000,26978=>1000,26979=>1000,26980=>1000,26981=>1000,26982=>1000,26983=>1000,26984=>1000,26985=>1000,26986=>1000,26987=>1000,26988=>1000,26989=>1000,26990=>1000,26991=>1000,26992=>1000,26993=>1000,26994=>1000,26995=>1000,26996=>1000,26997=>1000,26998=>1000,26999=>1000,27000=>1000,27001=>1000,27002=>1000,27003=>1000,27004=>1000,27005=>1000,27006=>1000,27007=>1000,27008=>1000,27009=>1000,27010=>1000,27011=>1000,27012=>1000,27013=>1000,27014=>1000,27015=>1000,27016=>1000,27017=>1000,27018=>1000,27019=>1000,27020=>1000,27021=>1000,27022=>1000,27023=>1000,27024=>1000,27025=>1000,27026=>1000,27027=>1000,27028=>1000,27029=>1000,27030=>1000,27031=>1000,27032=>1000,27033=>1000,27034=>1000,27035=>1000,27036=>1000,27037=>1000,27038=>1000,27039=>1000,27040=>1000,27041=>1000,27042=>1000,27043=>1000,27044=>1000,27045=>1000,27046=>1000,27047=>1000,27048=>1000,27049=>1000,27050=>1000,27051=>1000,27052=>1000,27053=>1000,27054=>1000,27055=>1000,27056=>1000,27057=>1000,27058=>1000,27059=>1000,27060=>1000,27061=>1000,27062=>1000,27063=>1000,27064=>1000,27065=>1000,27066=>1000,27067=>1000,27068=>1000,27069=>1000,27070=>1000,27071=>1000,27072=>1000,27073=>1000,27074=>1000,27075=>1000,27076=>1000,27077=>1000,27078=>1000,27079=>1000,27080=>1000,27081=>1000,27082=>1000,27083=>1000,27084=>1000,27085=>1000,27086=>1000,27087=>1000,27088=>1000,27089=>1000,27090=>1000,27091=>1000,27092=>1000,27093=>1000,27094=>1000,27095=>1000,27096=>1000,27097=>1000,27098=>1000,27099=>1000,27100=>1000,27101=>1000,27102=>1000,27103=>1000,27104=>1000,27105=>1000,27106=>1000,27107=>1000,27108=>1000,27109=>1000,27110=>1000,27111=>1000,27112=>1000,27113=>1000,27114=>1000,27115=>1000,27116=>1000,27117=>1000,27118=>1000,27119=>1000,27120=>1000,27121=>1000,27122=>1000,27123=>1000,27124=>1000,27125=>1000,27126=>1000,27127=>1000,27128=>1000,27129=>1000,27130=>1000,27131=>1000,27132=>1000,27133=>1000,27134=>1000,27135=>1000,27136=>1000,27137=>1000,27138=>1000,27139=>1000,27140=>1000,27141=>1000,27142=>1000,27143=>1000,27144=>1000,27145=>1000,27146=>1000,27147=>1000,27148=>1000,27149=>1000,27150=>1000,27151=>1000,27152=>1000,27153=>1000,27154=>1000,27155=>1000,27156=>1000,27157=>1000,27158=>1000,27159=>1000,27160=>1000,27161=>1000,27162=>1000,27163=>1000,27164=>1000,27165=>1000,27166=>1000,27167=>1000,27168=>1000,27169=>1000,27170=>1000,27171=>1000,27172=>1000,27173=>1000,27174=>1000,27175=>1000,27176=>1000,27177=>1000,27178=>1000,27179=>1000,27180=>1000,27181=>1000,27182=>1000,27183=>1000,27184=>1000,27185=>1000,27186=>1000,27187=>1000,27188=>1000,27189=>1000,27190=>1000,27191=>1000,27192=>1000,27193=>1000,27194=>1000,27195=>1000,27196=>1000,27197=>1000,27198=>1000,27199=>1000,27200=>1000,27201=>1000,27202=>1000,27203=>1000,27204=>1000,27205=>1000,27206=>1000,27207=>1000,27208=>1000,27209=>1000,27210=>1000,27211=>1000,27212=>1000,27213=>1000,27214=>1000,27215=>1000,27216=>1000,27217=>1000,27218=>1000,27219=>1000,27220=>1000,27221=>1000,27222=>1000,27223=>1000,27224=>1000,27225=>1000,27226=>1000,27227=>1000,27228=>1000,27229=>1000,27230=>1000,27231=>1000,27232=>1000,27233=>1000,27234=>1000,27235=>1000,27236=>1000,27237=>1000,27238=>1000,27239=>1000,27240=>1000,27241=>1000,27242=>1000,27243=>1000,27244=>1000,27245=>1000,27246=>1000,27247=>1000,27248=>1000,27249=>1000,27250=>1000,27251=>1000,27252=>1000,27253=>1000,27254=>1000,27255=>1000,27256=>1000,27257=>1000,27258=>1000,27259=>1000,27260=>1000,27261=>1000,27262=>1000,27263=>1000,27264=>1000,27265=>1000,27266=>1000,27267=>1000,27268=>1000,27269=>1000,27270=>1000,27271=>1000,27272=>1000,27273=>1000,27274=>1000,27275=>1000,27276=>1000,27277=>1000,27278=>1000,27279=>1000,27280=>1000,27281=>1000,27282=>1000,27283=>1000,27284=>1000,27285=>1000,27286=>1000,27287=>1000,27288=>1000,27289=>1000,27290=>1000,27291=>1000,27292=>1000,27293=>1000,27294=>1000,27295=>1000,27296=>1000,27297=>1000,27298=>1000,27299=>1000,27300=>1000,27301=>1000,27302=>1000,27303=>1000,27304=>1000,27305=>1000,27306=>1000,27307=>1000,27308=>1000,27309=>1000,27310=>1000,27311=>1000,27312=>1000,27313=>1000,27314=>1000,27315=>1000,27316=>1000,27317=>1000,27318=>1000,27319=>1000,27320=>1000,27321=>1000,27322=>1000,27323=>1000,27324=>1000,27325=>1000,27326=>1000,27327=>1000,27328=>1000,27329=>1000,27330=>1000,27331=>1000,27332=>1000,27333=>1000,27334=>1000,27335=>1000,27336=>1000,27337=>1000,27338=>1000,27339=>1000,27340=>1000,27341=>1000,27342=>1000,27343=>1000,27344=>1000,27345=>1000,27346=>1000,27347=>1000,27348=>1000,27349=>1000,27350=>1000,27351=>1000,27352=>1000,27353=>1000,27354=>1000,27355=>1000,27356=>1000,27357=>1000,27358=>1000,27359=>1000,27360=>1000,27361=>1000,27362=>1000,27363=>1000,27364=>1000,27365=>1000,27366=>1000,27367=>1000,27368=>1000,27369=>1000,27370=>1000,27371=>1000,27372=>1000,27373=>1000,27374=>1000,27375=>1000,27376=>1000,27377=>1000,27378=>1000,27379=>1000,27380=>1000,27381=>1000,27382=>1000,27383=>1000,27384=>1000,27385=>1000,27386=>1000,27387=>1000,27388=>1000,27389=>1000,27390=>1000,27391=>1000,27392=>1000,27393=>1000,27394=>1000,27395=>1000,27396=>1000,27397=>1000,27398=>1000,27399=>1000,27400=>1000,27401=>1000,27402=>1000,27403=>1000,27404=>1000,27405=>1000,27406=>1000,27407=>1000,27408=>1000,27409=>1000,27410=>1000,27411=>1000,27412=>1000,27413=>1000,27414=>1000,27415=>1000,27416=>1000,27417=>1000,27418=>1000,27419=>1000,27420=>1000,27421=>1000,27422=>1000,27423=>1000,27424=>1000,27425=>1000,27426=>1000,27427=>1000,27428=>1000,27429=>1000,27430=>1000,27431=>1000,27432=>1000,27433=>1000,27434=>1000,27435=>1000,27436=>1000,27437=>1000,27438=>1000,27439=>1000,27440=>1000,27441=>1000,27442=>1000,27443=>1000,27444=>1000,27445=>1000,27446=>1000,27447=>1000,27448=>1000,27449=>1000,27450=>1000,27451=>1000,27452=>1000,27453=>1000,27454=>1000,27455=>1000,27456=>1000,27457=>1000,27458=>1000,27459=>1000,27460=>1000,27461=>1000,27462=>1000,27463=>1000,27464=>1000,27465=>1000,27466=>1000,27467=>1000,27468=>1000,27469=>1000,27470=>1000,27471=>1000,27472=>1000,27473=>1000,27474=>1000,27475=>1000,27476=>1000,27477=>1000,27478=>1000,27479=>1000,27480=>1000,27481=>1000,27482=>1000,27483=>1000,27484=>1000,27485=>1000,27486=>1000,27487=>1000,27488=>1000,27489=>1000,27490=>1000,27491=>1000,27492=>1000,27493=>1000,27494=>1000,27495=>1000,27496=>1000,27497=>1000,27498=>1000,27499=>1000,27500=>1000,27501=>1000,27502=>1000,27503=>1000,27504=>1000,27505=>1000,27506=>1000,27507=>1000,27508=>1000,27509=>1000,27510=>1000,27511=>1000,27512=>1000,27513=>1000,27514=>1000,27515=>1000,27516=>1000,27517=>1000,27518=>1000,27519=>1000,27520=>1000,27521=>1000,27522=>1000,27523=>1000,27524=>1000,27525=>1000,27526=>1000,27527=>1000,27528=>1000,27529=>1000,27530=>1000,27531=>1000,27532=>1000,27533=>1000,27534=>1000,27535=>1000,27536=>1000,27537=>1000,27538=>1000,27539=>1000,27540=>1000,27541=>1000,27542=>1000,27543=>1000,27544=>1000,27545=>1000,27546=>1000,27547=>1000,27548=>1000,27549=>1000,27550=>1000,27551=>1000,27552=>1000,27553=>1000,27554=>1000,27555=>1000,27556=>1000,27557=>1000,27558=>1000,27559=>1000,27560=>1000,27561=>1000,27562=>1000,27563=>1000,27564=>1000,27565=>1000,27566=>1000,27567=>1000,27568=>1000,27569=>1000,27570=>1000,27571=>1000,27572=>1000,27573=>1000,27574=>1000,27575=>1000,27576=>1000,27577=>1000,27578=>1000,27579=>1000,27580=>1000,27581=>1000,27582=>1000,27583=>1000,27584=>1000,27585=>1000,27586=>1000,27587=>1000,27588=>1000,27589=>1000,27590=>1000,27591=>1000,27592=>1000,27593=>1000,27594=>1000,27595=>1000,27596=>1000,27597=>1000,27598=>1000,27599=>1000,27600=>1000,27601=>1000,27602=>1000,27603=>1000,27604=>1000,27605=>1000,27606=>1000,27607=>1000,27608=>1000,27609=>1000,27610=>1000,27611=>1000,27612=>1000,27613=>1000,27614=>1000,27615=>1000,27616=>1000,27617=>1000,27618=>1000,27619=>1000,27620=>1000,27621=>1000,27622=>1000,27623=>1000,27624=>1000,27625=>1000,27626=>1000,27627=>1000,27628=>1000,27629=>1000,27630=>1000,27631=>1000,27632=>1000,27633=>1000,27634=>1000,27635=>1000,27636=>1000,27637=>1000,27638=>1000,27639=>1000,27640=>1000,27641=>1000,27642=>1000,27643=>1000,27644=>1000,27645=>1000,27646=>1000,27647=>1000,27648=>1000,27649=>1000,27650=>1000,27651=>1000,27652=>1000,27653=>1000,27654=>1000,27655=>1000,27656=>1000,27657=>1000,27658=>1000,27659=>1000,27660=>1000,27661=>1000,27662=>1000,27663=>1000,27664=>1000,27665=>1000,27666=>1000,27667=>1000,27668=>1000,27669=>1000,27670=>1000,27671=>1000,27672=>1000,27673=>1000,27674=>1000,27675=>1000,27676=>1000,27677=>1000,27678=>1000,27679=>1000,27680=>1000,27681=>1000,27682=>1000,27683=>1000,27684=>1000,27685=>1000,27686=>1000,27687=>1000,27688=>1000,27689=>1000,27690=>1000,27691=>1000,27692=>1000,27693=>1000,27694=>1000,27695=>1000,27696=>1000,27697=>1000,27698=>1000,27699=>1000,27700=>1000,27701=>1000,27702=>1000,27703=>1000,27704=>1000,27705=>1000,27706=>1000,27707=>1000,27708=>1000,27709=>1000,27710=>1000,27711=>1000,27712=>1000,27713=>1000,27714=>1000,27715=>1000,27716=>1000,27717=>1000,27718=>1000,27719=>1000,27720=>1000,27721=>1000,27722=>1000,27723=>1000,27724=>1000,27725=>1000,27726=>1000,27727=>1000,27728=>1000,27729=>1000,27730=>1000,27731=>1000,27732=>1000,27733=>1000,27734=>1000,27735=>1000,27736=>1000,27737=>1000,27738=>1000,27739=>1000,27740=>1000,27741=>1000,27742=>1000,27743=>1000,27744=>1000,27745=>1000,27746=>1000,27747=>1000,27748=>1000,27749=>1000,27750=>1000,27751=>1000,27752=>1000,27753=>1000,27754=>1000,27755=>1000,27756=>1000,27757=>1000,27758=>1000,27759=>1000,27760=>1000,27761=>1000,27762=>1000,27763=>1000,27764=>1000,27765=>1000,27766=>1000,27767=>1000,27768=>1000,27769=>1000,27770=>1000,27771=>1000,27772=>1000,27773=>1000,27774=>1000,27775=>1000,27776=>1000,27777=>1000,27778=>1000,27779=>1000,27780=>1000,27781=>1000,27782=>1000,27783=>1000,27784=>1000,27785=>1000,27786=>1000,27787=>1000,27788=>1000,27789=>1000,27790=>1000,27791=>1000,27792=>1000,27793=>1000,27794=>1000,27795=>1000,27796=>1000,27797=>1000,27798=>1000,27799=>1000,27800=>1000,27801=>1000,27802=>1000,27803=>1000,27804=>1000,27805=>1000,27806=>1000,27807=>1000,27808=>1000,27809=>1000,27810=>1000,27811=>1000,27812=>1000,27813=>1000,27814=>1000,27815=>1000,27816=>1000,27817=>1000,27818=>1000,27819=>1000,27820=>1000,27821=>1000,27822=>1000,27823=>1000,27824=>1000,27825=>1000,27826=>1000,27827=>1000,27828=>1000,27829=>1000,27830=>1000,27831=>1000,27832=>1000,27833=>1000,27834=>1000,27835=>1000,27836=>1000,27837=>1000,27838=>1000,27839=>1000,27840=>1000,27841=>1000,27842=>1000,27843=>1000,27844=>1000,27845=>1000,27846=>1000,27847=>1000,27848=>1000,27849=>1000,27850=>1000,27851=>1000,27852=>1000,27853=>1000,27854=>1000,27855=>1000,27856=>1000,27857=>1000,27858=>1000,27859=>1000,27860=>1000,27861=>1000,27862=>1000,27863=>1000,27864=>1000,27865=>1000,27866=>1000,27867=>1000,27868=>1000,27869=>1000,27870=>1000,27871=>1000,27872=>1000,27873=>1000,27874=>1000,27875=>1000,27876=>1000,27877=>1000,27878=>1000,27879=>1000,27880=>1000,27881=>1000,27882=>1000,27883=>1000,27884=>1000,27885=>1000,27886=>1000,27887=>1000,27888=>1000,27889=>1000,27890=>1000,27891=>1000,27892=>1000,27893=>1000,27894=>1000,27895=>1000,27896=>1000,27897=>1000,27898=>1000,27899=>1000,27900=>1000,27901=>1000,27902=>1000,27903=>1000,27904=>1000,27905=>1000,27906=>1000,27907=>1000,27908=>1000,27909=>1000,27910=>1000,27911=>1000,27912=>1000,27913=>1000,27914=>1000,27915=>1000,27916=>1000,27917=>1000,27918=>1000,27919=>1000,27920=>1000,27921=>1000,27922=>1000,27923=>1000,27924=>1000,27925=>1000,27926=>1000,27927=>1000,27928=>1000,27929=>1000,27930=>1000,27931=>1000,27932=>1000,27933=>1000,27934=>1000,27935=>1000,27936=>1000,27937=>1000,27938=>1000,27939=>1000,27940=>1000,27941=>1000,27942=>1000,27943=>1000,27944=>1000,27945=>1000,27946=>1000,27947=>1000,27948=>1000,27949=>1000,27950=>1000,27951=>1000,27952=>1000,27953=>1000,27954=>1000,27955=>1000,27956=>1000,27957=>1000,27958=>1000,27959=>1000,27960=>1000,27961=>1000,27962=>1000,27963=>1000,27964=>1000,27965=>1000,27966=>1000,27967=>1000,27968=>1000,27969=>1000,27970=>1000,27971=>1000,27972=>1000,27973=>1000,27974=>1000,27975=>1000,27976=>1000,27977=>1000,27978=>1000,27979=>1000,27980=>1000,27981=>1000,27982=>1000,27983=>1000,27984=>1000,27985=>1000,27986=>1000,27987=>1000,27988=>1000,27989=>1000,27990=>1000,27991=>1000,27992=>1000,27993=>1000,27994=>1000,27995=>1000,27996=>1000,27997=>1000,27998=>1000,27999=>1000,28000=>1000,28001=>1000,28002=>1000,28003=>1000,28004=>1000,28005=>1000,28006=>1000,28007=>1000,28008=>1000,28009=>1000,28010=>1000,28011=>1000,28012=>1000,28013=>1000,28014=>1000,28015=>1000,28016=>1000,28017=>1000,28018=>1000,28019=>1000,28020=>1000,28021=>1000,28022=>1000,28023=>1000,28024=>1000,28025=>1000,28026=>1000,28027=>1000,28028=>1000,28029=>1000,28030=>1000,28031=>1000,28032=>1000,28033=>1000,28034=>1000,28035=>1000,28036=>1000,28037=>1000,28038=>1000,28039=>1000,28040=>1000,28041=>1000,28042=>1000,28043=>1000,28044=>1000,28045=>1000,28046=>1000,28047=>1000,28048=>1000,28049=>1000,28050=>1000,28051=>1000,28052=>1000,28053=>1000,28054=>1000,28055=>1000,28056=>1000,28057=>1000,28058=>1000,28059=>1000,28060=>1000,28061=>1000,28062=>1000,28063=>1000,28064=>1000,28065=>1000,28066=>1000,28067=>1000,28068=>1000,28069=>1000,28070=>1000,28071=>1000,28072=>1000,28073=>1000,28074=>1000,28075=>1000,28076=>1000,28077=>1000,28078=>1000,28079=>1000,28080=>1000,28081=>1000,28082=>1000,28083=>1000,28084=>1000,28085=>1000,28086=>1000,28087=>1000,28088=>1000,28089=>1000,28090=>1000,28091=>1000,28092=>1000,28093=>1000,28094=>1000,28095=>1000,28096=>1000,28097=>1000,28098=>1000,28099=>1000,28100=>1000,28101=>1000,28102=>1000,28103=>1000,28104=>1000,28105=>1000,28106=>1000,28107=>1000,28108=>1000,28109=>1000,28110=>1000,28111=>1000,28112=>1000,28113=>1000,28114=>1000,28115=>1000,28116=>1000,28117=>1000,28118=>1000,28119=>1000,28120=>1000,28121=>1000,28122=>1000,28123=>1000,28124=>1000,28125=>1000,28126=>1000,28127=>1000,28128=>1000,28129=>1000,28130=>1000,28131=>1000,28132=>1000,28133=>1000,28134=>1000,28135=>1000,28136=>1000,28137=>1000,28138=>1000,28139=>1000,28140=>1000,28141=>1000,28142=>1000,28143=>1000,28144=>1000,28145=>1000,28146=>1000,28147=>1000,28148=>1000,28149=>1000,28150=>1000,28151=>1000,28152=>1000,28153=>1000,28154=>1000,28155=>1000,28156=>1000,28157=>1000,28158=>1000,28159=>1000,28160=>1000,28161=>1000,28162=>1000,28163=>1000,28164=>1000,28165=>1000,28166=>1000,28167=>1000,28168=>1000,28169=>1000,28170=>1000,28171=>1000,28172=>1000,28173=>1000,28174=>1000,28175=>1000,28176=>1000,28177=>1000,28178=>1000,28179=>1000,28180=>1000,28181=>1000,28182=>1000,28183=>1000,28184=>1000,28185=>1000,28186=>1000,28187=>1000,28188=>1000,28189=>1000,28190=>1000,28191=>1000,28192=>1000,28193=>1000,28194=>1000,28195=>1000,28196=>1000,28197=>1000,28198=>1000,28199=>1000,28200=>1000,28201=>1000,28202=>1000,28203=>1000,28204=>1000,28205=>1000,28206=>1000,28207=>1000,28208=>1000,28209=>1000,28210=>1000,28211=>1000,28212=>1000,28213=>1000,28214=>1000,28215=>1000,28216=>1000,28217=>1000,28218=>1000,28219=>1000,28220=>1000,28221=>1000,28222=>1000,28223=>1000,28224=>1000,28225=>1000,28226=>1000,28227=>1000,28228=>1000,28229=>1000,28230=>1000,28231=>1000,28232=>1000,28233=>1000,28234=>1000,28235=>1000,28236=>1000,28237=>1000,28238=>1000,28239=>1000,28240=>1000,28241=>1000,28242=>1000,28243=>1000,28244=>1000,28245=>1000,28246=>1000,28247=>1000,28248=>1000,28249=>1000,28250=>1000,28251=>1000,28252=>1000,28253=>1000,28254=>1000,28255=>1000,28256=>1000,28257=>1000,28258=>1000,28259=>1000,28260=>1000,28261=>1000,28262=>1000,28263=>1000,28264=>1000,28265=>1000,28266=>1000,28267=>1000,28268=>1000,28269=>1000,28270=>1000,28271=>1000,28272=>1000,28273=>1000,28274=>1000,28275=>1000,28276=>1000,28277=>1000,28278=>1000,28279=>1000,28280=>1000,28281=>1000,28282=>1000,28283=>1000,28284=>1000,28285=>1000,28286=>1000,28287=>1000,28288=>1000,28289=>1000,28290=>1000,28291=>1000,28292=>1000,28293=>1000,28294=>1000,28295=>1000,28296=>1000,28297=>1000,28298=>1000,28299=>1000,28300=>1000,28301=>1000,28302=>1000,28303=>1000,28304=>1000,28305=>1000,28306=>1000,28307=>1000,28308=>1000,28309=>1000,28310=>1000,28311=>1000,28312=>1000,28313=>1000,28314=>1000,28315=>1000,28316=>1000,28317=>1000,28318=>1000,28319=>1000,28320=>1000,28321=>1000,28322=>1000,28323=>1000,28324=>1000,28325=>1000,28326=>1000,28327=>1000,28328=>1000,28329=>1000,28330=>1000,28331=>1000,28332=>1000,28333=>1000,28334=>1000,28335=>1000,28336=>1000,28337=>1000,28338=>1000,28339=>1000,28340=>1000,28341=>1000,28342=>1000,28343=>1000,28344=>1000,28345=>1000,28346=>1000,28347=>1000,28348=>1000,28349=>1000,28350=>1000,28351=>1000,28352=>1000,28353=>1000,28354=>1000,28355=>1000,28356=>1000,28357=>1000,28358=>1000,28359=>1000,28360=>1000,28361=>1000,28362=>1000,28363=>1000,28364=>1000,28365=>1000,28366=>1000,28367=>1000,28368=>1000,28369=>1000,28370=>1000,28371=>1000,28372=>1000,28373=>1000,28374=>1000,28375=>1000,28376=>1000,28377=>1000,28378=>1000,28379=>1000,28380=>1000,28381=>1000,28382=>1000,28383=>1000,28384=>1000,28385=>1000,28386=>1000,28387=>1000,28388=>1000,28389=>1000,28390=>1000,28391=>1000,28392=>1000,28393=>1000,28394=>1000,28395=>1000,28396=>1000,28397=>1000,28398=>1000,28399=>1000,28400=>1000,28401=>1000,28402=>1000,28403=>1000,28404=>1000,28405=>1000,28406=>1000,28407=>1000,28408=>1000,28409=>1000,28410=>1000,28411=>1000,28412=>1000,28413=>1000,28414=>1000,28415=>1000,28416=>1000,28417=>1000,28418=>1000,28419=>1000,28420=>1000,28421=>1000,28422=>1000,28423=>1000,28424=>1000,28425=>1000,28426=>1000,28427=>1000,28428=>1000,28429=>1000,28430=>1000,28431=>1000,28432=>1000,28433=>1000,28434=>1000,28435=>1000,28436=>1000,28437=>1000,28438=>1000,28439=>1000,28440=>1000,28441=>1000,28442=>1000,28443=>1000,28444=>1000,28445=>1000,28446=>1000,28447=>1000,28448=>1000,28449=>1000,28450=>1000,28451=>1000,28452=>1000,28453=>1000,28454=>1000,28455=>1000,28456=>1000,28457=>1000,28458=>1000,28459=>1000,28460=>1000,28461=>1000,28462=>1000,28463=>1000,28464=>1000,28465=>1000,28466=>1000,28467=>1000,28468=>1000,28469=>1000,28470=>1000,28471=>1000,28472=>1000,28473=>1000,28474=>1000,28475=>1000,28476=>1000,28477=>1000,28478=>1000,28479=>1000,28480=>1000,28481=>1000,28482=>1000,28483=>1000,28484=>1000,28485=>1000,28486=>1000,28487=>1000,28488=>1000,28489=>1000,28490=>1000,28491=>1000,28492=>1000,28493=>1000,28494=>1000,28495=>1000,28496=>1000,28497=>1000,28498=>1000,28499=>1000,28500=>1000,28501=>1000,28502=>1000,28503=>1000,28504=>1000,28505=>1000,28506=>1000,28507=>1000,28508=>1000,28509=>1000,28510=>1000,28511=>1000,28512=>1000,28513=>1000,28514=>1000,28515=>1000,28516=>1000,28517=>1000,28518=>1000,28519=>1000,28520=>1000,28521=>1000,28522=>1000,28523=>1000,28524=>1000,28525=>1000,28526=>1000,28527=>1000,28528=>1000,28529=>1000,28530=>1000,28531=>1000,28532=>1000,28533=>1000,28534=>1000,28535=>1000,28536=>1000,28537=>1000,28538=>1000,28539=>1000,28540=>1000,28541=>1000,28542=>1000,28543=>1000,28544=>1000,28545=>1000,28546=>1000,28547=>1000,28548=>1000,28549=>1000,28550=>1000,28551=>1000,28552=>1000,28553=>1000,28554=>1000,28555=>1000,28556=>1000,28557=>1000,28558=>1000,28559=>1000,28560=>1000,28561=>1000,28562=>1000,28563=>1000,28564=>1000,28565=>1000,28566=>1000,28567=>1000,28568=>1000,28569=>1000,28570=>1000,28571=>1000,28572=>1000,28573=>1000,28574=>1000,28575=>1000,28576=>1000,28577=>1000,28578=>1000,28579=>1000,28580=>1000,28581=>1000,28582=>1000,28583=>1000,28584=>1000,28585=>1000,28586=>1000,28587=>1000,28588=>1000,28589=>1000,28590=>1000,28591=>1000,28592=>1000,28593=>1000,28594=>1000,28595=>1000,28596=>1000,28597=>1000,28598=>1000,28599=>1000,28600=>1000,28601=>1000,28602=>1000,28603=>1000,28604=>1000,28605=>1000,28606=>1000,28607=>1000,28608=>1000,28609=>1000,28610=>1000,28611=>1000,28612=>1000,28613=>1000,28614=>1000,28615=>1000,28616=>1000,28617=>1000,28618=>1000,28619=>1000,28620=>1000,28621=>1000,28622=>1000,28623=>1000,28624=>1000,28625=>1000,28626=>1000,28627=>1000,28628=>1000,28629=>1000,28630=>1000,28631=>1000,28632=>1000,28633=>1000,28634=>1000,28635=>1000,28636=>1000,28637=>1000,28638=>1000,28639=>1000,28640=>1000,28641=>1000,28642=>1000,28643=>1000,28644=>1000,28645=>1000,28646=>1000,28647=>1000,28648=>1000,28649=>1000,28650=>1000,28651=>1000,28652=>1000,28653=>1000,28654=>1000,28655=>1000,28656=>1000,28657=>1000,28658=>1000,28659=>1000,28660=>1000,28661=>1000,28662=>1000,28663=>1000,28664=>1000,28665=>1000,28666=>1000,28667=>1000,28668=>1000,28669=>1000,28670=>1000,28671=>1000,28672=>1000,28673=>1000,28674=>1000,28675=>1000,28676=>1000,28677=>1000,28678=>1000,28679=>1000,28680=>1000,28681=>1000,28682=>1000,28683=>1000,28684=>1000,28685=>1000,28686=>1000,28687=>1000,28688=>1000,28689=>1000,28690=>1000,28691=>1000,28692=>1000,28693=>1000,28694=>1000,28695=>1000,28696=>1000,28697=>1000,28698=>1000,28699=>1000,28700=>1000,28701=>1000,28702=>1000,28703=>1000,28704=>1000,28705=>1000,28706=>1000,28707=>1000,28708=>1000,28709=>1000,28710=>1000,28711=>1000,28712=>1000,28713=>1000,28714=>1000,28715=>1000,28716=>1000,28717=>1000,28718=>1000,28719=>1000,28720=>1000,28721=>1000,28722=>1000,28723=>1000,28724=>1000,28725=>1000,28726=>1000,28727=>1000,28728=>1000,28729=>1000,28730=>1000,28731=>1000,28732=>1000,28733=>1000,28734=>1000,28735=>1000,28736=>1000,28737=>1000,28738=>1000,28739=>1000,28740=>1000,28741=>1000,28742=>1000,28743=>1000,28744=>1000,28745=>1000,28746=>1000,28747=>1000,28748=>1000,28749=>1000,28750=>1000,28751=>1000,28752=>1000,28753=>1000,28754=>1000,28755=>1000,28756=>1000,28757=>1000,28758=>1000,28759=>1000,28760=>1000,28761=>1000,28762=>1000,28763=>1000,28764=>1000,28765=>1000,28766=>1000,28767=>1000,28768=>1000,28769=>1000,28770=>1000,28771=>1000,28772=>1000,28773=>1000,28774=>1000,28775=>1000,28776=>1000,28777=>1000,28778=>1000,28779=>1000,28780=>1000,28781=>1000,28782=>1000,28783=>1000,28784=>1000,28785=>1000,28786=>1000,28787=>1000,28788=>1000,28789=>1000,28790=>1000,28791=>1000,28792=>1000,28793=>1000,28794=>1000,28795=>1000,28796=>1000,28797=>1000,28798=>1000,28799=>1000,28800=>1000,28801=>1000,28802=>1000,28803=>1000,28804=>1000,28805=>1000,28806=>1000,28807=>1000,28808=>1000,28809=>1000,28810=>1000,28811=>1000,28812=>1000,28813=>1000,28814=>1000,28815=>1000,28816=>1000,28817=>1000,28818=>1000,28819=>1000,28820=>1000,28821=>1000,28822=>1000,28823=>1000,28824=>1000,28825=>1000,28826=>1000,28827=>1000,28828=>1000,28829=>1000,28830=>1000,28831=>1000,28832=>1000,28833=>1000,28834=>1000,28835=>1000,28836=>1000,28837=>1000,28838=>1000,28839=>1000,28840=>1000,28841=>1000,28842=>1000,28843=>1000,28844=>1000,28845=>1000,28846=>1000,28847=>1000,28848=>1000,28849=>1000,28850=>1000,28851=>1000,28852=>1000,28853=>1000,28854=>1000,28855=>1000,28856=>1000,28857=>1000,28858=>1000,28859=>1000,28860=>1000,28861=>1000,28862=>1000,28863=>1000,28864=>1000,28865=>1000,28866=>1000,28867=>1000,28868=>1000,28869=>1000,28870=>1000,28871=>1000,28872=>1000,28873=>1000,28874=>1000,28875=>1000,28876=>1000,28877=>1000,28878=>1000,28879=>1000,28880=>1000,28881=>1000,28882=>1000,28883=>1000,28884=>1000,28885=>1000,28886=>1000,28887=>1000,28888=>1000,28889=>1000,28890=>1000,28891=>1000,28892=>1000,28893=>1000,28894=>1000,28895=>1000,28896=>1000,28897=>1000,28898=>1000,28899=>1000,28900=>1000,28901=>1000,28902=>1000,28903=>1000,28904=>1000,28905=>1000,28906=>1000,28907=>1000,28908=>1000,28909=>1000,28910=>1000,28911=>1000,28912=>1000,28913=>1000,28914=>1000,28915=>1000,28916=>1000,28917=>1000,28918=>1000,28919=>1000,28920=>1000,28921=>1000,28922=>1000,28923=>1000,28924=>1000,28925=>1000,28926=>1000,28927=>1000,28928=>1000,28929=>1000,28930=>1000,28931=>1000,28932=>1000,28933=>1000,28934=>1000,28935=>1000,28936=>1000,28937=>1000,28938=>1000,28939=>1000,28940=>1000,28941=>1000,28942=>1000,28943=>1000,28944=>1000,28945=>1000,28946=>1000,28947=>1000,28948=>1000,28949=>1000,28950=>1000,28951=>1000,28952=>1000,28953=>1000,28954=>1000,28955=>1000,28956=>1000,28957=>1000,28958=>1000,28959=>1000,28960=>1000,28961=>1000,28962=>1000,28963=>1000,28964=>1000,28965=>1000,28966=>1000,28967=>1000,28968=>1000,28969=>1000,28970=>1000,28971=>1000,28972=>1000,28973=>1000,28974=>1000,28975=>1000,28976=>1000,28977=>1000,28978=>1000,28979=>1000,28980=>1000,28981=>1000,28982=>1000,28983=>1000,28984=>1000,28985=>1000,28986=>1000,28987=>1000,28988=>1000,28989=>1000,28990=>1000,28991=>1000,28992=>1000,28993=>1000,28994=>1000,28995=>1000,28996=>1000,28997=>1000,28998=>1000,28999=>1000,29000=>1000,29001=>1000,29002=>1000,29003=>1000,29004=>1000,29005=>1000,29006=>1000,29007=>1000,29008=>1000,29009=>1000,29010=>1000,29011=>1000,29012=>1000,29013=>1000,29014=>1000,29015=>1000,29016=>1000,29017=>1000,29018=>1000,29019=>1000,29020=>1000,29021=>1000,29022=>1000,29023=>1000,29024=>1000,29025=>1000,29026=>1000,29027=>1000,29028=>1000,29029=>1000,29030=>1000,29031=>1000,29032=>1000,29033=>1000,29034=>1000,29035=>1000,29036=>1000,29037=>1000,29038=>1000,29039=>1000,29040=>1000,29041=>1000,29042=>1000,29043=>1000,29044=>1000,29045=>1000,29046=>1000,29047=>1000,29048=>1000,29049=>1000,29050=>1000,29051=>1000,29052=>1000,29053=>1000,29054=>1000,29055=>1000,29056=>1000,29057=>1000,29058=>1000,29059=>1000,29060=>1000,29061=>1000,29062=>1000,29063=>1000,29064=>1000,29065=>1000,29066=>1000,29067=>1000,29068=>1000,29069=>1000,29070=>1000,29071=>1000,29072=>1000,29073=>1000,29074=>1000,29075=>1000,29076=>1000,29077=>1000,29078=>1000,29079=>1000,29080=>1000,29081=>1000,29082=>1000,29083=>1000,29084=>1000,29085=>1000,29086=>1000,29087=>1000,29088=>1000,29089=>1000,29090=>1000,29091=>1000,29092=>1000,29093=>1000,29094=>1000,29095=>1000,29096=>1000,29097=>1000,29098=>1000,29099=>1000,29100=>1000,29101=>1000,29102=>1000,29103=>1000,29104=>1000,29105=>1000,29106=>1000,29107=>1000,29108=>1000,29109=>1000,29110=>1000,29111=>1000,29112=>1000,29113=>1000,29114=>1000,29115=>1000,29116=>1000,29117=>1000,29118=>1000,29119=>1000,29120=>1000,29121=>1000,29122=>1000,29123=>1000,29124=>1000,29125=>1000,29126=>1000,29127=>1000,29128=>1000,29129=>1000,29130=>1000,29131=>1000,29132=>1000,29133=>1000,29134=>1000,29135=>1000,29136=>1000,29137=>1000,29138=>1000,29139=>1000,29140=>1000,29141=>1000,29142=>1000,29143=>1000,29144=>1000,29145=>1000,29146=>1000,29147=>1000,29148=>1000,29149=>1000,29150=>1000,29151=>1000,29152=>1000,29153=>1000,29154=>1000,29155=>1000,29156=>1000,29157=>1000,29158=>1000,29159=>1000,29160=>1000,29161=>1000,29162=>1000,29163=>1000,29164=>1000,29165=>1000,29166=>1000,29167=>1000,29168=>1000,29169=>1000,29170=>1000,29171=>1000,29172=>1000,29173=>1000,29174=>1000,29175=>1000,29176=>1000,29177=>1000,29178=>1000,29179=>1000,29180=>1000,29181=>1000,29182=>1000,29183=>1000,29184=>1000,29185=>1000,29186=>1000,29187=>1000,29188=>1000,29189=>1000,29190=>1000,29191=>1000,29192=>1000,29193=>1000,29194=>1000,29195=>1000,29196=>1000,29197=>1000,29198=>1000,29199=>1000,29200=>1000,29201=>1000,29202=>1000,29203=>1000,29204=>1000,29205=>1000,29206=>1000,29207=>1000,29208=>1000,29209=>1000,29210=>1000,29211=>1000,29212=>1000,29213=>1000,29214=>1000,29215=>1000,29216=>1000,29217=>1000,29218=>1000,29219=>1000,29220=>1000,29221=>1000,29222=>1000,29223=>1000,29224=>1000,29225=>1000,29226=>1000,29227=>1000,29228=>1000,29229=>1000,29230=>1000,29231=>1000,29232=>1000,29233=>1000,29234=>1000,29235=>1000,29236=>1000,29237=>1000,29238=>1000,29239=>1000,29240=>1000,29241=>1000,29242=>1000,29243=>1000,29244=>1000,29245=>1000,29246=>1000,29247=>1000,29248=>1000,29249=>1000,29250=>1000,29251=>1000,29252=>1000,29253=>1000,29254=>1000,29255=>1000,29256=>1000,29257=>1000,29258=>1000,29259=>1000,29260=>1000,29261=>1000,29262=>1000,29263=>1000,29264=>1000,29265=>1000,29266=>1000,29267=>1000,29268=>1000,29269=>1000,29270=>1000,29271=>1000,29272=>1000,29273=>1000,29274=>1000,29275=>1000,29276=>1000,29277=>1000,29278=>1000,29279=>1000,29280=>1000,29281=>1000,29282=>1000,29283=>1000,29284=>1000,29285=>1000,29286=>1000,29287=>1000,29288=>1000,29289=>1000,29290=>1000,29291=>1000,29292=>1000,29293=>1000,29294=>1000,29295=>1000,29296=>1000,29297=>1000,29298=>1000,29299=>1000,29300=>1000,29301=>1000,29302=>1000,29303=>1000,29304=>1000,29305=>1000,29306=>1000,29307=>1000,29308=>1000,29309=>1000,29310=>1000,29311=>1000,29312=>1000,29313=>1000,29314=>1000,29315=>1000,29316=>1000,29317=>1000,29318=>1000,29319=>1000,29320=>1000,29321=>1000,29322=>1000,29323=>1000,29324=>1000,29325=>1000,29326=>1000,29327=>1000,29328=>1000,29329=>1000,29330=>1000,29331=>1000,29332=>1000,29333=>1000,29334=>1000,29335=>1000,29336=>1000,29337=>1000,29338=>1000,29339=>1000,29340=>1000,29341=>1000,29342=>1000,29343=>1000,29344=>1000,29345=>1000,29346=>1000,29347=>1000,29348=>1000,29349=>1000,29350=>1000,29351=>1000,29352=>1000,29353=>1000,29354=>1000,29355=>1000,29356=>1000,29357=>1000,29358=>1000,29359=>1000,29360=>1000,29361=>1000,29362=>1000,29363=>1000,29364=>1000,29365=>1000,29366=>1000,29367=>1000,29368=>1000,29369=>1000,29370=>1000,29371=>1000,29372=>1000,29373=>1000,29374=>1000,29375=>1000,29376=>1000,29377=>1000,29378=>1000,29379=>1000,29380=>1000,29381=>1000,29382=>1000,29383=>1000,29384=>1000,29385=>1000,29386=>1000,29387=>1000,29388=>1000,29389=>1000,29390=>1000,29391=>1000,29392=>1000,29393=>1000,29394=>1000,29395=>1000,29396=>1000,29397=>1000,29398=>1000,29399=>1000,29400=>1000,29401=>1000,29402=>1000,29403=>1000,29404=>1000,29405=>1000,29406=>1000,29407=>1000,29408=>1000,29409=>1000,29410=>1000,29411=>1000,29412=>1000,29413=>1000,29414=>1000,29415=>1000,29416=>1000,29417=>1000,29418=>1000,29419=>1000,29420=>1000,29421=>1000,29422=>1000,29423=>1000,29424=>1000,29425=>1000,29426=>1000,29427=>1000,29428=>1000,29429=>1000,29430=>1000,29431=>1000,29432=>1000,29433=>1000,29434=>1000,29435=>1000,29436=>1000,29437=>1000,29438=>1000,29439=>1000,29440=>1000,29441=>1000,29442=>1000,29443=>1000,29444=>1000,29445=>1000,29446=>1000,29447=>1000,29448=>1000,29449=>1000,29450=>1000,29451=>1000,29452=>1000,29453=>1000,29454=>1000,29455=>1000,29456=>1000,29457=>1000,29458=>1000,29459=>1000,29460=>1000,29461=>1000,29462=>1000,29463=>1000,29464=>1000,29465=>1000,29466=>1000,29467=>1000,29468=>1000,29469=>1000,29470=>1000,29471=>1000,29472=>1000,29473=>1000,29474=>1000,29475=>1000,29476=>1000,29477=>1000,29478=>1000,29479=>1000,29480=>1000,29481=>1000,29482=>1000,29483=>1000,29484=>1000,29485=>1000,29486=>1000,29487=>1000,29488=>1000,29489=>1000,29490=>1000,29491=>1000,29492=>1000,29493=>1000,29494=>1000,29495=>1000,29496=>1000,29497=>1000,29498=>1000,29499=>1000,29500=>1000,29501=>1000,29502=>1000,29503=>1000,29504=>1000,29505=>1000,29506=>1000,29507=>1000,29508=>1000,29509=>1000,29510=>1000,29511=>1000,29512=>1000,29513=>1000,29514=>1000,29515=>1000,29516=>1000,29517=>1000,29518=>1000,29519=>1000,29520=>1000,29521=>1000,29522=>1000,29523=>1000,29524=>1000,29525=>1000,29526=>1000,29527=>1000,29528=>1000,29529=>1000,29530=>1000,29531=>1000,29532=>1000,29533=>1000,29534=>1000,29535=>1000,29536=>1000,29537=>1000,29538=>1000,29539=>1000,29540=>1000,29541=>1000,29542=>1000,29543=>1000,29544=>1000,29545=>1000,29546=>1000,29547=>1000,29548=>1000,29549=>1000,29550=>1000,29551=>1000,29552=>1000,29553=>1000,29554=>1000,29555=>1000,29556=>1000,29557=>1000,29558=>1000,29559=>1000,29560=>1000,29561=>1000,29562=>1000,29563=>1000,29564=>1000,29565=>1000,29566=>1000,29567=>1000,29568=>1000,29569=>1000,29570=>1000,29571=>1000,29572=>1000,29573=>1000,29574=>1000,29575=>1000,29576=>1000,29577=>1000,29578=>1000,29579=>1000,29580=>1000,29581=>1000,29582=>1000,29583=>1000,29584=>1000,29585=>1000,29586=>1000,29587=>1000,29588=>1000,29589=>1000,29590=>1000,29591=>1000,29592=>1000,29593=>1000,29594=>1000,29595=>1000,29596=>1000,29597=>1000,29598=>1000,29599=>1000,29600=>1000,29601=>1000,29602=>1000,29603=>1000,29604=>1000,29605=>1000,29606=>1000,29607=>1000,29608=>1000,29609=>1000,29610=>1000,29611=>1000,29612=>1000,29613=>1000,29614=>1000,29615=>1000,29616=>1000,29617=>1000,29618=>1000,29619=>1000,29620=>1000,29621=>1000,29622=>1000,29623=>1000,29624=>1000,29625=>1000,29626=>1000,29627=>1000,29628=>1000,29629=>1000,29630=>1000,29631=>1000,29632=>1000,29633=>1000,29634=>1000,29635=>1000,29636=>1000,29637=>1000,29638=>1000,29639=>1000,29640=>1000,29641=>1000,29642=>1000,29643=>1000,29644=>1000,29645=>1000,29646=>1000,29647=>1000,29648=>1000,29649=>1000,29650=>1000,29651=>1000,29652=>1000,29653=>1000,29654=>1000,29655=>1000,29656=>1000,29657=>1000,29658=>1000,29659=>1000,29660=>1000,29661=>1000,29662=>1000,29663=>1000,29664=>1000,29665=>1000,29666=>1000,29667=>1000,29668=>1000,29669=>1000,29670=>1000,29671=>1000,29672=>1000,29673=>1000,29674=>1000,29675=>1000,29676=>1000,29677=>1000,29678=>1000,29679=>1000,29680=>1000,29681=>1000,29682=>1000,29683=>1000,29684=>1000,29685=>1000,29686=>1000,29687=>1000,29688=>1000,29689=>1000,29690=>1000,29691=>1000,29692=>1000,29693=>1000,29694=>1000,29695=>1000,29696=>1000,29697=>1000,29698=>1000,29699=>1000,29700=>1000,29701=>1000,29702=>1000,29703=>1000,29704=>1000,29705=>1000,29706=>1000,29707=>1000,29708=>1000,29709=>1000,29710=>1000,29711=>1000,29712=>1000,29713=>1000,29714=>1000,29715=>1000,29716=>1000,29717=>1000,29718=>1000,29719=>1000,29720=>1000,29721=>1000,29722=>1000,29723=>1000,29724=>1000,29725=>1000,29726=>1000,29727=>1000,29728=>1000,29729=>1000,29730=>1000,29731=>1000,29732=>1000,29733=>1000,29734=>1000,29735=>1000,29736=>1000,29737=>1000,29738=>1000,29739=>1000,29740=>1000,29741=>1000,29742=>1000,29743=>1000,29744=>1000,29745=>1000,29746=>1000,29747=>1000,29748=>1000,29749=>1000,29750=>1000,29751=>1000,29752=>1000,29753=>1000,29754=>1000,29755=>1000,29756=>1000,29757=>1000,29758=>1000,29759=>1000,29760=>1000,29761=>1000,29762=>1000,29763=>1000,29764=>1000,29765=>1000,29766=>1000,29767=>1000,29768=>1000,29769=>1000,29770=>1000,29771=>1000,29772=>1000,29773=>1000,29774=>1000,29775=>1000,29776=>1000,29777=>1000,29778=>1000,29779=>1000,29780=>1000,29781=>1000,29782=>1000,29783=>1000,29784=>1000,29785=>1000,29786=>1000,29787=>1000,29788=>1000,29789=>1000,29790=>1000,29791=>1000,29792=>1000,29793=>1000,29794=>1000,29795=>1000,29796=>1000,29797=>1000,29798=>1000,29799=>1000,29800=>1000,29801=>1000,29802=>1000,29803=>1000,29804=>1000,29805=>1000,29806=>1000,29807=>1000,29808=>1000,29809=>1000,29810=>1000,29811=>1000,29812=>1000,29813=>1000,29814=>1000,29815=>1000,29816=>1000,29817=>1000,29818=>1000,29819=>1000,29820=>1000,29821=>1000,29822=>1000,29823=>1000,29824=>1000,29825=>1000,29826=>1000,29827=>1000,29828=>1000,29829=>1000,29830=>1000,29831=>1000,29832=>1000,29833=>1000,29834=>1000,29835=>1000,29836=>1000,29837=>1000,29838=>1000,29839=>1000,29840=>1000,29841=>1000,29842=>1000,29843=>1000,29844=>1000,29845=>1000,29846=>1000,29847=>1000,29848=>1000,29849=>1000,29850=>1000,29851=>1000,29852=>1000,29853=>1000,29854=>1000,29855=>1000,29856=>1000,29857=>1000,29858=>1000,29859=>1000,29860=>1000,29861=>1000,29862=>1000,29863=>1000,29864=>1000,29865=>1000,29866=>1000,29867=>1000,29868=>1000,29869=>1000,29870=>1000,29871=>1000,29872=>1000,29873=>1000,29874=>1000,29875=>1000,29876=>1000,29877=>1000,29878=>1000,29879=>1000,29880=>1000,29881=>1000,29882=>1000,29883=>1000,29884=>1000,29885=>1000,29886=>1000,29887=>1000,29888=>1000,29889=>1000,29890=>1000,29891=>1000,29892=>1000,29893=>1000,29894=>1000,29895=>1000,29896=>1000,29897=>1000,29898=>1000,29899=>1000,29900=>1000,29901=>1000,29902=>1000,29903=>1000,29904=>1000,29905=>1000,29906=>1000,29907=>1000,29908=>1000,29909=>1000,29910=>1000,29911=>1000,29912=>1000,29913=>1000,29914=>1000,29915=>1000,29916=>1000,29917=>1000,29918=>1000,29919=>1000,29920=>1000,29921=>1000,29922=>1000,29923=>1000,29924=>1000,29925=>1000,29926=>1000,29927=>1000,29928=>1000,29929=>1000,29930=>1000,29931=>1000,29932=>1000,29933=>1000,29934=>1000,29935=>1000,29936=>1000,29937=>1000,29938=>1000,29939=>1000,29940=>1000,29941=>1000,29942=>1000,29943=>1000,29944=>1000,29945=>1000,29946=>1000,29947=>1000,29948=>1000,29949=>1000,29950=>1000,29951=>1000,29952=>1000,29953=>1000,29954=>1000,29955=>1000,29956=>1000,29957=>1000,29958=>1000,29959=>1000,29960=>1000,29961=>1000,29962=>1000,29963=>1000,29964=>1000,29965=>1000,29966=>1000,29967=>1000,29968=>1000,29969=>1000,29970=>1000,29971=>1000,29972=>1000,29973=>1000,29974=>1000,29975=>1000,29976=>1000,29977=>1000,29978=>1000,29979=>1000,29980=>1000,29981=>1000,29982=>1000,29983=>1000,29984=>1000,29985=>1000,29986=>1000,29987=>1000,29988=>1000,29989=>1000,29990=>1000,29991=>1000,29992=>1000,29993=>1000,29994=>1000,29995=>1000,29996=>1000,29997=>1000,29998=>1000,29999=>1000,30000=>1000,30001=>1000,30002=>1000,30003=>1000,30004=>1000,30005=>1000,30006=>1000,30007=>1000,30008=>1000,30009=>1000,30010=>1000,30011=>1000,30012=>1000,30013=>1000,30014=>1000,30015=>1000,30016=>1000,30017=>1000,30018=>1000,30019=>1000,30020=>1000,30021=>1000,30022=>1000,30023=>1000,30024=>1000,30025=>1000,30026=>1000,30027=>1000,30028=>1000,30029=>1000,30030=>1000,30031=>1000,30032=>1000,30033=>1000,30034=>1000,30035=>1000,30036=>1000,30037=>1000,30038=>1000,30039=>1000,30040=>1000,30041=>1000,30042=>1000,30043=>1000,30044=>1000,30045=>1000,30046=>1000,30047=>1000,30048=>1000,30049=>1000,30050=>1000,30051=>1000,30052=>1000,30053=>1000,30054=>1000,30055=>1000,30056=>1000,30057=>1000,30058=>1000,30059=>1000,30060=>1000,30061=>1000,30062=>1000,30063=>1000,30064=>1000,30065=>1000,30066=>1000,30067=>1000,30068=>1000,30069=>1000,30070=>1000,30071=>1000,30072=>1000,30073=>1000,30074=>1000,30075=>1000,30076=>1000,30077=>1000,30078=>1000,30079=>1000,30080=>1000,30081=>1000,30082=>1000,30083=>1000,30084=>1000,30085=>1000,30086=>1000,30087=>1000,30088=>1000,30089=>1000,30090=>1000,30091=>1000,30092=>1000,30093=>1000,30094=>1000,30095=>1000,30096=>1000,30097=>1000,30098=>1000,30099=>1000,30100=>1000,30101=>1000,30102=>1000,30103=>1000,30104=>1000,30105=>1000,30106=>1000,30107=>1000,30108=>1000,30109=>1000,30110=>1000,30111=>1000,30112=>1000,30113=>1000,30114=>1000,30115=>1000,30116=>1000,30117=>1000,30118=>1000,30119=>1000,30120=>1000,30121=>1000,30122=>1000,30123=>1000,30124=>1000,30125=>1000,30126=>1000,30127=>1000,30128=>1000,30129=>1000,30130=>1000,30131=>1000,30132=>1000,30133=>1000,30134=>1000,30135=>1000,30136=>1000,30137=>1000,30138=>1000,30139=>1000,30140=>1000,30141=>1000,30142=>1000,30143=>1000,30144=>1000,30145=>1000,30146=>1000,30147=>1000,30148=>1000,30149=>1000,30150=>1000,30151=>1000,30152=>1000,30153=>1000,30154=>1000,30155=>1000,30156=>1000,30157=>1000,30158=>1000,30159=>1000,30160=>1000,30161=>1000,30162=>1000,30163=>1000,30164=>1000,30165=>1000,30166=>1000,30167=>1000,30168=>1000,30169=>1000,30170=>1000,30171=>1000,30172=>1000,30173=>1000,30174=>1000,30175=>1000,30176=>1000,30177=>1000,30178=>1000,30179=>1000,30180=>1000,30181=>1000,30182=>1000,30183=>1000,30184=>1000,30185=>1000,30186=>1000,30187=>1000,30188=>1000,30189=>1000,30190=>1000,30191=>1000,30192=>1000,30193=>1000,30194=>1000,30195=>1000,30196=>1000,30197=>1000,30198=>1000,30199=>1000,30200=>1000,30201=>1000,30202=>1000,30203=>1000,30204=>1000,30205=>1000,30206=>1000,30207=>1000,30208=>1000,30209=>1000,30210=>1000,30211=>1000,30212=>1000,30213=>1000,30214=>1000,30215=>1000,30216=>1000,30217=>1000,30218=>1000,30219=>1000,30220=>1000,30221=>1000,30222=>1000,30223=>1000,30224=>1000,30225=>1000,30226=>1000,30227=>1000,30228=>1000,30229=>1000,30230=>1000,30231=>1000,30232=>1000,30233=>1000,30234=>1000,30235=>1000,30236=>1000,30237=>1000,30238=>1000,30239=>1000,30240=>1000,30241=>1000,30242=>1000,30243=>1000,30244=>1000,30245=>1000,30246=>1000,30247=>1000,30248=>1000,30249=>1000,30250=>1000,30251=>1000,30252=>1000,30253=>1000,30254=>1000,30255=>1000,30256=>1000,30257=>1000,30258=>1000,30259=>1000,30260=>1000,30261=>1000,30262=>1000,30263=>1000,30264=>1000,30265=>1000,30266=>1000,30267=>1000,30268=>1000,30269=>1000,30270=>1000,30271=>1000,30272=>1000,30273=>1000,30274=>1000,30275=>1000,30276=>1000,30277=>1000,30278=>1000,30279=>1000,30280=>1000,30281=>1000,30282=>1000,30283=>1000,30284=>1000,30285=>1000,30286=>1000,30287=>1000,30288=>1000,30289=>1000,30290=>1000,30291=>1000,30292=>1000,30293=>1000,30294=>1000,30295=>1000,30296=>1000,30297=>1000,30298=>1000,30299=>1000,30300=>1000,30301=>1000,30302=>1000,30303=>1000,30304=>1000,30305=>1000,30306=>1000,30307=>1000,30308=>1000,30309=>1000,30310=>1000,30311=>1000,30312=>1000,30313=>1000,30314=>1000,30315=>1000,30316=>1000,30317=>1000,30318=>1000,30319=>1000,30320=>1000,30321=>1000,30322=>1000,30323=>1000,30324=>1000,30325=>1000,30326=>1000,30327=>1000,30328=>1000,30329=>1000,30330=>1000,30331=>1000,30332=>1000,30333=>1000,30334=>1000,30335=>1000,30336=>1000,30337=>1000,30338=>1000,30339=>1000,30340=>1000,30341=>1000,30342=>1000,30343=>1000,30344=>1000,30345=>1000,30346=>1000,30347=>1000,30348=>1000,30349=>1000,30350=>1000,30351=>1000,30352=>1000,30353=>1000,30354=>1000,30355=>1000,30356=>1000,30357=>1000,30358=>1000,30359=>1000,30360=>1000,30361=>1000,30362=>1000,30363=>1000,30364=>1000,30365=>1000,30366=>1000,30367=>1000,30368=>1000,30369=>1000,30370=>1000,30371=>1000,30372=>1000,30373=>1000,30374=>1000,30375=>1000,30376=>1000,30377=>1000,30378=>1000,30379=>1000,30380=>1000,30381=>1000,30382=>1000,30383=>1000,30384=>1000,30385=>1000,30386=>1000,30387=>1000,30388=>1000,30389=>1000,30390=>1000,30391=>1000,30392=>1000,30393=>1000,30394=>1000,30395=>1000,30396=>1000,30397=>1000,30398=>1000,30399=>1000,30400=>1000,30401=>1000,30402=>1000,30403=>1000,30404=>1000,30405=>1000,30406=>1000,30407=>1000,30408=>1000,30409=>1000,30410=>1000,30411=>1000,30412=>1000,30413=>1000,30414=>1000,30415=>1000,30416=>1000,30417=>1000,30418=>1000,30419=>1000,30420=>1000,30421=>1000,30422=>1000,30423=>1000,30424=>1000,30425=>1000,30426=>1000,30427=>1000,30428=>1000,30429=>1000,30430=>1000,30431=>1000,30432=>1000,30433=>1000,30434=>1000,30435=>1000,30436=>1000,30437=>1000,30438=>1000,30439=>1000,30440=>1000,30441=>1000,30442=>1000,30443=>1000,30444=>1000,30445=>1000,30446=>1000,30447=>1000,30448=>1000,30449=>1000,30450=>1000,30451=>1000,30452=>1000,30453=>1000,30454=>1000,30455=>1000,30456=>1000,30457=>1000,30458=>1000,30459=>1000,30460=>1000,30461=>1000,30462=>1000,30463=>1000,30464=>1000,30465=>1000,30466=>1000,30467=>1000,30468=>1000,30469=>1000,30470=>1000,30471=>1000,30472=>1000,30473=>1000,30474=>1000,30475=>1000,30476=>1000,30477=>1000,30478=>1000,30479=>1000,30480=>1000,30481=>1000,30482=>1000,30483=>1000,30484=>1000,30485=>1000,30486=>1000,30487=>1000,30488=>1000,30489=>1000,30490=>1000,30491=>1000,30492=>1000,30493=>1000,30494=>1000,30495=>1000,30496=>1000,30497=>1000,30498=>1000,30499=>1000,30500=>1000,30501=>1000,30502=>1000,30503=>1000,30504=>1000,30505=>1000,30506=>1000,30507=>1000,30508=>1000,30509=>1000,30510=>1000,30511=>1000,30512=>1000,30513=>1000,30514=>1000,30515=>1000,30516=>1000,30517=>1000,30518=>1000,30519=>1000,30520=>1000,30521=>1000,30522=>1000,30523=>1000,30524=>1000,30525=>1000,30526=>1000,30527=>1000,30528=>1000,30529=>1000,30530=>1000,30531=>1000,30532=>1000,30533=>1000,30534=>1000,30535=>1000,30536=>1000,30537=>1000,30538=>1000,30539=>1000,30540=>1000,30541=>1000,30542=>1000,30543=>1000,30544=>1000,30545=>1000,30546=>1000,30547=>1000,30548=>1000,30549=>1000,30550=>1000,30551=>1000,30552=>1000,30553=>1000,30554=>1000,30555=>1000,30556=>1000,30557=>1000,30558=>1000,30559=>1000,30560=>1000,30561=>1000,30562=>1000,30563=>1000,30564=>1000,30565=>1000,30566=>1000,30567=>1000,30568=>1000,30569=>1000,30570=>1000,30571=>1000,30572=>1000,30573=>1000,30574=>1000,30575=>1000,30576=>1000,30577=>1000,30578=>1000,30579=>1000,30580=>1000,30581=>1000,30582=>1000,30583=>1000,30584=>1000,30585=>1000,30586=>1000,30587=>1000,30588=>1000,30589=>1000,30590=>1000,30591=>1000,30592=>1000,30593=>1000,30594=>1000,30595=>1000,30596=>1000,30597=>1000,30598=>1000,30599=>1000,30600=>1000,30601=>1000,30602=>1000,30603=>1000,30604=>1000,30605=>1000,30606=>1000,30607=>1000,30608=>1000,30609=>1000,30610=>1000,30611=>1000,30612=>1000,30613=>1000,30614=>1000,30615=>1000,30616=>1000,30617=>1000,30618=>1000,30619=>1000,30620=>1000,30621=>1000,30622=>1000,30623=>1000,30624=>1000,30625=>1000,30626=>1000,30627=>1000,30628=>1000,30629=>1000,30630=>1000,30631=>1000,30632=>1000,30633=>1000,30634=>1000,30635=>1000,30636=>1000,30637=>1000,30638=>1000,30639=>1000,30640=>1000,30641=>1000,30642=>1000,30643=>1000,30644=>1000,30645=>1000,30646=>1000,30647=>1000,30648=>1000,30649=>1000,30650=>1000,30651=>1000,30652=>1000,30653=>1000,30654=>1000,30655=>1000,30656=>1000,30657=>1000,30658=>1000,30659=>1000,30660=>1000,30661=>1000,30662=>1000,30663=>1000,30664=>1000,30665=>1000,30666=>1000,30667=>1000,30668=>1000,30669=>1000,30670=>1000,30671=>1000,30672=>1000,30673=>1000,30674=>1000,30675=>1000,30676=>1000,30677=>1000,30678=>1000,30679=>1000,30680=>1000,30681=>1000,30682=>1000,30683=>1000,30684=>1000,30685=>1000,30686=>1000,30687=>1000,30688=>1000,30689=>1000,30690=>1000,30691=>1000,30692=>1000,30693=>1000,30694=>1000,30695=>1000,30696=>1000,30697=>1000,30698=>1000,30699=>1000,30700=>1000,30701=>1000,30702=>1000,30703=>1000,30704=>1000,30705=>1000,30706=>1000,30707=>1000,30708=>1000,30709=>1000,30710=>1000,30711=>1000,30712=>1000,30713=>1000,30714=>1000,30715=>1000,30716=>1000,30717=>1000,30718=>1000,30719=>1000,30720=>1000,30721=>1000,30722=>1000,30723=>1000,30724=>1000,30725=>1000,30726=>1000,30727=>1000,30728=>1000,30729=>1000,30730=>1000,30731=>1000,30732=>1000,30733=>1000,30734=>1000,30735=>1000,30736=>1000,30737=>1000,30738=>1000,30739=>1000,30740=>1000,30741=>1000,30742=>1000,30743=>1000,30744=>1000,30745=>1000,30746=>1000,30747=>1000,30748=>1000,30749=>1000,30750=>1000,30751=>1000,30752=>1000,30753=>1000,30754=>1000,30755=>1000,30756=>1000,30757=>1000,30758=>1000,30759=>1000,30760=>1000,30761=>1000,30762=>1000,30763=>1000,30764=>1000,30765=>1000,30766=>1000,30767=>1000,30768=>1000,30769=>1000,30770=>1000,30771=>1000,30772=>1000,30773=>1000,30774=>1000,30775=>1000,30776=>1000,30777=>1000,30778=>1000,30779=>1000,30780=>1000,30781=>1000,30782=>1000,30783=>1000,30784=>1000,30785=>1000,30786=>1000,30787=>1000,30788=>1000,30789=>1000,30790=>1000,30791=>1000,30792=>1000,30793=>1000,30794=>1000,30795=>1000,30796=>1000,30797=>1000,30798=>1000,30799=>1000,30800=>1000,30801=>1000,30802=>1000,30803=>1000,30804=>1000,30805=>1000,30806=>1000,30807=>1000,30808=>1000,30809=>1000,30810=>1000,30811=>1000,30812=>1000,30813=>1000,30814=>1000,30815=>1000,30816=>1000,30817=>1000,30818=>1000,30819=>1000,30820=>1000,30821=>1000,30822=>1000,30823=>1000,30824=>1000,30825=>1000,30826=>1000,30827=>1000,30828=>1000,30829=>1000,30830=>1000,30831=>1000,30832=>1000,30833=>1000,30834=>1000,30835=>1000,30836=>1000,30837=>1000,30838=>1000,30839=>1000,30840=>1000,30841=>1000,30842=>1000,30843=>1000,30844=>1000,30845=>1000,30846=>1000,30847=>1000,30848=>1000,30849=>1000,30850=>1000,30851=>1000,30852=>1000,30853=>1000,30854=>1000,30855=>1000,30856=>1000,30857=>1000,30858=>1000,30859=>1000,30860=>1000,30861=>1000,30862=>1000,30863=>1000,30864=>1000,30865=>1000,30866=>1000,30867=>1000,30868=>1000,30869=>1000,30870=>1000,30871=>1000,30872=>1000,30873=>1000,30874=>1000,30875=>1000,30876=>1000,30877=>1000,30878=>1000,30879=>1000,30880=>1000,30881=>1000,30882=>1000,30883=>1000,30884=>1000,30885=>1000,30886=>1000,30887=>1000,30888=>1000,30889=>1000,30890=>1000,30891=>1000,30892=>1000,30893=>1000,30894=>1000,30895=>1000,30896=>1000,30897=>1000,30898=>1000,30899=>1000,30900=>1000,30901=>1000,30902=>1000,30903=>1000,30904=>1000,30905=>1000,30906=>1000,30907=>1000,30908=>1000,30909=>1000,30910=>1000,30911=>1000,30912=>1000,30913=>1000,30914=>1000,30915=>1000,30916=>1000,30917=>1000,30918=>1000,30919=>1000,30920=>1000,30921=>1000,30922=>1000,30923=>1000,30924=>1000,30925=>1000,30926=>1000,30927=>1000,30928=>1000,30929=>1000,30930=>1000,30931=>1000,30932=>1000,30933=>1000,30934=>1000,30935=>1000,30936=>1000,30937=>1000,30938=>1000,30939=>1000,30940=>1000,30941=>1000,30942=>1000,30943=>1000,30944=>1000,30945=>1000,30946=>1000,30947=>1000,30948=>1000,30949=>1000,30950=>1000,30951=>1000,30952=>1000,30953=>1000,30954=>1000,30955=>1000,30956=>1000,30957=>1000,30958=>1000,30959=>1000,30960=>1000,30961=>1000,30962=>1000,30963=>1000,30964=>1000,30965=>1000,30966=>1000,30967=>1000,30968=>1000,30969=>1000,30970=>1000,30971=>1000,30972=>1000,30973=>1000,30974=>1000,30975=>1000,30976=>1000,30977=>1000,30978=>1000,30979=>1000,30980=>1000,30981=>1000,30982=>1000,30983=>1000,30984=>1000,30985=>1000,30986=>1000,30987=>1000,30988=>1000,30989=>1000,30990=>1000,30991=>1000,30992=>1000,30993=>1000,30994=>1000,30995=>1000,30996=>1000,30997=>1000,30998=>1000,30999=>1000,31000=>1000,31001=>1000,31002=>1000,31003=>1000,31004=>1000,31005=>1000,31006=>1000,31007=>1000,31008=>1000,31009=>1000,31010=>1000,31011=>1000,31012=>1000,31013=>1000,31014=>1000,31015=>1000,31016=>1000,31017=>1000,31018=>1000,31019=>1000,31020=>1000,31021=>1000,31022=>1000,31023=>1000,31024=>1000,31025=>1000,31026=>1000,31027=>1000,31028=>1000,31029=>1000,31030=>1000,31031=>1000,31032=>1000,31033=>1000,31034=>1000,31035=>1000,31036=>1000,31037=>1000,31038=>1000,31039=>1000,31040=>1000,31041=>1000,31042=>1000,31043=>1000,31044=>1000,31045=>1000,31046=>1000,31047=>1000,31048=>1000,31049=>1000,31050=>1000,31051=>1000,31052=>1000,31053=>1000,31054=>1000,31055=>1000,31056=>1000,31057=>1000,31058=>1000,31059=>1000,31060=>1000,31061=>1000,31062=>1000,31063=>1000,31064=>1000,31065=>1000,31066=>1000,31067=>1000,31068=>1000,31069=>1000,31070=>1000,31071=>1000,31072=>1000,31073=>1000,31074=>1000,31075=>1000,31076=>1000,31077=>1000,31078=>1000,31079=>1000,31080=>1000,31081=>1000,31082=>1000,31083=>1000,31084=>1000,31085=>1000,31086=>1000,31087=>1000,31088=>1000,31089=>1000,31090=>1000,31091=>1000,31092=>1000,31093=>1000,31094=>1000,31095=>1000,31096=>1000,31097=>1000,31098=>1000,31099=>1000,31100=>1000,31101=>1000,31102=>1000,31103=>1000,31104=>1000,31105=>1000,31106=>1000,31107=>1000,31108=>1000,31109=>1000,31110=>1000,31111=>1000,31112=>1000,31113=>1000,31114=>1000,31115=>1000,31116=>1000,31117=>1000,31118=>1000,31119=>1000,31120=>1000,31121=>1000,31122=>1000,31123=>1000,31124=>1000,31125=>1000,31126=>1000,31127=>1000,31128=>1000,31129=>1000,31130=>1000,31131=>1000,31132=>1000,31133=>1000,31134=>1000,31135=>1000,31136=>1000,31137=>1000,31138=>1000,31139=>1000,31140=>1000,31141=>1000,31142=>1000,31143=>1000,31144=>1000,31145=>1000,31146=>1000,31147=>1000,31148=>1000,31149=>1000,31150=>1000,31151=>1000,31152=>1000,31153=>1000,31154=>1000,31155=>1000,31156=>1000,31157=>1000,31158=>1000,31159=>1000,31160=>1000,31161=>1000,31162=>1000,31163=>1000,31164=>1000,31165=>1000,31166=>1000,31167=>1000,31168=>1000,31169=>1000,31170=>1000,31171=>1000,31172=>1000,31173=>1000,31174=>1000,31175=>1000,31176=>1000,31177=>1000,31178=>1000,31179=>1000,31180=>1000,31181=>1000,31182=>1000,31183=>1000,31184=>1000,31185=>1000,31186=>1000,31187=>1000,31188=>1000,31189=>1000,31190=>1000,31191=>1000,31192=>1000,31193=>1000,31194=>1000,31195=>1000,31196=>1000,31197=>1000,31198=>1000,31199=>1000,31200=>1000,31201=>1000,31202=>1000,31203=>1000,31204=>1000,31205=>1000,31206=>1000,31207=>1000,31208=>1000,31209=>1000,31210=>1000,31211=>1000,31212=>1000,31213=>1000,31214=>1000,31215=>1000,31216=>1000,31217=>1000,31218=>1000,31219=>1000,31220=>1000,31221=>1000,31222=>1000,31223=>1000,31224=>1000,31225=>1000,31226=>1000,31227=>1000,31228=>1000,31229=>1000,31230=>1000,31231=>1000,31232=>1000,31233=>1000,31234=>1000,31235=>1000,31236=>1000,31237=>1000,31238=>1000,31239=>1000,31240=>1000,31241=>1000,31242=>1000,31243=>1000,31244=>1000,31245=>1000,31246=>1000,31247=>1000,31248=>1000,31249=>1000,31250=>1000,31251=>1000,31252=>1000,31253=>1000,31254=>1000,31255=>1000,31256=>1000,31257=>1000,31258=>1000,31259=>1000,31260=>1000,31261=>1000,31262=>1000,31263=>1000,31264=>1000,31265=>1000,31266=>1000,31267=>1000,31268=>1000,31269=>1000,31270=>1000,31271=>1000,31272=>1000,31273=>1000,31274=>1000,31275=>1000,31276=>1000,31277=>1000,31278=>1000,31279=>1000,31280=>1000,31281=>1000,31282=>1000,31283=>1000,31284=>1000,31285=>1000,31286=>1000,31287=>1000,31288=>1000,31289=>1000,31290=>1000,31291=>1000,31292=>1000,31293=>1000,31294=>1000,31295=>1000,31296=>1000,31297=>1000,31298=>1000,31299=>1000,31300=>1000,31301=>1000,31302=>1000,31303=>1000,31304=>1000,31305=>1000,31306=>1000,31307=>1000,31308=>1000,31309=>1000,31310=>1000,31311=>1000,31312=>1000,31313=>1000,31314=>1000,31315=>1000,31316=>1000,31317=>1000,31318=>1000,31319=>1000,31320=>1000,31321=>1000,31322=>1000,31323=>1000,31324=>1000,31325=>1000,31326=>1000,31327=>1000,31328=>1000,31329=>1000,31330=>1000,31331=>1000,31332=>1000,31333=>1000,31334=>1000,31335=>1000,31336=>1000,31337=>1000,31338=>1000,31339=>1000,31340=>1000,31341=>1000,31342=>1000,31343=>1000,31344=>1000,31345=>1000,31346=>1000,31347=>1000,31348=>1000,31349=>1000,31350=>1000,31351=>1000,31352=>1000,31353=>1000,31354=>1000,31355=>1000,31356=>1000,31357=>1000,31358=>1000,31359=>1000,31360=>1000,31361=>1000,31362=>1000,31363=>1000,31364=>1000,31365=>1000,31366=>1000,31367=>1000,31368=>1000,31369=>1000,31370=>1000,31371=>1000,31372=>1000,31373=>1000,31374=>1000,31375=>1000,31376=>1000,31377=>1000,31378=>1000,31379=>1000,31380=>1000,31381=>1000,31382=>1000,31383=>1000,31384=>1000,31385=>1000,31386=>1000,31387=>1000,31388=>1000,31389=>1000,31390=>1000,31391=>1000,31392=>1000,31393=>1000,31394=>1000,31395=>1000,31396=>1000,31397=>1000,31398=>1000,31399=>1000,31400=>1000,31401=>1000,31402=>1000,31403=>1000,31404=>1000,31405=>1000,31406=>1000,31407=>1000,31408=>1000,31409=>1000,31410=>1000,31411=>1000,31412=>1000,31413=>1000,31414=>1000,31415=>1000,31416=>1000,31417=>1000,31418=>1000,31419=>1000,31420=>1000,31421=>1000,31422=>1000,31423=>1000,31424=>1000,31425=>1000,31426=>1000,31427=>1000,31428=>1000,31429=>1000,31430=>1000,31431=>1000,31432=>1000,31433=>1000,31434=>1000,31435=>1000,31436=>1000,31437=>1000,31438=>1000,31439=>1000,31440=>1000,31441=>1000,31442=>1000,31443=>1000,31444=>1000,31445=>1000,31446=>1000,31447=>1000,31448=>1000,31449=>1000,31450=>1000,31451=>1000,31452=>1000,31453=>1000,31454=>1000,31455=>1000,31456=>1000,31457=>1000,31458=>1000,31459=>1000,31460=>1000,31461=>1000,31462=>1000,31463=>1000,31464=>1000,31465=>1000,31466=>1000,31467=>1000,31468=>1000,31469=>1000,31470=>1000,31471=>1000,31472=>1000,31473=>1000,31474=>1000,31475=>1000,31476=>1000,31477=>1000,31478=>1000,31479=>1000,31480=>1000,31481=>1000,31482=>1000,31483=>1000,31484=>1000,31485=>1000,31486=>1000,31487=>1000,31488=>1000,31489=>1000,31490=>1000,31491=>1000,31492=>1000,31493=>1000,31494=>1000,31495=>1000,31496=>1000,31497=>1000,31498=>1000,31499=>1000,31500=>1000,31501=>1000,31502=>1000,31503=>1000,31504=>1000,31505=>1000,31506=>1000,31507=>1000,31508=>1000,31509=>1000,31510=>1000,31511=>1000,31512=>1000,31513=>1000,31514=>1000,31515=>1000,31516=>1000,31517=>1000,31518=>1000,31519=>1000,31520=>1000,31521=>1000,31522=>1000,31523=>1000,31524=>1000,31525=>1000,31526=>1000,31527=>1000,31528=>1000,31529=>1000,31530=>1000,31531=>1000,31532=>1000,31533=>1000,31534=>1000,31535=>1000,31536=>1000,31537=>1000,31538=>1000,31539=>1000,31540=>1000,31541=>1000,31542=>1000,31543=>1000,31544=>1000,31545=>1000,31546=>1000,31547=>1000,31548=>1000,31549=>1000,31550=>1000,31551=>1000,31552=>1000,31553=>1000,31554=>1000,31555=>1000,31556=>1000,31557=>1000,31558=>1000,31559=>1000,31560=>1000,31561=>1000,31562=>1000,31563=>1000,31564=>1000,31565=>1000,31566=>1000,31567=>1000,31568=>1000,31569=>1000,31570=>1000,31571=>1000,31572=>1000,31573=>1000,31574=>1000,31575=>1000,31576=>1000,31577=>1000,31578=>1000,31579=>1000,31580=>1000,31581=>1000,31582=>1000,31583=>1000,31584=>1000,31585=>1000,31586=>1000,31587=>1000,31588=>1000,31589=>1000,31590=>1000,31591=>1000,31592=>1000,31593=>1000,31594=>1000,31595=>1000,31596=>1000,31597=>1000,31598=>1000,31599=>1000,31600=>1000,31601=>1000,31602=>1000,31603=>1000,31604=>1000,31605=>1000,31606=>1000,31607=>1000,31608=>1000,31609=>1000,31610=>1000,31611=>1000,31612=>1000,31613=>1000,31614=>1000,31615=>1000,31616=>1000,31617=>1000,31618=>1000,31619=>1000,31620=>1000,31621=>1000,31622=>1000,31623=>1000,31624=>1000,31625=>1000,31626=>1000,31627=>1000,31628=>1000,31629=>1000,31630=>1000,31631=>1000,31632=>1000,31633=>1000,31634=>1000,31635=>1000,31636=>1000,31637=>1000,31638=>1000,31639=>1000,31640=>1000,31641=>1000,31642=>1000,31643=>1000,31644=>1000,31645=>1000,31646=>1000,31647=>1000,31648=>1000,31649=>1000,31650=>1000,31651=>1000,31652=>1000,31653=>1000,31654=>1000,31655=>1000,31656=>1000,31657=>1000,31658=>1000,31659=>1000,31660=>1000,31661=>1000,31662=>1000,31663=>1000,31664=>1000,31665=>1000,31666=>1000,31667=>1000,31668=>1000,31669=>1000,31670=>1000,31671=>1000,31672=>1000,31673=>1000,31674=>1000,31675=>1000,31676=>1000,31677=>1000,31678=>1000,31679=>1000,31680=>1000,31681=>1000,31682=>1000,31683=>1000,31684=>1000,31685=>1000,31686=>1000,31687=>1000,31688=>1000,31689=>1000,31690=>1000,31691=>1000,31692=>1000,31693=>1000,31694=>1000,31695=>1000,31696=>1000,31697=>1000,31698=>1000,31699=>1000,31700=>1000,31701=>1000,31702=>1000,31703=>1000,31704=>1000,31705=>1000,31706=>1000,31707=>1000,31708=>1000,31709=>1000,31710=>1000,31711=>1000,31712=>1000,31713=>1000,31714=>1000,31715=>1000,31716=>1000,31717=>1000,31718=>1000,31719=>1000,31720=>1000,31721=>1000,31722=>1000,31723=>1000,31724=>1000,31725=>1000,31726=>1000,31727=>1000,31728=>1000,31729=>1000,31730=>1000,31731=>1000,31732=>1000,31733=>1000,31734=>1000,31735=>1000,31736=>1000,31737=>1000,31738=>1000,31739=>1000,31740=>1000,31741=>1000,31742=>1000,31743=>1000,31744=>1000,31745=>1000,31746=>1000,31747=>1000,31748=>1000,31749=>1000,31750=>1000,31751=>1000,31752=>1000,31753=>1000,31754=>1000,31755=>1000,31756=>1000,31757=>1000,31758=>1000,31759=>1000,31760=>1000,31761=>1000,31762=>1000,31763=>1000,31764=>1000,31765=>1000,31766=>1000,31767=>1000,31768=>1000,31769=>1000,31770=>1000,31771=>1000,31772=>1000,31773=>1000,31774=>1000,31775=>1000,31776=>1000,31777=>1000,31778=>1000,31779=>1000,31780=>1000,31781=>1000,31782=>1000,31783=>1000,31784=>1000,31785=>1000,31786=>1000,31787=>1000,31788=>1000,31789=>1000,31790=>1000,31791=>1000,31792=>1000,31793=>1000,31794=>1000,31795=>1000,31796=>1000,31797=>1000,31798=>1000,31799=>1000,31800=>1000,31801=>1000,31802=>1000,31803=>1000,31804=>1000,31805=>1000,31806=>1000,31807=>1000,31808=>1000,31809=>1000,31810=>1000,31811=>1000,31812=>1000,31813=>1000,31814=>1000,31815=>1000,31816=>1000,31817=>1000,31818=>1000,31819=>1000,31820=>1000,31821=>1000,31822=>1000,31823=>1000,31824=>1000,31825=>1000,31826=>1000,31827=>1000,31828=>1000,31829=>1000,31830=>1000,31831=>1000,31832=>1000,31833=>1000,31834=>1000,31835=>1000,31836=>1000,31837=>1000,31838=>1000,31839=>1000,31840=>1000,31841=>1000,31842=>1000,31843=>1000,31844=>1000,31845=>1000,31846=>1000,31847=>1000,31848=>1000,31849=>1000,31850=>1000,31851=>1000,31852=>1000,31853=>1000,31854=>1000,31855=>1000,31856=>1000,31857=>1000,31858=>1000,31859=>1000,31860=>1000,31861=>1000,31862=>1000,31863=>1000,31864=>1000,31865=>1000,31866=>1000,31867=>1000,31868=>1000,31869=>1000,31870=>1000,31871=>1000,31872=>1000,31873=>1000,31874=>1000,31875=>1000,31876=>1000,31877=>1000,31878=>1000,31879=>1000,31880=>1000,31881=>1000,31882=>1000,31883=>1000,31884=>1000,31885=>1000,31886=>1000,31887=>1000,31888=>1000,31889=>1000,31890=>1000,31891=>1000,31892=>1000,31893=>1000,31894=>1000,31895=>1000,31896=>1000,31897=>1000,31898=>1000,31899=>1000,31900=>1000,31901=>1000,31902=>1000,31903=>1000,31904=>1000,31905=>1000,31906=>1000,31907=>1000,31908=>1000,31909=>1000,31910=>1000,31911=>1000,31912=>1000,31913=>1000,31914=>1000,31915=>1000,31916=>1000,31917=>1000,31918=>1000,31919=>1000,31920=>1000,31921=>1000,31922=>1000,31923=>1000,31924=>1000,31925=>1000,31926=>1000,31927=>1000,31928=>1000,31929=>1000,31930=>1000,31931=>1000,31932=>1000,31933=>1000,31934=>1000,31935=>1000,31936=>1000,31937=>1000,31938=>1000,31939=>1000,31940=>1000,31941=>1000,31942=>1000,31943=>1000,31944=>1000,31945=>1000,31946=>1000,31947=>1000,31948=>1000,31949=>1000,31950=>1000,31951=>1000,31952=>1000,31953=>1000,31954=>1000,31955=>1000,31956=>1000,31957=>1000,31958=>1000,31959=>1000,31960=>1000,31961=>1000,31962=>1000,31963=>1000,31964=>1000,31965=>1000,31966=>1000,31967=>1000,31968=>1000,31969=>1000,31970=>1000,31971=>1000,31972=>1000,31973=>1000,31974=>1000,31975=>1000,31976=>1000,31977=>1000,31978=>1000,31979=>1000,31980=>1000,31981=>1000,31982=>1000,31983=>1000,31984=>1000,31985=>1000,31986=>1000,31987=>1000,31988=>1000,31989=>1000,31990=>1000,31991=>1000,31992=>1000,31993=>1000,31994=>1000,31995=>1000,31996=>1000,31997=>1000,31998=>1000,31999=>1000,32000=>1000,32001=>1000,32002=>1000,32003=>1000,32004=>1000,32005=>1000,32006=>1000,32007=>1000,32008=>1000,32009=>1000,32010=>1000,32011=>1000,32012=>1000,32013=>1000,32014=>1000,32015=>1000,32016=>1000,32017=>1000,32018=>1000,32019=>1000,32020=>1000,32021=>1000,32022=>1000,32023=>1000,32024=>1000,32025=>1000,32026=>1000,32027=>1000,32028=>1000,32029=>1000,32030=>1000,32031=>1000,32032=>1000,32033=>1000,32034=>1000,32035=>1000,32036=>1000,32037=>1000,32038=>1000,32039=>1000,32040=>1000,32041=>1000,32042=>1000,32043=>1000,32044=>1000,32045=>1000,32046=>1000,32047=>1000,32048=>1000,32049=>1000,32050=>1000,32051=>1000,32052=>1000,32053=>1000,32054=>1000,32055=>1000,32056=>1000,32057=>1000,32058=>1000,32059=>1000,32060=>1000,32061=>1000,32062=>1000,32063=>1000,32064=>1000,32065=>1000,32066=>1000,32067=>1000,32068=>1000,32069=>1000,32070=>1000,32071=>1000,32072=>1000,32073=>1000,32074=>1000,32075=>1000,32076=>1000,32077=>1000,32078=>1000,32079=>1000,32080=>1000,32081=>1000,32082=>1000,32083=>1000,32084=>1000,32085=>1000,32086=>1000,32087=>1000,32088=>1000,32089=>1000,32090=>1000,32091=>1000,32092=>1000,32093=>1000,32094=>1000,32095=>1000,32096=>1000,32097=>1000,32098=>1000,32099=>1000,32100=>1000,32101=>1000,32102=>1000,32103=>1000,32104=>1000,32105=>1000,32106=>1000,32107=>1000,32108=>1000,32109=>1000,32110=>1000,32111=>1000,32112=>1000,32113=>1000,32114=>1000,32115=>1000,32116=>1000,32117=>1000,32118=>1000,32119=>1000,32120=>1000,32121=>1000,32122=>1000,32123=>1000,32124=>1000,32125=>1000,32126=>1000,32127=>1000,32128=>1000,32129=>1000,32130=>1000,32131=>1000,32132=>1000,32133=>1000,32134=>1000,32135=>1000,32136=>1000,32137=>1000,32138=>1000,32139=>1000,32140=>1000,32141=>1000,32142=>1000,32143=>1000,32144=>1000,32145=>1000,32146=>1000,32147=>1000,32148=>1000,32149=>1000,32150=>1000,32151=>1000,32152=>1000,32153=>1000,32154=>1000,32155=>1000,32156=>1000,32157=>1000,32158=>1000,32159=>1000,32160=>1000,32161=>1000,32162=>1000,32163=>1000,32164=>1000,32165=>1000,32166=>1000,32167=>1000,32168=>1000,32169=>1000,32170=>1000,32171=>1000,32172=>1000,32173=>1000,32174=>1000,32175=>1000,32176=>1000,32177=>1000,32178=>1000,32179=>1000,32180=>1000,32181=>1000,32182=>1000,32183=>1000,32184=>1000,32185=>1000,32186=>1000,32187=>1000,32188=>1000,32189=>1000,32190=>1000,32191=>1000,32192=>1000,32193=>1000,32194=>1000,32195=>1000,32196=>1000,32197=>1000,32198=>1000,32199=>1000,32200=>1000,32201=>1000,32202=>1000,32203=>1000,32204=>1000,32205=>1000,32206=>1000,32207=>1000,32208=>1000,32209=>1000,32210=>1000,32211=>1000,32212=>1000,32213=>1000,32214=>1000,32215=>1000,32216=>1000,32217=>1000,32218=>1000,32219=>1000,32220=>1000,32221=>1000,32222=>1000,32223=>1000,32224=>1000,32225=>1000,32226=>1000,32227=>1000,32228=>1000,32229=>1000,32230=>1000,32231=>1000,32232=>1000,32233=>1000,32234=>1000,32235=>1000,32236=>1000,32237=>1000,32238=>1000,32239=>1000,32240=>1000,32241=>1000,32242=>1000,32243=>1000,32244=>1000,32245=>1000,32246=>1000,32247=>1000,32248=>1000,32249=>1000,32250=>1000,32251=>1000,32252=>1000,32253=>1000,32254=>1000,32255=>1000,32256=>1000,32257=>1000,32258=>1000,32259=>1000,32260=>1000,32261=>1000,32262=>1000,32263=>1000,32264=>1000,32265=>1000,32266=>1000,32267=>1000,32268=>1000,32269=>1000,32270=>1000,32271=>1000,32272=>1000,32273=>1000,32274=>1000,32275=>1000,32276=>1000,32277=>1000,32278=>1000,32279=>1000,32280=>1000,32281=>1000,32282=>1000,32283=>1000,32284=>1000,32285=>1000,32286=>1000,32287=>1000,32288=>1000,32289=>1000,32290=>1000,32291=>1000,32292=>1000,32293=>1000,32294=>1000,32295=>1000,32296=>1000,32297=>1000,32298=>1000,32299=>1000,32300=>1000,32301=>1000,32302=>1000,32303=>1000,32304=>1000,32305=>1000,32306=>1000,32307=>1000,32308=>1000,32309=>1000,32310=>1000,32311=>1000,32312=>1000,32313=>1000,32314=>1000,32315=>1000,32316=>1000,32317=>1000,32318=>1000,32319=>1000,32320=>1000,32321=>1000,32322=>1000,32323=>1000,32324=>1000,32325=>1000,32326=>1000,32327=>1000,32328=>1000,32329=>1000,32330=>1000,32331=>1000,32332=>1000,32333=>1000,32334=>1000,32335=>1000,32336=>1000,32337=>1000,32338=>1000,32339=>1000,32340=>1000,32341=>1000,32342=>1000,32343=>1000,32344=>1000,32345=>1000,32346=>1000,32347=>1000,32348=>1000,32349=>1000,32350=>1000,32351=>1000,32352=>1000,32353=>1000,32354=>1000,32355=>1000,32356=>1000,32357=>1000,32358=>1000,32359=>1000,32360=>1000,32361=>1000,32362=>1000,32363=>1000,32364=>1000,32365=>1000,32366=>1000,32367=>1000,32368=>1000,32369=>1000,32370=>1000,32371=>1000,32372=>1000,32373=>1000,32374=>1000,32375=>1000,32376=>1000,32377=>1000,32378=>1000,32379=>1000,32380=>1000,32381=>1000,32382=>1000,32383=>1000,32384=>1000,32385=>1000,32386=>1000,32387=>1000,32388=>1000,32389=>1000,32390=>1000,32391=>1000,32392=>1000,32393=>1000,32394=>1000,32395=>1000,32396=>1000,32397=>1000,32398=>1000,32399=>1000,32400=>1000,32401=>1000,32402=>1000,32403=>1000,32404=>1000,32405=>1000,32406=>1000,32407=>1000,32408=>1000,32409=>1000,32410=>1000,32411=>1000,32412=>1000,32413=>1000,32414=>1000,32415=>1000,32416=>1000,32417=>1000,32418=>1000,32419=>1000,32420=>1000,32421=>1000,32422=>1000,32423=>1000,32424=>1000,32425=>1000,32426=>1000,32427=>1000,32428=>1000,32429=>1000,32430=>1000,32431=>1000,32432=>1000,32433=>1000,32434=>1000,32435=>1000,32436=>1000,32437=>1000,32438=>1000,32439=>1000,32440=>1000,32441=>1000,32442=>1000,32443=>1000,32444=>1000,32445=>1000,32446=>1000,32447=>1000,32448=>1000,32449=>1000,32450=>1000,32451=>1000,32452=>1000,32453=>1000,32454=>1000,32455=>1000,32456=>1000,32457=>1000,32458=>1000,32459=>1000,32460=>1000,32461=>1000,32462=>1000,32463=>1000,32464=>1000,32465=>1000,32466=>1000,32467=>1000,32468=>1000,32469=>1000,32470=>1000,32471=>1000,32472=>1000,32473=>1000,32474=>1000,32475=>1000,32476=>1000,32477=>1000,32478=>1000,32479=>1000,32480=>1000,32481=>1000,32482=>1000,32483=>1000,32484=>1000,32485=>1000,32486=>1000,32487=>1000,32488=>1000,32489=>1000,32490=>1000,32491=>1000,32492=>1000,32493=>1000,32494=>1000,32495=>1000,32496=>1000,32497=>1000,32498=>1000,32499=>1000,32500=>1000,32501=>1000,32502=>1000,32503=>1000,32504=>1000,32505=>1000,32506=>1000,32507=>1000,32508=>1000,32509=>1000,32510=>1000,32511=>1000,32512=>1000,32513=>1000,32514=>1000,32515=>1000,32516=>1000,32517=>1000,32518=>1000,32519=>1000,32520=>1000,32521=>1000,32522=>1000,32523=>1000,32524=>1000,32525=>1000,32526=>1000,32527=>1000,32528=>1000,32529=>1000,32530=>1000,32531=>1000,32532=>1000,32533=>1000,32534=>1000,32535=>1000,32536=>1000,32537=>1000,32538=>1000,32539=>1000,32540=>1000,32541=>1000,32542=>1000,32543=>1000,32544=>1000,32545=>1000,32546=>1000,32547=>1000,32548=>1000,32549=>1000,32550=>1000,32551=>1000,32552=>1000,32553=>1000,32554=>1000,32555=>1000,32556=>1000,32557=>1000,32558=>1000,32559=>1000,32560=>1000,32561=>1000,32562=>1000,32563=>1000,32564=>1000,32565=>1000,32566=>1000,32567=>1000,32568=>1000,32569=>1000,32570=>1000,32571=>1000,32572=>1000,32573=>1000,32574=>1000,32575=>1000,32576=>1000,32577=>1000,32578=>1000,32579=>1000,32580=>1000,32581=>1000,32582=>1000,32583=>1000,32584=>1000,32585=>1000,32586=>1000,32587=>1000,32588=>1000,32589=>1000,32590=>1000,32591=>1000,32592=>1000,32593=>1000,32594=>1000,32595=>1000,32596=>1000,32597=>1000,32598=>1000,32599=>1000,32600=>1000,32601=>1000,32602=>1000,32603=>1000,32604=>1000,32605=>1000,32606=>1000,32607=>1000,32608=>1000,32609=>1000,32610=>1000,32611=>1000,32612=>1000,32613=>1000,32614=>1000,32615=>1000,32616=>1000,32617=>1000,32618=>1000,32619=>1000,32620=>1000,32621=>1000,32622=>1000,32623=>1000,32624=>1000,32625=>1000,32626=>1000,32627=>1000,32628=>1000,32629=>1000,32630=>1000,32631=>1000,32632=>1000,32633=>1000,32634=>1000,32635=>1000,32636=>1000,32637=>1000,32638=>1000,32639=>1000,32640=>1000,32641=>1000,32642=>1000,32643=>1000,32644=>1000,32645=>1000,32646=>1000,32647=>1000,32648=>1000,32649=>1000,32650=>1000,32651=>1000,32652=>1000,32653=>1000,32654=>1000,32655=>1000,32656=>1000,32657=>1000,32658=>1000,32659=>1000,32660=>1000,32661=>1000,32662=>1000,32663=>1000,32664=>1000,32665=>1000,32666=>1000,32667=>1000,32668=>1000,32669=>1000,32670=>1000,32671=>1000,32672=>1000,32673=>1000,32674=>1000,32675=>1000,32676=>1000,32677=>1000,32678=>1000,32679=>1000,32680=>1000,32681=>1000,32682=>1000,32683=>1000,32684=>1000,32685=>1000,32686=>1000,32687=>1000,32688=>1000,32689=>1000,32690=>1000,32691=>1000,32692=>1000,32693=>1000,32694=>1000,32695=>1000,32696=>1000,32697=>1000,32698=>1000,32699=>1000,32700=>1000,32701=>1000,32702=>1000,32703=>1000,32704=>1000,32705=>1000,32706=>1000,32707=>1000,32708=>1000,32709=>1000,32710=>1000,32711=>1000,32712=>1000,32713=>1000,32714=>1000,32715=>1000,32716=>1000,32717=>1000,32718=>1000,32719=>1000,32720=>1000,32721=>1000,32722=>1000,32723=>1000,32724=>1000,32725=>1000,32726=>1000,32727=>1000,32728=>1000,32729=>1000,32730=>1000,32731=>1000,32732=>1000,32733=>1000,32734=>1000,32735=>1000,32736=>1000,32737=>1000,32738=>1000,32739=>1000,32740=>1000,32741=>1000,32742=>1000,32743=>1000,32744=>1000,32745=>1000,32746=>1000,32747=>1000,32748=>1000,32749=>1000,32750=>1000,32751=>1000,32752=>1000,32753=>1000,32754=>1000,32755=>1000,32756=>1000,32757=>1000,32758=>1000,32759=>1000,32760=>1000,32761=>1000,32762=>1000,32763=>1000,32764=>1000,32765=>1000,32766=>1000,32767=>1000,32768=>1000,32769=>1000,32770=>1000,32771=>1000,32772=>1000,32773=>1000,32774=>1000,32775=>1000,32776=>1000,32777=>1000,32778=>1000,32779=>1000,32780=>1000,32781=>1000,32782=>1000,32783=>1000,32784=>1000,32785=>1000,32786=>1000,32787=>1000,32788=>1000,32789=>1000,32790=>1000,32791=>1000,32792=>1000,32793=>1000,32794=>1000,32795=>1000,32796=>1000,32797=>1000,32798=>1000,32799=>1000,32800=>1000,32801=>1000,32802=>1000,32803=>1000,32804=>1000,32805=>1000,32806=>1000,32807=>1000,32808=>1000,32809=>1000,32810=>1000,32811=>1000,32812=>1000,32813=>1000,32814=>1000,32815=>1000,32816=>1000,32817=>1000,32818=>1000,32819=>1000,32820=>1000,32821=>1000,32822=>1000,32823=>1000,32824=>1000,32825=>1000,32826=>1000,32827=>1000,32828=>1000,32829=>1000,32830=>1000,32831=>1000,32832=>1000,32833=>1000,32834=>1000,32835=>1000,32836=>1000,32837=>1000,32838=>1000,32839=>1000,32840=>1000,32841=>1000,32842=>1000,32843=>1000,32844=>1000,32845=>1000,32846=>1000,32847=>1000,32848=>1000,32849=>1000,32850=>1000,32851=>1000,32852=>1000,32853=>1000,32854=>1000,32855=>1000,32856=>1000,32857=>1000,32858=>1000,32859=>1000,32860=>1000,32861=>1000,32862=>1000,32863=>1000,32864=>1000,32865=>1000,32866=>1000,32867=>1000,32868=>1000,32869=>1000,32870=>1000,32871=>1000,32872=>1000,32873=>1000,32874=>1000,32875=>1000,32876=>1000,32877=>1000,32878=>1000,32879=>1000,32880=>1000,32881=>1000,32882=>1000,32883=>1000,32884=>1000,32885=>1000,32886=>1000,32887=>1000,32888=>1000,32889=>1000,32890=>1000,32891=>1000,32892=>1000,32893=>1000,32894=>1000,32895=>1000,32896=>1000,32897=>1000,32898=>1000,32899=>1000,32900=>1000,32901=>1000,32902=>1000,32903=>1000,32904=>1000,32905=>1000,32906=>1000,32907=>1000,32908=>1000,32909=>1000,32910=>1000,32911=>1000,32912=>1000,32913=>1000,32914=>1000,32915=>1000,32916=>1000,32917=>1000,32918=>1000,32919=>1000,32920=>1000,32921=>1000,32922=>1000,32923=>1000,32924=>1000,32925=>1000,32926=>1000,32927=>1000,32928=>1000,32929=>1000,32930=>1000,32931=>1000,32932=>1000,32933=>1000,32934=>1000,32935=>1000,32936=>1000,32937=>1000,32938=>1000,32939=>1000,32940=>1000,32941=>1000,32942=>1000,32943=>1000,32944=>1000,32945=>1000,32946=>1000,32947=>1000,32948=>1000,32949=>1000,32950=>1000,32951=>1000,32952=>1000,32953=>1000,32954=>1000,32955=>1000,32956=>1000,32957=>1000,32958=>1000,32959=>1000,32960=>1000,32961=>1000,32962=>1000,32963=>1000,32964=>1000,32965=>1000,32966=>1000,32967=>1000,32968=>1000,32969=>1000,32970=>1000,32971=>1000,32972=>1000,32973=>1000,32974=>1000,32975=>1000,32976=>1000,32977=>1000,32978=>1000,32979=>1000,32980=>1000,32981=>1000,32982=>1000,32983=>1000,32984=>1000,32985=>1000,32986=>1000,32987=>1000,32988=>1000,32989=>1000,32990=>1000,32991=>1000,32992=>1000,32993=>1000,32994=>1000,32995=>1000,32996=>1000,32997=>1000,32998=>1000,32999=>1000,33000=>1000,33001=>1000,33002=>1000,33003=>1000,33004=>1000,33005=>1000,33006=>1000,33007=>1000,33008=>1000,33009=>1000,33010=>1000,33011=>1000,33012=>1000,33013=>1000,33014=>1000,33015=>1000,33016=>1000,33017=>1000,33018=>1000,33019=>1000,33020=>1000,33021=>1000,33022=>1000,33023=>1000,33024=>1000,33025=>1000,33026=>1000,33027=>1000,33028=>1000,33029=>1000,33030=>1000,33031=>1000,33032=>1000,33033=>1000,33034=>1000,33035=>1000,33036=>1000,33037=>1000,33038=>1000,33039=>1000,33040=>1000,33041=>1000,33042=>1000,33043=>1000,33044=>1000,33045=>1000,33046=>1000,33047=>1000,33048=>1000,33049=>1000,33050=>1000,33051=>1000,33052=>1000,33053=>1000,33054=>1000,33055=>1000,33056=>1000,33057=>1000,33058=>1000,33059=>1000,33060=>1000,33061=>1000,33062=>1000,33063=>1000,33064=>1000,33065=>1000,33066=>1000,33067=>1000,33068=>1000,33069=>1000,33070=>1000,33071=>1000,33072=>1000,33073=>1000,33074=>1000,33075=>1000,33076=>1000,33077=>1000,33078=>1000,33079=>1000,33080=>1000,33081=>1000,33082=>1000,33083=>1000,33084=>1000,33085=>1000,33086=>1000,33087=>1000,33088=>1000,33089=>1000,33090=>1000,33091=>1000,33092=>1000,33093=>1000,33094=>1000,33095=>1000,33096=>1000,33097=>1000,33098=>1000,33099=>1000,33100=>1000,33101=>1000,33102=>1000,33103=>1000,33104=>1000,33105=>1000,33106=>1000,33107=>1000,33108=>1000,33109=>1000,33110=>1000,33111=>1000,33112=>1000,33113=>1000,33114=>1000,33115=>1000,33116=>1000,33117=>1000,33118=>1000,33119=>1000,33120=>1000,33121=>1000,33122=>1000,33123=>1000,33124=>1000,33125=>1000,33126=>1000,33127=>1000,33128=>1000,33129=>1000,33130=>1000,33131=>1000,33132=>1000,33133=>1000,33134=>1000,33135=>1000,33136=>1000,33137=>1000,33138=>1000,33139=>1000,33140=>1000,33141=>1000,33142=>1000,33143=>1000,33144=>1000,33145=>1000,33146=>1000,33147=>1000,33148=>1000,33149=>1000,33150=>1000,33151=>1000,33152=>1000,33153=>1000,33154=>1000,33155=>1000,33156=>1000,33157=>1000,33158=>1000,33159=>1000,33160=>1000,33161=>1000,33162=>1000,33163=>1000,33164=>1000,33165=>1000,33166=>1000,33167=>1000,33168=>1000,33169=>1000,33170=>1000,33171=>1000,33172=>1000,33173=>1000,33174=>1000,33175=>1000,33176=>1000,33177=>1000,33178=>1000,33179=>1000,33180=>1000,33181=>1000,33182=>1000,33183=>1000,33184=>1000,33185=>1000,33186=>1000,33187=>1000,33188=>1000,33189=>1000,33190=>1000,33191=>1000,33192=>1000,33193=>1000,33194=>1000,33195=>1000,33196=>1000,33197=>1000,33198=>1000,33199=>1000,33200=>1000,33201=>1000,33202=>1000,33203=>1000,33204=>1000,33205=>1000,33206=>1000,33207=>1000,33208=>1000,33209=>1000,33210=>1000,33211=>1000,33212=>1000,33213=>1000,33214=>1000,33215=>1000,33216=>1000,33217=>1000,33218=>1000,33219=>1000,33220=>1000,33221=>1000,33222=>1000,33223=>1000,33224=>1000,33225=>1000,33226=>1000,33227=>1000,33228=>1000,33229=>1000,33230=>1000,33231=>1000,33232=>1000,33233=>1000,33234=>1000,33235=>1000,33236=>1000,33237=>1000,33238=>1000,33239=>1000,33240=>1000,33241=>1000,33242=>1000,33243=>1000,33244=>1000,33245=>1000,33246=>1000,33247=>1000,33248=>1000,33249=>1000,33250=>1000,33251=>1000,33252=>1000,33253=>1000,33254=>1000,33255=>1000,33256=>1000,33257=>1000,33258=>1000,33259=>1000,33260=>1000,33261=>1000,33262=>1000,33263=>1000,33264=>1000,33265=>1000,33266=>1000,33267=>1000,33268=>1000,33269=>1000,33270=>1000,33271=>1000,33272=>1000,33273=>1000,33274=>1000,33275=>1000,33276=>1000,33277=>1000,33278=>1000,33279=>1000,33280=>1000,33281=>1000,33282=>1000,33283=>1000,33284=>1000,33285=>1000,33286=>1000,33287=>1000,33288=>1000,33289=>1000,33290=>1000,33291=>1000,33292=>1000,33293=>1000,33294=>1000,33295=>1000,33296=>1000,33297=>1000,33298=>1000,33299=>1000,33300=>1000,33301=>1000,33302=>1000,33303=>1000,33304=>1000,33305=>1000,33306=>1000,33307=>1000,33308=>1000,33309=>1000,33310=>1000,33311=>1000,33312=>1000,33313=>1000,33314=>1000,33315=>1000,33316=>1000,33317=>1000,33318=>1000,33319=>1000,33320=>1000,33321=>1000,33322=>1000,33323=>1000,33324=>1000,33325=>1000,33326=>1000,33327=>1000,33328=>1000,33329=>1000,33330=>1000,33331=>1000,33332=>1000,33333=>1000,33334=>1000,33335=>1000,33336=>1000,33337=>1000,33338=>1000,33339=>1000,33340=>1000,33341=>1000,33342=>1000,33343=>1000,33344=>1000,33345=>1000,33346=>1000,33347=>1000,33348=>1000,33349=>1000,33350=>1000,33351=>1000,33352=>1000,33353=>1000,33354=>1000,33355=>1000,33356=>1000,33357=>1000,33358=>1000,33359=>1000,33360=>1000,33361=>1000,33362=>1000,33363=>1000,33364=>1000,33365=>1000,33366=>1000,33367=>1000,33368=>1000,33369=>1000,33370=>1000,33371=>1000,33372=>1000,33373=>1000,33374=>1000,33375=>1000,33376=>1000,33377=>1000,33378=>1000,33379=>1000,33380=>1000,33381=>1000,33382=>1000,33383=>1000,33384=>1000,33385=>1000,33386=>1000,33387=>1000,33388=>1000,33389=>1000,33390=>1000,33391=>1000,33392=>1000,33393=>1000,33394=>1000,33395=>1000,33396=>1000,33397=>1000,33398=>1000,33399=>1000,33400=>1000,33401=>1000,33402=>1000,33403=>1000,33404=>1000,33405=>1000,33406=>1000,33407=>1000,33408=>1000,33409=>1000,33410=>1000,33411=>1000,33412=>1000,33413=>1000,33414=>1000,33415=>1000,33416=>1000,33417=>1000,33418=>1000,33419=>1000,33420=>1000,33421=>1000,33422=>1000,33423=>1000,33424=>1000,33425=>1000,33426=>1000,33427=>1000,33428=>1000,33429=>1000,33430=>1000,33431=>1000,33432=>1000,33433=>1000,33434=>1000,33435=>1000,33436=>1000,33437=>1000,33438=>1000,33439=>1000,33440=>1000,33441=>1000,33442=>1000,33443=>1000,33444=>1000,33445=>1000,33446=>1000,33447=>1000,33448=>1000,33449=>1000,33450=>1000,33451=>1000,33452=>1000,33453=>1000,33454=>1000,33455=>1000,33456=>1000,33457=>1000,33458=>1000,33459=>1000,33460=>1000,33461=>1000,33462=>1000,33463=>1000,33464=>1000,33465=>1000,33466=>1000,33467=>1000,33468=>1000,33469=>1000,33470=>1000,33471=>1000,33472=>1000,33473=>1000,33474=>1000,33475=>1000,33476=>1000,33477=>1000,33478=>1000,33479=>1000,33480=>1000,33481=>1000,33482=>1000,33483=>1000,33484=>1000,33485=>1000,33486=>1000,33487=>1000,33488=>1000,33489=>1000,33490=>1000,33491=>1000,33492=>1000,33493=>1000,33494=>1000,33495=>1000,33496=>1000,33497=>1000,33498=>1000,33499=>1000,33500=>1000,33501=>1000,33502=>1000,33503=>1000,33504=>1000,33505=>1000,33506=>1000,33507=>1000,33508=>1000,33509=>1000,33510=>1000,33511=>1000,33512=>1000,33513=>1000,33514=>1000,33515=>1000,33516=>1000,33517=>1000,33518=>1000,33519=>1000,33520=>1000,33521=>1000,33522=>1000,33523=>1000,33524=>1000,33525=>1000,33526=>1000,33527=>1000,33528=>1000,33529=>1000,33530=>1000,33531=>1000,33532=>1000,33533=>1000,33534=>1000,33535=>1000,33536=>1000,33537=>1000,33538=>1000,33539=>1000,33540=>1000,33541=>1000,33542=>1000,33543=>1000,33544=>1000,33545=>1000,33546=>1000,33547=>1000,33548=>1000,33549=>1000,33550=>1000,33551=>1000,33552=>1000,33553=>1000,33554=>1000,33555=>1000,33556=>1000,33557=>1000,33558=>1000,33559=>1000,33560=>1000,33561=>1000,33562=>1000,33563=>1000,33564=>1000,33565=>1000,33566=>1000,33567=>1000,33568=>1000,33569=>1000,33570=>1000,33571=>1000,33572=>1000,33573=>1000,33574=>1000,33575=>1000,33576=>1000,33577=>1000,33578=>1000,33579=>1000,33580=>1000,33581=>1000,33582=>1000,33583=>1000,33584=>1000,33585=>1000,33586=>1000,33587=>1000,33588=>1000,33589=>1000,33590=>1000,33591=>1000,33592=>1000,33593=>1000,33594=>1000,33595=>1000,33596=>1000,33597=>1000,33598=>1000,33599=>1000,33600=>1000,33601=>1000,33602=>1000,33603=>1000,33604=>1000,33605=>1000,33606=>1000,33607=>1000,33608=>1000,33609=>1000,33610=>1000,33611=>1000,33612=>1000,33613=>1000,33614=>1000,33615=>1000,33616=>1000,33617=>1000,33618=>1000,33619=>1000,33620=>1000,33621=>1000,33622=>1000,33623=>1000,33624=>1000,33625=>1000,33626=>1000,33627=>1000,33628=>1000,33629=>1000,33630=>1000,33631=>1000,33632=>1000,33633=>1000,33634=>1000,33635=>1000,33636=>1000,33637=>1000,33638=>1000,33639=>1000,33640=>1000,33641=>1000,33642=>1000,33643=>1000,33644=>1000,33645=>1000,33646=>1000,33647=>1000,33648=>1000,33649=>1000,33650=>1000,33651=>1000,33652=>1000,33653=>1000,33654=>1000,33655=>1000,33656=>1000,33657=>1000,33658=>1000,33659=>1000,33660=>1000,33661=>1000,33662=>1000,33663=>1000,33664=>1000,33665=>1000,33666=>1000,33667=>1000,33668=>1000,33669=>1000,33670=>1000,33671=>1000,33672=>1000,33673=>1000,33674=>1000,33675=>1000,33676=>1000,33677=>1000,33678=>1000,33679=>1000,33680=>1000,33681=>1000,33682=>1000,33683=>1000,33684=>1000,33685=>1000,33686=>1000,33687=>1000,33688=>1000,33689=>1000,33690=>1000,33691=>1000,33692=>1000,33693=>1000,33694=>1000,33695=>1000,33696=>1000,33697=>1000,33698=>1000,33699=>1000,33700=>1000,33701=>1000,33702=>1000,33703=>1000,33704=>1000,33705=>1000,33706=>1000,33707=>1000,33708=>1000,33709=>1000,33710=>1000,33711=>1000,33712=>1000,33713=>1000,33714=>1000,33715=>1000,33716=>1000,33717=>1000,33718=>1000,33719=>1000,33720=>1000,33721=>1000,33722=>1000,33723=>1000,33724=>1000,33725=>1000,33726=>1000,33727=>1000,33728=>1000,33729=>1000,33730=>1000,33731=>1000,33732=>1000,33733=>1000,33734=>1000,33735=>1000,33736=>1000,33737=>1000,33738=>1000,33739=>1000,33740=>1000,33741=>1000,33742=>1000,33743=>1000,33744=>1000,33745=>1000,33746=>1000,33747=>1000,33748=>1000,33749=>1000,33750=>1000,33751=>1000,33752=>1000,33753=>1000,33754=>1000,33755=>1000,33756=>1000,33757=>1000,33758=>1000,33759=>1000,33760=>1000,33761=>1000,33762=>1000,33763=>1000,33764=>1000,33765=>1000,33766=>1000,33767=>1000,33768=>1000,33769=>1000,33770=>1000,33771=>1000,33772=>1000,33773=>1000,33774=>1000,33775=>1000,33776=>1000,33777=>1000,33778=>1000,33779=>1000,33780=>1000,33781=>1000,33782=>1000,33783=>1000,33784=>1000,33785=>1000,33786=>1000,33787=>1000,33788=>1000,33789=>1000,33790=>1000,33791=>1000,33792=>1000,33793=>1000,33794=>1000,33795=>1000,33796=>1000,33797=>1000,33798=>1000,33799=>1000,33800=>1000,33801=>1000,33802=>1000,33803=>1000,33804=>1000,33805=>1000,33806=>1000,33807=>1000,33808=>1000,33809=>1000,33810=>1000,33811=>1000,33812=>1000,33813=>1000,33814=>1000,33815=>1000,33816=>1000,33817=>1000,33818=>1000,33819=>1000,33820=>1000,33821=>1000,33822=>1000,33823=>1000,33824=>1000,33825=>1000,33826=>1000,33827=>1000,33828=>1000,33829=>1000,33830=>1000,33831=>1000,33832=>1000,33833=>1000,33834=>1000,33835=>1000,33836=>1000,33837=>1000,33838=>1000,33839=>1000,33840=>1000,33841=>1000,33842=>1000,33843=>1000,33844=>1000,33845=>1000,33846=>1000,33847=>1000,33848=>1000,33849=>1000,33850=>1000,33851=>1000,33852=>1000,33853=>1000,33854=>1000,33855=>1000,33856=>1000,33857=>1000,33858=>1000,33859=>1000,33860=>1000,33861=>1000,33862=>1000,33863=>1000,33864=>1000,33865=>1000,33866=>1000,33867=>1000,33868=>1000,33869=>1000,33870=>1000,33871=>1000,33872=>1000,33873=>1000,33874=>1000,33875=>1000,33876=>1000,33877=>1000,33878=>1000,33879=>1000,33880=>1000,33881=>1000,33882=>1000,33883=>1000,33884=>1000,33885=>1000,33886=>1000,33887=>1000,33888=>1000,33889=>1000,33890=>1000,33891=>1000,33892=>1000,33893=>1000,33894=>1000,33895=>1000,33896=>1000,33897=>1000,33898=>1000,33899=>1000,33900=>1000,33901=>1000,33902=>1000,33903=>1000,33904=>1000,33905=>1000,33906=>1000,33907=>1000,33908=>1000,33909=>1000,33910=>1000,33911=>1000,33912=>1000,33913=>1000,33914=>1000,33915=>1000,33916=>1000,33917=>1000,33918=>1000,33919=>1000,33920=>1000,33921=>1000,33922=>1000,33923=>1000,33924=>1000,33925=>1000,33926=>1000,33927=>1000,33928=>1000,33929=>1000,33930=>1000,33931=>1000,33932=>1000,33933=>1000,33934=>1000,33935=>1000,33936=>1000,33937=>1000,33938=>1000,33939=>1000,33940=>1000,33941=>1000,33942=>1000,33943=>1000,33944=>1000,33945=>1000,33946=>1000,33947=>1000,33948=>1000,33949=>1000,33950=>1000,33951=>1000,33952=>1000,33953=>1000,33954=>1000,33955=>1000,33956=>1000,33957=>1000,33958=>1000,33959=>1000,33960=>1000,33961=>1000,33962=>1000,33963=>1000,33964=>1000,33965=>1000,33966=>1000,33967=>1000,33968=>1000,33969=>1000,33970=>1000,33971=>1000,33972=>1000,33973=>1000,33974=>1000,33975=>1000,33976=>1000,33977=>1000,33978=>1000,33979=>1000,33980=>1000,33981=>1000,33982=>1000,33983=>1000,33984=>1000,33985=>1000,33986=>1000,33987=>1000,33988=>1000,33989=>1000,33990=>1000,33991=>1000,33992=>1000,33993=>1000,33994=>1000,33995=>1000,33996=>1000,33997=>1000,33998=>1000,33999=>1000,34000=>1000,34001=>1000,34002=>1000,34003=>1000,34004=>1000,34005=>1000,34006=>1000,34007=>1000,34008=>1000,34009=>1000,34010=>1000,34011=>1000,34012=>1000,34013=>1000,34014=>1000,34015=>1000,34016=>1000,34017=>1000,34018=>1000,34019=>1000,34020=>1000,34021=>1000,34022=>1000,34023=>1000,34024=>1000,34025=>1000,34026=>1000,34027=>1000,34028=>1000,34029=>1000,34030=>1000,34031=>1000,34032=>1000,34033=>1000,34034=>1000,34035=>1000,34036=>1000,34037=>1000,34038=>1000,34039=>1000,34040=>1000,34041=>1000,34042=>1000,34043=>1000,34044=>1000,34045=>1000,34046=>1000,34047=>1000,34048=>1000,34049=>1000,34050=>1000,34051=>1000,34052=>1000,34053=>1000,34054=>1000,34055=>1000,34056=>1000,34057=>1000,34058=>1000,34059=>1000,34060=>1000,34061=>1000,34062=>1000,34063=>1000,34064=>1000,34065=>1000,34066=>1000,34067=>1000,34068=>1000,34069=>1000,34070=>1000,34071=>1000,34072=>1000,34073=>1000,34074=>1000,34075=>1000,34076=>1000,34077=>1000,34078=>1000,34079=>1000,34080=>1000,34081=>1000,34082=>1000,34083=>1000,34084=>1000,34085=>1000,34086=>1000,34087=>1000,34088=>1000,34089=>1000,34090=>1000,34091=>1000,34092=>1000,34093=>1000,34094=>1000,34095=>1000,34096=>1000,34097=>1000,34098=>1000,34099=>1000,34100=>1000,34101=>1000,34102=>1000,34103=>1000,34104=>1000,34105=>1000,34106=>1000,34107=>1000,34108=>1000,34109=>1000,34110=>1000,34111=>1000,34112=>1000,34113=>1000,34114=>1000,34115=>1000,34116=>1000,34117=>1000,34118=>1000,34119=>1000,34120=>1000,34121=>1000,34122=>1000,34123=>1000,34124=>1000,34125=>1000,34126=>1000,34127=>1000,34128=>1000,34129=>1000,34130=>1000,34131=>1000,34132=>1000,34133=>1000,34134=>1000,34135=>1000,34136=>1000,34137=>1000,34138=>1000,34139=>1000,34140=>1000,34141=>1000,34142=>1000,34143=>1000,34144=>1000,34145=>1000,34146=>1000,34147=>1000,34148=>1000,34149=>1000,34150=>1000,34151=>1000,34152=>1000,34153=>1000,34154=>1000,34155=>1000,34156=>1000,34157=>1000,34158=>1000,34159=>1000,34160=>1000,34161=>1000,34162=>1000,34163=>1000,34164=>1000,34165=>1000,34166=>1000,34167=>1000,34168=>1000,34169=>1000,34170=>1000,34171=>1000,34172=>1000,34173=>1000,34174=>1000,34175=>1000,34176=>1000,34177=>1000,34178=>1000,34179=>1000,34180=>1000,34181=>1000,34182=>1000,34183=>1000,34184=>1000,34185=>1000,34186=>1000,34187=>1000,34188=>1000,34189=>1000,34190=>1000,34191=>1000,34192=>1000,34193=>1000,34194=>1000,34195=>1000,34196=>1000,34197=>1000,34198=>1000,34199=>1000,34200=>1000,34201=>1000,34202=>1000,34203=>1000,34204=>1000,34205=>1000,34206=>1000,34207=>1000,34208=>1000,34209=>1000,34210=>1000,34211=>1000,34212=>1000,34213=>1000,34214=>1000,34215=>1000,34216=>1000,34217=>1000,34218=>1000,34219=>1000,34220=>1000,34221=>1000,34222=>1000,34223=>1000,34224=>1000,34225=>1000,34226=>1000,34227=>1000,34228=>1000,34229=>1000,34230=>1000,34231=>1000,34232=>1000,34233=>1000,34234=>1000,34235=>1000,34236=>1000,34237=>1000,34238=>1000,34239=>1000,34240=>1000,34241=>1000,34242=>1000,34243=>1000,34244=>1000,34245=>1000,34246=>1000,34247=>1000,34248=>1000,34249=>1000,34250=>1000,34251=>1000,34252=>1000,34253=>1000,34254=>1000,34255=>1000,34256=>1000,34257=>1000,34258=>1000,34259=>1000,34260=>1000,34261=>1000,34262=>1000,34263=>1000,34264=>1000,34265=>1000,34266=>1000,34267=>1000,34268=>1000,34269=>1000,34270=>1000,34271=>1000,34272=>1000,34273=>1000,34274=>1000,34275=>1000,34276=>1000,34277=>1000,34278=>1000,34279=>1000,34280=>1000,34281=>1000,34282=>1000,34283=>1000,34284=>1000,34285=>1000,34286=>1000,34287=>1000,34288=>1000,34289=>1000,34290=>1000,34291=>1000,34292=>1000,34293=>1000,34294=>1000,34295=>1000,34296=>1000,34297=>1000,34298=>1000,34299=>1000,34300=>1000,34301=>1000,34302=>1000,34303=>1000,34304=>1000,34305=>1000,34306=>1000,34307=>1000,34308=>1000,34309=>1000,34310=>1000,34311=>1000,34312=>1000,34313=>1000,34314=>1000,34315=>1000,34316=>1000,34317=>1000,34318=>1000,34319=>1000,34320=>1000,34321=>1000,34322=>1000,34323=>1000,34324=>1000,34325=>1000,34326=>1000,34327=>1000,34328=>1000,34329=>1000,34330=>1000,34331=>1000,34332=>1000,34333=>1000,34334=>1000,34335=>1000,34336=>1000,34337=>1000,34338=>1000,34339=>1000,34340=>1000,34341=>1000,34342=>1000,34343=>1000,34344=>1000,34345=>1000,34346=>1000,34347=>1000,34348=>1000,34349=>1000,34350=>1000,34351=>1000,34352=>1000,34353=>1000,34354=>1000,34355=>1000,34356=>1000,34357=>1000,34358=>1000,34359=>1000,34360=>1000,34361=>1000,34362=>1000,34363=>1000,34364=>1000,34365=>1000,34366=>1000,34367=>1000,34368=>1000,34369=>1000,34370=>1000,34371=>1000,34372=>1000,34373=>1000,34374=>1000,34375=>1000,34376=>1000,34377=>1000,34378=>1000,34379=>1000,34380=>1000,34381=>1000,34382=>1000,34383=>1000,34384=>1000,34385=>1000,34386=>1000,34387=>1000,34388=>1000,34389=>1000,34390=>1000,34391=>1000,34392=>1000,34393=>1000,34394=>1000,34395=>1000,34396=>1000,34397=>1000,34398=>1000,34399=>1000,34400=>1000,34401=>1000,34402=>1000,34403=>1000,34404=>1000,34405=>1000,34406=>1000,34407=>1000,34408=>1000,34409=>1000,34410=>1000,34411=>1000,34412=>1000,34413=>1000,34414=>1000,34415=>1000,34416=>1000,34417=>1000,34418=>1000,34419=>1000,34420=>1000,34421=>1000,34422=>1000,34423=>1000,34424=>1000,34425=>1000,34426=>1000,34427=>1000,34428=>1000,34429=>1000,34430=>1000,34431=>1000,34432=>1000,34433=>1000,34434=>1000,34435=>1000,34436=>1000,34437=>1000,34438=>1000,34439=>1000,34440=>1000,34441=>1000,34442=>1000,34443=>1000,34444=>1000,34445=>1000,34446=>1000,34447=>1000,34448=>1000,34449=>1000,34450=>1000,34451=>1000,34452=>1000,34453=>1000,34454=>1000,34455=>1000,34456=>1000,34457=>1000,34458=>1000,34459=>1000,34460=>1000,34461=>1000,34462=>1000,34463=>1000,34464=>1000,34465=>1000,34466=>1000,34467=>1000,34468=>1000,34469=>1000,34470=>1000,34471=>1000,34472=>1000,34473=>1000,34474=>1000,34475=>1000,34476=>1000,34477=>1000,34478=>1000,34479=>1000,34480=>1000,34481=>1000,34482=>1000,34483=>1000,34484=>1000,34485=>1000,34486=>1000,34487=>1000,34488=>1000,34489=>1000,34490=>1000,34491=>1000,34492=>1000,34493=>1000,34494=>1000,34495=>1000,34496=>1000,34497=>1000,34498=>1000,34499=>1000,34500=>1000,34501=>1000,34502=>1000,34503=>1000,34504=>1000,34505=>1000,34506=>1000,34507=>1000,34508=>1000,34509=>1000,34510=>1000,34511=>1000,34512=>1000,34513=>1000,34514=>1000,34515=>1000,34516=>1000,34517=>1000,34518=>1000,34519=>1000,34520=>1000,34521=>1000,34522=>1000,34523=>1000,34524=>1000,34525=>1000,34526=>1000,34527=>1000,34528=>1000,34529=>1000,34530=>1000,34531=>1000,34532=>1000,34533=>1000,34534=>1000,34535=>1000,34536=>1000,34537=>1000,34538=>1000,34539=>1000,34540=>1000,34541=>1000,34542=>1000,34543=>1000,34544=>1000,34545=>1000,34546=>1000,34547=>1000,34548=>1000,34549=>1000,34550=>1000,34551=>1000,34552=>1000,34553=>1000,34554=>1000,34555=>1000,34556=>1000,34557=>1000,34558=>1000,34559=>1000,34560=>1000,34561=>1000,34562=>1000,34563=>1000,34564=>1000,34565=>1000,34566=>1000,34567=>1000,34568=>1000,34569=>1000,34570=>1000,34571=>1000,34572=>1000,34573=>1000,34574=>1000,34575=>1000,34576=>1000,34577=>1000,34578=>1000,34579=>1000,34580=>1000,34581=>1000,34582=>1000,34583=>1000,34584=>1000,34585=>1000,34586=>1000,34587=>1000,34588=>1000,34589=>1000,34590=>1000,34591=>1000,34592=>1000,34593=>1000,34594=>1000,34595=>1000,34596=>1000,34597=>1000,34598=>1000,34599=>1000,34600=>1000,34601=>1000,34602=>1000,34603=>1000,34604=>1000,34605=>1000,34606=>1000,34607=>1000,34608=>1000,34609=>1000,34610=>1000,34611=>1000,34612=>1000,34613=>1000,34614=>1000,34615=>1000,34616=>1000,34617=>1000,34618=>1000,34619=>1000,34620=>1000,34621=>1000,34622=>1000,34623=>1000,34624=>1000,34625=>1000,34626=>1000,34627=>1000,34628=>1000,34629=>1000,34630=>1000,34631=>1000,34632=>1000,34633=>1000,34634=>1000,34635=>1000,34636=>1000,34637=>1000,34638=>1000,34639=>1000,34640=>1000,34641=>1000,34642=>1000,34643=>1000,34644=>1000,34645=>1000,34646=>1000,34647=>1000,34648=>1000,34649=>1000,34650=>1000,34651=>1000,34652=>1000,34653=>1000,34654=>1000,34655=>1000,34656=>1000,34657=>1000,34658=>1000,34659=>1000,34660=>1000,34661=>1000,34662=>1000,34663=>1000,34664=>1000,34665=>1000,34666=>1000,34667=>1000,34668=>1000,34669=>1000,34670=>1000,34671=>1000,34672=>1000,34673=>1000,34674=>1000,34675=>1000,34676=>1000,34677=>1000,34678=>1000,34679=>1000,34680=>1000,34681=>1000,34682=>1000,34683=>1000,34684=>1000,34685=>1000,34686=>1000,34687=>1000,34688=>1000,34689=>1000,34690=>1000,34691=>1000,34692=>1000,34693=>1000,34694=>1000,34695=>1000,34696=>1000,34697=>1000,34698=>1000,34699=>1000,34700=>1000,34701=>1000,34702=>1000,34703=>1000,34704=>1000,34705=>1000,34706=>1000,34707=>1000,34708=>1000,34709=>1000,34710=>1000,34711=>1000,34712=>1000,34713=>1000,34714=>1000,34715=>1000,34716=>1000,34717=>1000,34718=>1000,34719=>1000,34720=>1000,34721=>1000,34722=>1000,34723=>1000,34724=>1000,34725=>1000,34726=>1000,34727=>1000,34728=>1000,34729=>1000,34730=>1000,34731=>1000,34732=>1000,34733=>1000,34734=>1000,34735=>1000,34736=>1000,34737=>1000,34738=>1000,34739=>1000,34740=>1000,34741=>1000,34742=>1000,34743=>1000,34744=>1000,34745=>1000,34746=>1000,34747=>1000,34748=>1000,34749=>1000,34750=>1000,34751=>1000,34752=>1000,34753=>1000,34754=>1000,34755=>1000,34756=>1000,34757=>1000,34758=>1000,34759=>1000,34760=>1000,34761=>1000,34762=>1000,34763=>1000,34764=>1000,34765=>1000,34766=>1000,34767=>1000,34768=>1000,34769=>1000,34770=>1000,34771=>1000,34772=>1000,34773=>1000,34774=>1000,34775=>1000,34776=>1000,34777=>1000,34778=>1000,34779=>1000,34780=>1000,34781=>1000,34782=>1000,34783=>1000,34784=>1000,34785=>1000,34786=>1000,34787=>1000,34788=>1000,34789=>1000,34790=>1000,34791=>1000,34792=>1000,34793=>1000,34794=>1000,34795=>1000,34796=>1000,34797=>1000,34798=>1000,34799=>1000,34800=>1000,34801=>1000,34802=>1000,34803=>1000,34804=>1000,34805=>1000,34806=>1000,34807=>1000,34808=>1000,34809=>1000,34810=>1000,34811=>1000,34812=>1000,34813=>1000,34814=>1000,34815=>1000,34816=>1000,34817=>1000,34818=>1000,34819=>1000,34820=>1000,34821=>1000,34822=>1000,34823=>1000,34824=>1000,34825=>1000,34826=>1000,34827=>1000,34828=>1000,34829=>1000,34830=>1000,34831=>1000,34832=>1000,34833=>1000,34834=>1000,34835=>1000,34836=>1000,34837=>1000,34838=>1000,34839=>1000,34840=>1000,34841=>1000,34842=>1000,34843=>1000,34844=>1000,34845=>1000,34846=>1000,34847=>1000,34848=>1000,34849=>1000,34850=>1000,34851=>1000,34852=>1000,34853=>1000,34854=>1000,34855=>1000,34856=>1000,34857=>1000,34858=>1000,34859=>1000,34860=>1000,34861=>1000,34862=>1000,34863=>1000,34864=>1000,34865=>1000,34866=>1000,34867=>1000,34868=>1000,34869=>1000,34870=>1000,34871=>1000,34872=>1000,34873=>1000,34874=>1000,34875=>1000,34876=>1000,34877=>1000,34878=>1000,34879=>1000,34880=>1000,34881=>1000,34882=>1000,34883=>1000,34884=>1000,34885=>1000,34886=>1000,34887=>1000,34888=>1000,34889=>1000,34890=>1000,34891=>1000,34892=>1000,34893=>1000,34894=>1000,34895=>1000,34896=>1000,34897=>1000,34898=>1000,34899=>1000,34900=>1000,34901=>1000,34902=>1000,34903=>1000,34904=>1000,34905=>1000,34906=>1000,34907=>1000,34908=>1000,34909=>1000,34910=>1000,34911=>1000,34912=>1000,34913=>1000,34914=>1000,34915=>1000,34916=>1000,34917=>1000,34918=>1000,34919=>1000,34920=>1000,34921=>1000,34922=>1000,34923=>1000,34924=>1000,34925=>1000,34926=>1000,34927=>1000,34928=>1000,34929=>1000,34930=>1000,34931=>1000,34932=>1000,34933=>1000,34934=>1000,34935=>1000,34936=>1000,34937=>1000,34938=>1000,34939=>1000,34940=>1000,34941=>1000,34942=>1000,34943=>1000,34944=>1000,34945=>1000,34946=>1000,34947=>1000,34948=>1000,34949=>1000,34950=>1000,34951=>1000,34952=>1000,34953=>1000,34954=>1000,34955=>1000,34956=>1000,34957=>1000,34958=>1000,34959=>1000,34960=>1000,34961=>1000,34962=>1000,34963=>1000,34964=>1000,34965=>1000,34966=>1000,34967=>1000,34968=>1000,34969=>1000,34970=>1000,34971=>1000,34972=>1000,34973=>1000,34974=>1000,34975=>1000,34976=>1000,34977=>1000,34978=>1000,34979=>1000,34980=>1000,34981=>1000,34982=>1000,34983=>1000,34984=>1000,34985=>1000,34986=>1000,34987=>1000,34988=>1000,34989=>1000,34990=>1000,34991=>1000,34992=>1000,34993=>1000,34994=>1000,34995=>1000,34996=>1000,34997=>1000,34998=>1000,34999=>1000,35000=>1000,35001=>1000,35002=>1000,35003=>1000,35004=>1000,35005=>1000,35006=>1000,35007=>1000,35008=>1000,35009=>1000,35010=>1000,35011=>1000,35012=>1000,35013=>1000,35014=>1000,35015=>1000,35016=>1000,35017=>1000,35018=>1000,35019=>1000,35020=>1000,35021=>1000,35022=>1000,35023=>1000,35024=>1000,35025=>1000,35026=>1000,35027=>1000,35028=>1000,35029=>1000,35030=>1000,35031=>1000,35032=>1000,35033=>1000,35034=>1000,35035=>1000,35036=>1000,35037=>1000,35038=>1000,35039=>1000,35040=>1000,35041=>1000,35042=>1000,35043=>1000,35044=>1000,35045=>1000,35046=>1000,35047=>1000,35048=>1000,35049=>1000,35050=>1000,35051=>1000,35052=>1000,35053=>1000,35054=>1000,35055=>1000,35056=>1000,35057=>1000,35058=>1000,35059=>1000,35060=>1000,35061=>1000,35062=>1000,35063=>1000,35064=>1000,35065=>1000,35066=>1000,35067=>1000,35068=>1000,35069=>1000,35070=>1000,35071=>1000,35072=>1000,35073=>1000,35074=>1000,35075=>1000,35076=>1000,35077=>1000,35078=>1000,35079=>1000,35080=>1000,35081=>1000,35082=>1000,35083=>1000,35084=>1000,35085=>1000,35086=>1000,35087=>1000,35088=>1000,35089=>1000,35090=>1000,35091=>1000,35092=>1000,35093=>1000,35094=>1000,35095=>1000,35096=>1000,35097=>1000,35098=>1000,35099=>1000,35100=>1000,35101=>1000,35102=>1000,35103=>1000,35104=>1000,35105=>1000,35106=>1000,35107=>1000,35108=>1000,35109=>1000,35110=>1000,35111=>1000,35112=>1000,35113=>1000,35114=>1000,35115=>1000,35116=>1000,35117=>1000,35118=>1000,35119=>1000,35120=>1000,35121=>1000,35122=>1000,35123=>1000,35124=>1000,35125=>1000,35126=>1000,35127=>1000,35128=>1000,35129=>1000,35130=>1000,35131=>1000,35132=>1000,35133=>1000,35134=>1000,35135=>1000,35136=>1000,35137=>1000,35138=>1000,35139=>1000,35140=>1000,35141=>1000,35142=>1000,35143=>1000,35144=>1000,35145=>1000,35146=>1000,35147=>1000,35148=>1000,35149=>1000,35150=>1000,35151=>1000,35152=>1000,35153=>1000,35154=>1000,35155=>1000,35156=>1000,35157=>1000,35158=>1000,35159=>1000,35160=>1000,35161=>1000,35162=>1000,35163=>1000,35164=>1000,35165=>1000,35166=>1000,35167=>1000,35168=>1000,35169=>1000,35170=>1000,35171=>1000,35172=>1000,35173=>1000,35174=>1000,35175=>1000,35176=>1000,35177=>1000,35178=>1000,35179=>1000,35180=>1000,35181=>1000,35182=>1000,35183=>1000,35184=>1000,35185=>1000,35186=>1000,35187=>1000,35188=>1000,35189=>1000,35190=>1000,35191=>1000,35192=>1000,35193=>1000,35194=>1000,35195=>1000,35196=>1000,35197=>1000,35198=>1000,35199=>1000,35200=>1000,35201=>1000,35202=>1000,35203=>1000,35204=>1000,35205=>1000,35206=>1000,35207=>1000,35208=>1000,35209=>1000,35210=>1000,35211=>1000,35212=>1000,35213=>1000,35214=>1000,35215=>1000,35216=>1000,35217=>1000,35218=>1000,35219=>1000,35220=>1000,35221=>1000,35222=>1000,35223=>1000,35224=>1000,35225=>1000,35226=>1000,35227=>1000,35228=>1000,35229=>1000,35230=>1000,35231=>1000,35232=>1000,35233=>1000,35234=>1000,35235=>1000,35236=>1000,35237=>1000,35238=>1000,35239=>1000,35240=>1000,35241=>1000,35242=>1000,35243=>1000,35244=>1000,35245=>1000,35246=>1000,35247=>1000,35248=>1000,35249=>1000,35250=>1000,35251=>1000,35252=>1000,35253=>1000,35254=>1000,35255=>1000,35256=>1000,35257=>1000,35258=>1000,35259=>1000,35260=>1000,35261=>1000,35262=>1000,35263=>1000,35264=>1000,35265=>1000,35266=>1000,35267=>1000,35268=>1000,35269=>1000,35270=>1000,35271=>1000,35272=>1000,35273=>1000,35274=>1000,35275=>1000,35276=>1000,35277=>1000,35278=>1000,35279=>1000,35280=>1000,35281=>1000,35282=>1000,35283=>1000,35284=>1000,35285=>1000,35286=>1000,35287=>1000,35288=>1000,35289=>1000,35290=>1000,35291=>1000,35292=>1000,35293=>1000,35294=>1000,35295=>1000,35296=>1000,35297=>1000,35298=>1000,35299=>1000,35300=>1000,35301=>1000,35302=>1000,35303=>1000,35304=>1000,35305=>1000,35306=>1000,35307=>1000,35308=>1000,35309=>1000,35310=>1000,35311=>1000,35312=>1000,35313=>1000,35314=>1000,35315=>1000,35316=>1000,35317=>1000,35318=>1000,35319=>1000,35320=>1000,35321=>1000,35322=>1000,35323=>1000,35324=>1000,35325=>1000,35326=>1000,35327=>1000,35328=>1000,35329=>1000,35330=>1000,35331=>1000,35332=>1000,35333=>1000,35334=>1000,35335=>1000,35336=>1000,35337=>1000,35338=>1000,35339=>1000,35340=>1000,35341=>1000,35342=>1000,35343=>1000,35344=>1000,35345=>1000,35346=>1000,35347=>1000,35348=>1000,35349=>1000,35350=>1000,35351=>1000,35352=>1000,35353=>1000,35354=>1000,35355=>1000,35356=>1000,35357=>1000,35358=>1000,35359=>1000,35360=>1000,35361=>1000,35362=>1000,35363=>1000,35364=>1000,35365=>1000,35366=>1000,35367=>1000,35368=>1000,35369=>1000,35370=>1000,35371=>1000,35372=>1000,35373=>1000,35374=>1000,35375=>1000,35376=>1000,35377=>1000,35378=>1000,35379=>1000,35380=>1000,35381=>1000,35382=>1000,35383=>1000,35384=>1000,35385=>1000,35386=>1000,35387=>1000,35388=>1000,35389=>1000,35390=>1000,35391=>1000,35392=>1000,35393=>1000,35394=>1000,35395=>1000,35396=>1000,35397=>1000,35398=>1000,35399=>1000,35400=>1000,35401=>1000,35402=>1000,35403=>1000,35404=>1000,35405=>1000,35406=>1000,35407=>1000,35408=>1000,35409=>1000,35410=>1000,35411=>1000,35412=>1000,35413=>1000,35414=>1000,35415=>1000,35416=>1000,35417=>1000,35418=>1000,35419=>1000,35420=>1000,35421=>1000,35422=>1000,35423=>1000,35424=>1000,35425=>1000,35426=>1000,35427=>1000,35428=>1000,35429=>1000,35430=>1000,35431=>1000,35432=>1000,35433=>1000,35434=>1000,35435=>1000,35436=>1000,35437=>1000,35438=>1000,35439=>1000,35440=>1000,35441=>1000,35442=>1000,35443=>1000,35444=>1000,35445=>1000,35446=>1000,35447=>1000,35448=>1000,35449=>1000,35450=>1000,35451=>1000,35452=>1000,35453=>1000,35454=>1000,35455=>1000,35456=>1000,35457=>1000,35458=>1000,35459=>1000,35460=>1000,35461=>1000,35462=>1000,35463=>1000,35464=>1000,35465=>1000,35466=>1000,35467=>1000,35468=>1000,35469=>1000,35470=>1000,35471=>1000,35472=>1000,35473=>1000,35474=>1000,35475=>1000,35476=>1000,35477=>1000,35478=>1000,35479=>1000,35480=>1000,35481=>1000,35482=>1000,35483=>1000,35484=>1000,35485=>1000,35486=>1000,35487=>1000,35488=>1000,35489=>1000,35490=>1000,35491=>1000,35492=>1000,35493=>1000,35494=>1000,35495=>1000,35496=>1000,35497=>1000,35498=>1000,35499=>1000,35500=>1000,35501=>1000,35502=>1000,35503=>1000,35504=>1000,35505=>1000,35506=>1000,35507=>1000,35508=>1000,35509=>1000,35510=>1000,35511=>1000,35512=>1000,35513=>1000,35514=>1000,35515=>1000,35516=>1000,35517=>1000,35518=>1000,35519=>1000,35520=>1000,35521=>1000,35522=>1000,35523=>1000,35524=>1000,35525=>1000,35526=>1000,35527=>1000,35528=>1000,35529=>1000,35530=>1000,35531=>1000,35532=>1000,35533=>1000,35534=>1000,35535=>1000,35536=>1000,35537=>1000,35538=>1000,35539=>1000,35540=>1000,35541=>1000,35542=>1000,35543=>1000,35544=>1000,35545=>1000,35546=>1000,35547=>1000,35548=>1000,35549=>1000,35550=>1000,35551=>1000,35552=>1000,35553=>1000,35554=>1000,35555=>1000,35556=>1000,35557=>1000,35558=>1000,35559=>1000,35560=>1000,35561=>1000,35562=>1000,35563=>1000,35564=>1000,35565=>1000,35566=>1000,35567=>1000,35568=>1000,35569=>1000,35570=>1000,35571=>1000,35572=>1000,35573=>1000,35574=>1000,35575=>1000,35576=>1000,35577=>1000,35578=>1000,35579=>1000,35580=>1000,35581=>1000,35582=>1000,35583=>1000,35584=>1000,35585=>1000,35586=>1000,35587=>1000,35588=>1000,35589=>1000,35590=>1000,35591=>1000,35592=>1000,35593=>1000,35594=>1000,35595=>1000,35596=>1000,35597=>1000,35598=>1000,35599=>1000,35600=>1000,35601=>1000,35602=>1000,35603=>1000,35604=>1000,35605=>1000,35606=>1000,35607=>1000,35608=>1000,35609=>1000,35610=>1000,35611=>1000,35612=>1000,35613=>1000,35614=>1000,35615=>1000,35616=>1000,35617=>1000,35618=>1000,35619=>1000,35620=>1000,35621=>1000,35622=>1000,35623=>1000,35624=>1000,35625=>1000,35626=>1000,35627=>1000,35628=>1000,35629=>1000,35630=>1000,35631=>1000,35632=>1000,35633=>1000,35634=>1000,35635=>1000,35636=>1000,35637=>1000,35638=>1000,35639=>1000,35640=>1000,35641=>1000,35642=>1000,35643=>1000,35644=>1000,35645=>1000,35646=>1000,35647=>1000,35648=>1000,35649=>1000,35650=>1000,35651=>1000,35652=>1000,35653=>1000,35654=>1000,35655=>1000,35656=>1000,35657=>1000,35658=>1000,35659=>1000,35660=>1000,35661=>1000,35662=>1000,35663=>1000,35664=>1000,35665=>1000,35666=>1000,35667=>1000,35668=>1000,35669=>1000,35670=>1000,35671=>1000,35672=>1000,35673=>1000,35674=>1000,35675=>1000,35676=>1000,35677=>1000,35678=>1000,35679=>1000,35680=>1000,35681=>1000,35682=>1000,35683=>1000,35684=>1000,35685=>1000,35686=>1000,35687=>1000,35688=>1000,35689=>1000,35690=>1000,35691=>1000,35692=>1000,35693=>1000,35694=>1000,35695=>1000,35696=>1000,35697=>1000,35698=>1000,35699=>1000,35700=>1000,35701=>1000,35702=>1000,35703=>1000,35704=>1000,35705=>1000,35706=>1000,35707=>1000,35708=>1000,35709=>1000,35710=>1000,35711=>1000,35712=>1000,35713=>1000,35714=>1000,35715=>1000,35716=>1000,35717=>1000,35718=>1000,35719=>1000,35720=>1000,35721=>1000,35722=>1000,35723=>1000,35724=>1000,35725=>1000,35726=>1000,35727=>1000,35728=>1000,35729=>1000,35730=>1000,35731=>1000,35732=>1000,35733=>1000,35734=>1000,35735=>1000,35736=>1000,35737=>1000,35738=>1000,35739=>1000,35740=>1000,35741=>1000,35742=>1000,35743=>1000,35744=>1000,35745=>1000,35746=>1000,35747=>1000,35748=>1000,35749=>1000,35750=>1000,35751=>1000,35752=>1000,35753=>1000,35754=>1000,35755=>1000,35756=>1000,35757=>1000,35758=>1000,35759=>1000,35760=>1000,35761=>1000,35762=>1000,35763=>1000,35764=>1000,35765=>1000,35766=>1000,35767=>1000,35768=>1000,35769=>1000,35770=>1000,35771=>1000,35772=>1000,35773=>1000,35774=>1000,35775=>1000,35776=>1000,35777=>1000,35778=>1000,35779=>1000,35780=>1000,35781=>1000,35782=>1000,35783=>1000,35784=>1000,35785=>1000,35786=>1000,35787=>1000,35788=>1000,35789=>1000,35790=>1000,35791=>1000,35792=>1000,35793=>1000,35794=>1000,35795=>1000,35796=>1000,35797=>1000,35798=>1000,35799=>1000,35800=>1000,35801=>1000,35802=>1000,35803=>1000,35804=>1000,35805=>1000,35806=>1000,35807=>1000,35808=>1000,35809=>1000,35810=>1000,35811=>1000,35812=>1000,35813=>1000,35814=>1000,35815=>1000,35816=>1000,35817=>1000,35818=>1000,35819=>1000,35820=>1000,35821=>1000,35822=>1000,35823=>1000,35824=>1000,35825=>1000,35826=>1000,35827=>1000,35828=>1000,35829=>1000,35830=>1000,35831=>1000,35832=>1000,35833=>1000,35834=>1000,35835=>1000,35836=>1000,35837=>1000,35838=>1000,35839=>1000,35840=>1000,35841=>1000,35842=>1000,35843=>1000,35844=>1000,35845=>1000,35846=>1000,35847=>1000,35848=>1000,35849=>1000,35850=>1000,35851=>1000,35852=>1000,35853=>1000,35854=>1000,35855=>1000,35856=>1000,35857=>1000,35858=>1000,35859=>1000,35860=>1000,35861=>1000,35862=>1000,35863=>1000,35864=>1000,35865=>1000,35866=>1000,35867=>1000,35868=>1000,35869=>1000,35870=>1000,35871=>1000,35872=>1000,35873=>1000,35874=>1000,35875=>1000,35876=>1000,35877=>1000,35878=>1000,35879=>1000,35880=>1000,35881=>1000,35882=>1000,35883=>1000,35884=>1000,35885=>1000,35886=>1000,35887=>1000,35888=>1000,35889=>1000,35890=>1000,35891=>1000,35892=>1000,35893=>1000,35894=>1000,35895=>1000,35896=>1000,35897=>1000,35898=>1000,35899=>1000,35900=>1000,35901=>1000,35902=>1000,35903=>1000,35904=>1000,35905=>1000,35906=>1000,35907=>1000,35908=>1000,35909=>1000,35910=>1000,35911=>1000,35912=>1000,35913=>1000,35914=>1000,35915=>1000,35916=>1000,35917=>1000,35918=>1000,35919=>1000,35920=>1000,35921=>1000,35922=>1000,35923=>1000,35924=>1000,35925=>1000,35926=>1000,35927=>1000,35928=>1000,35929=>1000,35930=>1000,35931=>1000,35932=>1000,35933=>1000,35934=>1000,35935=>1000,35936=>1000,35937=>1000,35938=>1000,35939=>1000,35940=>1000,35941=>1000,35942=>1000,35943=>1000,35944=>1000,35945=>1000,35946=>1000,35947=>1000,35948=>1000,35949=>1000,35950=>1000,35951=>1000,35952=>1000,35953=>1000,35954=>1000,35955=>1000,35956=>1000,35957=>1000,35958=>1000,35959=>1000,35960=>1000,35961=>1000,35962=>1000,35963=>1000,35964=>1000,35965=>1000,35966=>1000,35967=>1000,35968=>1000,35969=>1000,35970=>1000,35971=>1000,35972=>1000,35973=>1000,35974=>1000,35975=>1000,35976=>1000,35977=>1000,35978=>1000,35979=>1000,35980=>1000,35981=>1000,35982=>1000,35983=>1000,35984=>1000,35985=>1000,35986=>1000,35987=>1000,35988=>1000,35989=>1000,35990=>1000,35991=>1000,35992=>1000,35993=>1000,35994=>1000,35995=>1000,35996=>1000,35997=>1000,35998=>1000,35999=>1000,36000=>1000,36001=>1000,36002=>1000,36003=>1000,36004=>1000,36005=>1000,36006=>1000,36007=>1000,36008=>1000,36009=>1000,36010=>1000,36011=>1000,36012=>1000,36013=>1000,36014=>1000,36015=>1000,36016=>1000,36017=>1000,36018=>1000,36019=>1000,36020=>1000,36021=>1000,36022=>1000,36023=>1000,36024=>1000,36025=>1000,36026=>1000,36027=>1000,36028=>1000,36029=>1000,36030=>1000,36031=>1000,36032=>1000,36033=>1000,36034=>1000,36035=>1000,36036=>1000,36037=>1000,36038=>1000,36039=>1000,36040=>1000,36041=>1000,36042=>1000,36043=>1000,36044=>1000,36045=>1000,36046=>1000,36047=>1000,36048=>1000,36049=>1000,36050=>1000,36051=>1000,36052=>1000,36053=>1000,36054=>1000,36055=>1000,36056=>1000,36057=>1000,36058=>1000,36059=>1000,36060=>1000,36061=>1000,36062=>1000,36063=>1000,36064=>1000,36065=>1000,36066=>1000,36067=>1000,36068=>1000,36069=>1000,36070=>1000,36071=>1000,36072=>1000,36073=>1000,36074=>1000,36075=>1000,36076=>1000,36077=>1000,36078=>1000,36079=>1000,36080=>1000,36081=>1000,36082=>1000,36083=>1000,36084=>1000,36085=>1000,36086=>1000,36087=>1000,36088=>1000,36089=>1000,36090=>1000,36091=>1000,36092=>1000,36093=>1000,36094=>1000,36095=>1000,36096=>1000,36097=>1000,36098=>1000,36099=>1000,36100=>1000,36101=>1000,36102=>1000,36103=>1000,36104=>1000,36105=>1000,36106=>1000,36107=>1000,36108=>1000,36109=>1000,36110=>1000,36111=>1000,36112=>1000,36113=>1000,36114=>1000,36115=>1000,36116=>1000,36117=>1000,36118=>1000,36119=>1000,36120=>1000,36121=>1000,36122=>1000,36123=>1000,36124=>1000,36125=>1000,36126=>1000,36127=>1000,36128=>1000,36129=>1000,36130=>1000,36131=>1000,36132=>1000,36133=>1000,36134=>1000,36135=>1000,36136=>1000,36137=>1000,36138=>1000,36139=>1000,36140=>1000,36141=>1000,36142=>1000,36143=>1000,36144=>1000,36145=>1000,36146=>1000,36147=>1000,36148=>1000,36149=>1000,36150=>1000,36151=>1000,36152=>1000,36153=>1000,36154=>1000,36155=>1000,36156=>1000,36157=>1000,36158=>1000,36159=>1000,36160=>1000,36161=>1000,36162=>1000,36163=>1000,36164=>1000,36165=>1000,36166=>1000,36167=>1000,36168=>1000,36169=>1000,36170=>1000,36171=>1000,36172=>1000,36173=>1000,36174=>1000,36175=>1000,36176=>1000,36177=>1000,36178=>1000,36179=>1000,36180=>1000,36181=>1000,36182=>1000,36183=>1000,36184=>1000,36185=>1000,36186=>1000,36187=>1000,36188=>1000,36189=>1000,36190=>1000,36191=>1000,36192=>1000,36193=>1000,36194=>1000,36195=>1000,36196=>1000,36197=>1000,36198=>1000,36199=>1000,36200=>1000,36201=>1000,36202=>1000,36203=>1000,36204=>1000,36205=>1000,36206=>1000,36207=>1000,36208=>1000,36209=>1000,36210=>1000,36211=>1000,36212=>1000,36213=>1000,36214=>1000,36215=>1000,36216=>1000,36217=>1000,36218=>1000,36219=>1000,36220=>1000,36221=>1000,36222=>1000,36223=>1000,36224=>1000,36225=>1000,36226=>1000,36227=>1000,36228=>1000,36229=>1000,36230=>1000,36231=>1000,36232=>1000,36233=>1000,36234=>1000,36235=>1000,36236=>1000,36237=>1000,36238=>1000,36239=>1000,36240=>1000,36241=>1000,36242=>1000,36243=>1000,36244=>1000,36245=>1000,36246=>1000,36247=>1000,36248=>1000,36249=>1000,36250=>1000,36251=>1000,36252=>1000,36253=>1000,36254=>1000,36255=>1000,36256=>1000,36257=>1000,36258=>1000,36259=>1000,36260=>1000,36261=>1000,36262=>1000,36263=>1000,36264=>1000,36265=>1000,36266=>1000,36267=>1000,36268=>1000,36269=>1000,36270=>1000,36271=>1000,36272=>1000,36273=>1000,36274=>1000,36275=>1000,36276=>1000,36277=>1000,36278=>1000,36279=>1000,36280=>1000,36281=>1000,36282=>1000,36283=>1000,36284=>1000,36285=>1000,36286=>1000,36287=>1000,36288=>1000,36289=>1000,36290=>1000,36291=>1000,36292=>1000,36293=>1000,36294=>1000,36295=>1000,36296=>1000,36297=>1000,36298=>1000,36299=>1000,36300=>1000,36301=>1000,36302=>1000,36303=>1000,36304=>1000,36305=>1000,36306=>1000,36307=>1000,36308=>1000,36309=>1000,36310=>1000,36311=>1000,36312=>1000,36313=>1000,36314=>1000,36315=>1000,36316=>1000,36317=>1000,36318=>1000,36319=>1000,36320=>1000,36321=>1000,36322=>1000,36323=>1000,36324=>1000,36325=>1000,36326=>1000,36327=>1000,36328=>1000,36329=>1000,36330=>1000,36331=>1000,36332=>1000,36333=>1000,36334=>1000,36335=>1000,36336=>1000,36337=>1000,36338=>1000,36339=>1000,36340=>1000,36341=>1000,36342=>1000,36343=>1000,36344=>1000,36345=>1000,36346=>1000,36347=>1000,36348=>1000,36349=>1000,36350=>1000,36351=>1000,36352=>1000,36353=>1000,36354=>1000,36355=>1000,36356=>1000,36357=>1000,36358=>1000,36359=>1000,36360=>1000,36361=>1000,36362=>1000,36363=>1000,36364=>1000,36365=>1000,36366=>1000,36367=>1000,36368=>1000,36369=>1000,36370=>1000,36371=>1000,36372=>1000,36373=>1000,36374=>1000,36375=>1000,36376=>1000,36377=>1000,36378=>1000,36379=>1000,36380=>1000,36381=>1000,36382=>1000,36383=>1000,36384=>1000,36385=>1000,36386=>1000,36387=>1000,36388=>1000,36389=>1000,36390=>1000,36391=>1000,36392=>1000,36393=>1000,36394=>1000,36395=>1000,36396=>1000,36397=>1000,36398=>1000,36399=>1000,36400=>1000,36401=>1000,36402=>1000,36403=>1000,36404=>1000,36405=>1000,36406=>1000,36407=>1000,36408=>1000,36409=>1000,36410=>1000,36411=>1000,36412=>1000,36413=>1000,36414=>1000,36415=>1000,36416=>1000,36417=>1000,36418=>1000,36419=>1000,36420=>1000,36421=>1000,36422=>1000,36423=>1000,36424=>1000,36425=>1000,36426=>1000,36427=>1000,36428=>1000,36429=>1000,36430=>1000,36431=>1000,36432=>1000,36433=>1000,36434=>1000,36435=>1000,36436=>1000,36437=>1000,36438=>1000,36439=>1000,36440=>1000,36441=>1000,36442=>1000,36443=>1000,36444=>1000,36445=>1000,36446=>1000,36447=>1000,36448=>1000,36449=>1000,36450=>1000,36451=>1000,36452=>1000,36453=>1000,36454=>1000,36455=>1000,36456=>1000,36457=>1000,36458=>1000,36459=>1000,36460=>1000,36461=>1000,36462=>1000,36463=>1000,36464=>1000,36465=>1000,36466=>1000,36467=>1000,36468=>1000,36469=>1000,36470=>1000,36471=>1000,36472=>1000,36473=>1000,36474=>1000,36475=>1000,36476=>1000,36477=>1000,36478=>1000,36479=>1000,36480=>1000,36481=>1000,36482=>1000,36483=>1000,36484=>1000,36485=>1000,36486=>1000,36487=>1000,36488=>1000,36489=>1000,36490=>1000,36491=>1000,36492=>1000,36493=>1000,36494=>1000,36495=>1000,36496=>1000,36497=>1000,36498=>1000,36499=>1000,36500=>1000,36501=>1000,36502=>1000,36503=>1000,36504=>1000,36505=>1000,36506=>1000,36507=>1000,36508=>1000,36509=>1000,36510=>1000,36511=>1000,36512=>1000,36513=>1000,36514=>1000,36515=>1000,36516=>1000,36517=>1000,36518=>1000,36519=>1000,36520=>1000,36521=>1000,36522=>1000,36523=>1000,36524=>1000,36525=>1000,36526=>1000,36527=>1000,36528=>1000,36529=>1000,36530=>1000,36531=>1000,36532=>1000,36533=>1000,36534=>1000,36535=>1000,36536=>1000,36537=>1000,36538=>1000,36539=>1000,36540=>1000,36541=>1000,36542=>1000,36543=>1000,36544=>1000,36545=>1000,36546=>1000,36547=>1000,36548=>1000,36549=>1000,36550=>1000,36551=>1000,36552=>1000,36553=>1000,36554=>1000,36555=>1000,36556=>1000,36557=>1000,36558=>1000,36559=>1000,36560=>1000,36561=>1000,36562=>1000,36563=>1000,36564=>1000,36565=>1000,36566=>1000,36567=>1000,36568=>1000,36569=>1000,36570=>1000,36571=>1000,36572=>1000,36573=>1000,36574=>1000,36575=>1000,36576=>1000,36577=>1000,36578=>1000,36579=>1000,36580=>1000,36581=>1000,36582=>1000,36583=>1000,36584=>1000,36585=>1000,36586=>1000,36587=>1000,36588=>1000,36589=>1000,36590=>1000,36591=>1000,36592=>1000,36593=>1000,36594=>1000,36595=>1000,36596=>1000,36597=>1000,36598=>1000,36599=>1000,36600=>1000,36601=>1000,36602=>1000,36603=>1000,36604=>1000,36605=>1000,36606=>1000,36607=>1000,36608=>1000,36609=>1000,36610=>1000,36611=>1000,36612=>1000,36613=>1000,36614=>1000,36615=>1000,36616=>1000,36617=>1000,36618=>1000,36619=>1000,36620=>1000,36621=>1000,36622=>1000,36623=>1000,36624=>1000,36625=>1000,36626=>1000,36627=>1000,36628=>1000,36629=>1000,36630=>1000,36631=>1000,36632=>1000,36633=>1000,36634=>1000,36635=>1000,36636=>1000,36637=>1000,36638=>1000,36639=>1000,36640=>1000,36641=>1000,36642=>1000,36643=>1000,36644=>1000,36645=>1000,36646=>1000,36647=>1000,36648=>1000,36649=>1000,36650=>1000,36651=>1000,36652=>1000,36653=>1000,36654=>1000,36655=>1000,36656=>1000,36657=>1000,36658=>1000,36659=>1000,36660=>1000,36661=>1000,36662=>1000,36663=>1000,36664=>1000,36665=>1000,36666=>1000,36667=>1000,36668=>1000,36669=>1000,36670=>1000,36671=>1000,36672=>1000,36673=>1000,36674=>1000,36675=>1000,36676=>1000,36677=>1000,36678=>1000,36679=>1000,36680=>1000,36681=>1000,36682=>1000,36683=>1000,36684=>1000,36685=>1000,36686=>1000,36687=>1000,36688=>1000,36689=>1000,36690=>1000,36691=>1000,36692=>1000,36693=>1000,36694=>1000,36695=>1000,36696=>1000,36697=>1000,36698=>1000,36699=>1000,36700=>1000,36701=>1000,36702=>1000,36703=>1000,36704=>1000,36705=>1000,36706=>1000,36707=>1000,36708=>1000,36709=>1000,36710=>1000,36711=>1000,36712=>1000,36713=>1000,36714=>1000,36715=>1000,36716=>1000,36717=>1000,36718=>1000,36719=>1000,36720=>1000,36721=>1000,36722=>1000,36723=>1000,36724=>1000,36725=>1000,36726=>1000,36727=>1000,36728=>1000,36729=>1000,36730=>1000,36731=>1000,36732=>1000,36733=>1000,36734=>1000,36735=>1000,36736=>1000,36737=>1000,36738=>1000,36739=>1000,36740=>1000,36741=>1000,36742=>1000,36743=>1000,36744=>1000,36745=>1000,36746=>1000,36747=>1000,36748=>1000,36749=>1000,36750=>1000,36751=>1000,36752=>1000,36753=>1000,36754=>1000,36755=>1000,36756=>1000,36757=>1000,36758=>1000,36759=>1000,36760=>1000,36761=>1000,36762=>1000,36763=>1000,36764=>1000,36765=>1000,36766=>1000,36767=>1000,36768=>1000,36769=>1000,36770=>1000,36771=>1000,36772=>1000,36773=>1000,36774=>1000,36775=>1000,36776=>1000,36777=>1000,36778=>1000,36779=>1000,36780=>1000,36781=>1000,36782=>1000,36783=>1000,36784=>1000,36785=>1000,36786=>1000,36787=>1000,36788=>1000,36789=>1000,36790=>1000,36791=>1000,36792=>1000,36793=>1000,36794=>1000,36795=>1000,36796=>1000,36797=>1000,36798=>1000,36799=>1000,36800=>1000,36801=>1000,36802=>1000,36803=>1000,36804=>1000,36805=>1000,36806=>1000,36807=>1000,36808=>1000,36809=>1000,36810=>1000,36811=>1000,36812=>1000,36813=>1000,36814=>1000,36815=>1000,36816=>1000,36817=>1000,36818=>1000,36819=>1000,36820=>1000,36821=>1000,36822=>1000,36823=>1000,36824=>1000,36825=>1000,36826=>1000,36827=>1000,36828=>1000,36829=>1000,36830=>1000,36831=>1000,36832=>1000,36833=>1000,36834=>1000,36835=>1000,36836=>1000,36837=>1000,36838=>1000,36839=>1000,36840=>1000,36841=>1000,36842=>1000,36843=>1000,36844=>1000,36845=>1000,36846=>1000,36847=>1000,36848=>1000,36849=>1000,36850=>1000,36851=>1000,36852=>1000,36853=>1000,36854=>1000,36855=>1000,36856=>1000,36857=>1000,36858=>1000,36859=>1000,36860=>1000,36861=>1000,36862=>1000,36863=>1000,36864=>1000,36865=>1000,36866=>1000,36867=>1000,36868=>1000,36869=>1000,36870=>1000,36871=>1000,36872=>1000,36873=>1000,36874=>1000,36875=>1000,36876=>1000,36877=>1000,36878=>1000,36879=>1000,36880=>1000,36881=>1000,36882=>1000,36883=>1000,36884=>1000,36885=>1000,36886=>1000,36887=>1000,36888=>1000,36889=>1000,36890=>1000,36891=>1000,36892=>1000,36893=>1000,36894=>1000,36895=>1000,36896=>1000,36897=>1000,36898=>1000,36899=>1000,36900=>1000,36901=>1000,36902=>1000,36903=>1000,36904=>1000,36905=>1000,36906=>1000,36907=>1000,36908=>1000,36909=>1000,36910=>1000,36911=>1000,36912=>1000,36913=>1000,36914=>1000,36915=>1000,36916=>1000,36917=>1000,36918=>1000,36919=>1000,36920=>1000,36921=>1000,36922=>1000,36923=>1000,36924=>1000,36925=>1000,36926=>1000,36927=>1000,36928=>1000,36929=>1000,36930=>1000,36931=>1000,36932=>1000,36933=>1000,36934=>1000,36935=>1000,36936=>1000,36937=>1000,36938=>1000,36939=>1000,36940=>1000,36941=>1000,36942=>1000,36943=>1000,36944=>1000,36945=>1000,36946=>1000,36947=>1000,36948=>1000,36949=>1000,36950=>1000,36951=>1000,36952=>1000,36953=>1000,36954=>1000,36955=>1000,36956=>1000,36957=>1000,36958=>1000,36959=>1000,36960=>1000,36961=>1000,36962=>1000,36963=>1000,36964=>1000,36965=>1000,36966=>1000,36967=>1000,36968=>1000,36969=>1000,36970=>1000,36971=>1000,36972=>1000,36973=>1000,36974=>1000,36975=>1000,36976=>1000,36977=>1000,36978=>1000,36979=>1000,36980=>1000,36981=>1000,36982=>1000,36983=>1000,36984=>1000,36985=>1000,36986=>1000,36987=>1000,36988=>1000,36989=>1000,36990=>1000,36991=>1000,36992=>1000,36993=>1000,36994=>1000,36995=>1000,36996=>1000,36997=>1000,36998=>1000,36999=>1000,37000=>1000,37001=>1000,37002=>1000,37003=>1000,37004=>1000,37005=>1000,37006=>1000,37007=>1000,37008=>1000,37009=>1000,37010=>1000,37011=>1000,37012=>1000,37013=>1000,37014=>1000,37015=>1000,37016=>1000,37017=>1000,37018=>1000,37019=>1000,37020=>1000,37021=>1000,37022=>1000,37023=>1000,37024=>1000,37025=>1000,37026=>1000,37027=>1000,37028=>1000,37029=>1000,37030=>1000,37031=>1000,37032=>1000,37033=>1000,37034=>1000,37035=>1000,37036=>1000,37037=>1000,37038=>1000,37039=>1000,37040=>1000,37041=>1000,37042=>1000,37043=>1000,37044=>1000,37045=>1000,37046=>1000,37047=>1000,37048=>1000,37049=>1000,37050=>1000,37051=>1000,37052=>1000,37053=>1000,37054=>1000,37055=>1000,37056=>1000,37057=>1000,37058=>1000,37059=>1000,37060=>1000,37061=>1000,37062=>1000,37063=>1000,37064=>1000,37065=>1000,37066=>1000,37067=>1000,37068=>1000,37069=>1000,37070=>1000,37071=>1000,37072=>1000,37073=>1000,37074=>1000,37075=>1000,37076=>1000,37077=>1000,37078=>1000,37079=>1000,37080=>1000,37081=>1000,37082=>1000,37083=>1000,37084=>1000,37085=>1000,37086=>1000,37087=>1000,37088=>1000,37089=>1000,37090=>1000,37091=>1000,37092=>1000,37093=>1000,37094=>1000,37095=>1000,37096=>1000,37097=>1000,37098=>1000,37099=>1000,37100=>1000,37101=>1000,37102=>1000,37103=>1000,37104=>1000,37105=>1000,37106=>1000,37107=>1000,37108=>1000,37109=>1000,37110=>1000,37111=>1000,37112=>1000,37113=>1000,37114=>1000,37115=>1000,37116=>1000,37117=>1000,37118=>1000,37119=>1000,37120=>1000,37121=>1000,37122=>1000,37123=>1000,37124=>1000,37125=>1000,37126=>1000,37127=>1000,37128=>1000,37129=>1000,37130=>1000,37131=>1000,37132=>1000,37133=>1000,37134=>1000,37135=>1000,37136=>1000,37137=>1000,37138=>1000,37139=>1000,37140=>1000,37141=>1000,37142=>1000,37143=>1000,37144=>1000,37145=>1000,37146=>1000,37147=>1000,37148=>1000,37149=>1000,37150=>1000,37151=>1000,37152=>1000,37153=>1000,37154=>1000,37155=>1000,37156=>1000,37157=>1000,37158=>1000,37159=>1000,37160=>1000,37161=>1000,37162=>1000,37163=>1000,37164=>1000,37165=>1000,37166=>1000,37167=>1000,37168=>1000,37169=>1000,37170=>1000,37171=>1000,37172=>1000,37173=>1000,37174=>1000,37175=>1000,37176=>1000,37177=>1000,37178=>1000,37179=>1000,37180=>1000,37181=>1000,37182=>1000,37183=>1000,37184=>1000,37185=>1000,37186=>1000,37187=>1000,37188=>1000,37189=>1000,37190=>1000,37191=>1000,37192=>1000,37193=>1000,37194=>1000,37195=>1000,37196=>1000,37197=>1000,37198=>1000,37199=>1000,37200=>1000,37201=>1000,37202=>1000,37203=>1000,37204=>1000,37205=>1000,37206=>1000,37207=>1000,37208=>1000,37209=>1000,37210=>1000,37211=>1000,37212=>1000,37213=>1000,37214=>1000,37215=>1000,37216=>1000,37217=>1000,37218=>1000,37219=>1000,37220=>1000,37221=>1000,37222=>1000,37223=>1000,37224=>1000,37225=>1000,37226=>1000,37227=>1000,37228=>1000,37229=>1000,37230=>1000,37231=>1000,37232=>1000,37233=>1000,37234=>1000,37235=>1000,37236=>1000,37237=>1000,37238=>1000,37239=>1000,37240=>1000,37241=>1000,37242=>1000,37243=>1000,37244=>1000,37245=>1000,37246=>1000,37247=>1000,37248=>1000,37249=>1000,37250=>1000,37251=>1000,37252=>1000,37253=>1000,37254=>1000,37255=>1000,37256=>1000,37257=>1000,37258=>1000,37259=>1000,37260=>1000,37261=>1000,37262=>1000,37263=>1000,37264=>1000,37265=>1000,37266=>1000,37267=>1000,37268=>1000,37269=>1000,37270=>1000,37271=>1000,37272=>1000,37273=>1000,37274=>1000,37275=>1000,37276=>1000,37277=>1000,37278=>1000,37279=>1000,37280=>1000,37281=>1000,37282=>1000,37283=>1000,37284=>1000,37285=>1000,37286=>1000,37287=>1000,37288=>1000,37289=>1000,37290=>1000,37291=>1000,37292=>1000,37293=>1000,37294=>1000,37295=>1000,37296=>1000,37297=>1000,37298=>1000,37299=>1000,37300=>1000,37301=>1000,37302=>1000,37303=>1000,37304=>1000,37305=>1000,37306=>1000,37307=>1000,37308=>1000,37309=>1000,37310=>1000,37311=>1000,37312=>1000,37313=>1000,37314=>1000,37315=>1000,37316=>1000,37317=>1000,37318=>1000,37319=>1000,37320=>1000,37321=>1000,37322=>1000,37323=>1000,37324=>1000,37325=>1000,37326=>1000,37327=>1000,37328=>1000,37329=>1000,37330=>1000,37331=>1000,37332=>1000,37333=>1000,37334=>1000,37335=>1000,37336=>1000,37337=>1000,37338=>1000,37339=>1000,37340=>1000,37341=>1000,37342=>1000,37343=>1000,37344=>1000,37345=>1000,37346=>1000,37347=>1000,37348=>1000,37349=>1000,37350=>1000,37351=>1000,37352=>1000,37353=>1000,37354=>1000,37355=>1000,37356=>1000,37357=>1000,37358=>1000,37359=>1000,37360=>1000,37361=>1000,37362=>1000,37363=>1000,37364=>1000,37365=>1000,37366=>1000,37367=>1000,37368=>1000,37369=>1000,37370=>1000,37371=>1000,37372=>1000,37373=>1000,37374=>1000,37375=>1000,37376=>1000,37377=>1000,37378=>1000,37379=>1000,37380=>1000,37381=>1000,37382=>1000,37383=>1000,37384=>1000,37385=>1000,37386=>1000,37387=>1000,37388=>1000,37389=>1000,37390=>1000,37391=>1000,37392=>1000,37393=>1000,37394=>1000,37395=>1000,37396=>1000,37397=>1000,37398=>1000,37399=>1000,37400=>1000,37401=>1000,37402=>1000,37403=>1000,37404=>1000,37405=>1000,37406=>1000,37407=>1000,37408=>1000,37409=>1000,37410=>1000,37411=>1000,37412=>1000,37413=>1000,37414=>1000,37415=>1000,37416=>1000,37417=>1000,37418=>1000,37419=>1000,37420=>1000,37421=>1000,37422=>1000,37423=>1000,37424=>1000,37425=>1000,37426=>1000,37427=>1000,37428=>1000,37429=>1000,37430=>1000,37431=>1000,37432=>1000,37433=>1000,37434=>1000,37435=>1000,37436=>1000,37437=>1000,37438=>1000,37439=>1000,37440=>1000,37441=>1000,37442=>1000,37443=>1000,37444=>1000,37445=>1000,37446=>1000,37447=>1000,37448=>1000,37449=>1000,37450=>1000,37451=>1000,37452=>1000,37453=>1000,37454=>1000,37455=>1000,37456=>1000,37457=>1000,37458=>1000,37459=>1000,37460=>1000,37461=>1000,37462=>1000,37463=>1000,37464=>1000,37465=>1000,37466=>1000,37467=>1000,37468=>1000,37469=>1000,37470=>1000,37471=>1000,37472=>1000,37473=>1000,37474=>1000,37475=>1000,37476=>1000,37477=>1000,37478=>1000,37479=>1000,37480=>1000,37481=>1000,37482=>1000,37483=>1000,37484=>1000,37485=>1000,37486=>1000,37487=>1000,37488=>1000,37489=>1000,37490=>1000,37491=>1000,37492=>1000,37493=>1000,37494=>1000,37495=>1000,37496=>1000,37497=>1000,37498=>1000,37499=>1000,37500=>1000,37501=>1000,37502=>1000,37503=>1000,37504=>1000,37505=>1000,37506=>1000,37507=>1000,37508=>1000,37509=>1000,37510=>1000,37511=>1000,37512=>1000,37513=>1000,37514=>1000,37515=>1000,37516=>1000,37517=>1000,37518=>1000,37519=>1000,37520=>1000,37521=>1000,37522=>1000,37523=>1000,37524=>1000,37525=>1000,37526=>1000,37527=>1000,37528=>1000,37529=>1000,37530=>1000,37531=>1000,37532=>1000,37533=>1000,37534=>1000,37535=>1000,37536=>1000,37537=>1000,37538=>1000,37539=>1000,37540=>1000,37541=>1000,37542=>1000,37543=>1000,37544=>1000,37545=>1000,37546=>1000,37547=>1000,37548=>1000,37549=>1000,37550=>1000,37551=>1000,37552=>1000,37553=>1000,37554=>1000,37555=>1000,37556=>1000,37557=>1000,37558=>1000,37559=>1000,37560=>1000,37561=>1000,37562=>1000,37563=>1000,37564=>1000,37565=>1000,37566=>1000,37567=>1000,37568=>1000,37569=>1000,37570=>1000,37571=>1000,37572=>1000,37573=>1000,37574=>1000,37575=>1000,37576=>1000,37577=>1000,37578=>1000,37579=>1000,37580=>1000,37581=>1000,37582=>1000,37583=>1000,37584=>1000,37585=>1000,37586=>1000,37587=>1000,37588=>1000,37589=>1000,37590=>1000,37591=>1000,37592=>1000,37593=>1000,37594=>1000,37595=>1000,37596=>1000,37597=>1000,37598=>1000,37599=>1000,37600=>1000,37601=>1000,37602=>1000,37603=>1000,37604=>1000,37605=>1000,37606=>1000,37607=>1000,37608=>1000,37609=>1000,37610=>1000,37611=>1000,37612=>1000,37613=>1000,37614=>1000,37615=>1000,37616=>1000,37617=>1000,37618=>1000,37619=>1000,37620=>1000,37621=>1000,37622=>1000,37623=>1000,37624=>1000,37625=>1000,37626=>1000,37627=>1000,37628=>1000,37629=>1000,37630=>1000,37631=>1000,37632=>1000,37633=>1000,37634=>1000,37635=>1000,37636=>1000,37637=>1000,37638=>1000,37639=>1000,37640=>1000,37641=>1000,37642=>1000,37643=>1000,37644=>1000,37645=>1000,37646=>1000,37647=>1000,37648=>1000,37649=>1000,37650=>1000,37651=>1000,37652=>1000,37653=>1000,37654=>1000,37655=>1000,37656=>1000,37657=>1000,37658=>1000,37659=>1000,37660=>1000,37661=>1000,37662=>1000,37663=>1000,37664=>1000,37665=>1000,37666=>1000,37667=>1000,37668=>1000,37669=>1000,37670=>1000,37671=>1000,37672=>1000,37673=>1000,37674=>1000,37675=>1000,37676=>1000,37677=>1000,37678=>1000,37679=>1000,37680=>1000,37681=>1000,37682=>1000,37683=>1000,37684=>1000,37685=>1000,37686=>1000,37687=>1000,37688=>1000,37689=>1000,37690=>1000,37691=>1000,37692=>1000,37693=>1000,37694=>1000,37695=>1000,37696=>1000,37697=>1000,37698=>1000,37699=>1000,37700=>1000,37701=>1000,37702=>1000,37703=>1000,37704=>1000,37705=>1000,37706=>1000,37707=>1000,37708=>1000,37709=>1000,37710=>1000,37711=>1000,37712=>1000,37713=>1000,37714=>1000,37715=>1000,37716=>1000,37717=>1000,37718=>1000,37719=>1000,37720=>1000,37721=>1000,37722=>1000,37723=>1000,37724=>1000,37725=>1000,37726=>1000,37727=>1000,37728=>1000,37729=>1000,37730=>1000,37731=>1000,37732=>1000,37733=>1000,37734=>1000,37735=>1000,37736=>1000,37737=>1000,37738=>1000,37739=>1000,37740=>1000,37741=>1000,37742=>1000,37743=>1000,37744=>1000,37745=>1000,37746=>1000,37747=>1000,37748=>1000,37749=>1000,37750=>1000,37751=>1000,37752=>1000,37753=>1000,37754=>1000,37755=>1000,37756=>1000,37757=>1000,37758=>1000,37759=>1000,37760=>1000,37761=>1000,37762=>1000,37763=>1000,37764=>1000,37765=>1000,37766=>1000,37767=>1000,37768=>1000,37769=>1000,37770=>1000,37771=>1000,37772=>1000,37773=>1000,37774=>1000,37775=>1000,37776=>1000,37777=>1000,37778=>1000,37779=>1000,37780=>1000,37781=>1000,37782=>1000,37783=>1000,37784=>1000,37785=>1000,37786=>1000,37787=>1000,37788=>1000,37789=>1000,37790=>1000,37791=>1000,37792=>1000,37793=>1000,37794=>1000,37795=>1000,37796=>1000,37797=>1000,37798=>1000,37799=>1000,37800=>1000,37801=>1000,37802=>1000,37803=>1000,37804=>1000,37805=>1000,37806=>1000,37807=>1000,37808=>1000,37809=>1000,37810=>1000,37811=>1000,37812=>1000,37813=>1000,37814=>1000,37815=>1000,37816=>1000,37817=>1000,37818=>1000,37819=>1000,37820=>1000,37821=>1000,37822=>1000,37823=>1000,37824=>1000,37825=>1000,37826=>1000,37827=>1000,37828=>1000,37829=>1000,37830=>1000,37831=>1000,37832=>1000,37833=>1000,37834=>1000,37835=>1000,37836=>1000,37837=>1000,37838=>1000,37839=>1000,37840=>1000,37841=>1000,37842=>1000,37843=>1000,37844=>1000,37845=>1000,37846=>1000,37847=>1000,37848=>1000,37849=>1000,37850=>1000,37851=>1000,37852=>1000,37853=>1000,37854=>1000,37855=>1000,37856=>1000,37857=>1000,37858=>1000,37859=>1000,37860=>1000,37861=>1000,37862=>1000,37863=>1000,37864=>1000,37865=>1000,37866=>1000,37867=>1000,37868=>1000,37869=>1000,37870=>1000,37871=>1000,37872=>1000,37873=>1000,37874=>1000,37875=>1000,37876=>1000,37877=>1000,37878=>1000,37879=>1000,37880=>1000,37881=>1000,37882=>1000,37883=>1000,37884=>1000,37885=>1000,37886=>1000,37887=>1000,37888=>1000,37889=>1000,37890=>1000,37891=>1000,37892=>1000,37893=>1000,37894=>1000,37895=>1000,37896=>1000,37897=>1000,37898=>1000,37899=>1000,37900=>1000,37901=>1000,37902=>1000,37903=>1000,37904=>1000,37905=>1000,37906=>1000,37907=>1000,37908=>1000,37909=>1000,37910=>1000,37911=>1000,37912=>1000,37913=>1000,37914=>1000,37915=>1000,37916=>1000,37917=>1000,37918=>1000,37919=>1000,37920=>1000,37921=>1000,37922=>1000,37923=>1000,37924=>1000,37925=>1000,37926=>1000,37927=>998,37928=>1000,37929=>1000,37930=>1000,37931=>1000,37932=>1000,37933=>1000,37934=>1000,37935=>1000,37936=>1000,37937=>1000,37938=>1000,37939=>1000,37940=>1000,37941=>1000,37942=>1000,37943=>1000,37944=>1000,37945=>1000,37946=>1000,37947=>1000,37948=>1000,37949=>1000,37950=>1000,37951=>1000,37952=>1000,37953=>1000,37954=>1000,37955=>1000,37956=>1000,37957=>1000,37958=>1000,37959=>1000,37960=>1000,37961=>1000,37962=>1000,37963=>1000,37964=>1000,37965=>1000,37966=>1000,37967=>1000,37968=>1000,37969=>1000,37970=>1000,37971=>1000,37972=>1000,37973=>1000,37974=>1000,37975=>1000,37976=>1000,37977=>1000,37978=>1000,37979=>1000,37980=>1000,37981=>1000,37982=>1000,37983=>1000,37984=>1000,37985=>1000,37986=>1000,37987=>1000,37988=>1000,37989=>1000,37990=>1000,37991=>1000,37992=>1000,37993=>1000,37994=>1000,37995=>1000,37996=>1000,37997=>1000,37998=>1000,37999=>1000,38000=>1000,38001=>1000,38002=>1000,38003=>1000,38004=>1000,38005=>1000,38006=>1000,38007=>1000,38008=>1000,38009=>1000,38010=>1000,38011=>1000,38012=>1000,38013=>1000,38014=>1000,38015=>1000,38016=>1000,38017=>1000,38018=>1000,38019=>1000,38020=>1000,38021=>1000,38022=>1000,38023=>1000,38024=>1000,38025=>1000,38026=>1000,38027=>1000,38028=>1000,38029=>1000,38030=>1000,38031=>1000,38032=>1000,38033=>1000,38034=>1000,38035=>1000,38036=>1000,38037=>1000,38038=>1000,38039=>1000,38040=>1000,38041=>1000,38042=>1000,38043=>1000,38044=>1000,38045=>1000,38046=>1000,38047=>1000,38048=>1000,38049=>1000,38050=>1000,38051=>1000,38052=>1000,38053=>1000,38054=>1000,38055=>1000,38056=>1000,38057=>1000,38058=>1000,38059=>1000,38060=>1000,38061=>1000,38062=>1000,38063=>1000,38064=>1000,38065=>1000,38066=>1000,38067=>1000,38068=>1000,38069=>1000,38070=>1000,38071=>1000,38072=>1000,38073=>1000,38074=>1000,38075=>1000,38076=>1000,38077=>1000,38078=>1000,38079=>1000,38080=>1000,38081=>1000,38082=>1000,38083=>1000,38084=>1000,38085=>1000,38086=>1000,38087=>1000,38088=>1000,38089=>1000,38090=>1000,38091=>1000,38092=>1000,38093=>1000,38094=>1000,38095=>1000,38096=>1000,38097=>1000,38098=>1000,38099=>1000,38100=>1000,38101=>1000,38102=>1000,38103=>1000,38104=>1000,38105=>1000,38106=>1000,38107=>1000,38108=>1000,38109=>1000,38110=>1000,38111=>1000,38112=>1000,38113=>1000,38114=>1000,38115=>1000,38116=>1000,38117=>1000,38118=>1000,38119=>1000,38120=>1000,38121=>1000,38122=>1000,38123=>1000,38124=>1000,38125=>1000,38126=>1000,38127=>1000,38128=>1000,38129=>1000,38130=>1000,38131=>1000,38132=>1000,38133=>1000,38134=>1000,38135=>1000,38136=>1000,38137=>1000,38138=>1000,38139=>1000,38140=>1000,38141=>1000,38142=>1000,38143=>1000,38144=>1000,38145=>1000,38146=>1000,38147=>1000,38148=>1000,38149=>1000,38150=>1000,38151=>1000,38152=>1000,38153=>1000,38154=>1000,38155=>1000,38156=>1000,38157=>1000,38158=>1000,38159=>1000,38160=>1000,38161=>1000,38162=>1000,38163=>1000,38164=>1000,38165=>1000,38166=>1000,38167=>1000,38168=>1000,38169=>1000,38170=>1000,38171=>1000,38172=>1000,38173=>1000,38174=>1000,38175=>1000,38176=>1000,38177=>1000,38178=>1000,38179=>1000,38180=>1000,38181=>1000,38182=>1000,38183=>1000,38184=>1000,38185=>1000,38186=>1000,38187=>1000,38188=>1000,38189=>1000,38190=>1000,38191=>1000,38192=>1000,38193=>1000,38194=>1000,38195=>1000,38196=>1000,38197=>1000,38198=>1000,38199=>1000,38200=>1000,38201=>1000,38202=>1000,38203=>1000,38204=>1000,38205=>1000,38206=>1000,38207=>1000,38208=>1000,38209=>1000,38210=>1000,38211=>1000,38212=>1000,38213=>1000,38214=>1000,38215=>1000,38216=>1000,38217=>1000,38218=>1000,38219=>1000,38220=>1000,38221=>1000,38222=>1000,38223=>1000,38224=>1000,38225=>1000,38226=>1000,38227=>1000,38228=>1000,38229=>1000,38230=>1000,38231=>1000,38232=>1000,38233=>1000,38234=>1000,38235=>1000,38236=>1000,38237=>1000,38238=>1000,38239=>1000,38240=>1000,38241=>1000,38242=>1000,38243=>1000,38244=>1000,38245=>1000,38246=>1000,38247=>1000,38248=>1000,38249=>1000,38250=>1000,38251=>1000,38252=>1000,38253=>1000,38254=>1000,38255=>1000,38256=>1000,38257=>1000,38258=>1000,38259=>1000,38260=>1000,38261=>1000,38262=>1000,38263=>1000,38264=>1000,38265=>1000,38266=>1000,38267=>1000,38268=>1000,38269=>1000,38270=>1000,38271=>1000,38272=>1000,38273=>1000,38274=>1000,38275=>1000,38276=>1000,38277=>1000,38278=>1000,38279=>1000,38280=>1000,38281=>1000,38282=>1000,38283=>1000,38284=>1000,38285=>1000,38286=>1000,38287=>1000,38288=>1000,38289=>1000,38290=>1000,38291=>1000,38292=>1000,38293=>1000,38294=>1000,38295=>1000,38296=>1000,38297=>1000,38298=>1000,38299=>1000,38300=>1000,38301=>1000,38302=>1000,38303=>1000,38304=>1000,38305=>1000,38306=>1000,38307=>1000,38308=>1000,38309=>1000,38310=>1000,38311=>1000,38312=>1000,38313=>1000,38314=>1000,38315=>1000,38316=>1000,38317=>1000,38318=>1000,38319=>1000,38320=>1000,38321=>1000,38322=>1000,38323=>1000,38324=>1000,38325=>1000,38326=>1000,38327=>1000,38328=>1000,38329=>1000,38330=>1000,38331=>1000,38332=>1000,38333=>1000,38334=>1000,38335=>1000,38336=>1000,38337=>1000,38338=>1000,38339=>1000,38340=>1000,38341=>1000,38342=>1000,38343=>1000,38344=>1000,38345=>1000,38346=>1000,38347=>1000,38348=>1000,38349=>1000,38350=>1000,38351=>1000,38352=>1000,38353=>1000,38354=>1000,38355=>1000,38356=>1000,38357=>1000,38358=>1000,38359=>1000,38360=>1000,38361=>1000,38362=>1000,38363=>1000,38364=>1000,38365=>1000,38366=>1000,38367=>1000,38368=>1000,38369=>1000,38370=>1000,38371=>1000,38372=>1000,38373=>1000,38374=>1000,38375=>1000,38376=>1000,38377=>1000,38378=>1000,38379=>1000,38380=>1000,38381=>1000,38382=>1000,38383=>1000,38384=>1000,38385=>1000,38386=>1000,38387=>1000,38388=>1000,38389=>1000,38390=>1000,38391=>1000,38392=>1000,38393=>1000,38394=>1000,38395=>1000,38396=>1000,38397=>1000,38398=>1000,38399=>1000,38400=>1000,38401=>1000,38402=>1000,38403=>1000,38404=>1000,38405=>1000,38406=>1000,38407=>1000,38408=>1000,38409=>1000,38410=>1000,38411=>1000,38412=>1000,38413=>1000,38414=>1000,38415=>1000,38416=>1000,38417=>1000,38418=>1000,38419=>1000,38420=>1000,38421=>1000,38422=>1000,38423=>1000,38424=>1000,38425=>1000,38426=>1000,38427=>1000,38428=>1000,38429=>1000,38430=>1000,38431=>1000,38432=>1000,38433=>1000,38434=>1000,38435=>1000,38436=>1000,38437=>1000,38438=>1000,38439=>1000,38440=>1000,38441=>1000,38442=>1000,38443=>1000,38444=>1000,38445=>1000,38446=>1000,38447=>1000,38448=>1000,38449=>1000,38450=>1000,38451=>1000,38452=>1000,38453=>1000,38454=>1000,38455=>1000,38456=>1000,38457=>1000,38458=>1000,38459=>1000,38460=>1000,38461=>1000,38462=>1000,38463=>1000,38464=>1000,38465=>1000,38466=>1000,38467=>1000,38468=>1000,38469=>1000,38470=>1000,38471=>1000,38472=>1000,38473=>1000,38474=>1000,38475=>1000,38476=>1000,38477=>1000,38478=>1000,38479=>1000,38480=>1000,38481=>1000,38482=>1000,38483=>1000,38484=>1000,38485=>1000,38486=>1000,38487=>1000,38488=>1000,38489=>1000,38490=>1000,38491=>1000,38492=>1000,38493=>1000,38494=>1000,38495=>1000,38496=>1000,38497=>1000,38498=>1000,38499=>1000,38500=>1000,38501=>1000,38502=>1000,38503=>1000,38504=>1000,38505=>1000,38506=>1000,38507=>1000,38508=>1000,38509=>1000,38510=>1000,38511=>1000,38512=>1000,38513=>1000,38514=>1000,38515=>1000,38516=>1000,38517=>1000,38518=>1000,38519=>1000,38520=>1000,38521=>1000,38522=>1000,38523=>1000,38524=>1000,38525=>1000,38526=>1000,38527=>1000,38528=>1000,38529=>1000,38530=>1000,38531=>1000,38532=>1000,38533=>1000,38534=>1000,38535=>1000,38536=>1000,38537=>1000,38538=>1000,38539=>1000,38540=>1000,38541=>1000,38542=>1000,38543=>1000,38544=>1000,38545=>1000,38546=>1000,38547=>1000,38548=>1000,38549=>1000,38550=>1000,38551=>1000,38552=>1000,38553=>1000,38554=>1000,38555=>1000,38556=>1000,38557=>1000,38558=>1000,38559=>1000,38560=>1000,38561=>1000,38562=>1000,38563=>1000,38564=>1000,38565=>1000,38566=>1000,38567=>1000,38568=>1000,38569=>1000,38570=>1000,38571=>1000,38572=>1000,38573=>1000,38574=>1000,38575=>1000,38576=>1000,38577=>1000,38578=>1000,38579=>1000,38580=>1000,38581=>1000,38582=>1000,38583=>1000,38584=>1000,38585=>1000,38586=>1000,38587=>1000,38588=>1000,38589=>1000,38590=>1000,38591=>1000,38592=>1000,38593=>1000,38594=>1000,38595=>1000,38596=>1000,38597=>1000,38598=>1000,38599=>1000,38600=>1000,38601=>1000,38602=>1000,38603=>1000,38604=>1000,38605=>1000,38606=>1000,38607=>1000,38608=>1000,38609=>1000,38610=>1000,38611=>1000,38612=>1000,38613=>1000,38614=>1000,38615=>1000,38616=>1000,38617=>1000,38618=>1000,38619=>1000,38620=>1000,38621=>1000,38622=>1000,38623=>1000,38624=>1000,38625=>1000,38626=>1000,38627=>1000,38628=>1000,38629=>1000,38630=>1000,38631=>1000,38632=>1000,38633=>1000,38634=>1000,38635=>1000,38636=>1000,38637=>1000,38638=>1000,38639=>1000,38640=>1000,38641=>1000,38642=>1000,38643=>1000,38644=>1000,38645=>1000,38646=>1000,38647=>1000,38648=>1000,38649=>1000,38650=>1000,38651=>1000,38652=>1000,38653=>1000,38654=>1000,38655=>1000,38656=>1000,38657=>1000,38658=>1000,38659=>1000,38660=>1000,38661=>1000,38662=>1000,38663=>1000,38664=>1000,38665=>1000,38666=>1000,38667=>1000,38668=>1000,38669=>1000,38670=>1000,38671=>1000,38672=>1000,38673=>1000,38674=>1000,38675=>1000,38676=>1000,38677=>1000,38678=>1000,38679=>1000,38680=>1000,38681=>1000,38682=>1000,38683=>1000,38684=>1000,38685=>1000,38686=>1000,38687=>1000,38688=>1000,38689=>1000,38690=>1000,38691=>1000,38692=>1000,38693=>1000,38694=>1000,38695=>1000,38696=>1000,38697=>1000,38698=>1000,38699=>1000,38700=>1000,38701=>1000,38702=>1000,38703=>1000,38704=>1000,38705=>1000,38706=>1000,38707=>1000,38708=>1000,38709=>1000,38710=>1000,38711=>1000,38712=>1000,38713=>1000,38714=>1000,38715=>1000,38716=>1000,38717=>1000,38718=>1000,38719=>1000,38720=>1000,38721=>1000,38722=>1000,38723=>1000,38724=>1000,38725=>1000,38726=>1000,38727=>1000,38728=>1000,38729=>1000,38730=>1000,38731=>1000,38732=>1000,38733=>1000,38734=>1000,38735=>1000,38736=>1000,38737=>1000,38738=>1000,38739=>1000,38740=>1000,38741=>1000,38742=>1000,38743=>1000,38744=>1000,38745=>1000,38746=>1000,38747=>1000,38748=>1000,38749=>1000,38750=>1000,38751=>1000,38752=>1000,38753=>1000,38754=>1000,38755=>1000,38756=>1000,38757=>1000,38758=>1000,38759=>1000,38760=>1000,38761=>1000,38762=>1000,38763=>1000,38764=>1000,38765=>1000,38766=>1000,38767=>1000,38768=>1000,38769=>1000,38770=>1000,38771=>1000,38772=>1000,38773=>1000,38774=>1000,38775=>1000,38776=>1000,38777=>1000,38778=>1000,38779=>1000,38780=>1000,38781=>1000,38782=>1000,38783=>1000,38784=>1000,38785=>1000,38786=>1000,38787=>1000,38788=>1000,38789=>1000,38790=>1000,38791=>1000,38792=>1000,38793=>1000,38794=>1000,38795=>1000,38796=>1000,38797=>1000,38798=>1000,38799=>1000,38800=>1000,38801=>1000,38802=>1000,38803=>1000,38804=>1000,38805=>1000,38806=>1000,38807=>1000,38808=>1000,38809=>1000,38810=>1000,38811=>1000,38812=>1000,38813=>1000,38814=>1000,38815=>1000,38816=>1000,38817=>1000,38818=>1000,38819=>1000,38820=>1000,38821=>1000,38822=>1000,38823=>1000,38824=>1000,38825=>1000,38826=>1000,38827=>1000,38828=>1000,38829=>1000,38830=>1000,38831=>1000,38832=>1000,38833=>1000,38834=>1000,38835=>1000,38836=>1000,38837=>1000,38838=>1000,38839=>1000,38840=>1000,38841=>1000,38842=>1000,38843=>1000,38844=>1000,38845=>1000,38846=>1000,38847=>1000,38848=>1000,38849=>1000,38850=>1000,38851=>1000,38852=>1000,38853=>1000,38854=>1000,38855=>1000,38856=>1000,38857=>1000,38858=>1000,38859=>1000,38860=>1000,38861=>1000,38862=>1000,38863=>1000,38864=>1000,38865=>1000,38866=>1000,38867=>1000,38868=>1000,38869=>1000,38870=>1000,38871=>1000,38872=>1000,38873=>1000,38874=>1000,38875=>1000,38876=>1000,38877=>1000,38878=>1000,38879=>1000,38880=>1000,38881=>1000,38882=>1000,38883=>1000,38884=>1000,38885=>1000,38886=>1000,38887=>1000,38888=>1000,38889=>1000,38890=>1000,38891=>1000,38892=>1000,38893=>1000,38894=>1000,38895=>1000,38896=>1000,38897=>1000,38898=>1000,38899=>1000,38900=>1000,38901=>1000,38902=>1000,38903=>1000,38904=>1000,38905=>1000,38906=>1000,38907=>1000,38908=>1000,38909=>1000,38910=>1000,38911=>1000,38912=>1000,38913=>1000,38914=>1000,38915=>1000,38916=>1000,38917=>1000,38918=>1000,38919=>1000,38920=>1000,38921=>1000,38922=>1000,38923=>1000,38924=>1000,38925=>1000,38926=>1000,38927=>1000,38928=>1000,38929=>1000,38930=>1000,38931=>1000,38932=>1000,38933=>1000,38934=>1000,38935=>1000,38936=>1000,38937=>1000,38938=>1000,38939=>1000,38940=>1000,38941=>1000,38942=>1000,38943=>1000,38944=>1000,38945=>1000,38946=>1000,38947=>1000,38948=>1000,38949=>1000,38950=>1000,38951=>1000,38952=>1000,38953=>1000,38954=>1000,38955=>1000,38956=>1000,38957=>1000,38958=>1000,38959=>1000,38960=>1000,38961=>1000,38962=>1000,38963=>1000,38964=>1000,38965=>1000,38966=>1000,38967=>1000,38968=>1000,38969=>1000,38970=>1000,38971=>1000,38972=>1000,38973=>1000,38974=>1000,38975=>1000,38976=>1000,38977=>1000,38978=>1000,38979=>1000,38980=>1000,38981=>1000,38982=>1000,38983=>1000,38984=>1000,38985=>1000,38986=>1000,38987=>1000,38988=>1000,38989=>1000,38990=>1000,38991=>1000,38992=>1000,38993=>1000,38994=>1000,38995=>1000,38996=>1000,38997=>1000,38998=>1000,38999=>1000,39000=>1000,39001=>1000,39002=>1000,39003=>1000,39004=>1000,39005=>1000,39006=>1000,39007=>1000,39008=>1000,39009=>1000,39010=>1000,39011=>1000,39012=>1000,39013=>1000,39014=>1000,39015=>1000,39016=>1000,39017=>1000,39018=>1000,39019=>1000,39020=>1000,39021=>1000,39022=>1000,39023=>1000,39024=>1000,39025=>1000,39026=>1000,39027=>1000,39028=>1000,39029=>1000,39030=>1000,39031=>1000,39032=>1000,39033=>1000,39034=>1000,39035=>1000,39036=>1000,39037=>1000,39038=>1000,39039=>1000,39040=>1000,39041=>1000,39042=>1000,39043=>1000,39044=>1000,39045=>1000,39046=>1000,39047=>1000,39048=>1000,39049=>1000,39050=>1000,39051=>1000,39052=>1000,39053=>1000,39054=>1000,39055=>1000,39056=>1000,39057=>1000,39058=>1000,39059=>1000,39060=>1000,39061=>1000,39062=>1000,39063=>1000,39064=>1000,39065=>1000,39066=>1000,39067=>1000,39068=>1000,39069=>1000,39070=>1000,39071=>1000,39072=>1000,39073=>1000,39074=>1000,39075=>1000,39076=>1000,39077=>1000,39078=>1000,39079=>1000,39080=>1000,39081=>1000,39082=>1000,39083=>1000,39084=>1000,39085=>1000,39086=>1000,39087=>1000,39088=>1000,39089=>1000,39090=>1000,39091=>1000,39092=>1000,39093=>1000,39094=>1000,39095=>1000,39096=>1000,39097=>1000,39098=>1000,39099=>1000,39100=>1000,39101=>1000,39102=>1000,39103=>1000,39104=>1000,39105=>1000,39106=>1000,39107=>1000,39108=>1000,39109=>1000,39110=>1000,39111=>1000,39112=>1000,39113=>1000,39114=>1000,39115=>1000,39116=>1000,39117=>1000,39118=>1000,39119=>1000,39120=>1000,39121=>1000,39122=>1000,39123=>1000,39124=>1000,39125=>1000,39126=>1000,39127=>1000,39128=>1000,39129=>1000,39130=>1000,39131=>1000,39132=>1000,39133=>1000,39134=>1000,39135=>1000,39136=>1000,39137=>1000,39138=>1000,39139=>1000,39140=>1000,39141=>1000,39142=>1000,39143=>1000,39144=>1000,39145=>1000,39146=>1000,39147=>1000,39148=>1000,39149=>1000,39150=>1000,39151=>1000,39152=>1000,39153=>1000,39154=>1000,39155=>1000,39156=>1000,39157=>1000,39158=>1000,39159=>1000,39160=>1000,39161=>1000,39162=>1000,39163=>1000,39164=>1000,39165=>1000,39166=>1000,39167=>1000,39168=>1000,39169=>1000,39170=>1000,39171=>1000,39172=>1000,39173=>1000,39174=>1000,39175=>1000,39176=>1000,39177=>1000,39178=>1000,39179=>1000,39180=>1000,39181=>1000,39182=>1000,39183=>1000,39184=>1000,39185=>1000,39186=>1000,39187=>1000,39188=>1000,39189=>1000,39190=>1000,39191=>1000,39192=>1000,39193=>1000,39194=>1000,39195=>1000,39196=>1000,39197=>1000,39198=>1000,39199=>1000,39200=>1000,39201=>1000,39202=>1000,39203=>1000,39204=>1000,39205=>1000,39206=>1000,39207=>1000,39208=>1000,39209=>1000,39210=>1000,39211=>1000,39212=>1000,39213=>1000,39214=>1000,39215=>1000,39216=>1000,39217=>1000,39218=>1000,39219=>1000,39220=>1000,39221=>1000,39222=>1000,39223=>1000,39224=>1000,39225=>1000,39226=>1000,39227=>1000,39228=>1000,39229=>1000,39230=>1000,39231=>1000,39232=>1000,39233=>1000,39234=>1000,39235=>1000,39236=>1000,39237=>1000,39238=>1000,39239=>1000,39240=>1000,39241=>1000,39242=>1000,39243=>1000,39244=>1000,39245=>1000,39246=>1000,39247=>1000,39248=>1000,39249=>1000,39250=>1000,39251=>1000,39252=>1000,39253=>1000,39254=>1000,39255=>1000,39256=>1000,39257=>1000,39258=>1000,39259=>1000,39260=>1000,39261=>1000,39262=>1000,39263=>1000,39264=>1000,39265=>1000,39266=>1000,39267=>1000,39268=>1000,39269=>1000,39270=>1000,39271=>1000,39272=>1000,39273=>1000,39274=>1000,39275=>1000,39276=>1000,39277=>1000,39278=>1000,39279=>1000,39280=>1000,39281=>1000,39282=>1000,39283=>1000,39284=>1000,39285=>1000,39286=>1000,39287=>1000,39288=>1000,39289=>1000,39290=>1000,39291=>1000,39292=>1000,39293=>1000,39294=>1000,39295=>1000,39296=>1000,39297=>1000,39298=>1000,39299=>1000,39300=>1000,39301=>1000,39302=>1000,39303=>1000,39304=>1000,39305=>1000,39306=>1000,39307=>1000,39308=>1000,39309=>1000,39310=>1000,39311=>1000,39312=>1000,39313=>1000,39314=>1000,39315=>1000,39316=>1000,39317=>1000,39318=>1000,39319=>1000,39320=>1000,39321=>1000,39322=>1000,39323=>1000,39324=>1000,39325=>1000,39326=>1000,39327=>1000,39328=>1000,39329=>1000,39330=>1000,39331=>1000,39332=>1000,39333=>1000,39334=>1000,39335=>1000,39336=>1000,39337=>1000,39338=>1000,39339=>1000,39340=>1000,39341=>1000,39342=>1000,39343=>1000,39344=>1000,39345=>1000,39346=>1000,39347=>1000,39348=>1000,39349=>1000,39350=>1000,39351=>1000,39352=>1000,39353=>1000,39354=>1000,39355=>1000,39356=>1000,39357=>1000,39358=>1000,39359=>1000,39360=>1000,39361=>1000,39362=>1000,39363=>1000,39364=>1000,39365=>1000,39366=>1000,39367=>1000,39368=>1000,39369=>1000,39370=>1000,39371=>1000,39372=>1000,39373=>1000,39374=>1000,39375=>1000,39376=>1000,39377=>1000,39378=>1000,39379=>1000,39380=>1000,39381=>1000,39382=>1000,39383=>1000,39384=>1000,39385=>1000,39386=>1000,39387=>1000,39388=>1000,39389=>1000,39390=>1000,39391=>1000,39392=>1000,39393=>1000,39394=>1000,39395=>1000,39396=>1000,39397=>1000,39398=>1000,39399=>1000,39400=>1000,39401=>1000,39402=>1000,39403=>1000,39404=>1000,39405=>1000,39406=>1000,39407=>1000,39408=>1000,39409=>1000,39410=>1000,39411=>1000,39412=>1000,39413=>1000,39414=>1000,39415=>1000,39416=>1000,39417=>1000,39418=>1000,39419=>1000,39420=>1000,39421=>1000,39422=>1000,39423=>1000,39424=>1000,39425=>1000,39426=>1000,39427=>1000,39428=>1000,39429=>1000,39430=>1000,39431=>1000,39432=>1000,39433=>1000,39434=>1000,39435=>1000,39436=>1000,39437=>1000,39438=>1000,39439=>1000,39440=>1000,39441=>1000,39442=>1000,39443=>1000,39444=>1000,39445=>1000,39446=>1000,39447=>1000,39448=>1000,39449=>1000,39450=>1000,39451=>1000,39452=>1000,39453=>1000,39454=>1000,39455=>1000,39456=>1000,39457=>1000,39458=>1000,39459=>1000,39460=>1000,39461=>1000,39462=>1000,39463=>1000,39464=>1000,39465=>1000,39466=>1000,39467=>1000,39468=>1000,39469=>1000,39470=>1000,39471=>1000,39472=>1000,39473=>1000,39474=>1000,39475=>1000,39476=>1000,39477=>1000,39478=>1000,39479=>1000,39480=>1000,39481=>1000,39482=>1000,39483=>1000,39484=>1000,39485=>1000,39486=>1000,39487=>1000,39488=>1000,39489=>1000,39490=>1000,39491=>1000,39492=>1000,39493=>1000,39494=>1000,39495=>1000,39496=>1000,39497=>1000,39498=>1000,39499=>1000,39500=>1000,39501=>1000,39502=>1000,39503=>1000,39504=>1000,39505=>1000,39506=>1000,39507=>1000,39508=>1000,39509=>1000,39510=>1000,39511=>1000,39512=>1000,39513=>1000,39514=>1000,39515=>1000,39516=>1000,39517=>1000,39518=>1000,39519=>1000,39520=>1000,39521=>1000,39522=>1000,39523=>1000,39524=>1000,39525=>1000,39526=>1000,39527=>1000,39528=>1000,39529=>1000,39530=>1000,39531=>1000,39532=>1000,39533=>1000,39534=>1000,39535=>1000,39536=>1000,39537=>1000,39538=>1000,39539=>1000,39540=>1000,39541=>1000,39542=>1000,39543=>1000,39544=>1000,39545=>1000,39546=>1000,39547=>1000,39548=>1000,39549=>1000,39550=>1000,39551=>1000,39552=>1000,39553=>1000,39554=>1000,39555=>1000,39556=>1000,39557=>1000,39558=>1000,39559=>1000,39560=>1000,39561=>1000,39562=>1000,39563=>1000,39564=>1000,39565=>1000,39566=>1000,39567=>1000,39568=>1000,39569=>1000,39570=>1000,39571=>1000,39572=>1000,39573=>1000,39574=>1000,39575=>1000,39576=>1000,39577=>1000,39578=>1000,39579=>1000,39580=>1000,39581=>1000,39582=>1000,39583=>1000,39584=>1000,39585=>1000,39586=>1000,39587=>1000,39588=>1000,39589=>1000,39590=>1000,39591=>1000,39592=>1000,39593=>1000,39594=>1000,39595=>1000,39596=>1000,39597=>1000,39598=>1000,39599=>1000,39600=>1000,39601=>1000,39602=>1000,39603=>1000,39604=>1000,39605=>1000,39606=>1000,39607=>1000,39608=>1000,39609=>1000,39610=>1000,39611=>1000,39612=>1000,39613=>1000,39614=>1000,39615=>1000,39616=>1000,39617=>1000,39618=>1000,39619=>1000,39620=>1000,39621=>1000,39622=>1000,39623=>1000,39624=>1000,39625=>1000,39626=>1000,39627=>1000,39628=>1000,39629=>1000,39630=>1000,39631=>1000,39632=>1000,39633=>1000,39634=>1000,39635=>1000,39636=>1000,39637=>1000,39638=>1000,39639=>1000,39640=>1000,39641=>1000,39642=>1000,39643=>1000,39644=>1000,39645=>1000,39646=>1000,39647=>1000,39648=>1000,39649=>1000,39650=>1000,39651=>1000,39652=>1000,39653=>1000,39654=>1000,39655=>1000,39656=>1000,39657=>1000,39658=>1000,39659=>1000,39660=>1000,39661=>1000,39662=>1000,39663=>1000,39664=>1000,39665=>1000,39666=>1000,39667=>1000,39668=>1000,39669=>1000,39670=>1000,39671=>1000,39672=>1000,39673=>1000,39674=>1000,39675=>1000,39676=>1000,39677=>1000,39678=>1000,39679=>1000,39680=>1000,39681=>1000,39682=>1000,39683=>1000,39684=>1000,39685=>1000,39686=>1000,39687=>1000,39688=>1000,39689=>1000,39690=>1000,39691=>1000,39692=>1000,39693=>1000,39694=>1000,39695=>1000,39696=>1000,39697=>1000,39698=>1000,39699=>1000,39700=>1000,39701=>1000,39702=>1000,39703=>1000,39704=>1000,39705=>1000,39706=>1000,39707=>1000,39708=>1000,39709=>1000,39710=>1000,39711=>1000,39712=>1000,39713=>1000,39714=>1000,39715=>1000,39716=>1000,39717=>1000,39718=>1000,39719=>1000,39720=>1000,39721=>1000,39722=>1000,39723=>1000,39724=>1000,39725=>1000,39726=>1000,39727=>1000,39728=>1000,39729=>1000,39730=>1000,39731=>1000,39732=>1000,39733=>1000,39734=>1000,39735=>1000,39736=>1000,39737=>1000,39738=>1000,39739=>1000,39740=>1000,39741=>1000,39742=>1000,39743=>1000,39744=>1000,39745=>1000,39746=>1000,39747=>1000,39748=>1000,39749=>1000,39750=>1000,39751=>1000,39752=>1000,39753=>1000,39754=>1000,39755=>1000,39756=>1000,39757=>1000,39758=>1000,39759=>1000,39760=>1000,39761=>1000,39762=>1000,39763=>1000,39764=>1000,39765=>1000,39766=>1000,39767=>1000,39768=>1000,39769=>1000,39770=>1000,39771=>1000,39772=>1000,39773=>1000,39774=>1000,39775=>1000,39776=>1000,39777=>1000,39778=>1000,39779=>1000,39780=>1000,39781=>1000,39782=>1000,39783=>1000,39784=>1000,39785=>1000,39786=>1000,39787=>1000,39788=>1000,39789=>1000,39790=>1000,39791=>1000,39792=>1000,39793=>1000,39794=>1000,39795=>1000,39796=>1000,39797=>1000,39798=>1000,39799=>1000,39800=>1000,39801=>1000,39802=>1000,39803=>1000,39804=>1000,39805=>1000,39806=>1000,39807=>1000,39808=>1000,39809=>1000,39810=>1000,39811=>1000,39812=>1000,39813=>1000,39814=>1000,39815=>1000,39816=>1000,39817=>1000,39818=>1000,39819=>1000,39820=>1000,39821=>1000,39822=>1000,39823=>1000,39824=>1000,39825=>1000,39826=>1000,39827=>1000,39828=>1000,39829=>1000,39830=>1000,39831=>1000,39832=>1000,39833=>1000,39834=>1000,39835=>1000,39836=>1000,39837=>1000,39838=>1000,39839=>1000,39840=>1000,39841=>1000,39842=>1000,39843=>1000,39844=>1000,39845=>1000,39846=>1000,39847=>1000,39848=>1000,39849=>1000,39850=>1000,39851=>1000,39852=>1000,39853=>1000,39854=>1000,39855=>1000,39856=>1000,39857=>1000,39858=>1000,39859=>1000,39860=>1000,39861=>1000,39862=>1000,39863=>1000,39864=>1000,39865=>1000,39866=>1000,39867=>1000,39868=>1000,39869=>1000,39870=>1000,39871=>1000,39872=>1000,39873=>1000,39874=>1000,39875=>1000,39876=>1000,39877=>1000,39878=>1000,39879=>1000,39880=>1000,39881=>1000,39882=>1000,39883=>1000,39884=>1000,39885=>1000,39886=>1000,39887=>1000,39888=>1000,39889=>1000,39890=>1000,39891=>1000,39892=>1000,39893=>1000,39894=>1000,39895=>1000,39896=>1000,39897=>1000,39898=>1000,39899=>1000,39900=>1000,39901=>1000,39902=>1000,39903=>1000,39904=>1000,39905=>1000,39906=>1000,39907=>1000,39908=>1000,39909=>1000,39910=>1000,39911=>1000,39912=>1000,39913=>1000,39914=>1000,39915=>1000,39916=>1000,39917=>1000,39918=>1000,39919=>1000,39920=>1000,39921=>1000,39922=>1000,39923=>1000,39924=>1000,39925=>1000,39926=>1000,39927=>1000,39928=>1000,39929=>1000,39930=>1000,39931=>1000,39932=>1000,39933=>1000,39934=>1000,39935=>1000,39936=>1000,39937=>1000,39938=>1000,39939=>1000,39940=>1000,39941=>1000,39942=>1000,39943=>1000,39944=>1000,39945=>1000,39946=>1000,39947=>1000,39948=>1000,39949=>1000,39950=>1000,39951=>1000,39952=>1000,39953=>1000,39954=>1000,39955=>1000,39956=>1000,39957=>1000,39958=>1000,39959=>1000,39960=>1000,39961=>1000,39962=>1000,39963=>1000,39964=>1000,39965=>1000,39966=>1000,39967=>1000,39968=>1000,39969=>1000,39970=>1000,39971=>1000,39972=>1000,39973=>1000,39974=>1000,39975=>1000,39976=>1000,39977=>1000,39978=>1000,39979=>1000,39980=>1000,39981=>1000,39982=>1000,39983=>1000,39984=>1000,39985=>1000,39986=>1000,39987=>1000,39988=>1000,39989=>1000,39990=>1000,39991=>1000,39992=>1000,39993=>1000,39994=>1000,39995=>1000,39996=>1000,39997=>1000,39998=>1000,39999=>1000,40000=>1000,40001=>1000,40002=>1000,40003=>1000,40004=>1000,40005=>1000,40006=>1000,40007=>1000,40008=>1000,40009=>1000,40010=>1000,40011=>1000,40012=>1000,40013=>1000,40014=>1000,40015=>1000,40016=>1000,40017=>1000,40018=>1000,40019=>1000,40020=>1000,40021=>1000,40022=>1000,40023=>1000,40024=>1000,40025=>1000,40026=>1000,40027=>1000,40028=>1000,40029=>1000,40030=>1000,40031=>1000,40032=>1000,40033=>1000,40034=>1000,40035=>1000,40036=>1000,40037=>1000,40038=>1000,40039=>1000,40040=>1000,40041=>1000,40042=>1000,40043=>1000,40044=>1000,40045=>1000,40046=>1000,40047=>1000,40048=>1000,40049=>1000,40050=>1000,40051=>1000,40052=>1000,40053=>1000,40054=>1000,40055=>1000,40056=>1000,40057=>1000,40058=>1000,40059=>1000,40060=>1000,40061=>1000,40062=>1000,40063=>1000,40064=>1000,40065=>1000,40066=>1000,40067=>1000,40068=>1000,40069=>1000,40070=>1000,40071=>1000,40072=>1000,40073=>1000,40074=>1000,40075=>1000,40076=>1000,40077=>1000,40078=>1000,40079=>1000,40080=>1000,40081=>1000,40082=>1000,40083=>1000,40084=>1000,40085=>1000,40086=>1000,40087=>1000,40088=>1000,40089=>1000,40090=>1000,40091=>1000,40092=>1000,40093=>1000,40094=>1000,40095=>1000,40096=>1000,40097=>1000,40098=>1000,40099=>1000,40100=>1000,40101=>1000,40102=>1000,40103=>1000,40104=>1000,40105=>1000,40106=>1000,40107=>1000,40108=>1000,40109=>1000,40110=>1000,40111=>1000,40112=>1000,40113=>1000,40114=>1000,40115=>1000,40116=>1000,40117=>1000,40118=>1000,40119=>1000,40120=>1000,40121=>1000,40122=>1000,40123=>1000,40124=>1000,40125=>1000,40126=>1000,40127=>1000,40128=>1000,40129=>1000,40130=>1000,40131=>1000,40132=>1000,40133=>1000,40134=>1000,40135=>1000,40136=>1000,40137=>1000,40138=>1000,40139=>1000,40140=>1000,40141=>1000,40142=>1000,40143=>1000,40144=>1000,40145=>1000,40146=>1000,40147=>1000,40148=>1000,40149=>1000,40150=>1000,40151=>1000,40152=>1000,40153=>1000,40154=>1000,40155=>1000,40156=>1000,40157=>1000,40158=>1000,40159=>1000,40160=>1000,40161=>1000,40162=>1000,40163=>1000,40164=>1000,40165=>1000,40166=>1000,40167=>1000,40168=>1000,40169=>1000,40170=>1000,40171=>1000,40172=>1000,40173=>1000,40174=>1000,40175=>1000,40176=>1000,40177=>1000,40178=>1000,40179=>1000,40180=>1000,40181=>1000,40182=>1000,40183=>1000,40184=>1000,40185=>1000,40186=>1000,40187=>1000,40188=>1000,40189=>1000,40190=>1000,40191=>1000,40192=>1000,40193=>1000,40194=>1000,40195=>1000,40196=>1000,40197=>1000,40198=>1000,40199=>1000,40200=>1000,40201=>1000,40202=>1000,40203=>1000,40204=>1000,40205=>1000,40206=>1000,40207=>1000,40208=>1000,40209=>1000,40210=>1000,40211=>1000,40212=>1000,40213=>1000,40214=>1000,40215=>1000,40216=>1000,40217=>1000,40218=>1000,40219=>1000,40220=>1000,40221=>1000,40222=>1000,40223=>1000,40224=>1000,40225=>1000,40226=>1000,40227=>1000,40228=>1000,40229=>1000,40230=>1000,40231=>1000,40232=>1000,40233=>1000,40234=>1000,40235=>1000,40236=>1000,40237=>1000,40238=>1000,40239=>1000,40240=>1000,40241=>1000,40242=>1000,40243=>1000,40244=>1000,40245=>1000,40246=>1000,40247=>1000,40248=>1000,40249=>1000,40250=>1000,40251=>1000,40252=>1000,40253=>1000,40254=>1000,40255=>1000,40256=>1000,40257=>1000,40258=>1000,40259=>1000,40260=>1000,40261=>1000,40262=>1000,40263=>1000,40264=>1000,40265=>1000,40266=>1000,40267=>1000,40268=>1000,40269=>1000,40270=>1000,40271=>1000,40272=>1000,40273=>1000,40274=>1000,40275=>1000,40276=>1000,40277=>1000,40278=>1000,40279=>1000,40280=>1000,40281=>1000,40282=>1000,40283=>1000,40284=>1000,40285=>1000,40286=>1000,40287=>1000,40288=>1000,40289=>1000,40290=>1000,40291=>1000,40292=>1000,40293=>1000,40294=>1000,40295=>1000,40296=>1000,40297=>1000,40298=>1000,40299=>1000,40300=>1000,40301=>1000,40302=>1000,40303=>1000,40304=>1000,40305=>1000,40306=>1000,40307=>1000,40308=>1000,40309=>1000,40310=>1000,40311=>1000,40312=>1000,40313=>1000,40314=>1000,40315=>1000,40316=>1000,40317=>1000,40318=>1000,40319=>1000,40320=>1000,40321=>1000,40322=>1000,40323=>1000,40324=>1000,40325=>1000,40326=>1000,40327=>1000,40328=>1000,40329=>1000,40330=>1000,40331=>1000,40332=>1000,40333=>1000,40334=>1000,40335=>1000,40336=>1000,40337=>1000,40338=>1000,40339=>1000,40340=>1000,40341=>1000,40342=>1000,40343=>1000,40344=>1000,40345=>1000,40346=>1000,40347=>1000,40348=>1000,40349=>1000,40350=>1000,40351=>1000,40352=>1000,40353=>1000,40354=>1000,40355=>1000,40356=>1000,40357=>1000,40358=>1000,40359=>1000,40360=>1000,40361=>1000,40362=>1000,40363=>1000,40364=>1000,40365=>1000,40366=>1000,40367=>1000,40368=>1000,40369=>1000,40370=>1000,40371=>1000,40372=>1000,40373=>1000,40374=>1000,40375=>1000,40376=>1000,40377=>1000,40378=>1000,40379=>1000,40380=>1000,40381=>1000,40382=>1000,40383=>1000,40384=>1000,40385=>1000,40386=>1000,40387=>1000,40388=>1000,40389=>1000,40390=>1000,40391=>1000,40392=>1000,40393=>1000,40394=>1000,40395=>1000,40396=>1000,40397=>1000,40398=>1000,40399=>1000,40400=>1000,40401=>1000,40402=>1000,40403=>1000,40404=>1000,40405=>1000,40406=>1000,40407=>1000,40408=>1000,40409=>1000,40410=>1000,40411=>1000,40412=>1000,40413=>1000,40414=>1000,40415=>1000,40416=>1000,40417=>1000,40418=>1000,40419=>1000,40420=>1000,40421=>1000,40422=>1000,40423=>1000,40424=>1000,40425=>1000,40426=>1000,40427=>1000,40428=>1000,40429=>1000,40430=>1000,40431=>1000,40432=>1000,40433=>1000,40434=>1000,40435=>1000,40436=>1000,40437=>1000,40438=>1000,40439=>1000,40440=>1000,40441=>1000,40442=>1000,40443=>1000,40444=>1000,40445=>1000,40446=>1000,40447=>1000,40448=>1000,40449=>1000,40450=>1000,40451=>1000,40452=>1000,40453=>1000,40454=>1000,40455=>1000,40456=>1000,40457=>1000,40458=>1000,40459=>1000,40460=>1000,40461=>1000,40462=>1000,40463=>1000,40464=>1000,40465=>1000,40466=>1000,40467=>1000,40468=>1000,40469=>1000,40470=>1000,40471=>1000,40472=>1000,40473=>1000,40474=>1000,40475=>1000,40476=>1000,40477=>1000,40478=>1000,40479=>1000,40480=>1000,40481=>1000,40482=>1000,40483=>1000,40484=>1000,40485=>1000,40486=>1000,40487=>1000,40488=>1000,40489=>1000,40490=>1000,40491=>1000,40492=>1000,40493=>1000,40494=>1000,40495=>1000,40496=>1000,40497=>1000,40498=>1000,40499=>1000,40500=>1000,40501=>1000,40502=>1000,40503=>1000,40504=>1000,40505=>1000,40506=>1000,40507=>1000,40508=>1000,40509=>1000,40510=>1000,40511=>1000,40512=>1000,40513=>1000,40514=>1000,40515=>1000,40516=>1000,40517=>1000,40518=>1000,40519=>1000,40520=>1000,40521=>1000,40522=>1000,40523=>1000,40524=>1000,40525=>1000,40526=>1000,40527=>1000,40528=>1000,40529=>1000,40530=>1000,40531=>1000,40532=>1000,40533=>1000,40534=>1000,40535=>1000,40536=>1000,40537=>1000,40538=>1000,40539=>1000,40540=>1000,40541=>1000,40542=>1000,40543=>1000,40544=>1000,40545=>1000,40546=>1000,40547=>1000,40548=>1000,40549=>1000,40550=>1000,40551=>1000,40552=>1000,40553=>1000,40554=>1000,40555=>1000,40556=>1000,40557=>1000,40558=>1000,40559=>1000,40560=>1000,40561=>1000,40562=>1000,40563=>1000,40564=>1000,40565=>1000,40566=>1000,40567=>1000,40568=>1000,40569=>1000,40570=>1000,40571=>1000,40572=>1000,40573=>1000,40574=>1000,40575=>1000,40576=>1000,40577=>1000,40578=>1000,40579=>1000,40580=>1000,40581=>1000,40582=>1000,40583=>1000,40584=>1000,40585=>1000,40586=>1000,40587=>1000,40588=>1000,40589=>1000,40590=>1000,40591=>1000,40592=>1000,40593=>1000,40594=>1000,40595=>1000,40596=>1000,40597=>1000,40598=>1000,40599=>1000,40600=>1000,40601=>1000,40602=>1000,40603=>1000,40604=>1000,40605=>1000,40606=>1000,40607=>1000,40608=>1000,40609=>1000,40610=>1000,40611=>1000,40612=>1000,40613=>1000,40614=>1000,40615=>1000,40616=>1000,40617=>1000,40618=>1000,40619=>1000,40620=>1000,40621=>1000,40622=>1000,40623=>1000,40624=>1000,40625=>1000,40626=>1000,40627=>1000,40628=>1000,40629=>1000,40630=>1000,40631=>1000,40632=>1000,40633=>1000,40634=>1000,40635=>1000,40636=>1000,40637=>1000,40638=>1000,40639=>1000,40640=>1000,40641=>1000,40642=>1000,40643=>1000,40644=>1000,40645=>1000,40646=>1000,40647=>1000,40648=>1000,40649=>1000,40650=>1000,40651=>1000,40652=>1000,40653=>1000,40654=>1000,40655=>1000,40656=>1000,40657=>1000,40658=>1000,40659=>1000,40660=>1000,40661=>1000,40662=>1000,40663=>1000,40664=>1000,40665=>1000,40666=>1000,40667=>1000,40668=>1000,40669=>1000,40670=>1000,40671=>1000,40672=>1000,40673=>1000,40674=>1000,40675=>1000,40676=>1000,40677=>1000,40678=>1000,40679=>1000,40680=>1000,40681=>1000,40682=>1000,40683=>1000,40684=>1000,40685=>1000,40686=>1000,40687=>1000,40688=>1000,40689=>1000,40690=>1000,40691=>1000,40692=>1000,40693=>1000,40694=>1000,40695=>1000,40696=>1000,40697=>1000,40698=>1000,40699=>1000,40700=>1000,40701=>1000,40702=>1000,40703=>1000,40704=>1000,40705=>1000,40706=>1000,40707=>1000,40708=>1000,40709=>1000,40710=>1000,40711=>1000,40712=>1000,40713=>1000,40714=>1000,40715=>1000,40716=>1000,40717=>1000,40718=>1000,40719=>1000,40720=>1000,40721=>1000,40722=>1000,40723=>1000,40724=>1000,40725=>1000,40726=>1000,40727=>1000,40728=>1000,40729=>1000,40730=>1000,40731=>1000,40732=>1000,40733=>1000,40734=>1000,40735=>1000,40736=>1000,40737=>1000,40738=>1000,40739=>1000,40740=>1000,40741=>1000,40742=>1000,40743=>1000,40744=>1000,40745=>1000,40746=>1000,40747=>1000,40748=>1000,40749=>1000,40750=>1000,40751=>1000,40752=>1000,40753=>1000,40754=>1000,40755=>1000,40756=>1000,40757=>1000,40758=>1000,40759=>1000,40760=>1000,40761=>1000,40762=>1000,40763=>1000,40764=>1000,40765=>1000,40766=>1000,40767=>1000,40768=>1000,40769=>1000,40770=>1000,40771=>1000,40772=>1000,40773=>1000,40774=>1000,40775=>1000,40776=>1000,40777=>1000,40778=>1000,40779=>1000,40780=>1000,40781=>1000,40782=>1000,40783=>1000,40784=>1000,40785=>1000,40786=>1000,40787=>1000,40788=>1000,40789=>1000,40790=>1000,40791=>1000,40792=>1000,40793=>1000,40794=>1000,40795=>1000,40796=>1000,40797=>1000,40798=>1000,40799=>1000,40800=>1000,40801=>1000,40802=>1000,40803=>1000,40804=>1000,40805=>1000,40806=>1000,40807=>1000,40808=>1000,40809=>1000,40810=>1000,40811=>1000,40812=>1000,40813=>1000,40814=>1000,40815=>1000,40816=>1000,40817=>1000,40818=>1000,40819=>1000,40820=>1000,40821=>1000,40822=>1000,40823=>1000,40824=>1000,40825=>1000,40826=>1000,40827=>1000,40828=>1000,40829=>1000,40830=>1000,40831=>1000,40832=>1000,40833=>1000,40834=>1000,40835=>1000,40836=>1000,40837=>1000,40838=>1000,40839=>1000,40840=>1000,40841=>1000,40842=>1000,40843=>1000,40844=>1000,40845=>1000,40846=>1000,40847=>1000,40848=>1000,40849=>1000,40850=>1000,40851=>1000,40852=>1000,40853=>1000,40854=>1000,40855=>1000,40856=>1000,40857=>1000,40858=>1000,40859=>1000,40860=>1000,40861=>1000,40862=>1000,40863=>1000,40864=>1000,40865=>1000,40866=>1000,40867=>1000,40868=>1000,40869=>1000,44032=>1000,44033=>1000,44034=>1000,44035=>1000,44036=>1000,44037=>1000,44038=>1000,44039=>1000,44040=>1000,44041=>1000,44042=>1000,44043=>1000,44044=>1000,44045=>1000,44046=>1000,44047=>1000,44048=>1000,44049=>1000,44050=>1000,44051=>1000,44052=>1000,44053=>1000,44054=>1000,44055=>1000,44056=>1000,44057=>1000,44058=>1000,44059=>1000,44060=>1000,44061=>1000,44062=>1000,44063=>1000,44064=>1000,44065=>1000,44066=>1000,44067=>1000,44068=>1000,44069=>1000,44070=>1000,44071=>1000,44072=>1000,44073=>1000,44074=>1000,44075=>1000,44076=>1000,44077=>1000,44078=>1000,44079=>1000,44080=>1000,44081=>1000,44082=>1000,44083=>1000,44084=>1000,44085=>1000,44086=>1000,44087=>1000,44088=>1000,44089=>1000,44090=>1000,44091=>1000,44092=>1000,44093=>1000,44094=>1000,44095=>1000,44096=>1000,44097=>1000,44098=>1000,44099=>1000,44100=>1000,44101=>1000,44102=>1000,44103=>1000,44104=>1000,44105=>1000,44106=>1000,44107=>1000,44108=>1000,44109=>1000,44110=>1000,44111=>1000,44112=>1000,44113=>1000,44114=>1000,44115=>1000,44116=>1000,44117=>1000,44118=>1000,44119=>1000,44120=>1000,44121=>1000,44122=>1000,44123=>1000,44124=>1000,44125=>1000,44126=>1000,44127=>1000,44128=>1000,44129=>1000,44130=>1000,44131=>1000,44132=>1000,44133=>1000,44134=>1000,44135=>1000,44136=>1000,44137=>1000,44138=>1000,44139=>1000,44140=>1000,44141=>1000,44142=>1000,44143=>1000,44144=>1000,44145=>1000,44146=>1000,44147=>1000,44148=>1000,44149=>1000,44150=>1000,44151=>1000,44152=>1000,44153=>1000,44154=>1000,44155=>1000,44156=>1000,44157=>1000,44158=>1000,44159=>1000,44160=>1000,44161=>1000,44162=>1000,44163=>1000,44164=>1000,44165=>1000,44166=>1000,44167=>1000,44168=>1000,44169=>1000,44170=>1000,44171=>1000,44172=>1000,44173=>1000,44174=>1000,44175=>1000,44176=>1000,44177=>1000,44178=>1000,44179=>1000,44180=>1000,44181=>1000,44182=>1000,44183=>1000,44184=>1000,44185=>1000,44186=>1000,44187=>1000,44188=>1000,44189=>1000,44190=>1000,44191=>1000,44192=>1000,44193=>1000,44194=>1000,44195=>1000,44196=>1000,44197=>1000,44198=>1000,44199=>1000,44200=>1000,44201=>1000,44202=>1000,44203=>1000,44204=>1000,44205=>1000,44206=>1000,44207=>1000,44208=>1000,44209=>1000,44210=>1000,44211=>1000,44212=>1000,44213=>1000,44214=>1000,44215=>1000,44216=>1000,44217=>1000,44218=>1000,44219=>1000,44220=>1000,44221=>1000,44222=>1000,44223=>1000,44224=>1000,44225=>1000,44226=>1000,44227=>1000,44228=>1000,44229=>1000,44230=>1000,44231=>1000,44232=>1000,44233=>1000,44234=>1000,44235=>1000,44236=>1000,44237=>1000,44238=>1000,44239=>1000,44240=>1000,44241=>1000,44242=>1000,44243=>1000,44244=>1000,44245=>1000,44246=>1000,44247=>1000,44248=>1000,44249=>1000,44250=>1000,44251=>1000,44252=>1000,44253=>1000,44254=>1000,44255=>1000,44256=>1000,44257=>1000,44258=>1000,44259=>1000,44260=>1000,44261=>1000,44262=>1000,44263=>1000,44264=>1000,44265=>1000,44266=>1000,44267=>1000,44268=>1000,44269=>1000,44270=>1000,44271=>1000,44272=>1000,44273=>1000,44274=>1000,44275=>1000,44276=>1000,44277=>1000,44278=>1000,44279=>1000,44280=>1000,44281=>1000,44282=>1000,44283=>1000,44284=>1000,44285=>1000,44286=>1000,44287=>1000,44288=>1000,44289=>1000,44290=>1000,44291=>1000,44292=>1000,44293=>1000,44294=>1000,44295=>1000,44296=>1000,44297=>1000,44298=>1000,44299=>1000,44300=>1000,44301=>1000,44302=>1000,44303=>1000,44304=>1000,44305=>1000,44306=>1000,44307=>1000,44308=>1000,44309=>1000,44310=>1000,44311=>1000,44312=>1000,44313=>1000,44314=>1000,44315=>1000,44316=>1000,44317=>1000,44318=>1000,44319=>1000,44320=>1000,44321=>1000,44322=>1000,44323=>1000,44324=>1000,44325=>1000,44326=>1000,44327=>1000,44328=>1000,44329=>1000,44330=>1000,44331=>1000,44332=>1000,44333=>1000,44334=>1000,44335=>1000,44336=>1000,44337=>1000,44338=>1000,44339=>1000,44340=>1000,44341=>1000,44342=>1000,44343=>1000,44344=>1000,44345=>1000,44346=>1000,44347=>1000,44348=>1000,44349=>1000,44350=>1000,44351=>1000,44352=>1000,44353=>1000,44354=>1000,44355=>1000,44356=>1000,44357=>1000,44358=>1000,44359=>1000,44360=>1000,44361=>1000,44362=>1000,44363=>1000,44364=>1000,44365=>1000,44366=>1000,44367=>1000,44368=>1000,44369=>1000,44370=>1000,44371=>1000,44372=>1000,44373=>1000,44374=>1000,44375=>1000,44376=>1000,44377=>1000,44378=>1000,44379=>1000,44380=>1000,44381=>1000,44382=>1000,44383=>1000,44384=>1000,44385=>1000,44386=>1000,44387=>1000,44388=>1000,44389=>1000,44390=>1000,44391=>1000,44392=>1000,44393=>1000,44394=>1000,44395=>1000,44396=>1000,44397=>1000,44398=>1000,44399=>1000,44400=>1000,44401=>1000,44402=>1000,44403=>1000,44404=>1000,44405=>1000,44406=>1000,44407=>1000,44408=>1000,44409=>1000,44410=>1000,44411=>1000,44412=>1000,44413=>1000,44414=>1000,44415=>1000,44416=>1000,44417=>1000,44418=>1000,44419=>1000,44420=>1000,44421=>1000,44422=>1000,44423=>1000,44424=>1000,44425=>1000,44426=>1000,44427=>1000,44428=>1000,44429=>1000,44430=>1000,44431=>1000,44432=>1000,44433=>1000,44434=>1000,44435=>1000,44436=>1000,44437=>1000,44438=>1000,44439=>1000,44440=>1000,44441=>1000,44442=>1000,44443=>1000,44444=>1000,44445=>1000,44446=>1000,44447=>1000,44448=>1000,44449=>1000,44450=>1000,44451=>1000,44452=>1000,44453=>1000,44454=>1000,44455=>1000,44456=>1000,44457=>1000,44458=>1000,44459=>1000,44460=>1000,44461=>1000,44462=>1000,44463=>1000,44464=>1000,44465=>1000,44466=>1000,44467=>1000,44468=>1000,44469=>1000,44470=>1000,44471=>1000,44472=>1000,44473=>1000,44474=>1000,44475=>1000,44476=>1000,44477=>1000,44478=>1000,44479=>1000,44480=>1000,44481=>1000,44482=>1000,44483=>1000,44484=>1000,44485=>1000,44486=>1000,44487=>1000,44488=>1000,44489=>1000,44490=>1000,44491=>1000,44492=>1000,44493=>1000,44494=>1000,44495=>1000,44496=>1000,44497=>1000,44498=>1000,44499=>1000,44500=>1000,44501=>1000,44502=>1000,44503=>1000,44504=>1000,44505=>1000,44506=>1000,44507=>1000,44508=>1000,44509=>1000,44510=>1000,44511=>1000,44512=>1000,44513=>1000,44514=>1000,44515=>1000,44516=>1000,44517=>1000,44518=>1000,44519=>1000,44520=>1000,44521=>1000,44522=>1000,44523=>1000,44524=>1000,44525=>1000,44526=>1000,44527=>1000,44528=>1000,44529=>1000,44530=>1000,44531=>1000,44532=>1000,44533=>1000,44534=>1000,44535=>1000,44536=>1000,44537=>1000,44538=>1000,44539=>1000,44540=>1000,44541=>1000,44542=>1000,44543=>1000,44544=>1000,44545=>1000,44546=>1000,44547=>1000,44548=>1000,44549=>1000,44550=>1000,44551=>1000,44552=>1000,44553=>1000,44554=>1000,44555=>1000,44556=>1000,44557=>1000,44558=>1000,44559=>1000,44560=>1000,44561=>1000,44562=>1000,44563=>1000,44564=>1000,44565=>1000,44566=>1000,44567=>1000,44568=>1000,44569=>1000,44570=>1000,44571=>1000,44572=>1000,44573=>1000,44574=>1000,44575=>1000,44576=>1000,44577=>1000,44578=>1000,44579=>1000,44580=>1000,44581=>1000,44582=>1000,44583=>1000,44584=>1000,44585=>1000,44586=>1000,44587=>1000,44588=>1000,44589=>1000,44590=>1000,44591=>1000,44592=>1000,44593=>1000,44594=>1000,44595=>1000,44596=>1000,44597=>1000,44598=>1000,44599=>1000,44600=>1000,44601=>1000,44602=>1000,44603=>1000,44604=>1000,44605=>1000,44606=>1000,44607=>1000,44608=>1000,44609=>1000,44610=>1000,44611=>1000,44612=>1000,44613=>1000,44614=>1000,44615=>1000,44616=>1000,44617=>1000,44618=>1000,44619=>1000,44620=>1000,44621=>1000,44622=>1000,44623=>1000,44624=>1000,44625=>1000,44626=>1000,44627=>1000,44628=>1000,44629=>1000,44630=>1000,44631=>1000,44632=>1000,44633=>1000,44634=>1000,44635=>1000,44636=>1000,44637=>1000,44638=>1000,44639=>1000,44640=>1000,44641=>1000,44642=>1000,44643=>1000,44644=>1000,44645=>1000,44646=>1000,44647=>1000,44648=>1000,44649=>1000,44650=>1000,44651=>1000,44652=>1000,44653=>1000,44654=>1000,44655=>1000,44656=>1000,44657=>1000,44658=>1000,44659=>1000,44660=>1000,44661=>1000,44662=>1000,44663=>1000,44664=>1000,44665=>1000,44666=>1000,44667=>1000,44668=>1000,44669=>1000,44670=>1000,44671=>1000,44672=>1000,44673=>1000,44674=>1000,44675=>1000,44676=>1000,44677=>1000,44678=>1000,44679=>1000,44680=>1000,44681=>1000,44682=>1000,44683=>1000,44684=>1000,44685=>1000,44686=>1000,44687=>1000,44688=>1000,44689=>1000,44690=>1000,44691=>1000,44692=>1000,44693=>1000,44694=>1000,44695=>1000,44696=>1000,44697=>1000,44698=>1000,44699=>1000,44700=>1000,44701=>1000,44702=>1000,44703=>1000,44704=>1000,44705=>1000,44706=>1000,44707=>1000,44708=>1000,44709=>1000,44710=>1000,44711=>1000,44712=>1000,44713=>1000,44714=>1000,44715=>1000,44716=>1000,44717=>1000,44718=>1000,44719=>1000,44720=>1000,44721=>1000,44722=>1000,44723=>1000,44724=>1000,44725=>1000,44726=>1000,44727=>1000,44728=>1000,44729=>1000,44730=>1000,44731=>1000,44732=>1000,44733=>1000,44734=>1000,44735=>1000,44736=>1000,44737=>1000,44738=>1000,44739=>1000,44740=>1000,44741=>1000,44742=>1000,44743=>1000,44744=>1000,44745=>1000,44746=>1000,44747=>1000,44748=>1000,44749=>1000,44750=>1000,44751=>1000,44752=>1000,44753=>1000,44754=>1000,44755=>1000,44756=>1000,44757=>1000,44758=>1000,44759=>1000,44760=>1000,44761=>1000,44762=>1000,44763=>1000,44764=>1000,44765=>1000,44766=>1000,44767=>1000,44768=>1000,44769=>1000,44770=>1000,44771=>1000,44772=>1000,44773=>1000,44774=>1000,44775=>1000,44776=>1000,44777=>1000,44778=>1000,44779=>1000,44780=>1000,44781=>1000,44782=>1000,44783=>1000,44784=>1000,44785=>1000,44786=>1000,44787=>1000,44788=>1000,44789=>1000,44790=>1000,44791=>1000,44792=>1000,44793=>1000,44794=>1000,44795=>1000,44796=>1000,44797=>1000,44798=>1000,44799=>1000,44800=>1000,44801=>1000,44802=>1000,44803=>1000,44804=>1000,44805=>1000,44806=>1000,44807=>1000,44808=>1000,44809=>1000,44810=>1000,44811=>1000,44812=>1000,44813=>1000,44814=>1000,44815=>1000,44816=>1000,44817=>1000,44818=>1000,44819=>1000,44820=>1000,44821=>1000,44822=>1000,44823=>1000,44824=>1000,44825=>1000,44826=>1000,44827=>1000,44828=>1000,44829=>1000,44830=>1000,44831=>1000,44832=>1000,44833=>1000,44834=>1000,44835=>1000,44836=>1000,44837=>1000,44838=>1000,44839=>1000,44840=>1000,44841=>1000,44842=>1000,44843=>1000,44844=>1000,44845=>1000,44846=>1000,44847=>1000,44848=>1000,44849=>1000,44850=>1000,44851=>1000,44852=>1000,44853=>1000,44854=>1000,44855=>1000,44856=>1000,44857=>1000,44858=>1000,44859=>1000,44860=>1000,44861=>1000,44862=>1000,44863=>1000,44864=>1000,44865=>1000,44866=>1000,44867=>1000,44868=>1000,44869=>1000,44870=>1000,44871=>1000,44872=>1000,44873=>1000,44874=>1000,44875=>1000,44876=>1000,44877=>1000,44878=>1000,44879=>1000,44880=>1000,44881=>1000,44882=>1000,44883=>1000,44884=>1000,44885=>1000,44886=>1000,44887=>1000,44888=>1000,44889=>1000,44890=>1000,44891=>1000,44892=>1000,44893=>1000,44894=>1000,44895=>1000,44896=>1000,44897=>1000,44898=>1000,44899=>1000,44900=>1000,44901=>1000,44902=>1000,44903=>1000,44904=>1000,44905=>1000,44906=>1000,44907=>1000,44908=>1000,44909=>1000,44910=>1000,44911=>1000,44912=>1000,44913=>1000,44914=>1000,44915=>1000,44916=>1000,44917=>1000,44918=>1000,44919=>1000,44920=>1000,44921=>1000,44922=>1000,44923=>1000,44924=>1000,44925=>1000,44926=>1000,44927=>1000,44928=>1000,44929=>1000,44930=>1000,44931=>1000,44932=>1000,44933=>1000,44934=>1000,44935=>1000,44936=>1000,44937=>1000,44938=>1000,44939=>1000,44940=>1000,44941=>1000,44942=>1000,44943=>1000,44944=>1000,44945=>1000,44946=>1000,44947=>1000,44948=>1000,44949=>1000,44950=>1000,44951=>1000,44952=>1000,44953=>1000,44954=>1000,44955=>1000,44956=>1000,44957=>1000,44958=>1000,44959=>1000,44960=>1000,44961=>1000,44962=>1000,44963=>1000,44964=>1000,44965=>1000,44966=>1000,44967=>1000,44968=>1000,44969=>1000,44970=>1000,44971=>1000,44972=>1000,44973=>1000,44974=>1000,44975=>1000,44976=>1000,44977=>1000,44978=>1000,44979=>1000,44980=>1000,44981=>1000,44982=>1000,44983=>1000,44984=>1000,44985=>1000,44986=>1000,44987=>1000,44988=>1000,44989=>1000,44990=>1000,44991=>1000,44992=>1000,44993=>1000,44994=>1000,44995=>1000,44996=>1000,44997=>1000,44998=>1000,44999=>1000,45000=>1000,45001=>1000,45002=>1000,45003=>1000,45004=>1000,45005=>1000,45006=>1000,45007=>1000,45008=>1000,45009=>1000,45010=>1000,45011=>1000,45012=>1000,45013=>1000,45014=>1000,45015=>1000,45016=>1000,45017=>1000,45018=>1000,45019=>1000,45020=>1000,45021=>1000,45022=>1000,45023=>1000,45024=>1000,45025=>1000,45026=>1000,45027=>1000,45028=>1000,45029=>1000,45030=>1000,45031=>1000,45032=>1000,45033=>1000,45034=>1000,45035=>1000,45036=>1000,45037=>1000,45038=>1000,45039=>1000,45040=>1000,45041=>1000,45042=>1000,45043=>1000,45044=>1000,45045=>1000,45046=>1000,45047=>1000,45048=>1000,45049=>1000,45050=>1000,45051=>1000,45052=>1000,45053=>1000,45054=>1000,45055=>1000,45056=>1000,45057=>1000,45058=>1000,45059=>1000,45060=>1000,45061=>1000,45062=>1000,45063=>1000,45064=>1000,45065=>1000,45066=>1000,45067=>1000,45068=>1000,45069=>1000,45070=>1000,45071=>1000,45072=>1000,45073=>1000,45074=>1000,45075=>1000,45076=>1000,45077=>1000,45078=>1000,45079=>1000,45080=>1000,45081=>1000,45082=>1000,45083=>1000,45084=>1000,45085=>1000,45086=>1000,45087=>1000,45088=>1000,45089=>1000,45090=>1000,45091=>1000,45092=>1000,45093=>1000,45094=>1000,45095=>1000,45096=>1000,45097=>1000,45098=>1000,45099=>1000,45100=>1000,45101=>1000,45102=>1000,45103=>1000,45104=>1000,45105=>1000,45106=>1000,45107=>1000,45108=>1000,45109=>1000,45110=>1000,45111=>1000,45112=>1000,45113=>1000,45114=>1000,45115=>1000,45116=>1000,45117=>1000,45118=>1000,45119=>1000,45120=>1000,45121=>1000,45122=>1000,45123=>1000,45124=>1000,45125=>1000,45126=>1000,45127=>1000,45128=>1000,45129=>1000,45130=>1000,45131=>1000,45132=>1000,45133=>1000,45134=>1000,45135=>1000,45136=>1000,45137=>1000,45138=>1000,45139=>1000,45140=>1000,45141=>1000,45142=>1000,45143=>1000,45144=>1000,45145=>1000,45146=>1000,45147=>1000,45148=>1000,45149=>1000,45150=>1000,45151=>1000,45152=>1000,45153=>1000,45154=>1000,45155=>1000,45156=>1000,45157=>1000,45158=>1000,45159=>1000,45160=>1000,45161=>1000,45162=>1000,45163=>1000,45164=>1000,45165=>1000,45166=>1000,45167=>1000,45168=>1000,45169=>1000,45170=>1000,45171=>1000,45172=>1000,45173=>1000,45174=>1000,45175=>1000,45176=>1000,45177=>1000,45178=>1000,45179=>1000,45180=>1000,45181=>1000,45182=>1000,45183=>1000,45184=>1000,45185=>1000,45186=>1000,45187=>1000,45188=>1000,45189=>1000,45190=>1000,45191=>1000,45192=>1000,45193=>1000,45194=>1000,45195=>1000,45196=>1000,45197=>1000,45198=>1000,45199=>1000,45200=>1000,45201=>1000,45202=>1000,45203=>1000,45204=>1000,45205=>1000,45206=>1000,45207=>1000,45208=>1000,45209=>1000,45210=>1000,45211=>1000,45212=>1000,45213=>1000,45214=>1000,45215=>1000,45216=>1000,45217=>1000,45218=>1000,45219=>1000,45220=>1000,45221=>1000,45222=>1000,45223=>1000,45224=>1000,45225=>1000,45226=>1000,45227=>1000,45228=>1000,45229=>1000,45230=>1000,45231=>1000,45232=>1000,45233=>1000,45234=>1000,45235=>1000,45236=>1000,45237=>1000,45238=>1000,45239=>1000,45240=>1000,45241=>1000,45242=>1000,45243=>1000,45244=>1000,45245=>1000,45246=>1000,45247=>1000,45248=>1000,45249=>1000,45250=>1000,45251=>1000,45252=>1000,45253=>1000,45254=>1000,45255=>1000,45256=>1000,45257=>1000,45258=>1000,45259=>1000,45260=>1000,45261=>1000,45262=>1000,45263=>1000,45264=>1000,45265=>1000,45266=>1000,45267=>1000,45268=>1000,45269=>1000,45270=>1000,45271=>1000,45272=>1000,45273=>1000,45274=>1000,45275=>1000,45276=>1000,45277=>1000,45278=>1000,45279=>1000,45280=>1000,45281=>1000,45282=>1000,45283=>1000,45284=>1000,45285=>1000,45286=>1000,45287=>1000,45288=>1000,45289=>1000,45290=>1000,45291=>1000,45292=>1000,45293=>1000,45294=>1000,45295=>1000,45296=>1000,45297=>1000,45298=>1000,45299=>1000,45300=>1000,45301=>1000,45302=>1000,45303=>1000,45304=>1000,45305=>1000,45306=>1000,45307=>1000,45308=>1000,45309=>1000,45310=>1000,45311=>1000,45312=>1000,45313=>1000,45314=>1000,45315=>1000,45316=>1000,45317=>1000,45318=>1000,45319=>1000,45320=>1000,45321=>1000,45322=>1000,45323=>1000,45324=>1000,45325=>1000,45326=>1000,45327=>1000,45328=>1000,45329=>1000,45330=>1000,45331=>1000,45332=>1000,45333=>1000,45334=>1000,45335=>1000,45336=>1000,45337=>1000,45338=>1000,45339=>1000,45340=>1000,45341=>1000,45342=>1000,45343=>1000,45344=>1000,45345=>1000,45346=>1000,45347=>1000,45348=>1000,45349=>1000,45350=>1000,45351=>1000,45352=>1000,45353=>1000,45354=>1000,45355=>1000,45356=>1000,45357=>1000,45358=>1000,45359=>1000,45360=>1000,45361=>1000,45362=>1000,45363=>1000,45364=>1000,45365=>1000,45366=>1000,45367=>1000,45368=>1000,45369=>1000,45370=>1000,45371=>1000,45372=>1000,45373=>1000,45374=>1000,45375=>1000,45376=>1000,45377=>1000,45378=>1000,45379=>1000,45380=>1000,45381=>1000,45382=>1000,45383=>1000,45384=>1000,45385=>1000,45386=>1000,45387=>1000,45388=>1000,45389=>1000,45390=>1000,45391=>1000,45392=>1000,45393=>1000,45394=>1000,45395=>1000,45396=>1000,45397=>1000,45398=>1000,45399=>1000,45400=>1000,45401=>1000,45402=>1000,45403=>1000,45404=>1000,45405=>1000,45406=>1000,45407=>1000,45408=>1000,45409=>1000,45410=>1000,45411=>1000,45412=>1000,45413=>1000,45414=>1000,45415=>1000,45416=>1000,45417=>1000,45418=>1000,45419=>1000,45420=>1000,45421=>1000,45422=>1000,45423=>1000,45424=>1000,45425=>1000,45426=>1000,45427=>1000,45428=>1000,45429=>1000,45430=>1000,45431=>1000,45432=>1000,45433=>1000,45434=>1000,45435=>1000,45436=>1000,45437=>1000,45438=>1000,45439=>1000,45440=>1000,45441=>1000,45442=>1000,45443=>1000,45444=>1000,45445=>1000,45446=>1000,45447=>1000,45448=>1000,45449=>1000,45450=>1000,45451=>1000,45452=>1000,45453=>1000,45454=>1000,45455=>1000,45456=>1000,45457=>1000,45458=>1000,45459=>1000,45460=>1000,45461=>1000,45462=>1000,45463=>1000,45464=>1000,45465=>1000,45466=>1000,45467=>1000,45468=>1000,45469=>1000,45470=>1000,45471=>1000,45472=>1000,45473=>1000,45474=>1000,45475=>1000,45476=>1000,45477=>1000,45478=>1000,45479=>1000,45480=>1000,45481=>1000,45482=>1000,45483=>1000,45484=>1000,45485=>1000,45486=>1000,45487=>1000,45488=>1000,45489=>1000,45490=>1000,45491=>1000,45492=>1000,45493=>1000,45494=>1000,45495=>1000,45496=>1000,45497=>1000,45498=>1000,45499=>1000,45500=>1000,45501=>1000,45502=>1000,45503=>1000,45504=>1000,45505=>1000,45506=>1000,45507=>1000,45508=>1000,45509=>1000,45510=>1000,45511=>1000,45512=>1000,45513=>1000,45514=>1000,45515=>1000,45516=>1000,45517=>1000,45518=>1000,45519=>1000,45520=>1000,45521=>1000,45522=>1000,45523=>1000,45524=>1000,45525=>1000,45526=>1000,45527=>1000,45528=>1000,45529=>1000,45530=>1000,45531=>1000,45532=>1000,45533=>1000,45534=>1000,45535=>1000,45536=>1000,45537=>1000,45538=>1000,45539=>1000,45540=>1000,45541=>1000,45542=>1000,45543=>1000,45544=>1000,45545=>1000,45546=>1000,45547=>1000,45548=>1000,45549=>1000,45550=>1000,45551=>1000,45552=>1000,45553=>1000,45554=>1000,45555=>1000,45556=>1000,45557=>1000,45558=>1000,45559=>1000,45560=>1000,45561=>1000,45562=>1000,45563=>1000,45564=>1000,45565=>1000,45566=>1000,45567=>1000,45568=>1000,45569=>1000,45570=>1000,45571=>1000,45572=>1000,45573=>1000,45574=>1000,45575=>1000,45576=>1000,45577=>1000,45578=>1000,45579=>1000,45580=>1000,45581=>1000,45582=>1000,45583=>1000,45584=>1000,45585=>1000,45586=>1000,45587=>1000,45588=>1000,45589=>1000,45590=>1000,45591=>1000,45592=>1000,45593=>1000,45594=>1000,45595=>1000,45596=>1000,45597=>1000,45598=>1000,45599=>1000,45600=>1000,45601=>1000,45602=>1000,45603=>1000,45604=>1000,45605=>1000,45606=>1000,45607=>1000,45608=>1000,45609=>1000,45610=>1000,45611=>1000,45612=>1000,45613=>1000,45614=>1000,45615=>1000,45616=>1000,45617=>1000,45618=>1000,45619=>1000,45620=>1000,45621=>1000,45622=>1000,45623=>1000,45624=>1000,45625=>1000,45626=>1000,45627=>1000,45628=>1000,45629=>1000,45630=>1000,45631=>1000,45632=>1000,45633=>1000,45634=>1000,45635=>1000,45636=>1000,45637=>1000,45638=>1000,45639=>1000,45640=>1000,45641=>1000,45642=>1000,45643=>1000,45644=>1000,45645=>1000,45646=>1000,45647=>1000,45648=>1000,45649=>1000,45650=>1000,45651=>1000,45652=>1000,45653=>1000,45654=>1000,45655=>1000,45656=>1000,45657=>1000,45658=>1000,45659=>1000,45660=>1000,45661=>1000,45662=>1000,45663=>1000,45664=>1000,45665=>1000,45666=>1000,45667=>1000,45668=>1000,45669=>1000,45670=>1000,45671=>1000,45672=>1000,45673=>1000,45674=>1000,45675=>1000,45676=>1000,45677=>1000,45678=>1000,45679=>1000,45680=>1000,45681=>1000,45682=>1000,45683=>1000,45684=>1000,45685=>1000,45686=>1000,45687=>1000,45688=>1000,45689=>1000,45690=>1000,45691=>1000,45692=>1000,45693=>1000,45694=>1000,45695=>1000,45696=>1000,45697=>1000,45698=>1000,45699=>1000,45700=>1000,45701=>1000,45702=>1000,45703=>1000,45704=>1000,45705=>1000,45706=>1000,45707=>1000,45708=>1000,45709=>1000,45710=>1000,45711=>1000,45712=>1000,45713=>1000,45714=>1000,45715=>1000,45716=>1000,45717=>1000,45718=>1000,45719=>1000,45720=>1000,45721=>1000,45722=>1000,45723=>1000,45724=>1000,45725=>1000,45726=>1000,45727=>1000,45728=>1000,45729=>1000,45730=>1000,45731=>1000,45732=>1000,45733=>1000,45734=>1000,45735=>1000,45736=>1000,45737=>1000,45738=>1000,45739=>1000,45740=>1000,45741=>1000,45742=>1000,45743=>1000,45744=>1000,45745=>1000,45746=>1000,45747=>1000,45748=>1000,45749=>1000,45750=>1000,45751=>1000,45752=>1000,45753=>1000,45754=>1000,45755=>1000,45756=>1000,45757=>1000,45758=>1000,45759=>1000,45760=>1000,45761=>1000,45762=>1000,45763=>1000,45764=>1000,45765=>1000,45766=>1000,45767=>1000,45768=>1000,45769=>1000,45770=>1000,45771=>1000,45772=>1000,45773=>1000,45774=>1000,45775=>1000,45776=>1000,45777=>1000,45778=>1000,45779=>1000,45780=>1000,45781=>1000,45782=>1000,45783=>1000,45784=>1000,45785=>1000,45786=>1000,45787=>1000,45788=>1000,45789=>1000,45790=>1000,45791=>1000,45792=>1000,45793=>1000,45794=>1000,45795=>1000,45796=>1000,45797=>1000,45798=>1000,45799=>1000,45800=>1000,45801=>1000,45802=>1000,45803=>1000,45804=>1000,45805=>1000,45806=>1000,45807=>1000,45808=>1000,45809=>1000,45810=>1000,45811=>1000,45812=>1000,45813=>1000,45814=>1000,45815=>1000,45816=>1000,45817=>1000,45818=>1000,45819=>1000,45820=>1000,45821=>1000,45822=>1000,45823=>1000,45824=>1000,45825=>1000,45826=>1000,45827=>1000,45828=>1000,45829=>1000,45830=>1000,45831=>1000,45832=>1000,45833=>1000,45834=>1000,45835=>1000,45836=>1000,45837=>1000,45838=>1000,45839=>1000,45840=>1000,45841=>1000,45842=>1000,45843=>1000,45844=>1000,45845=>1000,45846=>1000,45847=>1000,45848=>1000,45849=>1000,45850=>1000,45851=>1000,45852=>1000,45853=>1000,45854=>1000,45855=>1000,45856=>1000,45857=>1000,45858=>1000,45859=>1000,45860=>1000,45861=>1000,45862=>1000,45863=>1000,45864=>1000,45865=>1000,45866=>1000,45867=>1000,45868=>1000,45869=>1000,45870=>1000,45871=>1000,45872=>1000,45873=>1000,45874=>1000,45875=>1000,45876=>1000,45877=>1000,45878=>1000,45879=>1000,45880=>1000,45881=>1000,45882=>1000,45883=>1000,45884=>1000,45885=>1000,45886=>1000,45887=>1000,45888=>1000,45889=>1000,45890=>1000,45891=>1000,45892=>1000,45893=>1000,45894=>1000,45895=>1000,45896=>1000,45897=>1000,45898=>1000,45899=>1000,45900=>1000,45901=>1000,45902=>1000,45903=>1000,45904=>1000,45905=>1000,45906=>1000,45907=>1000,45908=>1000,45909=>1000,45910=>1000,45911=>1000,45912=>1000,45913=>1000,45914=>1000,45915=>1000,45916=>1000,45917=>1000,45918=>1000,45919=>1000,45920=>1000,45921=>1000,45922=>1000,45923=>1000,45924=>1000,45925=>1000,45926=>1000,45927=>1000,45928=>1000,45929=>1000,45930=>1000,45931=>1000,45932=>1000,45933=>1000,45934=>1000,45935=>1000,45936=>1000,45937=>1000,45938=>1000,45939=>1000,45940=>1000,45941=>1000,45942=>1000,45943=>1000,45944=>1000,45945=>1000,45946=>1000,45947=>1000,45948=>1000,45949=>1000,45950=>1000,45951=>1000,45952=>1000,45953=>1000,45954=>1000,45955=>1000,45956=>1000,45957=>1000,45958=>1000,45959=>1000,45960=>1000,45961=>1000,45962=>1000,45963=>1000,45964=>1000,45965=>1000,45966=>1000,45967=>1000,45968=>1000,45969=>1000,45970=>1000,45971=>1000,45972=>1000,45973=>1000,45974=>1000,45975=>1000,45976=>1000,45977=>1000,45978=>1000,45979=>1000,45980=>1000,45981=>1000,45982=>1000,45983=>1000,45984=>1000,45985=>1000,45986=>1000,45987=>1000,45988=>1000,45989=>1000,45990=>1000,45991=>1000,45992=>1000,45993=>1000,45994=>1000,45995=>1000,45996=>1000,45997=>1000,45998=>1000,45999=>1000,46000=>1000,46001=>1000,46002=>1000,46003=>1000,46004=>1000,46005=>1000,46006=>1000,46007=>1000,46008=>1000,46009=>1000,46010=>1000,46011=>1000,46012=>1000,46013=>1000,46014=>1000,46015=>1000,46016=>1000,46017=>1000,46018=>1000,46019=>1000,46020=>1000,46021=>1000,46022=>1000,46023=>1000,46024=>1000,46025=>1000,46026=>1000,46027=>1000,46028=>1000,46029=>1000,46030=>1000,46031=>1000,46032=>1000,46033=>1000,46034=>1000,46035=>1000,46036=>1000,46037=>1000,46038=>1000,46039=>1000,46040=>1000,46041=>1000,46042=>1000,46043=>1000,46044=>1000,46045=>1000,46046=>1000,46047=>1000,46048=>1000,46049=>1000,46050=>1000,46051=>1000,46052=>1000,46053=>1000,46054=>1000,46055=>1000,46056=>1000,46057=>1000,46058=>1000,46059=>1000,46060=>1000,46061=>1000,46062=>1000,46063=>1000,46064=>1000,46065=>1000,46066=>1000,46067=>1000,46068=>1000,46069=>1000,46070=>1000,46071=>1000,46072=>1000,46073=>1000,46074=>1000,46075=>1000,46076=>1000,46077=>1000,46078=>1000,46079=>1000,46080=>1000,46081=>1000,46082=>1000,46083=>1000,46084=>1000,46085=>1000,46086=>1000,46087=>1000,46088=>1000,46089=>1000,46090=>1000,46091=>1000,46092=>1000,46093=>1000,46094=>1000,46095=>1000,46096=>1000,46097=>1000,46098=>1000,46099=>1000,46100=>1000,46101=>1000,46102=>1000,46103=>1000,46104=>1000,46105=>1000,46106=>1000,46107=>1000,46108=>1000,46109=>1000,46110=>1000,46111=>1000,46112=>1000,46113=>1000,46114=>1000,46115=>1000,46116=>1000,46117=>1000,46118=>1000,46119=>1000,46120=>1000,46121=>1000,46122=>1000,46123=>1000,46124=>1000,46125=>1000,46126=>1000,46127=>1000,46128=>1000,46129=>1000,46130=>1000,46131=>1000,46132=>1000,46133=>1000,46134=>1000,46135=>1000,46136=>1000,46137=>1000,46138=>1000,46139=>1000,46140=>1000,46141=>1000,46142=>1000,46143=>1000,46144=>1000,46145=>1000,46146=>1000,46147=>1000,46148=>1000,46149=>1000,46150=>1000,46151=>1000,46152=>1000,46153=>1000,46154=>1000,46155=>1000,46156=>1000,46157=>1000,46158=>1000,46159=>1000,46160=>1000,46161=>1000,46162=>1000,46163=>1000,46164=>1000,46165=>1000,46166=>1000,46167=>1000,46168=>1000,46169=>1000,46170=>1000,46171=>1000,46172=>1000,46173=>1000,46174=>1000,46175=>1000,46176=>1000,46177=>1000,46178=>1000,46179=>1000,46180=>1000,46181=>1000,46182=>1000,46183=>1000,46184=>1000,46185=>1000,46186=>1000,46187=>1000,46188=>1000,46189=>1000,46190=>1000,46191=>1000,46192=>1000,46193=>1000,46194=>1000,46195=>1000,46196=>1000,46197=>1000,46198=>1000,46199=>1000,46200=>1000,46201=>1000,46202=>1000,46203=>1000,46204=>1000,46205=>1000,46206=>1000,46207=>1000,46208=>1000,46209=>1000,46210=>1000,46211=>1000,46212=>1000,46213=>1000,46214=>1000,46215=>1000,46216=>1000,46217=>1000,46218=>1000,46219=>1000,46220=>1000,46221=>1000,46222=>1000,46223=>1000,46224=>1000,46225=>1000,46226=>1000,46227=>1000,46228=>1000,46229=>1000,46230=>1000,46231=>1000,46232=>1000,46233=>1000,46234=>1000,46235=>1000,46236=>1000,46237=>1000,46238=>1000,46239=>1000,46240=>1000,46241=>1000,46242=>1000,46243=>1000,46244=>1000,46245=>1000,46246=>1000,46247=>1000,46248=>1000,46249=>1000,46250=>1000,46251=>1000,46252=>1000,46253=>1000,46254=>1000,46255=>1000,46256=>1000,46257=>1000,46258=>1000,46259=>1000,46260=>1000,46261=>1000,46262=>1000,46263=>1000,46264=>1000,46265=>1000,46266=>1000,46267=>1000,46268=>1000,46269=>1000,46270=>1000,46271=>1000,46272=>1000,46273=>1000,46274=>1000,46275=>1000,46276=>1000,46277=>1000,46278=>1000,46279=>1000,46280=>1000,46281=>1000,46282=>1000,46283=>1000,46284=>1000,46285=>1000,46286=>1000,46287=>1000,46288=>1000,46289=>1000,46290=>1000,46291=>1000,46292=>1000,46293=>1000,46294=>1000,46295=>1000,46296=>1000,46297=>1000,46298=>1000,46299=>1000,46300=>1000,46301=>1000,46302=>1000,46303=>1000,46304=>1000,46305=>1000,46306=>1000,46307=>1000,46308=>1000,46309=>1000,46310=>1000,46311=>1000,46312=>1000,46313=>1000,46314=>1000,46315=>1000,46316=>1000,46317=>1000,46318=>1000,46319=>1000,46320=>1000,46321=>1000,46322=>1000,46323=>1000,46324=>1000,46325=>1000,46326=>1000,46327=>1000,46328=>1000,46329=>1000,46330=>1000,46331=>1000,46332=>1000,46333=>1000,46334=>1000,46335=>1000,46336=>1000,46337=>1000,46338=>1000,46339=>1000,46340=>1000,46341=>1000,46342=>1000,46343=>1000,46344=>1000,46345=>1000,46346=>1000,46347=>1000,46348=>1000,46349=>1000,46350=>1000,46351=>1000,46352=>1000,46353=>1000,46354=>1000,46355=>1000,46356=>1000,46357=>1000,46358=>1000,46359=>1000,46360=>1000,46361=>1000,46362=>1000,46363=>1000,46364=>1000,46365=>1000,46366=>1000,46367=>1000,46368=>1000,46369=>1000,46370=>1000,46371=>1000,46372=>1000,46373=>1000,46374=>1000,46375=>1000,46376=>1000,46377=>1000,46378=>1000,46379=>1000,46380=>1000,46381=>1000,46382=>1000,46383=>1000,46384=>1000,46385=>1000,46386=>1000,46387=>1000,46388=>1000,46389=>1000,46390=>1000,46391=>1000,46392=>1000,46393=>1000,46394=>1000,46395=>1000,46396=>1000,46397=>1000,46398=>1000,46399=>1000,46400=>1000,46401=>1000,46402=>1000,46403=>1000,46404=>1000,46405=>1000,46406=>1000,46407=>1000,46408=>1000,46409=>1000,46410=>1000,46411=>1000,46412=>1000,46413=>1000,46414=>1000,46415=>1000,46416=>1000,46417=>1000,46418=>1000,46419=>1000,46420=>1000,46421=>1000,46422=>1000,46423=>1000,46424=>1000,46425=>1000,46426=>1000,46427=>1000,46428=>1000,46429=>1000,46430=>1000,46431=>1000,46432=>1000,46433=>1000,46434=>1000,46435=>1000,46436=>1000,46437=>1000,46438=>1000,46439=>1000,46440=>1000,46441=>1000,46442=>1000,46443=>1000,46444=>1000,46445=>1000,46446=>1000,46447=>1000,46448=>1000,46449=>1000,46450=>1000,46451=>1000,46452=>1000,46453=>1000,46454=>1000,46455=>1000,46456=>1000,46457=>1000,46458=>1000,46459=>1000,46460=>1000,46461=>1000,46462=>1000,46463=>1000,46464=>1000,46465=>1000,46466=>1000,46467=>1000,46468=>1000,46469=>1000,46470=>1000,46471=>1000,46472=>1000,46473=>1000,46474=>1000,46475=>1000,46476=>1000,46477=>1000,46478=>1000,46479=>1000,46480=>1000,46481=>1000,46482=>1000,46483=>1000,46484=>1000,46485=>1000,46486=>1000,46487=>1000,46488=>1000,46489=>1000,46490=>1000,46491=>1000,46492=>1000,46493=>1000,46494=>1000,46495=>1000,46496=>1000,46497=>1000,46498=>1000,46499=>1000,46500=>1000,46501=>1000,46502=>1000,46503=>1000,46504=>1000,46505=>1000,46506=>1000,46507=>1000,46508=>1000,46509=>1000,46510=>1000,46511=>1000,46512=>1000,46513=>1000,46514=>1000,46515=>1000,46516=>1000,46517=>1000,46518=>1000,46519=>1000,46520=>1000,46521=>1000,46522=>1000,46523=>1000,46524=>1000,46525=>1000,46526=>1000,46527=>1000,46528=>1000,46529=>1000,46530=>1000,46531=>1000,46532=>1000,46533=>1000,46534=>1000,46535=>1000,46536=>1000,46537=>1000,46538=>1000,46539=>1000,46540=>1000,46541=>1000,46542=>1000,46543=>1000,46544=>1000,46545=>1000,46546=>1000,46547=>1000,46548=>1000,46549=>1000,46550=>1000,46551=>1000,46552=>1000,46553=>1000,46554=>1000,46555=>1000,46556=>1000,46557=>1000,46558=>1000,46559=>1000,46560=>1000,46561=>1000,46562=>1000,46563=>1000,46564=>1000,46565=>1000,46566=>1000,46567=>1000,46568=>1000,46569=>1000,46570=>1000,46571=>1000,46572=>1000,46573=>1000,46574=>1000,46575=>1000,46576=>1000,46577=>1000,46578=>1000,46579=>1000,46580=>1000,46581=>1000,46582=>1000,46583=>1000,46584=>1000,46585=>1000,46586=>1000,46587=>1000,46588=>1000,46589=>1000,46590=>1000,46591=>1000,46592=>1000,46593=>1000,46594=>1000,46595=>1000,46596=>1000,46597=>1000,46598=>1000,46599=>1000,46600=>1000,46601=>1000,46602=>1000,46603=>1000,46604=>1000,46605=>1000,46606=>1000,46607=>1000,46608=>1000,46609=>1000,46610=>1000,46611=>1000,46612=>1000,46613=>1000,46614=>1000,46615=>1000,46616=>1000,46617=>1000,46618=>1000,46619=>1000,46620=>1000,46621=>1000,46622=>1000,46623=>1000,46624=>1000,46625=>1000,46626=>1000,46627=>1000,46628=>1000,46629=>1000,46630=>1000,46631=>1000,46632=>1000,46633=>1000,46634=>1000,46635=>1000,46636=>1000,46637=>1000,46638=>1000,46639=>1000,46640=>1000,46641=>1000,46642=>1000,46643=>1000,46644=>1000,46645=>1000,46646=>1000,46647=>1000,46648=>1000,46649=>1000,46650=>1000,46651=>1000,46652=>1000,46653=>1000,46654=>1000,46655=>1000,46656=>1000,46657=>1000,46658=>1000,46659=>1000,46660=>1000,46661=>1000,46662=>1000,46663=>1000,46664=>1000,46665=>1000,46666=>1000,46667=>1000,46668=>1000,46669=>1000,46670=>1000,46671=>1000,46672=>1000,46673=>1000,46674=>1000,46675=>1000,46676=>1000,46677=>1000,46678=>1000,46679=>1000,46680=>1000,46681=>1000,46682=>1000,46683=>1000,46684=>1000,46685=>1000,46686=>1000,46687=>1000,46688=>1000,46689=>1000,46690=>1000,46691=>1000,46692=>1000,46693=>1000,46694=>1000,46695=>1000,46696=>1000,46697=>1000,46698=>1000,46699=>1000,46700=>1000,46701=>1000,46702=>1000,46703=>1000,46704=>1000,46705=>1000,46706=>1000,46707=>1000,46708=>1000,46709=>1000,46710=>1000,46711=>1000,46712=>1000,46713=>1000,46714=>1000,46715=>1000,46716=>1000,46717=>1000,46718=>1000,46719=>1000,46720=>1000,46721=>1000,46722=>1000,46723=>1000,46724=>1000,46725=>1000,46726=>1000,46727=>1000,46728=>1000,46729=>1000,46730=>1000,46731=>1000,46732=>1000,46733=>1000,46734=>1000,46735=>1000,46736=>1000,46737=>1000,46738=>1000,46739=>1000,46740=>1000,46741=>1000,46742=>1000,46743=>1000,46744=>1000,46745=>1000,46746=>1000,46747=>1000,46748=>1000,46749=>1000,46750=>1000,46751=>1000,46752=>1000,46753=>1000,46754=>1000,46755=>1000,46756=>1000,46757=>1000,46758=>1000,46759=>1000,46760=>1000,46761=>1000,46762=>1000,46763=>1000,46764=>1000,46765=>1000,46766=>1000,46767=>1000,46768=>1000,46769=>1000,46770=>1000,46771=>1000,46772=>1000,46773=>1000,46774=>1000,46775=>1000,46776=>1000,46777=>1000,46778=>1000,46779=>1000,46780=>1000,46781=>1000,46782=>1000,46783=>1000,46784=>1000,46785=>1000,46786=>1000,46787=>1000,46788=>1000,46789=>1000,46790=>1000,46791=>1000,46792=>1000,46793=>1000,46794=>1000,46795=>1000,46796=>1000,46797=>1000,46798=>1000,46799=>1000,46800=>1000,46801=>1000,46802=>1000,46803=>1000,46804=>1000,46805=>1000,46806=>1000,46807=>1000,46808=>1000,46809=>1000,46810=>1000,46811=>1000,46812=>1000,46813=>1000,46814=>1000,46815=>1000,46816=>1000,46817=>1000,46818=>1000,46819=>1000,46820=>1000,46821=>1000,46822=>1000,46823=>1000,46824=>1000,46825=>1000,46826=>1000,46827=>1000,46828=>1000,46829=>1000,46830=>1000,46831=>1000,46832=>1000,46833=>1000,46834=>1000,46835=>1000,46836=>1000,46837=>1000,46838=>1000,46839=>1000,46840=>1000,46841=>1000,46842=>1000,46843=>1000,46844=>1000,46845=>1000,46846=>1000,46847=>1000,46848=>1000,46849=>1000,46850=>1000,46851=>1000,46852=>1000,46853=>1000,46854=>1000,46855=>1000,46856=>1000,46857=>1000,46858=>1000,46859=>1000,46860=>1000,46861=>1000,46862=>1000,46863=>1000,46864=>1000,46865=>1000,46866=>1000,46867=>1000,46868=>1000,46869=>1000,46870=>1000,46871=>1000,46872=>1000,46873=>1000,46874=>1000,46875=>1000,46876=>1000,46877=>1000,46878=>1000,46879=>1000,46880=>1000,46881=>1000,46882=>1000,46883=>1000,46884=>1000,46885=>1000,46886=>1000,46887=>1000,46888=>1000,46889=>1000,46890=>1000,46891=>1000,46892=>1000,46893=>1000,46894=>1000,46895=>1000,46896=>1000,46897=>1000,46898=>1000,46899=>1000,46900=>1000,46901=>1000,46902=>1000,46903=>1000,46904=>1000,46905=>1000,46906=>1000,46907=>1000,46908=>1000,46909=>1000,46910=>1000,46911=>1000,46912=>1000,46913=>1000,46914=>1000,46915=>1000,46916=>1000,46917=>1000,46918=>1000,46919=>1000,46920=>1000,46921=>1000,46922=>1000,46923=>1000,46924=>1000,46925=>1000,46926=>1000,46927=>1000,46928=>1000,46929=>1000,46930=>1000,46931=>1000,46932=>1000,46933=>1000,46934=>1000,46935=>1000,46936=>1000,46937=>1000,46938=>1000,46939=>1000,46940=>1000,46941=>1000,46942=>1000,46943=>1000,46944=>1000,46945=>1000,46946=>1000,46947=>1000,46948=>1000,46949=>1000,46950=>1000,46951=>1000,46952=>1000,46953=>1000,46954=>1000,46955=>1000,46956=>1000,46957=>1000,46958=>1000,46959=>1000,46960=>1000,46961=>1000,46962=>1000,46963=>1000,46964=>1000,46965=>1000,46966=>1000,46967=>1000,46968=>1000,46969=>1000,46970=>1000,46971=>1000,46972=>1000,46973=>1000,46974=>1000,46975=>1000,46976=>1000,46977=>1000,46978=>1000,46979=>1000,46980=>1000,46981=>1000,46982=>1000,46983=>1000,46984=>1000,46985=>1000,46986=>1000,46987=>1000,46988=>1000,46989=>1000,46990=>1000,46991=>1000,46992=>1000,46993=>1000,46994=>1000,46995=>1000,46996=>1000,46997=>1000,46998=>1000,46999=>1000,47000=>1000,47001=>1000,47002=>1000,47003=>1000,47004=>1000,47005=>1000,47006=>1000,47007=>1000,47008=>1000,47009=>1000,47010=>1000,47011=>1000,47012=>1000,47013=>1000,47014=>1000,47015=>1000,47016=>1000,47017=>1000,47018=>1000,47019=>1000,47020=>1000,47021=>1000,47022=>1000,47023=>1000,47024=>1000,47025=>1000,47026=>1000,47027=>1000,47028=>1000,47029=>1000,47030=>1000,47031=>1000,47032=>1000,47033=>1000,47034=>1000,47035=>1000,47036=>1000,47037=>1000,47038=>1000,47039=>1000,47040=>1000,47041=>1000,47042=>1000,47043=>1000,47044=>1000,47045=>1000,47046=>1000,47047=>1000,47048=>1000,47049=>1000,47050=>1000,47051=>1000,47052=>1000,47053=>1000,47054=>1000,47055=>1000,47056=>1000,47057=>1000,47058=>1000,47059=>1000,47060=>1000,47061=>1000,47062=>1000,47063=>1000,47064=>1000,47065=>1000,47066=>1000,47067=>1000,47068=>1000,47069=>1000,47070=>1000,47071=>1000,47072=>1000,47073=>1000,47074=>1000,47075=>1000,47076=>1000,47077=>1000,47078=>1000,47079=>1000,47080=>1000,47081=>1000,47082=>1000,47083=>1000,47084=>1000,47085=>1000,47086=>1000,47087=>1000,47088=>1000,47089=>1000,47090=>1000,47091=>1000,47092=>1000,47093=>1000,47094=>1000,47095=>1000,47096=>1000,47097=>1000,47098=>1000,47099=>1000,47100=>1000,47101=>1000,47102=>1000,47103=>1000,47104=>1000,47105=>1000,47106=>1000,47107=>1000,47108=>1000,47109=>1000,47110=>1000,47111=>1000,47112=>1000,47113=>1000,47114=>1000,47115=>1000,47116=>1000,47117=>1000,47118=>1000,47119=>1000,47120=>1000,47121=>1000,47122=>1000,47123=>1000,47124=>1000,47125=>1000,47126=>1000,47127=>1000,47128=>1000,47129=>1000,47130=>1000,47131=>1000,47132=>1000,47133=>1000,47134=>1000,47135=>1000,47136=>1000,47137=>1000,47138=>1000,47139=>1000,47140=>1000,47141=>1000,47142=>1000,47143=>1000,47144=>1000,47145=>1000,47146=>1000,47147=>1000,47148=>1000,47149=>1000,47150=>1000,47151=>1000,47152=>1000,47153=>1000,47154=>1000,47155=>1000,47156=>1000,47157=>1000,47158=>1000,47159=>1000,47160=>1000,47161=>1000,47162=>1000,47163=>1000,47164=>1000,47165=>1000,47166=>1000,47167=>1000,47168=>1000,47169=>1000,47170=>1000,47171=>1000,47172=>1000,47173=>1000,47174=>1000,47175=>1000,47176=>1000,47177=>1000,47178=>1000,47179=>1000,47180=>1000,47181=>1000,47182=>1000,47183=>1000,47184=>1000,47185=>1000,47186=>1000,47187=>1000,47188=>1000,47189=>1000,47190=>1000,47191=>1000,47192=>1000,47193=>1000,47194=>1000,47195=>1000,47196=>1000,47197=>1000,47198=>1000,47199=>1000,47200=>1000,47201=>1000,47202=>1000,47203=>1000,47204=>1000,47205=>1000,47206=>1000,47207=>1000,47208=>1000,47209=>1000,47210=>1000,47211=>1000,47212=>1000,47213=>1000,47214=>1000,47215=>1000,47216=>1000,47217=>1000,47218=>1000,47219=>1000,47220=>1000,47221=>1000,47222=>1000,47223=>1000,47224=>1000,47225=>1000,47226=>1000,47227=>1000,47228=>1000,47229=>1000,47230=>1000,47231=>1000,47232=>1000,47233=>1000,47234=>1000,47235=>1000,47236=>1000,47237=>1000,47238=>1000,47239=>1000,47240=>1000,47241=>1000,47242=>1000,47243=>1000,47244=>1000,47245=>1000,47246=>1000,47247=>1000,47248=>1000,47249=>1000,47250=>1000,47251=>1000,47252=>1000,47253=>1000,47254=>1000,47255=>1000,47256=>1000,47257=>1000,47258=>1000,47259=>1000,47260=>1000,47261=>1000,47262=>1000,47263=>1000,47264=>1000,47265=>1000,47266=>1000,47267=>1000,47268=>1000,47269=>1000,47270=>1000,47271=>1000,47272=>1000,47273=>1000,47274=>1000,47275=>1000,47276=>1000,47277=>1000,47278=>1000,47279=>1000,47280=>1000,47281=>1000,47282=>1000,47283=>1000,47284=>1000,47285=>1000,47286=>1000,47287=>1000,47288=>1000,47289=>1000,47290=>1000,47291=>1000,47292=>1000,47293=>1000,47294=>1000,47295=>1000,47296=>1000,47297=>1000,47298=>1000,47299=>1000,47300=>1000,47301=>1000,47302=>1000,47303=>1000,47304=>1000,47305=>1000,47306=>1000,47307=>1000,47308=>1000,47309=>1000,47310=>1000,47311=>1000,47312=>1000,47313=>1000,47314=>1000,47315=>1000,47316=>1000,47317=>1000,47318=>1000,47319=>1000,47320=>1000,47321=>1000,47322=>1000,47323=>1000,47324=>1000,47325=>1000,47326=>1000,47327=>1000,47328=>1000,47329=>1000,47330=>1000,47331=>1000,47332=>1000,47333=>1000,47334=>1000,47335=>1000,47336=>1000,47337=>1000,47338=>1000,47339=>1000,47340=>1000,47341=>1000,47342=>1000,47343=>1000,47344=>1000,47345=>1000,47346=>1000,47347=>1000,47348=>1000,47349=>1000,47350=>1000,47351=>1000,47352=>1000,47353=>1000,47354=>1000,47355=>1000,47356=>1000,47357=>1000,47358=>1000,47359=>1000,47360=>1000,47361=>1000,47362=>1000,47363=>1000,47364=>1000,47365=>1000,47366=>1000,47367=>1000,47368=>1000,47369=>1000,47370=>1000,47371=>1000,47372=>1000,47373=>1000,47374=>1000,47375=>1000,47376=>1000,47377=>1000,47378=>1000,47379=>1000,47380=>1000,47381=>1000,47382=>1000,47383=>1000,47384=>1000,47385=>1000,47386=>1000,47387=>1000,47388=>1000,47389=>1000,47390=>1000,47391=>1000,47392=>1000,47393=>1000,47394=>1000,47395=>1000,47396=>1000,47397=>1000,47398=>1000,47399=>1000,47400=>1000,47401=>1000,47402=>1000,47403=>1000,47404=>1000,47405=>1000,47406=>1000,47407=>1000,47408=>1000,47409=>1000,47410=>1000,47411=>1000,47412=>1000,47413=>1000,47414=>1000,47415=>1000,47416=>1000,47417=>1000,47418=>1000,47419=>1000,47420=>1000,47421=>1000,47422=>1000,47423=>1000,47424=>1000,47425=>1000,47426=>1000,47427=>1000,47428=>1000,47429=>1000,47430=>1000,47431=>1000,47432=>1000,47433=>1000,47434=>1000,47435=>1000,47436=>1000,47437=>1000,47438=>1000,47439=>1000,47440=>1000,47441=>1000,47442=>1000,47443=>1000,47444=>1000,47445=>1000,47446=>1000,47447=>1000,47448=>1000,47449=>1000,47450=>1000,47451=>1000,47452=>1000,47453=>1000,47454=>1000,47455=>1000,47456=>1000,47457=>1000,47458=>1000,47459=>1000,47460=>1000,47461=>1000,47462=>1000,47463=>1000,47464=>1000,47465=>1000,47466=>1000,47467=>1000,47468=>1000,47469=>1000,47470=>1000,47471=>1000,47472=>1000,47473=>1000,47474=>1000,47475=>1000,47476=>1000,47477=>1000,47478=>1000,47479=>1000,47480=>1000,47481=>1000,47482=>1000,47483=>1000,47484=>1000,47485=>1000,47486=>1000,47487=>1000,47488=>1000,47489=>1000,47490=>1000,47491=>1000,47492=>1000,47493=>1000,47494=>1000,47495=>1000,47496=>1000,47497=>1000,47498=>1000,47499=>1000,47500=>1000,47501=>1000,47502=>1000,47503=>1000,47504=>1000,47505=>1000,47506=>1000,47507=>1000,47508=>1000,47509=>1000,47510=>1000,47511=>1000,47512=>1000,47513=>1000,47514=>1000,47515=>1000,47516=>1000,47517=>1000,47518=>1000,47519=>1000,47520=>1000,47521=>1000,47522=>1000,47523=>1000,47524=>1000,47525=>1000,47526=>1000,47527=>1000,47528=>1000,47529=>1000,47530=>1000,47531=>1000,47532=>1000,47533=>1000,47534=>1000,47535=>1000,47536=>1000,47537=>1000,47538=>1000,47539=>1000,47540=>1000,47541=>1000,47542=>1000,47543=>1000,47544=>1000,47545=>1000,47546=>1000,47547=>1000,47548=>1000,47549=>1000,47550=>1000,47551=>1000,47552=>1000,47553=>1000,47554=>1000,47555=>1000,47556=>1000,47557=>1000,47558=>1000,47559=>1000,47560=>1000,47561=>1000,47562=>1000,47563=>1000,47564=>1000,47565=>1000,47566=>1000,47567=>1000,47568=>1000,47569=>1000,47570=>1000,47571=>1000,47572=>1000,47573=>1000,47574=>1000,47575=>1000,47576=>1000,47577=>1000,47578=>1000,47579=>1000,47580=>1000,47581=>1000,47582=>1000,47583=>1000,47584=>1000,47585=>1000,47586=>1000,47587=>1000,47588=>1000,47589=>1000,47590=>1000,47591=>1000,47592=>1000,47593=>1000,47594=>1000,47595=>1000,47596=>1000,47597=>1000,47598=>1000,47599=>1000,47600=>1000,47601=>1000,47602=>1000,47603=>1000,47604=>1000,47605=>1000,47606=>1000,47607=>1000,47608=>1000,47609=>1000,47610=>1000,47611=>1000,47612=>1000,47613=>1000,47614=>1000,47615=>1000,47616=>1000,47617=>1000,47618=>1000,47619=>1000,47620=>1000,47621=>1000,47622=>1000,47623=>1000,47624=>1000,47625=>1000,47626=>1000,47627=>1000,47628=>1000,47629=>1000,47630=>1000,47631=>1000,47632=>1000,47633=>1000,47634=>1000,47635=>1000,47636=>1000,47637=>1000,47638=>1000,47639=>1000,47640=>1000,47641=>1000,47642=>1000,47643=>1000,47644=>1000,47645=>1000,47646=>1000,47647=>1000,47648=>1000,47649=>1000,47650=>1000,47651=>1000,47652=>1000,47653=>1000,47654=>1000,47655=>1000,47656=>1000,47657=>1000,47658=>1000,47659=>1000,47660=>1000,47661=>1000,47662=>1000,47663=>1000,47664=>1000,47665=>1000,47666=>1000,47667=>1000,47668=>1000,47669=>1000,47670=>1000,47671=>1000,47672=>1000,47673=>1000,47674=>1000,47675=>1000,47676=>1000,47677=>1000,47678=>1000,47679=>1000,47680=>1000,47681=>1000,47682=>1000,47683=>1000,47684=>1000,47685=>1000,47686=>1000,47687=>1000,47688=>1000,47689=>1000,47690=>1000,47691=>1000,47692=>1000,47693=>1000,47694=>1000,47695=>1000,47696=>1000,47697=>1000,47698=>1000,47699=>1000,47700=>1000,47701=>1000,47702=>1000,47703=>1000,47704=>1000,47705=>1000,47706=>1000,47707=>1000,47708=>1000,47709=>1000,47710=>1000,47711=>1000,47712=>1000,47713=>1000,47714=>1000,47715=>1000,47716=>1000,47717=>1000,47718=>1000,47719=>1000,47720=>1000,47721=>1000,47722=>1000,47723=>1000,47724=>1000,47725=>1000,47726=>1000,47727=>1000,47728=>1000,47729=>1000,47730=>1000,47731=>1000,47732=>1000,47733=>1000,47734=>1000,47735=>1000,47736=>1000,47737=>1000,47738=>1000,47739=>1000,47740=>1000,47741=>1000,47742=>1000,47743=>1000,47744=>1000,47745=>1000,47746=>1000,47747=>1000,47748=>1000,47749=>1000,47750=>1000,47751=>1000,47752=>1000,47753=>1000,47754=>1000,47755=>1000,47756=>1000,47757=>1000,47758=>1000,47759=>1000,47760=>1000,47761=>1000,47762=>1000,47763=>1000,47764=>1000,47765=>1000,47766=>1000,47767=>1000,47768=>1000,47769=>1000,47770=>1000,47771=>1000,47772=>1000,47773=>1000,47774=>1000,47775=>1000,47776=>1000,47777=>1000,47778=>1000,47779=>1000,47780=>1000,47781=>1000,47782=>1000,47783=>1000,47784=>1000,47785=>1000,47786=>1000,47787=>1000,47788=>1000,47789=>1000,47790=>1000,47791=>1000,47792=>1000,47793=>1000,47794=>1000,47795=>1000,47796=>1000,47797=>1000,47798=>1000,47799=>1000,47800=>1000,47801=>1000,47802=>1000,47803=>1000,47804=>1000,47805=>1000,47806=>1000,47807=>1000,47808=>1000,47809=>1000,47810=>1000,47811=>1000,47812=>1000,47813=>1000,47814=>1000,47815=>1000,47816=>1000,47817=>1000,47818=>1000,47819=>1000,47820=>1000,47821=>1000,47822=>1000,47823=>1000,47824=>1000,47825=>1000,47826=>1000,47827=>1000,47828=>1000,47829=>1000,47830=>1000,47831=>1000,47832=>1000,47833=>1000,47834=>1000,47835=>1000,47836=>1000,47837=>1000,47838=>1000,47839=>1000,47840=>1000,47841=>1000,47842=>1000,47843=>1000,47844=>1000,47845=>1000,47846=>1000,47847=>1000,47848=>1000,47849=>1000,47850=>1000,47851=>1000,47852=>1000,47853=>1000,47854=>1000,47855=>1000,47856=>1000,47857=>1000,47858=>1000,47859=>1000,47860=>1000,47861=>1000,47862=>1000,47863=>1000,47864=>1000,47865=>1000,47866=>1000,47867=>1000,47868=>1000,47869=>1000,47870=>1000,47871=>1000,47872=>1000,47873=>1000,47874=>1000,47875=>1000,47876=>1000,47877=>1000,47878=>1000,47879=>1000,47880=>1000,47881=>1000,47882=>1000,47883=>1000,47884=>1000,47885=>1000,47886=>1000,47887=>1000,47888=>1000,47889=>1000,47890=>1000,47891=>1000,47892=>1000,47893=>1000,47894=>1000,47895=>1000,47896=>1000,47897=>1000,47898=>1000,47899=>1000,47900=>1000,47901=>1000,47902=>1000,47903=>1000,47904=>1000,47905=>1000,47906=>1000,47907=>1000,47908=>1000,47909=>1000,47910=>1000,47911=>1000,47912=>1000,47913=>1000,47914=>1000,47915=>1000,47916=>1000,47917=>1000,47918=>1000,47919=>1000,47920=>1000,47921=>1000,47922=>1000,47923=>1000,47924=>1000,47925=>1000,47926=>1000,47927=>1000,47928=>1000,47929=>1000,47930=>1000,47931=>1000,47932=>1000,47933=>1000,47934=>1000,47935=>1000,47936=>1000,47937=>1000,47938=>1000,47939=>1000,47940=>1000,47941=>1000,47942=>1000,47943=>1000,47944=>1000,47945=>1000,47946=>1000,47947=>1000,47948=>1000,47949=>1000,47950=>1000,47951=>1000,47952=>1000,47953=>1000,47954=>1000,47955=>1000,47956=>1000,47957=>1000,47958=>1000,47959=>1000,47960=>1000,47961=>1000,47962=>1000,47963=>1000,47964=>1000,47965=>1000,47966=>1000,47967=>1000,47968=>1000,47969=>1000,47970=>1000,47971=>1000,47972=>1000,47973=>1000,47974=>1000,47975=>1000,47976=>1000,47977=>1000,47978=>1000,47979=>1000,47980=>1000,47981=>1000,47982=>1000,47983=>1000,47984=>1000,47985=>1000,47986=>1000,47987=>1000,47988=>1000,47989=>1000,47990=>1000,47991=>1000,47992=>1000,47993=>1000,47994=>1000,47995=>1000,47996=>1000,47997=>1000,47998=>1000,47999=>1000,48000=>1000,48001=>1000,48002=>1000,48003=>1000,48004=>1000,48005=>1000,48006=>1000,48007=>1000,48008=>1000,48009=>1000,48010=>1000,48011=>1000,48012=>1000,48013=>1000,48014=>1000,48015=>1000,48016=>1000,48017=>1000,48018=>1000,48019=>1000,48020=>1000,48021=>1000,48022=>1000,48023=>1000,48024=>1000,48025=>1000,48026=>1000,48027=>1000,48028=>1000,48029=>1000,48030=>1000,48031=>1000,48032=>1000,48033=>1000,48034=>1000,48035=>1000,48036=>1000,48037=>1000,48038=>1000,48039=>1000,48040=>1000,48041=>1000,48042=>1000,48043=>1000,48044=>1000,48045=>1000,48046=>1000,48047=>1000,48048=>1000,48049=>1000,48050=>1000,48051=>1000,48052=>1000,48053=>1000,48054=>1000,48055=>1000,48056=>1000,48057=>1000,48058=>1000,48059=>1000,48060=>1000,48061=>1000,48062=>1000,48063=>1000,48064=>1000,48065=>1000,48066=>1000,48067=>1000,48068=>1000,48069=>1000,48070=>1000,48071=>1000,48072=>1000,48073=>1000,48074=>1000,48075=>1000,48076=>1000,48077=>1000,48078=>1000,48079=>1000,48080=>1000,48081=>1000,48082=>1000,48083=>1000,48084=>1000,48085=>1000,48086=>1000,48087=>1000,48088=>1000,48089=>1000,48090=>1000,48091=>1000,48092=>1000,48093=>1000,48094=>1000,48095=>1000,48096=>1000,48097=>1000,48098=>1000,48099=>1000,48100=>1000,48101=>1000,48102=>1000,48103=>1000,48104=>1000,48105=>1000,48106=>1000,48107=>1000,48108=>1000,48109=>1000,48110=>1000,48111=>1000,48112=>1000,48113=>1000,48114=>1000,48115=>1000,48116=>1000,48117=>1000,48118=>1000,48119=>1000,48120=>1000,48121=>1000,48122=>1000,48123=>1000,48124=>1000,48125=>1000,48126=>1000,48127=>1000,48128=>1000,48129=>1000,48130=>1000,48131=>1000,48132=>1000,48133=>1000,48134=>1000,48135=>1000,48136=>1000,48137=>1000,48138=>1000,48139=>1000,48140=>1000,48141=>1000,48142=>1000,48143=>1000,48144=>1000,48145=>1000,48146=>1000,48147=>1000,48148=>1000,48149=>1000,48150=>1000,48151=>1000,48152=>1000,48153=>1000,48154=>1000,48155=>1000,48156=>1000,48157=>1000,48158=>1000,48159=>1000,48160=>1000,48161=>1000,48162=>1000,48163=>1000,48164=>1000,48165=>1000,48166=>1000,48167=>1000,48168=>1000,48169=>1000,48170=>1000,48171=>1000,48172=>1000,48173=>1000,48174=>1000,48175=>1000,48176=>1000,48177=>1000,48178=>1000,48179=>1000,48180=>1000,48181=>1000,48182=>1000,48183=>1000,48184=>1000,48185=>1000,48186=>1000,48187=>1000,48188=>1000,48189=>1000,48190=>1000,48191=>1000,48192=>1000,48193=>1000,48194=>1000,48195=>1000,48196=>1000,48197=>1000,48198=>1000,48199=>1000,48200=>1000,48201=>1000,48202=>1000,48203=>1000,48204=>1000,48205=>1000,48206=>1000,48207=>1000,48208=>1000,48209=>1000,48210=>1000,48211=>1000,48212=>1000,48213=>1000,48214=>1000,48215=>1000,48216=>1000,48217=>1000,48218=>1000,48219=>1000,48220=>1000,48221=>1000,48222=>1000,48223=>1000,48224=>1000,48225=>1000,48226=>1000,48227=>1000,48228=>1000,48229=>1000,48230=>1000,48231=>1000,48232=>1000,48233=>1000,48234=>1000,48235=>1000,48236=>1000,48237=>1000,48238=>1000,48239=>1000,48240=>1000,48241=>1000,48242=>1000,48243=>1000,48244=>1000,48245=>1000,48246=>1000,48247=>1000,48248=>1000,48249=>1000,48250=>1000,48251=>1000,48252=>1000,48253=>1000,48254=>1000,48255=>1000,48256=>1000,48257=>1000,48258=>1000,48259=>1000,48260=>1000,48261=>1000,48262=>1000,48263=>1000,48264=>1000,48265=>1000,48266=>1000,48267=>1000,48268=>1000,48269=>1000,48270=>1000,48271=>1000,48272=>1000,48273=>1000,48274=>1000,48275=>1000,48276=>1000,48277=>1000,48278=>1000,48279=>1000,48280=>1000,48281=>1000,48282=>1000,48283=>1000,48284=>1000,48285=>1000,48286=>1000,48287=>1000,48288=>1000,48289=>1000,48290=>1000,48291=>1000,48292=>1000,48293=>1000,48294=>1000,48295=>1000,48296=>1000,48297=>1000,48298=>1000,48299=>1000,48300=>1000,48301=>1000,48302=>1000,48303=>1000,48304=>1000,48305=>1000,48306=>1000,48307=>1000,48308=>1000,48309=>1000,48310=>1000,48311=>1000,48312=>1000,48313=>1000,48314=>1000,48315=>1000,48316=>1000,48317=>1000,48318=>1000,48319=>1000,48320=>1000,48321=>1000,48322=>1000,48323=>1000,48324=>1000,48325=>1000,48326=>1000,48327=>1000,48328=>1000,48329=>1000,48330=>1000,48331=>1000,48332=>1000,48333=>1000,48334=>1000,48335=>1000,48336=>1000,48337=>1000,48338=>1000,48339=>1000,48340=>1000,48341=>1000,48342=>1000,48343=>1000,48344=>1000,48345=>1000,48346=>1000,48347=>1000,48348=>1000,48349=>1000,48350=>1000,48351=>1000,48352=>1000,48353=>1000,48354=>1000,48355=>1000,48356=>1000,48357=>1000,48358=>1000,48359=>1000,48360=>1000,48361=>1000,48362=>1000,48363=>1000,48364=>1000,48365=>1000,48366=>1000,48367=>1000,48368=>1000,48369=>1000,48370=>1000,48371=>1000,48372=>1000,48373=>1000,48374=>1000,48375=>1000,48376=>1000,48377=>1000,48378=>1000,48379=>1000,48380=>1000,48381=>1000,48382=>1000,48383=>1000,48384=>1000,48385=>1000,48386=>1000,48387=>1000,48388=>1000,48389=>1000,48390=>1000,48391=>1000,48392=>1000,48393=>1000,48394=>1000,48395=>1000,48396=>1000,48397=>1000,48398=>1000,48399=>1000,48400=>1000,48401=>1000,48402=>1000,48403=>1000,48404=>1000,48405=>1000,48406=>1000,48407=>1000,48408=>1000,48409=>1000,48410=>1000,48411=>1000,48412=>1000,48413=>1000,48414=>1000,48415=>1000,48416=>1000,48417=>1000,48418=>1000,48419=>1000,48420=>1000,48421=>1000,48422=>1000,48423=>1000,48424=>1000,48425=>1000,48426=>1000,48427=>1000,48428=>1000,48429=>1000,48430=>1000,48431=>1000,48432=>1000,48433=>1000,48434=>1000,48435=>1000,48436=>1000,48437=>1000,48438=>1000,48439=>1000,48440=>1000,48441=>1000,48442=>1000,48443=>1000,48444=>1000,48445=>1000,48446=>1000,48447=>1000,48448=>1000,48449=>1000,48450=>1000,48451=>1000,48452=>1000,48453=>1000,48454=>1000,48455=>1000,48456=>1000,48457=>1000,48458=>1000,48459=>1000,48460=>1000,48461=>1000,48462=>1000,48463=>1000,48464=>1000,48465=>1000,48466=>1000,48467=>1000,48468=>1000,48469=>1000,48470=>1000,48471=>1000,48472=>1000,48473=>1000,48474=>1000,48475=>1000,48476=>1000,48477=>1000,48478=>1000,48479=>1000,48480=>1000,48481=>1000,48482=>1000,48483=>1000,48484=>1000,48485=>1000,48486=>1000,48487=>1000,48488=>1000,48489=>1000,48490=>1000,48491=>1000,48492=>1000,48493=>1000,48494=>1000,48495=>1000,48496=>1000,48497=>1000,48498=>1000,48499=>1000,48500=>1000,48501=>1000,48502=>1000,48503=>1000,48504=>1000,48505=>1000,48506=>1000,48507=>1000,48508=>1000,48509=>1000,48510=>1000,48511=>1000,48512=>1000,48513=>1000,48514=>1000,48515=>1000,48516=>1000,48517=>1000,48518=>1000,48519=>1000,48520=>1000,48521=>1000,48522=>1000,48523=>1000,48524=>1000,48525=>1000,48526=>1000,48527=>1000,48528=>1000,48529=>1000,48530=>1000,48531=>1000,48532=>1000,48533=>1000,48534=>1000,48535=>1000,48536=>1000,48537=>1000,48538=>1000,48539=>1000,48540=>1000,48541=>1000,48542=>1000,48543=>1000,48544=>1000,48545=>1000,48546=>1000,48547=>1000,48548=>1000,48549=>1000,48550=>1000,48551=>1000,48552=>1000,48553=>1000,48554=>1000,48555=>1000,48556=>1000,48557=>1000,48558=>1000,48559=>1000,48560=>1000,48561=>1000,48562=>1000,48563=>1000,48564=>1000,48565=>1000,48566=>1000,48567=>1000,48568=>1000,48569=>1000,48570=>1000,48571=>1000,48572=>1000,48573=>1000,48574=>1000,48575=>1000,48576=>1000,48577=>1000,48578=>1000,48579=>1000,48580=>1000,48581=>1000,48582=>1000,48583=>1000,48584=>1000,48585=>1000,48586=>1000,48587=>1000,48588=>1000,48589=>1000,48590=>1000,48591=>1000,48592=>1000,48593=>1000,48594=>1000,48595=>1000,48596=>1000,48597=>1000,48598=>1000,48599=>1000,48600=>1000,48601=>1000,48602=>1000,48603=>1000,48604=>1000,48605=>1000,48606=>1000,48607=>1000,48608=>1000,48609=>1000,48610=>1000,48611=>1000,48612=>1000,48613=>1000,48614=>1000,48615=>1000,48616=>1000,48617=>1000,48618=>1000,48619=>1000,48620=>1000,48621=>1000,48622=>1000,48623=>1000,48624=>1000,48625=>1000,48626=>1000,48627=>1000,48628=>1000,48629=>1000,48630=>1000,48631=>1000,48632=>1000,48633=>1000,48634=>1000,48635=>1000,48636=>1000,48637=>1000,48638=>1000,48639=>1000,48640=>1000,48641=>1000,48642=>1000,48643=>1000,48644=>1000,48645=>1000,48646=>1000,48647=>1000,48648=>1000,48649=>1000,48650=>1000,48651=>1000,48652=>1000,48653=>1000,48654=>1000,48655=>1000,48656=>1000,48657=>1000,48658=>1000,48659=>1000,48660=>1000,48661=>1000,48662=>1000,48663=>1000,48664=>1000,48665=>1000,48666=>1000,48667=>1000,48668=>1000,48669=>1000,48670=>1000,48671=>1000,48672=>1000,48673=>1000,48674=>1000,48675=>1000,48676=>1000,48677=>1000,48678=>1000,48679=>1000,48680=>1000,48681=>1000,48682=>1000,48683=>1000,48684=>1000,48685=>1000,48686=>1000,48687=>1000,48688=>1000,48689=>1000,48690=>1000,48691=>1000,48692=>1000,48693=>1000,48694=>1000,48695=>1000,48696=>1000,48697=>1000,48698=>1000,48699=>1000,48700=>1000,48701=>1000,48702=>1000,48703=>1000,48704=>1000,48705=>1000,48706=>1000,48707=>1000,48708=>1000,48709=>1000,48710=>1000,48711=>1000,48712=>1000,48713=>1000,48714=>1000,48715=>1000,48716=>1000,48717=>1000,48718=>1000,48719=>1000,48720=>1000,48721=>1000,48722=>1000,48723=>1000,48724=>1000,48725=>1000,48726=>1000,48727=>1000,48728=>1000,48729=>1000,48730=>1000,48731=>1000,48732=>1000,48733=>1000,48734=>1000,48735=>1000,48736=>1000,48737=>1000,48738=>1000,48739=>1000,48740=>1000,48741=>1000,48742=>1000,48743=>1000,48744=>1000,48745=>1000,48746=>1000,48747=>1000,48748=>1000,48749=>1000,48750=>1000,48751=>1000,48752=>1000,48753=>1000,48754=>1000,48755=>1000,48756=>1000,48757=>1000,48758=>1000,48759=>1000,48760=>1000,48761=>1000,48762=>1000,48763=>1000,48764=>1000,48765=>1000,48766=>1000,48767=>1000,48768=>1000,48769=>1000,48770=>1000,48771=>1000,48772=>1000,48773=>1000,48774=>1000,48775=>1000,48776=>1000,48777=>1000,48778=>1000,48779=>1000,48780=>1000,48781=>1000,48782=>1000,48783=>1000,48784=>1000,48785=>1000,48786=>1000,48787=>1000,48788=>1000,48789=>1000,48790=>1000,48791=>1000,48792=>1000,48793=>1000,48794=>1000,48795=>1000,48796=>1000,48797=>1000,48798=>1000,48799=>1000,48800=>1000,48801=>1000,48802=>1000,48803=>1000,48804=>1000,48805=>1000,48806=>1000,48807=>1000,48808=>1000,48809=>1000,48810=>1000,48811=>1000,48812=>1000,48813=>1000,48814=>1000,48815=>1000,48816=>1000,48817=>1000,48818=>1000,48819=>1000,48820=>1000,48821=>1000,48822=>1000,48823=>1000,48824=>1000,48825=>1000,48826=>1000,48827=>1000,48828=>1000,48829=>1000,48830=>1000,48831=>1000,48832=>1000,48833=>1000,48834=>1000,48835=>1000,48836=>1000,48837=>1000,48838=>1000,48839=>1000,48840=>1000,48841=>1000,48842=>1000,48843=>1000,48844=>1000,48845=>1000,48846=>1000,48847=>1000,48848=>1000,48849=>1000,48850=>1000,48851=>1000,48852=>1000,48853=>1000,48854=>1000,48855=>1000,48856=>1000,48857=>1000,48858=>1000,48859=>1000,48860=>1000,48861=>1000,48862=>1000,48863=>1000,48864=>1000,48865=>1000,48866=>1000,48867=>1000,48868=>1000,48869=>1000,48870=>1000,48871=>1000,48872=>1000,48873=>1000,48874=>1000,48875=>1000,48876=>1000,48877=>1000,48878=>1000,48879=>1000,48880=>1000,48881=>1000,48882=>1000,48883=>1000,48884=>1000,48885=>1000,48886=>1000,48887=>1000,48888=>1000,48889=>1000,48890=>1000,48891=>1000,48892=>1000,48893=>1000,48894=>1000,48895=>1000,48896=>1000,48897=>1000,48898=>1000,48899=>1000,48900=>1000,48901=>1000,48902=>1000,48903=>1000,48904=>1000,48905=>1000,48906=>1000,48907=>1000,48908=>1000,48909=>1000,48910=>1000,48911=>1000,48912=>1000,48913=>1000,48914=>1000,48915=>1000,48916=>1000,48917=>1000,48918=>1000,48919=>1000,48920=>1000,48921=>1000,48922=>1000,48923=>1000,48924=>1000,48925=>1000,48926=>1000,48927=>1000,48928=>1000,48929=>1000,48930=>1000,48931=>1000,48932=>1000,48933=>1000,48934=>1000,48935=>1000,48936=>1000,48937=>1000,48938=>1000,48939=>1000,48940=>1000,48941=>1000,48942=>1000,48943=>1000,48944=>1000,48945=>1000,48946=>1000,48947=>1000,48948=>1000,48949=>1000,48950=>1000,48951=>1000,48952=>1000,48953=>1000,48954=>1000,48955=>1000,48956=>1000,48957=>1000,48958=>1000,48959=>1000,48960=>1000,48961=>1000,48962=>1000,48963=>1000,48964=>1000,48965=>1000,48966=>1000,48967=>1000,48968=>1000,48969=>1000,48970=>1000,48971=>1000,48972=>1000,48973=>1000,48974=>1000,48975=>1000,48976=>1000,48977=>1000,48978=>1000,48979=>1000,48980=>1000,48981=>1000,48982=>1000,48983=>1000,48984=>1000,48985=>1000,48986=>1000,48987=>1000,48988=>1000,48989=>1000,48990=>1000,48991=>1000,48992=>1000,48993=>1000,48994=>1000,48995=>1000,48996=>1000,48997=>1000,48998=>1000,48999=>1000,49000=>1000,49001=>1000,49002=>1000,49003=>1000,49004=>1000,49005=>1000,49006=>1000,49007=>1000,49008=>1000,49009=>1000,49010=>1000,49011=>1000,49012=>1000,49013=>1000,49014=>1000,49015=>1000,49016=>1000,49017=>1000,49018=>1000,49019=>1000,49020=>1000,49021=>1000,49022=>1000,49023=>1000,49024=>1000,49025=>1000,49026=>1000,49027=>1000,49028=>1000,49029=>1000,49030=>1000,49031=>1000,49032=>1000,49033=>1000,49034=>1000,49035=>1000,49036=>1000,49037=>1000,49038=>1000,49039=>1000,49040=>1000,49041=>1000,49042=>1000,49043=>1000,49044=>1000,49045=>1000,49046=>1000,49047=>1000,49048=>1000,49049=>1000,49050=>1000,49051=>1000,49052=>1000,49053=>1000,49054=>1000,49055=>1000,49056=>1000,49057=>1000,49058=>1000,49059=>1000,49060=>1000,49061=>1000,49062=>1000,49063=>1000,49064=>1000,49065=>1000,49066=>1000,49067=>1000,49068=>1000,49069=>1000,49070=>1000,49071=>1000,49072=>1000,49073=>1000,49074=>1000,49075=>1000,49076=>1000,49077=>1000,49078=>1000,49079=>1000,49080=>1000,49081=>1000,49082=>1000,49083=>1000,49084=>1000,49085=>1000,49086=>1000,49087=>1000,49088=>1000,49089=>1000,49090=>1000,49091=>1000,49092=>1000,49093=>1000,49094=>1000,49095=>1000,49096=>1000,49097=>1000,49098=>1000,49099=>1000,49100=>1000,49101=>1000,49102=>1000,49103=>1000,49104=>1000,49105=>1000,49106=>1000,49107=>1000,49108=>1000,49109=>1000,49110=>1000,49111=>1000,49112=>1000,49113=>1000,49114=>1000,49115=>1000,49116=>1000,49117=>1000,49118=>1000,49119=>1000,49120=>1000,49121=>1000,49122=>1000,49123=>1000,49124=>1000,49125=>1000,49126=>1000,49127=>1000,49128=>1000,49129=>1000,49130=>1000,49131=>1000,49132=>1000,49133=>1000,49134=>1000,49135=>1000,49136=>1000,49137=>1000,49138=>1000,49139=>1000,49140=>1000,49141=>1000,49142=>1000,49143=>1000,49144=>1000,49145=>1000,49146=>1000,49147=>1000,49148=>1000,49149=>1000,49150=>1000,49151=>1000,49152=>1000,49153=>1000,49154=>1000,49155=>1000,49156=>1000,49157=>1000,49158=>1000,49159=>1000,49160=>1000,49161=>1000,49162=>1000,49163=>1000,49164=>1000,49165=>1000,49166=>1000,49167=>1000,49168=>1000,49169=>1000,49170=>1000,49171=>1000,49172=>1000,49173=>1000,49174=>1000,49175=>1000,49176=>1000,49177=>1000,49178=>1000,49179=>1000,49180=>1000,49181=>1000,49182=>1000,49183=>1000,49184=>1000,49185=>1000,49186=>1000,49187=>1000,49188=>1000,49189=>1000,49190=>1000,49191=>1000,49192=>1000,49193=>1000,49194=>1000,49195=>1000,49196=>1000,49197=>1000,49198=>1000,49199=>1000,49200=>1000,49201=>1000,49202=>1000,49203=>1000,49204=>1000,49205=>1000,49206=>1000,49207=>1000,49208=>1000,49209=>1000,49210=>1000,49211=>1000,49212=>1000,49213=>1000,49214=>1000,49215=>1000,49216=>1000,49217=>1000,49218=>1000,49219=>1000,49220=>1000,49221=>1000,49222=>1000,49223=>1000,49224=>1000,49225=>1000,49226=>1000,49227=>1000,49228=>1000,49229=>1000,49230=>1000,49231=>1000,49232=>1000,49233=>1000,49234=>1000,49235=>1000,49236=>1000,49237=>1000,49238=>1000,49239=>1000,49240=>1000,49241=>1000,49242=>1000,49243=>1000,49244=>1000,49245=>1000,49246=>1000,49247=>1000,49248=>1000,49249=>1000,49250=>1000,49251=>1000,49252=>1000,49253=>1000,49254=>1000,49255=>1000,49256=>1000,49257=>1000,49258=>1000,49259=>1000,49260=>1000,49261=>1000,49262=>1000,49263=>1000,49264=>1000,49265=>1000,49266=>1000,49267=>1000,49268=>1000,49269=>1000,49270=>1000,49271=>1000,49272=>1000,49273=>1000,49274=>1000,49275=>1000,49276=>1000,49277=>1000,49278=>1000,49279=>1000,49280=>1000,49281=>1000,49282=>1000,49283=>1000,49284=>1000,49285=>1000,49286=>1000,49287=>1000,49288=>1000,49289=>1000,49290=>1000,49291=>1000,49292=>1000,49293=>1000,49294=>1000,49295=>1000,49296=>1000,49297=>1000,49298=>1000,49299=>1000,49300=>1000,49301=>1000,49302=>1000,49303=>1000,49304=>1000,49305=>1000,49306=>1000,49307=>1000,49308=>1000,49309=>1000,49310=>1000,49311=>1000,49312=>1000,49313=>1000,49314=>1000,49315=>1000,49316=>1000,49317=>1000,49318=>1000,49319=>1000,49320=>1000,49321=>1000,49322=>1000,49323=>1000,49324=>1000,49325=>1000,49326=>1000,49327=>1000,49328=>1000,49329=>1000,49330=>1000,49331=>1000,49332=>1000,49333=>1000,49334=>1000,49335=>1000,49336=>1000,49337=>1000,49338=>1000,49339=>1000,49340=>1000,49341=>1000,49342=>1000,49343=>1000,49344=>1000,49345=>1000,49346=>1000,49347=>1000,49348=>1000,49349=>1000,49350=>1000,49351=>1000,49352=>1000,49353=>1000,49354=>1000,49355=>1000,49356=>1000,49357=>1000,49358=>1000,49359=>1000,49360=>1000,49361=>1000,49362=>1000,49363=>1000,49364=>1000,49365=>1000,49366=>1000,49367=>1000,49368=>1000,49369=>1000,49370=>1000,49371=>1000,49372=>1000,49373=>1000,49374=>1000,49375=>1000,49376=>1000,49377=>1000,49378=>1000,49379=>1000,49380=>1000,49381=>1000,49382=>1000,49383=>1000,49384=>1000,49385=>1000,49386=>1000,49387=>1000,49388=>1000,49389=>1000,49390=>1000,49391=>1000,49392=>1000,49393=>1000,49394=>1000,49395=>1000,49396=>1000,49397=>1000,49398=>1000,49399=>1000,49400=>1000,49401=>1000,49402=>1000,49403=>1000,49404=>1000,49405=>1000,49406=>1000,49407=>1000,49408=>1000,49409=>1000,49410=>1000,49411=>1000,49412=>1000,49413=>1000,49414=>1000,49415=>1000,49416=>1000,49417=>1000,49418=>1000,49419=>1000,49420=>1000,49421=>1000,49422=>1000,49423=>1000,49424=>1000,49425=>1000,49426=>1000,49427=>1000,49428=>1000,49429=>1000,49430=>1000,49431=>1000,49432=>1000,49433=>1000,49434=>1000,49435=>1000,49436=>1000,49437=>1000,49438=>1000,49439=>1000,49440=>1000,49441=>1000,49442=>1000,49443=>1000,49444=>1000,49445=>1000,49446=>1000,49447=>1000,49448=>1000,49449=>1000,49450=>1000,49451=>1000,49452=>1000,49453=>1000,49454=>1000,49455=>1000,49456=>1000,49457=>1000,49458=>1000,49459=>1000,49460=>1000,49461=>1000,49462=>1000,49463=>1000,49464=>1000,49465=>1000,49466=>1000,49467=>1000,49468=>1000,49469=>1000,49470=>1000,49471=>1000,49472=>1000,49473=>1000,49474=>1000,49475=>1000,49476=>1000,49477=>1000,49478=>1000,49479=>1000,49480=>1000,49481=>1000,49482=>1000,49483=>1000,49484=>1000,49485=>1000,49486=>1000,49487=>1000,49488=>1000,49489=>1000,49490=>1000,49491=>1000,49492=>1000,49493=>1000,49494=>1000,49495=>1000,49496=>1000,49497=>1000,49498=>1000,49499=>1000,49500=>1000,49501=>1000,49502=>1000,49503=>1000,49504=>1000,49505=>1000,49506=>1000,49507=>1000,49508=>1000,49509=>1000,49510=>1000,49511=>1000,49512=>1000,49513=>1000,49514=>1000,49515=>1000,49516=>1000,49517=>1000,49518=>1000,49519=>1000,49520=>1000,49521=>1000,49522=>1000,49523=>1000,49524=>1000,49525=>1000,49526=>1000,49527=>1000,49528=>1000,49529=>1000,49530=>1000,49531=>1000,49532=>1000,49533=>1000,49534=>1000,49535=>1000,49536=>1000,49537=>1000,49538=>1000,49539=>1000,49540=>1000,49541=>1000,49542=>1000,49543=>1000,49544=>1000,49545=>1000,49546=>1000,49547=>1000,49548=>1000,49549=>1000,49550=>1000,49551=>1000,49552=>1000,49553=>1000,49554=>1000,49555=>1000,49556=>1000,49557=>1000,49558=>1000,49559=>1000,49560=>1000,49561=>1000,49562=>1000,49563=>1000,49564=>1000,49565=>1000,49566=>1000,49567=>1000,49568=>1000,49569=>1000,49570=>1000,49571=>1000,49572=>1000,49573=>1000,49574=>1000,49575=>1000,49576=>1000,49577=>1000,49578=>1000,49579=>1000,49580=>1000,49581=>1000,49582=>1000,49583=>1000,49584=>1000,49585=>1000,49586=>1000,49587=>1000,49588=>1000,49589=>1000,49590=>1000,49591=>1000,49592=>1000,49593=>1000,49594=>1000,49595=>1000,49596=>1000,49597=>1000,49598=>1000,49599=>1000,49600=>1000,49601=>1000,49602=>1000,49603=>1000,49604=>1000,49605=>1000,49606=>1000,49607=>1000,49608=>1000,49609=>1000,49610=>1000,49611=>1000,49612=>1000,49613=>1000,49614=>1000,49615=>1000,49616=>1000,49617=>1000,49618=>1000,49619=>1000,49620=>1000,49621=>1000,49622=>1000,49623=>1000,49624=>1000,49625=>1000,49626=>1000,49627=>1000,49628=>1000,49629=>1000,49630=>1000,49631=>1000,49632=>1000,49633=>1000,49634=>1000,49635=>1000,49636=>1000,49637=>1000,49638=>1000,49639=>1000,49640=>1000,49641=>1000,49642=>1000,49643=>1000,49644=>1000,49645=>1000,49646=>1000,49647=>1000,49648=>1000,49649=>1000,49650=>1000,49651=>1000,49652=>1000,49653=>1000,49654=>1000,49655=>1000,49656=>1000,49657=>1000,49658=>1000,49659=>1000,49660=>1000,49661=>1000,49662=>1000,49663=>1000,49664=>1000,49665=>1000,49666=>1000,49667=>1000,49668=>1000,49669=>1000,49670=>1000,49671=>1000,49672=>1000,49673=>1000,49674=>1000,49675=>1000,49676=>1000,49677=>1000,49678=>1000,49679=>1000,49680=>1000,49681=>1000,49682=>1000,49683=>1000,49684=>1000,49685=>1000,49686=>1000,49687=>1000,49688=>1000,49689=>1000,49690=>1000,49691=>1000,49692=>1000,49693=>1000,49694=>1000,49695=>1000,49696=>1000,49697=>1000,49698=>1000,49699=>1000,49700=>1000,49701=>1000,49702=>1000,49703=>1000,49704=>1000,49705=>1000,49706=>1000,49707=>1000,49708=>1000,49709=>1000,49710=>1000,49711=>1000,49712=>1000,49713=>1000,49714=>1000,49715=>1000,49716=>1000,49717=>1000,49718=>1000,49719=>1000,49720=>1000,49721=>1000,49722=>1000,49723=>1000,49724=>1000,49725=>1000,49726=>1000,49727=>1000,49728=>1000,49729=>1000,49730=>1000,49731=>1000,49732=>1000,49733=>1000,49734=>1000,49735=>1000,49736=>1000,49737=>1000,49738=>1000,49739=>1000,49740=>1000,49741=>1000,49742=>1000,49743=>1000,49744=>1000,49745=>1000,49746=>1000,49747=>1000,49748=>1000,49749=>1000,49750=>1000,49751=>1000,49752=>1000,49753=>1000,49754=>1000,49755=>1000,49756=>1000,49757=>1000,49758=>1000,49759=>1000,49760=>1000,49761=>1000,49762=>1000,49763=>1000,49764=>1000,49765=>1000,49766=>1000,49767=>1000,49768=>1000,49769=>1000,49770=>1000,49771=>1000,49772=>1000,49773=>1000,49774=>1000,49775=>1000,49776=>1000,49777=>1000,49778=>1000,49779=>1000,49780=>1000,49781=>1000,49782=>1000,49783=>1000,49784=>1000,49785=>1000,49786=>1000,49787=>1000,49788=>1000,49789=>1000,49790=>1000,49791=>1000,49792=>1000,49793=>1000,49794=>1000,49795=>1000,49796=>1000,49797=>1000,49798=>1000,49799=>1000,49800=>1000,49801=>1000,49802=>1000,49803=>1000,49804=>1000,49805=>1000,49806=>1000,49807=>1000,49808=>1000,49809=>1000,49810=>1000,49811=>1000,49812=>1000,49813=>1000,49814=>1000,49815=>1000,49816=>1000,49817=>1000,49818=>1000,49819=>1000,49820=>1000,49821=>1000,49822=>1000,49823=>1000,49824=>1000,49825=>1000,49826=>1000,49827=>1000,49828=>1000,49829=>1000,49830=>1000,49831=>1000,49832=>1000,49833=>1000,49834=>1000,49835=>1000,49836=>1000,49837=>1000,49838=>1000,49839=>1000,49840=>1000,49841=>1000,49842=>1000,49843=>1000,49844=>1000,49845=>1000,49846=>1000,49847=>1000,49848=>1000,49849=>1000,49850=>1000,49851=>1000,49852=>1000,49853=>1000,49854=>1000,49855=>1000,49856=>1000,49857=>1000,49858=>1000,49859=>1000,49860=>1000,49861=>1000,49862=>1000,49863=>1000,49864=>1000,49865=>1000,49866=>1000,49867=>1000,49868=>1000,49869=>1000,49870=>1000,49871=>1000,49872=>1000,49873=>1000,49874=>1000,49875=>1000,49876=>1000,49877=>1000,49878=>1000,49879=>1000,49880=>1000,49881=>1000,49882=>1000,49883=>1000,49884=>1000,49885=>1000,49886=>1000,49887=>1000,49888=>1000,49889=>1000,49890=>1000,49891=>1000,49892=>1000,49893=>1000,49894=>1000,49895=>1000,49896=>1000,49897=>1000,49898=>1000,49899=>1000,49900=>1000,49901=>1000,49902=>1000,49903=>1000,49904=>1000,49905=>1000,49906=>1000,49907=>1000,49908=>1000,49909=>1000,49910=>1000,49911=>1000,49912=>1000,49913=>1000,49914=>1000,49915=>1000,49916=>1000,49917=>1000,49918=>1000,49919=>1000,49920=>1000,49921=>1000,49922=>1000,49923=>1000,49924=>1000,49925=>1000,49926=>1000,49927=>1000,49928=>1000,49929=>1000,49930=>1000,49931=>1000,49932=>1000,49933=>1000,49934=>1000,49935=>1000,49936=>1000,49937=>1000,49938=>1000,49939=>1000,49940=>1000,49941=>1000,49942=>1000,49943=>1000,49944=>1000,49945=>1000,49946=>1000,49947=>1000,49948=>1000,49949=>1000,49950=>1000,49951=>1000,49952=>1000,49953=>1000,49954=>1000,49955=>1000,49956=>1000,49957=>1000,49958=>1000,49959=>1000,49960=>1000,49961=>1000,49962=>1000,49963=>1000,49964=>1000,49965=>1000,49966=>1000,49967=>1000,49968=>1000,49969=>1000,49970=>1000,49971=>1000,49972=>1000,49973=>1000,49974=>1000,49975=>1000,49976=>1000,49977=>1000,49978=>1000,49979=>1000,49980=>1000,49981=>1000,49982=>1000,49983=>1000,49984=>1000,49985=>1000,49986=>1000,49987=>1000,49988=>1000,49989=>1000,49990=>1000,49991=>1000,49992=>1000,49993=>1000,49994=>1000,49995=>1000,49996=>1000,49997=>1000,49998=>1000,49999=>1000,50000=>1000,50001=>1000,50002=>1000,50003=>1000,50004=>1000,50005=>1000,50006=>1000,50007=>1000,50008=>1000,50009=>1000,50010=>1000,50011=>1000,50012=>1000,50013=>1000,50014=>1000,50015=>1000,50016=>1000,50017=>1000,50018=>1000,50019=>1000,50020=>1000,50021=>1000,50022=>1000,50023=>1000,50024=>1000,50025=>1000,50026=>1000,50027=>1000,50028=>1000,50029=>1000,50030=>1000,50031=>1000,50032=>1000,50033=>1000,50034=>1000,50035=>1000,50036=>1000,50037=>1000,50038=>1000,50039=>1000,50040=>1000,50041=>1000,50042=>1000,50043=>1000,50044=>1000,50045=>1000,50046=>1000,50047=>1000,50048=>1000,50049=>1000,50050=>1000,50051=>1000,50052=>1000,50053=>1000,50054=>1000,50055=>1000,50056=>1000,50057=>1000,50058=>1000,50059=>1000,50060=>1000,50061=>1000,50062=>1000,50063=>1000,50064=>1000,50065=>1000,50066=>1000,50067=>1000,50068=>1000,50069=>1000,50070=>1000,50071=>1000,50072=>1000,50073=>1000,50074=>1000,50075=>1000,50076=>1000,50077=>1000,50078=>1000,50079=>1000,50080=>1000,50081=>1000,50082=>1000,50083=>1000,50084=>1000,50085=>1000,50086=>1000,50087=>1000,50088=>1000,50089=>1000,50090=>1000,50091=>1000,50092=>1000,50093=>1000,50094=>1000,50095=>1000,50096=>1000,50097=>1000,50098=>1000,50099=>1000,50100=>1000,50101=>1000,50102=>1000,50103=>1000,50104=>1000,50105=>1000,50106=>1000,50107=>1000,50108=>1000,50109=>1000,50110=>1000,50111=>1000,50112=>1000,50113=>1000,50114=>1000,50115=>1000,50116=>1000,50117=>1000,50118=>1000,50119=>1000,50120=>1000,50121=>1000,50122=>1000,50123=>1000,50124=>1000,50125=>1000,50126=>1000,50127=>1000,50128=>1000,50129=>1000,50130=>1000,50131=>1000,50132=>1000,50133=>1000,50134=>1000,50135=>1000,50136=>1000,50137=>1000,50138=>1000,50139=>1000,50140=>1000,50141=>1000,50142=>1000,50143=>1000,50144=>1000,50145=>1000,50146=>1000,50147=>1000,50148=>1000,50149=>1000,50150=>1000,50151=>1000,50152=>1000,50153=>1000,50154=>1000,50155=>1000,50156=>1000,50157=>1000,50158=>1000,50159=>1000,50160=>1000,50161=>1000,50162=>1000,50163=>1000,50164=>1000,50165=>1000,50166=>1000,50167=>1000,50168=>1000,50169=>1000,50170=>1000,50171=>1000,50172=>1000,50173=>1000,50174=>1000,50175=>1000,50176=>1000,50177=>1000,50178=>1000,50179=>1000,50180=>1000,50181=>1000,50182=>1000,50183=>1000,50184=>1000,50185=>1000,50186=>1000,50187=>1000,50188=>1000,50189=>1000,50190=>1000,50191=>1000,50192=>1000,50193=>1000,50194=>1000,50195=>1000,50196=>1000,50197=>1000,50198=>1000,50199=>1000,50200=>1000,50201=>1000,50202=>1000,50203=>1000,50204=>1000,50205=>1000,50206=>1000,50207=>1000,50208=>1000,50209=>1000,50210=>1000,50211=>1000,50212=>1000,50213=>1000,50214=>1000,50215=>1000,50216=>1000,50217=>1000,50218=>1000,50219=>1000,50220=>1000,50221=>1000,50222=>1000,50223=>1000,50224=>1000,50225=>1000,50226=>1000,50227=>1000,50228=>1000,50229=>1000,50230=>1000,50231=>1000,50232=>1000,50233=>1000,50234=>1000,50235=>1000,50236=>1000,50237=>1000,50238=>1000,50239=>1000,50240=>1000,50241=>1000,50242=>1000,50243=>1000,50244=>1000,50245=>1000,50246=>1000,50247=>1000,50248=>1000,50249=>1000,50250=>1000,50251=>1000,50252=>1000,50253=>1000,50254=>1000,50255=>1000,50256=>1000,50257=>1000,50258=>1000,50259=>1000,50260=>1000,50261=>1000,50262=>1000,50263=>1000,50264=>1000,50265=>1000,50266=>1000,50267=>1000,50268=>1000,50269=>1000,50270=>1000,50271=>1000,50272=>1000,50273=>1000,50274=>1000,50275=>1000,50276=>1000,50277=>1000,50278=>1000,50279=>1000,50280=>1000,50281=>1000,50282=>1000,50283=>1000,50284=>1000,50285=>1000,50286=>1000,50287=>1000,50288=>1000,50289=>1000,50290=>1000,50291=>1000,50292=>1000,50293=>1000,50294=>1000,50295=>1000,50296=>1000,50297=>1000,50298=>1000,50299=>1000,50300=>1000,50301=>1000,50302=>1000,50303=>1000,50304=>1000,50305=>1000,50306=>1000,50307=>1000,50308=>1000,50309=>1000,50310=>1000,50311=>1000,50312=>1000,50313=>1000,50314=>1000,50315=>1000,50316=>1000,50317=>1000,50318=>1000,50319=>1000,50320=>1000,50321=>1000,50322=>1000,50323=>1000,50324=>1000,50325=>1000,50326=>1000,50327=>1000,50328=>1000,50329=>1000,50330=>1000,50331=>1000,50332=>1000,50333=>1000,50334=>1000,50335=>1000,50336=>1000,50337=>1000,50338=>1000,50339=>1000,50340=>1000,50341=>1000,50342=>1000,50343=>1000,50344=>1000,50345=>1000,50346=>1000,50347=>1000,50348=>1000,50349=>1000,50350=>1000,50351=>1000,50352=>1000,50353=>1000,50354=>1000,50355=>1000,50356=>1000,50357=>1000,50358=>1000,50359=>1000,50360=>1000,50361=>1000,50362=>1000,50363=>1000,50364=>1000,50365=>1000,50366=>1000,50367=>1000,50368=>1000,50369=>1000,50370=>1000,50371=>1000,50372=>1000,50373=>1000,50374=>1000,50375=>1000,50376=>1000,50377=>1000,50378=>1000,50379=>1000,50380=>1000,50381=>1000,50382=>1000,50383=>1000,50384=>1000,50385=>1000,50386=>1000,50387=>1000,50388=>1000,50389=>1000,50390=>1000,50391=>1000,50392=>1000,50393=>1000,50394=>1000,50395=>1000,50396=>1000,50397=>1000,50398=>1000,50399=>1000,50400=>1000,50401=>1000,50402=>1000,50403=>1000,50404=>1000,50405=>1000,50406=>1000,50407=>1000,50408=>1000,50409=>1000,50410=>1000,50411=>1000,50412=>1000,50413=>1000,50414=>1000,50415=>1000,50416=>1000,50417=>1000,50418=>1000,50419=>1000,50420=>1000,50421=>1000,50422=>1000,50423=>1000,50424=>1000,50425=>1000,50426=>1000,50427=>1000,50428=>1000,50429=>1000,50430=>1000,50431=>1000,50432=>1000,50433=>1000,50434=>1000,50435=>1000,50436=>1000,50437=>1000,50438=>1000,50439=>1000,50440=>1000,50441=>1000,50442=>1000,50443=>1000,50444=>1000,50445=>1000,50446=>1000,50447=>1000,50448=>1000,50449=>1000,50450=>1000,50451=>1000,50452=>1000,50453=>1000,50454=>1000,50455=>1000,50456=>1000,50457=>1000,50458=>1000,50459=>1000,50460=>1000,50461=>1000,50462=>1000,50463=>1000,50464=>1000,50465=>1000,50466=>1000,50467=>1000,50468=>1000,50469=>1000,50470=>1000,50471=>1000,50472=>1000,50473=>1000,50474=>1000,50475=>1000,50476=>1000,50477=>1000,50478=>1000,50479=>1000,50480=>1000,50481=>1000,50482=>1000,50483=>1000,50484=>1000,50485=>1000,50486=>1000,50487=>1000,50488=>1000,50489=>1000,50490=>1000,50491=>1000,50492=>1000,50493=>1000,50494=>1000,50495=>1000,50496=>1000,50497=>1000,50498=>1000,50499=>1000,50500=>1000,50501=>1000,50502=>1000,50503=>1000,50504=>1000,50505=>1000,50506=>1000,50507=>1000,50508=>1000,50509=>1000,50510=>1000,50511=>1000,50512=>1000,50513=>1000,50514=>1000,50515=>1000,50516=>1000,50517=>1000,50518=>1000,50519=>1000,50520=>1000,50521=>1000,50522=>1000,50523=>1000,50524=>1000,50525=>1000,50526=>1000,50527=>1000,50528=>1000,50529=>1000,50530=>1000,50531=>1000,50532=>1000,50533=>1000,50534=>1000,50535=>1000,50536=>1000,50537=>1000,50538=>1000,50539=>1000,50540=>1000,50541=>1000,50542=>1000,50543=>1000,50544=>1000,50545=>1000,50546=>1000,50547=>1000,50548=>1000,50549=>1000,50550=>1000,50551=>1000,50552=>1000,50553=>1000,50554=>1000,50555=>1000,50556=>1000,50557=>1000,50558=>1000,50559=>1000,50560=>1000,50561=>1000,50562=>1000,50563=>1000,50564=>1000,50565=>1000,50566=>1000,50567=>1000,50568=>1000,50569=>1000,50570=>1000,50571=>1000,50572=>1000,50573=>1000,50574=>1000,50575=>1000,50576=>1000,50577=>1000,50578=>1000,50579=>1000,50580=>1000,50581=>1000,50582=>1000,50583=>1000,50584=>1000,50585=>1000,50586=>1000,50587=>1000,50588=>1000,50589=>1000,50590=>1000,50591=>1000,50592=>1000,50593=>1000,50594=>1000,50595=>1000,50596=>1000,50597=>1000,50598=>1000,50599=>1000,50600=>1000,50601=>1000,50602=>1000,50603=>1000,50604=>1000,50605=>1000,50606=>1000,50607=>1000,50608=>1000,50609=>1000,50610=>1000,50611=>1000,50612=>1000,50613=>1000,50614=>1000,50615=>1000,50616=>1000,50617=>1000,50618=>1000,50619=>1000,50620=>1000,50621=>1000,50622=>1000,50623=>1000,50624=>1000,50625=>1000,50626=>1000,50627=>1000,50628=>1000,50629=>1000,50630=>1000,50631=>1000,50632=>1000,50633=>1000,50634=>1000,50635=>1000,50636=>1000,50637=>1000,50638=>1000,50639=>1000,50640=>1000,50641=>1000,50642=>1000,50643=>1000,50644=>1000,50645=>1000,50646=>1000,50647=>1000,50648=>1000,50649=>1000,50650=>1000,50651=>1000,50652=>1000,50653=>1000,50654=>1000,50655=>1000,50656=>1000,50657=>1000,50658=>1000,50659=>1000,50660=>1000,50661=>1000,50662=>1000,50663=>1000,50664=>1000,50665=>1000,50666=>1000,50667=>1000,50668=>1000,50669=>1000,50670=>1000,50671=>1000,50672=>1000,50673=>1000,50674=>1000,50675=>1000,50676=>1000,50677=>1000,50678=>1000,50679=>1000,50680=>1000,50681=>1000,50682=>1000,50683=>1000,50684=>1000,50685=>1000,50686=>1000,50687=>1000,50688=>1000,50689=>1000,50690=>1000,50691=>1000,50692=>1000,50693=>1000,50694=>1000,50695=>1000,50696=>1000,50697=>1000,50698=>1000,50699=>1000,50700=>1000,50701=>1000,50702=>1000,50703=>1000,50704=>1000,50705=>1000,50706=>1000,50707=>1000,50708=>1000,50709=>1000,50710=>1000,50711=>1000,50712=>1000,50713=>1000,50714=>1000,50715=>1000,50716=>1000,50717=>1000,50718=>1000,50719=>1000,50720=>1000,50721=>1000,50722=>1000,50723=>1000,50724=>1000,50725=>1000,50726=>1000,50727=>1000,50728=>1000,50729=>1000,50730=>1000,50731=>1000,50732=>1000,50733=>1000,50734=>1000,50735=>1000,50736=>1000,50737=>1000,50738=>1000,50739=>1000,50740=>1000,50741=>1000,50742=>1000,50743=>1000,50744=>1000,50745=>1000,50746=>1000,50747=>1000,50748=>1000,50749=>1000,50750=>1000,50751=>1000,50752=>1000,50753=>1000,50754=>1000,50755=>1000,50756=>1000,50757=>1000,50758=>1000,50759=>1000,50760=>1000,50761=>1000,50762=>1000,50763=>1000,50764=>1000,50765=>1000,50766=>1000,50767=>1000,50768=>1000,50769=>1000,50770=>1000,50771=>1000,50772=>1000,50773=>1000,50774=>1000,50775=>1000,50776=>1000,50777=>1000,50778=>1000,50779=>1000,50780=>1000,50781=>1000,50782=>1000,50783=>1000,50784=>1000,50785=>1000,50786=>1000,50787=>1000,50788=>1000,50789=>1000,50790=>1000,50791=>1000,50792=>1000,50793=>1000,50794=>1000,50795=>1000,50796=>1000,50797=>1000,50798=>1000,50799=>1000,50800=>1000,50801=>1000,50802=>1000,50803=>1000,50804=>1000,50805=>1000,50806=>1000,50807=>1000,50808=>1000,50809=>1000,50810=>1000,50811=>1000,50812=>1000,50813=>1000,50814=>1000,50815=>1000,50816=>1000,50817=>1000,50818=>1000,50819=>1000,50820=>1000,50821=>1000,50822=>1000,50823=>1000,50824=>1000,50825=>1000,50826=>1000,50827=>1000,50828=>1000,50829=>1000,50830=>1000,50831=>1000,50832=>1000,50833=>1000,50834=>1000,50835=>1000,50836=>1000,50837=>1000,50838=>1000,50839=>1000,50840=>1000,50841=>1000,50842=>1000,50843=>1000,50844=>1000,50845=>1000,50846=>1000,50847=>1000,50848=>1000,50849=>1000,50850=>1000,50851=>1000,50852=>1000,50853=>1000,50854=>1000,50855=>1000,50856=>1000,50857=>1000,50858=>1000,50859=>1000,50860=>1000,50861=>1000,50862=>1000,50863=>1000,50864=>1000,50865=>1000,50866=>1000,50867=>1000,50868=>1000,50869=>1000,50870=>1000,50871=>1000,50872=>1000,50873=>1000,50874=>1000,50875=>1000,50876=>1000,50877=>1000,50878=>1000,50879=>1000,50880=>1000,50881=>1000,50882=>1000,50883=>1000,50884=>1000,50885=>1000,50886=>1000,50887=>1000,50888=>1000,50889=>1000,50890=>1000,50891=>1000,50892=>1000,50893=>1000,50894=>1000,50895=>1000,50896=>1000,50897=>1000,50898=>1000,50899=>1000,50900=>1000,50901=>1000,50902=>1000,50903=>1000,50904=>1000,50905=>1000,50906=>1000,50907=>1000,50908=>1000,50909=>1000,50910=>1000,50911=>1000,50912=>1000,50913=>1000,50914=>1000,50915=>1000,50916=>1000,50917=>1000,50918=>1000,50919=>1000,50920=>1000,50921=>1000,50922=>1000,50923=>1000,50924=>1000,50925=>1000,50926=>1000,50927=>1000,50928=>1000,50929=>1000,50930=>1000,50931=>1000,50932=>1000,50933=>1000,50934=>1000,50935=>1000,50936=>1000,50937=>1000,50938=>1000,50939=>1000,50940=>1000,50941=>1000,50942=>1000,50943=>1000,50944=>1000,50945=>1000,50946=>1000,50947=>1000,50948=>1000,50949=>1000,50950=>1000,50951=>1000,50952=>1000,50953=>1000,50954=>1000,50955=>1000,50956=>1000,50957=>1000,50958=>1000,50959=>1000,50960=>1000,50961=>1000,50962=>1000,50963=>1000,50964=>1000,50965=>1000,50966=>1000,50967=>1000,50968=>1000,50969=>1000,50970=>1000,50971=>1000,50972=>1000,50973=>1000,50974=>1000,50975=>1000,50976=>1000,50977=>1000,50978=>1000,50979=>1000,50980=>1000,50981=>1000,50982=>1000,50983=>1000,50984=>1000,50985=>1000,50986=>1000,50987=>1000,50988=>1000,50989=>1000,50990=>1000,50991=>1000,50992=>1000,50993=>1000,50994=>1000,50995=>1000,50996=>1000,50997=>1000,50998=>1000,50999=>1000,51000=>1000,51001=>1000,51002=>1000,51003=>1000,51004=>1000,51005=>1000,51006=>1000,51007=>1000,51008=>1000,51009=>1000,51010=>1000,51011=>1000,51012=>1000,51013=>1000,51014=>1000,51015=>1000,51016=>1000,51017=>1000,51018=>1000,51019=>1000,51020=>1000,51021=>1000,51022=>1000,51023=>1000,51024=>1000,51025=>1000,51026=>1000,51027=>1000,51028=>1000,51029=>1000,51030=>1000,51031=>1000,51032=>1000,51033=>1000,51034=>1000,51035=>1000,51036=>1000,51037=>1000,51038=>1000,51039=>1000,51040=>1000,51041=>1000,51042=>1000,51043=>1000,51044=>1000,51045=>1000,51046=>1000,51047=>1000,51048=>1000,51049=>1000,51050=>1000,51051=>1000,51052=>1000,51053=>1000,51054=>1000,51055=>1000,51056=>1000,51057=>1000,51058=>1000,51059=>1000,51060=>1000,51061=>1000,51062=>1000,51063=>1000,51064=>1000,51065=>1000,51066=>1000,51067=>1000,51068=>1000,51069=>1000,51070=>1000,51071=>1000,51072=>1000,51073=>1000,51074=>1000,51075=>1000,51076=>1000,51077=>1000,51078=>1000,51079=>1000,51080=>1000,51081=>1000,51082=>1000,51083=>1000,51084=>1000,51085=>1000,51086=>1000,51087=>1000,51088=>1000,51089=>1000,51090=>1000,51091=>1000,51092=>1000,51093=>1000,51094=>1000,51095=>1000,51096=>1000,51097=>1000,51098=>1000,51099=>1000,51100=>1000,51101=>1000,51102=>1000,51103=>1000,51104=>1000,51105=>1000,51106=>1000,51107=>1000,51108=>1000,51109=>1000,51110=>1000,51111=>1000,51112=>1000,51113=>1000,51114=>1000,51115=>1000,51116=>1000,51117=>1000,51118=>1000,51119=>1000,51120=>1000,51121=>1000,51122=>1000,51123=>1000,51124=>1000,51125=>1000,51126=>1000,51127=>1000,51128=>1000,51129=>1000,51130=>1000,51131=>1000,51132=>1000,51133=>1000,51134=>1000,51135=>1000,51136=>1000,51137=>1000,51138=>1000,51139=>1000,51140=>1000,51141=>1000,51142=>1000,51143=>1000,51144=>1000,51145=>1000,51146=>1000,51147=>1000,51148=>1000,51149=>1000,51150=>1000,51151=>1000,51152=>1000,51153=>1000,51154=>1000,51155=>1000,51156=>1000,51157=>1000,51158=>1000,51159=>1000,51160=>1000,51161=>1000,51162=>1000,51163=>1000,51164=>1000,51165=>1000,51166=>1000,51167=>1000,51168=>1000,51169=>1000,51170=>1000,51171=>1000,51172=>1000,51173=>1000,51174=>1000,51175=>1000,51176=>1000,51177=>1000,51178=>1000,51179=>1000,51180=>1000,51181=>1000,51182=>1000,51183=>1000,51184=>1000,51185=>1000,51186=>1000,51187=>1000,51188=>1000,51189=>1000,51190=>1000,51191=>1000,51192=>1000,51193=>1000,51194=>1000,51195=>1000,51196=>1000,51197=>1000,51198=>1000,51199=>1000,51200=>1000,51201=>1000,51202=>1000,51203=>1000,51204=>1000,51205=>1000,51206=>1000,51207=>1000,51208=>1000,51209=>1000,51210=>1000,51211=>1000,51212=>1000,51213=>1000,51214=>1000,51215=>1000,51216=>1000,51217=>1000,51218=>1000,51219=>1000,51220=>1000,51221=>1000,51222=>1000,51223=>1000,51224=>1000,51225=>1000,51226=>1000,51227=>1000,51228=>1000,51229=>1000,51230=>1000,51231=>1000,51232=>1000,51233=>1000,51234=>1000,51235=>1000,51236=>1000,51237=>1000,51238=>1000,51239=>1000,51240=>1000,51241=>1000,51242=>1000,51243=>1000,51244=>1000,51245=>1000,51246=>1000,51247=>1000,51248=>1000,51249=>1000,51250=>1000,51251=>1000,51252=>1000,51253=>1000,51254=>1000,51255=>1000,51256=>1000,51257=>1000,51258=>1000,51259=>1000,51260=>1000,51261=>1000,51262=>1000,51263=>1000,51264=>1000,51265=>1000,51266=>1000,51267=>1000,51268=>1000,51269=>1000,51270=>1000,51271=>1000,51272=>1000,51273=>1000,51274=>1000,51275=>1000,51276=>1000,51277=>1000,51278=>1000,51279=>1000,51280=>1000,51281=>1000,51282=>1000,51283=>1000,51284=>1000,51285=>1000,51286=>1000,51287=>1000,51288=>1000,51289=>1000,51290=>1000,51291=>1000,51292=>1000,51293=>1000,51294=>1000,51295=>1000,51296=>1000,51297=>1000,51298=>1000,51299=>1000,51300=>1000,51301=>1000,51302=>1000,51303=>1000,51304=>1000,51305=>1000,51306=>1000,51307=>1000,51308=>1000,51309=>1000,51310=>1000,51311=>1000,51312=>1000,51313=>1000,51314=>1000,51315=>1000,51316=>1000,51317=>1000,51318=>1000,51319=>1000,51320=>1000,51321=>1000,51322=>1000,51323=>1000,51324=>1000,51325=>1000,51326=>1000,51327=>1000,51328=>1000,51329=>1000,51330=>1000,51331=>1000,51332=>1000,51333=>1000,51334=>1000,51335=>1000,51336=>1000,51337=>1000,51338=>1000,51339=>1000,51340=>1000,51341=>1000,51342=>1000,51343=>1000,51344=>1000,51345=>1000,51346=>1000,51347=>1000,51348=>1000,51349=>1000,51350=>1000,51351=>1000,51352=>1000,51353=>1000,51354=>1000,51355=>1000,51356=>1000,51357=>1000,51358=>1000,51359=>1000,51360=>1000,51361=>1000,51362=>1000,51363=>1000,51364=>1000,51365=>1000,51366=>1000,51367=>1000,51368=>1000,51369=>1000,51370=>1000,51371=>1000,51372=>1000,51373=>1000,51374=>1000,51375=>1000,51376=>1000,51377=>1000,51378=>1000,51379=>1000,51380=>1000,51381=>1000,51382=>1000,51383=>1000,51384=>1000,51385=>1000,51386=>1000,51387=>1000,51388=>1000,51389=>1000,51390=>1000,51391=>1000,51392=>1000,51393=>1000,51394=>1000,51395=>1000,51396=>1000,51397=>1000,51398=>1000,51399=>1000,51400=>1000,51401=>1000,51402=>1000,51403=>1000,51404=>1000,51405=>1000,51406=>1000,51407=>1000,51408=>1000,51409=>1000,51410=>1000,51411=>1000,51412=>1000,51413=>1000,51414=>1000,51415=>1000,51416=>1000,51417=>1000,51418=>1000,51419=>1000,51420=>1000,51421=>1000,51422=>1000,51423=>1000,51424=>1000,51425=>1000,51426=>1000,51427=>1000,51428=>1000,51429=>1000,51430=>1000,51431=>1000,51432=>1000,51433=>1000,51434=>1000,51435=>1000,51436=>1000,51437=>1000,51438=>1000,51439=>1000,51440=>1000,51441=>1000,51442=>1000,51443=>1000,51444=>1000,51445=>1000,51446=>1000,51447=>1000,51448=>1000,51449=>1000,51450=>1000,51451=>1000,51452=>1000,51453=>1000,51454=>1000,51455=>1000,51456=>1000,51457=>1000,51458=>1000,51459=>1000,51460=>1000,51461=>1000,51462=>1000,51463=>1000,51464=>1000,51465=>1000,51466=>1000,51467=>1000,51468=>1000,51469=>1000,51470=>1000,51471=>1000,51472=>1000,51473=>1000,51474=>1000,51475=>1000,51476=>1000,51477=>1000,51478=>1000,51479=>1000,51480=>1000,51481=>1000,51482=>1000,51483=>1000,51484=>1000,51485=>1000,51486=>1000,51487=>1000,51488=>1000,51489=>1000,51490=>1000,51491=>1000,51492=>1000,51493=>1000,51494=>1000,51495=>1000,51496=>1000,51497=>1000,51498=>1000,51499=>1000,51500=>1000,51501=>1000,51502=>1000,51503=>1000,51504=>1000,51505=>1000,51506=>1000,51507=>1000,51508=>1000,51509=>1000,51510=>1000,51511=>1000,51512=>1000,51513=>1000,51514=>1000,51515=>1000,51516=>1000,51517=>1000,51518=>1000,51519=>1000,51520=>1000,51521=>1000,51522=>1000,51523=>1000,51524=>1000,51525=>1000,51526=>1000,51527=>1000,51528=>1000,51529=>1000,51530=>1000,51531=>1000,51532=>1000,51533=>1000,51534=>1000,51535=>1000,51536=>1000,51537=>1000,51538=>1000,51539=>1000,51540=>1000,51541=>1000,51542=>1000,51543=>1000,51544=>1000,51545=>1000,51546=>1000,51547=>1000,51548=>1000,51549=>1000,51550=>1000,51551=>1000,51552=>1000,51553=>1000,51554=>1000,51555=>1000,51556=>1000,51557=>1000,51558=>1000,51559=>1000,51560=>1000,51561=>1000,51562=>1000,51563=>1000,51564=>1000,51565=>1000,51566=>1000,51567=>1000,51568=>1000,51569=>1000,51570=>1000,51571=>1000,51572=>1000,51573=>1000,51574=>1000,51575=>1000,51576=>1000,51577=>1000,51578=>1000,51579=>1000,51580=>1000,51581=>1000,51582=>1000,51583=>1000,51584=>1000,51585=>1000,51586=>1000,51587=>1000,51588=>1000,51589=>1000,51590=>1000,51591=>1000,51592=>1000,51593=>1000,51594=>1000,51595=>1000,51596=>1000,51597=>1000,51598=>1000,51599=>1000,51600=>1000,51601=>1000,51602=>1000,51603=>1000,51604=>1000,51605=>1000,51606=>1000,51607=>1000,51608=>1000,51609=>1000,51610=>1000,51611=>1000,51612=>1000,51613=>1000,51614=>1000,51615=>1000,51616=>1000,51617=>1000,51618=>1000,51619=>1000,51620=>1000,51621=>1000,51622=>1000,51623=>1000,51624=>1000,51625=>1000,51626=>1000,51627=>1000,51628=>1000,51629=>1000,51630=>1000,51631=>1000,51632=>1000,51633=>1000,51634=>1000,51635=>1000,51636=>1000,51637=>1000,51638=>1000,51639=>1000,51640=>1000,51641=>1000,51642=>1000,51643=>1000,51644=>1000,51645=>1000,51646=>1000,51647=>1000,51648=>1000,51649=>1000,51650=>1000,51651=>1000,51652=>1000,51653=>1000,51654=>1000,51655=>1000,51656=>1000,51657=>1000,51658=>1000,51659=>1000,51660=>1000,51661=>1000,51662=>1000,51663=>1000,51664=>1000,51665=>1000,51666=>1000,51667=>1000,51668=>1000,51669=>1000,51670=>1000,51671=>1000,51672=>1000,51673=>1000,51674=>1000,51675=>1000,51676=>1000,51677=>1000,51678=>1000,51679=>1000,51680=>1000,51681=>1000,51682=>1000,51683=>1000,51684=>1000,51685=>1000,51686=>1000,51687=>1000,51688=>1000,51689=>1000,51690=>1000,51691=>1000,51692=>1000,51693=>1000,51694=>1000,51695=>1000,51696=>1000,51697=>1000,51698=>1000,51699=>1000,51700=>1000,51701=>1000,51702=>1000,51703=>1000,51704=>1000,51705=>1000,51706=>1000,51707=>1000,51708=>1000,51709=>1000,51710=>1000,51711=>1000,51712=>1000,51713=>1000,51714=>1000,51715=>1000,51716=>1000,51717=>1000,51718=>1000,51719=>1000,51720=>1000,51721=>1000,51722=>1000,51723=>1000,51724=>1000,51725=>1000,51726=>1000,51727=>1000,51728=>1000,51729=>1000,51730=>1000,51731=>1000,51732=>1000,51733=>1000,51734=>1000,51735=>1000,51736=>1000,51737=>1000,51738=>1000,51739=>1000,51740=>1000,51741=>1000,51742=>1000,51743=>1000,51744=>1000,51745=>1000,51746=>1000,51747=>1000,51748=>1000,51749=>1000,51750=>1000,51751=>1000,51752=>1000,51753=>1000,51754=>1000,51755=>1000,51756=>1000,51757=>1000,51758=>1000,51759=>1000,51760=>1000,51761=>1000,51762=>1000,51763=>1000,51764=>1000,51765=>1000,51766=>1000,51767=>1000,51768=>1000,51769=>1000,51770=>1000,51771=>1000,51772=>1000,51773=>1000,51774=>1000,51775=>1000,51776=>1000,51777=>1000,51778=>1000,51779=>1000,51780=>1000,51781=>1000,51782=>1000,51783=>1000,51784=>1000,51785=>1000,51786=>1000,51787=>1000,51788=>1000,51789=>1000,51790=>1000,51791=>1000,51792=>1000,51793=>1000,51794=>1000,51795=>1000,51796=>1000,51797=>1000,51798=>1000,51799=>1000,51800=>1000,51801=>1000,51802=>1000,51803=>1000,51804=>1000,51805=>1000,51806=>1000,51807=>1000,51808=>1000,51809=>1000,51810=>1000,51811=>1000,51812=>1000,51813=>1000,51814=>1000,51815=>1000,51816=>1000,51817=>1000,51818=>1000,51819=>1000,51820=>1000,51821=>1000,51822=>1000,51823=>1000,51824=>1000,51825=>1000,51826=>1000,51827=>1000,51828=>1000,51829=>1000,51830=>1000,51831=>1000,51832=>1000,51833=>1000,51834=>1000,51835=>1000,51836=>1000,51837=>1000,51838=>1000,51839=>1000,51840=>1000,51841=>1000,51842=>1000,51843=>1000,51844=>1000,51845=>1000,51846=>1000,51847=>1000,51848=>1000,51849=>1000,51850=>1000,51851=>1000,51852=>1000,51853=>1000,51854=>1000,51855=>1000,51856=>1000,51857=>1000,51858=>1000,51859=>1000,51860=>1000,51861=>1000,51862=>1000,51863=>1000,51864=>1000,51865=>1000,51866=>1000,51867=>1000,51868=>1000,51869=>1000,51870=>1000,51871=>1000,51872=>1000,51873=>1000,51874=>1000,51875=>1000,51876=>1000,51877=>1000,51878=>1000,51879=>1000,51880=>1000,51881=>1000,51882=>1000,51883=>1000,51884=>1000,51885=>1000,51886=>1000,51887=>1000,51888=>1000,51889=>1000,51890=>1000,51891=>1000,51892=>1000,51893=>1000,51894=>1000,51895=>1000,51896=>1000,51897=>1000,51898=>1000,51899=>1000,51900=>1000,51901=>1000,51902=>1000,51903=>1000,51904=>1000,51905=>1000,51906=>1000,51907=>1000,51908=>1000,51909=>1000,51910=>1000,51911=>1000,51912=>1000,51913=>1000,51914=>1000,51915=>1000,51916=>1000,51917=>1000,51918=>1000,51919=>1000,51920=>1000,51921=>1000,51922=>1000,51923=>1000,51924=>1000,51925=>1000,51926=>1000,51927=>1000,51928=>1000,51929=>1000,51930=>1000,51931=>1000,51932=>1000,51933=>1000,51934=>1000,51935=>1000,51936=>1000,51937=>1000,51938=>1000,51939=>1000,51940=>1000,51941=>1000,51942=>1000,51943=>1000,51944=>1000,51945=>1000,51946=>1000,51947=>1000,51948=>1000,51949=>1000,51950=>1000,51951=>1000,51952=>1000,51953=>1000,51954=>1000,51955=>1000,51956=>1000,51957=>1000,51958=>1000,51959=>1000,51960=>1000,51961=>1000,51962=>1000,51963=>1000,51964=>1000,51965=>1000,51966=>1000,51967=>1000,51968=>1000,51969=>1000,51970=>1000,51971=>1000,51972=>1000,51973=>1000,51974=>1000,51975=>1000,51976=>1000,51977=>1000,51978=>1000,51979=>1000,51980=>1000,51981=>1000,51982=>1000,51983=>1000,51984=>1000,51985=>1000,51986=>1000,51987=>1000,51988=>1000,51989=>1000,51990=>1000,51991=>1000,51992=>1000,51993=>1000,51994=>1000,51995=>1000,51996=>1000,51997=>1000,51998=>1000,51999=>1000,52000=>1000,52001=>1000,52002=>1000,52003=>1000,52004=>1000,52005=>1000,52006=>1000,52007=>1000,52008=>1000,52009=>1000,52010=>1000,52011=>1000,52012=>1000,52013=>1000,52014=>1000,52015=>1000,52016=>1000,52017=>1000,52018=>1000,52019=>1000,52020=>1000,52021=>1000,52022=>1000,52023=>1000,52024=>1000,52025=>1000,52026=>1000,52027=>1000,52028=>1000,52029=>1000,52030=>1000,52031=>1000,52032=>1000,52033=>1000,52034=>1000,52035=>1000,52036=>1000,52037=>1000,52038=>1000,52039=>1000,52040=>1000,52041=>1000,52042=>1000,52043=>1000,52044=>1000,52045=>1000,52046=>1000,52047=>1000,52048=>1000,52049=>1000,52050=>1000,52051=>1000,52052=>1000,52053=>1000,52054=>1000,52055=>1000,52056=>1000,52057=>1000,52058=>1000,52059=>1000,52060=>1000,52061=>1000,52062=>1000,52063=>1000,52064=>1000,52065=>1000,52066=>1000,52067=>1000,52068=>1000,52069=>1000,52070=>1000,52071=>1000,52072=>1000,52073=>1000,52074=>1000,52075=>1000,52076=>1000,52077=>1000,52078=>1000,52079=>1000,52080=>1000,52081=>1000,52082=>1000,52083=>1000,52084=>1000,52085=>1000,52086=>1000,52087=>1000,52088=>1000,52089=>1000,52090=>1000,52091=>1000,52092=>1000,52093=>1000,52094=>1000,52095=>1000,52096=>1000,52097=>1000,52098=>1000,52099=>1000,52100=>1000,52101=>1000,52102=>1000,52103=>1000,52104=>1000,52105=>1000,52106=>1000,52107=>1000,52108=>1000,52109=>1000,52110=>1000,52111=>1000,52112=>1000,52113=>1000,52114=>1000,52115=>1000,52116=>1000,52117=>1000,52118=>1000,52119=>1000,52120=>1000,52121=>1000,52122=>1000,52123=>1000,52124=>1000,52125=>1000,52126=>1000,52127=>1000,52128=>1000,52129=>1000,52130=>1000,52131=>1000,52132=>1000,52133=>1000,52134=>1000,52135=>1000,52136=>1000,52137=>1000,52138=>1000,52139=>1000,52140=>1000,52141=>1000,52142=>1000,52143=>1000,52144=>1000,52145=>1000,52146=>1000,52147=>1000,52148=>1000,52149=>1000,52150=>1000,52151=>1000,52152=>1000,52153=>1000,52154=>1000,52155=>1000,52156=>1000,52157=>1000,52158=>1000,52159=>1000,52160=>1000,52161=>1000,52162=>1000,52163=>1000,52164=>1000,52165=>1000,52166=>1000,52167=>1000,52168=>1000,52169=>1000,52170=>1000,52171=>1000,52172=>1000,52173=>1000,52174=>1000,52175=>1000,52176=>1000,52177=>1000,52178=>1000,52179=>1000,52180=>1000,52181=>1000,52182=>1000,52183=>1000,52184=>1000,52185=>1000,52186=>1000,52187=>1000,52188=>1000,52189=>1000,52190=>1000,52191=>1000,52192=>1000,52193=>1000,52194=>1000,52195=>1000,52196=>1000,52197=>1000,52198=>1000,52199=>1000,52200=>1000,52201=>1000,52202=>1000,52203=>1000,52204=>1000,52205=>1000,52206=>1000,52207=>1000,52208=>1000,52209=>1000,52210=>1000,52211=>1000,52212=>1000,52213=>1000,52214=>1000,52215=>1000,52216=>1000,52217=>1000,52218=>1000,52219=>1000,52220=>1000,52221=>1000,52222=>1000,52223=>1000,52224=>1000,52225=>1000,52226=>1000,52227=>1000,52228=>1000,52229=>1000,52230=>1000,52231=>1000,52232=>1000,52233=>1000,52234=>1000,52235=>1000,52236=>1000,52237=>1000,52238=>1000,52239=>1000,52240=>1000,52241=>1000,52242=>1000,52243=>1000,52244=>1000,52245=>1000,52246=>1000,52247=>1000,52248=>1000,52249=>1000,52250=>1000,52251=>1000,52252=>1000,52253=>1000,52254=>1000,52255=>1000,52256=>1000,52257=>1000,52258=>1000,52259=>1000,52260=>1000,52261=>1000,52262=>1000,52263=>1000,52264=>1000,52265=>1000,52266=>1000,52267=>1000,52268=>1000,52269=>1000,52270=>1000,52271=>1000,52272=>1000,52273=>1000,52274=>1000,52275=>1000,52276=>1000,52277=>1000,52278=>1000,52279=>1000,52280=>1000,52281=>1000,52282=>1000,52283=>1000,52284=>1000,52285=>1000,52286=>1000,52287=>1000,52288=>1000,52289=>1000,52290=>1000,52291=>1000,52292=>1000,52293=>1000,52294=>1000,52295=>1000,52296=>1000,52297=>1000,52298=>1000,52299=>1000,52300=>1000,52301=>1000,52302=>1000,52303=>1000,52304=>1000,52305=>1000,52306=>1000,52307=>1000,52308=>1000,52309=>1000,52310=>1000,52311=>1000,52312=>1000,52313=>1000,52314=>1000,52315=>1000,52316=>1000,52317=>1000,52318=>1000,52319=>1000,52320=>1000,52321=>1000,52322=>1000,52323=>1000,52324=>1000,52325=>1000,52326=>1000,52327=>1000,52328=>1000,52329=>1000,52330=>1000,52331=>1000,52332=>1000,52333=>1000,52334=>1000,52335=>1000,52336=>1000,52337=>1000,52338=>1000,52339=>1000,52340=>1000,52341=>1000,52342=>1000,52343=>1000,52344=>1000,52345=>1000,52346=>1000,52347=>1000,52348=>1000,52349=>1000,52350=>1000,52351=>1000,52352=>1000,52353=>1000,52354=>1000,52355=>1000,52356=>1000,52357=>1000,52358=>1000,52359=>1000,52360=>1000,52361=>1000,52362=>1000,52363=>1000,52364=>1000,52365=>1000,52366=>1000,52367=>1000,52368=>1000,52369=>1000,52370=>1000,52371=>1000,52372=>1000,52373=>1000,52374=>1000,52375=>1000,52376=>1000,52377=>1000,52378=>1000,52379=>1000,52380=>1000,52381=>1000,52382=>1000,52383=>1000,52384=>1000,52385=>1000,52386=>1000,52387=>1000,52388=>1000,52389=>1000,52390=>1000,52391=>1000,52392=>1000,52393=>1000,52394=>1000,52395=>1000,52396=>1000,52397=>1000,52398=>1000,52399=>1000,52400=>1000,52401=>1000,52402=>1000,52403=>1000,52404=>1000,52405=>1000,52406=>1000,52407=>1000,52408=>1000,52409=>1000,52410=>1000,52411=>1000,52412=>1000,52413=>1000,52414=>1000,52415=>1000,52416=>1000,52417=>1000,52418=>1000,52419=>1000,52420=>1000,52421=>1000,52422=>1000,52423=>1000,52424=>1000,52425=>1000,52426=>1000,52427=>1000,52428=>1000,52429=>1000,52430=>1000,52431=>1000,52432=>1000,52433=>1000,52434=>1000,52435=>1000,52436=>1000,52437=>1000,52438=>1000,52439=>1000,52440=>1000,52441=>1000,52442=>1000,52443=>1000,52444=>1000,52445=>1000,52446=>1000,52447=>1000,52448=>1000,52449=>1000,52450=>1000,52451=>1000,52452=>1000,52453=>1000,52454=>1000,52455=>1000,52456=>1000,52457=>1000,52458=>1000,52459=>1000,52460=>1000,52461=>1000,52462=>1000,52463=>1000,52464=>1000,52465=>1000,52466=>1000,52467=>1000,52468=>1000,52469=>1000,52470=>1000,52471=>1000,52472=>1000,52473=>1000,52474=>1000,52475=>1000,52476=>1000,52477=>1000,52478=>1000,52479=>1000,52480=>1000,52481=>1000,52482=>1000,52483=>1000,52484=>1000,52485=>1000,52486=>1000,52487=>1000,52488=>1000,52489=>1000,52490=>1000,52491=>1000,52492=>1000,52493=>1000,52494=>1000,52495=>1000,52496=>1000,52497=>1000,52498=>1000,52499=>1000,52500=>1000,52501=>1000,52502=>1000,52503=>1000,52504=>1000,52505=>1000,52506=>1000,52507=>1000,52508=>1000,52509=>1000,52510=>1000,52511=>1000,52512=>1000,52513=>1000,52514=>1000,52515=>1000,52516=>1000,52517=>1000,52518=>1000,52519=>1000,52520=>1000,52521=>1000,52522=>1000,52523=>1000,52524=>1000,52525=>1000,52526=>1000,52527=>1000,52528=>1000,52529=>1000,52530=>1000,52531=>1000,52532=>1000,52533=>1000,52534=>1000,52535=>1000,52536=>1000,52537=>1000,52538=>1000,52539=>1000,52540=>1000,52541=>1000,52542=>1000,52543=>1000,52544=>1000,52545=>1000,52546=>1000,52547=>1000,52548=>1000,52549=>1000,52550=>1000,52551=>1000,52552=>1000,52553=>1000,52554=>1000,52555=>1000,52556=>1000,52557=>1000,52558=>1000,52559=>1000,52560=>1000,52561=>1000,52562=>1000,52563=>1000,52564=>1000,52565=>1000,52566=>1000,52567=>1000,52568=>1000,52569=>1000,52570=>1000,52571=>1000,52572=>1000,52573=>1000,52574=>1000,52575=>1000,52576=>1000,52577=>1000,52578=>1000,52579=>1000,52580=>1000,52581=>1000,52582=>1000,52583=>1000,52584=>1000,52585=>1000,52586=>1000,52587=>1000,52588=>1000,52589=>1000,52590=>1000,52591=>1000,52592=>1000,52593=>1000,52594=>1000,52595=>1000,52596=>1000,52597=>1000,52598=>1000,52599=>1000,52600=>1000,52601=>1000,52602=>1000,52603=>1000,52604=>1000,52605=>1000,52606=>1000,52607=>1000,52608=>1000,52609=>1000,52610=>1000,52611=>1000,52612=>1000,52613=>1000,52614=>1000,52615=>1000,52616=>1000,52617=>1000,52618=>1000,52619=>1000,52620=>1000,52621=>1000,52622=>1000,52623=>1000,52624=>1000,52625=>1000,52626=>1000,52627=>1000,52628=>1000,52629=>1000,52630=>1000,52631=>1000,52632=>1000,52633=>1000,52634=>1000,52635=>1000,52636=>1000,52637=>1000,52638=>1000,52639=>1000,52640=>1000,52641=>1000,52642=>1000,52643=>1000,52644=>1000,52645=>1000,52646=>1000,52647=>1000,52648=>1000,52649=>1000,52650=>1000,52651=>1000,52652=>1000,52653=>1000,52654=>1000,52655=>1000,52656=>1000,52657=>1000,52658=>1000,52659=>1000,52660=>1000,52661=>1000,52662=>1000,52663=>1000,52664=>1000,52665=>1000,52666=>1000,52667=>1000,52668=>1000,52669=>1000,52670=>1000,52671=>1000,52672=>1000,52673=>1000,52674=>1000,52675=>1000,52676=>1000,52677=>1000,52678=>1000,52679=>1000,52680=>1000,52681=>1000,52682=>1000,52683=>1000,52684=>1000,52685=>1000,52686=>1000,52687=>1000,52688=>1000,52689=>1000,52690=>1000,52691=>1000,52692=>1000,52693=>1000,52694=>1000,52695=>1000,52696=>1000,52697=>1000,52698=>1000,52699=>1000,52700=>1000,52701=>1000,52702=>1000,52703=>1000,52704=>1000,52705=>1000,52706=>1000,52707=>1000,52708=>1000,52709=>1000,52710=>1000,52711=>1000,52712=>1000,52713=>1000,52714=>1000,52715=>1000,52716=>1000,52717=>1000,52718=>1000,52719=>1000,52720=>1000,52721=>1000,52722=>1000,52723=>1000,52724=>1000,52725=>1000,52726=>1000,52727=>1000,52728=>1000,52729=>1000,52730=>1000,52731=>1000,52732=>1000,52733=>1000,52734=>1000,52735=>1000,52736=>1000,52737=>1000,52738=>1000,52739=>1000,52740=>1000,52741=>1000,52742=>1000,52743=>1000,52744=>1000,52745=>1000,52746=>1000,52747=>1000,52748=>1000,52749=>1000,52750=>1000,52751=>1000,52752=>1000,52753=>1000,52754=>1000,52755=>1000,52756=>1000,52757=>1000,52758=>1000,52759=>1000,52760=>1000,52761=>1000,52762=>1000,52763=>1000,52764=>1000,52765=>1000,52766=>1000,52767=>1000,52768=>1000,52769=>1000,52770=>1000,52771=>1000,52772=>1000,52773=>1000,52774=>1000,52775=>1000,52776=>1000,52777=>1000,52778=>1000,52779=>1000,52780=>1000,52781=>1000,52782=>1000,52783=>1000,52784=>1000,52785=>1000,52786=>1000,52787=>1000,52788=>1000,52789=>1000,52790=>1000,52791=>1000,52792=>1000,52793=>1000,52794=>1000,52795=>1000,52796=>1000,52797=>1000,52798=>1000,52799=>1000,52800=>1000,52801=>1000,52802=>1000,52803=>1000,52804=>1000,52805=>1000,52806=>1000,52807=>1000,52808=>1000,52809=>1000,52810=>1000,52811=>1000,52812=>1000,52813=>1000,52814=>1000,52815=>1000,52816=>1000,52817=>1000,52818=>1000,52819=>1000,52820=>1000,52821=>1000,52822=>1000,52823=>1000,52824=>1000,52825=>1000,52826=>1000,52827=>1000,52828=>1000,52829=>1000,52830=>1000,52831=>1000,52832=>1000,52833=>1000,52834=>1000,52835=>1000,52836=>1000,52837=>1000,52838=>1000,52839=>1000,52840=>1000,52841=>1000,52842=>1000,52843=>1000,52844=>1000,52845=>1000,52846=>1000,52847=>1000,52848=>1000,52849=>1000,52850=>1000,52851=>1000,52852=>1000,52853=>1000,52854=>1000,52855=>1000,52856=>1000,52857=>1000,52858=>1000,52859=>1000,52860=>1000,52861=>1000,52862=>1000,52863=>1000,52864=>1000,52865=>1000,52866=>1000,52867=>1000,52868=>1000,52869=>1000,52870=>1000,52871=>1000,52872=>1000,52873=>1000,52874=>1000,52875=>1000,52876=>1000,52877=>1000,52878=>1000,52879=>1000,52880=>1000,52881=>1000,52882=>1000,52883=>1000,52884=>1000,52885=>1000,52886=>1000,52887=>1000,52888=>1000,52889=>1000,52890=>1000,52891=>1000,52892=>1000,52893=>1000,52894=>1000,52895=>1000,52896=>1000,52897=>1000,52898=>1000,52899=>1000,52900=>1000,52901=>1000,52902=>1000,52903=>1000,52904=>1000,52905=>1000,52906=>1000,52907=>1000,52908=>1000,52909=>1000,52910=>1000,52911=>1000,52912=>1000,52913=>1000,52914=>1000,52915=>1000,52916=>1000,52917=>1000,52918=>1000,52919=>1000,52920=>1000,52921=>1000,52922=>1000,52923=>1000,52924=>1000,52925=>1000,52926=>1000,52927=>1000,52928=>1000,52929=>1000,52930=>1000,52931=>1000,52932=>1000,52933=>1000,52934=>1000,52935=>1000,52936=>1000,52937=>1000,52938=>1000,52939=>1000,52940=>1000,52941=>1000,52942=>1000,52943=>1000,52944=>1000,52945=>1000,52946=>1000,52947=>1000,52948=>1000,52949=>1000,52950=>1000,52951=>1000,52952=>1000,52953=>1000,52954=>1000,52955=>1000,52956=>1000,52957=>1000,52958=>1000,52959=>1000,52960=>1000,52961=>1000,52962=>1000,52963=>1000,52964=>1000,52965=>1000,52966=>1000,52967=>1000,52968=>1000,52969=>1000,52970=>1000,52971=>1000,52972=>1000,52973=>1000,52974=>1000,52975=>1000,52976=>1000,52977=>1000,52978=>1000,52979=>1000,52980=>1000,52981=>1000,52982=>1000,52983=>1000,52984=>1000,52985=>1000,52986=>1000,52987=>1000,52988=>1000,52989=>1000,52990=>1000,52991=>1000,52992=>1000,52993=>1000,52994=>1000,52995=>1000,52996=>1000,52997=>1000,52998=>1000,52999=>1000,53000=>1000,53001=>1000,53002=>1000,53003=>1000,53004=>1000,53005=>1000,53006=>1000,53007=>1000,53008=>1000,53009=>1000,53010=>1000,53011=>1000,53012=>1000,53013=>1000,53014=>1000,53015=>1000,53016=>1000,53017=>1000,53018=>1000,53019=>1000,53020=>1000,53021=>1000,53022=>1000,53023=>1000,53024=>1000,53025=>1000,53026=>1000,53027=>1000,53028=>1000,53029=>1000,53030=>1000,53031=>1000,53032=>1000,53033=>1000,53034=>1000,53035=>1000,53036=>1000,53037=>1000,53038=>1000,53039=>1000,53040=>1000,53041=>1000,53042=>1000,53043=>1000,53044=>1000,53045=>1000,53046=>1000,53047=>1000,53048=>1000,53049=>1000,53050=>1000,53051=>1000,53052=>1000,53053=>1000,53054=>1000,53055=>1000,53056=>1000,53057=>1000,53058=>1000,53059=>1000,53060=>1000,53061=>1000,53062=>1000,53063=>1000,53064=>1000,53065=>1000,53066=>1000,53067=>1000,53068=>1000,53069=>1000,53070=>1000,53071=>1000,53072=>1000,53073=>1000,53074=>1000,53075=>1000,53076=>1000,53077=>1000,53078=>1000,53079=>1000,53080=>1000,53081=>1000,53082=>1000,53083=>1000,53084=>1000,53085=>1000,53086=>1000,53087=>1000,53088=>1000,53089=>1000,53090=>1000,53091=>1000,53092=>1000,53093=>1000,53094=>1000,53095=>1000,53096=>1000,53097=>1000,53098=>1000,53099=>1000,53100=>1000,53101=>1000,53102=>1000,53103=>1000,53104=>1000,53105=>1000,53106=>1000,53107=>1000,53108=>1000,53109=>1000,53110=>1000,53111=>1000,53112=>1000,53113=>1000,53114=>1000,53115=>1000,53116=>1000,53117=>1000,53118=>1000,53119=>1000,53120=>1000,53121=>1000,53122=>1000,53123=>1000,53124=>1000,53125=>1000,53126=>1000,53127=>1000,53128=>1000,53129=>1000,53130=>1000,53131=>1000,53132=>1000,53133=>1000,53134=>1000,53135=>1000,53136=>1000,53137=>1000,53138=>1000,53139=>1000,53140=>1000,53141=>1000,53142=>1000,53143=>1000,53144=>1000,53145=>1000,53146=>1000,53147=>1000,53148=>1000,53149=>1000,53150=>1000,53151=>1000,53152=>1000,53153=>1000,53154=>1000,53155=>1000,53156=>1000,53157=>1000,53158=>1000,53159=>1000,53160=>1000,53161=>1000,53162=>1000,53163=>1000,53164=>1000,53165=>1000,53166=>1000,53167=>1000,53168=>1000,53169=>1000,53170=>1000,53171=>1000,53172=>1000,53173=>1000,53174=>1000,53175=>1000,53176=>1000,53177=>1000,53178=>1000,53179=>1000,53180=>1000,53181=>1000,53182=>1000,53183=>1000,53184=>1000,53185=>1000,53186=>1000,53187=>1000,53188=>1000,53189=>1000,53190=>1000,53191=>1000,53192=>1000,53193=>1000,53194=>1000,53195=>1000,53196=>1000,53197=>1000,53198=>1000,53199=>1000,53200=>1000,53201=>1000,53202=>1000,53203=>1000,53204=>1000,53205=>1000,53206=>1000,53207=>1000,53208=>1000,53209=>1000,53210=>1000,53211=>1000,53212=>1000,53213=>1000,53214=>1000,53215=>1000,53216=>1000,53217=>1000,53218=>1000,53219=>1000,53220=>1000,53221=>1000,53222=>1000,53223=>1000,53224=>1000,53225=>1000,53226=>1000,53227=>1000,53228=>1000,53229=>1000,53230=>1000,53231=>1000,53232=>1000,53233=>1000,53234=>1000,53235=>1000,53236=>1000,53237=>1000,53238=>1000,53239=>1000,53240=>1000,53241=>1000,53242=>1000,53243=>1000,53244=>1000,53245=>1000,53246=>1000,53247=>1000,53248=>1000,53249=>1000,53250=>1000,53251=>1000,53252=>1000,53253=>1000,53254=>1000,53255=>1000,53256=>1000,53257=>1000,53258=>1000,53259=>1000,53260=>1000,53261=>1000,53262=>1000,53263=>1000,53264=>1000,53265=>1000,53266=>1000,53267=>1000,53268=>1000,53269=>1000,53270=>1000,53271=>1000,53272=>1000,53273=>1000,53274=>1000,53275=>1000,53276=>1000,53277=>1000,53278=>1000,53279=>1000,53280=>1000,53281=>1000,53282=>1000,53283=>1000,53284=>1000,53285=>1000,53286=>1000,53287=>1000,53288=>1000,53289=>1000,53290=>1000,53291=>1000,53292=>1000,53293=>1000,53294=>1000,53295=>1000,53296=>1000,53297=>1000,53298=>1000,53299=>1000,53300=>1000,53301=>1000,53302=>1000,53303=>1000,53304=>1000,53305=>1000,53306=>1000,53307=>1000,53308=>1000,53309=>1000,53310=>1000,53311=>1000,53312=>1000,53313=>1000,53314=>1000,53315=>1000,53316=>1000,53317=>1000,53318=>1000,53319=>1000,53320=>1000,53321=>1000,53322=>1000,53323=>1000,53324=>1000,53325=>1000,53326=>1000,53327=>1000,53328=>1000,53329=>1000,53330=>1000,53331=>1000,53332=>1000,53333=>1000,53334=>1000,53335=>1000,53336=>1000,53337=>1000,53338=>1000,53339=>1000,53340=>1000,53341=>1000,53342=>1000,53343=>1000,53344=>1000,53345=>1000,53346=>1000,53347=>1000,53348=>1000,53349=>1000,53350=>1000,53351=>1000,53352=>1000,53353=>1000,53354=>1000,53355=>1000,53356=>1000,53357=>1000,53358=>1000,53359=>1000,53360=>1000,53361=>1000,53362=>1000,53363=>1000,53364=>1000,53365=>1000,53366=>1000,53367=>1000,53368=>1000,53369=>1000,53370=>1000,53371=>1000,53372=>1000,53373=>1000,53374=>1000,53375=>1000,53376=>1000,53377=>1000,53378=>1000,53379=>1000,53380=>1000,53381=>1000,53382=>1000,53383=>1000,53384=>1000,53385=>1000,53386=>1000,53387=>1000,53388=>1000,53389=>1000,53390=>1000,53391=>1000,53392=>1000,53393=>1000,53394=>1000,53395=>1000,53396=>1000,53397=>1000,53398=>1000,53399=>1000,53400=>1000,53401=>1000,53402=>1000,53403=>1000,53404=>1000,53405=>1000,53406=>1000,53407=>1000,53408=>1000,53409=>1000,53410=>1000,53411=>1000,53412=>1000,53413=>1000,53414=>1000,53415=>1000,53416=>1000,53417=>1000,53418=>1000,53419=>1000,53420=>1000,53421=>1000,53422=>1000,53423=>1000,53424=>1000,53425=>1000,53426=>1000,53427=>1000,53428=>1000,53429=>1000,53430=>1000,53431=>1000,53432=>1000,53433=>1000,53434=>1000,53435=>1000,53436=>1000,53437=>1000,53438=>1000,53439=>1000,53440=>1000,53441=>1000,53442=>1000,53443=>1000,53444=>1000,53445=>1000,53446=>1000,53447=>1000,53448=>1000,53449=>1000,53450=>1000,53451=>1000,53452=>1000,53453=>1000,53454=>1000,53455=>1000,53456=>1000,53457=>1000,53458=>1000,53459=>1000,53460=>1000,53461=>1000,53462=>1000,53463=>1000,53464=>1000,53465=>1000,53466=>1000,53467=>1000,53468=>1000,53469=>1000,53470=>1000,53471=>1000,53472=>1000,53473=>1000,53474=>1000,53475=>1000,53476=>1000,53477=>1000,53478=>1000,53479=>1000,53480=>1000,53481=>1000,53482=>1000,53483=>1000,53484=>1000,53485=>1000,53486=>1000,53487=>1000,53488=>1000,53489=>1000,53490=>1000,53491=>1000,53492=>1000,53493=>1000,53494=>1000,53495=>1000,53496=>1000,53497=>1000,53498=>1000,53499=>1000,53500=>1000,53501=>1000,53502=>1000,53503=>1000,53504=>1000,53505=>1000,53506=>1000,53507=>1000,53508=>1000,53509=>1000,53510=>1000,53511=>1000,53512=>1000,53513=>1000,53514=>1000,53515=>1000,53516=>1000,53517=>1000,53518=>1000,53519=>1000,53520=>1000,53521=>1000,53522=>1000,53523=>1000,53524=>1000,53525=>1000,53526=>1000,53527=>1000,53528=>1000,53529=>1000,53530=>1000,53531=>1000,53532=>1000,53533=>1000,53534=>1000,53535=>1000,53536=>1000,53537=>1000,53538=>1000,53539=>1000,53540=>1000,53541=>1000,53542=>1000,53543=>1000,53544=>1000,53545=>1000,53546=>1000,53547=>1000,53548=>1000,53549=>1000,53550=>1000,53551=>1000,53552=>1000,53553=>1000,53554=>1000,53555=>1000,53556=>1000,53557=>1000,53558=>1000,53559=>1000,53560=>1000,53561=>1000,53562=>1000,53563=>1000,53564=>1000,53565=>1000,53566=>1000,53567=>1000,53568=>1000,53569=>1000,53570=>1000,53571=>1000,53572=>1000,53573=>1000,53574=>1000,53575=>1000,53576=>1000,53577=>1000,53578=>1000,53579=>1000,53580=>1000,53581=>1000,53582=>1000,53583=>1000,53584=>1000,53585=>1000,53586=>1000,53587=>1000,53588=>1000,53589=>1000,53590=>1000,53591=>1000,53592=>1000,53593=>1000,53594=>1000,53595=>1000,53596=>1000,53597=>1000,53598=>1000,53599=>1000,53600=>1000,53601=>1000,53602=>1000,53603=>1000,53604=>1000,53605=>1000,53606=>1000,53607=>1000,53608=>1000,53609=>1000,53610=>1000,53611=>1000,53612=>1000,53613=>1000,53614=>1000,53615=>1000,53616=>1000,53617=>1000,53618=>1000,53619=>1000,53620=>1000,53621=>1000,53622=>1000,53623=>1000,53624=>1000,53625=>1000,53626=>1000,53627=>1000,53628=>1000,53629=>1000,53630=>1000,53631=>1000,53632=>1000,53633=>1000,53634=>1000,53635=>1000,53636=>1000,53637=>1000,53638=>1000,53639=>1000,53640=>1000,53641=>1000,53642=>1000,53643=>1000,53644=>1000,53645=>1000,53646=>1000,53647=>1000,53648=>1000,53649=>1000,53650=>1000,53651=>1000,53652=>1000,53653=>1000,53654=>1000,53655=>1000,53656=>1000,53657=>1000,53658=>1000,53659=>1000,53660=>1000,53661=>1000,53662=>1000,53663=>1000,53664=>1000,53665=>1000,53666=>1000,53667=>1000,53668=>1000,53669=>1000,53670=>1000,53671=>1000,53672=>1000,53673=>1000,53674=>1000,53675=>1000,53676=>1000,53677=>1000,53678=>1000,53679=>1000,53680=>1000,53681=>1000,53682=>1000,53683=>1000,53684=>1000,53685=>1000,53686=>1000,53687=>1000,53688=>1000,53689=>1000,53690=>1000,53691=>1000,53692=>1000,53693=>1000,53694=>1000,53695=>1000,53696=>1000,53697=>1000,53698=>1000,53699=>1000,53700=>1000,53701=>1000,53702=>1000,53703=>1000,53704=>1000,53705=>1000,53706=>1000,53707=>1000,53708=>1000,53709=>1000,53710=>1000,53711=>1000,53712=>1000,53713=>1000,53714=>1000,53715=>1000,53716=>1000,53717=>1000,53718=>1000,53719=>1000,53720=>1000,53721=>1000,53722=>1000,53723=>1000,53724=>1000,53725=>1000,53726=>1000,53727=>1000,53728=>1000,53729=>1000,53730=>1000,53731=>1000,53732=>1000,53733=>1000,53734=>1000,53735=>1000,53736=>1000,53737=>1000,53738=>1000,53739=>1000,53740=>1000,53741=>1000,53742=>1000,53743=>1000,53744=>1000,53745=>1000,53746=>1000,53747=>1000,53748=>1000,53749=>1000,53750=>1000,53751=>1000,53752=>1000,53753=>1000,53754=>1000,53755=>1000,53756=>1000,53757=>1000,53758=>1000,53759=>1000,53760=>1000,53761=>1000,53762=>1000,53763=>1000,53764=>1000,53765=>1000,53766=>1000,53767=>1000,53768=>1000,53769=>1000,53770=>1000,53771=>1000,53772=>1000,53773=>1000,53774=>1000,53775=>1000,53776=>1000,53777=>1000,53778=>1000,53779=>1000,53780=>1000,53781=>1000,53782=>1000,53783=>1000,53784=>1000,53785=>1000,53786=>1000,53787=>1000,53788=>1000,53789=>1000,53790=>1000,53791=>1000,53792=>1000,53793=>1000,53794=>1000,53795=>1000,53796=>1000,53797=>1000,53798=>1000,53799=>1000,53800=>1000,53801=>1000,53802=>1000,53803=>1000,53804=>1000,53805=>1000,53806=>1000,53807=>1000,53808=>1000,53809=>1000,53810=>1000,53811=>1000,53812=>1000,53813=>1000,53814=>1000,53815=>1000,53816=>1000,53817=>1000,53818=>1000,53819=>1000,53820=>1000,53821=>1000,53822=>1000,53823=>1000,53824=>1000,53825=>1000,53826=>1000,53827=>1000,53828=>1000,53829=>1000,53830=>1000,53831=>1000,53832=>1000,53833=>1000,53834=>1000,53835=>1000,53836=>1000,53837=>1000,53838=>1000,53839=>1000,53840=>1000,53841=>1000,53842=>1000,53843=>1000,53844=>1000,53845=>1000,53846=>1000,53847=>1000,53848=>1000,53849=>1000,53850=>1000,53851=>1000,53852=>1000,53853=>1000,53854=>1000,53855=>1000,53856=>1000,53857=>1000,53858=>1000,53859=>1000,53860=>1000,53861=>1000,53862=>1000,53863=>1000,53864=>1000,53865=>1000,53866=>1000,53867=>1000,53868=>1000,53869=>1000,53870=>1000,53871=>1000,53872=>1000,53873=>1000,53874=>1000,53875=>1000,53876=>1000,53877=>1000,53878=>1000,53879=>1000,53880=>1000,53881=>1000,53882=>1000,53883=>1000,53884=>1000,53885=>1000,53886=>1000,53887=>1000,53888=>1000,53889=>1000,53890=>1000,53891=>1000,53892=>1000,53893=>1000,53894=>1000,53895=>1000,53896=>1000,53897=>1000,53898=>1000,53899=>1000,53900=>1000,53901=>1000,53902=>1000,53903=>1000,53904=>1000,53905=>1000,53906=>1000,53907=>1000,53908=>1000,53909=>1000,53910=>1000,53911=>1000,53912=>1000,53913=>1000,53914=>1000,53915=>1000,53916=>1000,53917=>1000,53918=>1000,53919=>1000,53920=>1000,53921=>1000,53922=>1000,53923=>1000,53924=>1000,53925=>1000,53926=>1000,53927=>1000,53928=>1000,53929=>1000,53930=>1000,53931=>1000,53932=>1000,53933=>1000,53934=>1000,53935=>1000,53936=>1000,53937=>1000,53938=>1000,53939=>1000,53940=>1000,53941=>1000,53942=>1000,53943=>1000,53944=>1000,53945=>1000,53946=>1000,53947=>1000,53948=>1000,53949=>1000,53950=>1000,53951=>1000,53952=>1000,53953=>1000,53954=>1000,53955=>1000,53956=>1000,53957=>1000,53958=>1000,53959=>1000,53960=>1000,53961=>1000,53962=>1000,53963=>1000,53964=>1000,53965=>1000,53966=>1000,53967=>1000,53968=>1000,53969=>1000,53970=>1000,53971=>1000,53972=>1000,53973=>1000,53974=>1000,53975=>1000,53976=>1000,53977=>1000,53978=>1000,53979=>1000,53980=>1000,53981=>1000,53982=>1000,53983=>1000,53984=>1000,53985=>1000,53986=>1000,53987=>1000,53988=>1000,53989=>1000,53990=>1000,53991=>1000,53992=>1000,53993=>1000,53994=>1000,53995=>1000,53996=>1000,53997=>1000,53998=>1000,53999=>1000,54000=>1000,54001=>1000,54002=>1000,54003=>1000,54004=>1000,54005=>1000,54006=>1000,54007=>1000,54008=>1000,54009=>1000,54010=>1000,54011=>1000,54012=>1000,54013=>1000,54014=>1000,54015=>1000,54016=>1000,54017=>1000,54018=>1000,54019=>1000,54020=>1000,54021=>1000,54022=>1000,54023=>1000,54024=>1000,54025=>1000,54026=>1000,54027=>1000,54028=>1000,54029=>1000,54030=>1000,54031=>1000,54032=>1000,54033=>1000,54034=>1000,54035=>1000,54036=>1000,54037=>1000,54038=>1000,54039=>1000,54040=>1000,54041=>1000,54042=>1000,54043=>1000,54044=>1000,54045=>1000,54046=>1000,54047=>1000,54048=>1000,54049=>1000,54050=>1000,54051=>1000,54052=>1000,54053=>1000,54054=>1000,54055=>1000,54056=>1000,54057=>1000,54058=>1000,54059=>1000,54060=>1000,54061=>1000,54062=>1000,54063=>1000,54064=>1000,54065=>1000,54066=>1000,54067=>1000,54068=>1000,54069=>1000,54070=>1000,54071=>1000,54072=>1000,54073=>1000,54074=>1000,54075=>1000,54076=>1000,54077=>1000,54078=>1000,54079=>1000,54080=>1000,54081=>1000,54082=>1000,54083=>1000,54084=>1000,54085=>1000,54086=>1000,54087=>1000,54088=>1000,54089=>1000,54090=>1000,54091=>1000,54092=>1000,54093=>1000,54094=>1000,54095=>1000,54096=>1000,54097=>1000,54098=>1000,54099=>1000,54100=>1000,54101=>1000,54102=>1000,54103=>1000,54104=>1000,54105=>1000,54106=>1000,54107=>1000,54108=>1000,54109=>1000,54110=>1000,54111=>1000,54112=>1000,54113=>1000,54114=>1000,54115=>1000,54116=>1000,54117=>1000,54118=>1000,54119=>1000,54120=>1000,54121=>1000,54122=>1000,54123=>1000,54124=>1000,54125=>1000,54126=>1000,54127=>1000,54128=>1000,54129=>1000,54130=>1000,54131=>1000,54132=>1000,54133=>1000,54134=>1000,54135=>1000,54136=>1000,54137=>1000,54138=>1000,54139=>1000,54140=>1000,54141=>1000,54142=>1000,54143=>1000,54144=>1000,54145=>1000,54146=>1000,54147=>1000,54148=>1000,54149=>1000,54150=>1000,54151=>1000,54152=>1000,54153=>1000,54154=>1000,54155=>1000,54156=>1000,54157=>1000,54158=>1000,54159=>1000,54160=>1000,54161=>1000,54162=>1000,54163=>1000,54164=>1000,54165=>1000,54166=>1000,54167=>1000,54168=>1000,54169=>1000,54170=>1000,54171=>1000,54172=>1000,54173=>1000,54174=>1000,54175=>1000,54176=>1000,54177=>1000,54178=>1000,54179=>1000,54180=>1000,54181=>1000,54182=>1000,54183=>1000,54184=>1000,54185=>1000,54186=>1000,54187=>1000,54188=>1000,54189=>1000,54190=>1000,54191=>1000,54192=>1000,54193=>1000,54194=>1000,54195=>1000,54196=>1000,54197=>1000,54198=>1000,54199=>1000,54200=>1000,54201=>1000,54202=>1000,54203=>1000,54204=>1000,54205=>1000,54206=>1000,54207=>1000,54208=>1000,54209=>1000,54210=>1000,54211=>1000,54212=>1000,54213=>1000,54214=>1000,54215=>1000,54216=>1000,54217=>1000,54218=>1000,54219=>1000,54220=>1000,54221=>1000,54222=>1000,54223=>1000,54224=>1000,54225=>1000,54226=>1000,54227=>1000,54228=>1000,54229=>1000,54230=>1000,54231=>1000,54232=>1000,54233=>1000,54234=>1000,54235=>1000,54236=>1000,54237=>1000,54238=>1000,54239=>1000,54240=>1000,54241=>1000,54242=>1000,54243=>1000,54244=>1000,54245=>1000,54246=>1000,54247=>1000,54248=>1000,54249=>1000,54250=>1000,54251=>1000,54252=>1000,54253=>1000,54254=>1000,54255=>1000,54256=>1000,54257=>1000,54258=>1000,54259=>1000,54260=>1000,54261=>1000,54262=>1000,54263=>1000,54264=>1000,54265=>1000,54266=>1000,54267=>1000,54268=>1000,54269=>1000,54270=>1000,54271=>1000,54272=>1000,54273=>1000,54274=>1000,54275=>1000,54276=>1000,54277=>1000,54278=>1000,54279=>1000,54280=>1000,54281=>1000,54282=>1000,54283=>1000,54284=>1000,54285=>1000,54286=>1000,54287=>1000,54288=>1000,54289=>1000,54290=>1000,54291=>1000,54292=>1000,54293=>1000,54294=>1000,54295=>1000,54296=>1000,54297=>1000,54298=>1000,54299=>1000,54300=>1000,54301=>1000,54302=>1000,54303=>1000,54304=>1000,54305=>1000,54306=>1000,54307=>1000,54308=>1000,54309=>1000,54310=>1000,54311=>1000,54312=>1000,54313=>1000,54314=>1000,54315=>1000,54316=>1000,54317=>1000,54318=>1000,54319=>1000,54320=>1000,54321=>1000,54322=>1000,54323=>1000,54324=>1000,54325=>1000,54326=>1000,54327=>1000,54328=>1000,54329=>1000,54330=>1000,54331=>1000,54332=>1000,54333=>1000,54334=>1000,54335=>1000,54336=>1000,54337=>1000,54338=>1000,54339=>1000,54340=>1000,54341=>1000,54342=>1000,54343=>1000,54344=>1000,54345=>1000,54346=>1000,54347=>1000,54348=>1000,54349=>1000,54350=>1000,54351=>1000,54352=>1000,54353=>1000,54354=>1000,54355=>1000,54356=>1000,54357=>1000,54358=>1000,54359=>1000,54360=>1000,54361=>1000,54362=>1000,54363=>1000,54364=>1000,54365=>1000,54366=>1000,54367=>1000,54368=>1000,54369=>1000,54370=>1000,54371=>1000,54372=>1000,54373=>1000,54374=>1000,54375=>1000,54376=>1000,54377=>1000,54378=>1000,54379=>1000,54380=>1000,54381=>1000,54382=>1000,54383=>1000,54384=>1000,54385=>1000,54386=>1000,54387=>1000,54388=>1000,54389=>1000,54390=>1000,54391=>1000,54392=>1000,54393=>1000,54394=>1000,54395=>1000,54396=>1000,54397=>1000,54398=>1000,54399=>1000,54400=>1000,54401=>1000,54402=>1000,54403=>1000,54404=>1000,54405=>1000,54406=>1000,54407=>1000,54408=>1000,54409=>1000,54410=>1000,54411=>1000,54412=>1000,54413=>1000,54414=>1000,54415=>1000,54416=>1000,54417=>1000,54418=>1000,54419=>1000,54420=>1000,54421=>1000,54422=>1000,54423=>1000,54424=>1000,54425=>1000,54426=>1000,54427=>1000,54428=>1000,54429=>1000,54430=>1000,54431=>1000,54432=>1000,54433=>1000,54434=>1000,54435=>1000,54436=>1000,54437=>1000,54438=>1000,54439=>1000,54440=>1000,54441=>1000,54442=>1000,54443=>1000,54444=>1000,54445=>1000,54446=>1000,54447=>1000,54448=>1000,54449=>1000,54450=>1000,54451=>1000,54452=>1000,54453=>1000,54454=>1000,54455=>1000,54456=>1000,54457=>1000,54458=>1000,54459=>1000,54460=>1000,54461=>1000,54462=>1000,54463=>1000,54464=>1000,54465=>1000,54466=>1000,54467=>1000,54468=>1000,54469=>1000,54470=>1000,54471=>1000,54472=>1000,54473=>1000,54474=>1000,54475=>1000,54476=>1000,54477=>1000,54478=>1000,54479=>1000,54480=>1000,54481=>1000,54482=>1000,54483=>1000,54484=>1000,54485=>1000,54486=>1000,54487=>1000,54488=>1000,54489=>1000,54490=>1000,54491=>1000,54492=>1000,54493=>1000,54494=>1000,54495=>1000,54496=>1000,54497=>1000,54498=>1000,54499=>1000,54500=>1000,54501=>1000,54502=>1000,54503=>1000,54504=>1000,54505=>1000,54506=>1000,54507=>1000,54508=>1000,54509=>1000,54510=>1000,54511=>1000,54512=>1000,54513=>1000,54514=>1000,54515=>1000,54516=>1000,54517=>1000,54518=>1000,54519=>1000,54520=>1000,54521=>1000,54522=>1000,54523=>1000,54524=>1000,54525=>1000,54526=>1000,54527=>1000,54528=>1000,54529=>1000,54530=>1000,54531=>1000,54532=>1000,54533=>1000,54534=>1000,54535=>1000,54536=>1000,54537=>1000,54538=>1000,54539=>1000,54540=>1000,54541=>1000,54542=>1000,54543=>1000,54544=>1000,54545=>1000,54546=>1000,54547=>1000,54548=>1000,54549=>1000,54550=>1000,54551=>1000,54552=>1000,54553=>1000,54554=>1000,54555=>1000,54556=>1000,54557=>1000,54558=>1000,54559=>1000,54560=>1000,54561=>1000,54562=>1000,54563=>1000,54564=>1000,54565=>1000,54566=>1000,54567=>1000,54568=>1000,54569=>1000,54570=>1000,54571=>1000,54572=>1000,54573=>1000,54574=>1000,54575=>1000,54576=>1000,54577=>1000,54578=>1000,54579=>1000,54580=>1000,54581=>1000,54582=>1000,54583=>1000,54584=>1000,54585=>1000,54586=>1000,54587=>1000,54588=>1000,54589=>1000,54590=>1000,54591=>1000,54592=>1000,54593=>1000,54594=>1000,54595=>1000,54596=>1000,54597=>1000,54598=>1000,54599=>1000,54600=>1000,54601=>1000,54602=>1000,54603=>1000,54604=>1000,54605=>1000,54606=>1000,54607=>1000,54608=>1000,54609=>1000,54610=>1000,54611=>1000,54612=>1000,54613=>1000,54614=>1000,54615=>1000,54616=>1000,54617=>1000,54618=>1000,54619=>1000,54620=>1000,54621=>1000,54622=>1000,54623=>1000,54624=>1000,54625=>1000,54626=>1000,54627=>1000,54628=>1000,54629=>1000,54630=>1000,54631=>1000,54632=>1000,54633=>1000,54634=>1000,54635=>1000,54636=>1000,54637=>1000,54638=>1000,54639=>1000,54640=>1000,54641=>1000,54642=>1000,54643=>1000,54644=>1000,54645=>1000,54646=>1000,54647=>1000,54648=>1000,54649=>1000,54650=>1000,54651=>1000,54652=>1000,54653=>1000,54654=>1000,54655=>1000,54656=>1000,54657=>1000,54658=>1000,54659=>1000,54660=>1000,54661=>1000,54662=>1000,54663=>1000,54664=>1000,54665=>1000,54666=>1000,54667=>1000,54668=>1000,54669=>1000,54670=>1000,54671=>1000,54672=>1000,54673=>1000,54674=>1000,54675=>1000,54676=>1000,54677=>1000,54678=>1000,54679=>1000,54680=>1000,54681=>1000,54682=>1000,54683=>1000,54684=>1000,54685=>1000,54686=>1000,54687=>1000,54688=>1000,54689=>1000,54690=>1000,54691=>1000,54692=>1000,54693=>1000,54694=>1000,54695=>1000,54696=>1000,54697=>1000,54698=>1000,54699=>1000,54700=>1000,54701=>1000,54702=>1000,54703=>1000,54704=>1000,54705=>1000,54706=>1000,54707=>1000,54708=>1000,54709=>1000,54710=>1000,54711=>1000,54712=>1000,54713=>1000,54714=>1000,54715=>1000,54716=>1000,54717=>1000,54718=>1000,54719=>1000,54720=>1000,54721=>1000,54722=>1000,54723=>1000,54724=>1000,54725=>1000,54726=>1000,54727=>1000,54728=>1000,54729=>1000,54730=>1000,54731=>1000,54732=>1000,54733=>1000,54734=>1000,54735=>1000,54736=>1000,54737=>1000,54738=>1000,54739=>1000,54740=>1000,54741=>1000,54742=>1000,54743=>1000,54744=>1000,54745=>1000,54746=>1000,54747=>1000,54748=>1000,54749=>1000,54750=>1000,54751=>1000,54752=>1000,54753=>1000,54754=>1000,54755=>1000,54756=>1000,54757=>1000,54758=>1000,54759=>1000,54760=>1000,54761=>1000,54762=>1000,54763=>1000,54764=>1000,54765=>1000,54766=>1000,54767=>1000,54768=>1000,54769=>1000,54770=>1000,54771=>1000,54772=>1000,54773=>1000,54774=>1000,54775=>1000,54776=>1000,54777=>1000,54778=>1000,54779=>1000,54780=>1000,54781=>1000,54782=>1000,54783=>1000,54784=>1000,54785=>1000,54786=>1000,54787=>1000,54788=>1000,54789=>1000,54790=>1000,54791=>1000,54792=>1000,54793=>1000,54794=>1000,54795=>1000,54796=>1000,54797=>1000,54798=>1000,54799=>1000,54800=>1000,54801=>1000,54802=>1000,54803=>1000,54804=>1000,54805=>1000,54806=>1000,54807=>1000,54808=>1000,54809=>1000,54810=>1000,54811=>1000,54812=>1000,54813=>1000,54814=>1000,54815=>1000,54816=>1000,54817=>1000,54818=>1000,54819=>1000,54820=>1000,54821=>1000,54822=>1000,54823=>1000,54824=>1000,54825=>1000,54826=>1000,54827=>1000,54828=>1000,54829=>1000,54830=>1000,54831=>1000,54832=>1000,54833=>1000,54834=>1000,54835=>1000,54836=>1000,54837=>1000,54838=>1000,54839=>1000,54840=>1000,54841=>1000,54842=>1000,54843=>1000,54844=>1000,54845=>1000,54846=>1000,54847=>1000,54848=>1000,54849=>1000,54850=>1000,54851=>1000,54852=>1000,54853=>1000,54854=>1000,54855=>1000,54856=>1000,54857=>1000,54858=>1000,54859=>1000,54860=>1000,54861=>1000,54862=>1000,54863=>1000,54864=>1000,54865=>1000,54866=>1000,54867=>1000,54868=>1000,54869=>1000,54870=>1000,54871=>1000,54872=>1000,54873=>1000,54874=>1000,54875=>1000,54876=>1000,54877=>1000,54878=>1000,54879=>1000,54880=>1000,54881=>1000,54882=>1000,54883=>1000,54884=>1000,54885=>1000,54886=>1000,54887=>1000,54888=>1000,54889=>1000,54890=>1000,54891=>1000,54892=>1000,54893=>1000,54894=>1000,54895=>1000,54896=>1000,54897=>1000,54898=>1000,54899=>1000,54900=>1000,54901=>1000,54902=>1000,54903=>1000,54904=>1000,54905=>1000,54906=>1000,54907=>1000,54908=>1000,54909=>1000,54910=>1000,54911=>1000,54912=>1000,54913=>1000,54914=>1000,54915=>1000,54916=>1000,54917=>1000,54918=>1000,54919=>1000,54920=>1000,54921=>1000,54922=>1000,54923=>1000,54924=>1000,54925=>1000,54926=>1000,54927=>1000,54928=>1000,54929=>1000,54930=>1000,54931=>1000,54932=>1000,54933=>1000,54934=>1000,54935=>1000,54936=>1000,54937=>1000,54938=>1000,54939=>1000,54940=>1000,54941=>1000,54942=>1000,54943=>1000,54944=>1000,54945=>1000,54946=>1000,54947=>1000,54948=>1000,54949=>1000,54950=>1000,54951=>1000,54952=>1000,54953=>1000,54954=>1000,54955=>1000,54956=>1000,54957=>1000,54958=>1000,54959=>1000,54960=>1000,54961=>1000,54962=>1000,54963=>1000,54964=>1000,54965=>1000,54966=>1000,54967=>1000,54968=>1000,54969=>1000,54970=>1000,54971=>1000,54972=>1000,54973=>1000,54974=>1000,54975=>1000,54976=>1000,54977=>1000,54978=>1000,54979=>1000,54980=>1000,54981=>1000,54982=>1000,54983=>1000,54984=>1000,54985=>1000,54986=>1000,54987=>1000,54988=>1000,54989=>1000,54990=>1000,54991=>1000,54992=>1000,54993=>1000,54994=>1000,54995=>1000,54996=>1000,54997=>1000,54998=>1000,54999=>1000,55000=>1000,55001=>1000,55002=>1000,55003=>1000,55004=>1000,55005=>1000,55006=>1000,55007=>1000,55008=>1000,55009=>1000,55010=>1000,55011=>1000,55012=>1000,55013=>1000,55014=>1000,55015=>1000,55016=>1000,55017=>1000,55018=>1000,55019=>1000,55020=>1000,55021=>1000,55022=>1000,55023=>1000,55024=>1000,55025=>1000,55026=>1000,55027=>1000,55028=>1000,55029=>1000,55030=>1000,55031=>1000,55032=>1000,55033=>1000,55034=>1000,55035=>1000,55036=>1000,55037=>1000,55038=>1000,55039=>1000,55040=>1000,55041=>1000,55042=>1000,55043=>1000,55044=>1000,55045=>1000,55046=>1000,55047=>1000,55048=>1000,55049=>1000,55050=>1000,55051=>1000,55052=>1000,55053=>1000,55054=>1000,55055=>1000,55056=>1000,55057=>1000,55058=>1000,55059=>1000,55060=>1000,55061=>1000,55062=>1000,55063=>1000,55064=>1000,55065=>1000,55066=>1000,55067=>1000,55068=>1000,55069=>1000,55070=>1000,55071=>1000,55072=>1000,55073=>1000,55074=>1000,55075=>1000,55076=>1000,55077=>1000,55078=>1000,55079=>1000,55080=>1000,55081=>1000,55082=>1000,55083=>1000,55084=>1000,55085=>1000,55086=>1000,55087=>1000,55088=>1000,55089=>1000,55090=>1000,55091=>1000,55092=>1000,55093=>1000,55094=>1000,55095=>1000,55096=>1000,55097=>1000,55098=>1000,55099=>1000,55100=>1000,55101=>1000,55102=>1000,55103=>1000,55104=>1000,55105=>1000,55106=>1000,55107=>1000,55108=>1000,55109=>1000,55110=>1000,55111=>1000,55112=>1000,55113=>1000,55114=>1000,55115=>1000,55116=>1000,55117=>1000,55118=>1000,55119=>1000,55120=>1000,55121=>1000,55122=>1000,55123=>1000,55124=>1000,55125=>1000,55126=>1000,55127=>1000,55128=>1000,55129=>1000,55130=>1000,55131=>1000,55132=>1000,55133=>1000,55134=>1000,55135=>1000,55136=>1000,55137=>1000,55138=>1000,55139=>1000,55140=>1000,55141=>1000,55142=>1000,55143=>1000,55144=>1000,55145=>1000,55146=>1000,55147=>1000,55148=>1000,55149=>1000,55150=>1000,55151=>1000,55152=>1000,55153=>1000,55154=>1000,55155=>1000,55156=>1000,55157=>1000,55158=>1000,55159=>1000,55160=>1000,55161=>1000,55162=>1000,55163=>1000,55164=>1000,55165=>1000,55166=>1000,55167=>1000,55168=>1000,55169=>1000,55170=>1000,55171=>1000,55172=>1000,55173=>1000,55174=>1000,55175=>1000,55176=>1000,55177=>1000,55178=>1000,55179=>1000,55180=>1000,55181=>1000,55182=>1000,55183=>1000,55184=>1000,55185=>1000,55186=>1000,55187=>1000,55188=>1000,55189=>1000,55190=>1000,55191=>1000,55192=>1000,55193=>1000,55194=>1000,55195=>1000,55196=>1000,55197=>1000,55198=>1000,55199=>1000,55200=>1000,55201=>1000,55202=>1000,55203=>1000,59393=>316,59394=>507,59395=>507,59396=>484,59397=>484,59416=>0,59492=>480,59495=>480,59536=>458,59557=>466,59558=>480,59559=>903,61441=>500,61442=>500,63232=>541,63233=>0,63234=>0,63235=>0,63236=>0,63237=>0,63238=>0,63239=>0,63240=>0,63241=>0,63242=>0,63243=>0,63244=>0,63245=>0,63246=>0,63247=>849,63248=>0,63249=>0,63250=>0,63251=>0,63252=>0,63253=>0,63254=>0,63255=>0,63256=>0,63257=>0,63258=>0,63260=>333,63261=>287,63744=>1000,63745=>1000,63746=>1000,63747=>1000,63748=>1000,63749=>1000,63750=>1000,63751=>1000,63752=>1000,63753=>1000,63754=>1000,63755=>1000,63756=>1000,63757=>1000,63758=>1000,63759=>1000,63760=>1000,63761=>1000,63762=>1000,63763=>1000,63764=>1000,63765=>1000,63766=>1000,63767=>1000,63768=>1000,63769=>1000,63770=>1000,63771=>1000,63772=>1000,63773=>1000,63774=>1000,63775=>1000,63776=>1000,63777=>1000,63778=>1000,63779=>1000,63780=>1000,63781=>1000,63782=>1000,63783=>1000,63784=>1000,63785=>1000,63786=>1000,63787=>1000,63788=>1000,63789=>1000,63790=>1000,63791=>1000,63792=>1000,63793=>1000,63794=>1000,63795=>1000,63796=>1000,63797=>1000,63798=>1000,63799=>1000,63800=>1000,63801=>1000,63802=>1000,63803=>1000,63804=>1000,63805=>1000,63806=>1000,63807=>1000,63808=>1000,63809=>1000,63810=>1000,63811=>1000,63812=>1000,63813=>1000,63814=>1000,63815=>1000,63816=>1000,63817=>1000,63818=>1000,63819=>1000,63820=>1000,63821=>1000,63822=>1000,63823=>1000,63824=>1000,63825=>1000,63826=>1000,63827=>1000,63828=>1000,63829=>1000,63830=>1000,63831=>1000,63832=>1000,63833=>1000,63834=>1000,63835=>1000,63836=>1000,63837=>1000,63838=>1000,63839=>1000,63840=>1000,63841=>1000,63842=>1000,63843=>1000,63844=>1000,63845=>1000,63846=>1000,63847=>1000,63848=>1000,63849=>1000,63850=>1000,63851=>1000,63852=>1000,63853=>1000,63854=>1000,63855=>1000,63856=>1000,63857=>1000,63858=>1000,63859=>1000,63860=>1000,63861=>1000,63862=>1000,63863=>1000,63864=>1000,63865=>1000,63866=>1000,63867=>1000,63868=>1000,63869=>1000,63870=>1000,63871=>1000,63872=>1000,63873=>1000,63874=>1000,63875=>1000,63876=>1000,63877=>1000,63878=>1000,63879=>1000,63880=>1000,63881=>1000,63882=>1000,63883=>1000,63884=>1000,63885=>1000,63886=>1000,63887=>1000,63888=>1000,63889=>1000,63890=>1000,63891=>1000,63892=>1000,63893=>1000,63894=>1000,63895=>1000,63896=>1000,63897=>1000,63898=>1000,63899=>1000,63900=>1000,63901=>1000,63902=>1000,63903=>1000,63904=>1000,63905=>1000,63906=>1000,63907=>1000,63908=>1000,63909=>1000,63910=>1000,63911=>1000,63912=>1000,63913=>1000,63914=>1000,63915=>1000,63916=>1000,63917=>1000,63918=>1000,63919=>1000,63920=>1000,63921=>1000,63922=>1000,63923=>1000,63924=>1000,63925=>1000,63926=>1000,63927=>1000,63928=>1000,63929=>1000,63930=>1000,63931=>1000,63932=>1000,63933=>1000,63934=>1000,63935=>1000,63936=>1000,63937=>1000,63938=>1000,63939=>1000,63940=>1000,63941=>1000,63942=>1000,63943=>1000,63944=>1000,63945=>1000,63946=>1000,63947=>1000,63948=>1000,63949=>1000,63950=>1000,63951=>1000,63952=>1000,63953=>1000,63954=>1000,63955=>1000,63956=>1000,63957=>1000,63958=>1000,63959=>1000,63960=>1000,63961=>1000,63962=>1000,63963=>1000,63964=>1000,63965=>1000,63966=>1000,63967=>1000,63968=>1000,63969=>1000,63970=>1000,63971=>1000,63972=>1000,63973=>1000,63974=>1000,63975=>1000,63976=>1000,63977=>1000,63978=>1000,63979=>1000,63980=>1000,63981=>1000,63982=>1000,63983=>1000,63984=>1000,63985=>1000,63986=>1000,63987=>1000,63988=>1000,63989=>1000,63990=>1000,63991=>1000,63992=>1000,63993=>1000,63994=>1000,63995=>1000,63996=>1000,63997=>1000,63998=>1000,63999=>1000,64000=>1000,64001=>1000,64002=>1000,64003=>1000,64004=>1000,64005=>1000,64006=>1000,64007=>1000,64008=>1000,64009=>1000,64010=>1000,64011=>1000,64012=>1000,64013=>1000,64014=>1000,64015=>1000,64016=>1000,64017=>1000,64018=>1000,64019=>1000,64020=>1000,64021=>1000,64022=>1000,64023=>1000,64024=>1000,64025=>1000,64026=>1000,64027=>1000,64028=>1000,64029=>1000,64030=>1000,64031=>1000,64032=>1000,64033=>1000,64034=>1000,64035=>1000,64036=>1000,64037=>1000,64038=>1000,64039=>1000,64040=>1000,64041=>1000,64042=>1000,64043=>1000,64044=>1000,64045=>1000,64256=>537,64257=>500,64258=>500,64259=>778,64260=>750,64261=>532,64262=>758,64275=>784,64276=>784,64277=>784,64278=>784,64279=>893,64286=>333,64287=>590,64288=>550,64289=>709,64290=>649,64291=>730,64292=>656,64293=>605,64294=>730,64295=>633,64296=>794,64297=>584,64298=>700,64299=>700,64300=>700,64301=>700,64302=>577,64303=>577,64304=>577,64305=>563,64306=>411,64307=>512,64308=>594,64309=>316,64310=>326,64312=>594,64313=>316,64314=>507,64315=>527,64316=>484,64318=>594,64320=>338,64321=>604,64323=>567,64324=>569,64326=>514,64327=>583,64328=>507,64329=>700,64330=>633,64331=>316,64332=>563,64333=>527,64334=>569,64335=>577,64336=>243,64337=>273,64338=>771,64339=>788,64340=>276,64341=>243,64342=>771,64343=>788,64344=>276,64345=>243,64346=>771,64347=>788,64348=>276,64349=>243,64350=>771,64351=>788,64352=>276,64353=>243,64354=>771,64355=>788,64356=>276,64357=>243,64358=>771,64359=>788,64360=>276,64361=>243,64362=>957,64363=>903,64364=>466,64365=>480,64366=>957,64367=>903,64368=>466,64369=>480,64370=>544,64371=>658,64372=>646,64373=>637,64374=>544,64375=>658,64376=>646,64377=>637,64378=>544,64379=>658,64380=>646,64381=>637,64382=>544,64383=>658,64384=>646,64385=>637,64386=>430,64387=>458,64388=>430,64389=>458,64390=>430,64391=>458,64392=>430,64393=>458,64394=>421,64395=>436,64396=>421,64397=>436,64398=>828,64399=>942,64400=>432,64401=>549,64402=>828,64403=>942,64404=>432,64405=>549,64406=>828,64407=>942,64408=>432,64409=>549,64410=>828,64411=>942,64412=>432,64413=>549,64414=>692,64415=>723,64416=>692,64417=>723,64418=>276,64419=>243,64420=>514,64421=>477,64422=>514,64423=>509,64424=>273,64425=>427,64426=>706,64427=>706,64428=>686,64429=>686,64430=>550,64431=>461,64432=>550,64433=>461,64467=>757,64468=>733,64469=>432,64470=>549,64471=>470,64472=>466,64473=>470,64474=>466,64475=>470,64476=>466,64477=>470,64478=>470,64479=>466,64480=>470,64481=>466,64482=>470,64483=>466,64484=>781,64485=>933,64486=>276,64487=>243,64488=>276,64489=>243,64490=>547,64491=>517,64492=>783,64493=>753,64494=>740,64495=>710,64496=>740,64497=>710,64498=>740,64499=>710,64500=>740,64501=>710,64502=>1207,64503=>1177,64504=>517,64505=>1067,64506=>1037,64507=>517,64508=>731,64509=>793,64510=>276,64511=>243,64512=>932,64513=>932,64514=>914,64515=>1067,64516=>1077,64517=>935,64518=>935,64519=>935,64520=>917,64521=>1070,64522=>1080,64523=>932,64524=>932,64525=>932,64526=>914,64527=>1067,64528=>1077,64529=>932,64530=>914,64531=>1067,64532=>1077,64533=>1305,64534=>1287,64535=>1305,64536=>1287,64537=>1305,64538=>1305,64539=>1287,64540=>1429,64541=>1429,64542=>1429,64543=>1411,64544=>1476,64545=>1458,64546=>1476,64547=>1476,64548=>1476,64549=>1458,64550=>1392,64551=>1374,64552=>1374,64553=>1245,64554=>1227,64555=>1245,64556=>1227,64557=>1125,64558=>1125,64559=>1125,64560=>1107,64561=>1260,64562=>1270,64563=>1125,64564=>1107,64565=>1260,64566=>1270,64567=>706,64568=>1091,64569=>1091,64570=>1091,64571=>1106,64572=>1073,64573=>1226,64574=>1236,64575=>932,64576=>932,64577=>932,64578=>914,64579=>1067,64580=>1077,64581=>1140,64582=>1140,64583=>1140,64584=>1122,64585=>1275,64586=>1285,64587=>932,64588=>932,64589=>932,64590=>914,64591=>1067,64592=>1077,64593=>1345,64594=>1327,64595=>1480,64596=>1490,64597=>932,64598=>932,64599=>932,64600=>914,64601=>1067,64602=>1077,64603=>430,64604=>421,64605=>731,64606=>296,64607=>300,64608=>300,64609=>300,64610=>300,64611=>300,64612=>680,64613=>680,64614=>884,64615=>967,64616=>1037,64617=>1047,64618=>680,64619=>680,64620=>884,64621=>967,64622=>1037,64623=>1047,64624=>680,64625=>680,64626=>884,64627=>967,64628=>1037,64629=>1047,64630=>680,64631=>680,64632=>884,64633=>967,64634=>1037,64635=>1047,64636=>1274,64637=>1284,64638=>1274,64639=>1284,64640=>821,64641=>1221,64642=>1188,64643=>1341,64644=>1351,64645=>884,64646=>1037,64647=>1047,64648=>806,64649=>1173,64650=>680,64651=>680,64652=>884,64653=>967,64654=>1037,64655=>1047,64656=>793,64657=>680,64658=>680,64659=>884,64660=>967,64661=>1037,64662=>1047,64663=>911,64664=>911,64665=>911,64666=>806,64667=>679,64668=>911,64669=>911,64670=>911,64671=>806,64672=>679,64673=>911,64674=>911,64675=>911,64676=>806,64677=>679,64678=>806,64679=>1284,64680=>1179,64681=>1284,64682=>1179,64683=>1284,64684=>1179,64685=>1408,64686=>1408,64687=>1408,64688=>1303,64689=>1455,64690=>1455,64691=>1350,64692=>1455,64693=>1455,64694=>1455,64695=>1350,64696=>1371,64697=>1266,64698=>1224,64699=>1119,64700=>1224,64701=>1119,64702=>1104,64703=>1104,64704=>1104,64705=>999,64706=>1104,64707=>999,64708=>1070,64709=>1070,64710=>1070,64711=>676,64712=>965,64713=>911,64714=>911,64715=>911,64716=>806,64717=>679,64718=>1119,64719=>1119,64720=>1119,64721=>1014,64722=>911,64723=>911,64724=>911,64725=>806,64726=>679,64727=>1324,64728=>1219,64729=>686,64730=>911,64731=>911,64732=>911,64733=>806,64734=>679,64735=>776,64736=>649,64737=>776,64738=>649,64739=>776,64740=>649,64741=>776,64742=>649,64743=>1303,64744=>1176,64745=>1303,64746=>1176,64747=>793,64748=>1082,64749=>776,64750=>776,64751=>649,64752=>776,64753=>649,64754=>306,64755=>302,64756=>298,64757=>1527,64758=>1537,64759=>1380,64760=>1390,64761=>1380,64762=>1390,64763=>1564,64764=>1574,64765=>1564,64766=>1574,64767=>1440,64768=>1450,64769=>1440,64770=>1450,64771=>1440,64772=>1450,64773=>1611,64774=>1621,64775=>1611,64776=>1621,64777=>1429,64778=>1429,64779=>1429,64780=>1411,64781=>1207,64782=>1207,64783=>1254,64784=>1254,64785=>1527,64786=>1537,64787=>1348,64788=>1358,64789=>1348,64790=>1358,64791=>1564,64792=>1574,64793=>1564,64794=>1574,64795=>1431,64796=>1441,64797=>1431,64798=>1441,64799=>1431,64800=>1441,64801=>1611,64802=>1621,64803=>1611,64804=>1621,64805=>1429,64806=>1429,64807=>1429,64808=>1411,64809=>1207,64810=>1207,64811=>1254,64812=>1254,64813=>1408,64814=>1408,64815=>1408,64816=>1303,64817=>1176,64818=>1176,64819=>1266,64820=>1408,64821=>1408,64822=>1408,64823=>1408,64824=>1408,64825=>1408,64826=>1266,64827=>1266,64828=>273,64829=>243,64830=>600,64831=>600,64848=>1444,64849=>1541,64850=>1549,64851=>1444,64852=>1444,64853=>1444,64854=>1444,64855=>1444,64856=>1830,64857=>1817,64858=>1975,64859=>1964,64860=>2046,64861=>2046,64862=>2202,64863=>1962,64864=>1941,64865=>1941,64866=>1944,64867=>1836,64868=>2114,64869=>2093,64870=>1991,64871=>2049,64872=>1941,64873=>2212,64874=>1962,64875=>1941,64876=>1944,64877=>1836,64878=>2249,64879=>2096,64880=>1988,64881=>1925,64882=>1904,64883=>1799,64884=>2070,64885=>1833,64886=>1729,64887=>1652,64888=>1881,64889=>1729,64890=>1892,64891=>1881,64892=>1759,64893=>1637,64894=>1670,64895=>1654,64896=>1522,64897=>1686,64898=>1675,64899=>1549,64900=>1541,64901=>1522,64902=>1444,64903=>1436,64904=>1444,64905=>1757,64906=>1652,64907=>1975,64908=>1757,64909=>1652,64910=>1757,64911=>1652,64914=>1757,64915=>1857,64916=>1752,64917=>1444,64918=>1675,64919=>1522,64920=>1444,64921=>1675,64922=>1581,64923=>1570,64924=>1417,64925=>1362,64926=>1686,64927=>1686,64928=>1675,64929=>1686,64930=>1675,64931=>1581,64932=>1570,64933=>1975,64934=>2069,64935=>1964,64936=>2202,64937=>2259,64938=>2212,64939=>2259,64940=>1686,64941=>1581,64942=>1686,64943=>1686,64944=>1581,64945=>1870,64946=>1817,64947=>1686,64948=>1637,64949=>1444,64950=>1892,64951=>1886,64952=>1549,64953=>1975,64954=>1444,64955=>1723,64956=>1522,64957=>1541,64958=>2080,64959=>2080,64960=>1975,64961=>1817,64962=>1686,64963=>1499,64964=>1757,64965=>1883,64966=>2212,64967=>1686,65008=>1523,65009=>1172,65010=>1159,65011=>1356,65012=>2111,65013=>2258,65014=>2130,65015=>1552,65016=>2046,65017=>1856,65018=>1930,65019=>1070,65056=>450,65057=>450,65058=>450,65059=>450,65072=>1000,65073=>1000,65074=>1000,65075=>1000,65076=>1000,65077=>1000,65078=>1000,65079=>1000,65080=>1000,65081=>1000,65082=>1000,65083=>1000,65084=>1000,65085=>1000,65086=>1000,65087=>1000,65088=>1000,65089=>1000,65090=>1000,65091=>1000,65092=>1000,65097=>1000,65098=>1000,65099=>1000,65100=>1000,65101=>1000,65102=>1000,65103=>1000,65104=>167,65105=>250,65106=>167,65108=>167,65109=>167,65110=>334,65111=>167,65112=>600,65113=>200,65114=>200,65115=>200,65116=>200,65117=>200,65118=>200,65119=>334,65120=>400,65121=>233,65122=>350,65123=>200,65124=>350,65125=>350,65126=>350,65128=>167,65129=>334,65130=>533,65131=>609,65136=>300,65137=>298,65138=>296,65140=>298,65142=>300,65143=>298,65144=>300,65145=>302,65146=>298,65147=>296,65148=>306,65149=>306,65150=>154,65151=>154,65152=>529,65153=>243,65154=>273,65155=>243,65156=>273,65157=>470,65158=>466,65159=>243,65160=>273,65161=>731,65162=>793,65163=>276,65164=>243,65165=>243,65166=>273,65167=>771,65168=>788,65169=>276,65170=>243,65171=>514,65172=>477,65173=>771,65174=>788,65175=>276,65176=>243,65177=>771,65178=>788,65179=>276,65180=>243,65181=>544,65182=>658,65183=>646,65184=>637,65185=>544,65186=>658,65187=>646,65188=>637,65189=>544,65190=>658,65191=>646,65192=>637,65193=>430,65194=>458,65195=>430,65196=>458,65197=>421,65198=>436,65199=>421,65200=>436,65201=>1194,65202=>1194,65203=>770,65204=>770,65205=>1194,65206=>1194,65207=>770,65208=>770,65209=>1291,65210=>1291,65211=>817,65212=>817,65213=>1291,65214=>1291,65215=>817,65216=>817,65217=>843,65218=>843,65219=>733,65220=>733,65221=>843,65222=>843,65223=>733,65224=>733,65225=>594,65226=>556,65227=>586,65228=>554,65229=>594,65230=>556,65231=>586,65232=>554,65233=>957,65234=>903,65235=>466,65236=>480,65237=>800,65238=>823,65239=>466,65240=>480,65241=>757,65242=>733,65243=>432,65244=>549,65245=>662,65246=>673,65247=>273,65248=>243,65249=>589,65250=>640,65251=>481,65252=>532,65253=>692,65254=>723,65255=>276,65256=>243,65257=>514,65258=>477,65259=>686,65260=>405,65261=>470,65262=>466,65263=>731,65264=>793,65265=>731,65266=>803,65267=>276,65268=>243,65269=>551,65270=>603,65271=>551,65272=>603,65273=>551,65274=>603,65275=>551,65276=>603,65281=>1000,65282=>1000,65283=>1000,65284=>1000,65285=>1000,65286=>1000,65287=>1000,65288=>1000,65289=>1000,65290=>1000,65291=>1000,65292=>1000,65293=>1000,65294=>1000,65295=>1000,65296=>1000,65297=>1000,65298=>1000,65299=>1000,65300=>1000,65301=>1000,65302=>1000,65303=>1000,65304=>1000,65305=>1000,65306=>1000,65307=>1000,65308=>1000,65309=>1000,65310=>1000,65311=>1000,65312=>1000,65313=>1000,65314=>1000,65315=>1000,65316=>1000,65317=>1000,65318=>1000,65319=>1000,65320=>1000,65321=>1000,65322=>1000,65323=>1000,65324=>1000,65325=>1000,65326=>1000,65327=>1000,65328=>1000,65329=>1000,65330=>1000,65331=>1000,65332=>1000,65333=>1000,65334=>1000,65335=>1000,65336=>1000,65337=>1000,65338=>1000,65339=>1000,65340=>1000,65341=>1000,65342=>1000,65343=>1000,65344=>1000,65345=>1000,65346=>1000,65347=>1000,65348=>1000,65349=>1000,65350=>1000,65351=>1000,65352=>1000,65353=>1000,65354=>1000,65355=>1000,65356=>1000,65357=>1000,65358=>1000,65359=>1000,65360=>1000,65361=>1000,65362=>1000,65363=>1000,65364=>1000,65365=>1000,65366=>1000,65367=>1000,65368=>1000,65369=>1000,65370=>1000,65371=>1000,65372=>1000,65373=>1000,65374=>1000,65377=>500,65378=>500,65379=>500,65380=>500,65381=>500,65382=>500,65383=>500,65384=>500,65385=>500,65386=>500,65387=>500,65388=>500,65389=>500,65390=>500,65391=>500,65392=>500,65393=>500,65394=>500,65395=>500,65396=>500,65397=>500,65398=>500,65399=>500,65400=>500,65401=>500,65402=>500,65403=>500,65404=>500,65405=>500,65406=>500,65407=>500,65408=>500,65409=>500,65410=>500,65411=>500,65412=>500,65413=>500,65414=>500,65415=>500,65416=>500,65417=>500,65418=>500,65419=>500,65420=>500,65421=>500,65422=>500,65423=>500,65424=>500,65425=>500,65426=>500,65427=>500,65428=>500,65429=>500,65430=>500,65431=>500,65432=>500,65433=>500,65434=>500,65435=>500,65436=>500,65437=>500,65438=>500,65439=>500,65440=>500,65441=>500,65442=>500,65443=>500,65444=>500,65445=>500,65446=>500,65447=>500,65448=>500,65449=>500,65450=>500,65451=>500,65452=>500,65453=>500,65454=>500,65455=>500,65456=>500,65457=>500,65458=>500,65459=>500,65460=>500,65461=>500,65462=>500,65463=>500,65464=>500,65465=>500,65466=>500,65467=>500,65468=>500,65469=>500,65470=>500,65474=>500,65475=>500,65476=>500,65477=>500,65478=>500,65479=>500,65482=>500,65483=>500,65484=>500,65485=>500,65486=>500,65487=>500,65490=>500,65491=>500,65492=>500,65493=>500,65494=>500,65495=>500,65498=>500,65499=>500,65500=>500,65504=>1000,65505=>1000,65506=>1000,65507=>1000,65508=>1000,65509=>1000,65510=>1000,65512=>500,65513=>500,65514=>500,65515=>500,65516=>500,65517=>500,65518=>500,65532=>1000,65533=>1000,65535=>1000); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/cid0ct.php b/vendor/tecnickcom/tcpdf/fonts/cid0ct.php new file mode 100644 index 0000000..387113b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/cid0ct.php @@ -0,0 +1,17 @@ +'Adobe', 'Ordering'=>'CNS1','Supplement'=>0); +include(dirname(__FILE__).'/uni2cid_aj16.php'); +$desc=array('Flags'=>32,'FontBBox'=>'[-1011 -330 2260 1078]','ItalicAngle'=>0,'Ascent'=>1069,'Descent'=>-271,'Leading'=>0,'CapHeight'=>716,'XHeight'=>518,'StemV'=>34,'StemH'=>15,'AvgWidth'=>441,'MaxWidth'=>2259,'MissingWidth'=>1000); +$cbbox=array(0=>array(125,0,875,750),33=>array(85,0,194,716),34=>array(41,462,313,716),35=>array(11,-12,545,728),36=>array(38,-103,511,782),37=>array(73,-27,819,728),38=>array(43,-17,644,728),39=>array(45,462,145,716),40=>array(60,-210,297,728),41=>array(36,-210,273,728),42=>array(33,423,356,728),43=>array(55,116,529,590),44=>array(84,-141,190,100),45=>array(32,215,301,303),46=>array(89,0,189,100),47=>array(0,-24,278,716),48=>array(45,-12,511,719),49=>array(111,0,375,719),50=>array(31,0,505,719),51=>array(44,-12,513,719),52=>array(15,0,510,716),53=>array(42,-12,516,706),54=>array(42,-12,514,719),55=>array(48,0,511,706),56=>array(42,-12,513,719),57=>array(43,-12,513,719),58=>array(90,0,190,518),59=>array(84,-141,190,518),60=>array(55,111,529,595),61=>array(55,203,529,503),62=>array(55,111,529,595),63=>array(46,0,508,728),64=>array(56,-210,981,729),65=>array(-1,0,668,716),66=>array(74,0,615,716),67=>array(51,-12,683,728),68=>array(80,0,672,716),69=>array(79,0,614,716),70=>array(80,0,563,716),71=>array(52,-12,714,728),72=>array(80,0,642,716),73=>array(92,0,187,716),74=>array(27,-12,420,716),75=>array(73,0,665,716),76=>array(75,0,523,716),77=>array(76,0,757,716),78=>array(79,0,642,716),79=>array(47,-12,732,728),80=>array(77,0,623,716),81=>array(47,-56,745,728),82=>array(80,0,711,716),83=>array(45,-12,615,728),84=>array(22,0,589,716),85=>array(79,-12,642,716),86=>array(6,0,660,716),87=>array(12,0,933,716),88=>array(5,0,661,716),89=>array(5,0,661,716),90=>array(18,0,584,716),91=>array(68,-199,262,716),92=>array(0,-24,278,716),93=>array(16,-199,210,716),94=>array(26,325,443,716),95=>array(-6,-125,506,-75),96=>array(42,591,222,728),97=>array(38,-12,516,530),98=>array(67,-12,517,716),99=>array(39,-12,491,530),100=>array(36,-12,486,716),101=>array(39,-12,517,530),102=>array(8,0,311,728),103=>array(34,-210,491,530),104=>array(67,0,490,716),105=>array(67,0,155,716),106=>array(-45,-209,155,716),107=>array(66,0,496,716),108=>array(67,0,155,716),109=>array(65,0,769,530),110=>array(68,0,490,530),111=>array(35,-12,521,530),112=>array(68,-199,518,530),113=>array(38,-199,488,530),114=>array(64,0,346,530),115=>array(31,-12,461,530),116=>array(17,-7,269,700),117=>array(66,-12,487,518),118=>array(13,0,488,518),119=>array(5,0,717,518),120=>array(7,0,493,518),121=>array(16,-210,492,518),122=>array(20,0,479,518),123=>array(28,-210,310,728),124=>array(92,-199,168,716),125=>array(24,-210,306,728),126=>array(43,272,542,432),161=>array(110,-199,219,517),162=>array(55,-200,507,716),163=>array(15,-14,531,728),164=>array(38,115,518,594),165=>array(1,0,555,716),166=>array(92,-199,168,716),167=>array(42,-210,513,728),168=>array(31,611,302,711),169=>array(0,-9,737,728),170=>array(21,364,348,728),171=>array(69,35,487,481),172=>array(55,203,529,503),173=>array(32,215,301,303),174=>array(0,-9,737,728),175=>array(-6,793,506,843),176=>array(65,454,335,725),177=>array(55,0,529,611),178=>array(12,358,316,725),179=>array(16,349,315,725),180=>array(111,591,291,728),181=>array(67,-199,488,518),182=>array(-1,-199,539,716),183=>array(89,302,189,402),184=>array(52,-205,263,11),185=>array(52,358,232,725),186=>array(22,361,343,728),187=>array(69,35,487,481),188=>array(62,-25,789,732),189=>array(62,-25,806,732),190=>array(26,-25,789,732),191=>array(75,-209,537,519),192=>array(-1,0,668,900),193=>array(-1,0,668,900),194=>array(-1,0,668,900),195=>array(-1,0,668,886),196=>array(-1,0,668,881),197=>array(-1,0,668,920),198=>array(0,0,945,716),199=>array(51,-209,684,728),200=>array(79,0,614,900),201=>array(79,0,614,900),202=>array(79,0,614,900),203=>array(79,0,614,881),204=>array(15,0,195,900),205=>array(83,0,264,900),206=>array(-15,0,293,900),207=>array(3,0,274,881),208=>array(1,0,672,716),209=>array(79,0,642,884),210=>array(47,-12,732,900),211=>array(47,-12,732,900),212=>array(47,-12,732,900),213=>array(47,-12,732,884),214=>array(47,-12,732,881),215=>array(79,141,505,567),216=>array(41,-29,742,742),217=>array(79,-12,642,900),218=>array(79,-12,642,900),219=>array(79,-12,642,900),220=>array(79,-12,642,881),221=>array(5,0,661,900),222=>array(77,0,623,716),223=>array(72,-12,577,728),224=>array(38,-12,516,728),225=>array(38,-12,516,728),226=>array(38,-12,516,728),227=>array(38,-12,516,716),228=>array(38,-12,516,711),229=>array(38,-12,516,752),230=>array(34,-12,849,530),231=>array(39,-196,491,530),232=>array(39,-12,517,728),233=>array(39,-12,517,728),234=>array(39,-12,517,728),235=>array(39,-12,517,711),236=>array(13,0,193,728),237=>array(83,0,264,728),238=>array(-15,0,293,728),239=>array(5,0,276,711),240=>array(38,-12,517,716),241=>array(68,0,490,716),242=>array(35,-12,521,728),243=>array(35,-12,521,728),244=>array(35,-12,521,728),245=>array(35,-12,521,716),246=>array(35,-12,521,711),247=>array(55,146,529,560),248=>array(63,-39,549,550),249=>array(66,-12,487,728),250=>array(66,-12,487,728),251=>array(66,-12,487,728),252=>array(66,-12,487,711),253=>array(16,-210,492,728),254=>array(68,-199,518,716),255=>array(16,-210,492,711),256=>array(-1,0,668,833),257=>array(38,-12,516,697),258=>array(-1,0,668,888),259=>array(38,-12,516,722),260=>array(-1,-208,758,716),261=>array(38,-208,571,530),262=>array(51,-12,683,916),263=>array(39,-12,491,728),264=>array(51,-12,683,914),265=>array(39,-12,491,728),266=>array(51,-12,683,877),267=>array(39,-12,491,711),268=>array(51,-12,683,916),269=>array(39,-12,491,728),270=>array(80,0,672,916),271=>array(36,-12,625,716),272=>array(-1,0,672,716),273=>array(36,-12,551,716),274=>array(79,0,614,863),275=>array(39,-12,517,697),276=>array(79,0,614,902),277=>array(39,-12,517,722),278=>array(79,0,614,877),279=>array(39,-12,517,711),280=>array(79,-208,645,716),281=>array(39,-208,517,530),282=>array(79,0,614,916),283=>array(39,-12,517,728),284=>array(52,-12,714,914),285=>array(34,-210,491,728),286=>array(52,-12,714,904),287=>array(34,-210,491,722),288=>array(52,-12,714,877),289=>array(34,-210,491,711),290=>array(52,-210,714,728),291=>array(34,-210,491,775),292=>array(80,0,642,914),293=>array(67,0,490,914),294=>array(-1,0,722,716),295=>array(2,0,490,716),296=>array(-24,0,303,890),297=>array(-53,0,274,717),298=>array(-15,0,290,849),299=>array(-42,0,263,697),300=>array(-3,0,286,904),301=>array(-34,0,255,722),302=>array(91,-208,305,716),303=>array(45,-208,225,716),304=>array(92,0,187,877),305=>array(95,0,183,518),306=>array(92,-12,670,716),307=>array(67,-209,377,716),308=>array(27,-12,526,914),309=>array(-46,-209,263,728),310=>array(73,-210,665,716),311=>array(66,-210,496,716),312=>array(66,0,446,518),313=>array(75,0,523,916),314=>array(50,0,230,916),315=>array(75,-210,523,716),316=>array(58,-210,160,716),317=>array(-29,0,523,916),318=>array(-44,0,264,916),319=>array(75,0,523,716),320=>array(67,0,313,716),321=>array(0,0,521,716),322=>array(1,0,218,716),323=>array(79,0,642,916),324=>array(68,0,490,728),325=>array(79,-210,642,716),326=>array(68,-210,490,530),327=>array(79,0,642,916),328=>array(68,0,490,728),329=>array(-2,0,559,722),330=>array(81,-186,670,728),331=>array(68,-210,489,530),332=>array(47,-12,732,849),333=>array(35,-12,521,697),334=>array(47,-12,732,904),335=>array(35,-12,521,722),336=>array(47,-12,732,914),337=>array(35,-12,521,728),338=>array(63,-12,968,728),339=>array(38,-12,904,530),340=>array(80,0,711,914),341=>array(64,0,346,728),342=>array(80,-210,711,716),343=>array(54,-210,346,530),344=>array(80,0,711,916),345=>array(28,0,346,728),346=>array(45,-12,615,916),347=>array(31,-12,461,728),348=>array(45,-12,615,916),349=>array(31,-12,461,728),350=>array(45,-210,615,728),351=>array(31,-210,461,530),352=>array(45,-12,615,916),353=>array(31,-12,461,728),354=>array(22,-210,589,716),355=>array(17,-210,269,700),356=>array(22,0,589,916),357=>array(17,-7,406,716),358=>array(22,0,589,716),359=>array(17,-7,269,700),360=>array(79,-12,642,890),361=>array(66,-12,487,716),362=>array(79,-12,642,851),363=>array(66,-12,487,697),364=>array(79,-12,642,906),365=>array(66,-12,487,722),366=>array(79,-12,642,955),367=>array(66,-12,487,752),368=>array(79,-12,642,917),369=>array(66,-12,487,728),370=>array(79,-208,642,716),371=>array(66,-208,555,518),372=>array(12,0,933,916),373=>array(5,0,717,728),374=>array(5,0,661,916),375=>array(16,-210,492,728),376=>array(5,0,661,879),377=>array(18,0,584,916),378=>array(20,0,479,728),379=>array(18,0,584,877),380=>array(20,0,479,711),381=>array(18,0,584,916),382=>array(20,0,479,728),383=>array(67,0,292,728),384=>array(-14,-12,515,716),385=>array(0,0,688,716),386=>array(80,0,620,716),387=>array(65,-12,515,716),388=>array(67,-12,517,716),389=>array(67,-12,517,716),390=>array(39,-12,671,728),391=>array(51,-12,769,750),392=>array(39,-12,579,567),393=>array(1,0,672,716),394=>array(0,0,739,716),395=>array(35,0,575,716),396=>array(41,-12,491,716),397=>array(35,-198,522,530),398=>array(53,0,588,716),399=>array(45,-12,676,728),400=>array(42,-13,565,728),401=>array(-20,-154,563,716),402=>array(-14,-154,311,728),403=>array(52,-12,792,750),404=>array(0,-206,649,716),405=>array(67,-12,775,716),406=>array(67,-12,245,716),407=>array(0,0,322,716),408=>array(73,0,690,720),409=>array(66,0,496,728),410=>array(0,-12,322,716),411=>array(13,0,488,716),412=>array(65,-12,769,716),413=>array(-21,-154,642,716),414=>array(68,-199,490,530),415=>array(47,-12,732,728),416=>array(47,-12,776,768),417=>array(35,-12,555,606),418=>array(47,-12,950,728),419=>array(35,-209,715,530),420=>array(0,0,691,716),421=>array(68,-199,519,637),422=>array(80,-122,738,716),423=>array(52,-12,622,728),424=>array(39,-12,469,530),425=>array(47,0,554,716),426=>array(34,-154,405,734),427=>array(17,-151,269,700),428=>array(23,0,549,716),429=>array(17,-7,269,716),430=>array(22,-208,589,716),431=>array(79,-12,776,768),432=>array(66,-12,625,620),433=>array(67,-12,681,716),434=>array(6,0,620,728),435=>array(32,0,745,728),436=>array(16,-210,617,528),437=>array(18,0,584,716),438=>array(20,0,479,519),439=>array(40,-12,582,716),440=>array(46,-12,588,716),441=>array(42,-192,486,518),442=>array(36,-209,437,518),443=>array(31,0,505,728),444=>array(13,-12,516,716),445=>array(37,-12,486,518),446=>array(46,-10,508,716),447=>array(68,-199,498,529),448=>array(92,0,168,716),449=>array(92,0,372,716),450=>array(25,0,449,716),451=>array(85,0,194,716),452=>array(80,0,1303,896),453=>array(80,0,1202,728),454=>array(36,-12,1036,728),455=>array(75,-12,949,716),456=>array(75,-209,709,716),457=>array(67,-209,375,716),458=>array(79,-12,1141,716),459=>array(79,-209,875,716),460=>array(68,-209,709,716),461=>array(-1,0,668,900),462=>array(38,-12,516,728),463=>array(-17,0,292,900),464=>array(-18,0,291,728),465=>array(47,-12,732,900),466=>array(35,-12,521,728),467=>array(79,-12,642,900),468=>array(66,-12,487,728),469=>array(79,-12,642,1003),470=>array(66,-12,487,832),471=>array(79,-12,642,1068),472=>array(66,-12,487,896),473=>array(79,-12,642,1068),474=>array(66,-12,487,896),475=>array(79,-12,642,1068),476=>array(66,-12,487,896),477=>array(39,-11,517,530),478=>array(-1,0,668,1003),479=>array(38,-12,516,832),480=>array(-1,0,668,1003),481=>array(38,-12,516,832),482=>array(0,0,945,865),483=>array(34,-12,849,697),484=>array(52,-12,779,728),485=>array(34,-210,556,530),486=>array(52,-12,714,900),487=>array(34,-210,491,728),488=>array(73,0,665,900),489=>array(66,0,496,900),490=>array(47,-208,732,728),491=>array(33,-208,519,530),492=>array(47,-208,732,865),493=>array(33,-208,519,697),494=>array(48,6,492,898),495=>array(48,-192,492,728),496=>array(-48,-209,261,728),497=>array(80,0,1301,716),498=>array(80,0,1200,716),499=>array(36,-12,1034,716),500=>array(52,-12,714,900),501=>array(34,-210,491,728),506=>array(-1,0,668,1043),507=>array(38,-12,516,937),508=>array(0,0,945,898),509=>array(34,-12,849,728),510=>array(41,-29,742,898),511=>array(63,-39,549,728),512=>array(-1,0,668,894),513=>array(38,-12,516,728),514=>array(-1,0,668,888),515=>array(38,-12,516,722),516=>array(79,0,614,894),517=>array(39,-12,517,728),518=>array(79,0,614,888),519=>array(39,-12,517,722),520=>array(-55,0,291,894),521=>array(-53,0,292,728),522=>array(-3,0,286,888),523=>array(-5,0,284,722),524=>array(47,-12,732,894),525=>array(35,-12,521,728),526=>array(47,-12,732,888),527=>array(35,-12,521,722),528=>array(80,0,711,894),529=>array(14,0,359,728),530=>array(80,0,711,888),531=>array(38,0,346,722),532=>array(79,-12,642,894),533=>array(66,-12,487,728),534=>array(79,-12,642,888),535=>array(66,-12,487,722),592=>array(40,-12,518,530),593=>array(36,-12,486,530),594=>array(70,-12,520,530),595=>array(70,-12,520,716),596=>array(9,-12,461,530),597=>array(39,-91,482,530),598=>array(36,-210,611,716),599=>array(36,-12,611,716),600=>array(39,-12,522,530),601=>array(39,-12,517,530),602=>array(41,-12,772,530),603=>array(36,-12,450,530),604=>array(35,-12,449,530),605=>array(35,-12,701,530),606=>array(36,-12,483,530),607=>array(-51,-210,252,518),608=>array(34,-210,616,716),609=>array(34,-210,491,530),610=>array(36,-12,518,530),611=>array(13,-210,488,518),612=>array(13,-12,488,518),613=>array(66,-198,487,518),614=>array(67,0,490,716),615=>array(67,-210,490,716),616=>array(-2,0,244,716),617=>array(67,-12,280,518),618=>array(33,0,323,518),619=>array(7,0,349,716),620=>array(20,0,403,716),621=>array(67,-210,280,716),622=>array(67,-210,599,716),623=>array(64,-12,768,518),624=>array(64,-209,768,518),625=>array(65,-210,769,530),626=>array(-57,-210,490,530),627=>array(68,-210,615,530),628=>array(68,0,490,518),629=>array(35,-12,521,530),630=>array(36,-12,690,530),631=>array(36,-12,638,530),632=>array(36,-210,522,716),633=>array(-13,-12,269,518),634=>array(-13,-12,269,716),635=>array(-13,-210,394,518),636=>array(64,-198,346,530),637=>array(64,-210,346,530),638=>array(64,0,326,530),639=>array(-14,0,248,530),640=>array(64,0,518,518),641=>array(64,0,518,518),642=>array(31,-208,461,530),643=>array(-83,-210,299,716),644=>array(-53,-210,329,716),645=>array(-83,-210,299,716),646=>array(-125,-198,302,716),647=>array(9,-177,261,530),648=>array(17,-210,294,700),649=>array(20,-12,576,518),650=>array(36,-12,522,518),651=>array(66,-12,520,530),652=>array(13,0,488,518),653=>array(5,0,717,518),654=>array(8,0,484,728),655=>array(2,0,498,518),656=>array(20,-208,653,518),657=>array(20,-79,542,518),658=>array(22,-210,494,518),659=>array(26,-210,494,518),660=>array(16,0,428,728),661=>array(36,0,448,728),662=>array(16,-12,428,716),663=>array(39,-210,491,530),664=>array(36,-12,578,530),665=>array(74,0,496,518),666=>array(36,-12,483,530),667=>array(36,-12,582,616),668=>array(68,0,490,518),669=>array(-125,-198,248,716),670=>array(4,-198,434,518),671=>array(67,0,406,518),672=>array(36,-198,611,716),673=>array(16,0,428,728),674=>array(36,0,448,728),675=>array(36,-12,945,716),676=>array(36,-210,930,716),677=>array(36,-79,1008,716),678=>array(17,-12,650,700),679=>array(17,-210,540,728),680=>array(17,-91,700,700),688=>array(50,344,278,716),689=>array(50,344,278,716),690=>array(-10,235,103,716),691=>array(50,344,210,619),692=>array(-9,338,151,613),693=>array(-9,241,213,613),694=>array(50,344,292,613),695=>array(2,344,386,613),696=>array(8,235,274,613),697=>array(46,462,192,716),698=>array(46,462,342,716),699=>array(64,494,166,728),700=>array(56,482,158,716),701=>array(64,482,166,716),702=>array(44,497,178,716),703=>array(44,497,178,716),704=>array(9,428,230,720),705=>array(20,428,242,720),706=>array(57,423,264,675),707=>array(56,423,263,675),708=>array(34,445,286,652),709=>array(34,446,286,653),710=>array(12,591,321,728),711=>array(12,591,321,728),712=>array(66,506,126,716),713=>array(14,624,319,697),714=>array(111,591,291,728),715=>array(42,591,222,728),716=>array(66,-210,126,0),717=>array(14,-176,319,-113),718=>array(42,-210,222,-73),719=>array(111,-210,291,-73),720=>array(83,0,217,518),721=>array(83,382,217,518),722=>array(44,150,178,369),723=>array(44,150,178,369),724=>array(45,185,295,333),725=>array(45,185,295,333),726=>array(45,164,235,354),727=>array(65,254,297,300),728=>array(22,595,311,722),729=>array(121,611,211,711),730=>array(79,576,255,752),731=>array(89,-208,303,12),732=>array(3,605,330,716),733=>array(28,591,373,728),734=>array(20,195,329,389),736=>array(7,235,271,613),737=>array(50,344,103,716),738=>array(17,338,249,619),739=>array(4,344,271,613),740=>array(25,215,314,724),741=>array(22,0,280,716),742=>array(22,0,280,716),743=>array(22,0,280,716),744=>array(22,0,280,716),745=>array(22,0,280,716),768=>array(-368,591,-188,728),769=>array(-343,591,-163,728),770=>array(-432,591,-124,728),771=>array(-441,605,-114,716),772=>array(-430,624,-125,697),773=>array(-534,624,-22,674),774=>array(-422,595,-133,722),775=>array(-323,611,-233,711),776=>array(-414,611,-143,711),777=>array(-384,722,-172,895),778=>array(-366,574,-190,752),779=>array(-426,591,-81,728),780=>array(-432,591,-124,728),781=>array(-308,591,-248,801),782=>array(-383,591,-173,801),783=>array(-451,591,-105,728),784=>array(-422,595,-133,822),785=>array(-422,595,-133,722),786=>array(-333,591,-231,825),787=>array(-325,579,-223,813),788=>array(-333,579,-231,813),789=>array(7,482,109,716),790=>array(-368,-210,-188,-73),791=>array(-343,-210,-163,-73),792=>array(-337,-252,-219,-62),793=>array(-337,-252,-219,-62),794=>array(-392,591,-164,769),795=>array(-100,330,55,606),796=>array(-326,-210,-230,-40),797=>array(-403,-210,-153,-62),798=>array(-403,-210,-153,-62),799=>array(-373,-252,-183,-62),800=>array(-404,-165,-152,-119),801=>array(-397,-208,-158,20),802=>array(-272,-208,-33,20),803=>array(-323,-210,-233,-110),804=>array(-414,-210,-143,-110),805=>array(-366,-210,-190,-32),806=>array(-325,-210,-223,-46),807=>array(-381,-205,-169,11),808=>array(-326,-208,-112,12),809=>array(-308,-210,-248,-40),810=>array(-407,-190,-148,-77),811=>array(-414,-205,-142,-43),812=>array(-432,-210,-124,-73),813=>array(-432,-210,-124,-73),814=>array(-422,-200,-133,-73),815=>array(-422,-200,-133,-73),816=>array(-441,-185,-114,-72),817=>array(-430,-179,-125,-106),818=>array(-534,-125,-22,-75),819=>array(-534,-210,-22,-55),820=>array(-441,203,-114,316),821=>array(-430,223,-125,296),822=>array(-500,223,-56,296),823=>array(-458,84,-98,434),824=>array(-678,-24,-100,716),825=>array(-311,-210,-216,-40),826=>array(-407,-190,-148,-77),827=>array(-359,-210,-196,-47),828=>array(-414,-186,-142,-83),829=>array(-412,558,-144,790),830=>array(-333,595,-222,922),831=>array(-534,624,-22,779),832=>array(-368,722,-188,859),833=>array(-343,722,-163,859),834=>array(-441,604,-114,717),835=>array(-325,613,-223,847),836=>array(-456,585,-100,720),837=>array(-301,-210,-180,-60),864=>array(-1011,604,-101,716),865=>array(-1000,595,-112,722),884=>array(30,464,301,716),885=>array(30,-132,301,120),890=>array(80,-208,258,-42),894=>array(84,-141,190,518),900=>array(89,600,208,736),901=>array(-27,600,304,736),902=>array(-1,0,668,736),903=>array(89,303,189,403),904=>array(-43,0,651,736),905=>array(-43,0,679,736),906=>array(-43,0,224,736),908=>array(-6,-12,732,736),910=>array(-43,0,740,736),911=>array(-6,0,706,736),912=>array(-56,0,275,736),913=>array(-1,0,668,716),914=>array(74,0,615,716),915=>array(81,0,528,716),916=>array(6,0,675,716),917=>array(79,0,614,716),918=>array(18,0,584,716),919=>array(80,0,642,716),920=>array(47,-12,732,728),921=>array(92,0,187,716),922=>array(73,0,665,716),923=>array(5,0,659,716),924=>array(76,0,757,716),925=>array(79,0,642,716),926=>array(53,0,597,716),927=>array(47,-12,732,728),928=>array(80,0,642,716),929=>array(77,0,623,716),931=>array(47,0,554,716),932=>array(22,0,589,716),933=>array(5,0,661,716),934=>array(47,-26,761,737),935=>array(5,0,661,716),936=>array(46,0,759,716),937=>array(52,0,706,728),938=>array(3,0,274,860),939=>array(5,0,661,860),940=>array(35,-12,541,736),941=>array(29,-12,405,736),942=>array(68,-199,490,736),943=>array(67,0,188,736),944=>array(68,-12,483,736),945=>array(35,-12,541,530),946=>array(66,-199,528,728),947=>array(13,-199,488,518),948=>array(35,-12,522,716),949=>array(29,-12,405,530),950=>array(35,-210,433,716),951=>array(68,-199,490,530),952=>array(45,-12,511,728),953=>array(67,0,155,518),954=>array(65,0,499,518),955=>array(13,0,488,716),956=>array(66,-199,487,518),957=>array(13,0,488,518),958=>array(35,-210,420,728),959=>array(35,-12,521,530),960=>array(16,0,662,518),961=>array(66,-199,536,530),962=>array(35,-210,465,530),963=>array(35,-12,597,534),964=>array(16,0,366,518),965=>array(68,-12,483,518),966=>array(35,-199,614,530),967=>array(7,-199,515,518),968=>array(66,-199,662,518),969=>array(35,-12,731,518),970=>array(-25,0,246,711),971=>array(68,-12,483,711),972=>array(35,-12,521,736),973=>array(68,-12,483,736),974=>array(35,-12,731,736),976=>array(66,-12,528,728),977=>array(23,-12,595,728),978=>array(6,0,627,719),979=>array(-42,0,723,736),980=>array(6,0,627,861),981=>array(35,-199,609,716),982=>array(19,-12,746,518),986=>array(51,-210,671,728),988=>array(80,-209,529,716),990=>array(46,-209,524,728),992=>array(25,-12,645,728),994=>array(80,-209,800,716),995=>array(63,-209,767,518),996=>array(58,0,604,720),997=>array(46,-199,492,521),998=>array(80,-187,626,716),999=>array(25,-13,494,589),1000=>array(46,-12,511,728),1001=>array(48,-196,463,530),1002=>array(3,0,621,716),1003=>array(15,0,591,530),1004=>array(62,-12,596,747),1005=>array(35,-12,597,576),1006=>array(19,0,549,716),1007=>array(11,-196,423,606),1008=>array(20,-11,580,528),1009=>array(66,-209,536,530),1010=>array(39,-12,491,530),1011=>array(-45,-209,155,716),1025=>array(79,0,614,859),1026=>array(25,-11,826,716),1027=>array(80,0,543,869),1028=>array(47,-12,680,728),1029=>array(45,-12,615,728),1030=>array(92,0,187,716),1031=>array(1,0,272,859),1032=>array(27,-12,420,716),1033=>array(9,-11,1070,716),1034=>array(80,0,973,716),1035=>array(24,0,809,716),1036=>array(80,0,580,869),1038=>array(5,-9,633,881),1039=>array(80,-199,643,716),1040=>array(-1,0,668,716),1041=>array(80,0,620,716),1042=>array(74,0,615,716),1043=>array(80,0,543,716),1044=>array(1,-167,642,716),1045=>array(79,0,614,716),1046=>array(3,0,919,716),1047=>array(39,-13,562,728),1048=>array(79,0,643,716),1049=>array(79,0,643,881),1050=>array(80,0,580,717),1051=>array(9,-11,625,716),1052=>array(76,0,757,716),1053=>array(80,0,642,716),1054=>array(47,-12,732,728),1055=>array(80,0,643,716),1056=>array(77,0,623,716),1057=>array(51,-12,683,728),1058=>array(22,0,589,716),1059=>array(5,-9,633,716),1060=>array(40,0,720,716),1061=>array(5,0,661,716),1062=>array(78,-199,706,716),1063=>array(58,0,604,716),1064=>array(80,0,840,716),1065=>array(80,-199,904,716),1066=>array(0,0,757,716),1067=>array(80,0,801,716),1068=>array(80,0,620,716),1069=>array(38,-12,671,728),1070=>array(80,-12,960,728),1071=>array(11,0,642,716),1072=>array(38,-12,516,530),1073=>array(45,-12,532,732),1074=>array(66,0,492,518),1075=>array(66,0,364,518),1076=>array(0,-147,553,518),1077=>array(39,-12,517,530),1078=>array(-3,0,671,518),1079=>array(24,-12,423,530),1080=>array(66,0,493,518),1081=>array(66,0,493,716),1082=>array(66,0,446,518),1083=>array(11,-3,505,518),1084=>array(66,0,617,518),1085=>array(66,0,486,518),1086=>array(35,-12,521,530),1087=>array(67,0,476,518),1088=>array(68,-199,518,530),1089=>array(39,-12,491,530),1090=>array(18,0,439,518),1091=>array(16,-210,492,518),1092=>array(37,-199,788,716),1093=>array(7,0,493,518),1094=>array(66,-199,532,518),1095=>array(46,0,467,518),1096=>array(69,0,734,518),1097=>array(69,-199,792,518),1098=>array(0,0,589,518),1099=>array(66,0,646,518),1100=>array(66,0,492,518),1101=>array(24,-11,474,530),1102=>array(66,-11,709,530),1103=>array(16,0,475,518),1105=>array(39,-12,517,720),1106=>array(2,-209,490,716),1107=>array(66,0,364,720),1108=>array(37,-11,487,530),1109=>array(31,-12,461,530),1110=>array(67,0,155,716),1111=>array(4,0,275,720),1112=>array(-45,-209,155,716),1113=>array(11,-3,842,518),1114=>array(66,0,780,518),1115=>array(2,0,490,716),1116=>array(66,0,446,720),1118=>array(16,-210,492,716),1119=>array(67,-199,476,518),1120=>array(47,-12,929,730),1121=>array(35,-12,731,518),1122=>array(0,0,622,716),1123=>array(-2,0,491,716),1124=>array(92,-12,912,728),1125=>array(68,-11,671,530),1126=>array(-2,0,668,716),1127=>array(0,0,595,518),1128=>array(92,0,952,716),1129=>array(68,0,817,518),1130=>array(0,0,654,716),1131=>array(1,0,599,518),1132=>array(92,0,932,716),1133=>array(68,0,820,518),1134=>array(37,-209,562,898),1135=>array(28,-209,423,728),1136=>array(46,0,759,716),1137=>array(66,-199,662,518),1138=>array(47,-12,732,728),1139=>array(35,-11,521,530),1140=>array(6,0,674,716),1141=>array(13,0,497,518),1142=>array(6,0,674,898),1143=>array(13,0,497,728),1144=>array(47,-210,1268,728),1145=>array(35,-210,1049,530),1146=>array(47,-36,732,750),1147=>array(35,-24,521,542),1148=>array(47,-12,929,926),1149=>array(35,-12,731,758),1150=>array(47,-12,929,880),1151=>array(35,-12,731,711),1152=>array(51,-97,672,728),1153=>array(39,-143,482,530),1154=>array(55,0,631,716),1155=>array(2,621,332,758),1156=>array(4,613,380,774),1157=>array(2,621,332,758),1158=>array(2,621,332,758),1168=>array(80,0,412,883),1169=>array(66,0,321,666),1170=>array(0,0,543,716),1171=>array(-2,0,364,518),1172=>array(80,-185,622,716),1173=>array(67,-209,490,716),1174=>array(3,-199,919,716),1175=>array(-3,-199,671,518),1176=>array(39,-205,562,728),1177=>array(24,-205,423,530),1178=>array(80,-199,580,717),1179=>array(66,-199,446,518),1180=>array(80,0,580,717),1181=>array(66,0,446,518),1182=>array(0,0,580,717),1183=>array(-2,0,446,518),1184=>array(24,0,762,717),1185=>array(0,0,544,518),1186=>array(80,-199,707,716),1187=>array(66,-199,543,518),1188=>array(80,0,880,716),1189=>array(66,0,653,518),1190=>array(80,-174,704,716),1191=>array(67,-174,537,518),1192=>array(47,-154,732,728),1193=>array(35,-141,550,530),1194=>array(51,-208,684,728),1195=>array(39,-208,491,530),1196=>array(21,-199,589,716),1197=>array(18,-199,439,518),1198=>array(5,0,661,716),1199=>array(13,-199,488,518),1200=>array(5,0,661,716),1201=>array(13,-199,488,518),1202=>array(4,-199,660,716),1203=>array(7,-199,493,518),1204=>array(16,-199,882,716),1205=>array(18,-199,631,518),1206=>array(58,-199,670,716),1207=>array(46,-199,524,518),1208=>array(58,0,604,716),1209=>array(46,0,467,518),1210=>array(81,0,627,716),1211=>array(67,0,490,716),1212=>array(7,-12,784,728),1213=>array(7,-11,624,530),1214=>array(7,-208,784,728),1215=>array(7,-208,624,530),1216=>array(92,0,187,716),1217=>array(3,0,919,881),1218=>array(-3,0,671,716),1219=>array(80,-174,580,717),1220=>array(66,-174,445,519),1223=>array(80,-174,703,716),1224=>array(66,-174,547,518),1227=>array(58,-199,604,716),1228=>array(46,-199,467,518),1232=>array(-2,0,668,881),1233=>array(38,-12,516,716),1234=>array(-1,0,668,861),1235=>array(38,-12,516,721),1236=>array(0,0,945,716),1237=>array(34,-12,849,530),1238=>array(79,0,613,881),1239=>array(39,-12,517,716),1240=>array(45,-12,676,728),1241=>array(39,-11,517,530),1242=>array(45,-12,676,859),1243=>array(39,-11,517,719),1244=>array(3,0,919,859),1245=>array(-3,0,671,721),1246=>array(39,-13,562,861),1247=>array(24,-12,423,721),1248=>array(39,-13,562,716),1249=>array(24,-206,457,518),1250=>array(79,0,643,833),1251=>array(66,0,493,697),1252=>array(79,0,643,861),1253=>array(66,0,493,721),1254=>array(47,-12,732,861),1255=>array(35,-12,521,721),1256=>array(47,-12,732,728),1257=>array(35,-11,521,530),1258=>array(47,-12,732,861),1259=>array(35,-11,521,721),1262=>array(5,-9,633,833),1263=>array(16,-210,492,697),1264=>array(5,-9,633,861),1265=>array(16,-210,492,721),1266=>array(5,-9,633,898),1267=>array(16,-210,492,728),1268=>array(58,0,604,861),1269=>array(46,0,467,721),1272=>array(80,0,801,861),1273=>array(66,0,646,721),1329=>array(25,-9,618,678),1330=>array(90,-1,481,685),1331=>array(31,-1,563,684),1332=>array(34,-1,564,684),1333=>array(30,-11,468,677),1334=>array(56,-22,510,692),1335=>array(27,-185,407,671),1336=>array(89,-96,476,684),1337=>array(98,0,722,683),1338=>array(46,-11,613,678),1339=>array(24,-2,503,676),1340=>array(28,-185,357,672),1341=>array(24,-12,539,676),1342=>array(38,-11,675,676),1343=>array(32,-2,462,676),1344=>array(28,-61,410,690),1345=>array(31,-11,515,689),1346=>array(27,-96,559,683),1347=>array(63,0,487,708),1348=>array(26,-11,620,677),1349=>array(101,-10,631,684),1350=>array(36,-11,594,685),1351=>array(32,-11,602,684),1352=>array(90,-1,460,684),1353=>array(69,-19,489,689),1354=>array(78,-1,614,683),1355=>array(55,-23,508,690),1356=>array(86,-2,619,683),1357=>array(30,-12,462,675),1358=>array(37,-96,665,676),1359=>array(101,-11,501,683),1360=>array(87,-7,452,677),1361=>array(104,-15,498,680),1362=>array(23,-7,511,671),1363=>array(106,-6,608,672),1364=>array(35,-8,675,678),1365=>array(100,-16,547,679),1366=>array(76,-15,713,680),1369=>array(87,485,211,705),1370=>array(83,485,207,705),1371=>array(34,485,114,702),1372=>array(20,425,282,702),1373=>array(87,518,210,699),1374=>array(14,476,257,702),1375=>array(38,484,397,702),1377=>array(39,-8,552,315),1378=>array(52,-210,400,319),1379=>array(52,-210,402,319),1380=>array(49,-210,433,319),1381=>array(49,-8,391,613),1382=>array(48,-210,409,319),1383=>array(50,-122,393,613),1384=>array(52,-210,395,319),1385=>array(49,-210,437,319),1386=>array(40,-8,430,613),1387=>array(44,-210,394,613),1388=>array(37,-210,309,315),1389=>array(38,-210,482,613),1390=>array(45,-8,413,580),1391=>array(53,-210,391,613),1392=>array(45,0,398,613),1393=>array(51,-8,397,561),1394=>array(50,-210,401,319),1395=>array(8,-8,386,618),1396=>array(44,-8,404,618),1397=>array(6,-210,197,315),1398=>array(90,-9,394,618),1399=>array(37,-8,359,319),1400=>array(50,0,397,319),1401=>array(79,-210,318,376),1402=>array(39,-210,551,315),1403=>array(55,-210,411,319),1404=>array(29,0,420,319),1405=>array(49,-9,393,315),1406=>array(43,-210,393,613),1407=>array(42,-8,550,319),1408=>array(52,-210,399,319),1409=>array(49,-210,393,319),1410=>array(32,0,308,315),1411=>array(39,-210,550,613),1412=>array(47,0,337,618),1413=>array(52,-8,336,319),1414=>array(78,-210,541,610),1415=>array(49,-8,502,613),1417=>array(80,-21,197,335),1425=>array(97,-194,263,-63),1426=>array(37,568,323,664),1427=>array(112,569,249,789),1428=>array(147,568,213,728),1429=>array(106,568,262,728),1430=>array(104,-195,256,-43),1431=>array(133,568,227,662),1432=>array(82,568,278,684),1433=>array(0,568,152,720),1434=>array(229,-205,340,-43),1435=>array(104,-195,256,-43),1436=>array(104,568,256,720),1437=>array(208,568,360,720),1438=>array(108,568,360,750),1439=>array(12,568,348,716),1440=>array(200,568,348,716),1441=>array(58,568,303,716),1443=>array(92,-191,221,-62),1444=>array(117,-205,228,-43),1445=>array(104,-195,256,-43),1446=>array(54,-215,306,-33),1447=>array(117,-209,242,-35),1448=>array(104,568,256,720),1449=>array(12,568,160,716),1450=>array(97,-194,263,-63),1451=>array(117,568,228,730),1452=>array(92,580,221,709),1453=>array(208,-195,360,-43),1454=>array(0,568,196,684),1455=>array(125,568,235,678),1456=>array(147,-210,213,-50),1457=>array(53,-210,307,-50),1458=>array(69,-210,285,-50),1459=>array(69,-210,285,-50),1460=>array(147,-116,213,-50),1461=>array(100,-116,260,-50),1462=>array(100,-210,260,-50),1463=>array(119,-104,241,-62),1464=>array(119,-144,241,-62),1465=>array(147,568,213,634),1467=>array(53,-210,307,-50),1468=>array(147,231,213,297),1469=>array(159,-184,201,-62),1470=>array(24,430,342,518),1471=>array(119,580,241,622),1472=>array(72,-80,154,598),1473=>array(147,568,213,634),1474=>array(147,568,213,634),1475=>array(69,0,169,518),1476=>array(147,568,213,634),1488=>array(60,0,517,518),1489=>array(38,0,533,530),1490=>array(20,0,386,530),1491=>array(24,0,482,518),1492=>array(72,0,526,530),1493=>array(16,0,248,530),1494=>array(28,0,306,543),1495=>array(72,0,526,530),1496=>array(68,-12,532,530),1497=>array(16,258,248,530),1498=>array(20,-199,439,530),1499=>array(38,-12,469,530),1500=>array(33,-12,436,716),1501=>array(72,0,526,518),1502=>array(30,0,526,530),1503=>array(16,-199,248,530),1504=>array(38,0,270,530),1505=>array(25,-12,546,530),1506=>array(32,-82,503,518),1507=>array(45,-199,499,530),1508=>array(37,-12,511,530),1509=>array(37,-199,468,518),1510=>array(45,0,477,518),1511=>array(72,-199,535,518),1512=>array(20,0,439,530),1513=>array(72,-12,674,518),1514=>array(21,-13,565,530),1520=>array(16,0,522,530),1521=>array(16,0,522,530),1522=>array(16,258,522,530),1523=>array(45,398,221,641),1524=>array(45,398,417,641),1548=>array(90,-3,196,238),1563=>array(90,0,196,479),1567=>array(47,0,509,728),1569=>array(54,0,469,422),1570=>array(-23,0,270,862),1571=>array(46,0,188,933),1572=>array(-108,-210,408,761),1573=>array(46,-174,188,716),1574=>array(32,-121,679,453),1575=>array(79,0,164,716),1576=>array(62,-190,709,265),1577=>array(62,-6,452,633),1578=>array(62,-50,709,437),1579=>array(62,-50,709,539),1580=>array(52,-271,564,453),1581=>array(52,-271,564,453),1582=>array(52,-271,564,621),1583=>array(38,0,368,437),1584=>array(38,0,368,629),1585=>array(-74,-210,357,290),1586=>array(-74,-210,357,470),1587=>array(39,-228,1115,346),1588=>array(39,-228,1115,604),1589=>array(39,-228,1230,436),1590=>array(39,-228,1230,532),1591=>array(59,0,782,686),1592=>array(59,0,782,686),1593=>array(53,-271,565,492),1594=>array(53,-271,565,725),1600=>array(-1,0,280,95),1601=>array(62,0,895,773),1602=>array(34,-214,738,678),1603=>array(62,0,689,716),1604=>array(34,-121,594,716),1605=>array(58,-265,527,359),1606=>array(62,-121,630,456),1607=>array(62,-6,452,431),1608=>array(-108,-210,408,476),1609=>array(32,-121,679,453),1610=>array(32,-238,679,453),1611=>array(10,716,290,944),1612=>array(4,716,292,990),1613=>array(8,-255,288,-78),1614=>array(10,716,290,859),1615=>array(4,716,292,990),1616=>array(8,-170,288,-78),1617=>array(7,716,299,936),1618=>array(3,716,201,965),1632=>array(130,59,348,260),1633=>array(99,0,282,576),1634=>array(35,0,451,576),1635=>array(39,0,473,576),1636=>array(63,-6,443,586),1637=>array(45,-6,435,576),1638=>array(29,0,450,576),1639=>array(21,-6,459,576),1640=>array(21,0,459,582),1641=>array(42,0,466,582),1642=>array(37,-3,516,579),1643=>array(-19,-151,205,100),1644=>array(90,-3,196,238),1645=>array(20,163,418,576),1648=>array(127,716,173,984),1649=>array(-15,0,256,927),1650=>array(-47,0,196,936),1651=>array(-55,-257,188,716),1652=>array(46,716,188,933),1653=>array(79,0,384,777),1654=>array(-108,-210,551,641),1655=>array(-108,-210,551,754),1656=>array(32,-121,775,621),1657=>array(62,-50,709,569),1658=>array(62,-50,709,568),1659=>array(62,-271,709,265),1660=>array(62,-161,709,437),1661=>array(62,-50,709,539),1662=>array(62,-271,709,265),1663=>array(62,-50,709,569),1664=>array(62,-271,709,265),1665=>array(52,-271,564,621),1666=>array(52,-271,564,724),1667=>array(52,-271,564,453),1668=>array(52,-271,564,453),1669=>array(52,-271,564,695),1670=>array(52,-271,564,453),1671=>array(52,-271,564,453),1672=>array(38,0,368,746),1673=>array(38,-95,368,437),1674=>array(38,-155,368,437),1675=>array(38,-155,368,746),1676=>array(38,0,368,614),1677=>array(38,-140,368,437),1678=>array(38,0,368,716),1679=>array(38,0,368,716),1680=>array(38,0,368,746),1681=>array(-74,-210,360,587),1682=>array(-74,-210,357,526),1683=>array(-74,-258,357,290),1684=>array(-74,-267,378,290),1685=>array(-74,-269,442,290),1686=>array(-74,-267,378,290),1687=>array(-74,-210,360,455),1688=>array(-74,-210,360,557),1689=>array(-74,-210,357,587),1690=>array(39,-228,1115,517),1691=>array(39,-254,1115,346),1692=>array(39,-254,1115,603),1693=>array(39,-228,1230,436),1694=>array(39,-228,1230,619),1695=>array(59,0,782,686),1696=>array(53,-271,565,749),1697=>array(62,0,895,556),1698=>array(62,-134,895,556),1699=>array(62,-134,895,773),1700=>array(62,0,895,860),1701=>array(62,-221,895,556),1702=>array(62,0,895,891),1703=>array(34,-214,738,693),1704=>array(34,-214,738,780),1705=>array(62,0,827,717),1706=>array(62,0,997,717),1707=>array(62,0,827,717),1708=>array(62,0,689,759),1709=>array(62,0,689,846),1710=>array(62,-223,689,716),1711=>array(62,0,827,793),1712=>array(62,0,827,793),1713=>array(62,0,827,863),1714=>array(62,-169,827,793),1715=>array(62,-271,827,793),1716=>array(62,0,827,942),1717=>array(34,-121,618,952),1718=>array(34,-121,594,914),1719=>array(34,-121,647,1001),1722=>array(62,-121,630,272),1723=>array(62,-121,630,570),1724=>array(62,-232,630,455),1725=>array(62,-121,630,540),1726=>array(29,-15,644,593),1728=>array(62,-6,452,705),1729=>array(2,-85,510,159),1730=>array(2,-85,510,431),1731=>array(2,-85,510,347),1732=>array(-108,-210,408,476),1733=>array(-108,-210,408,476),1734=>array(-108,-210,408,712),1735=>array(-108,-210,408,758),1736=>array(-108,-210,408,789),1737=>array(-108,-210,408,713),1738=>array(-108,-210,408,655),1739=>array(-108,-210,408,757),1740=>array(32,-121,679,453),1741=>array(-4,-121,789,453),1742=>array(32,-121,679,576),1744=>array(32,-271,679,493),1745=>array(32,-263,679,493),1746=>array(71,-221,684,297),1747=>array(71,-221,684,349),1748=>array(-1,190,280,285),1749=>array(62,-6,452,431),1750=>array(27,352,699,802),1751=>array(27,352,531,802),1752=>array(35,573,287,788),1753=>array(5,573,284,1002),1754=>array(34,354,341,789),1755=>array(25,635,347,869),1756=>array(23,436,669,781),1757=>array(34,27,654,647),1758=>array(2,-87,850,761),1759=>array(78,687,209,808),1760=>array(78,687,209,808),1761=>array(-1,576,340,848),1762=>array(34,414,316,789),1763=>array(23,-267,669,78),1764=>array(-14,714,162,756),1765=>array(-42,395,268,807),1766=>array(36,443,404,754),1767=>array(36,443,404,754),1768=>array(37,573,378,919),1769=>array(34,0,480,736),1770=>array(35,-161,183,-13),1771=>array(35,641,183,789),1772=>array(35,641,183,789),1773=>array(34,-270,316,105),1776=>array(130,59,348,260),1777=>array(99,0,282,576),1778=>array(35,0,451,576),1779=>array(39,0,473,576),1780=>array(35,0,471,661),1781=>array(30,-6,450,576),1782=>array(94,0,403,576),1783=>array(21,-6,459,576),1784=>array(21,0,459,582),1785=>array(42,0,466,582),2305=>array(-375,608,-50,889),2306=>array(-239,608,-109,843),2307=>array(78,69,216,513),2309=>array(42,-17,706,608),2310=>array(42,-18,923,608),2311=>array(-1,-114,545,608),2312=>array(-1,-114,545,891),2313=>array(-1,11,603,608),2314=>array(-1,11,726,608),2315=>array(-1,-44,933,608),2316=>array(-1,-44,690,608),2317=>array(-1,-187,624,864),2318=>array(-1,-187,624,886),2319=>array(-1,-187,624,608),2320=>array(-1,-187,624,889),2321=>array(42,-18,923,864),2322=>array(42,-18,923,886),2323=>array(42,-14,922,889),2324=>array(42,-17,922,892),2325=>array(-1,-17,680,608),2326=>array(-1,-15,745,608),2327=>array(-1,-15,605,608),2328=>array(-1,-17,652,608),2329=>array(-1,0,636,608),2330=>array(-1,-15,700,608),2331=>array(-1,-80,726,608),2332=>array(-1,-17,700,608),2333=>array(-1,-17,725,608),2334=>array(-1,-15,710,608),2335=>array(-1,0,515,608),2336=>array(-1,0,545,608),2337=>array(-1,0,595,608),2338=>array(-1,0,535,608),2339=>array(-1,-17,706,608),2340=>array(-1,-17,598,608),2341=>array(42,-14,650,608),2342=>array(-1,-14,545,608),2343=>array(42,-18,653,616),2344=>array(-1,-15,598,608),2345=>array(-1,-33,598,608),2346=>array(-1,-17,578,608),2347=>array(-2,-15,712,608),2348=>array(-1,-17,604,608),2349=>array(39,-17,702,608),2350=>array(-1,-17,646,608),2351=>array(-1,-17,613,608),2352=>array(-1,-14,499,608),2353=>array(-1,-19,499,608),2354=>array(-1,-14,692,608),2355=>array(-1,0,742,608),2356=>array(-1,-122,742,608),2357=>array(-1,-15,604,608),2358=>array(38,-18,696,616),2359=>array(-1,-15,621,608),2360=>array(-1,-17,659,608),2361=>array(-1,-238,559,608),2364=>array(-404,-197,-274,-67),2365=>array(28,50,386,608),2366=>array(-1,-17,332,608),2367=>array(-1,-15,776,895),2368=>array(-254,-15,332,895),2369=>array(-463,-256,-31,7),2370=>array(-345,-262,84,7),2371=>array(-330,-249,-50,13),2372=>array(-321,-271,-24,46),2373=>array(-338,608,-49,864),2374=>array(-546,598,-135,886),2375=>array(-534,598,-135,889),2376=>array(-475,599,-135,892),2377=>array(-19,-17,332,864),2378=>array(-228,-17,332,886),2379=>array(-260,-17,332,889),2380=>array(-152,-17,332,892),2381=>array(-251,-271,32,0),2384=>array(47,97,830,792),2385=>array(-212,608,-135,788),2386=>array(-612,-99,0,-29),2387=>array(-349,645,-184,832),2388=>array(-261,645,-96,832),2392=>array(-1,-17,680,608),2393=>array(-1,-104,745,608),2394=>array(-1,-54,605,608),2395=>array(-1,-66,700,608),2396=>array(-1,-67,595,608),2397=>array(-1,-77,535,608),2398=>array(-2,-15,712,608),2399=>array(-1,-38,613,608),2400=>array(-1,-71,933,608),2401=>array(-1,-71,690,608),2402=>array(-418,-271,26,13),2403=>array(-418,-271,60,13),2404=>array(128,-17,203,617),2405=>array(128,-17,385,616),2406=>array(147,115,491,468),2407=>array(179,-134,455,689),2408=>array(99,-123,542,644),2409=>array(125,-106,492,677),2410=>array(12,112,617,685),2411=>array(82,-149,576,658),2412=>array(118,-130,545,653),2413=>array(73,23,570,569),2414=>array(84,29,570,667),2415=>array(119,-92,575,648),2416=>array(64,292,298,525),2433=>array(-296,703,10,875),2434=>array(66,-56,396,605),2435=>array(92,0,338,606),2437=>array(0,0,794,607),2438=>array(0,0,1039,690),2439=>array(0,-94,590,875),2440=>array(0,-22,611,875),2441=>array(0,1,656,875),2442=>array(0,0,765,875),2443=>array(54,0,766,688),2444=>array(33,1,596,651),2447=>array(38,0,593,605),2448=>array(38,0,701,876),2451=>array(57,1,629,609),2452=>array(57,1,728,876),2453=>array(0,0,787,607),2454=>array(54,0,663,625),2455=>array(44,0,614,607),2456=>array(0,0,658,607),2457=>array(51,0,621,607),2458=>array(0,0,563,607),2459=>array(0,-93,593,607),2460=>array(0,-42,737,607),2461=>array(0,0,761,607),2462=>array(38,0,829,606),2463=>array(0,0,575,875),2464=>array(0,0,634,876),2465=>array(0,1,656,607),2466=>array(0,0,575,607),2467=>array(55,0,606,607),2468=>array(0,1,688,607),2469=>array(50,0,653,607),2470=>array(0,-24,617,607),2471=>array(45,0,604,624),2472=>array(0,0,603,607),2474=>array(44,0,643,607),2475=>array(0,0,789,607),2476=>array(0,0,601,607),2477=>array(0,2,685,607),2478=>array(0,0,629,607),2479=>array(0,0,609,607),2480=>array(0,-18,601,607),2482=>array(0,-0,648,607),2486=>array(0,0,606,626),2487=>array(0,0,604,607),2488=>array(0,0,645,607),2489=>array(0,-94,590,607),2492=>array(-366,-164,-233,-32),2494=>array(0,0,253,690),2495=>array(0,0,531,850),2496=>array(-334,0,253,875),2497=>array(-357,-269,39,5),2498=>array(-359,-269,21,-73),2499=>array(-314,-270,-60,-77),2500=>array(-380,-271,98,24),2503=>array(0,1,317,607),2504=>array(0,1,317,875),2507=>array(0,0,940,690),2508=>array(0,0,940,875),2509=>array(-187,-267,26,-73),2519=>array(-250,0,253,875),2524=>array(0,-164,656,607),2525=>array(0,-164,561,607),2527=>array(0,-42,604,607),2528=>array(54,-93,766,688),2529=>array(33,-271,596,651),2530=>array(-381,-271,-4,23),2531=>array(-401,-271,333,151),2534=>array(62,55,548,550),2535=>array(46,0,513,624),2536=>array(58,-51,583,636),2537=>array(53,2,671,606),2538=>array(67,0,547,653),2539=>array(62,1,632,638),2540=>array(52,1,616,622),2541=>array(69,0,498,624),2542=>array(55,0,641,622),2543=>array(53,1,559,622),2544=>array(0,0,601,607),2545=>array(0,-51,601,607),2546=>array(36,0,581,606),2547=>array(-87,0,575,875),2548=>array(26,0,571,606),2549=>array(44,1,669,606),2550=>array(54,0,624,606),2551=>array(103,0,165,607),2552=>array(52,0,564,605),2553=>array(48,154,376,451),2554=>array(74,349,492,788),2562=>array(-156,578,-79,731),2565=>array(0,0,696,578),2566=>array(0,0,940,578),2567=>array(0,0,808,822),2568=>array(0,0,808,822),2569=>array(0,-267,683,839),2570=>array(0,-267,683,839),2575=>array(0,2,562,793),2576=>array(0,0,696,839),2579=>array(0,-2,683,836),2580=>array(0,0,696,839),2581=>array(0,0,607,578),2582=>array(0,0,572,578),2583=>array(0,0,646,578),2584=>array(0,0,692,578),2585=>array(0,0,570,578),2586=>array(0,1,597,578),2587=>array(0,0,607,578),2588=>array(0,0,596,578),2589=>array(0,0,546,578),2590=>array(0,0,563,578),2591=>array(0,0,548,578),2592=>array(0,0,586,578),2593=>array(0,0,601,578),2594=>array(0,0,645,578),2595=>array(0,0,645,578),2596=>array(0,0,596,578),2597=>array(0,0,569,578),2598=>array(0,0,645,578),2599=>array(0,0,569,578),2600=>array(0,0,587,578),2602=>array(0,0,569,578),2603=>array(0,0,556,578),2604=>array(0,0,564,578),2605=>array(0,0,554,578),2606=>array(0,0,563,578),2607=>array(0,0,657,578),2608=>array(0,4,545,578),2610=>array(0,-0,682,578),2611=>array(0,-96,682,578),2613=>array(0,0,606,578),2614=>array(0,0,563,578),2616=>array(0,0,563,578),2617=>array(0,0,554,578),2620=>array(-208,-154,-131,-77),2622=>array(0,216,251,578),2623=>array(0,0,397,822),2624=>array(-151,0,251,822),2625=>array(-388,-267,-50,0),2626=>array(-388,-267,-50,0),2631=>array(-473,578,-90,793),2632=>array(-471,578,-90,839),2635=>array(-411,572,-90,803),2636=>array(-379,578,-27,839),2637=>array(-235,-238,51,0),2649=>array(0,0,572,578),2650=>array(0,0,695,578),2651=>array(0,0,596,578),2652=>array(0,0,596,578),2654=>array(0,0,585,578),2662=>array(54,42,537,524),2663=>array(86,0,514,575),2664=>array(53,0,528,577),2665=>array(52,1,527,577),2666=>array(69,0,522,577),2667=>array(57,0,501,579),2668=>array(74,0,530,758),2669=>array(36,0,519,578),2670=>array(64,0,526,578),2671=>array(65,0,525,769),2672=>array(-103,664,103,841),2673=>array(-193,660,111,839),2674=>array(0,2,562,578),2675=>array(0,-2,683,839),2676=>array(28,-110,857,648),2689=>array(-429,608,-23,885),2690=>array(-179,608,-67,822),2691=>array(88,98,212,510),2693=>array(36,0,803,608),2694=>array(36,0,1062,610),2695=>array(42,-1,553,882),2696=>array(42,-1,606,882),2697=>array(60,0,545,742),2698=>array(60,-4,776,882),2699=>array(20,0,780,608),2701=>array(36,0,803,881),2703=>array(36,0,803,881),2704=>array(36,0,803,882),2705=>array(36,0,1062,881),2707=>array(36,0,1062,881),2708=>array(36,0,1062,882),2709=>array(35,0,411,610),2710=>array(5,0,792,608),2711=>array(25,0,625,608),2712=>array(52,-1,579,608),2713=>array(25,0,462,610),2714=>array(36,0,620,608),2715=>array(55,0,643,608),2716=>array(50,0,791,608),2717=>array(34,0,601,608),2718=>array(25,0,669,608),2719=>array(55,0,460,610),2720=>array(59,0,409,610),2721=>array(25,0,404,610),2722=>array(55,-1,447,608),2723=>array(98,-271,714,608),2724=>array(60,0,554,608),2725=>array(45,0,572,608),2726=>array(44,-1,480,608),2727=>array(27,0,561,727),2728=>array(43,0,602,608),2730=>array(5,0,592,608),2731=>array(50,-270,442,608),2732=>array(50,0,684,608),2733=>array(50,0,776,608),2734=>array(27,0,614,608),2735=>array(40,0,514,608),2736=>array(45,-2,411,609),2738=>array(55,0,633,608),2739=>array(52,0,676,609),2741=>array(50,0,558,608),2742=>array(52,0,633,610),2743=>array(75,0,528,608),2744=>array(43,0,684,608),2745=>array(69,0,573,610),2748=>array(-323,-182,-211,-70),2749=>array(52,0,436,608),2750=>array(98,0,291,610),2751=>array(98,0,660,883),2752=>array(-180,0,291,884),2753=>array(-412,-271,28,5),2754=>array(-323,-271,151,5),2755=>array(-271,-271,41,5),2756=>array(-275,-271,65,20),2757=>array(-452,608,-25,881),2759=>array(-509,608,-80,881),2760=>array(-544,608,-96,882),2761=>array(-179,0,291,881),2763=>array(-236,0,291,881),2764=>array(-271,0,291,882),2765=>array(-244,-249,186,5),2768=>array(46,0,815,881),2784=>array(20,-1,875,608),2790=>array(91,61,532,545),2791=>array(110,0,534,608),2792=>array(97,0,524,608),2793=>array(29,0,527,608),2794=>array(18,0,595,609),2795=>array(18,0,598,608),2796=>array(104,0,541,610),2797=>array(25,0,571,608),2798=>array(118,0,532,607),2799=>array(35,1,608,605),2817=>array(-374,776,37,979),2818=>array(34,379,271,717),2819=>array(59,0,332,717),2821=>array(42,0,508,717),2822=>array(42,0,726,717),2823=>array(39,-16,643,717),2824=>array(39,-16,643,717),2825=>array(39,-16,618,717),2826=>array(39,-16,625,717),2827=>array(39,-16,607,717),2828=>array(39,0,516,717),2831=>array(49,0,479,717),2832=>array(49,0,918,913),2835=>array(59,0,561,732),2836=>array(59,0,953,913),2837=>array(39,0,564,717),2838=>array(39,0,539,717),2839=>array(39,0,539,717),2840=>array(39,0,524,717),2841=>array(39,0,688,717),2842=>array(39,0,540,717),2843=>array(39,0,540,717),2844=>array(39,0,554,717),2845=>array(39,-15,540,732),2846=>array(54,0,532,717),2847=>array(39,0,539,717),2848=>array(44,0,534,717),2849=>array(39,0,540,717),2850=>array(39,-12,540,717),2851=>array(44,0,526,717),2852=>array(39,0,540,717),2853=>array(39,0,505,717),2854=>array(39,0,540,717),2855=>array(44,0,521,732),2856=>array(39,0,540,717),2858=>array(39,0,524,717),2859=>array(39,0,703,717),2860=>array(39,0,540,717),2861=>array(39,-16,628,717),2862=>array(39,-0,524,717),2863=>array(56,0,547,717),2864=>array(39,-16,604,717),2866=>array(39,-16,638,717),2867=>array(39,0,554,717),2870=>array(39,0,539,717),2871=>array(39,0,524,717),2872=>array(39,0,524,717),2873=>array(39,-30,540,717),2876=>array(-301,-176,-206,-84),2877=>array(71,0,273,717),2878=>array(82,0,136,717),2879=>array(-522,762,-17,918),2880=>array(-25,1,213,920),2881=>array(-443,-264,123,-51),2882=>array(-359,-271,171,-17),2883=>array(-325,-271,102,-18),2887=>array(59,0,436,717),2888=>array(59,0,1005,913),2891=>array(59,0,945,717),2892=>array(59,0,1006,913),2893=>array(-188,-267,161,-45),2902=>array(-515,717,-20,913),2903=>array(-297,0,198,913),2908=>array(39,-176,540,717),2909=>array(39,-176,540,717),2911=>array(23,-53,623,718),2912=>array(39,-16,607,717),2913=>array(39,-30,540,717),2918=>array(44,0,534,717),2919=>array(49,-12,441,717),2920=>array(39,-12,432,717),2921=>array(34,0,541,717),2922=>array(20,0,487,732),2923=>array(0,-21,605,717),2924=>array(34,-15,476,718),2925=>array(29,-9,495,729),2926=>array(82,0,495,717),2927=>array(54,-15,456,719),2928=>array(50,209,544,557),2946=>array(-388,499,-211,675),2947=>array(37,-11,698,702),2949=>array(22,-271,932,429),2950=>array(22,-271,1071,429),2951=>array(19,-271,915,702),2952=>array(70,0,621,417),2953=>array(55,0,988,429),2954=>array(55,0,1221,429),2958=>array(52,-11,721,417),2959=>array(52,-110,726,417),2960=>array(27,-271,813,429),2962=>array(49,-271,711,429),2963=>array(49,-271,711,429),2964=>array(49,-271,1631,429),2965=>array(36,-11,610,417),2969=>array(70,0,759,417),2970=>array(36,-11,565,417),2972=>array(28,-271,815,429),2974=>array(63,-271,928,417),2975=>array(70,0,778,417),2979=>array(52,-11,1290,429),2980=>array(-4,-271,600,417),2984=>array(-0,-271,577,417),2985=>array(52,-11,1007,429),2986=>array(70,0,623,417),2990=>array(70,0,667,429),2991=>array(83,-11,719,417),2992=>array(70,-113,540,417),2993=>array(2,-271,650,429),2994=>array(52,-11,768,510),2995=>array(52,-11,866,429),2996=>array(62,-271,665,429),2997=>array(52,-11,803,429),2999=>array(52,-271,1067,429),3000=>array(52,-11,1046,510),3001=>array(0,-271,1207,429),3006=>array(70,0,542,417),3007=>array(-245,1,112,702),3008=>array(-282,417,94,702),3009=>array(-117,145,458,417),3010=>array(-117,-52,754,636),3014=>array(61,-12,685,701),3015=>array(56,-11,659,702),3016=>array(52,-11,901,429),3018=>array(61,-12,1661,701),3019=>array(56,-11,1661,702),3020=>array(61,-12,1989,701),3021=>array(-364,523,-237,650),3031=>array(52,-11,866,429),3047=>array(36,-11,610,417),3048=>array(55,0,988,429),3049=>array(70,0,727,417),3050=>array(36,-11,682,417),3051=>array(70,-208,913,645),3052=>array(36,-11,857,417),3053=>array(52,-11,721,417),3054=>array(22,-271,932,429),3055=>array(36,-11,776,417),3056=>array(83,-11,662,702),3057=>array(71,0,714,429),3058=>array(-4,-271,745,417),3073=>array(57,-6,335,481),3074=>array(57,-13,544,471),3075=>array(65,-12,280,474),3077=>array(54,-11,667,474),3078=>array(54,-11,732,473),3079=>array(36,-229,513,472),3080=>array(24,-11,1108,664),3081=>array(57,-11,634,682),3082=>array(57,-11,996,682),3083=>array(57,-11,1239,474),3084=>array(44,-11,856,586),3086=>array(44,-11,556,702),3087=>array(44,-11,556,839),3088=>array(54,-11,656,475),3090=>array(57,-11,610,471),3091=>array(57,-11,610,642),3092=>array(6,-11,856,688),3093=>array(36,-11,474,664),3094=>array(51,-137,620,476),3095=>array(39,-14,510,664),3096=>array(35,-137,874,664),3097=>array(57,-11,610,472),3098=>array(24,-11,630,664),3099=>array(24,-137,630,664),3100=>array(57,-11,610,474),3101=>array(57,-136,1146,664),3102=>array(36,-229,715,472),3103=>array(57,-11,829,550),3104=>array(57,-11,540,664),3105=>array(57,-11,659,664),3106=>array(57,-137,659,664),3107=>array(63,-11,752,474),3108=>array(57,-11,659,664),3109=>array(60,-137,643,664),3110=>array(60,-11,643,664),3111=>array(60,-137,643,664),3112=>array(44,-11,547,664),3114=>array(35,-11,563,664),3115=>array(35,-137,563,664),3116=>array(57,-11,621,473),3117=>array(57,-137,663,664),3118=>array(44,-11,873,664),3119=>array(57,-12,1144,664),3120=>array(57,-11,540,664),3121=>array(57,-12,837,476),3122=>array(57,-11,571,474),3123=>array(48,-11,561,664),3125=>array(44,-11,561,664),3126=>array(48,-11,524,664),3127=>array(35,-137,759,664),3128=>array(24,-11,581,664),3129=>array(31,-11,893,664),3134=>array(6,305,626,545),3135=>array(17,462,281,785),3136=>array(10,462,289,980),3137=>array(-48,-9,302,474),3138=>array(-48,-9,665,545),3139=>array(-203,-271,294,474),3140=>array(-216,-271,687,473),3142=>array(6,466,618,688),3143=>array(6,466,617,889),3144=>array(6,-271,894,688),3146=>array(6,470,843,715),3147=>array(6,470,843,908),3148=>array(6,449,970,688),3149=>array(39,465,655,866),3157=>array(47,767,289,980),3158=>array(-670,-271,109,-31),3168=>array(57,-11,1602,545),3169=>array(44,-11,1263,545),3174=>array(158,-14,682,510),3175=>array(88,-14,752,510),3176=>array(54,0,726,510),3177=>array(199,-13,609,512),3178=>array(136,-12,704,519),3179=>array(60,-14,781,521),3180=>array(106,0,798,510),3181=>array(201,-15,668,513),3182=>array(65,-13,815,510),3183=>array(106,0,798,510),3202=>array(46,84,394,554),3203=>array(46,84,205,553),3205=>array(47,84,608,602),3206=>array(46,84,625,602),3207=>array(37,84,595,602),3208=>array(33,84,850,752),3209=>array(46,84,911,602),3210=>array(46,84,1247,602),3211=>array(37,84,1000,752),3212=>array(37,84,695,602),3214=>array(37,84,606,602),3215=>array(37,84,606,647),3216=>array(44,84,615,602),3218=>array(37,84,630,602),3219=>array(37,84,630,775),3220=>array(38,84,631,774),3221=>array(49,84,415,752),3222=>array(17,84,700,713),3223=>array(51,84,493,752),3224=>array(44,-79,742,752),3225=>array(37,84,630,602),3226=>array(37,84,633,752),3227=>array(46,-79,614,752),3228=>array(37,84,630,602),3229=>array(54,-79,1127,752),3230=>array(37,84,889,602),3231=>array(59,84,627,651),3232=>array(54,84,508,752),3233=>array(54,84,625,752),3234=>array(54,-79,625,752),3235=>array(54,84,682,602),3236=>array(46,84,500,752),3237=>array(54,-79,626,752),3238=>array(54,84,626,752),3239=>array(54,-79,626,752),3240=>array(46,46,514,752),3242=>array(46,84,620,752),3243=>array(46,-79,619,753),3244=>array(37,84,632,602),3245=>array(37,-79,643,752),3246=>array(49,84,928,752),3247=>array(46,84,1057,752),3248=>array(54,84,508,752),3249=>array(49,84,628,602),3250=>array(46,84,615,602),3251=>array(42,84,507,752),3253=>array(49,84,620,752),3254=>array(49,84,506,752),3255=>array(49,70,620,752),3256=>array(44,84,499,752),3257=>array(49,84,675,752),3262=>array(-21,84,370,588),3263=>array(-13,339,307,702),3264=>array(-13,46,635,702),3265=>array(-5,84,312,563),3266=>array(-5,84,673,560),3267=>array(22,-173,364,236),3268=>array(24,-173,614,253),3270=>array(-79,354,258,774),3271=>array(-79,46,606,774),3272=>array(-79,-173,438,774),3274=>array(-79,84,868,774),3275=>array(-79,46,1188,774),3276=>array(-160,276,395,774),3277=>array(-22,335,329,703),3285=>array(49,46,299,560),3286=>array(25,-173,364,301),3294=>array(49,84,624,602),3296=>array(37,84,1654,752),3297=>array(37,84,943,602),3302=>array(42,84,507,686),3303=>array(34,84,515,685),3304=>array(22,98,507,688),3305=>array(52,84,527,684),3306=>array(38,84,515,684),3307=>array(33,84,516,688),3308=>array(42,98,529,687),3309=>array(47,98,525,684),3310=>array(36,84,520,687),3311=>array(46,84,521,667),3330=>array(45,-9,323,269),3331=>array(49,-9,256,464),3333=>array(49,-9,1152,464),3334=>array(49,-173,1309,464),3335=>array(49,-232,856,464),3336=>array(49,-232,1411,464),3337=>array(49,-232,586,464),3338=>array(49,-232,1149,464),3339=>array(44,-271,817,464),3340=>array(49,-9,908,465),3342=>array(44,-271,1157,464),3343=>array(44,-271,1153,464),3344=>array(49,-271,1785,465),3346=>array(49,-9,601,464),3347=>array(49,-9,1065,464),3348=>array(49,-9,1146,464),3349=>array(42,-8,819,464),3350=>array(49,-9,907,465),3351=>array(44,-10,830,464),3352=>array(39,0,1279,464),3353=>array(49,-9,916,465),3354=>array(15,0,940,464),3355=>array(15,-9,1217,464),3356=>array(44,-51,663,464),3357=>array(49,-9,1410,464),3358=>array(49,-9,1166,465),3359=>array(39,-9,524,464),3360=>array(43,-9,517,464),3361=>array(44,-9,1146,464),3362=>array(44,-9,1195,465),3363=>array(49,-12,1219,465),3364=>array(49,-9,830,464),3365=>array(76,0,893,464),3366=>array(49,-9,501,464),3367=>array(49,-9,835,467),3368=>array(44,-12,830,464),3370=>array(44,-9,956,464),3371=>array(44,-9,1104,464),3372=>array(49,-9,1258,465),3373=>array(54,0,504,464),3374=>array(71,0,572,464),3375=>array(44,-9,905,464),3376=>array(49,-9,594,464),3377=>array(44,-8,506,464),3378=>array(76,0,869,464),3379=>array(44,-232,589,464),3380=>array(44,-9,514,464),3381=>array(49,-7,884,464),3382=>array(44,-9,888,464),3383=>array(44,-9,1043,464),3384=>array(44,-9,1146,464),3385=>array(44,-9,1063,464),3390=>array(42,-6,426,464),3391=>array(0,0,330,651),3392=>array(0,0,354,651),3393=>array(39,-271,301,466),3394=>array(39,-271,301,466),3395=>array(8,-271,458,466),3398=>array(49,-9,591,465),3399=>array(49,-8,476,464),3400=>array(49,-9,1230,465),3402=>array(49,-9,1319,465),3403=>array(49,-8,1209,464),3404=>array(49,-9,1398,465),3405=>array(-300,520,-19,721),3415=>array(39,-9,504,464),3424=>array(44,-271,817,464),3425=>array(49,-173,1058,465),3430=>array(49,-9,1080,464),3431=>array(15,-143,852,464),3432=>array(44,-7,840,464),3433=>array(44,-9,1166,464),3434=>array(44,-9,643,651),3435=>array(54,-243,918,651),3436=>array(44,-271,1162,464),3437=>array(49,-271,591,464),3438=>array(49,-271,884,464),3439=>array(44,-9,848,651),3585=>array(54,0,520,558),3586=>array(30,0,573,558),3587=>array(30,0,590,559),3588=>array(52,0,530,558),3589=>array(52,0,530,560),3590=>array(30,-5,590,559),3591=>array(25,-5,396,558),3592=>array(26,-5,481,558),3593=>array(30,-5,622,558),3594=>array(30,0,634,592),3595=>array(30,0,651,592),3596=>array(54,-5,741,558),3597=>array(54,-208,783,558),3598=>array(30,-203,545,558),3599=>array(30,-203,545,558),3600=>array(54,-206,477,560),3601=>array(30,0,710,559),3602=>array(52,-5,751,560),3603=>array(54,-5,857,558),3604=>array(52,0,530,558),3605=>array(52,0,530,560),3606=>array(54,-5,520,558),3607=>array(30,0,575,558),3608=>array(54,0,477,560),3609=>array(30,-5,622,558),3610=>array(30,0,533,558),3611=>array(30,0,533,830),3612=>array(78,0,552,558),3613=>array(78,0,552,830),3614=>array(30,0,620,558),3615=>array(30,0,620,830),3616=>array(30,-5,545,558),3617=>array(30,-5,506,558),3618=>array(75,0,513,558),3619=>array(54,-5,437,560),3620=>array(54,-199,520,558),3621=>array(44,-5,499,558),3622=>array(30,-199,545,558),3623=>array(19,-5,444,558),3624=>array(52,0,562,664),3625=>array(30,0,637,558),3626=>array(44,-5,544,659),3627=>array(30,0,584,558),3628=>array(30,0,684,723),3629=>array(36,0,491,558),3630=>array(61,0,545,656),3631=>array(30,0,442,558),3632=>array(44,49,418,510),3633=>array(-364,631,10,824),3634=>array(26,0,421,558),3635=>array(-223,0,421,767),3636=>array(-493,612,-109,775),3637=>array(-493,612,-109,800),3638=>array(-493,612,-64,800),3639=>array(-493,612,-109,800),3640=>array(-201,-206,-85,-34),3641=>array(-337,-206,-89,-34),3642=>array(-157,-115,-75,-33),3647=>array(84,-103,625,782),3648=>array(75,-5,272,553),3649=>array(75,-5,541,553),3650=>array(27,-5,466,830),3651=>array(30,-5,485,828),3652=>array(10,-5,485,828),3653=>array(26,-199,421,558),3654=>array(30,-199,431,559),3655=>array(-424,603,-47,849),3656=>array(-167,858,-109,1031),3657=>array(-293,858,1,1065),3658=>array(-342,858,98,1056),3659=>array(-225,858,-52,1031),3660=>array(-330,861,-18,1078),3661=>array(-223,609,-65,767),3662=>array(-203,858,-42,1067),3663=>array(60,-5,495,430),3664=>array(60,-5,538,428),3665=>array(50,-5,590,428),3666=>array(75,0,613,611),3667=>array(75,-5,615,428),3668=>array(50,-5,637,611),3669=>array(50,-5,637,611),3670=>array(18,-5,585,611),3671=>array(75,-5,789,574),3672=>array(60,-5,659,574),3673=>array(75,-5,715,574),3674=>array(30,0,598,558),3675=>array(40,-5,964,447),3713=>array(55,-6,721,587),3714=>array(53,-15,664,587),3716=>array(54,-5,670,587),3719=>array(34,-207,470,587),3720=>array(37,-18,636,587),3722=>array(54,-210,629,587),3725=>array(54,-5,670,588),3732=>array(54,-5,665,587),3733=>array(54,-6,780,587),3734=>array(45,-257,711,587),3735=>array(55,-5,862,587),3737=>array(54,-11,690,589),3738=>array(55,-5,686,587),3739=>array(55,-5,686,707),3740=>array(54,-5,780,593),3741=>array(54,-5,780,707),3742=>array(54,-5,800,587),3743=>array(54,-5,800,707),3745=>array(55,-11,721,589),3746=>array(54,-5,670,707),3747=>array(54,-7,643,587),3749=>array(46,-7,646,587),3751=>array(46,-7,646,587),3754=>array(58,-7,673,587),3755=>array(55,-5,862,587),3757=>array(54,-7,671,587),3758=>array(53,-7,664,595),3759=>array(54,-21,604,680),3760=>array(57,113,382,578),3761=>array(57,847,482,1049),3762=>array(34,-5,422,587),3763=>array(1,-5,422,788),3764=>array(139,805,639,1059),3765=>array(139,805,713,1059),3766=>array(139,805,639,1059),3767=>array(139,805,713,1059),3768=>array(308,-269,470,-26),3769=>array(248,-263,528,-15),3771=>array(145,838,635,1060),3772=>array(147,-257,632,-72),3773=>array(55,-5,616,829),3776=>array(34,-5,386,576),3777=>array(34,-5,772,576),3778=>array(28,-5,410,1001),3779=>array(17,-5,429,1037),3780=>array(46,-5,311,1025),3782=>array(34,-267,517,579),3784=>array(349,806,429,1012),3785=>array(148,808,630,1035),3786=>array(163,805,609,1015),3787=>array(281,805,497,1019),3788=>array(212,812,560,1049),3789=>array(308,806,470,967),3792=>array(54,-7,667,578),3793=>array(54,-5,665,578),3794=>array(67,-5,557,796),3795=>array(44,-5,665,829),3796=>array(54,-5,632,776),3797=>array(54,-5,632,776),3798=>array(54,-5,780,829),3799=>array(55,-257,702,579),3800=>array(54,-171,670,579),3801=>array(54,-5,841,577),3804=>array(55,-11,1218,579),3805=>array(55,-11,1218,579),3840=>array(52,207,573,983),3841=>array(52,232,534,864),3842=>array(11,274,571,864),3843=>array(11,274,593,864),3844=>array(0,227,583,720),3845=>array(107,227,464,720),3846=>array(0,-174,583,720),3847=>array(-152,393,649,720),3848=>array(141,-174,512,809),3849=>array(80,81,520,716),3850=>array(34,-62,576,799),3851=>array(92,522,508,716),3852=>array(92,-117,508,716),3853=>array(260,-174,340,716),3854=>array(190,-174,410,716),3855=>array(250,-174,350,716),3856=>array(187,-174,413,716),3857=>array(179,-174,421,716),3858=>array(-20,-124,620,719),3859=>array(21,126,579,706),3860=>array(238,403,371,681),3861=>array(128,254,472,716),3862=>array(128,320,477,716),3863=>array(99,378,510,657),3864=>array(159,-9,537,322),3865=>array(260,-201,340,300),3866=>array(241,459,359,577),3867=>array(151,459,449,577),3868=>array(151,419,449,687),3869=>array(123,346,476,683),3870=>array(66,426,520,607),3871=>array(129,448,455,584),3872=>array(128,-13,472,374),3873=>array(126,-149,444,374),3874=>array(40,-86,530,374),3875=>array(97,-176,507,402),3876=>array(27,19,560,339),3877=>array(80,-13,541,374),3878=>array(33,-42,547,434),3879=>array(24,-13,568,390),3880=>array(57,-63,485,401),3881=>array(82,-82,534,374),3882=>array(-65,-149,653,374),3883=>array(-65,-86,653,374),3884=>array(-65,-176,653,402),3885=>array(-65,19,653,339),3886=>array(-65,-13,653,374),3887=>array(-65,-42,653,434),3888=>array(-65,-13,653,390),3889=>array(-65,-63,653,401),3890=>array(-65,-82,653,374),3891=>array(-65,-13,653,374),3892=>array(227,359,373,609),3893=>array(238,-1,371,150),3894=>array(81,159,519,619),3895=>array(251,52,349,150),3896=>array(87,431,495,735),3897=>array(355,538,551,706),3898=>array(2,419,587,687),3899=>array(13,419,598,687),3900=>array(56,-201,484,837),3901=>array(116,-201,544,837),3902=>array(238,-201,457,180),3903=>array(143,-201,362,180),3904=>array(23,27,558,716),3905=>array(42,207,558,716),3906=>array(22,27,558,716),3907=>array(22,-174,558,716),3908=>array(72,207,528,716),3909=>array(54,207,541,716),3910=>array(43,207,557,716),3911=>array(72,207,528,716),3913=>array(96,27,488,726),3914=>array(72,27,528,716),3915=>array(62,207,538,716),3916=>array(72,27,528,716),3917=>array(72,-174,528,716),3918=>array(102,27,500,716),3919=>array(72,27,528,716),3920=>array(62,207,538,716),3921=>array(72,27,528,716),3922=>array(72,-174,528,716),3923=>array(100,27,498,716),3924=>array(72,207,558,716),3925=>array(72,207,558,716),3926=>array(72,207,558,716),3927=>array(72,-174,558,716),3928=>array(30,207,558,716),3929=>array(54,207,601,864),3930=>array(43,207,601,864),3931=>array(72,207,621,864),3932=>array(72,-174,621,864),3933=>array(31,207,558,726),3934=>array(62,27,542,716),3935=>array(62,207,538,716),3936=>array(72,187,580,716),3937=>array(72,207,558,716),3938=>array(86,207,580,716),3939=>array(72,207,558,716),3940=>array(19,27,538,716),3941=>array(62,27,581,716),3942=>array(72,207,558,716),3943=>array(72,27,528,716),3944=>array(52,207,558,716),3945=>array(23,-174,558,716),3953=>array(208,-51,414,140),3954=>array(87,625,539,864),3955=>array(87,-51,539,864),3956=>array(72,-70,524,153),3957=>array(105,-201,524,180),3958=>array(61,41,513,864),3959=>array(61,-201,513,864),3960=>array(61,-11,513,864),3961=>array(61,-201,513,864),3962=>array(137,643,365,777),3963=>array(137,643,405,897),3964=>array(67,643,573,829),3965=>array(67,643,573,929),3966=>array(241,736,359,854),3967=>array(399,180,517,448),3968=>array(61,625,513,864),3969=>array(61,-51,513,864),3970=>array(193,625,391,852),3971=>array(193,625,391,819),3972=>array(307,-201,535,-67),3973=>array(96,-54,488,726),3974=>array(186,461,432,864),3975=>array(288,666,312,864),3976=>array(162,609,438,864),3977=>array(85,575,515,864),3978=>array(165,634,455,864),3979=>array(163,652,486,864),3984=>array(75,-201,510,180),3985=>array(90,-201,510,180),3986=>array(74,-200,510,180),3987=>array(179,-201,413,180),3988=>array(115,-201,485,180),3989=>array(100,-201,496,180),3991=>array(115,-201,485,180),3993=>array(134,-201,453,186),3994=>array(115,-201,485,180),3995=>array(107,-201,493,180),3996=>array(115,-201,485,180),3997=>array(201,-201,399,180),3998=>array(139,-201,463,180),3999=>array(115,-201,485,180),4000=>array(107,-201,493,180),4001=>array(115,-201,485,180),4002=>array(201,-201,399,180),4003=>array(137,-201,461,180),4004=>array(115,-201,510,180),4005=>array(115,-201,510,180),4006=>array(115,-201,510,180),4007=>array(201,-201,413,180),4008=>array(81,-201,510,180),4009=>array(100,-201,545,301),4010=>array(91,-201,545,301),4011=>array(115,-201,561,301),4012=>array(201,-201,440,245),4013=>array(81,-201,510,188),4017=>array(115,-201,510,180),4018=>array(126,-201,528,180),4019=>array(115,-201,510,180),4020=>array(72,-201,493,180),4021=>array(107,-201,528,180),4022=>array(115,-201,510,180),4023=>array(132,-201,468,180),4025=>array(179,-201,413,180),4256=>array(42,-15,633,716),4257=>array(45,-3,677,716),4258=>array(45,-142,695,716),4259=>array(42,-15,657,716),4260=>array(45,0,543,716),4261=>array(47,0,745,716),4262=>array(1,-7,630,715),4263=>array(35,0,740,716),4264=>array(24,0,494,716),4265=>array(66,0,568,716),4266=>array(45,-7,748,716),4267=>array(34,-7,677,716),4268=>array(66,0,563,716),4269=>array(35,-15,681,732),4270=>array(-1,-15,639,719),4271=>array(-1,-209,624,721),4272=>array(34,-15,689,716),4273=>array(66,-15,581,716),4274=>array(66,0,547,716),4275=>array(35,-15,681,732),4276=>array(35,-209,644,732),4277=>array(34,-209,671,716),4278=>array(66,0,577,732),4279=>array(52,0,557,716),4280=>array(50,-15,557,716),4281=>array(66,0,563,716),4282=>array(35,-163,593,732),4283=>array(34,-7,736,716),4284=>array(66,-209,547,716),4285=>array(49,-15,614,732),4286=>array(66,0,563,716),4287=>array(-66,-171,660,716),4288=>array(45,-15,701,716),4289=>array(66,0,552,716),4290=>array(23,-15,571,716),4291=>array(34,0,539,716),4292=>array(58,-209,618,716),4293=>array(34,-15,758,716),4304=>array(36,-12,398,490),4305=>array(37,-12,519,721),4306=>array(42,-256,523,455),4307=>array(36,-251,836,454),4308=>array(20,-256,472,452),4309=>array(30,-256,498,451),4310=>array(24,-12,689,734),4311=>array(34,-16,834,454),4312=>array(34,-16,495,452),4313=>array(30,-256,498,451),4314=>array(36,-251,921,449),4315=>array(34,-12,486,728),4316=>array(66,-12,518,723),4317=>array(34,-33,700,449),4318=>array(34,-12,502,727),4319=>array(40,-256,508,466),4320=>array(34,-16,651,727),4321=>array(66,-12,512,716),4322=>array(34,-256,772,623),4323=>array(22,-257,745,449),4324=>array(34,-256,743,451),4325=>array(34,-257,436,716),4326=>array(36,-251,655,449),4327=>array(44,-257,446,452),4328=>array(34,-12,486,734),4329=>array(66,0,451,733),4330=>array(45,-256,534,452),4331=>array(34,-12,486,716),4332=>array(32,-256,562,734),4333=>array(34,-257,530,732),4334=>array(66,-12,518,716),4335=>array(32,-238,771,450),4336=>array(35,-12,514,736),4337=>array(40,-12,619,716),4338=>array(10,-12,549,453),4339=>array(23,-256,478,450),4340=>array(34,-257,448,495),4341=>array(43,-250,549,583),4342=>array(35,-256,788,715),4347=>array(87,-12,449,464),4352=>array(129,91,796,665),4353=>array(114,91,844,665),4354=>array(204,90,873,665),4355=>array(184,90,838,664),4356=>array(149,90,888,665),4357=>array(173,90,827,665),4358=>array(215,90,785,665),4359=>array(215,90,785,665),4360=>array(145,88,855,665),4361=>array(107,76,882,663),4362=>array(110,78,890,663),4363=>array(187,92,813,666),4364=>array(109,76,880,665),4365=>array(105,80,895,666),4366=>array(109,76,880,665),4367=>array(206,90,790,663),4368=>array(189,91,837,664),4369=>array(187,90,813,665),4370=>array(156,88,844,665),4371=>array(144,91,844,665),4372=>array(144,93,881,665),4373=>array(144,90,888,665),4374=>array(144,89,853,665),4375=>array(149,89,842,665),4376=>array(149,85,881,665),4377=>array(149,85,887,665),4378=>array(149,85,876,666),4379=>array(232,78,789,722),4380=>array(142,89,853,665),4381=>array(232,78,768,711),4382=>array(145,88,844,665),4383=>array(145,88,881,665),4384=>array(145,88,888,665),4385=>array(145,78,884,664),4386=>array(111,78,889,665),4387=>array(101,78,933,665),4388=>array(93,78,907,665),4389=>array(101,78,962,665),4390=>array(101,78,962,666),4391=>array(140,78,885,666),4392=>array(140,78,885,665),4393=>array(145,88,855,665),4394=>array(145,88,868,665),4395=>array(232,78,768,725),4396=>array(197,78,803,728),4397=>array(130,78,844,665),4398=>array(130,78,858,665),4399=>array(130,78,888,665),4400=>array(125,78,887,665),4401=>array(125,78,860,665),4402=>array(125,78,868,665),4403=>array(57,78,889,665),4404=>array(57,78,949,663),4405=>array(125,78,876,663),4406=>array(117,78,883,666),4407=>array(119,78,885,665),4408=>array(125,78,873,663),4409=>array(125,78,855,665),4410=>array(125,78,868,665),4411=>array(125,78,876,666),4412=>array(216,-1,702,716),4413=>array(92,-1,860,716),4414=>array(298,-1,784,716),4415=>array(140,-1,908,716),4416=>array(258,93,742,659),4417=>array(125,91,844,665),4418=>array(125,90,888,665),4419=>array(125,89,860,665),4420=>array(125,89,853,665),4421=>array(125,78,880,663),4422=>array(125,119,886,664),4423=>array(125,122,874,617),4424=>array(125,78,885,666),4425=>array(125,78,885,665),4426=>array(125,90,855,665),4427=>array(125,91,868,665),4428=>array(232,131,768,551),4429=>array(119,78,874,666),4430=>array(97,-1,903,720),4431=>array(92,-1,903,720),4432=>array(97,-1,903,720),4433=>array(97,-1,908,720),4434=>array(123,78,873,665),4435=>array(123,78,876,666),4436=>array(97,-1,903,814),4437=>array(97,-1,903,814),4438=>array(127,89,853,665),4439=>array(202,78,798,714),4440=>array(100,91,900,666),4441=>array(182,78,818,573),4449=>array(421,-64,711,842),4450=>array(345,-64,655,842),4451=>array(381,-64,676,842),4452=>array(340,-64,661,842),4453=>array(302,-65,597,841),4454=>array(186,-63,677,843),4455=>array(332,-64,626,842),4456=>array(226,-63,687,843),4457=>array(60,197,940,614),4458=>array(46,-64,931,842),4459=>array(51,-64,892,842),4460=>array(61,-64,857,842),4461=>array(60,197,940,615),4462=>array(79,76,921,554),4463=>array(68,-65,882,841),4464=>array(53,-63,912,843),4465=>array(70,-64,867,842),4466=>array(72,111,928,589),4467=>array(57,357,943,436),4468=>array(67,-64,867,842),4469=>array(462,-64,538,842),4470=>array(62,7,943,842),4471=>array(79,-64,936,842),4472=>array(62,7,943,842),4473=>array(62,-3,938,842),4474=>array(62,7,943,841),4475=>array(79,-64,920,841),4476=>array(57,22,943,841),4477=>array(62,7,943,842),4478=>array(79,-64,920,842),4479=>array(63,-70,907,841),4480=>array(63,-68,907,843),4481=>array(63,-68,907,843),4482=>array(62,22,943,783),4483=>array(62,-64,943,783),4484=>array(62,-70,907,842),4485=>array(62,-69,907,842),4486=>array(62,-70,907,842),4487=>array(62,22,943,782),4488=>array(62,-69,907,842),4489=>array(68,-69,936,842),4490=>array(68,-69,907,842),4491=>array(57,22,943,841),4492=>array(63,-68,907,843),4493=>array(79,-64,920,762),4494=>array(68,-69,936,842),4495=>array(68,-70,907,841),4496=>array(68,-63,912,843),4497=>array(68,-70,907,842),4498=>array(63,-68,907,843),4499=>array(79,-64,921,756),4500=>array(68,-64,867,842),4501=>array(79,-64,921,615),4502=>array(79,197,921,615),4503=>array(65,-64,921,842),4504=>array(321,-63,812,843),4505=>array(311,-63,772,843),4506=>array(62,22,943,842),4507=>array(79,-64,921,842),4508=>array(57,22,943,842),4509=>array(410,50,584,842),4510=>array(410,280,584,463),4511=>array(410,-65,719,841),4512=>array(79,-64,921,601),4513=>array(333,-69,667,842),4514=>array(329,280,671,463),4520=>array(129,91,796,665),4521=>array(114,91,844,665),4522=>array(114,78,880,665),4523=>array(204,90,873,665),4524=>array(144,78,880,666),4525=>array(144,91,876,666),4526=>array(184,90,838,664),4527=>array(173,90,827,665),4528=>array(149,85,842,665),4529=>array(149,85,852,665),4530=>array(149,85,853,665),4531=>array(149,78,880,665),4532=>array(149,85,855,665),4533=>array(149,85,868,665),4534=>array(149,85,876,666),4535=>array(215,90,785,665),4536=>array(215,90,785,665),4537=>array(145,78,880,664),4538=>array(107,76,882,663),4539=>array(110,78,890,663),4540=>array(187,92,813,666),4541=>array(109,76,880,665),4542=>array(109,76,880,665),4543=>array(206,90,790,663),4544=>array(189,91,837,664),4545=>array(187,90,813,665),4546=>array(156,88,844,665),4547=>array(114,85,887,665),4548=>array(75,78,913,665),4549=>array(144,91,844,665),4550=>array(144,90,888,665),4551=>array(144,78,880,665),4552=>array(144,93,886,665),4553=>array(144,90,855,665),4554=>array(149,89,842,665),4555=>array(149,85,887,665),4556=>array(76,78,961,665),4557=>array(149,85,881,665),4558=>array(149,85,888,665),4559=>array(76,85,944,666),4560=>array(149,85,887,665),4561=>array(76,85,920,665),4562=>array(76,78,973,665),4563=>array(76,78,973,665),4564=>array(76,85,946,666),4565=>array(149,85,848,728),4566=>array(80,78,960,665),4567=>array(149,85,886,665),4568=>array(149,85,873,665),4569=>array(149,85,878,666),4570=>array(142,89,844,665),4571=>array(142,85,887,665),4572=>array(142,89,853,665),4573=>array(142,78,880,665),4574=>array(84,78,960,665),4575=>array(142,89,886,665),4576=>array(142,78,885,665),4577=>array(142,89,876,666),4578=>array(232,78,768,711),4579=>array(145,85,887,665),4580=>array(145,88,868,665),4581=>array(145,88,876,666),4582=>array(232,78,768,725),4583=>array(130,78,844,665),4584=>array(130,78,888,665),4585=>array(125,78,887,665),4586=>array(125,78,868,665),4587=>array(258,93,742,659),4588=>array(125,91,844,665),4589=>array(72,91,913,665),4590=>array(125,122,874,617),4591=>array(125,90,873,663),4592=>array(232,131,768,551),4593=>array(125,78,880,663),4594=>array(125,119,886,664),4595=>array(127,89,853,665),4596=>array(202,78,798,714),4597=>array(116,91,881,666),4598=>array(116,85,887,666),4599=>array(116,89,852,666),4600=>array(116,89,853,666),4601=>array(182,78,818,573),7680=>array(-1,-210,668,716),7681=>array(38,-210,516,530),7682=>array(74,0,615,881),7683=>array(67,-12,517,881),7684=>array(74,-210,615,716),7685=>array(67,-210,517,716),7686=>array(74,-179,615,716),7687=>array(67,-179,517,716),7688=>array(51,-209,684,898),7689=>array(39,-196,491,728),7690=>array(80,0,672,881),7691=>array(36,-12,486,881),7692=>array(80,-210,672,716),7693=>array(36,-210,486,716),7694=>array(80,-179,672,716),7695=>array(36,-179,486,716),7696=>array(80,-205,672,716),7697=>array(36,-205,486,716),7698=>array(80,-210,672,716),7699=>array(36,-210,486,716),7700=>array(79,0,614,1050),7701=>array(39,-12,517,882),7702=>array(79,0,614,1050),7703=>array(39,-12,517,882),7704=>array(79,-210,614,716),7705=>array(39,-210,517,530),7706=>array(79,-185,614,716),7707=>array(39,-185,517,530),7708=>array(79,-205,614,902),7709=>array(39,-205,517,722),7710=>array(80,0,563,881),7711=>array(8,0,311,881),7712=>array(52,-12,714,865),7713=>array(34,-210,491,697),7714=>array(80,0,642,881),7715=>array(67,0,490,881),7716=>array(80,-210,642,716),7717=>array(67,-210,490,716),7718=>array(80,0,642,881),7719=>array(67,0,490,881),7720=>array(27,-205,642,716),7721=>array(2,-205,490,716),7722=>array(80,-200,642,716),7723=>array(67,-200,490,716),7724=>array(-28,-185,299,716),7725=>array(-58,-185,270,716),7726=>array(3,0,274,1066),7727=>array(5,0,276,896),7728=>array(73,0,665,898),7729=>array(66,0,496,898),7730=>array(73,-210,665,716),7731=>array(66,-210,496,716),7732=>array(73,-179,665,716),7733=>array(66,-179,496,716),7734=>array(75,-210,523,716),7735=>array(67,-210,158,716),7736=>array(75,-210,523,865),7737=>array(-41,-210,264,865),7738=>array(75,-179,523,716),7739=>array(-42,-179,262,716),7740=>array(75,-210,523,716),7741=>array(-39,-210,270,716),7742=>array(76,0,757,898),7743=>array(65,0,769,728),7744=>array(76,0,757,881),7745=>array(65,0,769,711),7746=>array(76,-210,757,716),7747=>array(65,-210,769,530),7748=>array(79,0,642,881),7749=>array(68,0,490,711),7750=>array(79,-210,642,716),7751=>array(68,-210,490,530),7752=>array(79,-179,642,716),7753=>array(68,-179,490,530),7754=>array(79,-210,642,716),7755=>array(68,-210,490,530),7756=>array(47,-12,732,1064),7757=>array(35,-12,521,902),7758=>array(47,-12,732,1035),7759=>array(35,-12,521,865),7760=>array(47,-12,732,1050),7761=>array(35,-12,521,882),7762=>array(47,-12,732,1050),7763=>array(35,-12,521,882),7764=>array(77,0,623,898),7765=>array(68,-199,518,728),7766=>array(77,0,623,881),7767=>array(68,-199,518,711),7768=>array(80,0,711,881),7769=>array(64,0,346,711),7770=>array(80,-210,711,716),7771=>array(64,-210,346,530),7772=>array(80,-210,711,865),7773=>array(14,-210,346,697),7774=>array(80,-179,711,716),7775=>array(8,-179,346,530),7776=>array(45,-12,615,881),7777=>array(31,-12,461,711),7778=>array(45,-210,615,728),7779=>array(31,-210,461,530),7780=>array(45,-12,615,939),7781=>array(31,-12,461,768),7782=>array(45,-12,615,1047),7783=>array(31,-12,461,877),7784=>array(45,-210,615,881),7785=>array(31,-210,461,711),7786=>array(22,0,589,881),7787=>array(17,-7,269,881),7788=>array(22,-210,589,716),7789=>array(17,-210,269,700),7790=>array(22,-179,589,716),7791=>array(-11,-179,293,700),7792=>array(22,-210,589,716),7793=>array(6,-210,315,700),7794=>array(79,-210,642,716),7795=>array(66,-210,487,518),7796=>array(79,-185,642,716),7797=>array(66,-185,487,518),7798=>array(79,-210,642,716),7799=>array(66,-210,487,518),7800=>array(79,-12,642,1072),7801=>array(66,-12,487,902),7802=>array(79,-12,642,1002),7803=>array(66,-12,487,846),7804=>array(6,0,660,886),7805=>array(13,0,488,716),7806=>array(6,-210,660,716),7807=>array(13,-210,488,518),7808=>array(12,0,933,898),7809=>array(5,0,717,728),7810=>array(12,0,933,898),7811=>array(5,0,717,728),7812=>array(12,0,933,881),7813=>array(5,0,717,711),7814=>array(12,0,933,881),7815=>array(5,0,717,711),7816=>array(12,-210,933,716),7817=>array(5,-210,717,518),7818=>array(5,0,661,881),7819=>array(7,0,493,711),7820=>array(5,0,661,881),7821=>array(7,0,493,711),7822=>array(5,0,661,881),7823=>array(16,-210,492,711),7824=>array(18,0,584,898),7825=>array(20,0,479,728),7826=>array(18,-210,584,716),7827=>array(20,-210,479,518),7828=>array(18,-179,584,716),7829=>array(20,-179,479,518),7830=>array(67,-179,490,716),7831=>array(1,-7,272,881),7832=>array(5,0,717,752),7833=>array(16,-210,492,752),7834=>array(38,-12,557,758),7835=>array(8,0,311,881),7840=>array(-1,-210,668,716),7841=>array(38,-210,516,530),7842=>array(-1,0,668,934),7843=>array(38,-12,516,756),7844=>array(-1,0,668,978),7845=>array(38,-12,586,808),7846=>array(-1,0,668,978),7847=>array(-30,-12,516,808),7848=>array(-1,0,668,996),7849=>array(38,-12,573,826),7850=>array(-1,0,668,1058),7851=>array(38,-12,516,888),7852=>array(-1,-210,668,898),7853=>array(38,-210,516,728),7854=>array(-1,0,668,1039),7855=>array(38,-12,516,859),7856=>array(-1,0,668,1039),7857=>array(38,-12,516,859),7858=>array(-1,0,668,1074),7859=>array(38,-12,516,895),7860=>array(-1,0,668,1060),7861=>array(38,-12,516,880),7862=>array(-1,-210,668,902),7863=>array(38,-210,516,722),7864=>array(79,-210,614,716),7865=>array(39,-210,517,530),7866=>array(79,0,614,936),7867=>array(39,-12,517,756),7868=>array(79,0,614,884),7869=>array(39,-12,517,716),7870=>array(79,0,652,978),7871=>array(39,-12,586,808),7872=>array(34,0,614,978),7873=>array(-30,-12,517,808),7874=>array(79,0,638,996),7875=>array(39,-12,573,826),7876=>array(79,0,614,1056),7877=>array(39,-12,517,886),7878=>array(79,-210,614,900),7879=>array(39,-210,517,728),7880=>array(33,0,245,936),7881=>array(33,0,245,756),7882=>array(92,-210,187,716),7883=>array(67,-210,158,716),7884=>array(47,-210,732,728),7885=>array(35,-210,521,530),7886=>array(47,-12,732,936),7887=>array(35,-12,521,756),7888=>array(47,-12,732,978),7889=>array(35,-12,586,808),7890=>array(47,-12,732,978),7891=>array(-30,-12,521,808),7892=>array(47,-12,732,996),7893=>array(35,-12,573,826),7894=>array(47,-12,732,1056),7895=>array(35,-12,521,886),7896=>array(47,-210,732,900),7897=>array(35,-210,521,728),7898=>array(47,-12,776,900),7899=>array(35,-12,555,728),7900=>array(47,-12,776,900),7901=>array(35,-12,555,728),7902=>array(47,-12,776,936),7903=>array(35,-12,555,756),7904=>array(47,-12,776,884),7905=>array(35,-12,555,716),7906=>array(47,-210,776,768),7907=>array(35,-210,555,606),7908=>array(79,-210,642,716),7909=>array(66,-210,487,518),7910=>array(79,-12,642,936),7911=>array(66,-12,487,756),7912=>array(79,-12,776,900),7913=>array(66,-12,625,728),7914=>array(79,-12,776,900),7915=>array(66,-12,625,728),7916=>array(79,-12,776,936),7917=>array(66,-12,625,756),7918=>array(79,-12,776,884),7919=>array(66,-12,625,716),7920=>array(79,-210,776,768),7921=>array(66,-210,625,620),7922=>array(5,0,661,900),7923=>array(16,-210,492,728),7924=>array(5,-210,661,716),7925=>array(16,-210,492,518),7926=>array(5,0,661,936),7927=>array(16,-210,492,756),7928=>array(5,0,661,884),7929=>array(16,-210,492,716),7936=>array(35,-12,541,763),7937=>array(35,-12,541,763),7938=>array(35,-12,541,763),7939=>array(35,-12,541,763),7940=>array(35,-12,541,763),7941=>array(35,-12,541,763),7942=>array(35,-12,541,847),7943=>array(35,-12,541,847),7944=>array(-1,0,668,763),7945=>array(-1,0,668,763),7946=>array(-50,0,681,763),7947=>array(-50,0,681,763),7948=>array(-46,0,681,763),7949=>array(-38,0,681,763),7950=>array(-43,0,719,763),7951=>array(-43,0,719,763),7952=>array(29,-12,405,763),7953=>array(29,-12,405,763),7954=>array(29,-12,405,763),7955=>array(29,-12,405,763),7956=>array(29,-12,405,763),7957=>array(29,-12,405,763),7960=>array(-43,0,639,763),7961=>array(-44,0,639,763),7962=>array(-43,0,770,763),7963=>array(-43,0,770,763),7964=>array(-71,0,770,763),7965=>array(-63,0,769,763),7968=>array(68,-199,490,763),7969=>array(68,-199,490,763),7970=>array(68,-199,490,763),7971=>array(68,-199,490,763),7972=>array(68,-199,490,763),7973=>array(68,-199,490,763),7974=>array(68,-199,490,847),7975=>array(68,-199,490,847),7976=>array(-43,0,667,763),7977=>array(-44,0,667,763),7978=>array(-43,0,798,763),7979=>array(-43,0,798,763),7980=>array(-71,0,798,763),7981=>array(-63,0,798,763),7982=>array(-43,0,843,763),7983=>array(-43,0,843,763),7984=>array(59,0,162,763),7985=>array(53,0,156,763),7986=>array(-13,0,236,763),7987=>array(-13,0,236,763),7988=>array(-15,0,251,763),7989=>array(-15,0,243,763),7990=>array(-36,0,253,847),7991=>array(-36,0,253,847),7992=>array(-43,0,212,763),7993=>array(-44,0,212,763),7994=>array(-43,0,343,763),7995=>array(-43,0,343,763),7996=>array(-71,0,343,763),7997=>array(-63,0,343,763),7998=>array(-43,0,388,763),7999=>array(-43,0,388,763),8000=>array(35,-12,521,763),8001=>array(35,-12,521,763),8002=>array(35,-12,521,763),8003=>array(35,-12,521,763),8004=>array(35,-12,521,763),8005=>array(35,-12,521,763),8008=>array(-30,-12,732,763),8009=>array(-38,-12,732,763),8010=>array(-43,-12,848,763),8011=>array(-31,-12,848,763),8012=>array(-37,-12,848,763),8013=>array(-36,-12,848,763),8016=>array(68,-12,483,763),8017=>array(68,-12,483,763),8018=>array(68,-12,483,763),8019=>array(68,-12,483,763),8020=>array(68,-12,483,763),8021=>array(68,-12,483,763),8022=>array(68,-12,483,847),8023=>array(68,-12,483,847),8025=>array(-43,0,771,763),8027=>array(-43,0,887,763),8029=>array(-43,0,879,763),8031=>array(-43,0,934,763),8032=>array(35,-12,731,763),8033=>array(35,-12,731,763),8034=>array(35,-12,731,763),8035=>array(35,-12,731,763),8036=>array(35,-12,731,763),8037=>array(35,-12,731,763),8038=>array(35,-12,731,847),8039=>array(35,-12,731,847),8040=>array(-30,0,706,763),8041=>array(-38,0,706,763),8042=>array(-43,0,822,763),8043=>array(-43,0,822,763),8044=>array(-43,0,816,763),8045=>array(-43,0,815,763),8046=>array(-43,0,859,763),8047=>array(-43,0,859,763),8048=>array(35,-12,541,736),8049=>array(35,-12,541,736),8050=>array(29,-12,405,736),8051=>array(29,-12,405,736),8052=>array(68,-199,490,736),8053=>array(68,-199,490,736),8054=>array(35,0,155,736),8055=>array(67,0,187,736),8056=>array(35,-12,521,736),8057=>array(35,-12,521,736),8058=>array(68,-12,483,736),8059=>array(68,-12,483,736),8060=>array(35,-12,731,736),8061=>array(35,-12,731,736),8064=>array(35,-208,541,763),8065=>array(35,-208,541,763),8066=>array(35,-208,541,763),8067=>array(35,-208,541,763),8068=>array(35,-208,541,763),8069=>array(35,-208,541,763),8070=>array(35,-208,541,847),8071=>array(35,-208,541,847),8072=>array(-1,-208,668,763),8073=>array(-1,-208,668,763),8074=>array(-50,-208,681,763),8075=>array(-50,-208,681,763),8076=>array(-46,-208,681,763),8077=>array(-38,-208,681,763),8078=>array(-43,-208,719,763),8079=>array(-43,-208,719,763),8080=>array(68,-208,490,763),8081=>array(68,-208,490,763),8082=>array(68,-208,490,763),8083=>array(68,-208,490,763),8084=>array(68,-208,490,763),8085=>array(68,-208,490,763),8086=>array(68,-208,490,847),8087=>array(68,-208,490,847),8088=>array(-43,-208,667,763),8089=>array(-44,-208,667,763),8090=>array(-43,-208,798,763),8091=>array(-43,-208,798,763),8092=>array(-71,-208,798,763),8093=>array(-63,-208,798,763),8094=>array(-43,-208,843,763),8095=>array(-43,-208,843,763),8096=>array(35,-208,731,763),8097=>array(35,-208,731,763),8098=>array(35,-208,731,763),8099=>array(35,-208,731,763),8100=>array(35,-208,731,763),8101=>array(35,-208,731,763),8102=>array(35,-208,731,847),8103=>array(35,-208,731,847),8104=>array(-30,-208,706,763),8105=>array(-38,-208,706,763),8106=>array(-43,-208,822,763),8107=>array(-43,-208,822,763),8108=>array(-43,-208,816,763),8109=>array(-43,-208,815,763),8110=>array(-43,-208,859,763),8111=>array(-43,-208,859,763),8112=>array(35,-12,541,722),8113=>array(35,-12,541,697),8114=>array(35,-208,541,736),8115=>array(35,-208,541,530),8116=>array(35,-208,541,736),8118=>array(35,-12,541,717),8119=>array(35,-208,541,717),8120=>array(-1,0,668,889),8121=>array(-1,0,668,835),8122=>array(-1,0,668,736),8123=>array(-1,0,668,736),8124=>array(-1,-208,668,716),8125=>array(86,579,189,763),8126=>array(111,-208,289,-42),8127=>array(86,579,189,763),8128=>array(-5,590,284,717),8129=>array(-5,591,284,819),8130=>array(68,-208,490,736),8131=>array(68,-208,490,530),8132=>array(68,-208,490,736),8134=>array(68,-199,490,717),8135=>array(68,-208,490,717),8136=>array(-43,0,640,736),8137=>array(-43,0,651,736),8138=>array(-43,0,668,736),8139=>array(-43,0,679,736),8140=>array(80,-208,642,716),8141=>array(16,579,265,763),8142=>array(16,579,282,763),8143=>array(-5,583,284,847),8144=>array(-34,0,255,722),8145=>array(-41,0,264,697),8146=>array(-55,0,276,736),8147=>array(-55,0,276,736),8150=>array(-34,0,255,717),8151=>array(-32,0,257,819),8152=>array(-5,0,284,889),8153=>array(-14,0,291,835),8154=>array(-43,0,213,736),8155=>array(-43,0,213,736),8157=>array(16,579,265,763),8158=>array(16,579,274,763),8159=>array(-5,583,284,847),8160=>array(68,-12,483,722),8161=>array(68,-12,483,697),8162=>array(68,-12,483,736),8163=>array(68,-12,483,736),8164=>array(66,-199,536,763),8165=>array(66,-199,536,763),8166=>array(68,-12,483,717),8167=>array(68,-12,483,819),8168=>array(5,0,661,889),8169=>array(5,0,661,835),8170=>array(-43,0,736,736),8171=>array(-43,0,740,736),8172=>array(-43,0,649,763),8173=>array(-27,600,304,736),8174=>array(-27,600,304,736),8175=>array(70,600,189,736),8178=>array(35,-208,731,736),8179=>array(35,-208,731,518),8180=>array(35,-208,731,736),8182=>array(35,-12,731,717),8183=>array(35,-208,731,717),8184=>array(-17,-12,732,736),8185=>array(-6,-12,732,736),8186=>array(-17,0,706,736),8187=>array(-6,0,706,736),8188=>array(52,-208,706,728),8189=>array(84,600,203,736),8190=>array(88,579,191,763),8208=>array(32,215,301,303),8209=>array(32,215,301,303),8210=>array(-6,223,562,295),8211=>array(-6,223,506,295),8212=>array(-6,223,1006,295),8213=>array(26,223,538,295),8214=>array(92,-85,336,716),8215=>array(-6,-165,506,-35),8216=>array(64,494,166,728),8217=>array(56,482,158,716),8218=>array(53,-132,155,102),8219=>array(64,482,166,716),8220=>array(43,494,297,728),8221=>array(36,482,290,716),8222=>array(36,-132,290,102),8223=>array(44,482,298,716),8224=>array(39,-169,517,699),8225=>array(39,-169,517,706),8226=>array(51,227,299,474),8227=>array(52,197,321,504),8228=>array(89,0,189,100),8229=>array(89,0,467,100),8230=>array(117,0,883,100),8231=>array(89,302,189,402),8240=>array(18,-27,982,728),8241=>array(18,-27,1310,728),8242=>array(46,462,192,716),8243=>array(46,462,342,716),8244=>array(46,462,492,716),8245=>array(30,462,176,716),8246=>array(30,462,326,716),8247=>array(30,462,476,716),8248=>array(30,-175,282,32),8249=>array(44,35,271,481),8250=>array(62,35,289,481),8251=>array(116,-125,883,641),8252=>array(85,0,387,716),8253=>array(46,0,508,747),8254=>array(-6,740,506,790),8255=>array(3,-203,941,4),8256=>array(3,578,941,785),8257=>array(30,-175,282,146),8258=>array(33,-3,786,728),8259=>array(32,185,301,333),8260=>array(-222,-25,393,732),8261=>array(68,-199,262,716),8262=>array(16,-199,210,716),8304=>array(15,349,318,725),8308=>array(11,358,319,725),8309=>array(16,349,313,716),8310=>array(9,349,315,725),8311=>array(36,358,304,716),8312=>array(22,349,312,725),8313=>array(18,349,323,725),8314=>array(37,395,296,654),8315=>array(37,496,296,553),8316=>array(37,436,296,613),8317=>array(32,209,195,769),8318=>array(16,209,178,769),8319=>array(51,358,293,646),8320=>array(15,-24,318,352),8321=>array(52,-15,232,352),8322=>array(12,-15,316,352),8323=>array(16,-24,315,352),8324=>array(11,-15,319,352),8325=>array(16,-24,313,343),8326=>array(9,-24,315,352),8327=>array(36,-15,304,343),8328=>array(22,-24,312,352),8329=>array(18,-24,323,352),8330=>array(37,22,296,281),8331=>array(37,123,296,180),8332=>array(37,63,296,240),8333=>array(32,-164,195,396),8334=>array(16,-164,178,396),8352=>array(20,0,547,719),8353=>array(51,-63,525,782),8354=>array(45,-12,533,728),8355=>array(80,0,554,716),8356=>array(13,-14,528,728),8357=>array(65,-71,769,652),8358=>array(21,0,535,719),8359=>array(21,0,539,716),8360=>array(18,-12,986,716),8361=>array(8,0,929,716),8362=>array(72,0,712,518),8363=>array(67,0,514,723),8364=>array(-14,-12,541,728),8400=>array(28,574,552,716),8401=>array(48,574,572,716),8402=>array(264,-194,336,706),8403=>array(264,-12,336,524),8404=>array(34,419,668,646),8405=>array(32,419,666,646),8406=>array(28,504,555,716),8407=>array(45,504,572,716),8408=>array(146,102,454,410),8409=>array(146,102,465,421),8410=>array(146,91,465,410),8411=>array(112,611,488,707),8412=>array(42,611,558,707),8413=>array(63,-131,837,643),8414=>array(93,-101,807,613),8415=>array(9,-186,891,697),8416=>array(63,-131,837,643),8417=>array(28,504,672,716),8448=>array(46,-27,825,728),8449=>array(46,-27,822,728),8450=>array(37,-15,632,677),8451=>array(44,-12,983,728),8452=>array(41,0,588,662),8453=>array(53,-27,836,728),8454=>array(53,-27,823,728),8455=>array(42,-15,480,677),8456=>array(30,-15,630,677),8457=>array(44,0,873,725),8458=>array(-25,-201,523,327),8459=>array(23,-9,1078,665),8460=>array(46,-20,940,698),8461=>array(19,0,703,662),8462=>array(19,-12,458,694),8463=>array(19,-12,458,694),8464=>array(8,-201,834,654),8465=>array(26,-20,498,677),8466=>array(48,-8,842,664),8467=>array(5,-5,288,627),8468=>array(3,-12,739,716),8469=>array(-12,-11,710,662),8470=>array(79,0,1031,716),8471=>array(0,-9,737,728),8472=>array(48,-216,701,516),8473=>array(19,0,524,662),8474=>array(37,-198,685,677),8475=>array(71,-13,951,658),8476=>array(46,-20,747,686),8477=>array(19,0,677,662),8478=>array(19,0,677,662),8479=>array(19,-176,677,817),8480=>array(93,311,866,723),8481=>array(100,318,1085,716),8482=>array(100,318,861,716),8483=>array(10,-176,711,817),8484=>array(11,0,581,662),8485=>array(50,-192,494,690),8486=>array(28,0,740,677),8487=>array(28,-15,740,662),8488=>array(28,-194,644,687),8489=>array(2,0,245,530),8490=>array(73,0,665,716),8491=>array(-1,0,668,922),8492=>array(105,-5,951,659),8493=>array(53,-20,627,697),8494=>array(35,-12,521,530),8495=>array(31,-4,398,328),8496=>array(75,-6,671,666),8497=>array(35,-6,885,668),8498=>array(47,0,530,716),8499=>array(36,-12,1214,661),8500=>array(37,-6,379,318),8501=>array(64,-19,649,716),8502=>array(67,0,631,716),8503=>array(25,0,325,716),8504=>array(72,-18,630,716),8531=>array(52,-25,815,732),8532=>array(12,-25,815,732),8533=>array(52,-25,813,732),8534=>array(12,-25,813,732),8535=>array(16,-25,813,732),8536=>array(11,-25,813,732),8537=>array(52,-25,813,732),8538=>array(16,-25,813,732),8539=>array(52,-25,804,732),8540=>array(16,-25,804,732),8541=>array(16,-25,804,732),8542=>array(73,-25,804,732),8543=>array(52,-25,727,732),8544=>array(92,0,187,716),8545=>array(92,0,464,716),8546=>array(92,0,741,716),8547=>array(92,0,934,716),8548=>array(6,0,660,716),8549=>array(6,0,843,716),8550=>array(2,0,960,716),8551=>array(2,0,1197,716),8552=>array(92,0,940,716),8553=>array(5,0,661,716),8554=>array(5,0,853,716),8555=>array(5,0,964,716),8556=>array(75,0,523,716),8557=>array(51,-12,683,728),8558=>array(80,0,672,716),8559=>array(76,0,757,716),8560=>array(67,0,155,716),8561=>array(67,0,377,716),8562=>array(67,0,599,716),8563=>array(67,0,697,716),8564=>array(13,0,488,518),8565=>array(13,0,633,716),8566=>array(13,0,855,716),8567=>array(13,0,1077,716),8568=>array(67,0,708,716),8569=>array(7,0,493,518),8570=>array(7,0,645,716),8571=>array(7,0,867,716),8572=>array(67,0,155,716),8573=>array(39,-12,491,530),8574=>array(36,-12,486,716),8575=>array(65,0,769,530),8576=>array(47,0,936,716),8577=>array(80,0,672,716),8578=>array(47,0,936,716),8592=>array(40,100,673,412),8593=>array(201,0,513,662),8594=>array(40,100,673,412),8595=>array(201,0,513,662),8596=>array(40,100,673,412),8597=>array(201,0,513,662),8598=>array(100,102,586,588),8599=>array(128,102,614,588),8600=>array(128,74,614,560),8601=>array(100,74,586,560),8602=>array(40,100,673,412),8603=>array(40,100,673,412),8604=>array(40,100,674,412),8605=>array(39,100,673,412),8606=>array(40,100,673,412),8607=>array(201,0,513,662),8608=>array(40,100,673,412),8609=>array(201,0,513,662),8610=>array(40,100,673,412),8611=>array(40,100,673,412),8612=>array(40,100,673,412),8613=>array(201,0,513,662),8614=>array(40,100,673,412),8615=>array(201,0,513,662),8616=>array(201,0,513,662),8617=>array(40,100,673,482),8618=>array(40,100,673,482),8619=>array(40,100,673,500),8620=>array(40,100,673,500),8621=>array(40,100,774,412),8622=>array(40,100,773,412),8623=>array(199,0,520,662),8624=>array(120,71,553,603),8625=>array(160,71,593,603),8626=>array(120,59,553,591),8627=>array(160,59,593,591),8628=>array(97,94,629,527),8629=>array(120,59,553,591),8630=>array(67,181,638,497),8631=>array(75,181,646,497),8632=>array(81,102,633,662),8633=>array(40,-56,673,568),8634=>array(60,21,740,701),8635=>array(60,21,740,701),8636=>array(40,232,673,412),8637=>array(40,100,673,280),8638=>array(333,0,513,662),8639=>array(201,0,381,662),8640=>array(40,232,673,412),8641=>array(40,100,673,280),8642=>array(333,0,513,662),8643=>array(201,0,381,662),8644=>array(40,-56,673,568),8645=>array(45,0,669,662),8646=>array(40,-56,673,568),8647=>array(40,-56,673,568),8648=>array(45,0,669,662),8649=>array(40,-56,673,568),8650=>array(45,0,669,662),8651=>array(39,30,672,482),8652=>array(40,30,673,482),8653=>array(40,40,673,472),8654=>array(40,40,910,472),8655=>array(40,40,673,472),8656=>array(40,40,673,472),8657=>array(141,0,573,662),8658=>array(40,40,673,472),8659=>array(141,0,573,662),8660=>array(40,40,823,472),8661=>array(141,0,573,783),8662=>array(100,0,688,588),8663=>array(26,0,614,588),8664=>array(26,0,614,588),8665=>array(100,0,688,588),8666=>array(40,40,673,472),8667=>array(40,40,673,472),8668=>array(40,100,773,412),8669=>array(40,100,773,412),8670=>array(201,0,513,662),8671=>array(201,0,513,662),8672=>array(40,100,673,412),8673=>array(201,0,513,662),8674=>array(40,100,673,412),8675=>array(201,0,513,662),8676=>array(40,100,673,412),8677=>array(40,100,673,412),8678=>array(40,40,673,472),8679=>array(141,0,573,662),8680=>array(40,40,673,472),8681=>array(141,0,573,662),8682=>array(141,0,573,662),8704=>array(27,0,573,689),8705=>array(80,-60,528,702),8706=>array(32,-15,486,695),8707=>array(115,0,475,689),8708=>array(115,-73,475,762),8709=>array(46,-23,755,686),8710=>array(6,0,608,688),8711=>array(6,0,608,688),8712=>array(43,33,498,480),8713=>array(43,-57,498,570),8714=>array(89,78,453,435),8715=>array(51,33,506,480),8716=>array(51,-57,506,570),8717=>array(96,78,460,435),8718=>array(98,0,451,512),8719=>array(25,-101,803,751),8720=>array(25,-101,803,751),8721=>array(17,-101,695,752),8722=>array(55,312,529,394),8723=>array(55,0,529,611),8724=>array(55,0,529,627),8725=>array(-222,-25,393,732),8726=>array(0,-24,278,716),8727=>array(33,194,356,499),8728=>array(65,207,335,478),8729=>array(65,207,335,478),8730=>array(41,-19,549,782),8731=>array(41,-19,549,782),8732=>array(41,-19,549,782),8733=>array(75,128,447,384),8734=>array(20,99,529,414),8735=>array(55,0,529,474),8736=>array(55,0,529,474),8737=>array(55,0,529,474),8738=>array(55,-98,444,572),8739=>array(92,-199,168,716),8740=>array(92,-199,352,716),8741=>array(92,-199,326,716),8742=>array(92,-199,510,716),8743=>array(20,0,542,568),8744=>array(20,0,542,568),8745=>array(50,0,512,568),8746=>array(50,0,512,568),8747=>array(63,-271,434,1022),8748=>array(63,-271,734,1022),8749=>array(63,-271,1034,1022),8750=>array(33,-271,459,1022),8751=>array(33,-271,759,1022),8752=>array(33,-271,1059,1022),8753=>array(33,-271,488,1022),8754=>array(33,-271,488,1022),8755=>array(33,-271,498,1022),8756=>array(42,0,521,528),8757=>array(42,0,521,528),8758=>array(161,0,260,528),8759=>array(42,0,521,528),8760=>array(55,312,529,567),8761=>array(55,139,529,567),8762=>array(55,139,529,567),8763=>array(55,139,529,567),8764=>array(55,279,529,424),8765=>array(55,279,529,424),8766=>array(35,212,539,496),8767=>array(40,72,544,636),8768=>array(139,0,284,592),8769=>array(55,171,529,533),8770=>array(55,202,529,535),8771=>array(55,203,529,536),8772=>array(55,91,529,613),8773=>array(55,123,529,584),8774=>array(55,51,529,614),8775=>array(55,51,529,633),8776=>array(55,171,529,533),8777=>array(55,81,529,603),8778=>array(55,123,529,584),8779=>array(55,97,529,584),8780=>array(35,53,539,654),8781=>array(55,155,529,551),8782=>array(55,58,529,648),8783=>array(55,203,529,648),8784=>array(55,203,529,676),8785=>array(55,59,529,647),8786=>array(55,59,529,647),8787=>array(55,59,529,647),8788=>array(55,195,682,511),8789=>array(55,195,682,511),8790=>array(55,189,529,518),8791=>array(55,0,529,617),8792=>array(55,0,529,518),8793=>array(55,0,529,630),8794=>array(55,0,529,630),8795=>array(55,0,529,651),8796=>array(55,0,529,701),8797=>array(55,0,529,605),8798=>array(55,0,529,532),8799=>array(55,0,529,601),8800=>array(55,103,529,603),8801=>array(55,123,529,557),8802=>array(55,23,529,657),8803=>array(55,35,529,645),8804=>array(55,55,529,650),8805=>array(55,55,529,650),8806=>array(55,0,529,783),8807=>array(55,0,529,783),8808=>array(55,-85,529,783),8809=>array(55,-85,529,783),8810=>array(55,111,914,595),8811=>array(55,111,914,595),8812=>array(143,-210,441,728),8813=>array(55,103,529,603),8814=>array(55,23,529,657),8815=>array(55,23,529,657),8816=>array(55,-141,529,657),8817=>array(55,-141,529,657),8818=>array(55,-1,529,656),8819=>array(55,-1,529,656),8820=>array(55,-91,529,718),8821=>array(55,-91,529,718),8822=>array(55,-27,529,821),8823=>array(55,-27,529,821),8824=>array(55,-27,529,821),8825=>array(55,-27,529,821),8826=>array(55,111,529,595),8827=>array(55,111,529,595),8828=>array(55,-33,529,595),8829=>array(55,-33,529,595),8830=>array(55,-1,529,656),8831=>array(55,-1,529,656),8832=>array(55,23,529,657),8833=>array(55,23,529,657),8834=>array(55,122,623,584),8835=>array(55,122,623,584),8836=>array(55,22,623,684),8837=>array(55,22,623,684),8838=>array(55,0,623,626),8839=>array(55,0,623,626),8840=>array(55,-100,623,726),8841=>array(55,-100,623,726),8842=>array(55,-100,623,626),8843=>array(55,-100,623,626),8844=>array(50,0,512,568),8845=>array(50,0,512,568),8846=>array(50,0,512,568),8847=>array(55,122,623,584),8848=>array(55,122,623,584),8849=>array(55,0,623,626),8850=>array(55,0,623,626),8851=>array(50,0,512,568),8852=>array(50,0,512,568),8853=>array(59,-85,741,597),8854=>array(59,-85,741,597),8855=>array(59,-85,741,597),8856=>array(59,-85,741,597),8857=>array(59,-85,741,597),8858=>array(59,-85,741,597),8859=>array(59,-85,741,597),8860=>array(59,-85,741,597),8861=>array(59,-85,741,597),8862=>array(60,0,741,681),8863=>array(60,0,741,681),8864=>array(60,0,741,681),8865=>array(60,0,741,681),8866=>array(60,0,531,512),8867=>array(18,0,489,512),8868=>array(18,0,531,512),8869=>array(18,0,531,512),8870=>array(60,0,381,512),8871=>array(60,0,381,512),8872=>array(60,0,531,512),8873=>array(60,0,531,512),8874=>array(60,0,531,512),8875=>array(60,0,654,512),8876=>array(60,0,531,513),8877=>array(60,0,531,513),8878=>array(60,0,531,513),8879=>array(60,0,654,513),8880=>array(18,-54,531,566),8881=>array(18,-54,531,566),8882=>array(18,0,531,512),8883=>array(18,0,531,512),8884=>array(18,-51,531,562),8885=>array(18,-51,531,562),8886=>array(40,153,673,359),8887=>array(40,153,673,359),8888=>array(40,153,673,359),8889=>array(18,0,531,512),8890=>array(88,0,461,632),8891=>array(50,0,534,638),8892=>array(50,0,534,638),8893=>array(50,0,534,638),8894=>array(55,0,529,474),8895=>array(55,0,529,474),8896=>array(20,0,542,568),8897=>array(20,0,542,568),8898=>array(50,0,512,568),8899=>array(50,0,512,568),8900=>array(156,106,395,406),8901=>array(55,186,195,326),8902=>array(39,39,511,488),8903=>array(30,9,620,502),8904=>array(29,-64,601,576),8905=>array(29,-64,601,576),8906=>array(29,-64,601,576),8907=>array(29,-64,601,576),8908=>array(29,-64,601,576),8909=>array(55,203,529,536),8910=>array(18,0,542,568),8911=>array(18,0,542,568),8912=>array(56,84,623,626),8913=>array(56,84,623,626),8914=>array(63,0,605,567),8915=>array(63,0,605,567),8916=>array(50,0,512,716),8917=>array(55,-199,529,716),8918=>array(55,111,529,595),8919=>array(55,111,529,595),8920=>array(55,111,1299,595),8921=>array(55,111,1299,595),8922=>array(55,-217,529,927),8923=>array(55,-217,529,927),8924=>array(55,55,529,650),8925=>array(55,55,529,650),8926=>array(55,-33,529,595),8927=>array(55,-33,529,595),8928=>array(55,-141,529,657),8929=>array(55,-141,529,657),8930=>array(55,-100,623,726),8931=>array(55,-100,623,726),8932=>array(55,-100,623,626),8933=>array(55,-100,623,626),8934=>array(55,-71,529,656),8935=>array(55,-71,529,656),8936=>array(55,-71,529,656),8937=>array(55,-71,529,656),8938=>array(55,23,529,657),8939=>array(55,23,529,657),8940=>array(55,-45,529,712),8941=>array(55,-45,529,712),8942=>array(89,0,189,766),8943=>array(117,333,883,433),8944=>array(117,0,883,766),8945=>array(117,0,883,766),8960=>array(60,41,490,471),8962=>array(51,24,498,486),8963=>array(129,180,419,395),8964=>array(129,117,419,332),8965=>array(78,130,471,441),8966=>array(78,130,471,565),8967=>array(191,-192,359,693),8968=>array(103,58,346,694),8969=>array(103,58,346,694),8970=>array(103,-192,346,444),8971=>array(103,-192,346,444),8972=>array(251,-40,571,280),8973=>array(-22,-40,299,280),8974=>array(251,232,571,552),8975=>array(-22,232,299,552),8976=>array(49,163,511,403),8977=>array(83,64,467,448),8978=>array(59,156,741,497),8979=>array(59,156,741,497),8980=>array(34,100,516,441),8981=>array(27,9,490,471),8982=>array(26,-102,523,614),8983=>array(18,-51,632,563),8984=>array(63,0,717,654),8985=>array(49,109,511,349),8986=>array(45,-20,505,532),8987=>array(103,0,447,512),8988=>array(111,140,391,420),8989=>array(158,140,439,420),8990=>array(111,92,391,372),8991=>array(158,92,439,372),8992=>array(180,-218,434,752),8993=>array(63,-188,313,782),8994=>array(17,159,696,341),8995=>array(17,171,696,353),8996=>array(18,226,982,547),8997=>array(18,0,982,512),8998=>array(90,0,948,600),8999=>array(90,0,910,600),9000=>array(90,0,910,600),9001=>array(32,-184,299,694),9002=>array(30,-184,297,694),9003=>array(52,0,910,600),9004=>array(57,6,493,509),9005=>array(13,77,537,435),9006=>array(100,108,465,400),9007=>array(38,132,511,380),9008=>array(38,0,504,525),9009=>array(81,62,509,450),9010=>array(35,50,531,462),9011=>array(35,186,531,392),9012=>array(51,84,498,419),9013=>array(51,84,498,419),9014=>array(60,0,540,559),9015=>array(140,0,460,559),9016=>array(60,0,540,559),9017=>array(60,0,540,559),9018=>array(60,0,540,559),9019=>array(60,0,540,559),9020=>array(60,0,540,559),9021=>array(104,0,496,559),9022=>array(60,39,540,519),9023=>array(84,0,517,559),9024=>array(83,0,516,559),9025=>array(60,0,540,559),9026=>array(60,0,540,559),9027=>array(60,0,540,559),9028=>array(60,0,540,559),9029=>array(13,0,556,559),9030=>array(44,0,587,559),9031=>array(60,0,540,559),9032=>array(60,0,540,559),9033=>array(104,0,496,559),9034=>array(60,0,540,559),9035=>array(122,0,478,559),9036=>array(60,0,540,559),9037=>array(60,0,540,559),9038=>array(60,0,540,559),9039=>array(60,0,540,559),9040=>array(60,0,540,559),9041=>array(60,0,540,559),9042=>array(122,0,478,559),9043=>array(60,0,540,559),9044=>array(60,0,540,559),9045=>array(60,0,540,559),9046=>array(60,0,540,559),9047=>array(60,0,540,559),9048=>array(160,0,440,559),9049=>array(60,0,540,559),9050=>array(60,0,540,559),9051=>array(60,0,540,397),9052=>array(60,0,540,475),9053=>array(60,0,540,559),9054=>array(60,0,540,559),9055=>array(60,39,540,519),9056=>array(60,0,540,559),9057=>array(60,0,540,559),9058=>array(122,0,478,559),9059=>array(153,157,447,509),9060=>array(153,161,447,524),9061=>array(104,33,496,559),9062=>array(60,0,540,559),9063=>array(54,0,542,559),9064=>array(50,131,549,464),9065=>array(148,122,452,559),9066=>array(160,122,440,478),9067=>array(103,68,502,508),9068=>array(93,-14,504,573),9069=>array(50,0,549,559),9070=>array(160,-136,440,559),9071=>array(60,0,540,559),9072=>array(60,0,540,559),9073=>array(51,55,550,469),9074=>array(50,89,549,503),9075=>array(163,-14,427,475),9076=>array(90,-212,525,475),9077=>array(26,-14,574,475),9078=>array(60,-136,555,475),9079=>array(60,-136,540,480),9080=>array(160,-136,440,475),9081=>array(26,-136,574,475),9082=>array(61,-14,555,475),9109=>array(60,0,540,559),9216=>array(30,0,565,689),9217=>array(37,0,564,694),9218=>array(37,0,587,694),9219=>array(41,0,587,689),9220=>array(41,0,582,689),9221=>array(41,-42,583,689),9222=>array(9,0,594,689),9223=>array(34,0,565,689),9224=>array(134,112,465,574),9225=>array(134,116,482,574),9226=>array(141,116,462,574),9227=>array(109,116,482,574),9228=>array(141,116,462,574),9229=>array(120,116,489,579),9230=>array(137,112,472,579),9231=>array(137,116,449,579),9232=>array(34,0,560,689),9233=>array(34,0,564,689),9234=>array(34,0,558,689),9235=>array(34,-4,559,689),9236=>array(34,0,573,689),9237=>array(30,0,594,689),9238=>array(37,0,568,694),9239=>array(41,0,575,689),9240=>array(20,0,568,694),9241=>array(141,116,472,574),9242=>array(37,0,575,694),9243=>array(41,-4,573,689),9244=>array(141,112,465,574),9245=>array(120,112,465,579),9246=>array(134,112,465,574),9247=>array(134,112,465,574),9248=>array(137,116,471,579),9249=>array(34,0,565,689),9250=>array(46,-12,561,716),9251=>array(96,-126,505,0),9252=>array(130,116,465,574),9280=>array(103,1,514,650),9281=>array(102,0,514,650),9282=>array(103,1,514,650),9283=>array(103,1,514,650),9284=>array(102,1,514,650),9285=>array(102,336,514,650),9286=>array(102,0,648,702),9287=>array(102,0,648,702),9288=>array(102,117,648,663),9289=>array(102,195,648,507),9290=>array(30,1,574,650),9312=>array(81,-109,919,728),9313=>array(81,-109,919,728),9314=>array(81,-109,919,728),9315=>array(81,-109,919,728),9316=>array(81,-109,919,728),9317=>array(81,-109,919,728),9318=>array(81,-109,919,728),9319=>array(81,-109,919,728),9320=>array(81,-109,919,728),9321=>array(81,-109,919,728),9322=>array(81,-109,919,728),9323=>array(81,-109,919,728),9324=>array(81,-109,919,728),9325=>array(81,-109,919,728),9326=>array(81,-109,919,728),9327=>array(81,-109,919,728),9328=>array(81,-109,919,728),9329=>array(81,-109,919,728),9330=>array(81,-109,919,728),9331=>array(81,-109,919,728),9332=>array(81,-67,919,683),9333=>array(81,-67,919,683),9334=>array(81,-67,919,683),9335=>array(81,-67,919,683),9336=>array(81,-67,919,683),9337=>array(81,-67,919,683),9338=>array(81,-67,919,683),9339=>array(81,-67,919,683),9340=>array(81,-67,919,683),9341=>array(81,-67,919,683),9342=>array(81,-67,919,683),9343=>array(81,-67,919,683),9344=>array(81,-67,919,683),9345=>array(81,-67,919,683),9346=>array(81,-67,919,683),9347=>array(81,-67,919,683),9348=>array(81,-67,919,683),9349=>array(81,-67,919,683),9350=>array(81,-67,919,683),9351=>array(81,-67,919,683),9352=>array(301,79,627,547),9353=>array(273,79,717,547),9354=>array(277,72,717,547),9355=>array(253,79,717,545),9356=>array(272,72,717,539),9357=>array(266,72,717,547),9358=>array(294,79,717,539),9359=>array(275,72,717,547),9360=>array(282,72,717,547),9361=>array(163,72,807,547),9362=>array(191,79,807,547),9363=>array(155,79,807,547),9364=>array(155,72,807,547),9365=>array(159,79,807,547),9366=>array(159,72,807,547),9367=>array(159,72,807,547),9368=>array(159,79,807,547),9369=>array(159,72,807,547),9370=>array(159,72,807,547),9371=>array(185,72,817,547),9372=>array(81,-67,919,683),9373=>array(81,-67,919,683),9374=>array(81,-67,919,683),9375=>array(81,-67,919,683),9376=>array(81,-67,919,683),9377=>array(81,-67,919,683),9378=>array(81,-67,919,683),9379=>array(81,-67,919,683),9380=>array(81,-67,919,683),9381=>array(81,-67,919,683),9382=>array(81,-67,919,683),9383=>array(81,-67,919,683),9384=>array(81,-67,919,683),9385=>array(81,-67,919,683),9386=>array(81,-67,919,683),9387=>array(81,-67,919,683),9388=>array(81,-67,919,683),9389=>array(81,-67,919,683),9390=>array(81,-67,919,683),9391=>array(81,-67,919,683),9392=>array(81,-67,919,683),9393=>array(81,-67,919,683),9394=>array(81,-67,919,683),9395=>array(81,-67,919,683),9396=>array(81,-67,919,683),9397=>array(81,-67,919,683),9398=>array(81,-109,919,728),9399=>array(81,-109,919,728),9400=>array(81,-109,919,728),9401=>array(81,-109,919,728),9402=>array(81,-109,919,728),9403=>array(81,-109,919,728),9404=>array(81,-109,919,728),9405=>array(81,-109,919,728),9406=>array(81,-109,919,728),9407=>array(81,-109,919,728),9408=>array(81,-109,919,728),9409=>array(81,-109,919,728),9410=>array(81,-109,919,728),9411=>array(81,-109,919,728),9412=>array(81,-109,919,728),9413=>array(81,-109,919,728),9414=>array(81,-109,919,728),9415=>array(81,-109,919,728),9416=>array(81,-109,919,728),9417=>array(81,-109,919,728),9418=>array(81,-109,919,728),9419=>array(81,-109,919,728),9420=>array(81,-109,919,728),9421=>array(81,-109,919,728),9422=>array(81,-109,919,728),9423=>array(81,-109,919,728),9424=>array(81,-109,919,728),9425=>array(81,-109,919,728),9426=>array(81,-109,919,728),9427=>array(81,-109,919,728),9428=>array(81,-109,919,728),9429=>array(81,-109,919,728),9430=>array(81,-109,919,728),9431=>array(81,-109,919,728),9432=>array(81,-109,919,728),9433=>array(81,-109,919,728),9434=>array(81,-109,919,728),9435=>array(81,-109,919,728),9436=>array(81,-109,919,728),9437=>array(81,-109,919,728),9438=>array(81,-109,919,728),9439=>array(81,-109,919,728),9440=>array(81,-109,919,728),9441=>array(81,-109,919,728),9442=>array(81,-109,919,728),9443=>array(81,-109,919,728),9444=>array(81,-109,919,728),9445=>array(81,-109,919,728),9446=>array(81,-109,919,728),9447=>array(81,-109,919,728),9448=>array(81,-109,919,728),9449=>array(81,-109,919,728),9450=>array(81,-109,919,728),9472=>array(-11,340,611,425),9473=>array(-11,303,611,474),9474=>array(258,-218,343,994),9475=>array(215,-218,386,994),9476=>array(-11,346,611,431),9477=>array(-11,303,611,474),9478=>array(258,-218,343,994),9479=>array(215,-218,386,994),9480=>array(-11,346,611,431),9481=>array(-11,303,611,474),9482=>array(258,-218,343,994),9483=>array(215,-218,386,994),9484=>array(258,-218,611,431),9485=>array(258,-218,611,474),9486=>array(215,-218,611,431),9487=>array(215,-218,611,474),9488=>array(-11,-218,343,431),9489=>array(-11,-218,343,474),9490=>array(-11,-218,386,431),9491=>array(-11,-218,386,474),9492=>array(258,346,611,994),9493=>array(258,303,611,994),9494=>array(215,346,611,994),9495=>array(215,303,611,994),9496=>array(-11,346,343,994),9497=>array(-11,303,343,994),9498=>array(-11,346,386,994),9499=>array(-11,303,386,994),9500=>array(258,-218,611,994),9501=>array(258,-218,611,994),9502=>array(215,-218,611,994),9503=>array(215,-218,611,994),9504=>array(215,-218,611,994),9505=>array(215,-218,611,994),9506=>array(215,-218,611,994),9507=>array(215,-218,611,994),9508=>array(-11,-218,343,994),9509=>array(-11,-218,343,994),9510=>array(-11,-218,386,994),9511=>array(-11,-218,386,994),9512=>array(-11,-218,386,994),9513=>array(-11,-218,386,994),9514=>array(-11,-218,386,994),9515=>array(-11,-218,386,994),9516=>array(-11,-218,611,431),9517=>array(-11,-218,611,474),9518=>array(-11,-218,611,474),9519=>array(-11,-218,611,474),9520=>array(-11,-218,611,431),9521=>array(-11,-218,611,474),9522=>array(-11,-218,611,474),9523=>array(-11,-218,611,474),9524=>array(-11,346,611,994),9525=>array(-11,303,611,994),9526=>array(-11,303,611,994),9527=>array(-11,303,611,994),9528=>array(-11,346,611,994),9529=>array(-11,303,611,994),9530=>array(-11,303,611,994),9531=>array(-11,303,611,994),9532=>array(-11,-218,611,994),9533=>array(-11,-218,611,994),9534=>array(-11,-218,611,994),9535=>array(-11,-218,611,994),9536=>array(-11,-218,611,994),9537=>array(-11,-218,611,994),9538=>array(-11,-218,611,994),9539=>array(-11,-218,611,994),9540=>array(-11,-218,611,994),9541=>array(-11,-218,611,994),9542=>array(-11,-218,611,994),9543=>array(-11,-218,611,994),9544=>array(-11,-218,611,994),9545=>array(-11,-218,611,994),9546=>array(-11,-218,611,994),9547=>array(-11,-218,611,994),9548=>array(-11,346,611,431),9549=>array(-11,303,611,474),9550=>array(258,-218,343,994),9551=>array(215,-218,386,994),9552=>array(-11,261,611,516),9553=>array(173,-218,428,994),9554=>array(258,-218,611,516),9555=>array(173,-218,611,431),9556=>array(173,-218,611,516),9557=>array(-11,-218,343,516),9558=>array(-11,-218,428,431),9559=>array(-11,-218,428,516),9560=>array(258,261,611,994),9561=>array(173,346,611,994),9562=>array(173,261,611,994),9563=>array(-11,261,343,994),9564=>array(-11,346,428,994),9565=>array(-11,261,428,994),9566=>array(258,-218,611,994),9567=>array(173,-218,611,994),9568=>array(173,-218,611,994),9569=>array(-11,-218,343,994),9570=>array(-11,-218,428,994),9571=>array(-11,-218,428,994),9572=>array(-11,-218,611,516),9573=>array(-11,-218,611,431),9574=>array(-11,-218,611,516),9575=>array(-11,261,611,994),9576=>array(-11,346,611,994),9577=>array(-11,261,611,994),9578=>array(-11,-218,611,994),9579=>array(-11,-218,611,994),9580=>array(-11,-218,611,994),9581=>array(258,77,612,431),9582=>array(-11,77,343,431),9583=>array(-11,346,343,700),9584=>array(258,346,612,700),9585=>array(0,88,600,688),9586=>array(0,88,600,688),9587=>array(0,88,600,688),9588=>array(-11,346,258,431),9589=>array(258,431,343,994),9590=>array(343,346,611,431),9591=>array(258,-218,343,346),9592=>array(-11,303,258,474),9593=>array(215,431,386,994),9594=>array(343,303,611,474),9595=>array(215,-218,386,346),9596=>array(-11,303,611,474),9597=>array(215,-218,386,994),9598=>array(-11,303,611,474),9599=>array(215,-218,386,994),9600=>array(-11,388,611,994),9601=>array(-11,-218,611,-66),9602=>array(-11,-218,611,85),9603=>array(-11,-218,611,237),9604=>array(-11,-218,611,388),9605=>array(-11,-218,611,540),9606=>array(-11,-218,611,691),9607=>array(-11,-218,611,843),9608=>array(-11,-218,611,994),9609=>array(-11,-218,525,994),9610=>array(-11,-218,450,994),9611=>array(-11,-218,375,994),9612=>array(-11,-218,300,994),9613=>array(-11,-218,225,994),9614=>array(-11,-218,150,994),9615=>array(-11,-218,75,994),9616=>array(300,-218,611,994),9617=>array(100,-262,600,1043),9618=>array(0,-264,601,1042),9619=>array(0,-262,601,1042),9620=>array(-11,843,611,994),9621=>array(525,-218,611,994),9632=>array(85,160,515,590),9633=>array(85,160,515,590),9634=>array(85,160,515,590),9635=>array(85,160,515,590),9636=>array(85,160,515,590),9637=>array(85,160,515,590),9638=>array(85,160,515,590),9639=>array(85,160,515,590),9640=>array(85,160,515,590),9641=>array(85,160,515,590),9642=>array(192,267,408,483),9643=>array(192,267,408,483),9644=>array(85,267,515,483),9645=>array(85,267,515,483),9646=>array(192,160,408,590),9647=>array(192,160,408,590),9648=>array(79,275,521,475),9649=>array(79,275,521,475),9650=>array(89,211,511,611),9651=>array(89,211,511,611),9652=>array(146,285,454,552),9653=>array(146,285,454,552),9654=>array(136,164,536,586),9655=>array(136,164,536,586),9656=>array(211,221,478,529),9657=>array(211,221,478,529),9658=>array(85,194,541,556),9659=>array(85,194,541,556),9660=>array(89,139,511,539),9661=>array(89,139,511,539),9662=>array(146,198,454,465),9663=>array(146,198,454,465),9664=>array(64,164,464,586),9665=>array(64,164,464,586),9666=>array(122,221,389,529),9667=>array(122,221,389,529),9668=>array(59,194,515,556),9669=>array(59,194,515,556),9670=>array(69,144,531,606),9671=>array(69,144,531,606),9672=>array(69,144,531,606),9673=>array(85,160,515,590),9674=>array(85,80,515,670),9675=>array(85,160,515,590),9676=>array(86,161,514,589),9677=>array(85,160,515,590),9678=>array(85,160,515,590),9679=>array(85,160,515,590),9680=>array(85,160,515,590),9681=>array(85,160,515,590),9682=>array(85,160,515,590),9683=>array(85,160,515,590),9684=>array(85,160,515,590),9685=>array(85,160,515,590),9686=>array(85,160,300,590),9687=>array(300,160,515,590),9688=>array(0,0,600,600),9689=>array(0,0,600,600),9690=>array(0,300,600,600),9691=>array(0,0,600,300),9692=>array(85,375,300,590),9693=>array(300,375,515,590),9694=>array(300,160,515,375),9695=>array(85,160,300,375),9696=>array(85,375,515,590),9697=>array(85,160,515,375),9698=>array(85,160,515,590),9699=>array(85,160,515,590),9700=>array(85,160,515,590),9701=>array(85,160,515,590),9702=>array(193,268,407,482),9703=>array(85,160,515,590),9704=>array(85,160,515,590),9705=>array(85,160,515,590),9706=>array(85,160,515,590),9707=>array(85,160,515,590),9708=>array(89,211,511,611),9709=>array(89,211,511,611),9710=>array(89,211,511,611),9711=>array(20,95,580,655),9728=>array(65,1,685,621),9729=>array(58,166,944,652),9730=>array(76,6,674,622),9731=>array(105,-3,672,690),9732=>array(81,0,923,690),9733=>array(37,0,779,719),9734=>array(37,0,786,720),9735=>array(107,12,356,451),9736=>array(35,53,436,449),9737=>array(70,0,730,660),9738=>array(70,50,730,620),9739=>array(70,50,730,620),9740=>array(200,100,677,577),9741=>array(100,0,700,600),9742=>array(22,63,696,521),9743=>array(22,63,696,521),9744=>array(63,0,671,607),9745=>array(63,0,671,607),9746=>array(63,0,671,607),9747=>array(129,0,633,668),9754=>array(27,56,924,451),9755=>array(36,56,933,451),9756=>array(84,168,899,531),9757=>array(288,-79,651,736),9758=>array(41,168,856,531),9759=>array(288,-36,651,779),9760=>array(24,15,720,725),9761=>array(50,40,546,610),9762=>array(56,22,694,660),9763=>array(46,115,704,724),9764=>array(45,0,535,652),9765=>array(24,0,436,699),9766=>array(35,0,409,699),9767=>array(87,0,589,637),9768=>array(35,0,409,699),9769=>array(54,20,714,680),9770=>array(88,0,727,664),9771=>array(70,-24,778,656),9772=>array(78,-2,596,691),9773=>array(56,0,741,732),9774=>array(64,0,686,622),9775=>array(64,0,686,622),9776=>array(70,0,830,639),9777=>array(70,0,830,639),9778=>array(70,0,830,639),9779=>array(70,0,830,639),9780=>array(70,0,830,639),9781=>array(70,0,830,639),9782=>array(70,0,830,639),9783=>array(70,0,830,639),9784=>array(60,32,690,661),9785=>array(64,0,686,622),9786=>array(64,0,686,622),9787=>array(64,0,686,622),9788=>array(75,11,675,611),9789=>array(84,-189,659,691),9790=>array(91,-189,666,691),9791=>array(150,-100,590,759),9792=>array(100,-100,640,699),9793=>array(100,-30,640,769),9794=>array(60,-30,711,621),9795=>array(45,0,573,699),9796=>array(26,0,432,699),9797=>array(45,0,587,699),9798=>array(23,0,757,719),9799=>array(80,0,487,699),9800=>array(38,0,796,709),9801=>array(36,0,744,703),9802=>array(35,0,699,699),9803=>array(45,0,842,699),9804=>array(41,-176,749,700),9805=>array(42,-162,1002,699),9806=>array(33,0,863,699),9807=>array(42,-72,1067,699),9808=>array(48,0,747,699),9809=>array(29,-90,808,699),9810=>array(36,106,886,618),9811=>array(34,0,662,699),9812=>array(83,-117,913,709),9813=>array(42,-117,954,729),9814=>array(154,-113,842,706),9815=>array(83,-103,913,707),9816=>array(76,-110,912,727),9817=>array(197,-103,803,710),9818=>array(83,-117,913,709),9819=>array(42,-117,954,729),9820=>array(154,-113,842,706),9821=>array(83,-103,913,707),9822=>array(76,-110,912,727),9823=>array(197,-103,803,710),9824=>array(49,0,673,705),9825=>array(49,0,685,705),9826=>array(51,0,623,706),9827=>array(49,0,755,705),9828=>array(49,0,673,705),9829=>array(49,0,685,705),9830=>array(51,0,623,706),9831=>array(49,0,755,705),9832=>array(56,24,804,680),9833=>array(48,0,316,736),9834=>array(48,0,556,736),9835=>array(48,-70,654,766),9836=>array(48,-70,654,766),9837=>array(107,10,400,736),9838=>array(107,-22,333,736),9839=>array(29,-22,411,736),9985=>array(56,49,901,637),9986=>array(38,48,923,635),9987=>array(56,49,901,637),9988=>array(6,0,979,551),9990=>array(68,-201,700,669),9991=>array(30,0,760,730),9992=>array(17,0,772,654),9993=>array(27,28,663,483),9996=>array(64,0,521,582),9997=>array(59,72,824,515),9998=>array(62,113,848,672),9999=>array(35,170,898,521),10000=>array(62,19,849,578),10001=>array(36,135,908,555),10002=>array(51,135,923,555),10003=>array(18,-10,722,706),10004=>array(34,-9,796,765),10005=>array(47,0,715,668),10006=>array(46,0,714,668),10007=>array(0,-58,567,638),10008=>array(25,-67,650,682),10009=>array(35,0,728,693),10010=>array(34,0,727,693),10011=>array(35,0,724,689),10012=>array(35,0,718,683),10013=>array(35,0,460,690),10014=>array(9,0,542,690),10015=>array(38,0,499,690),10016=>array(36,94,542,600),10017=>array(29,-12,663,720),10018=>array(37,-11,750,702),10019=>array(34,0,755,719),10020=>array(34,0,755,719),10021=>array(36,0,755,719),10022=>array(37,0,756,719),10023=>array(38,0,757,719),10025=>array(37,0,786,720),10026=>array(31,-13,757,713),10027=>array(49,0,792,719),10028=>array(37,0,786,719),10029=>array(42,0,791,719),10030=>array(34,0,783,719),10031=>array(35,-14,795,718),10032=>array(49,1,873,718),10033=>array(29,0,714,719),10034=>array(18,0,706,719),10035=>array(35,0,714,679),10036=>array(35,0,756,721),10037=>array(47,0,745,698),10038=>array(37,0,659,699),10039=>array(35,0,741,706),10040=>array(35,0,733,698),10041=>array(35,0,757,729),10042=>array(35,0,725,688),10043=>array(31,0,675,719),10044=>array(34,7,674,728),10045=>array(13,0,669,719),10046=>array(21,0,680,719),10047=>array(35,0,791,737),10048=>array(35,0,780,728),10049=>array(35,0,754,719),10050=>array(44,-14,745,695),10051=>array(28,0,679,719),10052=>array(32,0,655,696),10053=>array(29,0,667,696),10054=>array(1,0,688,687),10055=>array(30,0,757,719),10056=>array(42,-7,745,696),10057=>array(42,30,670,663),10058=>array(60,0,731,718),10059=>array(26,-21,759,711),10061=>array(41,-33,832,638),10063=>array(23,0,739,714),10064=>array(23,0,739,714),10065=>array(23,0,735,714),10066=>array(23,0,735,714),10070=>array(36,-12,749,701),10072=>array(29,0,109,712),10073=>array(29,0,248,712),10074=>array(29,0,386,712),10075=>array(56,265,336,706),10076=>array(56,265,336,706),10077=>array(38,265,630,706),10078=>array(38,265,630,706),10081=>array(87,-157,666,727),10082=>array(60,-14,484,716),10083=>array(28,-14,516,711),10084=>array(35,0,875,703),10085=>array(38,0,644,764),10086=>array(76,-15,681,709),10087=>array(0,110,760,514),10102=>array(35,-14,753,705),10103=>array(35,-14,753,705),10104=>array(35,-14,753,705),10105=>array(35,-14,753,705),10106=>array(35,-14,753,705),10107=>array(35,-14,753,705),10108=>array(35,-14,753,705),10109=>array(35,-14,753,705),10110=>array(35,-14,753,705),10111=>array(35,-14,753,705),10112=>array(35,-14,753,705),10113=>array(35,-14,753,705),10114=>array(35,-14,753,705),10115=>array(35,-14,753,705),10116=>array(35,-14,753,705),10117=>array(35,-14,753,705),10118=>array(35,-14,753,705),10119=>array(35,-14,753,705),10120=>array(35,-14,753,705),10121=>array(35,-14,753,705),10122=>array(35,-14,753,705),10123=>array(35,-14,753,705),10124=>array(35,-14,753,705),10125=>array(35,-14,753,705),10126=>array(35,-14,753,705),10127=>array(35,-14,753,705),10128=>array(35,-14,753,705),10129=>array(35,-14,753,705),10130=>array(35,-14,753,705),10131=>array(35,-14,753,705),10132=>array(22,66,879,640),10136=>array(106,19,675,558),10137=>array(33,73,909,520),10138=>array(121,-28,619,578),10139=>array(28,73,890,603),10140=>array(38,70,891,636),10141=>array(82,137,843,554),10142=>array(82,137,846,554),10143=>array(35,155,799,536),10144=>array(36,94,838,594),10145=>array(13,94,815,594),10146=>array(35,82,889,610),10147=>array(35,82,889,610),10148=>array(103,147,845,543),10149=>array(42,123,900,578),10150=>array(42,55,901,509),10151=>array(45,-85,418,772),10152=>array(21,-68,868,755),10153=>array(36,43,813,648),10154=>array(41,43,807,648),10155=>array(61,129,832,585),10156=>array(61,129,832,585),10157=>array(37,44,665,651),10158=>array(37,44,665,651),10159=>array(38,93,836,620),10161=>array(38,69,836,596),10162=>array(15,0,746,730),10163=>array(23,128,934,561),10164=>array(42,2,725,685),10165=>array(27,166,838,525),10166=>array(20,5,703,685),10167=>array(93,0,791,694),10168=>array(57,166,886,523),10169=>array(98,13,792,710),10170=>array(35,192,805,498),10171=>array(28,157,858,533),10172=>array(83,199,849,501),10173=>array(15,147,949,549),10174=>array(41,97,889,579),12289=>array(94,-86,336,167),12290=>array(86,-54,373,235),12291=>array(305,220,695,527),12292=>array(100,-35,933,800),12293=>array(137,5,781,779),12294=>array(148,4,839,695),12295=>array(106,-26,920,790),12296=>array(587,-69,921,837),12297=>array(79,-69,413,837),12298=>array(501,-69,950,837),12299=>array(50,-69,499,837),12300=>array(559,349,900,837),12301=>array(100,-68,446,419),12302=>array(560,349,930,835),12303=>array(70,-69,444,421),12304=>array(611,-69,900,837),12305=>array(100,-69,389,837),12306=>array(173,-18,827,735),12307=>array(144,20,845,750),12308=>array(625,-75,900,844),12309=>array(100,-75,375,844),12310=>array(570,-73,930,845),12311=>array(69,-73,429,845),12312=>array(649,-73,877,835),12313=>array(124,-74,352,834),12314=>array(578,-81,861,820),12315=>array(121,-82,404,819),12316=>array(39,289,961,466),12317=>array(535,523,901,853),12318=>array(100,523,466,853),12319=>array(181,-53,547,277),12320=>array(89,66,911,689),12321=>array(445,46,525,715),12322=>array(339,48,660,714),12323=>array(255,47,734,717),12324=>array(153,34,769,707),12325=>array(285,35,742,747),12326=>array(184,255,821,671),12327=>array(185,167,823,691),12328=>array(181,104,816,707),12329=>array(206,35,844,743),12330=>array(112,1,375,265),12331=>array(111,513,375,776),12332=>array(627,514,889,778),12333=>array(624,1,888,264),12334=>array(85,311,237,462),12335=>array(83,207,237,564),12336=>array(68,285,931,479),12337=>array(284,-60,729,810),12338=>array(199,-56,876,814),12339=>array(174,-28,732,782),12340=>array(128,-28,898,782),12341=>array(232,-46,726,796),12342=>array(106,-26,920,790),12343=>array(61,-53,920,827),12351=>array(241,-70,759,836),12353=>array(187,47,786,720),12354=>array(113,-60,867,781),12355=>array(217,45,802,670),12356=>array(144,-30,876,760),12357=>array(191,42,750,687),12358=>array(113,-36,810,759),12359=>array(169,54,811,709),12360=>array(90,-23,881,787),12361=>array(185,66,791,704),12362=>array(102,-12,864,796),12363=>array(80,-31,857,806),12364=>array(58,-31,944,815),12365=>array(99,-31,822,811),12366=>array(100,-30,947,833),12367=>array(145,-22,766,776),12368=>array(145,-22,914,821),12369=>array(162,-55,914,782),12370=>array(97,-62,959,839),12371=>array(163,7,857,716),12372=>array(116,10,869,807),12373=>array(98,-31,814,789),12374=>array(94,-31,925,821),12375=>array(207,-18,857,769),12376=>array(185,-18,905,821),12377=>array(114,-62,886,773),12378=>array(89,-62,915,863),12379=>array(98,-16,879,760),12380=>array(72,-16,938,863),12381=>array(102,-35,887,751),12382=>array(80,-35,925,807),12383=>array(119,-16,881,797),12384=>array(89,-16,905,807),12385=>array(143,-21,844,799),12386=>array(109,-21,905,859),12387=>array(175,123,771,603),12388=>array(122,47,868,645),12389=>array(97,57,895,873),12390=>array(90,-25,856,720),12391=>array(90,-25,903,720),12392=>array(163,10,823,775),12393=>array(163,10,911,810),12394=>array(80,-22,907,800),12395=>array(131,-8,875,779),12396=>array(105,-6,909,782),12397=>array(88,-15,903,773),12398=>array(115,-18,882,714),12399=>array(111,-30,896,774),12400=>array(84,-30,931,840),12401=>array(95,-30,944,843),12402=>array(123,-7,938,742),12403=>array(89,-7,921,840),12404=>array(103,-12,918,861),12405=>array(73,-9,924,757),12406=>array(64,-9,915,840),12407=>array(50,-9,918,861),12408=>array(86,66,909,662),12409=>array(86,66,909,806),12410=>array(66,66,889,827),12411=>array(110,-23,898,771),12412=>array(79,-23,924,823),12413=>array(94,-23,942,827),12414=>array(126,-24,892,797),12415=>array(115,-33,888,772),12416=>array(121,-17,905,789),12417=>array(130,-30,870,796),12418=>array(112,-9,858,789),12419=>array(173,48,804,710),12420=>array(99,-29,887,789),12421=>array(202,34,795,712),12422=>array(135,-48,878,792),12423=>array(192,96,804,699),12424=>array(116,21,879,780),12425=>array(144,-17,817,780),12426=>array(193,-81,777,770),12427=>array(82,11,836,767),12428=>array(105,-29,911,774),12429=>array(100,-11,857,760),12430=>array(160,62,798,700),12431=>array(80,-14,874,782),12432=>array(118,-5,879,745),12433=>array(86,1,895,774),12434=>array(115,-24,853,805),12435=>array(90,-8,906,778),12436=>array(103,-36,940,786),12441=>array(641,603,869,807),12442=>array(703,648,918,861),12443=>array(503,603,731,807),12444=>array(490,648,705,861),12445=>array(153,39,808,744),12446=>array(153,39,827,744),12449=>array(199,54,815,665),12450=>array(94,-61,920,751),12451=>array(218,66,759,704),12452=>array(121,-44,833,800),12453=>array(225,59,789,694),12454=>array(125,-47,880,803),12455=>array(189,91,810,630),12456=>array(80,0,915,735),12457=>array(184,61,822,683),12458=>array(96,-45,952,787),12459=>array(88,-41,858,794),12460=>array(88,-41,888,831),12461=>array(73,-45,901,803),12462=>array(71,-54,930,821),12463=>array(120,-49,857,815),12464=>array(77,-51,924,849),12465=>array(64,-48,908,813),12466=>array(64,-48,908,835),12467=>array(98,-23,859,734),12468=>array(81,-25,910,877),12469=>array(84,-59,917,788),12470=>array(64,-59,966,799),12471=>array(83,-39,904,789),12472=>array(79,-39,900,799),12473=>array(82,-52,952,728),12474=>array(56,-52,946,867),12475=>array(87,-5,912,786),12476=>array(81,-3,900,800),12477=>array(131,-51,841,780),12478=>array(131,-51,876,831),12479=>array(120,-60,851,805),12480=>array(60,-60,910,859),12481=>array(87,-54,921,813),12482=>array(77,-54,930,813),12483=>array(189,61,752,663),12484=>array(89,-47,845,774),12485=>array(101,-47,890,829),12486=>array(73,-61,908,740),12487=>array(73,-61,948,757),12488=>array(291,-46,850,787),12489=>array(325,-44,879,790),12490=>array(82,-63,915,786),12491=>array(77,16,911,711),12492=>array(116,-54,863,734),12493=>array(65,-51,926,786),12494=>array(130,-49,855,740),12495=>array(72,-29,928,791),12496=>array(47,-32,944,799),12497=>array(47,-32,944,837),12498=>array(163,-5,879,770),12499=>array(150,-5,930,799),12500=>array(137,-5,944,799),12501=>array(151,-58,855,732),12502=>array(107,-60,920,886),12503=>array(89,-60,964,857),12504=>array(57,24,937,651),12505=>array(57,24,937,685),12506=>array(57,24,937,685),12507=>array(70,-45,913,785),12508=>array(70,-45,913,821),12509=>array(70,-45,913,849),12510=>array(113,-31,887,729),12511=>array(104,-43,892,769),12512=>array(80,-26,927,792),12513=>array(108,-35,835,787),12514=>array(81,-6,916,739),12515=>array(203,48,790,686),12516=>array(104,-48,884,801),12517=>array(180,93,801,636),12518=>array(75,-4,909,730),12519=>array(205,80,765,640),12520=>array(105,-27,860,730),12521=>array(104,-57,873,748),12522=>array(213,-53,790,768),12523=>array(62,-45,936,788),12524=>array(203,-29,893,788),12525=>array(134,-24,848,730),12526=>array(224,51,769,636),12527=>array(124,-54,867,731),12528=>array(83,-45,918,784),12529=>array(76,-5,910,730),12530=>array(123,-53,863,753),12531=>array(107,-33,896,754),12532=>array(107,-54,884,839),12533=>array(199,57,767,690),12534=>array(179,43,809,694),12535=>array(92,-58,952,834),12536=>array(73,-45,953,843),12537=>array(82,-5,977,861),12538=>array(107,-54,947,846),12539=>array(161,311,313,462),12540=>array(83,339,917,429),12541=>array(271,-27,738,666),12542=>array(271,-27,766,807),12549=>array(157,-41,845,819),12550=>array(113,-35,861,812),12551=>array(149,51,851,697),12552=>array(147,44,849,718),12553=>array(98,-41,843,819),12554=>array(100,-45,900,783),12555=>array(151,-45,840,758),12556=>array(98,-35,843,817),12557=>array(133,-41,806,802),12558=>array(121,-34,879,738),12559=>array(60,-32,871,738),12560=>array(232,-43,676,791),12561=>array(257,-41,677,801),12562=>array(121,-28,879,738),12563=>array(105,6,895,782),12564=>array(142,-33,756,796),12565=>array(61,-30,825,752),12566=>array(227,-15,773,734),12567=>array(149,-35,811,746),12568=>array(113,-39,887,806),12569=>array(149,-32,883,752),12570=>array(163,-37,837,783),12571=>array(121,2,879,738),12572=>array(121,2,879,794),12573=>array(109,8,891,773),12574=>array(112,-39,871,754),12575=>array(82,-10,934,729),12576=>array(163,-48,866,790),12577=>array(111,-20,887,723),12578=>array(133,-37,849,742),12579=>array(166,-33,838,775),12580=>array(94,-21,872,797),12581=>array(164,54,847,751),12582=>array(88,-21,903,731),12583=>array(129,369,871,449),12584=>array(124,-4,877,753),12585=>array(157,29,843,711),12586=>array(87,-26,885,736),12587=>array(88,-21,903,734),12588=>array(60,-32,871,788),12593=>array(129,91,796,665),12594=>array(114,91,844,665),12595=>array(114,78,880,665),12596=>array(204,90,873,665),12597=>array(144,78,880,666),12598=>array(144,91,876,666),12599=>array(184,90,838,664),12600=>array(149,90,888,665),12601=>array(173,90,827,665),12602=>array(149,85,842,665),12603=>array(149,85,852,665),12604=>array(149,85,853,665),12605=>array(149,78,880,665),12606=>array(149,85,855,665),12607=>array(149,85,868,665),12608=>array(149,85,876,666),12609=>array(215,90,785,665),12610=>array(215,90,785,665),12611=>array(145,88,855,665),12612=>array(145,78,880,664),12613=>array(107,76,882,663),12614=>array(110,78,890,663),12615=>array(187,92,813,666),12616=>array(109,76,880,665),12617=>array(105,80,895,666),12618=>array(109,76,880,665),12619=>array(206,90,790,663),12620=>array(189,91,837,664),12621=>array(187,90,813,665),12622=>array(156,88,844,665),12623=>array(421,-64,711,842),12624=>array(345,-64,655,842),12625=>array(381,-64,676,842),12626=>array(340,-64,661,842),12627=>array(302,-65,597,841),12628=>array(186,-63,677,843),12629=>array(332,-64,626,842),12630=>array(226,-63,687,843),12631=>array(60,197,940,614),12632=>array(46,-64,931,842),12633=>array(51,-64,892,842),12634=>array(61,-64,857,842),12635=>array(60,197,940,615),12636=>array(79,76,921,554),12637=>array(68,-65,882,841),12638=>array(53,-63,912,843),12639=>array(70,-64,867,842),12640=>array(72,111,928,589),12641=>array(57,357,943,436),12642=>array(67,-64,867,842),12643=>array(462,-64,538,842),12645=>array(169,93,848,665),12646=>array(169,90,888,665),12647=>array(169,78,880,665),12648=>array(169,93,886,665),12649=>array(85,78,960,665),12650=>array(149,85,888,665),12651=>array(85,78,960,665),12652=>array(149,85,886,665),12653=>array(149,85,885,665),12654=>array(142,89,853,665),12655=>array(142,78,880,665),12656=>array(142,89,886,665),12657=>array(232,78,768,711),12658=>array(145,88,844,665),12659=>array(145,88,888,665),12660=>array(111,78,889,665),12661=>array(101,78,933,665),12662=>array(140,78,885,666),12663=>array(145,88,855,665),12664=>array(232,78,768,725),12665=>array(197,78,803,728),12666=>array(130,78,844,665),12667=>array(130,78,858,665),12668=>array(130,78,888,665),12669=>array(125,78,868,665),12670=>array(117,78,883,666),12671=>array(258,93,742,659),12672=>array(99,214,901,562),12673=>array(232,131,768,551),12674=>array(125,78,880,663),12675=>array(125,119,886,664),12676=>array(202,78,798,714),12677=>array(100,91,900,666),12678=>array(182,78,818,573),12679=>array(62,-64,936,842),12680=>array(62,-64,892,842),12681=>array(62,-64,867,842),12682=>array(52,-64,881,842),12683=>array(52,-63,902,843),12684=>array(52,-64,867,842),12685=>array(430,319,570,459),12686=>array(316,-98,634,855),12688=>array(468,391,532,889),12689=>array(302,391,760,889),12690=>array(56,620,459,664),12691=>array(43,481,468,770),12692=>array(47,446,470,803),12693=>array(62,415,456,817),12694=>array(45,427,479,845),12695=>array(70,401,449,858),12696=>array(44,401,477,827),12697=>array(73,399,448,839),12698=>array(82,423,470,815),12699=>array(39,401,485,834),12700=>array(46,401,469,834),12701=>array(35,401,482,832),12702=>array(30,412,488,859),12703=>array(38,401,490,846),12800=>array(72,-21,977,798),12801=>array(72,-21,977,798),12802=>array(72,-21,977,798),12803=>array(72,-21,977,798),12804=>array(72,-21,977,798),12805=>array(72,-21,977,798),12806=>array(72,-21,977,798),12807=>array(72,-21,977,798),12808=>array(72,-21,977,798),12809=>array(72,-21,977,798),12810=>array(72,-21,977,798),12811=>array(72,-21,977,798),12812=>array(72,-21,977,798),12813=>array(72,-21,977,798),12814=>array(72,-21,977,798),12815=>array(72,-21,977,798),12816=>array(72,-21,977,798),12817=>array(72,-21,977,798),12818=>array(72,-21,977,798),12819=>array(72,-21,977,798),12820=>array(72,-21,977,798),12821=>array(72,-21,977,798),12822=>array(72,-21,977,798),12823=>array(72,-21,977,798),12824=>array(72,-21,977,798),12825=>array(72,-21,977,798),12826=>array(72,-21,977,798),12827=>array(72,-21,977,798),12828=>array(72,-21,977,798),12832=>array(72,-21,976,798),12833=>array(72,-21,976,798),12834=>array(72,-21,976,798),12835=>array(72,-21,976,798),12836=>array(72,-21,976,798),12837=>array(72,-21,976,798),12838=>array(72,-21,976,798),12839=>array(72,-21,976,798),12840=>array(72,-21,976,798),12841=>array(72,-21,976,798),12842=>array(72,-21,976,798),12843=>array(72,-21,976,798),12844=>array(72,-21,976,798),12845=>array(72,-21,976,798),12846=>array(72,-21,976,803),12847=>array(72,-21,976,798),12848=>array(72,-21,976,798),12849=>array(72,-21,976,798),12850=>array(72,-21,976,798),12851=>array(72,-21,976,798),12852=>array(72,-21,976,798),12853=>array(72,-21,976,798),12854=>array(72,-21,976,798),12855=>array(72,-21,976,798),12856=>array(72,-21,976,798),12857=>array(72,-21,976,798),12858=>array(72,-21,976,798),12859=>array(72,-21,976,798),12860=>array(72,-21,976,798),12861=>array(72,-21,976,803),12862=>array(72,-21,976,798),12863=>array(72,-21,976,798),12864=>array(72,-21,976,798),12865=>array(72,-21,976,798),12866=>array(72,-21,976,798),12867=>array(72,-21,976,798),12896=>array(30,-82,970,859),12897=>array(30,-82,970,859),12898=>array(30,-82,970,859),12899=>array(30,-82,970,859),12900=>array(30,-82,970,859),12901=>array(30,-82,970,859),12902=>array(30,-82,970,859),12903=>array(30,-82,970,859),12904=>array(30,-82,970,859),12905=>array(30,-82,970,859),12906=>array(30,-82,970,859),12907=>array(30,-82,970,859),12908=>array(30,-82,970,859),12909=>array(30,-82,970,859),12910=>array(30,-82,970,859),12911=>array(30,-82,970,859),12912=>array(30,-82,970,859),12913=>array(30,-82,970,859),12914=>array(30,-82,970,859),12915=>array(30,-82,970,859),12916=>array(30,-82,970,859),12917=>array(30,-82,970,859),12918=>array(30,-82,970,859),12919=>array(30,-82,970,859),12920=>array(30,-82,970,859),12921=>array(30,-82,970,859),12922=>array(30,-82,970,859),12923=>array(30,-82,970,859),12927=>array(30,-82,970,859),12928=>array(30,-82,970,859),12929=>array(30,-82,970,859),12930=>array(30,-82,970,859),12931=>array(30,-82,970,859),12932=>array(30,-82,970,859),12933=>array(30,-82,970,859),12934=>array(30,-82,970,859),12935=>array(30,-82,970,859),12936=>array(30,-82,970,859),12937=>array(30,-82,970,859),12938=>array(30,-82,970,859),12939=>array(30,-82,970,859),12940=>array(30,-82,970,859),12941=>array(30,-82,970,859),12942=>array(30,-82,970,859),12943=>array(30,-82,970,859),12944=>array(30,-82,970,859),12945=>array(30,-82,970,859),12946=>array(30,-82,970,859),12947=>array(30,-82,970,859),12948=>array(30,-82,970,859),12949=>array(30,-82,970,859),12950=>array(30,-82,970,859),12951=>array(30,-82,970,859),12952=>array(30,-82,970,859),12953=>array(30,-82,970,859),12954=>array(30,-82,970,859),12955=>array(30,-82,970,859),12956=>array(30,-82,970,859),12957=>array(30,-82,970,859),12958=>array(30,-82,970,859),12959=>array(30,-82,970,859),12960=>array(30,-82,970,859),12961=>array(30,-82,970,859),12962=>array(30,-82,970,859),12963=>array(30,-82,970,859),12964=>array(30,-82,970,859),12965=>array(30,-82,970,859),12966=>array(30,-82,970,859),12967=>array(30,-82,970,859),12968=>array(30,-82,970,859),12969=>array(30,-82,970,859),12970=>array(30,-82,970,859),12971=>array(30,-82,970,859),12972=>array(30,-82,970,859),12973=>array(30,-82,970,859),12974=>array(30,-82,970,859),12975=>array(30,-82,970,859),12976=>array(30,-82,970,859),12992=>array(119,-55,892,783),12993=>array(88,-55,892,797),12994=>array(86,-55,892,787),12995=>array(64,-55,892,783),12996=>array(89,-55,892,783),12997=>array(102,-55,897,787),12998=>array(90,-55,892,783),12999=>array(80,-55,892,789),13000=>array(82,-55,892,793),13001=>array(47,-55,892,799),13002=>array(47,-55,892,783),13003=>array(47,-55,892,794),13008=>array(30,-82,970,859),13009=>array(30,-82,970,859),13010=>array(30,-82,970,859),13011=>array(30,-82,970,859),13012=>array(30,-82,970,859),13013=>array(30,-82,970,859),13014=>array(30,-82,970,859),13015=>array(30,-82,970,859),13016=>array(30,-82,970,859),13017=>array(30,-82,970,859),13018=>array(30,-82,970,859),13019=>array(30,-82,970,859),13020=>array(30,-82,970,859),13021=>array(30,-82,970,859),13022=>array(30,-82,970,859),13023=>array(30,-82,970,859),13024=>array(30,-82,970,859),13025=>array(30,-82,970,859),13026=>array(30,-82,970,859),13027=>array(30,-82,970,859),13028=>array(30,-82,970,859),13029=>array(30,-82,970,859),13030=>array(30,-82,970,859),13031=>array(30,-82,970,859),13032=>array(30,-82,970,859),13033=>array(30,-82,970,859),13034=>array(30,-82,970,859),13035=>array(30,-82,970,859),13036=>array(30,-82,970,859),13037=>array(30,-82,970,859),13038=>array(30,-82,970,859),13039=>array(30,-82,970,859),13040=>array(30,-82,970,859),13041=>array(30,-82,970,859),13042=>array(30,-82,970,859),13043=>array(30,-82,970,859),13044=>array(30,-82,970,859),13045=>array(30,-82,970,859),13046=>array(30,-82,970,859),13047=>array(30,-82,970,859),13048=>array(30,-82,970,859),13049=>array(30,-82,970,859),13050=>array(30,-82,970,859),13051=>array(30,-82,970,859),13052=>array(30,-82,970,859),13053=>array(30,-82,970,859),13054=>array(30,-82,970,859),13056=>array(54,-77,959,836),13057=>array(62,-82,960,822),13058=>array(39,-64,954,811),13059=>array(49,-64,945,811),13060=>array(73,-74,957,845),13061=>array(50,-76,949,845),13062=>array(75,-49,949,836),13063=>array(38,-77,962,804),13064=>array(58,-67,945,796),13065=>array(47,-48,949,836),13066=>array(47,-66,945,836),13067=>array(58,-75,921,845),13068=>array(58,-77,944,844),13069=>array(58,-75,944,844),13070=>array(58,-49,924,860),13071=>array(58,-67,965,860),13072=>array(51,-61,975,862),13073=>array(51,129,939,862),13074=>array(51,-75,946,862),13075=>array(51,-74,968,862),13076=>array(51,-47,924,841),13077=>array(38,-66,970,841),13078=>array(50,-78,970,844),13079=>array(51,-78,961,841),13080=>array(33,-66,944,866),13081=>array(33,-78,961,866),13082=>array(46,-66,968,844),13083=>array(54,-73,963,844),13084=>array(46,-48,945,850),13085=>array(55,-77,960,822),13086=>array(40,-71,945,802),13087=>array(46,-72,968,845),13088=>array(46,-76,970,841),13089=>array(66,-82,970,831),13090=>array(48,-76,949,836),13091=>array(48,-77,949,836),13092=>array(54,-48,945,868),13093=>array(50,-71,952,868),13094=>array(156,-64,968,856),13095=>array(156,-76,949,845),13096=>array(55,-54,904,841),13097=>array(61,-77,731,825),13098=>array(37,-64,921,845),13099=>array(37,-76,980,836),13100=>array(37,-64,945,836),13101=>array(37,-64,968,856),13102=>array(56,-78,970,857),13103=>array(49,-64,923,857),13104=>array(106,-41,918,857),13105=>array(106,-64,968,862),13106=>array(71,-78,961,794),13107=>array(53,-77,933,845),13108=>array(57,-69,970,862),13109=>array(57,-76,944,826),13110=>array(39,-73,970,844),13111=>array(39,-75,915,802),13112=>array(39,-41,939,802),13113=>array(39,-64,968,836),13114=>array(39,-48,949,811),13115=>array(39,-71,945,802),13116=>array(39,-73,945,819),13117=>array(40,-77,933,859),13118=>array(40,-77,968,859),13119=>array(40,-76,949,842),13120=>array(40,-77,949,859),13121=>array(40,-64,945,842),13122=>array(40,-76,945,842),13123=>array(55,-72,924,845),13124=>array(49,-64,921,845),13125=>array(37,-72,731,805),13126=>array(55,-72,968,836),13127=>array(57,-69,963,811),13128=>array(61,-76,949,844),13129=>array(61,-75,887,829),13130=>array(39,-72,970,831),13131=>array(67,-60,969,833),13132=>array(67,-77,969,860),13133=>array(67,-77,968,833),13134=>array(59,-77,945,847),13135=>array(49,-64,945,847),13136=>array(57,-76,950,811),13137=>array(107,-77,968,831),13138=>array(107,-73,944,831),13139=>array(49,140,955,857),13140=>array(49,-77,968,836),13141=>array(124,-66,956,835),13142=>array(118,-82,963,835),13143=>array(79,-77,718,798),13144=>array(124,-65,967,826),13145=>array(119,-65,967,826),13146=>array(88,-65,967,826),13147=>array(86,-65,967,826),13148=>array(64,-65,967,826),13149=>array(89,-65,967,826),13150=>array(102,-65,972,826),13151=>array(90,-65,967,826),13152=>array(80,-65,967,826),13153=>array(82,-65,967,826),13154=>array(47,-65,967,826),13155=>array(47,-65,967,826),13156=>array(47,-65,967,826),13157=>array(47,-65,967,826),13158=>array(47,-65,967,826),13159=>array(47,-65,967,826),13160=>array(47,-65,967,826),13161=>array(47,-65,967,826),13162=>array(47,-65,967,826),13163=>array(47,-65,967,826),13164=>array(48,-65,967,826),13165=>array(48,-65,967,826),13166=>array(48,-65,967,826),13167=>array(48,-65,967,826),13168=>array(48,-65,967,826),13169=>array(77,12,942,739),13170=>array(65,11,930,739),13171=>array(50,23,915,751),13172=>array(81,11,971,739),13173=>array(63,16,962,739),13174=>array(90,-71,934,658),13179=>array(37,-70,970,831),13180=>array(54,-60,946,831),13181=>array(28,-43,956,829),13182=>array(59,-67,970,832),13183=>array(23,-86,969,855),13184=>array(84,-171,968,739),13185=>array(82,23,968,739),13186=>array(79,-187,963,739),13187=>array(77,23,965,739),13188=>array(80,23,962,739),13189=>array(78,23,946,739),13190=>array(78,23,946,739),13191=>array(63,23,946,763),13192=>array(58,11,922,739),13193=>array(62,11,938,739),13194=>array(84,-171,942,739),13195=>array(82,23,942,739),13196=>array(80,-187,942,739),13197=>array(80,-187,919,553),13198=>array(77,-187,925,553),13199=>array(91,-187,919,739),13200=>array(91,23,949,739),13201=>array(82,23,952,739),13202=>array(72,23,957,739),13203=>array(52,23,962,763),13204=>array(44,23,952,739),13205=>array(84,-187,926,737),13206=>array(86,23,930,739),13207=>array(65,11,930,739),13208=>array(123,23,926,739),13209=>array(86,23,914,751),13210=>array(86,23,914,553),13211=>array(87,-187,914,553),13212=>array(70,23,930,553),13213=>array(63,16,918,558),13214=>array(83,23,918,739),13215=>array(67,23,958,677),13216=>array(63,16,958,677),13217=>array(149,23,926,677),13218=>array(82,23,958,739),13219=>array(67,23,964,680),13220=>array(63,16,964,680),13221=>array(149,23,932,680),13222=>array(82,23,964,739),13223=>array(75,16,937,740),13224=>array(67,16,958,740),13225=>array(104,11,926,739),13226=>array(69,11,951,739),13227=>array(58,11,961,739),13228=>array(55,23,975,763),13229=>array(70,11,930,739),13230=>array(67,11,959,740),13231=>array(67,11,966,740),13232=>array(92,-171,940,558),13233=>array(91,16,929,558),13234=>array(92,-187,946,558),13235=>array(83,16,947,558),13236=>array(92,-171,954,739),13237=>array(88,23,954,739),13238=>array(92,-187,954,739),13239=>array(70,23,954,739),13240=>array(93,23,954,739),13241=>array(76,23,959,739),13242=>array(84,-171,965,739),13243=>array(87,23,963,739),13244=>array(87,-187,963,739),13245=>array(70,23,967,739),13246=>array(91,23,965,739),13247=>array(72,23,969,739),13248=>array(87,23,945,739),13249=>array(72,23,948,739),13250=>array(65,11,955,553),13251=>array(85,-171,917,739),13252=>array(64,16,940,558),13253=>array(64,11,925,739),13254=>array(50,-187,942,761),13255=>array(63,16,955,763),13256=>array(61,11,939,739),13257=>array(64,-186,960,763),13258=>array(91,11,939,739),13259=>array(102,23,932,739),13260=>array(159,23,837,739),13261=>array(90,22,959,739),13262=>array(79,23,921,739),13263=>array(121,18,860,739),13264=>array(109,23,918,739),13265=>array(151,23,844,739),13266=>array(79,-187,921,739),13267=>array(166,23,842,739),13268=>array(88,11,947,739),13269=>array(87,23,913,739),13270=>array(69,16,931,739),13271=>array(93,-171,907,739),13272=>array(76,-171,955,558),13273=>array(69,23,931,739),13274=>array(84,23,961,739),13275=>array(98,16,918,558),13276=>array(68,23,944,763),13277=>array(51,11,952,739),13280=>array(119,-24,908,777),13281=>array(88,-24,908,797),13282=>array(86,-35,908,787),13283=>array(64,-24,908,781),13284=>array(89,-31,908,780),13285=>array(102,-34,914,787),13286=>array(90,-24,908,777),13287=>array(80,-25,908,789),13288=>array(82,-27,908,793),13289=>array(47,-35,918,795),13290=>array(47,-24,918,776),13291=>array(47,-24,918,793),13292=>array(47,-35,918,792),13293=>array(47,-24,918,785),13294=>array(47,-31,918,780),13295=>array(47,-32,918,787),13296=>array(47,-24,918,777),13297=>array(47,-24,918,786),13298=>array(47,-31,918,788),13299=>array(48,-35,918,795),13300=>array(48,-24,918,792),13301=>array(48,-24,918,792),13302=>array(48,-34,918,792),13303=>array(48,-24,918,792),13304=>array(48,-31,918,792),13305=>array(48,-32,918,792),13306=>array(48,-24,918,792),13307=>array(48,-24,918,792),13308=>array(48,-31,918,792),13309=>array(44,-35,918,795),13310=>array(44,-34,918,790),19968=>array(121,356,896,439),19969=>array(98,-68,911,768),19970=>array(102,-67,897,787),19971=>array(75,-11,896,823),19972=>array(92,9,927,814),19973=>array(92,9,927,814),19974=>array(115,-77,914,738),19975=>array(63,-77,959,738),19976=>array(83,-77,948,827),19977=>array(99,32,911,713),19978=>array(92,10,927,814),19979=>array(84,-59,916,772),19980=>array(53,-64,927,778),19981=>array(71,-65,928,769),19982=>array(68,-64,930,825),19983=>array(85,-66,937,782),19984=>array(98,-63,908,767),19985=>array(78,-11,922,764),19986=>array(80,-13,925,765),19987=>array(73,-68,921,828),19988=>array(84,-14,935,776),19989=>array(85,-6,942,771),19990=>array(64,-65,936,805),19991=>array(74,-69,926,817),19992=>array(76,-13,927,803),19993=>array(68,-74,933,767),19994=>array(67,-12,918,799),19995=>array(55,-4,915,827),19996=>array(52,-72,911,820),19997=>array(70,-9,925,828),19998=>array(58,-17,951,778),19999=>array(100,-54,898,767),20000=>array(68,-36,952,807),20001=>array(62,-64,952,787),20002=>array(66,-57,906,809),20003=>array(98,-62,914,783),20004=>array(62,-61,911,780),20005=>array(38,-61,914,782),20006=>array(68,-13,941,840),20007=>array(64,-74,944,818),20008=>array(439,-66,515,823),20009=>array(283,-55,652,833),20010=>array(30,-70,955,832),20011=>array(136,-53,866,805),20012=>array(248,-68,574,816),20013=>array(131,-65,860,826),20014=>array(71,-64,963,786),20015=>array(83,-68,933,844),20016=>array(73,-61,927,832),20017=>array(73,-72,894,826),20018=>array(123,-68,886,832),20019=>array(59,-70,912,830),20020=>array(103,-59,908,840),20021=>array(84,-54,930,814),20022=>array(289,225,647,575),20023=>array(134,287,875,584),20024=>array(52,-71,950,824),20025=>array(74,-73,939,777),20026=>array(82,-65,836,829),20027=>array(81,-6,930,841),20028=>array(82,-65,932,831),20029=>array(61,-57,912,771),20030=>array(18,-82,950,821),20031=>array(249,-60,554,834),20032=>array(72,-66,928,836),20033=>array(161,-77,953,786),20034=>array(66,-77,953,828),20035=>array(73,-56,894,776),20036=>array(117,-69,879,840),20037=>array(85,-50,957,835),20038=>array(75,-49,949,802),20039=>array(74,-24,940,816),20040=>array(94,-28,930,816),20041=>array(54,-71,955,818),20042=>array(99,262,872,706),20043=>array(64,-63,947,822),20044=>array(71,-68,889,828),20045=>array(56,-67,945,850),20046=>array(93,-64,924,826),20047=>array(65,-63,949,829),20048=>array(49,-59,941,833),20049=>array(54,-61,953,837),20050=>array(89,-77,921,826),20051=>array(87,-73,927,826),20052=>array(39,-69,948,819),20053=>array(38,-62,929,837),20054=>array(59,-65,926,831),20055=>array(50,-70,953,854),20056=>array(50,-70,953,824),20057=>array(158,-14,909,740),20058=>array(222,0,890,782),20059=>array(92,290,913,534),20060=>array(80,-20,954,822),20061=>array(77,-46,948,831),20062=>array(62,-27,925,835),20063=>array(92,-9,930,830),20064=>array(118,-62,818,769),20065=>array(96,-58,834,832),20066=>array(137,-32,953,825),20067=>array(85,-32,953,825),20068=>array(96,-43,924,792),20069=>array(113,-15,894,831),20070=>array(60,-71,894,819),20071=>array(101,-15,922,829),20072=>array(57,-53,953,828),20073=>array(91,-53,937,833),20074=>array(85,-28,958,753),20075=>array(60,-15,875,826),20076=>array(115,-15,889,804),20077=>array(76,-15,918,777),20078=>array(146,-40,897,829),20079=>array(93,-30,914,829),20080=>array(39,-62,920,779),20081=>array(58,-44,936,826),20082=>array(77,-15,954,828),20083=>array(48,-85,958,815),20084=>array(61,-45,938,806),20085=>array(74,-55,961,850),20086=>array(62,-55,956,849),20087=>array(58,-51,952,836),20088=>array(42,-27,959,828),20089=>array(108,-64,976,833),20090=>array(66,-31,938,831),20091=>array(50,-31,943,847),20092=>array(80,-31,966,859),20093=>array(67,-58,929,836),20094=>array(48,-64,950,842),20095=>array(44,-62,958,824),20096=>array(64,-43,956,853),20097=>array(81,-61,961,837),20098=>array(49,-68,962,843),20099=>array(36,-62,960,840),20100=>array(54,-30,954,831),20101=>array(290,-40,544,818),20102=>array(172,-41,829,773),20103=>array(98,-62,895,822),20104=>array(92,-66,913,782),20105=>array(69,-70,939,829),20106=>array(60,-65,950,826),20107=>array(60,-65,950,826),20108=>array(100,103,916,657),20109=>array(98,-51,914,764),20110=>array(89,-69,908,773),20111=>array(64,-62,912,770),20112=>array(64,-62,912,770),20113=>array(71,-50,934,760),20114=>array(78,-6,932,775),20115=>array(42,-66,919,784),20116=>array(82,25,916,744),20117=>array(63,-70,935,829),20118=>array(57,-24,960,791),20119=>array(57,-24,950,822),20120=>array(71,-6,941,770),20121=>array(52,-24,948,780),20122=>array(63,-7,914,775),20123=>array(65,-17,933,829),20124=>array(64,-24,952,783),20125=>array(77,-17,928,852),20126=>array(64,-24,952,783),20127=>array(74,-29,938,811),20128=>array(73,391,927,690),20129=>array(64,-3,936,822),20130=>array(66,-58,959,822),20131=>array(98,-55,911,835),20132=>array(70,-65,946,822),20133=>array(85,-64,931,840),20134=>array(57,-66,934,822),20135=>array(25,-63,889,843),20136=>array(74,-61,926,825),20137=>array(62,-56,916,841),20138=>array(81,-78,941,841),20139=>array(74,-58,936,828),20140=>array(53,-64,950,825),20141=>array(93,-58,907,836),20142=>array(65,-68,950,838),20143=>array(77,-62,923,840),20144=>array(59,-67,942,828),20145=>array(39,-63,941,846),20146=>array(49,-67,920,837),20147=>array(87,-45,961,838),20148=>array(71,-56,973,861),20149=>array(29,-75,944,841),20150=>array(53,-47,947,845),20151=>array(40,-59,955,850),20152=>array(52,-69,953,836),20153=>array(54,-47,960,858),20154=>array(71,-48,943,806),20155=>array(256,-69,592,824),20156=>array(32,-27,973,804),20157=>array(50,-56,978,838),20158=>array(171,16,906,794),20159=>array(34,-64,943,829),20160=>array(48,-68,950,829),20161=>array(47,-65,953,835),20162=>array(65,-65,910,838),20163=>array(43,-67,954,837),20164=>array(42,-66,957,775),20165=>array(23,-62,936,832),20166=>array(44,-67,956,835),20167=>array(39,-73,957,836),20168=>array(49,-73,955,828),20169=>array(60,-67,956,825),20170=>array(33,-77,967,836),20171=>array(54,-71,951,858),20172=>array(56,-47,953,831),20173=>array(58,-71,923,829),20174=>array(18,-72,964,836),20175=>array(44,-62,941,837),20176=>array(30,-58,955,832),20177=>array(30,-34,955,827),20178=>array(31,-68,964,811),20179=>array(26,-28,941,832),20180=>array(50,-64,954,834),20181=>array(46,-64,935,828),20182=>array(32,-68,956,844),20183=>array(51,-64,959,839),20184=>array(55,-73,947,838),20185=>array(43,-68,894,822),20186=>array(55,-64,957,840),20187=>array(60,-73,930,838),20188=>array(54,-63,939,832),20189=>array(56,-15,958,843),20190=>array(51,-67,895,832),20191=>array(54,-64,948,833),20192=>array(48,-67,948,829),20193=>array(46,-66,952,842),20194=>array(48,-69,920,829),20195=>array(46,-68,957,830),20196=>array(38,-67,961,846),20197=>array(66,-52,945,802),20198=>array(48,-66,951,829),20199=>array(76,-39,945,828),20200=>array(44,-66,937,830),20201=>array(57,-59,948,835),20202=>array(27,-75,949,823),20203=>array(44,-80,944,829),20204=>array(32,-57,897,837),20205=>array(24,-65,969,829),20206=>array(34,-70,949,839),20207=>array(41,-63,958,846),20208=>array(31,-64,897,853),20209=>array(54,-67,949,840),20210=>array(50,-68,902,833),20211=>array(52,-67,955,832),20212=>array(48,-66,859,832),20213=>array(52,-67,956,842),20214=>array(45,-67,950,837),20215=>array(33,-74,982,847),20216=>array(28,-69,962,833),20217=>array(43,-79,936,836),20218=>array(58,-38,982,866),20219=>array(27,-73,949,830),20220=>array(33,-67,938,835),20221=>array(50,-74,968,828),20222=>array(23,-67,951,835),20223=>array(56,-70,953,845),20224=>array(49,-61,948,837),20225=>array(28,-28,958,841),20226=>array(41,-65,946,836),20227=>array(49,-55,956,840),20228=>array(52,-68,912,828),20229=>array(41,-64,945,832),20230=>array(49,-64,921,843),20231=>array(45,-66,967,835),20232=>array(40,-59,954,846),20233=>array(40,-69,954,839),20234=>array(34,-75,950,827),20235=>array(39,-55,963,844),20236=>array(41,-72,930,819),20237=>array(29,-73,947,832),20238=>array(49,-66,960,840),20239=>array(50,-67,954,841),20240=>array(47,-73,950,822),20241=>array(49,-71,953,832),20242=>array(51,-66,937,829),20243=>array(46,-66,952,827),20244=>array(41,-71,958,832),20245=>array(50,-71,961,832),20246=>array(55,-87,958,835),20247=>array(34,-75,947,828),20248=>array(42,-64,945,840),20249=>array(50,-69,959,829),20250=>array(51,-56,954,832),20251=>array(39,-68,924,819),20252=>array(65,-57,941,831),20253=>array(45,-64,941,835),20254=>array(28,-81,950,822),20255=>array(30,-58,912,835),20256=>array(28,-66,903,831),20257=>array(50,-74,951,829),20258=>array(49,-67,932,835),20259=>array(50,-67,940,829),20260=>array(30,-66,919,823),20261=>array(39,-73,947,819),20262=>array(31,-59,935,833),20263=>array(25,-67,949,828),20264=>array(37,-67,906,836),20265=>array(37,-67,976,850),20266=>array(32,-68,895,824),20267=>array(34,-66,914,822),20268=>array(50,-66,952,834),20269=>array(39,-63,951,836),20270=>array(49,-71,959,840),20271=>array(62,-65,887,842),20272=>array(38,-67,951,835),20273=>array(62,-65,951,852),20274=>array(51,-76,952,830),20275=>array(36,-66,945,833),20276=>array(42,-65,955,835),20277=>array(42,-65,890,833),20278=>array(26,-71,965,849),20279=>array(33,-70,896,833),20280=>array(48,-65,897,843),20281=>array(34,-69,958,838),20282=>array(52,-68,896,834),20283=>array(45,-65,952,839),20284=>array(40,-69,960,839),20285=>array(29,-68,908,831),20286=>array(43,-69,936,822),20287=>array(44,-66,960,835),20288=>array(44,-65,915,835),20289=>array(48,-64,948,832),20290=>array(48,-64,946,831),20291=>array(45,-66,902,840),20292=>array(45,-66,948,840),20293=>array(45,-66,937,840),20294=>array(31,-73,934,839),20295=>array(38,-67,940,831),20296=>array(50,-65,956,842),20297=>array(42,-64,948,837),20298=>array(37,-73,966,838),20299=>array(36,-66,906,824),20300=>array(45,-63,958,837),20301=>array(41,-71,947,827),20302=>array(38,-68,961,838),20303=>array(35,-70,948,839),20304=>array(34,-66,946,834),20305=>array(42,-67,945,833),20306=>array(40,-63,965,837),20307=>array(37,-64,966,831),20308=>array(35,-63,935,840),20309=>array(33,-70,958,839),20310=>array(47,-67,956,832),20311=>array(48,-67,951,834),20312=>array(40,-61,970,857),20313=>array(61,-63,951,852),20314=>array(57,-67,967,839),20315=>array(47,-65,924,834),20316=>array(37,-67,954,847),20317=>array(66,-67,921,841),20318=>array(43,-69,945,836),20319=>array(46,-73,969,846),20320=>array(16,-73,951,833),20321=>array(48,-71,957,830),20322=>array(38,-61,943,837),20323=>array(37,-65,895,833),20324=>array(44,-68,962,840),20325=>array(26,-18,943,831),20326=>array(38,-64,921,831),20327=>array(47,-65,953,842),20328=>array(43,-59,955,836),20329=>array(39,-67,959,833),20330=>array(50,-68,897,838),20331=>array(52,-66,964,839),20332=>array(41,-65,942,832),20333=>array(37,-69,944,839),20334=>array(53,-64,968,847),20335=>array(44,-65,947,842),20336=>array(48,-67,947,833),20337=>array(48,-24,975,852),20338=>array(47,-70,883,840),20339=>array(21,-72,933,834),20340=>array(54,-74,948,835),20341=>array(37,-70,955,851),20342=>array(35,-73,924,834),20343=>array(53,-66,959,837),20344=>array(48,-55,948,845),20345=>array(42,-59,963,851),20346=>array(44,-67,951,832),20347=>array(22,-84,946,829),20348=>array(27,-70,941,835),20349=>array(63,-57,955,850),20350=>array(24,-67,974,837),20351=>array(50,-73,985,836),20352=>array(44,-70,913,841),20353=>array(46,-64,960,839),20354=>array(43,-63,954,846),20355=>array(41,-66,961,836),20356=>array(18,-66,921,831),20357=>array(41,-61,947,842),20358=>array(63,-64,956,835),20359=>array(40,-70,961,839),20360=>array(48,-62,920,844),20361=>array(32,-67,975,848),20362=>array(32,-67,946,838),20363=>array(41,-63,911,845),20364=>array(33,-81,952,861),20365=>array(52,-74,949,829),20366=>array(52,-74,976,827),20367=>array(36,-80,953,824),20368=>array(36,-61,958,847),20369=>array(39,-65,954,844),20370=>array(42,-64,942,836),20371=>array(42,-64,948,835),20372=>array(43,-71,947,843),20373=>array(42,-62,955,843),20374=>array(42,-62,966,852),20375=>array(50,-65,908,829),20376=>array(42,-70,964,829),20377=>array(38,-59,949,847),20378=>array(48,-57,938,845),20379=>array(38,-70,949,844),20380=>array(49,-73,954,843),20381=>array(36,-73,947,839),20382=>array(52,-55,905,847),20383=>array(44,-70,954,844),20384=>array(28,-67,944,832),20385=>array(24,-61,938,835),20386=>array(47,-67,949,828),20387=>array(32,-65,883,833),20388=>array(37,-60,945,832),20389=>array(10,-61,932,834),20390=>array(38,-74,922,831),20391=>array(18,-60,875,832),20392=>array(41,-55,967,848),20393=>array(32,-59,943,833),20394=>array(27,-69,937,834),20395=>array(37,-60,949,843),20396=>array(27,-69,962,834),20397=>array(27,-69,960,834),20398=>array(34,-68,946,839),20399=>array(44,-73,974,835),20400=>array(44,-73,933,835),20401=>array(44,-73,940,826),20402=>array(42,-73,969,827),20403=>array(39,-63,956,853),20404=>array(48,-61,975,852),20405=>array(36,-64,948,840),20406=>array(49,-63,900,836),20407=>array(41,-63,913,830),20408=>array(49,-63,942,836),20409=>array(35,-63,962,835),20410=>array(57,-65,957,843),20411=>array(51,-72,960,828),20412=>array(55,-64,946,830),20413=>array(53,-64,927,843),20414=>array(52,-64,953,843),20415=>array(42,-73,947,834),20416=>array(43,-63,955,842),20417=>array(35,-59,964,840),20418=>array(40,-65,954,845),20419=>array(20,-70,961,840),20420=>array(41,-64,960,840),20421=>array(42,-70,960,840),20422=>array(20,-70,948,840),20423=>array(28,-64,948,840),20424=>array(20,-70,939,840),20425=>array(53,-67,963,840),20426=>array(42,-79,953,849),20427=>array(40,-70,956,840),20428=>array(40,-70,945,840),20429=>array(59,-69,970,832),20430=>array(42,-57,954,829),20431=>array(52,-67,925,836),20432=>array(54,-66,918,847),20433=>array(21,-67,911,842),20434=>array(54,-67,946,845),20435=>array(39,-67,955,839),20436=>array(39,-54,958,841),20437=>array(39,-65,939,841),20438=>array(47,-64,947,841),20439=>array(36,-65,972,839),20440=>array(31,-62,951,832),20441=>array(42,-70,957,844),20442=>array(25,-68,948,836),20443=>array(50,-64,969,841),20444=>array(44,-65,955,850),20445=>array(35,-73,965,832),20446=>array(48,-61,975,852),20447=>array(23,-69,977,846),20448=>array(44,-68,968,840),20449=>array(32,-68,941,825),20450=>array(43,-82,954,844),20451=>array(25,-76,933,819),20452=>array(25,-70,919,842),20453=>array(26,-67,934,839),20454=>array(23,-71,953,832),20455=>array(25,-69,929,826),20456=>array(35,-69,923,823),20457=>array(32,-58,917,834),20458=>array(19,-61,911,829),20459=>array(25,-69,941,830),20460=>array(42,-64,961,850),20461=>array(19,-58,944,836),20462=>array(33,-76,973,844),20463=>array(33,-71,950,831),20464=>array(42,-64,913,850),20465=>array(22,-69,944,835),20466=>array(17,-57,909,852),20467=>array(37,-66,957,842),20468=>array(47,-60,947,840),20469=>array(41,-69,963,838),20470=>array(34,-69,981,835),20471=>array(46,-68,947,825),20472=>array(36,-68,964,843),20473=>array(51,-67,929,836),20474=>array(34,-61,967,841),20475=>array(51,-72,946,836),20476=>array(41,-74,911,844),20477=>array(44,-72,946,848),20478=>array(39,-65,950,853),20479=>array(39,-65,950,857),20480=>array(44,-68,972,831),20481=>array(47,-66,946,849),20482=>array(37,-68,955,835),20483=>array(44,-65,961,837),20484=>array(39,-64,922,844),20485=>array(32,-64,946,835),20486=>array(49,-68,941,846),20487=>array(45,-75,947,834),20488=>array(43,-65,972,836),20489=>array(62,-71,946,855),20490=>array(43,-65,969,831),20491=>array(50,-68,918,838),20492=>array(39,-65,927,854),20493=>array(39,-69,950,835),20494=>array(49,-72,943,838),20495=>array(31,-73,966,846),20496=>array(14,-67,952,848),20497=>array(27,-70,892,841),20498=>array(53,-68,903,839),20499=>array(50,-66,952,843),20500=>array(38,-66,908,831),20501=>array(46,-67,949,832),20502=>array(42,-65,940,844),20503=>array(54,-64,890,834),20504=>array(35,-65,895,836),20505=>array(20,-68,958,843),20506=>array(36,-64,953,842),20507=>array(54,-77,951,834),20508=>array(45,-72,926,840),20509=>array(73,-73,961,833),20510=>array(35,-68,956,832),20511=>array(41,-68,953,838),20512=>array(46,-71,935,825),20513=>array(52,-65,897,833),20514=>array(44,-64,978,839),20515=>array(29,-69,974,847),20516=>array(36,-68,943,837),20517=>array(26,-69,954,834),20518=>array(34,-67,963,835),20519=>array(62,-59,967,839),20520=>array(32,-71,947,841),20521=>array(36,-67,956,847),20522=>array(49,-77,951,821),20523=>array(31,-71,976,855),20524=>array(46,-65,951,836),20525=>array(12,-67,952,842),20526=>array(33,-67,979,843),20527=>array(52,-68,967,830),20528=>array(44,-65,956,834),20529=>array(59,-59,960,836),20530=>array(59,-64,943,836),20531=>array(51,-64,956,831),20532=>array(46,-68,975,835),20533=>array(47,-62,951,830),20534=>array(39,-65,961,838),20535=>array(52,-62,963,832),20536=>array(47,-62,975,848),20537=>array(39,-71,955,841),20538=>array(35,-86,913,827),20539=>array(30,-65,973,835),20540=>array(37,-68,943,834),20541=>array(54,-59,969,875),20542=>array(29,-59,955,828),20543=>array(39,-64,939,841),20544=>array(46,-70,972,839),20545=>array(44,-68,952,836),20546=>array(48,-65,960,850),20547=>array(27,-73,945,841),20548=>array(46,-70,975,837),20549=>array(46,-70,956,837),20550=>array(39,-69,972,840),20551=>array(41,-70,962,835),20552=>array(45,-69,920,825),20553=>array(42,-66,948,844),20554=>array(45,-67,918,835),20555=>array(40,-72,951,841),20556=>array(36,-66,954,847),20557=>array(47,-73,961,833),20558=>array(33,-71,970,844),20559=>array(38,-68,921,837),20560=>array(35,-71,939,836),20561=>array(37,-68,966,832),20562=>array(41,-66,944,842),20563=>array(47,-68,960,841),20564=>array(41,-66,925,842),20565=>array(31,-68,963,840),20566=>array(31,-66,938,842),20567=>array(55,-67,956,843),20568=>array(46,-65,920,829),20569=>array(61,-65,908,839),20570=>array(51,-74,963,835),20571=>array(46,-67,958,836),20572=>array(37,-65,934,834),20573=>array(37,-65,953,845),20574=>array(44,-70,955,833),20575=>array(49,-52,951,852),20576=>array(46,-75,960,834),20577=>array(51,-64,959,841),20578=>array(40,-54,973,848),20579=>array(54,-68,956,845),20580=>array(44,-71,936,828),20581=>array(43,-73,966,834),20582=>array(43,-70,957,834),20583=>array(28,-70,980,834),20584=>array(31,-71,969,834),20585=>array(55,-73,943,838),20586=>array(47,-53,948,839),20587=>array(53,-66,968,839),20588=>array(33,-68,970,846),20589=>array(38,-62,944,837),20590=>array(45,-71,952,830),20591=>array(41,-74,960,843),20592=>array(40,-73,960,835),20593=>array(43,-67,935,840),20594=>array(43,-65,971,833),20595=>array(44,-64,951,839),20596=>array(42,-68,902,834),20597=>array(48,-79,943,836),20598=>array(38,-62,907,836),20599=>array(53,-63,979,862),20600=>array(37,-71,963,824),20601=>array(23,-66,962,840),20602=>array(44,-66,960,840),20603=>array(23,-66,933,830),20604=>array(36,-61,954,839),20605=>array(41,-67,924,835),20606=>array(27,-69,925,834),20607=>array(21,-57,912,834),20608=>array(26,-72,967,841),20609=>array(50,-72,963,832),20610=>array(49,-69,961,837),20611=>array(55,-70,948,837),20612=>array(41,-64,968,840),20613=>array(31,-65,941,838),20614=>array(56,-75,958,838),20615=>array(58,-72,961,833),20616=>array(30,-65,979,838),20617=>array(44,-69,953,827),20618=>array(44,-73,936,827),20619=>array(44,-69,951,827),20620=>array(44,-58,941,848),20621=>array(36,-64,941,833),20622=>array(41,-58,955,848),20623=>array(45,-75,948,843),20624=>array(39,-65,906,841),20625=>array(31,-65,971,847),20626=>array(38,-65,978,837),20627=>array(53,-60,903,842),20628=>array(45,-57,960,850),20629=>array(60,-71,960,830),20630=>array(29,-80,969,851),20631=>array(29,-69,950,843),20632=>array(52,-58,971,847),20633=>array(29,-69,956,835),20634=>array(25,-57,978,832),20635=>array(44,-66,958,840),20636=>array(46,-72,953,839),20637=>array(39,-73,917,829),20638=>array(39,-62,954,853),20639=>array(42,-71,922,844),20640=>array(37,-67,968,844),20641=>array(47,-44,970,844),20642=>array(37,-68,976,854),20643=>array(32,-65,976,845),20644=>array(42,-64,964,836),20645=>array(28,-64,934,829),20646=>array(28,-72,943,823),20647=>array(30,-66,938,841),20648=>array(28,-63,922,833),20649=>array(27,-61,924,828),20650=>array(27,-76,967,847),20651=>array(34,-70,943,830),20652=>array(30,-60,936,840),20653=>array(34,-68,957,840),20654=>array(44,-66,954,843),20655=>array(44,-64,969,838),20656=>array(38,-71,903,840),20657=>array(40,-74,973,835),20658=>array(32,-67,958,835),20659=>array(35,-70,951,836),20660=>array(35,-65,948,838),20661=>array(41,-72,963,833),20662=>array(46,-74,967,838),20663=>array(31,-67,953,839),20664=>array(42,-80,961,837),20665=>array(39,-65,952,847),20666=>array(29,-65,958,841),20667=>array(28,-66,961,841),20668=>array(33,-66,948,841),20669=>array(44,-71,954,847),20670=>array(35,-67,962,831),20671=>array(39,-70,949,834),20672=>array(29,-72,949,859),20673=>array(47,-62,965,839),20674=>array(30,-72,950,835),20675=>array(26,-65,907,832),20676=>array(46,-65,955,834),20677=>array(33,-70,944,840),20678=>array(17,-61,965,840),20679=>array(36,-57,974,844),20680=>array(41,-81,960,832),20681=>array(37,-66,979,847),20682=>array(41,-64,958,840),20683=>array(46,-80,970,847),20684=>array(25,-71,968,847),20685=>array(43,-66,925,832),20686=>array(37,-58,950,843),20687=>array(40,-62,963,840),20688=>array(45,-66,909,844),20689=>array(35,-66,965,832),20690=>array(47,-65,952,843),20691=>array(55,-79,959,840),20692=>array(46,-67,949,843),20693=>array(48,-64,963,835),20694=>array(39,-68,951,834),20695=>array(52,-71,934,831),20696=>array(23,-67,985,844),20697=>array(44,-70,969,835),20698=>array(41,-64,983,842),20699=>array(38,-74,963,839),20700=>array(55,-45,963,829),20701=>array(55,-70,962,826),20702=>array(33,-65,930,839),20703=>array(38,-56,946,835),20704=>array(62,-70,965,828),20705=>array(53,-52,962,836),20706=>array(43,-67,947,833),20707=>array(34,-64,968,836),20708=>array(68,-67,967,835),20709=>array(38,-67,962,837),20710=>array(35,-64,967,851),20711=>array(39,-60,907,843),20712=>array(39,-72,968,841),20713=>array(52,-52,911,840),20714=>array(54,-64,918,833),20715=>array(52,-52,962,840),20716=>array(34,-68,967,842),20717=>array(24,-65,972,838),20718=>array(29,-71,953,832),20719=>array(57,-72,974,833),20720=>array(47,-63,963,835),20721=>array(30,-62,952,847),20722=>array(25,-75,948,832),20723=>array(20,-69,965,839),20724=>array(52,-52,911,840),20725=>array(45,-61,956,838),20726=>array(43,-70,982,832),20727=>array(45,-72,955,847),20728=>array(30,-70,972,834),20729=>array(28,-71,949,826),20730=>array(47,-70,959,828),20731=>array(35,-65,958,847),20732=>array(47,-66,951,833),20733=>array(37,-68,988,830),20734=>array(41,-57,972,858),20735=>array(34,-70,979,834),20736=>array(39,-68,963,845),20737=>array(39,-74,942,844),20738=>array(36,-76,977,843),20739=>array(44,-70,960,838),20740=>array(36,-67,960,840),20741=>array(53,-68,915,836),20742=>array(26,-66,978,841),20743=>array(50,-66,979,837),20744=>array(34,-61,968,863),20745=>array(38,-69,965,851),20746=>array(34,-72,978,836),20747=>array(20,-72,942,839),20748=>array(28,-58,963,850),20749=>array(39,-56,965,853),20750=>array(42,-65,964,836),20751=>array(38,-67,968,845),20752=>array(28,-68,964,854),20753=>array(47,-79,962,825),20754=>array(36,-60,956,839),20755=>array(52,-67,964,829),20756=>array(32,-65,953,838),20757=>array(41,-71,963,837),20758=>array(51,-65,942,843),20759=>array(30,-64,969,839),20760=>array(31,-64,964,845),20761=>array(31,-64,960,845),20762=>array(37,-59,938,838),20763=>array(39,-67,943,842),20764=>array(39,-67,948,841),20765=>array(50,-65,937,856),20766=>array(37,-75,951,837),20767=>array(28,-73,961,842),20768=>array(47,-71,954,836),20769=>array(54,-68,923,826),20770=>array(46,-70,964,829),20771=>array(64,-74,959,846),20772=>array(49,-68,965,830),20773=>array(47,-79,940,835),20774=>array(42,-76,963,841),20775=>array(37,-77,963,838),20776=>array(39,-80,947,838),20777=>array(49,-75,934,838),20778=>array(30,-73,954,835),20779=>array(40,-73,957,840),20780=>array(5,-73,996,835),20781=>array(35,-73,972,830),20782=>array(36,-66,952,836),20783=>array(26,-64,963,846),20784=>array(44,-75,951,834),20785=>array(28,-66,967,845),20786=>array(40,-68,946,838),20787=>array(41,-66,969,844),20788=>array(33,-69,979,844),20789=>array(32,-68,971,843),20790=>array(33,-67,940,848),20791=>array(36,-69,968,841),20792=>array(44,-55,950,840),20793=>array(30,-72,954,840),20794=>array(29,-69,955,839),20795=>array(27,-68,973,848),20796=>array(34,-70,971,832),20797=>array(47,-72,935,832),20798=>array(36,-71,964,839),20799=>array(39,-81,955,815),20800=>array(46,-64,942,754),20801=>array(82,-59,936,842),20802=>array(40,-65,963,824),20803=>array(76,-67,939,767),20804=>array(85,-65,932,776),20805=>array(64,-68,951,822),20806=>array(73,-64,933,832),20807=>array(40,-60,953,836),20808=>array(89,-67,934,839),20809=>array(66,-63,930,832),20810=>array(49,-68,949,835),20811=>array(60,-67,937,832),20812=>array(51,-60,953,812),20813=>array(52,-70,948,840),20814=>array(68,-60,959,831),20815=>array(37,-66,956,794),20816=>array(52,-66,929,737),20817=>array(67,-64,941,848),20818=>array(88,-62,927,833),20819=>array(36,-64,970,794),20820=>array(63,-67,950,842),20821=>array(41,-65,962,780),20822=>array(58,-67,956,848),20823=>array(42,-62,959,834),20824=>array(30,-50,960,823),20825=>array(29,-80,961,845),20826=>array(52,-64,948,828),20827=>array(30,-79,955,845),20828=>array(52,-66,948,844),20829=>array(29,-80,954,846),20830=>array(28,-81,977,844),20831=>array(41,-68,956,830),20832=>array(36,-66,962,845),20833=>array(27,-79,953,845),20834=>array(32,-71,958,830),20835=>array(34,-81,965,845),20836=>array(28,-79,958,844),20837=>array(85,-38,933,769),20838=>array(143,-12,903,787),20839=>array(127,-69,877,786),20840=>array(40,-23,935,803),20841=>array(60,-68,953,783),20842=>array(35,-66,965,822),20843=>array(44,-36,949,791),20844=>array(51,-54,956,804),20845=>array(62,-29,946,810),20846=>array(46,-60,954,816),20847=>array(118,-57,799,812),20848=>array(65,-27,915,796),20849=>array(75,-70,925,829),20850=>array(90,-57,931,809),20851=>array(38,-62,919,831),20852=>array(47,-51,915,809),20853=>array(53,-66,958,817),20854=>array(63,-65,936,832),20855=>array(63,-64,942,789),20856=>array(52,-71,943,833),20857=>array(63,-47,912,831),20858=>array(46,-54,951,829),20859=>array(33,-67,951,839),20860=>array(50,-62,959,841),20861=>array(65,-63,917,836),20862=>array(65,-61,935,837),20863=>array(79,-56,952,830),20864=>array(57,-74,929,834),20865=>array(50,-67,969,814),20866=>array(131,-66,869,766),20867=>array(136,-69,864,795),20868=>array(52,-66,942,800),20869=>array(131,-64,865,824),20870=>array(151,-51,849,781),20871=>array(70,-62,934,849),20872=>array(107,-61,856,789),20873=>array(53,-67,947,839),20874=>array(52,-66,948,788),20875=>array(131,-65,887,779),20876=>array(47,-79,958,786),20877=>array(67,-61,954,791),20878=>array(117,-55,879,800),20879=>array(122,-65,878,783),20880=>array(189,-50,851,788),20881=>array(189,-60,851,834),20882=>array(131,-65,869,810),20883=>array(60,-65,954,833),20884=>array(101,-60,941,809),20885=>array(43,-61,951,809),20886=>array(94,353,906,541),20887=>array(56,-67,945,762),20888=>array(44,-73,949,825),20889=>array(65,-58,939,786),20890=>array(108,-67,891,772),20891=>array(58,-59,909,780),20892=>array(42,-70,959,828),20893=>array(51,-59,953,799),20894=>array(50,-65,961,782),20895=>array(81,-38,940,806),20896=>array(51,-67,957,787),20897=>array(75,-50,951,763),20898=>array(60,-67,965,783),20899=>array(76,-53,945,790),20900=>array(54,-60,952,795),20901=>array(67,-70,933,793),20902=>array(43,-60,959,785),20903=>array(28,-66,986,783),20904=>array(99,-55,908,785),20905=>array(82,-66,910,802),20906=>array(60,-67,965,785),20907=>array(338,-28,574,766),20908=>array(67,-72,958,855),20909=>array(61,-72,957,840),20910=>array(40,-57,940,717),20911=>array(52,-48,888,781),20912=>array(48,-65,966,837),20913=>array(53,-22,951,769),20914=>array(44,-61,897,833),20915=>array(55,-66,972,836),20916=>array(65,-63,936,793),20917=>array(38,-72,933,758),20918=>array(63,-62,954,834),20919=>array(54,-71,966,849),20920=>array(49,-62,954,835),20921=>array(58,-71,956,839),20922=>array(58,-61,939,786),20923=>array(52,-60,948,832),20924=>array(55,-66,957,827),20925=>array(48,-67,893,830),20926=>array(48,-62,970,843),20927=>array(31,-62,959,841),20928=>array(58,-61,922,839),20929=>array(58,-65,948,835),20930=>array(64,-71,955,840),20931=>array(48,-68,975,843),20932=>array(44,-70,936,835),20933=>array(59,-49,895,788),20934=>array(57,-65,950,835),20935=>array(39,-60,943,830),20936=>array(55,-67,950,822),20937=>array(63,-63,961,830),20938=>array(49,-50,955,854),20939=>array(33,-74,878,781),20940=>array(41,-70,959,831),20941=>array(48,-58,965,839),20942=>array(57,-38,962,817),20943=>array(38,-80,939,834),20944=>array(60,-27,954,787),20945=>array(42,-67,959,834),20946=>array(42,-58,927,835),20947=>array(54,-62,978,791),20948=>array(46,-52,974,866),20949=>array(54,-70,946,788),20950=>array(54,-64,950,841),20951=>array(39,-69,951,825),20952=>array(39,-53,951,851),20953=>array(32,-59,956,797),20954=>array(59,-68,955,831),20955=>array(43,-64,930,832),20956=>array(55,-65,973,833),20957=>array(16,-70,972,819),20958=>array(46,-73,951,818),20959=>array(37,-70,962,837),20960=>array(34,-65,961,774),20961=>array(72,-71,935,767),20962=>array(72,-71,935,831),20963=>array(72,-71,935,801),20964=>array(34,-65,939,791),20965=>array(52,-74,949,778),20966=>array(18,-67,935,818),20967=>array(47,-65,953,791),20968=>array(34,-65,939,791),20969=>array(38,-61,961,791),20970=>array(34,-65,939,791),20971=>array(48,-58,958,842),20972=>array(34,-65,939,791),20973=>array(32,-60,966,837),20974=>array(34,-65,939,791),20975=>array(72,-65,972,826),20976=>array(63,-66,963,792),20977=>array(62,-67,954,836),20978=>array(63,-66,963,792),20979=>array(59,-74,954,839),20980=>array(39,-56,952,800),20981=>array(112,-72,888,808),20982=>array(130,-44,870,775),20983=>array(128,-64,872,798),20984=>array(143,-66,894,778),20985=>array(126,-38,874,775),20986=>array(144,-65,868,838),20987=>array(75,-67,925,826),20988=>array(111,-66,889,819),20989=>array(81,-61,919,799),20990=>array(102,-52,898,803),20991=>array(75,-64,925,828),20992=>array(85,-34,856,760),20993=>array(80,-50,868,782),20994=>array(364,-64,619,827),20995=>array(46,-54,877,761),20996=>array(53,-35,947,751),20997=>array(70,-69,917,751),20998=>array(65,-69,936,779),20999=>array(44,-73,897,797),21000=>array(77,-64,899,817),21001=>array(55,-77,905,826),21002=>array(71,-62,893,831),21003=>array(56,-63,893,831),21004=>array(72,-66,908,836),21005=>array(77,-43,851,828),21006=>array(71,-62,893,839),21007=>array(62,-63,913,840),21008=>array(53,-66,910,821),21009=>array(59,-70,899,829),21010=>array(45,-64,897,835),21011=>array(41,-69,907,826),21012=>array(95,-66,914,836),21013=>array(36,-66,947,806),21014=>array(60,-69,913,826),21015=>array(83,-76,901,832),21016=>array(29,-57,884,841),21017=>array(30,-66,883,823),21018=>array(90,-60,873,830),21019=>array(43,-61,893,837),21020=>array(57,-64,912,832),21021=>array(32,-73,900,822),21022=>array(56,-59,900,833),21023=>array(78,-70,893,831),21024=>array(27,-75,885,820),21025=>array(100,-67,901,828),21026=>array(49,-61,907,835),21027=>array(67,-65,878,831),21028=>array(58,-70,898,832),21029=>array(54,-68,899,825),21030=>array(72,-65,873,831),21031=>array(58,-64,906,831),21032=>array(55,-64,911,841),21033=>array(57,-67,920,826),21034=>array(63,-68,906,830),21035=>array(70,-70,883,821),21036=>array(44,-63,897,841),21037=>array(21,-60,875,827),21038=>array(77,-69,898,831),21039=>array(53,-64,900,823),21040=>array(65,-65,905,826),21041=>array(47,-69,973,825),21042=>array(64,-64,914,828),21043=>array(42,-65,905,831),21044=>array(44,-68,898,826),21045=>array(54,-61,894,833),21046=>array(77,-68,914,836),21047=>array(59,-68,898,830),21048=>array(69,-55,952,837),21049=>array(41,-63,892,837),21050=>array(71,-65,906,831),21051=>array(56,-63,902,829),21052=>array(62,-54,927,831),21053=>array(30,-57,881,837),21054=>array(42,-62,898,825),21055=>array(35,-68,882,823),21056=>array(79,-63,874,826),21057=>array(60,-62,919,831),21058=>array(28,-68,882,830),21059=>array(41,-64,897,845),21060=>array(67,-65,918,831),21061=>array(50,-69,895,829),21062=>array(138,-69,899,829),21063=>array(67,-70,897,830),21064=>array(119,-66,879,825),21065=>array(53,-63,900,834),21066=>array(80,-63,894,833),21067=>array(35,-63,965,836),21068=>array(63,-66,914,835),21069=>array(76,-60,924,850),21070=>array(79,-70,907,841),21071=>array(33,-69,971,839),21072=>array(88,-63,875,830),21073=>array(28,-65,883,838),21074=>array(77,-62,910,829),21075=>array(44,-59,924,814),21076=>array(60,-71,906,829),21077=>array(50,-57,912,845),21078=>array(63,-65,896,833),21079=>array(110,-69,891,830),21080=>array(88,-68,874,830),21081=>array(35,-62,958,830),21082=>array(46,-58,893,836),21083=>array(103,-67,898,829),21084=>array(52,-73,918,851),21085=>array(71,-62,893,848),21086=>array(82,-65,920,836),21087=>array(66,-73,913,823),21088=>array(55,-71,877,844),21089=>array(62,-67,943,835),21090=>array(73,-68,924,823),21091=>array(35,-65,907,844),21092=>array(52,-66,906,826),21093=>array(54,-48,879,836),21094=>array(32,-63,900,840),21095=>array(21,-62,880,833),21096=>array(39,-66,922,834),21097=>array(36,-67,910,834),21098=>array(70,-64,927,842),21099=>array(55,-75,917,835),21100=>array(71,-69,917,833),21101=>array(55,-70,921,821),21102=>array(111,-64,896,829),21103=>array(74,-70,914,829),21104=>array(46,-65,918,828),21105=>array(37,-70,971,837),21106=>array(59,-58,914,833),21107=>array(36,-56,894,804),21108=>array(68,-64,914,835),21109=>array(46,-72,901,842),21110=>array(46,-64,911,838),21111=>array(43,-67,905,848),21112=>array(54,-55,903,845),21113=>array(42,-65,920,824),21114=>array(33,-76,968,833),21115=>array(42,-70,904,831),21116=>array(32,-71,905,852),21117=>array(53,-62,924,829),21118=>array(112,-59,890,829),21119=>array(50,-62,900,846),21120=>array(37,-67,904,819),21121=>array(37,-68,894,835),21122=>array(52,-70,923,829),21123=>array(50,-63,921,830),21124=>array(40,-54,911,835),21125=>array(57,-63,910,823),21126=>array(26,-63,912,844),21127=>array(40,-67,910,835),21128=>array(53,-63,947,840),21129=>array(44,-64,911,837),21130=>array(45,-71,917,854),21131=>array(38,-71,906,823),21132=>array(44,-65,928,836),21133=>array(47,-69,897,848),21134=>array(47,-68,886,848),21135=>array(91,-64,883,842),21136=>array(44,-66,903,825),21137=>array(53,-73,915,827),21138=>array(41,-71,919,843),21139=>array(61,-64,919,861),21140=>array(39,-75,973,840),21141=>array(36,-68,908,825),21142=>array(34,-61,905,852),21143=>array(58,-73,913,830),21144=>array(43,-62,899,860),21145=>array(67,-70,921,841),21146=>array(46,-50,909,848),21147=>array(70,-56,863,824),21148=>array(45,-65,958,825),21149=>array(35,-70,895,820),21150=>array(64,-59,931,838),21151=>array(73,-76,892,823),21152=>array(58,-76,913,831),21153=>array(35,-69,958,829),21154=>array(30,-63,900,824),21155=>array(67,-63,942,838),21156=>array(40,-63,946,839),21157=>array(46,-65,895,846),21158=>array(36,-69,946,844),21159=>array(73,-71,896,824),21160=>array(55,-60,887,832),21161=>array(53,-67,926,833),21162=>array(67,-70,939,822),21163=>array(63,-75,918,823),21164=>array(42,-68,904,844),21165=>array(64,-63,915,830),21166=>array(60,-64,927,836),21167=>array(47,-67,946,834),21168=>array(99,-59,888,833),21169=>array(30,-58,901,831),21170=>array(25,-59,888,833),21171=>array(59,-61,915,830),21172=>array(59,-61,896,841),21173=>array(35,-73,957,827),21174=>array(14,-57,904,822),21175=>array(80,-72,909,842),21176=>array(62,-49,922,831),21177=>array(68,-65,927,832),21178=>array(90,-77,924,824),21179=>array(96,-73,917,828),21180=>array(57,-62,915,839),21181=>array(89,-57,869,792),21182=>array(53,-63,926,830),21183=>array(58,-57,951,833),21184=>array(40,-69,951,846),21185=>array(55,-70,916,829),21186=>array(76,-55,928,839),21187=>array(103,-75,904,831),21188=>array(62,-77,904,839),21189=>array(32,-68,904,836),21190=>array(113,-75,915,843),21191=>array(45,-70,875,809),21192=>array(95,-68,890,830),21193=>array(38,-60,965,835),21194=>array(35,-63,965,836),21195=>array(30,-65,890,830),21196=>array(49,-62,914,850),21197=>array(43,-72,909,826),21198=>array(105,-59,939,832),21199=>array(103,-77,914,840),21200=>array(48,-77,914,822),21201=>array(54,-65,916,836),21202=>array(72,-65,917,829),21203=>array(88,-70,916,828),21204=>array(65,-77,905,832),21205=>array(58,-68,914,832),21206=>array(77,-76,953,839),21207=>array(48,-67,918,811),21208=>array(54,-71,914,827),21209=>array(37,-71,971,844),21210=>array(56,-76,922,827),21211=>array(51,-76,952,838),21212=>array(48,-75,926,832),21213=>array(41,-76,957,839),21214=>array(52,-73,919,832),21215=>array(58,-61,967,837),21216=>array(43,-72,926,827),21217=>array(67,-68,921,832),21218=>array(49,-68,957,829),21219=>array(58,-66,916,837),21220=>array(44,-68,929,827),21221=>array(49,-55,949,819),21222=>array(37,-76,918,842),21223=>array(37,-61,920,841),21224=>array(53,-69,912,842),21225=>array(53,-58,899,850),21226=>array(31,-68,940,842),21227=>array(28,-69,910,822),21228=>array(27,-69,934,840),21229=>array(52,-73,918,849),21230=>array(26,-73,931,835),21231=>array(54,-78,921,844),21232=>array(35,-66,966,834),21233=>array(54,-67,924,830),21234=>array(54,-72,928,833),21235=>array(45,-76,918,839),21236=>array(46,-73,928,825),21237=>array(27,-76,929,825),21238=>array(44,-45,949,840),21239=>array(54,-61,919,844),21240=>array(38,-76,920,838),21241=>array(30,-69,875,826),21242=>array(82,-62,896,850),21243=>array(93,-59,894,838),21244=>array(61,-63,903,826),21245=>array(82,-62,900,839),21246=>array(56,-55,898,829),21247=>array(71,-44,895,852),21248=>array(84,-59,930,838),21249=>array(38,-59,928,838),21250=>array(55,-59,912,844),21251=>array(55,-59,912,844),21252=>array(55,-59,912,844),21253=>array(48,-33,955,838),21254=>array(64,-58,902,842),21255=>array(63,-59,912,839),21256=>array(55,-59,912,844),21257=>array(57,-66,886,837),21258=>array(57,-59,911,845),21259=>array(68,-60,938,841),21260=>array(68,-60,938,841),21261=>array(74,-63,922,843),21262=>array(58,-70,918,829),21263=>array(42,-65,964,834),21264=>array(59,-65,915,845),21265=>array(48,-63,914,840),21266=>array(48,-68,902,843),21267=>array(52,-68,909,843),21268=>array(48,-63,916,840),21269=>array(304,-45,928,803),21270=>array(48,-57,950,836),21271=>array(45,-50,948,792),21272=>array(99,-53,921,804),21273=>array(56,-78,970,811),21274=>array(133,-71,930,795),21275=>array(93,-26,894,768),21276=>array(99,-21,926,788),21277=>array(92,-70,923,831),21278=>array(93,-26,894,768),21279=>array(96,-23,920,794),21280=>array(128,-48,921,790),21281=>array(121,-70,921,791),21282=>array(115,-32,942,778),21283=>array(133,-71,930,795),21284=>array(113,-76,930,811),21285=>array(112,-32,912,791),21286=>array(112,-32,959,796),21287=>array(114,-32,916,796),21288=>array(112,-32,922,796),21289=>array(101,-28,918,785),21290=>array(114,-69,931,789),21291=>array(115,-32,942,778),21292=>array(87,-29,950,789),21293=>array(85,-26,941,792),21294=>array(112,-32,922,796),21295=>array(129,-71,930,795),21296=>array(136,-23,951,787),21297=>array(117,-72,953,814),21298=>array(117,-26,945,804),21299=>array(133,-71,946,795),21300=>array(118,-29,954,780),21301=>array(85,-26,932,804),21302=>array(136,-59,951,795),21303=>array(92,-31,938,784),21304=>array(76,-5,924,762),21305=>array(134,-71,933,742),21306=>array(133,-57,933,784),21307=>array(103,-56,927,791),21308=>array(77,-26,934,797),21309=>array(69,-30,942,787),21310=>array(71,-30,950,796),21311=>array(118,-68,939,800),21312=>array(133,-71,930,795),21313=>array(105,-70,902,838),21314=>array(64,-37,962,786),21315=>array(113,-68,906,830),21316=>array(67,-44,933,821),21317=>array(46,-68,948,819),21318=>array(55,-64,950,833),21319=>array(80,-71,930,827),21320=>array(90,-68,918,834),21321=>array(55,-69,941,829),21322=>array(76,-67,909,824),21323=>array(69,-63,931,827),21324=>array(63,-59,937,825),21325=>array(91,-26,909,787),21326=>array(28,-57,918,831),21327=>array(51,-62,948,834),21328=>array(94,-26,911,787),21329=>array(64,-67,936,846),21330=>array(82,-67,918,837),21331=>array(65,-68,935,826),21332=>array(63,-70,924,835),21333=>array(54,-58,926,841),21334=>array(49,-65,923,832),21335=>array(68,-72,942,830),21336=>array(64,-62,936,854),21337=>array(58,-49,939,830),21338=>array(53,-71,949,835),21339=>array(53,-46,942,813),21340=>array(403,-65,899,825),21341=>array(73,-26,924,790),21342=>array(74,-62,926,819),21343=>array(107,-63,947,828),21344=>array(184,-70,903,832),21345=>array(77,-68,927,828),21346=>array(39,-58,916,829),21347=>array(113,-65,903,833),21348=>array(136,-66,911,826),21349=>array(136,-66,911,826),21350=>array(37,-68,957,827),21351=>array(111,-62,954,818),21352=>array(96,-67,902,836),21353=>array(303,-69,717,781),21354=>array(291,-69,743,781),21355=>array(63,-5,913,747),21356=>array(104,-69,892,832),21357=>array(53,-69,890,746),21358=>array(59,-65,933,835),21359=>array(50,-62,903,839),21360=>array(148,-64,883,835),21361=>array(62,-67,928,836),21362=>array(52,-55,916,799),21363=>array(55,-67,896,786),21364=>array(49,-60,888,826),21365=>array(59,-71,883,815),21366=>array(29,-70,893,836),21367=>array(31,-45,959,834),21368=>array(73,-63,898,846),21369=>array(39,-54,907,861),21370=>array(26,-27,947,783),21371=>array(47,-68,910,837),21372=>array(51,-71,962,832),21373=>array(140,-73,894,827),21374=>array(88,-63,894,788),21375=>array(41,-70,920,834),21376=>array(54,-60,907,829),21377=>array(39,-63,951,835),21378=>array(38,-64,922,791),21379=>array(62,-67,900,836),21380=>array(50,-64,942,777),21381=>array(38,-67,904,774),21382=>array(39,-57,911,786),21383=>array(40,-57,941,789),21384=>array(38,-68,914,792),21385=>array(36,-56,911,781),21386=>array(51,-75,933,775),21387=>array(37,-63,913,771),21388=>array(37,-62,926,778),21389=>array(35,-72,922,775),21390=>array(44,-68,937,796),21391=>array(56,-68,936,777),21392=>array(34,-64,957,788),21393=>array(29,-64,942,788),21394=>array(52,-64,934,779),21395=>array(40,-57,926,798),21396=>array(35,-62,948,793),21397=>array(17,-73,896,786),21398=>array(27,-67,957,788),21399=>array(73,-65,957,780),21400=>array(45,-74,932,779),21401=>array(49,-70,956,795),21402=>array(50,-65,940,809),21403=>array(34,-64,950,788),21404=>array(46,-72,959,782),21405=>array(50,-68,943,780),21406=>array(57,-73,932,764),21407=>array(59,-65,932,787),21408=>array(39,-63,942,788),21409=>array(50,-101,916,782),21410=>array(18,-69,925,785),21411=>array(35,-73,938,765),21412=>array(39,-64,974,792),21413=>array(39,-67,962,793),21414=>array(42,-75,938,816),21415=>array(43,-81,951,786),21416=>array(20,-62,909,785),21417=>array(37,-63,961,802),21418=>array(24,-47,929,811),21419=>array(46,-60,948,795),21420=>array(48,-69,966,784),21421=>array(39,-71,963,785),21422=>array(23,-71,930,791),21423=>array(39,-65,958,791),21424=>array(46,-71,951,783),21425=>array(46,-71,948,783),21426=>array(51,-71,939,784),21427=>array(34,-79,894,835),21428=>array(47,-71,947,798),21429=>array(27,-45,882,821),21430=>array(117,11,903,746),21431=>array(56,-20,928,843),21432=>array(61,-25,941,767),21433=>array(57,-65,949,829),21434=>array(56,-59,933,843),21435=>array(79,-56,931,832),21436=>array(61,-64,932,816),21437=>array(67,-44,905,806),21438=>array(97,-60,971,791),21439=>array(61,-72,913,786),21440=>array(133,-48,955,823),21441=>array(38,-32,962,838),21442=>array(18,-74,970,848),21443=>array(30,-88,968,844),21444=>array(30,-15,968,852),21445=>array(30,-61,968,852),21446=>array(68,-66,977,836),21447=>array(38,-68,961,829),21448=>array(94,-34,920,754),21449=>array(63,-50,948,773),21450=>array(36,-64,945,767),21451=>array(63,-61,939,843),21452=>array(37,-67,955,770),21453=>array(51,-71,942,790),21454=>array(53,-50,962,816),21455=>array(58,-38,930,828),21456=>array(38,-62,940,827),21457=>array(38,-60,940,828),21458=>array(52,-57,944,801),21459=>array(58,-68,930,812),21460=>array(50,-64,963,833),21461=>array(48,-50,944,815),21462=>array(43,-70,960,780),21463=>array(64,-68,936,829),21464=>array(38,-59,934,833),21465=>array(16,-63,942,836),21466=>array(141,-75,963,781),21467=>array(52,-75,966,834),21468=>array(48,-57,961,839),21469=>array(54,-51,962,811),21470=>array(19,-61,953,785),21471=>array(31,-67,969,829),21472=>array(55,-29,954,806),21473=>array(34,-70,971,833),21474=>array(52,-71,945,829),21475=>array(184,5,818,695),21476=>array(83,-71,911,823),21477=>array(65,-51,902,840),21478=>array(78,-70,859,780),21479=>array(78,-70,859,780),21480=>array(124,-76,895,755),21481=>array(120,-65,894,766),21482=>array(58,-40,928,772),21483=>array(113,-64,929,831),21484=>array(76,-70,861,789),21485=>array(95,-65,952,781),21486=>array(98,-66,929,766),21487=>array(98,-64,926,769),21488=>array(124,-51,904,840),21489=>array(116,-25,946,810),21490=>array(63,-65,953,835),21491=>array(69,-62,917,837),21492=>array(43,-47,949,829),21493=>array(121,-13,896,782),21494=>array(90,-53,934,843),21495=>array(65,-59,935,804),21496=>array(111,-63,886,790),21497=>array(98,-70,937,763),21498=>array(107,-42,973,770),21499=>array(132,-65,899,831),21500=>array(116,-54,896,762),21501=>array(99,-66,930,768),21502=>array(135,-57,851,798),21503=>array(93,-37,950,788),21504=>array(98,-40,930,817),21505=>array(98,-67,930,776),21506=>array(102,-65,914,847),21507=>array(98,-26,932,835),21508=>array(57,-65,951,836),21509=>array(106,-56,894,783),21510=>array(96,-63,933,830),21511=>array(98,-67,945,780),21512=>array(40,-73,956,859),21513=>array(64,-72,900,823),21514=>array(157,-70,867,775),21515=>array(104,-61,933,832),21516=>array(118,-75,882,787),21517=>array(56,-67,829,836),21518=>array(44,-64,926,844),21519=>array(71,-76,947,824),21520=>array(99,-19,939,825),21521=>array(133,-75,867,831),21522=>array(72,-32,957,837),21523=>array(104,-65,932,775),21524=>array(104,-23,948,836),21525=>array(162,-70,821,770),21526=>array(104,-64,939,835),21527=>array(99,-58,900,789),21528=>array(97,-68,941,840),21529=>array(103,-72,946,833),21530=>array(103,-75,925,774),21531=>array(46,-70,947,783),21532=>array(95,-39,941,769),21533=>array(52,-66,958,822),21534=>array(53,-72,959,773),21535=>array(90,-71,945,854),21536=>array(92,-69,942,827),21537=>array(83,-49,946,816),21538=>array(58,-50,927,799),21539=>array(102,-6,928,805),21540=>array(108,-69,951,836),21541=>array(112,-71,934,780),21542=>array(48,-70,947,775),21543=>array(95,-29,935,779),21544=>array(86,-41,933,824),21545=>array(95,-62,955,806),21546=>array(91,-50,945,851),21547=>array(37,-65,966,858),21548=>array(104,-58,936,863),21549=>array(100,-68,970,824),21550=>array(99,-73,955,838),21551=>array(47,-58,848,857),21552=>array(97,-67,947,838),21553=>array(95,-70,944,835),21554=>array(96,-76,866,819),21555=>array(72,-67,940,787),21556=>array(43,-72,937,783),21557=>array(99,-74,958,827),21558=>array(106,-68,897,793),21559=>array(94,-74,952,831),21560=>array(98,-68,955,788),21561=>array(109,-70,949,836),21562=>array(116,-71,967,782),21563=>array(102,-72,903,834),21564=>array(89,-68,937,825),21565=>array(99,-51,945,844),21566=>array(70,-72,942,782),21567=>array(67,-67,917,832),21568=>array(98,-65,940,787),21569=>array(106,-62,903,827),21570=>array(180,-77,840,772),21571=>array(87,-69,942,789),21572=>array(74,-61,942,783),21573=>array(96,-74,966,833),21574=>array(51,-68,964,774),21575=>array(69,-66,934,819),21576=>array(77,-17,910,773),21577=>array(53,-71,944,787),21578=>array(67,-67,917,832),21579=>array(96,-69,943,829),21580=>array(116,-55,943,842),21581=>array(111,-51,956,743),21582=>array(116,-66,978,790),21583=>array(97,-66,939,835),21584=>array(101,-60,880,825),21585=>array(53,-72,959,830),21586=>array(100,-68,925,765),21587=>array(100,-26,932,824),21588=>array(79,-68,934,832),21589=>array(94,-7,928,767),21590=>array(91,-70,910,765),21591=>array(99,-74,926,764),21592=>array(84,-81,880,780),21593=>array(157,-68,837,760),21594=>array(111,-68,957,838),21595=>array(111,-31,968,831),21596=>array(101,-62,905,831),21597=>array(93,-64,951,841),21598=>array(97,-63,871,790),21599=>array(110,-65,961,819),21600=>array(97,-70,955,826),21601=>array(95,-70,949,786),21602=>array(100,-71,929,784),21603=>array(93,-63,942,777),21604=>array(89,-83,949,856),21605=>array(98,-60,943,841),21606=>array(98,-74,911,828),21607=>array(94,-63,945,831),21608=>array(39,-67,882,780),21609=>array(109,-54,953,751),21610=>array(109,-60,950,760),21611=>array(109,-60,942,845),21612=>array(108,-65,905,767),21613=>array(98,-14,928,831),21614=>array(108,-66,960,771),21615=>array(99,-67,942,787),21616=>array(84,-68,937,836),21617=>array(90,-68,970,830),21618=>array(102,-60,957,820),21619=>array(90,-65,942,830),21620=>array(108,-68,909,833),21621=>array(98,-65,930,785),21622=>array(79,-71,949,828),21623=>array(115,-62,893,786),21624=>array(94,-20,932,769),21625=>array(95,-49,969,830),21626=>array(106,-60,952,794),21627=>array(105,-67,900,835),21628=>array(98,-67,931,825),21629=>array(33,-73,971,862),21630=>array(104,-28,950,783),21631=>array(95,-61,953,841),21632=>array(94,-31,933,787),21633=>array(122,-66,951,828),21634=>array(89,-21,940,783),21635=>array(83,-34,962,834),21636=>array(115,-70,900,826),21637=>array(81,-68,898,833),21638=>array(107,-36,960,833),21639=>array(104,-28,950,802),21640=>array(89,-59,914,836),21641=>array(89,-74,968,824),21642=>array(89,-34,964,818),21643=>array(108,-70,943,840),21644=>array(53,-70,894,821),21645=>array(111,-65,954,840),21646=>array(39,-68,961,833),21647=>array(79,-63,943,848),21648=>array(90,-70,941,833),21649=>array(89,-51,935,842),21650=>array(54,-75,937,777),21651=>array(97,-34,941,773),21652=>array(97,-70,936,829),21653=>array(91,-67,923,828),21654=>array(104,-64,898,832),21655=>array(94,-3,951,830),21656=>array(97,-67,941,832),21657=>array(100,-59,932,830),21658=>array(86,-80,951,847),21659=>array(102,-68,893,836),21660=>array(102,-42,928,817),21661=>array(90,-7,914,809),21662=>array(98,-67,937,775),21663=>array(102,-64,891,730),21664=>array(51,-65,947,784),21665=>array(103,-50,956,800),21666=>array(61,-53,939,806),21667=>array(99,-68,933,811),21668=>array(80,-42,921,819),21669=>array(106,-30,956,782),21670=>array(90,-71,954,835),21671=>array(106,-67,892,829),21672=>array(64,-74,954,840),21673=>array(96,-64,931,840),21674=>array(82,-65,967,824),21675=>array(35,-71,974,779),21676=>array(98,-72,961,830),21677=>array(91,-65,926,828),21678=>array(107,-70,963,824),21679=>array(90,-65,948,848),21680=>array(117,-71,901,818),21681=>array(119,-70,883,841),21682=>array(119,-73,970,836),21683=>array(88,-60,949,824),21684=>array(100,-67,943,824),21685=>array(84,-63,963,854),21686=>array(110,-68,947,827),21687=>array(88,-62,944,842),21688=>array(58,-66,959,838),21689=>array(91,-51,908,828),21690=>array(91,-23,936,778),21691=>array(88,-63,943,835),21692=>array(119,-55,881,799),21693=>array(103,-64,898,785),21694=>array(105,-30,957,830),21695=>array(99,-69,949,835),21696=>array(47,-68,951,832),21697=>array(116,-66,884,792),21698=>array(91,-64,936,779),21699=>array(108,-69,904,783),21700=>array(90,-72,935,831),21701=>array(102,-61,908,831),21702=>array(106,-80,919,845),21703=>array(108,-25,949,831),21704=>array(84,-66,945,851),21705=>array(74,-60,944,828),21706=>array(104,-75,942,831),21707=>array(95,-27,935,846),21708=>array(85,-71,971,832),21709=>array(97,-55,900,875),21710=>array(103,-66,949,835),21711=>array(108,-73,973,781),21712=>array(99,-26,925,764),21713=>array(102,-18,924,766),21714=>array(87,-46,945,803),21715=>array(103,-63,936,821),21716=>array(98,-64,931,814),21717=>array(99,-61,872,821),21718=>array(93,-52,940,855),21719=>array(86,-60,922,833),21720=>array(103,-71,958,830),21721=>array(100,-47,949,829),21722=>array(81,-77,943,778),21723=>array(51,-69,962,803),21724=>array(101,-70,945,842),21725=>array(88,-62,950,828),21726=>array(108,-70,945,838),21727=>array(75,-59,886,837),21728=>array(110,-65,926,831),21729=>array(62,-62,943,785),21730=>array(89,-52,935,801),21731=>array(120,-14,943,779),21732=>array(87,-55,956,825),21733=>array(70,-60,931,784),21734=>array(84,-67,942,824),21735=>array(81,-66,946,827),21736=>array(109,-69,912,832),21737=>array(100,-15,933,779),21738=>array(107,-74,942,785),21739=>array(113,-73,962,762),21740=>array(78,-55,930,833),21741=>array(64,-71,949,773),21742=>array(92,-68,927,833),21743=>array(118,-65,951,783),21744=>array(80,-44,885,840),21745=>array(98,-65,923,829),21746=>array(63,-62,926,825),21747=>array(99,-81,947,824),21748=>array(108,-73,973,856),21749=>array(82,-69,913,829),21750=>array(88,-64,951,825),21751=>array(103,-70,938,814),21752=>array(94,-74,917,818),21753=>array(92,-68,936,834),21754=>array(87,-70,931,832),21755=>array(102,-66,937,778),21756=>array(95,-68,932,846),21757=>array(91,-74,952,786),21758=>array(95,-64,968,844),21759=>array(65,-62,959,839),21760=>array(110,-62,954,830),21761=>array(97,-62,931,845),21762=>array(116,-52,960,835),21763=>array(116,-66,900,828),21764=>array(101,-66,947,782),21765=>array(87,-45,951,867),21766=>array(101,-69,961,849),21767=>array(53,-76,939,786),21768=>array(88,-30,943,788),21769=>array(94,-68,945,848),21770=>array(106,-66,954,835),21771=>array(112,-62,950,830),21772=>array(98,-74,964,813),21773=>array(113,-74,946,841),21774=>array(98,-52,904,844),21775=>array(84,-62,938,843),21776=>array(44,-71,938,835),21777=>array(92,-36,934,820),21778=>array(88,-65,940,781),21779=>array(116,-71,924,829),21780=>array(99,-70,934,785),21781=>array(100,-48,923,863),21782=>array(82,-23,951,793),21783=>array(103,-65,957,827),21784=>array(34,-60,979,822),21785=>array(112,-57,987,812),21786=>array(97,-62,957,777),21787=>array(101,-66,948,830),21788=>array(59,-37,952,802),21789=>array(104,-62,938,804),21790=>array(92,-65,936,832),21791=>array(95,-37,929,851),21792=>array(91,-72,914,824),21793=>array(109,-61,963,792),21794=>array(104,-62,938,834),21795=>array(86,-29,935,842),21796=>array(74,-73,948,832),21797=>array(97,-46,940,821),21798=>array(97,-67,951,825),21799=>array(110,-70,900,780),21800=>array(80,-44,959,779),21801=>array(99,-73,946,833),21802=>array(74,-65,957,843),21803=>array(74,-27,959,804),21804=>array(87,-70,957,829),21805=>array(104,-71,941,837),21806=>array(42,-67,944,843),21807=>array(97,-65,945,836),21808=>array(100,-64,909,830),21809=>array(115,-68,900,787),21810=>array(107,-79,948,827),21811=>array(82,-69,962,802),21812=>array(106,-71,942,830),21813=>array(112,-44,995,856),21814=>array(113,-66,964,837),21815=>array(94,-75,933,845),21816=>array(78,-35,950,847),21817=>array(81,-56,972,832),21818=>array(110,-74,961,833),21819=>array(104,-65,951,841),21820=>array(113,-68,947,843),21821=>array(92,-67,953,832),21822=>array(84,-30,940,831),21823=>array(92,-28,953,842),21824=>array(105,-73,941,785),21825=>array(103,-66,902,791),21826=>array(93,-76,971,827),21827=>array(97,-70,930,833),21828=>array(84,-63,971,774),21829=>array(95,-67,933,833),21830=>array(55,-56,945,825),21831=>array(39,-73,928,844),21832=>array(111,-65,947,837),21833=>array(76,-76,945,819),21834=>array(93,-66,932,782),21835=>array(109,-66,987,837),21836=>array(86,-31,955,819),21837=>array(84,-57,942,864),21838=>array(46,-67,962,835),21839=>array(119,-71,889,784),21840=>array(89,-62,931,843),21841=>array(84,-77,962,829),21842=>array(113,-68,903,788),21843=>array(54,-60,964,838),21844=>array(91,-60,945,844),21845=>array(111,-62,908,842),21846=>array(83,-62,952,836),21847=>array(123,-65,900,846),21848=>array(104,-72,965,846),21849=>array(85,-55,952,824),21850=>array(77,-66,927,795),21851=>array(83,-73,933,822),21852=>array(83,-68,955,786),21853=>array(76,-67,955,821),21854=>array(91,-25,940,785),21855=>array(35,-68,969,836),21856=>array(88,-60,913,812),21857=>array(95,-66,932,826),21858=>array(109,-61,963,792),21859=>array(83,-68,926,832),21860=>array(91,-69,935,846),21861=>array(97,-70,950,850),21862=>array(91,-64,930,836),21863=>array(90,-72,914,828),21864=>array(90,-66,927,828),21865=>array(121,-63,959,831),21866=>array(110,-64,909,838),21867=>array(115,-65,960,835),21868=>array(63,-66,913,825),21869=>array(94,-66,914,833),21870=>array(79,-63,912,829),21871=>array(82,-68,906,794),21872=>array(86,-71,948,814),21873=>array(86,-48,935,822),21874=>array(104,-50,908,842),21875=>array(86,-30,973,843),21876=>array(115,-58,945,833),21877=>array(105,-64,983,833),21878=>array(86,-72,942,844),21879=>array(94,-64,942,840),21880=>array(91,-65,923,826),21881=>array(91,-80,933,781),21882=>array(91,-72,944,785),21883=>array(92,-67,908,833),21884=>array(90,-67,930,823),21885=>array(114,-59,989,859),21886=>array(76,-66,957,832),21887=>array(110,-30,955,827),21888=>array(95,-69,965,819),21889=>array(93,-58,910,793),21890=>array(108,-69,960,785),21891=>array(92,-67,939,835),21892=>array(56,-70,907,835),21893=>array(92,-18,924,788),21894=>array(82,-50,918,825),21895=>array(112,-67,904,831),21896=>array(86,-65,942,827),21897=>array(88,-74,950,840),21898=>array(92,-72,930,837),21899=>array(83,-65,952,832),21900=>array(52,-71,909,787),21901=>array(104,-69,967,824),21902=>array(112,-67,906,788),21903=>array(84,-59,931,833),21904=>array(79,-81,936,830),21905=>array(97,-65,933,841),21906=>array(92,-48,956,849),21907=>array(110,-72,957,777),21908=>array(91,-70,933,781),21909=>array(110,-66,953,783),21910=>array(97,-66,939,829),21911=>array(85,-68,951,801),21912=>array(81,-67,930,834),21913=>array(85,-60,968,833),21914=>array(79,-65,971,838),21915=>array(91,-67,979,836),21916=>array(86,-63,938,837),21917=>array(105,-55,913,801),21918=>array(77,-73,921,840),21919=>array(116,-61,901,787),21920=>array(97,-32,936,825),21921=>array(107,-71,949,828),21922=>array(107,-71,951,827),21923=>array(52,-74,965,824),21924=>array(90,-18,935,861),21925=>array(110,-71,968,837),21926=>array(132,-68,888,789),21927=>array(79,-26,945,829),21928=>array(86,-73,959,838),21929=>array(76,-71,966,812),21930=>array(75,-73,957,829),21931=>array(96,-55,961,835),21932=>array(50,-71,951,830),21933=>array(88,-53,939,860),21934=>array(53,-68,945,789),21935=>array(89,-59,953,851),21936=>array(90,-72,965,837),21937=>array(90,-70,941,788),21938=>array(107,-65,905,836),21939=>array(82,-28,916,834),21940=>array(72,-71,972,832),21941=>array(75,-62,924,832),21942=>array(94,-63,906,834),21943=>array(110,-67,925,831),21944=>array(65,-77,959,841),21945=>array(90,-26,953,851),21946=>array(112,-62,982,834),21947=>array(80,-70,948,858),21948=>array(110,-32,970,846),21949=>array(90,-66,936,807),21950=>array(82,-66,893,826),21951=>array(50,-69,961,780),21952=>array(49,-72,955,829),21953=>array(88,-64,946,839),21954=>array(108,-72,960,845),21955=>array(94,-68,938,838),21956=>array(82,-62,954,790),21957=>array(88,-73,945,845),21958=>array(84,-65,947,847),21959=>array(56,-75,946,832),21960=>array(107,-29,963,826),21961=>array(87,-64,944,831),21962=>array(110,-68,962,791),21963=>array(106,-70,933,838),21964=>array(98,-22,946,841),21965=>array(108,-70,907,835),21966=>array(104,-68,909,783),21967=>array(112,-68,977,827),21968=>array(118,-70,954,847),21969=>array(88,-21,941,830),21970=>array(76,-64,944,830),21971=>array(81,-73,961,793),21972=>array(90,-85,963,851),21973=>array(95,-68,963,784),21974=>array(92,-70,962,828),21975=>array(105,-70,937,783),21976=>array(84,-59,963,851),21977=>array(111,-64,956,841),21978=>array(118,-56,916,846),21979=>array(95,-56,970,863),21980=>array(95,-69,943,834),21981=>array(92,-64,930,788),21982=>array(119,-66,961,837),21983=>array(89,-27,938,840),21984=>array(48,-81,960,829),21985=>array(83,-71,955,791),21986=>array(100,-36,950,780),21987=>array(112,-68,910,786),21988=>array(92,-70,938,827),21989=>array(84,-68,957,844),21990=>array(80,-68,942,829),21991=>array(34,-75,973,842),21992=>array(83,-68,939,836),21993=>array(91,-67,946,836),21994=>array(90,-70,954,835),21995=>array(89,-66,943,776),21996=>array(93,-70,942,830),21997=>array(91,-37,929,849),21998=>array(63,-57,939,788),21999=>array(87,-39,950,782),22000=>array(68,-75,913,845),22001=>array(90,-68,974,862),22002=>array(71,-57,940,845),22003=>array(90,-67,949,822),22004=>array(72,-54,969,835),22005=>array(88,-54,942,772),22006=>array(83,-68,935,787),22007=>array(86,-64,964,832),22008=>array(58,-57,951,854),22009=>array(83,-56,963,827),22010=>array(117,-68,956,831),22011=>array(98,-69,961,841),22012=>array(118,-72,972,829),22013=>array(82,-76,950,834),22014=>array(79,-68,961,837),22015=>array(115,-78,962,841),22016=>array(87,-73,927,846),22017=>array(76,-68,943,835),22018=>array(121,-68,894,823),22019=>array(83,-70,949,841),22020=>array(83,-70,958,845),22021=>array(82,-64,964,788),22022=>array(83,-72,964,832),22023=>array(101,-80,965,846),22024=>array(91,-72,935,830),22025=>array(50,-65,957,833),22026=>array(85,-68,938,834),22027=>array(73,-78,972,839),22028=>array(91,-70,940,789),22029=>array(90,-74,933,832),22030=>array(86,-67,946,784),22031=>array(60,-66,960,812),22032=>array(91,-50,966,801),22033=>array(106,-70,913,836),22034=>array(99,-25,956,835),22035=>array(102,-63,906,799),22036=>array(90,-73,949,805),22037=>array(116,-64,951,785),22038=>array(84,-74,947,832),22039=>array(109,-67,905,836),22040=>array(91,-68,924,823),22041=>array(81,-73,926,836),22042=>array(101,-70,946,824),22043=>array(74,-75,975,833),22044=>array(106,-61,981,840),22045=>array(96,-70,941,832),22046=>array(103,-70,911,832),22047=>array(91,-68,933,822),22048=>array(81,-54,956,804),22049=>array(89,-23,939,836),22050=>array(106,-59,962,800),22051=>array(86,-65,883,814),22052=>array(91,-64,927,789),22053=>array(84,-65,973,831),22054=>array(27,-86,973,836),22055=>array(90,-64,945,848),22056=>array(91,-65,923,826),22057=>array(81,-68,945,831),22058=>array(106,-83,953,780),22059=>array(84,-71,949,831),22060=>array(77,-72,959,809),22061=>array(91,-59,924,827),22062=>array(95,-69,923,833),22063=>array(79,-77,949,843),22064=>array(86,-65,947,833),22065=>array(89,-72,891,780),22066=>array(79,-75,906,830),22067=>array(113,-80,964,832),22068=>array(91,-65,950,828),22069=>array(76,-67,944,835),22070=>array(93,-65,930,837),22071=>array(100,-48,948,863),22072=>array(80,-63,948,847),22073=>array(86,-67,952,845),22074=>array(115,-66,990,830),22075=>array(90,-69,933,833),22076=>array(77,-67,926,796),22077=>array(107,-68,956,785),22078=>array(111,-71,958,780),22079=>array(82,-68,937,783),22080=>array(113,-80,964,781),22081=>array(85,-48,959,768),22082=>array(92,-64,950,856),22083=>array(110,-63,971,841),22084=>array(77,-68,945,831),22085=>array(109,-70,922,834),22086=>array(113,-69,978,783),22087=>array(103,-36,934,841),22088=>array(98,-68,967,836),22089=>array(106,-68,983,837),22090=>array(108,-67,940,784),22091=>array(88,-73,973,837),22092=>array(92,-73,905,835),22093=>array(85,-71,944,843),22094=>array(87,-23,937,839),22095=>array(106,-63,991,858),22096=>array(64,-70,933,795),22097=>array(90,-62,948,840),22098=>array(86,-74,954,832),22099=>array(93,-76,936,832),22100=>array(79,-11,956,855),22101=>array(61,-77,904,856),22102=>array(82,-68,947,790),22103=>array(82,-61,951,830),22104=>array(80,-62,967,796),22105=>array(95,-70,966,851),22106=>array(109,-72,957,779),22107=>array(86,-68,940,829),22108=>array(80,-61,947,828),22109=>array(80,-64,945,834),22110=>array(79,-72,950,855),22111=>array(39,-72,934,844),22112=>array(78,-67,946,835),22113=>array(90,-59,956,849),22114=>array(80,-68,947,853),22115=>array(122,-75,936,779),22116=>array(81,-62,971,832),22117=>array(80,-72,955,835),22118=>array(104,-64,970,838),22119=>array(80,-68,932,830),22120=>array(49,-62,956,798),22121=>array(51,-23,944,789),22122=>array(80,-70,954,792),22123=>array(88,-32,949,825),22124=>array(92,-27,941,838),22125=>array(83,-57,964,864),22126=>array(104,-81,973,782),22127=>array(84,-75,954,830),22128=>array(99,-70,954,848),22129=>array(80,-68,954,833),22130=>array(74,-66,959,853),22131=>array(99,-73,975,833),22132=>array(85,-76,956,838),22133=>array(70,-72,942,847),22134=>array(84,-68,934,834),22135=>array(101,-76,980,838),22136=>array(76,-70,961,827),22137=>array(106,-53,918,841),22138=>array(83,-61,962,832),22139=>array(77,-38,964,839),22140=>array(95,-68,948,842),22141=>array(74,-63,953,835),22142=>array(106,-70,944,833),22143=>array(102,-71,941,780),22144=>array(89,-69,944,838),22145=>array(115,-68,951,785),22146=>array(92,-39,927,821),22147=>array(95,-76,957,828),22148=>array(79,-53,951,842),22149=>array(84,-65,936,789),22150=>array(83,-62,937,835),22151=>array(81,-68,956,834),22152=>array(65,-71,975,797),22153=>array(81,-61,952,835),22154=>array(91,-67,962,856),22155=>array(91,-65,968,833),22156=>array(100,-77,949,832),22157=>array(98,-33,938,821),22158=>array(91,-67,959,848),22159=>array(75,-64,947,837),22160=>array(92,-52,916,850),22161=>array(92,-62,966,828),22162=>array(81,-78,946,835),22163=>array(92,-70,962,839),22164=>array(75,-80,951,836),22165=>array(84,-69,943,846),22166=>array(82,-36,955,832),22167=>array(104,-66,984,787),22168=>array(91,-72,946,784),22169=>array(92,-70,934,830),22170=>array(111,-52,914,803),22171=>array(81,-69,972,847),22172=>array(84,-20,957,794),22173=>array(91,-80,925,841),22174=>array(41,-68,958,841),22175=>array(118,-48,989,844),22176=>array(72,-62,922,834),22177=>array(69,-67,954,833),22178=>array(57,-70,961,833),22179=>array(36,-64,942,786),22180=>array(75,-78,934,835),22181=>array(82,-60,949,830),22182=>array(78,-65,939,790),22183=>array(90,-71,947,828),22184=>array(79,-70,944,837),22185=>array(86,-68,933,835),22186=>array(98,-70,906,780),22187=>array(89,-69,966,842),22188=>array(92,-64,958,842),22189=>array(74,-63,967,835),22190=>array(43,-68,949,845),22191=>array(88,-66,914,784),22192=>array(103,-68,955,838),22193=>array(77,-68,963,835),22194=>array(55,-65,960,845),22195=>array(58,-64,955,841),22196=>array(46,-62,964,817),22197=>array(85,-59,948,846),22198=>array(82,-65,935,788),22199=>array(89,-69,968,842),22200=>array(74,-74,917,829),22201=>array(63,-72,959,834),22202=>array(67,-63,956,805),22203=>array(106,-60,919,794),22204=>array(76,-76,960,844),22205=>array(76,-75,948,833),22206=>array(92,-64,940,828),22207=>array(71,-67,939,834),22208=>array(84,-64,947,832),22209=>array(80,-66,950,807),22210=>array(55,-77,961,779),22211=>array(87,-65,954,831),22212=>array(83,-71,938,843),22213=>array(57,-66,969,792),22214=>array(87,-81,946,834),22215=>array(111,-68,957,790),22216=>array(82,-75,950,831),22217=>array(98,-65,962,796),22218=>array(72,-75,951,834),22219=>array(92,-74,947,824),22220=>array(88,-52,965,842),22221=>array(55,-51,949,839),22222=>array(64,-62,972,832),22223=>array(50,-68,944,839),22224=>array(75,-78,957,830),22225=>array(88,-74,929,817),22226=>array(74,-57,948,839),22227=>array(87,-52,945,845),22228=>array(78,-70,959,831),22229=>array(83,-77,953,832),22230=>array(74,-51,958,858),22231=>array(133,-54,879,781),22232=>array(129,-52,871,778),22233=>array(123,-30,865,754),22234=>array(132,-73,868,776),22235=>array(121,-35,879,744),22236=>array(123,-30,865,754),22237=>array(107,-65,886,789),22238=>array(129,-30,871,754),22239=>array(74,-68,863,839),22240=>array(130,-64,870,793),22241=>array(121,-64,895,788),22242=>array(109,-64,865,785),22243=>array(122,-64,878,785),22244=>array(110,-72,891,784),22245=>array(121,-67,894,784),22246=>array(113,-67,887,788),22247=>array(120,-67,892,785),22248=>array(121,-65,894,786),22249=>array(121,-67,894,784),22250=>array(138,-67,879,849),22251=>array(101,-68,901,788),22252=>array(111,-53,877,754),22253=>array(95,-63,900,791),22254=>array(99,-51,894,799),22255=>array(128,-59,884,789),22256=>array(114,-65,886,784),22257=>array(138,-67,879,849),22258=>array(122,-59,878,789),22259=>array(121,-70,879,781),22260=>array(109,-70,866,782),22261=>array(106,-63,863,776),22262=>array(122,-59,878,789),22263=>array(122,-68,905,791),22264=>array(115,-64,907,788),22265=>array(105,-64,897,788),22266=>array(115,-70,885,785),22267=>array(115,-70,885,785),22268=>array(115,-70,885,785),22269=>array(122,-59,878,789),22270=>array(110,-66,866,784),22271=>array(96,-68,892,789),22272=>array(106,-65,894,784),22273=>array(116,-69,903,774),22274=>array(112,-67,897,782),22275=>array(106,-70,905,789),22276=>array(101,-66,896,788),22277=>array(116,-69,873,794),22278=>array(112,-68,865,774),22279=>array(102,-67,896,788),22280=>array(105,-69,895,791),22281=>array(113,-65,900,790),22282=>array(107,-65,906,796),22283=>array(109,-67,890,780),22284=>array(96,-53,900,797),22285=>array(102,-61,905,784),22286=>array(116,-69,903,774),22287=>array(107,-69,896,785),22288=>array(111,-69,908,779),22289=>array(111,-69,898,774),22290=>array(102,-70,898,790),22291=>array(113,-71,899,787),22292=>array(103,-71,900,781),22293=>array(116,-69,903,774),22294=>array(119,-68,906,794),22295=>array(119,-68,906,794),22296=>array(112,-64,903,788),22297=>array(116,-69,903,774),22298=>array(93,-54,893,809),22299=>array(95,-53,893,806),22300=>array(98,-67,902,796),22301=>array(106,-69,894,774),22302=>array(99,-65,901,790),22303=>array(78,-13,922,810),22304=>array(59,-58,957,806),22305=>array(100,-15,895,796),22306=>array(54,-59,939,796),22307=>array(61,-29,960,776),22308=>array(53,-59,961,814),22309=>array(89,-67,934,778),22310=>array(68,-55,944,741),22311=>array(37,-63,913,770),22312=>array(49,-65,921,836),22313=>array(42,-64,949,793),22314=>array(55,-62,953,800),22315=>array(49,-55,930,790),22316=>array(49,-78,951,791),22317=>array(73,-39,927,809),22318=>array(43,-58,945,786),22319=>array(39,-53,954,776),22320=>array(56,-52,935,808),22321=>array(58,-58,952,817),22322=>array(50,-45,943,796),22323=>array(56,-71,907,785),22324=>array(68,-61,917,788),22325=>array(44,-59,948,781),22326=>array(60,-61,953,805),22327=>array(44,-65,932,788),22328=>array(59,-56,897,789),22329=>array(39,-63,912,832),22330=>array(29,-63,897,808),22331=>array(62,-64,948,810),22332=>array(84,-41,938,785),22333=>array(62,-72,903,794),22334=>array(40,-71,956,796),22335=>array(50,-63,967,802),22336=>array(44,-32,949,786),22337=>array(43,-69,952,800),22338=>array(43,-70,966,785),22339=>array(51,-68,958,774),22340=>array(44,-66,967,793),22341=>array(48,-60,972,811),22342=>array(38,-63,970,799),22343=>array(50,-63,906,831),22344=>array(44,-72,946,793),22345=>array(44,-59,944,806),22346=>array(41,-77,953,827),22347=>array(58,-78,967,798),22348=>array(53,-24,947,804),22349=>array(43,-71,948,799),22350=>array(48,-66,962,810),22351=>array(40,-55,968,790),22352=>array(73,-29,927,806),22353=>array(47,-67,951,813),22354=>array(57,-43,952,809),22355=>array(57,-29,952,813),22356=>array(57,-49,974,792),22357=>array(57,-59,952,805),22358=>array(28,-54,961,768),22359=>array(33,-70,947,834),22360=>array(43,-58,951,765),22361=>array(57,-54,952,758),22362=>array(52,-19,932,831),22363=>array(43,-38,939,816),22364=>array(41,-69,912,804),22365=>array(33,-58,943,798),22366=>array(35,-67,902,832),22367=>array(41,-60,955,852),22368=>array(62,-14,926,821),22369=>array(48,-71,963,812),22370=>array(46,-67,945,801),22371=>array(84,-14,933,777),22372=>array(65,-48,908,805),22373=>array(65,-32,933,771),22374=>array(48,-21,952,786),22375=>array(65,-49,936,791),22376=>array(60,-60,952,806),22377=>array(39,-68,945,796),22378=>array(50,-67,947,794),22379=>array(38,-52,904,794),22380=>array(56,-67,980,834),22381=>array(46,-83,953,777),22382=>array(53,-58,964,823),22383=>array(42,-14,948,785),22384=>array(59,-67,914,782),22385=>array(43,-70,957,797),22386=>array(60,-71,925,810),22387=>array(61,-71,920,835),22388=>array(60,-56,944,800),22389=>array(45,-18,953,824),22390=>array(40,-65,943,817),22391=>array(48,-61,947,807),22392=>array(56,-54,909,849),22393=>array(45,-60,958,843),22394=>array(45,-69,955,836),22395=>array(56,-63,954,828),22396=>array(51,-67,941,832),22397=>array(67,-66,968,847),22398=>array(75,-61,918,836),22399=>array(71,-79,945,842),22400=>array(56,-63,940,828),22401=>array(56,-60,967,828),22402=>array(73,-32,927,826),22403=>array(49,-11,952,838),22404=>array(47,-31,941,829),22405=>array(37,-67,929,824),22406=>array(35,-66,911,826),22407=>array(30,-65,903,755),22408=>array(34,-32,946,833),22409=>array(46,-28,955,840),22410=>array(70,-61,939,786),22411=>array(59,-25,953,827),22412=>array(30,-70,898,781),22413=>array(55,-70,883,841),22414=>array(30,-65,948,848),22415=>array(55,-71,954,823),22416=>array(56,-36,926,853),22417=>array(50,-58,920,844),22418=>array(52,-36,926,814),22419=>array(37,-63,949,834),22420=>array(59,-20,954,790),22421=>array(59,-11,954,831),22422=>array(67,-43,904,842),22423=>array(37,-54,956,840),22424=>array(50,-73,963,822),22425=>array(43,-52,962,842),22426=>array(49,-11,953,842),22427=>array(43,-65,965,809),22428=>array(58,-62,949,809),22429=>array(46,-57,963,850),22430=>array(42,-43,953,839),22431=>array(51,-73,955,821),22432=>array(37,-68,952,809),22433=>array(34,-32,946,833),22434=>array(50,-69,932,833),22435=>array(47,-14,947,808),22436=>array(31,-22,931,811),22437=>array(49,-70,960,827),22438=>array(75,-27,949,790),22439=>array(38,-77,891,842),22440=>array(48,-59,954,843),22441=>array(50,-8,922,764),22442=>array(41,-70,949,839),22443=>array(32,-11,932,830),22444=>array(41,-72,946,831),22445=>array(43,-6,923,808),22446=>array(41,-66,965,842),22447=>array(40,-49,942,793),22448=>array(51,-64,940,835),22449=>array(41,-60,883,826),22450=>array(41,-27,941,813),22451=>array(45,-67,956,833),22452=>array(40,-66,923,832),22453=>array(50,-72,951,832),22454=>array(59,-65,948,833),22455=>array(56,-65,944,783),22456=>array(51,-67,959,857),22457=>array(43,-68,943,827),22458=>array(49,-68,954,817),22459=>array(49,-72,960,804),22460=>array(63,-24,969,822),22461=>array(55,-15,951,846),22462=>array(54,-64,955,800),22463=>array(53,-66,941,833),22464=>array(97,-32,916,829),22465=>array(57,-70,958,821),22466=>array(46,-70,959,791),22467=>array(50,-71,956,845),22468=>array(46,-65,949,846),22469=>array(65,-24,959,842),22470=>array(63,-71,906,824),22471=>array(51,-61,893,811),22472=>array(46,-68,953,836),22473=>array(46,-73,945,836),22474=>array(55,-15,951,842),22475=>array(39,-25,943,793),22476=>array(54,-74,955,827),22477=>array(61,-67,903,791),22478=>array(41,-68,951,834),22479=>array(36,-64,964,829),22480=>array(50,-62,970,814),22481=>array(55,-30,951,831),22482=>array(47,-62,945,827),22483=>array(61,-65,956,806),22484=>array(40,-68,948,833),22485=>array(55,-20,959,814),22486=>array(59,-48,962,832),22487=>array(43,-56,945,835),22488=>array(39,-64,923,826),22489=>array(43,-70,938,806),22490=>array(31,-67,892,802),22491=>array(31,-51,915,802),22492=>array(48,-27,967,817),22493=>array(17,-43,964,849),22494=>array(26,-58,966,848),22495=>array(36,-69,965,835),22496=>array(39,-68,959,854),22497=>array(53,-20,959,821),22498=>array(47,-48,959,823),22499=>array(48,-65,951,822),22500=>array(39,-56,961,860),22501=>array(53,-67,959,835),22502=>array(32,-61,959,855),22503=>array(32,-52,952,820),22504=>array(26,-65,974,853),22505=>array(46,-60,954,836),22506=>array(42,-12,944,831),22507=>array(56,-62,907,839),22508=>array(51,-73,965,824),22509=>array(35,-64,949,835),22510=>array(48,-72,971,829),22511=>array(45,-30,945,829),22512=>array(46,-62,959,833),22513=>array(45,-74,963,830),22514=>array(50,-68,976,841),22515=>array(62,-68,899,831),22516=>array(35,-67,953,835),22517=>array(47,-50,959,812),22518=>array(32,-67,973,831),22519=>array(57,-69,960,833),22520=>array(55,-67,911,818),22521=>array(36,-65,938,835),22522=>array(36,-28,980,832),22523=>array(46,-67,951,835),22524=>array(52,-64,958,836),22525=>array(42,-69,948,801),22526=>array(52,-27,945,792),22527=>array(67,-27,945,850),22528=>array(48,-65,906,818),22529=>array(47,-67,966,808),22530=>array(84,-14,933,832),22531=>array(52,-23,958,855),22532=>array(53,-67,956,838),22533=>array(56,-22,944,784),22534=>array(45,-73,950,834),22535=>array(60,-22,954,833),22536=>array(56,-48,911,828),22537=>array(45,-58,947,835),22538=>array(68,-12,951,794),22539=>array(41,-55,907,820),22540=>array(57,-69,901,803),22541=>array(42,-69,962,837),22542=>array(44,-70,963,833),22543=>array(63,-23,958,855),22544=>array(50,-71,956,804),22545=>array(45,-29,924,826),22546=>array(53,-49,970,789),22547=>array(57,-67,927,829),22548=>array(52,-67,966,811),22549=>array(58,-19,912,828),22550=>array(55,-65,920,841),22551=>array(26,-65,944,844),22552=>array(76,-28,972,835),22553=>array(32,-25,953,810),22554=>array(51,-65,936,787),22555=>array(54,-67,953,806),22556=>array(53,-67,966,832),22557=>array(64,-67,915,799),22558=>array(37,-65,970,833),22559=>array(59,-63,945,840),22560=>array(35,-72,966,840),22561=>array(38,-19,933,830),22562=>array(50,-70,944,836),22563=>array(66,-68,922,803),22564=>array(48,-70,966,793),22565=>array(54,-12,965,828),22566=>array(40,-50,956,844),22567=>array(35,-51,968,821),22568=>array(60,-69,924,807),22569=>array(38,-71,951,823),22570=>array(32,-68,946,829),22571=>array(38,-68,969,829),22572=>array(56,-70,976,836),22573=>array(66,-32,967,824),22574=>array(60,-69,952,800),22575=>array(43,-65,962,837),22576=>array(44,-62,956,807),22577=>array(65,-67,966,832),22578=>array(67,-16,963,770),22579=>array(43,-52,907,820),22580=>array(42,-63,948,788),22581=>array(39,-68,940,833),22582=>array(58,-67,952,835),22583=>array(52,-70,951,843),22584=>array(56,-71,973,803),22585=>array(50,-25,949,839),22586=>array(60,-66,971,829),22587=>array(49,-29,951,827),22588=>array(47,-16,954,826),22589=>array(54,-64,954,804),22590=>array(52,-64,978,842),22591=>array(58,-71,956,821),22592=>array(40,-69,955,804),22593=>array(55,-27,945,815),22594=>array(40,-26,961,826),22595=>array(40,-68,950,835),22596=>array(35,-66,911,804),22597=>array(45,-72,971,829),22598=>array(54,-60,944,846),22599=>array(50,-27,927,842),22600=>array(59,-16,958,794),22601=>array(50,-73,973,829),22602=>array(47,-68,965,841),22603=>array(64,-17,940,831),22604=>array(46,-68,915,796),22605=>array(28,-55,972,835),22606=>array(52,-71,960,831),22607=>array(39,-41,952,816),22608=>array(36,-64,980,833),22609=>array(53,-11,948,833),22610=>array(36,-65,956,829),22611=>array(56,-71,964,806),22612=>array(42,-69,963,829),22613=>array(54,-68,976,827),22614=>array(49,-65,964,842),22615=>array(46,-17,970,856),22616=>array(44,-69,948,819),22617=>array(42,-63,944,841),22618=>array(37,-60,973,807),22619=>array(53,-70,965,805),22620=>array(41,-60,965,807),22621=>array(55,-66,951,834),22622=>array(48,-30,949,830),22623=>array(55,-40,963,811),22624=>array(50,-60,961,834),22625=>array(52,-61,927,834),22626=>array(62,-60,928,839),22627=>array(58,-31,953,817),22628=>array(54,-70,967,818),22629=>array(59,-69,954,803),22630=>array(64,-46,953,815),22631=>array(54,-8,954,859),22632=>array(37,-67,966,826),22633=>array(49,-34,950,831),22634=>array(49,-65,934,836),22635=>array(47,-69,946,836),22636=>array(35,-68,948,785),22637=>array(47,-30,959,809),22638=>array(47,-64,965,849),22639=>array(63,-67,921,835),22640=>array(52,-46,951,840),22641=>array(57,-26,951,847),22642=>array(33,-56,941,850),22643=>array(53,-66,961,844),22644=>array(56,-71,906,831),22645=>array(44,-49,943,834),22646=>array(54,-69,959,838),22647=>array(56,-64,958,839),22648=>array(53,-26,940,803),22649=>array(53,-24,959,833),22650=>array(48,-69,954,835),22651=>array(46,-73,969,820),22652=>array(42,-66,961,830),22653=>array(34,-58,967,839),22654=>array(49,-34,952,831),22655=>array(33,-62,951,846),22656=>array(43,-71,957,810),22657=>array(52,-64,983,817),22658=>array(47,-70,957,804),22659=>array(39,-65,960,828),22660=>array(51,-65,961,838),22661=>array(52,-25,945,789),22662=>array(56,-69,942,823),22663=>array(53,-71,953,838),22664=>array(52,-64,920,831),22665=>array(28,-64,962,821),22666=>array(63,-26,958,838),22667=>array(60,-68,953,841),22668=>array(46,-67,962,851),22669=>array(58,-38,964,846),22670=>array(46,-69,950,836),22671=>array(45,-43,943,847),22672=>array(56,-32,956,823),22673=>array(48,-65,954,842),22674=>array(19,-80,923,826),22675=>array(45,-40,954,834),22676=>array(45,-58,945,839),22677=>array(40,-60,962,801),22678=>array(40,-69,949,837),22679=>array(38,-73,905,835),22680=>array(39,-67,969,833),22681=>array(38,-71,927,821),22682=>array(29,-68,947,821),22683=>array(34,-72,968,812),22684=>array(60,-35,968,847),22685=>array(39,-57,963,847),22686=>array(52,-62,961,830),22687=>array(31,-64,911,827),22688=>array(48,-70,960,804),22689=>array(40,-69,953,836),22690=>array(49,-64,959,843),22691=>array(36,-76,965,827),22692=>array(29,-69,953,836),22693=>array(49,-32,962,843),22694=>array(52,-63,932,827),22695=>array(55,-61,976,836),22696=>array(56,-43,949,816),22697=>array(38,-68,964,826),22698=>array(43,-52,969,831),22699=>array(41,-72,950,834),22700=>array(67,-27,967,844),22701=>array(32,-24,947,826),22702=>array(67,-15,956,857),22703=>array(34,-33,954,847),22704=>array(49,-67,954,806),22705=>array(39,-32,981,828),22706=>array(30,-62,954,845),22707=>array(43,-76,962,838),22708=>array(47,-57,950,831),22709=>array(60,-69,933,779),22710=>array(47,-68,963,833),22711=>array(35,-68,945,831),22712=>array(52,-62,938,842),22713=>array(52,-67,924,787),22714=>array(32,-64,972,851),22715=>array(52,-68,950,833),22716=>array(56,-33,977,831),22717=>array(46,-75,977,846),22718=>array(64,-25,960,828),22719=>array(56,-70,962,806),22720=>array(26,-69,962,845),22721=>array(62,-26,957,831),22722=>array(36,-38,964,780),22723=>array(43,-26,944,788),22724=>array(44,-32,959,832),22725=>array(62,-32,953,851),22726=>array(79,-34,951,826),22727=>array(43,-34,947,835),22728=>array(50,-68,987,830),22729=>array(47,-72,969,833),22730=>array(48,-71,965,839),22731=>array(61,-65,918,832),22732=>array(35,-79,966,837),22733=>array(41,-32,953,791),22734=>array(38,-54,969,857),22735=>array(49,-34,951,823),22736=>array(53,-35,962,794),22737=>array(46,-26,962,836),22738=>array(44,-18,956,834),22739=>array(42,-45,953,807),22740=>array(41,-55,949,840),22741=>array(43,-62,965,828),22742=>array(31,-51,947,818),22743=>array(36,-35,954,823),22744=>array(59,-28,949,783),22745=>array(52,-77,967,847),22746=>array(61,-66,969,836),22747=>array(53,-65,920,806),22748=>array(35,-60,951,808),22749=>array(36,-65,973,826),22750=>array(51,-63,970,844),22751=>array(57,-24,950,849),22752=>array(29,-68,952,841),22753=>array(29,-64,964,843),22754=>array(46,-65,959,820),22755=>array(38,-64,963,831),22756=>array(42,-61,951,837),22757=>array(42,-70,948,791),22758=>array(59,-70,953,829),22759=>array(33,-72,957,811),22760=>array(71,-28,941,781),22761=>array(59,-71,932,793),22762=>array(31,-75,959,848),22763=>array(103,28,894,796),22764=>array(49,-18,951,796),22765=>array(75,-58,888,834),22766=>array(41,-63,913,829),22767=>array(33,-69,948,820),22768=>array(47,-55,927,837),22769=>array(74,-40,927,846),22770=>array(62,-58,933,846),22771=>array(42,-58,955,846),22772=>array(59,-17,951,826),22773=>array(52,-34,969,842),22774=>array(59,-9,909,834),22775=>array(55,-21,948,835),22776=>array(59,-38,909,834),22777=>array(55,-21,948,835),22778=>array(72,-32,947,831),22779=>array(50,-50,972,806),22780=>array(55,-23,953,830),22781=>array(55,-61,951,836),22782=>array(49,-18,950,829),22783=>array(62,-72,954,845),22784=>array(55,-61,951,836),22785=>array(95,-62,932,847),22786=>array(59,-46,954,826),22787=>array(67,-64,923,791),22788=>array(18,-67,935,818),22789=>array(30,-82,946,827),22790=>array(51,-71,955,833),22791=>array(43,-63,930,827),22792=>array(37,-60,961,832),22793=>array(58,-62,959,830),22794=>array(55,-41,952,812),22795=>array(71,-67,937,842),22796=>array(54,-64,969,833),22797=>array(55,-65,954,829),22798=>array(60,-67,967,829),22799=>array(53,-65,954,812),22800=>array(84,-66,945,844),22801=>array(53,-65,961,843),22802=>array(46,-67,954,795),22803=>array(55,-67,965,823),22804=>array(36,-53,948,841),22805=>array(95,-71,856,842),22806=>array(41,-65,967,836),22807=>array(46,-66,945,828),22808=>array(57,-59,872,844),22809=>array(24,-66,968,789),22810=>array(89,-68,911,849),22811=>array(107,-81,928,807),22812=>array(45,-65,959,828),22813=>array(29,-47,965,804),22814=>array(119,-58,929,821),22815=>array(14,-59,907,842),22816=>array(66,-65,921,847),22817=>array(66,-65,953,847),22818=>array(59,-73,928,839),22819=>array(71,-73,915,845),22820=>array(58,-76,942,848),22821=>array(22,-69,925,840),22822=>array(50,-69,952,823),22823=>array(85,-43,933,837),22824=>array(55,-63,950,845),22825=>array(61,-51,947,778),22826=>array(83,-48,941,834),22827=>array(74,-51,943,834),22828=>array(29,-57,979,840),22829=>array(84,-55,931,798),22830=>array(54,-70,968,826),22831=>array(58,-66,957,835),22832=>array(76,-70,953,835),22833=>array(86,-70,941,829),22834=>array(33,-62,947,835),22835=>array(54,-7,946,839),22836=>array(62,-59,913,831),22837=>array(43,-61,945,835),22838=>array(36,-71,969,824),22839=>array(58,-68,953,835),22840=>array(29,-70,982,855),22841=>array(29,-59,936,830),22842=>array(33,-59,947,835),22843=>array(21,-58,937,835),22844=>array(60,-67,955,835),22845=>array(66,-71,957,835),22846=>array(69,-64,955,834),22847=>array(53,-45,957,835),22848=>array(53,-62,982,783),22849=>array(40,-31,954,821),22850=>array(50,-67,958,832),22851=>array(67,-88,958,847),22852=>array(32,-44,976,842),22853=>array(59,-67,965,838),22854=>array(66,-41,957,835),22855=>array(60,-65,929,840),22856=>array(62,-62,960,848),22857=>array(44,-72,958,840),22858=>array(59,-74,964,831),22859=>array(21,-58,937,835),22860=>array(37,-60,963,828),22861=>array(35,-60,972,843),22862=>array(36,-22,961,851),22863=>array(46,-77,954,840),22864=>array(39,-66,966,841),22865=>array(43,-70,957,830),22866=>array(36,-65,974,838),22867=>array(57,-65,965,829),22868=>array(48,-71,970,835),22869=>array(53,-57,972,843),22870=>array(30,-59,954,839),22871=>array(43,-65,966,844),22872=>array(42,-65,955,829),22873=>array(29,-60,975,848),22874=>array(54,-68,960,839),22875=>array(26,-68,997,841),22876=>array(47,-69,970,836),22877=>array(70,-82,962,836),22878=>array(47,-75,976,833),22879=>array(41,-59,974,840),22880=>array(40,-71,959,829),22881=>array(44,-64,973,793),22882=>array(36,-68,970,840),22883=>array(51,-78,971,807),22884=>array(26,-77,972,837),22885=>array(39,-73,961,840),22886=>array(44,-66,960,839),22887=>array(47,-72,968,842),22888=>array(39,-64,970,852),22889=>array(32,-22,966,845),22890=>array(30,-65,967,843),22891=>array(40,-71,968,844),22892=>array(39,-64,970,847),22893=>array(35,-63,982,839),22894=>array(51,-69,960,849),22895=>array(29,-80,983,839),22896=>array(40,-73,967,781),22897=>array(48,-66,966,839),22898=>array(42,-72,961,832),22899=>array(86,-53,911,836),22900=>array(64,-67,949,819),22901=>array(52,-63,948,840),22902=>array(68,-70,920,821),22903=>array(63,-63,958,833),22904=>array(69,-65,959,836),22905=>array(40,-56,948,836),22906=>array(100,-70,972,832),22907=>array(65,-64,951,828),22908=>array(64,-55,958,831),22909=>array(52,-67,961,818),22910=>array(62,-65,912,829),22911=>array(44,-60,961,830),22912=>array(63,-66,944,821),22913=>array(66,-59,919,844),22914=>array(71,-74,897,815),22915=>array(29,-52,945,840),22916=>array(54,-72,942,836),22917=>array(77,-53,964,816),22918=>array(31,-67,938,824),22919=>array(47,-62,861,833),22920=>array(46,-61,914,828),22921=>array(61,-71,955,832),22922=>array(51,-72,935,832),22923=>array(76,-72,962,833),22924=>array(64,-69,954,837),22925=>array(51,-67,952,837),22926=>array(56,-72,974,840),22927=>array(74,-66,972,842),22928=>array(53,-56,974,841),22929=>array(49,-54,941,849),22930=>array(62,-68,934,839),22931=>array(57,-69,961,836),22932=>array(47,-64,957,853),22933=>array(57,-66,891,838),22934=>array(47,-70,957,830),22935=>array(39,-66,966,850),22936=>array(45,-69,958,830),22937=>array(53,-67,952,835),22938=>array(49,-64,966,840),22939=>array(66,-44,940,823),22940=>array(58,-69,955,831),22941=>array(39,-63,961,835),22942=>array(45,-50,956,827),22943=>array(66,-59,920,785),22944=>array(61,-66,917,835),22945=>array(57,-70,946,837),22946=>array(50,-67,971,836),22947=>array(52,-48,966,839),22948=>array(46,-62,951,830),22949=>array(67,-71,903,834),22950=>array(44,-66,951,836),22951=>array(53,-68,955,836),22952=>array(55,-77,951,829),22953=>array(53,-64,935,824),22954=>array(36,-66,913,818),22955=>array(36,-64,890,825),22956=>array(62,-62,965,828),22957=>array(58,-64,975,844),22958=>array(58,-65,945,838),22959=>array(61,-65,918,845),22960=>array(64,-67,951,842),22961=>array(62,-73,911,835),22962=>array(50,-58,937,835),22963=>array(53,-52,965,847),22964=>array(59,-63,945,844),22965=>array(60,-56,958,832),22966=>array(45,-56,956,835),22967=>array(66,-60,975,844),22968=>array(61,-62,961,830),22969=>array(30,-71,978,833),22970=>array(55,-66,973,838),22971=>array(80,-70,935,837),22972=>array(62,-60,959,830),22973=>array(59,-62,918,837),22974=>array(65,-65,936,828),22975=>array(60,-55,924,821),22976=>array(53,-65,956,842),22977=>array(60,-65,918,834),22978=>array(71,-58,969,830),22979=>array(60,-58,962,826),22980=>array(61,-61,954,826),22981=>array(56,-72,953,839),22982=>array(60,-67,948,832),22983=>array(58,-70,941,830),22984=>array(55,-50,968,860),22985=>array(37,-68,954,840),22986=>array(70,-64,934,832),22987=>array(54,-74,945,835),22988=>array(56,-62,965,839),22989=>array(32,-56,959,831),22990=>array(42,-77,968,834),22991=>array(62,-69,955,837),22992=>array(56,-65,956,818),22993=>array(56,-64,956,838),22994=>array(66,-64,978,841),22995=>array(52,-69,952,827),22996=>array(58,-67,912,836),22997=>array(58,-67,958,827),22998=>array(51,-52,949,822),22999=>array(41,-70,922,825),23000=>array(48,-67,956,850),23001=>array(40,-64,959,834),23002=>array(53,-70,960,833),23003=>array(60,-70,906,830),23004=>array(67,-63,926,850),23005=>array(38,-65,969,832),23006=>array(48,-52,957,850),23007=>array(38,-68,948,842),23008=>array(57,-74,907,832),23009=>array(80,-72,938,829),23010=>array(63,-72,929,831),23011=>array(38,-66,970,846),23012=>array(62,-66,957,837),23013=>array(47,-54,959,833),23014=>array(49,-71,962,843),23015=>array(52,-65,952,845),23016=>array(54,-67,968,837),23017=>array(68,-75,956,827),23018=>array(45,-69,956,824),23019=>array(50,-71,955,831),23020=>array(62,-66,956,829),23021=>array(67,-73,931,837),23022=>array(69,-59,960,837),23023=>array(64,-74,953,823),23024=>array(45,-60,909,836),23025=>array(44,-49,979,860),23026=>array(61,-74,954,831),23027=>array(61,-70,887,830),23028=>array(83,-73,938,824),23029=>array(69,-79,954,821),23030=>array(52,-50,970,858),23031=>array(55,-73,957,827),23032=>array(63,-73,953,827),23033=>array(40,-59,953,845),23034=>array(64,-74,953,823),23035=>array(53,-66,895,831),23036=>array(73,-80,932,822),23037=>array(78,-75,947,820),23038=>array(57,-80,955,823),23039=>array(59,-74,939,842),23040=>array(64,-67,951,830),23041=>array(53,-74,959,832),23042=>array(73,-73,959,832),23043=>array(73,-68,953,833),23044=>array(44,-65,935,829),23045=>array(44,-77,934,817),23046=>array(28,-69,936,822),23047=>array(40,-60,939,836),23048=>array(56,-82,919,834),23049=>array(34,-64,962,839),23050=>array(64,-68,958,830),23051=>array(62,-70,897,836),23052=>array(46,-48,956,840),23053=>array(46,-70,961,840),23054=>array(37,-68,939,830),23055=>array(56,-62,956,838),23056=>array(64,-64,953,837),23057=>array(37,-68,943,830),23058=>array(56,-67,953,845),23059=>array(41,-67,963,823),23060=>array(82,-69,954,839),23061=>array(60,-62,964,837),23062=>array(63,-69,980,829),23063=>array(57,-69,983,833),23064=>array(62,-75,962,831),23065=>array(51,-48,952,845),23066=>array(72,-74,923,808),23067=>array(64,-71,977,833),23068=>array(50,-71,947,833),23069=>array(66,-54,969,852),23070=>array(48,-68,945,833),23071=>array(63,-72,897,831),23072=>array(66,-66,965,831),23073=>array(66,-66,961,831),23074=>array(54,-66,951,867),23075=>array(65,-67,933,845),23076=>array(37,-68,939,829),23077=>array(42,-63,972,832),23078=>array(62,-64,954,828),23079=>array(62,-68,949,846),23080=>array(47,-64,954,828),23081=>array(57,-67,967,848),23082=>array(57,-68,948,828),23083=>array(39,-67,967,828),23084=>array(42,-64,962,833),23085=>array(73,-74,964,833),23086=>array(64,-68,941,832),23087=>array(64,-71,948,833),23088=>array(64,-67,955,840),23089=>array(32,-62,947,826),23090=>array(43,-72,891,819),23091=>array(55,-64,912,839),23092=>array(46,-73,870,832),23093=>array(49,-71,968,835),23094=>array(67,-75,940,793),23095=>array(65,-44,953,833),23096=>array(51,-78,953,833),23097=>array(44,-77,964,828),23098=>array(37,-67,973,823),23099=>array(61,-64,973,835),23100=>array(68,-69,906,832),23101=>array(57,-67,955,828),23102=>array(51,-69,958,827),23103=>array(37,-58,939,827),23104=>array(38,-65,952,835),23105=>array(55,-68,930,832),23106=>array(63,-71,912,840),23107=>array(58,-68,957,834),23108=>array(53,-67,960,839),23109=>array(64,-61,921,847),23110=>array(66,-74,946,836),23111=>array(42,-67,959,834),23112=>array(46,-72,971,831),23113=>array(59,-63,954,836),23114=>array(37,-67,977,837),23115=>array(44,-66,953,837),23116=>array(49,-71,980,828),23117=>array(54,-65,962,839),23118=>array(69,-68,953,842),23119=>array(42,-67,968,848),23120=>array(52,-70,979,827),23121=>array(50,-70,962,830),23122=>array(50,-68,971,836),23123=>array(64,-74,935,827),23124=>array(54,-63,964,834),23125=>array(37,-65,964,836),23126=>array(45,-68,979,829),23127=>array(54,-70,960,832),23128=>array(50,-62,966,831),23129=>array(48,-60,946,841),23130=>array(55,-71,960,833),23131=>array(52,-62,955,838),23132=>array(47,-67,954,790),23133=>array(52,-71,961,828),23134=>array(49,-67,959,839),23135=>array(66,-71,912,829),23136=>array(65,-68,924,839),23137=>array(44,-64,970,839),23138=>array(54,-65,951,850),23139=>array(59,-75,922,834),23140=>array(52,-72,898,830),23141=>array(56,-66,967,833),23142=>array(42,-74,944,832),23143=>array(45,-64,948,837),23144=>array(34,-61,957,834),23145=>array(53,-67,948,837),23146=>array(47,-78,964,822),23147=>array(54,-56,949,834),23148=>array(37,-50,950,829),23149=>array(45,-54,954,833),23150=>array(69,-68,945,834),23151=>array(57,-78,918,795),23152=>array(50,-73,959,835),23153=>array(57,-78,944,848),23154=>array(70,-65,962,835),23155=>array(61,-62,934,835),23156=>array(56,-74,915,780),23157=>array(37,-70,956,825),23158=>array(52,-63,903,831),23159=>array(40,-65,949,852),23160=>array(57,-68,947,830),23161=>array(65,-67,952,835),23162=>array(51,-69,963,841),23163=>array(50,-65,951,833),23164=>array(51,-64,954,840),23165=>array(53,-70,964,832),23166=>array(41,-70,964,849),23167=>array(63,-65,967,834),23168=>array(67,-68,932,832),23169=>array(50,-64,963,849),23170=>array(65,-61,935,858),23171=>array(57,-68,961,832),23172=>array(57,-71,961,833),23173=>array(38,-49,955,827),23174=>array(57,-72,945,835),23175=>array(57,-72,934,832),23176=>array(70,-62,950,824),23177=>array(57,-62,943,832),23178=>array(43,-73,951,833),23179=>array(58,-73,973,823),23180=>array(52,-74,955,830),23181=>array(56,-82,954,852),23182=>array(57,-68,965,838),23183=>array(50,-69,950,830),23184=>array(51,-72,952,787),23185=>array(65,-66,959,842),23186=>array(60,-66,973,836),23187=>array(60,-58,959,841),23188=>array(52,-70,954,834),23189=>array(57,-76,964,833),23190=>array(47,-60,988,842),23191=>array(73,-50,961,836),23192=>array(57,-65,951,842),23193=>array(48,-74,961,843),23194=>array(63,-73,900,827),23195=>array(42,-65,949,836),23196=>array(56,-82,954,833),23197=>array(50,-72,945,835),23198=>array(55,-69,986,832),23199=>array(44,-62,963,810),23200=>array(64,-65,927,845),23201=>array(58,-67,964,833),23202=>array(49,-70,920,825),23203=>array(43,-66,954,835),23204=>array(67,-53,976,832),23205=>array(53,-78,921,834),23206=>array(55,-67,914,832),23207=>array(54,-65,919,837),23208=>array(54,-63,967,835),23209=>array(62,-71,914,827),23210=>array(35,-74,951,815),23211=>array(38,-60,965,836),23212=>array(56,-67,981,825),23213=>array(57,-82,931,825),23214=>array(41,-70,974,849),23215=>array(46,-60,928,845),23216=>array(46,-65,908,832),23217=>array(55,-73,967,840),23218=>array(43,-53,958,852),23219=>array(65,-67,967,846),23220=>array(59,-76,974,823),23221=>array(31,-65,968,834),23222=>array(55,-67,954,827),23223=>array(43,-64,950,837),23224=>array(55,-71,966,843),23225=>array(56,-69,915,834),23226=>array(51,-73,975,829),23227=>array(38,-76,950,832),23228=>array(51,-72,968,818),23229=>array(56,-71,922,818),23230=>array(18,-64,948,837),23231=>array(52,-64,972,855),23232=>array(48,-69,962,833),23233=>array(53,-69,970,832),23234=>array(42,-65,958,840),23235=>array(60,-71,945,840),23236=>array(38,-65,968,839),23237=>array(72,-60,954,844),23238=>array(65,-69,977,833),23239=>array(54,-82,962,829),23240=>array(61,-73,932,831),23241=>array(66,-76,957,831),23242=>array(49,-65,954,832),23243=>array(36,-57,929,818),23244=>array(51,-64,966,850),23245=>array(52,-70,927,832),23246=>array(44,-69,950,840),23247=>array(49,-64,946,842),23248=>array(57,-65,958,829),23249=>array(82,-71,934,791),23250=>array(44,-73,931,820),23251=>array(43,-53,967,844),23252=>array(43,-72,920,826),23253=>array(58,-56,971,830),23254=>array(22,-62,953,831),23255=>array(36,-77,951,837),23256=>array(44,-61,977,843),23257=>array(38,-63,970,841),23258=>array(47,-47,972,833),23259=>array(52,-74,958,785),23260=>array(52,-65,964,849),23261=>array(58,-70,962,834),23262=>array(54,-67,957,836),23263=>array(44,-47,951,841),23264=>array(37,-66,955,841),23265=>array(37,-64,948,836),23266=>array(51,-72,954,826),23267=>array(43,-61,952,836),23268=>array(55,-55,938,836),23269=>array(50,-69,951,831),23270=>array(30,-77,921,826),23271=>array(36,-67,943,830),23272=>array(59,-72,972,833),23273=>array(69,-69,964,835),23274=>array(37,-72,973,839),23275=>array(68,-62,989,837),23276=>array(63,-66,978,834),23277=>array(56,-68,953,831),23278=>array(50,-70,954,828),23279=>array(44,-75,960,833),23280=>array(69,-69,984,837),23281=>array(41,-70,914,823),23282=>array(49,-66,979,840),23283=>array(51,-50,957,859),23284=>array(62,-80,956,829),23285=>array(40,-65,961,836),23286=>array(39,-54,970,856),23287=>array(34,-65,950,841),23288=>array(44,-78,962,837),23289=>array(46,-73,966,828),23290=>array(42,-68,911,835),23291=>array(57,-65,915,823),23292=>array(38,-74,958,831),23293=>array(44,-74,980,838),23294=>array(37,-74,954,836),23295=>array(48,-77,965,834),23296=>array(53,-67,964,852),23297=>array(35,-77,989,831),23298=>array(54,-82,981,833),23299=>array(45,-77,951,827),23300=>array(38,-69,954,833),23301=>array(38,-69,952,829),23302=>array(41,-64,991,858),23303=>array(38,-79,960,832),23304=>array(44,-64,965,835),23305=>array(38,-64,956,841),23306=>array(64,-89,940,832),23307=>array(34,-68,958,835),23308=>array(52,-68,966,834),23309=>array(38,-66,965,835),23310=>array(42,-70,975,831),23311=>array(40,-68,975,831),23312=>array(44,-74,976,841),23313=>array(30,-50,963,844),23314=>array(45,-68,973,864),23315=>array(45,-80,977,839),23316=>array(41,-66,971,831),23317=>array(46,-64,941,835),23318=>array(61,-75,948,848),23319=>array(35,-56,962,850),23320=>array(34,-64,952,837),23321=>array(36,-65,964,837),23322=>array(42,-70,972,844),23323=>array(46,-60,991,836),23324=>array(53,-84,969,849),23325=>array(46,-64,956,848),23326=>array(50,-41,962,835),23327=>array(46,-70,965,853),23328=>array(38,-67,984,838),23329=>array(36,-66,975,843),23330=>array(43,-79,966,837),23331=>array(51,-70,964,837),23332=>array(37,-68,973,848),23333=>array(51,-70,956,825),23334=>array(50,-71,955,826),23335=>array(41,-70,953,825),23336=>array(34,-50,963,838),23337=>array(43,-70,942,831),23338=>array(44,-67,966,844),23339=>array(34,-65,947,840),23340=>array(48,-68,951,829),23341=>array(44,-68,976,815),23342=>array(45,-74,950,807),23343=>array(45,-68,957,824),23344=>array(68,-69,924,791),23345=>array(53,-75,953,840),23346=>array(46,-63,934,829),23347=>array(43,-65,963,831),23348=>array(43,-69,956,850),23349=>array(40,-68,936,845),23350=>array(43,-64,962,859),23351=>array(36,-67,962,846),23352=>array(54,-65,958,851),23353=>array(27,-65,977,829),23354=>array(57,-53,971,829),23355=>array(46,-66,961,841),23356=>array(62,-74,921,831),23357=>array(40,-67,976,839),23358=>array(35,-50,968,848),23359=>array(41,-68,971,836),23360=>array(51,-65,932,831),23361=>array(68,-66,930,785),23362=>array(42,-43,959,840),23363=>array(59,-61,989,840),23364=>array(41,-66,909,832),23365=>array(43,-65,969,821),23366=>array(55,-67,954,831),23367=>array(46,-64,980,832),23368=>array(48,-65,943,831),23369=>array(66,-58,937,839),23370=>array(41,-78,942,839),23371=>array(44,-72,962,825),23372=>array(55,-74,957,839),23373=>array(39,-67,974,831),23374=>array(46,-73,947,830),23375=>array(45,-65,953,846),23376=>array(98,-49,921,787),23377=>array(72,-52,927,782),23378=>array(221,-58,921,778),23379=>array(94,-53,939,781),23380=>array(69,-61,953,825),23381=>array(74,-59,942,783),23382=>array(41,-52,955,786),23383=>array(94,-61,926,832),23384=>array(47,-69,943,839),23385=>array(31,-66,937,823),23386=>array(53,-65,947,840),23387=>array(74,-64,944,831),23388=>array(60,-65,967,834),23389=>array(48,-61,928,834),23390=>array(24,-31,945,786),23391=>array(66,-17,955,786),23392=>array(86,-51,920,828),23393=>array(20,-70,953,839),23394=>array(53,-64,947,847),23395=>array(50,-67,959,838),23396=>array(42,-77,970,838),23397=>array(54,-58,947,852),23398=>array(74,-54,926,826),23399=>array(86,-52,935,826),23400=>array(41,-67,950,800),23401=>array(51,-68,948,833),23402=>array(41,-60,924,842),23403=>array(44,-69,965,815),23404=>array(38,-66,946,791),23405=>array(55,-72,960,785),23406=>array(41,-64,949,836),23407=>array(63,-61,956,796),23408=>array(41,-68,971,834),23409=>array(31,-59,962,798),23410=>array(51,-50,961,789),23411=>array(53,-56,949,855),23412=>array(135,-68,903,823),23413=>array(34,-76,944,817),23414=>array(53,-58,949,838),23415=>array(41,-71,953,831),23416=>array(66,-67,939,831),23417=>array(64,-57,940,840),23418=>array(31,-64,955,790),23419=>array(44,-70,954,823),23420=>array(59,-81,946,833),23421=>array(71,-60,948,837),23422=>array(39,-67,954,788),23423=>array(57,-59,955,846),23424=>array(90,354,883,650),23425=>array(79,-52,934,851),23426=>array(56,-67,945,833),23427=>array(109,-28,902,821),23428=>array(55,-63,952,841),23429=>array(70,-38,942,833),23430=>array(79,-61,932,841),23431=>array(59,-69,931,840),23432=>array(77,-59,923,825),23433=>array(76,-70,912,818),23434=>array(71,-64,950,844),23435=>array(63,-65,951,824),23436=>array(60,-62,946,839),23437=>array(58,-58,942,822),23438=>array(48,-66,955,845),23439=>array(77,-64,927,822),23440=>array(76,-37,972,838),23441=>array(106,-66,923,838),23442=>array(84,-44,940,832),23443=>array(46,-66,958,830),23444=>array(75,-32,925,842),23445=>array(57,-65,894,839),23446=>array(75,-65,942,830),23447=>array(71,-63,945,822),23448=>array(106,-70,894,839),23449=>array(106,-71,894,817),23450=>array(41,-67,953,826),23451=>array(54,-59,954,818),23452=>array(60,-29,953,831),23453=>array(79,-25,925,826),23454=>array(73,-61,929,832),23455=>array(47,-57,955,827),23456=>array(32,-56,957,841),23457=>array(89,-60,904,842),23458=>array(40,-61,958,828),23459=>array(73,-25,931,823),23460=>array(93,-35,907,825),23461=>array(51,-70,908,839),23462=>array(102,-72,915,832),23463=>array(90,-21,910,835),23464=>array(74,-79,949,824),23465=>array(87,-54,933,835),23466=>array(41,-63,921,837),23467=>array(91,-74,894,839),23468=>array(39,-65,966,842),23469=>array(59,-65,932,830),23470=>array(98,-68,902,829),23471=>array(42,-58,934,848),23472=>array(80,-63,931,831),23473=>array(83,-52,893,844),23474=>array(46,-50,955,844),23475=>array(83,-65,920,834),23476=>array(69,-79,934,839),23477=>array(110,-71,901,837),23478=>array(55,-65,960,823),23479=>array(46,-56,955,857),23480=>array(45,-67,968,833),23481=>array(47,-68,953,834),23482=>array(54,-57,955,840),23483=>array(55,-61,949,834),23484=>array(47,-73,959,846),23485=>array(81,-62,927,836),23486=>array(50,-77,917,846),23487=>array(43,-73,906,828),23488=>array(46,-62,955,826),23489=>array(41,-67,982,841),23490=>array(48,-71,969,835),23491=>array(54,-62,952,829),23492=>array(80,-59,941,833),23493=>array(53,-69,956,835),23494=>array(66,-64,944,827),23495=>array(47,-73,959,830),23496=>array(86,-65,921,846),23497=>array(90,-67,912,845),23498=>array(62,-74,963,838),23499=>array(37,-41,968,835),23500=>array(107,-67,900,835),23501=>array(61,-31,953,835),23502=>array(43,-53,926,860),23503=>array(63,-66,961,841),23504=>array(46,-77,962,821),23505=>array(45,-72,929,839),23506=>array(48,-83,952,834),23507=>array(100,-65,900,840),23508=>array(75,-68,971,828),23509=>array(83,-68,930,843),23510=>array(56,-60,981,844),23511=>array(47,-55,944,840),23512=>array(72,-78,931,841),23513=>array(34,-64,966,839),23514=>array(65,-65,957,842),23515=>array(55,-57,956,842),23516=>array(80,-68,917,843),23517=>array(39,-75,952,829),23518=>array(35,-76,962,845),23519=>array(53,-62,954,825),23520=>array(41,-61,936,856),23521=>array(35,-66,974,840),23522=>array(47,-76,960,836),23523=>array(53,-72,948,836),23524=>array(54,-64,953,836),23525=>array(42,-72,977,850),23526=>array(61,-74,952,850),23527=>array(80,-68,917,844),23528=>array(44,-69,930,839),23529=>array(41,-73,970,835),23530=>array(50,-63,914,836),23531=>array(82,-65,910,833),23532=>array(55,-57,953,843),23533=>array(83,-34,925,849),23534=>array(41,-64,970,838),23535=>array(63,-68,917,841),23536=>array(62,-78,967,846),23537=>array(44,-69,975,835),23538=>array(58,-75,968,833),23539=>array(70,-69,939,832),23540=>array(67,-76,957,841),23541=>array(54,-66,969,836),23542=>array(70,-69,939,850),23543=>array(69,-25,923,847),23544=>array(97,-64,912,829),23545=>array(24,-60,915,829),23546=>array(77,-59,932,836),23547=>array(62,-57,913,793),23548=>array(50,-58,916,786),23549=>array(50,-63,916,840),23550=>array(49,-46,951,821),23551=>array(60,-57,934,835),23552=>array(100,-61,945,826),23553=>array(49,-61,945,826),23554=>array(62,-72,935,823),23555=>array(55,-72,936,823),23556=>array(49,-64,948,845),23557=>array(44,-69,962,827),23558=>array(41,-63,940,839),23559=>array(37,-64,956,841),23560=>array(57,-67,947,826),23561=>array(44,-71,951,826),23562=>array(68,-63,932,850),23563=>array(73,-70,933,811),23564=>array(53,-71,955,829),23565=>array(38,-61,952,835),23566=>array(57,-65,944,848),23567=>array(71,-41,927,818),23568=>array(68,-62,945,816),23569=>array(52,-67,944,818),23570=>array(45,-63,954,833),23571=>array(59,-63,935,827),23572=>array(32,-63,909,830),23573=>array(49,-58,961,789),23574=>array(61,-64,939,830),23575=>array(49,-58,961,821),23576=>array(50,-16,921,824),23577=>array(116,-70,861,824),23578=>array(110,-70,864,836),23579=>array(31,-48,962,821),23580=>array(43,-64,952,824),23581=>array(66,-68,898,831),23582=>array(41,-64,970,821),23583=>array(41,-71,970,822),23584=>array(42,-84,972,826),23585=>array(41,-62,961,836),23586=>array(46,-63,954,829),23587=>array(82,-47,936,782),23588=>array(62,-65,927,829),23589=>array(32,-60,963,842),23590=>array(42,-44,959,835),23591=>array(70,-61,932,827),23592=>array(35,-70,949,853),23593=>array(35,-61,964,798),23594=>array(44,-64,964,832),23595=>array(32,-55,962,785),23596=>array(31,-66,963,844),23597=>array(43,-65,962,837),23598=>array(34,-51,958,833),23599=>array(34,-51,958,835),23600=>array(50,-66,961,836),23601=>array(56,-63,951,831),23602=>array(33,-51,958,842),23603=>array(44,-69,959,826),23604=>array(34,-51,958,833),23605=>array(34,-51,960,835),23606=>array(36,-66,971,831),23607=>array(36,-72,974,831),23608=>array(78,-71,880,766),23609=>array(41,-58,956,772),23610=>array(69,-73,926,765),23611=>array(36,-62,963,790),23612=>array(53,-71,934,782),23613=>array(40,-60,960,789),23614=>array(57,-67,940,784),23615=>array(52,-74,951,779),23616=>array(68,-65,895,785),23617=>array(54,-73,938,782),23618=>array(28,-63,917,789),23619=>array(28,-64,961,789),23620=>array(52,-62,903,794),23621=>array(56,-73,930,782),23622=>array(64,-73,896,788),23623=>array(63,-62,897,792),23624=>array(49,-65,886,792),23625=>array(41,-70,935,787),23626=>array(22,-60,846,791),23627=>array(53,-74,933,796),23628=>array(59,-69,894,786),23629=>array(33,-64,964,791),23630=>array(47,-76,939,785),23631=>array(53,-72,930,785),23632=>array(37,-65,972,789),23633=>array(59,-72,894,789),23634=>array(45,-72,956,795),23635=>array(65,-92,946,781),23636=>array(60,-59,952,804),23637=>array(46,-73,943,779),23638=>array(55,-64,932,782),23639=>array(48,-73,964,798),23640=>array(48,-73,964,782),23641=>array(35,-68,951,788),23642=>array(58,-66,899,808),23643=>array(53,-72,930,785),23644=>array(49,-67,957,791),23645=>array(44,-70,935,786),23646=>array(30,-73,877,777),23647=>array(23,-58,963,803),23648=>array(46,-68,935,796),23649=>array(41,-65,911,788),23650=>array(46,-82,939,823),23651=>array(44,-69,973,787),23652=>array(50,-68,900,808),23653=>array(29,-68,953,786),23654=>array(35,-73,913,789),23655=>array(23,-58,975,803),23656=>array(41,-70,962,798),23657=>array(44,-62,959,800),23658=>array(48,-66,966,786),23659=>array(44,-62,983,800),23660=>array(57,-82,912,790),23661=>array(40,-58,934,804),23662=>array(85,-65,895,825),23663=>array(78,-40,952,836),23664=>array(90,-68,912,848),23665=>array(137,-48,863,771),23666=>array(124,-65,853,820),23667=>array(47,-65,950,800),23668=>array(67,-62,915,833),23669=>array(46,-80,882,833),23670=>array(67,-62,915,833),23671=>array(94,-70,920,821),23672=>array(94,4,953,821),23673=>array(53,-27,935,841),23674=>array(85,-28,931,813),23675=>array(110,-64,897,820),23676=>array(113,-70,964,824),23677=>array(113,-50,963,824),23678=>array(89,-69,911,814),23679=>array(90,-67,922,825),23680=>array(143,-65,869,838),23681=>array(80,-65,855,815),23682=>array(104,-31,921,822),23683=>array(95,-75,915,833),23684=>array(113,-65,889,824),23685=>array(95,-68,953,824),23686=>array(97,-62,963,827),23687=>array(110,-64,911,836),23688=>array(89,-52,930,814),23689=>array(103,-66,909,834),23690=>array(118,-67,935,787),23691=>array(106,-71,965,806),23692=>array(43,-65,957,832),23693=>array(86,-68,931,817),23694=>array(63,-71,951,824),23695=>array(104,-69,948,818),23696=>array(76,-66,964,837),23697=>array(41,-73,955,833),23698=>array(96,-71,960,836),23699=>array(101,-70,948,830),23700=>array(45,-69,961,821),23701=>array(52,-68,969,831),23702=>array(93,-29,916,803),23703=>array(134,-58,833,830),23704=>array(87,-68,934,810),23705=>array(53,-67,959,812),23706=>array(40,-62,957,826),23707=>array(115,-63,865,832),23708=>array(140,-26,921,823),23709=>array(53,-66,935,838),23710=>array(91,-62,955,845),23711=>array(97,-70,964,831),23712=>array(91,-20,951,813),23713=>array(113,-59,888,789),23714=>array(80,-62,931,839),23715=>array(109,-54,909,845),23716=>array(65,-66,966,834),23717=>array(98,-70,957,827),23718=>array(70,-27,945,824),23719=>array(54,-56,900,850),23720=>array(80,-25,948,817),23721=>array(69,-68,920,822),23722=>array(107,-64,900,837),23723=>array(66,-64,892,830),23724=>array(81,-67,901,817),23725=>array(103,-72,948,833),23726=>array(103,-43,949,833),23727=>array(97,-30,949,800),23728=>array(98,-69,910,834),23729=>array(47,-67,955,839),23730=>array(87,-62,960,810),23731=>array(76,-65,924,829),23732=>array(93,-8,933,814),23733=>array(76,-65,935,829),23734=>array(66,-66,888,843),23735=>array(66,-67,939,817),23736=>array(35,-72,931,829),23737=>array(87,-70,910,810),23738=>array(41,-66,955,833),23739=>array(62,-57,961,829),23740=>array(62,-67,959,817),23741=>array(63,-66,920,815),23742=>array(66,-67,955,830),23743=>array(101,-66,875,824),23744=>array(144,-65,869,833),23745=>array(67,-69,911,836),23746=>array(107,-62,964,837),23747=>array(97,-67,907,820),23748=>array(91,-68,944,798),23749=>array(66,-75,950,845),23750=>array(111,-70,961,823),23751=>array(30,-62,979,840),23752=>array(107,-70,961,826),23753=>array(48,-70,963,821),23754=>array(163,-78,862,824),23755=>array(100,-60,903,844),23756=>array(107,-12,960,795),23757=>array(101,-64,959,827),23758=>array(134,-77,937,824),23759=>array(104,-68,956,821),23760=>array(107,-70,960,827),23761=>array(53,-41,948,819),23762=>array(101,-62,898,815),23763=>array(108,-76,949,822),23764=>array(103,-32,942,822),23765=>array(71,-70,947,836),23766=>array(111,-76,944,821),23767=>array(100,-67,949,819),23768=>array(106,-12,956,804),23769=>array(58,-58,927,838),23770=>array(54,-29,971,819),23771=>array(74,-76,885,818),23772=>array(44,-44,974,839),23773=>array(144,-61,869,827),23774=>array(46,-69,939,822),23775=>array(50,-67,934,825),23776=>array(79,-64,940,835),23777=>array(76,-64,945,826),23778=>array(73,-67,910,830),23779=>array(82,-60,944,829),23780=>array(89,-65,947,819),23781=>array(93,-62,957,830),23782=>array(40,-65,947,844),23783=>array(88,-63,944,846),23784=>array(77,-57,945,833),23785=>array(43,-52,958,850),23786=>array(62,-63,941,826),23787=>array(78,-67,948,817),23788=>array(109,-61,956,831),23789=>array(66,-67,923,833),23790=>array(98,-60,941,814),23791=>array(37,-64,978,839),23792=>array(77,-65,961,840),23793=>array(47,-65,951,793),23794=>array(46,-59,898,841),23795=>array(39,-67,969,841),23796=>array(77,-64,933,827),23797=>array(66,-43,956,828),23798=>array(118,-70,897,845),23799=>array(89,-62,939,829),23800=>array(105,-78,952,823),23801=>array(39,-71,957,835),23802=>array(66,-72,962,817),23803=>array(79,-69,966,849),23804=>array(69,-62,929,833),23805=>array(70,-73,961,836),23806=>array(93,-71,932,837),23807=>array(101,-62,944,813),23808=>array(131,-68,947,826),23809=>array(55,-64,987,837),23810=>array(91,-65,912,825),23811=>array(87,-65,963,818),23812=>array(69,-32,939,813),23813=>array(69,-54,906,849),23814=>array(85,-23,924,839),23815=>array(63,-66,937,835),23816=>array(92,-65,924,858),23817=>array(77,-62,980,843),23818=>array(64,-63,968,842),23819=>array(66,-73,934,831),23820=>array(109,-68,956,818),23821=>array(63,-63,945,835),23822=>array(77,-69,938,831),23823=>array(109,-73,962,827),23824=>array(90,-42,961,811),23825=>array(76,-66,954,838),23826=>array(69,-68,945,835),23827=>array(93,-65,909,811),23828=>array(49,-68,949,836),23829=>array(66,-64,953,825),23830=>array(46,-80,938,833),23831=>array(134,-67,879,833),23832=>array(66,-68,960,839),23833=>array(33,-61,979,841),23834=>array(66,-52,968,850),23835=>array(66,-66,932,817),23836=>array(90,-27,911,832),23837=>array(107,-68,957,833),23838=>array(91,-62,935,851),23839=>array(49,-22,962,835),23840=>array(109,-71,976,830),23841=>array(71,-57,920,802),23842=>array(65,-71,956,834),23843=>array(55,-66,970,837),23844=>array(79,-64,927,838),23845=>array(100,-73,948,837),23846=>array(74,-33,950,847),23847=>array(29,-64,933,838),23848=>array(107,-69,974,832),23849=>array(59,-74,894,835),23850=>array(95,-64,951,845),23851=>array(61,-74,911,823),23852=>array(50,-50,960,829),23853=>array(36,-70,914,823),23854=>array(127,-67,886,837),23855=>array(86,-22,964,845),23856=>array(106,-68,930,835),23857=>array(73,-74,897,829),23858=>array(109,-28,954,837),23859=>array(106,-71,967,837),23860=>array(33,-63,956,835),23861=>array(111,-68,955,817),23862=>array(52,-65,953,829),23863=>array(79,-71,953,838),23864=>array(108,-81,963,809),23865=>array(108,-69,933,831),23866=>array(38,-73,956,829),23867=>array(72,-68,949,830),23868=>array(109,-72,961,815),23869=>array(60,-31,955,836),23870=>array(82,-65,945,805),23871=>array(109,-63,962,818),23872=>array(48,-70,955,826),23873=>array(109,-27,953,826),23874=>array(43,-67,954,833),23875=>array(108,-71,951,833),23876=>array(74,-71,961,831),23877=>array(41,-71,953,831),23878=>array(39,-70,960,832),23879=>array(45,-65,972,837),23880=>array(92,-67,958,830),23881=>array(106,-70,944,841),23882=>array(79,-65,960,842),23883=>array(66,-64,905,817),23884=>array(47,-69,971,835),23885=>array(36,-62,954,830),23886=>array(66,-65,915,817),23887=>array(57,-75,945,821),23888=>array(34,-62,970,837),23889=>array(109,-70,919,821),23890=>array(99,-52,895,800),23891=>array(114,-42,910,813),23892=>array(63,-69,943,812),23893=>array(103,-69,967,819),23894=>array(83,-23,967,836),23895=>array(45,-70,939,809),23896=>array(82,-71,955,817),23897=>array(55,-70,956,827),23898=>array(26,-66,960,835),23899=>array(33,-64,979,839),23900=>array(60,-62,928,831),23901=>array(92,-63,944,817),23902=>array(51,-71,967,847),23903=>array(37,-77,939,833),23904=>array(106,-62,995,841),23905=>array(47,-56,969,825),23906=>array(106,-70,958,842),23907=>array(111,-72,951,835),23908=>array(70,-60,919,830),23909=>array(110,-68,963,829),23910=>array(81,-20,933,839),23911=>array(105,-73,911,831),23912=>array(109,-74,940,842),23913=>array(63,-70,937,835),23914=>array(81,-75,939,841),23915=>array(83,-66,938,844),23916=>array(76,-74,951,836),23917=>array(59,-76,953,840),23918=>array(64,-65,973,846),23919=>array(77,-39,945,825),23920=>array(83,-64,967,843),23921=>array(105,-72,967,830),23922=>array(110,-72,979,845),23923=>array(37,-47,956,839),23924=>array(78,-67,960,833),23925=>array(114,-61,947,836),23926=>array(69,-54,929,809),23927=>array(101,-67,974,836),23928=>array(48,-71,966,835),23929=>array(79,-76,959,835),23930=>array(109,-67,960,817),23931=>array(79,-66,968,848),23932=>array(112,-67,959,834),23933=>array(98,-67,957,826),23934=>array(38,-49,974,851),23935=>array(68,-74,965,835),23936=>array(109,-65,953,818),23937=>array(76,-68,934,836),23938=>array(62,-65,930,844),23939=>array(93,-64,962,842),23940=>array(50,-64,955,835),23941=>array(36,-59,957,794),23942=>array(109,-69,955,826),23943=>array(66,-64,933,817),23944=>array(48,-71,962,830),23945=>array(127,-68,964,831),23946=>array(46,-58,948,842),23947=>array(83,-63,924,843),23948=>array(51,-56,890,810),23949=>array(107,-73,900,812),23950=>array(51,-64,948,821),23951=>array(40,-78,954,821),23952=>array(107,-73,949,812),23953=>array(81,-75,951,834),23954=>array(95,-53,908,851),23955=>array(98,-71,972,830),23956=>array(45,-65,978,836),23957=>array(109,-70,970,827),23958=>array(60,-63,991,858),23959=>array(92,-67,935,829),23960=>array(29,-71,910,838),23961=>array(76,-71,937,829),23962=>array(24,-67,985,835),23963=>array(76,-62,959,852),23964=>array(37,-72,964,830),23965=>array(66,-24,954,835),23966=>array(116,-71,933,838),23967=>array(78,-72,955,848),23968=>array(76,-64,956,828),23969=>array(40,-79,971,830),23970=>array(62,-64,943,836),23971=>array(39,-64,938,830),23972=>array(33,-59,962,833),23973=>array(66,-73,970,812),23974=>array(67,-72,945,841),23975=>array(82,-64,935,814),23976=>array(100,-67,915,835),23977=>array(109,-80,973,829),23978=>array(40,-68,964,840),23979=>array(79,-67,948,825),23980=>array(66,-77,965,840),23981=>array(103,-64,947,840),23982=>array(66,-57,950,854),23983=>array(44,-80,965,829),23984=>array(106,-69,961,828),23985=>array(106,-69,954,824),23986=>array(57,-60,929,842),23987=>array(40,-52,968,836),23988=>array(38,-73,977,840),23989=>array(115,-68,961,814),23990=>array(45,-73,967,825),23991=>array(29,-63,951,834),23992=>array(75,-65,947,829),23993=>array(62,-65,960,833),23994=>array(40,-73,961,832),23995=>array(37,-84,964,831),23996=>array(74,-70,958,821),23997=>array(52,-66,965,839),23998=>array(78,-32,953,837),23999=>array(74,-64,943,812),24000=>array(39,-64,964,831),24001=>array(73,-63,962,826),24002=>array(49,-64,936,838),24003=>array(54,-64,975,836),24004=>array(67,-63,962,843),24005=>array(46,-68,931,824),24006=>array(93,-67,940,836),24007=>array(95,-56,959,847),24008=>array(69,-64,919,812),24009=>array(69,-67,966,848),24010=>array(72,-62,958,831),24011=>array(43,-65,938,836),24012=>array(42,-69,968,820),24013=>array(38,-73,957,828),24014=>array(54,-61,976,820),24015=>array(93,-70,953,817),24016=>array(78,-61,975,836),24017=>array(106,-68,976,832),24018=>array(58,-64,961,841),24019=>array(55,-87,941,851),24020=>array(48,-64,962,836),24021=>array(96,-63,945,844),24022=>array(42,-67,973,836),24023=>array(58,-64,963,815),24024=>array(82,-72,956,832),24025=>array(74,-65,964,837),24026=>array(37,-68,957,833),24027=>array(43,-60,914,801),24028=>array(166,-60,793,795),24029=>array(58,-70,858,817),24030=>array(55,-64,859,823),24031=>array(55,-70,941,839),24032=>array(74,-36,945,773),24033=>array(22,-53,943,817),24034=>array(61,-59,961,849),24035=>array(61,-59,961,836),24036=>array(122,-67,935,842),24037=>array(95,54,909,696),24038=>array(55,-14,925,819),24039=>array(59,-57,933,773),24040=>array(169,-60,932,791),24041=>array(44,-64,940,790),24042=>array(88,-54,921,806),24043=>array(69,1,949,753),24044=>array(63,-47,955,814),24045=>array(64,-59,955,847),24046=>array(47,-19,936,840),24047=>array(37,-67,936,841),24048=>array(43,-71,959,845),24049=>array(114,0,897,763),24050=>array(138,-17,934,764),24051=>array(174,-24,942,768),24052=>array(140,-12,942,746),24053=>array(59,-65,938,835),24054=>array(68,-58,945,776),24055=>array(38,-43,971,819),24056=>array(100,-50,972,781),24057=>array(33,-35,989,780),24058=>array(72,-72,941,776),24059=>array(44,-43,955,830),24060=>array(136,-67,962,796),24061=>array(63,-80,937,790),24062=>array(154,-69,846,829),24063=>array(82,-63,936,833),24064=>array(72,-68,928,759),24065=>array(91,-62,873,814),24066=>array(72,-68,928,826),24067=>array(58,-67,920,835),24068=>array(110,-65,941,829),24069=>array(61,-64,886,828),24070=>array(95,-76,948,829),24071=>array(71,-66,929,826),24072=>array(105,-63,917,830),24073=>array(110,-61,972,834),24074=>array(98,-61,942,834),24075=>array(70,-50,936,854),24076=>array(64,-65,941,845),24077=>array(70,-69,889,827),24078=>array(102,-59,949,842),24079=>array(90,-69,906,824),24080=>array(91,-79,951,809),24081=>array(51,-62,948,843),24082=>array(47,-62,928,839),24083=>array(90,-63,948,843),24084=>array(90,-72,940,832),24085=>array(118,-67,886,843),24086=>array(96,-66,943,833),24087=>array(91,-74,956,833),24088=>array(104,-72,903,842),24089=>array(76,-66,955,830),24090=>array(72,-70,892,780),24091=>array(139,-65,874,851),24092=>array(90,-70,948,811),24093=>array(104,-68,896,834),24094=>array(111,-70,941,811),24095=>array(66,-68,935,832),24096=>array(165,-67,849,831),24097=>array(110,-68,952,847),24098=>array(110,-72,955,826),24099=>array(46,-69,960,832),24100=>array(47,-66,879,833),24101=>array(115,-65,910,850),24102=>array(65,-59,913,828),24103=>array(89,-67,940,825),24104=>array(76,-72,958,827),24105=>array(110,-67,920,826),24106=>array(111,-76,959,825),24107=>array(112,-74,948,844),24108=>array(57,-67,945,786),24109=>array(50,-71,944,829),24110=>array(54,-55,925,831),24111=>array(65,-59,913,828),24112=>array(88,-65,929,808),24113=>array(90,-64,922,828),24114=>array(65,-64,937,852),24115=>array(81,-68,962,829),24116=>array(97,-68,943,842),24117=>array(80,-65,948,847),24118=>array(89,-65,933,830),24119=>array(86,-62,932,833),24120=>array(94,-67,918,835),24121=>array(80,-72,925,844),24122=>array(80,-65,952,840),24123=>array(92,-64,929,826),24124=>array(90,-65,890,798),24125=>array(94,-73,916,828),24126=>array(106,-68,941,832),24127=>array(81,-68,975,834),24128=>array(79,-70,946,831),24129=>array(111,-72,961,830),24130=>array(38,-65,979,788),24131=>array(73,-70,938,838),24132=>array(89,-64,935,829),24133=>array(85,-69,924,829),24134=>array(85,-69,948,829),24135=>array(55,-64,948,835),24136=>array(79,-71,960,827),24137=>array(88,-67,958,833),24138=>array(111,-78,962,828),24139=>array(54,-69,970,848),24140=>array(84,-72,941,828),24141=>array(106,-70,927,820),24142=>array(62,-57,950,838),24143=>array(110,-69,977,838),24144=>array(41,-76,957,836),24145=>array(35,-76,964,833),24146=>array(75,-65,969,850),24147=>array(107,-68,972,841),24148=>array(57,-65,953,826),24149=>array(57,-63,954,834),24150=>array(75,-69,957,826),24151=>array(70,-61,923,838),24152=>array(109,-70,964,830),24153=>array(89,-60,948,839),24154=>array(55,-64,942,852),24155=>array(85,-65,935,842),24156=>array(104,-70,963,821),24157=>array(104,-71,965,823),24158=>array(63,-74,937,821),24159=>array(78,-71,948,837),24160=>array(92,-70,965,827),24161=>array(68,-66,934,839),24162=>array(71,-64,931,845),24163=>array(89,-72,962,839),24164=>array(89,-70,945,839),24165=>array(61,-64,958,833),24166=>array(52,-62,959,851),24167=>array(101,-70,989,823),24168=>array(88,-50,935,853),24169=>array(113,-73,970,830),24170=>array(116,-65,981,836),24171=>array(55,-64,948,835),24172=>array(66,-68,938,826),24173=>array(89,-53,955,849),24174=>array(92,-72,946,843),24175=>array(94,-55,926,854),24176=>array(81,-65,952,840),24177=>array(55,-65,922,829),24178=>array(100,-58,900,779),24179=>array(71,-70,920,787),24180=>array(86,-68,917,841),24181=>array(59,-68,954,778),24182=>array(76,-65,929,848),24183=>array(89,-70,898,839),24184=>array(94,-67,909,833),24185=>array(60,-66,970,844),24186=>array(91,-37,914,826),24187=>array(53,-48,902,807),24188=>array(53,-65,906,826),24189=>array(115,-63,885,831),24190=>array(61,-66,958,838),24191=>array(49,-61,908,823),24192=>array(53,-72,939,847),24193=>array(35,-61,930,826),24194=>array(58,-66,950,835),24195=>array(45,-65,935,822),24196=>array(28,-64,942,822),24197=>array(24,-66,918,816),24198=>array(39,-75,941,830),24199=>array(35,-51,964,839),24200=>array(51,-68,954,846),24201=>array(50,-68,951,837),24202=>array(45,-67,964,822),24203=>array(43,-66,980,848),24204=>array(58,-64,945,840),24205=>array(44,-67,936,845),24206=>array(25,-76,936,819),24207=>array(45,-71,918,831),24208=>array(32,-68,914,835),24209=>array(26,-67,924,842),24210=>array(28,-64,942,849),24211=>array(27,-60,925,841),24212=>array(46,-59,928,834),24213=>array(43,-63,952,837),24214=>array(39,-66,943,828),24215=>array(45,-64,948,839),24216=>array(25,-64,908,819),24217=>array(39,-66,913,844),24218=>array(45,-68,963,839),24219=>array(56,-53,956,834),24220=>array(41,-68,937,831),24221=>array(24,-84,936,846),24222=>array(25,-59,928,832),24223=>array(39,-68,947,833),24224=>array(42,-67,951,834),24225=>array(25,-70,938,819),24226=>array(48,-53,954,830),24227=>array(55,-67,954,824),24228=>array(48,-55,956,831),24229=>array(29,-65,966,844),24230=>array(46,-68,950,826),24231=>array(48,-66,928,822),24232=>array(44,-67,930,833),24233=>array(25,-64,959,819),24234=>array(39,-76,958,838),24235=>array(54,-76,941,829),24236=>array(44,-58,956,838),24237=>array(37,-63,968,837),24238=>array(41,-61,932,842),24239=>array(25,-71,908,819),24240=>array(51,-77,954,824),24241=>array(41,-67,959,846),24242=>array(44,-68,954,838),24243=>array(41,-51,955,865),24244=>array(49,-64,942,841),24245=>array(38,-66,965,831),24246=>array(36,-55,945,828),24247=>array(41,-67,966,823),24248=>array(50,-61,954,844),24249=>array(26,-68,968,854),24250=>array(25,-61,930,827),24251=>array(50,-63,940,839),24252=>array(46,-69,944,855),24253=>array(49,-63,945,849),24254=>array(43,-74,967,824),24255=>array(39,-66,913,844),24256=>array(31,-62,961,839),24257=>array(45,-69,948,840),24258=>array(51,-71,942,832),24259=>array(42,-67,965,833),24260=>array(37,-54,968,857),24261=>array(40,-66,954,842),24262=>array(30,-64,961,838),24263=>array(34,-69,948,839),24264=>array(43,-73,952,839),24265=>array(44,-59,970,845),24266=>array(46,-60,949,837),24267=>array(31,-54,967,856),24268=>array(39,-73,951,835),24269=>array(38,-71,947,850),24270=>array(46,-68,968,855),24271=>array(37,-54,968,843),24272=>array(40,-67,956,831),24273=>array(42,-66,951,848),24274=>array(39,-70,966,852),24275=>array(35,-65,942,837),24276=>array(32,-50,959,862),24277=>array(37,-67,985,856),24278=>array(39,-67,958,843),24279=>array(58,-71,957,834),24280=>array(41,-72,951,840),24281=>array(57,-78,965,840),24282=>array(42,-69,949,837),24283=>array(16,-63,951,837),24284=>array(46,-70,956,841),24285=>array(44,-70,947,837),24286=>array(36,-75,974,842),24287=>array(47,-64,947,833),24288=>array(46,-71,938,827),24289=>array(34,-70,964,836),24290=>array(42,-65,965,820),24291=>array(54,-68,950,837),24292=>array(49,-63,968,857),24293=>array(31,-70,971,841),24294=>array(36,-72,953,840),24295=>array(28,-72,942,843),24296=>array(24,-72,940,832),24297=>array(30,-67,964,837),24298=>array(29,-69,920,838),24299=>array(24,-84,958,842),24300=>array(22,-62,961,846),24301=>array(44,-66,932,853),24302=>array(35,-70,956,845),24303=>array(43,-67,959,840),24304=>array(40,-75,967,832),24305=>array(37,-54,949,838),24306=>array(35,-66,947,836),24307=>array(40,-75,957,832),24308=>array(33,-62,949,743),24309=>array(44,-73,953,804),24310=>array(33,-62,949,824),24311=>array(33,-62,949,825),24312=>array(33,-62,949,825),24313=>array(49,-71,973,852),24314=>array(33,-62,949,826),24315=>array(33,-62,949,790),24316=>array(33,-62,949,790),24317=>array(43,-71,972,788),24318=>array(36,-72,930,822),24319=>array(79,-56,932,818),24320=>array(36,-57,906,780),24321=>array(47,-66,954,848),24322=>array(56,-67,953,785),24323=>array(61,-62,928,830),24324=>array(48,-65,934,785),24325=>array(48,-59,961,794),24326=>array(70,-59,944,814),24327=>array(45,-64,972,863),24328=>array(52,-67,943,839),24329=>array(61,-63,936,829),24330=>array(59,-76,955,833),24331=>array(81,-63,933,824),24332=>array(74,-62,944,834),24333=>array(78,-62,948,834),24334=>array(73,-62,944,834),24335=>array(74,-62,944,834),24336=>array(74,-62,944,834),24337=>array(37,-61,949,826),24338=>array(42,-67,962,841),24339=>array(143,-60,857,788),24340=>array(110,-66,896,778),24341=>array(138,-61,844,826),24342=>array(64,-55,930,779),24343=>array(56,-66,904,838),24344=>array(80,-63,945,819),24345=>array(77,-71,956,788),24346=>array(61,-68,954,794),24347=>array(80,-63,957,824),24348=>array(92,-66,893,788),24349=>array(65,-57,953,791),24350=>array(77,-66,977,839),24351=>array(69,-64,902,843),24352=>array(62,-66,943,803),24353=>array(80,-63,951,790),24354=>array(76,-65,981,831),24355=>array(63,-55,949,847),24356=>array(63,-68,954,838),24357=>array(70,-63,955,836),24358=>array(80,-65,961,819),24359=>array(68,-63,958,838),24360=>array(72,-68,909,786),24361=>array(63,-63,952,836),24362=>array(67,-60,920,764),24363=>array(62,-63,953,776),24364=>array(62,-63,953,776),24365=>array(76,-65,941,790),24366=>array(47,-64,956,832),24367=>array(55,-75,946,830),24368=>array(83,-65,912,824),24369=>array(56,-65,917,787),24370=>array(80,-63,911,782),24371=>array(62,-56,936,774),24372=>array(80,-63,944,828),24373=>array(68,-64,962,799),24374=>array(77,-59,971,850),24375=>array(70,-63,955,833),24376=>array(63,-66,901,787),24377=>array(56,-59,918,836),24378=>array(63,-74,940,766),24379=>array(89,-62,927,790),24380=>array(63,-63,939,787),24381=>array(89,-62,968,832),24382=>array(68,-63,952,835),24383=>array(54,-48,976,874),24384=>array(57,-68,975,838),24385=>array(70,-65,944,797),24386=>array(80,-58,890,829),24387=>array(75,-67,961,785),24388=>array(69,-63,951,788),24389=>array(62,-67,964,847),24390=>array(91,-48,944,855),24391=>array(68,-76,926,837),24392=>array(70,-69,948,798),24393=>array(68,-67,962,831),24394=>array(66,-63,946,806),24395=>array(73,-82,969,780),24396=>array(49,-65,951,790),24397=>array(81,-74,959,846),24398=>array(52,-67,955,849),24399=>array(68,-70,967,786),24400=>array(167,-4,786,670),24401=>array(62,-37,941,804),24402=>array(27,-62,861,832),24403=>array(123,-60,878,830),24404=>array(67,-57,941,848),24405=>array(71,-61,965,789),24406=>array(59,-58,964,834),24407=>array(50,-75,951,834),24408=>array(53,-68,958,841),24409=>array(30,-72,965,841),24410=>array(30,-52,965,810),24411=>array(40,-61,956,825),24412=>array(40,-61,962,848),24413=>array(54,-71,956,851),24414=>array(40,-61,956,818),24415=>array(52,-57,978,840),24416=>array(68,-60,978,841),24417=>array(294,-59,800,804),24418=>array(59,-67,955,828),24419=>array(37,-66,949,821),24420=>array(53,-68,951,838),24421=>array(44,-67,926,852),24422=>array(33,-67,921,831),24423=>array(57,-61,956,832),24424=>array(52,-40,964,781),24425=>array(43,-62,958,828),24426=>array(20,-69,956,832),24427=>array(41,-65,963,844),24428=>array(47,-64,952,830),24429=>array(62,-65,957,828),24430=>array(51,-62,949,850),24431=>array(55,-74,961,823),24432=>array(47,-74,955,832),24433=>array(47,-68,961,829),24434=>array(36,-68,961,829),24435=>array(178,-67,756,826),24436=>array(58,-69,920,830),24437=>array(58,-66,945,830),24438=>array(49,-65,968,842),24439=>array(41,-73,942,840),24440=>array(52,-64,959,840),24441=>array(38,-70,963,833),24442=>array(58,-66,936,830),24443=>array(40,-66,911,820),24444=>array(51,-73,961,838),24445=>array(46,-70,962,836),24446=>array(41,-68,957,837),24447=>array(34,-66,915,838),24448=>array(47,-61,937,836),24449=>array(33,-70,954,836),24450=>array(44,-65,952,841),24451=>array(56,-65,952,841),24452=>array(45,-66,968,832),24453=>array(37,-67,947,841),24454=>array(57,-70,942,834),24455=>array(54,-64,923,842),24456=>array(37,-70,950,834),24457=>array(39,-68,948,843),24458=>array(61,-65,914,833),24459=>array(36,-67,954,830),24460=>array(42,-67,953,841),24461=>array(44,-65,931,842),24462=>array(44,-65,938,841),24463=>array(44,-65,945,841),24464=>array(35,-70,963,836),24465=>array(50,-74,956,838),24466=>array(48,-73,961,838),24467=>array(48,-73,961,838),24468=>array(56,-68,955,835),24469=>array(39,-63,941,834),24470=>array(49,-70,957,838),24471=>array(50,-70,947,833),24472=>array(36,-68,955,836),24473=>array(40,-64,970,833),24474=>array(59,-68,964,835),24475=>array(53,-68,956,834),24476=>array(44,-68,933,835),24477=>array(56,-68,930,835),24478=>array(49,-71,966,838),24479=>array(55,-73,900,835),24480=>array(39,-65,972,837),24481=>array(37,-62,917,835),24482=>array(44,-75,963,835),24483=>array(44,-68,953,835),24484=>array(44,-71,964,835),24485=>array(42,-68,963,827),24486=>array(40,-73,967,821),24487=>array(35,-65,910,833),24488=>array(46,-67,953,848),24489=>array(44,-67,970,843),24490=>array(40,-67,941,840),24491=>array(49,-62,954,837),24492=>array(46,-65,953,850),24493=>array(45,-67,956,852),24494=>array(35,-76,964,833),24495=>array(46,-64,973,837),24496=>array(44,-68,945,835),24497=>array(47,-68,954,835),24498=>array(41,-72,962,820),24499=>array(35,-70,958,838),24500=>array(31,-71,973,834),24501=>array(31,-71,973,834),24502=>array(48,-70,973,832),24503=>array(35,-70,960,838),24504=>array(26,-68,957,850),24505=>array(47,-70,951,830),24506=>array(56,-74,947,837),24507=>array(53,-68,972,845),24508=>array(31,-70,966,848),24509=>array(31,-67,961,836),24510=>array(39,-72,974,830),24511=>array(18,-62,965,842),24512=>array(28,-70,976,844),24513=>array(40,-70,967,834),24514=>array(43,-66,957,840),24515=>array(41,-17,958,801),24516=>array(300,-62,695,829),24517=>array(52,-8,960,796),24518=>array(41,-73,935,819),24519=>array(63,-66,874,833),24520=>array(46,-20,954,772),24521=>array(63,-69,903,830),24522=>array(51,-63,933,830),24523=>array(63,-63,957,830),24524=>array(47,-29,946,785),24525=>array(39,-31,961,773),24526=>array(46,-20,954,831),24527=>array(55,-59,950,839),24528=>array(45,-23,963,832),24529=>array(50,-21,968,774),24530=>array(43,-60,962,830),24531=>array(46,-67,963,832),24532=>array(42,-64,948,834),24533=>array(52,-73,958,825),24534=>array(46,-67,954,832),24535=>array(46,-20,954,826),24536=>array(49,-19,951,832),24537=>array(49,-64,935,830),24538=>array(37,-64,945,830),24539=>array(69,-76,948,820),24540=>array(46,-59,961,837),24541=>array(42,-64,956,841),24542=>array(59,-42,945,829),24543=>array(50,-60,977,851),24544=>array(56,-14,976,841),24545=>array(56,-67,912,830),24546=>array(45,-22,967,783),24547=>array(40,-67,971,833),24548=>array(43,-65,956,834),24549=>array(41,-65,962,849),24550=>array(48,-75,982,850),24551=>array(48,-74,928,821),24552=>array(36,-68,949,833),24553=>array(60,-25,978,806),24554=>array(53,-67,962,829),24555=>array(50,-73,964,837),24556=>array(30,-57,941,852),24557=>array(51,-68,964,849),24558=>array(46,-69,979,829),24559=>array(46,-65,958,839),24560=>array(37,-63,954,844),24561=>array(36,-65,956,838),24562=>array(23,-66,944,854),24563=>array(35,-64,953,835),24564=>array(48,-65,975,840),24565=>array(30,-58,963,846),24566=>array(46,-69,958,832),24567=>array(44,-71,907,835),24568=>array(30,-67,953,830),24569=>array(46,-67,948,832),24570=>array(47,-75,963,836),24571=>array(43,-68,945,829),24572=>array(46,-67,957,843),24573=>array(63,-32,953,845),24574=>array(38,-60,954,829),24575=>array(41,-21,951,810),24576=>array(55,-67,959,830),24577=>array(36,-44,937,807),24578=>array(41,-20,943,831),24579=>array(35,-72,929,824),24580=>array(46,-63,924,828),24581=>array(40,-71,942,821),24582=>array(44,-67,936,827),24583=>array(56,-67,946,824),24584=>array(43,-67,954,830),24585=>array(41,-60,947,839),24586=>array(52,-67,900,836),24587=>array(47,-70,954,830),24588=>array(45,-70,951,824),24589=>array(61,-71,971,833),24590=>array(59,-29,954,846),24591=>array(35,-69,968,832),24592=>array(52,-66,908,839),24593=>array(44,-70,937,835),24594=>array(49,-25,959,830),24595=>array(45,-71,959,826),24596=>array(44,-57,953,843),24597=>array(61,-64,922,855),24598=>array(22,-58,929,850),24599=>array(47,-69,957,825),24600=>array(29,-25,970,854),24601=>array(47,-67,950,832),24602=>array(37,-51,951,840),24603=>array(47,-68,953,829),24604=>array(39,-68,962,840),24605=>array(54,-23,935,780),24606=>array(47,-71,899,836),24607=>array(47,-67,953,836),24608=>array(50,-22,968,848),24609=>array(48,-66,947,832),24610=>array(50,-68,967,829),24611=>array(63,-24,965,805),24612=>array(63,-26,965,826),24613=>array(43,-24,947,842),24614=>array(41,-69,956,830),24615=>array(54,-68,951,827),24616=>array(53,-19,964,849),24617=>array(32,-68,955,830),24618=>array(45,-58,976,843),24619=>array(44,-68,933,832),24620=>array(59,-58,903,829),24621=>array(38,-66,957,830),24622=>array(50,-73,915,831),24623=>array(38,-65,951,835),24624=>array(45,-65,961,844),24625=>array(40,-57,969,822),24626=>array(38,-66,948,833),24627=>array(43,-54,969,845),24628=>array(38,-74,942,832),24629=>array(49,-67,959,830),24630=>array(32,-71,978,832),24631=>array(64,-32,957,823),24632=>array(64,-31,957,823),24633=>array(39,-28,954,841),24634=>array(35,-63,964,844),24635=>array(63,-22,938,829),24636=>array(45,-26,934,823),24637=>array(44,-61,971,843),24638=>array(23,-57,933,843),24639=>array(33,-63,946,825),24640=>array(45,-63,941,852),24641=>array(37,-25,945,843),24642=>array(57,-69,914,837),24643=>array(37,-68,947,832),24644=>array(57,-70,922,826),24645=>array(55,-68,941,826),24646=>array(49,-70,955,821),24647=>array(29,-57,963,835),24648=>array(23,-62,929,849),24649=>array(51,-48,938,847),24650=>array(27,-65,924,834),24651=>array(54,-32,945,831),24652=>array(58,-71,954,832),24653=>array(49,-69,963,836),24654=>array(23,-57,950,843),24655=>array(48,-27,949,843),24656=>array(49,-27,947,777),24657=>array(23,-71,956,845),24658=>array(35,-59,955,849),24659=>array(34,-62,938,834),24660=>array(42,-53,957,859),24661=>array(57,-17,967,844),24662=>array(42,-41,960,846),24663=>array(23,-58,966,843),24664=>array(69,-69,967,833),24665=>array(49,-49,954,849),24666=>array(44,-52,954,836),24667=>array(54,-68,893,829),24668=>array(23,-59,964,843),24669=>array(47,-48,950,805),24670=>array(60,-74,948,828),24671=>array(43,-55,924,848),24672=>array(45,-84,963,834),24673=>array(52,-70,937,821),24674=>array(36,-62,959,832),24675=>array(41,-22,946,842),24676=>array(31,-65,964,836),24677=>array(38,-65,970,814),24678=>array(59,-71,894,826),24679=>array(45,-45,982,759),24680=>array(45,-70,957,825),24681=>array(46,-40,965,796),24682=>array(38,-66,966,839),24683=>array(52,-57,923,841),24684=>array(28,-67,944,830),24685=>array(43,-62,968,836),24686=>array(56,-66,958,828),24687=>array(43,-25,949,843),24688=>array(54,-65,982,847),24689=>array(41,-65,961,837),24690=>array(60,-70,956,829),24691=>array(37,-42,924,768),24692=>array(53,-28,946,863),24693=>array(47,-28,942,846),24694=>array(46,-16,935,783),24695=>array(51,-35,942,805),24696=>array(35,-68,892,825),24697=>array(23,-75,941,823),24698=>array(50,-62,928,826),24699=>array(39,-63,878,827),24700=>array(39,-64,937,832),24701=>array(38,-66,915,823),24702=>array(38,-55,933,832),24703=>array(59,-22,976,798),24704=>array(53,-67,900,829),24705=>array(55,-64,900,830),24706=>array(26,-67,927,828),24707=>array(37,-67,907,827),24708=>array(55,-61,934,846),24709=>array(45,-66,968,842),24710=>array(44,-35,967,838),24711=>array(42,-62,968,834),24712=>array(45,-66,949,835),24713=>array(33,-31,959,832),24714=>array(51,-38,958,822),24715=>array(46,-72,954,825),24716=>array(42,-66,937,848),24717=>array(49,-63,955,844),24718=>array(57,-62,939,834),24719=>array(57,-73,964,835),24720=>array(56,-39,962,829),24721=>array(45,-68,941,833),24722=>array(46,-67,958,830),24723=>array(44,-61,944,833),24724=>array(31,-62,955,848),24725=>array(46,-67,951,847),24726=>array(31,-66,949,834),24727=>array(43,-63,960,852),24728=>array(42,-41,960,802),24729=>array(43,-67,951,852),24730=>array(43,-66,971,835),24731=>array(11,-69,953,849),24732=>array(48,-64,960,830),24733=>array(47,-68,961,826),24734=>array(41,-55,968,837),24735=>array(43,-67,945,821),24736=>array(29,-35,957,839),24737=>array(39,-43,953,830),24738=>array(40,-68,960,833),24739=>array(52,-58,958,832),24740=>array(39,-58,958,866),24741=>array(52,-58,958,869),24742=>array(22,-66,960,844),24743=>array(22,-66,918,842),24744=>array(49,-23,963,842),24745=>array(40,-64,900,831),24746=>array(62,-25,962,783),24747=>array(52,-32,939,824),24748=>array(37,-16,933,791),24749=>array(32,-62,945,827),24750=>array(45,-74,947,815),24751=>array(29,-61,885,832),24752=>array(52,-67,972,832),24753=>array(39,-72,948,833),24754=>array(43,-38,953,831),24755=>array(40,-47,945,839),24756=>array(37,-62,952,844),24757=>array(48,-67,976,830),24758=>array(127,-62,886,792),24759=>array(50,-67,960,838),24760=>array(30,-67,974,840),24761=>array(62,-36,957,834),24762=>array(62,-67,924,839),24763=>array(46,-65,960,837),24764=>array(21,-62,944,846),24765=>array(36,-78,948,826),24766=>array(34,-57,953,851),24767=>array(46,-63,979,832),24768=>array(45,-64,974,837),24769=>array(37,-28,970,830),24770=>array(52,-67,912,849),24771=>array(51,-74,949,824),24772=>array(38,-28,955,831),24773=>array(19,-66,939,837),24774=>array(31,-68,891,826),24775=>array(43,-67,971,833),24776=>array(52,-70,968,826),24777=>array(48,-26,965,829),24778=>array(27,-60,974,842),24779=>array(29,-61,959,855),24780=>array(52,-31,955,838),24781=>array(43,-74,965,830),24782=>array(41,-27,964,842),24783=>array(34,-64,988,833),24784=>array(32,-66,918,837),24785=>array(50,-20,958,844),24786=>array(42,-41,960,842),24787=>array(31,-72,989,834),24788=>array(52,-68,964,841),24789=>array(49,-58,914,846),24790=>array(26,-38,971,823),24791=>array(50,-51,972,853),24792=>array(43,-67,911,828),24793=>array(38,-52,962,838),24794=>array(41,-65,965,844),24795=>array(40,-53,956,850),24796=>array(47,-73,956,837),24797=>array(45,-71,914,824),24798=>array(47,-72,961,833),24799=>array(23,-61,946,849),24800=>array(56,-28,953,846),24801=>array(62,-25,962,783),24802=>array(39,-31,977,831),24803=>array(53,-43,940,844),24804=>array(44,-69,957,835),24805=>array(35,-32,983,834),24806=>array(47,-62,958,851),24807=>array(46,-68,964,831),24808=>array(35,-75,982,835),24809=>array(23,-32,932,832),24810=>array(37,-23,955,839),24811=>array(37,-47,962,834),24812=>array(40,-65,929,821),24813=>array(20,-53,910,835),24814=>array(31,-60,954,840),24815=>array(23,-64,925,832),24816=>array(44,-66,953,841),24817=>array(43,-65,929,847),24818=>array(46,-68,962,828),24819=>array(43,-47,956,825),24820=>array(45,-67,956,832),24821=>array(43,-71,952,830),24822=>array(49,-57,956,856),24823=>array(41,-51,968,836),24824=>array(49,-70,959,840),24825=>array(46,-37,962,828),24826=>array(39,-58,958,847),24827=>array(60,-64,921,831),24828=>array(53,-70,925,830),24829=>array(40,-54,963,836),24830=>array(47,-68,969,830),24831=>array(59,-69,981,824),24832=>array(29,-71,977,830),24833=>array(28,-51,960,829),24834=>array(28,-51,955,832),24835=>array(52,-61,956,833),24836=>array(51,-88,969,823),24837=>array(58,-70,953,827),24838=>array(44,-29,957,840),24839=>array(47,-70,944,837),24840=>array(29,-62,965,854),24841=>array(30,-73,981,846),24842=>array(30,-57,935,841),24843=>array(49,-73,972,836),24844=>array(47,-68,972,841),24845=>array(65,-49,963,818),24846=>array(34,-69,980,841),24847=>array(43,-48,959,840),24848=>array(40,-72,947,819),24849=>array(55,-58,914,836),24850=>array(46,-53,916,837),24851=>array(30,-56,952,837),24852=>array(55,-73,954,828),24853=>array(40,-67,963,829),24854=>array(38,-58,952,837),24855=>array(30,-45,954,830),24856=>array(47,-70,974,833),24857=>array(28,-54,990,868),24858=>array(38,-45,954,793),24859=>array(72,-65,948,834),24860=>array(38,-68,958,829),24861=>array(49,-62,945,830),24862=>array(51,-72,957,827),24863=>array(47,-29,951,829),24864=>array(31,-74,948,823),24865=>array(19,-74,961,850),24866=>array(37,-74,961,823),24867=>array(48,-68,950,829),24868=>array(27,-64,930,829),24869=>array(48,-68,988,836),24870=>array(53,-70,937,821),24871=>array(28,-61,952,845),24872=>array(52,-49,960,838),24873=>array(55,-77,958,833),24874=>array(48,-68,941,829),24875=>array(38,-67,980,833),24876=>array(43,-60,961,830),24877=>array(57,-74,936,832),24878=>array(60,-71,955,834),24879=>array(56,-72,968,833),24880=>array(57,-74,941,829),24881=>array(45,-74,963,846),24882=>array(58,-67,914,833),24883=>array(28,-23,955,789),24884=>array(30,-67,982,852),24885=>array(52,-70,917,821),24886=>array(60,-58,932,849),24887=>array(37,-68,951,835),24888=>array(44,-33,957,835),24889=>array(52,-76,962,841),24890=>array(49,-68,950,834),24891=>array(62,-40,970,831),24892=>array(49,-66,927,834),24893=>array(40,-66,951,834),24894=>array(32,-63,974,851),24895=>array(43,-52,963,812),24896=>array(47,-71,974,831),24897=>array(62,-38,967,780),24898=>array(42,-50,957,816),24899=>array(44,-72,955,851),24900=>array(38,-59,976,835),24901=>array(55,-75,971,829),24902=>array(50,-54,926,853),24903=>array(40,-42,974,845),24904=>array(38,-48,951,837),24905=>array(50,-72,951,841),24906=>array(35,-72,975,849),24907=>array(50,-48,954,848),24908=>array(41,-68,962,836),24909=>array(48,-72,965,826),24910=>array(41,-69,951,843),24911=>array(60,-78,952,835),24912=>array(47,-51,963,831),24913=>array(48,-65,952,830),24914=>array(46,-72,953,824),24915=>array(39,-68,984,829),24916=>array(48,-71,973,832),24917=>array(51,-63,964,833),24918=>array(53,-74,919,822),24919=>array(15,-43,954,829),24920=>array(29,-76,967,847),24921=>array(38,-58,953,837),24922=>array(37,-63,965,846),24923=>array(38,-68,952,829),24924=>array(47,-44,964,853),24925=>array(41,-58,963,824),24926=>array(20,-58,953,854),24927=>array(52,-74,934,830),24928=>array(36,-76,960,838),24929=>array(40,-73,960,829),24930=>array(38,-69,970,825),24931=>array(40,-68,967,843),24932=>array(52,-49,968,818),24933=>array(39,-66,945,838),24934=>array(39,-36,981,828),24935=>array(49,-52,951,835),24936=>array(28,-70,963,842),24937=>array(40,-67,971,834),24938=>array(40,-68,959,828),24939=>array(42,-50,958,845),24940=>array(47,-64,953,829),24941=>array(44,-33,970,835),24942=>array(45,-77,957,841),24943=>array(40,-68,963,845),24944=>array(55,-21,959,838),24945=>array(39,-65,952,828),24946=>array(48,-65,956,827),24947=>array(37,-68,954,829),24948=>array(54,-66,915,826),24949=>array(37,-65,959,842),24950=>array(50,-67,951,838),24951=>array(39,-57,955,846),24952=>array(57,-31,959,849),24953=>array(57,-31,959,834),24954=>array(32,-75,952,830),24955=>array(41,-76,981,845),24956=>array(36,-29,965,844),24957=>array(35,-63,963,842),24958=>array(38,-25,973,841),24959=>array(70,-32,957,800),24960=>array(51,-70,979,824),24961=>array(45,-65,964,834),24962=>array(55,-60,966,816),24963=>array(38,-39,982,847),24964=>array(37,-45,958,837),24965=>array(58,-51,979,859),24966=>array(33,-69,945,835),24967=>array(47,-29,961,817),24968=>array(45,-72,962,829),24969=>array(42,-73,971,828),24970=>array(42,-70,957,834),24971=>array(48,-28,965,843),24972=>array(39,-36,963,833),24973=>array(28,-60,975,848),24974=>array(38,-73,905,835),24975=>array(46,-61,972,854),24976=>array(36,-76,962,832),24977=>array(42,-58,960,800),24978=>array(36,-70,966,833),24979=>array(43,-61,971,835),24980=>array(25,-67,963,846),24981=>array(43,-61,963,837),24982=>array(25,-60,970,835),24983=>array(29,-60,952,841),24984=>array(52,-70,956,837),24985=>array(37,-47,961,844),24986=>array(42,-63,965,832),24987=>array(42,-72,961,824),24988=>array(45,-62,965,833),24989=>array(53,-52,976,834),24990=>array(23,-75,954,837),24991=>array(32,-68,967,823),24992=>array(31,-47,961,818),24993=>array(48,-70,979,836),24994=>array(17,-87,964,830),24995=>array(29,-70,962,829),24996=>array(36,-72,956,836),24997=>array(40,-47,961,832),24998=>array(52,-70,946,833),24999=>array(38,-68,950,831),25000=>array(50,-33,959,837),25001=>array(43,-29,958,845),25002=>array(36,-68,908,825),25003=>array(51,-55,902,846),25004=>array(46,-68,963,828),25005=>array(34,-58,971,845),25006=>array(38,-71,974,832),25007=>array(45,-59,961,832),25008=>array(44,-62,944,826),25009=>array(47,-71,972,838),25010=>array(42,-38,976,839),25011=>array(36,-70,954,825),25012=>array(35,-65,973,828),25013=>array(49,-39,948,821),25014=>array(32,-68,965,840),25015=>array(38,-66,960,824),25016=>array(32,-66,976,857),25017=>array(41,-65,984,838),25018=>array(43,-67,957,842),25019=>array(43,-67,957,847),25020=>array(45,-32,957,835),25021=>array(48,-56,968,847),25022=>array(38,-71,970,832),25023=>array(33,-78,968,841),25024=>array(37,-72,973,864),25025=>array(37,-79,974,819),25026=>array(46,-58,967,845),25027=>array(38,-66,959,832),25028=>array(29,-69,952,841),25029=>array(31,-85,978,829),25030=>array(42,-62,976,830),25031=>array(48,-26,955,844),25032=>array(29,-63,950,845),25033=>array(39,-68,953,843),25034=>array(18,-68,949,860),25035=>array(42,-58,959,832),25036=>array(44,-63,964,831),25037=>array(38,-68,971,844),25038=>array(53,-68,950,833),25039=>array(49,-70,932,848),25040=>array(40,-71,965,839),25041=>array(53,-26,941,821),25042=>array(30,-63,943,838),25043=>array(48,-69,975,843),25044=>array(33,-70,947,847),25045=>array(36,-59,959,821),25046=>array(51,-41,944,827),25047=>array(25,-69,956,833),25048=>array(53,-52,953,811),25049=>array(60,-71,942,821),25050=>array(33,-71,953,830),25051=>array(37,-71,953,826),25052=>array(37,-71,963,825),25053=>array(49,-71,974,830),25054=>array(41,-59,971,836),25055=>array(46,-44,966,823),25056=>array(38,-70,964,836),25057=>array(38,-69,962,846),25058=>array(43,-73,964,821),25059=>array(46,-62,966,834),25060=>array(38,-69,957,830),25061=>array(44,-70,976,829),25062=>array(48,-59,964,843),25063=>array(44,-68,962,839),25064=>array(36,-71,975,838),25065=>array(34,-56,967,858),25066=>array(41,-70,980,825),25067=>array(47,-73,957,844),25068=>array(29,-55,952,847),25069=>array(51,-85,939,836),25070=>array(47,-73,955,828),25071=>array(48,-41,980,826),25072=>array(47,-65,905,848),25073=>array(47,-71,960,824),25074=>array(32,-42,963,846),25075=>array(26,-56,988,836),25076=>array(27,-68,962,845),25077=>array(41,-68,954,835),25078=>array(32,-72,970,845),25079=>array(43,-69,962,841),25080=>array(46,-32,965,836),25081=>array(29,-67,984,840),25082=>array(27,-67,963,846),25083=>array(30,-80,966,830),25084=>array(29,-65,957,826),25085=>array(42,-68,953,826),25086=>array(43,-66,963,830),25087=>array(43,-55,963,834),25088=>array(42,-54,961,841),25089=>array(39,-44,967,836),25090=>array(40,-72,960,854),25091=>array(42,-78,962,829),25092=>array(34,-57,971,836),25093=>array(39,-36,957,842),25094=>array(59,-29,941,826),25095=>array(39,-36,957,846),25096=>array(90,-52,956,829),25097=>array(73,-64,966,832),25098=>array(65,-64,951,840),25099=>array(74,-70,930,820),25100=>array(51,-57,951,836),25101=>array(64,-67,953,837),25102=>array(50,-66,952,830),25103=>array(42,-68,934,825),25104=>array(50,-72,946,831),25105=>array(61,-60,933,832),25106=>array(61,-64,955,838),25107=>array(70,-66,956,838),25108=>array(85,-58,935,840),25109=>array(44,-68,961,829),25110=>array(70,-58,956,838),25111=>array(32,-74,938,826),25112=>array(100,-69,937,829),25113=>array(102,-67,957,823),25114=>array(65,-60,962,836),25115=>array(81,-57,949,788),25116=>array(67,-67,953,838),25117=>array(63,-74,946,834),25118=>array(77,-49,935,796),25119=>array(51,-65,946,834),25120=>array(68,-69,968,839),25121=>array(33,-72,939,836),25122=>array(43,-64,954,830),25123=>array(45,-71,964,832),25124=>array(33,-65,958,828),25125=>array(52,-59,956,832),25126=>array(35,-73,947,833),25127=>array(43,-64,970,848),25128=>array(65,-65,956,829),25129=>array(52,-65,956,829),25130=>array(54,-61,959,837),25131=>array(36,-63,964,829),25132=>array(52,-61,947,815),25133=>array(42,-70,958,844),25134=>array(39,-77,962,835),25135=>array(52,-68,956,837),25136=>array(56,-73,947,832),25137=>array(41,-65,949,834),25138=>array(52,-68,958,835),25139=>array(24,-62,946,836),25140=>array(43,-63,938,834),25141=>array(50,-65,958,827),25142=>array(69,-64,882,838),25143=>array(53,-66,849,842),25144=>array(57,-64,918,764),25145=>array(45,-71,939,836),25146=>array(51,-59,963,831),25147=>array(39,-68,947,799),25148=>array(89,-72,914,783),25149=>array(57,-67,954,841),25150=>array(44,-71,941,837),25151=>array(40,-66,938,804),25152=>array(42,-70,959,841),25153=>array(43,-70,908,796),25154=>array(61,-65,906,826),25155=>array(45,-64,898,853),25156=>array(38,-68,899,843),25157=>array(38,-68,901,847),25158=>array(38,-68,983,850),25159=>array(35,-67,896,811),25160=>array(28,-68,961,802),25161=>array(28,-77,947,810),25162=>array(52,-72,962,836),25163=>array(85,-68,913,833),25164=>array(266,-62,684,829),25165=>array(64,-62,916,835),25166=>array(53,-61,943,828),25167=>array(56,-61,960,828),25168=>array(66,-71,909,829),25169=>array(53,-48,964,849),25170=>array(45,-65,955,830),25171=>array(54,-62,934,830),25172=>array(66,-67,919,829),25173=>array(43,-61,953,828),25174=>array(80,-61,957,828),25175=>array(53,-61,945,829),25176=>array(55,-69,930,826),25177=>array(61,-69,968,830),25178=>array(58,-67,918,831),25179=>array(44,-64,934,829),25180=>array(59,-65,958,830),25181=>array(39,-61,944,828),25182=>array(48,-53,951,841),25183=>array(39,-65,958,828),25184=>array(38,-56,959,837),25185=>array(48,-57,958,836),25186=>array(47,-63,950,836),25187=>array(71,-68,893,830),25188=>array(53,-68,947,832),25189=>array(53,-66,960,827),25190=>array(46,-64,947,832),25191=>array(25,-67,945,825),25192=>array(42,-61,964,826),25193=>array(42,-63,922,826),25194=>array(29,-65,882,826),25195=>array(44,-62,885,830),25196=>array(55,-65,889,831),25197=>array(39,-53,947,841),25198=>array(49,-64,963,820),25199=>array(52,-57,945,830),25200=>array(50,-66,958,832),25201=>array(41,-51,962,840),25202=>array(59,-68,973,839),25203=>array(45,-78,963,826),25204=>array(68,-66,964,832),25205=>array(42,-55,975,845),25206=>array(50,-72,962,833),25207=>array(50,-67,968,832),25208=>array(78,-58,907,839),25209=>array(45,-72,961,823),25210=>array(42,-55,963,853),25211=>array(48,-69,963,840),25212=>array(50,-69,950,829),25213=>array(50,-67,960,828),25214=>array(63,-68,950,825),25215=>array(33,-67,965,785),25216=>array(37,-74,952,824),25217=>array(50,-64,949,844),25218=>array(63,-55,948,839),25219=>array(62,-59,958,831),25220=>array(39,-63,960,829),25221=>array(31,-55,921,840),25222=>array(37,-57,974,851),25223=>array(57,-63,897,832),25224=>array(56,-66,903,829),25225=>array(53,-64,961,837),25226=>array(40,-62,941,833),25227=>array(42,-55,967,839),25228=>array(61,-58,962,838),25229=>array(42,-65,969,839),25230=>array(51,-71,954,826),25231=>array(56,-70,957,826),25232=>array(58,-66,895,835),25233=>array(47,-69,905,834),25234=>array(57,-58,941,833),25235=>array(40,-69,959,829),25236=>array(57,-52,969,839),25237=>array(56,-66,963,821),25238=>array(52,-64,947,828),25239=>array(46,-63,959,829),25240=>array(61,-68,938,834),25241=>array(48,-67,939,839),25242=>array(31,-60,935,829),25243=>array(28,-78,930,821),25244=>array(51,-77,950,835),25245=>array(55,-55,907,853),25246=>array(42,-56,958,839),25247=>array(37,-66,914,823),25248=>array(36,-54,912,832),25249=>array(36,-56,948,832),25250=>array(38,-71,950,828),25251=>array(46,-63,920,830),25252=>array(27,-66,872,828),25253=>array(49,-69,946,820),25254=>array(54,-52,950,838),25255=>array(93,-57,957,833),25256=>array(41,-65,943,827),25257=>array(50,-66,953,828),25258=>array(39,-65,941,838),25259=>array(45,-71,978,832),25260=>array(44,-70,953,839),25261=>array(44,-60,954,830),25262=>array(51,-62,952,845),25263=>array(45,-62,951,827),25264=>array(44,-69,956,833),25265=>array(50,-61,955,840),25266=>array(56,-70,953,821),25267=>array(50,-74,955,828),25268=>array(49,-67,951,828),25269=>array(43,-64,957,831),25270=>array(50,-70,965,827),25271=>array(45,-56,951,823),25272=>array(58,-67,969,831),25273=>array(61,-67,962,835),25274=>array(61,-65,942,832),25275=>array(43,-68,905,836),25276=>array(73,-66,908,828),25277=>array(62,-67,899,836),25278=>array(52,-60,960,839),25279=>array(48,-64,956,828),25280=>array(61,-64,972,832),25281=>array(61,-64,928,832),25282=>array(53,-69,931,816),25283=>array(57,-62,944,841),25284=>array(48,-68,951,836),25285=>array(44,-60,953,836),25286=>array(53,-62,935,838),25287=>array(37,-68,953,825),25288=>array(50,-67,947,829),25289=>array(49,-64,947,829),25290=>array(52,-62,959,841),25291=>array(44,-73,948,825),25292=>array(48,-64,942,828),25293=>array(73,-64,904,851),25294=>array(42,-68,970,851),25295=>array(60,-58,974,851),25296=>array(49,-64,910,826),25297=>array(63,-67,959,826),25298=>array(39,-68,944,832),25299=>array(53,-63,936,826),25300=>array(40,-77,954,835),25301=>array(74,-64,944,831),25302=>array(43,-62,954,839),25303=>array(61,-73,920,832),25304=>array(65,-61,909,849),25305=>array(60,-63,912,832),25306=>array(52,-75,950,845),25307=>array(69,-67,913,820),25308=>array(47,-79,956,829),25309=>array(44,-66,946,835),25310=>array(70,-64,943,832),25311=>array(41,-61,937,830),25312=>array(55,-61,956,832),25313=>array(36,-66,949,832),25314=>array(31,-52,961,837),25315=>array(29,-61,932,835),25316=>array(57,-68,938,832),25317=>array(40,-72,893,824),25318=>array(38,-55,923,830),25319=>array(40,-61,918,836),25320=>array(38,-74,925,820),25321=>array(30,-64,942,826),25322=>array(61,-63,935,832),25323=>array(54,-66,967,829),25324=>array(39,-70,952,835),25325=>array(43,-70,964,827),25326=>array(45,-67,957,828),25327=>array(37,-71,964,823),25328=>array(58,-72,951,823),25329=>array(35,-69,953,826),25330=>array(36,-65,977,828),25331=>array(38,-67,965,838),25332=>array(33,-64,960,829),25333=>array(60,-68,959,830),25334=>array(46,-64,945,839),25335=>array(41,-65,952,833),25336=>array(60,-75,940,833),25337=>array(54,-71,928,826),25338=>array(55,-65,953,832),25339=>array(56,-80,958,822),25340=>array(48,-70,949,839),25341=>array(44,-64,961,836),25342=>array(45,-63,961,848),25343=>array(38,-70,969,862),25344=>array(62,-81,950,819),25345=>array(39,-64,944,834),25346=>array(36,-49,951,844),25347=>array(56,-52,951,830),25348=>array(60,-66,942,844),25349=>array(60,-62,952,832),25350=>array(78,-62,976,844),25351=>array(52,-68,937,829),25352=>array(54,-62,951,835),25353=>array(57,-67,948,832),25354=>array(41,-66,946,844),25355=>array(57,-50,953,827),25356=>array(49,-65,987,846),25357=>array(46,-51,974,859),25358=>array(48,-65,963,839),25359=>array(60,-74,911,815),25360=>array(63,-51,959,855),25361=>array(47,-75,950,825),25362=>array(60,-78,927,823),25363=>array(44,-64,959,834),25364=>array(52,-64,964,829),25365=>array(66,-70,957,817),25366=>array(38,-65,943,846),25367=>array(60,-62,963,844),25368=>array(49,-67,950,835),25369=>array(19,-68,951,835),25370=>array(54,-68,942,824),25371=>array(42,-60,920,845),25372=>array(60,-50,954,844),25373=>array(25,-62,945,831),25374=>array(34,-60,942,830),25375=>array(26,-64,948,832),25376=>array(42,-64,930,825),25377=>array(35,-62,883,826),25378=>array(36,-64,948,826),25379=>array(36,-66,923,832),25380=>array(37,-61,938,834),25381=>array(33,-59,911,832),25382=>array(61,-61,936,832),25383=>array(60,-53,909,844),25384=>array(42,-69,965,834),25385=>array(46,-66,956,829),25386=>array(47,-73,950,822),25387=>array(51,-71,948,829),25388=>array(56,-59,953,835),25389=>array(53,-60,969,836),25390=>array(60,-67,926,844),25391=>array(45,-74,963,821),25392=>array(60,-49,950,838),25393=>array(60,-60,969,832),25394=>array(56,-63,952,839),25395=>array(53,-66,949,827),25396=>array(40,-64,947,828),25397=>array(38,-51,951,841),25398=>array(36,-56,916,841),25399=>array(39,-68,950,836),25400=>array(56,-72,947,829),25401=>array(36,-68,956,823),25402=>array(44,-66,964,824),25403=>array(52,-73,956,826),25404=>array(41,-56,944,858),25405=>array(44,-69,965,840),25406=>array(47,-70,964,835),25407=>array(60,-52,939,844),25408=>array(60,-64,969,831),25409=>array(50,-68,932,828),25410=>array(43,-72,952,823),25411=>array(51,-65,966,833),25412=>array(59,-65,952,832),25413=>array(62,-70,915,825),25414=>array(53,-69,915,826),25415=>array(56,-69,958,829),25416=>array(43,-59,965,832),25417=>array(35,-72,953,821),25418=>array(53,-63,953,832),25419=>array(48,-67,952,826),25420=>array(45,-71,909,825),25421=>array(38,-68,951,826),25422=>array(52,-65,919,835),25423=>array(56,-67,956,828),25424=>array(55,-67,903,823),25425=>array(56,-73,958,831),25426=>array(67,-65,955,835),25427=>array(64,-67,958,829),25428=>array(76,-65,912,829),25429=>array(39,-69,950,832),25430=>array(46,-69,950,834),25431=>array(58,-64,966,827),25432=>array(65,-65,979,836),25433=>array(59,-65,954,829),25434=>array(67,-63,956,829),25435=>array(67,-63,915,829),25436=>array(44,-78,963,829),25437=>array(67,-61,968,829),25438=>array(44,-63,914,832),25439=>array(32,-64,937,827),25440=>array(50,-64,931,829),25441=>array(31,-63,931,830),25442=>array(25,-73,948,825),25443=>array(49,-62,900,836),25444=>array(66,-67,951,824),25445=>array(58,-70,961,852),25446=>array(73,-52,966,835),25447=>array(36,-74,967,834),25448=>array(43,-68,969,845),25449=>array(27,-66,959,826),25450=>array(67,-65,960,833),25451=>array(54,-63,904,832),25452=>array(37,-60,949,849),25453=>array(37,-65,947,846),25454=>array(37,-54,943,838),25455=>array(56,-64,914,830),25456=>array(50,-64,974,832),25457=>array(50,-71,967,842),25458=>array(36,-56,967,835),25459=>array(53,-58,951,833),25460=>array(67,-61,962,829),25461=>array(41,-54,950,843),25462=>array(30,-71,933,833),25463=>array(40,-75,963,833),25464=>array(54,-69,959,824),25465=>array(67,-72,957,829),25466=>array(23,-61,963,847),25467=>array(27,-64,961,853),25468=>array(53,-59,967,840),25469=>array(51,-51,953,854),25470=>array(67,-64,939,845),25471=>array(67,-63,938,835),25472=>array(45,-72,961,833),25473=>array(53,-71,968,832),25474=>array(56,-74,938,840),25475=>array(44,-65,922,829),25476=>array(38,-65,974,853),25477=>array(46,-65,959,836),25478=>array(67,-65,906,829),25479=>array(41,-67,975,827),25480=>array(52,-69,964,832),25481=>array(46,-71,944,825),25482=>array(48,-65,959,845),25483=>array(67,-69,966,839),25484=>array(79,-61,932,835),25485=>array(51,-69,960,827),25486=>array(45,-63,966,842),25487=>array(62,-69,921,841),25488=>array(61,-65,908,842),25489=>array(50,-73,953,835),25490=>array(41,-69,951,831),25491=>array(41,-71,958,832),25492=>array(73,-69,951,788),25493=>array(40,-72,971,820),25494=>array(40,-74,963,820),25495=>array(38,-65,965,842),25496=>array(49,-76,911,829),25497=>array(40,-66,952,828),25498=>array(40,-69,942,820),25499=>array(38,-65,968,829),25500=>array(48,-70,957,832),25501=>array(53,-70,951,827),25502=>array(45,-52,971,852),25503=>array(34,-60,966,837),25504=>array(41,-71,955,826),25505=>array(39,-58,975,848),25506=>array(39,-69,966,824),25507=>array(45,-71,942,827),25508=>array(49,-69,898,829),25509=>array(43,-71,950,828),25510=>array(40,-69,911,820),25511=>array(36,-65,945,828),25512=>array(52,-68,955,836),25513=>array(41,-68,966,839),25514=>array(49,-72,948,824),25515=>array(41,-51,968,841),25516=>array(50,-62,914,844),25517=>array(46,-59,988,832),25518=>array(55,-68,951,836),25519=>array(38,-67,951,832),25520=>array(54,-52,954,826),25521=>array(83,-67,944,831),25522=>array(73,-71,924,818),25523=>array(31,-65,909,832),25524=>array(37,-60,904,830),25525=>array(40,-72,977,828),25526=>array(40,-71,956,856),25527=>array(22,-70,923,824),25528=>array(41,-63,917,837),25529=>array(65,-59,954,825),25530=>array(54,-62,942,835),25531=>array(28,-65,973,826),25532=>array(30,-64,921,829),25533=>array(42,-60,947,854),25534=>array(49,-63,975,839),25535=>array(40,-72,948,836),25536=>array(37,-65,965,835),25537=>array(59,-74,962,821),25538=>array(61,-68,955,839),25539=>array(43,-68,950,837),25540=>array(39,-64,973,831),25541=>array(40,-69,941,785),25542=>array(46,-67,954,835),25543=>array(50,-67,947,829),25544=>array(53,-72,899,823),25545=>array(46,-69,964,826),25546=>array(55,-70,952,828),25547=>array(50,-74,972,828),25548=>array(57,-70,971,821),25549=>array(36,-66,968,845),25550=>array(47,-59,965,851),25551=>array(53,-69,955,828),25552=>array(48,-72,969,826),25553=>array(55,-72,954,820),25554=>array(48,-71,940,836),25555=>array(57,-68,962,828),25556=>array(33,-50,972,850),25557=>array(54,-64,949,828),25558=>array(37,-67,948,829),25559=>array(51,-72,957,832),25560=>array(53,-71,951,838),25561=>array(62,-69,920,832),25562=>array(46,-77,944,820),25563=>array(40,-65,971,838),25564=>array(36,-60,975,862),25565=>array(53,-69,977,829),25566=>array(35,-72,912,831),25567=>array(57,-74,964,823),25568=>array(41,-63,953,829),25569=>array(54,-62,943,830),25570=>array(40,-72,960,849),25571=>array(37,-63,954,836),25572=>array(57,-64,901,830),25573=>array(55,-67,943,838),25574=>array(44,-67,903,831),25575=>array(43,-68,949,831),25576=>array(49,-69,941,833),25577=>array(50,-68,949,830),25578=>array(34,-66,964,829),25579=>array(66,-51,969,851),25580=>array(40,-69,960,836),25581=>array(73,-71,924,818),25582=>array(56,-68,945,825),25583=>array(56,-68,956,825),25584=>array(53,-62,954,830),25585=>array(67,-70,941,833),25586=>array(38,-53,971,843),25587=>array(53,-73,961,827),25588=>array(61,-69,969,830),25589=>array(38,-66,959,823),25590=>array(34,-64,945,829),25591=>array(48,-70,940,826),25592=>array(28,-57,971,836),25593=>array(48,-63,953,827),25594=>array(39,-76,937,819),25595=>array(35,-66,971,829),25596=>array(49,-61,974,833),25597=>array(32,-60,930,833),25598=>array(40,-72,967,820),25599=>array(35,-68,938,825),25600=>array(43,-63,939,829),25601=>array(42,-73,897,824),25602=>array(35,-53,943,837),25603=>array(95,-59,950,822),25604=>array(50,-59,960,849),25605=>array(34,-63,926,837),25606=>array(39,-68,958,836),25607=>array(45,-64,971,842),25608=>array(52,-72,962,837),25609=>array(39,-58,957,851),25610=>array(53,-62,909,836),25611=>array(53,-75,968,828),25612=>array(53,-75,968,827),25613=>array(51,-70,956,822),25614=>array(61,-68,961,828),25615=>array(50,-66,945,832),25616=>array(50,-75,950,843),25617=>array(43,-67,954,829),25618=>array(53,-57,962,853),25619=>array(27,-66,933,843),25620=>array(28,-65,950,826),25621=>array(51,-61,954,826),25622=>array(42,-64,945,845),25623=>array(66,-60,921,844),25624=>array(47,-50,955,847),25625=>array(43,-64,953,829),25626=>array(55,-64,934,838),25627=>array(49,-70,953,838),25628=>array(44,-78,963,832),25629=>array(67,-67,971,843),25630=>array(60,-67,940,842),25631=>array(48,-72,952,823),25632=>array(56,-70,915,835),25633=>array(35,-67,964,829),25634=>array(43,-65,958,833),25635=>array(44,-72,968,831),25636=>array(41,-50,954,859),25637=>array(44,-55,967,857),25638=>array(52,-64,917,828),25639=>array(56,-71,923,838),25640=>array(59,-64,918,827),25641=>array(43,-65,969,838),25642=>array(46,-70,948,843),25643=>array(50,-64,957,842),25644=>array(38,-71,976,838),25645=>array(40,-71,966,830),25646=>array(56,-70,975,826),25647=>array(43,-70,920,838),25648=>array(56,-68,916,827),25649=>array(67,-71,928,829),25650=>array(38,-66,960,844),25651=>array(47,-70,948,836),25652=>array(36,-59,981,845),25653=>array(49,-67,965,826),25654=>array(37,-66,970,849),25655=>array(58,-72,961,836),25656=>array(43,-68,973,839),25657=>array(55,-65,952,825),25658=>array(39,-77,947,839),25659=>array(38,-64,969,862),25660=>array(43,-69,970,839),25661=>array(40,-65,965,830),25662=>array(42,-61,952,837),25663=>array(52,-57,955,822),25664=>array(56,-69,945,842),25665=>array(65,-62,955,826),25666=>array(47,-58,951,835),25667=>array(35,-55,954,837),25668=>array(47,-60,960,835),25669=>array(38,-63,967,830),25670=>array(31,-63,934,834),25671=>array(28,-76,914,819),25672=>array(43,-64,932,844),25673=>array(52,-64,975,841),25674=>array(38,-66,922,830),25675=>array(45,-73,967,835),25676=>array(55,-71,942,847),25677=>array(58,-71,950,832),25678=>array(55,-70,968,826),25679=>array(52,-64,976,835),25680=>array(50,-66,974,832),25681=>array(56,-68,927,827),25682=>array(43,-69,955,830),25683=>array(51,-66,965,829),25684=>array(40,-66,958,846),25685=>array(43,-68,960,829),25686=>array(43,-63,968,841),25687=>array(33,-69,978,837),25688=>array(45,-73,948,825),25689=>array(55,-71,974,827),25690=>array(49,-59,945,833),25691=>array(44,-51,945,855),25692=>array(35,-73,955,827),25693=>array(53,-70,956,838),25694=>array(56,-68,953,826),25695=>array(41,-75,942,831),25696=>array(53,-67,964,831),25697=>array(47,-70,965,830),25698=>array(53,-70,938,836),25699=>array(43,-64,953,841),25700=>array(37,-59,946,839),25701=>array(52,-68,949,835),25702=>array(47,-76,978,832),25703=>array(41,-68,953,833),25704=>array(39,-72,954,827),25705=>array(37,-63,940,838),25706=>array(43,-66,984,843),25707=>array(51,-66,958,830),25708=>array(57,-72,961,837),25709=>array(42,-67,962,851),25710=>array(54,-70,971,839),25711=>array(56,-67,952,833),25712=>array(50,-70,974,832),25713=>array(53,-68,975,822),25714=>array(51,-67,955,828),25715=>array(37,-67,951,824),25716=>array(30,-56,948,836),25717=>array(50,-70,959,828),25718=>array(38,-63,959,839),25719=>array(52,-67,970,838),25720=>array(45,-72,971,823),25721=>array(53,-65,965,835),25722=>array(53,-64,910,830),25723=>array(34,-78,966,849),25724=>array(51,-66,956,826),25725=>array(31,-54,948,839),25726=>array(40,-64,959,828),25727=>array(55,-70,964,843),25728=>array(60,-54,946,833),25729=>array(43,-68,957,847),25730=>array(42,-67,975,829),25731=>array(73,-64,955,835),25732=>array(36,-65,923,823),25733=>array(31,-68,971,829),25734=>array(73,-66,953,831),25735=>array(46,-69,971,837),25736=>array(54,-68,942,833),25737=>array(58,-68,971,844),25738=>array(42,-69,911,825),25739=>array(39,-71,905,822),25740=>array(42,-85,953,826),25741=>array(44,-67,957,828),25742=>array(55,-64,955,828),25743=>array(38,-70,962,826),25744=>array(67,-73,954,820),25745=>array(31,-77,941,822),25746=>array(41,-69,963,832),25747=>array(55,-69,953,827),25748=>array(42,-66,955,826),25749=>array(37,-67,942,834),25750=>array(39,-77,982,831),25751=>array(40,-81,962,823),25752=>array(41,-52,962,857),25753=>array(45,-62,963,853),25754=>array(37,-60,970,849),25755=>array(41,-74,954,832),25756=>array(43,-68,983,832),25757=>array(45,-56,943,846),25758=>array(33,-71,948,829),25759=>array(51,-67,976,838),25760=>array(35,-73,972,823),25761=>array(22,-64,978,845),25762=>array(50,-63,949,828),25763=>array(41,-68,956,828),25764=>array(39,-68,961,835),25765=>array(40,-71,959,843),25766=>array(55,-70,980,833),25767=>array(34,-64,973,844),25768=>array(55,-71,969,849),25769=>array(37,-61,968,843),25770=>array(39,-64,973,855),25771=>array(46,-63,954,837),25772=>array(41,-63,958,837),25773=>array(29,-69,971,829),25774=>array(32,-65,948,832),25775=>array(55,-64,965,847),25776=>array(36,-69,955,823),25777=>array(40,-71,949,840),25778=>array(37,-69,975,835),25779=>array(40,-70,973,839),25780=>array(12,-73,975,838),25781=>array(25,-61,936,828),25782=>array(33,-68,945,831),25783=>array(40,-65,943,827),25784=>array(41,-66,915,827),25785=>array(35,-64,965,828),25786=>array(33,-62,912,846),25787=>array(40,-78,955,833),25788=>array(47,-68,960,833),25789=>array(36,-79,974,842),25790=>array(38,-68,966,829),25791=>array(34,-69,961,861),25792=>array(45,-66,964,829),25793=>array(32,-70,958,835),25794=>array(54,-69,924,823),25795=>array(27,-76,966,832),25796=>array(43,-67,954,835),25797=>array(45,-67,957,837),25798=>array(31,-64,963,833),25799=>array(49,-67,935,821),25800=>array(39,-66,972,833),25801=>array(41,-69,924,829),25802=>array(73,-65,956,835),25803=>array(52,-66,918,832),25804=>array(75,-38,967,854),25805=>array(39,-62,954,823),25806=>array(47,-73,951,845),25807=>array(33,-78,971,830),25808=>array(42,-68,958,828),25809=>array(43,-78,970,843),25810=>array(29,-68,963,842),25811=>array(39,-53,949,839),25812=>array(48,-74,950,846),25813=>array(55,-65,960,834),25814=>array(48,-71,939,829),25815=>array(49,-64,965,849),25816=>array(54,-64,949,832),25817=>array(34,-79,975,840),25818=>array(41,-70,964,831),25819=>array(40,-73,985,819),25820=>array(47,-70,984,848),25821=>array(45,-66,979,826),25822=>array(30,-64,958,832),25823=>array(53,-70,958,841),25824=>array(53,-77,953,830),25825=>array(44,-63,961,830),25826=>array(36,-65,952,830),25827=>array(57,-65,954,827),25828=>array(61,-67,962,856),25829=>array(84,-51,955,840),25830=>array(46,-70,966,826),25831=>array(55,-59,965,832),25832=>array(42,-74,967,831),25833=>array(48,-68,953,827),25834=>array(47,-69,954,837),25835=>array(39,-76,969,824),25836=>array(42,-63,956,832),25837=>array(45,-49,966,844),25838=>array(44,-58,958,843),25839=>array(34,-71,960,842),25840=>array(49,-67,952,844),25841=>array(58,-71,913,827),25842=>array(36,-75,949,832),25843=>array(33,-67,939,835),25844=>array(43,-68,960,841),25845=>array(51,-62,962,840),25846=>array(42,-64,955,841),25847=>array(41,-70,972,840),25848=>array(41,-50,970,861),25849=>array(40,-68,977,837),25850=>array(43,-69,952,818),25851=>array(31,-67,963,837),25852=>array(51,-71,961,827),25853=>array(54,-70,952,831),25854=>array(41,-64,963,829),25855=>array(63,-64,986,843),25856=>array(49,-65,960,832),25857=>array(42,-78,975,844),25858=>array(42,-77,948,823),25859=>array(42,-73,973,825),25860=>array(44,-67,965,836),25861=>array(46,-77,960,828),25862=>array(40,-70,954,835),25863=>array(39,-65,960,843),25864=>array(31,-83,974,839),25865=>array(43,-64,967,833),25866=>array(35,-72,964,827),25867=>array(27,-72,970,844),25868=>array(61,-70,923,826),25869=>array(36,-73,976,842),25870=>array(39,-69,954,827),25871=>array(40,-62,954,842),25872=>array(46,-67,982,842),25873=>array(41,-71,986,835),25874=>array(23,-71,933,827),25875=>array(27,-65,980,845),25876=>array(56,-76,912,822),25877=>array(29,-66,972,841),25878=>array(50,-71,953,835),25879=>array(46,-68,966,846),25880=>array(39,-69,970,829),25881=>array(44,-74,964,838),25882=>array(35,-68,959,828),25883=>array(38,-64,969,841),25884=>array(42,-74,944,832),25885=>array(36,-68,955,821),25886=>array(52,-64,962,831),25887=>array(32,-70,974,853),25888=>array(48,-72,954,841),25889=>array(49,-64,962,840),25890=>array(41,-65,968,831),25891=>array(48,-61,957,840),25892=>array(55,-72,951,832),25893=>array(33,-63,970,844),25894=>array(63,-66,961,824),25895=>array(29,-72,959,835),25896=>array(35,-73,973,844),25897=>array(38,-57,956,840),25898=>array(41,-62,959,839),25899=>array(36,-64,970,826),25900=>array(39,-72,956,832),25901=>array(26,-71,967,840),25902=>array(48,-65,975,839),25903=>array(78,-65,945,830),25904=>array(41,-55,968,846),25905=>array(58,-80,972,834),25906=>array(63,-73,973,830),25907=>array(41,-71,981,824),25908=>array(34,-76,942,825),25909=>array(68,-72,932,818),25910=>array(67,-70,951,830),25911=>array(71,-67,979,840),25912=>array(48,-67,949,830),25913=>array(103,-65,946,825),25914=>array(86,-75,969,821),25915=>array(64,-68,957,838),25916=>array(62,-67,967,841),25917=>array(46,-71,963,832),25918=>array(46,-65,956,842),25919=>array(38,-74,956,838),25920=>array(114,-77,970,838),25921=>array(129,-82,955,828),25922=>array(24,-61,976,834),25923=>array(87,-80,962,823),25924=>array(29,-71,970,833),25925=>array(54,-67,958,833),25926=>array(52,-68,969,835),25927=>array(28,-65,972,834),25928=>array(60,-64,956,834),25929=>array(42,-67,975,838),25930=>array(46,-62,970,835),25931=>array(37,-68,959,840),25932=>array(27,-64,947,833),25933=>array(47,-70,960,843),25934=>array(38,-69,971,837),25935=>array(57,-63,971,839),25936=>array(33,-67,971,825),25937=>array(39,-68,955,843),25938=>array(32,-67,963,834),25939=>array(38,-69,969,829),25940=>array(54,-54,973,855),25941=>array(43,-70,970,836),25942=>array(48,-74,946,830),25943=>array(63,-74,963,836),25944=>array(48,-61,967,843),25945=>array(30,-60,950,831),25946=>array(30,-70,972,839),25947=>array(23,-60,932,847),25948=>array(37,-74,971,835),25949=>array(99,-69,967,835),25950=>array(81,-70,966,836),25951=>array(46,-73,957,836),25952=>array(44,-84,965,820),25953=>array(43,-77,971,823),25954=>array(39,-61,960,826),25955=>array(65,-72,956,834),25956=>array(42,-74,968,823),25957=>array(44,-80,966,829),25958=>array(42,-67,961,839),25959=>array(45,-59,962,839),25960=>array(66,-71,969,840),25961=>array(52,-69,969,842),25962=>array(44,-76,965,821),25963=>array(35,-61,944,823),25964=>array(44,-70,969,836),25965=>array(42,-71,969,836),25966=>array(36,-74,970,837),25967=>array(99,-75,967,823),25968=>array(42,-69,959,821),25969=>array(45,-63,967,835),25970=>array(55,-71,957,838),25971=>array(47,-75,969,833),25972=>array(51,-18,946,840),25973=>array(60,-69,967,834),25974=>array(104,-76,985,828),25975=>array(41,-65,969,839),25976=>array(60,-70,959,833),25977=>array(58,-76,984,831),25978=>array(60,-71,959,832),25979=>array(36,-65,970,846),25980=>array(60,-73,973,827),25981=>array(36,-68,974,843),25982=>array(64,-77,978,849),25983=>array(44,-77,978,827),25984=>array(35,-72,970,824),25985=>array(63,-69,977,842),25986=>array(45,-66,970,859),25987=>array(51,-68,955,830),25988=>array(38,-65,972,832),25989=>array(52,-72,967,838),25990=>array(52,-69,969,839),25991=>array(62,-69,947,822),25992=>array(49,-73,951,815),25993=>array(49,-63,951,828),25994=>array(36,-72,959,843),25995=>array(47,-68,921,840),25996=>array(36,-63,963,833),25997=>array(26,-65,974,840),25998=>array(29,-64,974,828),25999=>array(47,-66,971,846),26000=>array(36,-63,964,831),26001=>array(35,-68,956,829),26002=>array(44,-71,936,829),26003=>array(43,-70,888,807),26004=>array(60,-75,983,833),26005=>array(53,-65,927,826),26006=>array(49,-42,951,835),26007=>array(62,-64,946,832),26008=>array(54,-65,950,844),26009=>array(38,-68,956,836),26010=>array(67,-65,948,829),26011=>array(27,-72,946,826),26012=>array(32,-71,945,838),26013=>array(67,-65,946,789),26014=>array(46,-73,954,827),26015=>array(42,-79,944,820),26016=>array(51,-70,954,836),26017=>array(46,-77,960,854),26018=>array(60,-76,954,823),26019=>array(33,-76,948,818),26020=>array(75,-71,902,832),26021=>array(81,-69,895,834),26022=>array(48,-69,959,824),26023=>array(77,-64,941,836),26024=>array(50,-69,941,828),26025=>array(66,-75,925,828),26026=>array(47,-70,957,816),26027=>array(37,-69,951,834),26028=>array(53,-73,945,831),26029=>array(99,-66,946,824),26030=>array(63,-70,951,824),26031=>array(49,-75,944,829),26032=>array(54,-62,944,830),26033=>array(45,-67,934,837),26034=>array(65,-65,959,828),26035=>array(47,-73,952,836),26036=>array(36,-79,957,831),26037=>array(65,-65,959,833),26038=>array(43,-68,927,821),26039=>array(106,-66,950,845),26040=>array(44,-62,960,829),26041=>array(52,-67,936,822),26042=>array(38,-63,976,842),26043=>array(42,-61,969,837),26044=>array(41,-62,966,826),26045=>array(42,-49,952,831),26046=>array(51,-73,956,844),26047=>array(54,-50,952,858),26048=>array(48,-69,962,841),26049=>array(70,-65,906,829),26050=>array(36,-68,951,850),26051=>array(34,-70,951,833),26052=>array(49,-67,967,844),26053=>array(33,-67,969,839),26054=>array(48,-61,965,854),26055=>array(64,-73,959,848),26056=>array(34,-73,961,848),26057=>array(42,-69,947,832),26058=>array(35,-60,963,839),26059=>array(39,-66,966,841),26060=>array(39,-68,954,841),26061=>array(44,-73,974,838),26062=>array(50,-74,960,843),26063=>array(35,-67,966,843),26064=>array(42,-59,968,852),26065=>array(42,-61,962,852),26066=>array(18,-65,958,846),26067=>array(44,-67,955,836),26068=>array(30,-86,964,845),26069=>array(61,-55,976,843),26070=>array(39,-68,945,837),26071=>array(37,-70,955,837),26072=>array(37,-65,957,839),26073=>array(45,-55,959,839),26074=>array(44,-68,958,839),26075=>array(37,-67,971,839),26076=>array(40,-61,955,850),26077=>array(37,-64,980,834),26078=>array(31,-67,985,828),26079=>array(33,-71,967,847),26080=>array(65,-59,944,779),26081=>array(93,-50,947,800),26082=>array(47,-55,961,784),26083=>array(110,-64,946,846),26084=>array(86,-65,972,789),26085=>array(237,-32,788,747),26086=>array(84,-13,936,769),26087=>array(140,-52,860,778),26088=>array(195,-61,883,835),26089=>array(86,-68,934,780),26090=>array(89,-53,949,843),26091=>array(89,-73,905,763),26092=>array(39,-61,899,837),26093=>array(52,-62,957,839),26094=>array(54,-65,974,844),26095=>array(54,-66,972,776),26096=>array(92,-65,927,770),26097=>array(85,-61,939,785),26098=>array(46,-66,969,789),26099=>array(111,-64,905,841),26100=>array(101,-54,951,789),26101=>array(121,-66,879,786),26102=>array(103,-62,927,829),26103=>array(87,-65,912,832),26104=>array(95,-68,914,775),26105=>array(63,-64,937,833),26106=>array(91,-7,934,781),26107=>array(35,-58,968,796),26108=>array(95,-74,943,815),26109=>array(92,-47,967,823),26110=>array(73,-64,956,836),26111=>array(111,-67,948,837),26112=>array(105,-54,903,830),26113=>array(104,-62,945,831),26114=>array(69,-61,899,791),26115=>array(48,-72,950,789),26116=>array(102,-69,956,791),26117=>array(109,-71,959,787),26118=>array(82,-50,958,796),26119=>array(51,-62,954,789),26120=>array(105,-66,934,833),26121=>array(99,-56,947,825),26122=>array(68,-68,952,786),26123=>array(49,-68,956,831),26124=>array(158,-64,856,788),26125=>array(116,-53,884,788),26126=>array(109,-65,869,787),26127=>array(86,-69,937,843),26128=>array(109,-70,960,784),26129=>array(103,-66,956,831),26130=>array(103,-63,911,839),26131=>array(75,-67,866,782),26132=>array(79,-62,930,828),26133=>array(101,-68,936,838),26134=>array(101,-46,965,807),26135=>array(77,-68,943,795),26136=>array(64,-63,933,810),26137=>array(66,-74,918,779),26138=>array(66,-53,957,835),26139=>array(97,-14,952,788),26140=>array(49,-60,936,798),26141=>array(67,-68,973,845),26142=>array(57,-62,942,786),26143=>array(96,-18,935,780),26144=>array(88,-67,953,832),26145=>array(118,-57,955,822),26146=>array(123,-69,901,824),26147=>array(100,-72,974,849),26148=>array(102,-65,948,839),26149=>array(45,-67,962,837),26150=>array(50,-68,959,774),26151=>array(100,-65,966,832),26152=>array(116,-62,955,845),26153=>array(73,-67,961,830),26154=>array(51,-65,932,805),26155=>array(115,-56,919,830),26156=>array(159,-68,937,812),26157=>array(120,-68,901,785),26158=>array(50,-72,916,778),26159=>array(68,-66,960,790),26160=>array(64,-24,942,802),26161=>array(70,-18,944,788),26162=>array(106,-66,918,830),26163=>array(120,-76,961,824),26164=>array(84,-67,892,787),26165=>array(104,-71,939,778),26166=>array(33,-62,976,802),26167=>array(57,-14,948,788),26168=>array(110,-77,964,837),26169=>array(99,-66,965,835),26170=>array(85,-69,938,776),26171=>array(50,-61,898,791),26172=>array(41,-43,964,789),26173=>array(91,-61,926,824),26174=>array(53,-17,921,784),26175=>array(95,-56,948,819),26176=>array(113,-68,965,830),26177=>array(47,-65,960,788),26178=>array(113,-65,948,839),26179=>array(54,-51,948,800),26180=>array(108,-57,959,831),26181=>array(102,-31,946,776),26182=>array(102,-22,959,836),26183=>array(104,-72,965,837),26184=>array(89,-63,944,846),26185=>array(72,-60,944,790),26186=>array(110,-12,953,774),26187=>array(74,-65,926,799),26188=>array(107,-68,907,847),26189=>array(107,-65,895,782),26190=>array(107,-69,953,828),26191=>array(61,-73,945,789),26192=>array(107,-61,943,846),26193=>array(136,-62,877,789),26194=>array(97,-54,941,799),26195=>array(90,-67,943,822),26196=>array(100,-64,928,823),26197=>array(64,-65,916,785),26198=>array(101,-72,930,758),26199=>array(80,-71,957,848),26200=>array(101,-62,953,789),26201=>array(94,-62,958,834),26202=>array(110,-70,956,827),26203=>array(102,-58,955,797),26204=>array(55,-53,908,803),26205=>array(59,-30,948,829),26206=>array(79,-69,951,837),26207=>array(30,-67,967,793),26208=>array(90,-68,951,834),26209=>array(110,-68,959,832),26210=>array(68,-62,943,842),26211=>array(102,-67,954,843),26212=>array(82,-65,940,786),26213=>array(91,-71,962,824),26214=>array(98,-59,947,837),26215=>array(97,-60,939,831),26216=>array(30,-68,935,809),26217=>array(97,-69,965,840),26218=>array(110,-74,961,833),26219=>array(106,-71,946,825),26220=>array(102,-60,951,850),26221=>array(97,-68,907,791),26222=>array(53,-70,944,845),26223=>array(58,-61,940,796),26224=>array(102,-67,954,832),26225=>array(107,-71,949,828),26226=>array(110,-68,959,833),26227=>array(58,-71,932,826),26228=>array(75,-52,938,838),26229=>array(52,-60,964,846),26230=>array(117,-64,887,785),26231=>array(50,-68,943,782),26232=>array(41,-52,968,808),26233=>array(110,-72,919,782),26234=>array(82,-69,897,829),26235=>array(105,-40,966,828),26236=>array(104,-72,965,846),26237=>array(59,-63,981,842),26238=>array(87,-62,931,842),26239=>array(87,-62,923,791),26240=>array(107,-70,955,831),26241=>array(86,-65,970,817),26242=>array(64,-71,931,827),26243=>array(58,-70,937,808),26244=>array(90,-49,947,822),26245=>array(79,-59,960,849),26246=>array(90,-67,947,830),26247=>array(106,-71,971,790),26248=>array(57,-62,950,798),26249=>array(89,-65,936,787),26250=>array(121,-80,965,782),26251=>array(106,-55,948,849),26252=>array(86,-61,940,834),26253=>array(115,-69,925,785),26254=>array(95,-63,969,835),26255=>array(115,-65,960,835),26256=>array(91,-51,946,858),26257=>array(62,-63,955,790),26258=>array(89,-21,954,792),26259=>array(36,-69,954,830),26260=>array(110,-68,952,834),26261=>array(108,-67,966,833),26262=>array(89,-67,954,834),26263=>array(98,-64,943,840),26264=>array(82,-55,937,804),26265=>array(104,-72,956,833),26266=>array(89,-64,945,831),26267=>array(107,-25,939,843),26268=>array(60,-68,944,826),26269=>array(101,-56,936,789),26270=>array(112,-50,933,849),26271=>array(109,-24,951,832),26272=>array(74,-56,927,820),26273=>array(104,-70,960,800),26274=>array(92,-70,938,831),26275=>array(46,-63,974,851),26276=>array(92,-64,979,849),26277=>array(50,-59,950,788),26278=>array(39,-62,961,796),26279=>array(97,-72,955,821),26280=>array(59,-25,953,783),26281=>array(110,-72,990,832),26282=>array(113,-70,953,823),26283=>array(83,-68,948,833),26284=>array(65,-71,953,827),26285=>array(112,-64,952,849),26286=>array(51,-65,965,837),26287=>array(100,-75,955,827),26288=>array(100,-69,975,833),26289=>array(104,-26,962,799),26290=>array(112,-68,953,834),26291=>array(83,-62,941,826),26292=>array(66,-66,956,786),26293=>array(101,-53,968,841),26294=>array(92,-71,971,828),26295=>array(115,-68,960,836),26296=>array(89,-62,966,855),26297=>array(58,-56,933,815),26298=>array(109,-74,953,777),26299=>array(115,-68,971,781),26300=>array(68,-71,960,837),26301=>array(115,-70,960,824),26302=>array(99,-77,970,835),26303=>array(89,-69,957,833),26304=>array(101,-8,948,843),26305=>array(59,-37,947,832),26306=>array(89,-68,956,827),26307=>array(70,-64,960,829),26308=>array(94,-68,945,831),26309=>array(59,-71,943,819),26310=>array(32,-60,959,798),26311=>array(53,-74,947,817),26312=>array(96,-14,941,854),26313=>array(107,-61,964,837),26314=>array(110,-77,953,827),26315=>array(114,-70,956,777),26316=>array(55,-25,949,779),26317=>array(112,-64,952,849),26318=>array(79,-62,949,788),26319=>array(51,-67,946,788),26320=>array(86,-47,918,821),26321=>array(35,-75,968,812),26322=>array(94,-59,964,850),26323=>array(31,-75,966,834),26324=>array(57,-66,978,840),26325=>array(84,-72,927,841),26326=>array(81,-62,946,841),26327=>array(95,-67,959,825),26328=>array(101,-69,941,781),26329=>array(97,-63,955,789),26330=>array(94,-61,965,836),26331=>array(89,-70,965,835),26332=>array(85,-70,946,813),26333=>array(103,-64,980,784),26334=>array(93,-66,935,799),26335=>array(55,-67,956,816),26336=>array(93,-71,966,819),26337=>array(54,-32,952,791),26338=>array(99,-61,959,820),26339=>array(91,-72,953,823),26340=>array(91,-64,926,783),26341=>array(92,-67,954,830),26342=>array(88,-64,946,841),26343=>array(116,-68,966,817),26344=>array(90,-53,957,853),26345=>array(48,-62,937,824),26346=>array(90,-64,962,796),26347=>array(49,-71,962,838),26348=>array(92,-68,961,800),26349=>array(82,-68,944,834),26350=>array(83,-64,959,799),26351=>array(98,-67,924,806),26352=>array(166,-33,842,728),26353=>array(175,-61,841,788),26354=>array(163,-68,860,831),26355=>array(71,-56,954,839),26356=>array(48,-72,962,777),26357=>array(71,-60,946,845),26358=>array(61,-71,898,845),26359=>array(62,-67,896,792),26360=>array(84,-64,938,837),26361=>array(53,-70,947,829),26362=>array(53,-70,947,829),26363=>array(43,-68,946,791),26364=>array(57,-67,959,791),26365=>array(127,-65,876,852),26366=>array(38,-65,959,825),26367=>array(56,-68,950,834),26368=>array(53,-73,935,783),26369=>array(60,-71,960,781),26370=>array(54,-68,946,808),26371=>array(33,-74,978,848),26372=>array(98,-68,980,828),26373=>array(63,-63,920,830),26374=>array(94,-64,949,845),26375=>array(23,-74,957,847),26376=>array(86,-76,788,783),26377=>array(45,-65,936,844),26378=>array(33,-65,956,790),26379=>array(65,-77,891,782),26380=>array(23,-68,963,839),26381=>array(53,-75,950,783),26382=>array(47,-57,971,854),26383=>array(41,-56,905,840),26384=>array(34,-66,908,843),26385=>array(52,-64,964,829),26386=>array(43,-64,906,832),26387=>array(39,-71,957,823),26388=>array(60,-67,905,848),26389=>array(36,-73,961,837),26390=>array(36,-64,962,834),26391=>array(49,-74,885,832),26392=>array(33,-71,985,838),26393=>array(90,-65,915,793),26394=>array(72,-69,925,838),26395=>array(73,-36,927,822),26396=>array(36,-62,949,843),26397=>array(72,-68,908,827),26398=>array(42,-60,958,837),26399=>array(60,-70,899,829),26400=>array(33,-72,973,826),26401=>array(39,-85,966,825),26402=>array(85,-39,915,791),26403=>array(41,-72,952,828),26404=>array(65,-77,893,797),26405=>array(61,-66,941,833),26406=>array(34,-61,965,836),26407=>array(54,-73,962,834),26408=>array(77,-68,939,826),26409=>array(77,-58,889,826),26410=>array(65,-67,948,838),26411=>array(55,-67,955,839),26412=>array(41,-67,955,827),26413=>array(46,-62,954,829),26414=>array(75,-65,940,829),26415=>array(34,-69,947,815),26416=>array(51,-15,960,813),26417=>array(65,-70,950,828),26418=>array(57,-63,943,830),26419=>array(56,-71,969,830),26420=>array(49,-55,961,840),26421=>array(54,-68,955,777),26422=>array(53,-68,955,787),26423=>array(54,-58,901,830),26424=>array(66,-67,912,826),26425=>array(55,-63,955,830),26426=>array(54,-73,975,827),26427=>array(58,-66,901,829),26428=>array(54,-56,958,837),26429=>array(45,-62,937,832),26430=>array(48,-62,940,830),26431=>array(37,-54,956,839),26432=>array(53,-66,926,811),26433=>array(53,-64,958,828),26434=>array(42,-64,939,824),26435=>array(39,-65,954,836),26436=>array(42,-63,947,833),26437=>array(51,-61,953,835),26438=>array(39,-58,963,830),26439=>array(33,-62,956,831),26440=>array(37,-68,971,823),26441=>array(43,-69,950,831),26442=>array(43,-67,892,827),26443=>array(61,-63,959,833),26444=>array(33,-67,961,830),26445=>array(55,-68,955,829),26446=>array(51,-70,960,831),26447=>array(64,-62,950,827),26448=>array(40,-75,951,824),26449=>array(44,-71,951,829),26450=>array(44,-71,914,823),26451=>array(32,-69,917,834),26452=>array(47,-71,930,823),26453=>array(34,-64,976,833),26454=>array(43,-72,975,827),26455=>array(40,-67,954,837),26456=>array(47,-76,924,785),26457=>array(39,-70,961,830),26458=>array(50,-59,956,838),26459=>array(49,-70,902,828),26460=>array(49,-70,948,828),26461=>array(42,-64,959,830),26462=>array(39,-58,940,830),26463=>array(71,-67,950,833),26464=>array(39,-58,942,830),26465=>array(40,-65,956,827),26466=>array(44,-23,956,822),26467=>array(51,-58,912,830),26468=>array(51,-58,956,830),26469=>array(49,-57,951,830),26470=>array(47,-66,948,835),26471=>array(46,-59,931,833),26472=>array(22,-68,902,826),26473=>array(21,-62,890,825),26474=>array(51,-58,950,831),26475=>array(47,-62,954,835),26476=>array(41,-61,969,836),26477=>array(40,-62,962,832),26478=>array(47,-62,950,839),26479=>array(41,-63,959,835),26480=>array(46,-73,943,825),26481=>array(50,-71,960,831),26482=>array(31,-64,978,787),26483=>array(44,-65,956,832),26484=>array(54,-69,966,838),26485=>array(40,-68,948,837),26486=>array(44,-58,963,837),26487=>array(44,-68,967,825),26488=>array(49,-77,964,824),26489=>array(60,-69,962,829),26490=>array(39,-61,956,832),26491=>array(39,-61,959,832),26492=>array(51,-64,943,830),26493=>array(55,-70,950,826),26494=>array(39,-62,959,833),26495=>array(31,-73,966,823),26496=>array(42,-55,973,803),26497=>array(45,-73,972,829),26498=>array(71,-71,886,819),26499=>array(50,-75,903,822),26500=>array(45,-61,919,842),26501=>array(51,-68,953,830),26502=>array(39,-61,954,833),26503=>array(37,-70,968,826),26504=>array(58,-55,973,809),26505=>array(51,-58,961,830),26506=>array(46,-61,905,842),26507=>array(51,-58,941,830),26508=>array(42,-64,955,824),26509=>array(42,-59,963,835),26510=>array(36,-69,975,828),26511=>array(47,-65,970,835),26512=>array(41,-68,942,831),26513=>array(40,-61,964,833),26514=>array(47,-62,967,833),26515=>array(32,-59,956,842),26516=>array(55,-73,970,833),26517=>array(48,-62,959,836),26518=>array(48,-70,957,833),26519=>array(30,-69,954,829),26520=>array(42,-64,908,835),26521=>array(38,-58,968,839),26522=>array(57,-68,965,843),26523=>array(33,-66,968,823),26524=>array(48,-67,960,788),26525=>array(48,-64,965,834),26526=>array(24,-69,968,822),26527=>array(54,-80,954,830),26528=>array(39,-64,954,837),26529=>array(51,-65,948,830),26530=>array(31,-68,931,822),26531=>array(32,-76,956,824),26532=>array(40,-68,954,830),26533=>array(20,-67,903,820),26534=>array(51,-66,937,830),26535=>array(19,-73,928,823),26536=>array(23,-72,950,820),26537=>array(48,-74,950,820),26538=>array(41,-63,960,831),26539=>array(15,-58,937,830),26540=>array(42,-66,955,832),26541=>array(39,-51,944,832),26542=>array(55,-70,954,829),26543=>array(52,-62,956,836),26544=>array(42,-63,954,833),26545=>array(43,-62,964,852),26546=>array(42,-55,969,856),26547=>array(38,-68,965,829),26548=>array(51,-62,917,830),26549=>array(41,-67,950,827),26550=>array(47,-66,964,827),26551=>array(51,-58,934,832),26552=>array(51,-58,925,841),26553=>array(51,-58,951,830),26554=>array(42,-69,953,828),26555=>array(37,-62,964,829),26556=>array(40,-48,965,823),26557=>array(26,-54,950,827),26558=>array(48,-72,950,829),26559=>array(7,-66,968,829),26560=>array(45,-73,957,830),26561=>array(32,-62,958,835),26562=>array(51,-77,963,816),26563=>array(39,-80,957,827),26564=>array(46,-58,943,828),26565=>array(39,-55,963,840),26566=>array(51,-58,964,830),26567=>array(51,-71,976,822),26568=>array(51,-72,958,824),26569=>array(42,-69,965,825),26570=>array(34,-66,984,833),26571=>array(50,-70,968,822),26572=>array(49,-66,895,827),26573=>array(47,-75,961,823),26574=>array(51,-63,957,830),26575=>array(45,-62,896,846),26576=>array(44,-69,956,835),26577=>array(40,-65,953,827),26578=>array(45,-61,966,830),26579=>array(51,-66,956,835),26580=>array(48,-67,947,788),26581=>array(58,-67,917,825),26582=>array(32,-66,895,829),26583=>array(33,-68,948,833),26584=>array(58,-67,942,825),26585=>array(40,-64,898,833),26586=>array(37,-66,899,835),26587=>array(39,-69,896,825),26588=>array(40,-60,946,830),26589=>array(51,-66,945,836),26590=>array(51,-66,950,839),26591=>array(37,-65,967,832),26592=>array(26,-62,922,836),26593=>array(26,-69,981,827),26594=>array(51,-58,945,830),26595=>array(36,-81,957,822),26596=>array(51,-58,961,830),26597=>array(50,-12,951,826),26598=>array(58,-68,958,826),26599=>array(51,-59,952,830),26600=>array(48,-66,959,850),26601=>array(35,-65,952,824),26602=>array(50,-79,918,820),26603=>array(44,-71,914,838),26604=>array(55,-61,932,838),26605=>array(51,-77,962,826),26606=>array(51,-65,933,832),26607=>array(51,-61,953,830),26608=>array(64,-63,945,839),26609=>array(41,-67,957,839),26610=>array(43,-63,957,830),26611=>array(34,-61,921,837),26612=>array(44,-68,959,825),26613=>array(35,-60,956,832),26614=>array(50,-66,895,827),26615=>array(33,-55,964,836),26616=>array(48,-66,956,827),26617=>array(45,-66,934,832),26618=>array(50,-68,890,827),26619=>array(50,-12,952,826),26620=>array(36,-73,949,828),26621=>array(27,-75,947,817),26622=>array(27,-75,924,817),26623=>array(40,-64,949,827),26624=>array(43,-67,955,834),26625=>array(46,-61,905,837),26626=>array(46,-64,954,831),26627=>array(43,-76,945,834),26628=>array(60,-65,957,820),26629=>array(25,-65,965,829),26630=>array(38,-72,958,834),26631=>array(21,-59,940,833),26632=>array(17,-71,933,825),26633=>array(20,-71,917,817),26634=>array(17,-69,930,820),26635=>array(25,-60,942,833),26636=>array(21,-72,918,820),26637=>array(21,-68,951,827),26638=>array(21,-74,950,816),26639=>array(32,-57,925,833),26640=>array(32,-63,964,844),26641=>array(20,-71,929,818),26642=>array(58,-65,927,845),26643=>array(37,-65,948,826),26644=>array(56,-64,962,836),26645=>array(63,-68,953,823),26646=>array(54,-62,957,833),26647=>array(60,-65,957,788),26648=>array(63,-71,933,835),26649=>array(45,-66,961,842),26650=>array(38,-69,969,833),26651=>array(34,-65,966,835),26652=>array(39,-67,964,830),26653=>array(34,-64,943,832),26654=>array(56,-64,962,811),26655=>array(38,-63,948,845),26656=>array(45,-67,961,844),26657=>array(37,-74,963,822),26658=>array(39,-64,957,831),26659=>array(39,-64,965,843),26660=>array(32,-65,981,837),26661=>array(52,-65,954,841),26662=>array(39,-70,908,832),26663=>array(33,-64,961,836),26664=>array(32,-70,971,833),26665=>array(51,-58,909,830),26666=>array(28,-63,961,836),26667=>array(51,-68,930,830),26668=>array(53,-67,955,826),26669=>array(38,-68,951,828),26670=>array(53,-70,954,826),26671=>array(38,-68,948,826),26672=>array(29,-64,956,832),26673=>array(33,-77,955,825),26674=>array(36,-65,952,833),26675=>array(45,-68,954,826),26676=>array(38,-63,962,833),26677=>array(36,-67,908,830),26678=>array(17,-62,895,831),26679=>array(17,-61,924,831),26680=>array(33,-67,949,825),26681=>array(51,-71,957,820),26682=>array(44,-68,942,829),26683=>array(33,-58,971,839),26684=>array(44,-65,968,835),26685=>array(50,-59,957,839),26686=>array(39,-77,951,834),26687=>array(44,-66,991,842),26688=>array(54,-67,960,841),26689=>array(39,-68,956,835),26690=>array(39,-66,944,827),26691=>array(39,-72,945,828),26692=>array(33,-68,966,832),26693=>array(40,-65,967,844),26694=>array(30,-69,941,826),26695=>array(63,-65,963,844),26696=>array(63,-65,963,838),26697=>array(39,-60,956,845),26698=>array(50,-48,948,827),26699=>array(33,-71,971,832),26700=>array(52,-67,957,831),26701=>array(51,-67,932,830),26702=>array(51,-58,950,830),26703=>array(31,-64,957,832),26704=>array(46,-65,895,830),26705=>array(53,-65,958,788),26706=>array(52,-63,957,836),26707=>array(39,-65,954,827),26708=>array(38,-62,939,837),26709=>array(54,-74,898,821),26710=>array(54,-74,972,857),26711=>array(54,-74,964,821),26712=>array(50,-74,898,837),26713=>array(51,-65,946,833),26714=>array(45,-75,945,839),26715=>array(36,-66,946,836),26716=>array(54,-74,959,821),26717=>array(37,-66,949,835),26718=>array(36,-74,957,821),26719=>array(22,-71,933,826),26720=>array(18,-67,922,824),26721=>array(17,-74,938,821),26722=>array(20,-81,921,816),26723=>array(51,-60,935,830),26724=>array(26,-63,932,826),26725=>array(36,-53,966,844),26726=>array(25,-75,929,817),26727=>array(25,-78,959,833),26728=>array(27,-61,949,840),26729=>array(24,-69,923,833),26730=>array(44,-68,938,827),26731=>array(37,-69,972,829),26732=>array(48,-61,970,836),26733=>array(26,-72,966,832),26734=>array(41,-70,954,829),26735=>array(44,-65,951,827),26736=>array(43,-65,961,829),26737=>array(41,-68,953,826),26738=>array(33,-64,953,837),26739=>array(19,-73,979,834),26740=>array(51,-76,955,830),26741=>array(49,-74,953,826),26742=>array(42,-71,902,827),26743=>array(51,-63,924,844),26744=>array(44,-71,953,837),26745=>array(48,-66,977,848),26746=>array(35,-67,965,833),26747=>array(46,-73,976,821),26748=>array(36,-65,965,826),26749=>array(56,-23,960,824),26750=>array(51,-72,956,830),26751=>array(51,-62,933,830),26752=>array(46,-67,972,832),26753=>array(53,-68,956,808),26754=>array(50,-65,961,833),26755=>array(41,-66,960,830),26756=>array(32,-62,945,832),26757=>array(46,-71,953,843),26758=>array(38,-68,951,836),26759=>array(49,-65,961,829),26760=>array(31,-62,920,843),26761=>array(41,-69,953,826),26762=>array(39,-62,977,832),26763=>array(41,-71,897,824),26764=>array(48,-69,977,826),26765=>array(33,-67,935,842),26766=>array(39,-67,945,848),26767=>array(51,-67,934,833),26768=>array(32,-64,954,831),26769=>array(34,-76,970,821),26770=>array(42,-69,964,828),26771=>array(38,-70,956,837),26772=>array(28,-67,965,840),26773=>array(21,-67,970,833),26774=>array(37,-82,956,824),26775=>array(35,-68,956,829),26776=>array(36,-62,958,833),26777=>array(50,-70,911,827),26778=>array(50,-68,963,848),26779=>array(34,-68,962,824),26780=>array(30,-69,979,828),26781=>array(42,-71,981,839),26782=>array(45,-65,966,827),26783=>array(63,-68,932,847),26784=>array(51,-64,913,830),26785=>array(40,-72,962,838),26786=>array(44,-63,915,835),26787=>array(41,-70,967,825),26788=>array(47,-68,975,827),26789=>array(45,-71,957,838),26790=>array(49,-59,947,828),26791=>array(47,-62,948,835),26792=>array(41,-68,950,823),26793=>array(44,-64,952,828),26794=>array(43,-67,951,823),26795=>array(47,-69,968,830),26796=>array(42,-68,953,825),26797=>array(51,-73,951,835),26798=>array(42,-66,911,830),26799=>array(44,-70,927,839),26800=>array(40,-67,961,832),26801=>array(36,-54,913,835),26802=>array(44,-61,961,831),26803=>array(51,-70,957,830),26804=>array(30,-76,974,827),26805=>array(41,-79,943,824),26806=>array(31,-64,971,832),26807=>array(29,-62,971,839),26808=>array(36,-65,918,835),26809=>array(51,-58,954,830),26810=>array(46,-58,943,833),26811=>array(33,-65,950,836),26812=>array(33,-64,952,830),26813=>array(36,-54,972,835),26814=>array(27,-60,959,835),26815=>array(54,-55,971,835),26816=>array(24,-60,934,832),26817=>array(36,-64,968,844),26818=>array(23,-70,947,819),26819=>array(50,-67,967,813),26820=>array(39,-68,969,842),26821=>array(24,-72,970,824),26822=>array(30,-70,953,839),26823=>array(48,-68,959,824),26824=>array(43,-68,952,832),26825=>array(58,-71,922,838),26826=>array(72,-71,944,835),26827=>array(29,-70,947,827),26828=>array(41,-70,977,826),26829=>array(51,-58,946,830),26830=>array(51,-71,972,828),26831=>array(33,-71,973,825),26832=>array(42,-59,964,843),26833=>array(48,-73,954,824),26834=>array(27,-68,962,838),26835=>array(42,-72,950,841),26836=>array(39,-70,961,831),26837=>array(39,-70,954,823),26838=>array(37,-66,984,832),26839=>array(48,-65,966,834),26840=>array(39,-65,968,830),26841=>array(21,-66,979,844),26842=>array(57,-72,912,822),26843=>array(36,-75,932,845),26844=>array(41,-71,973,833),26845=>array(42,-73,903,826),26846=>array(42,-72,898,826),26847=>array(50,-64,973,835),26848=>array(54,-67,967,836),26849=>array(40,-72,916,824),26850=>array(37,-68,898,824),26851=>array(39,-70,965,832),26852=>array(51,-72,960,833),26853=>array(39,-69,967,826),26854=>array(43,-67,951,826),26855=>array(39,-70,948,840),26856=>array(44,-53,975,848),26857=>array(36,-75,897,825),26858=>array(36,-59,971,845),26859=>array(32,-58,964,841),26860=>array(30,-64,973,843),26861=>array(32,-68,968,839),26862=>array(30,-69,970,833),26863=>array(52,-70,963,834),26864=>array(38,-64,957,830),26865=>array(39,-67,972,832),26866=>array(22,-68,939,836),26867=>array(27,-71,975,827),26868=>array(40,-74,970,827),26869=>array(35,-70,968,822),26870=>array(33,-67,969,831),26871=>array(36,-68,970,824),26872=>array(42,-70,961,783),26873=>array(39,-70,956,835),26874=>array(42,-64,921,829),26875=>array(45,-62,983,830),26876=>array(32,-61,967,831),26877=>array(46,-70,963,826),26878=>array(44,-56,954,829),26879=>array(26,-77,951,835),26880=>array(34,-64,962,834),26881=>array(31,-62,952,833),26882=>array(31,-65,972,829),26883=>array(31,-62,957,837),26884=>array(39,-73,954,832),26885=>array(21,-75,927,817),26886=>array(51,-71,913,824),26887=>array(42,-78,960,827),26888=>array(36,-70,902,844),26889=>array(39,-65,964,841),26890=>array(48,-71,955,838),26891=>array(35,-67,967,835),26892=>array(51,-58,954,830),26893=>array(29,-73,954,835),26894=>array(37,-71,952,836),26895=>array(51,-58,964,830),26896=>array(35,-68,951,833),26897=>array(48,-79,954,835),26898=>array(36,-64,966,829),26899=>array(37,-67,980,830),26900=>array(48,-71,930,832),26901=>array(39,-69,967,826),26902=>array(29,-67,946,840),26903=>array(41,-62,976,843),26904=>array(29,-37,983,831),26905=>array(41,-68,900,832),26906=>array(31,-65,918,832),26907=>array(41,-62,958,834),26908=>array(33,-62,959,838),26909=>array(38,-71,986,826),26910=>array(38,-71,986,830),26911=>array(18,-76,954,815),26912=>array(32,-71,944,827),26913=>array(21,-70,918,833),26914=>array(18,-76,886,815),26915=>array(33,-72,955,833),26916=>array(34,-63,920,823),26917=>array(44,-62,905,830),26918=>array(27,-63,950,843),26919=>array(18,-76,977,828),26920=>array(27,-70,951,829),26921=>array(18,-76,956,856),26922=>array(42,-67,954,825),26923=>array(18,-76,937,837),26924=>array(33,-76,953,848),26925=>array(10,-63,922,830),26926=>array(18,-76,942,835),26927=>array(32,-64,950,837),26928=>array(28,-65,941,826),26929=>array(18,-76,970,843),26930=>array(36,-70,955,835),26931=>array(33,-55,973,838),26932=>array(31,-71,975,837),26933=>array(26,-73,965,826),26934=>array(39,-70,969,825),26935=>array(38,-69,962,828),26936=>array(19,-55,961,852),26937=>array(39,-70,940,827),26938=>array(18,-76,981,825),26939=>array(39,-67,950,826),26940=>array(26,-70,951,830),26941=>array(36,-67,970,831),26942=>array(18,-76,951,833),26943=>array(30,-64,978,835),26944=>array(37,-68,910,824),26945=>array(39,-71,971,827),26946=>array(30,-63,962,831),26947=>array(30,-61,943,833),26948=>array(33,-70,928,824),26949=>array(30,-73,948,823),26950=>array(30,-70,952,823),26951=>array(18,-76,919,815),26952=>array(44,-72,965,824),26953=>array(42,-69,954,826),26954=>array(47,-72,944,817),26955=>array(38,-69,922,826),26956=>array(41,-72,955,836),26957=>array(35,-70,966,813),26958=>array(30,-71,951,823),26959=>array(38,-68,980,829),26960=>array(18,-76,969,815),26961=>array(35,-73,972,832),26962=>array(39,-64,967,830),26963=>array(47,-64,971,836),26964=>array(39,-70,954,828),26965=>array(28,-76,927,845),26966=>array(21,-63,914,828),26967=>array(27,-59,970,840),26968=>array(36,-69,968,830),26969=>array(33,-70,961,830),26970=>array(48,-69,954,827),26971=>array(44,-60,953,834),26972=>array(39,-71,930,827),26973=>array(39,-70,971,836),26974=>array(39,-70,942,818),26975=>array(32,-71,952,836),26976=>array(33,-67,951,830),26977=>array(33,-76,950,818),26978=>array(44,-62,967,843),26979=>array(49,-67,924,829),26980=>array(26,-76,968,850),26981=>array(31,-60,971,848),26982=>array(41,-64,957,854),26983=>array(18,-76,988,836),26984=>array(37,-74,962,836),26985=>array(33,-69,967,826),26986=>array(39,-62,973,834),26987=>array(39,-70,957,818),26988=>array(37,-70,903,823),26989=>array(52,-69,965,829),26990=>array(39,-70,949,829),26991=>array(35,-64,961,839),26992=>array(37,-76,979,824),26993=>array(34,-71,969,831),26994=>array(24,-64,968,829),26995=>array(34,-64,975,832),26996=>array(42,-70,932,839),26997=>array(39,-68,956,824),26998=>array(44,-68,968,829),26999=>array(42,-70,956,827),27000=>array(34,-66,986,827),27001=>array(39,-70,957,818),27002=>array(36,-70,961,825),27003=>array(39,-65,958,834),27004=>array(18,-52,932,838),27005=>array(50,-64,950,847),27006=>array(39,-75,966,841),27007=>array(27,-67,972,832),27008=>array(37,-68,914,825),27009=>array(39,-70,940,835),27010=>array(30,-70,966,824),27011=>array(31,-71,960,823),27012=>array(21,-64,934,830),27013=>array(44,-76,967,820),27014=>array(30,-68,971,849),27015=>array(29,-76,934,822),27016=>array(16,-68,885,825),27017=>array(27,-75,961,816),27018=>array(28,-67,917,833),27019=>array(27,-67,916,829),27020=>array(28,-72,970,829),27021=>array(30,-67,912,824),27022=>array(33,-62,967,832),27023=>array(33,-64,954,859),27024=>array(28,-71,967,827),27025=>array(31,-70,960,833),27026=>array(24,-64,917,829),27027=>array(31,-68,958,833),27028=>array(46,-61,939,835),27029=>array(33,-64,969,830),27030=>array(46,-67,970,827),27031=>array(33,-70,955,826),27032=>array(29,-66,971,842),27033=>array(38,-68,966,833),27034=>array(39,-70,967,832),27035=>array(30,-68,973,839),27036=>array(54,-70,928,833),27037=>array(30,-73,967,835),27038=>array(33,-70,968,825),27039=>array(24,-64,941,845),27040=>array(39,-72,946,831),27041=>array(30,-69,951,833),27042=>array(24,-64,967,844),27043=>array(27,-69,951,837),27044=>array(28,-70,980,829),27045=>array(38,-65,960,830),27046=>array(49,-56,968,855),27047=>array(38,-74,939,817),27048=>array(47,-69,942,838),27049=>array(26,-69,975,826),27050=>array(31,-71,923,827),27051=>array(33,-68,965,844),27052=>array(40,-74,970,826),27053=>array(28,-65,965,849),27054=>array(61,-67,948,832),27055=>array(31,-60,954,833),27056=>array(34,-68,956,832),27057=>array(19,-66,972,832),27058=>array(39,-70,965,818),27059=>array(36,-65,967,840),27060=>array(53,-66,913,834),27061=>array(31,-70,956,828),27062=>array(37,-69,951,838),27063=>array(41,-67,944,841),27064=>array(18,-70,964,823),27065=>array(26,-70,965,827),27066=>array(37,-64,971,838),27067=>array(55,-62,930,845),27068=>array(32,-64,960,833),27069=>array(32,-75,972,825),27070=>array(39,-70,947,818),27071=>array(39,-70,962,829),27072=>array(32,-62,968,831),27073=>array(39,-70,940,844),27074=>array(23,-70,963,823),27075=>array(36,-60,969,845),27076=>array(39,-70,915,822),27077=>array(43,-69,927,823),27078=>array(42,-69,945,827),27079=>array(33,-78,961,833),27080=>array(24,-64,959,829),27081=>array(26,-73,973,836),27082=>array(34,-67,970,845),27083=>array(40,-68,954,828),27084=>array(28,-72,959,843),27085=>array(31,-70,960,851),27086=>array(39,-70,951,847),27087=>array(25,-67,952,840),27088=>array(39,-70,948,844),27089=>array(30,-68,976,787),27090=>array(40,-68,950,843),27091=>array(39,-70,969,818),27092=>array(33,-67,987,849),27093=>array(35,-70,968,835),27094=>array(43,-77,968,844),27095=>array(49,-61,926,834),27096=>array(35,-62,969,843),27097=>array(34,-69,950,836),27098=>array(33,-70,923,818),27099=>array(13,-57,922,845),27100=>array(19,-76,953,843),27101=>array(39,-70,942,844),27102=>array(13,-57,958,845),27103=>array(21,-64,917,842),27104=>array(21,-65,911,825),27105=>array(13,-67,964,845),27106=>array(20,-73,916,823),27107=>array(24,-74,951,845),27108=>array(32,-71,976,825),27109=>array(37,-64,965,830),27110=>array(38,-73,959,845),27111=>array(31,-64,973,837),27112=>array(29,-62,955,836),27113=>array(29,-60,969,811),27114=>array(26,-67,966,845),27115=>array(43,-66,956,835),27116=>array(33,-78,988,835),27117=>array(33,-70,964,839),27118=>array(34,-72,989,850),27119=>array(13,-65,953,845),27120=>array(13,-68,959,845),27121=>array(30,-67,968,826),27122=>array(27,-71,962,842),27123=>array(53,-65,963,843),27124=>array(34,-65,969,831),27125=>array(13,-57,978,845),27126=>array(22,-71,906,831),27127=>array(31,-73,987,829),27128=>array(37,-70,983,824),27129=>array(37,-64,952,845),27130=>array(28,-66,966,848),27131=>array(33,-58,971,839),27132=>array(38,-71,986,826),27133=>array(44,-71,948,827),27134=>array(30,-72,979,828),27135=>array(26,-65,953,828),27136=>array(45,-67,960,847),27137=>array(46,-64,976,835),27138=>array(60,-64,959,847),27139=>array(21,-74,939,826),27140=>array(21,-71,990,826),27141=>array(39,-64,964,829),27142=>array(30,-76,945,829),27143=>array(27,-73,989,824),27144=>array(36,-70,968,835),27145=>array(37,-80,968,826),27146=>array(28,-66,964,836),27147=>array(34,-67,961,827),27148=>array(26,-68,967,829),27149=>array(30,-84,955,830),27150=>array(26,-65,942,843),27151=>array(30,-69,954,826),27152=>array(26,-65,958,839),27153=>array(36,-61,985,836),27154=>array(26,-65,945,830),27155=>array(39,-69,949,831),27156=>array(36,-67,970,842),27157=>array(30,-77,973,832),27158=>array(46,-72,961,853),27159=>array(43,-68,956,826),27160=>array(32,-70,956,824),27161=>array(33,-70,957,818),27162=>array(33,-70,959,838),27163=>array(44,-61,971,833),27164=>array(33,-79,961,841),27165=>array(39,-71,962,828),27166=>array(46,-61,957,830),27167=>array(41,-67,944,826),27168=>array(30,-69,953,826),27169=>array(31,-69,952,828),27170=>array(33,-70,959,847),27171=>array(35,-62,978,848),27172=>array(6,-73,993,824),27173=>array(38,-73,970,825),27174=>array(40,-67,958,831),27175=>array(35,-76,976,828),27176=>array(39,-68,955,832),27177=>array(25,-72,957,832),27178=>array(26,-72,944,822),27179=>array(37,-62,964,832),27180=>array(33,-70,964,831),27181=>array(33,-60,972,831),27182=>array(33,-70,957,818),27183=>array(18,-72,929,819),27184=>array(36,-63,957,838),27185=>array(22,-74,953,832),27186=>array(34,-55,966,852),27187=>array(32,-66,955,830),27188=>array(34,-71,965,831),27189=>array(44,-67,969,836),27190=>array(27,-70,948,818),27191=>array(27,-67,950,844),27192=>array(48,-68,971,833),27193=>array(39,-71,953,825),27194=>array(38,-68,954,832),27195=>array(39,-81,958,826),27196=>array(39,-77,953,820),27197=>array(35,-65,957,851),27198=>array(30,-66,977,830),27199=>array(33,-70,954,828),27200=>array(44,-64,984,851),27201=>array(37,-69,956,828),27202=>array(35,-76,974,851),27203=>array(24,-70,959,843),27204=>array(34,-69,960,835),27205=>array(21,-70,954,845),27206=>array(46,-74,961,831),27207=>array(31,-67,963,837),27208=>array(36,-69,962,830),27209=>array(33,-80,956,825),27210=>array(34,-71,946,818),27211=>array(36,-62,962,836),27212=>array(33,-70,911,818),27213=>array(39,-68,897,822),27214=>array(38,-70,963,826),27215=>array(36,-71,951,838),27216=>array(44,-65,972,832),27217=>array(34,-68,964,826),27218=>array(36,-70,954,838),27219=>array(36,-72,948,838),27220=>array(36,-79,969,839),27221=>array(44,-58,951,836),27222=>array(43,-68,972,825),27223=>array(31,-68,948,839),27224=>array(36,-61,923,828),27225=>array(27,-69,951,830),27226=>array(39,-70,952,829),27227=>array(21,-68,972,828),27228=>array(47,-64,966,816),27229=>array(40,-68,953,826),27230=>array(35,-65,963,827),27231=>array(36,-68,963,829),27232=>array(37,-80,956,837),27233=>array(38,-70,964,837),27234=>array(37,-72,948,842),27235=>array(37,-72,957,847),27236=>array(44,-67,970,838),27237=>array(47,-69,952,821),27238=>array(32,-58,958,847),27239=>array(45,-61,917,849),27240=>array(33,-74,962,830),27241=>array(36,-67,958,826),27242=>array(38,-79,964,826),27243=>array(47,-70,956,827),27244=>array(37,-72,957,819),27245=>array(40,-72,957,824),27246=>array(53,-72,913,834),27247=>array(39,-70,944,824),27248=>array(37,-72,948,863),27249=>array(24,-69,914,829),27250=>array(37,-72,933,833),27251=>array(30,-55,967,821),27252=>array(30,-71,956,830),27253=>array(37,-72,979,832),27254=>array(43,-74,964,821),27255=>array(32,-73,962,838),27256=>array(43,-73,959,818),27257=>array(21,-73,928,817),27258=>array(37,-72,911,819),27259=>array(29,-72,966,819),27260=>array(15,-63,980,837),27261=>array(41,-76,973,833),27262=>array(41,-66,974,828),27263=>array(26,-58,955,832),27264=>array(29,-61,956,841),27265=>array(46,-65,991,855),27266=>array(37,-71,966,828),27267=>array(50,-76,971,819),27268=>array(31,-66,974,844),27269=>array(24,-72,964,823),27270=>array(39,-73,943,836),27271=>array(36,-65,960,834),27272=>array(37,-72,958,819),27273=>array(37,-65,936,826),27274=>array(36,-66,980,829),27275=>array(37,-72,981,820),27276=>array(43,-65,970,829),27277=>array(31,-76,970,829),27278=>array(22,-65,971,851),27279=>array(37,-72,972,833),27280=>array(21,-70,949,838),27281=>array(50,-68,933,826),27282=>array(42,-75,967,826),27283=>array(27,-71,980,834),27284=>array(46,-59,924,839),27285=>array(51,-76,966,824),27286=>array(27,-69,974,834),27287=>array(33,-54,973,840),27288=>array(33,-72,965,849),27289=>array(35,-76,923,815),27290=>array(35,-74,976,827),27291=>array(31,-71,977,826),27292=>array(32,-64,974,861),27293=>array(41,-78,970,819),27294=>array(27,-66,961,837),27295=>array(29,-83,962,823),27296=>array(34,-65,954,834),27297=>array(34,-70,954,826),27298=>array(33,-68,969,858),27299=>array(33,-63,959,838),27300=>array(35,-71,980,827),27301=>array(29,-73,964,842),27302=>array(41,-70,919,826),27303=>array(33,-70,974,823),27304=>array(33,-74,960,829),27305=>array(22,-64,921,857),27306=>array(42,-64,973,849),27307=>array(15,-63,943,830),27308=>array(29,-61,965,836),27309=>array(40,-72,981,828),27310=>array(40,-65,950,833),27311=>array(38,-56,970,838),27312=>array(35,-68,936,845),27313=>array(25,-56,943,832),27314=>array(35,-68,917,832),27315=>array(40,-65,966,846),27316=>array(34,-68,974,827),27317=>array(35,-69,942,824),27318=>array(38,-71,983,834),27319=>array(36,-70,959,821),27320=>array(37,-63,952,839),27321=>array(38,-65,965,842),27322=>array(45,-64,969,842),27323=>array(24,-62,957,839),27324=>array(27,-69,953,825),27325=>array(36,-61,967,831),27326=>array(105,-51,918,822),27327=>array(34,-68,958,829),27328=>array(36,-69,974,840),27329=>array(26,-66,945,839),27330=>array(36,-50,957,840),27331=>array(44,-66,954,835),27332=>array(44,-71,977,835),27333=>array(36,-71,975,839),27334=>array(48,-68,977,824),27335=>array(32,-75,963,825),27336=>array(31,-62,984,847),27337=>array(27,-70,953,826),27338=>array(31,-71,913,824),27339=>array(42,-70,958,840),27340=>array(44,-69,958,832),27341=>array(40,-75,961,831),27342=>array(35,-71,957,849),27343=>array(28,-64,984,828),27344=>array(40,-65,969,813),27345=>array(43,-66,935,827),27346=>array(30,-73,973,831),27347=>array(30,-61,974,849),27348=>array(42,-65,958,831),27349=>array(42,-72,967,831),27350=>array(34,-62,965,836),27351=>array(42,-67,958,833),27352=>array(42,-62,961,831),27353=>array(44,-70,949,824),27354=>array(39,-61,904,833),27355=>array(47,-66,959,840),27356=>array(43,-59,973,843),27357=>array(30,-70,971,835),27358=>array(33,-66,972,841),27359=>array(32,-71,969,841),27360=>array(37,-71,986,838),27361=>array(58,-72,950,833),27362=>array(20,-72,972,837),27363=>array(22,-72,974,841),27364=>array(41,-68,955,841),27365=>array(33,-71,959,847),27366=>array(29,-68,970,841),27367=>array(34,-65,957,840),27368=>array(36,-71,962,833),27369=>array(44,-65,920,833),27370=>array(32,-65,955,832),27371=>array(41,-68,959,831),27372=>array(43,-62,971,843),27373=>array(30,-62,965,831),27374=>array(36,-67,951,827),27375=>array(31,-68,981,842),27376=>array(30,-78,980,841),27377=>array(43,-65,967,840),27378=>array(33,-65,979,839),27379=>array(35,-58,969,855),27380=>array(19,-72,970,843),27381=>array(27,-66,973,840),27382=>array(32,-62,960,831),27383=>array(16,-45,965,851),27384=>array(38,-72,986,835),27385=>array(40,-68,957,830),27386=>array(38,-61,936,832),27387=>array(45,-62,958,826),27388=>array(28,-78,978,832),27389=>array(48,-68,956,813),27390=>array(31,-64,969,829),27391=>array(32,-67,951,835),27392=>array(33,-70,977,837),27393=>array(22,-70,987,832),27394=>array(31,-69,959,828),27395=>array(34,-58,964,853),27396=>array(35,-65,909,836),27397=>array(31,-69,973,827),27398=>array(21,-66,969,836),27399=>array(31,-66,955,827),27400=>array(45,-64,944,838),27401=>array(40,-62,962,835),27402=>array(38,-71,952,830),27403=>array(33,-68,960,823),27404=>array(33,-68,970,838),27405=>array(28,-68,937,832),27406=>array(44,-71,964,842),27407=>array(34,-67,967,830),27408=>array(39,-73,960,828),27409=>array(33,-70,970,831),27410=>array(40,-74,961,844),27411=>array(33,-78,966,836),27412=>array(33,-65,970,828),27413=>array(33,-70,987,828),27414=>array(40,-63,961,841),27415=>array(39,-65,942,830),27416=>array(47,-68,933,827),27417=>array(49,-62,959,831),27418=>array(35,-68,978,846),27419=>array(38,-71,932,835),27420=>array(40,-65,975,839),27421=>array(56,-67,964,843),27422=>array(49,-64,968,828),27423=>array(36,-69,984,835),27424=>array(51,-69,950,842),27425=>array(49,-66,953,822),27426=>array(20,-64,948,839),27427=>array(48,-72,962,831),27428=>array(41,-75,952,819),27429=>array(106,-75,968,829),27430=>array(35,-75,968,838),27431=>array(101,-66,953,833),27432=>array(56,-73,971,829),27433=>array(51,-62,947,822),27434=>array(90,-68,956,837),27435=>array(66,-68,950,847),27436=>array(44,-68,971,848),27437=>array(115,-73,961,830),27438=>array(60,-68,971,850),27439=>array(55,-74,967,830),27440=>array(30,-72,959,831),27441=>array(34,-72,959,834),27442=>array(47,-65,969,837),27443=>array(107,-74,962,830),27444=>array(101,-73,959,848),27445=>array(46,-62,970,853),27446=>array(44,-76,964,826),27447=>array(30,-69,963,838),27448=>array(47,-66,967,839),27449=>array(57,-79,975,830),27450=>array(61,-65,968,832),27451=>array(50,-72,958,838),27452=>array(50,-72,969,830),27453=>array(39,-71,977,839),27454=>array(50,-70,954,835),27455=>array(54,-67,968,841),27456=>array(46,-76,983,824),27457=>array(65,-73,985,827),27458=>array(61,-71,975,833),27459=>array(58,-72,972,838),27460=>array(102,-69,969,827),27461=>array(56,-72,977,826),27462=>array(47,-71,964,843),27463=>array(22,-74,968,842),27464=>array(29,-73,973,844),27465=>array(34,-70,970,841),27466=>array(54,-73,963,846),27467=>array(33,-69,967,826),27468=>array(65,-66,959,839),27469=>array(51,-73,970,841),27470=>array(39,-72,967,830),27471=>array(49,-72,961,842),27472=>array(110,-79,961,830),27473=>array(46,-69,977,831),27474=>array(60,-69,971,839),27475=>array(39,-65,963,841),27476=>array(32,-73,983,838),27477=>array(53,-83,972,825),27478=>array(60,-77,970,830),27479=>array(49,-68,975,840),27480=>array(52,-56,953,835),27481=>array(37,-67,964,856),27482=>array(64,-65,983,849),27483=>array(31,-70,983,864),27484=>array(37,-80,972,836),27485=>array(63,-72,971,838),27486=>array(55,-71,967,829),27487=>array(48,-67,969,841),27488=>array(53,-59,969,849),27489=>array(37,-68,962,836),27490=>array(76,-6,931,791),27491=>array(100,-5,920,756),27492=>array(37,-57,949,804),27493=>array(57,-60,932,835),27494=>array(63,-58,942,834),27495=>array(40,-66,956,830),27496=>array(41,-66,952,835),27497=>array(53,-62,962,833),27498=>array(63,-20,919,779),27499=>array(40,-28,953,783),27500=>array(46,-74,942,822),27501=>array(53,-67,951,829),27502=>array(37,-59,957,836),27503=>array(98,-70,938,835),27504=>array(60,-51,920,792),27505=>array(45,-20,956,836),27506=>array(45,-70,940,834),27507=>array(48,-70,943,834),27508=>array(33,-56,961,801),27509=>array(30,-55,955,849),27510=>array(80,-70,939,823),27511=>array(41,-58,944,789),27512=>array(47,-71,930,846),27513=>array(79,-75,921,767),27514=>array(71,-75,815,798),27515=>array(60,-67,959,761),27516=>array(26,-60,916,801),27517=>array(41,-68,955,828),27518=>array(58,-59,921,843),27519=>array(56,-62,972,840),27520=>array(39,-57,967,840),27521=>array(44,-74,950,774),27522=>array(49,-47,957,785),27523=>array(41,-73,964,827),27524=>array(54,-71,966,853),27525=>array(53,-74,952,827),27526=>array(65,-74,951,829),27527=>array(31,-68,913,826),27528=>array(44,-63,951,838),27529=>array(63,-75,921,835),27530=>array(61,-66,964,832),27531=>array(47,-61,965,845),27532=>array(33,-73,954,773),27533=>array(57,-64,953,837),27534=>array(43,-73,961,821),27535=>array(42,-76,950,821),27536=>array(52,-70,968,829),27537=>array(52,-74,960,823),27538=>array(32,-87,910,778),27539=>array(35,-71,948,820),27540=>array(57,-69,975,831),27541=>array(55,-58,949,829),27542=>array(40,-67,954,835),27543=>array(38,-53,968,835),27544=>array(68,-60,952,832),27545=>array(57,-64,958,829),27546=>array(44,-70,939,823),27547=>array(48,-47,947,788),27548=>array(39,-68,982,842),27549=>array(39,-68,974,829),27550=>array(40,-60,958,800),27551=>array(54,-67,970,782),27552=>array(39,-71,971,843),27553=>array(36,-71,930,830),27554=>array(50,-70,954,826),27555=>array(54,-72,952,829),27556=>array(55,-70,963,845),27557=>array(39,-78,953,834),27558=>array(43,-69,946,834),27559=>array(52,-71,978,829),27560=>array(43,-68,970,833),27561=>array(35,-65,976,798),27562=>array(47,-20,954,833),27563=>array(57,-64,953,789),27564=>array(50,-64,941,786),27565=>array(35,-44,965,807),27566=>array(40,-67,977,854),27567=>array(55,-66,960,838),27568=>array(36,-68,963,830),27569=>array(42,-73,954,829),27570=>array(44,-66,946,829),27571=>array(52,-70,948,788),27572=>array(98,-66,959,792),27573=>array(41,-73,964,832),27574=>array(58,-80,958,819),27575=>array(46,-68,952,836),27576=>array(45,-69,976,833),27577=>array(81,-72,972,787),27578=>array(51,-72,967,824),27579=>array(51,-70,963,833),27580=>array(49,-68,964,833),27581=>array(35,-65,976,847),27582=>array(35,-72,960,823),27583=>array(31,-73,969,799),27584=>array(73,-64,962,836),27585=>array(58,-68,958,833),27586=>array(52,-67,944,815),27587=>array(58,-72,973,843),27588=>array(58,-69,963,835),27589=>array(39,-72,963,831),27590=>array(69,-68,958,810),27591=>array(53,-76,974,819),27592=>array(55,-73,963,830),27593=>array(71,-29,951,800),27594=>array(41,-63,976,833),27595=>array(92,-57,935,798),27596=>array(74,-58,926,788),27597=>array(77,-66,931,783),27598=>array(64,-63,933,843),27599=>array(64,-63,939,843),27600=>array(55,-65,952,836),27601=>array(44,-62,967,805),27602=>array(56,-69,944,832),27603=>array(43,-62,964,835),27604=>array(59,-36,956,811),27605=>array(58,-59,908,816),27606=>array(63,-43,951,816),27607=>array(87,-67,965,820),27608=>array(76,-62,969,794),27609=>array(41,-54,941,826),27610=>array(56,-65,956,845),27611=>array(79,-23,944,822),27612=>array(52,-18,971,840),27613=>array(52,-18,971,840),27614=>array(78,-41,947,831),27615=>array(52,-40,954,841),27616=>array(49,-32,956,823),27617=>array(52,-18,971,840),27618=>array(55,-27,961,837),27619=>array(71,-32,949,778),27620=>array(48,-62,956,830),27621=>array(52,-18,971,841),27622=>array(55,-58,956,836),27623=>array(62,-26,965,834),27624=>array(54,-25,954,833),27625=>array(52,-18,971,840),27626=>array(35,-19,931,836),27627=>array(80,-54,933,840),27628=>array(51,-24,969,832),27629=>array(44,-39,954,836),27630=>array(30,-65,964,835),27631=>array(59,-30,967,835),27632=>array(47,-29,958,834),27633=>array(47,-28,958,833),27634=>array(39,-76,955,819),27635=>array(70,-44,970,826),27636=>array(47,-28,958,823),27637=>array(30,-65,933,844),27638=>array(44,-28,972,855),27639=>array(90,-55,961,848),27640=>array(55,-28,959,825),27641=>array(28,-70,972,847),27642=>array(48,-28,960,841),27643=>array(31,-65,962,840),27644=>array(31,-68,963,819),27645=>array(44,-32,971,832),27646=>array(47,-67,960,822),27647=>array(35,-67,967,853),27648=>array(54,-69,966,824),27649=>array(60,-28,972,835),27650=>array(53,-76,958,825),27651=>array(46,-45,962,839),27652=>array(38,-54,960,844),27653=>array(49,-34,959,841),27654=>array(54,-43,974,840),27655=>array(30,-25,928,835),27656=>array(68,-56,946,844),27657=>array(37,-58,964,840),27658=>array(54,-43,974,854),27659=>array(52,-69,971,828),27660=>array(48,-40,978,843),27661=>array(33,-66,966,830),27662=>array(61,-46,961,825),27663=>array(83,-68,934,828),27664=>array(100,-54,907,832),27665=>array(51,-67,950,784),27666=>array(91,-71,936,839),27667=>array(111,-61,951,781),27668=>array(39,-56,966,853),27669=>array(36,-67,957,847),27670=>array(51,-64,965,845),27671=>array(36,-62,963,853),27672=>array(46,-69,966,840),27673=>array(44,-62,965,852),27674=>array(26,-68,959,849),27675=>array(52,-69,962,839),27676=>array(35,-63,959,849),27677=>array(36,-75,960,835),27678=>array(36,-72,960,835),27679=>array(37,-76,962,829),27680=>array(10,-71,933,837),27681=>array(45,-76,961,845),27682=>array(38,-63,943,832),27683=>array(50,-67,959,838),27684=>array(40,-63,979,849),27685=>array(37,-66,968,842),27686=>array(41,-65,972,858),27687=>array(42,-70,958,832),27688=>array(41,-73,961,835),27689=>array(21,-64,938,825),27690=>array(38,-66,968,849),27691=>array(47,-68,957,831),27692=>array(39,-61,974,854),27693=>array(38,-66,966,852),27694=>array(48,-79,963,835),27695=>array(45,-74,959,841),27696=>array(35,-70,964,839),27697=>array(25,-69,955,830),27698=>array(25,-70,955,830),27699=>array(43,-71,971,833),27700=>array(47,-64,953,826),27701=>array(320,-38,602,803),27702=>array(51,-74,958,782),27703=>array(47,-64,953,826),27704=>array(51,-65,957,838),27705=>array(85,-28,958,830),27706=>array(40,-64,962,826),27707=>array(69,-60,921,829),27708=>array(54,-39,945,830),27709=>array(27,-71,967,846),27710=>array(71,-32,962,814),27711=>array(60,-65,966,823),27712=>array(51,-55,941,808),27713=>array(58,-59,962,833),27714=>array(61,-65,938,835),27715=>array(60,-62,977,814),27716=>array(60,-63,942,835),27717=>array(59,-51,937,814),27718=>array(33,-65,961,790),27719=>array(46,-49,920,803),27720=>array(70,-59,896,790),27721=>array(40,-59,956,804),27722=>array(57,-66,967,813),27723=>array(59,-57,912,836),27724=>array(62,-72,910,829),27725=>array(44,-71,975,826),27726=>array(53,-62,959,825),27727=>array(62,-65,960,829),27728=>array(67,-71,919,831),27729=>array(67,-42,930,826),27730=>array(55,-49,958,836),27731=>array(55,-64,954,802),27732=>array(60,-37,967,842),27733=>array(57,-65,898,820),27734=>array(54,-65,954,833),27735=>array(48,-67,948,798),27736=>array(48,-59,933,831),27737=>array(51,-67,957,814),27738=>array(49,-52,948,802),27739=>array(43,-63,975,812),27740=>array(33,-46,945,808),27741=>array(47,-62,947,847),27742=>array(58,-68,948,781),27743=>array(65,-51,940,796),27744=>array(48,-46,959,825),27745=>array(58,-52,943,802),27746=>array(74,-58,945,811),27747=>array(92,-68,957,831),27748=>array(51,-63,899,790),27749=>array(52,-70,977,828),27750=>array(44,-68,963,826),27751=>array(69,-68,964,801),27752=>array(70,-57,900,812),27753=>array(55,-40,911,817),27754=>array(54,-41,944,809),27755=>array(53,-68,951,833),27756=>array(57,-67,964,822),27757=>array(61,-69,905,801),27758=>array(41,-65,904,831),27759=>array(48,-61,951,830),27760=>array(48,-64,962,835),27761=>array(50,-70,957,837),27762=>array(41,-68,955,820),27763=>array(49,-73,972,807),27764=>array(53,-64,944,846),27765=>array(53,-73,945,854),27766=>array(42,-66,962,830),27767=>array(59,-63,941,805),27768=>array(54,-69,949,833),27769=>array(58,-59,900,820),27770=>array(56,-72,970,836),27771=>array(41,-75,951,826),27772=>array(41,-75,951,811),27773=>array(63,-61,962,850),27774=>array(41,-62,955,814),27775=>array(62,-57,950,820),27776=>array(45,-75,931,825),27777=>array(56,-48,947,811),27778=>array(58,-67,950,831),27779=>array(48,-64,962,819),27780=>array(46,-60,946,807),27781=>array(47,-70,948,812),27782=>array(63,-66,951,817),27783=>array(48,-60,951,849),27784=>array(56,-73,946,824),27785=>array(51,-58,952,788),27786=>array(49,-58,973,833),27787=>array(51,-69,960,827),27788=>array(41,-44,963,833),27789=>array(56,-38,939,794),27790=>array(45,-62,961,844),27791=>array(62,-67,926,814),27792=>array(43,-63,960,833),27793=>array(66,-51,947,821),27794=>array(58,-71,953,841),27795=>array(54,-62,962,835),27796=>array(54,-60,944,814),27797=>array(59,-56,926,855),27798=>array(54,-64,914,839),27799=>array(35,-58,976,803),27800=>array(52,-50,964,817),27801=>array(51,-62,968,812),27802=>array(65,-44,966,807),27803=>array(41,-65,942,837),27804=>array(70,-66,953,837),27805=>array(31,-69,969,835),27806=>array(52,-74,939,826),27807=>array(41,-61,903,831),27808=>array(66,-64,959,821),27809=>array(47,-62,959,805),27810=>array(40,-66,973,805),27811=>array(58,-63,920,813),27812=>array(42,-47,929,822),27813=>array(41,-57,916,827),27814=>array(52,-46,948,837),27815=>array(28,-63,967,821),27816=>array(58,-58,937,824),27817=>array(41,-62,892,819),27818=>array(45,-62,874,836),27819=>array(56,-61,980,833),27820=>array(62,-72,984,819),27821=>array(39,-67,947,829),27822=>array(57,-30,957,820),27823=>array(52,-52,967,813),27824=>array(53,-71,951,803),27825=>array(53,-44,951,828),27826=>array(38,-58,953,810),27827=>array(49,-67,952,796),27828=>array(46,-47,978,862),27829=>array(73,-53,947,840),27830=>array(51,-73,956,800),27831=>array(53,-81,961,827),27832=>array(42,-63,915,823),27833=>array(64,-69,903,836),27834=>array(54,-74,900,801),27835=>array(48,-64,959,834),27836=>array(52,-61,896,817),27837=>array(69,-64,956,836),27838=>array(67,-56,946,836),27839=>array(43,-48,936,814),27840=>array(45,-68,891,806),27841=>array(59,-62,965,810),27842=>array(45,-73,894,813),27843=>array(47,-70,896,825),27844=>array(39,-63,953,835),27845=>array(49,-66,897,811),27846=>array(28,-50,976,856),27847=>array(48,-73,909,818),27848=>array(81,-66,984,829),27849=>array(46,-73,960,843),27850=>array(60,-57,875,847),27851=>array(39,-66,968,828),27852=>array(42,-32,972,829),27853=>array(44,-67,968,835),27854=>array(97,-62,955,845),27855=>array(42,-71,915,830),27856=>array(64,-68,918,832),27857=>array(57,-75,907,831),27858=>array(55,-64,975,849),27859=>array(50,-53,958,808),27860=>array(46,-53,947,831),27861=>array(64,-59,945,821),27862=>array(56,-68,924,837),27863=>array(61,-53,909,810),27864=>array(78,-67,931,825),27865=>array(54,-64,952,818),27866=>array(38,-39,960,838),27867=>array(56,-67,963,836),27868=>array(41,-69,958,834),27869=>array(55,-68,952,842),27870=>array(51,-72,910,824),27871=>array(62,-63,953,806),27872=>array(36,-50,969,870),27873=>array(46,-46,968,834),27874=>array(50,-75,961,831),27875=>array(62,-27,956,820),27876=>array(59,-65,960,828),27877=>array(56,-64,957,821),27878=>array(62,-57,973,818),27879=>array(55,-70,960,828),27880=>array(60,-46,939,838),27881=>array(49,-58,958,831),27882=>array(53,-59,914,820),27883=>array(54,-53,949,831),27884=>array(53,-72,972,846),27885=>array(52,-73,948,823),27886=>array(63,-69,967,825),27887=>array(49,-63,951,812),27888=>array(38,-65,963,838),27889=>array(59,-71,983,831),27890=>array(50,-46,922,856),27891=>array(42,-58,980,851),27892=>array(58,-26,988,825),27893=>array(57,-67,964,777),27894=>array(45,-66,929,815),27895=>array(57,-62,929,822),27896=>array(53,-62,910,822),27897=>array(53,-50,955,798),27898=>array(42,-62,933,828),27899=>array(43,-55,893,806),27900=>array(47,-76,949,814),27901=>array(55,-70,948,805),27902=>array(63,-58,926,799),27903=>array(64,-72,964,812),27904=>array(51,-69,954,838),27905=>array(57,-71,957,827),27906=>array(57,-66,945,846),27907=>array(44,-78,972,829),27908=>array(71,-57,915,803),27909=>array(57,-66,965,806),27910=>array(47,-60,964,805),27911=>array(56,-63,910,810),27912=>array(50,-73,964,829),27913=>array(49,-67,955,822),27914=>array(56,-64,970,840),27915=>array(42,-65,951,846),27916=>array(45,-62,902,830),27917=>array(52,-44,954,812),27918=>array(58,-69,898,842),27919=>array(56,-70,954,811),27920=>array(55,-70,955,830),27921=>array(49,-66,974,841),27922=>array(46,-53,947,813),27923=>array(55,-65,941,824),27924=>array(58,-61,935,838),27925=>array(41,-73,975,818),27926=>array(46,-70,962,807),27927=>array(60,-62,963,833),27928=>array(47,-74,953,825),27929=>array(42,-62,967,832),27930=>array(49,-70,968,834),27931=>array(57,-72,959,842),27932=>array(38,-67,981,849),27933=>array(55,-71,959,835),27934=>array(48,-55,898,819),27935=>array(45,-74,973,830),27936=>array(51,-68,954,844),27937=>array(71,-67,965,824),27938=>array(53,-79,952,830),27939=>array(51,-65,955,824),27940=>array(44,-38,962,845),27941=>array(48,-62,959,842),27942=>array(52,-70,932,830),27943=>array(42,-77,945,828),27944=>array(52,-74,963,835),27945=>array(55,-63,974,831),27946=>array(69,-60,940,834),27947=>array(50,-53,970,829),27948=>array(53,-71,963,818),27949=>array(50,-45,953,812),27950=>array(52,-60,967,825),27951=>array(53,-68,948,829),27952=>array(54,-52,949,805),27953=>array(56,-64,959,812),27954=>array(57,-70,897,820),27955=>array(56,-64,908,834),27956=>array(48,-65,956,847),27957=>array(50,-59,908,850),27958=>array(56,-63,917,838),27959=>array(55,-57,956,809),27960=>array(59,-75,965,819),27961=>array(54,-53,959,802),27962=>array(55,-72,889,830),27963=>array(43,-70,942,826),27964=>array(50,-54,956,829),27965=>array(50,-59,986,845),27966=>array(51,-72,966,832),27967=>array(58,-63,988,854),27968=>array(48,-73,909,828),27969=>array(40,-70,964,830),27970=>array(48,-73,970,836),27971=>array(49,-74,939,818),27972=>array(48,-61,952,839),27973=>array(46,-70,939,853),27974=>array(34,-61,947,836),27975=>array(37,-63,929,834),27976=>array(62,-80,920,819),27977=>array(46,-71,930,822),27978=>array(57,-54,935,816),27979=>array(48,-63,880,828),27980=>array(45,-63,956,825),27981=>array(45,-68,940,822),27982=>array(36,-64,952,835),27983=>array(55,-68,871,821),27984=>array(54,-68,917,846),27985=>array(57,-60,909,811),27986=>array(46,-69,920,822),27987=>array(40,-58,950,831),27988=>array(43,-64,911,790),27989=>array(54,-64,936,810),27990=>array(46,-66,934,835),27991=>array(56,-63,956,833),27992=>array(66,-64,970,821),27993=>array(41,-65,954,835),27994=>array(24,-54,948,846),27995=>array(42,-70,955,839),27996=>array(47,-65,963,824),27997=>array(52,-45,965,833),27998=>array(50,-54,972,829),27999=>array(50,-76,971,839),28000=>array(40,-65,951,838),28001=>array(60,-63,957,844),28002=>array(63,-44,966,818),28003=>array(56,-64,960,839),28004=>array(52,-65,940,833),28005=>array(45,-35,955,818),28006=>array(42,-52,956,847),28007=>array(53,-43,951,813),28008=>array(57,-68,972,831),28009=>array(29,-63,944,841),28010=>array(62,-63,962,829),28011=>array(46,-60,938,817),28012=>array(48,-49,952,817),28013=>array(47,-70,962,816),28014=>array(46,-68,951,834),28015=>array(54,-47,949,835),28016=>array(55,-65,909,831),28017=>array(54,-70,963,808),28018=>array(54,-72,969,842),28019=>array(57,-76,957,843),28020=>array(53,-60,959,847),28021=>array(43,-74,954,831),28022=>array(46,-69,945,836),28023=>array(42,-62,956,843),28024=>array(42,-69,949,798),28025=>array(43,-67,971,830),28026=>array(54,-67,911,827),28027=>array(50,-65,908,819),28028=>array(42,-65,962,840),28029=>array(53,-66,958,821),28030=>array(53,-70,953,830),28031=>array(56,-78,955,810),28032=>array(51,-66,963,811),28033=>array(55,-76,966,822),28034=>array(48,-68,975,843),28035=>array(52,-71,906,812),28036=>array(55,-68,956,830),28037=>array(28,-26,960,816),28038=>array(44,-67,950,809),28039=>array(50,-38,956,820),28040=>array(64,-67,917,833),28041=>array(48,-58,956,834),28042=>array(55,-52,972,809),28043=>array(56,-71,968,826),28044=>array(49,-61,897,818),28045=>array(50,-67,947,832),28046=>array(36,-66,964,813),28047=>array(63,-68,948,810),28048=>array(59,-67,964,827),28049=>array(49,-68,961,825),28050=>array(45,-68,948,814),28051=>array(74,-65,915,814),28052=>array(53,-67,996,829),28053=>array(42,-68,927,844),28054=>array(39,-48,956,859),28055=>array(57,-70,955,840),28056=>array(37,-53,973,863),28057=>array(36,-68,959,827),28058=>array(54,-64,968,852),28059=>array(61,-61,937,834),28060=>array(41,-59,955,844),28061=>array(52,-54,911,834),28062=>array(44,-59,943,823),28063=>array(44,-58,938,816),28064=>array(49,-63,869,800),28065=>array(41,-70,893,795),28066=>array(51,-67,929,813),28067=>array(22,-63,946,842),28068=>array(45,-59,944,828),28069=>array(50,-61,908,848),28070=>array(62,-53,918,829),28071=>array(46,-62,870,819),28072=>array(45,-60,956,821),28073=>array(53,-41,928,798),28074=>array(45,-67,952,845),28075=>array(51,-65,928,850),28076=>array(67,-67,933,827),28077=>array(76,-69,964,832),28078=>array(63,-66,924,830),28079=>array(39,-64,951,818),28080=>array(58,-67,967,794),28081=>array(50,-69,961,804),28082=>array(52,-68,961,839),28083=>array(66,-52,956,833),28084=>array(43,-56,962,857),28085=>array(53,-63,911,810),28086=>array(69,-50,941,828),28087=>array(85,-71,963,820),28088=>array(53,-65,900,824),28089=>array(51,-72,946,840),28090=>array(72,-73,932,813),28091=>array(54,-72,962,825),28092=>array(49,-61,964,831),28093=>array(66,-71,957,816),28094=>array(82,-68,946,820),28095=>array(54,-51,975,815),28096=>array(54,-74,956,820),28097=>array(54,-71,944,841),28098=>array(78,-65,953,813),28099=>array(50,-50,951,834),28100=>array(65,-62,926,842),28101=>array(40,-58,953,839),28102=>array(54,-64,958,844),28103=>array(48,-65,961,830),28104=>array(65,-80,908,800),28105=>array(84,-71,965,815),28106=>array(57,-70,897,829),28107=>array(28,-63,968,841),28108=>array(45,-62,935,838),28109=>array(66,-77,906,804),28110=>array(66,-67,967,832),28111=>array(88,-74,971,819),28112=>array(85,-69,906,806),28113=>array(31,-66,975,829),28114=>array(35,-66,953,838),28115=>array(63,-72,956,823),28116=>array(69,-56,955,834),28117=>array(80,-60,954,832),28118=>array(38,-65,945,836),28119=>array(59,-62,904,828),28120=>array(47,-58,911,847),28121=>array(40,-62,961,836),28122=>array(48,-66,982,843),28123=>array(71,-71,905,821),28124=>array(74,-75,911,806),28125=>array(40,-62,960,806),28126=>array(29,-65,956,832),28127=>array(37,-54,970,849),28128=>array(46,-64,955,814),28129=>array(47,-62,965,846),28130=>array(79,-70,958,820),28131=>array(50,-58,957,850),28132=>array(40,-61,965,835),28133=>array(40,-64,956,837),28134=>array(50,-36,957,843),28135=>array(50,-39,989,843),28136=>array(57,-61,950,834),28137=>array(47,-73,964,835),28138=>array(39,-58,991,856),28139=>array(41,-42,943,827),28140=>array(24,-61,948,840),28141=>array(70,-68,961,824),28142=>array(43,-59,962,849),28143=>array(50,-66,941,832),28144=>array(38,-53,969,848),28145=>array(44,-68,963,808),28146=>array(57,-79,956,823),28147=>array(50,-61,955,831),28148=>array(34,-33,955,846),28149=>array(47,-65,900,830),28150=>array(52,-65,985,836),28151=>array(55,-60,961,803),28152=>array(39,-64,943,833),28153=>array(42,-37,984,854),28154=>array(42,-60,978,845),28155=>array(53,-55,962,837),28156=>array(49,-68,978,827),28157=>array(64,-53,951,824),28158=>array(51,-69,962,857),28159=>array(70,-68,922,838),28160=>array(76,-80,974,820),28161=>array(47,-68,961,823),28162=>array(51,-60,949,795),28163=>array(41,-70,951,821),28164=>array(44,-62,953,820),28165=>array(39,-67,943,833),28166=>array(42,-57,909,826),28167=>array(39,-63,924,800),28168=>array(42,-60,958,825),28169=>array(39,-67,966,824),28170=>array(59,-72,882,824),28171=>array(48,-31,956,834),28172=>array(46,-60,936,807),28173=>array(54,-75,912,827),28174=>array(52,-60,929,823),28175=>array(52,-62,954,833),28176=>array(36,-63,920,829),28177=>array(50,-48,933,799),28178=>array(36,-65,957,841),28179=>array(46,-57,979,828),28180=>array(50,-48,922,829),28181=>array(42,-57,909,826),28182=>array(60,-72,910,832),28183=>array(51,-61,964,839),28184=>array(82,-69,964,813),28185=>array(34,-65,951,838),28186=>array(47,-65,948,833),28187=>array(54,-76,956,837),28188=>array(50,-72,970,804),28189=>array(33,-76,965,843),28190=>array(81,-71,934,837),28191=>array(46,-62,921,849),28192=>array(53,-68,965,819),28193=>array(49,-71,973,832),28194=>array(29,-54,972,812),28195=>array(33,-29,959,843),28196=>array(63,-77,930,836),28197=>array(48,-70,956,811),28198=>array(51,-59,896,822),28199=>array(62,-71,919,838),28200=>array(46,-76,975,803),28201=>array(36,-61,943,781),28202=>array(61,-80,930,820),28203=>array(45,-65,978,830),28204=>array(64,-65,909,826),28205=>array(65,-65,913,808),28206=>array(50,-65,950,828),28207=>array(47,-56,961,826),28208=>array(54,-67,973,844),28209=>array(49,-49,959,825),28210=>array(55,-39,954,847),28211=>array(40,-70,952,813),28212=>array(62,-65,919,801),28213=>array(49,-70,956,825),28214=>array(57,-79,970,824),28215=>array(49,-58,967,856),28216=>array(54,-77,950,839),28217=>array(49,-50,919,855),28218=>array(28,-71,946,826),28219=>array(46,-72,960,831),28220=>array(58,-65,982,845),28221=>array(51,-74,962,822),28222=>array(43,-57,956,821),28223=>array(45,-67,980,829),28224=>array(52,-76,968,829),28225=>array(49,-72,963,834),28226=>array(52,-60,963,805),28227=>array(44,-61,961,832),28228=>array(80,-69,919,808),28229=>array(39,-46,968,855),28230=>array(43,-69,951,833),28231=>array(41,-73,947,829),28232=>array(48,-59,975,832),28233=>array(50,-71,952,824),28234=>array(49,-69,966,825),28235=>array(46,-71,950,838),28236=>array(52,-63,963,848),28237=>array(54,-64,956,833),28238=>array(43,-64,951,809),28239=>array(47,-71,939,832),28240=>array(48,-65,918,829),28241=>array(45,-48,963,820),28242=>array(52,-71,951,811),28243=>array(43,-53,959,823),28244=>array(50,-65,965,850),28245=>array(40,-73,978,826),28246=>array(68,-68,912,829),28247=>array(69,-61,954,826),28248=>array(69,-65,916,829),28249=>array(69,-38,980,840),28250=>array(54,-70,965,828),28251=>array(38,-65,948,823),28252=>array(49,-65,979,811),28253=>array(55,-69,958,825),28254=>array(60,-77,955,833),28255=>array(42,-37,959,846),28256=>array(55,-66,954,835),28257=>array(52,-66,910,801),28258=>array(55,-72,951,811),28259=>array(48,-44,959,821),28260=>array(43,-57,959,853),28261=>array(45,-70,977,832),28262=>array(52,-46,955,807),28263=>array(44,-68,918,814),28264=>array(49,-67,974,812),28265=>array(45,-64,962,818),28266=>array(49,-63,974,843),28267=>array(50,-67,979,833),28268=>array(25,-67,964,833),28269=>array(29,-65,955,842),28270=>array(34,-50,939,810),28271=>array(51,-68,953,795),28272=>array(43,-48,938,844),28273=>array(56,-65,955,835),28274=>array(41,-56,968,846),28275=>array(55,-64,956,836),28276=>array(53,-40,959,851),28277=>array(45,-60,969,840),28278=>array(45,-70,974,840),28279=>array(49,-70,961,832),28280=>array(52,-70,961,830),28281=>array(49,-68,956,806),28282=>array(64,-65,949,840),28283=>array(45,-64,954,845),28284=>array(48,-46,948,821),28285=>array(65,-62,952,843),28286=>array(54,-61,953,836),28287=>array(49,-39,933,804),28288=>array(38,-59,922,828),28289=>array(44,-70,962,818),28290=>array(44,-67,903,831),28291=>array(48,-64,919,827),28292=>array(48,-63,969,840),28293=>array(29,-63,931,833),28294=>array(42,-69,949,817),28295=>array(29,-52,928,837),28296=>array(46,-68,939,839),28297=>array(48,-64,963,811),28298=>array(48,-67,969,817),28299=>array(48,-33,965,817),28300=>array(46,-61,966,823),28301=>array(49,-69,961,816),28302=>array(44,-54,954,849),28303=>array(37,-65,949,828),28304=>array(48,-70,943,799),28305=>array(51,-72,935,836),28306=>array(43,-71,960,827),28307=>array(65,-71,953,831),28308=>array(50,-74,971,833),28309=>array(50,-60,965,799),28310=>array(54,-67,951,843),28311=>array(38,-70,967,836),28312=>array(31,-41,938,832),28313=>array(45,-70,987,845),28314=>array(55,-68,966,827),28315=>array(55,-74,976,838),28316=>array(45,-66,925,830),28317=>array(43,-67,948,829),28318=>array(64,-72,963,806),28319=>array(48,-66,966,807),28320=>array(55,-45,952,835),28321=>array(35,-70,954,824),28322=>array(48,-34,952,839),28323=>array(38,-67,973,848),28324=>array(41,-71,932,797),28325=>array(53,-64,951,835),28326=>array(46,-69,964,830),28327=>array(51,-62,967,804),28328=>array(51,-59,972,842),28329=>array(26,-60,928,839),28330=>array(26,-69,977,838),28331=>array(53,-59,959,784),28332=>array(53,-59,980,829),28333=>array(53,-59,973,802),28334=>array(52,-68,968,838),28335=>array(66,-70,922,837),28336=>array(58,-49,954,830),28337=>array(44,-66,986,840),28338=>array(34,-64,970,837),28339=>array(51,-71,969,811),28340=>array(56,-67,975,842),28341=>array(56,-71,989,836),28342=>array(53,-68,964,835),28343=>array(46,-65,905,818),28344=>array(56,-67,980,830),28345=>array(62,-65,958,831),28346=>array(54,-60,927,803),28347=>array(57,-63,878,808),28348=>array(57,-41,959,816),28349=>array(36,-64,950,810),28350=>array(45,-64,965,851),28351=>array(45,-70,958,824),28352=>array(55,-73,950,835),28353=>array(44,-65,978,840),28354=>array(51,-62,959,848),28355=>array(36,-52,973,812),28356=>array(46,-65,991,863),28357=>array(53,-68,954,828),28358=>array(55,-68,951,802),28359=>array(53,-69,962,844),28360=>array(63,-64,954,839),28361=>array(47,-62,962,813),28362=>array(55,-63,972,847),28363=>array(45,-65,944,841),28364=>array(38,-58,978,853),28365=>array(48,-73,946,831),28366=>array(46,-65,952,830),28367=>array(35,-49,969,836),28368=>array(43,-68,970,835),28369=>array(49,-62,926,811),28370=>array(57,-74,951,797),28371=>array(41,-66,952,840),28372=>array(57,-65,950,836),28373=>array(27,-64,958,824),28374=>array(53,-71,965,836),28375=>array(43,-49,924,827),28376=>array(48,-61,959,814),28377=>array(47,-39,951,828),28378=>array(44,-79,961,841),28379=>array(43,-76,939,820),28380=>array(54,-70,987,852),28381=>array(44,-51,958,835),28382=>array(43,-72,938,829),28383=>array(37,-63,926,826),28384=>array(46,-64,943,805),28385=>array(38,-59,922,828),28386=>array(37,-43,921,824),28387=>array(37,-76,979,791),28388=>array(39,-57,940,832),28389=>array(45,-54,920,828),28390=>array(46,-60,951,841),28391=>array(46,-54,978,852),28392=>array(43,-70,927,844),28393=>array(40,-39,917,834),28394=>array(45,-69,969,810),28395=>array(50,-68,960,836),28396=>array(44,-64,963,815),28397=>array(55,-74,953,799),28398=>array(55,-75,977,832),28399=>array(45,-68,950,829),28400=>array(61,-65,952,847),28401=>array(61,-71,970,838),28402=>array(45,-68,945,859),28403=>array(36,-80,923,826),28404=>array(36,-68,954,831),28405=>array(49,-73,966,842),28406=>array(56,-73,972,829),28407=>array(63,-64,953,837),28408=>array(38,-64,951,832),28409=>array(54,-66,955,839),28410=>array(50,-49,956,818),28411=>array(50,-64,959,844),28412=>array(54,-60,967,826),28413=>array(56,-68,956,839),28414=>array(57,-68,961,827),28415=>array(46,-69,948,830),28416=>array(33,-72,961,826),28417=>array(44,-60,972,850),28418=>array(23,-65,971,795),28419=>array(51,-73,974,836),28420=>array(55,-81,952,832),28421=>array(55,-70,962,834),28422=>array(29,-64,969,838),28423=>array(51,-74,973,831),28424=>array(51,-68,955,830),28425=>array(41,-70,970,828),28426=>array(35,-72,945,837),28427=>array(41,-67,985,845),28428=>array(35,-41,965,830),28429=>array(50,-71,898,813),28430=>array(52,-73,968,827),28431=>array(46,-67,956,800),28432=>array(66,-71,964,840),28433=>array(47,-52,959,847),28434=>array(57,-74,963,830),28435=>array(37,-58,943,841),28436=>array(40,-66,960,840),28437=>array(38,-65,956,837),28438=>array(47,-62,972,833),28439=>array(46,-54,962,843),28440=>array(51,-53,964,821),28441=>array(69,-68,964,831),28442=>array(42,-31,957,805),28443=>array(46,-45,983,828),28444=>array(47,-52,964,824),28445=>array(50,-65,919,804),28446=>array(56,-69,961,827),28447=>array(51,-28,954,839),28448=>array(28,-63,974,840),28449=>array(56,-70,954,838),28450=>array(38,-68,962,838),28451=>array(37,-58,963,833),28452=>array(38,-63,948,819),28453=>array(50,-52,954,836),28454=>array(38,-68,978,841),28455=>array(47,-67,961,832),28456=>array(61,-70,972,843),28457=>array(38,-62,973,849),28458=>array(41,-62,961,829),28459=>array(36,-68,972,806),28460=>array(47,-69,969,837),28461=>array(57,-70,968,827),28462=>array(49,-69,959,844),28463=>array(50,-60,962,819),28464=>array(40,-68,908,842),28465=>array(39,-71,970,837),28466=>array(44,-68,962,816),28467=>array(41,-67,952,843),28468=>array(47,-76,934,824),28469=>array(33,-58,966,833),28470=>array(34,-35,958,829),28471=>array(37,-71,953,838),28472=>array(48,-68,956,836),28473=>array(56,-68,955,814),28474=>array(51,-72,968,823),28475=>array(47,-71,966,808),28476=>array(51,-70,955,823),28477=>array(63,-74,957,805),28478=>array(45,-62,974,840),28479=>array(36,-68,959,839),28480=>array(43,-50,962,814),28481=>array(38,-66,956,831),28482=>array(54,-58,945,833),28483=>array(50,-71,964,832),28484=>array(51,-65,972,846),28485=>array(45,-72,936,843),28486=>array(37,-63,913,825),28487=>array(43,-66,951,824),28488=>array(39,-55,971,824),28489=>array(44,-54,943,840),28490=>array(36,-61,967,831),28491=>array(40,-65,946,824),28492=>array(48,-46,944,841),28493=>array(40,-43,923,832),28494=>array(48,-71,977,824),28495=>array(51,-70,920,801),28496=>array(52,-64,974,838),28497=>array(30,-63,983,846),28498=>array(50,-64,977,828),28499=>array(55,-52,985,824),28500=>array(57,-68,951,823),28501=>array(47,-71,978,829),28502=>array(53,-45,958,801),28503=>array(49,-66,979,848),28504=>array(33,-66,969,832),28505=>array(31,-60,945,837),28506=>array(41,-59,954,846),28507=>array(55,-65,964,837),28508=>array(53,-48,956,840),28509=>array(44,-70,985,841),28510=>array(42,-65,972,833),28511=>array(58,-64,922,846),28512=>array(40,-70,955,797),28513=>array(49,-71,981,841),28514=>array(37,-66,955,832),28515=>array(48,-68,908,809),28516=>array(71,-69,915,794),28517=>array(69,-72,960,793),28518=>array(44,-64,968,838),28519=>array(52,-70,915,824),28520=>array(69,-62,966,847),28521=>array(49,-74,960,807),28522=>array(52,-71,916,832),28523=>array(49,-68,975,828),28524=>array(49,-69,951,805),28525=>array(40,-71,962,805),28526=>array(58,-79,905,832),28527=>array(44,-62,952,805),28528=>array(57,-68,960,837),28529=>array(57,-56,937,839),28530=>array(57,-70,950,828),28531=>array(50,-71,948,808),28532=>array(36,-63,934,823),28533=>array(38,-69,963,832),28534=>array(48,-63,977,807),28535=>array(52,-72,956,829),28536=>array(32,-71,964,834),28537=>array(32,-51,968,819),28538=>array(38,-68,960,808),28539=>array(48,-68,975,823),28540=>array(53,-49,953,845),28541=>array(51,-71,956,836),28542=>array(49,-74,974,821),28543=>array(36,-65,904,813),28544=>array(33,-38,956,810),28545=>array(46,-60,959,836),28546=>array(42,-69,974,838),28547=>array(33,-78,961,817),28548=>array(46,-52,964,837),28549=>array(45,-50,952,828),28550=>array(51,-61,973,840),28551=>array(44,-56,949,846),28552=>array(45,-70,974,841),28553=>array(35,-66,975,831),28554=>array(48,-62,957,851),28555=>array(50,-71,952,804),28556=>array(37,-64,954,843),28557=>array(42,-62,955,830),28558=>array(36,-59,972,845),28559=>array(34,-58,934,813),28560=>array(46,-75,954,812),28561=>array(40,-49,923,804),28562=>array(42,-56,973,818),28563=>array(49,-68,961,835),28564=>array(32,-50,950,853),28565=>array(55,-69,947,826),28566=>array(46,-68,906,812),28567=>array(37,-60,894,820),28568=>array(32,-51,956,834),28569=>array(41,-70,960,835),28570=>array(32,-68,949,844),28571=>array(32,-74,943,835),28572=>array(52,-58,883,820),28573=>array(44,-59,945,847),28574=>array(68,-74,972,826),28575=>array(62,-63,977,854),28576=>array(40,-46,962,804),28577=>array(39,-67,977,795),28578=>array(59,-68,910,824),28579=>array(41,-65,976,837),28580=>array(35,-68,956,822),28581=>array(66,-73,952,822),28582=>array(45,-69,969,810),28583=>array(43,-41,951,833),28584=>array(41,-43,951,850),28585=>array(87,-68,924,833),28586=>array(55,-77,995,820),28587=>array(66,-65,946,825),28588=>array(62,-79,965,825),28589=>array(71,-71,954,839),28590=>array(19,-65,969,855),28591=>array(69,-70,963,823),28592=>array(63,-69,970,836),28593=>array(45,-68,975,808),28594=>array(68,-69,958,823),28595=>array(24,-68,963,851),28596=>array(35,-73,976,806),28597=>array(35,-55,948,828),28598=>array(42,-44,956,849),28599=>array(36,-57,941,819),28600=>array(52,-57,962,831),28601=>array(28,-56,941,856),28602=>array(75,-53,975,837),28603=>array(45,-56,944,843),28604=>array(42,-65,953,841),28605=>array(56,-66,957,828),28606=>array(37,-57,951,833),28607=>array(71,-71,961,822),28608=>array(40,-72,962,840),28609=>array(54,-59,914,815),28610=>array(28,-68,962,830),28611=>array(34,-75,965,840),28612=>array(74,-68,974,810),28613=>array(39,-54,984,853),28614=>array(47,-67,966,836),28615=>array(41,-44,951,855),28616=>array(43,-68,964,818),28617=>array(44,-66,954,839),28618=>array(69,-78,964,825),28619=>array(77,-70,987,820),28620=>array(49,-71,970,824),28621=>array(70,-57,969,826),28622=>array(74,-68,954,812),28623=>array(68,-65,967,822),28624=>array(68,-64,986,822),28625=>array(39,-63,935,826),28626=>array(49,-58,951,835),28627=>array(28,-68,962,850),28628=>array(51,-71,958,802),28629=>array(53,-70,963,799),28630=>array(69,-63,961,802),28631=>array(39,-63,991,835),28632=>array(39,-60,956,849),28633=>array(52,-49,952,839),28634=>array(52,-65,937,829),28635=>array(43,-62,952,837),28636=>array(54,-54,957,826),28637=>array(53,-69,974,829),28638=>array(42,-64,962,859),28639=>array(48,-71,954,838),28640=>array(35,-59,967,834),28641=>array(40,-68,938,812),28642=>array(45,-70,952,801),28643=>array(59,-73,979,831),28644=>array(40,-58,963,841),28645=>array(40,-60,975,848),28646=>array(35,-63,959,826),28647=>array(55,-68,954,827),28648=>array(53,-41,965,841),28649=>array(51,-68,963,829),28650=>array(49,-43,972,842),28651=>array(47,-55,963,842),28652=>array(53,-64,972,829),28653=>array(58,-60,962,815),28654=>array(20,-68,957,831),28655=>array(41,-65,955,808),28656=>array(50,-61,956,839),28657=>array(46,-73,966,845),28658=>array(45,-78,963,822),28659=>array(52,-69,966,827),28660=>array(47,-68,955,826),28661=>array(79,-57,930,840),28662=>array(47,-65,901,815),28663=>array(51,-64,951,834),28664=>array(46,-65,984,837),28665=>array(24,-29,960,802),28666=>array(35,-69,964,845),28667=>array(50,-76,963,828),28668=>array(25,-73,978,842),28669=>array(45,-72,960,834),28670=>array(43,-71,967,841),28671=>array(56,-67,939,812),28672=>array(56,-70,959,809),28673=>array(46,-78,969,838),28674=>array(63,-61,974,849),28675=>array(58,-57,957,824),28676=>array(76,-68,952,829),28677=>array(52,-43,957,836),28678=>array(41,-71,933,834),28679=>array(45,-83,940,831),28680=>array(45,-70,937,817),28681=>array(36,-59,929,846),28682=>array(40,-52,955,824),28683=>array(48,-65,952,838),28684=>array(42,-62,951,837),28685=>array(47,-54,956,863),28686=>array(47,-67,950,833),28687=>array(61,-67,933,834),28688=>array(59,-62,942,830),28689=>array(34,-68,973,797),28690=>array(41,-43,981,856),28691=>array(39,-67,970,834),28692=>array(49,-71,970,822),28693=>array(37,-71,965,821),28694=>array(44,-65,942,820),28695=>array(41,-53,949,839),28696=>array(48,-67,962,841),28697=>array(51,-70,970,844),28698=>array(39,-59,976,848),28699=>array(48,-71,956,838),28700=>array(36,-69,967,826),28701=>array(38,-59,967,820),28702=>array(44,-65,959,844),28703=>array(40,-65,959,833),28704=>array(46,-63,967,838),28705=>array(35,-69,967,832),28706=>array(41,-64,974,829),28707=>array(24,-42,961,835),28708=>array(51,-72,964,841),28709=>array(45,-71,938,817),28710=>array(40,-65,951,833),28711=>array(45,-68,963,827),28712=>array(42,-71,973,829),28713=>array(40,-66,966,830),28714=>array(55,-65,960,843),28715=>array(46,-73,975,829),28716=>array(42,-73,961,829),28717=>array(50,-70,978,849),28718=>array(50,-66,963,824),28719=>array(55,-63,951,841),28720=>array(48,-62,975,808),28721=>array(42,-63,942,832),28722=>array(40,-67,987,849),28723=>array(50,-64,952,831),28724=>array(36,-70,957,833),28725=>array(53,-76,969,840),28726=>array(54,-63,936,840),28727=>array(44,-68,949,825),28728=>array(41,-60,974,841),28729=>array(39,-62,990,852),28730=>array(43,-65,962,848),28731=>array(37,-71,966,829),28732=>array(39,-58,975,848),28733=>array(49,-64,950,845),28734=>array(59,-70,923,797),28735=>array(52,-65,959,839),28736=>array(53,-61,936,832),28737=>array(56,-65,921,825),28738=>array(55,-62,964,840),28739=>array(59,-59,964,826),28740=>array(46,-63,961,814),28741=>array(45,-46,958,804),28742=>array(36,-45,949,826),28743=>array(41,-62,952,834),28744=>array(45,-65,954,806),28745=>array(51,-68,956,834),28746=>array(50,-67,960,808),28747=>array(46,-76,941,844),28748=>array(49,-70,953,829),28749=>array(49,-67,930,790),28750=>array(39,-36,964,836),28751=>array(33,-67,935,805),28752=>array(56,-37,950,836),28753=>array(46,-67,969,819),28754=>array(46,-69,958,824),28755=>array(36,-68,959,832),28756=>array(41,-66,972,832),28757=>array(41,-62,965,856),28758=>array(49,-65,956,843),28759=>array(48,-55,964,832),28760=>array(34,-72,960,837),28761=>array(52,-78,941,836),28762=>array(37,-66,963,829),28763=>array(50,-64,910,823),28764=>array(48,-71,946,838),28765=>array(46,-69,973,813),28766=>array(32,-71,925,815),28767=>array(55,-69,938,815),28768=>array(47,-66,954,837),28769=>array(45,-57,948,839),28770=>array(44,-70,988,830),28771=>array(50,-69,940,839),28772=>array(28,-63,975,844),28773=>array(45,-68,965,845),28774=>array(34,-73,964,816),28775=>array(39,-36,972,839),28776=>array(44,-77,954,834),28777=>array(38,-36,964,839),28778=>array(48,-67,944,830),28779=>array(85,-66,919,815),28780=>array(39,223,932,469),28781=>array(45,-61,955,771),28782=>array(49,-64,954,829),28783=>array(49,-91,942,814),28784=>array(32,-59,959,782),28785=>array(70,-70,908,825),28786=>array(146,-68,889,832),28787=>array(59,-57,917,833),28788=>array(58,-66,959,827),28789=>array(53,-63,926,790),28790=>array(64,-77,964,824),28791=>array(54,-65,949,829),28792=>array(54,-62,956,840),28793=>array(79,-70,943,837),28794=>array(58,-69,966,819),28795=>array(53,-64,953,830),28796=>array(50,-77,920,832),28797=>array(53,-64,953,817),28798=>array(45,-72,925,835),28799=>array(37,-81,903,826),28800=>array(32,-63,899,826),28801=>array(37,-69,960,800),28802=>array(53,-67,960,826),28803=>array(42,-73,969,780),28804=>array(46,-70,961,825),28805=>array(46,-52,965,804),28806=>array(50,-71,987,835),28807=>array(81,-74,956,838),28808=>array(73,-70,964,825),28809=>array(34,-65,925,828),28810=>array(59,-72,964,840),28811=>array(59,-72,959,832),28812=>array(59,-72,957,849),28813=>array(59,-72,964,832),28814=>array(66,-77,962,829),28815=>array(59,-73,964,837),28816=>array(59,-72,956,834),28817=>array(48,-65,975,831),28818=>array(44,-74,965,833),28819=>array(55,-86,963,820),28820=>array(59,-74,970,828),28821=>array(48,-69,955,836),28822=>array(39,-66,966,826),28823=>array(57,-73,960,829),28824=>array(62,-70,954,840),28825=>array(57,-73,960,840),28826=>array(100,-75,967,827),28827=>array(39,-59,949,833),28828=>array(35,-71,889,822),28829=>array(37,-62,937,827),28830=>array(37,-68,954,823),28831=>array(56,-68,956,822),28832=>array(73,-70,914,831),28833=>array(54,-66,956,826),28834=>array(62,-70,956,831),28835=>array(62,-70,961,831),28836=>array(69,-66,920,829),28837=>array(50,-62,932,829),28838=>array(62,-70,968,844),28839=>array(62,-70,943,831),28840=>array(63,-70,953,852),28841=>array(49,-73,957,829),28842=>array(54,-70,914,831),28843=>array(49,-72,961,822),28844=>array(48,-72,951,831),28845=>array(37,-69,959,830),28846=>array(55,-72,948,839),28847=>array(60,-71,915,830),28848=>array(34,-61,971,849),28849=>array(37,-62,986,838),28850=>array(62,-70,954,838),28851=>array(45,-69,950,827),28852=>array(48,-74,968,825),28853=>array(51,-71,965,834),28854=>array(62,-70,931,831),28855=>array(39,-72,942,828),28856=>array(59,-71,951,842),28857=>array(50,-71,950,830),28858=>array(62,-64,920,838),28859=>array(35,-68,911,823),28860=>array(35,-60,942,832),28861=>array(38,-64,940,830),28862=>array(53,-70,967,820),28863=>array(34,-65,965,844),28864=>array(39,-70,921,825),28865=>array(29,-68,943,830),28866=>array(32,-56,936,833),28867=>array(35,-63,923,823),28868=>array(35,-66,970,846),28869=>array(52,-55,956,832),28870=>array(48,-65,953,832),28871=>array(55,-65,965,830),28872=>array(58,-61,954,831),28873=>array(47,-71,957,843),28874=>array(41,-85,956,841),28875=>array(42,-61,973,849),28876=>array(35,-71,933,837),28877=>array(55,-64,956,826),28878=>array(45,-73,958,788),28879=>array(68,-63,887,845),28880=>array(34,-65,965,844),28881=>array(54,-63,964,829),28882=>array(47,-74,968,824),28883=>array(49,-56,953,832),28884=>array(57,-61,910,831),28885=>array(53,-64,959,832),28886=>array(82,-58,957,839),28887=>array(49,-68,959,835),28888=>array(49,-71,949,830),28889=>array(48,-75,968,839),28890=>array(53,-68,969,833),28891=>array(35,-60,944,826),28892=>array(55,-64,959,837),28893=>array(50,-58,966,785),28894=>array(46,-68,953,830),28895=>array(62,-75,919,834),28896=>array(48,-68,953,829),28897=>array(56,-71,933,831),28898=>array(44,-63,960,827),28899=>array(48,-75,956,829),28900=>array(43,-77,953,832),28901=>array(43,-77,949,825),28902=>array(34,-62,926,831),28903=>array(34,-74,934,818),28904=>array(54,-66,927,824),28905=>array(31,-65,931,841),28906=>array(31,-73,970,836),28907=>array(49,-70,931,812),28908=>array(26,-64,936,833),28909=>array(45,-63,951,829),28910=>array(68,-70,931,828),28911=>array(47,-82,944,842),28912=>array(43,-70,956,826),28913=>array(42,-51,915,839),28914=>array(63,-70,931,825),28915=>array(41,-65,956,831),28916=>array(56,-76,954,820),28917=>array(56,-72,947,831),28918=>array(38,-70,972,826),28919=>array(51,-75,960,837),28920=>array(53,-68,953,824),28921=>array(50,-72,955,842),28922=>array(55,-73,970,831),28923=>array(47,-67,967,829),28924=>array(44,-66,965,826),28925=>array(39,-81,969,839),28926=>array(46,-24,968,815),28927=>array(51,-77,959,833),28928=>array(45,-70,964,823),28929=>array(59,-66,962,826),28930=>array(38,-66,972,836),28931=>array(71,-71,954,835),28932=>array(33,-60,963,804),28933=>array(49,-71,951,832),28934=>array(49,-71,897,824),28935=>array(49,-71,911,833),28936=>array(46,-70,980,846),28937=>array(62,-63,937,798),28938=>array(49,-70,954,832),28939=>array(46,-70,980,829),28940=>array(57,-69,961,849),28941=>array(46,-70,914,829),28942=>array(57,-75,958,829),28943=>array(53,-61,961,775),28944=>array(48,-70,953,826),28945=>array(48,-67,917,826),28946=>array(58,-69,904,826),28947=>array(46,-70,968,833),28948=>array(55,-72,911,828),28949=>array(20,-77,948,832),28950=>array(33,-67,878,825),28951=>array(56,-65,929,835),28952=>array(39,-66,936,817),28953=>array(45,-79,947,831),28954=>array(61,-64,959,823),28955=>array(112,-72,911,781),28956=>array(51,-63,974,832),28957=>array(48,-67,960,833),28958=>array(50,-69,953,830),28959=>array(45,-67,953,831),28960=>array(39,-65,967,845),28961=>array(45,-63,951,844),28962=>array(48,-68,950,829),28963=>array(52,-75,956,785),28964=>array(48,-70,956,844),28965=>array(44,-72,961,845),28966=>array(48,-65,954,836),28967=>array(48,-67,968,826),28968=>array(48,-69,889,826),28969=>array(38,-67,895,826),28970=>array(48,-71,953,846),28971=>array(48,-67,937,826),28972=>array(65,-67,929,826),28973=>array(69,-62,936,839),28974=>array(38,-66,977,841),28975=>array(56,-70,957,837),28976=>array(53,-79,893,837),28977=>array(37,-66,971,840),28978=>array(49,-69,966,841),28979=>array(65,-67,954,834),28980=>array(40,-61,951,838),28981=>array(46,-73,910,824),28982=>array(62,-67,961,838),28983=>array(48,-67,951,850),28984=>array(59,-67,959,803),28985=>array(48,-67,897,826),28986=>array(50,-72,955,827),28987=>array(48,-67,905,826),28988=>array(56,-74,963,829),28989=>array(69,-70,959,821),28990=>array(37,-61,971,840),28991=>array(48,-68,967,855),28992=>array(37,-61,907,829),28993=>array(43,-70,957,832),28994=>array(40,-71,953,826),28995=>array(64,-70,979,847),28996=>array(41,-72,955,829),28997=>array(32,-72,971,829),28998=>array(38,-63,969,835),28999=>array(60,-65,959,829),29000=>array(28,-67,971,826),29001=>array(46,-69,968,830),29002=>array(51,-67,959,841),29003=>array(51,-71,957,826),29004=>array(42,-71,948,849),29005=>array(36,-73,986,827),29006=>array(55,-77,955,839),29007=>array(48,-67,933,826),29008=>array(50,-70,977,830),29009=>array(66,-70,961,831),29010=>array(45,-65,967,846),29011=>array(40,-73,953,828),29012=>array(36,-70,941,838),29013=>array(43,-72,949,793),29014=>array(40,-73,967,844),29015=>array(56,-72,975,835),29016=>array(47,-68,977,826),29017=>array(53,-63,953,832),29018=>array(38,-66,967,807),29019=>array(38,-73,977,788),29020=>array(46,-67,954,827),29021=>array(44,-79,897,823),29022=>array(34,-71,940,836),29023=>array(45,-75,906,825),29024=>array(32,-57,973,836),29025=>array(35,-75,977,829),29026=>array(66,-68,938,833),29027=>array(42,-68,977,829),29028=>array(44,-68,964,833),29029=>array(39,-62,969,834),29030=>array(48,-66,955,843),29031=>array(67,-62,950,788),29032=>array(35,-71,960,828),29033=>array(49,-76,959,829),29034=>array(48,-75,952,842),29035=>array(50,-62,974,840),29036=>array(38,-75,954,826),29037=>array(49,-61,954,830),29038=>array(54,-79,955,831),29039=>array(50,-65,961,832),29040=>array(46,-75,906,829),29041=>array(51,-69,911,828),29042=>array(49,-67,962,837),29043=>array(26,-70,883,823),29044=>array(56,-69,950,828),29045=>array(51,-67,959,831),29046=>array(43,-55,970,837),29047=>array(43,-73,969,846),29048=>array(50,-63,939,832),29049=>array(51,-69,966,829),29050=>array(49,-69,950,826),29051=>array(44,-72,956,836),29052=>array(56,-69,926,850),29053=>array(41,-72,921,822),29054=>array(51,-69,950,828),29055=>array(46,-71,959,838),29056=>array(49,-74,964,827),29057=>array(51,-68,952,836),29058=>array(44,-68,967,831),29059=>array(47,-69,962,840),29060=>array(34,-71,964,847),29061=>array(57,-75,956,820),29062=>array(51,-67,956,829),29063=>array(57,-65,959,843),29064=>array(43,-72,949,801),29065=>array(53,-80,964,826),29066=>array(40,-70,947,844),29067=>array(58,-72,968,838),29068=>array(51,-63,905,831),29069=>array(51,-72,937,843),29070=>array(48,-71,956,827),29071=>array(45,-72,949,834),29072=>array(46,-77,956,832),29073=>array(51,-69,966,850),29074=>array(58,-63,949,839),29075=>array(56,-69,928,839),29076=>array(51,-71,962,835),29077=>array(56,-69,969,828),29078=>array(53,-76,933,835),29079=>array(40,-72,981,850),29080=>array(42,-63,890,830),29081=>array(43,-72,949,785),29082=>array(51,-55,959,835),29083=>array(32,-61,945,832),29084=>array(49,-52,977,830),29085=>array(40,-69,968,846),29086=>array(48,-61,977,825),29087=>array(38,-67,960,831),29088=>array(39,-70,909,835),29089=>array(51,-72,955,826),29090=>array(51,-69,962,843),29091=>array(51,-69,953,833),29092=>array(48,-62,953,827),29093=>array(32,-70,973,824),29094=>array(56,-65,949,837),29095=>array(46,-70,973,839),29096=>array(35,-63,964,830),29097=>array(42,-71,964,826),29098=>array(41,-71,931,825),29099=>array(51,-69,962,851),29100=>array(30,-72,940,833),29101=>array(35,-66,962,835),29102=>array(49,-70,968,827),29103=>array(46,-59,969,843),29104=>array(54,-61,956,825),29105=>array(47,-69,949,831),29106=>array(41,-76,968,821),29107=>array(43,-62,983,833),29108=>array(36,-61,964,838),29109=>array(32,-67,951,848),29110=>array(26,-67,962,828),29111=>array(43,-62,917,853),29112=>array(32,-61,964,835),29113=>array(41,-62,965,835),29114=>array(37,-65,956,836),29115=>array(34,-63,991,848),29116=>array(42,-73,958,826),29117=>array(38,-68,946,824),29118=>array(36,-75,956,837),29119=>array(54,-75,967,831),29120=>array(47,-68,954,825),29121=>array(43,-65,953,832),29122=>array(46,-67,956,826),29123=>array(45,-75,959,831),29124=>array(47,-66,970,842),29125=>array(41,-75,971,826),29126=>array(44,-68,969,826),29127=>array(47,-67,954,835),29128=>array(35,-85,963,837),29129=>array(46,-73,973,837),29130=>array(44,-63,974,839),29131=>array(38,-73,963,837),29132=>array(51,-75,967,827),29133=>array(46,-67,954,836),29134=>array(41,-73,969,850),29135=>array(50,-66,925,830),29136=>array(49,-68,959,833),29137=>array(37,-61,933,844),29138=>array(48,-74,955,829),29139=>array(39,-71,968,836),29140=>array(32,-65,965,837),29141=>array(45,-67,952,828),29142=>array(43,-56,954,833),29143=>array(22,-68,911,829),29144=>array(48,-67,914,829),29145=>array(53,-72,968,798),29146=>array(44,-74,969,828),29147=>array(43,-74,972,785),29148=>array(43,-65,928,829),29149=>array(46,-67,967,824),29150=>array(34,-67,969,837),29151=>array(84,-68,903,832),29152=>array(54,-69,952,825),29153=>array(42,-70,957,825),29154=>array(47,-67,969,838),29155=>array(44,-68,968,849),29156=>array(44,-68,951,822),29157=>array(33,-71,973,829),29158=>array(38,-69,971,836),29159=>array(36,-74,960,823),29160=>array(37,-69,962,847),29161=>array(37,-71,962,845),29162=>array(30,-63,979,836),29163=>array(61,-79,969,847),29164=>array(53,-64,974,835),29165=>array(61,-79,927,828),29166=>array(55,-80,967,830),29167=>array(43,-77,956,820),29168=>array(49,-73,977,829),29169=>array(53,-75,976,830),29170=>array(46,-72,951,843),29171=>array(49,-75,977,823),29172=>array(39,-73,971,857),29173=>array(39,-73,954,835),29174=>array(41,-70,984,838),29175=>array(48,-70,921,857),29176=>array(41,-70,945,830),29177=>array(43,-67,972,784),29178=>array(63,-63,943,853),29179=>array(54,-70,971,831),29180=>array(39,-70,954,830),29181=>array(44,-67,952,833),29182=>array(48,-67,967,833),29183=>array(37,-64,957,831),29184=>array(48,-69,951,831),29185=>array(41,-69,951,823),29186=>array(57,-69,964,840),29187=>array(45,-65,961,831),29188=>array(45,-65,948,827),29189=>array(45,-65,963,827),29190=>array(37,-72,967,828),29191=>array(49,-63,973,839),29192=>array(33,-68,965,838),29193=>array(47,-76,971,847),29194=>array(33,-68,962,839),29195=>array(55,-68,930,833),29196=>array(37,-75,948,841),29197=>array(36,-73,972,847),29198=>array(37,-64,990,845),29199=>array(27,-64,956,827),29200=>array(43,-71,954,830),29201=>array(43,-71,980,837),29202=>array(61,-80,961,858),29203=>array(54,-67,918,829),29204=>array(46,-62,972,841),29205=>array(50,-73,971,843),29206=>array(40,-63,962,843),29207=>array(36,-68,953,826),29208=>array(40,-83,979,841),29209=>array(36,-71,970,838),29210=>array(51,-75,973,824),29211=>array(53,-70,923,830),29212=>array(53,-70,962,834),29213=>array(39,-63,956,843),29214=>array(41,-70,962,831),29215=>array(36,-64,962,837),29216=>array(36,-68,960,830),29217=>array(36,-73,949,842),29218=>array(44,-75,958,845),29219=>array(47,-76,972,831),29220=>array(47,-66,942,830),29221=>array(47,-68,933,827),29222=>array(35,-67,975,838),29223=>array(48,-73,953,824),29224=>array(35,-70,968,830),29225=>array(40,-73,954,822),29226=>array(63,-64,944,835),29227=>array(83,181,938,697),29228=>array(50,-62,958,837),29229=>array(71,-73,924,824),29230=>array(50,-62,958,837),29231=>array(56,-67,950,846),29232=>array(54,-65,957,846),29233=>array(52,-73,943,824),29234=>array(33,-70,934,852),29235=>array(69,-52,916,844),29236=>array(74,-66,970,829),29237=>array(64,-61,943,842),29238=>array(95,-57,923,825),29239=>array(67,-62,951,823),29240=>array(45,-16,954,844),29241=>array(52,-79,964,839),29242=>array(55,-62,961,843),29243=>array(48,-63,960,840),29244=>array(66,-11,962,773),29245=>array(52,-69,963,835),29246=>array(50,-73,940,785),29247=>array(49,-69,732,820),29248=>array(42,-65,969,825),29249=>array(46,-71,951,829),29250=>array(46,-64,954,851),29251=>array(46,-64,968,831),29252=>array(36,-71,969,841),29253=>array(46,-73,949,851),29254=>array(39,-67,951,833),29255=>array(48,-75,895,829),29256=>array(34,-73,966,818),29257=>array(57,-77,957,826),29258=>array(50,-74,909,821),29259=>array(42,-70,966,840),29260=>array(42,-62,944,837),29261=>array(18,-75,927,819),29262=>array(18,-66,960,848),29263=>array(39,-57,950,853),29264=>array(18,-76,940,836),29265=>array(32,-78,922,833),29266=>array(34,-66,968,831),29267=>array(40,-70,957,846),29268=>array(23,-71,959,838),29269=>array(34,-66,959,839),29270=>array(31,-68,951,839),29271=>array(40,-73,949,851),29272=>array(33,-84,955,835),29273=>array(59,-53,929,780),29274=>array(51,-61,939,836),29275=>array(81,-68,939,830),29276=>array(155,-67,719,829),29277=>array(47,-67,938,829),29278=>array(51,-62,914,832),29279=>array(53,-67,947,844),29280=>array(43,-62,964,838),29281=>array(42,-62,953,829),29282=>array(56,-65,944,833),29283=>array(57,-49,914,844),29284=>array(57,-48,931,844),29285=>array(57,-67,954,849),29286=>array(34,-75,937,828),29287=>array(50,-68,974,840),29288=>array(50,-64,957,843),29289=>array(68,-73,921,829),29290=>array(48,-71,954,833),29291=>array(48,-71,949,825),29292=>array(39,-74,927,823),29293=>array(49,-69,937,826),29294=>array(55,-68,972,844),29295=>array(49,-67,949,829),29296=>array(50,-72,908,833),29297=>array(50,-66,960,833),29298=>array(44,-65,954,831),29299=>array(44,-66,960,825),29300=>array(48,-67,968,843),29301=>array(82,-61,934,845),29302=>array(43,-67,976,838),29303=>array(58,-69,984,827),29304=>array(54,-52,962,848),29305=>array(50,-68,944,831),29306=>array(26,-62,923,830),29307=>array(42,-68,950,838),29308=>array(52,-68,951,825),29309=>array(76,-67,945,838),29310=>array(52,-62,956,833),29311=>array(52,-52,955,842),29312=>array(45,-69,933,800),29313=>array(68,-61,945,835),29314=>array(59,-63,954,849),29315=>array(58,-65,956,848),29316=>array(45,-65,949,838),29317=>array(69,-67,918,827),29318=>array(58,-65,953,838),29319=>array(46,-67,959,839),29320=>array(61,-72,968,830),29321=>array(66,-67,957,837),29322=>array(25,-62,932,830),29323=>array(44,-67,947,830),29324=>array(42,-77,973,827),29325=>array(39,-68,962,830),29326=>array(65,-64,962,831),29327=>array(28,-79,906,832),29328=>array(47,-73,954,826),29329=>array(41,-75,970,825),29330=>array(42,-71,950,826),29331=>array(53,-69,914,830),29332=>array(42,-71,974,851),29333=>array(43,-72,952,823),29334=>array(60,-68,954,847),29335=>array(43,-65,965,850),29336=>array(57,-69,947,843),29337=>array(42,-73,947,848),29338=>array(43,-68,958,824),29339=>array(52,-68,965,834),29340=>array(22,-73,973,837),29341=>array(45,-65,954,835),29342=>array(51,-70,976,825),29343=>array(62,-67,912,781),29344=>array(33,-70,965,853),29345=>array(33,-70,944,825),29346=>array(39,-84,956,835),29347=>array(37,-76,973,837),29348=>array(38,-67,980,826),29349=>array(29,-69,966,840),29350=>array(28,-59,983,833),29351=>array(33,-63,960,841),29352=>array(40,-67,947,840),29353=>array(52,-73,975,833),29354=>array(30,-65,972,846),29355=>array(39,-66,946,839),29356=>array(77,-71,949,826),29357=>array(257,-63,643,790),29358=>array(60,-73,962,834),29359=>array(60,-59,933,809),29360=>array(42,-70,963,829),29361=>array(33,-69,952,833),29362=>array(103,-71,950,824),29363=>array(97,-56,897,851),29364=>array(35,-64,945,824),29365=>array(57,-55,960,829),29366=>array(44,-68,940,823),29367=>array(34,-65,911,832),29368=>array(29,-65,889,798),29369=>array(40,-70,956,817),29370=>array(47,-69,959,832),29371=>array(52,-62,950,840),29372=>array(42,-69,959,823),29373=>array(48,-62,951,820),29374=>array(92,-62,942,831),29375=>array(52,-65,943,829),29376=>array(40,-69,951,818),29377=>array(44,-63,956,839),29378=>array(50,-66,948,807),29379=>array(24,-45,944,830),29380=>array(50,-70,972,825),29381=>array(43,-57,943,807),29382=>array(57,-61,913,833),29383=>array(73,-61,964,835),29384=>array(32,-60,942,799),29385=>array(39,-44,950,813),29386=>array(45,-68,973,785),29387=>array(38,-72,973,804),29388=>array(47,-47,951,827),29389=>array(47,-52,958,834),29390=>array(69,-64,920,822),29391=>array(69,-55,943,831),29392=>array(32,-77,970,838),29393=>array(47,-76,960,836),29394=>array(61,-68,934,822),29395=>array(47,-70,958,835),29396=>array(32,-80,963,796),29397=>array(35,-73,920,831),29398=>array(35,-66,966,834),29399=>array(60,-61,921,842),29400=>array(36,-70,963,824),29401=>array(47,-54,957,801),29402=>array(43,-50,958,820),29403=>array(70,-66,886,843),29404=>array(51,-68,953,830),29405=>array(41,-58,934,836),29406=>array(43,-61,924,849),29407=>array(46,-50,962,816),29408=>array(48,-71,969,811),29409=>array(52,-65,963,812),29410=>array(53,-67,973,839),29411=>array(47,-67,963,833),29412=>array(49,-73,953,823),29413=>array(64,-64,909,836),29414=>array(43,-68,956,827),29415=>array(64,-64,958,834),29416=>array(45,-80,967,818),29417=>array(48,-59,954,824),29418=>array(50,-67,911,811),29419=>array(39,-60,955,826),29420=>array(33,-58,948,827),29421=>array(29,-63,942,832),29422=>array(29,-71,930,822),29423=>array(36,-60,955,837),29424=>array(32,-60,920,837),29425=>array(33,-74,959,822),29426=>array(20,-62,948,832),29427=>array(29,-62,971,855),29428=>array(50,-50,958,831),29429=>array(50,-62,957,826),29430=>array(45,-71,956,834),29431=>array(75,-65,918,815),29432=>array(45,-57,958,820),29433=>array(31,-63,967,833),29434=>array(47,-62,959,844),29435=>array(41,-64,973,854),29436=>array(37,-75,968,831),29437=>array(45,-70,962,794),29438=>array(47,-71,960,826),29439=>array(58,-65,971,792),29440=>array(45,-69,966,823),29441=>array(54,-64,917,830),29442=>array(51,-64,956,816),29443=>array(32,-68,946,832),29444=>array(52,-60,965,846),29445=>array(52,-65,950,829),29446=>array(38,-68,965,831),29447=>array(49,-70,955,823),29448=>array(65,-67,955,832),29449=>array(65,-71,957,833),29450=>array(47,-65,953,832),29451=>array(40,-62,962,845),29452=>array(38,-70,969,826),29453=>array(55,-65,984,836),29454=>array(39,-69,939,817),29455=>array(48,-76,908,818),29456=>array(48,-54,970,820),29457=>array(62,-63,958,782),29458=>array(101,-72,962,824),29459=>array(48,-68,968,817),29460=>array(53,-65,951,845),29461=>array(23,-61,945,831),29462=>array(53,-68,911,808),29463=>array(47,-62,955,835),29464=>array(46,-68,914,826),29465=>array(35,-68,963,837),29466=>array(59,-70,953,842),29467=>array(49,-59,958,808),29468=>array(46,-65,954,837),29469=>array(49,-67,953,819),29470=>array(40,-65,978,850),29471=>array(50,-63,968,827),29472=>array(40,-74,960,829),29473=>array(35,-64,894,808),29474=>array(62,-68,927,829),29475=>array(43,-73,959,813),29476=>array(35,-66,959,809),29477=>array(44,-64,964,809),29478=>array(46,-74,961,792),29479=>array(72,-69,923,793),29480=>array(32,-60,959,841),29481=>array(42,-61,951,803),29482=>array(49,-56,921,836),29483=>array(24,-69,933,824),29484=>array(56,-65,911,803),29485=>array(49,-66,966,828),29486=>array(55,-54,955,842),29487=>array(61,-69,950,830),29488=>array(42,-64,974,831),29489=>array(43,-64,961,819),29490=>array(68,-65,933,790),29491=>array(33,-61,967,819),29492=>array(36,-71,975,827),29493=>array(65,-73,929,825),29494=>array(40,-71,955,840),29495=>array(57,-69,970,845),29496=>array(40,-74,897,815),29497=>array(41,-53,962,835),29498=>array(41,-64,966,850),29499=>array(30,-62,962,831),29500=>array(20,-71,943,829),29501=>array(38,-73,950,789),29502=>array(25,-72,929,819),29503=>array(42,-69,977,833),29504=>array(30,-78,977,833),29505=>array(40,-61,922,819),29506=>array(39,-75,979,804),29507=>array(45,-55,969,842),29508=>array(37,-66,970,826),29509=>array(39,-67,954,840),29510=>array(50,-64,979,849),29511=>array(50,-64,974,828),29512=>array(50,-57,962,842),29513=>array(35,-70,984,836),29514=>array(40,-73,963,845),29515=>array(38,-74,960,852),29516=>array(29,-72,973,812),29517=>array(53,-65,958,851),29518=>array(39,-64,970,843),29519=>array(44,-72,971,823),29520=>array(44,-64,949,840),29521=>array(19,-74,953,822),29522=>array(25,-68,949,830),29523=>array(44,-71,960,838),29524=>array(44,-74,960,852),29525=>array(44,-65,953,833),29526=>array(59,-75,947,827),29527=>array(44,-74,981,805),29528=>array(33,-54,965,857),29529=>array(23,-80,977,826),29530=>array(39,-73,955,827),29531=>array(42,-68,983,827),29532=>array(44,-74,954,832),29533=>array(56,-68,924,824),29534=>array(51,-42,962,838),29535=>array(41,-70,961,833),29536=>array(35,-61,967,846),29537=>array(52,-57,932,833),29538=>array(39,-67,973,835),29539=>array(45,-67,972,833),29540=>array(44,-73,973,837),29541=>array(46,-75,960,835),29542=>array(37,-63,943,827),29543=>array(39,-55,965,826),29544=>array(64,-66,920,791),29545=>array(41,-66,967,826),29546=>array(32,-62,984,863),29547=>array(26,-63,975,864),29548=>array(44,-67,960,838),29549=>array(12,-60,936,838),29550=>array(34,-67,975,834),29551=>array(49,-62,966,828),29552=>array(40,-67,957,816),29553=>array(57,-66,960,842),29554=>array(30,-64,964,840),29555=>array(47,-66,951,791),29556=>array(37,-65,951,831),29557=>array(36,-74,971,842),29558=>array(39,-76,969,824),29559=>array(40,-71,972,838),29560=>array(59,-67,972,829),29561=>array(40,-72,954,830),29562=>array(37,-71,975,833),29563=>array(38,-76,958,831),29564=>array(35,-64,973,829),29565=>array(36,-69,987,842),29566=>array(43,-67,959,835),29567=>array(43,-74,963,808),29568=>array(41,-64,959,822),29569=>array(38,-67,961,813),29570=>array(38,-71,963,823),29571=>array(36,-60,965,831),29572=>array(95,-57,915,819),29573=>array(65,-70,973,852),29574=>array(44,-65,956,818),29575=>array(72,-69,928,840),29576=>array(64,-71,970,836),29577=>array(117,0,908,753),29578=>array(85,-30,935,770),29579=>array(92,14,908,766),29580=>array(81,-38,943,822),29581=>array(59,-17,934,825),29582=>array(71,-69,956,790),29583=>array(71,-76,892,823),29584=>array(51,-60,960,775),29585=>array(37,-67,936,762),29586=>array(57,-23,957,763),29587=>array(64,-69,920,829),29588=>array(57,-70,912,822),29589=>array(40,-65,951,787),29590=>array(41,-64,979,835),29591=>array(54,-74,953,785),29592=>array(54,-26,957,778),29593=>array(54,-67,922,825),29594=>array(54,-63,927,769),29595=>array(51,-60,909,787),29596=>array(44,-60,957,806),29597=>array(50,-73,949,821),29598=>array(49,-64,963,833),29599=>array(51,-58,972,827),29600=>array(48,-65,987,855),29601=>array(44,-75,956,775),29602=>array(42,-62,984,820),29603=>array(47,-64,935,841),29604=>array(42,-73,954,823),29605=>array(60,-71,905,785),29606=>array(47,-63,991,837),29607=>array(47,-60,964,834),29608=>array(56,-17,952,767),29609=>array(51,-68,958,779),29610=>array(43,-62,975,831),29611=>array(60,-59,957,840),29612=>array(55,-78,956,779),29613=>array(44,-67,958,823),29614=>array(42,-67,893,825),29615=>array(38,-57,951,782),29616=>array(33,-59,930,788),29617=>array(45,-33,950,828),29618=>array(37,-68,964,840),29619=>array(39,-65,953,835),29620=>array(50,-20,957,824),29621=>array(51,-73,955,827),29622=>array(47,-71,956,782),29623=>array(39,-67,945,832),29624=>array(48,-38,956,827),29625=>array(43,-55,961,829),29626=>array(35,-48,915,826),29627=>array(64,-64,969,830),29628=>array(46,-43,966,810),29629=>array(46,-54,909,849),29630=>array(49,-71,917,780),29631=>array(49,-74,906,783),29632=>array(66,-63,882,846),29633=>array(66,-29,961,779),29634=>array(50,-65,961,779),29635=>array(47,-73,956,831),29636=>array(47,-12,952,827),29637=>array(53,-61,917,838),29638=>array(49,-72,952,842),29639=>array(49,-27,954,783),29640=>array(43,-70,907,830),29641=>array(41,-55,964,794),29642=>array(54,-61,951,789),29643=>array(45,-70,911,830),29644=>array(48,-30,963,824),29645=>array(67,-72,974,849),29646=>array(53,-52,964,847),29647=>array(53,-13,950,760),29648=>array(52,-64,949,829),29649=>array(32,-61,926,824),29650=>array(59,-72,954,827),29651=>array(58,-66,971,837),29652=>array(57,-64,954,832),29653=>array(57,-65,959,835),29654=>array(57,-65,955,821),29655=>array(52,-59,957,827),29656=>array(51,-67,951,836),29657=>array(41,-68,965,831),29658=>array(58,-71,907,771),29659=>array(60,-68,954,828),29660=>array(54,-67,954,833),29661=>array(57,-71,905,780),29662=>array(45,-66,972,840),29663=>array(40,-66,993,789),29664=>array(66,-62,978,837),29665=>array(50,-60,951,795),29666=>array(76,-71,957,781),29667=>array(62,-59,914,837),29668=>array(25,-64,963,834),29669=>array(25,-66,949,789),29670=>array(25,-55,900,875),29671=>array(50,-64,969,835),29672=>array(58,-69,958,829),29673=>array(45,-67,956,833),29674=>array(38,-21,951,831),29675=>array(50,-67,966,840),29676=>array(60,-61,971,835),29677=>array(50,-61,951,811),29678=>array(45,-72,977,788),29679=>array(38,-32,959,833),29680=>array(38,-60,899,829),29681=>array(38,-52,959,782),29682=>array(37,-69,920,764),29683=>array(49,-58,957,834),29684=>array(49,-64,958,828),29685=>array(56,-14,954,788),29686=>array(56,-68,915,822),29687=>array(36,-64,962,833),29688=>array(58,-71,953,775),29689=>array(36,-68,951,834),29690=>array(62,-69,956,787),29691=>array(35,-69,955,843),29692=>array(57,-73,959,782),29693=>array(44,-64,973,832),29694=>array(56,-65,944,780),29695=>array(56,-71,969,780),29696=>array(57,-71,964,830),29697=>array(59,-73,968,831),29698=>array(61,-62,930,845),29699=>array(53,-63,959,831),29700=>array(57,-65,894,782),29701=>array(46,-66,965,815),29702=>array(35,-16,945,775),29703=>array(47,-63,963,833),29704=>array(55,-67,954,819),29705=>array(30,-70,960,830),29706=>array(43,-67,958,789),29707=>array(53,-68,953,837),29708=>array(54,-71,967,824),29709=>array(47,-65,900,832),29710=>array(57,-19,975,817),29711=>array(32,-49,938,827),29712=>array(35,-65,933,828),29713=>array(35,-67,940,833),29714=>array(43,-65,963,846),29715=>array(35,-69,968,828),29716=>array(35,-83,949,831),29717=>array(35,-65,957,841),29718=>array(47,-70,954,835),29719=>array(35,-71,943,839),29720=>array(35,-65,960,833),29721=>array(35,-68,965,835),29722=>array(52,-67,964,787),29723=>array(30,-67,958,786),29724=>array(35,-65,972,836),29725=>array(55,-74,963,787),29726=>array(55,-26,945,796),29727=>array(35,-65,955,843),29728=>array(53,-72,965,826),29729=>array(55,-76,962,822),29730=>array(32,-65,971,774),29731=>array(55,-68,951,838),29732=>array(43,-59,967,849),29733=>array(39,-67,940,834),29734=>array(48,-61,957,841),29735=>array(63,-22,958,784),29736=>array(53,-57,970,790),29737=>array(76,-67,918,787),29738=>array(50,-68,960,836),29739=>array(50,-71,959,831),29740=>array(49,-65,967,836),29741=>array(57,-67,962,830),29742=>array(47,-62,959,821),29743=>array(47,-65,924,837),29744=>array(53,-65,980,838),29745=>array(63,-72,911,774),29746=>array(47,-71,958,832),29747=>array(37,-63,964,826),29748=>array(34,-74,960,802),29749=>array(55,-54,959,791),29750=>array(71,-23,941,787),29751=>array(35,-53,976,820),29752=>array(54,-71,953,825),29753=>array(50,-64,960,798),29754=>array(53,-59,962,831),29755=>array(35,-23,982,843),29756=>array(33,-55,971,852),29757=>array(35,-69,959,835),29758=>array(35,-66,971,774),29759=>array(43,-62,967,793),29760=>array(45,-70,912,827),29761=>array(55,-65,930,788),29762=>array(51,-70,900,783),29763=>array(51,-64,970,842),29764=>array(43,-27,954,832),29765=>array(51,-70,969,788),29766=>array(36,-27,954,782),29767=>array(37,-66,948,835),29768=>array(40,-61,973,796),29769=>array(40,-52,963,823),29770=>array(45,-75,963,825),29771=>array(47,-65,960,832),29772=>array(47,-72,975,788),29773=>array(46,-77,977,832),29774=>array(53,-73,960,822),29775=>array(48,-70,951,845),29776=>array(50,-72,954,839),29777=>array(40,-51,960,850),29778=>array(39,-77,954,780),29779=>array(48,-62,965,835),29780=>array(48,-69,970,846),29781=>array(38,-67,969,789),29782=>array(38,-69,970,840),29783=>array(47,-65,982,843),29784=>array(47,-65,952,783),29785=>array(56,-65,920,841),29786=>array(69,-62,893,830),29787=>array(31,-68,962,829),29788=>array(30,-65,972,816),29789=>array(43,-30,948,851),29790=>array(62,-68,939,833),29791=>array(63,-46,958,785),29792=>array(37,-65,913,834),29793=>array(69,-67,954,840),29794=>array(53,-70,965,824),29795=>array(63,-72,965,836),29796=>array(46,-62,959,841),29797=>array(46,-32,964,783),29798=>array(63,-60,928,839),29799=>array(59,-68,971,835),29800=>array(36,-61,959,789),29801=>array(69,-19,935,839),29802=>array(60,-61,911,787),29803=>array(60,-63,937,835),29804=>array(54,-28,954,843),29805=>array(44,-67,956,850),29806=>array(56,-72,977,781),29807=>array(41,-61,954,798),29808=>array(53,-65,947,856),29809=>array(36,-64,955,840),29810=>array(45,-65,995,858),29811=>array(42,-29,951,839),29812=>array(47,-89,964,824),29813=>array(50,-69,971,787),29814=>array(40,-64,913,822),29815=>array(35,-70,944,827),29816=>array(35,-63,943,830),29817=>array(62,-77,967,818),29818=>array(45,-67,930,839),29819=>array(53,-66,955,802),29820=>array(53,-77,952,819),29821=>array(58,-71,968,826),29822=>array(38,-21,946,828),29823=>array(62,-22,957,792),29824=>array(45,-62,962,839),29825=>array(56,-43,972,837),29826=>array(45,-33,972,829),29827=>array(39,-69,943,833),29828=>array(51,-65,952,847),29829=>array(62,-72,982,822),29830=>array(45,-62,957,800),29831=>array(38,-71,972,828),29832=>array(48,-77,983,826),29833=>array(41,-64,962,833),29834=>array(56,-65,959,824),29835=>array(45,-68,952,828),29836=>array(45,-78,953,834),29837=>array(37,-68,945,831),29838=>array(39,-81,928,775),29839=>array(39,-72,988,841),29840=>array(38,-65,975,841),29841=>array(38,-65,961,836),29842=>array(52,-17,964,832),29843=>array(31,-53,957,829),29844=>array(51,-72,892,827),29845=>array(50,-67,950,783),29846=>array(45,-65,969,799),29847=>array(60,-46,954,818),29848=>array(57,-66,959,837),29849=>array(57,-67,969,850),29850=>array(50,-67,920,787),29851=>array(32,-67,954,831),29852=>array(37,-74,923,824),29853=>array(37,-70,966,833),29854=>array(47,-63,964,828),29855=>array(36,-57,951,801),29856=>array(43,-64,973,836),29857=>array(39,-64,967,844),29858=>array(62,-71,926,797),29859=>array(45,-61,972,839),29860=>array(48,-35,979,826),29861=>array(48,-70,977,830),29862=>array(48,-63,985,840),29863=>array(48,-39,946,836),29864=>array(37,-66,979,839),29865=>array(48,-64,980,837),29866=>array(45,-70,966,784),29867=>array(45,-62,935,836),29868=>array(50,-71,962,845),29869=>array(48,-73,971,811),29870=>array(42,-30,956,848),29871=>array(42,-64,994,858),29872=>array(40,-61,962,808),29873=>array(46,-67,970,782),29874=>array(47,-64,959,816),29875=>array(46,-69,966,816),29876=>array(50,-69,961,826),29877=>array(40,-66,969,840),29878=>array(50,-37,949,823),29879=>array(35,-71,973,832),29880=>array(62,-77,941,831),29881=>array(41,-65,968,833),29882=>array(84,-37,938,836),29883=>array(53,-68,949,785),29884=>array(40,-23,957,839),29885=>array(53,-42,962,799),29886=>array(60,-71,963,837),29887=>array(41,-63,981,841),29888=>array(49,-72,944,780),29889=>array(44,-74,967,823),29890=>array(49,-35,955,819),29891=>array(51,-65,928,786),29892=>array(40,-67,962,836),29893=>array(36,-70,972,839),29894=>array(40,-61,962,813),29895=>array(40,-64,963,789),29896=>array(35,-62,974,830),29897=>array(40,-72,958,829),29898=>array(56,-65,975,845),29899=>array(31,-66,968,839),29900=>array(40,-67,965,847),29901=>array(28,-67,969,831),29902=>array(37,-67,959,840),29903=>array(52,-61,972,834),29904=>array(45,-67,953,830),29905=>array(40,-60,966,790),29906=>array(38,-71,925,825),29907=>array(40,-65,909,787),29908=>array(37,-64,955,788),29909=>array(63,-35,968,778),29910=>array(47,-73,966,839),29911=>array(57,-63,933,838),29912=>array(54,-68,956,826),29913=>array(42,-70,960,832),29914=>array(46,-69,969,836),29915=>array(30,-62,974,832),29916=>array(59,-57,956,834),29917=>array(32,-77,991,826),29918=>array(38,-67,992,837),29919=>array(36,-73,959,837),29920=>array(36,-67,964,838),29921=>array(57,-73,976,826),29922=>array(47,-69,973,834),29923=>array(32,-69,958,828),29924=>array(37,-66,969,856),29925=>array(51,-65,971,836),29926=>array(83,-35,941,773),29927=>array(36,-29,958,771),29928=>array(44,-63,966,783),29929=>array(36,-29,958,771),29930=>array(49,-29,955,811),29931=>array(65,-64,943,842),29932=>array(41,-74,968,838),29933=>array(39,-77,968,820),29934=>array(43,-56,956,807),29935=>array(104,-58,954,766),29936=>array(36,-29,963,782),29937=>array(36,-29,968,771),29938=>array(36,-29,953,822),29939=>array(56,-75,968,818),29940=>array(37,-65,969,838),29941=>array(62,-72,960,832),29942=>array(48,-61,962,842),29943=>array(75,-60,951,838),29944=>array(36,-29,958,772),29945=>array(99,-64,968,791),29946=>array(49,-60,970,800),29947=>array(36,-65,969,831),29948=>array(49,-29,955,786),29949=>array(78,-56,963,833),29950=>array(38,-64,960,824),29951=>array(50,-50,955,839),29952=>array(39,-71,970,827),29953=>array(39,-71,964,835),29954=>array(36,-74,974,832),29955=>array(58,-54,962,836),29956=>array(30,-48,947,784),29957=>array(38,-29,960,790),29958=>array(65,-63,962,854),29959=>array(97,-66,934,825),29960=>array(43,-75,962,838),29961=>array(34,-77,974,836),29962=>array(35,-69,966,830),29963=>array(65,-70,962,829),29964=>array(105,-74,950,787),29965=>array(74,-66,961,828),29966=>array(70,-66,945,827),29967=>array(60,-59,954,834),29968=>array(37,-68,958,828),29969=>array(83,-64,964,848),29970=>array(44,-68,961,824),29971=>array(24,-47,938,825),29972=>array(34,-68,985,829),29973=>array(66,-55,966,838),29974=>array(55,-68,957,785),29975=>array(33,-59,949,835),29976=>array(76,-68,927,827),29977=>array(49,-76,959,828),29978=>array(66,-72,934,835),29979=>array(32,-48,959,845),29980=>array(34,-58,945,834),29981=>array(35,-75,962,823),29982=>array(74,-47,939,836),29983=>array(60,-8,934,824),29984=>array(129,-23,956,830),29985=>array(37,-29,956,830),29986=>array(50,-76,930,838),29987=>array(49,-74,928,831),29988=>array(72,-56,970,811),29989=>array(73,-57,923,812),29990=>array(40,-69,966,811),29991=>array(45,-66,952,829),29992=>array(52,-73,855,788),29993=>array(65,-61,936,785),29994=>array(74,-67,847,842),29995=>array(62,-67,956,843),29996=>array(140,-65,856,798),29997=>array(53,-81,935,783),29998=>array(48,-67,916,844),29999=>array(63,-61,945,836),30000=>array(133,-68,867,762),30001=>array(137,-70,862,833),30002=>array(140,-69,860,785),30003=>array(149,-67,851,833),30004=>array(172,-67,839,832),30005=>array(148,-31,954,824),30006=>array(149,-65,872,833),30007=>array(85,-62,889,783),30008=>array(37,-56,914,856),30009=>array(65,-68,939,833),30010=>array(107,-53,954,790),30011=>array(75,-57,925,800),30012=>array(98,-46,914,810),30013=>array(99,-74,891,823),30014=>array(126,-62,879,844),30015=>array(101,-7,948,830),30016=>array(50,-65,957,779),30017=>array(50,-55,957,833),30018=>array(98,-59,965,850),30019=>array(90,-59,921,837),30020=>array(153,-62,845,824),30021=>array(90,-56,889,830),30022=>array(46,-66,965,823),30023=>array(99,-63,912,845),30024=>array(107,-66,978,791),30025=>array(96,-68,962,833),30026=>array(88,-64,952,828),30027=>array(76,-52,955,835),30028=>array(54,-70,961,782),30029=>array(96,-72,974,835),30030=>array(110,-66,981,831),30031=>array(64,-69,944,780),30032=>array(72,-52,945,791),30033=>array(51,-59,903,838),30034=>array(56,-50,963,833),30035=>array(60,-72,967,813),30036=>array(93,-67,938,839),30037=>array(178,-72,823,780),30038=>array(81,-70,970,836),30039=>array(109,-72,902,843),30040=>array(79,-62,955,839),30041=>array(75,-68,897,818),30042=>array(29,-67,975,848),30043=>array(111,-64,978,853),30044=>array(76,-59,920,836),30045=>array(56,-65,972,836),30046=>array(77,-70,968,838),30047=>array(50,-69,965,817),30048=>array(143,-68,867,845),30049=>array(86,-61,943,846),30050=>array(58,-69,947,801),30051=>array(34,-68,968,834),30052=>array(106,-62,955,832),30053=>array(110,-66,962,839),30054=>array(89,-22,943,828),30055=>array(48,-75,963,812),30056=>array(50,-70,959,808),30057=>array(96,-64,959,795),30058=>array(53,-70,957,836),30059=>array(82,-24,938,836),30060=>array(37,-67,966,854),30061=>array(81,-62,961,850),30062=>array(94,-62,954,847),30063=>array(69,-69,961,849),30064=>array(72,-74,926,784),30065=>array(89,-71,916,797),30066=>array(33,-72,973,847),30067=>array(54,-50,952,813),30068=>array(82,-58,911,831),30069=>array(79,-34,934,836),30070=>array(103,-68,914,841),30071=>array(77,-67,976,786),30072=>array(97,-62,939,835),30073=>array(101,-63,966,844),30074=>array(54,-20,951,803),30075=>array(74,-14,972,836),30076=>array(92,-61,938,782),30077=>array(103,-15,953,851),30078=>array(115,-69,908,783),30079=>array(56,-69,963,839),30080=>array(42,-71,969,828),30081=>array(74,-73,970,811),30082=>array(54,-46,952,786),30083=>array(94,-42,961,840),30084=>array(100,-70,955,822),30085=>array(84,-48,961,814),30086=>array(31,-61,951,814),30087=>array(87,-63,938,833),30088=>array(52,-82,943,829),30089=>array(51,-39,949,822),30090=>array(54,-31,952,791),30091=>array(28,-66,975,773),30092=>array(52,-70,968,835),30093=>array(68,-7,957,787),30094=>array(30,-65,966,827),30095=>array(35,-71,960,821),30096=>array(59,-81,955,837),30097=>array(33,-68,945,827),30098=>array(37,-63,898,822),30099=>array(37,-63,914,822),30100=>array(63,-65,944,823),30101=>array(36,-59,957,852),30102=>array(30,-63,899,838),30103=>array(35,-59,924,842),30104=>array(36,-75,954,833),30105=>array(46,-71,953,852),30106=>array(48,-69,968,820),30107=>array(48,-64,951,841),30108=>array(54,-69,941,845),30109=>array(54,-69,941,815),30110=>array(54,-69,961,845),30111=>array(24,-65,925,836),30112=>array(32,-66,900,838),30113=>array(28,-70,914,840),30114=>array(44,-65,982,855),30115=>array(51,-71,952,825),30116=>array(47,-73,960,845),30117=>array(50,-70,959,825),30118=>array(47,-73,945,845),30119=>array(52,-69,966,841),30120=>array(47,-73,938,845),30121=>array(47,-73,938,845),30122=>array(39,-57,959,854),30123=>array(37,-71,953,840),30124=>array(27,-67,896,849),30125=>array(27,-67,928,850),30126=>array(26,-67,932,840),30127=>array(27,-63,942,848),30128=>array(43,-63,951,849),30129=>array(39,-67,953,829),30130=>array(43,-73,957,831),30131=>array(44,-67,944,834),30132=>array(25,-66,938,851),30133=>array(54,-74,963,841),30134=>array(49,-71,951,830),30135=>array(47,-78,946,835),30136=>array(59,-75,954,829),30137=>array(41,-72,974,826),30138=>array(50,-60,958,835),30139=>array(47,-82,935,834),30140=>array(40,-78,972,825),30141=>array(32,-74,954,839),30142=>array(43,-73,962,829),30143=>array(44,-65,945,849),30144=>array(41,-58,954,855),30145=>array(44,-58,945,852),30146=>array(43,-79,941,832),30147=>array(27,-77,933,834),30148=>array(53,-61,948,856),30149=>array(38,-71,933,840),30150=>array(40,-71,951,847),30151=>array(41,-65,955,827),30152=>array(19,-74,918,848),30153=>array(24,-60,919,827),30154=>array(43,-73,951,830),30155=>array(53,-79,968,835),30156=>array(34,-83,948,840),30157=>array(43,-69,972,833),30158=>array(47,-67,957,846),30159=>array(41,-60,960,850),30160=>array(50,-75,944,829),30161=>array(51,-70,945,836),30162=>array(48,-71,955,827),30163=>array(50,-75,944,829),30164=>array(38,-68,947,844),30165=>array(48,-68,964,825),30166=>array(27,-65,919,846),30167=>array(36,-51,964,859),30168=>array(45,-75,949,826),30169=>array(45,-72,954,839),30170=>array(56,-82,962,832),30171=>array(33,-68,935,834),30172=>array(34,-70,962,847),30173=>array(43,-60,962,841),30174=>array(44,-68,961,834),30175=>array(57,-68,945,843),30176=>array(48,-73,983,846),30177=>array(31,-73,954,843),30178=>array(46,-69,944,835),30179=>array(45,-63,960,836),30180=>array(49,-67,954,847),30181=>array(33,-73,951,847),30182=>array(57,-68,955,835),30183=>array(39,-65,965,845),30184=>array(56,-67,922,852),30185=>array(37,-70,961,831),30186=>array(29,-74,955,846),30187=>array(20,-65,913,839),30188=>array(42,-69,941,841),30189=>array(44,-73,959,845),30190=>array(43,-75,965,840),30191=>array(34,-55,959,858),30192=>array(55,-70,958,832),30193=>array(45,-70,942,848),30194=>array(34,-66,957,838),30195=>array(40,-69,971,834),30196=>array(38,-67,941,834),30197=>array(36,-71,974,851),30198=>array(45,-72,960,851),30199=>array(36,-63,965,849),30200=>array(31,-73,930,839),30201=>array(46,-68,951,843),30202=>array(59,-67,959,834),30203=>array(39,-75,960,845),30204=>array(33,-65,941,836),30205=>array(31,-68,954,848),30206=>array(35,-67,956,842),30207=>array(33,-67,945,834),30208=>array(38,-64,964,837),30209=>array(48,-66,952,838),30210=>array(38,-77,935,843),30211=>array(30,-65,967,848),30212=>array(37,-64,942,841),30213=>array(37,-71,939,846),30214=>array(14,-67,912,845),30215=>array(34,-55,954,854),30216=>array(46,-64,974,855),30217=>array(39,-64,955,826),30218=>array(38,-65,955,852),30219=>array(38,-66,960,838),30220=>array(38,-70,944,847),30221=>array(55,-70,956,845),30222=>array(38,-67,944,840),30223=>array(33,-55,961,857),30224=>array(41,-69,974,850),30225=>array(45,-69,948,848),30226=>array(41,-75,938,848),30227=>array(46,-72,972,849),30228=>array(51,-73,961,838),30229=>array(44,-67,981,854),30230=>array(27,-54,954,860),30231=>array(26,-68,934,847),30232=>array(38,-69,911,835),30233=>array(30,-69,961,836),30234=>array(42,-70,971,836),30235=>array(24,-60,970,855),30236=>array(47,-66,981,840),30237=>array(40,-58,969,861),30238=>array(36,-62,976,848),30239=>array(37,-72,938,833),30240=>array(34,-67,962,841),30241=>array(35,-70,966,841),30242=>array(32,-73,957,841),30243=>array(46,-65,958,831),30244=>array(46,-74,948,841),30245=>array(43,-66,956,851),30246=>array(22,-68,959,851),30247=>array(44,-74,942,833),30248=>array(45,-79,963,837),30249=>array(46,-61,952,849),30250=>array(21,-67,933,823),30251=>array(26,-65,923,840),30252=>array(26,-65,963,840),30253=>array(44,-66,979,847),30254=>array(26,-73,967,847),30255=>array(45,-69,955,834),30256=>array(52,-76,951,841),30257=>array(50,-69,966,836),30258=>array(53,-64,978,854),30259=>array(32,-68,971,851),30260=>array(23,-66,943,841),30261=>array(33,-67,963,847),30262=>array(52,-65,970,848),30263=>array(52,-65,979,848),30264=>array(45,-65,943,848),30265=>array(52,-65,951,848),30266=>array(31,-69,948,852),30267=>array(36,-73,941,829),30268=>array(49,-67,980,850),30269=>array(37,-62,954,836),30270=>array(26,-65,970,832),30271=>array(29,-65,909,838),30272=>array(23,-81,928,826),30273=>array(23,-87,940,826),30274=>array(46,-65,964,830),30275=>array(33,-67,971,847),30276=>array(23,-91,937,826),30277=>array(23,-71,912,836),30278=>array(49,-66,941,841),30279=>array(29,-57,942,846),30280=>array(35,-62,963,829),30281=>array(35,-65,947,849),30282=>array(35,-70,973,853),30283=>array(57,-69,967,854),30284=>array(38,-68,933,844),30285=>array(24,-68,923,835),30286=>array(37,-64,937,840),30287=>array(37,-64,957,850),30288=>array(51,-68,983,849),30289=>array(37,-87,957,850),30290=>array(42,-58,971,836),30291=>array(49,-73,983,831),30292=>array(25,-61,931,828),30293=>array(42,-57,957,836),30294=>array(45,-73,956,833),30295=>array(42,-67,933,836),30296=>array(53,-65,948,844),30297=>array(42,-74,969,832),30298=>array(37,-71,936,833),30299=>array(48,-67,989,843),30300=>array(45,-67,980,841),30301=>array(48,-69,920,838),30302=>array(21,-71,912,835),30303=>array(44,-69,973,844),30304=>array(38,-71,982,846),30305=>array(51,-71,976,844),30306=>array(45,-76,947,840),30307=>array(25,-66,920,841),30308=>array(57,-73,959,837),30309=>array(40,-69,973,852),30310=>array(50,-78,948,846),30311=>array(43,-65,962,836),30312=>array(47,-75,946,834),30313=>array(42,-67,985,854),30314=>array(40,-69,964,854),30315=>array(29,-69,919,838),30316=>array(45,-66,956,854),30317=>array(50,-68,939,850),30318=>array(38,-71,974,845),30319=>array(35,-77,947,844),30320=>array(35,-78,959,854),30321=>array(47,-71,954,856),30322=>array(39,-77,967,854),30323=>array(27,-60,972,853),30324=>array(21,-77,958,849),30325=>array(46,-72,963,833),30326=>array(100,220,956,730),30327=>array(80,-55,936,839),30328=>array(80,-78,936,840),30329=>array(38,-69,967,840),30330=>array(47,-51,957,837),30331=>array(57,-13,957,837),30332=>array(52,-63,960,829),30333=>array(199,-64,822,833),30334=>array(98,-67,914,780),30335=>array(113,-47,959,830),30336=>array(200,-26,891,841),30337=>array(53,-49,947,866),30338=>array(74,-26,924,842),30339=>array(60,-67,950,836),30340=>array(101,-54,882,838),30341=>array(94,-27,941,842),30342=>array(64,-62,947,837),30343=>array(80,-28,932,845),30344=>array(87,-80,954,831),30345=>array(107,-39,959,834),30346=>array(119,-78,962,839),30347=>array(33,-64,959,849),30348=>array(100,-53,967,847),30349=>array(134,-61,898,837),30350=>array(90,-60,952,824),30351=>array(111,-69,954,835),30352=>array(53,-64,947,849),30353=>array(76,-19,944,820),30354=>array(100,-72,956,829),30355=>array(84,-64,923,831),30356=>array(84,-62,944,810),30357=>array(56,-63,947,776),30358=>array(86,-62,930,825),30359=>array(93,-67,907,810),30360=>array(84,-59,959,838),30361=>array(42,-63,943,847),30362=>array(92,-20,933,839),30363=>array(114,-69,889,834),30364=>array(110,-63,957,837),30365=>array(69,-70,964,833),30366=>array(117,-69,982,831),30367=>array(112,-68,975,839),30368=>array(97,-65,953,833),30369=>array(92,-74,960,852),30370=>array(92,-61,964,837),30371=>array(88,-68,946,831),30372=>array(79,-67,948,836),30373=>array(90,-74,960,852),30374=>array(82,-55,954,857),30375=>array(82,-62,946,841),30376=>array(60,-43,954,842),30377=>array(43,-73,970,838),30378=>array(98,-52,969,851),30379=>array(87,-72,956,845),30380=>array(82,-67,941,817),30381=>array(110,-63,963,845),30382=>array(53,-71,940,832),30383=>array(33,-81,951,826),30384=>array(33,-62,965,836),30385=>array(27,-68,939,833),30386=>array(41,-67,932,821),30387=>array(33,-75,956,834),30388=>array(31,-75,956,844),30389=>array(57,-76,966,826),30390=>array(30,-75,976,834),30391=>array(36,-70,956,838),30392=>array(50,-68,966,832),30393=>array(38,-67,954,832),30394=>array(45,-73,971,838),30395=>array(46,-73,969,824),30396=>array(47,-73,956,835),30397=>array(47,-66,969,849),30398=>array(51,-71,969,835),30399=>array(70,34,944,715),30400=>array(57,-20,948,822),30401=>array(57,-14,948,784),30402=>array(57,-14,948,789),30403=>array(48,-17,958,770),30404=>array(60,-53,956,757),30405=>array(47,-11,956,841),30406=>array(49,-25,947,794),30407=>array(46,-40,957,827),30408=>array(59,-38,952,784),30409=>array(41,-21,974,836),30410=>array(45,-18,960,840),30411=>array(55,-37,954,836),30412=>array(48,-20,957,830),30413=>array(62,-22,954,838),30414=>array(55,-14,954,835),30415=>array(52,-19,925,823),30416=>array(50,-44,924,799),30417=>array(52,-23,943,820),30418=>array(47,-28,961,851),30419=>array(60,-20,952,821),30420=>array(59,-23,951,840),30421=>array(63,-32,952,817),30422=>array(39,-32,959,847),30423=>array(57,-33,954,840),30424=>array(65,-32,914,831),30425=>array(51,-33,952,834),30426=>array(61,-34,956,809),30427=>array(50,-23,947,832),30428=>array(63,-32,952,843),30429=>array(60,-23,954,850),30430=>array(63,-32,953,840),30431=>array(58,-27,952,789),30432=>array(57,-46,961,848),30433=>array(48,-35,948,829),30434=>array(58,-27,952,802),30435=>array(53,-26,947,824),30436=>array(62,-35,956,842),30437=>array(53,-24,961,837),30438=>array(26,-26,957,869),30439=>array(40,-78,941,833),30440=>array(38,-24,961,788),30441=>array(60,-18,959,834),30442=>array(53,-12,951,823),30443=>array(32,-54,957,863),30444=>array(58,-10,952,850),30445=>array(65,-38,978,842),30446=>array(206,-42,767,771),30447=>array(98,-62,931,770),30448=>array(101,-68,938,783),30449=>array(118,-59,956,789),30450=>array(63,-70,937,826),30451=>array(107,-27,953,824),30452=>array(95,-70,949,835),30453=>array(109,-40,965,833),30454=>array(75,-68,958,778),30455=>array(109,-61,900,821),30456=>array(43,-65,889,828),30457=>array(86,-34,952,829),30458=>array(116,-71,957,828),30459=>array(107,-62,958,803),30460=>array(100,-71,944,803),30461=>array(101,-59,957,826),30462=>array(68,-73,920,834),30463=>array(75,-55,984,851),30464=>array(130,-65,890,787),30465=>array(53,-70,939,829),30466=>array(119,-59,945,837),30467=>array(119,-73,962,762),30468=>array(96,-52,949,790),30469=>array(92,-62,971,813),30470=>array(119,-66,954,849),30471=>array(88,-72,943,826),30472=>array(93,-65,931,826),30473=>array(52,-70,880,781),30474=>array(101,-55,943,811),30475=>array(71,-67,912,818),30476=>array(73,-62,949,799),30477=>array(96,-21,919,763),30478=>array(85,-58,951,755),30479=>array(96,-67,953,832),30480=>array(114,-21,953,773),30481=>array(106,-70,916,827),30482=>array(119,-70,917,830),30483=>array(99,-73,959,827),30484=>array(50,-67,946,785),30485=>array(116,-71,967,835),30486=>array(119,-62,960,773),30487=>array(119,-58,924,844),30488=>array(42,-57,971,821),30489=>array(118,-65,952,835),30490=>array(65,-62,961,843),30491=>array(124,-64,987,839),30492=>array(124,-64,987,839),30493=>array(118,-64,927,827),30494=>array(78,-84,951,835),30495=>array(64,-84,936,835),30496=>array(98,-71,956,785),30497=>array(94,-53,963,829),30498=>array(34,-65,958,843),30499=>array(116,-71,973,835),30500=>array(95,-71,929,784),30501=>array(44,-52,947,852),30502=>array(76,-56,931,823),30503=>array(110,-73,903,780),30504=>array(96,-69,948,833),30505=>array(88,-49,927,823),30506=>array(88,-68,951,782),30507=>array(95,-55,942,837),30508=>array(88,-67,931,825),30509=>array(124,-21,959,832),30510=>array(88,-70,909,782),30511=>array(80,-64,927,824),30512=>array(88,-42,956,770),30513=>array(106,-78,965,821),30514=>array(110,-70,953,777),30515=>array(107,-71,906,825),30516=>array(111,-40,909,859),30517=>array(119,-65,935,847),30518=>array(94,-21,934,783),30519=>array(39,-67,964,838),30520=>array(86,-62,929,849),30521=>array(103,-51,969,853),30522=>array(104,-67,943,828),30523=>array(110,-70,954,823),30524=>array(96,-64,965,794),30525=>array(105,-74,966,820),30526=>array(57,-67,955,785),30527=>array(88,-61,976,840),30528=>array(39,-69,929,839),30529=>array(101,-72,922,824),30530=>array(37,-67,938,841),30531=>array(97,-73,930,835),30532=>array(104,-67,909,825),30533=>array(107,-49,955,806),30534=>array(98,-55,951,834),30535=>array(110,-64,915,853),30536=>array(88,-16,952,788),30537=>array(88,-24,958,829),30538=>array(107,-48,902,803),30539=>array(97,-68,954,828),30540=>array(100,-71,949,825),30541=>array(96,-50,954,804),30542=>array(109,-47,948,864),30543=>array(112,-68,903,782),30544=>array(100,-69,940,820),30545=>array(96,-18,937,823),30546=>array(118,-75,983,829),30547=>array(100,-74,960,829),30548=>array(105,-70,969,840),30549=>array(112,-66,967,844),30550=>array(112,-74,972,823),30551=>array(105,-66,929,781),30552=>array(76,-73,930,781),30553=>array(110,-79,979,829),30554=>array(97,-72,933,790),30555=>array(109,-68,935,831),30556=>array(98,-63,930,836),30557=>array(72,-69,908,849),30558=>array(110,-64,970,830),30559=>array(95,-48,939,857),30560=>array(109,-30,965,841),30561=>array(87,-26,947,833),30562=>array(98,-64,937,832),30563=>array(57,-67,956,835),30564=>array(104,-64,955,792),30565=>array(104,-64,951,856),30566=>array(96,-30,948,826),30567=>array(97,-48,944,860),30568=>array(137,-57,969,845),30569=>array(118,-73,966,838),30570=>array(78,-70,932,783),30571=>array(92,-72,941,833),30572=>array(94,-65,944,831),30573=>array(113,-68,911,780),30574=>array(108,-67,980,839),30575=>array(88,-69,941,834),30576=>array(92,-65,948,829),30577=>array(88,-68,965,791),30578=>array(92,-22,945,788),30579=>array(92,-32,980,829),30580=>array(92,-65,936,787),30581=>array(107,-53,981,829),30582=>array(92,-64,978,842),30583=>array(92,-55,964,827),30584=>array(111,-64,906,789),30585=>array(98,-66,932,831),30586=>array(109,-74,962,834),30587=>array(92,-20,959,855),30588=>array(107,-69,965,786),30589=>array(86,-62,952,833),30590=>array(58,-72,950,849),30591=>array(49,-66,958,833),30592=>array(40,-65,982,845),30593=>array(111,-69,971,785),30594=>array(44,-67,970,832),30595=>array(100,-69,954,831),30596=>array(93,-65,929,835),30597=>array(79,-79,950,828),30598=>array(92,-60,938,832),30599=>array(97,-63,956,833),30600=>array(121,-79,980,781),30601=>array(93,-73,987,827),30602=>array(92,-77,956,843),30603=>array(94,-78,961,833),30604=>array(90,-26,927,833),30605=>array(97,-58,966,841),30606=>array(89,-62,932,824),30607=>array(54,-75,971,782),30608=>array(124,-45,896,816),30609=>array(91,-67,938,790),30610=>array(87,-60,917,826),30611=>array(104,-66,914,838),30612=>array(92,-74,947,833),30613=>array(98,-50,945,854),30614=>array(114,-69,938,813),30615=>array(116,-70,933,828),30616=>array(89,-23,953,801),30617=>array(109,-72,970,826),30618=>array(107,-80,958,837),30619=>array(108,-69,973,835),30620=>array(97,-73,949,821),30621=>array(105,-65,951,834),30622=>array(95,-69,936,831),30623=>array(82,-70,955,789),30624=>array(79,-39,942,823),30625=>array(109,-72,961,822),30626=>array(88,-83,913,830),30627=>array(94,-37,962,823),30628=>array(79,-62,906,793),30629=>array(102,-72,959,841),30630=>array(79,-65,956,836),30631=>array(90,-62,941,837),30632=>array(108,-73,966,821),30633=>array(88,-72,894,779),30634=>array(86,-23,935,843),30635=>array(114,-70,961,782),30636=>array(95,-68,944,830),30637=>array(94,-66,975,841),30638=>array(100,-62,970,847),30639=>array(88,-68,911,796),30640=>array(85,-75,960,828),30641=>array(102,-70,950,824),30642=>array(106,-68,928,783),30643=>array(95,-35,940,833),30644=>array(105,-71,961,827),30645=>array(109,-62,951,838),30646=>array(108,-64,969,839),30647=>array(105,-68,901,785),30648=>array(98,-70,957,827),30649=>array(89,-69,944,838),30650=>array(96,-70,952,839),30651=>array(68,-75,919,838),30652=>array(82,-67,951,852),30653=>array(52,-64,969,836),30654=>array(72,-46,910,801),30655=>array(39,-65,947,790),30656=>array(68,-77,981,828),30657=>array(99,-23,974,825),30658=>array(94,-66,961,786),30659=>array(76,-63,952,844),30660=>array(92,-76,949,830),30661=>array(81,-70,953,805),30662=>array(96,-65,963,828),30663=>array(91,-64,959,820),30664=>array(81,-70,957,848),30665=>array(98,-55,952,856),30666=>array(103,-68,919,835),30667=>array(87,-67,948,808),30668=>array(102,-72,964,850),30669=>array(31,-62,974,799),30670=>array(94,-65,963,844),30671=>array(92,-69,939,853),30672=>array(99,-67,935,785),30673=>array(68,-67,953,832),30674=>array(77,-67,946,833),30675=>array(91,-68,951,831),30676=>array(99,-70,938,824),30677=>array(41,-72,957,840),30678=>array(97,-62,965,804),30679=>array(71,-71,953,842),30680=>array(92,-68,947,830),30681=>array(88,-54,899,806),30682=>array(102,-77,905,786),30683=>array(81,-57,926,793),30684=>array(39,-66,972,850),30685=>array(39,-77,960,846),30686=>array(60,-68,927,786),30687=>array(44,-67,940,833),30688=>array(33,-70,954,825),30689=>array(43,-61,960,811),30690=>array(69,-71,947,828),30691=>array(42,-66,965,843),30692=>array(80,-56,964,837),30693=>array(69,-73,911,838),30694=>array(62,-67,941,836),30695=>array(34,-67,893,831),30696=>array(37,-68,980,834),30697=>array(39,-61,947,825),30698=>array(39,-65,932,834),30699=>array(27,-61,951,839),30700=>array(33,-29,955,832),30701=>array(51,-77,948,809),30702=>array(36,-73,951,833),30703=>array(33,-67,963,827),30704=>array(59,-70,934,838),30705=>array(40,-71,980,827),30706=>array(34,-65,980,837),30707=>array(67,-70,909,768),30708=>array(39,-66,948,761),30709=>array(61,-61,880,824),30710=>array(39,-57,929,774),30711=>array(44,-63,953,786),30712=>array(38,-64,959,780),30713=>array(37,-66,962,788),30714=>array(29,-33,959,828),30715=>array(51,-29,972,837),30716=>array(39,-2,957,761),30717=>array(59,-77,927,841),30718=>array(40,-70,942,785),30719=>array(49,-68,921,818),30720=>array(23,-59,898,767),30721=>array(39,-62,905,768),30722=>array(38,-68,971,824),30723=>array(45,-69,954,785),30724=>array(22,-69,955,829),30725=>array(44,-73,981,821),30726=>array(49,-70,990,836),30727=>array(42,-65,976,842),30728=>array(32,-71,970,772),30729=>array(48,-62,956,842),30730=>array(42,-64,957,843),30731=>array(42,-3,954,822),30732=>array(53,-62,925,829),30733=>array(43,-71,971,844),30734=>array(36,-77,971,828),30735=>array(43,-69,967,785),30736=>array(43,-70,969,786),30737=>array(51,-61,951,778),30738=>array(32,-51,952,818),30739=>array(39,-69,972,785),30740=>array(36,-71,956,780),30741=>array(42,-63,954,837),30742=>array(21,-68,921,826),30743=>array(29,-67,951,820),30744=>array(28,-44,944,824),30745=>array(42,-35,952,780),30746=>array(26,-62,929,788),30747=>array(41,-69,972,837),30748=>array(24,-69,954,781),30749=>array(50,-56,956,827),30750=>array(42,-64,987,839),30751=>array(41,-62,956,848),30752=>array(32,-17,954,792),30753=>array(52,-35,964,765),30754=>array(44,-59,952,783),30755=>array(44,-32,950,844),30756=>array(42,-29,943,831),30757=>array(29,-55,959,831),30758=>array(41,-53,960,843),30759=>array(40,-65,945,827),30760=>array(47,-75,964,832),30761=>array(42,-65,921,831),30762=>array(38,-60,958,784),30763=>array(57,-37,962,824),30764=>array(39,-19,952,816),30765=>array(37,-65,963,830),30766=>array(44,-53,962,855),30767=>array(51,-64,976,828),30768=>array(34,-68,951,780),30769=>array(46,-77,979,841),30770=>array(35,-29,963,835),30771=>array(43,-54,945,779),30772=>array(46,-70,958,835),30773=>array(23,-59,971,836),30774=>array(42,-66,886,843),30775=>array(59,-70,922,836),30776=>array(36,-26,956,788),30777=>array(35,-68,971,830),30778=>array(54,-72,946,761),30779=>array(29,-62,933,826),30780=>array(31,-31,964,840),30781=>array(42,-57,928,786),30782=>array(32,-60,947,828),30783=>array(33,-66,948,822),30784=>array(35,-60,905,830),30785=>array(30,-33,938,772),30786=>array(32,-11,965,845),30787=>array(37,-65,980,839),30788=>array(35,-66,960,831),30789=>array(41,-20,954,832),30790=>array(35,-65,963,841),30791=>array(46,-78,909,839),30792=>array(41,-72,956,824),30793=>array(42,-68,958,824),30794=>array(45,-72,952,822),30795=>array(35,-73,969,836),30796=>array(28,-57,972,849),30797=>array(30,-60,973,791),30798=>array(36,-63,907,832),30799=>array(36,-69,953,788),30800=>array(43,-70,909,782),30801=>array(36,-70,958,839),30802=>array(35,-68,948,780),30803=>array(25,-32,959,833),30804=>array(35,-71,949,826),30805=>array(38,-67,940,775),30806=>array(30,-74,945,826),30807=>array(29,-72,936,821),30808=>array(35,-64,903,795),30809=>array(25,-25,938,826),30810=>array(35,-66,963,823),30811=>array(35,-63,955,846),30812=>array(42,-20,956,791),30813=>array(50,-70,943,833),30814=>array(41,-67,954,829),30815=>array(35,-67,967,824),30816=>array(45,-71,972,834),30817=>array(35,-68,937,832),30818=>array(41,-70,961,819),30819=>array(35,-68,953,830),30820=>array(33,-67,983,833),30821=>array(42,-68,950,838),30822=>array(35,-51,951,802),30823=>array(35,-64,895,785),30824=>array(49,-62,964,838),30825=>array(50,-65,938,830),30826=>array(33,-54,959,830),30827=>array(26,-70,964,830),30828=>array(46,-61,978,784),30829=>array(41,-35,959,805),30830=>array(51,-57,907,852),30831=>array(34,-69,960,787),30832=>array(51,-65,942,830),30833=>array(49,-71,915,777),30834=>array(42,-64,980,833),30835=>array(35,-54,970,835),30836=>array(32,-65,962,828),30837=>array(39,-63,958,839),30838=>array(35,-66,969,830),30839=>array(32,-32,939,811),30840=>array(35,-67,948,836),30841=>array(39,-61,977,829),30842=>array(35,-56,959,785),30843=>array(44,-68,987,782),30844=>array(59,-78,919,779),30845=>array(35,-32,954,839),30846=>array(29,-16,953,853),30847=>array(37,-27,950,837),30848=>array(44,-67,954,827),30849=>array(26,-54,971,843),30850=>array(35,-57,969,850),30851=>array(36,-72,950,823),30852=>array(44,-70,972,823),30853=>array(36,-72,900,780),30854=>array(41,-52,949,843),30855=>array(42,-71,962,833),30856=>array(35,-65,960,833),30857=>array(53,-68,918,785),30858=>array(35,-57,974,840),30859=>array(35,-67,932,836),30860=>array(35,-67,966,836),30861=>array(33,-52,952,796),30862=>array(43,-64,951,834),30863=>array(39,-72,955,820),30864=>array(35,-67,981,839),30865=>array(31,-68,956,844),30866=>array(35,-23,982,843),30867=>array(44,-68,951,840),30868=>array(31,-62,968,831),30869=>array(35,-64,964,835),30870=>array(44,-70,958,847),30871=>array(43,-69,961,834),30872=>array(44,-74,960,829),30873=>array(47,-67,908,786),30874=>array(39,-63,954,840),30875=>array(27,-75,923,826),30876=>array(23,-71,949,839),30877=>array(35,-72,975,788),30878=>array(45,-50,936,798),30879=>array(35,-62,968,833),30880=>array(41,-67,952,837),30881=>array(37,-64,956,830),30882=>array(46,-65,907,785),30883=>array(49,-68,927,788),30884=>array(47,-71,971,823),30885=>array(32,-67,915,824),30886=>array(50,-70,956,849),30887=>array(60,-67,937,845),30888=>array(44,-73,975,784),30889=>array(44,-72,970,783),30890=>array(28,-54,948,841),30891=>array(46,-74,969,825),30892=>array(28,-73,971,785),30893=>array(29,-68,954,788),30894=>array(35,-72,979,788),30895=>array(34,-61,951,849),30896=>array(45,-29,957,845),30897=>array(34,-72,955,834),30898=>array(47,-67,939,842),30899=>array(39,-72,970,829),30900=>array(41,-24,964,830),30901=>array(32,-74,962,836),30902=>array(35,-57,961,834),30903=>array(35,-71,962,839),30904=>array(35,-69,971,789),30905=>array(25,-10,922,818),30906=>array(34,-69,950,843),30907=>array(29,-57,949,835),30908=>array(50,-60,933,781),30909=>array(35,-66,969,791),30910=>array(30,-70,961,785),30911=>array(39,-75,925,795),30912=>array(31,-58,963,838),30913=>array(37,-57,955,836),30914=>array(46,-65,913,834),30915=>array(37,-73,966,832),30916=>array(46,-73,966,830),30917=>array(37,-76,954,834),30918=>array(32,-69,946,793),30919=>array(32,-53,968,852),30920=>array(41,-64,972,857),30921=>array(43,-62,990,790),30922=>array(52,-68,944,788),30923=>array(20,-40,934,849),30924=>array(32,-70,955,825),30925=>array(19,-71,946,841),30926=>array(29,-75,967,841),30927=>array(34,-68,985,840),30928=>array(42,-61,956,844),30929=>array(41,-24,964,831),30930=>array(41,-64,941,785),30931=>array(32,-58,963,844),30932=>array(25,-59,963,849),30933=>array(32,-24,959,832),30934=>array(29,-57,921,800),30935=>array(32,-71,959,838),30936=>array(31,-67,956,827),30937=>array(24,-79,968,846),30938=>array(43,-66,957,831),30939=>array(39,-50,933,846),30940=>array(43,-55,960,850),30941=>array(40,-71,964,827),30942=>array(44,-75,898,824),30943=>array(51,-66,971,783),30944=>array(39,-64,958,839),30945=>array(25,-70,918,831),30946=>array(36,-72,964,824),30947=>array(36,-64,997,858),30948=>array(31,-66,957,837),30949=>array(47,-68,967,780),30950=>array(47,-64,965,787),30951=>array(43,-68,975,839),30952=>array(37,-64,939,833),30953=>array(45,-72,969,825),30954=>array(38,-65,966,838),30955=>array(38,-70,955,836),30956=>array(44,-67,952,832),30957=>array(45,-73,956,785),30958=>array(30,-61,945,841),30959=>array(33,-69,960,835),30960=>array(35,-65,952,846),30961=>array(33,-66,957,833),30962=>array(32,-63,975,829),30963=>array(46,-72,900,824),30964=>array(41,-21,989,838),30965=>array(41,-67,924,787),30966=>array(41,-64,944,846),30967=>array(37,-74,953,832),30968=>array(41,-76,974,851),30969=>array(56,-70,953,781),30970=>array(41,-72,968,828),30971=>array(30,-57,971,839),30972=>array(53,-68,966,832),30973=>array(38,-63,971,837),30974=>array(42,-65,940,787),30975=>array(32,-65,953,793),30976=>array(74,-68,926,785),30977=>array(45,-68,961,840),30978=>array(53,-70,956,825),30979=>array(54,-64,945,833),30980=>array(44,-62,988,833),30981=>array(41,-72,968,839),30982=>array(44,-68,969,858),30983=>array(43,-62,969,850),30984=>array(36,-58,963,825),30985=>array(43,-75,975,835),30986=>array(41,-59,959,818),30987=>array(51,-64,949,786),30988=>array(36,-65,935,789),30989=>array(53,-59,933,836),30990=>array(36,-65,961,825),30991=>array(44,-55,951,833),30992=>array(39,-71,937,833),30993=>array(40,-52,933,847),30994=>array(29,-58,965,860),30995=>array(44,-35,951,778),30996=>array(43,-68,956,836),30997=>array(44,-67,945,819),30998=>array(44,-70,952,821),30999=>array(51,-74,960,836),31000=>array(46,-69,954,786),31001=>array(33,-61,967,832),31002=>array(44,-20,957,835),31003=>array(41,-27,954,823),31004=>array(41,-67,984,839),31005=>array(33,-65,953,783),31006=>array(44,-66,976,830),31007=>array(22,-60,975,794),31008=>array(51,-31,949,846),31009=>array(34,-67,948,828),31010=>array(44,-76,975,844),31011=>array(32,-67,970,830),31012=>array(35,-67,976,828),31013=>array(41,-66,975,794),31014=>array(39,-74,959,834),31015=>array(46,-55,932,795),31016=>array(50,-54,936,792),31017=>array(36,-76,959,833),31018=>array(32,-63,962,799),31019=>array(26,-71,965,844),31020=>array(50,-70,962,833),31021=>array(59,-70,978,775),31022=>array(22,-60,975,840),31023=>array(36,-65,951,829),31024=>array(49,-69,953,790),31025=>array(44,-68,949,849),31026=>array(44,-62,956,842),31027=>array(26,-64,957,845),31028=>array(31,-61,951,832),31029=>array(44,-62,923,789),31030=>array(64,-58,936,839),31031=>array(50,-23,950,838),31032=>array(35,-75,979,829),31033=>array(33,-68,982,789),31034=>array(91,-68,932,757),31035=>array(235,-68,689,820),31036=>array(42,-59,961,820),31037=>array(54,-57,912,839),31038=>array(47,-69,949,822),31039=>array(48,-56,921,844),31040=>array(77,-68,945,768),31041=>array(39,-68,935,815),31042=>array(35,-55,963,847),31043=>array(35,-69,905,826),31044=>array(35,-70,976,835),31045=>array(45,-69,967,834),31046=>array(38,-67,964,841),31047=>array(36,-63,968,834),31048=>array(46,-67,946,834),31049=>array(36,-63,944,834),31050=>array(35,-55,960,848),31051=>array(36,-76,963,831),31052=>array(41,-71,918,831),31053=>array(45,-65,948,845),31054=>array(41,-71,906,826),31055=>array(34,-68,956,828),31056=>array(40,-60,958,843),31057=>array(34,-68,977,831),31058=>array(34,-72,908,824),31059=>array(47,-70,957,828),31060=>array(42,-52,949,850),31061=>array(42,-69,970,835),31062=>array(35,-73,953,818),31063=>array(57,-69,955,814),31064=>array(29,-52,964,763),31065=>array(34,-57,970,842),31066=>array(72,-69,960,838),31067=>array(32,-69,941,832),31068=>array(32,-69,953,836),31069=>array(35,-67,960,822),31070=>array(55,-67,904,837),31071=>array(64,-67,945,836),31072=>array(67,-68,909,775),31073=>array(60,-64,948,823),31074=>array(36,-64,962,834),31075=>array(44,-68,962,839),31076=>array(47,-69,906,833),31077=>array(39,-68,956,843),31078=>array(39,-68,968,836),31079=>array(37,-69,969,847),31080=>array(73,-61,952,788),31081=>array(50,-70,966,837),31082=>array(46,-72,955,833),31083=>array(27,-54,973,853),31084=>array(50,-69,956,837),31085=>array(46,-66,957,839),31086=>array(50,-69,953,838),31087=>array(30,-65,925,821),31088=>array(43,-64,959,843),31089=>array(50,-69,959,846),31090=>array(35,-65,970,842),31091=>array(45,-72,964,839),31092=>array(39,-74,951,841),31093=>array(50,-69,923,837),31094=>array(50,-69,925,842),31095=>array(36,-63,952,834),31096=>array(28,-61,886,822),31097=>array(27,-64,920,840),31098=>array(57,-66,963,829),31099=>array(50,-70,911,837),31100=>array(31,-53,982,851),31101=>array(40,-67,954,838),31102=>array(50,-69,968,837),31103=>array(32,-69,969,840),31104=>array(39,-74,915,816),31105=>array(46,-65,957,834),31106=>array(33,-70,908,835),31107=>array(50,-69,959,839),31108=>array(38,-64,963,834),31109=>array(45,-65,955,847),31110=>array(36,-69,956,849),31111=>array(50,-69,959,837),31112=>array(44,-68,951,835),31113=>array(28,-69,953,842),31114=>array(32,-69,958,832),31115=>array(38,-53,954,847),31116=>array(50,-69,943,843),31117=>array(36,-63,912,834),31118=>array(44,-67,971,832),31119=>array(38,-69,943,834),31120=>array(46,-69,957,835),31121=>array(32,-69,930,804),31122=>array(43,-69,970,839),31123=>array(38,-72,950,826),31124=>array(32,-69,966,797),31125=>array(38,-62,968,842),31126=>array(28,-57,978,843),31127=>array(51,-62,967,835),31128=>array(36,-56,953,846),31129=>array(32,-64,966,846),31130=>array(31,-70,985,832),31131=>array(30,-78,961,833),31132=>array(88,-67,941,823),31133=>array(50,-69,964,802),31134=>array(50,-75,940,841),31135=>array(50,-69,954,843),31136=>array(30,-71,955,836),31137=>array(49,-64,948,842),31138=>array(34,-72,915,826),31139=>array(48,-71,959,842),31140=>array(47,-68,899,835),31141=>array(38,-69,971,837),31142=>array(63,-66,940,835),31143=>array(60,-69,947,835),31144=>array(42,-72,973,843),31145=>array(50,-69,973,837),31146=>array(55,-69,955,791),31147=>array(32,-55,954,842),31148=>array(51,-71,963,840),31149=>array(44,-66,980,845),31150=>array(60,-69,952,833),31151=>array(50,-70,979,840),31152=>array(39,-64,973,827),31153=>array(26,-69,960,835),31154=>array(35,-72,947,835),31155=>array(50,-69,970,846),31156=>array(24,-59,972,868),31157=>array(43,-69,959,836),31158=>array(30,-81,968,825),31159=>array(37,-68,965,830),31160=>array(72,-59,875,818),31161=>array(120,-71,883,829),31162=>array(130,-64,882,785),31163=>array(69,-65,939,838),31164=>array(131,-65,869,834),31165=>array(38,-59,962,856),31166=>array(55,-70,958,825),31167=>array(52,-64,947,831),31168=>array(50,-59,951,830),31169=>array(40,-68,959,833),31170=>array(50,-50,954,823),31171=>array(50,-76,921,817),31172=>array(44,-67,955,833),31173=>array(45,-67,951,833),31174=>array(49,-70,947,820),31175=>array(50,-70,960,833),31176=>array(36,-52,904,846),31177=>array(42,-70,950,823),31178=>array(47,-69,968,834),31179=>array(43,-73,964,837),31180=>array(59,-71,968,829),31181=>array(45,-70,917,826),31182=>array(39,-69,962,824),31183=>array(48,-71,960,838),31184=>array(51,-69,955,829),31185=>array(41,-69,955,829),31186=>array(43,-70,959,827),31187=>array(41,-69,965,835),31188=>array(41,-69,966,843),31189=>array(39,-61,954,829),31190=>array(42,-76,972,827),31191=>array(41,-70,955,829),31192=>array(43,-61,969,828),31193=>array(41,-69,956,836),31194=>array(41,-69,944,833),31195=>array(49,-71,951,832),31196=>array(35,-71,952,829),31197=>array(51,-71,976,822),31198=>array(53,-70,924,827),31199=>array(32,-73,958,817),31200=>array(42,-70,964,829),31201=>array(41,-69,975,844),31202=>array(37,-78,975,831),31203=>array(39,-59,972,839),31204=>array(42,-75,951,810),31205=>array(41,-69,947,830),31206=>array(52,-68,964,835),31207=>array(39,-72,979,835),31208=>array(41,-69,951,842),31209=>array(36,-70,973,839),31210=>array(37,-49,966,859),31211=>array(34,-65,954,834),31212=>array(41,-57,941,835),31213=>array(42,-62,937,835),31214=>array(48,-73,960,829),31215=>array(24,-62,939,830),31216=>array(44,-59,961,835),31217=>array(59,-69,941,829),31218=>array(31,-71,942,835),31219=>array(41,-69,958,839),31220=>array(41,-69,985,853),31221=>array(66,-69,939,829),31222=>array(39,-69,973,829),31223=>array(47,-67,951,822),31224=>array(44,-61,951,836),31225=>array(33,-69,954,829),31226=>array(45,-59,955,827),31227=>array(49,-70,935,839),31228=>array(55,-69,945,836),31229=>array(30,-61,896,835),31230=>array(33,-72,959,835),31231=>array(67,-69,933,839),31232=>array(41,-71,961,846),31233=>array(47,-61,930,846),31234=>array(36,-64,968,850),31235=>array(35,-55,951,842),31236=>array(40,-72,969,830),31237=>array(36,-70,970,819),31238=>array(26,-64,871,821),31239=>array(62,-64,938,817),31240=>array(43,-60,956,828),31241=>array(24,-64,976,818),31242=>array(49,-52,932,864),31243=>array(29,-70,949,816),31244=>array(38,-55,967,862),31245=>array(52,-70,947,837),31246=>array(36,-70,954,840),31247=>array(26,-64,954,827),31248=>array(41,-71,977,836),31249=>array(28,-51,951,846),31250=>array(43,-72,903,823),31251=>array(47,-72,951,825),31252=>array(30,-62,970,840),31253=>array(47,-72,954,834),31254=>array(26,-70,947,841),31255=>array(38,-67,954,844),31256=>array(34,-52,952,846),31257=>array(39,-57,954,852),31258=>array(41,-70,955,832),31259=>array(45,-70,905,828),31260=>array(33,-57,967,835),31261=>array(70,-73,930,822),31262=>array(27,-72,965,819),31263=>array(76,-61,930,816),31264=>array(49,-80,911,818),31265=>array(41,-64,959,851),31266=>array(43,-70,969,825),31267=>array(39,-64,947,838),31268=>array(36,-64,953,849),31269=>array(56,-65,950,817),31270=>array(33,-69,951,833),31271=>array(34,-65,966,829),31272=>array(32,-68,918,827),31273=>array(55,-64,945,821),31274=>array(50,-64,950,837),31275=>array(34,-74,962,821),31276=>array(26,-71,961,823),31277=>array(21,-68,970,831),31278=>array(47,-65,956,836),31279=>array(33,-71,967,829),31280=>array(33,-50,972,845),31281=>array(32,-69,956,835),31282=>array(32,-64,936,824),31283=>array(19,-61,947,834),31284=>array(26,-64,966,850),31285=>array(26,-64,965,843),31286=>array(26,-72,949,835),31287=>array(24,-66,952,823),31288=>array(24,-68,960,843),31289=>array(22,-67,964,848),31290=>array(26,-71,928,826),31291=>array(45,-71,943,832),31292=>array(38,-69,979,832),31293=>array(40,-65,946,844),31294=>array(47,-51,930,836),31295=>array(55,-75,940,831),31296=>array(45,-74,964,825),31297=>array(26,-70,956,827),31298=>array(41,-68,976,826),31299=>array(33,-58,958,845),31300=>array(27,-59,960,850),31301=>array(37,-66,966,848),31302=>array(39,-73,961,847),31303=>array(36,-76,983,847),31304=>array(47,-71,967,832),31305=>array(31,-61,952,834),31306=>array(27,-68,967,835),31307=>array(39,-70,979,838),31308=>array(31,-62,964,843),31309=>array(40,-74,947,833),31310=>array(39,-70,972,838),31311=>array(32,-55,965,838),31312=>array(30,-61,965,846),31313=>array(26,-63,910,824),31314=>array(38,-72,960,833),31315=>array(26,-64,963,821),31316=>array(43,-78,959,827),31317=>array(41,-65,961,845),31318=>array(40,-72,961,822),31319=>array(41,-68,957,826),31320=>array(43,-77,963,823),31321=>array(26,-68,971,833),31322=>array(38,-70,962,828),31323=>array(46,-78,971,828),31324=>array(37,-71,951,831),31325=>array(41,-66,959,822),31326=>array(26,-73,928,821),31327=>array(33,-71,974,825),31328=>array(32,-68,983,840),31329=>array(35,-63,956,836),31330=>array(22,-74,969,833),31331=>array(35,-79,967,837),31332=>array(32,-59,964,825),31333=>array(42,-73,947,821),31334=>array(47,-65,966,853),31335=>array(40,-72,963,837),31336=>array(45,-67,974,830),31337=>array(31,-66,959,831),31338=>array(51,-71,949,825),31339=>array(28,-56,967,840),31340=>array(38,-80,966,843),31341=>array(28,-69,984,853),31342=>array(30,-70,971,846),31343=>array(36,-63,956,836),31344=>array(21,-69,962,844),31345=>array(36,-69,961,835),31346=>array(51,-73,953,825),31347=>array(36,-78,970,836),31348=>array(66,-59,950,822),31349=>array(94,-14,943,852),31350=>array(48,-44,957,822),31351=>array(44,-71,898,831),31352=>array(45,-59,924,850),31353=>array(92,-58,898,839),31354=>array(88,-17,918,833),31355=>array(66,-68,945,843),31356=>array(48,-68,967,849),31357=>array(60,-70,922,839),31358=>array(60,-69,982,839),31359=>array(58,-62,928,838),31360=>array(58,-32,965,854),31361=>array(60,-65,942,824),31362=>array(56,-65,944,849),31363=>array(54,-56,898,831),31364=>array(63,-69,898,828),31365=>array(109,-62,920,857),31366=>array(51,-60,972,867),31367=>array(48,-36,962,835),31368=>array(78,-76,908,833),31369=>array(72,-64,948,838),31370=>array(47,-75,967,846),31371=>array(107,-67,927,837),31372=>array(64,-67,929,845),31373=>array(52,-65,916,836),31374=>array(72,-62,902,840),31375=>array(81,-79,935,829),31376=>array(66,-8,941,851),31377=>array(65,-69,937,862),31378=>array(75,-35,925,839),31379=>array(50,-38,954,839),31380=>array(40,-51,963,864),31381=>array(27,-68,937,839),31382=>array(42,-70,934,839),31383=>array(102,-69,898,831),31384=>array(28,-67,930,839),31385=>array(63,-65,938,840),31386=>array(50,-72,952,849),31387=>array(47,-75,963,849),31388=>array(73,-61,896,832),31389=>array(37,-69,897,838),31390=>array(75,-73,915,848),31391=>array(43,-83,898,838),31392=>array(38,-65,962,845),31393=>array(60,-71,955,848),31394=>array(53,-75,957,844),31395=>array(63,-62,957,854),31396=>array(94,-54,954,851),31397=>array(37,-64,936,840),31398=>array(57,-68,914,837),31399=>array(65,-68,935,851),31400=>array(60,-65,954,848),31401=>array(102,-73,898,839),31402=>array(56,-38,956,839),31403=>array(46,-72,969,845),31404=>array(42,-64,979,849),31405=>array(53,-67,927,846),31406=>array(55,-64,925,838),31407=>array(37,-65,963,839),31408=>array(81,-70,935,830),31409=>array(42,-73,971,838),31410=>array(57,-70,951,830),31411=>array(49,-70,959,848),31412=>array(86,-79,937,838),31413=>array(58,-62,927,848),31414=>array(53,-80,947,833),31415=>array(52,-77,909,838),31416=>array(53,-30,974,854),31417=>array(34,-64,951,851),31418=>array(57,-76,962,839),31419=>array(51,-52,952,851),31420=>array(38,-58,966,851),31421=>array(38,-71,961,851),31422=>array(63,-68,974,852),31423=>array(56,-76,933,831),31424=>array(51,-72,960,832),31425=>array(36,-62,952,861),31426=>array(41,-64,970,851),31427=>array(47,-67,965,843),31428=>array(77,-66,948,833),31429=>array(48,-75,970,839),31430=>array(62,-68,918,847),31431=>array(53,-80,950,838),31432=>array(50,-49,968,844),31433=>array(54,-68,967,852),31434=>array(57,-71,921,843),31435=>array(95,-3,912,822),31436=>array(86,-73,975,825),31437=>array(86,-67,950,830),31438=>array(56,-54,934,838),31439=>array(49,-67,935,821),31440=>array(49,-65,964,800),31441=>array(40,-54,945,821),31442=>array(83,-65,938,832),31443=>array(59,-21,929,828),31444=>array(49,-55,909,833),31445=>array(49,-62,963,806),31446=>array(48,-16,952,807),31447=>array(53,-60,952,827),31448=>array(60,-72,935,832),31449=>array(73,-66,918,832),31450=>array(46,-68,964,825),31451=>array(45,-78,975,831),31452=>array(66,-54,954,836),31453=>array(27,-26,947,799),31454=>array(39,-58,932,838),31455=>array(38,-66,946,818),31456=>array(60,-68,940,831),31457=>array(24,-64,957,801),31458=>array(44,-74,979,825),31459=>array(35,-69,964,849),31460=>array(54,-70,962,838),31461=>array(68,-33,932,832),31462=>array(45,-65,971,832),31463=>array(56,-68,957,847),31464=>array(54,-62,969,844),31465=>array(79,-23,957,848),31466=>array(66,-25,960,796),31467=>array(45,-71,956,834),31468=>array(40,-71,948,833),31469=>array(67,-65,921,802),31470=>array(48,-73,953,833),31471=>array(43,-70,942,830),31472=>array(45,-63,948,804),31473=>array(48,-65,957,832),31474=>array(48,-68,935,849),31475=>array(48,-23,963,837),31476=>array(37,-72,957,845),31477=>array(38,-69,944,830),31478=>array(39,-76,959,838),31479=>array(55,-69,969,840),31480=>array(39,-76,962,830),31481=>array(49,-62,949,848),31482=>array(68,-5,943,819),31483=>array(47,-67,948,847),31484=>array(54,-71,948,847),31485=>array(54,-59,954,842),31486=>array(54,-10,948,827),31487=>array(42,-60,931,841),31488=>array(48,-23,947,847),31489=>array(47,-15,955,847),31490=>array(41,-69,969,822),31491=>array(44,-64,919,822),31492=>array(37,-73,945,844),31493=>array(47,-73,977,842),31494=>array(40,-44,914,835),31495=>array(67,-75,933,845),31496=>array(44,-65,955,845),31497=>array(47,-66,945,843),31498=>array(37,-68,964,840),31499=>array(62,-58,962,845),31500=>array(54,-57,943,845),31501=>array(56,-61,939,835),31502=>array(52,-69,966,834),31503=>array(74,-69,960,839),31504=>array(43,-70,964,838),31505=>array(65,-64,953,839),31506=>array(43,-77,971,835),31507=>array(44,-50,965,814),31508=>array(33,-25,918,830),31509=>array(39,-63,932,825),31510=>array(44,-67,962,814),31511=>array(44,-77,969,814),31512=>array(44,-57,932,848),31513=>array(51,-18,938,840),31514=>array(45,-69,941,841),31515=>array(50,-65,952,841),31516=>array(44,-64,941,814),31517=>array(60,-69,927,832),31518=>array(52,-63,944,842),31519=>array(53,-62,951,836),31520=>array(52,-17,945,838),31521=>array(52,-14,957,842),31522=>array(55,-71,959,829),31523=>array(37,-30,956,841),31524=>array(45,-68,954,844),31525=>array(62,-62,956,854),31526=>array(42,-73,950,841),31527=>array(37,-69,956,847),31528=>array(38,-59,970,846),31529=>array(43,-72,958,854),31530=>array(54,-14,959,835),31531=>array(54,-65,942,842),31532=>array(62,-62,932,834),31533=>array(31,-80,969,835),31534=>array(44,-56,945,847),31535=>array(49,-74,953,837),31536=>array(45,-65,933,838),31537=>array(55,-56,948,846),31538=>array(51,-65,932,832),31539=>array(55,-63,950,842),31540=>array(41,-65,938,827),31541=>array(44,-70,953,836),31542=>array(44,-71,968,836),31543=>array(40,-61,962,836),31544=>array(71,-20,962,836),31545=>array(54,-64,946,836),31546=>array(27,-63,931,833),31547=>array(52,-61,950,847),31548=>array(34,-59,940,842),31549=>array(39,33,944,842),31550=>array(31,-57,938,823),31551=>array(34,-73,968,842),31552=>array(51,-32,952,820),31553=>array(31,-43,909,823),31554=>array(31,-44,959,823),31555=>array(46,-61,937,836),31556=>array(53,-68,947,845),31557=>array(61,-58,969,848),31558=>array(74,-64,944,839),31559=>array(54,-66,944,841),31560=>array(41,-57,938,843),31561=>array(65,-68,934,838),31562=>array(58,-60,971,850),31563=>array(48,-65,946,848),31564=>array(42,-23,958,840),31565=>array(51,-52,938,854),31566=>array(40,-58,945,841),31567=>array(42,-59,961,848),31568=>array(42,-83,953,847),31569=>array(47,-61,950,833),31570=>array(43,-61,942,849),31571=>array(38,-65,931,837),31572=>array(34,-71,971,843),31573=>array(53,-54,962,844),31574=>array(46,-65,957,844),31575=>array(50,-68,949,842),31576=>array(56,-67,949,839),31577=>array(32,-61,943,834),31578=>array(37,-68,913,834),31579=>array(43,-69,925,829),31580=>array(45,-60,943,847),31581=>array(41,-66,922,820),31582=>array(37,-65,930,834),31583=>array(36,-64,948,837),31584=>array(50,-71,946,837),31585=>array(38,-71,962,841),31586=>array(39,-64,929,825),31587=>array(41,-69,932,840),31588=>array(33,-54,966,853),31589=>array(38,-54,923,849),31590=>array(37,-57,960,850),31591=>array(47,-66,970,839),31592=>array(37,-69,966,842),31593=>array(42,-54,936,857),31594=>array(33,-16,934,853),31595=>array(33,-62,943,853),31596=>array(38,-67,953,837),31597=>array(58,-52,939,857),31598=>array(62,-11,948,837),31599=>array(52,-75,935,837),31600=>array(54,-70,960,843),31601=>array(39,-67,969,843),31602=>array(50,-67,945,847),31603=>array(24,-65,970,846),31604=>array(34,-55,978,849),31605=>array(36,-74,949,845),31606=>array(49,-70,945,836),31607=>array(49,-70,965,840),31608=>array(50,-67,939,843),31609=>array(29,-63,911,833),31610=>array(42,-69,953,847),31611=>array(51,-66,938,827),31612=>array(47,-81,933,841),31613=>array(47,-69,947,841),31614=>array(46,-20,957,842),31615=>array(26,-64,958,841),31616=>array(46,-59,926,833),31617=>array(46,-59,934,833),31618=>array(42,-67,969,841),31619=>array(27,-74,968,841),31620=>array(47,-67,949,841),31621=>array(50,-70,945,841),31622=>array(47,-51,966,848),31623=>array(41,-67,970,846),31624=>array(40,-72,930,835),31625=>array(36,-63,938,842),31626=>array(39,-69,953,831),31627=>array(51,-60,964,847),31628=>array(52,-72,930,835),31629=>array(69,-58,957,847),31630=>array(43,-73,953,841),31631=>array(41,-61,948,851),31632=>array(48,-62,947,841),31633=>array(32,-57,968,852),31634=>array(41,-68,919,827),31635=>array(48,-52,959,846),31636=>array(48,-65,944,846),31637=>array(63,-58,944,849),31638=>array(44,-69,963,834),31639=>array(50,-75,935,841),31640=>array(61,-69,938,841),31641=>array(38,-52,975,855),31642=>array(57,-68,932,840),31643=>array(33,-61,959,855),31644=>array(49,-28,935,841),31645=>array(57,-59,960,850),31646=>array(46,-46,959,844),31647=>array(57,-54,954,850),31648=>array(41,-19,942,853),31649=>array(53,-68,929,845),31650=>array(48,-66,924,832),31651=>array(41,-65,912,831),31652=>array(45,-70,942,837),31653=>array(48,-62,960,832),31654=>array(27,-81,913,835),31655=>array(41,-17,917,829),31656=>array(38,-69,952,823),31657=>array(39,-61,919,834),31658=>array(52,-70,928,843),31659=>array(44,-68,937,824),31660=>array(55,-65,954,842),31661=>array(60,-58,957,855),31662=>array(60,-24,955,855),31663=>array(44,-70,976,833),31664=>array(66,-51,960,828),31665=>array(46,-62,947,846),31666=>array(69,-62,963,855),31667=>array(45,-72,935,855),31668=>array(39,-68,966,844),31669=>array(45,-70,952,843),31670=>array(42,-61,930,842),31671=>array(41,-66,954,847),31672=>array(49,-67,945,842),31673=>array(40,-72,941,837),31674=>array(43,-72,974,842),31675=>array(43,-70,959,842),31676=>array(43,-74,933,842),31677=>array(43,-27,947,842),31678=>array(50,-72,943,837),31679=>array(43,-64,942,842),31680=>array(54,-65,949,841),31681=>array(57,-36,962,835),31682=>array(67,-47,952,835),31683=>array(57,-70,952,835),31684=>array(67,-64,943,842),31685=>array(62,-62,954,842),31686=>array(56,-60,962,848),31687=>array(46,-69,942,840),31688=>array(33,-58,958,837),31689=>array(53,-67,959,838),31690=>array(42,-69,957,843),31691=>array(54,-71,945,849),31692=>array(38,-68,955,841),31693=>array(33,-64,985,837),31694=>array(53,-76,960,837),31695=>array(53,-64,973,847),31696=>array(38,-28,957,847),31697=>array(38,-75,911,829),31698=>array(38,-66,961,829),31699=>array(45,-60,933,836),31700=>array(54,-64,941,851),31701=>array(59,-14,952,832),31702=>array(46,-75,938,832),31703=>array(32,-62,968,844),31704=>array(55,-68,929,829),31705=>array(45,-65,938,849),31706=>array(36,-26,938,842),31707=>array(40,-71,931,840),31708=>array(53,-83,953,844),31709=>array(51,-69,949,843),31710=>array(63,-70,953,832),31711=>array(44,-65,948,836),31712=>array(30,-53,966,855),31713=>array(45,-60,974,855),31714=>array(62,-76,947,827),31715=>array(72,-69,937,837),31716=>array(53,-59,942,845),31717=>array(56,-67,982,847),31718=>array(49,-38,958,844),31719=>array(58,-68,927,829),31720=>array(35,-54,959,849),31721=>array(41,-64,959,855),31722=>array(47,-71,968,846),31723=>array(71,-67,946,832),31724=>array(43,-66,972,832),31725=>array(57,-54,962,849),31726=>array(54,-29,924,827),31727=>array(33,-71,959,827),31728=>array(66,-73,951,839),31729=>array(66,-64,929,830),31730=>array(47,-73,953,844),31731=>array(55,-59,970,853),31732=>array(45,-68,968,836),31733=>array(49,-71,955,828),31734=>array(42,-64,951,838),31735=>array(50,-46,960,856),31736=>array(42,-74,954,829),31737=>array(44,-39,957,827),31738=>array(57,-78,964,850),31739=>array(53,-64,937,846),31740=>array(59,-73,955,838),31741=>array(47,-68,933,831),31742=>array(41,-67,967,850),31743=>array(56,-73,951,830),31744=>array(64,-65,964,846),31745=>array(53,-74,976,830),31746=>array(60,-69,920,832),31747=>array(46,-70,931,831),31748=>array(36,-80,957,845),31749=>array(49,-72,954,828),31750=>array(44,-71,961,837),31751=>array(49,-67,982,849),31752=>array(45,-60,943,829),31753=>array(57,-70,982,845),31754=>array(50,-34,974,823),31755=>array(44,-30,974,839),31756=>array(33,-65,973,847),31757=>array(58,-74,942,844),31758=>array(71,-69,956,832),31759=>array(39,-65,954,845),31760=>array(57,-72,974,834),31761=>array(33,-66,981,853),31762=>array(39,-78,965,851),31763=>array(33,-64,962,855),31764=>array(29,-67,965,855),31765=>array(60,-71,920,847),31766=>array(52,-70,952,829),31767=>array(58,-63,961,821),31768=>array(50,-62,941,838),31769=>array(53,-72,953,841),31770=>array(46,-86,952,850),31771=>array(29,-49,942,858),31772=>array(56,-75,958,834),31773=>array(52,-67,967,833),31774=>array(50,-58,962,860),31775=>array(31,-67,946,844),31776=>array(56,-29,973,842),31777=>array(27,-61,951,844),31778=>array(59,-66,934,834),31779=>array(42,-63,948,847),31780=>array(43,-69,945,847),31781=>array(36,-53,976,855),31782=>array(48,-33,977,839),31783=>array(36,-68,915,842),31784=>array(51,-58,932,847),31785=>array(46,-68,930,835),31786=>array(47,-68,971,843),31787=>array(52,-76,949,842),31788=>array(57,-73,961,836),31789=>array(44,-63,970,838),31790=>array(36,-68,954,847),31791=>array(36,-55,942,847),31792=>array(46,-67,957,833),31793=>array(49,-67,951,849),31794=>array(43,-75,957,849),31795=>array(54,-65,964,840),31796=>array(42,-83,934,856),31797=>array(66,-62,962,834),31798=>array(23,-61,938,856),31799=>array(41,-54,938,856),31800=>array(43,-68,970,847),31801=>array(60,-67,927,837),31802=>array(43,-33,944,837),31803=>array(45,-74,984,829),31804=>array(44,-67,954,837),31805=>array(27,-65,972,841),31806=>array(31,-53,963,854),31807=>array(44,-70,954,853),31808=>array(61,-64,939,842),31809=>array(37,-74,918,824),31810=>array(39,-71,944,836),31811=>array(53,-16,955,849),31812=>array(36,-52,938,842),31813=>array(51,-70,958,841),31814=>array(46,-75,978,845),31815=>array(44,-59,975,850),31816=>array(36,-62,981,835),31817=>array(46,-35,945,842),31818=>array(37,-67,944,850),31819=>array(43,-66,974,835),31820=>array(56,-58,951,852),31821=>array(33,-62,943,852),31822=>array(43,-68,971,835),31823=>array(43,-95,953,835),31824=>array(39,-62,976,848),31825=>array(28,-82,972,847),31826=>array(61,-64,939,834),31827=>array(37,-64,969,840),31828=>array(35,-56,971,845),31829=>array(45,-70,937,842),31830=>array(38,-53,961,853),31831=>array(50,-60,948,845),31832=>array(39,-67,976,849),31833=>array(38,-52,959,853),31834=>array(42,-62,962,837),31835=>array(52,-72,964,839),31836=>array(57,-68,953,846),31837=>array(50,-68,962,846),31838=>array(47,-62,964,847),31839=>array(42,-69,965,851),31840=>array(49,-62,964,855),31841=>array(33,-60,962,818),31842=>array(45,-69,987,838),31843=>array(40,-67,929,841),31844=>array(38,-53,961,853),31845=>array(35,-60,967,853),31846=>array(39,-33,967,837),31847=>array(28,-57,969,854),31848=>array(22,-56,983,848),31849=>array(34,-67,964,848),31850=>array(33,-71,954,842),31851=>array(40,-60,952,857),31852=>array(61,-62,964,854),31853=>array(56,-73,940,856),31854=>array(54,-59,957,854),31855=>array(38,-75,974,837),31856=>array(31,-55,970,844),31857=>array(29,-78,963,835),31858=>array(46,-71,954,835),31859=>array(57,-67,949,830),31860=>array(33,-58,961,844),31861=>array(41,-71,956,823),31862=>array(41,-73,975,823),31863=>array(41,-71,935,823),31864=>array(36,-64,965,828),31865=>array(28,-68,954,826),31866=>array(38,-61,973,832),31867=>array(39,-62,948,834),31868=>array(48,-63,900,814),31869=>array(56,-59,960,838),31870=>array(42,-75,910,827),31871=>array(41,-76,953,822),31872=>array(38,-71,966,827),31873=>array(37,-68,957,829),31874=>array(37,-58,963,841),31875=>array(32,-65,954,832),31876=>array(44,-71,970,824),31877=>array(59,-65,947,839),31878=>array(59,-65,963,829),31879=>array(69,-65,967,843),31880=>array(53,-65,967,828),31881=>array(29,-67,964,829),31882=>array(43,-68,957,826),31883=>array(48,-63,963,837),31884=>array(58,-67,918,826),31885=>array(39,-54,967,850),31886=>array(69,-76,973,837),31887=>array(49,-71,934,837),31888=>array(42,-66,928,829),31889=>array(42,-65,965,829),31890=>array(37,-64,949,837),31891=>array(46,-67,959,838),31892=>array(44,-70,945,824),31893=>array(51,-60,901,849),31894=>array(49,-70,971,825),31895=>array(46,-62,953,833),31896=>array(52,-64,943,840),31897=>array(46,-64,907,836),31898=>array(51,-62,953,833),31899=>array(50,-62,941,834),31900=>array(37,-67,963,818),31901=>array(29,-66,940,802),31902=>array(35,-67,955,832),31903=>array(56,-72,946,789),31904=>array(55,-69,947,830),31905=>array(55,-64,921,830),31906=>array(40,-65,961,846),31907=>array(33,-65,951,830),31908=>array(62,-65,913,838),31909=>array(79,-65,907,829),31910=>array(43,-77,961,836),31911=>array(35,-55,951,829),31912=>array(46,-70,959,823),31913=>array(52,-70,941,828),31914=>array(45,-59,941,823),31915=>array(48,-68,951,838),31916=>array(48,-56,923,843),31917=>array(53,-65,972,853),31918=>array(37,-56,974,836),31919=>array(52,-70,969,824),31920=>array(37,-64,953,837),31921=>array(46,-70,951,842),31922=>array(42,-62,983,838),31923=>array(39,-67,956,829),31924=>array(51,-71,962,824),31925=>array(54,-68,956,844),31926=>array(33,-67,966,835),31927=>array(67,-63,935,837),31928=>array(49,-77,960,836),31929=>array(29,-59,942,835),31930=>array(52,-70,965,839),31931=>array(36,-70,962,830),31932=>array(42,-70,971,830),31933=>array(42,-67,977,831),31934=>array(45,-66,954,837),31935=>array(45,-68,986,821),31936=>array(53,-68,961,833),31937=>array(21,-71,941,839),31938=>array(45,-73,963,832),31939=>array(63,-70,937,810),31940=>array(31,-65,929,833),31941=>array(34,-66,990,830),31942=>array(36,-70,968,810),31943=>array(30,-68,964,836),31944=>array(40,-67,986,829),31945=>array(38,-62,980,841),31946=>array(52,-68,897,835),31947=>array(37,-72,954,830),31948=>array(39,-65,975,841),31949=>array(42,-65,965,843),31950=>array(30,-75,958,844),31951=>array(69,-79,931,840),31952=>array(39,-70,948,827),31953=>array(38,-68,917,831),31954=>array(39,-72,938,822),31955=>array(39,-73,969,834),31956=>array(41,-79,971,826),31957=>array(52,-62,969,850),31958=>array(42,-69,952,827),31959=>array(48,-65,990,847),31960=>array(31,-68,968,832),31961=>array(42,-64,972,837),31962=>array(53,-69,954,832),31963=>array(56,-67,940,837),31964=>array(34,-62,968,828),31965=>array(28,-76,985,853),31966=>array(62,-69,955,849),31967=>array(40,-67,962,840),31968=>array(31,-66,966,833),31969=>array(50,-60,952,847),31970=>array(32,-62,982,832),31971=>array(34,-66,966,832),31972=>array(66,-73,934,828),31973=>array(60,-60,956,839),31974=>array(40,-71,933,839),31975=>array(40,-72,954,818),31976=>array(38,-69,967,830),31977=>array(25,-64,974,861),31978=>array(39,-67,975,832),31979=>array(70,-65,953,838),31980=>array(47,-67,960,826),31981=>array(38,-62,980,843),31982=>array(30,-64,964,832),31983=>array(47,-59,964,838),31984=>array(40,-68,916,833),31985=>array(40,-67,965,840),31986=>array(37,-71,963,828),31987=>array(54,-56,963,836),31988=>array(37,-67,962,797),31989=>array(42,-72,966,823),31990=>array(39,-68,956,833),31991=>array(46,-68,953,828),31992=>array(56,-65,941,847),31993=>array(226,-64,734,824),31994=>array(52,-64,952,839),31995=>array(62,-64,942,833),31996=>array(60,-67,892,825),31997=>array(60,-70,956,828),31998=>array(38,-67,936,839),31999=>array(60,-67,892,825),32000=>array(35,-64,954,839),32001=>array(60,-66,966,832),32002=>array(84,-64,950,839),32003=>array(57,-73,905,822),32004=>array(34,-64,903,839),32005=>array(34,-64,944,841),32006=>array(69,-64,950,839),32007=>array(34,-64,953,844),32008=>array(34,-78,957,839),32009=>array(60,-67,892,825),32010=>array(54,-60,948,831),32011=>array(34,-66,961,839),32012=>array(56,-64,963,825),32013=>array(34,-65,909,839),32014=>array(43,-71,975,829),32015=>array(44,-72,966,825),32016=>array(34,-64,956,839),32017=>array(53,-70,964,834),32018=>array(38,-71,979,844),32019=>array(47,-59,932,815),32020=>array(34,-64,964,839),32021=>array(44,-64,954,839),32022=>array(57,-72,914,824),32023=>array(34,-64,959,839),32024=>array(34,-64,945,841),32025=>array(34,-70,956,839),32026=>array(34,-66,955,839),32027=>array(34,-64,961,839),32028=>array(74,-64,944,839),32029=>array(40,-31,937,815),32030=>array(48,-71,968,828),32031=>array(52,-76,979,834),32032=>array(63,-60,937,834),32033=>array(34,-71,949,839),32034=>array(65,-69,946,835),32035=>array(57,-63,969,837),32036=>array(57,-62,949,843),32037=>array(82,-65,953,837),32038=>array(73,-44,965,824),32039=>array(84,-60,935,834),32040=>array(73,-73,960,833),32041=>array(35,-76,961,839),32042=>array(57,-35,943,839),32043=>array(57,-67,948,825),32044=>array(32,-64,906,839),32045=>array(61,-67,939,820),32046=>array(49,-60,953,831),32047=>array(51,-63,943,808),32048=>array(34,-64,912,839),32049=>array(62,-62,982,834),32050=>array(69,-67,954,839),32051=>array(36,-64,902,839),32052=>array(43,-65,947,839),32053=>array(54,-68,946,839),32054=>array(35,-54,954,838),32055=>array(49,-78,975,831),32056=>array(32,-38,954,839),32057=>array(34,-64,910,839),32058=>array(35,-64,956,839),32059=>array(39,-74,966,823),32060=>array(52,-62,932,829),32061=>array(36,-39,952,838),32062=>array(48,-75,974,843),32063=>array(84,-65,968,839),32064=>array(67,-65,921,828),32065=>array(32,-32,957,839),32066=>array(34,-77,964,839),32067=>array(34,-65,961,839),32068=>array(38,-64,942,839),32069=>array(44,-64,910,839),32070=>array(64,-64,955,839),32071=>array(40,-73,915,835),32072=>array(47,-67,901,837),32073=>array(35,-60,969,826),32074=>array(40,-67,970,840),32075=>array(44,-66,971,839),32076=>array(37,-64,966,839),32077=>array(40,-68,959,831),32078=>array(44,-64,964,839),32079=>array(49,-74,967,839),32080=>array(35,-64,944,839),32081=>array(42,-68,966,829),32082=>array(57,-70,911,826),32083=>array(54,-55,954,819),32084=>array(52,-66,951,833),32085=>array(50,-48,947,817),32086=>array(34,-72,961,839),32087=>array(61,-46,939,831),32088=>array(57,-75,963,832),32089=>array(41,-39,954,831),32090=>array(36,-39,943,830),32091=>array(32,-62,954,845),32092=>array(57,-63,943,827),32093=>array(36,-58,978,843),32094=>array(34,-64,962,841),32095=>array(58,-57,967,816),32096=>array(71,-65,954,837),32097=>array(34,-64,982,849),32098=>array(34,-64,900,842),32099=>array(64,-72,949,839),32100=>array(62,-65,938,820),32101=>array(36,-67,980,831),32102=>array(34,-65,965,853),32103=>array(51,-61,913,831),32104=>array(44,-64,962,839),32105=>array(41,-70,955,827),32106=>array(34,-64,918,839),32107=>array(81,-70,917,836),32108=>array(69,-64,958,834),32109=>array(43,-70,958,835),32110=>array(63,-60,939,838),32111=>array(46,-65,960,836),32112=>array(50,-39,957,825),32113=>array(34,-64,959,839),32114=>array(64,-71,960,839),32115=>array(49,-64,968,844),32116=>array(49,-65,954,843),32117=>array(34,-64,961,839),32118=>array(35,-64,961,839),32119=>array(41,-68,930,819),32120=>array(60,-61,953,817),32121=>array(33,-64,894,839),32122=>array(35,-55,957,857),32123=>array(44,-72,968,838),32124=>array(55,-65,954,833),32125=>array(69,-66,906,839),32126=>array(30,-70,961,833),32127=>array(34,-64,971,839),32128=>array(46,-70,975,823),32129=>array(54,-61,953,836),32130=>array(48,-70,959,830),32131=>array(51,-65,938,838),32132=>array(48,-70,969,836),32133=>array(57,-63,976,816),32134=>array(36,-71,971,820),32135=>array(36,-62,945,820),32136=>array(57,-65,928,849),32137=>array(44,-74,969,839),32138=>array(38,-69,979,836),32139=>array(38,-60,951,833),32140=>array(61,-68,962,832),32141=>array(43,-52,945,843),32142=>array(32,-71,976,839),32143=>array(59,-67,959,839),32144=>array(49,-67,961,839),32145=>array(59,-62,917,813),32146=>array(49,-71,954,826),32147=>array(44,-64,945,839),32148=>array(35,-66,968,846),32149=>array(59,-41,972,826),32150=>array(46,-59,976,853),32151=>array(37,-51,915,813),32152=>array(44,-61,977,841),32153=>array(34,-65,933,839),32154=>array(34,-64,962,839),32155=>array(44,-64,962,839),32156=>array(34,-65,960,839),32157=>array(35,-68,965,839),32158=>array(42,-46,951,828),32159=>array(34,-69,972,839),32160=>array(34,-67,966,843),32161=>array(48,-70,956,830),32162=>array(34,-67,897,839),32163=>array(34,-64,974,839),32164=>array(55,-54,932,786),32165=>array(41,-71,958,824),32166=>array(41,-59,983,836),32167=>array(48,-70,961,832),32168=>array(38,-77,960,849),32169=>array(58,-67,958,832),32170=>array(44,-69,953,832),32171=>array(50,-64,957,839),32172=>array(34,-65,973,839),32173=>array(34,-64,938,839),32174=>array(34,-73,946,843),32175=>array(39,-64,923,848),32176=>array(44,-64,941,839),32177=>array(34,-64,915,839),32178=>array(33,-64,909,839),32179=>array(57,-67,895,827),32180=>array(32,-65,966,839),32181=>array(34,-68,966,839),32182=>array(39,-64,969,820),32183=>array(34,-66,963,839),32184=>array(34,-67,976,856),32185=>array(42,-64,964,845),32186=>array(39,-64,952,839),32187=>array(34,-66,966,839),32188=>array(50,-71,953,841),32189=>array(44,-64,953,840),32190=>array(34,-66,968,839),32191=>array(34,-68,911,839),32192=>array(40,-73,958,837),32193=>array(53,-64,977,829),32194=>array(56,-74,982,829),32195=>array(36,-71,976,844),32196=>array(45,-62,966,822),32197=>array(43,-82,977,826),32198=>array(49,-73,920,828),32199=>array(49,-64,938,839),32200=>array(42,-64,934,842),32201=>array(45,-68,952,827),32202=>array(57,-63,943,803),32203=>array(34,-68,954,839),32204=>array(32,-62,961,856),32205=>array(40,-65,960,839),32206=>array(40,-66,962,839),32207=>array(34,-64,968,839),32208=>array(49,-68,978,840),32209=>array(34,-64,963,839),32210=>array(34,-67,941,839),32211=>array(39,-66,984,830),32212=>array(53,-74,941,818),32213=>array(34,-82,956,839),32214=>array(34,-67,941,839),32215=>array(71,-73,924,820),32216=>array(34,-68,969,839),32217=>array(45,-61,956,832),32218=>array(34,-64,963,840),32219=>array(54,-72,963,831),32220=>array(67,-70,966,839),32221=>array(34,-68,943,839),32222=>array(29,-69,976,848),32223=>array(54,-48,954,836),32224=>array(34,-67,946,839),32225=>array(34,-64,973,839),32226=>array(53,-67,950,829),32227=>array(34,-64,979,839),32228=>array(34,-64,957,839),32229=>array(36,-61,964,840),32230=>array(51,-41,976,819),32231=>array(55,-70,953,836),32232=>array(33,-67,935,839),32233=>array(34,-64,959,839),32234=>array(40,-64,960,837),32235=>array(43,-36,971,850),32236=>array(34,-64,950,839),32237=>array(64,-64,921,829),32238=>array(49,-72,968,831),32239=>array(32,-64,954,839),32240=>array(49,-71,984,834),32241=>array(44,-62,967,833),32242=>array(24,-71,960,839),32243=>array(36,-72,943,847),32244=>array(34,-66,967,839),32245=>array(53,-61,980,839),32246=>array(40,-55,972,841),32247=>array(50,-68,954,830),32248=>array(62,-44,953,810),32249=>array(38,-64,952,820),32250=>array(51,-70,914,830),32251=>array(24,-72,962,839),32252=>array(51,-41,959,830),32253=>array(51,-90,938,840),32254=>array(51,-63,958,830),32255=>array(35,-39,954,839),32256=>array(33,-50,963,828),32257=>array(34,-64,967,839),32258=>array(33,-50,964,823),32259=>array(48,-70,961,828),32260=>array(34,-64,971,839),32261=>array(24,-64,972,839),32262=>array(33,-59,970,849),32263=>array(46,-50,964,855),32264=>array(63,-65,950,829),32265=>array(34,-66,955,839),32266=>array(34,-64,961,839),32267=>array(34,-64,962,847),32268=>array(55,-75,973,814),32269=>array(41,-70,951,841),32270=>array(38,-69,932,827),32271=>array(40,-67,967,844),32272=>array(59,-64,926,850),32273=>array(44,-65,984,852),32274=>array(34,-64,951,839),32275=>array(47,-71,961,823),32276=>array(46,-70,985,822),32277=>array(34,-64,960,839),32278=>array(47,-72,952,841),32279=>array(37,-63,977,855),32280=>array(33,-61,977,842),32281=>array(48,-70,931,828),32282=>array(53,-71,919,833),32283=>array(34,-64,953,839),32284=>array(44,-78,954,826),32285=>array(33,-82,961,839),32286=>array(34,-71,947,839),32287=>array(24,-64,958,839),32288=>array(33,-77,960,826),32289=>array(34,-68,952,839),32290=>array(39,-70,967,844),32291=>array(54,-57,966,817),32292=>array(49,-72,959,824),32293=>array(43,-70,984,830),32294=>array(34,-70,961,839),32295=>array(43,-60,966,839),32296=>array(62,-74,964,828),32297=>array(59,-70,979,825),32298=>array(44,-68,955,810),32299=>array(35,-64,963,843),32300=>array(42,-45,952,842),32301=>array(56,-61,961,850),32302=>array(34,-65,943,839),32303=>array(34,-72,957,839),32304=>array(51,-71,976,823),32305=>array(24,-70,955,839),32306=>array(34,-64,962,839),32307=>array(35,-69,954,823),32308=>array(55,-70,941,832),32309=>array(34,-65,974,839),32310=>array(60,-59,968,840),32311=>array(34,-65,942,839),32312=>array(41,-73,972,827),32313=>array(34,-64,955,839),32314=>array(34,-64,960,839),32315=>array(34,-62,968,839),32316=>array(42,-72,972,831),32317=>array(34,-64,959,844),32318=>array(34,-73,952,839),32319=>array(42,-79,972,845),32320=>array(51,-68,953,824),32321=>array(59,-71,948,837),32322=>array(42,-72,953,830),32323=>array(34,-72,917,839),32324=>array(71,-73,949,805),32325=>array(34,-65,972,839),32326=>array(34,-75,970,839),32327=>array(59,-60,965,846),32328=>array(48,-74,962,841),32329=>array(46,-68,968,820),32330=>array(29,-64,964,839),32331=>array(57,-71,964,829),32332=>array(38,-75,973,839),32333=>array(34,-67,957,839),32334=>array(39,-71,959,831),32335=>array(49,-58,947,820),32336=>array(35,-44,971,825),32337=>array(44,-64,973,832),32338=>array(34,-71,972,839),32339=>array(42,-73,969,831),32340=>array(28,-66,958,839),32341=>array(34,-67,949,840),32342=>array(24,-72,984,839),32343=>array(43,-71,958,827),32344=>array(47,-61,926,845),32345=>array(34,-67,959,839),32346=>array(34,-64,965,859),32347=>array(45,-65,962,838),32348=>array(45,-70,957,838),32349=>array(34,-68,920,839),32350=>array(34,-64,954,839),32351=>array(43,-68,957,830),32352=>array(50,-67,971,840),32353=>array(26,-72,962,839),32354=>array(42,-70,954,826),32355=>array(40,-39,957,825),32356=>array(36,-66,969,838),32357=>array(37,-65,951,836),32358=>array(24,-64,967,839),32359=>array(25,-75,949,839),32360=>array(55,-73,974,830),32361=>array(34,-64,970,839),32362=>array(34,-68,973,864),32363=>array(53,-73,962,841),32364=>array(39,-65,965,837),32365=>array(63,-57,937,833),32366=>array(41,-39,951,812),32367=>array(40,-66,970,807),32368=>array(34,-64,972,839),32369=>array(48,-38,959,837),32370=>array(49,-68,961,829),32371=>array(51,-71,962,845),32372=>array(50,-71,944,831),32373=>array(47,-45,962,834),32374=>array(43,-33,977,829),32375=>array(44,-64,962,836),32376=>array(30,-78,970,830),32377=>array(34,-66,934,839),32378=>array(45,-74,976,834),32379=>array(34,-64,954,839),32380=>array(24,-70,942,839),32381=>array(34,-70,958,839),32382=>array(57,-59,976,836),32383=>array(34,-64,957,844),32384=>array(42,-67,972,829),32385=>array(30,-58,971,851),32386=>array(22,-71,974,850),32387=>array(34,-68,969,839),32388=>array(36,-62,963,833),32389=>array(56,-68,948,850),32390=>array(51,-38,967,830),32391=>array(41,-66,960,831),32392=>array(34,-64,970,839),32393=>array(34,-64,981,845),32394=>array(31,-77,967,839),32395=>array(49,-68,961,837),32396=>array(34,-84,957,839),32397=>array(53,-62,947,789),32398=>array(24,-64,967,839),32399=>array(35,-67,961,839),32400=>array(19,-64,980,839),32401=>array(46,-68,956,833),32402=>array(34,-64,950,839),32403=>array(34,-67,954,839),32404=>array(24,-68,966,847),32405=>array(32,-68,979,849),32406=>array(19,-64,967,839),32407=>array(38,-65,941,833),32408=>array(30,-68,972,839),32409=>array(40,-67,964,835),32410=>array(26,-68,974,829),32411=>array(42,-71,953,839),32412=>array(19,-64,960,847),32413=>array(42,-62,955,822),32414=>array(53,-31,947,842),32415=>array(271,10,660,829),32416=>array(72,-69,847,828),32417=>array(57,-56,933,828),32418=>array(74,3,936,828),32419=>array(57,-64,933,828),32420=>array(43,-67,942,812),32421=>array(57,-24,936,843),32422=>array(61,-62,879,835),32423=>array(62,-71,941,828),32424=>array(58,-56,964,838),32425=>array(54,-66,912,830),32426=>array(57,-15,936,828),32427=>array(73,-69,874,820),32428=>array(46,-69,903,824),32429=>array(57,-54,927,828),32430=>array(77,-71,950,837),32431=>array(70,-34,929,834),32432=>array(57,-47,937,829),32433=>array(66,-59,943,824),32434=>array(40,-59,885,829),32435=>array(52,-57,898,833),32436=>array(72,-21,939,813),32437=>array(41,-64,945,833),32438=>array(32,-21,943,835),32439=>array(75,-67,957,828),32440=>array(46,-70,926,825),32441=>array(71,-65,944,840),32442=>array(60,-66,921,842),32443=>array(60,11,934,828),32444=>array(74,-72,895,824),32445=>array(74,-23,936,820),32446=>array(57,-61,915,828),32447=>array(44,-60,937,831),32448=>array(57,-66,942,829),32449=>array(57,-22,937,828),32450=>array(57,-65,966,832),32451=>array(35,-61,947,830),32452=>array(57,-14,925,807),32453=>array(77,-64,885,835),32454=>array(60,-57,895,783),32455=>array(39,-56,942,802),32456=>array(62,-79,947,834),32457=>array(39,-57,873,827),32458=>array(57,-66,938,832),32459=>array(53,-64,915,827),32460=>array(57,-67,903,828),32461=>array(54,-72,894,786),32462=>array(41,-74,958,818),32463=>array(57,-33,938,819),32464=>array(57,-67,950,832),32465=>array(42,-69,937,834),32466=>array(71,-65,945,835),32467=>array(67,-66,933,837),32468=>array(57,-63,958,840),32469=>array(44,-60,944,835),32470=>array(76,-22,923,828),32471=>array(53,-66,947,830),32472=>array(44,-55,934,838),32473=>array(57,-67,949,852),32474=>array(59,-58,882,839),32475=>array(57,-57,960,842),32476=>array(74,-63,967,847),32477=>array(39,-21,925,832),32478=>array(81,-64,947,840),32479=>array(57,-71,942,838),32480=>array(57,-74,954,828),32481=>array(57,-67,921,835),32482=>array(73,-59,879,827),32483=>array(50,-85,942,807),32484=>array(59,-68,962,832),32485=>array(59,-69,942,834),32486=>array(25,-66,964,833),32487=>array(53,-23,940,809),32488=>array(61,-67,909,847),32489=>array(41,-62,931,833),32490=>array(53,-69,924,829),32491=>array(57,-68,951,834),32492=>array(52,-66,969,828),32493=>array(28,-67,932,833),32494=>array(59,-63,937,836),32495=>array(63,-66,939,827),32496=>array(65,-65,936,838),32497=>array(53,-74,916,827),32498=>array(57,-64,949,828),32499=>array(50,-23,940,826),32500=>array(63,-64,920,836),32501=>array(67,-70,886,842),32502=>array(57,-72,958,836),32503=>array(34,-74,925,792),32504=>array(57,-69,881,827),32505=>array(49,-67,924,840),32506=>array(30,-64,937,828),32507=>array(53,-41,973,839),32508=>array(53,-67,934,844),32509=>array(61,-68,951,843),32510=>array(53,-64,917,850),32511=>array(30,-64,943,819),32512=>array(53,-67,973,818),32513=>array(57,-66,921,836),32514=>array(53,-63,939,829),32515=>array(53,-74,910,827),32516=>array(52,-70,953,832),32517=>array(60,-66,931,814),32518=>array(35,-54,932,841),32519=>array(57,-66,935,828),32520=>array(52,-73,937,830),32521=>array(57,-70,935,822),32522=>array(69,-28,959,805),32523=>array(39,-66,919,830),32524=>array(57,-43,959,828),32525=>array(52,-33,933,830),32526=>array(53,-71,953,818),32527=>array(53,-57,954,839),32528=>array(59,-64,959,842),32529=>array(53,-69,971,831),32530=>array(53,-72,951,844),32531=>array(66,-67,949,827),32532=>array(62,-69,925,848),32533=>array(39,-54,941,838),32534=>array(34,-69,922,837),32535=>array(57,-64,956,828),32536=>array(53,-73,937,834),32537=>array(47,-64,911,827),32538=>array(50,-67,946,832),32539=>array(53,-64,942,827),32540=>array(53,-68,936,843),32541=>array(52,-53,955,816),32542=>array(69,-63,962,855),32543=>array(53,-67,932,850),32544=>array(36,-64,919,847),32545=>array(56,-63,944,847),32546=>array(53,-23,943,840),32547=>array(55,-67,967,851),32548=>array(33,-50,933,824),32549=>array(57,-64,940,819),32550=>array(53,-68,958,827),32551=>array(53,-64,959,827),32552=>array(39,-75,937,822),32553=>array(41,-66,917,841),32554=>array(52,-76,953,817),32555=>array(53,-67,955,837),32556=>array(38,-68,945,825),32557=>array(57,-64,947,855),32558=>array(62,-67,931,839),32559=>array(53,-64,901,851),32560=>array(50,-40,935,806),32561=>array(53,-72,951,834),32562=>array(53,-66,963,827),32563=>array(57,-68,952,828),32564=>array(53,-71,946,842),32565=>array(38,-69,933,822),32566=>array(47,-60,953,831),32567=>array(58,-62,909,838),32568=>array(44,-45,941,836),32569=>array(50,-72,960,845),32570=>array(59,-68,950,836),32571=>array(58,-32,962,836),32572=>array(80,-73,960,851),32573=>array(48,-54,971,848),32574=>array(58,-53,954,855),32575=>array(49,-58,945,843),32576=>array(47,-64,960,851),32577=>array(47,-65,951,851),32578=>array(48,-68,912,780),32579=>array(69,-71,945,838),32580=>array(49,-68,956,833),32581=>array(48,-72,931,834),32582=>array(48,-68,951,829),32583=>array(45,-72,970,838),32584=>array(48,-70,953,831),32585=>array(63,-54,935,837),32586=>array(72,-68,958,825),32587=>array(62,-68,939,838),32588=>array(59,-65,951,790),32589=>array(68,-62,957,797),32590=>array(34,-53,951,842),32591=>array(45,-63,957,841),32592=>array(44,-59,949,838),32593=>array(117,-60,883,780),32594=>array(148,317,884,597),32595=>array(137,265,863,657),32596=>array(114,-68,894,787),32597=>array(64,-64,917,786),32598=>array(110,10,917,802),32599=>array(69,-55,884,792),32600=>array(45,-64,955,787),32601=>array(50,-68,955,789),32602=>array(98,-57,869,791),32603=>array(42,-61,973,798),32604=>array(79,-35,961,777),32605=>array(55,-20,950,798),32606=>array(56,-62,947,790),32607=>array(68,-60,954,787),32608=>array(47,-58,947,784),32609=>array(63,-24,941,785),32610=>array(55,-60,904,792),32611=>array(63,-33,958,763),32612=>array(55,-53,908,785),32613=>array(141,-70,883,779),32614=>array(82,-68,933,783),32615=>array(55,-71,971,780),32616=>array(29,-34,966,794),32617=>array(59,-69,956,782),32618=>array(57,-69,943,794),32619=>array(59,-64,968,787),32620=>array(44,-72,969,784),32621=>array(63,-51,963,800),32622=>array(100,-73,945,813),32623=>array(81,-69,931,787),32624=>array(71,-73,900,810),32625=>array(51,-72,949,791),32626=>array(58,-65,944,789),32627=>array(56,-26,954,780),32628=>array(34,-62,928,776),32629=>array(57,-69,919,783),32630=>array(136,-70,882,783),32631=>array(68,-63,967,807),32632=>array(85,-73,951,782),32633=>array(39,-64,949,788),32634=>array(44,-70,973,783),32635=>array(41,-68,951,782),32636=>array(59,-65,943,810),32637=>array(36,-65,947,791),32638=>array(110,-67,905,794),32639=>array(50,-8,947,805),32640=>array(107,-71,916,787),32641=>array(49,-65,890,772),32642=>array(64,-63,896,802),32643=>array(42,-65,968,792),32644=>array(44,-64,953,815),32645=>array(38,-67,950,807),32646=>array(43,-73,956,784),32647=>array(63,-64,953,788),32648=>array(62,-64,938,796),32649=>array(50,-52,968,792),32650=>array(72,-67,946,855),32651=>array(60,-67,953,821),32652=>array(39,-61,953,844),32653=>array(38,-67,965,836),32654=>array(45,-61,955,845),32655=>array(54,-68,957,842),32656=>array(34,-67,974,830),32657=>array(52,-67,991,854),32658=>array(54,-73,985,842),32659=>array(44,-71,972,842),32660=>array(61,-63,957,856),32661=>array(46,-66,965,848),32662=>array(50,-71,967,834),32663=>array(36,-66,965,841),32664=>array(53,-68,954,843),32665=>array(53,-63,941,854),32666=>array(22,-68,960,847),32667=>array(53,-69,938,846),32668=>array(57,-66,960,844),32669=>array(42,-73,950,839),32670=>array(29,-33,934,838),32671=>array(36,-68,922,823),32672=>array(43,-72,969,840),32673=>array(49,-74,960,845),32674=>array(52,-69,974,837),32675=>array(57,-64,954,787),32676=>array(32,-62,960,850),32677=>array(46,-75,950,833),32678=>array(41,-73,964,834),32679=>array(35,-75,965,830),32680=>array(49,-62,978,858),32681=>array(48,-63,941,843),32682=>array(42,-77,965,842),32683=>array(39,-70,950,845),32684=>array(51,-70,978,822),32685=>array(50,-74,969,827),32686=>array(33,-58,974,860),32687=>array(55,-67,930,842),32688=>array(41,-82,971,831),32689=>array(53,-73,970,833),32690=>array(34,-66,959,853),32691=>array(46,-69,968,832),32692=>array(35,-83,969,808),32693=>array(46,-82,967,826),32694=>array(16,-65,959,842),32695=>array(53,-71,969,835),32696=>array(29,-60,973,841),32697=>array(51,-62,966,853),32698=>array(49,-64,968,833),32699=>array(52,-69,970,836),32700=>array(41,-71,965,797),32701=>array(73,-50,892,785),32702=>array(40,-70,953,783),32703=>array(43,-64,945,780),32704=>array(47,-63,917,836),32705=>array(47,-62,958,822),32706=>array(43,-71,981,790),32707=>array(52,-67,938,840),32708=>array(47,-73,970,837),32709=>array(31,-59,972,839),32710=>array(54,-58,946,790),32711=>array(41,-76,959,785),32712=>array(113,-79,923,788),32713=>array(29,-64,910,826),32714=>array(56,-65,915,821),32715=>array(42,-67,950,836),32716=>array(50,-20,942,798),32717=>array(33,-72,962,821),32718=>array(31,-63,918,838),32719=>array(32,-76,965,785),32720=>array(32,-74,976,827),32721=>array(37,-64,914,828),32722=>array(74,-72,892,782),32723=>array(70,-65,914,838),32724=>array(51,-60,893,855),32725=>array(47,-63,965,845),32726=>array(26,-64,916,817),32727=>array(61,-70,916,829),32728=>array(32,-71,941,818),32729=>array(45,-64,931,836),32730=>array(74,-65,926,801),32731=>array(37,-63,982,844),32732=>array(37,-72,964,783),32733=>array(30,-48,910,825),32734=>array(53,-68,962,834),32735=>array(40,-80,927,807),32736=>array(53,-61,947,807),32737=>array(46,-56,921,826),32738=>array(41,-71,903,782),32739=>array(61,-63,936,797),32740=>array(98,-71,918,785),32741=>array(42,-59,956,834),32742=>array(65,-59,959,863),32743=>array(57,-69,913,855),32744=>array(88,-65,970,785),32745=>array(41,-60,917,795),32746=>array(59,-73,968,825),32747=>array(52,-74,963,783),32748=>array(62,-62,957,790),32749=>array(53,-76,983,824),32750=>array(75,-64,903,788),32751=>array(66,-52,941,802),32752=>array(60,-69,978,853),32753=>array(46,-63,904,848),32754=>array(41,-73,895,780),32755=>array(60,-67,929,785),32756=>array(40,-73,969,816),32757=>array(37,-54,948,854),32758=>array(48,-77,913,839),32759=>array(53,-67,917,830),32760=>array(61,-70,919,835),32761=>array(28,-66,966,830),32762=>array(46,-68,913,845),32763=>array(59,-67,909,824),32764=>array(54,-66,946,807),32765=>array(30,-67,910,832),32766=>array(60,-57,928,795),32767=>array(66,-52,917,843),32768=>array(28,-73,954,828),32769=>array(38,-39,923,832),32770=>array(21,160,923,832),32771=>array(48,-56,929,836),32772=>array(39,-36,948,834),32773=>array(62,-64,929,836),32774=>array(33,-69,938,836),32775=>array(59,-64,950,835),32776=>array(69,-66,933,840),32777=>array(40,-55,951,840),32778=>array(49,-53,950,836),32779=>array(53,-53,950,836),32780=>array(89,-68,923,768),32781=>array(63,-68,934,789),32782=>array(46,-67,970,791),32783=>array(55,-74,951,822),32784=>array(51,-79,956,836),32785=>array(62,-62,954,840),32786=>array(55,-65,968,829),32787=>array(46,-65,924,827),32788=>array(46,-65,957,828),32789=>array(31,-73,954,831),32790=>array(31,-70,970,831),32791=>array(35,-68,924,828),32792=>array(36,-73,943,832),32793=>array(36,-73,951,832),32794=>array(46,-72,960,833),32795=>array(47,-71,951,839),32796=>array(38,-73,909,832),32797=>array(31,-73,938,831),32798=>array(47,-68,914,829),32799=>array(49,-58,964,828),32800=>array(21,-78,964,842),32801=>array(59,-66,929,831),32802=>array(25,-72,914,818),32803=>array(46,-73,968,844),32804=>array(46,-70,956,826),32805=>array(39,-69,933,832),32806=>array(61,-71,927,830),32807=>array(32,-73,922,806),32808=>array(34,-64,959,832),32809=>array(36,-67,964,833),32810=>array(43,-69,954,842),32811=>array(44,-71,943,830),32812=>array(34,-69,954,835),32813=>array(53,-69,949,840),32814=>array(44,-86,968,831),32815=>array(49,-69,966,827),32816=>array(33,-62,979,830),32817=>array(23,-68,955,838),32818=>array(45,-69,972,849),32819=>array(55,-74,922,781),32820=>array(56,-67,967,828),32821=>array(48,-62,954,789),32822=>array(59,-67,930,786),32823=>array(40,-69,960,839),32824=>array(55,-66,916,830),32825=>array(55,-67,978,853),32826=>array(29,-67,944,789),32827=>array(42,-64,951,824),32828=>array(46,-67,957,789),32829=>array(40,-70,950,831),32830=>array(55,-65,960,838),32831=>array(38,-67,954,825),32832=>array(50,-67,967,825),32833=>array(49,-67,951,805),32834=>array(39,-60,952,794),32835=>array(35,-65,961,829),32836=>array(50,-72,971,850),32837=>array(50,-67,945,819),32838=>array(28,-62,966,854),32839=>array(58,-70,957,781),32840=>array(72,-80,921,822),32841=>array(46,-68,921,827),32842=>array(59,-71,914,830),32843=>array(51,-48,923,841),32844=>array(31,-70,955,782),32845=>array(29,-68,924,830),32846=>array(63,-67,962,826),32847=>array(49,-68,960,785),32848=>array(45,-70,959,822),32849=>array(50,-70,955,770),32850=>array(36,-64,941,804),32851=>array(47,-59,960,806),32852=>array(37,-60,940,830),32853=>array(50,-67,955,844),32854=>array(66,-37,934,805),32855=>array(50,-75,968,833),32856=>array(33,-71,955,831),32857=>array(50,-67,974,835),32858=>array(36,-61,948,793),32859=>array(50,-67,956,841),32860=>array(48,-67,956,834),32861=>array(45,-71,952,823),32862=>array(119,-68,901,786),32863=>array(34,-69,950,852),32864=>array(50,-68,959,845),32865=>array(32,-65,968,819),32866=>array(50,-83,949,797),32867=>array(50,-67,953,816),32868=>array(41,-61,970,856),32869=>array(50,-68,925,827),32870=>array(50,-67,964,839),32871=>array(51,-72,970,817),32872=>array(52,-65,963,806),32873=>array(34,-69,928,824),32874=>array(33,-60,950,838),32875=>array(48,-65,963,806),32876=>array(46,-71,971,827),32877=>array(50,-67,969,856),32878=>array(52,-65,967,782),32879=>array(42,-65,946,842),32880=>array(43,-66,973,835),32881=>array(53,-70,948,838),32882=>array(62,-64,946,833),32883=>array(48,-70,952,846),32884=>array(44,-67,963,839),32885=>array(40,-67,962,838),32886=>array(42,-66,951,808),32887=>array(35,-70,960,839),32888=>array(44,-73,942,827),32889=>array(41,-64,967,835),32890=>array(41,-65,948,846),32891=>array(35,-65,954,831),32892=>array(44,-67,966,847),32893=>array(58,-67,966,840),32894=>array(43,-71,962,840),32895=>array(73,-66,945,833),32896=>array(73,-66,931,833),32897=>array(45,-61,947,848),32898=>array(50,-72,953,828),32899=>array(50,-62,941,834),32900=>array(28,-68,945,829),32901=>array(46,-69,947,833),32902=>array(46,-61,946,841),32903=>array(51,-61,949,850),32904=>array(50,-61,953,856),32905=>array(118,-73,882,841),32906=>array(49,-68,959,783),32907=>array(68,-70,898,834),32908=>array(31,-74,948,773),32909=>array(59,-75,957,831),32910=>array(116,-45,892,762),32911=>array(42,-79,958,777),32912=>array(41,-78,977,826),32913=>array(76,-59,921,844),32914=>array(39,-64,954,833),32915=>array(135,-50,924,826),32916=>array(60,-71,963,825),32917=>array(53,-65,908,799),32918=>array(133,-61,861,836),32919=>array(60,-71,944,839),32920=>array(57,-70,933,826),32921=>array(70,-64,841,788),32922=>array(63,-68,938,829),32923=>array(54,-70,942,786),32924=>array(44,-58,965,856),32925=>array(60,-71,936,785),32926=>array(48,-62,959,803),32927=>array(31,-80,950,782),32928=>array(22,-61,886,786),32929=>array(51,-65,944,788),32930=>array(43,-70,969,837),32931=>array(35,-69,972,833),32932=>array(38,-71,939,831),32933=>array(51,-70,949,779),32934=>array(29,-60,968,810),32935=>array(60,-72,944,785),32936=>array(60,-71,940,813),32937=>array(53,-70,901,810),32938=>array(34,-71,949,825),32939=>array(38,-67,957,833),32940=>array(44,-62,961,831),32941=>array(24,-68,877,799),32942=>array(41,-73,957,832),32943=>array(59,-54,953,831),32944=>array(60,-71,977,837),32945=>array(30,-62,945,826),32946=>array(92,-49,907,840),32947=>array(46,-71,921,829),32948=>array(52,-49,928,844),32949=>array(39,-68,954,829),32950=>array(37,-58,956,824),32951=>array(30,-67,939,824),32952=>array(46,-65,956,811),32953=>array(56,-71,959,811),32954=>array(31,-70,953,839),32955=>array(121,-58,897,827),32956=>array(23,-82,950,827),32957=>array(23,-81,956,822),32958=>array(124,-69,944,820),32959=>array(31,-68,894,814),32960=>array(35,-73,946,815),32961=>array(27,-65,948,824),32962=>array(50,-71,912,833),32963=>array(170,-49,849,785),32964=>array(177,-48,838,834),32965=>array(45,-76,974,826),32966=>array(37,-70,954,786),32967=>array(45,-75,928,826),32968=>array(41,-73,968,826),32969=>array(40,-60,903,854),32970=>array(34,-66,908,843),32971=>array(57,-70,934,835),32972=>array(60,-57,937,826),32973=>array(31,-73,977,837),32974=>array(49,-70,944,838),32975=>array(51,-60,957,840),32976=>array(45,-59,905,840),32977=>array(32,-55,966,797),32978=>array(57,-70,945,788),32979=>array(57,-70,959,789),32980=>array(54,-68,968,835),32981=>array(44,-57,961,848),32982=>array(45,-69,934,834),32983=>array(39,-68,980,840),32984=>array(42,-67,957,836),32985=>array(53,-70,940,837),32986=>array(44,-69,948,786),32987=>array(49,-70,899,787),32988=>array(44,-69,953,824),32989=>array(34,-72,948,833),32990=>array(37,-64,958,845),32991=>array(35,-60,962,787),32992=>array(29,-62,957,839),32993=>array(71,-67,895,818),32994=>array(66,-70,948,787),32995=>array(47,-71,964,825),32996=>array(40,-66,967,846),32997=>array(38,-50,935,789),32998=>array(38,-67,981,829),32999=>array(18,-67,931,826),33000=>array(31,-72,939,817),33001=>array(31,-80,946,822),33002=>array(34,-69,921,817),33003=>array(32,-72,923,782),33004=>array(35,-66,932,827),33005=>array(48,-68,910,790),33006=>array(35,-70,965,837),33007=>array(28,-70,969,848),33008=>array(39,-72,963,838),33009=>array(35,-60,959,823),33010=>array(52,-69,975,845),33011=>array(35,-71,967,845),33012=>array(28,-70,912,786),33013=>array(46,-72,959,782),33014=>array(28,-71,946,842),33015=>array(73,-71,878,847),33016=>array(31,-58,924,841),33017=>array(46,-73,965,780),33018=>array(45,-72,948,840),33019=>array(49,-67,967,838),33020=>array(27,-70,947,845),33021=>array(63,-55,959,844),33022=>array(51,-64,952,829),33023=>array(34,-72,959,827),33024=>array(35,-77,972,813),33025=>array(29,-67,962,818),33026=>array(48,-70,952,815),33027=>array(33,-54,947,821),33028=>array(33,-70,965,824),33029=>array(73,-52,940,841),33030=>array(30,-72,958,844),33031=>array(40,-67,915,841),33032=>array(35,-62,967,836),33033=>array(44,-70,972,840),33034=>array(56,-59,944,835),33035=>array(73,-49,940,808),33036=>array(33,-70,943,841),33037=>array(38,-74,951,818),33038=>array(37,-73,932,818),33039=>array(31,-66,920,821),33040=>array(24,-82,951,832),33041=>array(43,-64,951,841),33042=>array(27,-70,980,821),33043=>array(32,-72,962,827),33044=>array(28,-64,923,846),33045=>array(44,-72,967,837),33046=>array(45,-67,951,837),33047=>array(45,-58,925,851),33048=>array(26,-67,963,821),33049=>array(42,-75,948,820),33050=>array(33,-61,913,810),33051=>array(49,-65,945,791),33052=>array(27,-70,944,776),33053=>array(48,-71,946,835),33054=>array(49,-60,970,833),33055=>array(39,-71,953,815),33056=>array(44,-62,972,820),33057=>array(44,-62,972,820),33058=>array(41,-70,942,839),33059=>array(58,-56,935,790),33060=>array(33,-57,967,800),33061=>array(44,-78,964,822),33062=>array(31,-70,968,831),33063=>array(33,-71,985,838),33064=>array(31,-70,975,825),33065=>array(37,-67,965,846),33066=>array(31,-70,961,846),33067=>array(32,-71,968,812),33068=>array(65,-72,986,834),33069=>array(39,-54,950,787),33070=>array(31,-75,948,835),33071=>array(28,-70,952,839),33072=>array(44,-60,956,797),33073=>array(59,-71,944,833),33074=>array(23,-71,970,788),33075=>array(27,-67,964,818),33076=>array(31,-70,969,797),33077=>array(31,-58,947,788),33078=>array(34,-67,925,785),33079=>array(31,-70,906,833),33080=>array(26,-65,944,836),33081=>array(42,-64,962,799),33082=>array(34,-71,943,839),33083=>array(31,-72,959,833),33084=>array(31,-66,948,787),33085=>array(23,-68,945,830),33086=>array(28,-70,957,841),33087=>array(31,-70,974,841),33088=>array(31,-73,976,851),33089=>array(31,-71,953,830),33090=>array(31,-70,969,788),33091=>array(46,-71,981,830),33092=>array(33,-67,953,833),33093=>array(31,-70,970,841),33094=>array(28,-70,965,835),33095=>array(38,-81,974,822),33096=>array(32,-77,940,828),33097=>array(43,-70,959,816),33098=>array(52,-69,956,824),33099=>array(21,-70,970,812),33100=>array(31,-72,972,844),33101=>array(41,-66,972,825),33102=>array(108,-59,958,815),33103=>array(40,-78,980,783),33104=>array(46,-68,948,839),33105=>array(28,-70,952,835),33106=>array(44,-74,944,784),33107=>array(18,-66,936,818),33108=>array(29,-70,947,822),33109=>array(26,-64,962,834),33110=>array(31,-70,973,835),33111=>array(31,-70,955,831),33112=>array(31,-70,919,787),33113=>array(34,-78,951,833),33114=>array(23,-83,949,831),33115=>array(46,-72,954,782),33116=>array(47,-75,973,822),33117=>array(31,-70,975,788),33118=>array(45,-67,970,836),33119=>array(31,-70,952,836),33120=>array(49,-72,987,831),33121=>array(34,-77,903,782),33122=>array(38,-67,911,803),33123=>array(31,-70,948,850),33124=>array(38,-69,955,840),33125=>array(19,-70,945,788),33126=>array(65,-65,925,846),33127=>array(34,-70,973,855),33128=>array(31,-70,956,835),33129=>array(49,-71,974,830),33130=>array(31,-70,953,788),33131=>array(48,-64,945,836),33132=>array(31,-70,977,796),33133=>array(28,-70,947,787),33134=>array(28,-70,964,786),33135=>array(47,-72,956,832),33136=>array(24,-70,941,793),33137=>array(26,-63,964,829),33138=>array(43,-77,981,782),33139=>array(58,-71,911,820),33140=>array(27,-70,972,833),33141=>array(48,-70,980,791),33142=>array(39,-75,979,825),33143=>array(37,-71,954,785),33144=>array(42,-60,952,801),33145=>array(21,-70,973,837),33146=>array(21,-70,968,837),33147=>array(28,-70,950,829),33148=>array(26,-76,941,778),33149=>array(26,-78,950,784),33150=>array(31,-61,951,836),33151=>array(22,-60,958,783),33152=>array(28,-69,938,819),33153=>array(30,-70,983,843),33154=>array(46,-48,944,847),33155=>array(60,-70,967,785),33156=>array(48,-70,986,830),33157=>array(48,-64,954,843),33158=>array(45,-64,953,825),33159=>array(45,-72,981,832),33160=>array(18,-69,939,784),33161=>array(41,-75,964,826),33162=>array(34,-70,961,831),33163=>array(72,-67,932,835),33164=>array(44,-70,980,823),33165=>array(49,-72,961,835),33166=>array(36,-74,972,842),33167=>array(94,-62,906,834),33168=>array(46,-52,944,846),33169=>array(25,-63,934,832),33170=>array(48,-70,963,787),33171=>array(48,-75,969,853),33172=>array(43,-64,953,839),33173=>array(44,-75,920,783),33174=>array(30,-70,971,844),33175=>array(37,-65,959,829),33176=>array(39,-69,962,788),33177=>array(39,-60,969,829),33178=>array(46,-68,941,848),33179=>array(47,-72,954,835),33180=>array(19,-70,972,823),33181=>array(28,-70,966,828),33182=>array(41,-69,944,826),33183=>array(45,-70,958,839),33184=>array(39,-76,977,788),33185=>array(18,-70,987,850),33186=>array(45,-67,951,824),33187=>array(33,-71,938,817),33188=>array(18,-70,968,787),33189=>array(37,-62,950,844),33190=>array(39,-70,954,832),33191=>array(26,-60,950,833),33192=>array(17,-70,975,837),33193=>array(36,-78,969,836),33194=>array(26,-68,891,832),33195=>array(49,-75,982,845),33196=>array(55,-75,986,830),33197=>array(30,-70,969,839),33198=>array(40,-68,975,829),33199=>array(24,-70,981,837),33200=>array(30,-60,966,852),33201=>array(45,-75,983,840),33202=>array(41,-68,969,838),33203=>array(35,-67,949,840),33204=>array(36,-57,963,848),33205=>array(40,-67,964,830),33206=>array(48,-70,930,793),33207=>array(49,-70,967,827),33208=>array(42,-70,956,839),33209=>array(46,-79,956,830),33210=>array(28,-68,922,839),33211=>array(42,-70,959,845),33212=>array(43,-72,976,805),33213=>array(38,-66,956,853),33214=>array(36,-71,983,859),33215=>array(35,-75,969,840),33216=>array(35,-57,960,788),33217=>array(30,-82,961,837),33218=>array(33,-58,927,836),33219=>array(37,-75,952,849),33220=>array(39,-68,959,822),33221=>array(50,-69,916,787),33222=>array(21,-70,963,840),33223=>array(48,-67,931,835),33224=>array(36,-70,940,833),33225=>array(53,-68,991,854),33226=>array(39,-87,974,784),33227=>array(35,-71,959,827),33228=>array(40,-72,973,836),33229=>array(45,-73,966,843),33230=>array(36,-58,962,805),33231=>array(35,-74,955,847),33232=>array(45,-73,964,840),33233=>array(46,-78,948,777),33234=>array(44,-73,969,835),33235=>array(32,-61,966,838),33236=>array(32,-60,973,796),33237=>array(30,-60,965,853),33238=>array(41,-54,954,830),33239=>array(55,-70,979,837),33240=>array(40,-65,956,848),33241=>array(43,-75,969,829),33242=>array(43,-74,971,827),33243=>array(48,-67,946,790),33244=>array(41,-71,972,827),33245=>array(41,-50,964,867),33246=>array(39,-56,955,805),33247=>array(28,-61,970,838),33248=>array(54,-67,942,846),33249=>array(54,-53,949,849),33250=>array(43,-78,956,829),33251=>array(151,-58,927,780),33252=>array(100,-31,976,782),33253=>array(120,-65,959,820),33254=>array(58,-70,954,772),33255=>array(31,-63,956,836),33256=>array(120,-65,932,841),33257=>array(48,-76,965,781),33258=>array(201,-67,821,853),33259=>array(87,-47,948,840),33260=>array(46,-67,967,850),33261=>array(56,-63,970,844),33262=>array(42,-66,937,837),33263=>array(52,-64,946,849),33264=>array(61,-72,925,852),33265=>array(109,-101,922,839),33266=>array(37,-71,967,844),33267=>array(80,-16,915,770),33268=>array(59,-71,971,831),33269=>array(49,-57,965,848),33270=>array(55,-68,962,840),33271=>array(58,-72,960,821),33272=>array(54,-42,952,756),33273=>array(46,-78,954,824),33274=>array(80,-32,933,829),33275=>array(56,-68,959,829),33276=>array(156,-46,863,793),33277=>array(138,-68,825,829),33278=>array(42,-71,966,824),33279=>array(57,-68,954,833),33280=>array(83,-67,917,834),33281=>array(50,-74,956,834),33282=>array(44,-65,969,838),33283=>array(85,-60,898,834),33284=>array(58,-68,927,834),33285=>array(65,-52,874,842),33286=>array(52,-59,924,829),33287=>array(40,-70,955,836),33288=>array(68,-56,951,826),33289=>array(55,-67,965,810),33290=>array(62,-67,947,832),33291=>array(73,-41,936,832),33292=>array(76,-55,909,831),33293=>array(46,-65,958,856),33294=>array(46,-65,958,856),33295=>array(61,-57,879,831),33296=>array(43,-62,948,828),33297=>array(58,-67,956,829),33298=>array(45,-64,945,848),33299=>array(40,-53,931,818),33300=>array(55,-63,971,789),33301=>array(57,-75,961,824),33302=>array(36,-56,947,851),33303=>array(39,-58,955,843),33304=>array(31,-65,933,851),33305=>array(45,-63,965,846),33306=>array(50,-65,949,855),33307=>array(44,-72,942,837),33308=>array(41,-70,943,842),33309=>array(63,-68,937,841),33310=>array(47,-76,949,852),33311=>array(71,-69,936,839),33312=>array(47,-79,902,826),33313=>array(43,-66,947,837),33314=>array(67,-68,921,845),33315=>array(42,-71,943,821),33316=>array(53,-68,975,845),33317=>array(54,-71,963,853),33318=>array(42,-60,981,860),33319=>array(53,-68,948,848),33320=>array(34,-67,978,855),33321=>array(46,-68,958,835),33322=>array(37,-56,960,849),33323=>array(59,-63,945,849),33324=>array(44,-70,963,833),33325=>array(35,-70,935,822),33326=>array(39,-69,931,834),33327=>array(44,-61,910,856),33328=>array(41,-68,932,838),33329=>array(36,-66,944,833),33330=>array(39,-70,986,860),33331=>array(74,-64,915,839),33332=>array(51,-70,962,846),33333=>array(39,-54,951,849),33334=>array(40,-68,896,851),33335=>array(34,-65,963,849),33336=>array(54,-54,956,849),33337=>array(41,-67,957,849),33338=>array(41,-61,906,856),33339=>array(29,-66,924,828),33340=>array(44,-73,965,835),33341=>array(52,-70,972,840),33342=>array(36,-75,924,825),33343=>array(53,-68,973,839),33344=>array(74,-60,964,849),33345=>array(44,-68,975,845),33346=>array(34,-73,965,841),33347=>array(39,-70,978,843),33348=>array(49,-68,951,846),33349=>array(38,-70,966,840),33350=>array(35,-68,976,845),33351=>array(34,-61,965,849),33352=>array(32,-68,972,845),33353=>array(36,-73,962,836),33354=>array(53,-68,930,845),33355=>array(52,-68,971,839),33356=>array(23,-51,974,846),33357=>array(29,-73,963,845),33358=>array(34,-67,954,839),33359=>array(37,-64,954,856),33360=>array(36,-75,977,840),33361=>array(37,-68,915,838),33362=>array(52,-56,912,850),33363=>array(54,-71,980,828),33364=>array(26,-71,986,849),33365=>array(37,-67,938,847),33366=>array(39,-75,957,843),33367=>array(36,-72,959,845),33368=>array(49,-64,964,854),33369=>array(64,-63,991,863),33370=>array(49,-79,950,829),33371=>array(43,-80,956,833),33372=>array(36,-73,950,831),33373=>array(54,-54,966,849),33374=>array(44,-74,971,834),33375=>array(29,-54,963,849),33376=>array(20,-68,980,845),33377=>array(41,-73,923,836),33378=>array(44,-68,965,844),33379=>array(44,-63,967,856),33380=>array(34,-65,978,852),33381=>array(29,-71,968,850),33382=>array(34,-54,955,849),33383=>array(23,-68,970,845),33384=>array(29,-61,972,844),33385=>array(37,-72,970,845),33386=>array(44,-61,982,849),33387=>array(49,-68,973,845),33388=>array(37,-72,959,840),33389=>array(35,-62,970,858),33390=>array(112,-56,974,796),33391=>array(85,-61,963,820),33392=>array(40,-60,942,791),33393=>array(46,-68,958,827),33394=>array(46,-17,958,838),33395=>array(54,-62,938,828),33396=>array(53,-72,969,842),33397=>array(50,-73,961,831),33398=>array(48,-66,960,832),33399=>array(54,-66,960,832),33400=>array(47,-69,912,827),33401=>array(62,310,913,613),33402=>array(69,-29,919,820),33403=>array(64,-66,943,826),33404=>array(66,-64,939,826),33405=>array(42,-68,974,832),33406=>array(62,-60,946,825),33407=>array(60,-64,935,830),33408=>array(64,-66,943,826),33409=>array(56,-67,945,826),33410=>array(61,-57,911,831),33411=>array(47,-52,961,843),33412=>array(41,-69,969,832),33413=>array(61,-63,950,833),33414=>array(63,-67,946,836),33415=>array(81,-69,931,836),33416=>array(63,-69,940,831),33417=>array(65,-85,938,831),33418=>array(59,-71,951,822),33419=>array(65,-62,938,831),33420=>array(64,-61,932,831),33421=>array(67,-62,929,831),33422=>array(68,-61,936,833),33423=>array(53,-23,949,822),33424=>array(78,-71,948,823),33425=>array(60,-28,951,826),33426=>array(66,-20,936,823),33427=>array(71,-66,947,826),33428=>array(50,-68,915,838),33429=>array(62,-66,912,823),33430=>array(60,-66,936,823),33431=>array(62,-70,912,823),33432=>array(70,-80,959,818),33433=>array(65,-65,955,834),33434=>array(64,-46,950,832),33435=>array(66,-73,957,820),33436=>array(52,-58,929,832),33437=>array(55,-74,967,824),33438=>array(54,-72,962,826),33439=>array(36,-62,976,833),33440=>array(46,-71,971,831),33441=>array(62,-70,939,830),33442=>array(44,-67,956,823),33443=>array(38,-70,935,819),33444=>array(47,-64,967,829),33445=>array(57,-68,961,836),33446=>array(45,-75,937,827),33447=>array(71,-51,943,837),33448=>array(49,-65,970,833),33449=>array(38,-80,971,840),33450=>array(80,-64,956,836),33451=>array(34,-58,971,832),33452=>array(39,-60,957,837),33453=>array(78,-35,936,822),33454=>array(73,-63,927,825),33455=>array(33,-19,951,837),33456=>array(47,-62,974,833),33457=>array(49,-69,934,826),33458=>array(29,-44,951,823),33459=>array(52,-63,933,838),33460=>array(58,-77,941,822),33461=>array(49,-69,972,826),33462=>array(53,-69,944,833),33463=>array(82,-20,935,829),33464=>array(68,-71,940,824),33465=>array(58,-67,933,829),33466=>array(55,-84,979,820),33467=>array(59,-67,912,838),33468=>array(72,-38,951,839),33469=>array(57,-57,943,838),33470=>array(60,-61,954,832),33471=>array(48,-52,913,827),33472=>array(52,-73,964,823),33473=>array(44,-68,941,827),33474=>array(56,-75,968,827),33475=>array(47,-76,980,818),33476=>array(63,-75,937,822),33477=>array(44,-71,916,818),33478=>array(44,-55,913,828),33479=>array(63,-65,913,828),33480=>array(53,-68,912,824),33481=>array(67,-51,918,823),33482=>array(49,-84,928,816),33483=>array(59,-64,931,820),33484=>array(63,-67,942,826),33485=>array(29,-44,951,823),33486=>array(65,9,916,824),33487=>array(61,-68,936,822),33488=>array(62,-62,924,837),33489=>array(60,-66,948,828),33490=>array(57,-68,949,833),33491=>array(42,-67,965,832),33492=>array(71,-65,941,832),33493=>array(62,-66,938,827),33494=>array(72,-71,944,822),33495=>array(69,-68,940,830),33496=>array(63,-78,933,820),33497=>array(51,-14,947,840),33498=>array(70,-73,944,833),33499=>array(66,-63,949,833),33500=>array(68,-65,938,834),33501=>array(68,-54,964,834),33502=>array(44,-45,946,820),33503=>array(48,-62,934,837),33504=>array(69,-70,962,824),33505=>array(74,-67,978,833),33506=>array(79,-70,931,834),33507=>array(79,-80,931,834),33508=>array(57,-11,951,833),33509=>array(72,-65,931,827),33510=>array(80,-67,912,832),33511=>array(67,-61,936,830),33512=>array(55,-67,960,829),33513=>array(79,-65,933,827),33514=>array(66,-62,956,830),33515=>array(79,-66,933,827),33516=>array(68,-70,941,823),33517=>array(77,-67,950,832),33518=>array(45,-67,934,830),33519=>array(58,-71,959,829),33520=>array(69,-68,953,826),33521=>array(50,-71,935,823),33522=>array(48,-64,948,829),33523=>array(48,-61,959,836),33524=>array(60,-14,957,830),33525=>array(47,-71,968,825),33526=>array(40,-70,975,823),33527=>array(51,-71,945,822),33528=>array(68,-66,938,827),33529=>array(55,-64,949,827),33530=>array(53,-52,948,833),33531=>array(43,-65,950,830),33532=>array(59,-36,938,827),33533=>array(49,-62,956,827),33534=>array(56,-50,956,839),33535=>array(50,-61,958,836),33536=>array(48,-66,949,832),33537=>array(80,-64,939,838),33538=>array(61,-70,943,828),33539=>array(46,-69,948,811),33540=>array(57,-68,943,836),33541=>array(51,-64,934,838),33542=>array(40,-59,944,836),33543=>array(48,-65,959,830),33544=>array(59,-41,964,830),33545=>array(50,-61,958,836),33546=>array(66,-29,932,836),33547=>array(80,-64,955,836),33548=>array(39,-66,954,831),33549=>array(55,-67,947,828),33550=>array(46,-32,963,831),33551=>array(33,-66,923,827),33552=>array(27,-57,916,826),33553=>array(58,-60,916,826),33554=>array(66,-70,944,825),33555=>array(68,-59,926,826),33556=>array(75,-7,926,826),33557=>array(62,-66,957,826),33558=>array(55,-73,966,821),33559=>array(61,-66,939,829),33560=>array(42,-66,943,835),33561=>array(66,-68,956,829),33562=>array(61,-72,925,822),33563=>array(63,-60,956,833),33564=>array(60,-64,946,832),33565=>array(69,-39,944,811),33566=>array(68,-40,943,811),33567=>array(77,-64,934,842),33568=>array(41,-68,966,826),33569=>array(53,-64,948,831),33570=>array(61,-53,942,841),33571=>array(46,-66,950,828),33572=>array(87,-76,960,826),33573=>array(59,-26,956,820),33574=>array(53,-68,970,824),33575=>array(54,-67,960,817),33576=>array(54,-65,947,834),33577=>array(47,-70,953,825),33578=>array(49,-76,962,822),33579=>array(61,-46,941,830),33580=>array(59,-58,949,838),33581=>array(56,-66,964,833),33582=>array(62,-70,938,826),33583=>array(53,-66,972,835),33584=>array(72,-66,959,835),33585=>array(38,-64,979,834),33586=>array(85,-60,935,838),33587=>array(56,-62,948,830),33588=>array(66,-65,939,834),33589=>array(72,-61,940,838),33590=>array(41,-67,968,831),33591=>array(44,-72,958,819),33592=>array(61,-63,954,840),33593=>array(53,-68,945,834),33594=>array(21,-31,946,859),33595=>array(57,-68,906,827),33596=>array(66,-64,939,833),33597=>array(42,-74,933,834),33598=>array(65,-69,957,827),33599=>array(46,-67,973,829),33600=>array(45,-58,938,833),33601=>array(65,-25,957,817),33602=>array(42,-68,978,823),33603=>array(51,-26,955,832),33604=>array(55,-53,950,839),33605=>array(59,-62,974,831),33606=>array(33,-62,888,834),33607=>array(60,-54,962,843),33608=>array(54,-71,951,825),33609=>array(59,-68,950,833),33610=>array(69,-74,933,827),33611=>array(68,-69,945,820),33612=>array(62,-73,949,823),33613=>array(69,-70,958,829),33614=>array(74,-30,964,811),33615=>array(29,-69,942,834),33616=>array(31,-53,950,844),33617=>array(55,-63,980,831),33618=>array(41,-56,955,837),33619=>array(65,-69,957,828),33620=>array(42,-66,943,833),33621=>array(48,-65,943,835),33622=>array(53,-30,959,837),33623=>array(61,-70,943,828),33624=>array(43,-65,941,827),33625=>array(57,-50,947,831),33626=>array(26,-60,941,831),33627=>array(59,-65,931,826),33628=>array(63,-68,923,823),33629=>array(30,-66,916,825),33630=>array(35,-71,950,825),33631=>array(35,-56,938,824),33632=>array(25,-70,949,827),33633=>array(34,-64,905,827),33634=>array(65,-62,939,830),33635=>array(42,-71,941,817),33636=>array(53,-57,910,833),33637=>array(37,-60,944,831),33638=>array(56,-63,928,831),33639=>array(67,-74,922,822),33640=>array(64,-66,915,825),33641=>array(37,-71,952,826),33642=>array(44,-66,936,824),33643=>array(78,-69,926,826),33644=>array(35,-66,915,827),33645=>array(36,-16,925,821),33646=>array(45,-68,921,824),33647=>array(56,-68,917,822),33648=>array(48,-69,945,826),33649=>array(73,-63,928,821),33650=>array(56,-32,951,821),33651=>array(59,-34,954,805),33652=>array(45,-76,974,829),33653=>array(63,-32,971,823),33654=>array(71,-79,958,825),33655=>array(42,-74,945,834),33656=>array(53,-64,948,832),33657=>array(57,-58,935,831),33658=>array(49,-62,937,823),33659=>array(35,-65,964,831),33660=>array(49,-65,956,831),33661=>array(48,-72,954,832),33662=>array(51,-70,954,821),33663=>array(41,-62,959,827),33664=>array(45,-67,968,821),33665=>array(69,-16,943,826),33666=>array(62,-70,916,821),33667=>array(48,-70,947,827),33668=>array(51,-66,938,821),33669=>array(26,-74,947,822),33670=>array(62,-65,955,835),33671=>array(57,-75,938,824),33672=>array(54,-76,956,821),33673=>array(46,-59,933,839),33674=>array(46,-69,943,822),33675=>array(50,-70,947,824),33676=>array(42,-63,956,822),33677=>array(55,-69,944,820),33678=>array(42,-67,947,832),33679=>array(47,-70,959,824),33680=>array(56,-66,960,818),33681=>array(39,-64,980,832),33682=>array(66,-70,938,833),33683=>array(60,-62,947,833),33684=>array(66,-65,939,820),33685=>array(54,-69,972,829),33686=>array(76,-18,949,836),33687=>array(69,-63,951,836),33688=>array(53,-67,947,832),33689=>array(45,-63,953,832),33690=>array(40,-73,949,825),33691=>array(36,-69,959,826),33692=>array(20,-82,968,828),33693=>array(60,-17,955,838),33694=>array(47,-58,961,830),33695=>array(37,-79,966,831),33696=>array(42,-67,956,831),33697=>array(55,-73,970,831),33698=>array(57,-65,964,834),33699=>array(47,-24,957,832),33700=>array(66,-67,940,827),33701=>array(46,-65,943,824),33702=>array(76,-64,949,824),33703=>array(46,-62,950,832),33704=>array(61,-61,950,835),33705=>array(53,-64,948,835),33706=>array(69,-65,948,831),33707=>array(65,-72,962,823),33708=>array(43,-64,953,834),33709=>array(61,-65,912,829),33710=>array(50,-73,939,827),33711=>array(47,-67,969,824),33712=>array(54,-74,969,823),33713=>array(32,-61,948,829),33714=>array(36,-59,947,809),33715=>array(62,-64,920,826),33716=>array(62,-63,912,827),33717=>array(43,-59,956,832),33718=>array(35,-19,962,823),33719=>array(32,-63,940,830),33720=>array(35,-66,925,827),33721=>array(65,-19,924,825),33722=>array(62,-62,912,824),33723=>array(42,-64,919,818),33724=>array(50,-27,928,824),33725=>array(40,-65,971,837),33726=>array(36,-71,980,829),33727=>array(63,-65,947,827),33728=>array(51,-68,966,830),33729=>array(71,-65,939,833),33730=>array(85,-63,937,823),33731=>array(47,-73,945,823),33732=>array(41,-70,976,824),33733=>array(63,-68,937,835),33734=>array(58,-74,968,828),33735=>array(52,-61,954,839),33736=>array(72,-67,951,824),33737=>array(65,-52,935,840),33738=>array(41,-63,932,836),33739=>array(77,-69,963,826),33740=>array(70,-61,938,838),33741=>array(38,-44,957,833),33742=>array(80,-34,955,823),33743=>array(60,-62,954,832),33744=>array(88,-64,924,835),33745=>array(72,-62,940,832),33746=>array(49,-70,961,844),33747=>array(45,-68,962,822),33748=>array(46,-70,969,832),33749=>array(40,-61,974,829),33750=>array(71,-59,943,844),33751=>array(64,-70,936,826),33752=>array(25,-66,967,832),33753=>array(69,-29,947,827),33754=>array(67,-60,964,821),33755=>array(86,-73,938,820),33756=>array(48,-65,971,837),33757=>array(63,-74,973,824),33758=>array(59,-69,949,826),33759=>array(50,-57,960,834),33760=>array(61,-62,960,836),33761=>array(68,-65,961,832),33762=>array(60,-72,960,820),33763=>array(79,-74,961,820),33764=>array(42,-39,979,818),33765=>array(44,-64,957,832),33766=>array(60,-70,944,831),33767=>array(50,-69,955,832),33768=>array(69,-75,942,827),33769=>array(72,-59,934,837),33770=>array(62,-65,939,830),33771=>array(64,-38,960,812),33772=>array(68,-73,937,823),33773=>array(39,-67,961,833),33774=>array(45,-70,969,829),33775=>array(56,-78,941,838),33776=>array(43,-65,961,833),33777=>array(46,-65,954,831),33778=>array(61,-65,934,841),33779=>array(54,-39,980,815),33780=>array(35,-42,968,816),33781=>array(95,-65,945,824),33782=>array(40,-70,967,835),33783=>array(73,-68,923,826),33784=>array(44,-66,973,832),33785=>array(56,-39,954,832),33786=>array(62,-68,947,829),33787=>array(48,-69,966,822),33788=>array(48,-62,970,835),33789=>array(39,-73,966,832),33790=>array(47,-72,968,831),33791=>array(69,-70,944,825),33792=>array(43,-73,953,826),33793=>array(62,-69,958,836),33794=>array(46,-59,933,839),33795=>array(76,-59,949,836),33796=>array(43,-63,939,826),33797=>array(60,-67,957,838),33798=>array(59,-52,949,841),33799=>array(61,-67,971,827),33800=>array(46,-62,950,832),33801=>array(42,-67,960,826),33802=>array(35,-62,973,833),33803=>array(54,-70,947,833),33804=>array(61,-68,935,839),33805=>array(54,-63,949,838),33806=>array(53,-73,934,834),33807=>array(77,-62,947,833),33808=>array(42,-69,976,826),33809=>array(36,-67,952,833),33810=>array(53,-60,963,820),33811=>array(67,-38,961,811),33812=>array(47,-44,935,838),33813=>array(44,-76,956,828),33814=>array(77,-62,937,815),33815=>array(67,-63,927,819),33816=>array(50,-68,965,830),33817=>array(25,-66,964,832),33818=>array(38,-69,952,826),33819=>array(58,-70,947,825),33820=>array(52,-77,933,822),33821=>array(65,-58,917,829),33822=>array(79,-58,958,826),33823=>array(36,-68,952,824),33824=>array(59,-74,939,820),33825=>array(50,-65,939,826),33826=>array(51,-30,978,835),33827=>array(49,-73,973,823),33828=>array(63,-70,916,818),33829=>array(66,-71,916,819),33830=>array(54,-60,908,830),33831=>array(54,-62,930,831),33832=>array(74,-67,931,828),33833=>array(40,-64,985,833),33834=>array(41,-69,955,839),33835=>array(42,-70,956,825),33836=>array(77,-68,946,834),33837=>array(73,-61,936,831),33838=>array(46,-71,968,827),33839=>array(50,-81,943,829),33840=>array(46,-71,968,825),33841=>array(52,-24,948,832),33842=>array(59,-70,947,828),33843=>array(71,-66,943,824),33844=>array(46,-76,942,827),33845=>array(70,-67,942,833),33846=>array(43,-73,974,821),33847=>array(67,-68,941,823),33848=>array(31,-64,979,830),33849=>array(47,-66,941,831),33850=>array(70,-69,945,831),33851=>array(69,-69,944,825),33852=>array(77,-62,932,839),33853=>array(56,-68,970,835),33854=>array(59,-57,951,829),33855=>array(53,-72,956,823),33856=>array(55,-68,955,825),33857=>array(67,-57,950,821),33858=>array(34,-63,954,828),33859=>array(71,-68,944,829),33860=>array(53,-67,945,826),33861=>array(46,-32,954,824),33862=>array(35,-68,965,832),33863=>array(46,-61,973,832),33864=>array(48,-55,962,832),33865=>array(49,-70,965,839),33866=>array(45,-64,972,849),33867=>array(42,-67,948,830),33868=>array(46,-71,939,822),33869=>array(71,-70,947,823),33870=>array(32,-70,949,829),33871=>array(52,-67,959,829),33872=>array(55,-29,973,828),33873=>array(53,-58,958,832),33874=>array(61,-49,956,832),33875=>array(67,-69,957,826),33876=>array(51,-71,969,827),33877=>array(41,-69,953,845),33878=>array(47,-61,984,832),33879=>array(43,-64,941,826),33880=>array(63,-62,923,833),33881=>array(45,-69,943,826),33882=>array(51,-32,945,833),33883=>array(62,-61,942,837),33884=>array(34,-67,974,825),33885=>array(61,-67,943,823),33886=>array(68,-73,952,823),33887=>array(83,-27,955,826),33888=>array(32,-53,951,841),33889=>array(41,-64,948,830),33890=>array(34,-20,966,831),33891=>array(76,-27,947,839),33892=>array(61,-58,958,832),33893=>array(77,-68,951,829),33894=>array(63,-59,945,839),33895=>array(82,-65,953,825),33896=>array(69,-67,973,826),33897=>array(62,-51,953,828),33898=>array(61,-75,955,843),33899=>array(69,-61,940,840),33900=>array(45,-62,939,838),33901=>array(60,-67,967,833),33902=>array(43,-72,966,826),33903=>array(57,-66,942,823),33904=>array(41,-71,979,824),33905=>array(49,-37,962,834),33906=>array(42,-70,933,833),33907=>array(39,-64,966,833),33908=>array(55,-66,955,828),33909=>array(66,-60,951,835),33910=>array(74,-54,942,829),33911=>array(74,-64,946,842),33912=>array(46,-29,968,829),33913=>array(42,-56,963,842),33914=>array(51,-64,942,830),33915=>array(24,-66,962,830),33916=>array(69,-65,969,838),33917=>array(69,-70,944,827),33918=>array(59,-36,967,827),33919=>array(69,-70,944,838),33920=>array(59,-21,955,831),33921=>array(36,-39,959,831),33922=>array(72,-67,925,842),33923=>array(72,-60,961,838),33924=>array(51,-67,957,838),33925=>array(51,-68,956,838),33926=>array(68,-81,941,826),33927=>array(20,-69,952,833),33928=>array(60,-67,914,824),33929=>array(60,-69,914,828),33930=>array(60,-58,950,828),33931=>array(41,-59,943,833),33932=>array(25,-60,939,833),33933=>array(39,-69,948,826),33934=>array(49,-71,969,832),33935=>array(61,-71,939,827),33936=>array(47,-52,963,839),33937=>array(54,-81,968,822),33938=>array(69,-64,959,832),33939=>array(51,-62,956,832),33940=>array(70,-61,946,833),33941=>array(52,-37,948,840),33942=>array(70,-89,942,830),33943=>array(48,-64,974,830),33944=>array(62,-69,955,825),33945=>array(53,-75,959,839),33946=>array(83,-66,938,826),33947=>array(42,-74,953,826),33948=>array(37,-59,946,835),33949=>array(42,-68,939,826),33950=>array(53,-65,953,831),33951=>array(53,-66,956,830),33952=>array(52,-29,953,825),33953=>array(66,-64,945,834),33954=>array(76,-68,974,825),33955=>array(46,-69,950,826),33956=>array(56,-72,950,826),33957=>array(77,-76,928,835),33958=>array(38,-69,974,835),33959=>array(51,-73,966,824),33960=>array(23,-53,956,841),33961=>array(52,-68,962,825),33962=>array(60,-70,942,835),33963=>array(37,-47,956,854),33964=>array(43,-60,956,829),33965=>array(65,-71,931,845),33966=>array(29,-70,937,822),33967=>array(56,-70,923,835),33968=>array(50,-79,964,827),33969=>array(48,-55,947,840),33970=>array(46,-61,946,839),33971=>array(65,-75,927,839),33972=>array(41,-69,942,833),33973=>array(54,-59,960,833),33974=>array(45,-72,946,823),33975=>array(66,-64,944,833),33976=>array(47,-73,953,824),33977=>array(31,-64,972,835),33978=>array(50,-69,961,833),33979=>array(40,-60,960,833),33980=>array(43,-62,972,836),33981=>array(36,-39,950,823),33982=>array(49,-52,946,839),33983=>array(68,-68,941,833),33984=>array(44,-64,955,835),33985=>array(36,-69,964,829),33986=>array(53,-65,947,830),33987=>array(51,-67,957,833),33988=>array(51,-66,940,838),33989=>array(48,-72,960,823),33990=>array(43,-71,954,824),33991=>array(54,-64,949,831),33992=>array(70,-65,924,833),33993=>array(46,-66,954,839),33994=>array(35,-62,957,832),33995=>array(59,-21,955,834),33996=>array(48,-74,973,825),33997=>array(53,-67,943,831),33998=>array(46,-75,938,826),33999=>array(59,-74,968,826),34000=>array(52,-67,939,830),34001=>array(44,-71,956,835),34002=>array(63,-72,956,825),34003=>array(48,-62,957,840),34004=>array(62,-71,955,826),34005=>array(48,-57,959,830),34006=>array(67,-58,941,837),34007=>array(51,-68,978,829),34008=>array(46,-78,959,824),34009=>array(57,-66,937,833),34010=>array(33,-76,982,830),34011=>array(38,-73,973,827),34012=>array(60,-67,950,830),34013=>array(54,-23,924,821),34014=>array(62,-67,914,821),34015=>array(26,-62,908,832),34016=>array(62,-63,914,827),34017=>array(44,-67,966,832),34018=>array(62,-75,938,830),34019=>array(61,-63,924,829),34020=>array(38,-76,974,825),34021=>array(29,-6,954,827),34022=>array(38,-56,947,826),34023=>array(36,-52,961,839),34024=>array(42,-67,963,828),34025=>array(35,-71,950,825),34026=>array(50,-73,972,824),34027=>array(43,-72,970,822),34028=>array(35,-62,952,833),34029=>array(38,-59,965,827),34030=>array(37,-56,951,839),34031=>array(33,-69,962,832),34032=>array(51,-68,978,829),34033=>array(56,-73,957,820),34034=>array(65,-32,953,823),34035=>array(66,-32,943,824),34036=>array(64,-63,957,825),34037=>array(40,-75,963,827),34038=>array(69,-70,956,823),34039=>array(67,-68,961,823),34040=>array(61,-74,939,851),34041=>array(45,-67,947,829),34042=>array(40,-55,961,833),34043=>array(54,-47,967,844),34044=>array(26,-76,972,829),34045=>array(56,-65,948,832),34046=>array(73,-70,944,823),34047=>array(33,-67,948,834),34048=>array(61,-65,944,827),34049=>array(67,-68,946,831),34050=>array(68,-69,944,827),34051=>array(74,-58,947,839),34052=>array(71,-65,944,822),34053=>array(63,-57,936,838),34054=>array(49,-76,974,825),34055=>array(69,-70,951,826),34056=>array(62,-65,941,824),34057=>array(44,-68,965,827),34058=>array(51,-66,960,832),34059=>array(47,-70,964,828),34060=>array(45,-67,985,832),34061=>array(49,-69,958,823),34062=>array(66,-73,972,825),34063=>array(66,-70,938,822),34064=>array(39,-73,928,838),34065=>array(48,-70,956,835),34066=>array(47,-73,964,824),34067=>array(59,-61,966,835),34068=>array(57,-68,943,825),34069=>array(74,-71,943,817),34070=>array(28,-68,952,824),34071=>array(52,-67,951,838),34072=>array(31,-70,981,825),34073=>array(39,-72,975,823),34074=>array(51,-68,948,836),34075=>array(40,-66,959,828),34076=>array(41,-73,963,827),34077=>array(75,-68,975,825),34078=>array(56,-73,959,832),34079=>array(36,-75,966,820),34080=>array(53,-70,963,826),34081=>array(63,-64,963,839),34082=>array(64,-68,944,838),34083=>array(49,-59,948,835),34084=>array(57,-70,944,826),34085=>array(56,-30,955,835),34086=>array(53,-67,940,835),34087=>array(55,-23,950,820),34088=>array(79,-71,951,823),34089=>array(66,-73,941,824),34090=>array(58,-69,952,829),34091=>array(42,-64,951,832),34092=>array(54,-71,966,835),34093=>array(76,-78,967,834),34094=>array(78,-69,948,822),34095=>array(57,-53,964,841),34096=>array(36,-69,960,824),34097=>array(73,-83,967,824),34098=>array(32,-67,960,824),34099=>array(45,-59,944,841),34100=>array(44,-73,937,840),34101=>array(31,-67,962,832),34102=>array(65,-65,964,829),34103=>array(73,-73,925,817),34104=>array(24,-81,949,822),34105=>array(41,-73,949,822),34106=>array(63,-66,911,827),34107=>array(42,-72,956,832),34108=>array(65,-60,928,834),34109=>array(69,-70,961,834),34110=>array(39,-59,973,835),34111=>array(33,-59,937,832),34112=>array(32,-72,979,829),34113=>array(56,-62,948,833),34114=>array(41,-76,957,833),34115=>array(36,-69,957,831),34116=>array(71,-65,944,823),34117=>array(42,-69,944,826),34118=>array(31,-67,962,833),34119=>array(69,-68,946,823),34120=>array(54,-69,948,830),34121=>array(42,-61,938,837),34122=>array(38,-54,962,817),34123=>array(24,-64,944,830),34124=>array(76,-77,944,818),34125=>array(41,-72,975,823),34126=>array(50,-65,963,832),34127=>array(76,-73,955,826),34128=>array(60,-78,943,829),34129=>array(63,-57,936,839),34130=>array(48,-69,945,838),34131=>array(53,-77,947,835),34132=>array(58,-68,956,829),34133=>array(55,-60,955,836),34134=>array(42,-68,983,829),34135=>array(39,-71,980,835),34136=>array(33,-59,962,835),34137=>array(38,-33,964,833),34138=>array(58,-70,945,842),34139=>array(37,-67,938,827),34140=>array(62,-65,958,833),34141=>array(56,-48,962,842),34142=>array(51,-62,985,830),34143=>array(58,-53,973,831),34144=>array(45,-68,959,831),34145=>array(61,-76,939,840),34146=>array(65,-70,955,832),34147=>array(68,-74,941,831),34148=>array(64,-56,949,832),34149=>array(32,-69,952,826),34150=>array(43,-76,972,823),34151=>array(43,-75,977,833),34152=>array(38,-67,968,832),34153=>array(67,-67,956,836),34154=>array(59,-67,956,833),34155=>array(64,-46,936,842),34156=>array(52,-69,971,823),34157=>array(51,-74,947,840),34158=>array(47,-62,938,826),34159=>array(54,-56,941,829),34160=>array(67,-76,957,834),34161=>array(35,-65,938,826),34162=>array(62,-69,913,821),34163=>array(68,-73,938,832),34164=>array(41,-29,923,825),34165=>array(44,-85,981,831),34166=>array(42,-81,983,827),34167=>array(67,-68,975,829),34168=>array(48,-74,968,821),34169=>array(44,-62,951,835),34170=>array(62,-65,968,831),34171=>array(67,-68,972,831),34172=>array(60,-70,952,826),34173=>array(48,-58,952,848),34174=>array(73,-61,941,836),34175=>array(42,-85,957,833),34176=>array(54,-48,956,846),34177=>array(45,-74,958,830),34178=>array(41,-78,960,823),34179=>array(65,-72,926,822),34180=>array(53,-68,949,832),34181=>array(41,-65,957,823),34182=>array(48,-69,973,828),34183=>array(36,-77,958,834),34184=>array(27,-65,977,833),34185=>array(41,-71,960,824),34186=>array(46,-64,941,832),34187=>array(78,-81,933,826),34188=>array(47,-65,944,833),34189=>array(79,-66,964,828),34190=>array(62,-71,964,824),34191=>array(33,-50,967,834),34192=>array(27,-54,976,838),34193=>array(58,-41,948,806),34194=>array(42,-63,983,834),34195=>array(37,-60,953,826),34196=>array(60,-61,956,834),34197=>array(40,-67,971,824),34198=>array(48,-74,970,823),34199=>array(64,-63,936,830),34200=>array(47,-66,975,831),34201=>array(44,-68,949,836),34202=>array(51,-68,953,826),34203=>array(69,-61,941,838),34204=>array(42,-65,944,827),34205=>array(54,-70,939,823),34206=>array(40,-70,966,829),34207=>array(34,-50,966,841),34208=>array(51,-76,959,827),34209=>array(49,-74,934,820),34210=>array(40,-75,964,829),34211=>array(64,-75,966,823),34212=>array(50,-67,945,831),34213=>array(62,-58,935,831),34214=>array(37,-67,945,834),34215=>array(61,-65,953,827),34216=>array(50,-63,955,829),34217=>array(72,-65,939,832),34218=>array(51,-70,955,849),34219=>array(47,-70,957,830),34220=>array(49,-70,961,841),34221=>array(51,-78,969,828),34222=>array(52,-68,961,820),34223=>array(46,-61,945,835),34224=>array(47,-70,957,830),34225=>array(56,-69,957,828),34226=>array(44,-75,974,836),34227=>array(53,-67,967,828),34228=>array(63,-61,959,832),34229=>array(64,-70,941,826),34230=>array(51,-64,962,826),34231=>array(62,-67,952,833),34232=>array(58,-62,961,831),34233=>array(53,-57,941,831),34234=>array(49,-69,956,833),34235=>array(48,-89,961,832),34236=>array(58,-65,951,840),34237=>array(51,-74,956,823),34238=>array(43,-66,974,823),34239=>array(52,-68,971,827),34240=>array(56,-69,977,827),34241=>array(32,-67,968,842),34242=>array(38,-68,958,825),34243=>array(60,-74,955,828),34244=>array(36,-68,968,828),34245=>array(74,-62,946,833),34246=>array(43,-65,969,829),34247=>array(63,-54,941,839),34248=>array(59,-65,954,832),34249=>array(29,-67,952,832),34250=>array(32,-57,944,831),34251=>array(53,-64,956,829),34252=>array(74,-56,945,832),34253=>array(56,-34,949,839),34254=>array(55,-38,951,842),34255=>array(34,-71,942,824),34256=>array(57,-70,960,834),34257=>array(60,-68,961,833),34258=>array(51,-70,947,828),34259=>array(39,-64,922,826),34260=>array(41,-64,970,834),34261=>array(40,-67,937,833),34262=>array(67,-58,944,833),34263=>array(52,-71,986,824),34264=>array(55,-69,958,818),34265=>array(65,-72,971,826),34266=>array(83,-80,938,828),34267=>array(67,-56,937,821),34268=>array(47,-65,953,831),34269=>array(62,-72,954,836),34270=>array(41,-63,951,830),34271=>array(73,-68,936,825),34272=>array(47,-77,973,824),34273=>array(45,-73,982,827),34274=>array(53,-68,975,827),34275=>array(69,-65,939,827),34276=>array(39,-67,959,836),34277=>array(55,-62,930,826),34278=>array(45,-65,935,829),34279=>array(50,-58,964,824),34280=>array(44,-75,945,829),34281=>array(40,-62,960,836),34282=>array(45,-71,967,830),34283=>array(51,-73,950,836),34284=>array(74,-80,943,832),34285=>array(51,-64,948,835),34286=>array(38,-69,969,845),34287=>array(52,-46,974,822),34288=>array(62,-65,924,829),34289=>array(39,-64,959,826),34290=>array(42,-65,956,826),34291=>array(32,-67,968,828),34292=>array(53,-63,956,818),34293=>array(56,-65,942,845),34294=>array(33,-65,954,832),34295=>array(62,-69,955,826),34296=>array(55,-70,962,827),34297=>array(72,-61,929,839),34298=>array(57,-65,949,832),34299=>array(49,-65,971,839),34300=>array(44,-58,955,836),34301=>array(49,-62,966,833),34302=>array(44,-76,974,830),34303=>array(43,-68,929,837),34304=>array(54,-61,958,838),34305=>array(65,-32,945,823),34306=>array(43,-62,975,837),34307=>array(53,-62,946,838),34308=>array(48,-67,940,832),34309=>array(41,-67,953,832),34310=>array(59,-66,961,836),34311=>array(56,-67,948,827),34312=>array(61,-68,960,833),34313=>array(46,-64,957,855),34314=>array(53,-71,956,818),34315=>array(47,-68,960,837),34316=>array(51,-59,960,833),34317=>array(74,-58,947,832),34318=>array(76,-75,981,842),34319=>array(42,-67,958,832),34320=>array(62,-73,964,840),34321=>array(55,-66,960,838),34322=>array(43,-68,964,832),34323=>array(67,-76,966,830),34324=>array(42,-61,972,832),34325=>array(50,-81,955,832),34326=>array(50,-62,965,838),34327=>array(41,-62,965,837),34328=>array(56,-63,978,829),34329=>array(63,-70,947,831),34330=>array(43,-67,950,830),34331=>array(57,-62,945,830),34332=>array(69,-68,946,825),34333=>array(37,-57,968,832),34334=>array(45,-69,987,835),34335=>array(63,-56,956,823),34336=>array(59,-72,947,824),34337=>array(73,-72,950,827),34338=>array(56,-65,961,833),34339=>array(55,-75,960,830),34340=>array(59,-70,935,828),34341=>array(48,-62,969,828),34342=>array(70,-62,942,829),34343=>array(42,-72,982,831),34344=>array(53,-59,968,829),34345=>array(59,-64,964,833),34346=>array(48,-58,983,831),34347=>array(42,-50,963,830),34348=>array(55,-69,949,822),34349=>array(72,-70,928,839),34350=>array(49,-70,946,830),34351=>array(53,-25,951,830),34352=>array(44,-61,974,830),34353=>array(34,-72,965,829),34354=>array(65,-31,945,821),34355=>array(42,-71,954,828),34356=>array(63,-48,934,844),34357=>array(49,-66,958,827),34358=>array(44,-71,969,828),34359=>array(36,-62,971,832),34360=>array(64,-63,951,836),34361=>array(39,-69,965,829),34362=>array(60,-67,951,827),34363=>array(60,-70,963,825),34364=>array(41,-67,959,829),34365=>array(40,-58,969,838),34366=>array(39,-72,984,826),34367=>array(61,-80,954,835),34368=>array(43,-33,968,823),34369=>array(32,-64,968,849),34370=>array(60,-70,965,832),34371=>array(44,-66,967,828),34372=>array(59,-71,963,837),34373=>array(32,-53,978,837),34374=>array(68,-54,936,849),34375=>array(65,-70,951,834),34376=>array(68,-74,940,832),34377=>array(68,-56,949,831),34378=>array(48,-71,961,828),34379=>array(55,-67,947,842),34380=>array(62,-43,947,830),34381=>array(47,-66,924,829),34382=>array(35,-68,953,835),34383=>array(40,-59,893,834),34384=>array(39,-63,878,840),34385=>array(39,-60,937,832),34386=>array(40,-67,963,847),34387=>array(40,-53,954,843),34388=>array(49,-66,949,835),34389=>array(39,-68,959,836),34390=>array(29,-55,931,837),34391=>array(36,-62,919,837),34392=>array(29,-58,948,837),34393=>array(44,-67,961,827),34394=>array(30,-57,914,830),34395=>array(38,-66,936,829),34396=>array(45,-77,929,841),34397=>array(23,-82,956,830),34398=>array(35,-68,950,838),34399=>array(53,-71,951,829),34400=>array(40,-58,959,840),34401=>array(46,-84,950,823),34402=>array(43,-70,960,831),34403=>array(38,-67,972,828),34404=>array(31,-68,967,827),34405=>array(42,-75,989,831),34406=>array(39,-91,965,830),34407=>array(40,-76,954,834),34408=>array(44,-77,946,823),34409=>array(36,-75,953,829),34410=>array(40,-73,973,832),34411=>array(47,-59,954,850),34412=>array(46,-41,928,809),34413=>array(53,-72,899,811),34414=>array(43,-65,961,816),34415=>array(48,-45,957,849),34416=>array(49,-67,955,815),34417=>array(65,-59,970,792),34418=>array(43,-63,962,815),34419=>array(51,-70,916,829),34420=>array(44,-35,964,827),34421=>array(47,-23,957,841),34422=>array(47,-54,962,814),34423=>array(54,-68,954,819),34424=>array(47,-62,967,814),34425=>array(28,-5,930,813),34426=>array(21,-56,962,811),34427=>array(50,-21,942,814),34428=>array(54,-30,957,831),34429=>array(76,-59,888,792),34430=>array(46,-64,944,823),34431=>array(32,-69,914,772),34432=>array(48,-51,935,832),34433=>array(39,-78,942,814),34434=>array(47,-61,909,830),34435=>array(58,-63,942,839),34436=>array(47,-58,960,836),34437=>array(43,-74,950,810),34438=>array(48,-41,961,791),34439=>array(53,-76,973,808),34440=>array(47,-67,958,814),34441=>array(21,-71,976,838),34442=>array(38,-62,956,822),34443=>array(69,-65,914,808),34444=>array(45,-61,939,842),34445=>array(36,-51,951,817),34446=>array(53,-72,914,802),34447=>array(36,-69,869,805),34448=>array(69,-56,930,840),34449=>array(45,-54,967,844),34450=>array(45,-70,967,829),34451=>array(44,-61,899,833),34452=>array(57,-69,967,823),34453=>array(51,-69,963,793),34454=>array(53,-73,960,805),34455=>array(53,-71,971,823),34456=>array(41,-72,961,827),34457=>array(51,-66,963,838),34458=>array(51,-68,953,828),34459=>array(53,-66,891,815),34460=>array(47,-61,958,824),34461=>array(44,-33,953,833),34462=>array(55,-70,966,822),34463=>array(29,-27,948,809),34464=>array(48,-90,964,825),34465=>array(52,-73,978,808),34466=>array(49,-73,958,823),34467=>array(43,-59,961,807),34468=>array(29,-78,971,784),34469=>array(51,-70,963,833),34470=>array(45,-54,954,829),34471=>array(39,-65,957,854),34472=>array(53,-66,964,830),34473=>array(50,-66,952,833),34474=>array(43,-65,958,830),34475=>array(44,-45,967,834),34476=>array(37,-65,930,809),34477=>array(37,-65,945,809),34478=>array(37,-65,956,835),34479=>array(51,-7,955,825),34480=>array(71,-64,916,830),34481=>array(54,-65,948,844),34482=>array(40,-65,943,811),34483=>array(35,-51,958,849),34484=>array(65,-69,911,839),34485=>array(47,-50,954,828),34486=>array(50,-64,953,831),34487=>array(40,-23,954,814),34488=>array(49,-73,939,818),34489=>array(58,-69,955,839),34490=>array(47,-65,951,829),34491=>array(56,-74,960,824),34492=>array(67,-66,926,844),34493=>array(65,-29,962,809),34494=>array(66,-65,951,831),34495=>array(53,-51,953,823),34496=>array(51,-6,964,851),34497=>array(55,-70,903,812),34498=>array(54,-72,967,830),34499=>array(55,-67,940,810),34500=>array(51,-64,943,830),34501=>array(54,-67,938,829),34502=>array(46,-13,954,837),34503=>array(41,-38,959,828),34504=>array(55,-76,968,826),34505=>array(34,-65,966,854),34506=>array(57,-21,910,831),34507=>array(66,-73,957,788),34508=>array(64,-70,973,819),34509=>array(83,-70,896,824),34510=>array(34,-63,906,809),34511=>array(35,-16,936,814),34512=>array(54,-56,923,843),34513=>array(56,-62,963,851),34514=>array(54,-61,982,849),34515=>array(59,-54,960,840),34516=>array(51,-64,904,837),34517=>array(51,-67,961,837),34518=>array(54,-55,964,825),34519=>array(73,-70,948,859),34520=>array(46,-64,948,835),34521=>array(55,-18,954,844),34522=>array(56,-76,918,821),34523=>array(26,-72,957,829),34524=>array(52,-67,951,840),34525=>array(47,-66,965,811),34526=>array(44,-64,947,826),34527=>array(40,-65,963,821),34528=>array(52,-67,952,841),34529=>array(63,-53,930,814),34530=>array(56,-74,953,827),34531=>array(53,-62,952,827),34532=>array(38,-65,963,841),34533=>array(54,-70,935,839),34534=>array(51,-75,961,820),34535=>array(37,-66,931,820),34536=>array(51,-70,945,807),34537=>array(57,-64,946,779),34538=>array(69,-75,944,829),34539=>array(60,-72,980,841),34540=>array(39,-67,981,827),34541=>array(45,-21,947,824),34542=>array(50,-75,949,836),34543=>array(27,-32,959,833),34544=>array(46,-67,937,825),34545=>array(36,-68,931,821),34546=>array(33,-67,934,823),34547=>array(30,-66,918,821),34548=>array(36,-68,938,840),34549=>array(57,-30,953,815),34550=>array(48,-66,948,827),34551=>array(60,-70,969,822),34552=>array(57,-68,939,832),34553=>array(54,-54,900,826),34554=>array(40,-68,963,838),34555=>array(44,-76,961,820),34556=>array(40,-67,948,835),34557=>array(58,-67,961,825),34558=>array(61,-55,970,835),34559=>array(43,-67,961,834),34560=>array(68,-65,913,776),34561=>array(53,-71,967,830),34562=>array(37,-59,965,847),34563=>array(85,-76,941,788),34564=>array(52,-75,970,815),34565=>array(69,-64,954,835),34566=>array(56,-67,958,809),34567=>array(60,-65,959,835),34568=>array(39,-66,961,809),34569=>array(42,-62,950,835),34570=>array(61,-62,918,832),34571=>array(52,-71,965,855),34572=>array(61,-32,962,826),34573=>array(43,-62,963,850),34574=>array(58,-71,915,815),34575=>array(49,-74,969,818),34576=>array(29,-68,926,833),34577=>array(42,-72,967,829),34578=>array(40,-66,967,813),34579=>array(32,-68,963,811),34580=>array(63,-58,912,828),34581=>array(36,-73,954,830),34582=>array(47,-71,904,815),34583=>array(51,-66,902,815),34584=>array(59,-57,909,847),34585=>array(41,-69,970,829),34586=>array(46,-67,939,824),34587=>array(61,-75,954,813),34588=>array(74,-70,931,833),34589=>array(26,-70,971,843),34590=>array(47,-67,962,832),34591=>array(42,-75,933,845),34592=>array(74,-71,918,813),34593=>array(41,-52,951,842),34594=>array(40,-25,953,813),34595=>array(36,-61,954,845),34596=>array(56,-80,948,823),34597=>array(55,-65,952,829),34598=>array(61,-65,968,828),34599=>array(71,-77,983,823),34600=>array(32,-60,956,839),34601=>array(48,-70,890,815),34602=>array(57,-62,917,831),34603=>array(59,-49,955,809),34604=>array(59,-73,903,814),34605=>array(64,-68,908,825),34606=>array(47,-66,957,837),34607=>array(53,-65,978,838),34608=>array(45,-76,973,790),34609=>array(49,-64,957,855),34610=>array(58,-85,954,818),34611=>array(58,-71,955,834),34612=>array(65,-64,911,815),34613=>array(56,-72,902,813),34614=>array(50,-68,974,842),34615=>array(40,-33,967,831),34616=>array(79,-89,951,778),34617=>array(31,-67,946,826),34618=>array(52,-52,959,851),34619=>array(47,-65,953,839),34620=>array(64,-68,950,832),34621=>array(39,-65,947,814),34622=>array(46,-62,965,811),34623=>array(45,-66,966,830),34624=>array(40,-51,974,842),34625=>array(90,-89,944,774),34626=>array(34,-69,976,817),34627=>array(54,-77,957,814),34628=>array(50,-67,915,825),34629=>array(57,-89,971,787),34630=>array(40,-69,952,819),34631=>array(29,-30,932,806),34632=>array(37,-68,877,810),34633=>array(41,-61,945,848),34634=>array(41,-66,968,846),34635=>array(41,-64,983,813),34636=>array(48,-65,951,832),34637=>array(51,-69,915,817),34638=>array(60,-58,919,836),34639=>array(56,-68,949,832),34640=>array(46,-70,903,814),34641=>array(42,-74,964,811),34642=>array(47,-71,948,815),34643=>array(40,-63,968,829),34644=>array(50,-72,957,824),34645=>array(38,-65,961,835),34646=>array(56,-29,956,829),34647=>array(39,-37,936,834),34648=>array(33,-30,944,818),34649=>array(46,-69,932,807),34650=>array(47,-73,970,814),34651=>array(48,-69,965,828),34652=>array(59,-75,965,836),34653=>array(34,-54,959,853),34654=>array(55,-70,908,814),34655=>array(51,-65,912,815),34656=>array(48,-65,948,812),34657=>array(53,-71,968,815),34658=>array(53,-78,956,815),34659=>array(50,-67,956,837),34660=>array(61,-66,965,852),34661=>array(49,-45,964,848),34662=>array(51,-68,980,834),34663=>array(47,-74,972,823),34664=>array(31,-64,952,809),34665=>array(50,-32,955,824),34666=>array(49,-66,951,815),34667=>array(43,-69,939,825),34668=>array(55,-77,976,825),34669=>array(61,-74,986,812),34670=>array(33,-64,967,845),34671=>array(44,-76,955,825),34672=>array(29,-45,960,831),34673=>array(45,-64,975,837),34674=>array(56,-67,942,831),34675=>array(51,-74,952,829),34676=>array(40,-71,899,833),34677=>array(50,-82,961,831),34678=>array(31,-62,972,842),34679=>array(45,-73,947,833),34680=>array(50,-57,918,826),34681=>array(54,-30,968,813),34682=>array(37,-70,920,834),34683=>array(37,-62,947,837),34684=>array(37,-63,932,813),34685=>array(50,-70,951,821),34686=>array(31,-65,949,823),34687=>array(47,-42,971,806),34688=>array(78,-74,956,837),34689=>array(42,-72,973,815),34690=>array(60,-59,957,831),34691=>array(46,-64,940,849),34692=>array(43,-62,948,843),34693=>array(40,-33,959,853),34694=>array(63,-63,966,837),34695=>array(49,-53,974,853),34696=>array(47,-71,953,810),34697=>array(53,-69,971,830),34698=>array(44,-64,977,843),34699=>array(39,-69,965,836),34700=>array(41,-80,956,858),34701=>array(64,-62,967,826),34702=>array(45,-73,955,827),34703=>array(47,-71,977,834),34704=>array(53,-72,952,830),34705=>array(40,-75,979,845),34706=>array(58,-75,976,834),34707=>array(49,-67,987,836),34708=>array(47,-73,976,836),34709=>array(50,-46,973,852),34710=>array(47,-67,941,813),34711=>array(39,-65,949,848),34712=>array(39,-18,943,838),34713=>array(31,-67,977,832),34714=>array(75,-73,954,852),34715=>array(33,-73,947,845),34716=>array(73,-71,966,826),34717=>array(45,-66,977,842),34718=>array(55,-60,936,836),34719=>array(36,-66,951,833),34720=>array(36,-26,957,840),34721=>array(36,-77,957,840),34722=>array(68,-66,934,839),34723=>array(29,-68,972,835),34724=>array(56,-71,987,842),34725=>array(17,-60,970,855),34726=>array(49,-65,969,831),34727=>array(49,-71,936,832),34728=>array(29,-65,921,825),34729=>array(26,-60,966,841),34730=>array(57,-70,939,837),34731=>array(54,-60,942,850),34732=>array(46,-62,957,836),34733=>array(46,-62,951,854),34734=>array(34,-57,945,836),34735=>array(39,-72,943,836),34736=>array(44,-59,961,835),34737=>array(63,-66,934,832),34738=>array(59,-21,951,826),34739=>array(54,-17,958,842),34740=>array(82,-79,967,823),34741=>array(49,-64,955,812),34742=>array(36,-77,965,816),34743=>array(49,-82,957,847),34744=>array(46,-76,950,829),34745=>array(56,-72,956,826),34746=>array(33,-73,961,835),34747=>array(49,-67,954,836),34748=>array(61,-32,955,822),34749=>array(45,-68,977,843),34750=>array(37,-78,959,840),34751=>array(50,-83,958,836),34752=>array(36,-65,949,819),34753=>array(57,-70,957,827),34754=>array(56,-67,965,841),34755=>array(51,-73,975,818),34756=>array(55,-65,965,834),34757=>array(56,-70,966,831),34758=>array(38,-65,966,834),34759=>array(57,-87,954,835),34760=>array(51,-64,912,809),34761=>array(40,-59,969,834),34762=>array(57,-67,957,787),34763=>array(30,-34,949,828),34764=>array(52,-31,968,832),34765=>array(34,-81,958,811),34766=>array(34,-67,947,829),34767=>array(42,-80,984,825),34768=>array(54,-64,934,839),34769=>array(59,-61,967,852),34770=>array(46,-65,956,833),34771=>array(33,-64,970,841),34772=>array(44,-71,960,815),34773=>array(54,-70,940,831),34774=>array(49,-67,954,836),34775=>array(57,-80,938,834),34776=>array(49,-68,962,844),34777=>array(43,-71,958,838),34778=>array(57,-80,961,820),34779=>array(41,-64,961,832),34780=>array(50,-68,962,838),34781=>array(48,-66,959,846),34782=>array(89,-83,954,825),34783=>array(43,-68,952,835),34784=>array(33,-66,951,835),34785=>array(56,-71,920,837),34786=>array(51,-68,957,832),34787=>array(36,-66,960,833),34788=>array(34,-73,943,806),34789=>array(53,-68,965,847),34790=>array(51,-74,965,827),34791=>array(52,-68,949,833),34792=>array(53,-71,954,790),34793=>array(51,-70,982,821),34794=>array(44,-50,977,815),34795=>array(52,-66,953,813),34796=>array(56,-58,955,823),34797=>array(43,-68,945,834),34798=>array(30,-71,936,833),34799=>array(43,-66,957,832),34800=>array(31,-72,961,835),34801=>array(51,-69,961,836),34802=>array(60,-64,975,840),34803=>array(43,-75,945,818),34804=>array(49,-74,959,830),34805=>array(30,-71,948,807),34806=>array(41,-30,935,814),34807=>array(49,-64,915,829),34808=>array(36,-64,975,819),34809=>array(45,-71,948,851),34810=>array(52,-27,953,831),34811=>array(42,-73,947,850),34812=>array(49,-74,951,830),34813=>array(46,-57,950,833),34814=>array(43,-68,958,855),34815=>array(40,-56,955,843),34816=>array(51,-70,953,839),34817=>array(55,-76,941,841),34818=>array(43,-65,975,828),34819=>array(41,-68,957,849),34820=>array(37,-53,974,861),34821=>array(46,-48,957,819),34822=>array(66,-72,962,833),34823=>array(62,-66,958,832),34824=>array(52,-71,961,828),34825=>array(43,-71,969,820),34826=>array(34,-67,946,851),34827=>array(52,-66,924,817),34828=>array(42,-62,940,820),34829=>array(40,-75,977,824),34830=>array(46,-65,956,833),34831=>array(43,-61,948,847),34832=>array(41,-64,968,849),34833=>array(37,-65,965,839),34834=>array(48,-75,957,802),34835=>array(47,-60,961,835),34836=>array(50,-59,966,846),34837=>array(56,-59,943,829),34838=>array(34,-65,976,832),34839=>array(40,-66,951,806),34840=>array(34,-59,974,842),34841=>array(39,-69,965,842),34842=>array(53,-71,942,840),34843=>array(44,-64,961,839),34844=>array(38,-87,979,834),34845=>array(52,-70,929,784),34846=>array(56,-86,949,838),34847=>array(32,-60,961,848),34848=>array(53,-71,944,786),34849=>array(52,-64,957,844),34850=>array(55,-62,972,858),34851=>array(50,-65,948,818),34852=>array(67,-69,969,853),34853=>array(63,-75,944,846),34854=>array(45,-71,956,827),34855=>array(54,-67,967,844),34856=>array(42,-55,965,842),34857=>array(64,-71,964,823),34858=>array(71,-75,962,845),34859=>array(65,-77,969,831),34860=>array(40,-68,950,839),34861=>array(54,-79,967,854),34862=>array(35,-73,975,802),34863=>array(40,-70,954,844),34864=>array(30,-66,975,846),34865=>array(46,-33,957,833),34866=>array(57,-63,929,842),34867=>array(34,-78,953,806),34868=>array(55,-68,942,826),34869=>array(47,-65,949,828),34870=>array(50,-76,965,793),34871=>array(46,-64,946,807),34872=>array(36,-67,941,826),34873=>array(54,-67,967,844),34874=>array(50,-88,965,809),34875=>array(62,-77,944,830),34876=>array(48,-68,986,819),34877=>array(41,-73,966,829),34878=>array(47,-71,924,815),34879=>array(89,-73,946,847),34880=>array(55,-11,954,806),34881=>array(59,-14,955,846),34882=>array(34,-60,971,811),34883=>array(43,-70,968,833),34884=>array(20,-15,947,834),34885=>array(25,-45,949,853),34886=>array(49,-64,958,836),34887=>array(37,-68,971,836),34888=>array(40,-69,955,832),34889=>array(34,-61,982,849),34890=>array(31,-68,957,830),34891=>array(63,-57,941,842),34892=>array(51,-62,941,845),34893=>array(41,-68,954,827),34894=>array(53,-67,960,829),34895=>array(50,-68,948,829),34896=>array(53,-66,960,829),34897=>array(53,-66,960,829),34898=>array(47,-65,954,835),34899=>array(39,-73,951,824),34900=>array(29,-68,923,828),34901=>array(46,-65,952,833),34902=>array(49,-69,960,833),34903=>array(41,-72,951,831),34904=>array(24,-66,960,853),34905=>array(40,-65,959,831),34906=>array(46,-70,953,825),34907=>array(37,-65,955,839),34908=>array(34,-66,960,816),34909=>array(38,-68,953,835),34910=>array(35,-70,943,831),34911=>array(39,-66,954,841),34912=>array(24,-72,936,839),34913=>array(33,-69,945,835),34914=>array(37,-65,956,837),34915=>array(38,-68,944,826),34916=>array(266,-66,677,819),34917=>array(40,-69,954,843),34918=>array(41,-50,963,842),34919=>array(41,-67,958,844),34920=>array(52,-75,953,835),34921=>array(34,-67,971,843),34922=>array(35,-64,954,843),34923=>array(42,-68,957,830),34924=>array(32,-60,917,839),34925=>array(35,-61,973,841),34926=>array(54,-73,963,845),34927=>array(45,-74,973,845),34928=>array(37,-70,960,832),34929=>array(50,-76,963,844),34930=>array(23,-69,879,803),34931=>array(33,-65,955,831),34932=>array(54,-75,964,842),34933=>array(46,-53,909,805),34934=>array(62,-67,932,844),34935=>array(42,-73,960,829),34936=>array(50,-63,946,837),34937=>array(50,-67,956,838),34938=>array(47,-68,960,850),34939=>array(61,-67,966,838),34940=>array(50,-70,976,850),34941=>array(39,-67,946,810),34942=>array(37,-62,955,858),34943=>array(36,-65,970,848),34944=>array(60,-71,930,838),34945=>array(67,-62,967,833),34946=>array(32,-66,964,832),34947=>array(30,-73,984,823),34948=>array(16,-76,940,837),34949=>array(49,-59,950,829),34950=>array(48,-67,906,842),34951=>array(48,-78,956,842),34952=>array(48,-67,959,831),34953=>array(48,-67,957,842),34954=>array(48,-77,949,842),34955=>array(44,-69,962,837),34956=>array(44,-69,956,851),34957=>array(42,-67,960,839),34958=>array(37,-75,914,845),34959=>array(44,-60,964,845),34960=>array(29,-62,970,845),34961=>array(50,-72,894,840),34962=>array(47,-65,951,828),34963=>array(45,-68,956,844),34964=>array(48,-67,953,842),34965=>array(51,-74,966,841),34966=>array(46,-68,899,827),34967=>array(39,-52,972,853),34968=>array(47,-65,957,843),34969=>array(47,-72,892,848),34970=>array(31,-62,967,847),34971=>array(39,-58,960,850),34972=>array(28,-56,970,847),34973=>array(39,-70,941,848),34974=>array(52,-58,961,840),34975=>array(47,-80,966,838),34976=>array(50,-67,961,846),34977=>array(52,-68,954,841),34978=>array(43,-65,954,838),34979=>array(54,-61,964,848),34980=>array(47,-62,960,845),34981=>array(54,-62,948,848),34982=>array(54,-65,916,848),34983=>array(54,-71,914,848),34984=>array(52,-62,947,844),34985=>array(54,-66,951,848),34986=>array(46,-65,955,842),34987=>array(36,-69,962,838),34988=>array(44,-68,964,849),34989=>array(29,-63,942,840),34990=>array(54,-61,944,856),34991=>array(54,-74,945,848),34992=>array(61,-67,945,811),34993=>array(33,-74,971,834),34994=>array(51,-79,960,854),34995=>array(41,-70,935,848),34996=>array(36,-63,982,842),34997=>array(46,-55,954,833),34998=>array(38,-67,972,844),34999=>array(36,-63,966,850),35000=>array(44,-70,954,836),35001=>array(41,-70,951,842),35002=>array(42,-72,950,844),35003=>array(33,-70,954,842),35004=>array(50,-71,977,841),35005=>array(47,-55,904,852),35006=>array(28,-55,965,844),35007=>array(41,-65,959,838),35008=>array(36,-57,916,842),35009=>array(42,-66,957,840),35010=>array(44,-73,955,828),35011=>array(41,-65,913,835),35012=>array(41,-67,964,840),35013=>array(45,-68,959,830),35014=>array(28,-66,864,822),35015=>array(46,-53,972,855),35016=>array(41,-65,948,842),35017=>array(39,-71,966,842),35018=>array(46,-64,958,852),35019=>array(37,-67,964,834),35020=>array(37,-72,966,846),35021=>array(38,-65,908,842),35022=>array(48,-65,956,847),35023=>array(43,-75,955,840),35024=>array(28,-68,915,842),35025=>array(41,-65,950,842),35026=>array(55,-61,967,850),35027=>array(41,-65,957,842),35028=>array(35,-67,942,845),35029=>array(44,-69,969,833),35030=>array(30,-71,980,840),35031=>array(37,-73,960,840),35032=>array(51,-55,963,832),35033=>array(42,-74,948,823),35034=>array(40,-74,969,830),35035=>array(46,-70,969,838),35036=>array(32,-63,946,834),35037=>array(57,-60,957,832),35038=>array(35,-65,959,841),35039=>array(33,-67,948,833),35040=>array(33,-82,948,786),35041=>array(41,-64,954,821),35042=>array(20,-69,935,815),35043=>array(23,-68,956,832),35044=>array(29,-60,931,840),35045=>array(24,-68,886,822),35046=>array(36,-79,957,841),35047=>array(45,-76,966,840),35048=>array(31,-68,941,849),35049=>array(31,-68,949,842),35050=>array(41,-66,917,842),35051=>array(47,-71,903,842),35052=>array(49,-72,973,839),35053=>array(31,-68,949,842),35054=>array(54,-70,905,840),35055=>array(36,-65,906,844),35056=>array(36,-67,971,838),35057=>array(34,-65,975,843),35058=>array(46,-71,948,823),35059=>array(45,-68,956,836),35060=>array(35,-63,958,830),35061=>array(47,-74,948,832),35062=>array(45,-70,955,840),35063=>array(47,-65,973,838),35064=>array(40,-71,973,822),35065=>array(68,-59,967,842),35066=>array(41,-70,966,837),35067=>array(41,-75,956,824),35068=>array(53,-64,928,823),35069=>array(28,-79,972,842),35070=>array(35,-68,957,825),35071=>array(53,-64,954,845),35072=>array(42,-72,963,843),35073=>array(42,-69,960,785),35074=>array(34,-66,968,833),35075=>array(34,-70,930,837),35076=>array(34,-66,938,835),35077=>array(51,-72,957,839),35078=>array(41,-73,968,837),35079=>array(36,-67,962,845),35080=>array(40,-63,956,840),35081=>array(43,-75,972,835),35082=>array(38,-70,906,823),35083=>array(53,-68,975,841),35084=>array(36,-65,952,823),35085=>array(34,-67,956,837),35086=>array(38,-73,976,847),35087=>array(38,-56,957,855),35088=>array(36,-63,924,834),35089=>array(50,-75,977,838),35090=>array(56,-73,972,842),35091=>array(32,-65,964,836),35092=>array(47,-71,952,842),35093=>array(45,-66,965,840),35094=>array(54,-70,978,837),35095=>array(44,-64,946,840),35096=>array(34,-58,954,838),35097=>array(30,-64,965,837),35098=>array(46,-64,959,841),35099=>array(23,-62,929,821),35100=>array(31,-80,971,836),35101=>array(38,-73,940,833),35102=>array(35,-68,968,820),35103=>array(39,-70,915,842),35104=>array(23,-65,954,829),35105=>array(45,-61,956,838),35106=>array(37,-75,978,839),35107=>array(48,-72,987,836),35108=>array(23,-60,977,833),35109=>array(42,-70,953,820),35110=>array(32,-55,970,855),35111=>array(24,-54,972,846),35112=>array(35,-57,933,847),35113=>array(31,-76,970,843),35114=>array(26,-73,967,820),35115=>array(19,-70,951,838),35116=>array(53,-70,993,835),35117=>array(47,-79,964,856),35118=>array(39,-71,976,833),35119=>array(41,-72,945,841),35120=>array(36,-65,974,846),35121=>array(51,-75,974,846),35122=>array(30,-69,947,845),35123=>array(30,-65,965,837),35124=>array(12,-68,918,821),35125=>array(31,-55,947,855),35126=>array(34,-65,910,817),35127=>array(42,-75,973,833),35128=>array(36,-66,945,842),35129=>array(23,-70,971,823),35130=>array(56,-68,972,840),35131=>array(54,-60,955,843),35132=>array(42,-70,971,833),35133=>array(56,-72,972,832),35134=>array(45,-67,957,850),35135=>array(23,-69,942,828),35136=>array(41,-74,947,833),35137=>array(17,-68,965,819),35138=>array(31,-59,973,853),35139=>array(56,-56,949,840),35140=>array(49,-58,955,843),35141=>array(32,-68,948,833),35142=>array(40,-67,972,844),35143=>array(51,-67,924,842),35144=>array(23,-69,955,821),35145=>array(39,-64,911,837),35146=>array(23,-66,962,821),35147=>array(33,-67,973,837),35148=>array(39,-63,950,817),35149=>array(36,-68,966,832),35150=>array(23,-67,964,833),35151=>array(40,-72,963,839),35152=>array(46,-66,958,838),35153=>array(42,-67,952,843),35154=>array(41,-76,970,831),35155=>array(30,-70,954,832),35156=>array(23,-67,951,831),35157=>array(26,-59,937,831),35158=>array(35,-66,971,846),35159=>array(51,-68,956,835),35160=>array(43,-67,969,837),35161=>array(46,-67,972,838),35162=>array(44,-66,980,845),35163=>array(40,-64,978,844),35164=>array(31,-68,954,846),35165=>array(26,-64,983,858),35166=>array(47,-53,974,835),35167=>array(36,-66,971,834),35168=>array(43,-65,928,835),35169=>array(52,-67,924,835),35170=>array(27,-55,947,856),35171=>array(44,-66,964,846),35172=>array(35,-68,952,836),35173=>array(20,-104,957,841),35174=>array(35,-64,959,836),35175=>array(39,-64,973,843),35176=>array(23,-66,969,825),35177=>array(43,-82,960,839),35178=>array(31,-65,958,829),35179=>array(41,-74,971,835),35180=>array(28,-55,958,845),35181=>array(36,-81,966,831),35182=>array(36,-73,994,831),35183=>array(33,-76,966,826),35184=>array(23,-72,977,846),35185=>array(39,-70,964,840),35186=>array(51,-65,948,841),35187=>array(27,-70,974,831),35188=>array(29,-62,912,826),35189=>array(29,-76,955,843),35190=>array(22,-65,973,835),35191=>array(34,-65,969,825),35192=>array(31,-66,978,831),35193=>array(31,-66,980,831),35194=>array(34,-62,948,834),35195=>array(31,-59,968,849),35196=>array(29,-60,967,841),35197=>array(29,-64,942,841),35198=>array(71,-63,945,782),35199=>array(73,-53,929,772),35200=>array(85,374,935,781),35201=>array(52,-69,935,781),35202=>array(74,-70,971,782),35203=>array(59,-63,955,788),35204=>array(64,-70,938,788),35205=>array(53,-66,930,836),35206=>array(55,-69,963,818),35207=>array(63,-70,937,818),35208=>array(48,-73,967,802),35209=>array(60,-68,950,804),35210=>array(54,-53,934,811),35211=>array(58,-74,944,783),35212=>array(18,-65,948,784),35213=>array(64,-60,935,830),35214=>array(52,-39,956,787),35215=>array(43,-59,954,812),35216=>array(38,-56,957,818),35217=>array(42,-58,956,836),35218=>array(51,-62,956,822),35219=>array(51,-71,960,837),35220=>array(64,-65,944,791),35221=>array(42,-64,956,828),35222=>array(39,-63,959,834),35223=>array(58,-69,953,780),35224=>array(96,-62,938,829),35225=>array(51,-62,946,848),35226=>array(37,-65,908,816),35227=>array(36,-70,966,828),35228=>array(36,-70,954,826),35229=>array(50,-72,962,780),35230=>array(37,-70,961,773),35231=>array(45,-71,962,824),35232=>array(32,-62,971,796),35233=>array(38,-71,967,774),35234=>array(49,-71,968,829),35235=>array(41,-71,966,824),35236=>array(36,-70,969,835),35237=>array(33,-60,971,836),35238=>array(32,-72,971,827),35239=>array(47,-63,960,838),35240=>array(71,-59,963,789),35241=>array(31,-69,963,825),35242=>array(46,-70,957,826),35243=>array(17,-79,957,825),35244=>array(39,-79,950,835),35245=>array(52,-61,965,785),35246=>array(66,-70,937,824),35247=>array(62,-74,977,829),35248=>array(32,-74,978,835),35249=>array(64,-58,939,828),35250=>array(52,-68,974,835),35251=>array(39,-60,970,841),35252=>array(29,-75,972,828),35253=>array(104,-74,975,791),35254=>array(50,-70,962,837),35255=>array(32,-71,966,835),35256=>array(104,-74,975,791),35257=>array(33,-66,963,832),35258=>array(64,-65,935,840),35259=>array(22,-76,987,835),35260=>array(18,-76,966,789),35261=>array(47,-63,960,840),35262=>array(37,-74,967,834),35263=>array(44,-75,967,835),35264=>array(35,-70,960,827),35265=>array(24,-56,921,784),35266=>array(18,-61,932,792),35267=>array(25,-55,971,792),35268=>array(26,-56,932,826),35269=>array(29,-51,934,827),35270=>array(31,-72,937,818),35271=>array(98,-67,941,813),35272=>array(39,-59,913,838),35273=>array(28,-60,920,816),35274=>array(70,-78,938,810),35275=>array(22,-69,936,771),35276=>array(43,-73,931,819),35277=>array(37,-85,973,836),35278=>array(32,-81,938,822),35279=>array(52,-72,933,818),35280=>array(29,-64,936,819),35281=>array(25,-75,942,817),35282=>array(69,-60,863,849),35283=>array(45,-70,886,842),35284=>array(60,-57,924,849),35285=>array(59,-56,911,851),35286=>array(40,-67,979,847),35287=>array(38,-62,975,838),35288=>array(24,-68,959,845),35289=>array(41,-79,963,852),35290=>array(33,-67,975,842),35291=>array(52,-68,954,841),35292=>array(28,-68,937,835),35293=>array(33,-56,962,857),35294=>array(18,-65,913,834),35295=>array(25,-67,955,828),35296=>array(42,-59,972,836),35297=>array(33,-70,989,831),35298=>array(40,-61,900,830),35299=>array(52,-67,949,834),35300=>array(28,-87,963,828),35301=>array(38,-71,969,836),35302=>array(36,-71,962,834),35303=>array(46,-66,934,843),35304=>array(32,-73,966,824),35305=>array(38,-71,967,828),35306=>array(46,-66,938,850),35307=>array(42,-68,974,839),35308=>array(34,-74,960,825),35309=>array(44,-71,955,841),35310=>array(54,-67,962,842),35311=>array(19,-67,922,834),35312=>array(44,-70,951,836),35313=>array(38,-69,965,842),35314=>array(29,-70,954,831),35315=>array(38,-67,981,829),35316=>array(41,-67,962,848),35317=>array(46,-70,935,842),35318=>array(44,-78,967,829),35319=>array(60,-65,930,830),35320=>array(63,-74,926,833),35321=>array(29,-71,960,841),35322=>array(54,-64,965,831),35323=>array(38,-70,975,835),35324=>array(38,-73,975,841),35325=>array(44,-71,959,841),35326=>array(33,-64,973,836),35327=>array(44,-52,955,850),35328=>array(84,-64,916,819),35329=>array(261,-47,747,842),35330=>array(60,-61,955,817),35331=>array(60,-65,951,829),35332=>array(33,-66,966,836),35333=>array(60,-58,967,842),35334=>array(69,-67,876,842),35335=>array(77,-61,909,840),35336=>array(51,-64,954,835),35337=>array(60,-45,948,847),35338=>array(60,-62,959,817),35339=>array(60,-55,914,847),35340=>array(65,-47,948,790),35341=>array(65,-50,946,844),35342=>array(60,-69,949,830),35343=>array(68,-68,964,834),35344=>array(65,-64,955,792),35345=>array(46,-34,963,853),35346=>array(63,-53,904,817),35347=>array(60,-68,902,829),35348=>array(85,-64,928,824),35349=>array(79,-56,912,846),35350=>array(60,-55,960,835),35351=>array(60,-61,957,834),35352=>array(60,-61,957,823),35353=>array(64,-56,964,848),35354=>array(116,-57,874,823),35355=>array(58,-62,954,840),35356=>array(60,-44,968,843),35357=>array(60,-62,948,793),35358=>array(63,-73,976,839),35359=>array(59,-58,964,815),35360=>array(60,-61,899,843),35361=>array(60,-66,963,843),35362=>array(63,-73,960,831),35363=>array(62,-69,955,829),35364=>array(60,-65,934,846),35365=>array(71,-71,907,796),35366=>array(60,-50,950,843),35367=>array(66,-69,963,841),35368=>array(60,-44,954,843),35369=>array(76,-58,930,840),35370=>array(60,-62,945,824),35371=>array(60,-44,960,843),35372=>array(72,-77,972,836),35373=>array(60,-63,975,817),35374=>array(60,-65,952,843),35375=>array(60,-69,982,843),35376=>array(65,-41,957,842),35377=>array(60,-64,949,837),35378=>array(60,-66,891,852),35379=>array(60,-62,964,817),35380=>array(56,-67,956,837),35381=>array(60,-46,917,843),35382=>array(59,-62,961,793),35383=>array(60,-62,901,838),35384=>array(60,-71,948,843),35385=>array(62,-68,951,844),35386=>array(56,-72,965,844),35387=>array(60,-61,947,829),35388=>array(53,-57,950,817),35389=>array(60,-52,921,846),35390=>array(64,-67,958,827),35391=>array(57,-44,964,839),35392=>array(59,-55,951,844),35393=>array(60,-65,953,826),35394=>array(60,-66,964,843),35395=>array(60,-65,982,843),35396=>array(57,-74,966,845),35397=>array(56,-76,976,839),35398=>array(56,-60,961,835),35399=>array(60,-58,978,843),35400=>array(74,-65,942,820),35401=>array(51,-71,977,843),35402=>array(63,-70,952,837),35403=>array(60,-44,957,843),35404=>array(58,-70,948,836),35405=>array(58,-47,947,844),35406=>array(62,-48,954,843),35407=>array(59,-73,911,848),35408=>array(60,-61,951,841),35409=>array(60,-61,952,824),35410=>array(60,-63,952,830),35411=>array(60,-51,963,843),35412=>array(60,-62,905,817),35413=>array(53,-65,956,817),35414=>array(51,-74,972,834),35415=>array(56,-61,903,841),35416=>array(78,-67,920,833),35417=>array(65,-76,965,843),35418=>array(60,-44,963,843),35419=>array(60,-50,964,793),35420=>array(42,-64,971,837),35421=>array(60,-62,925,843),35422=>array(60,-64,909,817),35423=>array(35,-69,972,846),35424=>array(52,-63,965,844),35425=>array(77,-52,914,841),35426=>array(62,-60,910,836),35427=>array(60,-63,958,831),35428=>array(54,-66,966,832),35429=>array(51,-65,977,853),35430=>array(60,-61,963,829),35431=>array(51,-60,957,839),35432=>array(52,-74,971,831),35433=>array(60,-61,954,838),35434=>array(60,-64,964,844),35435=>array(53,-57,961,829),35436=>array(69,-78,951,818),35437=>array(62,-61,954,846),35438=>array(49,-55,955,830),35439=>array(60,-70,899,843),35440=>array(50,-58,945,829),35441=>array(53,-64,958,834),35442=>array(53,-63,954,824),35443=>array(60,-65,954,843),35444=>array(58,-68,951,840),35445=>array(55,-73,963,826),35446=>array(57,-71,905,848),35447=>array(60,-65,904,837),35448=>array(61,-67,974,849),35449=>array(45,-76,914,842),35450=>array(61,-72,914,841),35451=>array(57,-67,966,836),35452=>array(52,-57,954,833),35453=>array(61,-69,956,840),35454=>array(47,-62,925,842),35455=>array(63,-55,954,831),35456=>array(53,-65,946,842),35457=>array(57,-69,951,838),35458=>array(57,-67,957,830),35459=>array(62,-65,916,840),35460=>array(59,-68,981,830),35461=>array(58,-65,977,836),35462=>array(62,-53,957,838),35463=>array(60,-62,978,843),35464=>array(61,-52,957,849),35465=>array(42,-67,958,842),35466=>array(30,-60,954,832),35467=>array(51,-70,967,832),35468=>array(53,-59,964,820),35469=>array(53,-48,964,813),35470=>array(61,-65,976,849),35471=>array(60,-73,982,841),35472=>array(61,-59,970,849),35473=>array(63,-53,957,817),35474=>array(57,-74,986,839),35475=>array(64,-71,936,839),35476=>array(64,-67,967,840),35477=>array(58,-66,963,819),35478=>array(62,-50,956,846),35479=>array(61,-65,936,849),35480=>array(53,-69,975,828),35481=>array(65,-68,961,843),35482=>array(67,-70,926,835),35483=>array(61,-61,970,849),35484=>array(61,-67,968,849),35485=>array(61,-71,972,849),35486=>array(49,-68,949,815),35487=>array(61,-68,957,849),35488=>array(52,-70,961,833),35489=>array(58,-63,964,837),35490=>array(61,-52,958,849),35491=>array(59,-48,954,797),35492=>array(59,-62,944,815),35493=>array(50,-65,945,831),35494=>array(60,-64,895,793),35495=>array(59,-66,953,826),35496=>array(62,-68,954,845),35497=>array(61,-56,948,851),35498=>array(57,-71,964,816),35499=>array(59,-68,967,842),35500=>array(59,-57,956,848),35501=>array(53,-57,966,829),35502=>array(61,-66,964,849),35503=>array(61,-62,932,849),35504=>array(54,-70,952,837),35505=>array(61,-72,962,849),35506=>array(56,-61,970,817),35507=>array(61,-77,932,849),35508=>array(61,-63,977,850),35509=>array(61,-64,968,855),35510=>array(69,-68,974,842),35511=>array(61,-67,939,849),35512=>array(60,-63,955,837),35513=>array(53,-68,954,829),35514=>array(59,-68,977,836),35515=>array(59,-69,967,834),35516=>array(53,-57,958,827),35517=>array(60,-61,965,837),35518=>array(119,-68,903,804),35519=>array(53,-62,915,817),35520=>array(54,-68,950,843),35521=>array(61,-62,963,843),35522=>array(58,-68,897,838),35523=>array(57,-70,970,832),35524=>array(56,-62,959,835),35525=>array(50,-71,963,831),35526=>array(55,-80,952,833),35527=>array(63,-67,962,841),35528=>array(54,-47,963,843),35529=>array(62,-65,958,843),35530=>array(61,-66,937,849),35531=>array(53,-65,956,835),35532=>array(53,-64,974,835),35533=>array(56,-61,956,836),35534=>array(61,-64,960,849),35535=>array(51,-68,969,817),35536=>array(26,-58,946,836),35537=>array(56,-64,978,833),35538=>array(53,-60,960,830),35539=>array(63,-62,959,840),35540=>array(60,-69,975,838),35541=>array(60,-70,959,833),35542=>array(55,-63,973,849),35543=>array(63,-55,986,843),35544=>array(63,-73,980,839),35545=>array(58,-70,963,834),35546=>array(61,-53,983,824),35547=>array(53,-74,975,832),35548=>array(53,-64,971,830),35549=>array(59,-68,973,839),35550=>array(71,-72,928,794),35551=>array(55,-60,967,814),35552=>array(50,-42,947,837),35553=>array(54,-37,973,816),35554=>array(49,-67,954,793),35555=>array(49,-67,914,840),35556=>array(55,-59,951,793),35557=>array(55,-44,947,842),35558=>array(51,-67,946,826),35559=>array(56,-65,951,832),35560=>array(54,-67,927,840),35561=>array(55,-43,936,845),35562=>array(54,-73,949,833),35563=>array(48,-67,964,833),35564=>array(29,-69,953,852),35565=>array(48,-68,970,852),35566=>array(53,-64,965,845),35567=>array(61,-61,955,838),35568=>array(56,-48,971,833),35569=>array(58,-62,951,842),35570=>array(68,-45,959,836),35571=>array(57,-64,947,844),35572=>array(42,-60,945,837),35573=>array(55,-56,953,846),35574=>array(65,-82,957,818),35575=>array(51,-69,964,797),35576=>array(59,-66,948,835),35577=>array(59,-48,947,842),35578=>array(54,-71,952,830),35579=>array(59,-43,953,844),35580=>array(68,-70,981,839),35581=>array(59,-68,947,842),35582=>array(53,-65,949,836),35583=>array(53,-69,950,835),35584=>array(53,-69,969,829),35585=>array(62,-60,926,816),35586=>array(60,-64,911,823),35587=>array(63,-42,959,842),35588=>array(40,-72,967,840),35589=>array(58,-63,914,841),35590=>array(56,-61,919,872),35591=>array(31,-65,970,843),35592=>array(35,-67,969,793),35593=>array(64,-56,984,851),35594=>array(56,-63,961,840),35595=>array(75,-71,987,834),35596=>array(69,-60,954,804),35597=>array(108,-71,902,823),35598=>array(79,-70,956,836),35599=>array(60,-60,958,843),35600=>array(66,-55,968,827),35601=>array(57,-74,957,842),35602=>array(61,-68,963,838),35603=>array(60,-73,960,842),35604=>array(62,-68,954,833),35605=>array(57,-72,959,836),35606=>array(50,-66,968,793),35607=>array(59,-69,951,816),35608=>array(57,-71,952,838),35609=>array(64,-64,978,843),35610=>array(54,-57,961,804),35611=>array(55,-65,952,826),35612=>array(57,-66,962,845),35613=>array(53,-66,951,844),35614=>array(59,-68,930,832),35615=>array(51,-57,926,848),35616=>array(59,-58,957,842),35617=>array(53,-64,952,829),35618=>array(62,-73,972,841),35619=>array(58,-68,953,837),35620=>array(59,-69,955,833),35621=>array(56,-53,968,831),35622=>array(45,-66,958,845),35623=>array(59,-66,954,838),35624=>array(63,-68,984,823),35625=>array(33,-72,976,841),35626=>array(62,-67,956,838),35627=>array(55,-70,951,838),35628=>array(60,-72,947,795),35629=>array(55,-73,947,838),35630=>array(52,-77,958,842),35631=>array(42,-49,945,849),35632=>array(61,-71,964,835),35633=>array(53,-75,948,842),35634=>array(53,-73,970,848),35635=>array(60,-85,957,793),35636=>array(60,-68,951,847),35637=>array(81,-68,922,835),35638=>array(45,-61,960,837),35639=>array(63,-60,964,839),35640=>array(66,-79,974,834),35641=>array(60,-50,953,830),35642=>array(69,-81,958,837),35643=>array(71,-72,938,836),35644=>array(56,-78,946,833),35645=>array(79,-68,940,841),35646=>array(68,-60,983,813),35647=>array(60,-75,942,847),35648=>array(56,-70,968,842),35649=>array(54,-64,954,834),35650=>array(68,-68,956,840),35651=>array(60,-48,961,847),35652=>array(60,-63,918,847),35653=>array(54,-44,946,839),35654=>array(34,-70,943,825),35655=>array(60,-66,972,841),35656=>array(54,-74,972,841),35657=>array(59,-53,956,830),35658=>array(56,-69,950,839),35659=>array(75,-60,922,846),35660=>array(51,-79,968,852),35661=>array(42,-71,944,851),35662=>array(62,-64,941,798),35663=>array(57,-67,972,833),35664=>array(56,-65,954,845),35665=>array(60,-62,965,844),35666=>array(50,-57,970,848),35667=>array(73,-46,977,827),35668=>array(48,-58,951,846),35669=>array(58,-67,955,844),35670=>array(55,-67,960,824),35671=>array(66,-59,959,841),35672=>array(51,-68,959,833),35673=>array(60,-71,971,835),35674=>array(49,-67,954,813),35675=>array(60,-49,966,838),35676=>array(53,-61,952,843),35677=>array(52,-50,966,840),35678=>array(60,-66,976,847),35679=>array(53,-50,969,800),35680=>array(63,-55,960,837),35681=>array(60,-65,945,847),35682=>array(60,-63,978,847),35683=>array(42,-70,970,847),35684=>array(60,-66,985,847),35685=>array(40,-67,979,845),35686=>array(55,-77,944,824),35687=>array(48,-66,967,838),35688=>array(57,-73,977,839),35689=>array(63,-48,966,844),35690=>array(57,-68,948,834),35691=>array(64,-76,962,839),35692=>array(66,-60,961,830),35693=>array(51,-59,973,846),35694=>array(60,-68,985,848),35695=>array(53,-64,939,795),35696=>array(54,-63,962,850),35697=>array(36,-86,955,843),35698=>array(52,-79,973,837),35699=>array(60,-59,953,847),35700=>array(60,-63,967,836),35701=>array(63,-68,959,847),35702=>array(36,-66,955,847),35703=>array(53,-59,971,837),35704=>array(63,-61,964,840),35705=>array(53,-68,977,836),35706=>array(54,-74,967,831),35707=>array(83,-63,936,790),35708=>array(83,-74,936,841),35709=>array(31,-64,971,832),35710=>array(60,-55,956,858),35711=>array(57,-46,965,823),35712=>array(59,-71,961,835),35713=>array(39,-60,961,847),35714=>array(61,-71,959,835),35715=>array(51,-69,959,836),35716=>array(76,-63,920,840),35717=>array(55,-69,973,840),35718=>array(40,-71,955,839),35719=>array(60,-60,923,847),35720=>array(55,-70,971,828),35721=>array(61,-61,953,842),35722=>array(50,-70,960,840),35723=>array(66,-48,953,860),35724=>array(52,-66,968,838),35725=>array(60,-48,938,847),35726=>array(23,-62,952,845),35727=>array(40,-71,955,854),35728=>array(41,-71,944,842),35729=>array(60,-52,969,847),35730=>array(52,-65,961,842),35731=>array(59,-66,957,845),35732=>array(49,-63,967,842),35733=>array(62,-62,900,839),35734=>array(58,-59,960,834),35735=>array(60,-67,951,839),35736=>array(58,-67,960,831),35737=>array(53,-52,949,842),35738=>array(56,-60,959,851),35739=>array(74,-60,957,847),35740=>array(59,-79,967,833),35741=>array(62,-67,956,847),35742=>array(53,-70,968,835),35743=>array(55,-61,949,840),35744=>array(308,-19,665,809),35745=>array(74,-66,937,840),35746=>array(69,-65,926,826),35747=>array(62,-67,953,840),35748=>array(72,-62,958,826),35749=>array(59,-58,960,812),35750=>array(52,-66,922,810),35751=>array(49,13,913,814),35752=>array(75,-70,932,828),35753=>array(66,-22,929,818),35754=>array(50,-58,878,826),35755=>array(70,-29,943,838),35756=>array(68,-30,944,836),35757=>array(65,-74,889,826),35758=>array(49,-71,968,806),35759=>array(68,-57,958,826),35760=>array(80,-28,946,834),35761=>array(61,-60,890,836),35762=>array(56,-68,916,829),35763=>array(49,-58,916,830),35764=>array(61,-11,933,807),35765=>array(47,-25,917,820),35766=>array(49,-64,914,808),35767=>array(62,-61,901,829),35768=>array(64,-65,936,836),35769=>array(62,-64,930,836),35770=>array(52,-30,964,828),35771=>array(50,-65,906,832),35772=>array(56,-59,936,784),35773=>array(54,-61,975,811),35774=>array(54,-54,946,804),35775=>array(71,-71,931,847),35776=>array(74,-71,931,835),35777=>array(59,-22,938,797),35778=>array(67,-66,936,823),35779=>array(67,-64,944,826),35780=>array(78,-67,942,836),35781=>array(53,-29,927,790),35782=>array(49,-54,951,811),35783=>array(58,-60,909,836),35784=>array(69,-69,931,839),35785=>array(69,-69,946,834),35786=>array(69,-74,960,846),35787=>array(62,-64,938,830),35788=>array(66,-54,873,820),35789=>array(51,-61,888,826),35790=>array(56,-69,892,826),35791=>array(49,-56,888,823),35792=>array(43,-71,970,832),35793=>array(63,-60,954,817),35794=>array(63,-60,940,837),35795=>array(58,-26,938,826),35796=>array(56,-71,957,828),35797=>array(57,-61,944,825),35798=>array(63,-27,925,820),35799=>array(41,-62,944,834),35800=>array(67,-66,928,826),35801=>array(56,-59,958,826),35802=>array(47,-57,956,835),35803=>array(57,-68,938,830),35804=>array(43,-75,947,823),35805=>array(72,-65,941,830),35806=>array(62,-66,951,815),35807=>array(53,-79,920,816),35808=>array(62,-19,942,836),35809=>array(71,-63,937,844),35810=>array(61,-62,903,834),35811=>array(57,-69,937,828),35812=>array(68,-58,932,835),35813=>array(69,-79,949,838),35814=>array(59,-67,913,842),35815=>array(61,-25,932,852),35816=>array(60,-58,947,812),35817=>array(54,-54,885,818),35818=>array(76,-57,952,836),35819=>array(76,-65,942,840),35820=>array(54,-16,950,805),35821=>array(53,-70,936,795),35822=>array(57,-74,913,831),35823=>array(61,-69,956,794),35824=>array(57,-66,918,828),35825=>array(70,-69,941,825),35826=>array(72,-60,937,843),35827=>array(49,-54,947,827),35828=>array(66,-68,953,838),35829=>array(56,-65,879,798),35830=>array(56,-71,957,837),35831=>array(61,-66,930,831),35832=>array(68,-67,932,831),35833=>array(48,-70,955,799),35834=>array(54,-66,912,805),35835=>array(56,-69,940,835),35836=>array(61,-57,954,811),35837=>array(59,-64,942,836),35838=>array(56,-66,954,834),35839=>array(56,-65,925,833),35840=>array(56,-77,947,828),35841=>array(50,-72,927,834),35842=>array(50,-51,942,836),35843=>array(72,-85,897,810),35844=>array(67,-67,880,835),35845=>array(69,-70,935,838),35846=>array(69,-64,920,848),35847=>array(57,-71,923,842),35848=>array(55,-71,919,837),35849=>array(55,-66,931,838),35850=>array(55,-25,931,846),35851=>array(72,-67,953,832),35852=>array(60,-51,933,817),35853=>array(61,-66,948,829),35854=>array(53,-65,956,828),35855=>array(56,-69,961,831),35856=>array(57,-67,948,829),35857=>array(53,-70,945,831),35858=>array(74,-62,898,809),35859=>array(62,-66,900,836),35860=>array(55,-62,921,816),35861=>array(58,-72,954,847),35862=>array(60,-72,936,819),35863=>array(49,-65,961,834),35864=>array(54,-66,940,842),35865=>array(68,-66,930,834),35866=>array(60,-64,920,842),35867=>array(65,-69,921,839),35868=>array(59,-55,940,818),35869=>array(50,-74,888,836),35870=>array(78,-51,946,805),35871=>array(54,-65,943,820),35872=>array(60,-69,953,835),35873=>array(75,-65,942,800),35874=>array(53,-66,936,841),35875=>array(63,-74,924,807),35876=>array(74,-71,928,842),35877=>array(59,-35,936,828),35878=>array(63,-66,956,841),35879=>array(60,-36,948,825),35880=>array(54,-35,930,820),35881=>array(57,-61,948,786),35882=>array(58,-68,924,839),35883=>array(51,-79,947,838),35884=>array(58,-74,958,810),35885=>array(55,-70,939,793),35886=>array(57,-67,956,811),35887=>array(64,-75,938,828),35888=>array(46,-65,909,825),35889=>array(60,-62,941,844),35890=>array(59,-66,918,786),35891=>array(48,-75,971,825),35892=>array(47,-61,956,809),35893=>array(54,-78,941,836),35894=>array(56,-67,955,831),35895=>array(34,-53,967,839),35896=>array(59,-64,966,833),35897=>array(42,-58,952,836),35898=>array(37,-62,948,813),35899=>array(49,-68,960,813),35900=>array(32,-73,958,820),35901=>array(57,-69,957,837),35902=>array(34,-48,957,835),35903=>array(38,-66,982,837),35904=>array(35,-64,968,841),35905=>array(54,-63,961,836),35906=>array(45,-72,964,797),35907=>array(37,-71,976,834),35908=>array(37,-66,991,841),35909=>array(29,-70,983,834),35910=>array(100,-14,929,778),35911=>array(62,-17,951,770),35912=>array(62,-12,931,835),35913=>array(53,-68,973,835),35914=>array(57,-32,951,824),35915=>array(41,-26,962,842),35916=>array(51,-69,958,831),35917=>array(52,-73,950,838),35918=>array(48,-18,957,796),35919=>array(54,-67,966,832),35920=>array(70,-25,924,832),35921=>array(28,-67,965,836),35922=>array(34,-67,965,836),35923=>array(45,-46,974,829),35924=>array(45,-47,963,829),35925=>array(70,-49,949,772),35926=>array(58,-70,967,781),35927=>array(41,-75,969,781),35928=>array(43,-41,952,836),35929=>array(62,-55,939,847),35930=>array(31,-61,972,789),35931=>array(58,-69,963,787),35932=>array(43,-75,940,786),35933=>array(33,-46,951,785),35934=>array(43,-52,921,846),35935=>array(40,-65,958,815),35936=>array(43,-41,947,787),35937=>array(67,-59,940,845),35938=>array(49,-62,957,839),35939=>array(43,-71,953,787),35940=>array(29,-70,963,783),35941=>array(36,-64,958,834),35942=>array(49,-70,973,829),35943=>array(43,-75,951,824),35944=>array(41,-67,952,835),35945=>array(39,-64,977,779),35946=>array(88,-66,960,834),35947=>array(60,-72,962,835),35948=>array(47,-69,959,835),35949=>array(48,-70,984,789),35950=>array(42,-68,957,836),35951=>array(39,-77,975,819),35952=>array(77,-77,965,824),35953=>array(50,-61,959,782),35954=>array(42,-64,968,786),35955=>array(113,-69,911,825),35956=>array(43,-73,963,835),35957=>array(52,-71,983,829),35958=>array(34,-72,971,826),35959=>array(41,-62,967,832),35960=>array(125,-58,931,843),35961=>array(57,-56,903,842),35962=>array(61,-58,957,850),35963=>array(50,-67,963,835),35964=>array(40,-65,966,835),35965=>array(48,-65,914,842),35966=>array(48,-48,932,842),35967=>array(68,-52,921,846),35968=>array(41,-72,916,834),35969=>array(36,-57,965,855),35970=>array(65,-52,919,836),35971=>array(48,-63,890,842),35972=>array(46,-69,956,834),35973=>array(55,-61,981,850),35974=>array(46,-67,954,830),35975=>array(48,-55,960,842),35976=>array(48,-73,964,843),35977=>array(43,-64,975,840),35978=>array(54,-63,959,830),35979=>array(48,-65,926,842),35980=>array(41,-66,966,841),35981=>array(55,-59,956,838),35982=>array(48,-61,991,842),35983=>array(35,-73,953,836),35984=>array(46,-64,986,860),35985=>array(42,-75,977,829),35986=>array(37,-70,956,831),35987=>array(44,-67,950,836),35988=>array(34,-61,949,850),35989=>array(35,-62,959,834),35990=>array(36,-48,974,842),35991=>array(37,-71,951,837),35992=>array(26,-65,975,837),35993=>array(40,-60,965,827),35994=>array(43,-68,968,838),35995=>array(38,-71,912,832),35996=>array(55,-70,973,830),35997=>array(89,-68,912,789),35998=>array(59,-69,950,836),35999=>array(59,-69,950,842),36000=>array(53,-69,952,855),36001=>array(46,-73,939,829),36002=>array(59,-67,949,789),36003=>array(65,-70,954,850),36004=>array(52,-54,964,849),36005=>array(46,-78,954,834),36006=>array(52,-69,948,804),36007=>array(54,-69,954,823),36008=>array(52,-71,955,831),36009=>array(50,-67,973,788),36010=>array(38,-78,969,857),36011=>array(57,-74,946,785),36012=>array(57,-67,955,836),36013=>array(52,-75,924,831),36014=>array(53,-70,956,817),36015=>array(48,-68,948,822),36016=>array(51,-73,949,836),36017=>array(14,-67,970,832),36018=>array(43,-75,956,824),36019=>array(53,-70,956,837),36020=>array(57,-67,949,832),36021=>array(43,-66,977,865),36022=>array(57,-65,969,830),36023=>array(65,-67,949,782),36024=>array(63,-69,942,838),36025=>array(47,-75,956,822),36026=>array(51,-75,972,773),36027=>array(73,-71,933,837),36028=>array(50,-64,954,835),36029=>array(60,-62,960,833),36030=>array(49,-54,955,849),36031=>array(72,-67,941,827),36032=>array(65,-73,943,839),36033=>array(61,-67,943,828),36034=>array(57,-63,976,839),36035=>array(40,-65,957,837),36036=>array(54,-68,961,834),36037=>array(54,-77,973,830),36038=>array(21,-70,949,839),36039=>array(61,-70,942,837),36040=>array(66,-79,948,785),36041=>array(37,-58,973,855),36042=>array(41,-58,963,837),36043=>array(37,-76,970,846),36044=>array(66,-77,947,844),36045=>array(49,-59,956,822),36046=>array(44,-69,959,827),36047=>array(57,-73,963,773),36048=>array(31,-67,979,836),36049=>array(37,-71,971,787),36050=>array(40,-64,969,851),36051=>array(44,-74,974,837),36052=>array(101,-85,911,844),36053=>array(51,-66,981,829),36054=>array(31,-69,962,825),36055=>array(55,-74,911,822),36056=>array(49,-59,956,847),36057=>array(63,-71,911,793),36058=>array(45,-70,985,836),36059=>array(52,-76,964,843),36060=>array(60,-66,920,791),36061=>array(40,-70,976,780),36062=>array(71,-74,948,836),36063=>array(40,-73,955,830),36064=>array(59,-65,956,835),36065=>array(32,-67,954,849),36066=>array(70,-73,944,789),36067=>array(48,-69,945,826),36068=>array(48,-67,967,842),36069=>array(41,-73,950,840),36070=>array(42,-63,958,836),36071=>array(39,-68,974,832),36072=>array(57,-79,963,839),36073=>array(42,-60,960,845),36074=>array(63,-68,941,833),36075=>array(69,-70,954,826),36076=>array(55,-68,978,787),36077=>array(43,-65,944,823),36078=>array(40,-74,977,827),36079=>array(57,-60,934,840),36080=>array(49,-70,980,838),36081=>array(56,-76,958,783),36082=>array(38,-73,967,845),36083=>array(51,-75,967,830),36084=>array(44,-71,961,830),36085=>array(55,-68,921,789),36086=>array(40,-67,941,846),36087=>array(69,-70,954,834),36088=>array(31,-66,966,837),36089=>array(44,-66,959,818),36090=>array(58,-65,967,851),36091=>array(50,-65,951,833),36092=>array(41,-66,941,829),36093=>array(50,-73,960,847),36094=>array(113,-76,968,832),36095=>array(41,-72,960,786),36096=>array(68,-76,949,803),36097=>array(42,-61,967,836),36098=>array(41,-71,957,842),36099=>array(49,-62,965,831),36100=>array(61,-68,954,834),36101=>array(51,-70,954,846),36102=>array(37,-67,970,832),36103=>array(46,-71,954,829),36104=>array(34,-73,909,835),36105=>array(47,-71,957,781),36106=>array(60,-72,947,825),36107=>array(41,-70,944,813),36108=>array(36,-64,963,832),36109=>array(36,-74,948,834),36110=>array(47,-66,968,832),36111=>array(42,-62,961,834),36112=>array(47,-59,972,825),36113=>array(55,-66,969,849),36114=>array(70,-73,955,835),36115=>array(27,-65,966,836),36116=>array(49,-71,979,803),36117=>array(56,-73,963,837),36118=>array(47,-73,962,837),36119=>array(41,-73,945,825),36120=>array(26,-72,954,836),36121=>array(31,-71,967,828),36122=>array(30,-65,950,836),36123=>array(54,-70,974,849),36124=>array(55,-63,972,815),36125=>array(77,-58,885,796),36126=>array(65,-63,905,830),36127=>array(57,-65,934,838),36128=>array(73,-61,894,844),36129=>array(48,-61,906,780),36130=>array(42,-70,922,826),36131=>array(60,-66,915,826),36132=>array(61,-67,931,834),36133=>array(47,-74,945,834),36134=>array(32,-72,958,811),36135=>array(29,-63,917,839),36136=>array(25,-69,906,831),36137=>array(33,-70,956,800),36138=>array(33,-66,954,836),36139=>array(34,-65,980,835),36140=>array(32,-67,952,828),36141=>array(33,-64,903,831),36142=>array(28,-71,923,818),36143=>array(43,-69,914,791),36144=>array(48,-68,953,831),36145=>array(30,-59,928,831),36146=>array(70,-78,917,820),36147=>array(61,-71,909,826),36148=>array(42,-67,938,832),36149=>array(41,-65,907,830),36150=>array(31,-58,968,784),36151=>array(47,-65,927,835),36152=>array(83,-66,900,831),36153=>array(60,-63,913,830),36154=>array(24,-72,868,832),36155=>array(35,-69,941,824),36156=>array(31,-56,939,838),36157=>array(39,-86,948,818),36158=>array(47,-71,913,782),36159=>array(33,-69,944,832),36160=>array(60,-84,929,816),36161=>array(30,-59,917,841),36162=>array(33,-64,960,837),36163=>array(38,-68,921,837),36164=>array(71,-70,939,829),36165=>array(39,-79,956,827),36166=>array(31,-64,953,782),36167=>array(39,-69,972,826),36168=>array(39,-70,942,784),36169=>array(34,-70,942,823),36170=>array(39,-69,953,848),36171=>array(37,-69,955,834),36172=>array(39,-69,939,834),36173=>array(76,-70,886,824),36174=>array(43,-58,956,835),36175=>array(84,-54,912,841),36176=>array(39,-69,901,785),36177=>array(43,-66,1003,830),36178=>array(39,-69,911,794),36179=>array(40,-69,930,849),36180=>array(39,-69,939,843),36181=>array(39,-70,957,829),36182=>array(40,-63,943,834),36183=>array(39,-74,900,778),36184=>array(43,-69,915,827),36185=>array(39,-68,939,831),36186=>array(41,-65,951,849),36187=>array(38,-75,961,840),36188=>array(99,-67,936,828),36189=>array(31,-69,906,772),36190=>array(35,-75,930,836),36191=>array(46,-75,954,834),36192=>array(32,-71,895,827),36193=>array(22,-75,931,831),36194=>array(35,-69,949,842),36195=>array(55,-69,943,835),36196=>array(67,-75,930,830),36197=>array(31,-71,961,839),36198=>array(56,-63,984,848),36199=>array(48,-68,957,829),36200=>array(40,-67,966,825),36201=>array(28,-67,961,826),36202=>array(25,-80,971,825),36203=>array(51,-65,970,836),36204=>array(36,-76,962,823),36205=>array(25,-70,958,832),36206=>array(35,-79,975,833),36207=>array(32,-71,960,837),36208=>array(46,-74,960,830),36209=>array(69,-66,950,830),36210=>array(36,-62,963,833),36211=>array(50,-65,966,831),36212=>array(41,-73,967,829),36213=>array(23,-60,942,823),36214=>array(27,-72,965,831),36215=>array(35,-74,945,834),36216=>array(46,-71,973,825),36217=>array(39,-66,960,829),36218=>array(46,-71,973,824),36219=>array(46,-72,974,835),36220=>array(33,-64,968,835),36221=>array(44,-74,972,830),36222=>array(46,-72,974,835),36223=>array(46,-72,978,835),36224=>array(47,-71,970,832),36225=>array(18,-62,960,857),36226=>array(46,-72,974,835),36227=>array(46,-72,974,835),36228=>array(38,-65,975,833),36229=>array(33,-68,959,833),36230=>array(46,-72,978,835),36231=>array(46,-72,974,835),36232=>array(46,-72,974,835),36233=>array(40,-65,968,826),36234=>array(42,-74,962,832),36235=>array(26,-72,938,824),36236=>array(30,-61,967,836),36237=>array(39,-64,977,830),36238=>array(35,-68,978,832),36239=>array(36,-65,981,820),36240=>array(28,-61,973,828),36241=>array(42,-64,973,848),36242=>array(27,-65,965,826),36243=>array(28,-61,981,826),36244=>array(39,-68,976,831),36245=>array(46,-69,966,829),36246=>array(57,-68,966,824),36247=>array(28,-61,965,826),36248=>array(28,-61,965,826),36249=>array(41,-75,959,830),36250=>array(28,-61,965,826),36251=>array(36,-71,969,824),36252=>array(35,-68,970,833),36253=>array(46,-72,974,835),36254=>array(46,-72,974,835),36255=>array(58,-53,973,841),36256=>array(39,-71,977,824),36257=>array(41,-68,971,823),36258=>array(34,-64,960,835),36259=>array(31,-54,960,835),36260=>array(46,-72,974,836),36261=>array(37,-60,968,835),36262=>array(45,-53,974,845),36263=>array(37,-71,981,818),36264=>array(56,-71,966,834),36265=>array(46,-72,974,835),36266=>array(39,-57,979,833),36267=>array(32,-71,984,825),36268=>array(41,-64,983,830),36269=>array(33,-62,984,827),36270=>array(26,-67,975,829),36271=>array(33,-68,970,828),36272=>array(31,-72,979,835),36273=>array(22,-69,937,817),36274=>array(42,-65,970,832),36275=>array(55,-73,970,762),36276=>array(30,-74,968,786),36277=>array(53,-54,896,841),36278=>array(64,-65,967,790),36279=>array(48,-37,974,830),36280=>array(45,-73,940,761),36281=>array(57,-72,965,827),36282=>array(45,-72,974,829),36283=>array(45,-72,967,837),36284=>array(54,-76,947,783),36285=>array(45,-69,959,849),36286=>array(45,-24,954,822),36287=>array(35,-71,971,788),36288=>array(45,-65,870,788),36289=>array(56,-32,959,785),36290=>array(35,-53,954,841),36291=>array(39,-64,963,832),36292=>array(45,-34,953,814),36293=>array(47,-70,955,819),36294=>array(52,-68,972,837),36295=>array(61,-34,951,822),36296=>array(48,-69,960,839),36297=>array(45,-79,971,847),36298=>array(40,-61,967,836),36299=>array(21,-76,948,841),36300=>array(52,-59,975,844),36301=>array(55,-68,951,826),36302=>array(48,-27,950,839),36303=>array(46,-72,907,828),36304=>array(46,-59,964,822),36305=>array(45,-34,966,838),36306=>array(45,-62,965,788),36307=>array(47,-15,955,842),36308=>array(45,-52,921,846),36309=>array(41,-52,947,842),36310=>array(39,-53,947,786),36311=>array(41,-50,951,846),36312=>array(53,-70,956,825),36313=>array(59,-19,963,783),36314=>array(28,-67,919,781),36315=>array(53,-62,978,841),36316=>array(45,-72,954,790),36317=>array(31,-61,947,795),36318=>array(48,-62,939,817),36319=>array(46,-71,964,787),36320=>array(52,-73,975,823),36321=>array(47,-59,955,822),36322=>array(42,-63,913,836),36323=>array(40,-63,953,829),36324=>array(50,-65,983,846),36325=>array(46,-62,964,791),36326=>array(50,-70,977,829),36327=>array(43,-20,968,793),36328=>array(39,-64,962,841),36329=>array(44,-74,967,823),36330=>array(48,-65,965,852),36331=>array(29,-64,947,778),36332=>array(54,-23,958,829),36333=>array(40,-69,972,841),36334=>array(51,-33,956,779),36335=>array(29,-67,968,838),36336=>array(50,-73,954,829),36337=>array(40,-52,950,841),36338=>array(44,-54,963,858),36339=>array(41,-70,945,825),36340=>array(37,-68,952,789),36341=>array(40,-69,959,827),36342=>array(50,-49,982,788),36343=>array(52,-71,938,815),36344=>array(35,-64,929,808),36345=>array(42,-51,935,804),36346=>array(54,-64,979,794),36347=>array(43,-66,948,835),36348=>array(48,-55,916,800),36349=>array(48,-32,969,791),36350=>array(46,-72,974,827),36351=>array(51,-70,966,821),36352=>array(52,-73,970,781),36353=>array(46,-28,945,785),36354=>array(51,-70,961,783),36355=>array(51,-69,909,824),36356=>array(45,-64,955,830),36357=>array(44,-66,970,835),36358=>array(48,-72,970,827),36359=>array(51,-64,953,825),36360=>array(45,-54,960,841),36361=>array(58,-68,981,837),36362=>array(50,-64,897,800),36363=>array(80,-61,915,810),36364=>array(37,-61,917,828),36365=>array(47,-68,948,823),36366=>array(36,-54,969,797),36367=>array(53,-62,980,843),36368=>array(30,-55,945,841),36369=>array(55,-75,967,824),36370=>array(44,-72,965,829),36371=>array(45,-68,959,831),36372=>array(54,-62,965,838),36373=>array(44,-73,972,827),36374=>array(47,-61,972,837),36375=>array(52,-36,976,835),36376=>array(49,-63,916,837),36377=>array(51,-73,981,782),36378=>array(47,-68,984,836),36379=>array(44,-26,954,826),36380=>array(56,-71,982,823),36381=>array(43,-67,972,787),36382=>array(46,-69,952,785),36383=>array(28,-67,886,836),36384=>array(39,-76,966,843),36385=>array(48,-37,986,846),36386=>array(46,-58,907,794),36387=>array(48,-65,953,849),36388=>array(48,-69,954,840),36389=>array(38,-70,950,833),36390=>array(42,-62,965,844),36391=>array(41,-69,979,830),36392=>array(59,-65,975,837),36393=>array(48,-62,976,837),36394=>array(44,-57,969,834),36395=>array(45,-35,957,832),36396=>array(42,-68,921,823),36397=>array(53,-59,970,836),36398=>array(43,-65,949,845),36399=>array(38,-65,919,798),36400=>array(43,-64,962,832),36401=>array(49,-62,982,856),36402=>array(47,-67,950,840),36403=>array(39,-68,978,840),36404=>array(41,-56,918,801),36405=>array(45,-27,958,839),36406=>array(52,-55,987,803),36407=>array(72,-69,959,835),36408=>array(35,-26,953,824),36409=>array(53,-64,956,835),36410=>array(43,-73,946,805),36411=>array(72,-57,916,800),36412=>array(33,-79,963,778),36413=>array(46,-62,942,836),36414=>array(41,-65,932,787),36415=>array(32,-75,983,822),36416=>array(49,-65,975,830),36417=>array(48,-65,944,843),36418=>array(45,-61,984,799),36419=>array(72,-65,948,836),36420=>array(37,-67,946,826),36421=>array(39,-32,967,823),36422=>array(38,-65,954,800),36423=>array(34,-62,984,842),36424=>array(53,-62,937,835),36425=>array(30,-26,937,841),36426=>array(20,-61,967,842),36427=>array(49,-61,903,799),36428=>array(55,-64,982,866),36429=>array(34,-52,968,797),36430=>array(50,-79,961,833),36431=>array(34,-72,968,830),36432=>array(51,-62,986,846),36433=>array(35,-71,937,780),36434=>array(29,-66,914,818),36435=>array(47,-62,920,841),36436=>array(39,-54,972,839),36437=>array(34,-68,949,805),36438=>array(48,-70,965,834),36439=>array(49,-66,962,837),36440=>array(27,-61,966,802),36441=>array(55,-60,981,842),36442=>array(61,-37,960,816),36443=>array(50,-74,951,821),36444=>array(36,-52,915,857),36445=>array(43,-67,971,831),36446=>array(40,-82,959,828),36447=>array(39,-55,955,849),36448=>array(38,-60,958,835),36449=>array(36,-52,952,858),36450=>array(39,-52,948,855),36451=>array(47,-65,954,835),36452=>array(43,-65,979,831),36453=>array(45,-72,969,823),36454=>array(46,-74,905,836),36455=>array(59,-74,962,821),36456=>array(64,-65,971,837),36457=>array(33,-65,972,839),36458=>array(52,-81,965,825),36459=>array(29,-67,933,788),36460=>array(33,-26,969,836),36461=>array(44,-64,912,846),36462=>array(37,-43,974,813),36463=>array(31,-67,971,833),36464=>array(30,-66,939,802),36465=>array(59,-32,971,839),36466=>array(44,-72,970,834),36467=>array(46,-67,979,832),36468=>array(25,-68,956,828),36469=>array(33,-65,965,845),36470=>array(25,-70,965,788),36471=>array(37,-58,963,800),36472=>array(49,-70,974,827),36473=>array(44,-63,979,858),36474=>array(46,-63,962,842),36475=>array(34,-59,961,857),36476=>array(28,-64,963,832),36477=>array(39,-62,975,859),36478=>array(39,-73,973,837),36479=>array(39,-60,916,843),36480=>array(28,-68,951,802),36481=>array(31,-61,965,798),36482=>array(46,-68,977,836),36483=>array(36,-64,965,849),36484=>array(39,-57,960,843),36485=>array(57,-62,924,786),36486=>array(23,-67,976,837),36487=>array(36,-62,953,842),36488=>array(33,-72,982,841),36489=>array(44,-67,968,833),36490=>array(43,-58,958,839),36491=>array(32,-69,964,849),36492=>array(62,-72,961,833),36493=>array(35,-70,956,813),36494=>array(61,-71,958,783),36495=>array(50,-71,918,820),36496=>array(41,-63,974,852),36497=>array(32,-67,956,821),36498=>array(45,-52,961,856),36499=>array(39,-68,974,837),36500=>array(25,-67,941,848),36501=>array(36,-63,960,853),36502=>array(59,-68,915,835),36503=>array(36,-67,979,839),36504=>array(33,-65,967,838),36505=>array(37,-50,901,804),36506=>array(36,-66,973,815),36507=>array(36,-67,979,839),36508=>array(34,-75,927,824),36509=>array(37,-50,917,804),36510=>array(37,-65,985,847),36511=>array(39,-65,976,850),36512=>array(43,-67,960,829),36513=>array(30,-69,955,804),36514=>array(37,-50,910,805),36515=>array(50,-65,967,787),36516=>array(42,-64,956,831),36517=>array(33,-65,963,849),36518=>array(40,-75,975,829),36519=>array(42,-73,966,791),36520=>array(39,-68,956,841),36521=>array(41,-61,980,809),36522=>array(49,-59,964,837),36523=>array(74,-62,924,853),36524=>array(55,-60,904,839),36525=>array(40,-66,969,848),36526=>array(57,-61,968,846),36527=>array(47,-65,945,844),36528=>array(27,-53,969,851),36529=>array(56,-62,965,848),36530=>array(54,-62,976,843),36531=>array(53,-69,917,861),36532=>array(47,-68,972,844),36533=>array(49,-68,973,830),36534=>array(41,-68,965,830),36535=>array(41,-67,970,841),36536=>array(57,-68,956,830),36537=>array(53,-68,946,847),36538=>array(48,-62,936,851),36539=>array(45,-68,948,845),36540=>array(49,-68,975,830),36541=>array(35,-58,958,850),36542=>array(34,-62,969,843),36543=>array(45,-63,966,857),36544=>array(42,-60,964,853),36545=>array(45,-68,962,839),36546=>array(33,-70,969,829),36547=>array(53,-68,968,830),36548=>array(45,-68,977,845),36549=>array(26,-73,977,841),36550=>array(32,-58,946,848),36551=>array(53,-57,968,846),36552=>array(38,-61,948,848),36553=>array(38,-78,934,836),36554=>array(63,-71,935,832),36555=>array(54,-70,948,830),36556=>array(53,-74,957,831),36557=>array(91,-68,923,784),36558=>array(61,-67,913,819),36559=>array(52,-69,958,829),36560=>array(41,-69,958,827),36561=>array(61,-72,978,827),36562=>array(55,-68,951,832),36563=>array(64,-76,963,824),36564=>array(68,-67,917,830),36565=>array(65,-69,921,830),36566=>array(62,-69,961,827),36567=>array(63,-73,962,830),36568=>array(61,-65,957,835),36569=>array(50,-70,945,838),36570=>array(65,-69,977,838),36571=>array(60,-66,954,830),36572=>array(66,-70,918,827),36573=>array(46,-68,966,832),36574=>array(60,-70,961,836),36575=>array(62,-67,965,841),36576=>array(59,-64,949,827),36577=>array(61,-76,968,834),36578=>array(53,-69,964,827),36579=>array(61,-55,913,834),36580=>array(65,-70,950,827),36581=>array(60,-65,915,831),36582=>array(59,-69,956,832),36583=>array(57,-72,960,833),36584=>array(54,-69,965,845),36585=>array(68,-70,954,838),36586=>array(84,-75,924,835),36587=>array(51,-67,969,844),36588=>array(46,-64,966,855),36589=>array(43,-71,945,827),36590=>array(61,-80,968,829),36591=>array(57,-72,950,827),36592=>array(62,-50,940,835),36593=>array(58,-60,975,834),36594=>array(72,-76,929,833),36595=>array(72,-64,977,849),36596=>array(72,-64,962,839),36597=>array(63,-69,952,835),36598=>array(76,-67,970,829),36599=>array(57,-52,959,839),36600=>array(58,-76,913,831),36601=>array(57,-67,962,826),36602=>array(69,-67,918,832),36603=>array(54,-67,950,829),36604=>array(56,-67,979,829),36605=>array(52,-64,976,833),36606=>array(60,-67,968,836),36607=>array(55,-54,949,852),36608=>array(53,-56,948,836),36609=>array(56,-80,977,826),36610=>array(44,-69,961,829),36611=>array(59,-67,965,829),36612=>array(59,-69,970,829),36613=>array(47,-65,967,838),36614=>array(57,-75,960,836),36615=>array(62,-71,966,820),36616=>array(61,-63,959,838),36617=>array(63,-62,956,836),36618=>array(60,-64,954,831),36619=>array(28,-64,980,840),36620=>array(52,-72,939,831),36621=>array(58,-70,967,824),36622=>array(60,-69,937,826),36623=>array(65,-68,966,825),36624=>array(66,-70,973,824),36625=>array(60,-71,951,827),36626=>array(50,-67,967,830),36627=>array(58,-67,966,827),36628=>array(55,-73,948,833),36629=>array(57,-70,950,832),36630=>array(57,-70,900,822),36631=>array(54,-65,962,827),36632=>array(47,-57,966,835),36633=>array(46,-68,966,837),36634=>array(62,-70,971,834),36635=>array(52,-72,939,831),36636=>array(63,-71,940,835),36637=>array(41,-63,953,832),36638=>array(57,-65,924,831),36639=>array(60,-65,971,833),36640=>array(62,-71,978,823),36641=>array(77,-68,912,841),36642=>array(77,-65,956,849),36643=>array(62,-76,903,823),36644=>array(61,-70,953,832),36645=>array(54,-70,955,829),36646=>array(52,-62,954,831),36647=>array(57,-65,949,859),36648=>array(62,-65,930,846),36649=>array(55,-74,951,838),36650=>array(52,-71,971,868),36651=>array(52,-65,967,831),36652=>array(54,-57,970,849),36653=>array(65,-72,975,820),36654=>array(60,-68,977,826),36655=>array(62,-70,951,831),36656=>array(77,-65,959,831),36657=>array(47,-68,979,835),36658=>array(72,-64,957,835),36659=>array(47,-67,964,832),36660=>array(50,-72,951,833),36661=>array(60,-53,923,838),36662=>array(56,-66,947,852),36663=>array(65,-70,919,834),36664=>array(45,-70,960,849),36665=>array(60,-68,974,836),36666=>array(63,-71,940,833),36667=>array(46,-74,941,827),36668=>array(59,-70,959,823),36669=>array(42,-66,967,831),36670=>array(60,-71,964,831),36671=>array(66,-55,948,839),36672=>array(59,-70,959,823),36673=>array(52,-65,944,831),36674=>array(48,-68,968,836),36675=>array(66,-69,973,833),36676=>array(53,-62,949,837),36677=>array(50,-70,967,833),36678=>array(53,-68,958,835),36679=>array(58,-64,968,829),36680=>array(58,-70,974,828),36681=>array(56,-71,947,828),36682=>array(44,-72,943,837),36683=>array(55,-72,974,825),36684=>array(46,-66,946,831),36685=>array(42,-68,972,837),36686=>array(51,-61,964,841),36687=>array(63,-71,958,825),36688=>array(53,-69,969,826),36689=>array(55,-54,968,844),36690=>array(65,-72,959,829),36691=>array(60,-67,978,829),36692=>array(48,-67,954,833),36693=>array(61,-64,948,830),36694=>array(58,-68,962,829),36695=>array(50,-66,961,830),36696=>array(56,-70,984,831),36697=>array(50,-74,974,853),36698=>array(60,-62,971,828),36699=>array(69,-71,964,826),36700=>array(42,-65,970,831),36701=>array(46,-69,977,836),36702=>array(66,-73,958,829),36703=>array(63,-62,960,836),36704=>array(71,-68,929,824),36705=>array(32,-65,961,844),36706=>array(50,-65,970,831),36707=>array(45,-53,969,836),36708=>array(52,-67,956,832),36709=>array(55,-65,941,837),36710=>array(42,-61,956,833),36711=>array(69,-73,922,823),36712=>array(67,-78,940,828),36713=>array(63,-70,934,823),36714=>array(68,-70,977,838),36715=>array(63,-69,901,824),36716=>array(53,-66,935,826),36717=>array(52,-74,937,818),36718=>array(31,-55,951,835),36719=>array(73,-69,949,838),36720=>array(28,-57,939,837),36721=>array(52,-76,929,823),36722=>array(52,-74,933,818),36723=>array(44,-73,929,819),36724=>array(59,-74,903,821),36725=>array(63,-69,946,824),36726=>array(52,-74,962,826),36727=>array(25,-65,920,828),36728=>array(52,-74,952,840),36729=>array(41,-65,947,823),36730=>array(63,-68,901,824),36731=>array(51,-48,938,836),36732=>array(37,-75,936,833),36733=>array(58,-69,939,824),36734=>array(52,-74,930,818),36735=>array(31,-66,948,832),36736=>array(63,-68,960,838),36737=>array(44,-60,940,831),36738=>array(52,-67,950,836),36739=>array(54,-69,948,835),36740=>array(45,-69,937,827),36741=>array(52,-73,931,831),36742=>array(35,-57,925,833),36743=>array(43,-75,950,816),36744=>array(68,-70,932,821),36745=>array(42,-57,948,833),36746=>array(52,-74,942,818),36747=>array(63,-67,905,827),36748=>array(63,-68,966,849),36749=>array(43,-65,961,819),36750=>array(55,-73,922,833),36751=>array(55,-69,944,838),36752=>array(43,-74,923,818),36753=>array(56,-69,936,821),36754=>array(46,-69,959,821),36755=>array(61,-73,943,846),36756=>array(40,-65,914,829),36757=>array(41,-78,949,819),36758=>array(52,-73,931,838),36759=>array(52,-74,948,818),36760=>array(50,-65,951,842),36761=>array(46,-65,938,839),36762=>array(52,-68,947,831),36763=>array(77,-68,923,828),36764=>array(59,-62,945,837),36765=>array(29,-65,948,840),36766=>array(52,-55,953,832),36767=>array(36,-55,954,847),36768=>array(59,-67,945,839),36769=>array(33,-67,954,853),36770=>array(21,-58,954,853),36771=>array(33,-67,967,835),36772=>array(39,-82,974,853),36773=>array(42,-57,960,840),36774=>array(58,-79,932,829),36775=>array(32,-68,945,837),36776=>array(37,-71,949,831),36777=>array(53,-64,933,843),36778=>array(59,-51,947,857),36779=>array(40,-66,915,838),36780=>array(40,-79,945,838),36781=>array(46,-63,962,846),36782=>array(42,-81,959,834),36783=>array(61,-77,938,829),36784=>array(57,-63,963,785),36785=>array(33,-61,955,789),36786=>array(38,-78,963,834),36787=>array(44,-74,956,836),36788=>array(57,-77,968,785),36789=>array(46,-74,960,827),36790=>array(38,-57,938,814),36791=>array(50,-17,957,811),36792=>array(38,-57,938,814),36793=>array(33,-24,939,823),36794=>array(33,-24,939,804),36795=>array(50,-34,955,832),36796=>array(35,-54,965,820),36797=>array(44,-45,944,793),36798=>array(31,-35,940,825),36799=>array(44,-45,944,835),36800=>array(31,-53,952,817),36801=>array(50,-17,957,828),36802=>array(44,-45,944,793),36803=>array(31,-69,952,793),36804=>array(44,-45,944,832),36805=>array(39,-53,960,817),36806=>array(27,-56,957,841),36807=>array(36,-51,933,827),36808=>array(32,-41,938,798),36809=>array(55,-61,979,815),36810=>array(56,-53,940,781),36811=>array(43,-53,972,835),36812=>array(56,-53,940,782),36813=>array(33,-57,962,841),36814=>array(31,-53,952,833),36815=>array(46,-47,952,827),36816=>array(32,-46,944,800),36817=>array(31,-53,952,828),36818=>array(48,-63,970,829),36819=>array(45,-69,966,832),36820=>array(42,-52,960,822),36821=>array(36,-55,968,852),36822=>array(47,-66,979,827),36823=>array(66,-62,988,817),36824=>array(32,-33,927,812),36825=>array(36,-47,942,815),36826=>array(36,-47,942,801),36827=>array(24,-37,935,817),36828=>array(38,-49,941,809),36829=>array(41,-49,938,816),36830=>array(34,-44,944,810),36831=>array(41,-26,938,806),36832=>array(55,-64,973,844),36833=>array(63,-77,974,833),36834=>array(36,-47,942,808),36835=>array(43,-65,967,829),36836=>array(53,-62,968,842),36837=>array(36,-47,942,808),36838=>array(44,-45,944,827),36839=>array(56,-53,940,830),36840=>array(51,-71,975,841),36841=>array(43,-45,946,829),36842=>array(31,-53,952,831),36843=>array(40,-54,961,834),36844=>array(56,-53,940,820),36845=>array(31,-53,952,817),36846=>array(72,-69,979,840),36847=>array(36,-47,952,803),36848=>array(36,-44,959,828),36849=>array(36,-38,959,837),36850=>array(37,-56,951,815),36851=>array(41,-50,939,793),36852=>array(36,-47,965,813),36853=>array(49,-73,982,835),36854=>array(39,-76,975,837),36855=>array(31,-53,952,831),36856=>array(36,-47,965,840),36857=>array(36,-47,965,831),36858=>array(36,-47,965,813),36859=>array(31,-58,960,857),36860=>array(46,-74,972,827),36861=>array(31,-53,952,842),36862=>array(39,-70,974,832),36863=>array(46,-70,978,849),36864=>array(31,-53,952,818),36865=>array(31,-53,952,859),36866=>array(42,-65,935,859),36867=>array(31,-53,952,828),36868=>array(39,-65,982,851),36869=>array(36,-47,965,837),36870=>array(31,-53,952,838),36871=>array(31,-53,952,833),36872=>array(42,-65,948,858),36873=>array(28,-43,942,807),36874=>array(32,-48,940,807),36875=>array(46,-47,952,841),36876=>array(46,-78,968,826),36877=>array(51,-47,950,829),36878=>array(41,-53,962,801),36879=>array(33,-52,954,831),36880=>array(22,-53,953,817),36881=>array(36,-47,965,832),36882=>array(28,-30,930,839),36883=>array(37,-56,951,830),36884=>array(30,-55,951,849),36885=>array(36,-47,965,813),36886=>array(31,-47,960,830),36887=>array(39,-56,953,815),36888=>array(41,-56,959,838),36889=>array(44,-45,944,816),36890=>array(31,-53,952,817),36891=>array(50,-59,963,821),36892=>array(46,-73,980,823),36893=>array(24,-53,945,829),36894=>array(41,-47,970,813),36895=>array(31,-53,952,836),36896=>array(31,-42,946,830),36897=>array(36,-47,965,839),36898=>array(44,-45,944,839),36899=>array(37,-56,951,830),36900=>array(39,-71,980,822),36901=>array(37,-56,976,799),36902=>array(33,-46,939,787),36903=>array(50,-46,944,809),36904=>array(37,-56,951,836),36905=>array(49,-56,963,847),36906=>array(37,-56,951,824),36907=>array(37,-44,951,811),36908=>array(37,-48,951,836),36909=>array(45,-78,971,844),36910=>array(31,-53,952,829),36911=>array(43,-66,981,847),36912=>array(39,-66,963,834),36913=>array(37,-56,951,799),36914=>array(37,-60,951,831),36915=>array(37,-48,951,821),36916=>array(51,-75,976,829),36917=>array(36,-47,965,837),36918=>array(46,-47,952,833),36919=>array(45,-64,959,791),36920=>array(36,-54,957,841),36921=>array(26,-53,947,834),36922=>array(37,-56,951,835),36923=>array(39,-57,942,792),36924=>array(44,-45,944,799),36925=>array(43,-66,961,826),36926=>array(11,-73,952,836),36927=>array(43,-68,966,818),36928=>array(49,-56,963,845),36929=>array(31,-74,952,837),36930=>array(31,-53,952,848),36931=>array(49,-56,963,833),36932=>array(46,-68,960,835),36933=>array(37,-56,951,807),36934=>array(49,-64,963,845),36935=>array(36,-51,964,814),36936=>array(36,-55,964,812),36937=>array(31,-63,956,831),36938=>array(37,-56,960,842),36939=>array(37,-56,951,799),36940=>array(36,-51,964,826),36941=>array(33,-45,959,815),36942=>array(37,-56,951,799),36943=>array(31,-53,952,801),36944=>array(31,-53,952,801),36945=>array(31,-53,952,843),36946=>array(37,-56,950,821),36947=>array(31,-53,952,847),36948=>array(37,-56,951,834),36949=>array(37,-56,951,844),36950=>array(47,-56,955,810),36951=>array(49,-59,953,820),36952=>array(52,-56,960,832),36953=>array(37,-56,951,837),36954=>array(44,-69,963,841),36955=>array(36,-67,975,834),36956=>array(42,-41,961,823),36957=>array(37,-40,955,831),36958=>array(47,-56,955,828),36959=>array(37,-56,951,799),36960=>array(37,-44,953,835),36961=>array(37,-56,951,837),36962=>array(40,-65,961,829),36963=>array(25,-59,946,832),36964=>array(25,-59,946,817),36965=>array(37,-56,951,834),36966=>array(37,-56,951,807),36967=>array(84,-56,977,838),36968=>array(47,-56,955,834),36969=>array(37,-56,951,839),36970=>array(37,-56,952,835),36971=>array(49,-70,982,827),36972=>array(37,-64,977,831),36973=>array(31,-53,952,830),36974=>array(36,-47,939,835),36975=>array(50,-59,955,795),36976=>array(40,-54,976,843),36977=>array(37,-56,972,831),36978=>array(47,-56,961,815),36979=>array(56,-72,981,832),36980=>array(40,-72,973,836),36981=>array(35,-49,958,841),36982=>array(47,-56,965,838),36983=>array(37,-56,956,807),36984=>array(37,-56,951,799),36985=>array(38,-52,975,826),36986=>array(37,-56,951,835),36987=>array(41,-73,976,820),36988=>array(37,-56,968,838),36989=>array(47,-56,961,835),36990=>array(45,-66,972,840),36991=>array(31,-53,952,824),36992=>array(47,-51,961,837),36993=>array(47,-51,961,829),36994=>array(47,-56,961,841),36995=>array(52,-56,966,841),36996=>array(37,-56,951,808),36997=>array(44,-70,972,846),36998=>array(39,-69,980,826),36999=>array(36,-47,971,828),37000=>array(18,-65,964,846),37001=>array(47,-51,961,837),37002=>array(47,-51,961,838),37003=>array(40,-65,971,848),37004=>array(45,-56,961,825),37005=>array(38,-72,983,848),37006=>array(37,-68,971,820),37007=>array(52,-51,966,820),37008=>array(42,-65,973,813),37009=>array(124,-30,927,784),37010=>array(84,-70,942,782),37011=>array(30,-60,912,790),37012=>array(72,-64,934,788),37013=>array(75,-24,931,841),37014=>array(114,-60,912,819),37015=>array(69,-69,939,787),37016=>array(60,-63,938,794),37017=>array(49,-69,958,799),37018=>array(85,-69,939,818),37019=>array(73,-69,939,781),37020=>array(57,-69,939,844),37021=>array(38,-65,916,842),37022=>array(55,-66,956,827),37023=>array(44,-60,947,838),37024=>array(45,-71,953,786),37025=>array(68,-71,959,841),37026=>array(51,-70,945,785),37027=>array(57,-70,940,786),37028=>array(41,-69,955,816),37029=>array(56,-68,950,832),37030=>array(76,-75,937,830),37031=>array(52,-69,945,785),37032=>array(57,-65,938,833),37033=>array(73,-91,911,814),37034=>array(48,-65,941,785),37035=>array(36,-75,959,830),37036=>array(47,-61,912,837),37037=>array(61,-72,943,834),37038=>array(89,-72,911,823),37039=>array(36,-67,919,831),37040=>array(75,-69,954,833),37041=>array(55,-63,927,828),37042=>array(46,-71,956,827),37043=>array(56,-68,957,784),37044=>array(51,-59,947,797),37045=>array(51,-68,938,786),37046=>array(33,-74,939,811),37047=>array(73,-74,941,780),37048=>array(63,-70,939,828),37049=>array(39,-68,917,809),37050=>array(40,-67,923,804),37051=>array(44,-60,909,829),37052=>array(93,-58,942,788),37053=>array(56,-68,943,824),37054=>array(41,-54,954,840),37055=>array(62,-68,943,827),37056=>array(32,-65,942,839),37057=>array(48,-68,942,840),37058=>array(53,-74,958,835),37059=>array(57,-72,959,829),37060=>array(31,-64,945,850),37061=>array(61,-69,957,783),37062=>array(82,-68,963,824),37063=>array(37,-63,961,847),37064=>array(46,-53,947,860),37065=>array(51,-70,945,785),37066=>array(54,-64,936,822),37067=>array(133,-67,930,833),37068=>array(49,-48,955,826),37069=>array(50,-76,910,845),37070=>array(51,-65,930,832),37071=>array(39,-70,912,820),37072=>array(26,-64,915,835),37073=>array(35,-59,921,832),37074=>array(102,-31,968,826),37075=>array(63,-70,930,780),37076=>array(52,-71,958,813),37077=>array(31,-52,958,852),37078=>array(51,-65,949,788),37079=>array(47,-69,968,837),37080=>array(121,-66,931,787),37081=>array(62,-76,956,826),37082=>array(66,-70,956,781),37083=>array(38,-68,939,834),37084=>array(80,-74,966,827),37085=>array(59,-62,947,836),37086=>array(77,-65,910,833),37087=>array(19,-74,942,829),37088=>array(48,-71,950,777),37089=>array(41,-68,945,787),37090=>array(46,-68,955,785),37091=>array(59,-70,944,823),37092=>array(40,-67,943,834),37093=>array(61,-68,954,786),37094=>array(62,-64,930,786),37095=>array(35,-69,916,783),37096=>array(59,-67,943,830),37097=>array(47,-70,952,836),37098=>array(52,-71,956,827),37099=>array(63,-69,967,847),37100=>array(73,-71,949,829),37101=>array(52,-58,941,837),37102=>array(33,-69,941,786),37103=>array(46,-70,962,831),37104=>array(46,-73,947,787),37105=>array(59,-69,938,827),37106=>array(46,-70,951,834),37107=>array(41,-70,949,828),37108=>array(49,-69,963,825),37109=>array(52,-69,942,831),37110=>array(59,-65,965,840),37111=>array(38,-70,947,833),37112=>array(43,-58,914,831),37113=>array(43,-70,954,786),37114=>array(36,-66,967,830),37115=>array(86,-69,960,783),37116=>array(60,-68,952,841),37117=>array(50,-67,949,835),37118=>array(80,-69,963,786),37119=>array(42,-69,966,785),37120=>array(44,-55,947,838),37121=>array(37,-74,951,826),37122=>array(62,-68,948,785),37123=>array(29,-68,954,843),37124=>array(57,-68,962,785),37125=>array(60,-53,947,848),37126=>array(71,-69,963,782),37127=>array(34,-70,959,838),37128=>array(33,-70,953,835),37129=>array(53,-70,938,839),37130=>array(53,-70,938,830),37131=>array(44,-69,951,826),37132=>array(23,-69,965,848),37133=>array(44,-75,949,783),37134=>array(25,-62,953,840),37135=>array(46,-71,948,802),37136=>array(62,-69,955,842),37137=>array(68,-68,949,785),37138=>array(53,-72,949,842),37139=>array(41,-66,949,841),37140=>array(37,-66,945,844),37141=>array(41,-70,938,831),37142=>array(45,-77,968,783),37143=>array(63,-67,951,837),37144=>array(40,-69,957,843),37145=>array(42,-70,933,783),37146=>array(47,-72,935,825),37147=>array(45,-69,953,835),37148=>array(51,-64,953,850),37149=>array(42,-68,940,785),37150=>array(52,-65,948,830),37151=>array(57,-70,943,824),37152=>array(58,-65,954,795),37153=>array(27,-69,945,838),37154=>array(37,-68,966,784),37155=>array(65,-69,940,838),37156=>array(47,-68,947,803),37157=>array(37,-66,946,844),37158=>array(24,-70,950,830),37159=>array(46,-65,951,832),37160=>array(101,-39,946,829),37161=>array(49,-73,950,781),37162=>array(49,-80,955,833),37163=>array(95,-55,942,853),37164=>array(48,-78,965,836),37165=>array(57,-77,956,839),37166=>array(46,-73,952,836),37167=>array(66,-67,947,849),37168=>array(62,-77,949,833),37169=>array(35,-70,953,836),37170=>array(49,-66,951,787),37171=>array(104,-67,949,787),37172=>array(40,-69,974,824),37173=>array(41,-68,960,797),37174=>array(18,-74,962,847),37175=>array(48,-71,943,830),37176=>array(59,-67,941,834),37177=>array(43,-70,960,793),37178=>array(34,-70,949,845),37179=>array(63,-75,958,829),37180=>array(25,-75,958,827),37181=>array(22,-75,978,858),37182=>array(48,-65,954,789),37183=>array(59,-67,958,832),37184=>array(42,-73,959,829),37185=>array(40,-79,954,836),37186=>array(44,-50,960,801),37187=>array(85,-68,956,796),37188=>array(40,-69,958,825),37189=>array(45,-65,956,837),37190=>array(47,-68,947,827),37191=>array(52,-62,962,844),37192=>array(30,-67,951,805),37193=>array(54,-63,946,779),37194=>array(59,-54,953,788),37195=>array(60,-67,950,840),37196=>array(64,-63,915,844),37197=>array(63,-67,945,790),37198=>array(62,-65,954,832),37199=>array(60,-54,961,825),37200=>array(59,-60,950,790),37201=>array(56,-45,966,798),37202=>array(47,-62,943,790),37203=>array(46,-72,966,849),37204=>array(40,-68,979,837),37205=>array(59,-54,957,809),37206=>array(66,-61,973,836),37207=>array(55,-53,916,808),37208=>array(56,-75,984,791),37209=>array(56,-72,955,826),37210=>array(55,-53,962,790),37211=>array(35,-68,969,787),37212=>array(45,-68,980,842),37213=>array(52,-61,943,782),37214=>array(54,-70,968,837),37215=>array(56,-70,943,816),37216=>array(55,-57,956,790),37217=>array(55,-53,959,836),37218=>array(50,-64,951,835),37219=>array(53,-65,955,830),37220=>array(55,-58,951,836),37221=>array(63,-65,977,828),37222=>array(46,-64,972,820),37223=>array(66,-61,965,849),37224=>array(69,-70,961,833),37225=>array(76,-65,919,839),37226=>array(51,-67,967,840),37227=>array(30,-68,958,820),37228=>array(66,-65,913,835),37229=>array(45,-68,956,834),37230=>array(55,-64,932,790),37231=>array(55,-71,953,816),37232=>array(53,-70,974,836),37233=>array(65,-62,922,837),37234=>array(50,-53,946,790),37235=>array(60,-68,960,825),37236=>array(55,-63,968,841),37237=>array(61,-71,949,830),37238=>array(59,-71,955,840),37239=>array(59,-61,924,829),37240=>array(40,-73,967,849),37241=>array(55,-64,952,830),37242=>array(55,-66,960,828),37243=>array(60,-68,973,835),37244=>array(25,-68,977,833),37245=>array(49,-64,920,771),37246=>array(50,-45,913,775),37247=>array(43,-60,939,841),37248=>array(55,-68,955,822),37249=>array(55,-73,963,831),37250=>array(58,-70,975,820),37251=>array(55,-55,971,831),37252=>array(55,-60,929,826),37253=>array(55,-67,952,838),37254=>array(59,-68,964,832),37255=>array(54,-64,960,831),37256=>array(55,-69,978,839),37257=>array(56,-71,951,835),37258=>array(51,-63,967,793),37259=>array(59,-72,949,818),37260=>array(58,-54,961,789),37261=>array(53,-65,966,787),37262=>array(49,-69,955,834),37263=>array(55,-66,951,825),37264=>array(68,-66,919,828),37265=>array(55,-68,966,790),37266=>array(66,-38,962,798),37267=>array(55,-53,963,830),37268=>array(48,-70,951,844),37269=>array(35,-68,949,845),37270=>array(40,-68,963,787),37271=>array(53,-64,968,834),37272=>array(45,-68,953,822),37273=>array(55,-69,964,824),37274=>array(47,-73,961,821),37275=>array(55,-53,968,821),37276=>array(59,-65,974,847),37277=>array(55,-53,952,829),37278=>array(55,-53,958,790),37279=>array(86,-63,921,831),37280=>array(55,-53,967,828),37281=>array(56,-69,948,838),37282=>array(51,-52,941,840),37283=>array(50,-67,954,844),37284=>array(53,-74,947,845),37285=>array(55,-67,963,799),37286=>array(60,-61,967,848),37287=>array(48,-53,957,790),37288=>array(55,-69,954,827),37289=>array(54,-53,961,848),37290=>array(48,-69,975,790),37291=>array(51,-71,945,784),37292=>array(63,-78,955,853),37293=>array(57,-72,981,823),37294=>array(54,-66,952,833),37295=>array(47,-58,959,836),37296=>array(60,-48,960,811),37297=>array(53,-62,977,846),37298=>array(46,-74,972,825),37299=>array(66,-70,962,784),37300=>array(51,-57,952,829),37301=>array(43,-65,970,828),37302=>array(51,-66,947,847),37303=>array(51,-62,965,838),37304=>array(51,-79,979,837),37305=>array(52,-55,944,803),37306=>array(53,-66,959,832),37307=>array(62,-64,961,835),37308=>array(49,-67,963,826),37309=>array(53,-48,939,810),37310=>array(47,-65,961,838),37311=>array(55,-66,961,837),37312=>array(62,-72,982,842),37313=>array(52,-75,964,833),37314=>array(59,-64,962,848),37315=>array(54,-72,964,790),37316=>array(55,-63,961,837),37317=>array(50,-65,981,795),37318=>array(50,-70,966,824),37319=>array(52,-68,956,829),37320=>array(42,-66,978,827),37321=>array(45,-66,907,842),37322=>array(47,-61,934,806),37323=>array(36,-70,951,821),37324=>array(52,-19,948,796),37325=>array(69,-34,947,831),37326=>array(64,-64,931,784),37327=>array(53,-30,947,789),37328=>array(29,-56,953,844),37329=>array(54,-21,960,856),37330=>array(39,-26,547,829),37331=>array(39,-30,959,829),37332=>array(35,-32,954,824),37333=>array(48,-64,944,828),37334=>array(39,-73,934,829),37335=>array(59,-62,909,831),37336=>array(45,-52,956,843),37337=>array(49,-65,958,833),37338=>array(42,-72,967,845),37339=>array(39,-66,927,834),37340=>array(66,-25,948,833),37341=>array(44,-67,950,831),37342=>array(39,-57,958,829),37343=>array(39,-71,989,829),37344=>array(39,-71,967,829),37345=>array(86,-21,916,833),37346=>array(58,-75,940,840),37347=>array(55,-61,921,841),37348=>array(48,-65,957,832),37349=>array(39,-72,982,829),37350=>array(54,-50,906,813),37351=>array(48,-62,896,837),37352=>array(42,-72,957,829),37353=>array(39,-67,959,831),37354=>array(45,-71,956,829),37355=>array(36,-69,955,826),37356=>array(39,-71,958,823),37357=>array(36,-18,955,824),37358=>array(42,-74,953,834),37359=>array(39,-26,930,833),37360=>array(39,-49,916,829),37361=>array(36,-60,963,835),37362=>array(48,-38,958,829),37363=>array(29,-29,961,827),37364=>array(39,-67,958,834),37365=>array(42,-67,965,830),37366=>array(39,-26,963,841),37367=>array(41,-17,953,827),37368=>array(48,-69,920,831),37369=>array(41,-68,950,830),37370=>array(39,-67,942,829),37371=>array(42,-56,964,843),37372=>array(37,-60,969,823),37373=>array(40,-64,967,834),37374=>array(54,-59,967,827),37375=>array(42,-61,959,847),37376=>array(36,-35,954,830),37377=>array(46,-64,948,835),37378=>array(42,-63,966,839),37379=>array(35,-72,957,834),37380=>array(49,-64,964,831),37381=>array(35,-73,894,841),37382=>array(41,-68,972,836),37383=>array(37,-58,966,840),37384=>array(34,-64,959,827),37385=>array(56,-68,914,823),37386=>array(44,-26,972,836),37387=>array(37,-62,954,840),37388=>array(46,-73,985,837),37389=>array(37,-52,965,839),37390=>array(61,-57,920,841),37391=>array(35,-72,898,823),37392=>array(40,-70,977,840),37393=>array(41,-62,971,831),37394=>array(40,-68,979,840),37395=>array(37,-22,958,840),37396=>array(35,-60,973,829),37397=>array(41,-30,951,833),37398=>array(32,-70,976,832),37399=>array(38,-60,966,838),37400=>array(44,-68,973,841),37401=>array(40,-70,990,834),37402=>array(38,-69,962,831),37403=>array(37,-52,949,840),37404=>array(38,-63,964,836),37405=>array(44,-71,954,840),37406=>array(65,-57,923,839),37407=>array(51,-66,896,840),37408=>array(37,-65,964,840),37409=>array(37,-66,891,840),37410=>array(31,-72,980,832),37411=>array(51,-65,944,830),37412=>array(39,-71,909,827),37413=>array(44,-67,976,826),37414=>array(46,-69,951,833),37415=>array(44,-66,964,841),37416=>array(37,-51,949,840),37417=>array(37,-66,928,840),37418=>array(45,-71,970,827),37419=>array(37,-63,961,842),37420=>array(37,-66,981,840),37421=>array(37,-21,968,823),37422=>array(43,-60,953,833),37423=>array(37,-66,922,842),37424=>array(35,-64,954,846),37425=>array(31,-57,964,839),37426=>array(29,-72,976,839),37427=>array(35,-61,957,833),37428=>array(35,-65,975,846),37429=>array(37,-62,962,840),37430=>array(46,-69,961,831),37431=>array(38,-65,948,833),37432=>array(47,-66,975,833),37433=>array(32,-67,972,839),37434=>array(47,-14,950,831),37435=>array(37,-47,912,843),37436=>array(37,-65,948,844),37437=>array(39,-68,944,837),37438=>array(64,-70,912,828),37439=>array(42,-42,918,827),37440=>array(56,-67,914,823),37441=>array(57,-72,971,850),37442=>array(56,-68,970,833),37443=>array(56,-67,967,828),37444=>array(27,-59,974,841),37445=>array(42,-17,953,826),37446=>array(44,-73,950,829),37447=>array(56,-29,943,830),37448=>array(24,-30,957,829),37449=>array(35,-70,981,829),37450=>array(35,-71,920,830),37451=>array(33,-45,964,834),37452=>array(28,-70,981,831),37453=>array(32,-78,967,837),37454=>array(35,-30,954,834),37455=>array(27,-20,947,834),37456=>array(35,-71,950,838),37457=>array(70,-68,919,845),37458=>array(38,-29,952,833),37459=>array(31,-73,948,834),37460=>array(37,-29,953,828),37461=>array(37,-29,953,828),37462=>array(39,-78,986,840),37463=>array(37,-68,958,833),37464=>array(56,-62,932,829),37465=>array(56,-68,948,823),37466=>array(59,-74,912,837),37467=>array(51,-67,959,823),37468=>array(56,-64,962,837),37469=>array(56,-22,955,835),37470=>array(40,-62,966,829),37471=>array(56,-27,971,823),37472=>array(29,-74,976,830),37473=>array(44,-72,953,834),37474=>array(31,-73,980,831),37475=>array(39,-54,953,837),37476=>array(45,-59,919,834),37477=>array(31,-58,959,838),37478=>array(41,-18,954,832),37479=>array(36,-58,957,828),37480=>array(56,-58,934,836),37481=>array(56,-28,979,844),37482=>array(56,-22,954,830),37483=>array(46,-57,937,831),37484=>array(63,-69,913,831),37485=>array(38,-12,959,830),37486=>array(55,-62,913,838),37487=>array(34,-69,967,837),37488=>array(48,-71,908,838),37489=>array(37,-66,948,823),37490=>array(39,-70,953,844),37491=>array(36,-59,964,824),37492=>array(28,-17,947,835),37493=>array(41,-42,983,832),37494=>array(39,-53,907,847),37495=>array(35,-71,948,837),37496=>array(31,-63,973,840),37497=>array(44,-69,941,831),37498=>array(30,-64,959,833),37499=>array(34,-67,966,824),37500=>array(37,-59,962,854),37501=>array(53,-65,963,835),37502=>array(31,-71,969,830),37503=>array(41,-67,974,847),37504=>array(44,-56,968,827),37505=>array(56,-60,909,836),37506=>array(52,-69,903,835),37507=>array(39,-64,960,835),37508=>array(39,-64,914,844),37509=>array(50,-70,921,829),37510=>array(51,-70,949,833),37511=>array(59,-68,980,835),37512=>array(47,-31,956,837),37513=>array(34,-61,955,841),37514=>array(50,-71,957,836),37515=>array(43,-68,952,835),37516=>array(46,-69,955,841),37517=>array(34,-20,947,835),37518=>array(32,-14,968,800),37519=>array(26,-68,974,823),37520=>array(43,-32,967,828),37521=>array(33,-70,959,837),37522=>array(56,-69,956,823),37523=>array(35,-24,973,830),37524=>array(50,-70,955,834),37525=>array(33,-73,970,830),37526=>array(30,-64,967,839),37527=>array(47,-73,952,837),37528=>array(64,-69,903,840),37529=>array(54,-67,967,834),37530=>array(41,-66,964,838),37531=>array(37,-63,959,837),37532=>array(38,-73,961,832),37533=>array(35,-76,964,832),37534=>array(41,-22,964,848),37535=>array(47,-67,930,837),37536=>array(31,-36,958,831),37537=>array(43,-73,945,831),37538=>array(58,-70,969,832),37539=>array(54,-63,927,837),37540=>array(54,-73,964,832),37541=>array(37,-65,963,844),37542=>array(48,-52,921,834),37543=>array(52,-71,961,835),37544=>array(35,-63,951,848),37545=>array(42,-51,955,829),37546=>array(46,-65,954,837),37547=>array(51,-32,971,837),37548=>array(34,-63,956,832),37549=>array(56,-70,933,826),37550=>array(35,-27,960,825),37551=>array(56,-67,952,824),37552=>array(51,-66,949,835),37553=>array(30,-70,942,841),37554=>array(30,-52,958,841),37555=>array(39,-69,959,833),37556=>array(31,-37,987,838),37557=>array(42,-71,969,846),37558=>array(47,-62,975,835),37559=>array(50,-67,942,833),37560=>array(30,-67,953,827),37561=>array(35,-70,958,838),37562=>array(27,-47,987,832),37563=>array(60,-67,925,836),37564=>array(39,-23,955,835),37565=>array(28,-54,981,831),37566=>array(58,-70,969,832),37567=>array(29,-64,895,840),37568=>array(28,-30,953,839),37569=>array(53,-69,917,819),37570=>array(38,-75,975,832),37571=>array(50,-63,978,846),37572=>array(47,-74,984,835),37573=>array(46,-70,951,834),37574=>array(39,-25,964,835),37575=>array(48,-67,961,833),37576=>array(36,-25,967,838),37577=>array(43,-69,975,841),37578=>array(34,-68,984,840),37579=>array(48,-46,977,854),37580=>array(45,-69,968,834),37581=>array(35,-73,957,835),37582=>array(28,-66,970,844),37583=>array(42,-70,980,835),37584=>array(42,-65,957,834),37585=>array(32,-76,968,841),37586=>array(41,-61,980,841),37587=>array(42,-70,916,833),37588=>array(28,-67,967,848),37589=>array(57,-40,982,825),37590=>array(33,-74,959,838),37591=>array(36,-64,903,844),37592=>array(43,-72,978,823),37593=>array(35,-48,947,839),37594=>array(34,-25,966,842),37595=>array(41,-68,931,832),37596=>array(33,-73,970,838),37597=>array(37,-70,954,840),37598=>array(32,-30,954,833),37599=>array(38,-66,979,833),37600=>array(31,-78,971,846),37601=>array(37,-70,981,840),37602=>array(33,-56,973,838),37603=>array(42,-72,958,829),37604=>array(45,-70,919,834),37605=>array(33,-16,950,838),37606=>array(42,-68,930,829),37607=>array(36,-72,969,838),37608=>array(36,-64,955,836),37609=>array(39,-21,954,830),37610=>array(43,-70,951,835),37611=>array(19,-25,951,835),37612=>array(34,-24,966,833),37613=>array(39,-70,959,834),37614=>array(43,-70,964,840),37615=>array(46,-65,957,831),37616=>array(40,-27,954,836),37617=>array(35,-60,968,831),37618=>array(39,-64,954,835),37619=>array(37,-60,945,838),37620=>array(43,-66,954,838),37621=>array(39,-64,960,835),37622=>array(33,-70,973,843),37623=>array(26,-76,968,826),37624=>array(39,-68,945,830),37625=>array(25,-71,962,835),37626=>array(35,-67,965,831),37627=>array(37,-27,971,782),37628=>array(62,-68,908,824),37629=>array(33,-62,965,838),37630=>array(25,-70,914,836),37631=>array(28,-69,920,833),37632=>array(29,-64,982,841),37633=>array(37,-65,977,833),37634=>array(42,-57,971,842),37635=>array(34,-42,966,836),37636=>array(57,-64,968,841),37637=>array(49,-46,946,832),37638=>array(38,-64,953,842),37639=>array(38,-70,947,841),37640=>array(30,-41,978,839),37641=>array(40,-71,967,837),37642=>array(40,-64,960,845),37643=>array(21,-80,903,821),37644=>array(25,-70,941,836),37645=>array(37,-69,959,842),37646=>array(36,-68,905,836),37647=>array(29,-24,962,833),37648=>array(48,-68,954,832),37649=>array(33,-69,972,842),37650=>array(30,-66,956,826),37651=>array(28,-66,964,837),37652=>array(33,-53,975,841),37653=>array(53,-42,961,837),37654=>array(44,-32,981,836),37655=>array(30,-62,958,842),37656=>array(43,-32,952,832),37657=>array(44,-65,934,844),37658=>array(27,-64,957,832),37659=>array(36,-64,994,845),37660=>array(27,-27,971,840),37661=>array(24,-54,969,838),37662=>array(30,-58,951,846),37663=>array(35,-59,968,843),37664=>array(41,-72,963,839),37665=>array(38,-65,952,837),37666=>array(48,-67,956,832),37667=>array(31,-61,962,835),37668=>array(46,-74,981,833),37669=>array(33,-68,954,843),37670=>array(68,-67,920,849),37671=>array(37,-48,923,860),37672=>array(42,-67,956,836),37673=>array(49,-64,907,838),37674=>array(37,-58,973,838),37675=>array(55,-60,917,824),37676=>array(57,-64,973,835),37677=>array(36,-75,905,840),37678=>array(58,-70,917,836),37679=>array(39,-64,955,836),37680=>array(39,-90,986,836),37681=>array(54,-62,948,844),37682=>array(39,-64,973,836),37683=>array(44,-32,956,824),37684=>array(29,-30,956,825),37685=>array(29,-65,962,833),37686=>array(29,-57,974,841),37687=>array(29,-70,983,835),37688=>array(33,-64,975,836),37689=>array(40,-65,956,836),37690=>array(40,-65,958,837),37691=>array(50,-64,962,846),37692=>array(37,-65,978,838),37693=>array(44,-72,981,833),37694=>array(31,-18,938,825),37695=>array(34,-67,951,834),37696=>array(42,-53,957,845),37697=>array(33,-72,961,833),37698=>array(34,-31,982,843),37699=>array(34,-29,961,842),37700=>array(38,-60,967,832),37701=>array(50,-57,962,831),37702=>array(50,-65,921,830),37703=>array(52,-62,979,844),37704=>array(33,-64,964,835),37705=>array(36,-71,978,828),37706=>array(18,-53,969,847),37707=>array(54,-67,914,834),37708=>array(54,-43,971,817),37709=>array(46,-78,969,833),37710=>array(42,-68,951,837),37711=>array(47,-70,959,832),37712=>array(46,-67,983,839),37713=>array(44,-72,981,835),37714=>array(41,-71,979,834),37715=>array(41,-67,954,834),37716=>array(44,-60,965,839),37717=>array(47,-76,964,824),37718=>array(43,-74,955,818),37719=>array(50,-67,943,843),37720=>array(49,-67,915,830),37721=>array(49,-43,973,817),37722=>array(39,-68,964,825),37723=>array(42,-69,971,830),37724=>array(42,-50,963,842),37725=>array(42,-70,944,842),37726=>array(49,-81,978,832),37727=>array(49,-28,954,832),37728=>array(39,-21,957,851),37729=>array(32,-71,970,829),37730=>array(42,-65,948,842),37731=>array(47,-71,950,829),37732=>array(43,-64,960,844),37733=>array(48,-62,976,841),37734=>array(38,-69,957,841),37735=>array(52,-65,926,836),37736=>array(39,-58,955,835),37737=>array(37,-65,973,836),37738=>array(42,-23,981,842),37739=>array(43,-39,967,842),37740=>array(43,-73,974,833),37741=>array(39,-53,964,844),37742=>array(41,-63,969,840),37743=>array(41,-47,960,848),37744=>array(43,-67,981,844),37745=>array(35,-50,968,845),37746=>array(43,-52,963,843),37747=>array(39,-40,973,837),37748=>array(43,-63,954,843),37749=>array(38,-66,963,823),37750=>array(48,-32,965,823),37751=>array(36,-37,978,824),37752=>array(34,-71,923,833),37753=>array(45,-37,961,834),37754=>array(39,-64,950,838),37755=>array(57,-73,936,824),37756=>array(28,-60,963,842),37757=>array(36,-67,917,840),37758=>array(36,-30,959,842),37759=>array(36,-71,925,838),37760=>array(38,-67,976,837),37761=>array(38,-65,969,834),37762=>array(44,-74,968,837),37763=>array(35,-68,974,844),37764=>array(44,-75,969,842),37765=>array(26,-54,969,846),37766=>array(39,-73,951,833),37767=>array(44,-72,920,818),37768=>array(29,-49,956,848),37769=>array(35,-69,920,833),37770=>array(50,-67,925,847),37771=>array(44,-70,938,839),37772=>array(25,-66,970,847),37773=>array(34,-65,971,834),37774=>array(27,-69,978,842),37775=>array(33,-30,986,843),37776=>array(33,-58,957,835),37777=>array(34,-34,957,833),37778=>array(32,-70,970,826),37779=>array(44,-81,969,822),37780=>array(26,-51,963,842),37781=>array(39,-68,964,845),37782=>array(42,-70,970,837),37783=>array(41,-60,970,855),37784=>array(39,-67,954,826),37785=>array(33,-73,924,823),37786=>array(28,-73,965,838),37787=>array(40,-53,951,843),37788=>array(40,-50,976,846),37789=>array(40,-62,988,835),37790=>array(30,-50,960,845),37791=>array(34,-71,986,827),37792=>array(44,-37,953,834),37793=>array(33,-64,955,851),37794=>array(37,-66,950,839),37795=>array(39,-33,972,835),37796=>array(36,-61,974,836),37797=>array(40,-30,976,836),37798=>array(48,-67,925,830),37799=>array(37,-24,960,832),37800=>array(40,-65,965,840),37801=>array(47,-62,990,836),37802=>array(41,-72,975,835),37803=>array(44,-57,976,823),37804=>array(45,-70,936,832),37805=>array(37,-78,963,833),37806=>array(38,-69,952,836),37807=>array(32,-65,954,837),37808=>array(39,-38,961,824),37809=>array(33,-67,974,837),37810=>array(34,-63,980,838),37811=>array(35,-67,965,846),37812=>array(34,-42,980,836),37813=>array(32,-56,967,843),37814=>array(44,-64,929,818),37815=>array(44,-62,936,838),37816=>array(44,-66,950,837),37817=>array(37,-48,968,822),37818=>array(19,-73,981,837),37819=>array(48,-70,959,840),37820=>array(41,-70,942,835),37821=>array(39,-64,970,839),37822=>array(44,-38,968,818),37823=>array(49,-65,969,855),37824=>array(54,-67,926,834),37825=>array(43,-65,970,839),37826=>array(37,-35,957,828),37827=>array(31,-66,974,837),37828=>array(41,-67,962,838),37829=>array(37,-66,958,847),37830=>array(45,-66,955,830),37831=>array(28,-57,973,848),37832=>array(45,-63,969,835),37833=>array(48,-76,966,834),37834=>array(38,-30,979,846),37835=>array(31,-67,951,829),37836=>array(28,-57,978,844),37837=>array(34,-71,962,831),37838=>array(32,-71,962,831),37839=>array(40,-23,957,824),37840=>array(39,-69,960,841),37841=>array(35,-64,951,833),37842=>array(44,-67,983,841),37843=>array(44,-44,989,850),37844=>array(43,-71,965,840),37845=>array(36,-63,961,845),37846=>array(25,-66,967,837),37847=>array(34,-20,968,832),37848=>array(31,-65,953,833),37849=>array(47,-67,967,837),37850=>array(44,-70,982,835),37851=>array(44,-64,933,839),37852=>array(46,-23,956,827),37853=>array(39,-60,984,841),37854=>array(39,-70,956,839),37855=>array(40,-71,954,847),37856=>array(21,-52,989,843),37857=>array(34,-73,964,836),37858=>array(38,-64,965,824),37859=>array(28,-75,983,840),37860=>array(44,-64,956,835),37861=>array(44,-65,942,831),37862=>array(29,-55,979,847),37863=>array(48,-29,968,826),37864=>array(31,-21,962,836),37865=>array(34,-63,974,843),37866=>array(44,-69,978,828),37867=>array(44,-68,962,826),37868=>array(41,-68,942,835),37869=>array(29,-38,964,828),37870=>array(32,-66,966,848),37871=>array(39,-72,972,823),37872=>array(37,-74,930,841),37873=>array(35,-61,967,852),37874=>array(35,-67,949,848),37875=>array(32,-62,920,846),37876=>array(22,-65,970,841),37877=>array(35,-67,961,833),37878=>array(38,-67,981,836),37879=>array(32,-63,974,830),37880=>array(47,-42,982,825),37881=>array(43,-53,959,837),37882=>array(51,-68,993,848),37883=>array(66,-57,979,840),37884=>array(29,-68,979,837),37885=>array(23,-53,954,840),37886=>array(19,-76,969,834),37887=>array(39,-68,979,832),37888=>array(44,-80,954,834),37889=>array(24,-67,954,838),37890=>array(37,-71,946,839),37891=>array(37,-63,963,839),37892=>array(37,-70,971,839),37893=>array(60,-40,972,839),37894=>array(60,-30,972,846),37895=>array(35,-66,969,850),37896=>array(42,-62,964,841),37897=>array(42,-85,969,824),37898=>array(24,-67,954,838),37899=>array(27,-66,952,837),37900=>array(42,-67,988,825),37901=>array(47,-56,925,839),37902=>array(27,-66,975,844),37903=>array(44,-50,952,858),37904=>array(39,-67,973,846),37905=>array(41,-70,961,835),37906=>array(47,-65,952,833),37907=>array(29,-70,971,832),37908=>array(36,-53,943,839),37909=>array(27,-71,959,834),37910=>array(24,-69,963,836),37911=>array(29,-68,911,838),37912=>array(40,-31,956,839),37913=>array(32,-24,959,837),37914=>array(37,-48,968,839),37915=>array(41,-59,965,830),37916=>array(40,-34,958,847),37917=>array(48,-76,954,838),37918=>array(42,-59,962,839),37919=>array(37,-68,954,839),37920=>array(42,-64,954,844),37921=>array(44,-69,951,824),37922=>array(39,-30,972,826),37923=>array(47,-54,935,839),37924=>array(47,-56,938,834),37925=>array(37,-64,954,845),37926=>array(57,-73,905,839),37927=>array(57,-65,927,822),37928=>array(38,-71,966,835),37929=>array(45,-66,978,830),37930=>array(40,-71,954,833),37931=>array(35,-58,951,843),37932=>array(39,-69,959,829),37933=>array(42,-62,970,850),37934=>array(28,-79,969,847),37935=>array(37,-62,963,842),37936=>array(45,-68,973,834),37937=>array(50,-68,980,842),37938=>array(57,-58,930,827),37939=>array(52,-70,935,837),37940=>array(37,-69,972,845),37941=>array(44,-69,951,824),37942=>array(41,-67,976,837),37943=>array(46,-70,970,830),37944=>array(39,-64,951,840),37945=>array(44,-71,974,826),37946=>array(51,-65,945,838),37947=>array(39,-64,966,831),37948=>array(48,-75,967,830),37949=>array(45,-68,977,835),37950=>array(32,-17,951,838),37951=>array(36,-37,966,844),37952=>array(57,-68,979,835),37953=>array(37,-61,980,843),37954=>array(33,-70,963,836),37955=>array(44,-61,967,835),37956=>array(45,-65,960,835),37957=>array(43,-66,971,834),37958=>array(41,-68,969,826),37959=>array(37,-68,979,833),37960=>array(37,-65,974,829),37961=>array(52,-32,959,831),37962=>array(37,-64,970,835),37963=>array(53,-27,956,825),37964=>array(37,-64,977,849),37965=>array(60,-30,972,804),37966=>array(37,-27,959,839),37967=>array(46,-72,963,839),37968=>array(33,-70,961,831),37969=>array(30,-16,957,844),37970=>array(42,-34,974,841),37971=>array(33,-56,959,837),37972=>array(28,-69,977,845),37973=>array(46,-63,977,844),37974=>array(32,-67,968,839),37975=>array(36,-70,983,834),37976=>array(34,-63,933,830),37977=>array(17,-74,974,834),37978=>array(37,-60,981,845),37979=>array(46,-62,970,839),37980=>array(37,-72,954,839),37981=>array(31,-68,982,832),37982=>array(37,-62,964,842),37983=>array(37,-66,966,841),37984=>array(48,-68,982,840),37985=>array(37,-63,942,839),37986=>array(31,-58,960,847),37987=>array(35,-66,967,854),37988=>array(39,-68,969,827),37989=>array(34,-65,974,852),37990=>array(17,-57,989,839),37991=>array(34,-61,959,849),37992=>array(31,-65,973,837),37993=>array(30,-30,958,817),37994=>array(46,-72,957,829),37995=>array(32,-73,973,856),37996=>array(39,-64,964,839),37997=>array(49,-64,927,829),37998=>array(38,-65,964,831),37999=>array(27,-62,980,837),38000=>array(28,-68,969,845),38001=>array(38,-58,965,842),38002=>array(40,-67,974,854),38003=>array(31,-67,986,844),38004=>array(47,-67,951,828),38005=>array(36,-56,957,837),38006=>array(31,-67,975,834),38007=>array(32,-69,955,822),38008=>array(42,-27,969,827),38009=>array(36,-66,963,848),38010=>array(22,-65,967,839),38011=>array(34,-66,977,842),38012=>array(36,-70,960,829),38013=>array(48,-70,959,838),38014=>array(43,-29,967,845),38015=>array(52,-37,962,834),38016=>array(36,-72,974,833),38017=>array(35,-65,984,834),38018=>array(31,-71,970,832),38019=>array(49,-76,937,831),38020=>array(43,-65,961,846),38021=>array(249,-26,702,820),38022=>array(34,-37,943,826),38023=>array(39,-28,938,830),38024=>array(39,-69,933,830),38025=>array(39,-53,939,830),38026=>array(60,-64,890,828),38027=>array(39,-67,957,830),38028=>array(36,-65,926,822),38029=>array(39,-17,944,830),38030=>array(39,-75,942,830),38031=>array(35,-64,896,832),38032=>array(50,-64,931,827),38033=>array(39,-66,965,830),38034=>array(39,-74,942,830),38035=>array(39,-63,904,838),38036=>array(37,-59,902,830),38037=>array(39,-70,933,830),38038=>array(37,-66,926,830),38039=>array(35,-67,960,830),38040=>array(38,-63,948,830),38041=>array(28,-67,926,820),38042=>array(33,-72,952,828),38043=>array(39,-69,956,830),38044=>array(39,-30,937,830),38045=>array(39,-46,955,830),38046=>array(39,-51,958,830),38047=>array(39,-66,906,830),38048=>array(36,-60,914,830),38049=>array(39,-60,943,830),38050=>array(37,-58,913,830),38051=>array(39,-72,965,830),38052=>array(39,-72,960,837),38053=>array(39,-67,873,830),38054=>array(39,-69,963,836),38055=>array(39,-60,907,832),38056=>array(39,-52,918,839),38057=>array(39,-61,903,830),38058=>array(39,-68,963,845),38059=>array(39,-69,943,834),38060=>array(39,-69,966,830),38061=>array(39,-69,933,830),38062=>array(39,-28,935,826),38063=>array(39,-34,958,830),38064=>array(33,-28,934,830),38065=>array(38,-70,962,830),38066=>array(20,-22,950,823),38067=>array(39,-66,941,830),38068=>array(39,-67,940,831),38069=>array(25,-56,968,837),38070=>array(39,-59,946,830),38071=>array(39,-36,938,830),38072=>array(38,-70,927,833),38073=>array(39,-71,948,841),38074=>array(43,-64,949,826),38075=>array(39,-66,931,830),38076=>array(54,-70,894,826),38077=>array(41,-14,929,826),38078=>array(44,-69,897,826),38079=>array(29,-45,894,826),38080=>array(42,-73,888,821),38081=>array(36,-70,954,832),38082=>array(39,-71,903,843),38083=>array(37,-79,955,847),38084=>array(32,-60,955,832),38085=>array(43,-69,930,826),38086=>array(42,-70,915,834),38087=>array(43,-45,964,834),38088=>array(38,-66,937,841),38089=>array(24,-65,937,839),38090=>array(39,-33,940,846),38091=>array(33,-76,950,830),38092=>array(40,-62,937,827),38093=>array(46,-70,955,837),38094=>array(35,-60,955,826),38095=>array(30,-53,914,835),38096=>array(37,-66,949,829),38097=>array(39,-34,941,828),38098=>array(29,-66,937,826),38099=>array(39,-33,954,828),38100=>array(39,-45,957,826),38101=>array(37,-67,937,835),38102=>array(42,-72,945,827),38103=>array(31,-64,927,829),38104=>array(33,-72,935,818),38105=>array(36,-70,933,831),38106=>array(31,-18,947,829),38107=>array(55,-54,894,822),38108=>array(28,-72,917,823),38109=>array(49,-71,900,817),38110=>array(39,-68,908,816),38111=>array(45,-53,905,827),38112=>array(32,-19,948,824),38113=>array(50,-67,916,830),38114=>array(38,-66,950,837),38115=>array(40,-73,938,830),38116=>array(19,-71,951,833),38117=>array(49,-52,939,827),38118=>array(38,-64,958,834),38119=>array(9,-66,927,828),38120=>array(20,-27,936,816),38121=>array(20,-57,948,825),38122=>array(38,-69,958,845),38123=>array(19,-68,948,833),38124=>array(39,-69,945,821),38125=>array(44,-72,885,840),38126=>array(17,-62,919,825),38127=>array(48,-35,954,834),38128=>array(29,-65,952,835),38129=>array(27,-73,953,840),38130=>array(34,-68,938,847),38131=>array(19,-66,942,844),38132=>array(23,-61,891,822),38133=>array(33,-65,934,844),38134=>array(47,-60,971,825),38135=>array(28,-65,911,835),38136=>array(32,-64,923,832),38137=>array(12,-57,923,822),38138=>array(40,-62,934,832),38139=>array(27,-48,947,821),38140=>array(39,-61,970,823),38141=>array(19,-63,951,833),38142=>array(32,-56,943,825),38143=>array(31,-21,930,819),38144=>array(39,-69,923,831),38145=>array(37,-70,955,830),38146=>array(32,-27,952,833),38147=>array(39,-28,942,830),38148=>array(45,-76,916,833),38149=>array(34,-60,903,839),38150=>array(39,-67,941,827),38151=>array(37,-66,948,833),38152=>array(36,-68,963,827),38153=>array(22,-22,965,832),38154=>array(44,-71,944,819),38155=>array(29,-63,952,839),38156=>array(39,-73,943,831),38157=>array(40,-73,957,832),38158=>array(52,-61,896,830),38159=>array(45,-62,895,828),38160=>array(39,-74,942,835),38161=>array(61,-69,908,836),38162=>array(27,-66,961,843),38163=>array(19,-68,963,833),38164=>array(27,-70,914,833),38165=>array(30,-69,949,832),38166=>array(43,-72,950,828),38167=>array(35,-66,933,832),38168=>array(31,-69,943,837),38169=>array(50,-66,939,829),38170=>array(39,-69,939,827),38171=>array(24,-66,976,843),38172=>array(39,-63,970,839),38173=>array(30,-76,940,827),38174=>array(33,-67,967,833),38175=>array(40,-49,953,827),38176=>array(39,-63,909,826),38177=>array(28,-68,917,815),38178=>array(36,-73,900,827),38179=>array(43,-60,908,834),38180=>array(29,-30,932,833),38181=>array(35,-70,937,834),38182=>array(47,-68,904,846),38183=>array(29,-68,921,833),38184=>array(30,-71,961,824),38185=>array(42,-43,962,833),38186=>array(32,-28,953,822),38187=>array(38,-77,942,834),38188=>array(39,-62,952,842),38189=>array(42,-76,952,839),38190=>array(44,-67,955,826),38191=>array(43,-73,928,827),38192=>array(35,-36,939,821),38193=>array(34,-67,918,842),38194=>array(30,-64,959,832),38195=>array(29,-64,974,836),38196=>array(32,-64,959,837),38197=>array(40,-61,936,827),38198=>array(33,-34,957,827),38199=>array(30,-56,948,827),38200=>array(36,-66,943,841),38201=>array(38,-71,957,833),38202=>array(34,-30,959,838),38203=>array(37,-78,959,823),38204=>array(33,-71,966,832),38205=>array(43,-37,950,834),38206=>array(38,-68,964,842),38207=>array(31,-72,968,844),38208=>array(39,-82,957,846),38209=>array(39,-69,977,829),38210=>array(31,-67,953,824),38211=>array(29,-63,961,837),38212=>array(37,-70,932,826),38213=>array(39,-76,903,827),38214=>array(28,-80,957,810),38215=>array(21,-66,951,838),38216=>array(29,-53,951,843),38217=>array(19,-68,937,833),38218=>array(40,-69,946,828),38219=>array(29,-63,970,835),38220=>array(32,-73,945,833),38221=>array(37,-69,949,843),38222=>array(31,-75,968,842),38223=>array(35,-69,917,833),38224=>array(37,-72,919,848),38225=>array(37,-73,927,848),38226=>array(30,-27,951,832),38227=>array(22,-58,950,840),38228=>array(43,-60,941,826),38229=>array(29,-72,977,841),38230=>array(33,-66,956,833),38231=>array(36,-25,949,833),38232=>array(30,-62,973,833),38233=>array(42,-71,946,827),38234=>array(33,-74,919,833),38235=>array(33,-63,949,851),38236=>array(40,-70,958,836),38237=>array(31,-66,946,844),38238=>array(24,-68,965,839),38239=>array(31,-60,971,846),38240=>array(31,-61,973,831),38241=>array(34,-73,941,821),38242=>array(31,-77,970,830),38243=>array(35,-68,956,842),38244=>array(23,-65,961,833),38245=>array(43,-65,941,835),38246=>array(24,-72,959,836),38247=>array(31,-62,894,825),38248=>array(30,-66,943,843),38249=>array(50,-70,952,837),38250=>array(24,-58,958,822),38251=>array(43,-29,966,832),38252=>array(37,-66,968,832),38253=>array(51,-73,918,827),38254=>array(29,-76,974,833),38255=>array(29,-60,914,833),38256=>array(19,-80,953,844),38257=>array(24,-37,950,842),38258=>array(26,-74,959,842),38259=>array(27,-69,952,850),38260=>array(29,-62,964,842),38261=>array(29,-68,965,842),38262=>array(25,-80,971,843),38263=>array(69,-69,942,800),38264=>array(89,-16,892,784),38265=>array(57,-67,965,850),38266=>array(57,-72,962,831),38267=>array(58,-73,976,821),38268=>array(63,-73,921,785),38269=>array(60,-68,975,827),38270=>array(44,-65,986,786),38271=>array(60,-54,957,823),38272=>array(112,-71,871,782),38273=>array(132,-64,882,789),38274=>array(116,-67,890,788),38275=>array(125,-64,875,789),38276=>array(113,-73,936,803),38277=>array(125,-64,874,789),38278=>array(125,-70,888,782),38279=>array(132,-64,883,791),38280=>array(136,-75,895,783),38281=>array(109,-68,891,785),38282=>array(110,-74,891,779),38283=>array(110,-51,890,806),38284=>array(104,-61,909,792),38285=>array(109,-62,910,790),38286=>array(106,-53,883,797),38287=>array(109,-63,890,796),38288=>array(101,-70,903,782),38289=>array(129,-63,886,797),38290=>array(126,-55,899,801),38291=>array(125,-66,892,784),38292=>array(125,-65,902,790),38293=>array(125,-64,875,789),38294=>array(132,-64,882,789),38295=>array(108,-59,892,799),38296=>array(127,-60,883,796),38297=>array(132,-64,882,789),38298=>array(125,-64,875,789),38299=>array(128,-64,889,787),38300=>array(118,-69,898,782),38301=>array(109,-64,891,788),38302=>array(121,-68,900,783),38303=>array(112,-61,900,790),38304=>array(132,-64,882,789),38305=>array(109,-67,894,790),38306=>array(132,-64,882,789),38307=>array(113,-58,887,798),38308=>array(112,-62,888,789),38309=>array(125,-61,885,794),38310=>array(125,-64,875,789),38311=>array(110,-68,900,786),38312=>array(119,-71,894,791),38313=>array(112,-67,900,789),38314=>array(106,-68,896,786),38315=>array(113,-64,894,788),38316=>array(110,-64,890,788),38317=>array(117,-65,907,790),38318=>array(101,-59,899,791),38319=>array(125,-64,875,789),38320=>array(121,-61,895,787),38321=>array(112,-63,888,801),38322=>array(112,-54,888,802),38323=>array(125,-64,875,789),38324=>array(109,-64,891,788),38325=>array(113,-68,910,783),38326=>array(123,-70,912,789),38327=>array(32,-70,928,829),38328=>array(125,-64,875,789),38329=>array(106,-67,894,788),38330=>array(112,-70,916,796),38331=>array(120,-64,894,793),38332=>array(108,-65,894,797),38333=>array(110,-65,901,789),38334=>array(116,-64,906,790),38335=>array(124,-68,912,782),38336=>array(107,-69,893,810),38337=>array(125,-64,875,789),38338=>array(125,-64,875,789),38339=>array(130,-68,906,783),38340=>array(125,-64,875,799),38341=>array(110,-63,888,812),38342=>array(106,-59,890,796),38343=>array(108,-59,892,803),38344=>array(114,-65,909,790),38345=>array(101,-52,894,797),38346=>array(107,-67,897,783),38347=>array(113,-67,898,792),38348=>array(117,-68,904,788),38349=>array(123,-69,913,784),38350=>array(125,-64,875,789),38351=>array(125,-64,875,789),38352=>array(124,-69,914,789),38353=>array(110,-64,911,794),38354=>array(98,-52,895,805),38355=>array(128,-69,908,782),38356=>array(123,-71,910,785),38357=>array(115,-66,907,791),38358=>array(120,-56,895,794),38359=>array(100,-61,900,800),38360=>array(132,-64,882,789),38361=>array(119,-64,881,789),38362=>array(101,-56,893,794),38363=>array(114,-65,897,788),38364=>array(104,-70,904,792),38365=>array(102,-68,898,784),38366=>array(121,-68,916,783),38367=>array(116,-67,893,784),38368=>array(119,-69,917,790),38369=>array(114,-61,902,793),38370=>array(97,-70,902,785),38371=>array(116,-67,892,787),38372=>array(118,-68,915,789),38373=>array(116,-73,908,785),38374=>array(125,-64,875,789),38375=>array(125,-64,875,797),38376=>array(116,-57,874,823),38377=>array(115,-67,853,801),38378=>array(120,-57,879,821),38379=>array(100,-67,867,826),38380=>array(116,-57,874,823),38381=>array(106,-56,860,820),38382=>array(112,-64,864,802),38383=>array(98,-57,869,832),38384=>array(123,-59,883,815),38385=>array(109,-67,862,822),38386=>array(108,-65,873,818),38387=>array(104,-68,864,826),38388=>array(100,-60,859,820),38389=>array(107,-66,864,816),38390=>array(110,-69,865,826),38391=>array(121,-63,874,826),38392=>array(105,-63,872,823),38393=>array(109,-60,875,821),38394=>array(96,-61,870,819),38395=>array(111,-63,873,824),38396=>array(96,-64,867,823),38397=>array(119,-65,874,817),38398=>array(109,-61,867,828),38399=>array(109,-61,867,828),38400=>array(116,-59,889,824),38401=>array(104,-61,880,810),38402=>array(95,-60,866,830),38403=>array(100,-62,873,829),38404=>array(108,-63,862,817),38405=>array(100,-64,877,821),38406=>array(121,-64,879,823),38407=>array(111,-64,889,821),38408=>array(98,-69,871,818),38409=>array(99,-66,873,811),38410=>array(106,-70,872,822),38411=>array(109,-71,865,817),38412=>array(100,-67,868,826),38413=>array(103,-67,865,821),38414=>array(101,-63,873,815),38415=>array(109,-69,862,813),38416=>array(104,-59,858,830),38417=>array(106,-55,865,822),38418=>array(108,-64,874,828),38419=>array(108,-64,874,828),38420=>array(98,-56,876,831),38421=>array(91,-69,871,822),38422=>array(93,-66,870,821),38423=>array(103,-64,872,834),38424=>array(93,-66,870,821),38425=>array(97,-67,875,826),38426=>array(93,-64,868,830),38427=>array(112,-64,888,830),38428=>array(49,-69,942,854),38429=>array(358,-68,720,782),38430=>array(115,-69,926,824),38431=>array(101,-63,942,830),38432=>array(102,-63,960,789),38433=>array(104,-68,935,824),38434=>array(134,-63,964,791),38435=>array(109,-62,949,834),38436=>array(112,-61,969,832),38437=>array(112,-63,970,795),38438=>array(112,-69,959,820),38439=>array(112,-64,955,829),38440=>array(119,-68,959,793),38441=>array(119,-65,939,831),38442=>array(104,-67,964,795),38443=>array(86,-70,959,783),38444=>array(107,-52,959,858),38445=>array(109,-69,952,840),38446=>array(98,-68,935,788),38447=>array(119,-61,954,835),38448=>array(111,-58,960,829),38449=>array(121,-64,952,829),38450=>array(103,-77,953,827),38451=>array(99,-64,875,784),38452=>array(110,-69,883,788),38453=>array(80,-59,951,835),38454=>array(96,-63,946,837),38455=>array(96,-58,950,800),38456=>array(96,-68,963,837),38457=>array(110,-70,960,824),38458=>array(115,-69,965,832),38459=>array(97,-73,949,782),38460=>array(140,-63,964,845),38461=>array(135,-64,953,829),38462=>array(136,-77,975,850),38463=>array(93,-75,927,778),38464=>array(102,-71,946,824),38465=>array(102,-71,954,839),38466=>array(99,-68,948,836),38467=>array(116,-71,955,780),38468=>array(110,-79,945,842),38469=>array(89,-61,945,786),38470=>array(100,-50,924,838),38471=>array(98,-63,932,826),38472=>array(88,-63,930,826),38473=>array(96,-64,921,786),38474=>array(124,-73,942,834),38475=>array(99,-82,936,792),38476=>array(104,-69,941,785),38477=>array(101,-68,955,846),38478=>array(116,-70,966,823),38479=>array(111,-63,927,825),38480=>array(114,-61,945,795),38481=>array(110,-64,929,786),38482=>array(108,-77,956,845),38483=>array(103,-68,955,829),38484=>array(109,-63,960,849),38485=>array(100,-73,950,821),38486=>array(109,-69,972,843),38487=>array(109,-68,918,833),38488=>array(116,-69,958,783),38489=>array(81,-65,958,786),38490=>array(104,-69,962,833),38491=>array(95,-61,964,827),38492=>array(108,-74,958,829),38493=>array(89,-65,951,836),38494=>array(113,-62,959,838),38495=>array(123,-64,953,829),38496=>array(81,-67,951,839),38497=>array(116,-66,966,836),38498=>array(100,-70,959,831),38499=>array(102,-67,950,835),38500=>array(111,-65,956,853),38501=>array(108,-65,909,851),38502=>array(99,-66,952,831),38503=>array(99,-67,922,783),38504=>array(99,-67,929,783),38505=>array(100,-67,944,827),38506=>array(97,-67,939,835),38507=>array(115,-70,953,826),38508=>array(74,-75,963,795),38509=>array(116,-69,953,832),38510=>array(100,-69,954,835),38511=>array(110,-68,965,828),38512=>array(110,-68,964,843),38513=>array(104,-68,909,832),38514=>array(78,-70,935,810),38515=>array(104,-79,950,827),38516=>array(128,-69,974,845),38517=>array(95,-67,970,831),38518=>array(116,-62,917,837),38519=>array(119,-64,896,839),38520=>array(103,-58,951,833),38521=>array(113,-71,948,838),38522=>array(97,-66,958,846),38523=>array(119,-64,939,791),38524=>array(128,-71,967,830),38525=>array(89,-71,934,779),38526=>array(103,-77,967,783),38527=>array(93,-54,958,797),38528=>array(110,-58,956,828),38529=>array(99,-56,954,798),38530=>array(110,-68,964,851),38531=>array(103,-52,969,863),38532=>array(107,-61,972,791),38533=>array(99,-55,902,800),38534=>array(93,-60,959,848),38535=>array(97,-67,961,829),38536=>array(90,-60,964,800),38537=>array(114,-64,959,819),38538=>array(101,-71,950,837),38539=>array(92,-68,927,845),38540=>array(92,-68,943,844),38541=>array(92,-74,932,844),38542=>array(100,-60,958,832),38543=>array(99,-64,942,825),38544=>array(113,-62,952,828),38545=>array(116,-67,957,829),38546=>array(118,-68,963,843),38547=>array(118,-65,957,836),38548=>array(96,-56,932,801),38549=>array(92,-70,941,784),38550=>array(102,-70,928,839),38551=>array(97,-71,956,819),38552=>array(86,-64,957,804),38553=>array(109,-67,960,819),38554=>array(93,-69,954,835),38555=>array(93,-68,950,841),38556=>array(95,-65,941,830),38557=>array(93,-74,916,843),38558=>array(109,-72,983,832),38559=>array(83,-73,970,842),38560=>array(113,-62,965,838),38561=>array(113,-78,965,831),38562=>array(111,-65,973,823),38563=>array(100,-70,957,833),38564=>array(110,-66,960,836),38565=>array(110,-64,963,837),38566=>array(96,-68,937,845),38567=>array(85,-68,963,809),38568=>array(106,-68,967,838),38569=>array(98,-74,970,839),38570=>array(106,-66,962,855),38571=>array(106,-73,954,832),38572=>array(111,-68,947,781),38573=>array(106,-62,953,794),38574=>array(92,-57,952,864),38575=>array(101,-65,938,833),38576=>array(100,-75,934,786),38577=>array(112,-59,953,832),38578=>array(93,-69,920,826),38579=>array(38,-69,984,839),38580=>array(77,-66,936,830),38581=>array(85,-68,955,835),38582=>array(65,-57,958,833),38583=>array(47,-71,963,830),38584=>array(47,-71,963,828),38585=>array(31,-69,954,845),38586=>array(36,-69,937,847),38587=>array(32,-76,968,844),38588=>array(53,-69,947,840),38589=>array(34,-65,897,837),38590=>array(40,-61,932,824),38591=>array(53,-70,953,826),38592=>array(46,-73,948,833),38593=>array(39,-66,939,803),38594=>array(38,-68,951,831),38595=>array(49,-68,953,830),38596=>array(36,-68,953,827),38597=>array(48,-59,953,837),38598=>array(55,-67,962,831),38599=>array(31,-75,924,818),38600=>array(36,-67,952,834),38601=>array(55,-63,957,836),38602=>array(40,-67,956,842),38603=>array(40,-61,932,843),38604=>array(34,-71,956,833),38605=>array(49,-72,948,824),38606=>array(42,-59,956,837),38607=>array(40,-49,916,830),38608=>array(40,-78,928,833),38609=>array(39,-63,953,833),38610=>array(30,-70,949,841),38611=>array(28,-65,954,839),38612=>array(38,-70,955,827),38613=>array(31,-71,952,836),38614=>array(59,-65,954,828),38615=>array(53,-63,950,839),38616=>array(36,-71,975,826),38617=>array(42,-70,958,843),38618=>array(37,-62,946,833),38619=>array(43,-68,954,847),38620=>array(45,-61,955,833),38621=>array(53,-65,954,839),38622=>array(38,-68,956,842),38623=>array(46,-65,939,839),38624=>array(14,-59,925,822),38625=>array(44,-71,952,824),38626=>array(64,-73,957,834),38627=>array(43,-70,950,834),38628=>array(53,-82,914,809),38629=>array(32,-67,970,839),38630=>array(14,-59,965,822),38631=>array(20,-41,956,837),38632=>array(82,-65,943,778),38633=>array(60,-60,955,790),38634=>array(96,-69,888,800),38635=>array(75,-58,929,797),38636=>array(41,-63,948,784),38637=>array(69,-48,965,802),38638=>array(54,-34,964,796),38639=>array(59,-63,963,790),38640=>array(46,-62,971,822),38641=>array(46,-62,941,798),38642=>array(76,-71,930,805),38643=>array(30,-68,916,772),38644=>array(48,-16,941,781),38645=>array(45,-76,982,785),38646=>array(43,-63,961,810),38647=>array(105,-67,914,786),38648=>array(73,-67,938,785),38649=>array(41,-37,956,790),38650=>array(47,-64,926,787),38651=>array(85,-32,945,802),38652=>array(60,-67,936,781),38653=>array(66,-64,941,783),38654=>array(41,-68,941,782),38655=>array(55,-68,975,785),38656=>array(79,-70,930,787),38657=>array(32,-70,948,777),38658=>array(45,-62,981,792),38659=>array(68,-72,935,796),38660=>array(74,-52,916,800),38661=>array(78,-68,953,782),38662=>array(29,-72,947,811),38663=>array(35,-71,965,808),38664=>array(47,-64,951,791),38665=>array(70,-65,947,790),38666=>array(75,-28,930,778),38667=>array(73,-79,947,789),38668=>array(39,-59,899,787),38669=>array(56,-67,935,790),38670=>array(77,-67,943,790),38671=>array(61,-64,924,787),38672=>array(57,-67,974,787),38673=>array(67,-62,942,798),38674=>array(56,-67,970,827),38675=>array(39,-67,956,789),38676=>array(67,-54,939,798),38677=>array(55,-35,962,829),38678=>array(40,-67,968,789),38679=>array(81,-82,965,798),38680=>array(54,-67,913,788),38681=>array(34,-72,986,792),38682=>array(113,-53,949,791),38683=>array(68,-70,938,791),38684=>array(65,-68,909,785),38685=>array(96,-74,911,783),38686=>array(92,-59,967,813),38687=>array(46,-71,956,783),38688=>array(64,-72,968,783),38689=>array(43,-73,981,789),38690=>array(43,-72,969,824),38691=>array(58,-75,952,799),38692=>array(89,-55,902,802),38693=>array(54,-59,965,799),38694=>array(48,-67,967,787),38695=>array(51,-71,962,823),38696=>array(52,-60,939,800),38697=>array(90,-69,927,787),38698=>array(41,-64,924,797),38699=>array(82,-69,919,785),38700=>array(59,-69,941,783),38701=>array(52,-66,891,778),38702=>array(58,-49,955,780),38703=>array(51,-31,979,779),38704=>array(56,-65,964,796),38705=>array(60,-66,927,832),38706=>array(70,-62,965,817),38707=>array(88,-56,938,787),38708=>array(53,-16,975,829),38709=>array(63,-68,957,785),38710=>array(53,-53,959,785),38711=>array(83,-67,936,783),38712=>array(68,-70,900,815),38713=>array(31,-72,946,792),38714=>array(44,-63,964,819),38715=>array(57,-54,951,807),38716=>array(55,-64,971,846),38717=>array(60,-69,962,801),38718=>array(54,-56,949,794),38719=>array(43,-62,992,823),38720=>array(77,-70,948,808),38721=>array(94,-73,928,800),38722=>array(48,-73,941,790),38723=>array(33,-65,967,787),38724=>array(72,-64,928,799),38725=>array(48,-47,970,836),38726=>array(53,-56,949,829),38727=>array(65,-67,961,786),38728=>array(74,-28,929,779),38729=>array(55,-66,978,836),38730=>array(79,-51,934,795),38731=>array(61,-68,957,792),38732=>array(70,-79,939,825),38733=>array(42,-60,971,763),38734=>array(95,-58,971,763),38735=>array(43,-60,971,823),38736=>array(24,-50,981,809),38737=>array(104,-65,915,837),38738=>array(104,-65,915,837),38739=>array(51,-67,927,821),38740=>array(51,-67,938,852),38741=>array(38,-66,948,836),38742=>array(41,-66,952,840),38743=>array(55,-72,959,831),38744=>array(68,-63,968,841),38745=>array(70,-58,938,835),38746=>array(55,-74,976,832),38747=>array(53,-65,968,845),38748=>array(55,-72,950,829),38749=>array(48,-63,968,848),38750=>array(49,-65,944,826),38751=>array(49,-44,959,820),38752=>array(44,-73,925,838),38753=>array(36,-73,970,837),38754=>array(69,-77,924,784),38755=>array(69,-77,924,784),38756=>array(49,-26,963,849),38757=>array(31,-68,955,800),38758=>array(48,-57,957,797),38759=>array(33,-68,990,833),38760=>array(59,-69,949,807),38761=>array(73,-69,927,829),38762=>array(60,-69,951,825),38763=>array(57,-65,960,830),38764=>array(57,-69,953,831),38765=>array(54,-70,915,830),38766=>array(71,-50,919,851),38767=>array(51,-50,949,840),38768=>array(62,-68,969,828),38769=>array(62,-72,971,828),38770=>array(60,-68,968,833),38771=>array(60,-69,952,832),38772=>array(44,-67,969,824),38773=>array(60,-66,951,832),38774=>array(60,-65,956,835),38775=>array(63,-53,896,843),38776=>array(62,-74,971,837),38777=>array(48,-71,928,838),38778=>array(62,-64,986,830),38779=>array(65,-72,966,822),38780=>array(53,-64,955,829),38781=>array(63,-50,956,844),38782=>array(53,-70,947,824),38783=>array(65,-53,924,847),38784=>array(66,-71,917,831),38785=>array(69,-72,967,831),38786=>array(53,-71,967,823),38787=>array(61,-70,963,824),38788=>array(55,-67,961,824),38789=>array(42,-67,961,835),38790=>array(43,-70,957,823),38791=>array(53,-70,925,823),38792=>array(66,-73,978,843),38793=>array(66,-72,960,827),38794=>array(60,-69,953,829),38795=>array(53,-64,950,836),38796=>array(82,-58,966,830),38797=>array(59,-65,951,836),38798=>array(60,-71,970,830),38799=>array(53,-72,944,805),38800=>array(66,-68,940,834),38801=>array(51,-68,937,820),38802=>array(51,-66,949,826),38803=>array(51,-68,956,820),38804=>array(61,-70,969,838),38805=>array(49,-68,971,836),38806=>array(59,-74,959,836),38807=>array(39,-67,968,839),38808=>array(52,-70,943,835),38809=>array(62,-52,916,842),38810=>array(55,-50,955,859),38811=>array(73,-67,954,848),38812=>array(63,-68,961,829),38813=>array(64,-70,936,825),38814=>array(63,-73,959,830),38815=>array(73,-64,960,847),38816=>array(63,-65,919,847),38817=>array(62,-62,953,836),38818=>array(51,-68,976,828),38819=>array(45,-65,965,837),38820=>array(60,-67,954,836),38821=>array(56,-69,977,840),38822=>array(56,-66,968,841),38823=>array(56,-65,947,843),38824=>array(68,-69,922,827),38825=>array(46,-66,914,837),38826=>array(43,-68,952,841),38827=>array(66,-68,918,843),38828=>array(55,-72,967,829),38829=>array(47,-70,962,832),38830=>array(63,-68,975,826),38831=>array(53,-72,913,817),38832=>array(63,-69,951,817),38833=>array(53,-69,926,848),38834=>array(47,-79,952,821),38835=>array(51,-50,968,847),38836=>array(52,-70,948,820),38837=>array(47,-79,995,841),38838=>array(55,-48,943,855),38839=>array(54,-79,946,821),38840=>array(46,-69,952,825),38841=>array(51,-55,948,854),38842=>array(55,-70,956,824),38843=>array(65,-67,961,824),38844=>array(65,-68,970,833),38845=>array(65,-67,964,841),38846=>array(47,-67,948,836),38847=>array(54,-68,960,834),38848=>array(69,-65,961,831),38849=>array(62,-68,956,829),38850=>array(39,-65,950,842),38851=>array(55,-73,949,835),38852=>array(60,-73,967,823),38853=>array(53,-71,960,828),38854=>array(51,-76,968,834),38855=>array(66,-73,960,832),38856=>array(65,-64,981,839),38857=>array(68,-65,961,829),38858=>array(68,-58,946,808),38859=>array(72,-64,931,840),38860=>array(73,-62,901,844),38861=>array(59,-70,981,843),38862=>array(54,-71,981,841),38863=>array(39,-68,968,852),38864=>array(58,-69,985,847),38865=>array(23,-68,968,825),38866=>array(51,-70,943,834),38867=>array(54,-66,946,837),38868=>array(53,-75,973,836),38869=>array(68,-68,954,841),38870=>array(66,-67,977,840),38871=>array(59,-69,954,846),38872=>array(53,-67,976,840),38873=>array(39,-73,975,837),38874=>array(60,-66,949,834),38875=>array(68,-76,988,834),38876=>array(62,-70,951,842),38877=>array(57,-73,956,832),38878=>array(57,-70,959,839),38879=>array(53,-67,972,845),38880=>array(46,-73,952,831),38881=>array(62,-73,958,830),38882=>array(54,-73,966,830),38883=>array(65,-65,927,840),38884=>array(65,-65,981,840),38885=>array(62,-73,957,842),38886=>array(62,-73,894,820),38887=>array(61,-64,901,826),38888=>array(49,-80,948,840),38889=>array(47,-57,915,830),38890=>array(28,-66,945,809),38891=>array(50,-68,951,822),38892=>array(59,-76,901,817),38893=>array(65,-13,935,816),38894=>array(53,-24,947,823),38895=>array(49,-60,964,829),38896=>array(51,-35,956,820),38897=>array(49,-60,964,836),38898=>array(35,-29,966,826),38899=>array(72,-68,928,840),38900=>array(68,-74,932,842),38901=>array(66,-59,916,828),38902=>array(72,-64,914,818),38903=>array(56,-64,921,834),38904=>array(62,-72,972,834),38905=>array(65,-49,959,846),38906=>array(51,-72,973,835),38907=>array(66,-73,957,840),38908=>array(44,-56,951,841),38909=>array(50,-70,952,849),38910=>array(35,-70,941,825),38911=>array(63,-67,937,845),38912=>array(58,-74,976,824),38913=>array(79,-70,938,785),38914=>array(76,-68,950,791),38915=>array(126,-69,939,787),38916=>array(40,-79,961,826),38917=>array(48,-68,947,784),38918=>array(62,-76,960,801),38919=>array(54,-71,962,790),38920=>array(51,-71,946,817),38921=>array(40,-71,946,783),38922=>array(55,-71,961,788),38923=>array(29,-72,957,790),38924=>array(47,-64,964,790),38925=>array(45,-78,965,824),38926=>array(35,-68,970,833),38927=>array(49,-64,963,798),38928=>array(53,-70,959,781),38929=>array(42,-77,953,788),38930=>array(47,-66,957,822),38931=>array(53,-68,952,834),38932=>array(124,-68,952,788),38933=>array(128,-68,952,829),38934=>array(40,-60,966,844),38935=>array(32,-70,970,832),38936=>array(42,-68,955,839),38937=>array(38,-71,957,783),38938=>array(48,-64,966,792),38939=>array(42,-73,972,823),38940=>array(35,-70,962,831),38941=>array(53,-75,957,833),38942=>array(59,-53,968,856),38943=>array(37,-64,943,819),38944=>array(32,-68,967,836),38945=>array(62,-68,966,809),38946=>array(39,-68,956,801),38947=>array(95,-70,947,787),38948=>array(91,-70,963,787),38949=>array(96,-66,962,795),38950=>array(44,-65,961,844),38951=>array(107,-76,968,828),38952=>array(29,-79,971,782),38953=>array(44,-73,963,832),38954=>array(38,-68,961,832),38955=>array(36,-69,957,823),38956=>array(24,-61,959,830),38957=>array(52,-61,959,787),38958=>array(32,-78,975,802),38959=>array(32,-78,975,829),38960=>array(47,-71,967,840),38961=>array(48,-78,965,819),38962=>array(44,-79,964,793),38963=>array(36,-77,970,823),38964=>array(18,-82,959,826),38965=>array(25,-77,970,783),38966=>array(30,-61,959,814),38967=>array(38,-69,972,838),38968=>array(48,-72,959,789),38969=>array(35,-72,973,834),38970=>array(49,-65,965,824),38971=>array(45,-71,960,833),38972=>array(44,-72,973,829),38973=>array(35,-73,954,834),38974=>array(37,-68,948,826),38975=>array(33,-76,955,849),38976=>array(32,-73,951,836),38977=>array(38,-83,963,833),38978=>array(29,-73,964,833),38979=>array(52,-74,959,826),38980=>array(77,-71,962,788),38981=>array(42,-74,956,833),38982=>array(43,-68,964,788),38983=>array(34,-68,963,833),38984=>array(38,-82,959,826),38985=>array(44,-79,965,829),38986=>array(60,-78,953,840),38987=>array(35,-68,963,790),38988=>array(39,-60,956,787),38989=>array(41,-64,951,825),38990=>array(57,-63,959,794),38991=>array(57,-75,958,808),38992=>array(62,-81,971,783),38993=>array(38,-67,975,839),38994=>array(50,-73,964,788),38995=>array(53,-68,963,827),38996=>array(33,-65,961,830),38997=>array(45,-70,956,783),38998=>array(21,-77,967,831),38999=>array(47,-75,968,827),39000=>array(38,-57,962,796),39001=>array(45,-67,979,787),39002=>array(57,-78,964,834),39003=>array(43,-73,960,835),39004=>array(56,-72,970,829),39005=>array(69,-74,951,786),39006=>array(38,-67,960,828),39007=>array(40,-80,955,788),39008=>array(31,-73,960,784),39009=>array(39,-72,959,846),39010=>array(62,-65,973,830),39011=>array(33,-60,963,844),39012=>array(47,-48,963,850),39013=>array(46,-66,966,790),39014=>array(26,-48,963,840),39015=>array(41,-68,959,820),39016=>array(49,-70,959,808),39017=>array(36,-74,964,834),39018=>array(47,-68,978,831),39019=>array(56,-65,967,837),39020=>array(61,-67,952,788),39021=>array(47,-67,952,822),39022=>array(44,-64,965,844),39023=>array(43,-73,964,787),39024=>array(51,-64,958,843),39025=>array(28,-72,959,840),39026=>array(47,-66,964,847),39027=>array(35,-68,959,800),39028=>array(25,-62,961,844),39029=>array(78,-80,908,775),39030=>array(47,-60,930,783),39031=>array(88,-60,934,794),39032=>array(50,-66,937,774),39033=>array(37,-64,937,778),39034=>array(25,-61,940,822),39035=>array(30,-62,937,807),39036=>array(32,-68,933,772),39037=>array(31,-70,936,787),39038=>array(36,-61,953,787),39039=>array(59,-64,955,832),39040=>array(27,-68,935,814),39041=>array(35,-65,930,783),39042=>array(36,-65,936,783),39043=>array(27,-76,921,822),39044=>array(50,-65,936,779),39045=>array(36,-67,940,832),39046=>array(36,-60,940,830),39047=>array(18,-77,940,822),39048=>array(35,-59,943,783),39049=>array(55,-76,918,812),39050=>array(24,-61,933,830),39051=>array(33,-76,964,799),39052=>array(19,-69,915,830),39053=>array(21,-63,921,806),39054=>array(26,-70,942,827),39055=>array(32,-69,931,826),39056=>array(104,-70,929,778),39057=>array(51,-67,957,824),39058=>array(32,-71,950,802),39059=>array(47,-69,952,814),39060=>array(23,-76,933,822),39061=>array(18,-71,950,826),39062=>array(27,-70,942,827),39063=>array(22,-63,934,790),39064=>array(32,-63,941,788),39065=>array(117,-67,962,788),39066=>array(50,-73,937,778),39067=>array(52,-71,935,812),39068=>array(30,-68,940,832),39069=>array(31,-63,941,838),39070=>array(31,-70,921,784),39071=>array(50,-65,940,820),39072=>array(31,-70,940,827),39073=>array(29,-80,938,778),39074=>array(28,-72,937,782),39075=>array(32,-72,947,800),39076=>array(34,-81,964,861),39077=>array(61,-54,941,781),39078=>array(49,-62,927,832),39079=>array(22,-73,939,821),39080=>array(51,-68,967,783),39081=>array(43,-73,972,824),39082=>array(30,-73,965,797),39083=>array(24,-68,967,792),39084=>array(34,-68,954,787),39085=>array(32,-57,964,844),39086=>array(53,-63,967,850),39087=>array(32,-65,968,789),39088=>array(22,-57,955,825),39089=>array(37,-65,970,814),39090=>array(38,-71,967,820),39091=>array(41,-58,958,830),39092=>array(18,-57,944,822),39093=>array(41,-58,958,800),39094=>array(39,-62,959,800),39095=>array(33,-68,960,842),39096=>array(53,-64,963,809),39097=>array(17,-62,963,840),39098=>array(26,-61,967,791),39099=>array(42,-67,972,839),39100=>array(35,-65,970,829),39101=>array(44,-70,978,833),39102=>array(39,-75,970,781),39103=>array(40,-54,964,796),39104=>array(43,-73,961,833),39105=>array(36,-67,982,786),39106=>array(43,-60,970,798),39107=>array(26,-61,967,791),39108=>array(42,-74,970,784),39109=>array(43,-59,956,799),39110=>array(43,-68,980,832),39111=>array(43,-73,961,832),39112=>array(35,-64,966,820),39113=>array(31,-70,965,829),39114=>array(23,-62,974,791),39115=>array(31,-73,973,781),39116=>array(41,-65,974,829),39117=>array(26,-73,988,802),39118=>array(26,-63,942,790),39119=>array(20,-62,939,785),39120=>array(20,-62,939,804),39121=>array(16,-64,934,822),39122=>array(29,-67,936,812),39123=>array(8,-66,927,783),39124=>array(8,-65,939,783),39125=>array(20,-62,939,816),39126=>array(50,-58,972,819),39127=>array(20,-62,939,821),39128=>array(31,-60,963,789),39129=>array(43,-77,960,821),39130=>array(20,-70,931,817),39131=>array(64,-64,963,787),39132=>array(34,-69,967,824),39133=>array(55,-59,937,808),39134=>array(76,-59,936,770),39135=>array(43,-67,957,847),39136=>array(257,-34,731,839),39137=>array(48,-63,958,848),39138=>array(33,-54,962,839),39139=>array(41,-56,967,839),39140=>array(41,-73,936,839),39141=>array(28,-39,965,853),39142=>array(41,-50,966,839),39143=>array(42,-63,978,848),39144=>array(34,-76,939,822),39145=>array(40,-66,957,843),39146=>array(42,-31,949,838),39147=>array(40,-66,969,843),39148=>array(49,-81,957,840),39149=>array(42,-66,943,843),39150=>array(46,-68,957,844),39151=>array(34,-69,964,839),39152=>array(34,-64,951,843),39153=>array(40,-63,958,848),39154=>array(34,-64,969,839),39155=>array(46,-46,964,851),39156=>array(34,-55,956,842),39157=>array(34,-65,948,844),39158=>array(38,-56,960,842),39159=>array(34,-34,964,839),39160=>array(52,-63,958,848),39161=>array(40,-69,903,843),39162=>array(39,-84,979,824),39163=>array(36,-66,971,850),39164=>array(34,-68,906,839),39165=>array(36,-47,965,839),39166=>array(34,-70,944,839),39167=>array(39,-68,922,839),39168=>array(36,-74,985,839),39169=>array(36,-64,965,857),39170=>array(36,-52,954,857),39171=>array(40,-66,961,843),39172=>array(36,-65,948,857),39173=>array(34,-77,961,842),39174=>array(36,-70,960,857),39175=>array(31,-70,907,844),39176=>array(41,-54,964,852),39177=>array(40,-66,921,843),39178=>array(39,-70,964,843),39179=>array(39,-72,976,840),39180=>array(44,-69,958,841),39181=>array(46,-84,950,766),39182=>array(37,-64,982,844),39183=>array(38,-71,966,842),39184=>array(26,-64,974,840),39185=>array(43,-64,948,840),39186=>array(40,-66,959,843),39187=>array(34,-59,964,839),39188=>array(40,-66,944,843),39189=>array(36,-61,984,848),39190=>array(48,-44,953,846),39191=>array(42,-54,960,850),39192=>array(40,-66,971,843),39193=>array(36,-67,961,857),39194=>array(27,-64,956,855),39195=>array(32,-53,964,848),39196=>array(35,-64,980,828),39197=>array(40,-66,947,843),39198=>array(40,-67,959,843),39199=>array(34,-63,981,848),39200=>array(40,-66,957,843),39201=>array(40,-68,912,843),39202=>array(36,-65,956,857),39203=>array(24,-39,977,857),39204=>array(40,-66,961,843),39205=>array(47,-77,982,829),39206=>array(36,-62,978,857),39207=>array(32,-64,968,850),39208=>array(34,-64,931,839),39209=>array(37,-71,972,839),39210=>array(41,-73,990,834),39211=>array(36,-69,956,836),39212=>array(33,-78,918,838),39213=>array(38,-47,958,824),39214=>array(34,-75,943,832),39215=>array(40,-67,989,834),39216=>array(40,-71,959,834),39217=>array(33,-49,964,859),39218=>array(28,-60,915,848),39219=>array(48,-59,959,830),39220=>array(36,-68,963,857),39221=>array(25,-65,978,845),39222=>array(34,-34,947,853),39223=>array(36,-30,969,857),39224=>array(32,-48,975,845),39225=>array(36,-64,954,857),39226=>array(36,-65,951,832),39227=>array(36,-66,960,854),39228=>array(34,-64,971,846),39229=>array(40,-66,960,843),39230=>array(39,-69,932,843),39231=>array(41,-65,971,840),39232=>array(29,-63,950,835),39233=>array(18,-15,966,846),39234=>array(40,-66,959,843),39235=>array(34,-69,972,844),39236=>array(36,-30,964,857),39237=>array(40,-66,957,843),39238=>array(38,-68,950,834),39239=>array(36,-41,956,816),39240=>array(38,-55,955,847),39241=>array(40,-66,948,843),39242=>array(36,-84,957,859),39243=>array(40,-75,954,843),39244=>array(38,-66,959,843),39245=>array(24,-65,962,846),39246=>array(20,-68,956,843),39247=>array(29,-76,982,835),39248=>array(40,-66,953,843),39249=>array(28,-70,968,841),39250=>array(40,-68,962,843),39251=>array(26,-69,983,835),39252=>array(10,-74,957,849),39253=>array(17,-72,972,832),39254=>array(30,-64,967,828),39255=>array(35,-69,955,841),39256=>array(30,-33,960,849),39257=>array(32,-74,970,837),39258=>array(45,-30,929,857),39259=>array(38,-68,971,834),39260=>array(29,-71,982,816),39261=>array(29,-67,950,851),39262=>array(36,-70,960,839),39263=>array(30,-63,982,849),39264=>array(42,-65,956,837),39265=>array(41,-74,964,839),39266=>array(31,-64,983,839),39267=>array(242,2,685,829),39268=>array(31,-43,953,840),39269=>array(32,-60,948,840),39270=>array(31,-26,943,840),39271=>array(30,-66,891,826),39272=>array(25,-38,920,829),39273=>array(20,-67,939,825),39274=>array(40,-13,927,829),39275=>array(41,-69,957,829),39276=>array(41,-70,926,836),39277=>array(48,-71,953,829),39278=>array(47,-68,949,836),39279=>array(43,-58,953,836),39280=>array(42,-73,946,842),39281=>array(37,-28,946,835),39282=>array(41,-68,895,836),39283=>array(45,-68,911,830),39284=>array(41,-57,940,839),39285=>array(33,-67,927,829),39286=>array(36,-73,964,821),39287=>array(41,-66,912,841),39288=>array(49,-60,956,844),39289=>array(32,-65,975,837),39290=>array(42,-65,950,835),39291=>array(41,-71,966,836),39292=>array(39,-72,946,841),39293=>array(41,-65,931,831),39294=>array(41,-36,953,829),39295=>array(44,-61,946,829),39296=>array(41,-65,959,840),39297=>array(41,-79,946,831),39298=>array(36,-61,972,848),39299=>array(32,-68,964,825),39300=>array(40,-60,955,825),39301=>array(42,-70,881,838),39302=>array(47,-67,913,844),39303=>array(26,-16,947,821),39304=>array(37,-64,949,828),39305=>array(38,-71,943,829),39306=>array(41,-68,954,829),39307=>array(34,-68,960,827),39308=>array(48,-53,947,833),39309=>array(35,-71,935,817),39310=>array(43,-65,962,835),39311=>array(44,-67,916,838),39312=>array(27,-67,937,836),39313=>array(31,-43,938,813),39314=>array(27,-65,951,829),39315=>array(26,-90,955,822),39316=>array(29,-64,942,828),39317=>array(30,-81,948,821),39318=>array(95,-67,926,843),39319=>array(34,-64,959,831),39320=>array(55,-65,964,834),39321=>array(40,-65,955,817),39322=>array(40,-62,973,823),39323=>array(40,-74,966,841),39324=>array(40,-71,971,821),39325=>array(33,-77,965,828),39326=>array(44,-68,963,830),39327=>array(59,-68,958,827),39328=>array(70,-70,971,832),39329=>array(52,-69,956,824),39330=>array(34,-68,956,832),39331=>array(37,-62,975,833),39332=>array(48,-62,940,839),39333=>array(18,-62,974,838),39334=>array(33,-68,988,835),39335=>array(33,-61,983,839),39336=>array(28,-69,972,844),39337=>array(28,-67,956,839),39338=>array(33,-78,974,844),39339=>array(45,-70,975,816),39340=>array(56,-65,909,776),39341=>array(35,-68,964,790),39342=>array(52,-64,912,784),39343=>array(45,-73,950,781),39344=>array(56,-62,920,829),39345=>array(49,-63,964,833),39346=>array(36,-63,949,809),39347=>array(47,-62,951,836),39348=>array(53,-57,893,829),39349=>array(53,-69,947,782),39350=>array(30,-67,965,835),39351=>array(45,-62,954,840),39352=>array(45,-53,930,812),39353=>array(45,-52,891,803),39354=>array(32,-74,981,780),39355=>array(35,-71,978,825),39356=>array(40,-65,964,793),39357=>array(46,-68,909,783),39358=>array(25,-66,969,831),39359=>array(38,-57,931,827),39360=>array(45,-55,970,831),39361=>array(47,-66,967,826),39362=>array(55,-74,924,812),39363=>array(53,-69,982,826),39364=>array(45,-69,961,833),39365=>array(45,-66,973,797),39366=>array(27,-52,948,799),39367=>array(47,-76,988,832),39368=>array(28,-48,954,814),39369=>array(39,-66,905,785),39370=>array(45,-63,1002,841),39371=>array(45,-71,921,785),39372=>array(47,-68,965,833),39373=>array(42,-70,954,783),39374=>array(38,-68,906,823),39375=>array(40,-69,954,782),39376=>array(49,-57,956,829),39377=>array(48,-68,937,847),39378=>array(36,-62,919,845),39379=>array(39,-63,971,783),39380=>array(43,-63,957,790),39381=>array(56,-65,897,836),39382=>array(43,-73,981,842),39383=>array(47,-74,987,833),39384=>array(45,-60,964,839),39385=>array(28,-64,962,837),39386=>array(34,-66,972,827),39387=>array(37,-62,961,833),39388=>array(46,-66,974,830),39389=>array(55,-61,943,795),39390=>array(28,-55,962,829),39391=>array(43,-58,916,788),39392=>array(35,-71,938,823),39393=>array(39,-66,911,789),39394=>array(27,-73,962,835),39395=>array(42,-70,966,826),39396=>array(37,-72,959,780),39397=>array(39,-71,969,832),39398=>array(49,-62,957,830),39399=>array(46,-68,918,786),39400=>array(45,-60,944,836),39401=>array(35,-66,975,787),39402=>array(34,-71,964,826),39403=>array(45,-66,990,831),39404=>array(35,-71,957,786),39405=>array(46,-60,949,804),39406=>array(40,-60,961,820),39407=>array(45,-65,966,836),39408=>array(54,-67,924,785),39409=>array(64,-62,972,839),39410=>array(45,-65,927,835),39411=>array(33,-66,968,834),39412=>array(46,-66,975,824),39413=>array(30,-57,965,799),39414=>array(43,-65,927,783),39415=>array(37,-66,985,828),39416=>array(35,-61,946,788),39417=>array(31,-67,967,825),39418=>array(43,-73,980,838),39419=>array(46,-59,959,792),39420=>array(29,-77,974,834),39421=>array(53,-65,927,788),39422=>array(44,-67,966,814),39423=>array(44,-69,967,849),39424=>array(42,-63,951,831),39425=>array(42,-63,949,836),39426=>array(52,-59,954,853),39427=>array(42,-58,973,861),39428=>array(39,-65,974,829),39429=>array(48,-66,957,836),39430=>array(53,-74,927,782),39431=>array(37,-65,991,832),39432=>array(42,-64,953,843),39433=>array(32,-63,979,786),39434=>array(64,-63,924,832),39435=>array(33,-65,981,829),39436=>array(42,-65,958,845),39437=>array(45,-65,982,790),39438=>array(44,-62,956,834),39439=>array(33,-71,970,831),39440=>array(42,-63,956,845),39441=>array(39,-58,952,844),39442=>array(49,-64,963,791),39443=>array(48,-63,973,837),39444=>array(46,-66,937,787),39445=>array(35,-69,956,785),39446=>array(60,-68,958,845),39447=>array(32,-58,969,833),39448=>array(27,-63,974,850),39449=>array(39,-66,933,807),39450=>array(39,-62,960,835),39451=>array(29,-73,968,780),39452=>array(41,-65,970,843),39453=>array(25,-68,977,828),39454=>array(40,-70,967,828),39455=>array(32,-63,937,862),39456=>array(48,-75,988,781),39457=>array(42,-66,957,842),39458=>array(30,-68,980,784),39459=>array(40,-57,960,849),39460=>array(44,-68,978,841),39461=>array(33,-67,984,788),39462=>array(42,-63,968,788),39463=>array(48,-48,917,809),39464=>array(42,-73,945,843),39465=>array(47,-68,979,838),39466=>array(48,-64,973,831),39467=>array(37,-61,976,837),39468=>array(41,-65,984,838),39469=>array(54,-71,939,830),39470=>array(46,-64,924,834),39471=>array(27,-65,939,843),39472=>array(40,-72,967,840),39473=>array(29,-63,972,840),39474=>array(56,-64,965,830),39475=>array(42,-63,944,788),39476=>array(35,-65,955,788),39477=>array(44,-74,967,783),39478=>array(58,-66,923,849),39479=>array(49,-64,970,791),39480=>array(51,-63,941,840),39481=>array(20,-63,966,812),39482=>array(55,-69,959,829),39483=>array(37,-63,968,834),39484=>array(31,-63,965,843),39485=>array(48,-64,922,787),39486=>array(30,-73,961,801),39487=>array(36,-75,959,832),39488=>array(57,-69,968,832),39489=>array(58,-68,956,847),39490=>array(40,-71,984,857),39491=>array(33,-63,949,792),39492=>array(28,-63,973,837),39493=>array(46,-66,951,794),39494=>array(50,-64,958,787),39495=>array(54,-66,946,830),39496=>array(52,-63,937,789),39497=>array(40,-55,955,831),39498=>array(29,-68,962,836),39499=>array(22,-62,989,846),39500=>array(31,-64,962,837),39501=>array(35,-65,967,837),39502=>array(23,-51,943,844),39503=>array(51,-72,963,789),39504=>array(45,-63,980,835),39505=>array(27,-71,956,797),39506=>array(48,-62,948,791),39507=>array(53,-69,924,831),39508=>array(42,-64,961,789),39509=>array(48,-56,979,833),39510=>array(35,-68,977,837),39511=>array(37,-70,962,846),39512=>array(41,-67,973,843),39513=>array(36,-60,964,852),39514=>array(52,-65,951,846),39515=>array(25,-62,945,788),39516=>array(54,-68,951,825),39517=>array(37,-77,962,844),39518=>array(36,-78,974,844),39519=>array(34,-61,964,791),39520=>array(41,-74,970,824),39521=>array(46,-53,964,839),39522=>array(38,-64,951,836),39523=>array(26,-63,972,845),39524=>array(50,-75,976,833),39525=>array(27,-70,955,834),39526=>array(49,-61,930,789),39527=>array(35,-62,937,832),39528=>array(45,-66,927,826),39529=>array(52,-60,959,829),39530=>array(26,-73,964,789),39531=>array(57,-62,938,803),39532=>array(83,-57,892,790),39533=>array(64,-70,945,789),39534=>array(69,-65,947,831),39535=>array(64,-58,876,826),39536=>array(72,-55,933,834),39537=>array(40,-54,926,786),39538=>array(68,-58,891,803),39539=>array(43,-69,951,844),39540=>array(41,-55,896,845),39541=>array(37,-60,936,784),39542=>array(58,-70,953,831),39543=>array(49,-57,897,778),39544=>array(51,-66,940,835),39545=>array(91,-60,914,844),39546=>array(34,-59,872,822),39547=>array(47,-57,942,842),39548=>array(72,-57,926,839),39549=>array(29,-62,944,826),39550=>array(44,-60,912,831),39551=>array(42,-73,959,772),39552=>array(47,-63,949,840),39553=>array(36,-62,941,824),39554=>array(84,-59,890,787),39555=>array(57,-58,924,785),39556=>array(33,-62,940,836),39557=>array(42,-71,941,823),39558=>array(66,-64,953,836),39559=>array(59,-63,933,848),39560=>array(47,-75,945,847),39561=>array(39,-67,936,820),39562=>array(41,-65,920,768),39563=>array(62,-60,950,834),39564=>array(33,-63,943,835),39565=>array(62,-59,954,853),39566=>array(33,-68,968,786),39567=>array(61,-69,943,833),39568=>array(47,-73,949,829),39569=>array(61,-64,939,828),39570=>array(47,-67,956,788),39571=>array(57,-65,941,834),39572=>array(47,-65,958,845),39573=>array(33,-73,957,833),39574=>array(44,-74,953,833),39575=>array(37,-63,927,833),39576=>array(89,-63,934,829),39577=>array(47,-68,978,841),39578=>array(57,-66,953,789),39579=>array(43,-69,954,828),39580=>array(36,-73,951,831),39581=>array(57,-66,904,826),39582=>array(33,-62,947,840),39583=>array(55,-64,901,834),39584=>array(57,-62,944,789),39585=>array(64,-62,936,787),39586=>array(57,-55,956,836),39587=>array(53,-69,942,782),39588=>array(26,-73,953,779),39589=>array(49,-72,936,834),39590=>array(49,-62,931,790),39591=>array(48,-67,952,834),39592=>array(101,-55,899,806),39593=>array(79,-68,965,822),39594=>array(59,-67,978,787),39595=>array(78,-68,964,822),39596=>array(76,-63,967,791),39597=>array(76,-53,951,801),39598=>array(70,-52,967,825),39599=>array(91,-66,958,844),39600=>array(60,-68,963,783),39601=>array(62,-67,952,845),39602=>array(90,-60,967,849),39603=>array(82,-72,973,829),39604=>array(65,-68,958,824),39605=>array(54,-54,971,839),39606=>array(69,-65,962,826),39607=>array(74,-67,948,833),39608=>array(57,-62,958,824),39609=>array(68,-71,961,838),39610=>array(62,-74,945,829),39611=>array(78,-69,962,829),39612=>array(47,-71,937,838),39613=>array(37,-74,959,835),39614=>array(78,-51,970,810),39615=>array(78,-70,953,835),39616=>array(58,-69,930,844),39617=>array(61,-68,964,786),39618=>array(63,-68,957,848),39619=>array(42,-73,943,783),39620=>array(46,-57,967,839),39621=>array(61,-70,940,807),39622=>array(74,-68,947,835),39623=>array(71,-65,941,840),39624=>array(52,-71,954,843),39625=>array(32,-71,959,841),39626=>array(65,-66,948,831),39627=>array(43,-72,938,825),39628=>array(67,-76,937,818),39629=>array(51,-64,968,837),39630=>array(69,-74,962,789),39631=>array(55,-66,941,841),39632=>array(62,-64,956,829),39633=>array(67,-67,908,783),39634=>array(80,-64,958,833),39635=>array(51,-72,947,837),39636=>array(79,-70,934,829),39637=>array(69,-53,955,862),39638=>array(57,-67,948,849),39639=>array(84,-64,954,836),39640=>array(102,-67,916,828),39641=>array(102,-67,916,833),39642=>array(70,-67,958,848),39643=>array(47,-66,968,849),39644=>array(70,-71,956,847),39645=>array(74,-68,926,848),39646=>array(56,-67,946,840),39647=>array(68,-50,956,847),39648=>array(39,-58,963,837),39649=>array(51,-62,961,832),39650=>array(51,-21,953,832),39651=>array(51,-59,957,832),39652=>array(31,-64,973,846),39653=>array(63,-61,967,839),39654=>array(51,-34,955,834),39655=>array(32,-67,967,839),39656=>array(34,-58,964,839),39657=>array(58,-59,959,782),39658=>array(51,-61,956,853),39659=>array(62,-64,970,844),39660=>array(39,-25,964,829),39661=>array(46,-44,962,853),39662=>array(51,-61,956,853),39663=>array(65,-64,969,839),39664=>array(72,-37,948,823),39665=>array(40,-43,966,830),39666=>array(39,-73,958,832),39667=>array(65,-50,938,849),39668=>array(55,-65,950,833),39669=>array(44,-70,949,837),39670=>array(50,-70,957,832),39671=>array(69,-67,957,835),39672=>array(44,-69,948,837),39673=>array(53,-64,989,841),39674=>array(60,-68,948,832),39675=>array(66,-63,957,836),39676=>array(52,-65,966,845),39677=>array(55,-31,956,840),39678=>array(62,-74,952,834),39679=>array(61,-57,981,856),39680=>array(35,-71,962,857),39681=>array(60,-50,942,857),39682=>array(51,-51,942,857),39683=>array(74,-59,955,834),39684=>array(59,-64,965,843),39685=>array(44,-68,962,828),39686=>array(41,-70,964,846),39687=>array(47,-50,964,853),39688=>array(29,-32,968,842),39689=>array(60,-66,956,831),39690=>array(52,-72,973,834),39691=>array(58,-64,954,849),39692=>array(40,-67,967,835),39693=>array(68,-68,949,846),39694=>array(49,-53,943,851),39695=>array(35,-69,942,825),39696=>array(65,-63,955,847),39697=>array(39,-50,965,853),39698=>array(40,-59,954,853),39699=>array(59,-83,903,824),39700=>array(53,-72,979,836),39701=>array(57,-77,971,856),39702=>array(50,-56,969,851),39703=>array(62,-70,968,838),39704=>array(46,-65,980,851),39705=>array(72,-55,961,851),39706=>array(48,-68,957,841),39707=>array(53,-66,955,829),39708=>array(38,-61,938,823),39709=>array(38,-61,938,823),39710=>array(38,-63,966,846),39711=>array(24,-68,949,839),39712=>array(50,-80,966,852),39713=>array(40,-45,932,855),39714=>array(58,-69,959,837),39715=>array(41,-62,944,839),39716=>array(52,-71,958,845),39717=>array(116,-71,891,826),39718=>array(116,-71,891,826),39719=>array(116,-61,893,835),39720=>array(118,-63,894,830),39721=>array(115,-65,898,832),39722=>array(102,-57,897,839),39723=>array(105,-55,901,840),39724=>array(107,-61,907,833),39725=>array(99,-71,901,823),39726=>array(110,-65,917,832),39727=>array(122,-24,909,826),39728=>array(53,-79,953,840),39729=>array(53,-58,952,845),39730=>array(72,-64,945,791),39731=>array(41,-68,927,826),39732=>array(60,-70,948,833),39733=>array(51,-64,955,783),39734=>array(54,-40,969,838),39735=>array(60,-67,977,826),39736=>array(40,-64,923,834),39737=>array(54,-50,939,813),39738=>array(55,-69,952,830),39739=>array(72,-64,927,830),39740=>array(45,-58,962,850),39741=>array(49,-62,973,836),39742=>array(49,-75,973,836),39743=>array(53,-66,968,843),39744=>array(37,-65,962,843),39745=>array(26,-76,959,848),39746=>array(46,-62,960,857),39747=>array(40,-35,941,840),39748=>array(74,-38,952,854),39749=>array(35,-66,962,839),39750=>array(39,-77,977,845),39751=>array(47,-75,960,770),39752=>array(34,-67,968,844),39753=>array(21,-69,929,823),39754=>array(34,-67,977,841),39755=>array(46,-76,961,842),39756=>array(38,-68,963,843),39757=>array(39,-48,960,841),39758=>array(38,-63,970,847),39759=>array(39,-70,966,836),39760=>array(26,-76,957,849),39761=>array(38,-63,966,841),39762=>array(28,-68,956,846),39763=>array(28,-56,956,849),39764=>array(27,-69,960,840),39765=>array(35,-75,970,834),39766=>array(38,-70,964,836),39767=>array(58,-70,960,851),39768=>array(44,-68,947,797),39769=>array(51,-70,965,831),39770=>array(43,-70,956,849),39771=>array(43,-66,894,841),39772=>array(88,-73,976,841),39773=>array(61,-65,887,841),39774=>array(43,-45,958,841),39775=>array(33,-48,957,842),39776=>array(35,-49,949,844),39777=>array(31,-71,916,839),39778=>array(31,-49,973,839),39779=>array(31,-61,945,839),39780=>array(41,-73,979,832),39781=>array(31,-49,976,839),39782=>array(39,-66,966,832),39783=>array(35,-70,976,835),39784=>array(35,-32,959,846),39785=>array(31,-49,931,839),39786=>array(31,-49,969,839),39787=>array(31,-49,969,839),39788=>array(40,-78,963,834),39789=>array(31,-49,955,839),39790=>array(31,-49,974,839),39791=>array(51,-68,947,837),39792=>array(39,-74,978,834),39793=>array(38,-32,954,835),39794=>array(31,-49,952,839),39795=>array(31,-74,948,839),39796=>array(34,-73,953,837),39797=>array(41,-62,973,837),39798=>array(34,-65,905,834),39799=>array(43,-64,966,841),39800=>array(31,-49,950,839),39801=>array(31,-56,954,839),39802=>array(47,-71,964,836),39803=>array(57,-69,919,833),39804=>array(48,-70,963,830),39805=>array(42,-70,961,831),39806=>array(44,-52,964,819),39807=>array(31,-73,981,842),39808=>array(38,-38,948,852),39809=>array(31,-61,962,839),39810=>array(52,-64,914,832),39811=>array(44,-65,948,843),39812=>array(16,-62,932,839),39813=>array(45,-67,982,831),39814=>array(44,-58,963,850),39815=>array(38,-67,976,837),39816=>array(52,-70,927,830),39817=>array(31,-70,950,839),39818=>array(33,-66,886,843),39819=>array(31,-69,944,839),39820=>array(31,-71,961,840),39821=>array(31,-73,971,839),39822=>array(45,-64,957,838),39823=>array(31,-49,947,839),39824=>array(42,-65,960,839),39825=>array(44,-46,967,844),39826=>array(39,-60,959,851),39827=>array(48,-61,961,845),39828=>array(31,-49,933,839),39829=>array(57,-71,970,838),39830=>array(31,-49,935,839),39831=>array(31,-77,948,839),39832=>array(44,-54,935,836),39833=>array(31,-49,908,839),39834=>array(44,-62,958,839),39835=>array(31,-75,976,834),39836=>array(31,-63,953,839),39837=>array(14,-67,991,836),39838=>array(51,-67,970,839),39839=>array(31,-51,964,839),39840=>array(33,-55,954,849),39841=>array(40,-69,972,833),39842=>array(46,-78,995,829),39843=>array(45,-67,915,839),39844=>array(55,-76,954,826),39845=>array(38,-69,984,840),39846=>array(36,-61,910,842),39847=>array(31,-49,954,839),39848=>array(40,-39,953,844),39849=>array(31,-49,937,853),39850=>array(44,-67,959,839),39851=>array(48,-66,959,843),39852=>array(31,-62,961,843),39853=>array(35,-39,967,847),39854=>array(44,-60,960,843),39855=>array(32,-72,974,834),39856=>array(31,-49,939,839),39857=>array(31,-49,949,839),39858=>array(30,-61,979,839),39859=>array(38,-55,945,835),39860=>array(45,-71,982,839),39861=>array(36,-67,966,834),39862=>array(41,-70,965,841),39863=>array(11,-49,939,839),39864=>array(43,-61,978,845),39865=>array(33,-65,944,836),39866=>array(18,-57,948,836),39867=>array(31,-49,975,839),39868=>array(31,-49,972,839),39869=>array(29,-68,979,832),39870=>array(11,-54,959,839),39871=>array(33,-53,962,845),39872=>array(49,-52,979,840),39873=>array(39,-67,978,840),39874=>array(39,-56,937,839),39875=>array(39,-65,961,839),39876=>array(28,-64,979,842),39877=>array(28,-66,983,842),39878=>array(36,-67,957,839),39879=>array(41,-65,965,845),39880=>array(41,-71,977,840),39881=>array(45,-52,954,833),39882=>array(48,-70,960,836),39883=>array(29,-37,980,841),39884=>array(45,-61,954,833),39885=>array(41,-68,964,842),39886=>array(26,-68,961,841),39887=>array(36,-45,914,853),39888=>array(41,-43,955,841),39889=>array(41,-49,964,841),39890=>array(41,-49,945,841),39891=>array(43,-70,964,842),39892=>array(44,-64,950,846),39893=>array(32,-79,974,839),39894=>array(35,-59,964,843),39895=>array(32,-65,971,854),39896=>array(32,-69,968,840),39897=>array(35,-67,962,842),39898=>array(31,-65,988,838),39899=>array(51,-65,916,839),39900=>array(30,-68,971,841),39901=>array(-15,-70,916,841),39902=>array(39,-74,964,825),39903=>array(29,-57,992,827),39904=>array(32,-65,990,831),39905=>array(46,-62,957,846),39906=>array(38,-48,965,845),39907=>array(38,-64,953,845),39908=>array(42,-63,971,836),39909=>array(32,-39,960,841),39910=>array(29,-62,986,838),39911=>array(49,-64,914,854),39912=>array(44,-62,972,843),39913=>array(33,-68,985,868),39914=>array(43,-67,986,839),39915=>array(32,-62,971,842),39916=>array(35,-72,988,836),39917=>array(37,-44,957,796),39918=>array(42,-65,958,845),39919=>array(46,-67,945,837),39920=>array(44,-33,972,851),39921=>array(42,-74,962,836),39922=>array(53,-73,961,828),39923=>array(34,-62,962,841),39924=>array(33,-62,946,836),39925=>array(65,-81,956,834),39926=>array(42,-63,938,836),39927=>array(43,-68,978,843),39928=>array(39,-67,983,837),39929=>array(42,-45,945,836),39930=>array(42,-64,953,837),39931=>array(43,-63,930,837),39932=>array(42,-57,980,849),39933=>array(52,-65,929,837),39934=>array(42,-69,963,836),39935=>array(47,-62,923,848),39936=>array(44,-64,940,847),39937=>array(49,-64,973,847),39938=>array(37,-59,909,840),39939=>array(49,-57,973,847),39940=>array(43,-40,970,847),39941=>array(49,-61,932,847),39942=>array(39,-61,973,843),39943=>array(43,-64,996,845),39944=>array(37,-67,973,836),39945=>array(39,-45,954,847),39946=>array(54,-53,968,847),39947=>array(24,-36,953,834),39948=>array(33,-70,972,829),39949=>array(31,-67,978,837),39950=>array(35,-73,984,838),39951=>array(49,-65,963,847),39952=>array(38,-61,958,844),39953=>array(49,-45,951,847),39954=>array(35,-64,973,844),39955=>array(38,-44,968,849),39956=>array(44,-66,977,835),39957=>array(37,-63,963,827),39958=>array(51,-64,942,848),39959=>array(44,-70,930,834),39960=>array(49,-26,943,843),39961=>array(24,-60,973,847),39962=>array(49,-21,949,855),39963=>array(44,-39,974,826),39964=>array(30,-64,975,852),39965=>array(39,-68,959,838),39966=>array(24,-60,953,847),39967=>array(49,-65,949,847),39968=>array(49,-66,966,847),39969=>array(43,-65,931,837),39970=>array(49,-63,949,847),39971=>array(34,-62,958,836),39972=>array(33,-65,958,845),39973=>array(38,-72,964,828),39974=>array(69,-56,943,847),39975=>array(34,-67,963,836),39976=>array(56,-61,927,844),39977=>array(37,-62,962,845),39978=>array(29,-26,967,847),39979=>array(43,-64,978,838),39980=>array(37,-66,982,830),39981=>array(42,-65,965,843),39982=>array(44,-39,974,826),39983=>array(34,-65,937,839),39984=>array(53,-66,944,839),39985=>array(41,-74,967,838),39986=>array(47,-69,953,840),39987=>array(51,-74,936,835),39988=>array(32,-68,970,831),39989=>array(41,-76,958,845),39990=>array(24,-65,986,839),39991=>array(29,-62,970,845),39992=>array(39,-21,966,847),39993=>array(35,-21,973,845),39994=>array(33,-73,976,862),39995=>array(35,-65,978,837),39996=>array(40,-64,915,837),39997=>array(32,-53,961,849),39998=>array(37,-62,957,838),39999=>array(36,-74,980,839),40000=>array(59,-71,961,791),40001=>array(34,-66,979,843),40002=>array(42,-65,968,847),40003=>array(44,-63,929,847),40004=>array(38,-63,956,845),40005=>array(41,-73,959,851),40006=>array(38,-64,962,849),40007=>array(38,-59,966,846),40008=>array(35,-56,939,841),40009=>array(41,-72,973,835),40010=>array(41,-67,951,835),40011=>array(31,-71,965,837),40012=>array(24,-63,989,845),40013=>array(28,-68,978,841),40014=>array(30,-69,984,840),40015=>array(49,-63,966,847),40016=>array(37,-70,967,839),40017=>array(34,-59,968,847),40018=>array(35,-62,956,855),40019=>array(38,-62,953,831),40020=>array(32,-64,962,851),40021=>array(30,-68,984,842),40022=>array(29,-68,970,842),40023=>array(31,-68,965,843),40024=>array(40,-59,965,842),40025=>array(27,-70,984,837),40026=>array(27,-65,953,837),40027=>array(49,-68,950,847),40028=>array(26,-67,962,845),40029=>array(29,-60,973,847),40030=>array(39,-68,983,831),40031=>array(53,-68,974,848),40032=>array(25,-61,984,861),40033=>array(32,-62,974,838),40034=>array(41,-65,992,830),40035=>array(32,-35,964,849),40036=>array(58,-40,930,839),40037=>array(38,-71,959,839),40038=>array(36,-56,976,822),40039=>array(36,-28,965,842),40040=>array(34,-48,954,854),40041=>array(29,-70,951,854),40042=>array(34,-64,974,834),40043=>array(25,-68,979,854),40044=>array(24,-70,967,854),40045=>array(39,-62,957,852),40046=>array(29,-56,956,848),40047=>array(39,-64,995,847),40048=>array(29,-63,960,854),40049=>array(38,-67,945,838),40050=>array(22,-59,970,854),40051=>array(38,-65,967,843),40052=>array(36,-69,971,841),40053=>array(27,-55,964,858),40054=>array(40,-73,963,837),40055=>array(39,-29,956,839),40056=>array(36,-60,962,851),40057=>array(48,-67,965,841),40058=>array(35,-68,966,828),40059=>array(59,-73,948,824),40060=>array(78,-15,929,826),40061=>array(22,-73,934,841),40062=>array(31,-29,973,839),40063=>array(29,-65,965,841),40064=>array(22,-46,945,841),40065=>array(44,-53,925,849),40066=>array(39,-75,936,836),40067=>array(22,-32,974,841),40068=>array(22,-71,964,841),40069=>array(30,-68,967,838),40070=>array(24,-72,945,824),40071=>array(22,-74,903,841),40072=>array(22,-72,920,817),40073=>array(22,-69,919,841),40074=>array(22,-61,961,845),40075=>array(24,-62,943,840),40076=>array(22,-66,886,843),40077=>array(22,-30,950,843),40078=>array(74,-13,926,822),40079=>array(22,-73,951,841),40080=>array(39,-67,942,834),40081=>array(39,-29,950,839),40082=>array(24,-64,941,828),40083=>array(29,-55,945,837),40084=>array(24,-69,942,838),40085=>array(28,-70,956,824),40086=>array(22,-61,941,841),40087=>array(33,-65,913,840),40088=>array(22,-63,953,841),40089=>array(22,-55,977,840),40090=>array(12,-76,937,836),40091=>array(39,-69,943,844),40092=>array(27,-61,938,846),40093=>array(54,-37,955,823),40094=>array(25,-42,942,830),40095=>array(21,-68,923,821),40096=>array(25,-69,961,830),40097=>array(0,-59,921,818),40098=>array(16,-49,937,822),40099=>array(19,-20,943,834),40100=>array(39,-23,937,828),40101=>array(24,-68,920,829),40102=>array(23,-64,956,832),40103=>array(33,-63,962,831),40104=>array(60,-48,918,822),40105=>array(25,-67,947,842),40106=>array(22,-69,965,841),40107=>array(31,-67,912,836),40108=>array(22,-44,930,841),40109=>array(24,-61,947,834),40110=>array(25,-69,969,834),40111=>array(22,-79,974,841),40112=>array(19,-64,955,825),40113=>array(32,-64,941,830),40114=>array(24,-60,953,824),40115=>array(39,-66,897,828),40116=>array(22,-70,881,816),40117=>array(24,-72,947,824),40118=>array(31,-32,956,849),40119=>array(25,-66,899,830),40120=>array(39,-64,947,846),40121=>array(25,-79,972,839),40122=>array(16,-68,943,819),40123=>array(25,-66,933,834),40124=>array(27,-80,918,825),40125=>array(25,-69,957,830),40126=>array(22,-65,963,841),40127=>array(24,-58,957,841),40128=>array(22,-68,988,841),40129=>array(22,-39,982,841),40130=>array(22,-57,983,841),40131=>array(34,-31,951,842),40132=>array(20,-66,939,812),40133=>array(18,-70,961,828),40134=>array(25,-66,956,842),40135=>array(24,-44,937,844),40136=>array(22,-64,973,844),40137=>array(34,-61,954,841),40138=>array(25,-77,911,836),40139=>array(24,-67,953,822),40140=>array(35,-50,931,820),40141=>array(24,-67,941,834),40142=>array(24,-63,910,824),40143=>array(25,-66,950,830),40144=>array(47,-67,941,824),40145=>array(22,-65,949,843),40146=>array(22,-64,975,852),40147=>array(33,-75,917,828),40148=>array(25,-64,957,830),40149=>array(25,-69,922,830),40150=>array(41,-40,945,835),40151=>array(25,-68,965,836),40152=>array(53,-38,955,836),40153=>array(25,-84,943,840),40154=>array(16,-67,984,868),40155=>array(22,-67,957,841),40156=>array(19,-69,953,825),40157=>array(25,-66,945,848),40158=>array(25,-68,945,834),40159=>array(35,-65,953,851),40160=>array(22,-64,995,841),40161=>array(41,-33,959,841),40162=>array(25,-32,948,833),40163=>array(24,-35,976,849),40164=>array(43,-67,957,856),40165=>array(66,-59,887,852),40166=>array(34,-65,952,847),40167=>array(58,-58,960,842),40168=>array(43,-64,957,848),40169=>array(48,-63,930,849),40170=>array(177,-69,927,843),40171=>array(41,-68,927,788),40172=>array(52,-62,960,851),40173=>array(31,-73,951,841),40174=>array(39,-73,961,841),40175=>array(46,-60,965,796),40176=>array(43,-71,957,840),40177=>array(58,-75,956,840),40178=>array(33,-48,955,861),40179=>array(46,-60,965,796),40180=>array(109,-63,909,851),40181=>array(59,-67,952,841),40182=>array(52,-57,949,850),40183=>array(47,-69,964,846),40184=>array(46,-73,954,835),40185=>array(35,-70,954,847),40186=>array(40,-65,955,846),40187=>array(39,-78,954,841),40188=>array(46,-52,976,864),40189=>array(35,-75,959,844),40190=>array(57,-76,943,841),40191=>array(42,-71,939,841),40192=>array(36,-72,951,848),40193=>array(31,-72,951,848),40194=>array(17,-73,951,848),40195=>array(48,-70,972,840),40196=>array(63,-74,963,843),40197=>array(49,-75,957,838),40198=>array(45,-68,942,841),40199=>array(65,-65,923,848),40200=>array(46,-63,947,791),40201=>array(46,-64,924,842),40202=>array(38,-64,924,842),40203=>array(39,-68,924,842),40204=>array(34,-68,996,781),40205=>array(40,-68,959,844),40206=>array(96,-70,924,836),40207=>array(29,-80,971,851),40208=>array(61,-68,944,833),40209=>array(68,-68,947,847),40210=>array(41,-65,926,838),40211=>array(54,-71,946,835),40212=>array(45,-68,958,835),40213=>array(41,-61,946,841),40214=>array(33,-61,967,853),40215=>array(60,-71,941,843),40216=>array(43,-75,956,839),40217=>array(52,-68,953,844),40218=>array(26,-62,960,841),40219=>array(46,-67,951,840),40220=>array(62,-67,932,827),40221=>array(36,-58,918,849),40222=>array(72,-55,926,845),40223=>array(68,-58,921,846),40224=>array(61,-68,946,843),40225=>array(42,-58,946,853),40226=>array(51,-72,950,838),40227=>array(66,-60,923,845),40228=>array(25,-77,975,843),40229=>array(38,-72,979,841),40230=>array(34,-63,971,842),40231=>array(51,-68,956,835),40232=>array(113,-79,916,843),40233=>array(45,-75,959,835),40234=>array(61,-56,956,841),40235=>array(113,-67,916,843),40236=>array(63,-67,893,821),40237=>array(107,-63,943,841),40238=>array(37,-70,955,836),40239=>array(59,-59,916,845),40240=>array(71,-61,930,847),40241=>array(46,-63,955,841),40242=>array(59,-66,943,841),40243=>array(57,-66,966,838),40244=>array(37,-63,944,849),40245=>array(27,-66,965,841),40246=>array(56,-64,954,840),40247=>array(57,-68,908,824),40248=>array(43,-67,956,843),40249=>array(76,-63,956,855),40250=>array(44,-63,961,839),40251=>array(48,-57,919,853),40252=>array(29,-61,971,856),40253=>array(55,-43,924,850),40254=>array(65,-67,957,841),40255=>array(49,-67,924,844),40256=>array(43,-47,951,858),40257=>array(37,-67,957,839),40258=>array(39,-71,916,842),40259=>array(37,-67,951,841),40260=>array(53,-60,933,843),40261=>array(38,-69,963,838),40262=>array(35,-70,943,855),40263=>array(41,-68,959,841),40264=>array(40,-70,949,841),40265=>array(62,-55,938,808),40266=>array(46,-68,954,841),40267=>array(34,-69,948,840),40268=>array(26,-67,981,840),40269=>array(34,-69,966,840),40270=>array(36,-73,964,840),40271=>array(55,-61,945,846),40272=>array(18,-69,970,847),40273=>array(108,-68,915,838),40274=>array(28,-68,914,842),40275=>array(71,-61,926,845),40276=>array(31,-73,971,847),40277=>array(34,-70,959,840),40278=>array(104,-68,942,846),40279=>array(33,-67,949,840),40280=>array(38,-71,952,839),40281=>array(47,-68,951,841),40282=>array(45,-67,963,841),40283=>array(54,-71,950,840),40284=>array(53,-61,930,843),40285=>array(68,-60,924,840),40286=>array(53,-73,952,847),40287=>array(48,-69,945,839),40288=>array(70,-62,933,842),40289=>array(61,-63,933,842),40290=>array(48,-69,946,845),40291=>array(42,-69,958,840),40292=>array(43,-69,948,850),40293=>array(67,-62,920,834),40294=>array(37,-68,966,839),40295=>array(48,-71,955,838),40296=>array(23,-68,965,845),40297=>array(37,-69,956,841),40298=>array(50,-60,925,849),40299=>array(59,-72,950,841),40300=>array(63,-77,928,849),40301=>array(24,-65,949,844),40302=>array(44,-65,956,844),40303=>array(65,-58,926,853),40304=>array(57,-55,927,851),40305=>array(33,-70,969,848),40306=>array(60,-61,931,841),40307=>array(37,-70,959,841),40308=>array(28,-67,967,848),40309=>array(34,-68,960,846),40310=>array(52,-65,943,844),40311=>array(37,-61,918,848),40312=>array(58,-68,968,847),40313=>array(49,-64,942,838),40314=>array(37,-75,950,841),40315=>array(51,-64,967,847),40316=>array(44,-68,940,844),40317=>array(49,-66,963,849),40318=>array(57,-69,943,840),40319=>array(34,-66,957,851),40320=>array(28,-73,969,853),40321=>array(43,-65,959,847),40322=>array(51,-68,956,835),40323=>array(27,-69,973,840),40324=>array(62,-74,961,852),40325=>array(51,-65,958,849),40326=>array(40,-68,966,847),40327=>array(42,-68,947,844),40328=>array(50,-74,962,841),40329=>array(54,-62,922,845),40330=>array(26,-68,917,848),40331=>array(41,-72,962,840),40332=>array(37,-63,958,852),40333=>array(35,-69,965,840),40334=>array(34,-69,966,850),40335=>array(42,-68,955,842),40336=>array(52,-63,953,839),40337=>array(61,-74,939,827),40338=>array(33,-65,963,838),40339=>array(53,-65,911,846),40340=>array(48,-63,961,844),40341=>array(57,-69,943,840),40342=>array(41,-67,957,834),40343=>array(46,-62,967,842),40344=>array(62,-64,927,844),40345=>array(67,-62,956,850),40346=>array(71,-59,927,846),40347=>array(55,-65,948,838),40348=>array(46,-70,968,838),40349=>array(61,-66,951,842),40350=>array(36,-63,956,840),40351=>array(50,-65,957,843),40352=>array(69,-64,949,834),40353=>array(16,-55,897,853),40354=>array(36,-64,954,843),40355=>array(18,-58,966,841),40356=>array(64,-65,948,839),40357=>array(35,-69,965,840),40358=>array(75,-68,897,828),40359=>array(32,-62,972,826),40360=>array(50,-63,977,838),40361=>array(52,-66,950,838),40362=>array(55,-60,953,841),40363=>array(34,-77,947,841),40364=>array(27,-71,909,846),40365=>array(60,-70,946,847),40366=>array(35,-69,948,848),40367=>array(57,-74,933,829),40368=>array(-9,-77,948,840),40369=>array(47,-73,968,835),40370=>array(43,-68,955,843),40371=>array(52,-68,955,841),40372=>array(40,-65,938,837),40373=>array(49,-59,938,846),40374=>array(45,-69,964,842),40375=>array(83,-68,953,846),40376=>array(40,-64,952,834),40377=>array(69,-70,949,838),40378=>array(47,-67,924,836),40379=>array(85,-61,921,848),40380=>array(31,-69,912,844),40381=>array(26,-69,948,840),40382=>array(60,-69,949,827),40383=>array(53,-55,929,857),40384=>array(74,-62,927,845),40385=>array(36,-49,951,850),40386=>array(66,-57,924,844),40387=>array(50,-53,950,861),40388=>array(46,-61,945,835),40389=>array(52,-63,960,843),40390=>array(53,-67,949,838),40391=>array(61,-72,976,825),40392=>array(45,-70,962,839),40393=>array(30,-73,970,841),40394=>array(56,-66,949,842),40395=>array(44,-72,959,841),40396=>array(21,-64,946,838),40397=>array(47,-65,959,844),40398=>array(34,-73,964,840),40399=>array(43,-64,952,841),40400=>array(40,-68,956,845),40401=>array(43,-71,952,836),40402=>array(62,-65,954,846),40403=>array(49,-63,931,845),40404=>array(52,-67,954,842),40405=>array(58,-65,937,845),40406=>array(54,-70,930,797),40407=>array(115,-68,925,843),40408=>array(52,-64,974,834),40409=>array(58,-63,956,835),40410=>array(32,-76,912,846),40411=>array(45,-65,954,847),40412=>array(41,-67,955,845),40413=>array(50,-70,957,845),40414=>array(44,-67,967,854),40415=>array(46,-67,953,845),40416=>array(40,-69,948,840),40417=>array(39,-71,970,844),40418=>array(36,-67,979,785),40419=>array(65,-65,954,846),40420=>array(61,-70,954,838),40421=>array(60,-71,937,847),40422=>array(26,-56,898,847),40423=>array(47,-69,948,840),40424=>array(48,-65,959,846),40425=>array(56,-49,939,853),40426=>array(54,-63,935,802),40427=>array(59,-52,955,862),40428=>array(48,-65,954,844),40429=>array(39,-66,965,851),40430=>array(41,-65,962,844),40431=>array(32,-68,915,841),40432=>array(37,-69,969,840),40433=>array(50,-67,955,846),40434=>array(65,-66,943,840),40435=>array(113,-62,925,844),40436=>array(98,-69,938,841),40437=>array(35,-67,956,840),40438=>array(54,-73,945,840),40439=>array(62,-77,950,841),40440=>array(60,-68,934,844),40441=>array(40,-76,942,837),40442=>array(62,-67,948,849),40443=>array(29,-77,989,839),40444=>array(48,-69,948,840),40445=>array(50,-73,935,844),40446=>array(58,-65,962,845),40447=>array(53,-61,956,841),40448=>array(33,-68,962,841),40449=>array(34,-67,969,843),40450=>array(48,-74,957,830),40451=>array(32,-64,974,846),40452=>array(47,-73,969,837),40453=>array(62,-70,954,839),40454=>array(50,-72,966,839),40455=>array(45,-65,942,846),40456=>array(36,-69,926,846),40457=>array(38,-62,955,833),40458=>array(33,-66,960,842),40459=>array(59,-65,959,841),40460=>array(36,-66,948,843),40461=>array(34,-61,959,847),40462=>array(68,-59,910,805),40463=>array(50,-70,961,847),40464=>array(42,-67,971,841),40465=>array(44,-51,951,852),40466=>array(34,-63,975,838),40467=>array(93,-65,933,840),40468=>array(41,-70,973,843),40469=>array(43,-65,930,844),40470=>array(63,-67,939,844),40471=>array(71,-72,945,836),40472=>array(24,-71,960,844),40473=>array(57,-64,946,847),40474=>array(50,-65,928,843),40475=>array(45,-67,927,845),40476=>array(34,-65,966,845),40477=>array(41,-65,935,842),40478=>array(62,-67,958,846),40479=>array(80,-53,892,842),40480=>array(34,-65,893,820),40481=>array(30,-57,890,837),40482=>array(58,-65,935,825),40483=>array(98,-52,903,842),40484=>array(27,-66,896,826),40485=>array(96,-53,904,840),40486=>array(23,-64,906,837),40487=>array(35,-63,932,833),40488=>array(53,-63,892,827),40489=>array(37,-69,918,823),40490=>array(49,-65,892,822),40491=>array(26,-66,897,824),40492=>array(34,-66,896,826),40493=>array(100,-68,902,825),40494=>array(72,-69,902,825),40495=>array(32,-58,950,831),40496=>array(50,-70,927,844),40497=>array(70,-65,896,825),40498=>array(24,-57,895,828),40499=>array(35,-62,924,827),40500=>array(81,-63,893,821),40501=>array(41,-57,920,835),40502=>array(61,-59,910,832),40503=>array(50,-63,923,821),40504=>array(50,-59,893,826),40505=>array(29,-62,896,820),40506=>array(15,-66,896,824),40507=>array(37,-63,938,844),40508=>array(49,-67,928,835),40509=>array(26,-53,907,836),40510=>array(64,-60,917,835),40511=>array(39,-55,894,839),40512=>array(40,-62,949,838),40513=>array(62,-64,899,824),40514=>array(62,-60,895,820),40515=>array(98,-61,899,842),40516=>array(30,-54,898,826),40517=>array(32,-59,899,833),40518=>array(16,-60,895,821),40519=>array(90,-63,899,834),40520=>array(20,-66,900,822),40521=>array(41,-62,896,821),40522=>array(52,-64,903,826),40523=>array(60,-63,898,823),40524=>array(24,-64,899,828),40525=>array(81,-62,925,824),40526=>array(43,-71,902,818),40527=>array(24,-68,906,839),40528=>array(44,-64,926,843),40529=>array(51,-66,896,829),40530=>array(26,-68,931,846),40531=>array(49,-64,942,848),40532=>array(41,-64,959,833),40533=>array(52,-67,896,819),40534=>array(16,-64,896,821),40535=>array(61,-68,896,823),40536=>array(62,-69,894,825),40537=>array(39,-67,944,834),40538=>array(64,-63,921,824),40539=>array(19,-67,898,823),40540=>array(39,-65,929,825),40541=>array(70,-65,928,829),40542=>array(50,-61,934,821),40543=>array(44,-65,926,836),40544=>array(83,-67,924,839),40545=>array(36,-67,898,831),40546=>array(46,-67,898,849),40547=>array(38,-70,912,828),40548=>array(19,-56,898,840),40549=>array(83,-67,929,802),40550=>array(33,-61,899,821),40551=>array(20,-63,898,826),40552=>array(46,-69,929,831),40553=>array(48,-60,923,828),40554=>array(36,-63,922,827),40555=>array(42,-64,960,845),40556=>array(39,-65,895,821),40557=>array(31,-63,930,827),40558=>array(37,-62,951,821),40559=>array(61,-62,937,846),40560=>array(45,-78,917,831),40561=>array(30,-65,948,826),40562=>array(63,-64,933,833),40563=>array(29,-56,897,828),40564=>array(29,-70,946,822),40565=>array(125,-70,891,835),40566=>array(91,-52,972,835),40567=>array(91,-73,972,835),40568=>array(82,-60,966,835),40569=>array(94,-71,969,831),40570=>array(88,-59,941,843),40571=>array(69,-72,982,845),40572=>array(72,-66,947,847),40573=>array(52,-18,943,837),40574=>array(92,-45,924,830),40575=>array(57,-67,949,829),40576=>array(29,-66,958,842),40577=>array(42,-64,953,834),40578=>array(21,-60,935,841),40579=>array(39,-75,960,848),40580=>array(40,-74,958,833),40581=>array(30,-60,949,849),40582=>array(30,-60,941,849),40583=>array(30,-67,961,849),40584=>array(21,-60,925,836),40585=>array(48,-75,956,814),40586=>array(52,-72,955,826),40587=>array(67,-64,941,821),40588=>array(36,-57,966,829),40589=>array(25,-70,969,845),40590=>array(25,-80,971,845),40591=>array(25,-74,960,845),40592=>array(25,-73,975,845),40593=>array(37,-64,955,838),40594=>array(40,-70,951,835),40595=>array(37,-68,958,837),40596=>array(25,-74,960,845),40597=>array(36,-65,945,833),40598=>array(25,-70,951,845),40599=>array(43,-67,952,814),40600=>array(25,-72,971,845),40601=>array(25,-73,963,845),40602=>array(25,-78,970,845),40603=>array(25,-70,956,845),40604=>array(25,-75,979,845),40605=>array(58,-63,946,841),40606=>array(25,-80,952,843),40607=>array(26,-68,959,838),40608=>array(25,-76,952,847),40609=>array(25,-79,970,843),40610=>array(25,-74,951,843),40611=>array(35,-68,976,841),40612=>array(42,-69,959,853),40613=>array(58,-75,942,832),40614=>array(56,-65,950,827),40615=>array(40,-75,981,828),40616=>array(43,-84,971,832),40617=>array(37,-64,964,831),40618=>array(37,-64,958,831),40619=>array(43,-84,939,832),40620=>array(45,-84,964,832),40621=>array(37,-64,971,842),40622=>array(47,-68,978,824),40623=>array(43,-84,929,832),40624=>array(38,-54,971,866),40625=>array(43,-84,958,832),40626=>array(43,-84,968,832),40627=>array(43,-84,973,832),40628=>array(25,-63,959,826),40629=>array(34,-63,967,831),40630=>array(41,-71,979,837),40631=>array(44,-66,982,829),40632=>array(43,-57,973,830),40633=>array(37,-65,982,830),40634=>array(37,-65,982,818),40635=>array(43,-70,966,839),40636=>array(45,-68,956,839),40637=>array(41,-72,926,837),40638=>array(23,-67,958,836),40639=>array(36,-68,945,838),40640=>array(37,-71,969,843),40641=>array(39,-66,978,852),40642=>array(34,-73,940,845),40643=>array(55,-76,957,826),40644=>array(75,-83,925,831),40645=>array(50,-76,968,830),40646=>array(50,-76,972,830),40647=>array(58,-78,942,832),40648=>array(56,-78,959,818),40649=>array(58,-67,916,840),40650=>array(50,-78,963,831),40651=>array(28,-79,958,822),40652=>array(49,-72,960,842),40653=>array(35,-68,963,830),40654=>array(49,-68,946,832),40655=>array(39,-62,956,838),40656=>array(31,-64,954,835),40657=>array(81,-67,946,787),40658=>array(81,-67,946,787),40659=>array(48,-67,970,823),40660=>array(36,-65,970,841),40661=>array(43,-78,963,820),40662=>array(41,-75,964,780),40663=>array(39,-60,966,837),40664=>array(45,-69,955,829),40665=>array(43,-67,957,809),40666=>array(60,-70,956,823),40667=>array(47,-67,962,847),40668=>array(63,-66,919,832),40669=>array(58,-62,941,830),40670=>array(63,-64,945,839),40671=>array(58,-63,941,846),40672=>array(37,-64,952,829),40673=>array(33,-78,964,805),40674=>array(29,-72,933,831),40675=>array(43,-57,957,845),40676=>array(42,-52,965,853),40677=>array(38,-62,963,819),40678=>array(38,-68,964,833),40679=>array(44,-68,955,837),40680=>array(41,-70,956,836),40681=>array(30,-67,941,817),40682=>array(31,-76,950,823),40683=>array(25,-51,960,793),40684=>array(33,-68,967,835),40685=>array(45,-70,979,828),40686=>array(48,-53,954,832),40687=>array(52,-63,951,832),40688=>array(49,-59,970,852),40689=>array(26,-88,974,841),40690=>array(38,-55,970,864),40691=>array(47,-79,957,813),40692=>array(44,-67,977,833),40693=>array(56,-62,950,843),40694=>array(35,-73,959,817),40695=>array(37,-80,961,835),40696=>array(46,-64,954,836),40697=>array(46,-65,962,830),40698=>array(39,-74,970,826),40699=>array(34,-69,978,836),40700=>array(36,-62,955,835),40701=>array(120,-33,967,794),40702=>array(139,-42,966,803),40703=>array(45,-32,960,788),40704=>array(40,-56,973,837),40705=>array(63,-46,968,829),40706=>array(62,-54,971,823),40707=>array(68,-51,971,843),40708=>array(40,-54,971,844),40709=>array(57,-54,971,858),40710=>array(49,-42,971,784),40711=>array(48,-56,973,845),40712=>array(70,-49,960,829),40713=>array(58,-38,969,809),40714=>array(45,-39,956,834),40715=>array(84,-55,958,819),40716=>array(63,-51,962,822),40717=>array(63,-53,961,822),40718=>array(48,-65,948,801),40719=>array(41,-75,944,782),40720=>array(55,-69,943,792),40721=>array(44,-65,899,835),40722=>array(50,-67,950,824),40723=>array(59,-74,961,837),40724=>array(59,-74,961,833),40725=>array(60,-60,960,832),40726=>array(42,-73,974,833),40727=>array(44,-76,962,827),40728=>array(60,-68,962,828),40729=>array(51,-65,969,833),40730=>array(51,-69,962,827),40731=>array(43,-71,967,830),40732=>array(46,-67,972,829),40733=>array(37,-61,963,811),40734=>array(60,-35,970,818),40735=>array(34,-47,966,826),40736=>array(61,-60,963,836),40737=>array(40,-69,957,810),40738=>array(62,-52,948,830),40739=>array(74,-72,957,836),40740=>array(76,-73,959,835),40741=>array(68,-60,957,840),40742=>array(66,-69,924,826),40743=>array(66,-69,962,831),40744=>array(65,-60,969,838),40745=>array(63,-46,961,847),40746=>array(54,-56,954,846),40747=>array(61,-55,952,847),40748=>array(60,-58,945,820),40749=>array(68,-66,959,835),40750=>array(59,-68,958,840),40751=>array(56,-51,946,827),40752=>array(68,-65,953,836),40753=>array(57,-43,944,846),40754=>array(70,-77,952,834),40755=>array(65,-71,964,837),40756=>array(57,-55,954,832),40757=>array(59,-66,959,843),40758=>array(58,-75,964,839),40759=>array(49,-53,949,838),40760=>array(56,-66,954,840),40761=>array(87,-66,952,829),40762=>array(70,-58,943,825),40763=>array(42,-58,951,851),40764=>array(51,-71,897,843),40765=>array(43,-70,964,854),40766=>array(38,-65,964,850),40767=>array(30,-72,970,851),40768=>array(31,-68,976,843),40769=>array(56,-62,923,858),40770=>array(41,-75,967,833),40771=>array(43,-70,933,842),40772=>array(45,-67,950,825),40773=>array(36,-64,967,848),40774=>array(36,-62,957,860),40775=>array(49,-66,959,846),40776=>array(44,-64,967,841),40777=>array(53,-66,974,840),40778=>array(52,-70,946,831),40779=>array(55,-73,962,831),40780=>array(39,-74,973,847),40781=>array(32,-73,979,846),40782=>array(39,-67,978,846),40783=>array(43,-69,977,833),40784=>array(32,-69,952,834),40785=>array(36,-67,937,842),40786=>array(53,-73,946,829),40787=>array(58,-37,950,836),40788=>array(58,-63,948,836),40789=>array(62,-41,968,840),40790=>array(62,-65,954,840),40791=>array(65,-64,959,837),40792=>array(56,-52,976,860),40793=>array(57,-71,960,835),40794=>array(57,-71,943,851),40795=>array(61,-62,956,830),40796=>array(47,-48,957,835),40797=>array(60,-64,957,834),40798=>array(61,-71,962,833),40799=>array(40,-63,956,836),40800=>array(40,-63,930,836),40801=>array(40,-63,943,836),40802=>array(42,-68,958,846),40803=>array(55,-63,927,836),40804=>array(45,-65,969,839),40805=>array(55,-87,954,830),40806=>array(46,-73,967,836),40807=>array(64,-65,942,836),40808=>array(42,-45,958,839),40809=>array(64,-63,950,837),40810=>array(58,-63,960,836),40811=>array(66,-65,911,829),40812=>array(46,-63,956,836),40813=>array(63,-66,937,825),40814=>array(59,-73,956,831),40815=>array(59,-56,958,844),40816=>array(54,-48,949,851),40817=>array(58,-68,958,828),40818=>array(55,-66,940,836),40819=>array(73,-64,927,839),40820=>array(54,-67,957,837),40821=>array(60,-42,921,877),40822=>array(56,-60,954,846),40823=>array(58,-66,936,836),40824=>array(57,-29,968,829),40825=>array(47,-65,952,847),40826=>array(54,-71,931,837),40827=>array(59,-71,962,830),40828=>array(60,-56,940,839),40829=>array(47,-70,964,839),40830=>array(53,-69,975,829),40831=>array(75,-61,925,827),40832=>array(52,-59,930,817),40833=>array(52,-59,950,842),40834=>array(52,-59,908,842),40835=>array(52,-47,953,817),40836=>array(46,-57,947,826),40837=>array(52,-47,965,828),40838=>array(52,-67,870,817),40839=>array(51,-53,941,824),40840=>array(52,-70,969,817),40841=>array(50,-71,918,817),40842=>array(54,-68,965,821),40843=>array(44,-77,889,813),40844=>array(68,-68,927,817),40845=>array(50,-66,970,833),40846=>array(44,-63,975,797),40847=>array(59,-76,957,838),40848=>array(44,-63,975,845),40849=>array(50,-61,965,834),40850=>array(61,-64,957,838),40851=>array(45,-68,955,833),40852=>array(60,-69,956,850),40853=>array(44,-64,962,858),40854=>array(47,-47,971,819),40855=>array(63,-56,957,829),40856=>array(71,-65,958,837),40857=>array(37,-65,928,823),40858=>array(23,-66,923,834),40859=>array(21,-62,934,828),40860=>array(37,-41,967,846),40861=>array(16,-55,965,851),40862=>array(56,-54,970,843),40863=>array(50,-34,965,827),40864=>array(28,-64,976,848),40865=>array(56,-48,975,857),40866=>array(31,-62,986,863),40867=>array(29,-68,969,841),40868=>array(31,-43,962,857),40869=>array(31,-74,969,857),44032=>array(98,-69,936,842),44033=>array(88,-59,936,837),44034=>array(88,-61,936,837),44035=>array(88,-71,936,837),44036=>array(90,-45,936,842),44037=>array(88,-69,936,837),44038=>array(88,-76,936,837),44039=>array(88,-44,936,837),44040=>array(88,-62,936,837),44041=>array(88,-64,936,837),44042=>array(88,-64,936,837),44043=>array(88,-64,936,837),44044=>array(88,-70,936,837),44045=>array(88,-64,936,837),44046=>array(88,-64,936,837),44047=>array(88,-76,936,837),44048=>array(88,-62,936,837),44049=>array(88,-61,936,837),44050=>array(88,-70,936,837),44051=>array(88,-74,936,837),44052=>array(88,-69,936,837),44053=>array(88,-67,936,837),44054=>array(88,-72,936,837),44055=>array(88,-71,936,837),44056=>array(88,-66,936,837),44057=>array(88,-59,936,837),44058=>array(88,-60,936,837),44059=>array(88,-69,936,837),44060=>array(104,-69,907,842),44061=>array(88,-61,907,842),44062=>array(88,-61,907,842),44063=>array(88,-71,931,842),44064=>array(90,-46,907,842),44065=>array(88,-68,912,842),44066=>array(88,-76,907,842),44067=>array(88,-44,921,842),44068=>array(88,-62,917,842),44069=>array(88,-64,907,842),44070=>array(88,-64,908,842),44071=>array(88,-64,908,842),44072=>array(88,-69,923,842),44073=>array(88,-64,908,842),44074=>array(88,-64,908,842),44075=>array(88,-76,907,842),44076=>array(88,-62,907,842),44077=>array(88,-61,907,842),44078=>array(88,-69,922,842),44079=>array(88,-74,929,842),44080=>array(88,-69,927,842),44081=>array(88,-68,911,842),44082=>array(88,-72,929,842),44083=>array(88,-70,936,842),44084=>array(88,-66,908,842),44085=>array(88,-59,916,842),44086=>array(88,-60,928,842),44087=>array(88,-68,908,842),44088=>array(98,-68,935,843),44089=>array(90,-59,936,842),44090=>array(90,-61,936,842),44091=>array(90,-71,936,842),44092=>array(90,-45,936,842),44093=>array(90,-69,936,842),44094=>array(90,-76,936,842),44095=>array(90,-44,936,842),44096=>array(90,-62,936,842),44097=>array(90,-64,936,842),44098=>array(90,-64,936,842),44099=>array(90,-64,936,842),44100=>array(90,-70,936,842),44101=>array(90,-64,936,842),44102=>array(90,-64,936,842),44103=>array(90,-76,936,842),44104=>array(90,-62,936,842),44105=>array(90,-61,936,842),44106=>array(90,-70,936,842),44107=>array(90,-74,936,842),44108=>array(90,-69,936,842),44109=>array(90,-67,936,842),44110=>array(90,-72,936,842),44111=>array(90,-71,936,842),44112=>array(90,-66,936,842),44113=>array(90,-59,936,842),44114=>array(90,-60,936,842),44115=>array(90,-69,936,842),44116=>array(104,-69,907,842),44117=>array(88,-61,907,842),44118=>array(88,-61,907,842),44119=>array(88,-71,931,842),44120=>array(90,-46,907,842),44121=>array(88,-68,912,842),44122=>array(88,-76,907,842),44123=>array(88,-44,921,842),44124=>array(88,-62,917,842),44125=>array(88,-64,907,842),44126=>array(88,-64,908,842),44127=>array(88,-64,908,842),44128=>array(88,-69,923,842),44129=>array(88,-64,908,842),44130=>array(88,-64,908,842),44131=>array(88,-76,907,842),44132=>array(88,-62,907,842),44133=>array(88,-61,907,842),44134=>array(88,-69,922,842),44135=>array(88,-74,929,842),44136=>array(88,-69,927,842),44137=>array(88,-68,911,842),44138=>array(88,-72,929,842),44139=>array(88,-70,936,842),44140=>array(88,-66,908,842),44141=>array(88,-59,916,842),44142=>array(88,-60,928,842),44143=>array(88,-68,908,842),44144=>array(98,-70,907,841),44145=>array(90,-61,907,841),44146=>array(90,-61,907,841),44147=>array(90,-71,931,841),44148=>array(90,-46,907,841),44149=>array(90,-68,912,841),44150=>array(90,-76,907,841),44151=>array(90,-44,921,841),44152=>array(90,-62,917,841),44153=>array(90,-64,907,841),44154=>array(90,-64,908,841),44155=>array(90,-64,908,841),44156=>array(90,-69,923,841),44157=>array(90,-64,908,841),44158=>array(90,-64,908,841),44159=>array(90,-76,906,841),44160=>array(90,-62,907,841),44161=>array(90,-61,907,841),44162=>array(90,-69,922,841),44163=>array(90,-74,929,841),44164=>array(90,-69,927,841),44165=>array(90,-68,911,841),44166=>array(90,-72,929,841),44167=>array(90,-70,936,841),44168=>array(90,-66,908,841),44169=>array(90,-59,916,841),44170=>array(90,-60,928,841),44171=>array(90,-68,908,841),44172=>array(93,-68,907,843),44173=>array(74,-61,907,843),44174=>array(74,-61,907,843),44175=>array(74,-71,931,843),44176=>array(70,-46,907,843),44177=>array(74,-68,912,843),44178=>array(74,-76,907,843),44179=>array(74,-44,921,843),44180=>array(74,-62,917,843),44181=>array(74,-64,907,843),44182=>array(74,-64,908,843),44183=>array(74,-64,908,843),44184=>array(74,-69,923,843),44185=>array(74,-64,908,843),44186=>array(74,-64,908,843),44187=>array(74,-76,907,843),44188=>array(74,-62,907,843),44189=>array(74,-61,907,843),44190=>array(74,-69,922,843),44191=>array(74,-74,929,843),44192=>array(74,-69,927,843),44193=>array(74,-68,911,843),44194=>array(74,-72,929,843),44195=>array(74,-70,936,843),44196=>array(74,-66,908,843),44197=>array(74,-59,916,843),44198=>array(74,-60,928,843),44199=>array(74,-68,908,843),44200=>array(98,-70,907,842),44201=>array(90,-61,908,842),44202=>array(90,-61,908,842),44203=>array(90,-71,931,842),44204=>array(90,-46,907,842),44205=>array(90,-68,912,842),44206=>array(90,-76,908,842),44207=>array(90,-44,921,842),44208=>array(90,-62,917,842),44209=>array(90,-64,908,842),44210=>array(90,-64,908,842),44211=>array(90,-64,908,842),44212=>array(90,-69,923,842),44213=>array(90,-64,908,842),44214=>array(90,-64,908,842),44215=>array(90,-76,908,842),44216=>array(90,-62,908,842),44217=>array(90,-61,908,842),44218=>array(90,-69,922,842),44219=>array(90,-74,929,842),44220=>array(90,-69,927,842),44221=>array(90,-68,911,842),44222=>array(90,-72,929,842),44223=>array(90,-70,936,842),44224=>array(90,-66,908,842),44225=>array(90,-59,916,842),44226=>array(90,-60,928,842),44227=>array(90,-68,908,842),44228=>array(78,-68,907,843),44229=>array(79,-61,907,843),44230=>array(79,-61,907,843),44231=>array(79,-71,931,843),44232=>array(70,-46,907,843),44233=>array(79,-68,912,843),44234=>array(79,-76,907,843),44235=>array(79,-44,921,843),44236=>array(79,-62,917,843),44237=>array(79,-64,907,843),44238=>array(79,-64,908,843),44239=>array(79,-64,908,843),44240=>array(79,-69,923,843),44241=>array(79,-64,908,843),44242=>array(79,-64,908,843),44243=>array(79,-76,907,843),44244=>array(79,-62,907,843),44245=>array(79,-61,907,843),44246=>array(79,-69,922,843),44247=>array(79,-74,929,843),44248=>array(79,-69,927,843),44249=>array(79,-68,911,843),44250=>array(79,-72,929,843),44251=>array(79,-70,936,843),44252=>array(79,-66,908,843),44253=>array(79,-59,916,843),44254=>array(79,-60,928,843),44255=>array(79,-68,908,843),44256=>array(62,27,943,700),44257=>array(79,-61,921,770),44258=>array(79,-61,921,770),44259=>array(79,-71,921,770),44260=>array(79,-46,921,770),44261=>array(79,-68,921,770),44262=>array(79,-74,921,770),44263=>array(79,-44,921,770),44264=>array(79,-62,921,770),44265=>array(79,-64,921,770),44266=>array(79,-64,921,770),44267=>array(79,-63,921,770),44268=>array(79,-68,921,770),44269=>array(79,-64,921,770),44270=>array(79,-63,921,770),44271=>array(79,-74,921,770),44272=>array(79,-62,921,770),44273=>array(79,-61,921,770),44274=>array(79,-69,921,770),44275=>array(79,-74,921,770),44276=>array(79,-69,921,770),44277=>array(79,-68,921,770),44278=>array(79,-72,921,770),44279=>array(79,-70,921,770),44280=>array(79,-66,921,770),44281=>array(79,-59,921,770),44282=>array(79,-60,921,770),44283=>array(79,-68,921,770),44284=>array(38,-68,935,843),44285=>array(64,-59,936,842),44286=>array(64,-61,936,842),44287=>array(64,-71,936,842),44288=>array(57,-45,936,842),44289=>array(64,-69,936,842),44290=>array(64,-76,936,842),44291=>array(64,-44,936,842),44292=>array(64,-62,936,842),44293=>array(64,-64,936,842),44294=>array(64,-64,936,842),44295=>array(64,-64,936,842),44296=>array(64,-70,936,842),44297=>array(64,-64,936,842),44298=>array(64,-64,936,842),44299=>array(64,-76,936,842),44300=>array(64,-62,936,842),44301=>array(64,-61,936,842),44302=>array(64,-70,936,842),44303=>array(64,-74,936,842),44304=>array(64,-69,936,842),44305=>array(64,-67,936,842),44306=>array(64,-72,936,842),44307=>array(64,-71,936,842),44308=>array(64,-66,936,842),44309=>array(64,-59,936,842),44310=>array(64,-60,936,842),44311=>array(64,-69,936,842),44312=>array(51,-69,907,842),44313=>array(65,-61,907,841),44314=>array(65,-61,907,841),44315=>array(65,-71,931,841),44316=>array(53,-46,907,841),44317=>array(65,-68,912,841),44318=>array(65,-76,907,841),44319=>array(65,-44,921,841),44320=>array(65,-62,917,841),44321=>array(65,-64,907,841),44322=>array(65,-64,908,841),44323=>array(65,-64,908,841),44324=>array(65,-69,923,841),44325=>array(65,-64,908,841),44326=>array(65,-64,908,841),44327=>array(65,-76,907,841),44328=>array(65,-62,907,841),44329=>array(65,-61,907,841),44330=>array(65,-69,922,841),44331=>array(65,-74,929,841),44332=>array(65,-69,927,841),44333=>array(65,-68,911,841),44334=>array(65,-72,929,841),44335=>array(65,-70,936,841),44336=>array(65,-66,908,841),44337=>array(65,-59,916,841),44338=>array(65,-60,928,841),44339=>array(65,-68,908,841),44340=>array(60,-69,907,842),44341=>array(64,-61,907,842),44342=>array(64,-61,907,842),44343=>array(64,-71,931,842),44344=>array(72,-46,907,842),44345=>array(64,-68,912,842),44346=>array(64,-76,907,842),44347=>array(64,-44,921,842),44348=>array(64,-62,917,842),44349=>array(64,-64,907,842),44350=>array(64,-64,908,842),44351=>array(64,-64,908,842),44352=>array(64,-69,923,842),44353=>array(64,-64,908,842),44354=>array(64,-64,908,842),44355=>array(64,-76,907,842),44356=>array(64,-62,907,842),44357=>array(64,-61,907,842),44358=>array(64,-69,922,842),44359=>array(64,-74,929,842),44360=>array(64,-69,927,842),44361=>array(64,-68,911,842),44362=>array(64,-72,929,842),44363=>array(64,-70,936,842),44364=>array(64,-66,908,842),44365=>array(64,-59,916,842),44366=>array(64,-60,928,842),44367=>array(64,-68,908,842),44368=>array(62,27,943,723),44369=>array(62,-61,943,770),44370=>array(62,-61,943,770),44371=>array(62,-71,943,770),44372=>array(62,-46,943,770),44373=>array(62,-68,943,770),44374=>array(62,-74,943,770),44375=>array(62,-44,943,770),44376=>array(62,-62,943,770),44377=>array(62,-64,943,770),44378=>array(62,-64,943,770),44379=>array(62,-63,943,770),44380=>array(62,-68,943,770),44381=>array(62,-64,943,770),44382=>array(62,-63,943,770),44383=>array(62,-74,943,770),44384=>array(62,-62,943,770),44385=>array(62,-61,943,770),44386=>array(62,-69,943,770),44387=>array(62,-74,943,770),44388=>array(62,-69,943,770),44389=>array(62,-68,943,770),44390=>array(62,-72,943,770),44391=>array(62,-70,943,770),44392=>array(62,-66,943,770),44393=>array(62,-59,943,770),44394=>array(62,-60,943,770),44395=>array(62,-68,943,770),44396=>array(79,-64,920,780),44397=>array(79,-61,921,769),44398=>array(79,-61,921,769),44399=>array(79,-71,921,769),44400=>array(79,-46,921,768),44401=>array(79,-68,921,769),44402=>array(79,-74,921,769),44403=>array(79,-44,921,769),44404=>array(79,-62,921,769),44405=>array(79,-64,921,769),44406=>array(79,-64,921,769),44407=>array(79,-63,921,769),44408=>array(79,-68,921,769),44409=>array(79,-64,921,769),44410=>array(79,-63,921,769),44411=>array(79,-74,921,769),44412=>array(79,-62,921,769),44413=>array(79,-61,921,769),44414=>array(79,-69,921,769),44415=>array(79,-74,921,769),44416=>array(79,-69,921,769),44417=>array(79,-68,921,769),44418=>array(79,-72,921,769),44419=>array(79,-70,921,769),44420=>array(79,-66,921,769),44421=>array(79,-59,921,769),44422=>array(79,-60,921,769),44423=>array(79,-68,921,769),44424=>array(67,-69,907,842),44425=>array(75,-61,907,841),44426=>array(75,-61,907,841),44427=>array(75,-71,931,841),44428=>array(81,-46,907,841),44429=>array(75,-68,912,841),44430=>array(75,-76,907,841),44431=>array(75,-44,921,841),44432=>array(75,-62,917,841),44433=>array(75,-64,907,841),44434=>array(75,-64,908,841),44435=>array(75,-64,908,841),44436=>array(75,-69,923,841),44437=>array(75,-64,908,841),44438=>array(75,-64,908,841),44439=>array(75,-76,906,841),44440=>array(75,-62,907,841),44441=>array(75,-61,907,841),44442=>array(75,-69,922,841),44443=>array(75,-74,929,841),44444=>array(75,-69,927,841),44445=>array(75,-68,911,841),44446=>array(75,-72,929,841),44447=>array(75,-70,936,841),44448=>array(75,-66,908,841),44449=>array(75,-59,916,841),44450=>array(75,-60,928,841),44451=>array(75,-68,908,841),44452=>array(40,-69,908,842),44453=>array(70,-61,907,843),44454=>array(70,-61,907,843),44455=>array(70,-71,931,843),44456=>array(79,-46,907,843),44457=>array(70,-68,912,843),44458=>array(70,-76,907,843),44459=>array(70,-44,921,843),44460=>array(70,-62,917,843),44461=>array(70,-64,907,843),44462=>array(70,-64,908,843),44463=>array(70,-64,908,843),44464=>array(70,-69,923,843),44465=>array(70,-64,908,843),44466=>array(70,-64,908,843),44467=>array(70,-76,907,843),44468=>array(70,-62,907,843),44469=>array(70,-61,907,843),44470=>array(70,-69,922,843),44471=>array(70,-74,929,843),44472=>array(70,-69,927,843),44473=>array(70,-68,911,843),44474=>array(70,-72,929,843),44475=>array(70,-70,936,843),44476=>array(70,-66,908,843),44477=>array(70,-59,916,843),44478=>array(70,-60,928,843),44479=>array(70,-68,908,843),44480=>array(55,-69,907,842),44481=>array(64,-61,907,842),44482=>array(64,-61,907,842),44483=>array(64,-71,931,842),44484=>array(64,-46,907,842),44485=>array(64,-68,912,842),44486=>array(64,-76,907,842),44487=>array(64,-44,921,842),44488=>array(64,-62,917,842),44489=>array(64,-64,907,842),44490=>array(64,-64,908,842),44491=>array(64,-64,908,842),44492=>array(64,-69,923,842),44493=>array(64,-64,908,842),44494=>array(64,-64,908,842),44495=>array(64,-76,907,842),44496=>array(64,-62,907,842),44497=>array(64,-61,907,842),44498=>array(64,-69,922,842),44499=>array(64,-74,929,842),44500=>array(64,-69,927,842),44501=>array(64,-68,911,842),44502=>array(64,-72,929,842),44503=>array(64,-70,936,842),44504=>array(64,-66,908,842),44505=>array(64,-59,916,842),44506=>array(64,-60,928,842),44507=>array(64,-68,908,842),44508=>array(71,-64,928,780),44509=>array(79,-61,921,768),44510=>array(79,-61,921,768),44511=>array(79,-71,921,768),44512=>array(79,-46,921,769),44513=>array(79,-68,921,768),44514=>array(79,-74,921,768),44515=>array(79,-44,921,768),44516=>array(79,-62,921,768),44517=>array(79,-64,921,768),44518=>array(79,-64,921,768),44519=>array(79,-63,921,768),44520=>array(79,-68,921,768),44521=>array(79,-64,921,768),44522=>array(79,-63,921,768),44523=>array(79,-74,921,768),44524=>array(79,-62,921,768),44525=>array(79,-61,921,768),44526=>array(79,-69,921,768),44527=>array(79,-74,921,768),44528=>array(79,-69,921,768),44529=>array(79,-68,921,768),44530=>array(79,-72,921,768),44531=>array(79,-70,921,768),44532=>array(79,-66,921,768),44533=>array(79,-59,921,768),44534=>array(79,-60,921,768),44535=>array(79,-68,921,768),44536=>array(57,62,943,685),44537=>array(78,-61,919,769),44538=>array(78,-61,919,769),44539=>array(78,-71,919,769),44540=>array(79,-46,921,770),44541=>array(78,-68,919,769),44542=>array(78,-74,919,769),44543=>array(78,-44,919,769),44544=>array(78,-62,919,769),44545=>array(78,-64,919,769),44546=>array(78,-64,919,769),44547=>array(78,-63,919,769),44548=>array(78,-68,919,769),44549=>array(78,-64,919,769),44550=>array(78,-63,919,769),44551=>array(78,-74,919,769),44552=>array(78,-62,919,769),44553=>array(78,-61,919,769),44554=>array(78,-69,919,769),44555=>array(78,-74,919,769),44556=>array(78,-69,919,769),44557=>array(78,-68,919,769),44558=>array(78,-72,919,769),44559=>array(78,-70,919,769),44560=>array(78,-66,919,769),44561=>array(78,-59,919,769),44562=>array(78,-60,919,769),44563=>array(78,-68,919,769),44564=>array(52,-69,907,842),44565=>array(64,-61,907,842),44566=>array(64,-61,907,842),44567=>array(64,-71,931,842),44568=>array(68,-46,907,842),44569=>array(64,-68,912,842),44570=>array(64,-76,907,842),44571=>array(64,-44,921,842),44572=>array(64,-62,917,842),44573=>array(64,-64,907,842),44574=>array(64,-64,908,842),44575=>array(64,-64,908,842),44576=>array(64,-69,923,842),44577=>array(64,-64,908,842),44578=>array(64,-64,908,842),44579=>array(64,-76,907,842),44580=>array(64,-62,907,842),44581=>array(64,-61,907,842),44582=>array(64,-69,922,842),44583=>array(64,-74,929,842),44584=>array(64,-69,927,842),44585=>array(64,-68,911,842),44586=>array(64,-72,929,842),44587=>array(64,-70,936,842),44588=>array(64,-66,908,842),44589=>array(64,-59,916,842),44590=>array(64,-60,928,842),44591=>array(64,-68,908,842),44592=>array(90,-69,907,842),44593=>array(63,-61,907,842),44594=>array(63,-61,907,842),44595=>array(63,-71,931,842),44596=>array(77,-46,907,842),44597=>array(63,-68,912,842),44598=>array(63,-76,907,842),44599=>array(63,-44,921,842),44600=>array(63,-62,917,842),44601=>array(63,-64,907,842),44602=>array(63,-64,908,842),44603=>array(63,-64,908,842),44604=>array(63,-69,923,842),44605=>array(63,-64,908,842),44606=>array(63,-64,908,842),44607=>array(63,-76,907,842),44608=>array(63,-62,907,842),44609=>array(63,-61,907,842),44610=>array(63,-69,922,842),44611=>array(63,-74,929,842),44612=>array(63,-69,927,842),44613=>array(63,-68,911,842),44614=>array(63,-72,929,842),44615=>array(63,-70,936,842),44616=>array(63,-66,908,842),44617=>array(63,-59,916,842),44618=>array(63,-60,928,842),44619=>array(63,-68,908,842),44620=>array(46,-69,936,842),44621=>array(88,-59,936,842),44622=>array(88,-61,936,842),44623=>array(88,-71,936,842),44624=>array(60,-45,936,842),44625=>array(88,-69,936,842),44626=>array(88,-76,936,842),44627=>array(88,-44,936,842),44628=>array(88,-62,936,842),44629=>array(88,-64,936,842),44630=>array(88,-64,936,842),44631=>array(88,-64,936,842),44632=>array(88,-70,936,842),44633=>array(88,-64,936,842),44634=>array(88,-64,936,842),44635=>array(88,-76,936,842),44636=>array(88,-62,936,842),44637=>array(88,-61,936,842),44638=>array(88,-70,936,842),44639=>array(88,-74,936,842),44640=>array(88,-69,936,842),44641=>array(88,-67,936,842),44642=>array(88,-72,936,842),44643=>array(88,-71,936,842),44644=>array(88,-66,936,842),44645=>array(88,-59,936,842),44646=>array(88,-60,936,842),44647=>array(88,-69,936,842),44648=>array(41,-69,907,842),44649=>array(68,-61,907,837),44650=>array(68,-61,907,837),44651=>array(68,-71,931,837),44652=>array(50,-46,907,842),44653=>array(68,-68,912,837),44654=>array(68,-76,907,837),44655=>array(68,-44,921,837),44656=>array(68,-62,917,837),44657=>array(68,-64,907,837),44658=>array(68,-64,908,837),44659=>array(68,-64,908,837),44660=>array(68,-69,923,837),44661=>array(68,-64,908,837),44662=>array(68,-64,908,837),44663=>array(68,-76,907,837),44664=>array(68,-62,907,837),44665=>array(68,-61,907,837),44666=>array(68,-69,922,837),44667=>array(68,-74,929,837),44668=>array(68,-69,927,837),44669=>array(68,-68,911,837),44670=>array(68,-72,929,837),44671=>array(68,-70,936,837),44672=>array(68,-66,908,837),44673=>array(68,-59,916,837),44674=>array(68,-60,928,837),44675=>array(68,-68,908,837),44676=>array(46,-69,936,842),44677=>array(88,-59,936,842),44678=>array(88,-61,936,842),44679=>array(88,-71,936,842),44680=>array(60,-45,936,842),44681=>array(88,-69,936,842),44682=>array(88,-76,936,842),44683=>array(88,-44,936,842),44684=>array(88,-62,936,842),44685=>array(88,-64,936,842),44686=>array(88,-64,936,842),44687=>array(88,-64,936,842),44688=>array(88,-70,936,842),44689=>array(88,-64,936,842),44690=>array(88,-64,936,842),44691=>array(88,-76,936,842),44692=>array(88,-62,936,842),44693=>array(88,-61,936,842),44694=>array(88,-70,936,842),44695=>array(88,-74,936,842),44696=>array(88,-69,936,842),44697=>array(88,-67,936,842),44698=>array(88,-72,936,842),44699=>array(88,-71,936,842),44700=>array(88,-66,936,842),44701=>array(88,-59,936,842),44702=>array(88,-60,936,842),44703=>array(88,-69,936,842),44704=>array(41,-69,907,842),44705=>array(68,-61,907,842),44706=>array(68,-61,907,842),44707=>array(68,-71,931,842),44708=>array(50,-46,907,842),44709=>array(68,-68,912,842),44710=>array(68,-76,907,842),44711=>array(68,-44,921,842),44712=>array(68,-62,917,842),44713=>array(68,-64,907,842),44714=>array(68,-64,908,842),44715=>array(68,-64,908,842),44716=>array(68,-69,923,842),44717=>array(68,-64,908,842),44718=>array(68,-64,908,842),44719=>array(68,-76,907,842),44720=>array(68,-62,907,842),44721=>array(68,-61,907,842),44722=>array(68,-69,922,842),44723=>array(68,-74,929,842),44724=>array(68,-69,927,842),44725=>array(68,-68,911,842),44726=>array(68,-72,929,842),44727=>array(68,-70,936,842),44728=>array(68,-66,908,842),44729=>array(68,-59,916,842),44730=>array(68,-60,928,842),44731=>array(68,-68,908,842),44732=>array(46,-70,907,841),44733=>array(88,-61,907,836),44734=>array(88,-61,907,836),44735=>array(88,-71,931,836),44736=>array(60,-46,907,841),44737=>array(88,-68,912,836),44738=>array(88,-76,907,836),44739=>array(88,-44,921,836),44740=>array(88,-62,917,836),44741=>array(88,-64,907,836),44742=>array(88,-64,908,836),44743=>array(88,-64,908,836),44744=>array(88,-69,923,836),44745=>array(88,-64,908,836),44746=>array(88,-64,908,836),44747=>array(88,-76,906,836),44748=>array(88,-62,907,836),44749=>array(88,-61,907,836),44750=>array(88,-69,922,836),44751=>array(88,-74,929,836),44752=>array(88,-69,927,836),44753=>array(88,-68,911,836),44754=>array(88,-72,929,836),44755=>array(88,-70,936,836),44756=>array(88,-66,908,836),44757=>array(88,-59,916,836),44758=>array(88,-60,928,836),44759=>array(88,-68,908,836),44760=>array(36,-68,907,843),44761=>array(53,-61,907,843),44762=>array(53,-61,907,843),44763=>array(53,-71,931,843),44764=>array(35,-46,907,843),44765=>array(53,-68,912,843),44766=>array(53,-76,907,843),44767=>array(53,-44,921,843),44768=>array(53,-62,917,843),44769=>array(53,-64,907,843),44770=>array(53,-64,908,843),44771=>array(53,-64,908,843),44772=>array(53,-69,923,843),44773=>array(53,-64,908,843),44774=>array(53,-64,908,843),44775=>array(53,-76,907,843),44776=>array(53,-62,907,843),44777=>array(53,-61,907,843),44778=>array(53,-69,922,843),44779=>array(53,-74,929,843),44780=>array(53,-69,927,843),44781=>array(53,-68,911,843),44782=>array(53,-72,929,843),44783=>array(53,-70,936,843),44784=>array(53,-66,908,843),44785=>array(53,-59,916,843),44786=>array(53,-60,928,843),44787=>array(53,-68,908,843),44788=>array(46,-69,908,842),44789=>array(88,-61,909,842),44790=>array(88,-61,909,842),44791=>array(88,-71,931,842),44792=>array(60,-46,909,841),44793=>array(88,-68,912,842),44794=>array(88,-76,909,842),44795=>array(88,-44,921,842),44796=>array(88,-62,917,842),44797=>array(88,-64,909,842),44798=>array(88,-64,909,842),44799=>array(88,-64,909,842),44800=>array(88,-69,923,842),44801=>array(88,-64,909,842),44802=>array(88,-64,909,842),44803=>array(88,-76,909,842),44804=>array(88,-62,909,842),44805=>array(88,-61,909,842),44806=>array(88,-69,922,842),44807=>array(88,-74,929,842),44808=>array(88,-69,927,842),44809=>array(88,-68,911,842),44810=>array(88,-72,929,842),44811=>array(88,-70,936,842),44812=>array(88,-66,909,842),44813=>array(88,-59,916,842),44814=>array(88,-60,928,842),44815=>array(88,-68,909,842),44816=>array(36,-68,907,843),44817=>array(53,-61,907,838),44818=>array(53,-61,907,838),44819=>array(53,-71,931,838),44820=>array(35,-46,907,843),44821=>array(53,-68,912,838),44822=>array(53,-76,907,838),44823=>array(53,-44,921,838),44824=>array(53,-62,917,838),44825=>array(53,-64,907,838),44826=>array(53,-64,908,838),44827=>array(53,-64,908,838),44828=>array(53,-69,923,838),44829=>array(53,-64,908,838),44830=>array(53,-64,908,838),44831=>array(53,-76,907,838),44832=>array(53,-62,907,838),44833=>array(53,-61,907,838),44834=>array(53,-69,922,838),44835=>array(53,-74,929,838),44836=>array(53,-69,927,838),44837=>array(53,-68,911,838),44838=>array(53,-72,929,838),44839=>array(53,-70,936,838),44840=>array(53,-66,908,838),44841=>array(53,-59,916,838),44842=>array(53,-60,928,838),44843=>array(53,-68,908,838),44844=>array(60,12,940,714),44845=>array(79,-61,921,767),44846=>array(79,-61,921,767),44847=>array(79,-71,921,767),44848=>array(79,-46,921,766),44849=>array(79,-68,921,767),44850=>array(79,-74,921,767),44851=>array(79,-44,921,767),44852=>array(79,-62,921,767),44853=>array(79,-64,921,767),44854=>array(79,-64,921,767),44855=>array(79,-63,921,767),44856=>array(79,-68,921,767),44857=>array(79,-64,921,767),44858=>array(79,-63,921,767),44859=>array(79,-74,921,767),44860=>array(79,-62,921,767),44861=>array(79,-61,921,767),44862=>array(79,-69,921,767),44863=>array(79,-74,921,767),44864=>array(79,-69,921,767),44865=>array(79,-68,921,767),44866=>array(79,-72,921,767),44867=>array(79,-70,921,767),44868=>array(79,-66,921,767),44869=>array(79,-59,921,767),44870=>array(79,-60,921,767),44871=>array(79,-68,921,767),44872=>array(52,-69,936,842),44873=>array(69,-59,936,837),44874=>array(69,-61,936,837),44875=>array(69,-71,936,837),44876=>array(72,-45,936,842),44877=>array(69,-69,936,837),44878=>array(69,-76,936,837),44879=>array(69,-44,936,837),44880=>array(69,-62,936,837),44881=>array(69,-64,936,837),44882=>array(69,-64,936,837),44883=>array(69,-64,936,837),44884=>array(69,-70,936,837),44885=>array(69,-64,936,837),44886=>array(69,-64,936,837),44887=>array(69,-76,936,837),44888=>array(69,-62,936,837),44889=>array(69,-61,936,837),44890=>array(69,-70,936,837),44891=>array(69,-74,936,837),44892=>array(69,-69,936,837),44893=>array(69,-67,936,837),44894=>array(69,-72,936,837),44895=>array(69,-71,936,837),44896=>array(69,-66,936,837),44897=>array(69,-59,936,837),44898=>array(69,-60,936,837),44899=>array(69,-69,936,837),44900=>array(68,-69,907,842),44901=>array(70,-61,907,842),44902=>array(70,-61,907,842),44903=>array(70,-71,931,842),44904=>array(57,-46,907,842),44905=>array(70,-68,912,842),44906=>array(70,-76,907,842),44907=>array(70,-44,921,842),44908=>array(70,-62,917,842),44909=>array(70,-64,907,842),44910=>array(70,-64,908,842),44911=>array(70,-64,908,842),44912=>array(70,-69,923,842),44913=>array(70,-64,908,842),44914=>array(70,-64,908,842),44915=>array(70,-76,907,842),44916=>array(70,-62,907,842),44917=>array(70,-61,907,842),44918=>array(70,-69,922,842),44919=>array(70,-74,929,842),44920=>array(70,-69,927,842),44921=>array(70,-68,911,842),44922=>array(70,-72,929,842),44923=>array(70,-70,936,842),44924=>array(70,-66,908,842),44925=>array(70,-59,916,842),44926=>array(70,-60,928,842),44927=>array(70,-68,908,842),44928=>array(78,-69,907,842),44929=>array(64,-61,907,842),44930=>array(64,-61,907,842),44931=>array(64,-71,931,842),44932=>array(69,-46,907,842),44933=>array(64,-68,912,842),44934=>array(64,-76,907,842),44935=>array(64,-44,921,842),44936=>array(64,-62,917,842),44937=>array(64,-64,907,842),44938=>array(64,-64,908,842),44939=>array(64,-64,908,842),44940=>array(64,-69,923,842),44941=>array(64,-64,908,842),44942=>array(64,-64,908,842),44943=>array(64,-76,907,842),44944=>array(64,-62,907,842),44945=>array(64,-61,907,842),44946=>array(64,-69,922,842),44947=>array(64,-74,929,842),44948=>array(64,-69,927,842),44949=>array(64,-68,911,842),44950=>array(64,-72,929,842),44951=>array(64,-70,936,842),44952=>array(64,-66,908,842),44953=>array(64,-59,916,842),44954=>array(64,-60,928,842),44955=>array(64,-68,908,842),44956=>array(60,32,940,714),44957=>array(79,-61,921,794),44958=>array(79,-61,921,794),44959=>array(79,-71,921,794),44960=>array(79,-46,921,785),44961=>array(79,-68,921,794),44962=>array(79,-74,921,794),44963=>array(79,-44,921,794),44964=>array(79,-62,921,794),44965=>array(79,-64,921,794),44966=>array(79,-64,921,794),44967=>array(79,-63,921,794),44968=>array(79,-68,921,794),44969=>array(79,-64,921,794),44970=>array(79,-63,921,794),44971=>array(79,-74,921,794),44972=>array(79,-62,921,794),44973=>array(79,-61,921,794),44974=>array(79,-69,921,794),44975=>array(79,-74,921,794),44976=>array(79,-69,921,794),44977=>array(79,-68,921,794),44978=>array(79,-72,921,794),44979=>array(79,-70,921,794),44980=>array(79,-66,921,794),44981=>array(79,-59,921,794),44982=>array(79,-60,921,794),44983=>array(79,-68,921,794),44984=>array(79,-64,921,776),44985=>array(79,-61,921,766),44986=>array(79,-61,921,766),44987=>array(79,-71,921,766),44988=>array(79,-46,921,767),44989=>array(79,-68,921,766),44990=>array(79,-74,921,766),44991=>array(79,-44,921,766),44992=>array(79,-62,921,766),44993=>array(79,-64,921,766),44994=>array(79,-64,921,766),44995=>array(79,-63,921,766),44996=>array(79,-68,921,766),44997=>array(79,-64,921,766),44998=>array(79,-63,921,766),44999=>array(79,-74,921,766),45000=>array(79,-62,921,766),45001=>array(79,-61,921,766),45002=>array(79,-69,921,766),45003=>array(79,-74,921,766),45004=>array(79,-69,921,766),45005=>array(79,-68,921,766),45006=>array(79,-72,921,766),45007=>array(79,-70,921,766),45008=>array(79,-66,921,766),45009=>array(79,-59,921,766),45010=>array(79,-60,921,766),45011=>array(79,-68,921,766),45012=>array(78,-70,907,841),45013=>array(68,-61,907,841),45014=>array(68,-61,907,841),45015=>array(68,-71,931,841),45016=>array(80,-46,907,841),45017=>array(68,-68,912,841),45018=>array(68,-76,907,841),45019=>array(68,-44,921,841),45020=>array(68,-62,917,841),45021=>array(68,-64,907,841),45022=>array(68,-64,908,841),45023=>array(68,-64,908,841),45024=>array(68,-69,923,841),45025=>array(68,-64,908,841),45026=>array(68,-64,908,841),45027=>array(68,-76,906,841),45028=>array(68,-62,907,841),45029=>array(68,-61,907,841),45030=>array(68,-69,922,841),45031=>array(68,-74,929,841),45032=>array(68,-69,927,841),45033=>array(68,-68,911,841),45034=>array(68,-72,929,841),45035=>array(68,-70,936,841),45036=>array(68,-66,908,841),45037=>array(68,-59,916,841),45038=>array(68,-60,928,841),45039=>array(68,-68,908,841),45040=>array(50,-68,912,843),45041=>array(67,-61,907,838),45042=>array(67,-61,907,838),45043=>array(67,-71,931,838),45044=>array(75,-46,907,843),45045=>array(67,-68,912,838),45046=>array(67,-76,907,838),45047=>array(67,-44,921,838),45048=>array(67,-62,917,838),45049=>array(67,-64,907,838),45050=>array(67,-64,908,838),45051=>array(67,-64,908,838),45052=>array(67,-69,923,838),45053=>array(67,-64,908,838),45054=>array(67,-64,908,838),45055=>array(67,-76,907,838),45056=>array(67,-62,907,838),45057=>array(67,-61,907,838),45058=>array(67,-69,922,838),45059=>array(67,-74,929,838),45060=>array(67,-69,927,838),45061=>array(67,-68,911,838),45062=>array(67,-72,929,838),45063=>array(67,-70,936,838),45064=>array(67,-66,908,838),45065=>array(67,-59,916,838),45066=>array(67,-60,928,838),45067=>array(67,-68,908,838),45068=>array(64,-69,907,842),45069=>array(65,-61,907,842),45070=>array(65,-61,907,842),45071=>array(65,-71,931,842),45072=>array(78,-46,907,842),45073=>array(65,-68,912,842),45074=>array(65,-76,907,842),45075=>array(65,-44,921,842),45076=>array(65,-62,917,842),45077=>array(65,-64,907,842),45078=>array(65,-64,908,842),45079=>array(65,-64,908,842),45080=>array(65,-69,923,842),45081=>array(65,-64,908,842),45082=>array(65,-64,908,842),45083=>array(65,-76,907,842),45084=>array(65,-62,907,842),45085=>array(65,-61,907,842),45086=>array(65,-69,922,842),45087=>array(65,-74,929,842),45088=>array(65,-69,927,842),45089=>array(65,-68,911,842),45090=>array(65,-72,929,842),45091=>array(65,-70,936,842),45092=>array(65,-66,908,842),45093=>array(65,-59,916,842),45094=>array(65,-60,928,842),45095=>array(65,-68,908,842),45096=>array(84,-64,921,776),45097=>array(79,-61,921,766),45098=>array(79,-61,921,766),45099=>array(79,-71,921,766),45100=>array(81,-46,922,767),45101=>array(79,-68,921,766),45102=>array(79,-74,921,766),45103=>array(79,-44,921,766),45104=>array(79,-62,921,766),45105=>array(79,-64,921,766),45106=>array(79,-64,921,766),45107=>array(79,-63,921,766),45108=>array(79,-68,921,766),45109=>array(79,-64,921,766),45110=>array(79,-63,921,766),45111=>array(79,-74,921,766),45112=>array(79,-62,921,766),45113=>array(79,-61,921,766),45114=>array(79,-69,921,766),45115=>array(79,-74,921,766),45116=>array(79,-69,921,766),45117=>array(79,-68,921,766),45118=>array(79,-72,921,766),45119=>array(79,-70,921,766),45120=>array(79,-66,921,766),45121=>array(79,-59,921,766),45122=>array(79,-60,921,766),45123=>array(79,-68,921,766),45124=>array(57,52,943,691),45125=>array(79,-61,921,767),45126=>array(79,-61,921,767),45127=>array(79,-71,921,767),45128=>array(79,-46,921,767),45129=>array(79,-68,921,767),45130=>array(79,-74,921,767),45131=>array(79,-44,921,767),45132=>array(79,-62,921,767),45133=>array(79,-64,921,767),45134=>array(79,-64,921,767),45135=>array(79,-63,921,767),45136=>array(79,-68,921,767),45137=>array(79,-64,921,767),45138=>array(79,-63,921,767),45139=>array(79,-74,921,767),45140=>array(79,-62,921,767),45141=>array(79,-61,921,767),45142=>array(79,-69,921,767),45143=>array(79,-74,921,767),45144=>array(79,-69,921,767),45145=>array(79,-68,921,767),45146=>array(79,-72,921,767),45147=>array(79,-70,921,767),45148=>array(79,-66,921,767),45149=>array(79,-59,921,767),45150=>array(79,-60,921,767),45151=>array(79,-68,921,767),45152=>array(66,-69,907,842),45153=>array(75,-61,907,842),45154=>array(75,-61,907,842),45155=>array(75,-71,931,842),45156=>array(74,-46,907,842),45157=>array(75,-68,912,842),45158=>array(75,-76,907,842),45159=>array(75,-44,921,842),45160=>array(75,-62,917,842),45161=>array(75,-64,907,842),45162=>array(75,-64,908,842),45163=>array(75,-64,908,842),45164=>array(75,-69,923,842),45165=>array(75,-64,908,842),45166=>array(75,-64,908,842),45167=>array(75,-76,907,842),45168=>array(75,-62,907,842),45169=>array(75,-61,907,842),45170=>array(75,-69,922,842),45171=>array(75,-74,929,842),45172=>array(75,-69,927,842),45173=>array(75,-68,911,842),45174=>array(75,-72,929,842),45175=>array(75,-70,936,842),45176=>array(75,-66,908,842),45177=>array(75,-59,916,842),45178=>array(75,-60,928,842),45179=>array(75,-68,908,842),45180=>array(56,-69,907,842),45181=>array(123,-61,907,842),45182=>array(123,-61,907,842),45183=>array(123,-71,931,842),45184=>array(105,-46,907,842),45185=>array(123,-68,912,842),45186=>array(123,-76,907,842),45187=>array(123,-44,921,842),45188=>array(123,-62,917,842),45189=>array(123,-64,907,842),45190=>array(123,-64,908,842),45191=>array(123,-64,908,842),45192=>array(123,-69,923,842),45193=>array(123,-64,908,842),45194=>array(123,-64,908,842),45195=>array(123,-76,907,842),45196=>array(123,-62,907,842),45197=>array(123,-61,907,842),45198=>array(123,-69,922,842),45199=>array(123,-74,929,842),45200=>array(123,-69,927,842),45201=>array(123,-68,911,842),45202=>array(123,-72,929,842),45203=>array(123,-70,936,842),45204=>array(123,-66,908,842),45205=>array(123,-59,916,842),45206=>array(123,-60,928,842),45207=>array(123,-68,908,842),45208=>array(109,-69,936,842),45209=>array(109,-59,936,842),45210=>array(109,-61,936,842),45211=>array(109,-71,936,842),45212=>array(109,-45,936,842),45213=>array(109,-69,936,842),45214=>array(109,-76,936,842),45215=>array(109,-44,936,842),45216=>array(109,-62,936,842),45217=>array(109,-64,936,842),45218=>array(109,-64,936,842),45219=>array(109,-64,936,842),45220=>array(109,-70,936,842),45221=>array(109,-64,936,842),45222=>array(109,-64,936,842),45223=>array(109,-76,936,842),45224=>array(109,-62,936,842),45225=>array(109,-61,936,842),45226=>array(109,-70,936,842),45227=>array(109,-74,936,842),45228=>array(109,-69,936,842),45229=>array(109,-67,936,842),45230=>array(109,-72,936,842),45231=>array(109,-71,936,842),45232=>array(109,-66,936,842),45233=>array(109,-59,936,842),45234=>array(109,-60,936,842),45235=>array(109,-69,936,842),45236=>array(133,-69,907,842),45237=>array(109,-61,907,842),45238=>array(109,-61,907,842),45239=>array(109,-71,931,842),45240=>array(109,-46,907,842),45241=>array(109,-68,912,842),45242=>array(109,-76,907,842),45243=>array(109,-44,921,842),45244=>array(109,-62,917,842),45245=>array(109,-64,907,842),45246=>array(109,-64,908,842),45247=>array(109,-64,908,842),45248=>array(109,-69,923,842),45249=>array(109,-64,908,842),45250=>array(109,-64,908,842),45251=>array(109,-76,907,842),45252=>array(109,-62,907,842),45253=>array(109,-61,907,842),45254=>array(109,-69,922,842),45255=>array(109,-74,929,842),45256=>array(109,-69,927,842),45257=>array(109,-68,911,842),45258=>array(109,-72,929,842),45259=>array(109,-70,936,842),45260=>array(109,-66,908,842),45261=>array(109,-59,916,842),45262=>array(109,-60,928,842),45263=>array(109,-68,908,842),45264=>array(109,-69,936,842),45265=>array(109,-59,936,842),45266=>array(109,-61,936,842),45267=>array(109,-71,936,842),45268=>array(109,-45,936,842),45269=>array(109,-69,936,842),45270=>array(109,-76,936,842),45271=>array(109,-44,936,842),45272=>array(109,-62,936,842),45273=>array(109,-64,936,842),45274=>array(109,-64,936,842),45275=>array(109,-64,936,842),45276=>array(109,-70,936,842),45277=>array(109,-64,936,842),45278=>array(109,-64,936,842),45279=>array(109,-76,936,842),45280=>array(109,-62,936,842),45281=>array(109,-61,936,842),45282=>array(109,-70,936,842),45283=>array(109,-74,936,842),45284=>array(109,-69,936,842),45285=>array(109,-67,936,842),45286=>array(109,-72,936,842),45287=>array(109,-71,936,842),45288=>array(109,-66,936,842),45289=>array(109,-59,936,842),45290=>array(109,-60,936,842),45291=>array(109,-69,936,842),45292=>array(133,-69,907,842),45293=>array(109,-61,907,842),45294=>array(109,-61,907,842),45295=>array(109,-71,931,842),45296=>array(109,-46,907,842),45297=>array(109,-68,912,842),45298=>array(109,-76,907,842),45299=>array(109,-44,921,842),45300=>array(109,-62,917,842),45301=>array(109,-64,907,842),45302=>array(109,-64,908,842),45303=>array(109,-64,908,842),45304=>array(109,-69,923,842),45305=>array(109,-64,908,842),45306=>array(109,-64,908,842),45307=>array(109,-76,907,842),45308=>array(109,-62,907,842),45309=>array(109,-61,907,842),45310=>array(109,-69,922,842),45311=>array(109,-74,929,842),45312=>array(109,-69,927,842),45313=>array(109,-68,911,842),45314=>array(109,-72,929,842),45315=>array(109,-70,936,842),45316=>array(109,-66,908,842),45317=>array(109,-59,916,842),45318=>array(109,-60,928,842),45319=>array(109,-68,908,842),45320=>array(109,-70,907,841),45321=>array(109,-61,907,841),45322=>array(109,-61,907,841),45323=>array(109,-71,931,841),45324=>array(109,-46,907,841),45325=>array(109,-68,912,841),45326=>array(109,-76,907,841),45327=>array(109,-44,921,841),45328=>array(109,-62,917,841),45329=>array(109,-64,907,841),45330=>array(109,-64,908,841),45331=>array(109,-64,908,841),45332=>array(109,-69,923,841),45333=>array(109,-64,908,841),45334=>array(109,-64,908,841),45335=>array(109,-76,906,841),45336=>array(109,-62,907,841),45337=>array(109,-61,907,841),45338=>array(109,-69,922,841),45339=>array(109,-74,929,841),45340=>array(109,-69,927,841),45341=>array(109,-68,911,841),45342=>array(109,-72,929,841),45343=>array(109,-70,936,841),45344=>array(109,-66,908,841),45345=>array(109,-59,916,841),45346=>array(109,-60,928,841),45347=>array(109,-68,908,841),45348=>array(134,-68,907,843),45349=>array(109,-61,907,843),45350=>array(109,-61,907,843),45351=>array(109,-71,931,843),45352=>array(109,-46,907,843),45353=>array(109,-68,912,843),45354=>array(109,-76,907,843),45355=>array(109,-44,921,843),45356=>array(109,-62,917,843),45357=>array(109,-64,907,843),45358=>array(109,-64,908,843),45359=>array(109,-64,908,843),45360=>array(109,-69,923,843),45361=>array(109,-64,908,843),45362=>array(109,-64,908,843),45363=>array(109,-76,907,843),45364=>array(109,-62,907,843),45365=>array(109,-61,907,843),45366=>array(109,-69,922,843),45367=>array(109,-74,929,843),45368=>array(109,-69,927,843),45369=>array(109,-68,911,843),45370=>array(109,-72,929,843),45371=>array(109,-70,936,843),45372=>array(109,-66,908,843),45373=>array(109,-59,916,843),45374=>array(109,-60,928,843),45375=>array(109,-68,908,843),45376=>array(109,-69,909,842),45377=>array(109,-61,907,842),45378=>array(109,-61,907,842),45379=>array(109,-71,931,842),45380=>array(109,-46,908,841),45381=>array(109,-68,912,842),45382=>array(109,-76,907,842),45383=>array(109,-44,921,842),45384=>array(109,-62,917,842),45385=>array(109,-64,907,842),45386=>array(109,-64,908,842),45387=>array(109,-64,908,842),45388=>array(109,-69,923,842),45389=>array(109,-64,908,842),45390=>array(109,-64,908,842),45391=>array(109,-76,907,842),45392=>array(109,-62,907,842),45393=>array(109,-61,907,842),45394=>array(109,-69,922,842),45395=>array(109,-74,929,842),45396=>array(109,-69,927,842),45397=>array(109,-68,911,842),45398=>array(109,-72,929,842),45399=>array(109,-70,936,842),45400=>array(109,-66,908,842),45401=>array(109,-59,916,842),45402=>array(109,-60,928,842),45403=>array(109,-68,908,842),45404=>array(144,-68,907,843),45405=>array(109,-61,907,838),45406=>array(109,-61,907,838),45407=>array(109,-71,931,838),45408=>array(109,-46,907,843),45409=>array(109,-68,912,838),45410=>array(109,-76,907,838),45411=>array(109,-44,921,838),45412=>array(109,-62,917,838),45413=>array(109,-64,907,838),45414=>array(109,-64,908,838),45415=>array(109,-64,908,838),45416=>array(109,-69,923,838),45417=>array(109,-64,908,838),45418=>array(109,-64,908,838),45419=>array(109,-76,907,838),45420=>array(109,-62,907,838),45421=>array(109,-61,907,838),45422=>array(109,-69,922,838),45423=>array(109,-74,929,838),45424=>array(109,-69,927,838),45425=>array(109,-68,911,838),45426=>array(109,-72,929,838),45427=>array(109,-70,936,838),45428=>array(109,-66,908,838),45429=>array(109,-59,916,838),45430=>array(109,-60,928,838),45431=>array(109,-68,908,838),45432=>array(62,27,943,732),45433=>array(79,-61,921,797),45434=>array(79,-61,921,797),45435=>array(79,-71,921,797),45436=>array(79,-46,921,792),45437=>array(79,-68,921,797),45438=>array(79,-74,921,797),45439=>array(79,-44,921,797),45440=>array(79,-62,921,797),45441=>array(79,-64,921,797),45442=>array(79,-64,921,797),45443=>array(79,-63,921,797),45444=>array(79,-68,921,797),45445=>array(79,-64,921,797),45446=>array(79,-63,921,797),45447=>array(79,-74,921,797),45448=>array(79,-62,921,797),45449=>array(79,-61,921,797),45450=>array(79,-69,921,797),45451=>array(79,-74,921,797),45452=>array(79,-69,921,797),45453=>array(79,-68,921,797),45454=>array(79,-72,921,797),45455=>array(79,-70,921,797),45456=>array(79,-66,921,797),45457=>array(79,-59,921,797),45458=>array(79,-60,921,797),45459=>array(79,-68,921,797),45460=>array(47,-69,936,842),45461=>array(64,-59,936,842),45462=>array(64,-61,936,842),45463=>array(64,-71,936,842),45464=>array(74,-45,936,842),45465=>array(64,-69,936,842),45466=>array(64,-76,936,842),45467=>array(64,-44,936,842),45468=>array(64,-62,936,842),45469=>array(64,-64,936,842),45470=>array(64,-64,936,842),45471=>array(64,-64,936,842),45472=>array(64,-70,936,842),45473=>array(64,-64,936,842),45474=>array(64,-64,936,842),45475=>array(64,-76,936,842),45476=>array(64,-62,936,842),45477=>array(64,-61,936,842),45478=>array(64,-70,936,842),45479=>array(64,-74,936,842),45480=>array(64,-69,936,842),45481=>array(64,-67,936,842),45482=>array(64,-72,936,842),45483=>array(64,-71,936,842),45484=>array(64,-66,936,842),45485=>array(64,-59,936,842),45486=>array(64,-60,936,842),45487=>array(64,-69,936,842),45488=>array(43,-68,907,843),45489=>array(79,-61,907,843),45490=>array(79,-61,907,843),45491=>array(79,-71,931,843),45492=>array(72,-46,907,842),45493=>array(79,-68,912,843),45494=>array(79,-76,907,843),45495=>array(79,-44,921,843),45496=>array(79,-62,917,843),45497=>array(79,-64,907,843),45498=>array(79,-64,908,843),45499=>array(79,-64,908,843),45500=>array(79,-69,923,843),45501=>array(79,-64,908,843),45502=>array(79,-64,908,843),45503=>array(79,-76,907,843),45504=>array(79,-62,907,843),45505=>array(79,-61,907,843),45506=>array(79,-69,922,843),45507=>array(79,-74,929,843),45508=>array(79,-69,927,843),45509=>array(79,-68,911,843),45510=>array(79,-72,929,843),45511=>array(79,-70,936,843),45512=>array(79,-66,908,843),45513=>array(79,-59,916,843),45514=>array(79,-60,928,843),45515=>array(79,-68,908,843),45516=>array(62,-69,907,842),45517=>array(64,-61,908,842),45518=>array(64,-61,908,842),45519=>array(64,-71,931,842),45520=>array(64,-46,908,841),45521=>array(64,-68,912,842),45522=>array(64,-76,908,842),45523=>array(64,-44,921,842),45524=>array(64,-62,917,842),45525=>array(64,-64,908,842),45526=>array(64,-64,908,842),45527=>array(64,-64,908,842),45528=>array(64,-69,923,842),45529=>array(64,-64,908,842),45530=>array(64,-64,908,842),45531=>array(64,-76,908,842),45532=>array(64,-62,908,842),45533=>array(64,-61,908,842),45534=>array(64,-69,922,842),45535=>array(64,-74,929,842),45536=>array(64,-69,927,842),45537=>array(64,-68,911,842),45538=>array(64,-72,929,842),45539=>array(64,-70,936,842),45540=>array(64,-66,908,842),45541=>array(64,-59,916,842),45542=>array(64,-60,928,842),45543=>array(64,-68,908,842),45544=>array(60,-13,940,742),45545=>array(79,-61,922,797),45546=>array(79,-61,922,797),45547=>array(79,-71,922,797),45548=>array(79,-46,922,797),45549=>array(79,-68,922,797),45550=>array(79,-74,922,797),45551=>array(79,-44,922,797),45552=>array(79,-62,922,797),45553=>array(79,-64,922,797),45554=>array(79,-64,922,797),45555=>array(79,-63,922,797),45556=>array(79,-68,922,797),45557=>array(79,-64,922,797),45558=>array(79,-63,922,797),45559=>array(79,-74,922,797),45560=>array(79,-62,922,797),45561=>array(79,-61,922,797),45562=>array(79,-69,922,797),45563=>array(79,-74,922,797),45564=>array(79,-69,922,797),45565=>array(79,-68,922,797),45566=>array(79,-72,922,797),45567=>array(79,-70,922,797),45568=>array(79,-66,922,797),45569=>array(79,-59,922,797),45570=>array(79,-60,922,797),45571=>array(79,-68,922,797),45572=>array(79,-64,921,797),45573=>array(79,-61,921,797),45574=>array(79,-61,921,797),45575=>array(79,-71,921,797),45576=>array(79,-46,921,797),45577=>array(79,-68,921,797),45578=>array(79,-74,921,797),45579=>array(79,-44,921,797),45580=>array(79,-62,921,797),45581=>array(79,-64,921,797),45582=>array(79,-64,921,797),45583=>array(79,-63,921,797),45584=>array(79,-68,921,797),45585=>array(79,-64,921,797),45586=>array(79,-63,921,797),45587=>array(79,-74,921,797),45588=>array(79,-62,921,797),45589=>array(79,-61,921,797),45590=>array(79,-69,921,797),45591=>array(79,-74,921,797),45592=>array(79,-69,921,797),45593=>array(79,-68,921,797),45594=>array(79,-72,921,797),45595=>array(79,-70,921,797),45596=>array(79,-66,921,797),45597=>array(79,-59,921,797),45598=>array(79,-60,921,797),45599=>array(79,-68,921,797),45600=>array(69,-69,909,842),45601=>array(79,-61,907,841),45602=>array(79,-61,907,841),45603=>array(79,-71,931,841),45604=>array(79,-46,907,841),45605=>array(79,-68,912,841),45606=>array(79,-76,907,841),45607=>array(79,-44,921,841),45608=>array(79,-62,917,841),45609=>array(79,-64,907,841),45610=>array(79,-64,908,841),45611=>array(79,-64,908,841),45612=>array(79,-69,923,841),45613=>array(79,-64,908,841),45614=>array(79,-64,908,841),45615=>array(79,-76,906,841),45616=>array(79,-62,907,841),45617=>array(79,-61,907,841),45618=>array(79,-69,922,841),45619=>array(79,-74,929,841),45620=>array(79,-69,927,841),45621=>array(79,-68,911,841),45622=>array(79,-72,929,841),45623=>array(79,-70,936,841),45624=>array(79,-66,908,841),45625=>array(79,-59,916,841),45626=>array(79,-60,928,841),45627=>array(79,-68,908,841),45628=>array(63,-68,907,843),45629=>array(72,-61,907,843),45630=>array(72,-61,907,843),45631=>array(72,-71,931,843),45632=>array(90,-46,907,843),45633=>array(72,-68,912,843),45634=>array(72,-76,907,843),45635=>array(72,-44,921,843),45636=>array(72,-62,917,843),45637=>array(72,-64,907,843),45638=>array(72,-64,908,843),45639=>array(72,-64,908,843),45640=>array(72,-69,923,843),45641=>array(72,-64,908,843),45642=>array(72,-64,908,843),45643=>array(72,-76,907,843),45644=>array(72,-62,907,843),45645=>array(72,-61,907,843),45646=>array(72,-69,922,843),45647=>array(72,-74,929,843),45648=>array(72,-69,927,843),45649=>array(72,-68,911,843),45650=>array(72,-72,929,843),45651=>array(72,-70,936,843),45652=>array(72,-66,908,843),45653=>array(72,-59,916,843),45654=>array(72,-60,928,843),45655=>array(72,-68,908,843),45656=>array(70,-68,910,843),45657=>array(64,-61,907,842),45658=>array(64,-61,907,842),45659=>array(64,-71,931,842),45660=>array(65,-46,907,841),45661=>array(64,-68,912,842),45662=>array(64,-76,907,842),45663=>array(64,-44,921,842),45664=>array(64,-62,917,842),45665=>array(64,-64,907,842),45666=>array(64,-64,908,842),45667=>array(64,-64,908,842),45668=>array(64,-69,923,842),45669=>array(64,-64,908,842),45670=>array(64,-64,908,842),45671=>array(64,-76,907,842),45672=>array(64,-62,907,842),45673=>array(64,-61,907,842),45674=>array(64,-69,922,842),45675=>array(64,-74,929,842),45676=>array(64,-69,927,842),45677=>array(64,-68,911,842),45678=>array(64,-72,929,842),45679=>array(64,-70,936,842),45680=>array(64,-66,908,842),45681=>array(64,-59,916,842),45682=>array(64,-60,928,842),45683=>array(64,-68,908,842),45684=>array(71,-64,928,797),45685=>array(79,-61,921,797),45686=>array(79,-61,921,797),45687=>array(79,-71,921,797),45688=>array(79,-46,921,797),45689=>array(79,-68,921,797),45690=>array(79,-74,921,797),45691=>array(79,-44,921,797),45692=>array(79,-62,921,797),45693=>array(79,-64,921,797),45694=>array(79,-64,921,797),45695=>array(79,-63,921,797),45696=>array(79,-68,921,797),45697=>array(79,-64,921,797),45698=>array(79,-63,921,797),45699=>array(79,-74,921,797),45700=>array(79,-62,921,797),45701=>array(79,-61,921,797),45702=>array(79,-69,921,797),45703=>array(79,-74,921,797),45704=>array(79,-69,921,797),45705=>array(79,-68,921,797),45706=>array(79,-72,921,797),45707=>array(79,-70,921,797),45708=>array(79,-66,921,797),45709=>array(79,-59,921,797),45710=>array(79,-60,921,797),45711=>array(79,-68,921,797),45712=>array(57,32,943,747),45713=>array(79,-61,921,802),45714=>array(79,-61,921,802),45715=>array(79,-71,921,802),45716=>array(79,-46,921,812),45717=>array(79,-68,921,802),45718=>array(79,-74,921,802),45719=>array(79,-44,921,802),45720=>array(79,-62,921,802),45721=>array(79,-64,921,802),45722=>array(79,-64,921,802),45723=>array(79,-63,921,802),45724=>array(79,-68,921,802),45725=>array(79,-64,921,802),45726=>array(79,-63,921,802),45727=>array(79,-74,921,802),45728=>array(79,-62,921,802),45729=>array(79,-61,921,802),45730=>array(79,-69,921,802),45731=>array(79,-74,921,802),45732=>array(79,-69,921,802),45733=>array(79,-68,921,802),45734=>array(79,-72,921,802),45735=>array(79,-70,921,802),45736=>array(79,-66,921,802),45737=>array(79,-59,921,802),45738=>array(79,-60,921,802),45739=>array(79,-68,921,802),45740=>array(68,-69,907,842),45741=>array(69,-61,907,842),45742=>array(69,-61,907,842),45743=>array(69,-71,931,842),45744=>array(65,-46,907,842),45745=>array(69,-68,912,842),45746=>array(69,-76,907,842),45747=>array(69,-44,921,842),45748=>array(69,-62,917,842),45749=>array(69,-64,907,842),45750=>array(69,-64,908,842),45751=>array(69,-64,908,842),45752=>array(69,-69,923,842),45753=>array(69,-64,908,842),45754=>array(69,-64,908,842),45755=>array(69,-76,907,842),45756=>array(69,-62,907,842),45757=>array(69,-61,907,842),45758=>array(69,-69,922,842),45759=>array(69,-74,929,842),45760=>array(69,-69,927,842),45761=>array(69,-68,911,842),45762=>array(69,-72,929,842),45763=>array(69,-70,936,842),45764=>array(69,-66,908,842),45765=>array(69,-59,916,842),45766=>array(69,-60,928,842),45767=>array(69,-68,908,842),45768=>array(138,-69,907,842),45769=>array(138,-61,907,842),45770=>array(138,-61,907,842),45771=>array(138,-71,931,842),45772=>array(138,-46,907,842),45773=>array(138,-68,912,842),45774=>array(138,-76,907,842),45775=>array(138,-44,921,842),45776=>array(138,-62,917,842),45777=>array(138,-64,907,842),45778=>array(138,-64,908,842),45779=>array(138,-64,908,842),45780=>array(138,-69,923,842),45781=>array(138,-64,908,842),45782=>array(138,-64,908,842),45783=>array(138,-76,907,842),45784=>array(138,-62,907,842),45785=>array(138,-61,907,842),45786=>array(138,-69,922,842),45787=>array(138,-74,929,842),45788=>array(138,-69,927,842),45789=>array(138,-68,911,842),45790=>array(138,-72,929,842),45791=>array(138,-70,936,842),45792=>array(138,-66,908,842),45793=>array(138,-59,916,842),45794=>array(138,-60,928,842),45795=>array(138,-68,908,842),45796=>array(109,-69,936,842),45797=>array(109,-59,936,837),45798=>array(109,-61,936,837),45799=>array(109,-71,936,837),45800=>array(109,-45,936,842),45801=>array(109,-69,936,837),45802=>array(109,-76,936,837),45803=>array(109,-44,936,837),45804=>array(109,-62,936,837),45805=>array(109,-64,936,837),45806=>array(109,-64,936,837),45807=>array(109,-64,936,837),45808=>array(109,-70,936,837),45809=>array(109,-64,936,837),45810=>array(109,-64,936,837),45811=>array(109,-76,936,837),45812=>array(109,-62,936,837),45813=>array(109,-61,936,837),45814=>array(109,-70,936,837),45815=>array(109,-74,936,837),45816=>array(109,-69,936,837),45817=>array(109,-67,936,837),45818=>array(109,-72,936,837),45819=>array(109,-71,936,837),45820=>array(109,-66,936,837),45821=>array(109,-59,936,837),45822=>array(109,-60,936,837),45823=>array(109,-69,936,837),45824=>array(109,-69,907,842),45825=>array(119,-61,907,842),45826=>array(119,-61,907,842),45827=>array(119,-71,931,842),45828=>array(119,-46,907,842),45829=>array(119,-68,912,842),45830=>array(119,-76,907,842),45831=>array(119,-44,921,842),45832=>array(119,-62,917,842),45833=>array(119,-64,907,842),45834=>array(119,-64,908,842),45835=>array(119,-64,908,842),45836=>array(119,-69,923,842),45837=>array(119,-64,908,842),45838=>array(119,-64,908,842),45839=>array(119,-76,907,842),45840=>array(119,-62,907,842),45841=>array(119,-61,907,842),45842=>array(119,-69,922,842),45843=>array(119,-74,929,842),45844=>array(119,-69,927,842),45845=>array(119,-68,911,842),45846=>array(119,-72,929,842),45847=>array(119,-70,936,842),45848=>array(119,-66,908,842),45849=>array(119,-59,916,842),45850=>array(119,-60,928,842),45851=>array(119,-68,908,842),45852=>array(109,-68,935,843),45853=>array(109,-59,936,842),45854=>array(109,-61,936,842),45855=>array(109,-71,936,842),45856=>array(109,-45,936,842),45857=>array(109,-69,936,842),45858=>array(109,-76,936,842),45859=>array(109,-44,936,842),45860=>array(109,-62,936,842),45861=>array(109,-64,936,842),45862=>array(109,-64,936,842),45863=>array(109,-64,936,842),45864=>array(109,-70,936,842),45865=>array(109,-64,936,842),45866=>array(109,-64,936,842),45867=>array(109,-76,936,842),45868=>array(109,-62,936,842),45869=>array(109,-61,936,842),45870=>array(109,-70,936,842),45871=>array(109,-74,936,842),45872=>array(109,-69,936,842),45873=>array(109,-67,936,842),45874=>array(109,-72,936,842),45875=>array(109,-71,936,842),45876=>array(109,-66,936,842),45877=>array(109,-59,936,842),45878=>array(109,-60,936,842),45879=>array(109,-69,936,842),45880=>array(109,-69,907,842),45881=>array(119,-61,907,842),45882=>array(119,-61,907,842),45883=>array(119,-71,931,842),45884=>array(119,-46,907,842),45885=>array(119,-68,912,842),45886=>array(119,-76,907,842),45887=>array(119,-44,921,842),45888=>array(119,-62,917,842),45889=>array(119,-64,907,842),45890=>array(119,-64,908,842),45891=>array(119,-64,908,842),45892=>array(119,-69,923,842),45893=>array(119,-64,908,842),45894=>array(119,-64,908,842),45895=>array(119,-76,907,842),45896=>array(119,-62,907,842),45897=>array(119,-61,907,842),45898=>array(119,-69,922,842),45899=>array(119,-74,929,842),45900=>array(119,-69,927,842),45901=>array(119,-68,911,842),45902=>array(119,-72,929,842),45903=>array(119,-70,936,842),45904=>array(119,-66,908,842),45905=>array(119,-59,916,842),45906=>array(119,-60,928,842),45907=>array(119,-68,908,842),45908=>array(109,-70,907,841),45909=>array(109,-61,907,841),45910=>array(109,-61,907,841),45911=>array(109,-71,931,841),45912=>array(109,-46,907,841),45913=>array(109,-68,912,841),45914=>array(109,-76,907,841),45915=>array(109,-44,921,841),45916=>array(109,-62,917,841),45917=>array(109,-64,907,841),45918=>array(109,-64,908,841),45919=>array(109,-64,908,841),45920=>array(109,-69,923,841),45921=>array(109,-64,908,841),45922=>array(109,-64,908,841),45923=>array(109,-76,906,841),45924=>array(109,-62,907,841),45925=>array(109,-61,907,841),45926=>array(109,-69,922,841),45927=>array(109,-74,929,841),45928=>array(109,-69,927,841),45929=>array(109,-68,911,841),45930=>array(109,-72,929,841),45931=>array(109,-70,936,841),45932=>array(109,-66,908,841),45933=>array(109,-59,916,841),45934=>array(109,-60,928,841),45935=>array(109,-68,908,841),45936=>array(109,-68,907,843),45937=>array(119,-61,907,843),45938=>array(119,-61,907,843),45939=>array(119,-71,931,843),45940=>array(119,-46,907,843),45941=>array(119,-68,912,843),45942=>array(119,-76,907,843),45943=>array(119,-44,921,843),45944=>array(119,-62,917,843),45945=>array(119,-64,907,843),45946=>array(119,-64,908,843),45947=>array(119,-64,908,843),45948=>array(119,-69,923,843),45949=>array(119,-64,908,843),45950=>array(119,-64,908,843),45951=>array(119,-76,907,843),45952=>array(119,-62,907,843),45953=>array(119,-61,907,843),45954=>array(119,-69,922,843),45955=>array(119,-74,929,843),45956=>array(119,-69,927,843),45957=>array(119,-68,911,843),45958=>array(119,-72,929,843),45959=>array(119,-70,936,843),45960=>array(119,-66,908,843),45961=>array(119,-59,916,843),45962=>array(119,-60,928,843),45963=>array(119,-68,908,843),45964=>array(109,-70,907,842),45965=>array(109,-61,908,842),45966=>array(109,-61,908,842),45967=>array(109,-71,931,842),45968=>array(109,-46,907,842),45969=>array(109,-68,912,842),45970=>array(109,-76,908,842),45971=>array(109,-44,921,842),45972=>array(109,-62,917,842),45973=>array(109,-64,908,842),45974=>array(109,-64,908,842),45975=>array(109,-64,908,842),45976=>array(109,-69,923,842),45977=>array(109,-64,908,842),45978=>array(109,-64,908,842),45979=>array(109,-76,908,842),45980=>array(109,-62,908,842),45981=>array(109,-61,908,842),45982=>array(109,-69,922,842),45983=>array(109,-74,929,842),45984=>array(109,-69,927,842),45985=>array(109,-68,911,842),45986=>array(109,-72,929,842),45987=>array(109,-70,936,842),45988=>array(109,-66,908,842),45989=>array(109,-59,916,842),45990=>array(109,-60,928,842),45991=>array(109,-68,908,842),45992=>array(109,-68,907,843),45993=>array(119,-61,907,843),45994=>array(119,-61,907,843),45995=>array(119,-71,931,843),45996=>array(119,-46,907,843),45997=>array(119,-68,912,843),45998=>array(119,-76,907,843),45999=>array(119,-44,921,843),46000=>array(119,-62,917,843),46001=>array(119,-64,907,843),46002=>array(119,-64,908,843),46003=>array(119,-64,908,843),46004=>array(119,-69,923,843),46005=>array(119,-64,908,843),46006=>array(119,-64,908,843),46007=>array(119,-76,907,843),46008=>array(119,-62,907,843),46009=>array(119,-61,907,843),46010=>array(119,-69,922,843),46011=>array(119,-74,929,843),46012=>array(119,-69,927,843),46013=>array(119,-68,911,843),46014=>array(119,-72,929,843),46015=>array(119,-70,936,843),46016=>array(119,-66,908,843),46017=>array(119,-59,916,843),46018=>array(119,-60,928,843),46019=>array(119,-68,908,843),46020=>array(62,-13,943,759),46021=>array(79,-61,921,790),46022=>array(79,-61,921,790),46023=>array(79,-71,921,790),46024=>array(79,-46,921,784),46025=>array(79,-68,921,790),46026=>array(79,-74,921,790),46027=>array(79,-44,921,790),46028=>array(79,-62,921,790),46029=>array(79,-64,921,790),46030=>array(79,-64,921,790),46031=>array(79,-63,921,790),46032=>array(79,-68,921,790),46033=>array(79,-64,921,790),46034=>array(79,-63,921,790),46035=>array(79,-74,921,790),46036=>array(79,-62,921,790),46037=>array(79,-61,921,790),46038=>array(79,-69,921,790),46039=>array(79,-74,921,790),46040=>array(79,-69,921,790),46041=>array(79,-68,921,790),46042=>array(79,-72,921,790),46043=>array(79,-70,921,790),46044=>array(79,-66,921,790),46045=>array(79,-59,921,790),46046=>array(79,-60,921,790),46047=>array(79,-68,921,790),46048=>array(47,-69,936,842),46049=>array(64,-59,936,842),46050=>array(64,-61,936,842),46051=>array(64,-71,936,842),46052=>array(74,-45,936,842),46053=>array(64,-69,936,842),46054=>array(64,-76,936,842),46055=>array(64,-44,936,842),46056=>array(64,-62,936,842),46057=>array(64,-64,936,842),46058=>array(64,-64,936,842),46059=>array(64,-64,936,842),46060=>array(64,-70,936,842),46061=>array(64,-64,936,842),46062=>array(64,-64,936,842),46063=>array(64,-76,936,842),46064=>array(64,-62,936,842),46065=>array(64,-61,936,842),46066=>array(64,-70,936,842),46067=>array(64,-74,936,842),46068=>array(64,-69,936,842),46069=>array(64,-67,936,842),46070=>array(64,-72,936,842),46071=>array(64,-71,936,842),46072=>array(64,-66,936,842),46073=>array(64,-59,936,842),46074=>array(64,-60,936,842),46075=>array(64,-69,936,842),46076=>array(61,-69,906,842),46077=>array(64,-61,907,842),46078=>array(64,-61,907,842),46079=>array(64,-71,931,842),46080=>array(53,-46,907,842),46081=>array(64,-68,912,842),46082=>array(64,-76,907,842),46083=>array(64,-44,921,842),46084=>array(64,-62,917,842),46085=>array(64,-64,907,842),46086=>array(64,-64,908,842),46087=>array(64,-64,908,842),46088=>array(64,-69,923,842),46089=>array(64,-64,908,842),46090=>array(64,-64,908,842),46091=>array(64,-76,907,842),46092=>array(64,-62,907,842),46093=>array(64,-61,907,842),46094=>array(64,-69,922,842),46095=>array(64,-74,929,842),46096=>array(64,-69,927,842),46097=>array(64,-68,911,842),46098=>array(64,-72,929,842),46099=>array(64,-70,936,842),46100=>array(64,-66,908,842),46101=>array(64,-59,916,842),46102=>array(64,-60,928,842),46103=>array(64,-68,908,842),46104=>array(62,-69,907,842),46105=>array(64,-61,907,842),46106=>array(64,-61,907,842),46107=>array(64,-71,931,842),46108=>array(64,-46,908,841),46109=>array(64,-68,912,842),46110=>array(64,-76,907,842),46111=>array(64,-44,921,842),46112=>array(64,-62,917,842),46113=>array(64,-64,907,842),46114=>array(64,-64,908,842),46115=>array(64,-64,908,842),46116=>array(64,-69,923,842),46117=>array(64,-64,908,842),46118=>array(64,-64,908,842),46119=>array(64,-76,907,842),46120=>array(64,-62,907,842),46121=>array(64,-61,907,842),46122=>array(64,-69,922,842),46123=>array(64,-74,929,842),46124=>array(64,-69,927,842),46125=>array(64,-68,911,842),46126=>array(64,-72,929,842),46127=>array(64,-70,936,842),46128=>array(64,-66,908,842),46129=>array(64,-59,916,842),46130=>array(64,-60,928,842),46131=>array(64,-68,908,842),46132=>array(60,-13,940,759),46133=>array(79,-61,921,785),46134=>array(79,-61,921,785),46135=>array(79,-71,921,785),46136=>array(79,-46,922,784),46137=>array(79,-68,921,785),46138=>array(79,-74,921,785),46139=>array(79,-44,921,785),46140=>array(79,-62,921,785),46141=>array(79,-64,921,785),46142=>array(79,-64,921,785),46143=>array(79,-63,921,785),46144=>array(79,-68,921,785),46145=>array(79,-64,921,785),46146=>array(79,-63,921,785),46147=>array(79,-74,921,785),46148=>array(79,-62,921,785),46149=>array(79,-61,921,785),46150=>array(79,-69,921,785),46151=>array(79,-74,921,785),46152=>array(79,-69,921,785),46153=>array(79,-68,921,785),46154=>array(79,-72,921,785),46155=>array(79,-70,921,785),46156=>array(79,-66,921,785),46157=>array(79,-59,921,785),46158=>array(79,-60,921,785),46159=>array(79,-68,921,785),46160=>array(79,-64,920,789),46161=>array(79,-61,921,785),46162=>array(79,-61,921,785),46163=>array(79,-71,921,785),46164=>array(79,-46,921,784),46165=>array(79,-68,921,785),46166=>array(79,-74,921,785),46167=>array(79,-44,921,785),46168=>array(79,-62,921,785),46169=>array(79,-64,921,785),46170=>array(79,-64,921,785),46171=>array(79,-63,921,785),46172=>array(79,-68,921,785),46173=>array(79,-64,921,785),46174=>array(79,-63,921,785),46175=>array(79,-74,921,785),46176=>array(79,-62,921,785),46177=>array(79,-61,921,785),46178=>array(79,-69,921,785),46179=>array(79,-74,921,785),46180=>array(79,-69,921,785),46181=>array(79,-68,921,785),46182=>array(79,-72,921,785),46183=>array(79,-70,921,785),46184=>array(79,-66,921,785),46185=>array(79,-59,921,785),46186=>array(79,-60,921,785),46187=>array(79,-68,921,785),46188=>array(68,-70,907,841),46189=>array(76,-61,907,841),46190=>array(76,-61,907,841),46191=>array(76,-71,931,841),46192=>array(75,-46,907,841),46193=>array(76,-68,912,841),46194=>array(76,-76,907,841),46195=>array(76,-44,921,841),46196=>array(76,-62,917,841),46197=>array(76,-64,907,841),46198=>array(76,-64,908,841),46199=>array(76,-64,908,841),46200=>array(76,-69,923,841),46201=>array(76,-64,908,841),46202=>array(76,-64,908,841),46203=>array(76,-76,906,841),46204=>array(76,-62,907,841),46205=>array(76,-61,907,841),46206=>array(76,-69,922,841),46207=>array(76,-74,929,841),46208=>array(76,-69,927,841),46209=>array(76,-68,911,841),46210=>array(76,-72,929,841),46211=>array(76,-70,936,841),46212=>array(76,-66,908,841),46213=>array(76,-59,916,841),46214=>array(76,-60,928,841),46215=>array(76,-68,908,841),46216=>array(52,-69,908,842),46217=>array(71,-61,907,843),46218=>array(71,-61,907,843),46219=>array(71,-71,931,843),46220=>array(79,-46,907,843),46221=>array(71,-68,912,843),46222=>array(71,-76,907,843),46223=>array(71,-44,921,843),46224=>array(71,-62,917,843),46225=>array(71,-64,907,843),46226=>array(71,-64,908,843),46227=>array(71,-64,908,843),46228=>array(71,-69,923,843),46229=>array(71,-64,908,843),46230=>array(71,-64,908,843),46231=>array(71,-76,907,843),46232=>array(71,-62,907,843),46233=>array(71,-61,907,843),46234=>array(71,-69,922,843),46235=>array(71,-74,929,843),46236=>array(71,-69,927,843),46237=>array(71,-68,911,843),46238=>array(71,-72,929,843),46239=>array(71,-70,936,843),46240=>array(71,-66,908,843),46241=>array(71,-59,916,843),46242=>array(71,-60,928,843),46243=>array(71,-68,908,843),46244=>array(70,-69,907,842),46245=>array(64,-61,907,842),46246=>array(64,-61,907,842),46247=>array(64,-71,931,842),46248=>array(65,-46,907,843),46249=>array(64,-68,912,842),46250=>array(64,-76,907,842),46251=>array(64,-44,921,842),46252=>array(64,-62,917,842),46253=>array(64,-64,907,842),46254=>array(64,-64,908,842),46255=>array(64,-64,908,842),46256=>array(64,-69,923,842),46257=>array(64,-64,908,842),46258=>array(64,-64,908,842),46259=>array(64,-76,907,842),46260=>array(64,-62,907,842),46261=>array(64,-61,907,842),46262=>array(64,-69,922,842),46263=>array(64,-74,929,842),46264=>array(64,-69,927,842),46265=>array(64,-68,911,842),46266=>array(64,-72,929,842),46267=>array(64,-70,936,842),46268=>array(64,-66,908,842),46269=>array(64,-59,916,842),46270=>array(64,-60,928,842),46271=>array(64,-68,908,842),46272=>array(71,-64,928,784),46273=>array(79,-61,921,785),46274=>array(79,-61,921,785),46275=>array(79,-71,921,785),46276=>array(79,-46,921,784),46277=>array(79,-68,921,785),46278=>array(79,-74,921,785),46279=>array(79,-44,921,785),46280=>array(79,-62,921,785),46281=>array(79,-64,921,785),46282=>array(79,-64,921,785),46283=>array(79,-63,921,785),46284=>array(79,-68,921,785),46285=>array(79,-64,921,785),46286=>array(79,-63,921,785),46287=>array(79,-74,921,785),46288=>array(79,-62,921,785),46289=>array(79,-61,921,785),46290=>array(79,-69,921,785),46291=>array(79,-74,921,785),46292=>array(79,-69,921,785),46293=>array(79,-68,921,785),46294=>array(79,-72,921,785),46295=>array(79,-70,921,785),46296=>array(79,-66,921,785),46297=>array(79,-59,921,785),46298=>array(79,-60,921,785),46299=>array(79,-68,921,785),46300=>array(57,42,943,709),46301=>array(79,-61,921,784),46302=>array(79,-61,921,784),46303=>array(79,-71,921,784),46304=>array(79,-46,921,784),46305=>array(79,-68,921,784),46306=>array(79,-74,921,784),46307=>array(79,-44,921,784),46308=>array(79,-62,921,784),46309=>array(79,-64,921,784),46310=>array(79,-64,921,784),46311=>array(79,-63,921,784),46312=>array(79,-68,921,784),46313=>array(79,-64,921,784),46314=>array(79,-63,921,784),46315=>array(79,-74,921,784),46316=>array(79,-62,921,784),46317=>array(79,-61,921,784),46318=>array(79,-69,921,784),46319=>array(79,-74,921,784),46320=>array(79,-69,921,784),46321=>array(79,-68,921,784),46322=>array(79,-72,921,784),46323=>array(79,-70,921,784),46324=>array(79,-66,921,784),46325=>array(79,-59,921,784),46326=>array(79,-60,921,784),46327=>array(79,-68,921,784),46328=>array(66,-69,907,842),46329=>array(64,-61,907,842),46330=>array(64,-61,907,842),46331=>array(64,-71,931,842),46332=>array(64,-46,907,842),46333=>array(64,-68,912,842),46334=>array(64,-76,907,842),46335=>array(64,-44,921,842),46336=>array(64,-62,917,842),46337=>array(64,-64,907,842),46338=>array(64,-64,908,842),46339=>array(64,-64,908,842),46340=>array(64,-69,923,842),46341=>array(64,-64,908,842),46342=>array(64,-64,908,842),46343=>array(64,-76,907,842),46344=>array(64,-62,907,842),46345=>array(64,-61,907,842),46346=>array(64,-69,922,842),46347=>array(64,-74,929,842),46348=>array(64,-69,927,842),46349=>array(64,-68,911,842),46350=>array(64,-72,929,842),46351=>array(64,-70,936,842),46352=>array(64,-66,908,842),46353=>array(64,-59,916,842),46354=>array(64,-60,928,842),46355=>array(64,-68,908,842),46356=>array(119,-69,907,842),46357=>array(124,-61,907,842),46358=>array(124,-61,907,842),46359=>array(124,-71,931,842),46360=>array(124,-46,907,842),46361=>array(124,-68,912,842),46362=>array(124,-76,907,842),46363=>array(124,-44,921,842),46364=>array(124,-62,917,842),46365=>array(124,-64,907,842),46366=>array(124,-64,908,842),46367=>array(124,-64,908,842),46368=>array(124,-69,923,842),46369=>array(124,-64,908,842),46370=>array(124,-64,908,842),46371=>array(124,-76,907,842),46372=>array(124,-62,907,842),46373=>array(124,-61,907,842),46374=>array(124,-69,922,842),46375=>array(124,-74,929,842),46376=>array(124,-69,927,842),46377=>array(124,-68,911,842),46378=>array(124,-72,929,842),46379=>array(124,-70,936,842),46380=>array(124,-66,908,842),46381=>array(124,-59,916,842),46382=>array(124,-60,928,842),46383=>array(124,-68,908,842),46384=>array(94,-69,936,842),46385=>array(94,-59,936,842),46386=>array(94,-61,936,842),46387=>array(94,-71,936,842),46388=>array(94,-45,936,842),46389=>array(94,-69,936,842),46390=>array(94,-76,936,842),46391=>array(94,-44,936,842),46392=>array(94,-62,936,842),46393=>array(94,-64,936,842),46394=>array(94,-64,936,842),46395=>array(94,-64,936,842),46396=>array(94,-70,936,842),46397=>array(94,-64,936,842),46398=>array(94,-64,936,842),46399=>array(94,-76,936,842),46400=>array(94,-62,936,842),46401=>array(94,-61,936,842),46402=>array(94,-70,936,842),46403=>array(94,-74,936,842),46404=>array(94,-69,936,842),46405=>array(94,-67,936,842),46406=>array(94,-72,936,842),46407=>array(94,-71,936,842),46408=>array(94,-66,936,842),46409=>array(94,-59,936,842),46410=>array(94,-60,936,842),46411=>array(94,-69,936,842),46412=>array(99,-69,907,842),46413=>array(99,-61,907,837),46414=>array(99,-61,907,837),46415=>array(99,-71,931,837),46416=>array(99,-46,907,842),46417=>array(99,-68,912,837),46418=>array(99,-76,907,837),46419=>array(99,-44,921,837),46420=>array(99,-62,917,837),46421=>array(99,-64,907,837),46422=>array(99,-64,908,837),46423=>array(99,-64,908,837),46424=>array(99,-69,923,837),46425=>array(99,-64,908,837),46426=>array(99,-64,908,837),46427=>array(99,-76,907,837),46428=>array(99,-62,907,837),46429=>array(99,-61,907,837),46430=>array(99,-69,922,837),46431=>array(99,-74,929,837),46432=>array(99,-69,927,837),46433=>array(99,-68,911,837),46434=>array(99,-72,929,837),46435=>array(99,-70,936,837),46436=>array(99,-66,908,837),46437=>array(99,-59,916,837),46438=>array(99,-60,928,837),46439=>array(99,-68,908,837),46440=>array(94,-69,936,842),46441=>array(94,-59,936,842),46442=>array(94,-61,936,842),46443=>array(94,-71,936,842),46444=>array(94,-45,936,842),46445=>array(94,-69,936,842),46446=>array(94,-76,936,842),46447=>array(94,-44,936,842),46448=>array(94,-62,936,842),46449=>array(94,-64,936,842),46450=>array(94,-64,936,842),46451=>array(94,-64,936,842),46452=>array(94,-70,936,842),46453=>array(94,-64,936,842),46454=>array(94,-64,936,842),46455=>array(94,-76,936,842),46456=>array(94,-62,936,842),46457=>array(94,-61,936,842),46458=>array(94,-70,936,842),46459=>array(94,-74,936,842),46460=>array(94,-69,936,842),46461=>array(94,-67,936,842),46462=>array(94,-72,936,842),46463=>array(94,-71,936,842),46464=>array(94,-66,936,842),46465=>array(94,-59,936,842),46466=>array(94,-60,936,842),46467=>array(94,-69,936,842),46468=>array(99,-69,907,842),46469=>array(99,-61,907,842),46470=>array(99,-61,907,842),46471=>array(99,-71,931,842),46472=>array(99,-46,907,842),46473=>array(99,-68,912,842),46474=>array(99,-76,907,842),46475=>array(99,-44,921,842),46476=>array(99,-62,917,842),46477=>array(99,-64,907,842),46478=>array(99,-64,908,842),46479=>array(99,-64,908,842),46480=>array(99,-69,923,842),46481=>array(99,-64,908,842),46482=>array(99,-64,908,842),46483=>array(99,-76,907,842),46484=>array(99,-62,907,842),46485=>array(99,-61,907,842),46486=>array(99,-69,922,842),46487=>array(99,-74,929,842),46488=>array(99,-69,927,842),46489=>array(99,-68,911,842),46490=>array(99,-72,929,842),46491=>array(99,-70,936,842),46492=>array(99,-66,908,842),46493=>array(99,-59,916,842),46494=>array(99,-60,928,842),46495=>array(99,-68,908,842),46496=>array(94,-70,907,841),46497=>array(94,-61,907,836),46498=>array(94,-61,907,836),46499=>array(94,-71,931,836),46500=>array(94,-46,907,841),46501=>array(94,-68,912,836),46502=>array(94,-76,907,836),46503=>array(94,-44,921,836),46504=>array(94,-62,917,836),46505=>array(94,-64,907,836),46506=>array(94,-64,908,836),46507=>array(94,-64,908,836),46508=>array(94,-69,923,836),46509=>array(94,-64,908,836),46510=>array(94,-64,908,836),46511=>array(94,-76,906,836),46512=>array(94,-62,907,836),46513=>array(94,-61,907,836),46514=>array(94,-69,922,836),46515=>array(94,-74,929,836),46516=>array(94,-69,927,836),46517=>array(94,-68,911,836),46518=>array(94,-72,929,836),46519=>array(94,-70,936,836),46520=>array(94,-66,908,836),46521=>array(94,-59,916,836),46522=>array(94,-60,928,836),46523=>array(94,-68,908,836),46524=>array(99,-68,907,843),46525=>array(99,-61,907,843),46526=>array(99,-61,907,843),46527=>array(99,-71,931,843),46528=>array(99,-46,907,843),46529=>array(99,-68,912,843),46530=>array(99,-76,907,843),46531=>array(99,-44,921,843),46532=>array(99,-62,917,843),46533=>array(99,-64,907,843),46534=>array(99,-64,908,843),46535=>array(99,-64,908,843),46536=>array(99,-69,923,843),46537=>array(99,-64,908,843),46538=>array(99,-64,908,843),46539=>array(99,-76,907,843),46540=>array(99,-62,907,843),46541=>array(99,-61,907,843),46542=>array(99,-69,922,843),46543=>array(99,-74,929,843),46544=>array(99,-69,927,843),46545=>array(99,-68,911,843),46546=>array(99,-72,929,843),46547=>array(99,-70,936,843),46548=>array(99,-66,908,843),46549=>array(99,-59,916,843),46550=>array(99,-60,928,843),46551=>array(99,-68,908,843),46552=>array(94,-69,907,842),46553=>array(94,-61,907,842),46554=>array(94,-61,907,842),46555=>array(94,-71,931,842),46556=>array(94,-46,908,842),46557=>array(94,-68,912,842),46558=>array(94,-76,907,842),46559=>array(94,-44,921,842),46560=>array(94,-62,917,842),46561=>array(94,-64,907,842),46562=>array(94,-64,908,842),46563=>array(94,-64,908,842),46564=>array(94,-69,923,842),46565=>array(94,-64,908,842),46566=>array(94,-64,908,842),46567=>array(94,-76,907,842),46568=>array(94,-62,907,842),46569=>array(94,-61,907,842),46570=>array(94,-69,922,842),46571=>array(94,-74,929,842),46572=>array(94,-69,927,842),46573=>array(94,-68,911,842),46574=>array(94,-72,929,842),46575=>array(94,-70,936,842),46576=>array(94,-66,908,842),46577=>array(94,-59,916,842),46578=>array(94,-60,928,842),46579=>array(94,-68,908,842),46580=>array(99,-68,907,843),46581=>array(94,-61,907,843),46582=>array(94,-61,907,843),46583=>array(94,-71,931,843),46584=>array(94,-46,907,843),46585=>array(94,-68,912,843),46586=>array(94,-76,907,843),46587=>array(94,-44,921,843),46588=>array(94,-62,917,843),46589=>array(94,-64,907,843),46590=>array(94,-64,908,843),46591=>array(94,-64,908,843),46592=>array(94,-69,923,843),46593=>array(94,-64,908,843),46594=>array(94,-64,908,843),46595=>array(94,-76,907,843),46596=>array(94,-62,907,843),46597=>array(94,-61,907,843),46598=>array(94,-69,922,843),46599=>array(94,-74,929,843),46600=>array(94,-69,927,843),46601=>array(94,-68,911,843),46602=>array(94,-72,929,843),46603=>array(94,-70,936,843),46604=>array(94,-66,908,843),46605=>array(94,-59,916,843),46606=>array(94,-60,928,843),46607=>array(94,-68,908,843),46608=>array(60,12,940,740),46609=>array(79,-61,921,795),46610=>array(79,-61,921,795),46611=>array(79,-71,921,795),46612=>array(79,-46,921,795),46613=>array(79,-68,921,795),46614=>array(79,-74,921,795),46615=>array(79,-44,921,795),46616=>array(79,-62,921,795),46617=>array(79,-64,921,795),46618=>array(79,-64,921,795),46619=>array(79,-63,921,795),46620=>array(79,-68,921,795),46621=>array(79,-64,921,795),46622=>array(79,-63,921,795),46623=>array(79,-74,921,795),46624=>array(79,-62,921,795),46625=>array(79,-61,921,795),46626=>array(79,-69,921,795),46627=>array(79,-74,921,795),46628=>array(79,-69,921,795),46629=>array(79,-68,921,795),46630=>array(79,-72,921,795),46631=>array(79,-70,921,795),46632=>array(79,-66,921,795),46633=>array(79,-59,921,795),46634=>array(79,-60,921,795),46635=>array(79,-68,921,795),46636=>array(68,-69,935,842),46637=>array(69,-59,936,837),46638=>array(69,-61,936,837),46639=>array(69,-71,936,837),46640=>array(57,-45,936,842),46641=>array(69,-69,936,837),46642=>array(69,-76,936,837),46643=>array(69,-44,936,837),46644=>array(69,-62,936,837),46645=>array(69,-64,936,837),46646=>array(69,-64,936,837),46647=>array(69,-64,936,837),46648=>array(69,-70,936,837),46649=>array(69,-64,936,837),46650=>array(69,-64,936,837),46651=>array(69,-76,936,837),46652=>array(69,-62,936,837),46653=>array(69,-61,936,837),46654=>array(69,-70,936,837),46655=>array(69,-74,936,837),46656=>array(69,-69,936,837),46657=>array(69,-67,936,837),46658=>array(69,-72,936,837),46659=>array(69,-71,936,837),46660=>array(69,-66,936,837),46661=>array(69,-59,936,837),46662=>array(69,-60,936,837),46663=>array(69,-69,936,837),46664=>array(64,-69,906,842),46665=>array(70,-61,907,842),46666=>array(70,-61,907,842),46667=>array(70,-71,931,842),46668=>array(57,-46,907,842),46669=>array(70,-68,912,842),46670=>array(70,-76,907,842),46671=>array(70,-44,921,842),46672=>array(70,-62,917,842),46673=>array(70,-64,907,842),46674=>array(70,-64,908,842),46675=>array(70,-64,908,842),46676=>array(70,-69,923,842),46677=>array(70,-64,908,842),46678=>array(70,-64,908,842),46679=>array(70,-76,907,842),46680=>array(70,-62,907,842),46681=>array(70,-61,907,842),46682=>array(70,-69,922,842),46683=>array(70,-74,929,842),46684=>array(70,-69,927,842),46685=>array(70,-68,911,842),46686=>array(70,-72,929,842),46687=>array(70,-70,936,842),46688=>array(70,-66,908,842),46689=>array(70,-59,916,842),46690=>array(70,-60,928,842),46691=>array(70,-68,908,842),46692=>array(83,-69,906,842),46693=>array(64,-61,907,842),46694=>array(64,-61,907,842),46695=>array(64,-71,931,842),46696=>array(64,-46,907,842),46697=>array(64,-68,912,842),46698=>array(64,-76,907,842),46699=>array(64,-44,921,842),46700=>array(64,-62,917,842),46701=>array(64,-64,907,842),46702=>array(64,-64,908,842),46703=>array(64,-64,908,842),46704=>array(64,-69,923,842),46705=>array(64,-64,908,842),46706=>array(64,-64,908,842),46707=>array(64,-76,906,842),46708=>array(64,-62,907,842),46709=>array(64,-61,907,842),46710=>array(64,-69,922,842),46711=>array(64,-74,929,842),46712=>array(64,-69,927,842),46713=>array(64,-68,911,842),46714=>array(64,-72,929,842),46715=>array(64,-70,936,842),46716=>array(64,-66,908,842),46717=>array(64,-59,916,842),46718=>array(64,-60,928,842),46719=>array(64,-68,908,842),46720=>array(59,-13,939,750),46721=>array(79,-61,921,795),46722=>array(79,-61,921,795),46723=>array(79,-71,921,795),46724=>array(79,-46,921,795),46725=>array(79,-68,921,795),46726=>array(79,-74,921,795),46727=>array(79,-44,921,795),46728=>array(79,-62,921,795),46729=>array(79,-64,921,795),46730=>array(79,-64,921,795),46731=>array(79,-63,921,795),46732=>array(79,-68,921,795),46733=>array(79,-64,921,795),46734=>array(79,-63,921,795),46735=>array(79,-74,921,795),46736=>array(79,-62,921,795),46737=>array(79,-61,921,795),46738=>array(79,-69,921,795),46739=>array(79,-74,921,795),46740=>array(79,-69,921,795),46741=>array(79,-68,921,795),46742=>array(79,-72,921,795),46743=>array(79,-70,921,795),46744=>array(79,-66,921,795),46745=>array(79,-59,921,795),46746=>array(79,-60,921,795),46747=>array(79,-68,921,795),46748=>array(79,-64,921,785),46749=>array(79,-61,921,795),46750=>array(79,-61,921,795),46751=>array(79,-71,921,795),46752=>array(79,-46,921,795),46753=>array(79,-68,921,795),46754=>array(79,-74,921,795),46755=>array(79,-44,921,795),46756=>array(79,-62,921,795),46757=>array(79,-64,921,795),46758=>array(79,-64,921,795),46759=>array(79,-63,921,795),46760=>array(79,-68,921,795),46761=>array(79,-64,921,795),46762=>array(79,-63,921,795),46763=>array(79,-74,921,795),46764=>array(79,-62,921,795),46765=>array(79,-61,921,795),46766=>array(79,-69,921,795),46767=>array(79,-74,921,795),46768=>array(79,-69,921,795),46769=>array(79,-68,921,795),46770=>array(79,-72,921,795),46771=>array(79,-70,921,795),46772=>array(79,-66,921,795),46773=>array(79,-59,921,795),46774=>array(79,-60,921,795),46775=>array(79,-68,921,795),46776=>array(72,-70,907,841),46777=>array(67,-61,907,841),46778=>array(67,-61,907,841),46779=>array(67,-71,931,841),46780=>array(63,-46,907,841),46781=>array(67,-68,912,841),46782=>array(67,-76,907,841),46783=>array(67,-44,921,841),46784=>array(67,-62,917,841),46785=>array(67,-64,907,841),46786=>array(67,-64,908,841),46787=>array(67,-64,908,841),46788=>array(67,-69,923,841),46789=>array(67,-64,908,841),46790=>array(67,-64,908,841),46791=>array(67,-76,906,841),46792=>array(67,-62,907,841),46793=>array(67,-61,907,841),46794=>array(67,-69,922,841),46795=>array(67,-74,929,841),46796=>array(67,-69,927,841),46797=>array(67,-68,911,841),46798=>array(67,-72,929,841),46799=>array(67,-70,936,841),46800=>array(67,-66,908,841),46801=>array(67,-59,916,841),46802=>array(67,-60,928,841),46803=>array(67,-68,908,841),46804=>array(50,-68,907,843),46805=>array(67,-61,907,843),46806=>array(67,-61,907,843),46807=>array(67,-71,931,843),46808=>array(68,-46,907,842),46809=>array(67,-68,912,843),46810=>array(67,-76,907,843),46811=>array(67,-44,921,843),46812=>array(67,-62,917,843),46813=>array(67,-64,907,843),46814=>array(67,-64,908,843),46815=>array(67,-64,908,843),46816=>array(67,-69,923,843),46817=>array(67,-64,908,843),46818=>array(67,-64,908,843),46819=>array(67,-76,907,843),46820=>array(67,-62,907,843),46821=>array(67,-61,907,843),46822=>array(67,-69,922,843),46823=>array(67,-74,929,843),46824=>array(67,-69,927,843),46825=>array(67,-68,911,843),46826=>array(67,-72,929,843),46827=>array(67,-70,936,843),46828=>array(67,-66,908,843),46829=>array(67,-59,916,843),46830=>array(67,-60,928,843),46831=>array(67,-68,908,843),46832=>array(63,-69,907,842),46833=>array(66,-61,907,842),46834=>array(66,-61,907,842),46835=>array(66,-71,931,842),46836=>array(66,-46,907,842),46837=>array(66,-68,912,842),46838=>array(66,-76,907,842),46839=>array(66,-44,921,842),46840=>array(66,-62,917,842),46841=>array(66,-64,907,842),46842=>array(66,-64,908,842),46843=>array(66,-64,908,842),46844=>array(66,-69,923,842),46845=>array(66,-64,908,842),46846=>array(66,-64,908,842),46847=>array(66,-76,907,842),46848=>array(66,-62,907,842),46849=>array(66,-61,907,842),46850=>array(66,-69,922,842),46851=>array(66,-74,929,842),46852=>array(66,-69,927,842),46853=>array(66,-68,911,842),46854=>array(66,-72,929,842),46855=>array(66,-70,936,842),46856=>array(66,-66,908,842),46857=>array(66,-59,916,842),46858=>array(66,-60,928,842),46859=>array(66,-68,908,842),46860=>array(79,-64,921,785),46861=>array(79,-61,921,795),46862=>array(79,-61,921,795),46863=>array(79,-71,921,795),46864=>array(81,-46,922,795),46865=>array(79,-68,921,795),46866=>array(79,-74,921,795),46867=>array(79,-44,921,795),46868=>array(79,-62,921,795),46869=>array(79,-64,921,795),46870=>array(79,-64,921,795),46871=>array(79,-63,921,795),46872=>array(79,-68,921,795),46873=>array(79,-64,921,795),46874=>array(79,-63,921,795),46875=>array(79,-74,921,795),46876=>array(79,-62,921,795),46877=>array(79,-61,921,795),46878=>array(79,-69,921,795),46879=>array(79,-74,921,795),46880=>array(79,-69,921,795),46881=>array(79,-68,921,795),46882=>array(79,-72,921,795),46883=>array(79,-70,921,795),46884=>array(79,-66,921,795),46885=>array(79,-59,921,795),46886=>array(79,-60,921,795),46887=>array(79,-68,921,795),46888=>array(57,22,943,720),46889=>array(79,-61,922,795),46890=>array(79,-61,922,795),46891=>array(79,-71,922,795),46892=>array(79,-46,921,795),46893=>array(79,-68,922,795),46894=>array(79,-74,922,795),46895=>array(79,-44,922,795),46896=>array(79,-62,922,795),46897=>array(79,-64,922,795),46898=>array(79,-64,922,795),46899=>array(79,-63,922,795),46900=>array(79,-68,922,795),46901=>array(79,-64,922,795),46902=>array(79,-63,922,795),46903=>array(79,-74,922,795),46904=>array(79,-62,922,795),46905=>array(79,-61,922,795),46906=>array(79,-69,922,795),46907=>array(79,-74,922,795),46908=>array(79,-69,922,795),46909=>array(79,-68,922,795),46910=>array(79,-72,922,795),46911=>array(79,-70,922,795),46912=>array(79,-66,922,795),46913=>array(79,-59,922,795),46914=>array(79,-60,922,795),46915=>array(79,-68,922,795),46916=>array(67,-69,907,842),46917=>array(74,-61,908,842),46918=>array(74,-61,908,842),46919=>array(74,-71,931,842),46920=>array(65,-46,907,842),46921=>array(74,-68,912,842),46922=>array(74,-76,908,842),46923=>array(74,-44,921,842),46924=>array(74,-62,917,842),46925=>array(74,-64,908,842),46926=>array(74,-64,908,842),46927=>array(74,-64,908,842),46928=>array(74,-69,923,842),46929=>array(74,-64,908,842),46930=>array(74,-64,908,842),46931=>array(74,-76,908,842),46932=>array(74,-62,908,842),46933=>array(74,-61,908,842),46934=>array(74,-69,922,842),46935=>array(74,-74,929,842),46936=>array(74,-69,927,842),46937=>array(74,-68,911,842),46938=>array(74,-72,929,842),46939=>array(74,-70,936,842),46940=>array(74,-66,908,842),46941=>array(74,-59,916,842),46942=>array(74,-60,928,842),46943=>array(74,-68,908,842),46944=>array(104,-69,907,842),46945=>array(109,-61,907,842),46946=>array(109,-61,907,842),46947=>array(109,-71,931,842),46948=>array(99,-46,907,842),46949=>array(109,-68,912,842),46950=>array(109,-76,907,842),46951=>array(109,-44,921,842),46952=>array(109,-62,917,842),46953=>array(109,-64,907,842),46954=>array(109,-64,908,842),46955=>array(109,-64,908,842),46956=>array(109,-69,923,842),46957=>array(109,-64,908,842),46958=>array(109,-64,908,842),46959=>array(109,-76,907,842),46960=>array(109,-62,907,842),46961=>array(109,-61,907,842),46962=>array(109,-69,922,842),46963=>array(109,-74,929,842),46964=>array(109,-69,927,842),46965=>array(109,-68,911,842),46966=>array(109,-72,929,842),46967=>array(109,-70,936,842),46968=>array(109,-66,908,842),46969=>array(109,-59,916,842),46970=>array(109,-60,928,842),46971=>array(109,-68,908,842),46972=>array(118,-69,936,842),46973=>array(103,-59,936,842),46974=>array(103,-61,936,842),46975=>array(103,-71,936,842),46976=>array(108,-45,936,842),46977=>array(103,-69,936,842),46978=>array(103,-76,936,842),46979=>array(103,-44,936,842),46980=>array(103,-62,936,842),46981=>array(103,-64,936,842),46982=>array(103,-64,936,842),46983=>array(103,-64,936,842),46984=>array(103,-70,936,842),46985=>array(103,-64,936,842),46986=>array(103,-64,936,842),46987=>array(103,-76,936,842),46988=>array(103,-62,936,842),46989=>array(103,-61,936,842),46990=>array(103,-70,936,842),46991=>array(103,-74,936,842),46992=>array(103,-69,936,842),46993=>array(103,-67,936,842),46994=>array(103,-72,936,842),46995=>array(103,-71,936,842),46996=>array(103,-66,936,842),46997=>array(103,-59,936,842),46998=>array(103,-60,936,842),46999=>array(103,-69,936,842),47000=>array(118,-69,907,842),47001=>array(103,-61,907,842),47002=>array(103,-61,907,842),47003=>array(103,-71,931,842),47004=>array(103,-46,907,842),47005=>array(103,-68,912,842),47006=>array(103,-76,907,842),47007=>array(103,-44,921,842),47008=>array(103,-62,917,842),47009=>array(103,-64,907,842),47010=>array(103,-64,908,842),47011=>array(103,-64,908,842),47012=>array(103,-69,923,842),47013=>array(103,-64,908,842),47014=>array(103,-64,908,842),47015=>array(103,-76,907,842),47016=>array(103,-62,907,842),47017=>array(103,-61,907,842),47018=>array(103,-69,922,842),47019=>array(103,-74,929,842),47020=>array(103,-69,927,842),47021=>array(103,-68,911,842),47022=>array(103,-72,929,842),47023=>array(103,-70,936,842),47024=>array(103,-66,908,842),47025=>array(103,-59,916,842),47026=>array(103,-60,928,842),47027=>array(103,-68,908,842),47028=>array(118,-68,935,843),47029=>array(103,-59,936,842),47030=>array(103,-61,936,842),47031=>array(103,-71,936,842),47032=>array(108,-45,936,842),47033=>array(103,-69,936,842),47034=>array(103,-76,936,842),47035=>array(103,-44,936,842),47036=>array(103,-62,936,842),47037=>array(103,-64,936,842),47038=>array(103,-64,936,842),47039=>array(103,-64,936,842),47040=>array(103,-70,936,842),47041=>array(103,-64,936,842),47042=>array(103,-64,936,842),47043=>array(103,-76,936,842),47044=>array(103,-62,936,842),47045=>array(103,-61,936,842),47046=>array(103,-70,936,842),47047=>array(103,-74,936,842),47048=>array(103,-69,936,842),47049=>array(103,-67,936,842),47050=>array(103,-72,936,842),47051=>array(103,-71,936,842),47052=>array(103,-66,936,842),47053=>array(103,-59,936,842),47054=>array(103,-60,936,842),47055=>array(103,-69,936,842),47056=>array(118,-69,907,842),47057=>array(103,-61,907,842),47058=>array(103,-61,907,842),47059=>array(103,-71,931,842),47060=>array(103,-46,907,842),47061=>array(103,-68,912,842),47062=>array(103,-76,907,842),47063=>array(103,-44,921,842),47064=>array(103,-62,917,842),47065=>array(103,-64,907,842),47066=>array(103,-64,908,842),47067=>array(103,-64,908,842),47068=>array(103,-69,923,842),47069=>array(103,-64,908,842),47070=>array(103,-64,908,842),47071=>array(103,-76,907,842),47072=>array(103,-62,907,842),47073=>array(103,-61,907,842),47074=>array(103,-69,922,842),47075=>array(103,-74,929,842),47076=>array(103,-69,927,842),47077=>array(103,-68,911,842),47078=>array(103,-72,929,842),47079=>array(103,-70,936,842),47080=>array(103,-66,908,842),47081=>array(103,-59,916,842),47082=>array(103,-60,928,842),47083=>array(103,-68,908,842),47084=>array(118,-70,907,841),47085=>array(103,-61,907,841),47086=>array(103,-61,907,841),47087=>array(103,-71,931,841),47088=>array(103,-46,907,841),47089=>array(103,-68,912,841),47090=>array(103,-76,907,841),47091=>array(103,-44,921,841),47092=>array(103,-62,917,841),47093=>array(103,-64,907,841),47094=>array(103,-64,908,841),47095=>array(103,-64,908,841),47096=>array(103,-69,923,841),47097=>array(103,-64,908,841),47098=>array(103,-64,908,841),47099=>array(103,-76,906,841),47100=>array(103,-62,907,841),47101=>array(103,-61,907,841),47102=>array(103,-69,922,841),47103=>array(103,-74,929,841),47104=>array(103,-69,927,841),47105=>array(103,-68,911,841),47106=>array(103,-72,929,841),47107=>array(103,-70,936,841),47108=>array(103,-66,908,841),47109=>array(103,-59,916,841),47110=>array(103,-60,928,841),47111=>array(103,-68,908,841),47112=>array(118,-68,907,843),47113=>array(118,-61,907,843),47114=>array(118,-61,907,843),47115=>array(118,-71,931,843),47116=>array(118,-46,907,843),47117=>array(118,-68,912,843),47118=>array(118,-76,907,843),47119=>array(118,-44,921,843),47120=>array(118,-62,917,843),47121=>array(118,-64,907,843),47122=>array(118,-64,908,843),47123=>array(118,-64,908,843),47124=>array(118,-69,923,843),47125=>array(118,-64,908,843),47126=>array(118,-64,908,843),47127=>array(118,-76,907,843),47128=>array(118,-62,907,843),47129=>array(118,-61,907,843),47130=>array(118,-69,922,843),47131=>array(118,-74,929,843),47132=>array(118,-69,927,843),47133=>array(118,-68,911,843),47134=>array(118,-72,929,843),47135=>array(118,-70,936,843),47136=>array(118,-66,908,843),47137=>array(118,-59,916,843),47138=>array(118,-60,928,843),47139=>array(118,-68,908,843),47140=>array(118,-70,907,842),47141=>array(103,-61,908,842),47142=>array(103,-61,908,842),47143=>array(103,-71,931,842),47144=>array(103,-46,907,842),47145=>array(103,-68,912,842),47146=>array(103,-76,908,842),47147=>array(103,-44,921,842),47148=>array(103,-62,917,842),47149=>array(103,-64,908,842),47150=>array(103,-64,908,842),47151=>array(103,-64,908,842),47152=>array(103,-69,923,842),47153=>array(103,-64,908,842),47154=>array(103,-64,908,842),47155=>array(103,-76,908,842),47156=>array(103,-62,908,842),47157=>array(103,-61,908,842),47158=>array(103,-69,922,842),47159=>array(103,-74,929,842),47160=>array(103,-69,927,842),47161=>array(103,-68,911,842),47162=>array(103,-72,929,842),47163=>array(103,-70,936,842),47164=>array(103,-66,908,842),47165=>array(103,-59,916,842),47166=>array(103,-60,928,842),47167=>array(103,-68,908,842),47168=>array(118,-68,907,843),47169=>array(118,-61,907,843),47170=>array(118,-61,907,843),47171=>array(118,-71,931,843),47172=>array(118,-46,907,843),47173=>array(118,-68,912,843),47174=>array(118,-76,907,843),47175=>array(118,-44,921,843),47176=>array(118,-62,917,843),47177=>array(118,-64,907,843),47178=>array(118,-64,908,843),47179=>array(118,-64,908,843),47180=>array(118,-69,923,843),47181=>array(118,-64,908,843),47182=>array(118,-64,908,843),47183=>array(118,-76,907,843),47184=>array(118,-62,907,843),47185=>array(118,-61,907,843),47186=>array(118,-69,922,843),47187=>array(118,-74,929,843),47188=>array(118,-69,927,843),47189=>array(118,-68,911,843),47190=>array(118,-72,929,843),47191=>array(118,-70,936,843),47192=>array(118,-66,908,843),47193=>array(118,-59,916,843),47194=>array(118,-60,928,843),47195=>array(118,-68,908,843),47196=>array(62,27,943,755),47197=>array(79,-61,921,795),47198=>array(79,-61,921,795),47199=>array(79,-71,921,795),47200=>array(79,-46,921,795),47201=>array(79,-68,921,795),47202=>array(79,-74,921,795),47203=>array(79,-44,921,795),47204=>array(79,-62,921,795),47205=>array(79,-64,921,795),47206=>array(79,-64,921,795),47207=>array(79,-63,921,795),47208=>array(79,-68,921,795),47209=>array(79,-64,921,795),47210=>array(79,-63,921,795),47211=>array(79,-74,921,795),47212=>array(79,-62,921,795),47213=>array(79,-61,921,795),47214=>array(79,-69,921,795),47215=>array(79,-74,921,795),47216=>array(79,-69,921,795),47217=>array(79,-68,921,795),47218=>array(79,-72,921,795),47219=>array(79,-70,921,795),47220=>array(79,-66,921,795),47221=>array(79,-59,921,795),47222=>array(79,-60,921,795),47223=>array(79,-68,921,795),47224=>array(52,-69,936,842),47225=>array(68,-59,936,842),47226=>array(68,-61,936,842),47227=>array(68,-71,936,842),47228=>array(74,-45,936,843),47229=>array(68,-69,936,842),47230=>array(68,-76,936,842),47231=>array(68,-44,936,842),47232=>array(68,-62,936,842),47233=>array(68,-64,936,842),47234=>array(68,-64,936,842),47235=>array(68,-64,936,842),47236=>array(68,-70,936,842),47237=>array(68,-64,936,842),47238=>array(68,-64,936,842),47239=>array(68,-76,936,842),47240=>array(68,-62,936,842),47241=>array(68,-61,936,842),47242=>array(68,-70,936,842),47243=>array(68,-74,936,842),47244=>array(68,-69,936,842),47245=>array(68,-67,936,842),47246=>array(68,-72,936,842),47247=>array(68,-71,936,842),47248=>array(68,-66,936,842),47249=>array(68,-59,936,842),47250=>array(68,-60,936,842),47251=>array(68,-69,936,842),47252=>array(61,-68,907,843),47253=>array(64,-61,908,842),47254=>array(64,-61,908,842),47255=>array(64,-71,931,842),47256=>array(58,-46,907,842),47257=>array(64,-68,912,842),47258=>array(64,-76,908,842),47259=>array(64,-44,921,842),47260=>array(64,-62,917,842),47261=>array(64,-64,908,842),47262=>array(64,-64,908,842),47263=>array(64,-64,908,842),47264=>array(64,-69,923,842),47265=>array(64,-64,908,842),47266=>array(64,-64,908,842),47267=>array(64,-76,908,842),47268=>array(64,-62,908,842),47269=>array(64,-61,908,842),47270=>array(64,-69,922,842),47271=>array(64,-74,929,842),47272=>array(64,-69,927,842),47273=>array(64,-68,911,842),47274=>array(64,-72,929,842),47275=>array(64,-70,936,842),47276=>array(64,-66,908,842),47277=>array(64,-59,916,842),47278=>array(64,-60,928,842),47279=>array(64,-68,908,842),47280=>array(62,-69,907,842),47281=>array(64,-61,907,841),47282=>array(64,-61,907,841),47283=>array(64,-71,931,841),47284=>array(64,-46,907,842),47285=>array(64,-68,912,841),47286=>array(64,-76,907,841),47287=>array(64,-44,921,841),47288=>array(64,-62,917,841),47289=>array(64,-64,907,841),47290=>array(64,-64,908,841),47291=>array(64,-64,908,841),47292=>array(64,-69,923,841),47293=>array(64,-64,908,841),47294=>array(64,-64,908,841),47295=>array(64,-76,907,841),47296=>array(64,-62,907,841),47297=>array(64,-61,907,841),47298=>array(64,-69,922,841),47299=>array(64,-74,929,841),47300=>array(64,-69,927,841),47301=>array(64,-68,911,841),47302=>array(64,-72,929,841),47303=>array(64,-70,936,841),47304=>array(64,-66,908,841),47305=>array(64,-59,916,841),47306=>array(64,-60,928,841),47307=>array(64,-68,908,841),47308=>array(62,27,943,755),47309=>array(79,-61,921,795),47310=>array(79,-61,921,795),47311=>array(79,-71,921,795),47312=>array(79,-46,922,795),47313=>array(79,-68,921,795),47314=>array(79,-74,921,795),47315=>array(79,-44,921,795),47316=>array(79,-62,921,795),47317=>array(79,-64,921,795),47318=>array(79,-64,921,795),47319=>array(79,-63,921,795),47320=>array(79,-68,921,795),47321=>array(79,-64,921,795),47322=>array(79,-63,921,795),47323=>array(79,-74,921,795),47324=>array(79,-62,921,795),47325=>array(79,-61,921,795),47326=>array(79,-69,921,795),47327=>array(79,-74,921,795),47328=>array(79,-69,921,795),47329=>array(79,-68,921,795),47330=>array(79,-72,921,795),47331=>array(79,-70,921,795),47332=>array(79,-66,921,795),47333=>array(79,-59,921,795),47334=>array(79,-60,921,795),47335=>array(79,-68,921,795),47336=>array(79,-64,920,795),47337=>array(79,-61,921,795),47338=>array(79,-61,921,795),47339=>array(79,-71,921,795),47340=>array(79,-46,921,795),47341=>array(79,-68,921,795),47342=>array(79,-74,921,795),47343=>array(79,-44,921,795),47344=>array(79,-62,921,795),47345=>array(79,-64,921,795),47346=>array(79,-64,921,795),47347=>array(79,-63,921,795),47348=>array(79,-68,921,795),47349=>array(79,-64,921,795),47350=>array(79,-63,921,795),47351=>array(79,-74,921,795),47352=>array(79,-62,921,795),47353=>array(79,-61,921,795),47354=>array(79,-69,921,795),47355=>array(79,-74,921,795),47356=>array(79,-69,921,795),47357=>array(79,-68,921,795),47358=>array(79,-72,921,795),47359=>array(79,-70,921,795),47360=>array(79,-66,921,795),47361=>array(79,-59,921,795),47362=>array(79,-60,921,795),47363=>array(79,-68,921,795),47364=>array(69,-70,907,841),47365=>array(76,-61,907,841),47366=>array(76,-61,907,841),47367=>array(76,-71,931,841),47368=>array(76,-46,907,841),47369=>array(76,-68,912,841),47370=>array(76,-76,907,841),47371=>array(76,-44,921,841),47372=>array(76,-62,917,841),47373=>array(76,-64,907,841),47374=>array(76,-64,908,841),47375=>array(76,-64,908,841),47376=>array(76,-69,923,841),47377=>array(76,-64,908,841),47378=>array(76,-64,908,841),47379=>array(76,-76,906,841),47380=>array(76,-62,907,841),47381=>array(76,-61,907,841),47382=>array(76,-69,922,841),47383=>array(76,-74,929,841),47384=>array(76,-69,927,841),47385=>array(76,-68,911,841),47386=>array(76,-72,929,841),47387=>array(76,-70,936,841),47388=>array(76,-66,908,841),47389=>array(76,-59,916,841),47390=>array(76,-60,928,841),47391=>array(76,-68,908,841),47392=>array(52,-68,907,843),47393=>array(72,-61,907,843),47394=>array(72,-61,907,843),47395=>array(72,-71,931,843),47396=>array(90,-46,907,843),47397=>array(72,-68,912,843),47398=>array(72,-76,907,843),47399=>array(72,-44,921,843),47400=>array(72,-62,917,843),47401=>array(72,-64,907,843),47402=>array(72,-64,908,843),47403=>array(72,-64,908,843),47404=>array(72,-69,923,843),47405=>array(72,-64,908,843),47406=>array(72,-64,908,843),47407=>array(72,-76,907,843),47408=>array(72,-62,907,843),47409=>array(72,-61,907,843),47410=>array(72,-69,922,843),47411=>array(72,-74,929,843),47412=>array(72,-69,927,843),47413=>array(72,-68,911,843),47414=>array(72,-72,929,843),47415=>array(72,-70,936,843),47416=>array(72,-66,908,843),47417=>array(72,-59,916,843),47418=>array(72,-60,928,843),47419=>array(72,-68,908,843),47420=>array(70,-69,907,842),47421=>array(64,-61,907,842),47422=>array(64,-61,907,842),47423=>array(64,-71,931,842),47424=>array(65,-46,907,843),47425=>array(64,-68,912,842),47426=>array(64,-76,907,842),47427=>array(64,-44,921,842),47428=>array(64,-62,917,842),47429=>array(64,-64,907,842),47430=>array(64,-64,908,842),47431=>array(64,-64,908,842),47432=>array(64,-69,923,842),47433=>array(64,-64,908,842),47434=>array(64,-64,908,842),47435=>array(64,-76,907,842),47436=>array(64,-62,907,842),47437=>array(64,-61,907,842),47438=>array(64,-69,922,842),47439=>array(64,-74,929,842),47440=>array(64,-69,927,842),47441=>array(64,-68,911,842),47442=>array(64,-72,929,842),47443=>array(64,-70,936,842),47444=>array(64,-66,908,842),47445=>array(64,-59,916,842),47446=>array(64,-60,928,842),47447=>array(64,-68,908,842),47448=>array(71,-64,928,795),47449=>array(79,-61,921,795),47450=>array(79,-61,921,795),47451=>array(79,-71,921,795),47452=>array(79,-46,921,795),47453=>array(79,-68,921,795),47454=>array(79,-74,921,795),47455=>array(79,-44,921,795),47456=>array(79,-62,921,795),47457=>array(79,-64,921,795),47458=>array(79,-64,921,795),47459=>array(79,-63,921,795),47460=>array(79,-68,921,795),47461=>array(79,-64,921,795),47462=>array(79,-63,921,795),47463=>array(79,-74,921,795),47464=>array(79,-62,921,795),47465=>array(79,-61,921,795),47466=>array(79,-69,921,795),47467=>array(79,-74,921,795),47468=>array(79,-69,921,795),47469=>array(79,-68,921,795),47470=>array(79,-72,921,795),47471=>array(79,-70,921,795),47472=>array(79,-66,921,795),47473=>array(79,-59,921,795),47474=>array(79,-60,921,795),47475=>array(79,-68,921,795),47476=>array(57,42,943,730),47477=>array(79,-61,921,795),47478=>array(79,-61,921,795),47479=>array(79,-71,921,795),47480=>array(79,-46,921,795),47481=>array(79,-68,921,795),47482=>array(79,-74,921,795),47483=>array(79,-44,921,795),47484=>array(79,-62,921,795),47485=>array(79,-64,921,795),47486=>array(79,-64,921,795),47487=>array(79,-63,921,795),47488=>array(79,-68,921,795),47489=>array(79,-64,921,795),47490=>array(79,-63,921,795),47491=>array(79,-74,921,795),47492=>array(79,-62,921,795),47493=>array(79,-61,921,795),47494=>array(79,-69,921,795),47495=>array(79,-74,921,795),47496=>array(79,-69,921,795),47497=>array(79,-68,921,795),47498=>array(79,-72,921,795),47499=>array(79,-70,921,795),47500=>array(79,-66,921,795),47501=>array(79,-59,921,795),47502=>array(79,-60,921,795),47503=>array(79,-68,921,795),47504=>array(67,-69,907,842),47505=>array(64,-61,908,842),47506=>array(64,-61,908,842),47507=>array(64,-71,931,842),47508=>array(64,-46,908,842),47509=>array(64,-68,912,842),47510=>array(64,-76,908,842),47511=>array(64,-44,921,842),47512=>array(64,-62,917,842),47513=>array(64,-64,908,842),47514=>array(64,-64,908,842),47515=>array(64,-64,908,842),47516=>array(64,-69,923,842),47517=>array(64,-64,908,842),47518=>array(64,-64,908,842),47519=>array(64,-76,908,842),47520=>array(64,-62,908,842),47521=>array(64,-61,908,842),47522=>array(64,-69,922,842),47523=>array(64,-74,929,842),47524=>array(64,-69,927,842),47525=>array(64,-68,911,842),47526=>array(64,-72,929,842),47527=>array(64,-70,936,842),47528=>array(64,-66,908,842),47529=>array(64,-59,916,842),47530=>array(64,-60,928,842),47531=>array(64,-68,908,842),47532=>array(143,-69,907,842),47533=>array(138,-61,907,842),47534=>array(138,-61,907,842),47535=>array(138,-71,931,842),47536=>array(138,-46,907,842),47537=>array(138,-68,912,842),47538=>array(138,-76,907,842),47539=>array(138,-44,921,842),47540=>array(138,-62,917,842),47541=>array(138,-64,907,842),47542=>array(138,-64,908,842),47543=>array(138,-64,908,842),47544=>array(138,-69,923,842),47545=>array(138,-64,908,842),47546=>array(138,-64,908,842),47547=>array(138,-76,907,842),47548=>array(138,-62,907,842),47549=>array(138,-61,907,842),47550=>array(138,-69,922,842),47551=>array(138,-74,929,842),47552=>array(138,-69,927,842),47553=>array(138,-68,911,842),47554=>array(138,-72,929,842),47555=>array(138,-70,936,842),47556=>array(138,-66,908,842),47557=>array(138,-59,916,842),47558=>array(138,-60,928,842),47559=>array(138,-68,908,842),47560=>array(127,-69,936,842),47561=>array(122,-59,936,842),47562=>array(122,-61,936,842),47563=>array(122,-71,936,842),47564=>array(122,-45,936,842),47565=>array(122,-69,936,842),47566=>array(122,-76,936,842),47567=>array(122,-44,936,842),47568=>array(122,-62,936,842),47569=>array(122,-64,936,842),47570=>array(122,-64,936,842),47571=>array(122,-64,936,842),47572=>array(122,-70,936,842),47573=>array(122,-64,936,842),47574=>array(122,-64,936,842),47575=>array(122,-76,936,842),47576=>array(122,-62,936,842),47577=>array(122,-61,936,842),47578=>array(122,-70,936,842),47579=>array(122,-74,936,842),47580=>array(118,-69,936,842),47581=>array(122,-67,936,842),47582=>array(122,-72,936,842),47583=>array(122,-71,936,842),47584=>array(122,-66,936,842),47585=>array(122,-59,936,842),47586=>array(122,-60,936,842),47587=>array(122,-69,936,842),47588=>array(127,-69,907,842),47589=>array(122,-61,907,842),47590=>array(122,-61,907,842),47591=>array(122,-71,931,842),47592=>array(122,-46,907,842),47593=>array(122,-68,912,842),47594=>array(122,-76,907,842),47595=>array(122,-44,921,842),47596=>array(122,-62,917,842),47597=>array(122,-64,907,842),47598=>array(122,-64,908,842),47599=>array(122,-64,908,842),47600=>array(122,-69,923,842),47601=>array(122,-64,908,842),47602=>array(122,-64,908,842),47603=>array(122,-76,907,842),47604=>array(122,-62,907,842),47605=>array(122,-61,907,842),47606=>array(122,-69,922,842),47607=>array(122,-74,929,842),47608=>array(122,-69,927,842),47609=>array(122,-68,911,842),47610=>array(122,-72,929,842),47611=>array(122,-70,936,842),47612=>array(122,-66,908,842),47613=>array(122,-59,916,842),47614=>array(122,-60,928,842),47615=>array(122,-68,908,842),47616=>array(127,-68,935,843),47617=>array(122,-59,936,842),47618=>array(122,-61,936,842),47619=>array(122,-71,936,842),47620=>array(122,-45,936,842),47621=>array(122,-69,936,842),47622=>array(122,-76,936,842),47623=>array(122,-44,936,842),47624=>array(122,-62,936,842),47625=>array(122,-64,936,842),47626=>array(122,-64,936,842),47627=>array(122,-64,936,842),47628=>array(122,-70,936,842),47629=>array(122,-64,936,842),47630=>array(122,-64,936,842),47631=>array(122,-76,936,842),47632=>array(122,-62,936,842),47633=>array(122,-61,936,842),47634=>array(122,-70,936,842),47635=>array(122,-74,936,842),47636=>array(118,-69,936,842),47637=>array(122,-67,936,842),47638=>array(122,-72,936,842),47639=>array(122,-71,936,842),47640=>array(122,-66,936,842),47641=>array(122,-59,936,842),47642=>array(122,-60,936,842),47643=>array(122,-69,936,842),47644=>array(127,-69,907,842),47645=>array(122,-61,907,842),47646=>array(122,-61,907,842),47647=>array(122,-71,931,842),47648=>array(122,-46,907,842),47649=>array(122,-68,912,842),47650=>array(122,-76,907,842),47651=>array(122,-44,921,842),47652=>array(122,-62,917,842),47653=>array(122,-64,907,842),47654=>array(122,-64,908,842),47655=>array(122,-64,908,842),47656=>array(122,-69,923,842),47657=>array(122,-64,908,842),47658=>array(122,-64,908,842),47659=>array(122,-76,907,842),47660=>array(122,-62,907,842),47661=>array(122,-61,907,842),47662=>array(122,-69,922,842),47663=>array(122,-74,929,842),47664=>array(122,-69,927,842),47665=>array(122,-68,911,842),47666=>array(122,-72,929,842),47667=>array(122,-70,936,842),47668=>array(122,-66,908,842),47669=>array(122,-59,916,842),47670=>array(122,-60,928,842),47671=>array(122,-68,908,842),47672=>array(127,-70,907,841),47673=>array(122,-61,907,841),47674=>array(122,-61,907,841),47675=>array(122,-71,931,841),47676=>array(112,-46,907,841),47677=>array(122,-68,912,841),47678=>array(122,-76,907,841),47679=>array(122,-44,921,841),47680=>array(122,-62,917,841),47681=>array(122,-64,907,841),47682=>array(122,-64,908,841),47683=>array(122,-64,908,841),47684=>array(122,-69,923,841),47685=>array(122,-64,908,841),47686=>array(122,-64,908,841),47687=>array(122,-76,906,841),47688=>array(122,-62,907,841),47689=>array(122,-61,907,841),47690=>array(122,-69,922,841),47691=>array(122,-74,929,841),47692=>array(122,-69,927,841),47693=>array(122,-68,911,841),47694=>array(122,-72,929,841),47695=>array(122,-70,936,841),47696=>array(122,-66,908,841),47697=>array(122,-59,916,841),47698=>array(122,-60,928,841),47699=>array(122,-68,908,841),47700=>array(127,-68,907,843),47701=>array(122,-61,907,843),47702=>array(122,-61,907,843),47703=>array(122,-71,931,843),47704=>array(122,-46,907,843),47705=>array(122,-68,912,843),47706=>array(122,-76,907,843),47707=>array(122,-44,921,843),47708=>array(122,-62,917,843),47709=>array(122,-64,907,843),47710=>array(122,-64,908,843),47711=>array(122,-64,908,843),47712=>array(122,-69,923,843),47713=>array(122,-64,908,843),47714=>array(122,-64,908,843),47715=>array(122,-76,907,843),47716=>array(122,-62,907,843),47717=>array(122,-61,907,843),47718=>array(122,-69,922,843),47719=>array(122,-74,929,843),47720=>array(122,-69,927,843),47721=>array(122,-68,911,843),47722=>array(122,-72,929,843),47723=>array(122,-70,936,843),47724=>array(122,-66,908,843),47725=>array(122,-59,916,843),47726=>array(122,-60,928,843),47727=>array(122,-68,908,843),47728=>array(127,-70,907,842),47729=>array(122,-61,908,842),47730=>array(122,-61,908,842),47731=>array(122,-71,931,842),47732=>array(112,-46,907,842),47733=>array(122,-68,912,842),47734=>array(122,-76,908,842),47735=>array(122,-44,921,842),47736=>array(122,-62,917,842),47737=>array(122,-64,908,842),47738=>array(122,-64,908,842),47739=>array(122,-64,908,842),47740=>array(122,-69,923,842),47741=>array(122,-64,908,842),47742=>array(122,-64,908,842),47743=>array(122,-76,908,842),47744=>array(122,-62,908,842),47745=>array(122,-61,908,842),47746=>array(122,-69,922,842),47747=>array(122,-74,929,842),47748=>array(122,-69,927,842),47749=>array(122,-68,911,842),47750=>array(122,-72,929,842),47751=>array(122,-70,936,842),47752=>array(122,-66,908,842),47753=>array(122,-59,916,842),47754=>array(122,-60,928,842),47755=>array(122,-68,908,842),47756=>array(127,-68,907,843),47757=>array(122,-61,907,843),47758=>array(122,-61,907,843),47759=>array(122,-71,931,843),47760=>array(122,-46,907,843),47761=>array(122,-68,912,843),47762=>array(122,-76,907,843),47763=>array(122,-44,921,843),47764=>array(122,-62,917,843),47765=>array(122,-64,907,843),47766=>array(122,-64,908,843),47767=>array(122,-64,908,843),47768=>array(122,-69,923,843),47769=>array(122,-64,908,843),47770=>array(122,-64,908,843),47771=>array(122,-76,907,843),47772=>array(122,-62,907,843),47773=>array(122,-61,907,843),47774=>array(122,-69,922,843),47775=>array(122,-74,929,843),47776=>array(122,-69,927,843),47777=>array(122,-68,911,843),47778=>array(122,-72,929,843),47779=>array(122,-70,936,843),47780=>array(122,-66,908,843),47781=>array(122,-59,916,843),47782=>array(122,-60,928,843),47783=>array(122,-68,908,843),47784=>array(62,17,943,740),47785=>array(79,-61,921,800),47786=>array(79,-61,921,800),47787=>array(79,-71,921,800),47788=>array(79,-46,921,800),47789=>array(79,-68,921,800),47790=>array(79,-74,921,800),47791=>array(79,-44,921,800),47792=>array(79,-62,921,800),47793=>array(79,-64,921,800),47794=>array(79,-64,921,800),47795=>array(79,-63,921,800),47796=>array(79,-68,921,800),47797=>array(79,-64,921,800),47798=>array(79,-63,921,800),47799=>array(79,-74,921,800),47800=>array(79,-62,921,800),47801=>array(79,-61,921,800),47802=>array(79,-69,921,800),47803=>array(79,-74,921,800),47804=>array(79,-69,921,800),47805=>array(79,-68,921,800),47806=>array(79,-72,921,800),47807=>array(79,-70,921,800),47808=>array(79,-66,921,800),47809=>array(79,-59,921,800),47810=>array(79,-60,921,800),47811=>array(79,-68,921,800),47812=>array(52,-69,936,842),47813=>array(77,-59,936,843),47814=>array(77,-61,936,843),47815=>array(77,-71,936,843),47816=>array(66,-45,936,842),47817=>array(77,-69,936,843),47818=>array(77,-76,936,843),47819=>array(77,-44,936,843),47820=>array(77,-62,936,843),47821=>array(77,-64,936,843),47822=>array(77,-64,936,843),47823=>array(77,-64,936,843),47824=>array(77,-70,936,843),47825=>array(77,-64,936,843),47826=>array(77,-64,936,843),47827=>array(77,-76,936,843),47828=>array(77,-62,936,843),47829=>array(77,-61,936,843),47830=>array(77,-70,936,843),47831=>array(77,-74,936,843),47832=>array(77,-69,936,843),47833=>array(77,-67,936,843),47834=>array(77,-72,936,843),47835=>array(77,-71,936,843),47836=>array(77,-66,936,843),47837=>array(77,-59,936,843),47838=>array(77,-60,936,843),47839=>array(77,-69,936,843),47840=>array(61,-69,907,842),47841=>array(79,-61,907,843),47842=>array(79,-61,907,843),47843=>array(79,-71,931,843),47844=>array(72,-46,907,842),47845=>array(79,-68,912,843),47846=>array(79,-76,907,843),47847=>array(79,-44,921,843),47848=>array(79,-62,917,843),47849=>array(79,-64,907,843),47850=>array(79,-64,908,843),47851=>array(79,-64,908,843),47852=>array(79,-69,923,843),47853=>array(79,-64,908,843),47854=>array(79,-64,908,843),47855=>array(79,-76,907,843),47856=>array(79,-62,907,843),47857=>array(79,-61,907,843),47858=>array(79,-69,922,843),47859=>array(79,-74,929,843),47860=>array(79,-69,927,843),47861=>array(79,-68,911,843),47862=>array(79,-72,929,843),47863=>array(79,-70,936,843),47864=>array(79,-66,908,843),47865=>array(79,-59,916,843),47866=>array(79,-60,928,843),47867=>array(79,-68,908,843),47868=>array(61,-69,907,842),47869=>array(64,-61,908,841),47870=>array(64,-61,908,841),47871=>array(64,-71,931,841),47872=>array(65,-46,908,841),47873=>array(64,-68,912,841),47874=>array(64,-76,908,841),47875=>array(64,-44,921,841),47876=>array(64,-62,917,841),47877=>array(64,-64,908,841),47878=>array(64,-64,908,841),47879=>array(64,-64,908,841),47880=>array(64,-69,923,841),47881=>array(64,-64,908,841),47882=>array(64,-64,908,841),47883=>array(64,-76,908,841),47884=>array(64,-62,908,841),47885=>array(64,-61,908,841),47886=>array(64,-69,922,841),47887=>array(64,-74,929,841),47888=>array(64,-69,927,841),47889=>array(64,-68,911,841),47890=>array(64,-72,929,841),47891=>array(64,-70,936,841),47892=>array(64,-66,908,841),47893=>array(64,-59,916,841),47894=>array(64,-60,928,841),47895=>array(64,-68,908,841),47896=>array(60,-3,940,765),47897=>array(79,-61,922,800),47898=>array(79,-61,922,800),47899=>array(79,-71,922,800),47900=>array(79,-46,922,800),47901=>array(79,-68,922,800),47902=>array(79,-74,922,800),47903=>array(79,-44,922,800),47904=>array(79,-62,922,800),47905=>array(79,-64,922,800),47906=>array(79,-64,922,800),47907=>array(79,-63,922,800),47908=>array(79,-68,922,800),47909=>array(79,-64,922,800),47910=>array(79,-63,922,800),47911=>array(79,-74,922,800),47912=>array(79,-62,922,800),47913=>array(79,-61,922,800),47914=>array(79,-69,922,800),47915=>array(79,-74,922,800),47916=>array(79,-69,922,800),47917=>array(79,-68,922,800),47918=>array(79,-72,922,800),47919=>array(79,-70,922,800),47920=>array(79,-66,922,800),47921=>array(79,-59,922,800),47922=>array(79,-60,922,800),47923=>array(79,-68,922,800),47924=>array(79,-64,921,800),47925=>array(79,-61,921,800),47926=>array(79,-61,921,800),47927=>array(79,-71,921,800),47928=>array(79,-46,921,800),47929=>array(79,-68,921,800),47930=>array(79,-74,921,800),47931=>array(79,-44,921,800),47932=>array(79,-62,921,800),47933=>array(79,-64,921,800),47934=>array(79,-64,921,800),47935=>array(79,-63,921,800),47936=>array(79,-68,921,800),47937=>array(79,-64,921,800),47938=>array(79,-63,921,800),47939=>array(79,-74,921,800),47940=>array(79,-62,921,800),47941=>array(79,-61,921,800),47942=>array(79,-69,921,800),47943=>array(79,-74,921,800),47944=>array(79,-69,921,800),47945=>array(79,-68,921,800),47946=>array(79,-72,921,800),47947=>array(79,-70,921,800),47948=>array(79,-66,921,800),47949=>array(79,-59,921,800),47950=>array(79,-60,921,800),47951=>array(79,-68,921,800),47952=>array(69,-70,907,841),47953=>array(79,-61,907,841),47954=>array(79,-61,907,841),47955=>array(79,-71,931,841),47956=>array(79,-46,907,841),47957=>array(79,-68,912,841),47958=>array(79,-76,907,841),47959=>array(79,-44,921,841),47960=>array(79,-62,917,841),47961=>array(79,-64,907,841),47962=>array(79,-64,908,841),47963=>array(79,-64,908,841),47964=>array(79,-69,923,841),47965=>array(79,-64,908,841),47966=>array(79,-64,908,841),47967=>array(79,-76,906,841),47968=>array(79,-62,907,841),47969=>array(79,-61,907,841),47970=>array(79,-69,922,841),47971=>array(79,-74,929,841),47972=>array(79,-69,927,841),47973=>array(79,-68,911,841),47974=>array(79,-72,929,841),47975=>array(79,-70,936,841),47976=>array(79,-66,908,841),47977=>array(79,-59,916,841),47978=>array(79,-60,928,841),47979=>array(79,-68,908,841),47980=>array(63,-68,912,843),47981=>array(72,-61,907,843),47982=>array(72,-61,907,843),47983=>array(72,-71,931,843),47984=>array(89,-46,907,843),47985=>array(72,-68,912,843),47986=>array(72,-76,907,843),47987=>array(72,-44,921,843),47988=>array(72,-62,917,843),47989=>array(72,-64,907,843),47990=>array(72,-64,908,843),47991=>array(72,-64,908,843),47992=>array(72,-69,923,843),47993=>array(72,-64,908,843),47994=>array(72,-64,908,843),47995=>array(72,-76,907,843),47996=>array(72,-62,907,843),47997=>array(72,-61,907,843),47998=>array(72,-69,922,843),47999=>array(72,-74,929,843),48000=>array(72,-69,927,843),48001=>array(72,-68,911,843),48002=>array(72,-72,929,843),48003=>array(72,-70,936,843),48004=>array(72,-66,908,843),48005=>array(72,-59,916,843),48006=>array(72,-60,928,843),48007=>array(72,-68,908,843),48008=>array(51,-69,907,842),48009=>array(65,-61,907,842),48010=>array(65,-61,907,842),48011=>array(65,-71,931,842),48012=>array(65,-46,907,842),48013=>array(65,-68,912,842),48014=>array(65,-76,907,842),48015=>array(65,-44,921,842),48016=>array(65,-62,917,842),48017=>array(65,-64,907,842),48018=>array(65,-64,908,842),48019=>array(65,-64,908,842),48020=>array(65,-69,923,842),48021=>array(65,-64,908,842),48022=>array(65,-64,908,842),48023=>array(65,-76,907,842),48024=>array(65,-62,907,842),48025=>array(65,-61,907,842),48026=>array(65,-69,922,842),48027=>array(65,-74,929,842),48028=>array(65,-69,927,842),48029=>array(65,-68,911,842),48030=>array(65,-72,929,842),48031=>array(65,-70,936,842),48032=>array(65,-66,908,842),48033=>array(65,-59,916,842),48034=>array(65,-60,928,842),48035=>array(65,-68,908,842),48036=>array(71,-64,928,800),48037=>array(79,-61,921,800),48038=>array(79,-61,921,800),48039=>array(79,-71,921,800),48040=>array(79,-46,921,790),48041=>array(79,-68,921,800),48042=>array(79,-74,921,800),48043=>array(79,-44,921,800),48044=>array(79,-62,921,800),48045=>array(79,-64,921,800),48046=>array(79,-64,921,800),48047=>array(79,-63,921,800),48048=>array(79,-68,921,800),48049=>array(79,-64,921,800),48050=>array(79,-63,921,800),48051=>array(79,-74,921,800),48052=>array(79,-62,921,800),48053=>array(79,-61,921,800),48054=>array(79,-69,921,800),48055=>array(79,-74,921,800),48056=>array(79,-69,921,800),48057=>array(79,-68,921,800),48058=>array(79,-72,921,800),48059=>array(79,-70,921,800),48060=>array(79,-66,921,800),48061=>array(79,-59,921,800),48062=>array(79,-60,921,800),48063=>array(79,-68,921,800),48064=>array(57,42,943,710),48065=>array(79,-61,921,791),48066=>array(79,-61,921,791),48067=>array(79,-71,921,791),48068=>array(79,-46,921,791),48069=>array(79,-68,921,791),48070=>array(79,-74,921,791),48071=>array(79,-44,921,791),48072=>array(79,-62,921,791),48073=>array(79,-64,921,791),48074=>array(79,-64,921,791),48075=>array(79,-63,921,791),48076=>array(79,-68,921,791),48077=>array(79,-64,921,791),48078=>array(79,-63,921,791),48079=>array(79,-74,921,791),48080=>array(79,-62,921,791),48081=>array(79,-61,921,791),48082=>array(79,-69,921,791),48083=>array(79,-74,921,791),48084=>array(79,-69,921,791),48085=>array(79,-68,921,791),48086=>array(79,-72,921,791),48087=>array(79,-70,921,791),48088=>array(79,-66,921,791),48089=>array(79,-59,921,791),48090=>array(79,-60,921,791),48091=>array(79,-68,921,791),48092=>array(67,-69,907,842),48093=>array(64,-61,907,842),48094=>array(64,-61,907,842),48095=>array(64,-71,931,842),48096=>array(64,-46,907,842),48097=>array(64,-68,912,842),48098=>array(64,-76,907,842),48099=>array(64,-44,921,842),48100=>array(64,-62,917,842),48101=>array(64,-64,907,842),48102=>array(64,-64,908,842),48103=>array(64,-64,908,842),48104=>array(64,-69,923,842),48105=>array(64,-64,908,842),48106=>array(64,-64,908,842),48107=>array(64,-76,907,842),48108=>array(64,-62,907,842),48109=>array(64,-61,907,842),48110=>array(64,-69,922,842),48111=>array(64,-74,929,842),48112=>array(64,-69,927,842),48113=>array(64,-68,911,842),48114=>array(64,-72,929,842),48115=>array(64,-70,936,842),48116=>array(64,-66,908,842),48117=>array(64,-59,916,842),48118=>array(64,-60,928,842),48119=>array(64,-68,908,842),48120=>array(147,-69,907,842),48121=>array(157,-61,907,842),48122=>array(157,-61,907,842),48123=>array(157,-71,931,842),48124=>array(122,-46,907,842),48125=>array(157,-68,912,842),48126=>array(157,-76,907,842),48127=>array(157,-44,921,842),48128=>array(157,-62,917,842),48129=>array(157,-64,907,842),48130=>array(157,-64,908,842),48131=>array(157,-64,908,842),48132=>array(157,-69,923,842),48133=>array(157,-64,908,842),48134=>array(157,-64,908,842),48135=>array(157,-76,907,842),48136=>array(157,-62,907,842),48137=>array(157,-61,907,842),48138=>array(157,-69,922,842),48139=>array(157,-74,929,842),48140=>array(143,-69,927,842),48141=>array(157,-68,911,842),48142=>array(157,-72,929,842),48143=>array(157,-70,936,842),48144=>array(157,-66,908,842),48145=>array(157,-59,916,842),48146=>array(157,-60,928,842),48147=>array(157,-68,908,842),48148=>array(122,-69,936,842),48149=>array(122,-59,936,837),48150=>array(122,-61,936,837),48151=>array(122,-71,936,837),48152=>array(122,-45,936,842),48153=>array(122,-69,936,837),48154=>array(122,-76,936,837),48155=>array(122,-44,936,837),48156=>array(122,-62,936,837),48157=>array(122,-64,936,837),48158=>array(122,-64,936,837),48159=>array(122,-64,936,837),48160=>array(122,-70,936,837),48161=>array(122,-64,936,837),48162=>array(122,-64,936,837),48163=>array(122,-76,936,837),48164=>array(122,-62,936,837),48165=>array(122,-61,936,837),48166=>array(122,-70,936,837),48167=>array(122,-74,936,837),48168=>array(118,-69,936,837),48169=>array(122,-67,936,837),48170=>array(122,-72,936,837),48171=>array(122,-71,936,837),48172=>array(122,-66,936,837),48173=>array(122,-59,936,837),48174=>array(122,-60,936,837),48175=>array(122,-69,936,837),48176=>array(122,-69,907,842),48177=>array(157,-61,907,842),48178=>array(157,-61,907,842),48179=>array(157,-71,931,842),48180=>array(157,-46,907,842),48181=>array(157,-68,912,842),48182=>array(157,-76,907,842),48183=>array(157,-44,921,842),48184=>array(157,-62,917,842),48185=>array(157,-64,907,842),48186=>array(157,-64,908,842),48187=>array(157,-64,908,842),48188=>array(157,-69,923,842),48189=>array(157,-64,908,842),48190=>array(157,-64,908,842),48191=>array(157,-76,907,842),48192=>array(157,-62,907,842),48193=>array(157,-61,907,842),48194=>array(157,-69,922,842),48195=>array(157,-74,929,842),48196=>array(143,-69,927,842),48197=>array(157,-68,911,842),48198=>array(157,-72,929,842),48199=>array(157,-70,936,842),48200=>array(157,-66,908,842),48201=>array(157,-59,916,842),48202=>array(157,-60,928,842),48203=>array(157,-68,908,842),48204=>array(122,-68,935,843),48205=>array(122,-59,936,842),48206=>array(122,-61,936,842),48207=>array(122,-71,936,842),48208=>array(122,-45,936,842),48209=>array(122,-69,936,842),48210=>array(122,-76,936,842),48211=>array(122,-44,936,842),48212=>array(122,-62,936,842),48213=>array(122,-64,936,842),48214=>array(122,-64,936,842),48215=>array(122,-64,936,842),48216=>array(122,-70,936,842),48217=>array(122,-64,936,842),48218=>array(122,-64,936,842),48219=>array(122,-76,936,842),48220=>array(122,-62,936,842),48221=>array(122,-61,936,842),48222=>array(122,-70,936,842),48223=>array(122,-74,936,842),48224=>array(118,-69,936,842),48225=>array(122,-67,936,842),48226=>array(122,-72,936,842),48227=>array(122,-71,936,842),48228=>array(122,-66,936,842),48229=>array(122,-59,936,842),48230=>array(122,-60,936,842),48231=>array(122,-69,936,842),48232=>array(122,-69,907,842),48233=>array(157,-61,907,842),48234=>array(157,-61,907,842),48235=>array(157,-71,931,842),48236=>array(157,-46,907,842),48237=>array(157,-68,912,842),48238=>array(157,-76,907,842),48239=>array(157,-44,921,842),48240=>array(157,-62,917,842),48241=>array(157,-64,907,842),48242=>array(157,-64,908,842),48243=>array(157,-64,908,842),48244=>array(157,-69,923,842),48245=>array(157,-64,908,842),48246=>array(157,-64,908,842),48247=>array(157,-76,907,842),48248=>array(157,-62,907,842),48249=>array(157,-61,907,842),48250=>array(157,-69,922,842),48251=>array(157,-74,929,842),48252=>array(143,-69,927,842),48253=>array(157,-68,911,842),48254=>array(157,-72,929,842),48255=>array(157,-70,936,842),48256=>array(157,-66,908,842),48257=>array(157,-59,916,842),48258=>array(157,-60,928,842),48259=>array(157,-68,908,842),48260=>array(127,-70,907,841),48261=>array(122,-61,907,841),48262=>array(122,-61,907,841),48263=>array(122,-71,931,841),48264=>array(122,-46,907,841),48265=>array(122,-68,912,841),48266=>array(122,-76,907,841),48267=>array(122,-44,921,841),48268=>array(122,-62,917,841),48269=>array(122,-64,907,841),48270=>array(122,-64,908,841),48271=>array(122,-64,908,841),48272=>array(122,-69,923,841),48273=>array(122,-64,908,841),48274=>array(122,-64,908,841),48275=>array(122,-76,906,841),48276=>array(122,-62,907,841),48277=>array(122,-61,907,841),48278=>array(122,-69,922,841),48279=>array(122,-74,929,841),48280=>array(122,-69,927,841),48281=>array(122,-68,911,841),48282=>array(122,-72,929,841),48283=>array(122,-70,936,841),48284=>array(122,-66,908,841),48285=>array(122,-59,916,841),48286=>array(122,-60,928,841),48287=>array(122,-68,908,841),48288=>array(122,-68,907,843),48289=>array(127,-61,907,843),48290=>array(127,-61,907,843),48291=>array(127,-71,931,843),48292=>array(127,-46,907,843),48293=>array(127,-68,912,843),48294=>array(127,-76,907,843),48295=>array(127,-44,921,843),48296=>array(127,-62,917,843),48297=>array(127,-64,907,843),48298=>array(127,-64,908,843),48299=>array(127,-64,908,843),48300=>array(127,-69,923,843),48301=>array(127,-64,908,843),48302=>array(127,-64,908,843),48303=>array(127,-76,907,843),48304=>array(127,-62,907,843),48305=>array(127,-61,907,843),48306=>array(127,-69,922,843),48307=>array(127,-74,929,843),48308=>array(127,-69,927,843),48309=>array(127,-68,911,843),48310=>array(127,-72,929,843),48311=>array(127,-70,936,843),48312=>array(127,-66,908,843),48313=>array(127,-59,916,843),48314=>array(127,-60,928,843),48315=>array(127,-68,908,843),48316=>array(127,-70,907,842),48317=>array(122,-61,908,842),48318=>array(122,-61,908,842),48319=>array(122,-71,931,842),48320=>array(122,-46,907,842),48321=>array(122,-68,912,842),48322=>array(122,-76,908,842),48323=>array(122,-44,921,842),48324=>array(122,-62,917,842),48325=>array(122,-64,908,842),48326=>array(122,-64,908,842),48327=>array(122,-64,908,842),48328=>array(122,-69,923,842),48329=>array(122,-64,908,842),48330=>array(122,-64,908,842),48331=>array(122,-76,908,842),48332=>array(122,-62,908,842),48333=>array(122,-61,908,842),48334=>array(122,-69,922,842),48335=>array(122,-74,929,842),48336=>array(122,-69,927,842),48337=>array(122,-68,911,842),48338=>array(122,-72,929,842),48339=>array(122,-70,936,842),48340=>array(122,-66,908,842),48341=>array(122,-59,916,842),48342=>array(122,-60,928,842),48343=>array(122,-68,908,842),48344=>array(122,-68,907,843),48345=>array(127,-61,907,843),48346=>array(127,-61,907,843),48347=>array(127,-71,931,843),48348=>array(127,-46,907,843),48349=>array(127,-68,912,843),48350=>array(127,-76,907,843),48351=>array(127,-44,921,843),48352=>array(127,-62,917,843),48353=>array(127,-64,907,843),48354=>array(127,-64,908,843),48355=>array(127,-64,908,843),48356=>array(127,-69,923,843),48357=>array(127,-64,908,843),48358=>array(127,-64,908,843),48359=>array(127,-76,907,843),48360=>array(127,-62,907,843),48361=>array(127,-61,907,843),48362=>array(127,-69,922,843),48363=>array(127,-74,929,843),48364=>array(127,-69,927,843),48365=>array(127,-68,911,843),48366=>array(127,-72,929,843),48367=>array(127,-70,936,843),48368=>array(127,-66,908,843),48369=>array(127,-59,916,843),48370=>array(127,-60,928,843),48371=>array(127,-68,908,843),48372=>array(62,7,943,795),48373=>array(79,-61,921,815),48374=>array(79,-61,921,815),48375=>array(79,-71,921,815),48376=>array(79,-46,921,815),48377=>array(79,-68,921,815),48378=>array(79,-74,921,815),48379=>array(79,-44,921,815),48380=>array(79,-62,921,815),48381=>array(79,-64,921,815),48382=>array(79,-64,921,815),48383=>array(79,-63,921,815),48384=>array(79,-68,921,815),48385=>array(79,-64,921,815),48386=>array(79,-63,921,815),48387=>array(79,-74,921,815),48388=>array(79,-62,921,815),48389=>array(79,-61,921,815),48390=>array(79,-69,921,815),48391=>array(79,-74,921,815),48392=>array(79,-69,921,815),48393=>array(79,-68,921,815),48394=>array(79,-72,921,815),48395=>array(79,-70,921,815),48396=>array(79,-66,921,815),48397=>array(79,-59,921,815),48398=>array(79,-60,921,815),48399=>array(79,-68,921,815),48400=>array(52,-69,936,842),48401=>array(77,-59,936,843),48402=>array(77,-61,936,843),48403=>array(77,-71,936,843),48404=>array(66,-45,936,842),48405=>array(77,-69,936,843),48406=>array(77,-76,936,843),48407=>array(77,-44,936,843),48408=>array(77,-62,936,843),48409=>array(77,-64,936,843),48410=>array(77,-64,936,843),48411=>array(77,-64,936,843),48412=>array(77,-70,936,843),48413=>array(77,-64,936,843),48414=>array(77,-64,936,843),48415=>array(77,-76,936,843),48416=>array(77,-62,936,843),48417=>array(77,-61,936,843),48418=>array(77,-70,936,843),48419=>array(77,-74,936,843),48420=>array(77,-69,936,843),48421=>array(77,-67,936,843),48422=>array(77,-72,936,843),48423=>array(77,-71,936,843),48424=>array(77,-66,936,843),48425=>array(77,-59,936,843),48426=>array(77,-60,936,843),48427=>array(77,-69,936,843),48428=>array(61,-68,907,843),48429=>array(79,-61,907,843),48430=>array(79,-61,907,843),48431=>array(79,-71,931,843),48432=>array(72,-46,907,842),48433=>array(79,-68,912,843),48434=>array(79,-76,907,843),48435=>array(79,-44,921,843),48436=>array(79,-62,917,843),48437=>array(79,-64,907,843),48438=>array(79,-64,908,843),48439=>array(79,-64,908,843),48440=>array(79,-69,923,843),48441=>array(79,-64,908,843),48442=>array(79,-64,908,843),48443=>array(79,-76,907,843),48444=>array(79,-62,907,843),48445=>array(79,-61,907,843),48446=>array(79,-69,922,843),48447=>array(79,-74,929,843),48448=>array(79,-69,927,843),48449=>array(79,-68,911,843),48450=>array(79,-72,929,843),48451=>array(79,-70,936,843),48452=>array(79,-66,908,843),48453=>array(79,-59,916,843),48454=>array(79,-60,928,843),48455=>array(79,-68,908,843),48456=>array(62,-69,907,842),48457=>array(65,-61,907,842),48458=>array(65,-61,907,842),48459=>array(65,-71,931,842),48460=>array(64,-46,907,842),48461=>array(65,-68,912,842),48462=>array(65,-76,907,842),48463=>array(65,-44,921,842),48464=>array(65,-62,917,842),48465=>array(65,-64,907,842),48466=>array(65,-64,908,842),48467=>array(65,-64,908,842),48468=>array(65,-69,923,842),48469=>array(65,-64,908,842),48470=>array(65,-64,908,842),48471=>array(65,-76,907,842),48472=>array(65,-62,907,842),48473=>array(65,-61,907,842),48474=>array(65,-69,922,842),48475=>array(65,-74,929,842),48476=>array(65,-69,927,842),48477=>array(65,-68,911,842),48478=>array(65,-72,929,842),48479=>array(65,-70,936,842),48480=>array(65,-66,908,842),48481=>array(65,-59,916,842),48482=>array(65,-60,928,842),48483=>array(65,-68,908,842),48484=>array(62,7,943,805),48485=>array(79,-61,922,815),48486=>array(79,-61,922,815),48487=>array(79,-71,922,815),48488=>array(79,-46,922,815),48489=>array(79,-68,922,815),48490=>array(79,-74,922,815),48491=>array(79,-44,922,815),48492=>array(79,-62,922,815),48493=>array(79,-64,922,815),48494=>array(79,-64,922,815),48495=>array(79,-63,922,815),48496=>array(79,-68,922,815),48497=>array(79,-64,922,815),48498=>array(79,-63,922,815),48499=>array(79,-74,922,815),48500=>array(79,-62,922,815),48501=>array(79,-61,922,815),48502=>array(79,-69,922,815),48503=>array(79,-74,922,815),48504=>array(79,-69,922,815),48505=>array(79,-68,922,815),48506=>array(79,-72,922,815),48507=>array(79,-70,922,815),48508=>array(79,-66,922,815),48509=>array(79,-59,922,815),48510=>array(79,-60,922,815),48511=>array(79,-68,922,815),48512=>array(79,-64,921,815),48513=>array(79,-61,921,815),48514=>array(79,-61,921,815),48515=>array(79,-71,921,815),48516=>array(79,-46,921,815),48517=>array(79,-68,921,815),48518=>array(79,-74,921,815),48519=>array(79,-44,921,815),48520=>array(79,-62,921,815),48521=>array(79,-64,921,815),48522=>array(79,-64,921,815),48523=>array(79,-63,921,815),48524=>array(79,-68,921,815),48525=>array(79,-64,921,815),48526=>array(79,-63,921,815),48527=>array(79,-74,921,815),48528=>array(79,-62,921,815),48529=>array(79,-61,921,815),48530=>array(79,-69,921,815),48531=>array(79,-74,921,815),48532=>array(79,-69,921,815),48533=>array(79,-68,921,815),48534=>array(79,-72,921,815),48535=>array(79,-70,921,815),48536=>array(79,-66,921,815),48537=>array(79,-59,921,815),48538=>array(79,-60,921,815),48539=>array(79,-68,921,815),48540=>array(69,-70,907,841),48541=>array(75,-61,907,841),48542=>array(75,-61,907,841),48543=>array(75,-71,931,841),48544=>array(76,-46,907,841),48545=>array(75,-68,912,841),48546=>array(75,-76,907,841),48547=>array(75,-44,921,841),48548=>array(75,-62,917,841),48549=>array(75,-64,907,841),48550=>array(75,-64,908,841),48551=>array(75,-64,908,841),48552=>array(75,-69,923,841),48553=>array(75,-64,908,841),48554=>array(75,-64,908,841),48555=>array(75,-76,906,841),48556=>array(75,-62,907,841),48557=>array(75,-61,907,841),48558=>array(75,-69,922,841),48559=>array(75,-74,929,841),48560=>array(75,-69,927,841),48561=>array(75,-68,911,841),48562=>array(75,-72,929,841),48563=>array(75,-70,936,841),48564=>array(75,-66,908,841),48565=>array(75,-59,916,841),48566=>array(75,-60,928,841),48567=>array(75,-68,908,841),48568=>array(63,-68,907,843),48569=>array(72,-61,907,843),48570=>array(72,-61,907,843),48571=>array(72,-71,931,843),48572=>array(76,-46,907,843),48573=>array(72,-68,912,843),48574=>array(72,-76,907,843),48575=>array(72,-44,921,843),48576=>array(72,-62,917,843),48577=>array(72,-64,907,843),48578=>array(72,-64,908,843),48579=>array(72,-64,908,843),48580=>array(72,-69,923,843),48581=>array(72,-64,908,843),48582=>array(72,-64,908,843),48583=>array(72,-76,907,843),48584=>array(72,-62,907,843),48585=>array(72,-61,907,843),48586=>array(72,-69,922,843),48587=>array(72,-74,929,843),48588=>array(72,-69,927,843),48589=>array(72,-68,911,843),48590=>array(72,-72,929,843),48591=>array(72,-70,936,843),48592=>array(72,-66,908,843),48593=>array(72,-59,916,843),48594=>array(72,-60,928,843),48595=>array(72,-68,908,843),48596=>array(70,-69,907,842),48597=>array(65,-61,907,841),48598=>array(65,-61,907,841),48599=>array(65,-71,931,841),48600=>array(65,-46,907,841),48601=>array(65,-68,912,841),48602=>array(65,-76,907,841),48603=>array(65,-44,921,841),48604=>array(65,-62,917,841),48605=>array(65,-64,907,841),48606=>array(65,-64,908,841),48607=>array(65,-64,908,841),48608=>array(65,-69,923,841),48609=>array(65,-64,908,841),48610=>array(65,-64,908,841),48611=>array(65,-76,907,841),48612=>array(65,-62,907,841),48613=>array(65,-61,907,841),48614=>array(65,-69,922,841),48615=>array(65,-74,929,841),48616=>array(65,-69,927,841),48617=>array(65,-68,911,841),48618=>array(65,-72,929,841),48619=>array(65,-70,936,841),48620=>array(65,-66,908,841),48621=>array(65,-59,916,841),48622=>array(65,-60,928,841),48623=>array(65,-68,908,841),48624=>array(71,-64,928,815),48625=>array(79,-61,921,815),48626=>array(79,-61,921,815),48627=>array(79,-71,921,815),48628=>array(79,-46,921,815),48629=>array(79,-68,921,815),48630=>array(79,-74,921,815),48631=>array(79,-44,921,815),48632=>array(79,-62,921,815),48633=>array(79,-64,921,815),48634=>array(79,-64,921,815),48635=>array(79,-63,921,815),48636=>array(79,-68,921,815),48637=>array(79,-64,921,815),48638=>array(79,-63,921,815),48639=>array(79,-74,921,815),48640=>array(79,-62,921,815),48641=>array(79,-61,921,815),48642=>array(79,-69,921,815),48643=>array(79,-74,921,815),48644=>array(79,-69,921,815),48645=>array(79,-68,921,815),48646=>array(79,-72,921,815),48647=>array(79,-70,921,815),48648=>array(79,-66,921,815),48649=>array(79,-59,921,815),48650=>array(79,-60,921,815),48651=>array(79,-68,921,815),48652=>array(57,42,943,750),48653=>array(79,-61,921,825),48654=>array(79,-61,921,825),48655=>array(79,-71,921,825),48656=>array(79,-46,921,825),48657=>array(79,-68,921,825),48658=>array(79,-74,921,825),48659=>array(79,-44,921,825),48660=>array(79,-62,921,825),48661=>array(79,-64,921,825),48662=>array(79,-64,921,825),48663=>array(79,-63,921,825),48664=>array(79,-68,921,825),48665=>array(79,-64,921,825),48666=>array(79,-63,921,825),48667=>array(79,-74,921,825),48668=>array(79,-62,921,825),48669=>array(79,-61,921,825),48670=>array(79,-69,921,825),48671=>array(79,-74,921,825),48672=>array(79,-69,921,825),48673=>array(79,-68,921,825),48674=>array(79,-72,921,825),48675=>array(79,-70,921,825),48676=>array(79,-66,921,825),48677=>array(79,-59,921,825),48678=>array(79,-60,921,825),48679=>array(79,-68,921,825),48680=>array(67,-69,907,842),48681=>array(65,-61,907,842),48682=>array(65,-61,907,842),48683=>array(65,-71,931,842),48684=>array(65,-46,907,841),48685=>array(65,-68,912,842),48686=>array(65,-76,907,842),48687=>array(65,-44,921,842),48688=>array(65,-62,917,842),48689=>array(65,-64,907,842),48690=>array(65,-64,908,842),48691=>array(65,-64,908,842),48692=>array(65,-69,923,842),48693=>array(65,-64,908,842),48694=>array(65,-64,908,842),48695=>array(65,-76,907,842),48696=>array(65,-62,907,842),48697=>array(65,-61,907,842),48698=>array(65,-69,922,842),48699=>array(65,-74,929,842),48700=>array(65,-69,927,842),48701=>array(65,-68,911,842),48702=>array(65,-72,929,842),48703=>array(65,-70,936,842),48704=>array(65,-66,908,842),48705=>array(65,-59,916,842),48706=>array(65,-60,928,842),48707=>array(65,-68,908,842),48708=>array(147,-69,907,842),48709=>array(157,-61,907,842),48710=>array(157,-61,907,842),48711=>array(157,-71,931,842),48712=>array(152,-46,907,842),48713=>array(157,-68,912,842),48714=>array(157,-76,907,842),48715=>array(157,-44,921,842),48716=>array(157,-62,917,842),48717=>array(157,-64,907,842),48718=>array(157,-64,908,842),48719=>array(157,-64,908,842),48720=>array(157,-69,923,842),48721=>array(157,-64,908,842),48722=>array(157,-64,908,842),48723=>array(157,-76,907,842),48724=>array(157,-62,907,842),48725=>array(157,-61,907,842),48726=>array(157,-69,922,842),48727=>array(157,-74,929,842),48728=>array(143,-69,927,842),48729=>array(157,-68,911,842),48730=>array(157,-72,929,842),48731=>array(157,-70,936,842),48732=>array(157,-66,908,842),48733=>array(157,-59,916,842),48734=>array(157,-60,928,842),48735=>array(157,-68,908,842),48736=>array(95,-69,936,842),48737=>array(105,-59,936,842),48738=>array(105,-61,936,842),48739=>array(105,-71,936,842),48740=>array(105,-45,936,842),48741=>array(105,-69,936,842),48742=>array(105,-76,936,842),48743=>array(105,-44,936,842),48744=>array(105,-62,936,842),48745=>array(105,-64,936,842),48746=>array(105,-64,936,842),48747=>array(105,-64,936,842),48748=>array(105,-70,936,842),48749=>array(105,-64,936,842),48750=>array(105,-64,936,842),48751=>array(105,-76,936,842),48752=>array(105,-62,936,842),48753=>array(105,-61,936,842),48754=>array(105,-70,936,842),48755=>array(105,-74,936,842),48756=>array(105,-69,936,842),48757=>array(105,-67,936,842),48758=>array(105,-72,936,842),48759=>array(105,-71,936,842),48760=>array(105,-66,936,842),48761=>array(105,-59,936,842),48762=>array(105,-60,936,842),48763=>array(105,-69,936,842),48764=>array(95,-69,907,842),48765=>array(105,-61,907,842),48766=>array(105,-61,907,842),48767=>array(105,-71,931,842),48768=>array(105,-46,907,842),48769=>array(105,-68,912,842),48770=>array(105,-76,907,842),48771=>array(105,-44,921,842),48772=>array(105,-62,917,842),48773=>array(105,-64,907,842),48774=>array(105,-64,908,842),48775=>array(105,-64,908,842),48776=>array(105,-69,923,842),48777=>array(105,-64,908,842),48778=>array(105,-64,908,842),48779=>array(105,-76,907,842),48780=>array(105,-62,907,842),48781=>array(105,-61,907,842),48782=>array(105,-69,922,842),48783=>array(105,-74,929,842),48784=>array(105,-69,927,842),48785=>array(105,-68,911,842),48786=>array(105,-72,929,842),48787=>array(105,-70,936,842),48788=>array(105,-66,908,842),48789=>array(105,-59,916,842),48790=>array(105,-60,928,842),48791=>array(105,-68,908,842),48792=>array(95,-68,935,843),48793=>array(105,-59,936,842),48794=>array(105,-61,936,842),48795=>array(105,-71,936,842),48796=>array(105,-45,936,842),48797=>array(105,-69,936,842),48798=>array(105,-76,936,842),48799=>array(105,-44,936,842),48800=>array(105,-62,936,842),48801=>array(105,-64,936,842),48802=>array(105,-64,936,842),48803=>array(105,-64,936,842),48804=>array(105,-70,936,842),48805=>array(105,-64,936,842),48806=>array(105,-64,936,842),48807=>array(105,-76,936,842),48808=>array(105,-62,936,842),48809=>array(105,-61,936,842),48810=>array(105,-70,936,842),48811=>array(105,-74,936,842),48812=>array(105,-69,936,842),48813=>array(105,-67,936,842),48814=>array(105,-72,936,842),48815=>array(105,-71,936,842),48816=>array(105,-66,936,842),48817=>array(105,-59,936,842),48818=>array(105,-60,936,842),48819=>array(105,-69,936,842),48820=>array(95,-69,907,842),48821=>array(105,-61,907,842),48822=>array(105,-61,907,842),48823=>array(105,-71,931,842),48824=>array(105,-46,907,842),48825=>array(105,-68,912,842),48826=>array(105,-76,907,842),48827=>array(105,-44,921,842),48828=>array(105,-62,917,842),48829=>array(105,-64,907,842),48830=>array(105,-64,908,842),48831=>array(105,-64,908,842),48832=>array(105,-69,923,842),48833=>array(105,-64,908,842),48834=>array(105,-64,908,842),48835=>array(105,-76,907,842),48836=>array(105,-62,907,842),48837=>array(105,-61,907,842),48838=>array(105,-69,922,842),48839=>array(105,-74,929,842),48840=>array(105,-69,927,842),48841=>array(105,-68,911,842),48842=>array(105,-72,929,842),48843=>array(105,-70,936,842),48844=>array(105,-66,908,842),48845=>array(105,-59,916,842),48846=>array(105,-60,928,842),48847=>array(105,-68,908,842),48848=>array(95,-70,907,841),48849=>array(105,-61,907,841),48850=>array(105,-61,907,841),48851=>array(105,-71,931,841),48852=>array(105,-46,907,841),48853=>array(105,-68,912,841),48854=>array(105,-76,907,841),48855=>array(105,-44,921,841),48856=>array(105,-62,917,841),48857=>array(105,-64,907,841),48858=>array(105,-64,908,841),48859=>array(105,-64,908,841),48860=>array(105,-69,923,841),48861=>array(105,-64,908,841),48862=>array(105,-64,908,841),48863=>array(105,-76,906,841),48864=>array(105,-62,907,841),48865=>array(105,-61,907,841),48866=>array(105,-69,922,841),48867=>array(105,-74,929,841),48868=>array(105,-69,927,841),48869=>array(105,-68,911,841),48870=>array(105,-72,929,841),48871=>array(105,-70,936,841),48872=>array(105,-66,908,841),48873=>array(105,-59,916,841),48874=>array(105,-60,928,841),48875=>array(105,-68,908,841),48876=>array(90,-68,907,843),48877=>array(90,-61,907,843),48878=>array(90,-61,907,843),48879=>array(90,-71,931,843),48880=>array(90,-46,907,843),48881=>array(90,-68,912,843),48882=>array(90,-76,907,843),48883=>array(90,-44,921,843),48884=>array(90,-62,917,843),48885=>array(90,-64,907,843),48886=>array(90,-64,908,843),48887=>array(90,-64,908,843),48888=>array(90,-69,923,843),48889=>array(90,-64,908,843),48890=>array(90,-64,908,843),48891=>array(90,-76,907,843),48892=>array(90,-62,907,843),48893=>array(90,-61,907,843),48894=>array(90,-69,922,843),48895=>array(90,-74,929,843),48896=>array(90,-69,927,843),48897=>array(90,-68,911,843),48898=>array(90,-72,929,843),48899=>array(90,-70,936,843),48900=>array(90,-66,908,843),48901=>array(90,-59,916,843),48902=>array(90,-60,928,843),48903=>array(90,-68,908,843),48904=>array(95,-70,907,842),48905=>array(105,-61,908,842),48906=>array(105,-61,908,842),48907=>array(105,-71,931,842),48908=>array(105,-46,907,842),48909=>array(105,-68,912,842),48910=>array(105,-76,908,842),48911=>array(105,-44,921,842),48912=>array(105,-62,917,842),48913=>array(105,-64,908,842),48914=>array(105,-64,908,842),48915=>array(105,-64,908,842),48916=>array(105,-69,923,842),48917=>array(105,-64,908,842),48918=>array(105,-64,908,842),48919=>array(105,-76,908,842),48920=>array(105,-62,908,842),48921=>array(105,-61,908,842),48922=>array(105,-69,922,842),48923=>array(105,-74,929,842),48924=>array(105,-69,927,842),48925=>array(105,-68,911,842),48926=>array(105,-72,929,842),48927=>array(105,-70,936,842),48928=>array(105,-66,908,842),48929=>array(105,-59,916,842),48930=>array(105,-60,928,842),48931=>array(105,-68,908,842),48932=>array(90,-68,907,843),48933=>array(90,-61,907,843),48934=>array(90,-61,907,843),48935=>array(90,-71,931,843),48936=>array(90,-46,907,843),48937=>array(90,-68,912,843),48938=>array(90,-76,907,843),48939=>array(90,-44,921,843),48940=>array(90,-62,917,843),48941=>array(90,-64,907,843),48942=>array(90,-64,908,843),48943=>array(90,-64,908,843),48944=>array(90,-69,923,843),48945=>array(90,-64,908,843),48946=>array(90,-64,908,843),48947=>array(90,-76,907,843),48948=>array(90,-62,907,843),48949=>array(90,-61,907,843),48950=>array(90,-69,922,843),48951=>array(90,-74,929,843),48952=>array(90,-69,927,843),48953=>array(90,-68,911,843),48954=>array(90,-72,929,843),48955=>array(90,-70,936,843),48956=>array(90,-66,908,843),48957=>array(90,-59,916,843),48958=>array(90,-60,928,843),48959=>array(90,-68,908,843),48960=>array(60,12,940,766),48961=>array(79,-61,921,806),48962=>array(79,-61,921,806),48963=>array(79,-71,921,806),48964=>array(79,-46,921,806),48965=>array(79,-68,921,806),48966=>array(79,-74,921,806),48967=>array(79,-44,921,806),48968=>array(79,-62,921,806),48969=>array(79,-64,921,806),48970=>array(79,-64,921,806),48971=>array(79,-63,921,806),48972=>array(79,-68,921,806),48973=>array(79,-64,921,806),48974=>array(79,-63,921,806),48975=>array(79,-74,921,806),48976=>array(79,-62,921,806),48977=>array(79,-61,921,806),48978=>array(79,-69,921,806),48979=>array(79,-74,921,806),48980=>array(79,-69,921,806),48981=>array(79,-68,921,806),48982=>array(79,-72,921,806),48983=>array(79,-70,921,806),48984=>array(79,-66,921,806),48985=>array(79,-59,921,806),48986=>array(79,-60,921,806),48987=>array(79,-68,921,806),48988=>array(51,-69,936,842),48989=>array(69,-59,937,843),48990=>array(69,-61,937,843),48991=>array(69,-71,937,843),48992=>array(57,-45,937,842),48993=>array(69,-69,937,843),48994=>array(69,-76,937,843),48995=>array(69,-44,937,843),48996=>array(69,-62,937,843),48997=>array(69,-64,937,843),48998=>array(69,-64,937,843),48999=>array(69,-64,937,843),49000=>array(69,-70,937,843),49001=>array(69,-64,937,843),49002=>array(69,-64,937,843),49003=>array(69,-76,937,843),49004=>array(69,-62,937,843),49005=>array(69,-61,937,843),49006=>array(69,-70,937,843),49007=>array(69,-74,937,843),49008=>array(69,-69,937,843),49009=>array(69,-67,937,843),49010=>array(69,-72,937,843),49011=>array(69,-71,937,843),49012=>array(69,-66,937,843),49013=>array(69,-59,937,843),49014=>array(69,-60,937,843),49015=>array(69,-69,937,843),49016=>array(57,-69,907,842),49017=>array(69,-61,908,842),49018=>array(69,-61,908,842),49019=>array(69,-71,931,842),49020=>array(57,-46,908,842),49021=>array(69,-68,912,842),49022=>array(69,-76,908,842),49023=>array(69,-44,921,842),49024=>array(69,-62,917,842),49025=>array(69,-64,908,842),49026=>array(69,-64,908,842),49027=>array(69,-64,908,842),49028=>array(69,-69,923,842),49029=>array(69,-64,908,842),49030=>array(69,-64,908,842),49031=>array(69,-76,908,842),49032=>array(69,-62,908,842),49033=>array(69,-61,908,842),49034=>array(69,-69,922,842),49035=>array(69,-74,929,842),49036=>array(69,-69,927,842),49037=>array(69,-68,911,842),49038=>array(69,-72,929,842),49039=>array(69,-70,936,842),49040=>array(69,-66,908,842),49041=>array(69,-59,916,842),49042=>array(69,-60,928,842),49043=>array(69,-68,908,842),49044=>array(58,-69,907,842),49045=>array(64,-61,907,841),49046=>array(64,-61,907,841),49047=>array(64,-71,931,841),49048=>array(64,-46,907,842),49049=>array(64,-68,912,841),49050=>array(64,-76,907,841),49051=>array(64,-44,921,841),49052=>array(64,-62,917,841),49053=>array(64,-64,907,841),49054=>array(64,-64,908,841),49055=>array(64,-64,908,841),49056=>array(64,-69,923,841),49057=>array(64,-64,908,841),49058=>array(64,-64,908,841),49059=>array(64,-76,907,841),49060=>array(64,-62,907,841),49061=>array(64,-61,907,841),49062=>array(64,-69,922,841),49063=>array(64,-74,929,841),49064=>array(64,-69,927,841),49065=>array(64,-68,911,841),49066=>array(64,-72,929,841),49067=>array(64,-70,936,841),49068=>array(64,-66,908,841),49069=>array(64,-59,916,841),49070=>array(64,-60,928,841),49071=>array(64,-68,908,841),49072=>array(60,-13,940,803),49073=>array(79,-61,921,806),49074=>array(79,-61,921,806),49075=>array(79,-71,921,806),49076=>array(79,-46,921,806),49077=>array(79,-68,921,806),49078=>array(79,-74,921,806),49079=>array(79,-44,921,806),49080=>array(79,-62,921,806),49081=>array(79,-64,921,806),49082=>array(79,-64,921,806),49083=>array(79,-63,921,806),49084=>array(79,-68,921,806),49085=>array(79,-64,921,806),49086=>array(79,-63,921,806),49087=>array(79,-74,921,806),49088=>array(79,-62,921,806),49089=>array(79,-61,921,806),49090=>array(79,-69,921,806),49091=>array(79,-74,921,806),49092=>array(79,-69,921,806),49093=>array(79,-68,921,806),49094=>array(79,-72,921,806),49095=>array(79,-70,921,806),49096=>array(79,-66,921,806),49097=>array(79,-59,921,806),49098=>array(79,-60,921,806),49099=>array(79,-68,921,806),49100=>array(79,-64,921,806),49101=>array(79,-61,921,806),49102=>array(79,-61,921,806),49103=>array(79,-71,921,806),49104=>array(79,-46,921,806),49105=>array(79,-68,921,806),49106=>array(79,-74,921,806),49107=>array(79,-44,921,806),49108=>array(79,-62,921,806),49109=>array(79,-64,921,806),49110=>array(79,-64,921,806),49111=>array(79,-63,921,806),49112=>array(79,-68,921,806),49113=>array(79,-64,921,806),49114=>array(79,-63,921,806),49115=>array(79,-74,921,806),49116=>array(79,-62,921,806),49117=>array(79,-61,921,806),49118=>array(79,-69,921,806),49119=>array(79,-74,921,806),49120=>array(79,-69,921,806),49121=>array(79,-68,921,806),49122=>array(79,-72,921,806),49123=>array(79,-70,921,806),49124=>array(79,-66,921,806),49125=>array(79,-59,921,806),49126=>array(79,-60,921,806),49127=>array(79,-68,921,806),49128=>array(72,-70,907,841),49129=>array(67,-61,907,841),49130=>array(67,-61,907,841),49131=>array(67,-71,931,841),49132=>array(65,-46,907,841),49133=>array(67,-68,912,841),49134=>array(67,-76,907,841),49135=>array(67,-44,921,841),49136=>array(67,-62,917,841),49137=>array(67,-64,907,841),49138=>array(67,-64,908,841),49139=>array(67,-64,908,841),49140=>array(67,-69,923,841),49141=>array(67,-64,908,841),49142=>array(67,-64,908,841),49143=>array(67,-76,906,841),49144=>array(67,-62,907,841),49145=>array(67,-61,907,841),49146=>array(67,-69,922,841),49147=>array(67,-74,929,841),49148=>array(67,-69,927,841),49149=>array(67,-68,911,841),49150=>array(67,-72,929,841),49151=>array(67,-70,936,841),49152=>array(67,-66,908,841),49153=>array(67,-59,916,841),49154=>array(67,-60,928,841),49155=>array(67,-68,908,841),49156=>array(51,-68,907,843),49157=>array(67,-61,907,843),49158=>array(67,-61,907,843),49159=>array(67,-71,931,843),49160=>array(68,-46,907,842),49161=>array(67,-68,912,843),49162=>array(67,-76,907,843),49163=>array(67,-44,921,843),49164=>array(67,-62,917,843),49165=>array(67,-64,907,843),49166=>array(67,-64,908,843),49167=>array(67,-64,908,843),49168=>array(67,-69,923,843),49169=>array(67,-64,908,843),49170=>array(67,-64,908,843),49171=>array(67,-76,907,843),49172=>array(67,-62,907,843),49173=>array(67,-61,907,843),49174=>array(67,-69,922,843),49175=>array(67,-74,929,843),49176=>array(67,-69,927,843),49177=>array(67,-68,911,843),49178=>array(67,-72,929,843),49179=>array(67,-70,936,843),49180=>array(67,-66,908,843),49181=>array(67,-59,916,843),49182=>array(67,-60,928,843),49183=>array(67,-68,908,843),49184=>array(64,-69,907,842),49185=>array(65,-61,907,843),49186=>array(65,-61,907,843),49187=>array(65,-71,931,843),49188=>array(66,-46,907,842),49189=>array(65,-68,912,843),49190=>array(65,-76,907,843),49191=>array(65,-44,921,843),49192=>array(65,-62,917,843),49193=>array(65,-64,907,843),49194=>array(65,-64,908,843),49195=>array(65,-64,908,843),49196=>array(65,-69,923,843),49197=>array(65,-64,908,843),49198=>array(65,-64,908,843),49199=>array(65,-76,907,843),49200=>array(65,-62,907,843),49201=>array(65,-61,907,843),49202=>array(65,-69,922,843),49203=>array(65,-74,929,843),49204=>array(65,-69,927,843),49205=>array(65,-68,911,843),49206=>array(65,-72,929,843),49207=>array(65,-70,936,843),49208=>array(65,-66,908,843),49209=>array(65,-59,916,843),49210=>array(65,-60,928,843),49211=>array(65,-68,908,843),49212=>array(79,-64,921,806),49213=>array(79,-61,921,806),49214=>array(79,-61,921,806),49215=>array(79,-71,921,806),49216=>array(81,-46,922,806),49217=>array(79,-68,921,806),49218=>array(79,-74,921,806),49219=>array(79,-44,921,806),49220=>array(79,-62,921,806),49221=>array(79,-64,921,806),49222=>array(79,-64,921,806),49223=>array(79,-63,921,806),49224=>array(79,-68,921,806),49225=>array(79,-64,921,806),49226=>array(79,-63,921,806),49227=>array(79,-74,921,806),49228=>array(79,-62,921,806),49229=>array(79,-61,921,806),49230=>array(79,-69,921,806),49231=>array(79,-74,921,806),49232=>array(79,-69,921,806),49233=>array(79,-68,921,806),49234=>array(79,-72,921,806),49235=>array(79,-70,921,806),49236=>array(79,-66,921,806),49237=>array(79,-59,921,806),49238=>array(79,-60,921,806),49239=>array(79,-68,921,806),49240=>array(57,22,943,746),49241=>array(79,-61,922,811),49242=>array(79,-61,922,811),49243=>array(79,-71,922,811),49244=>array(79,-46,921,806),49245=>array(79,-68,922,811),49246=>array(79,-74,922,811),49247=>array(79,-44,922,811),49248=>array(79,-62,922,811),49249=>array(79,-64,922,811),49250=>array(79,-64,922,811),49251=>array(79,-63,922,811),49252=>array(79,-68,922,811),49253=>array(79,-64,922,811),49254=>array(79,-63,922,811),49255=>array(79,-74,922,811),49256=>array(79,-62,922,811),49257=>array(79,-61,922,811),49258=>array(79,-69,922,811),49259=>array(79,-74,922,811),49260=>array(79,-69,922,811),49261=>array(79,-68,922,811),49262=>array(79,-72,922,811),49263=>array(79,-70,922,811),49264=>array(79,-66,922,811),49265=>array(79,-59,922,811),49266=>array(79,-60,922,811),49267=>array(79,-68,922,811),49268=>array(68,-69,907,842),49269=>array(74,-61,907,841),49270=>array(74,-61,907,841),49271=>array(74,-71,931,841),49272=>array(65,-46,907,842),49273=>array(74,-68,912,841),49274=>array(74,-76,907,841),49275=>array(74,-44,921,841),49276=>array(74,-62,917,841),49277=>array(74,-64,907,841),49278=>array(74,-64,908,841),49279=>array(74,-64,908,841),49280=>array(74,-69,923,841),49281=>array(74,-64,908,841),49282=>array(74,-64,908,841),49283=>array(74,-76,907,841),49284=>array(74,-62,907,841),49285=>array(74,-61,907,841),49286=>array(74,-69,922,841),49287=>array(74,-74,929,841),49288=>array(74,-69,927,841),49289=>array(74,-68,911,841),49290=>array(74,-72,929,841),49291=>array(74,-70,936,841),49292=>array(74,-66,908,841),49293=>array(74,-59,916,841),49294=>array(74,-60,928,841),49295=>array(74,-68,908,841),49296=>array(110,-69,907,842),49297=>array(120,-61,907,842),49298=>array(120,-61,907,842),49299=>array(120,-71,931,842),49300=>array(130,-46,907,842),49301=>array(120,-68,912,842),49302=>array(120,-76,907,842),49303=>array(120,-44,921,842),49304=>array(120,-62,917,842),49305=>array(120,-64,907,842),49306=>array(120,-64,908,842),49307=>array(120,-64,908,842),49308=>array(120,-69,923,842),49309=>array(120,-64,908,842),49310=>array(120,-64,908,842),49311=>array(120,-76,907,842),49312=>array(120,-62,907,842),49313=>array(120,-61,907,842),49314=>array(120,-69,922,842),49315=>array(120,-74,929,842),49316=>array(120,-69,927,842),49317=>array(120,-68,911,842),49318=>array(120,-72,929,842),49319=>array(120,-70,936,842),49320=>array(120,-66,908,842),49321=>array(120,-59,916,842),49322=>array(120,-60,928,842),49323=>array(120,-68,908,842),49324=>array(48,-69,936,842),49325=>array(81,-59,935,842),49326=>array(81,-61,935,842),49327=>array(81,-71,935,842),49328=>array(58,-45,935,841),49329=>array(81,-69,935,842),49330=>array(81,-76,935,842),49331=>array(81,-44,935,842),49332=>array(81,-62,935,842),49333=>array(81,-64,935,842),49334=>array(81,-64,935,842),49335=>array(81,-64,935,842),49336=>array(81,-70,935,842),49337=>array(81,-64,935,842),49338=>array(81,-64,935,842),49339=>array(81,-76,935,842),49340=>array(81,-62,935,842),49341=>array(81,-61,935,842),49342=>array(81,-70,935,842),49343=>array(81,-74,935,842),49344=>array(81,-69,935,842),49345=>array(81,-67,935,842),49346=>array(81,-72,935,842),49347=>array(81,-71,935,842),49348=>array(81,-66,935,842),49349=>array(81,-59,935,842),49350=>array(81,-60,935,842),49351=>array(81,-69,935,842),49352=>array(43,-69,907,842),49353=>array(75,-61,907,842),49354=>array(75,-61,907,842),49355=>array(75,-71,931,842),49356=>array(62,-46,908,842),49357=>array(75,-68,912,842),49358=>array(75,-76,907,842),49359=>array(75,-44,921,842),49360=>array(75,-62,917,842),49361=>array(75,-64,907,842),49362=>array(75,-64,908,842),49363=>array(75,-64,908,842),49364=>array(75,-69,923,842),49365=>array(75,-64,908,842),49366=>array(75,-64,908,842),49367=>array(75,-76,906,842),49368=>array(75,-62,907,842),49369=>array(75,-61,907,842),49370=>array(75,-69,922,842),49371=>array(75,-74,929,842),49372=>array(75,-69,927,842),49373=>array(75,-68,911,842),49374=>array(75,-72,929,842),49375=>array(75,-70,936,842),49376=>array(75,-66,908,842),49377=>array(75,-59,916,842),49378=>array(75,-60,928,842),49379=>array(75,-68,908,842),49380=>array(48,-68,935,843),49381=>array(81,-59,936,842),49382=>array(81,-61,936,842),49383=>array(81,-71,936,842),49384=>array(62,-45,936,842),49385=>array(81,-69,936,842),49386=>array(81,-76,936,842),49387=>array(81,-44,936,842),49388=>array(81,-62,936,842),49389=>array(81,-64,936,842),49390=>array(81,-64,936,842),49391=>array(81,-64,936,842),49392=>array(81,-70,936,842),49393=>array(81,-64,936,842),49394=>array(81,-64,936,842),49395=>array(81,-76,936,842),49396=>array(81,-62,936,842),49397=>array(81,-61,936,842),49398=>array(81,-70,936,842),49399=>array(81,-74,936,842),49400=>array(81,-69,936,842),49401=>array(81,-67,936,842),49402=>array(81,-72,936,842),49403=>array(81,-71,936,842),49404=>array(81,-66,936,842),49405=>array(81,-59,936,842),49406=>array(81,-60,936,842),49407=>array(81,-69,936,842),49408=>array(43,-69,907,842),49409=>array(75,-61,907,842),49410=>array(75,-61,907,842),49411=>array(75,-71,931,842),49412=>array(62,-46,908,842),49413=>array(75,-68,912,842),49414=>array(75,-76,907,842),49415=>array(75,-44,921,842),49416=>array(75,-62,917,842),49417=>array(75,-64,907,842),49418=>array(75,-64,908,842),49419=>array(75,-64,908,842),49420=>array(75,-69,923,842),49421=>array(75,-64,908,842),49422=>array(75,-64,908,842),49423=>array(75,-76,906,842),49424=>array(75,-62,907,842),49425=>array(75,-61,907,842),49426=>array(75,-69,922,842),49427=>array(75,-74,929,842),49428=>array(75,-69,927,842),49429=>array(75,-68,911,842),49430=>array(75,-72,929,842),49431=>array(75,-70,936,842),49432=>array(75,-66,908,842),49433=>array(75,-59,916,842),49434=>array(75,-60,928,842),49435=>array(75,-68,908,842),49436=>array(59,-70,907,841),49437=>array(81,-61,907,841),49438=>array(81,-61,907,841),49439=>array(81,-71,931,841),49440=>array(62,-46,907,841),49441=>array(81,-68,912,841),49442=>array(81,-76,907,841),49443=>array(81,-44,921,841),49444=>array(81,-62,917,841),49445=>array(81,-64,907,841),49446=>array(81,-64,908,841),49447=>array(81,-64,908,841),49448=>array(81,-69,923,841),49449=>array(81,-64,908,841),49450=>array(81,-64,908,841),49451=>array(81,-76,906,841),49452=>array(81,-62,907,841),49453=>array(81,-61,907,841),49454=>array(81,-69,922,841),49455=>array(81,-74,929,841),49456=>array(81,-69,927,841),49457=>array(81,-68,911,841),49458=>array(81,-72,929,841),49459=>array(81,-70,936,841),49460=>array(81,-66,908,841),49461=>array(81,-59,916,841),49462=>array(81,-60,928,841),49463=>array(81,-68,908,841),49464=>array(46,-68,907,843),49465=>array(75,-61,907,843),49466=>array(75,-61,907,843),49467=>array(75,-71,931,843),49468=>array(58,-46,908,842),49469=>array(75,-68,912,843),49470=>array(75,-76,907,843),49471=>array(75,-44,921,843),49472=>array(75,-62,917,843),49473=>array(75,-64,907,843),49474=>array(75,-64,908,843),49475=>array(75,-64,908,843),49476=>array(75,-69,923,843),49477=>array(75,-64,908,843),49478=>array(75,-64,908,843),49479=>array(75,-76,906,843),49480=>array(75,-62,907,843),49481=>array(75,-61,907,843),49482=>array(75,-69,922,843),49483=>array(75,-74,929,843),49484=>array(75,-69,927,843),49485=>array(75,-68,911,843),49486=>array(75,-72,929,843),49487=>array(75,-70,936,843),49488=>array(75,-66,908,843),49489=>array(75,-59,916,843),49490=>array(75,-60,928,843),49491=>array(75,-68,908,843),49492=>array(46,-70,907,842),49493=>array(81,-61,908,842),49494=>array(81,-61,908,842),49495=>array(81,-71,931,842),49496=>array(58,-46,907,841),49497=>array(81,-68,912,842),49498=>array(81,-76,908,842),49499=>array(81,-44,921,842),49500=>array(81,-62,917,842),49501=>array(81,-64,908,842),49502=>array(81,-64,908,842),49503=>array(81,-64,908,842),49504=>array(81,-69,923,842),49505=>array(81,-64,908,842),49506=>array(81,-64,908,842),49507=>array(81,-76,908,842),49508=>array(81,-62,908,842),49509=>array(81,-61,908,842),49510=>array(81,-69,922,842),49511=>array(81,-74,929,842),49512=>array(81,-69,927,842),49513=>array(81,-68,911,842),49514=>array(81,-72,929,842),49515=>array(81,-70,936,842),49516=>array(81,-66,908,842),49517=>array(81,-59,916,842),49518=>array(81,-60,928,842),49519=>array(81,-68,908,842),49520=>array(46,-68,907,843),49521=>array(45,-61,907,842),49522=>array(45,-61,907,842),49523=>array(45,-71,931,842),49524=>array(47,-46,907,842),49525=>array(45,-68,912,842),49526=>array(45,-76,907,842),49527=>array(45,-44,921,842),49528=>array(45,-62,917,842),49529=>array(45,-64,907,842),49530=>array(45,-64,908,842),49531=>array(45,-64,908,842),49532=>array(45,-69,923,842),49533=>array(45,-64,908,842),49534=>array(45,-64,908,842),49535=>array(45,-76,907,842),49536=>array(45,-62,907,842),49537=>array(45,-61,907,842),49538=>array(45,-69,922,842),49539=>array(45,-74,929,842),49540=>array(45,-69,927,842),49541=>array(45,-68,911,842),49542=>array(45,-72,929,842),49543=>array(45,-70,936,842),49544=>array(45,-66,908,842),49545=>array(45,-59,916,842),49546=>array(45,-60,928,842),49547=>array(45,-68,908,842),49548=>array(62,7,943,771),49549=>array(79,-61,921,822),49550=>array(79,-61,921,822),49551=>array(79,-71,921,822),49552=>array(79,-46,921,822),49553=>array(79,-68,921,822),49554=>array(79,-74,921,822),49555=>array(79,-44,921,822),49556=>array(79,-62,921,822),49557=>array(79,-64,921,822),49558=>array(79,-64,921,822),49559=>array(79,-63,921,822),49560=>array(79,-68,921,822),49561=>array(79,-64,921,822),49562=>array(79,-63,921,822),49563=>array(79,-74,921,822),49564=>array(79,-62,921,822),49565=>array(79,-61,921,822),49566=>array(79,-69,921,822),49567=>array(79,-74,921,822),49568=>array(79,-69,921,822),49569=>array(79,-68,921,822),49570=>array(79,-72,921,822),49571=>array(79,-70,921,822),49572=>array(79,-66,921,822),49573=>array(79,-59,921,822),49574=>array(79,-60,921,822),49575=>array(79,-68,921,822),49576=>array(60,-69,937,842),49577=>array(77,-59,936,842),49578=>array(77,-61,936,842),49579=>array(77,-71,936,842),49580=>array(72,-45,937,842),49581=>array(77,-69,936,842),49582=>array(77,-76,936,842),49583=>array(77,-44,936,842),49584=>array(77,-62,936,842),49585=>array(77,-64,936,842),49586=>array(77,-64,936,842),49587=>array(77,-64,936,842),49588=>array(77,-70,936,842),49589=>array(77,-64,936,842),49590=>array(77,-64,936,842),49591=>array(77,-76,936,842),49592=>array(77,-62,936,842),49593=>array(77,-61,936,842),49594=>array(77,-70,936,842),49595=>array(77,-74,936,842),49596=>array(77,-69,936,842),49597=>array(77,-67,936,842),49598=>array(77,-72,936,842),49599=>array(77,-71,936,842),49600=>array(77,-66,936,842),49601=>array(77,-59,936,842),49602=>array(77,-60,936,842),49603=>array(77,-69,936,842),49604=>array(54,-69,907,842),49605=>array(67,-61,907,842),49606=>array(67,-61,907,842),49607=>array(67,-71,931,842),49608=>array(57,-46,908,842),49609=>array(67,-68,912,842),49610=>array(67,-76,907,842),49611=>array(67,-44,921,842),49612=>array(67,-62,917,842),49613=>array(67,-64,907,842),49614=>array(67,-64,908,842),49615=>array(67,-64,908,842),49616=>array(67,-69,923,842),49617=>array(67,-64,908,842),49618=>array(67,-64,908,842),49619=>array(67,-76,907,842),49620=>array(67,-62,907,842),49621=>array(67,-61,907,842),49622=>array(67,-69,922,842),49623=>array(67,-74,929,842),49624=>array(67,-69,927,842),49625=>array(67,-68,911,842),49626=>array(67,-72,929,842),49627=>array(67,-70,936,842),49628=>array(67,-66,908,842),49629=>array(67,-59,916,842),49630=>array(67,-60,928,842),49631=>array(67,-68,908,842),49632=>array(52,-69,907,842),49633=>array(65,-61,908,842),49634=>array(65,-61,908,842),49635=>array(65,-71,931,842),49636=>array(64,-46,907,842),49637=>array(65,-68,912,842),49638=>array(65,-76,908,842),49639=>array(65,-44,921,842),49640=>array(65,-62,917,842),49641=>array(65,-64,908,842),49642=>array(65,-64,908,842),49643=>array(65,-64,908,842),49644=>array(65,-69,923,842),49645=>array(65,-64,908,842),49646=>array(65,-64,908,842),49647=>array(65,-76,908,842),49648=>array(65,-62,908,842),49649=>array(65,-61,908,842),49650=>array(65,-69,922,842),49651=>array(65,-74,929,842),49652=>array(65,-69,927,842),49653=>array(65,-68,911,842),49654=>array(65,-72,929,842),49655=>array(65,-70,936,842),49656=>array(65,-66,908,842),49657=>array(65,-59,916,842),49658=>array(65,-60,928,842),49659=>array(65,-68,908,842),49660=>array(62,7,938,771),49661=>array(79,-61,922,822),49662=>array(79,-61,922,822),49663=>array(79,-71,922,822),49664=>array(79,-46,922,822),49665=>array(79,-68,922,822),49666=>array(79,-74,922,822),49667=>array(79,-44,922,822),49668=>array(79,-62,922,822),49669=>array(79,-64,922,822),49670=>array(79,-64,922,822),49671=>array(79,-63,922,822),49672=>array(79,-68,922,822),49673=>array(79,-64,922,822),49674=>array(79,-63,922,822),49675=>array(79,-74,922,822),49676=>array(79,-62,922,822),49677=>array(79,-61,922,822),49678=>array(79,-69,922,822),49679=>array(79,-74,922,822),49680=>array(79,-69,922,822),49681=>array(79,-68,922,822),49682=>array(79,-72,922,822),49683=>array(79,-70,922,822),49684=>array(79,-66,922,822),49685=>array(79,-59,922,822),49686=>array(79,-60,922,822),49687=>array(79,-68,922,822),49688=>array(79,-64,921,831),49689=>array(79,-61,921,822),49690=>array(79,-61,921,822),49691=>array(79,-71,921,822),49692=>array(79,-46,921,822),49693=>array(79,-68,921,822),49694=>array(79,-74,921,822),49695=>array(79,-44,921,822),49696=>array(79,-62,921,822),49697=>array(79,-64,921,822),49698=>array(79,-64,921,822),49699=>array(79,-63,921,822),49700=>array(79,-68,921,822),49701=>array(79,-64,921,822),49702=>array(79,-63,921,822),49703=>array(79,-74,921,822),49704=>array(79,-62,921,822),49705=>array(79,-61,921,822),49706=>array(79,-69,921,822),49707=>array(79,-74,921,822),49708=>array(79,-69,921,822),49709=>array(79,-68,921,822),49710=>array(79,-72,921,822),49711=>array(79,-70,921,822),49712=>array(79,-66,921,822),49713=>array(79,-59,921,822),49714=>array(79,-60,921,822),49715=>array(79,-68,921,822),49716=>array(69,-70,907,841),49717=>array(73,-61,907,841),49718=>array(73,-61,907,841),49719=>array(73,-71,931,841),49720=>array(76,-46,907,841),49721=>array(73,-68,912,841),49722=>array(73,-76,907,841),49723=>array(73,-44,921,841),49724=>array(73,-62,917,841),49725=>array(73,-64,907,841),49726=>array(73,-64,908,841),49727=>array(73,-64,908,841),49728=>array(73,-69,923,841),49729=>array(73,-64,908,841),49730=>array(73,-64,908,841),49731=>array(73,-76,906,841),49732=>array(73,-62,907,841),49733=>array(73,-61,907,841),49734=>array(73,-69,922,841),49735=>array(73,-74,929,841),49736=>array(73,-69,927,841),49737=>array(73,-68,911,841),49738=>array(73,-72,929,841),49739=>array(73,-70,936,841),49740=>array(73,-66,908,841),49741=>array(73,-59,916,841),49742=>array(73,-60,928,841),49743=>array(73,-68,908,841),49744=>array(63,-68,907,843),49745=>array(70,-61,907,843),49746=>array(70,-61,907,843),49747=>array(70,-71,931,843),49748=>array(62,-46,907,843),49749=>array(70,-68,912,843),49750=>array(70,-76,907,843),49751=>array(70,-44,921,843),49752=>array(70,-62,917,843),49753=>array(70,-64,907,843),49754=>array(70,-64,908,843),49755=>array(70,-64,908,843),49756=>array(70,-69,923,843),49757=>array(70,-64,908,843),49758=>array(70,-64,908,843),49759=>array(70,-76,907,843),49760=>array(70,-62,907,843),49761=>array(70,-61,907,843),49762=>array(70,-69,922,843),49763=>array(70,-74,929,843),49764=>array(70,-69,927,843),49765=>array(70,-68,911,843),49766=>array(70,-72,929,843),49767=>array(70,-70,936,843),49768=>array(70,-66,908,843),49769=>array(70,-59,916,843),49770=>array(70,-60,928,843),49771=>array(70,-68,908,843),49772=>array(63,-69,907,842),49773=>array(65,-61,907,840),49774=>array(65,-61,907,840),49775=>array(65,-71,931,840),49776=>array(65,-46,907,843),49777=>array(65,-68,912,840),49778=>array(65,-76,907,840),49779=>array(65,-44,921,840),49780=>array(65,-62,917,840),49781=>array(65,-64,907,840),49782=>array(65,-64,908,840),49783=>array(65,-64,908,840),49784=>array(65,-69,923,840),49785=>array(65,-64,908,840),49786=>array(65,-64,908,840),49787=>array(65,-76,907,840),49788=>array(65,-62,907,840),49789=>array(65,-61,907,840),49790=>array(65,-69,922,840),49791=>array(65,-74,929,840),49792=>array(65,-69,927,840),49793=>array(65,-68,911,840),49794=>array(65,-72,929,840),49795=>array(65,-70,936,840),49796=>array(65,-66,908,840),49797=>array(65,-59,916,840),49798=>array(65,-60,928,840),49799=>array(65,-68,908,840),49800=>array(87,-64,928,831),49801=>array(79,-61,921,822),49802=>array(79,-61,921,822),49803=>array(79,-71,921,822),49804=>array(81,-46,922,822),49805=>array(79,-68,921,822),49806=>array(79,-74,921,822),49807=>array(79,-44,921,822),49808=>array(79,-62,921,822),49809=>array(79,-64,921,822),49810=>array(79,-64,921,822),49811=>array(79,-63,921,822),49812=>array(79,-68,921,822),49813=>array(79,-64,921,822),49814=>array(79,-63,921,822),49815=>array(79,-74,921,822),49816=>array(79,-62,921,822),49817=>array(79,-61,921,822),49818=>array(79,-69,921,822),49819=>array(79,-74,921,822),49820=>array(79,-69,921,822),49821=>array(79,-68,921,822),49822=>array(79,-72,921,822),49823=>array(79,-70,921,822),49824=>array(79,-66,921,822),49825=>array(79,-59,921,822),49826=>array(79,-60,921,822),49827=>array(79,-68,921,822),49828=>array(57,52,943,741),49829=>array(79,-61,922,802),49830=>array(79,-61,922,802),49831=>array(79,-71,922,802),49832=>array(79,-46,922,802),49833=>array(79,-68,922,802),49834=>array(79,-74,922,802),49835=>array(79,-44,922,802),49836=>array(79,-62,922,802),49837=>array(79,-64,922,802),49838=>array(79,-64,922,802),49839=>array(79,-63,922,802),49840=>array(79,-68,922,802),49841=>array(79,-64,922,802),49842=>array(79,-63,922,802),49843=>array(79,-74,922,802),49844=>array(79,-62,922,802),49845=>array(79,-61,922,802),49846=>array(79,-69,922,802),49847=>array(79,-74,922,802),49848=>array(79,-69,922,802),49849=>array(79,-68,922,802),49850=>array(79,-72,922,802),49851=>array(79,-70,922,802),49852=>array(79,-66,922,802),49853=>array(79,-59,922,802),49854=>array(79,-60,922,802),49855=>array(79,-68,922,802),49856=>array(78,-69,907,842),49857=>array(65,-61,907,842),49858=>array(65,-61,907,842),49859=>array(65,-71,931,842),49860=>array(65,-46,907,842),49861=>array(65,-68,912,842),49862=>array(65,-76,907,842),49863=>array(65,-44,921,842),49864=>array(65,-62,917,842),49865=>array(65,-64,907,842),49866=>array(65,-64,908,842),49867=>array(65,-64,908,842),49868=>array(65,-69,923,842),49869=>array(65,-64,908,842),49870=>array(65,-64,908,842),49871=>array(65,-76,907,842),49872=>array(65,-62,907,842),49873=>array(65,-61,907,842),49874=>array(65,-69,922,842),49875=>array(65,-74,929,842),49876=>array(65,-69,927,842),49877=>array(65,-68,911,842),49878=>array(65,-72,929,842),49879=>array(65,-70,936,842),49880=>array(65,-66,908,842),49881=>array(65,-59,916,842),49882=>array(65,-60,928,842),49883=>array(65,-68,908,842),49884=>array(90,-69,907,842),49885=>array(106,-61,907,842),49886=>array(106,-61,907,842),49887=>array(106,-71,931,842),49888=>array(104,-46,907,842),49889=>array(106,-68,912,842),49890=>array(106,-76,907,842),49891=>array(106,-44,921,842),49892=>array(106,-62,917,842),49893=>array(106,-64,907,842),49894=>array(106,-64,908,842),49895=>array(106,-64,908,842),49896=>array(106,-69,923,842),49897=>array(106,-64,908,842),49898=>array(106,-64,908,842),49899=>array(106,-76,907,842),49900=>array(106,-62,907,842),49901=>array(106,-61,907,842),49902=>array(106,-69,922,842),49903=>array(106,-74,929,842),49904=>array(106,-69,927,842),49905=>array(106,-68,911,842),49906=>array(106,-72,929,842),49907=>array(106,-70,936,842),49908=>array(106,-66,908,842),49909=>array(106,-59,916,842),49910=>array(106,-60,928,842),49911=>array(106,-68,908,842),49912=>array(20,-69,937,842),49913=>array(62,-59,936,842),49914=>array(62,-61,936,842),49915=>array(62,-71,936,842),49916=>array(72,-45,936,842),49917=>array(62,-69,936,842),49918=>array(62,-76,936,842),49919=>array(62,-44,936,842),49920=>array(62,-62,936,842),49921=>array(62,-64,936,842),49922=>array(62,-64,936,842),49923=>array(62,-64,936,842),49924=>array(62,-70,936,842),49925=>array(62,-64,936,842),49926=>array(62,-64,936,842),49927=>array(62,-76,936,842),49928=>array(62,-62,936,842),49929=>array(62,-61,936,842),49930=>array(62,-70,936,842),49931=>array(62,-74,936,842),49932=>array(62,-69,936,842),49933=>array(62,-67,936,842),49934=>array(62,-72,936,842),49935=>array(62,-71,936,842),49936=>array(62,-66,936,842),49937=>array(62,-59,936,842),49938=>array(62,-60,936,842),49939=>array(62,-69,936,842),49940=>array(21,-69,907,842),49941=>array(55,-61,907,842),49942=>array(55,-61,907,842),49943=>array(55,-71,931,842),49944=>array(52,-46,907,842),49945=>array(55,-68,912,842),49946=>array(55,-76,907,842),49947=>array(55,-44,921,842),49948=>array(55,-62,917,842),49949=>array(55,-64,907,842),49950=>array(55,-64,908,842),49951=>array(55,-64,908,842),49952=>array(55,-69,923,842),49953=>array(55,-64,908,842),49954=>array(55,-64,908,842),49955=>array(55,-76,907,842),49956=>array(55,-62,907,842),49957=>array(55,-61,907,842),49958=>array(55,-69,922,842),49959=>array(55,-74,929,842),49960=>array(55,-69,927,842),49961=>array(55,-68,911,842),49962=>array(55,-72,929,842),49963=>array(55,-70,936,842),49964=>array(55,-66,908,842),49965=>array(55,-59,916,842),49966=>array(55,-60,928,842),49967=>array(55,-68,908,842),49968=>array(20,-68,935,843),49969=>array(62,-59,936,842),49970=>array(62,-61,936,842),49971=>array(62,-71,936,842),49972=>array(72,-45,936,842),49973=>array(62,-69,936,842),49974=>array(62,-76,936,842),49975=>array(62,-44,936,842),49976=>array(62,-62,936,842),49977=>array(62,-64,936,842),49978=>array(62,-64,936,842),49979=>array(62,-64,936,842),49980=>array(62,-70,936,842),49981=>array(62,-64,936,842),49982=>array(62,-64,936,842),49983=>array(62,-76,936,842),49984=>array(62,-62,936,842),49985=>array(62,-61,936,842),49986=>array(62,-70,936,842),49987=>array(62,-74,936,842),49988=>array(62,-69,936,842),49989=>array(62,-67,936,842),49990=>array(62,-72,936,842),49991=>array(62,-71,936,842),49992=>array(62,-66,936,842),49993=>array(62,-59,936,842),49994=>array(62,-60,936,842),49995=>array(62,-69,936,842),49996=>array(21,-69,907,842),49997=>array(60,-61,907,842),49998=>array(60,-61,907,842),49999=>array(60,-71,931,842),50000=>array(52,-46,907,842),50001=>array(60,-68,912,842),50002=>array(60,-76,907,842),50003=>array(60,-44,921,842),50004=>array(60,-62,917,842),50005=>array(60,-64,907,842),50006=>array(60,-64,908,842),50007=>array(60,-64,908,842),50008=>array(60,-69,923,842),50009=>array(60,-64,908,842),50010=>array(60,-64,908,842),50011=>array(60,-76,907,842),50012=>array(60,-62,907,842),50013=>array(60,-61,907,842),50014=>array(60,-69,922,842),50015=>array(60,-74,929,842),50016=>array(60,-69,927,842),50017=>array(60,-68,911,842),50018=>array(60,-72,929,842),50019=>array(60,-70,936,842),50020=>array(60,-66,908,842),50021=>array(60,-59,916,842),50022=>array(60,-60,928,842),50023=>array(60,-68,908,842),50024=>array(20,-70,907,841),50025=>array(72,-61,907,841),50026=>array(72,-61,907,841),50027=>array(72,-71,931,841),50028=>array(72,-46,907,841),50029=>array(72,-68,912,841),50030=>array(72,-76,907,841),50031=>array(72,-44,921,841),50032=>array(72,-62,917,841),50033=>array(72,-64,907,841),50034=>array(72,-64,908,841),50035=>array(72,-64,908,841),50036=>array(72,-69,923,841),50037=>array(72,-64,908,841),50038=>array(72,-64,908,841),50039=>array(72,-76,906,841),50040=>array(72,-62,907,841),50041=>array(72,-61,907,841),50042=>array(72,-69,922,841),50043=>array(72,-74,929,841),50044=>array(72,-69,927,841),50045=>array(72,-68,911,841),50046=>array(72,-72,929,841),50047=>array(72,-70,936,841),50048=>array(72,-66,908,841),50049=>array(72,-59,916,841),50050=>array(72,-60,928,841),50051=>array(72,-68,908,841),50052=>array(20,-68,907,843),50053=>array(50,-61,907,843),50054=>array(50,-61,907,843),50055=>array(50,-71,931,843),50056=>array(52,-46,907,843),50057=>array(50,-68,912,843),50058=>array(50,-76,907,843),50059=>array(50,-44,921,843),50060=>array(50,-62,917,843),50061=>array(50,-64,907,843),50062=>array(50,-64,908,843),50063=>array(50,-64,908,843),50064=>array(50,-69,923,843),50065=>array(50,-64,908,843),50066=>array(50,-64,908,843),50067=>array(50,-76,907,843),50068=>array(50,-62,907,843),50069=>array(50,-61,907,843),50070=>array(50,-69,922,843),50071=>array(50,-74,929,843),50072=>array(50,-69,927,843),50073=>array(50,-68,911,843),50074=>array(50,-72,929,843),50075=>array(50,-70,936,843),50076=>array(50,-66,908,843),50077=>array(50,-59,916,843),50078=>array(50,-60,928,843),50079=>array(50,-68,908,843),50080=>array(20,-70,907,842),50081=>array(52,-61,908,842),50082=>array(52,-61,908,842),50083=>array(52,-71,931,842),50084=>array(52,-46,907,842),50085=>array(52,-68,912,842),50086=>array(52,-76,908,842),50087=>array(52,-44,921,842),50088=>array(52,-62,917,842),50089=>array(52,-64,908,842),50090=>array(52,-64,908,842),50091=>array(52,-64,908,842),50092=>array(52,-69,923,842),50093=>array(52,-64,908,842),50094=>array(52,-64,908,842),50095=>array(52,-76,908,842),50096=>array(52,-62,908,842),50097=>array(52,-61,908,842),50098=>array(52,-69,922,842),50099=>array(52,-74,929,842),50100=>array(52,-69,927,842),50101=>array(52,-68,911,842),50102=>array(52,-72,929,842),50103=>array(52,-70,936,842),50104=>array(52,-66,908,842),50105=>array(52,-59,916,842),50106=>array(52,-60,928,842),50107=>array(52,-68,908,842),50108=>array(20,-68,907,843),50109=>array(50,-61,907,843),50110=>array(50,-61,907,843),50111=>array(50,-71,931,843),50112=>array(40,-46,907,843),50113=>array(50,-68,912,843),50114=>array(50,-76,907,843),50115=>array(50,-44,921,843),50116=>array(50,-62,917,843),50117=>array(50,-64,907,843),50118=>array(50,-64,908,843),50119=>array(50,-64,908,843),50120=>array(50,-69,923,843),50121=>array(50,-64,908,843),50122=>array(50,-64,908,843),50123=>array(50,-76,907,843),50124=>array(50,-62,907,843),50125=>array(50,-61,907,843),50126=>array(50,-69,922,843),50127=>array(50,-74,929,843),50128=>array(50,-69,927,843),50129=>array(50,-68,911,843),50130=>array(50,-72,929,843),50131=>array(50,-70,936,843),50132=>array(50,-66,908,843),50133=>array(50,-59,916,843),50134=>array(50,-60,928,843),50135=>array(50,-68,908,843),50136=>array(62,12,943,774),50137=>array(79,-61,921,788),50138=>array(79,-61,921,788),50139=>array(79,-71,921,788),50140=>array(79,-46,922,788),50141=>array(79,-68,921,788),50142=>array(79,-74,921,788),50143=>array(79,-44,921,788),50144=>array(79,-62,921,788),50145=>array(79,-64,921,788),50146=>array(79,-64,921,788),50147=>array(79,-63,921,788),50148=>array(79,-68,921,788),50149=>array(79,-64,921,788),50150=>array(79,-63,921,788),50151=>array(79,-74,921,788),50152=>array(79,-62,921,788),50153=>array(79,-61,921,788),50154=>array(79,-69,921,788),50155=>array(79,-74,921,788),50156=>array(79,-69,921,788),50157=>array(79,-68,921,788),50158=>array(79,-72,921,788),50159=>array(79,-70,921,788),50160=>array(79,-66,921,788),50161=>array(79,-59,921,788),50162=>array(79,-60,921,788),50163=>array(79,-68,921,788),50164=>array(41,-68,936,843),50165=>array(55,-59,936,842),50166=>array(55,-61,936,842),50167=>array(55,-71,936,842),50168=>array(64,-45,936,842),50169=>array(55,-69,936,842),50170=>array(55,-76,936,842),50171=>array(55,-44,936,842),50172=>array(55,-62,936,842),50173=>array(55,-64,936,842),50174=>array(55,-64,936,842),50175=>array(55,-64,936,842),50176=>array(55,-70,936,842),50177=>array(55,-64,936,842),50178=>array(55,-64,936,842),50179=>array(55,-76,936,842),50180=>array(55,-62,936,842),50181=>array(55,-61,936,842),50182=>array(55,-70,936,842),50183=>array(55,-74,936,842),50184=>array(55,-69,936,842),50185=>array(55,-67,936,842),50186=>array(55,-72,936,842),50187=>array(55,-71,936,842),50188=>array(55,-66,936,842),50189=>array(55,-59,936,842),50190=>array(55,-60,936,842),50191=>array(55,-69,936,842),50192=>array(38,-69,907,842),50193=>array(63,-61,907,842),50194=>array(63,-61,907,842),50195=>array(63,-71,931,842),50196=>array(48,-46,907,842),50197=>array(63,-68,912,842),50198=>array(63,-76,907,842),50199=>array(63,-44,921,842),50200=>array(63,-62,917,842),50201=>array(63,-64,907,842),50202=>array(63,-64,908,842),50203=>array(63,-64,908,842),50204=>array(63,-69,923,842),50205=>array(63,-64,908,842),50206=>array(63,-64,908,842),50207=>array(63,-76,907,842),50208=>array(63,-62,907,842),50209=>array(63,-61,907,842),50210=>array(63,-69,922,842),50211=>array(63,-74,929,842),50212=>array(63,-69,927,842),50213=>array(63,-68,911,842),50214=>array(63,-72,929,842),50215=>array(63,-70,936,842),50216=>array(63,-66,908,842),50217=>array(63,-59,916,842),50218=>array(63,-60,928,842),50219=>array(63,-68,908,842),50220=>array(68,-69,907,842),50221=>array(65,-61,907,842),50222=>array(65,-61,907,842),50223=>array(65,-71,931,842),50224=>array(65,-46,907,842),50225=>array(65,-68,912,842),50226=>array(65,-76,907,842),50227=>array(65,-44,921,842),50228=>array(65,-62,917,842),50229=>array(65,-64,907,842),50230=>array(65,-64,908,842),50231=>array(65,-64,908,842),50232=>array(65,-69,923,842),50233=>array(65,-64,908,842),50234=>array(65,-64,908,842),50235=>array(65,-76,907,842),50236=>array(65,-62,907,842),50237=>array(65,-61,907,842),50238=>array(65,-69,922,842),50239=>array(65,-74,929,842),50240=>array(65,-69,927,842),50241=>array(65,-68,911,842),50242=>array(65,-72,929,842),50243=>array(65,-70,936,842),50244=>array(65,-66,908,842),50245=>array(65,-59,916,842),50246=>array(65,-60,928,842),50247=>array(65,-68,908,842),50248=>array(62,12,943,774),50249=>array(79,-61,922,788),50250=>array(79,-61,922,788),50251=>array(79,-71,922,788),50252=>array(79,-46,922,788),50253=>array(79,-68,922,788),50254=>array(79,-74,922,788),50255=>array(79,-44,922,788),50256=>array(79,-62,922,788),50257=>array(79,-64,922,788),50258=>array(79,-64,922,788),50259=>array(79,-63,922,788),50260=>array(79,-68,922,788),50261=>array(79,-64,922,788),50262=>array(79,-63,922,788),50263=>array(79,-74,922,788),50264=>array(79,-62,922,788),50265=>array(79,-61,922,788),50266=>array(79,-69,922,788),50267=>array(79,-74,922,788),50268=>array(79,-69,922,788),50269=>array(79,-68,922,788),50270=>array(79,-72,922,788),50271=>array(79,-70,922,788),50272=>array(79,-66,922,788),50273=>array(79,-59,922,788),50274=>array(79,-60,922,788),50275=>array(79,-68,922,788),50276=>array(82,-64,924,822),50277=>array(79,-61,921,788),50278=>array(79,-61,921,788),50279=>array(79,-71,921,788),50280=>array(79,-46,921,788),50281=>array(79,-68,921,788),50282=>array(79,-74,921,788),50283=>array(79,-44,921,788),50284=>array(79,-62,921,788),50285=>array(79,-64,921,788),50286=>array(79,-64,921,788),50287=>array(79,-63,921,788),50288=>array(79,-68,921,788),50289=>array(79,-64,921,788),50290=>array(79,-63,921,788),50291=>array(79,-74,921,788),50292=>array(79,-62,921,788),50293=>array(79,-61,921,788),50294=>array(79,-69,921,788),50295=>array(79,-74,921,788),50296=>array(79,-69,921,788),50297=>array(79,-68,921,788),50298=>array(79,-72,921,788),50299=>array(79,-70,921,788),50300=>array(79,-66,921,788),50301=>array(79,-59,921,788),50302=>array(79,-60,921,788),50303=>array(79,-68,921,788),50304=>array(81,-70,907,841),50305=>array(74,-61,908,841),50306=>array(74,-61,908,841),50307=>array(74,-71,931,841),50308=>array(66,-46,908,842),50309=>array(74,-68,912,841),50310=>array(74,-76,908,841),50311=>array(74,-44,921,841),50312=>array(74,-62,917,841),50313=>array(74,-64,908,841),50314=>array(74,-64,908,841),50315=>array(74,-64,908,841),50316=>array(74,-69,923,841),50317=>array(74,-64,908,841),50318=>array(74,-64,908,841),50319=>array(74,-76,908,841),50320=>array(74,-62,908,841),50321=>array(74,-61,908,841),50322=>array(74,-69,922,841),50323=>array(74,-74,929,841),50324=>array(74,-69,927,841),50325=>array(74,-68,911,841),50326=>array(74,-72,929,841),50327=>array(74,-70,936,841),50328=>array(74,-66,908,841),50329=>array(74,-59,916,841),50330=>array(74,-60,928,841),50331=>array(74,-68,908,841),50332=>array(51,-68,907,843),50333=>array(64,-61,907,843),50334=>array(64,-61,907,843),50335=>array(64,-71,931,843),50336=>array(64,-46,907,843),50337=>array(64,-68,912,843),50338=>array(64,-76,907,843),50339=>array(64,-44,921,843),50340=>array(64,-62,917,843),50341=>array(64,-64,907,843),50342=>array(64,-64,908,843),50343=>array(64,-64,908,843),50344=>array(64,-69,923,843),50345=>array(64,-64,908,843),50346=>array(64,-64,908,843),50347=>array(64,-76,907,843),50348=>array(64,-62,907,843),50349=>array(64,-61,907,843),50350=>array(64,-69,922,843),50351=>array(64,-74,929,843),50352=>array(64,-69,927,843),50353=>array(64,-68,911,843),50354=>array(64,-72,929,843),50355=>array(64,-70,936,843),50356=>array(64,-66,908,843),50357=>array(64,-59,916,843),50358=>array(64,-60,928,843),50359=>array(64,-68,908,843),50360=>array(60,-69,907,842),50361=>array(65,-61,907,842),50362=>array(65,-61,907,842),50363=>array(65,-71,931,842),50364=>array(65,-46,907,842),50365=>array(65,-68,912,842),50366=>array(65,-76,907,842),50367=>array(65,-44,921,842),50368=>array(65,-62,917,842),50369=>array(65,-64,907,842),50370=>array(65,-64,908,842),50371=>array(65,-64,908,842),50372=>array(65,-69,923,842),50373=>array(65,-64,908,842),50374=>array(65,-64,908,842),50375=>array(65,-76,907,842),50376=>array(65,-62,907,842),50377=>array(65,-61,907,842),50378=>array(65,-69,922,842),50379=>array(65,-74,929,842),50380=>array(65,-69,927,842),50381=>array(65,-68,911,842),50382=>array(65,-72,929,842),50383=>array(65,-70,936,842),50384=>array(65,-66,908,842),50385=>array(65,-59,916,842),50386=>array(65,-60,928,842),50387=>array(65,-68,908,842),50388=>array(82,-64,924,822),50389=>array(79,-61,921,788),50390=>array(79,-61,921,788),50391=>array(79,-71,921,788),50392=>array(81,-46,922,788),50393=>array(79,-68,921,788),50394=>array(79,-74,921,788),50395=>array(79,-44,921,788),50396=>array(79,-62,921,788),50397=>array(79,-64,921,788),50398=>array(79,-64,921,788),50399=>array(79,-63,921,788),50400=>array(79,-68,921,788),50401=>array(79,-64,921,788),50402=>array(79,-63,921,788),50403=>array(79,-74,921,788),50404=>array(79,-62,921,788),50405=>array(79,-61,921,788),50406=>array(79,-69,921,788),50407=>array(79,-74,921,788),50408=>array(79,-69,921,788),50409=>array(79,-68,921,788),50410=>array(79,-72,921,788),50411=>array(79,-70,921,788),50412=>array(79,-66,921,788),50413=>array(79,-59,921,788),50414=>array(79,-60,921,788),50415=>array(79,-68,921,788),50416=>array(57,22,943,720),50417=>array(79,-61,922,794),50418=>array(79,-61,922,794),50419=>array(79,-71,922,794),50420=>array(79,-46,921,794),50421=>array(79,-68,922,794),50422=>array(79,-74,922,794),50423=>array(79,-44,922,794),50424=>array(79,-62,922,794),50425=>array(79,-64,922,794),50426=>array(79,-64,922,794),50427=>array(79,-63,922,794),50428=>array(79,-68,922,794),50429=>array(79,-64,922,794),50430=>array(79,-63,922,794),50431=>array(79,-74,922,794),50432=>array(79,-62,922,794),50433=>array(79,-61,922,794),50434=>array(79,-69,922,794),50435=>array(79,-74,922,794),50436=>array(79,-69,922,794),50437=>array(79,-68,922,794),50438=>array(79,-72,922,794),50439=>array(79,-70,922,794),50440=>array(79,-66,922,794),50441=>array(79,-59,922,794),50442=>array(79,-60,922,794),50443=>array(79,-68,922,794),50444=>array(67,-69,907,842),50445=>array(75,-61,907,842),50446=>array(75,-61,907,842),50447=>array(75,-71,931,842),50448=>array(65,-46,907,842),50449=>array(75,-68,912,842),50450=>array(75,-76,907,842),50451=>array(75,-44,921,842),50452=>array(75,-62,917,842),50453=>array(75,-64,907,842),50454=>array(75,-64,908,842),50455=>array(75,-64,908,842),50456=>array(75,-69,923,842),50457=>array(75,-64,908,842),50458=>array(75,-64,908,842),50459=>array(75,-76,907,842),50460=>array(75,-62,907,842),50461=>array(75,-61,907,842),50462=>array(75,-69,922,842),50463=>array(75,-74,929,842),50464=>array(75,-69,927,842),50465=>array(75,-68,911,842),50466=>array(75,-72,929,842),50467=>array(75,-70,936,842),50468=>array(75,-66,908,842),50469=>array(75,-59,916,842),50470=>array(75,-60,928,842),50471=>array(75,-68,908,842),50472=>array(48,-69,907,842),50473=>array(68,-61,907,842),50474=>array(68,-61,907,842),50475=>array(68,-71,931,842),50476=>array(68,-46,907,842),50477=>array(68,-68,912,842),50478=>array(68,-76,907,842),50479=>array(68,-44,921,842),50480=>array(68,-62,917,842),50481=>array(68,-64,907,842),50482=>array(68,-64,908,842),50483=>array(68,-64,908,842),50484=>array(68,-69,923,842),50485=>array(68,-64,908,842),50486=>array(68,-64,908,842),50487=>array(68,-76,907,842),50488=>array(68,-62,907,842),50489=>array(68,-61,907,842),50490=>array(68,-69,922,842),50491=>array(68,-74,929,842),50492=>array(68,-69,927,842),50493=>array(68,-68,911,842),50494=>array(68,-72,929,842),50495=>array(68,-70,936,842),50496=>array(68,-66,908,842),50497=>array(68,-59,916,842),50498=>array(68,-60,928,842),50499=>array(68,-68,908,842),50500=>array(108,-69,936,842),50501=>array(113,-59,936,842),50502=>array(113,-61,936,842),50503=>array(113,-71,936,842),50504=>array(100,-45,936,842),50505=>array(113,-69,936,842),50506=>array(113,-76,936,842),50507=>array(113,-44,936,842),50508=>array(113,-62,936,842),50509=>array(113,-64,936,842),50510=>array(113,-64,936,842),50511=>array(113,-64,936,842),50512=>array(113,-70,936,842),50513=>array(113,-64,936,842),50514=>array(113,-64,936,842),50515=>array(113,-76,936,842),50516=>array(113,-62,936,842),50517=>array(113,-61,936,842),50518=>array(113,-70,936,842),50519=>array(113,-74,936,842),50520=>array(113,-69,936,842),50521=>array(113,-67,936,842),50522=>array(113,-72,936,842),50523=>array(113,-71,936,842),50524=>array(113,-66,936,842),50525=>array(113,-59,936,842),50526=>array(113,-60,936,842),50527=>array(113,-69,936,842),50528=>array(105,-69,907,842),50529=>array(93,-61,907,842),50530=>array(93,-61,907,842),50531=>array(93,-71,931,842),50532=>array(80,-46,907,842),50533=>array(93,-68,912,842),50534=>array(93,-76,907,842),50535=>array(93,-44,921,842),50536=>array(93,-62,917,842),50537=>array(93,-64,907,842),50538=>array(93,-64,908,842),50539=>array(93,-64,908,842),50540=>array(93,-69,923,842),50541=>array(93,-64,908,842),50542=>array(93,-64,908,842),50543=>array(93,-76,907,842),50544=>array(93,-62,907,842),50545=>array(93,-61,907,842),50546=>array(93,-69,922,842),50547=>array(93,-74,929,842),50548=>array(93,-69,927,842),50549=>array(93,-68,911,842),50550=>array(93,-72,929,842),50551=>array(93,-70,936,842),50552=>array(93,-66,908,842),50553=>array(93,-59,916,842),50554=>array(93,-60,928,842),50555=>array(93,-68,908,842),50556=>array(123,-68,935,843),50557=>array(113,-59,936,842),50558=>array(113,-61,936,842),50559=>array(113,-71,936,842),50560=>array(100,-45,936,842),50561=>array(113,-69,936,842),50562=>array(113,-76,936,842),50563=>array(113,-44,936,842),50564=>array(113,-62,936,842),50565=>array(113,-64,936,842),50566=>array(113,-64,936,842),50567=>array(113,-64,936,842),50568=>array(113,-70,936,842),50569=>array(113,-64,936,842),50570=>array(113,-64,936,842),50571=>array(113,-76,936,842),50572=>array(113,-62,936,842),50573=>array(113,-61,936,842),50574=>array(113,-70,936,842),50575=>array(113,-74,936,842),50576=>array(113,-69,936,842),50577=>array(113,-67,936,842),50578=>array(113,-72,936,842),50579=>array(113,-71,936,842),50580=>array(113,-66,936,842),50581=>array(113,-59,936,842),50582=>array(113,-60,936,842),50583=>array(113,-69,936,842),50584=>array(105,-69,907,842),50585=>array(93,-61,907,842),50586=>array(93,-61,907,842),50587=>array(93,-71,931,842),50588=>array(85,-46,907,842),50589=>array(93,-68,912,842),50590=>array(93,-76,907,842),50591=>array(93,-44,921,842),50592=>array(93,-62,917,842),50593=>array(93,-64,907,842),50594=>array(93,-64,908,842),50595=>array(93,-64,908,842),50596=>array(93,-69,923,842),50597=>array(93,-64,908,842),50598=>array(93,-64,908,842),50599=>array(93,-76,907,842),50600=>array(93,-62,907,842),50601=>array(93,-61,907,842),50602=>array(93,-69,922,842),50603=>array(93,-74,929,842),50604=>array(93,-69,927,842),50605=>array(93,-68,911,842),50606=>array(93,-72,929,842),50607=>array(93,-70,936,842),50608=>array(93,-66,908,842),50609=>array(93,-59,916,842),50610=>array(93,-60,928,842),50611=>array(93,-68,908,842),50612=>array(93,-70,907,841),50613=>array(88,-61,907,841),50614=>array(88,-61,907,841),50615=>array(88,-71,931,841),50616=>array(85,-46,907,841),50617=>array(88,-68,912,841),50618=>array(88,-76,907,841),50619=>array(88,-44,921,841),50620=>array(88,-62,917,841),50621=>array(88,-64,907,841),50622=>array(88,-64,908,841),50623=>array(88,-64,908,841),50624=>array(88,-69,923,841),50625=>array(88,-64,908,841),50626=>array(88,-64,908,841),50627=>array(88,-76,906,841),50628=>array(88,-62,907,841),50629=>array(88,-61,907,841),50630=>array(88,-69,922,841),50631=>array(88,-74,929,841),50632=>array(88,-69,927,841),50633=>array(88,-68,911,841),50634=>array(88,-72,929,841),50635=>array(88,-70,936,841),50636=>array(88,-66,908,841),50637=>array(88,-59,916,841),50638=>array(88,-60,928,841),50639=>array(88,-68,908,841),50640=>array(85,-68,907,843),50641=>array(75,-61,907,843),50642=>array(75,-61,907,843),50643=>array(75,-71,931,843),50644=>array(76,-46,907,843),50645=>array(75,-68,912,843),50646=>array(75,-76,907,843),50647=>array(75,-44,921,843),50648=>array(75,-62,917,843),50649=>array(75,-64,907,843),50650=>array(75,-64,908,843),50651=>array(75,-64,908,843),50652=>array(75,-69,923,843),50653=>array(75,-64,908,843),50654=>array(75,-64,908,843),50655=>array(75,-76,907,843),50656=>array(75,-62,907,843),50657=>array(75,-61,907,843),50658=>array(75,-69,922,843),50659=>array(75,-74,929,843),50660=>array(75,-69,927,843),50661=>array(75,-68,911,843),50662=>array(75,-72,929,843),50663=>array(75,-70,936,843),50664=>array(75,-66,908,843),50665=>array(75,-59,916,843),50666=>array(75,-60,928,843),50667=>array(75,-68,908,843),50668=>array(93,-70,907,842),50669=>array(88,-61,908,842),50670=>array(88,-61,908,842),50671=>array(88,-71,931,842),50672=>array(85,-46,907,842),50673=>array(88,-68,912,842),50674=>array(88,-76,908,842),50675=>array(88,-44,921,842),50676=>array(88,-62,917,842),50677=>array(88,-64,908,842),50678=>array(88,-64,908,842),50679=>array(88,-64,908,842),50680=>array(88,-69,923,842),50681=>array(88,-64,908,842),50682=>array(88,-64,908,842),50683=>array(88,-76,908,842),50684=>array(88,-62,908,842),50685=>array(88,-61,908,842),50686=>array(88,-69,922,842),50687=>array(88,-74,929,842),50688=>array(88,-69,927,842),50689=>array(88,-68,911,842),50690=>array(88,-72,929,842),50691=>array(88,-70,936,842),50692=>array(88,-66,908,842),50693=>array(88,-59,916,842),50694=>array(88,-60,928,842),50695=>array(88,-68,908,842),50696=>array(85,-68,907,843),50697=>array(75,-61,907,843),50698=>array(75,-61,907,843),50699=>array(75,-71,931,843),50700=>array(76,-46,907,843),50701=>array(75,-68,912,843),50702=>array(75,-76,907,843),50703=>array(75,-44,921,843),50704=>array(75,-62,917,843),50705=>array(75,-64,907,843),50706=>array(75,-64,908,843),50707=>array(75,-64,908,843),50708=>array(75,-69,923,843),50709=>array(75,-64,908,843),50710=>array(75,-64,908,843),50711=>array(75,-76,907,843),50712=>array(75,-62,907,843),50713=>array(75,-61,907,843),50714=>array(75,-69,922,843),50715=>array(75,-74,929,843),50716=>array(75,-69,927,843),50717=>array(75,-68,911,843),50718=>array(75,-72,929,843),50719=>array(75,-70,936,843),50720=>array(75,-66,908,843),50721=>array(75,-59,916,843),50722=>array(75,-60,928,843),50723=>array(75,-68,908,843),50724=>array(62,4,938,763),50725=>array(79,-61,921,808),50726=>array(79,-61,921,808),50727=>array(79,-71,921,808),50728=>array(79,-46,922,803),50729=>array(79,-68,921,808),50730=>array(79,-74,921,808),50731=>array(79,-44,921,808),50732=>array(79,-62,921,808),50733=>array(79,-64,921,808),50734=>array(79,-64,921,808),50735=>array(79,-63,921,808),50736=>array(79,-68,921,808),50737=>array(79,-64,921,808),50738=>array(79,-63,921,808),50739=>array(79,-74,921,808),50740=>array(79,-62,921,808),50741=>array(79,-61,921,808),50742=>array(79,-69,921,808),50743=>array(79,-74,921,808),50744=>array(79,-69,921,808),50745=>array(79,-68,921,808),50746=>array(79,-72,921,808),50747=>array(79,-70,921,808),50748=>array(79,-66,921,808),50749=>array(79,-59,921,808),50750=>array(79,-60,921,808),50751=>array(79,-68,921,808),50752=>array(52,-69,936,842),50753=>array(77,-59,936,842),50754=>array(77,-61,936,842),50755=>array(77,-71,936,842),50756=>array(72,-45,936,842),50757=>array(77,-69,936,842),50758=>array(77,-76,936,842),50759=>array(77,-44,936,842),50760=>array(77,-62,936,842),50761=>array(77,-64,936,842),50762=>array(77,-64,936,842),50763=>array(77,-64,936,842),50764=>array(77,-70,936,842),50765=>array(77,-64,936,842),50766=>array(77,-64,936,842),50767=>array(77,-76,936,842),50768=>array(77,-62,936,842),50769=>array(77,-61,936,842),50770=>array(77,-70,936,842),50771=>array(77,-74,936,842),50772=>array(77,-69,936,842),50773=>array(77,-67,936,842),50774=>array(77,-72,936,842),50775=>array(77,-71,936,842),50776=>array(77,-66,936,842),50777=>array(77,-59,936,842),50778=>array(77,-60,936,842),50779=>array(77,-69,936,842),50780=>array(61,-69,907,842),50781=>array(62,-61,907,842),50782=>array(62,-61,907,842),50783=>array(62,-71,931,842),50784=>array(62,-46,907,842),50785=>array(62,-68,912,842),50786=>array(62,-76,907,842),50787=>array(62,-44,921,842),50788=>array(62,-62,917,842),50789=>array(62,-64,907,842),50790=>array(62,-64,908,842),50791=>array(62,-64,908,842),50792=>array(62,-69,923,842),50793=>array(62,-64,908,842),50794=>array(62,-64,908,842),50795=>array(62,-76,907,842),50796=>array(62,-62,907,842),50797=>array(62,-61,907,842),50798=>array(62,-69,922,842),50799=>array(62,-74,929,842),50800=>array(62,-69,927,842),50801=>array(62,-68,911,842),50802=>array(62,-72,929,842),50803=>array(62,-70,936,842),50804=>array(62,-66,908,842),50805=>array(62,-59,916,842),50806=>array(62,-60,928,842),50807=>array(62,-68,908,842),50808=>array(52,-69,907,842),50809=>array(64,-61,907,842),50810=>array(64,-61,907,842),50811=>array(64,-71,931,842),50812=>array(64,-46,907,842),50813=>array(64,-68,912,842),50814=>array(64,-76,907,842),50815=>array(64,-44,921,842),50816=>array(64,-62,917,842),50817=>array(64,-64,907,842),50818=>array(64,-64,908,842),50819=>array(64,-64,908,842),50820=>array(64,-69,923,842),50821=>array(64,-64,908,842),50822=>array(64,-64,908,842),50823=>array(64,-76,907,842),50824=>array(64,-62,907,842),50825=>array(64,-61,907,842),50826=>array(64,-69,922,842),50827=>array(64,-74,929,842),50828=>array(64,-69,927,842),50829=>array(64,-68,911,842),50830=>array(64,-72,929,842),50831=>array(64,-70,936,842),50832=>array(64,-66,908,842),50833=>array(64,-59,916,842),50834=>array(64,-60,928,842),50835=>array(64,-68,908,842),50836=>array(62,4,938,763),50837=>array(79,-61,922,808),50838=>array(79,-61,922,808),50839=>array(79,-71,922,808),50840=>array(79,-46,922,793),50841=>array(79,-68,922,808),50842=>array(79,-74,922,808),50843=>array(79,-44,922,808),50844=>array(79,-62,922,808),50845=>array(79,-64,922,808),50846=>array(79,-64,922,808),50847=>array(79,-63,922,808),50848=>array(79,-68,922,808),50849=>array(79,-64,922,808),50850=>array(79,-63,922,808),50851=>array(79,-74,922,808),50852=>array(79,-62,922,808),50853=>array(79,-61,922,808),50854=>array(79,-69,922,808),50855=>array(79,-74,922,808),50856=>array(79,-69,922,808),50857=>array(79,-68,922,808),50858=>array(79,-72,922,808),50859=>array(79,-70,922,808),50860=>array(79,-66,922,808),50861=>array(79,-59,922,808),50862=>array(79,-60,922,808),50863=>array(79,-68,922,808),50864=>array(79,-64,921,793),50865=>array(79,-61,921,808),50866=>array(79,-61,921,808),50867=>array(79,-71,921,808),50868=>array(79,-46,921,793),50869=>array(79,-68,921,808),50870=>array(79,-74,921,808),50871=>array(79,-44,921,808),50872=>array(79,-62,921,808),50873=>array(79,-64,921,808),50874=>array(79,-64,921,808),50875=>array(79,-63,921,808),50876=>array(79,-68,921,808),50877=>array(79,-64,921,808),50878=>array(79,-63,921,808),50879=>array(79,-74,921,808),50880=>array(79,-62,921,808),50881=>array(79,-61,921,808),50882=>array(79,-69,921,808),50883=>array(79,-74,921,808),50884=>array(79,-69,921,808),50885=>array(79,-68,921,808),50886=>array(79,-72,921,808),50887=>array(79,-70,921,808),50888=>array(79,-66,921,808),50889=>array(79,-59,921,808),50890=>array(79,-60,921,808),50891=>array(79,-68,921,808),50892=>array(73,-70,907,841),50893=>array(75,-61,908,841),50894=>array(75,-61,908,841),50895=>array(75,-71,931,841),50896=>array(76,-46,907,841),50897=>array(75,-68,912,841),50898=>array(75,-76,908,841),50899=>array(75,-44,921,841),50900=>array(75,-62,917,841),50901=>array(75,-64,908,841),50902=>array(75,-64,908,841),50903=>array(75,-64,908,841),50904=>array(75,-69,923,841),50905=>array(75,-64,908,841),50906=>array(75,-64,908,841),50907=>array(75,-76,908,841),50908=>array(75,-62,908,841),50909=>array(75,-61,908,841),50910=>array(75,-69,922,841),50911=>array(75,-74,929,841),50912=>array(75,-69,927,841),50913=>array(75,-68,911,841),50914=>array(75,-72,929,841),50915=>array(75,-70,936,841),50916=>array(75,-66,908,841),50917=>array(75,-59,916,841),50918=>array(75,-60,928,841),50919=>array(75,-68,908,841),50920=>array(53,-68,907,843),50921=>array(70,-61,907,843),50922=>array(70,-61,907,843),50923=>array(70,-71,931,843),50924=>array(61,-46,907,843),50925=>array(70,-68,912,843),50926=>array(70,-76,907,843),50927=>array(70,-44,921,843),50928=>array(70,-62,917,843),50929=>array(70,-64,907,843),50930=>array(70,-64,908,843),50931=>array(70,-64,908,843),50932=>array(70,-69,923,843),50933=>array(70,-64,908,843),50934=>array(70,-64,908,843),50935=>array(70,-76,907,843),50936=>array(70,-62,907,843),50937=>array(70,-61,907,843),50938=>array(70,-69,922,843),50939=>array(70,-74,929,843),50940=>array(70,-69,927,843),50941=>array(70,-68,911,843),50942=>array(70,-72,929,843),50943=>array(70,-70,936,843),50944=>array(70,-66,908,843),50945=>array(70,-59,916,843),50946=>array(70,-60,928,843),50947=>array(70,-68,908,843),50948=>array(70,-69,907,842),50949=>array(65,-61,907,842),50950=>array(65,-61,907,842),50951=>array(65,-71,931,842),50952=>array(63,-46,907,842),50953=>array(65,-68,912,842),50954=>array(65,-76,907,842),50955=>array(65,-44,921,842),50956=>array(65,-62,917,842),50957=>array(65,-64,907,842),50958=>array(65,-64,908,842),50959=>array(65,-64,908,842),50960=>array(65,-69,923,842),50961=>array(65,-64,908,842),50962=>array(65,-64,908,842),50963=>array(65,-76,907,842),50964=>array(65,-62,907,842),50965=>array(65,-61,907,842),50966=>array(65,-69,922,842),50967=>array(65,-74,929,842),50968=>array(65,-69,927,842),50969=>array(65,-68,911,842),50970=>array(65,-72,929,842),50971=>array(65,-70,936,842),50972=>array(65,-66,908,842),50973=>array(65,-59,916,842),50974=>array(65,-60,928,842),50975=>array(65,-68,908,842),50976=>array(71,-64,928,793),50977=>array(79,-61,921,808),50978=>array(79,-61,921,808),50979=>array(79,-71,921,808),50980=>array(79,-46,921,793),50981=>array(79,-68,921,808),50982=>array(79,-74,921,808),50983=>array(79,-44,921,808),50984=>array(79,-62,921,808),50985=>array(79,-64,921,808),50986=>array(79,-64,921,808),50987=>array(79,-63,921,808),50988=>array(79,-68,921,808),50989=>array(79,-64,921,808),50990=>array(79,-63,921,808),50991=>array(79,-74,921,808),50992=>array(79,-62,921,808),50993=>array(79,-61,921,808),50994=>array(79,-69,921,808),50995=>array(79,-74,921,808),50996=>array(79,-69,921,808),50997=>array(79,-68,921,808),50998=>array(79,-72,921,808),50999=>array(79,-70,921,808),51000=>array(79,-66,921,808),51001=>array(79,-59,921,808),51002=>array(79,-60,921,808),51003=>array(79,-68,921,808),51004=>array(57,42,943,733),51005=>array(79,-61,921,808),51006=>array(79,-61,921,808),51007=>array(79,-71,921,808),51008=>array(79,-46,921,793),51009=>array(79,-68,921,808),51010=>array(79,-74,921,808),51011=>array(79,-44,921,808),51012=>array(79,-62,921,808),51013=>array(79,-64,921,808),51014=>array(79,-64,921,808),51015=>array(79,-63,921,808),51016=>array(79,-68,921,808),51017=>array(79,-64,921,808),51018=>array(79,-63,921,808),51019=>array(79,-74,921,808),51020=>array(79,-62,921,808),51021=>array(79,-61,921,808),51022=>array(79,-69,921,808),51023=>array(79,-74,921,808),51024=>array(79,-69,921,808),51025=>array(79,-68,921,808),51026=>array(79,-72,921,808),51027=>array(79,-70,921,808),51028=>array(79,-66,921,808),51029=>array(79,-59,921,808),51030=>array(79,-60,921,808),51031=>array(79,-68,921,808),51032=>array(67,-69,907,842),51033=>array(75,-61,907,842),51034=>array(75,-61,907,842),51035=>array(75,-71,931,842),51036=>array(66,-46,907,842),51037=>array(75,-68,912,842),51038=>array(75,-76,907,842),51039=>array(75,-44,921,842),51040=>array(75,-62,917,842),51041=>array(75,-64,907,842),51042=>array(75,-64,908,842),51043=>array(75,-64,908,842),51044=>array(75,-69,923,842),51045=>array(75,-64,908,842),51046=>array(75,-64,908,842),51047=>array(75,-76,907,842),51048=>array(75,-62,907,842),51049=>array(75,-61,907,842),51050=>array(75,-69,922,842),51051=>array(75,-74,929,842),51052=>array(75,-69,927,842),51053=>array(75,-68,911,842),51054=>array(75,-72,929,842),51055=>array(75,-70,936,842),51056=>array(75,-66,908,842),51057=>array(75,-59,916,842),51058=>array(75,-60,928,842),51059=>array(75,-68,908,842),51060=>array(134,-69,906,842),51061=>array(119,-61,907,842),51062=>array(119,-61,907,842),51063=>array(119,-71,931,842),51064=>array(108,-46,907,842),51065=>array(119,-68,912,842),51066=>array(119,-76,907,842),51067=>array(119,-44,921,842),51068=>array(119,-62,917,842),51069=>array(119,-64,907,842),51070=>array(119,-64,908,842),51071=>array(119,-64,908,842),51072=>array(119,-69,923,842),51073=>array(119,-64,908,842),51074=>array(119,-64,908,842),51075=>array(119,-76,907,842),51076=>array(119,-62,907,842),51077=>array(119,-61,907,842),51078=>array(119,-69,922,842),51079=>array(119,-74,929,842),51080=>array(119,-69,927,842),51081=>array(119,-68,911,842),51082=>array(119,-72,929,842),51083=>array(119,-70,936,842),51084=>array(119,-66,908,842),51085=>array(119,-59,916,842),51086=>array(119,-60,928,842),51087=>array(119,-68,908,842),51088=>array(73,-69,936,842),51089=>array(83,-59,936,842),51090=>array(83,-61,936,842),51091=>array(83,-71,936,842),51092=>array(71,-45,936,842),51093=>array(83,-69,936,842),51094=>array(83,-76,936,842),51095=>array(83,-44,936,842),51096=>array(83,-62,936,842),51097=>array(83,-64,936,842),51098=>array(83,-64,936,842),51099=>array(83,-64,936,842),51100=>array(83,-70,936,842),51101=>array(83,-64,936,842),51102=>array(83,-64,936,842),51103=>array(83,-76,936,842),51104=>array(83,-62,936,842),51105=>array(83,-61,936,842),51106=>array(83,-70,936,842),51107=>array(83,-74,936,842),51108=>array(83,-69,936,842),51109=>array(83,-67,936,842),51110=>array(83,-72,936,842),51111=>array(83,-71,936,842),51112=>array(83,-66,936,842),51113=>array(83,-59,936,842),51114=>array(83,-60,936,842),51115=>array(83,-69,936,842),51116=>array(50,-69,907,842),51117=>array(84,-61,907,842),51118=>array(84,-61,907,842),51119=>array(84,-71,931,842),51120=>array(76,-46,907,842),51121=>array(84,-68,912,842),51122=>array(84,-76,907,842),51123=>array(84,-44,921,842),51124=>array(84,-62,917,842),51125=>array(84,-64,907,842),51126=>array(84,-64,908,842),51127=>array(84,-64,908,842),51128=>array(84,-69,923,842),51129=>array(84,-64,908,842),51130=>array(84,-64,908,842),51131=>array(84,-76,907,842),51132=>array(84,-62,907,842),51133=>array(84,-61,907,842),51134=>array(84,-69,922,842),51135=>array(84,-74,929,842),51136=>array(84,-69,927,842),51137=>array(84,-68,911,842),51138=>array(84,-72,929,842),51139=>array(84,-70,936,842),51140=>array(84,-66,908,842),51141=>array(84,-59,916,842),51142=>array(84,-60,928,842),51143=>array(84,-68,908,842),51144=>array(73,-68,935,843),51145=>array(83,-59,936,842),51146=>array(83,-61,936,842),51147=>array(83,-71,936,842),51148=>array(71,-45,936,842),51149=>array(83,-69,936,842),51150=>array(83,-76,936,842),51151=>array(83,-44,936,842),51152=>array(83,-62,936,842),51153=>array(83,-64,936,842),51154=>array(83,-64,936,842),51155=>array(83,-64,936,842),51156=>array(83,-70,936,842),51157=>array(83,-64,936,842),51158=>array(83,-64,936,842),51159=>array(83,-76,936,842),51160=>array(83,-62,936,842),51161=>array(83,-61,936,842),51162=>array(83,-70,936,842),51163=>array(83,-74,936,842),51164=>array(83,-69,936,842),51165=>array(83,-67,936,842),51166=>array(83,-72,936,842),51167=>array(83,-71,936,842),51168=>array(83,-66,936,842),51169=>array(83,-59,936,842),51170=>array(83,-60,936,842),51171=>array(83,-69,936,842),51172=>array(50,-69,907,842),51173=>array(84,-61,907,842),51174=>array(84,-61,907,842),51175=>array(84,-71,931,842),51176=>array(76,-46,907,842),51177=>array(84,-68,912,842),51178=>array(84,-76,907,842),51179=>array(84,-44,921,842),51180=>array(84,-62,917,842),51181=>array(84,-64,907,842),51182=>array(84,-64,908,842),51183=>array(84,-64,908,842),51184=>array(84,-69,923,842),51185=>array(84,-64,908,842),51186=>array(84,-64,908,842),51187=>array(84,-76,907,842),51188=>array(84,-62,907,842),51189=>array(84,-61,907,842),51190=>array(84,-69,922,842),51191=>array(84,-74,929,842),51192=>array(84,-69,927,842),51193=>array(84,-68,911,842),51194=>array(84,-72,929,842),51195=>array(84,-70,936,842),51196=>array(84,-66,908,842),51197=>array(84,-59,916,842),51198=>array(84,-60,928,842),51199=>array(84,-68,908,842),51200=>array(68,-70,907,841),51201=>array(83,-61,907,841),51202=>array(83,-61,907,841),51203=>array(83,-71,931,841),51204=>array(71,-46,907,841),51205=>array(83,-68,912,841),51206=>array(83,-76,907,841),51207=>array(83,-44,921,841),51208=>array(83,-62,917,841),51209=>array(83,-64,907,841),51210=>array(83,-64,908,841),51211=>array(83,-64,908,841),51212=>array(83,-69,923,841),51213=>array(83,-64,908,841),51214=>array(83,-64,908,841),51215=>array(83,-76,906,841),51216=>array(83,-62,907,841),51217=>array(83,-61,907,841),51218=>array(83,-69,922,841),51219=>array(83,-74,929,841),51220=>array(83,-69,927,841),51221=>array(83,-68,911,841),51222=>array(83,-72,929,841),51223=>array(83,-70,936,841),51224=>array(83,-66,908,841),51225=>array(83,-59,916,841),51226=>array(83,-60,928,841),51227=>array(83,-68,908,841),51228=>array(50,-69,907,842),51229=>array(64,-61,907,843),51230=>array(64,-61,907,843),51231=>array(64,-71,931,843),51232=>array(56,-46,907,843),51233=>array(64,-68,912,843),51234=>array(64,-76,907,843),51235=>array(64,-44,921,843),51236=>array(64,-62,917,843),51237=>array(64,-64,907,843),51238=>array(64,-64,908,843),51239=>array(64,-64,908,843),51240=>array(64,-69,923,843),51241=>array(64,-64,908,843),51242=>array(64,-64,908,843),51243=>array(64,-76,907,843),51244=>array(64,-62,907,843),51245=>array(64,-61,907,843),51246=>array(64,-69,922,843),51247=>array(64,-74,929,843),51248=>array(64,-69,927,843),51249=>array(64,-68,911,843),51250=>array(64,-72,929,843),51251=>array(64,-70,936,843),51252=>array(64,-66,908,843),51253=>array(64,-59,916,843),51254=>array(64,-60,928,843),51255=>array(64,-68,908,843),51256=>array(58,-70,907,842),51257=>array(63,-61,908,842),51258=>array(63,-61,908,842),51259=>array(63,-71,931,842),51260=>array(70,-46,907,842),51261=>array(63,-68,912,842),51262=>array(63,-76,908,842),51263=>array(63,-44,921,842),51264=>array(63,-62,917,842),51265=>array(63,-64,908,842),51266=>array(63,-64,908,842),51267=>array(63,-64,908,842),51268=>array(63,-69,923,842),51269=>array(63,-64,908,842),51270=>array(63,-64,908,842),51271=>array(63,-76,908,842),51272=>array(63,-62,908,842),51273=>array(63,-61,908,842),51274=>array(63,-69,922,842),51275=>array(63,-74,929,842),51276=>array(63,-69,927,842),51277=>array(63,-68,911,842),51278=>array(63,-72,929,842),51279=>array(63,-70,936,842),51280=>array(63,-66,908,842),51281=>array(63,-59,916,842),51282=>array(63,-60,928,842),51283=>array(63,-68,908,842),51284=>array(38,-69,908,842),51285=>array(62,-61,907,843),51286=>array(62,-61,907,843),51287=>array(62,-71,931,843),51288=>array(53,-46,907,843),51289=>array(62,-68,912,843),51290=>array(62,-76,907,843),51291=>array(62,-44,921,843),51292=>array(62,-62,917,843),51293=>array(62,-64,907,843),51294=>array(62,-64,908,843),51295=>array(62,-64,908,843),51296=>array(62,-69,923,843),51297=>array(62,-64,908,843),51298=>array(62,-64,908,843),51299=>array(62,-76,907,843),51300=>array(62,-62,907,843),51301=>array(62,-61,907,843),51302=>array(62,-69,922,843),51303=>array(62,-74,929,843),51304=>array(62,-69,927,843),51305=>array(62,-68,911,843),51306=>array(62,-72,929,843),51307=>array(62,-70,936,843),51308=>array(62,-66,908,843),51309=>array(62,-59,916,843),51310=>array(62,-60,928,843),51311=>array(62,-68,908,843),51312=>array(62,22,943,742),51313=>array(79,-61,921,798),51314=>array(79,-61,921,798),51315=>array(79,-71,921,798),51316=>array(79,-46,921,798),51317=>array(79,-68,921,798),51318=>array(79,-74,921,798),51319=>array(79,-44,921,798),51320=>array(79,-62,921,798),51321=>array(79,-64,921,798),51322=>array(79,-64,921,798),51323=>array(79,-63,921,798),51324=>array(79,-68,921,798),51325=>array(79,-64,921,798),51326=>array(79,-63,921,798),51327=>array(79,-74,921,798),51328=>array(79,-62,921,798),51329=>array(79,-61,921,798),51330=>array(79,-69,921,798),51331=>array(79,-74,921,798),51332=>array(79,-69,921,798),51333=>array(79,-68,921,798),51334=>array(79,-72,921,798),51335=>array(79,-70,921,798),51336=>array(79,-66,921,798),51337=>array(79,-59,921,798),51338=>array(79,-60,921,798),51339=>array(79,-68,921,798),51340=>array(64,-69,936,842),51341=>array(77,-59,936,842),51342=>array(77,-61,936,842),51343=>array(77,-71,936,842),51344=>array(72,-45,936,842),51345=>array(77,-69,936,842),51346=>array(77,-76,936,842),51347=>array(77,-44,936,842),51348=>array(77,-62,936,842),51349=>array(77,-64,936,842),51350=>array(77,-64,936,842),51351=>array(77,-64,936,842),51352=>array(77,-70,936,842),51353=>array(77,-64,936,842),51354=>array(77,-64,936,842),51355=>array(77,-76,936,842),51356=>array(77,-62,936,842),51357=>array(77,-61,936,842),51358=>array(77,-70,936,842),51359=>array(77,-74,936,842),51360=>array(77,-69,936,842),51361=>array(77,-67,936,842),51362=>array(77,-72,936,842),51363=>array(77,-71,936,842),51364=>array(77,-66,936,842),51365=>array(77,-59,936,842),51366=>array(77,-60,936,842),51367=>array(77,-69,936,842),51368=>array(49,-69,907,842),51369=>array(77,-61,907,842),51370=>array(77,-61,907,842),51371=>array(77,-71,931,842),51372=>array(72,-46,907,842),51373=>array(77,-68,912,842),51374=>array(77,-76,907,842),51375=>array(77,-44,921,842),51376=>array(77,-62,917,842),51377=>array(77,-64,907,842),51378=>array(77,-64,908,842),51379=>array(77,-64,908,842),51380=>array(77,-69,923,842),51381=>array(77,-64,908,842),51382=>array(77,-64,908,842),51383=>array(77,-76,907,842),51384=>array(77,-62,907,842),51385=>array(77,-61,907,842),51386=>array(77,-69,922,842),51387=>array(77,-74,929,842),51388=>array(77,-69,927,842),51389=>array(77,-68,911,842),51390=>array(77,-72,929,842),51391=>array(77,-70,936,842),51392=>array(77,-66,908,842),51393=>array(77,-59,916,842),51394=>array(77,-60,928,842),51395=>array(77,-68,908,842),51396=>array(52,-69,907,842),51397=>array(65,-61,907,842),51398=>array(65,-61,907,842),51399=>array(65,-71,931,842),51400=>array(65,-46,907,842),51401=>array(65,-68,912,842),51402=>array(65,-76,907,842),51403=>array(65,-44,921,842),51404=>array(65,-62,917,842),51405=>array(65,-64,907,842),51406=>array(65,-64,908,842),51407=>array(65,-64,908,842),51408=>array(65,-69,923,842),51409=>array(65,-64,908,842),51410=>array(65,-64,908,842),51411=>array(65,-76,907,842),51412=>array(65,-62,907,842),51413=>array(65,-61,907,842),51414=>array(65,-69,922,842),51415=>array(65,-74,929,842),51416=>array(65,-69,927,842),51417=>array(65,-68,911,842),51418=>array(65,-72,929,842),51419=>array(65,-70,936,842),51420=>array(65,-66,908,842),51421=>array(65,-59,916,842),51422=>array(65,-60,928,842),51423=>array(65,-68,908,842),51424=>array(62,22,938,742),51425=>array(79,-61,922,798),51426=>array(79,-61,922,798),51427=>array(79,-71,922,798),51428=>array(79,-46,922,798),51429=>array(79,-68,922,798),51430=>array(79,-74,922,798),51431=>array(79,-44,922,798),51432=>array(79,-62,922,798),51433=>array(79,-64,922,798),51434=>array(79,-64,922,798),51435=>array(79,-63,922,798),51436=>array(79,-68,922,798),51437=>array(79,-64,922,798),51438=>array(79,-63,922,798),51439=>array(79,-74,922,798),51440=>array(79,-62,922,798),51441=>array(79,-61,922,798),51442=>array(79,-69,922,798),51443=>array(79,-74,922,798),51444=>array(79,-69,922,798),51445=>array(79,-68,922,798),51446=>array(79,-72,922,798),51447=>array(79,-70,922,798),51448=>array(79,-66,922,798),51449=>array(79,-59,922,798),51450=>array(79,-60,922,798),51451=>array(79,-68,922,798),51452=>array(79,-64,921,798),51453=>array(79,-61,921,798),51454=>array(79,-61,921,798),51455=>array(79,-71,921,798),51456=>array(79,-46,921,798),51457=>array(79,-68,921,798),51458=>array(79,-74,921,798),51459=>array(79,-44,921,798),51460=>array(79,-62,921,798),51461=>array(79,-64,921,798),51462=>array(79,-64,921,798),51463=>array(79,-63,921,798),51464=>array(79,-68,921,798),51465=>array(79,-64,921,798),51466=>array(79,-63,921,798),51467=>array(79,-74,921,798),51468=>array(79,-62,921,798),51469=>array(79,-61,921,798),51470=>array(79,-69,921,798),51471=>array(79,-74,921,798),51472=>array(79,-69,921,798),51473=>array(79,-68,921,798),51474=>array(79,-72,921,798),51475=>array(79,-70,921,798),51476=>array(79,-66,921,798),51477=>array(79,-59,921,798),51478=>array(79,-60,921,798),51479=>array(79,-68,921,798),51480=>array(70,-70,907,841),51481=>array(73,-61,910,841),51482=>array(73,-61,910,841),51483=>array(73,-71,931,841),51484=>array(76,-46,909,840),51485=>array(73,-68,912,841),51486=>array(73,-76,910,841),51487=>array(73,-44,921,841),51488=>array(73,-62,917,841),51489=>array(73,-64,910,841),51490=>array(73,-64,910,841),51491=>array(73,-64,910,841),51492=>array(73,-69,923,841),51493=>array(73,-64,910,841),51494=>array(73,-64,910,841),51495=>array(73,-76,910,841),51496=>array(73,-62,910,841),51497=>array(73,-61,910,841),51498=>array(73,-69,922,841),51499=>array(73,-74,929,841),51500=>array(73,-69,927,841),51501=>array(73,-68,911,841),51502=>array(73,-72,929,841),51503=>array(73,-70,936,841),51504=>array(73,-66,910,841),51505=>array(73,-59,916,841),51506=>array(73,-60,928,841),51507=>array(73,-68,910,841),51508=>array(63,-68,907,843),51509=>array(70,-61,907,843),51510=>array(70,-61,907,843),51511=>array(70,-71,931,843),51512=>array(76,-46,907,843),51513=>array(70,-68,912,843),51514=>array(70,-76,907,843),51515=>array(70,-44,921,843),51516=>array(70,-62,917,843),51517=>array(70,-64,907,843),51518=>array(70,-64,908,843),51519=>array(70,-64,908,843),51520=>array(70,-69,923,843),51521=>array(70,-64,908,843),51522=>array(70,-64,908,843),51523=>array(70,-76,907,843),51524=>array(70,-62,907,843),51525=>array(70,-61,907,843),51526=>array(70,-69,922,843),51527=>array(70,-74,929,843),51528=>array(70,-69,927,843),51529=>array(70,-68,911,843),51530=>array(70,-72,929,843),51531=>array(70,-70,936,843),51532=>array(70,-66,908,843),51533=>array(70,-59,916,843),51534=>array(70,-60,928,843),51535=>array(70,-68,908,843),51536=>array(70,-69,907,842),51537=>array(76,-61,907,842),51538=>array(76,-61,907,842),51539=>array(76,-71,931,842),51540=>array(74,-46,907,842),51541=>array(76,-68,912,842),51542=>array(76,-76,907,842),51543=>array(76,-44,921,842),51544=>array(76,-62,917,842),51545=>array(76,-64,907,842),51546=>array(76,-64,908,842),51547=>array(76,-64,908,842),51548=>array(76,-69,923,842),51549=>array(76,-64,908,842),51550=>array(76,-64,908,842),51551=>array(76,-76,906,842),51552=>array(76,-62,907,842),51553=>array(76,-61,907,842),51554=>array(76,-69,922,842),51555=>array(76,-74,929,842),51556=>array(76,-69,927,842),51557=>array(76,-68,911,842),51558=>array(76,-72,929,842),51559=>array(76,-70,936,842),51560=>array(76,-66,908,842),51561=>array(76,-59,916,842),51562=>array(76,-60,928,842),51563=>array(76,-68,908,842),51564=>array(87,-64,928,798),51565=>array(79,-61,921,798),51566=>array(79,-61,921,798),51567=>array(79,-71,921,798),51568=>array(81,-46,922,798),51569=>array(79,-68,921,798),51570=>array(79,-74,921,798),51571=>array(79,-44,921,798),51572=>array(79,-62,921,798),51573=>array(79,-64,921,798),51574=>array(79,-64,921,798),51575=>array(79,-63,921,798),51576=>array(79,-68,921,798),51577=>array(79,-64,921,798),51578=>array(79,-63,921,798),51579=>array(79,-74,921,798),51580=>array(79,-62,921,798),51581=>array(79,-61,921,798),51582=>array(79,-69,921,798),51583=>array(79,-74,921,798),51584=>array(79,-69,921,798),51585=>array(79,-68,921,798),51586=>array(79,-72,921,798),51587=>array(79,-70,921,798),51588=>array(79,-66,921,798),51589=>array(79,-59,921,798),51590=>array(79,-60,921,798),51591=>array(79,-68,921,798),51592=>array(57,52,943,717),51593=>array(79,-61,922,798),51594=>array(79,-61,922,798),51595=>array(79,-71,922,798),51596=>array(79,-46,922,798),51597=>array(79,-68,922,798),51598=>array(79,-74,922,798),51599=>array(79,-44,922,798),51600=>array(79,-62,922,798),51601=>array(79,-64,922,798),51602=>array(79,-64,922,798),51603=>array(79,-63,922,798),51604=>array(79,-68,922,798),51605=>array(79,-64,922,798),51606=>array(79,-63,922,798),51607=>array(79,-74,922,798),51608=>array(79,-62,922,798),51609=>array(79,-61,922,798),51610=>array(79,-69,922,798),51611=>array(79,-74,922,798),51612=>array(79,-69,922,798),51613=>array(79,-68,922,798),51614=>array(79,-72,922,798),51615=>array(79,-70,922,798),51616=>array(79,-66,922,798),51617=>array(79,-59,922,798),51618=>array(79,-60,922,798),51619=>array(79,-68,922,798),51620=>array(78,-69,907,842),51621=>array(65,-61,907,842),51622=>array(65,-61,907,842),51623=>array(65,-71,931,842),51624=>array(65,-46,907,842),51625=>array(65,-68,912,842),51626=>array(65,-76,907,842),51627=>array(65,-44,921,842),51628=>array(65,-62,917,842),51629=>array(65,-64,907,842),51630=>array(65,-64,908,842),51631=>array(65,-64,908,842),51632=>array(65,-69,923,842),51633=>array(65,-64,908,842),51634=>array(65,-64,908,842),51635=>array(65,-76,907,842),51636=>array(65,-62,907,842),51637=>array(65,-61,907,842),51638=>array(65,-69,922,842),51639=>array(65,-74,929,842),51640=>array(65,-69,927,842),51641=>array(65,-68,911,842),51642=>array(65,-72,929,842),51643=>array(65,-70,936,842),51644=>array(65,-66,908,842),51645=>array(65,-59,916,842),51646=>array(65,-60,928,842),51647=>array(65,-68,908,842),51648=>array(116,-69,907,842),51649=>array(123,-61,907,842),51650=>array(123,-61,907,842),51651=>array(123,-71,931,842),51652=>array(105,-46,907,842),51653=>array(123,-68,912,842),51654=>array(123,-76,907,842),51655=>array(123,-44,921,842),51656=>array(123,-62,917,842),51657=>array(123,-64,907,842),51658=>array(123,-64,908,842),51659=>array(123,-64,908,842),51660=>array(123,-69,923,842),51661=>array(123,-64,908,842),51662=>array(123,-64,908,842),51663=>array(123,-76,907,842),51664=>array(123,-62,907,842),51665=>array(123,-61,907,842),51666=>array(123,-69,922,842),51667=>array(123,-74,929,842),51668=>array(123,-69,927,842),51669=>array(123,-68,911,842),51670=>array(123,-72,929,842),51671=>array(123,-70,936,842),51672=>array(123,-66,908,842),51673=>array(123,-59,916,842),51674=>array(123,-60,928,842),51675=>array(123,-68,908,842),51676=>array(36,-69,935,842),51677=>array(59,-59,936,842),51678=>array(59,-61,936,842),51679=>array(59,-71,936,842),51680=>array(50,-45,936,842),51681=>array(59,-69,936,842),51682=>array(59,-76,936,842),51683=>array(59,-44,936,842),51684=>array(59,-62,936,842),51685=>array(59,-64,936,842),51686=>array(59,-64,936,842),51687=>array(59,-64,936,842),51688=>array(59,-70,936,842),51689=>array(59,-64,936,842),51690=>array(59,-64,936,842),51691=>array(59,-76,936,842),51692=>array(59,-62,936,842),51693=>array(59,-61,936,842),51694=>array(59,-70,936,842),51695=>array(59,-74,936,842),51696=>array(59,-69,936,842),51697=>array(59,-67,936,842),51698=>array(59,-72,936,842),51699=>array(59,-71,936,842),51700=>array(59,-66,936,842),51701=>array(59,-59,936,842),51702=>array(59,-60,936,842),51703=>array(59,-69,936,842),51704=>array(33,-69,907,842),51705=>array(44,-61,907,842),51706=>array(44,-61,907,842),51707=>array(44,-71,931,842),51708=>array(52,-46,907,842),51709=>array(44,-68,912,842),51710=>array(44,-76,907,842),51711=>array(44,-44,921,842),51712=>array(44,-62,917,842),51713=>array(44,-64,907,842),51714=>array(44,-64,908,842),51715=>array(44,-64,908,842),51716=>array(44,-69,923,842),51717=>array(44,-64,908,842),51718=>array(44,-64,908,842),51719=>array(44,-76,907,842),51720=>array(44,-62,907,842),51721=>array(44,-61,907,842),51722=>array(44,-69,922,842),51723=>array(44,-74,929,842),51724=>array(44,-69,927,842),51725=>array(44,-68,911,842),51726=>array(44,-72,929,842),51727=>array(44,-70,936,842),51728=>array(44,-66,908,842),51729=>array(44,-59,916,842),51730=>array(44,-60,928,842),51731=>array(44,-68,908,842),51732=>array(36,-68,935,843),51733=>array(59,-59,936,842),51734=>array(59,-61,936,842),51735=>array(59,-71,936,842),51736=>array(50,-45,936,842),51737=>array(59,-69,936,842),51738=>array(59,-76,936,842),51739=>array(59,-44,936,842),51740=>array(59,-62,936,842),51741=>array(59,-64,936,842),51742=>array(59,-64,936,842),51743=>array(59,-64,936,842),51744=>array(59,-70,936,842),51745=>array(59,-64,936,842),51746=>array(59,-64,936,842),51747=>array(59,-76,936,842),51748=>array(59,-62,936,842),51749=>array(59,-61,936,842),51750=>array(59,-70,936,842),51751=>array(59,-74,936,842),51752=>array(59,-69,936,842),51753=>array(59,-67,936,842),51754=>array(59,-72,936,842),51755=>array(59,-71,936,842),51756=>array(59,-66,936,842),51757=>array(59,-59,936,842),51758=>array(59,-60,936,842),51759=>array(59,-69,936,842),51760=>array(33,-69,907,842),51761=>array(44,-61,907,842),51762=>array(44,-61,907,842),51763=>array(44,-71,931,842),51764=>array(52,-46,907,842),51765=>array(44,-68,912,842),51766=>array(44,-76,907,842),51767=>array(44,-44,921,842),51768=>array(44,-62,917,842),51769=>array(44,-64,907,842),51770=>array(44,-64,908,842),51771=>array(44,-64,908,842),51772=>array(44,-69,923,842),51773=>array(44,-64,908,842),51774=>array(44,-64,908,842),51775=>array(44,-76,907,842),51776=>array(44,-62,907,842),51777=>array(44,-61,907,842),51778=>array(44,-69,922,842),51779=>array(44,-74,929,842),51780=>array(44,-69,927,842),51781=>array(44,-68,911,842),51782=>array(44,-72,929,842),51783=>array(44,-70,936,842),51784=>array(44,-66,908,842),51785=>array(44,-59,916,842),51786=>array(44,-60,928,842),51787=>array(44,-68,908,842),51788=>array(41,-70,907,841),51789=>array(64,-61,907,841),51790=>array(64,-61,907,841),51791=>array(64,-71,931,841),51792=>array(55,-46,907,841),51793=>array(64,-68,912,841),51794=>array(64,-76,907,841),51795=>array(64,-44,921,841),51796=>array(64,-62,917,841),51797=>array(64,-64,907,841),51798=>array(64,-64,908,841),51799=>array(64,-64,908,841),51800=>array(64,-69,923,841),51801=>array(64,-64,908,841),51802=>array(64,-64,908,841),51803=>array(64,-76,906,841),51804=>array(64,-62,907,841),51805=>array(64,-61,907,841),51806=>array(64,-69,922,841),51807=>array(64,-74,929,841),51808=>array(64,-69,927,841),51809=>array(64,-68,911,841),51810=>array(64,-72,929,841),51811=>array(64,-70,936,841),51812=>array(64,-66,908,841),51813=>array(64,-59,916,841),51814=>array(64,-60,928,841),51815=>array(64,-68,908,841),51816=>array(33,-68,907,843),51817=>array(44,-61,907,843),51818=>array(44,-61,907,843),51819=>array(44,-71,931,843),51820=>array(52,-46,907,843),51821=>array(44,-68,912,843),51822=>array(44,-76,907,843),51823=>array(44,-44,921,843),51824=>array(44,-62,917,843),51825=>array(44,-64,907,843),51826=>array(44,-64,908,843),51827=>array(44,-64,908,843),51828=>array(44,-69,923,843),51829=>array(44,-64,908,843),51830=>array(44,-64,908,843),51831=>array(44,-76,907,843),51832=>array(44,-62,907,843),51833=>array(44,-61,907,843),51834=>array(44,-69,922,843),51835=>array(44,-74,929,843),51836=>array(44,-69,927,843),51837=>array(44,-68,911,843),51838=>array(44,-72,929,843),51839=>array(44,-70,936,843),51840=>array(44,-66,908,843),51841=>array(44,-59,916,843),51842=>array(44,-60,928,843),51843=>array(44,-68,908,843),51844=>array(36,-70,907,842),51845=>array(54,-61,908,842),51846=>array(54,-61,908,842),51847=>array(54,-71,931,842),51848=>array(55,-46,907,842),51849=>array(54,-68,912,842),51850=>array(54,-76,908,842),51851=>array(54,-44,921,842),51852=>array(54,-62,917,842),51853=>array(54,-64,908,842),51854=>array(54,-64,908,842),51855=>array(54,-64,908,842),51856=>array(54,-69,923,842),51857=>array(54,-64,908,842),51858=>array(54,-64,908,842),51859=>array(54,-76,908,842),51860=>array(54,-62,908,842),51861=>array(54,-61,908,842),51862=>array(54,-69,922,842),51863=>array(54,-74,929,842),51864=>array(54,-69,927,842),51865=>array(54,-68,911,842),51866=>array(54,-72,929,842),51867=>array(54,-70,936,842),51868=>array(54,-66,908,842),51869=>array(54,-59,916,842),51870=>array(54,-60,928,842),51871=>array(54,-68,908,842),51872=>array(33,-68,907,843),51873=>array(49,-61,907,843),51874=>array(49,-61,907,843),51875=>array(49,-71,931,843),51876=>array(47,-46,907,843),51877=>array(49,-68,912,843),51878=>array(49,-76,907,843),51879=>array(49,-44,921,843),51880=>array(49,-62,917,843),51881=>array(49,-64,907,843),51882=>array(49,-64,908,843),51883=>array(49,-64,908,843),51884=>array(49,-69,923,843),51885=>array(49,-64,908,843),51886=>array(49,-64,908,843),51887=>array(49,-76,907,843),51888=>array(49,-62,907,843),51889=>array(49,-61,907,843),51890=>array(49,-69,922,843),51891=>array(49,-74,929,843),51892=>array(49,-69,927,843),51893=>array(49,-68,911,843),51894=>array(49,-72,929,843),51895=>array(49,-70,936,843),51896=>array(49,-66,908,843),51897=>array(49,-59,916,843),51898=>array(49,-60,928,843),51899=>array(49,-68,908,843),51900=>array(55,22,943,755),51901=>array(79,-61,921,786),51902=>array(79,-61,921,786),51903=>array(79,-71,921,786),51904=>array(79,-46,922,786),51905=>array(79,-68,921,786),51906=>array(79,-74,921,786),51907=>array(79,-44,921,786),51908=>array(79,-62,921,786),51909=>array(79,-64,921,786),51910=>array(79,-64,921,786),51911=>array(79,-63,921,786),51912=>array(79,-68,921,786),51913=>array(79,-64,921,786),51914=>array(79,-63,921,786),51915=>array(79,-74,921,786),51916=>array(79,-62,921,786),51917=>array(79,-61,921,786),51918=>array(79,-69,921,786),51919=>array(79,-74,921,786),51920=>array(79,-69,921,786),51921=>array(79,-68,921,786),51922=>array(79,-72,921,786),51923=>array(79,-70,921,786),51924=>array(79,-66,921,786),51925=>array(79,-59,921,786),51926=>array(79,-60,921,786),51927=>array(79,-68,921,786),51928=>array(50,-69,936,842),51929=>array(65,-59,936,842),51930=>array(65,-61,936,842),51931=>array(65,-71,936,842),51932=>array(72,-45,936,842),51933=>array(65,-69,936,842),51934=>array(65,-76,936,842),51935=>array(65,-44,936,842),51936=>array(65,-62,936,842),51937=>array(65,-64,936,842),51938=>array(65,-64,936,842),51939=>array(65,-64,936,842),51940=>array(65,-70,936,842),51941=>array(65,-64,936,842),51942=>array(65,-64,936,842),51943=>array(65,-76,936,842),51944=>array(65,-62,936,842),51945=>array(65,-61,936,842),51946=>array(65,-70,936,842),51947=>array(65,-74,936,842),51948=>array(65,-69,936,842),51949=>array(65,-67,936,842),51950=>array(65,-72,936,842),51951=>array(65,-71,936,842),51952=>array(65,-66,936,842),51953=>array(65,-59,936,842),51954=>array(65,-60,936,842),51955=>array(65,-69,936,842),51956=>array(50,-69,907,842),51957=>array(71,-61,907,842),51958=>array(71,-61,907,842),51959=>array(71,-71,931,842),51960=>array(66,-46,907,842),51961=>array(71,-68,912,842),51962=>array(71,-76,907,842),51963=>array(71,-44,921,842),51964=>array(71,-62,917,842),51965=>array(71,-64,907,842),51966=>array(71,-64,908,842),51967=>array(71,-64,908,842),51968=>array(71,-69,923,842),51969=>array(71,-64,908,842),51970=>array(71,-64,908,842),51971=>array(71,-76,907,842),51972=>array(71,-62,907,842),51973=>array(71,-61,907,842),51974=>array(71,-69,922,842),51975=>array(71,-74,929,842),51976=>array(71,-69,927,842),51977=>array(71,-68,911,842),51978=>array(71,-72,929,842),51979=>array(71,-70,936,842),51980=>array(71,-66,908,842),51981=>array(71,-59,916,842),51982=>array(71,-60,928,842),51983=>array(71,-68,908,842),51984=>array(66,-69,907,842),51985=>array(65,-61,907,842),51986=>array(65,-61,907,842),51987=>array(65,-71,931,842),51988=>array(65,-46,907,842),51989=>array(65,-68,912,842),51990=>array(65,-76,907,842),51991=>array(65,-44,921,842),51992=>array(65,-62,917,842),51993=>array(65,-64,907,842),51994=>array(65,-64,908,842),51995=>array(65,-64,908,842),51996=>array(65,-69,923,842),51997=>array(65,-64,908,842),51998=>array(65,-64,908,842),51999=>array(65,-76,907,842),52000=>array(65,-62,907,842),52001=>array(65,-61,907,842),52002=>array(65,-69,922,842),52003=>array(65,-74,929,842),52004=>array(65,-69,927,842),52005=>array(65,-68,911,842),52006=>array(65,-72,929,842),52007=>array(65,-70,936,842),52008=>array(65,-66,908,842),52009=>array(65,-59,916,842),52010=>array(65,-60,928,842),52011=>array(65,-68,908,842),52012=>array(62,22,943,756),52013=>array(79,-61,922,786),52014=>array(79,-61,922,786),52015=>array(79,-71,922,786),52016=>array(79,-46,922,786),52017=>array(79,-68,922,786),52018=>array(79,-74,922,786),52019=>array(79,-44,922,786),52020=>array(79,-62,922,786),52021=>array(79,-64,922,786),52022=>array(79,-64,922,786),52023=>array(79,-63,922,786),52024=>array(79,-68,922,786),52025=>array(79,-64,922,786),52026=>array(79,-63,922,786),52027=>array(79,-74,922,786),52028=>array(79,-62,922,786),52029=>array(79,-61,922,786),52030=>array(79,-69,922,786),52031=>array(79,-74,922,786),52032=>array(79,-69,922,786),52033=>array(79,-68,922,786),52034=>array(79,-72,922,786),52035=>array(79,-70,922,786),52036=>array(79,-66,922,786),52037=>array(79,-59,922,786),52038=>array(79,-60,922,786),52039=>array(79,-68,922,786),52040=>array(82,-64,924,811),52041=>array(79,-61,921,811),52042=>array(79,-61,921,811),52043=>array(79,-71,921,811),52044=>array(79,-46,921,811),52045=>array(79,-68,921,811),52046=>array(79,-74,921,811),52047=>array(79,-44,921,811),52048=>array(79,-62,921,811),52049=>array(79,-64,921,811),52050=>array(79,-64,921,811),52051=>array(79,-63,921,811),52052=>array(79,-68,921,811),52053=>array(79,-64,921,811),52054=>array(79,-63,921,811),52055=>array(79,-74,921,811),52056=>array(79,-62,921,811),52057=>array(79,-61,921,811),52058=>array(79,-69,921,811),52059=>array(79,-74,921,811),52060=>array(79,-69,921,811),52061=>array(79,-68,921,811),52062=>array(79,-72,921,811),52063=>array(79,-70,921,811),52064=>array(79,-66,921,811),52065=>array(79,-59,921,811),52066=>array(79,-60,921,811),52067=>array(79,-68,921,811),52068=>array(81,-70,907,841),52069=>array(74,-61,909,841),52070=>array(74,-61,909,841),52071=>array(74,-71,931,841),52072=>array(66,-46,909,842),52073=>array(74,-68,912,841),52074=>array(74,-76,909,841),52075=>array(74,-44,921,841),52076=>array(74,-62,917,841),52077=>array(74,-64,909,841),52078=>array(74,-64,909,841),52079=>array(74,-64,909,841),52080=>array(74,-69,923,841),52081=>array(74,-64,909,841),52082=>array(74,-64,909,841),52083=>array(74,-76,909,841),52084=>array(74,-62,909,841),52085=>array(74,-61,909,841),52086=>array(74,-69,922,841),52087=>array(74,-74,929,841),52088=>array(74,-69,927,841),52089=>array(74,-68,911,841),52090=>array(74,-72,929,841),52091=>array(74,-70,936,841),52092=>array(74,-66,909,841),52093=>array(74,-59,916,841),52094=>array(74,-60,928,841),52095=>array(74,-68,909,841),52096=>array(50,-68,907,843),52097=>array(68,-61,907,843),52098=>array(68,-61,907,843),52099=>array(68,-71,931,843),52100=>array(68,-46,907,843),52101=>array(68,-68,912,843),52102=>array(68,-76,907,843),52103=>array(68,-44,921,843),52104=>array(68,-62,917,843),52105=>array(68,-64,907,843),52106=>array(68,-64,908,843),52107=>array(68,-64,908,843),52108=>array(68,-69,923,843),52109=>array(68,-64,908,843),52110=>array(68,-64,908,843),52111=>array(68,-76,907,843),52112=>array(68,-62,907,843),52113=>array(68,-61,907,843),52114=>array(68,-69,922,843),52115=>array(68,-74,929,843),52116=>array(68,-69,927,843),52117=>array(68,-68,911,843),52118=>array(68,-72,929,843),52119=>array(68,-70,936,843),52120=>array(68,-66,908,843),52121=>array(68,-59,916,843),52122=>array(68,-60,928,843),52123=>array(68,-68,908,843),52124=>array(60,-69,907,842),52125=>array(65,-61,907,842),52126=>array(65,-61,907,842),52127=>array(65,-71,931,842),52128=>array(65,-46,907,842),52129=>array(65,-68,912,842),52130=>array(65,-76,907,842),52131=>array(65,-44,921,842),52132=>array(65,-62,917,842),52133=>array(65,-64,907,842),52134=>array(65,-64,908,842),52135=>array(65,-64,908,842),52136=>array(65,-69,923,842),52137=>array(65,-64,908,842),52138=>array(65,-64,908,842),52139=>array(65,-76,907,842),52140=>array(65,-62,907,842),52141=>array(65,-61,907,842),52142=>array(65,-69,922,842),52143=>array(65,-74,929,842),52144=>array(65,-69,927,842),52145=>array(65,-68,911,842),52146=>array(65,-72,929,842),52147=>array(65,-70,936,842),52148=>array(65,-66,908,842),52149=>array(65,-59,916,842),52150=>array(65,-60,928,842),52151=>array(65,-68,908,842),52152=>array(82,-64,924,811),52153=>array(79,-61,921,811),52154=>array(79,-61,921,811),52155=>array(79,-71,921,811),52156=>array(81,-46,922,811),52157=>array(79,-68,921,811),52158=>array(79,-74,921,811),52159=>array(79,-44,921,811),52160=>array(79,-62,921,811),52161=>array(79,-64,921,811),52162=>array(79,-64,921,811),52163=>array(79,-63,921,811),52164=>array(79,-68,921,811),52165=>array(79,-64,921,811),52166=>array(79,-63,921,811),52167=>array(79,-74,921,811),52168=>array(79,-62,921,811),52169=>array(79,-61,921,811),52170=>array(79,-69,921,811),52171=>array(79,-74,921,811),52172=>array(79,-69,921,811),52173=>array(79,-68,921,811),52174=>array(79,-72,921,811),52175=>array(79,-70,921,811),52176=>array(79,-66,921,811),52177=>array(79,-59,921,811),52178=>array(79,-60,921,811),52179=>array(79,-68,921,811),52180=>array(56,37,944,728),52181=>array(79,-61,922,786),52182=>array(79,-61,922,786),52183=>array(79,-71,922,786),52184=>array(79,-46,921,784),52185=>array(79,-68,922,786),52186=>array(79,-74,922,786),52187=>array(79,-44,922,786),52188=>array(79,-62,922,786),52189=>array(79,-64,922,786),52190=>array(79,-64,922,786),52191=>array(79,-63,922,786),52192=>array(79,-68,922,786),52193=>array(79,-64,922,786),52194=>array(79,-63,922,786),52195=>array(79,-74,922,786),52196=>array(79,-62,922,786),52197=>array(79,-61,922,786),52198=>array(79,-69,922,786),52199=>array(79,-74,922,786),52200=>array(79,-69,922,786),52201=>array(79,-68,922,786),52202=>array(79,-72,922,786),52203=>array(79,-70,922,786),52204=>array(79,-66,922,786),52205=>array(79,-59,922,786),52206=>array(79,-60,922,786),52207=>array(79,-68,922,786),52208=>array(63,-69,907,842),52209=>array(65,-61,907,842),52210=>array(65,-61,907,842),52211=>array(65,-71,931,842),52212=>array(65,-46,907,842),52213=>array(65,-68,912,842),52214=>array(65,-76,907,842),52215=>array(65,-44,921,842),52216=>array(65,-62,917,842),52217=>array(65,-64,907,842),52218=>array(65,-64,908,842),52219=>array(65,-64,908,842),52220=>array(65,-69,923,842),52221=>array(65,-64,908,842),52222=>array(65,-64,908,842),52223=>array(65,-76,907,842),52224=>array(65,-62,907,842),52225=>array(65,-61,907,842),52226=>array(65,-69,922,842),52227=>array(65,-74,929,842),52228=>array(65,-69,927,842),52229=>array(65,-68,911,842),52230=>array(65,-72,929,842),52231=>array(65,-70,936,842),52232=>array(65,-66,908,842),52233=>array(65,-59,916,842),52234=>array(65,-60,928,842),52235=>array(65,-68,908,842),52236=>array(76,-69,907,842),52237=>array(60,-61,907,842),52238=>array(60,-61,907,842),52239=>array(60,-71,931,842),52240=>array(57,-46,907,842),52241=>array(60,-68,912,842),52242=>array(60,-76,907,842),52243=>array(60,-44,921,842),52244=>array(60,-62,917,842),52245=>array(60,-64,907,842),52246=>array(60,-64,908,842),52247=>array(60,-64,908,842),52248=>array(60,-69,923,842),52249=>array(60,-64,908,842),52250=>array(60,-64,908,842),52251=>array(60,-76,907,842),52252=>array(60,-62,907,842),52253=>array(60,-61,907,842),52254=>array(60,-69,922,842),52255=>array(60,-74,929,842),52256=>array(60,-69,927,842),52257=>array(60,-68,911,842),52258=>array(60,-72,929,842),52259=>array(60,-70,936,842),52260=>array(60,-66,908,842),52261=>array(60,-59,916,842),52262=>array(60,-60,928,842),52263=>array(60,-68,908,842),52264=>array(86,-69,935,842),52265=>array(71,-59,936,842),52266=>array(71,-61,936,842),52267=>array(71,-71,936,842),52268=>array(64,-45,936,842),52269=>array(71,-69,936,842),52270=>array(71,-76,936,842),52271=>array(71,-44,936,842),52272=>array(71,-62,936,842),52273=>array(71,-64,936,842),52274=>array(71,-64,936,842),52275=>array(71,-64,936,842),52276=>array(71,-70,936,842),52277=>array(71,-64,936,842),52278=>array(71,-64,936,842),52279=>array(71,-76,936,842),52280=>array(71,-62,936,842),52281=>array(71,-61,936,842),52282=>array(71,-70,936,842),52283=>array(71,-74,936,842),52284=>array(71,-69,936,842),52285=>array(71,-67,936,842),52286=>array(71,-72,936,842),52287=>array(71,-71,936,842),52288=>array(71,-66,936,842),52289=>array(71,-59,936,842),52290=>array(71,-60,936,842),52291=>array(71,-69,936,842),52292=>array(81,-69,907,842),52293=>array(69,-61,907,842),52294=>array(69,-61,907,842),52295=>array(69,-71,931,842),52296=>array(64,-46,907,842),52297=>array(69,-68,912,842),52298=>array(69,-76,907,842),52299=>array(69,-44,921,842),52300=>array(69,-62,917,842),52301=>array(69,-64,907,842),52302=>array(69,-64,908,842),52303=>array(69,-64,908,842),52304=>array(69,-69,923,842),52305=>array(69,-64,908,842),52306=>array(69,-64,908,842),52307=>array(69,-76,907,842),52308=>array(69,-62,907,842),52309=>array(69,-61,907,842),52310=>array(69,-69,922,842),52311=>array(69,-74,929,842),52312=>array(69,-69,927,842),52313=>array(69,-68,911,842),52314=>array(69,-72,929,842),52315=>array(69,-70,936,842),52316=>array(69,-66,908,842),52317=>array(69,-59,916,842),52318=>array(69,-60,928,842),52319=>array(69,-68,908,842),52320=>array(86,-68,935,843),52321=>array(74,-59,936,842),52322=>array(74,-61,936,842),52323=>array(74,-71,936,842),52324=>array(64,-45,936,842),52325=>array(74,-69,936,842),52326=>array(74,-76,936,842),52327=>array(74,-44,936,842),52328=>array(74,-62,936,842),52329=>array(74,-64,936,842),52330=>array(74,-64,936,842),52331=>array(74,-64,936,842),52332=>array(74,-70,936,842),52333=>array(74,-64,936,842),52334=>array(74,-64,936,842),52335=>array(74,-76,936,842),52336=>array(74,-62,936,842),52337=>array(74,-61,936,842),52338=>array(74,-70,936,842),52339=>array(74,-74,936,842),52340=>array(74,-69,936,842),52341=>array(74,-67,936,842),52342=>array(74,-72,936,842),52343=>array(74,-71,936,842),52344=>array(74,-66,936,842),52345=>array(74,-59,936,842),52346=>array(74,-60,936,842),52347=>array(74,-69,936,842),52348=>array(81,-69,907,842),52349=>array(71,-61,907,842),52350=>array(71,-61,907,842),52351=>array(71,-71,931,842),52352=>array(64,-46,907,842),52353=>array(71,-68,912,842),52354=>array(71,-76,907,842),52355=>array(71,-44,921,842),52356=>array(71,-62,917,842),52357=>array(71,-64,907,842),52358=>array(71,-64,908,842),52359=>array(71,-64,908,842),52360=>array(71,-69,923,842),52361=>array(71,-64,908,842),52362=>array(71,-64,908,842),52363=>array(71,-76,907,842),52364=>array(71,-62,907,842),52365=>array(71,-61,907,842),52366=>array(71,-69,922,842),52367=>array(71,-74,929,842),52368=>array(71,-69,927,842),52369=>array(71,-68,911,842),52370=>array(71,-72,929,842),52371=>array(71,-70,936,842),52372=>array(71,-66,908,842),52373=>array(71,-59,916,842),52374=>array(71,-60,928,842),52375=>array(71,-68,908,842),52376=>array(86,-70,907,841),52377=>array(68,-61,907,842),52378=>array(68,-61,907,842),52379=>array(68,-71,931,842),52380=>array(66,-46,907,841),52381=>array(68,-68,912,842),52382=>array(68,-76,907,842),52383=>array(68,-44,921,842),52384=>array(68,-62,917,842),52385=>array(68,-64,907,842),52386=>array(68,-64,908,842),52387=>array(68,-64,908,842),52388=>array(68,-69,923,842),52389=>array(68,-64,908,842),52390=>array(68,-64,908,842),52391=>array(68,-76,906,842),52392=>array(68,-62,907,842),52393=>array(68,-61,907,842),52394=>array(68,-69,922,842),52395=>array(68,-74,929,842),52396=>array(68,-69,927,842),52397=>array(68,-68,911,842),52398=>array(68,-72,929,842),52399=>array(68,-70,936,842),52400=>array(68,-66,908,842),52401=>array(68,-59,916,842),52402=>array(68,-60,928,842),52403=>array(68,-68,908,842),52404=>array(71,-68,907,843),52405=>array(65,-61,907,843),52406=>array(65,-61,907,843),52407=>array(65,-71,931,843),52408=>array(66,-46,907,843),52409=>array(65,-68,912,843),52410=>array(65,-76,907,843),52411=>array(65,-44,921,843),52412=>array(65,-62,917,843),52413=>array(65,-64,907,843),52414=>array(65,-64,908,843),52415=>array(65,-64,908,843),52416=>array(65,-69,923,843),52417=>array(65,-64,908,843),52418=>array(65,-64,908,843),52419=>array(65,-76,907,843),52420=>array(65,-62,907,843),52421=>array(65,-61,907,843),52422=>array(65,-69,922,843),52423=>array(65,-74,929,843),52424=>array(65,-69,927,843),52425=>array(65,-68,911,843),52426=>array(65,-72,929,843),52427=>array(65,-70,936,843),52428=>array(65,-66,908,843),52429=>array(65,-59,916,843),52430=>array(65,-60,928,843),52431=>array(65,-68,908,843),52432=>array(86,-70,907,842),52433=>array(65,-61,907,842),52434=>array(65,-61,907,842),52435=>array(65,-71,931,842),52436=>array(62,-46,907,842),52437=>array(65,-68,912,842),52438=>array(65,-76,907,842),52439=>array(65,-44,921,842),52440=>array(65,-62,917,842),52441=>array(65,-64,907,842),52442=>array(65,-64,908,842),52443=>array(65,-64,908,842),52444=>array(65,-69,923,842),52445=>array(65,-64,908,842),52446=>array(65,-64,908,842),52447=>array(65,-76,907,842),52448=>array(65,-62,907,842),52449=>array(65,-61,907,842),52450=>array(65,-69,922,842),52451=>array(65,-74,929,842),52452=>array(65,-69,927,842),52453=>array(65,-68,911,842),52454=>array(65,-72,929,842),52455=>array(65,-70,936,842),52456=>array(65,-66,908,842),52457=>array(65,-59,916,842),52458=>array(65,-60,928,842),52459=>array(65,-68,908,842),52460=>array(71,-68,907,843),52461=>array(65,-61,907,843),52462=>array(65,-61,907,843),52463=>array(65,-71,931,843),52464=>array(65,-46,907,843),52465=>array(65,-68,912,843),52466=>array(65,-76,907,843),52467=>array(65,-44,921,843),52468=>array(65,-62,917,843),52469=>array(65,-64,907,843),52470=>array(65,-64,908,843),52471=>array(65,-64,908,843),52472=>array(65,-69,923,843),52473=>array(65,-64,908,843),52474=>array(65,-64,908,843),52475=>array(65,-76,907,843),52476=>array(65,-62,907,843),52477=>array(65,-61,907,843),52478=>array(65,-69,922,843),52479=>array(65,-74,929,843),52480=>array(65,-69,927,843),52481=>array(65,-68,911,843),52482=>array(65,-72,929,843),52483=>array(65,-70,936,843),52484=>array(65,-66,908,843),52485=>array(65,-59,916,843),52486=>array(65,-60,928,843),52487=>array(65,-68,908,843),52488=>array(62,-3,943,777),52489=>array(79,-61,921,802),52490=>array(79,-61,921,802),52491=>array(79,-71,921,802),52492=>array(79,-46,921,792),52493=>array(79,-68,921,802),52494=>array(79,-74,921,802),52495=>array(79,-44,921,802),52496=>array(79,-62,921,802),52497=>array(79,-64,921,802),52498=>array(79,-64,921,802),52499=>array(79,-63,921,802),52500=>array(79,-68,921,802),52501=>array(79,-64,921,802),52502=>array(79,-63,921,802),52503=>array(79,-74,921,802),52504=>array(79,-62,921,802),52505=>array(79,-61,921,802),52506=>array(79,-69,921,802),52507=>array(79,-74,921,802),52508=>array(79,-69,921,802),52509=>array(79,-68,921,802),52510=>array(79,-72,921,802),52511=>array(79,-70,921,802),52512=>array(79,-66,921,802),52513=>array(79,-59,921,802),52514=>array(79,-60,921,802),52515=>array(79,-68,921,802),52516=>array(64,-69,936,842),52517=>array(77,-59,936,842),52518=>array(77,-61,936,842),52519=>array(77,-71,936,842),52520=>array(72,-45,936,842),52521=>array(77,-69,936,842),52522=>array(77,-76,936,842),52523=>array(77,-44,936,842),52524=>array(77,-62,936,842),52525=>array(77,-64,936,842),52526=>array(77,-64,936,842),52527=>array(77,-64,936,842),52528=>array(77,-70,936,842),52529=>array(77,-64,936,842),52530=>array(77,-64,936,842),52531=>array(77,-76,936,842),52532=>array(77,-62,936,842),52533=>array(77,-61,936,842),52534=>array(77,-70,936,842),52535=>array(77,-74,936,842),52536=>array(77,-69,936,842),52537=>array(77,-67,936,842),52538=>array(77,-72,936,842),52539=>array(77,-71,936,842),52540=>array(77,-66,936,842),52541=>array(77,-59,936,842),52542=>array(77,-60,936,842),52543=>array(77,-69,936,842),52544=>array(57,-69,907,842),52545=>array(72,-61,907,842),52546=>array(72,-61,907,842),52547=>array(72,-71,931,842),52548=>array(72,-46,907,842),52549=>array(72,-68,912,842),52550=>array(72,-76,907,842),52551=>array(72,-44,921,842),52552=>array(72,-62,917,842),52553=>array(72,-64,907,842),52554=>array(72,-64,908,842),52555=>array(72,-64,908,842),52556=>array(72,-69,923,842),52557=>array(72,-64,908,842),52558=>array(72,-64,908,842),52559=>array(72,-76,907,842),52560=>array(72,-62,907,842),52561=>array(72,-61,907,842),52562=>array(72,-69,922,842),52563=>array(72,-74,929,842),52564=>array(72,-69,927,842),52565=>array(72,-68,911,842),52566=>array(72,-72,929,842),52567=>array(72,-70,936,842),52568=>array(72,-66,908,842),52569=>array(72,-59,916,842),52570=>array(72,-60,928,842),52571=>array(72,-68,908,842),52572=>array(67,-69,907,842),52573=>array(65,-61,907,842),52574=>array(65,-61,907,842),52575=>array(65,-71,931,842),52576=>array(65,-46,907,842),52577=>array(65,-68,912,842),52578=>array(65,-76,907,842),52579=>array(65,-44,921,842),52580=>array(65,-62,917,842),52581=>array(65,-64,907,842),52582=>array(65,-64,908,842),52583=>array(65,-64,908,842),52584=>array(65,-69,923,842),52585=>array(65,-64,908,842),52586=>array(65,-64,908,842),52587=>array(65,-76,907,842),52588=>array(65,-62,907,842),52589=>array(65,-61,907,842),52590=>array(65,-69,922,842),52591=>array(65,-74,929,842),52592=>array(65,-69,927,842),52593=>array(65,-68,911,842),52594=>array(65,-72,929,842),52595=>array(65,-70,936,842),52596=>array(65,-66,908,842),52597=>array(65,-59,916,842),52598=>array(65,-60,928,842),52599=>array(65,-68,908,842),52600=>array(62,-3,938,777),52601=>array(79,-61,922,802),52602=>array(79,-61,922,802),52603=>array(79,-71,922,802),52604=>array(79,-46,922,792),52605=>array(79,-68,922,802),52606=>array(79,-74,922,802),52607=>array(79,-44,922,802),52608=>array(79,-62,922,802),52609=>array(79,-64,922,802),52610=>array(79,-64,922,802),52611=>array(79,-63,922,802),52612=>array(79,-68,922,802),52613=>array(79,-64,922,802),52614=>array(79,-63,922,802),52615=>array(79,-74,922,802),52616=>array(79,-62,922,802),52617=>array(79,-61,922,802),52618=>array(79,-69,922,802),52619=>array(79,-74,922,802),52620=>array(79,-69,922,802),52621=>array(79,-68,922,802),52622=>array(79,-72,922,802),52623=>array(79,-70,922,802),52624=>array(79,-66,922,802),52625=>array(79,-59,922,802),52626=>array(79,-60,922,802),52627=>array(79,-68,922,802),52628=>array(79,-64,921,820),52629=>array(79,-61,921,822),52630=>array(79,-61,921,822),52631=>array(79,-71,921,822),52632=>array(79,-46,921,820),52633=>array(79,-68,921,822),52634=>array(79,-74,921,822),52635=>array(79,-44,921,822),52636=>array(79,-62,921,822),52637=>array(79,-64,921,822),52638=>array(79,-64,921,822),52639=>array(79,-63,921,822),52640=>array(79,-68,921,822),52641=>array(79,-64,921,822),52642=>array(79,-63,921,822),52643=>array(79,-74,921,822),52644=>array(79,-62,921,822),52645=>array(79,-61,921,822),52646=>array(79,-69,921,822),52647=>array(79,-74,921,822),52648=>array(79,-69,921,822),52649=>array(79,-68,921,822),52650=>array(79,-72,921,822),52651=>array(79,-70,921,822),52652=>array(79,-66,921,822),52653=>array(79,-59,921,822),52654=>array(79,-60,921,822),52655=>array(79,-68,921,822),52656=>array(70,-70,907,841),52657=>array(75,-61,910,841),52658=>array(75,-61,910,841),52659=>array(75,-71,931,841),52660=>array(76,-46,910,842),52661=>array(75,-68,912,841),52662=>array(75,-76,910,841),52663=>array(75,-44,921,841),52664=>array(75,-62,917,841),52665=>array(75,-64,910,841),52666=>array(75,-64,910,841),52667=>array(75,-64,910,841),52668=>array(75,-69,923,841),52669=>array(75,-64,910,841),52670=>array(75,-64,910,841),52671=>array(75,-76,910,841),52672=>array(75,-62,910,841),52673=>array(75,-61,910,841),52674=>array(75,-69,922,841),52675=>array(75,-74,929,841),52676=>array(75,-69,927,841),52677=>array(75,-68,911,841),52678=>array(75,-72,929,841),52679=>array(75,-70,936,841),52680=>array(75,-66,910,841),52681=>array(75,-59,916,841),52682=>array(75,-60,928,841),52683=>array(75,-68,910,841),52684=>array(63,-68,907,843),52685=>array(70,-61,907,843),52686=>array(70,-61,907,843),52687=>array(70,-71,931,843),52688=>array(76,-46,907,843),52689=>array(70,-68,912,843),52690=>array(70,-76,907,843),52691=>array(70,-44,921,843),52692=>array(70,-62,917,843),52693=>array(70,-64,907,843),52694=>array(70,-64,908,843),52695=>array(70,-64,908,843),52696=>array(70,-69,923,843),52697=>array(70,-64,908,843),52698=>array(70,-64,908,843),52699=>array(70,-76,907,843),52700=>array(70,-62,907,843),52701=>array(70,-61,907,843),52702=>array(70,-69,922,843),52703=>array(70,-74,929,843),52704=>array(70,-69,927,843),52705=>array(70,-68,911,843),52706=>array(70,-72,929,843),52707=>array(70,-70,936,843),52708=>array(70,-66,908,843),52709=>array(70,-59,916,843),52710=>array(70,-60,928,843),52711=>array(70,-68,908,843),52712=>array(70,-69,907,842),52713=>array(65,-61,907,842),52714=>array(65,-61,907,842),52715=>array(65,-71,931,842),52716=>array(66,-46,907,842),52717=>array(65,-68,912,842),52718=>array(65,-76,907,842),52719=>array(65,-44,921,842),52720=>array(65,-62,917,842),52721=>array(65,-64,907,842),52722=>array(65,-64,908,842),52723=>array(65,-64,908,842),52724=>array(65,-69,923,842),52725=>array(65,-64,908,842),52726=>array(65,-64,908,842),52727=>array(65,-76,907,842),52728=>array(65,-62,907,842),52729=>array(65,-61,907,842),52730=>array(65,-69,922,842),52731=>array(65,-74,929,842),52732=>array(65,-69,927,842),52733=>array(65,-68,911,842),52734=>array(65,-72,929,842),52735=>array(65,-70,936,842),52736=>array(65,-66,908,842),52737=>array(65,-59,916,842),52738=>array(65,-60,928,842),52739=>array(65,-68,908,842),52740=>array(87,-54,928,820),52741=>array(79,-61,921,822),52742=>array(79,-61,921,822),52743=>array(79,-71,921,822),52744=>array(81,-46,922,820),52745=>array(79,-68,921,822),52746=>array(79,-74,921,822),52747=>array(79,-44,921,822),52748=>array(79,-62,921,822),52749=>array(79,-64,921,822),52750=>array(79,-64,921,822),52751=>array(79,-63,921,822),52752=>array(79,-68,921,822),52753=>array(79,-64,921,822),52754=>array(79,-63,921,822),52755=>array(79,-74,921,822),52756=>array(79,-62,921,822),52757=>array(79,-61,921,822),52758=>array(79,-69,921,822),52759=>array(79,-74,921,822),52760=>array(79,-69,921,822),52761=>array(79,-68,921,822),52762=>array(79,-72,921,822),52763=>array(79,-70,921,822),52764=>array(79,-66,921,822),52765=>array(79,-59,921,822),52766=>array(79,-60,921,822),52767=>array(79,-68,921,822),52768=>array(57,47,943,752),52769=>array(79,-61,922,802),52770=>array(79,-61,922,802),52771=>array(79,-71,922,802),52772=>array(79,-46,922,792),52773=>array(79,-68,922,802),52774=>array(79,-74,922,802),52775=>array(79,-44,922,802),52776=>array(79,-62,922,802),52777=>array(79,-64,922,802),52778=>array(79,-64,922,802),52779=>array(79,-63,922,802),52780=>array(79,-68,922,802),52781=>array(79,-64,922,802),52782=>array(79,-63,922,802),52783=>array(79,-74,922,802),52784=>array(79,-62,922,802),52785=>array(79,-61,922,802),52786=>array(79,-69,922,802),52787=>array(79,-74,922,802),52788=>array(79,-69,922,802),52789=>array(79,-68,922,802),52790=>array(79,-72,922,802),52791=>array(79,-70,922,802),52792=>array(79,-66,922,802),52793=>array(79,-59,922,802),52794=>array(79,-60,922,802),52795=>array(79,-68,922,802),52796=>array(70,-69,907,842),52797=>array(65,-61,907,842),52798=>array(65,-61,907,842),52799=>array(65,-71,931,842),52800=>array(65,-46,907,842),52801=>array(65,-68,912,842),52802=>array(65,-76,907,842),52803=>array(65,-44,921,842),52804=>array(65,-62,917,842),52805=>array(65,-64,907,842),52806=>array(65,-64,908,842),52807=>array(65,-64,908,842),52808=>array(65,-69,923,842),52809=>array(65,-64,908,842),52810=>array(65,-64,908,842),52811=>array(65,-76,907,842),52812=>array(65,-62,907,842),52813=>array(65,-61,907,842),52814=>array(65,-69,922,842),52815=>array(65,-74,929,842),52816=>array(65,-69,927,842),52817=>array(65,-68,911,842),52818=>array(65,-72,929,842),52819=>array(65,-70,936,842),52820=>array(65,-66,908,842),52821=>array(65,-59,916,842),52822=>array(65,-60,928,842),52823=>array(65,-68,908,842),52824=>array(115,-69,907,842),52825=>array(95,-61,907,842),52826=>array(95,-61,907,842),52827=>array(95,-71,931,842),52828=>array(99,-46,907,842),52829=>array(95,-68,912,842),52830=>array(95,-76,907,842),52831=>array(95,-44,921,842),52832=>array(95,-62,917,842),52833=>array(95,-64,907,842),52834=>array(95,-64,908,842),52835=>array(95,-64,908,842),52836=>array(95,-69,923,842),52837=>array(95,-64,908,842),52838=>array(95,-64,908,842),52839=>array(95,-76,907,842),52840=>array(95,-62,907,842),52841=>array(95,-61,907,842),52842=>array(95,-69,922,842),52843=>array(95,-74,929,842),52844=>array(95,-69,927,842),52845=>array(95,-68,911,842),52846=>array(95,-72,929,842),52847=>array(95,-70,936,842),52848=>array(95,-66,908,842),52849=>array(95,-59,916,842),52850=>array(95,-60,928,842),52851=>array(95,-68,908,842),52852=>array(84,-69,936,842),52853=>array(66,-59,936,842),52854=>array(66,-61,936,842),52855=>array(66,-71,936,842),52856=>array(69,-45,936,842),52857=>array(66,-69,936,842),52858=>array(66,-76,936,842),52859=>array(66,-44,936,842),52860=>array(66,-62,936,842),52861=>array(66,-64,936,842),52862=>array(66,-64,936,842),52863=>array(66,-64,936,842),52864=>array(66,-70,936,842),52865=>array(66,-64,936,842),52866=>array(66,-64,936,842),52867=>array(66,-76,936,842),52868=>array(66,-62,936,842),52869=>array(66,-61,936,842),52870=>array(66,-70,936,842),52871=>array(66,-74,936,842),52872=>array(66,-69,936,842),52873=>array(66,-67,936,842),52874=>array(66,-72,936,842),52875=>array(66,-71,936,842),52876=>array(66,-66,936,842),52877=>array(66,-59,936,842),52878=>array(66,-60,936,842),52879=>array(66,-69,936,842),52880=>array(79,-69,907,842),52881=>array(66,-61,907,842),52882=>array(66,-61,907,842),52883=>array(66,-71,931,842),52884=>array(69,-46,907,842),52885=>array(66,-68,912,842),52886=>array(66,-76,907,842),52887=>array(66,-44,921,842),52888=>array(66,-62,917,842),52889=>array(66,-64,907,842),52890=>array(66,-64,908,842),52891=>array(66,-64,908,842),52892=>array(66,-69,923,842),52893=>array(66,-64,908,842),52894=>array(66,-64,908,842),52895=>array(66,-76,907,842),52896=>array(66,-62,907,842),52897=>array(66,-61,907,842),52898=>array(66,-69,922,842),52899=>array(66,-74,929,842),52900=>array(66,-69,927,842),52901=>array(66,-68,911,842),52902=>array(66,-72,929,842),52903=>array(66,-70,936,842),52904=>array(66,-66,908,842),52905=>array(66,-59,916,842),52906=>array(66,-60,928,842),52907=>array(66,-68,908,842),52908=>array(74,-68,935,843),52909=>array(66,-59,936,842),52910=>array(66,-61,936,842),52911=>array(66,-71,936,842),52912=>array(69,-45,936,842),52913=>array(66,-69,936,842),52914=>array(66,-76,936,842),52915=>array(66,-44,936,842),52916=>array(66,-62,936,842),52917=>array(66,-64,936,842),52918=>array(66,-64,936,842),52919=>array(66,-64,936,842),52920=>array(66,-70,936,842),52921=>array(66,-64,936,842),52922=>array(66,-64,936,842),52923=>array(66,-76,936,842),52924=>array(66,-62,936,842),52925=>array(66,-61,936,842),52926=>array(66,-70,936,842),52927=>array(66,-74,936,842),52928=>array(66,-69,936,842),52929=>array(66,-67,936,842),52930=>array(66,-72,936,842),52931=>array(66,-71,936,842),52932=>array(66,-66,936,842),52933=>array(66,-59,936,842),52934=>array(66,-60,936,842),52935=>array(66,-69,936,842),52936=>array(79,-69,907,842),52937=>array(66,-61,907,842),52938=>array(66,-61,907,842),52939=>array(66,-71,931,842),52940=>array(69,-46,907,842),52941=>array(66,-68,912,842),52942=>array(66,-76,907,842),52943=>array(66,-44,921,842),52944=>array(66,-62,917,842),52945=>array(66,-64,907,842),52946=>array(66,-64,908,842),52947=>array(66,-64,908,842),52948=>array(66,-69,923,842),52949=>array(66,-64,908,842),52950=>array(66,-64,908,842),52951=>array(66,-76,907,842),52952=>array(66,-62,907,842),52953=>array(66,-61,907,842),52954=>array(66,-69,922,842),52955=>array(66,-74,929,842),52956=>array(66,-69,927,842),52957=>array(66,-68,911,842),52958=>array(66,-72,929,842),52959=>array(66,-70,936,842),52960=>array(66,-66,908,842),52961=>array(66,-59,916,842),52962=>array(66,-60,928,842),52963=>array(66,-68,908,842),52964=>array(104,-70,907,841),52965=>array(66,-61,907,841),52966=>array(66,-61,907,841),52967=>array(66,-71,931,841),52968=>array(69,-46,907,841),52969=>array(66,-68,912,841),52970=>array(66,-76,907,841),52971=>array(66,-44,921,841),52972=>array(66,-62,917,841),52973=>array(66,-64,907,841),52974=>array(66,-64,908,841),52975=>array(66,-64,908,841),52976=>array(66,-69,923,841),52977=>array(66,-64,908,841),52978=>array(66,-64,908,841),52979=>array(66,-76,906,841),52980=>array(66,-62,907,841),52981=>array(66,-61,907,841),52982=>array(66,-69,922,841),52983=>array(66,-74,929,841),52984=>array(66,-69,927,841),52985=>array(66,-68,911,841),52986=>array(66,-72,929,841),52987=>array(66,-70,936,841),52988=>array(66,-66,908,841),52989=>array(66,-59,916,841),52990=>array(66,-60,928,841),52991=>array(66,-68,908,841),52992=>array(97,-68,907,843),52993=>array(66,-61,907,843),52994=>array(66,-61,907,843),52995=>array(66,-71,931,843),52996=>array(69,-46,907,843),52997=>array(66,-68,912,843),52998=>array(66,-76,907,843),52999=>array(66,-44,921,843),53000=>array(66,-62,917,843),53001=>array(66,-64,907,843),53002=>array(66,-64,908,843),53003=>array(66,-64,908,843),53004=>array(66,-69,923,843),53005=>array(66,-64,908,843),53006=>array(66,-64,908,843),53007=>array(66,-76,907,843),53008=>array(66,-62,907,843),53009=>array(66,-61,907,843),53010=>array(66,-69,922,843),53011=>array(66,-74,929,843),53012=>array(66,-69,927,843),53013=>array(66,-68,911,843),53014=>array(66,-72,929,843),53015=>array(66,-70,936,843),53016=>array(66,-66,908,843),53017=>array(66,-59,916,843),53018=>array(66,-60,928,843),53019=>array(66,-68,908,843),53020=>array(104,-70,907,842),53021=>array(66,-61,908,842),53022=>array(66,-61,908,842),53023=>array(66,-71,931,842),53024=>array(69,-46,907,842),53025=>array(66,-68,912,842),53026=>array(66,-76,908,842),53027=>array(66,-44,921,842),53028=>array(66,-62,917,842),53029=>array(66,-64,908,842),53030=>array(66,-64,908,842),53031=>array(66,-64,908,842),53032=>array(66,-69,923,842),53033=>array(66,-64,908,842),53034=>array(66,-64,908,842),53035=>array(66,-76,908,842),53036=>array(66,-62,908,842),53037=>array(66,-61,908,842),53038=>array(66,-69,922,842),53039=>array(66,-74,929,842),53040=>array(66,-69,927,842),53041=>array(66,-68,911,842),53042=>array(66,-72,929,842),53043=>array(66,-70,936,842),53044=>array(66,-66,908,842),53045=>array(66,-59,916,842),53046=>array(66,-60,928,842),53047=>array(66,-68,908,842),53048=>array(97,-68,907,843),53049=>array(66,-61,907,843),53050=>array(66,-61,907,843),53051=>array(66,-71,931,843),53052=>array(64,-46,907,843),53053=>array(66,-68,912,843),53054=>array(66,-76,907,843),53055=>array(66,-44,921,843),53056=>array(66,-62,917,843),53057=>array(66,-64,907,843),53058=>array(66,-64,908,843),53059=>array(66,-64,908,843),53060=>array(66,-69,923,843),53061=>array(66,-64,908,843),53062=>array(66,-64,908,843),53063=>array(66,-76,907,843),53064=>array(66,-62,907,843),53065=>array(66,-61,907,843),53066=>array(66,-69,922,843),53067=>array(66,-74,929,843),53068=>array(66,-69,927,843),53069=>array(66,-68,911,843),53070=>array(66,-72,929,843),53071=>array(66,-70,936,843),53072=>array(66,-66,908,843),53073=>array(66,-59,916,843),53074=>array(66,-60,928,843),53075=>array(66,-68,908,843),53076=>array(62,22,943,725),53077=>array(79,-61,921,775),53078=>array(79,-61,921,775),53079=>array(79,-71,921,775),53080=>array(79,-46,922,775),53081=>array(79,-68,921,775),53082=>array(79,-74,921,775),53083=>array(79,-44,921,775),53084=>array(79,-62,921,775),53085=>array(79,-64,921,775),53086=>array(79,-64,921,775),53087=>array(79,-63,921,775),53088=>array(79,-68,921,775),53089=>array(79,-64,921,775),53090=>array(79,-63,921,775),53091=>array(79,-74,921,775),53092=>array(79,-62,921,775),53093=>array(79,-61,921,775),53094=>array(79,-69,921,775),53095=>array(79,-74,921,775),53096=>array(79,-69,921,775),53097=>array(79,-68,921,775),53098=>array(79,-72,921,775),53099=>array(79,-70,921,775),53100=>array(79,-66,921,775),53101=>array(79,-59,921,775),53102=>array(79,-60,921,775),53103=>array(79,-68,921,775),53104=>array(68,-69,936,842),53105=>array(65,-59,936,842),53106=>array(65,-61,936,842),53107=>array(65,-71,936,842),53108=>array(72,-45,936,842),53109=>array(65,-69,936,842),53110=>array(65,-76,936,842),53111=>array(65,-44,936,842),53112=>array(65,-62,936,842),53113=>array(65,-64,936,842),53114=>array(65,-64,936,842),53115=>array(65,-64,936,842),53116=>array(65,-70,936,842),53117=>array(65,-64,936,842),53118=>array(65,-64,936,842),53119=>array(65,-76,936,842),53120=>array(65,-62,936,842),53121=>array(65,-61,936,842),53122=>array(65,-70,936,842),53123=>array(65,-74,936,842),53124=>array(65,-69,936,842),53125=>array(65,-67,936,842),53126=>array(65,-72,936,842),53127=>array(65,-71,936,842),53128=>array(65,-66,936,842),53129=>array(65,-59,936,842),53130=>array(65,-60,936,842),53131=>array(65,-69,936,842),53132=>array(68,-69,907,842),53133=>array(77,-61,907,842),53134=>array(77,-61,907,842),53135=>array(77,-71,931,842),53136=>array(72,-46,907,842),53137=>array(77,-68,912,842),53138=>array(77,-76,907,842),53139=>array(77,-44,921,842),53140=>array(77,-62,917,842),53141=>array(77,-64,907,842),53142=>array(77,-64,908,842),53143=>array(77,-64,908,842),53144=>array(77,-69,923,842),53145=>array(77,-64,908,842),53146=>array(77,-64,908,842),53147=>array(77,-76,907,842),53148=>array(77,-62,907,842),53149=>array(77,-61,907,842),53150=>array(77,-69,922,842),53151=>array(77,-74,929,842),53152=>array(77,-69,927,842),53153=>array(77,-68,911,842),53154=>array(77,-72,929,842),53155=>array(77,-70,936,842),53156=>array(77,-66,908,842),53157=>array(77,-59,916,842),53158=>array(77,-60,928,842),53159=>array(77,-68,908,842),53160=>array(92,-69,907,842),53161=>array(65,-61,907,842),53162=>array(65,-61,907,842),53163=>array(65,-71,931,842),53164=>array(65,-46,907,842),53165=>array(65,-68,912,842),53166=>array(65,-76,907,842),53167=>array(65,-44,921,842),53168=>array(65,-62,917,842),53169=>array(65,-64,907,842),53170=>array(65,-64,908,842),53171=>array(65,-64,908,842),53172=>array(65,-69,923,842),53173=>array(65,-64,908,842),53174=>array(65,-64,908,842),53175=>array(65,-76,907,842),53176=>array(65,-62,907,842),53177=>array(65,-61,907,842),53178=>array(65,-69,922,842),53179=>array(65,-74,929,842),53180=>array(65,-69,927,842),53181=>array(65,-68,911,842),53182=>array(65,-72,929,842),53183=>array(65,-70,936,842),53184=>array(65,-66,908,842),53185=>array(65,-59,916,842),53186=>array(65,-60,928,842),53187=>array(65,-68,908,842),53188=>array(62,22,943,725),53189=>array(79,-61,922,775),53190=>array(79,-61,922,775),53191=>array(79,-71,922,775),53192=>array(79,-46,922,775),53193=>array(79,-68,922,775),53194=>array(79,-74,922,775),53195=>array(79,-44,922,775),53196=>array(79,-62,922,775),53197=>array(79,-64,922,775),53198=>array(79,-64,922,775),53199=>array(79,-63,922,775),53200=>array(79,-68,922,775),53201=>array(79,-64,922,775),53202=>array(79,-63,922,775),53203=>array(79,-74,922,775),53204=>array(79,-62,922,775),53205=>array(79,-61,922,775),53206=>array(79,-69,922,775),53207=>array(79,-74,922,775),53208=>array(79,-69,922,775),53209=>array(79,-68,922,775),53210=>array(79,-72,922,775),53211=>array(79,-70,922,775),53212=>array(79,-66,922,775),53213=>array(79,-59,922,775),53214=>array(79,-60,922,775),53215=>array(79,-68,922,775),53216=>array(87,-64,928,795),53217=>array(79,-61,921,790),53218=>array(79,-61,921,790),53219=>array(79,-71,921,790),53220=>array(79,-46,921,785),53221=>array(79,-68,921,790),53222=>array(79,-74,921,790),53223=>array(79,-44,921,790),53224=>array(79,-62,921,790),53225=>array(79,-64,921,790),53226=>array(79,-64,921,790),53227=>array(79,-63,921,790),53228=>array(79,-68,921,790),53229=>array(79,-64,921,790),53230=>array(79,-63,921,790),53231=>array(79,-74,921,790),53232=>array(79,-62,921,790),53233=>array(79,-61,921,790),53234=>array(79,-69,921,790),53235=>array(79,-74,921,790),53236=>array(79,-69,921,790),53237=>array(79,-68,921,790),53238=>array(79,-72,921,790),53239=>array(79,-70,921,790),53240=>array(79,-66,921,790),53241=>array(79,-59,921,790),53242=>array(79,-60,921,790),53243=>array(79,-68,921,790),53244=>array(70,-70,907,841),53245=>array(75,-61,908,844),53246=>array(75,-61,908,844),53247=>array(75,-71,931,844),53248=>array(76,-46,907,841),53249=>array(75,-68,912,844),53250=>array(75,-76,908,844),53251=>array(75,-44,921,844),53252=>array(75,-62,917,844),53253=>array(75,-64,908,844),53254=>array(75,-64,908,844),53255=>array(75,-64,908,844),53256=>array(75,-69,923,844),53257=>array(75,-64,908,844),53258=>array(75,-64,908,844),53259=>array(75,-76,908,844),53260=>array(75,-62,908,844),53261=>array(75,-61,908,844),53262=>array(75,-69,922,844),53263=>array(75,-74,929,844),53264=>array(75,-69,927,844),53265=>array(75,-68,911,844),53266=>array(75,-72,929,844),53267=>array(75,-70,936,844),53268=>array(75,-66,908,844),53269=>array(75,-59,916,844),53270=>array(75,-60,928,844),53271=>array(75,-68,908,844),53272=>array(61,-68,907,843),53273=>array(70,-61,907,843),53274=>array(70,-61,907,843),53275=>array(70,-71,931,843),53276=>array(76,-46,907,843),53277=>array(70,-68,912,843),53278=>array(70,-76,907,843),53279=>array(70,-44,921,843),53280=>array(70,-62,917,843),53281=>array(70,-64,907,843),53282=>array(70,-64,908,843),53283=>array(70,-64,908,843),53284=>array(70,-69,923,843),53285=>array(70,-64,908,843),53286=>array(70,-64,908,843),53287=>array(70,-76,907,843),53288=>array(70,-62,907,843),53289=>array(70,-61,907,843),53290=>array(70,-69,922,843),53291=>array(70,-74,929,843),53292=>array(70,-69,927,843),53293=>array(70,-68,911,843),53294=>array(70,-72,929,843),53295=>array(70,-70,936,843),53296=>array(70,-66,908,843),53297=>array(70,-59,916,843),53298=>array(70,-60,928,843),53299=>array(70,-68,908,843),53300=>array(67,-69,907,842),53301=>array(65,-61,907,842),53302=>array(65,-61,907,842),53303=>array(65,-71,931,842),53304=>array(65,-46,907,842),53305=>array(65,-68,912,842),53306=>array(65,-76,907,842),53307=>array(65,-44,921,842),53308=>array(65,-62,917,842),53309=>array(65,-64,907,842),53310=>array(65,-64,908,842),53311=>array(65,-64,908,842),53312=>array(65,-69,923,842),53313=>array(65,-64,908,842),53314=>array(65,-64,908,842),53315=>array(65,-76,907,842),53316=>array(65,-62,907,842),53317=>array(65,-61,907,842),53318=>array(65,-69,922,842),53319=>array(65,-74,929,842),53320=>array(65,-69,927,842),53321=>array(65,-68,911,842),53322=>array(65,-72,929,842),53323=>array(65,-70,936,842),53324=>array(65,-66,908,842),53325=>array(65,-59,916,842),53326=>array(65,-60,928,842),53327=>array(65,-68,908,842),53328=>array(87,-64,928,795),53329=>array(79,-61,921,785),53330=>array(79,-61,921,785),53331=>array(79,-71,921,785),53332=>array(96,-46,927,785),53333=>array(79,-68,921,785),53334=>array(79,-74,921,785),53335=>array(79,-44,921,785),53336=>array(79,-62,921,785),53337=>array(79,-64,921,785),53338=>array(79,-64,921,785),53339=>array(79,-63,921,785),53340=>array(79,-68,921,785),53341=>array(79,-64,921,785),53342=>array(79,-63,921,785),53343=>array(79,-74,921,785),53344=>array(79,-62,921,785),53345=>array(79,-61,921,785),53346=>array(79,-69,921,785),53347=>array(79,-74,921,785),53348=>array(79,-69,921,785),53349=>array(79,-68,921,785),53350=>array(79,-72,921,785),53351=>array(79,-70,921,785),53352=>array(79,-66,921,785),53353=>array(79,-59,921,785),53354=>array(79,-60,921,785),53355=>array(79,-68,921,785),53356=>array(67,27,943,700),53357=>array(79,-61,922,785),53358=>array(79,-61,922,785),53359=>array(79,-71,922,785),53360=>array(79,-46,921,785),53361=>array(79,-68,922,785),53362=>array(79,-74,922,785),53363=>array(79,-44,922,785),53364=>array(79,-62,922,785),53365=>array(79,-64,922,785),53366=>array(79,-64,922,785),53367=>array(79,-63,922,785),53368=>array(79,-68,922,785),53369=>array(79,-64,922,785),53370=>array(79,-63,922,785),53371=>array(79,-74,922,785),53372=>array(79,-62,922,785),53373=>array(79,-61,922,785),53374=>array(79,-69,922,785),53375=>array(79,-74,922,785),53376=>array(79,-69,922,785),53377=>array(79,-68,922,785),53378=>array(79,-72,922,785),53379=>array(79,-70,922,785),53380=>array(79,-66,922,785),53381=>array(79,-59,922,785),53382=>array(79,-60,922,785),53383=>array(79,-68,922,785),53384=>array(65,-69,907,842),53385=>array(59,-61,907,842),53386=>array(59,-61,907,842),53387=>array(59,-71,931,842),53388=>array(65,-46,907,842),53389=>array(59,-68,912,842),53390=>array(59,-76,907,842),53391=>array(59,-44,921,842),53392=>array(59,-62,917,842),53393=>array(59,-64,907,842),53394=>array(59,-64,908,842),53395=>array(59,-64,908,842),53396=>array(59,-69,923,842),53397=>array(59,-64,908,842),53398=>array(59,-64,908,842),53399=>array(59,-76,907,842),53400=>array(59,-62,907,842),53401=>array(59,-61,907,842),53402=>array(59,-69,922,842),53403=>array(59,-74,929,842),53404=>array(59,-69,927,842),53405=>array(59,-68,911,842),53406=>array(59,-72,929,842),53407=>array(59,-70,936,842),53408=>array(59,-66,908,842),53409=>array(59,-59,916,842),53410=>array(59,-60,928,842),53411=>array(59,-68,908,842),53412=>array(120,-69,907,842),53413=>array(67,-61,907,842),53414=>array(67,-61,907,842),53415=>array(67,-71,931,842),53416=>array(94,-46,907,842),53417=>array(67,-68,912,842),53418=>array(67,-76,907,842),53419=>array(67,-44,921,842),53420=>array(67,-62,917,842),53421=>array(67,-64,907,842),53422=>array(67,-64,908,842),53423=>array(67,-64,908,842),53424=>array(67,-69,923,842),53425=>array(67,-64,908,842),53426=>array(67,-64,908,842),53427=>array(67,-76,907,842),53428=>array(67,-62,907,842),53429=>array(67,-61,907,842),53430=>array(67,-69,922,842),53431=>array(67,-74,929,842),53432=>array(67,-69,927,842),53433=>array(67,-68,911,842),53434=>array(67,-72,929,842),53435=>array(67,-70,936,842),53436=>array(67,-66,908,842),53437=>array(67,-59,916,842),53438=>array(67,-60,928,842),53439=>array(67,-68,908,842),53440=>array(115,-69,936,842),53441=>array(115,-59,936,842),53442=>array(115,-61,936,842),53443=>array(115,-71,936,842),53444=>array(115,-45,936,842),53445=>array(115,-69,936,842),53446=>array(115,-76,936,842),53447=>array(115,-44,936,842),53448=>array(115,-62,936,842),53449=>array(115,-64,936,842),53450=>array(115,-64,936,842),53451=>array(115,-64,936,842),53452=>array(115,-70,936,842),53453=>array(115,-64,936,842),53454=>array(115,-64,936,842),53455=>array(115,-76,936,842),53456=>array(115,-62,936,842),53457=>array(115,-61,936,842),53458=>array(115,-70,936,842),53459=>array(115,-74,936,842),53460=>array(115,-69,936,842),53461=>array(115,-67,936,842),53462=>array(115,-72,936,842),53463=>array(115,-71,936,842),53464=>array(115,-66,936,842),53465=>array(115,-59,936,842),53466=>array(115,-60,936,842),53467=>array(115,-69,936,842),53468=>array(115,-69,907,842),53469=>array(115,-61,907,842),53470=>array(115,-61,907,842),53471=>array(115,-71,931,842),53472=>array(115,-46,907,842),53473=>array(115,-68,912,842),53474=>array(115,-76,907,842),53475=>array(115,-44,921,842),53476=>array(115,-62,917,842),53477=>array(115,-64,907,842),53478=>array(115,-64,908,842),53479=>array(115,-64,908,842),53480=>array(115,-69,923,842),53481=>array(115,-64,908,842),53482=>array(115,-64,908,842),53483=>array(115,-76,907,842),53484=>array(115,-62,907,842),53485=>array(115,-61,907,842),53486=>array(115,-69,922,842),53487=>array(115,-74,929,842),53488=>array(115,-69,927,842),53489=>array(115,-68,911,842),53490=>array(115,-72,929,842),53491=>array(115,-70,936,842),53492=>array(115,-66,908,842),53493=>array(115,-59,916,842),53494=>array(115,-60,928,842),53495=>array(115,-68,908,842),53496=>array(114,-68,935,843),53497=>array(115,-59,936,842),53498=>array(115,-61,936,842),53499=>array(115,-71,936,842),53500=>array(115,-45,936,842),53501=>array(115,-69,936,842),53502=>array(115,-76,936,842),53503=>array(115,-44,936,842),53504=>array(115,-62,936,842),53505=>array(115,-64,936,842),53506=>array(115,-64,936,842),53507=>array(115,-64,936,842),53508=>array(115,-70,936,842),53509=>array(115,-64,936,842),53510=>array(115,-64,936,842),53511=>array(115,-76,936,842),53512=>array(115,-62,936,842),53513=>array(115,-61,936,842),53514=>array(115,-70,936,842),53515=>array(115,-74,936,842),53516=>array(115,-69,936,842),53517=>array(115,-67,936,842),53518=>array(115,-72,936,842),53519=>array(115,-71,936,842),53520=>array(115,-66,936,842),53521=>array(115,-59,936,842),53522=>array(115,-60,936,842),53523=>array(115,-69,936,842),53524=>array(115,-69,907,842),53525=>array(115,-61,907,842),53526=>array(115,-61,907,842),53527=>array(115,-71,931,842),53528=>array(115,-46,907,842),53529=>array(115,-68,912,842),53530=>array(115,-76,907,842),53531=>array(115,-44,921,842),53532=>array(115,-62,917,842),53533=>array(115,-64,907,842),53534=>array(115,-64,908,842),53535=>array(115,-64,908,842),53536=>array(115,-69,923,842),53537=>array(115,-64,908,842),53538=>array(115,-64,908,842),53539=>array(115,-76,907,842),53540=>array(115,-62,907,842),53541=>array(115,-61,907,842),53542=>array(115,-69,922,842),53543=>array(115,-74,929,842),53544=>array(115,-69,927,842),53545=>array(115,-68,911,842),53546=>array(115,-72,929,842),53547=>array(115,-70,936,842),53548=>array(115,-66,908,842),53549=>array(115,-59,916,842),53550=>array(115,-60,928,842),53551=>array(115,-68,908,842),53552=>array(115,-70,907,841),53553=>array(115,-61,907,841),53554=>array(115,-61,907,841),53555=>array(115,-71,931,841),53556=>array(115,-46,907,841),53557=>array(115,-68,912,841),53558=>array(115,-76,907,841),53559=>array(115,-44,921,841),53560=>array(115,-62,917,841),53561=>array(115,-64,907,841),53562=>array(115,-64,908,841),53563=>array(115,-64,908,841),53564=>array(115,-69,923,841),53565=>array(115,-64,908,841),53566=>array(115,-64,908,841),53567=>array(115,-76,906,841),53568=>array(115,-62,907,841),53569=>array(115,-61,907,841),53570=>array(115,-69,922,841),53571=>array(115,-74,929,841),53572=>array(115,-69,927,841),53573=>array(115,-68,911,841),53574=>array(115,-72,929,841),53575=>array(115,-70,936,841),53576=>array(115,-66,908,841),53577=>array(115,-59,916,841),53578=>array(115,-60,928,841),53579=>array(115,-68,908,841),53580=>array(115,-68,907,843),53581=>array(115,-61,907,843),53582=>array(115,-61,907,843),53583=>array(115,-71,931,843),53584=>array(115,-46,907,843),53585=>array(115,-68,912,843),53586=>array(115,-76,907,843),53587=>array(115,-44,921,843),53588=>array(115,-62,917,843),53589=>array(115,-64,907,843),53590=>array(115,-64,908,843),53591=>array(115,-64,908,843),53592=>array(115,-69,923,843),53593=>array(115,-64,908,843),53594=>array(115,-64,908,843),53595=>array(115,-76,907,843),53596=>array(115,-62,907,843),53597=>array(115,-61,907,843),53598=>array(115,-69,922,843),53599=>array(115,-74,929,843),53600=>array(115,-69,927,843),53601=>array(115,-68,911,843),53602=>array(115,-72,929,843),53603=>array(115,-70,936,843),53604=>array(115,-66,908,843),53605=>array(115,-59,916,843),53606=>array(115,-60,928,843),53607=>array(115,-68,908,843),53608=>array(115,-70,907,842),53609=>array(115,-61,908,842),53610=>array(115,-61,908,842),53611=>array(115,-71,931,842),53612=>array(115,-46,907,842),53613=>array(115,-68,912,842),53614=>array(115,-76,908,842),53615=>array(115,-44,921,842),53616=>array(115,-62,917,842),53617=>array(115,-64,908,842),53618=>array(115,-64,908,842),53619=>array(115,-64,908,842),53620=>array(115,-69,923,842),53621=>array(115,-64,908,842),53622=>array(115,-64,908,842),53623=>array(115,-76,908,842),53624=>array(115,-62,908,842),53625=>array(115,-61,908,842),53626=>array(115,-69,922,842),53627=>array(115,-74,929,842),53628=>array(115,-69,927,842),53629=>array(115,-68,911,842),53630=>array(115,-72,929,842),53631=>array(115,-70,936,842),53632=>array(115,-66,908,842),53633=>array(115,-59,916,842),53634=>array(115,-60,928,842),53635=>array(115,-68,908,842),53636=>array(115,-68,907,843),53637=>array(115,-61,907,843),53638=>array(115,-61,907,843),53639=>array(115,-71,931,843),53640=>array(115,-46,907,843),53641=>array(115,-68,912,843),53642=>array(115,-76,907,843),53643=>array(115,-44,921,843),53644=>array(115,-62,917,843),53645=>array(115,-64,907,843),53646=>array(115,-64,908,843),53647=>array(115,-64,908,843),53648=>array(115,-69,923,843),53649=>array(115,-64,908,843),53650=>array(115,-64,908,843),53651=>array(115,-76,907,843),53652=>array(115,-62,907,843),53653=>array(115,-61,907,843),53654=>array(115,-69,922,843),53655=>array(115,-74,929,843),53656=>array(115,-69,927,843),53657=>array(115,-68,911,843),53658=>array(115,-72,929,843),53659=>array(115,-70,936,843),53660=>array(115,-66,908,843),53661=>array(115,-59,916,843),53662=>array(115,-60,928,843),53663=>array(115,-68,908,843),53664=>array(62,17,943,757),53665=>array(79,-61,921,799),53666=>array(79,-61,921,799),53667=>array(79,-71,921,799),53668=>array(79,-46,922,789),53669=>array(79,-68,921,799),53670=>array(79,-74,921,799),53671=>array(79,-44,921,799),53672=>array(79,-62,921,799),53673=>array(79,-64,921,799),53674=>array(79,-64,921,799),53675=>array(79,-63,921,799),53676=>array(79,-68,921,799),53677=>array(79,-64,921,799),53678=>array(79,-63,921,799),53679=>array(79,-74,921,799),53680=>array(79,-62,921,799),53681=>array(79,-61,921,799),53682=>array(79,-69,921,799),53683=>array(79,-74,921,799),53684=>array(79,-69,921,799),53685=>array(79,-68,921,799),53686=>array(79,-72,921,799),53687=>array(79,-70,921,799),53688=>array(79,-66,921,799),53689=>array(79,-59,921,799),53690=>array(79,-60,921,799),53691=>array(79,-68,921,799),53692=>array(53,-69,936,842),53693=>array(77,-59,936,842),53694=>array(77,-61,936,842),53695=>array(77,-71,936,842),53696=>array(77,-45,936,842),53697=>array(77,-69,936,842),53698=>array(77,-76,936,842),53699=>array(77,-44,936,842),53700=>array(77,-62,936,842),53701=>array(77,-64,936,842),53702=>array(77,-64,936,842),53703=>array(77,-64,936,842),53704=>array(77,-70,936,842),53705=>array(77,-64,936,842),53706=>array(77,-64,936,842),53707=>array(77,-76,936,842),53708=>array(77,-62,936,842),53709=>array(77,-61,936,842),53710=>array(77,-70,936,842),53711=>array(77,-74,936,842),53712=>array(77,-69,936,842),53713=>array(77,-67,936,842),53714=>array(77,-72,936,842),53715=>array(77,-71,936,842),53716=>array(77,-66,936,842),53717=>array(77,-59,936,842),53718=>array(77,-60,936,842),53719=>array(77,-69,936,842),53720=>array(43,-69,907,842),53721=>array(77,-61,907,842),53722=>array(77,-61,907,842),53723=>array(77,-71,931,842),53724=>array(77,-46,907,842),53725=>array(77,-68,912,842),53726=>array(77,-76,907,842),53727=>array(77,-44,921,842),53728=>array(77,-62,917,842),53729=>array(77,-64,907,842),53730=>array(77,-64,908,842),53731=>array(77,-64,908,842),53732=>array(77,-69,923,842),53733=>array(77,-64,908,842),53734=>array(77,-64,908,842),53735=>array(77,-76,907,842),53736=>array(77,-62,907,842),53737=>array(77,-61,907,842),53738=>array(77,-69,922,842),53739=>array(77,-74,929,842),53740=>array(77,-69,927,842),53741=>array(77,-68,911,842),53742=>array(77,-72,929,842),53743=>array(77,-70,936,842),53744=>array(77,-66,908,842),53745=>array(77,-59,916,842),53746=>array(77,-60,928,842),53747=>array(77,-68,908,842),53748=>array(53,-68,907,843),53749=>array(65,-61,907,842),53750=>array(65,-61,907,842),53751=>array(65,-71,931,842),53752=>array(65,-46,907,842),53753=>array(65,-68,912,842),53754=>array(65,-76,907,842),53755=>array(65,-44,921,842),53756=>array(65,-62,917,842),53757=>array(65,-64,907,842),53758=>array(65,-64,908,842),53759=>array(65,-64,908,842),53760=>array(65,-69,923,842),53761=>array(65,-64,908,842),53762=>array(65,-64,908,842),53763=>array(65,-76,907,842),53764=>array(65,-62,907,842),53765=>array(65,-61,907,842),53766=>array(65,-69,922,842),53767=>array(65,-74,929,842),53768=>array(65,-69,927,842),53769=>array(65,-68,911,842),53770=>array(65,-72,929,842),53771=>array(65,-70,936,842),53772=>array(65,-66,908,842),53773=>array(65,-59,916,842),53774=>array(65,-60,928,842),53775=>array(65,-68,908,842),53776=>array(62,7,943,777),53777=>array(79,-61,921,799),53778=>array(79,-61,921,799),53779=>array(79,-71,921,799),53780=>array(79,-46,921,794),53781=>array(79,-68,921,799),53782=>array(79,-74,921,799),53783=>array(79,-44,921,799),53784=>array(79,-62,921,799),53785=>array(79,-64,921,799),53786=>array(79,-64,921,799),53787=>array(79,-63,921,799),53788=>array(79,-68,921,799),53789=>array(79,-64,921,799),53790=>array(79,-63,921,799),53791=>array(79,-74,921,799),53792=>array(79,-62,921,799),53793=>array(79,-61,921,799),53794=>array(79,-69,921,799),53795=>array(79,-74,921,799),53796=>array(79,-69,921,799),53797=>array(79,-68,921,799),53798=>array(79,-72,921,799),53799=>array(79,-70,921,799),53800=>array(79,-66,921,799),53801=>array(79,-59,921,799),53802=>array(79,-60,921,799),53803=>array(79,-68,921,799),53804=>array(82,-64,924,789),53805=>array(79,-61,921,799),53806=>array(79,-61,921,799),53807=>array(79,-71,921,799),53808=>array(79,-46,921,789),53809=>array(79,-68,921,799),53810=>array(79,-74,921,799),53811=>array(79,-44,921,799),53812=>array(79,-62,921,799),53813=>array(79,-64,921,799),53814=>array(79,-64,921,799),53815=>array(79,-63,921,799),53816=>array(79,-68,921,799),53817=>array(79,-64,921,799),53818=>array(79,-63,921,799),53819=>array(79,-74,921,799),53820=>array(79,-62,921,799),53821=>array(79,-61,921,799),53822=>array(79,-69,921,799),53823=>array(79,-74,921,799),53824=>array(79,-69,921,799),53825=>array(79,-68,921,799),53826=>array(79,-72,921,799),53827=>array(79,-70,921,799),53828=>array(79,-66,921,799),53829=>array(79,-59,921,799),53830=>array(79,-60,921,799),53831=>array(79,-68,921,799),53832=>array(76,-70,907,841),53833=>array(74,-61,909,843),53834=>array(74,-61,909,843),53835=>array(74,-71,931,843),53836=>array(75,-46,909,843),53837=>array(74,-68,912,843),53838=>array(74,-76,909,843),53839=>array(74,-44,921,843),53840=>array(74,-62,917,843),53841=>array(74,-64,909,843),53842=>array(74,-64,909,843),53843=>array(74,-64,909,843),53844=>array(74,-69,923,843),53845=>array(74,-64,909,843),53846=>array(74,-64,909,843),53847=>array(74,-76,909,843),53848=>array(74,-62,909,843),53849=>array(74,-61,909,843),53850=>array(74,-69,922,843),53851=>array(74,-74,929,843),53852=>array(74,-69,927,843),53853=>array(74,-68,911,843),53854=>array(74,-72,929,843),53855=>array(74,-70,936,843),53856=>array(74,-66,909,843),53857=>array(74,-59,916,843),53858=>array(74,-60,928,843),53859=>array(74,-68,909,843),53860=>array(56,-68,907,843),53861=>array(68,-61,907,843),53862=>array(68,-61,907,843),53863=>array(68,-71,931,843),53864=>array(74,-46,907,843),53865=>array(68,-68,912,843),53866=>array(68,-76,907,843),53867=>array(68,-44,921,843),53868=>array(68,-62,917,843),53869=>array(68,-64,907,843),53870=>array(68,-64,908,843),53871=>array(68,-64,908,843),53872=>array(68,-69,923,843),53873=>array(68,-64,908,843),53874=>array(68,-64,908,843),53875=>array(68,-76,907,843),53876=>array(68,-62,907,843),53877=>array(68,-61,907,843),53878=>array(68,-69,922,843),53879=>array(68,-74,929,843),53880=>array(68,-69,927,843),53881=>array(68,-68,911,843),53882=>array(68,-72,929,843),53883=>array(68,-70,936,843),53884=>array(68,-66,908,843),53885=>array(68,-59,916,843),53886=>array(68,-60,928,843),53887=>array(68,-68,908,843),53888=>array(67,-69,907,842),53889=>array(65,-61,907,842),53890=>array(65,-61,907,842),53891=>array(65,-71,931,842),53892=>array(65,-46,907,842),53893=>array(65,-68,912,842),53894=>array(65,-76,907,842),53895=>array(65,-44,921,842),53896=>array(65,-62,917,842),53897=>array(65,-64,907,842),53898=>array(65,-64,908,842),53899=>array(65,-64,908,842),53900=>array(65,-69,923,842),53901=>array(65,-64,908,842),53902=>array(65,-64,908,842),53903=>array(65,-76,907,842),53904=>array(65,-62,907,842),53905=>array(65,-61,907,842),53906=>array(65,-69,922,842),53907=>array(65,-74,929,842),53908=>array(65,-69,927,842),53909=>array(65,-68,911,842),53910=>array(65,-72,929,842),53911=>array(65,-70,936,842),53912=>array(65,-66,908,842),53913=>array(65,-59,916,842),53914=>array(65,-60,928,842),53915=>array(65,-68,908,842),53916=>array(82,-64,924,784),53917=>array(79,-61,921,799),53918=>array(79,-61,921,799),53919=>array(79,-71,921,799),53920=>array(81,-46,922,789),53921=>array(79,-68,921,799),53922=>array(79,-74,921,799),53923=>array(79,-44,921,799),53924=>array(79,-62,921,799),53925=>array(79,-64,921,799),53926=>array(79,-64,921,799),53927=>array(79,-63,921,799),53928=>array(79,-68,921,799),53929=>array(79,-64,921,799),53930=>array(79,-63,921,799),53931=>array(79,-74,921,799),53932=>array(79,-62,921,799),53933=>array(79,-61,921,799),53934=>array(79,-69,921,799),53935=>array(79,-74,921,799),53936=>array(79,-69,921,799),53937=>array(79,-68,921,799),53938=>array(79,-72,921,799),53939=>array(79,-70,921,799),53940=>array(79,-66,921,799),53941=>array(79,-59,921,799),53942=>array(79,-60,921,799),53943=>array(79,-68,921,799),53944=>array(57,52,943,719),53945=>array(79,-61,922,796),53946=>array(79,-61,922,796),53947=>array(79,-71,922,796),53948=>array(79,-46,921,791),53949=>array(79,-68,922,796),53950=>array(79,-74,922,796),53951=>array(79,-44,922,796),53952=>array(79,-62,922,796),53953=>array(79,-64,922,796),53954=>array(79,-64,922,796),53955=>array(79,-63,922,796),53956=>array(79,-68,922,796),53957=>array(79,-64,922,796),53958=>array(79,-63,922,796),53959=>array(79,-74,922,796),53960=>array(79,-62,922,796),53961=>array(79,-61,922,796),53962=>array(79,-69,922,796),53963=>array(79,-74,922,796),53964=>array(79,-69,922,796),53965=>array(79,-68,922,796),53966=>array(79,-72,922,796),53967=>array(79,-70,922,796),53968=>array(79,-66,922,796),53969=>array(79,-59,922,796),53970=>array(79,-60,922,796),53971=>array(79,-68,922,796),53972=>array(67,-69,907,842),53973=>array(65,-61,907,842),53974=>array(65,-61,907,842),53975=>array(65,-71,931,842),53976=>array(65,-46,907,842),53977=>array(65,-68,912,842),53978=>array(65,-76,907,842),53979=>array(65,-44,921,842),53980=>array(65,-62,917,842),53981=>array(65,-64,907,842),53982=>array(65,-64,908,842),53983=>array(65,-64,908,842),53984=>array(65,-69,923,842),53985=>array(65,-64,908,842),53986=>array(65,-64,908,842),53987=>array(65,-76,907,842),53988=>array(65,-62,907,842),53989=>array(65,-61,907,842),53990=>array(65,-69,922,842),53991=>array(65,-74,929,842),53992=>array(65,-69,927,842),53993=>array(65,-68,911,842),53994=>array(65,-72,929,842),53995=>array(65,-70,936,842),53996=>array(65,-66,908,842),53997=>array(65,-59,916,842),53998=>array(65,-60,928,842),53999=>array(65,-68,908,842),54000=>array(125,-69,907,842),54001=>array(130,-61,907,842),54002=>array(130,-61,907,842),54003=>array(130,-71,931,842),54004=>array(125,-46,907,842),54005=>array(130,-68,912,842),54006=>array(130,-76,907,842),54007=>array(130,-44,921,842),54008=>array(130,-62,917,842),54009=>array(130,-64,907,842),54010=>array(130,-64,908,842),54011=>array(130,-64,908,842),54012=>array(130,-69,923,842),54013=>array(130,-64,908,842),54014=>array(130,-64,908,842),54015=>array(130,-76,907,842),54016=>array(130,-62,907,842),54017=>array(130,-61,907,842),54018=>array(130,-69,922,842),54019=>array(130,-74,929,842),54020=>array(130,-69,927,842),54021=>array(130,-68,911,842),54022=>array(130,-72,929,842),54023=>array(130,-70,936,842),54024=>array(130,-66,908,842),54025=>array(130,-59,916,842),54026=>array(130,-60,928,842),54027=>array(130,-68,908,842),54028=>array(84,-69,936,842),54029=>array(66,-59,936,842),54030=>array(66,-61,936,842),54031=>array(66,-71,936,842),54032=>array(78,-45,936,842),54033=>array(66,-69,936,842),54034=>array(66,-76,936,842),54035=>array(66,-44,936,842),54036=>array(66,-62,936,842),54037=>array(66,-64,936,842),54038=>array(66,-64,936,842),54039=>array(66,-64,936,842),54040=>array(66,-70,936,842),54041=>array(66,-64,936,842),54042=>array(66,-64,936,842),54043=>array(66,-76,936,842),54044=>array(66,-62,936,842),54045=>array(66,-61,936,842),54046=>array(66,-70,936,842),54047=>array(66,-74,936,842),54048=>array(66,-69,936,842),54049=>array(66,-67,936,842),54050=>array(66,-72,936,842),54051=>array(66,-71,936,842),54052=>array(66,-66,936,842),54053=>array(66,-59,936,842),54054=>array(66,-60,936,842),54055=>array(66,-69,936,842),54056=>array(73,-69,907,842),54057=>array(83,-61,907,842),54058=>array(83,-61,907,842),54059=>array(83,-71,931,842),54060=>array(78,-46,907,842),54061=>array(83,-68,912,842),54062=>array(83,-76,907,842),54063=>array(83,-44,921,842),54064=>array(83,-62,917,842),54065=>array(83,-64,907,842),54066=>array(83,-64,908,842),54067=>array(83,-64,908,842),54068=>array(83,-69,923,842),54069=>array(83,-64,908,842),54070=>array(83,-64,908,842),54071=>array(83,-76,907,842),54072=>array(83,-62,907,842),54073=>array(83,-61,907,842),54074=>array(83,-69,922,842),54075=>array(83,-74,929,842),54076=>array(83,-69,927,842),54077=>array(83,-68,911,842),54078=>array(83,-72,929,842),54079=>array(83,-70,936,842),54080=>array(83,-66,908,842),54081=>array(83,-59,916,842),54082=>array(83,-60,928,842),54083=>array(83,-68,908,842),54084=>array(84,-68,935,843),54085=>array(66,-59,936,842),54086=>array(66,-61,936,842),54087=>array(66,-71,936,842),54088=>array(78,-45,936,842),54089=>array(66,-69,936,842),54090=>array(66,-76,936,842),54091=>array(66,-44,936,842),54092=>array(66,-62,936,842),54093=>array(66,-64,936,842),54094=>array(66,-64,936,842),54095=>array(66,-64,936,842),54096=>array(66,-70,936,842),54097=>array(66,-64,936,842),54098=>array(66,-64,936,842),54099=>array(66,-76,936,842),54100=>array(66,-62,936,842),54101=>array(66,-61,936,842),54102=>array(66,-70,936,842),54103=>array(66,-74,936,842),54104=>array(66,-69,936,842),54105=>array(66,-67,936,842),54106=>array(66,-72,936,842),54107=>array(66,-71,936,842),54108=>array(66,-66,936,842),54109=>array(66,-59,936,842),54110=>array(66,-60,936,842),54111=>array(66,-69,936,842),54112=>array(73,-69,907,842),54113=>array(83,-61,907,842),54114=>array(83,-61,907,842),54115=>array(83,-71,931,842),54116=>array(78,-46,907,842),54117=>array(83,-68,912,842),54118=>array(83,-76,907,842),54119=>array(83,-44,921,842),54120=>array(83,-62,917,842),54121=>array(83,-64,907,842),54122=>array(83,-64,908,842),54123=>array(83,-64,908,842),54124=>array(83,-69,923,842),54125=>array(83,-64,908,842),54126=>array(83,-64,908,842),54127=>array(83,-76,907,842),54128=>array(83,-62,907,842),54129=>array(83,-61,907,842),54130=>array(83,-69,922,842),54131=>array(83,-74,929,842),54132=>array(83,-69,927,842),54133=>array(83,-68,911,842),54134=>array(83,-72,929,842),54135=>array(83,-70,936,842),54136=>array(83,-66,908,842),54137=>array(83,-59,916,842),54138=>array(83,-60,928,842),54139=>array(83,-68,908,842),54140=>array(84,-70,907,841),54141=>array(66,-61,907,841),54142=>array(66,-61,907,841),54143=>array(66,-71,931,841),54144=>array(78,-46,907,841),54145=>array(66,-68,912,841),54146=>array(66,-76,907,841),54147=>array(66,-44,921,841),54148=>array(66,-62,917,841),54149=>array(66,-64,907,841),54150=>array(66,-64,908,841),54151=>array(66,-64,908,841),54152=>array(66,-69,923,841),54153=>array(66,-64,908,841),54154=>array(66,-64,908,841),54155=>array(66,-76,906,841),54156=>array(66,-62,907,841),54157=>array(66,-61,907,841),54158=>array(66,-69,922,841),54159=>array(66,-74,929,841),54160=>array(66,-69,927,841),54161=>array(66,-68,911,841),54162=>array(66,-72,929,841),54163=>array(66,-70,936,841),54164=>array(66,-66,908,841),54165=>array(66,-59,916,841),54166=>array(66,-60,928,841),54167=>array(66,-68,908,841),54168=>array(63,-68,907,843),54169=>array(65,-61,907,843),54170=>array(65,-61,907,843),54171=>array(65,-71,931,843),54172=>array(83,-46,907,843),54173=>array(65,-68,912,843),54174=>array(65,-76,907,843),54175=>array(65,-44,921,843),54176=>array(65,-62,917,843),54177=>array(65,-64,907,843),54178=>array(65,-64,908,843),54179=>array(65,-64,908,843),54180=>array(65,-69,923,843),54181=>array(65,-64,908,843),54182=>array(65,-64,908,843),54183=>array(65,-76,907,843),54184=>array(65,-62,907,843),54185=>array(65,-61,907,843),54186=>array(65,-69,922,843),54187=>array(65,-74,929,843),54188=>array(65,-69,927,843),54189=>array(65,-68,911,843),54190=>array(65,-72,929,843),54191=>array(65,-70,936,843),54192=>array(65,-66,908,843),54193=>array(65,-59,916,843),54194=>array(65,-60,928,843),54195=>array(65,-68,908,843),54196=>array(74,-70,907,842),54197=>array(56,-61,908,842),54198=>array(56,-61,908,842),54199=>array(56,-71,931,842),54200=>array(68,-46,907,842),54201=>array(56,-68,912,842),54202=>array(56,-76,908,842),54203=>array(56,-44,921,842),54204=>array(56,-62,917,842),54205=>array(56,-64,908,842),54206=>array(56,-64,908,842),54207=>array(56,-64,908,842),54208=>array(56,-69,923,842),54209=>array(56,-64,908,842),54210=>array(56,-64,908,842),54211=>array(56,-76,908,842),54212=>array(56,-62,908,842),54213=>array(56,-61,908,842),54214=>array(56,-69,922,842),54215=>array(56,-74,929,842),54216=>array(56,-69,927,842),54217=>array(56,-68,911,842),54218=>array(56,-72,929,842),54219=>array(56,-70,936,842),54220=>array(56,-66,908,842),54221=>array(56,-59,916,842),54222=>array(56,-60,928,842),54223=>array(56,-68,908,842),54224=>array(63,-68,907,843),54225=>array(65,-61,907,843),54226=>array(65,-61,907,843),54227=>array(65,-71,931,843),54228=>array(83,-46,907,843),54229=>array(65,-68,912,843),54230=>array(65,-76,907,843),54231=>array(65,-44,921,843),54232=>array(65,-62,917,843),54233=>array(65,-64,907,843),54234=>array(65,-64,908,843),54235=>array(65,-64,908,843),54236=>array(65,-69,923,843),54237=>array(65,-64,908,843),54238=>array(65,-64,908,843),54239=>array(65,-76,907,843),54240=>array(65,-62,907,843),54241=>array(65,-61,907,843),54242=>array(65,-69,922,843),54243=>array(65,-74,929,843),54244=>array(65,-69,927,843),54245=>array(65,-68,911,843),54246=>array(65,-72,929,843),54247=>array(65,-70,936,843),54248=>array(65,-66,908,843),54249=>array(65,-59,916,843),54250=>array(65,-60,928,843),54251=>array(65,-68,908,843),54252=>array(62,22,938,724),54253=>array(79,-61,921,799),54254=>array(79,-61,921,799),54255=>array(79,-71,921,799),54256=>array(79,-46,922,799),54257=>array(79,-68,921,799),54258=>array(79,-74,921,799),54259=>array(79,-44,921,799),54260=>array(79,-62,921,799),54261=>array(79,-64,921,799),54262=>array(79,-64,921,799),54263=>array(79,-63,921,799),54264=>array(79,-68,921,799),54265=>array(79,-64,921,799),54266=>array(79,-63,921,799),54267=>array(79,-74,921,799),54268=>array(79,-62,921,799),54269=>array(79,-61,921,799),54270=>array(79,-69,921,799),54271=>array(79,-74,921,799),54272=>array(79,-69,921,799),54273=>array(79,-68,921,799),54274=>array(79,-72,921,799),54275=>array(79,-70,921,799),54276=>array(79,-66,921,799),54277=>array(79,-59,921,799),54278=>array(79,-60,921,799),54279=>array(79,-68,921,799),54280=>array(68,-69,936,842),54281=>array(77,-59,936,842),54282=>array(77,-61,936,842),54283=>array(77,-71,936,842),54284=>array(77,-45,936,842),54285=>array(77,-69,936,842),54286=>array(77,-76,936,842),54287=>array(77,-44,936,842),54288=>array(77,-62,936,842),54289=>array(77,-64,936,842),54290=>array(77,-64,936,842),54291=>array(77,-64,936,842),54292=>array(77,-70,936,842),54293=>array(77,-64,936,842),54294=>array(77,-64,936,842),54295=>array(77,-76,936,842),54296=>array(77,-62,936,842),54297=>array(77,-61,936,842),54298=>array(77,-70,936,842),54299=>array(77,-74,936,842),54300=>array(77,-69,936,842),54301=>array(77,-67,936,842),54302=>array(77,-72,936,842),54303=>array(77,-71,936,842),54304=>array(77,-66,936,842),54305=>array(77,-59,936,842),54306=>array(77,-60,936,842),54307=>array(77,-69,936,842),54308=>array(59,-69,907,842),54309=>array(77,-61,907,842),54310=>array(77,-61,907,842),54311=>array(77,-71,931,842),54312=>array(67,-46,907,842),54313=>array(77,-68,912,842),54314=>array(77,-76,907,842),54315=>array(77,-44,921,842),54316=>array(77,-62,917,842),54317=>array(77,-64,907,842),54318=>array(77,-64,908,842),54319=>array(77,-64,908,842),54320=>array(77,-69,923,842),54321=>array(77,-64,908,842),54322=>array(77,-64,908,842),54323=>array(77,-76,907,842),54324=>array(77,-62,907,842),54325=>array(77,-61,907,842),54326=>array(77,-69,922,842),54327=>array(77,-74,929,842),54328=>array(77,-69,927,842),54329=>array(77,-68,911,842),54330=>array(77,-72,929,842),54331=>array(77,-70,936,842),54332=>array(77,-66,908,842),54333=>array(77,-59,916,842),54334=>array(77,-60,928,842),54335=>array(77,-68,908,842),54336=>array(53,-68,908,843),54337=>array(65,-61,907,842),54338=>array(65,-61,907,842),54339=>array(65,-71,931,842),54340=>array(65,-46,907,842),54341=>array(65,-68,912,842),54342=>array(65,-76,907,842),54343=>array(65,-44,921,842),54344=>array(65,-62,917,842),54345=>array(65,-64,907,842),54346=>array(65,-64,908,842),54347=>array(65,-64,908,842),54348=>array(65,-69,923,842),54349=>array(65,-64,908,842),54350=>array(65,-64,908,842),54351=>array(65,-76,907,842),54352=>array(65,-62,907,842),54353=>array(65,-61,907,842),54354=>array(65,-69,922,842),54355=>array(65,-74,929,842),54356=>array(65,-69,927,842),54357=>array(65,-68,911,842),54358=>array(65,-72,929,842),54359=>array(65,-70,936,842),54360=>array(65,-66,908,842),54361=>array(65,-59,916,842),54362=>array(65,-60,928,842),54363=>array(65,-68,908,842),54364=>array(60,17,940,739),54365=>array(79,-61,921,799),54366=>array(79,-61,921,799),54367=>array(79,-71,921,799),54368=>array(79,-46,921,799),54369=>array(79,-68,921,799),54370=>array(79,-74,921,799),54371=>array(79,-44,921,799),54372=>array(79,-62,921,799),54373=>array(79,-64,921,799),54374=>array(79,-64,921,799),54375=>array(79,-63,921,799),54376=>array(79,-68,921,799),54377=>array(79,-64,921,799),54378=>array(79,-63,921,799),54379=>array(79,-74,921,799),54380=>array(79,-62,921,799),54381=>array(79,-61,921,799),54382=>array(79,-69,921,799),54383=>array(79,-74,921,799),54384=>array(79,-69,921,799),54385=>array(79,-68,921,799),54386=>array(79,-72,921,799),54387=>array(79,-70,921,799),54388=>array(79,-66,921,799),54389=>array(79,-59,921,799),54390=>array(79,-60,921,799),54391=>array(79,-68,921,799),54392=>array(79,-64,921,794),54393=>array(79,-61,921,799),54394=>array(79,-61,921,799),54395=>array(79,-71,921,799),54396=>array(79,-46,921,799),54397=>array(79,-68,921,799),54398=>array(79,-74,921,799),54399=>array(79,-44,921,799),54400=>array(79,-62,921,799),54401=>array(79,-64,921,799),54402=>array(79,-64,921,799),54403=>array(79,-63,921,799),54404=>array(79,-68,921,799),54405=>array(79,-64,921,799),54406=>array(79,-63,921,799),54407=>array(79,-74,921,799),54408=>array(79,-62,921,799),54409=>array(79,-61,921,799),54410=>array(79,-69,921,799),54411=>array(79,-74,921,799),54412=>array(79,-69,921,799),54413=>array(79,-68,921,799),54414=>array(79,-72,921,799),54415=>array(79,-70,921,799),54416=>array(79,-66,921,799),54417=>array(79,-59,921,799),54418=>array(79,-60,921,799),54419=>array(79,-68,921,799),54420=>array(67,-65,882,841),54421=>array(72,-61,907,836),54422=>array(72,-61,907,836),54423=>array(72,-71,931,836),54424=>array(75,-46,907,841),54425=>array(72,-68,912,836),54426=>array(72,-76,907,836),54427=>array(72,-44,921,836),54428=>array(72,-62,917,836),54429=>array(72,-64,907,836),54430=>array(72,-64,908,836),54431=>array(72,-64,908,836),54432=>array(72,-69,923,836),54433=>array(72,-64,908,836),54434=>array(72,-64,908,836),54435=>array(72,-76,906,836),54436=>array(72,-62,907,836),54437=>array(72,-61,907,836),54438=>array(72,-69,922,836),54439=>array(72,-74,929,836),54440=>array(72,-69,927,836),54441=>array(72,-68,911,836),54442=>array(72,-72,929,836),54443=>array(72,-70,936,836),54444=>array(72,-66,908,836),54445=>array(72,-59,916,836),54446=>array(72,-60,928,836),54447=>array(72,-68,908,836),54448=>array(62,-63,912,843),54449=>array(70,-61,907,838),54450=>array(70,-61,907,838),54451=>array(70,-71,931,838),54452=>array(76,-46,907,843),54453=>array(70,-68,912,838),54454=>array(70,-76,907,838),54455=>array(70,-44,921,838),54456=>array(70,-62,917,838),54457=>array(70,-64,907,838),54458=>array(70,-64,908,838),54459=>array(70,-64,908,838),54460=>array(70,-69,923,838),54461=>array(70,-64,908,838),54462=>array(70,-64,908,838),54463=>array(70,-76,906,838),54464=>array(70,-62,907,838),54465=>array(70,-61,907,838),54466=>array(70,-69,922,838),54467=>array(70,-74,929,838),54468=>array(70,-69,927,838),54469=>array(70,-68,911,838),54470=>array(70,-72,929,838),54471=>array(70,-70,936,838),54472=>array(70,-66,908,838),54473=>array(70,-59,916,838),54474=>array(70,-60,928,838),54475=>array(70,-68,908,838),54476=>array(71,-69,907,842),54477=>array(65,-61,907,842),54478=>array(65,-61,907,842),54479=>array(65,-71,931,842),54480=>array(65,-46,907,842),54481=>array(65,-68,912,842),54482=>array(65,-76,907,842),54483=>array(65,-44,921,842),54484=>array(65,-62,917,842),54485=>array(65,-64,907,842),54486=>array(65,-64,908,842),54487=>array(65,-64,908,842),54488=>array(65,-69,923,842),54489=>array(65,-64,908,842),54490=>array(65,-64,908,842),54491=>array(65,-76,907,842),54492=>array(65,-62,907,842),54493=>array(65,-61,907,842),54494=>array(65,-69,922,842),54495=>array(65,-74,929,842),54496=>array(65,-69,927,842),54497=>array(65,-68,911,842),54498=>array(65,-72,929,842),54499=>array(65,-70,936,842),54500=>array(65,-66,908,842),54501=>array(65,-59,916,842),54502=>array(65,-60,928,842),54503=>array(65,-68,908,842),54504=>array(79,-64,921,794),54505=>array(79,-61,921,799),54506=>array(79,-61,921,799),54507=>array(79,-71,921,799),54508=>array(81,-46,922,799),54509=>array(79,-68,921,799),54510=>array(79,-74,921,799),54511=>array(79,-44,921,799),54512=>array(79,-62,921,799),54513=>array(79,-64,921,799),54514=>array(79,-64,921,799),54515=>array(79,-63,921,799),54516=>array(79,-68,921,799),54517=>array(79,-64,921,799),54518=>array(79,-63,921,799),54519=>array(79,-74,921,799),54520=>array(79,-62,921,799),54521=>array(79,-61,921,799),54522=>array(79,-69,921,799),54523=>array(79,-74,921,799),54524=>array(79,-69,921,799),54525=>array(79,-68,921,799),54526=>array(79,-72,921,799),54527=>array(79,-70,921,799),54528=>array(79,-66,921,799),54529=>array(79,-59,921,799),54530=>array(79,-60,921,799),54531=>array(79,-68,921,799),54532=>array(57,52,943,724),54533=>array(79,-61,922,799),54534=>array(79,-61,922,799),54535=>array(79,-71,922,799),54536=>array(79,-46,921,799),54537=>array(79,-68,922,799),54538=>array(79,-74,922,799),54539=>array(79,-44,922,799),54540=>array(79,-62,922,799),54541=>array(79,-64,922,799),54542=>array(79,-64,922,799),54543=>array(79,-63,922,799),54544=>array(79,-68,922,799),54545=>array(79,-64,922,799),54546=>array(79,-63,922,799),54547=>array(79,-74,922,799),54548=>array(79,-62,922,799),54549=>array(79,-61,922,799),54550=>array(79,-69,922,799),54551=>array(79,-74,922,799),54552=>array(79,-69,922,799),54553=>array(79,-68,922,799),54554=>array(79,-72,922,799),54555=>array(79,-70,922,799),54556=>array(79,-66,922,799),54557=>array(79,-59,922,799),54558=>array(79,-60,922,799),54559=>array(79,-68,922,799),54560=>array(67,-69,907,842),54561=>array(65,-61,907,842),54562=>array(65,-61,907,842),54563=>array(65,-71,931,842),54564=>array(65,-46,907,842),54565=>array(65,-68,912,842),54566=>array(65,-76,907,842),54567=>array(65,-44,921,842),54568=>array(65,-62,917,842),54569=>array(65,-64,907,842),54570=>array(65,-64,908,842),54571=>array(65,-64,908,842),54572=>array(65,-69,923,842),54573=>array(65,-64,908,842),54574=>array(65,-64,908,842),54575=>array(65,-76,907,842),54576=>array(65,-62,907,842),54577=>array(65,-61,907,842),54578=>array(65,-69,922,842),54579=>array(65,-74,929,842),54580=>array(65,-69,927,842),54581=>array(65,-68,911,842),54582=>array(65,-72,929,842),54583=>array(65,-70,936,842),54584=>array(65,-66,908,842),54585=>array(65,-59,916,842),54586=>array(65,-60,928,842),54587=>array(65,-68,908,842),54588=>array(85,-69,907,842),54589=>array(86,-61,907,842),54590=>array(86,-61,907,842),54591=>array(86,-71,931,842),54592=>array(86,-46,907,842),54593=>array(86,-68,912,842),54594=>array(86,-76,907,842),54595=>array(86,-44,921,842),54596=>array(86,-62,917,842),54597=>array(86,-64,907,842),54598=>array(86,-64,908,842),54599=>array(86,-64,908,842),54600=>array(86,-69,923,842),54601=>array(86,-64,908,842),54602=>array(86,-64,908,842),54603=>array(86,-76,907,842),54604=>array(86,-62,907,842),54605=>array(86,-61,907,842),54606=>array(86,-69,922,842),54607=>array(86,-74,929,842),54608=>array(86,-69,927,842),54609=>array(86,-68,911,842),54610=>array(86,-72,929,842),54611=>array(86,-70,936,842),54612=>array(86,-66,908,842),54613=>array(86,-59,916,842),54614=>array(86,-60,928,842),54615=>array(86,-68,908,842),54616=>array(94,-69,936,842),54617=>array(85,-59,936,842),54618=>array(85,-61,936,842),54619=>array(85,-71,936,842),54620=>array(85,-45,936,842),54621=>array(85,-69,936,842),54622=>array(85,-76,936,842),54623=>array(85,-44,936,842),54624=>array(85,-62,936,842),54625=>array(85,-64,936,842),54626=>array(85,-64,936,842),54627=>array(85,-64,936,842),54628=>array(85,-70,936,842),54629=>array(85,-64,936,842),54630=>array(85,-64,936,842),54631=>array(85,-76,936,842),54632=>array(85,-62,936,842),54633=>array(85,-61,936,842),54634=>array(85,-70,936,842),54635=>array(85,-74,936,842),54636=>array(85,-69,936,842),54637=>array(85,-67,936,842),54638=>array(85,-72,936,842),54639=>array(85,-71,936,842),54640=>array(85,-66,936,842),54641=>array(85,-59,936,842),54642=>array(85,-60,936,842),54643=>array(85,-69,936,842),54644=>array(79,-69,907,842),54645=>array(85,-61,907,842),54646=>array(85,-61,907,842),54647=>array(85,-71,931,842),54648=>array(85,-46,907,842),54649=>array(85,-68,912,842),54650=>array(85,-76,907,842),54651=>array(85,-44,921,842),54652=>array(85,-62,917,842),54653=>array(85,-64,907,842),54654=>array(85,-64,908,842),54655=>array(85,-64,908,842),54656=>array(85,-69,923,842),54657=>array(85,-64,908,842),54658=>array(85,-64,908,842),54659=>array(85,-76,907,842),54660=>array(85,-62,907,842),54661=>array(85,-61,907,842),54662=>array(85,-69,922,842),54663=>array(85,-74,929,842),54664=>array(85,-69,927,842),54665=>array(85,-68,911,842),54666=>array(85,-72,929,842),54667=>array(85,-70,936,842),54668=>array(85,-66,908,842),54669=>array(85,-59,916,842),54670=>array(85,-60,928,842),54671=>array(85,-68,908,842),54672=>array(94,-68,935,843),54673=>array(85,-59,936,842),54674=>array(85,-61,936,842),54675=>array(85,-71,936,842),54676=>array(85,-45,936,842),54677=>array(85,-69,936,842),54678=>array(85,-76,936,842),54679=>array(85,-44,936,842),54680=>array(85,-62,936,842),54681=>array(85,-64,936,842),54682=>array(85,-64,936,842),54683=>array(85,-64,936,842),54684=>array(85,-70,936,842),54685=>array(85,-64,936,842),54686=>array(85,-64,936,842),54687=>array(85,-76,936,842),54688=>array(85,-62,936,842),54689=>array(85,-61,936,842),54690=>array(85,-70,936,842),54691=>array(85,-74,936,842),54692=>array(85,-69,936,842),54693=>array(85,-67,936,842),54694=>array(85,-72,936,842),54695=>array(85,-71,936,842),54696=>array(85,-66,936,842),54697=>array(85,-59,936,842),54698=>array(85,-60,936,842),54699=>array(85,-69,936,842),54700=>array(79,-69,907,842),54701=>array(85,-61,907,842),54702=>array(85,-61,907,842),54703=>array(85,-71,931,842),54704=>array(85,-46,907,842),54705=>array(85,-68,912,842),54706=>array(85,-76,907,842),54707=>array(85,-44,921,842),54708=>array(85,-62,917,842),54709=>array(85,-64,907,842),54710=>array(85,-64,908,842),54711=>array(85,-64,908,842),54712=>array(85,-69,923,842),54713=>array(85,-64,908,842),54714=>array(85,-64,908,842),54715=>array(85,-76,907,842),54716=>array(85,-62,907,842),54717=>array(85,-61,907,842),54718=>array(85,-69,922,842),54719=>array(85,-74,929,842),54720=>array(85,-69,927,842),54721=>array(85,-68,911,842),54722=>array(85,-72,929,842),54723=>array(85,-70,936,842),54724=>array(85,-66,908,842),54725=>array(85,-59,916,842),54726=>array(85,-60,928,842),54727=>array(85,-68,908,842),54728=>array(79,-70,907,841),54729=>array(85,-61,907,842),54730=>array(85,-61,907,842),54731=>array(85,-71,931,842),54732=>array(85,-46,907,841),54733=>array(85,-68,912,842),54734=>array(85,-76,907,842),54735=>array(85,-44,921,842),54736=>array(85,-62,917,842),54737=>array(85,-64,907,842),54738=>array(85,-64,908,842),54739=>array(85,-64,908,842),54740=>array(85,-69,923,842),54741=>array(85,-64,908,842),54742=>array(85,-64,908,842),54743=>array(85,-76,906,842),54744=>array(85,-62,907,842),54745=>array(85,-61,907,842),54746=>array(85,-69,922,842),54747=>array(85,-74,929,842),54748=>array(85,-69,927,842),54749=>array(85,-68,911,842),54750=>array(85,-72,929,842),54751=>array(85,-70,936,842),54752=>array(85,-66,908,842),54753=>array(85,-59,916,842),54754=>array(85,-60,928,842),54755=>array(85,-68,908,842),54756=>array(69,-68,907,843),54757=>array(50,-61,907,843),54758=>array(50,-61,907,843),54759=>array(50,-71,931,843),54760=>array(60,-46,907,843),54761=>array(50,-68,912,843),54762=>array(50,-76,907,843),54763=>array(50,-44,921,843),54764=>array(50,-62,917,843),54765=>array(50,-64,907,843),54766=>array(50,-64,908,843),54767=>array(50,-64,908,843),54768=>array(50,-69,923,843),54769=>array(50,-64,908,843),54770=>array(50,-64,908,843),54771=>array(50,-76,907,843),54772=>array(50,-62,907,843),54773=>array(50,-61,907,843),54774=>array(50,-69,922,843),54775=>array(50,-74,929,843),54776=>array(50,-69,927,843),54777=>array(50,-68,911,843),54778=>array(50,-72,929,843),54779=>array(50,-70,936,843),54780=>array(50,-66,908,843),54781=>array(50,-59,916,843),54782=>array(50,-60,928,843),54783=>array(50,-68,908,843),54784=>array(89,-70,907,842),54785=>array(75,-61,907,842),54786=>array(75,-61,907,842),54787=>array(75,-71,931,842),54788=>array(85,-46,907,842),54789=>array(75,-68,912,842),54790=>array(75,-76,907,842),54791=>array(75,-44,921,842),54792=>array(75,-62,917,842),54793=>array(75,-64,907,842),54794=>array(75,-64,908,842),54795=>array(75,-64,908,842),54796=>array(75,-69,923,842),54797=>array(75,-64,908,842),54798=>array(75,-64,908,842),54799=>array(75,-76,907,842),54800=>array(75,-62,907,842),54801=>array(75,-61,907,842),54802=>array(75,-69,922,842),54803=>array(75,-74,929,842),54804=>array(75,-69,927,842),54805=>array(75,-68,911,842),54806=>array(75,-72,929,842),54807=>array(75,-70,936,842),54808=>array(75,-66,908,842),54809=>array(75,-59,916,842),54810=>array(75,-60,928,842),54811=>array(75,-68,908,842),54812=>array(49,-68,907,843),54813=>array(50,-61,907,843),54814=>array(50,-61,907,843),54815=>array(50,-71,931,843),54816=>array(50,-46,907,843),54817=>array(50,-68,912,843),54818=>array(50,-76,907,843),54819=>array(50,-44,921,843),54820=>array(50,-62,917,843),54821=>array(50,-64,907,843),54822=>array(50,-64,908,843),54823=>array(50,-64,908,843),54824=>array(50,-69,923,843),54825=>array(50,-64,908,843),54826=>array(50,-64,908,843),54827=>array(50,-76,907,843),54828=>array(50,-62,907,843),54829=>array(50,-61,907,843),54830=>array(50,-69,922,843),54831=>array(50,-74,929,843),54832=>array(50,-69,927,843),54833=>array(50,-68,911,843),54834=>array(50,-72,929,843),54835=>array(50,-70,936,843),54836=>array(50,-66,908,843),54837=>array(50,-59,916,843),54838=>array(50,-60,928,843),54839=>array(50,-68,908,843),54840=>array(62,7,938,764),54841=>array(79,-61,921,819),54842=>array(79,-61,921,819),54843=>array(79,-71,921,819),54844=>array(79,-46,922,819),54845=>array(79,-68,921,819),54846=>array(79,-74,921,819),54847=>array(79,-44,921,819),54848=>array(79,-62,921,819),54849=>array(79,-64,921,819),54850=>array(79,-64,921,819),54851=>array(79,-63,921,819),54852=>array(79,-68,921,819),54853=>array(79,-64,921,819),54854=>array(79,-63,921,819),54855=>array(79,-74,921,819),54856=>array(79,-62,921,819),54857=>array(79,-61,921,819),54858=>array(79,-69,921,819),54859=>array(79,-74,921,819),54860=>array(79,-69,921,819),54861=>array(79,-68,921,819),54862=>array(79,-72,921,819),54863=>array(79,-70,921,819),54864=>array(79,-66,921,819),54865=>array(79,-59,921,819),54866=>array(79,-60,921,819),54867=>array(79,-68,921,819),54868=>array(68,-69,936,842),54869=>array(77,-59,936,842),54870=>array(77,-61,936,842),54871=>array(77,-71,936,842),54872=>array(72,-45,936,842),54873=>array(77,-69,936,842),54874=>array(77,-76,936,842),54875=>array(77,-44,936,842),54876=>array(77,-62,936,842),54877=>array(77,-64,936,842),54878=>array(77,-64,936,842),54879=>array(77,-64,936,842),54880=>array(77,-70,936,842),54881=>array(77,-64,936,842),54882=>array(77,-64,936,842),54883=>array(77,-76,936,842),54884=>array(77,-62,936,842),54885=>array(77,-61,936,842),54886=>array(77,-70,936,842),54887=>array(77,-74,936,842),54888=>array(77,-69,936,842),54889=>array(77,-67,936,842),54890=>array(77,-72,936,842),54891=>array(77,-71,936,842),54892=>array(77,-66,936,842),54893=>array(77,-59,936,842),54894=>array(77,-60,936,842),54895=>array(77,-69,936,842),54896=>array(61,-69,907,842),54897=>array(77,-61,907,842),54898=>array(77,-61,907,842),54899=>array(77,-71,931,842),54900=>array(72,-46,907,842),54901=>array(77,-68,912,842),54902=>array(77,-76,907,842),54903=>array(77,-44,921,842),54904=>array(77,-62,917,842),54905=>array(77,-64,907,842),54906=>array(77,-64,908,842),54907=>array(77,-64,908,842),54908=>array(77,-69,923,842),54909=>array(77,-64,908,842),54910=>array(77,-64,908,842),54911=>array(77,-76,907,842),54912=>array(77,-62,907,842),54913=>array(77,-61,907,842),54914=>array(77,-69,922,842),54915=>array(77,-74,929,842),54916=>array(77,-69,927,842),54917=>array(77,-68,911,842),54918=>array(77,-72,929,842),54919=>array(77,-70,936,842),54920=>array(77,-66,908,842),54921=>array(77,-59,916,842),54922=>array(77,-60,928,842),54923=>array(77,-68,908,842),54924=>array(74,-69,907,842),54925=>array(65,-61,907,842),54926=>array(65,-61,907,842),54927=>array(65,-71,931,842),54928=>array(65,-46,907,842),54929=>array(65,-68,912,842),54930=>array(65,-76,907,842),54931=>array(65,-44,921,842),54932=>array(65,-62,917,842),54933=>array(65,-64,907,842),54934=>array(65,-64,908,842),54935=>array(65,-64,908,842),54936=>array(65,-69,923,842),54937=>array(65,-64,908,842),54938=>array(65,-64,908,842),54939=>array(65,-76,907,842),54940=>array(65,-62,907,842),54941=>array(65,-61,907,842),54942=>array(65,-69,922,842),54943=>array(65,-74,929,842),54944=>array(65,-69,927,842),54945=>array(65,-68,911,842),54946=>array(65,-72,929,842),54947=>array(65,-70,936,842),54948=>array(65,-66,908,842),54949=>array(65,-59,916,842),54950=>array(65,-60,928,842),54951=>array(65,-68,908,842),54952=>array(62,7,938,764),54953=>array(79,-61,921,819),54954=>array(79,-61,921,819),54955=>array(79,-71,921,819),54956=>array(79,-46,921,819),54957=>array(79,-68,921,819),54958=>array(79,-74,921,819),54959=>array(79,-44,921,819),54960=>array(79,-62,921,819),54961=>array(79,-64,921,819),54962=>array(79,-64,921,819),54963=>array(79,-63,921,819),54964=>array(79,-68,921,819),54965=>array(79,-64,921,819),54966=>array(79,-63,921,819),54967=>array(79,-74,921,819),54968=>array(79,-62,921,819),54969=>array(79,-61,921,819),54970=>array(79,-69,921,819),54971=>array(79,-74,921,819),54972=>array(79,-69,921,819),54973=>array(79,-68,921,819),54974=>array(79,-72,921,819),54975=>array(79,-70,921,819),54976=>array(79,-66,921,819),54977=>array(79,-59,921,819),54978=>array(79,-60,921,819),54979=>array(79,-68,921,819),54980=>array(79,-64,921,809),54981=>array(79,-61,921,819),54982=>array(79,-61,921,819),54983=>array(79,-71,921,819),54984=>array(79,-46,921,814),54985=>array(79,-68,921,819),54986=>array(79,-74,921,819),54987=>array(79,-44,921,819),54988=>array(79,-62,921,819),54989=>array(79,-64,921,819),54990=>array(79,-64,921,819),54991=>array(79,-63,921,819),54992=>array(79,-68,921,819),54993=>array(79,-64,921,819),54994=>array(79,-63,921,819),54995=>array(79,-74,921,819),54996=>array(79,-62,921,819),54997=>array(79,-61,921,819),54998=>array(79,-69,921,819),54999=>array(79,-74,921,819),55000=>array(79,-69,921,819),55001=>array(79,-68,921,819),55002=>array(79,-72,921,819),55003=>array(79,-70,921,819),55004=>array(79,-66,921,819),55005=>array(79,-59,921,819),55006=>array(79,-60,921,819),55007=>array(79,-68,921,819),55008=>array(70,-70,907,841),55009=>array(75,-61,909,843),55010=>array(75,-61,909,843),55011=>array(75,-71,931,843),55012=>array(76,-46,909,843),55013=>array(75,-68,912,843),55014=>array(75,-76,909,843),55015=>array(75,-44,921,843),55016=>array(75,-62,917,843),55017=>array(75,-64,909,843),55018=>array(75,-64,909,843),55019=>array(75,-64,909,843),55020=>array(75,-69,923,843),55021=>array(75,-64,909,843),55022=>array(75,-64,909,843),55023=>array(75,-76,909,843),55024=>array(75,-62,909,843),55025=>array(75,-61,909,843),55026=>array(75,-69,922,843),55027=>array(75,-74,929,843),55028=>array(75,-69,927,843),55029=>array(75,-68,911,843),55030=>array(75,-72,929,843),55031=>array(75,-70,936,843),55032=>array(75,-66,909,843),55033=>array(75,-59,916,843),55034=>array(75,-60,928,843),55035=>array(75,-68,909,843),55036=>array(63,-68,907,843),55037=>array(70,-61,907,843),55038=>array(70,-61,907,843),55039=>array(70,-71,931,843),55040=>array(76,-46,907,843),55041=>array(70,-68,912,843),55042=>array(70,-76,907,843),55043=>array(70,-44,921,843),55044=>array(70,-62,917,843),55045=>array(70,-64,907,843),55046=>array(70,-64,908,843),55047=>array(70,-64,908,843),55048=>array(70,-69,923,843),55049=>array(70,-64,908,843),55050=>array(70,-64,908,843),55051=>array(70,-76,907,843),55052=>array(70,-62,907,843),55053=>array(70,-61,907,843),55054=>array(70,-69,922,843),55055=>array(70,-74,929,843),55056=>array(70,-69,927,843),55057=>array(70,-68,911,843),55058=>array(70,-72,929,843),55059=>array(70,-70,936,843),55060=>array(70,-66,908,843),55061=>array(70,-59,916,843),55062=>array(70,-60,928,843),55063=>array(70,-68,908,843),55064=>array(70,-69,907,842),55065=>array(65,-61,907,842),55066=>array(65,-61,907,842),55067=>array(65,-71,931,842),55068=>array(65,-46,907,842),55069=>array(65,-68,912,842),55070=>array(65,-76,907,842),55071=>array(65,-44,921,842),55072=>array(65,-62,917,842),55073=>array(65,-64,907,842),55074=>array(65,-64,908,842),55075=>array(65,-64,908,842),55076=>array(65,-69,923,842),55077=>array(65,-64,908,842),55078=>array(65,-64,908,842),55079=>array(65,-76,907,842),55080=>array(65,-62,907,842),55081=>array(65,-61,907,842),55082=>array(65,-69,922,842),55083=>array(65,-74,929,842),55084=>array(65,-69,927,842),55085=>array(65,-68,911,842),55086=>array(65,-72,929,842),55087=>array(65,-70,936,842),55088=>array(65,-66,908,842),55089=>array(65,-59,916,842),55090=>array(65,-60,928,842),55091=>array(65,-68,908,842),55092=>array(87,-64,928,799),55093=>array(79,-61,921,819),55094=>array(79,-61,921,819),55095=>array(79,-71,921,819),55096=>array(79,-46,921,814),55097=>array(79,-68,921,819),55098=>array(79,-74,921,819),55099=>array(79,-44,921,819),55100=>array(79,-62,921,819),55101=>array(79,-64,921,819),55102=>array(79,-64,921,819),55103=>array(79,-63,921,819),55104=>array(79,-68,921,819),55105=>array(79,-64,921,819),55106=>array(79,-63,921,819),55107=>array(79,-74,921,819),55108=>array(79,-62,921,819),55109=>array(79,-61,921,819),55110=>array(79,-69,921,819),55111=>array(79,-74,921,819),55112=>array(79,-69,921,819),55113=>array(79,-68,921,819),55114=>array(79,-72,921,819),55115=>array(79,-70,921,819),55116=>array(79,-66,921,819),55117=>array(79,-59,921,819),55118=>array(79,-60,921,819),55119=>array(79,-68,921,819),55120=>array(52,42,948,744),55121=>array(79,-61,921,819),55122=>array(79,-61,921,819),55123=>array(79,-71,921,819),55124=>array(79,-46,921,815),55125=>array(79,-68,921,819),55126=>array(79,-74,921,819),55127=>array(79,-44,921,819),55128=>array(79,-62,921,819),55129=>array(79,-64,921,819),55130=>array(79,-64,921,819),55131=>array(79,-63,921,819),55132=>array(79,-68,921,819),55133=>array(79,-64,921,819),55134=>array(79,-63,921,819),55135=>array(79,-74,921,819),55136=>array(79,-62,921,819),55137=>array(79,-61,921,819),55138=>array(79,-69,921,819),55139=>array(79,-74,921,819),55140=>array(79,-69,921,819),55141=>array(79,-68,921,819),55142=>array(79,-72,921,819),55143=>array(79,-70,921,819),55144=>array(79,-66,921,819),55145=>array(79,-59,921,819),55146=>array(79,-60,921,819),55147=>array(79,-68,921,819),55148=>array(67,-69,907,842),55149=>array(65,-61,907,842),55150=>array(65,-61,907,842),55151=>array(65,-71,931,842),55152=>array(65,-46,907,842),55153=>array(65,-68,912,842),55154=>array(65,-76,907,842),55155=>array(65,-44,921,842),55156=>array(65,-62,917,842),55157=>array(65,-64,907,842),55158=>array(65,-64,908,842),55159=>array(65,-64,908,842),55160=>array(65,-69,923,842),55161=>array(65,-64,908,842),55162=>array(65,-64,908,842),55163=>array(65,-76,907,842),55164=>array(65,-62,907,842),55165=>array(65,-61,907,842),55166=>array(65,-69,922,842),55167=>array(65,-74,929,842),55168=>array(65,-69,927,842),55169=>array(65,-68,911,842),55170=>array(65,-72,929,842),55171=>array(65,-70,936,842),55172=>array(65,-66,908,842),55173=>array(65,-59,916,842),55174=>array(65,-60,928,842),55175=>array(65,-68,908,842),55176=>array(84,-69,907,842),55177=>array(101,-61,907,842),55178=>array(101,-61,907,842),55179=>array(101,-71,931,842),55180=>array(96,-46,907,842),55181=>array(101,-68,912,842),55182=>array(101,-76,907,842),55183=>array(101,-44,921,842),55184=>array(101,-62,917,842),55185=>array(101,-64,907,842),55186=>array(101,-64,908,842),55187=>array(101,-64,908,842),55188=>array(101,-69,923,842),55189=>array(101,-64,908,842),55190=>array(101,-64,908,842),55191=>array(101,-76,907,842),55192=>array(101,-62,907,842),55193=>array(101,-61,907,842),55194=>array(101,-69,922,842),55195=>array(101,-74,929,842),55196=>array(101,-69,927,842),55197=>array(101,-68,911,842),55198=>array(101,-72,929,842),55199=>array(101,-70,936,842),55200=>array(101,-66,908,842),55201=>array(101,-59,916,842),55202=>array(101,-60,928,842),55203=>array(101,-68,908,842),59393=>array(-54,0,248,634),59394=>array(20,-199,439,530),59395=>array(20,-199,439,530),59396=>array(-70,-12,436,716),59397=>array(-70,-12,436,716),59416=>array(7,637,299,1065),59492=>array(32,0,450,576),59495=>array(32,-1,452,577),59536=>array(38,0,459,770),59557=>array(-1,-221,404,556),59558=>array(-1,-221,481,393),59559=>array(62,-221,904,393),61441=>array(14,0,432,728),61442=>array(14,0,430,728),63232=>array(54,-5,477,560),63233=>array(-601,612,-216,775),63234=>array(-601,612,-216,800),63235=>array(-601,612,-171,800),63236=>array(-601,612,-216,800),63237=>array(-341,612,-283,785),63238=>array(-467,612,-173,819),63239=>array(-620,612,-180,810),63240=>array(-399,612,-226,785),63241=>array(-504,615,-192,832),63242=>array(-167,612,-109,785),63243=>array(-293,612,1,819),63244=>array(-342,612,98,810),63245=>array(-225,612,-52,785),63246=>array(-330,615,-18,832),63247=>array(54,-5,774,558),63248=>array(-563,631,-189,824),63249=>array(-422,609,-265,767),63250=>array(-623,603,-246,849),63251=>array(-274,858,-216,1031),63252=>array(-400,858,-106,1065),63253=>array(-449,858,-9,1056),63254=>array(-333,858,-159,1031),63255=>array(-437,861,-125,1078),63256=>array(-201,-206,-85,-34),63257=>array(-337,-206,-89,-34),63258=>array(-157,-115,-75,-33),63260=>array(111,-210,291,-73),63261=>array(17,-113,269,0),63744=>array(62,-12,931,835),63745=>array(48,-72,962,777),63746=>array(63,-71,935,832),63747=>array(66,-79,948,785),63748=>array(49,-62,926,811),63749=>array(123,-68,886,832),63750=>array(65,-51,902,840),63751=>array(37,-41,967,846),63752=>array(37,-41,967,846),63753=>array(43,-70,957,830),63754=>array(54,-21,960,856),63755=>array(112,-67,904,831),63756=>array(62,-62,960,848),63757=>array(32,-72,970,845),63758=>array(42,-67,985,854),63759=>array(38,-67,950,807),63760=>array(61,-80,954,835),63761=>array(33,-73,961,835),63762=>array(40,-71,973,822),63763=>array(52,-51,966,820),63764=>array(60,-64,959,847),63765=>array(57,-72,959,842),63766=>array(48,-75,968,839),63767=>array(45,-66,972,840),63768=>array(56,-68,970,835),63769=>array(51,-67,967,840),63770=>array(64,-62,972,839),63771=>array(49,-68,962,843),63772=>array(59,-71,883,815),63773=>array(35,-65,909,836),63774=>array(53,-70,923,830),63775=>array(72,-70,928,839),63776=>array(62,-67,958,846),63777=>array(59,-49,964,846),63778=>array(50,-73,964,837),63779=>array(56,-34,949,839),63780=>array(35,-68,952,836),63781=>array(49,-64,947,829),63782=>array(40,-65,956,848),63783=>array(47,-76,968,842),63784=>array(46,-60,949,837),63785=>array(49,-74,885,832),63786=>array(62,-63,962,829),63787=>array(37,-75,968,831),63788=>array(51,-65,930,832),63789=>array(63,-64,956,835),63790=>array(54,-71,966,849),63791=>array(52,-73,919,832),63792=>array(43,-67,954,835),63793=>array(30,-61,974,849),63794=>array(43,-71,954,830),63795=>array(40,-78,941,833),63796=>array(38,-39,923,832),63797=>array(59,-66,961,836),63798=>array(45,-77,929,841),63799=>array(29,-67,968,838),63800=>array(70,-62,965,817),63801=>array(51,-68,947,837),63802=>array(62,-67,948,849),63803=>array(36,-64,952,818),63804=>array(57,-69,958,840),63805=>array(34,-67,974,839),63806=>array(65,-52,935,840),63807=>array(57,-64,968,841),63808=>array(57,-67,949,829),63809=>array(55,-63,973,849),63810=>array(57,-24,950,849),63811=>array(48,-65,934,785),63812=>array(49,-62,964,855),63813=>array(43,-71,962,840),63814=>array(56,-65,944,833),63815=>array(52,-68,944,788),63816=>array(57,-63,976,839),63817=>array(105,-67,914,786),63818=>array(59,-28,949,783),63819=>array(46,-82,939,823),63820=>array(39,-70,949,831),63821=>array(48,-66,982,843),63822=>array(46,-67,956,800),63823=>array(51,-63,943,808),63824=>array(34,-65,942,839),63825=>array(99,-82,936,792),63826=>array(72,-65,917,829),63827=>array(68,-70,898,834),63828=>array(55,-65,973,833),63829=>array(41,-70,959,831),63830=>array(33,-57,967,835),63831=>array(34,-66,968,839),63832=>array(46,-65,954,831),63833=>array(95,-67,970,831),63834=>array(59,-66,961,841),63835=>array(60,-58,974,851),63836=>array(60,-64,959,847),63837=>array(53,-65,949,836),63838=>array(74,-73,939,777),63839=>array(69,-55,923,850),63840=>array(49,-25,959,830),63841=>array(72,-69,928,840),63842=>array(72,-74,926,784),63843=>array(45,-54,948,792),63844=>array(30,-55,956,850),63845=>array(42,-73,947,834),63846=>array(44,-67,970,843),63847=>array(71,-65,928,769),63848=>array(42,-32,972,829),63849=>array(60,-70,959,833),63850=>array(65,-69,946,835),63851=>array(30,-88,968,844),63852=>array(48,-30,949,830),63853=>array(53,-70,939,829),63854=>array(49,-70,965,839),63855=>array(57,-71,964,816),63856=>array(51,-72,967,824),63857=>array(57,-63,963,785),63858=>array(56,-73,946,824),63859=>array(45,-63,961,848),63860=>array(72,-65,931,827),63861=>array(41,-71,955,826),63862=>array(110,-66,962,839),63863=>array(65,-68,950,838),63864=>array(60,-68,953,783),63865=>array(63,-63,961,830),63866=>array(53,-68,956,808),63867=>array(40,-72,954,818),63868=>array(85,-61,963,820),63869=>array(53,-60,960,830),63870=>array(53,-30,947,789),63871=>array(27,-76,929,825),63872=>array(180,-77,840,772),63873=>array(86,-53,911,836),63874=>array(22,-62,961,846),63875=>array(33,-67,969,839),63876=>array(43,-71,967,841),63877=>array(32,-63,962,799),63878=>array(117,-65,907,790),63879=>array(26,-73,964,789),63880=>array(43,-67,952,814),63881=>array(49,-68,946,832),63882=>array(70,-56,863,824),63883=>array(37,-62,947,796),63884=>array(41,-67,930,779),63885=>array(50,-65,970,831),63886=>array(86,-68,917,841),63887=>array(36,-76,958,832),63888=>array(42,-54,961,841),63889=>array(37,-60,970,849),63890=>array(37,-56,963,833),63891=>array(52,-67,962,830),63892=>array(41,-64,962,833),63893=>array(47,-69,968,834),63894=>array(34,-66,967,839),63895=>array(42,-65,946,842),63896=>array(48,-62,944,831),63897=>array(37,-56,951,839),63898=>array(37,-56,951,830),63899=>array(18,-53,969,847),63900=>array(83,-76,901,832),63901=>array(67,-63,942,838),63902=>array(103,-64,898,785),63903=>array(58,-61,954,831),63904=>array(44,-73,955,828),63905=>array(57,-71,964,816),63906=>array(40,-59,966,839),63907=>array(30,-58,963,846),63908=>array(27,-64,961,853),63909=>array(40,-67,977,854),63910=>array(31,-53,963,854),63911=>array(36,-74,971,842),63912=>array(38,-67,961,846),63913=>array(105,-64,897,788),63914=>array(80,-68,917,844),63915=>array(40,-73,961,832),63916=>array(39,-68,962,840),63917=>array(37,-68,964,840),63918=>array(69,-19,935,839),63919=>array(22,-68,960,847),63920=>array(28,-62,966,854),63921=>array(35,-65,975,846),63922=>array(43,-63,961,810),63923=>array(74,-28,929,779),63924=>array(42,-68,955,839),63925=>array(41,-63,911,845),63926=>array(60,-69,952,833),63927=>array(51,-57,952,829),63928=>array(132,-64,882,789),63929=>array(62,-25,962,783),63930=>array(172,-41,829,773),63931=>array(41,-64,983,842),63932=>array(41,-64,970,838),63933=>array(52,-74,951,779),63934=>array(38,-68,956,836),63935=>array(60,-64,959,847),63936=>array(41,-73,969,850),63937=>array(46,-65,964,830),63938=>array(26,-76,972,829),63939=>array(37,-56,968,838),63940=>array(50,-66,970,833),63941=>array(57,-62,950,798),63942=>array(98,-68,935,788),63943=>array(44,-64,911,837),63944=>array(39,-61,959,832),63945=>array(34,-61,921,837),63946=>array(40,-70,964,830),63947=>array(45,-66,925,830),63948=>array(30,-70,960,830),63949=>array(75,-68,897,818),63950=>array(26,-70,964,830),63951=>array(34,-64,956,839),63952=>array(38,-67,960,828),63953=>array(62,-29,946,810),63954=>array(39,-77,962,835),63955=>array(103,-58,951,833),63956=>array(31,-71,976,855),63957=>array(33,-61,979,841),63958=>array(39,-58,991,856),63959=>array(52,-71,971,868),63960=>array(36,-67,954,830),63961=>array(38,-59,976,835),63962=>array(60,-65,957,788),63963=>array(72,-69,928,840),63964=>array(93,-60,959,848),63965=>array(57,-67,920,826),63966=>array(71,-76,947,824),63967=>array(29,-68,953,786),63968=>array(75,-67,866,782),63969=>array(51,-70,960,831),63970=>array(41,-68,950,823),63971=>array(56,-64,957,821),63972=>array(35,-16,945,775),63973=>array(46,-69,944,835),63974=>array(39,-64,949,788),63975=>array(43,-75,955,840),63976=>array(41,-64,954,821),63977=>array(52,-19,948,796),63978=>array(64,-73,957,834),63979=>array(118,-68,939,800),63980=>array(54,-60,927,803),63981=>array(52,-74,958,822),63982=>array(49,-68,958,833),63983=>array(57,-66,959,837),63984=>array(57,-65,949,832),63985=>array(100,-70,956,834),63986=>array(31,-68,959,843),63987=>array(26,-68,959,838),63988=>array(30,-69,954,829),63989=>array(28,-63,968,841),63990=>array(120,-65,932,841),63991=>array(95,-3,912,822),63992=>array(52,-17,945,838),63993=>array(37,-64,949,837),63994=>array(40,-69,951,818),63995=>array(57,-73,960,840),63996=>array(51,-68,959,833),63997=>array(48,-68,950,829),63998=>array(41,-68,968,831),63999=>array(71,-65,906,831),64000=>array(44,-73,897,797),64001=>array(46,-68,950,826),64002=>array(53,-63,936,826),64003=>array(42,-69,952,827),64004=>array(70,-38,942,833),64005=>array(48,-55,898,819),64006=>array(47,-65,953,815),64007=>array(46,-74,941,827),64008=>array(51,-62,941,845),64009=>array(101,-68,955,846),64010=>array(58,-66,944,789),64011=>array(35,-65,942,837),64012=>array(49,-55,942,754),64013=>array(57,-70,964,827),64014=>array(45,-62,955,843),64015=>array(41,-65,969,830),64016=>array(41,-60,968,807),64017=>array(77,-62,953,828),64018=>array(89,-55,952,838),64019=>array(37,-71,948,828),64020=>array(37,-67,976,831),64021=>array(31,-69,973,831),64022=>array(49,-56,921,836),64023=>array(45,-22,947,840),64024=>array(42,-59,961,820),64025=>array(55,-67,904,837),64026=>array(39,-68,956,843),64027=>array(38,-69,943,834),64028=>array(41,-66,952,840),64029=>array(45,-66,954,837),64030=>array(73,-50,892,785),64031=>array(30,-68,935,839),64032=>array(40,-68,969,832),64033=>array(39,-19,946,826),64034=>array(59,-66,948,835),64035=>array(31,-69,953,829),64036=>array(37,-60,961,808),64037=>array(36,-54,957,835),64038=>array(44,-67,943,835),64039=>array(33,-70,949,839),64040=>array(33,-64,959,839),64041=>array(94,-71,936,842),64042=>array(34,-69,964,839),64043=>array(34,-68,906,839),64044=>array(34,-64,931,839),64045=>array(40,-65,938,837),64256=>array(13,0,569,728),64257=>array(14,0,432,728),64258=>array(14,0,430,728),64259=>array(42,0,709,728),64260=>array(13,0,680,728),64261=>array(67,-7,521,728),64262=>array(31,-12,750,700),64275=>array(44,-9,751,618),64276=>array(44,-8,749,609),64277=>array(44,-210,752,609),64278=>array(43,-210,749,609),64279=>array(44,-210,844,609),64286=>array(22,568,311,695),64287=>array(16,162,522,530),64288=>array(32,-12,503,518),64289=>array(58,0,652,518),64290=>array(24,0,619,518),64291=>array(72,0,662,530),64292=>array(38,-12,598,530),64293=>array(33,-12,557,716),64294=>array(72,0,662,518),64295=>array(20,0,565,530),64296=>array(19,-13,726,530),64297=>array(55,0,529,278),64298=>array(72,-12,674,634),64299=>array(72,-12,674,634),64300=>array(72,-12,674,634),64301=>array(72,-12,674,634),64302=>array(60,-104,517,518),64303=>array(60,-144,517,518),64304=>array(60,0,517,518),64305=>array(38,0,533,530),64306=>array(20,0,386,530),64307=>array(24,0,482,518),64308=>array(72,0,526,530),64309=>array(16,0,248,530),64310=>array(-9,0,306,543),64312=>array(68,-12,532,530),64313=>array(16,258,248,530),64314=>array(20,-199,439,530),64315=>array(38,-12,469,530),64316=>array(33,-12,436,716),64318=>array(30,0,526,530),64320=>array(38,0,270,530),64321=>array(25,-12,546,530),64323=>array(45,-199,499,530),64324=>array(37,-12,511,530),64326=>array(45,0,477,518),64327=>array(72,-199,535,518),64328=>array(20,0,439,530),64329=>array(72,-12,674,518),64330=>array(21,-13,565,530),64331=>array(16,0,248,634),64332=>array(38,0,533,622),64333=>array(38,-12,469,622),64334=>array(37,-12,511,622),64335=>array(33,0,517,716),64336=>array(-15,0,256,927),64337=>array(-15,0,274,927),64338=>array(62,-275,709,265),64339=>array(62,-279,789,265),64340=>array(-1,-252,194,284),64341=>array(-1,-256,244,284),64342=>array(62,-270,709,265),64343=>array(62,-270,789,265),64344=>array(-1,-228,233,284),64345=>array(-1,-228,244,284),64346=>array(62,-270,709,265),64347=>array(62,-270,789,265),64348=>array(-1,-242,210,284),64349=>array(-1,-242,244,284),64350=>array(62,-50,709,568),64351=>array(62,-50,789,568),64352=>array(-1,0,194,616),64353=>array(-1,0,244,616),64354=>array(62,-50,709,569),64355=>array(62,-50,789,569),64356=>array(-1,0,222,618),64357=>array(-1,0,244,618),64358=>array(62,-50,709,569),64359=>array(62,-50,789,569),64360=>array(-1,0,245,618),64361=>array(-1,0,244,618),64362=>array(62,0,895,859),64363=>array(62,-33,904,697),64364=>array(-1,0,404,860),64365=>array(-1,0,481,697),64366=>array(62,0,895,890),64367=>array(62,-33,904,727),64368=>array(-1,0,404,890),64369=>array(-1,0,481,727),64370=>array(52,-271,564,453),64371=>array(54,-271,659,453),64372=>array(-1,-236,567,453),64373=>array(-1,-236,638,453),64374=>array(52,-271,564,453),64375=>array(54,-271,659,453),64376=>array(-1,-105,567,453),64377=>array(-1,-105,638,453),64378=>array(52,-271,564,453),64379=>array(54,-271,659,453),64380=>array(-1,-208,567,453),64381=>array(-1,-208,638,453),64382=>array(52,-271,564,453),64383=>array(54,-271,659,453),64384=>array(-1,-236,567,453),64385=>array(-1,-237,638,453),64386=>array(38,-140,368,437),64387=>array(38,-140,459,436),64388=>array(38,0,368,614),64389=>array(38,0,459,638),64390=>array(38,0,368,716),64391=>array(38,0,459,740),64392=>array(38,0,368,746),64393=>array(38,0,459,770),64394=>array(-74,-210,362,554),64395=>array(-74,-210,437,544),64396=>array(-74,-210,369,584),64397=>array(-74,-210,437,574),64398=>array(62,0,827,717),64399=>array(62,0,943,717),64400=>array(-1,0,432,717),64401=>array(-1,0,548,717),64402=>array(62,0,827,793),64403=>array(62,0,943,793),64404=>array(-1,0,432,793),64405=>array(-1,0,548,793),64406=>array(62,-256,827,793),64407=>array(62,-257,943,793),64408=>array(-1,-252,432,793),64409=>array(-1,-256,548,793),64410=>array(62,0,827,839),64411=>array(62,0,943,839),64412=>array(-1,0,432,839),64413=>array(-1,0,548,839),64414=>array(62,-121,630,272),64415=>array(39,-228,724,183),64416=>array(62,-121,630,568),64417=>array(39,-228,724,568),64418=>array(-1,0,245,618),64419=>array(-1,0,244,618),64420=>array(62,-6,452,705),64421=>array(62,0,478,705),64422=>array(62,-6,452,431),64423=>array(2,-85,510,159),64424=>array(-1,-242,194,284),64425=>array(-1,-264,428,196),64426=>array(29,-15,644,593),64427=>array(29,-15,707,593),64428=>array(-1,0,624,593),64429=>array(-1,0,687,593),64430=>array(71,-221,684,297),64431=>array(62,-221,675,95),64432=>array(71,-221,684,473),64433=>array(62,-221,675,363),64467=>array(62,0,689,817),64468=>array(34,0,734,817),64469=>array(-1,0,432,889),64470=>array(-1,0,548,889),64471=>array(-108,-210,408,766),64472=>array(-111,-210,467,704),64473=>array(-108,-210,408,696),64474=>array(-111,-210,467,628),64475=>array(-108,-210,408,789),64476=>array(-111,-210,467,725),64477=>array(-108,-210,441,755),64478=>array(-108,-210,408,750),64479=>array(-111,-210,467,685),64480=>array(-108,-210,408,476),64481=>array(-111,-210,467,379),64482=>array(-108,-210,408,705),64483=>array(-111,-210,467,641),64484=>array(10,-279,730,453),64485=>array(33,-279,935,126),64486=>array(-1,-239,194,284),64487=>array(-1,-239,244,284),64488=>array(-1,0,194,284),64489=>array(-1,0,244,284),64490=>array(79,0,475,716),64491=>array(79,0,518,716),64492=>array(2,-85,710,569),64493=>array(2,-85,754,569),64494=>array(-111,-210,667,569),64495=>array(-111,-210,711,569),64496=>array(-111,-210,667,704),64497=>array(-111,-210,711,704),64498=>array(-111,-210,667,628),64499=>array(-111,-210,711,628),64500=>array(-111,-210,667,725),64501=>array(-111,-210,711,725),64502=>array(33,-279,1135,569),64503=>array(33,-279,1178,569),64504=>array(-1,-256,445,569),64505=>array(34,-270,995,569),64506=>array(34,-270,1038,569),64507=>array(-1,0,445,569),64508=>array(32,-121,679,453),64509=>array(34,-270,794,126),64510=>array(-1,-140,217,284),64511=>array(-1,-140,244,284),64512=>array(54,-271,860,569),64513=>array(54,-271,860,569),64514=>array(58,-265,842,569),64515=>array(34,-270,995,569),64516=>array(34,-265,1005,569),64517=>array(54,-271,853,453),64518=>array(54,-271,853,453),64519=>array(54,-271,853,621),64520=>array(58,-265,834,359),64521=>array(34,-270,988,284),64522=>array(34,-265,998,284),64523=>array(54,-271,876,486),64524=>array(54,-271,876,486),64525=>array(54,-271,876,621),64526=>array(58,-265,858,486),64527=>array(34,-270,1011,486),64528=>array(34,-265,1021,486),64529=>array(54,-271,876,588),64530=>array(58,-265,858,588),64531=>array(34,-270,1011,588),64532=>array(34,-265,1021,588),64533=>array(54,-271,1226,453),64534=>array(58,-265,1208,453),64535=>array(54,-271,1226,453),64536=>array(58,-265,1208,453),64537=>array(54,-271,1226,610),64538=>array(54,-271,1226,610),64539=>array(58,-265,1208,610),64540=>array(54,-271,1350,453),64541=>array(54,-271,1350,453),64542=>array(54,-271,1350,621),64543=>array(58,-265,1332,359),64544=>array(54,-271,1415,453),64545=>array(58,-265,1397,436),64546=>array(54,-271,1415,522),64547=>array(54,-271,1415,522),64548=>array(54,-271,1415,621),64549=>array(58,-265,1397,522),64550=>array(54,-271,1331,686),64551=>array(58,-265,1313,686),64552=>array(58,-265,1313,686),64553=>array(54,-271,1183,492),64554=>array(58,-265,1165,492),64555=>array(54,-271,1183,716),64556=>array(58,-265,1165,716),64557=>array(54,-271,1063,773),64558=>array(54,-271,1063,773),64559=>array(54,-271,1063,773),64560=>array(58,-265,1045,773),64561=>array(34,-270,1198,773),64562=>array(34,-265,1208,773),64563=>array(54,-271,1063,758),64564=>array(58,-265,1045,758),64565=>array(34,-270,1198,758),64566=>array(34,-265,1208,758),64567=>array(79,0,706,717),64568=>array(54,-271,1091,717),64569=>array(54,-271,1091,717),64570=>array(54,-271,1091,717),64571=>array(34,-228,1106,717),64572=>array(58,-265,1073,717),64573=>array(34,-270,1226,717),64574=>array(34,-265,1236,717),64575=>array(54,-271,853,716),64576=>array(54,-271,853,716),64577=>array(54,-271,853,716),64578=>array(58,-265,835,716),64579=>array(34,-270,988,716),64580=>array(34,-265,998,716),64581=>array(54,-271,1078,453),64582=>array(54,-271,1078,453),64583=>array(54,-271,1078,621),64584=>array(58,-265,1060,359),64585=>array(34,-270,1213,359),64586=>array(34,-265,1223,359),64587=>array(54,-271,853,501),64588=>array(54,-271,853,501),64589=>array(54,-271,853,621),64590=>array(58,-265,835,501),64591=>array(34,-270,988,501),64592=>array(34,-265,998,501),64593=>array(54,-271,1283,593),64594=>array(58,-265,1265,593),64595=>array(34,-270,1418,593),64596=>array(34,-265,1428,593),64597=>array(54,-271,876,453),64598=>array(54,-271,876,453),64599=>array(54,-271,876,621),64600=>array(58,-265,858,359),64601=>array(34,-270,1011,284),64602=>array(34,-265,1021,284),64603=>array(38,0,368,889),64604=>array(-74,-210,357,609),64605=>array(32,-121,679,505),64606=>array(4,521,299,990),64607=>array(7,618,299,990),64608=>array(7,648,299,990),64609=>array(4,521,299,990),64610=>array(7,770,299,990),64611=>array(7,588,299,1053),64612=>array(-74,-210,681,569),64613=>array(-74,-210,681,569),64614=>array(58,-265,885,569),64615=>array(39,-228,968,569),64616=>array(34,-270,1038,569),64617=>array(34,-265,1048,569),64618=>array(-74,-210,681,284),64619=>array(-74,-210,681,458),64620=>array(58,-265,885,359),64621=>array(39,-228,968,356),64622=>array(34,-270,1038,284),64623=>array(34,-265,1048,284),64624=>array(-74,-210,681,486),64625=>array(-74,-210,681,486),64626=>array(58,-265,885,486),64627=>array(39,-228,968,486),64628=>array(34,-270,1038,486),64629=>array(34,-265,1048,486),64630=>array(-74,-210,681,588),64631=>array(-74,-210,681,588),64632=>array(58,-265,885,588),64633=>array(39,-228,968,588),64634=>array(34,-270,1038,588),64635=>array(34,-265,1048,588),64636=>array(34,-270,1275,610),64637=>array(34,-265,1285,610),64638=>array(34,-270,1275,595),64639=>array(34,-265,1285,595),64640=>array(79,0,822,717),64641=>array(34,-228,1222,717),64642=>array(58,-265,1189,717),64643=>array(34,-270,1342,717),64644=>array(34,-265,1352,717),64645=>array(58,-265,885,716),64646=>array(34,-270,1038,716),64647=>array(34,-265,1048,716),64648=>array(79,0,807,716),64649=>array(58,-265,1174,359),64650=>array(-74,-210,681,501),64651=>array(-74,-210,681,501),64652=>array(58,-265,885,501),64653=>array(39,-228,968,501),64654=>array(34,-270,1038,501),64655=>array(34,-265,1048,501),64656=>array(34,-270,794,301),64657=>array(-74,-210,681,284),64658=>array(-74,-210,681,458),64659=>array(58,-265,885,359),64660=>array(39,-228,968,356),64661=>array(34,-270,1038,284),64662=>array(34,-265,1048,284),64663=>array(-1,-140,839,569),64664=>array(-1,0,839,569),64665=>array(-1,0,839,612),64666=>array(-1,0,734,569),64667=>array(-1,-269,606,569),64668=>array(-1,-140,832,453),64669=>array(-1,-140,832,453),64670=>array(-1,-140,832,612),64671=>array(-1,-140,727,359),64672=>array(-1,-269,600,376),64673=>array(-1,-140,855,486),64674=>array(-1,0,855,486),64675=>array(-1,0,855,612),64676=>array(-1,0,750,486),64677=>array(-1,-269,623,486),64678=>array(-1,0,750,588),64679=>array(-1,-80,1205,453),64680=>array(-1,-80,1100,453),64681=>array(-1,-140,1205,453),64682=>array(-1,0,1100,453),64683=>array(-1,-140,1205,610),64684=>array(-1,0,1100,610),64685=>array(-1,-140,1329,453),64686=>array(-1,0,1329,453),64687=>array(-1,0,1329,612),64688=>array(-1,0,1224,359),64689=>array(-1,0,1394,453),64690=>array(-1,0,1394,612),64691=>array(-1,0,1289,436),64692=>array(-1,-140,1394,522),64693=>array(-1,0,1394,522),64694=>array(-1,0,1394,612),64695=>array(-1,0,1289,522),64696=>array(-1,0,1310,686),64697=>array(-1,0,1205,686),64698=>array(-1,-140,1162,492),64699=>array(-1,0,1057,492),64700=>array(-1,-140,1162,716),64701=>array(-1,0,1057,716),64702=>array(-1,-140,1042,773),64703=>array(-1,0,1042,773),64704=>array(-1,0,1042,773),64705=>array(-1,0,937,773),64706=>array(-1,0,1042,758),64707=>array(-1,0,937,758),64708=>array(-1,-140,1070,717),64709=>array(-1,0,1070,717),64710=>array(-1,0,1070,717),64711=>array(-1,0,676,717),64712=>array(-1,0,965,717),64713=>array(-1,-140,832,716),64714=>array(-1,0,832,716),64715=>array(-1,0,832,716),64716=>array(-1,0,727,716),64717=>array(-1,-269,600,716),64718=>array(-1,-140,1057,453),64719=>array(-1,0,1057,453),64720=>array(-1,0,1057,612),64721=>array(-1,0,952,359),64722=>array(-1,-140,832,501),64723=>array(-1,0,832,501),64724=>array(-1,0,832,612),64725=>array(-1,0,727,501),64726=>array(-1,-269,600,501),64727=>array(-1,-140,1262,593),64728=>array(-1,0,1157,593),64729=>array(-1,0,624,912),64730=>array(-1,-140,855,453),64731=>array(-1,-140,855,453),64732=>array(-1,-140,855,612),64733=>array(-1,-140,750,359),64734=>array(-1,-269,623,376),64735=>array(-1,0,777,569),64736=>array(-1,-269,650,569),64737=>array(-1,-140,777,359),64738=>array(-1,-269,650,376),64739=>array(-1,0,777,486),64740=>array(-1,-269,650,486),64741=>array(-1,0,777,588),64742=>array(-1,-269,650,588),64743=>array(-1,0,1304,359),64744=>array(-1,-269,1177,376),64745=>array(-1,0,1304,604),64746=>array(-1,-269,1177,604),64747=>array(-1,0,792,717),64748=>array(-1,0,1081,717),64749=>array(-1,0,777,716),64750=>array(-1,0,777,501),64751=>array(-1,-269,650,501),64752=>array(-1,-140,777,359),64753=>array(-1,-269,650,376),64754=>array(-1,0,307,1058),64755=>array(-1,0,303,990),64756=>array(-1,0,299,1054),64757=>array(34,-270,1466,686),64758=>array(34,-265,1476,686),64759=>array(34,-270,1318,492),64760=>array(34,-265,1328,492),64761=>array(34,-270,1318,716),64762=>array(34,-265,1328,716),64763=>array(34,-270,1485,346),64764=>array(34,-265,1495,346),64765=>array(34,-270,1485,604),64766=>array(34,-265,1495,604),64767=>array(34,-270,1361,453),64768=>array(34,-265,1371,453),64769=>array(34,-270,1361,453),64770=>array(34,-265,1371,453),64771=>array(34,-270,1361,610),64772=>array(34,-265,1371,610),64773=>array(34,-270,1550,436),64774=>array(34,-265,1560,436),64775=>array(34,-270,1550,522),64776=>array(34,-265,1560,522),64777=>array(54,-271,1350,604),64778=>array(54,-271,1350,604),64779=>array(54,-271,1350,621),64780=>array(58,-265,1332,604),64781=>array(-74,-210,1128,604),64782=>array(-74,-210,1128,346),64783=>array(-74,-210,1193,436),64784=>array(-74,-210,1193,522),64785=>array(34,-270,1528,686),64786=>array(34,-265,1538,686),64787=>array(34,-270,1349,407),64788=>array(34,-265,1359,407),64789=>array(34,-270,1349,624),64790=>array(34,-265,1359,624),64791=>array(34,-270,1565,346),64792=>array(34,-265,1575,346),64793=>array(34,-270,1565,604),64794=>array(34,-265,1575,604),64795=>array(34,-270,1432,453),64796=>array(34,-265,1442,453),64797=>array(34,-270,1432,453),64798=>array(34,-265,1442,453),64799=>array(34,-270,1432,612),64800=>array(34,-265,1442,612),64801=>array(34,-270,1612,436),64802=>array(34,-265,1622,436),64803=>array(34,-270,1612,522),64804=>array(34,-265,1622,522),64805=>array(54,-271,1430,604),64806=>array(54,-271,1430,604),64807=>array(54,-271,1430,621),64808=>array(58,-265,1412,604),64809=>array(-74,-210,1208,604),64810=>array(-74,-210,1208,346),64811=>array(-74,-210,1255,436),64812=>array(-74,-210,1255,522),64813=>array(-1,-140,1329,604),64814=>array(-1,0,1329,604),64815=>array(-1,0,1329,612),64816=>array(-1,0,1224,604),64817=>array(-1,-269,1097,376),64818=>array(-1,-269,1097,604),64819=>array(-1,0,1205,686),64820=>array(-1,-140,1409,453),64821=>array(-1,0,1409,453),64822=>array(-1,0,1409,612),64823=>array(-1,-140,1409,604),64824=>array(-1,0,1409,604),64825=>array(-1,0,1409,612),64826=>array(-1,0,1267,686),64827=>array(-1,0,1267,686),64828=>array(79,0,615,944),64829=>array(79,0,615,944),64830=>array(82,-218,445,790),64831=>array(155,-218,518,790),64848=>array(-1,-140,1389,486),64849=>array(54,-271,1542,486),64850=>array(-1,-140,1494,486),64851=>array(-1,0,1389,486),64852=>array(-1,0,1389,612),64853=>array(-1,-140,1389,486),64854=>array(-1,0,1389,486),64855=>array(-1,0,1389,612),64856=>array(54,-271,1831,453),64857=>array(-1,-80,1738,453),64858=>array(34,-265,1976,453),64859=>array(34,-270,1965,453),64860=>array(-1,-140,1967,453),64861=>array(-1,-140,1967,453),64862=>array(34,-270,2203,453),64863=>array(54,-271,1963,453),64864=>array(-1,0,1862,453),64865=>array(-1,-140,1862,453),64866=>array(58,-265,1945,359),64867=>array(-1,0,1757,359),64868=>array(54,-271,2115,453),64869=>array(-1,0,2032,453),64870=>array(58,-265,1992,436),64871=>array(58,-265,2050,604),64872=>array(-1,0,1862,604),64873=>array(34,-265,2213,604),64874=>array(54,-271,1963,621),64875=>array(-1,0,1862,612),64876=>array(58,-265,1945,604),64877=>array(-1,0,1757,604),64878=>array(34,-270,2250,522),64879=>array(58,-265,2097,612),64880=>array(-1,0,1927,612),64881=>array(54,-271,1926,686),64882=>array(-1,0,1843,686),64883=>array(-1,0,1738,686),64884=>array(34,-265,2071,686),64885=>array(58,-265,1834,453),64886=>array(58,-265,1729,407),64887=>array(-1,0,1590,492),64888=>array(34,-270,1882,407),64889=>array(58,-265,1729,624),64890=>array(34,-265,1893,624),64891=>array(34,-270,1882,624),64892=>array(58,-265,1760,612),64893=>array(-1,0,1575,773),64894=>array(54,-271,1671,595),64895=>array(58,-265,1655,595),64896=>array(58,-265,1523,716),64897=>array(34,-265,1687,716),64898=>array(34,-270,1676,716),64899=>array(-1,-140,1470,716),64900=>array(54,-271,1542,716),64901=>array(58,-265,1523,716),64902=>array(-1,0,1365,716),64903=>array(54,-271,1437,716),64904=>array(-1,0,1365,716),64905=>array(-1,-140,1695,453),64906=>array(-1,0,1590,453),64907=>array(34,-265,1976,453),64908=>array(-1,-140,1695,453),64909=>array(-1,-140,1590,453),64910=>array(-1,-140,1695,612),64911=>array(-1,0,1590,612),64914=>array(-1,-140,1695,612),64915=>array(-1,-140,1795,593),64916=>array(-1,0,1690,593),64917=>array(-1,0,1365,501),64918=>array(34,-270,1676,501),64919=>array(58,-265,1523,501),64920=>array(-1,-140,1365,501),64921=>array(34,-270,1676,501),64922=>array(34,-265,1582,501),64923=>array(34,-270,1571,501),64924=>array(58,-265,1418,359),64925=>array(-1,-140,1284,359),64926=>array(34,-265,1687,612),64927=>array(34,-265,1687,486),64928=>array(34,-270,1676,486),64929=>array(34,-265,1687,612),64930=>array(34,-270,1676,612),64931=>array(34,-265,1582,486),64932=>array(34,-270,1571,486),64933=>array(34,-265,1976,453),64934=>array(34,-270,2070,453),64935=>array(34,-270,1965,453),64936=>array(34,-270,2203,612),64937=>array(34,-265,2260,453),64938=>array(34,-265,2213,604),64939=>array(34,-265,2260,522),64940=>array(34,-265,1687,716),64941=>array(34,-265,1582,716),64942=>array(34,-265,1687,453),64943=>array(34,-265,1687,453),64944=>array(34,-265,1582,359),64945=>array(34,-265,1871,359),64946=>array(34,-265,1818,595),64947=>array(34,-265,1687,501),64948=>array(-1,0,1575,758),64949=>array(-1,0,1365,716),64950=>array(34,-265,1893,407),64951=>array(34,-265,1885,717),64952=>array(-1,-140,1470,501),64953=>array(34,-265,1976,612),64954=>array(-1,-140,1365,716),64955=>array(58,-265,1722,717),64956=>array(58,-265,1523,716),64957=>array(54,-271,1542,501),64958=>array(34,-265,2081,453),64959=>array(34,-265,2081,453),64960=>array(34,-265,1976,453),64961=>array(34,-265,1818,610),64962=>array(34,-265,1687,453),64963=>array(-1,0,1499,717),64964=>array(-1,-140,1695,492),64965=>array(-1,0,1822,436),64966=>array(34,-265,2213,612),64967=>array(34,-265,1687,501),65008=>array(62,-221,1462,716),65009=>array(62,-221,1110,758),65010=>array(52,0,1077,1015),65011=>array(-74,-210,1277,717),65012=>array(38,0,2049,453),65013=>array(58,-265,2196,716),65014=>array(34,-210,2066,716),65015=>array(62,-140,1490,716),65016=>array(58,-265,1984,716),65017=>array(34,-270,1794,716),65018=>array(77,-156,1842,762),65019=>array(74,-37,1003,826),65056=>array(55,604,450,726),65057=>array(0,604,395,726),65058=>array(55,604,450,726),65059=>array(0,604,395,726),65072=>array(446,87,554,679),65073=>array(461,-121,539,887),65074=>array(461,229,539,537),65075=>array(-5,-121,73,887),65076=>array(0,-118,118,885),65077=>array(45,39,952,277),65078=>array(47,558,954,796),65079=>array(43,31,956,281),65080=>array(43,548,956,798),65081=>array(41,19,960,294),65082=>array(40,543,959,818),65083=>array(45,18,950,306),65084=>array(47,530,952,818),65085=>array(47,-32,953,416),65086=>array(47,420,953,868),65087=>array(47,-2,953,325),65088=>array(47,511,953,838),65089=>array(48,18,952,358),65090=>array(48,473,952,818),65091=>array(48,-12,952,359),65092=>array(48,475,952,848),65097=>array(75,761,925,801),65098=>array(75,731,925,829),65099=>array(-1,771,1001,889),65100=>array(-2,656,1001,884),65101=>array(75,-29,925,11),65102=>array(75,-49,925,49),65103=>array(-1,-112,1001,6),65104=>array(50,-85,114,60),65105=>array(33,109,172,224),65106=>array(53,0,113,60),65108=>array(50,-85,114,311),65109=>array(54,0,114,311),65110=>array(28,0,305,437),65111=>array(51,0,116,430),65112=>array(-4,134,604,177),65113=>array(36,-126,178,437),65114=>array(22,-126,164,437),65115=>array(17,-126,186,437),65116=>array(14,-126,184,437),65117=>array(41,-119,184,430),65118=>array(16,-119,159,430),65119=>array(7,-7,327,437),65120=>array(26,-10,386,437),65121=>array(20,254,214,437),65122=>array(33,70,317,354),65123=>array(19,129,181,182),65124=>array(33,67,317,357),65125=>array(33,67,317,357),65126=>array(33,122,317,302),65128=>array(0,-14,167,430),65129=>array(23,-62,307,469),65130=>array(44,-16,491,437),65131=>array(34,-126,589,437),65136=>array(10,716,290,944),65137=>array(-1,0,299,944),65138=>array(4,716,292,990),65140=>array(8,-255,288,-78),65142=>array(10,716,290,859),65143=>array(-1,0,299,859),65144=>array(4,716,292,990),65145=>array(-1,0,303,990),65146=>array(8,-170,288,-78),65147=>array(-1,-170,297,95),65148=>array(7,716,299,936),65149=>array(-1,0,307,936),65150=>array(3,767,151,915),65151=>array(-1,0,155,915),65152=>array(54,0,469,422),65153=>array(-23,0,270,846),65154=>array(-23,0,274,846),65155=>array(46,0,188,933),65156=>array(46,0,274,933),65157=>array(-108,-210,408,762),65158=>array(-111,-210,467,664),65159=>array(46,-285,188,716),65160=>array(46,-285,274,716),65161=>array(32,-121,679,453),65162=>array(34,-270,794,301),65163=>array(-1,0,201,569),65164=>array(-1,0,244,569),65165=>array(79,0,164,716),65166=>array(79,0,274,716),65167=>array(62,-190,709,265),65168=>array(62,-190,789,265),65169=>array(-1,-140,194,284),65170=>array(-1,-140,244,284),65171=>array(62,-6,452,633),65172=>array(62,0,478,628),65173=>array(62,-50,709,437),65174=>array(62,-50,789,437),65175=>array(-1,0,217,486),65176=>array(-1,0,244,486),65177=>array(62,-50,709,539),65178=>array(62,-50,789,539),65179=>array(-1,0,217,588),65180=>array(-1,0,244,588),65181=>array(52,-271,564,453),65182=>array(54,-271,659,453),65183=>array(-1,-80,567,453),65184=>array(-1,-140,638,453),65185=>array(52,-271,564,453),65186=>array(54,-271,659,453),65187=>array(-1,0,567,453),65188=>array(-1,0,638,453),65189=>array(52,-271,564,621),65190=>array(54,-271,659,621),65191=>array(-1,0,567,610),65192=>array(-1,0,638,612),65193=>array(38,0,368,437),65194=>array(38,0,459,436),65195=>array(38,0,368,629),65196=>array(38,0,459,653),65197=>array(-74,-210,357,290),65198=>array(-74,-210,437,239),65199=>array(-74,-210,357,470),65200=>array(-74,-210,437,458),65201=>array(39,-228,1115,346),65202=>array(39,-228,1195,346),65203=>array(-1,0,691,346),65204=>array(-1,0,771,346),65205=>array(39,-228,1115,604),65206=>array(39,-228,1195,604),65207=>array(-1,0,691,604),65208=>array(-1,0,771,604),65209=>array(39,-228,1230,436),65210=>array(39,-228,1292,436),65211=>array(-1,0,756,436),65212=>array(-1,0,818,436),65213=>array(39,-228,1230,532),65214=>array(39,-228,1292,532),65215=>array(-1,0,756,522),65216=>array(-1,0,818,522),65217=>array(59,0,782,686),65218=>array(59,0,844,686),65219=>array(-1,0,672,686),65220=>array(-1,0,734,686),65221=>array(59,0,782,686),65222=>array(59,0,844,686),65223=>array(-1,0,672,686),65224=>array(-1,0,734,686),65225=>array(53,-271,565,492),65226=>array(55,-271,567,443),65227=>array(-1,0,524,492),65228=>array(-3,0,555,407),65229=>array(53,-271,565,725),65230=>array(55,-271,567,660),65231=>array(-1,0,524,716),65232=>array(-3,0,555,624),65233=>array(62,0,895,773),65234=>array(62,-33,904,610),65235=>array(-1,0,404,773),65236=>array(-1,0,481,610),65237=>array(34,-214,738,678),65238=>array(39,-271,824,557),65239=>array(-1,0,404,758),65240=>array(-1,0,481,595),65241=>array(62,0,689,716),65242=>array(34,0,734,716),65243=>array(-1,0,432,717),65244=>array(-1,0,548,717),65245=>array(34,-121,594,716),65246=>array(34,-228,674,716),65247=>array(-1,0,194,716),65248=>array(-1,0,244,716),65249=>array(58,-265,527,359),65250=>array(58,-265,641,359),65251=>array(-1,0,419,359),65252=>array(-1,0,533,359),65253=>array(62,-121,630,458),65254=>array(39,-228,724,356),65255=>array(-1,0,194,501),65256=>array(-1,0,244,501),65257=>array(62,-6,452,431),65258=>array(62,0,478,446),65259=>array(-1,0,624,593),65260=>array(-1,-269,406,376),65261=>array(-108,-210,408,476),65262=>array(-111,-210,467,379),65263=>array(32,-121,679,453),65264=>array(34,-270,794,126),65265=>array(32,-238,679,453),65266=>array(34,-265,804,146),65267=>array(-1,-140,217,284),65268=>array(-1,-140,244,284),65269=>array(-122,-78,474,862),65270=>array(-121,-78,604,862),65271=>array(-27,-78,474,862),65272=>array(-27,-78,604,862),65273=>array(8,-171,474,716),65274=>array(8,-172,604,716),65275=>array(8,-78,474,716),65276=>array(8,-78,604,716),65281=>array(446,0,555,716),65282=>array(363,462,635,716),65283=>array(234,-12,768,728),65284=>array(263,-103,736,782),65285=>array(128,-27,874,728),65286=>array(199,-17,800,728),65287=>array(447,462,547,716),65288=>array(382,-210,619,728),65289=>array(382,-210,619,728),65290=>array(338,423,661,728),65291=>array(264,116,738,590),65292=>array(447,-141,553,100),65293=>array(366,215,635,303),65294=>array(448,0,548,100),65295=>array(361,-24,639,716),65296=>array(266,-12,732,719),65297=>array(367,0,631,719),65298=>array(263,0,737,719),65299=>array(267,-12,736,719),65300=>array(253,0,748,716),65301=>array(263,-12,737,706),65302=>array(265,-12,737,719),65303=>array(269,0,732,706),65304=>array(265,-12,736,719),65305=>array(266,-12,736,719),65306=>array(449,0,549,518),65307=>array(447,-141,553,518),65308=>array(263,111,737,595),65309=>array(263,203,737,503),65310=>array(263,111,737,595),65311=>array(269,0,731,728),65312=>array(37,-210,962,729),65313=>array(166,0,835,716),65314=>array(229,0,770,716),65315=>array(184,-12,816,728),65316=>array(204,0,796,716),65317=>array(232,0,767,716),65318=>array(258,0,741,716),65319=>array(169,-12,831,728),65320=>array(219,0,781,716),65321=>array(452,0,547,716),65322=>array(304,-12,697,716),65323=>array(204,0,796,716),65324=>array(276,0,724,716),65325=>array(159,0,840,716),65326=>array(218,0,781,716),65327=>array(157,-12,842,728),65328=>array(227,0,773,716),65329=>array(151,-56,849,728),65330=>array(184,0,815,716),65331=>array(215,-12,785,728),65332=>array(216,0,783,716),65333=>array(218,-12,781,716),65334=>array(173,0,827,716),65335=>array(39,0,960,716),65336=>array(172,0,828,716),65337=>array(172,0,828,716),65338=>array(217,0,783,716),65339=>array(403,-199,597,716),65340=>array(361,-24,639,716),65341=>array(403,-199,597,716),65342=>array(291,325,708,716),65343=>array(244,-125,756,-75),65344=>array(410,591,590,728),65345=>array(261,-12,739,530),65346=>array(275,-12,725,716),65347=>array(274,-12,726,530),65348=>array(275,-12,725,716),65349=>array(261,-12,739,530),65350=>array(348,0,651,728),65351=>array(271,-210,728,530),65352=>array(288,0,711,716),65353=>array(456,0,544,716),65354=>array(400,-209,600,716),65355=>array(285,0,715,716),65356=>array(456,0,544,716),65357=>array(148,0,852,530),65358=>array(289,0,711,530),65359=>array(257,-12,743,530),65360=>array(275,-199,725,530),65361=>array(275,-199,725,530),65362=>array(359,0,641,530),65363=>array(285,-12,715,530),65364=>array(374,-7,626,700),65365=>array(289,-12,710,518),65366=>array(262,0,737,518),65367=>array(144,0,856,518),65368=>array(257,0,743,518),65369=>array(262,-210,738,518),65370=>array(270,0,729,518),65371=>array(359,-210,641,728),65372=>array(462,-199,538,716),65373=>array(359,-210,641,728),65374=>array(250,272,749,432),65377=>array(53,-40,235,142),65378=>array(79,-68,421,837),65379=>array(77,-68,423,837),65380=>array(54,-82,296,171),65381=>array(196,332,304,440),65382=>array(65,-53,435,753),65383=>array(63,-11,461,732),65384=>array(46,-3,441,769),65385=>array(79,-9,425,763),65386=>array(61,32,439,689),65387=>array(38,-15,443,751),65388=>array(51,-26,452,756),65389=>array(61,33,439,696),65390=>array(79,19,421,701),65391=>array(56,-3,432,727),65392=>array(81,329,419,411),65393=>array(43,-61,481,751),65394=>array(42,-44,448,795),65395=>array(62,-47,439,803),65396=>array(41,0,459,735),65397=>array(34,-45,464,787),65398=>array(38,-40,443,794),65399=>array(43,-46,457,799),65400=>array(40,-49,436,815),65401=>array(39,-48,461,813),65402=>array(60,-23,440,734),65403=>array(42,-59,458,788),65404=>array(36,-33,461,770),65405=>array(28,-49,472,727),65406=>array(44,-5,468,786),65407=>array(49,-51,442,780),65408=>array(36,-56,453,798),65409=>array(41,-50,459,798),65410=>array(45,-43,455,770),65411=>array(41,-61,459,740),65412=>array(122,-46,444,787),65413=>array(42,-59,458,786),65414=>array(41,16,459,711),65415=>array(42,-47,459,734),65416=>array(25,-51,487,769),65417=>array(52,-43,442,740),65418=>array(35,-29,464,791),65419=>array(95,-5,465,770),65420=>array(66,-54,434,732),65421=>array(26,24,472,645),65422=>array(22,-47,472,785),65423=>array(50,-31,450,729),65424=>array(38,-31,463,769),65425=>array(28,-31,478,790),65426=>array(45,-35,449,782),65427=>array(41,-6,459,739),65428=>array(47,-50,468,797),65429=>array(41,-4,459,730),65430=>array(61,-27,439,730),65431=>array(58,-54,442,748),65432=>array(106,-53,394,768),65433=>array(18,-44,481,788),65434=>array(111,-29,474,788),65435=>array(71,-24,429,730),65436=>array(64,-48,436,731),65437=>array(41,-33,461,749),65438=>array(21,523,250,750),65439=>array(38,591,220,773),65441=>array(50,91,450,665),65442=>array(31,91,469,665),65443=>array(20,78,495,665),65444=>array(49,90,451,665),65445=>array(29,80,492,666),65446=>array(30,91,472,666),65447=>array(54,90,446,664),65448=>array(28,90,472,665),65449=>array(59,90,451,665),65450=>array(42,88,458,665),65451=>array(39,85,461,665),65452=>array(39,85,461,665),65453=>array(39,78,495,665),65454=>array(41,85,459,665),65455=>array(34,85,466,665),65456=>array(32,85,468,666),65457=>array(79,90,421,665),65458=>array(79,90,421,665),65459=>array(37,88,463,665),65460=>array(37,78,495,664),65461=>array(13,80,486,661),65462=>array(2,78,493,663),65463=>array(52,92,448,666),65464=>array(17,78,481,665),65465=>array(11,79,495,666),65466=>array(19,76,481,665),65467=>array(72,90,428,663),65468=>array(56,91,444,664),65469=>array(62,90,438,665),65470=>array(44,88,456,665),65474=>array(105,-64,395,842),65475=>array(95,-64,405,842),65476=>array(103,-64,397,842),65477=>array(90,-64,411,842),65478=>array(103,-65,397,841),65479=>array(40,-63,445,843),65482=>array(103,-64,397,842),65483=>array(39,-63,446,843),65484=>array(43,197,457,614),65485=>array(24,-64,476,842),65486=>array(27,-64,463,842),65487=>array(24,-64,439,842),65490=>array(30,197,470,615),65491=>array(40,76,460,554),65492=>array(31,-65,454,841),65493=>array(25,-63,465,843),65494=>array(31,-64,449,842),65495=>array(40,110,468,588),65498=>array(28,357,472,436),65499=>array(30,-64,450,842),65500=>array(212,-64,288,842),65504=>array(274,-200,726,716),65505=>array(242,-14,758,728),65506=>array(263,203,737,503),65507=>array(244,793,756,843),65508=>array(462,-199,538,716),65509=>array(223,0,777,716),65510=>array(39,0,960,716),65512=>array(207,-218,293,994),65513=>array(40,100,460,412),65514=>array(93,0,405,420),65515=>array(40,100,460,412),65516=>array(93,0,405,420),65517=>array(35,160,465,590),65518=>array(35,160,465,590),65532=>array(0,0,1000,719),65533=>array(85,-21,915,810),65535=>array(125,0,875,750)); +$cw=array(0=>1000,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>469,95=>500,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>500,176=>400,177=>584,178=>333,179=>333,180=>333,181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500,256=>667,257=>556,258=>667,259=>556,260=>667,261=>556,262=>722,263=>500,264=>722,265=>500,266=>722,267=>500,268=>722,269=>500,270=>722,271=>627,272=>722,273=>556,274=>667,275=>556,276=>667,277=>556,278=>667,279=>556,280=>667,281=>556,282=>667,283=>556,284=>778,285=>556,286=>778,287=>556,288=>778,289=>556,290=>778,291=>556,292=>722,293=>556,294=>722,295=>556,296=>278,297=>222,298=>278,299=>222,300=>278,301=>222,302=>278,303=>222,304=>278,305=>278,306=>751,307=>444,308=>500,309=>222,310=>667,311=>500,312=>437,313=>556,314=>222,315=>556,316=>222,317=>556,318=>222,319=>556,320=>318,321=>556,322=>222,323=>722,324=>556,325=>722,326=>556,327=>722,328=>556,329=>626,330=>723,331=>556,332=>778,333=>556,334=>778,335=>556,336=>778,337=>556,338=>1000,339=>944,340=>722,341=>333,342=>722,343=>333,344=>722,345=>333,346=>667,347=>500,348=>667,349=>500,350=>667,351=>500,352=>667,353=>500,354=>611,355=>278,356=>611,357=>406,358=>611,359=>278,360=>722,361=>556,362=>722,363=>556,364=>722,365=>556,366=>722,367=>556,368=>722,369=>556,370=>722,371=>556,372=>944,373=>722,374=>667,375=>500,376=>667,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>222,384=>556,385=>740,386=>655,387=>556,388=>556,389=>556,390=>722,391=>766,392=>579,393=>722,394=>789,395=>655,396=>556,397=>557,398=>667,399=>729,400=>604,401=>611,402=>278,403=>791,404=>649,405=>806,406=>245,407=>322,408=>667,409=>500,410=>322,411=>500,412=>833,413=>722,414=>556,415=>778,416=>776,417=>556,418=>1019,419=>782,420=>735,421=>556,422=>722,423=>667,424=>500,425=>602,426=>366,427=>278,428=>571,429=>278,430=>611,431=>776,432=>620,433=>748,434=>667,435=>752,436=>615,437=>611,438=>500,439=>628,440=>628,441=>526,442=>480,443=>556,444=>556,445=>526,446=>556,447=>556,448=>278,449=>464,450=>474,451=>278,452=>1333,453=>1222,454=>1056,455=>1030,456=>778,457=>444,458=>1222,459=>944,460=>778,461=>667,462=>556,463=>278,464=>278,465=>778,466=>556,467=>722,468=>556,469=>722,470=>556,471=>722,472=>556,473=>722,474=>556,475=>722,476=>556,477=>556,478=>667,479=>556,480=>667,481=>556,482=>1000,483=>889,484=>778,485=>556,486=>778,487=>556,488=>667,489=>500,490=>778,491=>556,492=>778,493=>556,494=>534,495=>534,496=>222,497=>1333,498=>1222,499=>1056,500=>778,501=>556,506=>667,507=>556,508=>1000,509=>889,510=>778,511=>611,512=>667,513=>556,514=>667,515=>556,516=>667,517=>556,518=>667,519=>556,520=>278,521=>278,522=>278,523=>278,524=>778,525=>556,526=>778,527=>556,528=>722,529=>333,530=>722,531=>333,532=>722,533=>556,534=>722,535=>556,592=>556,593=>556,594=>556,595=>556,596=>500,597=>500,598=>556,599=>556,600=>556,601=>556,602=>777,603=>485,604=>485,605=>686,606=>519,607=>260,608=>556,609=>556,610=>557,611=>500,612=>500,613=>556,614=>556,615=>556,616=>242,617=>282,618=>356,619=>356,620=>425,621=>222,622=>635,623=>833,624=>833,625=>833,626=>556,627=>556,628=>558,629=>556,630=>715,631=>674,632=>558,633=>333,634=>333,635=>333,636=>333,637=>333,638=>312,639=>312,640=>530,641=>530,642=>500,643=>216,644=>276,645=>216,646=>222,647=>278,648=>278,649=>596,650=>558,651=>556,652=>500,653=>722,654=>500,655=>500,656=>500,657=>564,658=>530,659=>530,660=>464,661=>464,662=>464,663=>500,664=>614,665=>526,666=>519,667=>557,668=>558,669=>222,670=>500,671=>416,672=>556,673=>464,674=>464,675=>966,676=>966,677=>1030,678=>689,679=>484,680=>718,688=>326,689=>326,690=>153,691=>201,692=>201,693=>201,694=>304,695=>389,696=>278,697=>222,698=>372,699=>222,700=>222,701=>222,702=>222,703=>222,704=>250,705=>250,706=>320,707=>320,708=>320,709=>320,710=>333,711=>333,712=>192,713=>333,714=>333,715=>333,716=>192,717=>333,718=>333,719=>333,720=>300,721=>300,722=>222,723=>222,724=>340,725=>340,726=>280,727=>362,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,736=>278,737=>153,738=>270,739=>274,740=>325,741=>360,742=>360,743=>360,744=>360,745=>360,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,864=>0,865=>0,884=>308,885=>308,890=>278,894=>278,900=>278,901=>278,902=>667,903=>278,904=>704,905=>759,906=>315,908=>778,910=>746,911=>758,912=>222,913=>667,914=>667,915=>550,916=>682,917=>667,918=>611,919=>722,920=>778,921=>278,922=>667,923=>667,924=>833,925=>722,926=>650,927=>778,928=>722,929=>667,931=>602,932=>611,933=>667,934=>808,935=>667,936=>804,937=>758,938=>278,939=>667,940=>576,941=>434,942=>556,943=>222,944=>551,945=>576,946=>563,947=>500,948=>557,949=>434,950=>440,951=>556,952=>556,953=>222,954=>498,955=>500,956=>553,957=>500,958=>432,959=>556,960=>678,961=>571,962=>472,963=>619,964=>382,965=>551,966=>649,967=>522,968=>729,969=>766,970=>222,971=>551,972=>556,973=>551,974=>766,976=>563,977=>616,978=>631,979=>726,980=>631,981=>644,982=>781,986=>722,988=>578,990=>570,992=>692,994=>880,995=>833,996=>684,997=>558,998=>680,999=>529,1000=>557,1001=>505,1002=>623,1003=>603,1004=>610,1005=>611,1006=>568,1007=>434,1008=>600,1009=>571,1010=>500,1011=>222,1025=>667,1026=>865,1027=>567,1028=>717,1029=>667,1030=>278,1031=>278,1032=>500,1033=>1105,1034=>1009,1035=>867,1036=>584,1038=>635,1039=>723,1040=>667,1041=>655,1042=>667,1043=>567,1044=>677,1045=>667,1046=>923,1047=>604,1048=>722,1049=>722,1050=>584,1051=>705,1052=>833,1053=>722,1054=>778,1055=>723,1056=>667,1057=>722,1058=>611,1059=>635,1060=>760,1061=>667,1062=>740,1063=>684,1064=>920,1065=>939,1066=>793,1067=>883,1068=>655,1069=>717,1070=>1006,1071=>722,1072=>556,1073=>573,1074=>531,1075=>383,1076=>583,1077=>556,1078=>669,1079=>458,1080=>559,1081=>559,1082=>437,1083=>571,1084=>683,1085=>552,1086=>556,1087=>542,1088=>556,1089=>500,1090=>458,1091=>500,1092=>823,1093=>500,1094=>562,1095=>533,1096=>802,1097=>823,1098=>620,1099=>717,1100=>523,1101=>510,1102=>744,1103=>542,1105=>556,1106=>556,1107=>383,1108=>510,1109=>500,1110=>222,1111=>278,1112=>222,1113=>873,1114=>811,1115=>556,1116=>437,1118=>500,1119=>542,1120=>976,1121=>766,1122=>656,1123=>521,1124=>950,1125=>694,1126=>667,1127=>597,1128=>952,1129=>817,1130=>654,1131=>600,1132=>932,1133=>817,1134=>604,1135=>458,1136=>804,1137=>729,1138=>778,1139=>556,1140=>667,1141=>500,1142=>667,1143=>500,1144=>1279,1145=>1060,1146=>778,1147=>556,1148=>976,1149=>766,1150=>976,1151=>766,1152=>722,1153=>514,1154=>686,1155=>334,1156=>382,1157=>334,1158=>334,1168=>435,1169=>339,1170=>567,1171=>383,1172=>656,1173=>556,1174=>923,1175=>669,1176=>604,1177=>458,1178=>584,1179=>437,1180=>584,1181=>437,1182=>584,1183=>437,1184=>764,1185=>537,1186=>741,1187=>573,1188=>900,1189=>670,1190=>736,1191=>560,1192=>778,1193=>560,1194=>722,1195=>500,1196=>611,1197=>458,1198=>667,1199=>500,1200=>667,1201=>500,1202=>667,1203=>500,1204=>916,1205=>661,1206=>684,1207=>533,1208=>684,1209=>533,1210=>684,1211=>556,1212=>829,1213=>667,1214=>829,1215=>667,1216=>278,1217=>923,1218=>669,1219=>584,1220=>437,1223=>735,1224=>570,1227=>684,1228=>533,1232=>667,1233=>556,1234=>667,1235=>556,1236=>1000,1237=>889,1238=>667,1239=>556,1240=>729,1241=>556,1242=>729,1243=>556,1244=>923,1245=>669,1246=>604,1247=>458,1248=>604,1249=>492,1250=>722,1251=>559,1252=>722,1253=>559,1254=>778,1255=>556,1256=>778,1257=>556,1258=>778,1259=>556,1262=>635,1263=>500,1264=>635,1265=>500,1266=>635,1267=>500,1268=>684,1269=>533,1272=>883,1273=>717,1329=>635,1330=>531,1331=>583,1332=>583,1333=>531,1334=>531,1335=>427,1336=>531,1337=>750,1338=>635,1339=>531,1340=>375,1341=>583,1342=>698,1343=>531,1344=>427,1345=>531,1346=>583,1347=>531,1348=>635,1349=>698,1350=>635,1351=>635,1352=>531,1353=>531,1354=>698,1355=>531,1356=>635,1357=>531,1358=>698,1359=>583,1360=>479,1361=>583,1362=>531,1363=>698,1364=>698,1365=>635,1366=>750,1369=>271,1370=>271,1371=>150,1372=>300,1373=>271,1374=>271,1375=>420,1377=>583,1378=>427,1379=>427,1380=>427,1381=>427,1382=>427,1383=>427,1384=>427,1385=>459,1386=>427,1387=>427,1388=>323,1389=>531,1390=>427,1391=>427,1392=>427,1393=>427,1394=>427,1395=>427,1396=>427,1397=>271,1398=>427,1399=>375,1400=>427,1401=>375,1402=>583,1403=>427,1404=>427,1405=>427,1406=>427,1407=>583,1408=>427,1409=>427,1410=>323,1411=>583,1412=>375,1413=>375,1414=>583,1415=>527,1417=>271,1425=>360,1426=>360,1427=>360,1428=>360,1429=>360,1430=>360,1431=>360,1432=>360,1433=>360,1434=>360,1435=>360,1436=>360,1437=>360,1438=>360,1439=>360,1440=>360,1441=>360,1443=>360,1444=>360,1445=>360,1446=>360,1447=>360,1448=>360,1449=>360,1450=>360,1451=>360,1452=>360,1453=>360,1454=>360,1455=>360,1456=>360,1457=>360,1458=>360,1459=>360,1460=>360,1461=>360,1462=>360,1463=>360,1464=>360,1465=>360,1467=>360,1468=>360,1469=>360,1470=>366,1471=>360,1472=>225,1473=>360,1474=>360,1475=>238,1476=>360,1488=>577,1489=>563,1490=>411,1491=>512,1492=>594,1493=>316,1494=>326,1495=>594,1496=>594,1497=>316,1498=>507,1499=>527,1500=>484,1501=>594,1502=>594,1503=>316,1504=>338,1505=>604,1506=>550,1507=>567,1508=>569,1509=>505,1510=>514,1511=>583,1512=>507,1513=>700,1514=>633,1520=>590,1521=>590,1522=>590,1523=>216,1524=>412,1548=>278,1563=>278,1567=>556,1569=>529,1570=>243,1571=>243,1572=>470,1573=>243,1574=>731,1575=>243,1576=>771,1577=>514,1578=>771,1579=>771,1580=>544,1581=>544,1582=>544,1583=>430,1584=>430,1585=>421,1586=>421,1587=>1194,1588=>1194,1589=>1291,1590=>1291,1591=>843,1592=>843,1593=>594,1594=>594,1600=>279,1601=>957,1602=>800,1603=>757,1604=>662,1605=>589,1606=>692,1607=>514,1608=>470,1609=>731,1610=>731,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>480,1633=>480,1634=>480,1635=>480,1636=>480,1637=>480,1638=>480,1639=>480,1640=>480,1641=>480,1642=>547,1643=>278,1644=>278,1645=>438,1648=>0,1649=>243,1650=>243,1651=>243,1652=>0,1653=>380,1654=>470,1655=>548,1656=>772,1657=>771,1658=>771,1659=>771,1660=>771,1661=>771,1662=>771,1663=>771,1664=>771,1665=>544,1666=>544,1667=>544,1668=>544,1669=>544,1670=>544,1671=>544,1672=>430,1673=>430,1674=>430,1675=>430,1676=>430,1677=>430,1678=>430,1679=>430,1680=>430,1681=>421,1682=>421,1683=>421,1684=>421,1685=>421,1686=>419,1687=>421,1688=>421,1689=>421,1690=>1194,1691=>1194,1692=>1194,1693=>1291,1694=>1291,1695=>843,1696=>594,1697=>957,1698=>957,1699=>957,1700=>957,1701=>957,1702=>957,1703=>800,1704=>800,1705=>828,1706=>1058,1707=>828,1708=>757,1709=>757,1710=>757,1711=>828,1712=>828,1713=>828,1714=>828,1715=>828,1716=>828,1717=>662,1718=>662,1719=>662,1722=>692,1723=>692,1724=>692,1725=>692,1726=>706,1728=>514,1729=>509,1730=>509,1731=>509,1732=>470,1733=>470,1734=>470,1735=>470,1736=>470,1737=>470,1738=>470,1739=>470,1740=>731,1741=>841,1742=>731,1744=>731,1745=>731,1746=>550,1747=>550,1748=>279,1749=>514,1750=>726,1751=>558,1752=>321,1753=>318,1754=>342,1755=>373,1756=>716,1757=>688,1758=>852,1759=>288,1760=>288,1761=>388,1762=>350,1763=>716,1764=>146,1765=>282,1766=>339,1767=>339,1768=>415,1769=>514,1770=>220,1771=>220,1772=>220,1773=>350,1776=>480,1777=>480,1778=>480,1779=>480,1780=>480,1781=>480,1782=>480,1783=>480,1784=>480,1785=>480,2305=>0,2306=>0,2307=>294,2309=>693,2310=>910,2311=>533,2312=>533,2313=>590,2314=>713,2315=>920,2316=>677,2317=>611,2318=>611,2319=>611,2320=>611,2321=>910,2322=>910,2323=>910,2324=>910,2325=>667,2326=>732,2327=>593,2328=>639,2329=>624,2330=>688,2331=>713,2332=>688,2333=>712,2334=>697,2335=>502,2336=>533,2337=>583,2338=>523,2339=>693,2340=>585,2341=>638,2342=>533,2343=>640,2344=>585,2345=>585,2346=>565,2347=>699,2348=>592,2349=>689,2350=>633,2351=>600,2352=>486,2353=>486,2354=>680,2355=>730,2356=>730,2357=>592,2358=>684,2359=>608,2360=>646,2361=>546,2364=>0,2365=>373,2366=>319,2367=>319,2368=>319,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>319,2378=>319,2379=>319,2380=>319,2381=>0,2384=>884,2385=>0,2386=>0,2387=>0,2388=>0,2392=>667,2393=>732,2394=>593,2395=>688,2396=>583,2397=>523,2398=>699,2399=>600,2400=>920,2401=>677,2402=>0,2403=>0,2404=>331,2405=>513,2406=>639,2407=>639,2408=>639,2409=>639,2410=>639,2411=>639,2412=>639,2413=>639,2414=>639,2415=>639,2416=>362,2433=>0,2434=>430,2435=>430,2437=>786,2438=>1030,2439=>582,2440=>603,2441=>648,2442=>757,2443=>758,2444=>630,2447=>685,2448=>746,2451=>711,2452=>776,2453=>779,2454=>655,2455=>606,2456=>645,2457=>661,2458=>554,2459=>585,2460=>729,2461=>752,2462=>893,2463=>567,2464=>625,2465=>648,2466=>567,2467=>598,2468=>680,2469=>645,2470=>609,2471=>596,2472=>595,2474=>635,2475=>780,2476=>593,2477=>677,2478=>621,2479=>601,2480=>593,2482=>640,2486=>598,2487=>596,2488=>637,2489=>582,2492=>0,2494=>245,2495=>245,2496=>245,2497=>0,2498=>0,2499=>0,2500=>0,2503=>309,2504=>309,2507=>932,2508=>932,2509=>0,2519=>245,2524=>648,2525=>553,2527=>596,2528=>758,2529=>630,2530=>0,2531=>335,2534=>610,2535=>559,2536=>595,2537=>711,2538=>610,2539=>661,2540=>661,2541=>559,2542=>661,2543=>600,2544=>593,2545=>593,2546=>601,2547=>567,2548=>601,2549=>699,2550=>661,2551=>267,2552=>610,2553=>424,2554=>548,2562=>0,2565=>691,2566=>936,2567=>803,2568=>803,2569=>678,2570=>678,2575=>557,2576=>691,2579=>678,2580=>691,2581=>602,2582=>567,2583=>641,2584=>688,2585=>565,2586=>592,2587=>603,2588=>591,2589=>541,2590=>558,2591=>543,2592=>581,2593=>596,2594=>640,2595=>640,2596=>591,2597=>564,2598=>640,2599=>564,2600=>581,2602=>564,2603=>551,2604=>560,2605=>549,2606=>558,2607=>652,2608=>540,2610=>677,2611=>677,2613=>601,2614=>558,2616=>558,2617=>549,2620=>0,2622=>246,2623=>246,2624=>246,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2649=>567,2650=>690,2651=>591,2652=>591,2654=>581,2662=>591,2663=>591,2664=>591,2665=>591,2666=>591,2667=>591,2668=>591,2669=>591,2670=>591,2671=>591,2672=>0,2673=>0,2674=>557,2675=>678,2676=>894,2689=>0,2690=>0,2691=>300,2693=>781,2694=>1044,2695=>589,2696=>589,2697=>560,2698=>758,2699=>806,2701=>781,2703=>781,2704=>781,2705=>1044,2707=>1044,2708=>1044,2709=>413,2710=>773,2711=>606,2712=>558,2713=>483,2714=>600,2715=>691,2716=>811,2717=>647,2718=>651,2719=>453,2720=>450,2721=>425,2722=>478,2723=>694,2724=>534,2725=>553,2726=>446,2727=>541,2728=>582,2730=>572,2731=>437,2732=>663,2733=>756,2734=>594,2735=>493,2736=>392,2738=>613,2739=>656,2741=>538,2742=>611,2743=>507,2744=>663,2745=>587,2748=>0,2749=>478,2750=>273,2751=>273,2752=>273,2753=>0,2754=>0,2755=>0,2756=>0,2757=>0,2759=>0,2760=>0,2761=>273,2763=>273,2764=>273,2765=>0,2768=>843,2784=>893,2790=>625,2791=>625,2792=>625,2793=>625,2794=>625,2795=>625,2796=>625,2797=>625,2798=>625,2799=>625,2817=>0,2818=>306,2819=>391,2821=>590,2822=>808,2823=>658,2824=>658,2825=>633,2826=>654,2827=>636,2828=>540,2831=>560,2832=>938,2835=>600,2836=>973,2837=>603,2838=>620,2839=>620,2840=>605,2841=>712,2842=>579,2843=>579,2844=>593,2845=>564,2846=>581,2847=>604,2848=>578,2849=>579,2850=>579,2851=>607,2852=>579,2853=>587,2854=>579,2855=>602,2856=>579,2858=>605,2859=>728,2860=>579,2861=>643,2862=>605,2863=>628,2864=>619,2866=>653,2867=>593,2870=>620,2871=>605,2872=>605,2873=>579,2876=>0,2877=>333,2878=>218,2879=>0,2880=>294,2881=>0,2882=>0,2883=>0,2887=>479,2888=>479,2891=>1026,2892=>1026,2893=>0,2902=>0,2903=>218,2908=>579,2909=>579,2911=>599,2912=>636,2913=>540,2918=>578,2919=>480,2920=>480,2921=>622,2922=>506,2923=>605,2924=>529,2925=>548,2926=>512,2927=>528,2928=>561,2946=>0,2947=>742,2949=>1002,2950=>1118,2951=>994,2952=>660,2953=>1012,2954=>1231,2958=>726,2959=>731,2960=>870,2962=>763,2963=>763,2964=>1636,2965=>667,2969=>830,2970=>584,2972=>876,2974=>986,2975=>802,2979=>1295,2980=>656,2984=>630,2985=>1012,2986=>694,2990=>727,2991=>790,2992=>545,2993=>718,2994=>821,2995=>871,2996=>724,2997=>873,2999=>1087,3000=>1098,3001=>1274,3006=>547,3007=>172,3008=>93,3009=>519,3010=>814,3014=>748,3015=>681,3016=>956,3018=>1666,3019=>1666,3020=>1994,3021=>0,3031=>871,3047=>667,3048=>1012,3049=>751,3050=>740,3051=>924,3052=>884,3053=>726,3054=>1002,3055=>825,3056=>717,3057=>719,3058=>774,3073=>365,3074=>601,3075=>346,3077=>720,3078=>786,3079=>567,3080=>1159,3081=>690,3082=>1047,3083=>1299,3084=>913,3086=>625,3087=>625,3088=>712,3090=>655,3091=>655,3092=>862,3093=>515,3094=>680,3095=>526,3096=>943,3097=>655,3098=>684,3099=>684,3100=>670,3101=>1205,3102=>732,3103=>888,3104=>597,3105=>709,3106=>709,3107=>809,3108=>715,3109=>702,3110=>702,3111=>702,3112=>607,3114=>623,3115=>623,3116=>681,3117=>681,3118=>932,3119=>1203,3120=>597,3121=>893,3122=>631,3123=>608,3125=>620,3126=>541,3127=>667,3128=>640,3129=>911,3134=>644,3135=>298,3136=>298,3137=>361,3138=>682,3139=>342,3140=>704,3142=>624,3143=>624,3144=>900,3146=>849,3147=>849,3148=>976,3149=>669,3157=>298,3158=>119,3168=>1620,3169=>1281,3174=>840,3175=>840,3176=>840,3177=>840,3178=>840,3179=>840,3180=>840,3181=>840,3182=>840,3183=>840,3202=>440,3203=>251,3205=>654,3206=>654,3207=>631,3208=>891,3209=>957,3210=>1293,3211=>1044,3212=>744,3214=>650,3215=>650,3216=>659,3218=>667,3219=>667,3220=>667,3221=>462,3222=>749,3223=>543,3224=>779,3225=>674,3226=>682,3227=>660,3228=>667,3229=>1171,3230=>926,3231=>671,3232=>557,3233=>669,3234=>669,3235=>728,3236=>544,3237=>672,3238=>672,3239=>672,3240=>560,3242=>668,3243=>668,3244=>681,3245=>687,3246=>972,3247=>1101,3248=>556,3249=>677,3250=>661,3251=>545,3253=>666,3254=>553,3255=>670,3256=>549,3257=>716,3262=>425,3263=>341,3264=>680,3265=>354,3266=>714,3267=>386,3268=>638,3270=>307,3271=>670,3272=>462,3274=>908,3275=>1251,3276=>434,3277=>336,3285=>344,3286=>404,3294=>673,3296=>1695,3297=>978,3302=>549,3303=>549,3304=>549,3305=>549,3306=>549,3307=>549,3308=>549,3309=>549,3310=>549,3311=>549,3330=>368,3331=>305,3333=>1201,3334=>1351,3335=>905,3336=>1459,3337=>635,3338=>1198,3339=>861,3340=>957,3342=>1211,3343=>1202,3344=>1839,3346=>642,3347=>1114,3348=>1195,3349=>861,3350=>982,3351=>874,3352=>1354,3353=>957,3354=>1016,3355=>1266,3356=>712,3357=>1454,3358=>1215,3359=>563,3360=>565,3361=>1192,3362=>1244,3363=>1268,3364=>878,3365=>966,3366=>545,3367=>879,3368=>879,3370=>1031,3371=>1175,3372=>1334,3373=>546,3374=>643,3375=>949,3376=>642,3377=>555,3378=>945,3379=>631,3380=>553,3381=>959,3382=>936,3383=>1122,3384=>1190,3385=>1112,3390=>475,3391=>418,3392=>442,3393=>340,3394=>340,3395=>473,3398=>640,3399=>530,3400=>1279,3402=>1368,3403=>1258,3404=>1447,3405=>0,3415=>553,3424=>861,3425=>1100,3430=>1095,3431=>929,3432=>854,3433=>1181,3434=>658,3435=>972,3436=>1210,3437=>650,3438=>959,3439=>896,3585=>595,3586=>648,3587=>665,3588=>608,3589=>608,3590=>665,3591=>471,3592=>556,3593=>652,3594=>664,3595=>681,3596=>816,3597=>849,3598=>620,3599=>620,3600=>541,3601=>785,3602=>826,3603=>887,3604=>598,3605=>605,3606=>595,3607=>650,3608=>541,3609=>652,3610=>608,3611=>608,3612=>630,3613=>630,3614=>695,3615=>695,3616=>620,3617=>581,3618=>588,3619=>501,3620=>595,3621=>569,3622=>620,3623=>519,3624=>592,3625=>659,3626=>574,3627=>654,3628=>695,3629=>566,3630=>574,3631=>517,3632=>452,3633=>0,3634=>496,3635=>496,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>687,3648=>302,3649=>571,3650=>478,3651=>515,3652=>515,3653=>496,3654=>506,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>555,3664=>598,3665=>640,3666=>688,3667=>690,3668=>657,3669=>657,3670=>635,3671=>839,3672=>693,3673=>769,3674=>673,3675=>994,3713=>775,3714=>707,3716=>724,3719=>524,3720=>690,3722=>678,3725=>711,3732=>719,3733=>834,3734=>776,3735=>916,3737=>744,3738=>740,3739=>740,3740=>834,3741=>834,3742=>854,3743=>854,3745=>775,3746=>724,3747=>697,3749=>700,3751=>700,3754=>708,3755=>916,3757=>700,3758=>697,3759=>658,3760=>432,3761=>534,3762=>476,3763=>476,3764=>778,3765=>778,3766=>778,3767=>778,3768=>778,3769=>778,3771=>778,3772=>778,3773=>670,3776=>420,3777=>806,3778=>430,3779=>446,3780=>346,3782=>571,3784=>778,3785=>778,3786=>778,3787=>778,3788=>778,3789=>778,3792=>721,3793=>719,3794=>601,3795=>711,3796=>686,3797=>686,3798=>834,3799=>756,3800=>724,3801=>906,3804=>1272,3805=>1272,3840=>600,3841=>600,3842=>600,3843=>600,3844=>600,3845=>600,3846=>600,3847=>600,3848=>600,3849=>600,3850=>600,3851=>600,3852=>600,3853=>600,3854=>600,3855=>600,3856=>600,3857=>600,3858=>600,3859=>600,3860=>600,3861=>600,3862=>600,3863=>600,3864=>600,3865=>600,3866=>600,3867=>600,3868=>600,3869=>600,3870=>600,3871=>600,3872=>600,3873=>600,3874=>600,3875=>600,3876=>600,3877=>600,3878=>600,3879=>600,3880=>600,3881=>600,3882=>600,3883=>600,3884=>600,3885=>600,3886=>600,3887=>600,3888=>600,3889=>600,3890=>600,3891=>600,3892=>600,3893=>600,3894=>600,3895=>600,3896=>600,3897=>600,3898=>600,3899=>600,3900=>600,3901=>600,3902=>600,3903=>600,3904=>600,3905=>600,3906=>600,3907=>600,3908=>600,3909=>600,3910=>600,3911=>600,3913=>600,3914=>600,3915=>600,3916=>600,3917=>600,3918=>600,3919=>600,3920=>600,3921=>600,3922=>600,3923=>600,3924=>600,3925=>600,3926=>600,3927=>600,3928=>600,3929=>600,3930=>600,3931=>600,3932=>600,3933=>600,3934=>600,3935=>600,3936=>600,3937=>600,3938=>600,3939=>600,3940=>600,3941=>600,3942=>600,3943=>600,3944=>600,3945=>600,3953=>600,3954=>600,3955=>600,3956=>600,3957=>600,3958=>600,3959=>600,3960=>600,3961=>600,3962=>600,3963=>600,3964=>600,3965=>600,3966=>600,3967=>600,3968=>600,3969=>600,3970=>600,3971=>600,3972=>600,3973=>600,3974=>600,3975=>600,3976=>600,3977=>600,3978=>600,3979=>600,3984=>600,3985=>600,3986=>600,3987=>600,3988=>600,3989=>600,3991=>600,3993=>600,3994=>600,3995=>600,3996=>600,3997=>600,3998=>600,3999=>600,4000=>600,4001=>600,4002=>600,4003=>600,4004=>600,4005=>600,4006=>600,4007=>600,4008=>600,4009=>600,4010=>600,4011=>600,4012=>600,4013=>600,4017=>600,4018=>600,4019=>600,4020=>600,4021=>600,4022=>600,4023=>600,4025=>600,4256=>662,4257=>677,4258=>708,4259=>696,4260=>609,4261=>790,4262=>664,4263=>785,4264=>560,4265=>634,4266=>782,4267=>701,4268=>629,4269=>682,4270=>705,4271=>692,4272=>734,4273=>615,4274=>592,4275=>680,4276=>679,4277=>705,4278=>643,4279=>623,4280=>623,4281=>629,4282=>633,4283=>770,4284=>592,4285=>662,4286=>629,4287=>672,4288=>735,4289=>576,4290=>606,4291=>605,4292=>676,4293=>792,4304=>435,4305=>556,4306=>565,4307=>872,4308=>506,4309=>544,4310=>723,4311=>868,4312=>530,4313=>532,4314=>955,4315=>552,4316=>565,4317=>712,4318=>547,4319=>574,4320=>685,4321=>554,4322=>806,4323=>810,4324=>777,4325=>502,4326=>686,4327=>512,4328=>552,4329=>496,4330=>568,4331=>552,4332=>592,4333=>565,4334=>552,4335=>741,4336=>549,4337=>659,4338=>559,4339=>524,4340=>482,4341=>565,4342=>822,4347=>506,4352=>1000,4353=>1000,4354=>1000,4355=>1000,4356=>1000,4357=>1000,4358=>1000,4359=>1000,4360=>1000,4361=>1000,4362=>1000,4363=>1000,4364=>1000,4365=>1000,4366=>1000,4367=>1000,4368=>1000,4369=>1000,4370=>1000,4371=>1000,4372=>1000,4373=>1000,4374=>1000,4375=>1000,4376=>1000,4377=>1000,4378=>1000,4379=>1000,4380=>1000,4381=>1000,4382=>1000,4383=>1000,4384=>1000,4385=>1000,4386=>1000,4387=>1000,4388=>1000,4389=>1000,4390=>1000,4391=>1000,4392=>1000,4393=>1000,4394=>1000,4395=>1000,4396=>1000,4397=>1000,4398=>1000,4399=>1000,4400=>1000,4401=>1000,4402=>1000,4403=>1000,4404=>1000,4405=>1000,4406=>1000,4407=>1000,4408=>1000,4409=>1000,4410=>1000,4411=>1000,4412=>1000,4413=>1000,4414=>1000,4415=>1000,4416=>1000,4417=>1000,4418=>1000,4419=>1000,4420=>1000,4421=>1000,4422=>1000,4423=>1000,4424=>1000,4425=>1000,4426=>1000,4427=>1000,4428=>1000,4429=>1000,4430=>1000,4431=>1000,4432=>1000,4433=>1000,4434=>1000,4435=>1000,4436=>1000,4437=>1000,4438=>1000,4439=>1000,4440=>1000,4441=>1000,4447=>1000,4448=>1000,4449=>1000,4450=>1000,4451=>1000,4452=>1000,4453=>1000,4454=>1000,4455=>1000,4456=>1000,4457=>1000,4458=>1000,4459=>1000,4460=>1000,4461=>1000,4462=>1000,4463=>1000,4464=>1000,4465=>1000,4466=>1000,4467=>1000,4468=>1000,4469=>1000,4470=>1000,4471=>1000,4472=>1000,4473=>1000,4474=>1000,4475=>1000,4476=>1000,4477=>1000,4478=>1000,4479=>1000,4480=>1000,4481=>1000,4482=>1000,4483=>1000,4484=>1000,4485=>1000,4486=>1000,4487=>1000,4488=>1000,4489=>1000,4490=>1000,4491=>1000,4492=>1000,4493=>1000,4494=>1000,4495=>1000,4496=>1000,4497=>1000,4498=>1000,4499=>1000,4500=>1000,4501=>1000,4502=>1000,4503=>1000,4504=>1000,4505=>1000,4506=>1000,4507=>1000,4508=>1000,4509=>1000,4510=>1000,4511=>1000,4512=>1000,4513=>1000,4514=>1000,4520=>1000,4521=>1000,4522=>1000,4523=>1000,4524=>1000,4525=>1000,4526=>1000,4527=>1000,4528=>1000,4529=>1000,4530=>1000,4531=>1000,4532=>1000,4533=>1000,4534=>1000,4535=>1000,4536=>1000,4537=>1000,4538=>1000,4539=>1000,4540=>1000,4541=>1000,4542=>1000,4543=>1000,4544=>1000,4545=>1000,4546=>1000,4547=>1000,4548=>1000,4549=>1000,4550=>1000,4551=>1000,4552=>1000,4553=>1000,4554=>1000,4555=>1000,4556=>1000,4557=>1000,4558=>1000,4559=>1000,4560=>1000,4561=>1000,4562=>1000,4563=>1000,4564=>1000,4565=>1000,4566=>1000,4567=>1000,4568=>1000,4569=>1000,4570=>1000,4571=>1000,4572=>1000,4573=>1000,4574=>1000,4575=>1000,4576=>1000,4577=>1000,4578=>1000,4579=>1000,4580=>1000,4581=>1000,4582=>1000,4583=>1000,4584=>1000,4585=>1000,4586=>1000,4587=>1000,4588=>1000,4589=>1000,4590=>1000,4591=>1000,4592=>1000,4593=>1000,4594=>1000,4595=>1000,4596=>1000,4597=>1000,4598=>1000,4599=>1000,4600=>1000,4601=>1000,7680=>667,7681=>556,7682=>667,7683=>556,7684=>667,7685=>556,7686=>667,7687=>556,7688=>722,7689=>500,7690=>722,7691=>556,7692=>722,7693=>556,7694=>722,7695=>556,7696=>722,7697=>556,7698=>722,7699=>556,7700=>667,7701=>556,7702=>667,7703=>556,7704=>667,7705=>556,7706=>667,7707=>556,7708=>667,7709=>556,7710=>611,7711=>278,7712=>778,7713=>556,7714=>722,7715=>556,7716=>722,7717=>556,7718=>722,7719=>556,7720=>722,7721=>556,7722=>722,7723=>556,7724=>278,7725=>222,7726=>278,7727=>278,7728=>667,7729=>500,7730=>667,7731=>500,7732=>667,7733=>500,7734=>556,7735=>222,7736=>556,7737=>222,7738=>556,7739=>222,7740=>556,7741=>222,7742=>833,7743=>833,7744=>833,7745=>833,7746=>833,7747=>833,7748=>722,7749=>556,7750=>722,7751=>556,7752=>722,7753=>556,7754=>722,7755=>556,7756=>778,7757=>556,7758=>778,7759=>556,7760=>778,7761=>556,7762=>778,7763=>556,7764=>667,7765=>556,7766=>667,7767=>556,7768=>722,7769=>333,7770=>722,7771=>333,7772=>722,7773=>333,7774=>722,7775=>333,7776=>667,7777=>500,7778=>667,7779=>500,7780=>667,7781=>500,7782=>667,7783=>500,7784=>667,7785=>500,7786=>611,7787=>278,7788=>611,7789=>278,7790=>611,7791=>278,7792=>611,7793=>278,7794=>722,7795=>556,7796=>722,7797=>556,7798=>722,7799=>556,7800=>722,7801=>556,7802=>722,7803=>556,7804=>667,7805=>500,7806=>667,7807=>500,7808=>944,7809=>722,7810=>944,7811=>722,7812=>944,7813=>722,7814=>944,7815=>722,7816=>944,7817=>722,7818=>667,7819=>500,7820=>667,7821=>500,7822=>667,7823=>500,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>556,7831=>278,7832=>722,7833=>500,7834=>556,7835=>278,7840=>667,7841=>556,7842=>667,7843=>556,7844=>667,7845=>556,7846=>667,7847=>556,7848=>667,7849=>556,7850=>667,7851=>556,7852=>667,7853=>556,7854=>667,7855=>556,7856=>667,7857=>556,7858=>667,7859=>556,7860=>667,7861=>556,7862=>667,7863=>556,7864=>667,7865=>556,7866=>667,7867=>556,7868=>667,7869=>556,7870=>667,7871=>556,7872=>667,7873=>556,7874=>667,7875=>556,7876=>667,7877=>556,7878=>667,7879=>556,7880=>278,7881=>278,7882=>278,7883=>222,7884=>778,7885=>556,7886=>778,7887=>556,7888=>778,7889=>556,7890=>778,7891=>556,7892=>778,7893=>556,7894=>778,7895=>556,7896=>778,7897=>556,7898=>776,7899=>556,7900=>776,7901=>556,7902=>776,7903=>556,7904=>776,7905=>556,7906=>776,7907=>556,7908=>722,7909=>556,7910=>722,7911=>556,7912=>776,7913=>620,7914=>776,7915=>620,7916=>776,7917=>620,7918=>776,7919=>620,7920=>776,7921=>620,7922=>667,7923=>500,7924=>667,7925=>500,7926=>667,7927=>500,7928=>667,7929=>500,7936=>576,7937=>576,7938=>576,7939=>576,7940=>576,7941=>576,7942=>576,7943=>576,7944=>667,7945=>667,7946=>680,7947=>680,7948=>680,7949=>680,7950=>718,7951=>718,7952=>434,7953=>434,7954=>434,7955=>434,7956=>434,7957=>434,7960=>692,7961=>692,7962=>823,7963=>823,7964=>823,7965=>823,7968=>556,7969=>556,7970=>556,7971=>556,7972=>556,7973=>556,7974=>556,7975=>556,7976=>747,7977=>747,7978=>878,7979=>878,7980=>878,7981=>878,7982=>923,7983=>923,7984=>222,7985=>222,7986=>222,7987=>222,7988=>222,7989=>222,7990=>222,7991=>222,7992=>303,7993=>303,7994=>434,7995=>434,7996=>434,7997=>434,7998=>479,7999=>479,8000=>556,8001=>556,8002=>556,8003=>556,8004=>556,8005=>556,8008=>778,8009=>778,8010=>894,8011=>894,8012=>894,8013=>894,8016=>551,8017=>551,8018=>551,8019=>551,8020=>551,8021=>551,8022=>551,8023=>551,8025=>777,8027=>893,8029=>885,8031=>940,8032=>766,8033=>766,8034=>766,8035=>766,8036=>766,8037=>766,8038=>766,8039=>766,8040=>758,8041=>758,8042=>874,8043=>874,8044=>868,8045=>867,8046=>911,8047=>911,8048=>576,8049=>576,8050=>434,8051=>434,8052=>556,8053=>556,8054=>222,8055=>222,8056=>556,8057=>556,8058=>551,8059=>551,8060=>766,8061=>766,8064=>576,8065=>576,8066=>576,8067=>576,8068=>576,8069=>576,8070=>576,8071=>576,8072=>667,8073=>667,8074=>680,8075=>680,8076=>680,8077=>680,8078=>718,8079=>718,8080=>556,8081=>556,8082=>556,8083=>556,8084=>556,8085=>556,8086=>556,8087=>556,8088=>747,8089=>747,8090=>878,8091=>878,8092=>878,8093=>878,8094=>923,8095=>923,8096=>766,8097=>766,8098=>766,8099=>766,8100=>766,8101=>766,8102=>766,8103=>766,8104=>758,8105=>758,8106=>874,8107=>874,8108=>868,8109=>867,8110=>911,8111=>911,8112=>576,8113=>576,8114=>576,8115=>576,8116=>576,8118=>576,8119=>576,8120=>667,8121=>667,8122=>667,8123=>667,8124=>667,8125=>278,8126=>278,8127=>278,8128=>278,8129=>278,8130=>556,8131=>556,8132=>556,8134=>556,8135=>556,8136=>693,8137=>704,8138=>748,8139=>759,8140=>722,8141=>278,8142=>278,8143=>278,8144=>222,8145=>222,8146=>222,8147=>222,8150=>222,8151=>222,8152=>278,8153=>278,8154=>304,8155=>304,8157=>278,8158=>278,8159=>278,8160=>551,8161=>551,8162=>551,8163=>551,8164=>571,8165=>571,8166=>551,8167=>551,8168=>667,8169=>667,8170=>742,8171=>746,8172=>693,8173=>278,8174=>278,8175=>278,8178=>766,8179=>766,8180=>766,8182=>766,8183=>766,8184=>778,8185=>778,8186=>758,8187=>758,8188=>758,8189=>278,8190=>278,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>100,8202=>50,8203=>0,8204=>0,8205=>0,8208=>333,8209=>333,8210=>556,8211=>500,8212=>1000,8213=>564,8214=>428,8215=>500,8216=>222,8217=>222,8218=>222,8219=>222,8220=>333,8221=>333,8222=>333,8223=>333,8224=>556,8225=>556,8226=>350,8227=>350,8228=>278,8229=>556,8230=>1000,8231=>278,8232=>0,8233=>0,8240=>1000,8241=>1330,8242=>222,8243=>372,8244=>522,8245=>206,8246=>356,8247=>506,8248=>312,8249=>333,8250=>333,8251=>1000,8252=>471,8253=>556,8254=>500,8255=>945,8256=>945,8257=>312,8258=>820,8259=>333,8260=>167,8261=>278,8262=>278,8304=>333,8308=>333,8309=>333,8310=>333,8311=>333,8312=>333,8313=>333,8314=>333,8315=>333,8316=>333,8317=>210,8318=>210,8319=>333,8320=>333,8321=>333,8322=>333,8323=>333,8324=>333,8325=>333,8326=>333,8327=>333,8328=>333,8329=>333,8330=>333,8331=>333,8332=>333,8333=>210,8334=>210,8352=>556,8353=>556,8354=>556,8355=>556,8356=>556,8357=>833,8358=>556,8359=>556,8360=>1024,8361=>940,8362=>784,8363=>556,8364=>556,8400=>600,8401=>600,8402=>600,8403=>600,8404=>700,8405=>700,8406=>600,8407=>600,8408=>600,8409=>600,8410=>600,8411=>600,8412=>600,8413=>900,8414=>900,8415=>900,8416=>900,8417=>700,8448=>889,8449=>889,8450=>667,8451=>1022,8452=>611,8453=>889,8454=>889,8455=>501,8456=>667,8457=>921,8458=>510,8459=>906,8460=>988,8461=>722,8462=>500,8463=>500,8464=>688,8465=>553,8466=>708,8467=>291,8468=>778,8469=>722,8470=>1073,8471=>737,8472=>740,8473=>556,8474=>722,8475=>927,8476=>795,8477=>667,8478=>667,8479=>667,8480=>1000,8481=>1174,8482=>1000,8483=>722,8484=>611,8485=>542,8486=>768,8487=>768,8488=>698,8489=>321,8490=>667,8491=>667,8492=>927,8493=>646,8494=>556,8495=>385,8496=>615,8497=>688,8498=>611,8499=>1115,8500=>406,8501=>688,8502=>688,8503=>344,8504=>688,8531=>834,8532=>834,8533=>834,8534=>834,8535=>834,8536=>834,8537=>834,8538=>834,8539=>834,8540=>834,8541=>834,8542=>834,8543=>834,8544=>278,8545=>555,8546=>832,8547=>933,8548=>667,8549=>934,8550=>1031,8551=>1268,8552=>944,8553=>667,8554=>944,8555=>1035,8556=>556,8557=>722,8558=>722,8559=>833,8560=>222,8561=>444,8562=>666,8563=>700,8564=>500,8565=>700,8566=>922,8567=>1144,8568=>712,8569=>500,8570=>712,8571=>934,8572=>222,8573=>500,8574=>556,8575=>833,8576=>983,8577=>722,8578=>983,8592=>713,8593=>713,8594=>713,8595=>713,8596=>713,8597=>713,8598=>713,8599=>713,8600=>713,8601=>713,8602=>713,8603=>713,8604=>713,8605=>713,8606=>713,8607=>713,8608=>713,8609=>713,8610=>713,8611=>713,8612=>713,8613=>713,8614=>713,8615=>713,8616=>713,8617=>713,8618=>713,8619=>713,8620=>713,8621=>813,8622=>813,8623=>713,8624=>713,8625=>713,8626=>713,8627=>713,8628=>713,8629=>713,8630=>713,8631=>713,8632=>713,8633=>713,8634=>800,8635=>800,8636=>713,8637=>713,8638=>713,8639=>713,8640=>713,8641=>713,8642=>713,8643=>713,8644=>713,8645=>713,8646=>713,8647=>713,8648=>713,8649=>713,8650=>713,8651=>713,8652=>713,8653=>713,8654=>950,8655=>713,8656=>713,8657=>713,8658=>713,8659=>713,8660=>863,8661=>713,8662=>713,8663=>713,8664=>713,8665=>713,8666=>713,8667=>713,8668=>813,8669=>813,8670=>713,8671=>713,8672=>713,8673=>713,8674=>713,8675=>713,8676=>713,8677=>713,8678=>713,8679=>713,8680=>713,8681=>713,8682=>713,8704=>600,8705=>600,8706=>494,8707=>600,8708=>600,8709=>800,8710=>612,8711=>612,8712=>549,8713=>549,8714=>549,8715=>549,8716=>549,8717=>549,8718=>549,8719=>823,8720=>823,8721=>713,8722=>584,8723=>584,8724=>584,8725=>167,8726=>278,8727=>389,8728=>400,8729=>400,8730=>600,8731=>600,8732=>600,8733=>549,8734=>549,8735=>584,8736=>584,8737=>584,8738=>584,8739=>260,8740=>444,8741=>418,8742=>602,8743=>561,8744=>561,8745=>561,8746=>561,8747=>506,8748=>806,8749=>1106,8750=>506,8751=>806,8752=>1106,8753=>506,8754=>506,8755=>506,8756=>561,8757=>561,8758=>422,8759=>561,8760=>584,8761=>584,8762=>584,8763=>584,8764=>584,8765=>584,8766=>584,8767=>584,8768=>422,8769=>584,8770=>584,8771=>584,8772=>584,8773=>584,8774=>584,8775=>584,8776=>584,8777=>584,8778=>584,8779=>584,8780=>584,8781=>584,8782=>584,8783=>584,8784=>584,8785=>584,8786=>584,8787=>584,8788=>737,8789=>737,8790=>584,8791=>584,8792=>584,8793=>584,8794=>584,8795=>584,8796=>584,8797=>584,8798=>584,8799=>584,8800=>584,8801=>584,8802=>584,8803=>584,8804=>584,8805=>584,8806=>584,8807=>584,8808=>584,8809=>584,8810=>969,8811=>969,8812=>584,8813=>584,8814=>584,8815=>584,8816=>584,8817=>584,8818=>584,8819=>584,8820=>584,8821=>584,8822=>584,8823=>584,8824=>584,8825=>584,8826=>584,8827=>584,8828=>584,8829=>584,8830=>584,8831=>584,8832=>584,8833=>584,8834=>678,8835=>678,8836=>678,8837=>678,8838=>678,8839=>678,8840=>678,8841=>678,8842=>678,8843=>678,8844=>561,8845=>561,8846=>561,8847=>678,8848=>678,8849=>673,8850=>673,8851=>561,8852=>561,8853=>800,8854=>800,8855=>800,8856=>800,8857=>800,8858=>800,8859=>800,8860=>800,8861=>800,8862=>800,8863=>800,8864=>800,8865=>800,8866=>549,8867=>549,8868=>549,8869=>549,8870=>399,8871=>399,8872=>549,8873=>549,8874=>549,8875=>672,8876=>549,8877=>549,8878=>549,8879=>672,8880=>549,8881=>549,8882=>549,8883=>549,8884=>549,8885=>549,8886=>713,8887=>713,8888=>713,8889=>549,8890=>549,8891=>584,8892=>584,8893=>584,8894=>584,8895=>584,8896=>561,8897=>561,8898=>561,8899=>561,8900=>549,8901=>250,8902=>549,8903=>649,8904=>630,8905=>630,8906=>630,8907=>630,8908=>630,8909=>584,8910=>561,8911=>561,8912=>668,8913=>668,8914=>668,8915=>668,8916=>561,8917=>602,8918=>584,8919=>584,8920=>1354,8921=>1354,8922=>584,8923=>584,8924=>584,8925=>584,8926=>584,8927=>584,8928=>584,8929=>584,8930=>673,8931=>673,8932=>673,8933=>673,8934=>584,8935=>584,8936=>584,8937=>584,8938=>584,8939=>584,8940=>584,8941=>584,8942=>278,8943=>1000,8944=>1000,8945=>1000,8960=>549,8962=>549,8963=>549,8964=>549,8965=>549,8966=>549,8967=>549,8968=>449,8969=>449,8970=>449,8971=>449,8972=>549,8973=>549,8974=>549,8975=>549,8976=>549,8977=>549,8978=>800,8979=>800,8980=>549,8981=>549,8982=>549,8983=>650,8984=>780,8985=>549,8986=>549,8987=>549,8988=>549,8989=>549,8990=>549,8991=>549,8992=>506,8993=>506,8994=>713,8995=>713,8996=>1000,8997=>1000,8998=>1000,8999=>1000,9000=>1000,9001=>329,9002=>329,9003=>1000,9004=>549,9005=>549,9006=>549,9007=>549,9008=>549,9009=>549,9010=>549,9011=>549,9012=>549,9013=>549,9014=>600,9015=>600,9016=>600,9017=>600,9018=>600,9019=>600,9020=>600,9021=>600,9022=>600,9023=>600,9024=>600,9025=>600,9026=>600,9027=>600,9028=>600,9029=>600,9030=>600,9031=>600,9032=>600,9033=>600,9034=>600,9035=>600,9036=>600,9037=>600,9038=>600,9039=>600,9040=>600,9041=>600,9042=>600,9043=>600,9044=>600,9045=>600,9046=>600,9047=>600,9048=>600,9049=>600,9050=>600,9051=>600,9052=>600,9053=>600,9054=>600,9055=>600,9056=>600,9057=>600,9058=>600,9059=>600,9060=>600,9061=>600,9062=>600,9063=>600,9064=>600,9065=>600,9066=>600,9067=>600,9068=>600,9069=>600,9070=>600,9071=>600,9072=>600,9073=>600,9074=>600,9075=>600,9076=>600,9077=>600,9078=>600,9079=>600,9080=>600,9081=>600,9082=>600,9109=>600,9216=>600,9217=>600,9218=>600,9219=>600,9220=>600,9221=>600,9222=>600,9223=>600,9224=>600,9225=>600,9226=>600,9227=>600,9228=>600,9229=>600,9230=>600,9231=>600,9232=>600,9233=>600,9234=>600,9235=>600,9236=>600,9237=>600,9238=>600,9239=>600,9240=>600,9241=>600,9242=>600,9243=>600,9244=>600,9245=>600,9246=>600,9247=>600,9248=>600,9249=>600,9250=>600,9251=>600,9252=>600,9280=>604,9281=>604,9282=>604,9283=>604,9284=>604,9285=>604,9286=>750,9287=>750,9288=>750,9289=>750,9290=>604,9312=>1000,9313=>1000,9314=>1000,9315=>1000,9316=>1000,9317=>1000,9318=>1000,9319=>1000,9320=>1000,9321=>1000,9322=>1000,9323=>1000,9324=>1000,9325=>1000,9326=>1000,9327=>1000,9328=>1000,9329=>1000,9330=>1000,9331=>1000,9332=>1000,9333=>1000,9334=>1000,9335=>1000,9336=>1000,9337=>1000,9338=>1000,9339=>1000,9340=>1000,9341=>1000,9342=>1000,9343=>1000,9344=>1000,9345=>1000,9346=>1000,9347=>1000,9348=>1000,9349=>1000,9350=>1000,9351=>1000,9352=>1000,9353=>1000,9354=>1000,9355=>1000,9356=>1000,9357=>1000,9358=>1000,9359=>1000,9360=>1000,9361=>1000,9362=>1000,9363=>1000,9364=>1000,9365=>1000,9366=>1000,9367=>1000,9368=>1000,9369=>1000,9370=>1000,9371=>1000,9372=>1000,9373=>1000,9374=>1000,9375=>1000,9376=>1000,9377=>1000,9378=>1000,9379=>1000,9380=>1000,9381=>1000,9382=>1000,9383=>1000,9384=>1000,9385=>1000,9386=>1000,9387=>1000,9388=>1000,9389=>1000,9390=>1000,9391=>1000,9392=>1000,9393=>1000,9394=>1000,9395=>1000,9396=>1000,9397=>1000,9398=>1000,9399=>1000,9400=>1000,9401=>1000,9402=>1000,9403=>1000,9404=>1000,9405=>1000,9406=>1000,9407=>1000,9408=>1000,9409=>1000,9410=>1000,9411=>1000,9412=>1000,9413=>1000,9414=>1000,9415=>1000,9416=>1000,9417=>1000,9418=>1000,9419=>1000,9420=>1000,9421=>1000,9422=>1000,9423=>1000,9424=>1000,9425=>1000,9426=>1000,9427=>1000,9428=>1000,9429=>1000,9430=>1000,9431=>1000,9432=>1000,9433=>1000,9434=>1000,9435=>1000,9436=>1000,9437=>1000,9438=>1000,9439=>1000,9440=>1000,9441=>1000,9442=>1000,9443=>1000,9444=>1000,9445=>1000,9446=>1000,9447=>1000,9448=>1000,9449=>1000,9450=>1000,9472=>600,9473=>600,9474=>600,9475=>600,9476=>600,9477=>600,9478=>600,9479=>600,9480=>600,9481=>600,9482=>600,9483=>600,9484=>600,9485=>600,9486=>600,9487=>600,9488=>600,9489=>600,9490=>600,9491=>600,9492=>600,9493=>600,9494=>600,9495=>600,9496=>600,9497=>600,9498=>600,9499=>600,9500=>600,9501=>600,9502=>600,9503=>600,9504=>600,9505=>600,9506=>600,9507=>600,9508=>600,9509=>600,9510=>600,9511=>600,9512=>600,9513=>600,9514=>600,9515=>600,9516=>600,9517=>600,9518=>600,9519=>600,9520=>600,9521=>600,9522=>600,9523=>600,9524=>600,9525=>600,9526=>600,9527=>600,9528=>600,9529=>600,9530=>600,9531=>600,9532=>600,9533=>600,9534=>600,9535=>600,9536=>600,9537=>600,9538=>600,9539=>600,9540=>600,9541=>600,9542=>600,9543=>600,9544=>600,9545=>600,9546=>600,9547=>600,9548=>600,9549=>600,9550=>600,9551=>600,9552=>600,9553=>600,9554=>600,9555=>600,9556=>600,9557=>600,9558=>600,9559=>600,9560=>600,9561=>600,9562=>600,9563=>600,9564=>600,9565=>600,9566=>600,9567=>600,9568=>600,9569=>600,9570=>600,9571=>600,9572=>600,9573=>600,9574=>600,9575=>600,9576=>600,9577=>600,9578=>600,9579=>600,9580=>600,9581=>600,9582=>600,9583=>600,9584=>600,9585=>600,9586=>600,9587=>600,9588=>600,9589=>600,9590=>600,9591=>600,9592=>600,9593=>600,9594=>600,9595=>600,9596=>600,9597=>600,9598=>600,9599=>600,9600=>600,9601=>600,9602=>600,9603=>600,9604=>600,9605=>600,9606=>600,9607=>600,9608=>600,9609=>600,9610=>600,9611=>600,9612=>600,9613=>600,9614=>600,9615=>600,9616=>600,9617=>600,9618=>600,9619=>600,9620=>600,9621=>600,9632=>600,9633=>600,9634=>600,9635=>600,9636=>600,9637=>600,9638=>600,9639=>600,9640=>600,9641=>600,9642=>600,9643=>600,9644=>600,9645=>600,9646=>600,9647=>600,9648=>600,9649=>600,9650=>600,9651=>600,9652=>600,9653=>600,9654=>600,9655=>600,9656=>600,9657=>600,9658=>600,9659=>600,9660=>600,9661=>600,9662=>600,9663=>600,9664=>600,9665=>600,9666=>600,9667=>600,9668=>600,9669=>600,9670=>600,9671=>600,9672=>600,9673=>600,9674=>600,9675=>600,9676=>600,9677=>600,9678=>600,9679=>600,9680=>600,9681=>600,9682=>600,9683=>600,9684=>600,9685=>600,9686=>600,9687=>600,9688=>600,9689=>600,9690=>600,9691=>600,9692=>600,9693=>600,9694=>600,9695=>600,9696=>600,9697=>600,9698=>600,9699=>600,9700=>600,9701=>600,9702=>600,9703=>600,9704=>600,9705=>600,9706=>600,9707=>600,9708=>600,9709=>600,9710=>600,9711=>600,9728=>750,9729=>1000,9730=>750,9731=>750,9732=>1000,9733=>816,9734=>823,9735=>500,9736=>500,9737=>800,9738=>800,9739=>800,9740=>800,9741=>800,9742=>719,9743=>719,9744=>734,9745=>734,9746=>734,9747=>762,9754=>960,9755=>960,9756=>939,9757=>939,9758=>939,9759=>939,9760=>750,9761=>600,9762=>750,9763=>750,9764=>580,9765=>460,9766=>444,9767=>650,9768=>444,9769=>768,9770=>800,9771=>850,9772=>675,9773=>800,9774=>750,9775=>750,9776=>900,9777=>900,9778=>900,9779=>900,9780=>900,9781=>900,9782=>900,9783=>900,9784=>750,9785=>750,9786=>750,9787=>750,9788=>750,9789=>750,9790=>750,9791=>740,9792=>740,9793=>740,9794=>740,9795=>653,9796=>490,9797=>632,9798=>780,9799=>560,9800=>838,9801=>780,9802=>734,9803=>887,9804=>780,9805=>1080,9806=>896,9807=>1080,9808=>804,9809=>868,9810=>922,9811=>696,9812=>1000,9813=>1000,9814=>1000,9815=>1000,9816=>1000,9817=>1000,9818=>1000,9819=>1000,9820=>1000,9821=>1000,9822=>1000,9823=>1000,9824=>722,9825=>734,9826=>674,9827=>804,9828=>722,9829=>734,9830=>674,9831=>804,9832=>860,9833=>423,9834=>592,9835=>750,9836=>750,9837=>439,9838=>439,9839=>439,9985=>974,9986=>961,9987=>974,9988=>980,9990=>789,9991=>790,9992=>791,9993=>690,9996=>549,9997=>855,9998=>911,9999=>933,10000=>911,10001=>945,10002=>974,10003=>755,10004=>846,10005=>762,10006=>761,10007=>571,10008=>677,10009=>763,10010=>760,10011=>759,10012=>754,10013=>494,10014=>552,10015=>537,10016=>577,10017=>692,10018=>786,10019=>788,10020=>788,10021=>790,10022=>793,10023=>794,10025=>823,10026=>789,10027=>841,10028=>823,10029=>833,10030=>816,10031=>831,10032=>923,10033=>744,10034=>723,10035=>749,10036=>790,10037=>792,10038=>695,10039=>776,10040=>768,10041=>792,10042=>759,10043=>707,10044=>708,10045=>682,10046=>701,10047=>826,10048=>815,10049=>789,10050=>789,10051=>707,10052=>687,10053=>696,10054=>689,10055=>786,10056=>787,10057=>713,10058=>791,10059=>785,10061=>873,10063=>762,10064=>762,10065=>759,10066=>759,10070=>784,10072=>138,10073=>277,10074=>415,10075=>392,10076=>392,10077=>668,10078=>668,10081=>732,10082=>544,10083=>544,10084=>910,10085=>667,10086=>760,10087=>760,10102=>788,10103=>788,10104=>788,10105=>788,10106=>788,10107=>788,10108=>788,10109=>788,10110=>788,10111=>788,10112=>788,10113=>788,10114=>788,10115=>788,10116=>788,10117=>788,10118=>788,10119=>788,10120=>788,10121=>788,10122=>788,10123=>788,10124=>788,10125=>788,10126=>788,10127=>788,10128=>788,10129=>788,10130=>788,10131=>788,10132=>894,10136=>748,10137=>924,10138=>748,10139=>918,10140=>927,10141=>928,10142=>928,10143=>834,10144=>873,10145=>828,10146=>924,10147=>924,10148=>917,10149=>930,10150=>931,10151=>463,10152=>883,10153=>836,10154=>836,10155=>867,10156=>867,10157=>696,10158=>696,10159=>874,10161=>874,10162=>760,10163=>946,10164=>771,10165=>865,10166=>771,10167=>888,10168=>967,10169=>888,10170=>831,10171=>873,10172=>927,10173=>970,10174=>918,12288=>1000,12289=>1000,12290=>1000,12291=>1000,12292=>1000,12293=>1000,12294=>1000,12295=>1000,12296=>1000,12297=>1000,12298=>1000,12299=>1000,12300=>1000,12301=>1000,12302=>1000,12303=>1000,12304=>1000,12305=>1000,12306=>1000,12307=>1000,12308=>1000,12309=>1000,12310=>1000,12311=>1000,12312=>1000,12313=>1000,12314=>1000,12315=>1000,12316=>1000,12317=>1000,12318=>1000,12319=>1000,12320=>1000,12321=>1000,12322=>1000,12323=>1000,12324=>1000,12325=>1000,12326=>1000,12327=>1000,12328=>1000,12329=>1000,12330=>1000,12331=>1000,12332=>1000,12333=>1000,12334=>1000,12335=>1000,12336=>1000,12337=>1000,12338=>1000,12339=>1000,12340=>1000,12341=>1000,12342=>1000,12343=>1000,12351=>1000,12353=>1000,12354=>1000,12355=>1000,12356=>1000,12357=>1000,12358=>1000,12359=>1000,12360=>1000,12361=>1000,12362=>1000,12363=>1000,12364=>1000,12365=>1000,12366=>1000,12367=>1000,12368=>1000,12369=>1000,12370=>1000,12371=>1000,12372=>1000,12373=>1000,12374=>1000,12375=>1000,12376=>1000,12377=>1000,12378=>1000,12379=>1000,12380=>1000,12381=>1000,12382=>1000,12383=>1000,12384=>1000,12385=>1000,12386=>1000,12387=>1000,12388=>1000,12389=>1000,12390=>1000,12391=>1000,12392=>1000,12393=>1000,12394=>1000,12395=>1000,12396=>1000,12397=>1000,12398=>1000,12399=>1000,12400=>1000,12401=>1000,12402=>1000,12403=>1000,12404=>1000,12405=>1000,12406=>1000,12407=>1000,12408=>1000,12409=>1000,12410=>1000,12411=>1000,12412=>1000,12413=>1000,12414=>1000,12415=>1000,12416=>1000,12417=>1000,12418=>1000,12419=>1000,12420=>1000,12421=>1000,12422=>1000,12423=>1000,12424=>1000,12425=>1000,12426=>1000,12427=>1000,12428=>1000,12429=>1000,12430=>1000,12431=>1000,12432=>1000,12433=>1000,12434=>1000,12435=>1000,12436=>1000,12441=>1000,12442=>1000,12443=>1000,12444=>1000,12445=>1000,12446=>1000,12449=>1000,12450=>1000,12451=>1000,12452=>1000,12453=>1000,12454=>1000,12455=>1000,12456=>1000,12457=>1000,12458=>1000,12459=>1000,12460=>1000,12461=>1000,12462=>1000,12463=>1000,12464=>1000,12465=>1000,12466=>1000,12467=>1000,12468=>1000,12469=>1000,12470=>1000,12471=>1000,12472=>1000,12473=>1000,12474=>1000,12475=>1000,12476=>1000,12477=>1000,12478=>1000,12479=>1000,12480=>1000,12481=>1000,12482=>1000,12483=>1000,12484=>1000,12485=>1000,12486=>1000,12487=>1000,12488=>1000,12489=>1000,12490=>1000,12491=>1000,12492=>1000,12493=>1000,12494=>1000,12495=>1000,12496=>1000,12497=>1000,12498=>1000,12499=>1000,12500=>1000,12501=>1000,12502=>1000,12503=>1000,12504=>1000,12505=>1000,12506=>1000,12507=>1000,12508=>1000,12509=>1000,12510=>1000,12511=>1000,12512=>1000,12513=>1000,12514=>1000,12515=>1000,12516=>1000,12517=>1000,12518=>1000,12519=>1000,12520=>1000,12521=>1000,12522=>1000,12523=>1000,12524=>1000,12525=>1000,12526=>1000,12527=>1000,12528=>1000,12529=>1000,12530=>1000,12531=>1000,12532=>1000,12533=>1000,12534=>1000,12535=>1000,12536=>1000,12537=>1000,12538=>1000,12539=>1000,12540=>1000,12541=>1000,12542=>1000,12549=>1000,12550=>1000,12551=>1000,12552=>1000,12553=>1000,12554=>1000,12555=>1000,12556=>1000,12557=>1000,12558=>1000,12559=>1000,12560=>1000,12561=>1000,12562=>1000,12563=>1000,12564=>1000,12565=>1000,12566=>1000,12567=>1000,12568=>1000,12569=>1000,12570=>1000,12571=>1000,12572=>1000,12573=>1000,12574=>1000,12575=>1000,12576=>1000,12577=>1000,12578=>1000,12579=>1000,12580=>1000,12581=>1000,12582=>1000,12583=>1000,12584=>1000,12585=>1000,12586=>1000,12587=>1000,12588=>1000,12593=>1000,12594=>1000,12595=>1000,12596=>1000,12597=>1000,12598=>1000,12599=>1000,12600=>1000,12601=>1000,12602=>1000,12603=>1000,12604=>1000,12605=>1000,12606=>1000,12607=>1000,12608=>1000,12609=>1000,12610=>1000,12611=>1000,12612=>1000,12613=>1000,12614=>1000,12615=>1000,12616=>1000,12617=>1000,12618=>1000,12619=>1000,12620=>1000,12621=>1000,12622=>1000,12623=>1000,12624=>1000,12625=>1000,12626=>1000,12627=>1000,12628=>1000,12629=>1000,12630=>1000,12631=>1000,12632=>1000,12633=>1000,12634=>1000,12635=>1000,12636=>1000,12637=>1000,12638=>1000,12639=>1000,12640=>1000,12641=>1000,12642=>1000,12643=>1000,12644=>1000,12645=>1000,12646=>1000,12647=>1000,12648=>1000,12649=>1000,12650=>1000,12651=>1000,12652=>1000,12653=>1000,12654=>1000,12655=>1000,12656=>1000,12657=>1000,12658=>1000,12659=>1000,12660=>1000,12661=>1000,12662=>1000,12663=>1000,12664=>1000,12665=>1000,12666=>1000,12667=>1000,12668=>1000,12669=>1000,12670=>1000,12671=>1000,12672=>1000,12673=>1000,12674=>1000,12675=>1000,12676=>1000,12677=>1000,12678=>1000,12679=>1000,12680=>1000,12681=>1000,12682=>1000,12683=>1000,12684=>1000,12685=>1000,12686=>1000,12688=>1000,12689=>1000,12690=>1000,12691=>1000,12692=>1000,12693=>1000,12694=>1000,12695=>1000,12696=>1000,12697=>1000,12698=>1000,12699=>1000,12700=>1000,12701=>1000,12702=>1000,12703=>1000,12800=>1000,12801=>1000,12802=>1000,12803=>1000,12804=>1000,12805=>1000,12806=>1000,12807=>1000,12808=>1000,12809=>1000,12810=>1000,12811=>1000,12812=>1000,12813=>1000,12814=>1000,12815=>1000,12816=>1000,12817=>1000,12818=>1000,12819=>1000,12820=>1000,12821=>1000,12822=>1000,12823=>1000,12824=>1000,12825=>1000,12826=>1000,12827=>1000,12828=>1000,12832=>1000,12833=>1000,12834=>1000,12835=>1000,12836=>1000,12837=>1000,12838=>1000,12839=>1000,12840=>1000,12841=>1000,12842=>1000,12843=>1000,12844=>1000,12845=>1000,12846=>1000,12847=>1000,12848=>1000,12849=>1000,12850=>1000,12851=>1000,12852=>1000,12853=>1000,12854=>1000,12855=>1000,12856=>1000,12857=>1000,12858=>1000,12859=>1000,12860=>1000,12861=>1000,12862=>1000,12863=>1000,12864=>1000,12865=>1000,12866=>1000,12867=>1000,12896=>1000,12897=>1000,12898=>1000,12899=>1000,12900=>1000,12901=>1000,12902=>1000,12903=>1000,12904=>1000,12905=>1000,12906=>1000,12907=>1000,12908=>1000,12909=>1000,12910=>1000,12911=>1000,12912=>1000,12913=>1000,12914=>1000,12915=>1000,12916=>1000,12917=>1000,12918=>1000,12919=>1000,12920=>1000,12921=>1000,12922=>1000,12923=>1000,12927=>1000,12928=>1000,12929=>1000,12930=>1000,12931=>1000,12932=>1000,12933=>1000,12934=>1000,12935=>1000,12936=>1000,12937=>1000,12938=>1000,12939=>1000,12940=>1000,12941=>1000,12942=>1000,12943=>1000,12944=>1000,12945=>1000,12946=>1000,12947=>1000,12948=>1000,12949=>1000,12950=>1000,12951=>1000,12952=>1000,12953=>1000,12954=>1000,12955=>1000,12956=>1000,12957=>1000,12958=>1000,12959=>1000,12960=>1000,12961=>1000,12962=>1000,12963=>1000,12964=>1000,12965=>1000,12966=>1000,12967=>1000,12968=>1000,12969=>1000,12970=>1000,12971=>1000,12972=>1000,12973=>1000,12974=>1000,12975=>1000,12976=>1000,12992=>1000,12993=>1000,12994=>1000,12995=>1000,12996=>1000,12997=>1000,12998=>1000,12999=>1000,13000=>1000,13001=>1000,13002=>1000,13003=>1000,13008=>1000,13009=>1000,13010=>1000,13011=>1000,13012=>1000,13013=>1000,13014=>1000,13015=>1000,13016=>1000,13017=>1000,13018=>1000,13019=>1000,13020=>1000,13021=>1000,13022=>1000,13023=>1000,13024=>1000,13025=>1000,13026=>1000,13027=>1000,13028=>1000,13029=>1000,13030=>1000,13031=>1000,13032=>1000,13033=>1000,13034=>1000,13035=>1000,13036=>1000,13037=>1000,13038=>1000,13039=>1000,13040=>1000,13041=>1000,13042=>1000,13043=>1000,13044=>1000,13045=>1000,13046=>1000,13047=>1000,13048=>1000,13049=>1000,13050=>1000,13051=>1000,13052=>1000,13053=>1000,13054=>1000,13056=>1000,13057=>1000,13058=>1000,13059=>1000,13060=>1000,13061=>1000,13062=>1000,13063=>1000,13064=>1000,13065=>1000,13066=>1000,13067=>1000,13068=>1000,13069=>1000,13070=>1000,13071=>1000,13072=>1000,13073=>1000,13074=>1000,13075=>1000,13076=>1000,13077=>1000,13078=>1000,13079=>1000,13080=>1000,13081=>1000,13082=>1000,13083=>1000,13084=>1000,13085=>1000,13086=>1000,13087=>1000,13088=>1000,13089=>1000,13090=>1000,13091=>1000,13092=>1000,13093=>1000,13094=>1000,13095=>1000,13096=>1000,13097=>1000,13098=>1000,13099=>1000,13100=>1000,13101=>1000,13102=>1000,13103=>1000,13104=>1000,13105=>1000,13106=>1000,13107=>1000,13108=>1000,13109=>1000,13110=>1000,13111=>1000,13112=>1000,13113=>1000,13114=>1000,13115=>1000,13116=>1000,13117=>1000,13118=>1000,13119=>1000,13120=>1000,13121=>1000,13122=>1000,13123=>1000,13124=>1000,13125=>1000,13126=>1000,13127=>1000,13128=>1000,13129=>1000,13130=>1000,13131=>1000,13132=>1000,13133=>1000,13134=>1000,13135=>1000,13136=>1000,13137=>1000,13138=>1000,13139=>1000,13140=>1000,13141=>1000,13142=>1000,13143=>1000,13144=>1000,13145=>1000,13146=>1000,13147=>1000,13148=>1000,13149=>1000,13150=>1000,13151=>1000,13152=>1000,13153=>1000,13154=>1000,13155=>1000,13156=>1000,13157=>1000,13158=>1000,13159=>1000,13160=>1000,13161=>1000,13162=>1000,13163=>1000,13164=>1000,13165=>1000,13166=>1000,13167=>1000,13168=>1000,13169=>1000,13170=>1000,13171=>1000,13172=>1000,13173=>1000,13174=>1000,13179=>1000,13180=>1000,13181=>1000,13182=>1000,13183=>1000,13184=>1000,13185=>1000,13186=>1000,13187=>1000,13188=>1000,13189=>1000,13190=>1000,13191=>1000,13192=>1000,13193=>1000,13194=>1000,13195=>1000,13196=>1000,13197=>1000,13198=>1000,13199=>1000,13200=>1000,13201=>1000,13202=>1000,13203=>1000,13204=>1000,13205=>1000,13206=>1000,13207=>1000,13208=>1000,13209=>1000,13210=>1000,13211=>1000,13212=>1000,13213=>1000,13214=>1000,13215=>1000,13216=>1000,13217=>1000,13218=>1000,13219=>1000,13220=>1000,13221=>1000,13222=>1000,13223=>1000,13224=>1000,13225=>1000,13226=>1000,13227=>1000,13228=>1000,13229=>1000,13230=>1000,13231=>1000,13232=>1000,13233=>1000,13234=>1000,13235=>1000,13236=>1000,13237=>1000,13238=>1000,13239=>1000,13240=>1000,13241=>1000,13242=>1000,13243=>1000,13244=>1000,13245=>1000,13246=>1000,13247=>1000,13248=>1000,13249=>1000,13250=>1000,13251=>1000,13252=>1000,13253=>1000,13254=>1000,13255=>1000,13256=>1000,13257=>1000,13258=>1000,13259=>1000,13260=>1000,13261=>1000,13262=>1000,13263=>1000,13264=>1000,13265=>1000,13266=>1000,13267=>1000,13268=>1000,13269=>1000,13270=>1000,13271=>1000,13272=>1000,13273=>1000,13274=>1000,13275=>1000,13276=>1000,13277=>1000,13280=>1000,13281=>1000,13282=>1000,13283=>1000,13284=>1000,13285=>1000,13286=>1000,13287=>1000,13288=>1000,13289=>1000,13290=>1000,13291=>1000,13292=>1000,13293=>1000,13294=>1000,13295=>1000,13296=>1000,13297=>1000,13298=>1000,13299=>1000,13300=>1000,13301=>1000,13302=>1000,13303=>1000,13304=>1000,13305=>1000,13306=>1000,13307=>1000,13308=>1000,13309=>1000,13310=>1000,19968=>1000,19969=>1000,19970=>1000,19971=>1000,19972=>1000,19973=>1000,19974=>1000,19975=>1000,19976=>1000,19977=>1000,19978=>1000,19979=>1000,19980=>1000,19981=>1000,19982=>1000,19983=>1000,19984=>1000,19985=>1000,19986=>1000,19987=>1000,19988=>1000,19989=>1000,19990=>1000,19991=>1000,19992=>1000,19993=>1000,19994=>1000,19995=>1000,19996=>1000,19997=>1000,19998=>1000,19999=>1000,20000=>1000,20001=>1000,20002=>1000,20003=>1000,20004=>1000,20005=>1000,20006=>1000,20007=>1000,20008=>1000,20009=>1000,20010=>1000,20011=>1000,20012=>1000,20013=>1000,20014=>1000,20015=>1000,20016=>1000,20017=>1000,20018=>1000,20019=>1000,20020=>1000,20021=>1000,20022=>1000,20023=>1000,20024=>1000,20025=>1000,20026=>1000,20027=>1000,20028=>1000,20029=>1000,20030=>1000,20031=>1000,20032=>1000,20033=>1000,20034=>1000,20035=>1000,20036=>1000,20037=>1000,20038=>1000,20039=>1000,20040=>1000,20041=>1000,20042=>1000,20043=>1000,20044=>1000,20045=>1000,20046=>1000,20047=>1000,20048=>1000,20049=>1000,20050=>1000,20051=>1000,20052=>1000,20053=>1000,20054=>1000,20055=>1000,20056=>1000,20057=>1000,20058=>1000,20059=>1000,20060=>1000,20061=>1000,20062=>1000,20063=>1000,20064=>1000,20065=>1000,20066=>1000,20067=>1000,20068=>1000,20069=>1000,20070=>1000,20071=>1000,20072=>1000,20073=>1000,20074=>1000,20075=>1000,20076=>1000,20077=>1000,20078=>1000,20079=>1000,20080=>1000,20081=>1000,20082=>1000,20083=>1000,20084=>1000,20085=>1000,20086=>1000,20087=>1000,20088=>1000,20089=>1000,20090=>1000,20091=>1000,20092=>1000,20093=>1000,20094=>1000,20095=>1000,20096=>1000,20097=>1000,20098=>1000,20099=>1000,20100=>1000,20101=>1000,20102=>1000,20103=>1000,20104=>1000,20105=>1000,20106=>1000,20107=>1000,20108=>1000,20109=>1000,20110=>1000,20111=>1000,20112=>1000,20113=>1000,20114=>1000,20115=>1000,20116=>1000,20117=>1000,20118=>1000,20119=>1000,20120=>1000,20121=>1000,20122=>1000,20123=>1000,20124=>1000,20125=>1000,20126=>1000,20127=>1000,20128=>1000,20129=>1000,20130=>1000,20131=>1000,20132=>1000,20133=>1000,20134=>1000,20135=>1000,20136=>1000,20137=>1000,20138=>1000,20139=>1000,20140=>1000,20141=>1000,20142=>1000,20143=>1000,20144=>1000,20145=>1000,20146=>1000,20147=>1000,20148=>1000,20149=>1000,20150=>1000,20151=>1000,20152=>1000,20153=>1000,20154=>1000,20155=>1000,20156=>1000,20157=>1000,20158=>1000,20159=>1000,20160=>1000,20161=>1000,20162=>1000,20163=>1000,20164=>1000,20165=>1000,20166=>1000,20167=>1000,20168=>1000,20169=>1000,20170=>1000,20171=>1000,20172=>1000,20173=>1000,20174=>1000,20175=>1000,20176=>1000,20177=>1000,20178=>1000,20179=>1000,20180=>1000,20181=>1000,20182=>1000,20183=>1000,20184=>1000,20185=>1000,20186=>1000,20187=>1000,20188=>1000,20189=>1000,20190=>1000,20191=>1000,20192=>1000,20193=>1000,20194=>1000,20195=>1000,20196=>1000,20197=>1000,20198=>1000,20199=>1000,20200=>1000,20201=>1000,20202=>1000,20203=>1000,20204=>1000,20205=>1000,20206=>1000,20207=>1000,20208=>1000,20209=>1000,20210=>1000,20211=>1000,20212=>1000,20213=>1000,20214=>1000,20215=>1000,20216=>1000,20217=>1000,20218=>1000,20219=>1000,20220=>1000,20221=>1000,20222=>1000,20223=>1000,20224=>1000,20225=>1000,20226=>1000,20227=>1000,20228=>1000,20229=>1000,20230=>1000,20231=>1000,20232=>1000,20233=>1000,20234=>1000,20235=>1000,20236=>1000,20237=>1000,20238=>1000,20239=>1000,20240=>1000,20241=>1000,20242=>1000,20243=>1000,20244=>1000,20245=>1000,20246=>1000,20247=>1000,20248=>1000,20249=>1000,20250=>1000,20251=>1000,20252=>1000,20253=>1000,20254=>1000,20255=>1000,20256=>1000,20257=>1000,20258=>1000,20259=>1000,20260=>1000,20261=>1000,20262=>1000,20263=>1000,20264=>1000,20265=>1000,20266=>1000,20267=>1000,20268=>1000,20269=>1000,20270=>1000,20271=>1000,20272=>1000,20273=>1000,20274=>1000,20275=>1000,20276=>1000,20277=>1000,20278=>1000,20279=>1000,20280=>1000,20281=>1000,20282=>1000,20283=>1000,20284=>1000,20285=>1000,20286=>1000,20287=>1000,20288=>1000,20289=>1000,20290=>1000,20291=>1000,20292=>1000,20293=>1000,20294=>1000,20295=>1000,20296=>1000,20297=>1000,20298=>1000,20299=>1000,20300=>1000,20301=>1000,20302=>1000,20303=>1000,20304=>1000,20305=>1000,20306=>1000,20307=>1000,20308=>1000,20309=>1000,20310=>1000,20311=>1000,20312=>1000,20313=>1000,20314=>1000,20315=>1000,20316=>1000,20317=>1000,20318=>1000,20319=>1000,20320=>1000,20321=>1000,20322=>1000,20323=>1000,20324=>1000,20325=>1000,20326=>1000,20327=>1000,20328=>1000,20329=>1000,20330=>1000,20331=>1000,20332=>1000,20333=>1000,20334=>1000,20335=>1000,20336=>1000,20337=>1000,20338=>1000,20339=>1000,20340=>1000,20341=>1000,20342=>1000,20343=>1000,20344=>1000,20345=>1000,20346=>1000,20347=>1000,20348=>1000,20349=>1000,20350=>1000,20351=>1000,20352=>1000,20353=>1000,20354=>1000,20355=>1000,20356=>1000,20357=>1000,20358=>1000,20359=>1000,20360=>1000,20361=>1000,20362=>1000,20363=>1000,20364=>1000,20365=>1000,20366=>1000,20367=>1000,20368=>1000,20369=>1000,20370=>1000,20371=>1000,20372=>1000,20373=>1000,20374=>1000,20375=>1000,20376=>1000,20377=>1000,20378=>1000,20379=>1000,20380=>1000,20381=>1000,20382=>1000,20383=>1000,20384=>1000,20385=>1000,20386=>1000,20387=>1000,20388=>1000,20389=>1000,20390=>1000,20391=>1000,20392=>1000,20393=>1000,20394=>1000,20395=>1000,20396=>1000,20397=>1000,20398=>1000,20399=>1000,20400=>1000,20401=>1000,20402=>1000,20403=>1000,20404=>1000,20405=>1000,20406=>1000,20407=>1000,20408=>1000,20409=>1000,20410=>1000,20411=>1000,20412=>1000,20413=>1000,20414=>1000,20415=>1000,20416=>1000,20417=>1000,20418=>1000,20419=>1000,20420=>1000,20421=>1000,20422=>1000,20423=>1000,20424=>1000,20425=>1000,20426=>1000,20427=>1000,20428=>1000,20429=>1000,20430=>1000,20431=>1000,20432=>1000,20433=>1000,20434=>1000,20435=>1000,20436=>1000,20437=>1000,20438=>1000,20439=>1000,20440=>1000,20441=>1000,20442=>1000,20443=>1000,20444=>1000,20445=>1000,20446=>1000,20447=>1000,20448=>1000,20449=>1000,20450=>1000,20451=>1000,20452=>1000,20453=>1000,20454=>1000,20455=>1000,20456=>1000,20457=>1000,20458=>1000,20459=>1000,20460=>1000,20461=>1000,20462=>1000,20463=>1000,20464=>1000,20465=>1000,20466=>1000,20467=>1000,20468=>1000,20469=>1000,20470=>1000,20471=>1000,20472=>1000,20473=>1000,20474=>1000,20475=>1000,20476=>1000,20477=>1000,20478=>1000,20479=>1000,20480=>1000,20481=>1000,20482=>1000,20483=>1000,20484=>1000,20485=>1000,20486=>1000,20487=>1000,20488=>1000,20489=>1000,20490=>1000,20491=>1000,20492=>1000,20493=>1000,20494=>1000,20495=>1000,20496=>1000,20497=>1000,20498=>1000,20499=>1000,20500=>1000,20501=>1000,20502=>1000,20503=>1000,20504=>1000,20505=>1000,20506=>1000,20507=>1000,20508=>1000,20509=>1000,20510=>1000,20511=>1000,20512=>1000,20513=>1000,20514=>1000,20515=>1000,20516=>1000,20517=>1000,20518=>1000,20519=>1000,20520=>1000,20521=>1000,20522=>1000,20523=>1000,20524=>1000,20525=>1000,20526=>1000,20527=>1000,20528=>1000,20529=>1000,20530=>1000,20531=>1000,20532=>1000,20533=>1000,20534=>1000,20535=>1000,20536=>1000,20537=>1000,20538=>1000,20539=>1000,20540=>1000,20541=>1000,20542=>1000,20543=>1000,20544=>1000,20545=>1000,20546=>1000,20547=>1000,20548=>1000,20549=>1000,20550=>1000,20551=>1000,20552=>1000,20553=>1000,20554=>1000,20555=>1000,20556=>1000,20557=>1000,20558=>1000,20559=>1000,20560=>1000,20561=>1000,20562=>1000,20563=>1000,20564=>1000,20565=>1000,20566=>1000,20567=>1000,20568=>1000,20569=>1000,20570=>1000,20571=>1000,20572=>1000,20573=>1000,20574=>1000,20575=>1000,20576=>1000,20577=>1000,20578=>1000,20579=>1000,20580=>1000,20581=>1000,20582=>1000,20583=>1000,20584=>1000,20585=>1000,20586=>1000,20587=>1000,20588=>1000,20589=>1000,20590=>1000,20591=>1000,20592=>1000,20593=>1000,20594=>1000,20595=>1000,20596=>1000,20597=>1000,20598=>1000,20599=>1000,20600=>1000,20601=>1000,20602=>1000,20603=>1000,20604=>1000,20605=>1000,20606=>1000,20607=>1000,20608=>1000,20609=>1000,20610=>1000,20611=>1000,20612=>1000,20613=>1000,20614=>1000,20615=>1000,20616=>1000,20617=>1000,20618=>1000,20619=>1000,20620=>1000,20621=>1000,20622=>1000,20623=>1000,20624=>1000,20625=>1000,20626=>1000,20627=>1000,20628=>1000,20629=>1000,20630=>1000,20631=>1000,20632=>1000,20633=>1000,20634=>1000,20635=>1000,20636=>1000,20637=>1000,20638=>1000,20639=>1000,20640=>1000,20641=>1000,20642=>1000,20643=>1000,20644=>1000,20645=>1000,20646=>1000,20647=>1000,20648=>1000,20649=>1000,20650=>1000,20651=>1000,20652=>1000,20653=>1000,20654=>1000,20655=>1000,20656=>1000,20657=>1000,20658=>1000,20659=>1000,20660=>1000,20661=>1000,20662=>1000,20663=>1000,20664=>1000,20665=>1000,20666=>1000,20667=>1000,20668=>1000,20669=>1000,20670=>1000,20671=>1000,20672=>1000,20673=>1000,20674=>1000,20675=>1000,20676=>1000,20677=>1000,20678=>1000,20679=>1000,20680=>1000,20681=>1000,20682=>1000,20683=>1000,20684=>1000,20685=>1000,20686=>1000,20687=>1000,20688=>1000,20689=>1000,20690=>1000,20691=>1000,20692=>1000,20693=>1000,20694=>1000,20695=>1000,20696=>1000,20697=>1000,20698=>1000,20699=>1000,20700=>1000,20701=>1000,20702=>1000,20703=>1000,20704=>1000,20705=>1000,20706=>1000,20707=>1000,20708=>1000,20709=>1000,20710=>1000,20711=>1000,20712=>1000,20713=>1000,20714=>1000,20715=>1000,20716=>1000,20717=>1000,20718=>1000,20719=>1000,20720=>1000,20721=>1000,20722=>1000,20723=>1000,20724=>1000,20725=>1000,20726=>1000,20727=>1000,20728=>1000,20729=>1000,20730=>1000,20731=>1000,20732=>1000,20733=>1000,20734=>1000,20735=>1000,20736=>1000,20737=>1000,20738=>1000,20739=>1000,20740=>1000,20741=>1000,20742=>1000,20743=>1000,20744=>1000,20745=>1000,20746=>1000,20747=>1000,20748=>1000,20749=>1000,20750=>1000,20751=>1000,20752=>1000,20753=>1000,20754=>1000,20755=>1000,20756=>1000,20757=>1000,20758=>1000,20759=>1000,20760=>1000,20761=>1000,20762=>1000,20763=>1000,20764=>1000,20765=>1000,20766=>1000,20767=>1000,20768=>1000,20769=>1000,20770=>1000,20771=>1000,20772=>1000,20773=>1000,20774=>1000,20775=>1000,20776=>1000,20777=>1000,20778=>1000,20779=>1000,20780=>1000,20781=>1000,20782=>1000,20783=>1000,20784=>1000,20785=>1000,20786=>1000,20787=>1000,20788=>1000,20789=>1000,20790=>1000,20791=>1000,20792=>1000,20793=>1000,20794=>1000,20795=>1000,20796=>1000,20797=>1000,20798=>1000,20799=>1000,20800=>1000,20801=>1000,20802=>1000,20803=>1000,20804=>1000,20805=>1000,20806=>1000,20807=>1000,20808=>1000,20809=>1000,20810=>1000,20811=>1000,20812=>1000,20813=>1000,20814=>1000,20815=>1000,20816=>1000,20817=>1000,20818=>1000,20819=>1000,20820=>1000,20821=>1000,20822=>1000,20823=>1000,20824=>1000,20825=>1000,20826=>1000,20827=>1000,20828=>1000,20829=>1000,20830=>1000,20831=>1000,20832=>1000,20833=>1000,20834=>1000,20835=>1000,20836=>1000,20837=>1000,20838=>1000,20839=>1000,20840=>1000,20841=>1000,20842=>1000,20843=>1000,20844=>1000,20845=>1000,20846=>1000,20847=>1000,20848=>1000,20849=>1000,20850=>1000,20851=>1000,20852=>1000,20853=>1000,20854=>1000,20855=>1000,20856=>1000,20857=>1000,20858=>1000,20859=>1000,20860=>1000,20861=>1000,20862=>1000,20863=>1000,20864=>1000,20865=>1000,20866=>1000,20867=>1000,20868=>1000,20869=>1000,20870=>1000,20871=>1000,20872=>1000,20873=>1000,20874=>1000,20875=>1000,20876=>1000,20877=>1000,20878=>1000,20879=>1000,20880=>1000,20881=>1000,20882=>1000,20883=>1000,20884=>1000,20885=>1000,20886=>1000,20887=>1000,20888=>1000,20889=>1000,20890=>1000,20891=>1000,20892=>1000,20893=>1000,20894=>1000,20895=>1000,20896=>1000,20897=>1000,20898=>1000,20899=>1000,20900=>1000,20901=>1000,20902=>1000,20903=>1000,20904=>1000,20905=>1000,20906=>1000,20907=>1000,20908=>1000,20909=>1000,20910=>1000,20911=>1000,20912=>1000,20913=>1000,20914=>1000,20915=>1000,20916=>1000,20917=>1000,20918=>1000,20919=>1000,20920=>1000,20921=>1000,20922=>1000,20923=>1000,20924=>1000,20925=>1000,20926=>1000,20927=>1000,20928=>1000,20929=>1000,20930=>1000,20931=>1000,20932=>1000,20933=>1000,20934=>1000,20935=>1000,20936=>1000,20937=>1000,20938=>1000,20939=>1000,20940=>1000,20941=>1000,20942=>1000,20943=>1000,20944=>1000,20945=>1000,20946=>1000,20947=>1000,20948=>1000,20949=>1000,20950=>1000,20951=>1000,20952=>1000,20953=>1000,20954=>1000,20955=>1000,20956=>1000,20957=>1000,20958=>1000,20959=>1000,20960=>1000,20961=>1000,20962=>1000,20963=>1000,20964=>1000,20965=>1000,20966=>1000,20967=>1000,20968=>1000,20969=>1000,20970=>1000,20971=>1000,20972=>1000,20973=>1000,20974=>1000,20975=>1000,20976=>1000,20977=>1000,20978=>1000,20979=>1000,20980=>1000,20981=>1000,20982=>1000,20983=>1000,20984=>1000,20985=>1000,20986=>1000,20987=>1000,20988=>1000,20989=>1000,20990=>1000,20991=>1000,20992=>1000,20993=>1000,20994=>1000,20995=>1000,20996=>1000,20997=>1000,20998=>1000,20999=>1000,21000=>1000,21001=>1000,21002=>1000,21003=>1000,21004=>1000,21005=>1000,21006=>1000,21007=>1000,21008=>1000,21009=>1000,21010=>1000,21011=>1000,21012=>1000,21013=>1000,21014=>1000,21015=>1000,21016=>1000,21017=>1000,21018=>1000,21019=>1000,21020=>1000,21021=>1000,21022=>1000,21023=>1000,21024=>1000,21025=>1000,21026=>1000,21027=>1000,21028=>1000,21029=>1000,21030=>1000,21031=>1000,21032=>1000,21033=>1000,21034=>1000,21035=>1000,21036=>1000,21037=>1000,21038=>1000,21039=>1000,21040=>1000,21041=>1000,21042=>1000,21043=>1000,21044=>1000,21045=>1000,21046=>1000,21047=>1000,21048=>1000,21049=>1000,21050=>1000,21051=>1000,21052=>1000,21053=>1000,21054=>1000,21055=>1000,21056=>1000,21057=>1000,21058=>1000,21059=>1000,21060=>1000,21061=>1000,21062=>1000,21063=>1000,21064=>1000,21065=>1000,21066=>1000,21067=>1000,21068=>1000,21069=>1000,21070=>1000,21071=>1000,21072=>1000,21073=>1000,21074=>1000,21075=>1000,21076=>1000,21077=>1000,21078=>1000,21079=>1000,21080=>1000,21081=>1000,21082=>1000,21083=>1000,21084=>1000,21085=>1000,21086=>1000,21087=>1000,21088=>1000,21089=>1000,21090=>1000,21091=>1000,21092=>1000,21093=>1000,21094=>1000,21095=>1000,21096=>1000,21097=>1000,21098=>1000,21099=>1000,21100=>1000,21101=>1000,21102=>1000,21103=>1000,21104=>1000,21105=>1000,21106=>1000,21107=>1000,21108=>1000,21109=>1000,21110=>1000,21111=>1000,21112=>1000,21113=>1000,21114=>1000,21115=>1000,21116=>1000,21117=>1000,21118=>1000,21119=>1000,21120=>1000,21121=>1000,21122=>1000,21123=>1000,21124=>1000,21125=>1000,21126=>1000,21127=>1000,21128=>1000,21129=>1000,21130=>1000,21131=>1000,21132=>1000,21133=>1000,21134=>1000,21135=>1000,21136=>1000,21137=>1000,21138=>1000,21139=>1000,21140=>1000,21141=>1000,21142=>1000,21143=>1000,21144=>1000,21145=>1000,21146=>1000,21147=>1000,21148=>1000,21149=>1000,21150=>1000,21151=>1000,21152=>1000,21153=>1000,21154=>1000,21155=>1000,21156=>1000,21157=>1000,21158=>1000,21159=>1000,21160=>1000,21161=>1000,21162=>1000,21163=>1000,21164=>1000,21165=>1000,21166=>1000,21167=>1000,21168=>1000,21169=>1000,21170=>1000,21171=>1000,21172=>1000,21173=>1000,21174=>1000,21175=>1000,21176=>1000,21177=>1000,21178=>1000,21179=>1000,21180=>1000,21181=>1000,21182=>1000,21183=>1000,21184=>1000,21185=>1000,21186=>1000,21187=>1000,21188=>1000,21189=>1000,21190=>1000,21191=>1000,21192=>1000,21193=>1000,21194=>1000,21195=>1000,21196=>1000,21197=>1000,21198=>1000,21199=>1000,21200=>1000,21201=>1000,21202=>1000,21203=>1000,21204=>1000,21205=>1000,21206=>1000,21207=>1000,21208=>1000,21209=>1000,21210=>1000,21211=>1000,21212=>1000,21213=>1000,21214=>1000,21215=>1000,21216=>1000,21217=>1000,21218=>1000,21219=>1000,21220=>1000,21221=>1000,21222=>1000,21223=>1000,21224=>1000,21225=>1000,21226=>1000,21227=>1000,21228=>1000,21229=>1000,21230=>1000,21231=>1000,21232=>1000,21233=>1000,21234=>1000,21235=>1000,21236=>1000,21237=>1000,21238=>1000,21239=>1000,21240=>1000,21241=>1000,21242=>1000,21243=>1000,21244=>1000,21245=>1000,21246=>1000,21247=>1000,21248=>1000,21249=>1000,21250=>1000,21251=>1000,21252=>1000,21253=>1000,21254=>1000,21255=>1000,21256=>1000,21257=>1000,21258=>1000,21259=>1000,21260=>1000,21261=>1000,21262=>1000,21263=>1000,21264=>1000,21265=>1000,21266=>1000,21267=>1000,21268=>1000,21269=>1000,21270=>1000,21271=>1000,21272=>1000,21273=>1000,21274=>1000,21275=>1000,21276=>1000,21277=>1000,21278=>1000,21279=>1000,21280=>1000,21281=>1000,21282=>1000,21283=>1000,21284=>1000,21285=>1000,21286=>1000,21287=>1000,21288=>1000,21289=>1000,21290=>1000,21291=>1000,21292=>1000,21293=>994,21294=>1000,21295=>1000,21296=>1000,21297=>1000,21298=>1000,21299=>1000,21300=>1000,21301=>1000,21302=>1000,21303=>1000,21304=>1000,21305=>1000,21306=>1000,21307=>1000,21308=>1000,21309=>1000,21310=>1000,21311=>1000,21312=>1000,21313=>1000,21314=>1000,21315=>1000,21316=>1000,21317=>1000,21318=>1000,21319=>1000,21320=>1000,21321=>1000,21322=>1000,21323=>1000,21324=>1000,21325=>1000,21326=>1000,21327=>1000,21328=>1000,21329=>1000,21330=>1000,21331=>1000,21332=>1000,21333=>1000,21334=>1000,21335=>1000,21336=>1000,21337=>1000,21338=>1000,21339=>1000,21340=>1000,21341=>1000,21342=>1000,21343=>1000,21344=>1000,21345=>1000,21346=>1000,21347=>1000,21348=>1000,21349=>1000,21350=>1000,21351=>1000,21352=>1000,21353=>1000,21354=>1000,21355=>1000,21356=>1000,21357=>1000,21358=>1000,21359=>1000,21360=>1000,21361=>1000,21362=>1000,21363=>1000,21364=>1000,21365=>1000,21366=>1000,21367=>1000,21368=>1000,21369=>1000,21370=>1000,21371=>1000,21372=>1000,21373=>1000,21374=>1000,21375=>1000,21376=>1000,21377=>1000,21378=>1000,21379=>1000,21380=>1000,21381=>1000,21382=>1000,21383=>1000,21384=>1000,21385=>1000,21386=>1000,21387=>1000,21388=>1000,21389=>1000,21390=>1000,21391=>1000,21392=>1000,21393=>1000,21394=>1000,21395=>1000,21396=>1000,21397=>1000,21398=>1000,21399=>1000,21400=>1000,21401=>1000,21402=>1000,21403=>1000,21404=>1000,21405=>1000,21406=>1000,21407=>1000,21408=>1000,21409=>1000,21410=>1000,21411=>1000,21412=>1000,21413=>1000,21414=>1000,21415=>1000,21416=>1000,21417=>1000,21418=>1000,21419=>1000,21420=>1000,21421=>1000,21422=>1000,21423=>1000,21424=>1000,21425=>1000,21426=>1000,21427=>1000,21428=>1000,21429=>1000,21430=>1000,21431=>1000,21432=>1000,21433=>1000,21434=>1000,21435=>1000,21436=>1000,21437=>1000,21438=>1000,21439=>1000,21440=>1000,21441=>1000,21442=>1000,21443=>1000,21444=>1000,21445=>1000,21446=>1000,21447=>1000,21448=>1000,21449=>1000,21450=>1000,21451=>1000,21452=>1000,21453=>1000,21454=>1000,21455=>1000,21456=>1000,21457=>1000,21458=>1000,21459=>1000,21460=>1000,21461=>1000,21462=>1000,21463=>1000,21464=>1000,21465=>1000,21466=>1000,21467=>1000,21468=>1000,21469=>1000,21470=>1000,21471=>1000,21472=>1000,21473=>1000,21474=>1000,21475=>1000,21476=>1000,21477=>1000,21478=>1000,21479=>1000,21480=>1000,21481=>1000,21482=>1000,21483=>1000,21484=>1000,21485=>1000,21486=>1000,21487=>1000,21488=>1000,21489=>1000,21490=>1000,21491=>1000,21492=>1000,21493=>1000,21494=>1000,21495=>1000,21496=>1000,21497=>1000,21498=>1000,21499=>1000,21500=>1000,21501=>1000,21502=>1000,21503=>1000,21504=>1000,21505=>1000,21506=>1000,21507=>1000,21508=>1000,21509=>1000,21510=>1000,21511=>1000,21512=>1000,21513=>1000,21514=>1000,21515=>1000,21516=>1000,21517=>1000,21518=>1000,21519=>1000,21520=>1000,21521=>1000,21522=>1000,21523=>1000,21524=>1000,21525=>1000,21526=>1000,21527=>1000,21528=>1000,21529=>1000,21530=>1000,21531=>1000,21532=>1000,21533=>1000,21534=>1000,21535=>1000,21536=>1000,21537=>1000,21538=>1000,21539=>1000,21540=>1000,21541=>1000,21542=>1000,21543=>1000,21544=>1000,21545=>1000,21546=>1000,21547=>1000,21548=>1000,21549=>1000,21550=>1000,21551=>1000,21552=>1000,21553=>1000,21554=>1000,21555=>1000,21556=>1000,21557=>1000,21558=>1000,21559=>1000,21560=>1000,21561=>1000,21562=>1000,21563=>1000,21564=>1000,21565=>1000,21566=>1000,21567=>1000,21568=>1000,21569=>1000,21570=>1000,21571=>1000,21572=>1000,21573=>1000,21574=>1000,21575=>1000,21576=>1000,21577=>1000,21578=>1000,21579=>1000,21580=>1000,21581=>1000,21582=>1000,21583=>1000,21584=>1000,21585=>1000,21586=>1000,21587=>1000,21588=>1000,21589=>1000,21590=>1000,21591=>1000,21592=>1000,21593=>1000,21594=>1000,21595=>1000,21596=>1000,21597=>1000,21598=>1000,21599=>1000,21600=>1000,21601=>1000,21602=>1000,21603=>1000,21604=>1000,21605=>1000,21606=>1000,21607=>1000,21608=>1000,21609=>1000,21610=>1000,21611=>1000,21612=>1000,21613=>1000,21614=>1000,21615=>1000,21616=>1000,21617=>1000,21618=>1000,21619=>1000,21620=>1000,21621=>1000,21622=>1000,21623=>1000,21624=>1000,21625=>1000,21626=>1000,21627=>1000,21628=>1000,21629=>1000,21630=>1000,21631=>1000,21632=>1000,21633=>1000,21634=>1000,21635=>1000,21636=>1000,21637=>1000,21638=>1000,21639=>1000,21640=>1000,21641=>1000,21642=>1000,21643=>1000,21644=>1000,21645=>1000,21646=>1000,21647=>1000,21648=>1000,21649=>1000,21650=>1000,21651=>1000,21652=>1000,21653=>1000,21654=>1000,21655=>1000,21656=>1000,21657=>1000,21658=>1000,21659=>1000,21660=>1000,21661=>1000,21662=>1000,21663=>1000,21664=>1000,21665=>1000,21666=>1000,21667=>1000,21668=>1000,21669=>1000,21670=>1000,21671=>1000,21672=>1000,21673=>1000,21674=>1000,21675=>1000,21676=>1000,21677=>1000,21678=>1000,21679=>1000,21680=>1000,21681=>1000,21682=>1000,21683=>1000,21684=>1000,21685=>1000,21686=>1000,21687=>1000,21688=>1000,21689=>1000,21690=>1000,21691=>1000,21692=>1000,21693=>1000,21694=>1000,21695=>1000,21696=>1000,21697=>1000,21698=>1000,21699=>1000,21700=>1000,21701=>1000,21702=>1000,21703=>1000,21704=>1000,21705=>1000,21706=>1000,21707=>1000,21708=>1000,21709=>1000,21710=>1000,21711=>1000,21712=>1000,21713=>1000,21714=>1000,21715=>1000,21716=>1000,21717=>1000,21718=>1000,21719=>1000,21720=>1000,21721=>1000,21722=>1000,21723=>1000,21724=>1000,21725=>1000,21726=>1000,21727=>1000,21728=>1000,21729=>1000,21730=>1000,21731=>1000,21732=>1000,21733=>1000,21734=>1000,21735=>1000,21736=>1000,21737=>1000,21738=>1000,21739=>1000,21740=>1000,21741=>1000,21742=>1000,21743=>1000,21744=>1000,21745=>1000,21746=>1000,21747=>1000,21748=>1000,21749=>1000,21750=>1000,21751=>1000,21752=>1000,21753=>1000,21754=>1000,21755=>1000,21756=>1000,21757=>1000,21758=>1000,21759=>1000,21760=>1000,21761=>1000,21762=>1000,21763=>1000,21764=>1000,21765=>1000,21766=>1000,21767=>1000,21768=>1000,21769=>1000,21770=>1000,21771=>1000,21772=>1000,21773=>1000,21774=>1000,21775=>1000,21776=>1000,21777=>1000,21778=>1000,21779=>1000,21780=>1000,21781=>1000,21782=>1000,21783=>1000,21784=>1000,21785=>1000,21786=>1000,21787=>1000,21788=>1000,21789=>1000,21790=>1000,21791=>1000,21792=>1000,21793=>1000,21794=>1000,21795=>1000,21796=>1000,21797=>1000,21798=>1000,21799=>1000,21800=>1000,21801=>1000,21802=>1000,21803=>1000,21804=>1000,21805=>1000,21806=>1000,21807=>1000,21808=>1000,21809=>1000,21810=>1000,21811=>1000,21812=>1000,21813=>1000,21814=>1000,21815=>1000,21816=>1000,21817=>1000,21818=>1000,21819=>1000,21820=>1000,21821=>1000,21822=>1000,21823=>1000,21824=>1000,21825=>1000,21826=>1000,21827=>1000,21828=>1000,21829=>1000,21830=>1000,21831=>1000,21832=>1000,21833=>1000,21834=>1000,21835=>1000,21836=>1000,21837=>1000,21838=>1000,21839=>1000,21840=>1000,21841=>1000,21842=>1000,21843=>1000,21844=>1000,21845=>1000,21846=>1000,21847=>1000,21848=>1000,21849=>1000,21850=>1000,21851=>1000,21852=>1000,21853=>1000,21854=>1000,21855=>1000,21856=>1000,21857=>1000,21858=>1000,21859=>1000,21860=>1000,21861=>1000,21862=>1000,21863=>1000,21864=>1000,21865=>1000,21866=>1000,21867=>1000,21868=>1000,21869=>1000,21870=>1000,21871=>1000,21872=>1000,21873=>1000,21874=>1000,21875=>1000,21876=>1000,21877=>1000,21878=>1000,21879=>1000,21880=>1000,21881=>1000,21882=>1000,21883=>1000,21884=>1000,21885=>1000,21886=>1000,21887=>1000,21888=>1000,21889=>1000,21890=>1000,21891=>1000,21892=>1000,21893=>1000,21894=>1000,21895=>1000,21896=>1000,21897=>1000,21898=>1000,21899=>1000,21900=>1000,21901=>1000,21902=>1000,21903=>1000,21904=>1000,21905=>1000,21906=>1000,21907=>1000,21908=>1000,21909=>1000,21910=>1000,21911=>1000,21912=>1000,21913=>1000,21914=>1000,21915=>1000,21916=>1000,21917=>1000,21918=>1000,21919=>1000,21920=>1000,21921=>1000,21922=>1000,21923=>1000,21924=>1000,21925=>1000,21926=>1000,21927=>1000,21928=>1000,21929=>1000,21930=>1000,21931=>1000,21932=>1000,21933=>1000,21934=>1000,21935=>1000,21936=>1000,21937=>1000,21938=>1000,21939=>1000,21940=>1000,21941=>1000,21942=>1000,21943=>1000,21944=>1000,21945=>1000,21946=>1000,21947=>1000,21948=>1000,21949=>1000,21950=>1000,21951=>1000,21952=>1000,21953=>1000,21954=>1000,21955=>1000,21956=>1000,21957=>1000,21958=>1000,21959=>1000,21960=>1000,21961=>1000,21962=>1000,21963=>1000,21964=>1000,21965=>1000,21966=>1000,21967=>1000,21968=>1000,21969=>1000,21970=>1000,21971=>1000,21972=>1000,21973=>1000,21974=>1000,21975=>1000,21976=>1000,21977=>1000,21978=>1000,21979=>1000,21980=>1000,21981=>1000,21982=>1000,21983=>1000,21984=>1000,21985=>1000,21986=>1000,21987=>1000,21988=>1000,21989=>1000,21990=>1000,21991=>1000,21992=>1000,21993=>1000,21994=>1000,21995=>1000,21996=>1000,21997=>1000,21998=>1000,21999=>1000,22000=>1000,22001=>1000,22002=>1000,22003=>1000,22004=>1000,22005=>1000,22006=>1000,22007=>1000,22008=>1000,22009=>1000,22010=>1000,22011=>1000,22012=>1000,22013=>1000,22014=>1000,22015=>1000,22016=>1000,22017=>1000,22018=>1000,22019=>1000,22020=>1000,22021=>1000,22022=>1000,22023=>1000,22024=>1000,22025=>1000,22026=>1000,22027=>1000,22028=>1000,22029=>1000,22030=>1000,22031=>1000,22032=>1000,22033=>1000,22034=>1000,22035=>1000,22036=>1000,22037=>1000,22038=>1000,22039=>1000,22040=>1000,22041=>1000,22042=>1000,22043=>1000,22044=>1000,22045=>1000,22046=>1000,22047=>1000,22048=>1000,22049=>1000,22050=>1000,22051=>1000,22052=>1000,22053=>1000,22054=>1000,22055=>1000,22056=>1000,22057=>1000,22058=>1000,22059=>1000,22060=>1000,22061=>1000,22062=>1000,22063=>1000,22064=>1000,22065=>1000,22066=>1000,22067=>1000,22068=>1000,22069=>1000,22070=>1000,22071=>1000,22072=>1000,22073=>1000,22074=>1000,22075=>1000,22076=>1000,22077=>1000,22078=>1000,22079=>1000,22080=>1000,22081=>1000,22082=>1000,22083=>1000,22084=>1000,22085=>1000,22086=>1000,22087=>1000,22088=>1000,22089=>1000,22090=>1000,22091=>1000,22092=>1000,22093=>1000,22094=>1000,22095=>1000,22096=>1000,22097=>1000,22098=>1000,22099=>1000,22100=>1000,22101=>1000,22102=>1000,22103=>1000,22104=>1000,22105=>1000,22106=>1000,22107=>1000,22108=>1000,22109=>1000,22110=>1000,22111=>1000,22112=>1000,22113=>1000,22114=>1000,22115=>1000,22116=>1000,22117=>1000,22118=>1000,22119=>1000,22120=>1000,22121=>1000,22122=>1000,22123=>1000,22124=>1000,22125=>1000,22126=>1000,22127=>1000,22128=>1000,22129=>1000,22130=>1000,22131=>1000,22132=>1000,22133=>1000,22134=>1000,22135=>1000,22136=>1000,22137=>1000,22138=>1000,22139=>1000,22140=>1000,22141=>1000,22142=>1000,22143=>1000,22144=>1000,22145=>1000,22146=>1000,22147=>1000,22148=>1000,22149=>1000,22150=>1000,22151=>1000,22152=>1000,22153=>1000,22154=>1000,22155=>1000,22156=>1000,22157=>1000,22158=>1000,22159=>1000,22160=>1000,22161=>1000,22162=>1000,22163=>1000,22164=>1000,22165=>1000,22166=>1000,22167=>1000,22168=>1000,22169=>1000,22170=>1000,22171=>1000,22172=>1000,22173=>1000,22174=>1000,22175=>1000,22176=>1000,22177=>1000,22178=>1000,22179=>1000,22180=>1000,22181=>1000,22182=>1000,22183=>1000,22184=>1000,22185=>1000,22186=>1000,22187=>1000,22188=>1000,22189=>1000,22190=>1000,22191=>1000,22192=>1000,22193=>1000,22194=>1000,22195=>1000,22196=>1000,22197=>1000,22198=>1000,22199=>1000,22200=>1000,22201=>1000,22202=>1000,22203=>1000,22204=>1000,22205=>1000,22206=>1000,22207=>1000,22208=>1000,22209=>1000,22210=>1000,22211=>1000,22212=>1000,22213=>1000,22214=>1000,22215=>1000,22216=>1000,22217=>1000,22218=>1000,22219=>1000,22220=>1000,22221=>1000,22222=>1000,22223=>1000,22224=>1000,22225=>1000,22226=>1000,22227=>1000,22228=>1000,22229=>1000,22230=>1000,22231=>1000,22232=>1000,22233=>1000,22234=>1000,22235=>1000,22236=>1000,22237=>1000,22238=>1000,22239=>1000,22240=>1000,22241=>1000,22242=>1000,22243=>1000,22244=>1000,22245=>1000,22246=>1000,22247=>1000,22248=>1000,22249=>1000,22250=>1000,22251=>1000,22252=>1000,22253=>1000,22254=>1000,22255=>1000,22256=>1000,22257=>1000,22258=>1000,22259=>1000,22260=>1000,22261=>1000,22262=>1000,22263=>1000,22264=>1000,22265=>1000,22266=>1000,22267=>1000,22268=>1000,22269=>1000,22270=>1000,22271=>1000,22272=>1000,22273=>1000,22274=>1000,22275=>1000,22276=>1000,22277=>1000,22278=>1000,22279=>1000,22280=>1000,22281=>1000,22282=>1000,22283=>1000,22284=>1000,22285=>1000,22286=>1000,22287=>1000,22288=>1000,22289=>1000,22290=>1000,22291=>1000,22292=>1000,22293=>1000,22294=>1000,22295=>1000,22296=>1000,22297=>1000,22298=>1000,22299=>1000,22300=>1000,22301=>1000,22302=>1000,22303=>1000,22304=>1000,22305=>1000,22306=>1000,22307=>1000,22308=>1000,22309=>1000,22310=>1000,22311=>1000,22312=>1000,22313=>1000,22314=>1000,22315=>1000,22316=>1000,22317=>1000,22318=>1000,22319=>1000,22320=>1000,22321=>1000,22322=>1000,22323=>1000,22324=>1000,22325=>1000,22326=>1000,22327=>1000,22328=>1000,22329=>1000,22330=>1000,22331=>1000,22332=>1000,22333=>1000,22334=>1000,22335=>1000,22336=>1000,22337=>1000,22338=>1000,22339=>1000,22340=>1000,22341=>1000,22342=>1000,22343=>1000,22344=>1000,22345=>1000,22346=>1000,22347=>1000,22348=>1000,22349=>1000,22350=>1000,22351=>1000,22352=>1000,22353=>1000,22354=>1000,22355=>1000,22356=>1000,22357=>1000,22358=>1000,22359=>1000,22360=>1000,22361=>1000,22362=>1000,22363=>1000,22364=>1000,22365=>1000,22366=>1000,22367=>1000,22368=>1000,22369=>1000,22370=>1000,22371=>1000,22372=>1000,22373=>1000,22374=>1000,22375=>1000,22376=>1000,22377=>1000,22378=>1000,22379=>1000,22380=>1000,22381=>1000,22382=>1000,22383=>1000,22384=>1000,22385=>1000,22386=>1000,22387=>1000,22388=>1000,22389=>1000,22390=>1000,22391=>1000,22392=>1000,22393=>1000,22394=>1000,22395=>1000,22396=>1000,22397=>1000,22398=>1000,22399=>1000,22400=>1000,22401=>1000,22402=>1000,22403=>1000,22404=>1000,22405=>1000,22406=>1000,22407=>1000,22408=>1000,22409=>1000,22410=>1000,22411=>1000,22412=>1000,22413=>1000,22414=>1000,22415=>1000,22416=>1000,22417=>1000,22418=>1000,22419=>1000,22420=>1000,22421=>1000,22422=>1000,22423=>1000,22424=>1000,22425=>1000,22426=>1000,22427=>1000,22428=>1000,22429=>1000,22430=>1000,22431=>1000,22432=>1000,22433=>1000,22434=>1000,22435=>1000,22436=>1000,22437=>1000,22438=>1000,22439=>1000,22440=>1000,22441=>1000,22442=>1000,22443=>1000,22444=>1000,22445=>1000,22446=>1000,22447=>1000,22448=>1000,22449=>1000,22450=>1000,22451=>1000,22452=>1000,22453=>1000,22454=>1000,22455=>1000,22456=>1000,22457=>1000,22458=>1000,22459=>1000,22460=>1000,22461=>1000,22462=>1000,22463=>1000,22464=>1000,22465=>1000,22466=>1000,22467=>1000,22468=>1000,22469=>1000,22470=>1000,22471=>1000,22472=>1000,22473=>1000,22474=>1000,22475=>1000,22476=>1000,22477=>1000,22478=>1000,22479=>1000,22480=>1000,22481=>1000,22482=>1000,22483=>1000,22484=>1000,22485=>1000,22486=>1000,22487=>1000,22488=>1000,22489=>1000,22490=>1000,22491=>1000,22492=>1000,22493=>1000,22494=>1000,22495=>1000,22496=>1000,22497=>1000,22498=>1000,22499=>1000,22500=>1000,22501=>1000,22502=>1000,22503=>1000,22504=>1000,22505=>1000,22506=>1000,22507=>1000,22508=>1000,22509=>1000,22510=>1000,22511=>1000,22512=>1000,22513=>1000,22514=>1000,22515=>1000,22516=>1000,22517=>1000,22518=>1000,22519=>1000,22520=>1000,22521=>1000,22522=>1000,22523=>1000,22524=>1000,22525=>1000,22526=>1000,22527=>1000,22528=>1000,22529=>1000,22530=>1000,22531=>1000,22532=>1000,22533=>1000,22534=>1000,22535=>1000,22536=>1000,22537=>1000,22538=>1000,22539=>1000,22540=>1000,22541=>1000,22542=>1000,22543=>1000,22544=>1000,22545=>1000,22546=>1000,22547=>1000,22548=>1000,22549=>1000,22550=>1000,22551=>1000,22552=>1000,22553=>1000,22554=>1000,22555=>1000,22556=>1000,22557=>1000,22558=>1000,22559=>1000,22560=>1000,22561=>1000,22562=>1000,22563=>1000,22564=>1000,22565=>1000,22566=>1000,22567=>1000,22568=>1000,22569=>1000,22570=>1000,22571=>1000,22572=>1000,22573=>1000,22574=>1000,22575=>1000,22576=>1000,22577=>1000,22578=>1000,22579=>1000,22580=>1000,22581=>1000,22582=>1000,22583=>1000,22584=>1000,22585=>1000,22586=>1000,22587=>1000,22588=>1000,22589=>1000,22590=>1000,22591=>1000,22592=>1000,22593=>1000,22594=>1000,22595=>1000,22596=>1000,22597=>1000,22598=>1000,22599=>1000,22600=>1000,22601=>1000,22602=>1000,22603=>1000,22604=>1000,22605=>1000,22606=>1000,22607=>1000,22608=>1000,22609=>1000,22610=>1000,22611=>1000,22612=>1000,22613=>1000,22614=>1000,22615=>1000,22616=>1000,22617=>1000,22618=>1000,22619=>1000,22620=>1000,22621=>1000,22622=>1000,22623=>1000,22624=>1000,22625=>1000,22626=>1000,22627=>1000,22628=>1000,22629=>1000,22630=>1000,22631=>1000,22632=>1000,22633=>1000,22634=>1000,22635=>1000,22636=>1000,22637=>1000,22638=>1000,22639=>1000,22640=>1000,22641=>1000,22642=>1000,22643=>1000,22644=>1000,22645=>1000,22646=>1000,22647=>1000,22648=>1000,22649=>1000,22650=>1000,22651=>1000,22652=>1000,22653=>1000,22654=>1000,22655=>1000,22656=>1000,22657=>1000,22658=>1000,22659=>1000,22660=>1000,22661=>1000,22662=>1000,22663=>1000,22664=>1000,22665=>1000,22666=>1000,22667=>1000,22668=>1000,22669=>1000,22670=>1000,22671=>1000,22672=>1000,22673=>1000,22674=>1000,22675=>1000,22676=>1000,22677=>1000,22678=>1000,22679=>1000,22680=>1000,22681=>1000,22682=>1000,22683=>1000,22684=>1000,22685=>1000,22686=>1000,22687=>1000,22688=>1000,22689=>1000,22690=>1000,22691=>1000,22692=>1000,22693=>1000,22694=>1000,22695=>1000,22696=>1000,22697=>1000,22698=>1000,22699=>1000,22700=>1000,22701=>1000,22702=>1000,22703=>1000,22704=>1000,22705=>1000,22706=>1000,22707=>1000,22708=>1000,22709=>1000,22710=>1000,22711=>1000,22712=>1000,22713=>1000,22714=>1000,22715=>1000,22716=>1000,22717=>1000,22718=>1000,22719=>1000,22720=>1000,22721=>1000,22722=>1000,22723=>1000,22724=>1000,22725=>1000,22726=>1000,22727=>1000,22728=>1000,22729=>1000,22730=>1000,22731=>1000,22732=>1000,22733=>1000,22734=>1000,22735=>1000,22736=>1000,22737=>1000,22738=>1000,22739=>1000,22740=>1000,22741=>1000,22742=>1000,22743=>1000,22744=>1000,22745=>1000,22746=>1000,22747=>1000,22748=>1000,22749=>1000,22750=>1000,22751=>1000,22752=>1000,22753=>1000,22754=>1000,22755=>1000,22756=>1000,22757=>1000,22758=>1000,22759=>1000,22760=>1000,22761=>1000,22762=>1000,22763=>1000,22764=>1000,22765=>1000,22766=>1000,22767=>1000,22768=>1000,22769=>1000,22770=>1000,22771=>1000,22772=>1000,22773=>1000,22774=>1000,22775=>1000,22776=>1000,22777=>1000,22778=>1000,22779=>1000,22780=>1000,22781=>1000,22782=>1000,22783=>1000,22784=>1000,22785=>1000,22786=>1000,22787=>1000,22788=>1000,22789=>1000,22790=>1000,22791=>1000,22792=>1000,22793=>1000,22794=>1000,22795=>1000,22796=>1000,22797=>1000,22798=>1000,22799=>1000,22800=>1000,22801=>1000,22802=>1000,22803=>1000,22804=>1000,22805=>1000,22806=>1000,22807=>1000,22808=>1000,22809=>1000,22810=>1000,22811=>1000,22812=>1000,22813=>1000,22814=>1000,22815=>1000,22816=>1000,22817=>1000,22818=>1000,22819=>1000,22820=>1000,22821=>1000,22822=>1000,22823=>1000,22824=>1000,22825=>1000,22826=>1000,22827=>1000,22828=>1000,22829=>1000,22830=>1000,22831=>1000,22832=>1000,22833=>1000,22834=>1000,22835=>1000,22836=>1000,22837=>1000,22838=>1000,22839=>1000,22840=>1000,22841=>1000,22842=>1000,22843=>1000,22844=>1000,22845=>1000,22846=>1000,22847=>1000,22848=>1000,22849=>1000,22850=>1000,22851=>1000,22852=>1000,22853=>1000,22854=>1000,22855=>1000,22856=>1000,22857=>1000,22858=>1000,22859=>1000,22860=>1000,22861=>1000,22862=>1000,22863=>1000,22864=>1000,22865=>1000,22866=>1000,22867=>1000,22868=>1000,22869=>1000,22870=>1000,22871=>1000,22872=>1000,22873=>1000,22874=>1000,22875=>1000,22876=>1000,22877=>1000,22878=>1000,22879=>1000,22880=>1000,22881=>1000,22882=>1000,22883=>1000,22884=>1000,22885=>1000,22886=>1000,22887=>1000,22888=>1000,22889=>1000,22890=>1000,22891=>1000,22892=>1000,22893=>1000,22894=>1000,22895=>1000,22896=>1000,22897=>1000,22898=>1000,22899=>1000,22900=>1000,22901=>1000,22902=>1000,22903=>1000,22904=>1000,22905=>1000,22906=>1000,22907=>1000,22908=>1000,22909=>1000,22910=>1000,22911=>1000,22912=>1000,22913=>1000,22914=>1000,22915=>1000,22916=>1000,22917=>1000,22918=>1000,22919=>1000,22920=>1000,22921=>1000,22922=>1000,22923=>1000,22924=>1000,22925=>1000,22926=>1000,22927=>1000,22928=>1000,22929=>1000,22930=>1000,22931=>1000,22932=>1000,22933=>1000,22934=>1000,22935=>1000,22936=>1000,22937=>1000,22938=>1000,22939=>1000,22940=>1000,22941=>1000,22942=>1000,22943=>1000,22944=>1000,22945=>1000,22946=>1000,22947=>1000,22948=>1000,22949=>1000,22950=>1000,22951=>1000,22952=>1000,22953=>1000,22954=>1000,22955=>1000,22956=>1000,22957=>1000,22958=>1000,22959=>1000,22960=>1000,22961=>1000,22962=>1000,22963=>1000,22964=>1000,22965=>1000,22966=>1000,22967=>1000,22968=>1000,22969=>1000,22970=>1000,22971=>1000,22972=>1000,22973=>1000,22974=>1000,22975=>1000,22976=>1000,22977=>1000,22978=>1000,22979=>1000,22980=>1000,22981=>1000,22982=>1000,22983=>1000,22984=>1000,22985=>1000,22986=>1000,22987=>1000,22988=>1000,22989=>1000,22990=>1000,22991=>1000,22992=>1000,22993=>1000,22994=>1000,22995=>1000,22996=>1000,22997=>1000,22998=>1000,22999=>1000,23000=>1000,23001=>1000,23002=>1000,23003=>1000,23004=>1000,23005=>1000,23006=>1000,23007=>1000,23008=>1000,23009=>1000,23010=>1000,23011=>1000,23012=>1000,23013=>1000,23014=>1000,23015=>1000,23016=>1000,23017=>1000,23018=>1000,23019=>1000,23020=>1000,23021=>1000,23022=>1000,23023=>1000,23024=>1000,23025=>1000,23026=>1000,23027=>1000,23028=>1000,23029=>1000,23030=>1000,23031=>1000,23032=>1000,23033=>1000,23034=>1000,23035=>1000,23036=>1000,23037=>1000,23038=>1000,23039=>1000,23040=>1000,23041=>1000,23042=>1000,23043=>1000,23044=>1000,23045=>1000,23046=>1000,23047=>1000,23048=>1000,23049=>1000,23050=>1000,23051=>1000,23052=>1000,23053=>1000,23054=>1000,23055=>1000,23056=>1000,23057=>1000,23058=>1000,23059=>1000,23060=>1000,23061=>1000,23062=>1000,23063=>1000,23064=>1000,23065=>1000,23066=>1000,23067=>1000,23068=>1000,23069=>1000,23070=>1000,23071=>1000,23072=>1000,23073=>1000,23074=>1000,23075=>1000,23076=>1000,23077=>1000,23078=>1000,23079=>1000,23080=>1000,23081=>1000,23082=>1000,23083=>1000,23084=>1000,23085=>1000,23086=>1000,23087=>1000,23088=>1000,23089=>1000,23090=>1000,23091=>1000,23092=>1000,23093=>1000,23094=>1000,23095=>1000,23096=>1000,23097=>1000,23098=>1000,23099=>1000,23100=>1000,23101=>1000,23102=>1000,23103=>1000,23104=>1000,23105=>1000,23106=>1000,23107=>1000,23108=>1000,23109=>1000,23110=>1000,23111=>1000,23112=>1000,23113=>1000,23114=>1000,23115=>1000,23116=>1000,23117=>1000,23118=>1000,23119=>1000,23120=>1000,23121=>1000,23122=>1000,23123=>1000,23124=>1000,23125=>1000,23126=>1000,23127=>1000,23128=>1000,23129=>1000,23130=>1000,23131=>1000,23132=>1000,23133=>1000,23134=>1000,23135=>1000,23136=>1000,23137=>1000,23138=>1000,23139=>1000,23140=>1000,23141=>1000,23142=>1000,23143=>1000,23144=>1000,23145=>1000,23146=>1000,23147=>1000,23148=>1000,23149=>1000,23150=>1000,23151=>1000,23152=>1000,23153=>1000,23154=>1000,23155=>1000,23156=>1000,23157=>1000,23158=>1000,23159=>1000,23160=>1000,23161=>1000,23162=>1000,23163=>1000,23164=>1000,23165=>1000,23166=>1000,23167=>1000,23168=>1000,23169=>1000,23170=>1000,23171=>1000,23172=>1000,23173=>1000,23174=>1000,23175=>1000,23176=>1000,23177=>1000,23178=>1000,23179=>1000,23180=>1000,23181=>1000,23182=>1000,23183=>1000,23184=>1000,23185=>1000,23186=>1000,23187=>1000,23188=>1000,23189=>1000,23190=>1000,23191=>1000,23192=>1000,23193=>1000,23194=>1000,23195=>1000,23196=>1000,23197=>1000,23198=>1000,23199=>1000,23200=>1000,23201=>1000,23202=>1000,23203=>1000,23204=>1000,23205=>1000,23206=>1000,23207=>1000,23208=>1000,23209=>1000,23210=>1000,23211=>1000,23212=>1000,23213=>1000,23214=>1000,23215=>1000,23216=>1000,23217=>1000,23218=>1000,23219=>1000,23220=>1000,23221=>1000,23222=>1000,23223=>1000,23224=>1000,23225=>1000,23226=>1000,23227=>1000,23228=>1000,23229=>1000,23230=>1000,23231=>1000,23232=>1000,23233=>1000,23234=>1000,23235=>1000,23236=>1000,23237=>1000,23238=>1000,23239=>1000,23240=>1000,23241=>1000,23242=>1000,23243=>1000,23244=>1000,23245=>1000,23246=>1000,23247=>1000,23248=>1000,23249=>1000,23250=>1000,23251=>1000,23252=>1000,23253=>1000,23254=>1000,23255=>1000,23256=>1000,23257=>1000,23258=>1000,23259=>1000,23260=>1000,23261=>1000,23262=>1000,23263=>1000,23264=>1000,23265=>1000,23266=>1000,23267=>1000,23268=>1000,23269=>1000,23270=>1000,23271=>1000,23272=>1000,23273=>1000,23274=>1000,23275=>1000,23276=>1000,23277=>1000,23278=>1000,23279=>1000,23280=>1000,23281=>1000,23282=>1000,23283=>1000,23284=>1000,23285=>1000,23286=>1000,23287=>1000,23288=>1000,23289=>1000,23290=>1000,23291=>1000,23292=>1000,23293=>1000,23294=>1000,23295=>1000,23296=>1000,23297=>1000,23298=>1000,23299=>1000,23300=>1000,23301=>1000,23302=>1000,23303=>1000,23304=>1000,23305=>1000,23306=>1000,23307=>1000,23308=>1000,23309=>1000,23310=>1000,23311=>1000,23312=>1000,23313=>1000,23314=>1000,23315=>1000,23316=>1000,23317=>1000,23318=>1000,23319=>1000,23320=>1000,23321=>1000,23322=>1000,23323=>1000,23324=>1000,23325=>1000,23326=>1000,23327=>1000,23328=>1000,23329=>1000,23330=>1000,23331=>1000,23332=>1000,23333=>1000,23334=>1000,23335=>1000,23336=>1000,23337=>1000,23338=>1000,23339=>1000,23340=>1000,23341=>1000,23342=>1000,23343=>1000,23344=>1000,23345=>1000,23346=>1000,23347=>1000,23348=>1000,23349=>1000,23350=>1000,23351=>1000,23352=>1000,23353=>1000,23354=>1000,23355=>1000,23356=>1000,23357=>1000,23358=>1000,23359=>1000,23360=>1000,23361=>1000,23362=>1000,23363=>1000,23364=>1000,23365=>1000,23366=>1000,23367=>1000,23368=>1000,23369=>1000,23370=>1000,23371=>1000,23372=>1000,23373=>1000,23374=>1000,23375=>1000,23376=>1000,23377=>1000,23378=>1000,23379=>1000,23380=>1000,23381=>1000,23382=>1000,23383=>1000,23384=>1000,23385=>1000,23386=>1000,23387=>1000,23388=>1000,23389=>1000,23390=>1000,23391=>1000,23392=>1000,23393=>1000,23394=>1000,23395=>1000,23396=>1000,23397=>1000,23398=>1000,23399=>1000,23400=>1000,23401=>1000,23402=>1000,23403=>1000,23404=>1000,23405=>1000,23406=>1000,23407=>1000,23408=>1000,23409=>1000,23410=>1000,23411=>1000,23412=>1000,23413=>1000,23414=>1000,23415=>1000,23416=>1000,23417=>1000,23418=>1000,23419=>1000,23420=>1000,23421=>1000,23422=>1000,23423=>1000,23424=>1000,23425=>1000,23426=>1000,23427=>1000,23428=>1000,23429=>1000,23430=>1000,23431=>1000,23432=>1000,23433=>1000,23434=>1000,23435=>1000,23436=>1000,23437=>1000,23438=>1000,23439=>1000,23440=>1000,23441=>1000,23442=>1000,23443=>1000,23444=>1000,23445=>1000,23446=>1000,23447=>1000,23448=>1000,23449=>1000,23450=>1000,23451=>1000,23452=>1000,23453=>1000,23454=>1000,23455=>1000,23456=>1000,23457=>1000,23458=>1000,23459=>1000,23460=>1000,23461=>1000,23462=>1000,23463=>1000,23464=>1000,23465=>1000,23466=>1000,23467=>1000,23468=>1000,23469=>1000,23470=>1000,23471=>1000,23472=>1000,23473=>1000,23474=>1000,23475=>1000,23476=>1000,23477=>1000,23478=>1000,23479=>1000,23480=>1000,23481=>1000,23482=>1000,23483=>1000,23484=>1000,23485=>1000,23486=>1000,23487=>1000,23488=>1000,23489=>1000,23490=>1000,23491=>1000,23492=>1000,23493=>1000,23494=>1000,23495=>1000,23496=>1000,23497=>1000,23498=>1000,23499=>1000,23500=>1000,23501=>1000,23502=>1000,23503=>1000,23504=>1000,23505=>1000,23506=>1000,23507=>1000,23508=>1000,23509=>1000,23510=>1000,23511=>1000,23512=>1000,23513=>1000,23514=>1000,23515=>1000,23516=>1000,23517=>1000,23518=>1000,23519=>1000,23520=>1000,23521=>1000,23522=>1000,23523=>1000,23524=>1000,23525=>1000,23526=>1000,23527=>1000,23528=>1000,23529=>1000,23530=>1000,23531=>1000,23532=>1000,23533=>1000,23534=>1000,23535=>1000,23536=>1000,23537=>1000,23538=>1000,23539=>1000,23540=>1000,23541=>1000,23542=>1000,23543=>1000,23544=>1000,23545=>1000,23546=>1000,23547=>1000,23548=>1000,23549=>1000,23550=>1000,23551=>1000,23552=>1000,23553=>1000,23554=>1000,23555=>1000,23556=>1000,23557=>1000,23558=>1000,23559=>1000,23560=>1000,23561=>1000,23562=>1000,23563=>1000,23564=>1000,23565=>1000,23566=>1000,23567=>1000,23568=>1000,23569=>1000,23570=>1000,23571=>1000,23572=>1000,23573=>1000,23574=>1000,23575=>1000,23576=>1000,23577=>1000,23578=>1000,23579=>1000,23580=>1000,23581=>1000,23582=>1000,23583=>1000,23584=>1000,23585=>1000,23586=>1000,23587=>1000,23588=>1000,23589=>1000,23590=>1000,23591=>1000,23592=>1000,23593=>1000,23594=>1000,23595=>1000,23596=>1000,23597=>1000,23598=>1000,23599=>1000,23600=>1000,23601=>1000,23602=>1000,23603=>1000,23604=>1000,23605=>1000,23606=>1000,23607=>1000,23608=>1000,23609=>1000,23610=>1000,23611=>1000,23612=>1000,23613=>1000,23614=>1000,23615=>1000,23616=>1000,23617=>1000,23618=>1000,23619=>1000,23620=>1000,23621=>1000,23622=>1000,23623=>1000,23624=>1000,23625=>1000,23626=>1000,23627=>1000,23628=>1000,23629=>1000,23630=>1000,23631=>1000,23632=>1000,23633=>1000,23634=>1000,23635=>1000,23636=>1000,23637=>1000,23638=>1000,23639=>1000,23640=>1000,23641=>1000,23642=>1000,23643=>1000,23644=>1000,23645=>1000,23646=>1000,23647=>1000,23648=>1000,23649=>1000,23650=>1000,23651=>1000,23652=>1000,23653=>1000,23654=>1000,23655=>1000,23656=>1000,23657=>1000,23658=>1000,23659=>1000,23660=>1000,23661=>1000,23662=>1000,23663=>1000,23664=>1000,23665=>1000,23666=>1000,23667=>1000,23668=>1000,23669=>1000,23670=>1000,23671=>1000,23672=>1000,23673=>1000,23674=>1000,23675=>1000,23676=>1000,23677=>1000,23678=>1000,23679=>1000,23680=>1000,23681=>1000,23682=>1000,23683=>1000,23684=>1000,23685=>1000,23686=>1000,23687=>1000,23688=>1000,23689=>1000,23690=>1000,23691=>1000,23692=>1000,23693=>1000,23694=>1000,23695=>1000,23696=>1000,23697=>1000,23698=>1000,23699=>1000,23700=>1000,23701=>1000,23702=>1000,23703=>1000,23704=>1000,23705=>1000,23706=>1000,23707=>1000,23708=>1000,23709=>1000,23710=>1000,23711=>1000,23712=>1000,23713=>1000,23714=>1000,23715=>1000,23716=>1000,23717=>1000,23718=>1000,23719=>1000,23720=>1000,23721=>1000,23722=>1000,23723=>1000,23724=>1000,23725=>1000,23726=>1000,23727=>1000,23728=>1000,23729=>1000,23730=>1000,23731=>1000,23732=>1000,23733=>1000,23734=>1000,23735=>1000,23736=>1000,23737=>1000,23738=>1000,23739=>1000,23740=>1000,23741=>1000,23742=>1000,23743=>1000,23744=>1000,23745=>1000,23746=>1000,23747=>1000,23748=>1000,23749=>1000,23750=>1000,23751=>1000,23752=>1000,23753=>1000,23754=>1000,23755=>1000,23756=>1000,23757=>1000,23758=>1000,23759=>1000,23760=>1000,23761=>1000,23762=>1000,23763=>1000,23764=>1000,23765=>1000,23766=>1000,23767=>1000,23768=>1000,23769=>1000,23770=>1000,23771=>1000,23772=>1000,23773=>1000,23774=>1000,23775=>1000,23776=>1000,23777=>1000,23778=>1000,23779=>1000,23780=>1000,23781=>1000,23782=>1000,23783=>1000,23784=>1000,23785=>1000,23786=>1000,23787=>1000,23788=>1000,23789=>1000,23790=>1000,23791=>1000,23792=>1000,23793=>1000,23794=>1000,23795=>1000,23796=>1000,23797=>1000,23798=>1000,23799=>1000,23800=>1000,23801=>1000,23802=>1000,23803=>1000,23804=>1000,23805=>1000,23806=>1000,23807=>1000,23808=>1000,23809=>1000,23810=>1000,23811=>1000,23812=>1000,23813=>1000,23814=>1000,23815=>1000,23816=>1000,23817=>1000,23818=>1000,23819=>1000,23820=>1000,23821=>1000,23822=>1000,23823=>1000,23824=>1000,23825=>1000,23826=>1000,23827=>1000,23828=>1000,23829=>1000,23830=>1000,23831=>1000,23832=>1000,23833=>1000,23834=>1000,23835=>1000,23836=>1000,23837=>1000,23838=>1000,23839=>1000,23840=>1000,23841=>1000,23842=>1000,23843=>1000,23844=>1000,23845=>1000,23846=>1000,23847=>1000,23848=>1000,23849=>1000,23850=>1000,23851=>1000,23852=>1000,23853=>1000,23854=>1000,23855=>1000,23856=>1000,23857=>1000,23858=>1000,23859=>1000,23860=>1000,23861=>1000,23862=>1000,23863=>1000,23864=>1000,23865=>1000,23866=>1000,23867=>1000,23868=>1000,23869=>1000,23870=>1000,23871=>1000,23872=>1000,23873=>1000,23874=>1000,23875=>1000,23876=>1000,23877=>1000,23878=>1000,23879=>1000,23880=>1000,23881=>1000,23882=>1000,23883=>1000,23884=>1000,23885=>1000,23886=>1000,23887=>1000,23888=>1000,23889=>1000,23890=>1000,23891=>1000,23892=>1000,23893=>1000,23894=>1000,23895=>1000,23896=>1000,23897=>1000,23898=>1000,23899=>1000,23900=>1000,23901=>1000,23902=>1000,23903=>1000,23904=>1000,23905=>1000,23906=>1000,23907=>1000,23908=>1000,23909=>1000,23910=>1000,23911=>1000,23912=>1000,23913=>1000,23914=>1000,23915=>1000,23916=>1000,23917=>1000,23918=>1000,23919=>1000,23920=>1000,23921=>1000,23922=>1000,23923=>1000,23924=>1000,23925=>1000,23926=>1000,23927=>1000,23928=>1000,23929=>1000,23930=>1000,23931=>1000,23932=>1000,23933=>1000,23934=>1000,23935=>1000,23936=>1000,23937=>1000,23938=>1000,23939=>1000,23940=>1000,23941=>1000,23942=>1000,23943=>1000,23944=>1000,23945=>1000,23946=>1000,23947=>1000,23948=>1000,23949=>1000,23950=>1000,23951=>1000,23952=>1000,23953=>1000,23954=>1000,23955=>1000,23956=>1000,23957=>1000,23958=>1000,23959=>1000,23960=>1000,23961=>1000,23962=>1000,23963=>1000,23964=>1000,23965=>1000,23966=>1000,23967=>1000,23968=>1000,23969=>1000,23970=>1000,23971=>1000,23972=>1000,23973=>1000,23974=>1000,23975=>1000,23976=>1000,23977=>1000,23978=>1000,23979=>1000,23980=>1000,23981=>1000,23982=>1000,23983=>1000,23984=>1000,23985=>1000,23986=>1000,23987=>1000,23988=>1000,23989=>1000,23990=>1000,23991=>1000,23992=>1000,23993=>1000,23994=>1000,23995=>1000,23996=>1000,23997=>1000,23998=>1000,23999=>1000,24000=>1000,24001=>1000,24002=>1000,24003=>1000,24004=>1000,24005=>1000,24006=>1000,24007=>1000,24008=>1000,24009=>1000,24010=>1000,24011=>1000,24012=>1000,24013=>1000,24014=>1000,24015=>1000,24016=>1000,24017=>1000,24018=>1000,24019=>1000,24020=>1000,24021=>1000,24022=>1000,24023=>1000,24024=>1000,24025=>1000,24026=>1000,24027=>1000,24028=>1000,24029=>1000,24030=>1000,24031=>1000,24032=>1000,24033=>1000,24034=>1000,24035=>1000,24036=>1000,24037=>1000,24038=>1000,24039=>1000,24040=>1000,24041=>1000,24042=>1000,24043=>1000,24044=>1000,24045=>1000,24046=>1000,24047=>1000,24048=>1000,24049=>1000,24050=>1000,24051=>1000,24052=>1000,24053=>1000,24054=>1000,24055=>1000,24056=>1000,24057=>1000,24058=>1000,24059=>1000,24060=>1000,24061=>1000,24062=>1000,24063=>1000,24064=>1000,24065=>1000,24066=>1000,24067=>1000,24068=>1000,24069=>1000,24070=>1000,24071=>1000,24072=>1000,24073=>1000,24074=>1000,24075=>1000,24076=>1000,24077=>1000,24078=>1000,24079=>1000,24080=>1000,24081=>1000,24082=>1000,24083=>1000,24084=>1000,24085=>1000,24086=>1000,24087=>1000,24088=>1000,24089=>1000,24090=>1000,24091=>1000,24092=>1000,24093=>1000,24094=>1000,24095=>1000,24096=>1000,24097=>1000,24098=>1000,24099=>1000,24100=>1000,24101=>1000,24102=>1000,24103=>1000,24104=>1000,24105=>1000,24106=>1000,24107=>1000,24108=>1000,24109=>1000,24110=>1000,24111=>1000,24112=>1000,24113=>1000,24114=>1000,24115=>1000,24116=>1000,24117=>1000,24118=>1000,24119=>1000,24120=>1000,24121=>1000,24122=>1000,24123=>1000,24124=>1000,24125=>1000,24126=>1000,24127=>1000,24128=>1000,24129=>1000,24130=>1000,24131=>1000,24132=>1000,24133=>1000,24134=>1000,24135=>1000,24136=>1000,24137=>1000,24138=>1000,24139=>1000,24140=>1000,24141=>1000,24142=>1000,24143=>1000,24144=>1000,24145=>1000,24146=>1000,24147=>1000,24148=>1000,24149=>1000,24150=>1000,24151=>1000,24152=>1000,24153=>1000,24154=>1000,24155=>1000,24156=>1000,24157=>1000,24158=>1000,24159=>1000,24160=>1000,24161=>1000,24162=>1000,24163=>1000,24164=>1000,24165=>1000,24166=>1000,24167=>1000,24168=>1000,24169=>1000,24170=>1000,24171=>1000,24172=>1000,24173=>1000,24174=>1000,24175=>1000,24176=>1000,24177=>1000,24178=>1000,24179=>1000,24180=>1000,24181=>1000,24182=>1000,24183=>1000,24184=>1000,24185=>1000,24186=>1000,24187=>1000,24188=>1000,24189=>1000,24190=>1000,24191=>1000,24192=>1000,24193=>1000,24194=>1000,24195=>1000,24196=>1000,24197=>1000,24198=>1000,24199=>1000,24200=>1000,24201=>1000,24202=>1000,24203=>1000,24204=>1000,24205=>1000,24206=>1000,24207=>1000,24208=>1000,24209=>1000,24210=>1000,24211=>1000,24212=>1000,24213=>1000,24214=>1000,24215=>1000,24216=>1000,24217=>1000,24218=>1000,24219=>1000,24220=>1000,24221=>1000,24222=>1000,24223=>1000,24224=>1000,24225=>1000,24226=>1000,24227=>1000,24228=>1000,24229=>1000,24230=>1000,24231=>1000,24232=>1000,24233=>1000,24234=>1000,24235=>1000,24236=>1000,24237=>1000,24238=>1000,24239=>1000,24240=>1000,24241=>1000,24242=>1000,24243=>1000,24244=>1000,24245=>1000,24246=>1000,24247=>1000,24248=>1000,24249=>1000,24250=>1000,24251=>1000,24252=>1000,24253=>1000,24254=>1000,24255=>1000,24256=>1000,24257=>1000,24258=>1000,24259=>1000,24260=>1000,24261=>1000,24262=>1000,24263=>1000,24264=>1000,24265=>1000,24266=>1000,24267=>1000,24268=>1000,24269=>1000,24270=>1000,24271=>1000,24272=>1000,24273=>1000,24274=>1000,24275=>1000,24276=>1000,24277=>1000,24278=>1000,24279=>1000,24280=>1000,24281=>1000,24282=>1000,24283=>1000,24284=>1000,24285=>1000,24286=>1000,24287=>1000,24288=>1000,24289=>1000,24290=>1000,24291=>1000,24292=>1000,24293=>1000,24294=>1000,24295=>1000,24296=>1000,24297=>1000,24298=>1000,24299=>1000,24300=>1000,24301=>1000,24302=>1000,24303=>1000,24304=>1000,24305=>1000,24306=>1000,24307=>1000,24308=>1000,24309=>1000,24310=>1000,24311=>1000,24312=>1000,24313=>1000,24314=>1000,24315=>1000,24316=>1000,24317=>1000,24318=>1000,24319=>1000,24320=>1000,24321=>1000,24322=>1000,24323=>1000,24324=>1000,24325=>1000,24326=>1000,24327=>1000,24328=>1000,24329=>1000,24330=>1000,24331=>1000,24332=>1000,24333=>1000,24334=>1000,24335=>1000,24336=>1000,24337=>1000,24338=>1000,24339=>1000,24340=>1000,24341=>1000,24342=>1000,24343=>1000,24344=>1000,24345=>1000,24346=>1000,24347=>1000,24348=>1000,24349=>1000,24350=>1000,24351=>1000,24352=>1000,24353=>1000,24354=>1000,24355=>1000,24356=>1000,24357=>1000,24358=>1000,24359=>1000,24360=>1000,24361=>1000,24362=>1000,24363=>1000,24364=>1000,24365=>1000,24366=>1000,24367=>1000,24368=>1000,24369=>1000,24370=>1000,24371=>1000,24372=>1000,24373=>1000,24374=>1000,24375=>1000,24376=>1000,24377=>1000,24378=>1000,24379=>1000,24380=>1000,24381=>1000,24382=>1000,24383=>1000,24384=>1000,24385=>1000,24386=>1000,24387=>1000,24388=>1000,24389=>1000,24390=>1000,24391=>1000,24392=>1000,24393=>1000,24394=>1000,24395=>1000,24396=>1000,24397=>1000,24398=>1000,24399=>1000,24400=>1000,24401=>1000,24402=>1000,24403=>1000,24404=>1000,24405=>1000,24406=>1000,24407=>1000,24408=>1000,24409=>1000,24410=>1000,24411=>1000,24412=>1000,24413=>1000,24414=>1000,24415=>1000,24416=>1000,24417=>1000,24418=>1000,24419=>1000,24420=>1000,24421=>1000,24422=>1000,24423=>1000,24424=>1000,24425=>1000,24426=>1000,24427=>1000,24428=>1000,24429=>1000,24430=>1000,24431=>1000,24432=>1000,24433=>1000,24434=>1000,24435=>1000,24436=>1000,24437=>1000,24438=>1000,24439=>1000,24440=>1000,24441=>1000,24442=>1000,24443=>1000,24444=>1000,24445=>1000,24446=>1000,24447=>1000,24448=>1000,24449=>1000,24450=>1000,24451=>1000,24452=>1000,24453=>1000,24454=>1000,24455=>1000,24456=>1000,24457=>1000,24458=>1000,24459=>1000,24460=>1000,24461=>1000,24462=>1000,24463=>1000,24464=>1000,24465=>1000,24466=>1000,24467=>1000,24468=>1000,24469=>1000,24470=>1000,24471=>1000,24472=>1000,24473=>1000,24474=>1000,24475=>1000,24476=>1000,24477=>1000,24478=>1000,24479=>1000,24480=>1000,24481=>1000,24482=>1000,24483=>1000,24484=>1000,24485=>1000,24486=>1000,24487=>1000,24488=>1000,24489=>1000,24490=>1000,24491=>1000,24492=>1000,24493=>1000,24494=>1000,24495=>1000,24496=>1000,24497=>1000,24498=>1000,24499=>1000,24500=>1000,24501=>1000,24502=>1000,24503=>1000,24504=>1000,24505=>1000,24506=>1000,24507=>1000,24508=>1000,24509=>1000,24510=>1000,24511=>1000,24512=>1000,24513=>1000,24514=>1000,24515=>1000,24516=>1000,24517=>1000,24518=>1000,24519=>1000,24520=>1000,24521=>1000,24522=>1000,24523=>1000,24524=>1000,24525=>1000,24526=>1000,24527=>1000,24528=>1000,24529=>1000,24530=>1000,24531=>1000,24532=>1000,24533=>1000,24534=>1000,24535=>1000,24536=>1000,24537=>1000,24538=>1000,24539=>1000,24540=>1000,24541=>1000,24542=>1000,24543=>1000,24544=>1000,24545=>1000,24546=>1000,24547=>1000,24548=>1000,24549=>1000,24550=>1000,24551=>1000,24552=>1000,24553=>1000,24554=>1000,24555=>1000,24556=>1000,24557=>1000,24558=>1000,24559=>1000,24560=>1000,24561=>1000,24562=>1000,24563=>1000,24564=>1000,24565=>1000,24566=>1000,24567=>1000,24568=>1000,24569=>1000,24570=>1000,24571=>1000,24572=>1000,24573=>1000,24574=>1000,24575=>1000,24576=>1000,24577=>1000,24578=>1000,24579=>1000,24580=>1000,24581=>1000,24582=>1000,24583=>1000,24584=>1000,24585=>1000,24586=>1000,24587=>1000,24588=>1000,24589=>1000,24590=>1000,24591=>1000,24592=>1000,24593=>1000,24594=>1000,24595=>1000,24596=>1000,24597=>1000,24598=>1000,24599=>1000,24600=>1000,24601=>1000,24602=>1000,24603=>1000,24604=>1000,24605=>1000,24606=>1000,24607=>1000,24608=>1000,24609=>1000,24610=>1000,24611=>1000,24612=>1000,24613=>1000,24614=>1000,24615=>1000,24616=>1000,24617=>1000,24618=>1000,24619=>1000,24620=>1000,24621=>1000,24622=>1000,24623=>1000,24624=>1000,24625=>1000,24626=>1000,24627=>1000,24628=>1000,24629=>1000,24630=>1000,24631=>1000,24632=>1000,24633=>1000,24634=>1000,24635=>1000,24636=>1000,24637=>1000,24638=>1000,24639=>1000,24640=>1000,24641=>1000,24642=>1000,24643=>1000,24644=>1000,24645=>1000,24646=>1000,24647=>1000,24648=>1000,24649=>1000,24650=>1000,24651=>1000,24652=>1000,24653=>1000,24654=>1000,24655=>1000,24656=>1000,24657=>1000,24658=>1000,24659=>1000,24660=>1000,24661=>1000,24662=>1000,24663=>1000,24664=>1000,24665=>1000,24666=>1000,24667=>1000,24668=>1000,24669=>1000,24670=>1000,24671=>1000,24672=>1000,24673=>1000,24674=>1000,24675=>1000,24676=>1000,24677=>1000,24678=>1000,24679=>1000,24680=>1000,24681=>1000,24682=>1000,24683=>1000,24684=>1000,24685=>1000,24686=>1000,24687=>1000,24688=>1000,24689=>1000,24690=>1000,24691=>1000,24692=>1000,24693=>1000,24694=>1000,24695=>1000,24696=>1000,24697=>1000,24698=>1000,24699=>1000,24700=>1000,24701=>1000,24702=>1000,24703=>1000,24704=>1000,24705=>1000,24706=>1000,24707=>1000,24708=>1000,24709=>1000,24710=>1000,24711=>1000,24712=>1000,24713=>1000,24714=>1000,24715=>1000,24716=>1000,24717=>1000,24718=>1000,24719=>1000,24720=>1000,24721=>1000,24722=>1000,24723=>1000,24724=>1000,24725=>1000,24726=>1000,24727=>1000,24728=>1000,24729=>1000,24730=>1000,24731=>1000,24732=>1000,24733=>1000,24734=>1000,24735=>1000,24736=>1000,24737=>1000,24738=>1000,24739=>1000,24740=>1000,24741=>1000,24742=>1000,24743=>1000,24744=>1000,24745=>1000,24746=>1000,24747=>1000,24748=>1000,24749=>1000,24750=>1000,24751=>1000,24752=>1000,24753=>1000,24754=>1000,24755=>1000,24756=>1000,24757=>1000,24758=>1000,24759=>1000,24760=>1000,24761=>1000,24762=>1000,24763=>1000,24764=>1000,24765=>1000,24766=>1000,24767=>1000,24768=>1000,24769=>1000,24770=>1000,24771=>1000,24772=>1000,24773=>1000,24774=>1000,24775=>1000,24776=>1000,24777=>1000,24778=>1000,24779=>1000,24780=>1000,24781=>1000,24782=>1000,24783=>1000,24784=>1000,24785=>1000,24786=>1000,24787=>1000,24788=>1000,24789=>1000,24790=>1000,24791=>1000,24792=>1000,24793=>1000,24794=>1000,24795=>1000,24796=>1000,24797=>1000,24798=>1000,24799=>1000,24800=>1000,24801=>1000,24802=>1000,24803=>1000,24804=>1000,24805=>1000,24806=>1000,24807=>1000,24808=>1000,24809=>1000,24810=>1000,24811=>1000,24812=>1000,24813=>1000,24814=>1000,24815=>1000,24816=>1000,24817=>1000,24818=>1000,24819=>1000,24820=>1000,24821=>1000,24822=>1000,24823=>1000,24824=>1000,24825=>1000,24826=>1000,24827=>1000,24828=>1000,24829=>1000,24830=>1000,24831=>1000,24832=>1000,24833=>1000,24834=>1000,24835=>1000,24836=>1000,24837=>1000,24838=>1000,24839=>1000,24840=>1000,24841=>1000,24842=>1000,24843=>1000,24844=>1000,24845=>1000,24846=>1000,24847=>1000,24848=>1000,24849=>1000,24850=>1000,24851=>1000,24852=>1000,24853=>1000,24854=>1000,24855=>1000,24856=>1000,24857=>1000,24858=>1000,24859=>1000,24860=>1000,24861=>1000,24862=>1000,24863=>1000,24864=>1000,24865=>1000,24866=>1000,24867=>1000,24868=>1000,24869=>1000,24870=>1000,24871=>1000,24872=>1000,24873=>1000,24874=>1000,24875=>1000,24876=>1000,24877=>1000,24878=>1000,24879=>1000,24880=>1000,24881=>1000,24882=>1000,24883=>1000,24884=>1000,24885=>1000,24886=>1000,24887=>1000,24888=>1000,24889=>1000,24890=>1000,24891=>1000,24892=>1000,24893=>1000,24894=>1000,24895=>1000,24896=>1000,24897=>1000,24898=>1000,24899=>1000,24900=>1000,24901=>1000,24902=>1000,24903=>1000,24904=>1000,24905=>1000,24906=>1000,24907=>1000,24908=>1000,24909=>1000,24910=>1000,24911=>1000,24912=>1000,24913=>1000,24914=>1000,24915=>1000,24916=>1000,24917=>1000,24918=>1000,24919=>1000,24920=>1000,24921=>1000,24922=>1000,24923=>1000,24924=>1000,24925=>1000,24926=>1000,24927=>1000,24928=>1000,24929=>1000,24930=>1000,24931=>1000,24932=>1000,24933=>1000,24934=>1000,24935=>1000,24936=>1000,24937=>1000,24938=>1000,24939=>1000,24940=>1000,24941=>1000,24942=>1000,24943=>1000,24944=>1000,24945=>1000,24946=>1000,24947=>1000,24948=>1000,24949=>1000,24950=>1000,24951=>1000,24952=>1000,24953=>1000,24954=>1000,24955=>1000,24956=>1000,24957=>1000,24958=>1000,24959=>1000,24960=>1000,24961=>1001,24962=>1000,24963=>1000,24964=>1000,24965=>1000,24966=>1000,24967=>1000,24968=>1000,24969=>1000,24970=>1000,24971=>1000,24972=>1000,24973=>1000,24974=>1000,24975=>1000,24976=>1000,24977=>1000,24978=>1000,24979=>1000,24980=>1000,24981=>1000,24982=>1000,24983=>1000,24984=>1000,24985=>1000,24986=>1000,24987=>1000,24988=>1000,24989=>1000,24990=>1000,24991=>1000,24992=>1000,24993=>1000,24994=>1000,24995=>1000,24996=>1000,24997=>1000,24998=>1000,24999=>1000,25000=>1000,25001=>1000,25002=>1000,25003=>1000,25004=>1000,25005=>1000,25006=>1000,25007=>1000,25008=>1000,25009=>1000,25010=>1000,25011=>1000,25012=>1000,25013=>1000,25014=>1000,25015=>1000,25016=>1000,25017=>1000,25018=>1000,25019=>1000,25020=>1000,25021=>1000,25022=>1000,25023=>1000,25024=>1000,25025=>1000,25026=>1000,25027=>1000,25028=>1000,25029=>1000,25030=>1000,25031=>1000,25032=>1000,25033=>1000,25034=>1000,25035=>1000,25036=>1000,25037=>1000,25038=>1000,25039=>1000,25040=>1000,25041=>1000,25042=>1000,25043=>1000,25044=>1000,25045=>1000,25046=>1000,25047=>1000,25048=>1000,25049=>1000,25050=>1000,25051=>1000,25052=>1000,25053=>1000,25054=>1000,25055=>1000,25056=>1000,25057=>1000,25058=>1000,25059=>1000,25060=>1000,25061=>1000,25062=>1000,25063=>1000,25064=>1000,25065=>1000,25066=>1000,25067=>1000,25068=>1000,25069=>1000,25070=>1000,25071=>1000,25072=>1000,25073=>1000,25074=>1000,25075=>1000,25076=>1000,25077=>1000,25078=>1000,25079=>1000,25080=>1000,25081=>1000,25082=>1000,25083=>1000,25084=>1000,25085=>1000,25086=>1000,25087=>1000,25088=>1000,25089=>1000,25090=>1000,25091=>1000,25092=>1000,25093=>1000,25094=>1000,25095=>1000,25096=>1000,25097=>1000,25098=>1000,25099=>1000,25100=>1000,25101=>1000,25102=>1000,25103=>1000,25104=>1000,25105=>1000,25106=>1000,25107=>1000,25108=>1000,25109=>1000,25110=>1000,25111=>1000,25112=>1000,25113=>1000,25114=>1000,25115=>1000,25116=>1000,25117=>1000,25118=>1000,25119=>1000,25120=>1000,25121=>1000,25122=>1000,25123=>1000,25124=>1000,25125=>1000,25126=>1000,25127=>1000,25128=>1000,25129=>1000,25130=>1000,25131=>1000,25132=>1000,25133=>1000,25134=>1000,25135=>1000,25136=>1000,25137=>1000,25138=>1000,25139=>1000,25140=>1000,25141=>1000,25142=>1000,25143=>1000,25144=>1000,25145=>1000,25146=>1000,25147=>1000,25148=>1000,25149=>1000,25150=>1000,25151=>1000,25152=>1000,25153=>1000,25154=>1000,25155=>1000,25156=>1000,25157=>1000,25158=>1000,25159=>1000,25160=>1000,25161=>1000,25162=>1000,25163=>1000,25164=>1000,25165=>1000,25166=>1000,25167=>1000,25168=>1000,25169=>1000,25170=>1000,25171=>1000,25172=>1000,25173=>1000,25174=>1000,25175=>1000,25176=>1000,25177=>1000,25178=>1000,25179=>1000,25180=>1000,25181=>1000,25182=>1000,25183=>1000,25184=>1000,25185=>1000,25186=>1000,25187=>1000,25188=>1000,25189=>1000,25190=>1000,25191=>1000,25192=>1000,25193=>1000,25194=>1000,25195=>1000,25196=>1000,25197=>1000,25198=>1000,25199=>1000,25200=>1000,25201=>1000,25202=>1000,25203=>1000,25204=>1000,25205=>1000,25206=>1000,25207=>1000,25208=>1000,25209=>1000,25210=>1000,25211=>1000,25212=>1000,25213=>1000,25214=>1000,25215=>1000,25216=>1000,25217=>1000,25218=>1000,25219=>1000,25220=>1000,25221=>1000,25222=>1000,25223=>1000,25224=>1000,25225=>1000,25226=>1000,25227=>1000,25228=>1000,25229=>1000,25230=>1000,25231=>1000,25232=>1000,25233=>1000,25234=>1000,25235=>1000,25236=>1000,25237=>1000,25238=>1000,25239=>1000,25240=>1000,25241=>1000,25242=>1000,25243=>1000,25244=>1000,25245=>1000,25246=>1000,25247=>1000,25248=>1000,25249=>1000,25250=>1000,25251=>1000,25252=>1000,25253=>1000,25254=>1000,25255=>1000,25256=>1000,25257=>1000,25258=>1000,25259=>1000,25260=>1000,25261=>1000,25262=>1000,25263=>1000,25264=>1000,25265=>1000,25266=>1000,25267=>1000,25268=>1000,25269=>1000,25270=>1000,25271=>1000,25272=>1000,25273=>1000,25274=>1000,25275=>1000,25276=>1000,25277=>1000,25278=>1000,25279=>1000,25280=>1000,25281=>1000,25282=>1000,25283=>1000,25284=>1000,25285=>1000,25286=>1000,25287=>1000,25288=>1000,25289=>1000,25290=>1000,25291=>1000,25292=>1000,25293=>1000,25294=>1000,25295=>1000,25296=>1000,25297=>1000,25298=>1000,25299=>1000,25300=>1000,25301=>1000,25302=>1000,25303=>1000,25304=>1000,25305=>1000,25306=>1000,25307=>1000,25308=>1000,25309=>1000,25310=>1000,25311=>1000,25312=>1000,25313=>1000,25314=>1000,25315=>1000,25316=>1000,25317=>1000,25318=>1000,25319=>1000,25320=>1000,25321=>1000,25322=>1000,25323=>1000,25324=>1000,25325=>1000,25326=>1000,25327=>1000,25328=>1000,25329=>1000,25330=>1000,25331=>1000,25332=>1000,25333=>1000,25334=>1000,25335=>1000,25336=>1000,25337=>1000,25338=>1000,25339=>1000,25340=>1000,25341=>1000,25342=>1000,25343=>1000,25344=>1000,25345=>1000,25346=>1000,25347=>1000,25348=>1000,25349=>1000,25350=>1000,25351=>1000,25352=>1000,25353=>1000,25354=>1000,25355=>1000,25356=>1000,25357=>1000,25358=>1000,25359=>1000,25360=>1000,25361=>1000,25362=>1000,25363=>1000,25364=>1000,25365=>1000,25366=>1000,25367=>1000,25368=>1000,25369=>1000,25370=>1000,25371=>1000,25372=>1000,25373=>1000,25374=>1000,25375=>1000,25376=>1000,25377=>1000,25378=>1000,25379=>1000,25380=>1000,25381=>1000,25382=>1000,25383=>1000,25384=>1000,25385=>1000,25386=>1000,25387=>1000,25388=>1000,25389=>1000,25390=>1000,25391=>1000,25392=>1000,25393=>1000,25394=>1000,25395=>1000,25396=>1000,25397=>1000,25398=>1000,25399=>1000,25400=>1000,25401=>1000,25402=>1000,25403=>1000,25404=>1000,25405=>1000,25406=>1000,25407=>1000,25408=>1000,25409=>1000,25410=>1000,25411=>1000,25412=>1000,25413=>1000,25414=>1000,25415=>1000,25416=>1000,25417=>1000,25418=>1000,25419=>1000,25420=>1000,25421=>1000,25422=>1000,25423=>1000,25424=>1000,25425=>1000,25426=>1000,25427=>1000,25428=>1000,25429=>1000,25430=>1000,25431=>1000,25432=>1000,25433=>1000,25434=>1000,25435=>1000,25436=>1000,25437=>1000,25438=>1000,25439=>1000,25440=>1000,25441=>1000,25442=>1000,25443=>1000,25444=>1000,25445=>1000,25446=>1000,25447=>1000,25448=>1000,25449=>1000,25450=>1000,25451=>1000,25452=>1000,25453=>1000,25454=>1000,25455=>1000,25456=>1000,25457=>1000,25458=>1000,25459=>1000,25460=>1000,25461=>1000,25462=>1000,25463=>1000,25464=>1000,25465=>1000,25466=>1000,25467=>1000,25468=>1000,25469=>1000,25470=>1000,25471=>1000,25472=>1000,25473=>1000,25474=>1000,25475=>1000,25476=>1000,25477=>1000,25478=>1000,25479=>1000,25480=>1000,25481=>1000,25482=>1000,25483=>1000,25484=>1000,25485=>1000,25486=>1000,25487=>1000,25488=>1000,25489=>1000,25490=>1000,25491=>1000,25492=>1000,25493=>1000,25494=>1000,25495=>1000,25496=>1000,25497=>1000,25498=>1000,25499=>1000,25500=>1000,25501=>1000,25502=>1000,25503=>1000,25504=>1000,25505=>1000,25506=>1000,25507=>1000,25508=>1000,25509=>1000,25510=>1000,25511=>1000,25512=>1000,25513=>1000,25514=>1000,25515=>1000,25516=>1000,25517=>1000,25518=>1000,25519=>1000,25520=>1000,25521=>1000,25522=>1000,25523=>1000,25524=>1000,25525=>1000,25526=>1000,25527=>1000,25528=>1000,25529=>1000,25530=>1000,25531=>1000,25532=>1000,25533=>1000,25534=>1000,25535=>1000,25536=>1000,25537=>1000,25538=>1000,25539=>1000,25540=>1000,25541=>1000,25542=>1000,25543=>1000,25544=>1000,25545=>1000,25546=>1000,25547=>1000,25548=>1000,25549=>1000,25550=>1000,25551=>1000,25552=>1000,25553=>1000,25554=>1000,25555=>1000,25556=>1000,25557=>1000,25558=>1000,25559=>1000,25560=>1000,25561=>1000,25562=>1000,25563=>1000,25564=>1000,25565=>1000,25566=>1000,25567=>1000,25568=>1000,25569=>1000,25570=>1000,25571=>1000,25572=>1000,25573=>1000,25574=>1000,25575=>1000,25576=>1000,25577=>1000,25578=>1000,25579=>1000,25580=>1000,25581=>1000,25582=>1000,25583=>1000,25584=>1000,25585=>1000,25586=>1000,25587=>1000,25588=>1000,25589=>1000,25590=>1000,25591=>1000,25592=>1000,25593=>1000,25594=>1000,25595=>1000,25596=>1000,25597=>1000,25598=>1000,25599=>1000,25600=>1000,25601=>1000,25602=>1000,25603=>1000,25604=>1000,25605=>1000,25606=>1000,25607=>1000,25608=>1000,25609=>1000,25610=>1000,25611=>1000,25612=>1000,25613=>1000,25614=>1000,25615=>1000,25616=>1000,25617=>1000,25618=>1000,25619=>1000,25620=>1000,25621=>1000,25622=>1000,25623=>1000,25624=>1000,25625=>1000,25626=>1000,25627=>1000,25628=>1000,25629=>1000,25630=>1000,25631=>1000,25632=>1000,25633=>1000,25634=>1000,25635=>1000,25636=>1000,25637=>1000,25638=>1000,25639=>1000,25640=>1000,25641=>1000,25642=>1000,25643=>1000,25644=>1000,25645=>1000,25646=>1000,25647=>1000,25648=>1000,25649=>1000,25650=>1000,25651=>1000,25652=>1000,25653=>1000,25654=>1000,25655=>1000,25656=>1000,25657=>1000,25658=>1000,25659=>1000,25660=>1000,25661=>1000,25662=>1000,25663=>1000,25664=>1000,25665=>1000,25666=>1000,25667=>1000,25668=>1000,25669=>1000,25670=>1000,25671=>1000,25672=>1000,25673=>1000,25674=>1000,25675=>1000,25676=>1000,25677=>1000,25678=>1000,25679=>1000,25680=>1000,25681=>1000,25682=>1000,25683=>1000,25684=>1000,25685=>1000,25686=>1000,25687=>1000,25688=>1000,25689=>1000,25690=>1000,25691=>1000,25692=>1000,25693=>1000,25694=>1000,25695=>1000,25696=>1000,25697=>1000,25698=>1000,25699=>1000,25700=>1000,25701=>1000,25702=>1000,25703=>1000,25704=>1000,25705=>1000,25706=>1000,25707=>1000,25708=>1000,25709=>1000,25710=>1000,25711=>1000,25712=>1000,25713=>1000,25714=>1000,25715=>1000,25716=>1000,25717=>1000,25718=>1000,25719=>1000,25720=>1000,25721=>1000,25722=>1000,25723=>1000,25724=>1000,25725=>1000,25726=>1000,25727=>1000,25728=>1000,25729=>1000,25730=>1000,25731=>1000,25732=>1000,25733=>1000,25734=>1000,25735=>1000,25736=>1000,25737=>1000,25738=>1000,25739=>1000,25740=>1000,25741=>1000,25742=>1000,25743=>1000,25744=>1000,25745=>1000,25746=>1000,25747=>1000,25748=>1000,25749=>1000,25750=>1000,25751=>1000,25752=>1000,25753=>1000,25754=>1000,25755=>1000,25756=>1000,25757=>1000,25758=>1000,25759=>1000,25760=>1000,25761=>1000,25762=>1000,25763=>1000,25764=>1000,25765=>1000,25766=>1000,25767=>1000,25768=>1000,25769=>1000,25770=>1000,25771=>1000,25772=>1000,25773=>1000,25774=>1000,25775=>1000,25776=>1000,25777=>1000,25778=>1000,25779=>1000,25780=>1000,25781=>1000,25782=>1000,25783=>1000,25784=>1000,25785=>1000,25786=>1000,25787=>1000,25788=>1000,25789=>1000,25790=>1000,25791=>1000,25792=>1000,25793=>1000,25794=>1000,25795=>1000,25796=>1000,25797=>1000,25798=>1000,25799=>1000,25800=>1000,25801=>1000,25802=>1000,25803=>1000,25804=>1000,25805=>1000,25806=>1000,25807=>1000,25808=>1000,25809=>1000,25810=>1000,25811=>1000,25812=>1000,25813=>1000,25814=>1000,25815=>1000,25816=>1000,25817=>1000,25818=>1000,25819=>1000,25820=>1000,25821=>1000,25822=>1000,25823=>1000,25824=>1000,25825=>1000,25826=>1000,25827=>1000,25828=>1000,25829=>1000,25830=>1000,25831=>1000,25832=>1000,25833=>1000,25834=>1000,25835=>1000,25836=>1000,25837=>1000,25838=>1000,25839=>1000,25840=>1000,25841=>1000,25842=>1000,25843=>1000,25844=>1000,25845=>1000,25846=>1000,25847=>1000,25848=>1000,25849=>1000,25850=>1000,25851=>1000,25852=>1000,25853=>1000,25854=>1000,25855=>1000,25856=>1000,25857=>1000,25858=>1000,25859=>1000,25860=>1000,25861=>1000,25862=>1000,25863=>1000,25864=>1000,25865=>1000,25866=>1000,25867=>1000,25868=>1000,25869=>1000,25870=>1000,25871=>1000,25872=>1000,25873=>1000,25874=>1000,25875=>1000,25876=>1000,25877=>1000,25878=>1000,25879=>1000,25880=>1000,25881=>1000,25882=>1000,25883=>1000,25884=>1000,25885=>1000,25886=>1000,25887=>1000,25888=>1000,25889=>1000,25890=>1000,25891=>1000,25892=>1000,25893=>1000,25894=>1000,25895=>1000,25896=>1000,25897=>1000,25898=>1000,25899=>1000,25900=>1000,25901=>1000,25902=>1000,25903=>1000,25904=>1000,25905=>1000,25906=>1000,25907=>1000,25908=>1000,25909=>1000,25910=>1000,25911=>1000,25912=>1000,25913=>1000,25914=>1000,25915=>1000,25916=>1000,25917=>1000,25918=>1000,25919=>1000,25920=>1000,25921=>1000,25922=>1000,25923=>1000,25924=>1000,25925=>1000,25926=>1000,25927=>1000,25928=>1000,25929=>1000,25930=>1000,25931=>1000,25932=>1000,25933=>1000,25934=>1000,25935=>1000,25936=>1000,25937=>1000,25938=>1000,25939=>1000,25940=>1000,25941=>1000,25942=>1000,25943=>1000,25944=>1000,25945=>1000,25946=>1000,25947=>1000,25948=>1000,25949=>1000,25950=>1000,25951=>1000,25952=>1000,25953=>1000,25954=>1000,25955=>1000,25956=>1000,25957=>1000,25958=>1000,25959=>1000,25960=>1000,25961=>1000,25962=>1000,25963=>1000,25964=>1000,25965=>1000,25966=>1000,25967=>1000,25968=>1000,25969=>1000,25970=>1000,25971=>1000,25972=>1000,25973=>1000,25974=>1000,25975=>1000,25976=>1000,25977=>1000,25978=>1000,25979=>1000,25980=>1000,25981=>1000,25982=>1000,25983=>1000,25984=>1000,25985=>1000,25986=>1000,25987=>1000,25988=>1000,25989=>1000,25990=>1000,25991=>1000,25992=>1000,25993=>1000,25994=>1000,25995=>1000,25996=>1000,25997=>1000,25998=>1000,25999=>1000,26000=>1000,26001=>1000,26002=>1000,26003=>1000,26004=>1000,26005=>1000,26006=>1000,26007=>1000,26008=>1000,26009=>1000,26010=>1000,26011=>1000,26012=>1000,26013=>1000,26014=>1000,26015=>1000,26016=>1000,26017=>1000,26018=>1000,26019=>1000,26020=>1000,26021=>1000,26022=>1000,26023=>1000,26024=>1000,26025=>1000,26026=>1000,26027=>1000,26028=>1000,26029=>1000,26030=>1000,26031=>1000,26032=>1000,26033=>1000,26034=>1000,26035=>1000,26036=>1000,26037=>1000,26038=>1000,26039=>1000,26040=>1000,26041=>1000,26042=>1000,26043=>1000,26044=>1000,26045=>1000,26046=>1000,26047=>1000,26048=>1000,26049=>1000,26050=>1000,26051=>1000,26052=>1000,26053=>1000,26054=>1000,26055=>1000,26056=>1000,26057=>1000,26058=>1000,26059=>1000,26060=>1000,26061=>1000,26062=>1000,26063=>1000,26064=>1000,26065=>1000,26066=>1000,26067=>1000,26068=>1000,26069=>1000,26070=>1000,26071=>1000,26072=>1000,26073=>1000,26074=>1000,26075=>1000,26076=>1000,26077=>1000,26078=>1000,26079=>1000,26080=>1000,26081=>1000,26082=>1000,26083=>1000,26084=>1000,26085=>1000,26086=>1000,26087=>1000,26088=>1000,26089=>1000,26090=>1000,26091=>1000,26092=>1000,26093=>1000,26094=>1000,26095=>1000,26096=>1000,26097=>1000,26098=>1000,26099=>1000,26100=>1000,26101=>1000,26102=>1000,26103=>1000,26104=>1000,26105=>1000,26106=>1000,26107=>1000,26108=>1000,26109=>1000,26110=>1000,26111=>1000,26112=>1000,26113=>1000,26114=>1000,26115=>1000,26116=>1000,26117=>1000,26118=>1000,26119=>1000,26120=>1000,26121=>1000,26122=>1000,26123=>1000,26124=>1000,26125=>1000,26126=>1000,26127=>1000,26128=>1000,26129=>1000,26130=>1000,26131=>1000,26132=>1000,26133=>1000,26134=>1000,26135=>1000,26136=>1000,26137=>1000,26138=>1000,26139=>1000,26140=>1000,26141=>1000,26142=>1000,26143=>1000,26144=>1000,26145=>1000,26146=>1000,26147=>1000,26148=>1000,26149=>1000,26150=>1000,26151=>1000,26152=>1000,26153=>1000,26154=>1000,26155=>1000,26156=>1000,26157=>1000,26158=>1000,26159=>1000,26160=>1000,26161=>1000,26162=>1000,26163=>1000,26164=>1000,26165=>1000,26166=>1000,26167=>1000,26168=>1000,26169=>1000,26170=>1000,26171=>1000,26172=>1000,26173=>1000,26174=>1000,26175=>1000,26176=>1000,26177=>1000,26178=>1000,26179=>1000,26180=>1000,26181=>1000,26182=>1000,26183=>1000,26184=>1000,26185=>1000,26186=>1000,26187=>1000,26188=>1000,26189=>1000,26190=>1000,26191=>1000,26192=>1000,26193=>1000,26194=>1000,26195=>1000,26196=>1000,26197=>1000,26198=>1000,26199=>1000,26200=>1000,26201=>1000,26202=>1000,26203=>1000,26204=>1000,26205=>1000,26206=>1000,26207=>1000,26208=>1000,26209=>1000,26210=>1000,26211=>1000,26212=>1000,26213=>1000,26214=>1000,26215=>1000,26216=>1000,26217=>1000,26218=>1000,26219=>1000,26220=>1000,26221=>1000,26222=>1000,26223=>1000,26224=>1000,26225=>1000,26226=>1000,26227=>1000,26228=>1000,26229=>1000,26230=>1000,26231=>1000,26232=>1000,26233=>1000,26234=>1000,26235=>1000,26236=>1000,26237=>1000,26238=>1000,26239=>1000,26240=>1000,26241=>1000,26242=>1000,26243=>1000,26244=>1000,26245=>1000,26246=>1000,26247=>1000,26248=>1000,26249=>1000,26250=>1000,26251=>1000,26252=>1000,26253=>1000,26254=>1000,26255=>1000,26256=>1000,26257=>1000,26258=>1000,26259=>1000,26260=>1000,26261=>1000,26262=>1000,26263=>1000,26264=>1000,26265=>1000,26266=>1000,26267=>1000,26268=>1000,26269=>1000,26270=>1000,26271=>1000,26272=>1000,26273=>1000,26274=>1000,26275=>1000,26276=>1000,26277=>1000,26278=>1000,26279=>1000,26280=>1000,26281=>1000,26282=>1000,26283=>1000,26284=>1000,26285=>1000,26286=>1000,26287=>1000,26288=>1000,26289=>1000,26290=>1000,26291=>1000,26292=>1000,26293=>1000,26294=>1000,26295=>1000,26296=>1000,26297=>1000,26298=>1000,26299=>1000,26300=>1000,26301=>1000,26302=>1000,26303=>1000,26304=>1000,26305=>1000,26306=>1000,26307=>1000,26308=>1000,26309=>1000,26310=>1000,26311=>1000,26312=>1000,26313=>1000,26314=>1000,26315=>1000,26316=>1000,26317=>1000,26318=>1000,26319=>1000,26320=>1000,26321=>1000,26322=>1000,26323=>1000,26324=>1000,26325=>1000,26326=>1000,26327=>1000,26328=>1000,26329=>1000,26330=>1000,26331=>1000,26332=>1000,26333=>1000,26334=>1000,26335=>1000,26336=>1000,26337=>1000,26338=>1000,26339=>1000,26340=>1000,26341=>1000,26342=>1000,26343=>1000,26344=>1000,26345=>1000,26346=>1000,26347=>1000,26348=>1000,26349=>1000,26350=>1000,26351=>1000,26352=>1000,26353=>1000,26354=>1000,26355=>1000,26356=>1000,26357=>1000,26358=>1000,26359=>1000,26360=>1000,26361=>1000,26362=>1000,26363=>1000,26364=>1000,26365=>1000,26366=>1000,26367=>1000,26368=>1000,26369=>1000,26370=>1000,26371=>1000,26372=>1000,26373=>1000,26374=>1000,26375=>1000,26376=>1000,26377=>1000,26378=>1000,26379=>1000,26380=>1000,26381=>1000,26382=>1000,26383=>1000,26384=>1000,26385=>1000,26386=>1000,26387=>1000,26388=>1000,26389=>1000,26390=>1000,26391=>1000,26392=>1000,26393=>1000,26394=>1000,26395=>1000,26396=>1000,26397=>1000,26398=>1000,26399=>1000,26400=>1000,26401=>1000,26402=>1000,26403=>1000,26404=>1000,26405=>1000,26406=>1000,26407=>1000,26408=>1000,26409=>1000,26410=>1000,26411=>1000,26412=>1000,26413=>1000,26414=>1000,26415=>1000,26416=>1000,26417=>1000,26418=>1000,26419=>1000,26420=>1000,26421=>1000,26422=>1000,26423=>1000,26424=>1000,26425=>1000,26426=>1000,26427=>1000,26428=>1000,26429=>1000,26430=>1000,26431=>1000,26432=>1000,26433=>1000,26434=>1000,26435=>1000,26436=>1000,26437=>1000,26438=>1000,26439=>1000,26440=>1000,26441=>1000,26442=>1000,26443=>1000,26444=>1000,26445=>1000,26446=>1000,26447=>1000,26448=>1000,26449=>1000,26450=>1000,26451=>1000,26452=>1000,26453=>1000,26454=>1000,26455=>1000,26456=>1000,26457=>1000,26458=>1000,26459=>1000,26460=>1000,26461=>1000,26462=>1000,26463=>1000,26464=>1000,26465=>1000,26466=>1000,26467=>1000,26468=>1000,26469=>1000,26470=>1000,26471=>1000,26472=>1000,26473=>1000,26474=>1000,26475=>1000,26476=>1000,26477=>1000,26478=>1000,26479=>1000,26480=>1000,26481=>1000,26482=>1000,26483=>1000,26484=>1000,26485=>1000,26486=>1000,26487=>1000,26488=>1000,26489=>1000,26490=>1000,26491=>1000,26492=>1000,26493=>1000,26494=>1000,26495=>1000,26496=>1000,26497=>1000,26498=>1000,26499=>1000,26500=>1000,26501=>1000,26502=>1000,26503=>1000,26504=>1000,26505=>1000,26506=>1000,26507=>1000,26508=>1000,26509=>1000,26510=>1000,26511=>1000,26512=>1000,26513=>1000,26514=>1000,26515=>1000,26516=>1000,26517=>1000,26518=>1000,26519=>1000,26520=>1000,26521=>1000,26522=>1000,26523=>1000,26524=>1000,26525=>1000,26526=>1000,26527=>1000,26528=>1000,26529=>1000,26530=>1000,26531=>1000,26532=>1000,26533=>1000,26534=>1000,26535=>1000,26536=>1000,26537=>1000,26538=>1000,26539=>1000,26540=>1000,26541=>1000,26542=>1000,26543=>1000,26544=>1000,26545=>1000,26546=>1000,26547=>1000,26548=>1000,26549=>1000,26550=>1000,26551=>1000,26552=>1000,26553=>1000,26554=>1000,26555=>1000,26556=>1000,26557=>1000,26558=>1000,26559=>1000,26560=>1000,26561=>1000,26562=>1000,26563=>1000,26564=>1000,26565=>1000,26566=>1000,26567=>1000,26568=>1000,26569=>1000,26570=>1000,26571=>1000,26572=>1000,26573=>1000,26574=>1000,26575=>1000,26576=>1000,26577=>1000,26578=>1000,26579=>1000,26580=>1000,26581=>1000,26582=>1000,26583=>1000,26584=>1000,26585=>1000,26586=>1000,26587=>1000,26588=>1000,26589=>1000,26590=>1000,26591=>1000,26592=>1000,26593=>1000,26594=>1000,26595=>1000,26596=>1000,26597=>1000,26598=>1000,26599=>1000,26600=>1000,26601=>1000,26602=>1000,26603=>1000,26604=>1000,26605=>1000,26606=>1000,26607=>1000,26608=>1000,26609=>1000,26610=>1000,26611=>1000,26612=>1000,26613=>1000,26614=>1000,26615=>1000,26616=>1000,26617=>1000,26618=>1000,26619=>1000,26620=>1000,26621=>1000,26622=>1000,26623=>1000,26624=>1000,26625=>1000,26626=>1000,26627=>1000,26628=>1000,26629=>1000,26630=>1000,26631=>1000,26632=>1000,26633=>1000,26634=>1000,26635=>1000,26636=>1000,26637=>1000,26638=>1000,26639=>1000,26640=>1000,26641=>1000,26642=>1000,26643=>1000,26644=>1000,26645=>1000,26646=>1000,26647=>1000,26648=>1000,26649=>1000,26650=>1000,26651=>1000,26652=>1000,26653=>1000,26654=>1000,26655=>1000,26656=>1000,26657=>1000,26658=>1000,26659=>1000,26660=>1000,26661=>1000,26662=>1000,26663=>1000,26664=>1000,26665=>1000,26666=>1000,26667=>1000,26668=>1000,26669=>1000,26670=>1000,26671=>1000,26672=>1000,26673=>1000,26674=>1000,26675=>1000,26676=>1000,26677=>1000,26678=>1000,26679=>1000,26680=>1000,26681=>1000,26682=>1000,26683=>1000,26684=>1000,26685=>1000,26686=>1000,26687=>1000,26688=>1000,26689=>1000,26690=>1000,26691=>1000,26692=>1000,26693=>1000,26694=>1000,26695=>1000,26696=>1000,26697=>1000,26698=>1000,26699=>1000,26700=>1000,26701=>1000,26702=>1000,26703=>1000,26704=>1000,26705=>1000,26706=>1000,26707=>1000,26708=>1000,26709=>1000,26710=>1000,26711=>1000,26712=>1000,26713=>1000,26714=>1000,26715=>1000,26716=>1000,26717=>1000,26718=>1000,26719=>1000,26720=>1000,26721=>1000,26722=>1000,26723=>1000,26724=>1000,26725=>1000,26726=>1000,26727=>1000,26728=>1000,26729=>1000,26730=>1000,26731=>1000,26732=>1000,26733=>1000,26734=>1000,26735=>1000,26736=>1000,26737=>1000,26738=>1000,26739=>1000,26740=>1000,26741=>1000,26742=>1000,26743=>1000,26744=>1000,26745=>1000,26746=>1000,26747=>1000,26748=>1000,26749=>1000,26750=>1000,26751=>1000,26752=>1000,26753=>1000,26754=>1000,26755=>1000,26756=>1000,26757=>1000,26758=>1000,26759=>1000,26760=>1000,26761=>1000,26762=>1000,26763=>1000,26764=>1000,26765=>1000,26766=>1000,26767=>1000,26768=>1000,26769=>1000,26770=>1000,26771=>1000,26772=>1000,26773=>1000,26774=>1000,26775=>1000,26776=>1000,26777=>1000,26778=>1000,26779=>1000,26780=>1000,26781=>1000,26782=>1000,26783=>1000,26784=>1000,26785=>1000,26786=>1000,26787=>1000,26788=>1000,26789=>1000,26790=>1000,26791=>1000,26792=>1000,26793=>1000,26794=>1000,26795=>1000,26796=>1000,26797=>1000,26798=>1000,26799=>1000,26800=>1000,26801=>1000,26802=>1000,26803=>1000,26804=>1000,26805=>1000,26806=>1000,26807=>1000,26808=>1000,26809=>1000,26810=>1000,26811=>1000,26812=>1000,26813=>1000,26814=>1000,26815=>1000,26816=>1000,26817=>1000,26818=>1000,26819=>1000,26820=>1000,26821=>1000,26822=>1000,26823=>1000,26824=>1000,26825=>1000,26826=>1000,26827=>1000,26828=>1000,26829=>1000,26830=>1000,26831=>1000,26832=>1000,26833=>1000,26834=>1000,26835=>1000,26836=>1000,26837=>1000,26838=>1000,26839=>1000,26840=>1000,26841=>1000,26842=>1000,26843=>1000,26844=>1000,26845=>1000,26846=>1000,26847=>1000,26848=>1000,26849=>1000,26850=>1000,26851=>1000,26852=>1000,26853=>1000,26854=>1000,26855=>1000,26856=>1000,26857=>1000,26858=>1000,26859=>1000,26860=>1000,26861=>1000,26862=>1000,26863=>1000,26864=>1000,26865=>1000,26866=>1000,26867=>1000,26868=>1000,26869=>1000,26870=>1000,26871=>1000,26872=>1000,26873=>1000,26874=>1000,26875=>1000,26876=>1000,26877=>1000,26878=>1000,26879=>1000,26880=>1000,26881=>1000,26882=>1000,26883=>1000,26884=>1000,26885=>1000,26886=>1000,26887=>1000,26888=>1000,26889=>1000,26890=>1000,26891=>1000,26892=>1000,26893=>1000,26894=>1000,26895=>1000,26896=>1000,26897=>1000,26898=>1000,26899=>1000,26900=>1000,26901=>1000,26902=>1000,26903=>1000,26904=>1000,26905=>1000,26906=>1000,26907=>1000,26908=>1000,26909=>1000,26910=>1000,26911=>1000,26912=>1000,26913=>1000,26914=>1000,26915=>1000,26916=>1000,26917=>1000,26918=>1000,26919=>1000,26920=>1000,26921=>1000,26922=>1000,26923=>1000,26924=>1000,26925=>1000,26926=>1000,26927=>1000,26928=>1000,26929=>1000,26930=>1000,26931=>1000,26932=>1000,26933=>1000,26934=>1000,26935=>1000,26936=>1000,26937=>1000,26938=>1000,26939=>1000,26940=>1000,26941=>1000,26942=>1000,26943=>1000,26944=>1000,26945=>1000,26946=>1000,26947=>1000,26948=>1000,26949=>1000,26950=>1000,26951=>1000,26952=>1000,26953=>1000,26954=>1000,26955=>1000,26956=>1000,26957=>1000,26958=>1000,26959=>1000,26960=>1000,26961=>1000,26962=>1000,26963=>1000,26964=>1000,26965=>1000,26966=>1000,26967=>1000,26968=>1000,26969=>1000,26970=>1000,26971=>1000,26972=>1000,26973=>1000,26974=>1000,26975=>1000,26976=>1000,26977=>1000,26978=>1000,26979=>1000,26980=>1000,26981=>1000,26982=>1000,26983=>1000,26984=>1000,26985=>1000,26986=>1000,26987=>1000,26988=>1000,26989=>1000,26990=>1000,26991=>1000,26992=>1000,26993=>1000,26994=>1000,26995=>1000,26996=>1000,26997=>1000,26998=>1000,26999=>1000,27000=>1000,27001=>1000,27002=>1000,27003=>1000,27004=>1000,27005=>1000,27006=>1000,27007=>1000,27008=>1000,27009=>1000,27010=>1000,27011=>1000,27012=>1000,27013=>1000,27014=>1000,27015=>1000,27016=>1000,27017=>1000,27018=>1000,27019=>1000,27020=>1000,27021=>1000,27022=>1000,27023=>1000,27024=>1000,27025=>1000,27026=>1000,27027=>1000,27028=>1000,27029=>1000,27030=>1000,27031=>1000,27032=>1000,27033=>1000,27034=>1000,27035=>1000,27036=>1000,27037=>1000,27038=>1000,27039=>1000,27040=>1000,27041=>1000,27042=>1000,27043=>1000,27044=>1000,27045=>1000,27046=>1000,27047=>1000,27048=>1000,27049=>1000,27050=>1000,27051=>1000,27052=>1000,27053=>1000,27054=>1000,27055=>1000,27056=>1000,27057=>1000,27058=>1000,27059=>1000,27060=>1000,27061=>1000,27062=>1000,27063=>1000,27064=>1000,27065=>1000,27066=>1000,27067=>1000,27068=>1000,27069=>1000,27070=>1000,27071=>1000,27072=>1000,27073=>1000,27074=>1000,27075=>1000,27076=>1000,27077=>1000,27078=>1000,27079=>1000,27080=>1000,27081=>1000,27082=>1000,27083=>1000,27084=>1000,27085=>1000,27086=>1000,27087=>1000,27088=>1000,27089=>1000,27090=>1000,27091=>1000,27092=>1000,27093=>1000,27094=>1000,27095=>1000,27096=>1000,27097=>1000,27098=>1000,27099=>1000,27100=>1000,27101=>1000,27102=>1000,27103=>1000,27104=>1000,27105=>1000,27106=>1000,27107=>1000,27108=>1000,27109=>1000,27110=>1000,27111=>1000,27112=>1000,27113=>1000,27114=>1000,27115=>1000,27116=>1000,27117=>1000,27118=>1000,27119=>1000,27120=>1000,27121=>1000,27122=>1000,27123=>1000,27124=>1000,27125=>1000,27126=>1000,27127=>1000,27128=>1000,27129=>1000,27130=>1000,27131=>1000,27132=>1000,27133=>1000,27134=>1000,27135=>1000,27136=>1000,27137=>1000,27138=>1000,27139=>1000,27140=>1000,27141=>1000,27142=>1000,27143=>1000,27144=>1000,27145=>1000,27146=>1000,27147=>1000,27148=>1000,27149=>1000,27150=>1000,27151=>1000,27152=>1000,27153=>1000,27154=>1000,27155=>1000,27156=>1000,27157=>1000,27158=>1000,27159=>1000,27160=>1000,27161=>1000,27162=>1000,27163=>1000,27164=>1000,27165=>1000,27166=>1000,27167=>1000,27168=>1000,27169=>1000,27170=>1000,27171=>1000,27172=>1000,27173=>1000,27174=>1000,27175=>1000,27176=>1000,27177=>1000,27178=>1000,27179=>1000,27180=>1000,27181=>1000,27182=>1000,27183=>1000,27184=>1000,27185=>1000,27186=>1000,27187=>1000,27188=>1000,27189=>1000,27190=>1000,27191=>1000,27192=>1000,27193=>1000,27194=>1000,27195=>1000,27196=>1000,27197=>1000,27198=>1000,27199=>1000,27200=>1000,27201=>1000,27202=>1000,27203=>1000,27204=>1000,27205=>1000,27206=>1000,27207=>1000,27208=>1000,27209=>1000,27210=>1000,27211=>1000,27212=>1000,27213=>1000,27214=>1000,27215=>1000,27216=>1000,27217=>1000,27218=>1000,27219=>1000,27220=>1000,27221=>1000,27222=>1000,27223=>1000,27224=>1000,27225=>1000,27226=>1000,27227=>1000,27228=>1000,27229=>1000,27230=>1000,27231=>1000,27232=>1000,27233=>1000,27234=>1000,27235=>1000,27236=>1000,27237=>1000,27238=>1000,27239=>1000,27240=>1000,27241=>1000,27242=>1000,27243=>1000,27244=>1000,27245=>1000,27246=>1000,27247=>1000,27248=>1000,27249=>1000,27250=>1000,27251=>1000,27252=>1000,27253=>1000,27254=>1000,27255=>1000,27256=>1000,27257=>1000,27258=>1000,27259=>1000,27260=>1000,27261=>1000,27262=>1000,27263=>1000,27264=>1000,27265=>1000,27266=>1000,27267=>1000,27268=>1000,27269=>1000,27270=>1000,27271=>1000,27272=>1000,27273=>1000,27274=>1000,27275=>1000,27276=>1000,27277=>1000,27278=>1000,27279=>1000,27280=>1000,27281=>1000,27282=>1000,27283=>1000,27284=>1000,27285=>1000,27286=>1000,27287=>1000,27288=>1000,27289=>1000,27290=>1000,27291=>1000,27292=>1000,27293=>1000,27294=>1000,27295=>1000,27296=>1000,27297=>1000,27298=>1000,27299=>1000,27300=>1000,27301=>1000,27302=>1000,27303=>1000,27304=>1000,27305=>1000,27306=>1000,27307=>1000,27308=>1000,27309=>1000,27310=>1000,27311=>1000,27312=>1000,27313=>1000,27314=>1000,27315=>1000,27316=>1000,27317=>1000,27318=>1000,27319=>1000,27320=>1000,27321=>1000,27322=>1000,27323=>1000,27324=>1000,27325=>1000,27326=>1000,27327=>1000,27328=>1000,27329=>1000,27330=>1000,27331=>1000,27332=>1000,27333=>1000,27334=>1000,27335=>1000,27336=>1000,27337=>1000,27338=>1000,27339=>1000,27340=>1000,27341=>1000,27342=>1000,27343=>1000,27344=>1000,27345=>1000,27346=>1000,27347=>1000,27348=>1000,27349=>1000,27350=>1000,27351=>1000,27352=>1000,27353=>1000,27354=>1000,27355=>1000,27356=>1000,27357=>1000,27358=>1000,27359=>1000,27360=>1000,27361=>1000,27362=>1000,27363=>1000,27364=>1000,27365=>1000,27366=>1000,27367=>1000,27368=>1000,27369=>1000,27370=>1000,27371=>1000,27372=>1000,27373=>1000,27374=>1000,27375=>1000,27376=>1000,27377=>1000,27378=>1000,27379=>1000,27380=>1000,27381=>1000,27382=>1000,27383=>1000,27384=>1000,27385=>1000,27386=>1000,27387=>1000,27388=>1000,27389=>1000,27390=>1000,27391=>1000,27392=>1000,27393=>1000,27394=>1000,27395=>1000,27396=>1000,27397=>1000,27398=>1000,27399=>1000,27400=>1000,27401=>1000,27402=>1000,27403=>1000,27404=>1000,27405=>1000,27406=>1000,27407=>1000,27408=>1000,27409=>1000,27410=>1000,27411=>1000,27412=>1000,27413=>1000,27414=>1000,27415=>1000,27416=>1000,27417=>1000,27418=>1000,27419=>1000,27420=>1000,27421=>1000,27422=>1000,27423=>1000,27424=>1000,27425=>1000,27426=>1000,27427=>1000,27428=>1000,27429=>1000,27430=>1000,27431=>1000,27432=>1000,27433=>1000,27434=>1000,27435=>1000,27436=>1000,27437=>1000,27438=>1000,27439=>1000,27440=>1000,27441=>1000,27442=>1000,27443=>1000,27444=>1000,27445=>1000,27446=>1000,27447=>1000,27448=>1000,27449=>1000,27450=>1000,27451=>1000,27452=>1000,27453=>1000,27454=>1000,27455=>1000,27456=>1000,27457=>1000,27458=>1000,27459=>1000,27460=>1000,27461=>1000,27462=>1000,27463=>1000,27464=>1000,27465=>1000,27466=>1000,27467=>1000,27468=>1000,27469=>1000,27470=>1000,27471=>1000,27472=>1000,27473=>1000,27474=>1000,27475=>1000,27476=>1000,27477=>1000,27478=>1000,27479=>1000,27480=>1000,27481=>1000,27482=>1000,27483=>1000,27484=>1000,27485=>1000,27486=>1000,27487=>1000,27488=>1000,27489=>1000,27490=>1000,27491=>1000,27492=>1000,27493=>1000,27494=>1000,27495=>1000,27496=>1000,27497=>1000,27498=>1000,27499=>1000,27500=>1000,27501=>1000,27502=>1000,27503=>1000,27504=>1000,27505=>1000,27506=>1000,27507=>1000,27508=>1000,27509=>1000,27510=>1000,27511=>1000,27512=>1000,27513=>1000,27514=>1000,27515=>1000,27516=>1000,27517=>1000,27518=>1000,27519=>1000,27520=>1000,27521=>1000,27522=>1000,27523=>1000,27524=>1000,27525=>1000,27526=>1000,27527=>1000,27528=>1000,27529=>1000,27530=>1000,27531=>1000,27532=>1000,27533=>1000,27534=>1000,27535=>1000,27536=>1000,27537=>1000,27538=>1000,27539=>1000,27540=>1000,27541=>1000,27542=>1000,27543=>1000,27544=>1000,27545=>1000,27546=>1000,27547=>1000,27548=>1000,27549=>1000,27550=>1000,27551=>1000,27552=>1000,27553=>1000,27554=>1000,27555=>1000,27556=>1000,27557=>1000,27558=>1000,27559=>1000,27560=>1000,27561=>1000,27562=>1000,27563=>1000,27564=>1000,27565=>1000,27566=>1000,27567=>1000,27568=>1000,27569=>1000,27570=>1000,27571=>1000,27572=>1000,27573=>1000,27574=>1000,27575=>1000,27576=>1000,27577=>1000,27578=>1000,27579=>1000,27580=>1000,27581=>1000,27582=>1000,27583=>1000,27584=>1000,27585=>1000,27586=>1000,27587=>1000,27588=>1000,27589=>1000,27590=>1000,27591=>1000,27592=>1000,27593=>1000,27594=>1000,27595=>1000,27596=>1000,27597=>1000,27598=>1000,27599=>1000,27600=>1000,27601=>1000,27602=>1000,27603=>1000,27604=>1000,27605=>1000,27606=>1000,27607=>1000,27608=>1000,27609=>1000,27610=>1000,27611=>1000,27612=>1000,27613=>1000,27614=>1000,27615=>1000,27616=>1000,27617=>1000,27618=>1000,27619=>1000,27620=>1000,27621=>1000,27622=>1000,27623=>1000,27624=>1000,27625=>1000,27626=>1000,27627=>1000,27628=>1000,27629=>1000,27630=>1000,27631=>1000,27632=>1000,27633=>1000,27634=>1000,27635=>1000,27636=>1000,27637=>1000,27638=>1000,27639=>1000,27640=>1000,27641=>1000,27642=>1000,27643=>1000,27644=>1000,27645=>1000,27646=>1000,27647=>1000,27648=>1000,27649=>1000,27650=>1000,27651=>1000,27652=>1000,27653=>1000,27654=>1000,27655=>1000,27656=>1000,27657=>1000,27658=>1000,27659=>1000,27660=>1000,27661=>1000,27662=>1000,27663=>1000,27664=>1000,27665=>1000,27666=>1000,27667=>1000,27668=>1000,27669=>1000,27670=>1000,27671=>1000,27672=>1000,27673=>1000,27674=>1000,27675=>1000,27676=>1000,27677=>1000,27678=>1000,27679=>1000,27680=>1000,27681=>1000,27682=>1000,27683=>1000,27684=>1000,27685=>1000,27686=>1000,27687=>1000,27688=>1000,27689=>1000,27690=>1000,27691=>1000,27692=>1000,27693=>1000,27694=>1000,27695=>1000,27696=>1000,27697=>1000,27698=>1000,27699=>1000,27700=>1000,27701=>1000,27702=>1000,27703=>1000,27704=>1000,27705=>1000,27706=>1000,27707=>1000,27708=>1000,27709=>1000,27710=>1000,27711=>1000,27712=>1000,27713=>1000,27714=>1000,27715=>1000,27716=>1000,27717=>1000,27718=>1000,27719=>1000,27720=>1000,27721=>1000,27722=>1000,27723=>1000,27724=>1000,27725=>1000,27726=>1000,27727=>1000,27728=>1000,27729=>1000,27730=>1000,27731=>1000,27732=>1000,27733=>1000,27734=>1000,27735=>1000,27736=>1000,27737=>1000,27738=>1000,27739=>1000,27740=>1000,27741=>1000,27742=>1000,27743=>1000,27744=>1000,27745=>1000,27746=>1000,27747=>1000,27748=>1000,27749=>1000,27750=>1000,27751=>1000,27752=>1000,27753=>1000,27754=>1000,27755=>1000,27756=>1000,27757=>1000,27758=>1000,27759=>1000,27760=>1000,27761=>1000,27762=>1000,27763=>1000,27764=>1000,27765=>1000,27766=>1000,27767=>1000,27768=>1000,27769=>1000,27770=>1000,27771=>1000,27772=>1000,27773=>1000,27774=>1000,27775=>1000,27776=>1000,27777=>1000,27778=>1000,27779=>1000,27780=>1000,27781=>1000,27782=>1000,27783=>1000,27784=>1000,27785=>1000,27786=>1000,27787=>1000,27788=>1000,27789=>1000,27790=>1000,27791=>1000,27792=>1000,27793=>1000,27794=>1000,27795=>1000,27796=>1000,27797=>1000,27798=>1000,27799=>1000,27800=>1000,27801=>1000,27802=>1000,27803=>1000,27804=>1000,27805=>1000,27806=>1000,27807=>1000,27808=>1000,27809=>1000,27810=>1000,27811=>1000,27812=>1000,27813=>1000,27814=>1000,27815=>1000,27816=>1000,27817=>1000,27818=>1000,27819=>1000,27820=>1000,27821=>1000,27822=>1000,27823=>1000,27824=>1000,27825=>1000,27826=>1000,27827=>1000,27828=>1000,27829=>1000,27830=>1000,27831=>1000,27832=>1000,27833=>1000,27834=>1000,27835=>1000,27836=>1000,27837=>1000,27838=>1000,27839=>1000,27840=>1000,27841=>1000,27842=>1000,27843=>1000,27844=>1000,27845=>1000,27846=>1000,27847=>1000,27848=>1000,27849=>1000,27850=>1000,27851=>1000,27852=>1000,27853=>1000,27854=>1000,27855=>1000,27856=>1000,27857=>1000,27858=>1000,27859=>1000,27860=>1000,27861=>1000,27862=>1000,27863=>1000,27864=>1000,27865=>1000,27866=>1000,27867=>1000,27868=>1000,27869=>1000,27870=>1000,27871=>1000,27872=>1000,27873=>1000,27874=>1000,27875=>1000,27876=>1000,27877=>1000,27878=>1000,27879=>1000,27880=>1000,27881=>1000,27882=>1000,27883=>1000,27884=>1000,27885=>1000,27886=>1000,27887=>1000,27888=>1000,27889=>1000,27890=>1000,27891=>1000,27892=>1000,27893=>1000,27894=>1000,27895=>1000,27896=>1000,27897=>1000,27898=>1000,27899=>1000,27900=>1000,27901=>1000,27902=>1000,27903=>1000,27904=>1000,27905=>1000,27906=>1000,27907=>1000,27908=>1000,27909=>1000,27910=>1000,27911=>1000,27912=>1000,27913=>1000,27914=>1000,27915=>1000,27916=>1000,27917=>1000,27918=>1000,27919=>1000,27920=>1000,27921=>1000,27922=>1000,27923=>1000,27924=>1000,27925=>1000,27926=>1000,27927=>1000,27928=>1000,27929=>1000,27930=>1000,27931=>1000,27932=>1000,27933=>1000,27934=>1000,27935=>1000,27936=>1000,27937=>1000,27938=>1000,27939=>1000,27940=>1000,27941=>1000,27942=>1000,27943=>1000,27944=>1000,27945=>1000,27946=>1000,27947=>1000,27948=>1000,27949=>1000,27950=>1000,27951=>1000,27952=>1000,27953=>1000,27954=>1000,27955=>1000,27956=>1000,27957=>1000,27958=>1000,27959=>1000,27960=>1000,27961=>1000,27962=>1000,27963=>1000,27964=>1000,27965=>1000,27966=>1000,27967=>1000,27968=>1000,27969=>1000,27970=>1000,27971=>1000,27972=>1000,27973=>1000,27974=>1000,27975=>1000,27976=>1000,27977=>1000,27978=>1000,27979=>1000,27980=>1000,27981=>1000,27982=>1000,27983=>1000,27984=>1000,27985=>1000,27986=>1000,27987=>1000,27988=>1000,27989=>1000,27990=>1000,27991=>1000,27992=>1000,27993=>1000,27994=>1000,27995=>1000,27996=>1000,27997=>1000,27998=>1000,27999=>1000,28000=>1000,28001=>1000,28002=>1000,28003=>1000,28004=>1000,28005=>1000,28006=>1000,28007=>1000,28008=>1000,28009=>1000,28010=>1000,28011=>1000,28012=>1000,28013=>1000,28014=>1000,28015=>1000,28016=>1000,28017=>1000,28018=>1000,28019=>1000,28020=>1000,28021=>1000,28022=>1000,28023=>1000,28024=>1000,28025=>1000,28026=>1000,28027=>1000,28028=>1000,28029=>1000,28030=>1000,28031=>1000,28032=>1000,28033=>1000,28034=>1000,28035=>1000,28036=>1000,28037=>1000,28038=>1000,28039=>1000,28040=>1000,28041=>1000,28042=>1000,28043=>1000,28044=>1000,28045=>1000,28046=>1000,28047=>1000,28048=>1000,28049=>1000,28050=>1000,28051=>1000,28052=>1000,28053=>1000,28054=>1000,28055=>1000,28056=>1000,28057=>1000,28058=>1000,28059=>1000,28060=>1000,28061=>1000,28062=>1000,28063=>1000,28064=>1000,28065=>1000,28066=>1000,28067=>1000,28068=>1000,28069=>1000,28070=>1000,28071=>1000,28072=>1000,28073=>1000,28074=>1000,28075=>1000,28076=>1000,28077=>1000,28078=>1000,28079=>1000,28080=>1000,28081=>1000,28082=>1000,28083=>1000,28084=>1000,28085=>1000,28086=>1000,28087=>1000,28088=>1000,28089=>1000,28090=>1000,28091=>1000,28092=>1000,28093=>1000,28094=>1000,28095=>1000,28096=>1000,28097=>1000,28098=>1000,28099=>1000,28100=>1000,28101=>1000,28102=>1000,28103=>1000,28104=>1000,28105=>1000,28106=>1000,28107=>1000,28108=>1000,28109=>1000,28110=>1000,28111=>1000,28112=>1000,28113=>1000,28114=>1000,28115=>1000,28116=>1000,28117=>1000,28118=>1000,28119=>1000,28120=>1000,28121=>1000,28122=>1000,28123=>1000,28124=>1000,28125=>1000,28126=>1000,28127=>1000,28128=>1000,28129=>1000,28130=>1000,28131=>1000,28132=>1000,28133=>1000,28134=>1000,28135=>1000,28136=>1000,28137=>1000,28138=>1000,28139=>1000,28140=>1000,28141=>1000,28142=>1000,28143=>1000,28144=>1000,28145=>1000,28146=>1000,28147=>1000,28148=>1000,28149=>1000,28150=>1000,28151=>1000,28152=>1000,28153=>1000,28154=>1000,28155=>1000,28156=>1000,28157=>1000,28158=>1000,28159=>1000,28160=>1000,28161=>1000,28162=>1000,28163=>1000,28164=>1000,28165=>1000,28166=>1000,28167=>1000,28168=>1000,28169=>1000,28170=>1000,28171=>1000,28172=>1000,28173=>1000,28174=>1000,28175=>1000,28176=>1000,28177=>1000,28178=>1000,28179=>1000,28180=>1000,28181=>1000,28182=>1000,28183=>1000,28184=>1000,28185=>1000,28186=>1000,28187=>1000,28188=>1000,28189=>1000,28190=>1000,28191=>1000,28192=>1000,28193=>1000,28194=>1000,28195=>1000,28196=>1000,28197=>1000,28198=>1000,28199=>1000,28200=>1000,28201=>1000,28202=>1000,28203=>1000,28204=>1000,28205=>1000,28206=>1000,28207=>1000,28208=>1000,28209=>1000,28210=>1000,28211=>1000,28212=>1000,28213=>1000,28214=>1000,28215=>1000,28216=>1000,28217=>1000,28218=>1000,28219=>1000,28220=>1000,28221=>1000,28222=>1000,28223=>1000,28224=>1000,28225=>1000,28226=>1000,28227=>1000,28228=>1000,28229=>1000,28230=>1000,28231=>1000,28232=>1000,28233=>1000,28234=>1000,28235=>1000,28236=>1000,28237=>1000,28238=>1000,28239=>1000,28240=>1000,28241=>1000,28242=>1000,28243=>1000,28244=>1000,28245=>1000,28246=>1000,28247=>1000,28248=>1000,28249=>1000,28250=>1000,28251=>1000,28252=>1000,28253=>1000,28254=>1000,28255=>1000,28256=>1000,28257=>1000,28258=>1000,28259=>1000,28260=>1000,28261=>1000,28262=>1000,28263=>1000,28264=>1000,28265=>1000,28266=>1000,28267=>1000,28268=>1000,28269=>1000,28270=>1000,28271=>1000,28272=>1000,28273=>1000,28274=>1000,28275=>1000,28276=>1000,28277=>1000,28278=>1000,28279=>1000,28280=>1000,28281=>1000,28282=>1000,28283=>1000,28284=>1000,28285=>1000,28286=>1000,28287=>1000,28288=>1000,28289=>1000,28290=>1000,28291=>1000,28292=>1000,28293=>1000,28294=>1000,28295=>1000,28296=>1000,28297=>1000,28298=>1000,28299=>1000,28300=>1000,28301=>1000,28302=>1000,28303=>1000,28304=>1000,28305=>1000,28306=>1000,28307=>1000,28308=>1000,28309=>1000,28310=>1000,28311=>1000,28312=>1000,28313=>1000,28314=>1000,28315=>1000,28316=>1000,28317=>1000,28318=>1000,28319=>1000,28320=>1000,28321=>1000,28322=>1000,28323=>1000,28324=>1000,28325=>1000,28326=>1000,28327=>1000,28328=>1000,28329=>1000,28330=>1000,28331=>1000,28332=>1000,28333=>1000,28334=>1000,28335=>1000,28336=>1000,28337=>1000,28338=>1000,28339=>1000,28340=>1000,28341=>1000,28342=>1000,28343=>1000,28344=>1000,28345=>1000,28346=>1000,28347=>1000,28348=>1000,28349=>1000,28350=>1000,28351=>1000,28352=>1000,28353=>1000,28354=>1000,28355=>1000,28356=>1000,28357=>1000,28358=>1000,28359=>1000,28360=>1000,28361=>1000,28362=>1000,28363=>1000,28364=>1000,28365=>1000,28366=>1000,28367=>1000,28368=>1000,28369=>1000,28370=>1000,28371=>1000,28372=>1000,28373=>1000,28374=>1000,28375=>1000,28376=>1000,28377=>1000,28378=>1000,28379=>1000,28380=>1000,28381=>1000,28382=>1000,28383=>1000,28384=>1000,28385=>1000,28386=>1000,28387=>1000,28388=>1000,28389=>1000,28390=>1000,28391=>1000,28392=>1000,28393=>1000,28394=>1000,28395=>1000,28396=>1000,28397=>1000,28398=>1000,28399=>1000,28400=>1000,28401=>1000,28402=>1000,28403=>1000,28404=>1000,28405=>1000,28406=>1000,28407=>1000,28408=>1000,28409=>1000,28410=>1000,28411=>1000,28412=>1000,28413=>1000,28414=>1000,28415=>1000,28416=>1000,28417=>1000,28418=>1000,28419=>1000,28420=>1000,28421=>1000,28422=>1000,28423=>1000,28424=>1000,28425=>1000,28426=>1000,28427=>1000,28428=>1000,28429=>1000,28430=>1000,28431=>1000,28432=>1000,28433=>1000,28434=>1000,28435=>1000,28436=>1000,28437=>1000,28438=>1000,28439=>1000,28440=>1000,28441=>1000,28442=>1000,28443=>1000,28444=>1000,28445=>1000,28446=>1000,28447=>1000,28448=>1000,28449=>1000,28450=>1000,28451=>1000,28452=>1000,28453=>1000,28454=>1000,28455=>1000,28456=>1000,28457=>1000,28458=>1000,28459=>1000,28460=>1000,28461=>1000,28462=>1000,28463=>1000,28464=>1000,28465=>1000,28466=>1000,28467=>1000,28468=>1000,28469=>1000,28470=>1000,28471=>1000,28472=>1000,28473=>1000,28474=>1000,28475=>1000,28476=>1000,28477=>1000,28478=>1000,28479=>1000,28480=>1000,28481=>1000,28482=>1000,28483=>1000,28484=>1000,28485=>1000,28486=>1000,28487=>1000,28488=>1000,28489=>1000,28490=>1000,28491=>1000,28492=>1000,28493=>1000,28494=>1000,28495=>1000,28496=>1000,28497=>1000,28498=>1000,28499=>1000,28500=>1000,28501=>1000,28502=>1000,28503=>1000,28504=>1000,28505=>1000,28506=>1000,28507=>1000,28508=>1000,28509=>1000,28510=>1000,28511=>1000,28512=>1000,28513=>1000,28514=>1000,28515=>1000,28516=>1000,28517=>1000,28518=>1000,28519=>1000,28520=>1000,28521=>1000,28522=>1000,28523=>1000,28524=>1000,28525=>1000,28526=>1000,28527=>1000,28528=>1000,28529=>1000,28530=>1000,28531=>1000,28532=>1000,28533=>1000,28534=>1000,28535=>1000,28536=>1000,28537=>1000,28538=>1000,28539=>1000,28540=>1000,28541=>1000,28542=>1000,28543=>1000,28544=>1000,28545=>1000,28546=>1000,28547=>1000,28548=>1000,28549=>1000,28550=>1000,28551=>1000,28552=>1000,28553=>1000,28554=>1000,28555=>1000,28556=>1000,28557=>1000,28558=>1000,28559=>1000,28560=>1000,28561=>1000,28562=>1000,28563=>1000,28564=>1000,28565=>1000,28566=>1000,28567=>1000,28568=>1000,28569=>1000,28570=>1000,28571=>1000,28572=>1000,28573=>1000,28574=>1000,28575=>1000,28576=>1000,28577=>1000,28578=>1000,28579=>1000,28580=>1000,28581=>1000,28582=>1000,28583=>1000,28584=>1000,28585=>1000,28586=>1000,28587=>1000,28588=>1000,28589=>1000,28590=>1000,28591=>1000,28592=>1000,28593=>1000,28594=>1000,28595=>1000,28596=>1000,28597=>1000,28598=>1000,28599=>1000,28600=>1000,28601=>1000,28602=>1000,28603=>1000,28604=>1000,28605=>1000,28606=>1000,28607=>1000,28608=>1000,28609=>1000,28610=>1000,28611=>1000,28612=>1000,28613=>1000,28614=>1000,28615=>1000,28616=>1000,28617=>1000,28618=>1000,28619=>1000,28620=>1000,28621=>1000,28622=>1000,28623=>1000,28624=>1000,28625=>1000,28626=>1000,28627=>1000,28628=>1000,28629=>1000,28630=>1000,28631=>1000,28632=>1000,28633=>1000,28634=>1000,28635=>1000,28636=>1000,28637=>1000,28638=>1000,28639=>1000,28640=>1000,28641=>1000,28642=>1000,28643=>1000,28644=>1000,28645=>1000,28646=>1000,28647=>1000,28648=>1000,28649=>1000,28650=>1000,28651=>1000,28652=>1000,28653=>1000,28654=>1000,28655=>1000,28656=>1000,28657=>1000,28658=>1000,28659=>1000,28660=>1000,28661=>1000,28662=>1000,28663=>1000,28664=>1000,28665=>1000,28666=>1000,28667=>1000,28668=>1000,28669=>1000,28670=>1000,28671=>1000,28672=>1000,28673=>1000,28674=>1000,28675=>1000,28676=>1000,28677=>1000,28678=>1000,28679=>1000,28680=>1000,28681=>1000,28682=>1000,28683=>1000,28684=>1000,28685=>1000,28686=>1000,28687=>1000,28688=>1000,28689=>1000,28690=>1000,28691=>1000,28692=>1000,28693=>1000,28694=>1000,28695=>1000,28696=>1000,28697=>1000,28698=>1000,28699=>1000,28700=>1000,28701=>1000,28702=>1000,28703=>1000,28704=>1000,28705=>1000,28706=>1000,28707=>1000,28708=>1000,28709=>1000,28710=>1000,28711=>1000,28712=>1000,28713=>1000,28714=>1000,28715=>1000,28716=>1000,28717=>1000,28718=>1000,28719=>1000,28720=>1000,28721=>1000,28722=>1000,28723=>1000,28724=>1000,28725=>1000,28726=>1000,28727=>1000,28728=>1000,28729=>1000,28730=>1000,28731=>1000,28732=>1000,28733=>1000,28734=>1000,28735=>1000,28736=>1000,28737=>1000,28738=>1000,28739=>1000,28740=>1000,28741=>1000,28742=>1000,28743=>1000,28744=>1000,28745=>1000,28746=>1000,28747=>1000,28748=>1000,28749=>1000,28750=>1000,28751=>1000,28752=>1000,28753=>1000,28754=>1000,28755=>1000,28756=>1000,28757=>1000,28758=>1000,28759=>1000,28760=>1000,28761=>1000,28762=>1000,28763=>1000,28764=>1000,28765=>1000,28766=>1000,28767=>1000,28768=>1000,28769=>1000,28770=>1000,28771=>1000,28772=>1000,28773=>1000,28774=>1000,28775=>1000,28776=>1000,28777=>1000,28778=>1000,28779=>1000,28780=>1000,28781=>1000,28782=>1000,28783=>1000,28784=>1000,28785=>1000,28786=>1000,28787=>1000,28788=>1000,28789=>1000,28790=>1000,28791=>1000,28792=>1000,28793=>1000,28794=>1000,28795=>1000,28796=>1000,28797=>1000,28798=>1000,28799=>1000,28800=>1000,28801=>1000,28802=>1000,28803=>1000,28804=>1000,28805=>1000,28806=>1000,28807=>1000,28808=>1000,28809=>1000,28810=>1000,28811=>1000,28812=>1000,28813=>1000,28814=>1000,28815=>1000,28816=>1000,28817=>1000,28818=>1000,28819=>1000,28820=>1000,28821=>1000,28822=>1000,28823=>1000,28824=>1000,28825=>1000,28826=>1000,28827=>1000,28828=>1000,28829=>1000,28830=>1000,28831=>1000,28832=>1000,28833=>1000,28834=>1000,28835=>1000,28836=>1000,28837=>1000,28838=>1000,28839=>1000,28840=>1000,28841=>1000,28842=>1000,28843=>1000,28844=>1000,28845=>1000,28846=>1000,28847=>1000,28848=>1000,28849=>1000,28850=>1000,28851=>1000,28852=>1000,28853=>1000,28854=>1000,28855=>1000,28856=>1000,28857=>1000,28858=>1000,28859=>1000,28860=>1000,28861=>1000,28862=>1000,28863=>1000,28864=>1000,28865=>1000,28866=>1000,28867=>1000,28868=>1000,28869=>1000,28870=>1000,28871=>1000,28872=>1000,28873=>1000,28874=>1000,28875=>1000,28876=>1000,28877=>1000,28878=>1000,28879=>1000,28880=>1000,28881=>1000,28882=>1000,28883=>1000,28884=>1000,28885=>1000,28886=>1000,28887=>1000,28888=>1000,28889=>1000,28890=>1000,28891=>1000,28892=>1000,28893=>1000,28894=>1000,28895=>1000,28896=>1000,28897=>1000,28898=>1000,28899=>1000,28900=>1000,28901=>1000,28902=>1000,28903=>1000,28904=>1000,28905=>1000,28906=>1000,28907=>1000,28908=>1000,28909=>1000,28910=>1000,28911=>1000,28912=>1000,28913=>1000,28914=>1000,28915=>1000,28916=>1000,28917=>1000,28918=>1000,28919=>1000,28920=>1000,28921=>1000,28922=>1000,28923=>1000,28924=>1000,28925=>1000,28926=>1000,28927=>1000,28928=>1000,28929=>1000,28930=>1000,28931=>1000,28932=>1000,28933=>1000,28934=>1000,28935=>1000,28936=>1000,28937=>1000,28938=>1000,28939=>1000,28940=>1000,28941=>1000,28942=>1000,28943=>1000,28944=>1000,28945=>1000,28946=>1000,28947=>1000,28948=>1000,28949=>1000,28950=>1000,28951=>1000,28952=>1000,28953=>1000,28954=>1000,28955=>1000,28956=>1000,28957=>1000,28958=>1000,28959=>1000,28960=>1000,28961=>1000,28962=>1000,28963=>1000,28964=>1000,28965=>1000,28966=>1000,28967=>1000,28968=>1000,28969=>1000,28970=>1000,28971=>1000,28972=>1000,28973=>1000,28974=>1000,28975=>1000,28976=>1000,28977=>1000,28978=>1000,28979=>1000,28980=>1000,28981=>1000,28982=>1000,28983=>1000,28984=>1000,28985=>1000,28986=>1000,28987=>1000,28988=>1000,28989=>1000,28990=>1000,28991=>1000,28992=>1000,28993=>1000,28994=>1000,28995=>1000,28996=>1000,28997=>1000,28998=>1000,28999=>1000,29000=>1000,29001=>1000,29002=>1000,29003=>1000,29004=>1000,29005=>1000,29006=>1000,29007=>1000,29008=>1000,29009=>1000,29010=>1000,29011=>1000,29012=>1000,29013=>1000,29014=>1000,29015=>1000,29016=>1000,29017=>1000,29018=>1000,29019=>1000,29020=>1000,29021=>1000,29022=>1000,29023=>1000,29024=>1000,29025=>1000,29026=>1000,29027=>1000,29028=>1000,29029=>1000,29030=>1000,29031=>1000,29032=>1000,29033=>1000,29034=>1000,29035=>1000,29036=>1000,29037=>1000,29038=>1000,29039=>1000,29040=>1000,29041=>1000,29042=>1000,29043=>1000,29044=>1000,29045=>1000,29046=>1000,29047=>1000,29048=>1000,29049=>1000,29050=>1000,29051=>1000,29052=>1000,29053=>1000,29054=>1000,29055=>1000,29056=>1000,29057=>1000,29058=>1000,29059=>1000,29060=>1000,29061=>1000,29062=>1000,29063=>1000,29064=>1000,29065=>1000,29066=>1000,29067=>1000,29068=>1000,29069=>1000,29070=>1000,29071=>1000,29072=>1000,29073=>1000,29074=>1000,29075=>1000,29076=>1000,29077=>1000,29078=>1000,29079=>1000,29080=>1000,29081=>1000,29082=>1000,29083=>1000,29084=>1000,29085=>1000,29086=>1000,29087=>1000,29088=>1000,29089=>1000,29090=>1000,29091=>1000,29092=>1000,29093=>1000,29094=>1000,29095=>1000,29096=>1000,29097=>1000,29098=>1000,29099=>1000,29100=>1000,29101=>1000,29102=>1000,29103=>1000,29104=>1000,29105=>1000,29106=>1000,29107=>1000,29108=>1000,29109=>1000,29110=>1000,29111=>1000,29112=>1000,29113=>1000,29114=>1000,29115=>1000,29116=>1000,29117=>1000,29118=>1000,29119=>1000,29120=>1000,29121=>1000,29122=>1000,29123=>1000,29124=>1000,29125=>1000,29126=>1000,29127=>1000,29128=>1000,29129=>1000,29130=>1000,29131=>1000,29132=>1000,29133=>1000,29134=>1000,29135=>1000,29136=>1000,29137=>1000,29138=>1000,29139=>1000,29140=>1000,29141=>1000,29142=>1000,29143=>1000,29144=>1000,29145=>1000,29146=>1000,29147=>1000,29148=>1000,29149=>1000,29150=>1000,29151=>1000,29152=>1000,29153=>1000,29154=>1000,29155=>1000,29156=>1000,29157=>1000,29158=>1000,29159=>1000,29160=>1000,29161=>1000,29162=>1000,29163=>1000,29164=>1000,29165=>1000,29166=>1000,29167=>1000,29168=>1000,29169=>1000,29170=>1000,29171=>1000,29172=>1000,29173=>1000,29174=>1000,29175=>1000,29176=>1000,29177=>1000,29178=>1000,29179=>1000,29180=>1000,29181=>1000,29182=>1000,29183=>1000,29184=>1000,29185=>1000,29186=>1000,29187=>1000,29188=>1000,29189=>1000,29190=>1000,29191=>1000,29192=>1000,29193=>1000,29194=>1000,29195=>1000,29196=>1000,29197=>1000,29198=>1000,29199=>1000,29200=>1000,29201=>1000,29202=>1000,29203=>1000,29204=>1000,29205=>1000,29206=>1000,29207=>1000,29208=>1000,29209=>1000,29210=>1000,29211=>1000,29212=>1000,29213=>1000,29214=>1000,29215=>1000,29216=>1000,29217=>1000,29218=>1000,29219=>1000,29220=>1000,29221=>1000,29222=>1000,29223=>1000,29224=>1000,29225=>1000,29226=>1000,29227=>1000,29228=>1000,29229=>1000,29230=>1000,29231=>1000,29232=>1000,29233=>1000,29234=>1000,29235=>1000,29236=>1000,29237=>1000,29238=>1000,29239=>1000,29240=>1000,29241=>1000,29242=>1000,29243=>1000,29244=>1000,29245=>1000,29246=>1000,29247=>1000,29248=>1000,29249=>1000,29250=>1000,29251=>1000,29252=>1000,29253=>1000,29254=>1000,29255=>1000,29256=>1000,29257=>1000,29258=>1000,29259=>1000,29260=>1000,29261=>1000,29262=>1000,29263=>1000,29264=>1000,29265=>1000,29266=>1000,29267=>1000,29268=>1000,29269=>1000,29270=>1000,29271=>1000,29272=>1000,29273=>1000,29274=>1000,29275=>1000,29276=>1000,29277=>1000,29278=>1000,29279=>1000,29280=>1000,29281=>1000,29282=>1000,29283=>1000,29284=>1000,29285=>1000,29286=>1000,29287=>1000,29288=>1000,29289=>1000,29290=>1000,29291=>1000,29292=>1000,29293=>1000,29294=>1000,29295=>1000,29296=>1000,29297=>1000,29298=>1000,29299=>1000,29300=>1000,29301=>1000,29302=>1000,29303=>1000,29304=>1000,29305=>1000,29306=>1000,29307=>1000,29308=>1000,29309=>1000,29310=>1000,29311=>1000,29312=>1000,29313=>1000,29314=>1000,29315=>1000,29316=>1000,29317=>1000,29318=>1000,29319=>1000,29320=>1000,29321=>1000,29322=>1000,29323=>1000,29324=>1000,29325=>1000,29326=>1000,29327=>1000,29328=>1000,29329=>1000,29330=>1000,29331=>1000,29332=>1000,29333=>1000,29334=>1000,29335=>1000,29336=>1000,29337=>1000,29338=>1000,29339=>1000,29340=>1000,29341=>1000,29342=>1000,29343=>1000,29344=>1000,29345=>1000,29346=>1000,29347=>1000,29348=>1000,29349=>1000,29350=>1000,29351=>1000,29352=>1000,29353=>1000,29354=>1000,29355=>1000,29356=>1000,29357=>1000,29358=>1000,29359=>1000,29360=>1000,29361=>1000,29362=>1000,29363=>1000,29364=>1000,29365=>1000,29366=>1000,29367=>1000,29368=>1000,29369=>1000,29370=>1000,29371=>1000,29372=>1000,29373=>1000,29374=>1000,29375=>1000,29376=>1000,29377=>1000,29378=>1000,29379=>1000,29380=>1000,29381=>1000,29382=>1000,29383=>1000,29384=>1000,29385=>1000,29386=>1000,29387=>1000,29388=>1000,29389=>1000,29390=>1000,29391=>1000,29392=>1000,29393=>1000,29394=>1000,29395=>1000,29396=>1000,29397=>1000,29398=>1000,29399=>1000,29400=>1000,29401=>1000,29402=>1000,29403=>1000,29404=>1000,29405=>1000,29406=>1000,29407=>1000,29408=>1000,29409=>1000,29410=>1000,29411=>1000,29412=>1000,29413=>1000,29414=>1000,29415=>1000,29416=>1000,29417=>1000,29418=>1000,29419=>1000,29420=>1000,29421=>1000,29422=>1000,29423=>1000,29424=>1000,29425=>1000,29426=>1000,29427=>1000,29428=>1000,29429=>1000,29430=>1000,29431=>1000,29432=>1000,29433=>1000,29434=>1000,29435=>1000,29436=>1000,29437=>1000,29438=>1000,29439=>1000,29440=>1000,29441=>1000,29442=>1000,29443=>1000,29444=>1000,29445=>1000,29446=>1000,29447=>1000,29448=>1000,29449=>1000,29450=>1000,29451=>1000,29452=>1000,29453=>1000,29454=>1000,29455=>1000,29456=>1000,29457=>1000,29458=>1000,29459=>1000,29460=>1000,29461=>1000,29462=>1000,29463=>1000,29464=>1000,29465=>1000,29466=>1000,29467=>1000,29468=>1000,29469=>1000,29470=>1000,29471=>1000,29472=>1000,29473=>1000,29474=>1000,29475=>1000,29476=>1000,29477=>1000,29478=>1000,29479=>1000,29480=>1000,29481=>1000,29482=>1000,29483=>1000,29484=>1000,29485=>1000,29486=>1000,29487=>1000,29488=>1000,29489=>1000,29490=>1000,29491=>1000,29492=>1000,29493=>1000,29494=>1000,29495=>1000,29496=>1000,29497=>1000,29498=>1000,29499=>1000,29500=>1000,29501=>1000,29502=>1000,29503=>1000,29504=>1000,29505=>1000,29506=>1000,29507=>1000,29508=>1000,29509=>1000,29510=>1000,29511=>1000,29512=>1000,29513=>1000,29514=>1000,29515=>1000,29516=>1000,29517=>1000,29518=>1000,29519=>1000,29520=>1000,29521=>1000,29522=>1000,29523=>1000,29524=>1000,29525=>1000,29526=>1000,29527=>1000,29528=>1000,29529=>1000,29530=>1000,29531=>1000,29532=>1000,29533=>1000,29534=>1000,29535=>1000,29536=>1000,29537=>1000,29538=>1000,29539=>1000,29540=>1000,29541=>1000,29542=>1000,29543=>1000,29544=>1000,29545=>1000,29546=>1000,29547=>1000,29548=>1000,29549=>1000,29550=>1000,29551=>1000,29552=>1000,29553=>1000,29554=>1000,29555=>1000,29556=>1000,29557=>1000,29558=>1000,29559=>1000,29560=>1000,29561=>1000,29562=>1000,29563=>1000,29564=>1000,29565=>1000,29566=>1000,29567=>1000,29568=>1000,29569=>1000,29570=>1000,29571=>1000,29572=>1000,29573=>1000,29574=>1000,29575=>1000,29576=>1000,29577=>1000,29578=>1000,29579=>1000,29580=>1000,29581=>1000,29582=>1000,29583=>1000,29584=>1000,29585=>1000,29586=>1000,29587=>1000,29588=>1000,29589=>1000,29590=>1000,29591=>1000,29592=>1000,29593=>1000,29594=>1000,29595=>1000,29596=>1000,29597=>1000,29598=>1000,29599=>1000,29600=>1000,29601=>1000,29602=>1000,29603=>1000,29604=>1000,29605=>1000,29606=>1000,29607=>1000,29608=>1000,29609=>1000,29610=>1000,29611=>1000,29612=>1000,29613=>1000,29614=>1000,29615=>1000,29616=>1000,29617=>1000,29618=>1000,29619=>1000,29620=>1000,29621=>1000,29622=>1000,29623=>1000,29624=>1000,29625=>1000,29626=>1000,29627=>1000,29628=>1000,29629=>1000,29630=>1000,29631=>1000,29632=>1000,29633=>1000,29634=>1000,29635=>1000,29636=>1000,29637=>1000,29638=>1000,29639=>1000,29640=>1000,29641=>1000,29642=>1000,29643=>1000,29644=>1000,29645=>1000,29646=>1000,29647=>1000,29648=>1000,29649=>1000,29650=>1000,29651=>1000,29652=>1000,29653=>1000,29654=>1000,29655=>1000,29656=>1000,29657=>1000,29658=>1000,29659=>1000,29660=>1000,29661=>1000,29662=>1000,29663=>1000,29664=>1000,29665=>1000,29666=>1000,29667=>1000,29668=>1000,29669=>1000,29670=>1000,29671=>1000,29672=>1000,29673=>1000,29674=>1000,29675=>1000,29676=>1000,29677=>1000,29678=>1000,29679=>1000,29680=>1000,29681=>1000,29682=>1000,29683=>1000,29684=>1000,29685=>1000,29686=>1000,29687=>1000,29688=>1000,29689=>1000,29690=>1000,29691=>1000,29692=>1000,29693=>1000,29694=>1000,29695=>1000,29696=>1000,29697=>1000,29698=>1000,29699=>1000,29700=>1000,29701=>1000,29702=>1000,29703=>1000,29704=>1000,29705=>1000,29706=>1000,29707=>1000,29708=>1000,29709=>1000,29710=>1000,29711=>1000,29712=>1000,29713=>1000,29714=>1000,29715=>1000,29716=>1000,29717=>1000,29718=>1000,29719=>1000,29720=>1000,29721=>1000,29722=>1000,29723=>1000,29724=>1000,29725=>1000,29726=>1000,29727=>1000,29728=>1000,29729=>1000,29730=>1000,29731=>1000,29732=>1000,29733=>1000,29734=>1000,29735=>1000,29736=>1000,29737=>1000,29738=>1000,29739=>1000,29740=>1000,29741=>1000,29742=>1000,29743=>1000,29744=>1000,29745=>1000,29746=>1000,29747=>1000,29748=>1000,29749=>1000,29750=>1000,29751=>1000,29752=>1000,29753=>1000,29754=>1000,29755=>1000,29756=>1000,29757=>1000,29758=>1000,29759=>1000,29760=>1000,29761=>1000,29762=>1000,29763=>1000,29764=>1000,29765=>1000,29766=>1000,29767=>1000,29768=>1000,29769=>1000,29770=>1000,29771=>1000,29772=>1000,29773=>1000,29774=>1000,29775=>1000,29776=>1000,29777=>1000,29778=>1000,29779=>1000,29780=>1000,29781=>1000,29782=>1000,29783=>1000,29784=>1000,29785=>1000,29786=>1000,29787=>1000,29788=>1000,29789=>1000,29790=>1000,29791=>1000,29792=>1000,29793=>1000,29794=>1000,29795=>1000,29796=>1000,29797=>1000,29798=>1000,29799=>1000,29800=>1000,29801=>1000,29802=>1000,29803=>1000,29804=>1000,29805=>1000,29806=>1000,29807=>1000,29808=>1000,29809=>1000,29810=>1000,29811=>1000,29812=>1000,29813=>1000,29814=>1000,29815=>1000,29816=>1000,29817=>1000,29818=>1000,29819=>1000,29820=>1000,29821=>1000,29822=>1000,29823=>1000,29824=>1000,29825=>1000,29826=>1000,29827=>1000,29828=>1000,29829=>1000,29830=>1000,29831=>1000,29832=>1000,29833=>1000,29834=>1000,29835=>1000,29836=>1000,29837=>1000,29838=>1000,29839=>1000,29840=>1000,29841=>1000,29842=>1000,29843=>1000,29844=>1000,29845=>1000,29846=>1000,29847=>1000,29848=>1000,29849=>1000,29850=>1000,29851=>1000,29852=>1000,29853=>1000,29854=>1000,29855=>1000,29856=>1000,29857=>1000,29858=>1000,29859=>1000,29860=>1000,29861=>1000,29862=>1000,29863=>1000,29864=>1000,29865=>1000,29866=>1000,29867=>1000,29868=>1000,29869=>1000,29870=>1000,29871=>1000,29872=>1000,29873=>1000,29874=>1000,29875=>1000,29876=>1000,29877=>1000,29878=>1000,29879=>1000,29880=>1000,29881=>1000,29882=>1000,29883=>1000,29884=>1000,29885=>1000,29886=>1000,29887=>1000,29888=>1000,29889=>1000,29890=>1000,29891=>1000,29892=>1000,29893=>1000,29894=>1000,29895=>1000,29896=>1000,29897=>1000,29898=>1000,29899=>1000,29900=>1000,29901=>1000,29902=>1000,29903=>1000,29904=>1000,29905=>1000,29906=>1000,29907=>1000,29908=>1000,29909=>1000,29910=>1000,29911=>1000,29912=>1000,29913=>1000,29914=>1000,29915=>1000,29916=>1000,29917=>1000,29918=>1000,29919=>1000,29920=>1000,29921=>1000,29922=>1000,29923=>1000,29924=>1000,29925=>1000,29926=>1000,29927=>1000,29928=>1000,29929=>1000,29930=>1000,29931=>1000,29932=>1000,29933=>1000,29934=>1000,29935=>1000,29936=>1000,29937=>1000,29938=>1000,29939=>1000,29940=>1000,29941=>1000,29942=>1000,29943=>1000,29944=>1000,29945=>1000,29946=>1000,29947=>1000,29948=>1000,29949=>1000,29950=>1000,29951=>1000,29952=>1000,29953=>1000,29954=>1000,29955=>1000,29956=>1000,29957=>1000,29958=>1000,29959=>1000,29960=>1000,29961=>1000,29962=>1000,29963=>1000,29964=>1000,29965=>1000,29966=>1000,29967=>1000,29968=>1000,29969=>1000,29970=>1000,29971=>1000,29972=>1000,29973=>1000,29974=>1000,29975=>1000,29976=>1000,29977=>1000,29978=>1000,29979=>1000,29980=>1000,29981=>1000,29982=>1000,29983=>1000,29984=>1000,29985=>1000,29986=>1000,29987=>1000,29988=>1000,29989=>1000,29990=>1000,29991=>1000,29992=>1000,29993=>1000,29994=>1000,29995=>1000,29996=>1000,29997=>1000,29998=>1000,29999=>1000,30000=>1000,30001=>1000,30002=>1000,30003=>1000,30004=>1000,30005=>1000,30006=>1000,30007=>1000,30008=>1000,30009=>1000,30010=>1000,30011=>1000,30012=>1000,30013=>1000,30014=>1000,30015=>1000,30016=>1000,30017=>1000,30018=>1000,30019=>1000,30020=>1000,30021=>1000,30022=>1000,30023=>1000,30024=>1000,30025=>1000,30026=>1000,30027=>1000,30028=>1000,30029=>1000,30030=>1000,30031=>1000,30032=>1000,30033=>1000,30034=>1000,30035=>1000,30036=>1000,30037=>1000,30038=>1000,30039=>1000,30040=>1000,30041=>1000,30042=>1000,30043=>1000,30044=>1000,30045=>1000,30046=>1000,30047=>1000,30048=>1000,30049=>1000,30050=>1000,30051=>1000,30052=>1000,30053=>1000,30054=>1000,30055=>1000,30056=>1000,30057=>1000,30058=>1000,30059=>1000,30060=>1000,30061=>1000,30062=>1000,30063=>1000,30064=>1000,30065=>1000,30066=>1000,30067=>1000,30068=>1000,30069=>1000,30070=>1000,30071=>1000,30072=>1000,30073=>1000,30074=>1000,30075=>1000,30076=>1000,30077=>1000,30078=>1000,30079=>1000,30080=>1000,30081=>1000,30082=>1000,30083=>1000,30084=>1000,30085=>1000,30086=>1000,30087=>1000,30088=>1000,30089=>1000,30090=>1000,30091=>1000,30092=>1000,30093=>1000,30094=>1000,30095=>1000,30096=>1000,30097=>1000,30098=>1000,30099=>1000,30100=>1000,30101=>1000,30102=>1000,30103=>1000,30104=>1000,30105=>1000,30106=>1000,30107=>1000,30108=>1000,30109=>1000,30110=>1000,30111=>1000,30112=>1000,30113=>1000,30114=>1000,30115=>1000,30116=>1000,30117=>1000,30118=>1000,30119=>1000,30120=>1000,30121=>1000,30122=>1000,30123=>1000,30124=>1000,30125=>1000,30126=>1000,30127=>1000,30128=>1000,30129=>1000,30130=>1000,30131=>1000,30132=>1000,30133=>1000,30134=>1000,30135=>1000,30136=>1000,30137=>1000,30138=>1000,30139=>1000,30140=>1000,30141=>1000,30142=>1000,30143=>1000,30144=>1000,30145=>1000,30146=>1000,30147=>1000,30148=>1000,30149=>1000,30150=>1000,30151=>1000,30152=>1000,30153=>1000,30154=>1000,30155=>1000,30156=>1000,30157=>1000,30158=>1000,30159=>1000,30160=>1000,30161=>1000,30162=>1000,30163=>1000,30164=>1000,30165=>1000,30166=>1000,30167=>1000,30168=>1000,30169=>1000,30170=>1000,30171=>1000,30172=>1000,30173=>1000,30174=>1000,30175=>1000,30176=>1000,30177=>1000,30178=>1000,30179=>1000,30180=>1000,30181=>1000,30182=>1000,30183=>1000,30184=>1000,30185=>1000,30186=>1000,30187=>1000,30188=>1000,30189=>1000,30190=>1000,30191=>1000,30192=>1000,30193=>1000,30194=>1000,30195=>1000,30196=>1000,30197=>1000,30198=>1000,30199=>1000,30200=>1000,30201=>1000,30202=>1000,30203=>1000,30204=>1000,30205=>1000,30206=>1000,30207=>1000,30208=>1000,30209=>1000,30210=>1000,30211=>1000,30212=>1000,30213=>1000,30214=>1000,30215=>1000,30216=>1000,30217=>1000,30218=>1000,30219=>1000,30220=>1000,30221=>1000,30222=>1000,30223=>1000,30224=>1000,30225=>1000,30226=>1000,30227=>1000,30228=>1000,30229=>1000,30230=>1000,30231=>1000,30232=>1000,30233=>1000,30234=>1000,30235=>1000,30236=>1000,30237=>1000,30238=>1000,30239=>1000,30240=>1000,30241=>1000,30242=>1000,30243=>1000,30244=>1000,30245=>1000,30246=>1000,30247=>1000,30248=>1000,30249=>1000,30250=>1000,30251=>1000,30252=>1000,30253=>1000,30254=>1000,30255=>1000,30256=>1000,30257=>1000,30258=>1000,30259=>1000,30260=>1000,30261=>1000,30262=>1000,30263=>1000,30264=>1000,30265=>1000,30266=>1000,30267=>1000,30268=>1000,30269=>1000,30270=>1000,30271=>1000,30272=>1000,30273=>1000,30274=>1000,30275=>1000,30276=>1000,30277=>1000,30278=>1000,30279=>1000,30280=>1000,30281=>1000,30282=>1000,30283=>1000,30284=>1000,30285=>1000,30286=>1000,30287=>1000,30288=>1000,30289=>1000,30290=>1000,30291=>1000,30292=>1000,30293=>1000,30294=>1000,30295=>1000,30296=>1000,30297=>1000,30298=>1000,30299=>1000,30300=>1000,30301=>1000,30302=>1000,30303=>1000,30304=>1000,30305=>1000,30306=>1000,30307=>1000,30308=>1000,30309=>1000,30310=>1000,30311=>1000,30312=>1000,30313=>1000,30314=>1000,30315=>1000,30316=>1000,30317=>1000,30318=>1000,30319=>1000,30320=>1000,30321=>1000,30322=>1000,30323=>1000,30324=>1000,30325=>1000,30326=>1000,30327=>1000,30328=>1000,30329=>1000,30330=>1000,30331=>1000,30332=>1000,30333=>1000,30334=>1000,30335=>1000,30336=>1000,30337=>1000,30338=>1000,30339=>1000,30340=>1000,30341=>1000,30342=>1000,30343=>1000,30344=>1000,30345=>1000,30346=>1000,30347=>1000,30348=>1000,30349=>1000,30350=>1000,30351=>1000,30352=>1000,30353=>1000,30354=>1000,30355=>1000,30356=>1000,30357=>1000,30358=>1000,30359=>1000,30360=>1000,30361=>1000,30362=>1000,30363=>1000,30364=>1000,30365=>1000,30366=>1000,30367=>1000,30368=>1000,30369=>1000,30370=>1000,30371=>1000,30372=>1000,30373=>1000,30374=>1000,30375=>1000,30376=>1000,30377=>1000,30378=>1000,30379=>1000,30380=>1000,30381=>1000,30382=>1000,30383=>1000,30384=>1000,30385=>1000,30386=>1000,30387=>1000,30388=>1000,30389=>1000,30390=>1000,30391=>1000,30392=>1000,30393=>1000,30394=>1000,30395=>1000,30396=>1000,30397=>1000,30398=>1000,30399=>1000,30400=>1000,30401=>1000,30402=>1000,30403=>1000,30404=>1000,30405=>1000,30406=>1000,30407=>1000,30408=>1000,30409=>1000,30410=>1000,30411=>1000,30412=>1000,30413=>1000,30414=>1000,30415=>1000,30416=>1000,30417=>1000,30418=>1000,30419=>1000,30420=>1000,30421=>1000,30422=>1000,30423=>1000,30424=>1000,30425=>1000,30426=>1000,30427=>1000,30428=>1000,30429=>1000,30430=>1000,30431=>1000,30432=>1000,30433=>1000,30434=>1000,30435=>1000,30436=>1000,30437=>1000,30438=>1000,30439=>1000,30440=>1000,30441=>1000,30442=>1000,30443=>1000,30444=>1000,30445=>1000,30446=>1000,30447=>1000,30448=>1000,30449=>1000,30450=>1000,30451=>1000,30452=>1000,30453=>1000,30454=>1000,30455=>1000,30456=>1000,30457=>1000,30458=>1000,30459=>1000,30460=>1000,30461=>1000,30462=>1000,30463=>1000,30464=>1000,30465=>1000,30466=>1000,30467=>1000,30468=>1000,30469=>1000,30470=>1000,30471=>1000,30472=>1000,30473=>1000,30474=>1000,30475=>1000,30476=>1000,30477=>1000,30478=>1000,30479=>1000,30480=>1000,30481=>1000,30482=>1000,30483=>1000,30484=>1000,30485=>1000,30486=>1000,30487=>1000,30488=>1000,30489=>1000,30490=>1000,30491=>1000,30492=>1000,30493=>1000,30494=>1000,30495=>1000,30496=>1000,30497=>1000,30498=>1000,30499=>1000,30500=>1000,30501=>1000,30502=>1000,30503=>1000,30504=>1000,30505=>1000,30506=>1000,30507=>1000,30508=>1000,30509=>1000,30510=>1000,30511=>1000,30512=>1000,30513=>1000,30514=>1000,30515=>1000,30516=>1000,30517=>1000,30518=>1000,30519=>1000,30520=>1000,30521=>1000,30522=>1000,30523=>1000,30524=>1000,30525=>1000,30526=>1000,30527=>1000,30528=>1000,30529=>1000,30530=>1000,30531=>1000,30532=>1000,30533=>1000,30534=>1000,30535=>1000,30536=>1000,30537=>1000,30538=>1000,30539=>1000,30540=>1000,30541=>1000,30542=>1000,30543=>1000,30544=>1000,30545=>1000,30546=>1000,30547=>1000,30548=>1000,30549=>1000,30550=>1000,30551=>1000,30552=>1000,30553=>1000,30554=>1000,30555=>1000,30556=>1000,30557=>1000,30558=>1000,30559=>1000,30560=>1000,30561=>1000,30562=>1000,30563=>1000,30564=>1000,30565=>1000,30566=>1000,30567=>1000,30568=>1000,30569=>1000,30570=>1000,30571=>1000,30572=>1000,30573=>1000,30574=>1000,30575=>1000,30576=>1000,30577=>1000,30578=>1000,30579=>1000,30580=>1000,30581=>1000,30582=>1000,30583=>1000,30584=>1000,30585=>1000,30586=>1000,30587=>1000,30588=>1000,30589=>1000,30590=>1000,30591=>1000,30592=>1000,30593=>1000,30594=>1000,30595=>1000,30596=>1000,30597=>1000,30598=>1000,30599=>1000,30600=>1000,30601=>1000,30602=>1000,30603=>1000,30604=>1000,30605=>1000,30606=>1000,30607=>1000,30608=>1000,30609=>1000,30610=>1000,30611=>1000,30612=>1000,30613=>1000,30614=>1000,30615=>1000,30616=>1000,30617=>1000,30618=>1000,30619=>1000,30620=>1000,30621=>1000,30622=>1000,30623=>1000,30624=>1000,30625=>1000,30626=>1000,30627=>1000,30628=>1000,30629=>1000,30630=>1000,30631=>1000,30632=>1000,30633=>1000,30634=>1000,30635=>1000,30636=>1000,30637=>1000,30638=>1000,30639=>1000,30640=>1000,30641=>1000,30642=>1000,30643=>1000,30644=>1000,30645=>1000,30646=>1000,30647=>1000,30648=>1000,30649=>1000,30650=>1000,30651=>1000,30652=>1000,30653=>1000,30654=>1000,30655=>1000,30656=>1000,30657=>1000,30658=>1000,30659=>1000,30660=>1000,30661=>1000,30662=>1000,30663=>1000,30664=>1000,30665=>1000,30666=>1000,30667=>1000,30668=>1000,30669=>1000,30670=>1000,30671=>1000,30672=>1000,30673=>1000,30674=>1000,30675=>1000,30676=>1000,30677=>1000,30678=>1000,30679=>1000,30680=>1000,30681=>1000,30682=>1000,30683=>1000,30684=>1000,30685=>1000,30686=>1000,30687=>1000,30688=>1000,30689=>1000,30690=>1000,30691=>1000,30692=>1000,30693=>1000,30694=>1000,30695=>1000,30696=>1000,30697=>1000,30698=>1000,30699=>1000,30700=>1000,30701=>1000,30702=>1000,30703=>1000,30704=>1000,30705=>1000,30706=>1000,30707=>1000,30708=>1000,30709=>1000,30710=>1000,30711=>1000,30712=>1000,30713=>1000,30714=>1000,30715=>1000,30716=>1000,30717=>1000,30718=>1000,30719=>1000,30720=>1000,30721=>1000,30722=>1000,30723=>1000,30724=>1000,30725=>1000,30726=>1000,30727=>1000,30728=>1000,30729=>1000,30730=>1000,30731=>1000,30732=>1000,30733=>1000,30734=>1000,30735=>1000,30736=>1000,30737=>1000,30738=>1000,30739=>1000,30740=>1000,30741=>1000,30742=>1000,30743=>1000,30744=>1000,30745=>1000,30746=>1000,30747=>1000,30748=>1000,30749=>1000,30750=>1000,30751=>1000,30752=>1000,30753=>1000,30754=>1000,30755=>1000,30756=>1000,30757=>1000,30758=>1000,30759=>1000,30760=>1000,30761=>1000,30762=>1000,30763=>1000,30764=>1000,30765=>1000,30766=>1000,30767=>1000,30768=>1000,30769=>1000,30770=>1000,30771=>1000,30772=>1000,30773=>1000,30774=>1000,30775=>1000,30776=>1000,30777=>1000,30778=>1000,30779=>1000,30780=>1000,30781=>1000,30782=>1000,30783=>1000,30784=>1000,30785=>1000,30786=>1000,30787=>1000,30788=>1000,30789=>1000,30790=>1000,30791=>1000,30792=>1000,30793=>1000,30794=>1000,30795=>1000,30796=>1000,30797=>1000,30798=>1000,30799=>1000,30800=>1000,30801=>1000,30802=>1000,30803=>1000,30804=>1000,30805=>1000,30806=>1000,30807=>1000,30808=>1000,30809=>1000,30810=>1000,30811=>1000,30812=>1000,30813=>1000,30814=>1000,30815=>1000,30816=>1000,30817=>1000,30818=>1000,30819=>1000,30820=>1000,30821=>1000,30822=>1000,30823=>1000,30824=>1000,30825=>1000,30826=>1000,30827=>1000,30828=>1000,30829=>1000,30830=>1000,30831=>1000,30832=>1000,30833=>1000,30834=>1000,30835=>1000,30836=>1000,30837=>1000,30838=>1000,30839=>1000,30840=>1000,30841=>1000,30842=>1000,30843=>1000,30844=>1000,30845=>1000,30846=>1000,30847=>1000,30848=>1000,30849=>1000,30850=>1000,30851=>1000,30852=>1000,30853=>1000,30854=>1000,30855=>1000,30856=>1000,30857=>1000,30858=>1000,30859=>1000,30860=>1000,30861=>1000,30862=>1000,30863=>1000,30864=>1000,30865=>1000,30866=>1000,30867=>1000,30868=>1000,30869=>1000,30870=>1000,30871=>1000,30872=>1000,30873=>1000,30874=>1000,30875=>1000,30876=>1000,30877=>1000,30878=>1000,30879=>1000,30880=>1000,30881=>1000,30882=>1000,30883=>1000,30884=>1000,30885=>1000,30886=>1000,30887=>1000,30888=>1000,30889=>1000,30890=>1000,30891=>1000,30892=>1000,30893=>1000,30894=>1000,30895=>1000,30896=>1000,30897=>1000,30898=>1000,30899=>1000,30900=>1000,30901=>1000,30902=>1000,30903=>1000,30904=>1000,30905=>1000,30906=>1000,30907=>1000,30908=>1000,30909=>1000,30910=>1000,30911=>1000,30912=>1000,30913=>1000,30914=>1000,30915=>1000,30916=>1000,30917=>1000,30918=>1000,30919=>1000,30920=>1000,30921=>1000,30922=>1000,30923=>1000,30924=>1000,30925=>1000,30926=>1000,30927=>1000,30928=>1000,30929=>1000,30930=>1000,30931=>1000,30932=>1000,30933=>1000,30934=>1000,30935=>1000,30936=>1000,30937=>1000,30938=>1000,30939=>1000,30940=>1000,30941=>1000,30942=>1000,30943=>1000,30944=>1000,30945=>1000,30946=>1000,30947=>1000,30948=>1000,30949=>1000,30950=>1000,30951=>1000,30952=>1000,30953=>1000,30954=>1000,30955=>1000,30956=>1000,30957=>1000,30958=>1000,30959=>1000,30960=>1000,30961=>1000,30962=>1000,30963=>1000,30964=>1000,30965=>1000,30966=>1000,30967=>1000,30968=>1000,30969=>1000,30970=>1000,30971=>1000,30972=>1000,30973=>1000,30974=>1000,30975=>1000,30976=>1000,30977=>1000,30978=>1000,30979=>1000,30980=>1000,30981=>1000,30982=>1000,30983=>1000,30984=>1000,30985=>1000,30986=>1000,30987=>1000,30988=>1000,30989=>1000,30990=>1000,30991=>1000,30992=>1000,30993=>1000,30994=>1000,30995=>1000,30996=>1000,30997=>1000,30998=>1000,30999=>1000,31000=>1000,31001=>1000,31002=>1000,31003=>1000,31004=>1000,31005=>1000,31006=>1000,31007=>1000,31008=>1000,31009=>1000,31010=>1000,31011=>1000,31012=>1000,31013=>1000,31014=>1000,31015=>1000,31016=>1000,31017=>1000,31018=>1000,31019=>1000,31020=>1000,31021=>1000,31022=>1000,31023=>1000,31024=>1000,31025=>1000,31026=>1000,31027=>1000,31028=>1000,31029=>1000,31030=>1000,31031=>1000,31032=>1000,31033=>1000,31034=>1000,31035=>1000,31036=>1000,31037=>1000,31038=>1000,31039=>1000,31040=>1000,31041=>1000,31042=>1000,31043=>1000,31044=>1000,31045=>1000,31046=>1000,31047=>1000,31048=>1000,31049=>1000,31050=>1000,31051=>1000,31052=>1000,31053=>1000,31054=>1000,31055=>1000,31056=>1000,31057=>1000,31058=>1000,31059=>1000,31060=>1000,31061=>1000,31062=>1000,31063=>1000,31064=>1000,31065=>1000,31066=>1000,31067=>1000,31068=>1000,31069=>1000,31070=>1000,31071=>1000,31072=>1000,31073=>1000,31074=>1000,31075=>1000,31076=>1000,31077=>1000,31078=>1000,31079=>1000,31080=>1000,31081=>1000,31082=>1000,31083=>1000,31084=>1000,31085=>1000,31086=>1000,31087=>1000,31088=>1000,31089=>1000,31090=>1000,31091=>1000,31092=>1000,31093=>1000,31094=>1000,31095=>1000,31096=>1000,31097=>1000,31098=>1000,31099=>1000,31100=>1000,31101=>1000,31102=>1000,31103=>1000,31104=>1000,31105=>1000,31106=>1000,31107=>1000,31108=>1000,31109=>1000,31110=>1000,31111=>1000,31112=>1000,31113=>1000,31114=>1000,31115=>1000,31116=>1000,31117=>1000,31118=>1000,31119=>1000,31120=>1000,31121=>1000,31122=>1000,31123=>1000,31124=>1000,31125=>1000,31126=>1000,31127=>1000,31128=>1000,31129=>1000,31130=>1000,31131=>1000,31132=>1000,31133=>1000,31134=>1000,31135=>1000,31136=>1000,31137=>1000,31138=>1000,31139=>1000,31140=>1000,31141=>1000,31142=>1000,31143=>1000,31144=>1000,31145=>1000,31146=>1000,31147=>1000,31148=>1000,31149=>1000,31150=>1000,31151=>1000,31152=>1000,31153=>1000,31154=>1000,31155=>1000,31156=>1000,31157=>1000,31158=>1000,31159=>1000,31160=>1000,31161=>1000,31162=>1000,31163=>1000,31164=>1000,31165=>1000,31166=>1000,31167=>1000,31168=>1000,31169=>1000,31170=>1000,31171=>1000,31172=>1000,31173=>1000,31174=>1000,31175=>1000,31176=>1000,31177=>1000,31178=>1000,31179=>1000,31180=>1000,31181=>1000,31182=>1000,31183=>1000,31184=>1000,31185=>1000,31186=>1000,31187=>1000,31188=>1000,31189=>1000,31190=>1000,31191=>1000,31192=>1000,31193=>1000,31194=>1000,31195=>1000,31196=>1000,31197=>1000,31198=>1000,31199=>1000,31200=>1000,31201=>1000,31202=>1000,31203=>1000,31204=>1000,31205=>1000,31206=>1000,31207=>1000,31208=>1000,31209=>1000,31210=>1000,31211=>1000,31212=>1000,31213=>1000,31214=>1000,31215=>1000,31216=>1000,31217=>1000,31218=>1000,31219=>1000,31220=>1000,31221=>1000,31222=>1000,31223=>1000,31224=>1000,31225=>1000,31226=>1000,31227=>1000,31228=>1000,31229=>1000,31230=>1000,31231=>1000,31232=>1000,31233=>1000,31234=>1000,31235=>1000,31236=>1000,31237=>1000,31238=>1000,31239=>1000,31240=>1000,31241=>1000,31242=>1000,31243=>1000,31244=>1000,31245=>1000,31246=>1000,31247=>1000,31248=>1000,31249=>1000,31250=>1000,31251=>1000,31252=>1000,31253=>1000,31254=>1000,31255=>1000,31256=>1000,31257=>1000,31258=>1000,31259=>1000,31260=>1000,31261=>1000,31262=>1000,31263=>1000,31264=>1000,31265=>1000,31266=>1000,31267=>1000,31268=>1000,31269=>1000,31270=>1000,31271=>1000,31272=>1000,31273=>1000,31274=>1000,31275=>1000,31276=>1000,31277=>1000,31278=>1000,31279=>1000,31280=>1000,31281=>1000,31282=>1000,31283=>1000,31284=>1000,31285=>1000,31286=>1000,31287=>1000,31288=>1000,31289=>1000,31290=>1000,31291=>1000,31292=>1000,31293=>1000,31294=>1000,31295=>1000,31296=>1000,31297=>1000,31298=>1000,31299=>1000,31300=>1000,31301=>1000,31302=>1000,31303=>1000,31304=>1000,31305=>1000,31306=>1000,31307=>1000,31308=>1000,31309=>1000,31310=>1000,31311=>1000,31312=>1000,31313=>1000,31314=>1000,31315=>1000,31316=>1000,31317=>1000,31318=>1000,31319=>1000,31320=>1000,31321=>1000,31322=>1000,31323=>1000,31324=>1000,31325=>1000,31326=>1000,31327=>1000,31328=>1000,31329=>1000,31330=>1000,31331=>1000,31332=>1000,31333=>1000,31334=>1000,31335=>1000,31336=>1000,31337=>1000,31338=>1000,31339=>1000,31340=>1000,31341=>1000,31342=>1000,31343=>1000,31344=>1000,31345=>1000,31346=>1000,31347=>1000,31348=>1000,31349=>1000,31350=>1000,31351=>1000,31352=>1000,31353=>1000,31354=>1000,31355=>1000,31356=>1000,31357=>1000,31358=>1000,31359=>1000,31360=>1000,31361=>1000,31362=>1000,31363=>1000,31364=>1000,31365=>1000,31366=>1000,31367=>1000,31368=>1000,31369=>1000,31370=>1000,31371=>1000,31372=>1000,31373=>1000,31374=>1000,31375=>1000,31376=>1000,31377=>1000,31378=>1000,31379=>1000,31380=>1000,31381=>1000,31382=>1000,31383=>1000,31384=>1000,31385=>1000,31386=>1000,31387=>1000,31388=>1000,31389=>1000,31390=>1000,31391=>1000,31392=>1000,31393=>1000,31394=>1000,31395=>1000,31396=>1000,31397=>1000,31398=>1000,31399=>1000,31400=>1000,31401=>1000,31402=>1000,31403=>1000,31404=>1000,31405=>1000,31406=>1000,31407=>1000,31408=>1000,31409=>1000,31410=>1000,31411=>1000,31412=>1000,31413=>1000,31414=>1000,31415=>1000,31416=>1000,31417=>1000,31418=>1000,31419=>1000,31420=>1000,31421=>1000,31422=>1000,31423=>1000,31424=>1000,31425=>1000,31426=>1000,31427=>1000,31428=>1000,31429=>1000,31430=>1000,31431=>1000,31432=>1000,31433=>1000,31434=>1000,31435=>1000,31436=>1000,31437=>1000,31438=>1000,31439=>1000,31440=>1000,31441=>1000,31442=>1000,31443=>1000,31444=>1000,31445=>1000,31446=>1000,31447=>1000,31448=>1000,31449=>1000,31450=>1000,31451=>1000,31452=>1000,31453=>1000,31454=>1000,31455=>1000,31456=>1000,31457=>1000,31458=>1000,31459=>1000,31460=>1000,31461=>1000,31462=>1000,31463=>1000,31464=>1000,31465=>1000,31466=>1000,31467=>1000,31468=>1000,31469=>1000,31470=>1000,31471=>1000,31472=>1000,31473=>1000,31474=>1000,31475=>1000,31476=>1000,31477=>1000,31478=>1000,31479=>1000,31480=>1000,31481=>1000,31482=>1000,31483=>1000,31484=>1000,31485=>1000,31486=>1000,31487=>1000,31488=>1000,31489=>1000,31490=>1000,31491=>1000,31492=>1000,31493=>1000,31494=>1000,31495=>1000,31496=>1000,31497=>1000,31498=>1000,31499=>1000,31500=>1000,31501=>1000,31502=>1000,31503=>1000,31504=>1000,31505=>1000,31506=>1000,31507=>1000,31508=>1000,31509=>1000,31510=>1000,31511=>1000,31512=>1000,31513=>1000,31514=>1000,31515=>1000,31516=>1000,31517=>1000,31518=>1000,31519=>1000,31520=>1000,31521=>1000,31522=>1000,31523=>1000,31524=>1000,31525=>1000,31526=>1000,31527=>1000,31528=>1000,31529=>1000,31530=>1000,31531=>1000,31532=>1000,31533=>1000,31534=>1000,31535=>1000,31536=>1000,31537=>1000,31538=>1000,31539=>1000,31540=>1000,31541=>1000,31542=>1000,31543=>1000,31544=>1000,31545=>1000,31546=>1000,31547=>1000,31548=>1000,31549=>1000,31550=>1000,31551=>1000,31552=>1000,31553=>1000,31554=>1000,31555=>1000,31556=>1000,31557=>1000,31558=>1000,31559=>1000,31560=>1000,31561=>1000,31562=>1000,31563=>1000,31564=>1000,31565=>1000,31566=>1000,31567=>1000,31568=>1000,31569=>1000,31570=>1000,31571=>1000,31572=>1000,31573=>1000,31574=>1000,31575=>1000,31576=>1000,31577=>1000,31578=>1000,31579=>1000,31580=>1000,31581=>1000,31582=>1000,31583=>1000,31584=>1000,31585=>1000,31586=>1000,31587=>1000,31588=>1000,31589=>1000,31590=>1000,31591=>1000,31592=>1000,31593=>1000,31594=>1000,31595=>1000,31596=>1000,31597=>1000,31598=>1000,31599=>1000,31600=>1000,31601=>1000,31602=>1000,31603=>1000,31604=>1000,31605=>1000,31606=>1000,31607=>1000,31608=>1000,31609=>1000,31610=>1000,31611=>1000,31612=>1000,31613=>1000,31614=>1000,31615=>1000,31616=>1000,31617=>1000,31618=>1000,31619=>1000,31620=>1000,31621=>1000,31622=>1000,31623=>1000,31624=>1000,31625=>1000,31626=>1000,31627=>1000,31628=>1000,31629=>1000,31630=>1000,31631=>1000,31632=>1000,31633=>1000,31634=>1000,31635=>1000,31636=>1000,31637=>1000,31638=>1000,31639=>1000,31640=>1000,31641=>1000,31642=>1000,31643=>1000,31644=>1000,31645=>1000,31646=>1000,31647=>1000,31648=>1000,31649=>1000,31650=>1000,31651=>1000,31652=>1000,31653=>1000,31654=>1000,31655=>1000,31656=>1000,31657=>1000,31658=>1000,31659=>1000,31660=>1000,31661=>1000,31662=>1000,31663=>1000,31664=>1000,31665=>1000,31666=>1000,31667=>1000,31668=>1000,31669=>1000,31670=>1000,31671=>1000,31672=>1000,31673=>1000,31674=>1000,31675=>1000,31676=>1000,31677=>1000,31678=>1000,31679=>1000,31680=>1000,31681=>1000,31682=>1000,31683=>1000,31684=>1000,31685=>1000,31686=>1000,31687=>1000,31688=>1000,31689=>1000,31690=>1000,31691=>1000,31692=>1000,31693=>1000,31694=>1000,31695=>1000,31696=>1000,31697=>1000,31698=>1000,31699=>1000,31700=>1000,31701=>1000,31702=>1000,31703=>1000,31704=>1000,31705=>1000,31706=>1000,31707=>1000,31708=>1000,31709=>1000,31710=>1000,31711=>1000,31712=>1000,31713=>1000,31714=>1000,31715=>1000,31716=>1000,31717=>1000,31718=>1000,31719=>1000,31720=>1000,31721=>1000,31722=>1000,31723=>1000,31724=>1000,31725=>1000,31726=>1000,31727=>1000,31728=>1000,31729=>1000,31730=>1000,31731=>1000,31732=>1000,31733=>1000,31734=>1000,31735=>1000,31736=>1000,31737=>1000,31738=>1000,31739=>1000,31740=>1000,31741=>1000,31742=>1000,31743=>1000,31744=>1000,31745=>1000,31746=>1000,31747=>1000,31748=>1000,31749=>1000,31750=>1000,31751=>1000,31752=>1000,31753=>1000,31754=>1000,31755=>1000,31756=>1000,31757=>1000,31758=>1000,31759=>1000,31760=>1000,31761=>1000,31762=>1000,31763=>1000,31764=>1000,31765=>1000,31766=>1000,31767=>1000,31768=>1000,31769=>1000,31770=>1000,31771=>1000,31772=>1000,31773=>1000,31774=>1000,31775=>1000,31776=>1000,31777=>1000,31778=>1000,31779=>1000,31780=>1000,31781=>1000,31782=>1000,31783=>1000,31784=>1000,31785=>1000,31786=>1000,31787=>1000,31788=>1000,31789=>1000,31790=>1000,31791=>1000,31792=>1000,31793=>1000,31794=>1000,31795=>1000,31796=>1000,31797=>1000,31798=>1000,31799=>1000,31800=>1000,31801=>1000,31802=>1000,31803=>1000,31804=>1000,31805=>1000,31806=>1000,31807=>1000,31808=>1000,31809=>1000,31810=>1000,31811=>1000,31812=>1000,31813=>1000,31814=>1000,31815=>1000,31816=>1000,31817=>1000,31818=>1000,31819=>1000,31820=>1000,31821=>1000,31822=>1000,31823=>1000,31824=>1000,31825=>1000,31826=>1000,31827=>1000,31828=>1000,31829=>1000,31830=>1000,31831=>1000,31832=>1000,31833=>1000,31834=>1000,31835=>1000,31836=>1000,31837=>1000,31838=>1000,31839=>1000,31840=>1000,31841=>1000,31842=>1000,31843=>1000,31844=>1000,31845=>1000,31846=>1000,31847=>1000,31848=>1000,31849=>1000,31850=>1000,31851=>1000,31852=>1000,31853=>1000,31854=>1000,31855=>1000,31856=>1000,31857=>1000,31858=>1000,31859=>1000,31860=>1000,31861=>1000,31862=>1000,31863=>1000,31864=>1000,31865=>1000,31866=>1000,31867=>1000,31868=>1000,31869=>1000,31870=>1000,31871=>1000,31872=>1000,31873=>1000,31874=>1000,31875=>1000,31876=>1000,31877=>1000,31878=>1000,31879=>1000,31880=>1000,31881=>1000,31882=>1000,31883=>1000,31884=>1000,31885=>1000,31886=>1000,31887=>1000,31888=>1000,31889=>1000,31890=>1000,31891=>1000,31892=>1000,31893=>1000,31894=>1000,31895=>1000,31896=>1000,31897=>1000,31898=>1000,31899=>1000,31900=>1000,31901=>1000,31902=>1000,31903=>1000,31904=>1000,31905=>1000,31906=>1000,31907=>1000,31908=>1000,31909=>1000,31910=>1000,31911=>1000,31912=>1000,31913=>1000,31914=>1000,31915=>1000,31916=>1000,31917=>1000,31918=>1000,31919=>1000,31920=>1000,31921=>1000,31922=>1000,31923=>1000,31924=>1000,31925=>1000,31926=>1000,31927=>1000,31928=>1000,31929=>1000,31930=>1000,31931=>1000,31932=>1000,31933=>1000,31934=>1000,31935=>1000,31936=>1000,31937=>1000,31938=>1000,31939=>1000,31940=>1000,31941=>1000,31942=>1000,31943=>1000,31944=>1000,31945=>1000,31946=>1000,31947=>1000,31948=>1000,31949=>1000,31950=>1000,31951=>1000,31952=>1000,31953=>1000,31954=>1000,31955=>1000,31956=>1000,31957=>1000,31958=>1000,31959=>1000,31960=>1000,31961=>1000,31962=>1000,31963=>1000,31964=>1000,31965=>1000,31966=>1000,31967=>1000,31968=>1000,31969=>1000,31970=>1000,31971=>1000,31972=>1000,31973=>1000,31974=>1000,31975=>1000,31976=>1000,31977=>1000,31978=>1000,31979=>1000,31980=>1000,31981=>1000,31982=>1000,31983=>1000,31984=>1000,31985=>1000,31986=>1000,31987=>1000,31988=>1000,31989=>1000,31990=>1000,31991=>1000,31992=>1000,31993=>1000,31994=>1000,31995=>1000,31996=>1000,31997=>1000,31998=>1000,31999=>1000,32000=>1000,32001=>1000,32002=>1000,32003=>1000,32004=>1000,32005=>1000,32006=>1000,32007=>1000,32008=>1000,32009=>1000,32010=>1000,32011=>1000,32012=>1000,32013=>1000,32014=>1000,32015=>1000,32016=>1000,32017=>1000,32018=>1000,32019=>1000,32020=>1000,32021=>1000,32022=>1000,32023=>1000,32024=>1000,32025=>1000,32026=>1000,32027=>1000,32028=>1000,32029=>1000,32030=>1000,32031=>1000,32032=>1000,32033=>1000,32034=>1000,32035=>1000,32036=>1000,32037=>1000,32038=>1000,32039=>1000,32040=>1000,32041=>1000,32042=>1000,32043=>1000,32044=>1000,32045=>1000,32046=>1000,32047=>1000,32048=>1000,32049=>1000,32050=>1000,32051=>1000,32052=>1000,32053=>1000,32054=>1000,32055=>1000,32056=>1000,32057=>1000,32058=>1000,32059=>1000,32060=>1000,32061=>1000,32062=>1000,32063=>1000,32064=>1000,32065=>1000,32066=>1000,32067=>1000,32068=>1000,32069=>1000,32070=>1000,32071=>1000,32072=>1000,32073=>1000,32074=>1000,32075=>1000,32076=>1000,32077=>1000,32078=>1000,32079=>1000,32080=>1000,32081=>1000,32082=>1000,32083=>1000,32084=>1000,32085=>1000,32086=>1000,32087=>1000,32088=>1000,32089=>1000,32090=>1000,32091=>1000,32092=>1000,32093=>1000,32094=>1000,32095=>1000,32096=>1000,32097=>1000,32098=>1000,32099=>1000,32100=>1000,32101=>1000,32102=>1000,32103=>1000,32104=>1000,32105=>1000,32106=>1000,32107=>1000,32108=>1000,32109=>1000,32110=>1000,32111=>1000,32112=>1000,32113=>1000,32114=>1000,32115=>1000,32116=>1000,32117=>1000,32118=>1000,32119=>1000,32120=>1000,32121=>1000,32122=>1000,32123=>1000,32124=>1000,32125=>1000,32126=>1000,32127=>1000,32128=>1000,32129=>1000,32130=>1000,32131=>1000,32132=>1000,32133=>1000,32134=>1000,32135=>1000,32136=>1000,32137=>1000,32138=>1000,32139=>1000,32140=>1000,32141=>1000,32142=>1000,32143=>1000,32144=>1000,32145=>1000,32146=>1000,32147=>1000,32148=>1000,32149=>1000,32150=>1000,32151=>1000,32152=>1000,32153=>1000,32154=>1000,32155=>1000,32156=>1000,32157=>1000,32158=>1000,32159=>1000,32160=>1000,32161=>1000,32162=>1000,32163=>1000,32164=>1000,32165=>1000,32166=>1000,32167=>1000,32168=>1000,32169=>1000,32170=>1000,32171=>1000,32172=>1000,32173=>1000,32174=>1000,32175=>1000,32176=>1000,32177=>1000,32178=>1000,32179=>1000,32180=>1000,32181=>1000,32182=>1000,32183=>1000,32184=>1000,32185=>1000,32186=>1000,32187=>1000,32188=>1000,32189=>1000,32190=>1000,32191=>1000,32192=>1000,32193=>1000,32194=>1000,32195=>1000,32196=>1000,32197=>1000,32198=>1000,32199=>1000,32200=>1000,32201=>1000,32202=>1000,32203=>1000,32204=>1000,32205=>1000,32206=>1000,32207=>1000,32208=>1000,32209=>1000,32210=>1000,32211=>1000,32212=>1000,32213=>1000,32214=>1000,32215=>1000,32216=>1000,32217=>1000,32218=>1000,32219=>1000,32220=>1000,32221=>1000,32222=>1000,32223=>1000,32224=>1000,32225=>1000,32226=>1000,32227=>1000,32228=>1000,32229=>1000,32230=>1000,32231=>1000,32232=>1000,32233=>1000,32234=>1000,32235=>1000,32236=>1000,32237=>1000,32238=>1000,32239=>1000,32240=>1000,32241=>1000,32242=>1000,32243=>1000,32244=>1000,32245=>1000,32246=>1000,32247=>1000,32248=>1000,32249=>1000,32250=>1000,32251=>1000,32252=>1000,32253=>1000,32254=>1000,32255=>1000,32256=>1000,32257=>1000,32258=>1000,32259=>1000,32260=>1000,32261=>1000,32262=>1000,32263=>1000,32264=>1000,32265=>1000,32266=>1000,32267=>1000,32268=>1000,32269=>1000,32270=>1000,32271=>1000,32272=>1000,32273=>1000,32274=>1000,32275=>1000,32276=>1000,32277=>1000,32278=>1000,32279=>1000,32280=>1000,32281=>1000,32282=>1000,32283=>1000,32284=>1000,32285=>1000,32286=>1000,32287=>1000,32288=>1000,32289=>1000,32290=>1000,32291=>1000,32292=>1000,32293=>1000,32294=>1000,32295=>1000,32296=>1000,32297=>1000,32298=>1000,32299=>1000,32300=>1000,32301=>1000,32302=>1000,32303=>1000,32304=>1000,32305=>1000,32306=>1000,32307=>1000,32308=>1000,32309=>1000,32310=>1000,32311=>1000,32312=>1000,32313=>1000,32314=>1000,32315=>1000,32316=>1000,32317=>1000,32318=>1000,32319=>1000,32320=>1000,32321=>1000,32322=>1000,32323=>1000,32324=>1000,32325=>1000,32326=>1000,32327=>1000,32328=>1000,32329=>1000,32330=>1000,32331=>1000,32332=>1000,32333=>1000,32334=>1000,32335=>1000,32336=>1000,32337=>1000,32338=>1000,32339=>1000,32340=>1000,32341=>1000,32342=>1000,32343=>1000,32344=>1000,32345=>1000,32346=>1000,32347=>1000,32348=>1000,32349=>1000,32350=>1000,32351=>1000,32352=>1000,32353=>1000,32354=>1000,32355=>1000,32356=>1000,32357=>1000,32358=>1000,32359=>1000,32360=>1000,32361=>1000,32362=>1000,32363=>1000,32364=>1000,32365=>1000,32366=>1000,32367=>1000,32368=>1000,32369=>1000,32370=>1000,32371=>1000,32372=>1000,32373=>1000,32374=>1000,32375=>1000,32376=>1000,32377=>1000,32378=>1000,32379=>1000,32380=>1000,32381=>1000,32382=>1000,32383=>1000,32384=>1000,32385=>1000,32386=>1000,32387=>1000,32388=>1000,32389=>1000,32390=>1000,32391=>1000,32392=>1000,32393=>1000,32394=>1000,32395=>1000,32396=>1000,32397=>1000,32398=>1000,32399=>1000,32400=>1000,32401=>1000,32402=>1000,32403=>1000,32404=>1000,32405=>1000,32406=>1000,32407=>1000,32408=>1000,32409=>1000,32410=>1000,32411=>1000,32412=>1000,32413=>1000,32414=>1000,32415=>1000,32416=>1000,32417=>1000,32418=>1000,32419=>1000,32420=>1000,32421=>1000,32422=>1000,32423=>1000,32424=>1000,32425=>1000,32426=>1000,32427=>1000,32428=>1000,32429=>1000,32430=>1000,32431=>1000,32432=>1000,32433=>1000,32434=>1000,32435=>1000,32436=>1000,32437=>1000,32438=>1000,32439=>1000,32440=>1000,32441=>1000,32442=>1000,32443=>1000,32444=>1000,32445=>1000,32446=>1000,32447=>1000,32448=>1000,32449=>1000,32450=>1000,32451=>1000,32452=>1000,32453=>1000,32454=>1000,32455=>1000,32456=>1000,32457=>1000,32458=>1000,32459=>1000,32460=>1000,32461=>1000,32462=>1000,32463=>1000,32464=>1000,32465=>1000,32466=>1000,32467=>1000,32468=>1000,32469=>1000,32470=>1000,32471=>1000,32472=>1000,32473=>1000,32474=>1000,32475=>1000,32476=>1000,32477=>1000,32478=>1000,32479=>1000,32480=>1000,32481=>1000,32482=>1000,32483=>1000,32484=>1000,32485=>1000,32486=>1000,32487=>1000,32488=>1000,32489=>1000,32490=>1000,32491=>1000,32492=>1000,32493=>1000,32494=>1000,32495=>1000,32496=>1000,32497=>1000,32498=>1000,32499=>1000,32500=>1000,32501=>1000,32502=>1000,32503=>1000,32504=>1000,32505=>1000,32506=>1000,32507=>1000,32508=>1000,32509=>1000,32510=>1000,32511=>1000,32512=>1000,32513=>1000,32514=>1000,32515=>1000,32516=>1000,32517=>1000,32518=>1000,32519=>1000,32520=>1000,32521=>1000,32522=>1000,32523=>1000,32524=>1000,32525=>1000,32526=>1000,32527=>1000,32528=>1000,32529=>1000,32530=>1000,32531=>1000,32532=>1000,32533=>1000,32534=>1000,32535=>1000,32536=>1000,32537=>1000,32538=>1000,32539=>1000,32540=>1000,32541=>1000,32542=>1000,32543=>1000,32544=>1000,32545=>1000,32546=>1000,32547=>1000,32548=>1000,32549=>1000,32550=>1000,32551=>1000,32552=>1000,32553=>1000,32554=>1000,32555=>1000,32556=>1000,32557=>1000,32558=>1000,32559=>1000,32560=>1000,32561=>1000,32562=>1000,32563=>1000,32564=>1000,32565=>1000,32566=>1000,32567=>1000,32568=>1000,32569=>1000,32570=>1000,32571=>1000,32572=>1000,32573=>1000,32574=>1000,32575=>1000,32576=>1000,32577=>1000,32578=>1000,32579=>1000,32580=>1000,32581=>1000,32582=>1000,32583=>1000,32584=>1000,32585=>1000,32586=>1000,32587=>1000,32588=>1000,32589=>1000,32590=>1000,32591=>1000,32592=>1000,32593=>1000,32594=>1000,32595=>1000,32596=>1000,32597=>1000,32598=>1000,32599=>1000,32600=>1000,32601=>1000,32602=>1000,32603=>1000,32604=>1000,32605=>1000,32606=>1000,32607=>1000,32608=>1000,32609=>1000,32610=>1000,32611=>1000,32612=>1000,32613=>1000,32614=>1000,32615=>1000,32616=>1000,32617=>1000,32618=>1000,32619=>1000,32620=>1000,32621=>1000,32622=>1000,32623=>1000,32624=>1000,32625=>1000,32626=>1000,32627=>1000,32628=>1000,32629=>1000,32630=>1000,32631=>1000,32632=>1000,32633=>1000,32634=>1000,32635=>1000,32636=>1000,32637=>1000,32638=>1000,32639=>1000,32640=>1000,32641=>1000,32642=>1000,32643=>1000,32644=>1000,32645=>1000,32646=>1000,32647=>1000,32648=>1000,32649=>1000,32650=>1000,32651=>1000,32652=>1000,32653=>1000,32654=>1000,32655=>1000,32656=>1000,32657=>1000,32658=>1000,32659=>1000,32660=>1000,32661=>1000,32662=>1000,32663=>1000,32664=>1000,32665=>1000,32666=>1000,32667=>1000,32668=>1000,32669=>1000,32670=>1000,32671=>1000,32672=>1000,32673=>1000,32674=>1000,32675=>1000,32676=>1000,32677=>1000,32678=>1000,32679=>1000,32680=>1000,32681=>1000,32682=>1000,32683=>1000,32684=>1000,32685=>1000,32686=>1000,32687=>1000,32688=>1000,32689=>1000,32690=>1000,32691=>1000,32692=>1000,32693=>1000,32694=>1000,32695=>1000,32696=>1000,32697=>1000,32698=>1000,32699=>1000,32700=>1000,32701=>1000,32702=>1000,32703=>1000,32704=>1000,32705=>1000,32706=>1000,32707=>1000,32708=>1000,32709=>1000,32710=>1000,32711=>1000,32712=>1000,32713=>1000,32714=>1000,32715=>1000,32716=>1000,32717=>1000,32718=>1000,32719=>1000,32720=>1000,32721=>1000,32722=>1000,32723=>1000,32724=>1000,32725=>1000,32726=>1000,32727=>1000,32728=>1000,32729=>1000,32730=>1000,32731=>1000,32732=>1000,32733=>1000,32734=>1000,32735=>1000,32736=>1000,32737=>1000,32738=>1000,32739=>1000,32740=>1000,32741=>1000,32742=>1000,32743=>1000,32744=>1000,32745=>1000,32746=>1000,32747=>1000,32748=>1000,32749=>1000,32750=>1000,32751=>1000,32752=>1000,32753=>1000,32754=>1000,32755=>1000,32756=>1000,32757=>1000,32758=>1000,32759=>1000,32760=>1000,32761=>1000,32762=>1000,32763=>1000,32764=>1000,32765=>1000,32766=>1000,32767=>1000,32768=>1000,32769=>1000,32770=>1000,32771=>1000,32772=>1000,32773=>1000,32774=>1000,32775=>1000,32776=>1000,32777=>1000,32778=>1000,32779=>1000,32780=>1000,32781=>1000,32782=>1000,32783=>1000,32784=>1000,32785=>1000,32786=>1000,32787=>1000,32788=>1000,32789=>1000,32790=>1000,32791=>1000,32792=>1000,32793=>1000,32794=>1000,32795=>1000,32796=>1000,32797=>1000,32798=>1000,32799=>1000,32800=>1000,32801=>1000,32802=>1000,32803=>1000,32804=>1000,32805=>1000,32806=>1000,32807=>1000,32808=>1000,32809=>1000,32810=>1000,32811=>1000,32812=>1000,32813=>1000,32814=>1000,32815=>1000,32816=>1000,32817=>1000,32818=>1000,32819=>1000,32820=>1000,32821=>1000,32822=>1000,32823=>1000,32824=>1000,32825=>1000,32826=>1000,32827=>1000,32828=>1000,32829=>1000,32830=>1000,32831=>1000,32832=>1000,32833=>1000,32834=>1000,32835=>1000,32836=>1000,32837=>1000,32838=>1000,32839=>1000,32840=>1000,32841=>1000,32842=>1000,32843=>1000,32844=>1000,32845=>1000,32846=>1000,32847=>1000,32848=>1000,32849=>1000,32850=>1000,32851=>1000,32852=>1000,32853=>1000,32854=>1000,32855=>1000,32856=>1000,32857=>1000,32858=>1000,32859=>1000,32860=>1000,32861=>1000,32862=>1000,32863=>1000,32864=>1000,32865=>1000,32866=>1000,32867=>1000,32868=>1000,32869=>1000,32870=>1000,32871=>1000,32872=>1000,32873=>1000,32874=>1000,32875=>1000,32876=>1000,32877=>1000,32878=>1000,32879=>1000,32880=>1000,32881=>1000,32882=>1000,32883=>1000,32884=>1000,32885=>1000,32886=>1000,32887=>1000,32888=>1000,32889=>1000,32890=>1000,32891=>1000,32892=>1000,32893=>1000,32894=>1000,32895=>1000,32896=>1000,32897=>1000,32898=>1000,32899=>1000,32900=>1000,32901=>1000,32902=>1000,32903=>1000,32904=>1000,32905=>1000,32906=>1000,32907=>1000,32908=>1000,32909=>1000,32910=>1000,32911=>1000,32912=>1000,32913=>1000,32914=>1000,32915=>1000,32916=>1000,32917=>1000,32918=>1000,32919=>1000,32920=>1000,32921=>1000,32922=>1000,32923=>1000,32924=>1000,32925=>1000,32926=>1000,32927=>1000,32928=>1000,32929=>1000,32930=>1000,32931=>1000,32932=>1000,32933=>1000,32934=>1000,32935=>1000,32936=>1000,32937=>1000,32938=>1000,32939=>1000,32940=>1000,32941=>1000,32942=>1000,32943=>1000,32944=>1000,32945=>1000,32946=>1000,32947=>1000,32948=>1000,32949=>1000,32950=>1000,32951=>1000,32952=>1000,32953=>1000,32954=>1000,32955=>1000,32956=>1000,32957=>1000,32958=>1000,32959=>1000,32960=>1000,32961=>1000,32962=>1000,32963=>1000,32964=>1000,32965=>1000,32966=>1000,32967=>1000,32968=>1000,32969=>1000,32970=>1000,32971=>1000,32972=>1000,32973=>1000,32974=>1000,32975=>1000,32976=>1000,32977=>1000,32978=>1000,32979=>1000,32980=>1000,32981=>1000,32982=>1000,32983=>1000,32984=>1000,32985=>1000,32986=>1000,32987=>1000,32988=>1000,32989=>1000,32990=>1000,32991=>1000,32992=>1000,32993=>1000,32994=>1000,32995=>1000,32996=>1000,32997=>1000,32998=>1000,32999=>1000,33000=>1000,33001=>1000,33002=>1000,33003=>1000,33004=>1000,33005=>1000,33006=>1000,33007=>1000,33008=>1000,33009=>1000,33010=>1000,33011=>1000,33012=>1000,33013=>1000,33014=>1000,33015=>1000,33016=>1000,33017=>1000,33018=>1000,33019=>1000,33020=>1000,33021=>1000,33022=>1000,33023=>1000,33024=>1000,33025=>1000,33026=>1000,33027=>1000,33028=>1000,33029=>1000,33030=>1000,33031=>1000,33032=>1000,33033=>1000,33034=>1000,33035=>1000,33036=>1000,33037=>1000,33038=>1000,33039=>1000,33040=>1000,33041=>1000,33042=>1000,33043=>1000,33044=>1000,33045=>1000,33046=>1000,33047=>1000,33048=>1000,33049=>1000,33050=>1000,33051=>1000,33052=>1000,33053=>1000,33054=>1000,33055=>1000,33056=>1000,33057=>1000,33058=>1000,33059=>1000,33060=>1000,33061=>1000,33062=>1000,33063=>1000,33064=>1000,33065=>1000,33066=>1000,33067=>1000,33068=>1000,33069=>1000,33070=>1000,33071=>1000,33072=>1000,33073=>1000,33074=>1000,33075=>1000,33076=>1000,33077=>1000,33078=>1000,33079=>1000,33080=>1000,33081=>1000,33082=>1000,33083=>1000,33084=>1000,33085=>1000,33086=>1000,33087=>1000,33088=>1000,33089=>1000,33090=>1000,33091=>1000,33092=>1000,33093=>1000,33094=>1000,33095=>1000,33096=>1000,33097=>1000,33098=>1000,33099=>1000,33100=>1000,33101=>1000,33102=>1000,33103=>1000,33104=>1000,33105=>1000,33106=>1000,33107=>1000,33108=>1000,33109=>1000,33110=>1000,33111=>1000,33112=>1000,33113=>1000,33114=>1000,33115=>1000,33116=>1000,33117=>1000,33118=>1000,33119=>1000,33120=>1000,33121=>1000,33122=>1000,33123=>1000,33124=>1000,33125=>1000,33126=>1000,33127=>1000,33128=>1000,33129=>1000,33130=>1000,33131=>1000,33132=>1000,33133=>1000,33134=>1000,33135=>1000,33136=>1000,33137=>1000,33138=>1000,33139=>1000,33140=>1000,33141=>1000,33142=>1000,33143=>1000,33144=>1000,33145=>1000,33146=>1000,33147=>1000,33148=>1000,33149=>1000,33150=>1000,33151=>1000,33152=>1000,33153=>1000,33154=>1000,33155=>1000,33156=>1000,33157=>1000,33158=>1000,33159=>1000,33160=>1000,33161=>1000,33162=>1000,33163=>1000,33164=>1000,33165=>1000,33166=>1000,33167=>1000,33168=>1000,33169=>1000,33170=>1000,33171=>1000,33172=>1000,33173=>1000,33174=>1000,33175=>1000,33176=>1000,33177=>1000,33178=>1000,33179=>1000,33180=>1000,33181=>1000,33182=>1000,33183=>1000,33184=>1000,33185=>1000,33186=>1000,33187=>1000,33188=>1000,33189=>1000,33190=>1000,33191=>1000,33192=>1000,33193=>1000,33194=>1000,33195=>1000,33196=>1000,33197=>1000,33198=>1000,33199=>1000,33200=>1000,33201=>1000,33202=>1000,33203=>1000,33204=>1000,33205=>1000,33206=>1000,33207=>1000,33208=>1000,33209=>1000,33210=>1000,33211=>1000,33212=>1000,33213=>1000,33214=>1000,33215=>1000,33216=>1000,33217=>1000,33218=>1000,33219=>1000,33220=>1000,33221=>1000,33222=>1000,33223=>1000,33224=>1000,33225=>1000,33226=>1000,33227=>1000,33228=>1000,33229=>1000,33230=>1000,33231=>1000,33232=>1000,33233=>1000,33234=>1000,33235=>1000,33236=>1000,33237=>1000,33238=>1000,33239=>1000,33240=>1000,33241=>1000,33242=>1000,33243=>1000,33244=>1000,33245=>1000,33246=>1000,33247=>1000,33248=>1000,33249=>1000,33250=>1000,33251=>1000,33252=>1000,33253=>1000,33254=>1000,33255=>1000,33256=>1000,33257=>1000,33258=>1000,33259=>1000,33260=>1000,33261=>1000,33262=>1000,33263=>1000,33264=>1000,33265=>1000,33266=>1000,33267=>1000,33268=>1000,33269=>1000,33270=>1000,33271=>1000,33272=>1000,33273=>1000,33274=>1000,33275=>1000,33276=>1000,33277=>1000,33278=>1000,33279=>1000,33280=>1000,33281=>1000,33282=>1000,33283=>1000,33284=>1000,33285=>1000,33286=>1000,33287=>1000,33288=>1000,33289=>1000,33290=>1000,33291=>1000,33292=>1000,33293=>1000,33294=>1000,33295=>1000,33296=>1000,33297=>1000,33298=>1000,33299=>1000,33300=>1000,33301=>1000,33302=>1000,33303=>1000,33304=>1000,33305=>1000,33306=>1000,33307=>1000,33308=>1000,33309=>1000,33310=>1000,33311=>1000,33312=>1000,33313=>1000,33314=>1000,33315=>1000,33316=>1000,33317=>1000,33318=>1000,33319=>1000,33320=>1000,33321=>1000,33322=>1000,33323=>1000,33324=>1000,33325=>1000,33326=>1000,33327=>1000,33328=>1000,33329=>1000,33330=>1000,33331=>1000,33332=>1000,33333=>1000,33334=>1000,33335=>1000,33336=>1000,33337=>1000,33338=>1000,33339=>1000,33340=>1000,33341=>1000,33342=>1000,33343=>1000,33344=>1000,33345=>1000,33346=>1000,33347=>1000,33348=>1000,33349=>1000,33350=>1000,33351=>1000,33352=>1000,33353=>1000,33354=>1000,33355=>1000,33356=>1000,33357=>1000,33358=>1000,33359=>1000,33360=>1000,33361=>1000,33362=>1000,33363=>1000,33364=>1000,33365=>1000,33366=>1000,33367=>1000,33368=>1000,33369=>1000,33370=>1000,33371=>1000,33372=>1000,33373=>1000,33374=>1000,33375=>1000,33376=>1000,33377=>1000,33378=>1000,33379=>1000,33380=>1000,33381=>1000,33382=>1000,33383=>1000,33384=>1000,33385=>1000,33386=>1000,33387=>1000,33388=>1000,33389=>1000,33390=>1000,33391=>1000,33392=>1000,33393=>1000,33394=>1000,33395=>1000,33396=>1000,33397=>1000,33398=>1000,33399=>1000,33400=>1000,33401=>1000,33402=>1000,33403=>1000,33404=>1000,33405=>1000,33406=>1000,33407=>1000,33408=>1000,33409=>1000,33410=>1000,33411=>1000,33412=>1000,33413=>1000,33414=>1000,33415=>1000,33416=>1000,33417=>1000,33418=>1000,33419=>1000,33420=>1000,33421=>1000,33422=>1000,33423=>1000,33424=>1000,33425=>1000,33426=>1000,33427=>1000,33428=>1000,33429=>1000,33430=>1000,33431=>1000,33432=>1000,33433=>1000,33434=>1000,33435=>1000,33436=>1000,33437=>1000,33438=>1000,33439=>1000,33440=>1000,33441=>1000,33442=>1000,33443=>1000,33444=>1000,33445=>1000,33446=>1000,33447=>1000,33448=>1000,33449=>1000,33450=>1000,33451=>1000,33452=>1000,33453=>1000,33454=>1000,33455=>1000,33456=>1000,33457=>1000,33458=>1000,33459=>1000,33460=>1000,33461=>1000,33462=>1000,33463=>1000,33464=>1000,33465=>1000,33466=>1000,33467=>1000,33468=>1000,33469=>1000,33470=>1000,33471=>1000,33472=>1000,33473=>1000,33474=>1000,33475=>1000,33476=>1000,33477=>1000,33478=>1000,33479=>1000,33480=>1000,33481=>1000,33482=>1000,33483=>1000,33484=>1000,33485=>1000,33486=>1000,33487=>1000,33488=>1000,33489=>1000,33490=>1000,33491=>1000,33492=>1000,33493=>1000,33494=>1000,33495=>1000,33496=>1000,33497=>1000,33498=>1000,33499=>1000,33500=>1000,33501=>1000,33502=>1000,33503=>1000,33504=>1000,33505=>1000,33506=>1000,33507=>1000,33508=>1000,33509=>1000,33510=>1000,33511=>1000,33512=>1000,33513=>1000,33514=>1000,33515=>1000,33516=>1000,33517=>1000,33518=>1000,33519=>1000,33520=>1000,33521=>1000,33522=>1000,33523=>1000,33524=>1000,33525=>1000,33526=>1000,33527=>1000,33528=>1000,33529=>1000,33530=>1000,33531=>1000,33532=>1000,33533=>1000,33534=>1000,33535=>1000,33536=>1000,33537=>1000,33538=>1000,33539=>1000,33540=>1000,33541=>1000,33542=>1000,33543=>1000,33544=>1000,33545=>1000,33546=>1000,33547=>1000,33548=>1000,33549=>1000,33550=>1000,33551=>1000,33552=>1000,33553=>1000,33554=>1000,33555=>1000,33556=>1000,33557=>1000,33558=>1000,33559=>1000,33560=>1000,33561=>1000,33562=>1000,33563=>1000,33564=>1000,33565=>1000,33566=>1000,33567=>1000,33568=>1000,33569=>1000,33570=>1000,33571=>1000,33572=>1000,33573=>1000,33574=>1000,33575=>1000,33576=>1000,33577=>1000,33578=>1000,33579=>1000,33580=>1000,33581=>1000,33582=>1000,33583=>1000,33584=>1000,33585=>1000,33586=>1000,33587=>1000,33588=>1000,33589=>1000,33590=>1000,33591=>1000,33592=>1000,33593=>1000,33594=>1000,33595=>1000,33596=>1000,33597=>1000,33598=>1000,33599=>1000,33600=>1000,33601=>1000,33602=>1000,33603=>1000,33604=>1000,33605=>1000,33606=>1000,33607=>1000,33608=>1000,33609=>1000,33610=>1000,33611=>1000,33612=>1000,33613=>1000,33614=>1000,33615=>1000,33616=>1000,33617=>1000,33618=>1000,33619=>1000,33620=>1000,33621=>1000,33622=>1000,33623=>1000,33624=>1000,33625=>1000,33626=>1000,33627=>1000,33628=>1000,33629=>1000,33630=>1000,33631=>1000,33632=>1000,33633=>1000,33634=>1000,33635=>1000,33636=>1000,33637=>1000,33638=>1000,33639=>1000,33640=>1000,33641=>1000,33642=>1000,33643=>1000,33644=>1000,33645=>1000,33646=>1000,33647=>1000,33648=>1000,33649=>1000,33650=>1000,33651=>1000,33652=>1000,33653=>1000,33654=>1000,33655=>1000,33656=>1000,33657=>1000,33658=>1000,33659=>1000,33660=>1000,33661=>1000,33662=>1000,33663=>1000,33664=>1000,33665=>1000,33666=>1000,33667=>1000,33668=>1000,33669=>1000,33670=>1000,33671=>1000,33672=>1000,33673=>1000,33674=>1000,33675=>1000,33676=>1000,33677=>1000,33678=>1000,33679=>1000,33680=>1000,33681=>1000,33682=>1000,33683=>1000,33684=>1000,33685=>1000,33686=>1000,33687=>1000,33688=>1000,33689=>1000,33690=>1000,33691=>1000,33692=>1000,33693=>1000,33694=>1000,33695=>1000,33696=>1000,33697=>1000,33698=>1000,33699=>1000,33700=>1000,33701=>1000,33702=>1000,33703=>1000,33704=>1000,33705=>1000,33706=>1000,33707=>1000,33708=>1000,33709=>1000,33710=>1000,33711=>1000,33712=>1000,33713=>1000,33714=>1000,33715=>1000,33716=>1000,33717=>1000,33718=>1000,33719=>1000,33720=>1000,33721=>1000,33722=>1000,33723=>1000,33724=>1000,33725=>1000,33726=>1000,33727=>1000,33728=>1000,33729=>1000,33730=>1000,33731=>1000,33732=>1000,33733=>1000,33734=>1000,33735=>1000,33736=>1000,33737=>1000,33738=>1000,33739=>1000,33740=>1000,33741=>1000,33742=>1000,33743=>1000,33744=>1000,33745=>1000,33746=>1000,33747=>1000,33748=>1000,33749=>1000,33750=>1000,33751=>1000,33752=>1000,33753=>1000,33754=>1000,33755=>1000,33756=>1000,33757=>1000,33758=>1000,33759=>1000,33760=>1000,33761=>1000,33762=>1000,33763=>1000,33764=>1000,33765=>1000,33766=>1000,33767=>1000,33768=>1000,33769=>1000,33770=>1000,33771=>1000,33772=>1000,33773=>1000,33774=>1000,33775=>1000,33776=>1000,33777=>1000,33778=>1000,33779=>1000,33780=>1000,33781=>1000,33782=>1000,33783=>1000,33784=>1000,33785=>1000,33786=>1000,33787=>1000,33788=>1000,33789=>1000,33790=>1000,33791=>1000,33792=>1000,33793=>1000,33794=>1000,33795=>1000,33796=>1000,33797=>1000,33798=>1000,33799=>1000,33800=>1000,33801=>1000,33802=>1000,33803=>1000,33804=>1000,33805=>1000,33806=>1000,33807=>1000,33808=>1000,33809=>1000,33810=>1000,33811=>1000,33812=>1000,33813=>1000,33814=>1000,33815=>1000,33816=>1000,33817=>1000,33818=>1000,33819=>1000,33820=>1000,33821=>1000,33822=>1000,33823=>1000,33824=>1000,33825=>1000,33826=>1000,33827=>1000,33828=>1000,33829=>1000,33830=>1000,33831=>1000,33832=>1000,33833=>1000,33834=>1000,33835=>1000,33836=>1000,33837=>1000,33838=>1000,33839=>1000,33840=>1000,33841=>1000,33842=>1000,33843=>1000,33844=>1000,33845=>1000,33846=>1000,33847=>1000,33848=>1000,33849=>1000,33850=>1000,33851=>1000,33852=>1000,33853=>1000,33854=>1000,33855=>1000,33856=>1000,33857=>1000,33858=>1000,33859=>1000,33860=>1000,33861=>1000,33862=>1000,33863=>1000,33864=>1000,33865=>1000,33866=>1000,33867=>1000,33868=>1000,33869=>1000,33870=>1000,33871=>1000,33872=>1000,33873=>1000,33874=>1000,33875=>1000,33876=>1000,33877=>1000,33878=>1000,33879=>1000,33880=>1000,33881=>1000,33882=>1000,33883=>1000,33884=>1000,33885=>1000,33886=>1000,33887=>1000,33888=>1000,33889=>1000,33890=>1000,33891=>1000,33892=>1000,33893=>1000,33894=>1000,33895=>1000,33896=>1000,33897=>1000,33898=>1000,33899=>1000,33900=>1000,33901=>1000,33902=>1000,33903=>1000,33904=>1000,33905=>1000,33906=>1000,33907=>1000,33908=>1000,33909=>1000,33910=>1000,33911=>1000,33912=>1000,33913=>1000,33914=>1000,33915=>1000,33916=>1000,33917=>1000,33918=>1000,33919=>1000,33920=>1000,33921=>1000,33922=>1000,33923=>1000,33924=>1000,33925=>1000,33926=>1000,33927=>1000,33928=>1000,33929=>1000,33930=>1000,33931=>1000,33932=>1000,33933=>1000,33934=>1000,33935=>1000,33936=>1000,33937=>1000,33938=>1000,33939=>1000,33940=>1000,33941=>1000,33942=>1000,33943=>1000,33944=>1000,33945=>1000,33946=>1000,33947=>1000,33948=>1000,33949=>1000,33950=>1000,33951=>1000,33952=>1000,33953=>1000,33954=>1000,33955=>1000,33956=>1000,33957=>1000,33958=>1000,33959=>1000,33960=>1000,33961=>1000,33962=>1000,33963=>1000,33964=>1000,33965=>1000,33966=>1000,33967=>1000,33968=>1000,33969=>1000,33970=>1000,33971=>1000,33972=>1000,33973=>1000,33974=>1000,33975=>1000,33976=>1000,33977=>1000,33978=>1000,33979=>1000,33980=>1000,33981=>1000,33982=>1000,33983=>1000,33984=>1000,33985=>1000,33986=>1000,33987=>1000,33988=>1000,33989=>1000,33990=>1000,33991=>1000,33992=>1000,33993=>1000,33994=>1000,33995=>1000,33996=>1000,33997=>1000,33998=>1000,33999=>1000,34000=>1000,34001=>1000,34002=>1000,34003=>1000,34004=>1000,34005=>1000,34006=>1000,34007=>1000,34008=>1000,34009=>1000,34010=>1000,34011=>1000,34012=>1000,34013=>1000,34014=>1000,34015=>1000,34016=>1000,34017=>1000,34018=>1000,34019=>1000,34020=>1000,34021=>1000,34022=>1000,34023=>1000,34024=>1000,34025=>1000,34026=>1000,34027=>1000,34028=>1000,34029=>1000,34030=>1000,34031=>1000,34032=>1000,34033=>1000,34034=>1000,34035=>1000,34036=>1000,34037=>1000,34038=>1000,34039=>1000,34040=>1000,34041=>1000,34042=>1000,34043=>1000,34044=>1000,34045=>1000,34046=>1000,34047=>1000,34048=>1000,34049=>1000,34050=>1000,34051=>1000,34052=>1000,34053=>1000,34054=>1000,34055=>1000,34056=>1000,34057=>1000,34058=>1000,34059=>1000,34060=>1000,34061=>1000,34062=>1000,34063=>1000,34064=>1000,34065=>1000,34066=>1000,34067=>1000,34068=>1000,34069=>1000,34070=>1000,34071=>1000,34072=>1000,34073=>1000,34074=>1000,34075=>1000,34076=>1000,34077=>1000,34078=>1000,34079=>1000,34080=>1000,34081=>1000,34082=>1000,34083=>1000,34084=>1000,34085=>1000,34086=>1000,34087=>1000,34088=>1000,34089=>1000,34090=>1000,34091=>1000,34092=>1000,34093=>1000,34094=>1000,34095=>1000,34096=>1000,34097=>1000,34098=>1000,34099=>1000,34100=>1000,34101=>1000,34102=>1000,34103=>1000,34104=>1000,34105=>1000,34106=>1000,34107=>1000,34108=>1000,34109=>1000,34110=>1000,34111=>1000,34112=>1000,34113=>1000,34114=>1000,34115=>1000,34116=>1000,34117=>1000,34118=>1000,34119=>1000,34120=>1000,34121=>1000,34122=>1000,34123=>1000,34124=>1000,34125=>1000,34126=>1000,34127=>1000,34128=>1000,34129=>1000,34130=>1000,34131=>1000,34132=>1000,34133=>1000,34134=>1000,34135=>1000,34136=>1000,34137=>1000,34138=>1000,34139=>1000,34140=>1000,34141=>1000,34142=>1000,34143=>1000,34144=>1000,34145=>1000,34146=>1000,34147=>1000,34148=>1000,34149=>1000,34150=>1000,34151=>1000,34152=>1000,34153=>1000,34154=>1000,34155=>1000,34156=>1000,34157=>1000,34158=>1000,34159=>1000,34160=>1000,34161=>1000,34162=>1000,34163=>1000,34164=>1000,34165=>1000,34166=>1000,34167=>1000,34168=>1000,34169=>1000,34170=>1000,34171=>1000,34172=>1000,34173=>1000,34174=>1000,34175=>1000,34176=>1000,34177=>1000,34178=>1000,34179=>1000,34180=>1000,34181=>1000,34182=>1000,34183=>1000,34184=>1000,34185=>1000,34186=>1000,34187=>1000,34188=>1000,34189=>1000,34190=>1000,34191=>1000,34192=>1000,34193=>1000,34194=>1000,34195=>1000,34196=>1000,34197=>1000,34198=>1000,34199=>1000,34200=>1000,34201=>1000,34202=>1000,34203=>1000,34204=>1000,34205=>1000,34206=>1000,34207=>1000,34208=>1000,34209=>1000,34210=>1000,34211=>1000,34212=>1000,34213=>1000,34214=>1000,34215=>1000,34216=>1000,34217=>1000,34218=>1000,34219=>1000,34220=>1000,34221=>1000,34222=>1000,34223=>1000,34224=>1000,34225=>1000,34226=>1000,34227=>1000,34228=>1000,34229=>1000,34230=>1000,34231=>1000,34232=>1000,34233=>1000,34234=>1000,34235=>1000,34236=>1000,34237=>1000,34238=>1000,34239=>1000,34240=>1000,34241=>1000,34242=>1000,34243=>1000,34244=>1000,34245=>1000,34246=>1000,34247=>1000,34248=>1000,34249=>1000,34250=>1000,34251=>1000,34252=>1000,34253=>1000,34254=>1000,34255=>1000,34256=>1000,34257=>1000,34258=>1000,34259=>1000,34260=>1000,34261=>1000,34262=>1000,34263=>1000,34264=>1000,34265=>1000,34266=>1000,34267=>1000,34268=>1000,34269=>1000,34270=>1000,34271=>1000,34272=>1000,34273=>1000,34274=>1000,34275=>1000,34276=>1000,34277=>1000,34278=>1000,34279=>1000,34280=>1000,34281=>1000,34282=>1000,34283=>1000,34284=>1000,34285=>1000,34286=>1000,34287=>1000,34288=>1000,34289=>1000,34290=>1000,34291=>1000,34292=>1000,34293=>1000,34294=>1000,34295=>1000,34296=>1000,34297=>1000,34298=>1000,34299=>1000,34300=>1000,34301=>1000,34302=>1000,34303=>1000,34304=>1000,34305=>1000,34306=>1000,34307=>1000,34308=>1000,34309=>1000,34310=>1000,34311=>1000,34312=>1000,34313=>1000,34314=>1000,34315=>1000,34316=>1000,34317=>1000,34318=>1000,34319=>1000,34320=>1000,34321=>1000,34322=>1000,34323=>1000,34324=>1000,34325=>1000,34326=>1000,34327=>1000,34328=>1000,34329=>1000,34330=>1000,34331=>1000,34332=>1000,34333=>1000,34334=>1000,34335=>1000,34336=>1000,34337=>1000,34338=>1000,34339=>1000,34340=>1000,34341=>1000,34342=>1000,34343=>1000,34344=>1000,34345=>1000,34346=>1000,34347=>1000,34348=>1000,34349=>1000,34350=>1000,34351=>1000,34352=>1000,34353=>1000,34354=>1000,34355=>1000,34356=>1000,34357=>1000,34358=>1000,34359=>1000,34360=>1000,34361=>1000,34362=>1000,34363=>1000,34364=>1000,34365=>1000,34366=>1000,34367=>1000,34368=>1000,34369=>1000,34370=>1000,34371=>1000,34372=>1000,34373=>1000,34374=>1000,34375=>1000,34376=>1000,34377=>1000,34378=>1000,34379=>1000,34380=>1000,34381=>1000,34382=>1000,34383=>1000,34384=>1000,34385=>1000,34386=>1000,34387=>1000,34388=>1000,34389=>1000,34390=>1000,34391=>1000,34392=>1000,34393=>1000,34394=>1000,34395=>1000,34396=>1000,34397=>1000,34398=>1000,34399=>1000,34400=>1000,34401=>1000,34402=>1000,34403=>1000,34404=>1000,34405=>1000,34406=>1000,34407=>1000,34408=>1000,34409=>1000,34410=>1000,34411=>1000,34412=>1000,34413=>1000,34414=>1000,34415=>1000,34416=>1000,34417=>1000,34418=>1000,34419=>1000,34420=>1000,34421=>1000,34422=>1000,34423=>1000,34424=>1000,34425=>1000,34426=>1000,34427=>1000,34428=>1000,34429=>1000,34430=>1000,34431=>1000,34432=>1000,34433=>1000,34434=>1000,34435=>1000,34436=>1000,34437=>1000,34438=>1000,34439=>1000,34440=>1000,34441=>1000,34442=>1000,34443=>1000,34444=>1000,34445=>1000,34446=>1000,34447=>1000,34448=>1000,34449=>1000,34450=>1000,34451=>1000,34452=>1000,34453=>1000,34454=>1000,34455=>1000,34456=>1000,34457=>1000,34458=>1000,34459=>1000,34460=>1000,34461=>1000,34462=>1000,34463=>1000,34464=>1000,34465=>1000,34466=>1000,34467=>1000,34468=>1000,34469=>1000,34470=>1000,34471=>1000,34472=>1000,34473=>1000,34474=>1000,34475=>1000,34476=>1000,34477=>1000,34478=>1000,34479=>1000,34480=>1000,34481=>1000,34482=>1000,34483=>1000,34484=>1000,34485=>1000,34486=>1000,34487=>1000,34488=>1000,34489=>1000,34490=>1000,34491=>1000,34492=>1000,34493=>1000,34494=>1000,34495=>1000,34496=>1000,34497=>1000,34498=>1000,34499=>1000,34500=>1000,34501=>1000,34502=>1000,34503=>1000,34504=>1000,34505=>1000,34506=>1000,34507=>1000,34508=>1000,34509=>1000,34510=>1000,34511=>1000,34512=>1000,34513=>1000,34514=>1000,34515=>1000,34516=>1000,34517=>1000,34518=>1000,34519=>1000,34520=>1000,34521=>1000,34522=>1000,34523=>1000,34524=>1000,34525=>1000,34526=>1000,34527=>1000,34528=>1000,34529=>1000,34530=>1000,34531=>1000,34532=>1000,34533=>1000,34534=>1000,34535=>1000,34536=>1000,34537=>1000,34538=>1000,34539=>1000,34540=>1000,34541=>1000,34542=>1000,34543=>1000,34544=>1000,34545=>1000,34546=>1000,34547=>1000,34548=>1000,34549=>1000,34550=>1000,34551=>1000,34552=>1000,34553=>1000,34554=>1000,34555=>1000,34556=>1000,34557=>1000,34558=>1000,34559=>1000,34560=>1000,34561=>1000,34562=>1000,34563=>1000,34564=>1000,34565=>1000,34566=>1000,34567=>1000,34568=>1000,34569=>1000,34570=>1000,34571=>1000,34572=>1000,34573=>1000,34574=>1000,34575=>1000,34576=>1000,34577=>1000,34578=>1000,34579=>1000,34580=>1000,34581=>1000,34582=>1000,34583=>1000,34584=>1000,34585=>1000,34586=>1000,34587=>1000,34588=>1000,34589=>1000,34590=>1000,34591=>1000,34592=>1000,34593=>1000,34594=>1000,34595=>1000,34596=>1000,34597=>1000,34598=>1000,34599=>1000,34600=>1000,34601=>1000,34602=>1000,34603=>1000,34604=>1000,34605=>1000,34606=>1000,34607=>1000,34608=>1000,34609=>1000,34610=>1000,34611=>1000,34612=>1000,34613=>1000,34614=>1000,34615=>1000,34616=>1000,34617=>1000,34618=>1000,34619=>1000,34620=>1000,34621=>1000,34622=>1000,34623=>1000,34624=>1000,34625=>1000,34626=>1000,34627=>1000,34628=>1000,34629=>1000,34630=>1000,34631=>1000,34632=>1000,34633=>1000,34634=>1000,34635=>1000,34636=>1000,34637=>1000,34638=>1000,34639=>1000,34640=>1000,34641=>1000,34642=>1000,34643=>1000,34644=>1000,34645=>1000,34646=>1000,34647=>1000,34648=>1000,34649=>1000,34650=>1000,34651=>1000,34652=>1000,34653=>1000,34654=>1000,34655=>1000,34656=>1000,34657=>1000,34658=>1000,34659=>1000,34660=>1000,34661=>1000,34662=>1000,34663=>1000,34664=>1000,34665=>1000,34666=>1000,34667=>1000,34668=>1000,34669=>1000,34670=>1000,34671=>1000,34672=>1000,34673=>1000,34674=>1000,34675=>1000,34676=>1000,34677=>1000,34678=>1000,34679=>1000,34680=>1000,34681=>1000,34682=>1000,34683=>1000,34684=>1000,34685=>1000,34686=>1000,34687=>1000,34688=>1000,34689=>1000,34690=>1000,34691=>1000,34692=>1000,34693=>1000,34694=>1000,34695=>1000,34696=>1000,34697=>1000,34698=>1000,34699=>1000,34700=>1000,34701=>1000,34702=>1000,34703=>1000,34704=>1000,34705=>1000,34706=>1000,34707=>1000,34708=>1000,34709=>1000,34710=>1000,34711=>1000,34712=>1000,34713=>1000,34714=>1000,34715=>1000,34716=>1000,34717=>1000,34718=>1000,34719=>1000,34720=>1000,34721=>1000,34722=>1000,34723=>1000,34724=>1000,34725=>1000,34726=>1000,34727=>1000,34728=>1000,34729=>1000,34730=>1000,34731=>1000,34732=>1000,34733=>1000,34734=>1000,34735=>1000,34736=>1000,34737=>1000,34738=>1000,34739=>1000,34740=>1000,34741=>1000,34742=>1000,34743=>1000,34744=>1000,34745=>1000,34746=>1000,34747=>1000,34748=>1000,34749=>1000,34750=>1000,34751=>1000,34752=>1000,34753=>1000,34754=>1000,34755=>1000,34756=>1000,34757=>1000,34758=>1000,34759=>1000,34760=>1000,34761=>1000,34762=>1000,34763=>1000,34764=>1000,34765=>1000,34766=>1000,34767=>1000,34768=>1000,34769=>1000,34770=>1000,34771=>1000,34772=>1000,34773=>1000,34774=>1000,34775=>1000,34776=>1000,34777=>1000,34778=>1000,34779=>1000,34780=>1000,34781=>1000,34782=>1000,34783=>1000,34784=>1000,34785=>1000,34786=>1000,34787=>1000,34788=>1000,34789=>1000,34790=>1000,34791=>1000,34792=>1000,34793=>1000,34794=>1000,34795=>1000,34796=>1000,34797=>1000,34798=>1000,34799=>1000,34800=>1000,34801=>1000,34802=>1000,34803=>1000,34804=>1000,34805=>1000,34806=>1000,34807=>1000,34808=>1000,34809=>1000,34810=>1000,34811=>1000,34812=>1000,34813=>1000,34814=>1000,34815=>1000,34816=>1000,34817=>1000,34818=>1000,34819=>1000,34820=>1000,34821=>1000,34822=>1000,34823=>1000,34824=>1000,34825=>1000,34826=>1000,34827=>1000,34828=>1000,34829=>1000,34830=>1000,34831=>1000,34832=>1000,34833=>1000,34834=>1000,34835=>1000,34836=>1000,34837=>1000,34838=>1000,34839=>1000,34840=>1000,34841=>1000,34842=>1000,34843=>1000,34844=>1000,34845=>1000,34846=>1000,34847=>1000,34848=>1000,34849=>1000,34850=>1000,34851=>1000,34852=>1000,34853=>1000,34854=>1000,34855=>1000,34856=>1000,34857=>1000,34858=>1000,34859=>1000,34860=>1000,34861=>1000,34862=>1000,34863=>1000,34864=>1000,34865=>1000,34866=>1000,34867=>1000,34868=>1000,34869=>1000,34870=>1000,34871=>1000,34872=>1000,34873=>1000,34874=>1000,34875=>1000,34876=>1000,34877=>1000,34878=>1000,34879=>1000,34880=>1000,34881=>1000,34882=>1000,34883=>1000,34884=>1000,34885=>1000,34886=>1000,34887=>1000,34888=>1000,34889=>1000,34890=>1000,34891=>1000,34892=>1000,34893=>1000,34894=>1000,34895=>1000,34896=>1000,34897=>1000,34898=>1000,34899=>1000,34900=>1000,34901=>1000,34902=>1000,34903=>1000,34904=>1000,34905=>1000,34906=>1000,34907=>1000,34908=>1000,34909=>1000,34910=>1000,34911=>1000,34912=>1000,34913=>1000,34914=>1000,34915=>1000,34916=>1000,34917=>1000,34918=>1000,34919=>1000,34920=>1000,34921=>1000,34922=>1000,34923=>1000,34924=>1000,34925=>1000,34926=>1000,34927=>1000,34928=>1000,34929=>1000,34930=>1000,34931=>1000,34932=>1000,34933=>1000,34934=>1000,34935=>1000,34936=>1000,34937=>1000,34938=>1000,34939=>1000,34940=>1000,34941=>1000,34942=>1000,34943=>1000,34944=>1000,34945=>1000,34946=>1000,34947=>1000,34948=>1000,34949=>1000,34950=>1000,34951=>1000,34952=>1000,34953=>1000,34954=>1000,34955=>1000,34956=>1000,34957=>1000,34958=>1000,34959=>1000,34960=>1000,34961=>1000,34962=>1000,34963=>1000,34964=>1000,34965=>1000,34966=>1000,34967=>1000,34968=>1000,34969=>1000,34970=>1000,34971=>1000,34972=>1000,34973=>1000,34974=>1000,34975=>1000,34976=>1000,34977=>1000,34978=>1000,34979=>1000,34980=>1000,34981=>1000,34982=>1000,34983=>1000,34984=>1000,34985=>1000,34986=>1000,34987=>1000,34988=>1000,34989=>1000,34990=>1000,34991=>1000,34992=>1000,34993=>1000,34994=>1000,34995=>1000,34996=>1000,34997=>1000,34998=>1000,34999=>1000,35000=>1000,35001=>1000,35002=>1000,35003=>1000,35004=>1000,35005=>1000,35006=>1000,35007=>1000,35008=>1000,35009=>1000,35010=>1000,35011=>1000,35012=>1000,35013=>1000,35014=>1000,35015=>1000,35016=>1000,35017=>1000,35018=>1000,35019=>1000,35020=>1000,35021=>1000,35022=>1000,35023=>1000,35024=>1000,35025=>1000,35026=>1000,35027=>1000,35028=>1000,35029=>1000,35030=>1000,35031=>1000,35032=>1000,35033=>1000,35034=>1000,35035=>1000,35036=>1000,35037=>1000,35038=>1000,35039=>1000,35040=>1000,35041=>1000,35042=>1000,35043=>1000,35044=>1000,35045=>1000,35046=>1000,35047=>1000,35048=>1000,35049=>1000,35050=>1000,35051=>1000,35052=>1000,35053=>1000,35054=>1000,35055=>1000,35056=>1000,35057=>1000,35058=>1000,35059=>1000,35060=>1000,35061=>1000,35062=>1000,35063=>1000,35064=>1000,35065=>1000,35066=>1000,35067=>1000,35068=>1000,35069=>1000,35070=>1000,35071=>1000,35072=>1000,35073=>1000,35074=>1000,35075=>1000,35076=>1000,35077=>1000,35078=>1000,35079=>1000,35080=>1000,35081=>1000,35082=>1000,35083=>1000,35084=>1000,35085=>1000,35086=>1000,35087=>1000,35088=>1000,35089=>1000,35090=>1000,35091=>1000,35092=>1000,35093=>1000,35094=>1000,35095=>1000,35096=>1000,35097=>1000,35098=>1000,35099=>1000,35100=>1000,35101=>1000,35102=>1000,35103=>1000,35104=>1000,35105=>1000,35106=>1000,35107=>1000,35108=>1000,35109=>1000,35110=>1000,35111=>1000,35112=>1000,35113=>1000,35114=>1000,35115=>1000,35116=>1000,35117=>1000,35118=>1000,35119=>1000,35120=>1000,35121=>1000,35122=>1000,35123=>1000,35124=>1000,35125=>1000,35126=>1000,35127=>1000,35128=>1000,35129=>1000,35130=>1000,35131=>1000,35132=>1000,35133=>1000,35134=>1000,35135=>1000,35136=>1000,35137=>1000,35138=>1000,35139=>1000,35140=>1000,35141=>1000,35142=>1000,35143=>1000,35144=>1000,35145=>1000,35146=>1000,35147=>1000,35148=>1000,35149=>1000,35150=>1000,35151=>1000,35152=>1000,35153=>1000,35154=>1000,35155=>1000,35156=>1000,35157=>1000,35158=>1000,35159=>1000,35160=>1000,35161=>1000,35162=>1000,35163=>1000,35164=>1000,35165=>1000,35166=>1000,35167=>1000,35168=>1000,35169=>1000,35170=>1000,35171=>1000,35172=>1000,35173=>1000,35174=>1000,35175=>1000,35176=>1000,35177=>1000,35178=>1000,35179=>1000,35180=>1000,35181=>1000,35182=>1000,35183=>1000,35184=>1000,35185=>1000,35186=>1000,35187=>1000,35188=>1000,35189=>1000,35190=>1000,35191=>1000,35192=>1000,35193=>1000,35194=>1000,35195=>1000,35196=>1000,35197=>1000,35198=>1000,35199=>1000,35200=>1000,35201=>1000,35202=>1000,35203=>1000,35204=>1000,35205=>1000,35206=>1000,35207=>1000,35208=>1000,35209=>1000,35210=>1000,35211=>1000,35212=>1000,35213=>1000,35214=>1000,35215=>1000,35216=>1000,35217=>1000,35218=>1000,35219=>1000,35220=>1000,35221=>1000,35222=>1000,35223=>1000,35224=>1000,35225=>1000,35226=>1000,35227=>1000,35228=>1000,35229=>1000,35230=>1000,35231=>1000,35232=>1000,35233=>1000,35234=>1000,35235=>1000,35236=>1000,35237=>1000,35238=>1000,35239=>1000,35240=>1000,35241=>1000,35242=>1000,35243=>1000,35244=>1000,35245=>1000,35246=>1000,35247=>1000,35248=>1000,35249=>1000,35250=>1000,35251=>1000,35252=>1000,35253=>1000,35254=>1000,35255=>1000,35256=>1000,35257=>1000,35258=>1000,35259=>1000,35260=>1000,35261=>1000,35262=>1000,35263=>1000,35264=>1000,35265=>1000,35266=>1000,35267=>1000,35268=>1000,35269=>1000,35270=>1000,35271=>1000,35272=>1000,35273=>1000,35274=>1000,35275=>1000,35276=>1000,35277=>1000,35278=>1000,35279=>1000,35280=>1000,35281=>1000,35282=>1000,35283=>1000,35284=>1000,35285=>1000,35286=>1000,35287=>1000,35288=>1000,35289=>1000,35290=>1000,35291=>1000,35292=>1000,35293=>1000,35294=>1000,35295=>1000,35296=>1000,35297=>1000,35298=>1000,35299=>1000,35300=>1000,35301=>1000,35302=>1000,35303=>1000,35304=>1000,35305=>1000,35306=>1000,35307=>1000,35308=>1000,35309=>1000,35310=>1000,35311=>1000,35312=>1000,35313=>1000,35314=>1000,35315=>1000,35316=>1000,35317=>1000,35318=>1000,35319=>1000,35320=>1000,35321=>1000,35322=>1000,35323=>1000,35324=>1000,35325=>1000,35326=>1000,35327=>1000,35328=>1000,35329=>1000,35330=>1000,35331=>1000,35332=>1000,35333=>1000,35334=>1000,35335=>1000,35336=>1000,35337=>1000,35338=>1000,35339=>1000,35340=>1000,35341=>1000,35342=>1000,35343=>1000,35344=>1000,35345=>1000,35346=>1000,35347=>1000,35348=>1000,35349=>1000,35350=>1000,35351=>1000,35352=>1000,35353=>1000,35354=>1000,35355=>1000,35356=>1000,35357=>1000,35358=>1000,35359=>1000,35360=>1000,35361=>1000,35362=>1000,35363=>1000,35364=>1000,35365=>1000,35366=>1000,35367=>1000,35368=>1000,35369=>1000,35370=>1000,35371=>1000,35372=>1000,35373=>1000,35374=>1000,35375=>1000,35376=>1000,35377=>1000,35378=>1000,35379=>1000,35380=>1000,35381=>1000,35382=>1000,35383=>1000,35384=>1000,35385=>1000,35386=>1000,35387=>1000,35388=>1000,35389=>1000,35390=>1000,35391=>1000,35392=>1000,35393=>1000,35394=>1000,35395=>1000,35396=>1000,35397=>1000,35398=>1000,35399=>1000,35400=>1000,35401=>1000,35402=>1000,35403=>1000,35404=>1000,35405=>1000,35406=>1000,35407=>1000,35408=>1000,35409=>1000,35410=>1000,35411=>1000,35412=>1000,35413=>1000,35414=>1000,35415=>1000,35416=>1000,35417=>1000,35418=>1000,35419=>1000,35420=>1000,35421=>1000,35422=>1000,35423=>1000,35424=>1000,35425=>1000,35426=>1000,35427=>1000,35428=>1000,35429=>1000,35430=>1000,35431=>1000,35432=>1000,35433=>1000,35434=>1000,35435=>1000,35436=>1000,35437=>1000,35438=>1000,35439=>1000,35440=>1000,35441=>1000,35442=>1000,35443=>1000,35444=>1000,35445=>1000,35446=>1000,35447=>1000,35448=>1000,35449=>1000,35450=>1000,35451=>1000,35452=>1000,35453=>1000,35454=>1000,35455=>1000,35456=>1000,35457=>1000,35458=>1000,35459=>1000,35460=>1000,35461=>1000,35462=>1000,35463=>1000,35464=>1000,35465=>1000,35466=>1000,35467=>1000,35468=>1000,35469=>1000,35470=>1000,35471=>1000,35472=>1000,35473=>1000,35474=>1000,35475=>1000,35476=>1000,35477=>1000,35478=>1000,35479=>1000,35480=>1000,35481=>1000,35482=>1000,35483=>1000,35484=>1000,35485=>1000,35486=>1000,35487=>1000,35488=>1000,35489=>1000,35490=>1000,35491=>1000,35492=>1000,35493=>1000,35494=>1000,35495=>1000,35496=>1000,35497=>1000,35498=>1000,35499=>1000,35500=>1000,35501=>1000,35502=>1000,35503=>1000,35504=>1000,35505=>1000,35506=>1000,35507=>1000,35508=>1000,35509=>1000,35510=>1000,35511=>1000,35512=>1000,35513=>1000,35514=>1000,35515=>1000,35516=>1000,35517=>1000,35518=>1000,35519=>1000,35520=>1000,35521=>1000,35522=>1000,35523=>1000,35524=>1000,35525=>1000,35526=>1000,35527=>1000,35528=>1000,35529=>1000,35530=>1000,35531=>1000,35532=>1000,35533=>1000,35534=>1000,35535=>1000,35536=>1000,35537=>1000,35538=>1000,35539=>1000,35540=>1000,35541=>1000,35542=>1000,35543=>1000,35544=>1000,35545=>1000,35546=>1000,35547=>1000,35548=>1000,35549=>1000,35550=>1000,35551=>1000,35552=>1000,35553=>1000,35554=>1000,35555=>1000,35556=>1000,35557=>1000,35558=>1000,35559=>1000,35560=>1000,35561=>1000,35562=>1000,35563=>1000,35564=>1000,35565=>1000,35566=>1000,35567=>1000,35568=>1000,35569=>1000,35570=>1000,35571=>1000,35572=>1000,35573=>1000,35574=>1000,35575=>1000,35576=>1000,35577=>1000,35578=>1000,35579=>1000,35580=>1000,35581=>1000,35582=>1000,35583=>1000,35584=>1000,35585=>1000,35586=>1000,35587=>1000,35588=>1000,35589=>1000,35590=>1000,35591=>1000,35592=>1000,35593=>1000,35594=>1000,35595=>1000,35596=>1000,35597=>1000,35598=>1000,35599=>1000,35600=>1000,35601=>1000,35602=>1000,35603=>1000,35604=>1000,35605=>1000,35606=>1000,35607=>1000,35608=>1000,35609=>1000,35610=>1000,35611=>1000,35612=>1000,35613=>1000,35614=>1000,35615=>1000,35616=>1000,35617=>1000,35618=>1000,35619=>1000,35620=>1000,35621=>1000,35622=>1000,35623=>1000,35624=>1000,35625=>1000,35626=>1000,35627=>1000,35628=>1000,35629=>1000,35630=>1000,35631=>1000,35632=>1000,35633=>1000,35634=>1000,35635=>1000,35636=>1000,35637=>1000,35638=>1000,35639=>1000,35640=>1000,35641=>1000,35642=>1000,35643=>1000,35644=>1000,35645=>1000,35646=>1000,35647=>1000,35648=>1000,35649=>1000,35650=>1000,35651=>1000,35652=>1000,35653=>1000,35654=>1000,35655=>1000,35656=>1000,35657=>1000,35658=>1000,35659=>1000,35660=>1000,35661=>1000,35662=>1000,35663=>1000,35664=>1000,35665=>1000,35666=>1000,35667=>1000,35668=>1000,35669=>1000,35670=>1000,35671=>1000,35672=>1000,35673=>1000,35674=>1000,35675=>1000,35676=>1000,35677=>1000,35678=>1000,35679=>1000,35680=>1000,35681=>1000,35682=>1000,35683=>1000,35684=>1000,35685=>1000,35686=>1000,35687=>1000,35688=>1000,35689=>1000,35690=>1000,35691=>1000,35692=>1000,35693=>1000,35694=>1000,35695=>1000,35696=>1000,35697=>1000,35698=>1000,35699=>1000,35700=>1000,35701=>1000,35702=>1000,35703=>1000,35704=>1000,35705=>1000,35706=>1000,35707=>1000,35708=>1000,35709=>1000,35710=>1000,35711=>1000,35712=>1000,35713=>1000,35714=>1000,35715=>1000,35716=>1000,35717=>1000,35718=>1000,35719=>1000,35720=>1000,35721=>1000,35722=>1000,35723=>1000,35724=>1000,35725=>1000,35726=>1000,35727=>1000,35728=>1000,35729=>1000,35730=>1000,35731=>1000,35732=>1000,35733=>1000,35734=>1000,35735=>1000,35736=>1000,35737=>1000,35738=>1000,35739=>1000,35740=>1000,35741=>1000,35742=>1000,35743=>1000,35744=>1000,35745=>1000,35746=>1000,35747=>1000,35748=>1000,35749=>1000,35750=>1000,35751=>1000,35752=>1000,35753=>1000,35754=>1000,35755=>1000,35756=>1000,35757=>1000,35758=>1000,35759=>1000,35760=>1000,35761=>1000,35762=>1000,35763=>1000,35764=>1000,35765=>1000,35766=>1000,35767=>1000,35768=>1000,35769=>1000,35770=>1000,35771=>1000,35772=>1000,35773=>1000,35774=>1000,35775=>1000,35776=>1000,35777=>1000,35778=>1000,35779=>1000,35780=>1000,35781=>1000,35782=>1000,35783=>1000,35784=>1000,35785=>1000,35786=>1000,35787=>1000,35788=>1000,35789=>1000,35790=>1000,35791=>1000,35792=>1000,35793=>1000,35794=>1000,35795=>1000,35796=>1000,35797=>1000,35798=>1000,35799=>1000,35800=>1000,35801=>1000,35802=>1000,35803=>1000,35804=>1000,35805=>1000,35806=>1000,35807=>1000,35808=>1000,35809=>1000,35810=>1000,35811=>1000,35812=>1000,35813=>1000,35814=>1000,35815=>1000,35816=>1000,35817=>1000,35818=>1000,35819=>1000,35820=>1000,35821=>1000,35822=>1000,35823=>1000,35824=>1000,35825=>1000,35826=>1000,35827=>1000,35828=>1000,35829=>1000,35830=>1000,35831=>1000,35832=>1000,35833=>1000,35834=>1000,35835=>1000,35836=>1000,35837=>1000,35838=>1000,35839=>1000,35840=>1000,35841=>1000,35842=>1000,35843=>1000,35844=>1000,35845=>1000,35846=>1000,35847=>1000,35848=>1000,35849=>1000,35850=>1000,35851=>1000,35852=>1000,35853=>1000,35854=>1000,35855=>1000,35856=>1000,35857=>1000,35858=>1000,35859=>1000,35860=>1000,35861=>1000,35862=>1000,35863=>1000,35864=>1000,35865=>1000,35866=>1000,35867=>1000,35868=>1000,35869=>1000,35870=>1000,35871=>1000,35872=>1000,35873=>1000,35874=>1000,35875=>1000,35876=>1000,35877=>1000,35878=>1000,35879=>1000,35880=>1000,35881=>1000,35882=>1000,35883=>1000,35884=>1000,35885=>1000,35886=>1000,35887=>1000,35888=>1000,35889=>1000,35890=>1000,35891=>1000,35892=>1000,35893=>1000,35894=>1000,35895=>1000,35896=>1000,35897=>1000,35898=>1000,35899=>1000,35900=>1000,35901=>1000,35902=>1000,35903=>1000,35904=>1000,35905=>1000,35906=>1000,35907=>1000,35908=>1000,35909=>1000,35910=>1000,35911=>1000,35912=>1000,35913=>1000,35914=>1000,35915=>1000,35916=>1000,35917=>1000,35918=>1000,35919=>1000,35920=>1000,35921=>1000,35922=>1000,35923=>1000,35924=>1000,35925=>1000,35926=>1000,35927=>1000,35928=>1000,35929=>1000,35930=>1000,35931=>1000,35932=>1000,35933=>1000,35934=>1000,35935=>1000,35936=>1000,35937=>1000,35938=>1000,35939=>1000,35940=>1000,35941=>1000,35942=>1000,35943=>1000,35944=>1000,35945=>1000,35946=>1000,35947=>1000,35948=>1000,35949=>1000,35950=>1000,35951=>1000,35952=>1000,35953=>1000,35954=>1000,35955=>1000,35956=>1000,35957=>1000,35958=>1000,35959=>1000,35960=>1000,35961=>1000,35962=>1000,35963=>1000,35964=>1000,35965=>1000,35966=>1000,35967=>1000,35968=>1000,35969=>1000,35970=>1000,35971=>1000,35972=>1000,35973=>1000,35974=>1000,35975=>1000,35976=>1000,35977=>1000,35978=>1000,35979=>1000,35980=>1000,35981=>1000,35982=>1000,35983=>1000,35984=>1000,35985=>1000,35986=>1000,35987=>1000,35988=>1000,35989=>1000,35990=>1000,35991=>1000,35992=>1000,35993=>1000,35994=>1000,35995=>1000,35996=>1000,35997=>1000,35998=>1000,35999=>1000,36000=>1000,36001=>1000,36002=>1000,36003=>1000,36004=>1000,36005=>1000,36006=>1000,36007=>1000,36008=>1000,36009=>1000,36010=>1000,36011=>1000,36012=>1000,36013=>1000,36014=>1000,36015=>1000,36016=>1000,36017=>1000,36018=>1000,36019=>1000,36020=>1000,36021=>1000,36022=>1000,36023=>1000,36024=>1000,36025=>1000,36026=>1000,36027=>1000,36028=>1000,36029=>1000,36030=>1000,36031=>1000,36032=>1000,36033=>1000,36034=>1000,36035=>1000,36036=>1000,36037=>1000,36038=>1000,36039=>1000,36040=>1000,36041=>1000,36042=>1000,36043=>1000,36044=>1000,36045=>1000,36046=>1000,36047=>1000,36048=>1000,36049=>1000,36050=>1000,36051=>1000,36052=>1000,36053=>1000,36054=>1000,36055=>1000,36056=>1000,36057=>1000,36058=>1000,36059=>1000,36060=>1000,36061=>1000,36062=>1000,36063=>1000,36064=>1000,36065=>1000,36066=>1000,36067=>1000,36068=>1000,36069=>1000,36070=>1000,36071=>1000,36072=>1000,36073=>1000,36074=>1000,36075=>1000,36076=>1000,36077=>1000,36078=>1000,36079=>1000,36080=>1000,36081=>1000,36082=>1000,36083=>1000,36084=>1000,36085=>1000,36086=>1000,36087=>1000,36088=>1000,36089=>1000,36090=>1000,36091=>1000,36092=>1000,36093=>1000,36094=>1000,36095=>1000,36096=>1000,36097=>1000,36098=>1000,36099=>1000,36100=>1000,36101=>1000,36102=>1000,36103=>1000,36104=>1000,36105=>1000,36106=>1000,36107=>1000,36108=>1000,36109=>1000,36110=>1000,36111=>1000,36112=>1000,36113=>1000,36114=>1000,36115=>1000,36116=>1000,36117=>1000,36118=>1000,36119=>1000,36120=>1000,36121=>1000,36122=>1000,36123=>1000,36124=>1000,36125=>1000,36126=>1000,36127=>1000,36128=>1000,36129=>1000,36130=>1000,36131=>1000,36132=>1000,36133=>1000,36134=>1000,36135=>1000,36136=>1000,36137=>1000,36138=>1000,36139=>1000,36140=>1000,36141=>1000,36142=>1000,36143=>1000,36144=>1000,36145=>1000,36146=>1000,36147=>1000,36148=>1000,36149=>1000,36150=>1000,36151=>1000,36152=>1000,36153=>1000,36154=>1000,36155=>1000,36156=>1000,36157=>1000,36158=>1000,36159=>1000,36160=>1000,36161=>1000,36162=>1000,36163=>1000,36164=>1000,36165=>1000,36166=>1000,36167=>1000,36168=>1000,36169=>1000,36170=>1000,36171=>1000,36172=>1000,36173=>1000,36174=>1000,36175=>1000,36176=>1000,36177=>1000,36178=>1000,36179=>1000,36180=>1000,36181=>1000,36182=>1000,36183=>1000,36184=>1000,36185=>1000,36186=>1000,36187=>1000,36188=>1000,36189=>1000,36190=>1000,36191=>1000,36192=>1000,36193=>1000,36194=>1000,36195=>1000,36196=>1000,36197=>1000,36198=>1000,36199=>1000,36200=>1000,36201=>1000,36202=>1000,36203=>1000,36204=>1000,36205=>1000,36206=>1000,36207=>1000,36208=>1000,36209=>1000,36210=>1000,36211=>1000,36212=>1000,36213=>1000,36214=>1000,36215=>1000,36216=>1000,36217=>1000,36218=>1000,36219=>1000,36220=>1000,36221=>1000,36222=>1000,36223=>1000,36224=>1000,36225=>1000,36226=>1000,36227=>1000,36228=>1000,36229=>1000,36230=>1000,36231=>1000,36232=>1000,36233=>1000,36234=>1000,36235=>1000,36236=>1000,36237=>1000,36238=>1000,36239=>1000,36240=>1000,36241=>1000,36242=>1000,36243=>1000,36244=>1000,36245=>1000,36246=>1000,36247=>1000,36248=>1000,36249=>1000,36250=>1000,36251=>1000,36252=>1000,36253=>1000,36254=>1000,36255=>1000,36256=>1000,36257=>1000,36258=>1000,36259=>1000,36260=>1000,36261=>1000,36262=>1000,36263=>1000,36264=>1000,36265=>1000,36266=>1000,36267=>1000,36268=>1000,36269=>1000,36270=>1000,36271=>1000,36272=>1000,36273=>1000,36274=>1000,36275=>1000,36276=>1000,36277=>1000,36278=>1000,36279=>1000,36280=>1000,36281=>1000,36282=>1000,36283=>1000,36284=>1000,36285=>1000,36286=>1000,36287=>1000,36288=>1000,36289=>1000,36290=>1000,36291=>1000,36292=>1000,36293=>1000,36294=>1000,36295=>1000,36296=>1000,36297=>1000,36298=>1000,36299=>1000,36300=>1000,36301=>1000,36302=>1000,36303=>1000,36304=>1000,36305=>1000,36306=>1000,36307=>1000,36308=>1000,36309=>1000,36310=>1000,36311=>1000,36312=>1000,36313=>1000,36314=>1000,36315=>1000,36316=>1000,36317=>1000,36318=>1000,36319=>1000,36320=>1000,36321=>1000,36322=>1000,36323=>1000,36324=>1000,36325=>1000,36326=>1000,36327=>1000,36328=>1000,36329=>1000,36330=>1000,36331=>1000,36332=>1000,36333=>1000,36334=>1000,36335=>1000,36336=>1000,36337=>1000,36338=>1000,36339=>1000,36340=>1000,36341=>1000,36342=>1000,36343=>1000,36344=>1000,36345=>1000,36346=>1000,36347=>1000,36348=>1000,36349=>1000,36350=>1000,36351=>1000,36352=>1000,36353=>1000,36354=>1000,36355=>1000,36356=>1000,36357=>1000,36358=>1000,36359=>1000,36360=>1000,36361=>1000,36362=>1000,36363=>1000,36364=>1000,36365=>1000,36366=>1000,36367=>1000,36368=>1000,36369=>1000,36370=>1000,36371=>1000,36372=>1000,36373=>1000,36374=>1000,36375=>1000,36376=>1000,36377=>1000,36378=>1000,36379=>1000,36380=>1000,36381=>1000,36382=>1000,36383=>1000,36384=>1000,36385=>1000,36386=>1000,36387=>1000,36388=>1000,36389=>1000,36390=>1000,36391=>1000,36392=>1000,36393=>1000,36394=>1000,36395=>1000,36396=>1000,36397=>1000,36398=>1000,36399=>1000,36400=>1000,36401=>1000,36402=>1000,36403=>1000,36404=>1000,36405=>1000,36406=>1000,36407=>1000,36408=>1000,36409=>1000,36410=>1000,36411=>1000,36412=>1000,36413=>1000,36414=>1000,36415=>1000,36416=>1000,36417=>1000,36418=>1000,36419=>1000,36420=>1000,36421=>1000,36422=>1000,36423=>1000,36424=>1000,36425=>1000,36426=>1000,36427=>1000,36428=>1000,36429=>1000,36430=>1000,36431=>1000,36432=>1000,36433=>1000,36434=>1000,36435=>1000,36436=>1000,36437=>1000,36438=>1000,36439=>1000,36440=>1000,36441=>1000,36442=>1000,36443=>1000,36444=>1000,36445=>1000,36446=>1000,36447=>1000,36448=>1000,36449=>1000,36450=>1000,36451=>1000,36452=>1000,36453=>1000,36454=>1000,36455=>1000,36456=>1000,36457=>1000,36458=>1000,36459=>1000,36460=>1000,36461=>1000,36462=>1000,36463=>1000,36464=>1000,36465=>1000,36466=>1000,36467=>1000,36468=>1000,36469=>1000,36470=>1000,36471=>1000,36472=>1000,36473=>1000,36474=>1000,36475=>1000,36476=>1000,36477=>1000,36478=>1000,36479=>1000,36480=>1000,36481=>1000,36482=>1000,36483=>1000,36484=>1000,36485=>1000,36486=>1000,36487=>1000,36488=>1000,36489=>1000,36490=>1000,36491=>1000,36492=>1000,36493=>1000,36494=>1000,36495=>1000,36496=>1000,36497=>1000,36498=>1000,36499=>1000,36500=>1000,36501=>1000,36502=>1000,36503=>1000,36504=>1000,36505=>1000,36506=>1000,36507=>1000,36508=>1000,36509=>1000,36510=>1000,36511=>1000,36512=>1000,36513=>1000,36514=>1000,36515=>1000,36516=>1000,36517=>1000,36518=>1000,36519=>1000,36520=>1000,36521=>1000,36522=>1000,36523=>1000,36524=>1000,36525=>1000,36526=>1000,36527=>1000,36528=>1000,36529=>1000,36530=>1000,36531=>1000,36532=>1000,36533=>1000,36534=>1000,36535=>1000,36536=>1000,36537=>1000,36538=>1000,36539=>1000,36540=>1000,36541=>1000,36542=>1000,36543=>1000,36544=>1000,36545=>1000,36546=>1000,36547=>1000,36548=>1000,36549=>1000,36550=>1000,36551=>1000,36552=>1000,36553=>1000,36554=>1000,36555=>1000,36556=>1000,36557=>1000,36558=>1000,36559=>1000,36560=>1000,36561=>1000,36562=>1000,36563=>1000,36564=>1000,36565=>1000,36566=>1000,36567=>1000,36568=>1000,36569=>1000,36570=>1000,36571=>1000,36572=>1000,36573=>1000,36574=>1000,36575=>1000,36576=>1000,36577=>1000,36578=>1000,36579=>1000,36580=>1000,36581=>1000,36582=>1000,36583=>1000,36584=>1000,36585=>1000,36586=>1000,36587=>1000,36588=>1000,36589=>1000,36590=>1000,36591=>1000,36592=>1000,36593=>1000,36594=>1000,36595=>1000,36596=>1000,36597=>1000,36598=>1000,36599=>1000,36600=>1000,36601=>1000,36602=>1000,36603=>1000,36604=>1000,36605=>1000,36606=>1000,36607=>1000,36608=>1000,36609=>1000,36610=>1000,36611=>1000,36612=>1000,36613=>1000,36614=>1000,36615=>1000,36616=>1000,36617=>1000,36618=>1000,36619=>1000,36620=>1000,36621=>1000,36622=>1000,36623=>1000,36624=>1000,36625=>1000,36626=>1000,36627=>1000,36628=>1000,36629=>1000,36630=>1000,36631=>1000,36632=>1000,36633=>1000,36634=>1000,36635=>1000,36636=>1000,36637=>1000,36638=>1000,36639=>1000,36640=>1000,36641=>1000,36642=>1000,36643=>1000,36644=>1000,36645=>1000,36646=>1000,36647=>1000,36648=>1000,36649=>1000,36650=>1000,36651=>1000,36652=>1000,36653=>1000,36654=>1000,36655=>1000,36656=>1000,36657=>1000,36658=>1000,36659=>1000,36660=>1000,36661=>1000,36662=>1000,36663=>1000,36664=>1000,36665=>1000,36666=>1000,36667=>1000,36668=>1000,36669=>1000,36670=>1000,36671=>1000,36672=>1000,36673=>1000,36674=>1000,36675=>1000,36676=>1000,36677=>1000,36678=>1000,36679=>1000,36680=>1000,36681=>1000,36682=>1000,36683=>1000,36684=>1000,36685=>1000,36686=>1000,36687=>1000,36688=>1000,36689=>1000,36690=>1000,36691=>1000,36692=>1000,36693=>1000,36694=>1000,36695=>1000,36696=>1000,36697=>1000,36698=>1000,36699=>1000,36700=>1000,36701=>1000,36702=>1000,36703=>1000,36704=>1000,36705=>1000,36706=>1000,36707=>1000,36708=>1000,36709=>1000,36710=>1000,36711=>1000,36712=>1000,36713=>1000,36714=>1000,36715=>1000,36716=>1000,36717=>1000,36718=>1000,36719=>1000,36720=>1000,36721=>1000,36722=>1000,36723=>1000,36724=>1000,36725=>1000,36726=>1000,36727=>1000,36728=>1000,36729=>1000,36730=>1000,36731=>1000,36732=>1000,36733=>1000,36734=>1000,36735=>1000,36736=>1000,36737=>1000,36738=>1000,36739=>1000,36740=>1000,36741=>1000,36742=>1000,36743=>1000,36744=>1000,36745=>1000,36746=>1000,36747=>1000,36748=>1000,36749=>1000,36750=>1000,36751=>1000,36752=>1000,36753=>1000,36754=>1000,36755=>1000,36756=>1000,36757=>1000,36758=>1000,36759=>1000,36760=>1000,36761=>1000,36762=>1000,36763=>1000,36764=>1000,36765=>1000,36766=>1000,36767=>1000,36768=>1000,36769=>1000,36770=>1000,36771=>1000,36772=>1000,36773=>1000,36774=>1000,36775=>1000,36776=>1000,36777=>1000,36778=>1000,36779=>1000,36780=>1000,36781=>1000,36782=>1000,36783=>1000,36784=>1000,36785=>1000,36786=>1000,36787=>1000,36788=>1000,36789=>1000,36790=>1000,36791=>1000,36792=>1000,36793=>1000,36794=>1000,36795=>1000,36796=>1000,36797=>1000,36798=>1000,36799=>1000,36800=>1000,36801=>1000,36802=>1000,36803=>1000,36804=>1000,36805=>1000,36806=>1000,36807=>1000,36808=>1000,36809=>1000,36810=>1000,36811=>1000,36812=>1000,36813=>1000,36814=>1000,36815=>1000,36816=>1000,36817=>1000,36818=>1000,36819=>1000,36820=>1000,36821=>1000,36822=>1000,36823=>1000,36824=>1000,36825=>1000,36826=>1000,36827=>1000,36828=>1000,36829=>1000,36830=>1000,36831=>1000,36832=>1000,36833=>1000,36834=>1000,36835=>1000,36836=>1000,36837=>1000,36838=>1000,36839=>1000,36840=>1000,36841=>1000,36842=>1000,36843=>1000,36844=>1000,36845=>1000,36846=>1000,36847=>1000,36848=>1000,36849=>1000,36850=>1000,36851=>1000,36852=>1000,36853=>1000,36854=>1000,36855=>1000,36856=>1000,36857=>1000,36858=>1000,36859=>1000,36860=>1000,36861=>1000,36862=>1000,36863=>1000,36864=>1000,36865=>1000,36866=>1000,36867=>1000,36868=>1000,36869=>1000,36870=>1000,36871=>1000,36872=>1000,36873=>1000,36874=>1000,36875=>1000,36876=>1000,36877=>1000,36878=>1000,36879=>1000,36880=>1000,36881=>1000,36882=>1000,36883=>1000,36884=>1000,36885=>1000,36886=>1000,36887=>1000,36888=>1000,36889=>1000,36890=>1000,36891=>1000,36892=>1000,36893=>1000,36894=>1000,36895=>1000,36896=>1000,36897=>1000,36898=>1000,36899=>1000,36900=>1000,36901=>1000,36902=>1000,36903=>1000,36904=>1000,36905=>1000,36906=>1000,36907=>1000,36908=>1000,36909=>1000,36910=>1000,36911=>1000,36912=>1000,36913=>1000,36914=>1000,36915=>1000,36916=>1000,36917=>1000,36918=>1000,36919=>1000,36920=>1000,36921=>1000,36922=>1000,36923=>1000,36924=>1000,36925=>1000,36926=>1000,36927=>1000,36928=>1000,36929=>1000,36930=>1000,36931=>1000,36932=>1000,36933=>1000,36934=>1000,36935=>1000,36936=>1000,36937=>1000,36938=>1000,36939=>1000,36940=>1000,36941=>1000,36942=>1000,36943=>1000,36944=>1000,36945=>1000,36946=>1000,36947=>1000,36948=>1000,36949=>1000,36950=>1000,36951=>1000,36952=>1000,36953=>1000,36954=>1000,36955=>1000,36956=>1000,36957=>1000,36958=>1000,36959=>1000,36960=>1000,36961=>1000,36962=>1000,36963=>1000,36964=>1000,36965=>1000,36966=>1000,36967=>1000,36968=>1000,36969=>1000,36970=>1000,36971=>1000,36972=>1000,36973=>1000,36974=>1000,36975=>1000,36976=>1000,36977=>1000,36978=>1000,36979=>1000,36980=>1000,36981=>1000,36982=>1000,36983=>1000,36984=>1000,36985=>1000,36986=>1000,36987=>1000,36988=>1000,36989=>1000,36990=>1000,36991=>1000,36992=>1000,36993=>1000,36994=>1000,36995=>1000,36996=>1000,36997=>1000,36998=>1000,36999=>1000,37000=>1000,37001=>1000,37002=>1000,37003=>1000,37004=>1000,37005=>1000,37006=>1000,37007=>1000,37008=>1000,37009=>1000,37010=>1000,37011=>1000,37012=>1000,37013=>1000,37014=>1000,37015=>1000,37016=>1000,37017=>1000,37018=>1000,37019=>1000,37020=>1000,37021=>1000,37022=>1000,37023=>1000,37024=>1000,37025=>1000,37026=>1000,37027=>1000,37028=>1000,37029=>1000,37030=>1000,37031=>1000,37032=>1000,37033=>1000,37034=>1000,37035=>1000,37036=>1000,37037=>1000,37038=>1000,37039=>1000,37040=>1000,37041=>1000,37042=>1000,37043=>1000,37044=>1000,37045=>1000,37046=>1000,37047=>1000,37048=>1000,37049=>1000,37050=>1000,37051=>1000,37052=>1000,37053=>1000,37054=>1000,37055=>1000,37056=>1000,37057=>1000,37058=>1000,37059=>1000,37060=>1000,37061=>1000,37062=>1000,37063=>1000,37064=>1000,37065=>1000,37066=>1000,37067=>1000,37068=>1000,37069=>1000,37070=>1000,37071=>1000,37072=>1000,37073=>1000,37074=>1000,37075=>1000,37076=>1000,37077=>1000,37078=>1000,37079=>1000,37080=>1000,37081=>1000,37082=>1000,37083=>1000,37084=>1000,37085=>1000,37086=>1000,37087=>1000,37088=>1000,37089=>1000,37090=>1000,37091=>1000,37092=>1000,37093=>1000,37094=>1000,37095=>1000,37096=>1000,37097=>1000,37098=>1000,37099=>1000,37100=>1000,37101=>1000,37102=>1000,37103=>1000,37104=>1000,37105=>1000,37106=>1000,37107=>1000,37108=>1000,37109=>1000,37110=>1000,37111=>1000,37112=>1000,37113=>1000,37114=>1000,37115=>1000,37116=>1000,37117=>1000,37118=>1000,37119=>1000,37120=>1000,37121=>1000,37122=>1000,37123=>1000,37124=>1000,37125=>1000,37126=>1000,37127=>1000,37128=>1000,37129=>1000,37130=>1000,37131=>1000,37132=>1000,37133=>1000,37134=>1000,37135=>1000,37136=>1000,37137=>1000,37138=>1000,37139=>1000,37140=>1000,37141=>1000,37142=>1000,37143=>1000,37144=>1000,37145=>1000,37146=>1000,37147=>1000,37148=>1000,37149=>1000,37150=>1000,37151=>1000,37152=>1000,37153=>1000,37154=>1000,37155=>1000,37156=>1000,37157=>1000,37158=>1000,37159=>1000,37160=>1000,37161=>1000,37162=>1000,37163=>1000,37164=>1000,37165=>1000,37166=>1000,37167=>1000,37168=>1000,37169=>1000,37170=>1000,37171=>1000,37172=>1000,37173=>1000,37174=>1000,37175=>1000,37176=>1000,37177=>1000,37178=>1000,37179=>1000,37180=>1000,37181=>1000,37182=>1000,37183=>1000,37184=>1000,37185=>1000,37186=>1000,37187=>1000,37188=>1000,37189=>1000,37190=>1000,37191=>1000,37192=>1000,37193=>1000,37194=>1000,37195=>1000,37196=>1000,37197=>1000,37198=>1000,37199=>1000,37200=>1000,37201=>1000,37202=>1000,37203=>1000,37204=>1000,37205=>1000,37206=>1000,37207=>1000,37208=>1000,37209=>1000,37210=>1000,37211=>1000,37212=>1000,37213=>1000,37214=>1000,37215=>1000,37216=>1000,37217=>1000,37218=>1000,37219=>1000,37220=>1000,37221=>1000,37222=>1000,37223=>1000,37224=>1000,37225=>1000,37226=>1000,37227=>1000,37228=>1000,37229=>1000,37230=>1000,37231=>1000,37232=>1000,37233=>1000,37234=>1000,37235=>1000,37236=>1000,37237=>1000,37238=>1000,37239=>1000,37240=>1000,37241=>1000,37242=>1000,37243=>1000,37244=>1000,37245=>1000,37246=>1000,37247=>1000,37248=>1000,37249=>1000,37250=>1000,37251=>1000,37252=>1000,37253=>1000,37254=>1000,37255=>1000,37256=>1000,37257=>1000,37258=>1000,37259=>1000,37260=>1000,37261=>1000,37262=>1000,37263=>1000,37264=>1000,37265=>1000,37266=>1000,37267=>1000,37268=>1000,37269=>1000,37270=>1000,37271=>1000,37272=>1000,37273=>1000,37274=>1000,37275=>1000,37276=>1000,37277=>1000,37278=>1000,37279=>1000,37280=>1000,37281=>1000,37282=>1000,37283=>1000,37284=>1000,37285=>1000,37286=>1000,37287=>1000,37288=>1000,37289=>1000,37290=>1000,37291=>1000,37292=>1000,37293=>1000,37294=>1000,37295=>1000,37296=>1000,37297=>1000,37298=>1000,37299=>1000,37300=>1000,37301=>1000,37302=>1000,37303=>1000,37304=>1000,37305=>1000,37306=>1000,37307=>1000,37308=>1000,37309=>1000,37310=>1000,37311=>1000,37312=>1000,37313=>1000,37314=>1000,37315=>1000,37316=>1000,37317=>1000,37318=>1000,37319=>1000,37320=>1000,37321=>1000,37322=>1000,37323=>1000,37324=>1000,37325=>1000,37326=>1000,37327=>1000,37328=>1000,37329=>1000,37330=>1000,37331=>1000,37332=>1000,37333=>1000,37334=>1000,37335=>1000,37336=>1000,37337=>1000,37338=>1000,37339=>1000,37340=>1000,37341=>1000,37342=>1000,37343=>1000,37344=>1000,37345=>1000,37346=>1000,37347=>1000,37348=>1000,37349=>1000,37350=>1000,37351=>1000,37352=>1000,37353=>1000,37354=>1000,37355=>1000,37356=>1000,37357=>1000,37358=>1000,37359=>1000,37360=>1000,37361=>1000,37362=>1000,37363=>1000,37364=>1000,37365=>1000,37366=>1000,37367=>1000,37368=>1000,37369=>1000,37370=>1000,37371=>1000,37372=>1000,37373=>1000,37374=>1000,37375=>1000,37376=>1000,37377=>1000,37378=>1000,37379=>1000,37380=>1000,37381=>1000,37382=>1000,37383=>1000,37384=>1000,37385=>1000,37386=>1000,37387=>1000,37388=>1000,37389=>1000,37390=>1000,37391=>1000,37392=>1000,37393=>1000,37394=>1000,37395=>1000,37396=>1000,37397=>1000,37398=>1000,37399=>1000,37400=>1000,37401=>1000,37402=>1000,37403=>1000,37404=>1000,37405=>1000,37406=>1000,37407=>1000,37408=>1000,37409=>1000,37410=>1000,37411=>1000,37412=>1000,37413=>1000,37414=>1000,37415=>1000,37416=>1000,37417=>1000,37418=>1000,37419=>1000,37420=>1000,37421=>1000,37422=>1000,37423=>1000,37424=>1000,37425=>1000,37426=>1000,37427=>1000,37428=>1000,37429=>1000,37430=>1000,37431=>1000,37432=>1000,37433=>1000,37434=>1000,37435=>1000,37436=>1000,37437=>1000,37438=>1000,37439=>1000,37440=>1000,37441=>1000,37442=>1000,37443=>1000,37444=>1000,37445=>1000,37446=>1000,37447=>1000,37448=>1000,37449=>1000,37450=>1000,37451=>1000,37452=>1000,37453=>1000,37454=>1000,37455=>1000,37456=>1000,37457=>1000,37458=>1000,37459=>1000,37460=>1000,37461=>1000,37462=>1000,37463=>1000,37464=>1000,37465=>1000,37466=>1000,37467=>1000,37468=>1000,37469=>1000,37470=>1000,37471=>1000,37472=>1000,37473=>1000,37474=>1000,37475=>1000,37476=>1000,37477=>1000,37478=>1000,37479=>1000,37480=>1000,37481=>1000,37482=>1000,37483=>1000,37484=>1000,37485=>1000,37486=>1000,37487=>1000,37488=>1000,37489=>1000,37490=>1000,37491=>1000,37492=>1000,37493=>1000,37494=>1000,37495=>1000,37496=>1000,37497=>1000,37498=>1000,37499=>1000,37500=>1000,37501=>1000,37502=>1000,37503=>1000,37504=>1000,37505=>1000,37506=>1000,37507=>1000,37508=>1000,37509=>1000,37510=>1000,37511=>1000,37512=>1000,37513=>1000,37514=>1000,37515=>1000,37516=>1000,37517=>1000,37518=>1000,37519=>1000,37520=>1000,37521=>1000,37522=>1000,37523=>1000,37524=>1000,37525=>1000,37526=>1000,37527=>1000,37528=>1000,37529=>1000,37530=>1000,37531=>1000,37532=>1000,37533=>1000,37534=>1000,37535=>1000,37536=>1000,37537=>1000,37538=>1000,37539=>1000,37540=>1000,37541=>1000,37542=>1000,37543=>1000,37544=>1000,37545=>1000,37546=>1000,37547=>1000,37548=>1000,37549=>1000,37550=>1000,37551=>1000,37552=>1000,37553=>1000,37554=>1000,37555=>1000,37556=>1000,37557=>1000,37558=>1000,37559=>1000,37560=>1000,37561=>1000,37562=>1000,37563=>1000,37564=>1000,37565=>1000,37566=>1000,37567=>1000,37568=>1000,37569=>1000,37570=>1000,37571=>1000,37572=>1000,37573=>1000,37574=>1000,37575=>1000,37576=>1000,37577=>1000,37578=>1000,37579=>1000,37580=>1000,37581=>1000,37582=>1000,37583=>1000,37584=>1000,37585=>1000,37586=>1000,37587=>1000,37588=>1000,37589=>1000,37590=>1000,37591=>1000,37592=>1000,37593=>1000,37594=>1000,37595=>1000,37596=>1000,37597=>1000,37598=>1000,37599=>1000,37600=>1000,37601=>1000,37602=>1000,37603=>1000,37604=>1000,37605=>1000,37606=>1000,37607=>1000,37608=>1000,37609=>1000,37610=>1000,37611=>1000,37612=>1000,37613=>1000,37614=>1000,37615=>1000,37616=>1000,37617=>1000,37618=>1000,37619=>1000,37620=>1000,37621=>1000,37622=>1000,37623=>1000,37624=>1000,37625=>1000,37626=>1000,37627=>1000,37628=>1000,37629=>1000,37630=>1000,37631=>1000,37632=>1000,37633=>1000,37634=>1000,37635=>1000,37636=>1000,37637=>1000,37638=>1000,37639=>1000,37640=>1000,37641=>1000,37642=>1000,37643=>1000,37644=>1000,37645=>1000,37646=>1000,37647=>1000,37648=>1000,37649=>1000,37650=>1000,37651=>1000,37652=>1000,37653=>1000,37654=>1000,37655=>1000,37656=>1000,37657=>1000,37658=>1000,37659=>1000,37660=>1000,37661=>1000,37662=>1000,37663=>1000,37664=>1000,37665=>1000,37666=>1000,37667=>1000,37668=>1000,37669=>1000,37670=>1000,37671=>1000,37672=>1000,37673=>1000,37674=>1000,37675=>1000,37676=>1000,37677=>1000,37678=>1000,37679=>1000,37680=>1000,37681=>1000,37682=>1000,37683=>1000,37684=>1000,37685=>1000,37686=>1000,37687=>1000,37688=>1000,37689=>1000,37690=>1000,37691=>1000,37692=>1000,37693=>1000,37694=>1000,37695=>1000,37696=>1000,37697=>1000,37698=>1000,37699=>1000,37700=>1000,37701=>1000,37702=>1000,37703=>1000,37704=>1000,37705=>1000,37706=>1000,37707=>1000,37708=>1000,37709=>1000,37710=>1000,37711=>1000,37712=>1000,37713=>1000,37714=>1000,37715=>1000,37716=>1000,37717=>1000,37718=>1000,37719=>1000,37720=>1000,37721=>1000,37722=>1000,37723=>1000,37724=>1000,37725=>1000,37726=>1000,37727=>1000,37728=>1000,37729=>1000,37730=>1000,37731=>1000,37732=>1000,37733=>1000,37734=>1000,37735=>1000,37736=>1000,37737=>1000,37738=>1000,37739=>1000,37740=>1000,37741=>1000,37742=>1000,37743=>1000,37744=>1000,37745=>1000,37746=>1000,37747=>1000,37748=>1000,37749=>1000,37750=>1000,37751=>1000,37752=>1000,37753=>1000,37754=>1000,37755=>1000,37756=>1000,37757=>1000,37758=>1000,37759=>1000,37760=>1000,37761=>1000,37762=>1000,37763=>1000,37764=>1000,37765=>1000,37766=>1000,37767=>1000,37768=>1000,37769=>1000,37770=>1000,37771=>1000,37772=>1000,37773=>1000,37774=>1000,37775=>1000,37776=>1000,37777=>1000,37778=>1000,37779=>1000,37780=>1000,37781=>1000,37782=>1000,37783=>1000,37784=>1000,37785=>1000,37786=>1000,37787=>1000,37788=>1000,37789=>1000,37790=>1000,37791=>1000,37792=>1000,37793=>1000,37794=>1000,37795=>1000,37796=>1000,37797=>1000,37798=>1000,37799=>1000,37800=>1000,37801=>1000,37802=>1000,37803=>1000,37804=>1000,37805=>1000,37806=>1000,37807=>1000,37808=>1000,37809=>1000,37810=>1000,37811=>1000,37812=>1000,37813=>1000,37814=>1000,37815=>1000,37816=>1000,37817=>1000,37818=>1000,37819=>1000,37820=>1000,37821=>1000,37822=>1000,37823=>1000,37824=>1000,37825=>1000,37826=>1000,37827=>1000,37828=>1000,37829=>1000,37830=>1000,37831=>1000,37832=>1000,37833=>1000,37834=>1000,37835=>1000,37836=>1000,37837=>1000,37838=>1000,37839=>1000,37840=>1000,37841=>1000,37842=>1000,37843=>1000,37844=>1000,37845=>1000,37846=>1000,37847=>1000,37848=>1000,37849=>1000,37850=>1000,37851=>1000,37852=>1000,37853=>1000,37854=>1000,37855=>1000,37856=>1000,37857=>1000,37858=>1000,37859=>1000,37860=>1000,37861=>1000,37862=>1000,37863=>1000,37864=>1000,37865=>1000,37866=>1000,37867=>1000,37868=>1000,37869=>1000,37870=>1000,37871=>1000,37872=>1000,37873=>1000,37874=>1000,37875=>1000,37876=>1000,37877=>1000,37878=>1000,37879=>1000,37880=>1000,37881=>1000,37882=>1000,37883=>1000,37884=>1000,37885=>1000,37886=>1000,37887=>1000,37888=>1000,37889=>1000,37890=>1000,37891=>1000,37892=>1000,37893=>1000,37894=>1000,37895=>1000,37896=>1000,37897=>1000,37898=>1000,37899=>1000,37900=>1000,37901=>1000,37902=>1000,37903=>1000,37904=>1000,37905=>1000,37906=>1000,37907=>1000,37908=>1000,37909=>1000,37910=>1000,37911=>1000,37912=>1000,37913=>1000,37914=>1000,37915=>1000,37916=>1000,37917=>1000,37918=>1000,37919=>1000,37920=>1000,37921=>1000,37922=>1000,37923=>1000,37924=>1000,37925=>1000,37926=>1000,37927=>998,37928=>1000,37929=>1000,37930=>1000,37931=>1000,37932=>1000,37933=>1000,37934=>1000,37935=>1000,37936=>1000,37937=>1000,37938=>1000,37939=>1000,37940=>1000,37941=>1000,37942=>1000,37943=>1000,37944=>1000,37945=>1000,37946=>1000,37947=>1000,37948=>1000,37949=>1000,37950=>1000,37951=>1000,37952=>1000,37953=>1000,37954=>1000,37955=>1000,37956=>1000,37957=>1000,37958=>1000,37959=>1000,37960=>1000,37961=>1000,37962=>1000,37963=>1000,37964=>1000,37965=>1000,37966=>1000,37967=>1000,37968=>1000,37969=>1000,37970=>1000,37971=>1000,37972=>1000,37973=>1000,37974=>1000,37975=>1000,37976=>1000,37977=>1000,37978=>1000,37979=>1000,37980=>1000,37981=>1000,37982=>1000,37983=>1000,37984=>1000,37985=>1000,37986=>1000,37987=>1000,37988=>1000,37989=>1000,37990=>1000,37991=>1000,37992=>1000,37993=>1000,37994=>1000,37995=>1000,37996=>1000,37997=>1000,37998=>1000,37999=>1000,38000=>1000,38001=>1000,38002=>1000,38003=>1000,38004=>1000,38005=>1000,38006=>1000,38007=>1000,38008=>1000,38009=>1000,38010=>1000,38011=>1000,38012=>1000,38013=>1000,38014=>1000,38015=>1000,38016=>1000,38017=>1000,38018=>1000,38019=>1000,38020=>1000,38021=>1000,38022=>1000,38023=>1000,38024=>1000,38025=>1000,38026=>1000,38027=>1000,38028=>1000,38029=>1000,38030=>1000,38031=>1000,38032=>1000,38033=>1000,38034=>1000,38035=>1000,38036=>1000,38037=>1000,38038=>1000,38039=>1000,38040=>1000,38041=>1000,38042=>1000,38043=>1000,38044=>1000,38045=>1000,38046=>1000,38047=>1000,38048=>1000,38049=>1000,38050=>1000,38051=>1000,38052=>1000,38053=>1000,38054=>1000,38055=>1000,38056=>1000,38057=>1000,38058=>1000,38059=>1000,38060=>1000,38061=>1000,38062=>1000,38063=>1000,38064=>1000,38065=>1000,38066=>1000,38067=>1000,38068=>1000,38069=>1000,38070=>1000,38071=>1000,38072=>1000,38073=>1000,38074=>1000,38075=>1000,38076=>1000,38077=>1000,38078=>1000,38079=>1000,38080=>1000,38081=>1000,38082=>1000,38083=>1000,38084=>1000,38085=>1000,38086=>1000,38087=>1000,38088=>1000,38089=>1000,38090=>1000,38091=>1000,38092=>1000,38093=>1000,38094=>1000,38095=>1000,38096=>1000,38097=>1000,38098=>1000,38099=>1000,38100=>1000,38101=>1000,38102=>1000,38103=>1000,38104=>1000,38105=>1000,38106=>1000,38107=>1000,38108=>1000,38109=>1000,38110=>1000,38111=>1000,38112=>1000,38113=>1000,38114=>1000,38115=>1000,38116=>1000,38117=>1000,38118=>1000,38119=>1000,38120=>1000,38121=>1000,38122=>1000,38123=>1000,38124=>1000,38125=>1000,38126=>1000,38127=>1000,38128=>1000,38129=>1000,38130=>1000,38131=>1000,38132=>1000,38133=>1000,38134=>1000,38135=>1000,38136=>1000,38137=>1000,38138=>1000,38139=>1000,38140=>1000,38141=>1000,38142=>1000,38143=>1000,38144=>1000,38145=>1000,38146=>1000,38147=>1000,38148=>1000,38149=>1000,38150=>1000,38151=>1000,38152=>1000,38153=>1000,38154=>1000,38155=>1000,38156=>1000,38157=>1000,38158=>1000,38159=>1000,38160=>1000,38161=>1000,38162=>1000,38163=>1000,38164=>1000,38165=>1000,38166=>1000,38167=>1000,38168=>1000,38169=>1000,38170=>1000,38171=>1000,38172=>1000,38173=>1000,38174=>1000,38175=>1000,38176=>1000,38177=>1000,38178=>1000,38179=>1000,38180=>1000,38181=>1000,38182=>1000,38183=>1000,38184=>1000,38185=>1000,38186=>1000,38187=>1000,38188=>1000,38189=>1000,38190=>1000,38191=>1000,38192=>1000,38193=>1000,38194=>1000,38195=>1000,38196=>1000,38197=>1000,38198=>1000,38199=>1000,38200=>1000,38201=>1000,38202=>1000,38203=>1000,38204=>1000,38205=>1000,38206=>1000,38207=>1000,38208=>1000,38209=>1000,38210=>1000,38211=>1000,38212=>1000,38213=>1000,38214=>1000,38215=>1000,38216=>1000,38217=>1000,38218=>1000,38219=>1000,38220=>1000,38221=>1000,38222=>1000,38223=>1000,38224=>1000,38225=>1000,38226=>1000,38227=>1000,38228=>1000,38229=>1000,38230=>1000,38231=>1000,38232=>1000,38233=>1000,38234=>1000,38235=>1000,38236=>1000,38237=>1000,38238=>1000,38239=>1000,38240=>1000,38241=>1000,38242=>1000,38243=>1000,38244=>1000,38245=>1000,38246=>1000,38247=>1000,38248=>1000,38249=>1000,38250=>1000,38251=>1000,38252=>1000,38253=>1000,38254=>1000,38255=>1000,38256=>1000,38257=>1000,38258=>1000,38259=>1000,38260=>1000,38261=>1000,38262=>1000,38263=>1000,38264=>1000,38265=>1000,38266=>1000,38267=>1000,38268=>1000,38269=>1000,38270=>1000,38271=>1000,38272=>1000,38273=>1000,38274=>1000,38275=>1000,38276=>1000,38277=>1000,38278=>1000,38279=>1000,38280=>1000,38281=>1000,38282=>1000,38283=>1000,38284=>1000,38285=>1000,38286=>1000,38287=>1000,38288=>1000,38289=>1000,38290=>1000,38291=>1000,38292=>1000,38293=>1000,38294=>1000,38295=>1000,38296=>1000,38297=>1000,38298=>1000,38299=>1000,38300=>1000,38301=>1000,38302=>1000,38303=>1000,38304=>1000,38305=>1000,38306=>1000,38307=>1000,38308=>1000,38309=>1000,38310=>1000,38311=>1000,38312=>1000,38313=>1000,38314=>1000,38315=>1000,38316=>1000,38317=>1000,38318=>1000,38319=>1000,38320=>1000,38321=>1000,38322=>1000,38323=>1000,38324=>1000,38325=>1000,38326=>1000,38327=>1000,38328=>1000,38329=>1000,38330=>1000,38331=>1000,38332=>1000,38333=>1000,38334=>1000,38335=>1000,38336=>1000,38337=>1000,38338=>1000,38339=>1000,38340=>1000,38341=>1000,38342=>1000,38343=>1000,38344=>1000,38345=>1000,38346=>1000,38347=>1000,38348=>1000,38349=>1000,38350=>1000,38351=>1000,38352=>1000,38353=>1000,38354=>1000,38355=>1000,38356=>1000,38357=>1000,38358=>1000,38359=>1000,38360=>1000,38361=>1000,38362=>1000,38363=>1000,38364=>1000,38365=>1000,38366=>1000,38367=>1000,38368=>1000,38369=>1000,38370=>1000,38371=>1000,38372=>1000,38373=>1000,38374=>1000,38375=>1000,38376=>1000,38377=>1000,38378=>1000,38379=>1000,38380=>1000,38381=>1000,38382=>1000,38383=>1000,38384=>1000,38385=>1000,38386=>1000,38387=>1000,38388=>1000,38389=>1000,38390=>1000,38391=>1000,38392=>1000,38393=>1000,38394=>1000,38395=>1000,38396=>1000,38397=>1000,38398=>1000,38399=>1000,38400=>1000,38401=>1000,38402=>1000,38403=>1000,38404=>1000,38405=>1000,38406=>1000,38407=>1000,38408=>1000,38409=>1000,38410=>1000,38411=>1000,38412=>1000,38413=>1000,38414=>1000,38415=>1000,38416=>1000,38417=>1000,38418=>1000,38419=>1000,38420=>1000,38421=>1000,38422=>1000,38423=>1000,38424=>1000,38425=>1000,38426=>1000,38427=>1000,38428=>1000,38429=>1000,38430=>1000,38431=>1000,38432=>1000,38433=>1000,38434=>1000,38435=>1000,38436=>1000,38437=>1000,38438=>1000,38439=>1000,38440=>1000,38441=>1000,38442=>1000,38443=>1000,38444=>1000,38445=>1000,38446=>1000,38447=>1000,38448=>1000,38449=>1000,38450=>1000,38451=>1000,38452=>1000,38453=>1000,38454=>1000,38455=>1000,38456=>1000,38457=>1000,38458=>1000,38459=>1000,38460=>1000,38461=>1000,38462=>1000,38463=>1000,38464=>1000,38465=>1000,38466=>1000,38467=>1000,38468=>1000,38469=>1000,38470=>1000,38471=>1000,38472=>1000,38473=>1000,38474=>1000,38475=>1000,38476=>1000,38477=>1000,38478=>1000,38479=>1000,38480=>1000,38481=>1000,38482=>1000,38483=>1000,38484=>1000,38485=>1000,38486=>1000,38487=>1000,38488=>1000,38489=>1000,38490=>1000,38491=>1000,38492=>1000,38493=>1000,38494=>1000,38495=>1000,38496=>1000,38497=>1000,38498=>1000,38499=>1000,38500=>1000,38501=>1000,38502=>1000,38503=>1000,38504=>1000,38505=>1000,38506=>1000,38507=>1000,38508=>1000,38509=>1000,38510=>1000,38511=>1000,38512=>1000,38513=>1000,38514=>1000,38515=>1000,38516=>1000,38517=>1000,38518=>1000,38519=>1000,38520=>1000,38521=>1000,38522=>1000,38523=>1000,38524=>1000,38525=>1000,38526=>1000,38527=>1000,38528=>1000,38529=>1000,38530=>1000,38531=>1000,38532=>1000,38533=>1000,38534=>1000,38535=>1000,38536=>1000,38537=>1000,38538=>1000,38539=>1000,38540=>1000,38541=>1000,38542=>1000,38543=>1000,38544=>1000,38545=>1000,38546=>1000,38547=>1000,38548=>1000,38549=>1000,38550=>1000,38551=>1000,38552=>1000,38553=>1000,38554=>1000,38555=>1000,38556=>1000,38557=>1000,38558=>1000,38559=>1000,38560=>1000,38561=>1000,38562=>1000,38563=>1000,38564=>1000,38565=>1000,38566=>1000,38567=>1000,38568=>1000,38569=>1000,38570=>1000,38571=>1000,38572=>1000,38573=>1000,38574=>1000,38575=>1000,38576=>1000,38577=>1000,38578=>1000,38579=>1000,38580=>1000,38581=>1000,38582=>1000,38583=>1000,38584=>1000,38585=>1000,38586=>1000,38587=>1000,38588=>1000,38589=>1000,38590=>1000,38591=>1000,38592=>1000,38593=>1000,38594=>1000,38595=>1000,38596=>1000,38597=>1000,38598=>1000,38599=>1000,38600=>1000,38601=>1000,38602=>1000,38603=>1000,38604=>1000,38605=>1000,38606=>1000,38607=>1000,38608=>1000,38609=>1000,38610=>1000,38611=>1000,38612=>1000,38613=>1000,38614=>1000,38615=>1000,38616=>1000,38617=>1000,38618=>1000,38619=>1000,38620=>1000,38621=>1000,38622=>1000,38623=>1000,38624=>1000,38625=>1000,38626=>1000,38627=>1000,38628=>1000,38629=>1000,38630=>1000,38631=>1000,38632=>1000,38633=>1000,38634=>1000,38635=>1000,38636=>1000,38637=>1000,38638=>1000,38639=>1000,38640=>1000,38641=>1000,38642=>1000,38643=>1000,38644=>1000,38645=>1000,38646=>1000,38647=>1000,38648=>1000,38649=>1000,38650=>1000,38651=>1000,38652=>1000,38653=>1000,38654=>1000,38655=>1000,38656=>1000,38657=>1000,38658=>1000,38659=>1000,38660=>1000,38661=>1000,38662=>1000,38663=>1000,38664=>1000,38665=>1000,38666=>1000,38667=>1000,38668=>1000,38669=>1000,38670=>1000,38671=>1000,38672=>1000,38673=>1000,38674=>1000,38675=>1000,38676=>1000,38677=>1000,38678=>1000,38679=>1000,38680=>1000,38681=>1000,38682=>1000,38683=>1000,38684=>1000,38685=>1000,38686=>1000,38687=>1000,38688=>1000,38689=>1000,38690=>1000,38691=>1000,38692=>1000,38693=>1000,38694=>1000,38695=>1000,38696=>1000,38697=>1000,38698=>1000,38699=>1000,38700=>1000,38701=>1000,38702=>1000,38703=>1000,38704=>1000,38705=>1000,38706=>1000,38707=>1000,38708=>1000,38709=>1000,38710=>1000,38711=>1000,38712=>1000,38713=>1000,38714=>1000,38715=>1000,38716=>1000,38717=>1000,38718=>1000,38719=>1000,38720=>1000,38721=>1000,38722=>1000,38723=>1000,38724=>1000,38725=>1000,38726=>1000,38727=>1000,38728=>1000,38729=>1000,38730=>1000,38731=>1000,38732=>1000,38733=>1000,38734=>1000,38735=>1000,38736=>1000,38737=>1000,38738=>1000,38739=>1000,38740=>1000,38741=>1000,38742=>1000,38743=>1000,38744=>1000,38745=>1000,38746=>1000,38747=>1000,38748=>1000,38749=>1000,38750=>1000,38751=>1000,38752=>1000,38753=>1000,38754=>1000,38755=>1000,38756=>1000,38757=>1000,38758=>1000,38759=>1000,38760=>1000,38761=>1000,38762=>1000,38763=>1000,38764=>1000,38765=>1000,38766=>1000,38767=>1000,38768=>1000,38769=>1000,38770=>1000,38771=>1000,38772=>1000,38773=>1000,38774=>1000,38775=>1000,38776=>1000,38777=>1000,38778=>1000,38779=>1000,38780=>1000,38781=>1000,38782=>1000,38783=>1000,38784=>1000,38785=>1000,38786=>1000,38787=>1000,38788=>1000,38789=>1000,38790=>1000,38791=>1000,38792=>1000,38793=>1000,38794=>1000,38795=>1000,38796=>1000,38797=>1000,38798=>1000,38799=>1000,38800=>1000,38801=>1000,38802=>1000,38803=>1000,38804=>1000,38805=>1000,38806=>1000,38807=>1000,38808=>1000,38809=>1000,38810=>1000,38811=>1000,38812=>1000,38813=>1000,38814=>1000,38815=>1000,38816=>1000,38817=>1000,38818=>1000,38819=>1000,38820=>1000,38821=>1000,38822=>1000,38823=>1000,38824=>1000,38825=>1000,38826=>1000,38827=>1000,38828=>1000,38829=>1000,38830=>1000,38831=>1000,38832=>1000,38833=>1000,38834=>1000,38835=>1000,38836=>1000,38837=>1000,38838=>1000,38839=>1000,38840=>1000,38841=>1000,38842=>1000,38843=>1000,38844=>1000,38845=>1000,38846=>1000,38847=>1000,38848=>1000,38849=>1000,38850=>1000,38851=>1000,38852=>1000,38853=>1000,38854=>1000,38855=>1000,38856=>1000,38857=>1000,38858=>1000,38859=>1000,38860=>1000,38861=>1000,38862=>1000,38863=>1000,38864=>1000,38865=>1000,38866=>1000,38867=>1000,38868=>1000,38869=>1000,38870=>1000,38871=>1000,38872=>1000,38873=>1000,38874=>1000,38875=>1000,38876=>1000,38877=>1000,38878=>1000,38879=>1000,38880=>1000,38881=>1000,38882=>1000,38883=>1000,38884=>1000,38885=>1000,38886=>1000,38887=>1000,38888=>1000,38889=>1000,38890=>1000,38891=>1000,38892=>1000,38893=>1000,38894=>1000,38895=>1000,38896=>1000,38897=>1000,38898=>1000,38899=>1000,38900=>1000,38901=>1000,38902=>1000,38903=>1000,38904=>1000,38905=>1000,38906=>1000,38907=>1000,38908=>1000,38909=>1000,38910=>1000,38911=>1000,38912=>1000,38913=>1000,38914=>1000,38915=>1000,38916=>1000,38917=>1000,38918=>1000,38919=>1000,38920=>1000,38921=>1000,38922=>1000,38923=>1000,38924=>1000,38925=>1000,38926=>1000,38927=>1000,38928=>1000,38929=>1000,38930=>1000,38931=>1000,38932=>1000,38933=>1000,38934=>1000,38935=>1000,38936=>1000,38937=>1000,38938=>1000,38939=>1000,38940=>1000,38941=>1000,38942=>1000,38943=>1000,38944=>1000,38945=>1000,38946=>1000,38947=>1000,38948=>1000,38949=>1000,38950=>1000,38951=>1000,38952=>1000,38953=>1000,38954=>1000,38955=>1000,38956=>1000,38957=>1000,38958=>1000,38959=>1000,38960=>1000,38961=>1000,38962=>1000,38963=>1000,38964=>1000,38965=>1000,38966=>1000,38967=>1000,38968=>1000,38969=>1000,38970=>1000,38971=>1000,38972=>1000,38973=>1000,38974=>1000,38975=>1000,38976=>1000,38977=>1000,38978=>1000,38979=>1000,38980=>1000,38981=>1000,38982=>1000,38983=>1000,38984=>1000,38985=>1000,38986=>1000,38987=>1000,38988=>1000,38989=>1000,38990=>1000,38991=>1000,38992=>1000,38993=>1000,38994=>1000,38995=>1000,38996=>1000,38997=>1000,38998=>1000,38999=>1000,39000=>1000,39001=>1000,39002=>1000,39003=>1000,39004=>1000,39005=>1000,39006=>1000,39007=>1000,39008=>1000,39009=>1000,39010=>1000,39011=>1000,39012=>1000,39013=>1000,39014=>1000,39015=>1000,39016=>1000,39017=>1000,39018=>1000,39019=>1000,39020=>1000,39021=>1000,39022=>1000,39023=>1000,39024=>1000,39025=>1000,39026=>1000,39027=>1000,39028=>1000,39029=>1000,39030=>1000,39031=>1000,39032=>1000,39033=>1000,39034=>1000,39035=>1000,39036=>1000,39037=>1000,39038=>1000,39039=>1000,39040=>1000,39041=>1000,39042=>1000,39043=>1000,39044=>1000,39045=>1000,39046=>1000,39047=>1000,39048=>1000,39049=>1000,39050=>1000,39051=>1000,39052=>1000,39053=>1000,39054=>1000,39055=>1000,39056=>1000,39057=>1000,39058=>1000,39059=>1000,39060=>1000,39061=>1000,39062=>1000,39063=>1000,39064=>1000,39065=>1000,39066=>1000,39067=>1000,39068=>1000,39069=>1000,39070=>1000,39071=>1000,39072=>1000,39073=>1000,39074=>1000,39075=>1000,39076=>1000,39077=>1000,39078=>1000,39079=>1000,39080=>1000,39081=>1000,39082=>1000,39083=>1000,39084=>1000,39085=>1000,39086=>1000,39087=>1000,39088=>1000,39089=>1000,39090=>1000,39091=>1000,39092=>1000,39093=>1000,39094=>1000,39095=>1000,39096=>1000,39097=>1000,39098=>1000,39099=>1000,39100=>1000,39101=>1000,39102=>1000,39103=>1000,39104=>1000,39105=>1000,39106=>1000,39107=>1000,39108=>1000,39109=>1000,39110=>1000,39111=>1000,39112=>1000,39113=>1000,39114=>1000,39115=>1000,39116=>1000,39117=>1000,39118=>1000,39119=>1000,39120=>1000,39121=>1000,39122=>1000,39123=>1000,39124=>1000,39125=>1000,39126=>1000,39127=>1000,39128=>1000,39129=>1000,39130=>1000,39131=>1000,39132=>1000,39133=>1000,39134=>1000,39135=>1000,39136=>1000,39137=>1000,39138=>1000,39139=>1000,39140=>1000,39141=>1000,39142=>1000,39143=>1000,39144=>1000,39145=>1000,39146=>1000,39147=>1000,39148=>1000,39149=>1000,39150=>1000,39151=>1000,39152=>1000,39153=>1000,39154=>1000,39155=>1000,39156=>1000,39157=>1000,39158=>1000,39159=>1000,39160=>1000,39161=>1000,39162=>1000,39163=>1000,39164=>1000,39165=>1000,39166=>1000,39167=>1000,39168=>1000,39169=>1000,39170=>1000,39171=>1000,39172=>1000,39173=>1000,39174=>1000,39175=>1000,39176=>1000,39177=>1000,39178=>1000,39179=>1000,39180=>1000,39181=>1000,39182=>1000,39183=>1000,39184=>1000,39185=>1000,39186=>1000,39187=>1000,39188=>1000,39189=>1000,39190=>1000,39191=>1000,39192=>1000,39193=>1000,39194=>1000,39195=>1000,39196=>1000,39197=>1000,39198=>1000,39199=>1000,39200=>1000,39201=>1000,39202=>1000,39203=>1000,39204=>1000,39205=>1000,39206=>1000,39207=>1000,39208=>1000,39209=>1000,39210=>1000,39211=>1000,39212=>1000,39213=>1000,39214=>1000,39215=>1000,39216=>1000,39217=>1000,39218=>1000,39219=>1000,39220=>1000,39221=>1000,39222=>1000,39223=>1000,39224=>1000,39225=>1000,39226=>1000,39227=>1000,39228=>1000,39229=>1000,39230=>1000,39231=>1000,39232=>1000,39233=>1000,39234=>1000,39235=>1000,39236=>1000,39237=>1000,39238=>1000,39239=>1000,39240=>1000,39241=>1000,39242=>1000,39243=>1000,39244=>1000,39245=>1000,39246=>1000,39247=>1000,39248=>1000,39249=>1000,39250=>1000,39251=>1000,39252=>1000,39253=>1000,39254=>1000,39255=>1000,39256=>1000,39257=>1000,39258=>1000,39259=>1000,39260=>1000,39261=>1000,39262=>1000,39263=>1000,39264=>1000,39265=>1000,39266=>1000,39267=>1000,39268=>1000,39269=>1000,39270=>1000,39271=>1000,39272=>1000,39273=>1000,39274=>1000,39275=>1000,39276=>1000,39277=>1000,39278=>1000,39279=>1000,39280=>1000,39281=>1000,39282=>1000,39283=>1000,39284=>1000,39285=>1000,39286=>1000,39287=>1000,39288=>1000,39289=>1000,39290=>1000,39291=>1000,39292=>1000,39293=>1000,39294=>1000,39295=>1000,39296=>1000,39297=>1000,39298=>1000,39299=>1000,39300=>1000,39301=>1000,39302=>1000,39303=>1000,39304=>1000,39305=>1000,39306=>1000,39307=>1000,39308=>1000,39309=>1000,39310=>1000,39311=>1000,39312=>1000,39313=>1000,39314=>1000,39315=>1000,39316=>1000,39317=>1000,39318=>1000,39319=>1000,39320=>1000,39321=>1000,39322=>1000,39323=>1000,39324=>1000,39325=>1000,39326=>1000,39327=>1000,39328=>1000,39329=>1000,39330=>1000,39331=>1000,39332=>1000,39333=>1000,39334=>1000,39335=>1000,39336=>1000,39337=>1000,39338=>1000,39339=>1000,39340=>1000,39341=>1000,39342=>1000,39343=>1000,39344=>1000,39345=>1000,39346=>1000,39347=>1000,39348=>1000,39349=>1000,39350=>1000,39351=>1000,39352=>1000,39353=>1000,39354=>1000,39355=>1000,39356=>1000,39357=>1000,39358=>1000,39359=>1000,39360=>1000,39361=>1000,39362=>1000,39363=>1000,39364=>1000,39365=>1000,39366=>1000,39367=>1000,39368=>1000,39369=>1000,39370=>1000,39371=>1000,39372=>1000,39373=>1000,39374=>1000,39375=>1000,39376=>1000,39377=>1000,39378=>1000,39379=>1000,39380=>1000,39381=>1000,39382=>1000,39383=>1000,39384=>1000,39385=>1000,39386=>1000,39387=>1000,39388=>1000,39389=>1000,39390=>1000,39391=>1000,39392=>1000,39393=>1000,39394=>1000,39395=>1000,39396=>1000,39397=>1000,39398=>1000,39399=>1000,39400=>1000,39401=>1000,39402=>1000,39403=>1000,39404=>1000,39405=>1000,39406=>1000,39407=>1000,39408=>1000,39409=>1000,39410=>1000,39411=>1000,39412=>1000,39413=>1000,39414=>1000,39415=>1000,39416=>1000,39417=>1000,39418=>1000,39419=>1000,39420=>1000,39421=>1000,39422=>1000,39423=>1000,39424=>1000,39425=>1000,39426=>1000,39427=>1000,39428=>1000,39429=>1000,39430=>1000,39431=>1000,39432=>1000,39433=>1000,39434=>1000,39435=>1000,39436=>1000,39437=>1000,39438=>1000,39439=>1000,39440=>1000,39441=>1000,39442=>1000,39443=>1000,39444=>1000,39445=>1000,39446=>1000,39447=>1000,39448=>1000,39449=>1000,39450=>1000,39451=>1000,39452=>1000,39453=>1000,39454=>1000,39455=>1000,39456=>1000,39457=>1000,39458=>1000,39459=>1000,39460=>1000,39461=>1000,39462=>1000,39463=>1000,39464=>1000,39465=>1000,39466=>1000,39467=>1000,39468=>1000,39469=>1000,39470=>1000,39471=>1000,39472=>1000,39473=>1000,39474=>1000,39475=>1000,39476=>1000,39477=>1000,39478=>1000,39479=>1000,39480=>1000,39481=>1000,39482=>1000,39483=>1000,39484=>1000,39485=>1000,39486=>1000,39487=>1000,39488=>1000,39489=>1000,39490=>1000,39491=>1000,39492=>1000,39493=>1000,39494=>1000,39495=>1000,39496=>1000,39497=>1000,39498=>1000,39499=>1000,39500=>1000,39501=>1000,39502=>1000,39503=>1000,39504=>1000,39505=>1000,39506=>1000,39507=>1000,39508=>1000,39509=>1000,39510=>1000,39511=>1000,39512=>1000,39513=>1000,39514=>1000,39515=>1000,39516=>1000,39517=>1000,39518=>1000,39519=>1000,39520=>1000,39521=>1000,39522=>1000,39523=>1000,39524=>1000,39525=>1000,39526=>1000,39527=>1000,39528=>1000,39529=>1000,39530=>1000,39531=>1000,39532=>1000,39533=>1000,39534=>1000,39535=>1000,39536=>1000,39537=>1000,39538=>1000,39539=>1000,39540=>1000,39541=>1000,39542=>1000,39543=>1000,39544=>1000,39545=>1000,39546=>1000,39547=>1000,39548=>1000,39549=>1000,39550=>1000,39551=>1000,39552=>1000,39553=>1000,39554=>1000,39555=>1000,39556=>1000,39557=>1000,39558=>1000,39559=>1000,39560=>1000,39561=>1000,39562=>1000,39563=>1000,39564=>1000,39565=>1000,39566=>1000,39567=>1000,39568=>1000,39569=>1000,39570=>1000,39571=>1000,39572=>1000,39573=>1000,39574=>1000,39575=>1000,39576=>1000,39577=>1000,39578=>1000,39579=>1000,39580=>1000,39581=>1000,39582=>1000,39583=>1000,39584=>1000,39585=>1000,39586=>1000,39587=>1000,39588=>1000,39589=>1000,39590=>1000,39591=>1000,39592=>1000,39593=>1000,39594=>1000,39595=>1000,39596=>1000,39597=>1000,39598=>1000,39599=>1000,39600=>1000,39601=>1000,39602=>1000,39603=>1000,39604=>1000,39605=>1000,39606=>1000,39607=>1000,39608=>1000,39609=>1000,39610=>1000,39611=>1000,39612=>1000,39613=>1000,39614=>1000,39615=>1000,39616=>1000,39617=>1000,39618=>1000,39619=>1000,39620=>1000,39621=>1000,39622=>1000,39623=>1000,39624=>1000,39625=>1000,39626=>1000,39627=>1000,39628=>1000,39629=>1000,39630=>1000,39631=>1000,39632=>1000,39633=>1000,39634=>1000,39635=>1000,39636=>1000,39637=>1000,39638=>1000,39639=>1000,39640=>1000,39641=>1000,39642=>1000,39643=>1000,39644=>1000,39645=>1000,39646=>1000,39647=>1000,39648=>1000,39649=>1000,39650=>1000,39651=>1000,39652=>1000,39653=>1000,39654=>1000,39655=>1000,39656=>1000,39657=>1000,39658=>1000,39659=>1000,39660=>1000,39661=>1000,39662=>1000,39663=>1000,39664=>1000,39665=>1000,39666=>1000,39667=>1000,39668=>1000,39669=>1000,39670=>1000,39671=>1000,39672=>1000,39673=>1000,39674=>1000,39675=>1000,39676=>1000,39677=>1000,39678=>1000,39679=>1000,39680=>1000,39681=>1000,39682=>1000,39683=>1000,39684=>1000,39685=>1000,39686=>1000,39687=>1000,39688=>1000,39689=>1000,39690=>1000,39691=>1000,39692=>1000,39693=>1000,39694=>1000,39695=>1000,39696=>1000,39697=>1000,39698=>1000,39699=>1000,39700=>1000,39701=>1000,39702=>1000,39703=>1000,39704=>1000,39705=>1000,39706=>1000,39707=>1000,39708=>1000,39709=>1000,39710=>1000,39711=>1000,39712=>1000,39713=>1000,39714=>1000,39715=>1000,39716=>1000,39717=>1000,39718=>1000,39719=>1000,39720=>1000,39721=>1000,39722=>1000,39723=>1000,39724=>1000,39725=>1000,39726=>1000,39727=>1000,39728=>1000,39729=>1000,39730=>1000,39731=>1000,39732=>1000,39733=>1000,39734=>1000,39735=>1000,39736=>1000,39737=>1000,39738=>1000,39739=>1000,39740=>1000,39741=>1000,39742=>1000,39743=>1000,39744=>1000,39745=>1000,39746=>1000,39747=>1000,39748=>1000,39749=>1000,39750=>1000,39751=>1000,39752=>1000,39753=>1000,39754=>1000,39755=>1000,39756=>1000,39757=>1000,39758=>1000,39759=>1000,39760=>1000,39761=>1000,39762=>1000,39763=>1000,39764=>1000,39765=>1000,39766=>1000,39767=>1000,39768=>1000,39769=>1000,39770=>1000,39771=>1000,39772=>1000,39773=>1000,39774=>1000,39775=>1000,39776=>1000,39777=>1000,39778=>1000,39779=>1000,39780=>1000,39781=>1000,39782=>1000,39783=>1000,39784=>1000,39785=>1000,39786=>1000,39787=>1000,39788=>1000,39789=>1000,39790=>1000,39791=>1000,39792=>1000,39793=>1000,39794=>1000,39795=>1000,39796=>1000,39797=>1000,39798=>1000,39799=>1000,39800=>1000,39801=>1000,39802=>1000,39803=>1000,39804=>1000,39805=>1000,39806=>1000,39807=>1000,39808=>1000,39809=>1000,39810=>1000,39811=>1000,39812=>1000,39813=>1000,39814=>1000,39815=>1000,39816=>1000,39817=>1000,39818=>1000,39819=>1000,39820=>1000,39821=>1000,39822=>1000,39823=>1000,39824=>1000,39825=>1000,39826=>1000,39827=>1000,39828=>1000,39829=>1000,39830=>1000,39831=>1000,39832=>1000,39833=>1000,39834=>1000,39835=>1000,39836=>1000,39837=>1000,39838=>1000,39839=>1000,39840=>1000,39841=>1000,39842=>1000,39843=>1000,39844=>1000,39845=>1000,39846=>1000,39847=>1000,39848=>1000,39849=>1000,39850=>1000,39851=>1000,39852=>1000,39853=>1000,39854=>1000,39855=>1000,39856=>1000,39857=>1000,39858=>1000,39859=>1000,39860=>1000,39861=>1000,39862=>1000,39863=>1000,39864=>1000,39865=>1000,39866=>1000,39867=>1000,39868=>1000,39869=>1000,39870=>1000,39871=>1000,39872=>1000,39873=>1000,39874=>1000,39875=>1000,39876=>1000,39877=>1000,39878=>1000,39879=>1000,39880=>1000,39881=>1000,39882=>1000,39883=>1000,39884=>1000,39885=>1000,39886=>1000,39887=>1000,39888=>1000,39889=>1000,39890=>1000,39891=>1000,39892=>1000,39893=>1000,39894=>1000,39895=>1000,39896=>1000,39897=>1000,39898=>1000,39899=>1000,39900=>1000,39901=>1000,39902=>1000,39903=>1000,39904=>1000,39905=>1000,39906=>1000,39907=>1000,39908=>1000,39909=>1000,39910=>1000,39911=>1000,39912=>1000,39913=>1000,39914=>1000,39915=>1000,39916=>1000,39917=>1000,39918=>1000,39919=>1000,39920=>1000,39921=>1000,39922=>1000,39923=>1000,39924=>1000,39925=>1000,39926=>1000,39927=>1000,39928=>1000,39929=>1000,39930=>1000,39931=>1000,39932=>1000,39933=>1000,39934=>1000,39935=>1000,39936=>1000,39937=>1000,39938=>1000,39939=>1000,39940=>1000,39941=>1000,39942=>1000,39943=>1000,39944=>1000,39945=>1000,39946=>1000,39947=>1000,39948=>1000,39949=>1000,39950=>1000,39951=>1000,39952=>1000,39953=>1000,39954=>1000,39955=>1000,39956=>1000,39957=>1000,39958=>1000,39959=>1000,39960=>1000,39961=>1000,39962=>1000,39963=>1000,39964=>1000,39965=>1000,39966=>1000,39967=>1000,39968=>1000,39969=>1000,39970=>1000,39971=>1000,39972=>1000,39973=>1000,39974=>1000,39975=>1000,39976=>1000,39977=>1000,39978=>1000,39979=>1000,39980=>1000,39981=>1000,39982=>1000,39983=>1000,39984=>1000,39985=>1000,39986=>1000,39987=>1000,39988=>1000,39989=>1000,39990=>1000,39991=>1000,39992=>1000,39993=>1000,39994=>1000,39995=>1000,39996=>1000,39997=>1000,39998=>1000,39999=>1000,40000=>1000,40001=>1000,40002=>1000,40003=>1000,40004=>1000,40005=>1000,40006=>1000,40007=>1000,40008=>1000,40009=>1000,40010=>1000,40011=>1000,40012=>1000,40013=>1000,40014=>1000,40015=>1000,40016=>1000,40017=>1000,40018=>1000,40019=>1000,40020=>1000,40021=>1000,40022=>1000,40023=>1000,40024=>1000,40025=>1000,40026=>1000,40027=>1000,40028=>1000,40029=>1000,40030=>1000,40031=>1000,40032=>1000,40033=>1000,40034=>1000,40035=>1000,40036=>1000,40037=>1000,40038=>1000,40039=>1000,40040=>1000,40041=>1000,40042=>1000,40043=>1000,40044=>1000,40045=>1000,40046=>1000,40047=>1000,40048=>1000,40049=>1000,40050=>1000,40051=>1000,40052=>1000,40053=>1000,40054=>1000,40055=>1000,40056=>1000,40057=>1000,40058=>1000,40059=>1000,40060=>1000,40061=>1000,40062=>1000,40063=>1000,40064=>1000,40065=>1000,40066=>1000,40067=>1000,40068=>1000,40069=>1000,40070=>1000,40071=>1000,40072=>1000,40073=>1000,40074=>1000,40075=>1000,40076=>1000,40077=>1000,40078=>1000,40079=>1000,40080=>1000,40081=>1000,40082=>1000,40083=>1000,40084=>1000,40085=>1000,40086=>1000,40087=>1000,40088=>1000,40089=>1000,40090=>1000,40091=>1000,40092=>1000,40093=>1000,40094=>1000,40095=>1000,40096=>1000,40097=>1000,40098=>1000,40099=>1000,40100=>1000,40101=>1000,40102=>1000,40103=>1000,40104=>1000,40105=>1000,40106=>1000,40107=>1000,40108=>1000,40109=>1000,40110=>1000,40111=>1000,40112=>1000,40113=>1000,40114=>1000,40115=>1000,40116=>1000,40117=>1000,40118=>1000,40119=>1000,40120=>1000,40121=>1000,40122=>1000,40123=>1000,40124=>1000,40125=>1000,40126=>1000,40127=>1000,40128=>1000,40129=>1000,40130=>1000,40131=>1000,40132=>1000,40133=>1000,40134=>1000,40135=>1000,40136=>1000,40137=>1000,40138=>1000,40139=>1000,40140=>1000,40141=>1000,40142=>1000,40143=>1000,40144=>1000,40145=>1000,40146=>1000,40147=>1000,40148=>1000,40149=>1000,40150=>1000,40151=>1000,40152=>1000,40153=>1000,40154=>1000,40155=>1000,40156=>1000,40157=>1000,40158=>1000,40159=>1000,40160=>1000,40161=>1000,40162=>1000,40163=>1000,40164=>1000,40165=>1000,40166=>1000,40167=>1000,40168=>1000,40169=>1000,40170=>1000,40171=>1000,40172=>1000,40173=>1000,40174=>1000,40175=>1000,40176=>1000,40177=>1000,40178=>1000,40179=>1000,40180=>1000,40181=>1000,40182=>1000,40183=>1000,40184=>1000,40185=>1000,40186=>1000,40187=>1000,40188=>1000,40189=>1000,40190=>1000,40191=>1000,40192=>1000,40193=>1000,40194=>1000,40195=>1000,40196=>1000,40197=>1000,40198=>1000,40199=>1000,40200=>1000,40201=>1000,40202=>1000,40203=>1000,40204=>1000,40205=>1000,40206=>1000,40207=>1000,40208=>1000,40209=>1000,40210=>1000,40211=>1000,40212=>1000,40213=>1000,40214=>1000,40215=>1000,40216=>1000,40217=>1000,40218=>1000,40219=>1000,40220=>1000,40221=>1000,40222=>1000,40223=>1000,40224=>1000,40225=>1000,40226=>1000,40227=>1000,40228=>1000,40229=>1000,40230=>1000,40231=>1000,40232=>1000,40233=>1000,40234=>1000,40235=>1000,40236=>1000,40237=>1000,40238=>1000,40239=>1000,40240=>1000,40241=>1000,40242=>1000,40243=>1000,40244=>1000,40245=>1000,40246=>1000,40247=>1000,40248=>1000,40249=>1000,40250=>1000,40251=>1000,40252=>1000,40253=>1000,40254=>1000,40255=>1000,40256=>1000,40257=>1000,40258=>1000,40259=>1000,40260=>1000,40261=>1000,40262=>1000,40263=>1000,40264=>1000,40265=>1000,40266=>1000,40267=>1000,40268=>1000,40269=>1000,40270=>1000,40271=>1000,40272=>1000,40273=>1000,40274=>1000,40275=>1000,40276=>1000,40277=>1000,40278=>1000,40279=>1000,40280=>1000,40281=>1000,40282=>1000,40283=>1000,40284=>1000,40285=>1000,40286=>1000,40287=>1000,40288=>1000,40289=>1000,40290=>1000,40291=>1000,40292=>1000,40293=>1000,40294=>1000,40295=>1000,40296=>1000,40297=>1000,40298=>1000,40299=>1000,40300=>1000,40301=>1000,40302=>1000,40303=>1000,40304=>1000,40305=>1000,40306=>1000,40307=>1000,40308=>1000,40309=>1000,40310=>1000,40311=>1000,40312=>1000,40313=>1000,40314=>1000,40315=>1000,40316=>1000,40317=>1000,40318=>1000,40319=>1000,40320=>1000,40321=>1000,40322=>1000,40323=>1000,40324=>1000,40325=>1000,40326=>1000,40327=>1000,40328=>1000,40329=>1000,40330=>1000,40331=>1000,40332=>1000,40333=>1000,40334=>1000,40335=>1000,40336=>1000,40337=>1000,40338=>1000,40339=>1000,40340=>1000,40341=>1000,40342=>1000,40343=>1000,40344=>1000,40345=>1000,40346=>1000,40347=>1000,40348=>1000,40349=>1000,40350=>1000,40351=>1000,40352=>1000,40353=>1000,40354=>1000,40355=>1000,40356=>1000,40357=>1000,40358=>1000,40359=>1000,40360=>1000,40361=>1000,40362=>1000,40363=>1000,40364=>1000,40365=>1000,40366=>1000,40367=>1000,40368=>1000,40369=>1000,40370=>1000,40371=>1000,40372=>1000,40373=>1000,40374=>1000,40375=>1000,40376=>1000,40377=>1000,40378=>1000,40379=>1000,40380=>1000,40381=>1000,40382=>1000,40383=>1000,40384=>1000,40385=>1000,40386=>1000,40387=>1000,40388=>1000,40389=>1000,40390=>1000,40391=>1000,40392=>1000,40393=>1000,40394=>1000,40395=>1000,40396=>1000,40397=>1000,40398=>1000,40399=>1000,40400=>1000,40401=>1000,40402=>1000,40403=>1000,40404=>1000,40405=>1000,40406=>1000,40407=>1000,40408=>1000,40409=>1000,40410=>1000,40411=>1000,40412=>1000,40413=>1000,40414=>1000,40415=>1000,40416=>1000,40417=>1000,40418=>1000,40419=>1000,40420=>1000,40421=>1000,40422=>1000,40423=>1000,40424=>1000,40425=>1000,40426=>1000,40427=>1000,40428=>1000,40429=>1000,40430=>1000,40431=>1000,40432=>1000,40433=>1000,40434=>1000,40435=>1000,40436=>1000,40437=>1000,40438=>1000,40439=>1000,40440=>1000,40441=>1000,40442=>1000,40443=>1000,40444=>1000,40445=>1000,40446=>1000,40447=>1000,40448=>1000,40449=>1000,40450=>1000,40451=>1000,40452=>1000,40453=>1000,40454=>1000,40455=>1000,40456=>1000,40457=>1000,40458=>1000,40459=>1000,40460=>1000,40461=>1000,40462=>1000,40463=>1000,40464=>1000,40465=>1000,40466=>1000,40467=>1000,40468=>1000,40469=>1000,40470=>1000,40471=>1000,40472=>1000,40473=>1000,40474=>1000,40475=>1000,40476=>1000,40477=>1000,40478=>1000,40479=>1000,40480=>1000,40481=>1000,40482=>1000,40483=>1000,40484=>1000,40485=>1000,40486=>1000,40487=>1000,40488=>1000,40489=>1000,40490=>1000,40491=>1000,40492=>1000,40493=>1000,40494=>1000,40495=>1000,40496=>1000,40497=>1000,40498=>1000,40499=>1000,40500=>1000,40501=>1000,40502=>1000,40503=>1000,40504=>1000,40505=>1000,40506=>1000,40507=>1000,40508=>1000,40509=>1000,40510=>1000,40511=>1000,40512=>1000,40513=>1000,40514=>1000,40515=>1000,40516=>1000,40517=>1000,40518=>1000,40519=>1000,40520=>1000,40521=>1000,40522=>1000,40523=>1000,40524=>1000,40525=>1000,40526=>1000,40527=>1000,40528=>1000,40529=>1000,40530=>1000,40531=>1000,40532=>1000,40533=>1000,40534=>1000,40535=>1000,40536=>1000,40537=>1000,40538=>1000,40539=>1000,40540=>1000,40541=>1000,40542=>1000,40543=>1000,40544=>1000,40545=>1000,40546=>1000,40547=>1000,40548=>1000,40549=>1000,40550=>1000,40551=>1000,40552=>1000,40553=>1000,40554=>1000,40555=>1000,40556=>1000,40557=>1000,40558=>1000,40559=>1000,40560=>1000,40561=>1000,40562=>1000,40563=>1000,40564=>1000,40565=>1000,40566=>1000,40567=>1000,40568=>1000,40569=>1000,40570=>1000,40571=>1000,40572=>1000,40573=>1000,40574=>1000,40575=>1000,40576=>1000,40577=>1000,40578=>1000,40579=>1000,40580=>1000,40581=>1000,40582=>1000,40583=>1000,40584=>1000,40585=>1000,40586=>1000,40587=>1000,40588=>1000,40589=>1000,40590=>1000,40591=>1000,40592=>1000,40593=>1000,40594=>1000,40595=>1000,40596=>1000,40597=>1000,40598=>1000,40599=>1000,40600=>1000,40601=>1000,40602=>1000,40603=>1000,40604=>1000,40605=>1000,40606=>1000,40607=>1000,40608=>1000,40609=>1000,40610=>1000,40611=>1000,40612=>1000,40613=>1000,40614=>1000,40615=>1000,40616=>1000,40617=>1000,40618=>1000,40619=>1000,40620=>1000,40621=>1000,40622=>1000,40623=>1000,40624=>1000,40625=>1000,40626=>1000,40627=>1000,40628=>1000,40629=>1000,40630=>1000,40631=>1000,40632=>1000,40633=>1000,40634=>1000,40635=>1000,40636=>1000,40637=>1000,40638=>1000,40639=>1000,40640=>1000,40641=>1000,40642=>1000,40643=>1000,40644=>1000,40645=>1000,40646=>1000,40647=>1000,40648=>1000,40649=>1000,40650=>1000,40651=>1000,40652=>1000,40653=>1000,40654=>1000,40655=>1000,40656=>1000,40657=>1000,40658=>1000,40659=>1000,40660=>1000,40661=>1000,40662=>1000,40663=>1000,40664=>1000,40665=>1000,40666=>1000,40667=>1000,40668=>1000,40669=>1000,40670=>1000,40671=>1000,40672=>1000,40673=>1000,40674=>1000,40675=>1000,40676=>1000,40677=>1000,40678=>1000,40679=>1000,40680=>1000,40681=>1000,40682=>1000,40683=>1000,40684=>1000,40685=>1000,40686=>1000,40687=>1000,40688=>1000,40689=>1000,40690=>1000,40691=>1000,40692=>1000,40693=>1000,40694=>1000,40695=>1000,40696=>1000,40697=>1000,40698=>1000,40699=>1000,40700=>1000,40701=>1000,40702=>1000,40703=>1000,40704=>1000,40705=>1000,40706=>1000,40707=>1000,40708=>1000,40709=>1000,40710=>1000,40711=>1000,40712=>1000,40713=>1000,40714=>1000,40715=>1000,40716=>1000,40717=>1000,40718=>1000,40719=>1000,40720=>1000,40721=>1000,40722=>1000,40723=>1000,40724=>1000,40725=>1000,40726=>1000,40727=>1000,40728=>1000,40729=>1000,40730=>1000,40731=>1000,40732=>1000,40733=>1000,40734=>1000,40735=>1000,40736=>1000,40737=>1000,40738=>1000,40739=>1000,40740=>1000,40741=>1000,40742=>1000,40743=>1000,40744=>1000,40745=>1000,40746=>1000,40747=>1000,40748=>1000,40749=>1000,40750=>1000,40751=>1000,40752=>1000,40753=>1000,40754=>1000,40755=>1000,40756=>1000,40757=>1000,40758=>1000,40759=>1000,40760=>1000,40761=>1000,40762=>1000,40763=>1000,40764=>1000,40765=>1000,40766=>1000,40767=>1000,40768=>1000,40769=>1000,40770=>1000,40771=>1000,40772=>1000,40773=>1000,40774=>1000,40775=>1000,40776=>1000,40777=>1000,40778=>1000,40779=>1000,40780=>1000,40781=>1000,40782=>1000,40783=>1000,40784=>1000,40785=>1000,40786=>1000,40787=>1000,40788=>1000,40789=>1000,40790=>1000,40791=>1000,40792=>1000,40793=>1000,40794=>1000,40795=>1000,40796=>1000,40797=>1000,40798=>1000,40799=>1000,40800=>1000,40801=>1000,40802=>1000,40803=>1000,40804=>1000,40805=>1000,40806=>1000,40807=>1000,40808=>1000,40809=>1000,40810=>1000,40811=>1000,40812=>1000,40813=>1000,40814=>1000,40815=>1000,40816=>1000,40817=>1000,40818=>1000,40819=>1000,40820=>1000,40821=>1000,40822=>1000,40823=>1000,40824=>1000,40825=>1000,40826=>1000,40827=>1000,40828=>1000,40829=>1000,40830=>1000,40831=>1000,40832=>1000,40833=>1000,40834=>1000,40835=>1000,40836=>1000,40837=>1000,40838=>1000,40839=>1000,40840=>1000,40841=>1000,40842=>1000,40843=>1000,40844=>1000,40845=>1000,40846=>1000,40847=>1000,40848=>1000,40849=>1000,40850=>1000,40851=>1000,40852=>1000,40853=>1000,40854=>1000,40855=>1000,40856=>1000,40857=>1000,40858=>1000,40859=>1000,40860=>1000,40861=>1000,40862=>1000,40863=>1000,40864=>1000,40865=>1000,40866=>1000,40867=>1000,40868=>1000,40869=>1000,44032=>1000,44033=>1000,44034=>1000,44035=>1000,44036=>1000,44037=>1000,44038=>1000,44039=>1000,44040=>1000,44041=>1000,44042=>1000,44043=>1000,44044=>1000,44045=>1000,44046=>1000,44047=>1000,44048=>1000,44049=>1000,44050=>1000,44051=>1000,44052=>1000,44053=>1000,44054=>1000,44055=>1000,44056=>1000,44057=>1000,44058=>1000,44059=>1000,44060=>1000,44061=>1000,44062=>1000,44063=>1000,44064=>1000,44065=>1000,44066=>1000,44067=>1000,44068=>1000,44069=>1000,44070=>1000,44071=>1000,44072=>1000,44073=>1000,44074=>1000,44075=>1000,44076=>1000,44077=>1000,44078=>1000,44079=>1000,44080=>1000,44081=>1000,44082=>1000,44083=>1000,44084=>1000,44085=>1000,44086=>1000,44087=>1000,44088=>1000,44089=>1000,44090=>1000,44091=>1000,44092=>1000,44093=>1000,44094=>1000,44095=>1000,44096=>1000,44097=>1000,44098=>1000,44099=>1000,44100=>1000,44101=>1000,44102=>1000,44103=>1000,44104=>1000,44105=>1000,44106=>1000,44107=>1000,44108=>1000,44109=>1000,44110=>1000,44111=>1000,44112=>1000,44113=>1000,44114=>1000,44115=>1000,44116=>1000,44117=>1000,44118=>1000,44119=>1000,44120=>1000,44121=>1000,44122=>1000,44123=>1000,44124=>1000,44125=>1000,44126=>1000,44127=>1000,44128=>1000,44129=>1000,44130=>1000,44131=>1000,44132=>1000,44133=>1000,44134=>1000,44135=>1000,44136=>1000,44137=>1000,44138=>1000,44139=>1000,44140=>1000,44141=>1000,44142=>1000,44143=>1000,44144=>1000,44145=>1000,44146=>1000,44147=>1000,44148=>1000,44149=>1000,44150=>1000,44151=>1000,44152=>1000,44153=>1000,44154=>1000,44155=>1000,44156=>1000,44157=>1000,44158=>1000,44159=>1000,44160=>1000,44161=>1000,44162=>1000,44163=>1000,44164=>1000,44165=>1000,44166=>1000,44167=>1000,44168=>1000,44169=>1000,44170=>1000,44171=>1000,44172=>1000,44173=>1000,44174=>1000,44175=>1000,44176=>1000,44177=>1000,44178=>1000,44179=>1000,44180=>1000,44181=>1000,44182=>1000,44183=>1000,44184=>1000,44185=>1000,44186=>1000,44187=>1000,44188=>1000,44189=>1000,44190=>1000,44191=>1000,44192=>1000,44193=>1000,44194=>1000,44195=>1000,44196=>1000,44197=>1000,44198=>1000,44199=>1000,44200=>1000,44201=>1000,44202=>1000,44203=>1000,44204=>1000,44205=>1000,44206=>1000,44207=>1000,44208=>1000,44209=>1000,44210=>1000,44211=>1000,44212=>1000,44213=>1000,44214=>1000,44215=>1000,44216=>1000,44217=>1000,44218=>1000,44219=>1000,44220=>1000,44221=>1000,44222=>1000,44223=>1000,44224=>1000,44225=>1000,44226=>1000,44227=>1000,44228=>1000,44229=>1000,44230=>1000,44231=>1000,44232=>1000,44233=>1000,44234=>1000,44235=>1000,44236=>1000,44237=>1000,44238=>1000,44239=>1000,44240=>1000,44241=>1000,44242=>1000,44243=>1000,44244=>1000,44245=>1000,44246=>1000,44247=>1000,44248=>1000,44249=>1000,44250=>1000,44251=>1000,44252=>1000,44253=>1000,44254=>1000,44255=>1000,44256=>1000,44257=>1000,44258=>1000,44259=>1000,44260=>1000,44261=>1000,44262=>1000,44263=>1000,44264=>1000,44265=>1000,44266=>1000,44267=>1000,44268=>1000,44269=>1000,44270=>1000,44271=>1000,44272=>1000,44273=>1000,44274=>1000,44275=>1000,44276=>1000,44277=>1000,44278=>1000,44279=>1000,44280=>1000,44281=>1000,44282=>1000,44283=>1000,44284=>1000,44285=>1000,44286=>1000,44287=>1000,44288=>1000,44289=>1000,44290=>1000,44291=>1000,44292=>1000,44293=>1000,44294=>1000,44295=>1000,44296=>1000,44297=>1000,44298=>1000,44299=>1000,44300=>1000,44301=>1000,44302=>1000,44303=>1000,44304=>1000,44305=>1000,44306=>1000,44307=>1000,44308=>1000,44309=>1000,44310=>1000,44311=>1000,44312=>1000,44313=>1000,44314=>1000,44315=>1000,44316=>1000,44317=>1000,44318=>1000,44319=>1000,44320=>1000,44321=>1000,44322=>1000,44323=>1000,44324=>1000,44325=>1000,44326=>1000,44327=>1000,44328=>1000,44329=>1000,44330=>1000,44331=>1000,44332=>1000,44333=>1000,44334=>1000,44335=>1000,44336=>1000,44337=>1000,44338=>1000,44339=>1000,44340=>1000,44341=>1000,44342=>1000,44343=>1000,44344=>1000,44345=>1000,44346=>1000,44347=>1000,44348=>1000,44349=>1000,44350=>1000,44351=>1000,44352=>1000,44353=>1000,44354=>1000,44355=>1000,44356=>1000,44357=>1000,44358=>1000,44359=>1000,44360=>1000,44361=>1000,44362=>1000,44363=>1000,44364=>1000,44365=>1000,44366=>1000,44367=>1000,44368=>1000,44369=>1000,44370=>1000,44371=>1000,44372=>1000,44373=>1000,44374=>1000,44375=>1000,44376=>1000,44377=>1000,44378=>1000,44379=>1000,44380=>1000,44381=>1000,44382=>1000,44383=>1000,44384=>1000,44385=>1000,44386=>1000,44387=>1000,44388=>1000,44389=>1000,44390=>1000,44391=>1000,44392=>1000,44393=>1000,44394=>1000,44395=>1000,44396=>1000,44397=>1000,44398=>1000,44399=>1000,44400=>1000,44401=>1000,44402=>1000,44403=>1000,44404=>1000,44405=>1000,44406=>1000,44407=>1000,44408=>1000,44409=>1000,44410=>1000,44411=>1000,44412=>1000,44413=>1000,44414=>1000,44415=>1000,44416=>1000,44417=>1000,44418=>1000,44419=>1000,44420=>1000,44421=>1000,44422=>1000,44423=>1000,44424=>1000,44425=>1000,44426=>1000,44427=>1000,44428=>1000,44429=>1000,44430=>1000,44431=>1000,44432=>1000,44433=>1000,44434=>1000,44435=>1000,44436=>1000,44437=>1000,44438=>1000,44439=>1000,44440=>1000,44441=>1000,44442=>1000,44443=>1000,44444=>1000,44445=>1000,44446=>1000,44447=>1000,44448=>1000,44449=>1000,44450=>1000,44451=>1000,44452=>1000,44453=>1000,44454=>1000,44455=>1000,44456=>1000,44457=>1000,44458=>1000,44459=>1000,44460=>1000,44461=>1000,44462=>1000,44463=>1000,44464=>1000,44465=>1000,44466=>1000,44467=>1000,44468=>1000,44469=>1000,44470=>1000,44471=>1000,44472=>1000,44473=>1000,44474=>1000,44475=>1000,44476=>1000,44477=>1000,44478=>1000,44479=>1000,44480=>1000,44481=>1000,44482=>1000,44483=>1000,44484=>1000,44485=>1000,44486=>1000,44487=>1000,44488=>1000,44489=>1000,44490=>1000,44491=>1000,44492=>1000,44493=>1000,44494=>1000,44495=>1000,44496=>1000,44497=>1000,44498=>1000,44499=>1000,44500=>1000,44501=>1000,44502=>1000,44503=>1000,44504=>1000,44505=>1000,44506=>1000,44507=>1000,44508=>1000,44509=>1000,44510=>1000,44511=>1000,44512=>1000,44513=>1000,44514=>1000,44515=>1000,44516=>1000,44517=>1000,44518=>1000,44519=>1000,44520=>1000,44521=>1000,44522=>1000,44523=>1000,44524=>1000,44525=>1000,44526=>1000,44527=>1000,44528=>1000,44529=>1000,44530=>1000,44531=>1000,44532=>1000,44533=>1000,44534=>1000,44535=>1000,44536=>1000,44537=>1000,44538=>1000,44539=>1000,44540=>1000,44541=>1000,44542=>1000,44543=>1000,44544=>1000,44545=>1000,44546=>1000,44547=>1000,44548=>1000,44549=>1000,44550=>1000,44551=>1000,44552=>1000,44553=>1000,44554=>1000,44555=>1000,44556=>1000,44557=>1000,44558=>1000,44559=>1000,44560=>1000,44561=>1000,44562=>1000,44563=>1000,44564=>1000,44565=>1000,44566=>1000,44567=>1000,44568=>1000,44569=>1000,44570=>1000,44571=>1000,44572=>1000,44573=>1000,44574=>1000,44575=>1000,44576=>1000,44577=>1000,44578=>1000,44579=>1000,44580=>1000,44581=>1000,44582=>1000,44583=>1000,44584=>1000,44585=>1000,44586=>1000,44587=>1000,44588=>1000,44589=>1000,44590=>1000,44591=>1000,44592=>1000,44593=>1000,44594=>1000,44595=>1000,44596=>1000,44597=>1000,44598=>1000,44599=>1000,44600=>1000,44601=>1000,44602=>1000,44603=>1000,44604=>1000,44605=>1000,44606=>1000,44607=>1000,44608=>1000,44609=>1000,44610=>1000,44611=>1000,44612=>1000,44613=>1000,44614=>1000,44615=>1000,44616=>1000,44617=>1000,44618=>1000,44619=>1000,44620=>1000,44621=>1000,44622=>1000,44623=>1000,44624=>1000,44625=>1000,44626=>1000,44627=>1000,44628=>1000,44629=>1000,44630=>1000,44631=>1000,44632=>1000,44633=>1000,44634=>1000,44635=>1000,44636=>1000,44637=>1000,44638=>1000,44639=>1000,44640=>1000,44641=>1000,44642=>1000,44643=>1000,44644=>1000,44645=>1000,44646=>1000,44647=>1000,44648=>1000,44649=>1000,44650=>1000,44651=>1000,44652=>1000,44653=>1000,44654=>1000,44655=>1000,44656=>1000,44657=>1000,44658=>1000,44659=>1000,44660=>1000,44661=>1000,44662=>1000,44663=>1000,44664=>1000,44665=>1000,44666=>1000,44667=>1000,44668=>1000,44669=>1000,44670=>1000,44671=>1000,44672=>1000,44673=>1000,44674=>1000,44675=>1000,44676=>1000,44677=>1000,44678=>1000,44679=>1000,44680=>1000,44681=>1000,44682=>1000,44683=>1000,44684=>1000,44685=>1000,44686=>1000,44687=>1000,44688=>1000,44689=>1000,44690=>1000,44691=>1000,44692=>1000,44693=>1000,44694=>1000,44695=>1000,44696=>1000,44697=>1000,44698=>1000,44699=>1000,44700=>1000,44701=>1000,44702=>1000,44703=>1000,44704=>1000,44705=>1000,44706=>1000,44707=>1000,44708=>1000,44709=>1000,44710=>1000,44711=>1000,44712=>1000,44713=>1000,44714=>1000,44715=>1000,44716=>1000,44717=>1000,44718=>1000,44719=>1000,44720=>1000,44721=>1000,44722=>1000,44723=>1000,44724=>1000,44725=>1000,44726=>1000,44727=>1000,44728=>1000,44729=>1000,44730=>1000,44731=>1000,44732=>1000,44733=>1000,44734=>1000,44735=>1000,44736=>1000,44737=>1000,44738=>1000,44739=>1000,44740=>1000,44741=>1000,44742=>1000,44743=>1000,44744=>1000,44745=>1000,44746=>1000,44747=>1000,44748=>1000,44749=>1000,44750=>1000,44751=>1000,44752=>1000,44753=>1000,44754=>1000,44755=>1000,44756=>1000,44757=>1000,44758=>1000,44759=>1000,44760=>1000,44761=>1000,44762=>1000,44763=>1000,44764=>1000,44765=>1000,44766=>1000,44767=>1000,44768=>1000,44769=>1000,44770=>1000,44771=>1000,44772=>1000,44773=>1000,44774=>1000,44775=>1000,44776=>1000,44777=>1000,44778=>1000,44779=>1000,44780=>1000,44781=>1000,44782=>1000,44783=>1000,44784=>1000,44785=>1000,44786=>1000,44787=>1000,44788=>1000,44789=>1000,44790=>1000,44791=>1000,44792=>1000,44793=>1000,44794=>1000,44795=>1000,44796=>1000,44797=>1000,44798=>1000,44799=>1000,44800=>1000,44801=>1000,44802=>1000,44803=>1000,44804=>1000,44805=>1000,44806=>1000,44807=>1000,44808=>1000,44809=>1000,44810=>1000,44811=>1000,44812=>1000,44813=>1000,44814=>1000,44815=>1000,44816=>1000,44817=>1000,44818=>1000,44819=>1000,44820=>1000,44821=>1000,44822=>1000,44823=>1000,44824=>1000,44825=>1000,44826=>1000,44827=>1000,44828=>1000,44829=>1000,44830=>1000,44831=>1000,44832=>1000,44833=>1000,44834=>1000,44835=>1000,44836=>1000,44837=>1000,44838=>1000,44839=>1000,44840=>1000,44841=>1000,44842=>1000,44843=>1000,44844=>1000,44845=>1000,44846=>1000,44847=>1000,44848=>1000,44849=>1000,44850=>1000,44851=>1000,44852=>1000,44853=>1000,44854=>1000,44855=>1000,44856=>1000,44857=>1000,44858=>1000,44859=>1000,44860=>1000,44861=>1000,44862=>1000,44863=>1000,44864=>1000,44865=>1000,44866=>1000,44867=>1000,44868=>1000,44869=>1000,44870=>1000,44871=>1000,44872=>1000,44873=>1000,44874=>1000,44875=>1000,44876=>1000,44877=>1000,44878=>1000,44879=>1000,44880=>1000,44881=>1000,44882=>1000,44883=>1000,44884=>1000,44885=>1000,44886=>1000,44887=>1000,44888=>1000,44889=>1000,44890=>1000,44891=>1000,44892=>1000,44893=>1000,44894=>1000,44895=>1000,44896=>1000,44897=>1000,44898=>1000,44899=>1000,44900=>1000,44901=>1000,44902=>1000,44903=>1000,44904=>1000,44905=>1000,44906=>1000,44907=>1000,44908=>1000,44909=>1000,44910=>1000,44911=>1000,44912=>1000,44913=>1000,44914=>1000,44915=>1000,44916=>1000,44917=>1000,44918=>1000,44919=>1000,44920=>1000,44921=>1000,44922=>1000,44923=>1000,44924=>1000,44925=>1000,44926=>1000,44927=>1000,44928=>1000,44929=>1000,44930=>1000,44931=>1000,44932=>1000,44933=>1000,44934=>1000,44935=>1000,44936=>1000,44937=>1000,44938=>1000,44939=>1000,44940=>1000,44941=>1000,44942=>1000,44943=>1000,44944=>1000,44945=>1000,44946=>1000,44947=>1000,44948=>1000,44949=>1000,44950=>1000,44951=>1000,44952=>1000,44953=>1000,44954=>1000,44955=>1000,44956=>1000,44957=>1000,44958=>1000,44959=>1000,44960=>1000,44961=>1000,44962=>1000,44963=>1000,44964=>1000,44965=>1000,44966=>1000,44967=>1000,44968=>1000,44969=>1000,44970=>1000,44971=>1000,44972=>1000,44973=>1000,44974=>1000,44975=>1000,44976=>1000,44977=>1000,44978=>1000,44979=>1000,44980=>1000,44981=>1000,44982=>1000,44983=>1000,44984=>1000,44985=>1000,44986=>1000,44987=>1000,44988=>1000,44989=>1000,44990=>1000,44991=>1000,44992=>1000,44993=>1000,44994=>1000,44995=>1000,44996=>1000,44997=>1000,44998=>1000,44999=>1000,45000=>1000,45001=>1000,45002=>1000,45003=>1000,45004=>1000,45005=>1000,45006=>1000,45007=>1000,45008=>1000,45009=>1000,45010=>1000,45011=>1000,45012=>1000,45013=>1000,45014=>1000,45015=>1000,45016=>1000,45017=>1000,45018=>1000,45019=>1000,45020=>1000,45021=>1000,45022=>1000,45023=>1000,45024=>1000,45025=>1000,45026=>1000,45027=>1000,45028=>1000,45029=>1000,45030=>1000,45031=>1000,45032=>1000,45033=>1000,45034=>1000,45035=>1000,45036=>1000,45037=>1000,45038=>1000,45039=>1000,45040=>1000,45041=>1000,45042=>1000,45043=>1000,45044=>1000,45045=>1000,45046=>1000,45047=>1000,45048=>1000,45049=>1000,45050=>1000,45051=>1000,45052=>1000,45053=>1000,45054=>1000,45055=>1000,45056=>1000,45057=>1000,45058=>1000,45059=>1000,45060=>1000,45061=>1000,45062=>1000,45063=>1000,45064=>1000,45065=>1000,45066=>1000,45067=>1000,45068=>1000,45069=>1000,45070=>1000,45071=>1000,45072=>1000,45073=>1000,45074=>1000,45075=>1000,45076=>1000,45077=>1000,45078=>1000,45079=>1000,45080=>1000,45081=>1000,45082=>1000,45083=>1000,45084=>1000,45085=>1000,45086=>1000,45087=>1000,45088=>1000,45089=>1000,45090=>1000,45091=>1000,45092=>1000,45093=>1000,45094=>1000,45095=>1000,45096=>1000,45097=>1000,45098=>1000,45099=>1000,45100=>1000,45101=>1000,45102=>1000,45103=>1000,45104=>1000,45105=>1000,45106=>1000,45107=>1000,45108=>1000,45109=>1000,45110=>1000,45111=>1000,45112=>1000,45113=>1000,45114=>1000,45115=>1000,45116=>1000,45117=>1000,45118=>1000,45119=>1000,45120=>1000,45121=>1000,45122=>1000,45123=>1000,45124=>1000,45125=>1000,45126=>1000,45127=>1000,45128=>1000,45129=>1000,45130=>1000,45131=>1000,45132=>1000,45133=>1000,45134=>1000,45135=>1000,45136=>1000,45137=>1000,45138=>1000,45139=>1000,45140=>1000,45141=>1000,45142=>1000,45143=>1000,45144=>1000,45145=>1000,45146=>1000,45147=>1000,45148=>1000,45149=>1000,45150=>1000,45151=>1000,45152=>1000,45153=>1000,45154=>1000,45155=>1000,45156=>1000,45157=>1000,45158=>1000,45159=>1000,45160=>1000,45161=>1000,45162=>1000,45163=>1000,45164=>1000,45165=>1000,45166=>1000,45167=>1000,45168=>1000,45169=>1000,45170=>1000,45171=>1000,45172=>1000,45173=>1000,45174=>1000,45175=>1000,45176=>1000,45177=>1000,45178=>1000,45179=>1000,45180=>1000,45181=>1000,45182=>1000,45183=>1000,45184=>1000,45185=>1000,45186=>1000,45187=>1000,45188=>1000,45189=>1000,45190=>1000,45191=>1000,45192=>1000,45193=>1000,45194=>1000,45195=>1000,45196=>1000,45197=>1000,45198=>1000,45199=>1000,45200=>1000,45201=>1000,45202=>1000,45203=>1000,45204=>1000,45205=>1000,45206=>1000,45207=>1000,45208=>1000,45209=>1000,45210=>1000,45211=>1000,45212=>1000,45213=>1000,45214=>1000,45215=>1000,45216=>1000,45217=>1000,45218=>1000,45219=>1000,45220=>1000,45221=>1000,45222=>1000,45223=>1000,45224=>1000,45225=>1000,45226=>1000,45227=>1000,45228=>1000,45229=>1000,45230=>1000,45231=>1000,45232=>1000,45233=>1000,45234=>1000,45235=>1000,45236=>1000,45237=>1000,45238=>1000,45239=>1000,45240=>1000,45241=>1000,45242=>1000,45243=>1000,45244=>1000,45245=>1000,45246=>1000,45247=>1000,45248=>1000,45249=>1000,45250=>1000,45251=>1000,45252=>1000,45253=>1000,45254=>1000,45255=>1000,45256=>1000,45257=>1000,45258=>1000,45259=>1000,45260=>1000,45261=>1000,45262=>1000,45263=>1000,45264=>1000,45265=>1000,45266=>1000,45267=>1000,45268=>1000,45269=>1000,45270=>1000,45271=>1000,45272=>1000,45273=>1000,45274=>1000,45275=>1000,45276=>1000,45277=>1000,45278=>1000,45279=>1000,45280=>1000,45281=>1000,45282=>1000,45283=>1000,45284=>1000,45285=>1000,45286=>1000,45287=>1000,45288=>1000,45289=>1000,45290=>1000,45291=>1000,45292=>1000,45293=>1000,45294=>1000,45295=>1000,45296=>1000,45297=>1000,45298=>1000,45299=>1000,45300=>1000,45301=>1000,45302=>1000,45303=>1000,45304=>1000,45305=>1000,45306=>1000,45307=>1000,45308=>1000,45309=>1000,45310=>1000,45311=>1000,45312=>1000,45313=>1000,45314=>1000,45315=>1000,45316=>1000,45317=>1000,45318=>1000,45319=>1000,45320=>1000,45321=>1000,45322=>1000,45323=>1000,45324=>1000,45325=>1000,45326=>1000,45327=>1000,45328=>1000,45329=>1000,45330=>1000,45331=>1000,45332=>1000,45333=>1000,45334=>1000,45335=>1000,45336=>1000,45337=>1000,45338=>1000,45339=>1000,45340=>1000,45341=>1000,45342=>1000,45343=>1000,45344=>1000,45345=>1000,45346=>1000,45347=>1000,45348=>1000,45349=>1000,45350=>1000,45351=>1000,45352=>1000,45353=>1000,45354=>1000,45355=>1000,45356=>1000,45357=>1000,45358=>1000,45359=>1000,45360=>1000,45361=>1000,45362=>1000,45363=>1000,45364=>1000,45365=>1000,45366=>1000,45367=>1000,45368=>1000,45369=>1000,45370=>1000,45371=>1000,45372=>1000,45373=>1000,45374=>1000,45375=>1000,45376=>1000,45377=>1000,45378=>1000,45379=>1000,45380=>1000,45381=>1000,45382=>1000,45383=>1000,45384=>1000,45385=>1000,45386=>1000,45387=>1000,45388=>1000,45389=>1000,45390=>1000,45391=>1000,45392=>1000,45393=>1000,45394=>1000,45395=>1000,45396=>1000,45397=>1000,45398=>1000,45399=>1000,45400=>1000,45401=>1000,45402=>1000,45403=>1000,45404=>1000,45405=>1000,45406=>1000,45407=>1000,45408=>1000,45409=>1000,45410=>1000,45411=>1000,45412=>1000,45413=>1000,45414=>1000,45415=>1000,45416=>1000,45417=>1000,45418=>1000,45419=>1000,45420=>1000,45421=>1000,45422=>1000,45423=>1000,45424=>1000,45425=>1000,45426=>1000,45427=>1000,45428=>1000,45429=>1000,45430=>1000,45431=>1000,45432=>1000,45433=>1000,45434=>1000,45435=>1000,45436=>1000,45437=>1000,45438=>1000,45439=>1000,45440=>1000,45441=>1000,45442=>1000,45443=>1000,45444=>1000,45445=>1000,45446=>1000,45447=>1000,45448=>1000,45449=>1000,45450=>1000,45451=>1000,45452=>1000,45453=>1000,45454=>1000,45455=>1000,45456=>1000,45457=>1000,45458=>1000,45459=>1000,45460=>1000,45461=>1000,45462=>1000,45463=>1000,45464=>1000,45465=>1000,45466=>1000,45467=>1000,45468=>1000,45469=>1000,45470=>1000,45471=>1000,45472=>1000,45473=>1000,45474=>1000,45475=>1000,45476=>1000,45477=>1000,45478=>1000,45479=>1000,45480=>1000,45481=>1000,45482=>1000,45483=>1000,45484=>1000,45485=>1000,45486=>1000,45487=>1000,45488=>1000,45489=>1000,45490=>1000,45491=>1000,45492=>1000,45493=>1000,45494=>1000,45495=>1000,45496=>1000,45497=>1000,45498=>1000,45499=>1000,45500=>1000,45501=>1000,45502=>1000,45503=>1000,45504=>1000,45505=>1000,45506=>1000,45507=>1000,45508=>1000,45509=>1000,45510=>1000,45511=>1000,45512=>1000,45513=>1000,45514=>1000,45515=>1000,45516=>1000,45517=>1000,45518=>1000,45519=>1000,45520=>1000,45521=>1000,45522=>1000,45523=>1000,45524=>1000,45525=>1000,45526=>1000,45527=>1000,45528=>1000,45529=>1000,45530=>1000,45531=>1000,45532=>1000,45533=>1000,45534=>1000,45535=>1000,45536=>1000,45537=>1000,45538=>1000,45539=>1000,45540=>1000,45541=>1000,45542=>1000,45543=>1000,45544=>1000,45545=>1000,45546=>1000,45547=>1000,45548=>1000,45549=>1000,45550=>1000,45551=>1000,45552=>1000,45553=>1000,45554=>1000,45555=>1000,45556=>1000,45557=>1000,45558=>1000,45559=>1000,45560=>1000,45561=>1000,45562=>1000,45563=>1000,45564=>1000,45565=>1000,45566=>1000,45567=>1000,45568=>1000,45569=>1000,45570=>1000,45571=>1000,45572=>1000,45573=>1000,45574=>1000,45575=>1000,45576=>1000,45577=>1000,45578=>1000,45579=>1000,45580=>1000,45581=>1000,45582=>1000,45583=>1000,45584=>1000,45585=>1000,45586=>1000,45587=>1000,45588=>1000,45589=>1000,45590=>1000,45591=>1000,45592=>1000,45593=>1000,45594=>1000,45595=>1000,45596=>1000,45597=>1000,45598=>1000,45599=>1000,45600=>1000,45601=>1000,45602=>1000,45603=>1000,45604=>1000,45605=>1000,45606=>1000,45607=>1000,45608=>1000,45609=>1000,45610=>1000,45611=>1000,45612=>1000,45613=>1000,45614=>1000,45615=>1000,45616=>1000,45617=>1000,45618=>1000,45619=>1000,45620=>1000,45621=>1000,45622=>1000,45623=>1000,45624=>1000,45625=>1000,45626=>1000,45627=>1000,45628=>1000,45629=>1000,45630=>1000,45631=>1000,45632=>1000,45633=>1000,45634=>1000,45635=>1000,45636=>1000,45637=>1000,45638=>1000,45639=>1000,45640=>1000,45641=>1000,45642=>1000,45643=>1000,45644=>1000,45645=>1000,45646=>1000,45647=>1000,45648=>1000,45649=>1000,45650=>1000,45651=>1000,45652=>1000,45653=>1000,45654=>1000,45655=>1000,45656=>1000,45657=>1000,45658=>1000,45659=>1000,45660=>1000,45661=>1000,45662=>1000,45663=>1000,45664=>1000,45665=>1000,45666=>1000,45667=>1000,45668=>1000,45669=>1000,45670=>1000,45671=>1000,45672=>1000,45673=>1000,45674=>1000,45675=>1000,45676=>1000,45677=>1000,45678=>1000,45679=>1000,45680=>1000,45681=>1000,45682=>1000,45683=>1000,45684=>1000,45685=>1000,45686=>1000,45687=>1000,45688=>1000,45689=>1000,45690=>1000,45691=>1000,45692=>1000,45693=>1000,45694=>1000,45695=>1000,45696=>1000,45697=>1000,45698=>1000,45699=>1000,45700=>1000,45701=>1000,45702=>1000,45703=>1000,45704=>1000,45705=>1000,45706=>1000,45707=>1000,45708=>1000,45709=>1000,45710=>1000,45711=>1000,45712=>1000,45713=>1000,45714=>1000,45715=>1000,45716=>1000,45717=>1000,45718=>1000,45719=>1000,45720=>1000,45721=>1000,45722=>1000,45723=>1000,45724=>1000,45725=>1000,45726=>1000,45727=>1000,45728=>1000,45729=>1000,45730=>1000,45731=>1000,45732=>1000,45733=>1000,45734=>1000,45735=>1000,45736=>1000,45737=>1000,45738=>1000,45739=>1000,45740=>1000,45741=>1000,45742=>1000,45743=>1000,45744=>1000,45745=>1000,45746=>1000,45747=>1000,45748=>1000,45749=>1000,45750=>1000,45751=>1000,45752=>1000,45753=>1000,45754=>1000,45755=>1000,45756=>1000,45757=>1000,45758=>1000,45759=>1000,45760=>1000,45761=>1000,45762=>1000,45763=>1000,45764=>1000,45765=>1000,45766=>1000,45767=>1000,45768=>1000,45769=>1000,45770=>1000,45771=>1000,45772=>1000,45773=>1000,45774=>1000,45775=>1000,45776=>1000,45777=>1000,45778=>1000,45779=>1000,45780=>1000,45781=>1000,45782=>1000,45783=>1000,45784=>1000,45785=>1000,45786=>1000,45787=>1000,45788=>1000,45789=>1000,45790=>1000,45791=>1000,45792=>1000,45793=>1000,45794=>1000,45795=>1000,45796=>1000,45797=>1000,45798=>1000,45799=>1000,45800=>1000,45801=>1000,45802=>1000,45803=>1000,45804=>1000,45805=>1000,45806=>1000,45807=>1000,45808=>1000,45809=>1000,45810=>1000,45811=>1000,45812=>1000,45813=>1000,45814=>1000,45815=>1000,45816=>1000,45817=>1000,45818=>1000,45819=>1000,45820=>1000,45821=>1000,45822=>1000,45823=>1000,45824=>1000,45825=>1000,45826=>1000,45827=>1000,45828=>1000,45829=>1000,45830=>1000,45831=>1000,45832=>1000,45833=>1000,45834=>1000,45835=>1000,45836=>1000,45837=>1000,45838=>1000,45839=>1000,45840=>1000,45841=>1000,45842=>1000,45843=>1000,45844=>1000,45845=>1000,45846=>1000,45847=>1000,45848=>1000,45849=>1000,45850=>1000,45851=>1000,45852=>1000,45853=>1000,45854=>1000,45855=>1000,45856=>1000,45857=>1000,45858=>1000,45859=>1000,45860=>1000,45861=>1000,45862=>1000,45863=>1000,45864=>1000,45865=>1000,45866=>1000,45867=>1000,45868=>1000,45869=>1000,45870=>1000,45871=>1000,45872=>1000,45873=>1000,45874=>1000,45875=>1000,45876=>1000,45877=>1000,45878=>1000,45879=>1000,45880=>1000,45881=>1000,45882=>1000,45883=>1000,45884=>1000,45885=>1000,45886=>1000,45887=>1000,45888=>1000,45889=>1000,45890=>1000,45891=>1000,45892=>1000,45893=>1000,45894=>1000,45895=>1000,45896=>1000,45897=>1000,45898=>1000,45899=>1000,45900=>1000,45901=>1000,45902=>1000,45903=>1000,45904=>1000,45905=>1000,45906=>1000,45907=>1000,45908=>1000,45909=>1000,45910=>1000,45911=>1000,45912=>1000,45913=>1000,45914=>1000,45915=>1000,45916=>1000,45917=>1000,45918=>1000,45919=>1000,45920=>1000,45921=>1000,45922=>1000,45923=>1000,45924=>1000,45925=>1000,45926=>1000,45927=>1000,45928=>1000,45929=>1000,45930=>1000,45931=>1000,45932=>1000,45933=>1000,45934=>1000,45935=>1000,45936=>1000,45937=>1000,45938=>1000,45939=>1000,45940=>1000,45941=>1000,45942=>1000,45943=>1000,45944=>1000,45945=>1000,45946=>1000,45947=>1000,45948=>1000,45949=>1000,45950=>1000,45951=>1000,45952=>1000,45953=>1000,45954=>1000,45955=>1000,45956=>1000,45957=>1000,45958=>1000,45959=>1000,45960=>1000,45961=>1000,45962=>1000,45963=>1000,45964=>1000,45965=>1000,45966=>1000,45967=>1000,45968=>1000,45969=>1000,45970=>1000,45971=>1000,45972=>1000,45973=>1000,45974=>1000,45975=>1000,45976=>1000,45977=>1000,45978=>1000,45979=>1000,45980=>1000,45981=>1000,45982=>1000,45983=>1000,45984=>1000,45985=>1000,45986=>1000,45987=>1000,45988=>1000,45989=>1000,45990=>1000,45991=>1000,45992=>1000,45993=>1000,45994=>1000,45995=>1000,45996=>1000,45997=>1000,45998=>1000,45999=>1000,46000=>1000,46001=>1000,46002=>1000,46003=>1000,46004=>1000,46005=>1000,46006=>1000,46007=>1000,46008=>1000,46009=>1000,46010=>1000,46011=>1000,46012=>1000,46013=>1000,46014=>1000,46015=>1000,46016=>1000,46017=>1000,46018=>1000,46019=>1000,46020=>1000,46021=>1000,46022=>1000,46023=>1000,46024=>1000,46025=>1000,46026=>1000,46027=>1000,46028=>1000,46029=>1000,46030=>1000,46031=>1000,46032=>1000,46033=>1000,46034=>1000,46035=>1000,46036=>1000,46037=>1000,46038=>1000,46039=>1000,46040=>1000,46041=>1000,46042=>1000,46043=>1000,46044=>1000,46045=>1000,46046=>1000,46047=>1000,46048=>1000,46049=>1000,46050=>1000,46051=>1000,46052=>1000,46053=>1000,46054=>1000,46055=>1000,46056=>1000,46057=>1000,46058=>1000,46059=>1000,46060=>1000,46061=>1000,46062=>1000,46063=>1000,46064=>1000,46065=>1000,46066=>1000,46067=>1000,46068=>1000,46069=>1000,46070=>1000,46071=>1000,46072=>1000,46073=>1000,46074=>1000,46075=>1000,46076=>1000,46077=>1000,46078=>1000,46079=>1000,46080=>1000,46081=>1000,46082=>1000,46083=>1000,46084=>1000,46085=>1000,46086=>1000,46087=>1000,46088=>1000,46089=>1000,46090=>1000,46091=>1000,46092=>1000,46093=>1000,46094=>1000,46095=>1000,46096=>1000,46097=>1000,46098=>1000,46099=>1000,46100=>1000,46101=>1000,46102=>1000,46103=>1000,46104=>1000,46105=>1000,46106=>1000,46107=>1000,46108=>1000,46109=>1000,46110=>1000,46111=>1000,46112=>1000,46113=>1000,46114=>1000,46115=>1000,46116=>1000,46117=>1000,46118=>1000,46119=>1000,46120=>1000,46121=>1000,46122=>1000,46123=>1000,46124=>1000,46125=>1000,46126=>1000,46127=>1000,46128=>1000,46129=>1000,46130=>1000,46131=>1000,46132=>1000,46133=>1000,46134=>1000,46135=>1000,46136=>1000,46137=>1000,46138=>1000,46139=>1000,46140=>1000,46141=>1000,46142=>1000,46143=>1000,46144=>1000,46145=>1000,46146=>1000,46147=>1000,46148=>1000,46149=>1000,46150=>1000,46151=>1000,46152=>1000,46153=>1000,46154=>1000,46155=>1000,46156=>1000,46157=>1000,46158=>1000,46159=>1000,46160=>1000,46161=>1000,46162=>1000,46163=>1000,46164=>1000,46165=>1000,46166=>1000,46167=>1000,46168=>1000,46169=>1000,46170=>1000,46171=>1000,46172=>1000,46173=>1000,46174=>1000,46175=>1000,46176=>1000,46177=>1000,46178=>1000,46179=>1000,46180=>1000,46181=>1000,46182=>1000,46183=>1000,46184=>1000,46185=>1000,46186=>1000,46187=>1000,46188=>1000,46189=>1000,46190=>1000,46191=>1000,46192=>1000,46193=>1000,46194=>1000,46195=>1000,46196=>1000,46197=>1000,46198=>1000,46199=>1000,46200=>1000,46201=>1000,46202=>1000,46203=>1000,46204=>1000,46205=>1000,46206=>1000,46207=>1000,46208=>1000,46209=>1000,46210=>1000,46211=>1000,46212=>1000,46213=>1000,46214=>1000,46215=>1000,46216=>1000,46217=>1000,46218=>1000,46219=>1000,46220=>1000,46221=>1000,46222=>1000,46223=>1000,46224=>1000,46225=>1000,46226=>1000,46227=>1000,46228=>1000,46229=>1000,46230=>1000,46231=>1000,46232=>1000,46233=>1000,46234=>1000,46235=>1000,46236=>1000,46237=>1000,46238=>1000,46239=>1000,46240=>1000,46241=>1000,46242=>1000,46243=>1000,46244=>1000,46245=>1000,46246=>1000,46247=>1000,46248=>1000,46249=>1000,46250=>1000,46251=>1000,46252=>1000,46253=>1000,46254=>1000,46255=>1000,46256=>1000,46257=>1000,46258=>1000,46259=>1000,46260=>1000,46261=>1000,46262=>1000,46263=>1000,46264=>1000,46265=>1000,46266=>1000,46267=>1000,46268=>1000,46269=>1000,46270=>1000,46271=>1000,46272=>1000,46273=>1000,46274=>1000,46275=>1000,46276=>1000,46277=>1000,46278=>1000,46279=>1000,46280=>1000,46281=>1000,46282=>1000,46283=>1000,46284=>1000,46285=>1000,46286=>1000,46287=>1000,46288=>1000,46289=>1000,46290=>1000,46291=>1000,46292=>1000,46293=>1000,46294=>1000,46295=>1000,46296=>1000,46297=>1000,46298=>1000,46299=>1000,46300=>1000,46301=>1000,46302=>1000,46303=>1000,46304=>1000,46305=>1000,46306=>1000,46307=>1000,46308=>1000,46309=>1000,46310=>1000,46311=>1000,46312=>1000,46313=>1000,46314=>1000,46315=>1000,46316=>1000,46317=>1000,46318=>1000,46319=>1000,46320=>1000,46321=>1000,46322=>1000,46323=>1000,46324=>1000,46325=>1000,46326=>1000,46327=>1000,46328=>1000,46329=>1000,46330=>1000,46331=>1000,46332=>1000,46333=>1000,46334=>1000,46335=>1000,46336=>1000,46337=>1000,46338=>1000,46339=>1000,46340=>1000,46341=>1000,46342=>1000,46343=>1000,46344=>1000,46345=>1000,46346=>1000,46347=>1000,46348=>1000,46349=>1000,46350=>1000,46351=>1000,46352=>1000,46353=>1000,46354=>1000,46355=>1000,46356=>1000,46357=>1000,46358=>1000,46359=>1000,46360=>1000,46361=>1000,46362=>1000,46363=>1000,46364=>1000,46365=>1000,46366=>1000,46367=>1000,46368=>1000,46369=>1000,46370=>1000,46371=>1000,46372=>1000,46373=>1000,46374=>1000,46375=>1000,46376=>1000,46377=>1000,46378=>1000,46379=>1000,46380=>1000,46381=>1000,46382=>1000,46383=>1000,46384=>1000,46385=>1000,46386=>1000,46387=>1000,46388=>1000,46389=>1000,46390=>1000,46391=>1000,46392=>1000,46393=>1000,46394=>1000,46395=>1000,46396=>1000,46397=>1000,46398=>1000,46399=>1000,46400=>1000,46401=>1000,46402=>1000,46403=>1000,46404=>1000,46405=>1000,46406=>1000,46407=>1000,46408=>1000,46409=>1000,46410=>1000,46411=>1000,46412=>1000,46413=>1000,46414=>1000,46415=>1000,46416=>1000,46417=>1000,46418=>1000,46419=>1000,46420=>1000,46421=>1000,46422=>1000,46423=>1000,46424=>1000,46425=>1000,46426=>1000,46427=>1000,46428=>1000,46429=>1000,46430=>1000,46431=>1000,46432=>1000,46433=>1000,46434=>1000,46435=>1000,46436=>1000,46437=>1000,46438=>1000,46439=>1000,46440=>1000,46441=>1000,46442=>1000,46443=>1000,46444=>1000,46445=>1000,46446=>1000,46447=>1000,46448=>1000,46449=>1000,46450=>1000,46451=>1000,46452=>1000,46453=>1000,46454=>1000,46455=>1000,46456=>1000,46457=>1000,46458=>1000,46459=>1000,46460=>1000,46461=>1000,46462=>1000,46463=>1000,46464=>1000,46465=>1000,46466=>1000,46467=>1000,46468=>1000,46469=>1000,46470=>1000,46471=>1000,46472=>1000,46473=>1000,46474=>1000,46475=>1000,46476=>1000,46477=>1000,46478=>1000,46479=>1000,46480=>1000,46481=>1000,46482=>1000,46483=>1000,46484=>1000,46485=>1000,46486=>1000,46487=>1000,46488=>1000,46489=>1000,46490=>1000,46491=>1000,46492=>1000,46493=>1000,46494=>1000,46495=>1000,46496=>1000,46497=>1000,46498=>1000,46499=>1000,46500=>1000,46501=>1000,46502=>1000,46503=>1000,46504=>1000,46505=>1000,46506=>1000,46507=>1000,46508=>1000,46509=>1000,46510=>1000,46511=>1000,46512=>1000,46513=>1000,46514=>1000,46515=>1000,46516=>1000,46517=>1000,46518=>1000,46519=>1000,46520=>1000,46521=>1000,46522=>1000,46523=>1000,46524=>1000,46525=>1000,46526=>1000,46527=>1000,46528=>1000,46529=>1000,46530=>1000,46531=>1000,46532=>1000,46533=>1000,46534=>1000,46535=>1000,46536=>1000,46537=>1000,46538=>1000,46539=>1000,46540=>1000,46541=>1000,46542=>1000,46543=>1000,46544=>1000,46545=>1000,46546=>1000,46547=>1000,46548=>1000,46549=>1000,46550=>1000,46551=>1000,46552=>1000,46553=>1000,46554=>1000,46555=>1000,46556=>1000,46557=>1000,46558=>1000,46559=>1000,46560=>1000,46561=>1000,46562=>1000,46563=>1000,46564=>1000,46565=>1000,46566=>1000,46567=>1000,46568=>1000,46569=>1000,46570=>1000,46571=>1000,46572=>1000,46573=>1000,46574=>1000,46575=>1000,46576=>1000,46577=>1000,46578=>1000,46579=>1000,46580=>1000,46581=>1000,46582=>1000,46583=>1000,46584=>1000,46585=>1000,46586=>1000,46587=>1000,46588=>1000,46589=>1000,46590=>1000,46591=>1000,46592=>1000,46593=>1000,46594=>1000,46595=>1000,46596=>1000,46597=>1000,46598=>1000,46599=>1000,46600=>1000,46601=>1000,46602=>1000,46603=>1000,46604=>1000,46605=>1000,46606=>1000,46607=>1000,46608=>1000,46609=>1000,46610=>1000,46611=>1000,46612=>1000,46613=>1000,46614=>1000,46615=>1000,46616=>1000,46617=>1000,46618=>1000,46619=>1000,46620=>1000,46621=>1000,46622=>1000,46623=>1000,46624=>1000,46625=>1000,46626=>1000,46627=>1000,46628=>1000,46629=>1000,46630=>1000,46631=>1000,46632=>1000,46633=>1000,46634=>1000,46635=>1000,46636=>1000,46637=>1000,46638=>1000,46639=>1000,46640=>1000,46641=>1000,46642=>1000,46643=>1000,46644=>1000,46645=>1000,46646=>1000,46647=>1000,46648=>1000,46649=>1000,46650=>1000,46651=>1000,46652=>1000,46653=>1000,46654=>1000,46655=>1000,46656=>1000,46657=>1000,46658=>1000,46659=>1000,46660=>1000,46661=>1000,46662=>1000,46663=>1000,46664=>1000,46665=>1000,46666=>1000,46667=>1000,46668=>1000,46669=>1000,46670=>1000,46671=>1000,46672=>1000,46673=>1000,46674=>1000,46675=>1000,46676=>1000,46677=>1000,46678=>1000,46679=>1000,46680=>1000,46681=>1000,46682=>1000,46683=>1000,46684=>1000,46685=>1000,46686=>1000,46687=>1000,46688=>1000,46689=>1000,46690=>1000,46691=>1000,46692=>1000,46693=>1000,46694=>1000,46695=>1000,46696=>1000,46697=>1000,46698=>1000,46699=>1000,46700=>1000,46701=>1000,46702=>1000,46703=>1000,46704=>1000,46705=>1000,46706=>1000,46707=>1000,46708=>1000,46709=>1000,46710=>1000,46711=>1000,46712=>1000,46713=>1000,46714=>1000,46715=>1000,46716=>1000,46717=>1000,46718=>1000,46719=>1000,46720=>1000,46721=>1000,46722=>1000,46723=>1000,46724=>1000,46725=>1000,46726=>1000,46727=>1000,46728=>1000,46729=>1000,46730=>1000,46731=>1000,46732=>1000,46733=>1000,46734=>1000,46735=>1000,46736=>1000,46737=>1000,46738=>1000,46739=>1000,46740=>1000,46741=>1000,46742=>1000,46743=>1000,46744=>1000,46745=>1000,46746=>1000,46747=>1000,46748=>1000,46749=>1000,46750=>1000,46751=>1000,46752=>1000,46753=>1000,46754=>1000,46755=>1000,46756=>1000,46757=>1000,46758=>1000,46759=>1000,46760=>1000,46761=>1000,46762=>1000,46763=>1000,46764=>1000,46765=>1000,46766=>1000,46767=>1000,46768=>1000,46769=>1000,46770=>1000,46771=>1000,46772=>1000,46773=>1000,46774=>1000,46775=>1000,46776=>1000,46777=>1000,46778=>1000,46779=>1000,46780=>1000,46781=>1000,46782=>1000,46783=>1000,46784=>1000,46785=>1000,46786=>1000,46787=>1000,46788=>1000,46789=>1000,46790=>1000,46791=>1000,46792=>1000,46793=>1000,46794=>1000,46795=>1000,46796=>1000,46797=>1000,46798=>1000,46799=>1000,46800=>1000,46801=>1000,46802=>1000,46803=>1000,46804=>1000,46805=>1000,46806=>1000,46807=>1000,46808=>1000,46809=>1000,46810=>1000,46811=>1000,46812=>1000,46813=>1000,46814=>1000,46815=>1000,46816=>1000,46817=>1000,46818=>1000,46819=>1000,46820=>1000,46821=>1000,46822=>1000,46823=>1000,46824=>1000,46825=>1000,46826=>1000,46827=>1000,46828=>1000,46829=>1000,46830=>1000,46831=>1000,46832=>1000,46833=>1000,46834=>1000,46835=>1000,46836=>1000,46837=>1000,46838=>1000,46839=>1000,46840=>1000,46841=>1000,46842=>1000,46843=>1000,46844=>1000,46845=>1000,46846=>1000,46847=>1000,46848=>1000,46849=>1000,46850=>1000,46851=>1000,46852=>1000,46853=>1000,46854=>1000,46855=>1000,46856=>1000,46857=>1000,46858=>1000,46859=>1000,46860=>1000,46861=>1000,46862=>1000,46863=>1000,46864=>1000,46865=>1000,46866=>1000,46867=>1000,46868=>1000,46869=>1000,46870=>1000,46871=>1000,46872=>1000,46873=>1000,46874=>1000,46875=>1000,46876=>1000,46877=>1000,46878=>1000,46879=>1000,46880=>1000,46881=>1000,46882=>1000,46883=>1000,46884=>1000,46885=>1000,46886=>1000,46887=>1000,46888=>1000,46889=>1000,46890=>1000,46891=>1000,46892=>1000,46893=>1000,46894=>1000,46895=>1000,46896=>1000,46897=>1000,46898=>1000,46899=>1000,46900=>1000,46901=>1000,46902=>1000,46903=>1000,46904=>1000,46905=>1000,46906=>1000,46907=>1000,46908=>1000,46909=>1000,46910=>1000,46911=>1000,46912=>1000,46913=>1000,46914=>1000,46915=>1000,46916=>1000,46917=>1000,46918=>1000,46919=>1000,46920=>1000,46921=>1000,46922=>1000,46923=>1000,46924=>1000,46925=>1000,46926=>1000,46927=>1000,46928=>1000,46929=>1000,46930=>1000,46931=>1000,46932=>1000,46933=>1000,46934=>1000,46935=>1000,46936=>1000,46937=>1000,46938=>1000,46939=>1000,46940=>1000,46941=>1000,46942=>1000,46943=>1000,46944=>1000,46945=>1000,46946=>1000,46947=>1000,46948=>1000,46949=>1000,46950=>1000,46951=>1000,46952=>1000,46953=>1000,46954=>1000,46955=>1000,46956=>1000,46957=>1000,46958=>1000,46959=>1000,46960=>1000,46961=>1000,46962=>1000,46963=>1000,46964=>1000,46965=>1000,46966=>1000,46967=>1000,46968=>1000,46969=>1000,46970=>1000,46971=>1000,46972=>1000,46973=>1000,46974=>1000,46975=>1000,46976=>1000,46977=>1000,46978=>1000,46979=>1000,46980=>1000,46981=>1000,46982=>1000,46983=>1000,46984=>1000,46985=>1000,46986=>1000,46987=>1000,46988=>1000,46989=>1000,46990=>1000,46991=>1000,46992=>1000,46993=>1000,46994=>1000,46995=>1000,46996=>1000,46997=>1000,46998=>1000,46999=>1000,47000=>1000,47001=>1000,47002=>1000,47003=>1000,47004=>1000,47005=>1000,47006=>1000,47007=>1000,47008=>1000,47009=>1000,47010=>1000,47011=>1000,47012=>1000,47013=>1000,47014=>1000,47015=>1000,47016=>1000,47017=>1000,47018=>1000,47019=>1000,47020=>1000,47021=>1000,47022=>1000,47023=>1000,47024=>1000,47025=>1000,47026=>1000,47027=>1000,47028=>1000,47029=>1000,47030=>1000,47031=>1000,47032=>1000,47033=>1000,47034=>1000,47035=>1000,47036=>1000,47037=>1000,47038=>1000,47039=>1000,47040=>1000,47041=>1000,47042=>1000,47043=>1000,47044=>1000,47045=>1000,47046=>1000,47047=>1000,47048=>1000,47049=>1000,47050=>1000,47051=>1000,47052=>1000,47053=>1000,47054=>1000,47055=>1000,47056=>1000,47057=>1000,47058=>1000,47059=>1000,47060=>1000,47061=>1000,47062=>1000,47063=>1000,47064=>1000,47065=>1000,47066=>1000,47067=>1000,47068=>1000,47069=>1000,47070=>1000,47071=>1000,47072=>1000,47073=>1000,47074=>1000,47075=>1000,47076=>1000,47077=>1000,47078=>1000,47079=>1000,47080=>1000,47081=>1000,47082=>1000,47083=>1000,47084=>1000,47085=>1000,47086=>1000,47087=>1000,47088=>1000,47089=>1000,47090=>1000,47091=>1000,47092=>1000,47093=>1000,47094=>1000,47095=>1000,47096=>1000,47097=>1000,47098=>1000,47099=>1000,47100=>1000,47101=>1000,47102=>1000,47103=>1000,47104=>1000,47105=>1000,47106=>1000,47107=>1000,47108=>1000,47109=>1000,47110=>1000,47111=>1000,47112=>1000,47113=>1000,47114=>1000,47115=>1000,47116=>1000,47117=>1000,47118=>1000,47119=>1000,47120=>1000,47121=>1000,47122=>1000,47123=>1000,47124=>1000,47125=>1000,47126=>1000,47127=>1000,47128=>1000,47129=>1000,47130=>1000,47131=>1000,47132=>1000,47133=>1000,47134=>1000,47135=>1000,47136=>1000,47137=>1000,47138=>1000,47139=>1000,47140=>1000,47141=>1000,47142=>1000,47143=>1000,47144=>1000,47145=>1000,47146=>1000,47147=>1000,47148=>1000,47149=>1000,47150=>1000,47151=>1000,47152=>1000,47153=>1000,47154=>1000,47155=>1000,47156=>1000,47157=>1000,47158=>1000,47159=>1000,47160=>1000,47161=>1000,47162=>1000,47163=>1000,47164=>1000,47165=>1000,47166=>1000,47167=>1000,47168=>1000,47169=>1000,47170=>1000,47171=>1000,47172=>1000,47173=>1000,47174=>1000,47175=>1000,47176=>1000,47177=>1000,47178=>1000,47179=>1000,47180=>1000,47181=>1000,47182=>1000,47183=>1000,47184=>1000,47185=>1000,47186=>1000,47187=>1000,47188=>1000,47189=>1000,47190=>1000,47191=>1000,47192=>1000,47193=>1000,47194=>1000,47195=>1000,47196=>1000,47197=>1000,47198=>1000,47199=>1000,47200=>1000,47201=>1000,47202=>1000,47203=>1000,47204=>1000,47205=>1000,47206=>1000,47207=>1000,47208=>1000,47209=>1000,47210=>1000,47211=>1000,47212=>1000,47213=>1000,47214=>1000,47215=>1000,47216=>1000,47217=>1000,47218=>1000,47219=>1000,47220=>1000,47221=>1000,47222=>1000,47223=>1000,47224=>1000,47225=>1000,47226=>1000,47227=>1000,47228=>1000,47229=>1000,47230=>1000,47231=>1000,47232=>1000,47233=>1000,47234=>1000,47235=>1000,47236=>1000,47237=>1000,47238=>1000,47239=>1000,47240=>1000,47241=>1000,47242=>1000,47243=>1000,47244=>1000,47245=>1000,47246=>1000,47247=>1000,47248=>1000,47249=>1000,47250=>1000,47251=>1000,47252=>1000,47253=>1000,47254=>1000,47255=>1000,47256=>1000,47257=>1000,47258=>1000,47259=>1000,47260=>1000,47261=>1000,47262=>1000,47263=>1000,47264=>1000,47265=>1000,47266=>1000,47267=>1000,47268=>1000,47269=>1000,47270=>1000,47271=>1000,47272=>1000,47273=>1000,47274=>1000,47275=>1000,47276=>1000,47277=>1000,47278=>1000,47279=>1000,47280=>1000,47281=>1000,47282=>1000,47283=>1000,47284=>1000,47285=>1000,47286=>1000,47287=>1000,47288=>1000,47289=>1000,47290=>1000,47291=>1000,47292=>1000,47293=>1000,47294=>1000,47295=>1000,47296=>1000,47297=>1000,47298=>1000,47299=>1000,47300=>1000,47301=>1000,47302=>1000,47303=>1000,47304=>1000,47305=>1000,47306=>1000,47307=>1000,47308=>1000,47309=>1000,47310=>1000,47311=>1000,47312=>1000,47313=>1000,47314=>1000,47315=>1000,47316=>1000,47317=>1000,47318=>1000,47319=>1000,47320=>1000,47321=>1000,47322=>1000,47323=>1000,47324=>1000,47325=>1000,47326=>1000,47327=>1000,47328=>1000,47329=>1000,47330=>1000,47331=>1000,47332=>1000,47333=>1000,47334=>1000,47335=>1000,47336=>1000,47337=>1000,47338=>1000,47339=>1000,47340=>1000,47341=>1000,47342=>1000,47343=>1000,47344=>1000,47345=>1000,47346=>1000,47347=>1000,47348=>1000,47349=>1000,47350=>1000,47351=>1000,47352=>1000,47353=>1000,47354=>1000,47355=>1000,47356=>1000,47357=>1000,47358=>1000,47359=>1000,47360=>1000,47361=>1000,47362=>1000,47363=>1000,47364=>1000,47365=>1000,47366=>1000,47367=>1000,47368=>1000,47369=>1000,47370=>1000,47371=>1000,47372=>1000,47373=>1000,47374=>1000,47375=>1000,47376=>1000,47377=>1000,47378=>1000,47379=>1000,47380=>1000,47381=>1000,47382=>1000,47383=>1000,47384=>1000,47385=>1000,47386=>1000,47387=>1000,47388=>1000,47389=>1000,47390=>1000,47391=>1000,47392=>1000,47393=>1000,47394=>1000,47395=>1000,47396=>1000,47397=>1000,47398=>1000,47399=>1000,47400=>1000,47401=>1000,47402=>1000,47403=>1000,47404=>1000,47405=>1000,47406=>1000,47407=>1000,47408=>1000,47409=>1000,47410=>1000,47411=>1000,47412=>1000,47413=>1000,47414=>1000,47415=>1000,47416=>1000,47417=>1000,47418=>1000,47419=>1000,47420=>1000,47421=>1000,47422=>1000,47423=>1000,47424=>1000,47425=>1000,47426=>1000,47427=>1000,47428=>1000,47429=>1000,47430=>1000,47431=>1000,47432=>1000,47433=>1000,47434=>1000,47435=>1000,47436=>1000,47437=>1000,47438=>1000,47439=>1000,47440=>1000,47441=>1000,47442=>1000,47443=>1000,47444=>1000,47445=>1000,47446=>1000,47447=>1000,47448=>1000,47449=>1000,47450=>1000,47451=>1000,47452=>1000,47453=>1000,47454=>1000,47455=>1000,47456=>1000,47457=>1000,47458=>1000,47459=>1000,47460=>1000,47461=>1000,47462=>1000,47463=>1000,47464=>1000,47465=>1000,47466=>1000,47467=>1000,47468=>1000,47469=>1000,47470=>1000,47471=>1000,47472=>1000,47473=>1000,47474=>1000,47475=>1000,47476=>1000,47477=>1000,47478=>1000,47479=>1000,47480=>1000,47481=>1000,47482=>1000,47483=>1000,47484=>1000,47485=>1000,47486=>1000,47487=>1000,47488=>1000,47489=>1000,47490=>1000,47491=>1000,47492=>1000,47493=>1000,47494=>1000,47495=>1000,47496=>1000,47497=>1000,47498=>1000,47499=>1000,47500=>1000,47501=>1000,47502=>1000,47503=>1000,47504=>1000,47505=>1000,47506=>1000,47507=>1000,47508=>1000,47509=>1000,47510=>1000,47511=>1000,47512=>1000,47513=>1000,47514=>1000,47515=>1000,47516=>1000,47517=>1000,47518=>1000,47519=>1000,47520=>1000,47521=>1000,47522=>1000,47523=>1000,47524=>1000,47525=>1000,47526=>1000,47527=>1000,47528=>1000,47529=>1000,47530=>1000,47531=>1000,47532=>1000,47533=>1000,47534=>1000,47535=>1000,47536=>1000,47537=>1000,47538=>1000,47539=>1000,47540=>1000,47541=>1000,47542=>1000,47543=>1000,47544=>1000,47545=>1000,47546=>1000,47547=>1000,47548=>1000,47549=>1000,47550=>1000,47551=>1000,47552=>1000,47553=>1000,47554=>1000,47555=>1000,47556=>1000,47557=>1000,47558=>1000,47559=>1000,47560=>1000,47561=>1000,47562=>1000,47563=>1000,47564=>1000,47565=>1000,47566=>1000,47567=>1000,47568=>1000,47569=>1000,47570=>1000,47571=>1000,47572=>1000,47573=>1000,47574=>1000,47575=>1000,47576=>1000,47577=>1000,47578=>1000,47579=>1000,47580=>1000,47581=>1000,47582=>1000,47583=>1000,47584=>1000,47585=>1000,47586=>1000,47587=>1000,47588=>1000,47589=>1000,47590=>1000,47591=>1000,47592=>1000,47593=>1000,47594=>1000,47595=>1000,47596=>1000,47597=>1000,47598=>1000,47599=>1000,47600=>1000,47601=>1000,47602=>1000,47603=>1000,47604=>1000,47605=>1000,47606=>1000,47607=>1000,47608=>1000,47609=>1000,47610=>1000,47611=>1000,47612=>1000,47613=>1000,47614=>1000,47615=>1000,47616=>1000,47617=>1000,47618=>1000,47619=>1000,47620=>1000,47621=>1000,47622=>1000,47623=>1000,47624=>1000,47625=>1000,47626=>1000,47627=>1000,47628=>1000,47629=>1000,47630=>1000,47631=>1000,47632=>1000,47633=>1000,47634=>1000,47635=>1000,47636=>1000,47637=>1000,47638=>1000,47639=>1000,47640=>1000,47641=>1000,47642=>1000,47643=>1000,47644=>1000,47645=>1000,47646=>1000,47647=>1000,47648=>1000,47649=>1000,47650=>1000,47651=>1000,47652=>1000,47653=>1000,47654=>1000,47655=>1000,47656=>1000,47657=>1000,47658=>1000,47659=>1000,47660=>1000,47661=>1000,47662=>1000,47663=>1000,47664=>1000,47665=>1000,47666=>1000,47667=>1000,47668=>1000,47669=>1000,47670=>1000,47671=>1000,47672=>1000,47673=>1000,47674=>1000,47675=>1000,47676=>1000,47677=>1000,47678=>1000,47679=>1000,47680=>1000,47681=>1000,47682=>1000,47683=>1000,47684=>1000,47685=>1000,47686=>1000,47687=>1000,47688=>1000,47689=>1000,47690=>1000,47691=>1000,47692=>1000,47693=>1000,47694=>1000,47695=>1000,47696=>1000,47697=>1000,47698=>1000,47699=>1000,47700=>1000,47701=>1000,47702=>1000,47703=>1000,47704=>1000,47705=>1000,47706=>1000,47707=>1000,47708=>1000,47709=>1000,47710=>1000,47711=>1000,47712=>1000,47713=>1000,47714=>1000,47715=>1000,47716=>1000,47717=>1000,47718=>1000,47719=>1000,47720=>1000,47721=>1000,47722=>1000,47723=>1000,47724=>1000,47725=>1000,47726=>1000,47727=>1000,47728=>1000,47729=>1000,47730=>1000,47731=>1000,47732=>1000,47733=>1000,47734=>1000,47735=>1000,47736=>1000,47737=>1000,47738=>1000,47739=>1000,47740=>1000,47741=>1000,47742=>1000,47743=>1000,47744=>1000,47745=>1000,47746=>1000,47747=>1000,47748=>1000,47749=>1000,47750=>1000,47751=>1000,47752=>1000,47753=>1000,47754=>1000,47755=>1000,47756=>1000,47757=>1000,47758=>1000,47759=>1000,47760=>1000,47761=>1000,47762=>1000,47763=>1000,47764=>1000,47765=>1000,47766=>1000,47767=>1000,47768=>1000,47769=>1000,47770=>1000,47771=>1000,47772=>1000,47773=>1000,47774=>1000,47775=>1000,47776=>1000,47777=>1000,47778=>1000,47779=>1000,47780=>1000,47781=>1000,47782=>1000,47783=>1000,47784=>1000,47785=>1000,47786=>1000,47787=>1000,47788=>1000,47789=>1000,47790=>1000,47791=>1000,47792=>1000,47793=>1000,47794=>1000,47795=>1000,47796=>1000,47797=>1000,47798=>1000,47799=>1000,47800=>1000,47801=>1000,47802=>1000,47803=>1000,47804=>1000,47805=>1000,47806=>1000,47807=>1000,47808=>1000,47809=>1000,47810=>1000,47811=>1000,47812=>1000,47813=>1000,47814=>1000,47815=>1000,47816=>1000,47817=>1000,47818=>1000,47819=>1000,47820=>1000,47821=>1000,47822=>1000,47823=>1000,47824=>1000,47825=>1000,47826=>1000,47827=>1000,47828=>1000,47829=>1000,47830=>1000,47831=>1000,47832=>1000,47833=>1000,47834=>1000,47835=>1000,47836=>1000,47837=>1000,47838=>1000,47839=>1000,47840=>1000,47841=>1000,47842=>1000,47843=>1000,47844=>1000,47845=>1000,47846=>1000,47847=>1000,47848=>1000,47849=>1000,47850=>1000,47851=>1000,47852=>1000,47853=>1000,47854=>1000,47855=>1000,47856=>1000,47857=>1000,47858=>1000,47859=>1000,47860=>1000,47861=>1000,47862=>1000,47863=>1000,47864=>1000,47865=>1000,47866=>1000,47867=>1000,47868=>1000,47869=>1000,47870=>1000,47871=>1000,47872=>1000,47873=>1000,47874=>1000,47875=>1000,47876=>1000,47877=>1000,47878=>1000,47879=>1000,47880=>1000,47881=>1000,47882=>1000,47883=>1000,47884=>1000,47885=>1000,47886=>1000,47887=>1000,47888=>1000,47889=>1000,47890=>1000,47891=>1000,47892=>1000,47893=>1000,47894=>1000,47895=>1000,47896=>1000,47897=>1000,47898=>1000,47899=>1000,47900=>1000,47901=>1000,47902=>1000,47903=>1000,47904=>1000,47905=>1000,47906=>1000,47907=>1000,47908=>1000,47909=>1000,47910=>1000,47911=>1000,47912=>1000,47913=>1000,47914=>1000,47915=>1000,47916=>1000,47917=>1000,47918=>1000,47919=>1000,47920=>1000,47921=>1000,47922=>1000,47923=>1000,47924=>1000,47925=>1000,47926=>1000,47927=>1000,47928=>1000,47929=>1000,47930=>1000,47931=>1000,47932=>1000,47933=>1000,47934=>1000,47935=>1000,47936=>1000,47937=>1000,47938=>1000,47939=>1000,47940=>1000,47941=>1000,47942=>1000,47943=>1000,47944=>1000,47945=>1000,47946=>1000,47947=>1000,47948=>1000,47949=>1000,47950=>1000,47951=>1000,47952=>1000,47953=>1000,47954=>1000,47955=>1000,47956=>1000,47957=>1000,47958=>1000,47959=>1000,47960=>1000,47961=>1000,47962=>1000,47963=>1000,47964=>1000,47965=>1000,47966=>1000,47967=>1000,47968=>1000,47969=>1000,47970=>1000,47971=>1000,47972=>1000,47973=>1000,47974=>1000,47975=>1000,47976=>1000,47977=>1000,47978=>1000,47979=>1000,47980=>1000,47981=>1000,47982=>1000,47983=>1000,47984=>1000,47985=>1000,47986=>1000,47987=>1000,47988=>1000,47989=>1000,47990=>1000,47991=>1000,47992=>1000,47993=>1000,47994=>1000,47995=>1000,47996=>1000,47997=>1000,47998=>1000,47999=>1000,48000=>1000,48001=>1000,48002=>1000,48003=>1000,48004=>1000,48005=>1000,48006=>1000,48007=>1000,48008=>1000,48009=>1000,48010=>1000,48011=>1000,48012=>1000,48013=>1000,48014=>1000,48015=>1000,48016=>1000,48017=>1000,48018=>1000,48019=>1000,48020=>1000,48021=>1000,48022=>1000,48023=>1000,48024=>1000,48025=>1000,48026=>1000,48027=>1000,48028=>1000,48029=>1000,48030=>1000,48031=>1000,48032=>1000,48033=>1000,48034=>1000,48035=>1000,48036=>1000,48037=>1000,48038=>1000,48039=>1000,48040=>1000,48041=>1000,48042=>1000,48043=>1000,48044=>1000,48045=>1000,48046=>1000,48047=>1000,48048=>1000,48049=>1000,48050=>1000,48051=>1000,48052=>1000,48053=>1000,48054=>1000,48055=>1000,48056=>1000,48057=>1000,48058=>1000,48059=>1000,48060=>1000,48061=>1000,48062=>1000,48063=>1000,48064=>1000,48065=>1000,48066=>1000,48067=>1000,48068=>1000,48069=>1000,48070=>1000,48071=>1000,48072=>1000,48073=>1000,48074=>1000,48075=>1000,48076=>1000,48077=>1000,48078=>1000,48079=>1000,48080=>1000,48081=>1000,48082=>1000,48083=>1000,48084=>1000,48085=>1000,48086=>1000,48087=>1000,48088=>1000,48089=>1000,48090=>1000,48091=>1000,48092=>1000,48093=>1000,48094=>1000,48095=>1000,48096=>1000,48097=>1000,48098=>1000,48099=>1000,48100=>1000,48101=>1000,48102=>1000,48103=>1000,48104=>1000,48105=>1000,48106=>1000,48107=>1000,48108=>1000,48109=>1000,48110=>1000,48111=>1000,48112=>1000,48113=>1000,48114=>1000,48115=>1000,48116=>1000,48117=>1000,48118=>1000,48119=>1000,48120=>1000,48121=>1000,48122=>1000,48123=>1000,48124=>1000,48125=>1000,48126=>1000,48127=>1000,48128=>1000,48129=>1000,48130=>1000,48131=>1000,48132=>1000,48133=>1000,48134=>1000,48135=>1000,48136=>1000,48137=>1000,48138=>1000,48139=>1000,48140=>1000,48141=>1000,48142=>1000,48143=>1000,48144=>1000,48145=>1000,48146=>1000,48147=>1000,48148=>1000,48149=>1000,48150=>1000,48151=>1000,48152=>1000,48153=>1000,48154=>1000,48155=>1000,48156=>1000,48157=>1000,48158=>1000,48159=>1000,48160=>1000,48161=>1000,48162=>1000,48163=>1000,48164=>1000,48165=>1000,48166=>1000,48167=>1000,48168=>1000,48169=>1000,48170=>1000,48171=>1000,48172=>1000,48173=>1000,48174=>1000,48175=>1000,48176=>1000,48177=>1000,48178=>1000,48179=>1000,48180=>1000,48181=>1000,48182=>1000,48183=>1000,48184=>1000,48185=>1000,48186=>1000,48187=>1000,48188=>1000,48189=>1000,48190=>1000,48191=>1000,48192=>1000,48193=>1000,48194=>1000,48195=>1000,48196=>1000,48197=>1000,48198=>1000,48199=>1000,48200=>1000,48201=>1000,48202=>1000,48203=>1000,48204=>1000,48205=>1000,48206=>1000,48207=>1000,48208=>1000,48209=>1000,48210=>1000,48211=>1000,48212=>1000,48213=>1000,48214=>1000,48215=>1000,48216=>1000,48217=>1000,48218=>1000,48219=>1000,48220=>1000,48221=>1000,48222=>1000,48223=>1000,48224=>1000,48225=>1000,48226=>1000,48227=>1000,48228=>1000,48229=>1000,48230=>1000,48231=>1000,48232=>1000,48233=>1000,48234=>1000,48235=>1000,48236=>1000,48237=>1000,48238=>1000,48239=>1000,48240=>1000,48241=>1000,48242=>1000,48243=>1000,48244=>1000,48245=>1000,48246=>1000,48247=>1000,48248=>1000,48249=>1000,48250=>1000,48251=>1000,48252=>1000,48253=>1000,48254=>1000,48255=>1000,48256=>1000,48257=>1000,48258=>1000,48259=>1000,48260=>1000,48261=>1000,48262=>1000,48263=>1000,48264=>1000,48265=>1000,48266=>1000,48267=>1000,48268=>1000,48269=>1000,48270=>1000,48271=>1000,48272=>1000,48273=>1000,48274=>1000,48275=>1000,48276=>1000,48277=>1000,48278=>1000,48279=>1000,48280=>1000,48281=>1000,48282=>1000,48283=>1000,48284=>1000,48285=>1000,48286=>1000,48287=>1000,48288=>1000,48289=>1000,48290=>1000,48291=>1000,48292=>1000,48293=>1000,48294=>1000,48295=>1000,48296=>1000,48297=>1000,48298=>1000,48299=>1000,48300=>1000,48301=>1000,48302=>1000,48303=>1000,48304=>1000,48305=>1000,48306=>1000,48307=>1000,48308=>1000,48309=>1000,48310=>1000,48311=>1000,48312=>1000,48313=>1000,48314=>1000,48315=>1000,48316=>1000,48317=>1000,48318=>1000,48319=>1000,48320=>1000,48321=>1000,48322=>1000,48323=>1000,48324=>1000,48325=>1000,48326=>1000,48327=>1000,48328=>1000,48329=>1000,48330=>1000,48331=>1000,48332=>1000,48333=>1000,48334=>1000,48335=>1000,48336=>1000,48337=>1000,48338=>1000,48339=>1000,48340=>1000,48341=>1000,48342=>1000,48343=>1000,48344=>1000,48345=>1000,48346=>1000,48347=>1000,48348=>1000,48349=>1000,48350=>1000,48351=>1000,48352=>1000,48353=>1000,48354=>1000,48355=>1000,48356=>1000,48357=>1000,48358=>1000,48359=>1000,48360=>1000,48361=>1000,48362=>1000,48363=>1000,48364=>1000,48365=>1000,48366=>1000,48367=>1000,48368=>1000,48369=>1000,48370=>1000,48371=>1000,48372=>1000,48373=>1000,48374=>1000,48375=>1000,48376=>1000,48377=>1000,48378=>1000,48379=>1000,48380=>1000,48381=>1000,48382=>1000,48383=>1000,48384=>1000,48385=>1000,48386=>1000,48387=>1000,48388=>1000,48389=>1000,48390=>1000,48391=>1000,48392=>1000,48393=>1000,48394=>1000,48395=>1000,48396=>1000,48397=>1000,48398=>1000,48399=>1000,48400=>1000,48401=>1000,48402=>1000,48403=>1000,48404=>1000,48405=>1000,48406=>1000,48407=>1000,48408=>1000,48409=>1000,48410=>1000,48411=>1000,48412=>1000,48413=>1000,48414=>1000,48415=>1000,48416=>1000,48417=>1000,48418=>1000,48419=>1000,48420=>1000,48421=>1000,48422=>1000,48423=>1000,48424=>1000,48425=>1000,48426=>1000,48427=>1000,48428=>1000,48429=>1000,48430=>1000,48431=>1000,48432=>1000,48433=>1000,48434=>1000,48435=>1000,48436=>1000,48437=>1000,48438=>1000,48439=>1000,48440=>1000,48441=>1000,48442=>1000,48443=>1000,48444=>1000,48445=>1000,48446=>1000,48447=>1000,48448=>1000,48449=>1000,48450=>1000,48451=>1000,48452=>1000,48453=>1000,48454=>1000,48455=>1000,48456=>1000,48457=>1000,48458=>1000,48459=>1000,48460=>1000,48461=>1000,48462=>1000,48463=>1000,48464=>1000,48465=>1000,48466=>1000,48467=>1000,48468=>1000,48469=>1000,48470=>1000,48471=>1000,48472=>1000,48473=>1000,48474=>1000,48475=>1000,48476=>1000,48477=>1000,48478=>1000,48479=>1000,48480=>1000,48481=>1000,48482=>1000,48483=>1000,48484=>1000,48485=>1000,48486=>1000,48487=>1000,48488=>1000,48489=>1000,48490=>1000,48491=>1000,48492=>1000,48493=>1000,48494=>1000,48495=>1000,48496=>1000,48497=>1000,48498=>1000,48499=>1000,48500=>1000,48501=>1000,48502=>1000,48503=>1000,48504=>1000,48505=>1000,48506=>1000,48507=>1000,48508=>1000,48509=>1000,48510=>1000,48511=>1000,48512=>1000,48513=>1000,48514=>1000,48515=>1000,48516=>1000,48517=>1000,48518=>1000,48519=>1000,48520=>1000,48521=>1000,48522=>1000,48523=>1000,48524=>1000,48525=>1000,48526=>1000,48527=>1000,48528=>1000,48529=>1000,48530=>1000,48531=>1000,48532=>1000,48533=>1000,48534=>1000,48535=>1000,48536=>1000,48537=>1000,48538=>1000,48539=>1000,48540=>1000,48541=>1000,48542=>1000,48543=>1000,48544=>1000,48545=>1000,48546=>1000,48547=>1000,48548=>1000,48549=>1000,48550=>1000,48551=>1000,48552=>1000,48553=>1000,48554=>1000,48555=>1000,48556=>1000,48557=>1000,48558=>1000,48559=>1000,48560=>1000,48561=>1000,48562=>1000,48563=>1000,48564=>1000,48565=>1000,48566=>1000,48567=>1000,48568=>1000,48569=>1000,48570=>1000,48571=>1000,48572=>1000,48573=>1000,48574=>1000,48575=>1000,48576=>1000,48577=>1000,48578=>1000,48579=>1000,48580=>1000,48581=>1000,48582=>1000,48583=>1000,48584=>1000,48585=>1000,48586=>1000,48587=>1000,48588=>1000,48589=>1000,48590=>1000,48591=>1000,48592=>1000,48593=>1000,48594=>1000,48595=>1000,48596=>1000,48597=>1000,48598=>1000,48599=>1000,48600=>1000,48601=>1000,48602=>1000,48603=>1000,48604=>1000,48605=>1000,48606=>1000,48607=>1000,48608=>1000,48609=>1000,48610=>1000,48611=>1000,48612=>1000,48613=>1000,48614=>1000,48615=>1000,48616=>1000,48617=>1000,48618=>1000,48619=>1000,48620=>1000,48621=>1000,48622=>1000,48623=>1000,48624=>1000,48625=>1000,48626=>1000,48627=>1000,48628=>1000,48629=>1000,48630=>1000,48631=>1000,48632=>1000,48633=>1000,48634=>1000,48635=>1000,48636=>1000,48637=>1000,48638=>1000,48639=>1000,48640=>1000,48641=>1000,48642=>1000,48643=>1000,48644=>1000,48645=>1000,48646=>1000,48647=>1000,48648=>1000,48649=>1000,48650=>1000,48651=>1000,48652=>1000,48653=>1000,48654=>1000,48655=>1000,48656=>1000,48657=>1000,48658=>1000,48659=>1000,48660=>1000,48661=>1000,48662=>1000,48663=>1000,48664=>1000,48665=>1000,48666=>1000,48667=>1000,48668=>1000,48669=>1000,48670=>1000,48671=>1000,48672=>1000,48673=>1000,48674=>1000,48675=>1000,48676=>1000,48677=>1000,48678=>1000,48679=>1000,48680=>1000,48681=>1000,48682=>1000,48683=>1000,48684=>1000,48685=>1000,48686=>1000,48687=>1000,48688=>1000,48689=>1000,48690=>1000,48691=>1000,48692=>1000,48693=>1000,48694=>1000,48695=>1000,48696=>1000,48697=>1000,48698=>1000,48699=>1000,48700=>1000,48701=>1000,48702=>1000,48703=>1000,48704=>1000,48705=>1000,48706=>1000,48707=>1000,48708=>1000,48709=>1000,48710=>1000,48711=>1000,48712=>1000,48713=>1000,48714=>1000,48715=>1000,48716=>1000,48717=>1000,48718=>1000,48719=>1000,48720=>1000,48721=>1000,48722=>1000,48723=>1000,48724=>1000,48725=>1000,48726=>1000,48727=>1000,48728=>1000,48729=>1000,48730=>1000,48731=>1000,48732=>1000,48733=>1000,48734=>1000,48735=>1000,48736=>1000,48737=>1000,48738=>1000,48739=>1000,48740=>1000,48741=>1000,48742=>1000,48743=>1000,48744=>1000,48745=>1000,48746=>1000,48747=>1000,48748=>1000,48749=>1000,48750=>1000,48751=>1000,48752=>1000,48753=>1000,48754=>1000,48755=>1000,48756=>1000,48757=>1000,48758=>1000,48759=>1000,48760=>1000,48761=>1000,48762=>1000,48763=>1000,48764=>1000,48765=>1000,48766=>1000,48767=>1000,48768=>1000,48769=>1000,48770=>1000,48771=>1000,48772=>1000,48773=>1000,48774=>1000,48775=>1000,48776=>1000,48777=>1000,48778=>1000,48779=>1000,48780=>1000,48781=>1000,48782=>1000,48783=>1000,48784=>1000,48785=>1000,48786=>1000,48787=>1000,48788=>1000,48789=>1000,48790=>1000,48791=>1000,48792=>1000,48793=>1000,48794=>1000,48795=>1000,48796=>1000,48797=>1000,48798=>1000,48799=>1000,48800=>1000,48801=>1000,48802=>1000,48803=>1000,48804=>1000,48805=>1000,48806=>1000,48807=>1000,48808=>1000,48809=>1000,48810=>1000,48811=>1000,48812=>1000,48813=>1000,48814=>1000,48815=>1000,48816=>1000,48817=>1000,48818=>1000,48819=>1000,48820=>1000,48821=>1000,48822=>1000,48823=>1000,48824=>1000,48825=>1000,48826=>1000,48827=>1000,48828=>1000,48829=>1000,48830=>1000,48831=>1000,48832=>1000,48833=>1000,48834=>1000,48835=>1000,48836=>1000,48837=>1000,48838=>1000,48839=>1000,48840=>1000,48841=>1000,48842=>1000,48843=>1000,48844=>1000,48845=>1000,48846=>1000,48847=>1000,48848=>1000,48849=>1000,48850=>1000,48851=>1000,48852=>1000,48853=>1000,48854=>1000,48855=>1000,48856=>1000,48857=>1000,48858=>1000,48859=>1000,48860=>1000,48861=>1000,48862=>1000,48863=>1000,48864=>1000,48865=>1000,48866=>1000,48867=>1000,48868=>1000,48869=>1000,48870=>1000,48871=>1000,48872=>1000,48873=>1000,48874=>1000,48875=>1000,48876=>1000,48877=>1000,48878=>1000,48879=>1000,48880=>1000,48881=>1000,48882=>1000,48883=>1000,48884=>1000,48885=>1000,48886=>1000,48887=>1000,48888=>1000,48889=>1000,48890=>1000,48891=>1000,48892=>1000,48893=>1000,48894=>1000,48895=>1000,48896=>1000,48897=>1000,48898=>1000,48899=>1000,48900=>1000,48901=>1000,48902=>1000,48903=>1000,48904=>1000,48905=>1000,48906=>1000,48907=>1000,48908=>1000,48909=>1000,48910=>1000,48911=>1000,48912=>1000,48913=>1000,48914=>1000,48915=>1000,48916=>1000,48917=>1000,48918=>1000,48919=>1000,48920=>1000,48921=>1000,48922=>1000,48923=>1000,48924=>1000,48925=>1000,48926=>1000,48927=>1000,48928=>1000,48929=>1000,48930=>1000,48931=>1000,48932=>1000,48933=>1000,48934=>1000,48935=>1000,48936=>1000,48937=>1000,48938=>1000,48939=>1000,48940=>1000,48941=>1000,48942=>1000,48943=>1000,48944=>1000,48945=>1000,48946=>1000,48947=>1000,48948=>1000,48949=>1000,48950=>1000,48951=>1000,48952=>1000,48953=>1000,48954=>1000,48955=>1000,48956=>1000,48957=>1000,48958=>1000,48959=>1000,48960=>1000,48961=>1000,48962=>1000,48963=>1000,48964=>1000,48965=>1000,48966=>1000,48967=>1000,48968=>1000,48969=>1000,48970=>1000,48971=>1000,48972=>1000,48973=>1000,48974=>1000,48975=>1000,48976=>1000,48977=>1000,48978=>1000,48979=>1000,48980=>1000,48981=>1000,48982=>1000,48983=>1000,48984=>1000,48985=>1000,48986=>1000,48987=>1000,48988=>1000,48989=>1000,48990=>1000,48991=>1000,48992=>1000,48993=>1000,48994=>1000,48995=>1000,48996=>1000,48997=>1000,48998=>1000,48999=>1000,49000=>1000,49001=>1000,49002=>1000,49003=>1000,49004=>1000,49005=>1000,49006=>1000,49007=>1000,49008=>1000,49009=>1000,49010=>1000,49011=>1000,49012=>1000,49013=>1000,49014=>1000,49015=>1000,49016=>1000,49017=>1000,49018=>1000,49019=>1000,49020=>1000,49021=>1000,49022=>1000,49023=>1000,49024=>1000,49025=>1000,49026=>1000,49027=>1000,49028=>1000,49029=>1000,49030=>1000,49031=>1000,49032=>1000,49033=>1000,49034=>1000,49035=>1000,49036=>1000,49037=>1000,49038=>1000,49039=>1000,49040=>1000,49041=>1000,49042=>1000,49043=>1000,49044=>1000,49045=>1000,49046=>1000,49047=>1000,49048=>1000,49049=>1000,49050=>1000,49051=>1000,49052=>1000,49053=>1000,49054=>1000,49055=>1000,49056=>1000,49057=>1000,49058=>1000,49059=>1000,49060=>1000,49061=>1000,49062=>1000,49063=>1000,49064=>1000,49065=>1000,49066=>1000,49067=>1000,49068=>1000,49069=>1000,49070=>1000,49071=>1000,49072=>1000,49073=>1000,49074=>1000,49075=>1000,49076=>1000,49077=>1000,49078=>1000,49079=>1000,49080=>1000,49081=>1000,49082=>1000,49083=>1000,49084=>1000,49085=>1000,49086=>1000,49087=>1000,49088=>1000,49089=>1000,49090=>1000,49091=>1000,49092=>1000,49093=>1000,49094=>1000,49095=>1000,49096=>1000,49097=>1000,49098=>1000,49099=>1000,49100=>1000,49101=>1000,49102=>1000,49103=>1000,49104=>1000,49105=>1000,49106=>1000,49107=>1000,49108=>1000,49109=>1000,49110=>1000,49111=>1000,49112=>1000,49113=>1000,49114=>1000,49115=>1000,49116=>1000,49117=>1000,49118=>1000,49119=>1000,49120=>1000,49121=>1000,49122=>1000,49123=>1000,49124=>1000,49125=>1000,49126=>1000,49127=>1000,49128=>1000,49129=>1000,49130=>1000,49131=>1000,49132=>1000,49133=>1000,49134=>1000,49135=>1000,49136=>1000,49137=>1000,49138=>1000,49139=>1000,49140=>1000,49141=>1000,49142=>1000,49143=>1000,49144=>1000,49145=>1000,49146=>1000,49147=>1000,49148=>1000,49149=>1000,49150=>1000,49151=>1000,49152=>1000,49153=>1000,49154=>1000,49155=>1000,49156=>1000,49157=>1000,49158=>1000,49159=>1000,49160=>1000,49161=>1000,49162=>1000,49163=>1000,49164=>1000,49165=>1000,49166=>1000,49167=>1000,49168=>1000,49169=>1000,49170=>1000,49171=>1000,49172=>1000,49173=>1000,49174=>1000,49175=>1000,49176=>1000,49177=>1000,49178=>1000,49179=>1000,49180=>1000,49181=>1000,49182=>1000,49183=>1000,49184=>1000,49185=>1000,49186=>1000,49187=>1000,49188=>1000,49189=>1000,49190=>1000,49191=>1000,49192=>1000,49193=>1000,49194=>1000,49195=>1000,49196=>1000,49197=>1000,49198=>1000,49199=>1000,49200=>1000,49201=>1000,49202=>1000,49203=>1000,49204=>1000,49205=>1000,49206=>1000,49207=>1000,49208=>1000,49209=>1000,49210=>1000,49211=>1000,49212=>1000,49213=>1000,49214=>1000,49215=>1000,49216=>1000,49217=>1000,49218=>1000,49219=>1000,49220=>1000,49221=>1000,49222=>1000,49223=>1000,49224=>1000,49225=>1000,49226=>1000,49227=>1000,49228=>1000,49229=>1000,49230=>1000,49231=>1000,49232=>1000,49233=>1000,49234=>1000,49235=>1000,49236=>1000,49237=>1000,49238=>1000,49239=>1000,49240=>1000,49241=>1000,49242=>1000,49243=>1000,49244=>1000,49245=>1000,49246=>1000,49247=>1000,49248=>1000,49249=>1000,49250=>1000,49251=>1000,49252=>1000,49253=>1000,49254=>1000,49255=>1000,49256=>1000,49257=>1000,49258=>1000,49259=>1000,49260=>1000,49261=>1000,49262=>1000,49263=>1000,49264=>1000,49265=>1000,49266=>1000,49267=>1000,49268=>1000,49269=>1000,49270=>1000,49271=>1000,49272=>1000,49273=>1000,49274=>1000,49275=>1000,49276=>1000,49277=>1000,49278=>1000,49279=>1000,49280=>1000,49281=>1000,49282=>1000,49283=>1000,49284=>1000,49285=>1000,49286=>1000,49287=>1000,49288=>1000,49289=>1000,49290=>1000,49291=>1000,49292=>1000,49293=>1000,49294=>1000,49295=>1000,49296=>1000,49297=>1000,49298=>1000,49299=>1000,49300=>1000,49301=>1000,49302=>1000,49303=>1000,49304=>1000,49305=>1000,49306=>1000,49307=>1000,49308=>1000,49309=>1000,49310=>1000,49311=>1000,49312=>1000,49313=>1000,49314=>1000,49315=>1000,49316=>1000,49317=>1000,49318=>1000,49319=>1000,49320=>1000,49321=>1000,49322=>1000,49323=>1000,49324=>1000,49325=>1000,49326=>1000,49327=>1000,49328=>1000,49329=>1000,49330=>1000,49331=>1000,49332=>1000,49333=>1000,49334=>1000,49335=>1000,49336=>1000,49337=>1000,49338=>1000,49339=>1000,49340=>1000,49341=>1000,49342=>1000,49343=>1000,49344=>1000,49345=>1000,49346=>1000,49347=>1000,49348=>1000,49349=>1000,49350=>1000,49351=>1000,49352=>1000,49353=>1000,49354=>1000,49355=>1000,49356=>1000,49357=>1000,49358=>1000,49359=>1000,49360=>1000,49361=>1000,49362=>1000,49363=>1000,49364=>1000,49365=>1000,49366=>1000,49367=>1000,49368=>1000,49369=>1000,49370=>1000,49371=>1000,49372=>1000,49373=>1000,49374=>1000,49375=>1000,49376=>1000,49377=>1000,49378=>1000,49379=>1000,49380=>1000,49381=>1000,49382=>1000,49383=>1000,49384=>1000,49385=>1000,49386=>1000,49387=>1000,49388=>1000,49389=>1000,49390=>1000,49391=>1000,49392=>1000,49393=>1000,49394=>1000,49395=>1000,49396=>1000,49397=>1000,49398=>1000,49399=>1000,49400=>1000,49401=>1000,49402=>1000,49403=>1000,49404=>1000,49405=>1000,49406=>1000,49407=>1000,49408=>1000,49409=>1000,49410=>1000,49411=>1000,49412=>1000,49413=>1000,49414=>1000,49415=>1000,49416=>1000,49417=>1000,49418=>1000,49419=>1000,49420=>1000,49421=>1000,49422=>1000,49423=>1000,49424=>1000,49425=>1000,49426=>1000,49427=>1000,49428=>1000,49429=>1000,49430=>1000,49431=>1000,49432=>1000,49433=>1000,49434=>1000,49435=>1000,49436=>1000,49437=>1000,49438=>1000,49439=>1000,49440=>1000,49441=>1000,49442=>1000,49443=>1000,49444=>1000,49445=>1000,49446=>1000,49447=>1000,49448=>1000,49449=>1000,49450=>1000,49451=>1000,49452=>1000,49453=>1000,49454=>1000,49455=>1000,49456=>1000,49457=>1000,49458=>1000,49459=>1000,49460=>1000,49461=>1000,49462=>1000,49463=>1000,49464=>1000,49465=>1000,49466=>1000,49467=>1000,49468=>1000,49469=>1000,49470=>1000,49471=>1000,49472=>1000,49473=>1000,49474=>1000,49475=>1000,49476=>1000,49477=>1000,49478=>1000,49479=>1000,49480=>1000,49481=>1000,49482=>1000,49483=>1000,49484=>1000,49485=>1000,49486=>1000,49487=>1000,49488=>1000,49489=>1000,49490=>1000,49491=>1000,49492=>1000,49493=>1000,49494=>1000,49495=>1000,49496=>1000,49497=>1000,49498=>1000,49499=>1000,49500=>1000,49501=>1000,49502=>1000,49503=>1000,49504=>1000,49505=>1000,49506=>1000,49507=>1000,49508=>1000,49509=>1000,49510=>1000,49511=>1000,49512=>1000,49513=>1000,49514=>1000,49515=>1000,49516=>1000,49517=>1000,49518=>1000,49519=>1000,49520=>1000,49521=>1000,49522=>1000,49523=>1000,49524=>1000,49525=>1000,49526=>1000,49527=>1000,49528=>1000,49529=>1000,49530=>1000,49531=>1000,49532=>1000,49533=>1000,49534=>1000,49535=>1000,49536=>1000,49537=>1000,49538=>1000,49539=>1000,49540=>1000,49541=>1000,49542=>1000,49543=>1000,49544=>1000,49545=>1000,49546=>1000,49547=>1000,49548=>1000,49549=>1000,49550=>1000,49551=>1000,49552=>1000,49553=>1000,49554=>1000,49555=>1000,49556=>1000,49557=>1000,49558=>1000,49559=>1000,49560=>1000,49561=>1000,49562=>1000,49563=>1000,49564=>1000,49565=>1000,49566=>1000,49567=>1000,49568=>1000,49569=>1000,49570=>1000,49571=>1000,49572=>1000,49573=>1000,49574=>1000,49575=>1000,49576=>1000,49577=>1000,49578=>1000,49579=>1000,49580=>1000,49581=>1000,49582=>1000,49583=>1000,49584=>1000,49585=>1000,49586=>1000,49587=>1000,49588=>1000,49589=>1000,49590=>1000,49591=>1000,49592=>1000,49593=>1000,49594=>1000,49595=>1000,49596=>1000,49597=>1000,49598=>1000,49599=>1000,49600=>1000,49601=>1000,49602=>1000,49603=>1000,49604=>1000,49605=>1000,49606=>1000,49607=>1000,49608=>1000,49609=>1000,49610=>1000,49611=>1000,49612=>1000,49613=>1000,49614=>1000,49615=>1000,49616=>1000,49617=>1000,49618=>1000,49619=>1000,49620=>1000,49621=>1000,49622=>1000,49623=>1000,49624=>1000,49625=>1000,49626=>1000,49627=>1000,49628=>1000,49629=>1000,49630=>1000,49631=>1000,49632=>1000,49633=>1000,49634=>1000,49635=>1000,49636=>1000,49637=>1000,49638=>1000,49639=>1000,49640=>1000,49641=>1000,49642=>1000,49643=>1000,49644=>1000,49645=>1000,49646=>1000,49647=>1000,49648=>1000,49649=>1000,49650=>1000,49651=>1000,49652=>1000,49653=>1000,49654=>1000,49655=>1000,49656=>1000,49657=>1000,49658=>1000,49659=>1000,49660=>1000,49661=>1000,49662=>1000,49663=>1000,49664=>1000,49665=>1000,49666=>1000,49667=>1000,49668=>1000,49669=>1000,49670=>1000,49671=>1000,49672=>1000,49673=>1000,49674=>1000,49675=>1000,49676=>1000,49677=>1000,49678=>1000,49679=>1000,49680=>1000,49681=>1000,49682=>1000,49683=>1000,49684=>1000,49685=>1000,49686=>1000,49687=>1000,49688=>1000,49689=>1000,49690=>1000,49691=>1000,49692=>1000,49693=>1000,49694=>1000,49695=>1000,49696=>1000,49697=>1000,49698=>1000,49699=>1000,49700=>1000,49701=>1000,49702=>1000,49703=>1000,49704=>1000,49705=>1000,49706=>1000,49707=>1000,49708=>1000,49709=>1000,49710=>1000,49711=>1000,49712=>1000,49713=>1000,49714=>1000,49715=>1000,49716=>1000,49717=>1000,49718=>1000,49719=>1000,49720=>1000,49721=>1000,49722=>1000,49723=>1000,49724=>1000,49725=>1000,49726=>1000,49727=>1000,49728=>1000,49729=>1000,49730=>1000,49731=>1000,49732=>1000,49733=>1000,49734=>1000,49735=>1000,49736=>1000,49737=>1000,49738=>1000,49739=>1000,49740=>1000,49741=>1000,49742=>1000,49743=>1000,49744=>1000,49745=>1000,49746=>1000,49747=>1000,49748=>1000,49749=>1000,49750=>1000,49751=>1000,49752=>1000,49753=>1000,49754=>1000,49755=>1000,49756=>1000,49757=>1000,49758=>1000,49759=>1000,49760=>1000,49761=>1000,49762=>1000,49763=>1000,49764=>1000,49765=>1000,49766=>1000,49767=>1000,49768=>1000,49769=>1000,49770=>1000,49771=>1000,49772=>1000,49773=>1000,49774=>1000,49775=>1000,49776=>1000,49777=>1000,49778=>1000,49779=>1000,49780=>1000,49781=>1000,49782=>1000,49783=>1000,49784=>1000,49785=>1000,49786=>1000,49787=>1000,49788=>1000,49789=>1000,49790=>1000,49791=>1000,49792=>1000,49793=>1000,49794=>1000,49795=>1000,49796=>1000,49797=>1000,49798=>1000,49799=>1000,49800=>1000,49801=>1000,49802=>1000,49803=>1000,49804=>1000,49805=>1000,49806=>1000,49807=>1000,49808=>1000,49809=>1000,49810=>1000,49811=>1000,49812=>1000,49813=>1000,49814=>1000,49815=>1000,49816=>1000,49817=>1000,49818=>1000,49819=>1000,49820=>1000,49821=>1000,49822=>1000,49823=>1000,49824=>1000,49825=>1000,49826=>1000,49827=>1000,49828=>1000,49829=>1000,49830=>1000,49831=>1000,49832=>1000,49833=>1000,49834=>1000,49835=>1000,49836=>1000,49837=>1000,49838=>1000,49839=>1000,49840=>1000,49841=>1000,49842=>1000,49843=>1000,49844=>1000,49845=>1000,49846=>1000,49847=>1000,49848=>1000,49849=>1000,49850=>1000,49851=>1000,49852=>1000,49853=>1000,49854=>1000,49855=>1000,49856=>1000,49857=>1000,49858=>1000,49859=>1000,49860=>1000,49861=>1000,49862=>1000,49863=>1000,49864=>1000,49865=>1000,49866=>1000,49867=>1000,49868=>1000,49869=>1000,49870=>1000,49871=>1000,49872=>1000,49873=>1000,49874=>1000,49875=>1000,49876=>1000,49877=>1000,49878=>1000,49879=>1000,49880=>1000,49881=>1000,49882=>1000,49883=>1000,49884=>1000,49885=>1000,49886=>1000,49887=>1000,49888=>1000,49889=>1000,49890=>1000,49891=>1000,49892=>1000,49893=>1000,49894=>1000,49895=>1000,49896=>1000,49897=>1000,49898=>1000,49899=>1000,49900=>1000,49901=>1000,49902=>1000,49903=>1000,49904=>1000,49905=>1000,49906=>1000,49907=>1000,49908=>1000,49909=>1000,49910=>1000,49911=>1000,49912=>1000,49913=>1000,49914=>1000,49915=>1000,49916=>1000,49917=>1000,49918=>1000,49919=>1000,49920=>1000,49921=>1000,49922=>1000,49923=>1000,49924=>1000,49925=>1000,49926=>1000,49927=>1000,49928=>1000,49929=>1000,49930=>1000,49931=>1000,49932=>1000,49933=>1000,49934=>1000,49935=>1000,49936=>1000,49937=>1000,49938=>1000,49939=>1000,49940=>1000,49941=>1000,49942=>1000,49943=>1000,49944=>1000,49945=>1000,49946=>1000,49947=>1000,49948=>1000,49949=>1000,49950=>1000,49951=>1000,49952=>1000,49953=>1000,49954=>1000,49955=>1000,49956=>1000,49957=>1000,49958=>1000,49959=>1000,49960=>1000,49961=>1000,49962=>1000,49963=>1000,49964=>1000,49965=>1000,49966=>1000,49967=>1000,49968=>1000,49969=>1000,49970=>1000,49971=>1000,49972=>1000,49973=>1000,49974=>1000,49975=>1000,49976=>1000,49977=>1000,49978=>1000,49979=>1000,49980=>1000,49981=>1000,49982=>1000,49983=>1000,49984=>1000,49985=>1000,49986=>1000,49987=>1000,49988=>1000,49989=>1000,49990=>1000,49991=>1000,49992=>1000,49993=>1000,49994=>1000,49995=>1000,49996=>1000,49997=>1000,49998=>1000,49999=>1000,50000=>1000,50001=>1000,50002=>1000,50003=>1000,50004=>1000,50005=>1000,50006=>1000,50007=>1000,50008=>1000,50009=>1000,50010=>1000,50011=>1000,50012=>1000,50013=>1000,50014=>1000,50015=>1000,50016=>1000,50017=>1000,50018=>1000,50019=>1000,50020=>1000,50021=>1000,50022=>1000,50023=>1000,50024=>1000,50025=>1000,50026=>1000,50027=>1000,50028=>1000,50029=>1000,50030=>1000,50031=>1000,50032=>1000,50033=>1000,50034=>1000,50035=>1000,50036=>1000,50037=>1000,50038=>1000,50039=>1000,50040=>1000,50041=>1000,50042=>1000,50043=>1000,50044=>1000,50045=>1000,50046=>1000,50047=>1000,50048=>1000,50049=>1000,50050=>1000,50051=>1000,50052=>1000,50053=>1000,50054=>1000,50055=>1000,50056=>1000,50057=>1000,50058=>1000,50059=>1000,50060=>1000,50061=>1000,50062=>1000,50063=>1000,50064=>1000,50065=>1000,50066=>1000,50067=>1000,50068=>1000,50069=>1000,50070=>1000,50071=>1000,50072=>1000,50073=>1000,50074=>1000,50075=>1000,50076=>1000,50077=>1000,50078=>1000,50079=>1000,50080=>1000,50081=>1000,50082=>1000,50083=>1000,50084=>1000,50085=>1000,50086=>1000,50087=>1000,50088=>1000,50089=>1000,50090=>1000,50091=>1000,50092=>1000,50093=>1000,50094=>1000,50095=>1000,50096=>1000,50097=>1000,50098=>1000,50099=>1000,50100=>1000,50101=>1000,50102=>1000,50103=>1000,50104=>1000,50105=>1000,50106=>1000,50107=>1000,50108=>1000,50109=>1000,50110=>1000,50111=>1000,50112=>1000,50113=>1000,50114=>1000,50115=>1000,50116=>1000,50117=>1000,50118=>1000,50119=>1000,50120=>1000,50121=>1000,50122=>1000,50123=>1000,50124=>1000,50125=>1000,50126=>1000,50127=>1000,50128=>1000,50129=>1000,50130=>1000,50131=>1000,50132=>1000,50133=>1000,50134=>1000,50135=>1000,50136=>1000,50137=>1000,50138=>1000,50139=>1000,50140=>1000,50141=>1000,50142=>1000,50143=>1000,50144=>1000,50145=>1000,50146=>1000,50147=>1000,50148=>1000,50149=>1000,50150=>1000,50151=>1000,50152=>1000,50153=>1000,50154=>1000,50155=>1000,50156=>1000,50157=>1000,50158=>1000,50159=>1000,50160=>1000,50161=>1000,50162=>1000,50163=>1000,50164=>1000,50165=>1000,50166=>1000,50167=>1000,50168=>1000,50169=>1000,50170=>1000,50171=>1000,50172=>1000,50173=>1000,50174=>1000,50175=>1000,50176=>1000,50177=>1000,50178=>1000,50179=>1000,50180=>1000,50181=>1000,50182=>1000,50183=>1000,50184=>1000,50185=>1000,50186=>1000,50187=>1000,50188=>1000,50189=>1000,50190=>1000,50191=>1000,50192=>1000,50193=>1000,50194=>1000,50195=>1000,50196=>1000,50197=>1000,50198=>1000,50199=>1000,50200=>1000,50201=>1000,50202=>1000,50203=>1000,50204=>1000,50205=>1000,50206=>1000,50207=>1000,50208=>1000,50209=>1000,50210=>1000,50211=>1000,50212=>1000,50213=>1000,50214=>1000,50215=>1000,50216=>1000,50217=>1000,50218=>1000,50219=>1000,50220=>1000,50221=>1000,50222=>1000,50223=>1000,50224=>1000,50225=>1000,50226=>1000,50227=>1000,50228=>1000,50229=>1000,50230=>1000,50231=>1000,50232=>1000,50233=>1000,50234=>1000,50235=>1000,50236=>1000,50237=>1000,50238=>1000,50239=>1000,50240=>1000,50241=>1000,50242=>1000,50243=>1000,50244=>1000,50245=>1000,50246=>1000,50247=>1000,50248=>1000,50249=>1000,50250=>1000,50251=>1000,50252=>1000,50253=>1000,50254=>1000,50255=>1000,50256=>1000,50257=>1000,50258=>1000,50259=>1000,50260=>1000,50261=>1000,50262=>1000,50263=>1000,50264=>1000,50265=>1000,50266=>1000,50267=>1000,50268=>1000,50269=>1000,50270=>1000,50271=>1000,50272=>1000,50273=>1000,50274=>1000,50275=>1000,50276=>1000,50277=>1000,50278=>1000,50279=>1000,50280=>1000,50281=>1000,50282=>1000,50283=>1000,50284=>1000,50285=>1000,50286=>1000,50287=>1000,50288=>1000,50289=>1000,50290=>1000,50291=>1000,50292=>1000,50293=>1000,50294=>1000,50295=>1000,50296=>1000,50297=>1000,50298=>1000,50299=>1000,50300=>1000,50301=>1000,50302=>1000,50303=>1000,50304=>1000,50305=>1000,50306=>1000,50307=>1000,50308=>1000,50309=>1000,50310=>1000,50311=>1000,50312=>1000,50313=>1000,50314=>1000,50315=>1000,50316=>1000,50317=>1000,50318=>1000,50319=>1000,50320=>1000,50321=>1000,50322=>1000,50323=>1000,50324=>1000,50325=>1000,50326=>1000,50327=>1000,50328=>1000,50329=>1000,50330=>1000,50331=>1000,50332=>1000,50333=>1000,50334=>1000,50335=>1000,50336=>1000,50337=>1000,50338=>1000,50339=>1000,50340=>1000,50341=>1000,50342=>1000,50343=>1000,50344=>1000,50345=>1000,50346=>1000,50347=>1000,50348=>1000,50349=>1000,50350=>1000,50351=>1000,50352=>1000,50353=>1000,50354=>1000,50355=>1000,50356=>1000,50357=>1000,50358=>1000,50359=>1000,50360=>1000,50361=>1000,50362=>1000,50363=>1000,50364=>1000,50365=>1000,50366=>1000,50367=>1000,50368=>1000,50369=>1000,50370=>1000,50371=>1000,50372=>1000,50373=>1000,50374=>1000,50375=>1000,50376=>1000,50377=>1000,50378=>1000,50379=>1000,50380=>1000,50381=>1000,50382=>1000,50383=>1000,50384=>1000,50385=>1000,50386=>1000,50387=>1000,50388=>1000,50389=>1000,50390=>1000,50391=>1000,50392=>1000,50393=>1000,50394=>1000,50395=>1000,50396=>1000,50397=>1000,50398=>1000,50399=>1000,50400=>1000,50401=>1000,50402=>1000,50403=>1000,50404=>1000,50405=>1000,50406=>1000,50407=>1000,50408=>1000,50409=>1000,50410=>1000,50411=>1000,50412=>1000,50413=>1000,50414=>1000,50415=>1000,50416=>1000,50417=>1000,50418=>1000,50419=>1000,50420=>1000,50421=>1000,50422=>1000,50423=>1000,50424=>1000,50425=>1000,50426=>1000,50427=>1000,50428=>1000,50429=>1000,50430=>1000,50431=>1000,50432=>1000,50433=>1000,50434=>1000,50435=>1000,50436=>1000,50437=>1000,50438=>1000,50439=>1000,50440=>1000,50441=>1000,50442=>1000,50443=>1000,50444=>1000,50445=>1000,50446=>1000,50447=>1000,50448=>1000,50449=>1000,50450=>1000,50451=>1000,50452=>1000,50453=>1000,50454=>1000,50455=>1000,50456=>1000,50457=>1000,50458=>1000,50459=>1000,50460=>1000,50461=>1000,50462=>1000,50463=>1000,50464=>1000,50465=>1000,50466=>1000,50467=>1000,50468=>1000,50469=>1000,50470=>1000,50471=>1000,50472=>1000,50473=>1000,50474=>1000,50475=>1000,50476=>1000,50477=>1000,50478=>1000,50479=>1000,50480=>1000,50481=>1000,50482=>1000,50483=>1000,50484=>1000,50485=>1000,50486=>1000,50487=>1000,50488=>1000,50489=>1000,50490=>1000,50491=>1000,50492=>1000,50493=>1000,50494=>1000,50495=>1000,50496=>1000,50497=>1000,50498=>1000,50499=>1000,50500=>1000,50501=>1000,50502=>1000,50503=>1000,50504=>1000,50505=>1000,50506=>1000,50507=>1000,50508=>1000,50509=>1000,50510=>1000,50511=>1000,50512=>1000,50513=>1000,50514=>1000,50515=>1000,50516=>1000,50517=>1000,50518=>1000,50519=>1000,50520=>1000,50521=>1000,50522=>1000,50523=>1000,50524=>1000,50525=>1000,50526=>1000,50527=>1000,50528=>1000,50529=>1000,50530=>1000,50531=>1000,50532=>1000,50533=>1000,50534=>1000,50535=>1000,50536=>1000,50537=>1000,50538=>1000,50539=>1000,50540=>1000,50541=>1000,50542=>1000,50543=>1000,50544=>1000,50545=>1000,50546=>1000,50547=>1000,50548=>1000,50549=>1000,50550=>1000,50551=>1000,50552=>1000,50553=>1000,50554=>1000,50555=>1000,50556=>1000,50557=>1000,50558=>1000,50559=>1000,50560=>1000,50561=>1000,50562=>1000,50563=>1000,50564=>1000,50565=>1000,50566=>1000,50567=>1000,50568=>1000,50569=>1000,50570=>1000,50571=>1000,50572=>1000,50573=>1000,50574=>1000,50575=>1000,50576=>1000,50577=>1000,50578=>1000,50579=>1000,50580=>1000,50581=>1000,50582=>1000,50583=>1000,50584=>1000,50585=>1000,50586=>1000,50587=>1000,50588=>1000,50589=>1000,50590=>1000,50591=>1000,50592=>1000,50593=>1000,50594=>1000,50595=>1000,50596=>1000,50597=>1000,50598=>1000,50599=>1000,50600=>1000,50601=>1000,50602=>1000,50603=>1000,50604=>1000,50605=>1000,50606=>1000,50607=>1000,50608=>1000,50609=>1000,50610=>1000,50611=>1000,50612=>1000,50613=>1000,50614=>1000,50615=>1000,50616=>1000,50617=>1000,50618=>1000,50619=>1000,50620=>1000,50621=>1000,50622=>1000,50623=>1000,50624=>1000,50625=>1000,50626=>1000,50627=>1000,50628=>1000,50629=>1000,50630=>1000,50631=>1000,50632=>1000,50633=>1000,50634=>1000,50635=>1000,50636=>1000,50637=>1000,50638=>1000,50639=>1000,50640=>1000,50641=>1000,50642=>1000,50643=>1000,50644=>1000,50645=>1000,50646=>1000,50647=>1000,50648=>1000,50649=>1000,50650=>1000,50651=>1000,50652=>1000,50653=>1000,50654=>1000,50655=>1000,50656=>1000,50657=>1000,50658=>1000,50659=>1000,50660=>1000,50661=>1000,50662=>1000,50663=>1000,50664=>1000,50665=>1000,50666=>1000,50667=>1000,50668=>1000,50669=>1000,50670=>1000,50671=>1000,50672=>1000,50673=>1000,50674=>1000,50675=>1000,50676=>1000,50677=>1000,50678=>1000,50679=>1000,50680=>1000,50681=>1000,50682=>1000,50683=>1000,50684=>1000,50685=>1000,50686=>1000,50687=>1000,50688=>1000,50689=>1000,50690=>1000,50691=>1000,50692=>1000,50693=>1000,50694=>1000,50695=>1000,50696=>1000,50697=>1000,50698=>1000,50699=>1000,50700=>1000,50701=>1000,50702=>1000,50703=>1000,50704=>1000,50705=>1000,50706=>1000,50707=>1000,50708=>1000,50709=>1000,50710=>1000,50711=>1000,50712=>1000,50713=>1000,50714=>1000,50715=>1000,50716=>1000,50717=>1000,50718=>1000,50719=>1000,50720=>1000,50721=>1000,50722=>1000,50723=>1000,50724=>1000,50725=>1000,50726=>1000,50727=>1000,50728=>1000,50729=>1000,50730=>1000,50731=>1000,50732=>1000,50733=>1000,50734=>1000,50735=>1000,50736=>1000,50737=>1000,50738=>1000,50739=>1000,50740=>1000,50741=>1000,50742=>1000,50743=>1000,50744=>1000,50745=>1000,50746=>1000,50747=>1000,50748=>1000,50749=>1000,50750=>1000,50751=>1000,50752=>1000,50753=>1000,50754=>1000,50755=>1000,50756=>1000,50757=>1000,50758=>1000,50759=>1000,50760=>1000,50761=>1000,50762=>1000,50763=>1000,50764=>1000,50765=>1000,50766=>1000,50767=>1000,50768=>1000,50769=>1000,50770=>1000,50771=>1000,50772=>1000,50773=>1000,50774=>1000,50775=>1000,50776=>1000,50777=>1000,50778=>1000,50779=>1000,50780=>1000,50781=>1000,50782=>1000,50783=>1000,50784=>1000,50785=>1000,50786=>1000,50787=>1000,50788=>1000,50789=>1000,50790=>1000,50791=>1000,50792=>1000,50793=>1000,50794=>1000,50795=>1000,50796=>1000,50797=>1000,50798=>1000,50799=>1000,50800=>1000,50801=>1000,50802=>1000,50803=>1000,50804=>1000,50805=>1000,50806=>1000,50807=>1000,50808=>1000,50809=>1000,50810=>1000,50811=>1000,50812=>1000,50813=>1000,50814=>1000,50815=>1000,50816=>1000,50817=>1000,50818=>1000,50819=>1000,50820=>1000,50821=>1000,50822=>1000,50823=>1000,50824=>1000,50825=>1000,50826=>1000,50827=>1000,50828=>1000,50829=>1000,50830=>1000,50831=>1000,50832=>1000,50833=>1000,50834=>1000,50835=>1000,50836=>1000,50837=>1000,50838=>1000,50839=>1000,50840=>1000,50841=>1000,50842=>1000,50843=>1000,50844=>1000,50845=>1000,50846=>1000,50847=>1000,50848=>1000,50849=>1000,50850=>1000,50851=>1000,50852=>1000,50853=>1000,50854=>1000,50855=>1000,50856=>1000,50857=>1000,50858=>1000,50859=>1000,50860=>1000,50861=>1000,50862=>1000,50863=>1000,50864=>1000,50865=>1000,50866=>1000,50867=>1000,50868=>1000,50869=>1000,50870=>1000,50871=>1000,50872=>1000,50873=>1000,50874=>1000,50875=>1000,50876=>1000,50877=>1000,50878=>1000,50879=>1000,50880=>1000,50881=>1000,50882=>1000,50883=>1000,50884=>1000,50885=>1000,50886=>1000,50887=>1000,50888=>1000,50889=>1000,50890=>1000,50891=>1000,50892=>1000,50893=>1000,50894=>1000,50895=>1000,50896=>1000,50897=>1000,50898=>1000,50899=>1000,50900=>1000,50901=>1000,50902=>1000,50903=>1000,50904=>1000,50905=>1000,50906=>1000,50907=>1000,50908=>1000,50909=>1000,50910=>1000,50911=>1000,50912=>1000,50913=>1000,50914=>1000,50915=>1000,50916=>1000,50917=>1000,50918=>1000,50919=>1000,50920=>1000,50921=>1000,50922=>1000,50923=>1000,50924=>1000,50925=>1000,50926=>1000,50927=>1000,50928=>1000,50929=>1000,50930=>1000,50931=>1000,50932=>1000,50933=>1000,50934=>1000,50935=>1000,50936=>1000,50937=>1000,50938=>1000,50939=>1000,50940=>1000,50941=>1000,50942=>1000,50943=>1000,50944=>1000,50945=>1000,50946=>1000,50947=>1000,50948=>1000,50949=>1000,50950=>1000,50951=>1000,50952=>1000,50953=>1000,50954=>1000,50955=>1000,50956=>1000,50957=>1000,50958=>1000,50959=>1000,50960=>1000,50961=>1000,50962=>1000,50963=>1000,50964=>1000,50965=>1000,50966=>1000,50967=>1000,50968=>1000,50969=>1000,50970=>1000,50971=>1000,50972=>1000,50973=>1000,50974=>1000,50975=>1000,50976=>1000,50977=>1000,50978=>1000,50979=>1000,50980=>1000,50981=>1000,50982=>1000,50983=>1000,50984=>1000,50985=>1000,50986=>1000,50987=>1000,50988=>1000,50989=>1000,50990=>1000,50991=>1000,50992=>1000,50993=>1000,50994=>1000,50995=>1000,50996=>1000,50997=>1000,50998=>1000,50999=>1000,51000=>1000,51001=>1000,51002=>1000,51003=>1000,51004=>1000,51005=>1000,51006=>1000,51007=>1000,51008=>1000,51009=>1000,51010=>1000,51011=>1000,51012=>1000,51013=>1000,51014=>1000,51015=>1000,51016=>1000,51017=>1000,51018=>1000,51019=>1000,51020=>1000,51021=>1000,51022=>1000,51023=>1000,51024=>1000,51025=>1000,51026=>1000,51027=>1000,51028=>1000,51029=>1000,51030=>1000,51031=>1000,51032=>1000,51033=>1000,51034=>1000,51035=>1000,51036=>1000,51037=>1000,51038=>1000,51039=>1000,51040=>1000,51041=>1000,51042=>1000,51043=>1000,51044=>1000,51045=>1000,51046=>1000,51047=>1000,51048=>1000,51049=>1000,51050=>1000,51051=>1000,51052=>1000,51053=>1000,51054=>1000,51055=>1000,51056=>1000,51057=>1000,51058=>1000,51059=>1000,51060=>1000,51061=>1000,51062=>1000,51063=>1000,51064=>1000,51065=>1000,51066=>1000,51067=>1000,51068=>1000,51069=>1000,51070=>1000,51071=>1000,51072=>1000,51073=>1000,51074=>1000,51075=>1000,51076=>1000,51077=>1000,51078=>1000,51079=>1000,51080=>1000,51081=>1000,51082=>1000,51083=>1000,51084=>1000,51085=>1000,51086=>1000,51087=>1000,51088=>1000,51089=>1000,51090=>1000,51091=>1000,51092=>1000,51093=>1000,51094=>1000,51095=>1000,51096=>1000,51097=>1000,51098=>1000,51099=>1000,51100=>1000,51101=>1000,51102=>1000,51103=>1000,51104=>1000,51105=>1000,51106=>1000,51107=>1000,51108=>1000,51109=>1000,51110=>1000,51111=>1000,51112=>1000,51113=>1000,51114=>1000,51115=>1000,51116=>1000,51117=>1000,51118=>1000,51119=>1000,51120=>1000,51121=>1000,51122=>1000,51123=>1000,51124=>1000,51125=>1000,51126=>1000,51127=>1000,51128=>1000,51129=>1000,51130=>1000,51131=>1000,51132=>1000,51133=>1000,51134=>1000,51135=>1000,51136=>1000,51137=>1000,51138=>1000,51139=>1000,51140=>1000,51141=>1000,51142=>1000,51143=>1000,51144=>1000,51145=>1000,51146=>1000,51147=>1000,51148=>1000,51149=>1000,51150=>1000,51151=>1000,51152=>1000,51153=>1000,51154=>1000,51155=>1000,51156=>1000,51157=>1000,51158=>1000,51159=>1000,51160=>1000,51161=>1000,51162=>1000,51163=>1000,51164=>1000,51165=>1000,51166=>1000,51167=>1000,51168=>1000,51169=>1000,51170=>1000,51171=>1000,51172=>1000,51173=>1000,51174=>1000,51175=>1000,51176=>1000,51177=>1000,51178=>1000,51179=>1000,51180=>1000,51181=>1000,51182=>1000,51183=>1000,51184=>1000,51185=>1000,51186=>1000,51187=>1000,51188=>1000,51189=>1000,51190=>1000,51191=>1000,51192=>1000,51193=>1000,51194=>1000,51195=>1000,51196=>1000,51197=>1000,51198=>1000,51199=>1000,51200=>1000,51201=>1000,51202=>1000,51203=>1000,51204=>1000,51205=>1000,51206=>1000,51207=>1000,51208=>1000,51209=>1000,51210=>1000,51211=>1000,51212=>1000,51213=>1000,51214=>1000,51215=>1000,51216=>1000,51217=>1000,51218=>1000,51219=>1000,51220=>1000,51221=>1000,51222=>1000,51223=>1000,51224=>1000,51225=>1000,51226=>1000,51227=>1000,51228=>1000,51229=>1000,51230=>1000,51231=>1000,51232=>1000,51233=>1000,51234=>1000,51235=>1000,51236=>1000,51237=>1000,51238=>1000,51239=>1000,51240=>1000,51241=>1000,51242=>1000,51243=>1000,51244=>1000,51245=>1000,51246=>1000,51247=>1000,51248=>1000,51249=>1000,51250=>1000,51251=>1000,51252=>1000,51253=>1000,51254=>1000,51255=>1000,51256=>1000,51257=>1000,51258=>1000,51259=>1000,51260=>1000,51261=>1000,51262=>1000,51263=>1000,51264=>1000,51265=>1000,51266=>1000,51267=>1000,51268=>1000,51269=>1000,51270=>1000,51271=>1000,51272=>1000,51273=>1000,51274=>1000,51275=>1000,51276=>1000,51277=>1000,51278=>1000,51279=>1000,51280=>1000,51281=>1000,51282=>1000,51283=>1000,51284=>1000,51285=>1000,51286=>1000,51287=>1000,51288=>1000,51289=>1000,51290=>1000,51291=>1000,51292=>1000,51293=>1000,51294=>1000,51295=>1000,51296=>1000,51297=>1000,51298=>1000,51299=>1000,51300=>1000,51301=>1000,51302=>1000,51303=>1000,51304=>1000,51305=>1000,51306=>1000,51307=>1000,51308=>1000,51309=>1000,51310=>1000,51311=>1000,51312=>1000,51313=>1000,51314=>1000,51315=>1000,51316=>1000,51317=>1000,51318=>1000,51319=>1000,51320=>1000,51321=>1000,51322=>1000,51323=>1000,51324=>1000,51325=>1000,51326=>1000,51327=>1000,51328=>1000,51329=>1000,51330=>1000,51331=>1000,51332=>1000,51333=>1000,51334=>1000,51335=>1000,51336=>1000,51337=>1000,51338=>1000,51339=>1000,51340=>1000,51341=>1000,51342=>1000,51343=>1000,51344=>1000,51345=>1000,51346=>1000,51347=>1000,51348=>1000,51349=>1000,51350=>1000,51351=>1000,51352=>1000,51353=>1000,51354=>1000,51355=>1000,51356=>1000,51357=>1000,51358=>1000,51359=>1000,51360=>1000,51361=>1000,51362=>1000,51363=>1000,51364=>1000,51365=>1000,51366=>1000,51367=>1000,51368=>1000,51369=>1000,51370=>1000,51371=>1000,51372=>1000,51373=>1000,51374=>1000,51375=>1000,51376=>1000,51377=>1000,51378=>1000,51379=>1000,51380=>1000,51381=>1000,51382=>1000,51383=>1000,51384=>1000,51385=>1000,51386=>1000,51387=>1000,51388=>1000,51389=>1000,51390=>1000,51391=>1000,51392=>1000,51393=>1000,51394=>1000,51395=>1000,51396=>1000,51397=>1000,51398=>1000,51399=>1000,51400=>1000,51401=>1000,51402=>1000,51403=>1000,51404=>1000,51405=>1000,51406=>1000,51407=>1000,51408=>1000,51409=>1000,51410=>1000,51411=>1000,51412=>1000,51413=>1000,51414=>1000,51415=>1000,51416=>1000,51417=>1000,51418=>1000,51419=>1000,51420=>1000,51421=>1000,51422=>1000,51423=>1000,51424=>1000,51425=>1000,51426=>1000,51427=>1000,51428=>1000,51429=>1000,51430=>1000,51431=>1000,51432=>1000,51433=>1000,51434=>1000,51435=>1000,51436=>1000,51437=>1000,51438=>1000,51439=>1000,51440=>1000,51441=>1000,51442=>1000,51443=>1000,51444=>1000,51445=>1000,51446=>1000,51447=>1000,51448=>1000,51449=>1000,51450=>1000,51451=>1000,51452=>1000,51453=>1000,51454=>1000,51455=>1000,51456=>1000,51457=>1000,51458=>1000,51459=>1000,51460=>1000,51461=>1000,51462=>1000,51463=>1000,51464=>1000,51465=>1000,51466=>1000,51467=>1000,51468=>1000,51469=>1000,51470=>1000,51471=>1000,51472=>1000,51473=>1000,51474=>1000,51475=>1000,51476=>1000,51477=>1000,51478=>1000,51479=>1000,51480=>1000,51481=>1000,51482=>1000,51483=>1000,51484=>1000,51485=>1000,51486=>1000,51487=>1000,51488=>1000,51489=>1000,51490=>1000,51491=>1000,51492=>1000,51493=>1000,51494=>1000,51495=>1000,51496=>1000,51497=>1000,51498=>1000,51499=>1000,51500=>1000,51501=>1000,51502=>1000,51503=>1000,51504=>1000,51505=>1000,51506=>1000,51507=>1000,51508=>1000,51509=>1000,51510=>1000,51511=>1000,51512=>1000,51513=>1000,51514=>1000,51515=>1000,51516=>1000,51517=>1000,51518=>1000,51519=>1000,51520=>1000,51521=>1000,51522=>1000,51523=>1000,51524=>1000,51525=>1000,51526=>1000,51527=>1000,51528=>1000,51529=>1000,51530=>1000,51531=>1000,51532=>1000,51533=>1000,51534=>1000,51535=>1000,51536=>1000,51537=>1000,51538=>1000,51539=>1000,51540=>1000,51541=>1000,51542=>1000,51543=>1000,51544=>1000,51545=>1000,51546=>1000,51547=>1000,51548=>1000,51549=>1000,51550=>1000,51551=>1000,51552=>1000,51553=>1000,51554=>1000,51555=>1000,51556=>1000,51557=>1000,51558=>1000,51559=>1000,51560=>1000,51561=>1000,51562=>1000,51563=>1000,51564=>1000,51565=>1000,51566=>1000,51567=>1000,51568=>1000,51569=>1000,51570=>1000,51571=>1000,51572=>1000,51573=>1000,51574=>1000,51575=>1000,51576=>1000,51577=>1000,51578=>1000,51579=>1000,51580=>1000,51581=>1000,51582=>1000,51583=>1000,51584=>1000,51585=>1000,51586=>1000,51587=>1000,51588=>1000,51589=>1000,51590=>1000,51591=>1000,51592=>1000,51593=>1000,51594=>1000,51595=>1000,51596=>1000,51597=>1000,51598=>1000,51599=>1000,51600=>1000,51601=>1000,51602=>1000,51603=>1000,51604=>1000,51605=>1000,51606=>1000,51607=>1000,51608=>1000,51609=>1000,51610=>1000,51611=>1000,51612=>1000,51613=>1000,51614=>1000,51615=>1000,51616=>1000,51617=>1000,51618=>1000,51619=>1000,51620=>1000,51621=>1000,51622=>1000,51623=>1000,51624=>1000,51625=>1000,51626=>1000,51627=>1000,51628=>1000,51629=>1000,51630=>1000,51631=>1000,51632=>1000,51633=>1000,51634=>1000,51635=>1000,51636=>1000,51637=>1000,51638=>1000,51639=>1000,51640=>1000,51641=>1000,51642=>1000,51643=>1000,51644=>1000,51645=>1000,51646=>1000,51647=>1000,51648=>1000,51649=>1000,51650=>1000,51651=>1000,51652=>1000,51653=>1000,51654=>1000,51655=>1000,51656=>1000,51657=>1000,51658=>1000,51659=>1000,51660=>1000,51661=>1000,51662=>1000,51663=>1000,51664=>1000,51665=>1000,51666=>1000,51667=>1000,51668=>1000,51669=>1000,51670=>1000,51671=>1000,51672=>1000,51673=>1000,51674=>1000,51675=>1000,51676=>1000,51677=>1000,51678=>1000,51679=>1000,51680=>1000,51681=>1000,51682=>1000,51683=>1000,51684=>1000,51685=>1000,51686=>1000,51687=>1000,51688=>1000,51689=>1000,51690=>1000,51691=>1000,51692=>1000,51693=>1000,51694=>1000,51695=>1000,51696=>1000,51697=>1000,51698=>1000,51699=>1000,51700=>1000,51701=>1000,51702=>1000,51703=>1000,51704=>1000,51705=>1000,51706=>1000,51707=>1000,51708=>1000,51709=>1000,51710=>1000,51711=>1000,51712=>1000,51713=>1000,51714=>1000,51715=>1000,51716=>1000,51717=>1000,51718=>1000,51719=>1000,51720=>1000,51721=>1000,51722=>1000,51723=>1000,51724=>1000,51725=>1000,51726=>1000,51727=>1000,51728=>1000,51729=>1000,51730=>1000,51731=>1000,51732=>1000,51733=>1000,51734=>1000,51735=>1000,51736=>1000,51737=>1000,51738=>1000,51739=>1000,51740=>1000,51741=>1000,51742=>1000,51743=>1000,51744=>1000,51745=>1000,51746=>1000,51747=>1000,51748=>1000,51749=>1000,51750=>1000,51751=>1000,51752=>1000,51753=>1000,51754=>1000,51755=>1000,51756=>1000,51757=>1000,51758=>1000,51759=>1000,51760=>1000,51761=>1000,51762=>1000,51763=>1000,51764=>1000,51765=>1000,51766=>1000,51767=>1000,51768=>1000,51769=>1000,51770=>1000,51771=>1000,51772=>1000,51773=>1000,51774=>1000,51775=>1000,51776=>1000,51777=>1000,51778=>1000,51779=>1000,51780=>1000,51781=>1000,51782=>1000,51783=>1000,51784=>1000,51785=>1000,51786=>1000,51787=>1000,51788=>1000,51789=>1000,51790=>1000,51791=>1000,51792=>1000,51793=>1000,51794=>1000,51795=>1000,51796=>1000,51797=>1000,51798=>1000,51799=>1000,51800=>1000,51801=>1000,51802=>1000,51803=>1000,51804=>1000,51805=>1000,51806=>1000,51807=>1000,51808=>1000,51809=>1000,51810=>1000,51811=>1000,51812=>1000,51813=>1000,51814=>1000,51815=>1000,51816=>1000,51817=>1000,51818=>1000,51819=>1000,51820=>1000,51821=>1000,51822=>1000,51823=>1000,51824=>1000,51825=>1000,51826=>1000,51827=>1000,51828=>1000,51829=>1000,51830=>1000,51831=>1000,51832=>1000,51833=>1000,51834=>1000,51835=>1000,51836=>1000,51837=>1000,51838=>1000,51839=>1000,51840=>1000,51841=>1000,51842=>1000,51843=>1000,51844=>1000,51845=>1000,51846=>1000,51847=>1000,51848=>1000,51849=>1000,51850=>1000,51851=>1000,51852=>1000,51853=>1000,51854=>1000,51855=>1000,51856=>1000,51857=>1000,51858=>1000,51859=>1000,51860=>1000,51861=>1000,51862=>1000,51863=>1000,51864=>1000,51865=>1000,51866=>1000,51867=>1000,51868=>1000,51869=>1000,51870=>1000,51871=>1000,51872=>1000,51873=>1000,51874=>1000,51875=>1000,51876=>1000,51877=>1000,51878=>1000,51879=>1000,51880=>1000,51881=>1000,51882=>1000,51883=>1000,51884=>1000,51885=>1000,51886=>1000,51887=>1000,51888=>1000,51889=>1000,51890=>1000,51891=>1000,51892=>1000,51893=>1000,51894=>1000,51895=>1000,51896=>1000,51897=>1000,51898=>1000,51899=>1000,51900=>1000,51901=>1000,51902=>1000,51903=>1000,51904=>1000,51905=>1000,51906=>1000,51907=>1000,51908=>1000,51909=>1000,51910=>1000,51911=>1000,51912=>1000,51913=>1000,51914=>1000,51915=>1000,51916=>1000,51917=>1000,51918=>1000,51919=>1000,51920=>1000,51921=>1000,51922=>1000,51923=>1000,51924=>1000,51925=>1000,51926=>1000,51927=>1000,51928=>1000,51929=>1000,51930=>1000,51931=>1000,51932=>1000,51933=>1000,51934=>1000,51935=>1000,51936=>1000,51937=>1000,51938=>1000,51939=>1000,51940=>1000,51941=>1000,51942=>1000,51943=>1000,51944=>1000,51945=>1000,51946=>1000,51947=>1000,51948=>1000,51949=>1000,51950=>1000,51951=>1000,51952=>1000,51953=>1000,51954=>1000,51955=>1000,51956=>1000,51957=>1000,51958=>1000,51959=>1000,51960=>1000,51961=>1000,51962=>1000,51963=>1000,51964=>1000,51965=>1000,51966=>1000,51967=>1000,51968=>1000,51969=>1000,51970=>1000,51971=>1000,51972=>1000,51973=>1000,51974=>1000,51975=>1000,51976=>1000,51977=>1000,51978=>1000,51979=>1000,51980=>1000,51981=>1000,51982=>1000,51983=>1000,51984=>1000,51985=>1000,51986=>1000,51987=>1000,51988=>1000,51989=>1000,51990=>1000,51991=>1000,51992=>1000,51993=>1000,51994=>1000,51995=>1000,51996=>1000,51997=>1000,51998=>1000,51999=>1000,52000=>1000,52001=>1000,52002=>1000,52003=>1000,52004=>1000,52005=>1000,52006=>1000,52007=>1000,52008=>1000,52009=>1000,52010=>1000,52011=>1000,52012=>1000,52013=>1000,52014=>1000,52015=>1000,52016=>1000,52017=>1000,52018=>1000,52019=>1000,52020=>1000,52021=>1000,52022=>1000,52023=>1000,52024=>1000,52025=>1000,52026=>1000,52027=>1000,52028=>1000,52029=>1000,52030=>1000,52031=>1000,52032=>1000,52033=>1000,52034=>1000,52035=>1000,52036=>1000,52037=>1000,52038=>1000,52039=>1000,52040=>1000,52041=>1000,52042=>1000,52043=>1000,52044=>1000,52045=>1000,52046=>1000,52047=>1000,52048=>1000,52049=>1000,52050=>1000,52051=>1000,52052=>1000,52053=>1000,52054=>1000,52055=>1000,52056=>1000,52057=>1000,52058=>1000,52059=>1000,52060=>1000,52061=>1000,52062=>1000,52063=>1000,52064=>1000,52065=>1000,52066=>1000,52067=>1000,52068=>1000,52069=>1000,52070=>1000,52071=>1000,52072=>1000,52073=>1000,52074=>1000,52075=>1000,52076=>1000,52077=>1000,52078=>1000,52079=>1000,52080=>1000,52081=>1000,52082=>1000,52083=>1000,52084=>1000,52085=>1000,52086=>1000,52087=>1000,52088=>1000,52089=>1000,52090=>1000,52091=>1000,52092=>1000,52093=>1000,52094=>1000,52095=>1000,52096=>1000,52097=>1000,52098=>1000,52099=>1000,52100=>1000,52101=>1000,52102=>1000,52103=>1000,52104=>1000,52105=>1000,52106=>1000,52107=>1000,52108=>1000,52109=>1000,52110=>1000,52111=>1000,52112=>1000,52113=>1000,52114=>1000,52115=>1000,52116=>1000,52117=>1000,52118=>1000,52119=>1000,52120=>1000,52121=>1000,52122=>1000,52123=>1000,52124=>1000,52125=>1000,52126=>1000,52127=>1000,52128=>1000,52129=>1000,52130=>1000,52131=>1000,52132=>1000,52133=>1000,52134=>1000,52135=>1000,52136=>1000,52137=>1000,52138=>1000,52139=>1000,52140=>1000,52141=>1000,52142=>1000,52143=>1000,52144=>1000,52145=>1000,52146=>1000,52147=>1000,52148=>1000,52149=>1000,52150=>1000,52151=>1000,52152=>1000,52153=>1000,52154=>1000,52155=>1000,52156=>1000,52157=>1000,52158=>1000,52159=>1000,52160=>1000,52161=>1000,52162=>1000,52163=>1000,52164=>1000,52165=>1000,52166=>1000,52167=>1000,52168=>1000,52169=>1000,52170=>1000,52171=>1000,52172=>1000,52173=>1000,52174=>1000,52175=>1000,52176=>1000,52177=>1000,52178=>1000,52179=>1000,52180=>1000,52181=>1000,52182=>1000,52183=>1000,52184=>1000,52185=>1000,52186=>1000,52187=>1000,52188=>1000,52189=>1000,52190=>1000,52191=>1000,52192=>1000,52193=>1000,52194=>1000,52195=>1000,52196=>1000,52197=>1000,52198=>1000,52199=>1000,52200=>1000,52201=>1000,52202=>1000,52203=>1000,52204=>1000,52205=>1000,52206=>1000,52207=>1000,52208=>1000,52209=>1000,52210=>1000,52211=>1000,52212=>1000,52213=>1000,52214=>1000,52215=>1000,52216=>1000,52217=>1000,52218=>1000,52219=>1000,52220=>1000,52221=>1000,52222=>1000,52223=>1000,52224=>1000,52225=>1000,52226=>1000,52227=>1000,52228=>1000,52229=>1000,52230=>1000,52231=>1000,52232=>1000,52233=>1000,52234=>1000,52235=>1000,52236=>1000,52237=>1000,52238=>1000,52239=>1000,52240=>1000,52241=>1000,52242=>1000,52243=>1000,52244=>1000,52245=>1000,52246=>1000,52247=>1000,52248=>1000,52249=>1000,52250=>1000,52251=>1000,52252=>1000,52253=>1000,52254=>1000,52255=>1000,52256=>1000,52257=>1000,52258=>1000,52259=>1000,52260=>1000,52261=>1000,52262=>1000,52263=>1000,52264=>1000,52265=>1000,52266=>1000,52267=>1000,52268=>1000,52269=>1000,52270=>1000,52271=>1000,52272=>1000,52273=>1000,52274=>1000,52275=>1000,52276=>1000,52277=>1000,52278=>1000,52279=>1000,52280=>1000,52281=>1000,52282=>1000,52283=>1000,52284=>1000,52285=>1000,52286=>1000,52287=>1000,52288=>1000,52289=>1000,52290=>1000,52291=>1000,52292=>1000,52293=>1000,52294=>1000,52295=>1000,52296=>1000,52297=>1000,52298=>1000,52299=>1000,52300=>1000,52301=>1000,52302=>1000,52303=>1000,52304=>1000,52305=>1000,52306=>1000,52307=>1000,52308=>1000,52309=>1000,52310=>1000,52311=>1000,52312=>1000,52313=>1000,52314=>1000,52315=>1000,52316=>1000,52317=>1000,52318=>1000,52319=>1000,52320=>1000,52321=>1000,52322=>1000,52323=>1000,52324=>1000,52325=>1000,52326=>1000,52327=>1000,52328=>1000,52329=>1000,52330=>1000,52331=>1000,52332=>1000,52333=>1000,52334=>1000,52335=>1000,52336=>1000,52337=>1000,52338=>1000,52339=>1000,52340=>1000,52341=>1000,52342=>1000,52343=>1000,52344=>1000,52345=>1000,52346=>1000,52347=>1000,52348=>1000,52349=>1000,52350=>1000,52351=>1000,52352=>1000,52353=>1000,52354=>1000,52355=>1000,52356=>1000,52357=>1000,52358=>1000,52359=>1000,52360=>1000,52361=>1000,52362=>1000,52363=>1000,52364=>1000,52365=>1000,52366=>1000,52367=>1000,52368=>1000,52369=>1000,52370=>1000,52371=>1000,52372=>1000,52373=>1000,52374=>1000,52375=>1000,52376=>1000,52377=>1000,52378=>1000,52379=>1000,52380=>1000,52381=>1000,52382=>1000,52383=>1000,52384=>1000,52385=>1000,52386=>1000,52387=>1000,52388=>1000,52389=>1000,52390=>1000,52391=>1000,52392=>1000,52393=>1000,52394=>1000,52395=>1000,52396=>1000,52397=>1000,52398=>1000,52399=>1000,52400=>1000,52401=>1000,52402=>1000,52403=>1000,52404=>1000,52405=>1000,52406=>1000,52407=>1000,52408=>1000,52409=>1000,52410=>1000,52411=>1000,52412=>1000,52413=>1000,52414=>1000,52415=>1000,52416=>1000,52417=>1000,52418=>1000,52419=>1000,52420=>1000,52421=>1000,52422=>1000,52423=>1000,52424=>1000,52425=>1000,52426=>1000,52427=>1000,52428=>1000,52429=>1000,52430=>1000,52431=>1000,52432=>1000,52433=>1000,52434=>1000,52435=>1000,52436=>1000,52437=>1000,52438=>1000,52439=>1000,52440=>1000,52441=>1000,52442=>1000,52443=>1000,52444=>1000,52445=>1000,52446=>1000,52447=>1000,52448=>1000,52449=>1000,52450=>1000,52451=>1000,52452=>1000,52453=>1000,52454=>1000,52455=>1000,52456=>1000,52457=>1000,52458=>1000,52459=>1000,52460=>1000,52461=>1000,52462=>1000,52463=>1000,52464=>1000,52465=>1000,52466=>1000,52467=>1000,52468=>1000,52469=>1000,52470=>1000,52471=>1000,52472=>1000,52473=>1000,52474=>1000,52475=>1000,52476=>1000,52477=>1000,52478=>1000,52479=>1000,52480=>1000,52481=>1000,52482=>1000,52483=>1000,52484=>1000,52485=>1000,52486=>1000,52487=>1000,52488=>1000,52489=>1000,52490=>1000,52491=>1000,52492=>1000,52493=>1000,52494=>1000,52495=>1000,52496=>1000,52497=>1000,52498=>1000,52499=>1000,52500=>1000,52501=>1000,52502=>1000,52503=>1000,52504=>1000,52505=>1000,52506=>1000,52507=>1000,52508=>1000,52509=>1000,52510=>1000,52511=>1000,52512=>1000,52513=>1000,52514=>1000,52515=>1000,52516=>1000,52517=>1000,52518=>1000,52519=>1000,52520=>1000,52521=>1000,52522=>1000,52523=>1000,52524=>1000,52525=>1000,52526=>1000,52527=>1000,52528=>1000,52529=>1000,52530=>1000,52531=>1000,52532=>1000,52533=>1000,52534=>1000,52535=>1000,52536=>1000,52537=>1000,52538=>1000,52539=>1000,52540=>1000,52541=>1000,52542=>1000,52543=>1000,52544=>1000,52545=>1000,52546=>1000,52547=>1000,52548=>1000,52549=>1000,52550=>1000,52551=>1000,52552=>1000,52553=>1000,52554=>1000,52555=>1000,52556=>1000,52557=>1000,52558=>1000,52559=>1000,52560=>1000,52561=>1000,52562=>1000,52563=>1000,52564=>1000,52565=>1000,52566=>1000,52567=>1000,52568=>1000,52569=>1000,52570=>1000,52571=>1000,52572=>1000,52573=>1000,52574=>1000,52575=>1000,52576=>1000,52577=>1000,52578=>1000,52579=>1000,52580=>1000,52581=>1000,52582=>1000,52583=>1000,52584=>1000,52585=>1000,52586=>1000,52587=>1000,52588=>1000,52589=>1000,52590=>1000,52591=>1000,52592=>1000,52593=>1000,52594=>1000,52595=>1000,52596=>1000,52597=>1000,52598=>1000,52599=>1000,52600=>1000,52601=>1000,52602=>1000,52603=>1000,52604=>1000,52605=>1000,52606=>1000,52607=>1000,52608=>1000,52609=>1000,52610=>1000,52611=>1000,52612=>1000,52613=>1000,52614=>1000,52615=>1000,52616=>1000,52617=>1000,52618=>1000,52619=>1000,52620=>1000,52621=>1000,52622=>1000,52623=>1000,52624=>1000,52625=>1000,52626=>1000,52627=>1000,52628=>1000,52629=>1000,52630=>1000,52631=>1000,52632=>1000,52633=>1000,52634=>1000,52635=>1000,52636=>1000,52637=>1000,52638=>1000,52639=>1000,52640=>1000,52641=>1000,52642=>1000,52643=>1000,52644=>1000,52645=>1000,52646=>1000,52647=>1000,52648=>1000,52649=>1000,52650=>1000,52651=>1000,52652=>1000,52653=>1000,52654=>1000,52655=>1000,52656=>1000,52657=>1000,52658=>1000,52659=>1000,52660=>1000,52661=>1000,52662=>1000,52663=>1000,52664=>1000,52665=>1000,52666=>1000,52667=>1000,52668=>1000,52669=>1000,52670=>1000,52671=>1000,52672=>1000,52673=>1000,52674=>1000,52675=>1000,52676=>1000,52677=>1000,52678=>1000,52679=>1000,52680=>1000,52681=>1000,52682=>1000,52683=>1000,52684=>1000,52685=>1000,52686=>1000,52687=>1000,52688=>1000,52689=>1000,52690=>1000,52691=>1000,52692=>1000,52693=>1000,52694=>1000,52695=>1000,52696=>1000,52697=>1000,52698=>1000,52699=>1000,52700=>1000,52701=>1000,52702=>1000,52703=>1000,52704=>1000,52705=>1000,52706=>1000,52707=>1000,52708=>1000,52709=>1000,52710=>1000,52711=>1000,52712=>1000,52713=>1000,52714=>1000,52715=>1000,52716=>1000,52717=>1000,52718=>1000,52719=>1000,52720=>1000,52721=>1000,52722=>1000,52723=>1000,52724=>1000,52725=>1000,52726=>1000,52727=>1000,52728=>1000,52729=>1000,52730=>1000,52731=>1000,52732=>1000,52733=>1000,52734=>1000,52735=>1000,52736=>1000,52737=>1000,52738=>1000,52739=>1000,52740=>1000,52741=>1000,52742=>1000,52743=>1000,52744=>1000,52745=>1000,52746=>1000,52747=>1000,52748=>1000,52749=>1000,52750=>1000,52751=>1000,52752=>1000,52753=>1000,52754=>1000,52755=>1000,52756=>1000,52757=>1000,52758=>1000,52759=>1000,52760=>1000,52761=>1000,52762=>1000,52763=>1000,52764=>1000,52765=>1000,52766=>1000,52767=>1000,52768=>1000,52769=>1000,52770=>1000,52771=>1000,52772=>1000,52773=>1000,52774=>1000,52775=>1000,52776=>1000,52777=>1000,52778=>1000,52779=>1000,52780=>1000,52781=>1000,52782=>1000,52783=>1000,52784=>1000,52785=>1000,52786=>1000,52787=>1000,52788=>1000,52789=>1000,52790=>1000,52791=>1000,52792=>1000,52793=>1000,52794=>1000,52795=>1000,52796=>1000,52797=>1000,52798=>1000,52799=>1000,52800=>1000,52801=>1000,52802=>1000,52803=>1000,52804=>1000,52805=>1000,52806=>1000,52807=>1000,52808=>1000,52809=>1000,52810=>1000,52811=>1000,52812=>1000,52813=>1000,52814=>1000,52815=>1000,52816=>1000,52817=>1000,52818=>1000,52819=>1000,52820=>1000,52821=>1000,52822=>1000,52823=>1000,52824=>1000,52825=>1000,52826=>1000,52827=>1000,52828=>1000,52829=>1000,52830=>1000,52831=>1000,52832=>1000,52833=>1000,52834=>1000,52835=>1000,52836=>1000,52837=>1000,52838=>1000,52839=>1000,52840=>1000,52841=>1000,52842=>1000,52843=>1000,52844=>1000,52845=>1000,52846=>1000,52847=>1000,52848=>1000,52849=>1000,52850=>1000,52851=>1000,52852=>1000,52853=>1000,52854=>1000,52855=>1000,52856=>1000,52857=>1000,52858=>1000,52859=>1000,52860=>1000,52861=>1000,52862=>1000,52863=>1000,52864=>1000,52865=>1000,52866=>1000,52867=>1000,52868=>1000,52869=>1000,52870=>1000,52871=>1000,52872=>1000,52873=>1000,52874=>1000,52875=>1000,52876=>1000,52877=>1000,52878=>1000,52879=>1000,52880=>1000,52881=>1000,52882=>1000,52883=>1000,52884=>1000,52885=>1000,52886=>1000,52887=>1000,52888=>1000,52889=>1000,52890=>1000,52891=>1000,52892=>1000,52893=>1000,52894=>1000,52895=>1000,52896=>1000,52897=>1000,52898=>1000,52899=>1000,52900=>1000,52901=>1000,52902=>1000,52903=>1000,52904=>1000,52905=>1000,52906=>1000,52907=>1000,52908=>1000,52909=>1000,52910=>1000,52911=>1000,52912=>1000,52913=>1000,52914=>1000,52915=>1000,52916=>1000,52917=>1000,52918=>1000,52919=>1000,52920=>1000,52921=>1000,52922=>1000,52923=>1000,52924=>1000,52925=>1000,52926=>1000,52927=>1000,52928=>1000,52929=>1000,52930=>1000,52931=>1000,52932=>1000,52933=>1000,52934=>1000,52935=>1000,52936=>1000,52937=>1000,52938=>1000,52939=>1000,52940=>1000,52941=>1000,52942=>1000,52943=>1000,52944=>1000,52945=>1000,52946=>1000,52947=>1000,52948=>1000,52949=>1000,52950=>1000,52951=>1000,52952=>1000,52953=>1000,52954=>1000,52955=>1000,52956=>1000,52957=>1000,52958=>1000,52959=>1000,52960=>1000,52961=>1000,52962=>1000,52963=>1000,52964=>1000,52965=>1000,52966=>1000,52967=>1000,52968=>1000,52969=>1000,52970=>1000,52971=>1000,52972=>1000,52973=>1000,52974=>1000,52975=>1000,52976=>1000,52977=>1000,52978=>1000,52979=>1000,52980=>1000,52981=>1000,52982=>1000,52983=>1000,52984=>1000,52985=>1000,52986=>1000,52987=>1000,52988=>1000,52989=>1000,52990=>1000,52991=>1000,52992=>1000,52993=>1000,52994=>1000,52995=>1000,52996=>1000,52997=>1000,52998=>1000,52999=>1000,53000=>1000,53001=>1000,53002=>1000,53003=>1000,53004=>1000,53005=>1000,53006=>1000,53007=>1000,53008=>1000,53009=>1000,53010=>1000,53011=>1000,53012=>1000,53013=>1000,53014=>1000,53015=>1000,53016=>1000,53017=>1000,53018=>1000,53019=>1000,53020=>1000,53021=>1000,53022=>1000,53023=>1000,53024=>1000,53025=>1000,53026=>1000,53027=>1000,53028=>1000,53029=>1000,53030=>1000,53031=>1000,53032=>1000,53033=>1000,53034=>1000,53035=>1000,53036=>1000,53037=>1000,53038=>1000,53039=>1000,53040=>1000,53041=>1000,53042=>1000,53043=>1000,53044=>1000,53045=>1000,53046=>1000,53047=>1000,53048=>1000,53049=>1000,53050=>1000,53051=>1000,53052=>1000,53053=>1000,53054=>1000,53055=>1000,53056=>1000,53057=>1000,53058=>1000,53059=>1000,53060=>1000,53061=>1000,53062=>1000,53063=>1000,53064=>1000,53065=>1000,53066=>1000,53067=>1000,53068=>1000,53069=>1000,53070=>1000,53071=>1000,53072=>1000,53073=>1000,53074=>1000,53075=>1000,53076=>1000,53077=>1000,53078=>1000,53079=>1000,53080=>1000,53081=>1000,53082=>1000,53083=>1000,53084=>1000,53085=>1000,53086=>1000,53087=>1000,53088=>1000,53089=>1000,53090=>1000,53091=>1000,53092=>1000,53093=>1000,53094=>1000,53095=>1000,53096=>1000,53097=>1000,53098=>1000,53099=>1000,53100=>1000,53101=>1000,53102=>1000,53103=>1000,53104=>1000,53105=>1000,53106=>1000,53107=>1000,53108=>1000,53109=>1000,53110=>1000,53111=>1000,53112=>1000,53113=>1000,53114=>1000,53115=>1000,53116=>1000,53117=>1000,53118=>1000,53119=>1000,53120=>1000,53121=>1000,53122=>1000,53123=>1000,53124=>1000,53125=>1000,53126=>1000,53127=>1000,53128=>1000,53129=>1000,53130=>1000,53131=>1000,53132=>1000,53133=>1000,53134=>1000,53135=>1000,53136=>1000,53137=>1000,53138=>1000,53139=>1000,53140=>1000,53141=>1000,53142=>1000,53143=>1000,53144=>1000,53145=>1000,53146=>1000,53147=>1000,53148=>1000,53149=>1000,53150=>1000,53151=>1000,53152=>1000,53153=>1000,53154=>1000,53155=>1000,53156=>1000,53157=>1000,53158=>1000,53159=>1000,53160=>1000,53161=>1000,53162=>1000,53163=>1000,53164=>1000,53165=>1000,53166=>1000,53167=>1000,53168=>1000,53169=>1000,53170=>1000,53171=>1000,53172=>1000,53173=>1000,53174=>1000,53175=>1000,53176=>1000,53177=>1000,53178=>1000,53179=>1000,53180=>1000,53181=>1000,53182=>1000,53183=>1000,53184=>1000,53185=>1000,53186=>1000,53187=>1000,53188=>1000,53189=>1000,53190=>1000,53191=>1000,53192=>1000,53193=>1000,53194=>1000,53195=>1000,53196=>1000,53197=>1000,53198=>1000,53199=>1000,53200=>1000,53201=>1000,53202=>1000,53203=>1000,53204=>1000,53205=>1000,53206=>1000,53207=>1000,53208=>1000,53209=>1000,53210=>1000,53211=>1000,53212=>1000,53213=>1000,53214=>1000,53215=>1000,53216=>1000,53217=>1000,53218=>1000,53219=>1000,53220=>1000,53221=>1000,53222=>1000,53223=>1000,53224=>1000,53225=>1000,53226=>1000,53227=>1000,53228=>1000,53229=>1000,53230=>1000,53231=>1000,53232=>1000,53233=>1000,53234=>1000,53235=>1000,53236=>1000,53237=>1000,53238=>1000,53239=>1000,53240=>1000,53241=>1000,53242=>1000,53243=>1000,53244=>1000,53245=>1000,53246=>1000,53247=>1000,53248=>1000,53249=>1000,53250=>1000,53251=>1000,53252=>1000,53253=>1000,53254=>1000,53255=>1000,53256=>1000,53257=>1000,53258=>1000,53259=>1000,53260=>1000,53261=>1000,53262=>1000,53263=>1000,53264=>1000,53265=>1000,53266=>1000,53267=>1000,53268=>1000,53269=>1000,53270=>1000,53271=>1000,53272=>1000,53273=>1000,53274=>1000,53275=>1000,53276=>1000,53277=>1000,53278=>1000,53279=>1000,53280=>1000,53281=>1000,53282=>1000,53283=>1000,53284=>1000,53285=>1000,53286=>1000,53287=>1000,53288=>1000,53289=>1000,53290=>1000,53291=>1000,53292=>1000,53293=>1000,53294=>1000,53295=>1000,53296=>1000,53297=>1000,53298=>1000,53299=>1000,53300=>1000,53301=>1000,53302=>1000,53303=>1000,53304=>1000,53305=>1000,53306=>1000,53307=>1000,53308=>1000,53309=>1000,53310=>1000,53311=>1000,53312=>1000,53313=>1000,53314=>1000,53315=>1000,53316=>1000,53317=>1000,53318=>1000,53319=>1000,53320=>1000,53321=>1000,53322=>1000,53323=>1000,53324=>1000,53325=>1000,53326=>1000,53327=>1000,53328=>1000,53329=>1000,53330=>1000,53331=>1000,53332=>1000,53333=>1000,53334=>1000,53335=>1000,53336=>1000,53337=>1000,53338=>1000,53339=>1000,53340=>1000,53341=>1000,53342=>1000,53343=>1000,53344=>1000,53345=>1000,53346=>1000,53347=>1000,53348=>1000,53349=>1000,53350=>1000,53351=>1000,53352=>1000,53353=>1000,53354=>1000,53355=>1000,53356=>1000,53357=>1000,53358=>1000,53359=>1000,53360=>1000,53361=>1000,53362=>1000,53363=>1000,53364=>1000,53365=>1000,53366=>1000,53367=>1000,53368=>1000,53369=>1000,53370=>1000,53371=>1000,53372=>1000,53373=>1000,53374=>1000,53375=>1000,53376=>1000,53377=>1000,53378=>1000,53379=>1000,53380=>1000,53381=>1000,53382=>1000,53383=>1000,53384=>1000,53385=>1000,53386=>1000,53387=>1000,53388=>1000,53389=>1000,53390=>1000,53391=>1000,53392=>1000,53393=>1000,53394=>1000,53395=>1000,53396=>1000,53397=>1000,53398=>1000,53399=>1000,53400=>1000,53401=>1000,53402=>1000,53403=>1000,53404=>1000,53405=>1000,53406=>1000,53407=>1000,53408=>1000,53409=>1000,53410=>1000,53411=>1000,53412=>1000,53413=>1000,53414=>1000,53415=>1000,53416=>1000,53417=>1000,53418=>1000,53419=>1000,53420=>1000,53421=>1000,53422=>1000,53423=>1000,53424=>1000,53425=>1000,53426=>1000,53427=>1000,53428=>1000,53429=>1000,53430=>1000,53431=>1000,53432=>1000,53433=>1000,53434=>1000,53435=>1000,53436=>1000,53437=>1000,53438=>1000,53439=>1000,53440=>1000,53441=>1000,53442=>1000,53443=>1000,53444=>1000,53445=>1000,53446=>1000,53447=>1000,53448=>1000,53449=>1000,53450=>1000,53451=>1000,53452=>1000,53453=>1000,53454=>1000,53455=>1000,53456=>1000,53457=>1000,53458=>1000,53459=>1000,53460=>1000,53461=>1000,53462=>1000,53463=>1000,53464=>1000,53465=>1000,53466=>1000,53467=>1000,53468=>1000,53469=>1000,53470=>1000,53471=>1000,53472=>1000,53473=>1000,53474=>1000,53475=>1000,53476=>1000,53477=>1000,53478=>1000,53479=>1000,53480=>1000,53481=>1000,53482=>1000,53483=>1000,53484=>1000,53485=>1000,53486=>1000,53487=>1000,53488=>1000,53489=>1000,53490=>1000,53491=>1000,53492=>1000,53493=>1000,53494=>1000,53495=>1000,53496=>1000,53497=>1000,53498=>1000,53499=>1000,53500=>1000,53501=>1000,53502=>1000,53503=>1000,53504=>1000,53505=>1000,53506=>1000,53507=>1000,53508=>1000,53509=>1000,53510=>1000,53511=>1000,53512=>1000,53513=>1000,53514=>1000,53515=>1000,53516=>1000,53517=>1000,53518=>1000,53519=>1000,53520=>1000,53521=>1000,53522=>1000,53523=>1000,53524=>1000,53525=>1000,53526=>1000,53527=>1000,53528=>1000,53529=>1000,53530=>1000,53531=>1000,53532=>1000,53533=>1000,53534=>1000,53535=>1000,53536=>1000,53537=>1000,53538=>1000,53539=>1000,53540=>1000,53541=>1000,53542=>1000,53543=>1000,53544=>1000,53545=>1000,53546=>1000,53547=>1000,53548=>1000,53549=>1000,53550=>1000,53551=>1000,53552=>1000,53553=>1000,53554=>1000,53555=>1000,53556=>1000,53557=>1000,53558=>1000,53559=>1000,53560=>1000,53561=>1000,53562=>1000,53563=>1000,53564=>1000,53565=>1000,53566=>1000,53567=>1000,53568=>1000,53569=>1000,53570=>1000,53571=>1000,53572=>1000,53573=>1000,53574=>1000,53575=>1000,53576=>1000,53577=>1000,53578=>1000,53579=>1000,53580=>1000,53581=>1000,53582=>1000,53583=>1000,53584=>1000,53585=>1000,53586=>1000,53587=>1000,53588=>1000,53589=>1000,53590=>1000,53591=>1000,53592=>1000,53593=>1000,53594=>1000,53595=>1000,53596=>1000,53597=>1000,53598=>1000,53599=>1000,53600=>1000,53601=>1000,53602=>1000,53603=>1000,53604=>1000,53605=>1000,53606=>1000,53607=>1000,53608=>1000,53609=>1000,53610=>1000,53611=>1000,53612=>1000,53613=>1000,53614=>1000,53615=>1000,53616=>1000,53617=>1000,53618=>1000,53619=>1000,53620=>1000,53621=>1000,53622=>1000,53623=>1000,53624=>1000,53625=>1000,53626=>1000,53627=>1000,53628=>1000,53629=>1000,53630=>1000,53631=>1000,53632=>1000,53633=>1000,53634=>1000,53635=>1000,53636=>1000,53637=>1000,53638=>1000,53639=>1000,53640=>1000,53641=>1000,53642=>1000,53643=>1000,53644=>1000,53645=>1000,53646=>1000,53647=>1000,53648=>1000,53649=>1000,53650=>1000,53651=>1000,53652=>1000,53653=>1000,53654=>1000,53655=>1000,53656=>1000,53657=>1000,53658=>1000,53659=>1000,53660=>1000,53661=>1000,53662=>1000,53663=>1000,53664=>1000,53665=>1000,53666=>1000,53667=>1000,53668=>1000,53669=>1000,53670=>1000,53671=>1000,53672=>1000,53673=>1000,53674=>1000,53675=>1000,53676=>1000,53677=>1000,53678=>1000,53679=>1000,53680=>1000,53681=>1000,53682=>1000,53683=>1000,53684=>1000,53685=>1000,53686=>1000,53687=>1000,53688=>1000,53689=>1000,53690=>1000,53691=>1000,53692=>1000,53693=>1000,53694=>1000,53695=>1000,53696=>1000,53697=>1000,53698=>1000,53699=>1000,53700=>1000,53701=>1000,53702=>1000,53703=>1000,53704=>1000,53705=>1000,53706=>1000,53707=>1000,53708=>1000,53709=>1000,53710=>1000,53711=>1000,53712=>1000,53713=>1000,53714=>1000,53715=>1000,53716=>1000,53717=>1000,53718=>1000,53719=>1000,53720=>1000,53721=>1000,53722=>1000,53723=>1000,53724=>1000,53725=>1000,53726=>1000,53727=>1000,53728=>1000,53729=>1000,53730=>1000,53731=>1000,53732=>1000,53733=>1000,53734=>1000,53735=>1000,53736=>1000,53737=>1000,53738=>1000,53739=>1000,53740=>1000,53741=>1000,53742=>1000,53743=>1000,53744=>1000,53745=>1000,53746=>1000,53747=>1000,53748=>1000,53749=>1000,53750=>1000,53751=>1000,53752=>1000,53753=>1000,53754=>1000,53755=>1000,53756=>1000,53757=>1000,53758=>1000,53759=>1000,53760=>1000,53761=>1000,53762=>1000,53763=>1000,53764=>1000,53765=>1000,53766=>1000,53767=>1000,53768=>1000,53769=>1000,53770=>1000,53771=>1000,53772=>1000,53773=>1000,53774=>1000,53775=>1000,53776=>1000,53777=>1000,53778=>1000,53779=>1000,53780=>1000,53781=>1000,53782=>1000,53783=>1000,53784=>1000,53785=>1000,53786=>1000,53787=>1000,53788=>1000,53789=>1000,53790=>1000,53791=>1000,53792=>1000,53793=>1000,53794=>1000,53795=>1000,53796=>1000,53797=>1000,53798=>1000,53799=>1000,53800=>1000,53801=>1000,53802=>1000,53803=>1000,53804=>1000,53805=>1000,53806=>1000,53807=>1000,53808=>1000,53809=>1000,53810=>1000,53811=>1000,53812=>1000,53813=>1000,53814=>1000,53815=>1000,53816=>1000,53817=>1000,53818=>1000,53819=>1000,53820=>1000,53821=>1000,53822=>1000,53823=>1000,53824=>1000,53825=>1000,53826=>1000,53827=>1000,53828=>1000,53829=>1000,53830=>1000,53831=>1000,53832=>1000,53833=>1000,53834=>1000,53835=>1000,53836=>1000,53837=>1000,53838=>1000,53839=>1000,53840=>1000,53841=>1000,53842=>1000,53843=>1000,53844=>1000,53845=>1000,53846=>1000,53847=>1000,53848=>1000,53849=>1000,53850=>1000,53851=>1000,53852=>1000,53853=>1000,53854=>1000,53855=>1000,53856=>1000,53857=>1000,53858=>1000,53859=>1000,53860=>1000,53861=>1000,53862=>1000,53863=>1000,53864=>1000,53865=>1000,53866=>1000,53867=>1000,53868=>1000,53869=>1000,53870=>1000,53871=>1000,53872=>1000,53873=>1000,53874=>1000,53875=>1000,53876=>1000,53877=>1000,53878=>1000,53879=>1000,53880=>1000,53881=>1000,53882=>1000,53883=>1000,53884=>1000,53885=>1000,53886=>1000,53887=>1000,53888=>1000,53889=>1000,53890=>1000,53891=>1000,53892=>1000,53893=>1000,53894=>1000,53895=>1000,53896=>1000,53897=>1000,53898=>1000,53899=>1000,53900=>1000,53901=>1000,53902=>1000,53903=>1000,53904=>1000,53905=>1000,53906=>1000,53907=>1000,53908=>1000,53909=>1000,53910=>1000,53911=>1000,53912=>1000,53913=>1000,53914=>1000,53915=>1000,53916=>1000,53917=>1000,53918=>1000,53919=>1000,53920=>1000,53921=>1000,53922=>1000,53923=>1000,53924=>1000,53925=>1000,53926=>1000,53927=>1000,53928=>1000,53929=>1000,53930=>1000,53931=>1000,53932=>1000,53933=>1000,53934=>1000,53935=>1000,53936=>1000,53937=>1000,53938=>1000,53939=>1000,53940=>1000,53941=>1000,53942=>1000,53943=>1000,53944=>1000,53945=>1000,53946=>1000,53947=>1000,53948=>1000,53949=>1000,53950=>1000,53951=>1000,53952=>1000,53953=>1000,53954=>1000,53955=>1000,53956=>1000,53957=>1000,53958=>1000,53959=>1000,53960=>1000,53961=>1000,53962=>1000,53963=>1000,53964=>1000,53965=>1000,53966=>1000,53967=>1000,53968=>1000,53969=>1000,53970=>1000,53971=>1000,53972=>1000,53973=>1000,53974=>1000,53975=>1000,53976=>1000,53977=>1000,53978=>1000,53979=>1000,53980=>1000,53981=>1000,53982=>1000,53983=>1000,53984=>1000,53985=>1000,53986=>1000,53987=>1000,53988=>1000,53989=>1000,53990=>1000,53991=>1000,53992=>1000,53993=>1000,53994=>1000,53995=>1000,53996=>1000,53997=>1000,53998=>1000,53999=>1000,54000=>1000,54001=>1000,54002=>1000,54003=>1000,54004=>1000,54005=>1000,54006=>1000,54007=>1000,54008=>1000,54009=>1000,54010=>1000,54011=>1000,54012=>1000,54013=>1000,54014=>1000,54015=>1000,54016=>1000,54017=>1000,54018=>1000,54019=>1000,54020=>1000,54021=>1000,54022=>1000,54023=>1000,54024=>1000,54025=>1000,54026=>1000,54027=>1000,54028=>1000,54029=>1000,54030=>1000,54031=>1000,54032=>1000,54033=>1000,54034=>1000,54035=>1000,54036=>1000,54037=>1000,54038=>1000,54039=>1000,54040=>1000,54041=>1000,54042=>1000,54043=>1000,54044=>1000,54045=>1000,54046=>1000,54047=>1000,54048=>1000,54049=>1000,54050=>1000,54051=>1000,54052=>1000,54053=>1000,54054=>1000,54055=>1000,54056=>1000,54057=>1000,54058=>1000,54059=>1000,54060=>1000,54061=>1000,54062=>1000,54063=>1000,54064=>1000,54065=>1000,54066=>1000,54067=>1000,54068=>1000,54069=>1000,54070=>1000,54071=>1000,54072=>1000,54073=>1000,54074=>1000,54075=>1000,54076=>1000,54077=>1000,54078=>1000,54079=>1000,54080=>1000,54081=>1000,54082=>1000,54083=>1000,54084=>1000,54085=>1000,54086=>1000,54087=>1000,54088=>1000,54089=>1000,54090=>1000,54091=>1000,54092=>1000,54093=>1000,54094=>1000,54095=>1000,54096=>1000,54097=>1000,54098=>1000,54099=>1000,54100=>1000,54101=>1000,54102=>1000,54103=>1000,54104=>1000,54105=>1000,54106=>1000,54107=>1000,54108=>1000,54109=>1000,54110=>1000,54111=>1000,54112=>1000,54113=>1000,54114=>1000,54115=>1000,54116=>1000,54117=>1000,54118=>1000,54119=>1000,54120=>1000,54121=>1000,54122=>1000,54123=>1000,54124=>1000,54125=>1000,54126=>1000,54127=>1000,54128=>1000,54129=>1000,54130=>1000,54131=>1000,54132=>1000,54133=>1000,54134=>1000,54135=>1000,54136=>1000,54137=>1000,54138=>1000,54139=>1000,54140=>1000,54141=>1000,54142=>1000,54143=>1000,54144=>1000,54145=>1000,54146=>1000,54147=>1000,54148=>1000,54149=>1000,54150=>1000,54151=>1000,54152=>1000,54153=>1000,54154=>1000,54155=>1000,54156=>1000,54157=>1000,54158=>1000,54159=>1000,54160=>1000,54161=>1000,54162=>1000,54163=>1000,54164=>1000,54165=>1000,54166=>1000,54167=>1000,54168=>1000,54169=>1000,54170=>1000,54171=>1000,54172=>1000,54173=>1000,54174=>1000,54175=>1000,54176=>1000,54177=>1000,54178=>1000,54179=>1000,54180=>1000,54181=>1000,54182=>1000,54183=>1000,54184=>1000,54185=>1000,54186=>1000,54187=>1000,54188=>1000,54189=>1000,54190=>1000,54191=>1000,54192=>1000,54193=>1000,54194=>1000,54195=>1000,54196=>1000,54197=>1000,54198=>1000,54199=>1000,54200=>1000,54201=>1000,54202=>1000,54203=>1000,54204=>1000,54205=>1000,54206=>1000,54207=>1000,54208=>1000,54209=>1000,54210=>1000,54211=>1000,54212=>1000,54213=>1000,54214=>1000,54215=>1000,54216=>1000,54217=>1000,54218=>1000,54219=>1000,54220=>1000,54221=>1000,54222=>1000,54223=>1000,54224=>1000,54225=>1000,54226=>1000,54227=>1000,54228=>1000,54229=>1000,54230=>1000,54231=>1000,54232=>1000,54233=>1000,54234=>1000,54235=>1000,54236=>1000,54237=>1000,54238=>1000,54239=>1000,54240=>1000,54241=>1000,54242=>1000,54243=>1000,54244=>1000,54245=>1000,54246=>1000,54247=>1000,54248=>1000,54249=>1000,54250=>1000,54251=>1000,54252=>1000,54253=>1000,54254=>1000,54255=>1000,54256=>1000,54257=>1000,54258=>1000,54259=>1000,54260=>1000,54261=>1000,54262=>1000,54263=>1000,54264=>1000,54265=>1000,54266=>1000,54267=>1000,54268=>1000,54269=>1000,54270=>1000,54271=>1000,54272=>1000,54273=>1000,54274=>1000,54275=>1000,54276=>1000,54277=>1000,54278=>1000,54279=>1000,54280=>1000,54281=>1000,54282=>1000,54283=>1000,54284=>1000,54285=>1000,54286=>1000,54287=>1000,54288=>1000,54289=>1000,54290=>1000,54291=>1000,54292=>1000,54293=>1000,54294=>1000,54295=>1000,54296=>1000,54297=>1000,54298=>1000,54299=>1000,54300=>1000,54301=>1000,54302=>1000,54303=>1000,54304=>1000,54305=>1000,54306=>1000,54307=>1000,54308=>1000,54309=>1000,54310=>1000,54311=>1000,54312=>1000,54313=>1000,54314=>1000,54315=>1000,54316=>1000,54317=>1000,54318=>1000,54319=>1000,54320=>1000,54321=>1000,54322=>1000,54323=>1000,54324=>1000,54325=>1000,54326=>1000,54327=>1000,54328=>1000,54329=>1000,54330=>1000,54331=>1000,54332=>1000,54333=>1000,54334=>1000,54335=>1000,54336=>1000,54337=>1000,54338=>1000,54339=>1000,54340=>1000,54341=>1000,54342=>1000,54343=>1000,54344=>1000,54345=>1000,54346=>1000,54347=>1000,54348=>1000,54349=>1000,54350=>1000,54351=>1000,54352=>1000,54353=>1000,54354=>1000,54355=>1000,54356=>1000,54357=>1000,54358=>1000,54359=>1000,54360=>1000,54361=>1000,54362=>1000,54363=>1000,54364=>1000,54365=>1000,54366=>1000,54367=>1000,54368=>1000,54369=>1000,54370=>1000,54371=>1000,54372=>1000,54373=>1000,54374=>1000,54375=>1000,54376=>1000,54377=>1000,54378=>1000,54379=>1000,54380=>1000,54381=>1000,54382=>1000,54383=>1000,54384=>1000,54385=>1000,54386=>1000,54387=>1000,54388=>1000,54389=>1000,54390=>1000,54391=>1000,54392=>1000,54393=>1000,54394=>1000,54395=>1000,54396=>1000,54397=>1000,54398=>1000,54399=>1000,54400=>1000,54401=>1000,54402=>1000,54403=>1000,54404=>1000,54405=>1000,54406=>1000,54407=>1000,54408=>1000,54409=>1000,54410=>1000,54411=>1000,54412=>1000,54413=>1000,54414=>1000,54415=>1000,54416=>1000,54417=>1000,54418=>1000,54419=>1000,54420=>1000,54421=>1000,54422=>1000,54423=>1000,54424=>1000,54425=>1000,54426=>1000,54427=>1000,54428=>1000,54429=>1000,54430=>1000,54431=>1000,54432=>1000,54433=>1000,54434=>1000,54435=>1000,54436=>1000,54437=>1000,54438=>1000,54439=>1000,54440=>1000,54441=>1000,54442=>1000,54443=>1000,54444=>1000,54445=>1000,54446=>1000,54447=>1000,54448=>1000,54449=>1000,54450=>1000,54451=>1000,54452=>1000,54453=>1000,54454=>1000,54455=>1000,54456=>1000,54457=>1000,54458=>1000,54459=>1000,54460=>1000,54461=>1000,54462=>1000,54463=>1000,54464=>1000,54465=>1000,54466=>1000,54467=>1000,54468=>1000,54469=>1000,54470=>1000,54471=>1000,54472=>1000,54473=>1000,54474=>1000,54475=>1000,54476=>1000,54477=>1000,54478=>1000,54479=>1000,54480=>1000,54481=>1000,54482=>1000,54483=>1000,54484=>1000,54485=>1000,54486=>1000,54487=>1000,54488=>1000,54489=>1000,54490=>1000,54491=>1000,54492=>1000,54493=>1000,54494=>1000,54495=>1000,54496=>1000,54497=>1000,54498=>1000,54499=>1000,54500=>1000,54501=>1000,54502=>1000,54503=>1000,54504=>1000,54505=>1000,54506=>1000,54507=>1000,54508=>1000,54509=>1000,54510=>1000,54511=>1000,54512=>1000,54513=>1000,54514=>1000,54515=>1000,54516=>1000,54517=>1000,54518=>1000,54519=>1000,54520=>1000,54521=>1000,54522=>1000,54523=>1000,54524=>1000,54525=>1000,54526=>1000,54527=>1000,54528=>1000,54529=>1000,54530=>1000,54531=>1000,54532=>1000,54533=>1000,54534=>1000,54535=>1000,54536=>1000,54537=>1000,54538=>1000,54539=>1000,54540=>1000,54541=>1000,54542=>1000,54543=>1000,54544=>1000,54545=>1000,54546=>1000,54547=>1000,54548=>1000,54549=>1000,54550=>1000,54551=>1000,54552=>1000,54553=>1000,54554=>1000,54555=>1000,54556=>1000,54557=>1000,54558=>1000,54559=>1000,54560=>1000,54561=>1000,54562=>1000,54563=>1000,54564=>1000,54565=>1000,54566=>1000,54567=>1000,54568=>1000,54569=>1000,54570=>1000,54571=>1000,54572=>1000,54573=>1000,54574=>1000,54575=>1000,54576=>1000,54577=>1000,54578=>1000,54579=>1000,54580=>1000,54581=>1000,54582=>1000,54583=>1000,54584=>1000,54585=>1000,54586=>1000,54587=>1000,54588=>1000,54589=>1000,54590=>1000,54591=>1000,54592=>1000,54593=>1000,54594=>1000,54595=>1000,54596=>1000,54597=>1000,54598=>1000,54599=>1000,54600=>1000,54601=>1000,54602=>1000,54603=>1000,54604=>1000,54605=>1000,54606=>1000,54607=>1000,54608=>1000,54609=>1000,54610=>1000,54611=>1000,54612=>1000,54613=>1000,54614=>1000,54615=>1000,54616=>1000,54617=>1000,54618=>1000,54619=>1000,54620=>1000,54621=>1000,54622=>1000,54623=>1000,54624=>1000,54625=>1000,54626=>1000,54627=>1000,54628=>1000,54629=>1000,54630=>1000,54631=>1000,54632=>1000,54633=>1000,54634=>1000,54635=>1000,54636=>1000,54637=>1000,54638=>1000,54639=>1000,54640=>1000,54641=>1000,54642=>1000,54643=>1000,54644=>1000,54645=>1000,54646=>1000,54647=>1000,54648=>1000,54649=>1000,54650=>1000,54651=>1000,54652=>1000,54653=>1000,54654=>1000,54655=>1000,54656=>1000,54657=>1000,54658=>1000,54659=>1000,54660=>1000,54661=>1000,54662=>1000,54663=>1000,54664=>1000,54665=>1000,54666=>1000,54667=>1000,54668=>1000,54669=>1000,54670=>1000,54671=>1000,54672=>1000,54673=>1000,54674=>1000,54675=>1000,54676=>1000,54677=>1000,54678=>1000,54679=>1000,54680=>1000,54681=>1000,54682=>1000,54683=>1000,54684=>1000,54685=>1000,54686=>1000,54687=>1000,54688=>1000,54689=>1000,54690=>1000,54691=>1000,54692=>1000,54693=>1000,54694=>1000,54695=>1000,54696=>1000,54697=>1000,54698=>1000,54699=>1000,54700=>1000,54701=>1000,54702=>1000,54703=>1000,54704=>1000,54705=>1000,54706=>1000,54707=>1000,54708=>1000,54709=>1000,54710=>1000,54711=>1000,54712=>1000,54713=>1000,54714=>1000,54715=>1000,54716=>1000,54717=>1000,54718=>1000,54719=>1000,54720=>1000,54721=>1000,54722=>1000,54723=>1000,54724=>1000,54725=>1000,54726=>1000,54727=>1000,54728=>1000,54729=>1000,54730=>1000,54731=>1000,54732=>1000,54733=>1000,54734=>1000,54735=>1000,54736=>1000,54737=>1000,54738=>1000,54739=>1000,54740=>1000,54741=>1000,54742=>1000,54743=>1000,54744=>1000,54745=>1000,54746=>1000,54747=>1000,54748=>1000,54749=>1000,54750=>1000,54751=>1000,54752=>1000,54753=>1000,54754=>1000,54755=>1000,54756=>1000,54757=>1000,54758=>1000,54759=>1000,54760=>1000,54761=>1000,54762=>1000,54763=>1000,54764=>1000,54765=>1000,54766=>1000,54767=>1000,54768=>1000,54769=>1000,54770=>1000,54771=>1000,54772=>1000,54773=>1000,54774=>1000,54775=>1000,54776=>1000,54777=>1000,54778=>1000,54779=>1000,54780=>1000,54781=>1000,54782=>1000,54783=>1000,54784=>1000,54785=>1000,54786=>1000,54787=>1000,54788=>1000,54789=>1000,54790=>1000,54791=>1000,54792=>1000,54793=>1000,54794=>1000,54795=>1000,54796=>1000,54797=>1000,54798=>1000,54799=>1000,54800=>1000,54801=>1000,54802=>1000,54803=>1000,54804=>1000,54805=>1000,54806=>1000,54807=>1000,54808=>1000,54809=>1000,54810=>1000,54811=>1000,54812=>1000,54813=>1000,54814=>1000,54815=>1000,54816=>1000,54817=>1000,54818=>1000,54819=>1000,54820=>1000,54821=>1000,54822=>1000,54823=>1000,54824=>1000,54825=>1000,54826=>1000,54827=>1000,54828=>1000,54829=>1000,54830=>1000,54831=>1000,54832=>1000,54833=>1000,54834=>1000,54835=>1000,54836=>1000,54837=>1000,54838=>1000,54839=>1000,54840=>1000,54841=>1000,54842=>1000,54843=>1000,54844=>1000,54845=>1000,54846=>1000,54847=>1000,54848=>1000,54849=>1000,54850=>1000,54851=>1000,54852=>1000,54853=>1000,54854=>1000,54855=>1000,54856=>1000,54857=>1000,54858=>1000,54859=>1000,54860=>1000,54861=>1000,54862=>1000,54863=>1000,54864=>1000,54865=>1000,54866=>1000,54867=>1000,54868=>1000,54869=>1000,54870=>1000,54871=>1000,54872=>1000,54873=>1000,54874=>1000,54875=>1000,54876=>1000,54877=>1000,54878=>1000,54879=>1000,54880=>1000,54881=>1000,54882=>1000,54883=>1000,54884=>1000,54885=>1000,54886=>1000,54887=>1000,54888=>1000,54889=>1000,54890=>1000,54891=>1000,54892=>1000,54893=>1000,54894=>1000,54895=>1000,54896=>1000,54897=>1000,54898=>1000,54899=>1000,54900=>1000,54901=>1000,54902=>1000,54903=>1000,54904=>1000,54905=>1000,54906=>1000,54907=>1000,54908=>1000,54909=>1000,54910=>1000,54911=>1000,54912=>1000,54913=>1000,54914=>1000,54915=>1000,54916=>1000,54917=>1000,54918=>1000,54919=>1000,54920=>1000,54921=>1000,54922=>1000,54923=>1000,54924=>1000,54925=>1000,54926=>1000,54927=>1000,54928=>1000,54929=>1000,54930=>1000,54931=>1000,54932=>1000,54933=>1000,54934=>1000,54935=>1000,54936=>1000,54937=>1000,54938=>1000,54939=>1000,54940=>1000,54941=>1000,54942=>1000,54943=>1000,54944=>1000,54945=>1000,54946=>1000,54947=>1000,54948=>1000,54949=>1000,54950=>1000,54951=>1000,54952=>1000,54953=>1000,54954=>1000,54955=>1000,54956=>1000,54957=>1000,54958=>1000,54959=>1000,54960=>1000,54961=>1000,54962=>1000,54963=>1000,54964=>1000,54965=>1000,54966=>1000,54967=>1000,54968=>1000,54969=>1000,54970=>1000,54971=>1000,54972=>1000,54973=>1000,54974=>1000,54975=>1000,54976=>1000,54977=>1000,54978=>1000,54979=>1000,54980=>1000,54981=>1000,54982=>1000,54983=>1000,54984=>1000,54985=>1000,54986=>1000,54987=>1000,54988=>1000,54989=>1000,54990=>1000,54991=>1000,54992=>1000,54993=>1000,54994=>1000,54995=>1000,54996=>1000,54997=>1000,54998=>1000,54999=>1000,55000=>1000,55001=>1000,55002=>1000,55003=>1000,55004=>1000,55005=>1000,55006=>1000,55007=>1000,55008=>1000,55009=>1000,55010=>1000,55011=>1000,55012=>1000,55013=>1000,55014=>1000,55015=>1000,55016=>1000,55017=>1000,55018=>1000,55019=>1000,55020=>1000,55021=>1000,55022=>1000,55023=>1000,55024=>1000,55025=>1000,55026=>1000,55027=>1000,55028=>1000,55029=>1000,55030=>1000,55031=>1000,55032=>1000,55033=>1000,55034=>1000,55035=>1000,55036=>1000,55037=>1000,55038=>1000,55039=>1000,55040=>1000,55041=>1000,55042=>1000,55043=>1000,55044=>1000,55045=>1000,55046=>1000,55047=>1000,55048=>1000,55049=>1000,55050=>1000,55051=>1000,55052=>1000,55053=>1000,55054=>1000,55055=>1000,55056=>1000,55057=>1000,55058=>1000,55059=>1000,55060=>1000,55061=>1000,55062=>1000,55063=>1000,55064=>1000,55065=>1000,55066=>1000,55067=>1000,55068=>1000,55069=>1000,55070=>1000,55071=>1000,55072=>1000,55073=>1000,55074=>1000,55075=>1000,55076=>1000,55077=>1000,55078=>1000,55079=>1000,55080=>1000,55081=>1000,55082=>1000,55083=>1000,55084=>1000,55085=>1000,55086=>1000,55087=>1000,55088=>1000,55089=>1000,55090=>1000,55091=>1000,55092=>1000,55093=>1000,55094=>1000,55095=>1000,55096=>1000,55097=>1000,55098=>1000,55099=>1000,55100=>1000,55101=>1000,55102=>1000,55103=>1000,55104=>1000,55105=>1000,55106=>1000,55107=>1000,55108=>1000,55109=>1000,55110=>1000,55111=>1000,55112=>1000,55113=>1000,55114=>1000,55115=>1000,55116=>1000,55117=>1000,55118=>1000,55119=>1000,55120=>1000,55121=>1000,55122=>1000,55123=>1000,55124=>1000,55125=>1000,55126=>1000,55127=>1000,55128=>1000,55129=>1000,55130=>1000,55131=>1000,55132=>1000,55133=>1000,55134=>1000,55135=>1000,55136=>1000,55137=>1000,55138=>1000,55139=>1000,55140=>1000,55141=>1000,55142=>1000,55143=>1000,55144=>1000,55145=>1000,55146=>1000,55147=>1000,55148=>1000,55149=>1000,55150=>1000,55151=>1000,55152=>1000,55153=>1000,55154=>1000,55155=>1000,55156=>1000,55157=>1000,55158=>1000,55159=>1000,55160=>1000,55161=>1000,55162=>1000,55163=>1000,55164=>1000,55165=>1000,55166=>1000,55167=>1000,55168=>1000,55169=>1000,55170=>1000,55171=>1000,55172=>1000,55173=>1000,55174=>1000,55175=>1000,55176=>1000,55177=>1000,55178=>1000,55179=>1000,55180=>1000,55181=>1000,55182=>1000,55183=>1000,55184=>1000,55185=>1000,55186=>1000,55187=>1000,55188=>1000,55189=>1000,55190=>1000,55191=>1000,55192=>1000,55193=>1000,55194=>1000,55195=>1000,55196=>1000,55197=>1000,55198=>1000,55199=>1000,55200=>1000,55201=>1000,55202=>1000,55203=>1000,59393=>316,59394=>507,59395=>507,59396=>484,59397=>484,59416=>0,59492=>480,59495=>480,59536=>458,59557=>466,59558=>480,59559=>903,61441=>500,61442=>500,63232=>541,63233=>0,63234=>0,63235=>0,63236=>0,63237=>0,63238=>0,63239=>0,63240=>0,63241=>0,63242=>0,63243=>0,63244=>0,63245=>0,63246=>0,63247=>849,63248=>0,63249=>0,63250=>0,63251=>0,63252=>0,63253=>0,63254=>0,63255=>0,63256=>0,63257=>0,63258=>0,63260=>333,63261=>287,63744=>1000,63745=>1000,63746=>1000,63747=>1000,63748=>1000,63749=>1000,63750=>1000,63751=>1000,63752=>1000,63753=>1000,63754=>1000,63755=>1000,63756=>1000,63757=>1000,63758=>1000,63759=>1000,63760=>1000,63761=>1000,63762=>1000,63763=>1000,63764=>1000,63765=>1000,63766=>1000,63767=>1000,63768=>1000,63769=>1000,63770=>1000,63771=>1000,63772=>1000,63773=>1000,63774=>1000,63775=>1000,63776=>1000,63777=>1000,63778=>1000,63779=>1000,63780=>1000,63781=>1000,63782=>1000,63783=>1000,63784=>1000,63785=>1000,63786=>1000,63787=>1000,63788=>1000,63789=>1000,63790=>1000,63791=>1000,63792=>1000,63793=>1000,63794=>1000,63795=>1000,63796=>1000,63797=>1000,63798=>1000,63799=>1000,63800=>1000,63801=>1000,63802=>1000,63803=>1000,63804=>1000,63805=>1000,63806=>1000,63807=>1000,63808=>1000,63809=>1000,63810=>1000,63811=>1000,63812=>1000,63813=>1000,63814=>1000,63815=>1000,63816=>1000,63817=>1000,63818=>1000,63819=>1000,63820=>1000,63821=>1000,63822=>1000,63823=>1000,63824=>1000,63825=>1000,63826=>1000,63827=>1000,63828=>1000,63829=>1000,63830=>1000,63831=>1000,63832=>1000,63833=>1000,63834=>1000,63835=>1000,63836=>1000,63837=>1000,63838=>1000,63839=>1000,63840=>1000,63841=>1000,63842=>1000,63843=>1000,63844=>1000,63845=>1000,63846=>1000,63847=>1000,63848=>1000,63849=>1000,63850=>1000,63851=>1000,63852=>1000,63853=>1000,63854=>1000,63855=>1000,63856=>1000,63857=>1000,63858=>1000,63859=>1000,63860=>1000,63861=>1000,63862=>1000,63863=>1000,63864=>1000,63865=>1000,63866=>1000,63867=>1000,63868=>1000,63869=>1000,63870=>1000,63871=>1000,63872=>1000,63873=>1000,63874=>1000,63875=>1000,63876=>1000,63877=>1000,63878=>1000,63879=>1000,63880=>1000,63881=>1000,63882=>1000,63883=>1000,63884=>1000,63885=>1000,63886=>1000,63887=>1000,63888=>1000,63889=>1000,63890=>1000,63891=>1000,63892=>1000,63893=>1000,63894=>1000,63895=>1000,63896=>1000,63897=>1000,63898=>1000,63899=>1000,63900=>1000,63901=>1000,63902=>1000,63903=>1000,63904=>1000,63905=>1000,63906=>1000,63907=>1000,63908=>1000,63909=>1000,63910=>1000,63911=>1000,63912=>1000,63913=>1000,63914=>1000,63915=>1000,63916=>1000,63917=>1000,63918=>1000,63919=>1000,63920=>1000,63921=>1000,63922=>1000,63923=>1000,63924=>1000,63925=>1000,63926=>1000,63927=>1000,63928=>1000,63929=>1000,63930=>1000,63931=>1000,63932=>1000,63933=>1000,63934=>1000,63935=>1000,63936=>1000,63937=>1000,63938=>1000,63939=>1000,63940=>1000,63941=>1000,63942=>1000,63943=>1000,63944=>1000,63945=>1000,63946=>1000,63947=>1000,63948=>1000,63949=>1000,63950=>1000,63951=>1000,63952=>1000,63953=>1000,63954=>1000,63955=>1000,63956=>1000,63957=>1000,63958=>1000,63959=>1000,63960=>1000,63961=>1000,63962=>1000,63963=>1000,63964=>1000,63965=>1000,63966=>1000,63967=>1000,63968=>1000,63969=>1000,63970=>1000,63971=>1000,63972=>1000,63973=>1000,63974=>1000,63975=>1000,63976=>1000,63977=>1000,63978=>1000,63979=>1000,63980=>1000,63981=>1000,63982=>1000,63983=>1000,63984=>1000,63985=>1000,63986=>1000,63987=>1000,63988=>1000,63989=>1000,63990=>1000,63991=>1000,63992=>1000,63993=>1000,63994=>1000,63995=>1000,63996=>1000,63997=>1000,63998=>1000,63999=>1000,64000=>1000,64001=>1000,64002=>1000,64003=>1000,64004=>1000,64005=>1000,64006=>1000,64007=>1000,64008=>1000,64009=>1000,64010=>1000,64011=>1000,64012=>1000,64013=>1000,64014=>1000,64015=>1000,64016=>1000,64017=>1000,64018=>1000,64019=>1000,64020=>1000,64021=>1000,64022=>1000,64023=>1000,64024=>1000,64025=>1000,64026=>1000,64027=>1000,64028=>1000,64029=>1000,64030=>1000,64031=>1000,64032=>1000,64033=>1000,64034=>1000,64035=>1000,64036=>1000,64037=>1000,64038=>1000,64039=>1000,64040=>1000,64041=>1000,64042=>1000,64043=>1000,64044=>1000,64045=>1000,64256=>537,64257=>500,64258=>500,64259=>778,64260=>750,64261=>532,64262=>758,64275=>784,64276=>784,64277=>784,64278=>784,64279=>893,64286=>333,64287=>590,64288=>550,64289=>709,64290=>649,64291=>730,64292=>656,64293=>605,64294=>730,64295=>633,64296=>794,64297=>584,64298=>700,64299=>700,64300=>700,64301=>700,64302=>577,64303=>577,64304=>577,64305=>563,64306=>411,64307=>512,64308=>594,64309=>316,64310=>326,64312=>594,64313=>316,64314=>507,64315=>527,64316=>484,64318=>594,64320=>338,64321=>604,64323=>567,64324=>569,64326=>514,64327=>583,64328=>507,64329=>700,64330=>633,64331=>316,64332=>563,64333=>527,64334=>569,64335=>577,64336=>243,64337=>273,64338=>771,64339=>788,64340=>276,64341=>243,64342=>771,64343=>788,64344=>276,64345=>243,64346=>771,64347=>788,64348=>276,64349=>243,64350=>771,64351=>788,64352=>276,64353=>243,64354=>771,64355=>788,64356=>276,64357=>243,64358=>771,64359=>788,64360=>276,64361=>243,64362=>957,64363=>903,64364=>466,64365=>480,64366=>957,64367=>903,64368=>466,64369=>480,64370=>544,64371=>658,64372=>646,64373=>637,64374=>544,64375=>658,64376=>646,64377=>637,64378=>544,64379=>658,64380=>646,64381=>637,64382=>544,64383=>658,64384=>646,64385=>637,64386=>430,64387=>458,64388=>430,64389=>458,64390=>430,64391=>458,64392=>430,64393=>458,64394=>421,64395=>436,64396=>421,64397=>436,64398=>828,64399=>942,64400=>432,64401=>549,64402=>828,64403=>942,64404=>432,64405=>549,64406=>828,64407=>942,64408=>432,64409=>549,64410=>828,64411=>942,64412=>432,64413=>549,64414=>692,64415=>723,64416=>692,64417=>723,64418=>276,64419=>243,64420=>514,64421=>477,64422=>514,64423=>509,64424=>273,64425=>427,64426=>706,64427=>706,64428=>686,64429=>686,64430=>550,64431=>461,64432=>550,64433=>461,64467=>757,64468=>733,64469=>432,64470=>549,64471=>470,64472=>466,64473=>470,64474=>466,64475=>470,64476=>466,64477=>470,64478=>470,64479=>466,64480=>470,64481=>466,64482=>470,64483=>466,64484=>781,64485=>933,64486=>276,64487=>243,64488=>276,64489=>243,64490=>547,64491=>517,64492=>783,64493=>753,64494=>740,64495=>710,64496=>740,64497=>710,64498=>740,64499=>710,64500=>740,64501=>710,64502=>1207,64503=>1177,64504=>517,64505=>1067,64506=>1037,64507=>517,64508=>731,64509=>793,64510=>276,64511=>243,64512=>932,64513=>932,64514=>914,64515=>1067,64516=>1077,64517=>935,64518=>935,64519=>935,64520=>917,64521=>1070,64522=>1080,64523=>932,64524=>932,64525=>932,64526=>914,64527=>1067,64528=>1077,64529=>932,64530=>914,64531=>1067,64532=>1077,64533=>1305,64534=>1287,64535=>1305,64536=>1287,64537=>1305,64538=>1305,64539=>1287,64540=>1429,64541=>1429,64542=>1429,64543=>1411,64544=>1476,64545=>1458,64546=>1476,64547=>1476,64548=>1476,64549=>1458,64550=>1392,64551=>1374,64552=>1374,64553=>1245,64554=>1227,64555=>1245,64556=>1227,64557=>1125,64558=>1125,64559=>1125,64560=>1107,64561=>1260,64562=>1270,64563=>1125,64564=>1107,64565=>1260,64566=>1270,64567=>706,64568=>1091,64569=>1091,64570=>1091,64571=>1106,64572=>1073,64573=>1226,64574=>1236,64575=>932,64576=>932,64577=>932,64578=>914,64579=>1067,64580=>1077,64581=>1140,64582=>1140,64583=>1140,64584=>1122,64585=>1275,64586=>1285,64587=>932,64588=>932,64589=>932,64590=>914,64591=>1067,64592=>1077,64593=>1345,64594=>1327,64595=>1480,64596=>1490,64597=>932,64598=>932,64599=>932,64600=>914,64601=>1067,64602=>1077,64603=>430,64604=>421,64605=>731,64606=>296,64607=>300,64608=>300,64609=>300,64610=>300,64611=>300,64612=>680,64613=>680,64614=>884,64615=>967,64616=>1037,64617=>1047,64618=>680,64619=>680,64620=>884,64621=>967,64622=>1037,64623=>1047,64624=>680,64625=>680,64626=>884,64627=>967,64628=>1037,64629=>1047,64630=>680,64631=>680,64632=>884,64633=>967,64634=>1037,64635=>1047,64636=>1274,64637=>1284,64638=>1274,64639=>1284,64640=>821,64641=>1221,64642=>1188,64643=>1341,64644=>1351,64645=>884,64646=>1037,64647=>1047,64648=>806,64649=>1173,64650=>680,64651=>680,64652=>884,64653=>967,64654=>1037,64655=>1047,64656=>793,64657=>680,64658=>680,64659=>884,64660=>967,64661=>1037,64662=>1047,64663=>911,64664=>911,64665=>911,64666=>806,64667=>679,64668=>911,64669=>911,64670=>911,64671=>806,64672=>679,64673=>911,64674=>911,64675=>911,64676=>806,64677=>679,64678=>806,64679=>1284,64680=>1179,64681=>1284,64682=>1179,64683=>1284,64684=>1179,64685=>1408,64686=>1408,64687=>1408,64688=>1303,64689=>1455,64690=>1455,64691=>1350,64692=>1455,64693=>1455,64694=>1455,64695=>1350,64696=>1371,64697=>1266,64698=>1224,64699=>1119,64700=>1224,64701=>1119,64702=>1104,64703=>1104,64704=>1104,64705=>999,64706=>1104,64707=>999,64708=>1070,64709=>1070,64710=>1070,64711=>676,64712=>965,64713=>911,64714=>911,64715=>911,64716=>806,64717=>679,64718=>1119,64719=>1119,64720=>1119,64721=>1014,64722=>911,64723=>911,64724=>911,64725=>806,64726=>679,64727=>1324,64728=>1219,64729=>686,64730=>911,64731=>911,64732=>911,64733=>806,64734=>679,64735=>776,64736=>649,64737=>776,64738=>649,64739=>776,64740=>649,64741=>776,64742=>649,64743=>1303,64744=>1176,64745=>1303,64746=>1176,64747=>793,64748=>1082,64749=>776,64750=>776,64751=>649,64752=>776,64753=>649,64754=>306,64755=>302,64756=>298,64757=>1527,64758=>1537,64759=>1380,64760=>1390,64761=>1380,64762=>1390,64763=>1564,64764=>1574,64765=>1564,64766=>1574,64767=>1440,64768=>1450,64769=>1440,64770=>1450,64771=>1440,64772=>1450,64773=>1611,64774=>1621,64775=>1611,64776=>1621,64777=>1429,64778=>1429,64779=>1429,64780=>1411,64781=>1207,64782=>1207,64783=>1254,64784=>1254,64785=>1527,64786=>1537,64787=>1348,64788=>1358,64789=>1348,64790=>1358,64791=>1564,64792=>1574,64793=>1564,64794=>1574,64795=>1431,64796=>1441,64797=>1431,64798=>1441,64799=>1431,64800=>1441,64801=>1611,64802=>1621,64803=>1611,64804=>1621,64805=>1429,64806=>1429,64807=>1429,64808=>1411,64809=>1207,64810=>1207,64811=>1254,64812=>1254,64813=>1408,64814=>1408,64815=>1408,64816=>1303,64817=>1176,64818=>1176,64819=>1266,64820=>1408,64821=>1408,64822=>1408,64823=>1408,64824=>1408,64825=>1408,64826=>1266,64827=>1266,64828=>273,64829=>243,64830=>600,64831=>600,64848=>1444,64849=>1541,64850=>1549,64851=>1444,64852=>1444,64853=>1444,64854=>1444,64855=>1444,64856=>1830,64857=>1817,64858=>1975,64859=>1964,64860=>2046,64861=>2046,64862=>2202,64863=>1962,64864=>1941,64865=>1941,64866=>1944,64867=>1836,64868=>2114,64869=>2093,64870=>1991,64871=>2049,64872=>1941,64873=>2212,64874=>1962,64875=>1941,64876=>1944,64877=>1836,64878=>2249,64879=>2096,64880=>1988,64881=>1925,64882=>1904,64883=>1799,64884=>2070,64885=>1833,64886=>1729,64887=>1652,64888=>1881,64889=>1729,64890=>1892,64891=>1881,64892=>1759,64893=>1637,64894=>1670,64895=>1654,64896=>1522,64897=>1686,64898=>1675,64899=>1549,64900=>1541,64901=>1522,64902=>1444,64903=>1436,64904=>1444,64905=>1757,64906=>1652,64907=>1975,64908=>1757,64909=>1652,64910=>1757,64911=>1652,64914=>1757,64915=>1857,64916=>1752,64917=>1444,64918=>1675,64919=>1522,64920=>1444,64921=>1675,64922=>1581,64923=>1570,64924=>1417,64925=>1362,64926=>1686,64927=>1686,64928=>1675,64929=>1686,64930=>1675,64931=>1581,64932=>1570,64933=>1975,64934=>2069,64935=>1964,64936=>2202,64937=>2259,64938=>2212,64939=>2259,64940=>1686,64941=>1581,64942=>1686,64943=>1686,64944=>1581,64945=>1870,64946=>1817,64947=>1686,64948=>1637,64949=>1444,64950=>1892,64951=>1886,64952=>1549,64953=>1975,64954=>1444,64955=>1723,64956=>1522,64957=>1541,64958=>2080,64959=>2080,64960=>1975,64961=>1817,64962=>1686,64963=>1499,64964=>1757,64965=>1883,64966=>2212,64967=>1686,65008=>1523,65009=>1172,65010=>1159,65011=>1356,65012=>2111,65013=>2258,65014=>2130,65015=>1552,65016=>2046,65017=>1856,65018=>1930,65019=>1070,65056=>450,65057=>450,65058=>450,65059=>450,65072=>1000,65073=>1000,65074=>1000,65075=>1000,65076=>1000,65077=>1000,65078=>1000,65079=>1000,65080=>1000,65081=>1000,65082=>1000,65083=>1000,65084=>1000,65085=>1000,65086=>1000,65087=>1000,65088=>1000,65089=>1000,65090=>1000,65091=>1000,65092=>1000,65097=>1000,65098=>1000,65099=>1000,65100=>1000,65101=>1000,65102=>1000,65103=>1000,65104=>167,65105=>250,65106=>167,65108=>167,65109=>167,65110=>334,65111=>167,65112=>600,65113=>200,65114=>200,65115=>200,65116=>200,65117=>200,65118=>200,65119=>334,65120=>400,65121=>233,65122=>350,65123=>200,65124=>350,65125=>350,65126=>350,65128=>167,65129=>334,65130=>533,65131=>609,65136=>300,65137=>298,65138=>296,65140=>298,65142=>300,65143=>298,65144=>300,65145=>302,65146=>298,65147=>296,65148=>306,65149=>306,65150=>154,65151=>154,65152=>529,65153=>243,65154=>273,65155=>243,65156=>273,65157=>470,65158=>466,65159=>243,65160=>273,65161=>731,65162=>793,65163=>276,65164=>243,65165=>243,65166=>273,65167=>771,65168=>788,65169=>276,65170=>243,65171=>514,65172=>477,65173=>771,65174=>788,65175=>276,65176=>243,65177=>771,65178=>788,65179=>276,65180=>243,65181=>544,65182=>658,65183=>646,65184=>637,65185=>544,65186=>658,65187=>646,65188=>637,65189=>544,65190=>658,65191=>646,65192=>637,65193=>430,65194=>458,65195=>430,65196=>458,65197=>421,65198=>436,65199=>421,65200=>436,65201=>1194,65202=>1194,65203=>770,65204=>770,65205=>1194,65206=>1194,65207=>770,65208=>770,65209=>1291,65210=>1291,65211=>817,65212=>817,65213=>1291,65214=>1291,65215=>817,65216=>817,65217=>843,65218=>843,65219=>733,65220=>733,65221=>843,65222=>843,65223=>733,65224=>733,65225=>594,65226=>556,65227=>586,65228=>554,65229=>594,65230=>556,65231=>586,65232=>554,65233=>957,65234=>903,65235=>466,65236=>480,65237=>800,65238=>823,65239=>466,65240=>480,65241=>757,65242=>733,65243=>432,65244=>549,65245=>662,65246=>673,65247=>273,65248=>243,65249=>589,65250=>640,65251=>481,65252=>532,65253=>692,65254=>723,65255=>276,65256=>243,65257=>514,65258=>477,65259=>686,65260=>405,65261=>470,65262=>466,65263=>731,65264=>793,65265=>731,65266=>803,65267=>276,65268=>243,65269=>551,65270=>603,65271=>551,65272=>603,65273=>551,65274=>603,65275=>551,65276=>603,65281=>1000,65282=>1000,65283=>1000,65284=>1000,65285=>1000,65286=>1000,65287=>1000,65288=>1000,65289=>1000,65290=>1000,65291=>1000,65292=>1000,65293=>1000,65294=>1000,65295=>1000,65296=>1000,65297=>1000,65298=>1000,65299=>1000,65300=>1000,65301=>1000,65302=>1000,65303=>1000,65304=>1000,65305=>1000,65306=>1000,65307=>1000,65308=>1000,65309=>1000,65310=>1000,65311=>1000,65312=>1000,65313=>1000,65314=>1000,65315=>1000,65316=>1000,65317=>1000,65318=>1000,65319=>1000,65320=>1000,65321=>1000,65322=>1000,65323=>1000,65324=>1000,65325=>1000,65326=>1000,65327=>1000,65328=>1000,65329=>1000,65330=>1000,65331=>1000,65332=>1000,65333=>1000,65334=>1000,65335=>1000,65336=>1000,65337=>1000,65338=>1000,65339=>1000,65340=>1000,65341=>1000,65342=>1000,65343=>1000,65344=>1000,65345=>1000,65346=>1000,65347=>1000,65348=>1000,65349=>1000,65350=>1000,65351=>1000,65352=>1000,65353=>1000,65354=>1000,65355=>1000,65356=>1000,65357=>1000,65358=>1000,65359=>1000,65360=>1000,65361=>1000,65362=>1000,65363=>1000,65364=>1000,65365=>1000,65366=>1000,65367=>1000,65368=>1000,65369=>1000,65370=>1000,65371=>1000,65372=>1000,65373=>1000,65374=>1000,65377=>500,65378=>500,65379=>500,65380=>500,65381=>500,65382=>500,65383=>500,65384=>500,65385=>500,65386=>500,65387=>500,65388=>500,65389=>500,65390=>500,65391=>500,65392=>500,65393=>500,65394=>500,65395=>500,65396=>500,65397=>500,65398=>500,65399=>500,65400=>500,65401=>500,65402=>500,65403=>500,65404=>500,65405=>500,65406=>500,65407=>500,65408=>500,65409=>500,65410=>500,65411=>500,65412=>500,65413=>500,65414=>500,65415=>500,65416=>500,65417=>500,65418=>500,65419=>500,65420=>500,65421=>500,65422=>500,65423=>500,65424=>500,65425=>500,65426=>500,65427=>500,65428=>500,65429=>500,65430=>500,65431=>500,65432=>500,65433=>500,65434=>500,65435=>500,65436=>500,65437=>500,65438=>500,65439=>500,65440=>500,65441=>500,65442=>500,65443=>500,65444=>500,65445=>500,65446=>500,65447=>500,65448=>500,65449=>500,65450=>500,65451=>500,65452=>500,65453=>500,65454=>500,65455=>500,65456=>500,65457=>500,65458=>500,65459=>500,65460=>500,65461=>500,65462=>500,65463=>500,65464=>500,65465=>500,65466=>500,65467=>500,65468=>500,65469=>500,65470=>500,65474=>500,65475=>500,65476=>500,65477=>500,65478=>500,65479=>500,65482=>500,65483=>500,65484=>500,65485=>500,65486=>500,65487=>500,65490=>500,65491=>500,65492=>500,65493=>500,65494=>500,65495=>500,65498=>500,65499=>500,65500=>500,65504=>1000,65505=>1000,65506=>1000,65507=>1000,65508=>1000,65509=>1000,65510=>1000,65512=>500,65513=>500,65514=>500,65515=>500,65516=>500,65517=>500,65518=>500,65532=>1000,65533=>1000,65535=>1000); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/cid0jp.php b/vendor/tecnickcom/tcpdf/fonts/cid0jp.php new file mode 100644 index 0000000..264359b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/cid0jp.php @@ -0,0 +1,17 @@ +'Adobe', 'Ordering'=>'Japan1','Supplement'=>5); +include(dirname(__FILE__).'/uni2cid_aj16.php'); +$desc=array('Flags'=>32,'FontBBox'=>'[-1011 -330 2260 1078]','ItalicAngle'=>0,'Ascent'=>1069,'Descent'=>-271,'Leading'=>0,'CapHeight'=>716,'XHeight'=>518,'StemV'=>34,'StemH'=>15,'AvgWidth'=>441,'MaxWidth'=>2259,'MissingWidth'=>1000); +$cbbox=array(0=>array(125,0,875,750),33=>array(85,0,194,716),34=>array(41,462,313,716),35=>array(11,-12,545,728),36=>array(38,-103,511,782),37=>array(73,-27,819,728),38=>array(43,-17,644,728),39=>array(45,462,145,716),40=>array(60,-210,297,728),41=>array(36,-210,273,728),42=>array(33,423,356,728),43=>array(55,116,529,590),44=>array(84,-141,190,100),45=>array(32,215,301,303),46=>array(89,0,189,100),47=>array(0,-24,278,716),48=>array(45,-12,511,719),49=>array(111,0,375,719),50=>array(31,0,505,719),51=>array(44,-12,513,719),52=>array(15,0,510,716),53=>array(42,-12,516,706),54=>array(42,-12,514,719),55=>array(48,0,511,706),56=>array(42,-12,513,719),57=>array(43,-12,513,719),58=>array(90,0,190,518),59=>array(84,-141,190,518),60=>array(55,111,529,595),61=>array(55,203,529,503),62=>array(55,111,529,595),63=>array(46,0,508,728),64=>array(56,-210,981,729),65=>array(-1,0,668,716),66=>array(74,0,615,716),67=>array(51,-12,683,728),68=>array(80,0,672,716),69=>array(79,0,614,716),70=>array(80,0,563,716),71=>array(52,-12,714,728),72=>array(80,0,642,716),73=>array(92,0,187,716),74=>array(27,-12,420,716),75=>array(73,0,665,716),76=>array(75,0,523,716),77=>array(76,0,757,716),78=>array(79,0,642,716),79=>array(47,-12,732,728),80=>array(77,0,623,716),81=>array(47,-56,745,728),82=>array(80,0,711,716),83=>array(45,-12,615,728),84=>array(22,0,589,716),85=>array(79,-12,642,716),86=>array(6,0,660,716),87=>array(12,0,933,716),88=>array(5,0,661,716),89=>array(5,0,661,716),90=>array(18,0,584,716),91=>array(68,-199,262,716),92=>array(0,-24,278,716),93=>array(16,-199,210,716),94=>array(26,325,443,716),95=>array(-6,-125,506,-75),96=>array(42,591,222,728),97=>array(38,-12,516,530),98=>array(67,-12,517,716),99=>array(39,-12,491,530),100=>array(36,-12,486,716),101=>array(39,-12,517,530),102=>array(8,0,311,728),103=>array(34,-210,491,530),104=>array(67,0,490,716),105=>array(67,0,155,716),106=>array(-45,-209,155,716),107=>array(66,0,496,716),108=>array(67,0,155,716),109=>array(65,0,769,530),110=>array(68,0,490,530),111=>array(35,-12,521,530),112=>array(68,-199,518,530),113=>array(38,-199,488,530),114=>array(64,0,346,530),115=>array(31,-12,461,530),116=>array(17,-7,269,700),117=>array(66,-12,487,518),118=>array(13,0,488,518),119=>array(5,0,717,518),120=>array(7,0,493,518),121=>array(16,-210,492,518),122=>array(20,0,479,518),123=>array(28,-210,310,728),124=>array(92,-199,168,716),125=>array(24,-210,306,728),126=>array(43,272,542,432),161=>array(110,-199,219,517),162=>array(55,-200,507,716),163=>array(15,-14,531,728),164=>array(38,115,518,594),165=>array(1,0,555,716),166=>array(92,-199,168,716),167=>array(42,-210,513,728),168=>array(31,611,302,711),169=>array(0,-9,737,728),170=>array(21,364,348,728),171=>array(69,35,487,481),172=>array(55,203,529,503),173=>array(32,215,301,303),174=>array(0,-9,737,728),175=>array(-6,793,506,843),176=>array(65,454,335,725),177=>array(55,0,529,611),178=>array(12,358,316,725),179=>array(16,349,315,725),180=>array(111,591,291,728),181=>array(67,-199,488,518),182=>array(-1,-199,539,716),183=>array(89,302,189,402),184=>array(52,-205,263,11),185=>array(52,358,232,725),186=>array(22,361,343,728),187=>array(69,35,487,481),188=>array(62,-25,789,732),189=>array(62,-25,806,732),190=>array(26,-25,789,732),191=>array(75,-209,537,519),192=>array(-1,0,668,900),193=>array(-1,0,668,900),194=>array(-1,0,668,900),195=>array(-1,0,668,886),196=>array(-1,0,668,881),197=>array(-1,0,668,920),198=>array(0,0,945,716),199=>array(51,-209,684,728),200=>array(79,0,614,900),201=>array(79,0,614,900),202=>array(79,0,614,900),203=>array(79,0,614,881),204=>array(15,0,195,900),205=>array(83,0,264,900),206=>array(-15,0,293,900),207=>array(3,0,274,881),208=>array(1,0,672,716),209=>array(79,0,642,884),210=>array(47,-12,732,900),211=>array(47,-12,732,900),212=>array(47,-12,732,900),213=>array(47,-12,732,884),214=>array(47,-12,732,881),215=>array(79,141,505,567),216=>array(41,-29,742,742),217=>array(79,-12,642,900),218=>array(79,-12,642,900),219=>array(79,-12,642,900),220=>array(79,-12,642,881),221=>array(5,0,661,900),222=>array(77,0,623,716),223=>array(72,-12,577,728),224=>array(38,-12,516,728),225=>array(38,-12,516,728),226=>array(38,-12,516,728),227=>array(38,-12,516,716),228=>array(38,-12,516,711),229=>array(38,-12,516,752),230=>array(34,-12,849,530),231=>array(39,-196,491,530),232=>array(39,-12,517,728),233=>array(39,-12,517,728),234=>array(39,-12,517,728),235=>array(39,-12,517,711),236=>array(13,0,193,728),237=>array(83,0,264,728),238=>array(-15,0,293,728),239=>array(5,0,276,711),240=>array(38,-12,517,716),241=>array(68,0,490,716),242=>array(35,-12,521,728),243=>array(35,-12,521,728),244=>array(35,-12,521,728),245=>array(35,-12,521,716),246=>array(35,-12,521,711),247=>array(55,146,529,560),248=>array(63,-39,549,550),249=>array(66,-12,487,728),250=>array(66,-12,487,728),251=>array(66,-12,487,728),252=>array(66,-12,487,711),253=>array(16,-210,492,728),254=>array(68,-199,518,716),255=>array(16,-210,492,711),256=>array(-1,0,668,833),257=>array(38,-12,516,697),258=>array(-1,0,668,888),259=>array(38,-12,516,722),260=>array(-1,-208,758,716),261=>array(38,-208,571,530),262=>array(51,-12,683,916),263=>array(39,-12,491,728),264=>array(51,-12,683,914),265=>array(39,-12,491,728),266=>array(51,-12,683,877),267=>array(39,-12,491,711),268=>array(51,-12,683,916),269=>array(39,-12,491,728),270=>array(80,0,672,916),271=>array(36,-12,625,716),272=>array(-1,0,672,716),273=>array(36,-12,551,716),274=>array(79,0,614,863),275=>array(39,-12,517,697),276=>array(79,0,614,902),277=>array(39,-12,517,722),278=>array(79,0,614,877),279=>array(39,-12,517,711),280=>array(79,-208,645,716),281=>array(39,-208,517,530),282=>array(79,0,614,916),283=>array(39,-12,517,728),284=>array(52,-12,714,914),285=>array(34,-210,491,728),286=>array(52,-12,714,904),287=>array(34,-210,491,722),288=>array(52,-12,714,877),289=>array(34,-210,491,711),290=>array(52,-210,714,728),291=>array(34,-210,491,775),292=>array(80,0,642,914),293=>array(67,0,490,914),294=>array(-1,0,722,716),295=>array(2,0,490,716),296=>array(-24,0,303,890),297=>array(-53,0,274,717),298=>array(-15,0,290,849),299=>array(-42,0,263,697),300=>array(-3,0,286,904),301=>array(-34,0,255,722),302=>array(91,-208,305,716),303=>array(45,-208,225,716),304=>array(92,0,187,877),305=>array(95,0,183,518),306=>array(92,-12,670,716),307=>array(67,-209,377,716),308=>array(27,-12,526,914),309=>array(-46,-209,263,728),310=>array(73,-210,665,716),311=>array(66,-210,496,716),312=>array(66,0,446,518),313=>array(75,0,523,916),314=>array(50,0,230,916),315=>array(75,-210,523,716),316=>array(58,-210,160,716),317=>array(-29,0,523,916),318=>array(-44,0,264,916),319=>array(75,0,523,716),320=>array(67,0,313,716),321=>array(0,0,521,716),322=>array(1,0,218,716),323=>array(79,0,642,916),324=>array(68,0,490,728),325=>array(79,-210,642,716),326=>array(68,-210,490,530),327=>array(79,0,642,916),328=>array(68,0,490,728),329=>array(-2,0,559,722),330=>array(81,-186,670,728),331=>array(68,-210,489,530),332=>array(47,-12,732,849),333=>array(35,-12,521,697),334=>array(47,-12,732,904),335=>array(35,-12,521,722),336=>array(47,-12,732,914),337=>array(35,-12,521,728),338=>array(63,-12,968,728),339=>array(38,-12,904,530),340=>array(80,0,711,914),341=>array(64,0,346,728),342=>array(80,-210,711,716),343=>array(54,-210,346,530),344=>array(80,0,711,916),345=>array(28,0,346,728),346=>array(45,-12,615,916),347=>array(31,-12,461,728),348=>array(45,-12,615,916),349=>array(31,-12,461,728),350=>array(45,-210,615,728),351=>array(31,-210,461,530),352=>array(45,-12,615,916),353=>array(31,-12,461,728),354=>array(22,-210,589,716),355=>array(17,-210,269,700),356=>array(22,0,589,916),357=>array(17,-7,406,716),358=>array(22,0,589,716),359=>array(17,-7,269,700),360=>array(79,-12,642,890),361=>array(66,-12,487,716),362=>array(79,-12,642,851),363=>array(66,-12,487,697),364=>array(79,-12,642,906),365=>array(66,-12,487,722),366=>array(79,-12,642,955),367=>array(66,-12,487,752),368=>array(79,-12,642,917),369=>array(66,-12,487,728),370=>array(79,-208,642,716),371=>array(66,-208,555,518),372=>array(12,0,933,916),373=>array(5,0,717,728),374=>array(5,0,661,916),375=>array(16,-210,492,728),376=>array(5,0,661,879),377=>array(18,0,584,916),378=>array(20,0,479,728),379=>array(18,0,584,877),380=>array(20,0,479,711),381=>array(18,0,584,916),382=>array(20,0,479,728),383=>array(67,0,292,728),384=>array(-14,-12,515,716),385=>array(0,0,688,716),386=>array(80,0,620,716),387=>array(65,-12,515,716),388=>array(67,-12,517,716),389=>array(67,-12,517,716),390=>array(39,-12,671,728),391=>array(51,-12,769,750),392=>array(39,-12,579,567),393=>array(1,0,672,716),394=>array(0,0,739,716),395=>array(35,0,575,716),396=>array(41,-12,491,716),397=>array(35,-198,522,530),398=>array(53,0,588,716),399=>array(45,-12,676,728),400=>array(42,-13,565,728),401=>array(-20,-154,563,716),402=>array(-14,-154,311,728),403=>array(52,-12,792,750),404=>array(0,-206,649,716),405=>array(67,-12,775,716),406=>array(67,-12,245,716),407=>array(0,0,322,716),408=>array(73,0,690,720),409=>array(66,0,496,728),410=>array(0,-12,322,716),411=>array(13,0,488,716),412=>array(65,-12,769,716),413=>array(-21,-154,642,716),414=>array(68,-199,490,530),415=>array(47,-12,732,728),416=>array(47,-12,776,768),417=>array(35,-12,555,606),418=>array(47,-12,950,728),419=>array(35,-209,715,530),420=>array(0,0,691,716),421=>array(68,-199,519,637),422=>array(80,-122,738,716),423=>array(52,-12,622,728),424=>array(39,-12,469,530),425=>array(47,0,554,716),426=>array(34,-154,405,734),427=>array(17,-151,269,700),428=>array(23,0,549,716),429=>array(17,-7,269,716),430=>array(22,-208,589,716),431=>array(79,-12,776,768),432=>array(66,-12,625,620),433=>array(67,-12,681,716),434=>array(6,0,620,728),435=>array(32,0,745,728),436=>array(16,-210,617,528),437=>array(18,0,584,716),438=>array(20,0,479,519),439=>array(40,-12,582,716),440=>array(46,-12,588,716),441=>array(42,-192,486,518),442=>array(36,-209,437,518),443=>array(31,0,505,728),444=>array(13,-12,516,716),445=>array(37,-12,486,518),446=>array(46,-10,508,716),447=>array(68,-199,498,529),448=>array(92,0,168,716),449=>array(92,0,372,716),450=>array(25,0,449,716),451=>array(85,0,194,716),452=>array(80,0,1303,896),453=>array(80,0,1202,728),454=>array(36,-12,1036,728),455=>array(75,-12,949,716),456=>array(75,-209,709,716),457=>array(67,-209,375,716),458=>array(79,-12,1141,716),459=>array(79,-209,875,716),460=>array(68,-209,709,716),461=>array(-1,0,668,900),462=>array(38,-12,516,728),463=>array(-17,0,292,900),464=>array(-18,0,291,728),465=>array(47,-12,732,900),466=>array(35,-12,521,728),467=>array(79,-12,642,900),468=>array(66,-12,487,728),469=>array(79,-12,642,1003),470=>array(66,-12,487,832),471=>array(79,-12,642,1068),472=>array(66,-12,487,896),473=>array(79,-12,642,1068),474=>array(66,-12,487,896),475=>array(79,-12,642,1068),476=>array(66,-12,487,896),477=>array(39,-11,517,530),478=>array(-1,0,668,1003),479=>array(38,-12,516,832),480=>array(-1,0,668,1003),481=>array(38,-12,516,832),482=>array(0,0,945,865),483=>array(34,-12,849,697),484=>array(52,-12,779,728),485=>array(34,-210,556,530),486=>array(52,-12,714,900),487=>array(34,-210,491,728),488=>array(73,0,665,900),489=>array(66,0,496,900),490=>array(47,-208,732,728),491=>array(33,-208,519,530),492=>array(47,-208,732,865),493=>array(33,-208,519,697),494=>array(48,6,492,898),495=>array(48,-192,492,728),496=>array(-48,-209,261,728),497=>array(80,0,1301,716),498=>array(80,0,1200,716),499=>array(36,-12,1034,716),500=>array(52,-12,714,900),501=>array(34,-210,491,728),506=>array(-1,0,668,1043),507=>array(38,-12,516,937),508=>array(0,0,945,898),509=>array(34,-12,849,728),510=>array(41,-29,742,898),511=>array(63,-39,549,728),512=>array(-1,0,668,894),513=>array(38,-12,516,728),514=>array(-1,0,668,888),515=>array(38,-12,516,722),516=>array(79,0,614,894),517=>array(39,-12,517,728),518=>array(79,0,614,888),519=>array(39,-12,517,722),520=>array(-55,0,291,894),521=>array(-53,0,292,728),522=>array(-3,0,286,888),523=>array(-5,0,284,722),524=>array(47,-12,732,894),525=>array(35,-12,521,728),526=>array(47,-12,732,888),527=>array(35,-12,521,722),528=>array(80,0,711,894),529=>array(14,0,359,728),530=>array(80,0,711,888),531=>array(38,0,346,722),532=>array(79,-12,642,894),533=>array(66,-12,487,728),534=>array(79,-12,642,888),535=>array(66,-12,487,722),592=>array(40,-12,518,530),593=>array(36,-12,486,530),594=>array(70,-12,520,530),595=>array(70,-12,520,716),596=>array(9,-12,461,530),597=>array(39,-91,482,530),598=>array(36,-210,611,716),599=>array(36,-12,611,716),600=>array(39,-12,522,530),601=>array(39,-12,517,530),602=>array(41,-12,772,530),603=>array(36,-12,450,530),604=>array(35,-12,449,530),605=>array(35,-12,701,530),606=>array(36,-12,483,530),607=>array(-51,-210,252,518),608=>array(34,-210,616,716),609=>array(34,-210,491,530),610=>array(36,-12,518,530),611=>array(13,-210,488,518),612=>array(13,-12,488,518),613=>array(66,-198,487,518),614=>array(67,0,490,716),615=>array(67,-210,490,716),616=>array(-2,0,244,716),617=>array(67,-12,280,518),618=>array(33,0,323,518),619=>array(7,0,349,716),620=>array(20,0,403,716),621=>array(67,-210,280,716),622=>array(67,-210,599,716),623=>array(64,-12,768,518),624=>array(64,-209,768,518),625=>array(65,-210,769,530),626=>array(-57,-210,490,530),627=>array(68,-210,615,530),628=>array(68,0,490,518),629=>array(35,-12,521,530),630=>array(36,-12,690,530),631=>array(36,-12,638,530),632=>array(36,-210,522,716),633=>array(-13,-12,269,518),634=>array(-13,-12,269,716),635=>array(-13,-210,394,518),636=>array(64,-198,346,530),637=>array(64,-210,346,530),638=>array(64,0,326,530),639=>array(-14,0,248,530),640=>array(64,0,518,518),641=>array(64,0,518,518),642=>array(31,-208,461,530),643=>array(-83,-210,299,716),644=>array(-53,-210,329,716),645=>array(-83,-210,299,716),646=>array(-125,-198,302,716),647=>array(9,-177,261,530),648=>array(17,-210,294,700),649=>array(20,-12,576,518),650=>array(36,-12,522,518),651=>array(66,-12,520,530),652=>array(13,0,488,518),653=>array(5,0,717,518),654=>array(8,0,484,728),655=>array(2,0,498,518),656=>array(20,-208,653,518),657=>array(20,-79,542,518),658=>array(22,-210,494,518),659=>array(26,-210,494,518),660=>array(16,0,428,728),661=>array(36,0,448,728),662=>array(16,-12,428,716),663=>array(39,-210,491,530),664=>array(36,-12,578,530),665=>array(74,0,496,518),666=>array(36,-12,483,530),667=>array(36,-12,582,616),668=>array(68,0,490,518),669=>array(-125,-198,248,716),670=>array(4,-198,434,518),671=>array(67,0,406,518),672=>array(36,-198,611,716),673=>array(16,0,428,728),674=>array(36,0,448,728),675=>array(36,-12,945,716),676=>array(36,-210,930,716),677=>array(36,-79,1008,716),678=>array(17,-12,650,700),679=>array(17,-210,540,728),680=>array(17,-91,700,700),688=>array(50,344,278,716),689=>array(50,344,278,716),690=>array(-10,235,103,716),691=>array(50,344,210,619),692=>array(-9,338,151,613),693=>array(-9,241,213,613),694=>array(50,344,292,613),695=>array(2,344,386,613),696=>array(8,235,274,613),697=>array(46,462,192,716),698=>array(46,462,342,716),699=>array(64,494,166,728),700=>array(56,482,158,716),701=>array(64,482,166,716),702=>array(44,497,178,716),703=>array(44,497,178,716),704=>array(9,428,230,720),705=>array(20,428,242,720),706=>array(57,423,264,675),707=>array(56,423,263,675),708=>array(34,445,286,652),709=>array(34,446,286,653),710=>array(12,591,321,728),711=>array(12,591,321,728),712=>array(66,506,126,716),713=>array(14,624,319,697),714=>array(111,591,291,728),715=>array(42,591,222,728),716=>array(66,-210,126,0),717=>array(14,-176,319,-113),718=>array(42,-210,222,-73),719=>array(111,-210,291,-73),720=>array(83,0,217,518),721=>array(83,382,217,518),722=>array(44,150,178,369),723=>array(44,150,178,369),724=>array(45,185,295,333),725=>array(45,185,295,333),726=>array(45,164,235,354),727=>array(65,254,297,300),728=>array(22,595,311,722),729=>array(121,611,211,711),730=>array(79,576,255,752),731=>array(89,-208,303,12),732=>array(3,605,330,716),733=>array(28,591,373,728),734=>array(20,195,329,389),736=>array(7,235,271,613),737=>array(50,344,103,716),738=>array(17,338,249,619),739=>array(4,344,271,613),740=>array(25,215,314,724),741=>array(22,0,280,716),742=>array(22,0,280,716),743=>array(22,0,280,716),744=>array(22,0,280,716),745=>array(22,0,280,716),768=>array(-368,591,-188,728),769=>array(-343,591,-163,728),770=>array(-432,591,-124,728),771=>array(-441,605,-114,716),772=>array(-430,624,-125,697),773=>array(-534,624,-22,674),774=>array(-422,595,-133,722),775=>array(-323,611,-233,711),776=>array(-414,611,-143,711),777=>array(-384,722,-172,895),778=>array(-366,574,-190,752),779=>array(-426,591,-81,728),780=>array(-432,591,-124,728),781=>array(-308,591,-248,801),782=>array(-383,591,-173,801),783=>array(-451,591,-105,728),784=>array(-422,595,-133,822),785=>array(-422,595,-133,722),786=>array(-333,591,-231,825),787=>array(-325,579,-223,813),788=>array(-333,579,-231,813),789=>array(7,482,109,716),790=>array(-368,-210,-188,-73),791=>array(-343,-210,-163,-73),792=>array(-337,-252,-219,-62),793=>array(-337,-252,-219,-62),794=>array(-392,591,-164,769),795=>array(-100,330,55,606),796=>array(-326,-210,-230,-40),797=>array(-403,-210,-153,-62),798=>array(-403,-210,-153,-62),799=>array(-373,-252,-183,-62),800=>array(-404,-165,-152,-119),801=>array(-397,-208,-158,20),802=>array(-272,-208,-33,20),803=>array(-323,-210,-233,-110),804=>array(-414,-210,-143,-110),805=>array(-366,-210,-190,-32),806=>array(-325,-210,-223,-46),807=>array(-381,-205,-169,11),808=>array(-326,-208,-112,12),809=>array(-308,-210,-248,-40),810=>array(-407,-190,-148,-77),811=>array(-414,-205,-142,-43),812=>array(-432,-210,-124,-73),813=>array(-432,-210,-124,-73),814=>array(-422,-200,-133,-73),815=>array(-422,-200,-133,-73),816=>array(-441,-185,-114,-72),817=>array(-430,-179,-125,-106),818=>array(-534,-125,-22,-75),819=>array(-534,-210,-22,-55),820=>array(-441,203,-114,316),821=>array(-430,223,-125,296),822=>array(-500,223,-56,296),823=>array(-458,84,-98,434),824=>array(-678,-24,-100,716),825=>array(-311,-210,-216,-40),826=>array(-407,-190,-148,-77),827=>array(-359,-210,-196,-47),828=>array(-414,-186,-142,-83),829=>array(-412,558,-144,790),830=>array(-333,595,-222,922),831=>array(-534,624,-22,779),832=>array(-368,722,-188,859),833=>array(-343,722,-163,859),834=>array(-441,604,-114,717),835=>array(-325,613,-223,847),836=>array(-456,585,-100,720),837=>array(-301,-210,-180,-60),864=>array(-1011,604,-101,716),865=>array(-1000,595,-112,722),884=>array(30,464,301,716),885=>array(30,-132,301,120),890=>array(80,-208,258,-42),894=>array(84,-141,190,518),900=>array(89,600,208,736),901=>array(-27,600,304,736),902=>array(-1,0,668,736),903=>array(89,303,189,403),904=>array(-43,0,651,736),905=>array(-43,0,679,736),906=>array(-43,0,224,736),908=>array(-6,-12,732,736),910=>array(-43,0,740,736),911=>array(-6,0,706,736),912=>array(-56,0,275,736),913=>array(-1,0,668,716),914=>array(74,0,615,716),915=>array(81,0,528,716),916=>array(6,0,675,716),917=>array(79,0,614,716),918=>array(18,0,584,716),919=>array(80,0,642,716),920=>array(47,-12,732,728),921=>array(92,0,187,716),922=>array(73,0,665,716),923=>array(5,0,659,716),924=>array(76,0,757,716),925=>array(79,0,642,716),926=>array(53,0,597,716),927=>array(47,-12,732,728),928=>array(80,0,642,716),929=>array(77,0,623,716),931=>array(47,0,554,716),932=>array(22,0,589,716),933=>array(5,0,661,716),934=>array(47,-26,761,737),935=>array(5,0,661,716),936=>array(46,0,759,716),937=>array(52,0,706,728),938=>array(3,0,274,860),939=>array(5,0,661,860),940=>array(35,-12,541,736),941=>array(29,-12,405,736),942=>array(68,-199,490,736),943=>array(67,0,188,736),944=>array(68,-12,483,736),945=>array(35,-12,541,530),946=>array(66,-199,528,728),947=>array(13,-199,488,518),948=>array(35,-12,522,716),949=>array(29,-12,405,530),950=>array(35,-210,433,716),951=>array(68,-199,490,530),952=>array(45,-12,511,728),953=>array(67,0,155,518),954=>array(65,0,499,518),955=>array(13,0,488,716),956=>array(66,-199,487,518),957=>array(13,0,488,518),958=>array(35,-210,420,728),959=>array(35,-12,521,530),960=>array(16,0,662,518),961=>array(66,-199,536,530),962=>array(35,-210,465,530),963=>array(35,-12,597,534),964=>array(16,0,366,518),965=>array(68,-12,483,518),966=>array(35,-199,614,530),967=>array(7,-199,515,518),968=>array(66,-199,662,518),969=>array(35,-12,731,518),970=>array(-25,0,246,711),971=>array(68,-12,483,711),972=>array(35,-12,521,736),973=>array(68,-12,483,736),974=>array(35,-12,731,736),976=>array(66,-12,528,728),977=>array(23,-12,595,728),978=>array(6,0,627,719),979=>array(-42,0,723,736),980=>array(6,0,627,861),981=>array(35,-199,609,716),982=>array(19,-12,746,518),986=>array(51,-210,671,728),988=>array(80,-209,529,716),990=>array(46,-209,524,728),992=>array(25,-12,645,728),994=>array(80,-209,800,716),995=>array(63,-209,767,518),996=>array(58,0,604,720),997=>array(46,-199,492,521),998=>array(80,-187,626,716),999=>array(25,-13,494,589),1000=>array(46,-12,511,728),1001=>array(48,-196,463,530),1002=>array(3,0,621,716),1003=>array(15,0,591,530),1004=>array(62,-12,596,747),1005=>array(35,-12,597,576),1006=>array(19,0,549,716),1007=>array(11,-196,423,606),1008=>array(20,-11,580,528),1009=>array(66,-209,536,530),1010=>array(39,-12,491,530),1011=>array(-45,-209,155,716),1025=>array(79,0,614,859),1026=>array(25,-11,826,716),1027=>array(80,0,543,869),1028=>array(47,-12,680,728),1029=>array(45,-12,615,728),1030=>array(92,0,187,716),1031=>array(1,0,272,859),1032=>array(27,-12,420,716),1033=>array(9,-11,1070,716),1034=>array(80,0,973,716),1035=>array(24,0,809,716),1036=>array(80,0,580,869),1038=>array(5,-9,633,881),1039=>array(80,-199,643,716),1040=>array(-1,0,668,716),1041=>array(80,0,620,716),1042=>array(74,0,615,716),1043=>array(80,0,543,716),1044=>array(1,-167,642,716),1045=>array(79,0,614,716),1046=>array(3,0,919,716),1047=>array(39,-13,562,728),1048=>array(79,0,643,716),1049=>array(79,0,643,881),1050=>array(80,0,580,717),1051=>array(9,-11,625,716),1052=>array(76,0,757,716),1053=>array(80,0,642,716),1054=>array(47,-12,732,728),1055=>array(80,0,643,716),1056=>array(77,0,623,716),1057=>array(51,-12,683,728),1058=>array(22,0,589,716),1059=>array(5,-9,633,716),1060=>array(40,0,720,716),1061=>array(5,0,661,716),1062=>array(78,-199,706,716),1063=>array(58,0,604,716),1064=>array(80,0,840,716),1065=>array(80,-199,904,716),1066=>array(0,0,757,716),1067=>array(80,0,801,716),1068=>array(80,0,620,716),1069=>array(38,-12,671,728),1070=>array(80,-12,960,728),1071=>array(11,0,642,716),1072=>array(38,-12,516,530),1073=>array(45,-12,532,732),1074=>array(66,0,492,518),1075=>array(66,0,364,518),1076=>array(0,-147,553,518),1077=>array(39,-12,517,530),1078=>array(-3,0,671,518),1079=>array(24,-12,423,530),1080=>array(66,0,493,518),1081=>array(66,0,493,716),1082=>array(66,0,446,518),1083=>array(11,-3,505,518),1084=>array(66,0,617,518),1085=>array(66,0,486,518),1086=>array(35,-12,521,530),1087=>array(67,0,476,518),1088=>array(68,-199,518,530),1089=>array(39,-12,491,530),1090=>array(18,0,439,518),1091=>array(16,-210,492,518),1092=>array(37,-199,788,716),1093=>array(7,0,493,518),1094=>array(66,-199,532,518),1095=>array(46,0,467,518),1096=>array(69,0,734,518),1097=>array(69,-199,792,518),1098=>array(0,0,589,518),1099=>array(66,0,646,518),1100=>array(66,0,492,518),1101=>array(24,-11,474,530),1102=>array(66,-11,709,530),1103=>array(16,0,475,518),1105=>array(39,-12,517,720),1106=>array(2,-209,490,716),1107=>array(66,0,364,720),1108=>array(37,-11,487,530),1109=>array(31,-12,461,530),1110=>array(67,0,155,716),1111=>array(4,0,275,720),1112=>array(-45,-209,155,716),1113=>array(11,-3,842,518),1114=>array(66,0,780,518),1115=>array(2,0,490,716),1116=>array(66,0,446,720),1118=>array(16,-210,492,716),1119=>array(67,-199,476,518),1120=>array(47,-12,929,730),1121=>array(35,-12,731,518),1122=>array(0,0,622,716),1123=>array(-2,0,491,716),1124=>array(92,-12,912,728),1125=>array(68,-11,671,530),1126=>array(-2,0,668,716),1127=>array(0,0,595,518),1128=>array(92,0,952,716),1129=>array(68,0,817,518),1130=>array(0,0,654,716),1131=>array(1,0,599,518),1132=>array(92,0,932,716),1133=>array(68,0,820,518),1134=>array(37,-209,562,898),1135=>array(28,-209,423,728),1136=>array(46,0,759,716),1137=>array(66,-199,662,518),1138=>array(47,-12,732,728),1139=>array(35,-11,521,530),1140=>array(6,0,674,716),1141=>array(13,0,497,518),1142=>array(6,0,674,898),1143=>array(13,0,497,728),1144=>array(47,-210,1268,728),1145=>array(35,-210,1049,530),1146=>array(47,-36,732,750),1147=>array(35,-24,521,542),1148=>array(47,-12,929,926),1149=>array(35,-12,731,758),1150=>array(47,-12,929,880),1151=>array(35,-12,731,711),1152=>array(51,-97,672,728),1153=>array(39,-143,482,530),1154=>array(55,0,631,716),1155=>array(2,621,332,758),1156=>array(4,613,380,774),1157=>array(2,621,332,758),1158=>array(2,621,332,758),1168=>array(80,0,412,883),1169=>array(66,0,321,666),1170=>array(0,0,543,716),1171=>array(-2,0,364,518),1172=>array(80,-185,622,716),1173=>array(67,-209,490,716),1174=>array(3,-199,919,716),1175=>array(-3,-199,671,518),1176=>array(39,-205,562,728),1177=>array(24,-205,423,530),1178=>array(80,-199,580,717),1179=>array(66,-199,446,518),1180=>array(80,0,580,717),1181=>array(66,0,446,518),1182=>array(0,0,580,717),1183=>array(-2,0,446,518),1184=>array(24,0,762,717),1185=>array(0,0,544,518),1186=>array(80,-199,707,716),1187=>array(66,-199,543,518),1188=>array(80,0,880,716),1189=>array(66,0,653,518),1190=>array(80,-174,704,716),1191=>array(67,-174,537,518),1192=>array(47,-154,732,728),1193=>array(35,-141,550,530),1194=>array(51,-208,684,728),1195=>array(39,-208,491,530),1196=>array(21,-199,589,716),1197=>array(18,-199,439,518),1198=>array(5,0,661,716),1199=>array(13,-199,488,518),1200=>array(5,0,661,716),1201=>array(13,-199,488,518),1202=>array(4,-199,660,716),1203=>array(7,-199,493,518),1204=>array(16,-199,882,716),1205=>array(18,-199,631,518),1206=>array(58,-199,670,716),1207=>array(46,-199,524,518),1208=>array(58,0,604,716),1209=>array(46,0,467,518),1210=>array(81,0,627,716),1211=>array(67,0,490,716),1212=>array(7,-12,784,728),1213=>array(7,-11,624,530),1214=>array(7,-208,784,728),1215=>array(7,-208,624,530),1216=>array(92,0,187,716),1217=>array(3,0,919,881),1218=>array(-3,0,671,716),1219=>array(80,-174,580,717),1220=>array(66,-174,445,519),1223=>array(80,-174,703,716),1224=>array(66,-174,547,518),1227=>array(58,-199,604,716),1228=>array(46,-199,467,518),1232=>array(-2,0,668,881),1233=>array(38,-12,516,716),1234=>array(-1,0,668,861),1235=>array(38,-12,516,721),1236=>array(0,0,945,716),1237=>array(34,-12,849,530),1238=>array(79,0,613,881),1239=>array(39,-12,517,716),1240=>array(45,-12,676,728),1241=>array(39,-11,517,530),1242=>array(45,-12,676,859),1243=>array(39,-11,517,719),1244=>array(3,0,919,859),1245=>array(-3,0,671,721),1246=>array(39,-13,562,861),1247=>array(24,-12,423,721),1248=>array(39,-13,562,716),1249=>array(24,-206,457,518),1250=>array(79,0,643,833),1251=>array(66,0,493,697),1252=>array(79,0,643,861),1253=>array(66,0,493,721),1254=>array(47,-12,732,861),1255=>array(35,-12,521,721),1256=>array(47,-12,732,728),1257=>array(35,-11,521,530),1258=>array(47,-12,732,861),1259=>array(35,-11,521,721),1262=>array(5,-9,633,833),1263=>array(16,-210,492,697),1264=>array(5,-9,633,861),1265=>array(16,-210,492,721),1266=>array(5,-9,633,898),1267=>array(16,-210,492,728),1268=>array(58,0,604,861),1269=>array(46,0,467,721),1272=>array(80,0,801,861),1273=>array(66,0,646,721),1329=>array(25,-9,618,678),1330=>array(90,-1,481,685),1331=>array(31,-1,563,684),1332=>array(34,-1,564,684),1333=>array(30,-11,468,677),1334=>array(56,-22,510,692),1335=>array(27,-185,407,671),1336=>array(89,-96,476,684),1337=>array(98,0,722,683),1338=>array(46,-11,613,678),1339=>array(24,-2,503,676),1340=>array(28,-185,357,672),1341=>array(24,-12,539,676),1342=>array(38,-11,675,676),1343=>array(32,-2,462,676),1344=>array(28,-61,410,690),1345=>array(31,-11,515,689),1346=>array(27,-96,559,683),1347=>array(63,0,487,708),1348=>array(26,-11,620,677),1349=>array(101,-10,631,684),1350=>array(36,-11,594,685),1351=>array(32,-11,602,684),1352=>array(90,-1,460,684),1353=>array(69,-19,489,689),1354=>array(78,-1,614,683),1355=>array(55,-23,508,690),1356=>array(86,-2,619,683),1357=>array(30,-12,462,675),1358=>array(37,-96,665,676),1359=>array(101,-11,501,683),1360=>array(87,-7,452,677),1361=>array(104,-15,498,680),1362=>array(23,-7,511,671),1363=>array(106,-6,608,672),1364=>array(35,-8,675,678),1365=>array(100,-16,547,679),1366=>array(76,-15,713,680),1369=>array(87,485,211,705),1370=>array(83,485,207,705),1371=>array(34,485,114,702),1372=>array(20,425,282,702),1373=>array(87,518,210,699),1374=>array(14,476,257,702),1375=>array(38,484,397,702),1377=>array(39,-8,552,315),1378=>array(52,-210,400,319),1379=>array(52,-210,402,319),1380=>array(49,-210,433,319),1381=>array(49,-8,391,613),1382=>array(48,-210,409,319),1383=>array(50,-122,393,613),1384=>array(52,-210,395,319),1385=>array(49,-210,437,319),1386=>array(40,-8,430,613),1387=>array(44,-210,394,613),1388=>array(37,-210,309,315),1389=>array(38,-210,482,613),1390=>array(45,-8,413,580),1391=>array(53,-210,391,613),1392=>array(45,0,398,613),1393=>array(51,-8,397,561),1394=>array(50,-210,401,319),1395=>array(8,-8,386,618),1396=>array(44,-8,404,618),1397=>array(6,-210,197,315),1398=>array(90,-9,394,618),1399=>array(37,-8,359,319),1400=>array(50,0,397,319),1401=>array(79,-210,318,376),1402=>array(39,-210,551,315),1403=>array(55,-210,411,319),1404=>array(29,0,420,319),1405=>array(49,-9,393,315),1406=>array(43,-210,393,613),1407=>array(42,-8,550,319),1408=>array(52,-210,399,319),1409=>array(49,-210,393,319),1410=>array(32,0,308,315),1411=>array(39,-210,550,613),1412=>array(47,0,337,618),1413=>array(52,-8,336,319),1414=>array(78,-210,541,610),1415=>array(49,-8,502,613),1417=>array(80,-21,197,335),1425=>array(97,-194,263,-63),1426=>array(37,568,323,664),1427=>array(112,569,249,789),1428=>array(147,568,213,728),1429=>array(106,568,262,728),1430=>array(104,-195,256,-43),1431=>array(133,568,227,662),1432=>array(82,568,278,684),1433=>array(0,568,152,720),1434=>array(229,-205,340,-43),1435=>array(104,-195,256,-43),1436=>array(104,568,256,720),1437=>array(208,568,360,720),1438=>array(108,568,360,750),1439=>array(12,568,348,716),1440=>array(200,568,348,716),1441=>array(58,568,303,716),1443=>array(92,-191,221,-62),1444=>array(117,-205,228,-43),1445=>array(104,-195,256,-43),1446=>array(54,-215,306,-33),1447=>array(117,-209,242,-35),1448=>array(104,568,256,720),1449=>array(12,568,160,716),1450=>array(97,-194,263,-63),1451=>array(117,568,228,730),1452=>array(92,580,221,709),1453=>array(208,-195,360,-43),1454=>array(0,568,196,684),1455=>array(125,568,235,678),1456=>array(147,-210,213,-50),1457=>array(53,-210,307,-50),1458=>array(69,-210,285,-50),1459=>array(69,-210,285,-50),1460=>array(147,-116,213,-50),1461=>array(100,-116,260,-50),1462=>array(100,-210,260,-50),1463=>array(119,-104,241,-62),1464=>array(119,-144,241,-62),1465=>array(147,568,213,634),1467=>array(53,-210,307,-50),1468=>array(147,231,213,297),1469=>array(159,-184,201,-62),1470=>array(24,430,342,518),1471=>array(119,580,241,622),1472=>array(72,-80,154,598),1473=>array(147,568,213,634),1474=>array(147,568,213,634),1475=>array(69,0,169,518),1476=>array(147,568,213,634),1488=>array(60,0,517,518),1489=>array(38,0,533,530),1490=>array(20,0,386,530),1491=>array(24,0,482,518),1492=>array(72,0,526,530),1493=>array(16,0,248,530),1494=>array(28,0,306,543),1495=>array(72,0,526,530),1496=>array(68,-12,532,530),1497=>array(16,258,248,530),1498=>array(20,-199,439,530),1499=>array(38,-12,469,530),1500=>array(33,-12,436,716),1501=>array(72,0,526,518),1502=>array(30,0,526,530),1503=>array(16,-199,248,530),1504=>array(38,0,270,530),1505=>array(25,-12,546,530),1506=>array(32,-82,503,518),1507=>array(45,-199,499,530),1508=>array(37,-12,511,530),1509=>array(37,-199,468,518),1510=>array(45,0,477,518),1511=>array(72,-199,535,518),1512=>array(20,0,439,530),1513=>array(72,-12,674,518),1514=>array(21,-13,565,530),1520=>array(16,0,522,530),1521=>array(16,0,522,530),1522=>array(16,258,522,530),1523=>array(45,398,221,641),1524=>array(45,398,417,641),1548=>array(90,-3,196,238),1563=>array(90,0,196,479),1567=>array(47,0,509,728),1569=>array(54,0,469,422),1570=>array(-23,0,270,862),1571=>array(46,0,188,933),1572=>array(-108,-210,408,761),1573=>array(46,-174,188,716),1574=>array(32,-121,679,453),1575=>array(79,0,164,716),1576=>array(62,-190,709,265),1577=>array(62,-6,452,633),1578=>array(62,-50,709,437),1579=>array(62,-50,709,539),1580=>array(52,-271,564,453),1581=>array(52,-271,564,453),1582=>array(52,-271,564,621),1583=>array(38,0,368,437),1584=>array(38,0,368,629),1585=>array(-74,-210,357,290),1586=>array(-74,-210,357,470),1587=>array(39,-228,1115,346),1588=>array(39,-228,1115,604),1589=>array(39,-228,1230,436),1590=>array(39,-228,1230,532),1591=>array(59,0,782,686),1592=>array(59,0,782,686),1593=>array(53,-271,565,492),1594=>array(53,-271,565,725),1600=>array(-1,0,280,95),1601=>array(62,0,895,773),1602=>array(34,-214,738,678),1603=>array(62,0,689,716),1604=>array(34,-121,594,716),1605=>array(58,-265,527,359),1606=>array(62,-121,630,456),1607=>array(62,-6,452,431),1608=>array(-108,-210,408,476),1609=>array(32,-121,679,453),1610=>array(32,-238,679,453),1611=>array(10,716,290,944),1612=>array(4,716,292,990),1613=>array(8,-255,288,-78),1614=>array(10,716,290,859),1615=>array(4,716,292,990),1616=>array(8,-170,288,-78),1617=>array(7,716,299,936),1618=>array(3,716,201,965),1632=>array(130,59,348,260),1633=>array(99,0,282,576),1634=>array(35,0,451,576),1635=>array(39,0,473,576),1636=>array(63,-6,443,586),1637=>array(45,-6,435,576),1638=>array(29,0,450,576),1639=>array(21,-6,459,576),1640=>array(21,0,459,582),1641=>array(42,0,466,582),1642=>array(37,-3,516,579),1643=>array(-19,-151,205,100),1644=>array(90,-3,196,238),1645=>array(20,163,418,576),1648=>array(127,716,173,984),1649=>array(-15,0,256,927),1650=>array(-47,0,196,936),1651=>array(-55,-257,188,716),1652=>array(46,716,188,933),1653=>array(79,0,384,777),1654=>array(-108,-210,551,641),1655=>array(-108,-210,551,754),1656=>array(32,-121,775,621),1657=>array(62,-50,709,569),1658=>array(62,-50,709,568),1659=>array(62,-271,709,265),1660=>array(62,-161,709,437),1661=>array(62,-50,709,539),1662=>array(62,-271,709,265),1663=>array(62,-50,709,569),1664=>array(62,-271,709,265),1665=>array(52,-271,564,621),1666=>array(52,-271,564,724),1667=>array(52,-271,564,453),1668=>array(52,-271,564,453),1669=>array(52,-271,564,695),1670=>array(52,-271,564,453),1671=>array(52,-271,564,453),1672=>array(38,0,368,746),1673=>array(38,-95,368,437),1674=>array(38,-155,368,437),1675=>array(38,-155,368,746),1676=>array(38,0,368,614),1677=>array(38,-140,368,437),1678=>array(38,0,368,716),1679=>array(38,0,368,716),1680=>array(38,0,368,746),1681=>array(-74,-210,360,587),1682=>array(-74,-210,357,526),1683=>array(-74,-258,357,290),1684=>array(-74,-267,378,290),1685=>array(-74,-269,442,290),1686=>array(-74,-267,378,290),1687=>array(-74,-210,360,455),1688=>array(-74,-210,360,557),1689=>array(-74,-210,357,587),1690=>array(39,-228,1115,517),1691=>array(39,-254,1115,346),1692=>array(39,-254,1115,603),1693=>array(39,-228,1230,436),1694=>array(39,-228,1230,619),1695=>array(59,0,782,686),1696=>array(53,-271,565,749),1697=>array(62,0,895,556),1698=>array(62,-134,895,556),1699=>array(62,-134,895,773),1700=>array(62,0,895,860),1701=>array(62,-221,895,556),1702=>array(62,0,895,891),1703=>array(34,-214,738,693),1704=>array(34,-214,738,780),1705=>array(62,0,827,717),1706=>array(62,0,997,717),1707=>array(62,0,827,717),1708=>array(62,0,689,759),1709=>array(62,0,689,846),1710=>array(62,-223,689,716),1711=>array(62,0,827,793),1712=>array(62,0,827,793),1713=>array(62,0,827,863),1714=>array(62,-169,827,793),1715=>array(62,-271,827,793),1716=>array(62,0,827,942),1717=>array(34,-121,618,952),1718=>array(34,-121,594,914),1719=>array(34,-121,647,1001),1722=>array(62,-121,630,272),1723=>array(62,-121,630,570),1724=>array(62,-232,630,455),1725=>array(62,-121,630,540),1726=>array(29,-15,644,593),1728=>array(62,-6,452,705),1729=>array(2,-85,510,159),1730=>array(2,-85,510,431),1731=>array(2,-85,510,347),1732=>array(-108,-210,408,476),1733=>array(-108,-210,408,476),1734=>array(-108,-210,408,712),1735=>array(-108,-210,408,758),1736=>array(-108,-210,408,789),1737=>array(-108,-210,408,713),1738=>array(-108,-210,408,655),1739=>array(-108,-210,408,757),1740=>array(32,-121,679,453),1741=>array(-4,-121,789,453),1742=>array(32,-121,679,576),1744=>array(32,-271,679,493),1745=>array(32,-263,679,493),1746=>array(71,-221,684,297),1747=>array(71,-221,684,349),1748=>array(-1,190,280,285),1749=>array(62,-6,452,431),1750=>array(27,352,699,802),1751=>array(27,352,531,802),1752=>array(35,573,287,788),1753=>array(5,573,284,1002),1754=>array(34,354,341,789),1755=>array(25,635,347,869),1756=>array(23,436,669,781),1757=>array(34,27,654,647),1758=>array(2,-87,850,761),1759=>array(78,687,209,808),1760=>array(78,687,209,808),1761=>array(-1,576,340,848),1762=>array(34,414,316,789),1763=>array(23,-267,669,78),1764=>array(-14,714,162,756),1765=>array(-42,395,268,807),1766=>array(36,443,404,754),1767=>array(36,443,404,754),1768=>array(37,573,378,919),1769=>array(34,0,480,736),1770=>array(35,-161,183,-13),1771=>array(35,641,183,789),1772=>array(35,641,183,789),1773=>array(34,-270,316,105),1776=>array(130,59,348,260),1777=>array(99,0,282,576),1778=>array(35,0,451,576),1779=>array(39,0,473,576),1780=>array(35,0,471,661),1781=>array(30,-6,450,576),1782=>array(94,0,403,576),1783=>array(21,-6,459,576),1784=>array(21,0,459,582),1785=>array(42,0,466,582),2305=>array(-375,608,-50,889),2306=>array(-239,608,-109,843),2307=>array(78,69,216,513),2309=>array(42,-17,706,608),2310=>array(42,-18,923,608),2311=>array(-1,-114,545,608),2312=>array(-1,-114,545,891),2313=>array(-1,11,603,608),2314=>array(-1,11,726,608),2315=>array(-1,-44,933,608),2316=>array(-1,-44,690,608),2317=>array(-1,-187,624,864),2318=>array(-1,-187,624,886),2319=>array(-1,-187,624,608),2320=>array(-1,-187,624,889),2321=>array(42,-18,923,864),2322=>array(42,-18,923,886),2323=>array(42,-14,922,889),2324=>array(42,-17,922,892),2325=>array(-1,-17,680,608),2326=>array(-1,-15,745,608),2327=>array(-1,-15,605,608),2328=>array(-1,-17,652,608),2329=>array(-1,0,636,608),2330=>array(-1,-15,700,608),2331=>array(-1,-80,726,608),2332=>array(-1,-17,700,608),2333=>array(-1,-17,725,608),2334=>array(-1,-15,710,608),2335=>array(-1,0,515,608),2336=>array(-1,0,545,608),2337=>array(-1,0,595,608),2338=>array(-1,0,535,608),2339=>array(-1,-17,706,608),2340=>array(-1,-17,598,608),2341=>array(42,-14,650,608),2342=>array(-1,-14,545,608),2343=>array(42,-18,653,616),2344=>array(-1,-15,598,608),2345=>array(-1,-33,598,608),2346=>array(-1,-17,578,608),2347=>array(-2,-15,712,608),2348=>array(-1,-17,604,608),2349=>array(39,-17,702,608),2350=>array(-1,-17,646,608),2351=>array(-1,-17,613,608),2352=>array(-1,-14,499,608),2353=>array(-1,-19,499,608),2354=>array(-1,-14,692,608),2355=>array(-1,0,742,608),2356=>array(-1,-122,742,608),2357=>array(-1,-15,604,608),2358=>array(38,-18,696,616),2359=>array(-1,-15,621,608),2360=>array(-1,-17,659,608),2361=>array(-1,-238,559,608),2364=>array(-404,-197,-274,-67),2365=>array(28,50,386,608),2366=>array(-1,-17,332,608),2367=>array(-1,-15,776,895),2368=>array(-254,-15,332,895),2369=>array(-463,-256,-31,7),2370=>array(-345,-262,84,7),2371=>array(-330,-249,-50,13),2372=>array(-321,-271,-24,46),2373=>array(-338,608,-49,864),2374=>array(-546,598,-135,886),2375=>array(-534,598,-135,889),2376=>array(-475,599,-135,892),2377=>array(-19,-17,332,864),2378=>array(-228,-17,332,886),2379=>array(-260,-17,332,889),2380=>array(-152,-17,332,892),2381=>array(-251,-271,32,0),2384=>array(47,97,830,792),2385=>array(-212,608,-135,788),2386=>array(-612,-99,0,-29),2387=>array(-349,645,-184,832),2388=>array(-261,645,-96,832),2392=>array(-1,-17,680,608),2393=>array(-1,-104,745,608),2394=>array(-1,-54,605,608),2395=>array(-1,-66,700,608),2396=>array(-1,-67,595,608),2397=>array(-1,-77,535,608),2398=>array(-2,-15,712,608),2399=>array(-1,-38,613,608),2400=>array(-1,-71,933,608),2401=>array(-1,-71,690,608),2402=>array(-418,-271,26,13),2403=>array(-418,-271,60,13),2404=>array(128,-17,203,617),2405=>array(128,-17,385,616),2406=>array(147,115,491,468),2407=>array(179,-134,455,689),2408=>array(99,-123,542,644),2409=>array(125,-106,492,677),2410=>array(12,112,617,685),2411=>array(82,-149,576,658),2412=>array(118,-130,545,653),2413=>array(73,23,570,569),2414=>array(84,29,570,667),2415=>array(119,-92,575,648),2416=>array(64,292,298,525),2433=>array(-296,703,10,875),2434=>array(66,-56,396,605),2435=>array(92,0,338,606),2437=>array(0,0,794,607),2438=>array(0,0,1039,690),2439=>array(0,-94,590,875),2440=>array(0,-22,611,875),2441=>array(0,1,656,875),2442=>array(0,0,765,875),2443=>array(54,0,766,688),2444=>array(33,1,596,651),2447=>array(38,0,593,605),2448=>array(38,0,701,876),2451=>array(57,1,629,609),2452=>array(57,1,728,876),2453=>array(0,0,787,607),2454=>array(54,0,663,625),2455=>array(44,0,614,607),2456=>array(0,0,658,607),2457=>array(51,0,621,607),2458=>array(0,0,563,607),2459=>array(0,-93,593,607),2460=>array(0,-42,737,607),2461=>array(0,0,761,607),2462=>array(38,0,829,606),2463=>array(0,0,575,875),2464=>array(0,0,634,876),2465=>array(0,1,656,607),2466=>array(0,0,575,607),2467=>array(55,0,606,607),2468=>array(0,1,688,607),2469=>array(50,0,653,607),2470=>array(0,-24,617,607),2471=>array(45,0,604,624),2472=>array(0,0,603,607),2474=>array(44,0,643,607),2475=>array(0,0,789,607),2476=>array(0,0,601,607),2477=>array(0,2,685,607),2478=>array(0,0,629,607),2479=>array(0,0,609,607),2480=>array(0,-18,601,607),2482=>array(0,-0,648,607),2486=>array(0,0,606,626),2487=>array(0,0,604,607),2488=>array(0,0,645,607),2489=>array(0,-94,590,607),2492=>array(-366,-164,-233,-32),2494=>array(0,0,253,690),2495=>array(0,0,531,850),2496=>array(-334,0,253,875),2497=>array(-357,-269,39,5),2498=>array(-359,-269,21,-73),2499=>array(-314,-270,-60,-77),2500=>array(-380,-271,98,24),2503=>array(0,1,317,607),2504=>array(0,1,317,875),2507=>array(0,0,940,690),2508=>array(0,0,940,875),2509=>array(-187,-267,26,-73),2519=>array(-250,0,253,875),2524=>array(0,-164,656,607),2525=>array(0,-164,561,607),2527=>array(0,-42,604,607),2528=>array(54,-93,766,688),2529=>array(33,-271,596,651),2530=>array(-381,-271,-4,23),2531=>array(-401,-271,333,151),2534=>array(62,55,548,550),2535=>array(46,0,513,624),2536=>array(58,-51,583,636),2537=>array(53,2,671,606),2538=>array(67,0,547,653),2539=>array(62,1,632,638),2540=>array(52,1,616,622),2541=>array(69,0,498,624),2542=>array(55,0,641,622),2543=>array(53,1,559,622),2544=>array(0,0,601,607),2545=>array(0,-51,601,607),2546=>array(36,0,581,606),2547=>array(-87,0,575,875),2548=>array(26,0,571,606),2549=>array(44,1,669,606),2550=>array(54,0,624,606),2551=>array(103,0,165,607),2552=>array(52,0,564,605),2553=>array(48,154,376,451),2554=>array(74,349,492,788),2562=>array(-156,578,-79,731),2565=>array(0,0,696,578),2566=>array(0,0,940,578),2567=>array(0,0,808,822),2568=>array(0,0,808,822),2569=>array(0,-267,683,839),2570=>array(0,-267,683,839),2575=>array(0,2,562,793),2576=>array(0,0,696,839),2579=>array(0,-2,683,836),2580=>array(0,0,696,839),2581=>array(0,0,607,578),2582=>array(0,0,572,578),2583=>array(0,0,646,578),2584=>array(0,0,692,578),2585=>array(0,0,570,578),2586=>array(0,1,597,578),2587=>array(0,0,607,578),2588=>array(0,0,596,578),2589=>array(0,0,546,578),2590=>array(0,0,563,578),2591=>array(0,0,548,578),2592=>array(0,0,586,578),2593=>array(0,0,601,578),2594=>array(0,0,645,578),2595=>array(0,0,645,578),2596=>array(0,0,596,578),2597=>array(0,0,569,578),2598=>array(0,0,645,578),2599=>array(0,0,569,578),2600=>array(0,0,587,578),2602=>array(0,0,569,578),2603=>array(0,0,556,578),2604=>array(0,0,564,578),2605=>array(0,0,554,578),2606=>array(0,0,563,578),2607=>array(0,0,657,578),2608=>array(0,4,545,578),2610=>array(0,-0,682,578),2611=>array(0,-96,682,578),2613=>array(0,0,606,578),2614=>array(0,0,563,578),2616=>array(0,0,563,578),2617=>array(0,0,554,578),2620=>array(-208,-154,-131,-77),2622=>array(0,216,251,578),2623=>array(0,0,397,822),2624=>array(-151,0,251,822),2625=>array(-388,-267,-50,0),2626=>array(-388,-267,-50,0),2631=>array(-473,578,-90,793),2632=>array(-471,578,-90,839),2635=>array(-411,572,-90,803),2636=>array(-379,578,-27,839),2637=>array(-235,-238,51,0),2649=>array(0,0,572,578),2650=>array(0,0,695,578),2651=>array(0,0,596,578),2652=>array(0,0,596,578),2654=>array(0,0,585,578),2662=>array(54,42,537,524),2663=>array(86,0,514,575),2664=>array(53,0,528,577),2665=>array(52,1,527,577),2666=>array(69,0,522,577),2667=>array(57,0,501,579),2668=>array(74,0,530,758),2669=>array(36,0,519,578),2670=>array(64,0,526,578),2671=>array(65,0,525,769),2672=>array(-103,664,103,841),2673=>array(-193,660,111,839),2674=>array(0,2,562,578),2675=>array(0,-2,683,839),2676=>array(28,-110,857,648),2689=>array(-429,608,-23,885),2690=>array(-179,608,-67,822),2691=>array(88,98,212,510),2693=>array(36,0,803,608),2694=>array(36,0,1062,610),2695=>array(42,-1,553,882),2696=>array(42,-1,606,882),2697=>array(60,0,545,742),2698=>array(60,-4,776,882),2699=>array(20,0,780,608),2701=>array(36,0,803,881),2703=>array(36,0,803,881),2704=>array(36,0,803,882),2705=>array(36,0,1062,881),2707=>array(36,0,1062,881),2708=>array(36,0,1062,882),2709=>array(35,0,411,610),2710=>array(5,0,792,608),2711=>array(25,0,625,608),2712=>array(52,-1,579,608),2713=>array(25,0,462,610),2714=>array(36,0,620,608),2715=>array(55,0,643,608),2716=>array(50,0,791,608),2717=>array(34,0,601,608),2718=>array(25,0,669,608),2719=>array(55,0,460,610),2720=>array(59,0,409,610),2721=>array(25,0,404,610),2722=>array(55,-1,447,608),2723=>array(98,-271,714,608),2724=>array(60,0,554,608),2725=>array(45,0,572,608),2726=>array(44,-1,480,608),2727=>array(27,0,561,727),2728=>array(43,0,602,608),2730=>array(5,0,592,608),2731=>array(50,-270,442,608),2732=>array(50,0,684,608),2733=>array(50,0,776,608),2734=>array(27,0,614,608),2735=>array(40,0,514,608),2736=>array(45,-2,411,609),2738=>array(55,0,633,608),2739=>array(52,0,676,609),2741=>array(50,0,558,608),2742=>array(52,0,633,610),2743=>array(75,0,528,608),2744=>array(43,0,684,608),2745=>array(69,0,573,610),2748=>array(-323,-182,-211,-70),2749=>array(52,0,436,608),2750=>array(98,0,291,610),2751=>array(98,0,660,883),2752=>array(-180,0,291,884),2753=>array(-412,-271,28,5),2754=>array(-323,-271,151,5),2755=>array(-271,-271,41,5),2756=>array(-275,-271,65,20),2757=>array(-452,608,-25,881),2759=>array(-509,608,-80,881),2760=>array(-544,608,-96,882),2761=>array(-179,0,291,881),2763=>array(-236,0,291,881),2764=>array(-271,0,291,882),2765=>array(-244,-249,186,5),2768=>array(46,0,815,881),2784=>array(20,-1,875,608),2790=>array(91,61,532,545),2791=>array(110,0,534,608),2792=>array(97,0,524,608),2793=>array(29,0,527,608),2794=>array(18,0,595,609),2795=>array(18,0,598,608),2796=>array(104,0,541,610),2797=>array(25,0,571,608),2798=>array(118,0,532,607),2799=>array(35,1,608,605),2817=>array(-374,776,37,979),2818=>array(34,379,271,717),2819=>array(59,0,332,717),2821=>array(42,0,508,717),2822=>array(42,0,726,717),2823=>array(39,-16,643,717),2824=>array(39,-16,643,717),2825=>array(39,-16,618,717),2826=>array(39,-16,625,717),2827=>array(39,-16,607,717),2828=>array(39,0,516,717),2831=>array(49,0,479,717),2832=>array(49,0,918,913),2835=>array(59,0,561,732),2836=>array(59,0,953,913),2837=>array(39,0,564,717),2838=>array(39,0,539,717),2839=>array(39,0,539,717),2840=>array(39,0,524,717),2841=>array(39,0,688,717),2842=>array(39,0,540,717),2843=>array(39,0,540,717),2844=>array(39,0,554,717),2845=>array(39,-15,540,732),2846=>array(54,0,532,717),2847=>array(39,0,539,717),2848=>array(44,0,534,717),2849=>array(39,0,540,717),2850=>array(39,-12,540,717),2851=>array(44,0,526,717),2852=>array(39,0,540,717),2853=>array(39,0,505,717),2854=>array(39,0,540,717),2855=>array(44,0,521,732),2856=>array(39,0,540,717),2858=>array(39,0,524,717),2859=>array(39,0,703,717),2860=>array(39,0,540,717),2861=>array(39,-16,628,717),2862=>array(39,-0,524,717),2863=>array(56,0,547,717),2864=>array(39,-16,604,717),2866=>array(39,-16,638,717),2867=>array(39,0,554,717),2870=>array(39,0,539,717),2871=>array(39,0,524,717),2872=>array(39,0,524,717),2873=>array(39,-30,540,717),2876=>array(-301,-176,-206,-84),2877=>array(71,0,273,717),2878=>array(82,0,136,717),2879=>array(-522,762,-17,918),2880=>array(-25,1,213,920),2881=>array(-443,-264,123,-51),2882=>array(-359,-271,171,-17),2883=>array(-325,-271,102,-18),2887=>array(59,0,436,717),2888=>array(59,0,1005,913),2891=>array(59,0,945,717),2892=>array(59,0,1006,913),2893=>array(-188,-267,161,-45),2902=>array(-515,717,-20,913),2903=>array(-297,0,198,913),2908=>array(39,-176,540,717),2909=>array(39,-176,540,717),2911=>array(23,-53,623,718),2912=>array(39,-16,607,717),2913=>array(39,-30,540,717),2918=>array(44,0,534,717),2919=>array(49,-12,441,717),2920=>array(39,-12,432,717),2921=>array(34,0,541,717),2922=>array(20,0,487,732),2923=>array(0,-21,605,717),2924=>array(34,-15,476,718),2925=>array(29,-9,495,729),2926=>array(82,0,495,717),2927=>array(54,-15,456,719),2928=>array(50,209,544,557),2946=>array(-388,499,-211,675),2947=>array(37,-11,698,702),2949=>array(22,-271,932,429),2950=>array(22,-271,1071,429),2951=>array(19,-271,915,702),2952=>array(70,0,621,417),2953=>array(55,0,988,429),2954=>array(55,0,1221,429),2958=>array(52,-11,721,417),2959=>array(52,-110,726,417),2960=>array(27,-271,813,429),2962=>array(49,-271,711,429),2963=>array(49,-271,711,429),2964=>array(49,-271,1631,429),2965=>array(36,-11,610,417),2969=>array(70,0,759,417),2970=>array(36,-11,565,417),2972=>array(28,-271,815,429),2974=>array(63,-271,928,417),2975=>array(70,0,778,417),2979=>array(52,-11,1290,429),2980=>array(-4,-271,600,417),2984=>array(-0,-271,577,417),2985=>array(52,-11,1007,429),2986=>array(70,0,623,417),2990=>array(70,0,667,429),2991=>array(83,-11,719,417),2992=>array(70,-113,540,417),2993=>array(2,-271,650,429),2994=>array(52,-11,768,510),2995=>array(52,-11,866,429),2996=>array(62,-271,665,429),2997=>array(52,-11,803,429),2999=>array(52,-271,1067,429),3000=>array(52,-11,1046,510),3001=>array(0,-271,1207,429),3006=>array(70,0,542,417),3007=>array(-245,1,112,702),3008=>array(-282,417,94,702),3009=>array(-117,145,458,417),3010=>array(-117,-52,754,636),3014=>array(61,-12,685,701),3015=>array(56,-11,659,702),3016=>array(52,-11,901,429),3018=>array(61,-12,1661,701),3019=>array(56,-11,1661,702),3020=>array(61,-12,1989,701),3021=>array(-364,523,-237,650),3031=>array(52,-11,866,429),3047=>array(36,-11,610,417),3048=>array(55,0,988,429),3049=>array(70,0,727,417),3050=>array(36,-11,682,417),3051=>array(70,-208,913,645),3052=>array(36,-11,857,417),3053=>array(52,-11,721,417),3054=>array(22,-271,932,429),3055=>array(36,-11,776,417),3056=>array(83,-11,662,702),3057=>array(71,0,714,429),3058=>array(-4,-271,745,417),3073=>array(57,-6,335,481),3074=>array(57,-13,544,471),3075=>array(65,-12,280,474),3077=>array(54,-11,667,474),3078=>array(54,-11,732,473),3079=>array(36,-229,513,472),3080=>array(24,-11,1108,664),3081=>array(57,-11,634,682),3082=>array(57,-11,996,682),3083=>array(57,-11,1239,474),3084=>array(44,-11,856,586),3086=>array(44,-11,556,702),3087=>array(44,-11,556,839),3088=>array(54,-11,656,475),3090=>array(57,-11,610,471),3091=>array(57,-11,610,642),3092=>array(6,-11,856,688),3093=>array(36,-11,474,664),3094=>array(51,-137,620,476),3095=>array(39,-14,510,664),3096=>array(35,-137,874,664),3097=>array(57,-11,610,472),3098=>array(24,-11,630,664),3099=>array(24,-137,630,664),3100=>array(57,-11,610,474),3101=>array(57,-136,1146,664),3102=>array(36,-229,715,472),3103=>array(57,-11,829,550),3104=>array(57,-11,540,664),3105=>array(57,-11,659,664),3106=>array(57,-137,659,664),3107=>array(63,-11,752,474),3108=>array(57,-11,659,664),3109=>array(60,-137,643,664),3110=>array(60,-11,643,664),3111=>array(60,-137,643,664),3112=>array(44,-11,547,664),3114=>array(35,-11,563,664),3115=>array(35,-137,563,664),3116=>array(57,-11,621,473),3117=>array(57,-137,663,664),3118=>array(44,-11,873,664),3119=>array(57,-12,1144,664),3120=>array(57,-11,540,664),3121=>array(57,-12,837,476),3122=>array(57,-11,571,474),3123=>array(48,-11,561,664),3125=>array(44,-11,561,664),3126=>array(48,-11,524,664),3127=>array(35,-137,759,664),3128=>array(24,-11,581,664),3129=>array(31,-11,893,664),3134=>array(6,305,626,545),3135=>array(17,462,281,785),3136=>array(10,462,289,980),3137=>array(-48,-9,302,474),3138=>array(-48,-9,665,545),3139=>array(-203,-271,294,474),3140=>array(-216,-271,687,473),3142=>array(6,466,618,688),3143=>array(6,466,617,889),3144=>array(6,-271,894,688),3146=>array(6,470,843,715),3147=>array(6,470,843,908),3148=>array(6,449,970,688),3149=>array(39,465,655,866),3157=>array(47,767,289,980),3158=>array(-670,-271,109,-31),3168=>array(57,-11,1602,545),3169=>array(44,-11,1263,545),3174=>array(158,-14,682,510),3175=>array(88,-14,752,510),3176=>array(54,0,726,510),3177=>array(199,-13,609,512),3178=>array(136,-12,704,519),3179=>array(60,-14,781,521),3180=>array(106,0,798,510),3181=>array(201,-15,668,513),3182=>array(65,-13,815,510),3183=>array(106,0,798,510),3202=>array(46,84,394,554),3203=>array(46,84,205,553),3205=>array(47,84,608,602),3206=>array(46,84,625,602),3207=>array(37,84,595,602),3208=>array(33,84,850,752),3209=>array(46,84,911,602),3210=>array(46,84,1247,602),3211=>array(37,84,1000,752),3212=>array(37,84,695,602),3214=>array(37,84,606,602),3215=>array(37,84,606,647),3216=>array(44,84,615,602),3218=>array(37,84,630,602),3219=>array(37,84,630,775),3220=>array(38,84,631,774),3221=>array(49,84,415,752),3222=>array(17,84,700,713),3223=>array(51,84,493,752),3224=>array(44,-79,742,752),3225=>array(37,84,630,602),3226=>array(37,84,633,752),3227=>array(46,-79,614,752),3228=>array(37,84,630,602),3229=>array(54,-79,1127,752),3230=>array(37,84,889,602),3231=>array(59,84,627,651),3232=>array(54,84,508,752),3233=>array(54,84,625,752),3234=>array(54,-79,625,752),3235=>array(54,84,682,602),3236=>array(46,84,500,752),3237=>array(54,-79,626,752),3238=>array(54,84,626,752),3239=>array(54,-79,626,752),3240=>array(46,46,514,752),3242=>array(46,84,620,752),3243=>array(46,-79,619,753),3244=>array(37,84,632,602),3245=>array(37,-79,643,752),3246=>array(49,84,928,752),3247=>array(46,84,1057,752),3248=>array(54,84,508,752),3249=>array(49,84,628,602),3250=>array(46,84,615,602),3251=>array(42,84,507,752),3253=>array(49,84,620,752),3254=>array(49,84,506,752),3255=>array(49,70,620,752),3256=>array(44,84,499,752),3257=>array(49,84,675,752),3262=>array(-21,84,370,588),3263=>array(-13,339,307,702),3264=>array(-13,46,635,702),3265=>array(-5,84,312,563),3266=>array(-5,84,673,560),3267=>array(22,-173,364,236),3268=>array(24,-173,614,253),3270=>array(-79,354,258,774),3271=>array(-79,46,606,774),3272=>array(-79,-173,438,774),3274=>array(-79,84,868,774),3275=>array(-79,46,1188,774),3276=>array(-160,276,395,774),3277=>array(-22,335,329,703),3285=>array(49,46,299,560),3286=>array(25,-173,364,301),3294=>array(49,84,624,602),3296=>array(37,84,1654,752),3297=>array(37,84,943,602),3302=>array(42,84,507,686),3303=>array(34,84,515,685),3304=>array(22,98,507,688),3305=>array(52,84,527,684),3306=>array(38,84,515,684),3307=>array(33,84,516,688),3308=>array(42,98,529,687),3309=>array(47,98,525,684),3310=>array(36,84,520,687),3311=>array(46,84,521,667),3330=>array(45,-9,323,269),3331=>array(49,-9,256,464),3333=>array(49,-9,1152,464),3334=>array(49,-173,1309,464),3335=>array(49,-232,856,464),3336=>array(49,-232,1411,464),3337=>array(49,-232,586,464),3338=>array(49,-232,1149,464),3339=>array(44,-271,817,464),3340=>array(49,-9,908,465),3342=>array(44,-271,1157,464),3343=>array(44,-271,1153,464),3344=>array(49,-271,1785,465),3346=>array(49,-9,601,464),3347=>array(49,-9,1065,464),3348=>array(49,-9,1146,464),3349=>array(42,-8,819,464),3350=>array(49,-9,907,465),3351=>array(44,-10,830,464),3352=>array(39,0,1279,464),3353=>array(49,-9,916,465),3354=>array(15,0,940,464),3355=>array(15,-9,1217,464),3356=>array(44,-51,663,464),3357=>array(49,-9,1410,464),3358=>array(49,-9,1166,465),3359=>array(39,-9,524,464),3360=>array(43,-9,517,464),3361=>array(44,-9,1146,464),3362=>array(44,-9,1195,465),3363=>array(49,-12,1219,465),3364=>array(49,-9,830,464),3365=>array(76,0,893,464),3366=>array(49,-9,501,464),3367=>array(49,-9,835,467),3368=>array(44,-12,830,464),3370=>array(44,-9,956,464),3371=>array(44,-9,1104,464),3372=>array(49,-9,1258,465),3373=>array(54,0,504,464),3374=>array(71,0,572,464),3375=>array(44,-9,905,464),3376=>array(49,-9,594,464),3377=>array(44,-8,506,464),3378=>array(76,0,869,464),3379=>array(44,-232,589,464),3380=>array(44,-9,514,464),3381=>array(49,-7,884,464),3382=>array(44,-9,888,464),3383=>array(44,-9,1043,464),3384=>array(44,-9,1146,464),3385=>array(44,-9,1063,464),3390=>array(42,-6,426,464),3391=>array(0,0,330,651),3392=>array(0,0,354,651),3393=>array(39,-271,301,466),3394=>array(39,-271,301,466),3395=>array(8,-271,458,466),3398=>array(49,-9,591,465),3399=>array(49,-8,476,464),3400=>array(49,-9,1230,465),3402=>array(49,-9,1319,465),3403=>array(49,-8,1209,464),3404=>array(49,-9,1398,465),3405=>array(-300,520,-19,721),3415=>array(39,-9,504,464),3424=>array(44,-271,817,464),3425=>array(49,-173,1058,465),3430=>array(49,-9,1080,464),3431=>array(15,-143,852,464),3432=>array(44,-7,840,464),3433=>array(44,-9,1166,464),3434=>array(44,-9,643,651),3435=>array(54,-243,918,651),3436=>array(44,-271,1162,464),3437=>array(49,-271,591,464),3438=>array(49,-271,884,464),3439=>array(44,-9,848,651),3585=>array(54,0,520,558),3586=>array(30,0,573,558),3587=>array(30,0,590,559),3588=>array(52,0,530,558),3589=>array(52,0,530,560),3590=>array(30,-5,590,559),3591=>array(25,-5,396,558),3592=>array(26,-5,481,558),3593=>array(30,-5,622,558),3594=>array(30,0,634,592),3595=>array(30,0,651,592),3596=>array(54,-5,741,558),3597=>array(54,-208,783,558),3598=>array(30,-203,545,558),3599=>array(30,-203,545,558),3600=>array(54,-206,477,560),3601=>array(30,0,710,559),3602=>array(52,-5,751,560),3603=>array(54,-5,857,558),3604=>array(52,0,530,558),3605=>array(52,0,530,560),3606=>array(54,-5,520,558),3607=>array(30,0,575,558),3608=>array(54,0,477,560),3609=>array(30,-5,622,558),3610=>array(30,0,533,558),3611=>array(30,0,533,830),3612=>array(78,0,552,558),3613=>array(78,0,552,830),3614=>array(30,0,620,558),3615=>array(30,0,620,830),3616=>array(30,-5,545,558),3617=>array(30,-5,506,558),3618=>array(75,0,513,558),3619=>array(54,-5,437,560),3620=>array(54,-199,520,558),3621=>array(44,-5,499,558),3622=>array(30,-199,545,558),3623=>array(19,-5,444,558),3624=>array(52,0,562,664),3625=>array(30,0,637,558),3626=>array(44,-5,544,659),3627=>array(30,0,584,558),3628=>array(30,0,684,723),3629=>array(36,0,491,558),3630=>array(61,0,545,656),3631=>array(30,0,442,558),3632=>array(44,49,418,510),3633=>array(-364,631,10,824),3634=>array(26,0,421,558),3635=>array(-223,0,421,767),3636=>array(-493,612,-109,775),3637=>array(-493,612,-109,800),3638=>array(-493,612,-64,800),3639=>array(-493,612,-109,800),3640=>array(-201,-206,-85,-34),3641=>array(-337,-206,-89,-34),3642=>array(-157,-115,-75,-33),3647=>array(84,-103,625,782),3648=>array(75,-5,272,553),3649=>array(75,-5,541,553),3650=>array(27,-5,466,830),3651=>array(30,-5,485,828),3652=>array(10,-5,485,828),3653=>array(26,-199,421,558),3654=>array(30,-199,431,559),3655=>array(-424,603,-47,849),3656=>array(-167,858,-109,1031),3657=>array(-293,858,1,1065),3658=>array(-342,858,98,1056),3659=>array(-225,858,-52,1031),3660=>array(-330,861,-18,1078),3661=>array(-223,609,-65,767),3662=>array(-203,858,-42,1067),3663=>array(60,-5,495,430),3664=>array(60,-5,538,428),3665=>array(50,-5,590,428),3666=>array(75,0,613,611),3667=>array(75,-5,615,428),3668=>array(50,-5,637,611),3669=>array(50,-5,637,611),3670=>array(18,-5,585,611),3671=>array(75,-5,789,574),3672=>array(60,-5,659,574),3673=>array(75,-5,715,574),3674=>array(30,0,598,558),3675=>array(40,-5,964,447),3713=>array(55,-6,721,587),3714=>array(53,-15,664,587),3716=>array(54,-5,670,587),3719=>array(34,-207,470,587),3720=>array(37,-18,636,587),3722=>array(54,-210,629,587),3725=>array(54,-5,670,588),3732=>array(54,-5,665,587),3733=>array(54,-6,780,587),3734=>array(45,-257,711,587),3735=>array(55,-5,862,587),3737=>array(54,-11,690,589),3738=>array(55,-5,686,587),3739=>array(55,-5,686,707),3740=>array(54,-5,780,593),3741=>array(54,-5,780,707),3742=>array(54,-5,800,587),3743=>array(54,-5,800,707),3745=>array(55,-11,721,589),3746=>array(54,-5,670,707),3747=>array(54,-7,643,587),3749=>array(46,-7,646,587),3751=>array(46,-7,646,587),3754=>array(58,-7,673,587),3755=>array(55,-5,862,587),3757=>array(54,-7,671,587),3758=>array(53,-7,664,595),3759=>array(54,-21,604,680),3760=>array(57,113,382,578),3761=>array(57,847,482,1049),3762=>array(34,-5,422,587),3763=>array(1,-5,422,788),3764=>array(139,805,639,1059),3765=>array(139,805,713,1059),3766=>array(139,805,639,1059),3767=>array(139,805,713,1059),3768=>array(308,-269,470,-26),3769=>array(248,-263,528,-15),3771=>array(145,838,635,1060),3772=>array(147,-257,632,-72),3773=>array(55,-5,616,829),3776=>array(34,-5,386,576),3777=>array(34,-5,772,576),3778=>array(28,-5,410,1001),3779=>array(17,-5,429,1037),3780=>array(46,-5,311,1025),3782=>array(34,-267,517,579),3784=>array(349,806,429,1012),3785=>array(148,808,630,1035),3786=>array(163,805,609,1015),3787=>array(281,805,497,1019),3788=>array(212,812,560,1049),3789=>array(308,806,470,967),3792=>array(54,-7,667,578),3793=>array(54,-5,665,578),3794=>array(67,-5,557,796),3795=>array(44,-5,665,829),3796=>array(54,-5,632,776),3797=>array(54,-5,632,776),3798=>array(54,-5,780,829),3799=>array(55,-257,702,579),3800=>array(54,-171,670,579),3801=>array(54,-5,841,577),3804=>array(55,-11,1218,579),3805=>array(55,-11,1218,579),3840=>array(52,207,573,983),3841=>array(52,232,534,864),3842=>array(11,274,571,864),3843=>array(11,274,593,864),3844=>array(0,227,583,720),3845=>array(107,227,464,720),3846=>array(0,-174,583,720),3847=>array(-152,393,649,720),3848=>array(141,-174,512,809),3849=>array(80,81,520,716),3850=>array(34,-62,576,799),3851=>array(92,522,508,716),3852=>array(92,-117,508,716),3853=>array(260,-174,340,716),3854=>array(190,-174,410,716),3855=>array(250,-174,350,716),3856=>array(187,-174,413,716),3857=>array(179,-174,421,716),3858=>array(-20,-124,620,719),3859=>array(21,126,579,706),3860=>array(238,403,371,681),3861=>array(128,254,472,716),3862=>array(128,320,477,716),3863=>array(99,378,510,657),3864=>array(159,-9,537,322),3865=>array(260,-201,340,300),3866=>array(241,459,359,577),3867=>array(151,459,449,577),3868=>array(151,419,449,687),3869=>array(123,346,476,683),3870=>array(66,426,520,607),3871=>array(129,448,455,584),3872=>array(128,-13,472,374),3873=>array(126,-149,444,374),3874=>array(40,-86,530,374),3875=>array(97,-176,507,402),3876=>array(27,19,560,339),3877=>array(80,-13,541,374),3878=>array(33,-42,547,434),3879=>array(24,-13,568,390),3880=>array(57,-63,485,401),3881=>array(82,-82,534,374),3882=>array(-65,-149,653,374),3883=>array(-65,-86,653,374),3884=>array(-65,-176,653,402),3885=>array(-65,19,653,339),3886=>array(-65,-13,653,374),3887=>array(-65,-42,653,434),3888=>array(-65,-13,653,390),3889=>array(-65,-63,653,401),3890=>array(-65,-82,653,374),3891=>array(-65,-13,653,374),3892=>array(227,359,373,609),3893=>array(238,-1,371,150),3894=>array(81,159,519,619),3895=>array(251,52,349,150),3896=>array(87,431,495,735),3897=>array(355,538,551,706),3898=>array(2,419,587,687),3899=>array(13,419,598,687),3900=>array(56,-201,484,837),3901=>array(116,-201,544,837),3902=>array(238,-201,457,180),3903=>array(143,-201,362,180),3904=>array(23,27,558,716),3905=>array(42,207,558,716),3906=>array(22,27,558,716),3907=>array(22,-174,558,716),3908=>array(72,207,528,716),3909=>array(54,207,541,716),3910=>array(43,207,557,716),3911=>array(72,207,528,716),3913=>array(96,27,488,726),3914=>array(72,27,528,716),3915=>array(62,207,538,716),3916=>array(72,27,528,716),3917=>array(72,-174,528,716),3918=>array(102,27,500,716),3919=>array(72,27,528,716),3920=>array(62,207,538,716),3921=>array(72,27,528,716),3922=>array(72,-174,528,716),3923=>array(100,27,498,716),3924=>array(72,207,558,716),3925=>array(72,207,558,716),3926=>array(72,207,558,716),3927=>array(72,-174,558,716),3928=>array(30,207,558,716),3929=>array(54,207,601,864),3930=>array(43,207,601,864),3931=>array(72,207,621,864),3932=>array(72,-174,621,864),3933=>array(31,207,558,726),3934=>array(62,27,542,716),3935=>array(62,207,538,716),3936=>array(72,187,580,716),3937=>array(72,207,558,716),3938=>array(86,207,580,716),3939=>array(72,207,558,716),3940=>array(19,27,538,716),3941=>array(62,27,581,716),3942=>array(72,207,558,716),3943=>array(72,27,528,716),3944=>array(52,207,558,716),3945=>array(23,-174,558,716),3953=>array(208,-51,414,140),3954=>array(87,625,539,864),3955=>array(87,-51,539,864),3956=>array(72,-70,524,153),3957=>array(105,-201,524,180),3958=>array(61,41,513,864),3959=>array(61,-201,513,864),3960=>array(61,-11,513,864),3961=>array(61,-201,513,864),3962=>array(137,643,365,777),3963=>array(137,643,405,897),3964=>array(67,643,573,829),3965=>array(67,643,573,929),3966=>array(241,736,359,854),3967=>array(399,180,517,448),3968=>array(61,625,513,864),3969=>array(61,-51,513,864),3970=>array(193,625,391,852),3971=>array(193,625,391,819),3972=>array(307,-201,535,-67),3973=>array(96,-54,488,726),3974=>array(186,461,432,864),3975=>array(288,666,312,864),3976=>array(162,609,438,864),3977=>array(85,575,515,864),3978=>array(165,634,455,864),3979=>array(163,652,486,864),3984=>array(75,-201,510,180),3985=>array(90,-201,510,180),3986=>array(74,-200,510,180),3987=>array(179,-201,413,180),3988=>array(115,-201,485,180),3989=>array(100,-201,496,180),3991=>array(115,-201,485,180),3993=>array(134,-201,453,186),3994=>array(115,-201,485,180),3995=>array(107,-201,493,180),3996=>array(115,-201,485,180),3997=>array(201,-201,399,180),3998=>array(139,-201,463,180),3999=>array(115,-201,485,180),4000=>array(107,-201,493,180),4001=>array(115,-201,485,180),4002=>array(201,-201,399,180),4003=>array(137,-201,461,180),4004=>array(115,-201,510,180),4005=>array(115,-201,510,180),4006=>array(115,-201,510,180),4007=>array(201,-201,413,180),4008=>array(81,-201,510,180),4009=>array(100,-201,545,301),4010=>array(91,-201,545,301),4011=>array(115,-201,561,301),4012=>array(201,-201,440,245),4013=>array(81,-201,510,188),4017=>array(115,-201,510,180),4018=>array(126,-201,528,180),4019=>array(115,-201,510,180),4020=>array(72,-201,493,180),4021=>array(107,-201,528,180),4022=>array(115,-201,510,180),4023=>array(132,-201,468,180),4025=>array(179,-201,413,180),4256=>array(42,-15,633,716),4257=>array(45,-3,677,716),4258=>array(45,-142,695,716),4259=>array(42,-15,657,716),4260=>array(45,0,543,716),4261=>array(47,0,745,716),4262=>array(1,-7,630,715),4263=>array(35,0,740,716),4264=>array(24,0,494,716),4265=>array(66,0,568,716),4266=>array(45,-7,748,716),4267=>array(34,-7,677,716),4268=>array(66,0,563,716),4269=>array(35,-15,681,732),4270=>array(-1,-15,639,719),4271=>array(-1,-209,624,721),4272=>array(34,-15,689,716),4273=>array(66,-15,581,716),4274=>array(66,0,547,716),4275=>array(35,-15,681,732),4276=>array(35,-209,644,732),4277=>array(34,-209,671,716),4278=>array(66,0,577,732),4279=>array(52,0,557,716),4280=>array(50,-15,557,716),4281=>array(66,0,563,716),4282=>array(35,-163,593,732),4283=>array(34,-7,736,716),4284=>array(66,-209,547,716),4285=>array(49,-15,614,732),4286=>array(66,0,563,716),4287=>array(-66,-171,660,716),4288=>array(45,-15,701,716),4289=>array(66,0,552,716),4290=>array(23,-15,571,716),4291=>array(34,0,539,716),4292=>array(58,-209,618,716),4293=>array(34,-15,758,716),4304=>array(36,-12,398,490),4305=>array(37,-12,519,721),4306=>array(42,-256,523,455),4307=>array(36,-251,836,454),4308=>array(20,-256,472,452),4309=>array(30,-256,498,451),4310=>array(24,-12,689,734),4311=>array(34,-16,834,454),4312=>array(34,-16,495,452),4313=>array(30,-256,498,451),4314=>array(36,-251,921,449),4315=>array(34,-12,486,728),4316=>array(66,-12,518,723),4317=>array(34,-33,700,449),4318=>array(34,-12,502,727),4319=>array(40,-256,508,466),4320=>array(34,-16,651,727),4321=>array(66,-12,512,716),4322=>array(34,-256,772,623),4323=>array(22,-257,745,449),4324=>array(34,-256,743,451),4325=>array(34,-257,436,716),4326=>array(36,-251,655,449),4327=>array(44,-257,446,452),4328=>array(34,-12,486,734),4329=>array(66,0,451,733),4330=>array(45,-256,534,452),4331=>array(34,-12,486,716),4332=>array(32,-256,562,734),4333=>array(34,-257,530,732),4334=>array(66,-12,518,716),4335=>array(32,-238,771,450),4336=>array(35,-12,514,736),4337=>array(40,-12,619,716),4338=>array(10,-12,549,453),4339=>array(23,-256,478,450),4340=>array(34,-257,448,495),4341=>array(43,-250,549,583),4342=>array(35,-256,788,715),4347=>array(87,-12,449,464),4352=>array(129,91,796,665),4353=>array(114,91,844,665),4354=>array(204,90,873,665),4355=>array(184,90,838,664),4356=>array(149,90,888,665),4357=>array(173,90,827,665),4358=>array(215,90,785,665),4359=>array(215,90,785,665),4360=>array(145,88,855,665),4361=>array(107,76,882,663),4362=>array(110,78,890,663),4363=>array(187,92,813,666),4364=>array(109,76,880,665),4365=>array(105,80,895,666),4366=>array(109,76,880,665),4367=>array(206,90,790,663),4368=>array(189,91,837,664),4369=>array(187,90,813,665),4370=>array(156,88,844,665),4371=>array(144,91,844,665),4372=>array(144,93,881,665),4373=>array(144,90,888,665),4374=>array(144,89,853,665),4375=>array(149,89,842,665),4376=>array(149,85,881,665),4377=>array(149,85,887,665),4378=>array(149,85,876,666),4379=>array(232,78,789,722),4380=>array(142,89,853,665),4381=>array(232,78,768,711),4382=>array(145,88,844,665),4383=>array(145,88,881,665),4384=>array(145,88,888,665),4385=>array(145,78,884,664),4386=>array(111,78,889,665),4387=>array(101,78,933,665),4388=>array(93,78,907,665),4389=>array(101,78,962,665),4390=>array(101,78,962,666),4391=>array(140,78,885,666),4392=>array(140,78,885,665),4393=>array(145,88,855,665),4394=>array(145,88,868,665),4395=>array(232,78,768,725),4396=>array(197,78,803,728),4397=>array(130,78,844,665),4398=>array(130,78,858,665),4399=>array(130,78,888,665),4400=>array(125,78,887,665),4401=>array(125,78,860,665),4402=>array(125,78,868,665),4403=>array(57,78,889,665),4404=>array(57,78,949,663),4405=>array(125,78,876,663),4406=>array(117,78,883,666),4407=>array(119,78,885,665),4408=>array(125,78,873,663),4409=>array(125,78,855,665),4410=>array(125,78,868,665),4411=>array(125,78,876,666),4412=>array(216,-1,702,716),4413=>array(92,-1,860,716),4414=>array(298,-1,784,716),4415=>array(140,-1,908,716),4416=>array(258,93,742,659),4417=>array(125,91,844,665),4418=>array(125,90,888,665),4419=>array(125,89,860,665),4420=>array(125,89,853,665),4421=>array(125,78,880,663),4422=>array(125,119,886,664),4423=>array(125,122,874,617),4424=>array(125,78,885,666),4425=>array(125,78,885,665),4426=>array(125,90,855,665),4427=>array(125,91,868,665),4428=>array(232,131,768,551),4429=>array(119,78,874,666),4430=>array(97,-1,903,720),4431=>array(92,-1,903,720),4432=>array(97,-1,903,720),4433=>array(97,-1,908,720),4434=>array(123,78,873,665),4435=>array(123,78,876,666),4436=>array(97,-1,903,814),4437=>array(97,-1,903,814),4438=>array(127,89,853,665),4439=>array(202,78,798,714),4440=>array(100,91,900,666),4441=>array(182,78,818,573),4449=>array(421,-64,711,842),4450=>array(345,-64,655,842),4451=>array(381,-64,676,842),4452=>array(340,-64,661,842),4453=>array(302,-65,597,841),4454=>array(186,-63,677,843),4455=>array(332,-64,626,842),4456=>array(226,-63,687,843),4457=>array(60,197,940,614),4458=>array(46,-64,931,842),4459=>array(51,-64,892,842),4460=>array(61,-64,857,842),4461=>array(60,197,940,615),4462=>array(79,76,921,554),4463=>array(68,-65,882,841),4464=>array(53,-63,912,843),4465=>array(70,-64,867,842),4466=>array(72,111,928,589),4467=>array(57,357,943,436),4468=>array(67,-64,867,842),4469=>array(462,-64,538,842),4470=>array(62,7,943,842),4471=>array(79,-64,936,842),4472=>array(62,7,943,842),4473=>array(62,-3,938,842),4474=>array(62,7,943,841),4475=>array(79,-64,920,841),4476=>array(57,22,943,841),4477=>array(62,7,943,842),4478=>array(79,-64,920,842),4479=>array(63,-70,907,841),4480=>array(63,-68,907,843),4481=>array(63,-68,907,843),4482=>array(62,22,943,783),4483=>array(62,-64,943,783),4484=>array(62,-70,907,842),4485=>array(62,-69,907,842),4486=>array(62,-70,907,842),4487=>array(62,22,943,782),4488=>array(62,-69,907,842),4489=>array(68,-69,936,842),4490=>array(68,-69,907,842),4491=>array(57,22,943,841),4492=>array(63,-68,907,843),4493=>array(79,-64,920,762),4494=>array(68,-69,936,842),4495=>array(68,-70,907,841),4496=>array(68,-63,912,843),4497=>array(68,-70,907,842),4498=>array(63,-68,907,843),4499=>array(79,-64,921,756),4500=>array(68,-64,867,842),4501=>array(79,-64,921,615),4502=>array(79,197,921,615),4503=>array(65,-64,921,842),4504=>array(321,-63,812,843),4505=>array(311,-63,772,843),4506=>array(62,22,943,842),4507=>array(79,-64,921,842),4508=>array(57,22,943,842),4509=>array(410,50,584,842),4510=>array(410,280,584,463),4511=>array(410,-65,719,841),4512=>array(79,-64,921,601),4513=>array(333,-69,667,842),4514=>array(329,280,671,463),4520=>array(129,91,796,665),4521=>array(114,91,844,665),4522=>array(114,78,880,665),4523=>array(204,90,873,665),4524=>array(144,78,880,666),4525=>array(144,91,876,666),4526=>array(184,90,838,664),4527=>array(173,90,827,665),4528=>array(149,85,842,665),4529=>array(149,85,852,665),4530=>array(149,85,853,665),4531=>array(149,78,880,665),4532=>array(149,85,855,665),4533=>array(149,85,868,665),4534=>array(149,85,876,666),4535=>array(215,90,785,665),4536=>array(215,90,785,665),4537=>array(145,78,880,664),4538=>array(107,76,882,663),4539=>array(110,78,890,663),4540=>array(187,92,813,666),4541=>array(109,76,880,665),4542=>array(109,76,880,665),4543=>array(206,90,790,663),4544=>array(189,91,837,664),4545=>array(187,90,813,665),4546=>array(156,88,844,665),4547=>array(114,85,887,665),4548=>array(75,78,913,665),4549=>array(144,91,844,665),4550=>array(144,90,888,665),4551=>array(144,78,880,665),4552=>array(144,93,886,665),4553=>array(144,90,855,665),4554=>array(149,89,842,665),4555=>array(149,85,887,665),4556=>array(76,78,961,665),4557=>array(149,85,881,665),4558=>array(149,85,888,665),4559=>array(76,85,944,666),4560=>array(149,85,887,665),4561=>array(76,85,920,665),4562=>array(76,78,973,665),4563=>array(76,78,973,665),4564=>array(76,85,946,666),4565=>array(149,85,848,728),4566=>array(80,78,960,665),4567=>array(149,85,886,665),4568=>array(149,85,873,665),4569=>array(149,85,878,666),4570=>array(142,89,844,665),4571=>array(142,85,887,665),4572=>array(142,89,853,665),4573=>array(142,78,880,665),4574=>array(84,78,960,665),4575=>array(142,89,886,665),4576=>array(142,78,885,665),4577=>array(142,89,876,666),4578=>array(232,78,768,711),4579=>array(145,85,887,665),4580=>array(145,88,868,665),4581=>array(145,88,876,666),4582=>array(232,78,768,725),4583=>array(130,78,844,665),4584=>array(130,78,888,665),4585=>array(125,78,887,665),4586=>array(125,78,868,665),4587=>array(258,93,742,659),4588=>array(125,91,844,665),4589=>array(72,91,913,665),4590=>array(125,122,874,617),4591=>array(125,90,873,663),4592=>array(232,131,768,551),4593=>array(125,78,880,663),4594=>array(125,119,886,664),4595=>array(127,89,853,665),4596=>array(202,78,798,714),4597=>array(116,91,881,666),4598=>array(116,85,887,666),4599=>array(116,89,852,666),4600=>array(116,89,853,666),4601=>array(182,78,818,573),7680=>array(-1,-210,668,716),7681=>array(38,-210,516,530),7682=>array(74,0,615,881),7683=>array(67,-12,517,881),7684=>array(74,-210,615,716),7685=>array(67,-210,517,716),7686=>array(74,-179,615,716),7687=>array(67,-179,517,716),7688=>array(51,-209,684,898),7689=>array(39,-196,491,728),7690=>array(80,0,672,881),7691=>array(36,-12,486,881),7692=>array(80,-210,672,716),7693=>array(36,-210,486,716),7694=>array(80,-179,672,716),7695=>array(36,-179,486,716),7696=>array(80,-205,672,716),7697=>array(36,-205,486,716),7698=>array(80,-210,672,716),7699=>array(36,-210,486,716),7700=>array(79,0,614,1050),7701=>array(39,-12,517,882),7702=>array(79,0,614,1050),7703=>array(39,-12,517,882),7704=>array(79,-210,614,716),7705=>array(39,-210,517,530),7706=>array(79,-185,614,716),7707=>array(39,-185,517,530),7708=>array(79,-205,614,902),7709=>array(39,-205,517,722),7710=>array(80,0,563,881),7711=>array(8,0,311,881),7712=>array(52,-12,714,865),7713=>array(34,-210,491,697),7714=>array(80,0,642,881),7715=>array(67,0,490,881),7716=>array(80,-210,642,716),7717=>array(67,-210,490,716),7718=>array(80,0,642,881),7719=>array(67,0,490,881),7720=>array(27,-205,642,716),7721=>array(2,-205,490,716),7722=>array(80,-200,642,716),7723=>array(67,-200,490,716),7724=>array(-28,-185,299,716),7725=>array(-58,-185,270,716),7726=>array(3,0,274,1066),7727=>array(5,0,276,896),7728=>array(73,0,665,898),7729=>array(66,0,496,898),7730=>array(73,-210,665,716),7731=>array(66,-210,496,716),7732=>array(73,-179,665,716),7733=>array(66,-179,496,716),7734=>array(75,-210,523,716),7735=>array(67,-210,158,716),7736=>array(75,-210,523,865),7737=>array(-41,-210,264,865),7738=>array(75,-179,523,716),7739=>array(-42,-179,262,716),7740=>array(75,-210,523,716),7741=>array(-39,-210,270,716),7742=>array(76,0,757,898),7743=>array(65,0,769,728),7744=>array(76,0,757,881),7745=>array(65,0,769,711),7746=>array(76,-210,757,716),7747=>array(65,-210,769,530),7748=>array(79,0,642,881),7749=>array(68,0,490,711),7750=>array(79,-210,642,716),7751=>array(68,-210,490,530),7752=>array(79,-179,642,716),7753=>array(68,-179,490,530),7754=>array(79,-210,642,716),7755=>array(68,-210,490,530),7756=>array(47,-12,732,1064),7757=>array(35,-12,521,902),7758=>array(47,-12,732,1035),7759=>array(35,-12,521,865),7760=>array(47,-12,732,1050),7761=>array(35,-12,521,882),7762=>array(47,-12,732,1050),7763=>array(35,-12,521,882),7764=>array(77,0,623,898),7765=>array(68,-199,518,728),7766=>array(77,0,623,881),7767=>array(68,-199,518,711),7768=>array(80,0,711,881),7769=>array(64,0,346,711),7770=>array(80,-210,711,716),7771=>array(64,-210,346,530),7772=>array(80,-210,711,865),7773=>array(14,-210,346,697),7774=>array(80,-179,711,716),7775=>array(8,-179,346,530),7776=>array(45,-12,615,881),7777=>array(31,-12,461,711),7778=>array(45,-210,615,728),7779=>array(31,-210,461,530),7780=>array(45,-12,615,939),7781=>array(31,-12,461,768),7782=>array(45,-12,615,1047),7783=>array(31,-12,461,877),7784=>array(45,-210,615,881),7785=>array(31,-210,461,711),7786=>array(22,0,589,881),7787=>array(17,-7,269,881),7788=>array(22,-210,589,716),7789=>array(17,-210,269,700),7790=>array(22,-179,589,716),7791=>array(-11,-179,293,700),7792=>array(22,-210,589,716),7793=>array(6,-210,315,700),7794=>array(79,-210,642,716),7795=>array(66,-210,487,518),7796=>array(79,-185,642,716),7797=>array(66,-185,487,518),7798=>array(79,-210,642,716),7799=>array(66,-210,487,518),7800=>array(79,-12,642,1072),7801=>array(66,-12,487,902),7802=>array(79,-12,642,1002),7803=>array(66,-12,487,846),7804=>array(6,0,660,886),7805=>array(13,0,488,716),7806=>array(6,-210,660,716),7807=>array(13,-210,488,518),7808=>array(12,0,933,898),7809=>array(5,0,717,728),7810=>array(12,0,933,898),7811=>array(5,0,717,728),7812=>array(12,0,933,881),7813=>array(5,0,717,711),7814=>array(12,0,933,881),7815=>array(5,0,717,711),7816=>array(12,-210,933,716),7817=>array(5,-210,717,518),7818=>array(5,0,661,881),7819=>array(7,0,493,711),7820=>array(5,0,661,881),7821=>array(7,0,493,711),7822=>array(5,0,661,881),7823=>array(16,-210,492,711),7824=>array(18,0,584,898),7825=>array(20,0,479,728),7826=>array(18,-210,584,716),7827=>array(20,-210,479,518),7828=>array(18,-179,584,716),7829=>array(20,-179,479,518),7830=>array(67,-179,490,716),7831=>array(1,-7,272,881),7832=>array(5,0,717,752),7833=>array(16,-210,492,752),7834=>array(38,-12,557,758),7835=>array(8,0,311,881),7840=>array(-1,-210,668,716),7841=>array(38,-210,516,530),7842=>array(-1,0,668,934),7843=>array(38,-12,516,756),7844=>array(-1,0,668,978),7845=>array(38,-12,586,808),7846=>array(-1,0,668,978),7847=>array(-30,-12,516,808),7848=>array(-1,0,668,996),7849=>array(38,-12,573,826),7850=>array(-1,0,668,1058),7851=>array(38,-12,516,888),7852=>array(-1,-210,668,898),7853=>array(38,-210,516,728),7854=>array(-1,0,668,1039),7855=>array(38,-12,516,859),7856=>array(-1,0,668,1039),7857=>array(38,-12,516,859),7858=>array(-1,0,668,1074),7859=>array(38,-12,516,895),7860=>array(-1,0,668,1060),7861=>array(38,-12,516,880),7862=>array(-1,-210,668,902),7863=>array(38,-210,516,722),7864=>array(79,-210,614,716),7865=>array(39,-210,517,530),7866=>array(79,0,614,936),7867=>array(39,-12,517,756),7868=>array(79,0,614,884),7869=>array(39,-12,517,716),7870=>array(79,0,652,978),7871=>array(39,-12,586,808),7872=>array(34,0,614,978),7873=>array(-30,-12,517,808),7874=>array(79,0,638,996),7875=>array(39,-12,573,826),7876=>array(79,0,614,1056),7877=>array(39,-12,517,886),7878=>array(79,-210,614,900),7879=>array(39,-210,517,728),7880=>array(33,0,245,936),7881=>array(33,0,245,756),7882=>array(92,-210,187,716),7883=>array(67,-210,158,716),7884=>array(47,-210,732,728),7885=>array(35,-210,521,530),7886=>array(47,-12,732,936),7887=>array(35,-12,521,756),7888=>array(47,-12,732,978),7889=>array(35,-12,586,808),7890=>array(47,-12,732,978),7891=>array(-30,-12,521,808),7892=>array(47,-12,732,996),7893=>array(35,-12,573,826),7894=>array(47,-12,732,1056),7895=>array(35,-12,521,886),7896=>array(47,-210,732,900),7897=>array(35,-210,521,728),7898=>array(47,-12,776,900),7899=>array(35,-12,555,728),7900=>array(47,-12,776,900),7901=>array(35,-12,555,728),7902=>array(47,-12,776,936),7903=>array(35,-12,555,756),7904=>array(47,-12,776,884),7905=>array(35,-12,555,716),7906=>array(47,-210,776,768),7907=>array(35,-210,555,606),7908=>array(79,-210,642,716),7909=>array(66,-210,487,518),7910=>array(79,-12,642,936),7911=>array(66,-12,487,756),7912=>array(79,-12,776,900),7913=>array(66,-12,625,728),7914=>array(79,-12,776,900),7915=>array(66,-12,625,728),7916=>array(79,-12,776,936),7917=>array(66,-12,625,756),7918=>array(79,-12,776,884),7919=>array(66,-12,625,716),7920=>array(79,-210,776,768),7921=>array(66,-210,625,620),7922=>array(5,0,661,900),7923=>array(16,-210,492,728),7924=>array(5,-210,661,716),7925=>array(16,-210,492,518),7926=>array(5,0,661,936),7927=>array(16,-210,492,756),7928=>array(5,0,661,884),7929=>array(16,-210,492,716),7936=>array(35,-12,541,763),7937=>array(35,-12,541,763),7938=>array(35,-12,541,763),7939=>array(35,-12,541,763),7940=>array(35,-12,541,763),7941=>array(35,-12,541,763),7942=>array(35,-12,541,847),7943=>array(35,-12,541,847),7944=>array(-1,0,668,763),7945=>array(-1,0,668,763),7946=>array(-50,0,681,763),7947=>array(-50,0,681,763),7948=>array(-46,0,681,763),7949=>array(-38,0,681,763),7950=>array(-43,0,719,763),7951=>array(-43,0,719,763),7952=>array(29,-12,405,763),7953=>array(29,-12,405,763),7954=>array(29,-12,405,763),7955=>array(29,-12,405,763),7956=>array(29,-12,405,763),7957=>array(29,-12,405,763),7960=>array(-43,0,639,763),7961=>array(-44,0,639,763),7962=>array(-43,0,770,763),7963=>array(-43,0,770,763),7964=>array(-71,0,770,763),7965=>array(-63,0,769,763),7968=>array(68,-199,490,763),7969=>array(68,-199,490,763),7970=>array(68,-199,490,763),7971=>array(68,-199,490,763),7972=>array(68,-199,490,763),7973=>array(68,-199,490,763),7974=>array(68,-199,490,847),7975=>array(68,-199,490,847),7976=>array(-43,0,667,763),7977=>array(-44,0,667,763),7978=>array(-43,0,798,763),7979=>array(-43,0,798,763),7980=>array(-71,0,798,763),7981=>array(-63,0,798,763),7982=>array(-43,0,843,763),7983=>array(-43,0,843,763),7984=>array(59,0,162,763),7985=>array(53,0,156,763),7986=>array(-13,0,236,763),7987=>array(-13,0,236,763),7988=>array(-15,0,251,763),7989=>array(-15,0,243,763),7990=>array(-36,0,253,847),7991=>array(-36,0,253,847),7992=>array(-43,0,212,763),7993=>array(-44,0,212,763),7994=>array(-43,0,343,763),7995=>array(-43,0,343,763),7996=>array(-71,0,343,763),7997=>array(-63,0,343,763),7998=>array(-43,0,388,763),7999=>array(-43,0,388,763),8000=>array(35,-12,521,763),8001=>array(35,-12,521,763),8002=>array(35,-12,521,763),8003=>array(35,-12,521,763),8004=>array(35,-12,521,763),8005=>array(35,-12,521,763),8008=>array(-30,-12,732,763),8009=>array(-38,-12,732,763),8010=>array(-43,-12,848,763),8011=>array(-31,-12,848,763),8012=>array(-37,-12,848,763),8013=>array(-36,-12,848,763),8016=>array(68,-12,483,763),8017=>array(68,-12,483,763),8018=>array(68,-12,483,763),8019=>array(68,-12,483,763),8020=>array(68,-12,483,763),8021=>array(68,-12,483,763),8022=>array(68,-12,483,847),8023=>array(68,-12,483,847),8025=>array(-43,0,771,763),8027=>array(-43,0,887,763),8029=>array(-43,0,879,763),8031=>array(-43,0,934,763),8032=>array(35,-12,731,763),8033=>array(35,-12,731,763),8034=>array(35,-12,731,763),8035=>array(35,-12,731,763),8036=>array(35,-12,731,763),8037=>array(35,-12,731,763),8038=>array(35,-12,731,847),8039=>array(35,-12,731,847),8040=>array(-30,0,706,763),8041=>array(-38,0,706,763),8042=>array(-43,0,822,763),8043=>array(-43,0,822,763),8044=>array(-43,0,816,763),8045=>array(-43,0,815,763),8046=>array(-43,0,859,763),8047=>array(-43,0,859,763),8048=>array(35,-12,541,736),8049=>array(35,-12,541,736),8050=>array(29,-12,405,736),8051=>array(29,-12,405,736),8052=>array(68,-199,490,736),8053=>array(68,-199,490,736),8054=>array(35,0,155,736),8055=>array(67,0,187,736),8056=>array(35,-12,521,736),8057=>array(35,-12,521,736),8058=>array(68,-12,483,736),8059=>array(68,-12,483,736),8060=>array(35,-12,731,736),8061=>array(35,-12,731,736),8064=>array(35,-208,541,763),8065=>array(35,-208,541,763),8066=>array(35,-208,541,763),8067=>array(35,-208,541,763),8068=>array(35,-208,541,763),8069=>array(35,-208,541,763),8070=>array(35,-208,541,847),8071=>array(35,-208,541,847),8072=>array(-1,-208,668,763),8073=>array(-1,-208,668,763),8074=>array(-50,-208,681,763),8075=>array(-50,-208,681,763),8076=>array(-46,-208,681,763),8077=>array(-38,-208,681,763),8078=>array(-43,-208,719,763),8079=>array(-43,-208,719,763),8080=>array(68,-208,490,763),8081=>array(68,-208,490,763),8082=>array(68,-208,490,763),8083=>array(68,-208,490,763),8084=>array(68,-208,490,763),8085=>array(68,-208,490,763),8086=>array(68,-208,490,847),8087=>array(68,-208,490,847),8088=>array(-43,-208,667,763),8089=>array(-44,-208,667,763),8090=>array(-43,-208,798,763),8091=>array(-43,-208,798,763),8092=>array(-71,-208,798,763),8093=>array(-63,-208,798,763),8094=>array(-43,-208,843,763),8095=>array(-43,-208,843,763),8096=>array(35,-208,731,763),8097=>array(35,-208,731,763),8098=>array(35,-208,731,763),8099=>array(35,-208,731,763),8100=>array(35,-208,731,763),8101=>array(35,-208,731,763),8102=>array(35,-208,731,847),8103=>array(35,-208,731,847),8104=>array(-30,-208,706,763),8105=>array(-38,-208,706,763),8106=>array(-43,-208,822,763),8107=>array(-43,-208,822,763),8108=>array(-43,-208,816,763),8109=>array(-43,-208,815,763),8110=>array(-43,-208,859,763),8111=>array(-43,-208,859,763),8112=>array(35,-12,541,722),8113=>array(35,-12,541,697),8114=>array(35,-208,541,736),8115=>array(35,-208,541,530),8116=>array(35,-208,541,736),8118=>array(35,-12,541,717),8119=>array(35,-208,541,717),8120=>array(-1,0,668,889),8121=>array(-1,0,668,835),8122=>array(-1,0,668,736),8123=>array(-1,0,668,736),8124=>array(-1,-208,668,716),8125=>array(86,579,189,763),8126=>array(111,-208,289,-42),8127=>array(86,579,189,763),8128=>array(-5,590,284,717),8129=>array(-5,591,284,819),8130=>array(68,-208,490,736),8131=>array(68,-208,490,530),8132=>array(68,-208,490,736),8134=>array(68,-199,490,717),8135=>array(68,-208,490,717),8136=>array(-43,0,640,736),8137=>array(-43,0,651,736),8138=>array(-43,0,668,736),8139=>array(-43,0,679,736),8140=>array(80,-208,642,716),8141=>array(16,579,265,763),8142=>array(16,579,282,763),8143=>array(-5,583,284,847),8144=>array(-34,0,255,722),8145=>array(-41,0,264,697),8146=>array(-55,0,276,736),8147=>array(-55,0,276,736),8150=>array(-34,0,255,717),8151=>array(-32,0,257,819),8152=>array(-5,0,284,889),8153=>array(-14,0,291,835),8154=>array(-43,0,213,736),8155=>array(-43,0,213,736),8157=>array(16,579,265,763),8158=>array(16,579,274,763),8159=>array(-5,583,284,847),8160=>array(68,-12,483,722),8161=>array(68,-12,483,697),8162=>array(68,-12,483,736),8163=>array(68,-12,483,736),8164=>array(66,-199,536,763),8165=>array(66,-199,536,763),8166=>array(68,-12,483,717),8167=>array(68,-12,483,819),8168=>array(5,0,661,889),8169=>array(5,0,661,835),8170=>array(-43,0,736,736),8171=>array(-43,0,740,736),8172=>array(-43,0,649,763),8173=>array(-27,600,304,736),8174=>array(-27,600,304,736),8175=>array(70,600,189,736),8178=>array(35,-208,731,736),8179=>array(35,-208,731,518),8180=>array(35,-208,731,736),8182=>array(35,-12,731,717),8183=>array(35,-208,731,717),8184=>array(-17,-12,732,736),8185=>array(-6,-12,732,736),8186=>array(-17,0,706,736),8187=>array(-6,0,706,736),8188=>array(52,-208,706,728),8189=>array(84,600,203,736),8190=>array(88,579,191,763),8208=>array(32,215,301,303),8209=>array(32,215,301,303),8210=>array(-6,223,562,295),8211=>array(-6,223,506,295),8212=>array(-6,223,1006,295),8213=>array(26,223,538,295),8214=>array(92,-85,336,716),8215=>array(-6,-165,506,-35),8216=>array(64,494,166,728),8217=>array(56,482,158,716),8218=>array(53,-132,155,102),8219=>array(64,482,166,716),8220=>array(43,494,297,728),8221=>array(36,482,290,716),8222=>array(36,-132,290,102),8223=>array(44,482,298,716),8224=>array(39,-169,517,699),8225=>array(39,-169,517,706),8226=>array(51,227,299,474),8227=>array(52,197,321,504),8228=>array(89,0,189,100),8229=>array(89,0,467,100),8230=>array(117,0,883,100),8231=>array(89,302,189,402),8240=>array(18,-27,982,728),8241=>array(18,-27,1310,728),8242=>array(46,462,192,716),8243=>array(46,462,342,716),8244=>array(46,462,492,716),8245=>array(30,462,176,716),8246=>array(30,462,326,716),8247=>array(30,462,476,716),8248=>array(30,-175,282,32),8249=>array(44,35,271,481),8250=>array(62,35,289,481),8251=>array(116,-125,883,641),8252=>array(85,0,387,716),8253=>array(46,0,508,747),8254=>array(-6,740,506,790),8255=>array(3,-203,941,4),8256=>array(3,578,941,785),8257=>array(30,-175,282,146),8258=>array(33,-3,786,728),8259=>array(32,185,301,333),8260=>array(-222,-25,393,732),8261=>array(68,-199,262,716),8262=>array(16,-199,210,716),8304=>array(15,349,318,725),8308=>array(11,358,319,725),8309=>array(16,349,313,716),8310=>array(9,349,315,725),8311=>array(36,358,304,716),8312=>array(22,349,312,725),8313=>array(18,349,323,725),8314=>array(37,395,296,654),8315=>array(37,496,296,553),8316=>array(37,436,296,613),8317=>array(32,209,195,769),8318=>array(16,209,178,769),8319=>array(51,358,293,646),8320=>array(15,-24,318,352),8321=>array(52,-15,232,352),8322=>array(12,-15,316,352),8323=>array(16,-24,315,352),8324=>array(11,-15,319,352),8325=>array(16,-24,313,343),8326=>array(9,-24,315,352),8327=>array(36,-15,304,343),8328=>array(22,-24,312,352),8329=>array(18,-24,323,352),8330=>array(37,22,296,281),8331=>array(37,123,296,180),8332=>array(37,63,296,240),8333=>array(32,-164,195,396),8334=>array(16,-164,178,396),8352=>array(20,0,547,719),8353=>array(51,-63,525,782),8354=>array(45,-12,533,728),8355=>array(80,0,554,716),8356=>array(13,-14,528,728),8357=>array(65,-71,769,652),8358=>array(21,0,535,719),8359=>array(21,0,539,716),8360=>array(18,-12,986,716),8361=>array(8,0,929,716),8362=>array(72,0,712,518),8363=>array(67,0,514,723),8364=>array(-14,-12,541,728),8400=>array(28,574,552,716),8401=>array(48,574,572,716),8402=>array(264,-194,336,706),8403=>array(264,-12,336,524),8404=>array(34,419,668,646),8405=>array(32,419,666,646),8406=>array(28,504,555,716),8407=>array(45,504,572,716),8408=>array(146,102,454,410),8409=>array(146,102,465,421),8410=>array(146,91,465,410),8411=>array(112,611,488,707),8412=>array(42,611,558,707),8413=>array(63,-131,837,643),8414=>array(93,-101,807,613),8415=>array(9,-186,891,697),8416=>array(63,-131,837,643),8417=>array(28,504,672,716),8448=>array(46,-27,825,728),8449=>array(46,-27,822,728),8450=>array(37,-15,632,677),8451=>array(44,-12,983,728),8452=>array(41,0,588,662),8453=>array(53,-27,836,728),8454=>array(53,-27,823,728),8455=>array(42,-15,480,677),8456=>array(30,-15,630,677),8457=>array(44,0,873,725),8458=>array(-25,-201,523,327),8459=>array(23,-9,1078,665),8460=>array(46,-20,940,698),8461=>array(19,0,703,662),8462=>array(19,-12,458,694),8463=>array(19,-12,458,694),8464=>array(8,-201,834,654),8465=>array(26,-20,498,677),8466=>array(48,-8,842,664),8467=>array(5,-5,288,627),8468=>array(3,-12,739,716),8469=>array(-12,-11,710,662),8470=>array(79,0,1031,716),8471=>array(0,-9,737,728),8472=>array(48,-216,701,516),8473=>array(19,0,524,662),8474=>array(37,-198,685,677),8475=>array(71,-13,951,658),8476=>array(46,-20,747,686),8477=>array(19,0,677,662),8478=>array(19,0,677,662),8479=>array(19,-176,677,817),8480=>array(93,311,866,723),8481=>array(100,318,1085,716),8482=>array(100,318,861,716),8483=>array(10,-176,711,817),8484=>array(11,0,581,662),8485=>array(50,-192,494,690),8486=>array(28,0,740,677),8487=>array(28,-15,740,662),8488=>array(28,-194,644,687),8489=>array(2,0,245,530),8490=>array(73,0,665,716),8491=>array(-1,0,668,922),8492=>array(105,-5,951,659),8493=>array(53,-20,627,697),8494=>array(35,-12,521,530),8495=>array(31,-4,398,328),8496=>array(75,-6,671,666),8497=>array(35,-6,885,668),8498=>array(47,0,530,716),8499=>array(36,-12,1214,661),8500=>array(37,-6,379,318),8501=>array(64,-19,649,716),8502=>array(67,0,631,716),8503=>array(25,0,325,716),8504=>array(72,-18,630,716),8531=>array(52,-25,815,732),8532=>array(12,-25,815,732),8533=>array(52,-25,813,732),8534=>array(12,-25,813,732),8535=>array(16,-25,813,732),8536=>array(11,-25,813,732),8537=>array(52,-25,813,732),8538=>array(16,-25,813,732),8539=>array(52,-25,804,732),8540=>array(16,-25,804,732),8541=>array(16,-25,804,732),8542=>array(73,-25,804,732),8543=>array(52,-25,727,732),8544=>array(92,0,187,716),8545=>array(92,0,464,716),8546=>array(92,0,741,716),8547=>array(92,0,934,716),8548=>array(6,0,660,716),8549=>array(6,0,843,716),8550=>array(2,0,960,716),8551=>array(2,0,1197,716),8552=>array(92,0,940,716),8553=>array(5,0,661,716),8554=>array(5,0,853,716),8555=>array(5,0,964,716),8556=>array(75,0,523,716),8557=>array(51,-12,683,728),8558=>array(80,0,672,716),8559=>array(76,0,757,716),8560=>array(67,0,155,716),8561=>array(67,0,377,716),8562=>array(67,0,599,716),8563=>array(67,0,697,716),8564=>array(13,0,488,518),8565=>array(13,0,633,716),8566=>array(13,0,855,716),8567=>array(13,0,1077,716),8568=>array(67,0,708,716),8569=>array(7,0,493,518),8570=>array(7,0,645,716),8571=>array(7,0,867,716),8572=>array(67,0,155,716),8573=>array(39,-12,491,530),8574=>array(36,-12,486,716),8575=>array(65,0,769,530),8576=>array(47,0,936,716),8577=>array(80,0,672,716),8578=>array(47,0,936,716),8592=>array(40,100,673,412),8593=>array(201,0,513,662),8594=>array(40,100,673,412),8595=>array(201,0,513,662),8596=>array(40,100,673,412),8597=>array(201,0,513,662),8598=>array(100,102,586,588),8599=>array(128,102,614,588),8600=>array(128,74,614,560),8601=>array(100,74,586,560),8602=>array(40,100,673,412),8603=>array(40,100,673,412),8604=>array(40,100,674,412),8605=>array(39,100,673,412),8606=>array(40,100,673,412),8607=>array(201,0,513,662),8608=>array(40,100,673,412),8609=>array(201,0,513,662),8610=>array(40,100,673,412),8611=>array(40,100,673,412),8612=>array(40,100,673,412),8613=>array(201,0,513,662),8614=>array(40,100,673,412),8615=>array(201,0,513,662),8616=>array(201,0,513,662),8617=>array(40,100,673,482),8618=>array(40,100,673,482),8619=>array(40,100,673,500),8620=>array(40,100,673,500),8621=>array(40,100,774,412),8622=>array(40,100,773,412),8623=>array(199,0,520,662),8624=>array(120,71,553,603),8625=>array(160,71,593,603),8626=>array(120,59,553,591),8627=>array(160,59,593,591),8628=>array(97,94,629,527),8629=>array(120,59,553,591),8630=>array(67,181,638,497),8631=>array(75,181,646,497),8632=>array(81,102,633,662),8633=>array(40,-56,673,568),8634=>array(60,21,740,701),8635=>array(60,21,740,701),8636=>array(40,232,673,412),8637=>array(40,100,673,280),8638=>array(333,0,513,662),8639=>array(201,0,381,662),8640=>array(40,232,673,412),8641=>array(40,100,673,280),8642=>array(333,0,513,662),8643=>array(201,0,381,662),8644=>array(40,-56,673,568),8645=>array(45,0,669,662),8646=>array(40,-56,673,568),8647=>array(40,-56,673,568),8648=>array(45,0,669,662),8649=>array(40,-56,673,568),8650=>array(45,0,669,662),8651=>array(39,30,672,482),8652=>array(40,30,673,482),8653=>array(40,40,673,472),8654=>array(40,40,910,472),8655=>array(40,40,673,472),8656=>array(40,40,673,472),8657=>array(141,0,573,662),8658=>array(40,40,673,472),8659=>array(141,0,573,662),8660=>array(40,40,823,472),8661=>array(141,0,573,783),8662=>array(100,0,688,588),8663=>array(26,0,614,588),8664=>array(26,0,614,588),8665=>array(100,0,688,588),8666=>array(40,40,673,472),8667=>array(40,40,673,472),8668=>array(40,100,773,412),8669=>array(40,100,773,412),8670=>array(201,0,513,662),8671=>array(201,0,513,662),8672=>array(40,100,673,412),8673=>array(201,0,513,662),8674=>array(40,100,673,412),8675=>array(201,0,513,662),8676=>array(40,100,673,412),8677=>array(40,100,673,412),8678=>array(40,40,673,472),8679=>array(141,0,573,662),8680=>array(40,40,673,472),8681=>array(141,0,573,662),8682=>array(141,0,573,662),8704=>array(27,0,573,689),8705=>array(80,-60,528,702),8706=>array(32,-15,486,695),8707=>array(115,0,475,689),8708=>array(115,-73,475,762),8709=>array(46,-23,755,686),8710=>array(6,0,608,688),8711=>array(6,0,608,688),8712=>array(43,33,498,480),8713=>array(43,-57,498,570),8714=>array(89,78,453,435),8715=>array(51,33,506,480),8716=>array(51,-57,506,570),8717=>array(96,78,460,435),8718=>array(98,0,451,512),8719=>array(25,-101,803,751),8720=>array(25,-101,803,751),8721=>array(17,-101,695,752),8722=>array(55,312,529,394),8723=>array(55,0,529,611),8724=>array(55,0,529,627),8725=>array(-222,-25,393,732),8726=>array(0,-24,278,716),8727=>array(33,194,356,499),8728=>array(65,207,335,478),8729=>array(65,207,335,478),8730=>array(41,-19,549,782),8731=>array(41,-19,549,782),8732=>array(41,-19,549,782),8733=>array(75,128,447,384),8734=>array(20,99,529,414),8735=>array(55,0,529,474),8736=>array(55,0,529,474),8737=>array(55,0,529,474),8738=>array(55,-98,444,572),8739=>array(92,-199,168,716),8740=>array(92,-199,352,716),8741=>array(92,-199,326,716),8742=>array(92,-199,510,716),8743=>array(20,0,542,568),8744=>array(20,0,542,568),8745=>array(50,0,512,568),8746=>array(50,0,512,568),8747=>array(63,-271,434,1022),8748=>array(63,-271,734,1022),8749=>array(63,-271,1034,1022),8750=>array(33,-271,459,1022),8751=>array(33,-271,759,1022),8752=>array(33,-271,1059,1022),8753=>array(33,-271,488,1022),8754=>array(33,-271,488,1022),8755=>array(33,-271,498,1022),8756=>array(42,0,521,528),8757=>array(42,0,521,528),8758=>array(161,0,260,528),8759=>array(42,0,521,528),8760=>array(55,312,529,567),8761=>array(55,139,529,567),8762=>array(55,139,529,567),8763=>array(55,139,529,567),8764=>array(55,279,529,424),8765=>array(55,279,529,424),8766=>array(35,212,539,496),8767=>array(40,72,544,636),8768=>array(139,0,284,592),8769=>array(55,171,529,533),8770=>array(55,202,529,535),8771=>array(55,203,529,536),8772=>array(55,91,529,613),8773=>array(55,123,529,584),8774=>array(55,51,529,614),8775=>array(55,51,529,633),8776=>array(55,171,529,533),8777=>array(55,81,529,603),8778=>array(55,123,529,584),8779=>array(55,97,529,584),8780=>array(35,53,539,654),8781=>array(55,155,529,551),8782=>array(55,58,529,648),8783=>array(55,203,529,648),8784=>array(55,203,529,676),8785=>array(55,59,529,647),8786=>array(55,59,529,647),8787=>array(55,59,529,647),8788=>array(55,195,682,511),8789=>array(55,195,682,511),8790=>array(55,189,529,518),8791=>array(55,0,529,617),8792=>array(55,0,529,518),8793=>array(55,0,529,630),8794=>array(55,0,529,630),8795=>array(55,0,529,651),8796=>array(55,0,529,701),8797=>array(55,0,529,605),8798=>array(55,0,529,532),8799=>array(55,0,529,601),8800=>array(55,103,529,603),8801=>array(55,123,529,557),8802=>array(55,23,529,657),8803=>array(55,35,529,645),8804=>array(55,55,529,650),8805=>array(55,55,529,650),8806=>array(55,0,529,783),8807=>array(55,0,529,783),8808=>array(55,-85,529,783),8809=>array(55,-85,529,783),8810=>array(55,111,914,595),8811=>array(55,111,914,595),8812=>array(143,-210,441,728),8813=>array(55,103,529,603),8814=>array(55,23,529,657),8815=>array(55,23,529,657),8816=>array(55,-141,529,657),8817=>array(55,-141,529,657),8818=>array(55,-1,529,656),8819=>array(55,-1,529,656),8820=>array(55,-91,529,718),8821=>array(55,-91,529,718),8822=>array(55,-27,529,821),8823=>array(55,-27,529,821),8824=>array(55,-27,529,821),8825=>array(55,-27,529,821),8826=>array(55,111,529,595),8827=>array(55,111,529,595),8828=>array(55,-33,529,595),8829=>array(55,-33,529,595),8830=>array(55,-1,529,656),8831=>array(55,-1,529,656),8832=>array(55,23,529,657),8833=>array(55,23,529,657),8834=>array(55,122,623,584),8835=>array(55,122,623,584),8836=>array(55,22,623,684),8837=>array(55,22,623,684),8838=>array(55,0,623,626),8839=>array(55,0,623,626),8840=>array(55,-100,623,726),8841=>array(55,-100,623,726),8842=>array(55,-100,623,626),8843=>array(55,-100,623,626),8844=>array(50,0,512,568),8845=>array(50,0,512,568),8846=>array(50,0,512,568),8847=>array(55,122,623,584),8848=>array(55,122,623,584),8849=>array(55,0,623,626),8850=>array(55,0,623,626),8851=>array(50,0,512,568),8852=>array(50,0,512,568),8853=>array(59,-85,741,597),8854=>array(59,-85,741,597),8855=>array(59,-85,741,597),8856=>array(59,-85,741,597),8857=>array(59,-85,741,597),8858=>array(59,-85,741,597),8859=>array(59,-85,741,597),8860=>array(59,-85,741,597),8861=>array(59,-85,741,597),8862=>array(60,0,741,681),8863=>array(60,0,741,681),8864=>array(60,0,741,681),8865=>array(60,0,741,681),8866=>array(60,0,531,512),8867=>array(18,0,489,512),8868=>array(18,0,531,512),8869=>array(18,0,531,512),8870=>array(60,0,381,512),8871=>array(60,0,381,512),8872=>array(60,0,531,512),8873=>array(60,0,531,512),8874=>array(60,0,531,512),8875=>array(60,0,654,512),8876=>array(60,0,531,513),8877=>array(60,0,531,513),8878=>array(60,0,531,513),8879=>array(60,0,654,513),8880=>array(18,-54,531,566),8881=>array(18,-54,531,566),8882=>array(18,0,531,512),8883=>array(18,0,531,512),8884=>array(18,-51,531,562),8885=>array(18,-51,531,562),8886=>array(40,153,673,359),8887=>array(40,153,673,359),8888=>array(40,153,673,359),8889=>array(18,0,531,512),8890=>array(88,0,461,632),8891=>array(50,0,534,638),8892=>array(50,0,534,638),8893=>array(50,0,534,638),8894=>array(55,0,529,474),8895=>array(55,0,529,474),8896=>array(20,0,542,568),8897=>array(20,0,542,568),8898=>array(50,0,512,568),8899=>array(50,0,512,568),8900=>array(156,106,395,406),8901=>array(55,186,195,326),8902=>array(39,39,511,488),8903=>array(30,9,620,502),8904=>array(29,-64,601,576),8905=>array(29,-64,601,576),8906=>array(29,-64,601,576),8907=>array(29,-64,601,576),8908=>array(29,-64,601,576),8909=>array(55,203,529,536),8910=>array(18,0,542,568),8911=>array(18,0,542,568),8912=>array(56,84,623,626),8913=>array(56,84,623,626),8914=>array(63,0,605,567),8915=>array(63,0,605,567),8916=>array(50,0,512,716),8917=>array(55,-199,529,716),8918=>array(55,111,529,595),8919=>array(55,111,529,595),8920=>array(55,111,1299,595),8921=>array(55,111,1299,595),8922=>array(55,-217,529,927),8923=>array(55,-217,529,927),8924=>array(55,55,529,650),8925=>array(55,55,529,650),8926=>array(55,-33,529,595),8927=>array(55,-33,529,595),8928=>array(55,-141,529,657),8929=>array(55,-141,529,657),8930=>array(55,-100,623,726),8931=>array(55,-100,623,726),8932=>array(55,-100,623,626),8933=>array(55,-100,623,626),8934=>array(55,-71,529,656),8935=>array(55,-71,529,656),8936=>array(55,-71,529,656),8937=>array(55,-71,529,656),8938=>array(55,23,529,657),8939=>array(55,23,529,657),8940=>array(55,-45,529,712),8941=>array(55,-45,529,712),8942=>array(89,0,189,766),8943=>array(117,333,883,433),8944=>array(117,0,883,766),8945=>array(117,0,883,766),8960=>array(60,41,490,471),8962=>array(51,24,498,486),8963=>array(129,180,419,395),8964=>array(129,117,419,332),8965=>array(78,130,471,441),8966=>array(78,130,471,565),8967=>array(191,-192,359,693),8968=>array(103,58,346,694),8969=>array(103,58,346,694),8970=>array(103,-192,346,444),8971=>array(103,-192,346,444),8972=>array(251,-40,571,280),8973=>array(-22,-40,299,280),8974=>array(251,232,571,552),8975=>array(-22,232,299,552),8976=>array(49,163,511,403),8977=>array(83,64,467,448),8978=>array(59,156,741,497),8979=>array(59,156,741,497),8980=>array(34,100,516,441),8981=>array(27,9,490,471),8982=>array(26,-102,523,614),8983=>array(18,-51,632,563),8984=>array(63,0,717,654),8985=>array(49,109,511,349),8986=>array(45,-20,505,532),8987=>array(103,0,447,512),8988=>array(111,140,391,420),8989=>array(158,140,439,420),8990=>array(111,92,391,372),8991=>array(158,92,439,372),8992=>array(180,-218,434,752),8993=>array(63,-188,313,782),8994=>array(17,159,696,341),8995=>array(17,171,696,353),8996=>array(18,226,982,547),8997=>array(18,0,982,512),8998=>array(90,0,948,600),8999=>array(90,0,910,600),9000=>array(90,0,910,600),9001=>array(32,-184,299,694),9002=>array(30,-184,297,694),9003=>array(52,0,910,600),9004=>array(57,6,493,509),9005=>array(13,77,537,435),9006=>array(100,108,465,400),9007=>array(38,132,511,380),9008=>array(38,0,504,525),9009=>array(81,62,509,450),9010=>array(35,50,531,462),9011=>array(35,186,531,392),9012=>array(51,84,498,419),9013=>array(51,84,498,419),9014=>array(60,0,540,559),9015=>array(140,0,460,559),9016=>array(60,0,540,559),9017=>array(60,0,540,559),9018=>array(60,0,540,559),9019=>array(60,0,540,559),9020=>array(60,0,540,559),9021=>array(104,0,496,559),9022=>array(60,39,540,519),9023=>array(84,0,517,559),9024=>array(83,0,516,559),9025=>array(60,0,540,559),9026=>array(60,0,540,559),9027=>array(60,0,540,559),9028=>array(60,0,540,559),9029=>array(13,0,556,559),9030=>array(44,0,587,559),9031=>array(60,0,540,559),9032=>array(60,0,540,559),9033=>array(104,0,496,559),9034=>array(60,0,540,559),9035=>array(122,0,478,559),9036=>array(60,0,540,559),9037=>array(60,0,540,559),9038=>array(60,0,540,559),9039=>array(60,0,540,559),9040=>array(60,0,540,559),9041=>array(60,0,540,559),9042=>array(122,0,478,559),9043=>array(60,0,540,559),9044=>array(60,0,540,559),9045=>array(60,0,540,559),9046=>array(60,0,540,559),9047=>array(60,0,540,559),9048=>array(160,0,440,559),9049=>array(60,0,540,559),9050=>array(60,0,540,559),9051=>array(60,0,540,397),9052=>array(60,0,540,475),9053=>array(60,0,540,559),9054=>array(60,0,540,559),9055=>array(60,39,540,519),9056=>array(60,0,540,559),9057=>array(60,0,540,559),9058=>array(122,0,478,559),9059=>array(153,157,447,509),9060=>array(153,161,447,524),9061=>array(104,33,496,559),9062=>array(60,0,540,559),9063=>array(54,0,542,559),9064=>array(50,131,549,464),9065=>array(148,122,452,559),9066=>array(160,122,440,478),9067=>array(103,68,502,508),9068=>array(93,-14,504,573),9069=>array(50,0,549,559),9070=>array(160,-136,440,559),9071=>array(60,0,540,559),9072=>array(60,0,540,559),9073=>array(51,55,550,469),9074=>array(50,89,549,503),9075=>array(163,-14,427,475),9076=>array(90,-212,525,475),9077=>array(26,-14,574,475),9078=>array(60,-136,555,475),9079=>array(60,-136,540,480),9080=>array(160,-136,440,475),9081=>array(26,-136,574,475),9082=>array(61,-14,555,475),9109=>array(60,0,540,559),9216=>array(30,0,565,689),9217=>array(37,0,564,694),9218=>array(37,0,587,694),9219=>array(41,0,587,689),9220=>array(41,0,582,689),9221=>array(41,-42,583,689),9222=>array(9,0,594,689),9223=>array(34,0,565,689),9224=>array(134,112,465,574),9225=>array(134,116,482,574),9226=>array(141,116,462,574),9227=>array(109,116,482,574),9228=>array(141,116,462,574),9229=>array(120,116,489,579),9230=>array(137,112,472,579),9231=>array(137,116,449,579),9232=>array(34,0,560,689),9233=>array(34,0,564,689),9234=>array(34,0,558,689),9235=>array(34,-4,559,689),9236=>array(34,0,573,689),9237=>array(30,0,594,689),9238=>array(37,0,568,694),9239=>array(41,0,575,689),9240=>array(20,0,568,694),9241=>array(141,116,472,574),9242=>array(37,0,575,694),9243=>array(41,-4,573,689),9244=>array(141,112,465,574),9245=>array(120,112,465,579),9246=>array(134,112,465,574),9247=>array(134,112,465,574),9248=>array(137,116,471,579),9249=>array(34,0,565,689),9250=>array(46,-12,561,716),9251=>array(96,-126,505,0),9252=>array(130,116,465,574),9280=>array(103,1,514,650),9281=>array(102,0,514,650),9282=>array(103,1,514,650),9283=>array(103,1,514,650),9284=>array(102,1,514,650),9285=>array(102,336,514,650),9286=>array(102,0,648,702),9287=>array(102,0,648,702),9288=>array(102,117,648,663),9289=>array(102,195,648,507),9290=>array(30,1,574,650),9312=>array(81,-109,919,728),9313=>array(81,-109,919,728),9314=>array(81,-109,919,728),9315=>array(81,-109,919,728),9316=>array(81,-109,919,728),9317=>array(81,-109,919,728),9318=>array(81,-109,919,728),9319=>array(81,-109,919,728),9320=>array(81,-109,919,728),9321=>array(81,-109,919,728),9322=>array(81,-109,919,728),9323=>array(81,-109,919,728),9324=>array(81,-109,919,728),9325=>array(81,-109,919,728),9326=>array(81,-109,919,728),9327=>array(81,-109,919,728),9328=>array(81,-109,919,728),9329=>array(81,-109,919,728),9330=>array(81,-109,919,728),9331=>array(81,-109,919,728),9332=>array(81,-67,919,683),9333=>array(81,-67,919,683),9334=>array(81,-67,919,683),9335=>array(81,-67,919,683),9336=>array(81,-67,919,683),9337=>array(81,-67,919,683),9338=>array(81,-67,919,683),9339=>array(81,-67,919,683),9340=>array(81,-67,919,683),9341=>array(81,-67,919,683),9342=>array(81,-67,919,683),9343=>array(81,-67,919,683),9344=>array(81,-67,919,683),9345=>array(81,-67,919,683),9346=>array(81,-67,919,683),9347=>array(81,-67,919,683),9348=>array(81,-67,919,683),9349=>array(81,-67,919,683),9350=>array(81,-67,919,683),9351=>array(81,-67,919,683),9352=>array(301,79,627,547),9353=>array(273,79,717,547),9354=>array(277,72,717,547),9355=>array(253,79,717,545),9356=>array(272,72,717,539),9357=>array(266,72,717,547),9358=>array(294,79,717,539),9359=>array(275,72,717,547),9360=>array(282,72,717,547),9361=>array(163,72,807,547),9362=>array(191,79,807,547),9363=>array(155,79,807,547),9364=>array(155,72,807,547),9365=>array(159,79,807,547),9366=>array(159,72,807,547),9367=>array(159,72,807,547),9368=>array(159,79,807,547),9369=>array(159,72,807,547),9370=>array(159,72,807,547),9371=>array(185,72,817,547),9372=>array(81,-67,919,683),9373=>array(81,-67,919,683),9374=>array(81,-67,919,683),9375=>array(81,-67,919,683),9376=>array(81,-67,919,683),9377=>array(81,-67,919,683),9378=>array(81,-67,919,683),9379=>array(81,-67,919,683),9380=>array(81,-67,919,683),9381=>array(81,-67,919,683),9382=>array(81,-67,919,683),9383=>array(81,-67,919,683),9384=>array(81,-67,919,683),9385=>array(81,-67,919,683),9386=>array(81,-67,919,683),9387=>array(81,-67,919,683),9388=>array(81,-67,919,683),9389=>array(81,-67,919,683),9390=>array(81,-67,919,683),9391=>array(81,-67,919,683),9392=>array(81,-67,919,683),9393=>array(81,-67,919,683),9394=>array(81,-67,919,683),9395=>array(81,-67,919,683),9396=>array(81,-67,919,683),9397=>array(81,-67,919,683),9398=>array(81,-109,919,728),9399=>array(81,-109,919,728),9400=>array(81,-109,919,728),9401=>array(81,-109,919,728),9402=>array(81,-109,919,728),9403=>array(81,-109,919,728),9404=>array(81,-109,919,728),9405=>array(81,-109,919,728),9406=>array(81,-109,919,728),9407=>array(81,-109,919,728),9408=>array(81,-109,919,728),9409=>array(81,-109,919,728),9410=>array(81,-109,919,728),9411=>array(81,-109,919,728),9412=>array(81,-109,919,728),9413=>array(81,-109,919,728),9414=>array(81,-109,919,728),9415=>array(81,-109,919,728),9416=>array(81,-109,919,728),9417=>array(81,-109,919,728),9418=>array(81,-109,919,728),9419=>array(81,-109,919,728),9420=>array(81,-109,919,728),9421=>array(81,-109,919,728),9422=>array(81,-109,919,728),9423=>array(81,-109,919,728),9424=>array(81,-109,919,728),9425=>array(81,-109,919,728),9426=>array(81,-109,919,728),9427=>array(81,-109,919,728),9428=>array(81,-109,919,728),9429=>array(81,-109,919,728),9430=>array(81,-109,919,728),9431=>array(81,-109,919,728),9432=>array(81,-109,919,728),9433=>array(81,-109,919,728),9434=>array(81,-109,919,728),9435=>array(81,-109,919,728),9436=>array(81,-109,919,728),9437=>array(81,-109,919,728),9438=>array(81,-109,919,728),9439=>array(81,-109,919,728),9440=>array(81,-109,919,728),9441=>array(81,-109,919,728),9442=>array(81,-109,919,728),9443=>array(81,-109,919,728),9444=>array(81,-109,919,728),9445=>array(81,-109,919,728),9446=>array(81,-109,919,728),9447=>array(81,-109,919,728),9448=>array(81,-109,919,728),9449=>array(81,-109,919,728),9450=>array(81,-109,919,728),9472=>array(-11,340,611,425),9473=>array(-11,303,611,474),9474=>array(258,-218,343,994),9475=>array(215,-218,386,994),9476=>array(-11,346,611,431),9477=>array(-11,303,611,474),9478=>array(258,-218,343,994),9479=>array(215,-218,386,994),9480=>array(-11,346,611,431),9481=>array(-11,303,611,474),9482=>array(258,-218,343,994),9483=>array(215,-218,386,994),9484=>array(258,-218,611,431),9485=>array(258,-218,611,474),9486=>array(215,-218,611,431),9487=>array(215,-218,611,474),9488=>array(-11,-218,343,431),9489=>array(-11,-218,343,474),9490=>array(-11,-218,386,431),9491=>array(-11,-218,386,474),9492=>array(258,346,611,994),9493=>array(258,303,611,994),9494=>array(215,346,611,994),9495=>array(215,303,611,994),9496=>array(-11,346,343,994),9497=>array(-11,303,343,994),9498=>array(-11,346,386,994),9499=>array(-11,303,386,994),9500=>array(258,-218,611,994),9501=>array(258,-218,611,994),9502=>array(215,-218,611,994),9503=>array(215,-218,611,994),9504=>array(215,-218,611,994),9505=>array(215,-218,611,994),9506=>array(215,-218,611,994),9507=>array(215,-218,611,994),9508=>array(-11,-218,343,994),9509=>array(-11,-218,343,994),9510=>array(-11,-218,386,994),9511=>array(-11,-218,386,994),9512=>array(-11,-218,386,994),9513=>array(-11,-218,386,994),9514=>array(-11,-218,386,994),9515=>array(-11,-218,386,994),9516=>array(-11,-218,611,431),9517=>array(-11,-218,611,474),9518=>array(-11,-218,611,474),9519=>array(-11,-218,611,474),9520=>array(-11,-218,611,431),9521=>array(-11,-218,611,474),9522=>array(-11,-218,611,474),9523=>array(-11,-218,611,474),9524=>array(-11,346,611,994),9525=>array(-11,303,611,994),9526=>array(-11,303,611,994),9527=>array(-11,303,611,994),9528=>array(-11,346,611,994),9529=>array(-11,303,611,994),9530=>array(-11,303,611,994),9531=>array(-11,303,611,994),9532=>array(-11,-218,611,994),9533=>array(-11,-218,611,994),9534=>array(-11,-218,611,994),9535=>array(-11,-218,611,994),9536=>array(-11,-218,611,994),9537=>array(-11,-218,611,994),9538=>array(-11,-218,611,994),9539=>array(-11,-218,611,994),9540=>array(-11,-218,611,994),9541=>array(-11,-218,611,994),9542=>array(-11,-218,611,994),9543=>array(-11,-218,611,994),9544=>array(-11,-218,611,994),9545=>array(-11,-218,611,994),9546=>array(-11,-218,611,994),9547=>array(-11,-218,611,994),9548=>array(-11,346,611,431),9549=>array(-11,303,611,474),9550=>array(258,-218,343,994),9551=>array(215,-218,386,994),9552=>array(-11,261,611,516),9553=>array(173,-218,428,994),9554=>array(258,-218,611,516),9555=>array(173,-218,611,431),9556=>array(173,-218,611,516),9557=>array(-11,-218,343,516),9558=>array(-11,-218,428,431),9559=>array(-11,-218,428,516),9560=>array(258,261,611,994),9561=>array(173,346,611,994),9562=>array(173,261,611,994),9563=>array(-11,261,343,994),9564=>array(-11,346,428,994),9565=>array(-11,261,428,994),9566=>array(258,-218,611,994),9567=>array(173,-218,611,994),9568=>array(173,-218,611,994),9569=>array(-11,-218,343,994),9570=>array(-11,-218,428,994),9571=>array(-11,-218,428,994),9572=>array(-11,-218,611,516),9573=>array(-11,-218,611,431),9574=>array(-11,-218,611,516),9575=>array(-11,261,611,994),9576=>array(-11,346,611,994),9577=>array(-11,261,611,994),9578=>array(-11,-218,611,994),9579=>array(-11,-218,611,994),9580=>array(-11,-218,611,994),9581=>array(258,77,612,431),9582=>array(-11,77,343,431),9583=>array(-11,346,343,700),9584=>array(258,346,612,700),9585=>array(0,88,600,688),9586=>array(0,88,600,688),9587=>array(0,88,600,688),9588=>array(-11,346,258,431),9589=>array(258,431,343,994),9590=>array(343,346,611,431),9591=>array(258,-218,343,346),9592=>array(-11,303,258,474),9593=>array(215,431,386,994),9594=>array(343,303,611,474),9595=>array(215,-218,386,346),9596=>array(-11,303,611,474),9597=>array(215,-218,386,994),9598=>array(-11,303,611,474),9599=>array(215,-218,386,994),9600=>array(-11,388,611,994),9601=>array(-11,-218,611,-66),9602=>array(-11,-218,611,85),9603=>array(-11,-218,611,237),9604=>array(-11,-218,611,388),9605=>array(-11,-218,611,540),9606=>array(-11,-218,611,691),9607=>array(-11,-218,611,843),9608=>array(-11,-218,611,994),9609=>array(-11,-218,525,994),9610=>array(-11,-218,450,994),9611=>array(-11,-218,375,994),9612=>array(-11,-218,300,994),9613=>array(-11,-218,225,994),9614=>array(-11,-218,150,994),9615=>array(-11,-218,75,994),9616=>array(300,-218,611,994),9617=>array(100,-262,600,1043),9618=>array(0,-264,601,1042),9619=>array(0,-262,601,1042),9620=>array(-11,843,611,994),9621=>array(525,-218,611,994),9632=>array(85,160,515,590),9633=>array(85,160,515,590),9634=>array(85,160,515,590),9635=>array(85,160,515,590),9636=>array(85,160,515,590),9637=>array(85,160,515,590),9638=>array(85,160,515,590),9639=>array(85,160,515,590),9640=>array(85,160,515,590),9641=>array(85,160,515,590),9642=>array(192,267,408,483),9643=>array(192,267,408,483),9644=>array(85,267,515,483),9645=>array(85,267,515,483),9646=>array(192,160,408,590),9647=>array(192,160,408,590),9648=>array(79,275,521,475),9649=>array(79,275,521,475),9650=>array(89,211,511,611),9651=>array(89,211,511,611),9652=>array(146,285,454,552),9653=>array(146,285,454,552),9654=>array(136,164,536,586),9655=>array(136,164,536,586),9656=>array(211,221,478,529),9657=>array(211,221,478,529),9658=>array(85,194,541,556),9659=>array(85,194,541,556),9660=>array(89,139,511,539),9661=>array(89,139,511,539),9662=>array(146,198,454,465),9663=>array(146,198,454,465),9664=>array(64,164,464,586),9665=>array(64,164,464,586),9666=>array(122,221,389,529),9667=>array(122,221,389,529),9668=>array(59,194,515,556),9669=>array(59,194,515,556),9670=>array(69,144,531,606),9671=>array(69,144,531,606),9672=>array(69,144,531,606),9673=>array(85,160,515,590),9674=>array(85,80,515,670),9675=>array(85,160,515,590),9676=>array(86,161,514,589),9677=>array(85,160,515,590),9678=>array(85,160,515,590),9679=>array(85,160,515,590),9680=>array(85,160,515,590),9681=>array(85,160,515,590),9682=>array(85,160,515,590),9683=>array(85,160,515,590),9684=>array(85,160,515,590),9685=>array(85,160,515,590),9686=>array(85,160,300,590),9687=>array(300,160,515,590),9688=>array(0,0,600,600),9689=>array(0,0,600,600),9690=>array(0,300,600,600),9691=>array(0,0,600,300),9692=>array(85,375,300,590),9693=>array(300,375,515,590),9694=>array(300,160,515,375),9695=>array(85,160,300,375),9696=>array(85,375,515,590),9697=>array(85,160,515,375),9698=>array(85,160,515,590),9699=>array(85,160,515,590),9700=>array(85,160,515,590),9701=>array(85,160,515,590),9702=>array(193,268,407,482),9703=>array(85,160,515,590),9704=>array(85,160,515,590),9705=>array(85,160,515,590),9706=>array(85,160,515,590),9707=>array(85,160,515,590),9708=>array(89,211,511,611),9709=>array(89,211,511,611),9710=>array(89,211,511,611),9711=>array(20,95,580,655),9728=>array(65,1,685,621),9729=>array(58,166,944,652),9730=>array(76,6,674,622),9731=>array(105,-3,672,690),9732=>array(81,0,923,690),9733=>array(37,0,779,719),9734=>array(37,0,786,720),9735=>array(107,12,356,451),9736=>array(35,53,436,449),9737=>array(70,0,730,660),9738=>array(70,50,730,620),9739=>array(70,50,730,620),9740=>array(200,100,677,577),9741=>array(100,0,700,600),9742=>array(22,63,696,521),9743=>array(22,63,696,521),9744=>array(63,0,671,607),9745=>array(63,0,671,607),9746=>array(63,0,671,607),9747=>array(129,0,633,668),9754=>array(27,56,924,451),9755=>array(36,56,933,451),9756=>array(84,168,899,531),9757=>array(288,-79,651,736),9758=>array(41,168,856,531),9759=>array(288,-36,651,779),9760=>array(24,15,720,725),9761=>array(50,40,546,610),9762=>array(56,22,694,660),9763=>array(46,115,704,724),9764=>array(45,0,535,652),9765=>array(24,0,436,699),9766=>array(35,0,409,699),9767=>array(87,0,589,637),9768=>array(35,0,409,699),9769=>array(54,20,714,680),9770=>array(88,0,727,664),9771=>array(70,-24,778,656),9772=>array(78,-2,596,691),9773=>array(56,0,741,732),9774=>array(64,0,686,622),9775=>array(64,0,686,622),9776=>array(70,0,830,639),9777=>array(70,0,830,639),9778=>array(70,0,830,639),9779=>array(70,0,830,639),9780=>array(70,0,830,639),9781=>array(70,0,830,639),9782=>array(70,0,830,639),9783=>array(70,0,830,639),9784=>array(60,32,690,661),9785=>array(64,0,686,622),9786=>array(64,0,686,622),9787=>array(64,0,686,622),9788=>array(75,11,675,611),9789=>array(84,-189,659,691),9790=>array(91,-189,666,691),9791=>array(150,-100,590,759),9792=>array(100,-100,640,699),9793=>array(100,-30,640,769),9794=>array(60,-30,711,621),9795=>array(45,0,573,699),9796=>array(26,0,432,699),9797=>array(45,0,587,699),9798=>array(23,0,757,719),9799=>array(80,0,487,699),9800=>array(38,0,796,709),9801=>array(36,0,744,703),9802=>array(35,0,699,699),9803=>array(45,0,842,699),9804=>array(41,-176,749,700),9805=>array(42,-162,1002,699),9806=>array(33,0,863,699),9807=>array(42,-72,1067,699),9808=>array(48,0,747,699),9809=>array(29,-90,808,699),9810=>array(36,106,886,618),9811=>array(34,0,662,699),9812=>array(83,-117,913,709),9813=>array(42,-117,954,729),9814=>array(154,-113,842,706),9815=>array(83,-103,913,707),9816=>array(76,-110,912,727),9817=>array(197,-103,803,710),9818=>array(83,-117,913,709),9819=>array(42,-117,954,729),9820=>array(154,-113,842,706),9821=>array(83,-103,913,707),9822=>array(76,-110,912,727),9823=>array(197,-103,803,710),9824=>array(49,0,673,705),9825=>array(49,0,685,705),9826=>array(51,0,623,706),9827=>array(49,0,755,705),9828=>array(49,0,673,705),9829=>array(49,0,685,705),9830=>array(51,0,623,706),9831=>array(49,0,755,705),9832=>array(56,24,804,680),9833=>array(48,0,316,736),9834=>array(48,0,556,736),9835=>array(48,-70,654,766),9836=>array(48,-70,654,766),9837=>array(107,10,400,736),9838=>array(107,-22,333,736),9839=>array(29,-22,411,736),9985=>array(56,49,901,637),9986=>array(38,48,923,635),9987=>array(56,49,901,637),9988=>array(6,0,979,551),9990=>array(68,-201,700,669),9991=>array(30,0,760,730),9992=>array(17,0,772,654),9993=>array(27,28,663,483),9996=>array(64,0,521,582),9997=>array(59,72,824,515),9998=>array(62,113,848,672),9999=>array(35,170,898,521),10000=>array(62,19,849,578),10001=>array(36,135,908,555),10002=>array(51,135,923,555),10003=>array(18,-10,722,706),10004=>array(34,-9,796,765),10005=>array(47,0,715,668),10006=>array(46,0,714,668),10007=>array(0,-58,567,638),10008=>array(25,-67,650,682),10009=>array(35,0,728,693),10010=>array(34,0,727,693),10011=>array(35,0,724,689),10012=>array(35,0,718,683),10013=>array(35,0,460,690),10014=>array(9,0,542,690),10015=>array(38,0,499,690),10016=>array(36,94,542,600),10017=>array(29,-12,663,720),10018=>array(37,-11,750,702),10019=>array(34,0,755,719),10020=>array(34,0,755,719),10021=>array(36,0,755,719),10022=>array(37,0,756,719),10023=>array(38,0,757,719),10025=>array(37,0,786,720),10026=>array(31,-13,757,713),10027=>array(49,0,792,719),10028=>array(37,0,786,719),10029=>array(42,0,791,719),10030=>array(34,0,783,719),10031=>array(35,-14,795,718),10032=>array(49,1,873,718),10033=>array(29,0,714,719),10034=>array(18,0,706,719),10035=>array(35,0,714,679),10036=>array(35,0,756,721),10037=>array(47,0,745,698),10038=>array(37,0,659,699),10039=>array(35,0,741,706),10040=>array(35,0,733,698),10041=>array(35,0,757,729),10042=>array(35,0,725,688),10043=>array(31,0,675,719),10044=>array(34,7,674,728),10045=>array(13,0,669,719),10046=>array(21,0,680,719),10047=>array(35,0,791,737),10048=>array(35,0,780,728),10049=>array(35,0,754,719),10050=>array(44,-14,745,695),10051=>array(28,0,679,719),10052=>array(32,0,655,696),10053=>array(29,0,667,696),10054=>array(1,0,688,687),10055=>array(30,0,757,719),10056=>array(42,-7,745,696),10057=>array(42,30,670,663),10058=>array(60,0,731,718),10059=>array(26,-21,759,711),10061=>array(41,-33,832,638),10063=>array(23,0,739,714),10064=>array(23,0,739,714),10065=>array(23,0,735,714),10066=>array(23,0,735,714),10070=>array(36,-12,749,701),10072=>array(29,0,109,712),10073=>array(29,0,248,712),10074=>array(29,0,386,712),10075=>array(56,265,336,706),10076=>array(56,265,336,706),10077=>array(38,265,630,706),10078=>array(38,265,630,706),10081=>array(87,-157,666,727),10082=>array(60,-14,484,716),10083=>array(28,-14,516,711),10084=>array(35,0,875,703),10085=>array(38,0,644,764),10086=>array(76,-15,681,709),10087=>array(0,110,760,514),10102=>array(35,-14,753,705),10103=>array(35,-14,753,705),10104=>array(35,-14,753,705),10105=>array(35,-14,753,705),10106=>array(35,-14,753,705),10107=>array(35,-14,753,705),10108=>array(35,-14,753,705),10109=>array(35,-14,753,705),10110=>array(35,-14,753,705),10111=>array(35,-14,753,705),10112=>array(35,-14,753,705),10113=>array(35,-14,753,705),10114=>array(35,-14,753,705),10115=>array(35,-14,753,705),10116=>array(35,-14,753,705),10117=>array(35,-14,753,705),10118=>array(35,-14,753,705),10119=>array(35,-14,753,705),10120=>array(35,-14,753,705),10121=>array(35,-14,753,705),10122=>array(35,-14,753,705),10123=>array(35,-14,753,705),10124=>array(35,-14,753,705),10125=>array(35,-14,753,705),10126=>array(35,-14,753,705),10127=>array(35,-14,753,705),10128=>array(35,-14,753,705),10129=>array(35,-14,753,705),10130=>array(35,-14,753,705),10131=>array(35,-14,753,705),10132=>array(22,66,879,640),10136=>array(106,19,675,558),10137=>array(33,73,909,520),10138=>array(121,-28,619,578),10139=>array(28,73,890,603),10140=>array(38,70,891,636),10141=>array(82,137,843,554),10142=>array(82,137,846,554),10143=>array(35,155,799,536),10144=>array(36,94,838,594),10145=>array(13,94,815,594),10146=>array(35,82,889,610),10147=>array(35,82,889,610),10148=>array(103,147,845,543),10149=>array(42,123,900,578),10150=>array(42,55,901,509),10151=>array(45,-85,418,772),10152=>array(21,-68,868,755),10153=>array(36,43,813,648),10154=>array(41,43,807,648),10155=>array(61,129,832,585),10156=>array(61,129,832,585),10157=>array(37,44,665,651),10158=>array(37,44,665,651),10159=>array(38,93,836,620),10161=>array(38,69,836,596),10162=>array(15,0,746,730),10163=>array(23,128,934,561),10164=>array(42,2,725,685),10165=>array(27,166,838,525),10166=>array(20,5,703,685),10167=>array(93,0,791,694),10168=>array(57,166,886,523),10169=>array(98,13,792,710),10170=>array(35,192,805,498),10171=>array(28,157,858,533),10172=>array(83,199,849,501),10173=>array(15,147,949,549),10174=>array(41,97,889,579),12289=>array(94,-86,336,167),12290=>array(86,-54,373,235),12291=>array(305,220,695,527),12292=>array(100,-35,933,800),12293=>array(137,5,781,779),12294=>array(148,4,839,695),12295=>array(106,-26,920,790),12296=>array(587,-69,921,837),12297=>array(79,-69,413,837),12298=>array(501,-69,950,837),12299=>array(50,-69,499,837),12300=>array(559,349,900,837),12301=>array(100,-68,446,419),12302=>array(560,349,930,835),12303=>array(70,-69,444,421),12304=>array(611,-69,900,837),12305=>array(100,-69,389,837),12306=>array(173,-18,827,735),12307=>array(144,20,845,750),12308=>array(625,-75,900,844),12309=>array(100,-75,375,844),12310=>array(570,-73,930,845),12311=>array(69,-73,429,845),12312=>array(649,-73,877,835),12313=>array(124,-74,352,834),12314=>array(578,-81,861,820),12315=>array(121,-82,404,819),12316=>array(39,289,961,466),12317=>array(535,523,901,853),12318=>array(100,523,466,853),12319=>array(181,-53,547,277),12320=>array(89,66,911,689),12321=>array(445,46,525,715),12322=>array(339,48,660,714),12323=>array(255,47,734,717),12324=>array(153,34,769,707),12325=>array(285,35,742,747),12326=>array(184,255,821,671),12327=>array(185,167,823,691),12328=>array(181,104,816,707),12329=>array(206,35,844,743),12330=>array(112,1,375,265),12331=>array(111,513,375,776),12332=>array(627,514,889,778),12333=>array(624,1,888,264),12334=>array(85,311,237,462),12335=>array(83,207,237,564),12336=>array(68,285,931,479),12337=>array(284,-60,729,810),12338=>array(199,-56,876,814),12339=>array(174,-28,732,782),12340=>array(128,-28,898,782),12341=>array(232,-46,726,796),12342=>array(106,-26,920,790),12343=>array(61,-53,920,827),12351=>array(241,-70,759,836),12353=>array(187,47,786,720),12354=>array(113,-60,867,781),12355=>array(217,45,802,670),12356=>array(144,-30,876,760),12357=>array(191,42,750,687),12358=>array(113,-36,810,759),12359=>array(169,54,811,709),12360=>array(90,-23,881,787),12361=>array(185,66,791,704),12362=>array(102,-12,864,796),12363=>array(80,-31,857,806),12364=>array(58,-31,944,815),12365=>array(99,-31,822,811),12366=>array(100,-30,947,833),12367=>array(145,-22,766,776),12368=>array(145,-22,914,821),12369=>array(162,-55,914,782),12370=>array(97,-62,959,839),12371=>array(163,7,857,716),12372=>array(116,10,869,807),12373=>array(98,-31,814,789),12374=>array(94,-31,925,821),12375=>array(207,-18,857,769),12376=>array(185,-18,905,821),12377=>array(114,-62,886,773),12378=>array(89,-62,915,863),12379=>array(98,-16,879,760),12380=>array(72,-16,938,863),12381=>array(102,-35,887,751),12382=>array(80,-35,925,807),12383=>array(119,-16,881,797),12384=>array(89,-16,905,807),12385=>array(143,-21,844,799),12386=>array(109,-21,905,859),12387=>array(175,123,771,603),12388=>array(122,47,868,645),12389=>array(97,57,895,873),12390=>array(90,-25,856,720),12391=>array(90,-25,903,720),12392=>array(163,10,823,775),12393=>array(163,10,911,810),12394=>array(80,-22,907,800),12395=>array(131,-8,875,779),12396=>array(105,-6,909,782),12397=>array(88,-15,903,773),12398=>array(115,-18,882,714),12399=>array(111,-30,896,774),12400=>array(84,-30,931,840),12401=>array(95,-30,944,843),12402=>array(123,-7,938,742),12403=>array(89,-7,921,840),12404=>array(103,-12,918,861),12405=>array(73,-9,924,757),12406=>array(64,-9,915,840),12407=>array(50,-9,918,861),12408=>array(86,66,909,662),12409=>array(86,66,909,806),12410=>array(66,66,889,827),12411=>array(110,-23,898,771),12412=>array(79,-23,924,823),12413=>array(94,-23,942,827),12414=>array(126,-24,892,797),12415=>array(115,-33,888,772),12416=>array(121,-17,905,789),12417=>array(130,-30,870,796),12418=>array(112,-9,858,789),12419=>array(173,48,804,710),12420=>array(99,-29,887,789),12421=>array(202,34,795,712),12422=>array(135,-48,878,792),12423=>array(192,96,804,699),12424=>array(116,21,879,780),12425=>array(144,-17,817,780),12426=>array(193,-81,777,770),12427=>array(82,11,836,767),12428=>array(105,-29,911,774),12429=>array(100,-11,857,760),12430=>array(160,62,798,700),12431=>array(80,-14,874,782),12432=>array(118,-5,879,745),12433=>array(86,1,895,774),12434=>array(115,-24,853,805),12435=>array(90,-8,906,778),12436=>array(103,-36,940,786),12441=>array(641,603,869,807),12442=>array(703,648,918,861),12443=>array(503,603,731,807),12444=>array(490,648,705,861),12445=>array(153,39,808,744),12446=>array(153,39,827,744),12449=>array(199,54,815,665),12450=>array(94,-61,920,751),12451=>array(218,66,759,704),12452=>array(121,-44,833,800),12453=>array(225,59,789,694),12454=>array(125,-47,880,803),12455=>array(189,91,810,630),12456=>array(80,0,915,735),12457=>array(184,61,822,683),12458=>array(96,-45,952,787),12459=>array(88,-41,858,794),12460=>array(88,-41,888,831),12461=>array(73,-45,901,803),12462=>array(71,-54,930,821),12463=>array(120,-49,857,815),12464=>array(77,-51,924,849),12465=>array(64,-48,908,813),12466=>array(64,-48,908,835),12467=>array(98,-23,859,734),12468=>array(81,-25,910,877),12469=>array(84,-59,917,788),12470=>array(64,-59,966,799),12471=>array(83,-39,904,789),12472=>array(79,-39,900,799),12473=>array(82,-52,952,728),12474=>array(56,-52,946,867),12475=>array(87,-5,912,786),12476=>array(81,-3,900,800),12477=>array(131,-51,841,780),12478=>array(131,-51,876,831),12479=>array(120,-60,851,805),12480=>array(60,-60,910,859),12481=>array(87,-54,921,813),12482=>array(77,-54,930,813),12483=>array(189,61,752,663),12484=>array(89,-47,845,774),12485=>array(101,-47,890,829),12486=>array(73,-61,908,740),12487=>array(73,-61,948,757),12488=>array(291,-46,850,787),12489=>array(325,-44,879,790),12490=>array(82,-63,915,786),12491=>array(77,16,911,711),12492=>array(116,-54,863,734),12493=>array(65,-51,926,786),12494=>array(130,-49,855,740),12495=>array(72,-29,928,791),12496=>array(47,-32,944,799),12497=>array(47,-32,944,837),12498=>array(163,-5,879,770),12499=>array(150,-5,930,799),12500=>array(137,-5,944,799),12501=>array(151,-58,855,732),12502=>array(107,-60,920,886),12503=>array(89,-60,964,857),12504=>array(57,24,937,651),12505=>array(57,24,937,685),12506=>array(57,24,937,685),12507=>array(70,-45,913,785),12508=>array(70,-45,913,821),12509=>array(70,-45,913,849),12510=>array(113,-31,887,729),12511=>array(104,-43,892,769),12512=>array(80,-26,927,792),12513=>array(108,-35,835,787),12514=>array(81,-6,916,739),12515=>array(203,48,790,686),12516=>array(104,-48,884,801),12517=>array(180,93,801,636),12518=>array(75,-4,909,730),12519=>array(205,80,765,640),12520=>array(105,-27,860,730),12521=>array(104,-57,873,748),12522=>array(213,-53,790,768),12523=>array(62,-45,936,788),12524=>array(203,-29,893,788),12525=>array(134,-24,848,730),12526=>array(224,51,769,636),12527=>array(124,-54,867,731),12528=>array(83,-45,918,784),12529=>array(76,-5,910,730),12530=>array(123,-53,863,753),12531=>array(107,-33,896,754),12532=>array(107,-54,884,839),12533=>array(199,57,767,690),12534=>array(179,43,809,694),12535=>array(92,-58,952,834),12536=>array(73,-45,953,843),12537=>array(82,-5,977,861),12538=>array(107,-54,947,846),12539=>array(161,311,313,462),12540=>array(83,339,917,429),12541=>array(271,-27,738,666),12542=>array(271,-27,766,807),12549=>array(157,-41,845,819),12550=>array(113,-35,861,812),12551=>array(149,51,851,697),12552=>array(147,44,849,718),12553=>array(98,-41,843,819),12554=>array(100,-45,900,783),12555=>array(151,-45,840,758),12556=>array(98,-35,843,817),12557=>array(133,-41,806,802),12558=>array(121,-34,879,738),12559=>array(60,-32,871,738),12560=>array(232,-43,676,791),12561=>array(257,-41,677,801),12562=>array(121,-28,879,738),12563=>array(105,6,895,782),12564=>array(142,-33,756,796),12565=>array(61,-30,825,752),12566=>array(227,-15,773,734),12567=>array(149,-35,811,746),12568=>array(113,-39,887,806),12569=>array(149,-32,883,752),12570=>array(163,-37,837,783),12571=>array(121,2,879,738),12572=>array(121,2,879,794),12573=>array(109,8,891,773),12574=>array(112,-39,871,754),12575=>array(82,-10,934,729),12576=>array(163,-48,866,790),12577=>array(111,-20,887,723),12578=>array(133,-37,849,742),12579=>array(166,-33,838,775),12580=>array(94,-21,872,797),12581=>array(164,54,847,751),12582=>array(88,-21,903,731),12583=>array(129,369,871,449),12584=>array(124,-4,877,753),12585=>array(157,29,843,711),12586=>array(87,-26,885,736),12587=>array(88,-21,903,734),12588=>array(60,-32,871,788),12593=>array(129,91,796,665),12594=>array(114,91,844,665),12595=>array(114,78,880,665),12596=>array(204,90,873,665),12597=>array(144,78,880,666),12598=>array(144,91,876,666),12599=>array(184,90,838,664),12600=>array(149,90,888,665),12601=>array(173,90,827,665),12602=>array(149,85,842,665),12603=>array(149,85,852,665),12604=>array(149,85,853,665),12605=>array(149,78,880,665),12606=>array(149,85,855,665),12607=>array(149,85,868,665),12608=>array(149,85,876,666),12609=>array(215,90,785,665),12610=>array(215,90,785,665),12611=>array(145,88,855,665),12612=>array(145,78,880,664),12613=>array(107,76,882,663),12614=>array(110,78,890,663),12615=>array(187,92,813,666),12616=>array(109,76,880,665),12617=>array(105,80,895,666),12618=>array(109,76,880,665),12619=>array(206,90,790,663),12620=>array(189,91,837,664),12621=>array(187,90,813,665),12622=>array(156,88,844,665),12623=>array(421,-64,711,842),12624=>array(345,-64,655,842),12625=>array(381,-64,676,842),12626=>array(340,-64,661,842),12627=>array(302,-65,597,841),12628=>array(186,-63,677,843),12629=>array(332,-64,626,842),12630=>array(226,-63,687,843),12631=>array(60,197,940,614),12632=>array(46,-64,931,842),12633=>array(51,-64,892,842),12634=>array(61,-64,857,842),12635=>array(60,197,940,615),12636=>array(79,76,921,554),12637=>array(68,-65,882,841),12638=>array(53,-63,912,843),12639=>array(70,-64,867,842),12640=>array(72,111,928,589),12641=>array(57,357,943,436),12642=>array(67,-64,867,842),12643=>array(462,-64,538,842),12645=>array(169,93,848,665),12646=>array(169,90,888,665),12647=>array(169,78,880,665),12648=>array(169,93,886,665),12649=>array(85,78,960,665),12650=>array(149,85,888,665),12651=>array(85,78,960,665),12652=>array(149,85,886,665),12653=>array(149,85,885,665),12654=>array(142,89,853,665),12655=>array(142,78,880,665),12656=>array(142,89,886,665),12657=>array(232,78,768,711),12658=>array(145,88,844,665),12659=>array(145,88,888,665),12660=>array(111,78,889,665),12661=>array(101,78,933,665),12662=>array(140,78,885,666),12663=>array(145,88,855,665),12664=>array(232,78,768,725),12665=>array(197,78,803,728),12666=>array(130,78,844,665),12667=>array(130,78,858,665),12668=>array(130,78,888,665),12669=>array(125,78,868,665),12670=>array(117,78,883,666),12671=>array(258,93,742,659),12672=>array(99,214,901,562),12673=>array(232,131,768,551),12674=>array(125,78,880,663),12675=>array(125,119,886,664),12676=>array(202,78,798,714),12677=>array(100,91,900,666),12678=>array(182,78,818,573),12679=>array(62,-64,936,842),12680=>array(62,-64,892,842),12681=>array(62,-64,867,842),12682=>array(52,-64,881,842),12683=>array(52,-63,902,843),12684=>array(52,-64,867,842),12685=>array(430,319,570,459),12686=>array(316,-98,634,855),12688=>array(468,391,532,889),12689=>array(302,391,760,889),12690=>array(56,620,459,664),12691=>array(43,481,468,770),12692=>array(47,446,470,803),12693=>array(62,415,456,817),12694=>array(45,427,479,845),12695=>array(70,401,449,858),12696=>array(44,401,477,827),12697=>array(73,399,448,839),12698=>array(82,423,470,815),12699=>array(39,401,485,834),12700=>array(46,401,469,834),12701=>array(35,401,482,832),12702=>array(30,412,488,859),12703=>array(38,401,490,846),12800=>array(72,-21,977,798),12801=>array(72,-21,977,798),12802=>array(72,-21,977,798),12803=>array(72,-21,977,798),12804=>array(72,-21,977,798),12805=>array(72,-21,977,798),12806=>array(72,-21,977,798),12807=>array(72,-21,977,798),12808=>array(72,-21,977,798),12809=>array(72,-21,977,798),12810=>array(72,-21,977,798),12811=>array(72,-21,977,798),12812=>array(72,-21,977,798),12813=>array(72,-21,977,798),12814=>array(72,-21,977,798),12815=>array(72,-21,977,798),12816=>array(72,-21,977,798),12817=>array(72,-21,977,798),12818=>array(72,-21,977,798),12819=>array(72,-21,977,798),12820=>array(72,-21,977,798),12821=>array(72,-21,977,798),12822=>array(72,-21,977,798),12823=>array(72,-21,977,798),12824=>array(72,-21,977,798),12825=>array(72,-21,977,798),12826=>array(72,-21,977,798),12827=>array(72,-21,977,798),12828=>array(72,-21,977,798),12832=>array(72,-21,976,798),12833=>array(72,-21,976,798),12834=>array(72,-21,976,798),12835=>array(72,-21,976,798),12836=>array(72,-21,976,798),12837=>array(72,-21,976,798),12838=>array(72,-21,976,798),12839=>array(72,-21,976,798),12840=>array(72,-21,976,798),12841=>array(72,-21,976,798),12842=>array(72,-21,976,798),12843=>array(72,-21,976,798),12844=>array(72,-21,976,798),12845=>array(72,-21,976,798),12846=>array(72,-21,976,803),12847=>array(72,-21,976,798),12848=>array(72,-21,976,798),12849=>array(72,-21,976,798),12850=>array(72,-21,976,798),12851=>array(72,-21,976,798),12852=>array(72,-21,976,798),12853=>array(72,-21,976,798),12854=>array(72,-21,976,798),12855=>array(72,-21,976,798),12856=>array(72,-21,976,798),12857=>array(72,-21,976,798),12858=>array(72,-21,976,798),12859=>array(72,-21,976,798),12860=>array(72,-21,976,798),12861=>array(72,-21,976,803),12862=>array(72,-21,976,798),12863=>array(72,-21,976,798),12864=>array(72,-21,976,798),12865=>array(72,-21,976,798),12866=>array(72,-21,976,798),12867=>array(72,-21,976,798),12896=>array(30,-82,970,859),12897=>array(30,-82,970,859),12898=>array(30,-82,970,859),12899=>array(30,-82,970,859),12900=>array(30,-82,970,859),12901=>array(30,-82,970,859),12902=>array(30,-82,970,859),12903=>array(30,-82,970,859),12904=>array(30,-82,970,859),12905=>array(30,-82,970,859),12906=>array(30,-82,970,859),12907=>array(30,-82,970,859),12908=>array(30,-82,970,859),12909=>array(30,-82,970,859),12910=>array(30,-82,970,859),12911=>array(30,-82,970,859),12912=>array(30,-82,970,859),12913=>array(30,-82,970,859),12914=>array(30,-82,970,859),12915=>array(30,-82,970,859),12916=>array(30,-82,970,859),12917=>array(30,-82,970,859),12918=>array(30,-82,970,859),12919=>array(30,-82,970,859),12920=>array(30,-82,970,859),12921=>array(30,-82,970,859),12922=>array(30,-82,970,859),12923=>array(30,-82,970,859),12927=>array(30,-82,970,859),12928=>array(30,-82,970,859),12929=>array(30,-82,970,859),12930=>array(30,-82,970,859),12931=>array(30,-82,970,859),12932=>array(30,-82,970,859),12933=>array(30,-82,970,859),12934=>array(30,-82,970,859),12935=>array(30,-82,970,859),12936=>array(30,-82,970,859),12937=>array(30,-82,970,859),12938=>array(30,-82,970,859),12939=>array(30,-82,970,859),12940=>array(30,-82,970,859),12941=>array(30,-82,970,859),12942=>array(30,-82,970,859),12943=>array(30,-82,970,859),12944=>array(30,-82,970,859),12945=>array(30,-82,970,859),12946=>array(30,-82,970,859),12947=>array(30,-82,970,859),12948=>array(30,-82,970,859),12949=>array(30,-82,970,859),12950=>array(30,-82,970,859),12951=>array(30,-82,970,859),12952=>array(30,-82,970,859),12953=>array(30,-82,970,859),12954=>array(30,-82,970,859),12955=>array(30,-82,970,859),12956=>array(30,-82,970,859),12957=>array(30,-82,970,859),12958=>array(30,-82,970,859),12959=>array(30,-82,970,859),12960=>array(30,-82,970,859),12961=>array(30,-82,970,859),12962=>array(30,-82,970,859),12963=>array(30,-82,970,859),12964=>array(30,-82,970,859),12965=>array(30,-82,970,859),12966=>array(30,-82,970,859),12967=>array(30,-82,970,859),12968=>array(30,-82,970,859),12969=>array(30,-82,970,859),12970=>array(30,-82,970,859),12971=>array(30,-82,970,859),12972=>array(30,-82,970,859),12973=>array(30,-82,970,859),12974=>array(30,-82,970,859),12975=>array(30,-82,970,859),12976=>array(30,-82,970,859),12992=>array(119,-55,892,783),12993=>array(88,-55,892,797),12994=>array(86,-55,892,787),12995=>array(64,-55,892,783),12996=>array(89,-55,892,783),12997=>array(102,-55,897,787),12998=>array(90,-55,892,783),12999=>array(80,-55,892,789),13000=>array(82,-55,892,793),13001=>array(47,-55,892,799),13002=>array(47,-55,892,783),13003=>array(47,-55,892,794),13008=>array(30,-82,970,859),13009=>array(30,-82,970,859),13010=>array(30,-82,970,859),13011=>array(30,-82,970,859),13012=>array(30,-82,970,859),13013=>array(30,-82,970,859),13014=>array(30,-82,970,859),13015=>array(30,-82,970,859),13016=>array(30,-82,970,859),13017=>array(30,-82,970,859),13018=>array(30,-82,970,859),13019=>array(30,-82,970,859),13020=>array(30,-82,970,859),13021=>array(30,-82,970,859),13022=>array(30,-82,970,859),13023=>array(30,-82,970,859),13024=>array(30,-82,970,859),13025=>array(30,-82,970,859),13026=>array(30,-82,970,859),13027=>array(30,-82,970,859),13028=>array(30,-82,970,859),13029=>array(30,-82,970,859),13030=>array(30,-82,970,859),13031=>array(30,-82,970,859),13032=>array(30,-82,970,859),13033=>array(30,-82,970,859),13034=>array(30,-82,970,859),13035=>array(30,-82,970,859),13036=>array(30,-82,970,859),13037=>array(30,-82,970,859),13038=>array(30,-82,970,859),13039=>array(30,-82,970,859),13040=>array(30,-82,970,859),13041=>array(30,-82,970,859),13042=>array(30,-82,970,859),13043=>array(30,-82,970,859),13044=>array(30,-82,970,859),13045=>array(30,-82,970,859),13046=>array(30,-82,970,859),13047=>array(30,-82,970,859),13048=>array(30,-82,970,859),13049=>array(30,-82,970,859),13050=>array(30,-82,970,859),13051=>array(30,-82,970,859),13052=>array(30,-82,970,859),13053=>array(30,-82,970,859),13054=>array(30,-82,970,859),13056=>array(54,-77,959,836),13057=>array(62,-82,960,822),13058=>array(39,-64,954,811),13059=>array(49,-64,945,811),13060=>array(73,-74,957,845),13061=>array(50,-76,949,845),13062=>array(75,-49,949,836),13063=>array(38,-77,962,804),13064=>array(58,-67,945,796),13065=>array(47,-48,949,836),13066=>array(47,-66,945,836),13067=>array(58,-75,921,845),13068=>array(58,-77,944,844),13069=>array(58,-75,944,844),13070=>array(58,-49,924,860),13071=>array(58,-67,965,860),13072=>array(51,-61,975,862),13073=>array(51,129,939,862),13074=>array(51,-75,946,862),13075=>array(51,-74,968,862),13076=>array(51,-47,924,841),13077=>array(38,-66,970,841),13078=>array(50,-78,970,844),13079=>array(51,-78,961,841),13080=>array(33,-66,944,866),13081=>array(33,-78,961,866),13082=>array(46,-66,968,844),13083=>array(54,-73,963,844),13084=>array(46,-48,945,850),13085=>array(55,-77,960,822),13086=>array(40,-71,945,802),13087=>array(46,-72,968,845),13088=>array(46,-76,970,841),13089=>array(66,-82,970,831),13090=>array(48,-76,949,836),13091=>array(48,-77,949,836),13092=>array(54,-48,945,868),13093=>array(50,-71,952,868),13094=>array(156,-64,968,856),13095=>array(156,-76,949,845),13096=>array(55,-54,904,841),13097=>array(61,-77,731,825),13098=>array(37,-64,921,845),13099=>array(37,-76,980,836),13100=>array(37,-64,945,836),13101=>array(37,-64,968,856),13102=>array(56,-78,970,857),13103=>array(49,-64,923,857),13104=>array(106,-41,918,857),13105=>array(106,-64,968,862),13106=>array(71,-78,961,794),13107=>array(53,-77,933,845),13108=>array(57,-69,970,862),13109=>array(57,-76,944,826),13110=>array(39,-73,970,844),13111=>array(39,-75,915,802),13112=>array(39,-41,939,802),13113=>array(39,-64,968,836),13114=>array(39,-48,949,811),13115=>array(39,-71,945,802),13116=>array(39,-73,945,819),13117=>array(40,-77,933,859),13118=>array(40,-77,968,859),13119=>array(40,-76,949,842),13120=>array(40,-77,949,859),13121=>array(40,-64,945,842),13122=>array(40,-76,945,842),13123=>array(55,-72,924,845),13124=>array(49,-64,921,845),13125=>array(37,-72,731,805),13126=>array(55,-72,968,836),13127=>array(57,-69,963,811),13128=>array(61,-76,949,844),13129=>array(61,-75,887,829),13130=>array(39,-72,970,831),13131=>array(67,-60,969,833),13132=>array(67,-77,969,860),13133=>array(67,-77,968,833),13134=>array(59,-77,945,847),13135=>array(49,-64,945,847),13136=>array(57,-76,950,811),13137=>array(107,-77,968,831),13138=>array(107,-73,944,831),13139=>array(49,140,955,857),13140=>array(49,-77,968,836),13141=>array(124,-66,956,835),13142=>array(118,-82,963,835),13143=>array(79,-77,718,798),13144=>array(124,-65,967,826),13145=>array(119,-65,967,826),13146=>array(88,-65,967,826),13147=>array(86,-65,967,826),13148=>array(64,-65,967,826),13149=>array(89,-65,967,826),13150=>array(102,-65,972,826),13151=>array(90,-65,967,826),13152=>array(80,-65,967,826),13153=>array(82,-65,967,826),13154=>array(47,-65,967,826),13155=>array(47,-65,967,826),13156=>array(47,-65,967,826),13157=>array(47,-65,967,826),13158=>array(47,-65,967,826),13159=>array(47,-65,967,826),13160=>array(47,-65,967,826),13161=>array(47,-65,967,826),13162=>array(47,-65,967,826),13163=>array(47,-65,967,826),13164=>array(48,-65,967,826),13165=>array(48,-65,967,826),13166=>array(48,-65,967,826),13167=>array(48,-65,967,826),13168=>array(48,-65,967,826),13169=>array(77,12,942,739),13170=>array(65,11,930,739),13171=>array(50,23,915,751),13172=>array(81,11,971,739),13173=>array(63,16,962,739),13174=>array(90,-71,934,658),13179=>array(37,-70,970,831),13180=>array(54,-60,946,831),13181=>array(28,-43,956,829),13182=>array(59,-67,970,832),13183=>array(23,-86,969,855),13184=>array(84,-171,968,739),13185=>array(82,23,968,739),13186=>array(79,-187,963,739),13187=>array(77,23,965,739),13188=>array(80,23,962,739),13189=>array(78,23,946,739),13190=>array(78,23,946,739),13191=>array(63,23,946,763),13192=>array(58,11,922,739),13193=>array(62,11,938,739),13194=>array(84,-171,942,739),13195=>array(82,23,942,739),13196=>array(80,-187,942,739),13197=>array(80,-187,919,553),13198=>array(77,-187,925,553),13199=>array(91,-187,919,739),13200=>array(91,23,949,739),13201=>array(82,23,952,739),13202=>array(72,23,957,739),13203=>array(52,23,962,763),13204=>array(44,23,952,739),13205=>array(84,-187,926,737),13206=>array(86,23,930,739),13207=>array(65,11,930,739),13208=>array(123,23,926,739),13209=>array(86,23,914,751),13210=>array(86,23,914,553),13211=>array(87,-187,914,553),13212=>array(70,23,930,553),13213=>array(63,16,918,558),13214=>array(83,23,918,739),13215=>array(67,23,958,677),13216=>array(63,16,958,677),13217=>array(149,23,926,677),13218=>array(82,23,958,739),13219=>array(67,23,964,680),13220=>array(63,16,964,680),13221=>array(149,23,932,680),13222=>array(82,23,964,739),13223=>array(75,16,937,740),13224=>array(67,16,958,740),13225=>array(104,11,926,739),13226=>array(69,11,951,739),13227=>array(58,11,961,739),13228=>array(55,23,975,763),13229=>array(70,11,930,739),13230=>array(67,11,959,740),13231=>array(67,11,966,740),13232=>array(92,-171,940,558),13233=>array(91,16,929,558),13234=>array(92,-187,946,558),13235=>array(83,16,947,558),13236=>array(92,-171,954,739),13237=>array(88,23,954,739),13238=>array(92,-187,954,739),13239=>array(70,23,954,739),13240=>array(93,23,954,739),13241=>array(76,23,959,739),13242=>array(84,-171,965,739),13243=>array(87,23,963,739),13244=>array(87,-187,963,739),13245=>array(70,23,967,739),13246=>array(91,23,965,739),13247=>array(72,23,969,739),13248=>array(87,23,945,739),13249=>array(72,23,948,739),13250=>array(65,11,955,553),13251=>array(85,-171,917,739),13252=>array(64,16,940,558),13253=>array(64,11,925,739),13254=>array(50,-187,942,761),13255=>array(63,16,955,763),13256=>array(61,11,939,739),13257=>array(64,-186,960,763),13258=>array(91,11,939,739),13259=>array(102,23,932,739),13260=>array(159,23,837,739),13261=>array(90,22,959,739),13262=>array(79,23,921,739),13263=>array(121,18,860,739),13264=>array(109,23,918,739),13265=>array(151,23,844,739),13266=>array(79,-187,921,739),13267=>array(166,23,842,739),13268=>array(88,11,947,739),13269=>array(87,23,913,739),13270=>array(69,16,931,739),13271=>array(93,-171,907,739),13272=>array(76,-171,955,558),13273=>array(69,23,931,739),13274=>array(84,23,961,739),13275=>array(98,16,918,558),13276=>array(68,23,944,763),13277=>array(51,11,952,739),13280=>array(119,-24,908,777),13281=>array(88,-24,908,797),13282=>array(86,-35,908,787),13283=>array(64,-24,908,781),13284=>array(89,-31,908,780),13285=>array(102,-34,914,787),13286=>array(90,-24,908,777),13287=>array(80,-25,908,789),13288=>array(82,-27,908,793),13289=>array(47,-35,918,795),13290=>array(47,-24,918,776),13291=>array(47,-24,918,793),13292=>array(47,-35,918,792),13293=>array(47,-24,918,785),13294=>array(47,-31,918,780),13295=>array(47,-32,918,787),13296=>array(47,-24,918,777),13297=>array(47,-24,918,786),13298=>array(47,-31,918,788),13299=>array(48,-35,918,795),13300=>array(48,-24,918,792),13301=>array(48,-24,918,792),13302=>array(48,-34,918,792),13303=>array(48,-24,918,792),13304=>array(48,-31,918,792),13305=>array(48,-32,918,792),13306=>array(48,-24,918,792),13307=>array(48,-24,918,792),13308=>array(48,-31,918,792),13309=>array(44,-35,918,795),13310=>array(44,-34,918,790),19968=>array(121,356,896,439),19969=>array(98,-68,911,768),19970=>array(102,-67,897,787),19971=>array(75,-11,896,823),19972=>array(92,9,927,814),19973=>array(92,9,927,814),19974=>array(115,-77,914,738),19975=>array(63,-77,959,738),19976=>array(83,-77,948,827),19977=>array(99,32,911,713),19978=>array(92,10,927,814),19979=>array(84,-59,916,772),19980=>array(53,-64,927,778),19981=>array(71,-65,928,769),19982=>array(68,-64,930,825),19983=>array(85,-66,937,782),19984=>array(98,-63,908,767),19985=>array(78,-11,922,764),19986=>array(80,-13,925,765),19987=>array(73,-68,921,828),19988=>array(84,-14,935,776),19989=>array(85,-6,942,771),19990=>array(64,-65,936,805),19991=>array(74,-69,926,817),19992=>array(76,-13,927,803),19993=>array(68,-74,933,767),19994=>array(67,-12,918,799),19995=>array(55,-4,915,827),19996=>array(52,-72,911,820),19997=>array(70,-9,925,828),19998=>array(58,-17,951,778),19999=>array(100,-54,898,767),20000=>array(68,-36,952,807),20001=>array(62,-64,952,787),20002=>array(66,-57,906,809),20003=>array(98,-62,914,783),20004=>array(62,-61,911,780),20005=>array(38,-61,914,782),20006=>array(68,-13,941,840),20007=>array(64,-74,944,818),20008=>array(439,-66,515,823),20009=>array(283,-55,652,833),20010=>array(30,-70,955,832),20011=>array(136,-53,866,805),20012=>array(248,-68,574,816),20013=>array(131,-65,860,826),20014=>array(71,-64,963,786),20015=>array(83,-68,933,844),20016=>array(73,-61,927,832),20017=>array(73,-72,894,826),20018=>array(123,-68,886,832),20019=>array(59,-70,912,830),20020=>array(103,-59,908,840),20021=>array(84,-54,930,814),20022=>array(289,225,647,575),20023=>array(134,287,875,584),20024=>array(52,-71,950,824),20025=>array(74,-73,939,777),20026=>array(82,-65,836,829),20027=>array(81,-6,930,841),20028=>array(82,-65,932,831),20029=>array(61,-57,912,771),20030=>array(18,-82,950,821),20031=>array(249,-60,554,834),20032=>array(72,-66,928,836),20033=>array(161,-77,953,786),20034=>array(66,-77,953,828),20035=>array(73,-56,894,776),20036=>array(117,-69,879,840),20037=>array(85,-50,957,835),20038=>array(75,-49,949,802),20039=>array(74,-24,940,816),20040=>array(94,-28,930,816),20041=>array(54,-71,955,818),20042=>array(99,262,872,706),20043=>array(64,-63,947,822),20044=>array(71,-68,889,828),20045=>array(56,-67,945,850),20046=>array(93,-64,924,826),20047=>array(65,-63,949,829),20048=>array(49,-59,941,833),20049=>array(54,-61,953,837),20050=>array(89,-77,921,826),20051=>array(87,-73,927,826),20052=>array(39,-69,948,819),20053=>array(38,-62,929,837),20054=>array(59,-65,926,831),20055=>array(50,-70,953,854),20056=>array(50,-70,953,824),20057=>array(158,-14,909,740),20058=>array(222,0,890,782),20059=>array(92,290,913,534),20060=>array(80,-20,954,822),20061=>array(77,-46,948,831),20062=>array(62,-27,925,835),20063=>array(92,-9,930,830),20064=>array(118,-62,818,769),20065=>array(96,-58,834,832),20066=>array(137,-32,953,825),20067=>array(85,-32,953,825),20068=>array(96,-43,924,792),20069=>array(113,-15,894,831),20070=>array(60,-71,894,819),20071=>array(101,-15,922,829),20072=>array(57,-53,953,828),20073=>array(91,-53,937,833),20074=>array(85,-28,958,753),20075=>array(60,-15,875,826),20076=>array(115,-15,889,804),20077=>array(76,-15,918,777),20078=>array(146,-40,897,829),20079=>array(93,-30,914,829),20080=>array(39,-62,920,779),20081=>array(58,-44,936,826),20082=>array(77,-15,954,828),20083=>array(48,-85,958,815),20084=>array(61,-45,938,806),20085=>array(74,-55,961,850),20086=>array(62,-55,956,849),20087=>array(58,-51,952,836),20088=>array(42,-27,959,828),20089=>array(108,-64,976,833),20090=>array(66,-31,938,831),20091=>array(50,-31,943,847),20092=>array(80,-31,966,859),20093=>array(67,-58,929,836),20094=>array(48,-64,950,842),20095=>array(44,-62,958,824),20096=>array(64,-43,956,853),20097=>array(81,-61,961,837),20098=>array(49,-68,962,843),20099=>array(36,-62,960,840),20100=>array(54,-30,954,831),20101=>array(290,-40,544,818),20102=>array(172,-41,829,773),20103=>array(98,-62,895,822),20104=>array(92,-66,913,782),20105=>array(69,-70,939,829),20106=>array(60,-65,950,826),20107=>array(60,-65,950,826),20108=>array(100,103,916,657),20109=>array(98,-51,914,764),20110=>array(89,-69,908,773),20111=>array(64,-62,912,770),20112=>array(64,-62,912,770),20113=>array(71,-50,934,760),20114=>array(78,-6,932,775),20115=>array(42,-66,919,784),20116=>array(82,25,916,744),20117=>array(63,-70,935,829),20118=>array(57,-24,960,791),20119=>array(57,-24,950,822),20120=>array(71,-6,941,770),20121=>array(52,-24,948,780),20122=>array(63,-7,914,775),20123=>array(65,-17,933,829),20124=>array(64,-24,952,783),20125=>array(77,-17,928,852),20126=>array(64,-24,952,783),20127=>array(74,-29,938,811),20128=>array(73,391,927,690),20129=>array(64,-3,936,822),20130=>array(66,-58,959,822),20131=>array(98,-55,911,835),20132=>array(70,-65,946,822),20133=>array(85,-64,931,840),20134=>array(57,-66,934,822),20135=>array(25,-63,889,843),20136=>array(74,-61,926,825),20137=>array(62,-56,916,841),20138=>array(81,-78,941,841),20139=>array(74,-58,936,828),20140=>array(53,-64,950,825),20141=>array(93,-58,907,836),20142=>array(65,-68,950,838),20143=>array(77,-62,923,840),20144=>array(59,-67,942,828),20145=>array(39,-63,941,846),20146=>array(49,-67,920,837),20147=>array(87,-45,961,838),20148=>array(71,-56,973,861),20149=>array(29,-75,944,841),20150=>array(53,-47,947,845),20151=>array(40,-59,955,850),20152=>array(52,-69,953,836),20153=>array(54,-47,960,858),20154=>array(71,-48,943,806),20155=>array(256,-69,592,824),20156=>array(32,-27,973,804),20157=>array(50,-56,978,838),20158=>array(171,16,906,794),20159=>array(34,-64,943,829),20160=>array(48,-68,950,829),20161=>array(47,-65,953,835),20162=>array(65,-65,910,838),20163=>array(43,-67,954,837),20164=>array(42,-66,957,775),20165=>array(23,-62,936,832),20166=>array(44,-67,956,835),20167=>array(39,-73,957,836),20168=>array(49,-73,955,828),20169=>array(60,-67,956,825),20170=>array(33,-77,967,836),20171=>array(54,-71,951,858),20172=>array(56,-47,953,831),20173=>array(58,-71,923,829),20174=>array(18,-72,964,836),20175=>array(44,-62,941,837),20176=>array(30,-58,955,832),20177=>array(30,-34,955,827),20178=>array(31,-68,964,811),20179=>array(26,-28,941,832),20180=>array(50,-64,954,834),20181=>array(46,-64,935,828),20182=>array(32,-68,956,844),20183=>array(51,-64,959,839),20184=>array(55,-73,947,838),20185=>array(43,-68,894,822),20186=>array(55,-64,957,840),20187=>array(60,-73,930,838),20188=>array(54,-63,939,832),20189=>array(56,-15,958,843),20190=>array(51,-67,895,832),20191=>array(54,-64,948,833),20192=>array(48,-67,948,829),20193=>array(46,-66,952,842),20194=>array(48,-69,920,829),20195=>array(46,-68,957,830),20196=>array(38,-67,961,846),20197=>array(66,-52,945,802),20198=>array(48,-66,951,829),20199=>array(76,-39,945,828),20200=>array(44,-66,937,830),20201=>array(57,-59,948,835),20202=>array(27,-75,949,823),20203=>array(44,-80,944,829),20204=>array(32,-57,897,837),20205=>array(24,-65,969,829),20206=>array(34,-70,949,839),20207=>array(41,-63,958,846),20208=>array(31,-64,897,853),20209=>array(54,-67,949,840),20210=>array(50,-68,902,833),20211=>array(52,-67,955,832),20212=>array(48,-66,859,832),20213=>array(52,-67,956,842),20214=>array(45,-67,950,837),20215=>array(33,-74,982,847),20216=>array(28,-69,962,833),20217=>array(43,-79,936,836),20218=>array(58,-38,982,866),20219=>array(27,-73,949,830),20220=>array(33,-67,938,835),20221=>array(50,-74,968,828),20222=>array(23,-67,951,835),20223=>array(56,-70,953,845),20224=>array(49,-61,948,837),20225=>array(28,-28,958,841),20226=>array(41,-65,946,836),20227=>array(49,-55,956,840),20228=>array(52,-68,912,828),20229=>array(41,-64,945,832),20230=>array(49,-64,921,843),20231=>array(45,-66,967,835),20232=>array(40,-59,954,846),20233=>array(40,-69,954,839),20234=>array(34,-75,950,827),20235=>array(39,-55,963,844),20236=>array(41,-72,930,819),20237=>array(29,-73,947,832),20238=>array(49,-66,960,840),20239=>array(50,-67,954,841),20240=>array(47,-73,950,822),20241=>array(49,-71,953,832),20242=>array(51,-66,937,829),20243=>array(46,-66,952,827),20244=>array(41,-71,958,832),20245=>array(50,-71,961,832),20246=>array(55,-87,958,835),20247=>array(34,-75,947,828),20248=>array(42,-64,945,840),20249=>array(50,-69,959,829),20250=>array(51,-56,954,832),20251=>array(39,-68,924,819),20252=>array(65,-57,941,831),20253=>array(45,-64,941,835),20254=>array(28,-81,950,822),20255=>array(30,-58,912,835),20256=>array(28,-66,903,831),20257=>array(50,-74,951,829),20258=>array(49,-67,932,835),20259=>array(50,-67,940,829),20260=>array(30,-66,919,823),20261=>array(39,-73,947,819),20262=>array(31,-59,935,833),20263=>array(25,-67,949,828),20264=>array(37,-67,906,836),20265=>array(37,-67,976,850),20266=>array(32,-68,895,824),20267=>array(34,-66,914,822),20268=>array(50,-66,952,834),20269=>array(39,-63,951,836),20270=>array(49,-71,959,840),20271=>array(62,-65,887,842),20272=>array(38,-67,951,835),20273=>array(62,-65,951,852),20274=>array(51,-76,952,830),20275=>array(36,-66,945,833),20276=>array(42,-65,955,835),20277=>array(42,-65,890,833),20278=>array(26,-71,965,849),20279=>array(33,-70,896,833),20280=>array(48,-65,897,843),20281=>array(34,-69,958,838),20282=>array(52,-68,896,834),20283=>array(45,-65,952,839),20284=>array(40,-69,960,839),20285=>array(29,-68,908,831),20286=>array(43,-69,936,822),20287=>array(44,-66,960,835),20288=>array(44,-65,915,835),20289=>array(48,-64,948,832),20290=>array(48,-64,946,831),20291=>array(45,-66,902,840),20292=>array(45,-66,948,840),20293=>array(45,-66,937,840),20294=>array(31,-73,934,839),20295=>array(38,-67,940,831),20296=>array(50,-65,956,842),20297=>array(42,-64,948,837),20298=>array(37,-73,966,838),20299=>array(36,-66,906,824),20300=>array(45,-63,958,837),20301=>array(41,-71,947,827),20302=>array(38,-68,961,838),20303=>array(35,-70,948,839),20304=>array(34,-66,946,834),20305=>array(42,-67,945,833),20306=>array(40,-63,965,837),20307=>array(37,-64,966,831),20308=>array(35,-63,935,840),20309=>array(33,-70,958,839),20310=>array(47,-67,956,832),20311=>array(48,-67,951,834),20312=>array(40,-61,970,857),20313=>array(61,-63,951,852),20314=>array(57,-67,967,839),20315=>array(47,-65,924,834),20316=>array(37,-67,954,847),20317=>array(66,-67,921,841),20318=>array(43,-69,945,836),20319=>array(46,-73,969,846),20320=>array(16,-73,951,833),20321=>array(48,-71,957,830),20322=>array(38,-61,943,837),20323=>array(37,-65,895,833),20324=>array(44,-68,962,840),20325=>array(26,-18,943,831),20326=>array(38,-64,921,831),20327=>array(47,-65,953,842),20328=>array(43,-59,955,836),20329=>array(39,-67,959,833),20330=>array(50,-68,897,838),20331=>array(52,-66,964,839),20332=>array(41,-65,942,832),20333=>array(37,-69,944,839),20334=>array(53,-64,968,847),20335=>array(44,-65,947,842),20336=>array(48,-67,947,833),20337=>array(48,-24,975,852),20338=>array(47,-70,883,840),20339=>array(21,-72,933,834),20340=>array(54,-74,948,835),20341=>array(37,-70,955,851),20342=>array(35,-73,924,834),20343=>array(53,-66,959,837),20344=>array(48,-55,948,845),20345=>array(42,-59,963,851),20346=>array(44,-67,951,832),20347=>array(22,-84,946,829),20348=>array(27,-70,941,835),20349=>array(63,-57,955,850),20350=>array(24,-67,974,837),20351=>array(50,-73,985,836),20352=>array(44,-70,913,841),20353=>array(46,-64,960,839),20354=>array(43,-63,954,846),20355=>array(41,-66,961,836),20356=>array(18,-66,921,831),20357=>array(41,-61,947,842),20358=>array(63,-64,956,835),20359=>array(40,-70,961,839),20360=>array(48,-62,920,844),20361=>array(32,-67,975,848),20362=>array(32,-67,946,838),20363=>array(41,-63,911,845),20364=>array(33,-81,952,861),20365=>array(52,-74,949,829),20366=>array(52,-74,976,827),20367=>array(36,-80,953,824),20368=>array(36,-61,958,847),20369=>array(39,-65,954,844),20370=>array(42,-64,942,836),20371=>array(42,-64,948,835),20372=>array(43,-71,947,843),20373=>array(42,-62,955,843),20374=>array(42,-62,966,852),20375=>array(50,-65,908,829),20376=>array(42,-70,964,829),20377=>array(38,-59,949,847),20378=>array(48,-57,938,845),20379=>array(38,-70,949,844),20380=>array(49,-73,954,843),20381=>array(36,-73,947,839),20382=>array(52,-55,905,847),20383=>array(44,-70,954,844),20384=>array(28,-67,944,832),20385=>array(24,-61,938,835),20386=>array(47,-67,949,828),20387=>array(32,-65,883,833),20388=>array(37,-60,945,832),20389=>array(10,-61,932,834),20390=>array(38,-74,922,831),20391=>array(18,-60,875,832),20392=>array(41,-55,967,848),20393=>array(32,-59,943,833),20394=>array(27,-69,937,834),20395=>array(37,-60,949,843),20396=>array(27,-69,962,834),20397=>array(27,-69,960,834),20398=>array(34,-68,946,839),20399=>array(44,-73,974,835),20400=>array(44,-73,933,835),20401=>array(44,-73,940,826),20402=>array(42,-73,969,827),20403=>array(39,-63,956,853),20404=>array(48,-61,975,852),20405=>array(36,-64,948,840),20406=>array(49,-63,900,836),20407=>array(41,-63,913,830),20408=>array(49,-63,942,836),20409=>array(35,-63,962,835),20410=>array(57,-65,957,843),20411=>array(51,-72,960,828),20412=>array(55,-64,946,830),20413=>array(53,-64,927,843),20414=>array(52,-64,953,843),20415=>array(42,-73,947,834),20416=>array(43,-63,955,842),20417=>array(35,-59,964,840),20418=>array(40,-65,954,845),20419=>array(20,-70,961,840),20420=>array(41,-64,960,840),20421=>array(42,-70,960,840),20422=>array(20,-70,948,840),20423=>array(28,-64,948,840),20424=>array(20,-70,939,840),20425=>array(53,-67,963,840),20426=>array(42,-79,953,849),20427=>array(40,-70,956,840),20428=>array(40,-70,945,840),20429=>array(59,-69,970,832),20430=>array(42,-57,954,829),20431=>array(52,-67,925,836),20432=>array(54,-66,918,847),20433=>array(21,-67,911,842),20434=>array(54,-67,946,845),20435=>array(39,-67,955,839),20436=>array(39,-54,958,841),20437=>array(39,-65,939,841),20438=>array(47,-64,947,841),20439=>array(36,-65,972,839),20440=>array(31,-62,951,832),20441=>array(42,-70,957,844),20442=>array(25,-68,948,836),20443=>array(50,-64,969,841),20444=>array(44,-65,955,850),20445=>array(35,-73,965,832),20446=>array(48,-61,975,852),20447=>array(23,-69,977,846),20448=>array(44,-68,968,840),20449=>array(32,-68,941,825),20450=>array(43,-82,954,844),20451=>array(25,-76,933,819),20452=>array(25,-70,919,842),20453=>array(26,-67,934,839),20454=>array(23,-71,953,832),20455=>array(25,-69,929,826),20456=>array(35,-69,923,823),20457=>array(32,-58,917,834),20458=>array(19,-61,911,829),20459=>array(25,-69,941,830),20460=>array(42,-64,961,850),20461=>array(19,-58,944,836),20462=>array(33,-76,973,844),20463=>array(33,-71,950,831),20464=>array(42,-64,913,850),20465=>array(22,-69,944,835),20466=>array(17,-57,909,852),20467=>array(37,-66,957,842),20468=>array(47,-60,947,840),20469=>array(41,-69,963,838),20470=>array(34,-69,981,835),20471=>array(46,-68,947,825),20472=>array(36,-68,964,843),20473=>array(51,-67,929,836),20474=>array(34,-61,967,841),20475=>array(51,-72,946,836),20476=>array(41,-74,911,844),20477=>array(44,-72,946,848),20478=>array(39,-65,950,853),20479=>array(39,-65,950,857),20480=>array(44,-68,972,831),20481=>array(47,-66,946,849),20482=>array(37,-68,955,835),20483=>array(44,-65,961,837),20484=>array(39,-64,922,844),20485=>array(32,-64,946,835),20486=>array(49,-68,941,846),20487=>array(45,-75,947,834),20488=>array(43,-65,972,836),20489=>array(62,-71,946,855),20490=>array(43,-65,969,831),20491=>array(50,-68,918,838),20492=>array(39,-65,927,854),20493=>array(39,-69,950,835),20494=>array(49,-72,943,838),20495=>array(31,-73,966,846),20496=>array(14,-67,952,848),20497=>array(27,-70,892,841),20498=>array(53,-68,903,839),20499=>array(50,-66,952,843),20500=>array(38,-66,908,831),20501=>array(46,-67,949,832),20502=>array(42,-65,940,844),20503=>array(54,-64,890,834),20504=>array(35,-65,895,836),20505=>array(20,-68,958,843),20506=>array(36,-64,953,842),20507=>array(54,-77,951,834),20508=>array(45,-72,926,840),20509=>array(73,-73,961,833),20510=>array(35,-68,956,832),20511=>array(41,-68,953,838),20512=>array(46,-71,935,825),20513=>array(52,-65,897,833),20514=>array(44,-64,978,839),20515=>array(29,-69,974,847),20516=>array(36,-68,943,837),20517=>array(26,-69,954,834),20518=>array(34,-67,963,835),20519=>array(62,-59,967,839),20520=>array(32,-71,947,841),20521=>array(36,-67,956,847),20522=>array(49,-77,951,821),20523=>array(31,-71,976,855),20524=>array(46,-65,951,836),20525=>array(12,-67,952,842),20526=>array(33,-67,979,843),20527=>array(52,-68,967,830),20528=>array(44,-65,956,834),20529=>array(59,-59,960,836),20530=>array(59,-64,943,836),20531=>array(51,-64,956,831),20532=>array(46,-68,975,835),20533=>array(47,-62,951,830),20534=>array(39,-65,961,838),20535=>array(52,-62,963,832),20536=>array(47,-62,975,848),20537=>array(39,-71,955,841),20538=>array(35,-86,913,827),20539=>array(30,-65,973,835),20540=>array(37,-68,943,834),20541=>array(54,-59,969,875),20542=>array(29,-59,955,828),20543=>array(39,-64,939,841),20544=>array(46,-70,972,839),20545=>array(44,-68,952,836),20546=>array(48,-65,960,850),20547=>array(27,-73,945,841),20548=>array(46,-70,975,837),20549=>array(46,-70,956,837),20550=>array(39,-69,972,840),20551=>array(41,-70,962,835),20552=>array(45,-69,920,825),20553=>array(42,-66,948,844),20554=>array(45,-67,918,835),20555=>array(40,-72,951,841),20556=>array(36,-66,954,847),20557=>array(47,-73,961,833),20558=>array(33,-71,970,844),20559=>array(38,-68,921,837),20560=>array(35,-71,939,836),20561=>array(37,-68,966,832),20562=>array(41,-66,944,842),20563=>array(47,-68,960,841),20564=>array(41,-66,925,842),20565=>array(31,-68,963,840),20566=>array(31,-66,938,842),20567=>array(55,-67,956,843),20568=>array(46,-65,920,829),20569=>array(61,-65,908,839),20570=>array(51,-74,963,835),20571=>array(46,-67,958,836),20572=>array(37,-65,934,834),20573=>array(37,-65,953,845),20574=>array(44,-70,955,833),20575=>array(49,-52,951,852),20576=>array(46,-75,960,834),20577=>array(51,-64,959,841),20578=>array(40,-54,973,848),20579=>array(54,-68,956,845),20580=>array(44,-71,936,828),20581=>array(43,-73,966,834),20582=>array(43,-70,957,834),20583=>array(28,-70,980,834),20584=>array(31,-71,969,834),20585=>array(55,-73,943,838),20586=>array(47,-53,948,839),20587=>array(53,-66,968,839),20588=>array(33,-68,970,846),20589=>array(38,-62,944,837),20590=>array(45,-71,952,830),20591=>array(41,-74,960,843),20592=>array(40,-73,960,835),20593=>array(43,-67,935,840),20594=>array(43,-65,971,833),20595=>array(44,-64,951,839),20596=>array(42,-68,902,834),20597=>array(48,-79,943,836),20598=>array(38,-62,907,836),20599=>array(53,-63,979,862),20600=>array(37,-71,963,824),20601=>array(23,-66,962,840),20602=>array(44,-66,960,840),20603=>array(23,-66,933,830),20604=>array(36,-61,954,839),20605=>array(41,-67,924,835),20606=>array(27,-69,925,834),20607=>array(21,-57,912,834),20608=>array(26,-72,967,841),20609=>array(50,-72,963,832),20610=>array(49,-69,961,837),20611=>array(55,-70,948,837),20612=>array(41,-64,968,840),20613=>array(31,-65,941,838),20614=>array(56,-75,958,838),20615=>array(58,-72,961,833),20616=>array(30,-65,979,838),20617=>array(44,-69,953,827),20618=>array(44,-73,936,827),20619=>array(44,-69,951,827),20620=>array(44,-58,941,848),20621=>array(36,-64,941,833),20622=>array(41,-58,955,848),20623=>array(45,-75,948,843),20624=>array(39,-65,906,841),20625=>array(31,-65,971,847),20626=>array(38,-65,978,837),20627=>array(53,-60,903,842),20628=>array(45,-57,960,850),20629=>array(60,-71,960,830),20630=>array(29,-80,969,851),20631=>array(29,-69,950,843),20632=>array(52,-58,971,847),20633=>array(29,-69,956,835),20634=>array(25,-57,978,832),20635=>array(44,-66,958,840),20636=>array(46,-72,953,839),20637=>array(39,-73,917,829),20638=>array(39,-62,954,853),20639=>array(42,-71,922,844),20640=>array(37,-67,968,844),20641=>array(47,-44,970,844),20642=>array(37,-68,976,854),20643=>array(32,-65,976,845),20644=>array(42,-64,964,836),20645=>array(28,-64,934,829),20646=>array(28,-72,943,823),20647=>array(30,-66,938,841),20648=>array(28,-63,922,833),20649=>array(27,-61,924,828),20650=>array(27,-76,967,847),20651=>array(34,-70,943,830),20652=>array(30,-60,936,840),20653=>array(34,-68,957,840),20654=>array(44,-66,954,843),20655=>array(44,-64,969,838),20656=>array(38,-71,903,840),20657=>array(40,-74,973,835),20658=>array(32,-67,958,835),20659=>array(35,-70,951,836),20660=>array(35,-65,948,838),20661=>array(41,-72,963,833),20662=>array(46,-74,967,838),20663=>array(31,-67,953,839),20664=>array(42,-80,961,837),20665=>array(39,-65,952,847),20666=>array(29,-65,958,841),20667=>array(28,-66,961,841),20668=>array(33,-66,948,841),20669=>array(44,-71,954,847),20670=>array(35,-67,962,831),20671=>array(39,-70,949,834),20672=>array(29,-72,949,859),20673=>array(47,-62,965,839),20674=>array(30,-72,950,835),20675=>array(26,-65,907,832),20676=>array(46,-65,955,834),20677=>array(33,-70,944,840),20678=>array(17,-61,965,840),20679=>array(36,-57,974,844),20680=>array(41,-81,960,832),20681=>array(37,-66,979,847),20682=>array(41,-64,958,840),20683=>array(46,-80,970,847),20684=>array(25,-71,968,847),20685=>array(43,-66,925,832),20686=>array(37,-58,950,843),20687=>array(40,-62,963,840),20688=>array(45,-66,909,844),20689=>array(35,-66,965,832),20690=>array(47,-65,952,843),20691=>array(55,-79,959,840),20692=>array(46,-67,949,843),20693=>array(48,-64,963,835),20694=>array(39,-68,951,834),20695=>array(52,-71,934,831),20696=>array(23,-67,985,844),20697=>array(44,-70,969,835),20698=>array(41,-64,983,842),20699=>array(38,-74,963,839),20700=>array(55,-45,963,829),20701=>array(55,-70,962,826),20702=>array(33,-65,930,839),20703=>array(38,-56,946,835),20704=>array(62,-70,965,828),20705=>array(53,-52,962,836),20706=>array(43,-67,947,833),20707=>array(34,-64,968,836),20708=>array(68,-67,967,835),20709=>array(38,-67,962,837),20710=>array(35,-64,967,851),20711=>array(39,-60,907,843),20712=>array(39,-72,968,841),20713=>array(52,-52,911,840),20714=>array(54,-64,918,833),20715=>array(52,-52,962,840),20716=>array(34,-68,967,842),20717=>array(24,-65,972,838),20718=>array(29,-71,953,832),20719=>array(57,-72,974,833),20720=>array(47,-63,963,835),20721=>array(30,-62,952,847),20722=>array(25,-75,948,832),20723=>array(20,-69,965,839),20724=>array(52,-52,911,840),20725=>array(45,-61,956,838),20726=>array(43,-70,982,832),20727=>array(45,-72,955,847),20728=>array(30,-70,972,834),20729=>array(28,-71,949,826),20730=>array(47,-70,959,828),20731=>array(35,-65,958,847),20732=>array(47,-66,951,833),20733=>array(37,-68,988,830),20734=>array(41,-57,972,858),20735=>array(34,-70,979,834),20736=>array(39,-68,963,845),20737=>array(39,-74,942,844),20738=>array(36,-76,977,843),20739=>array(44,-70,960,838),20740=>array(36,-67,960,840),20741=>array(53,-68,915,836),20742=>array(26,-66,978,841),20743=>array(50,-66,979,837),20744=>array(34,-61,968,863),20745=>array(38,-69,965,851),20746=>array(34,-72,978,836),20747=>array(20,-72,942,839),20748=>array(28,-58,963,850),20749=>array(39,-56,965,853),20750=>array(42,-65,964,836),20751=>array(38,-67,968,845),20752=>array(28,-68,964,854),20753=>array(47,-79,962,825),20754=>array(36,-60,956,839),20755=>array(52,-67,964,829),20756=>array(32,-65,953,838),20757=>array(41,-71,963,837),20758=>array(51,-65,942,843),20759=>array(30,-64,969,839),20760=>array(31,-64,964,845),20761=>array(31,-64,960,845),20762=>array(37,-59,938,838),20763=>array(39,-67,943,842),20764=>array(39,-67,948,841),20765=>array(50,-65,937,856),20766=>array(37,-75,951,837),20767=>array(28,-73,961,842),20768=>array(47,-71,954,836),20769=>array(54,-68,923,826),20770=>array(46,-70,964,829),20771=>array(64,-74,959,846),20772=>array(49,-68,965,830),20773=>array(47,-79,940,835),20774=>array(42,-76,963,841),20775=>array(37,-77,963,838),20776=>array(39,-80,947,838),20777=>array(49,-75,934,838),20778=>array(30,-73,954,835),20779=>array(40,-73,957,840),20780=>array(5,-73,996,835),20781=>array(35,-73,972,830),20782=>array(36,-66,952,836),20783=>array(26,-64,963,846),20784=>array(44,-75,951,834),20785=>array(28,-66,967,845),20786=>array(40,-68,946,838),20787=>array(41,-66,969,844),20788=>array(33,-69,979,844),20789=>array(32,-68,971,843),20790=>array(33,-67,940,848),20791=>array(36,-69,968,841),20792=>array(44,-55,950,840),20793=>array(30,-72,954,840),20794=>array(29,-69,955,839),20795=>array(27,-68,973,848),20796=>array(34,-70,971,832),20797=>array(47,-72,935,832),20798=>array(36,-71,964,839),20799=>array(39,-81,955,815),20800=>array(46,-64,942,754),20801=>array(82,-59,936,842),20802=>array(40,-65,963,824),20803=>array(76,-67,939,767),20804=>array(85,-65,932,776),20805=>array(64,-68,951,822),20806=>array(73,-64,933,832),20807=>array(40,-60,953,836),20808=>array(89,-67,934,839),20809=>array(66,-63,930,832),20810=>array(49,-68,949,835),20811=>array(60,-67,937,832),20812=>array(51,-60,953,812),20813=>array(52,-70,948,840),20814=>array(68,-60,959,831),20815=>array(37,-66,956,794),20816=>array(52,-66,929,737),20817=>array(67,-64,941,848),20818=>array(88,-62,927,833),20819=>array(36,-64,970,794),20820=>array(63,-67,950,842),20821=>array(41,-65,962,780),20822=>array(58,-67,956,848),20823=>array(42,-62,959,834),20824=>array(30,-50,960,823),20825=>array(29,-80,961,845),20826=>array(52,-64,948,828),20827=>array(30,-79,955,845),20828=>array(52,-66,948,844),20829=>array(29,-80,954,846),20830=>array(28,-81,977,844),20831=>array(41,-68,956,830),20832=>array(36,-66,962,845),20833=>array(27,-79,953,845),20834=>array(32,-71,958,830),20835=>array(34,-81,965,845),20836=>array(28,-79,958,844),20837=>array(85,-38,933,769),20838=>array(143,-12,903,787),20839=>array(127,-69,877,786),20840=>array(40,-23,935,803),20841=>array(60,-68,953,783),20842=>array(35,-66,965,822),20843=>array(44,-36,949,791),20844=>array(51,-54,956,804),20845=>array(62,-29,946,810),20846=>array(46,-60,954,816),20847=>array(118,-57,799,812),20848=>array(65,-27,915,796),20849=>array(75,-70,925,829),20850=>array(90,-57,931,809),20851=>array(38,-62,919,831),20852=>array(47,-51,915,809),20853=>array(53,-66,958,817),20854=>array(63,-65,936,832),20855=>array(63,-64,942,789),20856=>array(52,-71,943,833),20857=>array(63,-47,912,831),20858=>array(46,-54,951,829),20859=>array(33,-67,951,839),20860=>array(50,-62,959,841),20861=>array(65,-63,917,836),20862=>array(65,-61,935,837),20863=>array(79,-56,952,830),20864=>array(57,-74,929,834),20865=>array(50,-67,969,814),20866=>array(131,-66,869,766),20867=>array(136,-69,864,795),20868=>array(52,-66,942,800),20869=>array(131,-64,865,824),20870=>array(151,-51,849,781),20871=>array(70,-62,934,849),20872=>array(107,-61,856,789),20873=>array(53,-67,947,839),20874=>array(52,-66,948,788),20875=>array(131,-65,887,779),20876=>array(47,-79,958,786),20877=>array(67,-61,954,791),20878=>array(117,-55,879,800),20879=>array(122,-65,878,783),20880=>array(189,-50,851,788),20881=>array(189,-60,851,834),20882=>array(131,-65,869,810),20883=>array(60,-65,954,833),20884=>array(101,-60,941,809),20885=>array(43,-61,951,809),20886=>array(94,353,906,541),20887=>array(56,-67,945,762),20888=>array(44,-73,949,825),20889=>array(65,-58,939,786),20890=>array(108,-67,891,772),20891=>array(58,-59,909,780),20892=>array(42,-70,959,828),20893=>array(51,-59,953,799),20894=>array(50,-65,961,782),20895=>array(81,-38,940,806),20896=>array(51,-67,957,787),20897=>array(75,-50,951,763),20898=>array(60,-67,965,783),20899=>array(76,-53,945,790),20900=>array(54,-60,952,795),20901=>array(67,-70,933,793),20902=>array(43,-60,959,785),20903=>array(28,-66,986,783),20904=>array(99,-55,908,785),20905=>array(82,-66,910,802),20906=>array(60,-67,965,785),20907=>array(338,-28,574,766),20908=>array(67,-72,958,855),20909=>array(61,-72,957,840),20910=>array(40,-57,940,717),20911=>array(52,-48,888,781),20912=>array(48,-65,966,837),20913=>array(53,-22,951,769),20914=>array(44,-61,897,833),20915=>array(55,-66,972,836),20916=>array(65,-63,936,793),20917=>array(38,-72,933,758),20918=>array(63,-62,954,834),20919=>array(54,-71,966,849),20920=>array(49,-62,954,835),20921=>array(58,-71,956,839),20922=>array(58,-61,939,786),20923=>array(52,-60,948,832),20924=>array(55,-66,957,827),20925=>array(48,-67,893,830),20926=>array(48,-62,970,843),20927=>array(31,-62,959,841),20928=>array(58,-61,922,839),20929=>array(58,-65,948,835),20930=>array(64,-71,955,840),20931=>array(48,-68,975,843),20932=>array(44,-70,936,835),20933=>array(59,-49,895,788),20934=>array(57,-65,950,835),20935=>array(39,-60,943,830),20936=>array(55,-67,950,822),20937=>array(63,-63,961,830),20938=>array(49,-50,955,854),20939=>array(33,-74,878,781),20940=>array(41,-70,959,831),20941=>array(48,-58,965,839),20942=>array(57,-38,962,817),20943=>array(38,-80,939,834),20944=>array(60,-27,954,787),20945=>array(42,-67,959,834),20946=>array(42,-58,927,835),20947=>array(54,-62,978,791),20948=>array(46,-52,974,866),20949=>array(54,-70,946,788),20950=>array(54,-64,950,841),20951=>array(39,-69,951,825),20952=>array(39,-53,951,851),20953=>array(32,-59,956,797),20954=>array(59,-68,955,831),20955=>array(43,-64,930,832),20956=>array(55,-65,973,833),20957=>array(16,-70,972,819),20958=>array(46,-73,951,818),20959=>array(37,-70,962,837),20960=>array(34,-65,961,774),20961=>array(72,-71,935,767),20962=>array(72,-71,935,831),20963=>array(72,-71,935,801),20964=>array(34,-65,939,791),20965=>array(52,-74,949,778),20966=>array(18,-67,935,818),20967=>array(47,-65,953,791),20968=>array(34,-65,939,791),20969=>array(38,-61,961,791),20970=>array(34,-65,939,791),20971=>array(48,-58,958,842),20972=>array(34,-65,939,791),20973=>array(32,-60,966,837),20974=>array(34,-65,939,791),20975=>array(72,-65,972,826),20976=>array(63,-66,963,792),20977=>array(62,-67,954,836),20978=>array(63,-66,963,792),20979=>array(59,-74,954,839),20980=>array(39,-56,952,800),20981=>array(112,-72,888,808),20982=>array(130,-44,870,775),20983=>array(128,-64,872,798),20984=>array(143,-66,894,778),20985=>array(126,-38,874,775),20986=>array(144,-65,868,838),20987=>array(75,-67,925,826),20988=>array(111,-66,889,819),20989=>array(81,-61,919,799),20990=>array(102,-52,898,803),20991=>array(75,-64,925,828),20992=>array(85,-34,856,760),20993=>array(80,-50,868,782),20994=>array(364,-64,619,827),20995=>array(46,-54,877,761),20996=>array(53,-35,947,751),20997=>array(70,-69,917,751),20998=>array(65,-69,936,779),20999=>array(44,-73,897,797),21000=>array(77,-64,899,817),21001=>array(55,-77,905,826),21002=>array(71,-62,893,831),21003=>array(56,-63,893,831),21004=>array(72,-66,908,836),21005=>array(77,-43,851,828),21006=>array(71,-62,893,839),21007=>array(62,-63,913,840),21008=>array(53,-66,910,821),21009=>array(59,-70,899,829),21010=>array(45,-64,897,835),21011=>array(41,-69,907,826),21012=>array(95,-66,914,836),21013=>array(36,-66,947,806),21014=>array(60,-69,913,826),21015=>array(83,-76,901,832),21016=>array(29,-57,884,841),21017=>array(30,-66,883,823),21018=>array(90,-60,873,830),21019=>array(43,-61,893,837),21020=>array(57,-64,912,832),21021=>array(32,-73,900,822),21022=>array(56,-59,900,833),21023=>array(78,-70,893,831),21024=>array(27,-75,885,820),21025=>array(100,-67,901,828),21026=>array(49,-61,907,835),21027=>array(67,-65,878,831),21028=>array(58,-70,898,832),21029=>array(54,-68,899,825),21030=>array(72,-65,873,831),21031=>array(58,-64,906,831),21032=>array(55,-64,911,841),21033=>array(57,-67,920,826),21034=>array(63,-68,906,830),21035=>array(70,-70,883,821),21036=>array(44,-63,897,841),21037=>array(21,-60,875,827),21038=>array(77,-69,898,831),21039=>array(53,-64,900,823),21040=>array(65,-65,905,826),21041=>array(47,-69,973,825),21042=>array(64,-64,914,828),21043=>array(42,-65,905,831),21044=>array(44,-68,898,826),21045=>array(54,-61,894,833),21046=>array(77,-68,914,836),21047=>array(59,-68,898,830),21048=>array(69,-55,952,837),21049=>array(41,-63,892,837),21050=>array(71,-65,906,831),21051=>array(56,-63,902,829),21052=>array(62,-54,927,831),21053=>array(30,-57,881,837),21054=>array(42,-62,898,825),21055=>array(35,-68,882,823),21056=>array(79,-63,874,826),21057=>array(60,-62,919,831),21058=>array(28,-68,882,830),21059=>array(41,-64,897,845),21060=>array(67,-65,918,831),21061=>array(50,-69,895,829),21062=>array(138,-69,899,829),21063=>array(67,-70,897,830),21064=>array(119,-66,879,825),21065=>array(53,-63,900,834),21066=>array(80,-63,894,833),21067=>array(35,-63,965,836),21068=>array(63,-66,914,835),21069=>array(76,-60,924,850),21070=>array(79,-70,907,841),21071=>array(33,-69,971,839),21072=>array(88,-63,875,830),21073=>array(28,-65,883,838),21074=>array(77,-62,910,829),21075=>array(44,-59,924,814),21076=>array(60,-71,906,829),21077=>array(50,-57,912,845),21078=>array(63,-65,896,833),21079=>array(110,-69,891,830),21080=>array(88,-68,874,830),21081=>array(35,-62,958,830),21082=>array(46,-58,893,836),21083=>array(103,-67,898,829),21084=>array(52,-73,918,851),21085=>array(71,-62,893,848),21086=>array(82,-65,920,836),21087=>array(66,-73,913,823),21088=>array(55,-71,877,844),21089=>array(62,-67,943,835),21090=>array(73,-68,924,823),21091=>array(35,-65,907,844),21092=>array(52,-66,906,826),21093=>array(54,-48,879,836),21094=>array(32,-63,900,840),21095=>array(21,-62,880,833),21096=>array(39,-66,922,834),21097=>array(36,-67,910,834),21098=>array(70,-64,927,842),21099=>array(55,-75,917,835),21100=>array(71,-69,917,833),21101=>array(55,-70,921,821),21102=>array(111,-64,896,829),21103=>array(74,-70,914,829),21104=>array(46,-65,918,828),21105=>array(37,-70,971,837),21106=>array(59,-58,914,833),21107=>array(36,-56,894,804),21108=>array(68,-64,914,835),21109=>array(46,-72,901,842),21110=>array(46,-64,911,838),21111=>array(43,-67,905,848),21112=>array(54,-55,903,845),21113=>array(42,-65,920,824),21114=>array(33,-76,968,833),21115=>array(42,-70,904,831),21116=>array(32,-71,905,852),21117=>array(53,-62,924,829),21118=>array(112,-59,890,829),21119=>array(50,-62,900,846),21120=>array(37,-67,904,819),21121=>array(37,-68,894,835),21122=>array(52,-70,923,829),21123=>array(50,-63,921,830),21124=>array(40,-54,911,835),21125=>array(57,-63,910,823),21126=>array(26,-63,912,844),21127=>array(40,-67,910,835),21128=>array(53,-63,947,840),21129=>array(44,-64,911,837),21130=>array(45,-71,917,854),21131=>array(38,-71,906,823),21132=>array(44,-65,928,836),21133=>array(47,-69,897,848),21134=>array(47,-68,886,848),21135=>array(91,-64,883,842),21136=>array(44,-66,903,825),21137=>array(53,-73,915,827),21138=>array(41,-71,919,843),21139=>array(61,-64,919,861),21140=>array(39,-75,973,840),21141=>array(36,-68,908,825),21142=>array(34,-61,905,852),21143=>array(58,-73,913,830),21144=>array(43,-62,899,860),21145=>array(67,-70,921,841),21146=>array(46,-50,909,848),21147=>array(70,-56,863,824),21148=>array(45,-65,958,825),21149=>array(35,-70,895,820),21150=>array(64,-59,931,838),21151=>array(73,-76,892,823),21152=>array(58,-76,913,831),21153=>array(35,-69,958,829),21154=>array(30,-63,900,824),21155=>array(67,-63,942,838),21156=>array(40,-63,946,839),21157=>array(46,-65,895,846),21158=>array(36,-69,946,844),21159=>array(73,-71,896,824),21160=>array(55,-60,887,832),21161=>array(53,-67,926,833),21162=>array(67,-70,939,822),21163=>array(63,-75,918,823),21164=>array(42,-68,904,844),21165=>array(64,-63,915,830),21166=>array(60,-64,927,836),21167=>array(47,-67,946,834),21168=>array(99,-59,888,833),21169=>array(30,-58,901,831),21170=>array(25,-59,888,833),21171=>array(59,-61,915,830),21172=>array(59,-61,896,841),21173=>array(35,-73,957,827),21174=>array(14,-57,904,822),21175=>array(80,-72,909,842),21176=>array(62,-49,922,831),21177=>array(68,-65,927,832),21178=>array(90,-77,924,824),21179=>array(96,-73,917,828),21180=>array(57,-62,915,839),21181=>array(89,-57,869,792),21182=>array(53,-63,926,830),21183=>array(58,-57,951,833),21184=>array(40,-69,951,846),21185=>array(55,-70,916,829),21186=>array(76,-55,928,839),21187=>array(103,-75,904,831),21188=>array(62,-77,904,839),21189=>array(32,-68,904,836),21190=>array(113,-75,915,843),21191=>array(45,-70,875,809),21192=>array(95,-68,890,830),21193=>array(38,-60,965,835),21194=>array(35,-63,965,836),21195=>array(30,-65,890,830),21196=>array(49,-62,914,850),21197=>array(43,-72,909,826),21198=>array(105,-59,939,832),21199=>array(103,-77,914,840),21200=>array(48,-77,914,822),21201=>array(54,-65,916,836),21202=>array(72,-65,917,829),21203=>array(88,-70,916,828),21204=>array(65,-77,905,832),21205=>array(58,-68,914,832),21206=>array(77,-76,953,839),21207=>array(48,-67,918,811),21208=>array(54,-71,914,827),21209=>array(37,-71,971,844),21210=>array(56,-76,922,827),21211=>array(51,-76,952,838),21212=>array(48,-75,926,832),21213=>array(41,-76,957,839),21214=>array(52,-73,919,832),21215=>array(58,-61,967,837),21216=>array(43,-72,926,827),21217=>array(67,-68,921,832),21218=>array(49,-68,957,829),21219=>array(58,-66,916,837),21220=>array(44,-68,929,827),21221=>array(49,-55,949,819),21222=>array(37,-76,918,842),21223=>array(37,-61,920,841),21224=>array(53,-69,912,842),21225=>array(53,-58,899,850),21226=>array(31,-68,940,842),21227=>array(28,-69,910,822),21228=>array(27,-69,934,840),21229=>array(52,-73,918,849),21230=>array(26,-73,931,835),21231=>array(54,-78,921,844),21232=>array(35,-66,966,834),21233=>array(54,-67,924,830),21234=>array(54,-72,928,833),21235=>array(45,-76,918,839),21236=>array(46,-73,928,825),21237=>array(27,-76,929,825),21238=>array(44,-45,949,840),21239=>array(54,-61,919,844),21240=>array(38,-76,920,838),21241=>array(30,-69,875,826),21242=>array(82,-62,896,850),21243=>array(93,-59,894,838),21244=>array(61,-63,903,826),21245=>array(82,-62,900,839),21246=>array(56,-55,898,829),21247=>array(71,-44,895,852),21248=>array(84,-59,930,838),21249=>array(38,-59,928,838),21250=>array(55,-59,912,844),21251=>array(55,-59,912,844),21252=>array(55,-59,912,844),21253=>array(48,-33,955,838),21254=>array(64,-58,902,842),21255=>array(63,-59,912,839),21256=>array(55,-59,912,844),21257=>array(57,-66,886,837),21258=>array(57,-59,911,845),21259=>array(68,-60,938,841),21260=>array(68,-60,938,841),21261=>array(74,-63,922,843),21262=>array(58,-70,918,829),21263=>array(42,-65,964,834),21264=>array(59,-65,915,845),21265=>array(48,-63,914,840),21266=>array(48,-68,902,843),21267=>array(52,-68,909,843),21268=>array(48,-63,916,840),21269=>array(304,-45,928,803),21270=>array(48,-57,950,836),21271=>array(45,-50,948,792),21272=>array(99,-53,921,804),21273=>array(56,-78,970,811),21274=>array(133,-71,930,795),21275=>array(93,-26,894,768),21276=>array(99,-21,926,788),21277=>array(92,-70,923,831),21278=>array(93,-26,894,768),21279=>array(96,-23,920,794),21280=>array(128,-48,921,790),21281=>array(121,-70,921,791),21282=>array(115,-32,942,778),21283=>array(133,-71,930,795),21284=>array(113,-76,930,811),21285=>array(112,-32,912,791),21286=>array(112,-32,959,796),21287=>array(114,-32,916,796),21288=>array(112,-32,922,796),21289=>array(101,-28,918,785),21290=>array(114,-69,931,789),21291=>array(115,-32,942,778),21292=>array(87,-29,950,789),21293=>array(85,-26,941,792),21294=>array(112,-32,922,796),21295=>array(129,-71,930,795),21296=>array(136,-23,951,787),21297=>array(117,-72,953,814),21298=>array(117,-26,945,804),21299=>array(133,-71,946,795),21300=>array(118,-29,954,780),21301=>array(85,-26,932,804),21302=>array(136,-59,951,795),21303=>array(92,-31,938,784),21304=>array(76,-5,924,762),21305=>array(134,-71,933,742),21306=>array(133,-57,933,784),21307=>array(103,-56,927,791),21308=>array(77,-26,934,797),21309=>array(69,-30,942,787),21310=>array(71,-30,950,796),21311=>array(118,-68,939,800),21312=>array(133,-71,930,795),21313=>array(105,-70,902,838),21314=>array(64,-37,962,786),21315=>array(113,-68,906,830),21316=>array(67,-44,933,821),21317=>array(46,-68,948,819),21318=>array(55,-64,950,833),21319=>array(80,-71,930,827),21320=>array(90,-68,918,834),21321=>array(55,-69,941,829),21322=>array(76,-67,909,824),21323=>array(69,-63,931,827),21324=>array(63,-59,937,825),21325=>array(91,-26,909,787),21326=>array(28,-57,918,831),21327=>array(51,-62,948,834),21328=>array(94,-26,911,787),21329=>array(64,-67,936,846),21330=>array(82,-67,918,837),21331=>array(65,-68,935,826),21332=>array(63,-70,924,835),21333=>array(54,-58,926,841),21334=>array(49,-65,923,832),21335=>array(68,-72,942,830),21336=>array(64,-62,936,854),21337=>array(58,-49,939,830),21338=>array(53,-71,949,835),21339=>array(53,-46,942,813),21340=>array(403,-65,899,825),21341=>array(73,-26,924,790),21342=>array(74,-62,926,819),21343=>array(107,-63,947,828),21344=>array(184,-70,903,832),21345=>array(77,-68,927,828),21346=>array(39,-58,916,829),21347=>array(113,-65,903,833),21348=>array(136,-66,911,826),21349=>array(136,-66,911,826),21350=>array(37,-68,957,827),21351=>array(111,-62,954,818),21352=>array(96,-67,902,836),21353=>array(303,-69,717,781),21354=>array(291,-69,743,781),21355=>array(63,-5,913,747),21356=>array(104,-69,892,832),21357=>array(53,-69,890,746),21358=>array(59,-65,933,835),21359=>array(50,-62,903,839),21360=>array(148,-64,883,835),21361=>array(62,-67,928,836),21362=>array(52,-55,916,799),21363=>array(55,-67,896,786),21364=>array(49,-60,888,826),21365=>array(59,-71,883,815),21366=>array(29,-70,893,836),21367=>array(31,-45,959,834),21368=>array(73,-63,898,846),21369=>array(39,-54,907,861),21370=>array(26,-27,947,783),21371=>array(47,-68,910,837),21372=>array(51,-71,962,832),21373=>array(140,-73,894,827),21374=>array(88,-63,894,788),21375=>array(41,-70,920,834),21376=>array(54,-60,907,829),21377=>array(39,-63,951,835),21378=>array(38,-64,922,791),21379=>array(62,-67,900,836),21380=>array(50,-64,942,777),21381=>array(38,-67,904,774),21382=>array(39,-57,911,786),21383=>array(40,-57,941,789),21384=>array(38,-68,914,792),21385=>array(36,-56,911,781),21386=>array(51,-75,933,775),21387=>array(37,-63,913,771),21388=>array(37,-62,926,778),21389=>array(35,-72,922,775),21390=>array(44,-68,937,796),21391=>array(56,-68,936,777),21392=>array(34,-64,957,788),21393=>array(29,-64,942,788),21394=>array(52,-64,934,779),21395=>array(40,-57,926,798),21396=>array(35,-62,948,793),21397=>array(17,-73,896,786),21398=>array(27,-67,957,788),21399=>array(73,-65,957,780),21400=>array(45,-74,932,779),21401=>array(49,-70,956,795),21402=>array(50,-65,940,809),21403=>array(34,-64,950,788),21404=>array(46,-72,959,782),21405=>array(50,-68,943,780),21406=>array(57,-73,932,764),21407=>array(59,-65,932,787),21408=>array(39,-63,942,788),21409=>array(50,-101,916,782),21410=>array(18,-69,925,785),21411=>array(35,-73,938,765),21412=>array(39,-64,974,792),21413=>array(39,-67,962,793),21414=>array(42,-75,938,816),21415=>array(43,-81,951,786),21416=>array(20,-62,909,785),21417=>array(37,-63,961,802),21418=>array(24,-47,929,811),21419=>array(46,-60,948,795),21420=>array(48,-69,966,784),21421=>array(39,-71,963,785),21422=>array(23,-71,930,791),21423=>array(39,-65,958,791),21424=>array(46,-71,951,783),21425=>array(46,-71,948,783),21426=>array(51,-71,939,784),21427=>array(34,-79,894,835),21428=>array(47,-71,947,798),21429=>array(27,-45,882,821),21430=>array(117,11,903,746),21431=>array(56,-20,928,843),21432=>array(61,-25,941,767),21433=>array(57,-65,949,829),21434=>array(56,-59,933,843),21435=>array(79,-56,931,832),21436=>array(61,-64,932,816),21437=>array(67,-44,905,806),21438=>array(97,-60,971,791),21439=>array(61,-72,913,786),21440=>array(133,-48,955,823),21441=>array(38,-32,962,838),21442=>array(18,-74,970,848),21443=>array(30,-88,968,844),21444=>array(30,-15,968,852),21445=>array(30,-61,968,852),21446=>array(68,-66,977,836),21447=>array(38,-68,961,829),21448=>array(94,-34,920,754),21449=>array(63,-50,948,773),21450=>array(36,-64,945,767),21451=>array(63,-61,939,843),21452=>array(37,-67,955,770),21453=>array(51,-71,942,790),21454=>array(53,-50,962,816),21455=>array(58,-38,930,828),21456=>array(38,-62,940,827),21457=>array(38,-60,940,828),21458=>array(52,-57,944,801),21459=>array(58,-68,930,812),21460=>array(50,-64,963,833),21461=>array(48,-50,944,815),21462=>array(43,-70,960,780),21463=>array(64,-68,936,829),21464=>array(38,-59,934,833),21465=>array(16,-63,942,836),21466=>array(141,-75,963,781),21467=>array(52,-75,966,834),21468=>array(48,-57,961,839),21469=>array(54,-51,962,811),21470=>array(19,-61,953,785),21471=>array(31,-67,969,829),21472=>array(55,-29,954,806),21473=>array(34,-70,971,833),21474=>array(52,-71,945,829),21475=>array(184,5,818,695),21476=>array(83,-71,911,823),21477=>array(65,-51,902,840),21478=>array(78,-70,859,780),21479=>array(78,-70,859,780),21480=>array(124,-76,895,755),21481=>array(120,-65,894,766),21482=>array(58,-40,928,772),21483=>array(113,-64,929,831),21484=>array(76,-70,861,789),21485=>array(95,-65,952,781),21486=>array(98,-66,929,766),21487=>array(98,-64,926,769),21488=>array(124,-51,904,840),21489=>array(116,-25,946,810),21490=>array(63,-65,953,835),21491=>array(69,-62,917,837),21492=>array(43,-47,949,829),21493=>array(121,-13,896,782),21494=>array(90,-53,934,843),21495=>array(65,-59,935,804),21496=>array(111,-63,886,790),21497=>array(98,-70,937,763),21498=>array(107,-42,973,770),21499=>array(132,-65,899,831),21500=>array(116,-54,896,762),21501=>array(99,-66,930,768),21502=>array(135,-57,851,798),21503=>array(93,-37,950,788),21504=>array(98,-40,930,817),21505=>array(98,-67,930,776),21506=>array(102,-65,914,847),21507=>array(98,-26,932,835),21508=>array(57,-65,951,836),21509=>array(106,-56,894,783),21510=>array(96,-63,933,830),21511=>array(98,-67,945,780),21512=>array(40,-73,956,859),21513=>array(64,-72,900,823),21514=>array(157,-70,867,775),21515=>array(104,-61,933,832),21516=>array(118,-75,882,787),21517=>array(56,-67,829,836),21518=>array(44,-64,926,844),21519=>array(71,-76,947,824),21520=>array(99,-19,939,825),21521=>array(133,-75,867,831),21522=>array(72,-32,957,837),21523=>array(104,-65,932,775),21524=>array(104,-23,948,836),21525=>array(162,-70,821,770),21526=>array(104,-64,939,835),21527=>array(99,-58,900,789),21528=>array(97,-68,941,840),21529=>array(103,-72,946,833),21530=>array(103,-75,925,774),21531=>array(46,-70,947,783),21532=>array(95,-39,941,769),21533=>array(52,-66,958,822),21534=>array(53,-72,959,773),21535=>array(90,-71,945,854),21536=>array(92,-69,942,827),21537=>array(83,-49,946,816),21538=>array(58,-50,927,799),21539=>array(102,-6,928,805),21540=>array(108,-69,951,836),21541=>array(112,-71,934,780),21542=>array(48,-70,947,775),21543=>array(95,-29,935,779),21544=>array(86,-41,933,824),21545=>array(95,-62,955,806),21546=>array(91,-50,945,851),21547=>array(37,-65,966,858),21548=>array(104,-58,936,863),21549=>array(100,-68,970,824),21550=>array(99,-73,955,838),21551=>array(47,-58,848,857),21552=>array(97,-67,947,838),21553=>array(95,-70,944,835),21554=>array(96,-76,866,819),21555=>array(72,-67,940,787),21556=>array(43,-72,937,783),21557=>array(99,-74,958,827),21558=>array(106,-68,897,793),21559=>array(94,-74,952,831),21560=>array(98,-68,955,788),21561=>array(109,-70,949,836),21562=>array(116,-71,967,782),21563=>array(102,-72,903,834),21564=>array(89,-68,937,825),21565=>array(99,-51,945,844),21566=>array(70,-72,942,782),21567=>array(67,-67,917,832),21568=>array(98,-65,940,787),21569=>array(106,-62,903,827),21570=>array(180,-77,840,772),21571=>array(87,-69,942,789),21572=>array(74,-61,942,783),21573=>array(96,-74,966,833),21574=>array(51,-68,964,774),21575=>array(69,-66,934,819),21576=>array(77,-17,910,773),21577=>array(53,-71,944,787),21578=>array(67,-67,917,832),21579=>array(96,-69,943,829),21580=>array(116,-55,943,842),21581=>array(111,-51,956,743),21582=>array(116,-66,978,790),21583=>array(97,-66,939,835),21584=>array(101,-60,880,825),21585=>array(53,-72,959,830),21586=>array(100,-68,925,765),21587=>array(100,-26,932,824),21588=>array(79,-68,934,832),21589=>array(94,-7,928,767),21590=>array(91,-70,910,765),21591=>array(99,-74,926,764),21592=>array(84,-81,880,780),21593=>array(157,-68,837,760),21594=>array(111,-68,957,838),21595=>array(111,-31,968,831),21596=>array(101,-62,905,831),21597=>array(93,-64,951,841),21598=>array(97,-63,871,790),21599=>array(110,-65,961,819),21600=>array(97,-70,955,826),21601=>array(95,-70,949,786),21602=>array(100,-71,929,784),21603=>array(93,-63,942,777),21604=>array(89,-83,949,856),21605=>array(98,-60,943,841),21606=>array(98,-74,911,828),21607=>array(94,-63,945,831),21608=>array(39,-67,882,780),21609=>array(109,-54,953,751),21610=>array(109,-60,950,760),21611=>array(109,-60,942,845),21612=>array(108,-65,905,767),21613=>array(98,-14,928,831),21614=>array(108,-66,960,771),21615=>array(99,-67,942,787),21616=>array(84,-68,937,836),21617=>array(90,-68,970,830),21618=>array(102,-60,957,820),21619=>array(90,-65,942,830),21620=>array(108,-68,909,833),21621=>array(98,-65,930,785),21622=>array(79,-71,949,828),21623=>array(115,-62,893,786),21624=>array(94,-20,932,769),21625=>array(95,-49,969,830),21626=>array(106,-60,952,794),21627=>array(105,-67,900,835),21628=>array(98,-67,931,825),21629=>array(33,-73,971,862),21630=>array(104,-28,950,783),21631=>array(95,-61,953,841),21632=>array(94,-31,933,787),21633=>array(122,-66,951,828),21634=>array(89,-21,940,783),21635=>array(83,-34,962,834),21636=>array(115,-70,900,826),21637=>array(81,-68,898,833),21638=>array(107,-36,960,833),21639=>array(104,-28,950,802),21640=>array(89,-59,914,836),21641=>array(89,-74,968,824),21642=>array(89,-34,964,818),21643=>array(108,-70,943,840),21644=>array(53,-70,894,821),21645=>array(111,-65,954,840),21646=>array(39,-68,961,833),21647=>array(79,-63,943,848),21648=>array(90,-70,941,833),21649=>array(89,-51,935,842),21650=>array(54,-75,937,777),21651=>array(97,-34,941,773),21652=>array(97,-70,936,829),21653=>array(91,-67,923,828),21654=>array(104,-64,898,832),21655=>array(94,-3,951,830),21656=>array(97,-67,941,832),21657=>array(100,-59,932,830),21658=>array(86,-80,951,847),21659=>array(102,-68,893,836),21660=>array(102,-42,928,817),21661=>array(90,-7,914,809),21662=>array(98,-67,937,775),21663=>array(102,-64,891,730),21664=>array(51,-65,947,784),21665=>array(103,-50,956,800),21666=>array(61,-53,939,806),21667=>array(99,-68,933,811),21668=>array(80,-42,921,819),21669=>array(106,-30,956,782),21670=>array(90,-71,954,835),21671=>array(106,-67,892,829),21672=>array(64,-74,954,840),21673=>array(96,-64,931,840),21674=>array(82,-65,967,824),21675=>array(35,-71,974,779),21676=>array(98,-72,961,830),21677=>array(91,-65,926,828),21678=>array(107,-70,963,824),21679=>array(90,-65,948,848),21680=>array(117,-71,901,818),21681=>array(119,-70,883,841),21682=>array(119,-73,970,836),21683=>array(88,-60,949,824),21684=>array(100,-67,943,824),21685=>array(84,-63,963,854),21686=>array(110,-68,947,827),21687=>array(88,-62,944,842),21688=>array(58,-66,959,838),21689=>array(91,-51,908,828),21690=>array(91,-23,936,778),21691=>array(88,-63,943,835),21692=>array(119,-55,881,799),21693=>array(103,-64,898,785),21694=>array(105,-30,957,830),21695=>array(99,-69,949,835),21696=>array(47,-68,951,832),21697=>array(116,-66,884,792),21698=>array(91,-64,936,779),21699=>array(108,-69,904,783),21700=>array(90,-72,935,831),21701=>array(102,-61,908,831),21702=>array(106,-80,919,845),21703=>array(108,-25,949,831),21704=>array(84,-66,945,851),21705=>array(74,-60,944,828),21706=>array(104,-75,942,831),21707=>array(95,-27,935,846),21708=>array(85,-71,971,832),21709=>array(97,-55,900,875),21710=>array(103,-66,949,835),21711=>array(108,-73,973,781),21712=>array(99,-26,925,764),21713=>array(102,-18,924,766),21714=>array(87,-46,945,803),21715=>array(103,-63,936,821),21716=>array(98,-64,931,814),21717=>array(99,-61,872,821),21718=>array(93,-52,940,855),21719=>array(86,-60,922,833),21720=>array(103,-71,958,830),21721=>array(100,-47,949,829),21722=>array(81,-77,943,778),21723=>array(51,-69,962,803),21724=>array(101,-70,945,842),21725=>array(88,-62,950,828),21726=>array(108,-70,945,838),21727=>array(75,-59,886,837),21728=>array(110,-65,926,831),21729=>array(62,-62,943,785),21730=>array(89,-52,935,801),21731=>array(120,-14,943,779),21732=>array(87,-55,956,825),21733=>array(70,-60,931,784),21734=>array(84,-67,942,824),21735=>array(81,-66,946,827),21736=>array(109,-69,912,832),21737=>array(100,-15,933,779),21738=>array(107,-74,942,785),21739=>array(113,-73,962,762),21740=>array(78,-55,930,833),21741=>array(64,-71,949,773),21742=>array(92,-68,927,833),21743=>array(118,-65,951,783),21744=>array(80,-44,885,840),21745=>array(98,-65,923,829),21746=>array(63,-62,926,825),21747=>array(99,-81,947,824),21748=>array(108,-73,973,856),21749=>array(82,-69,913,829),21750=>array(88,-64,951,825),21751=>array(103,-70,938,814),21752=>array(94,-74,917,818),21753=>array(92,-68,936,834),21754=>array(87,-70,931,832),21755=>array(102,-66,937,778),21756=>array(95,-68,932,846),21757=>array(91,-74,952,786),21758=>array(95,-64,968,844),21759=>array(65,-62,959,839),21760=>array(110,-62,954,830),21761=>array(97,-62,931,845),21762=>array(116,-52,960,835),21763=>array(116,-66,900,828),21764=>array(101,-66,947,782),21765=>array(87,-45,951,867),21766=>array(101,-69,961,849),21767=>array(53,-76,939,786),21768=>array(88,-30,943,788),21769=>array(94,-68,945,848),21770=>array(106,-66,954,835),21771=>array(112,-62,950,830),21772=>array(98,-74,964,813),21773=>array(113,-74,946,841),21774=>array(98,-52,904,844),21775=>array(84,-62,938,843),21776=>array(44,-71,938,835),21777=>array(92,-36,934,820),21778=>array(88,-65,940,781),21779=>array(116,-71,924,829),21780=>array(99,-70,934,785),21781=>array(100,-48,923,863),21782=>array(82,-23,951,793),21783=>array(103,-65,957,827),21784=>array(34,-60,979,822),21785=>array(112,-57,987,812),21786=>array(97,-62,957,777),21787=>array(101,-66,948,830),21788=>array(59,-37,952,802),21789=>array(104,-62,938,804),21790=>array(92,-65,936,832),21791=>array(95,-37,929,851),21792=>array(91,-72,914,824),21793=>array(109,-61,963,792),21794=>array(104,-62,938,834),21795=>array(86,-29,935,842),21796=>array(74,-73,948,832),21797=>array(97,-46,940,821),21798=>array(97,-67,951,825),21799=>array(110,-70,900,780),21800=>array(80,-44,959,779),21801=>array(99,-73,946,833),21802=>array(74,-65,957,843),21803=>array(74,-27,959,804),21804=>array(87,-70,957,829),21805=>array(104,-71,941,837),21806=>array(42,-67,944,843),21807=>array(97,-65,945,836),21808=>array(100,-64,909,830),21809=>array(115,-68,900,787),21810=>array(107,-79,948,827),21811=>array(82,-69,962,802),21812=>array(106,-71,942,830),21813=>array(112,-44,995,856),21814=>array(113,-66,964,837),21815=>array(94,-75,933,845),21816=>array(78,-35,950,847),21817=>array(81,-56,972,832),21818=>array(110,-74,961,833),21819=>array(104,-65,951,841),21820=>array(113,-68,947,843),21821=>array(92,-67,953,832),21822=>array(84,-30,940,831),21823=>array(92,-28,953,842),21824=>array(105,-73,941,785),21825=>array(103,-66,902,791),21826=>array(93,-76,971,827),21827=>array(97,-70,930,833),21828=>array(84,-63,971,774),21829=>array(95,-67,933,833),21830=>array(55,-56,945,825),21831=>array(39,-73,928,844),21832=>array(111,-65,947,837),21833=>array(76,-76,945,819),21834=>array(93,-66,932,782),21835=>array(109,-66,987,837),21836=>array(86,-31,955,819),21837=>array(84,-57,942,864),21838=>array(46,-67,962,835),21839=>array(119,-71,889,784),21840=>array(89,-62,931,843),21841=>array(84,-77,962,829),21842=>array(113,-68,903,788),21843=>array(54,-60,964,838),21844=>array(91,-60,945,844),21845=>array(111,-62,908,842),21846=>array(83,-62,952,836),21847=>array(123,-65,900,846),21848=>array(104,-72,965,846),21849=>array(85,-55,952,824),21850=>array(77,-66,927,795),21851=>array(83,-73,933,822),21852=>array(83,-68,955,786),21853=>array(76,-67,955,821),21854=>array(91,-25,940,785),21855=>array(35,-68,969,836),21856=>array(88,-60,913,812),21857=>array(95,-66,932,826),21858=>array(109,-61,963,792),21859=>array(83,-68,926,832),21860=>array(91,-69,935,846),21861=>array(97,-70,950,850),21862=>array(91,-64,930,836),21863=>array(90,-72,914,828),21864=>array(90,-66,927,828),21865=>array(121,-63,959,831),21866=>array(110,-64,909,838),21867=>array(115,-65,960,835),21868=>array(63,-66,913,825),21869=>array(94,-66,914,833),21870=>array(79,-63,912,829),21871=>array(82,-68,906,794),21872=>array(86,-71,948,814),21873=>array(86,-48,935,822),21874=>array(104,-50,908,842),21875=>array(86,-30,973,843),21876=>array(115,-58,945,833),21877=>array(105,-64,983,833),21878=>array(86,-72,942,844),21879=>array(94,-64,942,840),21880=>array(91,-65,923,826),21881=>array(91,-80,933,781),21882=>array(91,-72,944,785),21883=>array(92,-67,908,833),21884=>array(90,-67,930,823),21885=>array(114,-59,989,859),21886=>array(76,-66,957,832),21887=>array(110,-30,955,827),21888=>array(95,-69,965,819),21889=>array(93,-58,910,793),21890=>array(108,-69,960,785),21891=>array(92,-67,939,835),21892=>array(56,-70,907,835),21893=>array(92,-18,924,788),21894=>array(82,-50,918,825),21895=>array(112,-67,904,831),21896=>array(86,-65,942,827),21897=>array(88,-74,950,840),21898=>array(92,-72,930,837),21899=>array(83,-65,952,832),21900=>array(52,-71,909,787),21901=>array(104,-69,967,824),21902=>array(112,-67,906,788),21903=>array(84,-59,931,833),21904=>array(79,-81,936,830),21905=>array(97,-65,933,841),21906=>array(92,-48,956,849),21907=>array(110,-72,957,777),21908=>array(91,-70,933,781),21909=>array(110,-66,953,783),21910=>array(97,-66,939,829),21911=>array(85,-68,951,801),21912=>array(81,-67,930,834),21913=>array(85,-60,968,833),21914=>array(79,-65,971,838),21915=>array(91,-67,979,836),21916=>array(86,-63,938,837),21917=>array(105,-55,913,801),21918=>array(77,-73,921,840),21919=>array(116,-61,901,787),21920=>array(97,-32,936,825),21921=>array(107,-71,949,828),21922=>array(107,-71,951,827),21923=>array(52,-74,965,824),21924=>array(90,-18,935,861),21925=>array(110,-71,968,837),21926=>array(132,-68,888,789),21927=>array(79,-26,945,829),21928=>array(86,-73,959,838),21929=>array(76,-71,966,812),21930=>array(75,-73,957,829),21931=>array(96,-55,961,835),21932=>array(50,-71,951,830),21933=>array(88,-53,939,860),21934=>array(53,-68,945,789),21935=>array(89,-59,953,851),21936=>array(90,-72,965,837),21937=>array(90,-70,941,788),21938=>array(107,-65,905,836),21939=>array(82,-28,916,834),21940=>array(72,-71,972,832),21941=>array(75,-62,924,832),21942=>array(94,-63,906,834),21943=>array(110,-67,925,831),21944=>array(65,-77,959,841),21945=>array(90,-26,953,851),21946=>array(112,-62,982,834),21947=>array(80,-70,948,858),21948=>array(110,-32,970,846),21949=>array(90,-66,936,807),21950=>array(82,-66,893,826),21951=>array(50,-69,961,780),21952=>array(49,-72,955,829),21953=>array(88,-64,946,839),21954=>array(108,-72,960,845),21955=>array(94,-68,938,838),21956=>array(82,-62,954,790),21957=>array(88,-73,945,845),21958=>array(84,-65,947,847),21959=>array(56,-75,946,832),21960=>array(107,-29,963,826),21961=>array(87,-64,944,831),21962=>array(110,-68,962,791),21963=>array(106,-70,933,838),21964=>array(98,-22,946,841),21965=>array(108,-70,907,835),21966=>array(104,-68,909,783),21967=>array(112,-68,977,827),21968=>array(118,-70,954,847),21969=>array(88,-21,941,830),21970=>array(76,-64,944,830),21971=>array(81,-73,961,793),21972=>array(90,-85,963,851),21973=>array(95,-68,963,784),21974=>array(92,-70,962,828),21975=>array(105,-70,937,783),21976=>array(84,-59,963,851),21977=>array(111,-64,956,841),21978=>array(118,-56,916,846),21979=>array(95,-56,970,863),21980=>array(95,-69,943,834),21981=>array(92,-64,930,788),21982=>array(119,-66,961,837),21983=>array(89,-27,938,840),21984=>array(48,-81,960,829),21985=>array(83,-71,955,791),21986=>array(100,-36,950,780),21987=>array(112,-68,910,786),21988=>array(92,-70,938,827),21989=>array(84,-68,957,844),21990=>array(80,-68,942,829),21991=>array(34,-75,973,842),21992=>array(83,-68,939,836),21993=>array(91,-67,946,836),21994=>array(90,-70,954,835),21995=>array(89,-66,943,776),21996=>array(93,-70,942,830),21997=>array(91,-37,929,849),21998=>array(63,-57,939,788),21999=>array(87,-39,950,782),22000=>array(68,-75,913,845),22001=>array(90,-68,974,862),22002=>array(71,-57,940,845),22003=>array(90,-67,949,822),22004=>array(72,-54,969,835),22005=>array(88,-54,942,772),22006=>array(83,-68,935,787),22007=>array(86,-64,964,832),22008=>array(58,-57,951,854),22009=>array(83,-56,963,827),22010=>array(117,-68,956,831),22011=>array(98,-69,961,841),22012=>array(118,-72,972,829),22013=>array(82,-76,950,834),22014=>array(79,-68,961,837),22015=>array(115,-78,962,841),22016=>array(87,-73,927,846),22017=>array(76,-68,943,835),22018=>array(121,-68,894,823),22019=>array(83,-70,949,841),22020=>array(83,-70,958,845),22021=>array(82,-64,964,788),22022=>array(83,-72,964,832),22023=>array(101,-80,965,846),22024=>array(91,-72,935,830),22025=>array(50,-65,957,833),22026=>array(85,-68,938,834),22027=>array(73,-78,972,839),22028=>array(91,-70,940,789),22029=>array(90,-74,933,832),22030=>array(86,-67,946,784),22031=>array(60,-66,960,812),22032=>array(91,-50,966,801),22033=>array(106,-70,913,836),22034=>array(99,-25,956,835),22035=>array(102,-63,906,799),22036=>array(90,-73,949,805),22037=>array(116,-64,951,785),22038=>array(84,-74,947,832),22039=>array(109,-67,905,836),22040=>array(91,-68,924,823),22041=>array(81,-73,926,836),22042=>array(101,-70,946,824),22043=>array(74,-75,975,833),22044=>array(106,-61,981,840),22045=>array(96,-70,941,832),22046=>array(103,-70,911,832),22047=>array(91,-68,933,822),22048=>array(81,-54,956,804),22049=>array(89,-23,939,836),22050=>array(106,-59,962,800),22051=>array(86,-65,883,814),22052=>array(91,-64,927,789),22053=>array(84,-65,973,831),22054=>array(27,-86,973,836),22055=>array(90,-64,945,848),22056=>array(91,-65,923,826),22057=>array(81,-68,945,831),22058=>array(106,-83,953,780),22059=>array(84,-71,949,831),22060=>array(77,-72,959,809),22061=>array(91,-59,924,827),22062=>array(95,-69,923,833),22063=>array(79,-77,949,843),22064=>array(86,-65,947,833),22065=>array(89,-72,891,780),22066=>array(79,-75,906,830),22067=>array(113,-80,964,832),22068=>array(91,-65,950,828),22069=>array(76,-67,944,835),22070=>array(93,-65,930,837),22071=>array(100,-48,948,863),22072=>array(80,-63,948,847),22073=>array(86,-67,952,845),22074=>array(115,-66,990,830),22075=>array(90,-69,933,833),22076=>array(77,-67,926,796),22077=>array(107,-68,956,785),22078=>array(111,-71,958,780),22079=>array(82,-68,937,783),22080=>array(113,-80,964,781),22081=>array(85,-48,959,768),22082=>array(92,-64,950,856),22083=>array(110,-63,971,841),22084=>array(77,-68,945,831),22085=>array(109,-70,922,834),22086=>array(113,-69,978,783),22087=>array(103,-36,934,841),22088=>array(98,-68,967,836),22089=>array(106,-68,983,837),22090=>array(108,-67,940,784),22091=>array(88,-73,973,837),22092=>array(92,-73,905,835),22093=>array(85,-71,944,843),22094=>array(87,-23,937,839),22095=>array(106,-63,991,858),22096=>array(64,-70,933,795),22097=>array(90,-62,948,840),22098=>array(86,-74,954,832),22099=>array(93,-76,936,832),22100=>array(79,-11,956,855),22101=>array(61,-77,904,856),22102=>array(82,-68,947,790),22103=>array(82,-61,951,830),22104=>array(80,-62,967,796),22105=>array(95,-70,966,851),22106=>array(109,-72,957,779),22107=>array(86,-68,940,829),22108=>array(80,-61,947,828),22109=>array(80,-64,945,834),22110=>array(79,-72,950,855),22111=>array(39,-72,934,844),22112=>array(78,-67,946,835),22113=>array(90,-59,956,849),22114=>array(80,-68,947,853),22115=>array(122,-75,936,779),22116=>array(81,-62,971,832),22117=>array(80,-72,955,835),22118=>array(104,-64,970,838),22119=>array(80,-68,932,830),22120=>array(49,-62,956,798),22121=>array(51,-23,944,789),22122=>array(80,-70,954,792),22123=>array(88,-32,949,825),22124=>array(92,-27,941,838),22125=>array(83,-57,964,864),22126=>array(104,-81,973,782),22127=>array(84,-75,954,830),22128=>array(99,-70,954,848),22129=>array(80,-68,954,833),22130=>array(74,-66,959,853),22131=>array(99,-73,975,833),22132=>array(85,-76,956,838),22133=>array(70,-72,942,847),22134=>array(84,-68,934,834),22135=>array(101,-76,980,838),22136=>array(76,-70,961,827),22137=>array(106,-53,918,841),22138=>array(83,-61,962,832),22139=>array(77,-38,964,839),22140=>array(95,-68,948,842),22141=>array(74,-63,953,835),22142=>array(106,-70,944,833),22143=>array(102,-71,941,780),22144=>array(89,-69,944,838),22145=>array(115,-68,951,785),22146=>array(92,-39,927,821),22147=>array(95,-76,957,828),22148=>array(79,-53,951,842),22149=>array(84,-65,936,789),22150=>array(83,-62,937,835),22151=>array(81,-68,956,834),22152=>array(65,-71,975,797),22153=>array(81,-61,952,835),22154=>array(91,-67,962,856),22155=>array(91,-65,968,833),22156=>array(100,-77,949,832),22157=>array(98,-33,938,821),22158=>array(91,-67,959,848),22159=>array(75,-64,947,837),22160=>array(92,-52,916,850),22161=>array(92,-62,966,828),22162=>array(81,-78,946,835),22163=>array(92,-70,962,839),22164=>array(75,-80,951,836),22165=>array(84,-69,943,846),22166=>array(82,-36,955,832),22167=>array(104,-66,984,787),22168=>array(91,-72,946,784),22169=>array(92,-70,934,830),22170=>array(111,-52,914,803),22171=>array(81,-69,972,847),22172=>array(84,-20,957,794),22173=>array(91,-80,925,841),22174=>array(41,-68,958,841),22175=>array(118,-48,989,844),22176=>array(72,-62,922,834),22177=>array(69,-67,954,833),22178=>array(57,-70,961,833),22179=>array(36,-64,942,786),22180=>array(75,-78,934,835),22181=>array(82,-60,949,830),22182=>array(78,-65,939,790),22183=>array(90,-71,947,828),22184=>array(79,-70,944,837),22185=>array(86,-68,933,835),22186=>array(98,-70,906,780),22187=>array(89,-69,966,842),22188=>array(92,-64,958,842),22189=>array(74,-63,967,835),22190=>array(43,-68,949,845),22191=>array(88,-66,914,784),22192=>array(103,-68,955,838),22193=>array(77,-68,963,835),22194=>array(55,-65,960,845),22195=>array(58,-64,955,841),22196=>array(46,-62,964,817),22197=>array(85,-59,948,846),22198=>array(82,-65,935,788),22199=>array(89,-69,968,842),22200=>array(74,-74,917,829),22201=>array(63,-72,959,834),22202=>array(67,-63,956,805),22203=>array(106,-60,919,794),22204=>array(76,-76,960,844),22205=>array(76,-75,948,833),22206=>array(92,-64,940,828),22207=>array(71,-67,939,834),22208=>array(84,-64,947,832),22209=>array(80,-66,950,807),22210=>array(55,-77,961,779),22211=>array(87,-65,954,831),22212=>array(83,-71,938,843),22213=>array(57,-66,969,792),22214=>array(87,-81,946,834),22215=>array(111,-68,957,790),22216=>array(82,-75,950,831),22217=>array(98,-65,962,796),22218=>array(72,-75,951,834),22219=>array(92,-74,947,824),22220=>array(88,-52,965,842),22221=>array(55,-51,949,839),22222=>array(64,-62,972,832),22223=>array(50,-68,944,839),22224=>array(75,-78,957,830),22225=>array(88,-74,929,817),22226=>array(74,-57,948,839),22227=>array(87,-52,945,845),22228=>array(78,-70,959,831),22229=>array(83,-77,953,832),22230=>array(74,-51,958,858),22231=>array(133,-54,879,781),22232=>array(129,-52,871,778),22233=>array(123,-30,865,754),22234=>array(132,-73,868,776),22235=>array(121,-35,879,744),22236=>array(123,-30,865,754),22237=>array(107,-65,886,789),22238=>array(129,-30,871,754),22239=>array(74,-68,863,839),22240=>array(130,-64,870,793),22241=>array(121,-64,895,788),22242=>array(109,-64,865,785),22243=>array(122,-64,878,785),22244=>array(110,-72,891,784),22245=>array(121,-67,894,784),22246=>array(113,-67,887,788),22247=>array(120,-67,892,785),22248=>array(121,-65,894,786),22249=>array(121,-67,894,784),22250=>array(138,-67,879,849),22251=>array(101,-68,901,788),22252=>array(111,-53,877,754),22253=>array(95,-63,900,791),22254=>array(99,-51,894,799),22255=>array(128,-59,884,789),22256=>array(114,-65,886,784),22257=>array(138,-67,879,849),22258=>array(122,-59,878,789),22259=>array(121,-70,879,781),22260=>array(109,-70,866,782),22261=>array(106,-63,863,776),22262=>array(122,-59,878,789),22263=>array(122,-68,905,791),22264=>array(115,-64,907,788),22265=>array(105,-64,897,788),22266=>array(115,-70,885,785),22267=>array(115,-70,885,785),22268=>array(115,-70,885,785),22269=>array(122,-59,878,789),22270=>array(110,-66,866,784),22271=>array(96,-68,892,789),22272=>array(106,-65,894,784),22273=>array(116,-69,903,774),22274=>array(112,-67,897,782),22275=>array(106,-70,905,789),22276=>array(101,-66,896,788),22277=>array(116,-69,873,794),22278=>array(112,-68,865,774),22279=>array(102,-67,896,788),22280=>array(105,-69,895,791),22281=>array(113,-65,900,790),22282=>array(107,-65,906,796),22283=>array(109,-67,890,780),22284=>array(96,-53,900,797),22285=>array(102,-61,905,784),22286=>array(116,-69,903,774),22287=>array(107,-69,896,785),22288=>array(111,-69,908,779),22289=>array(111,-69,898,774),22290=>array(102,-70,898,790),22291=>array(113,-71,899,787),22292=>array(103,-71,900,781),22293=>array(116,-69,903,774),22294=>array(119,-68,906,794),22295=>array(119,-68,906,794),22296=>array(112,-64,903,788),22297=>array(116,-69,903,774),22298=>array(93,-54,893,809),22299=>array(95,-53,893,806),22300=>array(98,-67,902,796),22301=>array(106,-69,894,774),22302=>array(99,-65,901,790),22303=>array(78,-13,922,810),22304=>array(59,-58,957,806),22305=>array(100,-15,895,796),22306=>array(54,-59,939,796),22307=>array(61,-29,960,776),22308=>array(53,-59,961,814),22309=>array(89,-67,934,778),22310=>array(68,-55,944,741),22311=>array(37,-63,913,770),22312=>array(49,-65,921,836),22313=>array(42,-64,949,793),22314=>array(55,-62,953,800),22315=>array(49,-55,930,790),22316=>array(49,-78,951,791),22317=>array(73,-39,927,809),22318=>array(43,-58,945,786),22319=>array(39,-53,954,776),22320=>array(56,-52,935,808),22321=>array(58,-58,952,817),22322=>array(50,-45,943,796),22323=>array(56,-71,907,785),22324=>array(68,-61,917,788),22325=>array(44,-59,948,781),22326=>array(60,-61,953,805),22327=>array(44,-65,932,788),22328=>array(59,-56,897,789),22329=>array(39,-63,912,832),22330=>array(29,-63,897,808),22331=>array(62,-64,948,810),22332=>array(84,-41,938,785),22333=>array(62,-72,903,794),22334=>array(40,-71,956,796),22335=>array(50,-63,967,802),22336=>array(44,-32,949,786),22337=>array(43,-69,952,800),22338=>array(43,-70,966,785),22339=>array(51,-68,958,774),22340=>array(44,-66,967,793),22341=>array(48,-60,972,811),22342=>array(38,-63,970,799),22343=>array(50,-63,906,831),22344=>array(44,-72,946,793),22345=>array(44,-59,944,806),22346=>array(41,-77,953,827),22347=>array(58,-78,967,798),22348=>array(53,-24,947,804),22349=>array(43,-71,948,799),22350=>array(48,-66,962,810),22351=>array(40,-55,968,790),22352=>array(73,-29,927,806),22353=>array(47,-67,951,813),22354=>array(57,-43,952,809),22355=>array(57,-29,952,813),22356=>array(57,-49,974,792),22357=>array(57,-59,952,805),22358=>array(28,-54,961,768),22359=>array(33,-70,947,834),22360=>array(43,-58,951,765),22361=>array(57,-54,952,758),22362=>array(52,-19,932,831),22363=>array(43,-38,939,816),22364=>array(41,-69,912,804),22365=>array(33,-58,943,798),22366=>array(35,-67,902,832),22367=>array(41,-60,955,852),22368=>array(62,-14,926,821),22369=>array(48,-71,963,812),22370=>array(46,-67,945,801),22371=>array(84,-14,933,777),22372=>array(65,-48,908,805),22373=>array(65,-32,933,771),22374=>array(48,-21,952,786),22375=>array(65,-49,936,791),22376=>array(60,-60,952,806),22377=>array(39,-68,945,796),22378=>array(50,-67,947,794),22379=>array(38,-52,904,794),22380=>array(56,-67,980,834),22381=>array(46,-83,953,777),22382=>array(53,-58,964,823),22383=>array(42,-14,948,785),22384=>array(59,-67,914,782),22385=>array(43,-70,957,797),22386=>array(60,-71,925,810),22387=>array(61,-71,920,835),22388=>array(60,-56,944,800),22389=>array(45,-18,953,824),22390=>array(40,-65,943,817),22391=>array(48,-61,947,807),22392=>array(56,-54,909,849),22393=>array(45,-60,958,843),22394=>array(45,-69,955,836),22395=>array(56,-63,954,828),22396=>array(51,-67,941,832),22397=>array(67,-66,968,847),22398=>array(75,-61,918,836),22399=>array(71,-79,945,842),22400=>array(56,-63,940,828),22401=>array(56,-60,967,828),22402=>array(73,-32,927,826),22403=>array(49,-11,952,838),22404=>array(47,-31,941,829),22405=>array(37,-67,929,824),22406=>array(35,-66,911,826),22407=>array(30,-65,903,755),22408=>array(34,-32,946,833),22409=>array(46,-28,955,840),22410=>array(70,-61,939,786),22411=>array(59,-25,953,827),22412=>array(30,-70,898,781),22413=>array(55,-70,883,841),22414=>array(30,-65,948,848),22415=>array(55,-71,954,823),22416=>array(56,-36,926,853),22417=>array(50,-58,920,844),22418=>array(52,-36,926,814),22419=>array(37,-63,949,834),22420=>array(59,-20,954,790),22421=>array(59,-11,954,831),22422=>array(67,-43,904,842),22423=>array(37,-54,956,840),22424=>array(50,-73,963,822),22425=>array(43,-52,962,842),22426=>array(49,-11,953,842),22427=>array(43,-65,965,809),22428=>array(58,-62,949,809),22429=>array(46,-57,963,850),22430=>array(42,-43,953,839),22431=>array(51,-73,955,821),22432=>array(37,-68,952,809),22433=>array(34,-32,946,833),22434=>array(50,-69,932,833),22435=>array(47,-14,947,808),22436=>array(31,-22,931,811),22437=>array(49,-70,960,827),22438=>array(75,-27,949,790),22439=>array(38,-77,891,842),22440=>array(48,-59,954,843),22441=>array(50,-8,922,764),22442=>array(41,-70,949,839),22443=>array(32,-11,932,830),22444=>array(41,-72,946,831),22445=>array(43,-6,923,808),22446=>array(41,-66,965,842),22447=>array(40,-49,942,793),22448=>array(51,-64,940,835),22449=>array(41,-60,883,826),22450=>array(41,-27,941,813),22451=>array(45,-67,956,833),22452=>array(40,-66,923,832),22453=>array(50,-72,951,832),22454=>array(59,-65,948,833),22455=>array(56,-65,944,783),22456=>array(51,-67,959,857),22457=>array(43,-68,943,827),22458=>array(49,-68,954,817),22459=>array(49,-72,960,804),22460=>array(63,-24,969,822),22461=>array(55,-15,951,846),22462=>array(54,-64,955,800),22463=>array(53,-66,941,833),22464=>array(97,-32,916,829),22465=>array(57,-70,958,821),22466=>array(46,-70,959,791),22467=>array(50,-71,956,845),22468=>array(46,-65,949,846),22469=>array(65,-24,959,842),22470=>array(63,-71,906,824),22471=>array(51,-61,893,811),22472=>array(46,-68,953,836),22473=>array(46,-73,945,836),22474=>array(55,-15,951,842),22475=>array(39,-25,943,793),22476=>array(54,-74,955,827),22477=>array(61,-67,903,791),22478=>array(41,-68,951,834),22479=>array(36,-64,964,829),22480=>array(50,-62,970,814),22481=>array(55,-30,951,831),22482=>array(47,-62,945,827),22483=>array(61,-65,956,806),22484=>array(40,-68,948,833),22485=>array(55,-20,959,814),22486=>array(59,-48,962,832),22487=>array(43,-56,945,835),22488=>array(39,-64,923,826),22489=>array(43,-70,938,806),22490=>array(31,-67,892,802),22491=>array(31,-51,915,802),22492=>array(48,-27,967,817),22493=>array(17,-43,964,849),22494=>array(26,-58,966,848),22495=>array(36,-69,965,835),22496=>array(39,-68,959,854),22497=>array(53,-20,959,821),22498=>array(47,-48,959,823),22499=>array(48,-65,951,822),22500=>array(39,-56,961,860),22501=>array(53,-67,959,835),22502=>array(32,-61,959,855),22503=>array(32,-52,952,820),22504=>array(26,-65,974,853),22505=>array(46,-60,954,836),22506=>array(42,-12,944,831),22507=>array(56,-62,907,839),22508=>array(51,-73,965,824),22509=>array(35,-64,949,835),22510=>array(48,-72,971,829),22511=>array(45,-30,945,829),22512=>array(46,-62,959,833),22513=>array(45,-74,963,830),22514=>array(50,-68,976,841),22515=>array(62,-68,899,831),22516=>array(35,-67,953,835),22517=>array(47,-50,959,812),22518=>array(32,-67,973,831),22519=>array(57,-69,960,833),22520=>array(55,-67,911,818),22521=>array(36,-65,938,835),22522=>array(36,-28,980,832),22523=>array(46,-67,951,835),22524=>array(52,-64,958,836),22525=>array(42,-69,948,801),22526=>array(52,-27,945,792),22527=>array(67,-27,945,850),22528=>array(48,-65,906,818),22529=>array(47,-67,966,808),22530=>array(84,-14,933,832),22531=>array(52,-23,958,855),22532=>array(53,-67,956,838),22533=>array(56,-22,944,784),22534=>array(45,-73,950,834),22535=>array(60,-22,954,833),22536=>array(56,-48,911,828),22537=>array(45,-58,947,835),22538=>array(68,-12,951,794),22539=>array(41,-55,907,820),22540=>array(57,-69,901,803),22541=>array(42,-69,962,837),22542=>array(44,-70,963,833),22543=>array(63,-23,958,855),22544=>array(50,-71,956,804),22545=>array(45,-29,924,826),22546=>array(53,-49,970,789),22547=>array(57,-67,927,829),22548=>array(52,-67,966,811),22549=>array(58,-19,912,828),22550=>array(55,-65,920,841),22551=>array(26,-65,944,844),22552=>array(76,-28,972,835),22553=>array(32,-25,953,810),22554=>array(51,-65,936,787),22555=>array(54,-67,953,806),22556=>array(53,-67,966,832),22557=>array(64,-67,915,799),22558=>array(37,-65,970,833),22559=>array(59,-63,945,840),22560=>array(35,-72,966,840),22561=>array(38,-19,933,830),22562=>array(50,-70,944,836),22563=>array(66,-68,922,803),22564=>array(48,-70,966,793),22565=>array(54,-12,965,828),22566=>array(40,-50,956,844),22567=>array(35,-51,968,821),22568=>array(60,-69,924,807),22569=>array(38,-71,951,823),22570=>array(32,-68,946,829),22571=>array(38,-68,969,829),22572=>array(56,-70,976,836),22573=>array(66,-32,967,824),22574=>array(60,-69,952,800),22575=>array(43,-65,962,837),22576=>array(44,-62,956,807),22577=>array(65,-67,966,832),22578=>array(67,-16,963,770),22579=>array(43,-52,907,820),22580=>array(42,-63,948,788),22581=>array(39,-68,940,833),22582=>array(58,-67,952,835),22583=>array(52,-70,951,843),22584=>array(56,-71,973,803),22585=>array(50,-25,949,839),22586=>array(60,-66,971,829),22587=>array(49,-29,951,827),22588=>array(47,-16,954,826),22589=>array(54,-64,954,804),22590=>array(52,-64,978,842),22591=>array(58,-71,956,821),22592=>array(40,-69,955,804),22593=>array(55,-27,945,815),22594=>array(40,-26,961,826),22595=>array(40,-68,950,835),22596=>array(35,-66,911,804),22597=>array(45,-72,971,829),22598=>array(54,-60,944,846),22599=>array(50,-27,927,842),22600=>array(59,-16,958,794),22601=>array(50,-73,973,829),22602=>array(47,-68,965,841),22603=>array(64,-17,940,831),22604=>array(46,-68,915,796),22605=>array(28,-55,972,835),22606=>array(52,-71,960,831),22607=>array(39,-41,952,816),22608=>array(36,-64,980,833),22609=>array(53,-11,948,833),22610=>array(36,-65,956,829),22611=>array(56,-71,964,806),22612=>array(42,-69,963,829),22613=>array(54,-68,976,827),22614=>array(49,-65,964,842),22615=>array(46,-17,970,856),22616=>array(44,-69,948,819),22617=>array(42,-63,944,841),22618=>array(37,-60,973,807),22619=>array(53,-70,965,805),22620=>array(41,-60,965,807),22621=>array(55,-66,951,834),22622=>array(48,-30,949,830),22623=>array(55,-40,963,811),22624=>array(50,-60,961,834),22625=>array(52,-61,927,834),22626=>array(62,-60,928,839),22627=>array(58,-31,953,817),22628=>array(54,-70,967,818),22629=>array(59,-69,954,803),22630=>array(64,-46,953,815),22631=>array(54,-8,954,859),22632=>array(37,-67,966,826),22633=>array(49,-34,950,831),22634=>array(49,-65,934,836),22635=>array(47,-69,946,836),22636=>array(35,-68,948,785),22637=>array(47,-30,959,809),22638=>array(47,-64,965,849),22639=>array(63,-67,921,835),22640=>array(52,-46,951,840),22641=>array(57,-26,951,847),22642=>array(33,-56,941,850),22643=>array(53,-66,961,844),22644=>array(56,-71,906,831),22645=>array(44,-49,943,834),22646=>array(54,-69,959,838),22647=>array(56,-64,958,839),22648=>array(53,-26,940,803),22649=>array(53,-24,959,833),22650=>array(48,-69,954,835),22651=>array(46,-73,969,820),22652=>array(42,-66,961,830),22653=>array(34,-58,967,839),22654=>array(49,-34,952,831),22655=>array(33,-62,951,846),22656=>array(43,-71,957,810),22657=>array(52,-64,983,817),22658=>array(47,-70,957,804),22659=>array(39,-65,960,828),22660=>array(51,-65,961,838),22661=>array(52,-25,945,789),22662=>array(56,-69,942,823),22663=>array(53,-71,953,838),22664=>array(52,-64,920,831),22665=>array(28,-64,962,821),22666=>array(63,-26,958,838),22667=>array(60,-68,953,841),22668=>array(46,-67,962,851),22669=>array(58,-38,964,846),22670=>array(46,-69,950,836),22671=>array(45,-43,943,847),22672=>array(56,-32,956,823),22673=>array(48,-65,954,842),22674=>array(19,-80,923,826),22675=>array(45,-40,954,834),22676=>array(45,-58,945,839),22677=>array(40,-60,962,801),22678=>array(40,-69,949,837),22679=>array(38,-73,905,835),22680=>array(39,-67,969,833),22681=>array(38,-71,927,821),22682=>array(29,-68,947,821),22683=>array(34,-72,968,812),22684=>array(60,-35,968,847),22685=>array(39,-57,963,847),22686=>array(52,-62,961,830),22687=>array(31,-64,911,827),22688=>array(48,-70,960,804),22689=>array(40,-69,953,836),22690=>array(49,-64,959,843),22691=>array(36,-76,965,827),22692=>array(29,-69,953,836),22693=>array(49,-32,962,843),22694=>array(52,-63,932,827),22695=>array(55,-61,976,836),22696=>array(56,-43,949,816),22697=>array(38,-68,964,826),22698=>array(43,-52,969,831),22699=>array(41,-72,950,834),22700=>array(67,-27,967,844),22701=>array(32,-24,947,826),22702=>array(67,-15,956,857),22703=>array(34,-33,954,847),22704=>array(49,-67,954,806),22705=>array(39,-32,981,828),22706=>array(30,-62,954,845),22707=>array(43,-76,962,838),22708=>array(47,-57,950,831),22709=>array(60,-69,933,779),22710=>array(47,-68,963,833),22711=>array(35,-68,945,831),22712=>array(52,-62,938,842),22713=>array(52,-67,924,787),22714=>array(32,-64,972,851),22715=>array(52,-68,950,833),22716=>array(56,-33,977,831),22717=>array(46,-75,977,846),22718=>array(64,-25,960,828),22719=>array(56,-70,962,806),22720=>array(26,-69,962,845),22721=>array(62,-26,957,831),22722=>array(36,-38,964,780),22723=>array(43,-26,944,788),22724=>array(44,-32,959,832),22725=>array(62,-32,953,851),22726=>array(79,-34,951,826),22727=>array(43,-34,947,835),22728=>array(50,-68,987,830),22729=>array(47,-72,969,833),22730=>array(48,-71,965,839),22731=>array(61,-65,918,832),22732=>array(35,-79,966,837),22733=>array(41,-32,953,791),22734=>array(38,-54,969,857),22735=>array(49,-34,951,823),22736=>array(53,-35,962,794),22737=>array(46,-26,962,836),22738=>array(44,-18,956,834),22739=>array(42,-45,953,807),22740=>array(41,-55,949,840),22741=>array(43,-62,965,828),22742=>array(31,-51,947,818),22743=>array(36,-35,954,823),22744=>array(59,-28,949,783),22745=>array(52,-77,967,847),22746=>array(61,-66,969,836),22747=>array(53,-65,920,806),22748=>array(35,-60,951,808),22749=>array(36,-65,973,826),22750=>array(51,-63,970,844),22751=>array(57,-24,950,849),22752=>array(29,-68,952,841),22753=>array(29,-64,964,843),22754=>array(46,-65,959,820),22755=>array(38,-64,963,831),22756=>array(42,-61,951,837),22757=>array(42,-70,948,791),22758=>array(59,-70,953,829),22759=>array(33,-72,957,811),22760=>array(71,-28,941,781),22761=>array(59,-71,932,793),22762=>array(31,-75,959,848),22763=>array(103,28,894,796),22764=>array(49,-18,951,796),22765=>array(75,-58,888,834),22766=>array(41,-63,913,829),22767=>array(33,-69,948,820),22768=>array(47,-55,927,837),22769=>array(74,-40,927,846),22770=>array(62,-58,933,846),22771=>array(42,-58,955,846),22772=>array(59,-17,951,826),22773=>array(52,-34,969,842),22774=>array(59,-9,909,834),22775=>array(55,-21,948,835),22776=>array(59,-38,909,834),22777=>array(55,-21,948,835),22778=>array(72,-32,947,831),22779=>array(50,-50,972,806),22780=>array(55,-23,953,830),22781=>array(55,-61,951,836),22782=>array(49,-18,950,829),22783=>array(62,-72,954,845),22784=>array(55,-61,951,836),22785=>array(95,-62,932,847),22786=>array(59,-46,954,826),22787=>array(67,-64,923,791),22788=>array(18,-67,935,818),22789=>array(30,-82,946,827),22790=>array(51,-71,955,833),22791=>array(43,-63,930,827),22792=>array(37,-60,961,832),22793=>array(58,-62,959,830),22794=>array(55,-41,952,812),22795=>array(71,-67,937,842),22796=>array(54,-64,969,833),22797=>array(55,-65,954,829),22798=>array(60,-67,967,829),22799=>array(53,-65,954,812),22800=>array(84,-66,945,844),22801=>array(53,-65,961,843),22802=>array(46,-67,954,795),22803=>array(55,-67,965,823),22804=>array(36,-53,948,841),22805=>array(95,-71,856,842),22806=>array(41,-65,967,836),22807=>array(46,-66,945,828),22808=>array(57,-59,872,844),22809=>array(24,-66,968,789),22810=>array(89,-68,911,849),22811=>array(107,-81,928,807),22812=>array(45,-65,959,828),22813=>array(29,-47,965,804),22814=>array(119,-58,929,821),22815=>array(14,-59,907,842),22816=>array(66,-65,921,847),22817=>array(66,-65,953,847),22818=>array(59,-73,928,839),22819=>array(71,-73,915,845),22820=>array(58,-76,942,848),22821=>array(22,-69,925,840),22822=>array(50,-69,952,823),22823=>array(85,-43,933,837),22824=>array(55,-63,950,845),22825=>array(61,-51,947,778),22826=>array(83,-48,941,834),22827=>array(74,-51,943,834),22828=>array(29,-57,979,840),22829=>array(84,-55,931,798),22830=>array(54,-70,968,826),22831=>array(58,-66,957,835),22832=>array(76,-70,953,835),22833=>array(86,-70,941,829),22834=>array(33,-62,947,835),22835=>array(54,-7,946,839),22836=>array(62,-59,913,831),22837=>array(43,-61,945,835),22838=>array(36,-71,969,824),22839=>array(58,-68,953,835),22840=>array(29,-70,982,855),22841=>array(29,-59,936,830),22842=>array(33,-59,947,835),22843=>array(21,-58,937,835),22844=>array(60,-67,955,835),22845=>array(66,-71,957,835),22846=>array(69,-64,955,834),22847=>array(53,-45,957,835),22848=>array(53,-62,982,783),22849=>array(40,-31,954,821),22850=>array(50,-67,958,832),22851=>array(67,-88,958,847),22852=>array(32,-44,976,842),22853=>array(59,-67,965,838),22854=>array(66,-41,957,835),22855=>array(60,-65,929,840),22856=>array(62,-62,960,848),22857=>array(44,-72,958,840),22858=>array(59,-74,964,831),22859=>array(21,-58,937,835),22860=>array(37,-60,963,828),22861=>array(35,-60,972,843),22862=>array(36,-22,961,851),22863=>array(46,-77,954,840),22864=>array(39,-66,966,841),22865=>array(43,-70,957,830),22866=>array(36,-65,974,838),22867=>array(57,-65,965,829),22868=>array(48,-71,970,835),22869=>array(53,-57,972,843),22870=>array(30,-59,954,839),22871=>array(43,-65,966,844),22872=>array(42,-65,955,829),22873=>array(29,-60,975,848),22874=>array(54,-68,960,839),22875=>array(26,-68,997,841),22876=>array(47,-69,970,836),22877=>array(70,-82,962,836),22878=>array(47,-75,976,833),22879=>array(41,-59,974,840),22880=>array(40,-71,959,829),22881=>array(44,-64,973,793),22882=>array(36,-68,970,840),22883=>array(51,-78,971,807),22884=>array(26,-77,972,837),22885=>array(39,-73,961,840),22886=>array(44,-66,960,839),22887=>array(47,-72,968,842),22888=>array(39,-64,970,852),22889=>array(32,-22,966,845),22890=>array(30,-65,967,843),22891=>array(40,-71,968,844),22892=>array(39,-64,970,847),22893=>array(35,-63,982,839),22894=>array(51,-69,960,849),22895=>array(29,-80,983,839),22896=>array(40,-73,967,781),22897=>array(48,-66,966,839),22898=>array(42,-72,961,832),22899=>array(86,-53,911,836),22900=>array(64,-67,949,819),22901=>array(52,-63,948,840),22902=>array(68,-70,920,821),22903=>array(63,-63,958,833),22904=>array(69,-65,959,836),22905=>array(40,-56,948,836),22906=>array(100,-70,972,832),22907=>array(65,-64,951,828),22908=>array(64,-55,958,831),22909=>array(52,-67,961,818),22910=>array(62,-65,912,829),22911=>array(44,-60,961,830),22912=>array(63,-66,944,821),22913=>array(66,-59,919,844),22914=>array(71,-74,897,815),22915=>array(29,-52,945,840),22916=>array(54,-72,942,836),22917=>array(77,-53,964,816),22918=>array(31,-67,938,824),22919=>array(47,-62,861,833),22920=>array(46,-61,914,828),22921=>array(61,-71,955,832),22922=>array(51,-72,935,832),22923=>array(76,-72,962,833),22924=>array(64,-69,954,837),22925=>array(51,-67,952,837),22926=>array(56,-72,974,840),22927=>array(74,-66,972,842),22928=>array(53,-56,974,841),22929=>array(49,-54,941,849),22930=>array(62,-68,934,839),22931=>array(57,-69,961,836),22932=>array(47,-64,957,853),22933=>array(57,-66,891,838),22934=>array(47,-70,957,830),22935=>array(39,-66,966,850),22936=>array(45,-69,958,830),22937=>array(53,-67,952,835),22938=>array(49,-64,966,840),22939=>array(66,-44,940,823),22940=>array(58,-69,955,831),22941=>array(39,-63,961,835),22942=>array(45,-50,956,827),22943=>array(66,-59,920,785),22944=>array(61,-66,917,835),22945=>array(57,-70,946,837),22946=>array(50,-67,971,836),22947=>array(52,-48,966,839),22948=>array(46,-62,951,830),22949=>array(67,-71,903,834),22950=>array(44,-66,951,836),22951=>array(53,-68,955,836),22952=>array(55,-77,951,829),22953=>array(53,-64,935,824),22954=>array(36,-66,913,818),22955=>array(36,-64,890,825),22956=>array(62,-62,965,828),22957=>array(58,-64,975,844),22958=>array(58,-65,945,838),22959=>array(61,-65,918,845),22960=>array(64,-67,951,842),22961=>array(62,-73,911,835),22962=>array(50,-58,937,835),22963=>array(53,-52,965,847),22964=>array(59,-63,945,844),22965=>array(60,-56,958,832),22966=>array(45,-56,956,835),22967=>array(66,-60,975,844),22968=>array(61,-62,961,830),22969=>array(30,-71,978,833),22970=>array(55,-66,973,838),22971=>array(80,-70,935,837),22972=>array(62,-60,959,830),22973=>array(59,-62,918,837),22974=>array(65,-65,936,828),22975=>array(60,-55,924,821),22976=>array(53,-65,956,842),22977=>array(60,-65,918,834),22978=>array(71,-58,969,830),22979=>array(60,-58,962,826),22980=>array(61,-61,954,826),22981=>array(56,-72,953,839),22982=>array(60,-67,948,832),22983=>array(58,-70,941,830),22984=>array(55,-50,968,860),22985=>array(37,-68,954,840),22986=>array(70,-64,934,832),22987=>array(54,-74,945,835),22988=>array(56,-62,965,839),22989=>array(32,-56,959,831),22990=>array(42,-77,968,834),22991=>array(62,-69,955,837),22992=>array(56,-65,956,818),22993=>array(56,-64,956,838),22994=>array(66,-64,978,841),22995=>array(52,-69,952,827),22996=>array(58,-67,912,836),22997=>array(58,-67,958,827),22998=>array(51,-52,949,822),22999=>array(41,-70,922,825),23000=>array(48,-67,956,850),23001=>array(40,-64,959,834),23002=>array(53,-70,960,833),23003=>array(60,-70,906,830),23004=>array(67,-63,926,850),23005=>array(38,-65,969,832),23006=>array(48,-52,957,850),23007=>array(38,-68,948,842),23008=>array(57,-74,907,832),23009=>array(80,-72,938,829),23010=>array(63,-72,929,831),23011=>array(38,-66,970,846),23012=>array(62,-66,957,837),23013=>array(47,-54,959,833),23014=>array(49,-71,962,843),23015=>array(52,-65,952,845),23016=>array(54,-67,968,837),23017=>array(68,-75,956,827),23018=>array(45,-69,956,824),23019=>array(50,-71,955,831),23020=>array(62,-66,956,829),23021=>array(67,-73,931,837),23022=>array(69,-59,960,837),23023=>array(64,-74,953,823),23024=>array(45,-60,909,836),23025=>array(44,-49,979,860),23026=>array(61,-74,954,831),23027=>array(61,-70,887,830),23028=>array(83,-73,938,824),23029=>array(69,-79,954,821),23030=>array(52,-50,970,858),23031=>array(55,-73,957,827),23032=>array(63,-73,953,827),23033=>array(40,-59,953,845),23034=>array(64,-74,953,823),23035=>array(53,-66,895,831),23036=>array(73,-80,932,822),23037=>array(78,-75,947,820),23038=>array(57,-80,955,823),23039=>array(59,-74,939,842),23040=>array(64,-67,951,830),23041=>array(53,-74,959,832),23042=>array(73,-73,959,832),23043=>array(73,-68,953,833),23044=>array(44,-65,935,829),23045=>array(44,-77,934,817),23046=>array(28,-69,936,822),23047=>array(40,-60,939,836),23048=>array(56,-82,919,834),23049=>array(34,-64,962,839),23050=>array(64,-68,958,830),23051=>array(62,-70,897,836),23052=>array(46,-48,956,840),23053=>array(46,-70,961,840),23054=>array(37,-68,939,830),23055=>array(56,-62,956,838),23056=>array(64,-64,953,837),23057=>array(37,-68,943,830),23058=>array(56,-67,953,845),23059=>array(41,-67,963,823),23060=>array(82,-69,954,839),23061=>array(60,-62,964,837),23062=>array(63,-69,980,829),23063=>array(57,-69,983,833),23064=>array(62,-75,962,831),23065=>array(51,-48,952,845),23066=>array(72,-74,923,808),23067=>array(64,-71,977,833),23068=>array(50,-71,947,833),23069=>array(66,-54,969,852),23070=>array(48,-68,945,833),23071=>array(63,-72,897,831),23072=>array(66,-66,965,831),23073=>array(66,-66,961,831),23074=>array(54,-66,951,867),23075=>array(65,-67,933,845),23076=>array(37,-68,939,829),23077=>array(42,-63,972,832),23078=>array(62,-64,954,828),23079=>array(62,-68,949,846),23080=>array(47,-64,954,828),23081=>array(57,-67,967,848),23082=>array(57,-68,948,828),23083=>array(39,-67,967,828),23084=>array(42,-64,962,833),23085=>array(73,-74,964,833),23086=>array(64,-68,941,832),23087=>array(64,-71,948,833),23088=>array(64,-67,955,840),23089=>array(32,-62,947,826),23090=>array(43,-72,891,819),23091=>array(55,-64,912,839),23092=>array(46,-73,870,832),23093=>array(49,-71,968,835),23094=>array(67,-75,940,793),23095=>array(65,-44,953,833),23096=>array(51,-78,953,833),23097=>array(44,-77,964,828),23098=>array(37,-67,973,823),23099=>array(61,-64,973,835),23100=>array(68,-69,906,832),23101=>array(57,-67,955,828),23102=>array(51,-69,958,827),23103=>array(37,-58,939,827),23104=>array(38,-65,952,835),23105=>array(55,-68,930,832),23106=>array(63,-71,912,840),23107=>array(58,-68,957,834),23108=>array(53,-67,960,839),23109=>array(64,-61,921,847),23110=>array(66,-74,946,836),23111=>array(42,-67,959,834),23112=>array(46,-72,971,831),23113=>array(59,-63,954,836),23114=>array(37,-67,977,837),23115=>array(44,-66,953,837),23116=>array(49,-71,980,828),23117=>array(54,-65,962,839),23118=>array(69,-68,953,842),23119=>array(42,-67,968,848),23120=>array(52,-70,979,827),23121=>array(50,-70,962,830),23122=>array(50,-68,971,836),23123=>array(64,-74,935,827),23124=>array(54,-63,964,834),23125=>array(37,-65,964,836),23126=>array(45,-68,979,829),23127=>array(54,-70,960,832),23128=>array(50,-62,966,831),23129=>array(48,-60,946,841),23130=>array(55,-71,960,833),23131=>array(52,-62,955,838),23132=>array(47,-67,954,790),23133=>array(52,-71,961,828),23134=>array(49,-67,959,839),23135=>array(66,-71,912,829),23136=>array(65,-68,924,839),23137=>array(44,-64,970,839),23138=>array(54,-65,951,850),23139=>array(59,-75,922,834),23140=>array(52,-72,898,830),23141=>array(56,-66,967,833),23142=>array(42,-74,944,832),23143=>array(45,-64,948,837),23144=>array(34,-61,957,834),23145=>array(53,-67,948,837),23146=>array(47,-78,964,822),23147=>array(54,-56,949,834),23148=>array(37,-50,950,829),23149=>array(45,-54,954,833),23150=>array(69,-68,945,834),23151=>array(57,-78,918,795),23152=>array(50,-73,959,835),23153=>array(57,-78,944,848),23154=>array(70,-65,962,835),23155=>array(61,-62,934,835),23156=>array(56,-74,915,780),23157=>array(37,-70,956,825),23158=>array(52,-63,903,831),23159=>array(40,-65,949,852),23160=>array(57,-68,947,830),23161=>array(65,-67,952,835),23162=>array(51,-69,963,841),23163=>array(50,-65,951,833),23164=>array(51,-64,954,840),23165=>array(53,-70,964,832),23166=>array(41,-70,964,849),23167=>array(63,-65,967,834),23168=>array(67,-68,932,832),23169=>array(50,-64,963,849),23170=>array(65,-61,935,858),23171=>array(57,-68,961,832),23172=>array(57,-71,961,833),23173=>array(38,-49,955,827),23174=>array(57,-72,945,835),23175=>array(57,-72,934,832),23176=>array(70,-62,950,824),23177=>array(57,-62,943,832),23178=>array(43,-73,951,833),23179=>array(58,-73,973,823),23180=>array(52,-74,955,830),23181=>array(56,-82,954,852),23182=>array(57,-68,965,838),23183=>array(50,-69,950,830),23184=>array(51,-72,952,787),23185=>array(65,-66,959,842),23186=>array(60,-66,973,836),23187=>array(60,-58,959,841),23188=>array(52,-70,954,834),23189=>array(57,-76,964,833),23190=>array(47,-60,988,842),23191=>array(73,-50,961,836),23192=>array(57,-65,951,842),23193=>array(48,-74,961,843),23194=>array(63,-73,900,827),23195=>array(42,-65,949,836),23196=>array(56,-82,954,833),23197=>array(50,-72,945,835),23198=>array(55,-69,986,832),23199=>array(44,-62,963,810),23200=>array(64,-65,927,845),23201=>array(58,-67,964,833),23202=>array(49,-70,920,825),23203=>array(43,-66,954,835),23204=>array(67,-53,976,832),23205=>array(53,-78,921,834),23206=>array(55,-67,914,832),23207=>array(54,-65,919,837),23208=>array(54,-63,967,835),23209=>array(62,-71,914,827),23210=>array(35,-74,951,815),23211=>array(38,-60,965,836),23212=>array(56,-67,981,825),23213=>array(57,-82,931,825),23214=>array(41,-70,974,849),23215=>array(46,-60,928,845),23216=>array(46,-65,908,832),23217=>array(55,-73,967,840),23218=>array(43,-53,958,852),23219=>array(65,-67,967,846),23220=>array(59,-76,974,823),23221=>array(31,-65,968,834),23222=>array(55,-67,954,827),23223=>array(43,-64,950,837),23224=>array(55,-71,966,843),23225=>array(56,-69,915,834),23226=>array(51,-73,975,829),23227=>array(38,-76,950,832),23228=>array(51,-72,968,818),23229=>array(56,-71,922,818),23230=>array(18,-64,948,837),23231=>array(52,-64,972,855),23232=>array(48,-69,962,833),23233=>array(53,-69,970,832),23234=>array(42,-65,958,840),23235=>array(60,-71,945,840),23236=>array(38,-65,968,839),23237=>array(72,-60,954,844),23238=>array(65,-69,977,833),23239=>array(54,-82,962,829),23240=>array(61,-73,932,831),23241=>array(66,-76,957,831),23242=>array(49,-65,954,832),23243=>array(36,-57,929,818),23244=>array(51,-64,966,850),23245=>array(52,-70,927,832),23246=>array(44,-69,950,840),23247=>array(49,-64,946,842),23248=>array(57,-65,958,829),23249=>array(82,-71,934,791),23250=>array(44,-73,931,820),23251=>array(43,-53,967,844),23252=>array(43,-72,920,826),23253=>array(58,-56,971,830),23254=>array(22,-62,953,831),23255=>array(36,-77,951,837),23256=>array(44,-61,977,843),23257=>array(38,-63,970,841),23258=>array(47,-47,972,833),23259=>array(52,-74,958,785),23260=>array(52,-65,964,849),23261=>array(58,-70,962,834),23262=>array(54,-67,957,836),23263=>array(44,-47,951,841),23264=>array(37,-66,955,841),23265=>array(37,-64,948,836),23266=>array(51,-72,954,826),23267=>array(43,-61,952,836),23268=>array(55,-55,938,836),23269=>array(50,-69,951,831),23270=>array(30,-77,921,826),23271=>array(36,-67,943,830),23272=>array(59,-72,972,833),23273=>array(69,-69,964,835),23274=>array(37,-72,973,839),23275=>array(68,-62,989,837),23276=>array(63,-66,978,834),23277=>array(56,-68,953,831),23278=>array(50,-70,954,828),23279=>array(44,-75,960,833),23280=>array(69,-69,984,837),23281=>array(41,-70,914,823),23282=>array(49,-66,979,840),23283=>array(51,-50,957,859),23284=>array(62,-80,956,829),23285=>array(40,-65,961,836),23286=>array(39,-54,970,856),23287=>array(34,-65,950,841),23288=>array(44,-78,962,837),23289=>array(46,-73,966,828),23290=>array(42,-68,911,835),23291=>array(57,-65,915,823),23292=>array(38,-74,958,831),23293=>array(44,-74,980,838),23294=>array(37,-74,954,836),23295=>array(48,-77,965,834),23296=>array(53,-67,964,852),23297=>array(35,-77,989,831),23298=>array(54,-82,981,833),23299=>array(45,-77,951,827),23300=>array(38,-69,954,833),23301=>array(38,-69,952,829),23302=>array(41,-64,991,858),23303=>array(38,-79,960,832),23304=>array(44,-64,965,835),23305=>array(38,-64,956,841),23306=>array(64,-89,940,832),23307=>array(34,-68,958,835),23308=>array(52,-68,966,834),23309=>array(38,-66,965,835),23310=>array(42,-70,975,831),23311=>array(40,-68,975,831),23312=>array(44,-74,976,841),23313=>array(30,-50,963,844),23314=>array(45,-68,973,864),23315=>array(45,-80,977,839),23316=>array(41,-66,971,831),23317=>array(46,-64,941,835),23318=>array(61,-75,948,848),23319=>array(35,-56,962,850),23320=>array(34,-64,952,837),23321=>array(36,-65,964,837),23322=>array(42,-70,972,844),23323=>array(46,-60,991,836),23324=>array(53,-84,969,849),23325=>array(46,-64,956,848),23326=>array(50,-41,962,835),23327=>array(46,-70,965,853),23328=>array(38,-67,984,838),23329=>array(36,-66,975,843),23330=>array(43,-79,966,837),23331=>array(51,-70,964,837),23332=>array(37,-68,973,848),23333=>array(51,-70,956,825),23334=>array(50,-71,955,826),23335=>array(41,-70,953,825),23336=>array(34,-50,963,838),23337=>array(43,-70,942,831),23338=>array(44,-67,966,844),23339=>array(34,-65,947,840),23340=>array(48,-68,951,829),23341=>array(44,-68,976,815),23342=>array(45,-74,950,807),23343=>array(45,-68,957,824),23344=>array(68,-69,924,791),23345=>array(53,-75,953,840),23346=>array(46,-63,934,829),23347=>array(43,-65,963,831),23348=>array(43,-69,956,850),23349=>array(40,-68,936,845),23350=>array(43,-64,962,859),23351=>array(36,-67,962,846),23352=>array(54,-65,958,851),23353=>array(27,-65,977,829),23354=>array(57,-53,971,829),23355=>array(46,-66,961,841),23356=>array(62,-74,921,831),23357=>array(40,-67,976,839),23358=>array(35,-50,968,848),23359=>array(41,-68,971,836),23360=>array(51,-65,932,831),23361=>array(68,-66,930,785),23362=>array(42,-43,959,840),23363=>array(59,-61,989,840),23364=>array(41,-66,909,832),23365=>array(43,-65,969,821),23366=>array(55,-67,954,831),23367=>array(46,-64,980,832),23368=>array(48,-65,943,831),23369=>array(66,-58,937,839),23370=>array(41,-78,942,839),23371=>array(44,-72,962,825),23372=>array(55,-74,957,839),23373=>array(39,-67,974,831),23374=>array(46,-73,947,830),23375=>array(45,-65,953,846),23376=>array(98,-49,921,787),23377=>array(72,-52,927,782),23378=>array(221,-58,921,778),23379=>array(94,-53,939,781),23380=>array(69,-61,953,825),23381=>array(74,-59,942,783),23382=>array(41,-52,955,786),23383=>array(94,-61,926,832),23384=>array(47,-69,943,839),23385=>array(31,-66,937,823),23386=>array(53,-65,947,840),23387=>array(74,-64,944,831),23388=>array(60,-65,967,834),23389=>array(48,-61,928,834),23390=>array(24,-31,945,786),23391=>array(66,-17,955,786),23392=>array(86,-51,920,828),23393=>array(20,-70,953,839),23394=>array(53,-64,947,847),23395=>array(50,-67,959,838),23396=>array(42,-77,970,838),23397=>array(54,-58,947,852),23398=>array(74,-54,926,826),23399=>array(86,-52,935,826),23400=>array(41,-67,950,800),23401=>array(51,-68,948,833),23402=>array(41,-60,924,842),23403=>array(44,-69,965,815),23404=>array(38,-66,946,791),23405=>array(55,-72,960,785),23406=>array(41,-64,949,836),23407=>array(63,-61,956,796),23408=>array(41,-68,971,834),23409=>array(31,-59,962,798),23410=>array(51,-50,961,789),23411=>array(53,-56,949,855),23412=>array(135,-68,903,823),23413=>array(34,-76,944,817),23414=>array(53,-58,949,838),23415=>array(41,-71,953,831),23416=>array(66,-67,939,831),23417=>array(64,-57,940,840),23418=>array(31,-64,955,790),23419=>array(44,-70,954,823),23420=>array(59,-81,946,833),23421=>array(71,-60,948,837),23422=>array(39,-67,954,788),23423=>array(57,-59,955,846),23424=>array(90,354,883,650),23425=>array(79,-52,934,851),23426=>array(56,-67,945,833),23427=>array(109,-28,902,821),23428=>array(55,-63,952,841),23429=>array(70,-38,942,833),23430=>array(79,-61,932,841),23431=>array(59,-69,931,840),23432=>array(77,-59,923,825),23433=>array(76,-70,912,818),23434=>array(71,-64,950,844),23435=>array(63,-65,951,824),23436=>array(60,-62,946,839),23437=>array(58,-58,942,822),23438=>array(48,-66,955,845),23439=>array(77,-64,927,822),23440=>array(76,-37,972,838),23441=>array(106,-66,923,838),23442=>array(84,-44,940,832),23443=>array(46,-66,958,830),23444=>array(75,-32,925,842),23445=>array(57,-65,894,839),23446=>array(75,-65,942,830),23447=>array(71,-63,945,822),23448=>array(106,-70,894,839),23449=>array(106,-71,894,817),23450=>array(41,-67,953,826),23451=>array(54,-59,954,818),23452=>array(60,-29,953,831),23453=>array(79,-25,925,826),23454=>array(73,-61,929,832),23455=>array(47,-57,955,827),23456=>array(32,-56,957,841),23457=>array(89,-60,904,842),23458=>array(40,-61,958,828),23459=>array(73,-25,931,823),23460=>array(93,-35,907,825),23461=>array(51,-70,908,839),23462=>array(102,-72,915,832),23463=>array(90,-21,910,835),23464=>array(74,-79,949,824),23465=>array(87,-54,933,835),23466=>array(41,-63,921,837),23467=>array(91,-74,894,839),23468=>array(39,-65,966,842),23469=>array(59,-65,932,830),23470=>array(98,-68,902,829),23471=>array(42,-58,934,848),23472=>array(80,-63,931,831),23473=>array(83,-52,893,844),23474=>array(46,-50,955,844),23475=>array(83,-65,920,834),23476=>array(69,-79,934,839),23477=>array(110,-71,901,837),23478=>array(55,-65,960,823),23479=>array(46,-56,955,857),23480=>array(45,-67,968,833),23481=>array(47,-68,953,834),23482=>array(54,-57,955,840),23483=>array(55,-61,949,834),23484=>array(47,-73,959,846),23485=>array(81,-62,927,836),23486=>array(50,-77,917,846),23487=>array(43,-73,906,828),23488=>array(46,-62,955,826),23489=>array(41,-67,982,841),23490=>array(48,-71,969,835),23491=>array(54,-62,952,829),23492=>array(80,-59,941,833),23493=>array(53,-69,956,835),23494=>array(66,-64,944,827),23495=>array(47,-73,959,830),23496=>array(86,-65,921,846),23497=>array(90,-67,912,845),23498=>array(62,-74,963,838),23499=>array(37,-41,968,835),23500=>array(107,-67,900,835),23501=>array(61,-31,953,835),23502=>array(43,-53,926,860),23503=>array(63,-66,961,841),23504=>array(46,-77,962,821),23505=>array(45,-72,929,839),23506=>array(48,-83,952,834),23507=>array(100,-65,900,840),23508=>array(75,-68,971,828),23509=>array(83,-68,930,843),23510=>array(56,-60,981,844),23511=>array(47,-55,944,840),23512=>array(72,-78,931,841),23513=>array(34,-64,966,839),23514=>array(65,-65,957,842),23515=>array(55,-57,956,842),23516=>array(80,-68,917,843),23517=>array(39,-75,952,829),23518=>array(35,-76,962,845),23519=>array(53,-62,954,825),23520=>array(41,-61,936,856),23521=>array(35,-66,974,840),23522=>array(47,-76,960,836),23523=>array(53,-72,948,836),23524=>array(54,-64,953,836),23525=>array(42,-72,977,850),23526=>array(61,-74,952,850),23527=>array(80,-68,917,844),23528=>array(44,-69,930,839),23529=>array(41,-73,970,835),23530=>array(50,-63,914,836),23531=>array(82,-65,910,833),23532=>array(55,-57,953,843),23533=>array(83,-34,925,849),23534=>array(41,-64,970,838),23535=>array(63,-68,917,841),23536=>array(62,-78,967,846),23537=>array(44,-69,975,835),23538=>array(58,-75,968,833),23539=>array(70,-69,939,832),23540=>array(67,-76,957,841),23541=>array(54,-66,969,836),23542=>array(70,-69,939,850),23543=>array(69,-25,923,847),23544=>array(97,-64,912,829),23545=>array(24,-60,915,829),23546=>array(77,-59,932,836),23547=>array(62,-57,913,793),23548=>array(50,-58,916,786),23549=>array(50,-63,916,840),23550=>array(49,-46,951,821),23551=>array(60,-57,934,835),23552=>array(100,-61,945,826),23553=>array(49,-61,945,826),23554=>array(62,-72,935,823),23555=>array(55,-72,936,823),23556=>array(49,-64,948,845),23557=>array(44,-69,962,827),23558=>array(41,-63,940,839),23559=>array(37,-64,956,841),23560=>array(57,-67,947,826),23561=>array(44,-71,951,826),23562=>array(68,-63,932,850),23563=>array(73,-70,933,811),23564=>array(53,-71,955,829),23565=>array(38,-61,952,835),23566=>array(57,-65,944,848),23567=>array(71,-41,927,818),23568=>array(68,-62,945,816),23569=>array(52,-67,944,818),23570=>array(45,-63,954,833),23571=>array(59,-63,935,827),23572=>array(32,-63,909,830),23573=>array(49,-58,961,789),23574=>array(61,-64,939,830),23575=>array(49,-58,961,821),23576=>array(50,-16,921,824),23577=>array(116,-70,861,824),23578=>array(110,-70,864,836),23579=>array(31,-48,962,821),23580=>array(43,-64,952,824),23581=>array(66,-68,898,831),23582=>array(41,-64,970,821),23583=>array(41,-71,970,822),23584=>array(42,-84,972,826),23585=>array(41,-62,961,836),23586=>array(46,-63,954,829),23587=>array(82,-47,936,782),23588=>array(62,-65,927,829),23589=>array(32,-60,963,842),23590=>array(42,-44,959,835),23591=>array(70,-61,932,827),23592=>array(35,-70,949,853),23593=>array(35,-61,964,798),23594=>array(44,-64,964,832),23595=>array(32,-55,962,785),23596=>array(31,-66,963,844),23597=>array(43,-65,962,837),23598=>array(34,-51,958,833),23599=>array(34,-51,958,835),23600=>array(50,-66,961,836),23601=>array(56,-63,951,831),23602=>array(33,-51,958,842),23603=>array(44,-69,959,826),23604=>array(34,-51,958,833),23605=>array(34,-51,960,835),23606=>array(36,-66,971,831),23607=>array(36,-72,974,831),23608=>array(78,-71,880,766),23609=>array(41,-58,956,772),23610=>array(69,-73,926,765),23611=>array(36,-62,963,790),23612=>array(53,-71,934,782),23613=>array(40,-60,960,789),23614=>array(57,-67,940,784),23615=>array(52,-74,951,779),23616=>array(68,-65,895,785),23617=>array(54,-73,938,782),23618=>array(28,-63,917,789),23619=>array(28,-64,961,789),23620=>array(52,-62,903,794),23621=>array(56,-73,930,782),23622=>array(64,-73,896,788),23623=>array(63,-62,897,792),23624=>array(49,-65,886,792),23625=>array(41,-70,935,787),23626=>array(22,-60,846,791),23627=>array(53,-74,933,796),23628=>array(59,-69,894,786),23629=>array(33,-64,964,791),23630=>array(47,-76,939,785),23631=>array(53,-72,930,785),23632=>array(37,-65,972,789),23633=>array(59,-72,894,789),23634=>array(45,-72,956,795),23635=>array(65,-92,946,781),23636=>array(60,-59,952,804),23637=>array(46,-73,943,779),23638=>array(55,-64,932,782),23639=>array(48,-73,964,798),23640=>array(48,-73,964,782),23641=>array(35,-68,951,788),23642=>array(58,-66,899,808),23643=>array(53,-72,930,785),23644=>array(49,-67,957,791),23645=>array(44,-70,935,786),23646=>array(30,-73,877,777),23647=>array(23,-58,963,803),23648=>array(46,-68,935,796),23649=>array(41,-65,911,788),23650=>array(46,-82,939,823),23651=>array(44,-69,973,787),23652=>array(50,-68,900,808),23653=>array(29,-68,953,786),23654=>array(35,-73,913,789),23655=>array(23,-58,975,803),23656=>array(41,-70,962,798),23657=>array(44,-62,959,800),23658=>array(48,-66,966,786),23659=>array(44,-62,983,800),23660=>array(57,-82,912,790),23661=>array(40,-58,934,804),23662=>array(85,-65,895,825),23663=>array(78,-40,952,836),23664=>array(90,-68,912,848),23665=>array(137,-48,863,771),23666=>array(124,-65,853,820),23667=>array(47,-65,950,800),23668=>array(67,-62,915,833),23669=>array(46,-80,882,833),23670=>array(67,-62,915,833),23671=>array(94,-70,920,821),23672=>array(94,4,953,821),23673=>array(53,-27,935,841),23674=>array(85,-28,931,813),23675=>array(110,-64,897,820),23676=>array(113,-70,964,824),23677=>array(113,-50,963,824),23678=>array(89,-69,911,814),23679=>array(90,-67,922,825),23680=>array(143,-65,869,838),23681=>array(80,-65,855,815),23682=>array(104,-31,921,822),23683=>array(95,-75,915,833),23684=>array(113,-65,889,824),23685=>array(95,-68,953,824),23686=>array(97,-62,963,827),23687=>array(110,-64,911,836),23688=>array(89,-52,930,814),23689=>array(103,-66,909,834),23690=>array(118,-67,935,787),23691=>array(106,-71,965,806),23692=>array(43,-65,957,832),23693=>array(86,-68,931,817),23694=>array(63,-71,951,824),23695=>array(104,-69,948,818),23696=>array(76,-66,964,837),23697=>array(41,-73,955,833),23698=>array(96,-71,960,836),23699=>array(101,-70,948,830),23700=>array(45,-69,961,821),23701=>array(52,-68,969,831),23702=>array(93,-29,916,803),23703=>array(134,-58,833,830),23704=>array(87,-68,934,810),23705=>array(53,-67,959,812),23706=>array(40,-62,957,826),23707=>array(115,-63,865,832),23708=>array(140,-26,921,823),23709=>array(53,-66,935,838),23710=>array(91,-62,955,845),23711=>array(97,-70,964,831),23712=>array(91,-20,951,813),23713=>array(113,-59,888,789),23714=>array(80,-62,931,839),23715=>array(109,-54,909,845),23716=>array(65,-66,966,834),23717=>array(98,-70,957,827),23718=>array(70,-27,945,824),23719=>array(54,-56,900,850),23720=>array(80,-25,948,817),23721=>array(69,-68,920,822),23722=>array(107,-64,900,837),23723=>array(66,-64,892,830),23724=>array(81,-67,901,817),23725=>array(103,-72,948,833),23726=>array(103,-43,949,833),23727=>array(97,-30,949,800),23728=>array(98,-69,910,834),23729=>array(47,-67,955,839),23730=>array(87,-62,960,810),23731=>array(76,-65,924,829),23732=>array(93,-8,933,814),23733=>array(76,-65,935,829),23734=>array(66,-66,888,843),23735=>array(66,-67,939,817),23736=>array(35,-72,931,829),23737=>array(87,-70,910,810),23738=>array(41,-66,955,833),23739=>array(62,-57,961,829),23740=>array(62,-67,959,817),23741=>array(63,-66,920,815),23742=>array(66,-67,955,830),23743=>array(101,-66,875,824),23744=>array(144,-65,869,833),23745=>array(67,-69,911,836),23746=>array(107,-62,964,837),23747=>array(97,-67,907,820),23748=>array(91,-68,944,798),23749=>array(66,-75,950,845),23750=>array(111,-70,961,823),23751=>array(30,-62,979,840),23752=>array(107,-70,961,826),23753=>array(48,-70,963,821),23754=>array(163,-78,862,824),23755=>array(100,-60,903,844),23756=>array(107,-12,960,795),23757=>array(101,-64,959,827),23758=>array(134,-77,937,824),23759=>array(104,-68,956,821),23760=>array(107,-70,960,827),23761=>array(53,-41,948,819),23762=>array(101,-62,898,815),23763=>array(108,-76,949,822),23764=>array(103,-32,942,822),23765=>array(71,-70,947,836),23766=>array(111,-76,944,821),23767=>array(100,-67,949,819),23768=>array(106,-12,956,804),23769=>array(58,-58,927,838),23770=>array(54,-29,971,819),23771=>array(74,-76,885,818),23772=>array(44,-44,974,839),23773=>array(144,-61,869,827),23774=>array(46,-69,939,822),23775=>array(50,-67,934,825),23776=>array(79,-64,940,835),23777=>array(76,-64,945,826),23778=>array(73,-67,910,830),23779=>array(82,-60,944,829),23780=>array(89,-65,947,819),23781=>array(93,-62,957,830),23782=>array(40,-65,947,844),23783=>array(88,-63,944,846),23784=>array(77,-57,945,833),23785=>array(43,-52,958,850),23786=>array(62,-63,941,826),23787=>array(78,-67,948,817),23788=>array(109,-61,956,831),23789=>array(66,-67,923,833),23790=>array(98,-60,941,814),23791=>array(37,-64,978,839),23792=>array(77,-65,961,840),23793=>array(47,-65,951,793),23794=>array(46,-59,898,841),23795=>array(39,-67,969,841),23796=>array(77,-64,933,827),23797=>array(66,-43,956,828),23798=>array(118,-70,897,845),23799=>array(89,-62,939,829),23800=>array(105,-78,952,823),23801=>array(39,-71,957,835),23802=>array(66,-72,962,817),23803=>array(79,-69,966,849),23804=>array(69,-62,929,833),23805=>array(70,-73,961,836),23806=>array(93,-71,932,837),23807=>array(101,-62,944,813),23808=>array(131,-68,947,826),23809=>array(55,-64,987,837),23810=>array(91,-65,912,825),23811=>array(87,-65,963,818),23812=>array(69,-32,939,813),23813=>array(69,-54,906,849),23814=>array(85,-23,924,839),23815=>array(63,-66,937,835),23816=>array(92,-65,924,858),23817=>array(77,-62,980,843),23818=>array(64,-63,968,842),23819=>array(66,-73,934,831),23820=>array(109,-68,956,818),23821=>array(63,-63,945,835),23822=>array(77,-69,938,831),23823=>array(109,-73,962,827),23824=>array(90,-42,961,811),23825=>array(76,-66,954,838),23826=>array(69,-68,945,835),23827=>array(93,-65,909,811),23828=>array(49,-68,949,836),23829=>array(66,-64,953,825),23830=>array(46,-80,938,833),23831=>array(134,-67,879,833),23832=>array(66,-68,960,839),23833=>array(33,-61,979,841),23834=>array(66,-52,968,850),23835=>array(66,-66,932,817),23836=>array(90,-27,911,832),23837=>array(107,-68,957,833),23838=>array(91,-62,935,851),23839=>array(49,-22,962,835),23840=>array(109,-71,976,830),23841=>array(71,-57,920,802),23842=>array(65,-71,956,834),23843=>array(55,-66,970,837),23844=>array(79,-64,927,838),23845=>array(100,-73,948,837),23846=>array(74,-33,950,847),23847=>array(29,-64,933,838),23848=>array(107,-69,974,832),23849=>array(59,-74,894,835),23850=>array(95,-64,951,845),23851=>array(61,-74,911,823),23852=>array(50,-50,960,829),23853=>array(36,-70,914,823),23854=>array(127,-67,886,837),23855=>array(86,-22,964,845),23856=>array(106,-68,930,835),23857=>array(73,-74,897,829),23858=>array(109,-28,954,837),23859=>array(106,-71,967,837),23860=>array(33,-63,956,835),23861=>array(111,-68,955,817),23862=>array(52,-65,953,829),23863=>array(79,-71,953,838),23864=>array(108,-81,963,809),23865=>array(108,-69,933,831),23866=>array(38,-73,956,829),23867=>array(72,-68,949,830),23868=>array(109,-72,961,815),23869=>array(60,-31,955,836),23870=>array(82,-65,945,805),23871=>array(109,-63,962,818),23872=>array(48,-70,955,826),23873=>array(109,-27,953,826),23874=>array(43,-67,954,833),23875=>array(108,-71,951,833),23876=>array(74,-71,961,831),23877=>array(41,-71,953,831),23878=>array(39,-70,960,832),23879=>array(45,-65,972,837),23880=>array(92,-67,958,830),23881=>array(106,-70,944,841),23882=>array(79,-65,960,842),23883=>array(66,-64,905,817),23884=>array(47,-69,971,835),23885=>array(36,-62,954,830),23886=>array(66,-65,915,817),23887=>array(57,-75,945,821),23888=>array(34,-62,970,837),23889=>array(109,-70,919,821),23890=>array(99,-52,895,800),23891=>array(114,-42,910,813),23892=>array(63,-69,943,812),23893=>array(103,-69,967,819),23894=>array(83,-23,967,836),23895=>array(45,-70,939,809),23896=>array(82,-71,955,817),23897=>array(55,-70,956,827),23898=>array(26,-66,960,835),23899=>array(33,-64,979,839),23900=>array(60,-62,928,831),23901=>array(92,-63,944,817),23902=>array(51,-71,967,847),23903=>array(37,-77,939,833),23904=>array(106,-62,995,841),23905=>array(47,-56,969,825),23906=>array(106,-70,958,842),23907=>array(111,-72,951,835),23908=>array(70,-60,919,830),23909=>array(110,-68,963,829),23910=>array(81,-20,933,839),23911=>array(105,-73,911,831),23912=>array(109,-74,940,842),23913=>array(63,-70,937,835),23914=>array(81,-75,939,841),23915=>array(83,-66,938,844),23916=>array(76,-74,951,836),23917=>array(59,-76,953,840),23918=>array(64,-65,973,846),23919=>array(77,-39,945,825),23920=>array(83,-64,967,843),23921=>array(105,-72,967,830),23922=>array(110,-72,979,845),23923=>array(37,-47,956,839),23924=>array(78,-67,960,833),23925=>array(114,-61,947,836),23926=>array(69,-54,929,809),23927=>array(101,-67,974,836),23928=>array(48,-71,966,835),23929=>array(79,-76,959,835),23930=>array(109,-67,960,817),23931=>array(79,-66,968,848),23932=>array(112,-67,959,834),23933=>array(98,-67,957,826),23934=>array(38,-49,974,851),23935=>array(68,-74,965,835),23936=>array(109,-65,953,818),23937=>array(76,-68,934,836),23938=>array(62,-65,930,844),23939=>array(93,-64,962,842),23940=>array(50,-64,955,835),23941=>array(36,-59,957,794),23942=>array(109,-69,955,826),23943=>array(66,-64,933,817),23944=>array(48,-71,962,830),23945=>array(127,-68,964,831),23946=>array(46,-58,948,842),23947=>array(83,-63,924,843),23948=>array(51,-56,890,810),23949=>array(107,-73,900,812),23950=>array(51,-64,948,821),23951=>array(40,-78,954,821),23952=>array(107,-73,949,812),23953=>array(81,-75,951,834),23954=>array(95,-53,908,851),23955=>array(98,-71,972,830),23956=>array(45,-65,978,836),23957=>array(109,-70,970,827),23958=>array(60,-63,991,858),23959=>array(92,-67,935,829),23960=>array(29,-71,910,838),23961=>array(76,-71,937,829),23962=>array(24,-67,985,835),23963=>array(76,-62,959,852),23964=>array(37,-72,964,830),23965=>array(66,-24,954,835),23966=>array(116,-71,933,838),23967=>array(78,-72,955,848),23968=>array(76,-64,956,828),23969=>array(40,-79,971,830),23970=>array(62,-64,943,836),23971=>array(39,-64,938,830),23972=>array(33,-59,962,833),23973=>array(66,-73,970,812),23974=>array(67,-72,945,841),23975=>array(82,-64,935,814),23976=>array(100,-67,915,835),23977=>array(109,-80,973,829),23978=>array(40,-68,964,840),23979=>array(79,-67,948,825),23980=>array(66,-77,965,840),23981=>array(103,-64,947,840),23982=>array(66,-57,950,854),23983=>array(44,-80,965,829),23984=>array(106,-69,961,828),23985=>array(106,-69,954,824),23986=>array(57,-60,929,842),23987=>array(40,-52,968,836),23988=>array(38,-73,977,840),23989=>array(115,-68,961,814),23990=>array(45,-73,967,825),23991=>array(29,-63,951,834),23992=>array(75,-65,947,829),23993=>array(62,-65,960,833),23994=>array(40,-73,961,832),23995=>array(37,-84,964,831),23996=>array(74,-70,958,821),23997=>array(52,-66,965,839),23998=>array(78,-32,953,837),23999=>array(74,-64,943,812),24000=>array(39,-64,964,831),24001=>array(73,-63,962,826),24002=>array(49,-64,936,838),24003=>array(54,-64,975,836),24004=>array(67,-63,962,843),24005=>array(46,-68,931,824),24006=>array(93,-67,940,836),24007=>array(95,-56,959,847),24008=>array(69,-64,919,812),24009=>array(69,-67,966,848),24010=>array(72,-62,958,831),24011=>array(43,-65,938,836),24012=>array(42,-69,968,820),24013=>array(38,-73,957,828),24014=>array(54,-61,976,820),24015=>array(93,-70,953,817),24016=>array(78,-61,975,836),24017=>array(106,-68,976,832),24018=>array(58,-64,961,841),24019=>array(55,-87,941,851),24020=>array(48,-64,962,836),24021=>array(96,-63,945,844),24022=>array(42,-67,973,836),24023=>array(58,-64,963,815),24024=>array(82,-72,956,832),24025=>array(74,-65,964,837),24026=>array(37,-68,957,833),24027=>array(43,-60,914,801),24028=>array(166,-60,793,795),24029=>array(58,-70,858,817),24030=>array(55,-64,859,823),24031=>array(55,-70,941,839),24032=>array(74,-36,945,773),24033=>array(22,-53,943,817),24034=>array(61,-59,961,849),24035=>array(61,-59,961,836),24036=>array(122,-67,935,842),24037=>array(95,54,909,696),24038=>array(55,-14,925,819),24039=>array(59,-57,933,773),24040=>array(169,-60,932,791),24041=>array(44,-64,940,790),24042=>array(88,-54,921,806),24043=>array(69,1,949,753),24044=>array(63,-47,955,814),24045=>array(64,-59,955,847),24046=>array(47,-19,936,840),24047=>array(37,-67,936,841),24048=>array(43,-71,959,845),24049=>array(114,0,897,763),24050=>array(138,-17,934,764),24051=>array(174,-24,942,768),24052=>array(140,-12,942,746),24053=>array(59,-65,938,835),24054=>array(68,-58,945,776),24055=>array(38,-43,971,819),24056=>array(100,-50,972,781),24057=>array(33,-35,989,780),24058=>array(72,-72,941,776),24059=>array(44,-43,955,830),24060=>array(136,-67,962,796),24061=>array(63,-80,937,790),24062=>array(154,-69,846,829),24063=>array(82,-63,936,833),24064=>array(72,-68,928,759),24065=>array(91,-62,873,814),24066=>array(72,-68,928,826),24067=>array(58,-67,920,835),24068=>array(110,-65,941,829),24069=>array(61,-64,886,828),24070=>array(95,-76,948,829),24071=>array(71,-66,929,826),24072=>array(105,-63,917,830),24073=>array(110,-61,972,834),24074=>array(98,-61,942,834),24075=>array(70,-50,936,854),24076=>array(64,-65,941,845),24077=>array(70,-69,889,827),24078=>array(102,-59,949,842),24079=>array(90,-69,906,824),24080=>array(91,-79,951,809),24081=>array(51,-62,948,843),24082=>array(47,-62,928,839),24083=>array(90,-63,948,843),24084=>array(90,-72,940,832),24085=>array(118,-67,886,843),24086=>array(96,-66,943,833),24087=>array(91,-74,956,833),24088=>array(104,-72,903,842),24089=>array(76,-66,955,830),24090=>array(72,-70,892,780),24091=>array(139,-65,874,851),24092=>array(90,-70,948,811),24093=>array(104,-68,896,834),24094=>array(111,-70,941,811),24095=>array(66,-68,935,832),24096=>array(165,-67,849,831),24097=>array(110,-68,952,847),24098=>array(110,-72,955,826),24099=>array(46,-69,960,832),24100=>array(47,-66,879,833),24101=>array(115,-65,910,850),24102=>array(65,-59,913,828),24103=>array(89,-67,940,825),24104=>array(76,-72,958,827),24105=>array(110,-67,920,826),24106=>array(111,-76,959,825),24107=>array(112,-74,948,844),24108=>array(57,-67,945,786),24109=>array(50,-71,944,829),24110=>array(54,-55,925,831),24111=>array(65,-59,913,828),24112=>array(88,-65,929,808),24113=>array(90,-64,922,828),24114=>array(65,-64,937,852),24115=>array(81,-68,962,829),24116=>array(97,-68,943,842),24117=>array(80,-65,948,847),24118=>array(89,-65,933,830),24119=>array(86,-62,932,833),24120=>array(94,-67,918,835),24121=>array(80,-72,925,844),24122=>array(80,-65,952,840),24123=>array(92,-64,929,826),24124=>array(90,-65,890,798),24125=>array(94,-73,916,828),24126=>array(106,-68,941,832),24127=>array(81,-68,975,834),24128=>array(79,-70,946,831),24129=>array(111,-72,961,830),24130=>array(38,-65,979,788),24131=>array(73,-70,938,838),24132=>array(89,-64,935,829),24133=>array(85,-69,924,829),24134=>array(85,-69,948,829),24135=>array(55,-64,948,835),24136=>array(79,-71,960,827),24137=>array(88,-67,958,833),24138=>array(111,-78,962,828),24139=>array(54,-69,970,848),24140=>array(84,-72,941,828),24141=>array(106,-70,927,820),24142=>array(62,-57,950,838),24143=>array(110,-69,977,838),24144=>array(41,-76,957,836),24145=>array(35,-76,964,833),24146=>array(75,-65,969,850),24147=>array(107,-68,972,841),24148=>array(57,-65,953,826),24149=>array(57,-63,954,834),24150=>array(75,-69,957,826),24151=>array(70,-61,923,838),24152=>array(109,-70,964,830),24153=>array(89,-60,948,839),24154=>array(55,-64,942,852),24155=>array(85,-65,935,842),24156=>array(104,-70,963,821),24157=>array(104,-71,965,823),24158=>array(63,-74,937,821),24159=>array(78,-71,948,837),24160=>array(92,-70,965,827),24161=>array(68,-66,934,839),24162=>array(71,-64,931,845),24163=>array(89,-72,962,839),24164=>array(89,-70,945,839),24165=>array(61,-64,958,833),24166=>array(52,-62,959,851),24167=>array(101,-70,989,823),24168=>array(88,-50,935,853),24169=>array(113,-73,970,830),24170=>array(116,-65,981,836),24171=>array(55,-64,948,835),24172=>array(66,-68,938,826),24173=>array(89,-53,955,849),24174=>array(92,-72,946,843),24175=>array(94,-55,926,854),24176=>array(81,-65,952,840),24177=>array(55,-65,922,829),24178=>array(100,-58,900,779),24179=>array(71,-70,920,787),24180=>array(86,-68,917,841),24181=>array(59,-68,954,778),24182=>array(76,-65,929,848),24183=>array(89,-70,898,839),24184=>array(94,-67,909,833),24185=>array(60,-66,970,844),24186=>array(91,-37,914,826),24187=>array(53,-48,902,807),24188=>array(53,-65,906,826),24189=>array(115,-63,885,831),24190=>array(61,-66,958,838),24191=>array(49,-61,908,823),24192=>array(53,-72,939,847),24193=>array(35,-61,930,826),24194=>array(58,-66,950,835),24195=>array(45,-65,935,822),24196=>array(28,-64,942,822),24197=>array(24,-66,918,816),24198=>array(39,-75,941,830),24199=>array(35,-51,964,839),24200=>array(51,-68,954,846),24201=>array(50,-68,951,837),24202=>array(45,-67,964,822),24203=>array(43,-66,980,848),24204=>array(58,-64,945,840),24205=>array(44,-67,936,845),24206=>array(25,-76,936,819),24207=>array(45,-71,918,831),24208=>array(32,-68,914,835),24209=>array(26,-67,924,842),24210=>array(28,-64,942,849),24211=>array(27,-60,925,841),24212=>array(46,-59,928,834),24213=>array(43,-63,952,837),24214=>array(39,-66,943,828),24215=>array(45,-64,948,839),24216=>array(25,-64,908,819),24217=>array(39,-66,913,844),24218=>array(45,-68,963,839),24219=>array(56,-53,956,834),24220=>array(41,-68,937,831),24221=>array(24,-84,936,846),24222=>array(25,-59,928,832),24223=>array(39,-68,947,833),24224=>array(42,-67,951,834),24225=>array(25,-70,938,819),24226=>array(48,-53,954,830),24227=>array(55,-67,954,824),24228=>array(48,-55,956,831),24229=>array(29,-65,966,844),24230=>array(46,-68,950,826),24231=>array(48,-66,928,822),24232=>array(44,-67,930,833),24233=>array(25,-64,959,819),24234=>array(39,-76,958,838),24235=>array(54,-76,941,829),24236=>array(44,-58,956,838),24237=>array(37,-63,968,837),24238=>array(41,-61,932,842),24239=>array(25,-71,908,819),24240=>array(51,-77,954,824),24241=>array(41,-67,959,846),24242=>array(44,-68,954,838),24243=>array(41,-51,955,865),24244=>array(49,-64,942,841),24245=>array(38,-66,965,831),24246=>array(36,-55,945,828),24247=>array(41,-67,966,823),24248=>array(50,-61,954,844),24249=>array(26,-68,968,854),24250=>array(25,-61,930,827),24251=>array(50,-63,940,839),24252=>array(46,-69,944,855),24253=>array(49,-63,945,849),24254=>array(43,-74,967,824),24255=>array(39,-66,913,844),24256=>array(31,-62,961,839),24257=>array(45,-69,948,840),24258=>array(51,-71,942,832),24259=>array(42,-67,965,833),24260=>array(37,-54,968,857),24261=>array(40,-66,954,842),24262=>array(30,-64,961,838),24263=>array(34,-69,948,839),24264=>array(43,-73,952,839),24265=>array(44,-59,970,845),24266=>array(46,-60,949,837),24267=>array(31,-54,967,856),24268=>array(39,-73,951,835),24269=>array(38,-71,947,850),24270=>array(46,-68,968,855),24271=>array(37,-54,968,843),24272=>array(40,-67,956,831),24273=>array(42,-66,951,848),24274=>array(39,-70,966,852),24275=>array(35,-65,942,837),24276=>array(32,-50,959,862),24277=>array(37,-67,985,856),24278=>array(39,-67,958,843),24279=>array(58,-71,957,834),24280=>array(41,-72,951,840),24281=>array(57,-78,965,840),24282=>array(42,-69,949,837),24283=>array(16,-63,951,837),24284=>array(46,-70,956,841),24285=>array(44,-70,947,837),24286=>array(36,-75,974,842),24287=>array(47,-64,947,833),24288=>array(46,-71,938,827),24289=>array(34,-70,964,836),24290=>array(42,-65,965,820),24291=>array(54,-68,950,837),24292=>array(49,-63,968,857),24293=>array(31,-70,971,841),24294=>array(36,-72,953,840),24295=>array(28,-72,942,843),24296=>array(24,-72,940,832),24297=>array(30,-67,964,837),24298=>array(29,-69,920,838),24299=>array(24,-84,958,842),24300=>array(22,-62,961,846),24301=>array(44,-66,932,853),24302=>array(35,-70,956,845),24303=>array(43,-67,959,840),24304=>array(40,-75,967,832),24305=>array(37,-54,949,838),24306=>array(35,-66,947,836),24307=>array(40,-75,957,832),24308=>array(33,-62,949,743),24309=>array(44,-73,953,804),24310=>array(33,-62,949,824),24311=>array(33,-62,949,825),24312=>array(33,-62,949,825),24313=>array(49,-71,973,852),24314=>array(33,-62,949,826),24315=>array(33,-62,949,790),24316=>array(33,-62,949,790),24317=>array(43,-71,972,788),24318=>array(36,-72,930,822),24319=>array(79,-56,932,818),24320=>array(36,-57,906,780),24321=>array(47,-66,954,848),24322=>array(56,-67,953,785),24323=>array(61,-62,928,830),24324=>array(48,-65,934,785),24325=>array(48,-59,961,794),24326=>array(70,-59,944,814),24327=>array(45,-64,972,863),24328=>array(52,-67,943,839),24329=>array(61,-63,936,829),24330=>array(59,-76,955,833),24331=>array(81,-63,933,824),24332=>array(74,-62,944,834),24333=>array(78,-62,948,834),24334=>array(73,-62,944,834),24335=>array(74,-62,944,834),24336=>array(74,-62,944,834),24337=>array(37,-61,949,826),24338=>array(42,-67,962,841),24339=>array(143,-60,857,788),24340=>array(110,-66,896,778),24341=>array(138,-61,844,826),24342=>array(64,-55,930,779),24343=>array(56,-66,904,838),24344=>array(80,-63,945,819),24345=>array(77,-71,956,788),24346=>array(61,-68,954,794),24347=>array(80,-63,957,824),24348=>array(92,-66,893,788),24349=>array(65,-57,953,791),24350=>array(77,-66,977,839),24351=>array(69,-64,902,843),24352=>array(62,-66,943,803),24353=>array(80,-63,951,790),24354=>array(76,-65,981,831),24355=>array(63,-55,949,847),24356=>array(63,-68,954,838),24357=>array(70,-63,955,836),24358=>array(80,-65,961,819),24359=>array(68,-63,958,838),24360=>array(72,-68,909,786),24361=>array(63,-63,952,836),24362=>array(67,-60,920,764),24363=>array(62,-63,953,776),24364=>array(62,-63,953,776),24365=>array(76,-65,941,790),24366=>array(47,-64,956,832),24367=>array(55,-75,946,830),24368=>array(83,-65,912,824),24369=>array(56,-65,917,787),24370=>array(80,-63,911,782),24371=>array(62,-56,936,774),24372=>array(80,-63,944,828),24373=>array(68,-64,962,799),24374=>array(77,-59,971,850),24375=>array(70,-63,955,833),24376=>array(63,-66,901,787),24377=>array(56,-59,918,836),24378=>array(63,-74,940,766),24379=>array(89,-62,927,790),24380=>array(63,-63,939,787),24381=>array(89,-62,968,832),24382=>array(68,-63,952,835),24383=>array(54,-48,976,874),24384=>array(57,-68,975,838),24385=>array(70,-65,944,797),24386=>array(80,-58,890,829),24387=>array(75,-67,961,785),24388=>array(69,-63,951,788),24389=>array(62,-67,964,847),24390=>array(91,-48,944,855),24391=>array(68,-76,926,837),24392=>array(70,-69,948,798),24393=>array(68,-67,962,831),24394=>array(66,-63,946,806),24395=>array(73,-82,969,780),24396=>array(49,-65,951,790),24397=>array(81,-74,959,846),24398=>array(52,-67,955,849),24399=>array(68,-70,967,786),24400=>array(167,-4,786,670),24401=>array(62,-37,941,804),24402=>array(27,-62,861,832),24403=>array(123,-60,878,830),24404=>array(67,-57,941,848),24405=>array(71,-61,965,789),24406=>array(59,-58,964,834),24407=>array(50,-75,951,834),24408=>array(53,-68,958,841),24409=>array(30,-72,965,841),24410=>array(30,-52,965,810),24411=>array(40,-61,956,825),24412=>array(40,-61,962,848),24413=>array(54,-71,956,851),24414=>array(40,-61,956,818),24415=>array(52,-57,978,840),24416=>array(68,-60,978,841),24417=>array(294,-59,800,804),24418=>array(59,-67,955,828),24419=>array(37,-66,949,821),24420=>array(53,-68,951,838),24421=>array(44,-67,926,852),24422=>array(33,-67,921,831),24423=>array(57,-61,956,832),24424=>array(52,-40,964,781),24425=>array(43,-62,958,828),24426=>array(20,-69,956,832),24427=>array(41,-65,963,844),24428=>array(47,-64,952,830),24429=>array(62,-65,957,828),24430=>array(51,-62,949,850),24431=>array(55,-74,961,823),24432=>array(47,-74,955,832),24433=>array(47,-68,961,829),24434=>array(36,-68,961,829),24435=>array(178,-67,756,826),24436=>array(58,-69,920,830),24437=>array(58,-66,945,830),24438=>array(49,-65,968,842),24439=>array(41,-73,942,840),24440=>array(52,-64,959,840),24441=>array(38,-70,963,833),24442=>array(58,-66,936,830),24443=>array(40,-66,911,820),24444=>array(51,-73,961,838),24445=>array(46,-70,962,836),24446=>array(41,-68,957,837),24447=>array(34,-66,915,838),24448=>array(47,-61,937,836),24449=>array(33,-70,954,836),24450=>array(44,-65,952,841),24451=>array(56,-65,952,841),24452=>array(45,-66,968,832),24453=>array(37,-67,947,841),24454=>array(57,-70,942,834),24455=>array(54,-64,923,842),24456=>array(37,-70,950,834),24457=>array(39,-68,948,843),24458=>array(61,-65,914,833),24459=>array(36,-67,954,830),24460=>array(42,-67,953,841),24461=>array(44,-65,931,842),24462=>array(44,-65,938,841),24463=>array(44,-65,945,841),24464=>array(35,-70,963,836),24465=>array(50,-74,956,838),24466=>array(48,-73,961,838),24467=>array(48,-73,961,838),24468=>array(56,-68,955,835),24469=>array(39,-63,941,834),24470=>array(49,-70,957,838),24471=>array(50,-70,947,833),24472=>array(36,-68,955,836),24473=>array(40,-64,970,833),24474=>array(59,-68,964,835),24475=>array(53,-68,956,834),24476=>array(44,-68,933,835),24477=>array(56,-68,930,835),24478=>array(49,-71,966,838),24479=>array(55,-73,900,835),24480=>array(39,-65,972,837),24481=>array(37,-62,917,835),24482=>array(44,-75,963,835),24483=>array(44,-68,953,835),24484=>array(44,-71,964,835),24485=>array(42,-68,963,827),24486=>array(40,-73,967,821),24487=>array(35,-65,910,833),24488=>array(46,-67,953,848),24489=>array(44,-67,970,843),24490=>array(40,-67,941,840),24491=>array(49,-62,954,837),24492=>array(46,-65,953,850),24493=>array(45,-67,956,852),24494=>array(35,-76,964,833),24495=>array(46,-64,973,837),24496=>array(44,-68,945,835),24497=>array(47,-68,954,835),24498=>array(41,-72,962,820),24499=>array(35,-70,958,838),24500=>array(31,-71,973,834),24501=>array(31,-71,973,834),24502=>array(48,-70,973,832),24503=>array(35,-70,960,838),24504=>array(26,-68,957,850),24505=>array(47,-70,951,830),24506=>array(56,-74,947,837),24507=>array(53,-68,972,845),24508=>array(31,-70,966,848),24509=>array(31,-67,961,836),24510=>array(39,-72,974,830),24511=>array(18,-62,965,842),24512=>array(28,-70,976,844),24513=>array(40,-70,967,834),24514=>array(43,-66,957,840),24515=>array(41,-17,958,801),24516=>array(300,-62,695,829),24517=>array(52,-8,960,796),24518=>array(41,-73,935,819),24519=>array(63,-66,874,833),24520=>array(46,-20,954,772),24521=>array(63,-69,903,830),24522=>array(51,-63,933,830),24523=>array(63,-63,957,830),24524=>array(47,-29,946,785),24525=>array(39,-31,961,773),24526=>array(46,-20,954,831),24527=>array(55,-59,950,839),24528=>array(45,-23,963,832),24529=>array(50,-21,968,774),24530=>array(43,-60,962,830),24531=>array(46,-67,963,832),24532=>array(42,-64,948,834),24533=>array(52,-73,958,825),24534=>array(46,-67,954,832),24535=>array(46,-20,954,826),24536=>array(49,-19,951,832),24537=>array(49,-64,935,830),24538=>array(37,-64,945,830),24539=>array(69,-76,948,820),24540=>array(46,-59,961,837),24541=>array(42,-64,956,841),24542=>array(59,-42,945,829),24543=>array(50,-60,977,851),24544=>array(56,-14,976,841),24545=>array(56,-67,912,830),24546=>array(45,-22,967,783),24547=>array(40,-67,971,833),24548=>array(43,-65,956,834),24549=>array(41,-65,962,849),24550=>array(48,-75,982,850),24551=>array(48,-74,928,821),24552=>array(36,-68,949,833),24553=>array(60,-25,978,806),24554=>array(53,-67,962,829),24555=>array(50,-73,964,837),24556=>array(30,-57,941,852),24557=>array(51,-68,964,849),24558=>array(46,-69,979,829),24559=>array(46,-65,958,839),24560=>array(37,-63,954,844),24561=>array(36,-65,956,838),24562=>array(23,-66,944,854),24563=>array(35,-64,953,835),24564=>array(48,-65,975,840),24565=>array(30,-58,963,846),24566=>array(46,-69,958,832),24567=>array(44,-71,907,835),24568=>array(30,-67,953,830),24569=>array(46,-67,948,832),24570=>array(47,-75,963,836),24571=>array(43,-68,945,829),24572=>array(46,-67,957,843),24573=>array(63,-32,953,845),24574=>array(38,-60,954,829),24575=>array(41,-21,951,810),24576=>array(55,-67,959,830),24577=>array(36,-44,937,807),24578=>array(41,-20,943,831),24579=>array(35,-72,929,824),24580=>array(46,-63,924,828),24581=>array(40,-71,942,821),24582=>array(44,-67,936,827),24583=>array(56,-67,946,824),24584=>array(43,-67,954,830),24585=>array(41,-60,947,839),24586=>array(52,-67,900,836),24587=>array(47,-70,954,830),24588=>array(45,-70,951,824),24589=>array(61,-71,971,833),24590=>array(59,-29,954,846),24591=>array(35,-69,968,832),24592=>array(52,-66,908,839),24593=>array(44,-70,937,835),24594=>array(49,-25,959,830),24595=>array(45,-71,959,826),24596=>array(44,-57,953,843),24597=>array(61,-64,922,855),24598=>array(22,-58,929,850),24599=>array(47,-69,957,825),24600=>array(29,-25,970,854),24601=>array(47,-67,950,832),24602=>array(37,-51,951,840),24603=>array(47,-68,953,829),24604=>array(39,-68,962,840),24605=>array(54,-23,935,780),24606=>array(47,-71,899,836),24607=>array(47,-67,953,836),24608=>array(50,-22,968,848),24609=>array(48,-66,947,832),24610=>array(50,-68,967,829),24611=>array(63,-24,965,805),24612=>array(63,-26,965,826),24613=>array(43,-24,947,842),24614=>array(41,-69,956,830),24615=>array(54,-68,951,827),24616=>array(53,-19,964,849),24617=>array(32,-68,955,830),24618=>array(45,-58,976,843),24619=>array(44,-68,933,832),24620=>array(59,-58,903,829),24621=>array(38,-66,957,830),24622=>array(50,-73,915,831),24623=>array(38,-65,951,835),24624=>array(45,-65,961,844),24625=>array(40,-57,969,822),24626=>array(38,-66,948,833),24627=>array(43,-54,969,845),24628=>array(38,-74,942,832),24629=>array(49,-67,959,830),24630=>array(32,-71,978,832),24631=>array(64,-32,957,823),24632=>array(64,-31,957,823),24633=>array(39,-28,954,841),24634=>array(35,-63,964,844),24635=>array(63,-22,938,829),24636=>array(45,-26,934,823),24637=>array(44,-61,971,843),24638=>array(23,-57,933,843),24639=>array(33,-63,946,825),24640=>array(45,-63,941,852),24641=>array(37,-25,945,843),24642=>array(57,-69,914,837),24643=>array(37,-68,947,832),24644=>array(57,-70,922,826),24645=>array(55,-68,941,826),24646=>array(49,-70,955,821),24647=>array(29,-57,963,835),24648=>array(23,-62,929,849),24649=>array(51,-48,938,847),24650=>array(27,-65,924,834),24651=>array(54,-32,945,831),24652=>array(58,-71,954,832),24653=>array(49,-69,963,836),24654=>array(23,-57,950,843),24655=>array(48,-27,949,843),24656=>array(49,-27,947,777),24657=>array(23,-71,956,845),24658=>array(35,-59,955,849),24659=>array(34,-62,938,834),24660=>array(42,-53,957,859),24661=>array(57,-17,967,844),24662=>array(42,-41,960,846),24663=>array(23,-58,966,843),24664=>array(69,-69,967,833),24665=>array(49,-49,954,849),24666=>array(44,-52,954,836),24667=>array(54,-68,893,829),24668=>array(23,-59,964,843),24669=>array(47,-48,950,805),24670=>array(60,-74,948,828),24671=>array(43,-55,924,848),24672=>array(45,-84,963,834),24673=>array(52,-70,937,821),24674=>array(36,-62,959,832),24675=>array(41,-22,946,842),24676=>array(31,-65,964,836),24677=>array(38,-65,970,814),24678=>array(59,-71,894,826),24679=>array(45,-45,982,759),24680=>array(45,-70,957,825),24681=>array(46,-40,965,796),24682=>array(38,-66,966,839),24683=>array(52,-57,923,841),24684=>array(28,-67,944,830),24685=>array(43,-62,968,836),24686=>array(56,-66,958,828),24687=>array(43,-25,949,843),24688=>array(54,-65,982,847),24689=>array(41,-65,961,837),24690=>array(60,-70,956,829),24691=>array(37,-42,924,768),24692=>array(53,-28,946,863),24693=>array(47,-28,942,846),24694=>array(46,-16,935,783),24695=>array(51,-35,942,805),24696=>array(35,-68,892,825),24697=>array(23,-75,941,823),24698=>array(50,-62,928,826),24699=>array(39,-63,878,827),24700=>array(39,-64,937,832),24701=>array(38,-66,915,823),24702=>array(38,-55,933,832),24703=>array(59,-22,976,798),24704=>array(53,-67,900,829),24705=>array(55,-64,900,830),24706=>array(26,-67,927,828),24707=>array(37,-67,907,827),24708=>array(55,-61,934,846),24709=>array(45,-66,968,842),24710=>array(44,-35,967,838),24711=>array(42,-62,968,834),24712=>array(45,-66,949,835),24713=>array(33,-31,959,832),24714=>array(51,-38,958,822),24715=>array(46,-72,954,825),24716=>array(42,-66,937,848),24717=>array(49,-63,955,844),24718=>array(57,-62,939,834),24719=>array(57,-73,964,835),24720=>array(56,-39,962,829),24721=>array(45,-68,941,833),24722=>array(46,-67,958,830),24723=>array(44,-61,944,833),24724=>array(31,-62,955,848),24725=>array(46,-67,951,847),24726=>array(31,-66,949,834),24727=>array(43,-63,960,852),24728=>array(42,-41,960,802),24729=>array(43,-67,951,852),24730=>array(43,-66,971,835),24731=>array(11,-69,953,849),24732=>array(48,-64,960,830),24733=>array(47,-68,961,826),24734=>array(41,-55,968,837),24735=>array(43,-67,945,821),24736=>array(29,-35,957,839),24737=>array(39,-43,953,830),24738=>array(40,-68,960,833),24739=>array(52,-58,958,832),24740=>array(39,-58,958,866),24741=>array(52,-58,958,869),24742=>array(22,-66,960,844),24743=>array(22,-66,918,842),24744=>array(49,-23,963,842),24745=>array(40,-64,900,831),24746=>array(62,-25,962,783),24747=>array(52,-32,939,824),24748=>array(37,-16,933,791),24749=>array(32,-62,945,827),24750=>array(45,-74,947,815),24751=>array(29,-61,885,832),24752=>array(52,-67,972,832),24753=>array(39,-72,948,833),24754=>array(43,-38,953,831),24755=>array(40,-47,945,839),24756=>array(37,-62,952,844),24757=>array(48,-67,976,830),24758=>array(127,-62,886,792),24759=>array(50,-67,960,838),24760=>array(30,-67,974,840),24761=>array(62,-36,957,834),24762=>array(62,-67,924,839),24763=>array(46,-65,960,837),24764=>array(21,-62,944,846),24765=>array(36,-78,948,826),24766=>array(34,-57,953,851),24767=>array(46,-63,979,832),24768=>array(45,-64,974,837),24769=>array(37,-28,970,830),24770=>array(52,-67,912,849),24771=>array(51,-74,949,824),24772=>array(38,-28,955,831),24773=>array(19,-66,939,837),24774=>array(31,-68,891,826),24775=>array(43,-67,971,833),24776=>array(52,-70,968,826),24777=>array(48,-26,965,829),24778=>array(27,-60,974,842),24779=>array(29,-61,959,855),24780=>array(52,-31,955,838),24781=>array(43,-74,965,830),24782=>array(41,-27,964,842),24783=>array(34,-64,988,833),24784=>array(32,-66,918,837),24785=>array(50,-20,958,844),24786=>array(42,-41,960,842),24787=>array(31,-72,989,834),24788=>array(52,-68,964,841),24789=>array(49,-58,914,846),24790=>array(26,-38,971,823),24791=>array(50,-51,972,853),24792=>array(43,-67,911,828),24793=>array(38,-52,962,838),24794=>array(41,-65,965,844),24795=>array(40,-53,956,850),24796=>array(47,-73,956,837),24797=>array(45,-71,914,824),24798=>array(47,-72,961,833),24799=>array(23,-61,946,849),24800=>array(56,-28,953,846),24801=>array(62,-25,962,783),24802=>array(39,-31,977,831),24803=>array(53,-43,940,844),24804=>array(44,-69,957,835),24805=>array(35,-32,983,834),24806=>array(47,-62,958,851),24807=>array(46,-68,964,831),24808=>array(35,-75,982,835),24809=>array(23,-32,932,832),24810=>array(37,-23,955,839),24811=>array(37,-47,962,834),24812=>array(40,-65,929,821),24813=>array(20,-53,910,835),24814=>array(31,-60,954,840),24815=>array(23,-64,925,832),24816=>array(44,-66,953,841),24817=>array(43,-65,929,847),24818=>array(46,-68,962,828),24819=>array(43,-47,956,825),24820=>array(45,-67,956,832),24821=>array(43,-71,952,830),24822=>array(49,-57,956,856),24823=>array(41,-51,968,836),24824=>array(49,-70,959,840),24825=>array(46,-37,962,828),24826=>array(39,-58,958,847),24827=>array(60,-64,921,831),24828=>array(53,-70,925,830),24829=>array(40,-54,963,836),24830=>array(47,-68,969,830),24831=>array(59,-69,981,824),24832=>array(29,-71,977,830),24833=>array(28,-51,960,829),24834=>array(28,-51,955,832),24835=>array(52,-61,956,833),24836=>array(51,-88,969,823),24837=>array(58,-70,953,827),24838=>array(44,-29,957,840),24839=>array(47,-70,944,837),24840=>array(29,-62,965,854),24841=>array(30,-73,981,846),24842=>array(30,-57,935,841),24843=>array(49,-73,972,836),24844=>array(47,-68,972,841),24845=>array(65,-49,963,818),24846=>array(34,-69,980,841),24847=>array(43,-48,959,840),24848=>array(40,-72,947,819),24849=>array(55,-58,914,836),24850=>array(46,-53,916,837),24851=>array(30,-56,952,837),24852=>array(55,-73,954,828),24853=>array(40,-67,963,829),24854=>array(38,-58,952,837),24855=>array(30,-45,954,830),24856=>array(47,-70,974,833),24857=>array(28,-54,990,868),24858=>array(38,-45,954,793),24859=>array(72,-65,948,834),24860=>array(38,-68,958,829),24861=>array(49,-62,945,830),24862=>array(51,-72,957,827),24863=>array(47,-29,951,829),24864=>array(31,-74,948,823),24865=>array(19,-74,961,850),24866=>array(37,-74,961,823),24867=>array(48,-68,950,829),24868=>array(27,-64,930,829),24869=>array(48,-68,988,836),24870=>array(53,-70,937,821),24871=>array(28,-61,952,845),24872=>array(52,-49,960,838),24873=>array(55,-77,958,833),24874=>array(48,-68,941,829),24875=>array(38,-67,980,833),24876=>array(43,-60,961,830),24877=>array(57,-74,936,832),24878=>array(60,-71,955,834),24879=>array(56,-72,968,833),24880=>array(57,-74,941,829),24881=>array(45,-74,963,846),24882=>array(58,-67,914,833),24883=>array(28,-23,955,789),24884=>array(30,-67,982,852),24885=>array(52,-70,917,821),24886=>array(60,-58,932,849),24887=>array(37,-68,951,835),24888=>array(44,-33,957,835),24889=>array(52,-76,962,841),24890=>array(49,-68,950,834),24891=>array(62,-40,970,831),24892=>array(49,-66,927,834),24893=>array(40,-66,951,834),24894=>array(32,-63,974,851),24895=>array(43,-52,963,812),24896=>array(47,-71,974,831),24897=>array(62,-38,967,780),24898=>array(42,-50,957,816),24899=>array(44,-72,955,851),24900=>array(38,-59,976,835),24901=>array(55,-75,971,829),24902=>array(50,-54,926,853),24903=>array(40,-42,974,845),24904=>array(38,-48,951,837),24905=>array(50,-72,951,841),24906=>array(35,-72,975,849),24907=>array(50,-48,954,848),24908=>array(41,-68,962,836),24909=>array(48,-72,965,826),24910=>array(41,-69,951,843),24911=>array(60,-78,952,835),24912=>array(47,-51,963,831),24913=>array(48,-65,952,830),24914=>array(46,-72,953,824),24915=>array(39,-68,984,829),24916=>array(48,-71,973,832),24917=>array(51,-63,964,833),24918=>array(53,-74,919,822),24919=>array(15,-43,954,829),24920=>array(29,-76,967,847),24921=>array(38,-58,953,837),24922=>array(37,-63,965,846),24923=>array(38,-68,952,829),24924=>array(47,-44,964,853),24925=>array(41,-58,963,824),24926=>array(20,-58,953,854),24927=>array(52,-74,934,830),24928=>array(36,-76,960,838),24929=>array(40,-73,960,829),24930=>array(38,-69,970,825),24931=>array(40,-68,967,843),24932=>array(52,-49,968,818),24933=>array(39,-66,945,838),24934=>array(39,-36,981,828),24935=>array(49,-52,951,835),24936=>array(28,-70,963,842),24937=>array(40,-67,971,834),24938=>array(40,-68,959,828),24939=>array(42,-50,958,845),24940=>array(47,-64,953,829),24941=>array(44,-33,970,835),24942=>array(45,-77,957,841),24943=>array(40,-68,963,845),24944=>array(55,-21,959,838),24945=>array(39,-65,952,828),24946=>array(48,-65,956,827),24947=>array(37,-68,954,829),24948=>array(54,-66,915,826),24949=>array(37,-65,959,842),24950=>array(50,-67,951,838),24951=>array(39,-57,955,846),24952=>array(57,-31,959,849),24953=>array(57,-31,959,834),24954=>array(32,-75,952,830),24955=>array(41,-76,981,845),24956=>array(36,-29,965,844),24957=>array(35,-63,963,842),24958=>array(38,-25,973,841),24959=>array(70,-32,957,800),24960=>array(51,-70,979,824),24961=>array(45,-65,964,834),24962=>array(55,-60,966,816),24963=>array(38,-39,982,847),24964=>array(37,-45,958,837),24965=>array(58,-51,979,859),24966=>array(33,-69,945,835),24967=>array(47,-29,961,817),24968=>array(45,-72,962,829),24969=>array(42,-73,971,828),24970=>array(42,-70,957,834),24971=>array(48,-28,965,843),24972=>array(39,-36,963,833),24973=>array(28,-60,975,848),24974=>array(38,-73,905,835),24975=>array(46,-61,972,854),24976=>array(36,-76,962,832),24977=>array(42,-58,960,800),24978=>array(36,-70,966,833),24979=>array(43,-61,971,835),24980=>array(25,-67,963,846),24981=>array(43,-61,963,837),24982=>array(25,-60,970,835),24983=>array(29,-60,952,841),24984=>array(52,-70,956,837),24985=>array(37,-47,961,844),24986=>array(42,-63,965,832),24987=>array(42,-72,961,824),24988=>array(45,-62,965,833),24989=>array(53,-52,976,834),24990=>array(23,-75,954,837),24991=>array(32,-68,967,823),24992=>array(31,-47,961,818),24993=>array(48,-70,979,836),24994=>array(17,-87,964,830),24995=>array(29,-70,962,829),24996=>array(36,-72,956,836),24997=>array(40,-47,961,832),24998=>array(52,-70,946,833),24999=>array(38,-68,950,831),25000=>array(50,-33,959,837),25001=>array(43,-29,958,845),25002=>array(36,-68,908,825),25003=>array(51,-55,902,846),25004=>array(46,-68,963,828),25005=>array(34,-58,971,845),25006=>array(38,-71,974,832),25007=>array(45,-59,961,832),25008=>array(44,-62,944,826),25009=>array(47,-71,972,838),25010=>array(42,-38,976,839),25011=>array(36,-70,954,825),25012=>array(35,-65,973,828),25013=>array(49,-39,948,821),25014=>array(32,-68,965,840),25015=>array(38,-66,960,824),25016=>array(32,-66,976,857),25017=>array(41,-65,984,838),25018=>array(43,-67,957,842),25019=>array(43,-67,957,847),25020=>array(45,-32,957,835),25021=>array(48,-56,968,847),25022=>array(38,-71,970,832),25023=>array(33,-78,968,841),25024=>array(37,-72,973,864),25025=>array(37,-79,974,819),25026=>array(46,-58,967,845),25027=>array(38,-66,959,832),25028=>array(29,-69,952,841),25029=>array(31,-85,978,829),25030=>array(42,-62,976,830),25031=>array(48,-26,955,844),25032=>array(29,-63,950,845),25033=>array(39,-68,953,843),25034=>array(18,-68,949,860),25035=>array(42,-58,959,832),25036=>array(44,-63,964,831),25037=>array(38,-68,971,844),25038=>array(53,-68,950,833),25039=>array(49,-70,932,848),25040=>array(40,-71,965,839),25041=>array(53,-26,941,821),25042=>array(30,-63,943,838),25043=>array(48,-69,975,843),25044=>array(33,-70,947,847),25045=>array(36,-59,959,821),25046=>array(51,-41,944,827),25047=>array(25,-69,956,833),25048=>array(53,-52,953,811),25049=>array(60,-71,942,821),25050=>array(33,-71,953,830),25051=>array(37,-71,953,826),25052=>array(37,-71,963,825),25053=>array(49,-71,974,830),25054=>array(41,-59,971,836),25055=>array(46,-44,966,823),25056=>array(38,-70,964,836),25057=>array(38,-69,962,846),25058=>array(43,-73,964,821),25059=>array(46,-62,966,834),25060=>array(38,-69,957,830),25061=>array(44,-70,976,829),25062=>array(48,-59,964,843),25063=>array(44,-68,962,839),25064=>array(36,-71,975,838),25065=>array(34,-56,967,858),25066=>array(41,-70,980,825),25067=>array(47,-73,957,844),25068=>array(29,-55,952,847),25069=>array(51,-85,939,836),25070=>array(47,-73,955,828),25071=>array(48,-41,980,826),25072=>array(47,-65,905,848),25073=>array(47,-71,960,824),25074=>array(32,-42,963,846),25075=>array(26,-56,988,836),25076=>array(27,-68,962,845),25077=>array(41,-68,954,835),25078=>array(32,-72,970,845),25079=>array(43,-69,962,841),25080=>array(46,-32,965,836),25081=>array(29,-67,984,840),25082=>array(27,-67,963,846),25083=>array(30,-80,966,830),25084=>array(29,-65,957,826),25085=>array(42,-68,953,826),25086=>array(43,-66,963,830),25087=>array(43,-55,963,834),25088=>array(42,-54,961,841),25089=>array(39,-44,967,836),25090=>array(40,-72,960,854),25091=>array(42,-78,962,829),25092=>array(34,-57,971,836),25093=>array(39,-36,957,842),25094=>array(59,-29,941,826),25095=>array(39,-36,957,846),25096=>array(90,-52,956,829),25097=>array(73,-64,966,832),25098=>array(65,-64,951,840),25099=>array(74,-70,930,820),25100=>array(51,-57,951,836),25101=>array(64,-67,953,837),25102=>array(50,-66,952,830),25103=>array(42,-68,934,825),25104=>array(50,-72,946,831),25105=>array(61,-60,933,832),25106=>array(61,-64,955,838),25107=>array(70,-66,956,838),25108=>array(85,-58,935,840),25109=>array(44,-68,961,829),25110=>array(70,-58,956,838),25111=>array(32,-74,938,826),25112=>array(100,-69,937,829),25113=>array(102,-67,957,823),25114=>array(65,-60,962,836),25115=>array(81,-57,949,788),25116=>array(67,-67,953,838),25117=>array(63,-74,946,834),25118=>array(77,-49,935,796),25119=>array(51,-65,946,834),25120=>array(68,-69,968,839),25121=>array(33,-72,939,836),25122=>array(43,-64,954,830),25123=>array(45,-71,964,832),25124=>array(33,-65,958,828),25125=>array(52,-59,956,832),25126=>array(35,-73,947,833),25127=>array(43,-64,970,848),25128=>array(65,-65,956,829),25129=>array(52,-65,956,829),25130=>array(54,-61,959,837),25131=>array(36,-63,964,829),25132=>array(52,-61,947,815),25133=>array(42,-70,958,844),25134=>array(39,-77,962,835),25135=>array(52,-68,956,837),25136=>array(56,-73,947,832),25137=>array(41,-65,949,834),25138=>array(52,-68,958,835),25139=>array(24,-62,946,836),25140=>array(43,-63,938,834),25141=>array(50,-65,958,827),25142=>array(69,-64,882,838),25143=>array(53,-66,849,842),25144=>array(57,-64,918,764),25145=>array(45,-71,939,836),25146=>array(51,-59,963,831),25147=>array(39,-68,947,799),25148=>array(89,-72,914,783),25149=>array(57,-67,954,841),25150=>array(44,-71,941,837),25151=>array(40,-66,938,804),25152=>array(42,-70,959,841),25153=>array(43,-70,908,796),25154=>array(61,-65,906,826),25155=>array(45,-64,898,853),25156=>array(38,-68,899,843),25157=>array(38,-68,901,847),25158=>array(38,-68,983,850),25159=>array(35,-67,896,811),25160=>array(28,-68,961,802),25161=>array(28,-77,947,810),25162=>array(52,-72,962,836),25163=>array(85,-68,913,833),25164=>array(266,-62,684,829),25165=>array(64,-62,916,835),25166=>array(53,-61,943,828),25167=>array(56,-61,960,828),25168=>array(66,-71,909,829),25169=>array(53,-48,964,849),25170=>array(45,-65,955,830),25171=>array(54,-62,934,830),25172=>array(66,-67,919,829),25173=>array(43,-61,953,828),25174=>array(80,-61,957,828),25175=>array(53,-61,945,829),25176=>array(55,-69,930,826),25177=>array(61,-69,968,830),25178=>array(58,-67,918,831),25179=>array(44,-64,934,829),25180=>array(59,-65,958,830),25181=>array(39,-61,944,828),25182=>array(48,-53,951,841),25183=>array(39,-65,958,828),25184=>array(38,-56,959,837),25185=>array(48,-57,958,836),25186=>array(47,-63,950,836),25187=>array(71,-68,893,830),25188=>array(53,-68,947,832),25189=>array(53,-66,960,827),25190=>array(46,-64,947,832),25191=>array(25,-67,945,825),25192=>array(42,-61,964,826),25193=>array(42,-63,922,826),25194=>array(29,-65,882,826),25195=>array(44,-62,885,830),25196=>array(55,-65,889,831),25197=>array(39,-53,947,841),25198=>array(49,-64,963,820),25199=>array(52,-57,945,830),25200=>array(50,-66,958,832),25201=>array(41,-51,962,840),25202=>array(59,-68,973,839),25203=>array(45,-78,963,826),25204=>array(68,-66,964,832),25205=>array(42,-55,975,845),25206=>array(50,-72,962,833),25207=>array(50,-67,968,832),25208=>array(78,-58,907,839),25209=>array(45,-72,961,823),25210=>array(42,-55,963,853),25211=>array(48,-69,963,840),25212=>array(50,-69,950,829),25213=>array(50,-67,960,828),25214=>array(63,-68,950,825),25215=>array(33,-67,965,785),25216=>array(37,-74,952,824),25217=>array(50,-64,949,844),25218=>array(63,-55,948,839),25219=>array(62,-59,958,831),25220=>array(39,-63,960,829),25221=>array(31,-55,921,840),25222=>array(37,-57,974,851),25223=>array(57,-63,897,832),25224=>array(56,-66,903,829),25225=>array(53,-64,961,837),25226=>array(40,-62,941,833),25227=>array(42,-55,967,839),25228=>array(61,-58,962,838),25229=>array(42,-65,969,839),25230=>array(51,-71,954,826),25231=>array(56,-70,957,826),25232=>array(58,-66,895,835),25233=>array(47,-69,905,834),25234=>array(57,-58,941,833),25235=>array(40,-69,959,829),25236=>array(57,-52,969,839),25237=>array(56,-66,963,821),25238=>array(52,-64,947,828),25239=>array(46,-63,959,829),25240=>array(61,-68,938,834),25241=>array(48,-67,939,839),25242=>array(31,-60,935,829),25243=>array(28,-78,930,821),25244=>array(51,-77,950,835),25245=>array(55,-55,907,853),25246=>array(42,-56,958,839),25247=>array(37,-66,914,823),25248=>array(36,-54,912,832),25249=>array(36,-56,948,832),25250=>array(38,-71,950,828),25251=>array(46,-63,920,830),25252=>array(27,-66,872,828),25253=>array(49,-69,946,820),25254=>array(54,-52,950,838),25255=>array(93,-57,957,833),25256=>array(41,-65,943,827),25257=>array(50,-66,953,828),25258=>array(39,-65,941,838),25259=>array(45,-71,978,832),25260=>array(44,-70,953,839),25261=>array(44,-60,954,830),25262=>array(51,-62,952,845),25263=>array(45,-62,951,827),25264=>array(44,-69,956,833),25265=>array(50,-61,955,840),25266=>array(56,-70,953,821),25267=>array(50,-74,955,828),25268=>array(49,-67,951,828),25269=>array(43,-64,957,831),25270=>array(50,-70,965,827),25271=>array(45,-56,951,823),25272=>array(58,-67,969,831),25273=>array(61,-67,962,835),25274=>array(61,-65,942,832),25275=>array(43,-68,905,836),25276=>array(73,-66,908,828),25277=>array(62,-67,899,836),25278=>array(52,-60,960,839),25279=>array(48,-64,956,828),25280=>array(61,-64,972,832),25281=>array(61,-64,928,832),25282=>array(53,-69,931,816),25283=>array(57,-62,944,841),25284=>array(48,-68,951,836),25285=>array(44,-60,953,836),25286=>array(53,-62,935,838),25287=>array(37,-68,953,825),25288=>array(50,-67,947,829),25289=>array(49,-64,947,829),25290=>array(52,-62,959,841),25291=>array(44,-73,948,825),25292=>array(48,-64,942,828),25293=>array(73,-64,904,851),25294=>array(42,-68,970,851),25295=>array(60,-58,974,851),25296=>array(49,-64,910,826),25297=>array(63,-67,959,826),25298=>array(39,-68,944,832),25299=>array(53,-63,936,826),25300=>array(40,-77,954,835),25301=>array(74,-64,944,831),25302=>array(43,-62,954,839),25303=>array(61,-73,920,832),25304=>array(65,-61,909,849),25305=>array(60,-63,912,832),25306=>array(52,-75,950,845),25307=>array(69,-67,913,820),25308=>array(47,-79,956,829),25309=>array(44,-66,946,835),25310=>array(70,-64,943,832),25311=>array(41,-61,937,830),25312=>array(55,-61,956,832),25313=>array(36,-66,949,832),25314=>array(31,-52,961,837),25315=>array(29,-61,932,835),25316=>array(57,-68,938,832),25317=>array(40,-72,893,824),25318=>array(38,-55,923,830),25319=>array(40,-61,918,836),25320=>array(38,-74,925,820),25321=>array(30,-64,942,826),25322=>array(61,-63,935,832),25323=>array(54,-66,967,829),25324=>array(39,-70,952,835),25325=>array(43,-70,964,827),25326=>array(45,-67,957,828),25327=>array(37,-71,964,823),25328=>array(58,-72,951,823),25329=>array(35,-69,953,826),25330=>array(36,-65,977,828),25331=>array(38,-67,965,838),25332=>array(33,-64,960,829),25333=>array(60,-68,959,830),25334=>array(46,-64,945,839),25335=>array(41,-65,952,833),25336=>array(60,-75,940,833),25337=>array(54,-71,928,826),25338=>array(55,-65,953,832),25339=>array(56,-80,958,822),25340=>array(48,-70,949,839),25341=>array(44,-64,961,836),25342=>array(45,-63,961,848),25343=>array(38,-70,969,862),25344=>array(62,-81,950,819),25345=>array(39,-64,944,834),25346=>array(36,-49,951,844),25347=>array(56,-52,951,830),25348=>array(60,-66,942,844),25349=>array(60,-62,952,832),25350=>array(78,-62,976,844),25351=>array(52,-68,937,829),25352=>array(54,-62,951,835),25353=>array(57,-67,948,832),25354=>array(41,-66,946,844),25355=>array(57,-50,953,827),25356=>array(49,-65,987,846),25357=>array(46,-51,974,859),25358=>array(48,-65,963,839),25359=>array(60,-74,911,815),25360=>array(63,-51,959,855),25361=>array(47,-75,950,825),25362=>array(60,-78,927,823),25363=>array(44,-64,959,834),25364=>array(52,-64,964,829),25365=>array(66,-70,957,817),25366=>array(38,-65,943,846),25367=>array(60,-62,963,844),25368=>array(49,-67,950,835),25369=>array(19,-68,951,835),25370=>array(54,-68,942,824),25371=>array(42,-60,920,845),25372=>array(60,-50,954,844),25373=>array(25,-62,945,831),25374=>array(34,-60,942,830),25375=>array(26,-64,948,832),25376=>array(42,-64,930,825),25377=>array(35,-62,883,826),25378=>array(36,-64,948,826),25379=>array(36,-66,923,832),25380=>array(37,-61,938,834),25381=>array(33,-59,911,832),25382=>array(61,-61,936,832),25383=>array(60,-53,909,844),25384=>array(42,-69,965,834),25385=>array(46,-66,956,829),25386=>array(47,-73,950,822),25387=>array(51,-71,948,829),25388=>array(56,-59,953,835),25389=>array(53,-60,969,836),25390=>array(60,-67,926,844),25391=>array(45,-74,963,821),25392=>array(60,-49,950,838),25393=>array(60,-60,969,832),25394=>array(56,-63,952,839),25395=>array(53,-66,949,827),25396=>array(40,-64,947,828),25397=>array(38,-51,951,841),25398=>array(36,-56,916,841),25399=>array(39,-68,950,836),25400=>array(56,-72,947,829),25401=>array(36,-68,956,823),25402=>array(44,-66,964,824),25403=>array(52,-73,956,826),25404=>array(41,-56,944,858),25405=>array(44,-69,965,840),25406=>array(47,-70,964,835),25407=>array(60,-52,939,844),25408=>array(60,-64,969,831),25409=>array(50,-68,932,828),25410=>array(43,-72,952,823),25411=>array(51,-65,966,833),25412=>array(59,-65,952,832),25413=>array(62,-70,915,825),25414=>array(53,-69,915,826),25415=>array(56,-69,958,829),25416=>array(43,-59,965,832),25417=>array(35,-72,953,821),25418=>array(53,-63,953,832),25419=>array(48,-67,952,826),25420=>array(45,-71,909,825),25421=>array(38,-68,951,826),25422=>array(52,-65,919,835),25423=>array(56,-67,956,828),25424=>array(55,-67,903,823),25425=>array(56,-73,958,831),25426=>array(67,-65,955,835),25427=>array(64,-67,958,829),25428=>array(76,-65,912,829),25429=>array(39,-69,950,832),25430=>array(46,-69,950,834),25431=>array(58,-64,966,827),25432=>array(65,-65,979,836),25433=>array(59,-65,954,829),25434=>array(67,-63,956,829),25435=>array(67,-63,915,829),25436=>array(44,-78,963,829),25437=>array(67,-61,968,829),25438=>array(44,-63,914,832),25439=>array(32,-64,937,827),25440=>array(50,-64,931,829),25441=>array(31,-63,931,830),25442=>array(25,-73,948,825),25443=>array(49,-62,900,836),25444=>array(66,-67,951,824),25445=>array(58,-70,961,852),25446=>array(73,-52,966,835),25447=>array(36,-74,967,834),25448=>array(43,-68,969,845),25449=>array(27,-66,959,826),25450=>array(67,-65,960,833),25451=>array(54,-63,904,832),25452=>array(37,-60,949,849),25453=>array(37,-65,947,846),25454=>array(37,-54,943,838),25455=>array(56,-64,914,830),25456=>array(50,-64,974,832),25457=>array(50,-71,967,842),25458=>array(36,-56,967,835),25459=>array(53,-58,951,833),25460=>array(67,-61,962,829),25461=>array(41,-54,950,843),25462=>array(30,-71,933,833),25463=>array(40,-75,963,833),25464=>array(54,-69,959,824),25465=>array(67,-72,957,829),25466=>array(23,-61,963,847),25467=>array(27,-64,961,853),25468=>array(53,-59,967,840),25469=>array(51,-51,953,854),25470=>array(67,-64,939,845),25471=>array(67,-63,938,835),25472=>array(45,-72,961,833),25473=>array(53,-71,968,832),25474=>array(56,-74,938,840),25475=>array(44,-65,922,829),25476=>array(38,-65,974,853),25477=>array(46,-65,959,836),25478=>array(67,-65,906,829),25479=>array(41,-67,975,827),25480=>array(52,-69,964,832),25481=>array(46,-71,944,825),25482=>array(48,-65,959,845),25483=>array(67,-69,966,839),25484=>array(79,-61,932,835),25485=>array(51,-69,960,827),25486=>array(45,-63,966,842),25487=>array(62,-69,921,841),25488=>array(61,-65,908,842),25489=>array(50,-73,953,835),25490=>array(41,-69,951,831),25491=>array(41,-71,958,832),25492=>array(73,-69,951,788),25493=>array(40,-72,971,820),25494=>array(40,-74,963,820),25495=>array(38,-65,965,842),25496=>array(49,-76,911,829),25497=>array(40,-66,952,828),25498=>array(40,-69,942,820),25499=>array(38,-65,968,829),25500=>array(48,-70,957,832),25501=>array(53,-70,951,827),25502=>array(45,-52,971,852),25503=>array(34,-60,966,837),25504=>array(41,-71,955,826),25505=>array(39,-58,975,848),25506=>array(39,-69,966,824),25507=>array(45,-71,942,827),25508=>array(49,-69,898,829),25509=>array(43,-71,950,828),25510=>array(40,-69,911,820),25511=>array(36,-65,945,828),25512=>array(52,-68,955,836),25513=>array(41,-68,966,839),25514=>array(49,-72,948,824),25515=>array(41,-51,968,841),25516=>array(50,-62,914,844),25517=>array(46,-59,988,832),25518=>array(55,-68,951,836),25519=>array(38,-67,951,832),25520=>array(54,-52,954,826),25521=>array(83,-67,944,831),25522=>array(73,-71,924,818),25523=>array(31,-65,909,832),25524=>array(37,-60,904,830),25525=>array(40,-72,977,828),25526=>array(40,-71,956,856),25527=>array(22,-70,923,824),25528=>array(41,-63,917,837),25529=>array(65,-59,954,825),25530=>array(54,-62,942,835),25531=>array(28,-65,973,826),25532=>array(30,-64,921,829),25533=>array(42,-60,947,854),25534=>array(49,-63,975,839),25535=>array(40,-72,948,836),25536=>array(37,-65,965,835),25537=>array(59,-74,962,821),25538=>array(61,-68,955,839),25539=>array(43,-68,950,837),25540=>array(39,-64,973,831),25541=>array(40,-69,941,785),25542=>array(46,-67,954,835),25543=>array(50,-67,947,829),25544=>array(53,-72,899,823),25545=>array(46,-69,964,826),25546=>array(55,-70,952,828),25547=>array(50,-74,972,828),25548=>array(57,-70,971,821),25549=>array(36,-66,968,845),25550=>array(47,-59,965,851),25551=>array(53,-69,955,828),25552=>array(48,-72,969,826),25553=>array(55,-72,954,820),25554=>array(48,-71,940,836),25555=>array(57,-68,962,828),25556=>array(33,-50,972,850),25557=>array(54,-64,949,828),25558=>array(37,-67,948,829),25559=>array(51,-72,957,832),25560=>array(53,-71,951,838),25561=>array(62,-69,920,832),25562=>array(46,-77,944,820),25563=>array(40,-65,971,838),25564=>array(36,-60,975,862),25565=>array(53,-69,977,829),25566=>array(35,-72,912,831),25567=>array(57,-74,964,823),25568=>array(41,-63,953,829),25569=>array(54,-62,943,830),25570=>array(40,-72,960,849),25571=>array(37,-63,954,836),25572=>array(57,-64,901,830),25573=>array(55,-67,943,838),25574=>array(44,-67,903,831),25575=>array(43,-68,949,831),25576=>array(49,-69,941,833),25577=>array(50,-68,949,830),25578=>array(34,-66,964,829),25579=>array(66,-51,969,851),25580=>array(40,-69,960,836),25581=>array(73,-71,924,818),25582=>array(56,-68,945,825),25583=>array(56,-68,956,825),25584=>array(53,-62,954,830),25585=>array(67,-70,941,833),25586=>array(38,-53,971,843),25587=>array(53,-73,961,827),25588=>array(61,-69,969,830),25589=>array(38,-66,959,823),25590=>array(34,-64,945,829),25591=>array(48,-70,940,826),25592=>array(28,-57,971,836),25593=>array(48,-63,953,827),25594=>array(39,-76,937,819),25595=>array(35,-66,971,829),25596=>array(49,-61,974,833),25597=>array(32,-60,930,833),25598=>array(40,-72,967,820),25599=>array(35,-68,938,825),25600=>array(43,-63,939,829),25601=>array(42,-73,897,824),25602=>array(35,-53,943,837),25603=>array(95,-59,950,822),25604=>array(50,-59,960,849),25605=>array(34,-63,926,837),25606=>array(39,-68,958,836),25607=>array(45,-64,971,842),25608=>array(52,-72,962,837),25609=>array(39,-58,957,851),25610=>array(53,-62,909,836),25611=>array(53,-75,968,828),25612=>array(53,-75,968,827),25613=>array(51,-70,956,822),25614=>array(61,-68,961,828),25615=>array(50,-66,945,832),25616=>array(50,-75,950,843),25617=>array(43,-67,954,829),25618=>array(53,-57,962,853),25619=>array(27,-66,933,843),25620=>array(28,-65,950,826),25621=>array(51,-61,954,826),25622=>array(42,-64,945,845),25623=>array(66,-60,921,844),25624=>array(47,-50,955,847),25625=>array(43,-64,953,829),25626=>array(55,-64,934,838),25627=>array(49,-70,953,838),25628=>array(44,-78,963,832),25629=>array(67,-67,971,843),25630=>array(60,-67,940,842),25631=>array(48,-72,952,823),25632=>array(56,-70,915,835),25633=>array(35,-67,964,829),25634=>array(43,-65,958,833),25635=>array(44,-72,968,831),25636=>array(41,-50,954,859),25637=>array(44,-55,967,857),25638=>array(52,-64,917,828),25639=>array(56,-71,923,838),25640=>array(59,-64,918,827),25641=>array(43,-65,969,838),25642=>array(46,-70,948,843),25643=>array(50,-64,957,842),25644=>array(38,-71,976,838),25645=>array(40,-71,966,830),25646=>array(56,-70,975,826),25647=>array(43,-70,920,838),25648=>array(56,-68,916,827),25649=>array(67,-71,928,829),25650=>array(38,-66,960,844),25651=>array(47,-70,948,836),25652=>array(36,-59,981,845),25653=>array(49,-67,965,826),25654=>array(37,-66,970,849),25655=>array(58,-72,961,836),25656=>array(43,-68,973,839),25657=>array(55,-65,952,825),25658=>array(39,-77,947,839),25659=>array(38,-64,969,862),25660=>array(43,-69,970,839),25661=>array(40,-65,965,830),25662=>array(42,-61,952,837),25663=>array(52,-57,955,822),25664=>array(56,-69,945,842),25665=>array(65,-62,955,826),25666=>array(47,-58,951,835),25667=>array(35,-55,954,837),25668=>array(47,-60,960,835),25669=>array(38,-63,967,830),25670=>array(31,-63,934,834),25671=>array(28,-76,914,819),25672=>array(43,-64,932,844),25673=>array(52,-64,975,841),25674=>array(38,-66,922,830),25675=>array(45,-73,967,835),25676=>array(55,-71,942,847),25677=>array(58,-71,950,832),25678=>array(55,-70,968,826),25679=>array(52,-64,976,835),25680=>array(50,-66,974,832),25681=>array(56,-68,927,827),25682=>array(43,-69,955,830),25683=>array(51,-66,965,829),25684=>array(40,-66,958,846),25685=>array(43,-68,960,829),25686=>array(43,-63,968,841),25687=>array(33,-69,978,837),25688=>array(45,-73,948,825),25689=>array(55,-71,974,827),25690=>array(49,-59,945,833),25691=>array(44,-51,945,855),25692=>array(35,-73,955,827),25693=>array(53,-70,956,838),25694=>array(56,-68,953,826),25695=>array(41,-75,942,831),25696=>array(53,-67,964,831),25697=>array(47,-70,965,830),25698=>array(53,-70,938,836),25699=>array(43,-64,953,841),25700=>array(37,-59,946,839),25701=>array(52,-68,949,835),25702=>array(47,-76,978,832),25703=>array(41,-68,953,833),25704=>array(39,-72,954,827),25705=>array(37,-63,940,838),25706=>array(43,-66,984,843),25707=>array(51,-66,958,830),25708=>array(57,-72,961,837),25709=>array(42,-67,962,851),25710=>array(54,-70,971,839),25711=>array(56,-67,952,833),25712=>array(50,-70,974,832),25713=>array(53,-68,975,822),25714=>array(51,-67,955,828),25715=>array(37,-67,951,824),25716=>array(30,-56,948,836),25717=>array(50,-70,959,828),25718=>array(38,-63,959,839),25719=>array(52,-67,970,838),25720=>array(45,-72,971,823),25721=>array(53,-65,965,835),25722=>array(53,-64,910,830),25723=>array(34,-78,966,849),25724=>array(51,-66,956,826),25725=>array(31,-54,948,839),25726=>array(40,-64,959,828),25727=>array(55,-70,964,843),25728=>array(60,-54,946,833),25729=>array(43,-68,957,847),25730=>array(42,-67,975,829),25731=>array(73,-64,955,835),25732=>array(36,-65,923,823),25733=>array(31,-68,971,829),25734=>array(73,-66,953,831),25735=>array(46,-69,971,837),25736=>array(54,-68,942,833),25737=>array(58,-68,971,844),25738=>array(42,-69,911,825),25739=>array(39,-71,905,822),25740=>array(42,-85,953,826),25741=>array(44,-67,957,828),25742=>array(55,-64,955,828),25743=>array(38,-70,962,826),25744=>array(67,-73,954,820),25745=>array(31,-77,941,822),25746=>array(41,-69,963,832),25747=>array(55,-69,953,827),25748=>array(42,-66,955,826),25749=>array(37,-67,942,834),25750=>array(39,-77,982,831),25751=>array(40,-81,962,823),25752=>array(41,-52,962,857),25753=>array(45,-62,963,853),25754=>array(37,-60,970,849),25755=>array(41,-74,954,832),25756=>array(43,-68,983,832),25757=>array(45,-56,943,846),25758=>array(33,-71,948,829),25759=>array(51,-67,976,838),25760=>array(35,-73,972,823),25761=>array(22,-64,978,845),25762=>array(50,-63,949,828),25763=>array(41,-68,956,828),25764=>array(39,-68,961,835),25765=>array(40,-71,959,843),25766=>array(55,-70,980,833),25767=>array(34,-64,973,844),25768=>array(55,-71,969,849),25769=>array(37,-61,968,843),25770=>array(39,-64,973,855),25771=>array(46,-63,954,837),25772=>array(41,-63,958,837),25773=>array(29,-69,971,829),25774=>array(32,-65,948,832),25775=>array(55,-64,965,847),25776=>array(36,-69,955,823),25777=>array(40,-71,949,840),25778=>array(37,-69,975,835),25779=>array(40,-70,973,839),25780=>array(12,-73,975,838),25781=>array(25,-61,936,828),25782=>array(33,-68,945,831),25783=>array(40,-65,943,827),25784=>array(41,-66,915,827),25785=>array(35,-64,965,828),25786=>array(33,-62,912,846),25787=>array(40,-78,955,833),25788=>array(47,-68,960,833),25789=>array(36,-79,974,842),25790=>array(38,-68,966,829),25791=>array(34,-69,961,861),25792=>array(45,-66,964,829),25793=>array(32,-70,958,835),25794=>array(54,-69,924,823),25795=>array(27,-76,966,832),25796=>array(43,-67,954,835),25797=>array(45,-67,957,837),25798=>array(31,-64,963,833),25799=>array(49,-67,935,821),25800=>array(39,-66,972,833),25801=>array(41,-69,924,829),25802=>array(73,-65,956,835),25803=>array(52,-66,918,832),25804=>array(75,-38,967,854),25805=>array(39,-62,954,823),25806=>array(47,-73,951,845),25807=>array(33,-78,971,830),25808=>array(42,-68,958,828),25809=>array(43,-78,970,843),25810=>array(29,-68,963,842),25811=>array(39,-53,949,839),25812=>array(48,-74,950,846),25813=>array(55,-65,960,834),25814=>array(48,-71,939,829),25815=>array(49,-64,965,849),25816=>array(54,-64,949,832),25817=>array(34,-79,975,840),25818=>array(41,-70,964,831),25819=>array(40,-73,985,819),25820=>array(47,-70,984,848),25821=>array(45,-66,979,826),25822=>array(30,-64,958,832),25823=>array(53,-70,958,841),25824=>array(53,-77,953,830),25825=>array(44,-63,961,830),25826=>array(36,-65,952,830),25827=>array(57,-65,954,827),25828=>array(61,-67,962,856),25829=>array(84,-51,955,840),25830=>array(46,-70,966,826),25831=>array(55,-59,965,832),25832=>array(42,-74,967,831),25833=>array(48,-68,953,827),25834=>array(47,-69,954,837),25835=>array(39,-76,969,824),25836=>array(42,-63,956,832),25837=>array(45,-49,966,844),25838=>array(44,-58,958,843),25839=>array(34,-71,960,842),25840=>array(49,-67,952,844),25841=>array(58,-71,913,827),25842=>array(36,-75,949,832),25843=>array(33,-67,939,835),25844=>array(43,-68,960,841),25845=>array(51,-62,962,840),25846=>array(42,-64,955,841),25847=>array(41,-70,972,840),25848=>array(41,-50,970,861),25849=>array(40,-68,977,837),25850=>array(43,-69,952,818),25851=>array(31,-67,963,837),25852=>array(51,-71,961,827),25853=>array(54,-70,952,831),25854=>array(41,-64,963,829),25855=>array(63,-64,986,843),25856=>array(49,-65,960,832),25857=>array(42,-78,975,844),25858=>array(42,-77,948,823),25859=>array(42,-73,973,825),25860=>array(44,-67,965,836),25861=>array(46,-77,960,828),25862=>array(40,-70,954,835),25863=>array(39,-65,960,843),25864=>array(31,-83,974,839),25865=>array(43,-64,967,833),25866=>array(35,-72,964,827),25867=>array(27,-72,970,844),25868=>array(61,-70,923,826),25869=>array(36,-73,976,842),25870=>array(39,-69,954,827),25871=>array(40,-62,954,842),25872=>array(46,-67,982,842),25873=>array(41,-71,986,835),25874=>array(23,-71,933,827),25875=>array(27,-65,980,845),25876=>array(56,-76,912,822),25877=>array(29,-66,972,841),25878=>array(50,-71,953,835),25879=>array(46,-68,966,846),25880=>array(39,-69,970,829),25881=>array(44,-74,964,838),25882=>array(35,-68,959,828),25883=>array(38,-64,969,841),25884=>array(42,-74,944,832),25885=>array(36,-68,955,821),25886=>array(52,-64,962,831),25887=>array(32,-70,974,853),25888=>array(48,-72,954,841),25889=>array(49,-64,962,840),25890=>array(41,-65,968,831),25891=>array(48,-61,957,840),25892=>array(55,-72,951,832),25893=>array(33,-63,970,844),25894=>array(63,-66,961,824),25895=>array(29,-72,959,835),25896=>array(35,-73,973,844),25897=>array(38,-57,956,840),25898=>array(41,-62,959,839),25899=>array(36,-64,970,826),25900=>array(39,-72,956,832),25901=>array(26,-71,967,840),25902=>array(48,-65,975,839),25903=>array(78,-65,945,830),25904=>array(41,-55,968,846),25905=>array(58,-80,972,834),25906=>array(63,-73,973,830),25907=>array(41,-71,981,824),25908=>array(34,-76,942,825),25909=>array(68,-72,932,818),25910=>array(67,-70,951,830),25911=>array(71,-67,979,840),25912=>array(48,-67,949,830),25913=>array(103,-65,946,825),25914=>array(86,-75,969,821),25915=>array(64,-68,957,838),25916=>array(62,-67,967,841),25917=>array(46,-71,963,832),25918=>array(46,-65,956,842),25919=>array(38,-74,956,838),25920=>array(114,-77,970,838),25921=>array(129,-82,955,828),25922=>array(24,-61,976,834),25923=>array(87,-80,962,823),25924=>array(29,-71,970,833),25925=>array(54,-67,958,833),25926=>array(52,-68,969,835),25927=>array(28,-65,972,834),25928=>array(60,-64,956,834),25929=>array(42,-67,975,838),25930=>array(46,-62,970,835),25931=>array(37,-68,959,840),25932=>array(27,-64,947,833),25933=>array(47,-70,960,843),25934=>array(38,-69,971,837),25935=>array(57,-63,971,839),25936=>array(33,-67,971,825),25937=>array(39,-68,955,843),25938=>array(32,-67,963,834),25939=>array(38,-69,969,829),25940=>array(54,-54,973,855),25941=>array(43,-70,970,836),25942=>array(48,-74,946,830),25943=>array(63,-74,963,836),25944=>array(48,-61,967,843),25945=>array(30,-60,950,831),25946=>array(30,-70,972,839),25947=>array(23,-60,932,847),25948=>array(37,-74,971,835),25949=>array(99,-69,967,835),25950=>array(81,-70,966,836),25951=>array(46,-73,957,836),25952=>array(44,-84,965,820),25953=>array(43,-77,971,823),25954=>array(39,-61,960,826),25955=>array(65,-72,956,834),25956=>array(42,-74,968,823),25957=>array(44,-80,966,829),25958=>array(42,-67,961,839),25959=>array(45,-59,962,839),25960=>array(66,-71,969,840),25961=>array(52,-69,969,842),25962=>array(44,-76,965,821),25963=>array(35,-61,944,823),25964=>array(44,-70,969,836),25965=>array(42,-71,969,836),25966=>array(36,-74,970,837),25967=>array(99,-75,967,823),25968=>array(42,-69,959,821),25969=>array(45,-63,967,835),25970=>array(55,-71,957,838),25971=>array(47,-75,969,833),25972=>array(51,-18,946,840),25973=>array(60,-69,967,834),25974=>array(104,-76,985,828),25975=>array(41,-65,969,839),25976=>array(60,-70,959,833),25977=>array(58,-76,984,831),25978=>array(60,-71,959,832),25979=>array(36,-65,970,846),25980=>array(60,-73,973,827),25981=>array(36,-68,974,843),25982=>array(64,-77,978,849),25983=>array(44,-77,978,827),25984=>array(35,-72,970,824),25985=>array(63,-69,977,842),25986=>array(45,-66,970,859),25987=>array(51,-68,955,830),25988=>array(38,-65,972,832),25989=>array(52,-72,967,838),25990=>array(52,-69,969,839),25991=>array(62,-69,947,822),25992=>array(49,-73,951,815),25993=>array(49,-63,951,828),25994=>array(36,-72,959,843),25995=>array(47,-68,921,840),25996=>array(36,-63,963,833),25997=>array(26,-65,974,840),25998=>array(29,-64,974,828),25999=>array(47,-66,971,846),26000=>array(36,-63,964,831),26001=>array(35,-68,956,829),26002=>array(44,-71,936,829),26003=>array(43,-70,888,807),26004=>array(60,-75,983,833),26005=>array(53,-65,927,826),26006=>array(49,-42,951,835),26007=>array(62,-64,946,832),26008=>array(54,-65,950,844),26009=>array(38,-68,956,836),26010=>array(67,-65,948,829),26011=>array(27,-72,946,826),26012=>array(32,-71,945,838),26013=>array(67,-65,946,789),26014=>array(46,-73,954,827),26015=>array(42,-79,944,820),26016=>array(51,-70,954,836),26017=>array(46,-77,960,854),26018=>array(60,-76,954,823),26019=>array(33,-76,948,818),26020=>array(75,-71,902,832),26021=>array(81,-69,895,834),26022=>array(48,-69,959,824),26023=>array(77,-64,941,836),26024=>array(50,-69,941,828),26025=>array(66,-75,925,828),26026=>array(47,-70,957,816),26027=>array(37,-69,951,834),26028=>array(53,-73,945,831),26029=>array(99,-66,946,824),26030=>array(63,-70,951,824),26031=>array(49,-75,944,829),26032=>array(54,-62,944,830),26033=>array(45,-67,934,837),26034=>array(65,-65,959,828),26035=>array(47,-73,952,836),26036=>array(36,-79,957,831),26037=>array(65,-65,959,833),26038=>array(43,-68,927,821),26039=>array(106,-66,950,845),26040=>array(44,-62,960,829),26041=>array(52,-67,936,822),26042=>array(38,-63,976,842),26043=>array(42,-61,969,837),26044=>array(41,-62,966,826),26045=>array(42,-49,952,831),26046=>array(51,-73,956,844),26047=>array(54,-50,952,858),26048=>array(48,-69,962,841),26049=>array(70,-65,906,829),26050=>array(36,-68,951,850),26051=>array(34,-70,951,833),26052=>array(49,-67,967,844),26053=>array(33,-67,969,839),26054=>array(48,-61,965,854),26055=>array(64,-73,959,848),26056=>array(34,-73,961,848),26057=>array(42,-69,947,832),26058=>array(35,-60,963,839),26059=>array(39,-66,966,841),26060=>array(39,-68,954,841),26061=>array(44,-73,974,838),26062=>array(50,-74,960,843),26063=>array(35,-67,966,843),26064=>array(42,-59,968,852),26065=>array(42,-61,962,852),26066=>array(18,-65,958,846),26067=>array(44,-67,955,836),26068=>array(30,-86,964,845),26069=>array(61,-55,976,843),26070=>array(39,-68,945,837),26071=>array(37,-70,955,837),26072=>array(37,-65,957,839),26073=>array(45,-55,959,839),26074=>array(44,-68,958,839),26075=>array(37,-67,971,839),26076=>array(40,-61,955,850),26077=>array(37,-64,980,834),26078=>array(31,-67,985,828),26079=>array(33,-71,967,847),26080=>array(65,-59,944,779),26081=>array(93,-50,947,800),26082=>array(47,-55,961,784),26083=>array(110,-64,946,846),26084=>array(86,-65,972,789),26085=>array(237,-32,788,747),26086=>array(84,-13,936,769),26087=>array(140,-52,860,778),26088=>array(195,-61,883,835),26089=>array(86,-68,934,780),26090=>array(89,-53,949,843),26091=>array(89,-73,905,763),26092=>array(39,-61,899,837),26093=>array(52,-62,957,839),26094=>array(54,-65,974,844),26095=>array(54,-66,972,776),26096=>array(92,-65,927,770),26097=>array(85,-61,939,785),26098=>array(46,-66,969,789),26099=>array(111,-64,905,841),26100=>array(101,-54,951,789),26101=>array(121,-66,879,786),26102=>array(103,-62,927,829),26103=>array(87,-65,912,832),26104=>array(95,-68,914,775),26105=>array(63,-64,937,833),26106=>array(91,-7,934,781),26107=>array(35,-58,968,796),26108=>array(95,-74,943,815),26109=>array(92,-47,967,823),26110=>array(73,-64,956,836),26111=>array(111,-67,948,837),26112=>array(105,-54,903,830),26113=>array(104,-62,945,831),26114=>array(69,-61,899,791),26115=>array(48,-72,950,789),26116=>array(102,-69,956,791),26117=>array(109,-71,959,787),26118=>array(82,-50,958,796),26119=>array(51,-62,954,789),26120=>array(105,-66,934,833),26121=>array(99,-56,947,825),26122=>array(68,-68,952,786),26123=>array(49,-68,956,831),26124=>array(158,-64,856,788),26125=>array(116,-53,884,788),26126=>array(109,-65,869,787),26127=>array(86,-69,937,843),26128=>array(109,-70,960,784),26129=>array(103,-66,956,831),26130=>array(103,-63,911,839),26131=>array(75,-67,866,782),26132=>array(79,-62,930,828),26133=>array(101,-68,936,838),26134=>array(101,-46,965,807),26135=>array(77,-68,943,795),26136=>array(64,-63,933,810),26137=>array(66,-74,918,779),26138=>array(66,-53,957,835),26139=>array(97,-14,952,788),26140=>array(49,-60,936,798),26141=>array(67,-68,973,845),26142=>array(57,-62,942,786),26143=>array(96,-18,935,780),26144=>array(88,-67,953,832),26145=>array(118,-57,955,822),26146=>array(123,-69,901,824),26147=>array(100,-72,974,849),26148=>array(102,-65,948,839),26149=>array(45,-67,962,837),26150=>array(50,-68,959,774),26151=>array(100,-65,966,832),26152=>array(116,-62,955,845),26153=>array(73,-67,961,830),26154=>array(51,-65,932,805),26155=>array(115,-56,919,830),26156=>array(159,-68,937,812),26157=>array(120,-68,901,785),26158=>array(50,-72,916,778),26159=>array(68,-66,960,790),26160=>array(64,-24,942,802),26161=>array(70,-18,944,788),26162=>array(106,-66,918,830),26163=>array(120,-76,961,824),26164=>array(84,-67,892,787),26165=>array(104,-71,939,778),26166=>array(33,-62,976,802),26167=>array(57,-14,948,788),26168=>array(110,-77,964,837),26169=>array(99,-66,965,835),26170=>array(85,-69,938,776),26171=>array(50,-61,898,791),26172=>array(41,-43,964,789),26173=>array(91,-61,926,824),26174=>array(53,-17,921,784),26175=>array(95,-56,948,819),26176=>array(113,-68,965,830),26177=>array(47,-65,960,788),26178=>array(113,-65,948,839),26179=>array(54,-51,948,800),26180=>array(108,-57,959,831),26181=>array(102,-31,946,776),26182=>array(102,-22,959,836),26183=>array(104,-72,965,837),26184=>array(89,-63,944,846),26185=>array(72,-60,944,790),26186=>array(110,-12,953,774),26187=>array(74,-65,926,799),26188=>array(107,-68,907,847),26189=>array(107,-65,895,782),26190=>array(107,-69,953,828),26191=>array(61,-73,945,789),26192=>array(107,-61,943,846),26193=>array(136,-62,877,789),26194=>array(97,-54,941,799),26195=>array(90,-67,943,822),26196=>array(100,-64,928,823),26197=>array(64,-65,916,785),26198=>array(101,-72,930,758),26199=>array(80,-71,957,848),26200=>array(101,-62,953,789),26201=>array(94,-62,958,834),26202=>array(110,-70,956,827),26203=>array(102,-58,955,797),26204=>array(55,-53,908,803),26205=>array(59,-30,948,829),26206=>array(79,-69,951,837),26207=>array(30,-67,967,793),26208=>array(90,-68,951,834),26209=>array(110,-68,959,832),26210=>array(68,-62,943,842),26211=>array(102,-67,954,843),26212=>array(82,-65,940,786),26213=>array(91,-71,962,824),26214=>array(98,-59,947,837),26215=>array(97,-60,939,831),26216=>array(30,-68,935,809),26217=>array(97,-69,965,840),26218=>array(110,-74,961,833),26219=>array(106,-71,946,825),26220=>array(102,-60,951,850),26221=>array(97,-68,907,791),26222=>array(53,-70,944,845),26223=>array(58,-61,940,796),26224=>array(102,-67,954,832),26225=>array(107,-71,949,828),26226=>array(110,-68,959,833),26227=>array(58,-71,932,826),26228=>array(75,-52,938,838),26229=>array(52,-60,964,846),26230=>array(117,-64,887,785),26231=>array(50,-68,943,782),26232=>array(41,-52,968,808),26233=>array(110,-72,919,782),26234=>array(82,-69,897,829),26235=>array(105,-40,966,828),26236=>array(104,-72,965,846),26237=>array(59,-63,981,842),26238=>array(87,-62,931,842),26239=>array(87,-62,923,791),26240=>array(107,-70,955,831),26241=>array(86,-65,970,817),26242=>array(64,-71,931,827),26243=>array(58,-70,937,808),26244=>array(90,-49,947,822),26245=>array(79,-59,960,849),26246=>array(90,-67,947,830),26247=>array(106,-71,971,790),26248=>array(57,-62,950,798),26249=>array(89,-65,936,787),26250=>array(121,-80,965,782),26251=>array(106,-55,948,849),26252=>array(86,-61,940,834),26253=>array(115,-69,925,785),26254=>array(95,-63,969,835),26255=>array(115,-65,960,835),26256=>array(91,-51,946,858),26257=>array(62,-63,955,790),26258=>array(89,-21,954,792),26259=>array(36,-69,954,830),26260=>array(110,-68,952,834),26261=>array(108,-67,966,833),26262=>array(89,-67,954,834),26263=>array(98,-64,943,840),26264=>array(82,-55,937,804),26265=>array(104,-72,956,833),26266=>array(89,-64,945,831),26267=>array(107,-25,939,843),26268=>array(60,-68,944,826),26269=>array(101,-56,936,789),26270=>array(112,-50,933,849),26271=>array(109,-24,951,832),26272=>array(74,-56,927,820),26273=>array(104,-70,960,800),26274=>array(92,-70,938,831),26275=>array(46,-63,974,851),26276=>array(92,-64,979,849),26277=>array(50,-59,950,788),26278=>array(39,-62,961,796),26279=>array(97,-72,955,821),26280=>array(59,-25,953,783),26281=>array(110,-72,990,832),26282=>array(113,-70,953,823),26283=>array(83,-68,948,833),26284=>array(65,-71,953,827),26285=>array(112,-64,952,849),26286=>array(51,-65,965,837),26287=>array(100,-75,955,827),26288=>array(100,-69,975,833),26289=>array(104,-26,962,799),26290=>array(112,-68,953,834),26291=>array(83,-62,941,826),26292=>array(66,-66,956,786),26293=>array(101,-53,968,841),26294=>array(92,-71,971,828),26295=>array(115,-68,960,836),26296=>array(89,-62,966,855),26297=>array(58,-56,933,815),26298=>array(109,-74,953,777),26299=>array(115,-68,971,781),26300=>array(68,-71,960,837),26301=>array(115,-70,960,824),26302=>array(99,-77,970,835),26303=>array(89,-69,957,833),26304=>array(101,-8,948,843),26305=>array(59,-37,947,832),26306=>array(89,-68,956,827),26307=>array(70,-64,960,829),26308=>array(94,-68,945,831),26309=>array(59,-71,943,819),26310=>array(32,-60,959,798),26311=>array(53,-74,947,817),26312=>array(96,-14,941,854),26313=>array(107,-61,964,837),26314=>array(110,-77,953,827),26315=>array(114,-70,956,777),26316=>array(55,-25,949,779),26317=>array(112,-64,952,849),26318=>array(79,-62,949,788),26319=>array(51,-67,946,788),26320=>array(86,-47,918,821),26321=>array(35,-75,968,812),26322=>array(94,-59,964,850),26323=>array(31,-75,966,834),26324=>array(57,-66,978,840),26325=>array(84,-72,927,841),26326=>array(81,-62,946,841),26327=>array(95,-67,959,825),26328=>array(101,-69,941,781),26329=>array(97,-63,955,789),26330=>array(94,-61,965,836),26331=>array(89,-70,965,835),26332=>array(85,-70,946,813),26333=>array(103,-64,980,784),26334=>array(93,-66,935,799),26335=>array(55,-67,956,816),26336=>array(93,-71,966,819),26337=>array(54,-32,952,791),26338=>array(99,-61,959,820),26339=>array(91,-72,953,823),26340=>array(91,-64,926,783),26341=>array(92,-67,954,830),26342=>array(88,-64,946,841),26343=>array(116,-68,966,817),26344=>array(90,-53,957,853),26345=>array(48,-62,937,824),26346=>array(90,-64,962,796),26347=>array(49,-71,962,838),26348=>array(92,-68,961,800),26349=>array(82,-68,944,834),26350=>array(83,-64,959,799),26351=>array(98,-67,924,806),26352=>array(166,-33,842,728),26353=>array(175,-61,841,788),26354=>array(163,-68,860,831),26355=>array(71,-56,954,839),26356=>array(48,-72,962,777),26357=>array(71,-60,946,845),26358=>array(61,-71,898,845),26359=>array(62,-67,896,792),26360=>array(84,-64,938,837),26361=>array(53,-70,947,829),26362=>array(53,-70,947,829),26363=>array(43,-68,946,791),26364=>array(57,-67,959,791),26365=>array(127,-65,876,852),26366=>array(38,-65,959,825),26367=>array(56,-68,950,834),26368=>array(53,-73,935,783),26369=>array(60,-71,960,781),26370=>array(54,-68,946,808),26371=>array(33,-74,978,848),26372=>array(98,-68,980,828),26373=>array(63,-63,920,830),26374=>array(94,-64,949,845),26375=>array(23,-74,957,847),26376=>array(86,-76,788,783),26377=>array(45,-65,936,844),26378=>array(33,-65,956,790),26379=>array(65,-77,891,782),26380=>array(23,-68,963,839),26381=>array(53,-75,950,783),26382=>array(47,-57,971,854),26383=>array(41,-56,905,840),26384=>array(34,-66,908,843),26385=>array(52,-64,964,829),26386=>array(43,-64,906,832),26387=>array(39,-71,957,823),26388=>array(60,-67,905,848),26389=>array(36,-73,961,837),26390=>array(36,-64,962,834),26391=>array(49,-74,885,832),26392=>array(33,-71,985,838),26393=>array(90,-65,915,793),26394=>array(72,-69,925,838),26395=>array(73,-36,927,822),26396=>array(36,-62,949,843),26397=>array(72,-68,908,827),26398=>array(42,-60,958,837),26399=>array(60,-70,899,829),26400=>array(33,-72,973,826),26401=>array(39,-85,966,825),26402=>array(85,-39,915,791),26403=>array(41,-72,952,828),26404=>array(65,-77,893,797),26405=>array(61,-66,941,833),26406=>array(34,-61,965,836),26407=>array(54,-73,962,834),26408=>array(77,-68,939,826),26409=>array(77,-58,889,826),26410=>array(65,-67,948,838),26411=>array(55,-67,955,839),26412=>array(41,-67,955,827),26413=>array(46,-62,954,829),26414=>array(75,-65,940,829),26415=>array(34,-69,947,815),26416=>array(51,-15,960,813),26417=>array(65,-70,950,828),26418=>array(57,-63,943,830),26419=>array(56,-71,969,830),26420=>array(49,-55,961,840),26421=>array(54,-68,955,777),26422=>array(53,-68,955,787),26423=>array(54,-58,901,830),26424=>array(66,-67,912,826),26425=>array(55,-63,955,830),26426=>array(54,-73,975,827),26427=>array(58,-66,901,829),26428=>array(54,-56,958,837),26429=>array(45,-62,937,832),26430=>array(48,-62,940,830),26431=>array(37,-54,956,839),26432=>array(53,-66,926,811),26433=>array(53,-64,958,828),26434=>array(42,-64,939,824),26435=>array(39,-65,954,836),26436=>array(42,-63,947,833),26437=>array(51,-61,953,835),26438=>array(39,-58,963,830),26439=>array(33,-62,956,831),26440=>array(37,-68,971,823),26441=>array(43,-69,950,831),26442=>array(43,-67,892,827),26443=>array(61,-63,959,833),26444=>array(33,-67,961,830),26445=>array(55,-68,955,829),26446=>array(51,-70,960,831),26447=>array(64,-62,950,827),26448=>array(40,-75,951,824),26449=>array(44,-71,951,829),26450=>array(44,-71,914,823),26451=>array(32,-69,917,834),26452=>array(47,-71,930,823),26453=>array(34,-64,976,833),26454=>array(43,-72,975,827),26455=>array(40,-67,954,837),26456=>array(47,-76,924,785),26457=>array(39,-70,961,830),26458=>array(50,-59,956,838),26459=>array(49,-70,902,828),26460=>array(49,-70,948,828),26461=>array(42,-64,959,830),26462=>array(39,-58,940,830),26463=>array(71,-67,950,833),26464=>array(39,-58,942,830),26465=>array(40,-65,956,827),26466=>array(44,-23,956,822),26467=>array(51,-58,912,830),26468=>array(51,-58,956,830),26469=>array(49,-57,951,830),26470=>array(47,-66,948,835),26471=>array(46,-59,931,833),26472=>array(22,-68,902,826),26473=>array(21,-62,890,825),26474=>array(51,-58,950,831),26475=>array(47,-62,954,835),26476=>array(41,-61,969,836),26477=>array(40,-62,962,832),26478=>array(47,-62,950,839),26479=>array(41,-63,959,835),26480=>array(46,-73,943,825),26481=>array(50,-71,960,831),26482=>array(31,-64,978,787),26483=>array(44,-65,956,832),26484=>array(54,-69,966,838),26485=>array(40,-68,948,837),26486=>array(44,-58,963,837),26487=>array(44,-68,967,825),26488=>array(49,-77,964,824),26489=>array(60,-69,962,829),26490=>array(39,-61,956,832),26491=>array(39,-61,959,832),26492=>array(51,-64,943,830),26493=>array(55,-70,950,826),26494=>array(39,-62,959,833),26495=>array(31,-73,966,823),26496=>array(42,-55,973,803),26497=>array(45,-73,972,829),26498=>array(71,-71,886,819),26499=>array(50,-75,903,822),26500=>array(45,-61,919,842),26501=>array(51,-68,953,830),26502=>array(39,-61,954,833),26503=>array(37,-70,968,826),26504=>array(58,-55,973,809),26505=>array(51,-58,961,830),26506=>array(46,-61,905,842),26507=>array(51,-58,941,830),26508=>array(42,-64,955,824),26509=>array(42,-59,963,835),26510=>array(36,-69,975,828),26511=>array(47,-65,970,835),26512=>array(41,-68,942,831),26513=>array(40,-61,964,833),26514=>array(47,-62,967,833),26515=>array(32,-59,956,842),26516=>array(55,-73,970,833),26517=>array(48,-62,959,836),26518=>array(48,-70,957,833),26519=>array(30,-69,954,829),26520=>array(42,-64,908,835),26521=>array(38,-58,968,839),26522=>array(57,-68,965,843),26523=>array(33,-66,968,823),26524=>array(48,-67,960,788),26525=>array(48,-64,965,834),26526=>array(24,-69,968,822),26527=>array(54,-80,954,830),26528=>array(39,-64,954,837),26529=>array(51,-65,948,830),26530=>array(31,-68,931,822),26531=>array(32,-76,956,824),26532=>array(40,-68,954,830),26533=>array(20,-67,903,820),26534=>array(51,-66,937,830),26535=>array(19,-73,928,823),26536=>array(23,-72,950,820),26537=>array(48,-74,950,820),26538=>array(41,-63,960,831),26539=>array(15,-58,937,830),26540=>array(42,-66,955,832),26541=>array(39,-51,944,832),26542=>array(55,-70,954,829),26543=>array(52,-62,956,836),26544=>array(42,-63,954,833),26545=>array(43,-62,964,852),26546=>array(42,-55,969,856),26547=>array(38,-68,965,829),26548=>array(51,-62,917,830),26549=>array(41,-67,950,827),26550=>array(47,-66,964,827),26551=>array(51,-58,934,832),26552=>array(51,-58,925,841),26553=>array(51,-58,951,830),26554=>array(42,-69,953,828),26555=>array(37,-62,964,829),26556=>array(40,-48,965,823),26557=>array(26,-54,950,827),26558=>array(48,-72,950,829),26559=>array(7,-66,968,829),26560=>array(45,-73,957,830),26561=>array(32,-62,958,835),26562=>array(51,-77,963,816),26563=>array(39,-80,957,827),26564=>array(46,-58,943,828),26565=>array(39,-55,963,840),26566=>array(51,-58,964,830),26567=>array(51,-71,976,822),26568=>array(51,-72,958,824),26569=>array(42,-69,965,825),26570=>array(34,-66,984,833),26571=>array(50,-70,968,822),26572=>array(49,-66,895,827),26573=>array(47,-75,961,823),26574=>array(51,-63,957,830),26575=>array(45,-62,896,846),26576=>array(44,-69,956,835),26577=>array(40,-65,953,827),26578=>array(45,-61,966,830),26579=>array(51,-66,956,835),26580=>array(48,-67,947,788),26581=>array(58,-67,917,825),26582=>array(32,-66,895,829),26583=>array(33,-68,948,833),26584=>array(58,-67,942,825),26585=>array(40,-64,898,833),26586=>array(37,-66,899,835),26587=>array(39,-69,896,825),26588=>array(40,-60,946,830),26589=>array(51,-66,945,836),26590=>array(51,-66,950,839),26591=>array(37,-65,967,832),26592=>array(26,-62,922,836),26593=>array(26,-69,981,827),26594=>array(51,-58,945,830),26595=>array(36,-81,957,822),26596=>array(51,-58,961,830),26597=>array(50,-12,951,826),26598=>array(58,-68,958,826),26599=>array(51,-59,952,830),26600=>array(48,-66,959,850),26601=>array(35,-65,952,824),26602=>array(50,-79,918,820),26603=>array(44,-71,914,838),26604=>array(55,-61,932,838),26605=>array(51,-77,962,826),26606=>array(51,-65,933,832),26607=>array(51,-61,953,830),26608=>array(64,-63,945,839),26609=>array(41,-67,957,839),26610=>array(43,-63,957,830),26611=>array(34,-61,921,837),26612=>array(44,-68,959,825),26613=>array(35,-60,956,832),26614=>array(50,-66,895,827),26615=>array(33,-55,964,836),26616=>array(48,-66,956,827),26617=>array(45,-66,934,832),26618=>array(50,-68,890,827),26619=>array(50,-12,952,826),26620=>array(36,-73,949,828),26621=>array(27,-75,947,817),26622=>array(27,-75,924,817),26623=>array(40,-64,949,827),26624=>array(43,-67,955,834),26625=>array(46,-61,905,837),26626=>array(46,-64,954,831),26627=>array(43,-76,945,834),26628=>array(60,-65,957,820),26629=>array(25,-65,965,829),26630=>array(38,-72,958,834),26631=>array(21,-59,940,833),26632=>array(17,-71,933,825),26633=>array(20,-71,917,817),26634=>array(17,-69,930,820),26635=>array(25,-60,942,833),26636=>array(21,-72,918,820),26637=>array(21,-68,951,827),26638=>array(21,-74,950,816),26639=>array(32,-57,925,833),26640=>array(32,-63,964,844),26641=>array(20,-71,929,818),26642=>array(58,-65,927,845),26643=>array(37,-65,948,826),26644=>array(56,-64,962,836),26645=>array(63,-68,953,823),26646=>array(54,-62,957,833),26647=>array(60,-65,957,788),26648=>array(63,-71,933,835),26649=>array(45,-66,961,842),26650=>array(38,-69,969,833),26651=>array(34,-65,966,835),26652=>array(39,-67,964,830),26653=>array(34,-64,943,832),26654=>array(56,-64,962,811),26655=>array(38,-63,948,845),26656=>array(45,-67,961,844),26657=>array(37,-74,963,822),26658=>array(39,-64,957,831),26659=>array(39,-64,965,843),26660=>array(32,-65,981,837),26661=>array(52,-65,954,841),26662=>array(39,-70,908,832),26663=>array(33,-64,961,836),26664=>array(32,-70,971,833),26665=>array(51,-58,909,830),26666=>array(28,-63,961,836),26667=>array(51,-68,930,830),26668=>array(53,-67,955,826),26669=>array(38,-68,951,828),26670=>array(53,-70,954,826),26671=>array(38,-68,948,826),26672=>array(29,-64,956,832),26673=>array(33,-77,955,825),26674=>array(36,-65,952,833),26675=>array(45,-68,954,826),26676=>array(38,-63,962,833),26677=>array(36,-67,908,830),26678=>array(17,-62,895,831),26679=>array(17,-61,924,831),26680=>array(33,-67,949,825),26681=>array(51,-71,957,820),26682=>array(44,-68,942,829),26683=>array(33,-58,971,839),26684=>array(44,-65,968,835),26685=>array(50,-59,957,839),26686=>array(39,-77,951,834),26687=>array(44,-66,991,842),26688=>array(54,-67,960,841),26689=>array(39,-68,956,835),26690=>array(39,-66,944,827),26691=>array(39,-72,945,828),26692=>array(33,-68,966,832),26693=>array(40,-65,967,844),26694=>array(30,-69,941,826),26695=>array(63,-65,963,844),26696=>array(63,-65,963,838),26697=>array(39,-60,956,845),26698=>array(50,-48,948,827),26699=>array(33,-71,971,832),26700=>array(52,-67,957,831),26701=>array(51,-67,932,830),26702=>array(51,-58,950,830),26703=>array(31,-64,957,832),26704=>array(46,-65,895,830),26705=>array(53,-65,958,788),26706=>array(52,-63,957,836),26707=>array(39,-65,954,827),26708=>array(38,-62,939,837),26709=>array(54,-74,898,821),26710=>array(54,-74,972,857),26711=>array(54,-74,964,821),26712=>array(50,-74,898,837),26713=>array(51,-65,946,833),26714=>array(45,-75,945,839),26715=>array(36,-66,946,836),26716=>array(54,-74,959,821),26717=>array(37,-66,949,835),26718=>array(36,-74,957,821),26719=>array(22,-71,933,826),26720=>array(18,-67,922,824),26721=>array(17,-74,938,821),26722=>array(20,-81,921,816),26723=>array(51,-60,935,830),26724=>array(26,-63,932,826),26725=>array(36,-53,966,844),26726=>array(25,-75,929,817),26727=>array(25,-78,959,833),26728=>array(27,-61,949,840),26729=>array(24,-69,923,833),26730=>array(44,-68,938,827),26731=>array(37,-69,972,829),26732=>array(48,-61,970,836),26733=>array(26,-72,966,832),26734=>array(41,-70,954,829),26735=>array(44,-65,951,827),26736=>array(43,-65,961,829),26737=>array(41,-68,953,826),26738=>array(33,-64,953,837),26739=>array(19,-73,979,834),26740=>array(51,-76,955,830),26741=>array(49,-74,953,826),26742=>array(42,-71,902,827),26743=>array(51,-63,924,844),26744=>array(44,-71,953,837),26745=>array(48,-66,977,848),26746=>array(35,-67,965,833),26747=>array(46,-73,976,821),26748=>array(36,-65,965,826),26749=>array(56,-23,960,824),26750=>array(51,-72,956,830),26751=>array(51,-62,933,830),26752=>array(46,-67,972,832),26753=>array(53,-68,956,808),26754=>array(50,-65,961,833),26755=>array(41,-66,960,830),26756=>array(32,-62,945,832),26757=>array(46,-71,953,843),26758=>array(38,-68,951,836),26759=>array(49,-65,961,829),26760=>array(31,-62,920,843),26761=>array(41,-69,953,826),26762=>array(39,-62,977,832),26763=>array(41,-71,897,824),26764=>array(48,-69,977,826),26765=>array(33,-67,935,842),26766=>array(39,-67,945,848),26767=>array(51,-67,934,833),26768=>array(32,-64,954,831),26769=>array(34,-76,970,821),26770=>array(42,-69,964,828),26771=>array(38,-70,956,837),26772=>array(28,-67,965,840),26773=>array(21,-67,970,833),26774=>array(37,-82,956,824),26775=>array(35,-68,956,829),26776=>array(36,-62,958,833),26777=>array(50,-70,911,827),26778=>array(50,-68,963,848),26779=>array(34,-68,962,824),26780=>array(30,-69,979,828),26781=>array(42,-71,981,839),26782=>array(45,-65,966,827),26783=>array(63,-68,932,847),26784=>array(51,-64,913,830),26785=>array(40,-72,962,838),26786=>array(44,-63,915,835),26787=>array(41,-70,967,825),26788=>array(47,-68,975,827),26789=>array(45,-71,957,838),26790=>array(49,-59,947,828),26791=>array(47,-62,948,835),26792=>array(41,-68,950,823),26793=>array(44,-64,952,828),26794=>array(43,-67,951,823),26795=>array(47,-69,968,830),26796=>array(42,-68,953,825),26797=>array(51,-73,951,835),26798=>array(42,-66,911,830),26799=>array(44,-70,927,839),26800=>array(40,-67,961,832),26801=>array(36,-54,913,835),26802=>array(44,-61,961,831),26803=>array(51,-70,957,830),26804=>array(30,-76,974,827),26805=>array(41,-79,943,824),26806=>array(31,-64,971,832),26807=>array(29,-62,971,839),26808=>array(36,-65,918,835),26809=>array(51,-58,954,830),26810=>array(46,-58,943,833),26811=>array(33,-65,950,836),26812=>array(33,-64,952,830),26813=>array(36,-54,972,835),26814=>array(27,-60,959,835),26815=>array(54,-55,971,835),26816=>array(24,-60,934,832),26817=>array(36,-64,968,844),26818=>array(23,-70,947,819),26819=>array(50,-67,967,813),26820=>array(39,-68,969,842),26821=>array(24,-72,970,824),26822=>array(30,-70,953,839),26823=>array(48,-68,959,824),26824=>array(43,-68,952,832),26825=>array(58,-71,922,838),26826=>array(72,-71,944,835),26827=>array(29,-70,947,827),26828=>array(41,-70,977,826),26829=>array(51,-58,946,830),26830=>array(51,-71,972,828),26831=>array(33,-71,973,825),26832=>array(42,-59,964,843),26833=>array(48,-73,954,824),26834=>array(27,-68,962,838),26835=>array(42,-72,950,841),26836=>array(39,-70,961,831),26837=>array(39,-70,954,823),26838=>array(37,-66,984,832),26839=>array(48,-65,966,834),26840=>array(39,-65,968,830),26841=>array(21,-66,979,844),26842=>array(57,-72,912,822),26843=>array(36,-75,932,845),26844=>array(41,-71,973,833),26845=>array(42,-73,903,826),26846=>array(42,-72,898,826),26847=>array(50,-64,973,835),26848=>array(54,-67,967,836),26849=>array(40,-72,916,824),26850=>array(37,-68,898,824),26851=>array(39,-70,965,832),26852=>array(51,-72,960,833),26853=>array(39,-69,967,826),26854=>array(43,-67,951,826),26855=>array(39,-70,948,840),26856=>array(44,-53,975,848),26857=>array(36,-75,897,825),26858=>array(36,-59,971,845),26859=>array(32,-58,964,841),26860=>array(30,-64,973,843),26861=>array(32,-68,968,839),26862=>array(30,-69,970,833),26863=>array(52,-70,963,834),26864=>array(38,-64,957,830),26865=>array(39,-67,972,832),26866=>array(22,-68,939,836),26867=>array(27,-71,975,827),26868=>array(40,-74,970,827),26869=>array(35,-70,968,822),26870=>array(33,-67,969,831),26871=>array(36,-68,970,824),26872=>array(42,-70,961,783),26873=>array(39,-70,956,835),26874=>array(42,-64,921,829),26875=>array(45,-62,983,830),26876=>array(32,-61,967,831),26877=>array(46,-70,963,826),26878=>array(44,-56,954,829),26879=>array(26,-77,951,835),26880=>array(34,-64,962,834),26881=>array(31,-62,952,833),26882=>array(31,-65,972,829),26883=>array(31,-62,957,837),26884=>array(39,-73,954,832),26885=>array(21,-75,927,817),26886=>array(51,-71,913,824),26887=>array(42,-78,960,827),26888=>array(36,-70,902,844),26889=>array(39,-65,964,841),26890=>array(48,-71,955,838),26891=>array(35,-67,967,835),26892=>array(51,-58,954,830),26893=>array(29,-73,954,835),26894=>array(37,-71,952,836),26895=>array(51,-58,964,830),26896=>array(35,-68,951,833),26897=>array(48,-79,954,835),26898=>array(36,-64,966,829),26899=>array(37,-67,980,830),26900=>array(48,-71,930,832),26901=>array(39,-69,967,826),26902=>array(29,-67,946,840),26903=>array(41,-62,976,843),26904=>array(29,-37,983,831),26905=>array(41,-68,900,832),26906=>array(31,-65,918,832),26907=>array(41,-62,958,834),26908=>array(33,-62,959,838),26909=>array(38,-71,986,826),26910=>array(38,-71,986,830),26911=>array(18,-76,954,815),26912=>array(32,-71,944,827),26913=>array(21,-70,918,833),26914=>array(18,-76,886,815),26915=>array(33,-72,955,833),26916=>array(34,-63,920,823),26917=>array(44,-62,905,830),26918=>array(27,-63,950,843),26919=>array(18,-76,977,828),26920=>array(27,-70,951,829),26921=>array(18,-76,956,856),26922=>array(42,-67,954,825),26923=>array(18,-76,937,837),26924=>array(33,-76,953,848),26925=>array(10,-63,922,830),26926=>array(18,-76,942,835),26927=>array(32,-64,950,837),26928=>array(28,-65,941,826),26929=>array(18,-76,970,843),26930=>array(36,-70,955,835),26931=>array(33,-55,973,838),26932=>array(31,-71,975,837),26933=>array(26,-73,965,826),26934=>array(39,-70,969,825),26935=>array(38,-69,962,828),26936=>array(19,-55,961,852),26937=>array(39,-70,940,827),26938=>array(18,-76,981,825),26939=>array(39,-67,950,826),26940=>array(26,-70,951,830),26941=>array(36,-67,970,831),26942=>array(18,-76,951,833),26943=>array(30,-64,978,835),26944=>array(37,-68,910,824),26945=>array(39,-71,971,827),26946=>array(30,-63,962,831),26947=>array(30,-61,943,833),26948=>array(33,-70,928,824),26949=>array(30,-73,948,823),26950=>array(30,-70,952,823),26951=>array(18,-76,919,815),26952=>array(44,-72,965,824),26953=>array(42,-69,954,826),26954=>array(47,-72,944,817),26955=>array(38,-69,922,826),26956=>array(41,-72,955,836),26957=>array(35,-70,966,813),26958=>array(30,-71,951,823),26959=>array(38,-68,980,829),26960=>array(18,-76,969,815),26961=>array(35,-73,972,832),26962=>array(39,-64,967,830),26963=>array(47,-64,971,836),26964=>array(39,-70,954,828),26965=>array(28,-76,927,845),26966=>array(21,-63,914,828),26967=>array(27,-59,970,840),26968=>array(36,-69,968,830),26969=>array(33,-70,961,830),26970=>array(48,-69,954,827),26971=>array(44,-60,953,834),26972=>array(39,-71,930,827),26973=>array(39,-70,971,836),26974=>array(39,-70,942,818),26975=>array(32,-71,952,836),26976=>array(33,-67,951,830),26977=>array(33,-76,950,818),26978=>array(44,-62,967,843),26979=>array(49,-67,924,829),26980=>array(26,-76,968,850),26981=>array(31,-60,971,848),26982=>array(41,-64,957,854),26983=>array(18,-76,988,836),26984=>array(37,-74,962,836),26985=>array(33,-69,967,826),26986=>array(39,-62,973,834),26987=>array(39,-70,957,818),26988=>array(37,-70,903,823),26989=>array(52,-69,965,829),26990=>array(39,-70,949,829),26991=>array(35,-64,961,839),26992=>array(37,-76,979,824),26993=>array(34,-71,969,831),26994=>array(24,-64,968,829),26995=>array(34,-64,975,832),26996=>array(42,-70,932,839),26997=>array(39,-68,956,824),26998=>array(44,-68,968,829),26999=>array(42,-70,956,827),27000=>array(34,-66,986,827),27001=>array(39,-70,957,818),27002=>array(36,-70,961,825),27003=>array(39,-65,958,834),27004=>array(18,-52,932,838),27005=>array(50,-64,950,847),27006=>array(39,-75,966,841),27007=>array(27,-67,972,832),27008=>array(37,-68,914,825),27009=>array(39,-70,940,835),27010=>array(30,-70,966,824),27011=>array(31,-71,960,823),27012=>array(21,-64,934,830),27013=>array(44,-76,967,820),27014=>array(30,-68,971,849),27015=>array(29,-76,934,822),27016=>array(16,-68,885,825),27017=>array(27,-75,961,816),27018=>array(28,-67,917,833),27019=>array(27,-67,916,829),27020=>array(28,-72,970,829),27021=>array(30,-67,912,824),27022=>array(33,-62,967,832),27023=>array(33,-64,954,859),27024=>array(28,-71,967,827),27025=>array(31,-70,960,833),27026=>array(24,-64,917,829),27027=>array(31,-68,958,833),27028=>array(46,-61,939,835),27029=>array(33,-64,969,830),27030=>array(46,-67,970,827),27031=>array(33,-70,955,826),27032=>array(29,-66,971,842),27033=>array(38,-68,966,833),27034=>array(39,-70,967,832),27035=>array(30,-68,973,839),27036=>array(54,-70,928,833),27037=>array(30,-73,967,835),27038=>array(33,-70,968,825),27039=>array(24,-64,941,845),27040=>array(39,-72,946,831),27041=>array(30,-69,951,833),27042=>array(24,-64,967,844),27043=>array(27,-69,951,837),27044=>array(28,-70,980,829),27045=>array(38,-65,960,830),27046=>array(49,-56,968,855),27047=>array(38,-74,939,817),27048=>array(47,-69,942,838),27049=>array(26,-69,975,826),27050=>array(31,-71,923,827),27051=>array(33,-68,965,844),27052=>array(40,-74,970,826),27053=>array(28,-65,965,849),27054=>array(61,-67,948,832),27055=>array(31,-60,954,833),27056=>array(34,-68,956,832),27057=>array(19,-66,972,832),27058=>array(39,-70,965,818),27059=>array(36,-65,967,840),27060=>array(53,-66,913,834),27061=>array(31,-70,956,828),27062=>array(37,-69,951,838),27063=>array(41,-67,944,841),27064=>array(18,-70,964,823),27065=>array(26,-70,965,827),27066=>array(37,-64,971,838),27067=>array(55,-62,930,845),27068=>array(32,-64,960,833),27069=>array(32,-75,972,825),27070=>array(39,-70,947,818),27071=>array(39,-70,962,829),27072=>array(32,-62,968,831),27073=>array(39,-70,940,844),27074=>array(23,-70,963,823),27075=>array(36,-60,969,845),27076=>array(39,-70,915,822),27077=>array(43,-69,927,823),27078=>array(42,-69,945,827),27079=>array(33,-78,961,833),27080=>array(24,-64,959,829),27081=>array(26,-73,973,836),27082=>array(34,-67,970,845),27083=>array(40,-68,954,828),27084=>array(28,-72,959,843),27085=>array(31,-70,960,851),27086=>array(39,-70,951,847),27087=>array(25,-67,952,840),27088=>array(39,-70,948,844),27089=>array(30,-68,976,787),27090=>array(40,-68,950,843),27091=>array(39,-70,969,818),27092=>array(33,-67,987,849),27093=>array(35,-70,968,835),27094=>array(43,-77,968,844),27095=>array(49,-61,926,834),27096=>array(35,-62,969,843),27097=>array(34,-69,950,836),27098=>array(33,-70,923,818),27099=>array(13,-57,922,845),27100=>array(19,-76,953,843),27101=>array(39,-70,942,844),27102=>array(13,-57,958,845),27103=>array(21,-64,917,842),27104=>array(21,-65,911,825),27105=>array(13,-67,964,845),27106=>array(20,-73,916,823),27107=>array(24,-74,951,845),27108=>array(32,-71,976,825),27109=>array(37,-64,965,830),27110=>array(38,-73,959,845),27111=>array(31,-64,973,837),27112=>array(29,-62,955,836),27113=>array(29,-60,969,811),27114=>array(26,-67,966,845),27115=>array(43,-66,956,835),27116=>array(33,-78,988,835),27117=>array(33,-70,964,839),27118=>array(34,-72,989,850),27119=>array(13,-65,953,845),27120=>array(13,-68,959,845),27121=>array(30,-67,968,826),27122=>array(27,-71,962,842),27123=>array(53,-65,963,843),27124=>array(34,-65,969,831),27125=>array(13,-57,978,845),27126=>array(22,-71,906,831),27127=>array(31,-73,987,829),27128=>array(37,-70,983,824),27129=>array(37,-64,952,845),27130=>array(28,-66,966,848),27131=>array(33,-58,971,839),27132=>array(38,-71,986,826),27133=>array(44,-71,948,827),27134=>array(30,-72,979,828),27135=>array(26,-65,953,828),27136=>array(45,-67,960,847),27137=>array(46,-64,976,835),27138=>array(60,-64,959,847),27139=>array(21,-74,939,826),27140=>array(21,-71,990,826),27141=>array(39,-64,964,829),27142=>array(30,-76,945,829),27143=>array(27,-73,989,824),27144=>array(36,-70,968,835),27145=>array(37,-80,968,826),27146=>array(28,-66,964,836),27147=>array(34,-67,961,827),27148=>array(26,-68,967,829),27149=>array(30,-84,955,830),27150=>array(26,-65,942,843),27151=>array(30,-69,954,826),27152=>array(26,-65,958,839),27153=>array(36,-61,985,836),27154=>array(26,-65,945,830),27155=>array(39,-69,949,831),27156=>array(36,-67,970,842),27157=>array(30,-77,973,832),27158=>array(46,-72,961,853),27159=>array(43,-68,956,826),27160=>array(32,-70,956,824),27161=>array(33,-70,957,818),27162=>array(33,-70,959,838),27163=>array(44,-61,971,833),27164=>array(33,-79,961,841),27165=>array(39,-71,962,828),27166=>array(46,-61,957,830),27167=>array(41,-67,944,826),27168=>array(30,-69,953,826),27169=>array(31,-69,952,828),27170=>array(33,-70,959,847),27171=>array(35,-62,978,848),27172=>array(6,-73,993,824),27173=>array(38,-73,970,825),27174=>array(40,-67,958,831),27175=>array(35,-76,976,828),27176=>array(39,-68,955,832),27177=>array(25,-72,957,832),27178=>array(26,-72,944,822),27179=>array(37,-62,964,832),27180=>array(33,-70,964,831),27181=>array(33,-60,972,831),27182=>array(33,-70,957,818),27183=>array(18,-72,929,819),27184=>array(36,-63,957,838),27185=>array(22,-74,953,832),27186=>array(34,-55,966,852),27187=>array(32,-66,955,830),27188=>array(34,-71,965,831),27189=>array(44,-67,969,836),27190=>array(27,-70,948,818),27191=>array(27,-67,950,844),27192=>array(48,-68,971,833),27193=>array(39,-71,953,825),27194=>array(38,-68,954,832),27195=>array(39,-81,958,826),27196=>array(39,-77,953,820),27197=>array(35,-65,957,851),27198=>array(30,-66,977,830),27199=>array(33,-70,954,828),27200=>array(44,-64,984,851),27201=>array(37,-69,956,828),27202=>array(35,-76,974,851),27203=>array(24,-70,959,843),27204=>array(34,-69,960,835),27205=>array(21,-70,954,845),27206=>array(46,-74,961,831),27207=>array(31,-67,963,837),27208=>array(36,-69,962,830),27209=>array(33,-80,956,825),27210=>array(34,-71,946,818),27211=>array(36,-62,962,836),27212=>array(33,-70,911,818),27213=>array(39,-68,897,822),27214=>array(38,-70,963,826),27215=>array(36,-71,951,838),27216=>array(44,-65,972,832),27217=>array(34,-68,964,826),27218=>array(36,-70,954,838),27219=>array(36,-72,948,838),27220=>array(36,-79,969,839),27221=>array(44,-58,951,836),27222=>array(43,-68,972,825),27223=>array(31,-68,948,839),27224=>array(36,-61,923,828),27225=>array(27,-69,951,830),27226=>array(39,-70,952,829),27227=>array(21,-68,972,828),27228=>array(47,-64,966,816),27229=>array(40,-68,953,826),27230=>array(35,-65,963,827),27231=>array(36,-68,963,829),27232=>array(37,-80,956,837),27233=>array(38,-70,964,837),27234=>array(37,-72,948,842),27235=>array(37,-72,957,847),27236=>array(44,-67,970,838),27237=>array(47,-69,952,821),27238=>array(32,-58,958,847),27239=>array(45,-61,917,849),27240=>array(33,-74,962,830),27241=>array(36,-67,958,826),27242=>array(38,-79,964,826),27243=>array(47,-70,956,827),27244=>array(37,-72,957,819),27245=>array(40,-72,957,824),27246=>array(53,-72,913,834),27247=>array(39,-70,944,824),27248=>array(37,-72,948,863),27249=>array(24,-69,914,829),27250=>array(37,-72,933,833),27251=>array(30,-55,967,821),27252=>array(30,-71,956,830),27253=>array(37,-72,979,832),27254=>array(43,-74,964,821),27255=>array(32,-73,962,838),27256=>array(43,-73,959,818),27257=>array(21,-73,928,817),27258=>array(37,-72,911,819),27259=>array(29,-72,966,819),27260=>array(15,-63,980,837),27261=>array(41,-76,973,833),27262=>array(41,-66,974,828),27263=>array(26,-58,955,832),27264=>array(29,-61,956,841),27265=>array(46,-65,991,855),27266=>array(37,-71,966,828),27267=>array(50,-76,971,819),27268=>array(31,-66,974,844),27269=>array(24,-72,964,823),27270=>array(39,-73,943,836),27271=>array(36,-65,960,834),27272=>array(37,-72,958,819),27273=>array(37,-65,936,826),27274=>array(36,-66,980,829),27275=>array(37,-72,981,820),27276=>array(43,-65,970,829),27277=>array(31,-76,970,829),27278=>array(22,-65,971,851),27279=>array(37,-72,972,833),27280=>array(21,-70,949,838),27281=>array(50,-68,933,826),27282=>array(42,-75,967,826),27283=>array(27,-71,980,834),27284=>array(46,-59,924,839),27285=>array(51,-76,966,824),27286=>array(27,-69,974,834),27287=>array(33,-54,973,840),27288=>array(33,-72,965,849),27289=>array(35,-76,923,815),27290=>array(35,-74,976,827),27291=>array(31,-71,977,826),27292=>array(32,-64,974,861),27293=>array(41,-78,970,819),27294=>array(27,-66,961,837),27295=>array(29,-83,962,823),27296=>array(34,-65,954,834),27297=>array(34,-70,954,826),27298=>array(33,-68,969,858),27299=>array(33,-63,959,838),27300=>array(35,-71,980,827),27301=>array(29,-73,964,842),27302=>array(41,-70,919,826),27303=>array(33,-70,974,823),27304=>array(33,-74,960,829),27305=>array(22,-64,921,857),27306=>array(42,-64,973,849),27307=>array(15,-63,943,830),27308=>array(29,-61,965,836),27309=>array(40,-72,981,828),27310=>array(40,-65,950,833),27311=>array(38,-56,970,838),27312=>array(35,-68,936,845),27313=>array(25,-56,943,832),27314=>array(35,-68,917,832),27315=>array(40,-65,966,846),27316=>array(34,-68,974,827),27317=>array(35,-69,942,824),27318=>array(38,-71,983,834),27319=>array(36,-70,959,821),27320=>array(37,-63,952,839),27321=>array(38,-65,965,842),27322=>array(45,-64,969,842),27323=>array(24,-62,957,839),27324=>array(27,-69,953,825),27325=>array(36,-61,967,831),27326=>array(105,-51,918,822),27327=>array(34,-68,958,829),27328=>array(36,-69,974,840),27329=>array(26,-66,945,839),27330=>array(36,-50,957,840),27331=>array(44,-66,954,835),27332=>array(44,-71,977,835),27333=>array(36,-71,975,839),27334=>array(48,-68,977,824),27335=>array(32,-75,963,825),27336=>array(31,-62,984,847),27337=>array(27,-70,953,826),27338=>array(31,-71,913,824),27339=>array(42,-70,958,840),27340=>array(44,-69,958,832),27341=>array(40,-75,961,831),27342=>array(35,-71,957,849),27343=>array(28,-64,984,828),27344=>array(40,-65,969,813),27345=>array(43,-66,935,827),27346=>array(30,-73,973,831),27347=>array(30,-61,974,849),27348=>array(42,-65,958,831),27349=>array(42,-72,967,831),27350=>array(34,-62,965,836),27351=>array(42,-67,958,833),27352=>array(42,-62,961,831),27353=>array(44,-70,949,824),27354=>array(39,-61,904,833),27355=>array(47,-66,959,840),27356=>array(43,-59,973,843),27357=>array(30,-70,971,835),27358=>array(33,-66,972,841),27359=>array(32,-71,969,841),27360=>array(37,-71,986,838),27361=>array(58,-72,950,833),27362=>array(20,-72,972,837),27363=>array(22,-72,974,841),27364=>array(41,-68,955,841),27365=>array(33,-71,959,847),27366=>array(29,-68,970,841),27367=>array(34,-65,957,840),27368=>array(36,-71,962,833),27369=>array(44,-65,920,833),27370=>array(32,-65,955,832),27371=>array(41,-68,959,831),27372=>array(43,-62,971,843),27373=>array(30,-62,965,831),27374=>array(36,-67,951,827),27375=>array(31,-68,981,842),27376=>array(30,-78,980,841),27377=>array(43,-65,967,840),27378=>array(33,-65,979,839),27379=>array(35,-58,969,855),27380=>array(19,-72,970,843),27381=>array(27,-66,973,840),27382=>array(32,-62,960,831),27383=>array(16,-45,965,851),27384=>array(38,-72,986,835),27385=>array(40,-68,957,830),27386=>array(38,-61,936,832),27387=>array(45,-62,958,826),27388=>array(28,-78,978,832),27389=>array(48,-68,956,813),27390=>array(31,-64,969,829),27391=>array(32,-67,951,835),27392=>array(33,-70,977,837),27393=>array(22,-70,987,832),27394=>array(31,-69,959,828),27395=>array(34,-58,964,853),27396=>array(35,-65,909,836),27397=>array(31,-69,973,827),27398=>array(21,-66,969,836),27399=>array(31,-66,955,827),27400=>array(45,-64,944,838),27401=>array(40,-62,962,835),27402=>array(38,-71,952,830),27403=>array(33,-68,960,823),27404=>array(33,-68,970,838),27405=>array(28,-68,937,832),27406=>array(44,-71,964,842),27407=>array(34,-67,967,830),27408=>array(39,-73,960,828),27409=>array(33,-70,970,831),27410=>array(40,-74,961,844),27411=>array(33,-78,966,836),27412=>array(33,-65,970,828),27413=>array(33,-70,987,828),27414=>array(40,-63,961,841),27415=>array(39,-65,942,830),27416=>array(47,-68,933,827),27417=>array(49,-62,959,831),27418=>array(35,-68,978,846),27419=>array(38,-71,932,835),27420=>array(40,-65,975,839),27421=>array(56,-67,964,843),27422=>array(49,-64,968,828),27423=>array(36,-69,984,835),27424=>array(51,-69,950,842),27425=>array(49,-66,953,822),27426=>array(20,-64,948,839),27427=>array(48,-72,962,831),27428=>array(41,-75,952,819),27429=>array(106,-75,968,829),27430=>array(35,-75,968,838),27431=>array(101,-66,953,833),27432=>array(56,-73,971,829),27433=>array(51,-62,947,822),27434=>array(90,-68,956,837),27435=>array(66,-68,950,847),27436=>array(44,-68,971,848),27437=>array(115,-73,961,830),27438=>array(60,-68,971,850),27439=>array(55,-74,967,830),27440=>array(30,-72,959,831),27441=>array(34,-72,959,834),27442=>array(47,-65,969,837),27443=>array(107,-74,962,830),27444=>array(101,-73,959,848),27445=>array(46,-62,970,853),27446=>array(44,-76,964,826),27447=>array(30,-69,963,838),27448=>array(47,-66,967,839),27449=>array(57,-79,975,830),27450=>array(61,-65,968,832),27451=>array(50,-72,958,838),27452=>array(50,-72,969,830),27453=>array(39,-71,977,839),27454=>array(50,-70,954,835),27455=>array(54,-67,968,841),27456=>array(46,-76,983,824),27457=>array(65,-73,985,827),27458=>array(61,-71,975,833),27459=>array(58,-72,972,838),27460=>array(102,-69,969,827),27461=>array(56,-72,977,826),27462=>array(47,-71,964,843),27463=>array(22,-74,968,842),27464=>array(29,-73,973,844),27465=>array(34,-70,970,841),27466=>array(54,-73,963,846),27467=>array(33,-69,967,826),27468=>array(65,-66,959,839),27469=>array(51,-73,970,841),27470=>array(39,-72,967,830),27471=>array(49,-72,961,842),27472=>array(110,-79,961,830),27473=>array(46,-69,977,831),27474=>array(60,-69,971,839),27475=>array(39,-65,963,841),27476=>array(32,-73,983,838),27477=>array(53,-83,972,825),27478=>array(60,-77,970,830),27479=>array(49,-68,975,840),27480=>array(52,-56,953,835),27481=>array(37,-67,964,856),27482=>array(64,-65,983,849),27483=>array(31,-70,983,864),27484=>array(37,-80,972,836),27485=>array(63,-72,971,838),27486=>array(55,-71,967,829),27487=>array(48,-67,969,841),27488=>array(53,-59,969,849),27489=>array(37,-68,962,836),27490=>array(76,-6,931,791),27491=>array(100,-5,920,756),27492=>array(37,-57,949,804),27493=>array(57,-60,932,835),27494=>array(63,-58,942,834),27495=>array(40,-66,956,830),27496=>array(41,-66,952,835),27497=>array(53,-62,962,833),27498=>array(63,-20,919,779),27499=>array(40,-28,953,783),27500=>array(46,-74,942,822),27501=>array(53,-67,951,829),27502=>array(37,-59,957,836),27503=>array(98,-70,938,835),27504=>array(60,-51,920,792),27505=>array(45,-20,956,836),27506=>array(45,-70,940,834),27507=>array(48,-70,943,834),27508=>array(33,-56,961,801),27509=>array(30,-55,955,849),27510=>array(80,-70,939,823),27511=>array(41,-58,944,789),27512=>array(47,-71,930,846),27513=>array(79,-75,921,767),27514=>array(71,-75,815,798),27515=>array(60,-67,959,761),27516=>array(26,-60,916,801),27517=>array(41,-68,955,828),27518=>array(58,-59,921,843),27519=>array(56,-62,972,840),27520=>array(39,-57,967,840),27521=>array(44,-74,950,774),27522=>array(49,-47,957,785),27523=>array(41,-73,964,827),27524=>array(54,-71,966,853),27525=>array(53,-74,952,827),27526=>array(65,-74,951,829),27527=>array(31,-68,913,826),27528=>array(44,-63,951,838),27529=>array(63,-75,921,835),27530=>array(61,-66,964,832),27531=>array(47,-61,965,845),27532=>array(33,-73,954,773),27533=>array(57,-64,953,837),27534=>array(43,-73,961,821),27535=>array(42,-76,950,821),27536=>array(52,-70,968,829),27537=>array(52,-74,960,823),27538=>array(32,-87,910,778),27539=>array(35,-71,948,820),27540=>array(57,-69,975,831),27541=>array(55,-58,949,829),27542=>array(40,-67,954,835),27543=>array(38,-53,968,835),27544=>array(68,-60,952,832),27545=>array(57,-64,958,829),27546=>array(44,-70,939,823),27547=>array(48,-47,947,788),27548=>array(39,-68,982,842),27549=>array(39,-68,974,829),27550=>array(40,-60,958,800),27551=>array(54,-67,970,782),27552=>array(39,-71,971,843),27553=>array(36,-71,930,830),27554=>array(50,-70,954,826),27555=>array(54,-72,952,829),27556=>array(55,-70,963,845),27557=>array(39,-78,953,834),27558=>array(43,-69,946,834),27559=>array(52,-71,978,829),27560=>array(43,-68,970,833),27561=>array(35,-65,976,798),27562=>array(47,-20,954,833),27563=>array(57,-64,953,789),27564=>array(50,-64,941,786),27565=>array(35,-44,965,807),27566=>array(40,-67,977,854),27567=>array(55,-66,960,838),27568=>array(36,-68,963,830),27569=>array(42,-73,954,829),27570=>array(44,-66,946,829),27571=>array(52,-70,948,788),27572=>array(98,-66,959,792),27573=>array(41,-73,964,832),27574=>array(58,-80,958,819),27575=>array(46,-68,952,836),27576=>array(45,-69,976,833),27577=>array(81,-72,972,787),27578=>array(51,-72,967,824),27579=>array(51,-70,963,833),27580=>array(49,-68,964,833),27581=>array(35,-65,976,847),27582=>array(35,-72,960,823),27583=>array(31,-73,969,799),27584=>array(73,-64,962,836),27585=>array(58,-68,958,833),27586=>array(52,-67,944,815),27587=>array(58,-72,973,843),27588=>array(58,-69,963,835),27589=>array(39,-72,963,831),27590=>array(69,-68,958,810),27591=>array(53,-76,974,819),27592=>array(55,-73,963,830),27593=>array(71,-29,951,800),27594=>array(41,-63,976,833),27595=>array(92,-57,935,798),27596=>array(74,-58,926,788),27597=>array(77,-66,931,783),27598=>array(64,-63,933,843),27599=>array(64,-63,939,843),27600=>array(55,-65,952,836),27601=>array(44,-62,967,805),27602=>array(56,-69,944,832),27603=>array(43,-62,964,835),27604=>array(59,-36,956,811),27605=>array(58,-59,908,816),27606=>array(63,-43,951,816),27607=>array(87,-67,965,820),27608=>array(76,-62,969,794),27609=>array(41,-54,941,826),27610=>array(56,-65,956,845),27611=>array(79,-23,944,822),27612=>array(52,-18,971,840),27613=>array(52,-18,971,840),27614=>array(78,-41,947,831),27615=>array(52,-40,954,841),27616=>array(49,-32,956,823),27617=>array(52,-18,971,840),27618=>array(55,-27,961,837),27619=>array(71,-32,949,778),27620=>array(48,-62,956,830),27621=>array(52,-18,971,841),27622=>array(55,-58,956,836),27623=>array(62,-26,965,834),27624=>array(54,-25,954,833),27625=>array(52,-18,971,840),27626=>array(35,-19,931,836),27627=>array(80,-54,933,840),27628=>array(51,-24,969,832),27629=>array(44,-39,954,836),27630=>array(30,-65,964,835),27631=>array(59,-30,967,835),27632=>array(47,-29,958,834),27633=>array(47,-28,958,833),27634=>array(39,-76,955,819),27635=>array(70,-44,970,826),27636=>array(47,-28,958,823),27637=>array(30,-65,933,844),27638=>array(44,-28,972,855),27639=>array(90,-55,961,848),27640=>array(55,-28,959,825),27641=>array(28,-70,972,847),27642=>array(48,-28,960,841),27643=>array(31,-65,962,840),27644=>array(31,-68,963,819),27645=>array(44,-32,971,832),27646=>array(47,-67,960,822),27647=>array(35,-67,967,853),27648=>array(54,-69,966,824),27649=>array(60,-28,972,835),27650=>array(53,-76,958,825),27651=>array(46,-45,962,839),27652=>array(38,-54,960,844),27653=>array(49,-34,959,841),27654=>array(54,-43,974,840),27655=>array(30,-25,928,835),27656=>array(68,-56,946,844),27657=>array(37,-58,964,840),27658=>array(54,-43,974,854),27659=>array(52,-69,971,828),27660=>array(48,-40,978,843),27661=>array(33,-66,966,830),27662=>array(61,-46,961,825),27663=>array(83,-68,934,828),27664=>array(100,-54,907,832),27665=>array(51,-67,950,784),27666=>array(91,-71,936,839),27667=>array(111,-61,951,781),27668=>array(39,-56,966,853),27669=>array(36,-67,957,847),27670=>array(51,-64,965,845),27671=>array(36,-62,963,853),27672=>array(46,-69,966,840),27673=>array(44,-62,965,852),27674=>array(26,-68,959,849),27675=>array(52,-69,962,839),27676=>array(35,-63,959,849),27677=>array(36,-75,960,835),27678=>array(36,-72,960,835),27679=>array(37,-76,962,829),27680=>array(10,-71,933,837),27681=>array(45,-76,961,845),27682=>array(38,-63,943,832),27683=>array(50,-67,959,838),27684=>array(40,-63,979,849),27685=>array(37,-66,968,842),27686=>array(41,-65,972,858),27687=>array(42,-70,958,832),27688=>array(41,-73,961,835),27689=>array(21,-64,938,825),27690=>array(38,-66,968,849),27691=>array(47,-68,957,831),27692=>array(39,-61,974,854),27693=>array(38,-66,966,852),27694=>array(48,-79,963,835),27695=>array(45,-74,959,841),27696=>array(35,-70,964,839),27697=>array(25,-69,955,830),27698=>array(25,-70,955,830),27699=>array(43,-71,971,833),27700=>array(47,-64,953,826),27701=>array(320,-38,602,803),27702=>array(51,-74,958,782),27703=>array(47,-64,953,826),27704=>array(51,-65,957,838),27705=>array(85,-28,958,830),27706=>array(40,-64,962,826),27707=>array(69,-60,921,829),27708=>array(54,-39,945,830),27709=>array(27,-71,967,846),27710=>array(71,-32,962,814),27711=>array(60,-65,966,823),27712=>array(51,-55,941,808),27713=>array(58,-59,962,833),27714=>array(61,-65,938,835),27715=>array(60,-62,977,814),27716=>array(60,-63,942,835),27717=>array(59,-51,937,814),27718=>array(33,-65,961,790),27719=>array(46,-49,920,803),27720=>array(70,-59,896,790),27721=>array(40,-59,956,804),27722=>array(57,-66,967,813),27723=>array(59,-57,912,836),27724=>array(62,-72,910,829),27725=>array(44,-71,975,826),27726=>array(53,-62,959,825),27727=>array(62,-65,960,829),27728=>array(67,-71,919,831),27729=>array(67,-42,930,826),27730=>array(55,-49,958,836),27731=>array(55,-64,954,802),27732=>array(60,-37,967,842),27733=>array(57,-65,898,820),27734=>array(54,-65,954,833),27735=>array(48,-67,948,798),27736=>array(48,-59,933,831),27737=>array(51,-67,957,814),27738=>array(49,-52,948,802),27739=>array(43,-63,975,812),27740=>array(33,-46,945,808),27741=>array(47,-62,947,847),27742=>array(58,-68,948,781),27743=>array(65,-51,940,796),27744=>array(48,-46,959,825),27745=>array(58,-52,943,802),27746=>array(74,-58,945,811),27747=>array(92,-68,957,831),27748=>array(51,-63,899,790),27749=>array(52,-70,977,828),27750=>array(44,-68,963,826),27751=>array(69,-68,964,801),27752=>array(70,-57,900,812),27753=>array(55,-40,911,817),27754=>array(54,-41,944,809),27755=>array(53,-68,951,833),27756=>array(57,-67,964,822),27757=>array(61,-69,905,801),27758=>array(41,-65,904,831),27759=>array(48,-61,951,830),27760=>array(48,-64,962,835),27761=>array(50,-70,957,837),27762=>array(41,-68,955,820),27763=>array(49,-73,972,807),27764=>array(53,-64,944,846),27765=>array(53,-73,945,854),27766=>array(42,-66,962,830),27767=>array(59,-63,941,805),27768=>array(54,-69,949,833),27769=>array(58,-59,900,820),27770=>array(56,-72,970,836),27771=>array(41,-75,951,826),27772=>array(41,-75,951,811),27773=>array(63,-61,962,850),27774=>array(41,-62,955,814),27775=>array(62,-57,950,820),27776=>array(45,-75,931,825),27777=>array(56,-48,947,811),27778=>array(58,-67,950,831),27779=>array(48,-64,962,819),27780=>array(46,-60,946,807),27781=>array(47,-70,948,812),27782=>array(63,-66,951,817),27783=>array(48,-60,951,849),27784=>array(56,-73,946,824),27785=>array(51,-58,952,788),27786=>array(49,-58,973,833),27787=>array(51,-69,960,827),27788=>array(41,-44,963,833),27789=>array(56,-38,939,794),27790=>array(45,-62,961,844),27791=>array(62,-67,926,814),27792=>array(43,-63,960,833),27793=>array(66,-51,947,821),27794=>array(58,-71,953,841),27795=>array(54,-62,962,835),27796=>array(54,-60,944,814),27797=>array(59,-56,926,855),27798=>array(54,-64,914,839),27799=>array(35,-58,976,803),27800=>array(52,-50,964,817),27801=>array(51,-62,968,812),27802=>array(65,-44,966,807),27803=>array(41,-65,942,837),27804=>array(70,-66,953,837),27805=>array(31,-69,969,835),27806=>array(52,-74,939,826),27807=>array(41,-61,903,831),27808=>array(66,-64,959,821),27809=>array(47,-62,959,805),27810=>array(40,-66,973,805),27811=>array(58,-63,920,813),27812=>array(42,-47,929,822),27813=>array(41,-57,916,827),27814=>array(52,-46,948,837),27815=>array(28,-63,967,821),27816=>array(58,-58,937,824),27817=>array(41,-62,892,819),27818=>array(45,-62,874,836),27819=>array(56,-61,980,833),27820=>array(62,-72,984,819),27821=>array(39,-67,947,829),27822=>array(57,-30,957,820),27823=>array(52,-52,967,813),27824=>array(53,-71,951,803),27825=>array(53,-44,951,828),27826=>array(38,-58,953,810),27827=>array(49,-67,952,796),27828=>array(46,-47,978,862),27829=>array(73,-53,947,840),27830=>array(51,-73,956,800),27831=>array(53,-81,961,827),27832=>array(42,-63,915,823),27833=>array(64,-69,903,836),27834=>array(54,-74,900,801),27835=>array(48,-64,959,834),27836=>array(52,-61,896,817),27837=>array(69,-64,956,836),27838=>array(67,-56,946,836),27839=>array(43,-48,936,814),27840=>array(45,-68,891,806),27841=>array(59,-62,965,810),27842=>array(45,-73,894,813),27843=>array(47,-70,896,825),27844=>array(39,-63,953,835),27845=>array(49,-66,897,811),27846=>array(28,-50,976,856),27847=>array(48,-73,909,818),27848=>array(81,-66,984,829),27849=>array(46,-73,960,843),27850=>array(60,-57,875,847),27851=>array(39,-66,968,828),27852=>array(42,-32,972,829),27853=>array(44,-67,968,835),27854=>array(97,-62,955,845),27855=>array(42,-71,915,830),27856=>array(64,-68,918,832),27857=>array(57,-75,907,831),27858=>array(55,-64,975,849),27859=>array(50,-53,958,808),27860=>array(46,-53,947,831),27861=>array(64,-59,945,821),27862=>array(56,-68,924,837),27863=>array(61,-53,909,810),27864=>array(78,-67,931,825),27865=>array(54,-64,952,818),27866=>array(38,-39,960,838),27867=>array(56,-67,963,836),27868=>array(41,-69,958,834),27869=>array(55,-68,952,842),27870=>array(51,-72,910,824),27871=>array(62,-63,953,806),27872=>array(36,-50,969,870),27873=>array(46,-46,968,834),27874=>array(50,-75,961,831),27875=>array(62,-27,956,820),27876=>array(59,-65,960,828),27877=>array(56,-64,957,821),27878=>array(62,-57,973,818),27879=>array(55,-70,960,828),27880=>array(60,-46,939,838),27881=>array(49,-58,958,831),27882=>array(53,-59,914,820),27883=>array(54,-53,949,831),27884=>array(53,-72,972,846),27885=>array(52,-73,948,823),27886=>array(63,-69,967,825),27887=>array(49,-63,951,812),27888=>array(38,-65,963,838),27889=>array(59,-71,983,831),27890=>array(50,-46,922,856),27891=>array(42,-58,980,851),27892=>array(58,-26,988,825),27893=>array(57,-67,964,777),27894=>array(45,-66,929,815),27895=>array(57,-62,929,822),27896=>array(53,-62,910,822),27897=>array(53,-50,955,798),27898=>array(42,-62,933,828),27899=>array(43,-55,893,806),27900=>array(47,-76,949,814),27901=>array(55,-70,948,805),27902=>array(63,-58,926,799),27903=>array(64,-72,964,812),27904=>array(51,-69,954,838),27905=>array(57,-71,957,827),27906=>array(57,-66,945,846),27907=>array(44,-78,972,829),27908=>array(71,-57,915,803),27909=>array(57,-66,965,806),27910=>array(47,-60,964,805),27911=>array(56,-63,910,810),27912=>array(50,-73,964,829),27913=>array(49,-67,955,822),27914=>array(56,-64,970,840),27915=>array(42,-65,951,846),27916=>array(45,-62,902,830),27917=>array(52,-44,954,812),27918=>array(58,-69,898,842),27919=>array(56,-70,954,811),27920=>array(55,-70,955,830),27921=>array(49,-66,974,841),27922=>array(46,-53,947,813),27923=>array(55,-65,941,824),27924=>array(58,-61,935,838),27925=>array(41,-73,975,818),27926=>array(46,-70,962,807),27927=>array(60,-62,963,833),27928=>array(47,-74,953,825),27929=>array(42,-62,967,832),27930=>array(49,-70,968,834),27931=>array(57,-72,959,842),27932=>array(38,-67,981,849),27933=>array(55,-71,959,835),27934=>array(48,-55,898,819),27935=>array(45,-74,973,830),27936=>array(51,-68,954,844),27937=>array(71,-67,965,824),27938=>array(53,-79,952,830),27939=>array(51,-65,955,824),27940=>array(44,-38,962,845),27941=>array(48,-62,959,842),27942=>array(52,-70,932,830),27943=>array(42,-77,945,828),27944=>array(52,-74,963,835),27945=>array(55,-63,974,831),27946=>array(69,-60,940,834),27947=>array(50,-53,970,829),27948=>array(53,-71,963,818),27949=>array(50,-45,953,812),27950=>array(52,-60,967,825),27951=>array(53,-68,948,829),27952=>array(54,-52,949,805),27953=>array(56,-64,959,812),27954=>array(57,-70,897,820),27955=>array(56,-64,908,834),27956=>array(48,-65,956,847),27957=>array(50,-59,908,850),27958=>array(56,-63,917,838),27959=>array(55,-57,956,809),27960=>array(59,-75,965,819),27961=>array(54,-53,959,802),27962=>array(55,-72,889,830),27963=>array(43,-70,942,826),27964=>array(50,-54,956,829),27965=>array(50,-59,986,845),27966=>array(51,-72,966,832),27967=>array(58,-63,988,854),27968=>array(48,-73,909,828),27969=>array(40,-70,964,830),27970=>array(48,-73,970,836),27971=>array(49,-74,939,818),27972=>array(48,-61,952,839),27973=>array(46,-70,939,853),27974=>array(34,-61,947,836),27975=>array(37,-63,929,834),27976=>array(62,-80,920,819),27977=>array(46,-71,930,822),27978=>array(57,-54,935,816),27979=>array(48,-63,880,828),27980=>array(45,-63,956,825),27981=>array(45,-68,940,822),27982=>array(36,-64,952,835),27983=>array(55,-68,871,821),27984=>array(54,-68,917,846),27985=>array(57,-60,909,811),27986=>array(46,-69,920,822),27987=>array(40,-58,950,831),27988=>array(43,-64,911,790),27989=>array(54,-64,936,810),27990=>array(46,-66,934,835),27991=>array(56,-63,956,833),27992=>array(66,-64,970,821),27993=>array(41,-65,954,835),27994=>array(24,-54,948,846),27995=>array(42,-70,955,839),27996=>array(47,-65,963,824),27997=>array(52,-45,965,833),27998=>array(50,-54,972,829),27999=>array(50,-76,971,839),28000=>array(40,-65,951,838),28001=>array(60,-63,957,844),28002=>array(63,-44,966,818),28003=>array(56,-64,960,839),28004=>array(52,-65,940,833),28005=>array(45,-35,955,818),28006=>array(42,-52,956,847),28007=>array(53,-43,951,813),28008=>array(57,-68,972,831),28009=>array(29,-63,944,841),28010=>array(62,-63,962,829),28011=>array(46,-60,938,817),28012=>array(48,-49,952,817),28013=>array(47,-70,962,816),28014=>array(46,-68,951,834),28015=>array(54,-47,949,835),28016=>array(55,-65,909,831),28017=>array(54,-70,963,808),28018=>array(54,-72,969,842),28019=>array(57,-76,957,843),28020=>array(53,-60,959,847),28021=>array(43,-74,954,831),28022=>array(46,-69,945,836),28023=>array(42,-62,956,843),28024=>array(42,-69,949,798),28025=>array(43,-67,971,830),28026=>array(54,-67,911,827),28027=>array(50,-65,908,819),28028=>array(42,-65,962,840),28029=>array(53,-66,958,821),28030=>array(53,-70,953,830),28031=>array(56,-78,955,810),28032=>array(51,-66,963,811),28033=>array(55,-76,966,822),28034=>array(48,-68,975,843),28035=>array(52,-71,906,812),28036=>array(55,-68,956,830),28037=>array(28,-26,960,816),28038=>array(44,-67,950,809),28039=>array(50,-38,956,820),28040=>array(64,-67,917,833),28041=>array(48,-58,956,834),28042=>array(55,-52,972,809),28043=>array(56,-71,968,826),28044=>array(49,-61,897,818),28045=>array(50,-67,947,832),28046=>array(36,-66,964,813),28047=>array(63,-68,948,810),28048=>array(59,-67,964,827),28049=>array(49,-68,961,825),28050=>array(45,-68,948,814),28051=>array(74,-65,915,814),28052=>array(53,-67,996,829),28053=>array(42,-68,927,844),28054=>array(39,-48,956,859),28055=>array(57,-70,955,840),28056=>array(37,-53,973,863),28057=>array(36,-68,959,827),28058=>array(54,-64,968,852),28059=>array(61,-61,937,834),28060=>array(41,-59,955,844),28061=>array(52,-54,911,834),28062=>array(44,-59,943,823),28063=>array(44,-58,938,816),28064=>array(49,-63,869,800),28065=>array(41,-70,893,795),28066=>array(51,-67,929,813),28067=>array(22,-63,946,842),28068=>array(45,-59,944,828),28069=>array(50,-61,908,848),28070=>array(62,-53,918,829),28071=>array(46,-62,870,819),28072=>array(45,-60,956,821),28073=>array(53,-41,928,798),28074=>array(45,-67,952,845),28075=>array(51,-65,928,850),28076=>array(67,-67,933,827),28077=>array(76,-69,964,832),28078=>array(63,-66,924,830),28079=>array(39,-64,951,818),28080=>array(58,-67,967,794),28081=>array(50,-69,961,804),28082=>array(52,-68,961,839),28083=>array(66,-52,956,833),28084=>array(43,-56,962,857),28085=>array(53,-63,911,810),28086=>array(69,-50,941,828),28087=>array(85,-71,963,820),28088=>array(53,-65,900,824),28089=>array(51,-72,946,840),28090=>array(72,-73,932,813),28091=>array(54,-72,962,825),28092=>array(49,-61,964,831),28093=>array(66,-71,957,816),28094=>array(82,-68,946,820),28095=>array(54,-51,975,815),28096=>array(54,-74,956,820),28097=>array(54,-71,944,841),28098=>array(78,-65,953,813),28099=>array(50,-50,951,834),28100=>array(65,-62,926,842),28101=>array(40,-58,953,839),28102=>array(54,-64,958,844),28103=>array(48,-65,961,830),28104=>array(65,-80,908,800),28105=>array(84,-71,965,815),28106=>array(57,-70,897,829),28107=>array(28,-63,968,841),28108=>array(45,-62,935,838),28109=>array(66,-77,906,804),28110=>array(66,-67,967,832),28111=>array(88,-74,971,819),28112=>array(85,-69,906,806),28113=>array(31,-66,975,829),28114=>array(35,-66,953,838),28115=>array(63,-72,956,823),28116=>array(69,-56,955,834),28117=>array(80,-60,954,832),28118=>array(38,-65,945,836),28119=>array(59,-62,904,828),28120=>array(47,-58,911,847),28121=>array(40,-62,961,836),28122=>array(48,-66,982,843),28123=>array(71,-71,905,821),28124=>array(74,-75,911,806),28125=>array(40,-62,960,806),28126=>array(29,-65,956,832),28127=>array(37,-54,970,849),28128=>array(46,-64,955,814),28129=>array(47,-62,965,846),28130=>array(79,-70,958,820),28131=>array(50,-58,957,850),28132=>array(40,-61,965,835),28133=>array(40,-64,956,837),28134=>array(50,-36,957,843),28135=>array(50,-39,989,843),28136=>array(57,-61,950,834),28137=>array(47,-73,964,835),28138=>array(39,-58,991,856),28139=>array(41,-42,943,827),28140=>array(24,-61,948,840),28141=>array(70,-68,961,824),28142=>array(43,-59,962,849),28143=>array(50,-66,941,832),28144=>array(38,-53,969,848),28145=>array(44,-68,963,808),28146=>array(57,-79,956,823),28147=>array(50,-61,955,831),28148=>array(34,-33,955,846),28149=>array(47,-65,900,830),28150=>array(52,-65,985,836),28151=>array(55,-60,961,803),28152=>array(39,-64,943,833),28153=>array(42,-37,984,854),28154=>array(42,-60,978,845),28155=>array(53,-55,962,837),28156=>array(49,-68,978,827),28157=>array(64,-53,951,824),28158=>array(51,-69,962,857),28159=>array(70,-68,922,838),28160=>array(76,-80,974,820),28161=>array(47,-68,961,823),28162=>array(51,-60,949,795),28163=>array(41,-70,951,821),28164=>array(44,-62,953,820),28165=>array(39,-67,943,833),28166=>array(42,-57,909,826),28167=>array(39,-63,924,800),28168=>array(42,-60,958,825),28169=>array(39,-67,966,824),28170=>array(59,-72,882,824),28171=>array(48,-31,956,834),28172=>array(46,-60,936,807),28173=>array(54,-75,912,827),28174=>array(52,-60,929,823),28175=>array(52,-62,954,833),28176=>array(36,-63,920,829),28177=>array(50,-48,933,799),28178=>array(36,-65,957,841),28179=>array(46,-57,979,828),28180=>array(50,-48,922,829),28181=>array(42,-57,909,826),28182=>array(60,-72,910,832),28183=>array(51,-61,964,839),28184=>array(82,-69,964,813),28185=>array(34,-65,951,838),28186=>array(47,-65,948,833),28187=>array(54,-76,956,837),28188=>array(50,-72,970,804),28189=>array(33,-76,965,843),28190=>array(81,-71,934,837),28191=>array(46,-62,921,849),28192=>array(53,-68,965,819),28193=>array(49,-71,973,832),28194=>array(29,-54,972,812),28195=>array(33,-29,959,843),28196=>array(63,-77,930,836),28197=>array(48,-70,956,811),28198=>array(51,-59,896,822),28199=>array(62,-71,919,838),28200=>array(46,-76,975,803),28201=>array(36,-61,943,781),28202=>array(61,-80,930,820),28203=>array(45,-65,978,830),28204=>array(64,-65,909,826),28205=>array(65,-65,913,808),28206=>array(50,-65,950,828),28207=>array(47,-56,961,826),28208=>array(54,-67,973,844),28209=>array(49,-49,959,825),28210=>array(55,-39,954,847),28211=>array(40,-70,952,813),28212=>array(62,-65,919,801),28213=>array(49,-70,956,825),28214=>array(57,-79,970,824),28215=>array(49,-58,967,856),28216=>array(54,-77,950,839),28217=>array(49,-50,919,855),28218=>array(28,-71,946,826),28219=>array(46,-72,960,831),28220=>array(58,-65,982,845),28221=>array(51,-74,962,822),28222=>array(43,-57,956,821),28223=>array(45,-67,980,829),28224=>array(52,-76,968,829),28225=>array(49,-72,963,834),28226=>array(52,-60,963,805),28227=>array(44,-61,961,832),28228=>array(80,-69,919,808),28229=>array(39,-46,968,855),28230=>array(43,-69,951,833),28231=>array(41,-73,947,829),28232=>array(48,-59,975,832),28233=>array(50,-71,952,824),28234=>array(49,-69,966,825),28235=>array(46,-71,950,838),28236=>array(52,-63,963,848),28237=>array(54,-64,956,833),28238=>array(43,-64,951,809),28239=>array(47,-71,939,832),28240=>array(48,-65,918,829),28241=>array(45,-48,963,820),28242=>array(52,-71,951,811),28243=>array(43,-53,959,823),28244=>array(50,-65,965,850),28245=>array(40,-73,978,826),28246=>array(68,-68,912,829),28247=>array(69,-61,954,826),28248=>array(69,-65,916,829),28249=>array(69,-38,980,840),28250=>array(54,-70,965,828),28251=>array(38,-65,948,823),28252=>array(49,-65,979,811),28253=>array(55,-69,958,825),28254=>array(60,-77,955,833),28255=>array(42,-37,959,846),28256=>array(55,-66,954,835),28257=>array(52,-66,910,801),28258=>array(55,-72,951,811),28259=>array(48,-44,959,821),28260=>array(43,-57,959,853),28261=>array(45,-70,977,832),28262=>array(52,-46,955,807),28263=>array(44,-68,918,814),28264=>array(49,-67,974,812),28265=>array(45,-64,962,818),28266=>array(49,-63,974,843),28267=>array(50,-67,979,833),28268=>array(25,-67,964,833),28269=>array(29,-65,955,842),28270=>array(34,-50,939,810),28271=>array(51,-68,953,795),28272=>array(43,-48,938,844),28273=>array(56,-65,955,835),28274=>array(41,-56,968,846),28275=>array(55,-64,956,836),28276=>array(53,-40,959,851),28277=>array(45,-60,969,840),28278=>array(45,-70,974,840),28279=>array(49,-70,961,832),28280=>array(52,-70,961,830),28281=>array(49,-68,956,806),28282=>array(64,-65,949,840),28283=>array(45,-64,954,845),28284=>array(48,-46,948,821),28285=>array(65,-62,952,843),28286=>array(54,-61,953,836),28287=>array(49,-39,933,804),28288=>array(38,-59,922,828),28289=>array(44,-70,962,818),28290=>array(44,-67,903,831),28291=>array(48,-64,919,827),28292=>array(48,-63,969,840),28293=>array(29,-63,931,833),28294=>array(42,-69,949,817),28295=>array(29,-52,928,837),28296=>array(46,-68,939,839),28297=>array(48,-64,963,811),28298=>array(48,-67,969,817),28299=>array(48,-33,965,817),28300=>array(46,-61,966,823),28301=>array(49,-69,961,816),28302=>array(44,-54,954,849),28303=>array(37,-65,949,828),28304=>array(48,-70,943,799),28305=>array(51,-72,935,836),28306=>array(43,-71,960,827),28307=>array(65,-71,953,831),28308=>array(50,-74,971,833),28309=>array(50,-60,965,799),28310=>array(54,-67,951,843),28311=>array(38,-70,967,836),28312=>array(31,-41,938,832),28313=>array(45,-70,987,845),28314=>array(55,-68,966,827),28315=>array(55,-74,976,838),28316=>array(45,-66,925,830),28317=>array(43,-67,948,829),28318=>array(64,-72,963,806),28319=>array(48,-66,966,807),28320=>array(55,-45,952,835),28321=>array(35,-70,954,824),28322=>array(48,-34,952,839),28323=>array(38,-67,973,848),28324=>array(41,-71,932,797),28325=>array(53,-64,951,835),28326=>array(46,-69,964,830),28327=>array(51,-62,967,804),28328=>array(51,-59,972,842),28329=>array(26,-60,928,839),28330=>array(26,-69,977,838),28331=>array(53,-59,959,784),28332=>array(53,-59,980,829),28333=>array(53,-59,973,802),28334=>array(52,-68,968,838),28335=>array(66,-70,922,837),28336=>array(58,-49,954,830),28337=>array(44,-66,986,840),28338=>array(34,-64,970,837),28339=>array(51,-71,969,811),28340=>array(56,-67,975,842),28341=>array(56,-71,989,836),28342=>array(53,-68,964,835),28343=>array(46,-65,905,818),28344=>array(56,-67,980,830),28345=>array(62,-65,958,831),28346=>array(54,-60,927,803),28347=>array(57,-63,878,808),28348=>array(57,-41,959,816),28349=>array(36,-64,950,810),28350=>array(45,-64,965,851),28351=>array(45,-70,958,824),28352=>array(55,-73,950,835),28353=>array(44,-65,978,840),28354=>array(51,-62,959,848),28355=>array(36,-52,973,812),28356=>array(46,-65,991,863),28357=>array(53,-68,954,828),28358=>array(55,-68,951,802),28359=>array(53,-69,962,844),28360=>array(63,-64,954,839),28361=>array(47,-62,962,813),28362=>array(55,-63,972,847),28363=>array(45,-65,944,841),28364=>array(38,-58,978,853),28365=>array(48,-73,946,831),28366=>array(46,-65,952,830),28367=>array(35,-49,969,836),28368=>array(43,-68,970,835),28369=>array(49,-62,926,811),28370=>array(57,-74,951,797),28371=>array(41,-66,952,840),28372=>array(57,-65,950,836),28373=>array(27,-64,958,824),28374=>array(53,-71,965,836),28375=>array(43,-49,924,827),28376=>array(48,-61,959,814),28377=>array(47,-39,951,828),28378=>array(44,-79,961,841),28379=>array(43,-76,939,820),28380=>array(54,-70,987,852),28381=>array(44,-51,958,835),28382=>array(43,-72,938,829),28383=>array(37,-63,926,826),28384=>array(46,-64,943,805),28385=>array(38,-59,922,828),28386=>array(37,-43,921,824),28387=>array(37,-76,979,791),28388=>array(39,-57,940,832),28389=>array(45,-54,920,828),28390=>array(46,-60,951,841),28391=>array(46,-54,978,852),28392=>array(43,-70,927,844),28393=>array(40,-39,917,834),28394=>array(45,-69,969,810),28395=>array(50,-68,960,836),28396=>array(44,-64,963,815),28397=>array(55,-74,953,799),28398=>array(55,-75,977,832),28399=>array(45,-68,950,829),28400=>array(61,-65,952,847),28401=>array(61,-71,970,838),28402=>array(45,-68,945,859),28403=>array(36,-80,923,826),28404=>array(36,-68,954,831),28405=>array(49,-73,966,842),28406=>array(56,-73,972,829),28407=>array(63,-64,953,837),28408=>array(38,-64,951,832),28409=>array(54,-66,955,839),28410=>array(50,-49,956,818),28411=>array(50,-64,959,844),28412=>array(54,-60,967,826),28413=>array(56,-68,956,839),28414=>array(57,-68,961,827),28415=>array(46,-69,948,830),28416=>array(33,-72,961,826),28417=>array(44,-60,972,850),28418=>array(23,-65,971,795),28419=>array(51,-73,974,836),28420=>array(55,-81,952,832),28421=>array(55,-70,962,834),28422=>array(29,-64,969,838),28423=>array(51,-74,973,831),28424=>array(51,-68,955,830),28425=>array(41,-70,970,828),28426=>array(35,-72,945,837),28427=>array(41,-67,985,845),28428=>array(35,-41,965,830),28429=>array(50,-71,898,813),28430=>array(52,-73,968,827),28431=>array(46,-67,956,800),28432=>array(66,-71,964,840),28433=>array(47,-52,959,847),28434=>array(57,-74,963,830),28435=>array(37,-58,943,841),28436=>array(40,-66,960,840),28437=>array(38,-65,956,837),28438=>array(47,-62,972,833),28439=>array(46,-54,962,843),28440=>array(51,-53,964,821),28441=>array(69,-68,964,831),28442=>array(42,-31,957,805),28443=>array(46,-45,983,828),28444=>array(47,-52,964,824),28445=>array(50,-65,919,804),28446=>array(56,-69,961,827),28447=>array(51,-28,954,839),28448=>array(28,-63,974,840),28449=>array(56,-70,954,838),28450=>array(38,-68,962,838),28451=>array(37,-58,963,833),28452=>array(38,-63,948,819),28453=>array(50,-52,954,836),28454=>array(38,-68,978,841),28455=>array(47,-67,961,832),28456=>array(61,-70,972,843),28457=>array(38,-62,973,849),28458=>array(41,-62,961,829),28459=>array(36,-68,972,806),28460=>array(47,-69,969,837),28461=>array(57,-70,968,827),28462=>array(49,-69,959,844),28463=>array(50,-60,962,819),28464=>array(40,-68,908,842),28465=>array(39,-71,970,837),28466=>array(44,-68,962,816),28467=>array(41,-67,952,843),28468=>array(47,-76,934,824),28469=>array(33,-58,966,833),28470=>array(34,-35,958,829),28471=>array(37,-71,953,838),28472=>array(48,-68,956,836),28473=>array(56,-68,955,814),28474=>array(51,-72,968,823),28475=>array(47,-71,966,808),28476=>array(51,-70,955,823),28477=>array(63,-74,957,805),28478=>array(45,-62,974,840),28479=>array(36,-68,959,839),28480=>array(43,-50,962,814),28481=>array(38,-66,956,831),28482=>array(54,-58,945,833),28483=>array(50,-71,964,832),28484=>array(51,-65,972,846),28485=>array(45,-72,936,843),28486=>array(37,-63,913,825),28487=>array(43,-66,951,824),28488=>array(39,-55,971,824),28489=>array(44,-54,943,840),28490=>array(36,-61,967,831),28491=>array(40,-65,946,824),28492=>array(48,-46,944,841),28493=>array(40,-43,923,832),28494=>array(48,-71,977,824),28495=>array(51,-70,920,801),28496=>array(52,-64,974,838),28497=>array(30,-63,983,846),28498=>array(50,-64,977,828),28499=>array(55,-52,985,824),28500=>array(57,-68,951,823),28501=>array(47,-71,978,829),28502=>array(53,-45,958,801),28503=>array(49,-66,979,848),28504=>array(33,-66,969,832),28505=>array(31,-60,945,837),28506=>array(41,-59,954,846),28507=>array(55,-65,964,837),28508=>array(53,-48,956,840),28509=>array(44,-70,985,841),28510=>array(42,-65,972,833),28511=>array(58,-64,922,846),28512=>array(40,-70,955,797),28513=>array(49,-71,981,841),28514=>array(37,-66,955,832),28515=>array(48,-68,908,809),28516=>array(71,-69,915,794),28517=>array(69,-72,960,793),28518=>array(44,-64,968,838),28519=>array(52,-70,915,824),28520=>array(69,-62,966,847),28521=>array(49,-74,960,807),28522=>array(52,-71,916,832),28523=>array(49,-68,975,828),28524=>array(49,-69,951,805),28525=>array(40,-71,962,805),28526=>array(58,-79,905,832),28527=>array(44,-62,952,805),28528=>array(57,-68,960,837),28529=>array(57,-56,937,839),28530=>array(57,-70,950,828),28531=>array(50,-71,948,808),28532=>array(36,-63,934,823),28533=>array(38,-69,963,832),28534=>array(48,-63,977,807),28535=>array(52,-72,956,829),28536=>array(32,-71,964,834),28537=>array(32,-51,968,819),28538=>array(38,-68,960,808),28539=>array(48,-68,975,823),28540=>array(53,-49,953,845),28541=>array(51,-71,956,836),28542=>array(49,-74,974,821),28543=>array(36,-65,904,813),28544=>array(33,-38,956,810),28545=>array(46,-60,959,836),28546=>array(42,-69,974,838),28547=>array(33,-78,961,817),28548=>array(46,-52,964,837),28549=>array(45,-50,952,828),28550=>array(51,-61,973,840),28551=>array(44,-56,949,846),28552=>array(45,-70,974,841),28553=>array(35,-66,975,831),28554=>array(48,-62,957,851),28555=>array(50,-71,952,804),28556=>array(37,-64,954,843),28557=>array(42,-62,955,830),28558=>array(36,-59,972,845),28559=>array(34,-58,934,813),28560=>array(46,-75,954,812),28561=>array(40,-49,923,804),28562=>array(42,-56,973,818),28563=>array(49,-68,961,835),28564=>array(32,-50,950,853),28565=>array(55,-69,947,826),28566=>array(46,-68,906,812),28567=>array(37,-60,894,820),28568=>array(32,-51,956,834),28569=>array(41,-70,960,835),28570=>array(32,-68,949,844),28571=>array(32,-74,943,835),28572=>array(52,-58,883,820),28573=>array(44,-59,945,847),28574=>array(68,-74,972,826),28575=>array(62,-63,977,854),28576=>array(40,-46,962,804),28577=>array(39,-67,977,795),28578=>array(59,-68,910,824),28579=>array(41,-65,976,837),28580=>array(35,-68,956,822),28581=>array(66,-73,952,822),28582=>array(45,-69,969,810),28583=>array(43,-41,951,833),28584=>array(41,-43,951,850),28585=>array(87,-68,924,833),28586=>array(55,-77,995,820),28587=>array(66,-65,946,825),28588=>array(62,-79,965,825),28589=>array(71,-71,954,839),28590=>array(19,-65,969,855),28591=>array(69,-70,963,823),28592=>array(63,-69,970,836),28593=>array(45,-68,975,808),28594=>array(68,-69,958,823),28595=>array(24,-68,963,851),28596=>array(35,-73,976,806),28597=>array(35,-55,948,828),28598=>array(42,-44,956,849),28599=>array(36,-57,941,819),28600=>array(52,-57,962,831),28601=>array(28,-56,941,856),28602=>array(75,-53,975,837),28603=>array(45,-56,944,843),28604=>array(42,-65,953,841),28605=>array(56,-66,957,828),28606=>array(37,-57,951,833),28607=>array(71,-71,961,822),28608=>array(40,-72,962,840),28609=>array(54,-59,914,815),28610=>array(28,-68,962,830),28611=>array(34,-75,965,840),28612=>array(74,-68,974,810),28613=>array(39,-54,984,853),28614=>array(47,-67,966,836),28615=>array(41,-44,951,855),28616=>array(43,-68,964,818),28617=>array(44,-66,954,839),28618=>array(69,-78,964,825),28619=>array(77,-70,987,820),28620=>array(49,-71,970,824),28621=>array(70,-57,969,826),28622=>array(74,-68,954,812),28623=>array(68,-65,967,822),28624=>array(68,-64,986,822),28625=>array(39,-63,935,826),28626=>array(49,-58,951,835),28627=>array(28,-68,962,850),28628=>array(51,-71,958,802),28629=>array(53,-70,963,799),28630=>array(69,-63,961,802),28631=>array(39,-63,991,835),28632=>array(39,-60,956,849),28633=>array(52,-49,952,839),28634=>array(52,-65,937,829),28635=>array(43,-62,952,837),28636=>array(54,-54,957,826),28637=>array(53,-69,974,829),28638=>array(42,-64,962,859),28639=>array(48,-71,954,838),28640=>array(35,-59,967,834),28641=>array(40,-68,938,812),28642=>array(45,-70,952,801),28643=>array(59,-73,979,831),28644=>array(40,-58,963,841),28645=>array(40,-60,975,848),28646=>array(35,-63,959,826),28647=>array(55,-68,954,827),28648=>array(53,-41,965,841),28649=>array(51,-68,963,829),28650=>array(49,-43,972,842),28651=>array(47,-55,963,842),28652=>array(53,-64,972,829),28653=>array(58,-60,962,815),28654=>array(20,-68,957,831),28655=>array(41,-65,955,808),28656=>array(50,-61,956,839),28657=>array(46,-73,966,845),28658=>array(45,-78,963,822),28659=>array(52,-69,966,827),28660=>array(47,-68,955,826),28661=>array(79,-57,930,840),28662=>array(47,-65,901,815),28663=>array(51,-64,951,834),28664=>array(46,-65,984,837),28665=>array(24,-29,960,802),28666=>array(35,-69,964,845),28667=>array(50,-76,963,828),28668=>array(25,-73,978,842),28669=>array(45,-72,960,834),28670=>array(43,-71,967,841),28671=>array(56,-67,939,812),28672=>array(56,-70,959,809),28673=>array(46,-78,969,838),28674=>array(63,-61,974,849),28675=>array(58,-57,957,824),28676=>array(76,-68,952,829),28677=>array(52,-43,957,836),28678=>array(41,-71,933,834),28679=>array(45,-83,940,831),28680=>array(45,-70,937,817),28681=>array(36,-59,929,846),28682=>array(40,-52,955,824),28683=>array(48,-65,952,838),28684=>array(42,-62,951,837),28685=>array(47,-54,956,863),28686=>array(47,-67,950,833),28687=>array(61,-67,933,834),28688=>array(59,-62,942,830),28689=>array(34,-68,973,797),28690=>array(41,-43,981,856),28691=>array(39,-67,970,834),28692=>array(49,-71,970,822),28693=>array(37,-71,965,821),28694=>array(44,-65,942,820),28695=>array(41,-53,949,839),28696=>array(48,-67,962,841),28697=>array(51,-70,970,844),28698=>array(39,-59,976,848),28699=>array(48,-71,956,838),28700=>array(36,-69,967,826),28701=>array(38,-59,967,820),28702=>array(44,-65,959,844),28703=>array(40,-65,959,833),28704=>array(46,-63,967,838),28705=>array(35,-69,967,832),28706=>array(41,-64,974,829),28707=>array(24,-42,961,835),28708=>array(51,-72,964,841),28709=>array(45,-71,938,817),28710=>array(40,-65,951,833),28711=>array(45,-68,963,827),28712=>array(42,-71,973,829),28713=>array(40,-66,966,830),28714=>array(55,-65,960,843),28715=>array(46,-73,975,829),28716=>array(42,-73,961,829),28717=>array(50,-70,978,849),28718=>array(50,-66,963,824),28719=>array(55,-63,951,841),28720=>array(48,-62,975,808),28721=>array(42,-63,942,832),28722=>array(40,-67,987,849),28723=>array(50,-64,952,831),28724=>array(36,-70,957,833),28725=>array(53,-76,969,840),28726=>array(54,-63,936,840),28727=>array(44,-68,949,825),28728=>array(41,-60,974,841),28729=>array(39,-62,990,852),28730=>array(43,-65,962,848),28731=>array(37,-71,966,829),28732=>array(39,-58,975,848),28733=>array(49,-64,950,845),28734=>array(59,-70,923,797),28735=>array(52,-65,959,839),28736=>array(53,-61,936,832),28737=>array(56,-65,921,825),28738=>array(55,-62,964,840),28739=>array(59,-59,964,826),28740=>array(46,-63,961,814),28741=>array(45,-46,958,804),28742=>array(36,-45,949,826),28743=>array(41,-62,952,834),28744=>array(45,-65,954,806),28745=>array(51,-68,956,834),28746=>array(50,-67,960,808),28747=>array(46,-76,941,844),28748=>array(49,-70,953,829),28749=>array(49,-67,930,790),28750=>array(39,-36,964,836),28751=>array(33,-67,935,805),28752=>array(56,-37,950,836),28753=>array(46,-67,969,819),28754=>array(46,-69,958,824),28755=>array(36,-68,959,832),28756=>array(41,-66,972,832),28757=>array(41,-62,965,856),28758=>array(49,-65,956,843),28759=>array(48,-55,964,832),28760=>array(34,-72,960,837),28761=>array(52,-78,941,836),28762=>array(37,-66,963,829),28763=>array(50,-64,910,823),28764=>array(48,-71,946,838),28765=>array(46,-69,973,813),28766=>array(32,-71,925,815),28767=>array(55,-69,938,815),28768=>array(47,-66,954,837),28769=>array(45,-57,948,839),28770=>array(44,-70,988,830),28771=>array(50,-69,940,839),28772=>array(28,-63,975,844),28773=>array(45,-68,965,845),28774=>array(34,-73,964,816),28775=>array(39,-36,972,839),28776=>array(44,-77,954,834),28777=>array(38,-36,964,839),28778=>array(48,-67,944,830),28779=>array(85,-66,919,815),28780=>array(39,223,932,469),28781=>array(45,-61,955,771),28782=>array(49,-64,954,829),28783=>array(49,-91,942,814),28784=>array(32,-59,959,782),28785=>array(70,-70,908,825),28786=>array(146,-68,889,832),28787=>array(59,-57,917,833),28788=>array(58,-66,959,827),28789=>array(53,-63,926,790),28790=>array(64,-77,964,824),28791=>array(54,-65,949,829),28792=>array(54,-62,956,840),28793=>array(79,-70,943,837),28794=>array(58,-69,966,819),28795=>array(53,-64,953,830),28796=>array(50,-77,920,832),28797=>array(53,-64,953,817),28798=>array(45,-72,925,835),28799=>array(37,-81,903,826),28800=>array(32,-63,899,826),28801=>array(37,-69,960,800),28802=>array(53,-67,960,826),28803=>array(42,-73,969,780),28804=>array(46,-70,961,825),28805=>array(46,-52,965,804),28806=>array(50,-71,987,835),28807=>array(81,-74,956,838),28808=>array(73,-70,964,825),28809=>array(34,-65,925,828),28810=>array(59,-72,964,840),28811=>array(59,-72,959,832),28812=>array(59,-72,957,849),28813=>array(59,-72,964,832),28814=>array(66,-77,962,829),28815=>array(59,-73,964,837),28816=>array(59,-72,956,834),28817=>array(48,-65,975,831),28818=>array(44,-74,965,833),28819=>array(55,-86,963,820),28820=>array(59,-74,970,828),28821=>array(48,-69,955,836),28822=>array(39,-66,966,826),28823=>array(57,-73,960,829),28824=>array(62,-70,954,840),28825=>array(57,-73,960,840),28826=>array(100,-75,967,827),28827=>array(39,-59,949,833),28828=>array(35,-71,889,822),28829=>array(37,-62,937,827),28830=>array(37,-68,954,823),28831=>array(56,-68,956,822),28832=>array(73,-70,914,831),28833=>array(54,-66,956,826),28834=>array(62,-70,956,831),28835=>array(62,-70,961,831),28836=>array(69,-66,920,829),28837=>array(50,-62,932,829),28838=>array(62,-70,968,844),28839=>array(62,-70,943,831),28840=>array(63,-70,953,852),28841=>array(49,-73,957,829),28842=>array(54,-70,914,831),28843=>array(49,-72,961,822),28844=>array(48,-72,951,831),28845=>array(37,-69,959,830),28846=>array(55,-72,948,839),28847=>array(60,-71,915,830),28848=>array(34,-61,971,849),28849=>array(37,-62,986,838),28850=>array(62,-70,954,838),28851=>array(45,-69,950,827),28852=>array(48,-74,968,825),28853=>array(51,-71,965,834),28854=>array(62,-70,931,831),28855=>array(39,-72,942,828),28856=>array(59,-71,951,842),28857=>array(50,-71,950,830),28858=>array(62,-64,920,838),28859=>array(35,-68,911,823),28860=>array(35,-60,942,832),28861=>array(38,-64,940,830),28862=>array(53,-70,967,820),28863=>array(34,-65,965,844),28864=>array(39,-70,921,825),28865=>array(29,-68,943,830),28866=>array(32,-56,936,833),28867=>array(35,-63,923,823),28868=>array(35,-66,970,846),28869=>array(52,-55,956,832),28870=>array(48,-65,953,832),28871=>array(55,-65,965,830),28872=>array(58,-61,954,831),28873=>array(47,-71,957,843),28874=>array(41,-85,956,841),28875=>array(42,-61,973,849),28876=>array(35,-71,933,837),28877=>array(55,-64,956,826),28878=>array(45,-73,958,788),28879=>array(68,-63,887,845),28880=>array(34,-65,965,844),28881=>array(54,-63,964,829),28882=>array(47,-74,968,824),28883=>array(49,-56,953,832),28884=>array(57,-61,910,831),28885=>array(53,-64,959,832),28886=>array(82,-58,957,839),28887=>array(49,-68,959,835),28888=>array(49,-71,949,830),28889=>array(48,-75,968,839),28890=>array(53,-68,969,833),28891=>array(35,-60,944,826),28892=>array(55,-64,959,837),28893=>array(50,-58,966,785),28894=>array(46,-68,953,830),28895=>array(62,-75,919,834),28896=>array(48,-68,953,829),28897=>array(56,-71,933,831),28898=>array(44,-63,960,827),28899=>array(48,-75,956,829),28900=>array(43,-77,953,832),28901=>array(43,-77,949,825),28902=>array(34,-62,926,831),28903=>array(34,-74,934,818),28904=>array(54,-66,927,824),28905=>array(31,-65,931,841),28906=>array(31,-73,970,836),28907=>array(49,-70,931,812),28908=>array(26,-64,936,833),28909=>array(45,-63,951,829),28910=>array(68,-70,931,828),28911=>array(47,-82,944,842),28912=>array(43,-70,956,826),28913=>array(42,-51,915,839),28914=>array(63,-70,931,825),28915=>array(41,-65,956,831),28916=>array(56,-76,954,820),28917=>array(56,-72,947,831),28918=>array(38,-70,972,826),28919=>array(51,-75,960,837),28920=>array(53,-68,953,824),28921=>array(50,-72,955,842),28922=>array(55,-73,970,831),28923=>array(47,-67,967,829),28924=>array(44,-66,965,826),28925=>array(39,-81,969,839),28926=>array(46,-24,968,815),28927=>array(51,-77,959,833),28928=>array(45,-70,964,823),28929=>array(59,-66,962,826),28930=>array(38,-66,972,836),28931=>array(71,-71,954,835),28932=>array(33,-60,963,804),28933=>array(49,-71,951,832),28934=>array(49,-71,897,824),28935=>array(49,-71,911,833),28936=>array(46,-70,980,846),28937=>array(62,-63,937,798),28938=>array(49,-70,954,832),28939=>array(46,-70,980,829),28940=>array(57,-69,961,849),28941=>array(46,-70,914,829),28942=>array(57,-75,958,829),28943=>array(53,-61,961,775),28944=>array(48,-70,953,826),28945=>array(48,-67,917,826),28946=>array(58,-69,904,826),28947=>array(46,-70,968,833),28948=>array(55,-72,911,828),28949=>array(20,-77,948,832),28950=>array(33,-67,878,825),28951=>array(56,-65,929,835),28952=>array(39,-66,936,817),28953=>array(45,-79,947,831),28954=>array(61,-64,959,823),28955=>array(112,-72,911,781),28956=>array(51,-63,974,832),28957=>array(48,-67,960,833),28958=>array(50,-69,953,830),28959=>array(45,-67,953,831),28960=>array(39,-65,967,845),28961=>array(45,-63,951,844),28962=>array(48,-68,950,829),28963=>array(52,-75,956,785),28964=>array(48,-70,956,844),28965=>array(44,-72,961,845),28966=>array(48,-65,954,836),28967=>array(48,-67,968,826),28968=>array(48,-69,889,826),28969=>array(38,-67,895,826),28970=>array(48,-71,953,846),28971=>array(48,-67,937,826),28972=>array(65,-67,929,826),28973=>array(69,-62,936,839),28974=>array(38,-66,977,841),28975=>array(56,-70,957,837),28976=>array(53,-79,893,837),28977=>array(37,-66,971,840),28978=>array(49,-69,966,841),28979=>array(65,-67,954,834),28980=>array(40,-61,951,838),28981=>array(46,-73,910,824),28982=>array(62,-67,961,838),28983=>array(48,-67,951,850),28984=>array(59,-67,959,803),28985=>array(48,-67,897,826),28986=>array(50,-72,955,827),28987=>array(48,-67,905,826),28988=>array(56,-74,963,829),28989=>array(69,-70,959,821),28990=>array(37,-61,971,840),28991=>array(48,-68,967,855),28992=>array(37,-61,907,829),28993=>array(43,-70,957,832),28994=>array(40,-71,953,826),28995=>array(64,-70,979,847),28996=>array(41,-72,955,829),28997=>array(32,-72,971,829),28998=>array(38,-63,969,835),28999=>array(60,-65,959,829),29000=>array(28,-67,971,826),29001=>array(46,-69,968,830),29002=>array(51,-67,959,841),29003=>array(51,-71,957,826),29004=>array(42,-71,948,849),29005=>array(36,-73,986,827),29006=>array(55,-77,955,839),29007=>array(48,-67,933,826),29008=>array(50,-70,977,830),29009=>array(66,-70,961,831),29010=>array(45,-65,967,846),29011=>array(40,-73,953,828),29012=>array(36,-70,941,838),29013=>array(43,-72,949,793),29014=>array(40,-73,967,844),29015=>array(56,-72,975,835),29016=>array(47,-68,977,826),29017=>array(53,-63,953,832),29018=>array(38,-66,967,807),29019=>array(38,-73,977,788),29020=>array(46,-67,954,827),29021=>array(44,-79,897,823),29022=>array(34,-71,940,836),29023=>array(45,-75,906,825),29024=>array(32,-57,973,836),29025=>array(35,-75,977,829),29026=>array(66,-68,938,833),29027=>array(42,-68,977,829),29028=>array(44,-68,964,833),29029=>array(39,-62,969,834),29030=>array(48,-66,955,843),29031=>array(67,-62,950,788),29032=>array(35,-71,960,828),29033=>array(49,-76,959,829),29034=>array(48,-75,952,842),29035=>array(50,-62,974,840),29036=>array(38,-75,954,826),29037=>array(49,-61,954,830),29038=>array(54,-79,955,831),29039=>array(50,-65,961,832),29040=>array(46,-75,906,829),29041=>array(51,-69,911,828),29042=>array(49,-67,962,837),29043=>array(26,-70,883,823),29044=>array(56,-69,950,828),29045=>array(51,-67,959,831),29046=>array(43,-55,970,837),29047=>array(43,-73,969,846),29048=>array(50,-63,939,832),29049=>array(51,-69,966,829),29050=>array(49,-69,950,826),29051=>array(44,-72,956,836),29052=>array(56,-69,926,850),29053=>array(41,-72,921,822),29054=>array(51,-69,950,828),29055=>array(46,-71,959,838),29056=>array(49,-74,964,827),29057=>array(51,-68,952,836),29058=>array(44,-68,967,831),29059=>array(47,-69,962,840),29060=>array(34,-71,964,847),29061=>array(57,-75,956,820),29062=>array(51,-67,956,829),29063=>array(57,-65,959,843),29064=>array(43,-72,949,801),29065=>array(53,-80,964,826),29066=>array(40,-70,947,844),29067=>array(58,-72,968,838),29068=>array(51,-63,905,831),29069=>array(51,-72,937,843),29070=>array(48,-71,956,827),29071=>array(45,-72,949,834),29072=>array(46,-77,956,832),29073=>array(51,-69,966,850),29074=>array(58,-63,949,839),29075=>array(56,-69,928,839),29076=>array(51,-71,962,835),29077=>array(56,-69,969,828),29078=>array(53,-76,933,835),29079=>array(40,-72,981,850),29080=>array(42,-63,890,830),29081=>array(43,-72,949,785),29082=>array(51,-55,959,835),29083=>array(32,-61,945,832),29084=>array(49,-52,977,830),29085=>array(40,-69,968,846),29086=>array(48,-61,977,825),29087=>array(38,-67,960,831),29088=>array(39,-70,909,835),29089=>array(51,-72,955,826),29090=>array(51,-69,962,843),29091=>array(51,-69,953,833),29092=>array(48,-62,953,827),29093=>array(32,-70,973,824),29094=>array(56,-65,949,837),29095=>array(46,-70,973,839),29096=>array(35,-63,964,830),29097=>array(42,-71,964,826),29098=>array(41,-71,931,825),29099=>array(51,-69,962,851),29100=>array(30,-72,940,833),29101=>array(35,-66,962,835),29102=>array(49,-70,968,827),29103=>array(46,-59,969,843),29104=>array(54,-61,956,825),29105=>array(47,-69,949,831),29106=>array(41,-76,968,821),29107=>array(43,-62,983,833),29108=>array(36,-61,964,838),29109=>array(32,-67,951,848),29110=>array(26,-67,962,828),29111=>array(43,-62,917,853),29112=>array(32,-61,964,835),29113=>array(41,-62,965,835),29114=>array(37,-65,956,836),29115=>array(34,-63,991,848),29116=>array(42,-73,958,826),29117=>array(38,-68,946,824),29118=>array(36,-75,956,837),29119=>array(54,-75,967,831),29120=>array(47,-68,954,825),29121=>array(43,-65,953,832),29122=>array(46,-67,956,826),29123=>array(45,-75,959,831),29124=>array(47,-66,970,842),29125=>array(41,-75,971,826),29126=>array(44,-68,969,826),29127=>array(47,-67,954,835),29128=>array(35,-85,963,837),29129=>array(46,-73,973,837),29130=>array(44,-63,974,839),29131=>array(38,-73,963,837),29132=>array(51,-75,967,827),29133=>array(46,-67,954,836),29134=>array(41,-73,969,850),29135=>array(50,-66,925,830),29136=>array(49,-68,959,833),29137=>array(37,-61,933,844),29138=>array(48,-74,955,829),29139=>array(39,-71,968,836),29140=>array(32,-65,965,837),29141=>array(45,-67,952,828),29142=>array(43,-56,954,833),29143=>array(22,-68,911,829),29144=>array(48,-67,914,829),29145=>array(53,-72,968,798),29146=>array(44,-74,969,828),29147=>array(43,-74,972,785),29148=>array(43,-65,928,829),29149=>array(46,-67,967,824),29150=>array(34,-67,969,837),29151=>array(84,-68,903,832),29152=>array(54,-69,952,825),29153=>array(42,-70,957,825),29154=>array(47,-67,969,838),29155=>array(44,-68,968,849),29156=>array(44,-68,951,822),29157=>array(33,-71,973,829),29158=>array(38,-69,971,836),29159=>array(36,-74,960,823),29160=>array(37,-69,962,847),29161=>array(37,-71,962,845),29162=>array(30,-63,979,836),29163=>array(61,-79,969,847),29164=>array(53,-64,974,835),29165=>array(61,-79,927,828),29166=>array(55,-80,967,830),29167=>array(43,-77,956,820),29168=>array(49,-73,977,829),29169=>array(53,-75,976,830),29170=>array(46,-72,951,843),29171=>array(49,-75,977,823),29172=>array(39,-73,971,857),29173=>array(39,-73,954,835),29174=>array(41,-70,984,838),29175=>array(48,-70,921,857),29176=>array(41,-70,945,830),29177=>array(43,-67,972,784),29178=>array(63,-63,943,853),29179=>array(54,-70,971,831),29180=>array(39,-70,954,830),29181=>array(44,-67,952,833),29182=>array(48,-67,967,833),29183=>array(37,-64,957,831),29184=>array(48,-69,951,831),29185=>array(41,-69,951,823),29186=>array(57,-69,964,840),29187=>array(45,-65,961,831),29188=>array(45,-65,948,827),29189=>array(45,-65,963,827),29190=>array(37,-72,967,828),29191=>array(49,-63,973,839),29192=>array(33,-68,965,838),29193=>array(47,-76,971,847),29194=>array(33,-68,962,839),29195=>array(55,-68,930,833),29196=>array(37,-75,948,841),29197=>array(36,-73,972,847),29198=>array(37,-64,990,845),29199=>array(27,-64,956,827),29200=>array(43,-71,954,830),29201=>array(43,-71,980,837),29202=>array(61,-80,961,858),29203=>array(54,-67,918,829),29204=>array(46,-62,972,841),29205=>array(50,-73,971,843),29206=>array(40,-63,962,843),29207=>array(36,-68,953,826),29208=>array(40,-83,979,841),29209=>array(36,-71,970,838),29210=>array(51,-75,973,824),29211=>array(53,-70,923,830),29212=>array(53,-70,962,834),29213=>array(39,-63,956,843),29214=>array(41,-70,962,831),29215=>array(36,-64,962,837),29216=>array(36,-68,960,830),29217=>array(36,-73,949,842),29218=>array(44,-75,958,845),29219=>array(47,-76,972,831),29220=>array(47,-66,942,830),29221=>array(47,-68,933,827),29222=>array(35,-67,975,838),29223=>array(48,-73,953,824),29224=>array(35,-70,968,830),29225=>array(40,-73,954,822),29226=>array(63,-64,944,835),29227=>array(83,181,938,697),29228=>array(50,-62,958,837),29229=>array(71,-73,924,824),29230=>array(50,-62,958,837),29231=>array(56,-67,950,846),29232=>array(54,-65,957,846),29233=>array(52,-73,943,824),29234=>array(33,-70,934,852),29235=>array(69,-52,916,844),29236=>array(74,-66,970,829),29237=>array(64,-61,943,842),29238=>array(95,-57,923,825),29239=>array(67,-62,951,823),29240=>array(45,-16,954,844),29241=>array(52,-79,964,839),29242=>array(55,-62,961,843),29243=>array(48,-63,960,840),29244=>array(66,-11,962,773),29245=>array(52,-69,963,835),29246=>array(50,-73,940,785),29247=>array(49,-69,732,820),29248=>array(42,-65,969,825),29249=>array(46,-71,951,829),29250=>array(46,-64,954,851),29251=>array(46,-64,968,831),29252=>array(36,-71,969,841),29253=>array(46,-73,949,851),29254=>array(39,-67,951,833),29255=>array(48,-75,895,829),29256=>array(34,-73,966,818),29257=>array(57,-77,957,826),29258=>array(50,-74,909,821),29259=>array(42,-70,966,840),29260=>array(42,-62,944,837),29261=>array(18,-75,927,819),29262=>array(18,-66,960,848),29263=>array(39,-57,950,853),29264=>array(18,-76,940,836),29265=>array(32,-78,922,833),29266=>array(34,-66,968,831),29267=>array(40,-70,957,846),29268=>array(23,-71,959,838),29269=>array(34,-66,959,839),29270=>array(31,-68,951,839),29271=>array(40,-73,949,851),29272=>array(33,-84,955,835),29273=>array(59,-53,929,780),29274=>array(51,-61,939,836),29275=>array(81,-68,939,830),29276=>array(155,-67,719,829),29277=>array(47,-67,938,829),29278=>array(51,-62,914,832),29279=>array(53,-67,947,844),29280=>array(43,-62,964,838),29281=>array(42,-62,953,829),29282=>array(56,-65,944,833),29283=>array(57,-49,914,844),29284=>array(57,-48,931,844),29285=>array(57,-67,954,849),29286=>array(34,-75,937,828),29287=>array(50,-68,974,840),29288=>array(50,-64,957,843),29289=>array(68,-73,921,829),29290=>array(48,-71,954,833),29291=>array(48,-71,949,825),29292=>array(39,-74,927,823),29293=>array(49,-69,937,826),29294=>array(55,-68,972,844),29295=>array(49,-67,949,829),29296=>array(50,-72,908,833),29297=>array(50,-66,960,833),29298=>array(44,-65,954,831),29299=>array(44,-66,960,825),29300=>array(48,-67,968,843),29301=>array(82,-61,934,845),29302=>array(43,-67,976,838),29303=>array(58,-69,984,827),29304=>array(54,-52,962,848),29305=>array(50,-68,944,831),29306=>array(26,-62,923,830),29307=>array(42,-68,950,838),29308=>array(52,-68,951,825),29309=>array(76,-67,945,838),29310=>array(52,-62,956,833),29311=>array(52,-52,955,842),29312=>array(45,-69,933,800),29313=>array(68,-61,945,835),29314=>array(59,-63,954,849),29315=>array(58,-65,956,848),29316=>array(45,-65,949,838),29317=>array(69,-67,918,827),29318=>array(58,-65,953,838),29319=>array(46,-67,959,839),29320=>array(61,-72,968,830),29321=>array(66,-67,957,837),29322=>array(25,-62,932,830),29323=>array(44,-67,947,830),29324=>array(42,-77,973,827),29325=>array(39,-68,962,830),29326=>array(65,-64,962,831),29327=>array(28,-79,906,832),29328=>array(47,-73,954,826),29329=>array(41,-75,970,825),29330=>array(42,-71,950,826),29331=>array(53,-69,914,830),29332=>array(42,-71,974,851),29333=>array(43,-72,952,823),29334=>array(60,-68,954,847),29335=>array(43,-65,965,850),29336=>array(57,-69,947,843),29337=>array(42,-73,947,848),29338=>array(43,-68,958,824),29339=>array(52,-68,965,834),29340=>array(22,-73,973,837),29341=>array(45,-65,954,835),29342=>array(51,-70,976,825),29343=>array(62,-67,912,781),29344=>array(33,-70,965,853),29345=>array(33,-70,944,825),29346=>array(39,-84,956,835),29347=>array(37,-76,973,837),29348=>array(38,-67,980,826),29349=>array(29,-69,966,840),29350=>array(28,-59,983,833),29351=>array(33,-63,960,841),29352=>array(40,-67,947,840),29353=>array(52,-73,975,833),29354=>array(30,-65,972,846),29355=>array(39,-66,946,839),29356=>array(77,-71,949,826),29357=>array(257,-63,643,790),29358=>array(60,-73,962,834),29359=>array(60,-59,933,809),29360=>array(42,-70,963,829),29361=>array(33,-69,952,833),29362=>array(103,-71,950,824),29363=>array(97,-56,897,851),29364=>array(35,-64,945,824),29365=>array(57,-55,960,829),29366=>array(44,-68,940,823),29367=>array(34,-65,911,832),29368=>array(29,-65,889,798),29369=>array(40,-70,956,817),29370=>array(47,-69,959,832),29371=>array(52,-62,950,840),29372=>array(42,-69,959,823),29373=>array(48,-62,951,820),29374=>array(92,-62,942,831),29375=>array(52,-65,943,829),29376=>array(40,-69,951,818),29377=>array(44,-63,956,839),29378=>array(50,-66,948,807),29379=>array(24,-45,944,830),29380=>array(50,-70,972,825),29381=>array(43,-57,943,807),29382=>array(57,-61,913,833),29383=>array(73,-61,964,835),29384=>array(32,-60,942,799),29385=>array(39,-44,950,813),29386=>array(45,-68,973,785),29387=>array(38,-72,973,804),29388=>array(47,-47,951,827),29389=>array(47,-52,958,834),29390=>array(69,-64,920,822),29391=>array(69,-55,943,831),29392=>array(32,-77,970,838),29393=>array(47,-76,960,836),29394=>array(61,-68,934,822),29395=>array(47,-70,958,835),29396=>array(32,-80,963,796),29397=>array(35,-73,920,831),29398=>array(35,-66,966,834),29399=>array(60,-61,921,842),29400=>array(36,-70,963,824),29401=>array(47,-54,957,801),29402=>array(43,-50,958,820),29403=>array(70,-66,886,843),29404=>array(51,-68,953,830),29405=>array(41,-58,934,836),29406=>array(43,-61,924,849),29407=>array(46,-50,962,816),29408=>array(48,-71,969,811),29409=>array(52,-65,963,812),29410=>array(53,-67,973,839),29411=>array(47,-67,963,833),29412=>array(49,-73,953,823),29413=>array(64,-64,909,836),29414=>array(43,-68,956,827),29415=>array(64,-64,958,834),29416=>array(45,-80,967,818),29417=>array(48,-59,954,824),29418=>array(50,-67,911,811),29419=>array(39,-60,955,826),29420=>array(33,-58,948,827),29421=>array(29,-63,942,832),29422=>array(29,-71,930,822),29423=>array(36,-60,955,837),29424=>array(32,-60,920,837),29425=>array(33,-74,959,822),29426=>array(20,-62,948,832),29427=>array(29,-62,971,855),29428=>array(50,-50,958,831),29429=>array(50,-62,957,826),29430=>array(45,-71,956,834),29431=>array(75,-65,918,815),29432=>array(45,-57,958,820),29433=>array(31,-63,967,833),29434=>array(47,-62,959,844),29435=>array(41,-64,973,854),29436=>array(37,-75,968,831),29437=>array(45,-70,962,794),29438=>array(47,-71,960,826),29439=>array(58,-65,971,792),29440=>array(45,-69,966,823),29441=>array(54,-64,917,830),29442=>array(51,-64,956,816),29443=>array(32,-68,946,832),29444=>array(52,-60,965,846),29445=>array(52,-65,950,829),29446=>array(38,-68,965,831),29447=>array(49,-70,955,823),29448=>array(65,-67,955,832),29449=>array(65,-71,957,833),29450=>array(47,-65,953,832),29451=>array(40,-62,962,845),29452=>array(38,-70,969,826),29453=>array(55,-65,984,836),29454=>array(39,-69,939,817),29455=>array(48,-76,908,818),29456=>array(48,-54,970,820),29457=>array(62,-63,958,782),29458=>array(101,-72,962,824),29459=>array(48,-68,968,817),29460=>array(53,-65,951,845),29461=>array(23,-61,945,831),29462=>array(53,-68,911,808),29463=>array(47,-62,955,835),29464=>array(46,-68,914,826),29465=>array(35,-68,963,837),29466=>array(59,-70,953,842),29467=>array(49,-59,958,808),29468=>array(46,-65,954,837),29469=>array(49,-67,953,819),29470=>array(40,-65,978,850),29471=>array(50,-63,968,827),29472=>array(40,-74,960,829),29473=>array(35,-64,894,808),29474=>array(62,-68,927,829),29475=>array(43,-73,959,813),29476=>array(35,-66,959,809),29477=>array(44,-64,964,809),29478=>array(46,-74,961,792),29479=>array(72,-69,923,793),29480=>array(32,-60,959,841),29481=>array(42,-61,951,803),29482=>array(49,-56,921,836),29483=>array(24,-69,933,824),29484=>array(56,-65,911,803),29485=>array(49,-66,966,828),29486=>array(55,-54,955,842),29487=>array(61,-69,950,830),29488=>array(42,-64,974,831),29489=>array(43,-64,961,819),29490=>array(68,-65,933,790),29491=>array(33,-61,967,819),29492=>array(36,-71,975,827),29493=>array(65,-73,929,825),29494=>array(40,-71,955,840),29495=>array(57,-69,970,845),29496=>array(40,-74,897,815),29497=>array(41,-53,962,835),29498=>array(41,-64,966,850),29499=>array(30,-62,962,831),29500=>array(20,-71,943,829),29501=>array(38,-73,950,789),29502=>array(25,-72,929,819),29503=>array(42,-69,977,833),29504=>array(30,-78,977,833),29505=>array(40,-61,922,819),29506=>array(39,-75,979,804),29507=>array(45,-55,969,842),29508=>array(37,-66,970,826),29509=>array(39,-67,954,840),29510=>array(50,-64,979,849),29511=>array(50,-64,974,828),29512=>array(50,-57,962,842),29513=>array(35,-70,984,836),29514=>array(40,-73,963,845),29515=>array(38,-74,960,852),29516=>array(29,-72,973,812),29517=>array(53,-65,958,851),29518=>array(39,-64,970,843),29519=>array(44,-72,971,823),29520=>array(44,-64,949,840),29521=>array(19,-74,953,822),29522=>array(25,-68,949,830),29523=>array(44,-71,960,838),29524=>array(44,-74,960,852),29525=>array(44,-65,953,833),29526=>array(59,-75,947,827),29527=>array(44,-74,981,805),29528=>array(33,-54,965,857),29529=>array(23,-80,977,826),29530=>array(39,-73,955,827),29531=>array(42,-68,983,827),29532=>array(44,-74,954,832),29533=>array(56,-68,924,824),29534=>array(51,-42,962,838),29535=>array(41,-70,961,833),29536=>array(35,-61,967,846),29537=>array(52,-57,932,833),29538=>array(39,-67,973,835),29539=>array(45,-67,972,833),29540=>array(44,-73,973,837),29541=>array(46,-75,960,835),29542=>array(37,-63,943,827),29543=>array(39,-55,965,826),29544=>array(64,-66,920,791),29545=>array(41,-66,967,826),29546=>array(32,-62,984,863),29547=>array(26,-63,975,864),29548=>array(44,-67,960,838),29549=>array(12,-60,936,838),29550=>array(34,-67,975,834),29551=>array(49,-62,966,828),29552=>array(40,-67,957,816),29553=>array(57,-66,960,842),29554=>array(30,-64,964,840),29555=>array(47,-66,951,791),29556=>array(37,-65,951,831),29557=>array(36,-74,971,842),29558=>array(39,-76,969,824),29559=>array(40,-71,972,838),29560=>array(59,-67,972,829),29561=>array(40,-72,954,830),29562=>array(37,-71,975,833),29563=>array(38,-76,958,831),29564=>array(35,-64,973,829),29565=>array(36,-69,987,842),29566=>array(43,-67,959,835),29567=>array(43,-74,963,808),29568=>array(41,-64,959,822),29569=>array(38,-67,961,813),29570=>array(38,-71,963,823),29571=>array(36,-60,965,831),29572=>array(95,-57,915,819),29573=>array(65,-70,973,852),29574=>array(44,-65,956,818),29575=>array(72,-69,928,840),29576=>array(64,-71,970,836),29577=>array(117,0,908,753),29578=>array(85,-30,935,770),29579=>array(92,14,908,766),29580=>array(81,-38,943,822),29581=>array(59,-17,934,825),29582=>array(71,-69,956,790),29583=>array(71,-76,892,823),29584=>array(51,-60,960,775),29585=>array(37,-67,936,762),29586=>array(57,-23,957,763),29587=>array(64,-69,920,829),29588=>array(57,-70,912,822),29589=>array(40,-65,951,787),29590=>array(41,-64,979,835),29591=>array(54,-74,953,785),29592=>array(54,-26,957,778),29593=>array(54,-67,922,825),29594=>array(54,-63,927,769),29595=>array(51,-60,909,787),29596=>array(44,-60,957,806),29597=>array(50,-73,949,821),29598=>array(49,-64,963,833),29599=>array(51,-58,972,827),29600=>array(48,-65,987,855),29601=>array(44,-75,956,775),29602=>array(42,-62,984,820),29603=>array(47,-64,935,841),29604=>array(42,-73,954,823),29605=>array(60,-71,905,785),29606=>array(47,-63,991,837),29607=>array(47,-60,964,834),29608=>array(56,-17,952,767),29609=>array(51,-68,958,779),29610=>array(43,-62,975,831),29611=>array(60,-59,957,840),29612=>array(55,-78,956,779),29613=>array(44,-67,958,823),29614=>array(42,-67,893,825),29615=>array(38,-57,951,782),29616=>array(33,-59,930,788),29617=>array(45,-33,950,828),29618=>array(37,-68,964,840),29619=>array(39,-65,953,835),29620=>array(50,-20,957,824),29621=>array(51,-73,955,827),29622=>array(47,-71,956,782),29623=>array(39,-67,945,832),29624=>array(48,-38,956,827),29625=>array(43,-55,961,829),29626=>array(35,-48,915,826),29627=>array(64,-64,969,830),29628=>array(46,-43,966,810),29629=>array(46,-54,909,849),29630=>array(49,-71,917,780),29631=>array(49,-74,906,783),29632=>array(66,-63,882,846),29633=>array(66,-29,961,779),29634=>array(50,-65,961,779),29635=>array(47,-73,956,831),29636=>array(47,-12,952,827),29637=>array(53,-61,917,838),29638=>array(49,-72,952,842),29639=>array(49,-27,954,783),29640=>array(43,-70,907,830),29641=>array(41,-55,964,794),29642=>array(54,-61,951,789),29643=>array(45,-70,911,830),29644=>array(48,-30,963,824),29645=>array(67,-72,974,849),29646=>array(53,-52,964,847),29647=>array(53,-13,950,760),29648=>array(52,-64,949,829),29649=>array(32,-61,926,824),29650=>array(59,-72,954,827),29651=>array(58,-66,971,837),29652=>array(57,-64,954,832),29653=>array(57,-65,959,835),29654=>array(57,-65,955,821),29655=>array(52,-59,957,827),29656=>array(51,-67,951,836),29657=>array(41,-68,965,831),29658=>array(58,-71,907,771),29659=>array(60,-68,954,828),29660=>array(54,-67,954,833),29661=>array(57,-71,905,780),29662=>array(45,-66,972,840),29663=>array(40,-66,993,789),29664=>array(66,-62,978,837),29665=>array(50,-60,951,795),29666=>array(76,-71,957,781),29667=>array(62,-59,914,837),29668=>array(25,-64,963,834),29669=>array(25,-66,949,789),29670=>array(25,-55,900,875),29671=>array(50,-64,969,835),29672=>array(58,-69,958,829),29673=>array(45,-67,956,833),29674=>array(38,-21,951,831),29675=>array(50,-67,966,840),29676=>array(60,-61,971,835),29677=>array(50,-61,951,811),29678=>array(45,-72,977,788),29679=>array(38,-32,959,833),29680=>array(38,-60,899,829),29681=>array(38,-52,959,782),29682=>array(37,-69,920,764),29683=>array(49,-58,957,834),29684=>array(49,-64,958,828),29685=>array(56,-14,954,788),29686=>array(56,-68,915,822),29687=>array(36,-64,962,833),29688=>array(58,-71,953,775),29689=>array(36,-68,951,834),29690=>array(62,-69,956,787),29691=>array(35,-69,955,843),29692=>array(57,-73,959,782),29693=>array(44,-64,973,832),29694=>array(56,-65,944,780),29695=>array(56,-71,969,780),29696=>array(57,-71,964,830),29697=>array(59,-73,968,831),29698=>array(61,-62,930,845),29699=>array(53,-63,959,831),29700=>array(57,-65,894,782),29701=>array(46,-66,965,815),29702=>array(35,-16,945,775),29703=>array(47,-63,963,833),29704=>array(55,-67,954,819),29705=>array(30,-70,960,830),29706=>array(43,-67,958,789),29707=>array(53,-68,953,837),29708=>array(54,-71,967,824),29709=>array(47,-65,900,832),29710=>array(57,-19,975,817),29711=>array(32,-49,938,827),29712=>array(35,-65,933,828),29713=>array(35,-67,940,833),29714=>array(43,-65,963,846),29715=>array(35,-69,968,828),29716=>array(35,-83,949,831),29717=>array(35,-65,957,841),29718=>array(47,-70,954,835),29719=>array(35,-71,943,839),29720=>array(35,-65,960,833),29721=>array(35,-68,965,835),29722=>array(52,-67,964,787),29723=>array(30,-67,958,786),29724=>array(35,-65,972,836),29725=>array(55,-74,963,787),29726=>array(55,-26,945,796),29727=>array(35,-65,955,843),29728=>array(53,-72,965,826),29729=>array(55,-76,962,822),29730=>array(32,-65,971,774),29731=>array(55,-68,951,838),29732=>array(43,-59,967,849),29733=>array(39,-67,940,834),29734=>array(48,-61,957,841),29735=>array(63,-22,958,784),29736=>array(53,-57,970,790),29737=>array(76,-67,918,787),29738=>array(50,-68,960,836),29739=>array(50,-71,959,831),29740=>array(49,-65,967,836),29741=>array(57,-67,962,830),29742=>array(47,-62,959,821),29743=>array(47,-65,924,837),29744=>array(53,-65,980,838),29745=>array(63,-72,911,774),29746=>array(47,-71,958,832),29747=>array(37,-63,964,826),29748=>array(34,-74,960,802),29749=>array(55,-54,959,791),29750=>array(71,-23,941,787),29751=>array(35,-53,976,820),29752=>array(54,-71,953,825),29753=>array(50,-64,960,798),29754=>array(53,-59,962,831),29755=>array(35,-23,982,843),29756=>array(33,-55,971,852),29757=>array(35,-69,959,835),29758=>array(35,-66,971,774),29759=>array(43,-62,967,793),29760=>array(45,-70,912,827),29761=>array(55,-65,930,788),29762=>array(51,-70,900,783),29763=>array(51,-64,970,842),29764=>array(43,-27,954,832),29765=>array(51,-70,969,788),29766=>array(36,-27,954,782),29767=>array(37,-66,948,835),29768=>array(40,-61,973,796),29769=>array(40,-52,963,823),29770=>array(45,-75,963,825),29771=>array(47,-65,960,832),29772=>array(47,-72,975,788),29773=>array(46,-77,977,832),29774=>array(53,-73,960,822),29775=>array(48,-70,951,845),29776=>array(50,-72,954,839),29777=>array(40,-51,960,850),29778=>array(39,-77,954,780),29779=>array(48,-62,965,835),29780=>array(48,-69,970,846),29781=>array(38,-67,969,789),29782=>array(38,-69,970,840),29783=>array(47,-65,982,843),29784=>array(47,-65,952,783),29785=>array(56,-65,920,841),29786=>array(69,-62,893,830),29787=>array(31,-68,962,829),29788=>array(30,-65,972,816),29789=>array(43,-30,948,851),29790=>array(62,-68,939,833),29791=>array(63,-46,958,785),29792=>array(37,-65,913,834),29793=>array(69,-67,954,840),29794=>array(53,-70,965,824),29795=>array(63,-72,965,836),29796=>array(46,-62,959,841),29797=>array(46,-32,964,783),29798=>array(63,-60,928,839),29799=>array(59,-68,971,835),29800=>array(36,-61,959,789),29801=>array(69,-19,935,839),29802=>array(60,-61,911,787),29803=>array(60,-63,937,835),29804=>array(54,-28,954,843),29805=>array(44,-67,956,850),29806=>array(56,-72,977,781),29807=>array(41,-61,954,798),29808=>array(53,-65,947,856),29809=>array(36,-64,955,840),29810=>array(45,-65,995,858),29811=>array(42,-29,951,839),29812=>array(47,-89,964,824),29813=>array(50,-69,971,787),29814=>array(40,-64,913,822),29815=>array(35,-70,944,827),29816=>array(35,-63,943,830),29817=>array(62,-77,967,818),29818=>array(45,-67,930,839),29819=>array(53,-66,955,802),29820=>array(53,-77,952,819),29821=>array(58,-71,968,826),29822=>array(38,-21,946,828),29823=>array(62,-22,957,792),29824=>array(45,-62,962,839),29825=>array(56,-43,972,837),29826=>array(45,-33,972,829),29827=>array(39,-69,943,833),29828=>array(51,-65,952,847),29829=>array(62,-72,982,822),29830=>array(45,-62,957,800),29831=>array(38,-71,972,828),29832=>array(48,-77,983,826),29833=>array(41,-64,962,833),29834=>array(56,-65,959,824),29835=>array(45,-68,952,828),29836=>array(45,-78,953,834),29837=>array(37,-68,945,831),29838=>array(39,-81,928,775),29839=>array(39,-72,988,841),29840=>array(38,-65,975,841),29841=>array(38,-65,961,836),29842=>array(52,-17,964,832),29843=>array(31,-53,957,829),29844=>array(51,-72,892,827),29845=>array(50,-67,950,783),29846=>array(45,-65,969,799),29847=>array(60,-46,954,818),29848=>array(57,-66,959,837),29849=>array(57,-67,969,850),29850=>array(50,-67,920,787),29851=>array(32,-67,954,831),29852=>array(37,-74,923,824),29853=>array(37,-70,966,833),29854=>array(47,-63,964,828),29855=>array(36,-57,951,801),29856=>array(43,-64,973,836),29857=>array(39,-64,967,844),29858=>array(62,-71,926,797),29859=>array(45,-61,972,839),29860=>array(48,-35,979,826),29861=>array(48,-70,977,830),29862=>array(48,-63,985,840),29863=>array(48,-39,946,836),29864=>array(37,-66,979,839),29865=>array(48,-64,980,837),29866=>array(45,-70,966,784),29867=>array(45,-62,935,836),29868=>array(50,-71,962,845),29869=>array(48,-73,971,811),29870=>array(42,-30,956,848),29871=>array(42,-64,994,858),29872=>array(40,-61,962,808),29873=>array(46,-67,970,782),29874=>array(47,-64,959,816),29875=>array(46,-69,966,816),29876=>array(50,-69,961,826),29877=>array(40,-66,969,840),29878=>array(50,-37,949,823),29879=>array(35,-71,973,832),29880=>array(62,-77,941,831),29881=>array(41,-65,968,833),29882=>array(84,-37,938,836),29883=>array(53,-68,949,785),29884=>array(40,-23,957,839),29885=>array(53,-42,962,799),29886=>array(60,-71,963,837),29887=>array(41,-63,981,841),29888=>array(49,-72,944,780),29889=>array(44,-74,967,823),29890=>array(49,-35,955,819),29891=>array(51,-65,928,786),29892=>array(40,-67,962,836),29893=>array(36,-70,972,839),29894=>array(40,-61,962,813),29895=>array(40,-64,963,789),29896=>array(35,-62,974,830),29897=>array(40,-72,958,829),29898=>array(56,-65,975,845),29899=>array(31,-66,968,839),29900=>array(40,-67,965,847),29901=>array(28,-67,969,831),29902=>array(37,-67,959,840),29903=>array(52,-61,972,834),29904=>array(45,-67,953,830),29905=>array(40,-60,966,790),29906=>array(38,-71,925,825),29907=>array(40,-65,909,787),29908=>array(37,-64,955,788),29909=>array(63,-35,968,778),29910=>array(47,-73,966,839),29911=>array(57,-63,933,838),29912=>array(54,-68,956,826),29913=>array(42,-70,960,832),29914=>array(46,-69,969,836),29915=>array(30,-62,974,832),29916=>array(59,-57,956,834),29917=>array(32,-77,991,826),29918=>array(38,-67,992,837),29919=>array(36,-73,959,837),29920=>array(36,-67,964,838),29921=>array(57,-73,976,826),29922=>array(47,-69,973,834),29923=>array(32,-69,958,828),29924=>array(37,-66,969,856),29925=>array(51,-65,971,836),29926=>array(83,-35,941,773),29927=>array(36,-29,958,771),29928=>array(44,-63,966,783),29929=>array(36,-29,958,771),29930=>array(49,-29,955,811),29931=>array(65,-64,943,842),29932=>array(41,-74,968,838),29933=>array(39,-77,968,820),29934=>array(43,-56,956,807),29935=>array(104,-58,954,766),29936=>array(36,-29,963,782),29937=>array(36,-29,968,771),29938=>array(36,-29,953,822),29939=>array(56,-75,968,818),29940=>array(37,-65,969,838),29941=>array(62,-72,960,832),29942=>array(48,-61,962,842),29943=>array(75,-60,951,838),29944=>array(36,-29,958,772),29945=>array(99,-64,968,791),29946=>array(49,-60,970,800),29947=>array(36,-65,969,831),29948=>array(49,-29,955,786),29949=>array(78,-56,963,833),29950=>array(38,-64,960,824),29951=>array(50,-50,955,839),29952=>array(39,-71,970,827),29953=>array(39,-71,964,835),29954=>array(36,-74,974,832),29955=>array(58,-54,962,836),29956=>array(30,-48,947,784),29957=>array(38,-29,960,790),29958=>array(65,-63,962,854),29959=>array(97,-66,934,825),29960=>array(43,-75,962,838),29961=>array(34,-77,974,836),29962=>array(35,-69,966,830),29963=>array(65,-70,962,829),29964=>array(105,-74,950,787),29965=>array(74,-66,961,828),29966=>array(70,-66,945,827),29967=>array(60,-59,954,834),29968=>array(37,-68,958,828),29969=>array(83,-64,964,848),29970=>array(44,-68,961,824),29971=>array(24,-47,938,825),29972=>array(34,-68,985,829),29973=>array(66,-55,966,838),29974=>array(55,-68,957,785),29975=>array(33,-59,949,835),29976=>array(76,-68,927,827),29977=>array(49,-76,959,828),29978=>array(66,-72,934,835),29979=>array(32,-48,959,845),29980=>array(34,-58,945,834),29981=>array(35,-75,962,823),29982=>array(74,-47,939,836),29983=>array(60,-8,934,824),29984=>array(129,-23,956,830),29985=>array(37,-29,956,830),29986=>array(50,-76,930,838),29987=>array(49,-74,928,831),29988=>array(72,-56,970,811),29989=>array(73,-57,923,812),29990=>array(40,-69,966,811),29991=>array(45,-66,952,829),29992=>array(52,-73,855,788),29993=>array(65,-61,936,785),29994=>array(74,-67,847,842),29995=>array(62,-67,956,843),29996=>array(140,-65,856,798),29997=>array(53,-81,935,783),29998=>array(48,-67,916,844),29999=>array(63,-61,945,836),30000=>array(133,-68,867,762),30001=>array(137,-70,862,833),30002=>array(140,-69,860,785),30003=>array(149,-67,851,833),30004=>array(172,-67,839,832),30005=>array(148,-31,954,824),30006=>array(149,-65,872,833),30007=>array(85,-62,889,783),30008=>array(37,-56,914,856),30009=>array(65,-68,939,833),30010=>array(107,-53,954,790),30011=>array(75,-57,925,800),30012=>array(98,-46,914,810),30013=>array(99,-74,891,823),30014=>array(126,-62,879,844),30015=>array(101,-7,948,830),30016=>array(50,-65,957,779),30017=>array(50,-55,957,833),30018=>array(98,-59,965,850),30019=>array(90,-59,921,837),30020=>array(153,-62,845,824),30021=>array(90,-56,889,830),30022=>array(46,-66,965,823),30023=>array(99,-63,912,845),30024=>array(107,-66,978,791),30025=>array(96,-68,962,833),30026=>array(88,-64,952,828),30027=>array(76,-52,955,835),30028=>array(54,-70,961,782),30029=>array(96,-72,974,835),30030=>array(110,-66,981,831),30031=>array(64,-69,944,780),30032=>array(72,-52,945,791),30033=>array(51,-59,903,838),30034=>array(56,-50,963,833),30035=>array(60,-72,967,813),30036=>array(93,-67,938,839),30037=>array(178,-72,823,780),30038=>array(81,-70,970,836),30039=>array(109,-72,902,843),30040=>array(79,-62,955,839),30041=>array(75,-68,897,818),30042=>array(29,-67,975,848),30043=>array(111,-64,978,853),30044=>array(76,-59,920,836),30045=>array(56,-65,972,836),30046=>array(77,-70,968,838),30047=>array(50,-69,965,817),30048=>array(143,-68,867,845),30049=>array(86,-61,943,846),30050=>array(58,-69,947,801),30051=>array(34,-68,968,834),30052=>array(106,-62,955,832),30053=>array(110,-66,962,839),30054=>array(89,-22,943,828),30055=>array(48,-75,963,812),30056=>array(50,-70,959,808),30057=>array(96,-64,959,795),30058=>array(53,-70,957,836),30059=>array(82,-24,938,836),30060=>array(37,-67,966,854),30061=>array(81,-62,961,850),30062=>array(94,-62,954,847),30063=>array(69,-69,961,849),30064=>array(72,-74,926,784),30065=>array(89,-71,916,797),30066=>array(33,-72,973,847),30067=>array(54,-50,952,813),30068=>array(82,-58,911,831),30069=>array(79,-34,934,836),30070=>array(103,-68,914,841),30071=>array(77,-67,976,786),30072=>array(97,-62,939,835),30073=>array(101,-63,966,844),30074=>array(54,-20,951,803),30075=>array(74,-14,972,836),30076=>array(92,-61,938,782),30077=>array(103,-15,953,851),30078=>array(115,-69,908,783),30079=>array(56,-69,963,839),30080=>array(42,-71,969,828),30081=>array(74,-73,970,811),30082=>array(54,-46,952,786),30083=>array(94,-42,961,840),30084=>array(100,-70,955,822),30085=>array(84,-48,961,814),30086=>array(31,-61,951,814),30087=>array(87,-63,938,833),30088=>array(52,-82,943,829),30089=>array(51,-39,949,822),30090=>array(54,-31,952,791),30091=>array(28,-66,975,773),30092=>array(52,-70,968,835),30093=>array(68,-7,957,787),30094=>array(30,-65,966,827),30095=>array(35,-71,960,821),30096=>array(59,-81,955,837),30097=>array(33,-68,945,827),30098=>array(37,-63,898,822),30099=>array(37,-63,914,822),30100=>array(63,-65,944,823),30101=>array(36,-59,957,852),30102=>array(30,-63,899,838),30103=>array(35,-59,924,842),30104=>array(36,-75,954,833),30105=>array(46,-71,953,852),30106=>array(48,-69,968,820),30107=>array(48,-64,951,841),30108=>array(54,-69,941,845),30109=>array(54,-69,941,815),30110=>array(54,-69,961,845),30111=>array(24,-65,925,836),30112=>array(32,-66,900,838),30113=>array(28,-70,914,840),30114=>array(44,-65,982,855),30115=>array(51,-71,952,825),30116=>array(47,-73,960,845),30117=>array(50,-70,959,825),30118=>array(47,-73,945,845),30119=>array(52,-69,966,841),30120=>array(47,-73,938,845),30121=>array(47,-73,938,845),30122=>array(39,-57,959,854),30123=>array(37,-71,953,840),30124=>array(27,-67,896,849),30125=>array(27,-67,928,850),30126=>array(26,-67,932,840),30127=>array(27,-63,942,848),30128=>array(43,-63,951,849),30129=>array(39,-67,953,829),30130=>array(43,-73,957,831),30131=>array(44,-67,944,834),30132=>array(25,-66,938,851),30133=>array(54,-74,963,841),30134=>array(49,-71,951,830),30135=>array(47,-78,946,835),30136=>array(59,-75,954,829),30137=>array(41,-72,974,826),30138=>array(50,-60,958,835),30139=>array(47,-82,935,834),30140=>array(40,-78,972,825),30141=>array(32,-74,954,839),30142=>array(43,-73,962,829),30143=>array(44,-65,945,849),30144=>array(41,-58,954,855),30145=>array(44,-58,945,852),30146=>array(43,-79,941,832),30147=>array(27,-77,933,834),30148=>array(53,-61,948,856),30149=>array(38,-71,933,840),30150=>array(40,-71,951,847),30151=>array(41,-65,955,827),30152=>array(19,-74,918,848),30153=>array(24,-60,919,827),30154=>array(43,-73,951,830),30155=>array(53,-79,968,835),30156=>array(34,-83,948,840),30157=>array(43,-69,972,833),30158=>array(47,-67,957,846),30159=>array(41,-60,960,850),30160=>array(50,-75,944,829),30161=>array(51,-70,945,836),30162=>array(48,-71,955,827),30163=>array(50,-75,944,829),30164=>array(38,-68,947,844),30165=>array(48,-68,964,825),30166=>array(27,-65,919,846),30167=>array(36,-51,964,859),30168=>array(45,-75,949,826),30169=>array(45,-72,954,839),30170=>array(56,-82,962,832),30171=>array(33,-68,935,834),30172=>array(34,-70,962,847),30173=>array(43,-60,962,841),30174=>array(44,-68,961,834),30175=>array(57,-68,945,843),30176=>array(48,-73,983,846),30177=>array(31,-73,954,843),30178=>array(46,-69,944,835),30179=>array(45,-63,960,836),30180=>array(49,-67,954,847),30181=>array(33,-73,951,847),30182=>array(57,-68,955,835),30183=>array(39,-65,965,845),30184=>array(56,-67,922,852),30185=>array(37,-70,961,831),30186=>array(29,-74,955,846),30187=>array(20,-65,913,839),30188=>array(42,-69,941,841),30189=>array(44,-73,959,845),30190=>array(43,-75,965,840),30191=>array(34,-55,959,858),30192=>array(55,-70,958,832),30193=>array(45,-70,942,848),30194=>array(34,-66,957,838),30195=>array(40,-69,971,834),30196=>array(38,-67,941,834),30197=>array(36,-71,974,851),30198=>array(45,-72,960,851),30199=>array(36,-63,965,849),30200=>array(31,-73,930,839),30201=>array(46,-68,951,843),30202=>array(59,-67,959,834),30203=>array(39,-75,960,845),30204=>array(33,-65,941,836),30205=>array(31,-68,954,848),30206=>array(35,-67,956,842),30207=>array(33,-67,945,834),30208=>array(38,-64,964,837),30209=>array(48,-66,952,838),30210=>array(38,-77,935,843),30211=>array(30,-65,967,848),30212=>array(37,-64,942,841),30213=>array(37,-71,939,846),30214=>array(14,-67,912,845),30215=>array(34,-55,954,854),30216=>array(46,-64,974,855),30217=>array(39,-64,955,826),30218=>array(38,-65,955,852),30219=>array(38,-66,960,838),30220=>array(38,-70,944,847),30221=>array(55,-70,956,845),30222=>array(38,-67,944,840),30223=>array(33,-55,961,857),30224=>array(41,-69,974,850),30225=>array(45,-69,948,848),30226=>array(41,-75,938,848),30227=>array(46,-72,972,849),30228=>array(51,-73,961,838),30229=>array(44,-67,981,854),30230=>array(27,-54,954,860),30231=>array(26,-68,934,847),30232=>array(38,-69,911,835),30233=>array(30,-69,961,836),30234=>array(42,-70,971,836),30235=>array(24,-60,970,855),30236=>array(47,-66,981,840),30237=>array(40,-58,969,861),30238=>array(36,-62,976,848),30239=>array(37,-72,938,833),30240=>array(34,-67,962,841),30241=>array(35,-70,966,841),30242=>array(32,-73,957,841),30243=>array(46,-65,958,831),30244=>array(46,-74,948,841),30245=>array(43,-66,956,851),30246=>array(22,-68,959,851),30247=>array(44,-74,942,833),30248=>array(45,-79,963,837),30249=>array(46,-61,952,849),30250=>array(21,-67,933,823),30251=>array(26,-65,923,840),30252=>array(26,-65,963,840),30253=>array(44,-66,979,847),30254=>array(26,-73,967,847),30255=>array(45,-69,955,834),30256=>array(52,-76,951,841),30257=>array(50,-69,966,836),30258=>array(53,-64,978,854),30259=>array(32,-68,971,851),30260=>array(23,-66,943,841),30261=>array(33,-67,963,847),30262=>array(52,-65,970,848),30263=>array(52,-65,979,848),30264=>array(45,-65,943,848),30265=>array(52,-65,951,848),30266=>array(31,-69,948,852),30267=>array(36,-73,941,829),30268=>array(49,-67,980,850),30269=>array(37,-62,954,836),30270=>array(26,-65,970,832),30271=>array(29,-65,909,838),30272=>array(23,-81,928,826),30273=>array(23,-87,940,826),30274=>array(46,-65,964,830),30275=>array(33,-67,971,847),30276=>array(23,-91,937,826),30277=>array(23,-71,912,836),30278=>array(49,-66,941,841),30279=>array(29,-57,942,846),30280=>array(35,-62,963,829),30281=>array(35,-65,947,849),30282=>array(35,-70,973,853),30283=>array(57,-69,967,854),30284=>array(38,-68,933,844),30285=>array(24,-68,923,835),30286=>array(37,-64,937,840),30287=>array(37,-64,957,850),30288=>array(51,-68,983,849),30289=>array(37,-87,957,850),30290=>array(42,-58,971,836),30291=>array(49,-73,983,831),30292=>array(25,-61,931,828),30293=>array(42,-57,957,836),30294=>array(45,-73,956,833),30295=>array(42,-67,933,836),30296=>array(53,-65,948,844),30297=>array(42,-74,969,832),30298=>array(37,-71,936,833),30299=>array(48,-67,989,843),30300=>array(45,-67,980,841),30301=>array(48,-69,920,838),30302=>array(21,-71,912,835),30303=>array(44,-69,973,844),30304=>array(38,-71,982,846),30305=>array(51,-71,976,844),30306=>array(45,-76,947,840),30307=>array(25,-66,920,841),30308=>array(57,-73,959,837),30309=>array(40,-69,973,852),30310=>array(50,-78,948,846),30311=>array(43,-65,962,836),30312=>array(47,-75,946,834),30313=>array(42,-67,985,854),30314=>array(40,-69,964,854),30315=>array(29,-69,919,838),30316=>array(45,-66,956,854),30317=>array(50,-68,939,850),30318=>array(38,-71,974,845),30319=>array(35,-77,947,844),30320=>array(35,-78,959,854),30321=>array(47,-71,954,856),30322=>array(39,-77,967,854),30323=>array(27,-60,972,853),30324=>array(21,-77,958,849),30325=>array(46,-72,963,833),30326=>array(100,220,956,730),30327=>array(80,-55,936,839),30328=>array(80,-78,936,840),30329=>array(38,-69,967,840),30330=>array(47,-51,957,837),30331=>array(57,-13,957,837),30332=>array(52,-63,960,829),30333=>array(199,-64,822,833),30334=>array(98,-67,914,780),30335=>array(113,-47,959,830),30336=>array(200,-26,891,841),30337=>array(53,-49,947,866),30338=>array(74,-26,924,842),30339=>array(60,-67,950,836),30340=>array(101,-54,882,838),30341=>array(94,-27,941,842),30342=>array(64,-62,947,837),30343=>array(80,-28,932,845),30344=>array(87,-80,954,831),30345=>array(107,-39,959,834),30346=>array(119,-78,962,839),30347=>array(33,-64,959,849),30348=>array(100,-53,967,847),30349=>array(134,-61,898,837),30350=>array(90,-60,952,824),30351=>array(111,-69,954,835),30352=>array(53,-64,947,849),30353=>array(76,-19,944,820),30354=>array(100,-72,956,829),30355=>array(84,-64,923,831),30356=>array(84,-62,944,810),30357=>array(56,-63,947,776),30358=>array(86,-62,930,825),30359=>array(93,-67,907,810),30360=>array(84,-59,959,838),30361=>array(42,-63,943,847),30362=>array(92,-20,933,839),30363=>array(114,-69,889,834),30364=>array(110,-63,957,837),30365=>array(69,-70,964,833),30366=>array(117,-69,982,831),30367=>array(112,-68,975,839),30368=>array(97,-65,953,833),30369=>array(92,-74,960,852),30370=>array(92,-61,964,837),30371=>array(88,-68,946,831),30372=>array(79,-67,948,836),30373=>array(90,-74,960,852),30374=>array(82,-55,954,857),30375=>array(82,-62,946,841),30376=>array(60,-43,954,842),30377=>array(43,-73,970,838),30378=>array(98,-52,969,851),30379=>array(87,-72,956,845),30380=>array(82,-67,941,817),30381=>array(110,-63,963,845),30382=>array(53,-71,940,832),30383=>array(33,-81,951,826),30384=>array(33,-62,965,836),30385=>array(27,-68,939,833),30386=>array(41,-67,932,821),30387=>array(33,-75,956,834),30388=>array(31,-75,956,844),30389=>array(57,-76,966,826),30390=>array(30,-75,976,834),30391=>array(36,-70,956,838),30392=>array(50,-68,966,832),30393=>array(38,-67,954,832),30394=>array(45,-73,971,838),30395=>array(46,-73,969,824),30396=>array(47,-73,956,835),30397=>array(47,-66,969,849),30398=>array(51,-71,969,835),30399=>array(70,34,944,715),30400=>array(57,-20,948,822),30401=>array(57,-14,948,784),30402=>array(57,-14,948,789),30403=>array(48,-17,958,770),30404=>array(60,-53,956,757),30405=>array(47,-11,956,841),30406=>array(49,-25,947,794),30407=>array(46,-40,957,827),30408=>array(59,-38,952,784),30409=>array(41,-21,974,836),30410=>array(45,-18,960,840),30411=>array(55,-37,954,836),30412=>array(48,-20,957,830),30413=>array(62,-22,954,838),30414=>array(55,-14,954,835),30415=>array(52,-19,925,823),30416=>array(50,-44,924,799),30417=>array(52,-23,943,820),30418=>array(47,-28,961,851),30419=>array(60,-20,952,821),30420=>array(59,-23,951,840),30421=>array(63,-32,952,817),30422=>array(39,-32,959,847),30423=>array(57,-33,954,840),30424=>array(65,-32,914,831),30425=>array(51,-33,952,834),30426=>array(61,-34,956,809),30427=>array(50,-23,947,832),30428=>array(63,-32,952,843),30429=>array(60,-23,954,850),30430=>array(63,-32,953,840),30431=>array(58,-27,952,789),30432=>array(57,-46,961,848),30433=>array(48,-35,948,829),30434=>array(58,-27,952,802),30435=>array(53,-26,947,824),30436=>array(62,-35,956,842),30437=>array(53,-24,961,837),30438=>array(26,-26,957,869),30439=>array(40,-78,941,833),30440=>array(38,-24,961,788),30441=>array(60,-18,959,834),30442=>array(53,-12,951,823),30443=>array(32,-54,957,863),30444=>array(58,-10,952,850),30445=>array(65,-38,978,842),30446=>array(206,-42,767,771),30447=>array(98,-62,931,770),30448=>array(101,-68,938,783),30449=>array(118,-59,956,789),30450=>array(63,-70,937,826),30451=>array(107,-27,953,824),30452=>array(95,-70,949,835),30453=>array(109,-40,965,833),30454=>array(75,-68,958,778),30455=>array(109,-61,900,821),30456=>array(43,-65,889,828),30457=>array(86,-34,952,829),30458=>array(116,-71,957,828),30459=>array(107,-62,958,803),30460=>array(100,-71,944,803),30461=>array(101,-59,957,826),30462=>array(68,-73,920,834),30463=>array(75,-55,984,851),30464=>array(130,-65,890,787),30465=>array(53,-70,939,829),30466=>array(119,-59,945,837),30467=>array(119,-73,962,762),30468=>array(96,-52,949,790),30469=>array(92,-62,971,813),30470=>array(119,-66,954,849),30471=>array(88,-72,943,826),30472=>array(93,-65,931,826),30473=>array(52,-70,880,781),30474=>array(101,-55,943,811),30475=>array(71,-67,912,818),30476=>array(73,-62,949,799),30477=>array(96,-21,919,763),30478=>array(85,-58,951,755),30479=>array(96,-67,953,832),30480=>array(114,-21,953,773),30481=>array(106,-70,916,827),30482=>array(119,-70,917,830),30483=>array(99,-73,959,827),30484=>array(50,-67,946,785),30485=>array(116,-71,967,835),30486=>array(119,-62,960,773),30487=>array(119,-58,924,844),30488=>array(42,-57,971,821),30489=>array(118,-65,952,835),30490=>array(65,-62,961,843),30491=>array(124,-64,987,839),30492=>array(124,-64,987,839),30493=>array(118,-64,927,827),30494=>array(78,-84,951,835),30495=>array(64,-84,936,835),30496=>array(98,-71,956,785),30497=>array(94,-53,963,829),30498=>array(34,-65,958,843),30499=>array(116,-71,973,835),30500=>array(95,-71,929,784),30501=>array(44,-52,947,852),30502=>array(76,-56,931,823),30503=>array(110,-73,903,780),30504=>array(96,-69,948,833),30505=>array(88,-49,927,823),30506=>array(88,-68,951,782),30507=>array(95,-55,942,837),30508=>array(88,-67,931,825),30509=>array(124,-21,959,832),30510=>array(88,-70,909,782),30511=>array(80,-64,927,824),30512=>array(88,-42,956,770),30513=>array(106,-78,965,821),30514=>array(110,-70,953,777),30515=>array(107,-71,906,825),30516=>array(111,-40,909,859),30517=>array(119,-65,935,847),30518=>array(94,-21,934,783),30519=>array(39,-67,964,838),30520=>array(86,-62,929,849),30521=>array(103,-51,969,853),30522=>array(104,-67,943,828),30523=>array(110,-70,954,823),30524=>array(96,-64,965,794),30525=>array(105,-74,966,820),30526=>array(57,-67,955,785),30527=>array(88,-61,976,840),30528=>array(39,-69,929,839),30529=>array(101,-72,922,824),30530=>array(37,-67,938,841),30531=>array(97,-73,930,835),30532=>array(104,-67,909,825),30533=>array(107,-49,955,806),30534=>array(98,-55,951,834),30535=>array(110,-64,915,853),30536=>array(88,-16,952,788),30537=>array(88,-24,958,829),30538=>array(107,-48,902,803),30539=>array(97,-68,954,828),30540=>array(100,-71,949,825),30541=>array(96,-50,954,804),30542=>array(109,-47,948,864),30543=>array(112,-68,903,782),30544=>array(100,-69,940,820),30545=>array(96,-18,937,823),30546=>array(118,-75,983,829),30547=>array(100,-74,960,829),30548=>array(105,-70,969,840),30549=>array(112,-66,967,844),30550=>array(112,-74,972,823),30551=>array(105,-66,929,781),30552=>array(76,-73,930,781),30553=>array(110,-79,979,829),30554=>array(97,-72,933,790),30555=>array(109,-68,935,831),30556=>array(98,-63,930,836),30557=>array(72,-69,908,849),30558=>array(110,-64,970,830),30559=>array(95,-48,939,857),30560=>array(109,-30,965,841),30561=>array(87,-26,947,833),30562=>array(98,-64,937,832),30563=>array(57,-67,956,835),30564=>array(104,-64,955,792),30565=>array(104,-64,951,856),30566=>array(96,-30,948,826),30567=>array(97,-48,944,860),30568=>array(137,-57,969,845),30569=>array(118,-73,966,838),30570=>array(78,-70,932,783),30571=>array(92,-72,941,833),30572=>array(94,-65,944,831),30573=>array(113,-68,911,780),30574=>array(108,-67,980,839),30575=>array(88,-69,941,834),30576=>array(92,-65,948,829),30577=>array(88,-68,965,791),30578=>array(92,-22,945,788),30579=>array(92,-32,980,829),30580=>array(92,-65,936,787),30581=>array(107,-53,981,829),30582=>array(92,-64,978,842),30583=>array(92,-55,964,827),30584=>array(111,-64,906,789),30585=>array(98,-66,932,831),30586=>array(109,-74,962,834),30587=>array(92,-20,959,855),30588=>array(107,-69,965,786),30589=>array(86,-62,952,833),30590=>array(58,-72,950,849),30591=>array(49,-66,958,833),30592=>array(40,-65,982,845),30593=>array(111,-69,971,785),30594=>array(44,-67,970,832),30595=>array(100,-69,954,831),30596=>array(93,-65,929,835),30597=>array(79,-79,950,828),30598=>array(92,-60,938,832),30599=>array(97,-63,956,833),30600=>array(121,-79,980,781),30601=>array(93,-73,987,827),30602=>array(92,-77,956,843),30603=>array(94,-78,961,833),30604=>array(90,-26,927,833),30605=>array(97,-58,966,841),30606=>array(89,-62,932,824),30607=>array(54,-75,971,782),30608=>array(124,-45,896,816),30609=>array(91,-67,938,790),30610=>array(87,-60,917,826),30611=>array(104,-66,914,838),30612=>array(92,-74,947,833),30613=>array(98,-50,945,854),30614=>array(114,-69,938,813),30615=>array(116,-70,933,828),30616=>array(89,-23,953,801),30617=>array(109,-72,970,826),30618=>array(107,-80,958,837),30619=>array(108,-69,973,835),30620=>array(97,-73,949,821),30621=>array(105,-65,951,834),30622=>array(95,-69,936,831),30623=>array(82,-70,955,789),30624=>array(79,-39,942,823),30625=>array(109,-72,961,822),30626=>array(88,-83,913,830),30627=>array(94,-37,962,823),30628=>array(79,-62,906,793),30629=>array(102,-72,959,841),30630=>array(79,-65,956,836),30631=>array(90,-62,941,837),30632=>array(108,-73,966,821),30633=>array(88,-72,894,779),30634=>array(86,-23,935,843),30635=>array(114,-70,961,782),30636=>array(95,-68,944,830),30637=>array(94,-66,975,841),30638=>array(100,-62,970,847),30639=>array(88,-68,911,796),30640=>array(85,-75,960,828),30641=>array(102,-70,950,824),30642=>array(106,-68,928,783),30643=>array(95,-35,940,833),30644=>array(105,-71,961,827),30645=>array(109,-62,951,838),30646=>array(108,-64,969,839),30647=>array(105,-68,901,785),30648=>array(98,-70,957,827),30649=>array(89,-69,944,838),30650=>array(96,-70,952,839),30651=>array(68,-75,919,838),30652=>array(82,-67,951,852),30653=>array(52,-64,969,836),30654=>array(72,-46,910,801),30655=>array(39,-65,947,790),30656=>array(68,-77,981,828),30657=>array(99,-23,974,825),30658=>array(94,-66,961,786),30659=>array(76,-63,952,844),30660=>array(92,-76,949,830),30661=>array(81,-70,953,805),30662=>array(96,-65,963,828),30663=>array(91,-64,959,820),30664=>array(81,-70,957,848),30665=>array(98,-55,952,856),30666=>array(103,-68,919,835),30667=>array(87,-67,948,808),30668=>array(102,-72,964,850),30669=>array(31,-62,974,799),30670=>array(94,-65,963,844),30671=>array(92,-69,939,853),30672=>array(99,-67,935,785),30673=>array(68,-67,953,832),30674=>array(77,-67,946,833),30675=>array(91,-68,951,831),30676=>array(99,-70,938,824),30677=>array(41,-72,957,840),30678=>array(97,-62,965,804),30679=>array(71,-71,953,842),30680=>array(92,-68,947,830),30681=>array(88,-54,899,806),30682=>array(102,-77,905,786),30683=>array(81,-57,926,793),30684=>array(39,-66,972,850),30685=>array(39,-77,960,846),30686=>array(60,-68,927,786),30687=>array(44,-67,940,833),30688=>array(33,-70,954,825),30689=>array(43,-61,960,811),30690=>array(69,-71,947,828),30691=>array(42,-66,965,843),30692=>array(80,-56,964,837),30693=>array(69,-73,911,838),30694=>array(62,-67,941,836),30695=>array(34,-67,893,831),30696=>array(37,-68,980,834),30697=>array(39,-61,947,825),30698=>array(39,-65,932,834),30699=>array(27,-61,951,839),30700=>array(33,-29,955,832),30701=>array(51,-77,948,809),30702=>array(36,-73,951,833),30703=>array(33,-67,963,827),30704=>array(59,-70,934,838),30705=>array(40,-71,980,827),30706=>array(34,-65,980,837),30707=>array(67,-70,909,768),30708=>array(39,-66,948,761),30709=>array(61,-61,880,824),30710=>array(39,-57,929,774),30711=>array(44,-63,953,786),30712=>array(38,-64,959,780),30713=>array(37,-66,962,788),30714=>array(29,-33,959,828),30715=>array(51,-29,972,837),30716=>array(39,-2,957,761),30717=>array(59,-77,927,841),30718=>array(40,-70,942,785),30719=>array(49,-68,921,818),30720=>array(23,-59,898,767),30721=>array(39,-62,905,768),30722=>array(38,-68,971,824),30723=>array(45,-69,954,785),30724=>array(22,-69,955,829),30725=>array(44,-73,981,821),30726=>array(49,-70,990,836),30727=>array(42,-65,976,842),30728=>array(32,-71,970,772),30729=>array(48,-62,956,842),30730=>array(42,-64,957,843),30731=>array(42,-3,954,822),30732=>array(53,-62,925,829),30733=>array(43,-71,971,844),30734=>array(36,-77,971,828),30735=>array(43,-69,967,785),30736=>array(43,-70,969,786),30737=>array(51,-61,951,778),30738=>array(32,-51,952,818),30739=>array(39,-69,972,785),30740=>array(36,-71,956,780),30741=>array(42,-63,954,837),30742=>array(21,-68,921,826),30743=>array(29,-67,951,820),30744=>array(28,-44,944,824),30745=>array(42,-35,952,780),30746=>array(26,-62,929,788),30747=>array(41,-69,972,837),30748=>array(24,-69,954,781),30749=>array(50,-56,956,827),30750=>array(42,-64,987,839),30751=>array(41,-62,956,848),30752=>array(32,-17,954,792),30753=>array(52,-35,964,765),30754=>array(44,-59,952,783),30755=>array(44,-32,950,844),30756=>array(42,-29,943,831),30757=>array(29,-55,959,831),30758=>array(41,-53,960,843),30759=>array(40,-65,945,827),30760=>array(47,-75,964,832),30761=>array(42,-65,921,831),30762=>array(38,-60,958,784),30763=>array(57,-37,962,824),30764=>array(39,-19,952,816),30765=>array(37,-65,963,830),30766=>array(44,-53,962,855),30767=>array(51,-64,976,828),30768=>array(34,-68,951,780),30769=>array(46,-77,979,841),30770=>array(35,-29,963,835),30771=>array(43,-54,945,779),30772=>array(46,-70,958,835),30773=>array(23,-59,971,836),30774=>array(42,-66,886,843),30775=>array(59,-70,922,836),30776=>array(36,-26,956,788),30777=>array(35,-68,971,830),30778=>array(54,-72,946,761),30779=>array(29,-62,933,826),30780=>array(31,-31,964,840),30781=>array(42,-57,928,786),30782=>array(32,-60,947,828),30783=>array(33,-66,948,822),30784=>array(35,-60,905,830),30785=>array(30,-33,938,772),30786=>array(32,-11,965,845),30787=>array(37,-65,980,839),30788=>array(35,-66,960,831),30789=>array(41,-20,954,832),30790=>array(35,-65,963,841),30791=>array(46,-78,909,839),30792=>array(41,-72,956,824),30793=>array(42,-68,958,824),30794=>array(45,-72,952,822),30795=>array(35,-73,969,836),30796=>array(28,-57,972,849),30797=>array(30,-60,973,791),30798=>array(36,-63,907,832),30799=>array(36,-69,953,788),30800=>array(43,-70,909,782),30801=>array(36,-70,958,839),30802=>array(35,-68,948,780),30803=>array(25,-32,959,833),30804=>array(35,-71,949,826),30805=>array(38,-67,940,775),30806=>array(30,-74,945,826),30807=>array(29,-72,936,821),30808=>array(35,-64,903,795),30809=>array(25,-25,938,826),30810=>array(35,-66,963,823),30811=>array(35,-63,955,846),30812=>array(42,-20,956,791),30813=>array(50,-70,943,833),30814=>array(41,-67,954,829),30815=>array(35,-67,967,824),30816=>array(45,-71,972,834),30817=>array(35,-68,937,832),30818=>array(41,-70,961,819),30819=>array(35,-68,953,830),30820=>array(33,-67,983,833),30821=>array(42,-68,950,838),30822=>array(35,-51,951,802),30823=>array(35,-64,895,785),30824=>array(49,-62,964,838),30825=>array(50,-65,938,830),30826=>array(33,-54,959,830),30827=>array(26,-70,964,830),30828=>array(46,-61,978,784),30829=>array(41,-35,959,805),30830=>array(51,-57,907,852),30831=>array(34,-69,960,787),30832=>array(51,-65,942,830),30833=>array(49,-71,915,777),30834=>array(42,-64,980,833),30835=>array(35,-54,970,835),30836=>array(32,-65,962,828),30837=>array(39,-63,958,839),30838=>array(35,-66,969,830),30839=>array(32,-32,939,811),30840=>array(35,-67,948,836),30841=>array(39,-61,977,829),30842=>array(35,-56,959,785),30843=>array(44,-68,987,782),30844=>array(59,-78,919,779),30845=>array(35,-32,954,839),30846=>array(29,-16,953,853),30847=>array(37,-27,950,837),30848=>array(44,-67,954,827),30849=>array(26,-54,971,843),30850=>array(35,-57,969,850),30851=>array(36,-72,950,823),30852=>array(44,-70,972,823),30853=>array(36,-72,900,780),30854=>array(41,-52,949,843),30855=>array(42,-71,962,833),30856=>array(35,-65,960,833),30857=>array(53,-68,918,785),30858=>array(35,-57,974,840),30859=>array(35,-67,932,836),30860=>array(35,-67,966,836),30861=>array(33,-52,952,796),30862=>array(43,-64,951,834),30863=>array(39,-72,955,820),30864=>array(35,-67,981,839),30865=>array(31,-68,956,844),30866=>array(35,-23,982,843),30867=>array(44,-68,951,840),30868=>array(31,-62,968,831),30869=>array(35,-64,964,835),30870=>array(44,-70,958,847),30871=>array(43,-69,961,834),30872=>array(44,-74,960,829),30873=>array(47,-67,908,786),30874=>array(39,-63,954,840),30875=>array(27,-75,923,826),30876=>array(23,-71,949,839),30877=>array(35,-72,975,788),30878=>array(45,-50,936,798),30879=>array(35,-62,968,833),30880=>array(41,-67,952,837),30881=>array(37,-64,956,830),30882=>array(46,-65,907,785),30883=>array(49,-68,927,788),30884=>array(47,-71,971,823),30885=>array(32,-67,915,824),30886=>array(50,-70,956,849),30887=>array(60,-67,937,845),30888=>array(44,-73,975,784),30889=>array(44,-72,970,783),30890=>array(28,-54,948,841),30891=>array(46,-74,969,825),30892=>array(28,-73,971,785),30893=>array(29,-68,954,788),30894=>array(35,-72,979,788),30895=>array(34,-61,951,849),30896=>array(45,-29,957,845),30897=>array(34,-72,955,834),30898=>array(47,-67,939,842),30899=>array(39,-72,970,829),30900=>array(41,-24,964,830),30901=>array(32,-74,962,836),30902=>array(35,-57,961,834),30903=>array(35,-71,962,839),30904=>array(35,-69,971,789),30905=>array(25,-10,922,818),30906=>array(34,-69,950,843),30907=>array(29,-57,949,835),30908=>array(50,-60,933,781),30909=>array(35,-66,969,791),30910=>array(30,-70,961,785),30911=>array(39,-75,925,795),30912=>array(31,-58,963,838),30913=>array(37,-57,955,836),30914=>array(46,-65,913,834),30915=>array(37,-73,966,832),30916=>array(46,-73,966,830),30917=>array(37,-76,954,834),30918=>array(32,-69,946,793),30919=>array(32,-53,968,852),30920=>array(41,-64,972,857),30921=>array(43,-62,990,790),30922=>array(52,-68,944,788),30923=>array(20,-40,934,849),30924=>array(32,-70,955,825),30925=>array(19,-71,946,841),30926=>array(29,-75,967,841),30927=>array(34,-68,985,840),30928=>array(42,-61,956,844),30929=>array(41,-24,964,831),30930=>array(41,-64,941,785),30931=>array(32,-58,963,844),30932=>array(25,-59,963,849),30933=>array(32,-24,959,832),30934=>array(29,-57,921,800),30935=>array(32,-71,959,838),30936=>array(31,-67,956,827),30937=>array(24,-79,968,846),30938=>array(43,-66,957,831),30939=>array(39,-50,933,846),30940=>array(43,-55,960,850),30941=>array(40,-71,964,827),30942=>array(44,-75,898,824),30943=>array(51,-66,971,783),30944=>array(39,-64,958,839),30945=>array(25,-70,918,831),30946=>array(36,-72,964,824),30947=>array(36,-64,997,858),30948=>array(31,-66,957,837),30949=>array(47,-68,967,780),30950=>array(47,-64,965,787),30951=>array(43,-68,975,839),30952=>array(37,-64,939,833),30953=>array(45,-72,969,825),30954=>array(38,-65,966,838),30955=>array(38,-70,955,836),30956=>array(44,-67,952,832),30957=>array(45,-73,956,785),30958=>array(30,-61,945,841),30959=>array(33,-69,960,835),30960=>array(35,-65,952,846),30961=>array(33,-66,957,833),30962=>array(32,-63,975,829),30963=>array(46,-72,900,824),30964=>array(41,-21,989,838),30965=>array(41,-67,924,787),30966=>array(41,-64,944,846),30967=>array(37,-74,953,832),30968=>array(41,-76,974,851),30969=>array(56,-70,953,781),30970=>array(41,-72,968,828),30971=>array(30,-57,971,839),30972=>array(53,-68,966,832),30973=>array(38,-63,971,837),30974=>array(42,-65,940,787),30975=>array(32,-65,953,793),30976=>array(74,-68,926,785),30977=>array(45,-68,961,840),30978=>array(53,-70,956,825),30979=>array(54,-64,945,833),30980=>array(44,-62,988,833),30981=>array(41,-72,968,839),30982=>array(44,-68,969,858),30983=>array(43,-62,969,850),30984=>array(36,-58,963,825),30985=>array(43,-75,975,835),30986=>array(41,-59,959,818),30987=>array(51,-64,949,786),30988=>array(36,-65,935,789),30989=>array(53,-59,933,836),30990=>array(36,-65,961,825),30991=>array(44,-55,951,833),30992=>array(39,-71,937,833),30993=>array(40,-52,933,847),30994=>array(29,-58,965,860),30995=>array(44,-35,951,778),30996=>array(43,-68,956,836),30997=>array(44,-67,945,819),30998=>array(44,-70,952,821),30999=>array(51,-74,960,836),31000=>array(46,-69,954,786),31001=>array(33,-61,967,832),31002=>array(44,-20,957,835),31003=>array(41,-27,954,823),31004=>array(41,-67,984,839),31005=>array(33,-65,953,783),31006=>array(44,-66,976,830),31007=>array(22,-60,975,794),31008=>array(51,-31,949,846),31009=>array(34,-67,948,828),31010=>array(44,-76,975,844),31011=>array(32,-67,970,830),31012=>array(35,-67,976,828),31013=>array(41,-66,975,794),31014=>array(39,-74,959,834),31015=>array(46,-55,932,795),31016=>array(50,-54,936,792),31017=>array(36,-76,959,833),31018=>array(32,-63,962,799),31019=>array(26,-71,965,844),31020=>array(50,-70,962,833),31021=>array(59,-70,978,775),31022=>array(22,-60,975,840),31023=>array(36,-65,951,829),31024=>array(49,-69,953,790),31025=>array(44,-68,949,849),31026=>array(44,-62,956,842),31027=>array(26,-64,957,845),31028=>array(31,-61,951,832),31029=>array(44,-62,923,789),31030=>array(64,-58,936,839),31031=>array(50,-23,950,838),31032=>array(35,-75,979,829),31033=>array(33,-68,982,789),31034=>array(91,-68,932,757),31035=>array(235,-68,689,820),31036=>array(42,-59,961,820),31037=>array(54,-57,912,839),31038=>array(47,-69,949,822),31039=>array(48,-56,921,844),31040=>array(77,-68,945,768),31041=>array(39,-68,935,815),31042=>array(35,-55,963,847),31043=>array(35,-69,905,826),31044=>array(35,-70,976,835),31045=>array(45,-69,967,834),31046=>array(38,-67,964,841),31047=>array(36,-63,968,834),31048=>array(46,-67,946,834),31049=>array(36,-63,944,834),31050=>array(35,-55,960,848),31051=>array(36,-76,963,831),31052=>array(41,-71,918,831),31053=>array(45,-65,948,845),31054=>array(41,-71,906,826),31055=>array(34,-68,956,828),31056=>array(40,-60,958,843),31057=>array(34,-68,977,831),31058=>array(34,-72,908,824),31059=>array(47,-70,957,828),31060=>array(42,-52,949,850),31061=>array(42,-69,970,835),31062=>array(35,-73,953,818),31063=>array(57,-69,955,814),31064=>array(29,-52,964,763),31065=>array(34,-57,970,842),31066=>array(72,-69,960,838),31067=>array(32,-69,941,832),31068=>array(32,-69,953,836),31069=>array(35,-67,960,822),31070=>array(55,-67,904,837),31071=>array(64,-67,945,836),31072=>array(67,-68,909,775),31073=>array(60,-64,948,823),31074=>array(36,-64,962,834),31075=>array(44,-68,962,839),31076=>array(47,-69,906,833),31077=>array(39,-68,956,843),31078=>array(39,-68,968,836),31079=>array(37,-69,969,847),31080=>array(73,-61,952,788),31081=>array(50,-70,966,837),31082=>array(46,-72,955,833),31083=>array(27,-54,973,853),31084=>array(50,-69,956,837),31085=>array(46,-66,957,839),31086=>array(50,-69,953,838),31087=>array(30,-65,925,821),31088=>array(43,-64,959,843),31089=>array(50,-69,959,846),31090=>array(35,-65,970,842),31091=>array(45,-72,964,839),31092=>array(39,-74,951,841),31093=>array(50,-69,923,837),31094=>array(50,-69,925,842),31095=>array(36,-63,952,834),31096=>array(28,-61,886,822),31097=>array(27,-64,920,840),31098=>array(57,-66,963,829),31099=>array(50,-70,911,837),31100=>array(31,-53,982,851),31101=>array(40,-67,954,838),31102=>array(50,-69,968,837),31103=>array(32,-69,969,840),31104=>array(39,-74,915,816),31105=>array(46,-65,957,834),31106=>array(33,-70,908,835),31107=>array(50,-69,959,839),31108=>array(38,-64,963,834),31109=>array(45,-65,955,847),31110=>array(36,-69,956,849),31111=>array(50,-69,959,837),31112=>array(44,-68,951,835),31113=>array(28,-69,953,842),31114=>array(32,-69,958,832),31115=>array(38,-53,954,847),31116=>array(50,-69,943,843),31117=>array(36,-63,912,834),31118=>array(44,-67,971,832),31119=>array(38,-69,943,834),31120=>array(46,-69,957,835),31121=>array(32,-69,930,804),31122=>array(43,-69,970,839),31123=>array(38,-72,950,826),31124=>array(32,-69,966,797),31125=>array(38,-62,968,842),31126=>array(28,-57,978,843),31127=>array(51,-62,967,835),31128=>array(36,-56,953,846),31129=>array(32,-64,966,846),31130=>array(31,-70,985,832),31131=>array(30,-78,961,833),31132=>array(88,-67,941,823),31133=>array(50,-69,964,802),31134=>array(50,-75,940,841),31135=>array(50,-69,954,843),31136=>array(30,-71,955,836),31137=>array(49,-64,948,842),31138=>array(34,-72,915,826),31139=>array(48,-71,959,842),31140=>array(47,-68,899,835),31141=>array(38,-69,971,837),31142=>array(63,-66,940,835),31143=>array(60,-69,947,835),31144=>array(42,-72,973,843),31145=>array(50,-69,973,837),31146=>array(55,-69,955,791),31147=>array(32,-55,954,842),31148=>array(51,-71,963,840),31149=>array(44,-66,980,845),31150=>array(60,-69,952,833),31151=>array(50,-70,979,840),31152=>array(39,-64,973,827),31153=>array(26,-69,960,835),31154=>array(35,-72,947,835),31155=>array(50,-69,970,846),31156=>array(24,-59,972,868),31157=>array(43,-69,959,836),31158=>array(30,-81,968,825),31159=>array(37,-68,965,830),31160=>array(72,-59,875,818),31161=>array(120,-71,883,829),31162=>array(130,-64,882,785),31163=>array(69,-65,939,838),31164=>array(131,-65,869,834),31165=>array(38,-59,962,856),31166=>array(55,-70,958,825),31167=>array(52,-64,947,831),31168=>array(50,-59,951,830),31169=>array(40,-68,959,833),31170=>array(50,-50,954,823),31171=>array(50,-76,921,817),31172=>array(44,-67,955,833),31173=>array(45,-67,951,833),31174=>array(49,-70,947,820),31175=>array(50,-70,960,833),31176=>array(36,-52,904,846),31177=>array(42,-70,950,823),31178=>array(47,-69,968,834),31179=>array(43,-73,964,837),31180=>array(59,-71,968,829),31181=>array(45,-70,917,826),31182=>array(39,-69,962,824),31183=>array(48,-71,960,838),31184=>array(51,-69,955,829),31185=>array(41,-69,955,829),31186=>array(43,-70,959,827),31187=>array(41,-69,965,835),31188=>array(41,-69,966,843),31189=>array(39,-61,954,829),31190=>array(42,-76,972,827),31191=>array(41,-70,955,829),31192=>array(43,-61,969,828),31193=>array(41,-69,956,836),31194=>array(41,-69,944,833),31195=>array(49,-71,951,832),31196=>array(35,-71,952,829),31197=>array(51,-71,976,822),31198=>array(53,-70,924,827),31199=>array(32,-73,958,817),31200=>array(42,-70,964,829),31201=>array(41,-69,975,844),31202=>array(37,-78,975,831),31203=>array(39,-59,972,839),31204=>array(42,-75,951,810),31205=>array(41,-69,947,830),31206=>array(52,-68,964,835),31207=>array(39,-72,979,835),31208=>array(41,-69,951,842),31209=>array(36,-70,973,839),31210=>array(37,-49,966,859),31211=>array(34,-65,954,834),31212=>array(41,-57,941,835),31213=>array(42,-62,937,835),31214=>array(48,-73,960,829),31215=>array(24,-62,939,830),31216=>array(44,-59,961,835),31217=>array(59,-69,941,829),31218=>array(31,-71,942,835),31219=>array(41,-69,958,839),31220=>array(41,-69,985,853),31221=>array(66,-69,939,829),31222=>array(39,-69,973,829),31223=>array(47,-67,951,822),31224=>array(44,-61,951,836),31225=>array(33,-69,954,829),31226=>array(45,-59,955,827),31227=>array(49,-70,935,839),31228=>array(55,-69,945,836),31229=>array(30,-61,896,835),31230=>array(33,-72,959,835),31231=>array(67,-69,933,839),31232=>array(41,-71,961,846),31233=>array(47,-61,930,846),31234=>array(36,-64,968,850),31235=>array(35,-55,951,842),31236=>array(40,-72,969,830),31237=>array(36,-70,970,819),31238=>array(26,-64,871,821),31239=>array(62,-64,938,817),31240=>array(43,-60,956,828),31241=>array(24,-64,976,818),31242=>array(49,-52,932,864),31243=>array(29,-70,949,816),31244=>array(38,-55,967,862),31245=>array(52,-70,947,837),31246=>array(36,-70,954,840),31247=>array(26,-64,954,827),31248=>array(41,-71,977,836),31249=>array(28,-51,951,846),31250=>array(43,-72,903,823),31251=>array(47,-72,951,825),31252=>array(30,-62,970,840),31253=>array(47,-72,954,834),31254=>array(26,-70,947,841),31255=>array(38,-67,954,844),31256=>array(34,-52,952,846),31257=>array(39,-57,954,852),31258=>array(41,-70,955,832),31259=>array(45,-70,905,828),31260=>array(33,-57,967,835),31261=>array(70,-73,930,822),31262=>array(27,-72,965,819),31263=>array(76,-61,930,816),31264=>array(49,-80,911,818),31265=>array(41,-64,959,851),31266=>array(43,-70,969,825),31267=>array(39,-64,947,838),31268=>array(36,-64,953,849),31269=>array(56,-65,950,817),31270=>array(33,-69,951,833),31271=>array(34,-65,966,829),31272=>array(32,-68,918,827),31273=>array(55,-64,945,821),31274=>array(50,-64,950,837),31275=>array(34,-74,962,821),31276=>array(26,-71,961,823),31277=>array(21,-68,970,831),31278=>array(47,-65,956,836),31279=>array(33,-71,967,829),31280=>array(33,-50,972,845),31281=>array(32,-69,956,835),31282=>array(32,-64,936,824),31283=>array(19,-61,947,834),31284=>array(26,-64,966,850),31285=>array(26,-64,965,843),31286=>array(26,-72,949,835),31287=>array(24,-66,952,823),31288=>array(24,-68,960,843),31289=>array(22,-67,964,848),31290=>array(26,-71,928,826),31291=>array(45,-71,943,832),31292=>array(38,-69,979,832),31293=>array(40,-65,946,844),31294=>array(47,-51,930,836),31295=>array(55,-75,940,831),31296=>array(45,-74,964,825),31297=>array(26,-70,956,827),31298=>array(41,-68,976,826),31299=>array(33,-58,958,845),31300=>array(27,-59,960,850),31301=>array(37,-66,966,848),31302=>array(39,-73,961,847),31303=>array(36,-76,983,847),31304=>array(47,-71,967,832),31305=>array(31,-61,952,834),31306=>array(27,-68,967,835),31307=>array(39,-70,979,838),31308=>array(31,-62,964,843),31309=>array(40,-74,947,833),31310=>array(39,-70,972,838),31311=>array(32,-55,965,838),31312=>array(30,-61,965,846),31313=>array(26,-63,910,824),31314=>array(38,-72,960,833),31315=>array(26,-64,963,821),31316=>array(43,-78,959,827),31317=>array(41,-65,961,845),31318=>array(40,-72,961,822),31319=>array(41,-68,957,826),31320=>array(43,-77,963,823),31321=>array(26,-68,971,833),31322=>array(38,-70,962,828),31323=>array(46,-78,971,828),31324=>array(37,-71,951,831),31325=>array(41,-66,959,822),31326=>array(26,-73,928,821),31327=>array(33,-71,974,825),31328=>array(32,-68,983,840),31329=>array(35,-63,956,836),31330=>array(22,-74,969,833),31331=>array(35,-79,967,837),31332=>array(32,-59,964,825),31333=>array(42,-73,947,821),31334=>array(47,-65,966,853),31335=>array(40,-72,963,837),31336=>array(45,-67,974,830),31337=>array(31,-66,959,831),31338=>array(51,-71,949,825),31339=>array(28,-56,967,840),31340=>array(38,-80,966,843),31341=>array(28,-69,984,853),31342=>array(30,-70,971,846),31343=>array(36,-63,956,836),31344=>array(21,-69,962,844),31345=>array(36,-69,961,835),31346=>array(51,-73,953,825),31347=>array(36,-78,970,836),31348=>array(66,-59,950,822),31349=>array(94,-14,943,852),31350=>array(48,-44,957,822),31351=>array(44,-71,898,831),31352=>array(45,-59,924,850),31353=>array(92,-58,898,839),31354=>array(88,-17,918,833),31355=>array(66,-68,945,843),31356=>array(48,-68,967,849),31357=>array(60,-70,922,839),31358=>array(60,-69,982,839),31359=>array(58,-62,928,838),31360=>array(58,-32,965,854),31361=>array(60,-65,942,824),31362=>array(56,-65,944,849),31363=>array(54,-56,898,831),31364=>array(63,-69,898,828),31365=>array(109,-62,920,857),31366=>array(51,-60,972,867),31367=>array(48,-36,962,835),31368=>array(78,-76,908,833),31369=>array(72,-64,948,838),31370=>array(47,-75,967,846),31371=>array(107,-67,927,837),31372=>array(64,-67,929,845),31373=>array(52,-65,916,836),31374=>array(72,-62,902,840),31375=>array(81,-79,935,829),31376=>array(66,-8,941,851),31377=>array(65,-69,937,862),31378=>array(75,-35,925,839),31379=>array(50,-38,954,839),31380=>array(40,-51,963,864),31381=>array(27,-68,937,839),31382=>array(42,-70,934,839),31383=>array(102,-69,898,831),31384=>array(28,-67,930,839),31385=>array(63,-65,938,840),31386=>array(50,-72,952,849),31387=>array(47,-75,963,849),31388=>array(73,-61,896,832),31389=>array(37,-69,897,838),31390=>array(75,-73,915,848),31391=>array(43,-83,898,838),31392=>array(38,-65,962,845),31393=>array(60,-71,955,848),31394=>array(53,-75,957,844),31395=>array(63,-62,957,854),31396=>array(94,-54,954,851),31397=>array(37,-64,936,840),31398=>array(57,-68,914,837),31399=>array(65,-68,935,851),31400=>array(60,-65,954,848),31401=>array(102,-73,898,839),31402=>array(56,-38,956,839),31403=>array(46,-72,969,845),31404=>array(42,-64,979,849),31405=>array(53,-67,927,846),31406=>array(55,-64,925,838),31407=>array(37,-65,963,839),31408=>array(81,-70,935,830),31409=>array(42,-73,971,838),31410=>array(57,-70,951,830),31411=>array(49,-70,959,848),31412=>array(86,-79,937,838),31413=>array(58,-62,927,848),31414=>array(53,-80,947,833),31415=>array(52,-77,909,838),31416=>array(53,-30,974,854),31417=>array(34,-64,951,851),31418=>array(57,-76,962,839),31419=>array(51,-52,952,851),31420=>array(38,-58,966,851),31421=>array(38,-71,961,851),31422=>array(63,-68,974,852),31423=>array(56,-76,933,831),31424=>array(51,-72,960,832),31425=>array(36,-62,952,861),31426=>array(41,-64,970,851),31427=>array(47,-67,965,843),31428=>array(77,-66,948,833),31429=>array(48,-75,970,839),31430=>array(62,-68,918,847),31431=>array(53,-80,950,838),31432=>array(50,-49,968,844),31433=>array(54,-68,967,852),31434=>array(57,-71,921,843),31435=>array(95,-3,912,822),31436=>array(86,-73,975,825),31437=>array(86,-67,950,830),31438=>array(56,-54,934,838),31439=>array(49,-67,935,821),31440=>array(49,-65,964,800),31441=>array(40,-54,945,821),31442=>array(83,-65,938,832),31443=>array(59,-21,929,828),31444=>array(49,-55,909,833),31445=>array(49,-62,963,806),31446=>array(48,-16,952,807),31447=>array(53,-60,952,827),31448=>array(60,-72,935,832),31449=>array(73,-66,918,832),31450=>array(46,-68,964,825),31451=>array(45,-78,975,831),31452=>array(66,-54,954,836),31453=>array(27,-26,947,799),31454=>array(39,-58,932,838),31455=>array(38,-66,946,818),31456=>array(60,-68,940,831),31457=>array(24,-64,957,801),31458=>array(44,-74,979,825),31459=>array(35,-69,964,849),31460=>array(54,-70,962,838),31461=>array(68,-33,932,832),31462=>array(45,-65,971,832),31463=>array(56,-68,957,847),31464=>array(54,-62,969,844),31465=>array(79,-23,957,848),31466=>array(66,-25,960,796),31467=>array(45,-71,956,834),31468=>array(40,-71,948,833),31469=>array(67,-65,921,802),31470=>array(48,-73,953,833),31471=>array(43,-70,942,830),31472=>array(45,-63,948,804),31473=>array(48,-65,957,832),31474=>array(48,-68,935,849),31475=>array(48,-23,963,837),31476=>array(37,-72,957,845),31477=>array(38,-69,944,830),31478=>array(39,-76,959,838),31479=>array(55,-69,969,840),31480=>array(39,-76,962,830),31481=>array(49,-62,949,848),31482=>array(68,-5,943,819),31483=>array(47,-67,948,847),31484=>array(54,-71,948,847),31485=>array(54,-59,954,842),31486=>array(54,-10,948,827),31487=>array(42,-60,931,841),31488=>array(48,-23,947,847),31489=>array(47,-15,955,847),31490=>array(41,-69,969,822),31491=>array(44,-64,919,822),31492=>array(37,-73,945,844),31493=>array(47,-73,977,842),31494=>array(40,-44,914,835),31495=>array(67,-75,933,845),31496=>array(44,-65,955,845),31497=>array(47,-66,945,843),31498=>array(37,-68,964,840),31499=>array(62,-58,962,845),31500=>array(54,-57,943,845),31501=>array(56,-61,939,835),31502=>array(52,-69,966,834),31503=>array(74,-69,960,839),31504=>array(43,-70,964,838),31505=>array(65,-64,953,839),31506=>array(43,-77,971,835),31507=>array(44,-50,965,814),31508=>array(33,-25,918,830),31509=>array(39,-63,932,825),31510=>array(44,-67,962,814),31511=>array(44,-77,969,814),31512=>array(44,-57,932,848),31513=>array(51,-18,938,840),31514=>array(45,-69,941,841),31515=>array(50,-65,952,841),31516=>array(44,-64,941,814),31517=>array(60,-69,927,832),31518=>array(52,-63,944,842),31519=>array(53,-62,951,836),31520=>array(52,-17,945,838),31521=>array(52,-14,957,842),31522=>array(55,-71,959,829),31523=>array(37,-30,956,841),31524=>array(45,-68,954,844),31525=>array(62,-62,956,854),31526=>array(42,-73,950,841),31527=>array(37,-69,956,847),31528=>array(38,-59,970,846),31529=>array(43,-72,958,854),31530=>array(54,-14,959,835),31531=>array(54,-65,942,842),31532=>array(62,-62,932,834),31533=>array(31,-80,969,835),31534=>array(44,-56,945,847),31535=>array(49,-74,953,837),31536=>array(45,-65,933,838),31537=>array(55,-56,948,846),31538=>array(51,-65,932,832),31539=>array(55,-63,950,842),31540=>array(41,-65,938,827),31541=>array(44,-70,953,836),31542=>array(44,-71,968,836),31543=>array(40,-61,962,836),31544=>array(71,-20,962,836),31545=>array(54,-64,946,836),31546=>array(27,-63,931,833),31547=>array(52,-61,950,847),31548=>array(34,-59,940,842),31549=>array(39,33,944,842),31550=>array(31,-57,938,823),31551=>array(34,-73,968,842),31552=>array(51,-32,952,820),31553=>array(31,-43,909,823),31554=>array(31,-44,959,823),31555=>array(46,-61,937,836),31556=>array(53,-68,947,845),31557=>array(61,-58,969,848),31558=>array(74,-64,944,839),31559=>array(54,-66,944,841),31560=>array(41,-57,938,843),31561=>array(65,-68,934,838),31562=>array(58,-60,971,850),31563=>array(48,-65,946,848),31564=>array(42,-23,958,840),31565=>array(51,-52,938,854),31566=>array(40,-58,945,841),31567=>array(42,-59,961,848),31568=>array(42,-83,953,847),31569=>array(47,-61,950,833),31570=>array(43,-61,942,849),31571=>array(38,-65,931,837),31572=>array(34,-71,971,843),31573=>array(53,-54,962,844),31574=>array(46,-65,957,844),31575=>array(50,-68,949,842),31576=>array(56,-67,949,839),31577=>array(32,-61,943,834),31578=>array(37,-68,913,834),31579=>array(43,-69,925,829),31580=>array(45,-60,943,847),31581=>array(41,-66,922,820),31582=>array(37,-65,930,834),31583=>array(36,-64,948,837),31584=>array(50,-71,946,837),31585=>array(38,-71,962,841),31586=>array(39,-64,929,825),31587=>array(41,-69,932,840),31588=>array(33,-54,966,853),31589=>array(38,-54,923,849),31590=>array(37,-57,960,850),31591=>array(47,-66,970,839),31592=>array(37,-69,966,842),31593=>array(42,-54,936,857),31594=>array(33,-16,934,853),31595=>array(33,-62,943,853),31596=>array(38,-67,953,837),31597=>array(58,-52,939,857),31598=>array(62,-11,948,837),31599=>array(52,-75,935,837),31600=>array(54,-70,960,843),31601=>array(39,-67,969,843),31602=>array(50,-67,945,847),31603=>array(24,-65,970,846),31604=>array(34,-55,978,849),31605=>array(36,-74,949,845),31606=>array(49,-70,945,836),31607=>array(49,-70,965,840),31608=>array(50,-67,939,843),31609=>array(29,-63,911,833),31610=>array(42,-69,953,847),31611=>array(51,-66,938,827),31612=>array(47,-81,933,841),31613=>array(47,-69,947,841),31614=>array(46,-20,957,842),31615=>array(26,-64,958,841),31616=>array(46,-59,926,833),31617=>array(46,-59,934,833),31618=>array(42,-67,969,841),31619=>array(27,-74,968,841),31620=>array(47,-67,949,841),31621=>array(50,-70,945,841),31622=>array(47,-51,966,848),31623=>array(41,-67,970,846),31624=>array(40,-72,930,835),31625=>array(36,-63,938,842),31626=>array(39,-69,953,831),31627=>array(51,-60,964,847),31628=>array(52,-72,930,835),31629=>array(69,-58,957,847),31630=>array(43,-73,953,841),31631=>array(41,-61,948,851),31632=>array(48,-62,947,841),31633=>array(32,-57,968,852),31634=>array(41,-68,919,827),31635=>array(48,-52,959,846),31636=>array(48,-65,944,846),31637=>array(63,-58,944,849),31638=>array(44,-69,963,834),31639=>array(50,-75,935,841),31640=>array(61,-69,938,841),31641=>array(38,-52,975,855),31642=>array(57,-68,932,840),31643=>array(33,-61,959,855),31644=>array(49,-28,935,841),31645=>array(57,-59,960,850),31646=>array(46,-46,959,844),31647=>array(57,-54,954,850),31648=>array(41,-19,942,853),31649=>array(53,-68,929,845),31650=>array(48,-66,924,832),31651=>array(41,-65,912,831),31652=>array(45,-70,942,837),31653=>array(48,-62,960,832),31654=>array(27,-81,913,835),31655=>array(41,-17,917,829),31656=>array(38,-69,952,823),31657=>array(39,-61,919,834),31658=>array(52,-70,928,843),31659=>array(44,-68,937,824),31660=>array(55,-65,954,842),31661=>array(60,-58,957,855),31662=>array(60,-24,955,855),31663=>array(44,-70,976,833),31664=>array(66,-51,960,828),31665=>array(46,-62,947,846),31666=>array(69,-62,963,855),31667=>array(45,-72,935,855),31668=>array(39,-68,966,844),31669=>array(45,-70,952,843),31670=>array(42,-61,930,842),31671=>array(41,-66,954,847),31672=>array(49,-67,945,842),31673=>array(40,-72,941,837),31674=>array(43,-72,974,842),31675=>array(43,-70,959,842),31676=>array(43,-74,933,842),31677=>array(43,-27,947,842),31678=>array(50,-72,943,837),31679=>array(43,-64,942,842),31680=>array(54,-65,949,841),31681=>array(57,-36,962,835),31682=>array(67,-47,952,835),31683=>array(57,-70,952,835),31684=>array(67,-64,943,842),31685=>array(62,-62,954,842),31686=>array(56,-60,962,848),31687=>array(46,-69,942,840),31688=>array(33,-58,958,837),31689=>array(53,-67,959,838),31690=>array(42,-69,957,843),31691=>array(54,-71,945,849),31692=>array(38,-68,955,841),31693=>array(33,-64,985,837),31694=>array(53,-76,960,837),31695=>array(53,-64,973,847),31696=>array(38,-28,957,847),31697=>array(38,-75,911,829),31698=>array(38,-66,961,829),31699=>array(45,-60,933,836),31700=>array(54,-64,941,851),31701=>array(59,-14,952,832),31702=>array(46,-75,938,832),31703=>array(32,-62,968,844),31704=>array(55,-68,929,829),31705=>array(45,-65,938,849),31706=>array(36,-26,938,842),31707=>array(40,-71,931,840),31708=>array(53,-83,953,844),31709=>array(51,-69,949,843),31710=>array(63,-70,953,832),31711=>array(44,-65,948,836),31712=>array(30,-53,966,855),31713=>array(45,-60,974,855),31714=>array(62,-76,947,827),31715=>array(72,-69,937,837),31716=>array(53,-59,942,845),31717=>array(56,-67,982,847),31718=>array(49,-38,958,844),31719=>array(58,-68,927,829),31720=>array(35,-54,959,849),31721=>array(41,-64,959,855),31722=>array(47,-71,968,846),31723=>array(71,-67,946,832),31724=>array(43,-66,972,832),31725=>array(57,-54,962,849),31726=>array(54,-29,924,827),31727=>array(33,-71,959,827),31728=>array(66,-73,951,839),31729=>array(66,-64,929,830),31730=>array(47,-73,953,844),31731=>array(55,-59,970,853),31732=>array(45,-68,968,836),31733=>array(49,-71,955,828),31734=>array(42,-64,951,838),31735=>array(50,-46,960,856),31736=>array(42,-74,954,829),31737=>array(44,-39,957,827),31738=>array(57,-78,964,850),31739=>array(53,-64,937,846),31740=>array(59,-73,955,838),31741=>array(47,-68,933,831),31742=>array(41,-67,967,850),31743=>array(56,-73,951,830),31744=>array(64,-65,964,846),31745=>array(53,-74,976,830),31746=>array(60,-69,920,832),31747=>array(46,-70,931,831),31748=>array(36,-80,957,845),31749=>array(49,-72,954,828),31750=>array(44,-71,961,837),31751=>array(49,-67,982,849),31752=>array(45,-60,943,829),31753=>array(57,-70,982,845),31754=>array(50,-34,974,823),31755=>array(44,-30,974,839),31756=>array(33,-65,973,847),31757=>array(58,-74,942,844),31758=>array(71,-69,956,832),31759=>array(39,-65,954,845),31760=>array(57,-72,974,834),31761=>array(33,-66,981,853),31762=>array(39,-78,965,851),31763=>array(33,-64,962,855),31764=>array(29,-67,965,855),31765=>array(60,-71,920,847),31766=>array(52,-70,952,829),31767=>array(58,-63,961,821),31768=>array(50,-62,941,838),31769=>array(53,-72,953,841),31770=>array(46,-86,952,850),31771=>array(29,-49,942,858),31772=>array(56,-75,958,834),31773=>array(52,-67,967,833),31774=>array(50,-58,962,860),31775=>array(31,-67,946,844),31776=>array(56,-29,973,842),31777=>array(27,-61,951,844),31778=>array(59,-66,934,834),31779=>array(42,-63,948,847),31780=>array(43,-69,945,847),31781=>array(36,-53,976,855),31782=>array(48,-33,977,839),31783=>array(36,-68,915,842),31784=>array(51,-58,932,847),31785=>array(46,-68,930,835),31786=>array(47,-68,971,843),31787=>array(52,-76,949,842),31788=>array(57,-73,961,836),31789=>array(44,-63,970,838),31790=>array(36,-68,954,847),31791=>array(36,-55,942,847),31792=>array(46,-67,957,833),31793=>array(49,-67,951,849),31794=>array(43,-75,957,849),31795=>array(54,-65,964,840),31796=>array(42,-83,934,856),31797=>array(66,-62,962,834),31798=>array(23,-61,938,856),31799=>array(41,-54,938,856),31800=>array(43,-68,970,847),31801=>array(60,-67,927,837),31802=>array(43,-33,944,837),31803=>array(45,-74,984,829),31804=>array(44,-67,954,837),31805=>array(27,-65,972,841),31806=>array(31,-53,963,854),31807=>array(44,-70,954,853),31808=>array(61,-64,939,842),31809=>array(37,-74,918,824),31810=>array(39,-71,944,836),31811=>array(53,-16,955,849),31812=>array(36,-52,938,842),31813=>array(51,-70,958,841),31814=>array(46,-75,978,845),31815=>array(44,-59,975,850),31816=>array(36,-62,981,835),31817=>array(46,-35,945,842),31818=>array(37,-67,944,850),31819=>array(43,-66,974,835),31820=>array(56,-58,951,852),31821=>array(33,-62,943,852),31822=>array(43,-68,971,835),31823=>array(43,-95,953,835),31824=>array(39,-62,976,848),31825=>array(28,-82,972,847),31826=>array(61,-64,939,834),31827=>array(37,-64,969,840),31828=>array(35,-56,971,845),31829=>array(45,-70,937,842),31830=>array(38,-53,961,853),31831=>array(50,-60,948,845),31832=>array(39,-67,976,849),31833=>array(38,-52,959,853),31834=>array(42,-62,962,837),31835=>array(52,-72,964,839),31836=>array(57,-68,953,846),31837=>array(50,-68,962,846),31838=>array(47,-62,964,847),31839=>array(42,-69,965,851),31840=>array(49,-62,964,855),31841=>array(33,-60,962,818),31842=>array(45,-69,987,838),31843=>array(40,-67,929,841),31844=>array(38,-53,961,853),31845=>array(35,-60,967,853),31846=>array(39,-33,967,837),31847=>array(28,-57,969,854),31848=>array(22,-56,983,848),31849=>array(34,-67,964,848),31850=>array(33,-71,954,842),31851=>array(40,-60,952,857),31852=>array(61,-62,964,854),31853=>array(56,-73,940,856),31854=>array(54,-59,957,854),31855=>array(38,-75,974,837),31856=>array(31,-55,970,844),31857=>array(29,-78,963,835),31858=>array(46,-71,954,835),31859=>array(57,-67,949,830),31860=>array(33,-58,961,844),31861=>array(41,-71,956,823),31862=>array(41,-73,975,823),31863=>array(41,-71,935,823),31864=>array(36,-64,965,828),31865=>array(28,-68,954,826),31866=>array(38,-61,973,832),31867=>array(39,-62,948,834),31868=>array(48,-63,900,814),31869=>array(56,-59,960,838),31870=>array(42,-75,910,827),31871=>array(41,-76,953,822),31872=>array(38,-71,966,827),31873=>array(37,-68,957,829),31874=>array(37,-58,963,841),31875=>array(32,-65,954,832),31876=>array(44,-71,970,824),31877=>array(59,-65,947,839),31878=>array(59,-65,963,829),31879=>array(69,-65,967,843),31880=>array(53,-65,967,828),31881=>array(29,-67,964,829),31882=>array(43,-68,957,826),31883=>array(48,-63,963,837),31884=>array(58,-67,918,826),31885=>array(39,-54,967,850),31886=>array(69,-76,973,837),31887=>array(49,-71,934,837),31888=>array(42,-66,928,829),31889=>array(42,-65,965,829),31890=>array(37,-64,949,837),31891=>array(46,-67,959,838),31892=>array(44,-70,945,824),31893=>array(51,-60,901,849),31894=>array(49,-70,971,825),31895=>array(46,-62,953,833),31896=>array(52,-64,943,840),31897=>array(46,-64,907,836),31898=>array(51,-62,953,833),31899=>array(50,-62,941,834),31900=>array(37,-67,963,818),31901=>array(29,-66,940,802),31902=>array(35,-67,955,832),31903=>array(56,-72,946,789),31904=>array(55,-69,947,830),31905=>array(55,-64,921,830),31906=>array(40,-65,961,846),31907=>array(33,-65,951,830),31908=>array(62,-65,913,838),31909=>array(79,-65,907,829),31910=>array(43,-77,961,836),31911=>array(35,-55,951,829),31912=>array(46,-70,959,823),31913=>array(52,-70,941,828),31914=>array(45,-59,941,823),31915=>array(48,-68,951,838),31916=>array(48,-56,923,843),31917=>array(53,-65,972,853),31918=>array(37,-56,974,836),31919=>array(52,-70,969,824),31920=>array(37,-64,953,837),31921=>array(46,-70,951,842),31922=>array(42,-62,983,838),31923=>array(39,-67,956,829),31924=>array(51,-71,962,824),31925=>array(54,-68,956,844),31926=>array(33,-67,966,835),31927=>array(67,-63,935,837),31928=>array(49,-77,960,836),31929=>array(29,-59,942,835),31930=>array(52,-70,965,839),31931=>array(36,-70,962,830),31932=>array(42,-70,971,830),31933=>array(42,-67,977,831),31934=>array(45,-66,954,837),31935=>array(45,-68,986,821),31936=>array(53,-68,961,833),31937=>array(21,-71,941,839),31938=>array(45,-73,963,832),31939=>array(63,-70,937,810),31940=>array(31,-65,929,833),31941=>array(34,-66,990,830),31942=>array(36,-70,968,810),31943=>array(30,-68,964,836),31944=>array(40,-67,986,829),31945=>array(38,-62,980,841),31946=>array(52,-68,897,835),31947=>array(37,-72,954,830),31948=>array(39,-65,975,841),31949=>array(42,-65,965,843),31950=>array(30,-75,958,844),31951=>array(69,-79,931,840),31952=>array(39,-70,948,827),31953=>array(38,-68,917,831),31954=>array(39,-72,938,822),31955=>array(39,-73,969,834),31956=>array(41,-79,971,826),31957=>array(52,-62,969,850),31958=>array(42,-69,952,827),31959=>array(48,-65,990,847),31960=>array(31,-68,968,832),31961=>array(42,-64,972,837),31962=>array(53,-69,954,832),31963=>array(56,-67,940,837),31964=>array(34,-62,968,828),31965=>array(28,-76,985,853),31966=>array(62,-69,955,849),31967=>array(40,-67,962,840),31968=>array(31,-66,966,833),31969=>array(50,-60,952,847),31970=>array(32,-62,982,832),31971=>array(34,-66,966,832),31972=>array(66,-73,934,828),31973=>array(60,-60,956,839),31974=>array(40,-71,933,839),31975=>array(40,-72,954,818),31976=>array(38,-69,967,830),31977=>array(25,-64,974,861),31978=>array(39,-67,975,832),31979=>array(70,-65,953,838),31980=>array(47,-67,960,826),31981=>array(38,-62,980,843),31982=>array(30,-64,964,832),31983=>array(47,-59,964,838),31984=>array(40,-68,916,833),31985=>array(40,-67,965,840),31986=>array(37,-71,963,828),31987=>array(54,-56,963,836),31988=>array(37,-67,962,797),31989=>array(42,-72,966,823),31990=>array(39,-68,956,833),31991=>array(46,-68,953,828),31992=>array(56,-65,941,847),31993=>array(226,-64,734,824),31994=>array(52,-64,952,839),31995=>array(62,-64,942,833),31996=>array(60,-67,892,825),31997=>array(60,-70,956,828),31998=>array(38,-67,936,839),31999=>array(60,-67,892,825),32000=>array(35,-64,954,839),32001=>array(60,-66,966,832),32002=>array(84,-64,950,839),32003=>array(57,-73,905,822),32004=>array(34,-64,903,839),32005=>array(34,-64,944,841),32006=>array(69,-64,950,839),32007=>array(34,-64,953,844),32008=>array(34,-78,957,839),32009=>array(60,-67,892,825),32010=>array(54,-60,948,831),32011=>array(34,-66,961,839),32012=>array(56,-64,963,825),32013=>array(34,-65,909,839),32014=>array(43,-71,975,829),32015=>array(44,-72,966,825),32016=>array(34,-64,956,839),32017=>array(53,-70,964,834),32018=>array(38,-71,979,844),32019=>array(47,-59,932,815),32020=>array(34,-64,964,839),32021=>array(44,-64,954,839),32022=>array(57,-72,914,824),32023=>array(34,-64,959,839),32024=>array(34,-64,945,841),32025=>array(34,-70,956,839),32026=>array(34,-66,955,839),32027=>array(34,-64,961,839),32028=>array(74,-64,944,839),32029=>array(40,-31,937,815),32030=>array(48,-71,968,828),32031=>array(52,-76,979,834),32032=>array(63,-60,937,834),32033=>array(34,-71,949,839),32034=>array(65,-69,946,835),32035=>array(57,-63,969,837),32036=>array(57,-62,949,843),32037=>array(82,-65,953,837),32038=>array(73,-44,965,824),32039=>array(84,-60,935,834),32040=>array(73,-73,960,833),32041=>array(35,-76,961,839),32042=>array(57,-35,943,839),32043=>array(57,-67,948,825),32044=>array(32,-64,906,839),32045=>array(61,-67,939,820),32046=>array(49,-60,953,831),32047=>array(51,-63,943,808),32048=>array(34,-64,912,839),32049=>array(62,-62,982,834),32050=>array(69,-67,954,839),32051=>array(36,-64,902,839),32052=>array(43,-65,947,839),32053=>array(54,-68,946,839),32054=>array(35,-54,954,838),32055=>array(49,-78,975,831),32056=>array(32,-38,954,839),32057=>array(34,-64,910,839),32058=>array(35,-64,956,839),32059=>array(39,-74,966,823),32060=>array(52,-62,932,829),32061=>array(36,-39,952,838),32062=>array(48,-75,974,843),32063=>array(84,-65,968,839),32064=>array(67,-65,921,828),32065=>array(32,-32,957,839),32066=>array(34,-77,964,839),32067=>array(34,-65,961,839),32068=>array(38,-64,942,839),32069=>array(44,-64,910,839),32070=>array(64,-64,955,839),32071=>array(40,-73,915,835),32072=>array(47,-67,901,837),32073=>array(35,-60,969,826),32074=>array(40,-67,970,840),32075=>array(44,-66,971,839),32076=>array(37,-64,966,839),32077=>array(40,-68,959,831),32078=>array(44,-64,964,839),32079=>array(49,-74,967,839),32080=>array(35,-64,944,839),32081=>array(42,-68,966,829),32082=>array(57,-70,911,826),32083=>array(54,-55,954,819),32084=>array(52,-66,951,833),32085=>array(50,-48,947,817),32086=>array(34,-72,961,839),32087=>array(61,-46,939,831),32088=>array(57,-75,963,832),32089=>array(41,-39,954,831),32090=>array(36,-39,943,830),32091=>array(32,-62,954,845),32092=>array(57,-63,943,827),32093=>array(36,-58,978,843),32094=>array(34,-64,962,841),32095=>array(58,-57,967,816),32096=>array(71,-65,954,837),32097=>array(34,-64,982,849),32098=>array(34,-64,900,842),32099=>array(64,-72,949,839),32100=>array(62,-65,938,820),32101=>array(36,-67,980,831),32102=>array(34,-65,965,853),32103=>array(51,-61,913,831),32104=>array(44,-64,962,839),32105=>array(41,-70,955,827),32106=>array(34,-64,918,839),32107=>array(81,-70,917,836),32108=>array(69,-64,958,834),32109=>array(43,-70,958,835),32110=>array(63,-60,939,838),32111=>array(46,-65,960,836),32112=>array(50,-39,957,825),32113=>array(34,-64,959,839),32114=>array(64,-71,960,839),32115=>array(49,-64,968,844),32116=>array(49,-65,954,843),32117=>array(34,-64,961,839),32118=>array(35,-64,961,839),32119=>array(41,-68,930,819),32120=>array(60,-61,953,817),32121=>array(33,-64,894,839),32122=>array(35,-55,957,857),32123=>array(44,-72,968,838),32124=>array(55,-65,954,833),32125=>array(69,-66,906,839),32126=>array(30,-70,961,833),32127=>array(34,-64,971,839),32128=>array(46,-70,975,823),32129=>array(54,-61,953,836),32130=>array(48,-70,959,830),32131=>array(51,-65,938,838),32132=>array(48,-70,969,836),32133=>array(57,-63,976,816),32134=>array(36,-71,971,820),32135=>array(36,-62,945,820),32136=>array(57,-65,928,849),32137=>array(44,-74,969,839),32138=>array(38,-69,979,836),32139=>array(38,-60,951,833),32140=>array(61,-68,962,832),32141=>array(43,-52,945,843),32142=>array(32,-71,976,839),32143=>array(59,-67,959,839),32144=>array(49,-67,961,839),32145=>array(59,-62,917,813),32146=>array(49,-71,954,826),32147=>array(44,-64,945,839),32148=>array(35,-66,968,846),32149=>array(59,-41,972,826),32150=>array(46,-59,976,853),32151=>array(37,-51,915,813),32152=>array(44,-61,977,841),32153=>array(34,-65,933,839),32154=>array(34,-64,962,839),32155=>array(44,-64,962,839),32156=>array(34,-65,960,839),32157=>array(35,-68,965,839),32158=>array(42,-46,951,828),32159=>array(34,-69,972,839),32160=>array(34,-67,966,843),32161=>array(48,-70,956,830),32162=>array(34,-67,897,839),32163=>array(34,-64,974,839),32164=>array(55,-54,932,786),32165=>array(41,-71,958,824),32166=>array(41,-59,983,836),32167=>array(48,-70,961,832),32168=>array(38,-77,960,849),32169=>array(58,-67,958,832),32170=>array(44,-69,953,832),32171=>array(50,-64,957,839),32172=>array(34,-65,973,839),32173=>array(34,-64,938,839),32174=>array(34,-73,946,843),32175=>array(39,-64,923,848),32176=>array(44,-64,941,839),32177=>array(34,-64,915,839),32178=>array(33,-64,909,839),32179=>array(57,-67,895,827),32180=>array(32,-65,966,839),32181=>array(34,-68,966,839),32182=>array(39,-64,969,820),32183=>array(34,-66,963,839),32184=>array(34,-67,976,856),32185=>array(42,-64,964,845),32186=>array(39,-64,952,839),32187=>array(34,-66,966,839),32188=>array(50,-71,953,841),32189=>array(44,-64,953,840),32190=>array(34,-66,968,839),32191=>array(34,-68,911,839),32192=>array(40,-73,958,837),32193=>array(53,-64,977,829),32194=>array(56,-74,982,829),32195=>array(36,-71,976,844),32196=>array(45,-62,966,822),32197=>array(43,-82,977,826),32198=>array(49,-73,920,828),32199=>array(49,-64,938,839),32200=>array(42,-64,934,842),32201=>array(45,-68,952,827),32202=>array(57,-63,943,803),32203=>array(34,-68,954,839),32204=>array(32,-62,961,856),32205=>array(40,-65,960,839),32206=>array(40,-66,962,839),32207=>array(34,-64,968,839),32208=>array(49,-68,978,840),32209=>array(34,-64,963,839),32210=>array(34,-67,941,839),32211=>array(39,-66,984,830),32212=>array(53,-74,941,818),32213=>array(34,-82,956,839),32214=>array(34,-67,941,839),32215=>array(71,-73,924,820),32216=>array(34,-68,969,839),32217=>array(45,-61,956,832),32218=>array(34,-64,963,840),32219=>array(54,-72,963,831),32220=>array(67,-70,966,839),32221=>array(34,-68,943,839),32222=>array(29,-69,976,848),32223=>array(54,-48,954,836),32224=>array(34,-67,946,839),32225=>array(34,-64,973,839),32226=>array(53,-67,950,829),32227=>array(34,-64,979,839),32228=>array(34,-64,957,839),32229=>array(36,-61,964,840),32230=>array(51,-41,976,819),32231=>array(55,-70,953,836),32232=>array(33,-67,935,839),32233=>array(34,-64,959,839),32234=>array(40,-64,960,837),32235=>array(43,-36,971,850),32236=>array(34,-64,950,839),32237=>array(64,-64,921,829),32238=>array(49,-72,968,831),32239=>array(32,-64,954,839),32240=>array(49,-71,984,834),32241=>array(44,-62,967,833),32242=>array(24,-71,960,839),32243=>array(36,-72,943,847),32244=>array(34,-66,967,839),32245=>array(53,-61,980,839),32246=>array(40,-55,972,841),32247=>array(50,-68,954,830),32248=>array(62,-44,953,810),32249=>array(38,-64,952,820),32250=>array(51,-70,914,830),32251=>array(24,-72,962,839),32252=>array(51,-41,959,830),32253=>array(51,-90,938,840),32254=>array(51,-63,958,830),32255=>array(35,-39,954,839),32256=>array(33,-50,963,828),32257=>array(34,-64,967,839),32258=>array(33,-50,964,823),32259=>array(48,-70,961,828),32260=>array(34,-64,971,839),32261=>array(24,-64,972,839),32262=>array(33,-59,970,849),32263=>array(46,-50,964,855),32264=>array(63,-65,950,829),32265=>array(34,-66,955,839),32266=>array(34,-64,961,839),32267=>array(34,-64,962,847),32268=>array(55,-75,973,814),32269=>array(41,-70,951,841),32270=>array(38,-69,932,827),32271=>array(40,-67,967,844),32272=>array(59,-64,926,850),32273=>array(44,-65,984,852),32274=>array(34,-64,951,839),32275=>array(47,-71,961,823),32276=>array(46,-70,985,822),32277=>array(34,-64,960,839),32278=>array(47,-72,952,841),32279=>array(37,-63,977,855),32280=>array(33,-61,977,842),32281=>array(48,-70,931,828),32282=>array(53,-71,919,833),32283=>array(34,-64,953,839),32284=>array(44,-78,954,826),32285=>array(33,-82,961,839),32286=>array(34,-71,947,839),32287=>array(24,-64,958,839),32288=>array(33,-77,960,826),32289=>array(34,-68,952,839),32290=>array(39,-70,967,844),32291=>array(54,-57,966,817),32292=>array(49,-72,959,824),32293=>array(43,-70,984,830),32294=>array(34,-70,961,839),32295=>array(43,-60,966,839),32296=>array(62,-74,964,828),32297=>array(59,-70,979,825),32298=>array(44,-68,955,810),32299=>array(35,-64,963,843),32300=>array(42,-45,952,842),32301=>array(56,-61,961,850),32302=>array(34,-65,943,839),32303=>array(34,-72,957,839),32304=>array(51,-71,976,823),32305=>array(24,-70,955,839),32306=>array(34,-64,962,839),32307=>array(35,-69,954,823),32308=>array(55,-70,941,832),32309=>array(34,-65,974,839),32310=>array(60,-59,968,840),32311=>array(34,-65,942,839),32312=>array(41,-73,972,827),32313=>array(34,-64,955,839),32314=>array(34,-64,960,839),32315=>array(34,-62,968,839),32316=>array(42,-72,972,831),32317=>array(34,-64,959,844),32318=>array(34,-73,952,839),32319=>array(42,-79,972,845),32320=>array(51,-68,953,824),32321=>array(59,-71,948,837),32322=>array(42,-72,953,830),32323=>array(34,-72,917,839),32324=>array(71,-73,949,805),32325=>array(34,-65,972,839),32326=>array(34,-75,970,839),32327=>array(59,-60,965,846),32328=>array(48,-74,962,841),32329=>array(46,-68,968,820),32330=>array(29,-64,964,839),32331=>array(57,-71,964,829),32332=>array(38,-75,973,839),32333=>array(34,-67,957,839),32334=>array(39,-71,959,831),32335=>array(49,-58,947,820),32336=>array(35,-44,971,825),32337=>array(44,-64,973,832),32338=>array(34,-71,972,839),32339=>array(42,-73,969,831),32340=>array(28,-66,958,839),32341=>array(34,-67,949,840),32342=>array(24,-72,984,839),32343=>array(43,-71,958,827),32344=>array(47,-61,926,845),32345=>array(34,-67,959,839),32346=>array(34,-64,965,859),32347=>array(45,-65,962,838),32348=>array(45,-70,957,838),32349=>array(34,-68,920,839),32350=>array(34,-64,954,839),32351=>array(43,-68,957,830),32352=>array(50,-67,971,840),32353=>array(26,-72,962,839),32354=>array(42,-70,954,826),32355=>array(40,-39,957,825),32356=>array(36,-66,969,838),32357=>array(37,-65,951,836),32358=>array(24,-64,967,839),32359=>array(25,-75,949,839),32360=>array(55,-73,974,830),32361=>array(34,-64,970,839),32362=>array(34,-68,973,864),32363=>array(53,-73,962,841),32364=>array(39,-65,965,837),32365=>array(63,-57,937,833),32366=>array(41,-39,951,812),32367=>array(40,-66,970,807),32368=>array(34,-64,972,839),32369=>array(48,-38,959,837),32370=>array(49,-68,961,829),32371=>array(51,-71,962,845),32372=>array(50,-71,944,831),32373=>array(47,-45,962,834),32374=>array(43,-33,977,829),32375=>array(44,-64,962,836),32376=>array(30,-78,970,830),32377=>array(34,-66,934,839),32378=>array(45,-74,976,834),32379=>array(34,-64,954,839),32380=>array(24,-70,942,839),32381=>array(34,-70,958,839),32382=>array(57,-59,976,836),32383=>array(34,-64,957,844),32384=>array(42,-67,972,829),32385=>array(30,-58,971,851),32386=>array(22,-71,974,850),32387=>array(34,-68,969,839),32388=>array(36,-62,963,833),32389=>array(56,-68,948,850),32390=>array(51,-38,967,830),32391=>array(41,-66,960,831),32392=>array(34,-64,970,839),32393=>array(34,-64,981,845),32394=>array(31,-77,967,839),32395=>array(49,-68,961,837),32396=>array(34,-84,957,839),32397=>array(53,-62,947,789),32398=>array(24,-64,967,839),32399=>array(35,-67,961,839),32400=>array(19,-64,980,839),32401=>array(46,-68,956,833),32402=>array(34,-64,950,839),32403=>array(34,-67,954,839),32404=>array(24,-68,966,847),32405=>array(32,-68,979,849),32406=>array(19,-64,967,839),32407=>array(38,-65,941,833),32408=>array(30,-68,972,839),32409=>array(40,-67,964,835),32410=>array(26,-68,974,829),32411=>array(42,-71,953,839),32412=>array(19,-64,960,847),32413=>array(42,-62,955,822),32414=>array(53,-31,947,842),32415=>array(271,10,660,829),32416=>array(72,-69,847,828),32417=>array(57,-56,933,828),32418=>array(74,3,936,828),32419=>array(57,-64,933,828),32420=>array(43,-67,942,812),32421=>array(57,-24,936,843),32422=>array(61,-62,879,835),32423=>array(62,-71,941,828),32424=>array(58,-56,964,838),32425=>array(54,-66,912,830),32426=>array(57,-15,936,828),32427=>array(73,-69,874,820),32428=>array(46,-69,903,824),32429=>array(57,-54,927,828),32430=>array(77,-71,950,837),32431=>array(70,-34,929,834),32432=>array(57,-47,937,829),32433=>array(66,-59,943,824),32434=>array(40,-59,885,829),32435=>array(52,-57,898,833),32436=>array(72,-21,939,813),32437=>array(41,-64,945,833),32438=>array(32,-21,943,835),32439=>array(75,-67,957,828),32440=>array(46,-70,926,825),32441=>array(71,-65,944,840),32442=>array(60,-66,921,842),32443=>array(60,11,934,828),32444=>array(74,-72,895,824),32445=>array(74,-23,936,820),32446=>array(57,-61,915,828),32447=>array(44,-60,937,831),32448=>array(57,-66,942,829),32449=>array(57,-22,937,828),32450=>array(57,-65,966,832),32451=>array(35,-61,947,830),32452=>array(57,-14,925,807),32453=>array(77,-64,885,835),32454=>array(60,-57,895,783),32455=>array(39,-56,942,802),32456=>array(62,-79,947,834),32457=>array(39,-57,873,827),32458=>array(57,-66,938,832),32459=>array(53,-64,915,827),32460=>array(57,-67,903,828),32461=>array(54,-72,894,786),32462=>array(41,-74,958,818),32463=>array(57,-33,938,819),32464=>array(57,-67,950,832),32465=>array(42,-69,937,834),32466=>array(71,-65,945,835),32467=>array(67,-66,933,837),32468=>array(57,-63,958,840),32469=>array(44,-60,944,835),32470=>array(76,-22,923,828),32471=>array(53,-66,947,830),32472=>array(44,-55,934,838),32473=>array(57,-67,949,852),32474=>array(59,-58,882,839),32475=>array(57,-57,960,842),32476=>array(74,-63,967,847),32477=>array(39,-21,925,832),32478=>array(81,-64,947,840),32479=>array(57,-71,942,838),32480=>array(57,-74,954,828),32481=>array(57,-67,921,835),32482=>array(73,-59,879,827),32483=>array(50,-85,942,807),32484=>array(59,-68,962,832),32485=>array(59,-69,942,834),32486=>array(25,-66,964,833),32487=>array(53,-23,940,809),32488=>array(61,-67,909,847),32489=>array(41,-62,931,833),32490=>array(53,-69,924,829),32491=>array(57,-68,951,834),32492=>array(52,-66,969,828),32493=>array(28,-67,932,833),32494=>array(59,-63,937,836),32495=>array(63,-66,939,827),32496=>array(65,-65,936,838),32497=>array(53,-74,916,827),32498=>array(57,-64,949,828),32499=>array(50,-23,940,826),32500=>array(63,-64,920,836),32501=>array(67,-70,886,842),32502=>array(57,-72,958,836),32503=>array(34,-74,925,792),32504=>array(57,-69,881,827),32505=>array(49,-67,924,840),32506=>array(30,-64,937,828),32507=>array(53,-41,973,839),32508=>array(53,-67,934,844),32509=>array(61,-68,951,843),32510=>array(53,-64,917,850),32511=>array(30,-64,943,819),32512=>array(53,-67,973,818),32513=>array(57,-66,921,836),32514=>array(53,-63,939,829),32515=>array(53,-74,910,827),32516=>array(52,-70,953,832),32517=>array(60,-66,931,814),32518=>array(35,-54,932,841),32519=>array(57,-66,935,828),32520=>array(52,-73,937,830),32521=>array(57,-70,935,822),32522=>array(69,-28,959,805),32523=>array(39,-66,919,830),32524=>array(57,-43,959,828),32525=>array(52,-33,933,830),32526=>array(53,-71,953,818),32527=>array(53,-57,954,839),32528=>array(59,-64,959,842),32529=>array(53,-69,971,831),32530=>array(53,-72,951,844),32531=>array(66,-67,949,827),32532=>array(62,-69,925,848),32533=>array(39,-54,941,838),32534=>array(34,-69,922,837),32535=>array(57,-64,956,828),32536=>array(53,-73,937,834),32537=>array(47,-64,911,827),32538=>array(50,-67,946,832),32539=>array(53,-64,942,827),32540=>array(53,-68,936,843),32541=>array(52,-53,955,816),32542=>array(69,-63,962,855),32543=>array(53,-67,932,850),32544=>array(36,-64,919,847),32545=>array(56,-63,944,847),32546=>array(53,-23,943,840),32547=>array(55,-67,967,851),32548=>array(33,-50,933,824),32549=>array(57,-64,940,819),32550=>array(53,-68,958,827),32551=>array(53,-64,959,827),32552=>array(39,-75,937,822),32553=>array(41,-66,917,841),32554=>array(52,-76,953,817),32555=>array(53,-67,955,837),32556=>array(38,-68,945,825),32557=>array(57,-64,947,855),32558=>array(62,-67,931,839),32559=>array(53,-64,901,851),32560=>array(50,-40,935,806),32561=>array(53,-72,951,834),32562=>array(53,-66,963,827),32563=>array(57,-68,952,828),32564=>array(53,-71,946,842),32565=>array(38,-69,933,822),32566=>array(47,-60,953,831),32567=>array(58,-62,909,838),32568=>array(44,-45,941,836),32569=>array(50,-72,960,845),32570=>array(59,-68,950,836),32571=>array(58,-32,962,836),32572=>array(80,-73,960,851),32573=>array(48,-54,971,848),32574=>array(58,-53,954,855),32575=>array(49,-58,945,843),32576=>array(47,-64,960,851),32577=>array(47,-65,951,851),32578=>array(48,-68,912,780),32579=>array(69,-71,945,838),32580=>array(49,-68,956,833),32581=>array(48,-72,931,834),32582=>array(48,-68,951,829),32583=>array(45,-72,970,838),32584=>array(48,-70,953,831),32585=>array(63,-54,935,837),32586=>array(72,-68,958,825),32587=>array(62,-68,939,838),32588=>array(59,-65,951,790),32589=>array(68,-62,957,797),32590=>array(34,-53,951,842),32591=>array(45,-63,957,841),32592=>array(44,-59,949,838),32593=>array(117,-60,883,780),32594=>array(148,317,884,597),32595=>array(137,265,863,657),32596=>array(114,-68,894,787),32597=>array(64,-64,917,786),32598=>array(110,10,917,802),32599=>array(69,-55,884,792),32600=>array(45,-64,955,787),32601=>array(50,-68,955,789),32602=>array(98,-57,869,791),32603=>array(42,-61,973,798),32604=>array(79,-35,961,777),32605=>array(55,-20,950,798),32606=>array(56,-62,947,790),32607=>array(68,-60,954,787),32608=>array(47,-58,947,784),32609=>array(63,-24,941,785),32610=>array(55,-60,904,792),32611=>array(63,-33,958,763),32612=>array(55,-53,908,785),32613=>array(141,-70,883,779),32614=>array(82,-68,933,783),32615=>array(55,-71,971,780),32616=>array(29,-34,966,794),32617=>array(59,-69,956,782),32618=>array(57,-69,943,794),32619=>array(59,-64,968,787),32620=>array(44,-72,969,784),32621=>array(63,-51,963,800),32622=>array(100,-73,945,813),32623=>array(81,-69,931,787),32624=>array(71,-73,900,810),32625=>array(51,-72,949,791),32626=>array(58,-65,944,789),32627=>array(56,-26,954,780),32628=>array(34,-62,928,776),32629=>array(57,-69,919,783),32630=>array(136,-70,882,783),32631=>array(68,-63,967,807),32632=>array(85,-73,951,782),32633=>array(39,-64,949,788),32634=>array(44,-70,973,783),32635=>array(41,-68,951,782),32636=>array(59,-65,943,810),32637=>array(36,-65,947,791),32638=>array(110,-67,905,794),32639=>array(50,-8,947,805),32640=>array(107,-71,916,787),32641=>array(49,-65,890,772),32642=>array(64,-63,896,802),32643=>array(42,-65,968,792),32644=>array(44,-64,953,815),32645=>array(38,-67,950,807),32646=>array(43,-73,956,784),32647=>array(63,-64,953,788),32648=>array(62,-64,938,796),32649=>array(50,-52,968,792),32650=>array(72,-67,946,855),32651=>array(60,-67,953,821),32652=>array(39,-61,953,844),32653=>array(38,-67,965,836),32654=>array(45,-61,955,845),32655=>array(54,-68,957,842),32656=>array(34,-67,974,830),32657=>array(52,-67,991,854),32658=>array(54,-73,985,842),32659=>array(44,-71,972,842),32660=>array(61,-63,957,856),32661=>array(46,-66,965,848),32662=>array(50,-71,967,834),32663=>array(36,-66,965,841),32664=>array(53,-68,954,843),32665=>array(53,-63,941,854),32666=>array(22,-68,960,847),32667=>array(53,-69,938,846),32668=>array(57,-66,960,844),32669=>array(42,-73,950,839),32670=>array(29,-33,934,838),32671=>array(36,-68,922,823),32672=>array(43,-72,969,840),32673=>array(49,-74,960,845),32674=>array(52,-69,974,837),32675=>array(57,-64,954,787),32676=>array(32,-62,960,850),32677=>array(46,-75,950,833),32678=>array(41,-73,964,834),32679=>array(35,-75,965,830),32680=>array(49,-62,978,858),32681=>array(48,-63,941,843),32682=>array(42,-77,965,842),32683=>array(39,-70,950,845),32684=>array(51,-70,978,822),32685=>array(50,-74,969,827),32686=>array(33,-58,974,860),32687=>array(55,-67,930,842),32688=>array(41,-82,971,831),32689=>array(53,-73,970,833),32690=>array(34,-66,959,853),32691=>array(46,-69,968,832),32692=>array(35,-83,969,808),32693=>array(46,-82,967,826),32694=>array(16,-65,959,842),32695=>array(53,-71,969,835),32696=>array(29,-60,973,841),32697=>array(51,-62,966,853),32698=>array(49,-64,968,833),32699=>array(52,-69,970,836),32700=>array(41,-71,965,797),32701=>array(73,-50,892,785),32702=>array(40,-70,953,783),32703=>array(43,-64,945,780),32704=>array(47,-63,917,836),32705=>array(47,-62,958,822),32706=>array(43,-71,981,790),32707=>array(52,-67,938,840),32708=>array(47,-73,970,837),32709=>array(31,-59,972,839),32710=>array(54,-58,946,790),32711=>array(41,-76,959,785),32712=>array(113,-79,923,788),32713=>array(29,-64,910,826),32714=>array(56,-65,915,821),32715=>array(42,-67,950,836),32716=>array(50,-20,942,798),32717=>array(33,-72,962,821),32718=>array(31,-63,918,838),32719=>array(32,-76,965,785),32720=>array(32,-74,976,827),32721=>array(37,-64,914,828),32722=>array(74,-72,892,782),32723=>array(70,-65,914,838),32724=>array(51,-60,893,855),32725=>array(47,-63,965,845),32726=>array(26,-64,916,817),32727=>array(61,-70,916,829),32728=>array(32,-71,941,818),32729=>array(45,-64,931,836),32730=>array(74,-65,926,801),32731=>array(37,-63,982,844),32732=>array(37,-72,964,783),32733=>array(30,-48,910,825),32734=>array(53,-68,962,834),32735=>array(40,-80,927,807),32736=>array(53,-61,947,807),32737=>array(46,-56,921,826),32738=>array(41,-71,903,782),32739=>array(61,-63,936,797),32740=>array(98,-71,918,785),32741=>array(42,-59,956,834),32742=>array(65,-59,959,863),32743=>array(57,-69,913,855),32744=>array(88,-65,970,785),32745=>array(41,-60,917,795),32746=>array(59,-73,968,825),32747=>array(52,-74,963,783),32748=>array(62,-62,957,790),32749=>array(53,-76,983,824),32750=>array(75,-64,903,788),32751=>array(66,-52,941,802),32752=>array(60,-69,978,853),32753=>array(46,-63,904,848),32754=>array(41,-73,895,780),32755=>array(60,-67,929,785),32756=>array(40,-73,969,816),32757=>array(37,-54,948,854),32758=>array(48,-77,913,839),32759=>array(53,-67,917,830),32760=>array(61,-70,919,835),32761=>array(28,-66,966,830),32762=>array(46,-68,913,845),32763=>array(59,-67,909,824),32764=>array(54,-66,946,807),32765=>array(30,-67,910,832),32766=>array(60,-57,928,795),32767=>array(66,-52,917,843),32768=>array(28,-73,954,828),32769=>array(38,-39,923,832),32770=>array(21,160,923,832),32771=>array(48,-56,929,836),32772=>array(39,-36,948,834),32773=>array(62,-64,929,836),32774=>array(33,-69,938,836),32775=>array(59,-64,950,835),32776=>array(69,-66,933,840),32777=>array(40,-55,951,840),32778=>array(49,-53,950,836),32779=>array(53,-53,950,836),32780=>array(89,-68,923,768),32781=>array(63,-68,934,789),32782=>array(46,-67,970,791),32783=>array(55,-74,951,822),32784=>array(51,-79,956,836),32785=>array(62,-62,954,840),32786=>array(55,-65,968,829),32787=>array(46,-65,924,827),32788=>array(46,-65,957,828),32789=>array(31,-73,954,831),32790=>array(31,-70,970,831),32791=>array(35,-68,924,828),32792=>array(36,-73,943,832),32793=>array(36,-73,951,832),32794=>array(46,-72,960,833),32795=>array(47,-71,951,839),32796=>array(38,-73,909,832),32797=>array(31,-73,938,831),32798=>array(47,-68,914,829),32799=>array(49,-58,964,828),32800=>array(21,-78,964,842),32801=>array(59,-66,929,831),32802=>array(25,-72,914,818),32803=>array(46,-73,968,844),32804=>array(46,-70,956,826),32805=>array(39,-69,933,832),32806=>array(61,-71,927,830),32807=>array(32,-73,922,806),32808=>array(34,-64,959,832),32809=>array(36,-67,964,833),32810=>array(43,-69,954,842),32811=>array(44,-71,943,830),32812=>array(34,-69,954,835),32813=>array(53,-69,949,840),32814=>array(44,-86,968,831),32815=>array(49,-69,966,827),32816=>array(33,-62,979,830),32817=>array(23,-68,955,838),32818=>array(45,-69,972,849),32819=>array(55,-74,922,781),32820=>array(56,-67,967,828),32821=>array(48,-62,954,789),32822=>array(59,-67,930,786),32823=>array(40,-69,960,839),32824=>array(55,-66,916,830),32825=>array(55,-67,978,853),32826=>array(29,-67,944,789),32827=>array(42,-64,951,824),32828=>array(46,-67,957,789),32829=>array(40,-70,950,831),32830=>array(55,-65,960,838),32831=>array(38,-67,954,825),32832=>array(50,-67,967,825),32833=>array(49,-67,951,805),32834=>array(39,-60,952,794),32835=>array(35,-65,961,829),32836=>array(50,-72,971,850),32837=>array(50,-67,945,819),32838=>array(28,-62,966,854),32839=>array(58,-70,957,781),32840=>array(72,-80,921,822),32841=>array(46,-68,921,827),32842=>array(59,-71,914,830),32843=>array(51,-48,923,841),32844=>array(31,-70,955,782),32845=>array(29,-68,924,830),32846=>array(63,-67,962,826),32847=>array(49,-68,960,785),32848=>array(45,-70,959,822),32849=>array(50,-70,955,770),32850=>array(36,-64,941,804),32851=>array(47,-59,960,806),32852=>array(37,-60,940,830),32853=>array(50,-67,955,844),32854=>array(66,-37,934,805),32855=>array(50,-75,968,833),32856=>array(33,-71,955,831),32857=>array(50,-67,974,835),32858=>array(36,-61,948,793),32859=>array(50,-67,956,841),32860=>array(48,-67,956,834),32861=>array(45,-71,952,823),32862=>array(119,-68,901,786),32863=>array(34,-69,950,852),32864=>array(50,-68,959,845),32865=>array(32,-65,968,819),32866=>array(50,-83,949,797),32867=>array(50,-67,953,816),32868=>array(41,-61,970,856),32869=>array(50,-68,925,827),32870=>array(50,-67,964,839),32871=>array(51,-72,970,817),32872=>array(52,-65,963,806),32873=>array(34,-69,928,824),32874=>array(33,-60,950,838),32875=>array(48,-65,963,806),32876=>array(46,-71,971,827),32877=>array(50,-67,969,856),32878=>array(52,-65,967,782),32879=>array(42,-65,946,842),32880=>array(43,-66,973,835),32881=>array(53,-70,948,838),32882=>array(62,-64,946,833),32883=>array(48,-70,952,846),32884=>array(44,-67,963,839),32885=>array(40,-67,962,838),32886=>array(42,-66,951,808),32887=>array(35,-70,960,839),32888=>array(44,-73,942,827),32889=>array(41,-64,967,835),32890=>array(41,-65,948,846),32891=>array(35,-65,954,831),32892=>array(44,-67,966,847),32893=>array(58,-67,966,840),32894=>array(43,-71,962,840),32895=>array(73,-66,945,833),32896=>array(73,-66,931,833),32897=>array(45,-61,947,848),32898=>array(50,-72,953,828),32899=>array(50,-62,941,834),32900=>array(28,-68,945,829),32901=>array(46,-69,947,833),32902=>array(46,-61,946,841),32903=>array(51,-61,949,850),32904=>array(50,-61,953,856),32905=>array(118,-73,882,841),32906=>array(49,-68,959,783),32907=>array(68,-70,898,834),32908=>array(31,-74,948,773),32909=>array(59,-75,957,831),32910=>array(116,-45,892,762),32911=>array(42,-79,958,777),32912=>array(41,-78,977,826),32913=>array(76,-59,921,844),32914=>array(39,-64,954,833),32915=>array(135,-50,924,826),32916=>array(60,-71,963,825),32917=>array(53,-65,908,799),32918=>array(133,-61,861,836),32919=>array(60,-71,944,839),32920=>array(57,-70,933,826),32921=>array(70,-64,841,788),32922=>array(63,-68,938,829),32923=>array(54,-70,942,786),32924=>array(44,-58,965,856),32925=>array(60,-71,936,785),32926=>array(48,-62,959,803),32927=>array(31,-80,950,782),32928=>array(22,-61,886,786),32929=>array(51,-65,944,788),32930=>array(43,-70,969,837),32931=>array(35,-69,972,833),32932=>array(38,-71,939,831),32933=>array(51,-70,949,779),32934=>array(29,-60,968,810),32935=>array(60,-72,944,785),32936=>array(60,-71,940,813),32937=>array(53,-70,901,810),32938=>array(34,-71,949,825),32939=>array(38,-67,957,833),32940=>array(44,-62,961,831),32941=>array(24,-68,877,799),32942=>array(41,-73,957,832),32943=>array(59,-54,953,831),32944=>array(60,-71,977,837),32945=>array(30,-62,945,826),32946=>array(92,-49,907,840),32947=>array(46,-71,921,829),32948=>array(52,-49,928,844),32949=>array(39,-68,954,829),32950=>array(37,-58,956,824),32951=>array(30,-67,939,824),32952=>array(46,-65,956,811),32953=>array(56,-71,959,811),32954=>array(31,-70,953,839),32955=>array(121,-58,897,827),32956=>array(23,-82,950,827),32957=>array(23,-81,956,822),32958=>array(124,-69,944,820),32959=>array(31,-68,894,814),32960=>array(35,-73,946,815),32961=>array(27,-65,948,824),32962=>array(50,-71,912,833),32963=>array(170,-49,849,785),32964=>array(177,-48,838,834),32965=>array(45,-76,974,826),32966=>array(37,-70,954,786),32967=>array(45,-75,928,826),32968=>array(41,-73,968,826),32969=>array(40,-60,903,854),32970=>array(34,-66,908,843),32971=>array(57,-70,934,835),32972=>array(60,-57,937,826),32973=>array(31,-73,977,837),32974=>array(49,-70,944,838),32975=>array(51,-60,957,840),32976=>array(45,-59,905,840),32977=>array(32,-55,966,797),32978=>array(57,-70,945,788),32979=>array(57,-70,959,789),32980=>array(54,-68,968,835),32981=>array(44,-57,961,848),32982=>array(45,-69,934,834),32983=>array(39,-68,980,840),32984=>array(42,-67,957,836),32985=>array(53,-70,940,837),32986=>array(44,-69,948,786),32987=>array(49,-70,899,787),32988=>array(44,-69,953,824),32989=>array(34,-72,948,833),32990=>array(37,-64,958,845),32991=>array(35,-60,962,787),32992=>array(29,-62,957,839),32993=>array(71,-67,895,818),32994=>array(66,-70,948,787),32995=>array(47,-71,964,825),32996=>array(40,-66,967,846),32997=>array(38,-50,935,789),32998=>array(38,-67,981,829),32999=>array(18,-67,931,826),33000=>array(31,-72,939,817),33001=>array(31,-80,946,822),33002=>array(34,-69,921,817),33003=>array(32,-72,923,782),33004=>array(35,-66,932,827),33005=>array(48,-68,910,790),33006=>array(35,-70,965,837),33007=>array(28,-70,969,848),33008=>array(39,-72,963,838),33009=>array(35,-60,959,823),33010=>array(52,-69,975,845),33011=>array(35,-71,967,845),33012=>array(28,-70,912,786),33013=>array(46,-72,959,782),33014=>array(28,-71,946,842),33015=>array(73,-71,878,847),33016=>array(31,-58,924,841),33017=>array(46,-73,965,780),33018=>array(45,-72,948,840),33019=>array(49,-67,967,838),33020=>array(27,-70,947,845),33021=>array(63,-55,959,844),33022=>array(51,-64,952,829),33023=>array(34,-72,959,827),33024=>array(35,-77,972,813),33025=>array(29,-67,962,818),33026=>array(48,-70,952,815),33027=>array(33,-54,947,821),33028=>array(33,-70,965,824),33029=>array(73,-52,940,841),33030=>array(30,-72,958,844),33031=>array(40,-67,915,841),33032=>array(35,-62,967,836),33033=>array(44,-70,972,840),33034=>array(56,-59,944,835),33035=>array(73,-49,940,808),33036=>array(33,-70,943,841),33037=>array(38,-74,951,818),33038=>array(37,-73,932,818),33039=>array(31,-66,920,821),33040=>array(24,-82,951,832),33041=>array(43,-64,951,841),33042=>array(27,-70,980,821),33043=>array(32,-72,962,827),33044=>array(28,-64,923,846),33045=>array(44,-72,967,837),33046=>array(45,-67,951,837),33047=>array(45,-58,925,851),33048=>array(26,-67,963,821),33049=>array(42,-75,948,820),33050=>array(33,-61,913,810),33051=>array(49,-65,945,791),33052=>array(27,-70,944,776),33053=>array(48,-71,946,835),33054=>array(49,-60,970,833),33055=>array(39,-71,953,815),33056=>array(44,-62,972,820),33057=>array(44,-62,972,820),33058=>array(41,-70,942,839),33059=>array(58,-56,935,790),33060=>array(33,-57,967,800),33061=>array(44,-78,964,822),33062=>array(31,-70,968,831),33063=>array(33,-71,985,838),33064=>array(31,-70,975,825),33065=>array(37,-67,965,846),33066=>array(31,-70,961,846),33067=>array(32,-71,968,812),33068=>array(65,-72,986,834),33069=>array(39,-54,950,787),33070=>array(31,-75,948,835),33071=>array(28,-70,952,839),33072=>array(44,-60,956,797),33073=>array(59,-71,944,833),33074=>array(23,-71,970,788),33075=>array(27,-67,964,818),33076=>array(31,-70,969,797),33077=>array(31,-58,947,788),33078=>array(34,-67,925,785),33079=>array(31,-70,906,833),33080=>array(26,-65,944,836),33081=>array(42,-64,962,799),33082=>array(34,-71,943,839),33083=>array(31,-72,959,833),33084=>array(31,-66,948,787),33085=>array(23,-68,945,830),33086=>array(28,-70,957,841),33087=>array(31,-70,974,841),33088=>array(31,-73,976,851),33089=>array(31,-71,953,830),33090=>array(31,-70,969,788),33091=>array(46,-71,981,830),33092=>array(33,-67,953,833),33093=>array(31,-70,970,841),33094=>array(28,-70,965,835),33095=>array(38,-81,974,822),33096=>array(32,-77,940,828),33097=>array(43,-70,959,816),33098=>array(52,-69,956,824),33099=>array(21,-70,970,812),33100=>array(31,-72,972,844),33101=>array(41,-66,972,825),33102=>array(108,-59,958,815),33103=>array(40,-78,980,783),33104=>array(46,-68,948,839),33105=>array(28,-70,952,835),33106=>array(44,-74,944,784),33107=>array(18,-66,936,818),33108=>array(29,-70,947,822),33109=>array(26,-64,962,834),33110=>array(31,-70,973,835),33111=>array(31,-70,955,831),33112=>array(31,-70,919,787),33113=>array(34,-78,951,833),33114=>array(23,-83,949,831),33115=>array(46,-72,954,782),33116=>array(47,-75,973,822),33117=>array(31,-70,975,788),33118=>array(45,-67,970,836),33119=>array(31,-70,952,836),33120=>array(49,-72,987,831),33121=>array(34,-77,903,782),33122=>array(38,-67,911,803),33123=>array(31,-70,948,850),33124=>array(38,-69,955,840),33125=>array(19,-70,945,788),33126=>array(65,-65,925,846),33127=>array(34,-70,973,855),33128=>array(31,-70,956,835),33129=>array(49,-71,974,830),33130=>array(31,-70,953,788),33131=>array(48,-64,945,836),33132=>array(31,-70,977,796),33133=>array(28,-70,947,787),33134=>array(28,-70,964,786),33135=>array(47,-72,956,832),33136=>array(24,-70,941,793),33137=>array(26,-63,964,829),33138=>array(43,-77,981,782),33139=>array(58,-71,911,820),33140=>array(27,-70,972,833),33141=>array(48,-70,980,791),33142=>array(39,-75,979,825),33143=>array(37,-71,954,785),33144=>array(42,-60,952,801),33145=>array(21,-70,973,837),33146=>array(21,-70,968,837),33147=>array(28,-70,950,829),33148=>array(26,-76,941,778),33149=>array(26,-78,950,784),33150=>array(31,-61,951,836),33151=>array(22,-60,958,783),33152=>array(28,-69,938,819),33153=>array(30,-70,983,843),33154=>array(46,-48,944,847),33155=>array(60,-70,967,785),33156=>array(48,-70,986,830),33157=>array(48,-64,954,843),33158=>array(45,-64,953,825),33159=>array(45,-72,981,832),33160=>array(18,-69,939,784),33161=>array(41,-75,964,826),33162=>array(34,-70,961,831),33163=>array(72,-67,932,835),33164=>array(44,-70,980,823),33165=>array(49,-72,961,835),33166=>array(36,-74,972,842),33167=>array(94,-62,906,834),33168=>array(46,-52,944,846),33169=>array(25,-63,934,832),33170=>array(48,-70,963,787),33171=>array(48,-75,969,853),33172=>array(43,-64,953,839),33173=>array(44,-75,920,783),33174=>array(30,-70,971,844),33175=>array(37,-65,959,829),33176=>array(39,-69,962,788),33177=>array(39,-60,969,829),33178=>array(46,-68,941,848),33179=>array(47,-72,954,835),33180=>array(19,-70,972,823),33181=>array(28,-70,966,828),33182=>array(41,-69,944,826),33183=>array(45,-70,958,839),33184=>array(39,-76,977,788),33185=>array(18,-70,987,850),33186=>array(45,-67,951,824),33187=>array(33,-71,938,817),33188=>array(18,-70,968,787),33189=>array(37,-62,950,844),33190=>array(39,-70,954,832),33191=>array(26,-60,950,833),33192=>array(17,-70,975,837),33193=>array(36,-78,969,836),33194=>array(26,-68,891,832),33195=>array(49,-75,982,845),33196=>array(55,-75,986,830),33197=>array(30,-70,969,839),33198=>array(40,-68,975,829),33199=>array(24,-70,981,837),33200=>array(30,-60,966,852),33201=>array(45,-75,983,840),33202=>array(41,-68,969,838),33203=>array(35,-67,949,840),33204=>array(36,-57,963,848),33205=>array(40,-67,964,830),33206=>array(48,-70,930,793),33207=>array(49,-70,967,827),33208=>array(42,-70,956,839),33209=>array(46,-79,956,830),33210=>array(28,-68,922,839),33211=>array(42,-70,959,845),33212=>array(43,-72,976,805),33213=>array(38,-66,956,853),33214=>array(36,-71,983,859),33215=>array(35,-75,969,840),33216=>array(35,-57,960,788),33217=>array(30,-82,961,837),33218=>array(33,-58,927,836),33219=>array(37,-75,952,849),33220=>array(39,-68,959,822),33221=>array(50,-69,916,787),33222=>array(21,-70,963,840),33223=>array(48,-67,931,835),33224=>array(36,-70,940,833),33225=>array(53,-68,991,854),33226=>array(39,-87,974,784),33227=>array(35,-71,959,827),33228=>array(40,-72,973,836),33229=>array(45,-73,966,843),33230=>array(36,-58,962,805),33231=>array(35,-74,955,847),33232=>array(45,-73,964,840),33233=>array(46,-78,948,777),33234=>array(44,-73,969,835),33235=>array(32,-61,966,838),33236=>array(32,-60,973,796),33237=>array(30,-60,965,853),33238=>array(41,-54,954,830),33239=>array(55,-70,979,837),33240=>array(40,-65,956,848),33241=>array(43,-75,969,829),33242=>array(43,-74,971,827),33243=>array(48,-67,946,790),33244=>array(41,-71,972,827),33245=>array(41,-50,964,867),33246=>array(39,-56,955,805),33247=>array(28,-61,970,838),33248=>array(54,-67,942,846),33249=>array(54,-53,949,849),33250=>array(43,-78,956,829),33251=>array(151,-58,927,780),33252=>array(100,-31,976,782),33253=>array(120,-65,959,820),33254=>array(58,-70,954,772),33255=>array(31,-63,956,836),33256=>array(120,-65,932,841),33257=>array(48,-76,965,781),33258=>array(201,-67,821,853),33259=>array(87,-47,948,840),33260=>array(46,-67,967,850),33261=>array(56,-63,970,844),33262=>array(42,-66,937,837),33263=>array(52,-64,946,849),33264=>array(61,-72,925,852),33265=>array(109,-101,922,839),33266=>array(37,-71,967,844),33267=>array(80,-16,915,770),33268=>array(59,-71,971,831),33269=>array(49,-57,965,848),33270=>array(55,-68,962,840),33271=>array(58,-72,960,821),33272=>array(54,-42,952,756),33273=>array(46,-78,954,824),33274=>array(80,-32,933,829),33275=>array(56,-68,959,829),33276=>array(156,-46,863,793),33277=>array(138,-68,825,829),33278=>array(42,-71,966,824),33279=>array(57,-68,954,833),33280=>array(83,-67,917,834),33281=>array(50,-74,956,834),33282=>array(44,-65,969,838),33283=>array(85,-60,898,834),33284=>array(58,-68,927,834),33285=>array(65,-52,874,842),33286=>array(52,-59,924,829),33287=>array(40,-70,955,836),33288=>array(68,-56,951,826),33289=>array(55,-67,965,810),33290=>array(62,-67,947,832),33291=>array(73,-41,936,832),33292=>array(76,-55,909,831),33293=>array(46,-65,958,856),33294=>array(46,-65,958,856),33295=>array(61,-57,879,831),33296=>array(43,-62,948,828),33297=>array(58,-67,956,829),33298=>array(45,-64,945,848),33299=>array(40,-53,931,818),33300=>array(55,-63,971,789),33301=>array(57,-75,961,824),33302=>array(36,-56,947,851),33303=>array(39,-58,955,843),33304=>array(31,-65,933,851),33305=>array(45,-63,965,846),33306=>array(50,-65,949,855),33307=>array(44,-72,942,837),33308=>array(41,-70,943,842),33309=>array(63,-68,937,841),33310=>array(47,-76,949,852),33311=>array(71,-69,936,839),33312=>array(47,-79,902,826),33313=>array(43,-66,947,837),33314=>array(67,-68,921,845),33315=>array(42,-71,943,821),33316=>array(53,-68,975,845),33317=>array(54,-71,963,853),33318=>array(42,-60,981,860),33319=>array(53,-68,948,848),33320=>array(34,-67,978,855),33321=>array(46,-68,958,835),33322=>array(37,-56,960,849),33323=>array(59,-63,945,849),33324=>array(44,-70,963,833),33325=>array(35,-70,935,822),33326=>array(39,-69,931,834),33327=>array(44,-61,910,856),33328=>array(41,-68,932,838),33329=>array(36,-66,944,833),33330=>array(39,-70,986,860),33331=>array(74,-64,915,839),33332=>array(51,-70,962,846),33333=>array(39,-54,951,849),33334=>array(40,-68,896,851),33335=>array(34,-65,963,849),33336=>array(54,-54,956,849),33337=>array(41,-67,957,849),33338=>array(41,-61,906,856),33339=>array(29,-66,924,828),33340=>array(44,-73,965,835),33341=>array(52,-70,972,840),33342=>array(36,-75,924,825),33343=>array(53,-68,973,839),33344=>array(74,-60,964,849),33345=>array(44,-68,975,845),33346=>array(34,-73,965,841),33347=>array(39,-70,978,843),33348=>array(49,-68,951,846),33349=>array(38,-70,966,840),33350=>array(35,-68,976,845),33351=>array(34,-61,965,849),33352=>array(32,-68,972,845),33353=>array(36,-73,962,836),33354=>array(53,-68,930,845),33355=>array(52,-68,971,839),33356=>array(23,-51,974,846),33357=>array(29,-73,963,845),33358=>array(34,-67,954,839),33359=>array(37,-64,954,856),33360=>array(36,-75,977,840),33361=>array(37,-68,915,838),33362=>array(52,-56,912,850),33363=>array(54,-71,980,828),33364=>array(26,-71,986,849),33365=>array(37,-67,938,847),33366=>array(39,-75,957,843),33367=>array(36,-72,959,845),33368=>array(49,-64,964,854),33369=>array(64,-63,991,863),33370=>array(49,-79,950,829),33371=>array(43,-80,956,833),33372=>array(36,-73,950,831),33373=>array(54,-54,966,849),33374=>array(44,-74,971,834),33375=>array(29,-54,963,849),33376=>array(20,-68,980,845),33377=>array(41,-73,923,836),33378=>array(44,-68,965,844),33379=>array(44,-63,967,856),33380=>array(34,-65,978,852),33381=>array(29,-71,968,850),33382=>array(34,-54,955,849),33383=>array(23,-68,970,845),33384=>array(29,-61,972,844),33385=>array(37,-72,970,845),33386=>array(44,-61,982,849),33387=>array(49,-68,973,845),33388=>array(37,-72,959,840),33389=>array(35,-62,970,858),33390=>array(112,-56,974,796),33391=>array(85,-61,963,820),33392=>array(40,-60,942,791),33393=>array(46,-68,958,827),33394=>array(46,-17,958,838),33395=>array(54,-62,938,828),33396=>array(53,-72,969,842),33397=>array(50,-73,961,831),33398=>array(48,-66,960,832),33399=>array(54,-66,960,832),33400=>array(47,-69,912,827),33401=>array(62,310,913,613),33402=>array(69,-29,919,820),33403=>array(64,-66,943,826),33404=>array(66,-64,939,826),33405=>array(42,-68,974,832),33406=>array(62,-60,946,825),33407=>array(60,-64,935,830),33408=>array(64,-66,943,826),33409=>array(56,-67,945,826),33410=>array(61,-57,911,831),33411=>array(47,-52,961,843),33412=>array(41,-69,969,832),33413=>array(61,-63,950,833),33414=>array(63,-67,946,836),33415=>array(81,-69,931,836),33416=>array(63,-69,940,831),33417=>array(65,-85,938,831),33418=>array(59,-71,951,822),33419=>array(65,-62,938,831),33420=>array(64,-61,932,831),33421=>array(67,-62,929,831),33422=>array(68,-61,936,833),33423=>array(53,-23,949,822),33424=>array(78,-71,948,823),33425=>array(60,-28,951,826),33426=>array(66,-20,936,823),33427=>array(71,-66,947,826),33428=>array(50,-68,915,838),33429=>array(62,-66,912,823),33430=>array(60,-66,936,823),33431=>array(62,-70,912,823),33432=>array(70,-80,959,818),33433=>array(65,-65,955,834),33434=>array(64,-46,950,832),33435=>array(66,-73,957,820),33436=>array(52,-58,929,832),33437=>array(55,-74,967,824),33438=>array(54,-72,962,826),33439=>array(36,-62,976,833),33440=>array(46,-71,971,831),33441=>array(62,-70,939,830),33442=>array(44,-67,956,823),33443=>array(38,-70,935,819),33444=>array(47,-64,967,829),33445=>array(57,-68,961,836),33446=>array(45,-75,937,827),33447=>array(71,-51,943,837),33448=>array(49,-65,970,833),33449=>array(38,-80,971,840),33450=>array(80,-64,956,836),33451=>array(34,-58,971,832),33452=>array(39,-60,957,837),33453=>array(78,-35,936,822),33454=>array(73,-63,927,825),33455=>array(33,-19,951,837),33456=>array(47,-62,974,833),33457=>array(49,-69,934,826),33458=>array(29,-44,951,823),33459=>array(52,-63,933,838),33460=>array(58,-77,941,822),33461=>array(49,-69,972,826),33462=>array(53,-69,944,833),33463=>array(82,-20,935,829),33464=>array(68,-71,940,824),33465=>array(58,-67,933,829),33466=>array(55,-84,979,820),33467=>array(59,-67,912,838),33468=>array(72,-38,951,839),33469=>array(57,-57,943,838),33470=>array(60,-61,954,832),33471=>array(48,-52,913,827),33472=>array(52,-73,964,823),33473=>array(44,-68,941,827),33474=>array(56,-75,968,827),33475=>array(47,-76,980,818),33476=>array(63,-75,937,822),33477=>array(44,-71,916,818),33478=>array(44,-55,913,828),33479=>array(63,-65,913,828),33480=>array(53,-68,912,824),33481=>array(67,-51,918,823),33482=>array(49,-84,928,816),33483=>array(59,-64,931,820),33484=>array(63,-67,942,826),33485=>array(29,-44,951,823),33486=>array(65,9,916,824),33487=>array(61,-68,936,822),33488=>array(62,-62,924,837),33489=>array(60,-66,948,828),33490=>array(57,-68,949,833),33491=>array(42,-67,965,832),33492=>array(71,-65,941,832),33493=>array(62,-66,938,827),33494=>array(72,-71,944,822),33495=>array(69,-68,940,830),33496=>array(63,-78,933,820),33497=>array(51,-14,947,840),33498=>array(70,-73,944,833),33499=>array(66,-63,949,833),33500=>array(68,-65,938,834),33501=>array(68,-54,964,834),33502=>array(44,-45,946,820),33503=>array(48,-62,934,837),33504=>array(69,-70,962,824),33505=>array(74,-67,978,833),33506=>array(79,-70,931,834),33507=>array(79,-80,931,834),33508=>array(57,-11,951,833),33509=>array(72,-65,931,827),33510=>array(80,-67,912,832),33511=>array(67,-61,936,830),33512=>array(55,-67,960,829),33513=>array(79,-65,933,827),33514=>array(66,-62,956,830),33515=>array(79,-66,933,827),33516=>array(68,-70,941,823),33517=>array(77,-67,950,832),33518=>array(45,-67,934,830),33519=>array(58,-71,959,829),33520=>array(69,-68,953,826),33521=>array(50,-71,935,823),33522=>array(48,-64,948,829),33523=>array(48,-61,959,836),33524=>array(60,-14,957,830),33525=>array(47,-71,968,825),33526=>array(40,-70,975,823),33527=>array(51,-71,945,822),33528=>array(68,-66,938,827),33529=>array(55,-64,949,827),33530=>array(53,-52,948,833),33531=>array(43,-65,950,830),33532=>array(59,-36,938,827),33533=>array(49,-62,956,827),33534=>array(56,-50,956,839),33535=>array(50,-61,958,836),33536=>array(48,-66,949,832),33537=>array(80,-64,939,838),33538=>array(61,-70,943,828),33539=>array(46,-69,948,811),33540=>array(57,-68,943,836),33541=>array(51,-64,934,838),33542=>array(40,-59,944,836),33543=>array(48,-65,959,830),33544=>array(59,-41,964,830),33545=>array(50,-61,958,836),33546=>array(66,-29,932,836),33547=>array(80,-64,955,836),33548=>array(39,-66,954,831),33549=>array(55,-67,947,828),33550=>array(46,-32,963,831),33551=>array(33,-66,923,827),33552=>array(27,-57,916,826),33553=>array(58,-60,916,826),33554=>array(66,-70,944,825),33555=>array(68,-59,926,826),33556=>array(75,-7,926,826),33557=>array(62,-66,957,826),33558=>array(55,-73,966,821),33559=>array(61,-66,939,829),33560=>array(42,-66,943,835),33561=>array(66,-68,956,829),33562=>array(61,-72,925,822),33563=>array(63,-60,956,833),33564=>array(60,-64,946,832),33565=>array(69,-39,944,811),33566=>array(68,-40,943,811),33567=>array(77,-64,934,842),33568=>array(41,-68,966,826),33569=>array(53,-64,948,831),33570=>array(61,-53,942,841),33571=>array(46,-66,950,828),33572=>array(87,-76,960,826),33573=>array(59,-26,956,820),33574=>array(53,-68,970,824),33575=>array(54,-67,960,817),33576=>array(54,-65,947,834),33577=>array(47,-70,953,825),33578=>array(49,-76,962,822),33579=>array(61,-46,941,830),33580=>array(59,-58,949,838),33581=>array(56,-66,964,833),33582=>array(62,-70,938,826),33583=>array(53,-66,972,835),33584=>array(72,-66,959,835),33585=>array(38,-64,979,834),33586=>array(85,-60,935,838),33587=>array(56,-62,948,830),33588=>array(66,-65,939,834),33589=>array(72,-61,940,838),33590=>array(41,-67,968,831),33591=>array(44,-72,958,819),33592=>array(61,-63,954,840),33593=>array(53,-68,945,834),33594=>array(21,-31,946,859),33595=>array(57,-68,906,827),33596=>array(66,-64,939,833),33597=>array(42,-74,933,834),33598=>array(65,-69,957,827),33599=>array(46,-67,973,829),33600=>array(45,-58,938,833),33601=>array(65,-25,957,817),33602=>array(42,-68,978,823),33603=>array(51,-26,955,832),33604=>array(55,-53,950,839),33605=>array(59,-62,974,831),33606=>array(33,-62,888,834),33607=>array(60,-54,962,843),33608=>array(54,-71,951,825),33609=>array(59,-68,950,833),33610=>array(69,-74,933,827),33611=>array(68,-69,945,820),33612=>array(62,-73,949,823),33613=>array(69,-70,958,829),33614=>array(74,-30,964,811),33615=>array(29,-69,942,834),33616=>array(31,-53,950,844),33617=>array(55,-63,980,831),33618=>array(41,-56,955,837),33619=>array(65,-69,957,828),33620=>array(42,-66,943,833),33621=>array(48,-65,943,835),33622=>array(53,-30,959,837),33623=>array(61,-70,943,828),33624=>array(43,-65,941,827),33625=>array(57,-50,947,831),33626=>array(26,-60,941,831),33627=>array(59,-65,931,826),33628=>array(63,-68,923,823),33629=>array(30,-66,916,825),33630=>array(35,-71,950,825),33631=>array(35,-56,938,824),33632=>array(25,-70,949,827),33633=>array(34,-64,905,827),33634=>array(65,-62,939,830),33635=>array(42,-71,941,817),33636=>array(53,-57,910,833),33637=>array(37,-60,944,831),33638=>array(56,-63,928,831),33639=>array(67,-74,922,822),33640=>array(64,-66,915,825),33641=>array(37,-71,952,826),33642=>array(44,-66,936,824),33643=>array(78,-69,926,826),33644=>array(35,-66,915,827),33645=>array(36,-16,925,821),33646=>array(45,-68,921,824),33647=>array(56,-68,917,822),33648=>array(48,-69,945,826),33649=>array(73,-63,928,821),33650=>array(56,-32,951,821),33651=>array(59,-34,954,805),33652=>array(45,-76,974,829),33653=>array(63,-32,971,823),33654=>array(71,-79,958,825),33655=>array(42,-74,945,834),33656=>array(53,-64,948,832),33657=>array(57,-58,935,831),33658=>array(49,-62,937,823),33659=>array(35,-65,964,831),33660=>array(49,-65,956,831),33661=>array(48,-72,954,832),33662=>array(51,-70,954,821),33663=>array(41,-62,959,827),33664=>array(45,-67,968,821),33665=>array(69,-16,943,826),33666=>array(62,-70,916,821),33667=>array(48,-70,947,827),33668=>array(51,-66,938,821),33669=>array(26,-74,947,822),33670=>array(62,-65,955,835),33671=>array(57,-75,938,824),33672=>array(54,-76,956,821),33673=>array(46,-59,933,839),33674=>array(46,-69,943,822),33675=>array(50,-70,947,824),33676=>array(42,-63,956,822),33677=>array(55,-69,944,820),33678=>array(42,-67,947,832),33679=>array(47,-70,959,824),33680=>array(56,-66,960,818),33681=>array(39,-64,980,832),33682=>array(66,-70,938,833),33683=>array(60,-62,947,833),33684=>array(66,-65,939,820),33685=>array(54,-69,972,829),33686=>array(76,-18,949,836),33687=>array(69,-63,951,836),33688=>array(53,-67,947,832),33689=>array(45,-63,953,832),33690=>array(40,-73,949,825),33691=>array(36,-69,959,826),33692=>array(20,-82,968,828),33693=>array(60,-17,955,838),33694=>array(47,-58,961,830),33695=>array(37,-79,966,831),33696=>array(42,-67,956,831),33697=>array(55,-73,970,831),33698=>array(57,-65,964,834),33699=>array(47,-24,957,832),33700=>array(66,-67,940,827),33701=>array(46,-65,943,824),33702=>array(76,-64,949,824),33703=>array(46,-62,950,832),33704=>array(61,-61,950,835),33705=>array(53,-64,948,835),33706=>array(69,-65,948,831),33707=>array(65,-72,962,823),33708=>array(43,-64,953,834),33709=>array(61,-65,912,829),33710=>array(50,-73,939,827),33711=>array(47,-67,969,824),33712=>array(54,-74,969,823),33713=>array(32,-61,948,829),33714=>array(36,-59,947,809),33715=>array(62,-64,920,826),33716=>array(62,-63,912,827),33717=>array(43,-59,956,832),33718=>array(35,-19,962,823),33719=>array(32,-63,940,830),33720=>array(35,-66,925,827),33721=>array(65,-19,924,825),33722=>array(62,-62,912,824),33723=>array(42,-64,919,818),33724=>array(50,-27,928,824),33725=>array(40,-65,971,837),33726=>array(36,-71,980,829),33727=>array(63,-65,947,827),33728=>array(51,-68,966,830),33729=>array(71,-65,939,833),33730=>array(85,-63,937,823),33731=>array(47,-73,945,823),33732=>array(41,-70,976,824),33733=>array(63,-68,937,835),33734=>array(58,-74,968,828),33735=>array(52,-61,954,839),33736=>array(72,-67,951,824),33737=>array(65,-52,935,840),33738=>array(41,-63,932,836),33739=>array(77,-69,963,826),33740=>array(70,-61,938,838),33741=>array(38,-44,957,833),33742=>array(80,-34,955,823),33743=>array(60,-62,954,832),33744=>array(88,-64,924,835),33745=>array(72,-62,940,832),33746=>array(49,-70,961,844),33747=>array(45,-68,962,822),33748=>array(46,-70,969,832),33749=>array(40,-61,974,829),33750=>array(71,-59,943,844),33751=>array(64,-70,936,826),33752=>array(25,-66,967,832),33753=>array(69,-29,947,827),33754=>array(67,-60,964,821),33755=>array(86,-73,938,820),33756=>array(48,-65,971,837),33757=>array(63,-74,973,824),33758=>array(59,-69,949,826),33759=>array(50,-57,960,834),33760=>array(61,-62,960,836),33761=>array(68,-65,961,832),33762=>array(60,-72,960,820),33763=>array(79,-74,961,820),33764=>array(42,-39,979,818),33765=>array(44,-64,957,832),33766=>array(60,-70,944,831),33767=>array(50,-69,955,832),33768=>array(69,-75,942,827),33769=>array(72,-59,934,837),33770=>array(62,-65,939,830),33771=>array(64,-38,960,812),33772=>array(68,-73,937,823),33773=>array(39,-67,961,833),33774=>array(45,-70,969,829),33775=>array(56,-78,941,838),33776=>array(43,-65,961,833),33777=>array(46,-65,954,831),33778=>array(61,-65,934,841),33779=>array(54,-39,980,815),33780=>array(35,-42,968,816),33781=>array(95,-65,945,824),33782=>array(40,-70,967,835),33783=>array(73,-68,923,826),33784=>array(44,-66,973,832),33785=>array(56,-39,954,832),33786=>array(62,-68,947,829),33787=>array(48,-69,966,822),33788=>array(48,-62,970,835),33789=>array(39,-73,966,832),33790=>array(47,-72,968,831),33791=>array(69,-70,944,825),33792=>array(43,-73,953,826),33793=>array(62,-69,958,836),33794=>array(46,-59,933,839),33795=>array(76,-59,949,836),33796=>array(43,-63,939,826),33797=>array(60,-67,957,838),33798=>array(59,-52,949,841),33799=>array(61,-67,971,827),33800=>array(46,-62,950,832),33801=>array(42,-67,960,826),33802=>array(35,-62,973,833),33803=>array(54,-70,947,833),33804=>array(61,-68,935,839),33805=>array(54,-63,949,838),33806=>array(53,-73,934,834),33807=>array(77,-62,947,833),33808=>array(42,-69,976,826),33809=>array(36,-67,952,833),33810=>array(53,-60,963,820),33811=>array(67,-38,961,811),33812=>array(47,-44,935,838),33813=>array(44,-76,956,828),33814=>array(77,-62,937,815),33815=>array(67,-63,927,819),33816=>array(50,-68,965,830),33817=>array(25,-66,964,832),33818=>array(38,-69,952,826),33819=>array(58,-70,947,825),33820=>array(52,-77,933,822),33821=>array(65,-58,917,829),33822=>array(79,-58,958,826),33823=>array(36,-68,952,824),33824=>array(59,-74,939,820),33825=>array(50,-65,939,826),33826=>array(51,-30,978,835),33827=>array(49,-73,973,823),33828=>array(63,-70,916,818),33829=>array(66,-71,916,819),33830=>array(54,-60,908,830),33831=>array(54,-62,930,831),33832=>array(74,-67,931,828),33833=>array(40,-64,985,833),33834=>array(41,-69,955,839),33835=>array(42,-70,956,825),33836=>array(77,-68,946,834),33837=>array(73,-61,936,831),33838=>array(46,-71,968,827),33839=>array(50,-81,943,829),33840=>array(46,-71,968,825),33841=>array(52,-24,948,832),33842=>array(59,-70,947,828),33843=>array(71,-66,943,824),33844=>array(46,-76,942,827),33845=>array(70,-67,942,833),33846=>array(43,-73,974,821),33847=>array(67,-68,941,823),33848=>array(31,-64,979,830),33849=>array(47,-66,941,831),33850=>array(70,-69,945,831),33851=>array(69,-69,944,825),33852=>array(77,-62,932,839),33853=>array(56,-68,970,835),33854=>array(59,-57,951,829),33855=>array(53,-72,956,823),33856=>array(55,-68,955,825),33857=>array(67,-57,950,821),33858=>array(34,-63,954,828),33859=>array(71,-68,944,829),33860=>array(53,-67,945,826),33861=>array(46,-32,954,824),33862=>array(35,-68,965,832),33863=>array(46,-61,973,832),33864=>array(48,-55,962,832),33865=>array(49,-70,965,839),33866=>array(45,-64,972,849),33867=>array(42,-67,948,830),33868=>array(46,-71,939,822),33869=>array(71,-70,947,823),33870=>array(32,-70,949,829),33871=>array(52,-67,959,829),33872=>array(55,-29,973,828),33873=>array(53,-58,958,832),33874=>array(61,-49,956,832),33875=>array(67,-69,957,826),33876=>array(51,-71,969,827),33877=>array(41,-69,953,845),33878=>array(47,-61,984,832),33879=>array(43,-64,941,826),33880=>array(63,-62,923,833),33881=>array(45,-69,943,826),33882=>array(51,-32,945,833),33883=>array(62,-61,942,837),33884=>array(34,-67,974,825),33885=>array(61,-67,943,823),33886=>array(68,-73,952,823),33887=>array(83,-27,955,826),33888=>array(32,-53,951,841),33889=>array(41,-64,948,830),33890=>array(34,-20,966,831),33891=>array(76,-27,947,839),33892=>array(61,-58,958,832),33893=>array(77,-68,951,829),33894=>array(63,-59,945,839),33895=>array(82,-65,953,825),33896=>array(69,-67,973,826),33897=>array(62,-51,953,828),33898=>array(61,-75,955,843),33899=>array(69,-61,940,840),33900=>array(45,-62,939,838),33901=>array(60,-67,967,833),33902=>array(43,-72,966,826),33903=>array(57,-66,942,823),33904=>array(41,-71,979,824),33905=>array(49,-37,962,834),33906=>array(42,-70,933,833),33907=>array(39,-64,966,833),33908=>array(55,-66,955,828),33909=>array(66,-60,951,835),33910=>array(74,-54,942,829),33911=>array(74,-64,946,842),33912=>array(46,-29,968,829),33913=>array(42,-56,963,842),33914=>array(51,-64,942,830),33915=>array(24,-66,962,830),33916=>array(69,-65,969,838),33917=>array(69,-70,944,827),33918=>array(59,-36,967,827),33919=>array(69,-70,944,838),33920=>array(59,-21,955,831),33921=>array(36,-39,959,831),33922=>array(72,-67,925,842),33923=>array(72,-60,961,838),33924=>array(51,-67,957,838),33925=>array(51,-68,956,838),33926=>array(68,-81,941,826),33927=>array(20,-69,952,833),33928=>array(60,-67,914,824),33929=>array(60,-69,914,828),33930=>array(60,-58,950,828),33931=>array(41,-59,943,833),33932=>array(25,-60,939,833),33933=>array(39,-69,948,826),33934=>array(49,-71,969,832),33935=>array(61,-71,939,827),33936=>array(47,-52,963,839),33937=>array(54,-81,968,822),33938=>array(69,-64,959,832),33939=>array(51,-62,956,832),33940=>array(70,-61,946,833),33941=>array(52,-37,948,840),33942=>array(70,-89,942,830),33943=>array(48,-64,974,830),33944=>array(62,-69,955,825),33945=>array(53,-75,959,839),33946=>array(83,-66,938,826),33947=>array(42,-74,953,826),33948=>array(37,-59,946,835),33949=>array(42,-68,939,826),33950=>array(53,-65,953,831),33951=>array(53,-66,956,830),33952=>array(52,-29,953,825),33953=>array(66,-64,945,834),33954=>array(76,-68,974,825),33955=>array(46,-69,950,826),33956=>array(56,-72,950,826),33957=>array(77,-76,928,835),33958=>array(38,-69,974,835),33959=>array(51,-73,966,824),33960=>array(23,-53,956,841),33961=>array(52,-68,962,825),33962=>array(60,-70,942,835),33963=>array(37,-47,956,854),33964=>array(43,-60,956,829),33965=>array(65,-71,931,845),33966=>array(29,-70,937,822),33967=>array(56,-70,923,835),33968=>array(50,-79,964,827),33969=>array(48,-55,947,840),33970=>array(46,-61,946,839),33971=>array(65,-75,927,839),33972=>array(41,-69,942,833),33973=>array(54,-59,960,833),33974=>array(45,-72,946,823),33975=>array(66,-64,944,833),33976=>array(47,-73,953,824),33977=>array(31,-64,972,835),33978=>array(50,-69,961,833),33979=>array(40,-60,960,833),33980=>array(43,-62,972,836),33981=>array(36,-39,950,823),33982=>array(49,-52,946,839),33983=>array(68,-68,941,833),33984=>array(44,-64,955,835),33985=>array(36,-69,964,829),33986=>array(53,-65,947,830),33987=>array(51,-67,957,833),33988=>array(51,-66,940,838),33989=>array(48,-72,960,823),33990=>array(43,-71,954,824),33991=>array(54,-64,949,831),33992=>array(70,-65,924,833),33993=>array(46,-66,954,839),33994=>array(35,-62,957,832),33995=>array(59,-21,955,834),33996=>array(48,-74,973,825),33997=>array(53,-67,943,831),33998=>array(46,-75,938,826),33999=>array(59,-74,968,826),34000=>array(52,-67,939,830),34001=>array(44,-71,956,835),34002=>array(63,-72,956,825),34003=>array(48,-62,957,840),34004=>array(62,-71,955,826),34005=>array(48,-57,959,830),34006=>array(67,-58,941,837),34007=>array(51,-68,978,829),34008=>array(46,-78,959,824),34009=>array(57,-66,937,833),34010=>array(33,-76,982,830),34011=>array(38,-73,973,827),34012=>array(60,-67,950,830),34013=>array(54,-23,924,821),34014=>array(62,-67,914,821),34015=>array(26,-62,908,832),34016=>array(62,-63,914,827),34017=>array(44,-67,966,832),34018=>array(62,-75,938,830),34019=>array(61,-63,924,829),34020=>array(38,-76,974,825),34021=>array(29,-6,954,827),34022=>array(38,-56,947,826),34023=>array(36,-52,961,839),34024=>array(42,-67,963,828),34025=>array(35,-71,950,825),34026=>array(50,-73,972,824),34027=>array(43,-72,970,822),34028=>array(35,-62,952,833),34029=>array(38,-59,965,827),34030=>array(37,-56,951,839),34031=>array(33,-69,962,832),34032=>array(51,-68,978,829),34033=>array(56,-73,957,820),34034=>array(65,-32,953,823),34035=>array(66,-32,943,824),34036=>array(64,-63,957,825),34037=>array(40,-75,963,827),34038=>array(69,-70,956,823),34039=>array(67,-68,961,823),34040=>array(61,-74,939,851),34041=>array(45,-67,947,829),34042=>array(40,-55,961,833),34043=>array(54,-47,967,844),34044=>array(26,-76,972,829),34045=>array(56,-65,948,832),34046=>array(73,-70,944,823),34047=>array(33,-67,948,834),34048=>array(61,-65,944,827),34049=>array(67,-68,946,831),34050=>array(68,-69,944,827),34051=>array(74,-58,947,839),34052=>array(71,-65,944,822),34053=>array(63,-57,936,838),34054=>array(49,-76,974,825),34055=>array(69,-70,951,826),34056=>array(62,-65,941,824),34057=>array(44,-68,965,827),34058=>array(51,-66,960,832),34059=>array(47,-70,964,828),34060=>array(45,-67,985,832),34061=>array(49,-69,958,823),34062=>array(66,-73,972,825),34063=>array(66,-70,938,822),34064=>array(39,-73,928,838),34065=>array(48,-70,956,835),34066=>array(47,-73,964,824),34067=>array(59,-61,966,835),34068=>array(57,-68,943,825),34069=>array(74,-71,943,817),34070=>array(28,-68,952,824),34071=>array(52,-67,951,838),34072=>array(31,-70,981,825),34073=>array(39,-72,975,823),34074=>array(51,-68,948,836),34075=>array(40,-66,959,828),34076=>array(41,-73,963,827),34077=>array(75,-68,975,825),34078=>array(56,-73,959,832),34079=>array(36,-75,966,820),34080=>array(53,-70,963,826),34081=>array(63,-64,963,839),34082=>array(64,-68,944,838),34083=>array(49,-59,948,835),34084=>array(57,-70,944,826),34085=>array(56,-30,955,835),34086=>array(53,-67,940,835),34087=>array(55,-23,950,820),34088=>array(79,-71,951,823),34089=>array(66,-73,941,824),34090=>array(58,-69,952,829),34091=>array(42,-64,951,832),34092=>array(54,-71,966,835),34093=>array(76,-78,967,834),34094=>array(78,-69,948,822),34095=>array(57,-53,964,841),34096=>array(36,-69,960,824),34097=>array(73,-83,967,824),34098=>array(32,-67,960,824),34099=>array(45,-59,944,841),34100=>array(44,-73,937,840),34101=>array(31,-67,962,832),34102=>array(65,-65,964,829),34103=>array(73,-73,925,817),34104=>array(24,-81,949,822),34105=>array(41,-73,949,822),34106=>array(63,-66,911,827),34107=>array(42,-72,956,832),34108=>array(65,-60,928,834),34109=>array(69,-70,961,834),34110=>array(39,-59,973,835),34111=>array(33,-59,937,832),34112=>array(32,-72,979,829),34113=>array(56,-62,948,833),34114=>array(41,-76,957,833),34115=>array(36,-69,957,831),34116=>array(71,-65,944,823),34117=>array(42,-69,944,826),34118=>array(31,-67,962,833),34119=>array(69,-68,946,823),34120=>array(54,-69,948,830),34121=>array(42,-61,938,837),34122=>array(38,-54,962,817),34123=>array(24,-64,944,830),34124=>array(76,-77,944,818),34125=>array(41,-72,975,823),34126=>array(50,-65,963,832),34127=>array(76,-73,955,826),34128=>array(60,-78,943,829),34129=>array(63,-57,936,839),34130=>array(48,-69,945,838),34131=>array(53,-77,947,835),34132=>array(58,-68,956,829),34133=>array(55,-60,955,836),34134=>array(42,-68,983,829),34135=>array(39,-71,980,835),34136=>array(33,-59,962,835),34137=>array(38,-33,964,833),34138=>array(58,-70,945,842),34139=>array(37,-67,938,827),34140=>array(62,-65,958,833),34141=>array(56,-48,962,842),34142=>array(51,-62,985,830),34143=>array(58,-53,973,831),34144=>array(45,-68,959,831),34145=>array(61,-76,939,840),34146=>array(65,-70,955,832),34147=>array(68,-74,941,831),34148=>array(64,-56,949,832),34149=>array(32,-69,952,826),34150=>array(43,-76,972,823),34151=>array(43,-75,977,833),34152=>array(38,-67,968,832),34153=>array(67,-67,956,836),34154=>array(59,-67,956,833),34155=>array(64,-46,936,842),34156=>array(52,-69,971,823),34157=>array(51,-74,947,840),34158=>array(47,-62,938,826),34159=>array(54,-56,941,829),34160=>array(67,-76,957,834),34161=>array(35,-65,938,826),34162=>array(62,-69,913,821),34163=>array(68,-73,938,832),34164=>array(41,-29,923,825),34165=>array(44,-85,981,831),34166=>array(42,-81,983,827),34167=>array(67,-68,975,829),34168=>array(48,-74,968,821),34169=>array(44,-62,951,835),34170=>array(62,-65,968,831),34171=>array(67,-68,972,831),34172=>array(60,-70,952,826),34173=>array(48,-58,952,848),34174=>array(73,-61,941,836),34175=>array(42,-85,957,833),34176=>array(54,-48,956,846),34177=>array(45,-74,958,830),34178=>array(41,-78,960,823),34179=>array(65,-72,926,822),34180=>array(53,-68,949,832),34181=>array(41,-65,957,823),34182=>array(48,-69,973,828),34183=>array(36,-77,958,834),34184=>array(27,-65,977,833),34185=>array(41,-71,960,824),34186=>array(46,-64,941,832),34187=>array(78,-81,933,826),34188=>array(47,-65,944,833),34189=>array(79,-66,964,828),34190=>array(62,-71,964,824),34191=>array(33,-50,967,834),34192=>array(27,-54,976,838),34193=>array(58,-41,948,806),34194=>array(42,-63,983,834),34195=>array(37,-60,953,826),34196=>array(60,-61,956,834),34197=>array(40,-67,971,824),34198=>array(48,-74,970,823),34199=>array(64,-63,936,830),34200=>array(47,-66,975,831),34201=>array(44,-68,949,836),34202=>array(51,-68,953,826),34203=>array(69,-61,941,838),34204=>array(42,-65,944,827),34205=>array(54,-70,939,823),34206=>array(40,-70,966,829),34207=>array(34,-50,966,841),34208=>array(51,-76,959,827),34209=>array(49,-74,934,820),34210=>array(40,-75,964,829),34211=>array(64,-75,966,823),34212=>array(50,-67,945,831),34213=>array(62,-58,935,831),34214=>array(37,-67,945,834),34215=>array(61,-65,953,827),34216=>array(50,-63,955,829),34217=>array(72,-65,939,832),34218=>array(51,-70,955,849),34219=>array(47,-70,957,830),34220=>array(49,-70,961,841),34221=>array(51,-78,969,828),34222=>array(52,-68,961,820),34223=>array(46,-61,945,835),34224=>array(47,-70,957,830),34225=>array(56,-69,957,828),34226=>array(44,-75,974,836),34227=>array(53,-67,967,828),34228=>array(63,-61,959,832),34229=>array(64,-70,941,826),34230=>array(51,-64,962,826),34231=>array(62,-67,952,833),34232=>array(58,-62,961,831),34233=>array(53,-57,941,831),34234=>array(49,-69,956,833),34235=>array(48,-89,961,832),34236=>array(58,-65,951,840),34237=>array(51,-74,956,823),34238=>array(43,-66,974,823),34239=>array(52,-68,971,827),34240=>array(56,-69,977,827),34241=>array(32,-67,968,842),34242=>array(38,-68,958,825),34243=>array(60,-74,955,828),34244=>array(36,-68,968,828),34245=>array(74,-62,946,833),34246=>array(43,-65,969,829),34247=>array(63,-54,941,839),34248=>array(59,-65,954,832),34249=>array(29,-67,952,832),34250=>array(32,-57,944,831),34251=>array(53,-64,956,829),34252=>array(74,-56,945,832),34253=>array(56,-34,949,839),34254=>array(55,-38,951,842),34255=>array(34,-71,942,824),34256=>array(57,-70,960,834),34257=>array(60,-68,961,833),34258=>array(51,-70,947,828),34259=>array(39,-64,922,826),34260=>array(41,-64,970,834),34261=>array(40,-67,937,833),34262=>array(67,-58,944,833),34263=>array(52,-71,986,824),34264=>array(55,-69,958,818),34265=>array(65,-72,971,826),34266=>array(83,-80,938,828),34267=>array(67,-56,937,821),34268=>array(47,-65,953,831),34269=>array(62,-72,954,836),34270=>array(41,-63,951,830),34271=>array(73,-68,936,825),34272=>array(47,-77,973,824),34273=>array(45,-73,982,827),34274=>array(53,-68,975,827),34275=>array(69,-65,939,827),34276=>array(39,-67,959,836),34277=>array(55,-62,930,826),34278=>array(45,-65,935,829),34279=>array(50,-58,964,824),34280=>array(44,-75,945,829),34281=>array(40,-62,960,836),34282=>array(45,-71,967,830),34283=>array(51,-73,950,836),34284=>array(74,-80,943,832),34285=>array(51,-64,948,835),34286=>array(38,-69,969,845),34287=>array(52,-46,974,822),34288=>array(62,-65,924,829),34289=>array(39,-64,959,826),34290=>array(42,-65,956,826),34291=>array(32,-67,968,828),34292=>array(53,-63,956,818),34293=>array(56,-65,942,845),34294=>array(33,-65,954,832),34295=>array(62,-69,955,826),34296=>array(55,-70,962,827),34297=>array(72,-61,929,839),34298=>array(57,-65,949,832),34299=>array(49,-65,971,839),34300=>array(44,-58,955,836),34301=>array(49,-62,966,833),34302=>array(44,-76,974,830),34303=>array(43,-68,929,837),34304=>array(54,-61,958,838),34305=>array(65,-32,945,823),34306=>array(43,-62,975,837),34307=>array(53,-62,946,838),34308=>array(48,-67,940,832),34309=>array(41,-67,953,832),34310=>array(59,-66,961,836),34311=>array(56,-67,948,827),34312=>array(61,-68,960,833),34313=>array(46,-64,957,855),34314=>array(53,-71,956,818),34315=>array(47,-68,960,837),34316=>array(51,-59,960,833),34317=>array(74,-58,947,832),34318=>array(76,-75,981,842),34319=>array(42,-67,958,832),34320=>array(62,-73,964,840),34321=>array(55,-66,960,838),34322=>array(43,-68,964,832),34323=>array(67,-76,966,830),34324=>array(42,-61,972,832),34325=>array(50,-81,955,832),34326=>array(50,-62,965,838),34327=>array(41,-62,965,837),34328=>array(56,-63,978,829),34329=>array(63,-70,947,831),34330=>array(43,-67,950,830),34331=>array(57,-62,945,830),34332=>array(69,-68,946,825),34333=>array(37,-57,968,832),34334=>array(45,-69,987,835),34335=>array(63,-56,956,823),34336=>array(59,-72,947,824),34337=>array(73,-72,950,827),34338=>array(56,-65,961,833),34339=>array(55,-75,960,830),34340=>array(59,-70,935,828),34341=>array(48,-62,969,828),34342=>array(70,-62,942,829),34343=>array(42,-72,982,831),34344=>array(53,-59,968,829),34345=>array(59,-64,964,833),34346=>array(48,-58,983,831),34347=>array(42,-50,963,830),34348=>array(55,-69,949,822),34349=>array(72,-70,928,839),34350=>array(49,-70,946,830),34351=>array(53,-25,951,830),34352=>array(44,-61,974,830),34353=>array(34,-72,965,829),34354=>array(65,-31,945,821),34355=>array(42,-71,954,828),34356=>array(63,-48,934,844),34357=>array(49,-66,958,827),34358=>array(44,-71,969,828),34359=>array(36,-62,971,832),34360=>array(64,-63,951,836),34361=>array(39,-69,965,829),34362=>array(60,-67,951,827),34363=>array(60,-70,963,825),34364=>array(41,-67,959,829),34365=>array(40,-58,969,838),34366=>array(39,-72,984,826),34367=>array(61,-80,954,835),34368=>array(43,-33,968,823),34369=>array(32,-64,968,849),34370=>array(60,-70,965,832),34371=>array(44,-66,967,828),34372=>array(59,-71,963,837),34373=>array(32,-53,978,837),34374=>array(68,-54,936,849),34375=>array(65,-70,951,834),34376=>array(68,-74,940,832),34377=>array(68,-56,949,831),34378=>array(48,-71,961,828),34379=>array(55,-67,947,842),34380=>array(62,-43,947,830),34381=>array(47,-66,924,829),34382=>array(35,-68,953,835),34383=>array(40,-59,893,834),34384=>array(39,-63,878,840),34385=>array(39,-60,937,832),34386=>array(40,-67,963,847),34387=>array(40,-53,954,843),34388=>array(49,-66,949,835),34389=>array(39,-68,959,836),34390=>array(29,-55,931,837),34391=>array(36,-62,919,837),34392=>array(29,-58,948,837),34393=>array(44,-67,961,827),34394=>array(30,-57,914,830),34395=>array(38,-66,936,829),34396=>array(45,-77,929,841),34397=>array(23,-82,956,830),34398=>array(35,-68,950,838),34399=>array(53,-71,951,829),34400=>array(40,-58,959,840),34401=>array(46,-84,950,823),34402=>array(43,-70,960,831),34403=>array(38,-67,972,828),34404=>array(31,-68,967,827),34405=>array(42,-75,989,831),34406=>array(39,-91,965,830),34407=>array(40,-76,954,834),34408=>array(44,-77,946,823),34409=>array(36,-75,953,829),34410=>array(40,-73,973,832),34411=>array(47,-59,954,850),34412=>array(46,-41,928,809),34413=>array(53,-72,899,811),34414=>array(43,-65,961,816),34415=>array(48,-45,957,849),34416=>array(49,-67,955,815),34417=>array(65,-59,970,792),34418=>array(43,-63,962,815),34419=>array(51,-70,916,829),34420=>array(44,-35,964,827),34421=>array(47,-23,957,841),34422=>array(47,-54,962,814),34423=>array(54,-68,954,819),34424=>array(47,-62,967,814),34425=>array(28,-5,930,813),34426=>array(21,-56,962,811),34427=>array(50,-21,942,814),34428=>array(54,-30,957,831),34429=>array(76,-59,888,792),34430=>array(46,-64,944,823),34431=>array(32,-69,914,772),34432=>array(48,-51,935,832),34433=>array(39,-78,942,814),34434=>array(47,-61,909,830),34435=>array(58,-63,942,839),34436=>array(47,-58,960,836),34437=>array(43,-74,950,810),34438=>array(48,-41,961,791),34439=>array(53,-76,973,808),34440=>array(47,-67,958,814),34441=>array(21,-71,976,838),34442=>array(38,-62,956,822),34443=>array(69,-65,914,808),34444=>array(45,-61,939,842),34445=>array(36,-51,951,817),34446=>array(53,-72,914,802),34447=>array(36,-69,869,805),34448=>array(69,-56,930,840),34449=>array(45,-54,967,844),34450=>array(45,-70,967,829),34451=>array(44,-61,899,833),34452=>array(57,-69,967,823),34453=>array(51,-69,963,793),34454=>array(53,-73,960,805),34455=>array(53,-71,971,823),34456=>array(41,-72,961,827),34457=>array(51,-66,963,838),34458=>array(51,-68,953,828),34459=>array(53,-66,891,815),34460=>array(47,-61,958,824),34461=>array(44,-33,953,833),34462=>array(55,-70,966,822),34463=>array(29,-27,948,809),34464=>array(48,-90,964,825),34465=>array(52,-73,978,808),34466=>array(49,-73,958,823),34467=>array(43,-59,961,807),34468=>array(29,-78,971,784),34469=>array(51,-70,963,833),34470=>array(45,-54,954,829),34471=>array(39,-65,957,854),34472=>array(53,-66,964,830),34473=>array(50,-66,952,833),34474=>array(43,-65,958,830),34475=>array(44,-45,967,834),34476=>array(37,-65,930,809),34477=>array(37,-65,945,809),34478=>array(37,-65,956,835),34479=>array(51,-7,955,825),34480=>array(71,-64,916,830),34481=>array(54,-65,948,844),34482=>array(40,-65,943,811),34483=>array(35,-51,958,849),34484=>array(65,-69,911,839),34485=>array(47,-50,954,828),34486=>array(50,-64,953,831),34487=>array(40,-23,954,814),34488=>array(49,-73,939,818),34489=>array(58,-69,955,839),34490=>array(47,-65,951,829),34491=>array(56,-74,960,824),34492=>array(67,-66,926,844),34493=>array(65,-29,962,809),34494=>array(66,-65,951,831),34495=>array(53,-51,953,823),34496=>array(51,-6,964,851),34497=>array(55,-70,903,812),34498=>array(54,-72,967,830),34499=>array(55,-67,940,810),34500=>array(51,-64,943,830),34501=>array(54,-67,938,829),34502=>array(46,-13,954,837),34503=>array(41,-38,959,828),34504=>array(55,-76,968,826),34505=>array(34,-65,966,854),34506=>array(57,-21,910,831),34507=>array(66,-73,957,788),34508=>array(64,-70,973,819),34509=>array(83,-70,896,824),34510=>array(34,-63,906,809),34511=>array(35,-16,936,814),34512=>array(54,-56,923,843),34513=>array(56,-62,963,851),34514=>array(54,-61,982,849),34515=>array(59,-54,960,840),34516=>array(51,-64,904,837),34517=>array(51,-67,961,837),34518=>array(54,-55,964,825),34519=>array(73,-70,948,859),34520=>array(46,-64,948,835),34521=>array(55,-18,954,844),34522=>array(56,-76,918,821),34523=>array(26,-72,957,829),34524=>array(52,-67,951,840),34525=>array(47,-66,965,811),34526=>array(44,-64,947,826),34527=>array(40,-65,963,821),34528=>array(52,-67,952,841),34529=>array(63,-53,930,814),34530=>array(56,-74,953,827),34531=>array(53,-62,952,827),34532=>array(38,-65,963,841),34533=>array(54,-70,935,839),34534=>array(51,-75,961,820),34535=>array(37,-66,931,820),34536=>array(51,-70,945,807),34537=>array(57,-64,946,779),34538=>array(69,-75,944,829),34539=>array(60,-72,980,841),34540=>array(39,-67,981,827),34541=>array(45,-21,947,824),34542=>array(50,-75,949,836),34543=>array(27,-32,959,833),34544=>array(46,-67,937,825),34545=>array(36,-68,931,821),34546=>array(33,-67,934,823),34547=>array(30,-66,918,821),34548=>array(36,-68,938,840),34549=>array(57,-30,953,815),34550=>array(48,-66,948,827),34551=>array(60,-70,969,822),34552=>array(57,-68,939,832),34553=>array(54,-54,900,826),34554=>array(40,-68,963,838),34555=>array(44,-76,961,820),34556=>array(40,-67,948,835),34557=>array(58,-67,961,825),34558=>array(61,-55,970,835),34559=>array(43,-67,961,834),34560=>array(68,-65,913,776),34561=>array(53,-71,967,830),34562=>array(37,-59,965,847),34563=>array(85,-76,941,788),34564=>array(52,-75,970,815),34565=>array(69,-64,954,835),34566=>array(56,-67,958,809),34567=>array(60,-65,959,835),34568=>array(39,-66,961,809),34569=>array(42,-62,950,835),34570=>array(61,-62,918,832),34571=>array(52,-71,965,855),34572=>array(61,-32,962,826),34573=>array(43,-62,963,850),34574=>array(58,-71,915,815),34575=>array(49,-74,969,818),34576=>array(29,-68,926,833),34577=>array(42,-72,967,829),34578=>array(40,-66,967,813),34579=>array(32,-68,963,811),34580=>array(63,-58,912,828),34581=>array(36,-73,954,830),34582=>array(47,-71,904,815),34583=>array(51,-66,902,815),34584=>array(59,-57,909,847),34585=>array(41,-69,970,829),34586=>array(46,-67,939,824),34587=>array(61,-75,954,813),34588=>array(74,-70,931,833),34589=>array(26,-70,971,843),34590=>array(47,-67,962,832),34591=>array(42,-75,933,845),34592=>array(74,-71,918,813),34593=>array(41,-52,951,842),34594=>array(40,-25,953,813),34595=>array(36,-61,954,845),34596=>array(56,-80,948,823),34597=>array(55,-65,952,829),34598=>array(61,-65,968,828),34599=>array(71,-77,983,823),34600=>array(32,-60,956,839),34601=>array(48,-70,890,815),34602=>array(57,-62,917,831),34603=>array(59,-49,955,809),34604=>array(59,-73,903,814),34605=>array(64,-68,908,825),34606=>array(47,-66,957,837),34607=>array(53,-65,978,838),34608=>array(45,-76,973,790),34609=>array(49,-64,957,855),34610=>array(58,-85,954,818),34611=>array(58,-71,955,834),34612=>array(65,-64,911,815),34613=>array(56,-72,902,813),34614=>array(50,-68,974,842),34615=>array(40,-33,967,831),34616=>array(79,-89,951,778),34617=>array(31,-67,946,826),34618=>array(52,-52,959,851),34619=>array(47,-65,953,839),34620=>array(64,-68,950,832),34621=>array(39,-65,947,814),34622=>array(46,-62,965,811),34623=>array(45,-66,966,830),34624=>array(40,-51,974,842),34625=>array(90,-89,944,774),34626=>array(34,-69,976,817),34627=>array(54,-77,957,814),34628=>array(50,-67,915,825),34629=>array(57,-89,971,787),34630=>array(40,-69,952,819),34631=>array(29,-30,932,806),34632=>array(37,-68,877,810),34633=>array(41,-61,945,848),34634=>array(41,-66,968,846),34635=>array(41,-64,983,813),34636=>array(48,-65,951,832),34637=>array(51,-69,915,817),34638=>array(60,-58,919,836),34639=>array(56,-68,949,832),34640=>array(46,-70,903,814),34641=>array(42,-74,964,811),34642=>array(47,-71,948,815),34643=>array(40,-63,968,829),34644=>array(50,-72,957,824),34645=>array(38,-65,961,835),34646=>array(56,-29,956,829),34647=>array(39,-37,936,834),34648=>array(33,-30,944,818),34649=>array(46,-69,932,807),34650=>array(47,-73,970,814),34651=>array(48,-69,965,828),34652=>array(59,-75,965,836),34653=>array(34,-54,959,853),34654=>array(55,-70,908,814),34655=>array(51,-65,912,815),34656=>array(48,-65,948,812),34657=>array(53,-71,968,815),34658=>array(53,-78,956,815),34659=>array(50,-67,956,837),34660=>array(61,-66,965,852),34661=>array(49,-45,964,848),34662=>array(51,-68,980,834),34663=>array(47,-74,972,823),34664=>array(31,-64,952,809),34665=>array(50,-32,955,824),34666=>array(49,-66,951,815),34667=>array(43,-69,939,825),34668=>array(55,-77,976,825),34669=>array(61,-74,986,812),34670=>array(33,-64,967,845),34671=>array(44,-76,955,825),34672=>array(29,-45,960,831),34673=>array(45,-64,975,837),34674=>array(56,-67,942,831),34675=>array(51,-74,952,829),34676=>array(40,-71,899,833),34677=>array(50,-82,961,831),34678=>array(31,-62,972,842),34679=>array(45,-73,947,833),34680=>array(50,-57,918,826),34681=>array(54,-30,968,813),34682=>array(37,-70,920,834),34683=>array(37,-62,947,837),34684=>array(37,-63,932,813),34685=>array(50,-70,951,821),34686=>array(31,-65,949,823),34687=>array(47,-42,971,806),34688=>array(78,-74,956,837),34689=>array(42,-72,973,815),34690=>array(60,-59,957,831),34691=>array(46,-64,940,849),34692=>array(43,-62,948,843),34693=>array(40,-33,959,853),34694=>array(63,-63,966,837),34695=>array(49,-53,974,853),34696=>array(47,-71,953,810),34697=>array(53,-69,971,830),34698=>array(44,-64,977,843),34699=>array(39,-69,965,836),34700=>array(41,-80,956,858),34701=>array(64,-62,967,826),34702=>array(45,-73,955,827),34703=>array(47,-71,977,834),34704=>array(53,-72,952,830),34705=>array(40,-75,979,845),34706=>array(58,-75,976,834),34707=>array(49,-67,987,836),34708=>array(47,-73,976,836),34709=>array(50,-46,973,852),34710=>array(47,-67,941,813),34711=>array(39,-65,949,848),34712=>array(39,-18,943,838),34713=>array(31,-67,977,832),34714=>array(75,-73,954,852),34715=>array(33,-73,947,845),34716=>array(73,-71,966,826),34717=>array(45,-66,977,842),34718=>array(55,-60,936,836),34719=>array(36,-66,951,833),34720=>array(36,-26,957,840),34721=>array(36,-77,957,840),34722=>array(68,-66,934,839),34723=>array(29,-68,972,835),34724=>array(56,-71,987,842),34725=>array(17,-60,970,855),34726=>array(49,-65,969,831),34727=>array(49,-71,936,832),34728=>array(29,-65,921,825),34729=>array(26,-60,966,841),34730=>array(57,-70,939,837),34731=>array(54,-60,942,850),34732=>array(46,-62,957,836),34733=>array(46,-62,951,854),34734=>array(34,-57,945,836),34735=>array(39,-72,943,836),34736=>array(44,-59,961,835),34737=>array(63,-66,934,832),34738=>array(59,-21,951,826),34739=>array(54,-17,958,842),34740=>array(82,-79,967,823),34741=>array(49,-64,955,812),34742=>array(36,-77,965,816),34743=>array(49,-82,957,847),34744=>array(46,-76,950,829),34745=>array(56,-72,956,826),34746=>array(33,-73,961,835),34747=>array(49,-67,954,836),34748=>array(61,-32,955,822),34749=>array(45,-68,977,843),34750=>array(37,-78,959,840),34751=>array(50,-83,958,836),34752=>array(36,-65,949,819),34753=>array(57,-70,957,827),34754=>array(56,-67,965,841),34755=>array(51,-73,975,818),34756=>array(55,-65,965,834),34757=>array(56,-70,966,831),34758=>array(38,-65,966,834),34759=>array(57,-87,954,835),34760=>array(51,-64,912,809),34761=>array(40,-59,969,834),34762=>array(57,-67,957,787),34763=>array(30,-34,949,828),34764=>array(52,-31,968,832),34765=>array(34,-81,958,811),34766=>array(34,-67,947,829),34767=>array(42,-80,984,825),34768=>array(54,-64,934,839),34769=>array(59,-61,967,852),34770=>array(46,-65,956,833),34771=>array(33,-64,970,841),34772=>array(44,-71,960,815),34773=>array(54,-70,940,831),34774=>array(49,-67,954,836),34775=>array(57,-80,938,834),34776=>array(49,-68,962,844),34777=>array(43,-71,958,838),34778=>array(57,-80,961,820),34779=>array(41,-64,961,832),34780=>array(50,-68,962,838),34781=>array(48,-66,959,846),34782=>array(89,-83,954,825),34783=>array(43,-68,952,835),34784=>array(33,-66,951,835),34785=>array(56,-71,920,837),34786=>array(51,-68,957,832),34787=>array(36,-66,960,833),34788=>array(34,-73,943,806),34789=>array(53,-68,965,847),34790=>array(51,-74,965,827),34791=>array(52,-68,949,833),34792=>array(53,-71,954,790),34793=>array(51,-70,982,821),34794=>array(44,-50,977,815),34795=>array(52,-66,953,813),34796=>array(56,-58,955,823),34797=>array(43,-68,945,834),34798=>array(30,-71,936,833),34799=>array(43,-66,957,832),34800=>array(31,-72,961,835),34801=>array(51,-69,961,836),34802=>array(60,-64,975,840),34803=>array(43,-75,945,818),34804=>array(49,-74,959,830),34805=>array(30,-71,948,807),34806=>array(41,-30,935,814),34807=>array(49,-64,915,829),34808=>array(36,-64,975,819),34809=>array(45,-71,948,851),34810=>array(52,-27,953,831),34811=>array(42,-73,947,850),34812=>array(49,-74,951,830),34813=>array(46,-57,950,833),34814=>array(43,-68,958,855),34815=>array(40,-56,955,843),34816=>array(51,-70,953,839),34817=>array(55,-76,941,841),34818=>array(43,-65,975,828),34819=>array(41,-68,957,849),34820=>array(37,-53,974,861),34821=>array(46,-48,957,819),34822=>array(66,-72,962,833),34823=>array(62,-66,958,832),34824=>array(52,-71,961,828),34825=>array(43,-71,969,820),34826=>array(34,-67,946,851),34827=>array(52,-66,924,817),34828=>array(42,-62,940,820),34829=>array(40,-75,977,824),34830=>array(46,-65,956,833),34831=>array(43,-61,948,847),34832=>array(41,-64,968,849),34833=>array(37,-65,965,839),34834=>array(48,-75,957,802),34835=>array(47,-60,961,835),34836=>array(50,-59,966,846),34837=>array(56,-59,943,829),34838=>array(34,-65,976,832),34839=>array(40,-66,951,806),34840=>array(34,-59,974,842),34841=>array(39,-69,965,842),34842=>array(53,-71,942,840),34843=>array(44,-64,961,839),34844=>array(38,-87,979,834),34845=>array(52,-70,929,784),34846=>array(56,-86,949,838),34847=>array(32,-60,961,848),34848=>array(53,-71,944,786),34849=>array(52,-64,957,844),34850=>array(55,-62,972,858),34851=>array(50,-65,948,818),34852=>array(67,-69,969,853),34853=>array(63,-75,944,846),34854=>array(45,-71,956,827),34855=>array(54,-67,967,844),34856=>array(42,-55,965,842),34857=>array(64,-71,964,823),34858=>array(71,-75,962,845),34859=>array(65,-77,969,831),34860=>array(40,-68,950,839),34861=>array(54,-79,967,854),34862=>array(35,-73,975,802),34863=>array(40,-70,954,844),34864=>array(30,-66,975,846),34865=>array(46,-33,957,833),34866=>array(57,-63,929,842),34867=>array(34,-78,953,806),34868=>array(55,-68,942,826),34869=>array(47,-65,949,828),34870=>array(50,-76,965,793),34871=>array(46,-64,946,807),34872=>array(36,-67,941,826),34873=>array(54,-67,967,844),34874=>array(50,-88,965,809),34875=>array(62,-77,944,830),34876=>array(48,-68,986,819),34877=>array(41,-73,966,829),34878=>array(47,-71,924,815),34879=>array(89,-73,946,847),34880=>array(55,-11,954,806),34881=>array(59,-14,955,846),34882=>array(34,-60,971,811),34883=>array(43,-70,968,833),34884=>array(20,-15,947,834),34885=>array(25,-45,949,853),34886=>array(49,-64,958,836),34887=>array(37,-68,971,836),34888=>array(40,-69,955,832),34889=>array(34,-61,982,849),34890=>array(31,-68,957,830),34891=>array(63,-57,941,842),34892=>array(51,-62,941,845),34893=>array(41,-68,954,827),34894=>array(53,-67,960,829),34895=>array(50,-68,948,829),34896=>array(53,-66,960,829),34897=>array(53,-66,960,829),34898=>array(47,-65,954,835),34899=>array(39,-73,951,824),34900=>array(29,-68,923,828),34901=>array(46,-65,952,833),34902=>array(49,-69,960,833),34903=>array(41,-72,951,831),34904=>array(24,-66,960,853),34905=>array(40,-65,959,831),34906=>array(46,-70,953,825),34907=>array(37,-65,955,839),34908=>array(34,-66,960,816),34909=>array(38,-68,953,835),34910=>array(35,-70,943,831),34911=>array(39,-66,954,841),34912=>array(24,-72,936,839),34913=>array(33,-69,945,835),34914=>array(37,-65,956,837),34915=>array(38,-68,944,826),34916=>array(266,-66,677,819),34917=>array(40,-69,954,843),34918=>array(41,-50,963,842),34919=>array(41,-67,958,844),34920=>array(52,-75,953,835),34921=>array(34,-67,971,843),34922=>array(35,-64,954,843),34923=>array(42,-68,957,830),34924=>array(32,-60,917,839),34925=>array(35,-61,973,841),34926=>array(54,-73,963,845),34927=>array(45,-74,973,845),34928=>array(37,-70,960,832),34929=>array(50,-76,963,844),34930=>array(23,-69,879,803),34931=>array(33,-65,955,831),34932=>array(54,-75,964,842),34933=>array(46,-53,909,805),34934=>array(62,-67,932,844),34935=>array(42,-73,960,829),34936=>array(50,-63,946,837),34937=>array(50,-67,956,838),34938=>array(47,-68,960,850),34939=>array(61,-67,966,838),34940=>array(50,-70,976,850),34941=>array(39,-67,946,810),34942=>array(37,-62,955,858),34943=>array(36,-65,970,848),34944=>array(60,-71,930,838),34945=>array(67,-62,967,833),34946=>array(32,-66,964,832),34947=>array(30,-73,984,823),34948=>array(16,-76,940,837),34949=>array(49,-59,950,829),34950=>array(48,-67,906,842),34951=>array(48,-78,956,842),34952=>array(48,-67,959,831),34953=>array(48,-67,957,842),34954=>array(48,-77,949,842),34955=>array(44,-69,962,837),34956=>array(44,-69,956,851),34957=>array(42,-67,960,839),34958=>array(37,-75,914,845),34959=>array(44,-60,964,845),34960=>array(29,-62,970,845),34961=>array(50,-72,894,840),34962=>array(47,-65,951,828),34963=>array(45,-68,956,844),34964=>array(48,-67,953,842),34965=>array(51,-74,966,841),34966=>array(46,-68,899,827),34967=>array(39,-52,972,853),34968=>array(47,-65,957,843),34969=>array(47,-72,892,848),34970=>array(31,-62,967,847),34971=>array(39,-58,960,850),34972=>array(28,-56,970,847),34973=>array(39,-70,941,848),34974=>array(52,-58,961,840),34975=>array(47,-80,966,838),34976=>array(50,-67,961,846),34977=>array(52,-68,954,841),34978=>array(43,-65,954,838),34979=>array(54,-61,964,848),34980=>array(47,-62,960,845),34981=>array(54,-62,948,848),34982=>array(54,-65,916,848),34983=>array(54,-71,914,848),34984=>array(52,-62,947,844),34985=>array(54,-66,951,848),34986=>array(46,-65,955,842),34987=>array(36,-69,962,838),34988=>array(44,-68,964,849),34989=>array(29,-63,942,840),34990=>array(54,-61,944,856),34991=>array(54,-74,945,848),34992=>array(61,-67,945,811),34993=>array(33,-74,971,834),34994=>array(51,-79,960,854),34995=>array(41,-70,935,848),34996=>array(36,-63,982,842),34997=>array(46,-55,954,833),34998=>array(38,-67,972,844),34999=>array(36,-63,966,850),35000=>array(44,-70,954,836),35001=>array(41,-70,951,842),35002=>array(42,-72,950,844),35003=>array(33,-70,954,842),35004=>array(50,-71,977,841),35005=>array(47,-55,904,852),35006=>array(28,-55,965,844),35007=>array(41,-65,959,838),35008=>array(36,-57,916,842),35009=>array(42,-66,957,840),35010=>array(44,-73,955,828),35011=>array(41,-65,913,835),35012=>array(41,-67,964,840),35013=>array(45,-68,959,830),35014=>array(28,-66,864,822),35015=>array(46,-53,972,855),35016=>array(41,-65,948,842),35017=>array(39,-71,966,842),35018=>array(46,-64,958,852),35019=>array(37,-67,964,834),35020=>array(37,-72,966,846),35021=>array(38,-65,908,842),35022=>array(48,-65,956,847),35023=>array(43,-75,955,840),35024=>array(28,-68,915,842),35025=>array(41,-65,950,842),35026=>array(55,-61,967,850),35027=>array(41,-65,957,842),35028=>array(35,-67,942,845),35029=>array(44,-69,969,833),35030=>array(30,-71,980,840),35031=>array(37,-73,960,840),35032=>array(51,-55,963,832),35033=>array(42,-74,948,823),35034=>array(40,-74,969,830),35035=>array(46,-70,969,838),35036=>array(32,-63,946,834),35037=>array(57,-60,957,832),35038=>array(35,-65,959,841),35039=>array(33,-67,948,833),35040=>array(33,-82,948,786),35041=>array(41,-64,954,821),35042=>array(20,-69,935,815),35043=>array(23,-68,956,832),35044=>array(29,-60,931,840),35045=>array(24,-68,886,822),35046=>array(36,-79,957,841),35047=>array(45,-76,966,840),35048=>array(31,-68,941,849),35049=>array(31,-68,949,842),35050=>array(41,-66,917,842),35051=>array(47,-71,903,842),35052=>array(49,-72,973,839),35053=>array(31,-68,949,842),35054=>array(54,-70,905,840),35055=>array(36,-65,906,844),35056=>array(36,-67,971,838),35057=>array(34,-65,975,843),35058=>array(46,-71,948,823),35059=>array(45,-68,956,836),35060=>array(35,-63,958,830),35061=>array(47,-74,948,832),35062=>array(45,-70,955,840),35063=>array(47,-65,973,838),35064=>array(40,-71,973,822),35065=>array(68,-59,967,842),35066=>array(41,-70,966,837),35067=>array(41,-75,956,824),35068=>array(53,-64,928,823),35069=>array(28,-79,972,842),35070=>array(35,-68,957,825),35071=>array(53,-64,954,845),35072=>array(42,-72,963,843),35073=>array(42,-69,960,785),35074=>array(34,-66,968,833),35075=>array(34,-70,930,837),35076=>array(34,-66,938,835),35077=>array(51,-72,957,839),35078=>array(41,-73,968,837),35079=>array(36,-67,962,845),35080=>array(40,-63,956,840),35081=>array(43,-75,972,835),35082=>array(38,-70,906,823),35083=>array(53,-68,975,841),35084=>array(36,-65,952,823),35085=>array(34,-67,956,837),35086=>array(38,-73,976,847),35087=>array(38,-56,957,855),35088=>array(36,-63,924,834),35089=>array(50,-75,977,838),35090=>array(56,-73,972,842),35091=>array(32,-65,964,836),35092=>array(47,-71,952,842),35093=>array(45,-66,965,840),35094=>array(54,-70,978,837),35095=>array(44,-64,946,840),35096=>array(34,-58,954,838),35097=>array(30,-64,965,837),35098=>array(46,-64,959,841),35099=>array(23,-62,929,821),35100=>array(31,-80,971,836),35101=>array(38,-73,940,833),35102=>array(35,-68,968,820),35103=>array(39,-70,915,842),35104=>array(23,-65,954,829),35105=>array(45,-61,956,838),35106=>array(37,-75,978,839),35107=>array(48,-72,987,836),35108=>array(23,-60,977,833),35109=>array(42,-70,953,820),35110=>array(32,-55,970,855),35111=>array(24,-54,972,846),35112=>array(35,-57,933,847),35113=>array(31,-76,970,843),35114=>array(26,-73,967,820),35115=>array(19,-70,951,838),35116=>array(53,-70,993,835),35117=>array(47,-79,964,856),35118=>array(39,-71,976,833),35119=>array(41,-72,945,841),35120=>array(36,-65,974,846),35121=>array(51,-75,974,846),35122=>array(30,-69,947,845),35123=>array(30,-65,965,837),35124=>array(12,-68,918,821),35125=>array(31,-55,947,855),35126=>array(34,-65,910,817),35127=>array(42,-75,973,833),35128=>array(36,-66,945,842),35129=>array(23,-70,971,823),35130=>array(56,-68,972,840),35131=>array(54,-60,955,843),35132=>array(42,-70,971,833),35133=>array(56,-72,972,832),35134=>array(45,-67,957,850),35135=>array(23,-69,942,828),35136=>array(41,-74,947,833),35137=>array(17,-68,965,819),35138=>array(31,-59,973,853),35139=>array(56,-56,949,840),35140=>array(49,-58,955,843),35141=>array(32,-68,948,833),35142=>array(40,-67,972,844),35143=>array(51,-67,924,842),35144=>array(23,-69,955,821),35145=>array(39,-64,911,837),35146=>array(23,-66,962,821),35147=>array(33,-67,973,837),35148=>array(39,-63,950,817),35149=>array(36,-68,966,832),35150=>array(23,-67,964,833),35151=>array(40,-72,963,839),35152=>array(46,-66,958,838),35153=>array(42,-67,952,843),35154=>array(41,-76,970,831),35155=>array(30,-70,954,832),35156=>array(23,-67,951,831),35157=>array(26,-59,937,831),35158=>array(35,-66,971,846),35159=>array(51,-68,956,835),35160=>array(43,-67,969,837),35161=>array(46,-67,972,838),35162=>array(44,-66,980,845),35163=>array(40,-64,978,844),35164=>array(31,-68,954,846),35165=>array(26,-64,983,858),35166=>array(47,-53,974,835),35167=>array(36,-66,971,834),35168=>array(43,-65,928,835),35169=>array(52,-67,924,835),35170=>array(27,-55,947,856),35171=>array(44,-66,964,846),35172=>array(35,-68,952,836),35173=>array(20,-104,957,841),35174=>array(35,-64,959,836),35175=>array(39,-64,973,843),35176=>array(23,-66,969,825),35177=>array(43,-82,960,839),35178=>array(31,-65,958,829),35179=>array(41,-74,971,835),35180=>array(28,-55,958,845),35181=>array(36,-81,966,831),35182=>array(36,-73,994,831),35183=>array(33,-76,966,826),35184=>array(23,-72,977,846),35185=>array(39,-70,964,840),35186=>array(51,-65,948,841),35187=>array(27,-70,974,831),35188=>array(29,-62,912,826),35189=>array(29,-76,955,843),35190=>array(22,-65,973,835),35191=>array(34,-65,969,825),35192=>array(31,-66,978,831),35193=>array(31,-66,980,831),35194=>array(34,-62,948,834),35195=>array(31,-59,968,849),35196=>array(29,-60,967,841),35197=>array(29,-64,942,841),35198=>array(71,-63,945,782),35199=>array(73,-53,929,772),35200=>array(85,374,935,781),35201=>array(52,-69,935,781),35202=>array(74,-70,971,782),35203=>array(59,-63,955,788),35204=>array(64,-70,938,788),35205=>array(53,-66,930,836),35206=>array(55,-69,963,818),35207=>array(63,-70,937,818),35208=>array(48,-73,967,802),35209=>array(60,-68,950,804),35210=>array(54,-53,934,811),35211=>array(58,-74,944,783),35212=>array(18,-65,948,784),35213=>array(64,-60,935,830),35214=>array(52,-39,956,787),35215=>array(43,-59,954,812),35216=>array(38,-56,957,818),35217=>array(42,-58,956,836),35218=>array(51,-62,956,822),35219=>array(51,-71,960,837),35220=>array(64,-65,944,791),35221=>array(42,-64,956,828),35222=>array(39,-63,959,834),35223=>array(58,-69,953,780),35224=>array(96,-62,938,829),35225=>array(51,-62,946,848),35226=>array(37,-65,908,816),35227=>array(36,-70,966,828),35228=>array(36,-70,954,826),35229=>array(50,-72,962,780),35230=>array(37,-70,961,773),35231=>array(45,-71,962,824),35232=>array(32,-62,971,796),35233=>array(38,-71,967,774),35234=>array(49,-71,968,829),35235=>array(41,-71,966,824),35236=>array(36,-70,969,835),35237=>array(33,-60,971,836),35238=>array(32,-72,971,827),35239=>array(47,-63,960,838),35240=>array(71,-59,963,789),35241=>array(31,-69,963,825),35242=>array(46,-70,957,826),35243=>array(17,-79,957,825),35244=>array(39,-79,950,835),35245=>array(52,-61,965,785),35246=>array(66,-70,937,824),35247=>array(62,-74,977,829),35248=>array(32,-74,978,835),35249=>array(64,-58,939,828),35250=>array(52,-68,974,835),35251=>array(39,-60,970,841),35252=>array(29,-75,972,828),35253=>array(104,-74,975,791),35254=>array(50,-70,962,837),35255=>array(32,-71,966,835),35256=>array(104,-74,975,791),35257=>array(33,-66,963,832),35258=>array(64,-65,935,840),35259=>array(22,-76,987,835),35260=>array(18,-76,966,789),35261=>array(47,-63,960,840),35262=>array(37,-74,967,834),35263=>array(44,-75,967,835),35264=>array(35,-70,960,827),35265=>array(24,-56,921,784),35266=>array(18,-61,932,792),35267=>array(25,-55,971,792),35268=>array(26,-56,932,826),35269=>array(29,-51,934,827),35270=>array(31,-72,937,818),35271=>array(98,-67,941,813),35272=>array(39,-59,913,838),35273=>array(28,-60,920,816),35274=>array(70,-78,938,810),35275=>array(22,-69,936,771),35276=>array(43,-73,931,819),35277=>array(37,-85,973,836),35278=>array(32,-81,938,822),35279=>array(52,-72,933,818),35280=>array(29,-64,936,819),35281=>array(25,-75,942,817),35282=>array(69,-60,863,849),35283=>array(45,-70,886,842),35284=>array(60,-57,924,849),35285=>array(59,-56,911,851),35286=>array(40,-67,979,847),35287=>array(38,-62,975,838),35288=>array(24,-68,959,845),35289=>array(41,-79,963,852),35290=>array(33,-67,975,842),35291=>array(52,-68,954,841),35292=>array(28,-68,937,835),35293=>array(33,-56,962,857),35294=>array(18,-65,913,834),35295=>array(25,-67,955,828),35296=>array(42,-59,972,836),35297=>array(33,-70,989,831),35298=>array(40,-61,900,830),35299=>array(52,-67,949,834),35300=>array(28,-87,963,828),35301=>array(38,-71,969,836),35302=>array(36,-71,962,834),35303=>array(46,-66,934,843),35304=>array(32,-73,966,824),35305=>array(38,-71,967,828),35306=>array(46,-66,938,850),35307=>array(42,-68,974,839),35308=>array(34,-74,960,825),35309=>array(44,-71,955,841),35310=>array(54,-67,962,842),35311=>array(19,-67,922,834),35312=>array(44,-70,951,836),35313=>array(38,-69,965,842),35314=>array(29,-70,954,831),35315=>array(38,-67,981,829),35316=>array(41,-67,962,848),35317=>array(46,-70,935,842),35318=>array(44,-78,967,829),35319=>array(60,-65,930,830),35320=>array(63,-74,926,833),35321=>array(29,-71,960,841),35322=>array(54,-64,965,831),35323=>array(38,-70,975,835),35324=>array(38,-73,975,841),35325=>array(44,-71,959,841),35326=>array(33,-64,973,836),35327=>array(44,-52,955,850),35328=>array(84,-64,916,819),35329=>array(261,-47,747,842),35330=>array(60,-61,955,817),35331=>array(60,-65,951,829),35332=>array(33,-66,966,836),35333=>array(60,-58,967,842),35334=>array(69,-67,876,842),35335=>array(77,-61,909,840),35336=>array(51,-64,954,835),35337=>array(60,-45,948,847),35338=>array(60,-62,959,817),35339=>array(60,-55,914,847),35340=>array(65,-47,948,790),35341=>array(65,-50,946,844),35342=>array(60,-69,949,830),35343=>array(68,-68,964,834),35344=>array(65,-64,955,792),35345=>array(46,-34,963,853),35346=>array(63,-53,904,817),35347=>array(60,-68,902,829),35348=>array(85,-64,928,824),35349=>array(79,-56,912,846),35350=>array(60,-55,960,835),35351=>array(60,-61,957,834),35352=>array(60,-61,957,823),35353=>array(64,-56,964,848),35354=>array(116,-57,874,823),35355=>array(58,-62,954,840),35356=>array(60,-44,968,843),35357=>array(60,-62,948,793),35358=>array(63,-73,976,839),35359=>array(59,-58,964,815),35360=>array(60,-61,899,843),35361=>array(60,-66,963,843),35362=>array(63,-73,960,831),35363=>array(62,-69,955,829),35364=>array(60,-65,934,846),35365=>array(71,-71,907,796),35366=>array(60,-50,950,843),35367=>array(66,-69,963,841),35368=>array(60,-44,954,843),35369=>array(76,-58,930,840),35370=>array(60,-62,945,824),35371=>array(60,-44,960,843),35372=>array(72,-77,972,836),35373=>array(60,-63,975,817),35374=>array(60,-65,952,843),35375=>array(60,-69,982,843),35376=>array(65,-41,957,842),35377=>array(60,-64,949,837),35378=>array(60,-66,891,852),35379=>array(60,-62,964,817),35380=>array(56,-67,956,837),35381=>array(60,-46,917,843),35382=>array(59,-62,961,793),35383=>array(60,-62,901,838),35384=>array(60,-71,948,843),35385=>array(62,-68,951,844),35386=>array(56,-72,965,844),35387=>array(60,-61,947,829),35388=>array(53,-57,950,817),35389=>array(60,-52,921,846),35390=>array(64,-67,958,827),35391=>array(57,-44,964,839),35392=>array(59,-55,951,844),35393=>array(60,-65,953,826),35394=>array(60,-66,964,843),35395=>array(60,-65,982,843),35396=>array(57,-74,966,845),35397=>array(56,-76,976,839),35398=>array(56,-60,961,835),35399=>array(60,-58,978,843),35400=>array(74,-65,942,820),35401=>array(51,-71,977,843),35402=>array(63,-70,952,837),35403=>array(60,-44,957,843),35404=>array(58,-70,948,836),35405=>array(58,-47,947,844),35406=>array(62,-48,954,843),35407=>array(59,-73,911,848),35408=>array(60,-61,951,841),35409=>array(60,-61,952,824),35410=>array(60,-63,952,830),35411=>array(60,-51,963,843),35412=>array(60,-62,905,817),35413=>array(53,-65,956,817),35414=>array(51,-74,972,834),35415=>array(56,-61,903,841),35416=>array(78,-67,920,833),35417=>array(65,-76,965,843),35418=>array(60,-44,963,843),35419=>array(60,-50,964,793),35420=>array(42,-64,971,837),35421=>array(60,-62,925,843),35422=>array(60,-64,909,817),35423=>array(35,-69,972,846),35424=>array(52,-63,965,844),35425=>array(77,-52,914,841),35426=>array(62,-60,910,836),35427=>array(60,-63,958,831),35428=>array(54,-66,966,832),35429=>array(51,-65,977,853),35430=>array(60,-61,963,829),35431=>array(51,-60,957,839),35432=>array(52,-74,971,831),35433=>array(60,-61,954,838),35434=>array(60,-64,964,844),35435=>array(53,-57,961,829),35436=>array(69,-78,951,818),35437=>array(62,-61,954,846),35438=>array(49,-55,955,830),35439=>array(60,-70,899,843),35440=>array(50,-58,945,829),35441=>array(53,-64,958,834),35442=>array(53,-63,954,824),35443=>array(60,-65,954,843),35444=>array(58,-68,951,840),35445=>array(55,-73,963,826),35446=>array(57,-71,905,848),35447=>array(60,-65,904,837),35448=>array(61,-67,974,849),35449=>array(45,-76,914,842),35450=>array(61,-72,914,841),35451=>array(57,-67,966,836),35452=>array(52,-57,954,833),35453=>array(61,-69,956,840),35454=>array(47,-62,925,842),35455=>array(63,-55,954,831),35456=>array(53,-65,946,842),35457=>array(57,-69,951,838),35458=>array(57,-67,957,830),35459=>array(62,-65,916,840),35460=>array(59,-68,981,830),35461=>array(58,-65,977,836),35462=>array(62,-53,957,838),35463=>array(60,-62,978,843),35464=>array(61,-52,957,849),35465=>array(42,-67,958,842),35466=>array(30,-60,954,832),35467=>array(51,-70,967,832),35468=>array(53,-59,964,820),35469=>array(53,-48,964,813),35470=>array(61,-65,976,849),35471=>array(60,-73,982,841),35472=>array(61,-59,970,849),35473=>array(63,-53,957,817),35474=>array(57,-74,986,839),35475=>array(64,-71,936,839),35476=>array(64,-67,967,840),35477=>array(58,-66,963,819),35478=>array(62,-50,956,846),35479=>array(61,-65,936,849),35480=>array(53,-69,975,828),35481=>array(65,-68,961,843),35482=>array(67,-70,926,835),35483=>array(61,-61,970,849),35484=>array(61,-67,968,849),35485=>array(61,-71,972,849),35486=>array(49,-68,949,815),35487=>array(61,-68,957,849),35488=>array(52,-70,961,833),35489=>array(58,-63,964,837),35490=>array(61,-52,958,849),35491=>array(59,-48,954,797),35492=>array(59,-62,944,815),35493=>array(50,-65,945,831),35494=>array(60,-64,895,793),35495=>array(59,-66,953,826),35496=>array(62,-68,954,845),35497=>array(61,-56,948,851),35498=>array(57,-71,964,816),35499=>array(59,-68,967,842),35500=>array(59,-57,956,848),35501=>array(53,-57,966,829),35502=>array(61,-66,964,849),35503=>array(61,-62,932,849),35504=>array(54,-70,952,837),35505=>array(61,-72,962,849),35506=>array(56,-61,970,817),35507=>array(61,-77,932,849),35508=>array(61,-63,977,850),35509=>array(61,-64,968,855),35510=>array(69,-68,974,842),35511=>array(61,-67,939,849),35512=>array(60,-63,955,837),35513=>array(53,-68,954,829),35514=>array(59,-68,977,836),35515=>array(59,-69,967,834),35516=>array(53,-57,958,827),35517=>array(60,-61,965,837),35518=>array(119,-68,903,804),35519=>array(53,-62,915,817),35520=>array(54,-68,950,843),35521=>array(61,-62,963,843),35522=>array(58,-68,897,838),35523=>array(57,-70,970,832),35524=>array(56,-62,959,835),35525=>array(50,-71,963,831),35526=>array(55,-80,952,833),35527=>array(63,-67,962,841),35528=>array(54,-47,963,843),35529=>array(62,-65,958,843),35530=>array(61,-66,937,849),35531=>array(53,-65,956,835),35532=>array(53,-64,974,835),35533=>array(56,-61,956,836),35534=>array(61,-64,960,849),35535=>array(51,-68,969,817),35536=>array(26,-58,946,836),35537=>array(56,-64,978,833),35538=>array(53,-60,960,830),35539=>array(63,-62,959,840),35540=>array(60,-69,975,838),35541=>array(60,-70,959,833),35542=>array(55,-63,973,849),35543=>array(63,-55,986,843),35544=>array(63,-73,980,839),35545=>array(58,-70,963,834),35546=>array(61,-53,983,824),35547=>array(53,-74,975,832),35548=>array(53,-64,971,830),35549=>array(59,-68,973,839),35550=>array(71,-72,928,794),35551=>array(55,-60,967,814),35552=>array(50,-42,947,837),35553=>array(54,-37,973,816),35554=>array(49,-67,954,793),35555=>array(49,-67,914,840),35556=>array(55,-59,951,793),35557=>array(55,-44,947,842),35558=>array(51,-67,946,826),35559=>array(56,-65,951,832),35560=>array(54,-67,927,840),35561=>array(55,-43,936,845),35562=>array(54,-73,949,833),35563=>array(48,-67,964,833),35564=>array(29,-69,953,852),35565=>array(48,-68,970,852),35566=>array(53,-64,965,845),35567=>array(61,-61,955,838),35568=>array(56,-48,971,833),35569=>array(58,-62,951,842),35570=>array(68,-45,959,836),35571=>array(57,-64,947,844),35572=>array(42,-60,945,837),35573=>array(55,-56,953,846),35574=>array(65,-82,957,818),35575=>array(51,-69,964,797),35576=>array(59,-66,948,835),35577=>array(59,-48,947,842),35578=>array(54,-71,952,830),35579=>array(59,-43,953,844),35580=>array(68,-70,981,839),35581=>array(59,-68,947,842),35582=>array(53,-65,949,836),35583=>array(53,-69,950,835),35584=>array(53,-69,969,829),35585=>array(62,-60,926,816),35586=>array(60,-64,911,823),35587=>array(63,-42,959,842),35588=>array(40,-72,967,840),35589=>array(58,-63,914,841),35590=>array(56,-61,919,872),35591=>array(31,-65,970,843),35592=>array(35,-67,969,793),35593=>array(64,-56,984,851),35594=>array(56,-63,961,840),35595=>array(75,-71,987,834),35596=>array(69,-60,954,804),35597=>array(108,-71,902,823),35598=>array(79,-70,956,836),35599=>array(60,-60,958,843),35600=>array(66,-55,968,827),35601=>array(57,-74,957,842),35602=>array(61,-68,963,838),35603=>array(60,-73,960,842),35604=>array(62,-68,954,833),35605=>array(57,-72,959,836),35606=>array(50,-66,968,793),35607=>array(59,-69,951,816),35608=>array(57,-71,952,838),35609=>array(64,-64,978,843),35610=>array(54,-57,961,804),35611=>array(55,-65,952,826),35612=>array(57,-66,962,845),35613=>array(53,-66,951,844),35614=>array(59,-68,930,832),35615=>array(51,-57,926,848),35616=>array(59,-58,957,842),35617=>array(53,-64,952,829),35618=>array(62,-73,972,841),35619=>array(58,-68,953,837),35620=>array(59,-69,955,833),35621=>array(56,-53,968,831),35622=>array(45,-66,958,845),35623=>array(59,-66,954,838),35624=>array(63,-68,984,823),35625=>array(33,-72,976,841),35626=>array(62,-67,956,838),35627=>array(55,-70,951,838),35628=>array(60,-72,947,795),35629=>array(55,-73,947,838),35630=>array(52,-77,958,842),35631=>array(42,-49,945,849),35632=>array(61,-71,964,835),35633=>array(53,-75,948,842),35634=>array(53,-73,970,848),35635=>array(60,-85,957,793),35636=>array(60,-68,951,847),35637=>array(81,-68,922,835),35638=>array(45,-61,960,837),35639=>array(63,-60,964,839),35640=>array(66,-79,974,834),35641=>array(60,-50,953,830),35642=>array(69,-81,958,837),35643=>array(71,-72,938,836),35644=>array(56,-78,946,833),35645=>array(79,-68,940,841),35646=>array(68,-60,983,813),35647=>array(60,-75,942,847),35648=>array(56,-70,968,842),35649=>array(54,-64,954,834),35650=>array(68,-68,956,840),35651=>array(60,-48,961,847),35652=>array(60,-63,918,847),35653=>array(54,-44,946,839),35654=>array(34,-70,943,825),35655=>array(60,-66,972,841),35656=>array(54,-74,972,841),35657=>array(59,-53,956,830),35658=>array(56,-69,950,839),35659=>array(75,-60,922,846),35660=>array(51,-79,968,852),35661=>array(42,-71,944,851),35662=>array(62,-64,941,798),35663=>array(57,-67,972,833),35664=>array(56,-65,954,845),35665=>array(60,-62,965,844),35666=>array(50,-57,970,848),35667=>array(73,-46,977,827),35668=>array(48,-58,951,846),35669=>array(58,-67,955,844),35670=>array(55,-67,960,824),35671=>array(66,-59,959,841),35672=>array(51,-68,959,833),35673=>array(60,-71,971,835),35674=>array(49,-67,954,813),35675=>array(60,-49,966,838),35676=>array(53,-61,952,843),35677=>array(52,-50,966,840),35678=>array(60,-66,976,847),35679=>array(53,-50,969,800),35680=>array(63,-55,960,837),35681=>array(60,-65,945,847),35682=>array(60,-63,978,847),35683=>array(42,-70,970,847),35684=>array(60,-66,985,847),35685=>array(40,-67,979,845),35686=>array(55,-77,944,824),35687=>array(48,-66,967,838),35688=>array(57,-73,977,839),35689=>array(63,-48,966,844),35690=>array(57,-68,948,834),35691=>array(64,-76,962,839),35692=>array(66,-60,961,830),35693=>array(51,-59,973,846),35694=>array(60,-68,985,848),35695=>array(53,-64,939,795),35696=>array(54,-63,962,850),35697=>array(36,-86,955,843),35698=>array(52,-79,973,837),35699=>array(60,-59,953,847),35700=>array(60,-63,967,836),35701=>array(63,-68,959,847),35702=>array(36,-66,955,847),35703=>array(53,-59,971,837),35704=>array(63,-61,964,840),35705=>array(53,-68,977,836),35706=>array(54,-74,967,831),35707=>array(83,-63,936,790),35708=>array(83,-74,936,841),35709=>array(31,-64,971,832),35710=>array(60,-55,956,858),35711=>array(57,-46,965,823),35712=>array(59,-71,961,835),35713=>array(39,-60,961,847),35714=>array(61,-71,959,835),35715=>array(51,-69,959,836),35716=>array(76,-63,920,840),35717=>array(55,-69,973,840),35718=>array(40,-71,955,839),35719=>array(60,-60,923,847),35720=>array(55,-70,971,828),35721=>array(61,-61,953,842),35722=>array(50,-70,960,840),35723=>array(66,-48,953,860),35724=>array(52,-66,968,838),35725=>array(60,-48,938,847),35726=>array(23,-62,952,845),35727=>array(40,-71,955,854),35728=>array(41,-71,944,842),35729=>array(60,-52,969,847),35730=>array(52,-65,961,842),35731=>array(59,-66,957,845),35732=>array(49,-63,967,842),35733=>array(62,-62,900,839),35734=>array(58,-59,960,834),35735=>array(60,-67,951,839),35736=>array(58,-67,960,831),35737=>array(53,-52,949,842),35738=>array(56,-60,959,851),35739=>array(74,-60,957,847),35740=>array(59,-79,967,833),35741=>array(62,-67,956,847),35742=>array(53,-70,968,835),35743=>array(55,-61,949,840),35744=>array(308,-19,665,809),35745=>array(74,-66,937,840),35746=>array(69,-65,926,826),35747=>array(62,-67,953,840),35748=>array(72,-62,958,826),35749=>array(59,-58,960,812),35750=>array(52,-66,922,810),35751=>array(49,13,913,814),35752=>array(75,-70,932,828),35753=>array(66,-22,929,818),35754=>array(50,-58,878,826),35755=>array(70,-29,943,838),35756=>array(68,-30,944,836),35757=>array(65,-74,889,826),35758=>array(49,-71,968,806),35759=>array(68,-57,958,826),35760=>array(80,-28,946,834),35761=>array(61,-60,890,836),35762=>array(56,-68,916,829),35763=>array(49,-58,916,830),35764=>array(61,-11,933,807),35765=>array(47,-25,917,820),35766=>array(49,-64,914,808),35767=>array(62,-61,901,829),35768=>array(64,-65,936,836),35769=>array(62,-64,930,836),35770=>array(52,-30,964,828),35771=>array(50,-65,906,832),35772=>array(56,-59,936,784),35773=>array(54,-61,975,811),35774=>array(54,-54,946,804),35775=>array(71,-71,931,847),35776=>array(74,-71,931,835),35777=>array(59,-22,938,797),35778=>array(67,-66,936,823),35779=>array(67,-64,944,826),35780=>array(78,-67,942,836),35781=>array(53,-29,927,790),35782=>array(49,-54,951,811),35783=>array(58,-60,909,836),35784=>array(69,-69,931,839),35785=>array(69,-69,946,834),35786=>array(69,-74,960,846),35787=>array(62,-64,938,830),35788=>array(66,-54,873,820),35789=>array(51,-61,888,826),35790=>array(56,-69,892,826),35791=>array(49,-56,888,823),35792=>array(43,-71,970,832),35793=>array(63,-60,954,817),35794=>array(63,-60,940,837),35795=>array(58,-26,938,826),35796=>array(56,-71,957,828),35797=>array(57,-61,944,825),35798=>array(63,-27,925,820),35799=>array(41,-62,944,834),35800=>array(67,-66,928,826),35801=>array(56,-59,958,826),35802=>array(47,-57,956,835),35803=>array(57,-68,938,830),35804=>array(43,-75,947,823),35805=>array(72,-65,941,830),35806=>array(62,-66,951,815),35807=>array(53,-79,920,816),35808=>array(62,-19,942,836),35809=>array(71,-63,937,844),35810=>array(61,-62,903,834),35811=>array(57,-69,937,828),35812=>array(68,-58,932,835),35813=>array(69,-79,949,838),35814=>array(59,-67,913,842),35815=>array(61,-25,932,852),35816=>array(60,-58,947,812),35817=>array(54,-54,885,818),35818=>array(76,-57,952,836),35819=>array(76,-65,942,840),35820=>array(54,-16,950,805),35821=>array(53,-70,936,795),35822=>array(57,-74,913,831),35823=>array(61,-69,956,794),35824=>array(57,-66,918,828),35825=>array(70,-69,941,825),35826=>array(72,-60,937,843),35827=>array(49,-54,947,827),35828=>array(66,-68,953,838),35829=>array(56,-65,879,798),35830=>array(56,-71,957,837),35831=>array(61,-66,930,831),35832=>array(68,-67,932,831),35833=>array(48,-70,955,799),35834=>array(54,-66,912,805),35835=>array(56,-69,940,835),35836=>array(61,-57,954,811),35837=>array(59,-64,942,836),35838=>array(56,-66,954,834),35839=>array(56,-65,925,833),35840=>array(56,-77,947,828),35841=>array(50,-72,927,834),35842=>array(50,-51,942,836),35843=>array(72,-85,897,810),35844=>array(67,-67,880,835),35845=>array(69,-70,935,838),35846=>array(69,-64,920,848),35847=>array(57,-71,923,842),35848=>array(55,-71,919,837),35849=>array(55,-66,931,838),35850=>array(55,-25,931,846),35851=>array(72,-67,953,832),35852=>array(60,-51,933,817),35853=>array(61,-66,948,829),35854=>array(53,-65,956,828),35855=>array(56,-69,961,831),35856=>array(57,-67,948,829),35857=>array(53,-70,945,831),35858=>array(74,-62,898,809),35859=>array(62,-66,900,836),35860=>array(55,-62,921,816),35861=>array(58,-72,954,847),35862=>array(60,-72,936,819),35863=>array(49,-65,961,834),35864=>array(54,-66,940,842),35865=>array(68,-66,930,834),35866=>array(60,-64,920,842),35867=>array(65,-69,921,839),35868=>array(59,-55,940,818),35869=>array(50,-74,888,836),35870=>array(78,-51,946,805),35871=>array(54,-65,943,820),35872=>array(60,-69,953,835),35873=>array(75,-65,942,800),35874=>array(53,-66,936,841),35875=>array(63,-74,924,807),35876=>array(74,-71,928,842),35877=>array(59,-35,936,828),35878=>array(63,-66,956,841),35879=>array(60,-36,948,825),35880=>array(54,-35,930,820),35881=>array(57,-61,948,786),35882=>array(58,-68,924,839),35883=>array(51,-79,947,838),35884=>array(58,-74,958,810),35885=>array(55,-70,939,793),35886=>array(57,-67,956,811),35887=>array(64,-75,938,828),35888=>array(46,-65,909,825),35889=>array(60,-62,941,844),35890=>array(59,-66,918,786),35891=>array(48,-75,971,825),35892=>array(47,-61,956,809),35893=>array(54,-78,941,836),35894=>array(56,-67,955,831),35895=>array(34,-53,967,839),35896=>array(59,-64,966,833),35897=>array(42,-58,952,836),35898=>array(37,-62,948,813),35899=>array(49,-68,960,813),35900=>array(32,-73,958,820),35901=>array(57,-69,957,837),35902=>array(34,-48,957,835),35903=>array(38,-66,982,837),35904=>array(35,-64,968,841),35905=>array(54,-63,961,836),35906=>array(45,-72,964,797),35907=>array(37,-71,976,834),35908=>array(37,-66,991,841),35909=>array(29,-70,983,834),35910=>array(100,-14,929,778),35911=>array(62,-17,951,770),35912=>array(62,-12,931,835),35913=>array(53,-68,973,835),35914=>array(57,-32,951,824),35915=>array(41,-26,962,842),35916=>array(51,-69,958,831),35917=>array(52,-73,950,838),35918=>array(48,-18,957,796),35919=>array(54,-67,966,832),35920=>array(70,-25,924,832),35921=>array(28,-67,965,836),35922=>array(34,-67,965,836),35923=>array(45,-46,974,829),35924=>array(45,-47,963,829),35925=>array(70,-49,949,772),35926=>array(58,-70,967,781),35927=>array(41,-75,969,781),35928=>array(43,-41,952,836),35929=>array(62,-55,939,847),35930=>array(31,-61,972,789),35931=>array(58,-69,963,787),35932=>array(43,-75,940,786),35933=>array(33,-46,951,785),35934=>array(43,-52,921,846),35935=>array(40,-65,958,815),35936=>array(43,-41,947,787),35937=>array(67,-59,940,845),35938=>array(49,-62,957,839),35939=>array(43,-71,953,787),35940=>array(29,-70,963,783),35941=>array(36,-64,958,834),35942=>array(49,-70,973,829),35943=>array(43,-75,951,824),35944=>array(41,-67,952,835),35945=>array(39,-64,977,779),35946=>array(88,-66,960,834),35947=>array(60,-72,962,835),35948=>array(47,-69,959,835),35949=>array(48,-70,984,789),35950=>array(42,-68,957,836),35951=>array(39,-77,975,819),35952=>array(77,-77,965,824),35953=>array(50,-61,959,782),35954=>array(42,-64,968,786),35955=>array(113,-69,911,825),35956=>array(43,-73,963,835),35957=>array(52,-71,983,829),35958=>array(34,-72,971,826),35959=>array(41,-62,967,832),35960=>array(125,-58,931,843),35961=>array(57,-56,903,842),35962=>array(61,-58,957,850),35963=>array(50,-67,963,835),35964=>array(40,-65,966,835),35965=>array(48,-65,914,842),35966=>array(48,-48,932,842),35967=>array(68,-52,921,846),35968=>array(41,-72,916,834),35969=>array(36,-57,965,855),35970=>array(65,-52,919,836),35971=>array(48,-63,890,842),35972=>array(46,-69,956,834),35973=>array(55,-61,981,850),35974=>array(46,-67,954,830),35975=>array(48,-55,960,842),35976=>array(48,-73,964,843),35977=>array(43,-64,975,840),35978=>array(54,-63,959,830),35979=>array(48,-65,926,842),35980=>array(41,-66,966,841),35981=>array(55,-59,956,838),35982=>array(48,-61,991,842),35983=>array(35,-73,953,836),35984=>array(46,-64,986,860),35985=>array(42,-75,977,829),35986=>array(37,-70,956,831),35987=>array(44,-67,950,836),35988=>array(34,-61,949,850),35989=>array(35,-62,959,834),35990=>array(36,-48,974,842),35991=>array(37,-71,951,837),35992=>array(26,-65,975,837),35993=>array(40,-60,965,827),35994=>array(43,-68,968,838),35995=>array(38,-71,912,832),35996=>array(55,-70,973,830),35997=>array(89,-68,912,789),35998=>array(59,-69,950,836),35999=>array(59,-69,950,842),36000=>array(53,-69,952,855),36001=>array(46,-73,939,829),36002=>array(59,-67,949,789),36003=>array(65,-70,954,850),36004=>array(52,-54,964,849),36005=>array(46,-78,954,834),36006=>array(52,-69,948,804),36007=>array(54,-69,954,823),36008=>array(52,-71,955,831),36009=>array(50,-67,973,788),36010=>array(38,-78,969,857),36011=>array(57,-74,946,785),36012=>array(57,-67,955,836),36013=>array(52,-75,924,831),36014=>array(53,-70,956,817),36015=>array(48,-68,948,822),36016=>array(51,-73,949,836),36017=>array(14,-67,970,832),36018=>array(43,-75,956,824),36019=>array(53,-70,956,837),36020=>array(57,-67,949,832),36021=>array(43,-66,977,865),36022=>array(57,-65,969,830),36023=>array(65,-67,949,782),36024=>array(63,-69,942,838),36025=>array(47,-75,956,822),36026=>array(51,-75,972,773),36027=>array(73,-71,933,837),36028=>array(50,-64,954,835),36029=>array(60,-62,960,833),36030=>array(49,-54,955,849),36031=>array(72,-67,941,827),36032=>array(65,-73,943,839),36033=>array(61,-67,943,828),36034=>array(57,-63,976,839),36035=>array(40,-65,957,837),36036=>array(54,-68,961,834),36037=>array(54,-77,973,830),36038=>array(21,-70,949,839),36039=>array(61,-70,942,837),36040=>array(66,-79,948,785),36041=>array(37,-58,973,855),36042=>array(41,-58,963,837),36043=>array(37,-76,970,846),36044=>array(66,-77,947,844),36045=>array(49,-59,956,822),36046=>array(44,-69,959,827),36047=>array(57,-73,963,773),36048=>array(31,-67,979,836),36049=>array(37,-71,971,787),36050=>array(40,-64,969,851),36051=>array(44,-74,974,837),36052=>array(101,-85,911,844),36053=>array(51,-66,981,829),36054=>array(31,-69,962,825),36055=>array(55,-74,911,822),36056=>array(49,-59,956,847),36057=>array(63,-71,911,793),36058=>array(45,-70,985,836),36059=>array(52,-76,964,843),36060=>array(60,-66,920,791),36061=>array(40,-70,976,780),36062=>array(71,-74,948,836),36063=>array(40,-73,955,830),36064=>array(59,-65,956,835),36065=>array(32,-67,954,849),36066=>array(70,-73,944,789),36067=>array(48,-69,945,826),36068=>array(48,-67,967,842),36069=>array(41,-73,950,840),36070=>array(42,-63,958,836),36071=>array(39,-68,974,832),36072=>array(57,-79,963,839),36073=>array(42,-60,960,845),36074=>array(63,-68,941,833),36075=>array(69,-70,954,826),36076=>array(55,-68,978,787),36077=>array(43,-65,944,823),36078=>array(40,-74,977,827),36079=>array(57,-60,934,840),36080=>array(49,-70,980,838),36081=>array(56,-76,958,783),36082=>array(38,-73,967,845),36083=>array(51,-75,967,830),36084=>array(44,-71,961,830),36085=>array(55,-68,921,789),36086=>array(40,-67,941,846),36087=>array(69,-70,954,834),36088=>array(31,-66,966,837),36089=>array(44,-66,959,818),36090=>array(58,-65,967,851),36091=>array(50,-65,951,833),36092=>array(41,-66,941,829),36093=>array(50,-73,960,847),36094=>array(113,-76,968,832),36095=>array(41,-72,960,786),36096=>array(68,-76,949,803),36097=>array(42,-61,967,836),36098=>array(41,-71,957,842),36099=>array(49,-62,965,831),36100=>array(61,-68,954,834),36101=>array(51,-70,954,846),36102=>array(37,-67,970,832),36103=>array(46,-71,954,829),36104=>array(34,-73,909,835),36105=>array(47,-71,957,781),36106=>array(60,-72,947,825),36107=>array(41,-70,944,813),36108=>array(36,-64,963,832),36109=>array(36,-74,948,834),36110=>array(47,-66,968,832),36111=>array(42,-62,961,834),36112=>array(47,-59,972,825),36113=>array(55,-66,969,849),36114=>array(70,-73,955,835),36115=>array(27,-65,966,836),36116=>array(49,-71,979,803),36117=>array(56,-73,963,837),36118=>array(47,-73,962,837),36119=>array(41,-73,945,825),36120=>array(26,-72,954,836),36121=>array(31,-71,967,828),36122=>array(30,-65,950,836),36123=>array(54,-70,974,849),36124=>array(55,-63,972,815),36125=>array(77,-58,885,796),36126=>array(65,-63,905,830),36127=>array(57,-65,934,838),36128=>array(73,-61,894,844),36129=>array(48,-61,906,780),36130=>array(42,-70,922,826),36131=>array(60,-66,915,826),36132=>array(61,-67,931,834),36133=>array(47,-74,945,834),36134=>array(32,-72,958,811),36135=>array(29,-63,917,839),36136=>array(25,-69,906,831),36137=>array(33,-70,956,800),36138=>array(33,-66,954,836),36139=>array(34,-65,980,835),36140=>array(32,-67,952,828),36141=>array(33,-64,903,831),36142=>array(28,-71,923,818),36143=>array(43,-69,914,791),36144=>array(48,-68,953,831),36145=>array(30,-59,928,831),36146=>array(70,-78,917,820),36147=>array(61,-71,909,826),36148=>array(42,-67,938,832),36149=>array(41,-65,907,830),36150=>array(31,-58,968,784),36151=>array(47,-65,927,835),36152=>array(83,-66,900,831),36153=>array(60,-63,913,830),36154=>array(24,-72,868,832),36155=>array(35,-69,941,824),36156=>array(31,-56,939,838),36157=>array(39,-86,948,818),36158=>array(47,-71,913,782),36159=>array(33,-69,944,832),36160=>array(60,-84,929,816),36161=>array(30,-59,917,841),36162=>array(33,-64,960,837),36163=>array(38,-68,921,837),36164=>array(71,-70,939,829),36165=>array(39,-79,956,827),36166=>array(31,-64,953,782),36167=>array(39,-69,972,826),36168=>array(39,-70,942,784),36169=>array(34,-70,942,823),36170=>array(39,-69,953,848),36171=>array(37,-69,955,834),36172=>array(39,-69,939,834),36173=>array(76,-70,886,824),36174=>array(43,-58,956,835),36175=>array(84,-54,912,841),36176=>array(39,-69,901,785),36177=>array(43,-66,1003,830),36178=>array(39,-69,911,794),36179=>array(40,-69,930,849),36180=>array(39,-69,939,843),36181=>array(39,-70,957,829),36182=>array(40,-63,943,834),36183=>array(39,-74,900,778),36184=>array(43,-69,915,827),36185=>array(39,-68,939,831),36186=>array(41,-65,951,849),36187=>array(38,-75,961,840),36188=>array(99,-67,936,828),36189=>array(31,-69,906,772),36190=>array(35,-75,930,836),36191=>array(46,-75,954,834),36192=>array(32,-71,895,827),36193=>array(22,-75,931,831),36194=>array(35,-69,949,842),36195=>array(55,-69,943,835),36196=>array(67,-75,930,830),36197=>array(31,-71,961,839),36198=>array(56,-63,984,848),36199=>array(48,-68,957,829),36200=>array(40,-67,966,825),36201=>array(28,-67,961,826),36202=>array(25,-80,971,825),36203=>array(51,-65,970,836),36204=>array(36,-76,962,823),36205=>array(25,-70,958,832),36206=>array(35,-79,975,833),36207=>array(32,-71,960,837),36208=>array(46,-74,960,830),36209=>array(69,-66,950,830),36210=>array(36,-62,963,833),36211=>array(50,-65,966,831),36212=>array(41,-73,967,829),36213=>array(23,-60,942,823),36214=>array(27,-72,965,831),36215=>array(35,-74,945,834),36216=>array(46,-71,973,825),36217=>array(39,-66,960,829),36218=>array(46,-71,973,824),36219=>array(46,-72,974,835),36220=>array(33,-64,968,835),36221=>array(44,-74,972,830),36222=>array(46,-72,974,835),36223=>array(46,-72,978,835),36224=>array(47,-71,970,832),36225=>array(18,-62,960,857),36226=>array(46,-72,974,835),36227=>array(46,-72,974,835),36228=>array(38,-65,975,833),36229=>array(33,-68,959,833),36230=>array(46,-72,978,835),36231=>array(46,-72,974,835),36232=>array(46,-72,974,835),36233=>array(40,-65,968,826),36234=>array(42,-74,962,832),36235=>array(26,-72,938,824),36236=>array(30,-61,967,836),36237=>array(39,-64,977,830),36238=>array(35,-68,978,832),36239=>array(36,-65,981,820),36240=>array(28,-61,973,828),36241=>array(42,-64,973,848),36242=>array(27,-65,965,826),36243=>array(28,-61,981,826),36244=>array(39,-68,976,831),36245=>array(46,-69,966,829),36246=>array(57,-68,966,824),36247=>array(28,-61,965,826),36248=>array(28,-61,965,826),36249=>array(41,-75,959,830),36250=>array(28,-61,965,826),36251=>array(36,-71,969,824),36252=>array(35,-68,970,833),36253=>array(46,-72,974,835),36254=>array(46,-72,974,835),36255=>array(58,-53,973,841),36256=>array(39,-71,977,824),36257=>array(41,-68,971,823),36258=>array(34,-64,960,835),36259=>array(31,-54,960,835),36260=>array(46,-72,974,836),36261=>array(37,-60,968,835),36262=>array(45,-53,974,845),36263=>array(37,-71,981,818),36264=>array(56,-71,966,834),36265=>array(46,-72,974,835),36266=>array(39,-57,979,833),36267=>array(32,-71,984,825),36268=>array(41,-64,983,830),36269=>array(33,-62,984,827),36270=>array(26,-67,975,829),36271=>array(33,-68,970,828),36272=>array(31,-72,979,835),36273=>array(22,-69,937,817),36274=>array(42,-65,970,832),36275=>array(55,-73,970,762),36276=>array(30,-74,968,786),36277=>array(53,-54,896,841),36278=>array(64,-65,967,790),36279=>array(48,-37,974,830),36280=>array(45,-73,940,761),36281=>array(57,-72,965,827),36282=>array(45,-72,974,829),36283=>array(45,-72,967,837),36284=>array(54,-76,947,783),36285=>array(45,-69,959,849),36286=>array(45,-24,954,822),36287=>array(35,-71,971,788),36288=>array(45,-65,870,788),36289=>array(56,-32,959,785),36290=>array(35,-53,954,841),36291=>array(39,-64,963,832),36292=>array(45,-34,953,814),36293=>array(47,-70,955,819),36294=>array(52,-68,972,837),36295=>array(61,-34,951,822),36296=>array(48,-69,960,839),36297=>array(45,-79,971,847),36298=>array(40,-61,967,836),36299=>array(21,-76,948,841),36300=>array(52,-59,975,844),36301=>array(55,-68,951,826),36302=>array(48,-27,950,839),36303=>array(46,-72,907,828),36304=>array(46,-59,964,822),36305=>array(45,-34,966,838),36306=>array(45,-62,965,788),36307=>array(47,-15,955,842),36308=>array(45,-52,921,846),36309=>array(41,-52,947,842),36310=>array(39,-53,947,786),36311=>array(41,-50,951,846),36312=>array(53,-70,956,825),36313=>array(59,-19,963,783),36314=>array(28,-67,919,781),36315=>array(53,-62,978,841),36316=>array(45,-72,954,790),36317=>array(31,-61,947,795),36318=>array(48,-62,939,817),36319=>array(46,-71,964,787),36320=>array(52,-73,975,823),36321=>array(47,-59,955,822),36322=>array(42,-63,913,836),36323=>array(40,-63,953,829),36324=>array(50,-65,983,846),36325=>array(46,-62,964,791),36326=>array(50,-70,977,829),36327=>array(43,-20,968,793),36328=>array(39,-64,962,841),36329=>array(44,-74,967,823),36330=>array(48,-65,965,852),36331=>array(29,-64,947,778),36332=>array(54,-23,958,829),36333=>array(40,-69,972,841),36334=>array(51,-33,956,779),36335=>array(29,-67,968,838),36336=>array(50,-73,954,829),36337=>array(40,-52,950,841),36338=>array(44,-54,963,858),36339=>array(41,-70,945,825),36340=>array(37,-68,952,789),36341=>array(40,-69,959,827),36342=>array(50,-49,982,788),36343=>array(52,-71,938,815),36344=>array(35,-64,929,808),36345=>array(42,-51,935,804),36346=>array(54,-64,979,794),36347=>array(43,-66,948,835),36348=>array(48,-55,916,800),36349=>array(48,-32,969,791),36350=>array(46,-72,974,827),36351=>array(51,-70,966,821),36352=>array(52,-73,970,781),36353=>array(46,-28,945,785),36354=>array(51,-70,961,783),36355=>array(51,-69,909,824),36356=>array(45,-64,955,830),36357=>array(44,-66,970,835),36358=>array(48,-72,970,827),36359=>array(51,-64,953,825),36360=>array(45,-54,960,841),36361=>array(58,-68,981,837),36362=>array(50,-64,897,800),36363=>array(80,-61,915,810),36364=>array(37,-61,917,828),36365=>array(47,-68,948,823),36366=>array(36,-54,969,797),36367=>array(53,-62,980,843),36368=>array(30,-55,945,841),36369=>array(55,-75,967,824),36370=>array(44,-72,965,829),36371=>array(45,-68,959,831),36372=>array(54,-62,965,838),36373=>array(44,-73,972,827),36374=>array(47,-61,972,837),36375=>array(52,-36,976,835),36376=>array(49,-63,916,837),36377=>array(51,-73,981,782),36378=>array(47,-68,984,836),36379=>array(44,-26,954,826),36380=>array(56,-71,982,823),36381=>array(43,-67,972,787),36382=>array(46,-69,952,785),36383=>array(28,-67,886,836),36384=>array(39,-76,966,843),36385=>array(48,-37,986,846),36386=>array(46,-58,907,794),36387=>array(48,-65,953,849),36388=>array(48,-69,954,840),36389=>array(38,-70,950,833),36390=>array(42,-62,965,844),36391=>array(41,-69,979,830),36392=>array(59,-65,975,837),36393=>array(48,-62,976,837),36394=>array(44,-57,969,834),36395=>array(45,-35,957,832),36396=>array(42,-68,921,823),36397=>array(53,-59,970,836),36398=>array(43,-65,949,845),36399=>array(38,-65,919,798),36400=>array(43,-64,962,832),36401=>array(49,-62,982,856),36402=>array(47,-67,950,840),36403=>array(39,-68,978,840),36404=>array(41,-56,918,801),36405=>array(45,-27,958,839),36406=>array(52,-55,987,803),36407=>array(72,-69,959,835),36408=>array(35,-26,953,824),36409=>array(53,-64,956,835),36410=>array(43,-73,946,805),36411=>array(72,-57,916,800),36412=>array(33,-79,963,778),36413=>array(46,-62,942,836),36414=>array(41,-65,932,787),36415=>array(32,-75,983,822),36416=>array(49,-65,975,830),36417=>array(48,-65,944,843),36418=>array(45,-61,984,799),36419=>array(72,-65,948,836),36420=>array(37,-67,946,826),36421=>array(39,-32,967,823),36422=>array(38,-65,954,800),36423=>array(34,-62,984,842),36424=>array(53,-62,937,835),36425=>array(30,-26,937,841),36426=>array(20,-61,967,842),36427=>array(49,-61,903,799),36428=>array(55,-64,982,866),36429=>array(34,-52,968,797),36430=>array(50,-79,961,833),36431=>array(34,-72,968,830),36432=>array(51,-62,986,846),36433=>array(35,-71,937,780),36434=>array(29,-66,914,818),36435=>array(47,-62,920,841),36436=>array(39,-54,972,839),36437=>array(34,-68,949,805),36438=>array(48,-70,965,834),36439=>array(49,-66,962,837),36440=>array(27,-61,966,802),36441=>array(55,-60,981,842),36442=>array(61,-37,960,816),36443=>array(50,-74,951,821),36444=>array(36,-52,915,857),36445=>array(43,-67,971,831),36446=>array(40,-82,959,828),36447=>array(39,-55,955,849),36448=>array(38,-60,958,835),36449=>array(36,-52,952,858),36450=>array(39,-52,948,855),36451=>array(47,-65,954,835),36452=>array(43,-65,979,831),36453=>array(45,-72,969,823),36454=>array(46,-74,905,836),36455=>array(59,-74,962,821),36456=>array(64,-65,971,837),36457=>array(33,-65,972,839),36458=>array(52,-81,965,825),36459=>array(29,-67,933,788),36460=>array(33,-26,969,836),36461=>array(44,-64,912,846),36462=>array(37,-43,974,813),36463=>array(31,-67,971,833),36464=>array(30,-66,939,802),36465=>array(59,-32,971,839),36466=>array(44,-72,970,834),36467=>array(46,-67,979,832),36468=>array(25,-68,956,828),36469=>array(33,-65,965,845),36470=>array(25,-70,965,788),36471=>array(37,-58,963,800),36472=>array(49,-70,974,827),36473=>array(44,-63,979,858),36474=>array(46,-63,962,842),36475=>array(34,-59,961,857),36476=>array(28,-64,963,832),36477=>array(39,-62,975,859),36478=>array(39,-73,973,837),36479=>array(39,-60,916,843),36480=>array(28,-68,951,802),36481=>array(31,-61,965,798),36482=>array(46,-68,977,836),36483=>array(36,-64,965,849),36484=>array(39,-57,960,843),36485=>array(57,-62,924,786),36486=>array(23,-67,976,837),36487=>array(36,-62,953,842),36488=>array(33,-72,982,841),36489=>array(44,-67,968,833),36490=>array(43,-58,958,839),36491=>array(32,-69,964,849),36492=>array(62,-72,961,833),36493=>array(35,-70,956,813),36494=>array(61,-71,958,783),36495=>array(50,-71,918,820),36496=>array(41,-63,974,852),36497=>array(32,-67,956,821),36498=>array(45,-52,961,856),36499=>array(39,-68,974,837),36500=>array(25,-67,941,848),36501=>array(36,-63,960,853),36502=>array(59,-68,915,835),36503=>array(36,-67,979,839),36504=>array(33,-65,967,838),36505=>array(37,-50,901,804),36506=>array(36,-66,973,815),36507=>array(36,-67,979,839),36508=>array(34,-75,927,824),36509=>array(37,-50,917,804),36510=>array(37,-65,985,847),36511=>array(39,-65,976,850),36512=>array(43,-67,960,829),36513=>array(30,-69,955,804),36514=>array(37,-50,910,805),36515=>array(50,-65,967,787),36516=>array(42,-64,956,831),36517=>array(33,-65,963,849),36518=>array(40,-75,975,829),36519=>array(42,-73,966,791),36520=>array(39,-68,956,841),36521=>array(41,-61,980,809),36522=>array(49,-59,964,837),36523=>array(74,-62,924,853),36524=>array(55,-60,904,839),36525=>array(40,-66,969,848),36526=>array(57,-61,968,846),36527=>array(47,-65,945,844),36528=>array(27,-53,969,851),36529=>array(56,-62,965,848),36530=>array(54,-62,976,843),36531=>array(53,-69,917,861),36532=>array(47,-68,972,844),36533=>array(49,-68,973,830),36534=>array(41,-68,965,830),36535=>array(41,-67,970,841),36536=>array(57,-68,956,830),36537=>array(53,-68,946,847),36538=>array(48,-62,936,851),36539=>array(45,-68,948,845),36540=>array(49,-68,975,830),36541=>array(35,-58,958,850),36542=>array(34,-62,969,843),36543=>array(45,-63,966,857),36544=>array(42,-60,964,853),36545=>array(45,-68,962,839),36546=>array(33,-70,969,829),36547=>array(53,-68,968,830),36548=>array(45,-68,977,845),36549=>array(26,-73,977,841),36550=>array(32,-58,946,848),36551=>array(53,-57,968,846),36552=>array(38,-61,948,848),36553=>array(38,-78,934,836),36554=>array(63,-71,935,832),36555=>array(54,-70,948,830),36556=>array(53,-74,957,831),36557=>array(91,-68,923,784),36558=>array(61,-67,913,819),36559=>array(52,-69,958,829),36560=>array(41,-69,958,827),36561=>array(61,-72,978,827),36562=>array(55,-68,951,832),36563=>array(64,-76,963,824),36564=>array(68,-67,917,830),36565=>array(65,-69,921,830),36566=>array(62,-69,961,827),36567=>array(63,-73,962,830),36568=>array(61,-65,957,835),36569=>array(50,-70,945,838),36570=>array(65,-69,977,838),36571=>array(60,-66,954,830),36572=>array(66,-70,918,827),36573=>array(46,-68,966,832),36574=>array(60,-70,961,836),36575=>array(62,-67,965,841),36576=>array(59,-64,949,827),36577=>array(61,-76,968,834),36578=>array(53,-69,964,827),36579=>array(61,-55,913,834),36580=>array(65,-70,950,827),36581=>array(60,-65,915,831),36582=>array(59,-69,956,832),36583=>array(57,-72,960,833),36584=>array(54,-69,965,845),36585=>array(68,-70,954,838),36586=>array(84,-75,924,835),36587=>array(51,-67,969,844),36588=>array(46,-64,966,855),36589=>array(43,-71,945,827),36590=>array(61,-80,968,829),36591=>array(57,-72,950,827),36592=>array(62,-50,940,835),36593=>array(58,-60,975,834),36594=>array(72,-76,929,833),36595=>array(72,-64,977,849),36596=>array(72,-64,962,839),36597=>array(63,-69,952,835),36598=>array(76,-67,970,829),36599=>array(57,-52,959,839),36600=>array(58,-76,913,831),36601=>array(57,-67,962,826),36602=>array(69,-67,918,832),36603=>array(54,-67,950,829),36604=>array(56,-67,979,829),36605=>array(52,-64,976,833),36606=>array(60,-67,968,836),36607=>array(55,-54,949,852),36608=>array(53,-56,948,836),36609=>array(56,-80,977,826),36610=>array(44,-69,961,829),36611=>array(59,-67,965,829),36612=>array(59,-69,970,829),36613=>array(47,-65,967,838),36614=>array(57,-75,960,836),36615=>array(62,-71,966,820),36616=>array(61,-63,959,838),36617=>array(63,-62,956,836),36618=>array(60,-64,954,831),36619=>array(28,-64,980,840),36620=>array(52,-72,939,831),36621=>array(58,-70,967,824),36622=>array(60,-69,937,826),36623=>array(65,-68,966,825),36624=>array(66,-70,973,824),36625=>array(60,-71,951,827),36626=>array(50,-67,967,830),36627=>array(58,-67,966,827),36628=>array(55,-73,948,833),36629=>array(57,-70,950,832),36630=>array(57,-70,900,822),36631=>array(54,-65,962,827),36632=>array(47,-57,966,835),36633=>array(46,-68,966,837),36634=>array(62,-70,971,834),36635=>array(52,-72,939,831),36636=>array(63,-71,940,835),36637=>array(41,-63,953,832),36638=>array(57,-65,924,831),36639=>array(60,-65,971,833),36640=>array(62,-71,978,823),36641=>array(77,-68,912,841),36642=>array(77,-65,956,849),36643=>array(62,-76,903,823),36644=>array(61,-70,953,832),36645=>array(54,-70,955,829),36646=>array(52,-62,954,831),36647=>array(57,-65,949,859),36648=>array(62,-65,930,846),36649=>array(55,-74,951,838),36650=>array(52,-71,971,868),36651=>array(52,-65,967,831),36652=>array(54,-57,970,849),36653=>array(65,-72,975,820),36654=>array(60,-68,977,826),36655=>array(62,-70,951,831),36656=>array(77,-65,959,831),36657=>array(47,-68,979,835),36658=>array(72,-64,957,835),36659=>array(47,-67,964,832),36660=>array(50,-72,951,833),36661=>array(60,-53,923,838),36662=>array(56,-66,947,852),36663=>array(65,-70,919,834),36664=>array(45,-70,960,849),36665=>array(60,-68,974,836),36666=>array(63,-71,940,833),36667=>array(46,-74,941,827),36668=>array(59,-70,959,823),36669=>array(42,-66,967,831),36670=>array(60,-71,964,831),36671=>array(66,-55,948,839),36672=>array(59,-70,959,823),36673=>array(52,-65,944,831),36674=>array(48,-68,968,836),36675=>array(66,-69,973,833),36676=>array(53,-62,949,837),36677=>array(50,-70,967,833),36678=>array(53,-68,958,835),36679=>array(58,-64,968,829),36680=>array(58,-70,974,828),36681=>array(56,-71,947,828),36682=>array(44,-72,943,837),36683=>array(55,-72,974,825),36684=>array(46,-66,946,831),36685=>array(42,-68,972,837),36686=>array(51,-61,964,841),36687=>array(63,-71,958,825),36688=>array(53,-69,969,826),36689=>array(55,-54,968,844),36690=>array(65,-72,959,829),36691=>array(60,-67,978,829),36692=>array(48,-67,954,833),36693=>array(61,-64,948,830),36694=>array(58,-68,962,829),36695=>array(50,-66,961,830),36696=>array(56,-70,984,831),36697=>array(50,-74,974,853),36698=>array(60,-62,971,828),36699=>array(69,-71,964,826),36700=>array(42,-65,970,831),36701=>array(46,-69,977,836),36702=>array(66,-73,958,829),36703=>array(63,-62,960,836),36704=>array(71,-68,929,824),36705=>array(32,-65,961,844),36706=>array(50,-65,970,831),36707=>array(45,-53,969,836),36708=>array(52,-67,956,832),36709=>array(55,-65,941,837),36710=>array(42,-61,956,833),36711=>array(69,-73,922,823),36712=>array(67,-78,940,828),36713=>array(63,-70,934,823),36714=>array(68,-70,977,838),36715=>array(63,-69,901,824),36716=>array(53,-66,935,826),36717=>array(52,-74,937,818),36718=>array(31,-55,951,835),36719=>array(73,-69,949,838),36720=>array(28,-57,939,837),36721=>array(52,-76,929,823),36722=>array(52,-74,933,818),36723=>array(44,-73,929,819),36724=>array(59,-74,903,821),36725=>array(63,-69,946,824),36726=>array(52,-74,962,826),36727=>array(25,-65,920,828),36728=>array(52,-74,952,840),36729=>array(41,-65,947,823),36730=>array(63,-68,901,824),36731=>array(51,-48,938,836),36732=>array(37,-75,936,833),36733=>array(58,-69,939,824),36734=>array(52,-74,930,818),36735=>array(31,-66,948,832),36736=>array(63,-68,960,838),36737=>array(44,-60,940,831),36738=>array(52,-67,950,836),36739=>array(54,-69,948,835),36740=>array(45,-69,937,827),36741=>array(52,-73,931,831),36742=>array(35,-57,925,833),36743=>array(43,-75,950,816),36744=>array(68,-70,932,821),36745=>array(42,-57,948,833),36746=>array(52,-74,942,818),36747=>array(63,-67,905,827),36748=>array(63,-68,966,849),36749=>array(43,-65,961,819),36750=>array(55,-73,922,833),36751=>array(55,-69,944,838),36752=>array(43,-74,923,818),36753=>array(56,-69,936,821),36754=>array(46,-69,959,821),36755=>array(61,-73,943,846),36756=>array(40,-65,914,829),36757=>array(41,-78,949,819),36758=>array(52,-73,931,838),36759=>array(52,-74,948,818),36760=>array(50,-65,951,842),36761=>array(46,-65,938,839),36762=>array(52,-68,947,831),36763=>array(77,-68,923,828),36764=>array(59,-62,945,837),36765=>array(29,-65,948,840),36766=>array(52,-55,953,832),36767=>array(36,-55,954,847),36768=>array(59,-67,945,839),36769=>array(33,-67,954,853),36770=>array(21,-58,954,853),36771=>array(33,-67,967,835),36772=>array(39,-82,974,853),36773=>array(42,-57,960,840),36774=>array(58,-79,932,829),36775=>array(32,-68,945,837),36776=>array(37,-71,949,831),36777=>array(53,-64,933,843),36778=>array(59,-51,947,857),36779=>array(40,-66,915,838),36780=>array(40,-79,945,838),36781=>array(46,-63,962,846),36782=>array(42,-81,959,834),36783=>array(61,-77,938,829),36784=>array(57,-63,963,785),36785=>array(33,-61,955,789),36786=>array(38,-78,963,834),36787=>array(44,-74,956,836),36788=>array(57,-77,968,785),36789=>array(46,-74,960,827),36790=>array(38,-57,938,814),36791=>array(50,-17,957,811),36792=>array(38,-57,938,814),36793=>array(33,-24,939,823),36794=>array(33,-24,939,804),36795=>array(50,-34,955,832),36796=>array(35,-54,965,820),36797=>array(44,-45,944,793),36798=>array(31,-35,940,825),36799=>array(44,-45,944,835),36800=>array(31,-53,952,817),36801=>array(50,-17,957,828),36802=>array(44,-45,944,793),36803=>array(31,-69,952,793),36804=>array(44,-45,944,832),36805=>array(39,-53,960,817),36806=>array(27,-56,957,841),36807=>array(36,-51,933,827),36808=>array(32,-41,938,798),36809=>array(55,-61,979,815),36810=>array(56,-53,940,781),36811=>array(43,-53,972,835),36812=>array(56,-53,940,782),36813=>array(33,-57,962,841),36814=>array(31,-53,952,833),36815=>array(46,-47,952,827),36816=>array(32,-46,944,800),36817=>array(31,-53,952,828),36818=>array(48,-63,970,829),36819=>array(45,-69,966,832),36820=>array(42,-52,960,822),36821=>array(36,-55,968,852),36822=>array(47,-66,979,827),36823=>array(66,-62,988,817),36824=>array(32,-33,927,812),36825=>array(36,-47,942,815),36826=>array(36,-47,942,801),36827=>array(24,-37,935,817),36828=>array(38,-49,941,809),36829=>array(41,-49,938,816),36830=>array(34,-44,944,810),36831=>array(41,-26,938,806),36832=>array(55,-64,973,844),36833=>array(63,-77,974,833),36834=>array(36,-47,942,808),36835=>array(43,-65,967,829),36836=>array(53,-62,968,842),36837=>array(36,-47,942,808),36838=>array(44,-45,944,827),36839=>array(56,-53,940,830),36840=>array(51,-71,975,841),36841=>array(43,-45,946,829),36842=>array(31,-53,952,831),36843=>array(40,-54,961,834),36844=>array(56,-53,940,820),36845=>array(31,-53,952,817),36846=>array(72,-69,979,840),36847=>array(36,-47,952,803),36848=>array(36,-44,959,828),36849=>array(36,-38,959,837),36850=>array(37,-56,951,815),36851=>array(41,-50,939,793),36852=>array(36,-47,965,813),36853=>array(49,-73,982,835),36854=>array(39,-76,975,837),36855=>array(31,-53,952,831),36856=>array(36,-47,965,840),36857=>array(36,-47,965,831),36858=>array(36,-47,965,813),36859=>array(31,-58,960,857),36860=>array(46,-74,972,827),36861=>array(31,-53,952,842),36862=>array(39,-70,974,832),36863=>array(46,-70,978,849),36864=>array(31,-53,952,818),36865=>array(31,-53,952,859),36866=>array(42,-65,935,859),36867=>array(31,-53,952,828),36868=>array(39,-65,982,851),36869=>array(36,-47,965,837),36870=>array(31,-53,952,838),36871=>array(31,-53,952,833),36872=>array(42,-65,948,858),36873=>array(28,-43,942,807),36874=>array(32,-48,940,807),36875=>array(46,-47,952,841),36876=>array(46,-78,968,826),36877=>array(51,-47,950,829),36878=>array(41,-53,962,801),36879=>array(33,-52,954,831),36880=>array(22,-53,953,817),36881=>array(36,-47,965,832),36882=>array(28,-30,930,839),36883=>array(37,-56,951,830),36884=>array(30,-55,951,849),36885=>array(36,-47,965,813),36886=>array(31,-47,960,830),36887=>array(39,-56,953,815),36888=>array(41,-56,959,838),36889=>array(44,-45,944,816),36890=>array(31,-53,952,817),36891=>array(50,-59,963,821),36892=>array(46,-73,980,823),36893=>array(24,-53,945,829),36894=>array(41,-47,970,813),36895=>array(31,-53,952,836),36896=>array(31,-42,946,830),36897=>array(36,-47,965,839),36898=>array(44,-45,944,839),36899=>array(37,-56,951,830),36900=>array(39,-71,980,822),36901=>array(37,-56,976,799),36902=>array(33,-46,939,787),36903=>array(50,-46,944,809),36904=>array(37,-56,951,836),36905=>array(49,-56,963,847),36906=>array(37,-56,951,824),36907=>array(37,-44,951,811),36908=>array(37,-48,951,836),36909=>array(45,-78,971,844),36910=>array(31,-53,952,829),36911=>array(43,-66,981,847),36912=>array(39,-66,963,834),36913=>array(37,-56,951,799),36914=>array(37,-60,951,831),36915=>array(37,-48,951,821),36916=>array(51,-75,976,829),36917=>array(36,-47,965,837),36918=>array(46,-47,952,833),36919=>array(45,-64,959,791),36920=>array(36,-54,957,841),36921=>array(26,-53,947,834),36922=>array(37,-56,951,835),36923=>array(39,-57,942,792),36924=>array(44,-45,944,799),36925=>array(43,-66,961,826),36926=>array(11,-73,952,836),36927=>array(43,-68,966,818),36928=>array(49,-56,963,845),36929=>array(31,-74,952,837),36930=>array(31,-53,952,848),36931=>array(49,-56,963,833),36932=>array(46,-68,960,835),36933=>array(37,-56,951,807),36934=>array(49,-64,963,845),36935=>array(36,-51,964,814),36936=>array(36,-55,964,812),36937=>array(31,-63,956,831),36938=>array(37,-56,960,842),36939=>array(37,-56,951,799),36940=>array(36,-51,964,826),36941=>array(33,-45,959,815),36942=>array(37,-56,951,799),36943=>array(31,-53,952,801),36944=>array(31,-53,952,801),36945=>array(31,-53,952,843),36946=>array(37,-56,950,821),36947=>array(31,-53,952,847),36948=>array(37,-56,951,834),36949=>array(37,-56,951,844),36950=>array(47,-56,955,810),36951=>array(49,-59,953,820),36952=>array(52,-56,960,832),36953=>array(37,-56,951,837),36954=>array(44,-69,963,841),36955=>array(36,-67,975,834),36956=>array(42,-41,961,823),36957=>array(37,-40,955,831),36958=>array(47,-56,955,828),36959=>array(37,-56,951,799),36960=>array(37,-44,953,835),36961=>array(37,-56,951,837),36962=>array(40,-65,961,829),36963=>array(25,-59,946,832),36964=>array(25,-59,946,817),36965=>array(37,-56,951,834),36966=>array(37,-56,951,807),36967=>array(84,-56,977,838),36968=>array(47,-56,955,834),36969=>array(37,-56,951,839),36970=>array(37,-56,952,835),36971=>array(49,-70,982,827),36972=>array(37,-64,977,831),36973=>array(31,-53,952,830),36974=>array(36,-47,939,835),36975=>array(50,-59,955,795),36976=>array(40,-54,976,843),36977=>array(37,-56,972,831),36978=>array(47,-56,961,815),36979=>array(56,-72,981,832),36980=>array(40,-72,973,836),36981=>array(35,-49,958,841),36982=>array(47,-56,965,838),36983=>array(37,-56,956,807),36984=>array(37,-56,951,799),36985=>array(38,-52,975,826),36986=>array(37,-56,951,835),36987=>array(41,-73,976,820),36988=>array(37,-56,968,838),36989=>array(47,-56,961,835),36990=>array(45,-66,972,840),36991=>array(31,-53,952,824),36992=>array(47,-51,961,837),36993=>array(47,-51,961,829),36994=>array(47,-56,961,841),36995=>array(52,-56,966,841),36996=>array(37,-56,951,808),36997=>array(44,-70,972,846),36998=>array(39,-69,980,826),36999=>array(36,-47,971,828),37000=>array(18,-65,964,846),37001=>array(47,-51,961,837),37002=>array(47,-51,961,838),37003=>array(40,-65,971,848),37004=>array(45,-56,961,825),37005=>array(38,-72,983,848),37006=>array(37,-68,971,820),37007=>array(52,-51,966,820),37008=>array(42,-65,973,813),37009=>array(124,-30,927,784),37010=>array(84,-70,942,782),37011=>array(30,-60,912,790),37012=>array(72,-64,934,788),37013=>array(75,-24,931,841),37014=>array(114,-60,912,819),37015=>array(69,-69,939,787),37016=>array(60,-63,938,794),37017=>array(49,-69,958,799),37018=>array(85,-69,939,818),37019=>array(73,-69,939,781),37020=>array(57,-69,939,844),37021=>array(38,-65,916,842),37022=>array(55,-66,956,827),37023=>array(44,-60,947,838),37024=>array(45,-71,953,786),37025=>array(68,-71,959,841),37026=>array(51,-70,945,785),37027=>array(57,-70,940,786),37028=>array(41,-69,955,816),37029=>array(56,-68,950,832),37030=>array(76,-75,937,830),37031=>array(52,-69,945,785),37032=>array(57,-65,938,833),37033=>array(73,-91,911,814),37034=>array(48,-65,941,785),37035=>array(36,-75,959,830),37036=>array(47,-61,912,837),37037=>array(61,-72,943,834),37038=>array(89,-72,911,823),37039=>array(36,-67,919,831),37040=>array(75,-69,954,833),37041=>array(55,-63,927,828),37042=>array(46,-71,956,827),37043=>array(56,-68,957,784),37044=>array(51,-59,947,797),37045=>array(51,-68,938,786),37046=>array(33,-74,939,811),37047=>array(73,-74,941,780),37048=>array(63,-70,939,828),37049=>array(39,-68,917,809),37050=>array(40,-67,923,804),37051=>array(44,-60,909,829),37052=>array(93,-58,942,788),37053=>array(56,-68,943,824),37054=>array(41,-54,954,840),37055=>array(62,-68,943,827),37056=>array(32,-65,942,839),37057=>array(48,-68,942,840),37058=>array(53,-74,958,835),37059=>array(57,-72,959,829),37060=>array(31,-64,945,850),37061=>array(61,-69,957,783),37062=>array(82,-68,963,824),37063=>array(37,-63,961,847),37064=>array(46,-53,947,860),37065=>array(51,-70,945,785),37066=>array(54,-64,936,822),37067=>array(133,-67,930,833),37068=>array(49,-48,955,826),37069=>array(50,-76,910,845),37070=>array(51,-65,930,832),37071=>array(39,-70,912,820),37072=>array(26,-64,915,835),37073=>array(35,-59,921,832),37074=>array(102,-31,968,826),37075=>array(63,-70,930,780),37076=>array(52,-71,958,813),37077=>array(31,-52,958,852),37078=>array(51,-65,949,788),37079=>array(47,-69,968,837),37080=>array(121,-66,931,787),37081=>array(62,-76,956,826),37082=>array(66,-70,956,781),37083=>array(38,-68,939,834),37084=>array(80,-74,966,827),37085=>array(59,-62,947,836),37086=>array(77,-65,910,833),37087=>array(19,-74,942,829),37088=>array(48,-71,950,777),37089=>array(41,-68,945,787),37090=>array(46,-68,955,785),37091=>array(59,-70,944,823),37092=>array(40,-67,943,834),37093=>array(61,-68,954,786),37094=>array(62,-64,930,786),37095=>array(35,-69,916,783),37096=>array(59,-67,943,830),37097=>array(47,-70,952,836),37098=>array(52,-71,956,827),37099=>array(63,-69,967,847),37100=>array(73,-71,949,829),37101=>array(52,-58,941,837),37102=>array(33,-69,941,786),37103=>array(46,-70,962,831),37104=>array(46,-73,947,787),37105=>array(59,-69,938,827),37106=>array(46,-70,951,834),37107=>array(41,-70,949,828),37108=>array(49,-69,963,825),37109=>array(52,-69,942,831),37110=>array(59,-65,965,840),37111=>array(38,-70,947,833),37112=>array(43,-58,914,831),37113=>array(43,-70,954,786),37114=>array(36,-66,967,830),37115=>array(86,-69,960,783),37116=>array(60,-68,952,841),37117=>array(50,-67,949,835),37118=>array(80,-69,963,786),37119=>array(42,-69,966,785),37120=>array(44,-55,947,838),37121=>array(37,-74,951,826),37122=>array(62,-68,948,785),37123=>array(29,-68,954,843),37124=>array(57,-68,962,785),37125=>array(60,-53,947,848),37126=>array(71,-69,963,782),37127=>array(34,-70,959,838),37128=>array(33,-70,953,835),37129=>array(53,-70,938,839),37130=>array(53,-70,938,830),37131=>array(44,-69,951,826),37132=>array(23,-69,965,848),37133=>array(44,-75,949,783),37134=>array(25,-62,953,840),37135=>array(46,-71,948,802),37136=>array(62,-69,955,842),37137=>array(68,-68,949,785),37138=>array(53,-72,949,842),37139=>array(41,-66,949,841),37140=>array(37,-66,945,844),37141=>array(41,-70,938,831),37142=>array(45,-77,968,783),37143=>array(63,-67,951,837),37144=>array(40,-69,957,843),37145=>array(42,-70,933,783),37146=>array(47,-72,935,825),37147=>array(45,-69,953,835),37148=>array(51,-64,953,850),37149=>array(42,-68,940,785),37150=>array(52,-65,948,830),37151=>array(57,-70,943,824),37152=>array(58,-65,954,795),37153=>array(27,-69,945,838),37154=>array(37,-68,966,784),37155=>array(65,-69,940,838),37156=>array(47,-68,947,803),37157=>array(37,-66,946,844),37158=>array(24,-70,950,830),37159=>array(46,-65,951,832),37160=>array(101,-39,946,829),37161=>array(49,-73,950,781),37162=>array(49,-80,955,833),37163=>array(95,-55,942,853),37164=>array(48,-78,965,836),37165=>array(57,-77,956,839),37166=>array(46,-73,952,836),37167=>array(66,-67,947,849),37168=>array(62,-77,949,833),37169=>array(35,-70,953,836),37170=>array(49,-66,951,787),37171=>array(104,-67,949,787),37172=>array(40,-69,974,824),37173=>array(41,-68,960,797),37174=>array(18,-74,962,847),37175=>array(48,-71,943,830),37176=>array(59,-67,941,834),37177=>array(43,-70,960,793),37178=>array(34,-70,949,845),37179=>array(63,-75,958,829),37180=>array(25,-75,958,827),37181=>array(22,-75,978,858),37182=>array(48,-65,954,789),37183=>array(59,-67,958,832),37184=>array(42,-73,959,829),37185=>array(40,-79,954,836),37186=>array(44,-50,960,801),37187=>array(85,-68,956,796),37188=>array(40,-69,958,825),37189=>array(45,-65,956,837),37190=>array(47,-68,947,827),37191=>array(52,-62,962,844),37192=>array(30,-67,951,805),37193=>array(54,-63,946,779),37194=>array(59,-54,953,788),37195=>array(60,-67,950,840),37196=>array(64,-63,915,844),37197=>array(63,-67,945,790),37198=>array(62,-65,954,832),37199=>array(60,-54,961,825),37200=>array(59,-60,950,790),37201=>array(56,-45,966,798),37202=>array(47,-62,943,790),37203=>array(46,-72,966,849),37204=>array(40,-68,979,837),37205=>array(59,-54,957,809),37206=>array(66,-61,973,836),37207=>array(55,-53,916,808),37208=>array(56,-75,984,791),37209=>array(56,-72,955,826),37210=>array(55,-53,962,790),37211=>array(35,-68,969,787),37212=>array(45,-68,980,842),37213=>array(52,-61,943,782),37214=>array(54,-70,968,837),37215=>array(56,-70,943,816),37216=>array(55,-57,956,790),37217=>array(55,-53,959,836),37218=>array(50,-64,951,835),37219=>array(53,-65,955,830),37220=>array(55,-58,951,836),37221=>array(63,-65,977,828),37222=>array(46,-64,972,820),37223=>array(66,-61,965,849),37224=>array(69,-70,961,833),37225=>array(76,-65,919,839),37226=>array(51,-67,967,840),37227=>array(30,-68,958,820),37228=>array(66,-65,913,835),37229=>array(45,-68,956,834),37230=>array(55,-64,932,790),37231=>array(55,-71,953,816),37232=>array(53,-70,974,836),37233=>array(65,-62,922,837),37234=>array(50,-53,946,790),37235=>array(60,-68,960,825),37236=>array(55,-63,968,841),37237=>array(61,-71,949,830),37238=>array(59,-71,955,840),37239=>array(59,-61,924,829),37240=>array(40,-73,967,849),37241=>array(55,-64,952,830),37242=>array(55,-66,960,828),37243=>array(60,-68,973,835),37244=>array(25,-68,977,833),37245=>array(49,-64,920,771),37246=>array(50,-45,913,775),37247=>array(43,-60,939,841),37248=>array(55,-68,955,822),37249=>array(55,-73,963,831),37250=>array(58,-70,975,820),37251=>array(55,-55,971,831),37252=>array(55,-60,929,826),37253=>array(55,-67,952,838),37254=>array(59,-68,964,832),37255=>array(54,-64,960,831),37256=>array(55,-69,978,839),37257=>array(56,-71,951,835),37258=>array(51,-63,967,793),37259=>array(59,-72,949,818),37260=>array(58,-54,961,789),37261=>array(53,-65,966,787),37262=>array(49,-69,955,834),37263=>array(55,-66,951,825),37264=>array(68,-66,919,828),37265=>array(55,-68,966,790),37266=>array(66,-38,962,798),37267=>array(55,-53,963,830),37268=>array(48,-70,951,844),37269=>array(35,-68,949,845),37270=>array(40,-68,963,787),37271=>array(53,-64,968,834),37272=>array(45,-68,953,822),37273=>array(55,-69,964,824),37274=>array(47,-73,961,821),37275=>array(55,-53,968,821),37276=>array(59,-65,974,847),37277=>array(55,-53,952,829),37278=>array(55,-53,958,790),37279=>array(86,-63,921,831),37280=>array(55,-53,967,828),37281=>array(56,-69,948,838),37282=>array(51,-52,941,840),37283=>array(50,-67,954,844),37284=>array(53,-74,947,845),37285=>array(55,-67,963,799),37286=>array(60,-61,967,848),37287=>array(48,-53,957,790),37288=>array(55,-69,954,827),37289=>array(54,-53,961,848),37290=>array(48,-69,975,790),37291=>array(51,-71,945,784),37292=>array(63,-78,955,853),37293=>array(57,-72,981,823),37294=>array(54,-66,952,833),37295=>array(47,-58,959,836),37296=>array(60,-48,960,811),37297=>array(53,-62,977,846),37298=>array(46,-74,972,825),37299=>array(66,-70,962,784),37300=>array(51,-57,952,829),37301=>array(43,-65,970,828),37302=>array(51,-66,947,847),37303=>array(51,-62,965,838),37304=>array(51,-79,979,837),37305=>array(52,-55,944,803),37306=>array(53,-66,959,832),37307=>array(62,-64,961,835),37308=>array(49,-67,963,826),37309=>array(53,-48,939,810),37310=>array(47,-65,961,838),37311=>array(55,-66,961,837),37312=>array(62,-72,982,842),37313=>array(52,-75,964,833),37314=>array(59,-64,962,848),37315=>array(54,-72,964,790),37316=>array(55,-63,961,837),37317=>array(50,-65,981,795),37318=>array(50,-70,966,824),37319=>array(52,-68,956,829),37320=>array(42,-66,978,827),37321=>array(45,-66,907,842),37322=>array(47,-61,934,806),37323=>array(36,-70,951,821),37324=>array(52,-19,948,796),37325=>array(69,-34,947,831),37326=>array(64,-64,931,784),37327=>array(53,-30,947,789),37328=>array(29,-56,953,844),37329=>array(54,-21,960,856),37330=>array(39,-26,547,829),37331=>array(39,-30,959,829),37332=>array(35,-32,954,824),37333=>array(48,-64,944,828),37334=>array(39,-73,934,829),37335=>array(59,-62,909,831),37336=>array(45,-52,956,843),37337=>array(49,-65,958,833),37338=>array(42,-72,967,845),37339=>array(39,-66,927,834),37340=>array(66,-25,948,833),37341=>array(44,-67,950,831),37342=>array(39,-57,958,829),37343=>array(39,-71,989,829),37344=>array(39,-71,967,829),37345=>array(86,-21,916,833),37346=>array(58,-75,940,840),37347=>array(55,-61,921,841),37348=>array(48,-65,957,832),37349=>array(39,-72,982,829),37350=>array(54,-50,906,813),37351=>array(48,-62,896,837),37352=>array(42,-72,957,829),37353=>array(39,-67,959,831),37354=>array(45,-71,956,829),37355=>array(36,-69,955,826),37356=>array(39,-71,958,823),37357=>array(36,-18,955,824),37358=>array(42,-74,953,834),37359=>array(39,-26,930,833),37360=>array(39,-49,916,829),37361=>array(36,-60,963,835),37362=>array(48,-38,958,829),37363=>array(29,-29,961,827),37364=>array(39,-67,958,834),37365=>array(42,-67,965,830),37366=>array(39,-26,963,841),37367=>array(41,-17,953,827),37368=>array(48,-69,920,831),37369=>array(41,-68,950,830),37370=>array(39,-67,942,829),37371=>array(42,-56,964,843),37372=>array(37,-60,969,823),37373=>array(40,-64,967,834),37374=>array(54,-59,967,827),37375=>array(42,-61,959,847),37376=>array(36,-35,954,830),37377=>array(46,-64,948,835),37378=>array(42,-63,966,839),37379=>array(35,-72,957,834),37380=>array(49,-64,964,831),37381=>array(35,-73,894,841),37382=>array(41,-68,972,836),37383=>array(37,-58,966,840),37384=>array(34,-64,959,827),37385=>array(56,-68,914,823),37386=>array(44,-26,972,836),37387=>array(37,-62,954,840),37388=>array(46,-73,985,837),37389=>array(37,-52,965,839),37390=>array(61,-57,920,841),37391=>array(35,-72,898,823),37392=>array(40,-70,977,840),37393=>array(41,-62,971,831),37394=>array(40,-68,979,840),37395=>array(37,-22,958,840),37396=>array(35,-60,973,829),37397=>array(41,-30,951,833),37398=>array(32,-70,976,832),37399=>array(38,-60,966,838),37400=>array(44,-68,973,841),37401=>array(40,-70,990,834),37402=>array(38,-69,962,831),37403=>array(37,-52,949,840),37404=>array(38,-63,964,836),37405=>array(44,-71,954,840),37406=>array(65,-57,923,839),37407=>array(51,-66,896,840),37408=>array(37,-65,964,840),37409=>array(37,-66,891,840),37410=>array(31,-72,980,832),37411=>array(51,-65,944,830),37412=>array(39,-71,909,827),37413=>array(44,-67,976,826),37414=>array(46,-69,951,833),37415=>array(44,-66,964,841),37416=>array(37,-51,949,840),37417=>array(37,-66,928,840),37418=>array(45,-71,970,827),37419=>array(37,-63,961,842),37420=>array(37,-66,981,840),37421=>array(37,-21,968,823),37422=>array(43,-60,953,833),37423=>array(37,-66,922,842),37424=>array(35,-64,954,846),37425=>array(31,-57,964,839),37426=>array(29,-72,976,839),37427=>array(35,-61,957,833),37428=>array(35,-65,975,846),37429=>array(37,-62,962,840),37430=>array(46,-69,961,831),37431=>array(38,-65,948,833),37432=>array(47,-66,975,833),37433=>array(32,-67,972,839),37434=>array(47,-14,950,831),37435=>array(37,-47,912,843),37436=>array(37,-65,948,844),37437=>array(39,-68,944,837),37438=>array(64,-70,912,828),37439=>array(42,-42,918,827),37440=>array(56,-67,914,823),37441=>array(57,-72,971,850),37442=>array(56,-68,970,833),37443=>array(56,-67,967,828),37444=>array(27,-59,974,841),37445=>array(42,-17,953,826),37446=>array(44,-73,950,829),37447=>array(56,-29,943,830),37448=>array(24,-30,957,829),37449=>array(35,-70,981,829),37450=>array(35,-71,920,830),37451=>array(33,-45,964,834),37452=>array(28,-70,981,831),37453=>array(32,-78,967,837),37454=>array(35,-30,954,834),37455=>array(27,-20,947,834),37456=>array(35,-71,950,838),37457=>array(70,-68,919,845),37458=>array(38,-29,952,833),37459=>array(31,-73,948,834),37460=>array(37,-29,953,828),37461=>array(37,-29,953,828),37462=>array(39,-78,986,840),37463=>array(37,-68,958,833),37464=>array(56,-62,932,829),37465=>array(56,-68,948,823),37466=>array(59,-74,912,837),37467=>array(51,-67,959,823),37468=>array(56,-64,962,837),37469=>array(56,-22,955,835),37470=>array(40,-62,966,829),37471=>array(56,-27,971,823),37472=>array(29,-74,976,830),37473=>array(44,-72,953,834),37474=>array(31,-73,980,831),37475=>array(39,-54,953,837),37476=>array(45,-59,919,834),37477=>array(31,-58,959,838),37478=>array(41,-18,954,832),37479=>array(36,-58,957,828),37480=>array(56,-58,934,836),37481=>array(56,-28,979,844),37482=>array(56,-22,954,830),37483=>array(46,-57,937,831),37484=>array(63,-69,913,831),37485=>array(38,-12,959,830),37486=>array(55,-62,913,838),37487=>array(34,-69,967,837),37488=>array(48,-71,908,838),37489=>array(37,-66,948,823),37490=>array(39,-70,953,844),37491=>array(36,-59,964,824),37492=>array(28,-17,947,835),37493=>array(41,-42,983,832),37494=>array(39,-53,907,847),37495=>array(35,-71,948,837),37496=>array(31,-63,973,840),37497=>array(44,-69,941,831),37498=>array(30,-64,959,833),37499=>array(34,-67,966,824),37500=>array(37,-59,962,854),37501=>array(53,-65,963,835),37502=>array(31,-71,969,830),37503=>array(41,-67,974,847),37504=>array(44,-56,968,827),37505=>array(56,-60,909,836),37506=>array(52,-69,903,835),37507=>array(39,-64,960,835),37508=>array(39,-64,914,844),37509=>array(50,-70,921,829),37510=>array(51,-70,949,833),37511=>array(59,-68,980,835),37512=>array(47,-31,956,837),37513=>array(34,-61,955,841),37514=>array(50,-71,957,836),37515=>array(43,-68,952,835),37516=>array(46,-69,955,841),37517=>array(34,-20,947,835),37518=>array(32,-14,968,800),37519=>array(26,-68,974,823),37520=>array(43,-32,967,828),37521=>array(33,-70,959,837),37522=>array(56,-69,956,823),37523=>array(35,-24,973,830),37524=>array(50,-70,955,834),37525=>array(33,-73,970,830),37526=>array(30,-64,967,839),37527=>array(47,-73,952,837),37528=>array(64,-69,903,840),37529=>array(54,-67,967,834),37530=>array(41,-66,964,838),37531=>array(37,-63,959,837),37532=>array(38,-73,961,832),37533=>array(35,-76,964,832),37534=>array(41,-22,964,848),37535=>array(47,-67,930,837),37536=>array(31,-36,958,831),37537=>array(43,-73,945,831),37538=>array(58,-70,969,832),37539=>array(54,-63,927,837),37540=>array(54,-73,964,832),37541=>array(37,-65,963,844),37542=>array(48,-52,921,834),37543=>array(52,-71,961,835),37544=>array(35,-63,951,848),37545=>array(42,-51,955,829),37546=>array(46,-65,954,837),37547=>array(51,-32,971,837),37548=>array(34,-63,956,832),37549=>array(56,-70,933,826),37550=>array(35,-27,960,825),37551=>array(56,-67,952,824),37552=>array(51,-66,949,835),37553=>array(30,-70,942,841),37554=>array(30,-52,958,841),37555=>array(39,-69,959,833),37556=>array(31,-37,987,838),37557=>array(42,-71,969,846),37558=>array(47,-62,975,835),37559=>array(50,-67,942,833),37560=>array(30,-67,953,827),37561=>array(35,-70,958,838),37562=>array(27,-47,987,832),37563=>array(60,-67,925,836),37564=>array(39,-23,955,835),37565=>array(28,-54,981,831),37566=>array(58,-70,969,832),37567=>array(29,-64,895,840),37568=>array(28,-30,953,839),37569=>array(53,-69,917,819),37570=>array(38,-75,975,832),37571=>array(50,-63,978,846),37572=>array(47,-74,984,835),37573=>array(46,-70,951,834),37574=>array(39,-25,964,835),37575=>array(48,-67,961,833),37576=>array(36,-25,967,838),37577=>array(43,-69,975,841),37578=>array(34,-68,984,840),37579=>array(48,-46,977,854),37580=>array(45,-69,968,834),37581=>array(35,-73,957,835),37582=>array(28,-66,970,844),37583=>array(42,-70,980,835),37584=>array(42,-65,957,834),37585=>array(32,-76,968,841),37586=>array(41,-61,980,841),37587=>array(42,-70,916,833),37588=>array(28,-67,967,848),37589=>array(57,-40,982,825),37590=>array(33,-74,959,838),37591=>array(36,-64,903,844),37592=>array(43,-72,978,823),37593=>array(35,-48,947,839),37594=>array(34,-25,966,842),37595=>array(41,-68,931,832),37596=>array(33,-73,970,838),37597=>array(37,-70,954,840),37598=>array(32,-30,954,833),37599=>array(38,-66,979,833),37600=>array(31,-78,971,846),37601=>array(37,-70,981,840),37602=>array(33,-56,973,838),37603=>array(42,-72,958,829),37604=>array(45,-70,919,834),37605=>array(33,-16,950,838),37606=>array(42,-68,930,829),37607=>array(36,-72,969,838),37608=>array(36,-64,955,836),37609=>array(39,-21,954,830),37610=>array(43,-70,951,835),37611=>array(19,-25,951,835),37612=>array(34,-24,966,833),37613=>array(39,-70,959,834),37614=>array(43,-70,964,840),37615=>array(46,-65,957,831),37616=>array(40,-27,954,836),37617=>array(35,-60,968,831),37618=>array(39,-64,954,835),37619=>array(37,-60,945,838),37620=>array(43,-66,954,838),37621=>array(39,-64,960,835),37622=>array(33,-70,973,843),37623=>array(26,-76,968,826),37624=>array(39,-68,945,830),37625=>array(25,-71,962,835),37626=>array(35,-67,965,831),37627=>array(37,-27,971,782),37628=>array(62,-68,908,824),37629=>array(33,-62,965,838),37630=>array(25,-70,914,836),37631=>array(28,-69,920,833),37632=>array(29,-64,982,841),37633=>array(37,-65,977,833),37634=>array(42,-57,971,842),37635=>array(34,-42,966,836),37636=>array(57,-64,968,841),37637=>array(49,-46,946,832),37638=>array(38,-64,953,842),37639=>array(38,-70,947,841),37640=>array(30,-41,978,839),37641=>array(40,-71,967,837),37642=>array(40,-64,960,845),37643=>array(21,-80,903,821),37644=>array(25,-70,941,836),37645=>array(37,-69,959,842),37646=>array(36,-68,905,836),37647=>array(29,-24,962,833),37648=>array(48,-68,954,832),37649=>array(33,-69,972,842),37650=>array(30,-66,956,826),37651=>array(28,-66,964,837),37652=>array(33,-53,975,841),37653=>array(53,-42,961,837),37654=>array(44,-32,981,836),37655=>array(30,-62,958,842),37656=>array(43,-32,952,832),37657=>array(44,-65,934,844),37658=>array(27,-64,957,832),37659=>array(36,-64,994,845),37660=>array(27,-27,971,840),37661=>array(24,-54,969,838),37662=>array(30,-58,951,846),37663=>array(35,-59,968,843),37664=>array(41,-72,963,839),37665=>array(38,-65,952,837),37666=>array(48,-67,956,832),37667=>array(31,-61,962,835),37668=>array(46,-74,981,833),37669=>array(33,-68,954,843),37670=>array(68,-67,920,849),37671=>array(37,-48,923,860),37672=>array(42,-67,956,836),37673=>array(49,-64,907,838),37674=>array(37,-58,973,838),37675=>array(55,-60,917,824),37676=>array(57,-64,973,835),37677=>array(36,-75,905,840),37678=>array(58,-70,917,836),37679=>array(39,-64,955,836),37680=>array(39,-90,986,836),37681=>array(54,-62,948,844),37682=>array(39,-64,973,836),37683=>array(44,-32,956,824),37684=>array(29,-30,956,825),37685=>array(29,-65,962,833),37686=>array(29,-57,974,841),37687=>array(29,-70,983,835),37688=>array(33,-64,975,836),37689=>array(40,-65,956,836),37690=>array(40,-65,958,837),37691=>array(50,-64,962,846),37692=>array(37,-65,978,838),37693=>array(44,-72,981,833),37694=>array(31,-18,938,825),37695=>array(34,-67,951,834),37696=>array(42,-53,957,845),37697=>array(33,-72,961,833),37698=>array(34,-31,982,843),37699=>array(34,-29,961,842),37700=>array(38,-60,967,832),37701=>array(50,-57,962,831),37702=>array(50,-65,921,830),37703=>array(52,-62,979,844),37704=>array(33,-64,964,835),37705=>array(36,-71,978,828),37706=>array(18,-53,969,847),37707=>array(54,-67,914,834),37708=>array(54,-43,971,817),37709=>array(46,-78,969,833),37710=>array(42,-68,951,837),37711=>array(47,-70,959,832),37712=>array(46,-67,983,839),37713=>array(44,-72,981,835),37714=>array(41,-71,979,834),37715=>array(41,-67,954,834),37716=>array(44,-60,965,839),37717=>array(47,-76,964,824),37718=>array(43,-74,955,818),37719=>array(50,-67,943,843),37720=>array(49,-67,915,830),37721=>array(49,-43,973,817),37722=>array(39,-68,964,825),37723=>array(42,-69,971,830),37724=>array(42,-50,963,842),37725=>array(42,-70,944,842),37726=>array(49,-81,978,832),37727=>array(49,-28,954,832),37728=>array(39,-21,957,851),37729=>array(32,-71,970,829),37730=>array(42,-65,948,842),37731=>array(47,-71,950,829),37732=>array(43,-64,960,844),37733=>array(48,-62,976,841),37734=>array(38,-69,957,841),37735=>array(52,-65,926,836),37736=>array(39,-58,955,835),37737=>array(37,-65,973,836),37738=>array(42,-23,981,842),37739=>array(43,-39,967,842),37740=>array(43,-73,974,833),37741=>array(39,-53,964,844),37742=>array(41,-63,969,840),37743=>array(41,-47,960,848),37744=>array(43,-67,981,844),37745=>array(35,-50,968,845),37746=>array(43,-52,963,843),37747=>array(39,-40,973,837),37748=>array(43,-63,954,843),37749=>array(38,-66,963,823),37750=>array(48,-32,965,823),37751=>array(36,-37,978,824),37752=>array(34,-71,923,833),37753=>array(45,-37,961,834),37754=>array(39,-64,950,838),37755=>array(57,-73,936,824),37756=>array(28,-60,963,842),37757=>array(36,-67,917,840),37758=>array(36,-30,959,842),37759=>array(36,-71,925,838),37760=>array(38,-67,976,837),37761=>array(38,-65,969,834),37762=>array(44,-74,968,837),37763=>array(35,-68,974,844),37764=>array(44,-75,969,842),37765=>array(26,-54,969,846),37766=>array(39,-73,951,833),37767=>array(44,-72,920,818),37768=>array(29,-49,956,848),37769=>array(35,-69,920,833),37770=>array(50,-67,925,847),37771=>array(44,-70,938,839),37772=>array(25,-66,970,847),37773=>array(34,-65,971,834),37774=>array(27,-69,978,842),37775=>array(33,-30,986,843),37776=>array(33,-58,957,835),37777=>array(34,-34,957,833),37778=>array(32,-70,970,826),37779=>array(44,-81,969,822),37780=>array(26,-51,963,842),37781=>array(39,-68,964,845),37782=>array(42,-70,970,837),37783=>array(41,-60,970,855),37784=>array(39,-67,954,826),37785=>array(33,-73,924,823),37786=>array(28,-73,965,838),37787=>array(40,-53,951,843),37788=>array(40,-50,976,846),37789=>array(40,-62,988,835),37790=>array(30,-50,960,845),37791=>array(34,-71,986,827),37792=>array(44,-37,953,834),37793=>array(33,-64,955,851),37794=>array(37,-66,950,839),37795=>array(39,-33,972,835),37796=>array(36,-61,974,836),37797=>array(40,-30,976,836),37798=>array(48,-67,925,830),37799=>array(37,-24,960,832),37800=>array(40,-65,965,840),37801=>array(47,-62,990,836),37802=>array(41,-72,975,835),37803=>array(44,-57,976,823),37804=>array(45,-70,936,832),37805=>array(37,-78,963,833),37806=>array(38,-69,952,836),37807=>array(32,-65,954,837),37808=>array(39,-38,961,824),37809=>array(33,-67,974,837),37810=>array(34,-63,980,838),37811=>array(35,-67,965,846),37812=>array(34,-42,980,836),37813=>array(32,-56,967,843),37814=>array(44,-64,929,818),37815=>array(44,-62,936,838),37816=>array(44,-66,950,837),37817=>array(37,-48,968,822),37818=>array(19,-73,981,837),37819=>array(48,-70,959,840),37820=>array(41,-70,942,835),37821=>array(39,-64,970,839),37822=>array(44,-38,968,818),37823=>array(49,-65,969,855),37824=>array(54,-67,926,834),37825=>array(43,-65,970,839),37826=>array(37,-35,957,828),37827=>array(31,-66,974,837),37828=>array(41,-67,962,838),37829=>array(37,-66,958,847),37830=>array(45,-66,955,830),37831=>array(28,-57,973,848),37832=>array(45,-63,969,835),37833=>array(48,-76,966,834),37834=>array(38,-30,979,846),37835=>array(31,-67,951,829),37836=>array(28,-57,978,844),37837=>array(34,-71,962,831),37838=>array(32,-71,962,831),37839=>array(40,-23,957,824),37840=>array(39,-69,960,841),37841=>array(35,-64,951,833),37842=>array(44,-67,983,841),37843=>array(44,-44,989,850),37844=>array(43,-71,965,840),37845=>array(36,-63,961,845),37846=>array(25,-66,967,837),37847=>array(34,-20,968,832),37848=>array(31,-65,953,833),37849=>array(47,-67,967,837),37850=>array(44,-70,982,835),37851=>array(44,-64,933,839),37852=>array(46,-23,956,827),37853=>array(39,-60,984,841),37854=>array(39,-70,956,839),37855=>array(40,-71,954,847),37856=>array(21,-52,989,843),37857=>array(34,-73,964,836),37858=>array(38,-64,965,824),37859=>array(28,-75,983,840),37860=>array(44,-64,956,835),37861=>array(44,-65,942,831),37862=>array(29,-55,979,847),37863=>array(48,-29,968,826),37864=>array(31,-21,962,836),37865=>array(34,-63,974,843),37866=>array(44,-69,978,828),37867=>array(44,-68,962,826),37868=>array(41,-68,942,835),37869=>array(29,-38,964,828),37870=>array(32,-66,966,848),37871=>array(39,-72,972,823),37872=>array(37,-74,930,841),37873=>array(35,-61,967,852),37874=>array(35,-67,949,848),37875=>array(32,-62,920,846),37876=>array(22,-65,970,841),37877=>array(35,-67,961,833),37878=>array(38,-67,981,836),37879=>array(32,-63,974,830),37880=>array(47,-42,982,825),37881=>array(43,-53,959,837),37882=>array(51,-68,993,848),37883=>array(66,-57,979,840),37884=>array(29,-68,979,837),37885=>array(23,-53,954,840),37886=>array(19,-76,969,834),37887=>array(39,-68,979,832),37888=>array(44,-80,954,834),37889=>array(24,-67,954,838),37890=>array(37,-71,946,839),37891=>array(37,-63,963,839),37892=>array(37,-70,971,839),37893=>array(60,-40,972,839),37894=>array(60,-30,972,846),37895=>array(35,-66,969,850),37896=>array(42,-62,964,841),37897=>array(42,-85,969,824),37898=>array(24,-67,954,838),37899=>array(27,-66,952,837),37900=>array(42,-67,988,825),37901=>array(47,-56,925,839),37902=>array(27,-66,975,844),37903=>array(44,-50,952,858),37904=>array(39,-67,973,846),37905=>array(41,-70,961,835),37906=>array(47,-65,952,833),37907=>array(29,-70,971,832),37908=>array(36,-53,943,839),37909=>array(27,-71,959,834),37910=>array(24,-69,963,836),37911=>array(29,-68,911,838),37912=>array(40,-31,956,839),37913=>array(32,-24,959,837),37914=>array(37,-48,968,839),37915=>array(41,-59,965,830),37916=>array(40,-34,958,847),37917=>array(48,-76,954,838),37918=>array(42,-59,962,839),37919=>array(37,-68,954,839),37920=>array(42,-64,954,844),37921=>array(44,-69,951,824),37922=>array(39,-30,972,826),37923=>array(47,-54,935,839),37924=>array(47,-56,938,834),37925=>array(37,-64,954,845),37926=>array(57,-73,905,839),37927=>array(57,-65,927,822),37928=>array(38,-71,966,835),37929=>array(45,-66,978,830),37930=>array(40,-71,954,833),37931=>array(35,-58,951,843),37932=>array(39,-69,959,829),37933=>array(42,-62,970,850),37934=>array(28,-79,969,847),37935=>array(37,-62,963,842),37936=>array(45,-68,973,834),37937=>array(50,-68,980,842),37938=>array(57,-58,930,827),37939=>array(52,-70,935,837),37940=>array(37,-69,972,845),37941=>array(44,-69,951,824),37942=>array(41,-67,976,837),37943=>array(46,-70,970,830),37944=>array(39,-64,951,840),37945=>array(44,-71,974,826),37946=>array(51,-65,945,838),37947=>array(39,-64,966,831),37948=>array(48,-75,967,830),37949=>array(45,-68,977,835),37950=>array(32,-17,951,838),37951=>array(36,-37,966,844),37952=>array(57,-68,979,835),37953=>array(37,-61,980,843),37954=>array(33,-70,963,836),37955=>array(44,-61,967,835),37956=>array(45,-65,960,835),37957=>array(43,-66,971,834),37958=>array(41,-68,969,826),37959=>array(37,-68,979,833),37960=>array(37,-65,974,829),37961=>array(52,-32,959,831),37962=>array(37,-64,970,835),37963=>array(53,-27,956,825),37964=>array(37,-64,977,849),37965=>array(60,-30,972,804),37966=>array(37,-27,959,839),37967=>array(46,-72,963,839),37968=>array(33,-70,961,831),37969=>array(30,-16,957,844),37970=>array(42,-34,974,841),37971=>array(33,-56,959,837),37972=>array(28,-69,977,845),37973=>array(46,-63,977,844),37974=>array(32,-67,968,839),37975=>array(36,-70,983,834),37976=>array(34,-63,933,830),37977=>array(17,-74,974,834),37978=>array(37,-60,981,845),37979=>array(46,-62,970,839),37980=>array(37,-72,954,839),37981=>array(31,-68,982,832),37982=>array(37,-62,964,842),37983=>array(37,-66,966,841),37984=>array(48,-68,982,840),37985=>array(37,-63,942,839),37986=>array(31,-58,960,847),37987=>array(35,-66,967,854),37988=>array(39,-68,969,827),37989=>array(34,-65,974,852),37990=>array(17,-57,989,839),37991=>array(34,-61,959,849),37992=>array(31,-65,973,837),37993=>array(30,-30,958,817),37994=>array(46,-72,957,829),37995=>array(32,-73,973,856),37996=>array(39,-64,964,839),37997=>array(49,-64,927,829),37998=>array(38,-65,964,831),37999=>array(27,-62,980,837),38000=>array(28,-68,969,845),38001=>array(38,-58,965,842),38002=>array(40,-67,974,854),38003=>array(31,-67,986,844),38004=>array(47,-67,951,828),38005=>array(36,-56,957,837),38006=>array(31,-67,975,834),38007=>array(32,-69,955,822),38008=>array(42,-27,969,827),38009=>array(36,-66,963,848),38010=>array(22,-65,967,839),38011=>array(34,-66,977,842),38012=>array(36,-70,960,829),38013=>array(48,-70,959,838),38014=>array(43,-29,967,845),38015=>array(52,-37,962,834),38016=>array(36,-72,974,833),38017=>array(35,-65,984,834),38018=>array(31,-71,970,832),38019=>array(49,-76,937,831),38020=>array(43,-65,961,846),38021=>array(249,-26,702,820),38022=>array(34,-37,943,826),38023=>array(39,-28,938,830),38024=>array(39,-69,933,830),38025=>array(39,-53,939,830),38026=>array(60,-64,890,828),38027=>array(39,-67,957,830),38028=>array(36,-65,926,822),38029=>array(39,-17,944,830),38030=>array(39,-75,942,830),38031=>array(35,-64,896,832),38032=>array(50,-64,931,827),38033=>array(39,-66,965,830),38034=>array(39,-74,942,830),38035=>array(39,-63,904,838),38036=>array(37,-59,902,830),38037=>array(39,-70,933,830),38038=>array(37,-66,926,830),38039=>array(35,-67,960,830),38040=>array(38,-63,948,830),38041=>array(28,-67,926,820),38042=>array(33,-72,952,828),38043=>array(39,-69,956,830),38044=>array(39,-30,937,830),38045=>array(39,-46,955,830),38046=>array(39,-51,958,830),38047=>array(39,-66,906,830),38048=>array(36,-60,914,830),38049=>array(39,-60,943,830),38050=>array(37,-58,913,830),38051=>array(39,-72,965,830),38052=>array(39,-72,960,837),38053=>array(39,-67,873,830),38054=>array(39,-69,963,836),38055=>array(39,-60,907,832),38056=>array(39,-52,918,839),38057=>array(39,-61,903,830),38058=>array(39,-68,963,845),38059=>array(39,-69,943,834),38060=>array(39,-69,966,830),38061=>array(39,-69,933,830),38062=>array(39,-28,935,826),38063=>array(39,-34,958,830),38064=>array(33,-28,934,830),38065=>array(38,-70,962,830),38066=>array(20,-22,950,823),38067=>array(39,-66,941,830),38068=>array(39,-67,940,831),38069=>array(25,-56,968,837),38070=>array(39,-59,946,830),38071=>array(39,-36,938,830),38072=>array(38,-70,927,833),38073=>array(39,-71,948,841),38074=>array(43,-64,949,826),38075=>array(39,-66,931,830),38076=>array(54,-70,894,826),38077=>array(41,-14,929,826),38078=>array(44,-69,897,826),38079=>array(29,-45,894,826),38080=>array(42,-73,888,821),38081=>array(36,-70,954,832),38082=>array(39,-71,903,843),38083=>array(37,-79,955,847),38084=>array(32,-60,955,832),38085=>array(43,-69,930,826),38086=>array(42,-70,915,834),38087=>array(43,-45,964,834),38088=>array(38,-66,937,841),38089=>array(24,-65,937,839),38090=>array(39,-33,940,846),38091=>array(33,-76,950,830),38092=>array(40,-62,937,827),38093=>array(46,-70,955,837),38094=>array(35,-60,955,826),38095=>array(30,-53,914,835),38096=>array(37,-66,949,829),38097=>array(39,-34,941,828),38098=>array(29,-66,937,826),38099=>array(39,-33,954,828),38100=>array(39,-45,957,826),38101=>array(37,-67,937,835),38102=>array(42,-72,945,827),38103=>array(31,-64,927,829),38104=>array(33,-72,935,818),38105=>array(36,-70,933,831),38106=>array(31,-18,947,829),38107=>array(55,-54,894,822),38108=>array(28,-72,917,823),38109=>array(49,-71,900,817),38110=>array(39,-68,908,816),38111=>array(45,-53,905,827),38112=>array(32,-19,948,824),38113=>array(50,-67,916,830),38114=>array(38,-66,950,837),38115=>array(40,-73,938,830),38116=>array(19,-71,951,833),38117=>array(49,-52,939,827),38118=>array(38,-64,958,834),38119=>array(9,-66,927,828),38120=>array(20,-27,936,816),38121=>array(20,-57,948,825),38122=>array(38,-69,958,845),38123=>array(19,-68,948,833),38124=>array(39,-69,945,821),38125=>array(44,-72,885,840),38126=>array(17,-62,919,825),38127=>array(48,-35,954,834),38128=>array(29,-65,952,835),38129=>array(27,-73,953,840),38130=>array(34,-68,938,847),38131=>array(19,-66,942,844),38132=>array(23,-61,891,822),38133=>array(33,-65,934,844),38134=>array(47,-60,971,825),38135=>array(28,-65,911,835),38136=>array(32,-64,923,832),38137=>array(12,-57,923,822),38138=>array(40,-62,934,832),38139=>array(27,-48,947,821),38140=>array(39,-61,970,823),38141=>array(19,-63,951,833),38142=>array(32,-56,943,825),38143=>array(31,-21,930,819),38144=>array(39,-69,923,831),38145=>array(37,-70,955,830),38146=>array(32,-27,952,833),38147=>array(39,-28,942,830),38148=>array(45,-76,916,833),38149=>array(34,-60,903,839),38150=>array(39,-67,941,827),38151=>array(37,-66,948,833),38152=>array(36,-68,963,827),38153=>array(22,-22,965,832),38154=>array(44,-71,944,819),38155=>array(29,-63,952,839),38156=>array(39,-73,943,831),38157=>array(40,-73,957,832),38158=>array(52,-61,896,830),38159=>array(45,-62,895,828),38160=>array(39,-74,942,835),38161=>array(61,-69,908,836),38162=>array(27,-66,961,843),38163=>array(19,-68,963,833),38164=>array(27,-70,914,833),38165=>array(30,-69,949,832),38166=>array(43,-72,950,828),38167=>array(35,-66,933,832),38168=>array(31,-69,943,837),38169=>array(50,-66,939,829),38170=>array(39,-69,939,827),38171=>array(24,-66,976,843),38172=>array(39,-63,970,839),38173=>array(30,-76,940,827),38174=>array(33,-67,967,833),38175=>array(40,-49,953,827),38176=>array(39,-63,909,826),38177=>array(28,-68,917,815),38178=>array(36,-73,900,827),38179=>array(43,-60,908,834),38180=>array(29,-30,932,833),38181=>array(35,-70,937,834),38182=>array(47,-68,904,846),38183=>array(29,-68,921,833),38184=>array(30,-71,961,824),38185=>array(42,-43,962,833),38186=>array(32,-28,953,822),38187=>array(38,-77,942,834),38188=>array(39,-62,952,842),38189=>array(42,-76,952,839),38190=>array(44,-67,955,826),38191=>array(43,-73,928,827),38192=>array(35,-36,939,821),38193=>array(34,-67,918,842),38194=>array(30,-64,959,832),38195=>array(29,-64,974,836),38196=>array(32,-64,959,837),38197=>array(40,-61,936,827),38198=>array(33,-34,957,827),38199=>array(30,-56,948,827),38200=>array(36,-66,943,841),38201=>array(38,-71,957,833),38202=>array(34,-30,959,838),38203=>array(37,-78,959,823),38204=>array(33,-71,966,832),38205=>array(43,-37,950,834),38206=>array(38,-68,964,842),38207=>array(31,-72,968,844),38208=>array(39,-82,957,846),38209=>array(39,-69,977,829),38210=>array(31,-67,953,824),38211=>array(29,-63,961,837),38212=>array(37,-70,932,826),38213=>array(39,-76,903,827),38214=>array(28,-80,957,810),38215=>array(21,-66,951,838),38216=>array(29,-53,951,843),38217=>array(19,-68,937,833),38218=>array(40,-69,946,828),38219=>array(29,-63,970,835),38220=>array(32,-73,945,833),38221=>array(37,-69,949,843),38222=>array(31,-75,968,842),38223=>array(35,-69,917,833),38224=>array(37,-72,919,848),38225=>array(37,-73,927,848),38226=>array(30,-27,951,832),38227=>array(22,-58,950,840),38228=>array(43,-60,941,826),38229=>array(29,-72,977,841),38230=>array(33,-66,956,833),38231=>array(36,-25,949,833),38232=>array(30,-62,973,833),38233=>array(42,-71,946,827),38234=>array(33,-74,919,833),38235=>array(33,-63,949,851),38236=>array(40,-70,958,836),38237=>array(31,-66,946,844),38238=>array(24,-68,965,839),38239=>array(31,-60,971,846),38240=>array(31,-61,973,831),38241=>array(34,-73,941,821),38242=>array(31,-77,970,830),38243=>array(35,-68,956,842),38244=>array(23,-65,961,833),38245=>array(43,-65,941,835),38246=>array(24,-72,959,836),38247=>array(31,-62,894,825),38248=>array(30,-66,943,843),38249=>array(50,-70,952,837),38250=>array(24,-58,958,822),38251=>array(43,-29,966,832),38252=>array(37,-66,968,832),38253=>array(51,-73,918,827),38254=>array(29,-76,974,833),38255=>array(29,-60,914,833),38256=>array(19,-80,953,844),38257=>array(24,-37,950,842),38258=>array(26,-74,959,842),38259=>array(27,-69,952,850),38260=>array(29,-62,964,842),38261=>array(29,-68,965,842),38262=>array(25,-80,971,843),38263=>array(69,-69,942,800),38264=>array(89,-16,892,784),38265=>array(57,-67,965,850),38266=>array(57,-72,962,831),38267=>array(58,-73,976,821),38268=>array(63,-73,921,785),38269=>array(60,-68,975,827),38270=>array(44,-65,986,786),38271=>array(60,-54,957,823),38272=>array(112,-71,871,782),38273=>array(132,-64,882,789),38274=>array(116,-67,890,788),38275=>array(125,-64,875,789),38276=>array(113,-73,936,803),38277=>array(125,-64,874,789),38278=>array(125,-70,888,782),38279=>array(132,-64,883,791),38280=>array(136,-75,895,783),38281=>array(109,-68,891,785),38282=>array(110,-74,891,779),38283=>array(110,-51,890,806),38284=>array(104,-61,909,792),38285=>array(109,-62,910,790),38286=>array(106,-53,883,797),38287=>array(109,-63,890,796),38288=>array(101,-70,903,782),38289=>array(129,-63,886,797),38290=>array(126,-55,899,801),38291=>array(125,-66,892,784),38292=>array(125,-65,902,790),38293=>array(125,-64,875,789),38294=>array(132,-64,882,789),38295=>array(108,-59,892,799),38296=>array(127,-60,883,796),38297=>array(132,-64,882,789),38298=>array(125,-64,875,789),38299=>array(128,-64,889,787),38300=>array(118,-69,898,782),38301=>array(109,-64,891,788),38302=>array(121,-68,900,783),38303=>array(112,-61,900,790),38304=>array(132,-64,882,789),38305=>array(109,-67,894,790),38306=>array(132,-64,882,789),38307=>array(113,-58,887,798),38308=>array(112,-62,888,789),38309=>array(125,-61,885,794),38310=>array(125,-64,875,789),38311=>array(110,-68,900,786),38312=>array(119,-71,894,791),38313=>array(112,-67,900,789),38314=>array(106,-68,896,786),38315=>array(113,-64,894,788),38316=>array(110,-64,890,788),38317=>array(117,-65,907,790),38318=>array(101,-59,899,791),38319=>array(125,-64,875,789),38320=>array(121,-61,895,787),38321=>array(112,-63,888,801),38322=>array(112,-54,888,802),38323=>array(125,-64,875,789),38324=>array(109,-64,891,788),38325=>array(113,-68,910,783),38326=>array(123,-70,912,789),38327=>array(32,-70,928,829),38328=>array(125,-64,875,789),38329=>array(106,-67,894,788),38330=>array(112,-70,916,796),38331=>array(120,-64,894,793),38332=>array(108,-65,894,797),38333=>array(110,-65,901,789),38334=>array(116,-64,906,790),38335=>array(124,-68,912,782),38336=>array(107,-69,893,810),38337=>array(125,-64,875,789),38338=>array(125,-64,875,789),38339=>array(130,-68,906,783),38340=>array(125,-64,875,799),38341=>array(110,-63,888,812),38342=>array(106,-59,890,796),38343=>array(108,-59,892,803),38344=>array(114,-65,909,790),38345=>array(101,-52,894,797),38346=>array(107,-67,897,783),38347=>array(113,-67,898,792),38348=>array(117,-68,904,788),38349=>array(123,-69,913,784),38350=>array(125,-64,875,789),38351=>array(125,-64,875,789),38352=>array(124,-69,914,789),38353=>array(110,-64,911,794),38354=>array(98,-52,895,805),38355=>array(128,-69,908,782),38356=>array(123,-71,910,785),38357=>array(115,-66,907,791),38358=>array(120,-56,895,794),38359=>array(100,-61,900,800),38360=>array(132,-64,882,789),38361=>array(119,-64,881,789),38362=>array(101,-56,893,794),38363=>array(114,-65,897,788),38364=>array(104,-70,904,792),38365=>array(102,-68,898,784),38366=>array(121,-68,916,783),38367=>array(116,-67,893,784),38368=>array(119,-69,917,790),38369=>array(114,-61,902,793),38370=>array(97,-70,902,785),38371=>array(116,-67,892,787),38372=>array(118,-68,915,789),38373=>array(116,-73,908,785),38374=>array(125,-64,875,789),38375=>array(125,-64,875,797),38376=>array(116,-57,874,823),38377=>array(115,-67,853,801),38378=>array(120,-57,879,821),38379=>array(100,-67,867,826),38380=>array(116,-57,874,823),38381=>array(106,-56,860,820),38382=>array(112,-64,864,802),38383=>array(98,-57,869,832),38384=>array(123,-59,883,815),38385=>array(109,-67,862,822),38386=>array(108,-65,873,818),38387=>array(104,-68,864,826),38388=>array(100,-60,859,820),38389=>array(107,-66,864,816),38390=>array(110,-69,865,826),38391=>array(121,-63,874,826),38392=>array(105,-63,872,823),38393=>array(109,-60,875,821),38394=>array(96,-61,870,819),38395=>array(111,-63,873,824),38396=>array(96,-64,867,823),38397=>array(119,-65,874,817),38398=>array(109,-61,867,828),38399=>array(109,-61,867,828),38400=>array(116,-59,889,824),38401=>array(104,-61,880,810),38402=>array(95,-60,866,830),38403=>array(100,-62,873,829),38404=>array(108,-63,862,817),38405=>array(100,-64,877,821),38406=>array(121,-64,879,823),38407=>array(111,-64,889,821),38408=>array(98,-69,871,818),38409=>array(99,-66,873,811),38410=>array(106,-70,872,822),38411=>array(109,-71,865,817),38412=>array(100,-67,868,826),38413=>array(103,-67,865,821),38414=>array(101,-63,873,815),38415=>array(109,-69,862,813),38416=>array(104,-59,858,830),38417=>array(106,-55,865,822),38418=>array(108,-64,874,828),38419=>array(108,-64,874,828),38420=>array(98,-56,876,831),38421=>array(91,-69,871,822),38422=>array(93,-66,870,821),38423=>array(103,-64,872,834),38424=>array(93,-66,870,821),38425=>array(97,-67,875,826),38426=>array(93,-64,868,830),38427=>array(112,-64,888,830),38428=>array(49,-69,942,854),38429=>array(358,-68,720,782),38430=>array(115,-69,926,824),38431=>array(101,-63,942,830),38432=>array(102,-63,960,789),38433=>array(104,-68,935,824),38434=>array(134,-63,964,791),38435=>array(109,-62,949,834),38436=>array(112,-61,969,832),38437=>array(112,-63,970,795),38438=>array(112,-69,959,820),38439=>array(112,-64,955,829),38440=>array(119,-68,959,793),38441=>array(119,-65,939,831),38442=>array(104,-67,964,795),38443=>array(86,-70,959,783),38444=>array(107,-52,959,858),38445=>array(109,-69,952,840),38446=>array(98,-68,935,788),38447=>array(119,-61,954,835),38448=>array(111,-58,960,829),38449=>array(121,-64,952,829),38450=>array(103,-77,953,827),38451=>array(99,-64,875,784),38452=>array(110,-69,883,788),38453=>array(80,-59,951,835),38454=>array(96,-63,946,837),38455=>array(96,-58,950,800),38456=>array(96,-68,963,837),38457=>array(110,-70,960,824),38458=>array(115,-69,965,832),38459=>array(97,-73,949,782),38460=>array(140,-63,964,845),38461=>array(135,-64,953,829),38462=>array(136,-77,975,850),38463=>array(93,-75,927,778),38464=>array(102,-71,946,824),38465=>array(102,-71,954,839),38466=>array(99,-68,948,836),38467=>array(116,-71,955,780),38468=>array(110,-79,945,842),38469=>array(89,-61,945,786),38470=>array(100,-50,924,838),38471=>array(98,-63,932,826),38472=>array(88,-63,930,826),38473=>array(96,-64,921,786),38474=>array(124,-73,942,834),38475=>array(99,-82,936,792),38476=>array(104,-69,941,785),38477=>array(101,-68,955,846),38478=>array(116,-70,966,823),38479=>array(111,-63,927,825),38480=>array(114,-61,945,795),38481=>array(110,-64,929,786),38482=>array(108,-77,956,845),38483=>array(103,-68,955,829),38484=>array(109,-63,960,849),38485=>array(100,-73,950,821),38486=>array(109,-69,972,843),38487=>array(109,-68,918,833),38488=>array(116,-69,958,783),38489=>array(81,-65,958,786),38490=>array(104,-69,962,833),38491=>array(95,-61,964,827),38492=>array(108,-74,958,829),38493=>array(89,-65,951,836),38494=>array(113,-62,959,838),38495=>array(123,-64,953,829),38496=>array(81,-67,951,839),38497=>array(116,-66,966,836),38498=>array(100,-70,959,831),38499=>array(102,-67,950,835),38500=>array(111,-65,956,853),38501=>array(108,-65,909,851),38502=>array(99,-66,952,831),38503=>array(99,-67,922,783),38504=>array(99,-67,929,783),38505=>array(100,-67,944,827),38506=>array(97,-67,939,835),38507=>array(115,-70,953,826),38508=>array(74,-75,963,795),38509=>array(116,-69,953,832),38510=>array(100,-69,954,835),38511=>array(110,-68,965,828),38512=>array(110,-68,964,843),38513=>array(104,-68,909,832),38514=>array(78,-70,935,810),38515=>array(104,-79,950,827),38516=>array(128,-69,974,845),38517=>array(95,-67,970,831),38518=>array(116,-62,917,837),38519=>array(119,-64,896,839),38520=>array(103,-58,951,833),38521=>array(113,-71,948,838),38522=>array(97,-66,958,846),38523=>array(119,-64,939,791),38524=>array(128,-71,967,830),38525=>array(89,-71,934,779),38526=>array(103,-77,967,783),38527=>array(93,-54,958,797),38528=>array(110,-58,956,828),38529=>array(99,-56,954,798),38530=>array(110,-68,964,851),38531=>array(103,-52,969,863),38532=>array(107,-61,972,791),38533=>array(99,-55,902,800),38534=>array(93,-60,959,848),38535=>array(97,-67,961,829),38536=>array(90,-60,964,800),38537=>array(114,-64,959,819),38538=>array(101,-71,950,837),38539=>array(92,-68,927,845),38540=>array(92,-68,943,844),38541=>array(92,-74,932,844),38542=>array(100,-60,958,832),38543=>array(99,-64,942,825),38544=>array(113,-62,952,828),38545=>array(116,-67,957,829),38546=>array(118,-68,963,843),38547=>array(118,-65,957,836),38548=>array(96,-56,932,801),38549=>array(92,-70,941,784),38550=>array(102,-70,928,839),38551=>array(97,-71,956,819),38552=>array(86,-64,957,804),38553=>array(109,-67,960,819),38554=>array(93,-69,954,835),38555=>array(93,-68,950,841),38556=>array(95,-65,941,830),38557=>array(93,-74,916,843),38558=>array(109,-72,983,832),38559=>array(83,-73,970,842),38560=>array(113,-62,965,838),38561=>array(113,-78,965,831),38562=>array(111,-65,973,823),38563=>array(100,-70,957,833),38564=>array(110,-66,960,836),38565=>array(110,-64,963,837),38566=>array(96,-68,937,845),38567=>array(85,-68,963,809),38568=>array(106,-68,967,838),38569=>array(98,-74,970,839),38570=>array(106,-66,962,855),38571=>array(106,-73,954,832),38572=>array(111,-68,947,781),38573=>array(106,-62,953,794),38574=>array(92,-57,952,864),38575=>array(101,-65,938,833),38576=>array(100,-75,934,786),38577=>array(112,-59,953,832),38578=>array(93,-69,920,826),38579=>array(38,-69,984,839),38580=>array(77,-66,936,830),38581=>array(85,-68,955,835),38582=>array(65,-57,958,833),38583=>array(47,-71,963,830),38584=>array(47,-71,963,828),38585=>array(31,-69,954,845),38586=>array(36,-69,937,847),38587=>array(32,-76,968,844),38588=>array(53,-69,947,840),38589=>array(34,-65,897,837),38590=>array(40,-61,932,824),38591=>array(53,-70,953,826),38592=>array(46,-73,948,833),38593=>array(39,-66,939,803),38594=>array(38,-68,951,831),38595=>array(49,-68,953,830),38596=>array(36,-68,953,827),38597=>array(48,-59,953,837),38598=>array(55,-67,962,831),38599=>array(31,-75,924,818),38600=>array(36,-67,952,834),38601=>array(55,-63,957,836),38602=>array(40,-67,956,842),38603=>array(40,-61,932,843),38604=>array(34,-71,956,833),38605=>array(49,-72,948,824),38606=>array(42,-59,956,837),38607=>array(40,-49,916,830),38608=>array(40,-78,928,833),38609=>array(39,-63,953,833),38610=>array(30,-70,949,841),38611=>array(28,-65,954,839),38612=>array(38,-70,955,827),38613=>array(31,-71,952,836),38614=>array(59,-65,954,828),38615=>array(53,-63,950,839),38616=>array(36,-71,975,826),38617=>array(42,-70,958,843),38618=>array(37,-62,946,833),38619=>array(43,-68,954,847),38620=>array(45,-61,955,833),38621=>array(53,-65,954,839),38622=>array(38,-68,956,842),38623=>array(46,-65,939,839),38624=>array(14,-59,925,822),38625=>array(44,-71,952,824),38626=>array(64,-73,957,834),38627=>array(43,-70,950,834),38628=>array(53,-82,914,809),38629=>array(32,-67,970,839),38630=>array(14,-59,965,822),38631=>array(20,-41,956,837),38632=>array(82,-65,943,778),38633=>array(60,-60,955,790),38634=>array(96,-69,888,800),38635=>array(75,-58,929,797),38636=>array(41,-63,948,784),38637=>array(69,-48,965,802),38638=>array(54,-34,964,796),38639=>array(59,-63,963,790),38640=>array(46,-62,971,822),38641=>array(46,-62,941,798),38642=>array(76,-71,930,805),38643=>array(30,-68,916,772),38644=>array(48,-16,941,781),38645=>array(45,-76,982,785),38646=>array(43,-63,961,810),38647=>array(105,-67,914,786),38648=>array(73,-67,938,785),38649=>array(41,-37,956,790),38650=>array(47,-64,926,787),38651=>array(85,-32,945,802),38652=>array(60,-67,936,781),38653=>array(66,-64,941,783),38654=>array(41,-68,941,782),38655=>array(55,-68,975,785),38656=>array(79,-70,930,787),38657=>array(32,-70,948,777),38658=>array(45,-62,981,792),38659=>array(68,-72,935,796),38660=>array(74,-52,916,800),38661=>array(78,-68,953,782),38662=>array(29,-72,947,811),38663=>array(35,-71,965,808),38664=>array(47,-64,951,791),38665=>array(70,-65,947,790),38666=>array(75,-28,930,778),38667=>array(73,-79,947,789),38668=>array(39,-59,899,787),38669=>array(56,-67,935,790),38670=>array(77,-67,943,790),38671=>array(61,-64,924,787),38672=>array(57,-67,974,787),38673=>array(67,-62,942,798),38674=>array(56,-67,970,827),38675=>array(39,-67,956,789),38676=>array(67,-54,939,798),38677=>array(55,-35,962,829),38678=>array(40,-67,968,789),38679=>array(81,-82,965,798),38680=>array(54,-67,913,788),38681=>array(34,-72,986,792),38682=>array(113,-53,949,791),38683=>array(68,-70,938,791),38684=>array(65,-68,909,785),38685=>array(96,-74,911,783),38686=>array(92,-59,967,813),38687=>array(46,-71,956,783),38688=>array(64,-72,968,783),38689=>array(43,-73,981,789),38690=>array(43,-72,969,824),38691=>array(58,-75,952,799),38692=>array(89,-55,902,802),38693=>array(54,-59,965,799),38694=>array(48,-67,967,787),38695=>array(51,-71,962,823),38696=>array(52,-60,939,800),38697=>array(90,-69,927,787),38698=>array(41,-64,924,797),38699=>array(82,-69,919,785),38700=>array(59,-69,941,783),38701=>array(52,-66,891,778),38702=>array(58,-49,955,780),38703=>array(51,-31,979,779),38704=>array(56,-65,964,796),38705=>array(60,-66,927,832),38706=>array(70,-62,965,817),38707=>array(88,-56,938,787),38708=>array(53,-16,975,829),38709=>array(63,-68,957,785),38710=>array(53,-53,959,785),38711=>array(83,-67,936,783),38712=>array(68,-70,900,815),38713=>array(31,-72,946,792),38714=>array(44,-63,964,819),38715=>array(57,-54,951,807),38716=>array(55,-64,971,846),38717=>array(60,-69,962,801),38718=>array(54,-56,949,794),38719=>array(43,-62,992,823),38720=>array(77,-70,948,808),38721=>array(94,-73,928,800),38722=>array(48,-73,941,790),38723=>array(33,-65,967,787),38724=>array(72,-64,928,799),38725=>array(48,-47,970,836),38726=>array(53,-56,949,829),38727=>array(65,-67,961,786),38728=>array(74,-28,929,779),38729=>array(55,-66,978,836),38730=>array(79,-51,934,795),38731=>array(61,-68,957,792),38732=>array(70,-79,939,825),38733=>array(42,-60,971,763),38734=>array(95,-58,971,763),38735=>array(43,-60,971,823),38736=>array(24,-50,981,809),38737=>array(104,-65,915,837),38738=>array(104,-65,915,837),38739=>array(51,-67,927,821),38740=>array(51,-67,938,852),38741=>array(38,-66,948,836),38742=>array(41,-66,952,840),38743=>array(55,-72,959,831),38744=>array(68,-63,968,841),38745=>array(70,-58,938,835),38746=>array(55,-74,976,832),38747=>array(53,-65,968,845),38748=>array(55,-72,950,829),38749=>array(48,-63,968,848),38750=>array(49,-65,944,826),38751=>array(49,-44,959,820),38752=>array(44,-73,925,838),38753=>array(36,-73,970,837),38754=>array(69,-77,924,784),38755=>array(69,-77,924,784),38756=>array(49,-26,963,849),38757=>array(31,-68,955,800),38758=>array(48,-57,957,797),38759=>array(33,-68,990,833),38760=>array(59,-69,949,807),38761=>array(73,-69,927,829),38762=>array(60,-69,951,825),38763=>array(57,-65,960,830),38764=>array(57,-69,953,831),38765=>array(54,-70,915,830),38766=>array(71,-50,919,851),38767=>array(51,-50,949,840),38768=>array(62,-68,969,828),38769=>array(62,-72,971,828),38770=>array(60,-68,968,833),38771=>array(60,-69,952,832),38772=>array(44,-67,969,824),38773=>array(60,-66,951,832),38774=>array(60,-65,956,835),38775=>array(63,-53,896,843),38776=>array(62,-74,971,837),38777=>array(48,-71,928,838),38778=>array(62,-64,986,830),38779=>array(65,-72,966,822),38780=>array(53,-64,955,829),38781=>array(63,-50,956,844),38782=>array(53,-70,947,824),38783=>array(65,-53,924,847),38784=>array(66,-71,917,831),38785=>array(69,-72,967,831),38786=>array(53,-71,967,823),38787=>array(61,-70,963,824),38788=>array(55,-67,961,824),38789=>array(42,-67,961,835),38790=>array(43,-70,957,823),38791=>array(53,-70,925,823),38792=>array(66,-73,978,843),38793=>array(66,-72,960,827),38794=>array(60,-69,953,829),38795=>array(53,-64,950,836),38796=>array(82,-58,966,830),38797=>array(59,-65,951,836),38798=>array(60,-71,970,830),38799=>array(53,-72,944,805),38800=>array(66,-68,940,834),38801=>array(51,-68,937,820),38802=>array(51,-66,949,826),38803=>array(51,-68,956,820),38804=>array(61,-70,969,838),38805=>array(49,-68,971,836),38806=>array(59,-74,959,836),38807=>array(39,-67,968,839),38808=>array(52,-70,943,835),38809=>array(62,-52,916,842),38810=>array(55,-50,955,859),38811=>array(73,-67,954,848),38812=>array(63,-68,961,829),38813=>array(64,-70,936,825),38814=>array(63,-73,959,830),38815=>array(73,-64,960,847),38816=>array(63,-65,919,847),38817=>array(62,-62,953,836),38818=>array(51,-68,976,828),38819=>array(45,-65,965,837),38820=>array(60,-67,954,836),38821=>array(56,-69,977,840),38822=>array(56,-66,968,841),38823=>array(56,-65,947,843),38824=>array(68,-69,922,827),38825=>array(46,-66,914,837),38826=>array(43,-68,952,841),38827=>array(66,-68,918,843),38828=>array(55,-72,967,829),38829=>array(47,-70,962,832),38830=>array(63,-68,975,826),38831=>array(53,-72,913,817),38832=>array(63,-69,951,817),38833=>array(53,-69,926,848),38834=>array(47,-79,952,821),38835=>array(51,-50,968,847),38836=>array(52,-70,948,820),38837=>array(47,-79,995,841),38838=>array(55,-48,943,855),38839=>array(54,-79,946,821),38840=>array(46,-69,952,825),38841=>array(51,-55,948,854),38842=>array(55,-70,956,824),38843=>array(65,-67,961,824),38844=>array(65,-68,970,833),38845=>array(65,-67,964,841),38846=>array(47,-67,948,836),38847=>array(54,-68,960,834),38848=>array(69,-65,961,831),38849=>array(62,-68,956,829),38850=>array(39,-65,950,842),38851=>array(55,-73,949,835),38852=>array(60,-73,967,823),38853=>array(53,-71,960,828),38854=>array(51,-76,968,834),38855=>array(66,-73,960,832),38856=>array(65,-64,981,839),38857=>array(68,-65,961,829),38858=>array(68,-58,946,808),38859=>array(72,-64,931,840),38860=>array(73,-62,901,844),38861=>array(59,-70,981,843),38862=>array(54,-71,981,841),38863=>array(39,-68,968,852),38864=>array(58,-69,985,847),38865=>array(23,-68,968,825),38866=>array(51,-70,943,834),38867=>array(54,-66,946,837),38868=>array(53,-75,973,836),38869=>array(68,-68,954,841),38870=>array(66,-67,977,840),38871=>array(59,-69,954,846),38872=>array(53,-67,976,840),38873=>array(39,-73,975,837),38874=>array(60,-66,949,834),38875=>array(68,-76,988,834),38876=>array(62,-70,951,842),38877=>array(57,-73,956,832),38878=>array(57,-70,959,839),38879=>array(53,-67,972,845),38880=>array(46,-73,952,831),38881=>array(62,-73,958,830),38882=>array(54,-73,966,830),38883=>array(65,-65,927,840),38884=>array(65,-65,981,840),38885=>array(62,-73,957,842),38886=>array(62,-73,894,820),38887=>array(61,-64,901,826),38888=>array(49,-80,948,840),38889=>array(47,-57,915,830),38890=>array(28,-66,945,809),38891=>array(50,-68,951,822),38892=>array(59,-76,901,817),38893=>array(65,-13,935,816),38894=>array(53,-24,947,823),38895=>array(49,-60,964,829),38896=>array(51,-35,956,820),38897=>array(49,-60,964,836),38898=>array(35,-29,966,826),38899=>array(72,-68,928,840),38900=>array(68,-74,932,842),38901=>array(66,-59,916,828),38902=>array(72,-64,914,818),38903=>array(56,-64,921,834),38904=>array(62,-72,972,834),38905=>array(65,-49,959,846),38906=>array(51,-72,973,835),38907=>array(66,-73,957,840),38908=>array(44,-56,951,841),38909=>array(50,-70,952,849),38910=>array(35,-70,941,825),38911=>array(63,-67,937,845),38912=>array(58,-74,976,824),38913=>array(79,-70,938,785),38914=>array(76,-68,950,791),38915=>array(126,-69,939,787),38916=>array(40,-79,961,826),38917=>array(48,-68,947,784),38918=>array(62,-76,960,801),38919=>array(54,-71,962,790),38920=>array(51,-71,946,817),38921=>array(40,-71,946,783),38922=>array(55,-71,961,788),38923=>array(29,-72,957,790),38924=>array(47,-64,964,790),38925=>array(45,-78,965,824),38926=>array(35,-68,970,833),38927=>array(49,-64,963,798),38928=>array(53,-70,959,781),38929=>array(42,-77,953,788),38930=>array(47,-66,957,822),38931=>array(53,-68,952,834),38932=>array(124,-68,952,788),38933=>array(128,-68,952,829),38934=>array(40,-60,966,844),38935=>array(32,-70,970,832),38936=>array(42,-68,955,839),38937=>array(38,-71,957,783),38938=>array(48,-64,966,792),38939=>array(42,-73,972,823),38940=>array(35,-70,962,831),38941=>array(53,-75,957,833),38942=>array(59,-53,968,856),38943=>array(37,-64,943,819),38944=>array(32,-68,967,836),38945=>array(62,-68,966,809),38946=>array(39,-68,956,801),38947=>array(95,-70,947,787),38948=>array(91,-70,963,787),38949=>array(96,-66,962,795),38950=>array(44,-65,961,844),38951=>array(107,-76,968,828),38952=>array(29,-79,971,782),38953=>array(44,-73,963,832),38954=>array(38,-68,961,832),38955=>array(36,-69,957,823),38956=>array(24,-61,959,830),38957=>array(52,-61,959,787),38958=>array(32,-78,975,802),38959=>array(32,-78,975,829),38960=>array(47,-71,967,840),38961=>array(48,-78,965,819),38962=>array(44,-79,964,793),38963=>array(36,-77,970,823),38964=>array(18,-82,959,826),38965=>array(25,-77,970,783),38966=>array(30,-61,959,814),38967=>array(38,-69,972,838),38968=>array(48,-72,959,789),38969=>array(35,-72,973,834),38970=>array(49,-65,965,824),38971=>array(45,-71,960,833),38972=>array(44,-72,973,829),38973=>array(35,-73,954,834),38974=>array(37,-68,948,826),38975=>array(33,-76,955,849),38976=>array(32,-73,951,836),38977=>array(38,-83,963,833),38978=>array(29,-73,964,833),38979=>array(52,-74,959,826),38980=>array(77,-71,962,788),38981=>array(42,-74,956,833),38982=>array(43,-68,964,788),38983=>array(34,-68,963,833),38984=>array(38,-82,959,826),38985=>array(44,-79,965,829),38986=>array(60,-78,953,840),38987=>array(35,-68,963,790),38988=>array(39,-60,956,787),38989=>array(41,-64,951,825),38990=>array(57,-63,959,794),38991=>array(57,-75,958,808),38992=>array(62,-81,971,783),38993=>array(38,-67,975,839),38994=>array(50,-73,964,788),38995=>array(53,-68,963,827),38996=>array(33,-65,961,830),38997=>array(45,-70,956,783),38998=>array(21,-77,967,831),38999=>array(47,-75,968,827),39000=>array(38,-57,962,796),39001=>array(45,-67,979,787),39002=>array(57,-78,964,834),39003=>array(43,-73,960,835),39004=>array(56,-72,970,829),39005=>array(69,-74,951,786),39006=>array(38,-67,960,828),39007=>array(40,-80,955,788),39008=>array(31,-73,960,784),39009=>array(39,-72,959,846),39010=>array(62,-65,973,830),39011=>array(33,-60,963,844),39012=>array(47,-48,963,850),39013=>array(46,-66,966,790),39014=>array(26,-48,963,840),39015=>array(41,-68,959,820),39016=>array(49,-70,959,808),39017=>array(36,-74,964,834),39018=>array(47,-68,978,831),39019=>array(56,-65,967,837),39020=>array(61,-67,952,788),39021=>array(47,-67,952,822),39022=>array(44,-64,965,844),39023=>array(43,-73,964,787),39024=>array(51,-64,958,843),39025=>array(28,-72,959,840),39026=>array(47,-66,964,847),39027=>array(35,-68,959,800),39028=>array(25,-62,961,844),39029=>array(78,-80,908,775),39030=>array(47,-60,930,783),39031=>array(88,-60,934,794),39032=>array(50,-66,937,774),39033=>array(37,-64,937,778),39034=>array(25,-61,940,822),39035=>array(30,-62,937,807),39036=>array(32,-68,933,772),39037=>array(31,-70,936,787),39038=>array(36,-61,953,787),39039=>array(59,-64,955,832),39040=>array(27,-68,935,814),39041=>array(35,-65,930,783),39042=>array(36,-65,936,783),39043=>array(27,-76,921,822),39044=>array(50,-65,936,779),39045=>array(36,-67,940,832),39046=>array(36,-60,940,830),39047=>array(18,-77,940,822),39048=>array(35,-59,943,783),39049=>array(55,-76,918,812),39050=>array(24,-61,933,830),39051=>array(33,-76,964,799),39052=>array(19,-69,915,830),39053=>array(21,-63,921,806),39054=>array(26,-70,942,827),39055=>array(32,-69,931,826),39056=>array(104,-70,929,778),39057=>array(51,-67,957,824),39058=>array(32,-71,950,802),39059=>array(47,-69,952,814),39060=>array(23,-76,933,822),39061=>array(18,-71,950,826),39062=>array(27,-70,942,827),39063=>array(22,-63,934,790),39064=>array(32,-63,941,788),39065=>array(117,-67,962,788),39066=>array(50,-73,937,778),39067=>array(52,-71,935,812),39068=>array(30,-68,940,832),39069=>array(31,-63,941,838),39070=>array(31,-70,921,784),39071=>array(50,-65,940,820),39072=>array(31,-70,940,827),39073=>array(29,-80,938,778),39074=>array(28,-72,937,782),39075=>array(32,-72,947,800),39076=>array(34,-81,964,861),39077=>array(61,-54,941,781),39078=>array(49,-62,927,832),39079=>array(22,-73,939,821),39080=>array(51,-68,967,783),39081=>array(43,-73,972,824),39082=>array(30,-73,965,797),39083=>array(24,-68,967,792),39084=>array(34,-68,954,787),39085=>array(32,-57,964,844),39086=>array(53,-63,967,850),39087=>array(32,-65,968,789),39088=>array(22,-57,955,825),39089=>array(37,-65,970,814),39090=>array(38,-71,967,820),39091=>array(41,-58,958,830),39092=>array(18,-57,944,822),39093=>array(41,-58,958,800),39094=>array(39,-62,959,800),39095=>array(33,-68,960,842),39096=>array(53,-64,963,809),39097=>array(17,-62,963,840),39098=>array(26,-61,967,791),39099=>array(42,-67,972,839),39100=>array(35,-65,970,829),39101=>array(44,-70,978,833),39102=>array(39,-75,970,781),39103=>array(40,-54,964,796),39104=>array(43,-73,961,833),39105=>array(36,-67,982,786),39106=>array(43,-60,970,798),39107=>array(26,-61,967,791),39108=>array(42,-74,970,784),39109=>array(43,-59,956,799),39110=>array(43,-68,980,832),39111=>array(43,-73,961,832),39112=>array(35,-64,966,820),39113=>array(31,-70,965,829),39114=>array(23,-62,974,791),39115=>array(31,-73,973,781),39116=>array(41,-65,974,829),39117=>array(26,-73,988,802),39118=>array(26,-63,942,790),39119=>array(20,-62,939,785),39120=>array(20,-62,939,804),39121=>array(16,-64,934,822),39122=>array(29,-67,936,812),39123=>array(8,-66,927,783),39124=>array(8,-65,939,783),39125=>array(20,-62,939,816),39126=>array(50,-58,972,819),39127=>array(20,-62,939,821),39128=>array(31,-60,963,789),39129=>array(43,-77,960,821),39130=>array(20,-70,931,817),39131=>array(64,-64,963,787),39132=>array(34,-69,967,824),39133=>array(55,-59,937,808),39134=>array(76,-59,936,770),39135=>array(43,-67,957,847),39136=>array(257,-34,731,839),39137=>array(48,-63,958,848),39138=>array(33,-54,962,839),39139=>array(41,-56,967,839),39140=>array(41,-73,936,839),39141=>array(28,-39,965,853),39142=>array(41,-50,966,839),39143=>array(42,-63,978,848),39144=>array(34,-76,939,822),39145=>array(40,-66,957,843),39146=>array(42,-31,949,838),39147=>array(40,-66,969,843),39148=>array(49,-81,957,840),39149=>array(42,-66,943,843),39150=>array(46,-68,957,844),39151=>array(34,-69,964,839),39152=>array(34,-64,951,843),39153=>array(40,-63,958,848),39154=>array(34,-64,969,839),39155=>array(46,-46,964,851),39156=>array(34,-55,956,842),39157=>array(34,-65,948,844),39158=>array(38,-56,960,842),39159=>array(34,-34,964,839),39160=>array(52,-63,958,848),39161=>array(40,-69,903,843),39162=>array(39,-84,979,824),39163=>array(36,-66,971,850),39164=>array(34,-68,906,839),39165=>array(36,-47,965,839),39166=>array(34,-70,944,839),39167=>array(39,-68,922,839),39168=>array(36,-74,985,839),39169=>array(36,-64,965,857),39170=>array(36,-52,954,857),39171=>array(40,-66,961,843),39172=>array(36,-65,948,857),39173=>array(34,-77,961,842),39174=>array(36,-70,960,857),39175=>array(31,-70,907,844),39176=>array(41,-54,964,852),39177=>array(40,-66,921,843),39178=>array(39,-70,964,843),39179=>array(39,-72,976,840),39180=>array(44,-69,958,841),39181=>array(46,-84,950,766),39182=>array(37,-64,982,844),39183=>array(38,-71,966,842),39184=>array(26,-64,974,840),39185=>array(43,-64,948,840),39186=>array(40,-66,959,843),39187=>array(34,-59,964,839),39188=>array(40,-66,944,843),39189=>array(36,-61,984,848),39190=>array(48,-44,953,846),39191=>array(42,-54,960,850),39192=>array(40,-66,971,843),39193=>array(36,-67,961,857),39194=>array(27,-64,956,855),39195=>array(32,-53,964,848),39196=>array(35,-64,980,828),39197=>array(40,-66,947,843),39198=>array(40,-67,959,843),39199=>array(34,-63,981,848),39200=>array(40,-66,957,843),39201=>array(40,-68,912,843),39202=>array(36,-65,956,857),39203=>array(24,-39,977,857),39204=>array(40,-66,961,843),39205=>array(47,-77,982,829),39206=>array(36,-62,978,857),39207=>array(32,-64,968,850),39208=>array(34,-64,931,839),39209=>array(37,-71,972,839),39210=>array(41,-73,990,834),39211=>array(36,-69,956,836),39212=>array(33,-78,918,838),39213=>array(38,-47,958,824),39214=>array(34,-75,943,832),39215=>array(40,-67,989,834),39216=>array(40,-71,959,834),39217=>array(33,-49,964,859),39218=>array(28,-60,915,848),39219=>array(48,-59,959,830),39220=>array(36,-68,963,857),39221=>array(25,-65,978,845),39222=>array(34,-34,947,853),39223=>array(36,-30,969,857),39224=>array(32,-48,975,845),39225=>array(36,-64,954,857),39226=>array(36,-65,951,832),39227=>array(36,-66,960,854),39228=>array(34,-64,971,846),39229=>array(40,-66,960,843),39230=>array(39,-69,932,843),39231=>array(41,-65,971,840),39232=>array(29,-63,950,835),39233=>array(18,-15,966,846),39234=>array(40,-66,959,843),39235=>array(34,-69,972,844),39236=>array(36,-30,964,857),39237=>array(40,-66,957,843),39238=>array(38,-68,950,834),39239=>array(36,-41,956,816),39240=>array(38,-55,955,847),39241=>array(40,-66,948,843),39242=>array(36,-84,957,859),39243=>array(40,-75,954,843),39244=>array(38,-66,959,843),39245=>array(24,-65,962,846),39246=>array(20,-68,956,843),39247=>array(29,-76,982,835),39248=>array(40,-66,953,843),39249=>array(28,-70,968,841),39250=>array(40,-68,962,843),39251=>array(26,-69,983,835),39252=>array(10,-74,957,849),39253=>array(17,-72,972,832),39254=>array(30,-64,967,828),39255=>array(35,-69,955,841),39256=>array(30,-33,960,849),39257=>array(32,-74,970,837),39258=>array(45,-30,929,857),39259=>array(38,-68,971,834),39260=>array(29,-71,982,816),39261=>array(29,-67,950,851),39262=>array(36,-70,960,839),39263=>array(30,-63,982,849),39264=>array(42,-65,956,837),39265=>array(41,-74,964,839),39266=>array(31,-64,983,839),39267=>array(242,2,685,829),39268=>array(31,-43,953,840),39269=>array(32,-60,948,840),39270=>array(31,-26,943,840),39271=>array(30,-66,891,826),39272=>array(25,-38,920,829),39273=>array(20,-67,939,825),39274=>array(40,-13,927,829),39275=>array(41,-69,957,829),39276=>array(41,-70,926,836),39277=>array(48,-71,953,829),39278=>array(47,-68,949,836),39279=>array(43,-58,953,836),39280=>array(42,-73,946,842),39281=>array(37,-28,946,835),39282=>array(41,-68,895,836),39283=>array(45,-68,911,830),39284=>array(41,-57,940,839),39285=>array(33,-67,927,829),39286=>array(36,-73,964,821),39287=>array(41,-66,912,841),39288=>array(49,-60,956,844),39289=>array(32,-65,975,837),39290=>array(42,-65,950,835),39291=>array(41,-71,966,836),39292=>array(39,-72,946,841),39293=>array(41,-65,931,831),39294=>array(41,-36,953,829),39295=>array(44,-61,946,829),39296=>array(41,-65,959,840),39297=>array(41,-79,946,831),39298=>array(36,-61,972,848),39299=>array(32,-68,964,825),39300=>array(40,-60,955,825),39301=>array(42,-70,881,838),39302=>array(47,-67,913,844),39303=>array(26,-16,947,821),39304=>array(37,-64,949,828),39305=>array(38,-71,943,829),39306=>array(41,-68,954,829),39307=>array(34,-68,960,827),39308=>array(48,-53,947,833),39309=>array(35,-71,935,817),39310=>array(43,-65,962,835),39311=>array(44,-67,916,838),39312=>array(27,-67,937,836),39313=>array(31,-43,938,813),39314=>array(27,-65,951,829),39315=>array(26,-90,955,822),39316=>array(29,-64,942,828),39317=>array(30,-81,948,821),39318=>array(95,-67,926,843),39319=>array(34,-64,959,831),39320=>array(55,-65,964,834),39321=>array(40,-65,955,817),39322=>array(40,-62,973,823),39323=>array(40,-74,966,841),39324=>array(40,-71,971,821),39325=>array(33,-77,965,828),39326=>array(44,-68,963,830),39327=>array(59,-68,958,827),39328=>array(70,-70,971,832),39329=>array(52,-69,956,824),39330=>array(34,-68,956,832),39331=>array(37,-62,975,833),39332=>array(48,-62,940,839),39333=>array(18,-62,974,838),39334=>array(33,-68,988,835),39335=>array(33,-61,983,839),39336=>array(28,-69,972,844),39337=>array(28,-67,956,839),39338=>array(33,-78,974,844),39339=>array(45,-70,975,816),39340=>array(56,-65,909,776),39341=>array(35,-68,964,790),39342=>array(52,-64,912,784),39343=>array(45,-73,950,781),39344=>array(56,-62,920,829),39345=>array(49,-63,964,833),39346=>array(36,-63,949,809),39347=>array(47,-62,951,836),39348=>array(53,-57,893,829),39349=>array(53,-69,947,782),39350=>array(30,-67,965,835),39351=>array(45,-62,954,840),39352=>array(45,-53,930,812),39353=>array(45,-52,891,803),39354=>array(32,-74,981,780),39355=>array(35,-71,978,825),39356=>array(40,-65,964,793),39357=>array(46,-68,909,783),39358=>array(25,-66,969,831),39359=>array(38,-57,931,827),39360=>array(45,-55,970,831),39361=>array(47,-66,967,826),39362=>array(55,-74,924,812),39363=>array(53,-69,982,826),39364=>array(45,-69,961,833),39365=>array(45,-66,973,797),39366=>array(27,-52,948,799),39367=>array(47,-76,988,832),39368=>array(28,-48,954,814),39369=>array(39,-66,905,785),39370=>array(45,-63,1002,841),39371=>array(45,-71,921,785),39372=>array(47,-68,965,833),39373=>array(42,-70,954,783),39374=>array(38,-68,906,823),39375=>array(40,-69,954,782),39376=>array(49,-57,956,829),39377=>array(48,-68,937,847),39378=>array(36,-62,919,845),39379=>array(39,-63,971,783),39380=>array(43,-63,957,790),39381=>array(56,-65,897,836),39382=>array(43,-73,981,842),39383=>array(47,-74,987,833),39384=>array(45,-60,964,839),39385=>array(28,-64,962,837),39386=>array(34,-66,972,827),39387=>array(37,-62,961,833),39388=>array(46,-66,974,830),39389=>array(55,-61,943,795),39390=>array(28,-55,962,829),39391=>array(43,-58,916,788),39392=>array(35,-71,938,823),39393=>array(39,-66,911,789),39394=>array(27,-73,962,835),39395=>array(42,-70,966,826),39396=>array(37,-72,959,780),39397=>array(39,-71,969,832),39398=>array(49,-62,957,830),39399=>array(46,-68,918,786),39400=>array(45,-60,944,836),39401=>array(35,-66,975,787),39402=>array(34,-71,964,826),39403=>array(45,-66,990,831),39404=>array(35,-71,957,786),39405=>array(46,-60,949,804),39406=>array(40,-60,961,820),39407=>array(45,-65,966,836),39408=>array(54,-67,924,785),39409=>array(64,-62,972,839),39410=>array(45,-65,927,835),39411=>array(33,-66,968,834),39412=>array(46,-66,975,824),39413=>array(30,-57,965,799),39414=>array(43,-65,927,783),39415=>array(37,-66,985,828),39416=>array(35,-61,946,788),39417=>array(31,-67,967,825),39418=>array(43,-73,980,838),39419=>array(46,-59,959,792),39420=>array(29,-77,974,834),39421=>array(53,-65,927,788),39422=>array(44,-67,966,814),39423=>array(44,-69,967,849),39424=>array(42,-63,951,831),39425=>array(42,-63,949,836),39426=>array(52,-59,954,853),39427=>array(42,-58,973,861),39428=>array(39,-65,974,829),39429=>array(48,-66,957,836),39430=>array(53,-74,927,782),39431=>array(37,-65,991,832),39432=>array(42,-64,953,843),39433=>array(32,-63,979,786),39434=>array(64,-63,924,832),39435=>array(33,-65,981,829),39436=>array(42,-65,958,845),39437=>array(45,-65,982,790),39438=>array(44,-62,956,834),39439=>array(33,-71,970,831),39440=>array(42,-63,956,845),39441=>array(39,-58,952,844),39442=>array(49,-64,963,791),39443=>array(48,-63,973,837),39444=>array(46,-66,937,787),39445=>array(35,-69,956,785),39446=>array(60,-68,958,845),39447=>array(32,-58,969,833),39448=>array(27,-63,974,850),39449=>array(39,-66,933,807),39450=>array(39,-62,960,835),39451=>array(29,-73,968,780),39452=>array(41,-65,970,843),39453=>array(25,-68,977,828),39454=>array(40,-70,967,828),39455=>array(32,-63,937,862),39456=>array(48,-75,988,781),39457=>array(42,-66,957,842),39458=>array(30,-68,980,784),39459=>array(40,-57,960,849),39460=>array(44,-68,978,841),39461=>array(33,-67,984,788),39462=>array(42,-63,968,788),39463=>array(48,-48,917,809),39464=>array(42,-73,945,843),39465=>array(47,-68,979,838),39466=>array(48,-64,973,831),39467=>array(37,-61,976,837),39468=>array(41,-65,984,838),39469=>array(54,-71,939,830),39470=>array(46,-64,924,834),39471=>array(27,-65,939,843),39472=>array(40,-72,967,840),39473=>array(29,-63,972,840),39474=>array(56,-64,965,830),39475=>array(42,-63,944,788),39476=>array(35,-65,955,788),39477=>array(44,-74,967,783),39478=>array(58,-66,923,849),39479=>array(49,-64,970,791),39480=>array(51,-63,941,840),39481=>array(20,-63,966,812),39482=>array(55,-69,959,829),39483=>array(37,-63,968,834),39484=>array(31,-63,965,843),39485=>array(48,-64,922,787),39486=>array(30,-73,961,801),39487=>array(36,-75,959,832),39488=>array(57,-69,968,832),39489=>array(58,-68,956,847),39490=>array(40,-71,984,857),39491=>array(33,-63,949,792),39492=>array(28,-63,973,837),39493=>array(46,-66,951,794),39494=>array(50,-64,958,787),39495=>array(54,-66,946,830),39496=>array(52,-63,937,789),39497=>array(40,-55,955,831),39498=>array(29,-68,962,836),39499=>array(22,-62,989,846),39500=>array(31,-64,962,837),39501=>array(35,-65,967,837),39502=>array(23,-51,943,844),39503=>array(51,-72,963,789),39504=>array(45,-63,980,835),39505=>array(27,-71,956,797),39506=>array(48,-62,948,791),39507=>array(53,-69,924,831),39508=>array(42,-64,961,789),39509=>array(48,-56,979,833),39510=>array(35,-68,977,837),39511=>array(37,-70,962,846),39512=>array(41,-67,973,843),39513=>array(36,-60,964,852),39514=>array(52,-65,951,846),39515=>array(25,-62,945,788),39516=>array(54,-68,951,825),39517=>array(37,-77,962,844),39518=>array(36,-78,974,844),39519=>array(34,-61,964,791),39520=>array(41,-74,970,824),39521=>array(46,-53,964,839),39522=>array(38,-64,951,836),39523=>array(26,-63,972,845),39524=>array(50,-75,976,833),39525=>array(27,-70,955,834),39526=>array(49,-61,930,789),39527=>array(35,-62,937,832),39528=>array(45,-66,927,826),39529=>array(52,-60,959,829),39530=>array(26,-73,964,789),39531=>array(57,-62,938,803),39532=>array(83,-57,892,790),39533=>array(64,-70,945,789),39534=>array(69,-65,947,831),39535=>array(64,-58,876,826),39536=>array(72,-55,933,834),39537=>array(40,-54,926,786),39538=>array(68,-58,891,803),39539=>array(43,-69,951,844),39540=>array(41,-55,896,845),39541=>array(37,-60,936,784),39542=>array(58,-70,953,831),39543=>array(49,-57,897,778),39544=>array(51,-66,940,835),39545=>array(91,-60,914,844),39546=>array(34,-59,872,822),39547=>array(47,-57,942,842),39548=>array(72,-57,926,839),39549=>array(29,-62,944,826),39550=>array(44,-60,912,831),39551=>array(42,-73,959,772),39552=>array(47,-63,949,840),39553=>array(36,-62,941,824),39554=>array(84,-59,890,787),39555=>array(57,-58,924,785),39556=>array(33,-62,940,836),39557=>array(42,-71,941,823),39558=>array(66,-64,953,836),39559=>array(59,-63,933,848),39560=>array(47,-75,945,847),39561=>array(39,-67,936,820),39562=>array(41,-65,920,768),39563=>array(62,-60,950,834),39564=>array(33,-63,943,835),39565=>array(62,-59,954,853),39566=>array(33,-68,968,786),39567=>array(61,-69,943,833),39568=>array(47,-73,949,829),39569=>array(61,-64,939,828),39570=>array(47,-67,956,788),39571=>array(57,-65,941,834),39572=>array(47,-65,958,845),39573=>array(33,-73,957,833),39574=>array(44,-74,953,833),39575=>array(37,-63,927,833),39576=>array(89,-63,934,829),39577=>array(47,-68,978,841),39578=>array(57,-66,953,789),39579=>array(43,-69,954,828),39580=>array(36,-73,951,831),39581=>array(57,-66,904,826),39582=>array(33,-62,947,840),39583=>array(55,-64,901,834),39584=>array(57,-62,944,789),39585=>array(64,-62,936,787),39586=>array(57,-55,956,836),39587=>array(53,-69,942,782),39588=>array(26,-73,953,779),39589=>array(49,-72,936,834),39590=>array(49,-62,931,790),39591=>array(48,-67,952,834),39592=>array(101,-55,899,806),39593=>array(79,-68,965,822),39594=>array(59,-67,978,787),39595=>array(78,-68,964,822),39596=>array(76,-63,967,791),39597=>array(76,-53,951,801),39598=>array(70,-52,967,825),39599=>array(91,-66,958,844),39600=>array(60,-68,963,783),39601=>array(62,-67,952,845),39602=>array(90,-60,967,849),39603=>array(82,-72,973,829),39604=>array(65,-68,958,824),39605=>array(54,-54,971,839),39606=>array(69,-65,962,826),39607=>array(74,-67,948,833),39608=>array(57,-62,958,824),39609=>array(68,-71,961,838),39610=>array(62,-74,945,829),39611=>array(78,-69,962,829),39612=>array(47,-71,937,838),39613=>array(37,-74,959,835),39614=>array(78,-51,970,810),39615=>array(78,-70,953,835),39616=>array(58,-69,930,844),39617=>array(61,-68,964,786),39618=>array(63,-68,957,848),39619=>array(42,-73,943,783),39620=>array(46,-57,967,839),39621=>array(61,-70,940,807),39622=>array(74,-68,947,835),39623=>array(71,-65,941,840),39624=>array(52,-71,954,843),39625=>array(32,-71,959,841),39626=>array(65,-66,948,831),39627=>array(43,-72,938,825),39628=>array(67,-76,937,818),39629=>array(51,-64,968,837),39630=>array(69,-74,962,789),39631=>array(55,-66,941,841),39632=>array(62,-64,956,829),39633=>array(67,-67,908,783),39634=>array(80,-64,958,833),39635=>array(51,-72,947,837),39636=>array(79,-70,934,829),39637=>array(69,-53,955,862),39638=>array(57,-67,948,849),39639=>array(84,-64,954,836),39640=>array(102,-67,916,828),39641=>array(102,-67,916,833),39642=>array(70,-67,958,848),39643=>array(47,-66,968,849),39644=>array(70,-71,956,847),39645=>array(74,-68,926,848),39646=>array(56,-67,946,840),39647=>array(68,-50,956,847),39648=>array(39,-58,963,837),39649=>array(51,-62,961,832),39650=>array(51,-21,953,832),39651=>array(51,-59,957,832),39652=>array(31,-64,973,846),39653=>array(63,-61,967,839),39654=>array(51,-34,955,834),39655=>array(32,-67,967,839),39656=>array(34,-58,964,839),39657=>array(58,-59,959,782),39658=>array(51,-61,956,853),39659=>array(62,-64,970,844),39660=>array(39,-25,964,829),39661=>array(46,-44,962,853),39662=>array(51,-61,956,853),39663=>array(65,-64,969,839),39664=>array(72,-37,948,823),39665=>array(40,-43,966,830),39666=>array(39,-73,958,832),39667=>array(65,-50,938,849),39668=>array(55,-65,950,833),39669=>array(44,-70,949,837),39670=>array(50,-70,957,832),39671=>array(69,-67,957,835),39672=>array(44,-69,948,837),39673=>array(53,-64,989,841),39674=>array(60,-68,948,832),39675=>array(66,-63,957,836),39676=>array(52,-65,966,845),39677=>array(55,-31,956,840),39678=>array(62,-74,952,834),39679=>array(61,-57,981,856),39680=>array(35,-71,962,857),39681=>array(60,-50,942,857),39682=>array(51,-51,942,857),39683=>array(74,-59,955,834),39684=>array(59,-64,965,843),39685=>array(44,-68,962,828),39686=>array(41,-70,964,846),39687=>array(47,-50,964,853),39688=>array(29,-32,968,842),39689=>array(60,-66,956,831),39690=>array(52,-72,973,834),39691=>array(58,-64,954,849),39692=>array(40,-67,967,835),39693=>array(68,-68,949,846),39694=>array(49,-53,943,851),39695=>array(35,-69,942,825),39696=>array(65,-63,955,847),39697=>array(39,-50,965,853),39698=>array(40,-59,954,853),39699=>array(59,-83,903,824),39700=>array(53,-72,979,836),39701=>array(57,-77,971,856),39702=>array(50,-56,969,851),39703=>array(62,-70,968,838),39704=>array(46,-65,980,851),39705=>array(72,-55,961,851),39706=>array(48,-68,957,841),39707=>array(53,-66,955,829),39708=>array(38,-61,938,823),39709=>array(38,-61,938,823),39710=>array(38,-63,966,846),39711=>array(24,-68,949,839),39712=>array(50,-80,966,852),39713=>array(40,-45,932,855),39714=>array(58,-69,959,837),39715=>array(41,-62,944,839),39716=>array(52,-71,958,845),39717=>array(116,-71,891,826),39718=>array(116,-71,891,826),39719=>array(116,-61,893,835),39720=>array(118,-63,894,830),39721=>array(115,-65,898,832),39722=>array(102,-57,897,839),39723=>array(105,-55,901,840),39724=>array(107,-61,907,833),39725=>array(99,-71,901,823),39726=>array(110,-65,917,832),39727=>array(122,-24,909,826),39728=>array(53,-79,953,840),39729=>array(53,-58,952,845),39730=>array(72,-64,945,791),39731=>array(41,-68,927,826),39732=>array(60,-70,948,833),39733=>array(51,-64,955,783),39734=>array(54,-40,969,838),39735=>array(60,-67,977,826),39736=>array(40,-64,923,834),39737=>array(54,-50,939,813),39738=>array(55,-69,952,830),39739=>array(72,-64,927,830),39740=>array(45,-58,962,850),39741=>array(49,-62,973,836),39742=>array(49,-75,973,836),39743=>array(53,-66,968,843),39744=>array(37,-65,962,843),39745=>array(26,-76,959,848),39746=>array(46,-62,960,857),39747=>array(40,-35,941,840),39748=>array(74,-38,952,854),39749=>array(35,-66,962,839),39750=>array(39,-77,977,845),39751=>array(47,-75,960,770),39752=>array(34,-67,968,844),39753=>array(21,-69,929,823),39754=>array(34,-67,977,841),39755=>array(46,-76,961,842),39756=>array(38,-68,963,843),39757=>array(39,-48,960,841),39758=>array(38,-63,970,847),39759=>array(39,-70,966,836),39760=>array(26,-76,957,849),39761=>array(38,-63,966,841),39762=>array(28,-68,956,846),39763=>array(28,-56,956,849),39764=>array(27,-69,960,840),39765=>array(35,-75,970,834),39766=>array(38,-70,964,836),39767=>array(58,-70,960,851),39768=>array(44,-68,947,797),39769=>array(51,-70,965,831),39770=>array(43,-70,956,849),39771=>array(43,-66,894,841),39772=>array(88,-73,976,841),39773=>array(61,-65,887,841),39774=>array(43,-45,958,841),39775=>array(33,-48,957,842),39776=>array(35,-49,949,844),39777=>array(31,-71,916,839),39778=>array(31,-49,973,839),39779=>array(31,-61,945,839),39780=>array(41,-73,979,832),39781=>array(31,-49,976,839),39782=>array(39,-66,966,832),39783=>array(35,-70,976,835),39784=>array(35,-32,959,846),39785=>array(31,-49,931,839),39786=>array(31,-49,969,839),39787=>array(31,-49,969,839),39788=>array(40,-78,963,834),39789=>array(31,-49,955,839),39790=>array(31,-49,974,839),39791=>array(51,-68,947,837),39792=>array(39,-74,978,834),39793=>array(38,-32,954,835),39794=>array(31,-49,952,839),39795=>array(31,-74,948,839),39796=>array(34,-73,953,837),39797=>array(41,-62,973,837),39798=>array(34,-65,905,834),39799=>array(43,-64,966,841),39800=>array(31,-49,950,839),39801=>array(31,-56,954,839),39802=>array(47,-71,964,836),39803=>array(57,-69,919,833),39804=>array(48,-70,963,830),39805=>array(42,-70,961,831),39806=>array(44,-52,964,819),39807=>array(31,-73,981,842),39808=>array(38,-38,948,852),39809=>array(31,-61,962,839),39810=>array(52,-64,914,832),39811=>array(44,-65,948,843),39812=>array(16,-62,932,839),39813=>array(45,-67,982,831),39814=>array(44,-58,963,850),39815=>array(38,-67,976,837),39816=>array(52,-70,927,830),39817=>array(31,-70,950,839),39818=>array(33,-66,886,843),39819=>array(31,-69,944,839),39820=>array(31,-71,961,840),39821=>array(31,-73,971,839),39822=>array(45,-64,957,838),39823=>array(31,-49,947,839),39824=>array(42,-65,960,839),39825=>array(44,-46,967,844),39826=>array(39,-60,959,851),39827=>array(48,-61,961,845),39828=>array(31,-49,933,839),39829=>array(57,-71,970,838),39830=>array(31,-49,935,839),39831=>array(31,-77,948,839),39832=>array(44,-54,935,836),39833=>array(31,-49,908,839),39834=>array(44,-62,958,839),39835=>array(31,-75,976,834),39836=>array(31,-63,953,839),39837=>array(14,-67,991,836),39838=>array(51,-67,970,839),39839=>array(31,-51,964,839),39840=>array(33,-55,954,849),39841=>array(40,-69,972,833),39842=>array(46,-78,995,829),39843=>array(45,-67,915,839),39844=>array(55,-76,954,826),39845=>array(38,-69,984,840),39846=>array(36,-61,910,842),39847=>array(31,-49,954,839),39848=>array(40,-39,953,844),39849=>array(31,-49,937,853),39850=>array(44,-67,959,839),39851=>array(48,-66,959,843),39852=>array(31,-62,961,843),39853=>array(35,-39,967,847),39854=>array(44,-60,960,843),39855=>array(32,-72,974,834),39856=>array(31,-49,939,839),39857=>array(31,-49,949,839),39858=>array(30,-61,979,839),39859=>array(38,-55,945,835),39860=>array(45,-71,982,839),39861=>array(36,-67,966,834),39862=>array(41,-70,965,841),39863=>array(11,-49,939,839),39864=>array(43,-61,978,845),39865=>array(33,-65,944,836),39866=>array(18,-57,948,836),39867=>array(31,-49,975,839),39868=>array(31,-49,972,839),39869=>array(29,-68,979,832),39870=>array(11,-54,959,839),39871=>array(33,-53,962,845),39872=>array(49,-52,979,840),39873=>array(39,-67,978,840),39874=>array(39,-56,937,839),39875=>array(39,-65,961,839),39876=>array(28,-64,979,842),39877=>array(28,-66,983,842),39878=>array(36,-67,957,839),39879=>array(41,-65,965,845),39880=>array(41,-71,977,840),39881=>array(45,-52,954,833),39882=>array(48,-70,960,836),39883=>array(29,-37,980,841),39884=>array(45,-61,954,833),39885=>array(41,-68,964,842),39886=>array(26,-68,961,841),39887=>array(36,-45,914,853),39888=>array(41,-43,955,841),39889=>array(41,-49,964,841),39890=>array(41,-49,945,841),39891=>array(43,-70,964,842),39892=>array(44,-64,950,846),39893=>array(32,-79,974,839),39894=>array(35,-59,964,843),39895=>array(32,-65,971,854),39896=>array(32,-69,968,840),39897=>array(35,-67,962,842),39898=>array(31,-65,988,838),39899=>array(51,-65,916,839),39900=>array(30,-68,971,841),39901=>array(-15,-70,916,841),39902=>array(39,-74,964,825),39903=>array(29,-57,992,827),39904=>array(32,-65,990,831),39905=>array(46,-62,957,846),39906=>array(38,-48,965,845),39907=>array(38,-64,953,845),39908=>array(42,-63,971,836),39909=>array(32,-39,960,841),39910=>array(29,-62,986,838),39911=>array(49,-64,914,854),39912=>array(44,-62,972,843),39913=>array(33,-68,985,868),39914=>array(43,-67,986,839),39915=>array(32,-62,971,842),39916=>array(35,-72,988,836),39917=>array(37,-44,957,796),39918=>array(42,-65,958,845),39919=>array(46,-67,945,837),39920=>array(44,-33,972,851),39921=>array(42,-74,962,836),39922=>array(53,-73,961,828),39923=>array(34,-62,962,841),39924=>array(33,-62,946,836),39925=>array(65,-81,956,834),39926=>array(42,-63,938,836),39927=>array(43,-68,978,843),39928=>array(39,-67,983,837),39929=>array(42,-45,945,836),39930=>array(42,-64,953,837),39931=>array(43,-63,930,837),39932=>array(42,-57,980,849),39933=>array(52,-65,929,837),39934=>array(42,-69,963,836),39935=>array(47,-62,923,848),39936=>array(44,-64,940,847),39937=>array(49,-64,973,847),39938=>array(37,-59,909,840),39939=>array(49,-57,973,847),39940=>array(43,-40,970,847),39941=>array(49,-61,932,847),39942=>array(39,-61,973,843),39943=>array(43,-64,996,845),39944=>array(37,-67,973,836),39945=>array(39,-45,954,847),39946=>array(54,-53,968,847),39947=>array(24,-36,953,834),39948=>array(33,-70,972,829),39949=>array(31,-67,978,837),39950=>array(35,-73,984,838),39951=>array(49,-65,963,847),39952=>array(38,-61,958,844),39953=>array(49,-45,951,847),39954=>array(35,-64,973,844),39955=>array(38,-44,968,849),39956=>array(44,-66,977,835),39957=>array(37,-63,963,827),39958=>array(51,-64,942,848),39959=>array(44,-70,930,834),39960=>array(49,-26,943,843),39961=>array(24,-60,973,847),39962=>array(49,-21,949,855),39963=>array(44,-39,974,826),39964=>array(30,-64,975,852),39965=>array(39,-68,959,838),39966=>array(24,-60,953,847),39967=>array(49,-65,949,847),39968=>array(49,-66,966,847),39969=>array(43,-65,931,837),39970=>array(49,-63,949,847),39971=>array(34,-62,958,836),39972=>array(33,-65,958,845),39973=>array(38,-72,964,828),39974=>array(69,-56,943,847),39975=>array(34,-67,963,836),39976=>array(56,-61,927,844),39977=>array(37,-62,962,845),39978=>array(29,-26,967,847),39979=>array(43,-64,978,838),39980=>array(37,-66,982,830),39981=>array(42,-65,965,843),39982=>array(44,-39,974,826),39983=>array(34,-65,937,839),39984=>array(53,-66,944,839),39985=>array(41,-74,967,838),39986=>array(47,-69,953,840),39987=>array(51,-74,936,835),39988=>array(32,-68,970,831),39989=>array(41,-76,958,845),39990=>array(24,-65,986,839),39991=>array(29,-62,970,845),39992=>array(39,-21,966,847),39993=>array(35,-21,973,845),39994=>array(33,-73,976,862),39995=>array(35,-65,978,837),39996=>array(40,-64,915,837),39997=>array(32,-53,961,849),39998=>array(37,-62,957,838),39999=>array(36,-74,980,839),40000=>array(59,-71,961,791),40001=>array(34,-66,979,843),40002=>array(42,-65,968,847),40003=>array(44,-63,929,847),40004=>array(38,-63,956,845),40005=>array(41,-73,959,851),40006=>array(38,-64,962,849),40007=>array(38,-59,966,846),40008=>array(35,-56,939,841),40009=>array(41,-72,973,835),40010=>array(41,-67,951,835),40011=>array(31,-71,965,837),40012=>array(24,-63,989,845),40013=>array(28,-68,978,841),40014=>array(30,-69,984,840),40015=>array(49,-63,966,847),40016=>array(37,-70,967,839),40017=>array(34,-59,968,847),40018=>array(35,-62,956,855),40019=>array(38,-62,953,831),40020=>array(32,-64,962,851),40021=>array(30,-68,984,842),40022=>array(29,-68,970,842),40023=>array(31,-68,965,843),40024=>array(40,-59,965,842),40025=>array(27,-70,984,837),40026=>array(27,-65,953,837),40027=>array(49,-68,950,847),40028=>array(26,-67,962,845),40029=>array(29,-60,973,847),40030=>array(39,-68,983,831),40031=>array(53,-68,974,848),40032=>array(25,-61,984,861),40033=>array(32,-62,974,838),40034=>array(41,-65,992,830),40035=>array(32,-35,964,849),40036=>array(58,-40,930,839),40037=>array(38,-71,959,839),40038=>array(36,-56,976,822),40039=>array(36,-28,965,842),40040=>array(34,-48,954,854),40041=>array(29,-70,951,854),40042=>array(34,-64,974,834),40043=>array(25,-68,979,854),40044=>array(24,-70,967,854),40045=>array(39,-62,957,852),40046=>array(29,-56,956,848),40047=>array(39,-64,995,847),40048=>array(29,-63,960,854),40049=>array(38,-67,945,838),40050=>array(22,-59,970,854),40051=>array(38,-65,967,843),40052=>array(36,-69,971,841),40053=>array(27,-55,964,858),40054=>array(40,-73,963,837),40055=>array(39,-29,956,839),40056=>array(36,-60,962,851),40057=>array(48,-67,965,841),40058=>array(35,-68,966,828),40059=>array(59,-73,948,824),40060=>array(78,-15,929,826),40061=>array(22,-73,934,841),40062=>array(31,-29,973,839),40063=>array(29,-65,965,841),40064=>array(22,-46,945,841),40065=>array(44,-53,925,849),40066=>array(39,-75,936,836),40067=>array(22,-32,974,841),40068=>array(22,-71,964,841),40069=>array(30,-68,967,838),40070=>array(24,-72,945,824),40071=>array(22,-74,903,841),40072=>array(22,-72,920,817),40073=>array(22,-69,919,841),40074=>array(22,-61,961,845),40075=>array(24,-62,943,840),40076=>array(22,-66,886,843),40077=>array(22,-30,950,843),40078=>array(74,-13,926,822),40079=>array(22,-73,951,841),40080=>array(39,-67,942,834),40081=>array(39,-29,950,839),40082=>array(24,-64,941,828),40083=>array(29,-55,945,837),40084=>array(24,-69,942,838),40085=>array(28,-70,956,824),40086=>array(22,-61,941,841),40087=>array(33,-65,913,840),40088=>array(22,-63,953,841),40089=>array(22,-55,977,840),40090=>array(12,-76,937,836),40091=>array(39,-69,943,844),40092=>array(27,-61,938,846),40093=>array(54,-37,955,823),40094=>array(25,-42,942,830),40095=>array(21,-68,923,821),40096=>array(25,-69,961,830),40097=>array(0,-59,921,818),40098=>array(16,-49,937,822),40099=>array(19,-20,943,834),40100=>array(39,-23,937,828),40101=>array(24,-68,920,829),40102=>array(23,-64,956,832),40103=>array(33,-63,962,831),40104=>array(60,-48,918,822),40105=>array(25,-67,947,842),40106=>array(22,-69,965,841),40107=>array(31,-67,912,836),40108=>array(22,-44,930,841),40109=>array(24,-61,947,834),40110=>array(25,-69,969,834),40111=>array(22,-79,974,841),40112=>array(19,-64,955,825),40113=>array(32,-64,941,830),40114=>array(24,-60,953,824),40115=>array(39,-66,897,828),40116=>array(22,-70,881,816),40117=>array(24,-72,947,824),40118=>array(31,-32,956,849),40119=>array(25,-66,899,830),40120=>array(39,-64,947,846),40121=>array(25,-79,972,839),40122=>array(16,-68,943,819),40123=>array(25,-66,933,834),40124=>array(27,-80,918,825),40125=>array(25,-69,957,830),40126=>array(22,-65,963,841),40127=>array(24,-58,957,841),40128=>array(22,-68,988,841),40129=>array(22,-39,982,841),40130=>array(22,-57,983,841),40131=>array(34,-31,951,842),40132=>array(20,-66,939,812),40133=>array(18,-70,961,828),40134=>array(25,-66,956,842),40135=>array(24,-44,937,844),40136=>array(22,-64,973,844),40137=>array(34,-61,954,841),40138=>array(25,-77,911,836),40139=>array(24,-67,953,822),40140=>array(35,-50,931,820),40141=>array(24,-67,941,834),40142=>array(24,-63,910,824),40143=>array(25,-66,950,830),40144=>array(47,-67,941,824),40145=>array(22,-65,949,843),40146=>array(22,-64,975,852),40147=>array(33,-75,917,828),40148=>array(25,-64,957,830),40149=>array(25,-69,922,830),40150=>array(41,-40,945,835),40151=>array(25,-68,965,836),40152=>array(53,-38,955,836),40153=>array(25,-84,943,840),40154=>array(16,-67,984,868),40155=>array(22,-67,957,841),40156=>array(19,-69,953,825),40157=>array(25,-66,945,848),40158=>array(25,-68,945,834),40159=>array(35,-65,953,851),40160=>array(22,-64,995,841),40161=>array(41,-33,959,841),40162=>array(25,-32,948,833),40163=>array(24,-35,976,849),40164=>array(43,-67,957,856),40165=>array(66,-59,887,852),40166=>array(34,-65,952,847),40167=>array(58,-58,960,842),40168=>array(43,-64,957,848),40169=>array(48,-63,930,849),40170=>array(177,-69,927,843),40171=>array(41,-68,927,788),40172=>array(52,-62,960,851),40173=>array(31,-73,951,841),40174=>array(39,-73,961,841),40175=>array(46,-60,965,796),40176=>array(43,-71,957,840),40177=>array(58,-75,956,840),40178=>array(33,-48,955,861),40179=>array(46,-60,965,796),40180=>array(109,-63,909,851),40181=>array(59,-67,952,841),40182=>array(52,-57,949,850),40183=>array(47,-69,964,846),40184=>array(46,-73,954,835),40185=>array(35,-70,954,847),40186=>array(40,-65,955,846),40187=>array(39,-78,954,841),40188=>array(46,-52,976,864),40189=>array(35,-75,959,844),40190=>array(57,-76,943,841),40191=>array(42,-71,939,841),40192=>array(36,-72,951,848),40193=>array(31,-72,951,848),40194=>array(17,-73,951,848),40195=>array(48,-70,972,840),40196=>array(63,-74,963,843),40197=>array(49,-75,957,838),40198=>array(45,-68,942,841),40199=>array(65,-65,923,848),40200=>array(46,-63,947,791),40201=>array(46,-64,924,842),40202=>array(38,-64,924,842),40203=>array(39,-68,924,842),40204=>array(34,-68,996,781),40205=>array(40,-68,959,844),40206=>array(96,-70,924,836),40207=>array(29,-80,971,851),40208=>array(61,-68,944,833),40209=>array(68,-68,947,847),40210=>array(41,-65,926,838),40211=>array(54,-71,946,835),40212=>array(45,-68,958,835),40213=>array(41,-61,946,841),40214=>array(33,-61,967,853),40215=>array(60,-71,941,843),40216=>array(43,-75,956,839),40217=>array(52,-68,953,844),40218=>array(26,-62,960,841),40219=>array(46,-67,951,840),40220=>array(62,-67,932,827),40221=>array(36,-58,918,849),40222=>array(72,-55,926,845),40223=>array(68,-58,921,846),40224=>array(61,-68,946,843),40225=>array(42,-58,946,853),40226=>array(51,-72,950,838),40227=>array(66,-60,923,845),40228=>array(25,-77,975,843),40229=>array(38,-72,979,841),40230=>array(34,-63,971,842),40231=>array(51,-68,956,835),40232=>array(113,-79,916,843),40233=>array(45,-75,959,835),40234=>array(61,-56,956,841),40235=>array(113,-67,916,843),40236=>array(63,-67,893,821),40237=>array(107,-63,943,841),40238=>array(37,-70,955,836),40239=>array(59,-59,916,845),40240=>array(71,-61,930,847),40241=>array(46,-63,955,841),40242=>array(59,-66,943,841),40243=>array(57,-66,966,838),40244=>array(37,-63,944,849),40245=>array(27,-66,965,841),40246=>array(56,-64,954,840),40247=>array(57,-68,908,824),40248=>array(43,-67,956,843),40249=>array(76,-63,956,855),40250=>array(44,-63,961,839),40251=>array(48,-57,919,853),40252=>array(29,-61,971,856),40253=>array(55,-43,924,850),40254=>array(65,-67,957,841),40255=>array(49,-67,924,844),40256=>array(43,-47,951,858),40257=>array(37,-67,957,839),40258=>array(39,-71,916,842),40259=>array(37,-67,951,841),40260=>array(53,-60,933,843),40261=>array(38,-69,963,838),40262=>array(35,-70,943,855),40263=>array(41,-68,959,841),40264=>array(40,-70,949,841),40265=>array(62,-55,938,808),40266=>array(46,-68,954,841),40267=>array(34,-69,948,840),40268=>array(26,-67,981,840),40269=>array(34,-69,966,840),40270=>array(36,-73,964,840),40271=>array(55,-61,945,846),40272=>array(18,-69,970,847),40273=>array(108,-68,915,838),40274=>array(28,-68,914,842),40275=>array(71,-61,926,845),40276=>array(31,-73,971,847),40277=>array(34,-70,959,840),40278=>array(104,-68,942,846),40279=>array(33,-67,949,840),40280=>array(38,-71,952,839),40281=>array(47,-68,951,841),40282=>array(45,-67,963,841),40283=>array(54,-71,950,840),40284=>array(53,-61,930,843),40285=>array(68,-60,924,840),40286=>array(53,-73,952,847),40287=>array(48,-69,945,839),40288=>array(70,-62,933,842),40289=>array(61,-63,933,842),40290=>array(48,-69,946,845),40291=>array(42,-69,958,840),40292=>array(43,-69,948,850),40293=>array(67,-62,920,834),40294=>array(37,-68,966,839),40295=>array(48,-71,955,838),40296=>array(23,-68,965,845),40297=>array(37,-69,956,841),40298=>array(50,-60,925,849),40299=>array(59,-72,950,841),40300=>array(63,-77,928,849),40301=>array(24,-65,949,844),40302=>array(44,-65,956,844),40303=>array(65,-58,926,853),40304=>array(57,-55,927,851),40305=>array(33,-70,969,848),40306=>array(60,-61,931,841),40307=>array(37,-70,959,841),40308=>array(28,-67,967,848),40309=>array(34,-68,960,846),40310=>array(52,-65,943,844),40311=>array(37,-61,918,848),40312=>array(58,-68,968,847),40313=>array(49,-64,942,838),40314=>array(37,-75,950,841),40315=>array(51,-64,967,847),40316=>array(44,-68,940,844),40317=>array(49,-66,963,849),40318=>array(57,-69,943,840),40319=>array(34,-66,957,851),40320=>array(28,-73,969,853),40321=>array(43,-65,959,847),40322=>array(51,-68,956,835),40323=>array(27,-69,973,840),40324=>array(62,-74,961,852),40325=>array(51,-65,958,849),40326=>array(40,-68,966,847),40327=>array(42,-68,947,844),40328=>array(50,-74,962,841),40329=>array(54,-62,922,845),40330=>array(26,-68,917,848),40331=>array(41,-72,962,840),40332=>array(37,-63,958,852),40333=>array(35,-69,965,840),40334=>array(34,-69,966,850),40335=>array(42,-68,955,842),40336=>array(52,-63,953,839),40337=>array(61,-74,939,827),40338=>array(33,-65,963,838),40339=>array(53,-65,911,846),40340=>array(48,-63,961,844),40341=>array(57,-69,943,840),40342=>array(41,-67,957,834),40343=>array(46,-62,967,842),40344=>array(62,-64,927,844),40345=>array(67,-62,956,850),40346=>array(71,-59,927,846),40347=>array(55,-65,948,838),40348=>array(46,-70,968,838),40349=>array(61,-66,951,842),40350=>array(36,-63,956,840),40351=>array(50,-65,957,843),40352=>array(69,-64,949,834),40353=>array(16,-55,897,853),40354=>array(36,-64,954,843),40355=>array(18,-58,966,841),40356=>array(64,-65,948,839),40357=>array(35,-69,965,840),40358=>array(75,-68,897,828),40359=>array(32,-62,972,826),40360=>array(50,-63,977,838),40361=>array(52,-66,950,838),40362=>array(55,-60,953,841),40363=>array(34,-77,947,841),40364=>array(27,-71,909,846),40365=>array(60,-70,946,847),40366=>array(35,-69,948,848),40367=>array(57,-74,933,829),40368=>array(-9,-77,948,840),40369=>array(47,-73,968,835),40370=>array(43,-68,955,843),40371=>array(52,-68,955,841),40372=>array(40,-65,938,837),40373=>array(49,-59,938,846),40374=>array(45,-69,964,842),40375=>array(83,-68,953,846),40376=>array(40,-64,952,834),40377=>array(69,-70,949,838),40378=>array(47,-67,924,836),40379=>array(85,-61,921,848),40380=>array(31,-69,912,844),40381=>array(26,-69,948,840),40382=>array(60,-69,949,827),40383=>array(53,-55,929,857),40384=>array(74,-62,927,845),40385=>array(36,-49,951,850),40386=>array(66,-57,924,844),40387=>array(50,-53,950,861),40388=>array(46,-61,945,835),40389=>array(52,-63,960,843),40390=>array(53,-67,949,838),40391=>array(61,-72,976,825),40392=>array(45,-70,962,839),40393=>array(30,-73,970,841),40394=>array(56,-66,949,842),40395=>array(44,-72,959,841),40396=>array(21,-64,946,838),40397=>array(47,-65,959,844),40398=>array(34,-73,964,840),40399=>array(43,-64,952,841),40400=>array(40,-68,956,845),40401=>array(43,-71,952,836),40402=>array(62,-65,954,846),40403=>array(49,-63,931,845),40404=>array(52,-67,954,842),40405=>array(58,-65,937,845),40406=>array(54,-70,930,797),40407=>array(115,-68,925,843),40408=>array(52,-64,974,834),40409=>array(58,-63,956,835),40410=>array(32,-76,912,846),40411=>array(45,-65,954,847),40412=>array(41,-67,955,845),40413=>array(50,-70,957,845),40414=>array(44,-67,967,854),40415=>array(46,-67,953,845),40416=>array(40,-69,948,840),40417=>array(39,-71,970,844),40418=>array(36,-67,979,785),40419=>array(65,-65,954,846),40420=>array(61,-70,954,838),40421=>array(60,-71,937,847),40422=>array(26,-56,898,847),40423=>array(47,-69,948,840),40424=>array(48,-65,959,846),40425=>array(56,-49,939,853),40426=>array(54,-63,935,802),40427=>array(59,-52,955,862),40428=>array(48,-65,954,844),40429=>array(39,-66,965,851),40430=>array(41,-65,962,844),40431=>array(32,-68,915,841),40432=>array(37,-69,969,840),40433=>array(50,-67,955,846),40434=>array(65,-66,943,840),40435=>array(113,-62,925,844),40436=>array(98,-69,938,841),40437=>array(35,-67,956,840),40438=>array(54,-73,945,840),40439=>array(62,-77,950,841),40440=>array(60,-68,934,844),40441=>array(40,-76,942,837),40442=>array(62,-67,948,849),40443=>array(29,-77,989,839),40444=>array(48,-69,948,840),40445=>array(50,-73,935,844),40446=>array(58,-65,962,845),40447=>array(53,-61,956,841),40448=>array(33,-68,962,841),40449=>array(34,-67,969,843),40450=>array(48,-74,957,830),40451=>array(32,-64,974,846),40452=>array(47,-73,969,837),40453=>array(62,-70,954,839),40454=>array(50,-72,966,839),40455=>array(45,-65,942,846),40456=>array(36,-69,926,846),40457=>array(38,-62,955,833),40458=>array(33,-66,960,842),40459=>array(59,-65,959,841),40460=>array(36,-66,948,843),40461=>array(34,-61,959,847),40462=>array(68,-59,910,805),40463=>array(50,-70,961,847),40464=>array(42,-67,971,841),40465=>array(44,-51,951,852),40466=>array(34,-63,975,838),40467=>array(93,-65,933,840),40468=>array(41,-70,973,843),40469=>array(43,-65,930,844),40470=>array(63,-67,939,844),40471=>array(71,-72,945,836),40472=>array(24,-71,960,844),40473=>array(57,-64,946,847),40474=>array(50,-65,928,843),40475=>array(45,-67,927,845),40476=>array(34,-65,966,845),40477=>array(41,-65,935,842),40478=>array(62,-67,958,846),40479=>array(80,-53,892,842),40480=>array(34,-65,893,820),40481=>array(30,-57,890,837),40482=>array(58,-65,935,825),40483=>array(98,-52,903,842),40484=>array(27,-66,896,826),40485=>array(96,-53,904,840),40486=>array(23,-64,906,837),40487=>array(35,-63,932,833),40488=>array(53,-63,892,827),40489=>array(37,-69,918,823),40490=>array(49,-65,892,822),40491=>array(26,-66,897,824),40492=>array(34,-66,896,826),40493=>array(100,-68,902,825),40494=>array(72,-69,902,825),40495=>array(32,-58,950,831),40496=>array(50,-70,927,844),40497=>array(70,-65,896,825),40498=>array(24,-57,895,828),40499=>array(35,-62,924,827),40500=>array(81,-63,893,821),40501=>array(41,-57,920,835),40502=>array(61,-59,910,832),40503=>array(50,-63,923,821),40504=>array(50,-59,893,826),40505=>array(29,-62,896,820),40506=>array(15,-66,896,824),40507=>array(37,-63,938,844),40508=>array(49,-67,928,835),40509=>array(26,-53,907,836),40510=>array(64,-60,917,835),40511=>array(39,-55,894,839),40512=>array(40,-62,949,838),40513=>array(62,-64,899,824),40514=>array(62,-60,895,820),40515=>array(98,-61,899,842),40516=>array(30,-54,898,826),40517=>array(32,-59,899,833),40518=>array(16,-60,895,821),40519=>array(90,-63,899,834),40520=>array(20,-66,900,822),40521=>array(41,-62,896,821),40522=>array(52,-64,903,826),40523=>array(60,-63,898,823),40524=>array(24,-64,899,828),40525=>array(81,-62,925,824),40526=>array(43,-71,902,818),40527=>array(24,-68,906,839),40528=>array(44,-64,926,843),40529=>array(51,-66,896,829),40530=>array(26,-68,931,846),40531=>array(49,-64,942,848),40532=>array(41,-64,959,833),40533=>array(52,-67,896,819),40534=>array(16,-64,896,821),40535=>array(61,-68,896,823),40536=>array(62,-69,894,825),40537=>array(39,-67,944,834),40538=>array(64,-63,921,824),40539=>array(19,-67,898,823),40540=>array(39,-65,929,825),40541=>array(70,-65,928,829),40542=>array(50,-61,934,821),40543=>array(44,-65,926,836),40544=>array(83,-67,924,839),40545=>array(36,-67,898,831),40546=>array(46,-67,898,849),40547=>array(38,-70,912,828),40548=>array(19,-56,898,840),40549=>array(83,-67,929,802),40550=>array(33,-61,899,821),40551=>array(20,-63,898,826),40552=>array(46,-69,929,831),40553=>array(48,-60,923,828),40554=>array(36,-63,922,827),40555=>array(42,-64,960,845),40556=>array(39,-65,895,821),40557=>array(31,-63,930,827),40558=>array(37,-62,951,821),40559=>array(61,-62,937,846),40560=>array(45,-78,917,831),40561=>array(30,-65,948,826),40562=>array(63,-64,933,833),40563=>array(29,-56,897,828),40564=>array(29,-70,946,822),40565=>array(125,-70,891,835),40566=>array(91,-52,972,835),40567=>array(91,-73,972,835),40568=>array(82,-60,966,835),40569=>array(94,-71,969,831),40570=>array(88,-59,941,843),40571=>array(69,-72,982,845),40572=>array(72,-66,947,847),40573=>array(52,-18,943,837),40574=>array(92,-45,924,830),40575=>array(57,-67,949,829),40576=>array(29,-66,958,842),40577=>array(42,-64,953,834),40578=>array(21,-60,935,841),40579=>array(39,-75,960,848),40580=>array(40,-74,958,833),40581=>array(30,-60,949,849),40582=>array(30,-60,941,849),40583=>array(30,-67,961,849),40584=>array(21,-60,925,836),40585=>array(48,-75,956,814),40586=>array(52,-72,955,826),40587=>array(67,-64,941,821),40588=>array(36,-57,966,829),40589=>array(25,-70,969,845),40590=>array(25,-80,971,845),40591=>array(25,-74,960,845),40592=>array(25,-73,975,845),40593=>array(37,-64,955,838),40594=>array(40,-70,951,835),40595=>array(37,-68,958,837),40596=>array(25,-74,960,845),40597=>array(36,-65,945,833),40598=>array(25,-70,951,845),40599=>array(43,-67,952,814),40600=>array(25,-72,971,845),40601=>array(25,-73,963,845),40602=>array(25,-78,970,845),40603=>array(25,-70,956,845),40604=>array(25,-75,979,845),40605=>array(58,-63,946,841),40606=>array(25,-80,952,843),40607=>array(26,-68,959,838),40608=>array(25,-76,952,847),40609=>array(25,-79,970,843),40610=>array(25,-74,951,843),40611=>array(35,-68,976,841),40612=>array(42,-69,959,853),40613=>array(58,-75,942,832),40614=>array(56,-65,950,827),40615=>array(40,-75,981,828),40616=>array(43,-84,971,832),40617=>array(37,-64,964,831),40618=>array(37,-64,958,831),40619=>array(43,-84,939,832),40620=>array(45,-84,964,832),40621=>array(37,-64,971,842),40622=>array(47,-68,978,824),40623=>array(43,-84,929,832),40624=>array(38,-54,971,866),40625=>array(43,-84,958,832),40626=>array(43,-84,968,832),40627=>array(43,-84,973,832),40628=>array(25,-63,959,826),40629=>array(34,-63,967,831),40630=>array(41,-71,979,837),40631=>array(44,-66,982,829),40632=>array(43,-57,973,830),40633=>array(37,-65,982,830),40634=>array(37,-65,982,818),40635=>array(43,-70,966,839),40636=>array(45,-68,956,839),40637=>array(41,-72,926,837),40638=>array(23,-67,958,836),40639=>array(36,-68,945,838),40640=>array(37,-71,969,843),40641=>array(39,-66,978,852),40642=>array(34,-73,940,845),40643=>array(55,-76,957,826),40644=>array(75,-83,925,831),40645=>array(50,-76,968,830),40646=>array(50,-76,972,830),40647=>array(58,-78,942,832),40648=>array(56,-78,959,818),40649=>array(58,-67,916,840),40650=>array(50,-78,963,831),40651=>array(28,-79,958,822),40652=>array(49,-72,960,842),40653=>array(35,-68,963,830),40654=>array(49,-68,946,832),40655=>array(39,-62,956,838),40656=>array(31,-64,954,835),40657=>array(81,-67,946,787),40658=>array(81,-67,946,787),40659=>array(48,-67,970,823),40660=>array(36,-65,970,841),40661=>array(43,-78,963,820),40662=>array(41,-75,964,780),40663=>array(39,-60,966,837),40664=>array(45,-69,955,829),40665=>array(43,-67,957,809),40666=>array(60,-70,956,823),40667=>array(47,-67,962,847),40668=>array(63,-66,919,832),40669=>array(58,-62,941,830),40670=>array(63,-64,945,839),40671=>array(58,-63,941,846),40672=>array(37,-64,952,829),40673=>array(33,-78,964,805),40674=>array(29,-72,933,831),40675=>array(43,-57,957,845),40676=>array(42,-52,965,853),40677=>array(38,-62,963,819),40678=>array(38,-68,964,833),40679=>array(44,-68,955,837),40680=>array(41,-70,956,836),40681=>array(30,-67,941,817),40682=>array(31,-76,950,823),40683=>array(25,-51,960,793),40684=>array(33,-68,967,835),40685=>array(45,-70,979,828),40686=>array(48,-53,954,832),40687=>array(52,-63,951,832),40688=>array(49,-59,970,852),40689=>array(26,-88,974,841),40690=>array(38,-55,970,864),40691=>array(47,-79,957,813),40692=>array(44,-67,977,833),40693=>array(56,-62,950,843),40694=>array(35,-73,959,817),40695=>array(37,-80,961,835),40696=>array(46,-64,954,836),40697=>array(46,-65,962,830),40698=>array(39,-74,970,826),40699=>array(34,-69,978,836),40700=>array(36,-62,955,835),40701=>array(120,-33,967,794),40702=>array(139,-42,966,803),40703=>array(45,-32,960,788),40704=>array(40,-56,973,837),40705=>array(63,-46,968,829),40706=>array(62,-54,971,823),40707=>array(68,-51,971,843),40708=>array(40,-54,971,844),40709=>array(57,-54,971,858),40710=>array(49,-42,971,784),40711=>array(48,-56,973,845),40712=>array(70,-49,960,829),40713=>array(58,-38,969,809),40714=>array(45,-39,956,834),40715=>array(84,-55,958,819),40716=>array(63,-51,962,822),40717=>array(63,-53,961,822),40718=>array(48,-65,948,801),40719=>array(41,-75,944,782),40720=>array(55,-69,943,792),40721=>array(44,-65,899,835),40722=>array(50,-67,950,824),40723=>array(59,-74,961,837),40724=>array(59,-74,961,833),40725=>array(60,-60,960,832),40726=>array(42,-73,974,833),40727=>array(44,-76,962,827),40728=>array(60,-68,962,828),40729=>array(51,-65,969,833),40730=>array(51,-69,962,827),40731=>array(43,-71,967,830),40732=>array(46,-67,972,829),40733=>array(37,-61,963,811),40734=>array(60,-35,970,818),40735=>array(34,-47,966,826),40736=>array(61,-60,963,836),40737=>array(40,-69,957,810),40738=>array(62,-52,948,830),40739=>array(74,-72,957,836),40740=>array(76,-73,959,835),40741=>array(68,-60,957,840),40742=>array(66,-69,924,826),40743=>array(66,-69,962,831),40744=>array(65,-60,969,838),40745=>array(63,-46,961,847),40746=>array(54,-56,954,846),40747=>array(61,-55,952,847),40748=>array(60,-58,945,820),40749=>array(68,-66,959,835),40750=>array(59,-68,958,840),40751=>array(56,-51,946,827),40752=>array(68,-65,953,836),40753=>array(57,-43,944,846),40754=>array(70,-77,952,834),40755=>array(65,-71,964,837),40756=>array(57,-55,954,832),40757=>array(59,-66,959,843),40758=>array(58,-75,964,839),40759=>array(49,-53,949,838),40760=>array(56,-66,954,840),40761=>array(87,-66,952,829),40762=>array(70,-58,943,825),40763=>array(42,-58,951,851),40764=>array(51,-71,897,843),40765=>array(43,-70,964,854),40766=>array(38,-65,964,850),40767=>array(30,-72,970,851),40768=>array(31,-68,976,843),40769=>array(56,-62,923,858),40770=>array(41,-75,967,833),40771=>array(43,-70,933,842),40772=>array(45,-67,950,825),40773=>array(36,-64,967,848),40774=>array(36,-62,957,860),40775=>array(49,-66,959,846),40776=>array(44,-64,967,841),40777=>array(53,-66,974,840),40778=>array(52,-70,946,831),40779=>array(55,-73,962,831),40780=>array(39,-74,973,847),40781=>array(32,-73,979,846),40782=>array(39,-67,978,846),40783=>array(43,-69,977,833),40784=>array(32,-69,952,834),40785=>array(36,-67,937,842),40786=>array(53,-73,946,829),40787=>array(58,-37,950,836),40788=>array(58,-63,948,836),40789=>array(62,-41,968,840),40790=>array(62,-65,954,840),40791=>array(65,-64,959,837),40792=>array(56,-52,976,860),40793=>array(57,-71,960,835),40794=>array(57,-71,943,851),40795=>array(61,-62,956,830),40796=>array(47,-48,957,835),40797=>array(60,-64,957,834),40798=>array(61,-71,962,833),40799=>array(40,-63,956,836),40800=>array(40,-63,930,836),40801=>array(40,-63,943,836),40802=>array(42,-68,958,846),40803=>array(55,-63,927,836),40804=>array(45,-65,969,839),40805=>array(55,-87,954,830),40806=>array(46,-73,967,836),40807=>array(64,-65,942,836),40808=>array(42,-45,958,839),40809=>array(64,-63,950,837),40810=>array(58,-63,960,836),40811=>array(66,-65,911,829),40812=>array(46,-63,956,836),40813=>array(63,-66,937,825),40814=>array(59,-73,956,831),40815=>array(59,-56,958,844),40816=>array(54,-48,949,851),40817=>array(58,-68,958,828),40818=>array(55,-66,940,836),40819=>array(73,-64,927,839),40820=>array(54,-67,957,837),40821=>array(60,-42,921,877),40822=>array(56,-60,954,846),40823=>array(58,-66,936,836),40824=>array(57,-29,968,829),40825=>array(47,-65,952,847),40826=>array(54,-71,931,837),40827=>array(59,-71,962,830),40828=>array(60,-56,940,839),40829=>array(47,-70,964,839),40830=>array(53,-69,975,829),40831=>array(75,-61,925,827),40832=>array(52,-59,930,817),40833=>array(52,-59,950,842),40834=>array(52,-59,908,842),40835=>array(52,-47,953,817),40836=>array(46,-57,947,826),40837=>array(52,-47,965,828),40838=>array(52,-67,870,817),40839=>array(51,-53,941,824),40840=>array(52,-70,969,817),40841=>array(50,-71,918,817),40842=>array(54,-68,965,821),40843=>array(44,-77,889,813),40844=>array(68,-68,927,817),40845=>array(50,-66,970,833),40846=>array(44,-63,975,797),40847=>array(59,-76,957,838),40848=>array(44,-63,975,845),40849=>array(50,-61,965,834),40850=>array(61,-64,957,838),40851=>array(45,-68,955,833),40852=>array(60,-69,956,850),40853=>array(44,-64,962,858),40854=>array(47,-47,971,819),40855=>array(63,-56,957,829),40856=>array(71,-65,958,837),40857=>array(37,-65,928,823),40858=>array(23,-66,923,834),40859=>array(21,-62,934,828),40860=>array(37,-41,967,846),40861=>array(16,-55,965,851),40862=>array(56,-54,970,843),40863=>array(50,-34,965,827),40864=>array(28,-64,976,848),40865=>array(56,-48,975,857),40866=>array(31,-62,986,863),40867=>array(29,-68,969,841),40868=>array(31,-43,962,857),40869=>array(31,-74,969,857),44032=>array(98,-69,936,842),44033=>array(88,-59,936,837),44034=>array(88,-61,936,837),44035=>array(88,-71,936,837),44036=>array(90,-45,936,842),44037=>array(88,-69,936,837),44038=>array(88,-76,936,837),44039=>array(88,-44,936,837),44040=>array(88,-62,936,837),44041=>array(88,-64,936,837),44042=>array(88,-64,936,837),44043=>array(88,-64,936,837),44044=>array(88,-70,936,837),44045=>array(88,-64,936,837),44046=>array(88,-64,936,837),44047=>array(88,-76,936,837),44048=>array(88,-62,936,837),44049=>array(88,-61,936,837),44050=>array(88,-70,936,837),44051=>array(88,-74,936,837),44052=>array(88,-69,936,837),44053=>array(88,-67,936,837),44054=>array(88,-72,936,837),44055=>array(88,-71,936,837),44056=>array(88,-66,936,837),44057=>array(88,-59,936,837),44058=>array(88,-60,936,837),44059=>array(88,-69,936,837),44060=>array(104,-69,907,842),44061=>array(88,-61,907,842),44062=>array(88,-61,907,842),44063=>array(88,-71,931,842),44064=>array(90,-46,907,842),44065=>array(88,-68,912,842),44066=>array(88,-76,907,842),44067=>array(88,-44,921,842),44068=>array(88,-62,917,842),44069=>array(88,-64,907,842),44070=>array(88,-64,908,842),44071=>array(88,-64,908,842),44072=>array(88,-69,923,842),44073=>array(88,-64,908,842),44074=>array(88,-64,908,842),44075=>array(88,-76,907,842),44076=>array(88,-62,907,842),44077=>array(88,-61,907,842),44078=>array(88,-69,922,842),44079=>array(88,-74,929,842),44080=>array(88,-69,927,842),44081=>array(88,-68,911,842),44082=>array(88,-72,929,842),44083=>array(88,-70,936,842),44084=>array(88,-66,908,842),44085=>array(88,-59,916,842),44086=>array(88,-60,928,842),44087=>array(88,-68,908,842),44088=>array(98,-68,935,843),44089=>array(90,-59,936,842),44090=>array(90,-61,936,842),44091=>array(90,-71,936,842),44092=>array(90,-45,936,842),44093=>array(90,-69,936,842),44094=>array(90,-76,936,842),44095=>array(90,-44,936,842),44096=>array(90,-62,936,842),44097=>array(90,-64,936,842),44098=>array(90,-64,936,842),44099=>array(90,-64,936,842),44100=>array(90,-70,936,842),44101=>array(90,-64,936,842),44102=>array(90,-64,936,842),44103=>array(90,-76,936,842),44104=>array(90,-62,936,842),44105=>array(90,-61,936,842),44106=>array(90,-70,936,842),44107=>array(90,-74,936,842),44108=>array(90,-69,936,842),44109=>array(90,-67,936,842),44110=>array(90,-72,936,842),44111=>array(90,-71,936,842),44112=>array(90,-66,936,842),44113=>array(90,-59,936,842),44114=>array(90,-60,936,842),44115=>array(90,-69,936,842),44116=>array(104,-69,907,842),44117=>array(88,-61,907,842),44118=>array(88,-61,907,842),44119=>array(88,-71,931,842),44120=>array(90,-46,907,842),44121=>array(88,-68,912,842),44122=>array(88,-76,907,842),44123=>array(88,-44,921,842),44124=>array(88,-62,917,842),44125=>array(88,-64,907,842),44126=>array(88,-64,908,842),44127=>array(88,-64,908,842),44128=>array(88,-69,923,842),44129=>array(88,-64,908,842),44130=>array(88,-64,908,842),44131=>array(88,-76,907,842),44132=>array(88,-62,907,842),44133=>array(88,-61,907,842),44134=>array(88,-69,922,842),44135=>array(88,-74,929,842),44136=>array(88,-69,927,842),44137=>array(88,-68,911,842),44138=>array(88,-72,929,842),44139=>array(88,-70,936,842),44140=>array(88,-66,908,842),44141=>array(88,-59,916,842),44142=>array(88,-60,928,842),44143=>array(88,-68,908,842),44144=>array(98,-70,907,841),44145=>array(90,-61,907,841),44146=>array(90,-61,907,841),44147=>array(90,-71,931,841),44148=>array(90,-46,907,841),44149=>array(90,-68,912,841),44150=>array(90,-76,907,841),44151=>array(90,-44,921,841),44152=>array(90,-62,917,841),44153=>array(90,-64,907,841),44154=>array(90,-64,908,841),44155=>array(90,-64,908,841),44156=>array(90,-69,923,841),44157=>array(90,-64,908,841),44158=>array(90,-64,908,841),44159=>array(90,-76,906,841),44160=>array(90,-62,907,841),44161=>array(90,-61,907,841),44162=>array(90,-69,922,841),44163=>array(90,-74,929,841),44164=>array(90,-69,927,841),44165=>array(90,-68,911,841),44166=>array(90,-72,929,841),44167=>array(90,-70,936,841),44168=>array(90,-66,908,841),44169=>array(90,-59,916,841),44170=>array(90,-60,928,841),44171=>array(90,-68,908,841),44172=>array(93,-68,907,843),44173=>array(74,-61,907,843),44174=>array(74,-61,907,843),44175=>array(74,-71,931,843),44176=>array(70,-46,907,843),44177=>array(74,-68,912,843),44178=>array(74,-76,907,843),44179=>array(74,-44,921,843),44180=>array(74,-62,917,843),44181=>array(74,-64,907,843),44182=>array(74,-64,908,843),44183=>array(74,-64,908,843),44184=>array(74,-69,923,843),44185=>array(74,-64,908,843),44186=>array(74,-64,908,843),44187=>array(74,-76,907,843),44188=>array(74,-62,907,843),44189=>array(74,-61,907,843),44190=>array(74,-69,922,843),44191=>array(74,-74,929,843),44192=>array(74,-69,927,843),44193=>array(74,-68,911,843),44194=>array(74,-72,929,843),44195=>array(74,-70,936,843),44196=>array(74,-66,908,843),44197=>array(74,-59,916,843),44198=>array(74,-60,928,843),44199=>array(74,-68,908,843),44200=>array(98,-70,907,842),44201=>array(90,-61,908,842),44202=>array(90,-61,908,842),44203=>array(90,-71,931,842),44204=>array(90,-46,907,842),44205=>array(90,-68,912,842),44206=>array(90,-76,908,842),44207=>array(90,-44,921,842),44208=>array(90,-62,917,842),44209=>array(90,-64,908,842),44210=>array(90,-64,908,842),44211=>array(90,-64,908,842),44212=>array(90,-69,923,842),44213=>array(90,-64,908,842),44214=>array(90,-64,908,842),44215=>array(90,-76,908,842),44216=>array(90,-62,908,842),44217=>array(90,-61,908,842),44218=>array(90,-69,922,842),44219=>array(90,-74,929,842),44220=>array(90,-69,927,842),44221=>array(90,-68,911,842),44222=>array(90,-72,929,842),44223=>array(90,-70,936,842),44224=>array(90,-66,908,842),44225=>array(90,-59,916,842),44226=>array(90,-60,928,842),44227=>array(90,-68,908,842),44228=>array(78,-68,907,843),44229=>array(79,-61,907,843),44230=>array(79,-61,907,843),44231=>array(79,-71,931,843),44232=>array(70,-46,907,843),44233=>array(79,-68,912,843),44234=>array(79,-76,907,843),44235=>array(79,-44,921,843),44236=>array(79,-62,917,843),44237=>array(79,-64,907,843),44238=>array(79,-64,908,843),44239=>array(79,-64,908,843),44240=>array(79,-69,923,843),44241=>array(79,-64,908,843),44242=>array(79,-64,908,843),44243=>array(79,-76,907,843),44244=>array(79,-62,907,843),44245=>array(79,-61,907,843),44246=>array(79,-69,922,843),44247=>array(79,-74,929,843),44248=>array(79,-69,927,843),44249=>array(79,-68,911,843),44250=>array(79,-72,929,843),44251=>array(79,-70,936,843),44252=>array(79,-66,908,843),44253=>array(79,-59,916,843),44254=>array(79,-60,928,843),44255=>array(79,-68,908,843),44256=>array(62,27,943,700),44257=>array(79,-61,921,770),44258=>array(79,-61,921,770),44259=>array(79,-71,921,770),44260=>array(79,-46,921,770),44261=>array(79,-68,921,770),44262=>array(79,-74,921,770),44263=>array(79,-44,921,770),44264=>array(79,-62,921,770),44265=>array(79,-64,921,770),44266=>array(79,-64,921,770),44267=>array(79,-63,921,770),44268=>array(79,-68,921,770),44269=>array(79,-64,921,770),44270=>array(79,-63,921,770),44271=>array(79,-74,921,770),44272=>array(79,-62,921,770),44273=>array(79,-61,921,770),44274=>array(79,-69,921,770),44275=>array(79,-74,921,770),44276=>array(79,-69,921,770),44277=>array(79,-68,921,770),44278=>array(79,-72,921,770),44279=>array(79,-70,921,770),44280=>array(79,-66,921,770),44281=>array(79,-59,921,770),44282=>array(79,-60,921,770),44283=>array(79,-68,921,770),44284=>array(38,-68,935,843),44285=>array(64,-59,936,842),44286=>array(64,-61,936,842),44287=>array(64,-71,936,842),44288=>array(57,-45,936,842),44289=>array(64,-69,936,842),44290=>array(64,-76,936,842),44291=>array(64,-44,936,842),44292=>array(64,-62,936,842),44293=>array(64,-64,936,842),44294=>array(64,-64,936,842),44295=>array(64,-64,936,842),44296=>array(64,-70,936,842),44297=>array(64,-64,936,842),44298=>array(64,-64,936,842),44299=>array(64,-76,936,842),44300=>array(64,-62,936,842),44301=>array(64,-61,936,842),44302=>array(64,-70,936,842),44303=>array(64,-74,936,842),44304=>array(64,-69,936,842),44305=>array(64,-67,936,842),44306=>array(64,-72,936,842),44307=>array(64,-71,936,842),44308=>array(64,-66,936,842),44309=>array(64,-59,936,842),44310=>array(64,-60,936,842),44311=>array(64,-69,936,842),44312=>array(51,-69,907,842),44313=>array(65,-61,907,841),44314=>array(65,-61,907,841),44315=>array(65,-71,931,841),44316=>array(53,-46,907,841),44317=>array(65,-68,912,841),44318=>array(65,-76,907,841),44319=>array(65,-44,921,841),44320=>array(65,-62,917,841),44321=>array(65,-64,907,841),44322=>array(65,-64,908,841),44323=>array(65,-64,908,841),44324=>array(65,-69,923,841),44325=>array(65,-64,908,841),44326=>array(65,-64,908,841),44327=>array(65,-76,907,841),44328=>array(65,-62,907,841),44329=>array(65,-61,907,841),44330=>array(65,-69,922,841),44331=>array(65,-74,929,841),44332=>array(65,-69,927,841),44333=>array(65,-68,911,841),44334=>array(65,-72,929,841),44335=>array(65,-70,936,841),44336=>array(65,-66,908,841),44337=>array(65,-59,916,841),44338=>array(65,-60,928,841),44339=>array(65,-68,908,841),44340=>array(60,-69,907,842),44341=>array(64,-61,907,842),44342=>array(64,-61,907,842),44343=>array(64,-71,931,842),44344=>array(72,-46,907,842),44345=>array(64,-68,912,842),44346=>array(64,-76,907,842),44347=>array(64,-44,921,842),44348=>array(64,-62,917,842),44349=>array(64,-64,907,842),44350=>array(64,-64,908,842),44351=>array(64,-64,908,842),44352=>array(64,-69,923,842),44353=>array(64,-64,908,842),44354=>array(64,-64,908,842),44355=>array(64,-76,907,842),44356=>array(64,-62,907,842),44357=>array(64,-61,907,842),44358=>array(64,-69,922,842),44359=>array(64,-74,929,842),44360=>array(64,-69,927,842),44361=>array(64,-68,911,842),44362=>array(64,-72,929,842),44363=>array(64,-70,936,842),44364=>array(64,-66,908,842),44365=>array(64,-59,916,842),44366=>array(64,-60,928,842),44367=>array(64,-68,908,842),44368=>array(62,27,943,723),44369=>array(62,-61,943,770),44370=>array(62,-61,943,770),44371=>array(62,-71,943,770),44372=>array(62,-46,943,770),44373=>array(62,-68,943,770),44374=>array(62,-74,943,770),44375=>array(62,-44,943,770),44376=>array(62,-62,943,770),44377=>array(62,-64,943,770),44378=>array(62,-64,943,770),44379=>array(62,-63,943,770),44380=>array(62,-68,943,770),44381=>array(62,-64,943,770),44382=>array(62,-63,943,770),44383=>array(62,-74,943,770),44384=>array(62,-62,943,770),44385=>array(62,-61,943,770),44386=>array(62,-69,943,770),44387=>array(62,-74,943,770),44388=>array(62,-69,943,770),44389=>array(62,-68,943,770),44390=>array(62,-72,943,770),44391=>array(62,-70,943,770),44392=>array(62,-66,943,770),44393=>array(62,-59,943,770),44394=>array(62,-60,943,770),44395=>array(62,-68,943,770),44396=>array(79,-64,920,780),44397=>array(79,-61,921,769),44398=>array(79,-61,921,769),44399=>array(79,-71,921,769),44400=>array(79,-46,921,768),44401=>array(79,-68,921,769),44402=>array(79,-74,921,769),44403=>array(79,-44,921,769),44404=>array(79,-62,921,769),44405=>array(79,-64,921,769),44406=>array(79,-64,921,769),44407=>array(79,-63,921,769),44408=>array(79,-68,921,769),44409=>array(79,-64,921,769),44410=>array(79,-63,921,769),44411=>array(79,-74,921,769),44412=>array(79,-62,921,769),44413=>array(79,-61,921,769),44414=>array(79,-69,921,769),44415=>array(79,-74,921,769),44416=>array(79,-69,921,769),44417=>array(79,-68,921,769),44418=>array(79,-72,921,769),44419=>array(79,-70,921,769),44420=>array(79,-66,921,769),44421=>array(79,-59,921,769),44422=>array(79,-60,921,769),44423=>array(79,-68,921,769),44424=>array(67,-69,907,842),44425=>array(75,-61,907,841),44426=>array(75,-61,907,841),44427=>array(75,-71,931,841),44428=>array(81,-46,907,841),44429=>array(75,-68,912,841),44430=>array(75,-76,907,841),44431=>array(75,-44,921,841),44432=>array(75,-62,917,841),44433=>array(75,-64,907,841),44434=>array(75,-64,908,841),44435=>array(75,-64,908,841),44436=>array(75,-69,923,841),44437=>array(75,-64,908,841),44438=>array(75,-64,908,841),44439=>array(75,-76,906,841),44440=>array(75,-62,907,841),44441=>array(75,-61,907,841),44442=>array(75,-69,922,841),44443=>array(75,-74,929,841),44444=>array(75,-69,927,841),44445=>array(75,-68,911,841),44446=>array(75,-72,929,841),44447=>array(75,-70,936,841),44448=>array(75,-66,908,841),44449=>array(75,-59,916,841),44450=>array(75,-60,928,841),44451=>array(75,-68,908,841),44452=>array(40,-69,908,842),44453=>array(70,-61,907,843),44454=>array(70,-61,907,843),44455=>array(70,-71,931,843),44456=>array(79,-46,907,843),44457=>array(70,-68,912,843),44458=>array(70,-76,907,843),44459=>array(70,-44,921,843),44460=>array(70,-62,917,843),44461=>array(70,-64,907,843),44462=>array(70,-64,908,843),44463=>array(70,-64,908,843),44464=>array(70,-69,923,843),44465=>array(70,-64,908,843),44466=>array(70,-64,908,843),44467=>array(70,-76,907,843),44468=>array(70,-62,907,843),44469=>array(70,-61,907,843),44470=>array(70,-69,922,843),44471=>array(70,-74,929,843),44472=>array(70,-69,927,843),44473=>array(70,-68,911,843),44474=>array(70,-72,929,843),44475=>array(70,-70,936,843),44476=>array(70,-66,908,843),44477=>array(70,-59,916,843),44478=>array(70,-60,928,843),44479=>array(70,-68,908,843),44480=>array(55,-69,907,842),44481=>array(64,-61,907,842),44482=>array(64,-61,907,842),44483=>array(64,-71,931,842),44484=>array(64,-46,907,842),44485=>array(64,-68,912,842),44486=>array(64,-76,907,842),44487=>array(64,-44,921,842),44488=>array(64,-62,917,842),44489=>array(64,-64,907,842),44490=>array(64,-64,908,842),44491=>array(64,-64,908,842),44492=>array(64,-69,923,842),44493=>array(64,-64,908,842),44494=>array(64,-64,908,842),44495=>array(64,-76,907,842),44496=>array(64,-62,907,842),44497=>array(64,-61,907,842),44498=>array(64,-69,922,842),44499=>array(64,-74,929,842),44500=>array(64,-69,927,842),44501=>array(64,-68,911,842),44502=>array(64,-72,929,842),44503=>array(64,-70,936,842),44504=>array(64,-66,908,842),44505=>array(64,-59,916,842),44506=>array(64,-60,928,842),44507=>array(64,-68,908,842),44508=>array(71,-64,928,780),44509=>array(79,-61,921,768),44510=>array(79,-61,921,768),44511=>array(79,-71,921,768),44512=>array(79,-46,921,769),44513=>array(79,-68,921,768),44514=>array(79,-74,921,768),44515=>array(79,-44,921,768),44516=>array(79,-62,921,768),44517=>array(79,-64,921,768),44518=>array(79,-64,921,768),44519=>array(79,-63,921,768),44520=>array(79,-68,921,768),44521=>array(79,-64,921,768),44522=>array(79,-63,921,768),44523=>array(79,-74,921,768),44524=>array(79,-62,921,768),44525=>array(79,-61,921,768),44526=>array(79,-69,921,768),44527=>array(79,-74,921,768),44528=>array(79,-69,921,768),44529=>array(79,-68,921,768),44530=>array(79,-72,921,768),44531=>array(79,-70,921,768),44532=>array(79,-66,921,768),44533=>array(79,-59,921,768),44534=>array(79,-60,921,768),44535=>array(79,-68,921,768),44536=>array(57,62,943,685),44537=>array(78,-61,919,769),44538=>array(78,-61,919,769),44539=>array(78,-71,919,769),44540=>array(79,-46,921,770),44541=>array(78,-68,919,769),44542=>array(78,-74,919,769),44543=>array(78,-44,919,769),44544=>array(78,-62,919,769),44545=>array(78,-64,919,769),44546=>array(78,-64,919,769),44547=>array(78,-63,919,769),44548=>array(78,-68,919,769),44549=>array(78,-64,919,769),44550=>array(78,-63,919,769),44551=>array(78,-74,919,769),44552=>array(78,-62,919,769),44553=>array(78,-61,919,769),44554=>array(78,-69,919,769),44555=>array(78,-74,919,769),44556=>array(78,-69,919,769),44557=>array(78,-68,919,769),44558=>array(78,-72,919,769),44559=>array(78,-70,919,769),44560=>array(78,-66,919,769),44561=>array(78,-59,919,769),44562=>array(78,-60,919,769),44563=>array(78,-68,919,769),44564=>array(52,-69,907,842),44565=>array(64,-61,907,842),44566=>array(64,-61,907,842),44567=>array(64,-71,931,842),44568=>array(68,-46,907,842),44569=>array(64,-68,912,842),44570=>array(64,-76,907,842),44571=>array(64,-44,921,842),44572=>array(64,-62,917,842),44573=>array(64,-64,907,842),44574=>array(64,-64,908,842),44575=>array(64,-64,908,842),44576=>array(64,-69,923,842),44577=>array(64,-64,908,842),44578=>array(64,-64,908,842),44579=>array(64,-76,907,842),44580=>array(64,-62,907,842),44581=>array(64,-61,907,842),44582=>array(64,-69,922,842),44583=>array(64,-74,929,842),44584=>array(64,-69,927,842),44585=>array(64,-68,911,842),44586=>array(64,-72,929,842),44587=>array(64,-70,936,842),44588=>array(64,-66,908,842),44589=>array(64,-59,916,842),44590=>array(64,-60,928,842),44591=>array(64,-68,908,842),44592=>array(90,-69,907,842),44593=>array(63,-61,907,842),44594=>array(63,-61,907,842),44595=>array(63,-71,931,842),44596=>array(77,-46,907,842),44597=>array(63,-68,912,842),44598=>array(63,-76,907,842),44599=>array(63,-44,921,842),44600=>array(63,-62,917,842),44601=>array(63,-64,907,842),44602=>array(63,-64,908,842),44603=>array(63,-64,908,842),44604=>array(63,-69,923,842),44605=>array(63,-64,908,842),44606=>array(63,-64,908,842),44607=>array(63,-76,907,842),44608=>array(63,-62,907,842),44609=>array(63,-61,907,842),44610=>array(63,-69,922,842),44611=>array(63,-74,929,842),44612=>array(63,-69,927,842),44613=>array(63,-68,911,842),44614=>array(63,-72,929,842),44615=>array(63,-70,936,842),44616=>array(63,-66,908,842),44617=>array(63,-59,916,842),44618=>array(63,-60,928,842),44619=>array(63,-68,908,842),44620=>array(46,-69,936,842),44621=>array(88,-59,936,842),44622=>array(88,-61,936,842),44623=>array(88,-71,936,842),44624=>array(60,-45,936,842),44625=>array(88,-69,936,842),44626=>array(88,-76,936,842),44627=>array(88,-44,936,842),44628=>array(88,-62,936,842),44629=>array(88,-64,936,842),44630=>array(88,-64,936,842),44631=>array(88,-64,936,842),44632=>array(88,-70,936,842),44633=>array(88,-64,936,842),44634=>array(88,-64,936,842),44635=>array(88,-76,936,842),44636=>array(88,-62,936,842),44637=>array(88,-61,936,842),44638=>array(88,-70,936,842),44639=>array(88,-74,936,842),44640=>array(88,-69,936,842),44641=>array(88,-67,936,842),44642=>array(88,-72,936,842),44643=>array(88,-71,936,842),44644=>array(88,-66,936,842),44645=>array(88,-59,936,842),44646=>array(88,-60,936,842),44647=>array(88,-69,936,842),44648=>array(41,-69,907,842),44649=>array(68,-61,907,837),44650=>array(68,-61,907,837),44651=>array(68,-71,931,837),44652=>array(50,-46,907,842),44653=>array(68,-68,912,837),44654=>array(68,-76,907,837),44655=>array(68,-44,921,837),44656=>array(68,-62,917,837),44657=>array(68,-64,907,837),44658=>array(68,-64,908,837),44659=>array(68,-64,908,837),44660=>array(68,-69,923,837),44661=>array(68,-64,908,837),44662=>array(68,-64,908,837),44663=>array(68,-76,907,837),44664=>array(68,-62,907,837),44665=>array(68,-61,907,837),44666=>array(68,-69,922,837),44667=>array(68,-74,929,837),44668=>array(68,-69,927,837),44669=>array(68,-68,911,837),44670=>array(68,-72,929,837),44671=>array(68,-70,936,837),44672=>array(68,-66,908,837),44673=>array(68,-59,916,837),44674=>array(68,-60,928,837),44675=>array(68,-68,908,837),44676=>array(46,-69,936,842),44677=>array(88,-59,936,842),44678=>array(88,-61,936,842),44679=>array(88,-71,936,842),44680=>array(60,-45,936,842),44681=>array(88,-69,936,842),44682=>array(88,-76,936,842),44683=>array(88,-44,936,842),44684=>array(88,-62,936,842),44685=>array(88,-64,936,842),44686=>array(88,-64,936,842),44687=>array(88,-64,936,842),44688=>array(88,-70,936,842),44689=>array(88,-64,936,842),44690=>array(88,-64,936,842),44691=>array(88,-76,936,842),44692=>array(88,-62,936,842),44693=>array(88,-61,936,842),44694=>array(88,-70,936,842),44695=>array(88,-74,936,842),44696=>array(88,-69,936,842),44697=>array(88,-67,936,842),44698=>array(88,-72,936,842),44699=>array(88,-71,936,842),44700=>array(88,-66,936,842),44701=>array(88,-59,936,842),44702=>array(88,-60,936,842),44703=>array(88,-69,936,842),44704=>array(41,-69,907,842),44705=>array(68,-61,907,842),44706=>array(68,-61,907,842),44707=>array(68,-71,931,842),44708=>array(50,-46,907,842),44709=>array(68,-68,912,842),44710=>array(68,-76,907,842),44711=>array(68,-44,921,842),44712=>array(68,-62,917,842),44713=>array(68,-64,907,842),44714=>array(68,-64,908,842),44715=>array(68,-64,908,842),44716=>array(68,-69,923,842),44717=>array(68,-64,908,842),44718=>array(68,-64,908,842),44719=>array(68,-76,907,842),44720=>array(68,-62,907,842),44721=>array(68,-61,907,842),44722=>array(68,-69,922,842),44723=>array(68,-74,929,842),44724=>array(68,-69,927,842),44725=>array(68,-68,911,842),44726=>array(68,-72,929,842),44727=>array(68,-70,936,842),44728=>array(68,-66,908,842),44729=>array(68,-59,916,842),44730=>array(68,-60,928,842),44731=>array(68,-68,908,842),44732=>array(46,-70,907,841),44733=>array(88,-61,907,836),44734=>array(88,-61,907,836),44735=>array(88,-71,931,836),44736=>array(60,-46,907,841),44737=>array(88,-68,912,836),44738=>array(88,-76,907,836),44739=>array(88,-44,921,836),44740=>array(88,-62,917,836),44741=>array(88,-64,907,836),44742=>array(88,-64,908,836),44743=>array(88,-64,908,836),44744=>array(88,-69,923,836),44745=>array(88,-64,908,836),44746=>array(88,-64,908,836),44747=>array(88,-76,906,836),44748=>array(88,-62,907,836),44749=>array(88,-61,907,836),44750=>array(88,-69,922,836),44751=>array(88,-74,929,836),44752=>array(88,-69,927,836),44753=>array(88,-68,911,836),44754=>array(88,-72,929,836),44755=>array(88,-70,936,836),44756=>array(88,-66,908,836),44757=>array(88,-59,916,836),44758=>array(88,-60,928,836),44759=>array(88,-68,908,836),44760=>array(36,-68,907,843),44761=>array(53,-61,907,843),44762=>array(53,-61,907,843),44763=>array(53,-71,931,843),44764=>array(35,-46,907,843),44765=>array(53,-68,912,843),44766=>array(53,-76,907,843),44767=>array(53,-44,921,843),44768=>array(53,-62,917,843),44769=>array(53,-64,907,843),44770=>array(53,-64,908,843),44771=>array(53,-64,908,843),44772=>array(53,-69,923,843),44773=>array(53,-64,908,843),44774=>array(53,-64,908,843),44775=>array(53,-76,907,843),44776=>array(53,-62,907,843),44777=>array(53,-61,907,843),44778=>array(53,-69,922,843),44779=>array(53,-74,929,843),44780=>array(53,-69,927,843),44781=>array(53,-68,911,843),44782=>array(53,-72,929,843),44783=>array(53,-70,936,843),44784=>array(53,-66,908,843),44785=>array(53,-59,916,843),44786=>array(53,-60,928,843),44787=>array(53,-68,908,843),44788=>array(46,-69,908,842),44789=>array(88,-61,909,842),44790=>array(88,-61,909,842),44791=>array(88,-71,931,842),44792=>array(60,-46,909,841),44793=>array(88,-68,912,842),44794=>array(88,-76,909,842),44795=>array(88,-44,921,842),44796=>array(88,-62,917,842),44797=>array(88,-64,909,842),44798=>array(88,-64,909,842),44799=>array(88,-64,909,842),44800=>array(88,-69,923,842),44801=>array(88,-64,909,842),44802=>array(88,-64,909,842),44803=>array(88,-76,909,842),44804=>array(88,-62,909,842),44805=>array(88,-61,909,842),44806=>array(88,-69,922,842),44807=>array(88,-74,929,842),44808=>array(88,-69,927,842),44809=>array(88,-68,911,842),44810=>array(88,-72,929,842),44811=>array(88,-70,936,842),44812=>array(88,-66,909,842),44813=>array(88,-59,916,842),44814=>array(88,-60,928,842),44815=>array(88,-68,909,842),44816=>array(36,-68,907,843),44817=>array(53,-61,907,838),44818=>array(53,-61,907,838),44819=>array(53,-71,931,838),44820=>array(35,-46,907,843),44821=>array(53,-68,912,838),44822=>array(53,-76,907,838),44823=>array(53,-44,921,838),44824=>array(53,-62,917,838),44825=>array(53,-64,907,838),44826=>array(53,-64,908,838),44827=>array(53,-64,908,838),44828=>array(53,-69,923,838),44829=>array(53,-64,908,838),44830=>array(53,-64,908,838),44831=>array(53,-76,907,838),44832=>array(53,-62,907,838),44833=>array(53,-61,907,838),44834=>array(53,-69,922,838),44835=>array(53,-74,929,838),44836=>array(53,-69,927,838),44837=>array(53,-68,911,838),44838=>array(53,-72,929,838),44839=>array(53,-70,936,838),44840=>array(53,-66,908,838),44841=>array(53,-59,916,838),44842=>array(53,-60,928,838),44843=>array(53,-68,908,838),44844=>array(60,12,940,714),44845=>array(79,-61,921,767),44846=>array(79,-61,921,767),44847=>array(79,-71,921,767),44848=>array(79,-46,921,766),44849=>array(79,-68,921,767),44850=>array(79,-74,921,767),44851=>array(79,-44,921,767),44852=>array(79,-62,921,767),44853=>array(79,-64,921,767),44854=>array(79,-64,921,767),44855=>array(79,-63,921,767),44856=>array(79,-68,921,767),44857=>array(79,-64,921,767),44858=>array(79,-63,921,767),44859=>array(79,-74,921,767),44860=>array(79,-62,921,767),44861=>array(79,-61,921,767),44862=>array(79,-69,921,767),44863=>array(79,-74,921,767),44864=>array(79,-69,921,767),44865=>array(79,-68,921,767),44866=>array(79,-72,921,767),44867=>array(79,-70,921,767),44868=>array(79,-66,921,767),44869=>array(79,-59,921,767),44870=>array(79,-60,921,767),44871=>array(79,-68,921,767),44872=>array(52,-69,936,842),44873=>array(69,-59,936,837),44874=>array(69,-61,936,837),44875=>array(69,-71,936,837),44876=>array(72,-45,936,842),44877=>array(69,-69,936,837),44878=>array(69,-76,936,837),44879=>array(69,-44,936,837),44880=>array(69,-62,936,837),44881=>array(69,-64,936,837),44882=>array(69,-64,936,837),44883=>array(69,-64,936,837),44884=>array(69,-70,936,837),44885=>array(69,-64,936,837),44886=>array(69,-64,936,837),44887=>array(69,-76,936,837),44888=>array(69,-62,936,837),44889=>array(69,-61,936,837),44890=>array(69,-70,936,837),44891=>array(69,-74,936,837),44892=>array(69,-69,936,837),44893=>array(69,-67,936,837),44894=>array(69,-72,936,837),44895=>array(69,-71,936,837),44896=>array(69,-66,936,837),44897=>array(69,-59,936,837),44898=>array(69,-60,936,837),44899=>array(69,-69,936,837),44900=>array(68,-69,907,842),44901=>array(70,-61,907,842),44902=>array(70,-61,907,842),44903=>array(70,-71,931,842),44904=>array(57,-46,907,842),44905=>array(70,-68,912,842),44906=>array(70,-76,907,842),44907=>array(70,-44,921,842),44908=>array(70,-62,917,842),44909=>array(70,-64,907,842),44910=>array(70,-64,908,842),44911=>array(70,-64,908,842),44912=>array(70,-69,923,842),44913=>array(70,-64,908,842),44914=>array(70,-64,908,842),44915=>array(70,-76,907,842),44916=>array(70,-62,907,842),44917=>array(70,-61,907,842),44918=>array(70,-69,922,842),44919=>array(70,-74,929,842),44920=>array(70,-69,927,842),44921=>array(70,-68,911,842),44922=>array(70,-72,929,842),44923=>array(70,-70,936,842),44924=>array(70,-66,908,842),44925=>array(70,-59,916,842),44926=>array(70,-60,928,842),44927=>array(70,-68,908,842),44928=>array(78,-69,907,842),44929=>array(64,-61,907,842),44930=>array(64,-61,907,842),44931=>array(64,-71,931,842),44932=>array(69,-46,907,842),44933=>array(64,-68,912,842),44934=>array(64,-76,907,842),44935=>array(64,-44,921,842),44936=>array(64,-62,917,842),44937=>array(64,-64,907,842),44938=>array(64,-64,908,842),44939=>array(64,-64,908,842),44940=>array(64,-69,923,842),44941=>array(64,-64,908,842),44942=>array(64,-64,908,842),44943=>array(64,-76,907,842),44944=>array(64,-62,907,842),44945=>array(64,-61,907,842),44946=>array(64,-69,922,842),44947=>array(64,-74,929,842),44948=>array(64,-69,927,842),44949=>array(64,-68,911,842),44950=>array(64,-72,929,842),44951=>array(64,-70,936,842),44952=>array(64,-66,908,842),44953=>array(64,-59,916,842),44954=>array(64,-60,928,842),44955=>array(64,-68,908,842),44956=>array(60,32,940,714),44957=>array(79,-61,921,794),44958=>array(79,-61,921,794),44959=>array(79,-71,921,794),44960=>array(79,-46,921,785),44961=>array(79,-68,921,794),44962=>array(79,-74,921,794),44963=>array(79,-44,921,794),44964=>array(79,-62,921,794),44965=>array(79,-64,921,794),44966=>array(79,-64,921,794),44967=>array(79,-63,921,794),44968=>array(79,-68,921,794),44969=>array(79,-64,921,794),44970=>array(79,-63,921,794),44971=>array(79,-74,921,794),44972=>array(79,-62,921,794),44973=>array(79,-61,921,794),44974=>array(79,-69,921,794),44975=>array(79,-74,921,794),44976=>array(79,-69,921,794),44977=>array(79,-68,921,794),44978=>array(79,-72,921,794),44979=>array(79,-70,921,794),44980=>array(79,-66,921,794),44981=>array(79,-59,921,794),44982=>array(79,-60,921,794),44983=>array(79,-68,921,794),44984=>array(79,-64,921,776),44985=>array(79,-61,921,766),44986=>array(79,-61,921,766),44987=>array(79,-71,921,766),44988=>array(79,-46,921,767),44989=>array(79,-68,921,766),44990=>array(79,-74,921,766),44991=>array(79,-44,921,766),44992=>array(79,-62,921,766),44993=>array(79,-64,921,766),44994=>array(79,-64,921,766),44995=>array(79,-63,921,766),44996=>array(79,-68,921,766),44997=>array(79,-64,921,766),44998=>array(79,-63,921,766),44999=>array(79,-74,921,766),45000=>array(79,-62,921,766),45001=>array(79,-61,921,766),45002=>array(79,-69,921,766),45003=>array(79,-74,921,766),45004=>array(79,-69,921,766),45005=>array(79,-68,921,766),45006=>array(79,-72,921,766),45007=>array(79,-70,921,766),45008=>array(79,-66,921,766),45009=>array(79,-59,921,766),45010=>array(79,-60,921,766),45011=>array(79,-68,921,766),45012=>array(78,-70,907,841),45013=>array(68,-61,907,841),45014=>array(68,-61,907,841),45015=>array(68,-71,931,841),45016=>array(80,-46,907,841),45017=>array(68,-68,912,841),45018=>array(68,-76,907,841),45019=>array(68,-44,921,841),45020=>array(68,-62,917,841),45021=>array(68,-64,907,841),45022=>array(68,-64,908,841),45023=>array(68,-64,908,841),45024=>array(68,-69,923,841),45025=>array(68,-64,908,841),45026=>array(68,-64,908,841),45027=>array(68,-76,906,841),45028=>array(68,-62,907,841),45029=>array(68,-61,907,841),45030=>array(68,-69,922,841),45031=>array(68,-74,929,841),45032=>array(68,-69,927,841),45033=>array(68,-68,911,841),45034=>array(68,-72,929,841),45035=>array(68,-70,936,841),45036=>array(68,-66,908,841),45037=>array(68,-59,916,841),45038=>array(68,-60,928,841),45039=>array(68,-68,908,841),45040=>array(50,-68,912,843),45041=>array(67,-61,907,838),45042=>array(67,-61,907,838),45043=>array(67,-71,931,838),45044=>array(75,-46,907,843),45045=>array(67,-68,912,838),45046=>array(67,-76,907,838),45047=>array(67,-44,921,838),45048=>array(67,-62,917,838),45049=>array(67,-64,907,838),45050=>array(67,-64,908,838),45051=>array(67,-64,908,838),45052=>array(67,-69,923,838),45053=>array(67,-64,908,838),45054=>array(67,-64,908,838),45055=>array(67,-76,907,838),45056=>array(67,-62,907,838),45057=>array(67,-61,907,838),45058=>array(67,-69,922,838),45059=>array(67,-74,929,838),45060=>array(67,-69,927,838),45061=>array(67,-68,911,838),45062=>array(67,-72,929,838),45063=>array(67,-70,936,838),45064=>array(67,-66,908,838),45065=>array(67,-59,916,838),45066=>array(67,-60,928,838),45067=>array(67,-68,908,838),45068=>array(64,-69,907,842),45069=>array(65,-61,907,842),45070=>array(65,-61,907,842),45071=>array(65,-71,931,842),45072=>array(78,-46,907,842),45073=>array(65,-68,912,842),45074=>array(65,-76,907,842),45075=>array(65,-44,921,842),45076=>array(65,-62,917,842),45077=>array(65,-64,907,842),45078=>array(65,-64,908,842),45079=>array(65,-64,908,842),45080=>array(65,-69,923,842),45081=>array(65,-64,908,842),45082=>array(65,-64,908,842),45083=>array(65,-76,907,842),45084=>array(65,-62,907,842),45085=>array(65,-61,907,842),45086=>array(65,-69,922,842),45087=>array(65,-74,929,842),45088=>array(65,-69,927,842),45089=>array(65,-68,911,842),45090=>array(65,-72,929,842),45091=>array(65,-70,936,842),45092=>array(65,-66,908,842),45093=>array(65,-59,916,842),45094=>array(65,-60,928,842),45095=>array(65,-68,908,842),45096=>array(84,-64,921,776),45097=>array(79,-61,921,766),45098=>array(79,-61,921,766),45099=>array(79,-71,921,766),45100=>array(81,-46,922,767),45101=>array(79,-68,921,766),45102=>array(79,-74,921,766),45103=>array(79,-44,921,766),45104=>array(79,-62,921,766),45105=>array(79,-64,921,766),45106=>array(79,-64,921,766),45107=>array(79,-63,921,766),45108=>array(79,-68,921,766),45109=>array(79,-64,921,766),45110=>array(79,-63,921,766),45111=>array(79,-74,921,766),45112=>array(79,-62,921,766),45113=>array(79,-61,921,766),45114=>array(79,-69,921,766),45115=>array(79,-74,921,766),45116=>array(79,-69,921,766),45117=>array(79,-68,921,766),45118=>array(79,-72,921,766),45119=>array(79,-70,921,766),45120=>array(79,-66,921,766),45121=>array(79,-59,921,766),45122=>array(79,-60,921,766),45123=>array(79,-68,921,766),45124=>array(57,52,943,691),45125=>array(79,-61,921,767),45126=>array(79,-61,921,767),45127=>array(79,-71,921,767),45128=>array(79,-46,921,767),45129=>array(79,-68,921,767),45130=>array(79,-74,921,767),45131=>array(79,-44,921,767),45132=>array(79,-62,921,767),45133=>array(79,-64,921,767),45134=>array(79,-64,921,767),45135=>array(79,-63,921,767),45136=>array(79,-68,921,767),45137=>array(79,-64,921,767),45138=>array(79,-63,921,767),45139=>array(79,-74,921,767),45140=>array(79,-62,921,767),45141=>array(79,-61,921,767),45142=>array(79,-69,921,767),45143=>array(79,-74,921,767),45144=>array(79,-69,921,767),45145=>array(79,-68,921,767),45146=>array(79,-72,921,767),45147=>array(79,-70,921,767),45148=>array(79,-66,921,767),45149=>array(79,-59,921,767),45150=>array(79,-60,921,767),45151=>array(79,-68,921,767),45152=>array(66,-69,907,842),45153=>array(75,-61,907,842),45154=>array(75,-61,907,842),45155=>array(75,-71,931,842),45156=>array(74,-46,907,842),45157=>array(75,-68,912,842),45158=>array(75,-76,907,842),45159=>array(75,-44,921,842),45160=>array(75,-62,917,842),45161=>array(75,-64,907,842),45162=>array(75,-64,908,842),45163=>array(75,-64,908,842),45164=>array(75,-69,923,842),45165=>array(75,-64,908,842),45166=>array(75,-64,908,842),45167=>array(75,-76,907,842),45168=>array(75,-62,907,842),45169=>array(75,-61,907,842),45170=>array(75,-69,922,842),45171=>array(75,-74,929,842),45172=>array(75,-69,927,842),45173=>array(75,-68,911,842),45174=>array(75,-72,929,842),45175=>array(75,-70,936,842),45176=>array(75,-66,908,842),45177=>array(75,-59,916,842),45178=>array(75,-60,928,842),45179=>array(75,-68,908,842),45180=>array(56,-69,907,842),45181=>array(123,-61,907,842),45182=>array(123,-61,907,842),45183=>array(123,-71,931,842),45184=>array(105,-46,907,842),45185=>array(123,-68,912,842),45186=>array(123,-76,907,842),45187=>array(123,-44,921,842),45188=>array(123,-62,917,842),45189=>array(123,-64,907,842),45190=>array(123,-64,908,842),45191=>array(123,-64,908,842),45192=>array(123,-69,923,842),45193=>array(123,-64,908,842),45194=>array(123,-64,908,842),45195=>array(123,-76,907,842),45196=>array(123,-62,907,842),45197=>array(123,-61,907,842),45198=>array(123,-69,922,842),45199=>array(123,-74,929,842),45200=>array(123,-69,927,842),45201=>array(123,-68,911,842),45202=>array(123,-72,929,842),45203=>array(123,-70,936,842),45204=>array(123,-66,908,842),45205=>array(123,-59,916,842),45206=>array(123,-60,928,842),45207=>array(123,-68,908,842),45208=>array(109,-69,936,842),45209=>array(109,-59,936,842),45210=>array(109,-61,936,842),45211=>array(109,-71,936,842),45212=>array(109,-45,936,842),45213=>array(109,-69,936,842),45214=>array(109,-76,936,842),45215=>array(109,-44,936,842),45216=>array(109,-62,936,842),45217=>array(109,-64,936,842),45218=>array(109,-64,936,842),45219=>array(109,-64,936,842),45220=>array(109,-70,936,842),45221=>array(109,-64,936,842),45222=>array(109,-64,936,842),45223=>array(109,-76,936,842),45224=>array(109,-62,936,842),45225=>array(109,-61,936,842),45226=>array(109,-70,936,842),45227=>array(109,-74,936,842),45228=>array(109,-69,936,842),45229=>array(109,-67,936,842),45230=>array(109,-72,936,842),45231=>array(109,-71,936,842),45232=>array(109,-66,936,842),45233=>array(109,-59,936,842),45234=>array(109,-60,936,842),45235=>array(109,-69,936,842),45236=>array(133,-69,907,842),45237=>array(109,-61,907,842),45238=>array(109,-61,907,842),45239=>array(109,-71,931,842),45240=>array(109,-46,907,842),45241=>array(109,-68,912,842),45242=>array(109,-76,907,842),45243=>array(109,-44,921,842),45244=>array(109,-62,917,842),45245=>array(109,-64,907,842),45246=>array(109,-64,908,842),45247=>array(109,-64,908,842),45248=>array(109,-69,923,842),45249=>array(109,-64,908,842),45250=>array(109,-64,908,842),45251=>array(109,-76,907,842),45252=>array(109,-62,907,842),45253=>array(109,-61,907,842),45254=>array(109,-69,922,842),45255=>array(109,-74,929,842),45256=>array(109,-69,927,842),45257=>array(109,-68,911,842),45258=>array(109,-72,929,842),45259=>array(109,-70,936,842),45260=>array(109,-66,908,842),45261=>array(109,-59,916,842),45262=>array(109,-60,928,842),45263=>array(109,-68,908,842),45264=>array(109,-69,936,842),45265=>array(109,-59,936,842),45266=>array(109,-61,936,842),45267=>array(109,-71,936,842),45268=>array(109,-45,936,842),45269=>array(109,-69,936,842),45270=>array(109,-76,936,842),45271=>array(109,-44,936,842),45272=>array(109,-62,936,842),45273=>array(109,-64,936,842),45274=>array(109,-64,936,842),45275=>array(109,-64,936,842),45276=>array(109,-70,936,842),45277=>array(109,-64,936,842),45278=>array(109,-64,936,842),45279=>array(109,-76,936,842),45280=>array(109,-62,936,842),45281=>array(109,-61,936,842),45282=>array(109,-70,936,842),45283=>array(109,-74,936,842),45284=>array(109,-69,936,842),45285=>array(109,-67,936,842),45286=>array(109,-72,936,842),45287=>array(109,-71,936,842),45288=>array(109,-66,936,842),45289=>array(109,-59,936,842),45290=>array(109,-60,936,842),45291=>array(109,-69,936,842),45292=>array(133,-69,907,842),45293=>array(109,-61,907,842),45294=>array(109,-61,907,842),45295=>array(109,-71,931,842),45296=>array(109,-46,907,842),45297=>array(109,-68,912,842),45298=>array(109,-76,907,842),45299=>array(109,-44,921,842),45300=>array(109,-62,917,842),45301=>array(109,-64,907,842),45302=>array(109,-64,908,842),45303=>array(109,-64,908,842),45304=>array(109,-69,923,842),45305=>array(109,-64,908,842),45306=>array(109,-64,908,842),45307=>array(109,-76,907,842),45308=>array(109,-62,907,842),45309=>array(109,-61,907,842),45310=>array(109,-69,922,842),45311=>array(109,-74,929,842),45312=>array(109,-69,927,842),45313=>array(109,-68,911,842),45314=>array(109,-72,929,842),45315=>array(109,-70,936,842),45316=>array(109,-66,908,842),45317=>array(109,-59,916,842),45318=>array(109,-60,928,842),45319=>array(109,-68,908,842),45320=>array(109,-70,907,841),45321=>array(109,-61,907,841),45322=>array(109,-61,907,841),45323=>array(109,-71,931,841),45324=>array(109,-46,907,841),45325=>array(109,-68,912,841),45326=>array(109,-76,907,841),45327=>array(109,-44,921,841),45328=>array(109,-62,917,841),45329=>array(109,-64,907,841),45330=>array(109,-64,908,841),45331=>array(109,-64,908,841),45332=>array(109,-69,923,841),45333=>array(109,-64,908,841),45334=>array(109,-64,908,841),45335=>array(109,-76,906,841),45336=>array(109,-62,907,841),45337=>array(109,-61,907,841),45338=>array(109,-69,922,841),45339=>array(109,-74,929,841),45340=>array(109,-69,927,841),45341=>array(109,-68,911,841),45342=>array(109,-72,929,841),45343=>array(109,-70,936,841),45344=>array(109,-66,908,841),45345=>array(109,-59,916,841),45346=>array(109,-60,928,841),45347=>array(109,-68,908,841),45348=>array(134,-68,907,843),45349=>array(109,-61,907,843),45350=>array(109,-61,907,843),45351=>array(109,-71,931,843),45352=>array(109,-46,907,843),45353=>array(109,-68,912,843),45354=>array(109,-76,907,843),45355=>array(109,-44,921,843),45356=>array(109,-62,917,843),45357=>array(109,-64,907,843),45358=>array(109,-64,908,843),45359=>array(109,-64,908,843),45360=>array(109,-69,923,843),45361=>array(109,-64,908,843),45362=>array(109,-64,908,843),45363=>array(109,-76,907,843),45364=>array(109,-62,907,843),45365=>array(109,-61,907,843),45366=>array(109,-69,922,843),45367=>array(109,-74,929,843),45368=>array(109,-69,927,843),45369=>array(109,-68,911,843),45370=>array(109,-72,929,843),45371=>array(109,-70,936,843),45372=>array(109,-66,908,843),45373=>array(109,-59,916,843),45374=>array(109,-60,928,843),45375=>array(109,-68,908,843),45376=>array(109,-69,909,842),45377=>array(109,-61,907,842),45378=>array(109,-61,907,842),45379=>array(109,-71,931,842),45380=>array(109,-46,908,841),45381=>array(109,-68,912,842),45382=>array(109,-76,907,842),45383=>array(109,-44,921,842),45384=>array(109,-62,917,842),45385=>array(109,-64,907,842),45386=>array(109,-64,908,842),45387=>array(109,-64,908,842),45388=>array(109,-69,923,842),45389=>array(109,-64,908,842),45390=>array(109,-64,908,842),45391=>array(109,-76,907,842),45392=>array(109,-62,907,842),45393=>array(109,-61,907,842),45394=>array(109,-69,922,842),45395=>array(109,-74,929,842),45396=>array(109,-69,927,842),45397=>array(109,-68,911,842),45398=>array(109,-72,929,842),45399=>array(109,-70,936,842),45400=>array(109,-66,908,842),45401=>array(109,-59,916,842),45402=>array(109,-60,928,842),45403=>array(109,-68,908,842),45404=>array(144,-68,907,843),45405=>array(109,-61,907,838),45406=>array(109,-61,907,838),45407=>array(109,-71,931,838),45408=>array(109,-46,907,843),45409=>array(109,-68,912,838),45410=>array(109,-76,907,838),45411=>array(109,-44,921,838),45412=>array(109,-62,917,838),45413=>array(109,-64,907,838),45414=>array(109,-64,908,838),45415=>array(109,-64,908,838),45416=>array(109,-69,923,838),45417=>array(109,-64,908,838),45418=>array(109,-64,908,838),45419=>array(109,-76,907,838),45420=>array(109,-62,907,838),45421=>array(109,-61,907,838),45422=>array(109,-69,922,838),45423=>array(109,-74,929,838),45424=>array(109,-69,927,838),45425=>array(109,-68,911,838),45426=>array(109,-72,929,838),45427=>array(109,-70,936,838),45428=>array(109,-66,908,838),45429=>array(109,-59,916,838),45430=>array(109,-60,928,838),45431=>array(109,-68,908,838),45432=>array(62,27,943,732),45433=>array(79,-61,921,797),45434=>array(79,-61,921,797),45435=>array(79,-71,921,797),45436=>array(79,-46,921,792),45437=>array(79,-68,921,797),45438=>array(79,-74,921,797),45439=>array(79,-44,921,797),45440=>array(79,-62,921,797),45441=>array(79,-64,921,797),45442=>array(79,-64,921,797),45443=>array(79,-63,921,797),45444=>array(79,-68,921,797),45445=>array(79,-64,921,797),45446=>array(79,-63,921,797),45447=>array(79,-74,921,797),45448=>array(79,-62,921,797),45449=>array(79,-61,921,797),45450=>array(79,-69,921,797),45451=>array(79,-74,921,797),45452=>array(79,-69,921,797),45453=>array(79,-68,921,797),45454=>array(79,-72,921,797),45455=>array(79,-70,921,797),45456=>array(79,-66,921,797),45457=>array(79,-59,921,797),45458=>array(79,-60,921,797),45459=>array(79,-68,921,797),45460=>array(47,-69,936,842),45461=>array(64,-59,936,842),45462=>array(64,-61,936,842),45463=>array(64,-71,936,842),45464=>array(74,-45,936,842),45465=>array(64,-69,936,842),45466=>array(64,-76,936,842),45467=>array(64,-44,936,842),45468=>array(64,-62,936,842),45469=>array(64,-64,936,842),45470=>array(64,-64,936,842),45471=>array(64,-64,936,842),45472=>array(64,-70,936,842),45473=>array(64,-64,936,842),45474=>array(64,-64,936,842),45475=>array(64,-76,936,842),45476=>array(64,-62,936,842),45477=>array(64,-61,936,842),45478=>array(64,-70,936,842),45479=>array(64,-74,936,842),45480=>array(64,-69,936,842),45481=>array(64,-67,936,842),45482=>array(64,-72,936,842),45483=>array(64,-71,936,842),45484=>array(64,-66,936,842),45485=>array(64,-59,936,842),45486=>array(64,-60,936,842),45487=>array(64,-69,936,842),45488=>array(43,-68,907,843),45489=>array(79,-61,907,843),45490=>array(79,-61,907,843),45491=>array(79,-71,931,843),45492=>array(72,-46,907,842),45493=>array(79,-68,912,843),45494=>array(79,-76,907,843),45495=>array(79,-44,921,843),45496=>array(79,-62,917,843),45497=>array(79,-64,907,843),45498=>array(79,-64,908,843),45499=>array(79,-64,908,843),45500=>array(79,-69,923,843),45501=>array(79,-64,908,843),45502=>array(79,-64,908,843),45503=>array(79,-76,907,843),45504=>array(79,-62,907,843),45505=>array(79,-61,907,843),45506=>array(79,-69,922,843),45507=>array(79,-74,929,843),45508=>array(79,-69,927,843),45509=>array(79,-68,911,843),45510=>array(79,-72,929,843),45511=>array(79,-70,936,843),45512=>array(79,-66,908,843),45513=>array(79,-59,916,843),45514=>array(79,-60,928,843),45515=>array(79,-68,908,843),45516=>array(62,-69,907,842),45517=>array(64,-61,908,842),45518=>array(64,-61,908,842),45519=>array(64,-71,931,842),45520=>array(64,-46,908,841),45521=>array(64,-68,912,842),45522=>array(64,-76,908,842),45523=>array(64,-44,921,842),45524=>array(64,-62,917,842),45525=>array(64,-64,908,842),45526=>array(64,-64,908,842),45527=>array(64,-64,908,842),45528=>array(64,-69,923,842),45529=>array(64,-64,908,842),45530=>array(64,-64,908,842),45531=>array(64,-76,908,842),45532=>array(64,-62,908,842),45533=>array(64,-61,908,842),45534=>array(64,-69,922,842),45535=>array(64,-74,929,842),45536=>array(64,-69,927,842),45537=>array(64,-68,911,842),45538=>array(64,-72,929,842),45539=>array(64,-70,936,842),45540=>array(64,-66,908,842),45541=>array(64,-59,916,842),45542=>array(64,-60,928,842),45543=>array(64,-68,908,842),45544=>array(60,-13,940,742),45545=>array(79,-61,922,797),45546=>array(79,-61,922,797),45547=>array(79,-71,922,797),45548=>array(79,-46,922,797),45549=>array(79,-68,922,797),45550=>array(79,-74,922,797),45551=>array(79,-44,922,797),45552=>array(79,-62,922,797),45553=>array(79,-64,922,797),45554=>array(79,-64,922,797),45555=>array(79,-63,922,797),45556=>array(79,-68,922,797),45557=>array(79,-64,922,797),45558=>array(79,-63,922,797),45559=>array(79,-74,922,797),45560=>array(79,-62,922,797),45561=>array(79,-61,922,797),45562=>array(79,-69,922,797),45563=>array(79,-74,922,797),45564=>array(79,-69,922,797),45565=>array(79,-68,922,797),45566=>array(79,-72,922,797),45567=>array(79,-70,922,797),45568=>array(79,-66,922,797),45569=>array(79,-59,922,797),45570=>array(79,-60,922,797),45571=>array(79,-68,922,797),45572=>array(79,-64,921,797),45573=>array(79,-61,921,797),45574=>array(79,-61,921,797),45575=>array(79,-71,921,797),45576=>array(79,-46,921,797),45577=>array(79,-68,921,797),45578=>array(79,-74,921,797),45579=>array(79,-44,921,797),45580=>array(79,-62,921,797),45581=>array(79,-64,921,797),45582=>array(79,-64,921,797),45583=>array(79,-63,921,797),45584=>array(79,-68,921,797),45585=>array(79,-64,921,797),45586=>array(79,-63,921,797),45587=>array(79,-74,921,797),45588=>array(79,-62,921,797),45589=>array(79,-61,921,797),45590=>array(79,-69,921,797),45591=>array(79,-74,921,797),45592=>array(79,-69,921,797),45593=>array(79,-68,921,797),45594=>array(79,-72,921,797),45595=>array(79,-70,921,797),45596=>array(79,-66,921,797),45597=>array(79,-59,921,797),45598=>array(79,-60,921,797),45599=>array(79,-68,921,797),45600=>array(69,-69,909,842),45601=>array(79,-61,907,841),45602=>array(79,-61,907,841),45603=>array(79,-71,931,841),45604=>array(79,-46,907,841),45605=>array(79,-68,912,841),45606=>array(79,-76,907,841),45607=>array(79,-44,921,841),45608=>array(79,-62,917,841),45609=>array(79,-64,907,841),45610=>array(79,-64,908,841),45611=>array(79,-64,908,841),45612=>array(79,-69,923,841),45613=>array(79,-64,908,841),45614=>array(79,-64,908,841),45615=>array(79,-76,906,841),45616=>array(79,-62,907,841),45617=>array(79,-61,907,841),45618=>array(79,-69,922,841),45619=>array(79,-74,929,841),45620=>array(79,-69,927,841),45621=>array(79,-68,911,841),45622=>array(79,-72,929,841),45623=>array(79,-70,936,841),45624=>array(79,-66,908,841),45625=>array(79,-59,916,841),45626=>array(79,-60,928,841),45627=>array(79,-68,908,841),45628=>array(63,-68,907,843),45629=>array(72,-61,907,843),45630=>array(72,-61,907,843),45631=>array(72,-71,931,843),45632=>array(90,-46,907,843),45633=>array(72,-68,912,843),45634=>array(72,-76,907,843),45635=>array(72,-44,921,843),45636=>array(72,-62,917,843),45637=>array(72,-64,907,843),45638=>array(72,-64,908,843),45639=>array(72,-64,908,843),45640=>array(72,-69,923,843),45641=>array(72,-64,908,843),45642=>array(72,-64,908,843),45643=>array(72,-76,907,843),45644=>array(72,-62,907,843),45645=>array(72,-61,907,843),45646=>array(72,-69,922,843),45647=>array(72,-74,929,843),45648=>array(72,-69,927,843),45649=>array(72,-68,911,843),45650=>array(72,-72,929,843),45651=>array(72,-70,936,843),45652=>array(72,-66,908,843),45653=>array(72,-59,916,843),45654=>array(72,-60,928,843),45655=>array(72,-68,908,843),45656=>array(70,-68,910,843),45657=>array(64,-61,907,842),45658=>array(64,-61,907,842),45659=>array(64,-71,931,842),45660=>array(65,-46,907,841),45661=>array(64,-68,912,842),45662=>array(64,-76,907,842),45663=>array(64,-44,921,842),45664=>array(64,-62,917,842),45665=>array(64,-64,907,842),45666=>array(64,-64,908,842),45667=>array(64,-64,908,842),45668=>array(64,-69,923,842),45669=>array(64,-64,908,842),45670=>array(64,-64,908,842),45671=>array(64,-76,907,842),45672=>array(64,-62,907,842),45673=>array(64,-61,907,842),45674=>array(64,-69,922,842),45675=>array(64,-74,929,842),45676=>array(64,-69,927,842),45677=>array(64,-68,911,842),45678=>array(64,-72,929,842),45679=>array(64,-70,936,842),45680=>array(64,-66,908,842),45681=>array(64,-59,916,842),45682=>array(64,-60,928,842),45683=>array(64,-68,908,842),45684=>array(71,-64,928,797),45685=>array(79,-61,921,797),45686=>array(79,-61,921,797),45687=>array(79,-71,921,797),45688=>array(79,-46,921,797),45689=>array(79,-68,921,797),45690=>array(79,-74,921,797),45691=>array(79,-44,921,797),45692=>array(79,-62,921,797),45693=>array(79,-64,921,797),45694=>array(79,-64,921,797),45695=>array(79,-63,921,797),45696=>array(79,-68,921,797),45697=>array(79,-64,921,797),45698=>array(79,-63,921,797),45699=>array(79,-74,921,797),45700=>array(79,-62,921,797),45701=>array(79,-61,921,797),45702=>array(79,-69,921,797),45703=>array(79,-74,921,797),45704=>array(79,-69,921,797),45705=>array(79,-68,921,797),45706=>array(79,-72,921,797),45707=>array(79,-70,921,797),45708=>array(79,-66,921,797),45709=>array(79,-59,921,797),45710=>array(79,-60,921,797),45711=>array(79,-68,921,797),45712=>array(57,32,943,747),45713=>array(79,-61,921,802),45714=>array(79,-61,921,802),45715=>array(79,-71,921,802),45716=>array(79,-46,921,812),45717=>array(79,-68,921,802),45718=>array(79,-74,921,802),45719=>array(79,-44,921,802),45720=>array(79,-62,921,802),45721=>array(79,-64,921,802),45722=>array(79,-64,921,802),45723=>array(79,-63,921,802),45724=>array(79,-68,921,802),45725=>array(79,-64,921,802),45726=>array(79,-63,921,802),45727=>array(79,-74,921,802),45728=>array(79,-62,921,802),45729=>array(79,-61,921,802),45730=>array(79,-69,921,802),45731=>array(79,-74,921,802),45732=>array(79,-69,921,802),45733=>array(79,-68,921,802),45734=>array(79,-72,921,802),45735=>array(79,-70,921,802),45736=>array(79,-66,921,802),45737=>array(79,-59,921,802),45738=>array(79,-60,921,802),45739=>array(79,-68,921,802),45740=>array(68,-69,907,842),45741=>array(69,-61,907,842),45742=>array(69,-61,907,842),45743=>array(69,-71,931,842),45744=>array(65,-46,907,842),45745=>array(69,-68,912,842),45746=>array(69,-76,907,842),45747=>array(69,-44,921,842),45748=>array(69,-62,917,842),45749=>array(69,-64,907,842),45750=>array(69,-64,908,842),45751=>array(69,-64,908,842),45752=>array(69,-69,923,842),45753=>array(69,-64,908,842),45754=>array(69,-64,908,842),45755=>array(69,-76,907,842),45756=>array(69,-62,907,842),45757=>array(69,-61,907,842),45758=>array(69,-69,922,842),45759=>array(69,-74,929,842),45760=>array(69,-69,927,842),45761=>array(69,-68,911,842),45762=>array(69,-72,929,842),45763=>array(69,-70,936,842),45764=>array(69,-66,908,842),45765=>array(69,-59,916,842),45766=>array(69,-60,928,842),45767=>array(69,-68,908,842),45768=>array(138,-69,907,842),45769=>array(138,-61,907,842),45770=>array(138,-61,907,842),45771=>array(138,-71,931,842),45772=>array(138,-46,907,842),45773=>array(138,-68,912,842),45774=>array(138,-76,907,842),45775=>array(138,-44,921,842),45776=>array(138,-62,917,842),45777=>array(138,-64,907,842),45778=>array(138,-64,908,842),45779=>array(138,-64,908,842),45780=>array(138,-69,923,842),45781=>array(138,-64,908,842),45782=>array(138,-64,908,842),45783=>array(138,-76,907,842),45784=>array(138,-62,907,842),45785=>array(138,-61,907,842),45786=>array(138,-69,922,842),45787=>array(138,-74,929,842),45788=>array(138,-69,927,842),45789=>array(138,-68,911,842),45790=>array(138,-72,929,842),45791=>array(138,-70,936,842),45792=>array(138,-66,908,842),45793=>array(138,-59,916,842),45794=>array(138,-60,928,842),45795=>array(138,-68,908,842),45796=>array(109,-69,936,842),45797=>array(109,-59,936,837),45798=>array(109,-61,936,837),45799=>array(109,-71,936,837),45800=>array(109,-45,936,842),45801=>array(109,-69,936,837),45802=>array(109,-76,936,837),45803=>array(109,-44,936,837),45804=>array(109,-62,936,837),45805=>array(109,-64,936,837),45806=>array(109,-64,936,837),45807=>array(109,-64,936,837),45808=>array(109,-70,936,837),45809=>array(109,-64,936,837),45810=>array(109,-64,936,837),45811=>array(109,-76,936,837),45812=>array(109,-62,936,837),45813=>array(109,-61,936,837),45814=>array(109,-70,936,837),45815=>array(109,-74,936,837),45816=>array(109,-69,936,837),45817=>array(109,-67,936,837),45818=>array(109,-72,936,837),45819=>array(109,-71,936,837),45820=>array(109,-66,936,837),45821=>array(109,-59,936,837),45822=>array(109,-60,936,837),45823=>array(109,-69,936,837),45824=>array(109,-69,907,842),45825=>array(119,-61,907,842),45826=>array(119,-61,907,842),45827=>array(119,-71,931,842),45828=>array(119,-46,907,842),45829=>array(119,-68,912,842),45830=>array(119,-76,907,842),45831=>array(119,-44,921,842),45832=>array(119,-62,917,842),45833=>array(119,-64,907,842),45834=>array(119,-64,908,842),45835=>array(119,-64,908,842),45836=>array(119,-69,923,842),45837=>array(119,-64,908,842),45838=>array(119,-64,908,842),45839=>array(119,-76,907,842),45840=>array(119,-62,907,842),45841=>array(119,-61,907,842),45842=>array(119,-69,922,842),45843=>array(119,-74,929,842),45844=>array(119,-69,927,842),45845=>array(119,-68,911,842),45846=>array(119,-72,929,842),45847=>array(119,-70,936,842),45848=>array(119,-66,908,842),45849=>array(119,-59,916,842),45850=>array(119,-60,928,842),45851=>array(119,-68,908,842),45852=>array(109,-68,935,843),45853=>array(109,-59,936,842),45854=>array(109,-61,936,842),45855=>array(109,-71,936,842),45856=>array(109,-45,936,842),45857=>array(109,-69,936,842),45858=>array(109,-76,936,842),45859=>array(109,-44,936,842),45860=>array(109,-62,936,842),45861=>array(109,-64,936,842),45862=>array(109,-64,936,842),45863=>array(109,-64,936,842),45864=>array(109,-70,936,842),45865=>array(109,-64,936,842),45866=>array(109,-64,936,842),45867=>array(109,-76,936,842),45868=>array(109,-62,936,842),45869=>array(109,-61,936,842),45870=>array(109,-70,936,842),45871=>array(109,-74,936,842),45872=>array(109,-69,936,842),45873=>array(109,-67,936,842),45874=>array(109,-72,936,842),45875=>array(109,-71,936,842),45876=>array(109,-66,936,842),45877=>array(109,-59,936,842),45878=>array(109,-60,936,842),45879=>array(109,-69,936,842),45880=>array(109,-69,907,842),45881=>array(119,-61,907,842),45882=>array(119,-61,907,842),45883=>array(119,-71,931,842),45884=>array(119,-46,907,842),45885=>array(119,-68,912,842),45886=>array(119,-76,907,842),45887=>array(119,-44,921,842),45888=>array(119,-62,917,842),45889=>array(119,-64,907,842),45890=>array(119,-64,908,842),45891=>array(119,-64,908,842),45892=>array(119,-69,923,842),45893=>array(119,-64,908,842),45894=>array(119,-64,908,842),45895=>array(119,-76,907,842),45896=>array(119,-62,907,842),45897=>array(119,-61,907,842),45898=>array(119,-69,922,842),45899=>array(119,-74,929,842),45900=>array(119,-69,927,842),45901=>array(119,-68,911,842),45902=>array(119,-72,929,842),45903=>array(119,-70,936,842),45904=>array(119,-66,908,842),45905=>array(119,-59,916,842),45906=>array(119,-60,928,842),45907=>array(119,-68,908,842),45908=>array(109,-70,907,841),45909=>array(109,-61,907,841),45910=>array(109,-61,907,841),45911=>array(109,-71,931,841),45912=>array(109,-46,907,841),45913=>array(109,-68,912,841),45914=>array(109,-76,907,841),45915=>array(109,-44,921,841),45916=>array(109,-62,917,841),45917=>array(109,-64,907,841),45918=>array(109,-64,908,841),45919=>array(109,-64,908,841),45920=>array(109,-69,923,841),45921=>array(109,-64,908,841),45922=>array(109,-64,908,841),45923=>array(109,-76,906,841),45924=>array(109,-62,907,841),45925=>array(109,-61,907,841),45926=>array(109,-69,922,841),45927=>array(109,-74,929,841),45928=>array(109,-69,927,841),45929=>array(109,-68,911,841),45930=>array(109,-72,929,841),45931=>array(109,-70,936,841),45932=>array(109,-66,908,841),45933=>array(109,-59,916,841),45934=>array(109,-60,928,841),45935=>array(109,-68,908,841),45936=>array(109,-68,907,843),45937=>array(119,-61,907,843),45938=>array(119,-61,907,843),45939=>array(119,-71,931,843),45940=>array(119,-46,907,843),45941=>array(119,-68,912,843),45942=>array(119,-76,907,843),45943=>array(119,-44,921,843),45944=>array(119,-62,917,843),45945=>array(119,-64,907,843),45946=>array(119,-64,908,843),45947=>array(119,-64,908,843),45948=>array(119,-69,923,843),45949=>array(119,-64,908,843),45950=>array(119,-64,908,843),45951=>array(119,-76,907,843),45952=>array(119,-62,907,843),45953=>array(119,-61,907,843),45954=>array(119,-69,922,843),45955=>array(119,-74,929,843),45956=>array(119,-69,927,843),45957=>array(119,-68,911,843),45958=>array(119,-72,929,843),45959=>array(119,-70,936,843),45960=>array(119,-66,908,843),45961=>array(119,-59,916,843),45962=>array(119,-60,928,843),45963=>array(119,-68,908,843),45964=>array(109,-70,907,842),45965=>array(109,-61,908,842),45966=>array(109,-61,908,842),45967=>array(109,-71,931,842),45968=>array(109,-46,907,842),45969=>array(109,-68,912,842),45970=>array(109,-76,908,842),45971=>array(109,-44,921,842),45972=>array(109,-62,917,842),45973=>array(109,-64,908,842),45974=>array(109,-64,908,842),45975=>array(109,-64,908,842),45976=>array(109,-69,923,842),45977=>array(109,-64,908,842),45978=>array(109,-64,908,842),45979=>array(109,-76,908,842),45980=>array(109,-62,908,842),45981=>array(109,-61,908,842),45982=>array(109,-69,922,842),45983=>array(109,-74,929,842),45984=>array(109,-69,927,842),45985=>array(109,-68,911,842),45986=>array(109,-72,929,842),45987=>array(109,-70,936,842),45988=>array(109,-66,908,842),45989=>array(109,-59,916,842),45990=>array(109,-60,928,842),45991=>array(109,-68,908,842),45992=>array(109,-68,907,843),45993=>array(119,-61,907,843),45994=>array(119,-61,907,843),45995=>array(119,-71,931,843),45996=>array(119,-46,907,843),45997=>array(119,-68,912,843),45998=>array(119,-76,907,843),45999=>array(119,-44,921,843),46000=>array(119,-62,917,843),46001=>array(119,-64,907,843),46002=>array(119,-64,908,843),46003=>array(119,-64,908,843),46004=>array(119,-69,923,843),46005=>array(119,-64,908,843),46006=>array(119,-64,908,843),46007=>array(119,-76,907,843),46008=>array(119,-62,907,843),46009=>array(119,-61,907,843),46010=>array(119,-69,922,843),46011=>array(119,-74,929,843),46012=>array(119,-69,927,843),46013=>array(119,-68,911,843),46014=>array(119,-72,929,843),46015=>array(119,-70,936,843),46016=>array(119,-66,908,843),46017=>array(119,-59,916,843),46018=>array(119,-60,928,843),46019=>array(119,-68,908,843),46020=>array(62,-13,943,759),46021=>array(79,-61,921,790),46022=>array(79,-61,921,790),46023=>array(79,-71,921,790),46024=>array(79,-46,921,784),46025=>array(79,-68,921,790),46026=>array(79,-74,921,790),46027=>array(79,-44,921,790),46028=>array(79,-62,921,790),46029=>array(79,-64,921,790),46030=>array(79,-64,921,790),46031=>array(79,-63,921,790),46032=>array(79,-68,921,790),46033=>array(79,-64,921,790),46034=>array(79,-63,921,790),46035=>array(79,-74,921,790),46036=>array(79,-62,921,790),46037=>array(79,-61,921,790),46038=>array(79,-69,921,790),46039=>array(79,-74,921,790),46040=>array(79,-69,921,790),46041=>array(79,-68,921,790),46042=>array(79,-72,921,790),46043=>array(79,-70,921,790),46044=>array(79,-66,921,790),46045=>array(79,-59,921,790),46046=>array(79,-60,921,790),46047=>array(79,-68,921,790),46048=>array(47,-69,936,842),46049=>array(64,-59,936,842),46050=>array(64,-61,936,842),46051=>array(64,-71,936,842),46052=>array(74,-45,936,842),46053=>array(64,-69,936,842),46054=>array(64,-76,936,842),46055=>array(64,-44,936,842),46056=>array(64,-62,936,842),46057=>array(64,-64,936,842),46058=>array(64,-64,936,842),46059=>array(64,-64,936,842),46060=>array(64,-70,936,842),46061=>array(64,-64,936,842),46062=>array(64,-64,936,842),46063=>array(64,-76,936,842),46064=>array(64,-62,936,842),46065=>array(64,-61,936,842),46066=>array(64,-70,936,842),46067=>array(64,-74,936,842),46068=>array(64,-69,936,842),46069=>array(64,-67,936,842),46070=>array(64,-72,936,842),46071=>array(64,-71,936,842),46072=>array(64,-66,936,842),46073=>array(64,-59,936,842),46074=>array(64,-60,936,842),46075=>array(64,-69,936,842),46076=>array(61,-69,906,842),46077=>array(64,-61,907,842),46078=>array(64,-61,907,842),46079=>array(64,-71,931,842),46080=>array(53,-46,907,842),46081=>array(64,-68,912,842),46082=>array(64,-76,907,842),46083=>array(64,-44,921,842),46084=>array(64,-62,917,842),46085=>array(64,-64,907,842),46086=>array(64,-64,908,842),46087=>array(64,-64,908,842),46088=>array(64,-69,923,842),46089=>array(64,-64,908,842),46090=>array(64,-64,908,842),46091=>array(64,-76,907,842),46092=>array(64,-62,907,842),46093=>array(64,-61,907,842),46094=>array(64,-69,922,842),46095=>array(64,-74,929,842),46096=>array(64,-69,927,842),46097=>array(64,-68,911,842),46098=>array(64,-72,929,842),46099=>array(64,-70,936,842),46100=>array(64,-66,908,842),46101=>array(64,-59,916,842),46102=>array(64,-60,928,842),46103=>array(64,-68,908,842),46104=>array(62,-69,907,842),46105=>array(64,-61,907,842),46106=>array(64,-61,907,842),46107=>array(64,-71,931,842),46108=>array(64,-46,908,841),46109=>array(64,-68,912,842),46110=>array(64,-76,907,842),46111=>array(64,-44,921,842),46112=>array(64,-62,917,842),46113=>array(64,-64,907,842),46114=>array(64,-64,908,842),46115=>array(64,-64,908,842),46116=>array(64,-69,923,842),46117=>array(64,-64,908,842),46118=>array(64,-64,908,842),46119=>array(64,-76,907,842),46120=>array(64,-62,907,842),46121=>array(64,-61,907,842),46122=>array(64,-69,922,842),46123=>array(64,-74,929,842),46124=>array(64,-69,927,842),46125=>array(64,-68,911,842),46126=>array(64,-72,929,842),46127=>array(64,-70,936,842),46128=>array(64,-66,908,842),46129=>array(64,-59,916,842),46130=>array(64,-60,928,842),46131=>array(64,-68,908,842),46132=>array(60,-13,940,759),46133=>array(79,-61,921,785),46134=>array(79,-61,921,785),46135=>array(79,-71,921,785),46136=>array(79,-46,922,784),46137=>array(79,-68,921,785),46138=>array(79,-74,921,785),46139=>array(79,-44,921,785),46140=>array(79,-62,921,785),46141=>array(79,-64,921,785),46142=>array(79,-64,921,785),46143=>array(79,-63,921,785),46144=>array(79,-68,921,785),46145=>array(79,-64,921,785),46146=>array(79,-63,921,785),46147=>array(79,-74,921,785),46148=>array(79,-62,921,785),46149=>array(79,-61,921,785),46150=>array(79,-69,921,785),46151=>array(79,-74,921,785),46152=>array(79,-69,921,785),46153=>array(79,-68,921,785),46154=>array(79,-72,921,785),46155=>array(79,-70,921,785),46156=>array(79,-66,921,785),46157=>array(79,-59,921,785),46158=>array(79,-60,921,785),46159=>array(79,-68,921,785),46160=>array(79,-64,920,789),46161=>array(79,-61,921,785),46162=>array(79,-61,921,785),46163=>array(79,-71,921,785),46164=>array(79,-46,921,784),46165=>array(79,-68,921,785),46166=>array(79,-74,921,785),46167=>array(79,-44,921,785),46168=>array(79,-62,921,785),46169=>array(79,-64,921,785),46170=>array(79,-64,921,785),46171=>array(79,-63,921,785),46172=>array(79,-68,921,785),46173=>array(79,-64,921,785),46174=>array(79,-63,921,785),46175=>array(79,-74,921,785),46176=>array(79,-62,921,785),46177=>array(79,-61,921,785),46178=>array(79,-69,921,785),46179=>array(79,-74,921,785),46180=>array(79,-69,921,785),46181=>array(79,-68,921,785),46182=>array(79,-72,921,785),46183=>array(79,-70,921,785),46184=>array(79,-66,921,785),46185=>array(79,-59,921,785),46186=>array(79,-60,921,785),46187=>array(79,-68,921,785),46188=>array(68,-70,907,841),46189=>array(76,-61,907,841),46190=>array(76,-61,907,841),46191=>array(76,-71,931,841),46192=>array(75,-46,907,841),46193=>array(76,-68,912,841),46194=>array(76,-76,907,841),46195=>array(76,-44,921,841),46196=>array(76,-62,917,841),46197=>array(76,-64,907,841),46198=>array(76,-64,908,841),46199=>array(76,-64,908,841),46200=>array(76,-69,923,841),46201=>array(76,-64,908,841),46202=>array(76,-64,908,841),46203=>array(76,-76,906,841),46204=>array(76,-62,907,841),46205=>array(76,-61,907,841),46206=>array(76,-69,922,841),46207=>array(76,-74,929,841),46208=>array(76,-69,927,841),46209=>array(76,-68,911,841),46210=>array(76,-72,929,841),46211=>array(76,-70,936,841),46212=>array(76,-66,908,841),46213=>array(76,-59,916,841),46214=>array(76,-60,928,841),46215=>array(76,-68,908,841),46216=>array(52,-69,908,842),46217=>array(71,-61,907,843),46218=>array(71,-61,907,843),46219=>array(71,-71,931,843),46220=>array(79,-46,907,843),46221=>array(71,-68,912,843),46222=>array(71,-76,907,843),46223=>array(71,-44,921,843),46224=>array(71,-62,917,843),46225=>array(71,-64,907,843),46226=>array(71,-64,908,843),46227=>array(71,-64,908,843),46228=>array(71,-69,923,843),46229=>array(71,-64,908,843),46230=>array(71,-64,908,843),46231=>array(71,-76,907,843),46232=>array(71,-62,907,843),46233=>array(71,-61,907,843),46234=>array(71,-69,922,843),46235=>array(71,-74,929,843),46236=>array(71,-69,927,843),46237=>array(71,-68,911,843),46238=>array(71,-72,929,843),46239=>array(71,-70,936,843),46240=>array(71,-66,908,843),46241=>array(71,-59,916,843),46242=>array(71,-60,928,843),46243=>array(71,-68,908,843),46244=>array(70,-69,907,842),46245=>array(64,-61,907,842),46246=>array(64,-61,907,842),46247=>array(64,-71,931,842),46248=>array(65,-46,907,843),46249=>array(64,-68,912,842),46250=>array(64,-76,907,842),46251=>array(64,-44,921,842),46252=>array(64,-62,917,842),46253=>array(64,-64,907,842),46254=>array(64,-64,908,842),46255=>array(64,-64,908,842),46256=>array(64,-69,923,842),46257=>array(64,-64,908,842),46258=>array(64,-64,908,842),46259=>array(64,-76,907,842),46260=>array(64,-62,907,842),46261=>array(64,-61,907,842),46262=>array(64,-69,922,842),46263=>array(64,-74,929,842),46264=>array(64,-69,927,842),46265=>array(64,-68,911,842),46266=>array(64,-72,929,842),46267=>array(64,-70,936,842),46268=>array(64,-66,908,842),46269=>array(64,-59,916,842),46270=>array(64,-60,928,842),46271=>array(64,-68,908,842),46272=>array(71,-64,928,784),46273=>array(79,-61,921,785),46274=>array(79,-61,921,785),46275=>array(79,-71,921,785),46276=>array(79,-46,921,784),46277=>array(79,-68,921,785),46278=>array(79,-74,921,785),46279=>array(79,-44,921,785),46280=>array(79,-62,921,785),46281=>array(79,-64,921,785),46282=>array(79,-64,921,785),46283=>array(79,-63,921,785),46284=>array(79,-68,921,785),46285=>array(79,-64,921,785),46286=>array(79,-63,921,785),46287=>array(79,-74,921,785),46288=>array(79,-62,921,785),46289=>array(79,-61,921,785),46290=>array(79,-69,921,785),46291=>array(79,-74,921,785),46292=>array(79,-69,921,785),46293=>array(79,-68,921,785),46294=>array(79,-72,921,785),46295=>array(79,-70,921,785),46296=>array(79,-66,921,785),46297=>array(79,-59,921,785),46298=>array(79,-60,921,785),46299=>array(79,-68,921,785),46300=>array(57,42,943,709),46301=>array(79,-61,921,784),46302=>array(79,-61,921,784),46303=>array(79,-71,921,784),46304=>array(79,-46,921,784),46305=>array(79,-68,921,784),46306=>array(79,-74,921,784),46307=>array(79,-44,921,784),46308=>array(79,-62,921,784),46309=>array(79,-64,921,784),46310=>array(79,-64,921,784),46311=>array(79,-63,921,784),46312=>array(79,-68,921,784),46313=>array(79,-64,921,784),46314=>array(79,-63,921,784),46315=>array(79,-74,921,784),46316=>array(79,-62,921,784),46317=>array(79,-61,921,784),46318=>array(79,-69,921,784),46319=>array(79,-74,921,784),46320=>array(79,-69,921,784),46321=>array(79,-68,921,784),46322=>array(79,-72,921,784),46323=>array(79,-70,921,784),46324=>array(79,-66,921,784),46325=>array(79,-59,921,784),46326=>array(79,-60,921,784),46327=>array(79,-68,921,784),46328=>array(66,-69,907,842),46329=>array(64,-61,907,842),46330=>array(64,-61,907,842),46331=>array(64,-71,931,842),46332=>array(64,-46,907,842),46333=>array(64,-68,912,842),46334=>array(64,-76,907,842),46335=>array(64,-44,921,842),46336=>array(64,-62,917,842),46337=>array(64,-64,907,842),46338=>array(64,-64,908,842),46339=>array(64,-64,908,842),46340=>array(64,-69,923,842),46341=>array(64,-64,908,842),46342=>array(64,-64,908,842),46343=>array(64,-76,907,842),46344=>array(64,-62,907,842),46345=>array(64,-61,907,842),46346=>array(64,-69,922,842),46347=>array(64,-74,929,842),46348=>array(64,-69,927,842),46349=>array(64,-68,911,842),46350=>array(64,-72,929,842),46351=>array(64,-70,936,842),46352=>array(64,-66,908,842),46353=>array(64,-59,916,842),46354=>array(64,-60,928,842),46355=>array(64,-68,908,842),46356=>array(119,-69,907,842),46357=>array(124,-61,907,842),46358=>array(124,-61,907,842),46359=>array(124,-71,931,842),46360=>array(124,-46,907,842),46361=>array(124,-68,912,842),46362=>array(124,-76,907,842),46363=>array(124,-44,921,842),46364=>array(124,-62,917,842),46365=>array(124,-64,907,842),46366=>array(124,-64,908,842),46367=>array(124,-64,908,842),46368=>array(124,-69,923,842),46369=>array(124,-64,908,842),46370=>array(124,-64,908,842),46371=>array(124,-76,907,842),46372=>array(124,-62,907,842),46373=>array(124,-61,907,842),46374=>array(124,-69,922,842),46375=>array(124,-74,929,842),46376=>array(124,-69,927,842),46377=>array(124,-68,911,842),46378=>array(124,-72,929,842),46379=>array(124,-70,936,842),46380=>array(124,-66,908,842),46381=>array(124,-59,916,842),46382=>array(124,-60,928,842),46383=>array(124,-68,908,842),46384=>array(94,-69,936,842),46385=>array(94,-59,936,842),46386=>array(94,-61,936,842),46387=>array(94,-71,936,842),46388=>array(94,-45,936,842),46389=>array(94,-69,936,842),46390=>array(94,-76,936,842),46391=>array(94,-44,936,842),46392=>array(94,-62,936,842),46393=>array(94,-64,936,842),46394=>array(94,-64,936,842),46395=>array(94,-64,936,842),46396=>array(94,-70,936,842),46397=>array(94,-64,936,842),46398=>array(94,-64,936,842),46399=>array(94,-76,936,842),46400=>array(94,-62,936,842),46401=>array(94,-61,936,842),46402=>array(94,-70,936,842),46403=>array(94,-74,936,842),46404=>array(94,-69,936,842),46405=>array(94,-67,936,842),46406=>array(94,-72,936,842),46407=>array(94,-71,936,842),46408=>array(94,-66,936,842),46409=>array(94,-59,936,842),46410=>array(94,-60,936,842),46411=>array(94,-69,936,842),46412=>array(99,-69,907,842),46413=>array(99,-61,907,837),46414=>array(99,-61,907,837),46415=>array(99,-71,931,837),46416=>array(99,-46,907,842),46417=>array(99,-68,912,837),46418=>array(99,-76,907,837),46419=>array(99,-44,921,837),46420=>array(99,-62,917,837),46421=>array(99,-64,907,837),46422=>array(99,-64,908,837),46423=>array(99,-64,908,837),46424=>array(99,-69,923,837),46425=>array(99,-64,908,837),46426=>array(99,-64,908,837),46427=>array(99,-76,907,837),46428=>array(99,-62,907,837),46429=>array(99,-61,907,837),46430=>array(99,-69,922,837),46431=>array(99,-74,929,837),46432=>array(99,-69,927,837),46433=>array(99,-68,911,837),46434=>array(99,-72,929,837),46435=>array(99,-70,936,837),46436=>array(99,-66,908,837),46437=>array(99,-59,916,837),46438=>array(99,-60,928,837),46439=>array(99,-68,908,837),46440=>array(94,-69,936,842),46441=>array(94,-59,936,842),46442=>array(94,-61,936,842),46443=>array(94,-71,936,842),46444=>array(94,-45,936,842),46445=>array(94,-69,936,842),46446=>array(94,-76,936,842),46447=>array(94,-44,936,842),46448=>array(94,-62,936,842),46449=>array(94,-64,936,842),46450=>array(94,-64,936,842),46451=>array(94,-64,936,842),46452=>array(94,-70,936,842),46453=>array(94,-64,936,842),46454=>array(94,-64,936,842),46455=>array(94,-76,936,842),46456=>array(94,-62,936,842),46457=>array(94,-61,936,842),46458=>array(94,-70,936,842),46459=>array(94,-74,936,842),46460=>array(94,-69,936,842),46461=>array(94,-67,936,842),46462=>array(94,-72,936,842),46463=>array(94,-71,936,842),46464=>array(94,-66,936,842),46465=>array(94,-59,936,842),46466=>array(94,-60,936,842),46467=>array(94,-69,936,842),46468=>array(99,-69,907,842),46469=>array(99,-61,907,842),46470=>array(99,-61,907,842),46471=>array(99,-71,931,842),46472=>array(99,-46,907,842),46473=>array(99,-68,912,842),46474=>array(99,-76,907,842),46475=>array(99,-44,921,842),46476=>array(99,-62,917,842),46477=>array(99,-64,907,842),46478=>array(99,-64,908,842),46479=>array(99,-64,908,842),46480=>array(99,-69,923,842),46481=>array(99,-64,908,842),46482=>array(99,-64,908,842),46483=>array(99,-76,907,842),46484=>array(99,-62,907,842),46485=>array(99,-61,907,842),46486=>array(99,-69,922,842),46487=>array(99,-74,929,842),46488=>array(99,-69,927,842),46489=>array(99,-68,911,842),46490=>array(99,-72,929,842),46491=>array(99,-70,936,842),46492=>array(99,-66,908,842),46493=>array(99,-59,916,842),46494=>array(99,-60,928,842),46495=>array(99,-68,908,842),46496=>array(94,-70,907,841),46497=>array(94,-61,907,836),46498=>array(94,-61,907,836),46499=>array(94,-71,931,836),46500=>array(94,-46,907,841),46501=>array(94,-68,912,836),46502=>array(94,-76,907,836),46503=>array(94,-44,921,836),46504=>array(94,-62,917,836),46505=>array(94,-64,907,836),46506=>array(94,-64,908,836),46507=>array(94,-64,908,836),46508=>array(94,-69,923,836),46509=>array(94,-64,908,836),46510=>array(94,-64,908,836),46511=>array(94,-76,906,836),46512=>array(94,-62,907,836),46513=>array(94,-61,907,836),46514=>array(94,-69,922,836),46515=>array(94,-74,929,836),46516=>array(94,-69,927,836),46517=>array(94,-68,911,836),46518=>array(94,-72,929,836),46519=>array(94,-70,936,836),46520=>array(94,-66,908,836),46521=>array(94,-59,916,836),46522=>array(94,-60,928,836),46523=>array(94,-68,908,836),46524=>array(99,-68,907,843),46525=>array(99,-61,907,843),46526=>array(99,-61,907,843),46527=>array(99,-71,931,843),46528=>array(99,-46,907,843),46529=>array(99,-68,912,843),46530=>array(99,-76,907,843),46531=>array(99,-44,921,843),46532=>array(99,-62,917,843),46533=>array(99,-64,907,843),46534=>array(99,-64,908,843),46535=>array(99,-64,908,843),46536=>array(99,-69,923,843),46537=>array(99,-64,908,843),46538=>array(99,-64,908,843),46539=>array(99,-76,907,843),46540=>array(99,-62,907,843),46541=>array(99,-61,907,843),46542=>array(99,-69,922,843),46543=>array(99,-74,929,843),46544=>array(99,-69,927,843),46545=>array(99,-68,911,843),46546=>array(99,-72,929,843),46547=>array(99,-70,936,843),46548=>array(99,-66,908,843),46549=>array(99,-59,916,843),46550=>array(99,-60,928,843),46551=>array(99,-68,908,843),46552=>array(94,-69,907,842),46553=>array(94,-61,907,842),46554=>array(94,-61,907,842),46555=>array(94,-71,931,842),46556=>array(94,-46,908,842),46557=>array(94,-68,912,842),46558=>array(94,-76,907,842),46559=>array(94,-44,921,842),46560=>array(94,-62,917,842),46561=>array(94,-64,907,842),46562=>array(94,-64,908,842),46563=>array(94,-64,908,842),46564=>array(94,-69,923,842),46565=>array(94,-64,908,842),46566=>array(94,-64,908,842),46567=>array(94,-76,907,842),46568=>array(94,-62,907,842),46569=>array(94,-61,907,842),46570=>array(94,-69,922,842),46571=>array(94,-74,929,842),46572=>array(94,-69,927,842),46573=>array(94,-68,911,842),46574=>array(94,-72,929,842),46575=>array(94,-70,936,842),46576=>array(94,-66,908,842),46577=>array(94,-59,916,842),46578=>array(94,-60,928,842),46579=>array(94,-68,908,842),46580=>array(99,-68,907,843),46581=>array(94,-61,907,843),46582=>array(94,-61,907,843),46583=>array(94,-71,931,843),46584=>array(94,-46,907,843),46585=>array(94,-68,912,843),46586=>array(94,-76,907,843),46587=>array(94,-44,921,843),46588=>array(94,-62,917,843),46589=>array(94,-64,907,843),46590=>array(94,-64,908,843),46591=>array(94,-64,908,843),46592=>array(94,-69,923,843),46593=>array(94,-64,908,843),46594=>array(94,-64,908,843),46595=>array(94,-76,907,843),46596=>array(94,-62,907,843),46597=>array(94,-61,907,843),46598=>array(94,-69,922,843),46599=>array(94,-74,929,843),46600=>array(94,-69,927,843),46601=>array(94,-68,911,843),46602=>array(94,-72,929,843),46603=>array(94,-70,936,843),46604=>array(94,-66,908,843),46605=>array(94,-59,916,843),46606=>array(94,-60,928,843),46607=>array(94,-68,908,843),46608=>array(60,12,940,740),46609=>array(79,-61,921,795),46610=>array(79,-61,921,795),46611=>array(79,-71,921,795),46612=>array(79,-46,921,795),46613=>array(79,-68,921,795),46614=>array(79,-74,921,795),46615=>array(79,-44,921,795),46616=>array(79,-62,921,795),46617=>array(79,-64,921,795),46618=>array(79,-64,921,795),46619=>array(79,-63,921,795),46620=>array(79,-68,921,795),46621=>array(79,-64,921,795),46622=>array(79,-63,921,795),46623=>array(79,-74,921,795),46624=>array(79,-62,921,795),46625=>array(79,-61,921,795),46626=>array(79,-69,921,795),46627=>array(79,-74,921,795),46628=>array(79,-69,921,795),46629=>array(79,-68,921,795),46630=>array(79,-72,921,795),46631=>array(79,-70,921,795),46632=>array(79,-66,921,795),46633=>array(79,-59,921,795),46634=>array(79,-60,921,795),46635=>array(79,-68,921,795),46636=>array(68,-69,935,842),46637=>array(69,-59,936,837),46638=>array(69,-61,936,837),46639=>array(69,-71,936,837),46640=>array(57,-45,936,842),46641=>array(69,-69,936,837),46642=>array(69,-76,936,837),46643=>array(69,-44,936,837),46644=>array(69,-62,936,837),46645=>array(69,-64,936,837),46646=>array(69,-64,936,837),46647=>array(69,-64,936,837),46648=>array(69,-70,936,837),46649=>array(69,-64,936,837),46650=>array(69,-64,936,837),46651=>array(69,-76,936,837),46652=>array(69,-62,936,837),46653=>array(69,-61,936,837),46654=>array(69,-70,936,837),46655=>array(69,-74,936,837),46656=>array(69,-69,936,837),46657=>array(69,-67,936,837),46658=>array(69,-72,936,837),46659=>array(69,-71,936,837),46660=>array(69,-66,936,837),46661=>array(69,-59,936,837),46662=>array(69,-60,936,837),46663=>array(69,-69,936,837),46664=>array(64,-69,906,842),46665=>array(70,-61,907,842),46666=>array(70,-61,907,842),46667=>array(70,-71,931,842),46668=>array(57,-46,907,842),46669=>array(70,-68,912,842),46670=>array(70,-76,907,842),46671=>array(70,-44,921,842),46672=>array(70,-62,917,842),46673=>array(70,-64,907,842),46674=>array(70,-64,908,842),46675=>array(70,-64,908,842),46676=>array(70,-69,923,842),46677=>array(70,-64,908,842),46678=>array(70,-64,908,842),46679=>array(70,-76,907,842),46680=>array(70,-62,907,842),46681=>array(70,-61,907,842),46682=>array(70,-69,922,842),46683=>array(70,-74,929,842),46684=>array(70,-69,927,842),46685=>array(70,-68,911,842),46686=>array(70,-72,929,842),46687=>array(70,-70,936,842),46688=>array(70,-66,908,842),46689=>array(70,-59,916,842),46690=>array(70,-60,928,842),46691=>array(70,-68,908,842),46692=>array(83,-69,906,842),46693=>array(64,-61,907,842),46694=>array(64,-61,907,842),46695=>array(64,-71,931,842),46696=>array(64,-46,907,842),46697=>array(64,-68,912,842),46698=>array(64,-76,907,842),46699=>array(64,-44,921,842),46700=>array(64,-62,917,842),46701=>array(64,-64,907,842),46702=>array(64,-64,908,842),46703=>array(64,-64,908,842),46704=>array(64,-69,923,842),46705=>array(64,-64,908,842),46706=>array(64,-64,908,842),46707=>array(64,-76,906,842),46708=>array(64,-62,907,842),46709=>array(64,-61,907,842),46710=>array(64,-69,922,842),46711=>array(64,-74,929,842),46712=>array(64,-69,927,842),46713=>array(64,-68,911,842),46714=>array(64,-72,929,842),46715=>array(64,-70,936,842),46716=>array(64,-66,908,842),46717=>array(64,-59,916,842),46718=>array(64,-60,928,842),46719=>array(64,-68,908,842),46720=>array(59,-13,939,750),46721=>array(79,-61,921,795),46722=>array(79,-61,921,795),46723=>array(79,-71,921,795),46724=>array(79,-46,921,795),46725=>array(79,-68,921,795),46726=>array(79,-74,921,795),46727=>array(79,-44,921,795),46728=>array(79,-62,921,795),46729=>array(79,-64,921,795),46730=>array(79,-64,921,795),46731=>array(79,-63,921,795),46732=>array(79,-68,921,795),46733=>array(79,-64,921,795),46734=>array(79,-63,921,795),46735=>array(79,-74,921,795),46736=>array(79,-62,921,795),46737=>array(79,-61,921,795),46738=>array(79,-69,921,795),46739=>array(79,-74,921,795),46740=>array(79,-69,921,795),46741=>array(79,-68,921,795),46742=>array(79,-72,921,795),46743=>array(79,-70,921,795),46744=>array(79,-66,921,795),46745=>array(79,-59,921,795),46746=>array(79,-60,921,795),46747=>array(79,-68,921,795),46748=>array(79,-64,921,785),46749=>array(79,-61,921,795),46750=>array(79,-61,921,795),46751=>array(79,-71,921,795),46752=>array(79,-46,921,795),46753=>array(79,-68,921,795),46754=>array(79,-74,921,795),46755=>array(79,-44,921,795),46756=>array(79,-62,921,795),46757=>array(79,-64,921,795),46758=>array(79,-64,921,795),46759=>array(79,-63,921,795),46760=>array(79,-68,921,795),46761=>array(79,-64,921,795),46762=>array(79,-63,921,795),46763=>array(79,-74,921,795),46764=>array(79,-62,921,795),46765=>array(79,-61,921,795),46766=>array(79,-69,921,795),46767=>array(79,-74,921,795),46768=>array(79,-69,921,795),46769=>array(79,-68,921,795),46770=>array(79,-72,921,795),46771=>array(79,-70,921,795),46772=>array(79,-66,921,795),46773=>array(79,-59,921,795),46774=>array(79,-60,921,795),46775=>array(79,-68,921,795),46776=>array(72,-70,907,841),46777=>array(67,-61,907,841),46778=>array(67,-61,907,841),46779=>array(67,-71,931,841),46780=>array(63,-46,907,841),46781=>array(67,-68,912,841),46782=>array(67,-76,907,841),46783=>array(67,-44,921,841),46784=>array(67,-62,917,841),46785=>array(67,-64,907,841),46786=>array(67,-64,908,841),46787=>array(67,-64,908,841),46788=>array(67,-69,923,841),46789=>array(67,-64,908,841),46790=>array(67,-64,908,841),46791=>array(67,-76,906,841),46792=>array(67,-62,907,841),46793=>array(67,-61,907,841),46794=>array(67,-69,922,841),46795=>array(67,-74,929,841),46796=>array(67,-69,927,841),46797=>array(67,-68,911,841),46798=>array(67,-72,929,841),46799=>array(67,-70,936,841),46800=>array(67,-66,908,841),46801=>array(67,-59,916,841),46802=>array(67,-60,928,841),46803=>array(67,-68,908,841),46804=>array(50,-68,907,843),46805=>array(67,-61,907,843),46806=>array(67,-61,907,843),46807=>array(67,-71,931,843),46808=>array(68,-46,907,842),46809=>array(67,-68,912,843),46810=>array(67,-76,907,843),46811=>array(67,-44,921,843),46812=>array(67,-62,917,843),46813=>array(67,-64,907,843),46814=>array(67,-64,908,843),46815=>array(67,-64,908,843),46816=>array(67,-69,923,843),46817=>array(67,-64,908,843),46818=>array(67,-64,908,843),46819=>array(67,-76,907,843),46820=>array(67,-62,907,843),46821=>array(67,-61,907,843),46822=>array(67,-69,922,843),46823=>array(67,-74,929,843),46824=>array(67,-69,927,843),46825=>array(67,-68,911,843),46826=>array(67,-72,929,843),46827=>array(67,-70,936,843),46828=>array(67,-66,908,843),46829=>array(67,-59,916,843),46830=>array(67,-60,928,843),46831=>array(67,-68,908,843),46832=>array(63,-69,907,842),46833=>array(66,-61,907,842),46834=>array(66,-61,907,842),46835=>array(66,-71,931,842),46836=>array(66,-46,907,842),46837=>array(66,-68,912,842),46838=>array(66,-76,907,842),46839=>array(66,-44,921,842),46840=>array(66,-62,917,842),46841=>array(66,-64,907,842),46842=>array(66,-64,908,842),46843=>array(66,-64,908,842),46844=>array(66,-69,923,842),46845=>array(66,-64,908,842),46846=>array(66,-64,908,842),46847=>array(66,-76,907,842),46848=>array(66,-62,907,842),46849=>array(66,-61,907,842),46850=>array(66,-69,922,842),46851=>array(66,-74,929,842),46852=>array(66,-69,927,842),46853=>array(66,-68,911,842),46854=>array(66,-72,929,842),46855=>array(66,-70,936,842),46856=>array(66,-66,908,842),46857=>array(66,-59,916,842),46858=>array(66,-60,928,842),46859=>array(66,-68,908,842),46860=>array(79,-64,921,785),46861=>array(79,-61,921,795),46862=>array(79,-61,921,795),46863=>array(79,-71,921,795),46864=>array(81,-46,922,795),46865=>array(79,-68,921,795),46866=>array(79,-74,921,795),46867=>array(79,-44,921,795),46868=>array(79,-62,921,795),46869=>array(79,-64,921,795),46870=>array(79,-64,921,795),46871=>array(79,-63,921,795),46872=>array(79,-68,921,795),46873=>array(79,-64,921,795),46874=>array(79,-63,921,795),46875=>array(79,-74,921,795),46876=>array(79,-62,921,795),46877=>array(79,-61,921,795),46878=>array(79,-69,921,795),46879=>array(79,-74,921,795),46880=>array(79,-69,921,795),46881=>array(79,-68,921,795),46882=>array(79,-72,921,795),46883=>array(79,-70,921,795),46884=>array(79,-66,921,795),46885=>array(79,-59,921,795),46886=>array(79,-60,921,795),46887=>array(79,-68,921,795),46888=>array(57,22,943,720),46889=>array(79,-61,922,795),46890=>array(79,-61,922,795),46891=>array(79,-71,922,795),46892=>array(79,-46,921,795),46893=>array(79,-68,922,795),46894=>array(79,-74,922,795),46895=>array(79,-44,922,795),46896=>array(79,-62,922,795),46897=>array(79,-64,922,795),46898=>array(79,-64,922,795),46899=>array(79,-63,922,795),46900=>array(79,-68,922,795),46901=>array(79,-64,922,795),46902=>array(79,-63,922,795),46903=>array(79,-74,922,795),46904=>array(79,-62,922,795),46905=>array(79,-61,922,795),46906=>array(79,-69,922,795),46907=>array(79,-74,922,795),46908=>array(79,-69,922,795),46909=>array(79,-68,922,795),46910=>array(79,-72,922,795),46911=>array(79,-70,922,795),46912=>array(79,-66,922,795),46913=>array(79,-59,922,795),46914=>array(79,-60,922,795),46915=>array(79,-68,922,795),46916=>array(67,-69,907,842),46917=>array(74,-61,908,842),46918=>array(74,-61,908,842),46919=>array(74,-71,931,842),46920=>array(65,-46,907,842),46921=>array(74,-68,912,842),46922=>array(74,-76,908,842),46923=>array(74,-44,921,842),46924=>array(74,-62,917,842),46925=>array(74,-64,908,842),46926=>array(74,-64,908,842),46927=>array(74,-64,908,842),46928=>array(74,-69,923,842),46929=>array(74,-64,908,842),46930=>array(74,-64,908,842),46931=>array(74,-76,908,842),46932=>array(74,-62,908,842),46933=>array(74,-61,908,842),46934=>array(74,-69,922,842),46935=>array(74,-74,929,842),46936=>array(74,-69,927,842),46937=>array(74,-68,911,842),46938=>array(74,-72,929,842),46939=>array(74,-70,936,842),46940=>array(74,-66,908,842),46941=>array(74,-59,916,842),46942=>array(74,-60,928,842),46943=>array(74,-68,908,842),46944=>array(104,-69,907,842),46945=>array(109,-61,907,842),46946=>array(109,-61,907,842),46947=>array(109,-71,931,842),46948=>array(99,-46,907,842),46949=>array(109,-68,912,842),46950=>array(109,-76,907,842),46951=>array(109,-44,921,842),46952=>array(109,-62,917,842),46953=>array(109,-64,907,842),46954=>array(109,-64,908,842),46955=>array(109,-64,908,842),46956=>array(109,-69,923,842),46957=>array(109,-64,908,842),46958=>array(109,-64,908,842),46959=>array(109,-76,907,842),46960=>array(109,-62,907,842),46961=>array(109,-61,907,842),46962=>array(109,-69,922,842),46963=>array(109,-74,929,842),46964=>array(109,-69,927,842),46965=>array(109,-68,911,842),46966=>array(109,-72,929,842),46967=>array(109,-70,936,842),46968=>array(109,-66,908,842),46969=>array(109,-59,916,842),46970=>array(109,-60,928,842),46971=>array(109,-68,908,842),46972=>array(118,-69,936,842),46973=>array(103,-59,936,842),46974=>array(103,-61,936,842),46975=>array(103,-71,936,842),46976=>array(108,-45,936,842),46977=>array(103,-69,936,842),46978=>array(103,-76,936,842),46979=>array(103,-44,936,842),46980=>array(103,-62,936,842),46981=>array(103,-64,936,842),46982=>array(103,-64,936,842),46983=>array(103,-64,936,842),46984=>array(103,-70,936,842),46985=>array(103,-64,936,842),46986=>array(103,-64,936,842),46987=>array(103,-76,936,842),46988=>array(103,-62,936,842),46989=>array(103,-61,936,842),46990=>array(103,-70,936,842),46991=>array(103,-74,936,842),46992=>array(103,-69,936,842),46993=>array(103,-67,936,842),46994=>array(103,-72,936,842),46995=>array(103,-71,936,842),46996=>array(103,-66,936,842),46997=>array(103,-59,936,842),46998=>array(103,-60,936,842),46999=>array(103,-69,936,842),47000=>array(118,-69,907,842),47001=>array(103,-61,907,842),47002=>array(103,-61,907,842),47003=>array(103,-71,931,842),47004=>array(103,-46,907,842),47005=>array(103,-68,912,842),47006=>array(103,-76,907,842),47007=>array(103,-44,921,842),47008=>array(103,-62,917,842),47009=>array(103,-64,907,842),47010=>array(103,-64,908,842),47011=>array(103,-64,908,842),47012=>array(103,-69,923,842),47013=>array(103,-64,908,842),47014=>array(103,-64,908,842),47015=>array(103,-76,907,842),47016=>array(103,-62,907,842),47017=>array(103,-61,907,842),47018=>array(103,-69,922,842),47019=>array(103,-74,929,842),47020=>array(103,-69,927,842),47021=>array(103,-68,911,842),47022=>array(103,-72,929,842),47023=>array(103,-70,936,842),47024=>array(103,-66,908,842),47025=>array(103,-59,916,842),47026=>array(103,-60,928,842),47027=>array(103,-68,908,842),47028=>array(118,-68,935,843),47029=>array(103,-59,936,842),47030=>array(103,-61,936,842),47031=>array(103,-71,936,842),47032=>array(108,-45,936,842),47033=>array(103,-69,936,842),47034=>array(103,-76,936,842),47035=>array(103,-44,936,842),47036=>array(103,-62,936,842),47037=>array(103,-64,936,842),47038=>array(103,-64,936,842),47039=>array(103,-64,936,842),47040=>array(103,-70,936,842),47041=>array(103,-64,936,842),47042=>array(103,-64,936,842),47043=>array(103,-76,936,842),47044=>array(103,-62,936,842),47045=>array(103,-61,936,842),47046=>array(103,-70,936,842),47047=>array(103,-74,936,842),47048=>array(103,-69,936,842),47049=>array(103,-67,936,842),47050=>array(103,-72,936,842),47051=>array(103,-71,936,842),47052=>array(103,-66,936,842),47053=>array(103,-59,936,842),47054=>array(103,-60,936,842),47055=>array(103,-69,936,842),47056=>array(118,-69,907,842),47057=>array(103,-61,907,842),47058=>array(103,-61,907,842),47059=>array(103,-71,931,842),47060=>array(103,-46,907,842),47061=>array(103,-68,912,842),47062=>array(103,-76,907,842),47063=>array(103,-44,921,842),47064=>array(103,-62,917,842),47065=>array(103,-64,907,842),47066=>array(103,-64,908,842),47067=>array(103,-64,908,842),47068=>array(103,-69,923,842),47069=>array(103,-64,908,842),47070=>array(103,-64,908,842),47071=>array(103,-76,907,842),47072=>array(103,-62,907,842),47073=>array(103,-61,907,842),47074=>array(103,-69,922,842),47075=>array(103,-74,929,842),47076=>array(103,-69,927,842),47077=>array(103,-68,911,842),47078=>array(103,-72,929,842),47079=>array(103,-70,936,842),47080=>array(103,-66,908,842),47081=>array(103,-59,916,842),47082=>array(103,-60,928,842),47083=>array(103,-68,908,842),47084=>array(118,-70,907,841),47085=>array(103,-61,907,841),47086=>array(103,-61,907,841),47087=>array(103,-71,931,841),47088=>array(103,-46,907,841),47089=>array(103,-68,912,841),47090=>array(103,-76,907,841),47091=>array(103,-44,921,841),47092=>array(103,-62,917,841),47093=>array(103,-64,907,841),47094=>array(103,-64,908,841),47095=>array(103,-64,908,841),47096=>array(103,-69,923,841),47097=>array(103,-64,908,841),47098=>array(103,-64,908,841),47099=>array(103,-76,906,841),47100=>array(103,-62,907,841),47101=>array(103,-61,907,841),47102=>array(103,-69,922,841),47103=>array(103,-74,929,841),47104=>array(103,-69,927,841),47105=>array(103,-68,911,841),47106=>array(103,-72,929,841),47107=>array(103,-70,936,841),47108=>array(103,-66,908,841),47109=>array(103,-59,916,841),47110=>array(103,-60,928,841),47111=>array(103,-68,908,841),47112=>array(118,-68,907,843),47113=>array(118,-61,907,843),47114=>array(118,-61,907,843),47115=>array(118,-71,931,843),47116=>array(118,-46,907,843),47117=>array(118,-68,912,843),47118=>array(118,-76,907,843),47119=>array(118,-44,921,843),47120=>array(118,-62,917,843),47121=>array(118,-64,907,843),47122=>array(118,-64,908,843),47123=>array(118,-64,908,843),47124=>array(118,-69,923,843),47125=>array(118,-64,908,843),47126=>array(118,-64,908,843),47127=>array(118,-76,907,843),47128=>array(118,-62,907,843),47129=>array(118,-61,907,843),47130=>array(118,-69,922,843),47131=>array(118,-74,929,843),47132=>array(118,-69,927,843),47133=>array(118,-68,911,843),47134=>array(118,-72,929,843),47135=>array(118,-70,936,843),47136=>array(118,-66,908,843),47137=>array(118,-59,916,843),47138=>array(118,-60,928,843),47139=>array(118,-68,908,843),47140=>array(118,-70,907,842),47141=>array(103,-61,908,842),47142=>array(103,-61,908,842),47143=>array(103,-71,931,842),47144=>array(103,-46,907,842),47145=>array(103,-68,912,842),47146=>array(103,-76,908,842),47147=>array(103,-44,921,842),47148=>array(103,-62,917,842),47149=>array(103,-64,908,842),47150=>array(103,-64,908,842),47151=>array(103,-64,908,842),47152=>array(103,-69,923,842),47153=>array(103,-64,908,842),47154=>array(103,-64,908,842),47155=>array(103,-76,908,842),47156=>array(103,-62,908,842),47157=>array(103,-61,908,842),47158=>array(103,-69,922,842),47159=>array(103,-74,929,842),47160=>array(103,-69,927,842),47161=>array(103,-68,911,842),47162=>array(103,-72,929,842),47163=>array(103,-70,936,842),47164=>array(103,-66,908,842),47165=>array(103,-59,916,842),47166=>array(103,-60,928,842),47167=>array(103,-68,908,842),47168=>array(118,-68,907,843),47169=>array(118,-61,907,843),47170=>array(118,-61,907,843),47171=>array(118,-71,931,843),47172=>array(118,-46,907,843),47173=>array(118,-68,912,843),47174=>array(118,-76,907,843),47175=>array(118,-44,921,843),47176=>array(118,-62,917,843),47177=>array(118,-64,907,843),47178=>array(118,-64,908,843),47179=>array(118,-64,908,843),47180=>array(118,-69,923,843),47181=>array(118,-64,908,843),47182=>array(118,-64,908,843),47183=>array(118,-76,907,843),47184=>array(118,-62,907,843),47185=>array(118,-61,907,843),47186=>array(118,-69,922,843),47187=>array(118,-74,929,843),47188=>array(118,-69,927,843),47189=>array(118,-68,911,843),47190=>array(118,-72,929,843),47191=>array(118,-70,936,843),47192=>array(118,-66,908,843),47193=>array(118,-59,916,843),47194=>array(118,-60,928,843),47195=>array(118,-68,908,843),47196=>array(62,27,943,755),47197=>array(79,-61,921,795),47198=>array(79,-61,921,795),47199=>array(79,-71,921,795),47200=>array(79,-46,921,795),47201=>array(79,-68,921,795),47202=>array(79,-74,921,795),47203=>array(79,-44,921,795),47204=>array(79,-62,921,795),47205=>array(79,-64,921,795),47206=>array(79,-64,921,795),47207=>array(79,-63,921,795),47208=>array(79,-68,921,795),47209=>array(79,-64,921,795),47210=>array(79,-63,921,795),47211=>array(79,-74,921,795),47212=>array(79,-62,921,795),47213=>array(79,-61,921,795),47214=>array(79,-69,921,795),47215=>array(79,-74,921,795),47216=>array(79,-69,921,795),47217=>array(79,-68,921,795),47218=>array(79,-72,921,795),47219=>array(79,-70,921,795),47220=>array(79,-66,921,795),47221=>array(79,-59,921,795),47222=>array(79,-60,921,795),47223=>array(79,-68,921,795),47224=>array(52,-69,936,842),47225=>array(68,-59,936,842),47226=>array(68,-61,936,842),47227=>array(68,-71,936,842),47228=>array(74,-45,936,843),47229=>array(68,-69,936,842),47230=>array(68,-76,936,842),47231=>array(68,-44,936,842),47232=>array(68,-62,936,842),47233=>array(68,-64,936,842),47234=>array(68,-64,936,842),47235=>array(68,-64,936,842),47236=>array(68,-70,936,842),47237=>array(68,-64,936,842),47238=>array(68,-64,936,842),47239=>array(68,-76,936,842),47240=>array(68,-62,936,842),47241=>array(68,-61,936,842),47242=>array(68,-70,936,842),47243=>array(68,-74,936,842),47244=>array(68,-69,936,842),47245=>array(68,-67,936,842),47246=>array(68,-72,936,842),47247=>array(68,-71,936,842),47248=>array(68,-66,936,842),47249=>array(68,-59,936,842),47250=>array(68,-60,936,842),47251=>array(68,-69,936,842),47252=>array(61,-68,907,843),47253=>array(64,-61,908,842),47254=>array(64,-61,908,842),47255=>array(64,-71,931,842),47256=>array(58,-46,907,842),47257=>array(64,-68,912,842),47258=>array(64,-76,908,842),47259=>array(64,-44,921,842),47260=>array(64,-62,917,842),47261=>array(64,-64,908,842),47262=>array(64,-64,908,842),47263=>array(64,-64,908,842),47264=>array(64,-69,923,842),47265=>array(64,-64,908,842),47266=>array(64,-64,908,842),47267=>array(64,-76,908,842),47268=>array(64,-62,908,842),47269=>array(64,-61,908,842),47270=>array(64,-69,922,842),47271=>array(64,-74,929,842),47272=>array(64,-69,927,842),47273=>array(64,-68,911,842),47274=>array(64,-72,929,842),47275=>array(64,-70,936,842),47276=>array(64,-66,908,842),47277=>array(64,-59,916,842),47278=>array(64,-60,928,842),47279=>array(64,-68,908,842),47280=>array(62,-69,907,842),47281=>array(64,-61,907,841),47282=>array(64,-61,907,841),47283=>array(64,-71,931,841),47284=>array(64,-46,907,842),47285=>array(64,-68,912,841),47286=>array(64,-76,907,841),47287=>array(64,-44,921,841),47288=>array(64,-62,917,841),47289=>array(64,-64,907,841),47290=>array(64,-64,908,841),47291=>array(64,-64,908,841),47292=>array(64,-69,923,841),47293=>array(64,-64,908,841),47294=>array(64,-64,908,841),47295=>array(64,-76,907,841),47296=>array(64,-62,907,841),47297=>array(64,-61,907,841),47298=>array(64,-69,922,841),47299=>array(64,-74,929,841),47300=>array(64,-69,927,841),47301=>array(64,-68,911,841),47302=>array(64,-72,929,841),47303=>array(64,-70,936,841),47304=>array(64,-66,908,841),47305=>array(64,-59,916,841),47306=>array(64,-60,928,841),47307=>array(64,-68,908,841),47308=>array(62,27,943,755),47309=>array(79,-61,921,795),47310=>array(79,-61,921,795),47311=>array(79,-71,921,795),47312=>array(79,-46,922,795),47313=>array(79,-68,921,795),47314=>array(79,-74,921,795),47315=>array(79,-44,921,795),47316=>array(79,-62,921,795),47317=>array(79,-64,921,795),47318=>array(79,-64,921,795),47319=>array(79,-63,921,795),47320=>array(79,-68,921,795),47321=>array(79,-64,921,795),47322=>array(79,-63,921,795),47323=>array(79,-74,921,795),47324=>array(79,-62,921,795),47325=>array(79,-61,921,795),47326=>array(79,-69,921,795),47327=>array(79,-74,921,795),47328=>array(79,-69,921,795),47329=>array(79,-68,921,795),47330=>array(79,-72,921,795),47331=>array(79,-70,921,795),47332=>array(79,-66,921,795),47333=>array(79,-59,921,795),47334=>array(79,-60,921,795),47335=>array(79,-68,921,795),47336=>array(79,-64,920,795),47337=>array(79,-61,921,795),47338=>array(79,-61,921,795),47339=>array(79,-71,921,795),47340=>array(79,-46,921,795),47341=>array(79,-68,921,795),47342=>array(79,-74,921,795),47343=>array(79,-44,921,795),47344=>array(79,-62,921,795),47345=>array(79,-64,921,795),47346=>array(79,-64,921,795),47347=>array(79,-63,921,795),47348=>array(79,-68,921,795),47349=>array(79,-64,921,795),47350=>array(79,-63,921,795),47351=>array(79,-74,921,795),47352=>array(79,-62,921,795),47353=>array(79,-61,921,795),47354=>array(79,-69,921,795),47355=>array(79,-74,921,795),47356=>array(79,-69,921,795),47357=>array(79,-68,921,795),47358=>array(79,-72,921,795),47359=>array(79,-70,921,795),47360=>array(79,-66,921,795),47361=>array(79,-59,921,795),47362=>array(79,-60,921,795),47363=>array(79,-68,921,795),47364=>array(69,-70,907,841),47365=>array(76,-61,907,841),47366=>array(76,-61,907,841),47367=>array(76,-71,931,841),47368=>array(76,-46,907,841),47369=>array(76,-68,912,841),47370=>array(76,-76,907,841),47371=>array(76,-44,921,841),47372=>array(76,-62,917,841),47373=>array(76,-64,907,841),47374=>array(76,-64,908,841),47375=>array(76,-64,908,841),47376=>array(76,-69,923,841),47377=>array(76,-64,908,841),47378=>array(76,-64,908,841),47379=>array(76,-76,906,841),47380=>array(76,-62,907,841),47381=>array(76,-61,907,841),47382=>array(76,-69,922,841),47383=>array(76,-74,929,841),47384=>array(76,-69,927,841),47385=>array(76,-68,911,841),47386=>array(76,-72,929,841),47387=>array(76,-70,936,841),47388=>array(76,-66,908,841),47389=>array(76,-59,916,841),47390=>array(76,-60,928,841),47391=>array(76,-68,908,841),47392=>array(52,-68,907,843),47393=>array(72,-61,907,843),47394=>array(72,-61,907,843),47395=>array(72,-71,931,843),47396=>array(90,-46,907,843),47397=>array(72,-68,912,843),47398=>array(72,-76,907,843),47399=>array(72,-44,921,843),47400=>array(72,-62,917,843),47401=>array(72,-64,907,843),47402=>array(72,-64,908,843),47403=>array(72,-64,908,843),47404=>array(72,-69,923,843),47405=>array(72,-64,908,843),47406=>array(72,-64,908,843),47407=>array(72,-76,907,843),47408=>array(72,-62,907,843),47409=>array(72,-61,907,843),47410=>array(72,-69,922,843),47411=>array(72,-74,929,843),47412=>array(72,-69,927,843),47413=>array(72,-68,911,843),47414=>array(72,-72,929,843),47415=>array(72,-70,936,843),47416=>array(72,-66,908,843),47417=>array(72,-59,916,843),47418=>array(72,-60,928,843),47419=>array(72,-68,908,843),47420=>array(70,-69,907,842),47421=>array(64,-61,907,842),47422=>array(64,-61,907,842),47423=>array(64,-71,931,842),47424=>array(65,-46,907,843),47425=>array(64,-68,912,842),47426=>array(64,-76,907,842),47427=>array(64,-44,921,842),47428=>array(64,-62,917,842),47429=>array(64,-64,907,842),47430=>array(64,-64,908,842),47431=>array(64,-64,908,842),47432=>array(64,-69,923,842),47433=>array(64,-64,908,842),47434=>array(64,-64,908,842),47435=>array(64,-76,907,842),47436=>array(64,-62,907,842),47437=>array(64,-61,907,842),47438=>array(64,-69,922,842),47439=>array(64,-74,929,842),47440=>array(64,-69,927,842),47441=>array(64,-68,911,842),47442=>array(64,-72,929,842),47443=>array(64,-70,936,842),47444=>array(64,-66,908,842),47445=>array(64,-59,916,842),47446=>array(64,-60,928,842),47447=>array(64,-68,908,842),47448=>array(71,-64,928,795),47449=>array(79,-61,921,795),47450=>array(79,-61,921,795),47451=>array(79,-71,921,795),47452=>array(79,-46,921,795),47453=>array(79,-68,921,795),47454=>array(79,-74,921,795),47455=>array(79,-44,921,795),47456=>array(79,-62,921,795),47457=>array(79,-64,921,795),47458=>array(79,-64,921,795),47459=>array(79,-63,921,795),47460=>array(79,-68,921,795),47461=>array(79,-64,921,795),47462=>array(79,-63,921,795),47463=>array(79,-74,921,795),47464=>array(79,-62,921,795),47465=>array(79,-61,921,795),47466=>array(79,-69,921,795),47467=>array(79,-74,921,795),47468=>array(79,-69,921,795),47469=>array(79,-68,921,795),47470=>array(79,-72,921,795),47471=>array(79,-70,921,795),47472=>array(79,-66,921,795),47473=>array(79,-59,921,795),47474=>array(79,-60,921,795),47475=>array(79,-68,921,795),47476=>array(57,42,943,730),47477=>array(79,-61,921,795),47478=>array(79,-61,921,795),47479=>array(79,-71,921,795),47480=>array(79,-46,921,795),47481=>array(79,-68,921,795),47482=>array(79,-74,921,795),47483=>array(79,-44,921,795),47484=>array(79,-62,921,795),47485=>array(79,-64,921,795),47486=>array(79,-64,921,795),47487=>array(79,-63,921,795),47488=>array(79,-68,921,795),47489=>array(79,-64,921,795),47490=>array(79,-63,921,795),47491=>array(79,-74,921,795),47492=>array(79,-62,921,795),47493=>array(79,-61,921,795),47494=>array(79,-69,921,795),47495=>array(79,-74,921,795),47496=>array(79,-69,921,795),47497=>array(79,-68,921,795),47498=>array(79,-72,921,795),47499=>array(79,-70,921,795),47500=>array(79,-66,921,795),47501=>array(79,-59,921,795),47502=>array(79,-60,921,795),47503=>array(79,-68,921,795),47504=>array(67,-69,907,842),47505=>array(64,-61,908,842),47506=>array(64,-61,908,842),47507=>array(64,-71,931,842),47508=>array(64,-46,908,842),47509=>array(64,-68,912,842),47510=>array(64,-76,908,842),47511=>array(64,-44,921,842),47512=>array(64,-62,917,842),47513=>array(64,-64,908,842),47514=>array(64,-64,908,842),47515=>array(64,-64,908,842),47516=>array(64,-69,923,842),47517=>array(64,-64,908,842),47518=>array(64,-64,908,842),47519=>array(64,-76,908,842),47520=>array(64,-62,908,842),47521=>array(64,-61,908,842),47522=>array(64,-69,922,842),47523=>array(64,-74,929,842),47524=>array(64,-69,927,842),47525=>array(64,-68,911,842),47526=>array(64,-72,929,842),47527=>array(64,-70,936,842),47528=>array(64,-66,908,842),47529=>array(64,-59,916,842),47530=>array(64,-60,928,842),47531=>array(64,-68,908,842),47532=>array(143,-69,907,842),47533=>array(138,-61,907,842),47534=>array(138,-61,907,842),47535=>array(138,-71,931,842),47536=>array(138,-46,907,842),47537=>array(138,-68,912,842),47538=>array(138,-76,907,842),47539=>array(138,-44,921,842),47540=>array(138,-62,917,842),47541=>array(138,-64,907,842),47542=>array(138,-64,908,842),47543=>array(138,-64,908,842),47544=>array(138,-69,923,842),47545=>array(138,-64,908,842),47546=>array(138,-64,908,842),47547=>array(138,-76,907,842),47548=>array(138,-62,907,842),47549=>array(138,-61,907,842),47550=>array(138,-69,922,842),47551=>array(138,-74,929,842),47552=>array(138,-69,927,842),47553=>array(138,-68,911,842),47554=>array(138,-72,929,842),47555=>array(138,-70,936,842),47556=>array(138,-66,908,842),47557=>array(138,-59,916,842),47558=>array(138,-60,928,842),47559=>array(138,-68,908,842),47560=>array(127,-69,936,842),47561=>array(122,-59,936,842),47562=>array(122,-61,936,842),47563=>array(122,-71,936,842),47564=>array(122,-45,936,842),47565=>array(122,-69,936,842),47566=>array(122,-76,936,842),47567=>array(122,-44,936,842),47568=>array(122,-62,936,842),47569=>array(122,-64,936,842),47570=>array(122,-64,936,842),47571=>array(122,-64,936,842),47572=>array(122,-70,936,842),47573=>array(122,-64,936,842),47574=>array(122,-64,936,842),47575=>array(122,-76,936,842),47576=>array(122,-62,936,842),47577=>array(122,-61,936,842),47578=>array(122,-70,936,842),47579=>array(122,-74,936,842),47580=>array(118,-69,936,842),47581=>array(122,-67,936,842),47582=>array(122,-72,936,842),47583=>array(122,-71,936,842),47584=>array(122,-66,936,842),47585=>array(122,-59,936,842),47586=>array(122,-60,936,842),47587=>array(122,-69,936,842),47588=>array(127,-69,907,842),47589=>array(122,-61,907,842),47590=>array(122,-61,907,842),47591=>array(122,-71,931,842),47592=>array(122,-46,907,842),47593=>array(122,-68,912,842),47594=>array(122,-76,907,842),47595=>array(122,-44,921,842),47596=>array(122,-62,917,842),47597=>array(122,-64,907,842),47598=>array(122,-64,908,842),47599=>array(122,-64,908,842),47600=>array(122,-69,923,842),47601=>array(122,-64,908,842),47602=>array(122,-64,908,842),47603=>array(122,-76,907,842),47604=>array(122,-62,907,842),47605=>array(122,-61,907,842),47606=>array(122,-69,922,842),47607=>array(122,-74,929,842),47608=>array(122,-69,927,842),47609=>array(122,-68,911,842),47610=>array(122,-72,929,842),47611=>array(122,-70,936,842),47612=>array(122,-66,908,842),47613=>array(122,-59,916,842),47614=>array(122,-60,928,842),47615=>array(122,-68,908,842),47616=>array(127,-68,935,843),47617=>array(122,-59,936,842),47618=>array(122,-61,936,842),47619=>array(122,-71,936,842),47620=>array(122,-45,936,842),47621=>array(122,-69,936,842),47622=>array(122,-76,936,842),47623=>array(122,-44,936,842),47624=>array(122,-62,936,842),47625=>array(122,-64,936,842),47626=>array(122,-64,936,842),47627=>array(122,-64,936,842),47628=>array(122,-70,936,842),47629=>array(122,-64,936,842),47630=>array(122,-64,936,842),47631=>array(122,-76,936,842),47632=>array(122,-62,936,842),47633=>array(122,-61,936,842),47634=>array(122,-70,936,842),47635=>array(122,-74,936,842),47636=>array(118,-69,936,842),47637=>array(122,-67,936,842),47638=>array(122,-72,936,842),47639=>array(122,-71,936,842),47640=>array(122,-66,936,842),47641=>array(122,-59,936,842),47642=>array(122,-60,936,842),47643=>array(122,-69,936,842),47644=>array(127,-69,907,842),47645=>array(122,-61,907,842),47646=>array(122,-61,907,842),47647=>array(122,-71,931,842),47648=>array(122,-46,907,842),47649=>array(122,-68,912,842),47650=>array(122,-76,907,842),47651=>array(122,-44,921,842),47652=>array(122,-62,917,842),47653=>array(122,-64,907,842),47654=>array(122,-64,908,842),47655=>array(122,-64,908,842),47656=>array(122,-69,923,842),47657=>array(122,-64,908,842),47658=>array(122,-64,908,842),47659=>array(122,-76,907,842),47660=>array(122,-62,907,842),47661=>array(122,-61,907,842),47662=>array(122,-69,922,842),47663=>array(122,-74,929,842),47664=>array(122,-69,927,842),47665=>array(122,-68,911,842),47666=>array(122,-72,929,842),47667=>array(122,-70,936,842),47668=>array(122,-66,908,842),47669=>array(122,-59,916,842),47670=>array(122,-60,928,842),47671=>array(122,-68,908,842),47672=>array(127,-70,907,841),47673=>array(122,-61,907,841),47674=>array(122,-61,907,841),47675=>array(122,-71,931,841),47676=>array(112,-46,907,841),47677=>array(122,-68,912,841),47678=>array(122,-76,907,841),47679=>array(122,-44,921,841),47680=>array(122,-62,917,841),47681=>array(122,-64,907,841),47682=>array(122,-64,908,841),47683=>array(122,-64,908,841),47684=>array(122,-69,923,841),47685=>array(122,-64,908,841),47686=>array(122,-64,908,841),47687=>array(122,-76,906,841),47688=>array(122,-62,907,841),47689=>array(122,-61,907,841),47690=>array(122,-69,922,841),47691=>array(122,-74,929,841),47692=>array(122,-69,927,841),47693=>array(122,-68,911,841),47694=>array(122,-72,929,841),47695=>array(122,-70,936,841),47696=>array(122,-66,908,841),47697=>array(122,-59,916,841),47698=>array(122,-60,928,841),47699=>array(122,-68,908,841),47700=>array(127,-68,907,843),47701=>array(122,-61,907,843),47702=>array(122,-61,907,843),47703=>array(122,-71,931,843),47704=>array(122,-46,907,843),47705=>array(122,-68,912,843),47706=>array(122,-76,907,843),47707=>array(122,-44,921,843),47708=>array(122,-62,917,843),47709=>array(122,-64,907,843),47710=>array(122,-64,908,843),47711=>array(122,-64,908,843),47712=>array(122,-69,923,843),47713=>array(122,-64,908,843),47714=>array(122,-64,908,843),47715=>array(122,-76,907,843),47716=>array(122,-62,907,843),47717=>array(122,-61,907,843),47718=>array(122,-69,922,843),47719=>array(122,-74,929,843),47720=>array(122,-69,927,843),47721=>array(122,-68,911,843),47722=>array(122,-72,929,843),47723=>array(122,-70,936,843),47724=>array(122,-66,908,843),47725=>array(122,-59,916,843),47726=>array(122,-60,928,843),47727=>array(122,-68,908,843),47728=>array(127,-70,907,842),47729=>array(122,-61,908,842),47730=>array(122,-61,908,842),47731=>array(122,-71,931,842),47732=>array(112,-46,907,842),47733=>array(122,-68,912,842),47734=>array(122,-76,908,842),47735=>array(122,-44,921,842),47736=>array(122,-62,917,842),47737=>array(122,-64,908,842),47738=>array(122,-64,908,842),47739=>array(122,-64,908,842),47740=>array(122,-69,923,842),47741=>array(122,-64,908,842),47742=>array(122,-64,908,842),47743=>array(122,-76,908,842),47744=>array(122,-62,908,842),47745=>array(122,-61,908,842),47746=>array(122,-69,922,842),47747=>array(122,-74,929,842),47748=>array(122,-69,927,842),47749=>array(122,-68,911,842),47750=>array(122,-72,929,842),47751=>array(122,-70,936,842),47752=>array(122,-66,908,842),47753=>array(122,-59,916,842),47754=>array(122,-60,928,842),47755=>array(122,-68,908,842),47756=>array(127,-68,907,843),47757=>array(122,-61,907,843),47758=>array(122,-61,907,843),47759=>array(122,-71,931,843),47760=>array(122,-46,907,843),47761=>array(122,-68,912,843),47762=>array(122,-76,907,843),47763=>array(122,-44,921,843),47764=>array(122,-62,917,843),47765=>array(122,-64,907,843),47766=>array(122,-64,908,843),47767=>array(122,-64,908,843),47768=>array(122,-69,923,843),47769=>array(122,-64,908,843),47770=>array(122,-64,908,843),47771=>array(122,-76,907,843),47772=>array(122,-62,907,843),47773=>array(122,-61,907,843),47774=>array(122,-69,922,843),47775=>array(122,-74,929,843),47776=>array(122,-69,927,843),47777=>array(122,-68,911,843),47778=>array(122,-72,929,843),47779=>array(122,-70,936,843),47780=>array(122,-66,908,843),47781=>array(122,-59,916,843),47782=>array(122,-60,928,843),47783=>array(122,-68,908,843),47784=>array(62,17,943,740),47785=>array(79,-61,921,800),47786=>array(79,-61,921,800),47787=>array(79,-71,921,800),47788=>array(79,-46,921,800),47789=>array(79,-68,921,800),47790=>array(79,-74,921,800),47791=>array(79,-44,921,800),47792=>array(79,-62,921,800),47793=>array(79,-64,921,800),47794=>array(79,-64,921,800),47795=>array(79,-63,921,800),47796=>array(79,-68,921,800),47797=>array(79,-64,921,800),47798=>array(79,-63,921,800),47799=>array(79,-74,921,800),47800=>array(79,-62,921,800),47801=>array(79,-61,921,800),47802=>array(79,-69,921,800),47803=>array(79,-74,921,800),47804=>array(79,-69,921,800),47805=>array(79,-68,921,800),47806=>array(79,-72,921,800),47807=>array(79,-70,921,800),47808=>array(79,-66,921,800),47809=>array(79,-59,921,800),47810=>array(79,-60,921,800),47811=>array(79,-68,921,800),47812=>array(52,-69,936,842),47813=>array(77,-59,936,843),47814=>array(77,-61,936,843),47815=>array(77,-71,936,843),47816=>array(66,-45,936,842),47817=>array(77,-69,936,843),47818=>array(77,-76,936,843),47819=>array(77,-44,936,843),47820=>array(77,-62,936,843),47821=>array(77,-64,936,843),47822=>array(77,-64,936,843),47823=>array(77,-64,936,843),47824=>array(77,-70,936,843),47825=>array(77,-64,936,843),47826=>array(77,-64,936,843),47827=>array(77,-76,936,843),47828=>array(77,-62,936,843),47829=>array(77,-61,936,843),47830=>array(77,-70,936,843),47831=>array(77,-74,936,843),47832=>array(77,-69,936,843),47833=>array(77,-67,936,843),47834=>array(77,-72,936,843),47835=>array(77,-71,936,843),47836=>array(77,-66,936,843),47837=>array(77,-59,936,843),47838=>array(77,-60,936,843),47839=>array(77,-69,936,843),47840=>array(61,-69,907,842),47841=>array(79,-61,907,843),47842=>array(79,-61,907,843),47843=>array(79,-71,931,843),47844=>array(72,-46,907,842),47845=>array(79,-68,912,843),47846=>array(79,-76,907,843),47847=>array(79,-44,921,843),47848=>array(79,-62,917,843),47849=>array(79,-64,907,843),47850=>array(79,-64,908,843),47851=>array(79,-64,908,843),47852=>array(79,-69,923,843),47853=>array(79,-64,908,843),47854=>array(79,-64,908,843),47855=>array(79,-76,907,843),47856=>array(79,-62,907,843),47857=>array(79,-61,907,843),47858=>array(79,-69,922,843),47859=>array(79,-74,929,843),47860=>array(79,-69,927,843),47861=>array(79,-68,911,843),47862=>array(79,-72,929,843),47863=>array(79,-70,936,843),47864=>array(79,-66,908,843),47865=>array(79,-59,916,843),47866=>array(79,-60,928,843),47867=>array(79,-68,908,843),47868=>array(61,-69,907,842),47869=>array(64,-61,908,841),47870=>array(64,-61,908,841),47871=>array(64,-71,931,841),47872=>array(65,-46,908,841),47873=>array(64,-68,912,841),47874=>array(64,-76,908,841),47875=>array(64,-44,921,841),47876=>array(64,-62,917,841),47877=>array(64,-64,908,841),47878=>array(64,-64,908,841),47879=>array(64,-64,908,841),47880=>array(64,-69,923,841),47881=>array(64,-64,908,841),47882=>array(64,-64,908,841),47883=>array(64,-76,908,841),47884=>array(64,-62,908,841),47885=>array(64,-61,908,841),47886=>array(64,-69,922,841),47887=>array(64,-74,929,841),47888=>array(64,-69,927,841),47889=>array(64,-68,911,841),47890=>array(64,-72,929,841),47891=>array(64,-70,936,841),47892=>array(64,-66,908,841),47893=>array(64,-59,916,841),47894=>array(64,-60,928,841),47895=>array(64,-68,908,841),47896=>array(60,-3,940,765),47897=>array(79,-61,922,800),47898=>array(79,-61,922,800),47899=>array(79,-71,922,800),47900=>array(79,-46,922,800),47901=>array(79,-68,922,800),47902=>array(79,-74,922,800),47903=>array(79,-44,922,800),47904=>array(79,-62,922,800),47905=>array(79,-64,922,800),47906=>array(79,-64,922,800),47907=>array(79,-63,922,800),47908=>array(79,-68,922,800),47909=>array(79,-64,922,800),47910=>array(79,-63,922,800),47911=>array(79,-74,922,800),47912=>array(79,-62,922,800),47913=>array(79,-61,922,800),47914=>array(79,-69,922,800),47915=>array(79,-74,922,800),47916=>array(79,-69,922,800),47917=>array(79,-68,922,800),47918=>array(79,-72,922,800),47919=>array(79,-70,922,800),47920=>array(79,-66,922,800),47921=>array(79,-59,922,800),47922=>array(79,-60,922,800),47923=>array(79,-68,922,800),47924=>array(79,-64,921,800),47925=>array(79,-61,921,800),47926=>array(79,-61,921,800),47927=>array(79,-71,921,800),47928=>array(79,-46,921,800),47929=>array(79,-68,921,800),47930=>array(79,-74,921,800),47931=>array(79,-44,921,800),47932=>array(79,-62,921,800),47933=>array(79,-64,921,800),47934=>array(79,-64,921,800),47935=>array(79,-63,921,800),47936=>array(79,-68,921,800),47937=>array(79,-64,921,800),47938=>array(79,-63,921,800),47939=>array(79,-74,921,800),47940=>array(79,-62,921,800),47941=>array(79,-61,921,800),47942=>array(79,-69,921,800),47943=>array(79,-74,921,800),47944=>array(79,-69,921,800),47945=>array(79,-68,921,800),47946=>array(79,-72,921,800),47947=>array(79,-70,921,800),47948=>array(79,-66,921,800),47949=>array(79,-59,921,800),47950=>array(79,-60,921,800),47951=>array(79,-68,921,800),47952=>array(69,-70,907,841),47953=>array(79,-61,907,841),47954=>array(79,-61,907,841),47955=>array(79,-71,931,841),47956=>array(79,-46,907,841),47957=>array(79,-68,912,841),47958=>array(79,-76,907,841),47959=>array(79,-44,921,841),47960=>array(79,-62,917,841),47961=>array(79,-64,907,841),47962=>array(79,-64,908,841),47963=>array(79,-64,908,841),47964=>array(79,-69,923,841),47965=>array(79,-64,908,841),47966=>array(79,-64,908,841),47967=>array(79,-76,906,841),47968=>array(79,-62,907,841),47969=>array(79,-61,907,841),47970=>array(79,-69,922,841),47971=>array(79,-74,929,841),47972=>array(79,-69,927,841),47973=>array(79,-68,911,841),47974=>array(79,-72,929,841),47975=>array(79,-70,936,841),47976=>array(79,-66,908,841),47977=>array(79,-59,916,841),47978=>array(79,-60,928,841),47979=>array(79,-68,908,841),47980=>array(63,-68,912,843),47981=>array(72,-61,907,843),47982=>array(72,-61,907,843),47983=>array(72,-71,931,843),47984=>array(89,-46,907,843),47985=>array(72,-68,912,843),47986=>array(72,-76,907,843),47987=>array(72,-44,921,843),47988=>array(72,-62,917,843),47989=>array(72,-64,907,843),47990=>array(72,-64,908,843),47991=>array(72,-64,908,843),47992=>array(72,-69,923,843),47993=>array(72,-64,908,843),47994=>array(72,-64,908,843),47995=>array(72,-76,907,843),47996=>array(72,-62,907,843),47997=>array(72,-61,907,843),47998=>array(72,-69,922,843),47999=>array(72,-74,929,843),48000=>array(72,-69,927,843),48001=>array(72,-68,911,843),48002=>array(72,-72,929,843),48003=>array(72,-70,936,843),48004=>array(72,-66,908,843),48005=>array(72,-59,916,843),48006=>array(72,-60,928,843),48007=>array(72,-68,908,843),48008=>array(51,-69,907,842),48009=>array(65,-61,907,842),48010=>array(65,-61,907,842),48011=>array(65,-71,931,842),48012=>array(65,-46,907,842),48013=>array(65,-68,912,842),48014=>array(65,-76,907,842),48015=>array(65,-44,921,842),48016=>array(65,-62,917,842),48017=>array(65,-64,907,842),48018=>array(65,-64,908,842),48019=>array(65,-64,908,842),48020=>array(65,-69,923,842),48021=>array(65,-64,908,842),48022=>array(65,-64,908,842),48023=>array(65,-76,907,842),48024=>array(65,-62,907,842),48025=>array(65,-61,907,842),48026=>array(65,-69,922,842),48027=>array(65,-74,929,842),48028=>array(65,-69,927,842),48029=>array(65,-68,911,842),48030=>array(65,-72,929,842),48031=>array(65,-70,936,842),48032=>array(65,-66,908,842),48033=>array(65,-59,916,842),48034=>array(65,-60,928,842),48035=>array(65,-68,908,842),48036=>array(71,-64,928,800),48037=>array(79,-61,921,800),48038=>array(79,-61,921,800),48039=>array(79,-71,921,800),48040=>array(79,-46,921,790),48041=>array(79,-68,921,800),48042=>array(79,-74,921,800),48043=>array(79,-44,921,800),48044=>array(79,-62,921,800),48045=>array(79,-64,921,800),48046=>array(79,-64,921,800),48047=>array(79,-63,921,800),48048=>array(79,-68,921,800),48049=>array(79,-64,921,800),48050=>array(79,-63,921,800),48051=>array(79,-74,921,800),48052=>array(79,-62,921,800),48053=>array(79,-61,921,800),48054=>array(79,-69,921,800),48055=>array(79,-74,921,800),48056=>array(79,-69,921,800),48057=>array(79,-68,921,800),48058=>array(79,-72,921,800),48059=>array(79,-70,921,800),48060=>array(79,-66,921,800),48061=>array(79,-59,921,800),48062=>array(79,-60,921,800),48063=>array(79,-68,921,800),48064=>array(57,42,943,710),48065=>array(79,-61,921,791),48066=>array(79,-61,921,791),48067=>array(79,-71,921,791),48068=>array(79,-46,921,791),48069=>array(79,-68,921,791),48070=>array(79,-74,921,791),48071=>array(79,-44,921,791),48072=>array(79,-62,921,791),48073=>array(79,-64,921,791),48074=>array(79,-64,921,791),48075=>array(79,-63,921,791),48076=>array(79,-68,921,791),48077=>array(79,-64,921,791),48078=>array(79,-63,921,791),48079=>array(79,-74,921,791),48080=>array(79,-62,921,791),48081=>array(79,-61,921,791),48082=>array(79,-69,921,791),48083=>array(79,-74,921,791),48084=>array(79,-69,921,791),48085=>array(79,-68,921,791),48086=>array(79,-72,921,791),48087=>array(79,-70,921,791),48088=>array(79,-66,921,791),48089=>array(79,-59,921,791),48090=>array(79,-60,921,791),48091=>array(79,-68,921,791),48092=>array(67,-69,907,842),48093=>array(64,-61,907,842),48094=>array(64,-61,907,842),48095=>array(64,-71,931,842),48096=>array(64,-46,907,842),48097=>array(64,-68,912,842),48098=>array(64,-76,907,842),48099=>array(64,-44,921,842),48100=>array(64,-62,917,842),48101=>array(64,-64,907,842),48102=>array(64,-64,908,842),48103=>array(64,-64,908,842),48104=>array(64,-69,923,842),48105=>array(64,-64,908,842),48106=>array(64,-64,908,842),48107=>array(64,-76,907,842),48108=>array(64,-62,907,842),48109=>array(64,-61,907,842),48110=>array(64,-69,922,842),48111=>array(64,-74,929,842),48112=>array(64,-69,927,842),48113=>array(64,-68,911,842),48114=>array(64,-72,929,842),48115=>array(64,-70,936,842),48116=>array(64,-66,908,842),48117=>array(64,-59,916,842),48118=>array(64,-60,928,842),48119=>array(64,-68,908,842),48120=>array(147,-69,907,842),48121=>array(157,-61,907,842),48122=>array(157,-61,907,842),48123=>array(157,-71,931,842),48124=>array(122,-46,907,842),48125=>array(157,-68,912,842),48126=>array(157,-76,907,842),48127=>array(157,-44,921,842),48128=>array(157,-62,917,842),48129=>array(157,-64,907,842),48130=>array(157,-64,908,842),48131=>array(157,-64,908,842),48132=>array(157,-69,923,842),48133=>array(157,-64,908,842),48134=>array(157,-64,908,842),48135=>array(157,-76,907,842),48136=>array(157,-62,907,842),48137=>array(157,-61,907,842),48138=>array(157,-69,922,842),48139=>array(157,-74,929,842),48140=>array(143,-69,927,842),48141=>array(157,-68,911,842),48142=>array(157,-72,929,842),48143=>array(157,-70,936,842),48144=>array(157,-66,908,842),48145=>array(157,-59,916,842),48146=>array(157,-60,928,842),48147=>array(157,-68,908,842),48148=>array(122,-69,936,842),48149=>array(122,-59,936,837),48150=>array(122,-61,936,837),48151=>array(122,-71,936,837),48152=>array(122,-45,936,842),48153=>array(122,-69,936,837),48154=>array(122,-76,936,837),48155=>array(122,-44,936,837),48156=>array(122,-62,936,837),48157=>array(122,-64,936,837),48158=>array(122,-64,936,837),48159=>array(122,-64,936,837),48160=>array(122,-70,936,837),48161=>array(122,-64,936,837),48162=>array(122,-64,936,837),48163=>array(122,-76,936,837),48164=>array(122,-62,936,837),48165=>array(122,-61,936,837),48166=>array(122,-70,936,837),48167=>array(122,-74,936,837),48168=>array(118,-69,936,837),48169=>array(122,-67,936,837),48170=>array(122,-72,936,837),48171=>array(122,-71,936,837),48172=>array(122,-66,936,837),48173=>array(122,-59,936,837),48174=>array(122,-60,936,837),48175=>array(122,-69,936,837),48176=>array(122,-69,907,842),48177=>array(157,-61,907,842),48178=>array(157,-61,907,842),48179=>array(157,-71,931,842),48180=>array(157,-46,907,842),48181=>array(157,-68,912,842),48182=>array(157,-76,907,842),48183=>array(157,-44,921,842),48184=>array(157,-62,917,842),48185=>array(157,-64,907,842),48186=>array(157,-64,908,842),48187=>array(157,-64,908,842),48188=>array(157,-69,923,842),48189=>array(157,-64,908,842),48190=>array(157,-64,908,842),48191=>array(157,-76,907,842),48192=>array(157,-62,907,842),48193=>array(157,-61,907,842),48194=>array(157,-69,922,842),48195=>array(157,-74,929,842),48196=>array(143,-69,927,842),48197=>array(157,-68,911,842),48198=>array(157,-72,929,842),48199=>array(157,-70,936,842),48200=>array(157,-66,908,842),48201=>array(157,-59,916,842),48202=>array(157,-60,928,842),48203=>array(157,-68,908,842),48204=>array(122,-68,935,843),48205=>array(122,-59,936,842),48206=>array(122,-61,936,842),48207=>array(122,-71,936,842),48208=>array(122,-45,936,842),48209=>array(122,-69,936,842),48210=>array(122,-76,936,842),48211=>array(122,-44,936,842),48212=>array(122,-62,936,842),48213=>array(122,-64,936,842),48214=>array(122,-64,936,842),48215=>array(122,-64,936,842),48216=>array(122,-70,936,842),48217=>array(122,-64,936,842),48218=>array(122,-64,936,842),48219=>array(122,-76,936,842),48220=>array(122,-62,936,842),48221=>array(122,-61,936,842),48222=>array(122,-70,936,842),48223=>array(122,-74,936,842),48224=>array(118,-69,936,842),48225=>array(122,-67,936,842),48226=>array(122,-72,936,842),48227=>array(122,-71,936,842),48228=>array(122,-66,936,842),48229=>array(122,-59,936,842),48230=>array(122,-60,936,842),48231=>array(122,-69,936,842),48232=>array(122,-69,907,842),48233=>array(157,-61,907,842),48234=>array(157,-61,907,842),48235=>array(157,-71,931,842),48236=>array(157,-46,907,842),48237=>array(157,-68,912,842),48238=>array(157,-76,907,842),48239=>array(157,-44,921,842),48240=>array(157,-62,917,842),48241=>array(157,-64,907,842),48242=>array(157,-64,908,842),48243=>array(157,-64,908,842),48244=>array(157,-69,923,842),48245=>array(157,-64,908,842),48246=>array(157,-64,908,842),48247=>array(157,-76,907,842),48248=>array(157,-62,907,842),48249=>array(157,-61,907,842),48250=>array(157,-69,922,842),48251=>array(157,-74,929,842),48252=>array(143,-69,927,842),48253=>array(157,-68,911,842),48254=>array(157,-72,929,842),48255=>array(157,-70,936,842),48256=>array(157,-66,908,842),48257=>array(157,-59,916,842),48258=>array(157,-60,928,842),48259=>array(157,-68,908,842),48260=>array(127,-70,907,841),48261=>array(122,-61,907,841),48262=>array(122,-61,907,841),48263=>array(122,-71,931,841),48264=>array(122,-46,907,841),48265=>array(122,-68,912,841),48266=>array(122,-76,907,841),48267=>array(122,-44,921,841),48268=>array(122,-62,917,841),48269=>array(122,-64,907,841),48270=>array(122,-64,908,841),48271=>array(122,-64,908,841),48272=>array(122,-69,923,841),48273=>array(122,-64,908,841),48274=>array(122,-64,908,841),48275=>array(122,-76,906,841),48276=>array(122,-62,907,841),48277=>array(122,-61,907,841),48278=>array(122,-69,922,841),48279=>array(122,-74,929,841),48280=>array(122,-69,927,841),48281=>array(122,-68,911,841),48282=>array(122,-72,929,841),48283=>array(122,-70,936,841),48284=>array(122,-66,908,841),48285=>array(122,-59,916,841),48286=>array(122,-60,928,841),48287=>array(122,-68,908,841),48288=>array(122,-68,907,843),48289=>array(127,-61,907,843),48290=>array(127,-61,907,843),48291=>array(127,-71,931,843),48292=>array(127,-46,907,843),48293=>array(127,-68,912,843),48294=>array(127,-76,907,843),48295=>array(127,-44,921,843),48296=>array(127,-62,917,843),48297=>array(127,-64,907,843),48298=>array(127,-64,908,843),48299=>array(127,-64,908,843),48300=>array(127,-69,923,843),48301=>array(127,-64,908,843),48302=>array(127,-64,908,843),48303=>array(127,-76,907,843),48304=>array(127,-62,907,843),48305=>array(127,-61,907,843),48306=>array(127,-69,922,843),48307=>array(127,-74,929,843),48308=>array(127,-69,927,843),48309=>array(127,-68,911,843),48310=>array(127,-72,929,843),48311=>array(127,-70,936,843),48312=>array(127,-66,908,843),48313=>array(127,-59,916,843),48314=>array(127,-60,928,843),48315=>array(127,-68,908,843),48316=>array(127,-70,907,842),48317=>array(122,-61,908,842),48318=>array(122,-61,908,842),48319=>array(122,-71,931,842),48320=>array(122,-46,907,842),48321=>array(122,-68,912,842),48322=>array(122,-76,908,842),48323=>array(122,-44,921,842),48324=>array(122,-62,917,842),48325=>array(122,-64,908,842),48326=>array(122,-64,908,842),48327=>array(122,-64,908,842),48328=>array(122,-69,923,842),48329=>array(122,-64,908,842),48330=>array(122,-64,908,842),48331=>array(122,-76,908,842),48332=>array(122,-62,908,842),48333=>array(122,-61,908,842),48334=>array(122,-69,922,842),48335=>array(122,-74,929,842),48336=>array(122,-69,927,842),48337=>array(122,-68,911,842),48338=>array(122,-72,929,842),48339=>array(122,-70,936,842),48340=>array(122,-66,908,842),48341=>array(122,-59,916,842),48342=>array(122,-60,928,842),48343=>array(122,-68,908,842),48344=>array(122,-68,907,843),48345=>array(127,-61,907,843),48346=>array(127,-61,907,843),48347=>array(127,-71,931,843),48348=>array(127,-46,907,843),48349=>array(127,-68,912,843),48350=>array(127,-76,907,843),48351=>array(127,-44,921,843),48352=>array(127,-62,917,843),48353=>array(127,-64,907,843),48354=>array(127,-64,908,843),48355=>array(127,-64,908,843),48356=>array(127,-69,923,843),48357=>array(127,-64,908,843),48358=>array(127,-64,908,843),48359=>array(127,-76,907,843),48360=>array(127,-62,907,843),48361=>array(127,-61,907,843),48362=>array(127,-69,922,843),48363=>array(127,-74,929,843),48364=>array(127,-69,927,843),48365=>array(127,-68,911,843),48366=>array(127,-72,929,843),48367=>array(127,-70,936,843),48368=>array(127,-66,908,843),48369=>array(127,-59,916,843),48370=>array(127,-60,928,843),48371=>array(127,-68,908,843),48372=>array(62,7,943,795),48373=>array(79,-61,921,815),48374=>array(79,-61,921,815),48375=>array(79,-71,921,815),48376=>array(79,-46,921,815),48377=>array(79,-68,921,815),48378=>array(79,-74,921,815),48379=>array(79,-44,921,815),48380=>array(79,-62,921,815),48381=>array(79,-64,921,815),48382=>array(79,-64,921,815),48383=>array(79,-63,921,815),48384=>array(79,-68,921,815),48385=>array(79,-64,921,815),48386=>array(79,-63,921,815),48387=>array(79,-74,921,815),48388=>array(79,-62,921,815),48389=>array(79,-61,921,815),48390=>array(79,-69,921,815),48391=>array(79,-74,921,815),48392=>array(79,-69,921,815),48393=>array(79,-68,921,815),48394=>array(79,-72,921,815),48395=>array(79,-70,921,815),48396=>array(79,-66,921,815),48397=>array(79,-59,921,815),48398=>array(79,-60,921,815),48399=>array(79,-68,921,815),48400=>array(52,-69,936,842),48401=>array(77,-59,936,843),48402=>array(77,-61,936,843),48403=>array(77,-71,936,843),48404=>array(66,-45,936,842),48405=>array(77,-69,936,843),48406=>array(77,-76,936,843),48407=>array(77,-44,936,843),48408=>array(77,-62,936,843),48409=>array(77,-64,936,843),48410=>array(77,-64,936,843),48411=>array(77,-64,936,843),48412=>array(77,-70,936,843),48413=>array(77,-64,936,843),48414=>array(77,-64,936,843),48415=>array(77,-76,936,843),48416=>array(77,-62,936,843),48417=>array(77,-61,936,843),48418=>array(77,-70,936,843),48419=>array(77,-74,936,843),48420=>array(77,-69,936,843),48421=>array(77,-67,936,843),48422=>array(77,-72,936,843),48423=>array(77,-71,936,843),48424=>array(77,-66,936,843),48425=>array(77,-59,936,843),48426=>array(77,-60,936,843),48427=>array(77,-69,936,843),48428=>array(61,-68,907,843),48429=>array(79,-61,907,843),48430=>array(79,-61,907,843),48431=>array(79,-71,931,843),48432=>array(72,-46,907,842),48433=>array(79,-68,912,843),48434=>array(79,-76,907,843),48435=>array(79,-44,921,843),48436=>array(79,-62,917,843),48437=>array(79,-64,907,843),48438=>array(79,-64,908,843),48439=>array(79,-64,908,843),48440=>array(79,-69,923,843),48441=>array(79,-64,908,843),48442=>array(79,-64,908,843),48443=>array(79,-76,907,843),48444=>array(79,-62,907,843),48445=>array(79,-61,907,843),48446=>array(79,-69,922,843),48447=>array(79,-74,929,843),48448=>array(79,-69,927,843),48449=>array(79,-68,911,843),48450=>array(79,-72,929,843),48451=>array(79,-70,936,843),48452=>array(79,-66,908,843),48453=>array(79,-59,916,843),48454=>array(79,-60,928,843),48455=>array(79,-68,908,843),48456=>array(62,-69,907,842),48457=>array(65,-61,907,842),48458=>array(65,-61,907,842),48459=>array(65,-71,931,842),48460=>array(64,-46,907,842),48461=>array(65,-68,912,842),48462=>array(65,-76,907,842),48463=>array(65,-44,921,842),48464=>array(65,-62,917,842),48465=>array(65,-64,907,842),48466=>array(65,-64,908,842),48467=>array(65,-64,908,842),48468=>array(65,-69,923,842),48469=>array(65,-64,908,842),48470=>array(65,-64,908,842),48471=>array(65,-76,907,842),48472=>array(65,-62,907,842),48473=>array(65,-61,907,842),48474=>array(65,-69,922,842),48475=>array(65,-74,929,842),48476=>array(65,-69,927,842),48477=>array(65,-68,911,842),48478=>array(65,-72,929,842),48479=>array(65,-70,936,842),48480=>array(65,-66,908,842),48481=>array(65,-59,916,842),48482=>array(65,-60,928,842),48483=>array(65,-68,908,842),48484=>array(62,7,943,805),48485=>array(79,-61,922,815),48486=>array(79,-61,922,815),48487=>array(79,-71,922,815),48488=>array(79,-46,922,815),48489=>array(79,-68,922,815),48490=>array(79,-74,922,815),48491=>array(79,-44,922,815),48492=>array(79,-62,922,815),48493=>array(79,-64,922,815),48494=>array(79,-64,922,815),48495=>array(79,-63,922,815),48496=>array(79,-68,922,815),48497=>array(79,-64,922,815),48498=>array(79,-63,922,815),48499=>array(79,-74,922,815),48500=>array(79,-62,922,815),48501=>array(79,-61,922,815),48502=>array(79,-69,922,815),48503=>array(79,-74,922,815),48504=>array(79,-69,922,815),48505=>array(79,-68,922,815),48506=>array(79,-72,922,815),48507=>array(79,-70,922,815),48508=>array(79,-66,922,815),48509=>array(79,-59,922,815),48510=>array(79,-60,922,815),48511=>array(79,-68,922,815),48512=>array(79,-64,921,815),48513=>array(79,-61,921,815),48514=>array(79,-61,921,815),48515=>array(79,-71,921,815),48516=>array(79,-46,921,815),48517=>array(79,-68,921,815),48518=>array(79,-74,921,815),48519=>array(79,-44,921,815),48520=>array(79,-62,921,815),48521=>array(79,-64,921,815),48522=>array(79,-64,921,815),48523=>array(79,-63,921,815),48524=>array(79,-68,921,815),48525=>array(79,-64,921,815),48526=>array(79,-63,921,815),48527=>array(79,-74,921,815),48528=>array(79,-62,921,815),48529=>array(79,-61,921,815),48530=>array(79,-69,921,815),48531=>array(79,-74,921,815),48532=>array(79,-69,921,815),48533=>array(79,-68,921,815),48534=>array(79,-72,921,815),48535=>array(79,-70,921,815),48536=>array(79,-66,921,815),48537=>array(79,-59,921,815),48538=>array(79,-60,921,815),48539=>array(79,-68,921,815),48540=>array(69,-70,907,841),48541=>array(75,-61,907,841),48542=>array(75,-61,907,841),48543=>array(75,-71,931,841),48544=>array(76,-46,907,841),48545=>array(75,-68,912,841),48546=>array(75,-76,907,841),48547=>array(75,-44,921,841),48548=>array(75,-62,917,841),48549=>array(75,-64,907,841),48550=>array(75,-64,908,841),48551=>array(75,-64,908,841),48552=>array(75,-69,923,841),48553=>array(75,-64,908,841),48554=>array(75,-64,908,841),48555=>array(75,-76,906,841),48556=>array(75,-62,907,841),48557=>array(75,-61,907,841),48558=>array(75,-69,922,841),48559=>array(75,-74,929,841),48560=>array(75,-69,927,841),48561=>array(75,-68,911,841),48562=>array(75,-72,929,841),48563=>array(75,-70,936,841),48564=>array(75,-66,908,841),48565=>array(75,-59,916,841),48566=>array(75,-60,928,841),48567=>array(75,-68,908,841),48568=>array(63,-68,907,843),48569=>array(72,-61,907,843),48570=>array(72,-61,907,843),48571=>array(72,-71,931,843),48572=>array(76,-46,907,843),48573=>array(72,-68,912,843),48574=>array(72,-76,907,843),48575=>array(72,-44,921,843),48576=>array(72,-62,917,843),48577=>array(72,-64,907,843),48578=>array(72,-64,908,843),48579=>array(72,-64,908,843),48580=>array(72,-69,923,843),48581=>array(72,-64,908,843),48582=>array(72,-64,908,843),48583=>array(72,-76,907,843),48584=>array(72,-62,907,843),48585=>array(72,-61,907,843),48586=>array(72,-69,922,843),48587=>array(72,-74,929,843),48588=>array(72,-69,927,843),48589=>array(72,-68,911,843),48590=>array(72,-72,929,843),48591=>array(72,-70,936,843),48592=>array(72,-66,908,843),48593=>array(72,-59,916,843),48594=>array(72,-60,928,843),48595=>array(72,-68,908,843),48596=>array(70,-69,907,842),48597=>array(65,-61,907,841),48598=>array(65,-61,907,841),48599=>array(65,-71,931,841),48600=>array(65,-46,907,841),48601=>array(65,-68,912,841),48602=>array(65,-76,907,841),48603=>array(65,-44,921,841),48604=>array(65,-62,917,841),48605=>array(65,-64,907,841),48606=>array(65,-64,908,841),48607=>array(65,-64,908,841),48608=>array(65,-69,923,841),48609=>array(65,-64,908,841),48610=>array(65,-64,908,841),48611=>array(65,-76,907,841),48612=>array(65,-62,907,841),48613=>array(65,-61,907,841),48614=>array(65,-69,922,841),48615=>array(65,-74,929,841),48616=>array(65,-69,927,841),48617=>array(65,-68,911,841),48618=>array(65,-72,929,841),48619=>array(65,-70,936,841),48620=>array(65,-66,908,841),48621=>array(65,-59,916,841),48622=>array(65,-60,928,841),48623=>array(65,-68,908,841),48624=>array(71,-64,928,815),48625=>array(79,-61,921,815),48626=>array(79,-61,921,815),48627=>array(79,-71,921,815),48628=>array(79,-46,921,815),48629=>array(79,-68,921,815),48630=>array(79,-74,921,815),48631=>array(79,-44,921,815),48632=>array(79,-62,921,815),48633=>array(79,-64,921,815),48634=>array(79,-64,921,815),48635=>array(79,-63,921,815),48636=>array(79,-68,921,815),48637=>array(79,-64,921,815),48638=>array(79,-63,921,815),48639=>array(79,-74,921,815),48640=>array(79,-62,921,815),48641=>array(79,-61,921,815),48642=>array(79,-69,921,815),48643=>array(79,-74,921,815),48644=>array(79,-69,921,815),48645=>array(79,-68,921,815),48646=>array(79,-72,921,815),48647=>array(79,-70,921,815),48648=>array(79,-66,921,815),48649=>array(79,-59,921,815),48650=>array(79,-60,921,815),48651=>array(79,-68,921,815),48652=>array(57,42,943,750),48653=>array(79,-61,921,825),48654=>array(79,-61,921,825),48655=>array(79,-71,921,825),48656=>array(79,-46,921,825),48657=>array(79,-68,921,825),48658=>array(79,-74,921,825),48659=>array(79,-44,921,825),48660=>array(79,-62,921,825),48661=>array(79,-64,921,825),48662=>array(79,-64,921,825),48663=>array(79,-63,921,825),48664=>array(79,-68,921,825),48665=>array(79,-64,921,825),48666=>array(79,-63,921,825),48667=>array(79,-74,921,825),48668=>array(79,-62,921,825),48669=>array(79,-61,921,825),48670=>array(79,-69,921,825),48671=>array(79,-74,921,825),48672=>array(79,-69,921,825),48673=>array(79,-68,921,825),48674=>array(79,-72,921,825),48675=>array(79,-70,921,825),48676=>array(79,-66,921,825),48677=>array(79,-59,921,825),48678=>array(79,-60,921,825),48679=>array(79,-68,921,825),48680=>array(67,-69,907,842),48681=>array(65,-61,907,842),48682=>array(65,-61,907,842),48683=>array(65,-71,931,842),48684=>array(65,-46,907,841),48685=>array(65,-68,912,842),48686=>array(65,-76,907,842),48687=>array(65,-44,921,842),48688=>array(65,-62,917,842),48689=>array(65,-64,907,842),48690=>array(65,-64,908,842),48691=>array(65,-64,908,842),48692=>array(65,-69,923,842),48693=>array(65,-64,908,842),48694=>array(65,-64,908,842),48695=>array(65,-76,907,842),48696=>array(65,-62,907,842),48697=>array(65,-61,907,842),48698=>array(65,-69,922,842),48699=>array(65,-74,929,842),48700=>array(65,-69,927,842),48701=>array(65,-68,911,842),48702=>array(65,-72,929,842),48703=>array(65,-70,936,842),48704=>array(65,-66,908,842),48705=>array(65,-59,916,842),48706=>array(65,-60,928,842),48707=>array(65,-68,908,842),48708=>array(147,-69,907,842),48709=>array(157,-61,907,842),48710=>array(157,-61,907,842),48711=>array(157,-71,931,842),48712=>array(152,-46,907,842),48713=>array(157,-68,912,842),48714=>array(157,-76,907,842),48715=>array(157,-44,921,842),48716=>array(157,-62,917,842),48717=>array(157,-64,907,842),48718=>array(157,-64,908,842),48719=>array(157,-64,908,842),48720=>array(157,-69,923,842),48721=>array(157,-64,908,842),48722=>array(157,-64,908,842),48723=>array(157,-76,907,842),48724=>array(157,-62,907,842),48725=>array(157,-61,907,842),48726=>array(157,-69,922,842),48727=>array(157,-74,929,842),48728=>array(143,-69,927,842),48729=>array(157,-68,911,842),48730=>array(157,-72,929,842),48731=>array(157,-70,936,842),48732=>array(157,-66,908,842),48733=>array(157,-59,916,842),48734=>array(157,-60,928,842),48735=>array(157,-68,908,842),48736=>array(95,-69,936,842),48737=>array(105,-59,936,842),48738=>array(105,-61,936,842),48739=>array(105,-71,936,842),48740=>array(105,-45,936,842),48741=>array(105,-69,936,842),48742=>array(105,-76,936,842),48743=>array(105,-44,936,842),48744=>array(105,-62,936,842),48745=>array(105,-64,936,842),48746=>array(105,-64,936,842),48747=>array(105,-64,936,842),48748=>array(105,-70,936,842),48749=>array(105,-64,936,842),48750=>array(105,-64,936,842),48751=>array(105,-76,936,842),48752=>array(105,-62,936,842),48753=>array(105,-61,936,842),48754=>array(105,-70,936,842),48755=>array(105,-74,936,842),48756=>array(105,-69,936,842),48757=>array(105,-67,936,842),48758=>array(105,-72,936,842),48759=>array(105,-71,936,842),48760=>array(105,-66,936,842),48761=>array(105,-59,936,842),48762=>array(105,-60,936,842),48763=>array(105,-69,936,842),48764=>array(95,-69,907,842),48765=>array(105,-61,907,842),48766=>array(105,-61,907,842),48767=>array(105,-71,931,842),48768=>array(105,-46,907,842),48769=>array(105,-68,912,842),48770=>array(105,-76,907,842),48771=>array(105,-44,921,842),48772=>array(105,-62,917,842),48773=>array(105,-64,907,842),48774=>array(105,-64,908,842),48775=>array(105,-64,908,842),48776=>array(105,-69,923,842),48777=>array(105,-64,908,842),48778=>array(105,-64,908,842),48779=>array(105,-76,907,842),48780=>array(105,-62,907,842),48781=>array(105,-61,907,842),48782=>array(105,-69,922,842),48783=>array(105,-74,929,842),48784=>array(105,-69,927,842),48785=>array(105,-68,911,842),48786=>array(105,-72,929,842),48787=>array(105,-70,936,842),48788=>array(105,-66,908,842),48789=>array(105,-59,916,842),48790=>array(105,-60,928,842),48791=>array(105,-68,908,842),48792=>array(95,-68,935,843),48793=>array(105,-59,936,842),48794=>array(105,-61,936,842),48795=>array(105,-71,936,842),48796=>array(105,-45,936,842),48797=>array(105,-69,936,842),48798=>array(105,-76,936,842),48799=>array(105,-44,936,842),48800=>array(105,-62,936,842),48801=>array(105,-64,936,842),48802=>array(105,-64,936,842),48803=>array(105,-64,936,842),48804=>array(105,-70,936,842),48805=>array(105,-64,936,842),48806=>array(105,-64,936,842),48807=>array(105,-76,936,842),48808=>array(105,-62,936,842),48809=>array(105,-61,936,842),48810=>array(105,-70,936,842),48811=>array(105,-74,936,842),48812=>array(105,-69,936,842),48813=>array(105,-67,936,842),48814=>array(105,-72,936,842),48815=>array(105,-71,936,842),48816=>array(105,-66,936,842),48817=>array(105,-59,936,842),48818=>array(105,-60,936,842),48819=>array(105,-69,936,842),48820=>array(95,-69,907,842),48821=>array(105,-61,907,842),48822=>array(105,-61,907,842),48823=>array(105,-71,931,842),48824=>array(105,-46,907,842),48825=>array(105,-68,912,842),48826=>array(105,-76,907,842),48827=>array(105,-44,921,842),48828=>array(105,-62,917,842),48829=>array(105,-64,907,842),48830=>array(105,-64,908,842),48831=>array(105,-64,908,842),48832=>array(105,-69,923,842),48833=>array(105,-64,908,842),48834=>array(105,-64,908,842),48835=>array(105,-76,907,842),48836=>array(105,-62,907,842),48837=>array(105,-61,907,842),48838=>array(105,-69,922,842),48839=>array(105,-74,929,842),48840=>array(105,-69,927,842),48841=>array(105,-68,911,842),48842=>array(105,-72,929,842),48843=>array(105,-70,936,842),48844=>array(105,-66,908,842),48845=>array(105,-59,916,842),48846=>array(105,-60,928,842),48847=>array(105,-68,908,842),48848=>array(95,-70,907,841),48849=>array(105,-61,907,841),48850=>array(105,-61,907,841),48851=>array(105,-71,931,841),48852=>array(105,-46,907,841),48853=>array(105,-68,912,841),48854=>array(105,-76,907,841),48855=>array(105,-44,921,841),48856=>array(105,-62,917,841),48857=>array(105,-64,907,841),48858=>array(105,-64,908,841),48859=>array(105,-64,908,841),48860=>array(105,-69,923,841),48861=>array(105,-64,908,841),48862=>array(105,-64,908,841),48863=>array(105,-76,906,841),48864=>array(105,-62,907,841),48865=>array(105,-61,907,841),48866=>array(105,-69,922,841),48867=>array(105,-74,929,841),48868=>array(105,-69,927,841),48869=>array(105,-68,911,841),48870=>array(105,-72,929,841),48871=>array(105,-70,936,841),48872=>array(105,-66,908,841),48873=>array(105,-59,916,841),48874=>array(105,-60,928,841),48875=>array(105,-68,908,841),48876=>array(90,-68,907,843),48877=>array(90,-61,907,843),48878=>array(90,-61,907,843),48879=>array(90,-71,931,843),48880=>array(90,-46,907,843),48881=>array(90,-68,912,843),48882=>array(90,-76,907,843),48883=>array(90,-44,921,843),48884=>array(90,-62,917,843),48885=>array(90,-64,907,843),48886=>array(90,-64,908,843),48887=>array(90,-64,908,843),48888=>array(90,-69,923,843),48889=>array(90,-64,908,843),48890=>array(90,-64,908,843),48891=>array(90,-76,907,843),48892=>array(90,-62,907,843),48893=>array(90,-61,907,843),48894=>array(90,-69,922,843),48895=>array(90,-74,929,843),48896=>array(90,-69,927,843),48897=>array(90,-68,911,843),48898=>array(90,-72,929,843),48899=>array(90,-70,936,843),48900=>array(90,-66,908,843),48901=>array(90,-59,916,843),48902=>array(90,-60,928,843),48903=>array(90,-68,908,843),48904=>array(95,-70,907,842),48905=>array(105,-61,908,842),48906=>array(105,-61,908,842),48907=>array(105,-71,931,842),48908=>array(105,-46,907,842),48909=>array(105,-68,912,842),48910=>array(105,-76,908,842),48911=>array(105,-44,921,842),48912=>array(105,-62,917,842),48913=>array(105,-64,908,842),48914=>array(105,-64,908,842),48915=>array(105,-64,908,842),48916=>array(105,-69,923,842),48917=>array(105,-64,908,842),48918=>array(105,-64,908,842),48919=>array(105,-76,908,842),48920=>array(105,-62,908,842),48921=>array(105,-61,908,842),48922=>array(105,-69,922,842),48923=>array(105,-74,929,842),48924=>array(105,-69,927,842),48925=>array(105,-68,911,842),48926=>array(105,-72,929,842),48927=>array(105,-70,936,842),48928=>array(105,-66,908,842),48929=>array(105,-59,916,842),48930=>array(105,-60,928,842),48931=>array(105,-68,908,842),48932=>array(90,-68,907,843),48933=>array(90,-61,907,843),48934=>array(90,-61,907,843),48935=>array(90,-71,931,843),48936=>array(90,-46,907,843),48937=>array(90,-68,912,843),48938=>array(90,-76,907,843),48939=>array(90,-44,921,843),48940=>array(90,-62,917,843),48941=>array(90,-64,907,843),48942=>array(90,-64,908,843),48943=>array(90,-64,908,843),48944=>array(90,-69,923,843),48945=>array(90,-64,908,843),48946=>array(90,-64,908,843),48947=>array(90,-76,907,843),48948=>array(90,-62,907,843),48949=>array(90,-61,907,843),48950=>array(90,-69,922,843),48951=>array(90,-74,929,843),48952=>array(90,-69,927,843),48953=>array(90,-68,911,843),48954=>array(90,-72,929,843),48955=>array(90,-70,936,843),48956=>array(90,-66,908,843),48957=>array(90,-59,916,843),48958=>array(90,-60,928,843),48959=>array(90,-68,908,843),48960=>array(60,12,940,766),48961=>array(79,-61,921,806),48962=>array(79,-61,921,806),48963=>array(79,-71,921,806),48964=>array(79,-46,921,806),48965=>array(79,-68,921,806),48966=>array(79,-74,921,806),48967=>array(79,-44,921,806),48968=>array(79,-62,921,806),48969=>array(79,-64,921,806),48970=>array(79,-64,921,806),48971=>array(79,-63,921,806),48972=>array(79,-68,921,806),48973=>array(79,-64,921,806),48974=>array(79,-63,921,806),48975=>array(79,-74,921,806),48976=>array(79,-62,921,806),48977=>array(79,-61,921,806),48978=>array(79,-69,921,806),48979=>array(79,-74,921,806),48980=>array(79,-69,921,806),48981=>array(79,-68,921,806),48982=>array(79,-72,921,806),48983=>array(79,-70,921,806),48984=>array(79,-66,921,806),48985=>array(79,-59,921,806),48986=>array(79,-60,921,806),48987=>array(79,-68,921,806),48988=>array(51,-69,936,842),48989=>array(69,-59,937,843),48990=>array(69,-61,937,843),48991=>array(69,-71,937,843),48992=>array(57,-45,937,842),48993=>array(69,-69,937,843),48994=>array(69,-76,937,843),48995=>array(69,-44,937,843),48996=>array(69,-62,937,843),48997=>array(69,-64,937,843),48998=>array(69,-64,937,843),48999=>array(69,-64,937,843),49000=>array(69,-70,937,843),49001=>array(69,-64,937,843),49002=>array(69,-64,937,843),49003=>array(69,-76,937,843),49004=>array(69,-62,937,843),49005=>array(69,-61,937,843),49006=>array(69,-70,937,843),49007=>array(69,-74,937,843),49008=>array(69,-69,937,843),49009=>array(69,-67,937,843),49010=>array(69,-72,937,843),49011=>array(69,-71,937,843),49012=>array(69,-66,937,843),49013=>array(69,-59,937,843),49014=>array(69,-60,937,843),49015=>array(69,-69,937,843),49016=>array(57,-69,907,842),49017=>array(69,-61,908,842),49018=>array(69,-61,908,842),49019=>array(69,-71,931,842),49020=>array(57,-46,908,842),49021=>array(69,-68,912,842),49022=>array(69,-76,908,842),49023=>array(69,-44,921,842),49024=>array(69,-62,917,842),49025=>array(69,-64,908,842),49026=>array(69,-64,908,842),49027=>array(69,-64,908,842),49028=>array(69,-69,923,842),49029=>array(69,-64,908,842),49030=>array(69,-64,908,842),49031=>array(69,-76,908,842),49032=>array(69,-62,908,842),49033=>array(69,-61,908,842),49034=>array(69,-69,922,842),49035=>array(69,-74,929,842),49036=>array(69,-69,927,842),49037=>array(69,-68,911,842),49038=>array(69,-72,929,842),49039=>array(69,-70,936,842),49040=>array(69,-66,908,842),49041=>array(69,-59,916,842),49042=>array(69,-60,928,842),49043=>array(69,-68,908,842),49044=>array(58,-69,907,842),49045=>array(64,-61,907,841),49046=>array(64,-61,907,841),49047=>array(64,-71,931,841),49048=>array(64,-46,907,842),49049=>array(64,-68,912,841),49050=>array(64,-76,907,841),49051=>array(64,-44,921,841),49052=>array(64,-62,917,841),49053=>array(64,-64,907,841),49054=>array(64,-64,908,841),49055=>array(64,-64,908,841),49056=>array(64,-69,923,841),49057=>array(64,-64,908,841),49058=>array(64,-64,908,841),49059=>array(64,-76,907,841),49060=>array(64,-62,907,841),49061=>array(64,-61,907,841),49062=>array(64,-69,922,841),49063=>array(64,-74,929,841),49064=>array(64,-69,927,841),49065=>array(64,-68,911,841),49066=>array(64,-72,929,841),49067=>array(64,-70,936,841),49068=>array(64,-66,908,841),49069=>array(64,-59,916,841),49070=>array(64,-60,928,841),49071=>array(64,-68,908,841),49072=>array(60,-13,940,803),49073=>array(79,-61,921,806),49074=>array(79,-61,921,806),49075=>array(79,-71,921,806),49076=>array(79,-46,921,806),49077=>array(79,-68,921,806),49078=>array(79,-74,921,806),49079=>array(79,-44,921,806),49080=>array(79,-62,921,806),49081=>array(79,-64,921,806),49082=>array(79,-64,921,806),49083=>array(79,-63,921,806),49084=>array(79,-68,921,806),49085=>array(79,-64,921,806),49086=>array(79,-63,921,806),49087=>array(79,-74,921,806),49088=>array(79,-62,921,806),49089=>array(79,-61,921,806),49090=>array(79,-69,921,806),49091=>array(79,-74,921,806),49092=>array(79,-69,921,806),49093=>array(79,-68,921,806),49094=>array(79,-72,921,806),49095=>array(79,-70,921,806),49096=>array(79,-66,921,806),49097=>array(79,-59,921,806),49098=>array(79,-60,921,806),49099=>array(79,-68,921,806),49100=>array(79,-64,921,806),49101=>array(79,-61,921,806),49102=>array(79,-61,921,806),49103=>array(79,-71,921,806),49104=>array(79,-46,921,806),49105=>array(79,-68,921,806),49106=>array(79,-74,921,806),49107=>array(79,-44,921,806),49108=>array(79,-62,921,806),49109=>array(79,-64,921,806),49110=>array(79,-64,921,806),49111=>array(79,-63,921,806),49112=>array(79,-68,921,806),49113=>array(79,-64,921,806),49114=>array(79,-63,921,806),49115=>array(79,-74,921,806),49116=>array(79,-62,921,806),49117=>array(79,-61,921,806),49118=>array(79,-69,921,806),49119=>array(79,-74,921,806),49120=>array(79,-69,921,806),49121=>array(79,-68,921,806),49122=>array(79,-72,921,806),49123=>array(79,-70,921,806),49124=>array(79,-66,921,806),49125=>array(79,-59,921,806),49126=>array(79,-60,921,806),49127=>array(79,-68,921,806),49128=>array(72,-70,907,841),49129=>array(67,-61,907,841),49130=>array(67,-61,907,841),49131=>array(67,-71,931,841),49132=>array(65,-46,907,841),49133=>array(67,-68,912,841),49134=>array(67,-76,907,841),49135=>array(67,-44,921,841),49136=>array(67,-62,917,841),49137=>array(67,-64,907,841),49138=>array(67,-64,908,841),49139=>array(67,-64,908,841),49140=>array(67,-69,923,841),49141=>array(67,-64,908,841),49142=>array(67,-64,908,841),49143=>array(67,-76,906,841),49144=>array(67,-62,907,841),49145=>array(67,-61,907,841),49146=>array(67,-69,922,841),49147=>array(67,-74,929,841),49148=>array(67,-69,927,841),49149=>array(67,-68,911,841),49150=>array(67,-72,929,841),49151=>array(67,-70,936,841),49152=>array(67,-66,908,841),49153=>array(67,-59,916,841),49154=>array(67,-60,928,841),49155=>array(67,-68,908,841),49156=>array(51,-68,907,843),49157=>array(67,-61,907,843),49158=>array(67,-61,907,843),49159=>array(67,-71,931,843),49160=>array(68,-46,907,842),49161=>array(67,-68,912,843),49162=>array(67,-76,907,843),49163=>array(67,-44,921,843),49164=>array(67,-62,917,843),49165=>array(67,-64,907,843),49166=>array(67,-64,908,843),49167=>array(67,-64,908,843),49168=>array(67,-69,923,843),49169=>array(67,-64,908,843),49170=>array(67,-64,908,843),49171=>array(67,-76,907,843),49172=>array(67,-62,907,843),49173=>array(67,-61,907,843),49174=>array(67,-69,922,843),49175=>array(67,-74,929,843),49176=>array(67,-69,927,843),49177=>array(67,-68,911,843),49178=>array(67,-72,929,843),49179=>array(67,-70,936,843),49180=>array(67,-66,908,843),49181=>array(67,-59,916,843),49182=>array(67,-60,928,843),49183=>array(67,-68,908,843),49184=>array(64,-69,907,842),49185=>array(65,-61,907,843),49186=>array(65,-61,907,843),49187=>array(65,-71,931,843),49188=>array(66,-46,907,842),49189=>array(65,-68,912,843),49190=>array(65,-76,907,843),49191=>array(65,-44,921,843),49192=>array(65,-62,917,843),49193=>array(65,-64,907,843),49194=>array(65,-64,908,843),49195=>array(65,-64,908,843),49196=>array(65,-69,923,843),49197=>array(65,-64,908,843),49198=>array(65,-64,908,843),49199=>array(65,-76,907,843),49200=>array(65,-62,907,843),49201=>array(65,-61,907,843),49202=>array(65,-69,922,843),49203=>array(65,-74,929,843),49204=>array(65,-69,927,843),49205=>array(65,-68,911,843),49206=>array(65,-72,929,843),49207=>array(65,-70,936,843),49208=>array(65,-66,908,843),49209=>array(65,-59,916,843),49210=>array(65,-60,928,843),49211=>array(65,-68,908,843),49212=>array(79,-64,921,806),49213=>array(79,-61,921,806),49214=>array(79,-61,921,806),49215=>array(79,-71,921,806),49216=>array(81,-46,922,806),49217=>array(79,-68,921,806),49218=>array(79,-74,921,806),49219=>array(79,-44,921,806),49220=>array(79,-62,921,806),49221=>array(79,-64,921,806),49222=>array(79,-64,921,806),49223=>array(79,-63,921,806),49224=>array(79,-68,921,806),49225=>array(79,-64,921,806),49226=>array(79,-63,921,806),49227=>array(79,-74,921,806),49228=>array(79,-62,921,806),49229=>array(79,-61,921,806),49230=>array(79,-69,921,806),49231=>array(79,-74,921,806),49232=>array(79,-69,921,806),49233=>array(79,-68,921,806),49234=>array(79,-72,921,806),49235=>array(79,-70,921,806),49236=>array(79,-66,921,806),49237=>array(79,-59,921,806),49238=>array(79,-60,921,806),49239=>array(79,-68,921,806),49240=>array(57,22,943,746),49241=>array(79,-61,922,811),49242=>array(79,-61,922,811),49243=>array(79,-71,922,811),49244=>array(79,-46,921,806),49245=>array(79,-68,922,811),49246=>array(79,-74,922,811),49247=>array(79,-44,922,811),49248=>array(79,-62,922,811),49249=>array(79,-64,922,811),49250=>array(79,-64,922,811),49251=>array(79,-63,922,811),49252=>array(79,-68,922,811),49253=>array(79,-64,922,811),49254=>array(79,-63,922,811),49255=>array(79,-74,922,811),49256=>array(79,-62,922,811),49257=>array(79,-61,922,811),49258=>array(79,-69,922,811),49259=>array(79,-74,922,811),49260=>array(79,-69,922,811),49261=>array(79,-68,922,811),49262=>array(79,-72,922,811),49263=>array(79,-70,922,811),49264=>array(79,-66,922,811),49265=>array(79,-59,922,811),49266=>array(79,-60,922,811),49267=>array(79,-68,922,811),49268=>array(68,-69,907,842),49269=>array(74,-61,907,841),49270=>array(74,-61,907,841),49271=>array(74,-71,931,841),49272=>array(65,-46,907,842),49273=>array(74,-68,912,841),49274=>array(74,-76,907,841),49275=>array(74,-44,921,841),49276=>array(74,-62,917,841),49277=>array(74,-64,907,841),49278=>array(74,-64,908,841),49279=>array(74,-64,908,841),49280=>array(74,-69,923,841),49281=>array(74,-64,908,841),49282=>array(74,-64,908,841),49283=>array(74,-76,907,841),49284=>array(74,-62,907,841),49285=>array(74,-61,907,841),49286=>array(74,-69,922,841),49287=>array(74,-74,929,841),49288=>array(74,-69,927,841),49289=>array(74,-68,911,841),49290=>array(74,-72,929,841),49291=>array(74,-70,936,841),49292=>array(74,-66,908,841),49293=>array(74,-59,916,841),49294=>array(74,-60,928,841),49295=>array(74,-68,908,841),49296=>array(110,-69,907,842),49297=>array(120,-61,907,842),49298=>array(120,-61,907,842),49299=>array(120,-71,931,842),49300=>array(130,-46,907,842),49301=>array(120,-68,912,842),49302=>array(120,-76,907,842),49303=>array(120,-44,921,842),49304=>array(120,-62,917,842),49305=>array(120,-64,907,842),49306=>array(120,-64,908,842),49307=>array(120,-64,908,842),49308=>array(120,-69,923,842),49309=>array(120,-64,908,842),49310=>array(120,-64,908,842),49311=>array(120,-76,907,842),49312=>array(120,-62,907,842),49313=>array(120,-61,907,842),49314=>array(120,-69,922,842),49315=>array(120,-74,929,842),49316=>array(120,-69,927,842),49317=>array(120,-68,911,842),49318=>array(120,-72,929,842),49319=>array(120,-70,936,842),49320=>array(120,-66,908,842),49321=>array(120,-59,916,842),49322=>array(120,-60,928,842),49323=>array(120,-68,908,842),49324=>array(48,-69,936,842),49325=>array(81,-59,935,842),49326=>array(81,-61,935,842),49327=>array(81,-71,935,842),49328=>array(58,-45,935,841),49329=>array(81,-69,935,842),49330=>array(81,-76,935,842),49331=>array(81,-44,935,842),49332=>array(81,-62,935,842),49333=>array(81,-64,935,842),49334=>array(81,-64,935,842),49335=>array(81,-64,935,842),49336=>array(81,-70,935,842),49337=>array(81,-64,935,842),49338=>array(81,-64,935,842),49339=>array(81,-76,935,842),49340=>array(81,-62,935,842),49341=>array(81,-61,935,842),49342=>array(81,-70,935,842),49343=>array(81,-74,935,842),49344=>array(81,-69,935,842),49345=>array(81,-67,935,842),49346=>array(81,-72,935,842),49347=>array(81,-71,935,842),49348=>array(81,-66,935,842),49349=>array(81,-59,935,842),49350=>array(81,-60,935,842),49351=>array(81,-69,935,842),49352=>array(43,-69,907,842),49353=>array(75,-61,907,842),49354=>array(75,-61,907,842),49355=>array(75,-71,931,842),49356=>array(62,-46,908,842),49357=>array(75,-68,912,842),49358=>array(75,-76,907,842),49359=>array(75,-44,921,842),49360=>array(75,-62,917,842),49361=>array(75,-64,907,842),49362=>array(75,-64,908,842),49363=>array(75,-64,908,842),49364=>array(75,-69,923,842),49365=>array(75,-64,908,842),49366=>array(75,-64,908,842),49367=>array(75,-76,906,842),49368=>array(75,-62,907,842),49369=>array(75,-61,907,842),49370=>array(75,-69,922,842),49371=>array(75,-74,929,842),49372=>array(75,-69,927,842),49373=>array(75,-68,911,842),49374=>array(75,-72,929,842),49375=>array(75,-70,936,842),49376=>array(75,-66,908,842),49377=>array(75,-59,916,842),49378=>array(75,-60,928,842),49379=>array(75,-68,908,842),49380=>array(48,-68,935,843),49381=>array(81,-59,936,842),49382=>array(81,-61,936,842),49383=>array(81,-71,936,842),49384=>array(62,-45,936,842),49385=>array(81,-69,936,842),49386=>array(81,-76,936,842),49387=>array(81,-44,936,842),49388=>array(81,-62,936,842),49389=>array(81,-64,936,842),49390=>array(81,-64,936,842),49391=>array(81,-64,936,842),49392=>array(81,-70,936,842),49393=>array(81,-64,936,842),49394=>array(81,-64,936,842),49395=>array(81,-76,936,842),49396=>array(81,-62,936,842),49397=>array(81,-61,936,842),49398=>array(81,-70,936,842),49399=>array(81,-74,936,842),49400=>array(81,-69,936,842),49401=>array(81,-67,936,842),49402=>array(81,-72,936,842),49403=>array(81,-71,936,842),49404=>array(81,-66,936,842),49405=>array(81,-59,936,842),49406=>array(81,-60,936,842),49407=>array(81,-69,936,842),49408=>array(43,-69,907,842),49409=>array(75,-61,907,842),49410=>array(75,-61,907,842),49411=>array(75,-71,931,842),49412=>array(62,-46,908,842),49413=>array(75,-68,912,842),49414=>array(75,-76,907,842),49415=>array(75,-44,921,842),49416=>array(75,-62,917,842),49417=>array(75,-64,907,842),49418=>array(75,-64,908,842),49419=>array(75,-64,908,842),49420=>array(75,-69,923,842),49421=>array(75,-64,908,842),49422=>array(75,-64,908,842),49423=>array(75,-76,906,842),49424=>array(75,-62,907,842),49425=>array(75,-61,907,842),49426=>array(75,-69,922,842),49427=>array(75,-74,929,842),49428=>array(75,-69,927,842),49429=>array(75,-68,911,842),49430=>array(75,-72,929,842),49431=>array(75,-70,936,842),49432=>array(75,-66,908,842),49433=>array(75,-59,916,842),49434=>array(75,-60,928,842),49435=>array(75,-68,908,842),49436=>array(59,-70,907,841),49437=>array(81,-61,907,841),49438=>array(81,-61,907,841),49439=>array(81,-71,931,841),49440=>array(62,-46,907,841),49441=>array(81,-68,912,841),49442=>array(81,-76,907,841),49443=>array(81,-44,921,841),49444=>array(81,-62,917,841),49445=>array(81,-64,907,841),49446=>array(81,-64,908,841),49447=>array(81,-64,908,841),49448=>array(81,-69,923,841),49449=>array(81,-64,908,841),49450=>array(81,-64,908,841),49451=>array(81,-76,906,841),49452=>array(81,-62,907,841),49453=>array(81,-61,907,841),49454=>array(81,-69,922,841),49455=>array(81,-74,929,841),49456=>array(81,-69,927,841),49457=>array(81,-68,911,841),49458=>array(81,-72,929,841),49459=>array(81,-70,936,841),49460=>array(81,-66,908,841),49461=>array(81,-59,916,841),49462=>array(81,-60,928,841),49463=>array(81,-68,908,841),49464=>array(46,-68,907,843),49465=>array(75,-61,907,843),49466=>array(75,-61,907,843),49467=>array(75,-71,931,843),49468=>array(58,-46,908,842),49469=>array(75,-68,912,843),49470=>array(75,-76,907,843),49471=>array(75,-44,921,843),49472=>array(75,-62,917,843),49473=>array(75,-64,907,843),49474=>array(75,-64,908,843),49475=>array(75,-64,908,843),49476=>array(75,-69,923,843),49477=>array(75,-64,908,843),49478=>array(75,-64,908,843),49479=>array(75,-76,906,843),49480=>array(75,-62,907,843),49481=>array(75,-61,907,843),49482=>array(75,-69,922,843),49483=>array(75,-74,929,843),49484=>array(75,-69,927,843),49485=>array(75,-68,911,843),49486=>array(75,-72,929,843),49487=>array(75,-70,936,843),49488=>array(75,-66,908,843),49489=>array(75,-59,916,843),49490=>array(75,-60,928,843),49491=>array(75,-68,908,843),49492=>array(46,-70,907,842),49493=>array(81,-61,908,842),49494=>array(81,-61,908,842),49495=>array(81,-71,931,842),49496=>array(58,-46,907,841),49497=>array(81,-68,912,842),49498=>array(81,-76,908,842),49499=>array(81,-44,921,842),49500=>array(81,-62,917,842),49501=>array(81,-64,908,842),49502=>array(81,-64,908,842),49503=>array(81,-64,908,842),49504=>array(81,-69,923,842),49505=>array(81,-64,908,842),49506=>array(81,-64,908,842),49507=>array(81,-76,908,842),49508=>array(81,-62,908,842),49509=>array(81,-61,908,842),49510=>array(81,-69,922,842),49511=>array(81,-74,929,842),49512=>array(81,-69,927,842),49513=>array(81,-68,911,842),49514=>array(81,-72,929,842),49515=>array(81,-70,936,842),49516=>array(81,-66,908,842),49517=>array(81,-59,916,842),49518=>array(81,-60,928,842),49519=>array(81,-68,908,842),49520=>array(46,-68,907,843),49521=>array(45,-61,907,842),49522=>array(45,-61,907,842),49523=>array(45,-71,931,842),49524=>array(47,-46,907,842),49525=>array(45,-68,912,842),49526=>array(45,-76,907,842),49527=>array(45,-44,921,842),49528=>array(45,-62,917,842),49529=>array(45,-64,907,842),49530=>array(45,-64,908,842),49531=>array(45,-64,908,842),49532=>array(45,-69,923,842),49533=>array(45,-64,908,842),49534=>array(45,-64,908,842),49535=>array(45,-76,907,842),49536=>array(45,-62,907,842),49537=>array(45,-61,907,842),49538=>array(45,-69,922,842),49539=>array(45,-74,929,842),49540=>array(45,-69,927,842),49541=>array(45,-68,911,842),49542=>array(45,-72,929,842),49543=>array(45,-70,936,842),49544=>array(45,-66,908,842),49545=>array(45,-59,916,842),49546=>array(45,-60,928,842),49547=>array(45,-68,908,842),49548=>array(62,7,943,771),49549=>array(79,-61,921,822),49550=>array(79,-61,921,822),49551=>array(79,-71,921,822),49552=>array(79,-46,921,822),49553=>array(79,-68,921,822),49554=>array(79,-74,921,822),49555=>array(79,-44,921,822),49556=>array(79,-62,921,822),49557=>array(79,-64,921,822),49558=>array(79,-64,921,822),49559=>array(79,-63,921,822),49560=>array(79,-68,921,822),49561=>array(79,-64,921,822),49562=>array(79,-63,921,822),49563=>array(79,-74,921,822),49564=>array(79,-62,921,822),49565=>array(79,-61,921,822),49566=>array(79,-69,921,822),49567=>array(79,-74,921,822),49568=>array(79,-69,921,822),49569=>array(79,-68,921,822),49570=>array(79,-72,921,822),49571=>array(79,-70,921,822),49572=>array(79,-66,921,822),49573=>array(79,-59,921,822),49574=>array(79,-60,921,822),49575=>array(79,-68,921,822),49576=>array(60,-69,937,842),49577=>array(77,-59,936,842),49578=>array(77,-61,936,842),49579=>array(77,-71,936,842),49580=>array(72,-45,937,842),49581=>array(77,-69,936,842),49582=>array(77,-76,936,842),49583=>array(77,-44,936,842),49584=>array(77,-62,936,842),49585=>array(77,-64,936,842),49586=>array(77,-64,936,842),49587=>array(77,-64,936,842),49588=>array(77,-70,936,842),49589=>array(77,-64,936,842),49590=>array(77,-64,936,842),49591=>array(77,-76,936,842),49592=>array(77,-62,936,842),49593=>array(77,-61,936,842),49594=>array(77,-70,936,842),49595=>array(77,-74,936,842),49596=>array(77,-69,936,842),49597=>array(77,-67,936,842),49598=>array(77,-72,936,842),49599=>array(77,-71,936,842),49600=>array(77,-66,936,842),49601=>array(77,-59,936,842),49602=>array(77,-60,936,842),49603=>array(77,-69,936,842),49604=>array(54,-69,907,842),49605=>array(67,-61,907,842),49606=>array(67,-61,907,842),49607=>array(67,-71,931,842),49608=>array(57,-46,908,842),49609=>array(67,-68,912,842),49610=>array(67,-76,907,842),49611=>array(67,-44,921,842),49612=>array(67,-62,917,842),49613=>array(67,-64,907,842),49614=>array(67,-64,908,842),49615=>array(67,-64,908,842),49616=>array(67,-69,923,842),49617=>array(67,-64,908,842),49618=>array(67,-64,908,842),49619=>array(67,-76,907,842),49620=>array(67,-62,907,842),49621=>array(67,-61,907,842),49622=>array(67,-69,922,842),49623=>array(67,-74,929,842),49624=>array(67,-69,927,842),49625=>array(67,-68,911,842),49626=>array(67,-72,929,842),49627=>array(67,-70,936,842),49628=>array(67,-66,908,842),49629=>array(67,-59,916,842),49630=>array(67,-60,928,842),49631=>array(67,-68,908,842),49632=>array(52,-69,907,842),49633=>array(65,-61,908,842),49634=>array(65,-61,908,842),49635=>array(65,-71,931,842),49636=>array(64,-46,907,842),49637=>array(65,-68,912,842),49638=>array(65,-76,908,842),49639=>array(65,-44,921,842),49640=>array(65,-62,917,842),49641=>array(65,-64,908,842),49642=>array(65,-64,908,842),49643=>array(65,-64,908,842),49644=>array(65,-69,923,842),49645=>array(65,-64,908,842),49646=>array(65,-64,908,842),49647=>array(65,-76,908,842),49648=>array(65,-62,908,842),49649=>array(65,-61,908,842),49650=>array(65,-69,922,842),49651=>array(65,-74,929,842),49652=>array(65,-69,927,842),49653=>array(65,-68,911,842),49654=>array(65,-72,929,842),49655=>array(65,-70,936,842),49656=>array(65,-66,908,842),49657=>array(65,-59,916,842),49658=>array(65,-60,928,842),49659=>array(65,-68,908,842),49660=>array(62,7,938,771),49661=>array(79,-61,922,822),49662=>array(79,-61,922,822),49663=>array(79,-71,922,822),49664=>array(79,-46,922,822),49665=>array(79,-68,922,822),49666=>array(79,-74,922,822),49667=>array(79,-44,922,822),49668=>array(79,-62,922,822),49669=>array(79,-64,922,822),49670=>array(79,-64,922,822),49671=>array(79,-63,922,822),49672=>array(79,-68,922,822),49673=>array(79,-64,922,822),49674=>array(79,-63,922,822),49675=>array(79,-74,922,822),49676=>array(79,-62,922,822),49677=>array(79,-61,922,822),49678=>array(79,-69,922,822),49679=>array(79,-74,922,822),49680=>array(79,-69,922,822),49681=>array(79,-68,922,822),49682=>array(79,-72,922,822),49683=>array(79,-70,922,822),49684=>array(79,-66,922,822),49685=>array(79,-59,922,822),49686=>array(79,-60,922,822),49687=>array(79,-68,922,822),49688=>array(79,-64,921,831),49689=>array(79,-61,921,822),49690=>array(79,-61,921,822),49691=>array(79,-71,921,822),49692=>array(79,-46,921,822),49693=>array(79,-68,921,822),49694=>array(79,-74,921,822),49695=>array(79,-44,921,822),49696=>array(79,-62,921,822),49697=>array(79,-64,921,822),49698=>array(79,-64,921,822),49699=>array(79,-63,921,822),49700=>array(79,-68,921,822),49701=>array(79,-64,921,822),49702=>array(79,-63,921,822),49703=>array(79,-74,921,822),49704=>array(79,-62,921,822),49705=>array(79,-61,921,822),49706=>array(79,-69,921,822),49707=>array(79,-74,921,822),49708=>array(79,-69,921,822),49709=>array(79,-68,921,822),49710=>array(79,-72,921,822),49711=>array(79,-70,921,822),49712=>array(79,-66,921,822),49713=>array(79,-59,921,822),49714=>array(79,-60,921,822),49715=>array(79,-68,921,822),49716=>array(69,-70,907,841),49717=>array(73,-61,907,841),49718=>array(73,-61,907,841),49719=>array(73,-71,931,841),49720=>array(76,-46,907,841),49721=>array(73,-68,912,841),49722=>array(73,-76,907,841),49723=>array(73,-44,921,841),49724=>array(73,-62,917,841),49725=>array(73,-64,907,841),49726=>array(73,-64,908,841),49727=>array(73,-64,908,841),49728=>array(73,-69,923,841),49729=>array(73,-64,908,841),49730=>array(73,-64,908,841),49731=>array(73,-76,906,841),49732=>array(73,-62,907,841),49733=>array(73,-61,907,841),49734=>array(73,-69,922,841),49735=>array(73,-74,929,841),49736=>array(73,-69,927,841),49737=>array(73,-68,911,841),49738=>array(73,-72,929,841),49739=>array(73,-70,936,841),49740=>array(73,-66,908,841),49741=>array(73,-59,916,841),49742=>array(73,-60,928,841),49743=>array(73,-68,908,841),49744=>array(63,-68,907,843),49745=>array(70,-61,907,843),49746=>array(70,-61,907,843),49747=>array(70,-71,931,843),49748=>array(62,-46,907,843),49749=>array(70,-68,912,843),49750=>array(70,-76,907,843),49751=>array(70,-44,921,843),49752=>array(70,-62,917,843),49753=>array(70,-64,907,843),49754=>array(70,-64,908,843),49755=>array(70,-64,908,843),49756=>array(70,-69,923,843),49757=>array(70,-64,908,843),49758=>array(70,-64,908,843),49759=>array(70,-76,907,843),49760=>array(70,-62,907,843),49761=>array(70,-61,907,843),49762=>array(70,-69,922,843),49763=>array(70,-74,929,843),49764=>array(70,-69,927,843),49765=>array(70,-68,911,843),49766=>array(70,-72,929,843),49767=>array(70,-70,936,843),49768=>array(70,-66,908,843),49769=>array(70,-59,916,843),49770=>array(70,-60,928,843),49771=>array(70,-68,908,843),49772=>array(63,-69,907,842),49773=>array(65,-61,907,840),49774=>array(65,-61,907,840),49775=>array(65,-71,931,840),49776=>array(65,-46,907,843),49777=>array(65,-68,912,840),49778=>array(65,-76,907,840),49779=>array(65,-44,921,840),49780=>array(65,-62,917,840),49781=>array(65,-64,907,840),49782=>array(65,-64,908,840),49783=>array(65,-64,908,840),49784=>array(65,-69,923,840),49785=>array(65,-64,908,840),49786=>array(65,-64,908,840),49787=>array(65,-76,907,840),49788=>array(65,-62,907,840),49789=>array(65,-61,907,840),49790=>array(65,-69,922,840),49791=>array(65,-74,929,840),49792=>array(65,-69,927,840),49793=>array(65,-68,911,840),49794=>array(65,-72,929,840),49795=>array(65,-70,936,840),49796=>array(65,-66,908,840),49797=>array(65,-59,916,840),49798=>array(65,-60,928,840),49799=>array(65,-68,908,840),49800=>array(87,-64,928,831),49801=>array(79,-61,921,822),49802=>array(79,-61,921,822),49803=>array(79,-71,921,822),49804=>array(81,-46,922,822),49805=>array(79,-68,921,822),49806=>array(79,-74,921,822),49807=>array(79,-44,921,822),49808=>array(79,-62,921,822),49809=>array(79,-64,921,822),49810=>array(79,-64,921,822),49811=>array(79,-63,921,822),49812=>array(79,-68,921,822),49813=>array(79,-64,921,822),49814=>array(79,-63,921,822),49815=>array(79,-74,921,822),49816=>array(79,-62,921,822),49817=>array(79,-61,921,822),49818=>array(79,-69,921,822),49819=>array(79,-74,921,822),49820=>array(79,-69,921,822),49821=>array(79,-68,921,822),49822=>array(79,-72,921,822),49823=>array(79,-70,921,822),49824=>array(79,-66,921,822),49825=>array(79,-59,921,822),49826=>array(79,-60,921,822),49827=>array(79,-68,921,822),49828=>array(57,52,943,741),49829=>array(79,-61,922,802),49830=>array(79,-61,922,802),49831=>array(79,-71,922,802),49832=>array(79,-46,922,802),49833=>array(79,-68,922,802),49834=>array(79,-74,922,802),49835=>array(79,-44,922,802),49836=>array(79,-62,922,802),49837=>array(79,-64,922,802),49838=>array(79,-64,922,802),49839=>array(79,-63,922,802),49840=>array(79,-68,922,802),49841=>array(79,-64,922,802),49842=>array(79,-63,922,802),49843=>array(79,-74,922,802),49844=>array(79,-62,922,802),49845=>array(79,-61,922,802),49846=>array(79,-69,922,802),49847=>array(79,-74,922,802),49848=>array(79,-69,922,802),49849=>array(79,-68,922,802),49850=>array(79,-72,922,802),49851=>array(79,-70,922,802),49852=>array(79,-66,922,802),49853=>array(79,-59,922,802),49854=>array(79,-60,922,802),49855=>array(79,-68,922,802),49856=>array(78,-69,907,842),49857=>array(65,-61,907,842),49858=>array(65,-61,907,842),49859=>array(65,-71,931,842),49860=>array(65,-46,907,842),49861=>array(65,-68,912,842),49862=>array(65,-76,907,842),49863=>array(65,-44,921,842),49864=>array(65,-62,917,842),49865=>array(65,-64,907,842),49866=>array(65,-64,908,842),49867=>array(65,-64,908,842),49868=>array(65,-69,923,842),49869=>array(65,-64,908,842),49870=>array(65,-64,908,842),49871=>array(65,-76,907,842),49872=>array(65,-62,907,842),49873=>array(65,-61,907,842),49874=>array(65,-69,922,842),49875=>array(65,-74,929,842),49876=>array(65,-69,927,842),49877=>array(65,-68,911,842),49878=>array(65,-72,929,842),49879=>array(65,-70,936,842),49880=>array(65,-66,908,842),49881=>array(65,-59,916,842),49882=>array(65,-60,928,842),49883=>array(65,-68,908,842),49884=>array(90,-69,907,842),49885=>array(106,-61,907,842),49886=>array(106,-61,907,842),49887=>array(106,-71,931,842),49888=>array(104,-46,907,842),49889=>array(106,-68,912,842),49890=>array(106,-76,907,842),49891=>array(106,-44,921,842),49892=>array(106,-62,917,842),49893=>array(106,-64,907,842),49894=>array(106,-64,908,842),49895=>array(106,-64,908,842),49896=>array(106,-69,923,842),49897=>array(106,-64,908,842),49898=>array(106,-64,908,842),49899=>array(106,-76,907,842),49900=>array(106,-62,907,842),49901=>array(106,-61,907,842),49902=>array(106,-69,922,842),49903=>array(106,-74,929,842),49904=>array(106,-69,927,842),49905=>array(106,-68,911,842),49906=>array(106,-72,929,842),49907=>array(106,-70,936,842),49908=>array(106,-66,908,842),49909=>array(106,-59,916,842),49910=>array(106,-60,928,842),49911=>array(106,-68,908,842),49912=>array(20,-69,937,842),49913=>array(62,-59,936,842),49914=>array(62,-61,936,842),49915=>array(62,-71,936,842),49916=>array(72,-45,936,842),49917=>array(62,-69,936,842),49918=>array(62,-76,936,842),49919=>array(62,-44,936,842),49920=>array(62,-62,936,842),49921=>array(62,-64,936,842),49922=>array(62,-64,936,842),49923=>array(62,-64,936,842),49924=>array(62,-70,936,842),49925=>array(62,-64,936,842),49926=>array(62,-64,936,842),49927=>array(62,-76,936,842),49928=>array(62,-62,936,842),49929=>array(62,-61,936,842),49930=>array(62,-70,936,842),49931=>array(62,-74,936,842),49932=>array(62,-69,936,842),49933=>array(62,-67,936,842),49934=>array(62,-72,936,842),49935=>array(62,-71,936,842),49936=>array(62,-66,936,842),49937=>array(62,-59,936,842),49938=>array(62,-60,936,842),49939=>array(62,-69,936,842),49940=>array(21,-69,907,842),49941=>array(55,-61,907,842),49942=>array(55,-61,907,842),49943=>array(55,-71,931,842),49944=>array(52,-46,907,842),49945=>array(55,-68,912,842),49946=>array(55,-76,907,842),49947=>array(55,-44,921,842),49948=>array(55,-62,917,842),49949=>array(55,-64,907,842),49950=>array(55,-64,908,842),49951=>array(55,-64,908,842),49952=>array(55,-69,923,842),49953=>array(55,-64,908,842),49954=>array(55,-64,908,842),49955=>array(55,-76,907,842),49956=>array(55,-62,907,842),49957=>array(55,-61,907,842),49958=>array(55,-69,922,842),49959=>array(55,-74,929,842),49960=>array(55,-69,927,842),49961=>array(55,-68,911,842),49962=>array(55,-72,929,842),49963=>array(55,-70,936,842),49964=>array(55,-66,908,842),49965=>array(55,-59,916,842),49966=>array(55,-60,928,842),49967=>array(55,-68,908,842),49968=>array(20,-68,935,843),49969=>array(62,-59,936,842),49970=>array(62,-61,936,842),49971=>array(62,-71,936,842),49972=>array(72,-45,936,842),49973=>array(62,-69,936,842),49974=>array(62,-76,936,842),49975=>array(62,-44,936,842),49976=>array(62,-62,936,842),49977=>array(62,-64,936,842),49978=>array(62,-64,936,842),49979=>array(62,-64,936,842),49980=>array(62,-70,936,842),49981=>array(62,-64,936,842),49982=>array(62,-64,936,842),49983=>array(62,-76,936,842),49984=>array(62,-62,936,842),49985=>array(62,-61,936,842),49986=>array(62,-70,936,842),49987=>array(62,-74,936,842),49988=>array(62,-69,936,842),49989=>array(62,-67,936,842),49990=>array(62,-72,936,842),49991=>array(62,-71,936,842),49992=>array(62,-66,936,842),49993=>array(62,-59,936,842),49994=>array(62,-60,936,842),49995=>array(62,-69,936,842),49996=>array(21,-69,907,842),49997=>array(60,-61,907,842),49998=>array(60,-61,907,842),49999=>array(60,-71,931,842),50000=>array(52,-46,907,842),50001=>array(60,-68,912,842),50002=>array(60,-76,907,842),50003=>array(60,-44,921,842),50004=>array(60,-62,917,842),50005=>array(60,-64,907,842),50006=>array(60,-64,908,842),50007=>array(60,-64,908,842),50008=>array(60,-69,923,842),50009=>array(60,-64,908,842),50010=>array(60,-64,908,842),50011=>array(60,-76,907,842),50012=>array(60,-62,907,842),50013=>array(60,-61,907,842),50014=>array(60,-69,922,842),50015=>array(60,-74,929,842),50016=>array(60,-69,927,842),50017=>array(60,-68,911,842),50018=>array(60,-72,929,842),50019=>array(60,-70,936,842),50020=>array(60,-66,908,842),50021=>array(60,-59,916,842),50022=>array(60,-60,928,842),50023=>array(60,-68,908,842),50024=>array(20,-70,907,841),50025=>array(72,-61,907,841),50026=>array(72,-61,907,841),50027=>array(72,-71,931,841),50028=>array(72,-46,907,841),50029=>array(72,-68,912,841),50030=>array(72,-76,907,841),50031=>array(72,-44,921,841),50032=>array(72,-62,917,841),50033=>array(72,-64,907,841),50034=>array(72,-64,908,841),50035=>array(72,-64,908,841),50036=>array(72,-69,923,841),50037=>array(72,-64,908,841),50038=>array(72,-64,908,841),50039=>array(72,-76,906,841),50040=>array(72,-62,907,841),50041=>array(72,-61,907,841),50042=>array(72,-69,922,841),50043=>array(72,-74,929,841),50044=>array(72,-69,927,841),50045=>array(72,-68,911,841),50046=>array(72,-72,929,841),50047=>array(72,-70,936,841),50048=>array(72,-66,908,841),50049=>array(72,-59,916,841),50050=>array(72,-60,928,841),50051=>array(72,-68,908,841),50052=>array(20,-68,907,843),50053=>array(50,-61,907,843),50054=>array(50,-61,907,843),50055=>array(50,-71,931,843),50056=>array(52,-46,907,843),50057=>array(50,-68,912,843),50058=>array(50,-76,907,843),50059=>array(50,-44,921,843),50060=>array(50,-62,917,843),50061=>array(50,-64,907,843),50062=>array(50,-64,908,843),50063=>array(50,-64,908,843),50064=>array(50,-69,923,843),50065=>array(50,-64,908,843),50066=>array(50,-64,908,843),50067=>array(50,-76,907,843),50068=>array(50,-62,907,843),50069=>array(50,-61,907,843),50070=>array(50,-69,922,843),50071=>array(50,-74,929,843),50072=>array(50,-69,927,843),50073=>array(50,-68,911,843),50074=>array(50,-72,929,843),50075=>array(50,-70,936,843),50076=>array(50,-66,908,843),50077=>array(50,-59,916,843),50078=>array(50,-60,928,843),50079=>array(50,-68,908,843),50080=>array(20,-70,907,842),50081=>array(52,-61,908,842),50082=>array(52,-61,908,842),50083=>array(52,-71,931,842),50084=>array(52,-46,907,842),50085=>array(52,-68,912,842),50086=>array(52,-76,908,842),50087=>array(52,-44,921,842),50088=>array(52,-62,917,842),50089=>array(52,-64,908,842),50090=>array(52,-64,908,842),50091=>array(52,-64,908,842),50092=>array(52,-69,923,842),50093=>array(52,-64,908,842),50094=>array(52,-64,908,842),50095=>array(52,-76,908,842),50096=>array(52,-62,908,842),50097=>array(52,-61,908,842),50098=>array(52,-69,922,842),50099=>array(52,-74,929,842),50100=>array(52,-69,927,842),50101=>array(52,-68,911,842),50102=>array(52,-72,929,842),50103=>array(52,-70,936,842),50104=>array(52,-66,908,842),50105=>array(52,-59,916,842),50106=>array(52,-60,928,842),50107=>array(52,-68,908,842),50108=>array(20,-68,907,843),50109=>array(50,-61,907,843),50110=>array(50,-61,907,843),50111=>array(50,-71,931,843),50112=>array(40,-46,907,843),50113=>array(50,-68,912,843),50114=>array(50,-76,907,843),50115=>array(50,-44,921,843),50116=>array(50,-62,917,843),50117=>array(50,-64,907,843),50118=>array(50,-64,908,843),50119=>array(50,-64,908,843),50120=>array(50,-69,923,843),50121=>array(50,-64,908,843),50122=>array(50,-64,908,843),50123=>array(50,-76,907,843),50124=>array(50,-62,907,843),50125=>array(50,-61,907,843),50126=>array(50,-69,922,843),50127=>array(50,-74,929,843),50128=>array(50,-69,927,843),50129=>array(50,-68,911,843),50130=>array(50,-72,929,843),50131=>array(50,-70,936,843),50132=>array(50,-66,908,843),50133=>array(50,-59,916,843),50134=>array(50,-60,928,843),50135=>array(50,-68,908,843),50136=>array(62,12,943,774),50137=>array(79,-61,921,788),50138=>array(79,-61,921,788),50139=>array(79,-71,921,788),50140=>array(79,-46,922,788),50141=>array(79,-68,921,788),50142=>array(79,-74,921,788),50143=>array(79,-44,921,788),50144=>array(79,-62,921,788),50145=>array(79,-64,921,788),50146=>array(79,-64,921,788),50147=>array(79,-63,921,788),50148=>array(79,-68,921,788),50149=>array(79,-64,921,788),50150=>array(79,-63,921,788),50151=>array(79,-74,921,788),50152=>array(79,-62,921,788),50153=>array(79,-61,921,788),50154=>array(79,-69,921,788),50155=>array(79,-74,921,788),50156=>array(79,-69,921,788),50157=>array(79,-68,921,788),50158=>array(79,-72,921,788),50159=>array(79,-70,921,788),50160=>array(79,-66,921,788),50161=>array(79,-59,921,788),50162=>array(79,-60,921,788),50163=>array(79,-68,921,788),50164=>array(41,-68,936,843),50165=>array(55,-59,936,842),50166=>array(55,-61,936,842),50167=>array(55,-71,936,842),50168=>array(64,-45,936,842),50169=>array(55,-69,936,842),50170=>array(55,-76,936,842),50171=>array(55,-44,936,842),50172=>array(55,-62,936,842),50173=>array(55,-64,936,842),50174=>array(55,-64,936,842),50175=>array(55,-64,936,842),50176=>array(55,-70,936,842),50177=>array(55,-64,936,842),50178=>array(55,-64,936,842),50179=>array(55,-76,936,842),50180=>array(55,-62,936,842),50181=>array(55,-61,936,842),50182=>array(55,-70,936,842),50183=>array(55,-74,936,842),50184=>array(55,-69,936,842),50185=>array(55,-67,936,842),50186=>array(55,-72,936,842),50187=>array(55,-71,936,842),50188=>array(55,-66,936,842),50189=>array(55,-59,936,842),50190=>array(55,-60,936,842),50191=>array(55,-69,936,842),50192=>array(38,-69,907,842),50193=>array(63,-61,907,842),50194=>array(63,-61,907,842),50195=>array(63,-71,931,842),50196=>array(48,-46,907,842),50197=>array(63,-68,912,842),50198=>array(63,-76,907,842),50199=>array(63,-44,921,842),50200=>array(63,-62,917,842),50201=>array(63,-64,907,842),50202=>array(63,-64,908,842),50203=>array(63,-64,908,842),50204=>array(63,-69,923,842),50205=>array(63,-64,908,842),50206=>array(63,-64,908,842),50207=>array(63,-76,907,842),50208=>array(63,-62,907,842),50209=>array(63,-61,907,842),50210=>array(63,-69,922,842),50211=>array(63,-74,929,842),50212=>array(63,-69,927,842),50213=>array(63,-68,911,842),50214=>array(63,-72,929,842),50215=>array(63,-70,936,842),50216=>array(63,-66,908,842),50217=>array(63,-59,916,842),50218=>array(63,-60,928,842),50219=>array(63,-68,908,842),50220=>array(68,-69,907,842),50221=>array(65,-61,907,842),50222=>array(65,-61,907,842),50223=>array(65,-71,931,842),50224=>array(65,-46,907,842),50225=>array(65,-68,912,842),50226=>array(65,-76,907,842),50227=>array(65,-44,921,842),50228=>array(65,-62,917,842),50229=>array(65,-64,907,842),50230=>array(65,-64,908,842),50231=>array(65,-64,908,842),50232=>array(65,-69,923,842),50233=>array(65,-64,908,842),50234=>array(65,-64,908,842),50235=>array(65,-76,907,842),50236=>array(65,-62,907,842),50237=>array(65,-61,907,842),50238=>array(65,-69,922,842),50239=>array(65,-74,929,842),50240=>array(65,-69,927,842),50241=>array(65,-68,911,842),50242=>array(65,-72,929,842),50243=>array(65,-70,936,842),50244=>array(65,-66,908,842),50245=>array(65,-59,916,842),50246=>array(65,-60,928,842),50247=>array(65,-68,908,842),50248=>array(62,12,943,774),50249=>array(79,-61,922,788),50250=>array(79,-61,922,788),50251=>array(79,-71,922,788),50252=>array(79,-46,922,788),50253=>array(79,-68,922,788),50254=>array(79,-74,922,788),50255=>array(79,-44,922,788),50256=>array(79,-62,922,788),50257=>array(79,-64,922,788),50258=>array(79,-64,922,788),50259=>array(79,-63,922,788),50260=>array(79,-68,922,788),50261=>array(79,-64,922,788),50262=>array(79,-63,922,788),50263=>array(79,-74,922,788),50264=>array(79,-62,922,788),50265=>array(79,-61,922,788),50266=>array(79,-69,922,788),50267=>array(79,-74,922,788),50268=>array(79,-69,922,788),50269=>array(79,-68,922,788),50270=>array(79,-72,922,788),50271=>array(79,-70,922,788),50272=>array(79,-66,922,788),50273=>array(79,-59,922,788),50274=>array(79,-60,922,788),50275=>array(79,-68,922,788),50276=>array(82,-64,924,822),50277=>array(79,-61,921,788),50278=>array(79,-61,921,788),50279=>array(79,-71,921,788),50280=>array(79,-46,921,788),50281=>array(79,-68,921,788),50282=>array(79,-74,921,788),50283=>array(79,-44,921,788),50284=>array(79,-62,921,788),50285=>array(79,-64,921,788),50286=>array(79,-64,921,788),50287=>array(79,-63,921,788),50288=>array(79,-68,921,788),50289=>array(79,-64,921,788),50290=>array(79,-63,921,788),50291=>array(79,-74,921,788),50292=>array(79,-62,921,788),50293=>array(79,-61,921,788),50294=>array(79,-69,921,788),50295=>array(79,-74,921,788),50296=>array(79,-69,921,788),50297=>array(79,-68,921,788),50298=>array(79,-72,921,788),50299=>array(79,-70,921,788),50300=>array(79,-66,921,788),50301=>array(79,-59,921,788),50302=>array(79,-60,921,788),50303=>array(79,-68,921,788),50304=>array(81,-70,907,841),50305=>array(74,-61,908,841),50306=>array(74,-61,908,841),50307=>array(74,-71,931,841),50308=>array(66,-46,908,842),50309=>array(74,-68,912,841),50310=>array(74,-76,908,841),50311=>array(74,-44,921,841),50312=>array(74,-62,917,841),50313=>array(74,-64,908,841),50314=>array(74,-64,908,841),50315=>array(74,-64,908,841),50316=>array(74,-69,923,841),50317=>array(74,-64,908,841),50318=>array(74,-64,908,841),50319=>array(74,-76,908,841),50320=>array(74,-62,908,841),50321=>array(74,-61,908,841),50322=>array(74,-69,922,841),50323=>array(74,-74,929,841),50324=>array(74,-69,927,841),50325=>array(74,-68,911,841),50326=>array(74,-72,929,841),50327=>array(74,-70,936,841),50328=>array(74,-66,908,841),50329=>array(74,-59,916,841),50330=>array(74,-60,928,841),50331=>array(74,-68,908,841),50332=>array(51,-68,907,843),50333=>array(64,-61,907,843),50334=>array(64,-61,907,843),50335=>array(64,-71,931,843),50336=>array(64,-46,907,843),50337=>array(64,-68,912,843),50338=>array(64,-76,907,843),50339=>array(64,-44,921,843),50340=>array(64,-62,917,843),50341=>array(64,-64,907,843),50342=>array(64,-64,908,843),50343=>array(64,-64,908,843),50344=>array(64,-69,923,843),50345=>array(64,-64,908,843),50346=>array(64,-64,908,843),50347=>array(64,-76,907,843),50348=>array(64,-62,907,843),50349=>array(64,-61,907,843),50350=>array(64,-69,922,843),50351=>array(64,-74,929,843),50352=>array(64,-69,927,843),50353=>array(64,-68,911,843),50354=>array(64,-72,929,843),50355=>array(64,-70,936,843),50356=>array(64,-66,908,843),50357=>array(64,-59,916,843),50358=>array(64,-60,928,843),50359=>array(64,-68,908,843),50360=>array(60,-69,907,842),50361=>array(65,-61,907,842),50362=>array(65,-61,907,842),50363=>array(65,-71,931,842),50364=>array(65,-46,907,842),50365=>array(65,-68,912,842),50366=>array(65,-76,907,842),50367=>array(65,-44,921,842),50368=>array(65,-62,917,842),50369=>array(65,-64,907,842),50370=>array(65,-64,908,842),50371=>array(65,-64,908,842),50372=>array(65,-69,923,842),50373=>array(65,-64,908,842),50374=>array(65,-64,908,842),50375=>array(65,-76,907,842),50376=>array(65,-62,907,842),50377=>array(65,-61,907,842),50378=>array(65,-69,922,842),50379=>array(65,-74,929,842),50380=>array(65,-69,927,842),50381=>array(65,-68,911,842),50382=>array(65,-72,929,842),50383=>array(65,-70,936,842),50384=>array(65,-66,908,842),50385=>array(65,-59,916,842),50386=>array(65,-60,928,842),50387=>array(65,-68,908,842),50388=>array(82,-64,924,822),50389=>array(79,-61,921,788),50390=>array(79,-61,921,788),50391=>array(79,-71,921,788),50392=>array(81,-46,922,788),50393=>array(79,-68,921,788),50394=>array(79,-74,921,788),50395=>array(79,-44,921,788),50396=>array(79,-62,921,788),50397=>array(79,-64,921,788),50398=>array(79,-64,921,788),50399=>array(79,-63,921,788),50400=>array(79,-68,921,788),50401=>array(79,-64,921,788),50402=>array(79,-63,921,788),50403=>array(79,-74,921,788),50404=>array(79,-62,921,788),50405=>array(79,-61,921,788),50406=>array(79,-69,921,788),50407=>array(79,-74,921,788),50408=>array(79,-69,921,788),50409=>array(79,-68,921,788),50410=>array(79,-72,921,788),50411=>array(79,-70,921,788),50412=>array(79,-66,921,788),50413=>array(79,-59,921,788),50414=>array(79,-60,921,788),50415=>array(79,-68,921,788),50416=>array(57,22,943,720),50417=>array(79,-61,922,794),50418=>array(79,-61,922,794),50419=>array(79,-71,922,794),50420=>array(79,-46,921,794),50421=>array(79,-68,922,794),50422=>array(79,-74,922,794),50423=>array(79,-44,922,794),50424=>array(79,-62,922,794),50425=>array(79,-64,922,794),50426=>array(79,-64,922,794),50427=>array(79,-63,922,794),50428=>array(79,-68,922,794),50429=>array(79,-64,922,794),50430=>array(79,-63,922,794),50431=>array(79,-74,922,794),50432=>array(79,-62,922,794),50433=>array(79,-61,922,794),50434=>array(79,-69,922,794),50435=>array(79,-74,922,794),50436=>array(79,-69,922,794),50437=>array(79,-68,922,794),50438=>array(79,-72,922,794),50439=>array(79,-70,922,794),50440=>array(79,-66,922,794),50441=>array(79,-59,922,794),50442=>array(79,-60,922,794),50443=>array(79,-68,922,794),50444=>array(67,-69,907,842),50445=>array(75,-61,907,842),50446=>array(75,-61,907,842),50447=>array(75,-71,931,842),50448=>array(65,-46,907,842),50449=>array(75,-68,912,842),50450=>array(75,-76,907,842),50451=>array(75,-44,921,842),50452=>array(75,-62,917,842),50453=>array(75,-64,907,842),50454=>array(75,-64,908,842),50455=>array(75,-64,908,842),50456=>array(75,-69,923,842),50457=>array(75,-64,908,842),50458=>array(75,-64,908,842),50459=>array(75,-76,907,842),50460=>array(75,-62,907,842),50461=>array(75,-61,907,842),50462=>array(75,-69,922,842),50463=>array(75,-74,929,842),50464=>array(75,-69,927,842),50465=>array(75,-68,911,842),50466=>array(75,-72,929,842),50467=>array(75,-70,936,842),50468=>array(75,-66,908,842),50469=>array(75,-59,916,842),50470=>array(75,-60,928,842),50471=>array(75,-68,908,842),50472=>array(48,-69,907,842),50473=>array(68,-61,907,842),50474=>array(68,-61,907,842),50475=>array(68,-71,931,842),50476=>array(68,-46,907,842),50477=>array(68,-68,912,842),50478=>array(68,-76,907,842),50479=>array(68,-44,921,842),50480=>array(68,-62,917,842),50481=>array(68,-64,907,842),50482=>array(68,-64,908,842),50483=>array(68,-64,908,842),50484=>array(68,-69,923,842),50485=>array(68,-64,908,842),50486=>array(68,-64,908,842),50487=>array(68,-76,907,842),50488=>array(68,-62,907,842),50489=>array(68,-61,907,842),50490=>array(68,-69,922,842),50491=>array(68,-74,929,842),50492=>array(68,-69,927,842),50493=>array(68,-68,911,842),50494=>array(68,-72,929,842),50495=>array(68,-70,936,842),50496=>array(68,-66,908,842),50497=>array(68,-59,916,842),50498=>array(68,-60,928,842),50499=>array(68,-68,908,842),50500=>array(108,-69,936,842),50501=>array(113,-59,936,842),50502=>array(113,-61,936,842),50503=>array(113,-71,936,842),50504=>array(100,-45,936,842),50505=>array(113,-69,936,842),50506=>array(113,-76,936,842),50507=>array(113,-44,936,842),50508=>array(113,-62,936,842),50509=>array(113,-64,936,842),50510=>array(113,-64,936,842),50511=>array(113,-64,936,842),50512=>array(113,-70,936,842),50513=>array(113,-64,936,842),50514=>array(113,-64,936,842),50515=>array(113,-76,936,842),50516=>array(113,-62,936,842),50517=>array(113,-61,936,842),50518=>array(113,-70,936,842),50519=>array(113,-74,936,842),50520=>array(113,-69,936,842),50521=>array(113,-67,936,842),50522=>array(113,-72,936,842),50523=>array(113,-71,936,842),50524=>array(113,-66,936,842),50525=>array(113,-59,936,842),50526=>array(113,-60,936,842),50527=>array(113,-69,936,842),50528=>array(105,-69,907,842),50529=>array(93,-61,907,842),50530=>array(93,-61,907,842),50531=>array(93,-71,931,842),50532=>array(80,-46,907,842),50533=>array(93,-68,912,842),50534=>array(93,-76,907,842),50535=>array(93,-44,921,842),50536=>array(93,-62,917,842),50537=>array(93,-64,907,842),50538=>array(93,-64,908,842),50539=>array(93,-64,908,842),50540=>array(93,-69,923,842),50541=>array(93,-64,908,842),50542=>array(93,-64,908,842),50543=>array(93,-76,907,842),50544=>array(93,-62,907,842),50545=>array(93,-61,907,842),50546=>array(93,-69,922,842),50547=>array(93,-74,929,842),50548=>array(93,-69,927,842),50549=>array(93,-68,911,842),50550=>array(93,-72,929,842),50551=>array(93,-70,936,842),50552=>array(93,-66,908,842),50553=>array(93,-59,916,842),50554=>array(93,-60,928,842),50555=>array(93,-68,908,842),50556=>array(123,-68,935,843),50557=>array(113,-59,936,842),50558=>array(113,-61,936,842),50559=>array(113,-71,936,842),50560=>array(100,-45,936,842),50561=>array(113,-69,936,842),50562=>array(113,-76,936,842),50563=>array(113,-44,936,842),50564=>array(113,-62,936,842),50565=>array(113,-64,936,842),50566=>array(113,-64,936,842),50567=>array(113,-64,936,842),50568=>array(113,-70,936,842),50569=>array(113,-64,936,842),50570=>array(113,-64,936,842),50571=>array(113,-76,936,842),50572=>array(113,-62,936,842),50573=>array(113,-61,936,842),50574=>array(113,-70,936,842),50575=>array(113,-74,936,842),50576=>array(113,-69,936,842),50577=>array(113,-67,936,842),50578=>array(113,-72,936,842),50579=>array(113,-71,936,842),50580=>array(113,-66,936,842),50581=>array(113,-59,936,842),50582=>array(113,-60,936,842),50583=>array(113,-69,936,842),50584=>array(105,-69,907,842),50585=>array(93,-61,907,842),50586=>array(93,-61,907,842),50587=>array(93,-71,931,842),50588=>array(85,-46,907,842),50589=>array(93,-68,912,842),50590=>array(93,-76,907,842),50591=>array(93,-44,921,842),50592=>array(93,-62,917,842),50593=>array(93,-64,907,842),50594=>array(93,-64,908,842),50595=>array(93,-64,908,842),50596=>array(93,-69,923,842),50597=>array(93,-64,908,842),50598=>array(93,-64,908,842),50599=>array(93,-76,907,842),50600=>array(93,-62,907,842),50601=>array(93,-61,907,842),50602=>array(93,-69,922,842),50603=>array(93,-74,929,842),50604=>array(93,-69,927,842),50605=>array(93,-68,911,842),50606=>array(93,-72,929,842),50607=>array(93,-70,936,842),50608=>array(93,-66,908,842),50609=>array(93,-59,916,842),50610=>array(93,-60,928,842),50611=>array(93,-68,908,842),50612=>array(93,-70,907,841),50613=>array(88,-61,907,841),50614=>array(88,-61,907,841),50615=>array(88,-71,931,841),50616=>array(85,-46,907,841),50617=>array(88,-68,912,841),50618=>array(88,-76,907,841),50619=>array(88,-44,921,841),50620=>array(88,-62,917,841),50621=>array(88,-64,907,841),50622=>array(88,-64,908,841),50623=>array(88,-64,908,841),50624=>array(88,-69,923,841),50625=>array(88,-64,908,841),50626=>array(88,-64,908,841),50627=>array(88,-76,906,841),50628=>array(88,-62,907,841),50629=>array(88,-61,907,841),50630=>array(88,-69,922,841),50631=>array(88,-74,929,841),50632=>array(88,-69,927,841),50633=>array(88,-68,911,841),50634=>array(88,-72,929,841),50635=>array(88,-70,936,841),50636=>array(88,-66,908,841),50637=>array(88,-59,916,841),50638=>array(88,-60,928,841),50639=>array(88,-68,908,841),50640=>array(85,-68,907,843),50641=>array(75,-61,907,843),50642=>array(75,-61,907,843),50643=>array(75,-71,931,843),50644=>array(76,-46,907,843),50645=>array(75,-68,912,843),50646=>array(75,-76,907,843),50647=>array(75,-44,921,843),50648=>array(75,-62,917,843),50649=>array(75,-64,907,843),50650=>array(75,-64,908,843),50651=>array(75,-64,908,843),50652=>array(75,-69,923,843),50653=>array(75,-64,908,843),50654=>array(75,-64,908,843),50655=>array(75,-76,907,843),50656=>array(75,-62,907,843),50657=>array(75,-61,907,843),50658=>array(75,-69,922,843),50659=>array(75,-74,929,843),50660=>array(75,-69,927,843),50661=>array(75,-68,911,843),50662=>array(75,-72,929,843),50663=>array(75,-70,936,843),50664=>array(75,-66,908,843),50665=>array(75,-59,916,843),50666=>array(75,-60,928,843),50667=>array(75,-68,908,843),50668=>array(93,-70,907,842),50669=>array(88,-61,908,842),50670=>array(88,-61,908,842),50671=>array(88,-71,931,842),50672=>array(85,-46,907,842),50673=>array(88,-68,912,842),50674=>array(88,-76,908,842),50675=>array(88,-44,921,842),50676=>array(88,-62,917,842),50677=>array(88,-64,908,842),50678=>array(88,-64,908,842),50679=>array(88,-64,908,842),50680=>array(88,-69,923,842),50681=>array(88,-64,908,842),50682=>array(88,-64,908,842),50683=>array(88,-76,908,842),50684=>array(88,-62,908,842),50685=>array(88,-61,908,842),50686=>array(88,-69,922,842),50687=>array(88,-74,929,842),50688=>array(88,-69,927,842),50689=>array(88,-68,911,842),50690=>array(88,-72,929,842),50691=>array(88,-70,936,842),50692=>array(88,-66,908,842),50693=>array(88,-59,916,842),50694=>array(88,-60,928,842),50695=>array(88,-68,908,842),50696=>array(85,-68,907,843),50697=>array(75,-61,907,843),50698=>array(75,-61,907,843),50699=>array(75,-71,931,843),50700=>array(76,-46,907,843),50701=>array(75,-68,912,843),50702=>array(75,-76,907,843),50703=>array(75,-44,921,843),50704=>array(75,-62,917,843),50705=>array(75,-64,907,843),50706=>array(75,-64,908,843),50707=>array(75,-64,908,843),50708=>array(75,-69,923,843),50709=>array(75,-64,908,843),50710=>array(75,-64,908,843),50711=>array(75,-76,907,843),50712=>array(75,-62,907,843),50713=>array(75,-61,907,843),50714=>array(75,-69,922,843),50715=>array(75,-74,929,843),50716=>array(75,-69,927,843),50717=>array(75,-68,911,843),50718=>array(75,-72,929,843),50719=>array(75,-70,936,843),50720=>array(75,-66,908,843),50721=>array(75,-59,916,843),50722=>array(75,-60,928,843),50723=>array(75,-68,908,843),50724=>array(62,4,938,763),50725=>array(79,-61,921,808),50726=>array(79,-61,921,808),50727=>array(79,-71,921,808),50728=>array(79,-46,922,803),50729=>array(79,-68,921,808),50730=>array(79,-74,921,808),50731=>array(79,-44,921,808),50732=>array(79,-62,921,808),50733=>array(79,-64,921,808),50734=>array(79,-64,921,808),50735=>array(79,-63,921,808),50736=>array(79,-68,921,808),50737=>array(79,-64,921,808),50738=>array(79,-63,921,808),50739=>array(79,-74,921,808),50740=>array(79,-62,921,808),50741=>array(79,-61,921,808),50742=>array(79,-69,921,808),50743=>array(79,-74,921,808),50744=>array(79,-69,921,808),50745=>array(79,-68,921,808),50746=>array(79,-72,921,808),50747=>array(79,-70,921,808),50748=>array(79,-66,921,808),50749=>array(79,-59,921,808),50750=>array(79,-60,921,808),50751=>array(79,-68,921,808),50752=>array(52,-69,936,842),50753=>array(77,-59,936,842),50754=>array(77,-61,936,842),50755=>array(77,-71,936,842),50756=>array(72,-45,936,842),50757=>array(77,-69,936,842),50758=>array(77,-76,936,842),50759=>array(77,-44,936,842),50760=>array(77,-62,936,842),50761=>array(77,-64,936,842),50762=>array(77,-64,936,842),50763=>array(77,-64,936,842),50764=>array(77,-70,936,842),50765=>array(77,-64,936,842),50766=>array(77,-64,936,842),50767=>array(77,-76,936,842),50768=>array(77,-62,936,842),50769=>array(77,-61,936,842),50770=>array(77,-70,936,842),50771=>array(77,-74,936,842),50772=>array(77,-69,936,842),50773=>array(77,-67,936,842),50774=>array(77,-72,936,842),50775=>array(77,-71,936,842),50776=>array(77,-66,936,842),50777=>array(77,-59,936,842),50778=>array(77,-60,936,842),50779=>array(77,-69,936,842),50780=>array(61,-69,907,842),50781=>array(62,-61,907,842),50782=>array(62,-61,907,842),50783=>array(62,-71,931,842),50784=>array(62,-46,907,842),50785=>array(62,-68,912,842),50786=>array(62,-76,907,842),50787=>array(62,-44,921,842),50788=>array(62,-62,917,842),50789=>array(62,-64,907,842),50790=>array(62,-64,908,842),50791=>array(62,-64,908,842),50792=>array(62,-69,923,842),50793=>array(62,-64,908,842),50794=>array(62,-64,908,842),50795=>array(62,-76,907,842),50796=>array(62,-62,907,842),50797=>array(62,-61,907,842),50798=>array(62,-69,922,842),50799=>array(62,-74,929,842),50800=>array(62,-69,927,842),50801=>array(62,-68,911,842),50802=>array(62,-72,929,842),50803=>array(62,-70,936,842),50804=>array(62,-66,908,842),50805=>array(62,-59,916,842),50806=>array(62,-60,928,842),50807=>array(62,-68,908,842),50808=>array(52,-69,907,842),50809=>array(64,-61,907,842),50810=>array(64,-61,907,842),50811=>array(64,-71,931,842),50812=>array(64,-46,907,842),50813=>array(64,-68,912,842),50814=>array(64,-76,907,842),50815=>array(64,-44,921,842),50816=>array(64,-62,917,842),50817=>array(64,-64,907,842),50818=>array(64,-64,908,842),50819=>array(64,-64,908,842),50820=>array(64,-69,923,842),50821=>array(64,-64,908,842),50822=>array(64,-64,908,842),50823=>array(64,-76,907,842),50824=>array(64,-62,907,842),50825=>array(64,-61,907,842),50826=>array(64,-69,922,842),50827=>array(64,-74,929,842),50828=>array(64,-69,927,842),50829=>array(64,-68,911,842),50830=>array(64,-72,929,842),50831=>array(64,-70,936,842),50832=>array(64,-66,908,842),50833=>array(64,-59,916,842),50834=>array(64,-60,928,842),50835=>array(64,-68,908,842),50836=>array(62,4,938,763),50837=>array(79,-61,922,808),50838=>array(79,-61,922,808),50839=>array(79,-71,922,808),50840=>array(79,-46,922,793),50841=>array(79,-68,922,808),50842=>array(79,-74,922,808),50843=>array(79,-44,922,808),50844=>array(79,-62,922,808),50845=>array(79,-64,922,808),50846=>array(79,-64,922,808),50847=>array(79,-63,922,808),50848=>array(79,-68,922,808),50849=>array(79,-64,922,808),50850=>array(79,-63,922,808),50851=>array(79,-74,922,808),50852=>array(79,-62,922,808),50853=>array(79,-61,922,808),50854=>array(79,-69,922,808),50855=>array(79,-74,922,808),50856=>array(79,-69,922,808),50857=>array(79,-68,922,808),50858=>array(79,-72,922,808),50859=>array(79,-70,922,808),50860=>array(79,-66,922,808),50861=>array(79,-59,922,808),50862=>array(79,-60,922,808),50863=>array(79,-68,922,808),50864=>array(79,-64,921,793),50865=>array(79,-61,921,808),50866=>array(79,-61,921,808),50867=>array(79,-71,921,808),50868=>array(79,-46,921,793),50869=>array(79,-68,921,808),50870=>array(79,-74,921,808),50871=>array(79,-44,921,808),50872=>array(79,-62,921,808),50873=>array(79,-64,921,808),50874=>array(79,-64,921,808),50875=>array(79,-63,921,808),50876=>array(79,-68,921,808),50877=>array(79,-64,921,808),50878=>array(79,-63,921,808),50879=>array(79,-74,921,808),50880=>array(79,-62,921,808),50881=>array(79,-61,921,808),50882=>array(79,-69,921,808),50883=>array(79,-74,921,808),50884=>array(79,-69,921,808),50885=>array(79,-68,921,808),50886=>array(79,-72,921,808),50887=>array(79,-70,921,808),50888=>array(79,-66,921,808),50889=>array(79,-59,921,808),50890=>array(79,-60,921,808),50891=>array(79,-68,921,808),50892=>array(73,-70,907,841),50893=>array(75,-61,908,841),50894=>array(75,-61,908,841),50895=>array(75,-71,931,841),50896=>array(76,-46,907,841),50897=>array(75,-68,912,841),50898=>array(75,-76,908,841),50899=>array(75,-44,921,841),50900=>array(75,-62,917,841),50901=>array(75,-64,908,841),50902=>array(75,-64,908,841),50903=>array(75,-64,908,841),50904=>array(75,-69,923,841),50905=>array(75,-64,908,841),50906=>array(75,-64,908,841),50907=>array(75,-76,908,841),50908=>array(75,-62,908,841),50909=>array(75,-61,908,841),50910=>array(75,-69,922,841),50911=>array(75,-74,929,841),50912=>array(75,-69,927,841),50913=>array(75,-68,911,841),50914=>array(75,-72,929,841),50915=>array(75,-70,936,841),50916=>array(75,-66,908,841),50917=>array(75,-59,916,841),50918=>array(75,-60,928,841),50919=>array(75,-68,908,841),50920=>array(53,-68,907,843),50921=>array(70,-61,907,843),50922=>array(70,-61,907,843),50923=>array(70,-71,931,843),50924=>array(61,-46,907,843),50925=>array(70,-68,912,843),50926=>array(70,-76,907,843),50927=>array(70,-44,921,843),50928=>array(70,-62,917,843),50929=>array(70,-64,907,843),50930=>array(70,-64,908,843),50931=>array(70,-64,908,843),50932=>array(70,-69,923,843),50933=>array(70,-64,908,843),50934=>array(70,-64,908,843),50935=>array(70,-76,907,843),50936=>array(70,-62,907,843),50937=>array(70,-61,907,843),50938=>array(70,-69,922,843),50939=>array(70,-74,929,843),50940=>array(70,-69,927,843),50941=>array(70,-68,911,843),50942=>array(70,-72,929,843),50943=>array(70,-70,936,843),50944=>array(70,-66,908,843),50945=>array(70,-59,916,843),50946=>array(70,-60,928,843),50947=>array(70,-68,908,843),50948=>array(70,-69,907,842),50949=>array(65,-61,907,842),50950=>array(65,-61,907,842),50951=>array(65,-71,931,842),50952=>array(63,-46,907,842),50953=>array(65,-68,912,842),50954=>array(65,-76,907,842),50955=>array(65,-44,921,842),50956=>array(65,-62,917,842),50957=>array(65,-64,907,842),50958=>array(65,-64,908,842),50959=>array(65,-64,908,842),50960=>array(65,-69,923,842),50961=>array(65,-64,908,842),50962=>array(65,-64,908,842),50963=>array(65,-76,907,842),50964=>array(65,-62,907,842),50965=>array(65,-61,907,842),50966=>array(65,-69,922,842),50967=>array(65,-74,929,842),50968=>array(65,-69,927,842),50969=>array(65,-68,911,842),50970=>array(65,-72,929,842),50971=>array(65,-70,936,842),50972=>array(65,-66,908,842),50973=>array(65,-59,916,842),50974=>array(65,-60,928,842),50975=>array(65,-68,908,842),50976=>array(71,-64,928,793),50977=>array(79,-61,921,808),50978=>array(79,-61,921,808),50979=>array(79,-71,921,808),50980=>array(79,-46,921,793),50981=>array(79,-68,921,808),50982=>array(79,-74,921,808),50983=>array(79,-44,921,808),50984=>array(79,-62,921,808),50985=>array(79,-64,921,808),50986=>array(79,-64,921,808),50987=>array(79,-63,921,808),50988=>array(79,-68,921,808),50989=>array(79,-64,921,808),50990=>array(79,-63,921,808),50991=>array(79,-74,921,808),50992=>array(79,-62,921,808),50993=>array(79,-61,921,808),50994=>array(79,-69,921,808),50995=>array(79,-74,921,808),50996=>array(79,-69,921,808),50997=>array(79,-68,921,808),50998=>array(79,-72,921,808),50999=>array(79,-70,921,808),51000=>array(79,-66,921,808),51001=>array(79,-59,921,808),51002=>array(79,-60,921,808),51003=>array(79,-68,921,808),51004=>array(57,42,943,733),51005=>array(79,-61,921,808),51006=>array(79,-61,921,808),51007=>array(79,-71,921,808),51008=>array(79,-46,921,793),51009=>array(79,-68,921,808),51010=>array(79,-74,921,808),51011=>array(79,-44,921,808),51012=>array(79,-62,921,808),51013=>array(79,-64,921,808),51014=>array(79,-64,921,808),51015=>array(79,-63,921,808),51016=>array(79,-68,921,808),51017=>array(79,-64,921,808),51018=>array(79,-63,921,808),51019=>array(79,-74,921,808),51020=>array(79,-62,921,808),51021=>array(79,-61,921,808),51022=>array(79,-69,921,808),51023=>array(79,-74,921,808),51024=>array(79,-69,921,808),51025=>array(79,-68,921,808),51026=>array(79,-72,921,808),51027=>array(79,-70,921,808),51028=>array(79,-66,921,808),51029=>array(79,-59,921,808),51030=>array(79,-60,921,808),51031=>array(79,-68,921,808),51032=>array(67,-69,907,842),51033=>array(75,-61,907,842),51034=>array(75,-61,907,842),51035=>array(75,-71,931,842),51036=>array(66,-46,907,842),51037=>array(75,-68,912,842),51038=>array(75,-76,907,842),51039=>array(75,-44,921,842),51040=>array(75,-62,917,842),51041=>array(75,-64,907,842),51042=>array(75,-64,908,842),51043=>array(75,-64,908,842),51044=>array(75,-69,923,842),51045=>array(75,-64,908,842),51046=>array(75,-64,908,842),51047=>array(75,-76,907,842),51048=>array(75,-62,907,842),51049=>array(75,-61,907,842),51050=>array(75,-69,922,842),51051=>array(75,-74,929,842),51052=>array(75,-69,927,842),51053=>array(75,-68,911,842),51054=>array(75,-72,929,842),51055=>array(75,-70,936,842),51056=>array(75,-66,908,842),51057=>array(75,-59,916,842),51058=>array(75,-60,928,842),51059=>array(75,-68,908,842),51060=>array(134,-69,906,842),51061=>array(119,-61,907,842),51062=>array(119,-61,907,842),51063=>array(119,-71,931,842),51064=>array(108,-46,907,842),51065=>array(119,-68,912,842),51066=>array(119,-76,907,842),51067=>array(119,-44,921,842),51068=>array(119,-62,917,842),51069=>array(119,-64,907,842),51070=>array(119,-64,908,842),51071=>array(119,-64,908,842),51072=>array(119,-69,923,842),51073=>array(119,-64,908,842),51074=>array(119,-64,908,842),51075=>array(119,-76,907,842),51076=>array(119,-62,907,842),51077=>array(119,-61,907,842),51078=>array(119,-69,922,842),51079=>array(119,-74,929,842),51080=>array(119,-69,927,842),51081=>array(119,-68,911,842),51082=>array(119,-72,929,842),51083=>array(119,-70,936,842),51084=>array(119,-66,908,842),51085=>array(119,-59,916,842),51086=>array(119,-60,928,842),51087=>array(119,-68,908,842),51088=>array(73,-69,936,842),51089=>array(83,-59,936,842),51090=>array(83,-61,936,842),51091=>array(83,-71,936,842),51092=>array(71,-45,936,842),51093=>array(83,-69,936,842),51094=>array(83,-76,936,842),51095=>array(83,-44,936,842),51096=>array(83,-62,936,842),51097=>array(83,-64,936,842),51098=>array(83,-64,936,842),51099=>array(83,-64,936,842),51100=>array(83,-70,936,842),51101=>array(83,-64,936,842),51102=>array(83,-64,936,842),51103=>array(83,-76,936,842),51104=>array(83,-62,936,842),51105=>array(83,-61,936,842),51106=>array(83,-70,936,842),51107=>array(83,-74,936,842),51108=>array(83,-69,936,842),51109=>array(83,-67,936,842),51110=>array(83,-72,936,842),51111=>array(83,-71,936,842),51112=>array(83,-66,936,842),51113=>array(83,-59,936,842),51114=>array(83,-60,936,842),51115=>array(83,-69,936,842),51116=>array(50,-69,907,842),51117=>array(84,-61,907,842),51118=>array(84,-61,907,842),51119=>array(84,-71,931,842),51120=>array(76,-46,907,842),51121=>array(84,-68,912,842),51122=>array(84,-76,907,842),51123=>array(84,-44,921,842),51124=>array(84,-62,917,842),51125=>array(84,-64,907,842),51126=>array(84,-64,908,842),51127=>array(84,-64,908,842),51128=>array(84,-69,923,842),51129=>array(84,-64,908,842),51130=>array(84,-64,908,842),51131=>array(84,-76,907,842),51132=>array(84,-62,907,842),51133=>array(84,-61,907,842),51134=>array(84,-69,922,842),51135=>array(84,-74,929,842),51136=>array(84,-69,927,842),51137=>array(84,-68,911,842),51138=>array(84,-72,929,842),51139=>array(84,-70,936,842),51140=>array(84,-66,908,842),51141=>array(84,-59,916,842),51142=>array(84,-60,928,842),51143=>array(84,-68,908,842),51144=>array(73,-68,935,843),51145=>array(83,-59,936,842),51146=>array(83,-61,936,842),51147=>array(83,-71,936,842),51148=>array(71,-45,936,842),51149=>array(83,-69,936,842),51150=>array(83,-76,936,842),51151=>array(83,-44,936,842),51152=>array(83,-62,936,842),51153=>array(83,-64,936,842),51154=>array(83,-64,936,842),51155=>array(83,-64,936,842),51156=>array(83,-70,936,842),51157=>array(83,-64,936,842),51158=>array(83,-64,936,842),51159=>array(83,-76,936,842),51160=>array(83,-62,936,842),51161=>array(83,-61,936,842),51162=>array(83,-70,936,842),51163=>array(83,-74,936,842),51164=>array(83,-69,936,842),51165=>array(83,-67,936,842),51166=>array(83,-72,936,842),51167=>array(83,-71,936,842),51168=>array(83,-66,936,842),51169=>array(83,-59,936,842),51170=>array(83,-60,936,842),51171=>array(83,-69,936,842),51172=>array(50,-69,907,842),51173=>array(84,-61,907,842),51174=>array(84,-61,907,842),51175=>array(84,-71,931,842),51176=>array(76,-46,907,842),51177=>array(84,-68,912,842),51178=>array(84,-76,907,842),51179=>array(84,-44,921,842),51180=>array(84,-62,917,842),51181=>array(84,-64,907,842),51182=>array(84,-64,908,842),51183=>array(84,-64,908,842),51184=>array(84,-69,923,842),51185=>array(84,-64,908,842),51186=>array(84,-64,908,842),51187=>array(84,-76,907,842),51188=>array(84,-62,907,842),51189=>array(84,-61,907,842),51190=>array(84,-69,922,842),51191=>array(84,-74,929,842),51192=>array(84,-69,927,842),51193=>array(84,-68,911,842),51194=>array(84,-72,929,842),51195=>array(84,-70,936,842),51196=>array(84,-66,908,842),51197=>array(84,-59,916,842),51198=>array(84,-60,928,842),51199=>array(84,-68,908,842),51200=>array(68,-70,907,841),51201=>array(83,-61,907,841),51202=>array(83,-61,907,841),51203=>array(83,-71,931,841),51204=>array(71,-46,907,841),51205=>array(83,-68,912,841),51206=>array(83,-76,907,841),51207=>array(83,-44,921,841),51208=>array(83,-62,917,841),51209=>array(83,-64,907,841),51210=>array(83,-64,908,841),51211=>array(83,-64,908,841),51212=>array(83,-69,923,841),51213=>array(83,-64,908,841),51214=>array(83,-64,908,841),51215=>array(83,-76,906,841),51216=>array(83,-62,907,841),51217=>array(83,-61,907,841),51218=>array(83,-69,922,841),51219=>array(83,-74,929,841),51220=>array(83,-69,927,841),51221=>array(83,-68,911,841),51222=>array(83,-72,929,841),51223=>array(83,-70,936,841),51224=>array(83,-66,908,841),51225=>array(83,-59,916,841),51226=>array(83,-60,928,841),51227=>array(83,-68,908,841),51228=>array(50,-69,907,842),51229=>array(64,-61,907,843),51230=>array(64,-61,907,843),51231=>array(64,-71,931,843),51232=>array(56,-46,907,843),51233=>array(64,-68,912,843),51234=>array(64,-76,907,843),51235=>array(64,-44,921,843),51236=>array(64,-62,917,843),51237=>array(64,-64,907,843),51238=>array(64,-64,908,843),51239=>array(64,-64,908,843),51240=>array(64,-69,923,843),51241=>array(64,-64,908,843),51242=>array(64,-64,908,843),51243=>array(64,-76,907,843),51244=>array(64,-62,907,843),51245=>array(64,-61,907,843),51246=>array(64,-69,922,843),51247=>array(64,-74,929,843),51248=>array(64,-69,927,843),51249=>array(64,-68,911,843),51250=>array(64,-72,929,843),51251=>array(64,-70,936,843),51252=>array(64,-66,908,843),51253=>array(64,-59,916,843),51254=>array(64,-60,928,843),51255=>array(64,-68,908,843),51256=>array(58,-70,907,842),51257=>array(63,-61,908,842),51258=>array(63,-61,908,842),51259=>array(63,-71,931,842),51260=>array(70,-46,907,842),51261=>array(63,-68,912,842),51262=>array(63,-76,908,842),51263=>array(63,-44,921,842),51264=>array(63,-62,917,842),51265=>array(63,-64,908,842),51266=>array(63,-64,908,842),51267=>array(63,-64,908,842),51268=>array(63,-69,923,842),51269=>array(63,-64,908,842),51270=>array(63,-64,908,842),51271=>array(63,-76,908,842),51272=>array(63,-62,908,842),51273=>array(63,-61,908,842),51274=>array(63,-69,922,842),51275=>array(63,-74,929,842),51276=>array(63,-69,927,842),51277=>array(63,-68,911,842),51278=>array(63,-72,929,842),51279=>array(63,-70,936,842),51280=>array(63,-66,908,842),51281=>array(63,-59,916,842),51282=>array(63,-60,928,842),51283=>array(63,-68,908,842),51284=>array(38,-69,908,842),51285=>array(62,-61,907,843),51286=>array(62,-61,907,843),51287=>array(62,-71,931,843),51288=>array(53,-46,907,843),51289=>array(62,-68,912,843),51290=>array(62,-76,907,843),51291=>array(62,-44,921,843),51292=>array(62,-62,917,843),51293=>array(62,-64,907,843),51294=>array(62,-64,908,843),51295=>array(62,-64,908,843),51296=>array(62,-69,923,843),51297=>array(62,-64,908,843),51298=>array(62,-64,908,843),51299=>array(62,-76,907,843),51300=>array(62,-62,907,843),51301=>array(62,-61,907,843),51302=>array(62,-69,922,843),51303=>array(62,-74,929,843),51304=>array(62,-69,927,843),51305=>array(62,-68,911,843),51306=>array(62,-72,929,843),51307=>array(62,-70,936,843),51308=>array(62,-66,908,843),51309=>array(62,-59,916,843),51310=>array(62,-60,928,843),51311=>array(62,-68,908,843),51312=>array(62,22,943,742),51313=>array(79,-61,921,798),51314=>array(79,-61,921,798),51315=>array(79,-71,921,798),51316=>array(79,-46,921,798),51317=>array(79,-68,921,798),51318=>array(79,-74,921,798),51319=>array(79,-44,921,798),51320=>array(79,-62,921,798),51321=>array(79,-64,921,798),51322=>array(79,-64,921,798),51323=>array(79,-63,921,798),51324=>array(79,-68,921,798),51325=>array(79,-64,921,798),51326=>array(79,-63,921,798),51327=>array(79,-74,921,798),51328=>array(79,-62,921,798),51329=>array(79,-61,921,798),51330=>array(79,-69,921,798),51331=>array(79,-74,921,798),51332=>array(79,-69,921,798),51333=>array(79,-68,921,798),51334=>array(79,-72,921,798),51335=>array(79,-70,921,798),51336=>array(79,-66,921,798),51337=>array(79,-59,921,798),51338=>array(79,-60,921,798),51339=>array(79,-68,921,798),51340=>array(64,-69,936,842),51341=>array(77,-59,936,842),51342=>array(77,-61,936,842),51343=>array(77,-71,936,842),51344=>array(72,-45,936,842),51345=>array(77,-69,936,842),51346=>array(77,-76,936,842),51347=>array(77,-44,936,842),51348=>array(77,-62,936,842),51349=>array(77,-64,936,842),51350=>array(77,-64,936,842),51351=>array(77,-64,936,842),51352=>array(77,-70,936,842),51353=>array(77,-64,936,842),51354=>array(77,-64,936,842),51355=>array(77,-76,936,842),51356=>array(77,-62,936,842),51357=>array(77,-61,936,842),51358=>array(77,-70,936,842),51359=>array(77,-74,936,842),51360=>array(77,-69,936,842),51361=>array(77,-67,936,842),51362=>array(77,-72,936,842),51363=>array(77,-71,936,842),51364=>array(77,-66,936,842),51365=>array(77,-59,936,842),51366=>array(77,-60,936,842),51367=>array(77,-69,936,842),51368=>array(49,-69,907,842),51369=>array(77,-61,907,842),51370=>array(77,-61,907,842),51371=>array(77,-71,931,842),51372=>array(72,-46,907,842),51373=>array(77,-68,912,842),51374=>array(77,-76,907,842),51375=>array(77,-44,921,842),51376=>array(77,-62,917,842),51377=>array(77,-64,907,842),51378=>array(77,-64,908,842),51379=>array(77,-64,908,842),51380=>array(77,-69,923,842),51381=>array(77,-64,908,842),51382=>array(77,-64,908,842),51383=>array(77,-76,907,842),51384=>array(77,-62,907,842),51385=>array(77,-61,907,842),51386=>array(77,-69,922,842),51387=>array(77,-74,929,842),51388=>array(77,-69,927,842),51389=>array(77,-68,911,842),51390=>array(77,-72,929,842),51391=>array(77,-70,936,842),51392=>array(77,-66,908,842),51393=>array(77,-59,916,842),51394=>array(77,-60,928,842),51395=>array(77,-68,908,842),51396=>array(52,-69,907,842),51397=>array(65,-61,907,842),51398=>array(65,-61,907,842),51399=>array(65,-71,931,842),51400=>array(65,-46,907,842),51401=>array(65,-68,912,842),51402=>array(65,-76,907,842),51403=>array(65,-44,921,842),51404=>array(65,-62,917,842),51405=>array(65,-64,907,842),51406=>array(65,-64,908,842),51407=>array(65,-64,908,842),51408=>array(65,-69,923,842),51409=>array(65,-64,908,842),51410=>array(65,-64,908,842),51411=>array(65,-76,907,842),51412=>array(65,-62,907,842),51413=>array(65,-61,907,842),51414=>array(65,-69,922,842),51415=>array(65,-74,929,842),51416=>array(65,-69,927,842),51417=>array(65,-68,911,842),51418=>array(65,-72,929,842),51419=>array(65,-70,936,842),51420=>array(65,-66,908,842),51421=>array(65,-59,916,842),51422=>array(65,-60,928,842),51423=>array(65,-68,908,842),51424=>array(62,22,938,742),51425=>array(79,-61,922,798),51426=>array(79,-61,922,798),51427=>array(79,-71,922,798),51428=>array(79,-46,922,798),51429=>array(79,-68,922,798),51430=>array(79,-74,922,798),51431=>array(79,-44,922,798),51432=>array(79,-62,922,798),51433=>array(79,-64,922,798),51434=>array(79,-64,922,798),51435=>array(79,-63,922,798),51436=>array(79,-68,922,798),51437=>array(79,-64,922,798),51438=>array(79,-63,922,798),51439=>array(79,-74,922,798),51440=>array(79,-62,922,798),51441=>array(79,-61,922,798),51442=>array(79,-69,922,798),51443=>array(79,-74,922,798),51444=>array(79,-69,922,798),51445=>array(79,-68,922,798),51446=>array(79,-72,922,798),51447=>array(79,-70,922,798),51448=>array(79,-66,922,798),51449=>array(79,-59,922,798),51450=>array(79,-60,922,798),51451=>array(79,-68,922,798),51452=>array(79,-64,921,798),51453=>array(79,-61,921,798),51454=>array(79,-61,921,798),51455=>array(79,-71,921,798),51456=>array(79,-46,921,798),51457=>array(79,-68,921,798),51458=>array(79,-74,921,798),51459=>array(79,-44,921,798),51460=>array(79,-62,921,798),51461=>array(79,-64,921,798),51462=>array(79,-64,921,798),51463=>array(79,-63,921,798),51464=>array(79,-68,921,798),51465=>array(79,-64,921,798),51466=>array(79,-63,921,798),51467=>array(79,-74,921,798),51468=>array(79,-62,921,798),51469=>array(79,-61,921,798),51470=>array(79,-69,921,798),51471=>array(79,-74,921,798),51472=>array(79,-69,921,798),51473=>array(79,-68,921,798),51474=>array(79,-72,921,798),51475=>array(79,-70,921,798),51476=>array(79,-66,921,798),51477=>array(79,-59,921,798),51478=>array(79,-60,921,798),51479=>array(79,-68,921,798),51480=>array(70,-70,907,841),51481=>array(73,-61,910,841),51482=>array(73,-61,910,841),51483=>array(73,-71,931,841),51484=>array(76,-46,909,840),51485=>array(73,-68,912,841),51486=>array(73,-76,910,841),51487=>array(73,-44,921,841),51488=>array(73,-62,917,841),51489=>array(73,-64,910,841),51490=>array(73,-64,910,841),51491=>array(73,-64,910,841),51492=>array(73,-69,923,841),51493=>array(73,-64,910,841),51494=>array(73,-64,910,841),51495=>array(73,-76,910,841),51496=>array(73,-62,910,841),51497=>array(73,-61,910,841),51498=>array(73,-69,922,841),51499=>array(73,-74,929,841),51500=>array(73,-69,927,841),51501=>array(73,-68,911,841),51502=>array(73,-72,929,841),51503=>array(73,-70,936,841),51504=>array(73,-66,910,841),51505=>array(73,-59,916,841),51506=>array(73,-60,928,841),51507=>array(73,-68,910,841),51508=>array(63,-68,907,843),51509=>array(70,-61,907,843),51510=>array(70,-61,907,843),51511=>array(70,-71,931,843),51512=>array(76,-46,907,843),51513=>array(70,-68,912,843),51514=>array(70,-76,907,843),51515=>array(70,-44,921,843),51516=>array(70,-62,917,843),51517=>array(70,-64,907,843),51518=>array(70,-64,908,843),51519=>array(70,-64,908,843),51520=>array(70,-69,923,843),51521=>array(70,-64,908,843),51522=>array(70,-64,908,843),51523=>array(70,-76,907,843),51524=>array(70,-62,907,843),51525=>array(70,-61,907,843),51526=>array(70,-69,922,843),51527=>array(70,-74,929,843),51528=>array(70,-69,927,843),51529=>array(70,-68,911,843),51530=>array(70,-72,929,843),51531=>array(70,-70,936,843),51532=>array(70,-66,908,843),51533=>array(70,-59,916,843),51534=>array(70,-60,928,843),51535=>array(70,-68,908,843),51536=>array(70,-69,907,842),51537=>array(76,-61,907,842),51538=>array(76,-61,907,842),51539=>array(76,-71,931,842),51540=>array(74,-46,907,842),51541=>array(76,-68,912,842),51542=>array(76,-76,907,842),51543=>array(76,-44,921,842),51544=>array(76,-62,917,842),51545=>array(76,-64,907,842),51546=>array(76,-64,908,842),51547=>array(76,-64,908,842),51548=>array(76,-69,923,842),51549=>array(76,-64,908,842),51550=>array(76,-64,908,842),51551=>array(76,-76,906,842),51552=>array(76,-62,907,842),51553=>array(76,-61,907,842),51554=>array(76,-69,922,842),51555=>array(76,-74,929,842),51556=>array(76,-69,927,842),51557=>array(76,-68,911,842),51558=>array(76,-72,929,842),51559=>array(76,-70,936,842),51560=>array(76,-66,908,842),51561=>array(76,-59,916,842),51562=>array(76,-60,928,842),51563=>array(76,-68,908,842),51564=>array(87,-64,928,798),51565=>array(79,-61,921,798),51566=>array(79,-61,921,798),51567=>array(79,-71,921,798),51568=>array(81,-46,922,798),51569=>array(79,-68,921,798),51570=>array(79,-74,921,798),51571=>array(79,-44,921,798),51572=>array(79,-62,921,798),51573=>array(79,-64,921,798),51574=>array(79,-64,921,798),51575=>array(79,-63,921,798),51576=>array(79,-68,921,798),51577=>array(79,-64,921,798),51578=>array(79,-63,921,798),51579=>array(79,-74,921,798),51580=>array(79,-62,921,798),51581=>array(79,-61,921,798),51582=>array(79,-69,921,798),51583=>array(79,-74,921,798),51584=>array(79,-69,921,798),51585=>array(79,-68,921,798),51586=>array(79,-72,921,798),51587=>array(79,-70,921,798),51588=>array(79,-66,921,798),51589=>array(79,-59,921,798),51590=>array(79,-60,921,798),51591=>array(79,-68,921,798),51592=>array(57,52,943,717),51593=>array(79,-61,922,798),51594=>array(79,-61,922,798),51595=>array(79,-71,922,798),51596=>array(79,-46,922,798),51597=>array(79,-68,922,798),51598=>array(79,-74,922,798),51599=>array(79,-44,922,798),51600=>array(79,-62,922,798),51601=>array(79,-64,922,798),51602=>array(79,-64,922,798),51603=>array(79,-63,922,798),51604=>array(79,-68,922,798),51605=>array(79,-64,922,798),51606=>array(79,-63,922,798),51607=>array(79,-74,922,798),51608=>array(79,-62,922,798),51609=>array(79,-61,922,798),51610=>array(79,-69,922,798),51611=>array(79,-74,922,798),51612=>array(79,-69,922,798),51613=>array(79,-68,922,798),51614=>array(79,-72,922,798),51615=>array(79,-70,922,798),51616=>array(79,-66,922,798),51617=>array(79,-59,922,798),51618=>array(79,-60,922,798),51619=>array(79,-68,922,798),51620=>array(78,-69,907,842),51621=>array(65,-61,907,842),51622=>array(65,-61,907,842),51623=>array(65,-71,931,842),51624=>array(65,-46,907,842),51625=>array(65,-68,912,842),51626=>array(65,-76,907,842),51627=>array(65,-44,921,842),51628=>array(65,-62,917,842),51629=>array(65,-64,907,842),51630=>array(65,-64,908,842),51631=>array(65,-64,908,842),51632=>array(65,-69,923,842),51633=>array(65,-64,908,842),51634=>array(65,-64,908,842),51635=>array(65,-76,907,842),51636=>array(65,-62,907,842),51637=>array(65,-61,907,842),51638=>array(65,-69,922,842),51639=>array(65,-74,929,842),51640=>array(65,-69,927,842),51641=>array(65,-68,911,842),51642=>array(65,-72,929,842),51643=>array(65,-70,936,842),51644=>array(65,-66,908,842),51645=>array(65,-59,916,842),51646=>array(65,-60,928,842),51647=>array(65,-68,908,842),51648=>array(116,-69,907,842),51649=>array(123,-61,907,842),51650=>array(123,-61,907,842),51651=>array(123,-71,931,842),51652=>array(105,-46,907,842),51653=>array(123,-68,912,842),51654=>array(123,-76,907,842),51655=>array(123,-44,921,842),51656=>array(123,-62,917,842),51657=>array(123,-64,907,842),51658=>array(123,-64,908,842),51659=>array(123,-64,908,842),51660=>array(123,-69,923,842),51661=>array(123,-64,908,842),51662=>array(123,-64,908,842),51663=>array(123,-76,907,842),51664=>array(123,-62,907,842),51665=>array(123,-61,907,842),51666=>array(123,-69,922,842),51667=>array(123,-74,929,842),51668=>array(123,-69,927,842),51669=>array(123,-68,911,842),51670=>array(123,-72,929,842),51671=>array(123,-70,936,842),51672=>array(123,-66,908,842),51673=>array(123,-59,916,842),51674=>array(123,-60,928,842),51675=>array(123,-68,908,842),51676=>array(36,-69,935,842),51677=>array(59,-59,936,842),51678=>array(59,-61,936,842),51679=>array(59,-71,936,842),51680=>array(50,-45,936,842),51681=>array(59,-69,936,842),51682=>array(59,-76,936,842),51683=>array(59,-44,936,842),51684=>array(59,-62,936,842),51685=>array(59,-64,936,842),51686=>array(59,-64,936,842),51687=>array(59,-64,936,842),51688=>array(59,-70,936,842),51689=>array(59,-64,936,842),51690=>array(59,-64,936,842),51691=>array(59,-76,936,842),51692=>array(59,-62,936,842),51693=>array(59,-61,936,842),51694=>array(59,-70,936,842),51695=>array(59,-74,936,842),51696=>array(59,-69,936,842),51697=>array(59,-67,936,842),51698=>array(59,-72,936,842),51699=>array(59,-71,936,842),51700=>array(59,-66,936,842),51701=>array(59,-59,936,842),51702=>array(59,-60,936,842),51703=>array(59,-69,936,842),51704=>array(33,-69,907,842),51705=>array(44,-61,907,842),51706=>array(44,-61,907,842),51707=>array(44,-71,931,842),51708=>array(52,-46,907,842),51709=>array(44,-68,912,842),51710=>array(44,-76,907,842),51711=>array(44,-44,921,842),51712=>array(44,-62,917,842),51713=>array(44,-64,907,842),51714=>array(44,-64,908,842),51715=>array(44,-64,908,842),51716=>array(44,-69,923,842),51717=>array(44,-64,908,842),51718=>array(44,-64,908,842),51719=>array(44,-76,907,842),51720=>array(44,-62,907,842),51721=>array(44,-61,907,842),51722=>array(44,-69,922,842),51723=>array(44,-74,929,842),51724=>array(44,-69,927,842),51725=>array(44,-68,911,842),51726=>array(44,-72,929,842),51727=>array(44,-70,936,842),51728=>array(44,-66,908,842),51729=>array(44,-59,916,842),51730=>array(44,-60,928,842),51731=>array(44,-68,908,842),51732=>array(36,-68,935,843),51733=>array(59,-59,936,842),51734=>array(59,-61,936,842),51735=>array(59,-71,936,842),51736=>array(50,-45,936,842),51737=>array(59,-69,936,842),51738=>array(59,-76,936,842),51739=>array(59,-44,936,842),51740=>array(59,-62,936,842),51741=>array(59,-64,936,842),51742=>array(59,-64,936,842),51743=>array(59,-64,936,842),51744=>array(59,-70,936,842),51745=>array(59,-64,936,842),51746=>array(59,-64,936,842),51747=>array(59,-76,936,842),51748=>array(59,-62,936,842),51749=>array(59,-61,936,842),51750=>array(59,-70,936,842),51751=>array(59,-74,936,842),51752=>array(59,-69,936,842),51753=>array(59,-67,936,842),51754=>array(59,-72,936,842),51755=>array(59,-71,936,842),51756=>array(59,-66,936,842),51757=>array(59,-59,936,842),51758=>array(59,-60,936,842),51759=>array(59,-69,936,842),51760=>array(33,-69,907,842),51761=>array(44,-61,907,842),51762=>array(44,-61,907,842),51763=>array(44,-71,931,842),51764=>array(52,-46,907,842),51765=>array(44,-68,912,842),51766=>array(44,-76,907,842),51767=>array(44,-44,921,842),51768=>array(44,-62,917,842),51769=>array(44,-64,907,842),51770=>array(44,-64,908,842),51771=>array(44,-64,908,842),51772=>array(44,-69,923,842),51773=>array(44,-64,908,842),51774=>array(44,-64,908,842),51775=>array(44,-76,907,842),51776=>array(44,-62,907,842),51777=>array(44,-61,907,842),51778=>array(44,-69,922,842),51779=>array(44,-74,929,842),51780=>array(44,-69,927,842),51781=>array(44,-68,911,842),51782=>array(44,-72,929,842),51783=>array(44,-70,936,842),51784=>array(44,-66,908,842),51785=>array(44,-59,916,842),51786=>array(44,-60,928,842),51787=>array(44,-68,908,842),51788=>array(41,-70,907,841),51789=>array(64,-61,907,841),51790=>array(64,-61,907,841),51791=>array(64,-71,931,841),51792=>array(55,-46,907,841),51793=>array(64,-68,912,841),51794=>array(64,-76,907,841),51795=>array(64,-44,921,841),51796=>array(64,-62,917,841),51797=>array(64,-64,907,841),51798=>array(64,-64,908,841),51799=>array(64,-64,908,841),51800=>array(64,-69,923,841),51801=>array(64,-64,908,841),51802=>array(64,-64,908,841),51803=>array(64,-76,906,841),51804=>array(64,-62,907,841),51805=>array(64,-61,907,841),51806=>array(64,-69,922,841),51807=>array(64,-74,929,841),51808=>array(64,-69,927,841),51809=>array(64,-68,911,841),51810=>array(64,-72,929,841),51811=>array(64,-70,936,841),51812=>array(64,-66,908,841),51813=>array(64,-59,916,841),51814=>array(64,-60,928,841),51815=>array(64,-68,908,841),51816=>array(33,-68,907,843),51817=>array(44,-61,907,843),51818=>array(44,-61,907,843),51819=>array(44,-71,931,843),51820=>array(52,-46,907,843),51821=>array(44,-68,912,843),51822=>array(44,-76,907,843),51823=>array(44,-44,921,843),51824=>array(44,-62,917,843),51825=>array(44,-64,907,843),51826=>array(44,-64,908,843),51827=>array(44,-64,908,843),51828=>array(44,-69,923,843),51829=>array(44,-64,908,843),51830=>array(44,-64,908,843),51831=>array(44,-76,907,843),51832=>array(44,-62,907,843),51833=>array(44,-61,907,843),51834=>array(44,-69,922,843),51835=>array(44,-74,929,843),51836=>array(44,-69,927,843),51837=>array(44,-68,911,843),51838=>array(44,-72,929,843),51839=>array(44,-70,936,843),51840=>array(44,-66,908,843),51841=>array(44,-59,916,843),51842=>array(44,-60,928,843),51843=>array(44,-68,908,843),51844=>array(36,-70,907,842),51845=>array(54,-61,908,842),51846=>array(54,-61,908,842),51847=>array(54,-71,931,842),51848=>array(55,-46,907,842),51849=>array(54,-68,912,842),51850=>array(54,-76,908,842),51851=>array(54,-44,921,842),51852=>array(54,-62,917,842),51853=>array(54,-64,908,842),51854=>array(54,-64,908,842),51855=>array(54,-64,908,842),51856=>array(54,-69,923,842),51857=>array(54,-64,908,842),51858=>array(54,-64,908,842),51859=>array(54,-76,908,842),51860=>array(54,-62,908,842),51861=>array(54,-61,908,842),51862=>array(54,-69,922,842),51863=>array(54,-74,929,842),51864=>array(54,-69,927,842),51865=>array(54,-68,911,842),51866=>array(54,-72,929,842),51867=>array(54,-70,936,842),51868=>array(54,-66,908,842),51869=>array(54,-59,916,842),51870=>array(54,-60,928,842),51871=>array(54,-68,908,842),51872=>array(33,-68,907,843),51873=>array(49,-61,907,843),51874=>array(49,-61,907,843),51875=>array(49,-71,931,843),51876=>array(47,-46,907,843),51877=>array(49,-68,912,843),51878=>array(49,-76,907,843),51879=>array(49,-44,921,843),51880=>array(49,-62,917,843),51881=>array(49,-64,907,843),51882=>array(49,-64,908,843),51883=>array(49,-64,908,843),51884=>array(49,-69,923,843),51885=>array(49,-64,908,843),51886=>array(49,-64,908,843),51887=>array(49,-76,907,843),51888=>array(49,-62,907,843),51889=>array(49,-61,907,843),51890=>array(49,-69,922,843),51891=>array(49,-74,929,843),51892=>array(49,-69,927,843),51893=>array(49,-68,911,843),51894=>array(49,-72,929,843),51895=>array(49,-70,936,843),51896=>array(49,-66,908,843),51897=>array(49,-59,916,843),51898=>array(49,-60,928,843),51899=>array(49,-68,908,843),51900=>array(55,22,943,755),51901=>array(79,-61,921,786),51902=>array(79,-61,921,786),51903=>array(79,-71,921,786),51904=>array(79,-46,922,786),51905=>array(79,-68,921,786),51906=>array(79,-74,921,786),51907=>array(79,-44,921,786),51908=>array(79,-62,921,786),51909=>array(79,-64,921,786),51910=>array(79,-64,921,786),51911=>array(79,-63,921,786),51912=>array(79,-68,921,786),51913=>array(79,-64,921,786),51914=>array(79,-63,921,786),51915=>array(79,-74,921,786),51916=>array(79,-62,921,786),51917=>array(79,-61,921,786),51918=>array(79,-69,921,786),51919=>array(79,-74,921,786),51920=>array(79,-69,921,786),51921=>array(79,-68,921,786),51922=>array(79,-72,921,786),51923=>array(79,-70,921,786),51924=>array(79,-66,921,786),51925=>array(79,-59,921,786),51926=>array(79,-60,921,786),51927=>array(79,-68,921,786),51928=>array(50,-69,936,842),51929=>array(65,-59,936,842),51930=>array(65,-61,936,842),51931=>array(65,-71,936,842),51932=>array(72,-45,936,842),51933=>array(65,-69,936,842),51934=>array(65,-76,936,842),51935=>array(65,-44,936,842),51936=>array(65,-62,936,842),51937=>array(65,-64,936,842),51938=>array(65,-64,936,842),51939=>array(65,-64,936,842),51940=>array(65,-70,936,842),51941=>array(65,-64,936,842),51942=>array(65,-64,936,842),51943=>array(65,-76,936,842),51944=>array(65,-62,936,842),51945=>array(65,-61,936,842),51946=>array(65,-70,936,842),51947=>array(65,-74,936,842),51948=>array(65,-69,936,842),51949=>array(65,-67,936,842),51950=>array(65,-72,936,842),51951=>array(65,-71,936,842),51952=>array(65,-66,936,842),51953=>array(65,-59,936,842),51954=>array(65,-60,936,842),51955=>array(65,-69,936,842),51956=>array(50,-69,907,842),51957=>array(71,-61,907,842),51958=>array(71,-61,907,842),51959=>array(71,-71,931,842),51960=>array(66,-46,907,842),51961=>array(71,-68,912,842),51962=>array(71,-76,907,842),51963=>array(71,-44,921,842),51964=>array(71,-62,917,842),51965=>array(71,-64,907,842),51966=>array(71,-64,908,842),51967=>array(71,-64,908,842),51968=>array(71,-69,923,842),51969=>array(71,-64,908,842),51970=>array(71,-64,908,842),51971=>array(71,-76,907,842),51972=>array(71,-62,907,842),51973=>array(71,-61,907,842),51974=>array(71,-69,922,842),51975=>array(71,-74,929,842),51976=>array(71,-69,927,842),51977=>array(71,-68,911,842),51978=>array(71,-72,929,842),51979=>array(71,-70,936,842),51980=>array(71,-66,908,842),51981=>array(71,-59,916,842),51982=>array(71,-60,928,842),51983=>array(71,-68,908,842),51984=>array(66,-69,907,842),51985=>array(65,-61,907,842),51986=>array(65,-61,907,842),51987=>array(65,-71,931,842),51988=>array(65,-46,907,842),51989=>array(65,-68,912,842),51990=>array(65,-76,907,842),51991=>array(65,-44,921,842),51992=>array(65,-62,917,842),51993=>array(65,-64,907,842),51994=>array(65,-64,908,842),51995=>array(65,-64,908,842),51996=>array(65,-69,923,842),51997=>array(65,-64,908,842),51998=>array(65,-64,908,842),51999=>array(65,-76,907,842),52000=>array(65,-62,907,842),52001=>array(65,-61,907,842),52002=>array(65,-69,922,842),52003=>array(65,-74,929,842),52004=>array(65,-69,927,842),52005=>array(65,-68,911,842),52006=>array(65,-72,929,842),52007=>array(65,-70,936,842),52008=>array(65,-66,908,842),52009=>array(65,-59,916,842),52010=>array(65,-60,928,842),52011=>array(65,-68,908,842),52012=>array(62,22,943,756),52013=>array(79,-61,922,786),52014=>array(79,-61,922,786),52015=>array(79,-71,922,786),52016=>array(79,-46,922,786),52017=>array(79,-68,922,786),52018=>array(79,-74,922,786),52019=>array(79,-44,922,786),52020=>array(79,-62,922,786),52021=>array(79,-64,922,786),52022=>array(79,-64,922,786),52023=>array(79,-63,922,786),52024=>array(79,-68,922,786),52025=>array(79,-64,922,786),52026=>array(79,-63,922,786),52027=>array(79,-74,922,786),52028=>array(79,-62,922,786),52029=>array(79,-61,922,786),52030=>array(79,-69,922,786),52031=>array(79,-74,922,786),52032=>array(79,-69,922,786),52033=>array(79,-68,922,786),52034=>array(79,-72,922,786),52035=>array(79,-70,922,786),52036=>array(79,-66,922,786),52037=>array(79,-59,922,786),52038=>array(79,-60,922,786),52039=>array(79,-68,922,786),52040=>array(82,-64,924,811),52041=>array(79,-61,921,811),52042=>array(79,-61,921,811),52043=>array(79,-71,921,811),52044=>array(79,-46,921,811),52045=>array(79,-68,921,811),52046=>array(79,-74,921,811),52047=>array(79,-44,921,811),52048=>array(79,-62,921,811),52049=>array(79,-64,921,811),52050=>array(79,-64,921,811),52051=>array(79,-63,921,811),52052=>array(79,-68,921,811),52053=>array(79,-64,921,811),52054=>array(79,-63,921,811),52055=>array(79,-74,921,811),52056=>array(79,-62,921,811),52057=>array(79,-61,921,811),52058=>array(79,-69,921,811),52059=>array(79,-74,921,811),52060=>array(79,-69,921,811),52061=>array(79,-68,921,811),52062=>array(79,-72,921,811),52063=>array(79,-70,921,811),52064=>array(79,-66,921,811),52065=>array(79,-59,921,811),52066=>array(79,-60,921,811),52067=>array(79,-68,921,811),52068=>array(81,-70,907,841),52069=>array(74,-61,909,841),52070=>array(74,-61,909,841),52071=>array(74,-71,931,841),52072=>array(66,-46,909,842),52073=>array(74,-68,912,841),52074=>array(74,-76,909,841),52075=>array(74,-44,921,841),52076=>array(74,-62,917,841),52077=>array(74,-64,909,841),52078=>array(74,-64,909,841),52079=>array(74,-64,909,841),52080=>array(74,-69,923,841),52081=>array(74,-64,909,841),52082=>array(74,-64,909,841),52083=>array(74,-76,909,841),52084=>array(74,-62,909,841),52085=>array(74,-61,909,841),52086=>array(74,-69,922,841),52087=>array(74,-74,929,841),52088=>array(74,-69,927,841),52089=>array(74,-68,911,841),52090=>array(74,-72,929,841),52091=>array(74,-70,936,841),52092=>array(74,-66,909,841),52093=>array(74,-59,916,841),52094=>array(74,-60,928,841),52095=>array(74,-68,909,841),52096=>array(50,-68,907,843),52097=>array(68,-61,907,843),52098=>array(68,-61,907,843),52099=>array(68,-71,931,843),52100=>array(68,-46,907,843),52101=>array(68,-68,912,843),52102=>array(68,-76,907,843),52103=>array(68,-44,921,843),52104=>array(68,-62,917,843),52105=>array(68,-64,907,843),52106=>array(68,-64,908,843),52107=>array(68,-64,908,843),52108=>array(68,-69,923,843),52109=>array(68,-64,908,843),52110=>array(68,-64,908,843),52111=>array(68,-76,907,843),52112=>array(68,-62,907,843),52113=>array(68,-61,907,843),52114=>array(68,-69,922,843),52115=>array(68,-74,929,843),52116=>array(68,-69,927,843),52117=>array(68,-68,911,843),52118=>array(68,-72,929,843),52119=>array(68,-70,936,843),52120=>array(68,-66,908,843),52121=>array(68,-59,916,843),52122=>array(68,-60,928,843),52123=>array(68,-68,908,843),52124=>array(60,-69,907,842),52125=>array(65,-61,907,842),52126=>array(65,-61,907,842),52127=>array(65,-71,931,842),52128=>array(65,-46,907,842),52129=>array(65,-68,912,842),52130=>array(65,-76,907,842),52131=>array(65,-44,921,842),52132=>array(65,-62,917,842),52133=>array(65,-64,907,842),52134=>array(65,-64,908,842),52135=>array(65,-64,908,842),52136=>array(65,-69,923,842),52137=>array(65,-64,908,842),52138=>array(65,-64,908,842),52139=>array(65,-76,907,842),52140=>array(65,-62,907,842),52141=>array(65,-61,907,842),52142=>array(65,-69,922,842),52143=>array(65,-74,929,842),52144=>array(65,-69,927,842),52145=>array(65,-68,911,842),52146=>array(65,-72,929,842),52147=>array(65,-70,936,842),52148=>array(65,-66,908,842),52149=>array(65,-59,916,842),52150=>array(65,-60,928,842),52151=>array(65,-68,908,842),52152=>array(82,-64,924,811),52153=>array(79,-61,921,811),52154=>array(79,-61,921,811),52155=>array(79,-71,921,811),52156=>array(81,-46,922,811),52157=>array(79,-68,921,811),52158=>array(79,-74,921,811),52159=>array(79,-44,921,811),52160=>array(79,-62,921,811),52161=>array(79,-64,921,811),52162=>array(79,-64,921,811),52163=>array(79,-63,921,811),52164=>array(79,-68,921,811),52165=>array(79,-64,921,811),52166=>array(79,-63,921,811),52167=>array(79,-74,921,811),52168=>array(79,-62,921,811),52169=>array(79,-61,921,811),52170=>array(79,-69,921,811),52171=>array(79,-74,921,811),52172=>array(79,-69,921,811),52173=>array(79,-68,921,811),52174=>array(79,-72,921,811),52175=>array(79,-70,921,811),52176=>array(79,-66,921,811),52177=>array(79,-59,921,811),52178=>array(79,-60,921,811),52179=>array(79,-68,921,811),52180=>array(56,37,944,728),52181=>array(79,-61,922,786),52182=>array(79,-61,922,786),52183=>array(79,-71,922,786),52184=>array(79,-46,921,784),52185=>array(79,-68,922,786),52186=>array(79,-74,922,786),52187=>array(79,-44,922,786),52188=>array(79,-62,922,786),52189=>array(79,-64,922,786),52190=>array(79,-64,922,786),52191=>array(79,-63,922,786),52192=>array(79,-68,922,786),52193=>array(79,-64,922,786),52194=>array(79,-63,922,786),52195=>array(79,-74,922,786),52196=>array(79,-62,922,786),52197=>array(79,-61,922,786),52198=>array(79,-69,922,786),52199=>array(79,-74,922,786),52200=>array(79,-69,922,786),52201=>array(79,-68,922,786),52202=>array(79,-72,922,786),52203=>array(79,-70,922,786),52204=>array(79,-66,922,786),52205=>array(79,-59,922,786),52206=>array(79,-60,922,786),52207=>array(79,-68,922,786),52208=>array(63,-69,907,842),52209=>array(65,-61,907,842),52210=>array(65,-61,907,842),52211=>array(65,-71,931,842),52212=>array(65,-46,907,842),52213=>array(65,-68,912,842),52214=>array(65,-76,907,842),52215=>array(65,-44,921,842),52216=>array(65,-62,917,842),52217=>array(65,-64,907,842),52218=>array(65,-64,908,842),52219=>array(65,-64,908,842),52220=>array(65,-69,923,842),52221=>array(65,-64,908,842),52222=>array(65,-64,908,842),52223=>array(65,-76,907,842),52224=>array(65,-62,907,842),52225=>array(65,-61,907,842),52226=>array(65,-69,922,842),52227=>array(65,-74,929,842),52228=>array(65,-69,927,842),52229=>array(65,-68,911,842),52230=>array(65,-72,929,842),52231=>array(65,-70,936,842),52232=>array(65,-66,908,842),52233=>array(65,-59,916,842),52234=>array(65,-60,928,842),52235=>array(65,-68,908,842),52236=>array(76,-69,907,842),52237=>array(60,-61,907,842),52238=>array(60,-61,907,842),52239=>array(60,-71,931,842),52240=>array(57,-46,907,842),52241=>array(60,-68,912,842),52242=>array(60,-76,907,842),52243=>array(60,-44,921,842),52244=>array(60,-62,917,842),52245=>array(60,-64,907,842),52246=>array(60,-64,908,842),52247=>array(60,-64,908,842),52248=>array(60,-69,923,842),52249=>array(60,-64,908,842),52250=>array(60,-64,908,842),52251=>array(60,-76,907,842),52252=>array(60,-62,907,842),52253=>array(60,-61,907,842),52254=>array(60,-69,922,842),52255=>array(60,-74,929,842),52256=>array(60,-69,927,842),52257=>array(60,-68,911,842),52258=>array(60,-72,929,842),52259=>array(60,-70,936,842),52260=>array(60,-66,908,842),52261=>array(60,-59,916,842),52262=>array(60,-60,928,842),52263=>array(60,-68,908,842),52264=>array(86,-69,935,842),52265=>array(71,-59,936,842),52266=>array(71,-61,936,842),52267=>array(71,-71,936,842),52268=>array(64,-45,936,842),52269=>array(71,-69,936,842),52270=>array(71,-76,936,842),52271=>array(71,-44,936,842),52272=>array(71,-62,936,842),52273=>array(71,-64,936,842),52274=>array(71,-64,936,842),52275=>array(71,-64,936,842),52276=>array(71,-70,936,842),52277=>array(71,-64,936,842),52278=>array(71,-64,936,842),52279=>array(71,-76,936,842),52280=>array(71,-62,936,842),52281=>array(71,-61,936,842),52282=>array(71,-70,936,842),52283=>array(71,-74,936,842),52284=>array(71,-69,936,842),52285=>array(71,-67,936,842),52286=>array(71,-72,936,842),52287=>array(71,-71,936,842),52288=>array(71,-66,936,842),52289=>array(71,-59,936,842),52290=>array(71,-60,936,842),52291=>array(71,-69,936,842),52292=>array(81,-69,907,842),52293=>array(69,-61,907,842),52294=>array(69,-61,907,842),52295=>array(69,-71,931,842),52296=>array(64,-46,907,842),52297=>array(69,-68,912,842),52298=>array(69,-76,907,842),52299=>array(69,-44,921,842),52300=>array(69,-62,917,842),52301=>array(69,-64,907,842),52302=>array(69,-64,908,842),52303=>array(69,-64,908,842),52304=>array(69,-69,923,842),52305=>array(69,-64,908,842),52306=>array(69,-64,908,842),52307=>array(69,-76,907,842),52308=>array(69,-62,907,842),52309=>array(69,-61,907,842),52310=>array(69,-69,922,842),52311=>array(69,-74,929,842),52312=>array(69,-69,927,842),52313=>array(69,-68,911,842),52314=>array(69,-72,929,842),52315=>array(69,-70,936,842),52316=>array(69,-66,908,842),52317=>array(69,-59,916,842),52318=>array(69,-60,928,842),52319=>array(69,-68,908,842),52320=>array(86,-68,935,843),52321=>array(74,-59,936,842),52322=>array(74,-61,936,842),52323=>array(74,-71,936,842),52324=>array(64,-45,936,842),52325=>array(74,-69,936,842),52326=>array(74,-76,936,842),52327=>array(74,-44,936,842),52328=>array(74,-62,936,842),52329=>array(74,-64,936,842),52330=>array(74,-64,936,842),52331=>array(74,-64,936,842),52332=>array(74,-70,936,842),52333=>array(74,-64,936,842),52334=>array(74,-64,936,842),52335=>array(74,-76,936,842),52336=>array(74,-62,936,842),52337=>array(74,-61,936,842),52338=>array(74,-70,936,842),52339=>array(74,-74,936,842),52340=>array(74,-69,936,842),52341=>array(74,-67,936,842),52342=>array(74,-72,936,842),52343=>array(74,-71,936,842),52344=>array(74,-66,936,842),52345=>array(74,-59,936,842),52346=>array(74,-60,936,842),52347=>array(74,-69,936,842),52348=>array(81,-69,907,842),52349=>array(71,-61,907,842),52350=>array(71,-61,907,842),52351=>array(71,-71,931,842),52352=>array(64,-46,907,842),52353=>array(71,-68,912,842),52354=>array(71,-76,907,842),52355=>array(71,-44,921,842),52356=>array(71,-62,917,842),52357=>array(71,-64,907,842),52358=>array(71,-64,908,842),52359=>array(71,-64,908,842),52360=>array(71,-69,923,842),52361=>array(71,-64,908,842),52362=>array(71,-64,908,842),52363=>array(71,-76,907,842),52364=>array(71,-62,907,842),52365=>array(71,-61,907,842),52366=>array(71,-69,922,842),52367=>array(71,-74,929,842),52368=>array(71,-69,927,842),52369=>array(71,-68,911,842),52370=>array(71,-72,929,842),52371=>array(71,-70,936,842),52372=>array(71,-66,908,842),52373=>array(71,-59,916,842),52374=>array(71,-60,928,842),52375=>array(71,-68,908,842),52376=>array(86,-70,907,841),52377=>array(68,-61,907,842),52378=>array(68,-61,907,842),52379=>array(68,-71,931,842),52380=>array(66,-46,907,841),52381=>array(68,-68,912,842),52382=>array(68,-76,907,842),52383=>array(68,-44,921,842),52384=>array(68,-62,917,842),52385=>array(68,-64,907,842),52386=>array(68,-64,908,842),52387=>array(68,-64,908,842),52388=>array(68,-69,923,842),52389=>array(68,-64,908,842),52390=>array(68,-64,908,842),52391=>array(68,-76,906,842),52392=>array(68,-62,907,842),52393=>array(68,-61,907,842),52394=>array(68,-69,922,842),52395=>array(68,-74,929,842),52396=>array(68,-69,927,842),52397=>array(68,-68,911,842),52398=>array(68,-72,929,842),52399=>array(68,-70,936,842),52400=>array(68,-66,908,842),52401=>array(68,-59,916,842),52402=>array(68,-60,928,842),52403=>array(68,-68,908,842),52404=>array(71,-68,907,843),52405=>array(65,-61,907,843),52406=>array(65,-61,907,843),52407=>array(65,-71,931,843),52408=>array(66,-46,907,843),52409=>array(65,-68,912,843),52410=>array(65,-76,907,843),52411=>array(65,-44,921,843),52412=>array(65,-62,917,843),52413=>array(65,-64,907,843),52414=>array(65,-64,908,843),52415=>array(65,-64,908,843),52416=>array(65,-69,923,843),52417=>array(65,-64,908,843),52418=>array(65,-64,908,843),52419=>array(65,-76,907,843),52420=>array(65,-62,907,843),52421=>array(65,-61,907,843),52422=>array(65,-69,922,843),52423=>array(65,-74,929,843),52424=>array(65,-69,927,843),52425=>array(65,-68,911,843),52426=>array(65,-72,929,843),52427=>array(65,-70,936,843),52428=>array(65,-66,908,843),52429=>array(65,-59,916,843),52430=>array(65,-60,928,843),52431=>array(65,-68,908,843),52432=>array(86,-70,907,842),52433=>array(65,-61,907,842),52434=>array(65,-61,907,842),52435=>array(65,-71,931,842),52436=>array(62,-46,907,842),52437=>array(65,-68,912,842),52438=>array(65,-76,907,842),52439=>array(65,-44,921,842),52440=>array(65,-62,917,842),52441=>array(65,-64,907,842),52442=>array(65,-64,908,842),52443=>array(65,-64,908,842),52444=>array(65,-69,923,842),52445=>array(65,-64,908,842),52446=>array(65,-64,908,842),52447=>array(65,-76,907,842),52448=>array(65,-62,907,842),52449=>array(65,-61,907,842),52450=>array(65,-69,922,842),52451=>array(65,-74,929,842),52452=>array(65,-69,927,842),52453=>array(65,-68,911,842),52454=>array(65,-72,929,842),52455=>array(65,-70,936,842),52456=>array(65,-66,908,842),52457=>array(65,-59,916,842),52458=>array(65,-60,928,842),52459=>array(65,-68,908,842),52460=>array(71,-68,907,843),52461=>array(65,-61,907,843),52462=>array(65,-61,907,843),52463=>array(65,-71,931,843),52464=>array(65,-46,907,843),52465=>array(65,-68,912,843),52466=>array(65,-76,907,843),52467=>array(65,-44,921,843),52468=>array(65,-62,917,843),52469=>array(65,-64,907,843),52470=>array(65,-64,908,843),52471=>array(65,-64,908,843),52472=>array(65,-69,923,843),52473=>array(65,-64,908,843),52474=>array(65,-64,908,843),52475=>array(65,-76,907,843),52476=>array(65,-62,907,843),52477=>array(65,-61,907,843),52478=>array(65,-69,922,843),52479=>array(65,-74,929,843),52480=>array(65,-69,927,843),52481=>array(65,-68,911,843),52482=>array(65,-72,929,843),52483=>array(65,-70,936,843),52484=>array(65,-66,908,843),52485=>array(65,-59,916,843),52486=>array(65,-60,928,843),52487=>array(65,-68,908,843),52488=>array(62,-3,943,777),52489=>array(79,-61,921,802),52490=>array(79,-61,921,802),52491=>array(79,-71,921,802),52492=>array(79,-46,921,792),52493=>array(79,-68,921,802),52494=>array(79,-74,921,802),52495=>array(79,-44,921,802),52496=>array(79,-62,921,802),52497=>array(79,-64,921,802),52498=>array(79,-64,921,802),52499=>array(79,-63,921,802),52500=>array(79,-68,921,802),52501=>array(79,-64,921,802),52502=>array(79,-63,921,802),52503=>array(79,-74,921,802),52504=>array(79,-62,921,802),52505=>array(79,-61,921,802),52506=>array(79,-69,921,802),52507=>array(79,-74,921,802),52508=>array(79,-69,921,802),52509=>array(79,-68,921,802),52510=>array(79,-72,921,802),52511=>array(79,-70,921,802),52512=>array(79,-66,921,802),52513=>array(79,-59,921,802),52514=>array(79,-60,921,802),52515=>array(79,-68,921,802),52516=>array(64,-69,936,842),52517=>array(77,-59,936,842),52518=>array(77,-61,936,842),52519=>array(77,-71,936,842),52520=>array(72,-45,936,842),52521=>array(77,-69,936,842),52522=>array(77,-76,936,842),52523=>array(77,-44,936,842),52524=>array(77,-62,936,842),52525=>array(77,-64,936,842),52526=>array(77,-64,936,842),52527=>array(77,-64,936,842),52528=>array(77,-70,936,842),52529=>array(77,-64,936,842),52530=>array(77,-64,936,842),52531=>array(77,-76,936,842),52532=>array(77,-62,936,842),52533=>array(77,-61,936,842),52534=>array(77,-70,936,842),52535=>array(77,-74,936,842),52536=>array(77,-69,936,842),52537=>array(77,-67,936,842),52538=>array(77,-72,936,842),52539=>array(77,-71,936,842),52540=>array(77,-66,936,842),52541=>array(77,-59,936,842),52542=>array(77,-60,936,842),52543=>array(77,-69,936,842),52544=>array(57,-69,907,842),52545=>array(72,-61,907,842),52546=>array(72,-61,907,842),52547=>array(72,-71,931,842),52548=>array(72,-46,907,842),52549=>array(72,-68,912,842),52550=>array(72,-76,907,842),52551=>array(72,-44,921,842),52552=>array(72,-62,917,842),52553=>array(72,-64,907,842),52554=>array(72,-64,908,842),52555=>array(72,-64,908,842),52556=>array(72,-69,923,842),52557=>array(72,-64,908,842),52558=>array(72,-64,908,842),52559=>array(72,-76,907,842),52560=>array(72,-62,907,842),52561=>array(72,-61,907,842),52562=>array(72,-69,922,842),52563=>array(72,-74,929,842),52564=>array(72,-69,927,842),52565=>array(72,-68,911,842),52566=>array(72,-72,929,842),52567=>array(72,-70,936,842),52568=>array(72,-66,908,842),52569=>array(72,-59,916,842),52570=>array(72,-60,928,842),52571=>array(72,-68,908,842),52572=>array(67,-69,907,842),52573=>array(65,-61,907,842),52574=>array(65,-61,907,842),52575=>array(65,-71,931,842),52576=>array(65,-46,907,842),52577=>array(65,-68,912,842),52578=>array(65,-76,907,842),52579=>array(65,-44,921,842),52580=>array(65,-62,917,842),52581=>array(65,-64,907,842),52582=>array(65,-64,908,842),52583=>array(65,-64,908,842),52584=>array(65,-69,923,842),52585=>array(65,-64,908,842),52586=>array(65,-64,908,842),52587=>array(65,-76,907,842),52588=>array(65,-62,907,842),52589=>array(65,-61,907,842),52590=>array(65,-69,922,842),52591=>array(65,-74,929,842),52592=>array(65,-69,927,842),52593=>array(65,-68,911,842),52594=>array(65,-72,929,842),52595=>array(65,-70,936,842),52596=>array(65,-66,908,842),52597=>array(65,-59,916,842),52598=>array(65,-60,928,842),52599=>array(65,-68,908,842),52600=>array(62,-3,938,777),52601=>array(79,-61,922,802),52602=>array(79,-61,922,802),52603=>array(79,-71,922,802),52604=>array(79,-46,922,792),52605=>array(79,-68,922,802),52606=>array(79,-74,922,802),52607=>array(79,-44,922,802),52608=>array(79,-62,922,802),52609=>array(79,-64,922,802),52610=>array(79,-64,922,802),52611=>array(79,-63,922,802),52612=>array(79,-68,922,802),52613=>array(79,-64,922,802),52614=>array(79,-63,922,802),52615=>array(79,-74,922,802),52616=>array(79,-62,922,802),52617=>array(79,-61,922,802),52618=>array(79,-69,922,802),52619=>array(79,-74,922,802),52620=>array(79,-69,922,802),52621=>array(79,-68,922,802),52622=>array(79,-72,922,802),52623=>array(79,-70,922,802),52624=>array(79,-66,922,802),52625=>array(79,-59,922,802),52626=>array(79,-60,922,802),52627=>array(79,-68,922,802),52628=>array(79,-64,921,820),52629=>array(79,-61,921,822),52630=>array(79,-61,921,822),52631=>array(79,-71,921,822),52632=>array(79,-46,921,820),52633=>array(79,-68,921,822),52634=>array(79,-74,921,822),52635=>array(79,-44,921,822),52636=>array(79,-62,921,822),52637=>array(79,-64,921,822),52638=>array(79,-64,921,822),52639=>array(79,-63,921,822),52640=>array(79,-68,921,822),52641=>array(79,-64,921,822),52642=>array(79,-63,921,822),52643=>array(79,-74,921,822),52644=>array(79,-62,921,822),52645=>array(79,-61,921,822),52646=>array(79,-69,921,822),52647=>array(79,-74,921,822),52648=>array(79,-69,921,822),52649=>array(79,-68,921,822),52650=>array(79,-72,921,822),52651=>array(79,-70,921,822),52652=>array(79,-66,921,822),52653=>array(79,-59,921,822),52654=>array(79,-60,921,822),52655=>array(79,-68,921,822),52656=>array(70,-70,907,841),52657=>array(75,-61,910,841),52658=>array(75,-61,910,841),52659=>array(75,-71,931,841),52660=>array(76,-46,910,842),52661=>array(75,-68,912,841),52662=>array(75,-76,910,841),52663=>array(75,-44,921,841),52664=>array(75,-62,917,841),52665=>array(75,-64,910,841),52666=>array(75,-64,910,841),52667=>array(75,-64,910,841),52668=>array(75,-69,923,841),52669=>array(75,-64,910,841),52670=>array(75,-64,910,841),52671=>array(75,-76,910,841),52672=>array(75,-62,910,841),52673=>array(75,-61,910,841),52674=>array(75,-69,922,841),52675=>array(75,-74,929,841),52676=>array(75,-69,927,841),52677=>array(75,-68,911,841),52678=>array(75,-72,929,841),52679=>array(75,-70,936,841),52680=>array(75,-66,910,841),52681=>array(75,-59,916,841),52682=>array(75,-60,928,841),52683=>array(75,-68,910,841),52684=>array(63,-68,907,843),52685=>array(70,-61,907,843),52686=>array(70,-61,907,843),52687=>array(70,-71,931,843),52688=>array(76,-46,907,843),52689=>array(70,-68,912,843),52690=>array(70,-76,907,843),52691=>array(70,-44,921,843),52692=>array(70,-62,917,843),52693=>array(70,-64,907,843),52694=>array(70,-64,908,843),52695=>array(70,-64,908,843),52696=>array(70,-69,923,843),52697=>array(70,-64,908,843),52698=>array(70,-64,908,843),52699=>array(70,-76,907,843),52700=>array(70,-62,907,843),52701=>array(70,-61,907,843),52702=>array(70,-69,922,843),52703=>array(70,-74,929,843),52704=>array(70,-69,927,843),52705=>array(70,-68,911,843),52706=>array(70,-72,929,843),52707=>array(70,-70,936,843),52708=>array(70,-66,908,843),52709=>array(70,-59,916,843),52710=>array(70,-60,928,843),52711=>array(70,-68,908,843),52712=>array(70,-69,907,842),52713=>array(65,-61,907,842),52714=>array(65,-61,907,842),52715=>array(65,-71,931,842),52716=>array(66,-46,907,842),52717=>array(65,-68,912,842),52718=>array(65,-76,907,842),52719=>array(65,-44,921,842),52720=>array(65,-62,917,842),52721=>array(65,-64,907,842),52722=>array(65,-64,908,842),52723=>array(65,-64,908,842),52724=>array(65,-69,923,842),52725=>array(65,-64,908,842),52726=>array(65,-64,908,842),52727=>array(65,-76,907,842),52728=>array(65,-62,907,842),52729=>array(65,-61,907,842),52730=>array(65,-69,922,842),52731=>array(65,-74,929,842),52732=>array(65,-69,927,842),52733=>array(65,-68,911,842),52734=>array(65,-72,929,842),52735=>array(65,-70,936,842),52736=>array(65,-66,908,842),52737=>array(65,-59,916,842),52738=>array(65,-60,928,842),52739=>array(65,-68,908,842),52740=>array(87,-54,928,820),52741=>array(79,-61,921,822),52742=>array(79,-61,921,822),52743=>array(79,-71,921,822),52744=>array(81,-46,922,820),52745=>array(79,-68,921,822),52746=>array(79,-74,921,822),52747=>array(79,-44,921,822),52748=>array(79,-62,921,822),52749=>array(79,-64,921,822),52750=>array(79,-64,921,822),52751=>array(79,-63,921,822),52752=>array(79,-68,921,822),52753=>array(79,-64,921,822),52754=>array(79,-63,921,822),52755=>array(79,-74,921,822),52756=>array(79,-62,921,822),52757=>array(79,-61,921,822),52758=>array(79,-69,921,822),52759=>array(79,-74,921,822),52760=>array(79,-69,921,822),52761=>array(79,-68,921,822),52762=>array(79,-72,921,822),52763=>array(79,-70,921,822),52764=>array(79,-66,921,822),52765=>array(79,-59,921,822),52766=>array(79,-60,921,822),52767=>array(79,-68,921,822),52768=>array(57,47,943,752),52769=>array(79,-61,922,802),52770=>array(79,-61,922,802),52771=>array(79,-71,922,802),52772=>array(79,-46,922,792),52773=>array(79,-68,922,802),52774=>array(79,-74,922,802),52775=>array(79,-44,922,802),52776=>array(79,-62,922,802),52777=>array(79,-64,922,802),52778=>array(79,-64,922,802),52779=>array(79,-63,922,802),52780=>array(79,-68,922,802),52781=>array(79,-64,922,802),52782=>array(79,-63,922,802),52783=>array(79,-74,922,802),52784=>array(79,-62,922,802),52785=>array(79,-61,922,802),52786=>array(79,-69,922,802),52787=>array(79,-74,922,802),52788=>array(79,-69,922,802),52789=>array(79,-68,922,802),52790=>array(79,-72,922,802),52791=>array(79,-70,922,802),52792=>array(79,-66,922,802),52793=>array(79,-59,922,802),52794=>array(79,-60,922,802),52795=>array(79,-68,922,802),52796=>array(70,-69,907,842),52797=>array(65,-61,907,842),52798=>array(65,-61,907,842),52799=>array(65,-71,931,842),52800=>array(65,-46,907,842),52801=>array(65,-68,912,842),52802=>array(65,-76,907,842),52803=>array(65,-44,921,842),52804=>array(65,-62,917,842),52805=>array(65,-64,907,842),52806=>array(65,-64,908,842),52807=>array(65,-64,908,842),52808=>array(65,-69,923,842),52809=>array(65,-64,908,842),52810=>array(65,-64,908,842),52811=>array(65,-76,907,842),52812=>array(65,-62,907,842),52813=>array(65,-61,907,842),52814=>array(65,-69,922,842),52815=>array(65,-74,929,842),52816=>array(65,-69,927,842),52817=>array(65,-68,911,842),52818=>array(65,-72,929,842),52819=>array(65,-70,936,842),52820=>array(65,-66,908,842),52821=>array(65,-59,916,842),52822=>array(65,-60,928,842),52823=>array(65,-68,908,842),52824=>array(115,-69,907,842),52825=>array(95,-61,907,842),52826=>array(95,-61,907,842),52827=>array(95,-71,931,842),52828=>array(99,-46,907,842),52829=>array(95,-68,912,842),52830=>array(95,-76,907,842),52831=>array(95,-44,921,842),52832=>array(95,-62,917,842),52833=>array(95,-64,907,842),52834=>array(95,-64,908,842),52835=>array(95,-64,908,842),52836=>array(95,-69,923,842),52837=>array(95,-64,908,842),52838=>array(95,-64,908,842),52839=>array(95,-76,907,842),52840=>array(95,-62,907,842),52841=>array(95,-61,907,842),52842=>array(95,-69,922,842),52843=>array(95,-74,929,842),52844=>array(95,-69,927,842),52845=>array(95,-68,911,842),52846=>array(95,-72,929,842),52847=>array(95,-70,936,842),52848=>array(95,-66,908,842),52849=>array(95,-59,916,842),52850=>array(95,-60,928,842),52851=>array(95,-68,908,842),52852=>array(84,-69,936,842),52853=>array(66,-59,936,842),52854=>array(66,-61,936,842),52855=>array(66,-71,936,842),52856=>array(69,-45,936,842),52857=>array(66,-69,936,842),52858=>array(66,-76,936,842),52859=>array(66,-44,936,842),52860=>array(66,-62,936,842),52861=>array(66,-64,936,842),52862=>array(66,-64,936,842),52863=>array(66,-64,936,842),52864=>array(66,-70,936,842),52865=>array(66,-64,936,842),52866=>array(66,-64,936,842),52867=>array(66,-76,936,842),52868=>array(66,-62,936,842),52869=>array(66,-61,936,842),52870=>array(66,-70,936,842),52871=>array(66,-74,936,842),52872=>array(66,-69,936,842),52873=>array(66,-67,936,842),52874=>array(66,-72,936,842),52875=>array(66,-71,936,842),52876=>array(66,-66,936,842),52877=>array(66,-59,936,842),52878=>array(66,-60,936,842),52879=>array(66,-69,936,842),52880=>array(79,-69,907,842),52881=>array(66,-61,907,842),52882=>array(66,-61,907,842),52883=>array(66,-71,931,842),52884=>array(69,-46,907,842),52885=>array(66,-68,912,842),52886=>array(66,-76,907,842),52887=>array(66,-44,921,842),52888=>array(66,-62,917,842),52889=>array(66,-64,907,842),52890=>array(66,-64,908,842),52891=>array(66,-64,908,842),52892=>array(66,-69,923,842),52893=>array(66,-64,908,842),52894=>array(66,-64,908,842),52895=>array(66,-76,907,842),52896=>array(66,-62,907,842),52897=>array(66,-61,907,842),52898=>array(66,-69,922,842),52899=>array(66,-74,929,842),52900=>array(66,-69,927,842),52901=>array(66,-68,911,842),52902=>array(66,-72,929,842),52903=>array(66,-70,936,842),52904=>array(66,-66,908,842),52905=>array(66,-59,916,842),52906=>array(66,-60,928,842),52907=>array(66,-68,908,842),52908=>array(74,-68,935,843),52909=>array(66,-59,936,842),52910=>array(66,-61,936,842),52911=>array(66,-71,936,842),52912=>array(69,-45,936,842),52913=>array(66,-69,936,842),52914=>array(66,-76,936,842),52915=>array(66,-44,936,842),52916=>array(66,-62,936,842),52917=>array(66,-64,936,842),52918=>array(66,-64,936,842),52919=>array(66,-64,936,842),52920=>array(66,-70,936,842),52921=>array(66,-64,936,842),52922=>array(66,-64,936,842),52923=>array(66,-76,936,842),52924=>array(66,-62,936,842),52925=>array(66,-61,936,842),52926=>array(66,-70,936,842),52927=>array(66,-74,936,842),52928=>array(66,-69,936,842),52929=>array(66,-67,936,842),52930=>array(66,-72,936,842),52931=>array(66,-71,936,842),52932=>array(66,-66,936,842),52933=>array(66,-59,936,842),52934=>array(66,-60,936,842),52935=>array(66,-69,936,842),52936=>array(79,-69,907,842),52937=>array(66,-61,907,842),52938=>array(66,-61,907,842),52939=>array(66,-71,931,842),52940=>array(69,-46,907,842),52941=>array(66,-68,912,842),52942=>array(66,-76,907,842),52943=>array(66,-44,921,842),52944=>array(66,-62,917,842),52945=>array(66,-64,907,842),52946=>array(66,-64,908,842),52947=>array(66,-64,908,842),52948=>array(66,-69,923,842),52949=>array(66,-64,908,842),52950=>array(66,-64,908,842),52951=>array(66,-76,907,842),52952=>array(66,-62,907,842),52953=>array(66,-61,907,842),52954=>array(66,-69,922,842),52955=>array(66,-74,929,842),52956=>array(66,-69,927,842),52957=>array(66,-68,911,842),52958=>array(66,-72,929,842),52959=>array(66,-70,936,842),52960=>array(66,-66,908,842),52961=>array(66,-59,916,842),52962=>array(66,-60,928,842),52963=>array(66,-68,908,842),52964=>array(104,-70,907,841),52965=>array(66,-61,907,841),52966=>array(66,-61,907,841),52967=>array(66,-71,931,841),52968=>array(69,-46,907,841),52969=>array(66,-68,912,841),52970=>array(66,-76,907,841),52971=>array(66,-44,921,841),52972=>array(66,-62,917,841),52973=>array(66,-64,907,841),52974=>array(66,-64,908,841),52975=>array(66,-64,908,841),52976=>array(66,-69,923,841),52977=>array(66,-64,908,841),52978=>array(66,-64,908,841),52979=>array(66,-76,906,841),52980=>array(66,-62,907,841),52981=>array(66,-61,907,841),52982=>array(66,-69,922,841),52983=>array(66,-74,929,841),52984=>array(66,-69,927,841),52985=>array(66,-68,911,841),52986=>array(66,-72,929,841),52987=>array(66,-70,936,841),52988=>array(66,-66,908,841),52989=>array(66,-59,916,841),52990=>array(66,-60,928,841),52991=>array(66,-68,908,841),52992=>array(97,-68,907,843),52993=>array(66,-61,907,843),52994=>array(66,-61,907,843),52995=>array(66,-71,931,843),52996=>array(69,-46,907,843),52997=>array(66,-68,912,843),52998=>array(66,-76,907,843),52999=>array(66,-44,921,843),53000=>array(66,-62,917,843),53001=>array(66,-64,907,843),53002=>array(66,-64,908,843),53003=>array(66,-64,908,843),53004=>array(66,-69,923,843),53005=>array(66,-64,908,843),53006=>array(66,-64,908,843),53007=>array(66,-76,907,843),53008=>array(66,-62,907,843),53009=>array(66,-61,907,843),53010=>array(66,-69,922,843),53011=>array(66,-74,929,843),53012=>array(66,-69,927,843),53013=>array(66,-68,911,843),53014=>array(66,-72,929,843),53015=>array(66,-70,936,843),53016=>array(66,-66,908,843),53017=>array(66,-59,916,843),53018=>array(66,-60,928,843),53019=>array(66,-68,908,843),53020=>array(104,-70,907,842),53021=>array(66,-61,908,842),53022=>array(66,-61,908,842),53023=>array(66,-71,931,842),53024=>array(69,-46,907,842),53025=>array(66,-68,912,842),53026=>array(66,-76,908,842),53027=>array(66,-44,921,842),53028=>array(66,-62,917,842),53029=>array(66,-64,908,842),53030=>array(66,-64,908,842),53031=>array(66,-64,908,842),53032=>array(66,-69,923,842),53033=>array(66,-64,908,842),53034=>array(66,-64,908,842),53035=>array(66,-76,908,842),53036=>array(66,-62,908,842),53037=>array(66,-61,908,842),53038=>array(66,-69,922,842),53039=>array(66,-74,929,842),53040=>array(66,-69,927,842),53041=>array(66,-68,911,842),53042=>array(66,-72,929,842),53043=>array(66,-70,936,842),53044=>array(66,-66,908,842),53045=>array(66,-59,916,842),53046=>array(66,-60,928,842),53047=>array(66,-68,908,842),53048=>array(97,-68,907,843),53049=>array(66,-61,907,843),53050=>array(66,-61,907,843),53051=>array(66,-71,931,843),53052=>array(64,-46,907,843),53053=>array(66,-68,912,843),53054=>array(66,-76,907,843),53055=>array(66,-44,921,843),53056=>array(66,-62,917,843),53057=>array(66,-64,907,843),53058=>array(66,-64,908,843),53059=>array(66,-64,908,843),53060=>array(66,-69,923,843),53061=>array(66,-64,908,843),53062=>array(66,-64,908,843),53063=>array(66,-76,907,843),53064=>array(66,-62,907,843),53065=>array(66,-61,907,843),53066=>array(66,-69,922,843),53067=>array(66,-74,929,843),53068=>array(66,-69,927,843),53069=>array(66,-68,911,843),53070=>array(66,-72,929,843),53071=>array(66,-70,936,843),53072=>array(66,-66,908,843),53073=>array(66,-59,916,843),53074=>array(66,-60,928,843),53075=>array(66,-68,908,843),53076=>array(62,22,943,725),53077=>array(79,-61,921,775),53078=>array(79,-61,921,775),53079=>array(79,-71,921,775),53080=>array(79,-46,922,775),53081=>array(79,-68,921,775),53082=>array(79,-74,921,775),53083=>array(79,-44,921,775),53084=>array(79,-62,921,775),53085=>array(79,-64,921,775),53086=>array(79,-64,921,775),53087=>array(79,-63,921,775),53088=>array(79,-68,921,775),53089=>array(79,-64,921,775),53090=>array(79,-63,921,775),53091=>array(79,-74,921,775),53092=>array(79,-62,921,775),53093=>array(79,-61,921,775),53094=>array(79,-69,921,775),53095=>array(79,-74,921,775),53096=>array(79,-69,921,775),53097=>array(79,-68,921,775),53098=>array(79,-72,921,775),53099=>array(79,-70,921,775),53100=>array(79,-66,921,775),53101=>array(79,-59,921,775),53102=>array(79,-60,921,775),53103=>array(79,-68,921,775),53104=>array(68,-69,936,842),53105=>array(65,-59,936,842),53106=>array(65,-61,936,842),53107=>array(65,-71,936,842),53108=>array(72,-45,936,842),53109=>array(65,-69,936,842),53110=>array(65,-76,936,842),53111=>array(65,-44,936,842),53112=>array(65,-62,936,842),53113=>array(65,-64,936,842),53114=>array(65,-64,936,842),53115=>array(65,-64,936,842),53116=>array(65,-70,936,842),53117=>array(65,-64,936,842),53118=>array(65,-64,936,842),53119=>array(65,-76,936,842),53120=>array(65,-62,936,842),53121=>array(65,-61,936,842),53122=>array(65,-70,936,842),53123=>array(65,-74,936,842),53124=>array(65,-69,936,842),53125=>array(65,-67,936,842),53126=>array(65,-72,936,842),53127=>array(65,-71,936,842),53128=>array(65,-66,936,842),53129=>array(65,-59,936,842),53130=>array(65,-60,936,842),53131=>array(65,-69,936,842),53132=>array(68,-69,907,842),53133=>array(77,-61,907,842),53134=>array(77,-61,907,842),53135=>array(77,-71,931,842),53136=>array(72,-46,907,842),53137=>array(77,-68,912,842),53138=>array(77,-76,907,842),53139=>array(77,-44,921,842),53140=>array(77,-62,917,842),53141=>array(77,-64,907,842),53142=>array(77,-64,908,842),53143=>array(77,-64,908,842),53144=>array(77,-69,923,842),53145=>array(77,-64,908,842),53146=>array(77,-64,908,842),53147=>array(77,-76,907,842),53148=>array(77,-62,907,842),53149=>array(77,-61,907,842),53150=>array(77,-69,922,842),53151=>array(77,-74,929,842),53152=>array(77,-69,927,842),53153=>array(77,-68,911,842),53154=>array(77,-72,929,842),53155=>array(77,-70,936,842),53156=>array(77,-66,908,842),53157=>array(77,-59,916,842),53158=>array(77,-60,928,842),53159=>array(77,-68,908,842),53160=>array(92,-69,907,842),53161=>array(65,-61,907,842),53162=>array(65,-61,907,842),53163=>array(65,-71,931,842),53164=>array(65,-46,907,842),53165=>array(65,-68,912,842),53166=>array(65,-76,907,842),53167=>array(65,-44,921,842),53168=>array(65,-62,917,842),53169=>array(65,-64,907,842),53170=>array(65,-64,908,842),53171=>array(65,-64,908,842),53172=>array(65,-69,923,842),53173=>array(65,-64,908,842),53174=>array(65,-64,908,842),53175=>array(65,-76,907,842),53176=>array(65,-62,907,842),53177=>array(65,-61,907,842),53178=>array(65,-69,922,842),53179=>array(65,-74,929,842),53180=>array(65,-69,927,842),53181=>array(65,-68,911,842),53182=>array(65,-72,929,842),53183=>array(65,-70,936,842),53184=>array(65,-66,908,842),53185=>array(65,-59,916,842),53186=>array(65,-60,928,842),53187=>array(65,-68,908,842),53188=>array(62,22,943,725),53189=>array(79,-61,922,775),53190=>array(79,-61,922,775),53191=>array(79,-71,922,775),53192=>array(79,-46,922,775),53193=>array(79,-68,922,775),53194=>array(79,-74,922,775),53195=>array(79,-44,922,775),53196=>array(79,-62,922,775),53197=>array(79,-64,922,775),53198=>array(79,-64,922,775),53199=>array(79,-63,922,775),53200=>array(79,-68,922,775),53201=>array(79,-64,922,775),53202=>array(79,-63,922,775),53203=>array(79,-74,922,775),53204=>array(79,-62,922,775),53205=>array(79,-61,922,775),53206=>array(79,-69,922,775),53207=>array(79,-74,922,775),53208=>array(79,-69,922,775),53209=>array(79,-68,922,775),53210=>array(79,-72,922,775),53211=>array(79,-70,922,775),53212=>array(79,-66,922,775),53213=>array(79,-59,922,775),53214=>array(79,-60,922,775),53215=>array(79,-68,922,775),53216=>array(87,-64,928,795),53217=>array(79,-61,921,790),53218=>array(79,-61,921,790),53219=>array(79,-71,921,790),53220=>array(79,-46,921,785),53221=>array(79,-68,921,790),53222=>array(79,-74,921,790),53223=>array(79,-44,921,790),53224=>array(79,-62,921,790),53225=>array(79,-64,921,790),53226=>array(79,-64,921,790),53227=>array(79,-63,921,790),53228=>array(79,-68,921,790),53229=>array(79,-64,921,790),53230=>array(79,-63,921,790),53231=>array(79,-74,921,790),53232=>array(79,-62,921,790),53233=>array(79,-61,921,790),53234=>array(79,-69,921,790),53235=>array(79,-74,921,790),53236=>array(79,-69,921,790),53237=>array(79,-68,921,790),53238=>array(79,-72,921,790),53239=>array(79,-70,921,790),53240=>array(79,-66,921,790),53241=>array(79,-59,921,790),53242=>array(79,-60,921,790),53243=>array(79,-68,921,790),53244=>array(70,-70,907,841),53245=>array(75,-61,908,844),53246=>array(75,-61,908,844),53247=>array(75,-71,931,844),53248=>array(76,-46,907,841),53249=>array(75,-68,912,844),53250=>array(75,-76,908,844),53251=>array(75,-44,921,844),53252=>array(75,-62,917,844),53253=>array(75,-64,908,844),53254=>array(75,-64,908,844),53255=>array(75,-64,908,844),53256=>array(75,-69,923,844),53257=>array(75,-64,908,844),53258=>array(75,-64,908,844),53259=>array(75,-76,908,844),53260=>array(75,-62,908,844),53261=>array(75,-61,908,844),53262=>array(75,-69,922,844),53263=>array(75,-74,929,844),53264=>array(75,-69,927,844),53265=>array(75,-68,911,844),53266=>array(75,-72,929,844),53267=>array(75,-70,936,844),53268=>array(75,-66,908,844),53269=>array(75,-59,916,844),53270=>array(75,-60,928,844),53271=>array(75,-68,908,844),53272=>array(61,-68,907,843),53273=>array(70,-61,907,843),53274=>array(70,-61,907,843),53275=>array(70,-71,931,843),53276=>array(76,-46,907,843),53277=>array(70,-68,912,843),53278=>array(70,-76,907,843),53279=>array(70,-44,921,843),53280=>array(70,-62,917,843),53281=>array(70,-64,907,843),53282=>array(70,-64,908,843),53283=>array(70,-64,908,843),53284=>array(70,-69,923,843),53285=>array(70,-64,908,843),53286=>array(70,-64,908,843),53287=>array(70,-76,907,843),53288=>array(70,-62,907,843),53289=>array(70,-61,907,843),53290=>array(70,-69,922,843),53291=>array(70,-74,929,843),53292=>array(70,-69,927,843),53293=>array(70,-68,911,843),53294=>array(70,-72,929,843),53295=>array(70,-70,936,843),53296=>array(70,-66,908,843),53297=>array(70,-59,916,843),53298=>array(70,-60,928,843),53299=>array(70,-68,908,843),53300=>array(67,-69,907,842),53301=>array(65,-61,907,842),53302=>array(65,-61,907,842),53303=>array(65,-71,931,842),53304=>array(65,-46,907,842),53305=>array(65,-68,912,842),53306=>array(65,-76,907,842),53307=>array(65,-44,921,842),53308=>array(65,-62,917,842),53309=>array(65,-64,907,842),53310=>array(65,-64,908,842),53311=>array(65,-64,908,842),53312=>array(65,-69,923,842),53313=>array(65,-64,908,842),53314=>array(65,-64,908,842),53315=>array(65,-76,907,842),53316=>array(65,-62,907,842),53317=>array(65,-61,907,842),53318=>array(65,-69,922,842),53319=>array(65,-74,929,842),53320=>array(65,-69,927,842),53321=>array(65,-68,911,842),53322=>array(65,-72,929,842),53323=>array(65,-70,936,842),53324=>array(65,-66,908,842),53325=>array(65,-59,916,842),53326=>array(65,-60,928,842),53327=>array(65,-68,908,842),53328=>array(87,-64,928,795),53329=>array(79,-61,921,785),53330=>array(79,-61,921,785),53331=>array(79,-71,921,785),53332=>array(96,-46,927,785),53333=>array(79,-68,921,785),53334=>array(79,-74,921,785),53335=>array(79,-44,921,785),53336=>array(79,-62,921,785),53337=>array(79,-64,921,785),53338=>array(79,-64,921,785),53339=>array(79,-63,921,785),53340=>array(79,-68,921,785),53341=>array(79,-64,921,785),53342=>array(79,-63,921,785),53343=>array(79,-74,921,785),53344=>array(79,-62,921,785),53345=>array(79,-61,921,785),53346=>array(79,-69,921,785),53347=>array(79,-74,921,785),53348=>array(79,-69,921,785),53349=>array(79,-68,921,785),53350=>array(79,-72,921,785),53351=>array(79,-70,921,785),53352=>array(79,-66,921,785),53353=>array(79,-59,921,785),53354=>array(79,-60,921,785),53355=>array(79,-68,921,785),53356=>array(67,27,943,700),53357=>array(79,-61,922,785),53358=>array(79,-61,922,785),53359=>array(79,-71,922,785),53360=>array(79,-46,921,785),53361=>array(79,-68,922,785),53362=>array(79,-74,922,785),53363=>array(79,-44,922,785),53364=>array(79,-62,922,785),53365=>array(79,-64,922,785),53366=>array(79,-64,922,785),53367=>array(79,-63,922,785),53368=>array(79,-68,922,785),53369=>array(79,-64,922,785),53370=>array(79,-63,922,785),53371=>array(79,-74,922,785),53372=>array(79,-62,922,785),53373=>array(79,-61,922,785),53374=>array(79,-69,922,785),53375=>array(79,-74,922,785),53376=>array(79,-69,922,785),53377=>array(79,-68,922,785),53378=>array(79,-72,922,785),53379=>array(79,-70,922,785),53380=>array(79,-66,922,785),53381=>array(79,-59,922,785),53382=>array(79,-60,922,785),53383=>array(79,-68,922,785),53384=>array(65,-69,907,842),53385=>array(59,-61,907,842),53386=>array(59,-61,907,842),53387=>array(59,-71,931,842),53388=>array(65,-46,907,842),53389=>array(59,-68,912,842),53390=>array(59,-76,907,842),53391=>array(59,-44,921,842),53392=>array(59,-62,917,842),53393=>array(59,-64,907,842),53394=>array(59,-64,908,842),53395=>array(59,-64,908,842),53396=>array(59,-69,923,842),53397=>array(59,-64,908,842),53398=>array(59,-64,908,842),53399=>array(59,-76,907,842),53400=>array(59,-62,907,842),53401=>array(59,-61,907,842),53402=>array(59,-69,922,842),53403=>array(59,-74,929,842),53404=>array(59,-69,927,842),53405=>array(59,-68,911,842),53406=>array(59,-72,929,842),53407=>array(59,-70,936,842),53408=>array(59,-66,908,842),53409=>array(59,-59,916,842),53410=>array(59,-60,928,842),53411=>array(59,-68,908,842),53412=>array(120,-69,907,842),53413=>array(67,-61,907,842),53414=>array(67,-61,907,842),53415=>array(67,-71,931,842),53416=>array(94,-46,907,842),53417=>array(67,-68,912,842),53418=>array(67,-76,907,842),53419=>array(67,-44,921,842),53420=>array(67,-62,917,842),53421=>array(67,-64,907,842),53422=>array(67,-64,908,842),53423=>array(67,-64,908,842),53424=>array(67,-69,923,842),53425=>array(67,-64,908,842),53426=>array(67,-64,908,842),53427=>array(67,-76,907,842),53428=>array(67,-62,907,842),53429=>array(67,-61,907,842),53430=>array(67,-69,922,842),53431=>array(67,-74,929,842),53432=>array(67,-69,927,842),53433=>array(67,-68,911,842),53434=>array(67,-72,929,842),53435=>array(67,-70,936,842),53436=>array(67,-66,908,842),53437=>array(67,-59,916,842),53438=>array(67,-60,928,842),53439=>array(67,-68,908,842),53440=>array(115,-69,936,842),53441=>array(115,-59,936,842),53442=>array(115,-61,936,842),53443=>array(115,-71,936,842),53444=>array(115,-45,936,842),53445=>array(115,-69,936,842),53446=>array(115,-76,936,842),53447=>array(115,-44,936,842),53448=>array(115,-62,936,842),53449=>array(115,-64,936,842),53450=>array(115,-64,936,842),53451=>array(115,-64,936,842),53452=>array(115,-70,936,842),53453=>array(115,-64,936,842),53454=>array(115,-64,936,842),53455=>array(115,-76,936,842),53456=>array(115,-62,936,842),53457=>array(115,-61,936,842),53458=>array(115,-70,936,842),53459=>array(115,-74,936,842),53460=>array(115,-69,936,842),53461=>array(115,-67,936,842),53462=>array(115,-72,936,842),53463=>array(115,-71,936,842),53464=>array(115,-66,936,842),53465=>array(115,-59,936,842),53466=>array(115,-60,936,842),53467=>array(115,-69,936,842),53468=>array(115,-69,907,842),53469=>array(115,-61,907,842),53470=>array(115,-61,907,842),53471=>array(115,-71,931,842),53472=>array(115,-46,907,842),53473=>array(115,-68,912,842),53474=>array(115,-76,907,842),53475=>array(115,-44,921,842),53476=>array(115,-62,917,842),53477=>array(115,-64,907,842),53478=>array(115,-64,908,842),53479=>array(115,-64,908,842),53480=>array(115,-69,923,842),53481=>array(115,-64,908,842),53482=>array(115,-64,908,842),53483=>array(115,-76,907,842),53484=>array(115,-62,907,842),53485=>array(115,-61,907,842),53486=>array(115,-69,922,842),53487=>array(115,-74,929,842),53488=>array(115,-69,927,842),53489=>array(115,-68,911,842),53490=>array(115,-72,929,842),53491=>array(115,-70,936,842),53492=>array(115,-66,908,842),53493=>array(115,-59,916,842),53494=>array(115,-60,928,842),53495=>array(115,-68,908,842),53496=>array(114,-68,935,843),53497=>array(115,-59,936,842),53498=>array(115,-61,936,842),53499=>array(115,-71,936,842),53500=>array(115,-45,936,842),53501=>array(115,-69,936,842),53502=>array(115,-76,936,842),53503=>array(115,-44,936,842),53504=>array(115,-62,936,842),53505=>array(115,-64,936,842),53506=>array(115,-64,936,842),53507=>array(115,-64,936,842),53508=>array(115,-70,936,842),53509=>array(115,-64,936,842),53510=>array(115,-64,936,842),53511=>array(115,-76,936,842),53512=>array(115,-62,936,842),53513=>array(115,-61,936,842),53514=>array(115,-70,936,842),53515=>array(115,-74,936,842),53516=>array(115,-69,936,842),53517=>array(115,-67,936,842),53518=>array(115,-72,936,842),53519=>array(115,-71,936,842),53520=>array(115,-66,936,842),53521=>array(115,-59,936,842),53522=>array(115,-60,936,842),53523=>array(115,-69,936,842),53524=>array(115,-69,907,842),53525=>array(115,-61,907,842),53526=>array(115,-61,907,842),53527=>array(115,-71,931,842),53528=>array(115,-46,907,842),53529=>array(115,-68,912,842),53530=>array(115,-76,907,842),53531=>array(115,-44,921,842),53532=>array(115,-62,917,842),53533=>array(115,-64,907,842),53534=>array(115,-64,908,842),53535=>array(115,-64,908,842),53536=>array(115,-69,923,842),53537=>array(115,-64,908,842),53538=>array(115,-64,908,842),53539=>array(115,-76,907,842),53540=>array(115,-62,907,842),53541=>array(115,-61,907,842),53542=>array(115,-69,922,842),53543=>array(115,-74,929,842),53544=>array(115,-69,927,842),53545=>array(115,-68,911,842),53546=>array(115,-72,929,842),53547=>array(115,-70,936,842),53548=>array(115,-66,908,842),53549=>array(115,-59,916,842),53550=>array(115,-60,928,842),53551=>array(115,-68,908,842),53552=>array(115,-70,907,841),53553=>array(115,-61,907,841),53554=>array(115,-61,907,841),53555=>array(115,-71,931,841),53556=>array(115,-46,907,841),53557=>array(115,-68,912,841),53558=>array(115,-76,907,841),53559=>array(115,-44,921,841),53560=>array(115,-62,917,841),53561=>array(115,-64,907,841),53562=>array(115,-64,908,841),53563=>array(115,-64,908,841),53564=>array(115,-69,923,841),53565=>array(115,-64,908,841),53566=>array(115,-64,908,841),53567=>array(115,-76,906,841),53568=>array(115,-62,907,841),53569=>array(115,-61,907,841),53570=>array(115,-69,922,841),53571=>array(115,-74,929,841),53572=>array(115,-69,927,841),53573=>array(115,-68,911,841),53574=>array(115,-72,929,841),53575=>array(115,-70,936,841),53576=>array(115,-66,908,841),53577=>array(115,-59,916,841),53578=>array(115,-60,928,841),53579=>array(115,-68,908,841),53580=>array(115,-68,907,843),53581=>array(115,-61,907,843),53582=>array(115,-61,907,843),53583=>array(115,-71,931,843),53584=>array(115,-46,907,843),53585=>array(115,-68,912,843),53586=>array(115,-76,907,843),53587=>array(115,-44,921,843),53588=>array(115,-62,917,843),53589=>array(115,-64,907,843),53590=>array(115,-64,908,843),53591=>array(115,-64,908,843),53592=>array(115,-69,923,843),53593=>array(115,-64,908,843),53594=>array(115,-64,908,843),53595=>array(115,-76,907,843),53596=>array(115,-62,907,843),53597=>array(115,-61,907,843),53598=>array(115,-69,922,843),53599=>array(115,-74,929,843),53600=>array(115,-69,927,843),53601=>array(115,-68,911,843),53602=>array(115,-72,929,843),53603=>array(115,-70,936,843),53604=>array(115,-66,908,843),53605=>array(115,-59,916,843),53606=>array(115,-60,928,843),53607=>array(115,-68,908,843),53608=>array(115,-70,907,842),53609=>array(115,-61,908,842),53610=>array(115,-61,908,842),53611=>array(115,-71,931,842),53612=>array(115,-46,907,842),53613=>array(115,-68,912,842),53614=>array(115,-76,908,842),53615=>array(115,-44,921,842),53616=>array(115,-62,917,842),53617=>array(115,-64,908,842),53618=>array(115,-64,908,842),53619=>array(115,-64,908,842),53620=>array(115,-69,923,842),53621=>array(115,-64,908,842),53622=>array(115,-64,908,842),53623=>array(115,-76,908,842),53624=>array(115,-62,908,842),53625=>array(115,-61,908,842),53626=>array(115,-69,922,842),53627=>array(115,-74,929,842),53628=>array(115,-69,927,842),53629=>array(115,-68,911,842),53630=>array(115,-72,929,842),53631=>array(115,-70,936,842),53632=>array(115,-66,908,842),53633=>array(115,-59,916,842),53634=>array(115,-60,928,842),53635=>array(115,-68,908,842),53636=>array(115,-68,907,843),53637=>array(115,-61,907,843),53638=>array(115,-61,907,843),53639=>array(115,-71,931,843),53640=>array(115,-46,907,843),53641=>array(115,-68,912,843),53642=>array(115,-76,907,843),53643=>array(115,-44,921,843),53644=>array(115,-62,917,843),53645=>array(115,-64,907,843),53646=>array(115,-64,908,843),53647=>array(115,-64,908,843),53648=>array(115,-69,923,843),53649=>array(115,-64,908,843),53650=>array(115,-64,908,843),53651=>array(115,-76,907,843),53652=>array(115,-62,907,843),53653=>array(115,-61,907,843),53654=>array(115,-69,922,843),53655=>array(115,-74,929,843),53656=>array(115,-69,927,843),53657=>array(115,-68,911,843),53658=>array(115,-72,929,843),53659=>array(115,-70,936,843),53660=>array(115,-66,908,843),53661=>array(115,-59,916,843),53662=>array(115,-60,928,843),53663=>array(115,-68,908,843),53664=>array(62,17,943,757),53665=>array(79,-61,921,799),53666=>array(79,-61,921,799),53667=>array(79,-71,921,799),53668=>array(79,-46,922,789),53669=>array(79,-68,921,799),53670=>array(79,-74,921,799),53671=>array(79,-44,921,799),53672=>array(79,-62,921,799),53673=>array(79,-64,921,799),53674=>array(79,-64,921,799),53675=>array(79,-63,921,799),53676=>array(79,-68,921,799),53677=>array(79,-64,921,799),53678=>array(79,-63,921,799),53679=>array(79,-74,921,799),53680=>array(79,-62,921,799),53681=>array(79,-61,921,799),53682=>array(79,-69,921,799),53683=>array(79,-74,921,799),53684=>array(79,-69,921,799),53685=>array(79,-68,921,799),53686=>array(79,-72,921,799),53687=>array(79,-70,921,799),53688=>array(79,-66,921,799),53689=>array(79,-59,921,799),53690=>array(79,-60,921,799),53691=>array(79,-68,921,799),53692=>array(53,-69,936,842),53693=>array(77,-59,936,842),53694=>array(77,-61,936,842),53695=>array(77,-71,936,842),53696=>array(77,-45,936,842),53697=>array(77,-69,936,842),53698=>array(77,-76,936,842),53699=>array(77,-44,936,842),53700=>array(77,-62,936,842),53701=>array(77,-64,936,842),53702=>array(77,-64,936,842),53703=>array(77,-64,936,842),53704=>array(77,-70,936,842),53705=>array(77,-64,936,842),53706=>array(77,-64,936,842),53707=>array(77,-76,936,842),53708=>array(77,-62,936,842),53709=>array(77,-61,936,842),53710=>array(77,-70,936,842),53711=>array(77,-74,936,842),53712=>array(77,-69,936,842),53713=>array(77,-67,936,842),53714=>array(77,-72,936,842),53715=>array(77,-71,936,842),53716=>array(77,-66,936,842),53717=>array(77,-59,936,842),53718=>array(77,-60,936,842),53719=>array(77,-69,936,842),53720=>array(43,-69,907,842),53721=>array(77,-61,907,842),53722=>array(77,-61,907,842),53723=>array(77,-71,931,842),53724=>array(77,-46,907,842),53725=>array(77,-68,912,842),53726=>array(77,-76,907,842),53727=>array(77,-44,921,842),53728=>array(77,-62,917,842),53729=>array(77,-64,907,842),53730=>array(77,-64,908,842),53731=>array(77,-64,908,842),53732=>array(77,-69,923,842),53733=>array(77,-64,908,842),53734=>array(77,-64,908,842),53735=>array(77,-76,907,842),53736=>array(77,-62,907,842),53737=>array(77,-61,907,842),53738=>array(77,-69,922,842),53739=>array(77,-74,929,842),53740=>array(77,-69,927,842),53741=>array(77,-68,911,842),53742=>array(77,-72,929,842),53743=>array(77,-70,936,842),53744=>array(77,-66,908,842),53745=>array(77,-59,916,842),53746=>array(77,-60,928,842),53747=>array(77,-68,908,842),53748=>array(53,-68,907,843),53749=>array(65,-61,907,842),53750=>array(65,-61,907,842),53751=>array(65,-71,931,842),53752=>array(65,-46,907,842),53753=>array(65,-68,912,842),53754=>array(65,-76,907,842),53755=>array(65,-44,921,842),53756=>array(65,-62,917,842),53757=>array(65,-64,907,842),53758=>array(65,-64,908,842),53759=>array(65,-64,908,842),53760=>array(65,-69,923,842),53761=>array(65,-64,908,842),53762=>array(65,-64,908,842),53763=>array(65,-76,907,842),53764=>array(65,-62,907,842),53765=>array(65,-61,907,842),53766=>array(65,-69,922,842),53767=>array(65,-74,929,842),53768=>array(65,-69,927,842),53769=>array(65,-68,911,842),53770=>array(65,-72,929,842),53771=>array(65,-70,936,842),53772=>array(65,-66,908,842),53773=>array(65,-59,916,842),53774=>array(65,-60,928,842),53775=>array(65,-68,908,842),53776=>array(62,7,943,777),53777=>array(79,-61,921,799),53778=>array(79,-61,921,799),53779=>array(79,-71,921,799),53780=>array(79,-46,921,794),53781=>array(79,-68,921,799),53782=>array(79,-74,921,799),53783=>array(79,-44,921,799),53784=>array(79,-62,921,799),53785=>array(79,-64,921,799),53786=>array(79,-64,921,799),53787=>array(79,-63,921,799),53788=>array(79,-68,921,799),53789=>array(79,-64,921,799),53790=>array(79,-63,921,799),53791=>array(79,-74,921,799),53792=>array(79,-62,921,799),53793=>array(79,-61,921,799),53794=>array(79,-69,921,799),53795=>array(79,-74,921,799),53796=>array(79,-69,921,799),53797=>array(79,-68,921,799),53798=>array(79,-72,921,799),53799=>array(79,-70,921,799),53800=>array(79,-66,921,799),53801=>array(79,-59,921,799),53802=>array(79,-60,921,799),53803=>array(79,-68,921,799),53804=>array(82,-64,924,789),53805=>array(79,-61,921,799),53806=>array(79,-61,921,799),53807=>array(79,-71,921,799),53808=>array(79,-46,921,789),53809=>array(79,-68,921,799),53810=>array(79,-74,921,799),53811=>array(79,-44,921,799),53812=>array(79,-62,921,799),53813=>array(79,-64,921,799),53814=>array(79,-64,921,799),53815=>array(79,-63,921,799),53816=>array(79,-68,921,799),53817=>array(79,-64,921,799),53818=>array(79,-63,921,799),53819=>array(79,-74,921,799),53820=>array(79,-62,921,799),53821=>array(79,-61,921,799),53822=>array(79,-69,921,799),53823=>array(79,-74,921,799),53824=>array(79,-69,921,799),53825=>array(79,-68,921,799),53826=>array(79,-72,921,799),53827=>array(79,-70,921,799),53828=>array(79,-66,921,799),53829=>array(79,-59,921,799),53830=>array(79,-60,921,799),53831=>array(79,-68,921,799),53832=>array(76,-70,907,841),53833=>array(74,-61,909,843),53834=>array(74,-61,909,843),53835=>array(74,-71,931,843),53836=>array(75,-46,909,843),53837=>array(74,-68,912,843),53838=>array(74,-76,909,843),53839=>array(74,-44,921,843),53840=>array(74,-62,917,843),53841=>array(74,-64,909,843),53842=>array(74,-64,909,843),53843=>array(74,-64,909,843),53844=>array(74,-69,923,843),53845=>array(74,-64,909,843),53846=>array(74,-64,909,843),53847=>array(74,-76,909,843),53848=>array(74,-62,909,843),53849=>array(74,-61,909,843),53850=>array(74,-69,922,843),53851=>array(74,-74,929,843),53852=>array(74,-69,927,843),53853=>array(74,-68,911,843),53854=>array(74,-72,929,843),53855=>array(74,-70,936,843),53856=>array(74,-66,909,843),53857=>array(74,-59,916,843),53858=>array(74,-60,928,843),53859=>array(74,-68,909,843),53860=>array(56,-68,907,843),53861=>array(68,-61,907,843),53862=>array(68,-61,907,843),53863=>array(68,-71,931,843),53864=>array(74,-46,907,843),53865=>array(68,-68,912,843),53866=>array(68,-76,907,843),53867=>array(68,-44,921,843),53868=>array(68,-62,917,843),53869=>array(68,-64,907,843),53870=>array(68,-64,908,843),53871=>array(68,-64,908,843),53872=>array(68,-69,923,843),53873=>array(68,-64,908,843),53874=>array(68,-64,908,843),53875=>array(68,-76,907,843),53876=>array(68,-62,907,843),53877=>array(68,-61,907,843),53878=>array(68,-69,922,843),53879=>array(68,-74,929,843),53880=>array(68,-69,927,843),53881=>array(68,-68,911,843),53882=>array(68,-72,929,843),53883=>array(68,-70,936,843),53884=>array(68,-66,908,843),53885=>array(68,-59,916,843),53886=>array(68,-60,928,843),53887=>array(68,-68,908,843),53888=>array(67,-69,907,842),53889=>array(65,-61,907,842),53890=>array(65,-61,907,842),53891=>array(65,-71,931,842),53892=>array(65,-46,907,842),53893=>array(65,-68,912,842),53894=>array(65,-76,907,842),53895=>array(65,-44,921,842),53896=>array(65,-62,917,842),53897=>array(65,-64,907,842),53898=>array(65,-64,908,842),53899=>array(65,-64,908,842),53900=>array(65,-69,923,842),53901=>array(65,-64,908,842),53902=>array(65,-64,908,842),53903=>array(65,-76,907,842),53904=>array(65,-62,907,842),53905=>array(65,-61,907,842),53906=>array(65,-69,922,842),53907=>array(65,-74,929,842),53908=>array(65,-69,927,842),53909=>array(65,-68,911,842),53910=>array(65,-72,929,842),53911=>array(65,-70,936,842),53912=>array(65,-66,908,842),53913=>array(65,-59,916,842),53914=>array(65,-60,928,842),53915=>array(65,-68,908,842),53916=>array(82,-64,924,784),53917=>array(79,-61,921,799),53918=>array(79,-61,921,799),53919=>array(79,-71,921,799),53920=>array(81,-46,922,789),53921=>array(79,-68,921,799),53922=>array(79,-74,921,799),53923=>array(79,-44,921,799),53924=>array(79,-62,921,799),53925=>array(79,-64,921,799),53926=>array(79,-64,921,799),53927=>array(79,-63,921,799),53928=>array(79,-68,921,799),53929=>array(79,-64,921,799),53930=>array(79,-63,921,799),53931=>array(79,-74,921,799),53932=>array(79,-62,921,799),53933=>array(79,-61,921,799),53934=>array(79,-69,921,799),53935=>array(79,-74,921,799),53936=>array(79,-69,921,799),53937=>array(79,-68,921,799),53938=>array(79,-72,921,799),53939=>array(79,-70,921,799),53940=>array(79,-66,921,799),53941=>array(79,-59,921,799),53942=>array(79,-60,921,799),53943=>array(79,-68,921,799),53944=>array(57,52,943,719),53945=>array(79,-61,922,796),53946=>array(79,-61,922,796),53947=>array(79,-71,922,796),53948=>array(79,-46,921,791),53949=>array(79,-68,922,796),53950=>array(79,-74,922,796),53951=>array(79,-44,922,796),53952=>array(79,-62,922,796),53953=>array(79,-64,922,796),53954=>array(79,-64,922,796),53955=>array(79,-63,922,796),53956=>array(79,-68,922,796),53957=>array(79,-64,922,796),53958=>array(79,-63,922,796),53959=>array(79,-74,922,796),53960=>array(79,-62,922,796),53961=>array(79,-61,922,796),53962=>array(79,-69,922,796),53963=>array(79,-74,922,796),53964=>array(79,-69,922,796),53965=>array(79,-68,922,796),53966=>array(79,-72,922,796),53967=>array(79,-70,922,796),53968=>array(79,-66,922,796),53969=>array(79,-59,922,796),53970=>array(79,-60,922,796),53971=>array(79,-68,922,796),53972=>array(67,-69,907,842),53973=>array(65,-61,907,842),53974=>array(65,-61,907,842),53975=>array(65,-71,931,842),53976=>array(65,-46,907,842),53977=>array(65,-68,912,842),53978=>array(65,-76,907,842),53979=>array(65,-44,921,842),53980=>array(65,-62,917,842),53981=>array(65,-64,907,842),53982=>array(65,-64,908,842),53983=>array(65,-64,908,842),53984=>array(65,-69,923,842),53985=>array(65,-64,908,842),53986=>array(65,-64,908,842),53987=>array(65,-76,907,842),53988=>array(65,-62,907,842),53989=>array(65,-61,907,842),53990=>array(65,-69,922,842),53991=>array(65,-74,929,842),53992=>array(65,-69,927,842),53993=>array(65,-68,911,842),53994=>array(65,-72,929,842),53995=>array(65,-70,936,842),53996=>array(65,-66,908,842),53997=>array(65,-59,916,842),53998=>array(65,-60,928,842),53999=>array(65,-68,908,842),54000=>array(125,-69,907,842),54001=>array(130,-61,907,842),54002=>array(130,-61,907,842),54003=>array(130,-71,931,842),54004=>array(125,-46,907,842),54005=>array(130,-68,912,842),54006=>array(130,-76,907,842),54007=>array(130,-44,921,842),54008=>array(130,-62,917,842),54009=>array(130,-64,907,842),54010=>array(130,-64,908,842),54011=>array(130,-64,908,842),54012=>array(130,-69,923,842),54013=>array(130,-64,908,842),54014=>array(130,-64,908,842),54015=>array(130,-76,907,842),54016=>array(130,-62,907,842),54017=>array(130,-61,907,842),54018=>array(130,-69,922,842),54019=>array(130,-74,929,842),54020=>array(130,-69,927,842),54021=>array(130,-68,911,842),54022=>array(130,-72,929,842),54023=>array(130,-70,936,842),54024=>array(130,-66,908,842),54025=>array(130,-59,916,842),54026=>array(130,-60,928,842),54027=>array(130,-68,908,842),54028=>array(84,-69,936,842),54029=>array(66,-59,936,842),54030=>array(66,-61,936,842),54031=>array(66,-71,936,842),54032=>array(78,-45,936,842),54033=>array(66,-69,936,842),54034=>array(66,-76,936,842),54035=>array(66,-44,936,842),54036=>array(66,-62,936,842),54037=>array(66,-64,936,842),54038=>array(66,-64,936,842),54039=>array(66,-64,936,842),54040=>array(66,-70,936,842),54041=>array(66,-64,936,842),54042=>array(66,-64,936,842),54043=>array(66,-76,936,842),54044=>array(66,-62,936,842),54045=>array(66,-61,936,842),54046=>array(66,-70,936,842),54047=>array(66,-74,936,842),54048=>array(66,-69,936,842),54049=>array(66,-67,936,842),54050=>array(66,-72,936,842),54051=>array(66,-71,936,842),54052=>array(66,-66,936,842),54053=>array(66,-59,936,842),54054=>array(66,-60,936,842),54055=>array(66,-69,936,842),54056=>array(73,-69,907,842),54057=>array(83,-61,907,842),54058=>array(83,-61,907,842),54059=>array(83,-71,931,842),54060=>array(78,-46,907,842),54061=>array(83,-68,912,842),54062=>array(83,-76,907,842),54063=>array(83,-44,921,842),54064=>array(83,-62,917,842),54065=>array(83,-64,907,842),54066=>array(83,-64,908,842),54067=>array(83,-64,908,842),54068=>array(83,-69,923,842),54069=>array(83,-64,908,842),54070=>array(83,-64,908,842),54071=>array(83,-76,907,842),54072=>array(83,-62,907,842),54073=>array(83,-61,907,842),54074=>array(83,-69,922,842),54075=>array(83,-74,929,842),54076=>array(83,-69,927,842),54077=>array(83,-68,911,842),54078=>array(83,-72,929,842),54079=>array(83,-70,936,842),54080=>array(83,-66,908,842),54081=>array(83,-59,916,842),54082=>array(83,-60,928,842),54083=>array(83,-68,908,842),54084=>array(84,-68,935,843),54085=>array(66,-59,936,842),54086=>array(66,-61,936,842),54087=>array(66,-71,936,842),54088=>array(78,-45,936,842),54089=>array(66,-69,936,842),54090=>array(66,-76,936,842),54091=>array(66,-44,936,842),54092=>array(66,-62,936,842),54093=>array(66,-64,936,842),54094=>array(66,-64,936,842),54095=>array(66,-64,936,842),54096=>array(66,-70,936,842),54097=>array(66,-64,936,842),54098=>array(66,-64,936,842),54099=>array(66,-76,936,842),54100=>array(66,-62,936,842),54101=>array(66,-61,936,842),54102=>array(66,-70,936,842),54103=>array(66,-74,936,842),54104=>array(66,-69,936,842),54105=>array(66,-67,936,842),54106=>array(66,-72,936,842),54107=>array(66,-71,936,842),54108=>array(66,-66,936,842),54109=>array(66,-59,936,842),54110=>array(66,-60,936,842),54111=>array(66,-69,936,842),54112=>array(73,-69,907,842),54113=>array(83,-61,907,842),54114=>array(83,-61,907,842),54115=>array(83,-71,931,842),54116=>array(78,-46,907,842),54117=>array(83,-68,912,842),54118=>array(83,-76,907,842),54119=>array(83,-44,921,842),54120=>array(83,-62,917,842),54121=>array(83,-64,907,842),54122=>array(83,-64,908,842),54123=>array(83,-64,908,842),54124=>array(83,-69,923,842),54125=>array(83,-64,908,842),54126=>array(83,-64,908,842),54127=>array(83,-76,907,842),54128=>array(83,-62,907,842),54129=>array(83,-61,907,842),54130=>array(83,-69,922,842),54131=>array(83,-74,929,842),54132=>array(83,-69,927,842),54133=>array(83,-68,911,842),54134=>array(83,-72,929,842),54135=>array(83,-70,936,842),54136=>array(83,-66,908,842),54137=>array(83,-59,916,842),54138=>array(83,-60,928,842),54139=>array(83,-68,908,842),54140=>array(84,-70,907,841),54141=>array(66,-61,907,841),54142=>array(66,-61,907,841),54143=>array(66,-71,931,841),54144=>array(78,-46,907,841),54145=>array(66,-68,912,841),54146=>array(66,-76,907,841),54147=>array(66,-44,921,841),54148=>array(66,-62,917,841),54149=>array(66,-64,907,841),54150=>array(66,-64,908,841),54151=>array(66,-64,908,841),54152=>array(66,-69,923,841),54153=>array(66,-64,908,841),54154=>array(66,-64,908,841),54155=>array(66,-76,906,841),54156=>array(66,-62,907,841),54157=>array(66,-61,907,841),54158=>array(66,-69,922,841),54159=>array(66,-74,929,841),54160=>array(66,-69,927,841),54161=>array(66,-68,911,841),54162=>array(66,-72,929,841),54163=>array(66,-70,936,841),54164=>array(66,-66,908,841),54165=>array(66,-59,916,841),54166=>array(66,-60,928,841),54167=>array(66,-68,908,841),54168=>array(63,-68,907,843),54169=>array(65,-61,907,843),54170=>array(65,-61,907,843),54171=>array(65,-71,931,843),54172=>array(83,-46,907,843),54173=>array(65,-68,912,843),54174=>array(65,-76,907,843),54175=>array(65,-44,921,843),54176=>array(65,-62,917,843),54177=>array(65,-64,907,843),54178=>array(65,-64,908,843),54179=>array(65,-64,908,843),54180=>array(65,-69,923,843),54181=>array(65,-64,908,843),54182=>array(65,-64,908,843),54183=>array(65,-76,907,843),54184=>array(65,-62,907,843),54185=>array(65,-61,907,843),54186=>array(65,-69,922,843),54187=>array(65,-74,929,843),54188=>array(65,-69,927,843),54189=>array(65,-68,911,843),54190=>array(65,-72,929,843),54191=>array(65,-70,936,843),54192=>array(65,-66,908,843),54193=>array(65,-59,916,843),54194=>array(65,-60,928,843),54195=>array(65,-68,908,843),54196=>array(74,-70,907,842),54197=>array(56,-61,908,842),54198=>array(56,-61,908,842),54199=>array(56,-71,931,842),54200=>array(68,-46,907,842),54201=>array(56,-68,912,842),54202=>array(56,-76,908,842),54203=>array(56,-44,921,842),54204=>array(56,-62,917,842),54205=>array(56,-64,908,842),54206=>array(56,-64,908,842),54207=>array(56,-64,908,842),54208=>array(56,-69,923,842),54209=>array(56,-64,908,842),54210=>array(56,-64,908,842),54211=>array(56,-76,908,842),54212=>array(56,-62,908,842),54213=>array(56,-61,908,842),54214=>array(56,-69,922,842),54215=>array(56,-74,929,842),54216=>array(56,-69,927,842),54217=>array(56,-68,911,842),54218=>array(56,-72,929,842),54219=>array(56,-70,936,842),54220=>array(56,-66,908,842),54221=>array(56,-59,916,842),54222=>array(56,-60,928,842),54223=>array(56,-68,908,842),54224=>array(63,-68,907,843),54225=>array(65,-61,907,843),54226=>array(65,-61,907,843),54227=>array(65,-71,931,843),54228=>array(83,-46,907,843),54229=>array(65,-68,912,843),54230=>array(65,-76,907,843),54231=>array(65,-44,921,843),54232=>array(65,-62,917,843),54233=>array(65,-64,907,843),54234=>array(65,-64,908,843),54235=>array(65,-64,908,843),54236=>array(65,-69,923,843),54237=>array(65,-64,908,843),54238=>array(65,-64,908,843),54239=>array(65,-76,907,843),54240=>array(65,-62,907,843),54241=>array(65,-61,907,843),54242=>array(65,-69,922,843),54243=>array(65,-74,929,843),54244=>array(65,-69,927,843),54245=>array(65,-68,911,843),54246=>array(65,-72,929,843),54247=>array(65,-70,936,843),54248=>array(65,-66,908,843),54249=>array(65,-59,916,843),54250=>array(65,-60,928,843),54251=>array(65,-68,908,843),54252=>array(62,22,938,724),54253=>array(79,-61,921,799),54254=>array(79,-61,921,799),54255=>array(79,-71,921,799),54256=>array(79,-46,922,799),54257=>array(79,-68,921,799),54258=>array(79,-74,921,799),54259=>array(79,-44,921,799),54260=>array(79,-62,921,799),54261=>array(79,-64,921,799),54262=>array(79,-64,921,799),54263=>array(79,-63,921,799),54264=>array(79,-68,921,799),54265=>array(79,-64,921,799),54266=>array(79,-63,921,799),54267=>array(79,-74,921,799),54268=>array(79,-62,921,799),54269=>array(79,-61,921,799),54270=>array(79,-69,921,799),54271=>array(79,-74,921,799),54272=>array(79,-69,921,799),54273=>array(79,-68,921,799),54274=>array(79,-72,921,799),54275=>array(79,-70,921,799),54276=>array(79,-66,921,799),54277=>array(79,-59,921,799),54278=>array(79,-60,921,799),54279=>array(79,-68,921,799),54280=>array(68,-69,936,842),54281=>array(77,-59,936,842),54282=>array(77,-61,936,842),54283=>array(77,-71,936,842),54284=>array(77,-45,936,842),54285=>array(77,-69,936,842),54286=>array(77,-76,936,842),54287=>array(77,-44,936,842),54288=>array(77,-62,936,842),54289=>array(77,-64,936,842),54290=>array(77,-64,936,842),54291=>array(77,-64,936,842),54292=>array(77,-70,936,842),54293=>array(77,-64,936,842),54294=>array(77,-64,936,842),54295=>array(77,-76,936,842),54296=>array(77,-62,936,842),54297=>array(77,-61,936,842),54298=>array(77,-70,936,842),54299=>array(77,-74,936,842),54300=>array(77,-69,936,842),54301=>array(77,-67,936,842),54302=>array(77,-72,936,842),54303=>array(77,-71,936,842),54304=>array(77,-66,936,842),54305=>array(77,-59,936,842),54306=>array(77,-60,936,842),54307=>array(77,-69,936,842),54308=>array(59,-69,907,842),54309=>array(77,-61,907,842),54310=>array(77,-61,907,842),54311=>array(77,-71,931,842),54312=>array(67,-46,907,842),54313=>array(77,-68,912,842),54314=>array(77,-76,907,842),54315=>array(77,-44,921,842),54316=>array(77,-62,917,842),54317=>array(77,-64,907,842),54318=>array(77,-64,908,842),54319=>array(77,-64,908,842),54320=>array(77,-69,923,842),54321=>array(77,-64,908,842),54322=>array(77,-64,908,842),54323=>array(77,-76,907,842),54324=>array(77,-62,907,842),54325=>array(77,-61,907,842),54326=>array(77,-69,922,842),54327=>array(77,-74,929,842),54328=>array(77,-69,927,842),54329=>array(77,-68,911,842),54330=>array(77,-72,929,842),54331=>array(77,-70,936,842),54332=>array(77,-66,908,842),54333=>array(77,-59,916,842),54334=>array(77,-60,928,842),54335=>array(77,-68,908,842),54336=>array(53,-68,908,843),54337=>array(65,-61,907,842),54338=>array(65,-61,907,842),54339=>array(65,-71,931,842),54340=>array(65,-46,907,842),54341=>array(65,-68,912,842),54342=>array(65,-76,907,842),54343=>array(65,-44,921,842),54344=>array(65,-62,917,842),54345=>array(65,-64,907,842),54346=>array(65,-64,908,842),54347=>array(65,-64,908,842),54348=>array(65,-69,923,842),54349=>array(65,-64,908,842),54350=>array(65,-64,908,842),54351=>array(65,-76,907,842),54352=>array(65,-62,907,842),54353=>array(65,-61,907,842),54354=>array(65,-69,922,842),54355=>array(65,-74,929,842),54356=>array(65,-69,927,842),54357=>array(65,-68,911,842),54358=>array(65,-72,929,842),54359=>array(65,-70,936,842),54360=>array(65,-66,908,842),54361=>array(65,-59,916,842),54362=>array(65,-60,928,842),54363=>array(65,-68,908,842),54364=>array(60,17,940,739),54365=>array(79,-61,921,799),54366=>array(79,-61,921,799),54367=>array(79,-71,921,799),54368=>array(79,-46,921,799),54369=>array(79,-68,921,799),54370=>array(79,-74,921,799),54371=>array(79,-44,921,799),54372=>array(79,-62,921,799),54373=>array(79,-64,921,799),54374=>array(79,-64,921,799),54375=>array(79,-63,921,799),54376=>array(79,-68,921,799),54377=>array(79,-64,921,799),54378=>array(79,-63,921,799),54379=>array(79,-74,921,799),54380=>array(79,-62,921,799),54381=>array(79,-61,921,799),54382=>array(79,-69,921,799),54383=>array(79,-74,921,799),54384=>array(79,-69,921,799),54385=>array(79,-68,921,799),54386=>array(79,-72,921,799),54387=>array(79,-70,921,799),54388=>array(79,-66,921,799),54389=>array(79,-59,921,799),54390=>array(79,-60,921,799),54391=>array(79,-68,921,799),54392=>array(79,-64,921,794),54393=>array(79,-61,921,799),54394=>array(79,-61,921,799),54395=>array(79,-71,921,799),54396=>array(79,-46,921,799),54397=>array(79,-68,921,799),54398=>array(79,-74,921,799),54399=>array(79,-44,921,799),54400=>array(79,-62,921,799),54401=>array(79,-64,921,799),54402=>array(79,-64,921,799),54403=>array(79,-63,921,799),54404=>array(79,-68,921,799),54405=>array(79,-64,921,799),54406=>array(79,-63,921,799),54407=>array(79,-74,921,799),54408=>array(79,-62,921,799),54409=>array(79,-61,921,799),54410=>array(79,-69,921,799),54411=>array(79,-74,921,799),54412=>array(79,-69,921,799),54413=>array(79,-68,921,799),54414=>array(79,-72,921,799),54415=>array(79,-70,921,799),54416=>array(79,-66,921,799),54417=>array(79,-59,921,799),54418=>array(79,-60,921,799),54419=>array(79,-68,921,799),54420=>array(67,-65,882,841),54421=>array(72,-61,907,836),54422=>array(72,-61,907,836),54423=>array(72,-71,931,836),54424=>array(75,-46,907,841),54425=>array(72,-68,912,836),54426=>array(72,-76,907,836),54427=>array(72,-44,921,836),54428=>array(72,-62,917,836),54429=>array(72,-64,907,836),54430=>array(72,-64,908,836),54431=>array(72,-64,908,836),54432=>array(72,-69,923,836),54433=>array(72,-64,908,836),54434=>array(72,-64,908,836),54435=>array(72,-76,906,836),54436=>array(72,-62,907,836),54437=>array(72,-61,907,836),54438=>array(72,-69,922,836),54439=>array(72,-74,929,836),54440=>array(72,-69,927,836),54441=>array(72,-68,911,836),54442=>array(72,-72,929,836),54443=>array(72,-70,936,836),54444=>array(72,-66,908,836),54445=>array(72,-59,916,836),54446=>array(72,-60,928,836),54447=>array(72,-68,908,836),54448=>array(62,-63,912,843),54449=>array(70,-61,907,838),54450=>array(70,-61,907,838),54451=>array(70,-71,931,838),54452=>array(76,-46,907,843),54453=>array(70,-68,912,838),54454=>array(70,-76,907,838),54455=>array(70,-44,921,838),54456=>array(70,-62,917,838),54457=>array(70,-64,907,838),54458=>array(70,-64,908,838),54459=>array(70,-64,908,838),54460=>array(70,-69,923,838),54461=>array(70,-64,908,838),54462=>array(70,-64,908,838),54463=>array(70,-76,906,838),54464=>array(70,-62,907,838),54465=>array(70,-61,907,838),54466=>array(70,-69,922,838),54467=>array(70,-74,929,838),54468=>array(70,-69,927,838),54469=>array(70,-68,911,838),54470=>array(70,-72,929,838),54471=>array(70,-70,936,838),54472=>array(70,-66,908,838),54473=>array(70,-59,916,838),54474=>array(70,-60,928,838),54475=>array(70,-68,908,838),54476=>array(71,-69,907,842),54477=>array(65,-61,907,842),54478=>array(65,-61,907,842),54479=>array(65,-71,931,842),54480=>array(65,-46,907,842),54481=>array(65,-68,912,842),54482=>array(65,-76,907,842),54483=>array(65,-44,921,842),54484=>array(65,-62,917,842),54485=>array(65,-64,907,842),54486=>array(65,-64,908,842),54487=>array(65,-64,908,842),54488=>array(65,-69,923,842),54489=>array(65,-64,908,842),54490=>array(65,-64,908,842),54491=>array(65,-76,907,842),54492=>array(65,-62,907,842),54493=>array(65,-61,907,842),54494=>array(65,-69,922,842),54495=>array(65,-74,929,842),54496=>array(65,-69,927,842),54497=>array(65,-68,911,842),54498=>array(65,-72,929,842),54499=>array(65,-70,936,842),54500=>array(65,-66,908,842),54501=>array(65,-59,916,842),54502=>array(65,-60,928,842),54503=>array(65,-68,908,842),54504=>array(79,-64,921,794),54505=>array(79,-61,921,799),54506=>array(79,-61,921,799),54507=>array(79,-71,921,799),54508=>array(81,-46,922,799),54509=>array(79,-68,921,799),54510=>array(79,-74,921,799),54511=>array(79,-44,921,799),54512=>array(79,-62,921,799),54513=>array(79,-64,921,799),54514=>array(79,-64,921,799),54515=>array(79,-63,921,799),54516=>array(79,-68,921,799),54517=>array(79,-64,921,799),54518=>array(79,-63,921,799),54519=>array(79,-74,921,799),54520=>array(79,-62,921,799),54521=>array(79,-61,921,799),54522=>array(79,-69,921,799),54523=>array(79,-74,921,799),54524=>array(79,-69,921,799),54525=>array(79,-68,921,799),54526=>array(79,-72,921,799),54527=>array(79,-70,921,799),54528=>array(79,-66,921,799),54529=>array(79,-59,921,799),54530=>array(79,-60,921,799),54531=>array(79,-68,921,799),54532=>array(57,52,943,724),54533=>array(79,-61,922,799),54534=>array(79,-61,922,799),54535=>array(79,-71,922,799),54536=>array(79,-46,921,799),54537=>array(79,-68,922,799),54538=>array(79,-74,922,799),54539=>array(79,-44,922,799),54540=>array(79,-62,922,799),54541=>array(79,-64,922,799),54542=>array(79,-64,922,799),54543=>array(79,-63,922,799),54544=>array(79,-68,922,799),54545=>array(79,-64,922,799),54546=>array(79,-63,922,799),54547=>array(79,-74,922,799),54548=>array(79,-62,922,799),54549=>array(79,-61,922,799),54550=>array(79,-69,922,799),54551=>array(79,-74,922,799),54552=>array(79,-69,922,799),54553=>array(79,-68,922,799),54554=>array(79,-72,922,799),54555=>array(79,-70,922,799),54556=>array(79,-66,922,799),54557=>array(79,-59,922,799),54558=>array(79,-60,922,799),54559=>array(79,-68,922,799),54560=>array(67,-69,907,842),54561=>array(65,-61,907,842),54562=>array(65,-61,907,842),54563=>array(65,-71,931,842),54564=>array(65,-46,907,842),54565=>array(65,-68,912,842),54566=>array(65,-76,907,842),54567=>array(65,-44,921,842),54568=>array(65,-62,917,842),54569=>array(65,-64,907,842),54570=>array(65,-64,908,842),54571=>array(65,-64,908,842),54572=>array(65,-69,923,842),54573=>array(65,-64,908,842),54574=>array(65,-64,908,842),54575=>array(65,-76,907,842),54576=>array(65,-62,907,842),54577=>array(65,-61,907,842),54578=>array(65,-69,922,842),54579=>array(65,-74,929,842),54580=>array(65,-69,927,842),54581=>array(65,-68,911,842),54582=>array(65,-72,929,842),54583=>array(65,-70,936,842),54584=>array(65,-66,908,842),54585=>array(65,-59,916,842),54586=>array(65,-60,928,842),54587=>array(65,-68,908,842),54588=>array(85,-69,907,842),54589=>array(86,-61,907,842),54590=>array(86,-61,907,842),54591=>array(86,-71,931,842),54592=>array(86,-46,907,842),54593=>array(86,-68,912,842),54594=>array(86,-76,907,842),54595=>array(86,-44,921,842),54596=>array(86,-62,917,842),54597=>array(86,-64,907,842),54598=>array(86,-64,908,842),54599=>array(86,-64,908,842),54600=>array(86,-69,923,842),54601=>array(86,-64,908,842),54602=>array(86,-64,908,842),54603=>array(86,-76,907,842),54604=>array(86,-62,907,842),54605=>array(86,-61,907,842),54606=>array(86,-69,922,842),54607=>array(86,-74,929,842),54608=>array(86,-69,927,842),54609=>array(86,-68,911,842),54610=>array(86,-72,929,842),54611=>array(86,-70,936,842),54612=>array(86,-66,908,842),54613=>array(86,-59,916,842),54614=>array(86,-60,928,842),54615=>array(86,-68,908,842),54616=>array(94,-69,936,842),54617=>array(85,-59,936,842),54618=>array(85,-61,936,842),54619=>array(85,-71,936,842),54620=>array(85,-45,936,842),54621=>array(85,-69,936,842),54622=>array(85,-76,936,842),54623=>array(85,-44,936,842),54624=>array(85,-62,936,842),54625=>array(85,-64,936,842),54626=>array(85,-64,936,842),54627=>array(85,-64,936,842),54628=>array(85,-70,936,842),54629=>array(85,-64,936,842),54630=>array(85,-64,936,842),54631=>array(85,-76,936,842),54632=>array(85,-62,936,842),54633=>array(85,-61,936,842),54634=>array(85,-70,936,842),54635=>array(85,-74,936,842),54636=>array(85,-69,936,842),54637=>array(85,-67,936,842),54638=>array(85,-72,936,842),54639=>array(85,-71,936,842),54640=>array(85,-66,936,842),54641=>array(85,-59,936,842),54642=>array(85,-60,936,842),54643=>array(85,-69,936,842),54644=>array(79,-69,907,842),54645=>array(85,-61,907,842),54646=>array(85,-61,907,842),54647=>array(85,-71,931,842),54648=>array(85,-46,907,842),54649=>array(85,-68,912,842),54650=>array(85,-76,907,842),54651=>array(85,-44,921,842),54652=>array(85,-62,917,842),54653=>array(85,-64,907,842),54654=>array(85,-64,908,842),54655=>array(85,-64,908,842),54656=>array(85,-69,923,842),54657=>array(85,-64,908,842),54658=>array(85,-64,908,842),54659=>array(85,-76,907,842),54660=>array(85,-62,907,842),54661=>array(85,-61,907,842),54662=>array(85,-69,922,842),54663=>array(85,-74,929,842),54664=>array(85,-69,927,842),54665=>array(85,-68,911,842),54666=>array(85,-72,929,842),54667=>array(85,-70,936,842),54668=>array(85,-66,908,842),54669=>array(85,-59,916,842),54670=>array(85,-60,928,842),54671=>array(85,-68,908,842),54672=>array(94,-68,935,843),54673=>array(85,-59,936,842),54674=>array(85,-61,936,842),54675=>array(85,-71,936,842),54676=>array(85,-45,936,842),54677=>array(85,-69,936,842),54678=>array(85,-76,936,842),54679=>array(85,-44,936,842),54680=>array(85,-62,936,842),54681=>array(85,-64,936,842),54682=>array(85,-64,936,842),54683=>array(85,-64,936,842),54684=>array(85,-70,936,842),54685=>array(85,-64,936,842),54686=>array(85,-64,936,842),54687=>array(85,-76,936,842),54688=>array(85,-62,936,842),54689=>array(85,-61,936,842),54690=>array(85,-70,936,842),54691=>array(85,-74,936,842),54692=>array(85,-69,936,842),54693=>array(85,-67,936,842),54694=>array(85,-72,936,842),54695=>array(85,-71,936,842),54696=>array(85,-66,936,842),54697=>array(85,-59,936,842),54698=>array(85,-60,936,842),54699=>array(85,-69,936,842),54700=>array(79,-69,907,842),54701=>array(85,-61,907,842),54702=>array(85,-61,907,842),54703=>array(85,-71,931,842),54704=>array(85,-46,907,842),54705=>array(85,-68,912,842),54706=>array(85,-76,907,842),54707=>array(85,-44,921,842),54708=>array(85,-62,917,842),54709=>array(85,-64,907,842),54710=>array(85,-64,908,842),54711=>array(85,-64,908,842),54712=>array(85,-69,923,842),54713=>array(85,-64,908,842),54714=>array(85,-64,908,842),54715=>array(85,-76,907,842),54716=>array(85,-62,907,842),54717=>array(85,-61,907,842),54718=>array(85,-69,922,842),54719=>array(85,-74,929,842),54720=>array(85,-69,927,842),54721=>array(85,-68,911,842),54722=>array(85,-72,929,842),54723=>array(85,-70,936,842),54724=>array(85,-66,908,842),54725=>array(85,-59,916,842),54726=>array(85,-60,928,842),54727=>array(85,-68,908,842),54728=>array(79,-70,907,841),54729=>array(85,-61,907,842),54730=>array(85,-61,907,842),54731=>array(85,-71,931,842),54732=>array(85,-46,907,841),54733=>array(85,-68,912,842),54734=>array(85,-76,907,842),54735=>array(85,-44,921,842),54736=>array(85,-62,917,842),54737=>array(85,-64,907,842),54738=>array(85,-64,908,842),54739=>array(85,-64,908,842),54740=>array(85,-69,923,842),54741=>array(85,-64,908,842),54742=>array(85,-64,908,842),54743=>array(85,-76,906,842),54744=>array(85,-62,907,842),54745=>array(85,-61,907,842),54746=>array(85,-69,922,842),54747=>array(85,-74,929,842),54748=>array(85,-69,927,842),54749=>array(85,-68,911,842),54750=>array(85,-72,929,842),54751=>array(85,-70,936,842),54752=>array(85,-66,908,842),54753=>array(85,-59,916,842),54754=>array(85,-60,928,842),54755=>array(85,-68,908,842),54756=>array(69,-68,907,843),54757=>array(50,-61,907,843),54758=>array(50,-61,907,843),54759=>array(50,-71,931,843),54760=>array(60,-46,907,843),54761=>array(50,-68,912,843),54762=>array(50,-76,907,843),54763=>array(50,-44,921,843),54764=>array(50,-62,917,843),54765=>array(50,-64,907,843),54766=>array(50,-64,908,843),54767=>array(50,-64,908,843),54768=>array(50,-69,923,843),54769=>array(50,-64,908,843),54770=>array(50,-64,908,843),54771=>array(50,-76,907,843),54772=>array(50,-62,907,843),54773=>array(50,-61,907,843),54774=>array(50,-69,922,843),54775=>array(50,-74,929,843),54776=>array(50,-69,927,843),54777=>array(50,-68,911,843),54778=>array(50,-72,929,843),54779=>array(50,-70,936,843),54780=>array(50,-66,908,843),54781=>array(50,-59,916,843),54782=>array(50,-60,928,843),54783=>array(50,-68,908,843),54784=>array(89,-70,907,842),54785=>array(75,-61,907,842),54786=>array(75,-61,907,842),54787=>array(75,-71,931,842),54788=>array(85,-46,907,842),54789=>array(75,-68,912,842),54790=>array(75,-76,907,842),54791=>array(75,-44,921,842),54792=>array(75,-62,917,842),54793=>array(75,-64,907,842),54794=>array(75,-64,908,842),54795=>array(75,-64,908,842),54796=>array(75,-69,923,842),54797=>array(75,-64,908,842),54798=>array(75,-64,908,842),54799=>array(75,-76,907,842),54800=>array(75,-62,907,842),54801=>array(75,-61,907,842),54802=>array(75,-69,922,842),54803=>array(75,-74,929,842),54804=>array(75,-69,927,842),54805=>array(75,-68,911,842),54806=>array(75,-72,929,842),54807=>array(75,-70,936,842),54808=>array(75,-66,908,842),54809=>array(75,-59,916,842),54810=>array(75,-60,928,842),54811=>array(75,-68,908,842),54812=>array(49,-68,907,843),54813=>array(50,-61,907,843),54814=>array(50,-61,907,843),54815=>array(50,-71,931,843),54816=>array(50,-46,907,843),54817=>array(50,-68,912,843),54818=>array(50,-76,907,843),54819=>array(50,-44,921,843),54820=>array(50,-62,917,843),54821=>array(50,-64,907,843),54822=>array(50,-64,908,843),54823=>array(50,-64,908,843),54824=>array(50,-69,923,843),54825=>array(50,-64,908,843),54826=>array(50,-64,908,843),54827=>array(50,-76,907,843),54828=>array(50,-62,907,843),54829=>array(50,-61,907,843),54830=>array(50,-69,922,843),54831=>array(50,-74,929,843),54832=>array(50,-69,927,843),54833=>array(50,-68,911,843),54834=>array(50,-72,929,843),54835=>array(50,-70,936,843),54836=>array(50,-66,908,843),54837=>array(50,-59,916,843),54838=>array(50,-60,928,843),54839=>array(50,-68,908,843),54840=>array(62,7,938,764),54841=>array(79,-61,921,819),54842=>array(79,-61,921,819),54843=>array(79,-71,921,819),54844=>array(79,-46,922,819),54845=>array(79,-68,921,819),54846=>array(79,-74,921,819),54847=>array(79,-44,921,819),54848=>array(79,-62,921,819),54849=>array(79,-64,921,819),54850=>array(79,-64,921,819),54851=>array(79,-63,921,819),54852=>array(79,-68,921,819),54853=>array(79,-64,921,819),54854=>array(79,-63,921,819),54855=>array(79,-74,921,819),54856=>array(79,-62,921,819),54857=>array(79,-61,921,819),54858=>array(79,-69,921,819),54859=>array(79,-74,921,819),54860=>array(79,-69,921,819),54861=>array(79,-68,921,819),54862=>array(79,-72,921,819),54863=>array(79,-70,921,819),54864=>array(79,-66,921,819),54865=>array(79,-59,921,819),54866=>array(79,-60,921,819),54867=>array(79,-68,921,819),54868=>array(68,-69,936,842),54869=>array(77,-59,936,842),54870=>array(77,-61,936,842),54871=>array(77,-71,936,842),54872=>array(72,-45,936,842),54873=>array(77,-69,936,842),54874=>array(77,-76,936,842),54875=>array(77,-44,936,842),54876=>array(77,-62,936,842),54877=>array(77,-64,936,842),54878=>array(77,-64,936,842),54879=>array(77,-64,936,842),54880=>array(77,-70,936,842),54881=>array(77,-64,936,842),54882=>array(77,-64,936,842),54883=>array(77,-76,936,842),54884=>array(77,-62,936,842),54885=>array(77,-61,936,842),54886=>array(77,-70,936,842),54887=>array(77,-74,936,842),54888=>array(77,-69,936,842),54889=>array(77,-67,936,842),54890=>array(77,-72,936,842),54891=>array(77,-71,936,842),54892=>array(77,-66,936,842),54893=>array(77,-59,936,842),54894=>array(77,-60,936,842),54895=>array(77,-69,936,842),54896=>array(61,-69,907,842),54897=>array(77,-61,907,842),54898=>array(77,-61,907,842),54899=>array(77,-71,931,842),54900=>array(72,-46,907,842),54901=>array(77,-68,912,842),54902=>array(77,-76,907,842),54903=>array(77,-44,921,842),54904=>array(77,-62,917,842),54905=>array(77,-64,907,842),54906=>array(77,-64,908,842),54907=>array(77,-64,908,842),54908=>array(77,-69,923,842),54909=>array(77,-64,908,842),54910=>array(77,-64,908,842),54911=>array(77,-76,907,842),54912=>array(77,-62,907,842),54913=>array(77,-61,907,842),54914=>array(77,-69,922,842),54915=>array(77,-74,929,842),54916=>array(77,-69,927,842),54917=>array(77,-68,911,842),54918=>array(77,-72,929,842),54919=>array(77,-70,936,842),54920=>array(77,-66,908,842),54921=>array(77,-59,916,842),54922=>array(77,-60,928,842),54923=>array(77,-68,908,842),54924=>array(74,-69,907,842),54925=>array(65,-61,907,842),54926=>array(65,-61,907,842),54927=>array(65,-71,931,842),54928=>array(65,-46,907,842),54929=>array(65,-68,912,842),54930=>array(65,-76,907,842),54931=>array(65,-44,921,842),54932=>array(65,-62,917,842),54933=>array(65,-64,907,842),54934=>array(65,-64,908,842),54935=>array(65,-64,908,842),54936=>array(65,-69,923,842),54937=>array(65,-64,908,842),54938=>array(65,-64,908,842),54939=>array(65,-76,907,842),54940=>array(65,-62,907,842),54941=>array(65,-61,907,842),54942=>array(65,-69,922,842),54943=>array(65,-74,929,842),54944=>array(65,-69,927,842),54945=>array(65,-68,911,842),54946=>array(65,-72,929,842),54947=>array(65,-70,936,842),54948=>array(65,-66,908,842),54949=>array(65,-59,916,842),54950=>array(65,-60,928,842),54951=>array(65,-68,908,842),54952=>array(62,7,938,764),54953=>array(79,-61,921,819),54954=>array(79,-61,921,819),54955=>array(79,-71,921,819),54956=>array(79,-46,921,819),54957=>array(79,-68,921,819),54958=>array(79,-74,921,819),54959=>array(79,-44,921,819),54960=>array(79,-62,921,819),54961=>array(79,-64,921,819),54962=>array(79,-64,921,819),54963=>array(79,-63,921,819),54964=>array(79,-68,921,819),54965=>array(79,-64,921,819),54966=>array(79,-63,921,819),54967=>array(79,-74,921,819),54968=>array(79,-62,921,819),54969=>array(79,-61,921,819),54970=>array(79,-69,921,819),54971=>array(79,-74,921,819),54972=>array(79,-69,921,819),54973=>array(79,-68,921,819),54974=>array(79,-72,921,819),54975=>array(79,-70,921,819),54976=>array(79,-66,921,819),54977=>array(79,-59,921,819),54978=>array(79,-60,921,819),54979=>array(79,-68,921,819),54980=>array(79,-64,921,809),54981=>array(79,-61,921,819),54982=>array(79,-61,921,819),54983=>array(79,-71,921,819),54984=>array(79,-46,921,814),54985=>array(79,-68,921,819),54986=>array(79,-74,921,819),54987=>array(79,-44,921,819),54988=>array(79,-62,921,819),54989=>array(79,-64,921,819),54990=>array(79,-64,921,819),54991=>array(79,-63,921,819),54992=>array(79,-68,921,819),54993=>array(79,-64,921,819),54994=>array(79,-63,921,819),54995=>array(79,-74,921,819),54996=>array(79,-62,921,819),54997=>array(79,-61,921,819),54998=>array(79,-69,921,819),54999=>array(79,-74,921,819),55000=>array(79,-69,921,819),55001=>array(79,-68,921,819),55002=>array(79,-72,921,819),55003=>array(79,-70,921,819),55004=>array(79,-66,921,819),55005=>array(79,-59,921,819),55006=>array(79,-60,921,819),55007=>array(79,-68,921,819),55008=>array(70,-70,907,841),55009=>array(75,-61,909,843),55010=>array(75,-61,909,843),55011=>array(75,-71,931,843),55012=>array(76,-46,909,843),55013=>array(75,-68,912,843),55014=>array(75,-76,909,843),55015=>array(75,-44,921,843),55016=>array(75,-62,917,843),55017=>array(75,-64,909,843),55018=>array(75,-64,909,843),55019=>array(75,-64,909,843),55020=>array(75,-69,923,843),55021=>array(75,-64,909,843),55022=>array(75,-64,909,843),55023=>array(75,-76,909,843),55024=>array(75,-62,909,843),55025=>array(75,-61,909,843),55026=>array(75,-69,922,843),55027=>array(75,-74,929,843),55028=>array(75,-69,927,843),55029=>array(75,-68,911,843),55030=>array(75,-72,929,843),55031=>array(75,-70,936,843),55032=>array(75,-66,909,843),55033=>array(75,-59,916,843),55034=>array(75,-60,928,843),55035=>array(75,-68,909,843),55036=>array(63,-68,907,843),55037=>array(70,-61,907,843),55038=>array(70,-61,907,843),55039=>array(70,-71,931,843),55040=>array(76,-46,907,843),55041=>array(70,-68,912,843),55042=>array(70,-76,907,843),55043=>array(70,-44,921,843),55044=>array(70,-62,917,843),55045=>array(70,-64,907,843),55046=>array(70,-64,908,843),55047=>array(70,-64,908,843),55048=>array(70,-69,923,843),55049=>array(70,-64,908,843),55050=>array(70,-64,908,843),55051=>array(70,-76,907,843),55052=>array(70,-62,907,843),55053=>array(70,-61,907,843),55054=>array(70,-69,922,843),55055=>array(70,-74,929,843),55056=>array(70,-69,927,843),55057=>array(70,-68,911,843),55058=>array(70,-72,929,843),55059=>array(70,-70,936,843),55060=>array(70,-66,908,843),55061=>array(70,-59,916,843),55062=>array(70,-60,928,843),55063=>array(70,-68,908,843),55064=>array(70,-69,907,842),55065=>array(65,-61,907,842),55066=>array(65,-61,907,842),55067=>array(65,-71,931,842),55068=>array(65,-46,907,842),55069=>array(65,-68,912,842),55070=>array(65,-76,907,842),55071=>array(65,-44,921,842),55072=>array(65,-62,917,842),55073=>array(65,-64,907,842),55074=>array(65,-64,908,842),55075=>array(65,-64,908,842),55076=>array(65,-69,923,842),55077=>array(65,-64,908,842),55078=>array(65,-64,908,842),55079=>array(65,-76,907,842),55080=>array(65,-62,907,842),55081=>array(65,-61,907,842),55082=>array(65,-69,922,842),55083=>array(65,-74,929,842),55084=>array(65,-69,927,842),55085=>array(65,-68,911,842),55086=>array(65,-72,929,842),55087=>array(65,-70,936,842),55088=>array(65,-66,908,842),55089=>array(65,-59,916,842),55090=>array(65,-60,928,842),55091=>array(65,-68,908,842),55092=>array(87,-64,928,799),55093=>array(79,-61,921,819),55094=>array(79,-61,921,819),55095=>array(79,-71,921,819),55096=>array(79,-46,921,814),55097=>array(79,-68,921,819),55098=>array(79,-74,921,819),55099=>array(79,-44,921,819),55100=>array(79,-62,921,819),55101=>array(79,-64,921,819),55102=>array(79,-64,921,819),55103=>array(79,-63,921,819),55104=>array(79,-68,921,819),55105=>array(79,-64,921,819),55106=>array(79,-63,921,819),55107=>array(79,-74,921,819),55108=>array(79,-62,921,819),55109=>array(79,-61,921,819),55110=>array(79,-69,921,819),55111=>array(79,-74,921,819),55112=>array(79,-69,921,819),55113=>array(79,-68,921,819),55114=>array(79,-72,921,819),55115=>array(79,-70,921,819),55116=>array(79,-66,921,819),55117=>array(79,-59,921,819),55118=>array(79,-60,921,819),55119=>array(79,-68,921,819),55120=>array(52,42,948,744),55121=>array(79,-61,921,819),55122=>array(79,-61,921,819),55123=>array(79,-71,921,819),55124=>array(79,-46,921,815),55125=>array(79,-68,921,819),55126=>array(79,-74,921,819),55127=>array(79,-44,921,819),55128=>array(79,-62,921,819),55129=>array(79,-64,921,819),55130=>array(79,-64,921,819),55131=>array(79,-63,921,819),55132=>array(79,-68,921,819),55133=>array(79,-64,921,819),55134=>array(79,-63,921,819),55135=>array(79,-74,921,819),55136=>array(79,-62,921,819),55137=>array(79,-61,921,819),55138=>array(79,-69,921,819),55139=>array(79,-74,921,819),55140=>array(79,-69,921,819),55141=>array(79,-68,921,819),55142=>array(79,-72,921,819),55143=>array(79,-70,921,819),55144=>array(79,-66,921,819),55145=>array(79,-59,921,819),55146=>array(79,-60,921,819),55147=>array(79,-68,921,819),55148=>array(67,-69,907,842),55149=>array(65,-61,907,842),55150=>array(65,-61,907,842),55151=>array(65,-71,931,842),55152=>array(65,-46,907,842),55153=>array(65,-68,912,842),55154=>array(65,-76,907,842),55155=>array(65,-44,921,842),55156=>array(65,-62,917,842),55157=>array(65,-64,907,842),55158=>array(65,-64,908,842),55159=>array(65,-64,908,842),55160=>array(65,-69,923,842),55161=>array(65,-64,908,842),55162=>array(65,-64,908,842),55163=>array(65,-76,907,842),55164=>array(65,-62,907,842),55165=>array(65,-61,907,842),55166=>array(65,-69,922,842),55167=>array(65,-74,929,842),55168=>array(65,-69,927,842),55169=>array(65,-68,911,842),55170=>array(65,-72,929,842),55171=>array(65,-70,936,842),55172=>array(65,-66,908,842),55173=>array(65,-59,916,842),55174=>array(65,-60,928,842),55175=>array(65,-68,908,842),55176=>array(84,-69,907,842),55177=>array(101,-61,907,842),55178=>array(101,-61,907,842),55179=>array(101,-71,931,842),55180=>array(96,-46,907,842),55181=>array(101,-68,912,842),55182=>array(101,-76,907,842),55183=>array(101,-44,921,842),55184=>array(101,-62,917,842),55185=>array(101,-64,907,842),55186=>array(101,-64,908,842),55187=>array(101,-64,908,842),55188=>array(101,-69,923,842),55189=>array(101,-64,908,842),55190=>array(101,-64,908,842),55191=>array(101,-76,907,842),55192=>array(101,-62,907,842),55193=>array(101,-61,907,842),55194=>array(101,-69,922,842),55195=>array(101,-74,929,842),55196=>array(101,-69,927,842),55197=>array(101,-68,911,842),55198=>array(101,-72,929,842),55199=>array(101,-70,936,842),55200=>array(101,-66,908,842),55201=>array(101,-59,916,842),55202=>array(101,-60,928,842),55203=>array(101,-68,908,842),59393=>array(-54,0,248,634),59394=>array(20,-199,439,530),59395=>array(20,-199,439,530),59396=>array(-70,-12,436,716),59397=>array(-70,-12,436,716),59416=>array(7,637,299,1065),59492=>array(32,0,450,576),59495=>array(32,-1,452,577),59536=>array(38,0,459,770),59557=>array(-1,-221,404,556),59558=>array(-1,-221,481,393),59559=>array(62,-221,904,393),61441=>array(14,0,432,728),61442=>array(14,0,430,728),63232=>array(54,-5,477,560),63233=>array(-601,612,-216,775),63234=>array(-601,612,-216,800),63235=>array(-601,612,-171,800),63236=>array(-601,612,-216,800),63237=>array(-341,612,-283,785),63238=>array(-467,612,-173,819),63239=>array(-620,612,-180,810),63240=>array(-399,612,-226,785),63241=>array(-504,615,-192,832),63242=>array(-167,612,-109,785),63243=>array(-293,612,1,819),63244=>array(-342,612,98,810),63245=>array(-225,612,-52,785),63246=>array(-330,615,-18,832),63247=>array(54,-5,774,558),63248=>array(-563,631,-189,824),63249=>array(-422,609,-265,767),63250=>array(-623,603,-246,849),63251=>array(-274,858,-216,1031),63252=>array(-400,858,-106,1065),63253=>array(-449,858,-9,1056),63254=>array(-333,858,-159,1031),63255=>array(-437,861,-125,1078),63256=>array(-201,-206,-85,-34),63257=>array(-337,-206,-89,-34),63258=>array(-157,-115,-75,-33),63260=>array(111,-210,291,-73),63261=>array(17,-113,269,0),63744=>array(62,-12,931,835),63745=>array(48,-72,962,777),63746=>array(63,-71,935,832),63747=>array(66,-79,948,785),63748=>array(49,-62,926,811),63749=>array(123,-68,886,832),63750=>array(65,-51,902,840),63751=>array(37,-41,967,846),63752=>array(37,-41,967,846),63753=>array(43,-70,957,830),63754=>array(54,-21,960,856),63755=>array(112,-67,904,831),63756=>array(62,-62,960,848),63757=>array(32,-72,970,845),63758=>array(42,-67,985,854),63759=>array(38,-67,950,807),63760=>array(61,-80,954,835),63761=>array(33,-73,961,835),63762=>array(40,-71,973,822),63763=>array(52,-51,966,820),63764=>array(60,-64,959,847),63765=>array(57,-72,959,842),63766=>array(48,-75,968,839),63767=>array(45,-66,972,840),63768=>array(56,-68,970,835),63769=>array(51,-67,967,840),63770=>array(64,-62,972,839),63771=>array(49,-68,962,843),63772=>array(59,-71,883,815),63773=>array(35,-65,909,836),63774=>array(53,-70,923,830),63775=>array(72,-70,928,839),63776=>array(62,-67,958,846),63777=>array(59,-49,964,846),63778=>array(50,-73,964,837),63779=>array(56,-34,949,839),63780=>array(35,-68,952,836),63781=>array(49,-64,947,829),63782=>array(40,-65,956,848),63783=>array(47,-76,968,842),63784=>array(46,-60,949,837),63785=>array(49,-74,885,832),63786=>array(62,-63,962,829),63787=>array(37,-75,968,831),63788=>array(51,-65,930,832),63789=>array(63,-64,956,835),63790=>array(54,-71,966,849),63791=>array(52,-73,919,832),63792=>array(43,-67,954,835),63793=>array(30,-61,974,849),63794=>array(43,-71,954,830),63795=>array(40,-78,941,833),63796=>array(38,-39,923,832),63797=>array(59,-66,961,836),63798=>array(45,-77,929,841),63799=>array(29,-67,968,838),63800=>array(70,-62,965,817),63801=>array(51,-68,947,837),63802=>array(62,-67,948,849),63803=>array(36,-64,952,818),63804=>array(57,-69,958,840),63805=>array(34,-67,974,839),63806=>array(65,-52,935,840),63807=>array(57,-64,968,841),63808=>array(57,-67,949,829),63809=>array(55,-63,973,849),63810=>array(57,-24,950,849),63811=>array(48,-65,934,785),63812=>array(49,-62,964,855),63813=>array(43,-71,962,840),63814=>array(56,-65,944,833),63815=>array(52,-68,944,788),63816=>array(57,-63,976,839),63817=>array(105,-67,914,786),63818=>array(59,-28,949,783),63819=>array(46,-82,939,823),63820=>array(39,-70,949,831),63821=>array(48,-66,982,843),63822=>array(46,-67,956,800),63823=>array(51,-63,943,808),63824=>array(34,-65,942,839),63825=>array(99,-82,936,792),63826=>array(72,-65,917,829),63827=>array(68,-70,898,834),63828=>array(55,-65,973,833),63829=>array(41,-70,959,831),63830=>array(33,-57,967,835),63831=>array(34,-66,968,839),63832=>array(46,-65,954,831),63833=>array(95,-67,970,831),63834=>array(59,-66,961,841),63835=>array(60,-58,974,851),63836=>array(60,-64,959,847),63837=>array(53,-65,949,836),63838=>array(74,-73,939,777),63839=>array(69,-55,923,850),63840=>array(49,-25,959,830),63841=>array(72,-69,928,840),63842=>array(72,-74,926,784),63843=>array(45,-54,948,792),63844=>array(30,-55,956,850),63845=>array(42,-73,947,834),63846=>array(44,-67,970,843),63847=>array(71,-65,928,769),63848=>array(42,-32,972,829),63849=>array(60,-70,959,833),63850=>array(65,-69,946,835),63851=>array(30,-88,968,844),63852=>array(48,-30,949,830),63853=>array(53,-70,939,829),63854=>array(49,-70,965,839),63855=>array(57,-71,964,816),63856=>array(51,-72,967,824),63857=>array(57,-63,963,785),63858=>array(56,-73,946,824),63859=>array(45,-63,961,848),63860=>array(72,-65,931,827),63861=>array(41,-71,955,826),63862=>array(110,-66,962,839),63863=>array(65,-68,950,838),63864=>array(60,-68,953,783),63865=>array(63,-63,961,830),63866=>array(53,-68,956,808),63867=>array(40,-72,954,818),63868=>array(85,-61,963,820),63869=>array(53,-60,960,830),63870=>array(53,-30,947,789),63871=>array(27,-76,929,825),63872=>array(180,-77,840,772),63873=>array(86,-53,911,836),63874=>array(22,-62,961,846),63875=>array(33,-67,969,839),63876=>array(43,-71,967,841),63877=>array(32,-63,962,799),63878=>array(117,-65,907,790),63879=>array(26,-73,964,789),63880=>array(43,-67,952,814),63881=>array(49,-68,946,832),63882=>array(70,-56,863,824),63883=>array(37,-62,947,796),63884=>array(41,-67,930,779),63885=>array(50,-65,970,831),63886=>array(86,-68,917,841),63887=>array(36,-76,958,832),63888=>array(42,-54,961,841),63889=>array(37,-60,970,849),63890=>array(37,-56,963,833),63891=>array(52,-67,962,830),63892=>array(41,-64,962,833),63893=>array(47,-69,968,834),63894=>array(34,-66,967,839),63895=>array(42,-65,946,842),63896=>array(48,-62,944,831),63897=>array(37,-56,951,839),63898=>array(37,-56,951,830),63899=>array(18,-53,969,847),63900=>array(83,-76,901,832),63901=>array(67,-63,942,838),63902=>array(103,-64,898,785),63903=>array(58,-61,954,831),63904=>array(44,-73,955,828),63905=>array(57,-71,964,816),63906=>array(40,-59,966,839),63907=>array(30,-58,963,846),63908=>array(27,-64,961,853),63909=>array(40,-67,977,854),63910=>array(31,-53,963,854),63911=>array(36,-74,971,842),63912=>array(38,-67,961,846),63913=>array(105,-64,897,788),63914=>array(80,-68,917,844),63915=>array(40,-73,961,832),63916=>array(39,-68,962,840),63917=>array(37,-68,964,840),63918=>array(69,-19,935,839),63919=>array(22,-68,960,847),63920=>array(28,-62,966,854),63921=>array(35,-65,975,846),63922=>array(43,-63,961,810),63923=>array(74,-28,929,779),63924=>array(42,-68,955,839),63925=>array(41,-63,911,845),63926=>array(60,-69,952,833),63927=>array(51,-57,952,829),63928=>array(132,-64,882,789),63929=>array(62,-25,962,783),63930=>array(172,-41,829,773),63931=>array(41,-64,983,842),63932=>array(41,-64,970,838),63933=>array(52,-74,951,779),63934=>array(38,-68,956,836),63935=>array(60,-64,959,847),63936=>array(41,-73,969,850),63937=>array(46,-65,964,830),63938=>array(26,-76,972,829),63939=>array(37,-56,968,838),63940=>array(50,-66,970,833),63941=>array(57,-62,950,798),63942=>array(98,-68,935,788),63943=>array(44,-64,911,837),63944=>array(39,-61,959,832),63945=>array(34,-61,921,837),63946=>array(40,-70,964,830),63947=>array(45,-66,925,830),63948=>array(30,-70,960,830),63949=>array(75,-68,897,818),63950=>array(26,-70,964,830),63951=>array(34,-64,956,839),63952=>array(38,-67,960,828),63953=>array(62,-29,946,810),63954=>array(39,-77,962,835),63955=>array(103,-58,951,833),63956=>array(31,-71,976,855),63957=>array(33,-61,979,841),63958=>array(39,-58,991,856),63959=>array(52,-71,971,868),63960=>array(36,-67,954,830),63961=>array(38,-59,976,835),63962=>array(60,-65,957,788),63963=>array(72,-69,928,840),63964=>array(93,-60,959,848),63965=>array(57,-67,920,826),63966=>array(71,-76,947,824),63967=>array(29,-68,953,786),63968=>array(75,-67,866,782),63969=>array(51,-70,960,831),63970=>array(41,-68,950,823),63971=>array(56,-64,957,821),63972=>array(35,-16,945,775),63973=>array(46,-69,944,835),63974=>array(39,-64,949,788),63975=>array(43,-75,955,840),63976=>array(41,-64,954,821),63977=>array(52,-19,948,796),63978=>array(64,-73,957,834),63979=>array(118,-68,939,800),63980=>array(54,-60,927,803),63981=>array(52,-74,958,822),63982=>array(49,-68,958,833),63983=>array(57,-66,959,837),63984=>array(57,-65,949,832),63985=>array(100,-70,956,834),63986=>array(31,-68,959,843),63987=>array(26,-68,959,838),63988=>array(30,-69,954,829),63989=>array(28,-63,968,841),63990=>array(120,-65,932,841),63991=>array(95,-3,912,822),63992=>array(52,-17,945,838),63993=>array(37,-64,949,837),63994=>array(40,-69,951,818),63995=>array(57,-73,960,840),63996=>array(51,-68,959,833),63997=>array(48,-68,950,829),63998=>array(41,-68,968,831),63999=>array(71,-65,906,831),64000=>array(44,-73,897,797),64001=>array(46,-68,950,826),64002=>array(53,-63,936,826),64003=>array(42,-69,952,827),64004=>array(70,-38,942,833),64005=>array(48,-55,898,819),64006=>array(47,-65,953,815),64007=>array(46,-74,941,827),64008=>array(51,-62,941,845),64009=>array(101,-68,955,846),64010=>array(58,-66,944,789),64011=>array(35,-65,942,837),64012=>array(49,-55,942,754),64013=>array(57,-70,964,827),64014=>array(45,-62,955,843),64015=>array(41,-65,969,830),64016=>array(41,-60,968,807),64017=>array(77,-62,953,828),64018=>array(89,-55,952,838),64019=>array(37,-71,948,828),64020=>array(37,-67,976,831),64021=>array(31,-69,973,831),64022=>array(49,-56,921,836),64023=>array(45,-22,947,840),64024=>array(42,-59,961,820),64025=>array(55,-67,904,837),64026=>array(39,-68,956,843),64027=>array(38,-69,943,834),64028=>array(41,-66,952,840),64029=>array(45,-66,954,837),64030=>array(73,-50,892,785),64031=>array(30,-68,935,839),64032=>array(40,-68,969,832),64033=>array(39,-19,946,826),64034=>array(59,-66,948,835),64035=>array(31,-69,953,829),64036=>array(37,-60,961,808),64037=>array(36,-54,957,835),64038=>array(44,-67,943,835),64039=>array(33,-70,949,839),64040=>array(33,-64,959,839),64041=>array(94,-71,936,842),64042=>array(34,-69,964,839),64043=>array(34,-68,906,839),64044=>array(34,-64,931,839),64045=>array(40,-65,938,837),64256=>array(13,0,569,728),64257=>array(14,0,432,728),64258=>array(14,0,430,728),64259=>array(42,0,709,728),64260=>array(13,0,680,728),64261=>array(67,-7,521,728),64262=>array(31,-12,750,700),64275=>array(44,-9,751,618),64276=>array(44,-8,749,609),64277=>array(44,-210,752,609),64278=>array(43,-210,749,609),64279=>array(44,-210,844,609),64286=>array(22,568,311,695),64287=>array(16,162,522,530),64288=>array(32,-12,503,518),64289=>array(58,0,652,518),64290=>array(24,0,619,518),64291=>array(72,0,662,530),64292=>array(38,-12,598,530),64293=>array(33,-12,557,716),64294=>array(72,0,662,518),64295=>array(20,0,565,530),64296=>array(19,-13,726,530),64297=>array(55,0,529,278),64298=>array(72,-12,674,634),64299=>array(72,-12,674,634),64300=>array(72,-12,674,634),64301=>array(72,-12,674,634),64302=>array(60,-104,517,518),64303=>array(60,-144,517,518),64304=>array(60,0,517,518),64305=>array(38,0,533,530),64306=>array(20,0,386,530),64307=>array(24,0,482,518),64308=>array(72,0,526,530),64309=>array(16,0,248,530),64310=>array(-9,0,306,543),64312=>array(68,-12,532,530),64313=>array(16,258,248,530),64314=>array(20,-199,439,530),64315=>array(38,-12,469,530),64316=>array(33,-12,436,716),64318=>array(30,0,526,530),64320=>array(38,0,270,530),64321=>array(25,-12,546,530),64323=>array(45,-199,499,530),64324=>array(37,-12,511,530),64326=>array(45,0,477,518),64327=>array(72,-199,535,518),64328=>array(20,0,439,530),64329=>array(72,-12,674,518),64330=>array(21,-13,565,530),64331=>array(16,0,248,634),64332=>array(38,0,533,622),64333=>array(38,-12,469,622),64334=>array(37,-12,511,622),64335=>array(33,0,517,716),64336=>array(-15,0,256,927),64337=>array(-15,0,274,927),64338=>array(62,-275,709,265),64339=>array(62,-279,789,265),64340=>array(-1,-252,194,284),64341=>array(-1,-256,244,284),64342=>array(62,-270,709,265),64343=>array(62,-270,789,265),64344=>array(-1,-228,233,284),64345=>array(-1,-228,244,284),64346=>array(62,-270,709,265),64347=>array(62,-270,789,265),64348=>array(-1,-242,210,284),64349=>array(-1,-242,244,284),64350=>array(62,-50,709,568),64351=>array(62,-50,789,568),64352=>array(-1,0,194,616),64353=>array(-1,0,244,616),64354=>array(62,-50,709,569),64355=>array(62,-50,789,569),64356=>array(-1,0,222,618),64357=>array(-1,0,244,618),64358=>array(62,-50,709,569),64359=>array(62,-50,789,569),64360=>array(-1,0,245,618),64361=>array(-1,0,244,618),64362=>array(62,0,895,859),64363=>array(62,-33,904,697),64364=>array(-1,0,404,860),64365=>array(-1,0,481,697),64366=>array(62,0,895,890),64367=>array(62,-33,904,727),64368=>array(-1,0,404,890),64369=>array(-1,0,481,727),64370=>array(52,-271,564,453),64371=>array(54,-271,659,453),64372=>array(-1,-236,567,453),64373=>array(-1,-236,638,453),64374=>array(52,-271,564,453),64375=>array(54,-271,659,453),64376=>array(-1,-105,567,453),64377=>array(-1,-105,638,453),64378=>array(52,-271,564,453),64379=>array(54,-271,659,453),64380=>array(-1,-208,567,453),64381=>array(-1,-208,638,453),64382=>array(52,-271,564,453),64383=>array(54,-271,659,453),64384=>array(-1,-236,567,453),64385=>array(-1,-237,638,453),64386=>array(38,-140,368,437),64387=>array(38,-140,459,436),64388=>array(38,0,368,614),64389=>array(38,0,459,638),64390=>array(38,0,368,716),64391=>array(38,0,459,740),64392=>array(38,0,368,746),64393=>array(38,0,459,770),64394=>array(-74,-210,362,554),64395=>array(-74,-210,437,544),64396=>array(-74,-210,369,584),64397=>array(-74,-210,437,574),64398=>array(62,0,827,717),64399=>array(62,0,943,717),64400=>array(-1,0,432,717),64401=>array(-1,0,548,717),64402=>array(62,0,827,793),64403=>array(62,0,943,793),64404=>array(-1,0,432,793),64405=>array(-1,0,548,793),64406=>array(62,-256,827,793),64407=>array(62,-257,943,793),64408=>array(-1,-252,432,793),64409=>array(-1,-256,548,793),64410=>array(62,0,827,839),64411=>array(62,0,943,839),64412=>array(-1,0,432,839),64413=>array(-1,0,548,839),64414=>array(62,-121,630,272),64415=>array(39,-228,724,183),64416=>array(62,-121,630,568),64417=>array(39,-228,724,568),64418=>array(-1,0,245,618),64419=>array(-1,0,244,618),64420=>array(62,-6,452,705),64421=>array(62,0,478,705),64422=>array(62,-6,452,431),64423=>array(2,-85,510,159),64424=>array(-1,-242,194,284),64425=>array(-1,-264,428,196),64426=>array(29,-15,644,593),64427=>array(29,-15,707,593),64428=>array(-1,0,624,593),64429=>array(-1,0,687,593),64430=>array(71,-221,684,297),64431=>array(62,-221,675,95),64432=>array(71,-221,684,473),64433=>array(62,-221,675,363),64467=>array(62,0,689,817),64468=>array(34,0,734,817),64469=>array(-1,0,432,889),64470=>array(-1,0,548,889),64471=>array(-108,-210,408,766),64472=>array(-111,-210,467,704),64473=>array(-108,-210,408,696),64474=>array(-111,-210,467,628),64475=>array(-108,-210,408,789),64476=>array(-111,-210,467,725),64477=>array(-108,-210,441,755),64478=>array(-108,-210,408,750),64479=>array(-111,-210,467,685),64480=>array(-108,-210,408,476),64481=>array(-111,-210,467,379),64482=>array(-108,-210,408,705),64483=>array(-111,-210,467,641),64484=>array(10,-279,730,453),64485=>array(33,-279,935,126),64486=>array(-1,-239,194,284),64487=>array(-1,-239,244,284),64488=>array(-1,0,194,284),64489=>array(-1,0,244,284),64490=>array(79,0,475,716),64491=>array(79,0,518,716),64492=>array(2,-85,710,569),64493=>array(2,-85,754,569),64494=>array(-111,-210,667,569),64495=>array(-111,-210,711,569),64496=>array(-111,-210,667,704),64497=>array(-111,-210,711,704),64498=>array(-111,-210,667,628),64499=>array(-111,-210,711,628),64500=>array(-111,-210,667,725),64501=>array(-111,-210,711,725),64502=>array(33,-279,1135,569),64503=>array(33,-279,1178,569),64504=>array(-1,-256,445,569),64505=>array(34,-270,995,569),64506=>array(34,-270,1038,569),64507=>array(-1,0,445,569),64508=>array(32,-121,679,453),64509=>array(34,-270,794,126),64510=>array(-1,-140,217,284),64511=>array(-1,-140,244,284),64512=>array(54,-271,860,569),64513=>array(54,-271,860,569),64514=>array(58,-265,842,569),64515=>array(34,-270,995,569),64516=>array(34,-265,1005,569),64517=>array(54,-271,853,453),64518=>array(54,-271,853,453),64519=>array(54,-271,853,621),64520=>array(58,-265,834,359),64521=>array(34,-270,988,284),64522=>array(34,-265,998,284),64523=>array(54,-271,876,486),64524=>array(54,-271,876,486),64525=>array(54,-271,876,621),64526=>array(58,-265,858,486),64527=>array(34,-270,1011,486),64528=>array(34,-265,1021,486),64529=>array(54,-271,876,588),64530=>array(58,-265,858,588),64531=>array(34,-270,1011,588),64532=>array(34,-265,1021,588),64533=>array(54,-271,1226,453),64534=>array(58,-265,1208,453),64535=>array(54,-271,1226,453),64536=>array(58,-265,1208,453),64537=>array(54,-271,1226,610),64538=>array(54,-271,1226,610),64539=>array(58,-265,1208,610),64540=>array(54,-271,1350,453),64541=>array(54,-271,1350,453),64542=>array(54,-271,1350,621),64543=>array(58,-265,1332,359),64544=>array(54,-271,1415,453),64545=>array(58,-265,1397,436),64546=>array(54,-271,1415,522),64547=>array(54,-271,1415,522),64548=>array(54,-271,1415,621),64549=>array(58,-265,1397,522),64550=>array(54,-271,1331,686),64551=>array(58,-265,1313,686),64552=>array(58,-265,1313,686),64553=>array(54,-271,1183,492),64554=>array(58,-265,1165,492),64555=>array(54,-271,1183,716),64556=>array(58,-265,1165,716),64557=>array(54,-271,1063,773),64558=>array(54,-271,1063,773),64559=>array(54,-271,1063,773),64560=>array(58,-265,1045,773),64561=>array(34,-270,1198,773),64562=>array(34,-265,1208,773),64563=>array(54,-271,1063,758),64564=>array(58,-265,1045,758),64565=>array(34,-270,1198,758),64566=>array(34,-265,1208,758),64567=>array(79,0,706,717),64568=>array(54,-271,1091,717),64569=>array(54,-271,1091,717),64570=>array(54,-271,1091,717),64571=>array(34,-228,1106,717),64572=>array(58,-265,1073,717),64573=>array(34,-270,1226,717),64574=>array(34,-265,1236,717),64575=>array(54,-271,853,716),64576=>array(54,-271,853,716),64577=>array(54,-271,853,716),64578=>array(58,-265,835,716),64579=>array(34,-270,988,716),64580=>array(34,-265,998,716),64581=>array(54,-271,1078,453),64582=>array(54,-271,1078,453),64583=>array(54,-271,1078,621),64584=>array(58,-265,1060,359),64585=>array(34,-270,1213,359),64586=>array(34,-265,1223,359),64587=>array(54,-271,853,501),64588=>array(54,-271,853,501),64589=>array(54,-271,853,621),64590=>array(58,-265,835,501),64591=>array(34,-270,988,501),64592=>array(34,-265,998,501),64593=>array(54,-271,1283,593),64594=>array(58,-265,1265,593),64595=>array(34,-270,1418,593),64596=>array(34,-265,1428,593),64597=>array(54,-271,876,453),64598=>array(54,-271,876,453),64599=>array(54,-271,876,621),64600=>array(58,-265,858,359),64601=>array(34,-270,1011,284),64602=>array(34,-265,1021,284),64603=>array(38,0,368,889),64604=>array(-74,-210,357,609),64605=>array(32,-121,679,505),64606=>array(4,521,299,990),64607=>array(7,618,299,990),64608=>array(7,648,299,990),64609=>array(4,521,299,990),64610=>array(7,770,299,990),64611=>array(7,588,299,1053),64612=>array(-74,-210,681,569),64613=>array(-74,-210,681,569),64614=>array(58,-265,885,569),64615=>array(39,-228,968,569),64616=>array(34,-270,1038,569),64617=>array(34,-265,1048,569),64618=>array(-74,-210,681,284),64619=>array(-74,-210,681,458),64620=>array(58,-265,885,359),64621=>array(39,-228,968,356),64622=>array(34,-270,1038,284),64623=>array(34,-265,1048,284),64624=>array(-74,-210,681,486),64625=>array(-74,-210,681,486),64626=>array(58,-265,885,486),64627=>array(39,-228,968,486),64628=>array(34,-270,1038,486),64629=>array(34,-265,1048,486),64630=>array(-74,-210,681,588),64631=>array(-74,-210,681,588),64632=>array(58,-265,885,588),64633=>array(39,-228,968,588),64634=>array(34,-270,1038,588),64635=>array(34,-265,1048,588),64636=>array(34,-270,1275,610),64637=>array(34,-265,1285,610),64638=>array(34,-270,1275,595),64639=>array(34,-265,1285,595),64640=>array(79,0,822,717),64641=>array(34,-228,1222,717),64642=>array(58,-265,1189,717),64643=>array(34,-270,1342,717),64644=>array(34,-265,1352,717),64645=>array(58,-265,885,716),64646=>array(34,-270,1038,716),64647=>array(34,-265,1048,716),64648=>array(79,0,807,716),64649=>array(58,-265,1174,359),64650=>array(-74,-210,681,501),64651=>array(-74,-210,681,501),64652=>array(58,-265,885,501),64653=>array(39,-228,968,501),64654=>array(34,-270,1038,501),64655=>array(34,-265,1048,501),64656=>array(34,-270,794,301),64657=>array(-74,-210,681,284),64658=>array(-74,-210,681,458),64659=>array(58,-265,885,359),64660=>array(39,-228,968,356),64661=>array(34,-270,1038,284),64662=>array(34,-265,1048,284),64663=>array(-1,-140,839,569),64664=>array(-1,0,839,569),64665=>array(-1,0,839,612),64666=>array(-1,0,734,569),64667=>array(-1,-269,606,569),64668=>array(-1,-140,832,453),64669=>array(-1,-140,832,453),64670=>array(-1,-140,832,612),64671=>array(-1,-140,727,359),64672=>array(-1,-269,600,376),64673=>array(-1,-140,855,486),64674=>array(-1,0,855,486),64675=>array(-1,0,855,612),64676=>array(-1,0,750,486),64677=>array(-1,-269,623,486),64678=>array(-1,0,750,588),64679=>array(-1,-80,1205,453),64680=>array(-1,-80,1100,453),64681=>array(-1,-140,1205,453),64682=>array(-1,0,1100,453),64683=>array(-1,-140,1205,610),64684=>array(-1,0,1100,610),64685=>array(-1,-140,1329,453),64686=>array(-1,0,1329,453),64687=>array(-1,0,1329,612),64688=>array(-1,0,1224,359),64689=>array(-1,0,1394,453),64690=>array(-1,0,1394,612),64691=>array(-1,0,1289,436),64692=>array(-1,-140,1394,522),64693=>array(-1,0,1394,522),64694=>array(-1,0,1394,612),64695=>array(-1,0,1289,522),64696=>array(-1,0,1310,686),64697=>array(-1,0,1205,686),64698=>array(-1,-140,1162,492),64699=>array(-1,0,1057,492),64700=>array(-1,-140,1162,716),64701=>array(-1,0,1057,716),64702=>array(-1,-140,1042,773),64703=>array(-1,0,1042,773),64704=>array(-1,0,1042,773),64705=>array(-1,0,937,773),64706=>array(-1,0,1042,758),64707=>array(-1,0,937,758),64708=>array(-1,-140,1070,717),64709=>array(-1,0,1070,717),64710=>array(-1,0,1070,717),64711=>array(-1,0,676,717),64712=>array(-1,0,965,717),64713=>array(-1,-140,832,716),64714=>array(-1,0,832,716),64715=>array(-1,0,832,716),64716=>array(-1,0,727,716),64717=>array(-1,-269,600,716),64718=>array(-1,-140,1057,453),64719=>array(-1,0,1057,453),64720=>array(-1,0,1057,612),64721=>array(-1,0,952,359),64722=>array(-1,-140,832,501),64723=>array(-1,0,832,501),64724=>array(-1,0,832,612),64725=>array(-1,0,727,501),64726=>array(-1,-269,600,501),64727=>array(-1,-140,1262,593),64728=>array(-1,0,1157,593),64729=>array(-1,0,624,912),64730=>array(-1,-140,855,453),64731=>array(-1,-140,855,453),64732=>array(-1,-140,855,612),64733=>array(-1,-140,750,359),64734=>array(-1,-269,623,376),64735=>array(-1,0,777,569),64736=>array(-1,-269,650,569),64737=>array(-1,-140,777,359),64738=>array(-1,-269,650,376),64739=>array(-1,0,777,486),64740=>array(-1,-269,650,486),64741=>array(-1,0,777,588),64742=>array(-1,-269,650,588),64743=>array(-1,0,1304,359),64744=>array(-1,-269,1177,376),64745=>array(-1,0,1304,604),64746=>array(-1,-269,1177,604),64747=>array(-1,0,792,717),64748=>array(-1,0,1081,717),64749=>array(-1,0,777,716),64750=>array(-1,0,777,501),64751=>array(-1,-269,650,501),64752=>array(-1,-140,777,359),64753=>array(-1,-269,650,376),64754=>array(-1,0,307,1058),64755=>array(-1,0,303,990),64756=>array(-1,0,299,1054),64757=>array(34,-270,1466,686),64758=>array(34,-265,1476,686),64759=>array(34,-270,1318,492),64760=>array(34,-265,1328,492),64761=>array(34,-270,1318,716),64762=>array(34,-265,1328,716),64763=>array(34,-270,1485,346),64764=>array(34,-265,1495,346),64765=>array(34,-270,1485,604),64766=>array(34,-265,1495,604),64767=>array(34,-270,1361,453),64768=>array(34,-265,1371,453),64769=>array(34,-270,1361,453),64770=>array(34,-265,1371,453),64771=>array(34,-270,1361,610),64772=>array(34,-265,1371,610),64773=>array(34,-270,1550,436),64774=>array(34,-265,1560,436),64775=>array(34,-270,1550,522),64776=>array(34,-265,1560,522),64777=>array(54,-271,1350,604),64778=>array(54,-271,1350,604),64779=>array(54,-271,1350,621),64780=>array(58,-265,1332,604),64781=>array(-74,-210,1128,604),64782=>array(-74,-210,1128,346),64783=>array(-74,-210,1193,436),64784=>array(-74,-210,1193,522),64785=>array(34,-270,1528,686),64786=>array(34,-265,1538,686),64787=>array(34,-270,1349,407),64788=>array(34,-265,1359,407),64789=>array(34,-270,1349,624),64790=>array(34,-265,1359,624),64791=>array(34,-270,1565,346),64792=>array(34,-265,1575,346),64793=>array(34,-270,1565,604),64794=>array(34,-265,1575,604),64795=>array(34,-270,1432,453),64796=>array(34,-265,1442,453),64797=>array(34,-270,1432,453),64798=>array(34,-265,1442,453),64799=>array(34,-270,1432,612),64800=>array(34,-265,1442,612),64801=>array(34,-270,1612,436),64802=>array(34,-265,1622,436),64803=>array(34,-270,1612,522),64804=>array(34,-265,1622,522),64805=>array(54,-271,1430,604),64806=>array(54,-271,1430,604),64807=>array(54,-271,1430,621),64808=>array(58,-265,1412,604),64809=>array(-74,-210,1208,604),64810=>array(-74,-210,1208,346),64811=>array(-74,-210,1255,436),64812=>array(-74,-210,1255,522),64813=>array(-1,-140,1329,604),64814=>array(-1,0,1329,604),64815=>array(-1,0,1329,612),64816=>array(-1,0,1224,604),64817=>array(-1,-269,1097,376),64818=>array(-1,-269,1097,604),64819=>array(-1,0,1205,686),64820=>array(-1,-140,1409,453),64821=>array(-1,0,1409,453),64822=>array(-1,0,1409,612),64823=>array(-1,-140,1409,604),64824=>array(-1,0,1409,604),64825=>array(-1,0,1409,612),64826=>array(-1,0,1267,686),64827=>array(-1,0,1267,686),64828=>array(79,0,615,944),64829=>array(79,0,615,944),64830=>array(82,-218,445,790),64831=>array(155,-218,518,790),64848=>array(-1,-140,1389,486),64849=>array(54,-271,1542,486),64850=>array(-1,-140,1494,486),64851=>array(-1,0,1389,486),64852=>array(-1,0,1389,612),64853=>array(-1,-140,1389,486),64854=>array(-1,0,1389,486),64855=>array(-1,0,1389,612),64856=>array(54,-271,1831,453),64857=>array(-1,-80,1738,453),64858=>array(34,-265,1976,453),64859=>array(34,-270,1965,453),64860=>array(-1,-140,1967,453),64861=>array(-1,-140,1967,453),64862=>array(34,-270,2203,453),64863=>array(54,-271,1963,453),64864=>array(-1,0,1862,453),64865=>array(-1,-140,1862,453),64866=>array(58,-265,1945,359),64867=>array(-1,0,1757,359),64868=>array(54,-271,2115,453),64869=>array(-1,0,2032,453),64870=>array(58,-265,1992,436),64871=>array(58,-265,2050,604),64872=>array(-1,0,1862,604),64873=>array(34,-265,2213,604),64874=>array(54,-271,1963,621),64875=>array(-1,0,1862,612),64876=>array(58,-265,1945,604),64877=>array(-1,0,1757,604),64878=>array(34,-270,2250,522),64879=>array(58,-265,2097,612),64880=>array(-1,0,1927,612),64881=>array(54,-271,1926,686),64882=>array(-1,0,1843,686),64883=>array(-1,0,1738,686),64884=>array(34,-265,2071,686),64885=>array(58,-265,1834,453),64886=>array(58,-265,1729,407),64887=>array(-1,0,1590,492),64888=>array(34,-270,1882,407),64889=>array(58,-265,1729,624),64890=>array(34,-265,1893,624),64891=>array(34,-270,1882,624),64892=>array(58,-265,1760,612),64893=>array(-1,0,1575,773),64894=>array(54,-271,1671,595),64895=>array(58,-265,1655,595),64896=>array(58,-265,1523,716),64897=>array(34,-265,1687,716),64898=>array(34,-270,1676,716),64899=>array(-1,-140,1470,716),64900=>array(54,-271,1542,716),64901=>array(58,-265,1523,716),64902=>array(-1,0,1365,716),64903=>array(54,-271,1437,716),64904=>array(-1,0,1365,716),64905=>array(-1,-140,1695,453),64906=>array(-1,0,1590,453),64907=>array(34,-265,1976,453),64908=>array(-1,-140,1695,453),64909=>array(-1,-140,1590,453),64910=>array(-1,-140,1695,612),64911=>array(-1,0,1590,612),64914=>array(-1,-140,1695,612),64915=>array(-1,-140,1795,593),64916=>array(-1,0,1690,593),64917=>array(-1,0,1365,501),64918=>array(34,-270,1676,501),64919=>array(58,-265,1523,501),64920=>array(-1,-140,1365,501),64921=>array(34,-270,1676,501),64922=>array(34,-265,1582,501),64923=>array(34,-270,1571,501),64924=>array(58,-265,1418,359),64925=>array(-1,-140,1284,359),64926=>array(34,-265,1687,612),64927=>array(34,-265,1687,486),64928=>array(34,-270,1676,486),64929=>array(34,-265,1687,612),64930=>array(34,-270,1676,612),64931=>array(34,-265,1582,486),64932=>array(34,-270,1571,486),64933=>array(34,-265,1976,453),64934=>array(34,-270,2070,453),64935=>array(34,-270,1965,453),64936=>array(34,-270,2203,612),64937=>array(34,-265,2260,453),64938=>array(34,-265,2213,604),64939=>array(34,-265,2260,522),64940=>array(34,-265,1687,716),64941=>array(34,-265,1582,716),64942=>array(34,-265,1687,453),64943=>array(34,-265,1687,453),64944=>array(34,-265,1582,359),64945=>array(34,-265,1871,359),64946=>array(34,-265,1818,595),64947=>array(34,-265,1687,501),64948=>array(-1,0,1575,758),64949=>array(-1,0,1365,716),64950=>array(34,-265,1893,407),64951=>array(34,-265,1885,717),64952=>array(-1,-140,1470,501),64953=>array(34,-265,1976,612),64954=>array(-1,-140,1365,716),64955=>array(58,-265,1722,717),64956=>array(58,-265,1523,716),64957=>array(54,-271,1542,501),64958=>array(34,-265,2081,453),64959=>array(34,-265,2081,453),64960=>array(34,-265,1976,453),64961=>array(34,-265,1818,610),64962=>array(34,-265,1687,453),64963=>array(-1,0,1499,717),64964=>array(-1,-140,1695,492),64965=>array(-1,0,1822,436),64966=>array(34,-265,2213,612),64967=>array(34,-265,1687,501),65008=>array(62,-221,1462,716),65009=>array(62,-221,1110,758),65010=>array(52,0,1077,1015),65011=>array(-74,-210,1277,717),65012=>array(38,0,2049,453),65013=>array(58,-265,2196,716),65014=>array(34,-210,2066,716),65015=>array(62,-140,1490,716),65016=>array(58,-265,1984,716),65017=>array(34,-270,1794,716),65018=>array(77,-156,1842,762),65019=>array(74,-37,1003,826),65056=>array(55,604,450,726),65057=>array(0,604,395,726),65058=>array(55,604,450,726),65059=>array(0,604,395,726),65072=>array(446,87,554,679),65073=>array(461,-121,539,887),65074=>array(461,229,539,537),65075=>array(-5,-121,73,887),65076=>array(0,-118,118,885),65077=>array(45,39,952,277),65078=>array(47,558,954,796),65079=>array(43,31,956,281),65080=>array(43,548,956,798),65081=>array(41,19,960,294),65082=>array(40,543,959,818),65083=>array(45,18,950,306),65084=>array(47,530,952,818),65085=>array(47,-32,953,416),65086=>array(47,420,953,868),65087=>array(47,-2,953,325),65088=>array(47,511,953,838),65089=>array(48,18,952,358),65090=>array(48,473,952,818),65091=>array(48,-12,952,359),65092=>array(48,475,952,848),65097=>array(75,761,925,801),65098=>array(75,731,925,829),65099=>array(-1,771,1001,889),65100=>array(-2,656,1001,884),65101=>array(75,-29,925,11),65102=>array(75,-49,925,49),65103=>array(-1,-112,1001,6),65104=>array(50,-85,114,60),65105=>array(33,109,172,224),65106=>array(53,0,113,60),65108=>array(50,-85,114,311),65109=>array(54,0,114,311),65110=>array(28,0,305,437),65111=>array(51,0,116,430),65112=>array(-4,134,604,177),65113=>array(36,-126,178,437),65114=>array(22,-126,164,437),65115=>array(17,-126,186,437),65116=>array(14,-126,184,437),65117=>array(41,-119,184,430),65118=>array(16,-119,159,430),65119=>array(7,-7,327,437),65120=>array(26,-10,386,437),65121=>array(20,254,214,437),65122=>array(33,70,317,354),65123=>array(19,129,181,182),65124=>array(33,67,317,357),65125=>array(33,67,317,357),65126=>array(33,122,317,302),65128=>array(0,-14,167,430),65129=>array(23,-62,307,469),65130=>array(44,-16,491,437),65131=>array(34,-126,589,437),65136=>array(10,716,290,944),65137=>array(-1,0,299,944),65138=>array(4,716,292,990),65140=>array(8,-255,288,-78),65142=>array(10,716,290,859),65143=>array(-1,0,299,859),65144=>array(4,716,292,990),65145=>array(-1,0,303,990),65146=>array(8,-170,288,-78),65147=>array(-1,-170,297,95),65148=>array(7,716,299,936),65149=>array(-1,0,307,936),65150=>array(3,767,151,915),65151=>array(-1,0,155,915),65152=>array(54,0,469,422),65153=>array(-23,0,270,846),65154=>array(-23,0,274,846),65155=>array(46,0,188,933),65156=>array(46,0,274,933),65157=>array(-108,-210,408,762),65158=>array(-111,-210,467,664),65159=>array(46,-285,188,716),65160=>array(46,-285,274,716),65161=>array(32,-121,679,453),65162=>array(34,-270,794,301),65163=>array(-1,0,201,569),65164=>array(-1,0,244,569),65165=>array(79,0,164,716),65166=>array(79,0,274,716),65167=>array(62,-190,709,265),65168=>array(62,-190,789,265),65169=>array(-1,-140,194,284),65170=>array(-1,-140,244,284),65171=>array(62,-6,452,633),65172=>array(62,0,478,628),65173=>array(62,-50,709,437),65174=>array(62,-50,789,437),65175=>array(-1,0,217,486),65176=>array(-1,0,244,486),65177=>array(62,-50,709,539),65178=>array(62,-50,789,539),65179=>array(-1,0,217,588),65180=>array(-1,0,244,588),65181=>array(52,-271,564,453),65182=>array(54,-271,659,453),65183=>array(-1,-80,567,453),65184=>array(-1,-140,638,453),65185=>array(52,-271,564,453),65186=>array(54,-271,659,453),65187=>array(-1,0,567,453),65188=>array(-1,0,638,453),65189=>array(52,-271,564,621),65190=>array(54,-271,659,621),65191=>array(-1,0,567,610),65192=>array(-1,0,638,612),65193=>array(38,0,368,437),65194=>array(38,0,459,436),65195=>array(38,0,368,629),65196=>array(38,0,459,653),65197=>array(-74,-210,357,290),65198=>array(-74,-210,437,239),65199=>array(-74,-210,357,470),65200=>array(-74,-210,437,458),65201=>array(39,-228,1115,346),65202=>array(39,-228,1195,346),65203=>array(-1,0,691,346),65204=>array(-1,0,771,346),65205=>array(39,-228,1115,604),65206=>array(39,-228,1195,604),65207=>array(-1,0,691,604),65208=>array(-1,0,771,604),65209=>array(39,-228,1230,436),65210=>array(39,-228,1292,436),65211=>array(-1,0,756,436),65212=>array(-1,0,818,436),65213=>array(39,-228,1230,532),65214=>array(39,-228,1292,532),65215=>array(-1,0,756,522),65216=>array(-1,0,818,522),65217=>array(59,0,782,686),65218=>array(59,0,844,686),65219=>array(-1,0,672,686),65220=>array(-1,0,734,686),65221=>array(59,0,782,686),65222=>array(59,0,844,686),65223=>array(-1,0,672,686),65224=>array(-1,0,734,686),65225=>array(53,-271,565,492),65226=>array(55,-271,567,443),65227=>array(-1,0,524,492),65228=>array(-3,0,555,407),65229=>array(53,-271,565,725),65230=>array(55,-271,567,660),65231=>array(-1,0,524,716),65232=>array(-3,0,555,624),65233=>array(62,0,895,773),65234=>array(62,-33,904,610),65235=>array(-1,0,404,773),65236=>array(-1,0,481,610),65237=>array(34,-214,738,678),65238=>array(39,-271,824,557),65239=>array(-1,0,404,758),65240=>array(-1,0,481,595),65241=>array(62,0,689,716),65242=>array(34,0,734,716),65243=>array(-1,0,432,717),65244=>array(-1,0,548,717),65245=>array(34,-121,594,716),65246=>array(34,-228,674,716),65247=>array(-1,0,194,716),65248=>array(-1,0,244,716),65249=>array(58,-265,527,359),65250=>array(58,-265,641,359),65251=>array(-1,0,419,359),65252=>array(-1,0,533,359),65253=>array(62,-121,630,458),65254=>array(39,-228,724,356),65255=>array(-1,0,194,501),65256=>array(-1,0,244,501),65257=>array(62,-6,452,431),65258=>array(62,0,478,446),65259=>array(-1,0,624,593),65260=>array(-1,-269,406,376),65261=>array(-108,-210,408,476),65262=>array(-111,-210,467,379),65263=>array(32,-121,679,453),65264=>array(34,-270,794,126),65265=>array(32,-238,679,453),65266=>array(34,-265,804,146),65267=>array(-1,-140,217,284),65268=>array(-1,-140,244,284),65269=>array(-122,-78,474,862),65270=>array(-121,-78,604,862),65271=>array(-27,-78,474,862),65272=>array(-27,-78,604,862),65273=>array(8,-171,474,716),65274=>array(8,-172,604,716),65275=>array(8,-78,474,716),65276=>array(8,-78,604,716),65281=>array(446,0,555,716),65282=>array(363,462,635,716),65283=>array(234,-12,768,728),65284=>array(263,-103,736,782),65285=>array(128,-27,874,728),65286=>array(199,-17,800,728),65287=>array(447,462,547,716),65288=>array(382,-210,619,728),65289=>array(382,-210,619,728),65290=>array(338,423,661,728),65291=>array(264,116,738,590),65292=>array(447,-141,553,100),65293=>array(366,215,635,303),65294=>array(448,0,548,100),65295=>array(361,-24,639,716),65296=>array(266,-12,732,719),65297=>array(367,0,631,719),65298=>array(263,0,737,719),65299=>array(267,-12,736,719),65300=>array(253,0,748,716),65301=>array(263,-12,737,706),65302=>array(265,-12,737,719),65303=>array(269,0,732,706),65304=>array(265,-12,736,719),65305=>array(266,-12,736,719),65306=>array(449,0,549,518),65307=>array(447,-141,553,518),65308=>array(263,111,737,595),65309=>array(263,203,737,503),65310=>array(263,111,737,595),65311=>array(269,0,731,728),65312=>array(37,-210,962,729),65313=>array(166,0,835,716),65314=>array(229,0,770,716),65315=>array(184,-12,816,728),65316=>array(204,0,796,716),65317=>array(232,0,767,716),65318=>array(258,0,741,716),65319=>array(169,-12,831,728),65320=>array(219,0,781,716),65321=>array(452,0,547,716),65322=>array(304,-12,697,716),65323=>array(204,0,796,716),65324=>array(276,0,724,716),65325=>array(159,0,840,716),65326=>array(218,0,781,716),65327=>array(157,-12,842,728),65328=>array(227,0,773,716),65329=>array(151,-56,849,728),65330=>array(184,0,815,716),65331=>array(215,-12,785,728),65332=>array(216,0,783,716),65333=>array(218,-12,781,716),65334=>array(173,0,827,716),65335=>array(39,0,960,716),65336=>array(172,0,828,716),65337=>array(172,0,828,716),65338=>array(217,0,783,716),65339=>array(403,-199,597,716),65340=>array(361,-24,639,716),65341=>array(403,-199,597,716),65342=>array(291,325,708,716),65343=>array(244,-125,756,-75),65344=>array(410,591,590,728),65345=>array(261,-12,739,530),65346=>array(275,-12,725,716),65347=>array(274,-12,726,530),65348=>array(275,-12,725,716),65349=>array(261,-12,739,530),65350=>array(348,0,651,728),65351=>array(271,-210,728,530),65352=>array(288,0,711,716),65353=>array(456,0,544,716),65354=>array(400,-209,600,716),65355=>array(285,0,715,716),65356=>array(456,0,544,716),65357=>array(148,0,852,530),65358=>array(289,0,711,530),65359=>array(257,-12,743,530),65360=>array(275,-199,725,530),65361=>array(275,-199,725,530),65362=>array(359,0,641,530),65363=>array(285,-12,715,530),65364=>array(374,-7,626,700),65365=>array(289,-12,710,518),65366=>array(262,0,737,518),65367=>array(144,0,856,518),65368=>array(257,0,743,518),65369=>array(262,-210,738,518),65370=>array(270,0,729,518),65371=>array(359,-210,641,728),65372=>array(462,-199,538,716),65373=>array(359,-210,641,728),65374=>array(250,272,749,432),65377=>array(53,-40,235,142),65378=>array(79,-68,421,837),65379=>array(77,-68,423,837),65380=>array(54,-82,296,171),65381=>array(196,332,304,440),65382=>array(65,-53,435,753),65383=>array(63,-11,461,732),65384=>array(46,-3,441,769),65385=>array(79,-9,425,763),65386=>array(61,32,439,689),65387=>array(38,-15,443,751),65388=>array(51,-26,452,756),65389=>array(61,33,439,696),65390=>array(79,19,421,701),65391=>array(56,-3,432,727),65392=>array(81,329,419,411),65393=>array(43,-61,481,751),65394=>array(42,-44,448,795),65395=>array(62,-47,439,803),65396=>array(41,0,459,735),65397=>array(34,-45,464,787),65398=>array(38,-40,443,794),65399=>array(43,-46,457,799),65400=>array(40,-49,436,815),65401=>array(39,-48,461,813),65402=>array(60,-23,440,734),65403=>array(42,-59,458,788),65404=>array(36,-33,461,770),65405=>array(28,-49,472,727),65406=>array(44,-5,468,786),65407=>array(49,-51,442,780),65408=>array(36,-56,453,798),65409=>array(41,-50,459,798),65410=>array(45,-43,455,770),65411=>array(41,-61,459,740),65412=>array(122,-46,444,787),65413=>array(42,-59,458,786),65414=>array(41,16,459,711),65415=>array(42,-47,459,734),65416=>array(25,-51,487,769),65417=>array(52,-43,442,740),65418=>array(35,-29,464,791),65419=>array(95,-5,465,770),65420=>array(66,-54,434,732),65421=>array(26,24,472,645),65422=>array(22,-47,472,785),65423=>array(50,-31,450,729),65424=>array(38,-31,463,769),65425=>array(28,-31,478,790),65426=>array(45,-35,449,782),65427=>array(41,-6,459,739),65428=>array(47,-50,468,797),65429=>array(41,-4,459,730),65430=>array(61,-27,439,730),65431=>array(58,-54,442,748),65432=>array(106,-53,394,768),65433=>array(18,-44,481,788),65434=>array(111,-29,474,788),65435=>array(71,-24,429,730),65436=>array(64,-48,436,731),65437=>array(41,-33,461,749),65438=>array(21,523,250,750),65439=>array(38,591,220,773),65441=>array(50,91,450,665),65442=>array(31,91,469,665),65443=>array(20,78,495,665),65444=>array(49,90,451,665),65445=>array(29,80,492,666),65446=>array(30,91,472,666),65447=>array(54,90,446,664),65448=>array(28,90,472,665),65449=>array(59,90,451,665),65450=>array(42,88,458,665),65451=>array(39,85,461,665),65452=>array(39,85,461,665),65453=>array(39,78,495,665),65454=>array(41,85,459,665),65455=>array(34,85,466,665),65456=>array(32,85,468,666),65457=>array(79,90,421,665),65458=>array(79,90,421,665),65459=>array(37,88,463,665),65460=>array(37,78,495,664),65461=>array(13,80,486,661),65462=>array(2,78,493,663),65463=>array(52,92,448,666),65464=>array(17,78,481,665),65465=>array(11,79,495,666),65466=>array(19,76,481,665),65467=>array(72,90,428,663),65468=>array(56,91,444,664),65469=>array(62,90,438,665),65470=>array(44,88,456,665),65474=>array(105,-64,395,842),65475=>array(95,-64,405,842),65476=>array(103,-64,397,842),65477=>array(90,-64,411,842),65478=>array(103,-65,397,841),65479=>array(40,-63,445,843),65482=>array(103,-64,397,842),65483=>array(39,-63,446,843),65484=>array(43,197,457,614),65485=>array(24,-64,476,842),65486=>array(27,-64,463,842),65487=>array(24,-64,439,842),65490=>array(30,197,470,615),65491=>array(40,76,460,554),65492=>array(31,-65,454,841),65493=>array(25,-63,465,843),65494=>array(31,-64,449,842),65495=>array(40,110,468,588),65498=>array(28,357,472,436),65499=>array(30,-64,450,842),65500=>array(212,-64,288,842),65504=>array(274,-200,726,716),65505=>array(242,-14,758,728),65506=>array(263,203,737,503),65507=>array(244,793,756,843),65508=>array(462,-199,538,716),65509=>array(223,0,777,716),65510=>array(39,0,960,716),65512=>array(207,-218,293,994),65513=>array(40,100,460,412),65514=>array(93,0,405,420),65515=>array(40,100,460,412),65516=>array(93,0,405,420),65517=>array(35,160,465,590),65518=>array(35,160,465,590),65532=>array(0,0,1000,719),65533=>array(85,-21,915,810),65535=>array(125,0,875,750)); +$cw=array(0=>1000,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>469,95=>500,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>500,176=>400,177=>584,178=>333,179=>333,180=>333,181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500,256=>667,257=>556,258=>667,259=>556,260=>667,261=>556,262=>722,263=>500,264=>722,265=>500,266=>722,267=>500,268=>722,269=>500,270=>722,271=>627,272=>722,273=>556,274=>667,275=>556,276=>667,277=>556,278=>667,279=>556,280=>667,281=>556,282=>667,283=>556,284=>778,285=>556,286=>778,287=>556,288=>778,289=>556,290=>778,291=>556,292=>722,293=>556,294=>722,295=>556,296=>278,297=>222,298=>278,299=>222,300=>278,301=>222,302=>278,303=>222,304=>278,305=>278,306=>751,307=>444,308=>500,309=>222,310=>667,311=>500,312=>437,313=>556,314=>222,315=>556,316=>222,317=>556,318=>222,319=>556,320=>318,321=>556,322=>222,323=>722,324=>556,325=>722,326=>556,327=>722,328=>556,329=>626,330=>723,331=>556,332=>778,333=>556,334=>778,335=>556,336=>778,337=>556,338=>1000,339=>944,340=>722,341=>333,342=>722,343=>333,344=>722,345=>333,346=>667,347=>500,348=>667,349=>500,350=>667,351=>500,352=>667,353=>500,354=>611,355=>278,356=>611,357=>406,358=>611,359=>278,360=>722,361=>556,362=>722,363=>556,364=>722,365=>556,366=>722,367=>556,368=>722,369=>556,370=>722,371=>556,372=>944,373=>722,374=>667,375=>500,376=>667,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>222,384=>556,385=>740,386=>655,387=>556,388=>556,389=>556,390=>722,391=>766,392=>579,393=>722,394=>789,395=>655,396=>556,397=>557,398=>667,399=>729,400=>604,401=>611,402=>278,403=>791,404=>649,405=>806,406=>245,407=>322,408=>667,409=>500,410=>322,411=>500,412=>833,413=>722,414=>556,415=>778,416=>776,417=>556,418=>1019,419=>782,420=>735,421=>556,422=>722,423=>667,424=>500,425=>602,426=>366,427=>278,428=>571,429=>278,430=>611,431=>776,432=>620,433=>748,434=>667,435=>752,436=>615,437=>611,438=>500,439=>628,440=>628,441=>526,442=>480,443=>556,444=>556,445=>526,446=>556,447=>556,448=>278,449=>464,450=>474,451=>278,452=>1333,453=>1222,454=>1056,455=>1030,456=>778,457=>444,458=>1222,459=>944,460=>778,461=>667,462=>556,463=>278,464=>278,465=>778,466=>556,467=>722,468=>556,469=>722,470=>556,471=>722,472=>556,473=>722,474=>556,475=>722,476=>556,477=>556,478=>667,479=>556,480=>667,481=>556,482=>1000,483=>889,484=>778,485=>556,486=>778,487=>556,488=>667,489=>500,490=>778,491=>556,492=>778,493=>556,494=>534,495=>534,496=>222,497=>1333,498=>1222,499=>1056,500=>778,501=>556,506=>667,507=>556,508=>1000,509=>889,510=>778,511=>611,512=>667,513=>556,514=>667,515=>556,516=>667,517=>556,518=>667,519=>556,520=>278,521=>278,522=>278,523=>278,524=>778,525=>556,526=>778,527=>556,528=>722,529=>333,530=>722,531=>333,532=>722,533=>556,534=>722,535=>556,592=>556,593=>556,594=>556,595=>556,596=>500,597=>500,598=>556,599=>556,600=>556,601=>556,602=>777,603=>485,604=>485,605=>686,606=>519,607=>260,608=>556,609=>556,610=>557,611=>500,612=>500,613=>556,614=>556,615=>556,616=>242,617=>282,618=>356,619=>356,620=>425,621=>222,622=>635,623=>833,624=>833,625=>833,626=>556,627=>556,628=>558,629=>556,630=>715,631=>674,632=>558,633=>333,634=>333,635=>333,636=>333,637=>333,638=>312,639=>312,640=>530,641=>530,642=>500,643=>216,644=>276,645=>216,646=>222,647=>278,648=>278,649=>596,650=>558,651=>556,652=>500,653=>722,654=>500,655=>500,656=>500,657=>564,658=>530,659=>530,660=>464,661=>464,662=>464,663=>500,664=>614,665=>526,666=>519,667=>557,668=>558,669=>222,670=>500,671=>416,672=>556,673=>464,674=>464,675=>966,676=>966,677=>1030,678=>689,679=>484,680=>718,688=>326,689=>326,690=>153,691=>201,692=>201,693=>201,694=>304,695=>389,696=>278,697=>222,698=>372,699=>222,700=>222,701=>222,702=>222,703=>222,704=>250,705=>250,706=>320,707=>320,708=>320,709=>320,710=>333,711=>333,712=>192,713=>333,714=>333,715=>333,716=>192,717=>333,718=>333,719=>333,720=>300,721=>300,722=>222,723=>222,724=>340,725=>340,726=>280,727=>362,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,736=>278,737=>153,738=>270,739=>274,740=>325,741=>360,742=>360,743=>360,744=>360,745=>360,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,864=>0,865=>0,884=>308,885=>308,890=>278,894=>278,900=>278,901=>278,902=>667,903=>278,904=>704,905=>759,906=>315,908=>778,910=>746,911=>758,912=>222,913=>667,914=>667,915=>550,916=>682,917=>667,918=>611,919=>722,920=>778,921=>278,922=>667,923=>667,924=>833,925=>722,926=>650,927=>778,928=>722,929=>667,931=>602,932=>611,933=>667,934=>808,935=>667,936=>804,937=>758,938=>278,939=>667,940=>576,941=>434,942=>556,943=>222,944=>551,945=>576,946=>563,947=>500,948=>557,949=>434,950=>440,951=>556,952=>556,953=>222,954=>498,955=>500,956=>553,957=>500,958=>432,959=>556,960=>678,961=>571,962=>472,963=>619,964=>382,965=>551,966=>649,967=>522,968=>729,969=>766,970=>222,971=>551,972=>556,973=>551,974=>766,976=>563,977=>616,978=>631,979=>726,980=>631,981=>644,982=>781,986=>722,988=>578,990=>570,992=>692,994=>880,995=>833,996=>684,997=>558,998=>680,999=>529,1000=>557,1001=>505,1002=>623,1003=>603,1004=>610,1005=>611,1006=>568,1007=>434,1008=>600,1009=>571,1010=>500,1011=>222,1025=>667,1026=>865,1027=>567,1028=>717,1029=>667,1030=>278,1031=>278,1032=>500,1033=>1105,1034=>1009,1035=>867,1036=>584,1038=>635,1039=>723,1040=>667,1041=>655,1042=>667,1043=>567,1044=>677,1045=>667,1046=>923,1047=>604,1048=>722,1049=>722,1050=>584,1051=>705,1052=>833,1053=>722,1054=>778,1055=>723,1056=>667,1057=>722,1058=>611,1059=>635,1060=>760,1061=>667,1062=>740,1063=>684,1064=>920,1065=>939,1066=>793,1067=>883,1068=>655,1069=>717,1070=>1006,1071=>722,1072=>556,1073=>573,1074=>531,1075=>383,1076=>583,1077=>556,1078=>669,1079=>458,1080=>559,1081=>559,1082=>437,1083=>571,1084=>683,1085=>552,1086=>556,1087=>542,1088=>556,1089=>500,1090=>458,1091=>500,1092=>823,1093=>500,1094=>562,1095=>533,1096=>802,1097=>823,1098=>620,1099=>717,1100=>523,1101=>510,1102=>744,1103=>542,1105=>556,1106=>556,1107=>383,1108=>510,1109=>500,1110=>222,1111=>278,1112=>222,1113=>873,1114=>811,1115=>556,1116=>437,1118=>500,1119=>542,1120=>976,1121=>766,1122=>656,1123=>521,1124=>950,1125=>694,1126=>667,1127=>597,1128=>952,1129=>817,1130=>654,1131=>600,1132=>932,1133=>817,1134=>604,1135=>458,1136=>804,1137=>729,1138=>778,1139=>556,1140=>667,1141=>500,1142=>667,1143=>500,1144=>1279,1145=>1060,1146=>778,1147=>556,1148=>976,1149=>766,1150=>976,1151=>766,1152=>722,1153=>514,1154=>686,1155=>334,1156=>382,1157=>334,1158=>334,1168=>435,1169=>339,1170=>567,1171=>383,1172=>656,1173=>556,1174=>923,1175=>669,1176=>604,1177=>458,1178=>584,1179=>437,1180=>584,1181=>437,1182=>584,1183=>437,1184=>764,1185=>537,1186=>741,1187=>573,1188=>900,1189=>670,1190=>736,1191=>560,1192=>778,1193=>560,1194=>722,1195=>500,1196=>611,1197=>458,1198=>667,1199=>500,1200=>667,1201=>500,1202=>667,1203=>500,1204=>916,1205=>661,1206=>684,1207=>533,1208=>684,1209=>533,1210=>684,1211=>556,1212=>829,1213=>667,1214=>829,1215=>667,1216=>278,1217=>923,1218=>669,1219=>584,1220=>437,1223=>735,1224=>570,1227=>684,1228=>533,1232=>667,1233=>556,1234=>667,1235=>556,1236=>1000,1237=>889,1238=>667,1239=>556,1240=>729,1241=>556,1242=>729,1243=>556,1244=>923,1245=>669,1246=>604,1247=>458,1248=>604,1249=>492,1250=>722,1251=>559,1252=>722,1253=>559,1254=>778,1255=>556,1256=>778,1257=>556,1258=>778,1259=>556,1262=>635,1263=>500,1264=>635,1265=>500,1266=>635,1267=>500,1268=>684,1269=>533,1272=>883,1273=>717,1329=>635,1330=>531,1331=>583,1332=>583,1333=>531,1334=>531,1335=>427,1336=>531,1337=>750,1338=>635,1339=>531,1340=>375,1341=>583,1342=>698,1343=>531,1344=>427,1345=>531,1346=>583,1347=>531,1348=>635,1349=>698,1350=>635,1351=>635,1352=>531,1353=>531,1354=>698,1355=>531,1356=>635,1357=>531,1358=>698,1359=>583,1360=>479,1361=>583,1362=>531,1363=>698,1364=>698,1365=>635,1366=>750,1369=>271,1370=>271,1371=>150,1372=>300,1373=>271,1374=>271,1375=>420,1377=>583,1378=>427,1379=>427,1380=>427,1381=>427,1382=>427,1383=>427,1384=>427,1385=>459,1386=>427,1387=>427,1388=>323,1389=>531,1390=>427,1391=>427,1392=>427,1393=>427,1394=>427,1395=>427,1396=>427,1397=>271,1398=>427,1399=>375,1400=>427,1401=>375,1402=>583,1403=>427,1404=>427,1405=>427,1406=>427,1407=>583,1408=>427,1409=>427,1410=>323,1411=>583,1412=>375,1413=>375,1414=>583,1415=>527,1417=>271,1425=>360,1426=>360,1427=>360,1428=>360,1429=>360,1430=>360,1431=>360,1432=>360,1433=>360,1434=>360,1435=>360,1436=>360,1437=>360,1438=>360,1439=>360,1440=>360,1441=>360,1443=>360,1444=>360,1445=>360,1446=>360,1447=>360,1448=>360,1449=>360,1450=>360,1451=>360,1452=>360,1453=>360,1454=>360,1455=>360,1456=>360,1457=>360,1458=>360,1459=>360,1460=>360,1461=>360,1462=>360,1463=>360,1464=>360,1465=>360,1467=>360,1468=>360,1469=>360,1470=>366,1471=>360,1472=>225,1473=>360,1474=>360,1475=>238,1476=>360,1488=>577,1489=>563,1490=>411,1491=>512,1492=>594,1493=>316,1494=>326,1495=>594,1496=>594,1497=>316,1498=>507,1499=>527,1500=>484,1501=>594,1502=>594,1503=>316,1504=>338,1505=>604,1506=>550,1507=>567,1508=>569,1509=>505,1510=>514,1511=>583,1512=>507,1513=>700,1514=>633,1520=>590,1521=>590,1522=>590,1523=>216,1524=>412,1548=>278,1563=>278,1567=>556,1569=>529,1570=>243,1571=>243,1572=>470,1573=>243,1574=>731,1575=>243,1576=>771,1577=>514,1578=>771,1579=>771,1580=>544,1581=>544,1582=>544,1583=>430,1584=>430,1585=>421,1586=>421,1587=>1194,1588=>1194,1589=>1291,1590=>1291,1591=>843,1592=>843,1593=>594,1594=>594,1600=>279,1601=>957,1602=>800,1603=>757,1604=>662,1605=>589,1606=>692,1607=>514,1608=>470,1609=>731,1610=>731,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>480,1633=>480,1634=>480,1635=>480,1636=>480,1637=>480,1638=>480,1639=>480,1640=>480,1641=>480,1642=>547,1643=>278,1644=>278,1645=>438,1648=>0,1649=>243,1650=>243,1651=>243,1652=>0,1653=>380,1654=>470,1655=>548,1656=>772,1657=>771,1658=>771,1659=>771,1660=>771,1661=>771,1662=>771,1663=>771,1664=>771,1665=>544,1666=>544,1667=>544,1668=>544,1669=>544,1670=>544,1671=>544,1672=>430,1673=>430,1674=>430,1675=>430,1676=>430,1677=>430,1678=>430,1679=>430,1680=>430,1681=>421,1682=>421,1683=>421,1684=>421,1685=>421,1686=>419,1687=>421,1688=>421,1689=>421,1690=>1194,1691=>1194,1692=>1194,1693=>1291,1694=>1291,1695=>843,1696=>594,1697=>957,1698=>957,1699=>957,1700=>957,1701=>957,1702=>957,1703=>800,1704=>800,1705=>828,1706=>1058,1707=>828,1708=>757,1709=>757,1710=>757,1711=>828,1712=>828,1713=>828,1714=>828,1715=>828,1716=>828,1717=>662,1718=>662,1719=>662,1722=>692,1723=>692,1724=>692,1725=>692,1726=>706,1728=>514,1729=>509,1730=>509,1731=>509,1732=>470,1733=>470,1734=>470,1735=>470,1736=>470,1737=>470,1738=>470,1739=>470,1740=>731,1741=>841,1742=>731,1744=>731,1745=>731,1746=>550,1747=>550,1748=>279,1749=>514,1750=>726,1751=>558,1752=>321,1753=>318,1754=>342,1755=>373,1756=>716,1757=>688,1758=>852,1759=>288,1760=>288,1761=>388,1762=>350,1763=>716,1764=>146,1765=>282,1766=>339,1767=>339,1768=>415,1769=>514,1770=>220,1771=>220,1772=>220,1773=>350,1776=>480,1777=>480,1778=>480,1779=>480,1780=>480,1781=>480,1782=>480,1783=>480,1784=>480,1785=>480,2305=>0,2306=>0,2307=>294,2309=>693,2310=>910,2311=>533,2312=>533,2313=>590,2314=>713,2315=>920,2316=>677,2317=>611,2318=>611,2319=>611,2320=>611,2321=>910,2322=>910,2323=>910,2324=>910,2325=>667,2326=>732,2327=>593,2328=>639,2329=>624,2330=>688,2331=>713,2332=>688,2333=>712,2334=>697,2335=>502,2336=>533,2337=>583,2338=>523,2339=>693,2340=>585,2341=>638,2342=>533,2343=>640,2344=>585,2345=>585,2346=>565,2347=>699,2348=>592,2349=>689,2350=>633,2351=>600,2352=>486,2353=>486,2354=>680,2355=>730,2356=>730,2357=>592,2358=>684,2359=>608,2360=>646,2361=>546,2364=>0,2365=>373,2366=>319,2367=>319,2368=>319,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>319,2378=>319,2379=>319,2380=>319,2381=>0,2384=>884,2385=>0,2386=>0,2387=>0,2388=>0,2392=>667,2393=>732,2394=>593,2395=>688,2396=>583,2397=>523,2398=>699,2399=>600,2400=>920,2401=>677,2402=>0,2403=>0,2404=>331,2405=>513,2406=>639,2407=>639,2408=>639,2409=>639,2410=>639,2411=>639,2412=>639,2413=>639,2414=>639,2415=>639,2416=>362,2433=>0,2434=>430,2435=>430,2437=>786,2438=>1030,2439=>582,2440=>603,2441=>648,2442=>757,2443=>758,2444=>630,2447=>685,2448=>746,2451=>711,2452=>776,2453=>779,2454=>655,2455=>606,2456=>645,2457=>661,2458=>554,2459=>585,2460=>729,2461=>752,2462=>893,2463=>567,2464=>625,2465=>648,2466=>567,2467=>598,2468=>680,2469=>645,2470=>609,2471=>596,2472=>595,2474=>635,2475=>780,2476=>593,2477=>677,2478=>621,2479=>601,2480=>593,2482=>640,2486=>598,2487=>596,2488=>637,2489=>582,2492=>0,2494=>245,2495=>245,2496=>245,2497=>0,2498=>0,2499=>0,2500=>0,2503=>309,2504=>309,2507=>932,2508=>932,2509=>0,2519=>245,2524=>648,2525=>553,2527=>596,2528=>758,2529=>630,2530=>0,2531=>335,2534=>610,2535=>559,2536=>595,2537=>711,2538=>610,2539=>661,2540=>661,2541=>559,2542=>661,2543=>600,2544=>593,2545=>593,2546=>601,2547=>567,2548=>601,2549=>699,2550=>661,2551=>267,2552=>610,2553=>424,2554=>548,2562=>0,2565=>691,2566=>936,2567=>803,2568=>803,2569=>678,2570=>678,2575=>557,2576=>691,2579=>678,2580=>691,2581=>602,2582=>567,2583=>641,2584=>688,2585=>565,2586=>592,2587=>603,2588=>591,2589=>541,2590=>558,2591=>543,2592=>581,2593=>596,2594=>640,2595=>640,2596=>591,2597=>564,2598=>640,2599=>564,2600=>581,2602=>564,2603=>551,2604=>560,2605=>549,2606=>558,2607=>652,2608=>540,2610=>677,2611=>677,2613=>601,2614=>558,2616=>558,2617=>549,2620=>0,2622=>246,2623=>246,2624=>246,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2649=>567,2650=>690,2651=>591,2652=>591,2654=>581,2662=>591,2663=>591,2664=>591,2665=>591,2666=>591,2667=>591,2668=>591,2669=>591,2670=>591,2671=>591,2672=>0,2673=>0,2674=>557,2675=>678,2676=>894,2689=>0,2690=>0,2691=>300,2693=>781,2694=>1044,2695=>589,2696=>589,2697=>560,2698=>758,2699=>806,2701=>781,2703=>781,2704=>781,2705=>1044,2707=>1044,2708=>1044,2709=>413,2710=>773,2711=>606,2712=>558,2713=>483,2714=>600,2715=>691,2716=>811,2717=>647,2718=>651,2719=>453,2720=>450,2721=>425,2722=>478,2723=>694,2724=>534,2725=>553,2726=>446,2727=>541,2728=>582,2730=>572,2731=>437,2732=>663,2733=>756,2734=>594,2735=>493,2736=>392,2738=>613,2739=>656,2741=>538,2742=>611,2743=>507,2744=>663,2745=>587,2748=>0,2749=>478,2750=>273,2751=>273,2752=>273,2753=>0,2754=>0,2755=>0,2756=>0,2757=>0,2759=>0,2760=>0,2761=>273,2763=>273,2764=>273,2765=>0,2768=>843,2784=>893,2790=>625,2791=>625,2792=>625,2793=>625,2794=>625,2795=>625,2796=>625,2797=>625,2798=>625,2799=>625,2817=>0,2818=>306,2819=>391,2821=>590,2822=>808,2823=>658,2824=>658,2825=>633,2826=>654,2827=>636,2828=>540,2831=>560,2832=>938,2835=>600,2836=>973,2837=>603,2838=>620,2839=>620,2840=>605,2841=>712,2842=>579,2843=>579,2844=>593,2845=>564,2846=>581,2847=>604,2848=>578,2849=>579,2850=>579,2851=>607,2852=>579,2853=>587,2854=>579,2855=>602,2856=>579,2858=>605,2859=>728,2860=>579,2861=>643,2862=>605,2863=>628,2864=>619,2866=>653,2867=>593,2870=>620,2871=>605,2872=>605,2873=>579,2876=>0,2877=>333,2878=>218,2879=>0,2880=>294,2881=>0,2882=>0,2883=>0,2887=>479,2888=>479,2891=>1026,2892=>1026,2893=>0,2902=>0,2903=>218,2908=>579,2909=>579,2911=>599,2912=>636,2913=>540,2918=>578,2919=>480,2920=>480,2921=>622,2922=>506,2923=>605,2924=>529,2925=>548,2926=>512,2927=>528,2928=>561,2946=>0,2947=>742,2949=>1002,2950=>1118,2951=>994,2952=>660,2953=>1012,2954=>1231,2958=>726,2959=>731,2960=>870,2962=>763,2963=>763,2964=>1636,2965=>667,2969=>830,2970=>584,2972=>876,2974=>986,2975=>802,2979=>1295,2980=>656,2984=>630,2985=>1012,2986=>694,2990=>727,2991=>790,2992=>545,2993=>718,2994=>821,2995=>871,2996=>724,2997=>873,2999=>1087,3000=>1098,3001=>1274,3006=>547,3007=>172,3008=>93,3009=>519,3010=>814,3014=>748,3015=>681,3016=>956,3018=>1666,3019=>1666,3020=>1994,3021=>0,3031=>871,3047=>667,3048=>1012,3049=>751,3050=>740,3051=>924,3052=>884,3053=>726,3054=>1002,3055=>825,3056=>717,3057=>719,3058=>774,3073=>365,3074=>601,3075=>346,3077=>720,3078=>786,3079=>567,3080=>1159,3081=>690,3082=>1047,3083=>1299,3084=>913,3086=>625,3087=>625,3088=>712,3090=>655,3091=>655,3092=>862,3093=>515,3094=>680,3095=>526,3096=>943,3097=>655,3098=>684,3099=>684,3100=>670,3101=>1205,3102=>732,3103=>888,3104=>597,3105=>709,3106=>709,3107=>809,3108=>715,3109=>702,3110=>702,3111=>702,3112=>607,3114=>623,3115=>623,3116=>681,3117=>681,3118=>932,3119=>1203,3120=>597,3121=>893,3122=>631,3123=>608,3125=>620,3126=>541,3127=>667,3128=>640,3129=>911,3134=>644,3135=>298,3136=>298,3137=>361,3138=>682,3139=>342,3140=>704,3142=>624,3143=>624,3144=>900,3146=>849,3147=>849,3148=>976,3149=>669,3157=>298,3158=>119,3168=>1620,3169=>1281,3174=>840,3175=>840,3176=>840,3177=>840,3178=>840,3179=>840,3180=>840,3181=>840,3182=>840,3183=>840,3202=>440,3203=>251,3205=>654,3206=>654,3207=>631,3208=>891,3209=>957,3210=>1293,3211=>1044,3212=>744,3214=>650,3215=>650,3216=>659,3218=>667,3219=>667,3220=>667,3221=>462,3222=>749,3223=>543,3224=>779,3225=>674,3226=>682,3227=>660,3228=>667,3229=>1171,3230=>926,3231=>671,3232=>557,3233=>669,3234=>669,3235=>728,3236=>544,3237=>672,3238=>672,3239=>672,3240=>560,3242=>668,3243=>668,3244=>681,3245=>687,3246=>972,3247=>1101,3248=>556,3249=>677,3250=>661,3251=>545,3253=>666,3254=>553,3255=>670,3256=>549,3257=>716,3262=>425,3263=>341,3264=>680,3265=>354,3266=>714,3267=>386,3268=>638,3270=>307,3271=>670,3272=>462,3274=>908,3275=>1251,3276=>434,3277=>336,3285=>344,3286=>404,3294=>673,3296=>1695,3297=>978,3302=>549,3303=>549,3304=>549,3305=>549,3306=>549,3307=>549,3308=>549,3309=>549,3310=>549,3311=>549,3330=>368,3331=>305,3333=>1201,3334=>1351,3335=>905,3336=>1459,3337=>635,3338=>1198,3339=>861,3340=>957,3342=>1211,3343=>1202,3344=>1839,3346=>642,3347=>1114,3348=>1195,3349=>861,3350=>982,3351=>874,3352=>1354,3353=>957,3354=>1016,3355=>1266,3356=>712,3357=>1454,3358=>1215,3359=>563,3360=>565,3361=>1192,3362=>1244,3363=>1268,3364=>878,3365=>966,3366=>545,3367=>879,3368=>879,3370=>1031,3371=>1175,3372=>1334,3373=>546,3374=>643,3375=>949,3376=>642,3377=>555,3378=>945,3379=>631,3380=>553,3381=>959,3382=>936,3383=>1122,3384=>1190,3385=>1112,3390=>475,3391=>418,3392=>442,3393=>340,3394=>340,3395=>473,3398=>640,3399=>530,3400=>1279,3402=>1368,3403=>1258,3404=>1447,3405=>0,3415=>553,3424=>861,3425=>1100,3430=>1095,3431=>929,3432=>854,3433=>1181,3434=>658,3435=>972,3436=>1210,3437=>650,3438=>959,3439=>896,3585=>595,3586=>648,3587=>665,3588=>608,3589=>608,3590=>665,3591=>471,3592=>556,3593=>652,3594=>664,3595=>681,3596=>816,3597=>849,3598=>620,3599=>620,3600=>541,3601=>785,3602=>826,3603=>887,3604=>598,3605=>605,3606=>595,3607=>650,3608=>541,3609=>652,3610=>608,3611=>608,3612=>630,3613=>630,3614=>695,3615=>695,3616=>620,3617=>581,3618=>588,3619=>501,3620=>595,3621=>569,3622=>620,3623=>519,3624=>592,3625=>659,3626=>574,3627=>654,3628=>695,3629=>566,3630=>574,3631=>517,3632=>452,3633=>0,3634=>496,3635=>496,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>687,3648=>302,3649=>571,3650=>478,3651=>515,3652=>515,3653=>496,3654=>506,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>555,3664=>598,3665=>640,3666=>688,3667=>690,3668=>657,3669=>657,3670=>635,3671=>839,3672=>693,3673=>769,3674=>673,3675=>994,3713=>775,3714=>707,3716=>724,3719=>524,3720=>690,3722=>678,3725=>711,3732=>719,3733=>834,3734=>776,3735=>916,3737=>744,3738=>740,3739=>740,3740=>834,3741=>834,3742=>854,3743=>854,3745=>775,3746=>724,3747=>697,3749=>700,3751=>700,3754=>708,3755=>916,3757=>700,3758=>697,3759=>658,3760=>432,3761=>534,3762=>476,3763=>476,3764=>778,3765=>778,3766=>778,3767=>778,3768=>778,3769=>778,3771=>778,3772=>778,3773=>670,3776=>420,3777=>806,3778=>430,3779=>446,3780=>346,3782=>571,3784=>778,3785=>778,3786=>778,3787=>778,3788=>778,3789=>778,3792=>721,3793=>719,3794=>601,3795=>711,3796=>686,3797=>686,3798=>834,3799=>756,3800=>724,3801=>906,3804=>1272,3805=>1272,3840=>600,3841=>600,3842=>600,3843=>600,3844=>600,3845=>600,3846=>600,3847=>600,3848=>600,3849=>600,3850=>600,3851=>600,3852=>600,3853=>600,3854=>600,3855=>600,3856=>600,3857=>600,3858=>600,3859=>600,3860=>600,3861=>600,3862=>600,3863=>600,3864=>600,3865=>600,3866=>600,3867=>600,3868=>600,3869=>600,3870=>600,3871=>600,3872=>600,3873=>600,3874=>600,3875=>600,3876=>600,3877=>600,3878=>600,3879=>600,3880=>600,3881=>600,3882=>600,3883=>600,3884=>600,3885=>600,3886=>600,3887=>600,3888=>600,3889=>600,3890=>600,3891=>600,3892=>600,3893=>600,3894=>600,3895=>600,3896=>600,3897=>600,3898=>600,3899=>600,3900=>600,3901=>600,3902=>600,3903=>600,3904=>600,3905=>600,3906=>600,3907=>600,3908=>600,3909=>600,3910=>600,3911=>600,3913=>600,3914=>600,3915=>600,3916=>600,3917=>600,3918=>600,3919=>600,3920=>600,3921=>600,3922=>600,3923=>600,3924=>600,3925=>600,3926=>600,3927=>600,3928=>600,3929=>600,3930=>600,3931=>600,3932=>600,3933=>600,3934=>600,3935=>600,3936=>600,3937=>600,3938=>600,3939=>600,3940=>600,3941=>600,3942=>600,3943=>600,3944=>600,3945=>600,3953=>600,3954=>600,3955=>600,3956=>600,3957=>600,3958=>600,3959=>600,3960=>600,3961=>600,3962=>600,3963=>600,3964=>600,3965=>600,3966=>600,3967=>600,3968=>600,3969=>600,3970=>600,3971=>600,3972=>600,3973=>600,3974=>600,3975=>600,3976=>600,3977=>600,3978=>600,3979=>600,3984=>600,3985=>600,3986=>600,3987=>600,3988=>600,3989=>600,3991=>600,3993=>600,3994=>600,3995=>600,3996=>600,3997=>600,3998=>600,3999=>600,4000=>600,4001=>600,4002=>600,4003=>600,4004=>600,4005=>600,4006=>600,4007=>600,4008=>600,4009=>600,4010=>600,4011=>600,4012=>600,4013=>600,4017=>600,4018=>600,4019=>600,4020=>600,4021=>600,4022=>600,4023=>600,4025=>600,4256=>662,4257=>677,4258=>708,4259=>696,4260=>609,4261=>790,4262=>664,4263=>785,4264=>560,4265=>634,4266=>782,4267=>701,4268=>629,4269=>682,4270=>705,4271=>692,4272=>734,4273=>615,4274=>592,4275=>680,4276=>679,4277=>705,4278=>643,4279=>623,4280=>623,4281=>629,4282=>633,4283=>770,4284=>592,4285=>662,4286=>629,4287=>672,4288=>735,4289=>576,4290=>606,4291=>605,4292=>676,4293=>792,4304=>435,4305=>556,4306=>565,4307=>872,4308=>506,4309=>544,4310=>723,4311=>868,4312=>530,4313=>532,4314=>955,4315=>552,4316=>565,4317=>712,4318=>547,4319=>574,4320=>685,4321=>554,4322=>806,4323=>810,4324=>777,4325=>502,4326=>686,4327=>512,4328=>552,4329=>496,4330=>568,4331=>552,4332=>592,4333=>565,4334=>552,4335=>741,4336=>549,4337=>659,4338=>559,4339=>524,4340=>482,4341=>565,4342=>822,4347=>506,4352=>1000,4353=>1000,4354=>1000,4355=>1000,4356=>1000,4357=>1000,4358=>1000,4359=>1000,4360=>1000,4361=>1000,4362=>1000,4363=>1000,4364=>1000,4365=>1000,4366=>1000,4367=>1000,4368=>1000,4369=>1000,4370=>1000,4371=>1000,4372=>1000,4373=>1000,4374=>1000,4375=>1000,4376=>1000,4377=>1000,4378=>1000,4379=>1000,4380=>1000,4381=>1000,4382=>1000,4383=>1000,4384=>1000,4385=>1000,4386=>1000,4387=>1000,4388=>1000,4389=>1000,4390=>1000,4391=>1000,4392=>1000,4393=>1000,4394=>1000,4395=>1000,4396=>1000,4397=>1000,4398=>1000,4399=>1000,4400=>1000,4401=>1000,4402=>1000,4403=>1000,4404=>1000,4405=>1000,4406=>1000,4407=>1000,4408=>1000,4409=>1000,4410=>1000,4411=>1000,4412=>1000,4413=>1000,4414=>1000,4415=>1000,4416=>1000,4417=>1000,4418=>1000,4419=>1000,4420=>1000,4421=>1000,4422=>1000,4423=>1000,4424=>1000,4425=>1000,4426=>1000,4427=>1000,4428=>1000,4429=>1000,4430=>1000,4431=>1000,4432=>1000,4433=>1000,4434=>1000,4435=>1000,4436=>1000,4437=>1000,4438=>1000,4439=>1000,4440=>1000,4441=>1000,4447=>1000,4448=>1000,4449=>1000,4450=>1000,4451=>1000,4452=>1000,4453=>1000,4454=>1000,4455=>1000,4456=>1000,4457=>1000,4458=>1000,4459=>1000,4460=>1000,4461=>1000,4462=>1000,4463=>1000,4464=>1000,4465=>1000,4466=>1000,4467=>1000,4468=>1000,4469=>1000,4470=>1000,4471=>1000,4472=>1000,4473=>1000,4474=>1000,4475=>1000,4476=>1000,4477=>1000,4478=>1000,4479=>1000,4480=>1000,4481=>1000,4482=>1000,4483=>1000,4484=>1000,4485=>1000,4486=>1000,4487=>1000,4488=>1000,4489=>1000,4490=>1000,4491=>1000,4492=>1000,4493=>1000,4494=>1000,4495=>1000,4496=>1000,4497=>1000,4498=>1000,4499=>1000,4500=>1000,4501=>1000,4502=>1000,4503=>1000,4504=>1000,4505=>1000,4506=>1000,4507=>1000,4508=>1000,4509=>1000,4510=>1000,4511=>1000,4512=>1000,4513=>1000,4514=>1000,4520=>1000,4521=>1000,4522=>1000,4523=>1000,4524=>1000,4525=>1000,4526=>1000,4527=>1000,4528=>1000,4529=>1000,4530=>1000,4531=>1000,4532=>1000,4533=>1000,4534=>1000,4535=>1000,4536=>1000,4537=>1000,4538=>1000,4539=>1000,4540=>1000,4541=>1000,4542=>1000,4543=>1000,4544=>1000,4545=>1000,4546=>1000,4547=>1000,4548=>1000,4549=>1000,4550=>1000,4551=>1000,4552=>1000,4553=>1000,4554=>1000,4555=>1000,4556=>1000,4557=>1000,4558=>1000,4559=>1000,4560=>1000,4561=>1000,4562=>1000,4563=>1000,4564=>1000,4565=>1000,4566=>1000,4567=>1000,4568=>1000,4569=>1000,4570=>1000,4571=>1000,4572=>1000,4573=>1000,4574=>1000,4575=>1000,4576=>1000,4577=>1000,4578=>1000,4579=>1000,4580=>1000,4581=>1000,4582=>1000,4583=>1000,4584=>1000,4585=>1000,4586=>1000,4587=>1000,4588=>1000,4589=>1000,4590=>1000,4591=>1000,4592=>1000,4593=>1000,4594=>1000,4595=>1000,4596=>1000,4597=>1000,4598=>1000,4599=>1000,4600=>1000,4601=>1000,7680=>667,7681=>556,7682=>667,7683=>556,7684=>667,7685=>556,7686=>667,7687=>556,7688=>722,7689=>500,7690=>722,7691=>556,7692=>722,7693=>556,7694=>722,7695=>556,7696=>722,7697=>556,7698=>722,7699=>556,7700=>667,7701=>556,7702=>667,7703=>556,7704=>667,7705=>556,7706=>667,7707=>556,7708=>667,7709=>556,7710=>611,7711=>278,7712=>778,7713=>556,7714=>722,7715=>556,7716=>722,7717=>556,7718=>722,7719=>556,7720=>722,7721=>556,7722=>722,7723=>556,7724=>278,7725=>222,7726=>278,7727=>278,7728=>667,7729=>500,7730=>667,7731=>500,7732=>667,7733=>500,7734=>556,7735=>222,7736=>556,7737=>222,7738=>556,7739=>222,7740=>556,7741=>222,7742=>833,7743=>833,7744=>833,7745=>833,7746=>833,7747=>833,7748=>722,7749=>556,7750=>722,7751=>556,7752=>722,7753=>556,7754=>722,7755=>556,7756=>778,7757=>556,7758=>778,7759=>556,7760=>778,7761=>556,7762=>778,7763=>556,7764=>667,7765=>556,7766=>667,7767=>556,7768=>722,7769=>333,7770=>722,7771=>333,7772=>722,7773=>333,7774=>722,7775=>333,7776=>667,7777=>500,7778=>667,7779=>500,7780=>667,7781=>500,7782=>667,7783=>500,7784=>667,7785=>500,7786=>611,7787=>278,7788=>611,7789=>278,7790=>611,7791=>278,7792=>611,7793=>278,7794=>722,7795=>556,7796=>722,7797=>556,7798=>722,7799=>556,7800=>722,7801=>556,7802=>722,7803=>556,7804=>667,7805=>500,7806=>667,7807=>500,7808=>944,7809=>722,7810=>944,7811=>722,7812=>944,7813=>722,7814=>944,7815=>722,7816=>944,7817=>722,7818=>667,7819=>500,7820=>667,7821=>500,7822=>667,7823=>500,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>556,7831=>278,7832=>722,7833=>500,7834=>556,7835=>278,7840=>667,7841=>556,7842=>667,7843=>556,7844=>667,7845=>556,7846=>667,7847=>556,7848=>667,7849=>556,7850=>667,7851=>556,7852=>667,7853=>556,7854=>667,7855=>556,7856=>667,7857=>556,7858=>667,7859=>556,7860=>667,7861=>556,7862=>667,7863=>556,7864=>667,7865=>556,7866=>667,7867=>556,7868=>667,7869=>556,7870=>667,7871=>556,7872=>667,7873=>556,7874=>667,7875=>556,7876=>667,7877=>556,7878=>667,7879=>556,7880=>278,7881=>278,7882=>278,7883=>222,7884=>778,7885=>556,7886=>778,7887=>556,7888=>778,7889=>556,7890=>778,7891=>556,7892=>778,7893=>556,7894=>778,7895=>556,7896=>778,7897=>556,7898=>776,7899=>556,7900=>776,7901=>556,7902=>776,7903=>556,7904=>776,7905=>556,7906=>776,7907=>556,7908=>722,7909=>556,7910=>722,7911=>556,7912=>776,7913=>620,7914=>776,7915=>620,7916=>776,7917=>620,7918=>776,7919=>620,7920=>776,7921=>620,7922=>667,7923=>500,7924=>667,7925=>500,7926=>667,7927=>500,7928=>667,7929=>500,7936=>576,7937=>576,7938=>576,7939=>576,7940=>576,7941=>576,7942=>576,7943=>576,7944=>667,7945=>667,7946=>680,7947=>680,7948=>680,7949=>680,7950=>718,7951=>718,7952=>434,7953=>434,7954=>434,7955=>434,7956=>434,7957=>434,7960=>692,7961=>692,7962=>823,7963=>823,7964=>823,7965=>823,7968=>556,7969=>556,7970=>556,7971=>556,7972=>556,7973=>556,7974=>556,7975=>556,7976=>747,7977=>747,7978=>878,7979=>878,7980=>878,7981=>878,7982=>923,7983=>923,7984=>222,7985=>222,7986=>222,7987=>222,7988=>222,7989=>222,7990=>222,7991=>222,7992=>303,7993=>303,7994=>434,7995=>434,7996=>434,7997=>434,7998=>479,7999=>479,8000=>556,8001=>556,8002=>556,8003=>556,8004=>556,8005=>556,8008=>778,8009=>778,8010=>894,8011=>894,8012=>894,8013=>894,8016=>551,8017=>551,8018=>551,8019=>551,8020=>551,8021=>551,8022=>551,8023=>551,8025=>777,8027=>893,8029=>885,8031=>940,8032=>766,8033=>766,8034=>766,8035=>766,8036=>766,8037=>766,8038=>766,8039=>766,8040=>758,8041=>758,8042=>874,8043=>874,8044=>868,8045=>867,8046=>911,8047=>911,8048=>576,8049=>576,8050=>434,8051=>434,8052=>556,8053=>556,8054=>222,8055=>222,8056=>556,8057=>556,8058=>551,8059=>551,8060=>766,8061=>766,8064=>576,8065=>576,8066=>576,8067=>576,8068=>576,8069=>576,8070=>576,8071=>576,8072=>667,8073=>667,8074=>680,8075=>680,8076=>680,8077=>680,8078=>718,8079=>718,8080=>556,8081=>556,8082=>556,8083=>556,8084=>556,8085=>556,8086=>556,8087=>556,8088=>747,8089=>747,8090=>878,8091=>878,8092=>878,8093=>878,8094=>923,8095=>923,8096=>766,8097=>766,8098=>766,8099=>766,8100=>766,8101=>766,8102=>766,8103=>766,8104=>758,8105=>758,8106=>874,8107=>874,8108=>868,8109=>867,8110=>911,8111=>911,8112=>576,8113=>576,8114=>576,8115=>576,8116=>576,8118=>576,8119=>576,8120=>667,8121=>667,8122=>667,8123=>667,8124=>667,8125=>278,8126=>278,8127=>278,8128=>278,8129=>278,8130=>556,8131=>556,8132=>556,8134=>556,8135=>556,8136=>693,8137=>704,8138=>748,8139=>759,8140=>722,8141=>278,8142=>278,8143=>278,8144=>222,8145=>222,8146=>222,8147=>222,8150=>222,8151=>222,8152=>278,8153=>278,8154=>304,8155=>304,8157=>278,8158=>278,8159=>278,8160=>551,8161=>551,8162=>551,8163=>551,8164=>571,8165=>571,8166=>551,8167=>551,8168=>667,8169=>667,8170=>742,8171=>746,8172=>693,8173=>278,8174=>278,8175=>278,8178=>766,8179=>766,8180=>766,8182=>766,8183=>766,8184=>778,8185=>778,8186=>758,8187=>758,8188=>758,8189=>278,8190=>278,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>100,8202=>50,8203=>0,8204=>0,8205=>0,8208=>333,8209=>333,8210=>556,8211=>500,8212=>1000,8213=>564,8214=>428,8215=>500,8216=>222,8217=>222,8218=>222,8219=>222,8220=>333,8221=>333,8222=>333,8223=>333,8224=>556,8225=>556,8226=>350,8227=>350,8228=>278,8229=>556,8230=>1000,8231=>278,8232=>0,8233=>0,8240=>1000,8241=>1330,8242=>222,8243=>372,8244=>522,8245=>206,8246=>356,8247=>506,8248=>312,8249=>333,8250=>333,8251=>1000,8252=>471,8253=>556,8254=>500,8255=>945,8256=>945,8257=>312,8258=>820,8259=>333,8260=>167,8261=>278,8262=>278,8304=>333,8308=>333,8309=>333,8310=>333,8311=>333,8312=>333,8313=>333,8314=>333,8315=>333,8316=>333,8317=>210,8318=>210,8319=>333,8320=>333,8321=>333,8322=>333,8323=>333,8324=>333,8325=>333,8326=>333,8327=>333,8328=>333,8329=>333,8330=>333,8331=>333,8332=>333,8333=>210,8334=>210,8352=>556,8353=>556,8354=>556,8355=>556,8356=>556,8357=>833,8358=>556,8359=>556,8360=>1024,8361=>940,8362=>784,8363=>556,8364=>556,8400=>600,8401=>600,8402=>600,8403=>600,8404=>700,8405=>700,8406=>600,8407=>600,8408=>600,8409=>600,8410=>600,8411=>600,8412=>600,8413=>900,8414=>900,8415=>900,8416=>900,8417=>700,8448=>889,8449=>889,8450=>667,8451=>1022,8452=>611,8453=>889,8454=>889,8455=>501,8456=>667,8457=>921,8458=>510,8459=>906,8460=>988,8461=>722,8462=>500,8463=>500,8464=>688,8465=>553,8466=>708,8467=>291,8468=>778,8469=>722,8470=>1073,8471=>737,8472=>740,8473=>556,8474=>722,8475=>927,8476=>795,8477=>667,8478=>667,8479=>667,8480=>1000,8481=>1174,8482=>1000,8483=>722,8484=>611,8485=>542,8486=>768,8487=>768,8488=>698,8489=>321,8490=>667,8491=>667,8492=>927,8493=>646,8494=>556,8495=>385,8496=>615,8497=>688,8498=>611,8499=>1115,8500=>406,8501=>688,8502=>688,8503=>344,8504=>688,8531=>834,8532=>834,8533=>834,8534=>834,8535=>834,8536=>834,8537=>834,8538=>834,8539=>834,8540=>834,8541=>834,8542=>834,8543=>834,8544=>278,8545=>555,8546=>832,8547=>933,8548=>667,8549=>934,8550=>1031,8551=>1268,8552=>944,8553=>667,8554=>944,8555=>1035,8556=>556,8557=>722,8558=>722,8559=>833,8560=>222,8561=>444,8562=>666,8563=>700,8564=>500,8565=>700,8566=>922,8567=>1144,8568=>712,8569=>500,8570=>712,8571=>934,8572=>222,8573=>500,8574=>556,8575=>833,8576=>983,8577=>722,8578=>983,8592=>713,8593=>713,8594=>713,8595=>713,8596=>713,8597=>713,8598=>713,8599=>713,8600=>713,8601=>713,8602=>713,8603=>713,8604=>713,8605=>713,8606=>713,8607=>713,8608=>713,8609=>713,8610=>713,8611=>713,8612=>713,8613=>713,8614=>713,8615=>713,8616=>713,8617=>713,8618=>713,8619=>713,8620=>713,8621=>813,8622=>813,8623=>713,8624=>713,8625=>713,8626=>713,8627=>713,8628=>713,8629=>713,8630=>713,8631=>713,8632=>713,8633=>713,8634=>800,8635=>800,8636=>713,8637=>713,8638=>713,8639=>713,8640=>713,8641=>713,8642=>713,8643=>713,8644=>713,8645=>713,8646=>713,8647=>713,8648=>713,8649=>713,8650=>713,8651=>713,8652=>713,8653=>713,8654=>950,8655=>713,8656=>713,8657=>713,8658=>713,8659=>713,8660=>863,8661=>713,8662=>713,8663=>713,8664=>713,8665=>713,8666=>713,8667=>713,8668=>813,8669=>813,8670=>713,8671=>713,8672=>713,8673=>713,8674=>713,8675=>713,8676=>713,8677=>713,8678=>713,8679=>713,8680=>713,8681=>713,8682=>713,8704=>600,8705=>600,8706=>494,8707=>600,8708=>600,8709=>800,8710=>612,8711=>612,8712=>549,8713=>549,8714=>549,8715=>549,8716=>549,8717=>549,8718=>549,8719=>823,8720=>823,8721=>713,8722=>584,8723=>584,8724=>584,8725=>167,8726=>278,8727=>389,8728=>400,8729=>400,8730=>600,8731=>600,8732=>600,8733=>549,8734=>549,8735=>584,8736=>584,8737=>584,8738=>584,8739=>260,8740=>444,8741=>418,8742=>602,8743=>561,8744=>561,8745=>561,8746=>561,8747=>506,8748=>806,8749=>1106,8750=>506,8751=>806,8752=>1106,8753=>506,8754=>506,8755=>506,8756=>561,8757=>561,8758=>422,8759=>561,8760=>584,8761=>584,8762=>584,8763=>584,8764=>584,8765=>584,8766=>584,8767=>584,8768=>422,8769=>584,8770=>584,8771=>584,8772=>584,8773=>584,8774=>584,8775=>584,8776=>584,8777=>584,8778=>584,8779=>584,8780=>584,8781=>584,8782=>584,8783=>584,8784=>584,8785=>584,8786=>584,8787=>584,8788=>737,8789=>737,8790=>584,8791=>584,8792=>584,8793=>584,8794=>584,8795=>584,8796=>584,8797=>584,8798=>584,8799=>584,8800=>584,8801=>584,8802=>584,8803=>584,8804=>584,8805=>584,8806=>584,8807=>584,8808=>584,8809=>584,8810=>969,8811=>969,8812=>584,8813=>584,8814=>584,8815=>584,8816=>584,8817=>584,8818=>584,8819=>584,8820=>584,8821=>584,8822=>584,8823=>584,8824=>584,8825=>584,8826=>584,8827=>584,8828=>584,8829=>584,8830=>584,8831=>584,8832=>584,8833=>584,8834=>678,8835=>678,8836=>678,8837=>678,8838=>678,8839=>678,8840=>678,8841=>678,8842=>678,8843=>678,8844=>561,8845=>561,8846=>561,8847=>678,8848=>678,8849=>673,8850=>673,8851=>561,8852=>561,8853=>800,8854=>800,8855=>800,8856=>800,8857=>800,8858=>800,8859=>800,8860=>800,8861=>800,8862=>800,8863=>800,8864=>800,8865=>800,8866=>549,8867=>549,8868=>549,8869=>549,8870=>399,8871=>399,8872=>549,8873=>549,8874=>549,8875=>672,8876=>549,8877=>549,8878=>549,8879=>672,8880=>549,8881=>549,8882=>549,8883=>549,8884=>549,8885=>549,8886=>713,8887=>713,8888=>713,8889=>549,8890=>549,8891=>584,8892=>584,8893=>584,8894=>584,8895=>584,8896=>561,8897=>561,8898=>561,8899=>561,8900=>549,8901=>250,8902=>549,8903=>649,8904=>630,8905=>630,8906=>630,8907=>630,8908=>630,8909=>584,8910=>561,8911=>561,8912=>668,8913=>668,8914=>668,8915=>668,8916=>561,8917=>602,8918=>584,8919=>584,8920=>1354,8921=>1354,8922=>584,8923=>584,8924=>584,8925=>584,8926=>584,8927=>584,8928=>584,8929=>584,8930=>673,8931=>673,8932=>673,8933=>673,8934=>584,8935=>584,8936=>584,8937=>584,8938=>584,8939=>584,8940=>584,8941=>584,8942=>278,8943=>1000,8944=>1000,8945=>1000,8960=>549,8962=>549,8963=>549,8964=>549,8965=>549,8966=>549,8967=>549,8968=>449,8969=>449,8970=>449,8971=>449,8972=>549,8973=>549,8974=>549,8975=>549,8976=>549,8977=>549,8978=>800,8979=>800,8980=>549,8981=>549,8982=>549,8983=>650,8984=>780,8985=>549,8986=>549,8987=>549,8988=>549,8989=>549,8990=>549,8991=>549,8992=>506,8993=>506,8994=>713,8995=>713,8996=>1000,8997=>1000,8998=>1000,8999=>1000,9000=>1000,9001=>329,9002=>329,9003=>1000,9004=>549,9005=>549,9006=>549,9007=>549,9008=>549,9009=>549,9010=>549,9011=>549,9012=>549,9013=>549,9014=>600,9015=>600,9016=>600,9017=>600,9018=>600,9019=>600,9020=>600,9021=>600,9022=>600,9023=>600,9024=>600,9025=>600,9026=>600,9027=>600,9028=>600,9029=>600,9030=>600,9031=>600,9032=>600,9033=>600,9034=>600,9035=>600,9036=>600,9037=>600,9038=>600,9039=>600,9040=>600,9041=>600,9042=>600,9043=>600,9044=>600,9045=>600,9046=>600,9047=>600,9048=>600,9049=>600,9050=>600,9051=>600,9052=>600,9053=>600,9054=>600,9055=>600,9056=>600,9057=>600,9058=>600,9059=>600,9060=>600,9061=>600,9062=>600,9063=>600,9064=>600,9065=>600,9066=>600,9067=>600,9068=>600,9069=>600,9070=>600,9071=>600,9072=>600,9073=>600,9074=>600,9075=>600,9076=>600,9077=>600,9078=>600,9079=>600,9080=>600,9081=>600,9082=>600,9109=>600,9216=>600,9217=>600,9218=>600,9219=>600,9220=>600,9221=>600,9222=>600,9223=>600,9224=>600,9225=>600,9226=>600,9227=>600,9228=>600,9229=>600,9230=>600,9231=>600,9232=>600,9233=>600,9234=>600,9235=>600,9236=>600,9237=>600,9238=>600,9239=>600,9240=>600,9241=>600,9242=>600,9243=>600,9244=>600,9245=>600,9246=>600,9247=>600,9248=>600,9249=>600,9250=>600,9251=>600,9252=>600,9280=>604,9281=>604,9282=>604,9283=>604,9284=>604,9285=>604,9286=>750,9287=>750,9288=>750,9289=>750,9290=>604,9312=>1000,9313=>1000,9314=>1000,9315=>1000,9316=>1000,9317=>1000,9318=>1000,9319=>1000,9320=>1000,9321=>1000,9322=>1000,9323=>1000,9324=>1000,9325=>1000,9326=>1000,9327=>1000,9328=>1000,9329=>1000,9330=>1000,9331=>1000,9332=>1000,9333=>1000,9334=>1000,9335=>1000,9336=>1000,9337=>1000,9338=>1000,9339=>1000,9340=>1000,9341=>1000,9342=>1000,9343=>1000,9344=>1000,9345=>1000,9346=>1000,9347=>1000,9348=>1000,9349=>1000,9350=>1000,9351=>1000,9352=>1000,9353=>1000,9354=>1000,9355=>1000,9356=>1000,9357=>1000,9358=>1000,9359=>1000,9360=>1000,9361=>1000,9362=>1000,9363=>1000,9364=>1000,9365=>1000,9366=>1000,9367=>1000,9368=>1000,9369=>1000,9370=>1000,9371=>1000,9372=>1000,9373=>1000,9374=>1000,9375=>1000,9376=>1000,9377=>1000,9378=>1000,9379=>1000,9380=>1000,9381=>1000,9382=>1000,9383=>1000,9384=>1000,9385=>1000,9386=>1000,9387=>1000,9388=>1000,9389=>1000,9390=>1000,9391=>1000,9392=>1000,9393=>1000,9394=>1000,9395=>1000,9396=>1000,9397=>1000,9398=>1000,9399=>1000,9400=>1000,9401=>1000,9402=>1000,9403=>1000,9404=>1000,9405=>1000,9406=>1000,9407=>1000,9408=>1000,9409=>1000,9410=>1000,9411=>1000,9412=>1000,9413=>1000,9414=>1000,9415=>1000,9416=>1000,9417=>1000,9418=>1000,9419=>1000,9420=>1000,9421=>1000,9422=>1000,9423=>1000,9424=>1000,9425=>1000,9426=>1000,9427=>1000,9428=>1000,9429=>1000,9430=>1000,9431=>1000,9432=>1000,9433=>1000,9434=>1000,9435=>1000,9436=>1000,9437=>1000,9438=>1000,9439=>1000,9440=>1000,9441=>1000,9442=>1000,9443=>1000,9444=>1000,9445=>1000,9446=>1000,9447=>1000,9448=>1000,9449=>1000,9450=>1000,9472=>600,9473=>600,9474=>600,9475=>600,9476=>600,9477=>600,9478=>600,9479=>600,9480=>600,9481=>600,9482=>600,9483=>600,9484=>600,9485=>600,9486=>600,9487=>600,9488=>600,9489=>600,9490=>600,9491=>600,9492=>600,9493=>600,9494=>600,9495=>600,9496=>600,9497=>600,9498=>600,9499=>600,9500=>600,9501=>600,9502=>600,9503=>600,9504=>600,9505=>600,9506=>600,9507=>600,9508=>600,9509=>600,9510=>600,9511=>600,9512=>600,9513=>600,9514=>600,9515=>600,9516=>600,9517=>600,9518=>600,9519=>600,9520=>600,9521=>600,9522=>600,9523=>600,9524=>600,9525=>600,9526=>600,9527=>600,9528=>600,9529=>600,9530=>600,9531=>600,9532=>600,9533=>600,9534=>600,9535=>600,9536=>600,9537=>600,9538=>600,9539=>600,9540=>600,9541=>600,9542=>600,9543=>600,9544=>600,9545=>600,9546=>600,9547=>600,9548=>600,9549=>600,9550=>600,9551=>600,9552=>600,9553=>600,9554=>600,9555=>600,9556=>600,9557=>600,9558=>600,9559=>600,9560=>600,9561=>600,9562=>600,9563=>600,9564=>600,9565=>600,9566=>600,9567=>600,9568=>600,9569=>600,9570=>600,9571=>600,9572=>600,9573=>600,9574=>600,9575=>600,9576=>600,9577=>600,9578=>600,9579=>600,9580=>600,9581=>600,9582=>600,9583=>600,9584=>600,9585=>600,9586=>600,9587=>600,9588=>600,9589=>600,9590=>600,9591=>600,9592=>600,9593=>600,9594=>600,9595=>600,9596=>600,9597=>600,9598=>600,9599=>600,9600=>600,9601=>600,9602=>600,9603=>600,9604=>600,9605=>600,9606=>600,9607=>600,9608=>600,9609=>600,9610=>600,9611=>600,9612=>600,9613=>600,9614=>600,9615=>600,9616=>600,9617=>600,9618=>600,9619=>600,9620=>600,9621=>600,9632=>600,9633=>600,9634=>600,9635=>600,9636=>600,9637=>600,9638=>600,9639=>600,9640=>600,9641=>600,9642=>600,9643=>600,9644=>600,9645=>600,9646=>600,9647=>600,9648=>600,9649=>600,9650=>600,9651=>600,9652=>600,9653=>600,9654=>600,9655=>600,9656=>600,9657=>600,9658=>600,9659=>600,9660=>600,9661=>600,9662=>600,9663=>600,9664=>600,9665=>600,9666=>600,9667=>600,9668=>600,9669=>600,9670=>600,9671=>600,9672=>600,9673=>600,9674=>600,9675=>600,9676=>600,9677=>600,9678=>600,9679=>600,9680=>600,9681=>600,9682=>600,9683=>600,9684=>600,9685=>600,9686=>600,9687=>600,9688=>600,9689=>600,9690=>600,9691=>600,9692=>600,9693=>600,9694=>600,9695=>600,9696=>600,9697=>600,9698=>600,9699=>600,9700=>600,9701=>600,9702=>600,9703=>600,9704=>600,9705=>600,9706=>600,9707=>600,9708=>600,9709=>600,9710=>600,9711=>600,9728=>750,9729=>1000,9730=>750,9731=>750,9732=>1000,9733=>816,9734=>823,9735=>500,9736=>500,9737=>800,9738=>800,9739=>800,9740=>800,9741=>800,9742=>719,9743=>719,9744=>734,9745=>734,9746=>734,9747=>762,9754=>960,9755=>960,9756=>939,9757=>939,9758=>939,9759=>939,9760=>750,9761=>600,9762=>750,9763=>750,9764=>580,9765=>460,9766=>444,9767=>650,9768=>444,9769=>768,9770=>800,9771=>850,9772=>675,9773=>800,9774=>750,9775=>750,9776=>900,9777=>900,9778=>900,9779=>900,9780=>900,9781=>900,9782=>900,9783=>900,9784=>750,9785=>750,9786=>750,9787=>750,9788=>750,9789=>750,9790=>750,9791=>740,9792=>740,9793=>740,9794=>740,9795=>653,9796=>490,9797=>632,9798=>780,9799=>560,9800=>838,9801=>780,9802=>734,9803=>887,9804=>780,9805=>1080,9806=>896,9807=>1080,9808=>804,9809=>868,9810=>922,9811=>696,9812=>1000,9813=>1000,9814=>1000,9815=>1000,9816=>1000,9817=>1000,9818=>1000,9819=>1000,9820=>1000,9821=>1000,9822=>1000,9823=>1000,9824=>722,9825=>734,9826=>674,9827=>804,9828=>722,9829=>734,9830=>674,9831=>804,9832=>860,9833=>423,9834=>592,9835=>750,9836=>750,9837=>439,9838=>439,9839=>439,9985=>974,9986=>961,9987=>974,9988=>980,9990=>789,9991=>790,9992=>791,9993=>690,9996=>549,9997=>855,9998=>911,9999=>933,10000=>911,10001=>945,10002=>974,10003=>755,10004=>846,10005=>762,10006=>761,10007=>571,10008=>677,10009=>763,10010=>760,10011=>759,10012=>754,10013=>494,10014=>552,10015=>537,10016=>577,10017=>692,10018=>786,10019=>788,10020=>788,10021=>790,10022=>793,10023=>794,10025=>823,10026=>789,10027=>841,10028=>823,10029=>833,10030=>816,10031=>831,10032=>923,10033=>744,10034=>723,10035=>749,10036=>790,10037=>792,10038=>695,10039=>776,10040=>768,10041=>792,10042=>759,10043=>707,10044=>708,10045=>682,10046=>701,10047=>826,10048=>815,10049=>789,10050=>789,10051=>707,10052=>687,10053=>696,10054=>689,10055=>786,10056=>787,10057=>713,10058=>791,10059=>785,10061=>873,10063=>762,10064=>762,10065=>759,10066=>759,10070=>784,10072=>138,10073=>277,10074=>415,10075=>392,10076=>392,10077=>668,10078=>668,10081=>732,10082=>544,10083=>544,10084=>910,10085=>667,10086=>760,10087=>760,10102=>788,10103=>788,10104=>788,10105=>788,10106=>788,10107=>788,10108=>788,10109=>788,10110=>788,10111=>788,10112=>788,10113=>788,10114=>788,10115=>788,10116=>788,10117=>788,10118=>788,10119=>788,10120=>788,10121=>788,10122=>788,10123=>788,10124=>788,10125=>788,10126=>788,10127=>788,10128=>788,10129=>788,10130=>788,10131=>788,10132=>894,10136=>748,10137=>924,10138=>748,10139=>918,10140=>927,10141=>928,10142=>928,10143=>834,10144=>873,10145=>828,10146=>924,10147=>924,10148=>917,10149=>930,10150=>931,10151=>463,10152=>883,10153=>836,10154=>836,10155=>867,10156=>867,10157=>696,10158=>696,10159=>874,10161=>874,10162=>760,10163=>946,10164=>771,10165=>865,10166=>771,10167=>888,10168=>967,10169=>888,10170=>831,10171=>873,10172=>927,10173=>970,10174=>918,12288=>1000,12289=>1000,12290=>1000,12291=>1000,12292=>1000,12293=>1000,12294=>1000,12295=>1000,12296=>1000,12297=>1000,12298=>1000,12299=>1000,12300=>1000,12301=>1000,12302=>1000,12303=>1000,12304=>1000,12305=>1000,12306=>1000,12307=>1000,12308=>1000,12309=>1000,12310=>1000,12311=>1000,12312=>1000,12313=>1000,12314=>1000,12315=>1000,12316=>1000,12317=>1000,12318=>1000,12319=>1000,12320=>1000,12321=>1000,12322=>1000,12323=>1000,12324=>1000,12325=>1000,12326=>1000,12327=>1000,12328=>1000,12329=>1000,12330=>1000,12331=>1000,12332=>1000,12333=>1000,12334=>1000,12335=>1000,12336=>1000,12337=>1000,12338=>1000,12339=>1000,12340=>1000,12341=>1000,12342=>1000,12343=>1000,12351=>1000,12353=>1000,12354=>1000,12355=>1000,12356=>1000,12357=>1000,12358=>1000,12359=>1000,12360=>1000,12361=>1000,12362=>1000,12363=>1000,12364=>1000,12365=>1000,12366=>1000,12367=>1000,12368=>1000,12369=>1000,12370=>1000,12371=>1000,12372=>1000,12373=>1000,12374=>1000,12375=>1000,12376=>1000,12377=>1000,12378=>1000,12379=>1000,12380=>1000,12381=>1000,12382=>1000,12383=>1000,12384=>1000,12385=>1000,12386=>1000,12387=>1000,12388=>1000,12389=>1000,12390=>1000,12391=>1000,12392=>1000,12393=>1000,12394=>1000,12395=>1000,12396=>1000,12397=>1000,12398=>1000,12399=>1000,12400=>1000,12401=>1000,12402=>1000,12403=>1000,12404=>1000,12405=>1000,12406=>1000,12407=>1000,12408=>1000,12409=>1000,12410=>1000,12411=>1000,12412=>1000,12413=>1000,12414=>1000,12415=>1000,12416=>1000,12417=>1000,12418=>1000,12419=>1000,12420=>1000,12421=>1000,12422=>1000,12423=>1000,12424=>1000,12425=>1000,12426=>1000,12427=>1000,12428=>1000,12429=>1000,12430=>1000,12431=>1000,12432=>1000,12433=>1000,12434=>1000,12435=>1000,12436=>1000,12441=>1000,12442=>1000,12443=>1000,12444=>1000,12445=>1000,12446=>1000,12449=>1000,12450=>1000,12451=>1000,12452=>1000,12453=>1000,12454=>1000,12455=>1000,12456=>1000,12457=>1000,12458=>1000,12459=>1000,12460=>1000,12461=>1000,12462=>1000,12463=>1000,12464=>1000,12465=>1000,12466=>1000,12467=>1000,12468=>1000,12469=>1000,12470=>1000,12471=>1000,12472=>1000,12473=>1000,12474=>1000,12475=>1000,12476=>1000,12477=>1000,12478=>1000,12479=>1000,12480=>1000,12481=>1000,12482=>1000,12483=>1000,12484=>1000,12485=>1000,12486=>1000,12487=>1000,12488=>1000,12489=>1000,12490=>1000,12491=>1000,12492=>1000,12493=>1000,12494=>1000,12495=>1000,12496=>1000,12497=>1000,12498=>1000,12499=>1000,12500=>1000,12501=>1000,12502=>1000,12503=>1000,12504=>1000,12505=>1000,12506=>1000,12507=>1000,12508=>1000,12509=>1000,12510=>1000,12511=>1000,12512=>1000,12513=>1000,12514=>1000,12515=>1000,12516=>1000,12517=>1000,12518=>1000,12519=>1000,12520=>1000,12521=>1000,12522=>1000,12523=>1000,12524=>1000,12525=>1000,12526=>1000,12527=>1000,12528=>1000,12529=>1000,12530=>1000,12531=>1000,12532=>1000,12533=>1000,12534=>1000,12535=>1000,12536=>1000,12537=>1000,12538=>1000,12539=>1000,12540=>1000,12541=>1000,12542=>1000,12549=>1000,12550=>1000,12551=>1000,12552=>1000,12553=>1000,12554=>1000,12555=>1000,12556=>1000,12557=>1000,12558=>1000,12559=>1000,12560=>1000,12561=>1000,12562=>1000,12563=>1000,12564=>1000,12565=>1000,12566=>1000,12567=>1000,12568=>1000,12569=>1000,12570=>1000,12571=>1000,12572=>1000,12573=>1000,12574=>1000,12575=>1000,12576=>1000,12577=>1000,12578=>1000,12579=>1000,12580=>1000,12581=>1000,12582=>1000,12583=>1000,12584=>1000,12585=>1000,12586=>1000,12587=>1000,12588=>1000,12593=>1000,12594=>1000,12595=>1000,12596=>1000,12597=>1000,12598=>1000,12599=>1000,12600=>1000,12601=>1000,12602=>1000,12603=>1000,12604=>1000,12605=>1000,12606=>1000,12607=>1000,12608=>1000,12609=>1000,12610=>1000,12611=>1000,12612=>1000,12613=>1000,12614=>1000,12615=>1000,12616=>1000,12617=>1000,12618=>1000,12619=>1000,12620=>1000,12621=>1000,12622=>1000,12623=>1000,12624=>1000,12625=>1000,12626=>1000,12627=>1000,12628=>1000,12629=>1000,12630=>1000,12631=>1000,12632=>1000,12633=>1000,12634=>1000,12635=>1000,12636=>1000,12637=>1000,12638=>1000,12639=>1000,12640=>1000,12641=>1000,12642=>1000,12643=>1000,12644=>1000,12645=>1000,12646=>1000,12647=>1000,12648=>1000,12649=>1000,12650=>1000,12651=>1000,12652=>1000,12653=>1000,12654=>1000,12655=>1000,12656=>1000,12657=>1000,12658=>1000,12659=>1000,12660=>1000,12661=>1000,12662=>1000,12663=>1000,12664=>1000,12665=>1000,12666=>1000,12667=>1000,12668=>1000,12669=>1000,12670=>1000,12671=>1000,12672=>1000,12673=>1000,12674=>1000,12675=>1000,12676=>1000,12677=>1000,12678=>1000,12679=>1000,12680=>1000,12681=>1000,12682=>1000,12683=>1000,12684=>1000,12685=>1000,12686=>1000,12688=>1000,12689=>1000,12690=>1000,12691=>1000,12692=>1000,12693=>1000,12694=>1000,12695=>1000,12696=>1000,12697=>1000,12698=>1000,12699=>1000,12700=>1000,12701=>1000,12702=>1000,12703=>1000,12800=>1000,12801=>1000,12802=>1000,12803=>1000,12804=>1000,12805=>1000,12806=>1000,12807=>1000,12808=>1000,12809=>1000,12810=>1000,12811=>1000,12812=>1000,12813=>1000,12814=>1000,12815=>1000,12816=>1000,12817=>1000,12818=>1000,12819=>1000,12820=>1000,12821=>1000,12822=>1000,12823=>1000,12824=>1000,12825=>1000,12826=>1000,12827=>1000,12828=>1000,12832=>1000,12833=>1000,12834=>1000,12835=>1000,12836=>1000,12837=>1000,12838=>1000,12839=>1000,12840=>1000,12841=>1000,12842=>1000,12843=>1000,12844=>1000,12845=>1000,12846=>1000,12847=>1000,12848=>1000,12849=>1000,12850=>1000,12851=>1000,12852=>1000,12853=>1000,12854=>1000,12855=>1000,12856=>1000,12857=>1000,12858=>1000,12859=>1000,12860=>1000,12861=>1000,12862=>1000,12863=>1000,12864=>1000,12865=>1000,12866=>1000,12867=>1000,12896=>1000,12897=>1000,12898=>1000,12899=>1000,12900=>1000,12901=>1000,12902=>1000,12903=>1000,12904=>1000,12905=>1000,12906=>1000,12907=>1000,12908=>1000,12909=>1000,12910=>1000,12911=>1000,12912=>1000,12913=>1000,12914=>1000,12915=>1000,12916=>1000,12917=>1000,12918=>1000,12919=>1000,12920=>1000,12921=>1000,12922=>1000,12923=>1000,12927=>1000,12928=>1000,12929=>1000,12930=>1000,12931=>1000,12932=>1000,12933=>1000,12934=>1000,12935=>1000,12936=>1000,12937=>1000,12938=>1000,12939=>1000,12940=>1000,12941=>1000,12942=>1000,12943=>1000,12944=>1000,12945=>1000,12946=>1000,12947=>1000,12948=>1000,12949=>1000,12950=>1000,12951=>1000,12952=>1000,12953=>1000,12954=>1000,12955=>1000,12956=>1000,12957=>1000,12958=>1000,12959=>1000,12960=>1000,12961=>1000,12962=>1000,12963=>1000,12964=>1000,12965=>1000,12966=>1000,12967=>1000,12968=>1000,12969=>1000,12970=>1000,12971=>1000,12972=>1000,12973=>1000,12974=>1000,12975=>1000,12976=>1000,12992=>1000,12993=>1000,12994=>1000,12995=>1000,12996=>1000,12997=>1000,12998=>1000,12999=>1000,13000=>1000,13001=>1000,13002=>1000,13003=>1000,13008=>1000,13009=>1000,13010=>1000,13011=>1000,13012=>1000,13013=>1000,13014=>1000,13015=>1000,13016=>1000,13017=>1000,13018=>1000,13019=>1000,13020=>1000,13021=>1000,13022=>1000,13023=>1000,13024=>1000,13025=>1000,13026=>1000,13027=>1000,13028=>1000,13029=>1000,13030=>1000,13031=>1000,13032=>1000,13033=>1000,13034=>1000,13035=>1000,13036=>1000,13037=>1000,13038=>1000,13039=>1000,13040=>1000,13041=>1000,13042=>1000,13043=>1000,13044=>1000,13045=>1000,13046=>1000,13047=>1000,13048=>1000,13049=>1000,13050=>1000,13051=>1000,13052=>1000,13053=>1000,13054=>1000,13056=>1000,13057=>1000,13058=>1000,13059=>1000,13060=>1000,13061=>1000,13062=>1000,13063=>1000,13064=>1000,13065=>1000,13066=>1000,13067=>1000,13068=>1000,13069=>1000,13070=>1000,13071=>1000,13072=>1000,13073=>1000,13074=>1000,13075=>1000,13076=>1000,13077=>1000,13078=>1000,13079=>1000,13080=>1000,13081=>1000,13082=>1000,13083=>1000,13084=>1000,13085=>1000,13086=>1000,13087=>1000,13088=>1000,13089=>1000,13090=>1000,13091=>1000,13092=>1000,13093=>1000,13094=>1000,13095=>1000,13096=>1000,13097=>1000,13098=>1000,13099=>1000,13100=>1000,13101=>1000,13102=>1000,13103=>1000,13104=>1000,13105=>1000,13106=>1000,13107=>1000,13108=>1000,13109=>1000,13110=>1000,13111=>1000,13112=>1000,13113=>1000,13114=>1000,13115=>1000,13116=>1000,13117=>1000,13118=>1000,13119=>1000,13120=>1000,13121=>1000,13122=>1000,13123=>1000,13124=>1000,13125=>1000,13126=>1000,13127=>1000,13128=>1000,13129=>1000,13130=>1000,13131=>1000,13132=>1000,13133=>1000,13134=>1000,13135=>1000,13136=>1000,13137=>1000,13138=>1000,13139=>1000,13140=>1000,13141=>1000,13142=>1000,13143=>1000,13144=>1000,13145=>1000,13146=>1000,13147=>1000,13148=>1000,13149=>1000,13150=>1000,13151=>1000,13152=>1000,13153=>1000,13154=>1000,13155=>1000,13156=>1000,13157=>1000,13158=>1000,13159=>1000,13160=>1000,13161=>1000,13162=>1000,13163=>1000,13164=>1000,13165=>1000,13166=>1000,13167=>1000,13168=>1000,13169=>1000,13170=>1000,13171=>1000,13172=>1000,13173=>1000,13174=>1000,13179=>1000,13180=>1000,13181=>1000,13182=>1000,13183=>1000,13184=>1000,13185=>1000,13186=>1000,13187=>1000,13188=>1000,13189=>1000,13190=>1000,13191=>1000,13192=>1000,13193=>1000,13194=>1000,13195=>1000,13196=>1000,13197=>1000,13198=>1000,13199=>1000,13200=>1000,13201=>1000,13202=>1000,13203=>1000,13204=>1000,13205=>1000,13206=>1000,13207=>1000,13208=>1000,13209=>1000,13210=>1000,13211=>1000,13212=>1000,13213=>1000,13214=>1000,13215=>1000,13216=>1000,13217=>1000,13218=>1000,13219=>1000,13220=>1000,13221=>1000,13222=>1000,13223=>1000,13224=>1000,13225=>1000,13226=>1000,13227=>1000,13228=>1000,13229=>1000,13230=>1000,13231=>1000,13232=>1000,13233=>1000,13234=>1000,13235=>1000,13236=>1000,13237=>1000,13238=>1000,13239=>1000,13240=>1000,13241=>1000,13242=>1000,13243=>1000,13244=>1000,13245=>1000,13246=>1000,13247=>1000,13248=>1000,13249=>1000,13250=>1000,13251=>1000,13252=>1000,13253=>1000,13254=>1000,13255=>1000,13256=>1000,13257=>1000,13258=>1000,13259=>1000,13260=>1000,13261=>1000,13262=>1000,13263=>1000,13264=>1000,13265=>1000,13266=>1000,13267=>1000,13268=>1000,13269=>1000,13270=>1000,13271=>1000,13272=>1000,13273=>1000,13274=>1000,13275=>1000,13276=>1000,13277=>1000,13280=>1000,13281=>1000,13282=>1000,13283=>1000,13284=>1000,13285=>1000,13286=>1000,13287=>1000,13288=>1000,13289=>1000,13290=>1000,13291=>1000,13292=>1000,13293=>1000,13294=>1000,13295=>1000,13296=>1000,13297=>1000,13298=>1000,13299=>1000,13300=>1000,13301=>1000,13302=>1000,13303=>1000,13304=>1000,13305=>1000,13306=>1000,13307=>1000,13308=>1000,13309=>1000,13310=>1000,19968=>1000,19969=>1000,19970=>1000,19971=>1000,19972=>1000,19973=>1000,19974=>1000,19975=>1000,19976=>1000,19977=>1000,19978=>1000,19979=>1000,19980=>1000,19981=>1000,19982=>1000,19983=>1000,19984=>1000,19985=>1000,19986=>1000,19987=>1000,19988=>1000,19989=>1000,19990=>1000,19991=>1000,19992=>1000,19993=>1000,19994=>1000,19995=>1000,19996=>1000,19997=>1000,19998=>1000,19999=>1000,20000=>1000,20001=>1000,20002=>1000,20003=>1000,20004=>1000,20005=>1000,20006=>1000,20007=>1000,20008=>1000,20009=>1000,20010=>1000,20011=>1000,20012=>1000,20013=>1000,20014=>1000,20015=>1000,20016=>1000,20017=>1000,20018=>1000,20019=>1000,20020=>1000,20021=>1000,20022=>1000,20023=>1000,20024=>1000,20025=>1000,20026=>1000,20027=>1000,20028=>1000,20029=>1000,20030=>1000,20031=>1000,20032=>1000,20033=>1000,20034=>1000,20035=>1000,20036=>1000,20037=>1000,20038=>1000,20039=>1000,20040=>1000,20041=>1000,20042=>1000,20043=>1000,20044=>1000,20045=>1000,20046=>1000,20047=>1000,20048=>1000,20049=>1000,20050=>1000,20051=>1000,20052=>1000,20053=>1000,20054=>1000,20055=>1000,20056=>1000,20057=>1000,20058=>1000,20059=>1000,20060=>1000,20061=>1000,20062=>1000,20063=>1000,20064=>1000,20065=>1000,20066=>1000,20067=>1000,20068=>1000,20069=>1000,20070=>1000,20071=>1000,20072=>1000,20073=>1000,20074=>1000,20075=>1000,20076=>1000,20077=>1000,20078=>1000,20079=>1000,20080=>1000,20081=>1000,20082=>1000,20083=>1000,20084=>1000,20085=>1000,20086=>1000,20087=>1000,20088=>1000,20089=>1000,20090=>1000,20091=>1000,20092=>1000,20093=>1000,20094=>1000,20095=>1000,20096=>1000,20097=>1000,20098=>1000,20099=>1000,20100=>1000,20101=>1000,20102=>1000,20103=>1000,20104=>1000,20105=>1000,20106=>1000,20107=>1000,20108=>1000,20109=>1000,20110=>1000,20111=>1000,20112=>1000,20113=>1000,20114=>1000,20115=>1000,20116=>1000,20117=>1000,20118=>1000,20119=>1000,20120=>1000,20121=>1000,20122=>1000,20123=>1000,20124=>1000,20125=>1000,20126=>1000,20127=>1000,20128=>1000,20129=>1000,20130=>1000,20131=>1000,20132=>1000,20133=>1000,20134=>1000,20135=>1000,20136=>1000,20137=>1000,20138=>1000,20139=>1000,20140=>1000,20141=>1000,20142=>1000,20143=>1000,20144=>1000,20145=>1000,20146=>1000,20147=>1000,20148=>1000,20149=>1000,20150=>1000,20151=>1000,20152=>1000,20153=>1000,20154=>1000,20155=>1000,20156=>1000,20157=>1000,20158=>1000,20159=>1000,20160=>1000,20161=>1000,20162=>1000,20163=>1000,20164=>1000,20165=>1000,20166=>1000,20167=>1000,20168=>1000,20169=>1000,20170=>1000,20171=>1000,20172=>1000,20173=>1000,20174=>1000,20175=>1000,20176=>1000,20177=>1000,20178=>1000,20179=>1000,20180=>1000,20181=>1000,20182=>1000,20183=>1000,20184=>1000,20185=>1000,20186=>1000,20187=>1000,20188=>1000,20189=>1000,20190=>1000,20191=>1000,20192=>1000,20193=>1000,20194=>1000,20195=>1000,20196=>1000,20197=>1000,20198=>1000,20199=>1000,20200=>1000,20201=>1000,20202=>1000,20203=>1000,20204=>1000,20205=>1000,20206=>1000,20207=>1000,20208=>1000,20209=>1000,20210=>1000,20211=>1000,20212=>1000,20213=>1000,20214=>1000,20215=>1000,20216=>1000,20217=>1000,20218=>1000,20219=>1000,20220=>1000,20221=>1000,20222=>1000,20223=>1000,20224=>1000,20225=>1000,20226=>1000,20227=>1000,20228=>1000,20229=>1000,20230=>1000,20231=>1000,20232=>1000,20233=>1000,20234=>1000,20235=>1000,20236=>1000,20237=>1000,20238=>1000,20239=>1000,20240=>1000,20241=>1000,20242=>1000,20243=>1000,20244=>1000,20245=>1000,20246=>1000,20247=>1000,20248=>1000,20249=>1000,20250=>1000,20251=>1000,20252=>1000,20253=>1000,20254=>1000,20255=>1000,20256=>1000,20257=>1000,20258=>1000,20259=>1000,20260=>1000,20261=>1000,20262=>1000,20263=>1000,20264=>1000,20265=>1000,20266=>1000,20267=>1000,20268=>1000,20269=>1000,20270=>1000,20271=>1000,20272=>1000,20273=>1000,20274=>1000,20275=>1000,20276=>1000,20277=>1000,20278=>1000,20279=>1000,20280=>1000,20281=>1000,20282=>1000,20283=>1000,20284=>1000,20285=>1000,20286=>1000,20287=>1000,20288=>1000,20289=>1000,20290=>1000,20291=>1000,20292=>1000,20293=>1000,20294=>1000,20295=>1000,20296=>1000,20297=>1000,20298=>1000,20299=>1000,20300=>1000,20301=>1000,20302=>1000,20303=>1000,20304=>1000,20305=>1000,20306=>1000,20307=>1000,20308=>1000,20309=>1000,20310=>1000,20311=>1000,20312=>1000,20313=>1000,20314=>1000,20315=>1000,20316=>1000,20317=>1000,20318=>1000,20319=>1000,20320=>1000,20321=>1000,20322=>1000,20323=>1000,20324=>1000,20325=>1000,20326=>1000,20327=>1000,20328=>1000,20329=>1000,20330=>1000,20331=>1000,20332=>1000,20333=>1000,20334=>1000,20335=>1000,20336=>1000,20337=>1000,20338=>1000,20339=>1000,20340=>1000,20341=>1000,20342=>1000,20343=>1000,20344=>1000,20345=>1000,20346=>1000,20347=>1000,20348=>1000,20349=>1000,20350=>1000,20351=>1000,20352=>1000,20353=>1000,20354=>1000,20355=>1000,20356=>1000,20357=>1000,20358=>1000,20359=>1000,20360=>1000,20361=>1000,20362=>1000,20363=>1000,20364=>1000,20365=>1000,20366=>1000,20367=>1000,20368=>1000,20369=>1000,20370=>1000,20371=>1000,20372=>1000,20373=>1000,20374=>1000,20375=>1000,20376=>1000,20377=>1000,20378=>1000,20379=>1000,20380=>1000,20381=>1000,20382=>1000,20383=>1000,20384=>1000,20385=>1000,20386=>1000,20387=>1000,20388=>1000,20389=>1000,20390=>1000,20391=>1000,20392=>1000,20393=>1000,20394=>1000,20395=>1000,20396=>1000,20397=>1000,20398=>1000,20399=>1000,20400=>1000,20401=>1000,20402=>1000,20403=>1000,20404=>1000,20405=>1000,20406=>1000,20407=>1000,20408=>1000,20409=>1000,20410=>1000,20411=>1000,20412=>1000,20413=>1000,20414=>1000,20415=>1000,20416=>1000,20417=>1000,20418=>1000,20419=>1000,20420=>1000,20421=>1000,20422=>1000,20423=>1000,20424=>1000,20425=>1000,20426=>1000,20427=>1000,20428=>1000,20429=>1000,20430=>1000,20431=>1000,20432=>1000,20433=>1000,20434=>1000,20435=>1000,20436=>1000,20437=>1000,20438=>1000,20439=>1000,20440=>1000,20441=>1000,20442=>1000,20443=>1000,20444=>1000,20445=>1000,20446=>1000,20447=>1000,20448=>1000,20449=>1000,20450=>1000,20451=>1000,20452=>1000,20453=>1000,20454=>1000,20455=>1000,20456=>1000,20457=>1000,20458=>1000,20459=>1000,20460=>1000,20461=>1000,20462=>1000,20463=>1000,20464=>1000,20465=>1000,20466=>1000,20467=>1000,20468=>1000,20469=>1000,20470=>1000,20471=>1000,20472=>1000,20473=>1000,20474=>1000,20475=>1000,20476=>1000,20477=>1000,20478=>1000,20479=>1000,20480=>1000,20481=>1000,20482=>1000,20483=>1000,20484=>1000,20485=>1000,20486=>1000,20487=>1000,20488=>1000,20489=>1000,20490=>1000,20491=>1000,20492=>1000,20493=>1000,20494=>1000,20495=>1000,20496=>1000,20497=>1000,20498=>1000,20499=>1000,20500=>1000,20501=>1000,20502=>1000,20503=>1000,20504=>1000,20505=>1000,20506=>1000,20507=>1000,20508=>1000,20509=>1000,20510=>1000,20511=>1000,20512=>1000,20513=>1000,20514=>1000,20515=>1000,20516=>1000,20517=>1000,20518=>1000,20519=>1000,20520=>1000,20521=>1000,20522=>1000,20523=>1000,20524=>1000,20525=>1000,20526=>1000,20527=>1000,20528=>1000,20529=>1000,20530=>1000,20531=>1000,20532=>1000,20533=>1000,20534=>1000,20535=>1000,20536=>1000,20537=>1000,20538=>1000,20539=>1000,20540=>1000,20541=>1000,20542=>1000,20543=>1000,20544=>1000,20545=>1000,20546=>1000,20547=>1000,20548=>1000,20549=>1000,20550=>1000,20551=>1000,20552=>1000,20553=>1000,20554=>1000,20555=>1000,20556=>1000,20557=>1000,20558=>1000,20559=>1000,20560=>1000,20561=>1000,20562=>1000,20563=>1000,20564=>1000,20565=>1000,20566=>1000,20567=>1000,20568=>1000,20569=>1000,20570=>1000,20571=>1000,20572=>1000,20573=>1000,20574=>1000,20575=>1000,20576=>1000,20577=>1000,20578=>1000,20579=>1000,20580=>1000,20581=>1000,20582=>1000,20583=>1000,20584=>1000,20585=>1000,20586=>1000,20587=>1000,20588=>1000,20589=>1000,20590=>1000,20591=>1000,20592=>1000,20593=>1000,20594=>1000,20595=>1000,20596=>1000,20597=>1000,20598=>1000,20599=>1000,20600=>1000,20601=>1000,20602=>1000,20603=>1000,20604=>1000,20605=>1000,20606=>1000,20607=>1000,20608=>1000,20609=>1000,20610=>1000,20611=>1000,20612=>1000,20613=>1000,20614=>1000,20615=>1000,20616=>1000,20617=>1000,20618=>1000,20619=>1000,20620=>1000,20621=>1000,20622=>1000,20623=>1000,20624=>1000,20625=>1000,20626=>1000,20627=>1000,20628=>1000,20629=>1000,20630=>1000,20631=>1000,20632=>1000,20633=>1000,20634=>1000,20635=>1000,20636=>1000,20637=>1000,20638=>1000,20639=>1000,20640=>1000,20641=>1000,20642=>1000,20643=>1000,20644=>1000,20645=>1000,20646=>1000,20647=>1000,20648=>1000,20649=>1000,20650=>1000,20651=>1000,20652=>1000,20653=>1000,20654=>1000,20655=>1000,20656=>1000,20657=>1000,20658=>1000,20659=>1000,20660=>1000,20661=>1000,20662=>1000,20663=>1000,20664=>1000,20665=>1000,20666=>1000,20667=>1000,20668=>1000,20669=>1000,20670=>1000,20671=>1000,20672=>1000,20673=>1000,20674=>1000,20675=>1000,20676=>1000,20677=>1000,20678=>1000,20679=>1000,20680=>1000,20681=>1000,20682=>1000,20683=>1000,20684=>1000,20685=>1000,20686=>1000,20687=>1000,20688=>1000,20689=>1000,20690=>1000,20691=>1000,20692=>1000,20693=>1000,20694=>1000,20695=>1000,20696=>1000,20697=>1000,20698=>1000,20699=>1000,20700=>1000,20701=>1000,20702=>1000,20703=>1000,20704=>1000,20705=>1000,20706=>1000,20707=>1000,20708=>1000,20709=>1000,20710=>1000,20711=>1000,20712=>1000,20713=>1000,20714=>1000,20715=>1000,20716=>1000,20717=>1000,20718=>1000,20719=>1000,20720=>1000,20721=>1000,20722=>1000,20723=>1000,20724=>1000,20725=>1000,20726=>1000,20727=>1000,20728=>1000,20729=>1000,20730=>1000,20731=>1000,20732=>1000,20733=>1000,20734=>1000,20735=>1000,20736=>1000,20737=>1000,20738=>1000,20739=>1000,20740=>1000,20741=>1000,20742=>1000,20743=>1000,20744=>1000,20745=>1000,20746=>1000,20747=>1000,20748=>1000,20749=>1000,20750=>1000,20751=>1000,20752=>1000,20753=>1000,20754=>1000,20755=>1000,20756=>1000,20757=>1000,20758=>1000,20759=>1000,20760=>1000,20761=>1000,20762=>1000,20763=>1000,20764=>1000,20765=>1000,20766=>1000,20767=>1000,20768=>1000,20769=>1000,20770=>1000,20771=>1000,20772=>1000,20773=>1000,20774=>1000,20775=>1000,20776=>1000,20777=>1000,20778=>1000,20779=>1000,20780=>1000,20781=>1000,20782=>1000,20783=>1000,20784=>1000,20785=>1000,20786=>1000,20787=>1000,20788=>1000,20789=>1000,20790=>1000,20791=>1000,20792=>1000,20793=>1000,20794=>1000,20795=>1000,20796=>1000,20797=>1000,20798=>1000,20799=>1000,20800=>1000,20801=>1000,20802=>1000,20803=>1000,20804=>1000,20805=>1000,20806=>1000,20807=>1000,20808=>1000,20809=>1000,20810=>1000,20811=>1000,20812=>1000,20813=>1000,20814=>1000,20815=>1000,20816=>1000,20817=>1000,20818=>1000,20819=>1000,20820=>1000,20821=>1000,20822=>1000,20823=>1000,20824=>1000,20825=>1000,20826=>1000,20827=>1000,20828=>1000,20829=>1000,20830=>1000,20831=>1000,20832=>1000,20833=>1000,20834=>1000,20835=>1000,20836=>1000,20837=>1000,20838=>1000,20839=>1000,20840=>1000,20841=>1000,20842=>1000,20843=>1000,20844=>1000,20845=>1000,20846=>1000,20847=>1000,20848=>1000,20849=>1000,20850=>1000,20851=>1000,20852=>1000,20853=>1000,20854=>1000,20855=>1000,20856=>1000,20857=>1000,20858=>1000,20859=>1000,20860=>1000,20861=>1000,20862=>1000,20863=>1000,20864=>1000,20865=>1000,20866=>1000,20867=>1000,20868=>1000,20869=>1000,20870=>1000,20871=>1000,20872=>1000,20873=>1000,20874=>1000,20875=>1000,20876=>1000,20877=>1000,20878=>1000,20879=>1000,20880=>1000,20881=>1000,20882=>1000,20883=>1000,20884=>1000,20885=>1000,20886=>1000,20887=>1000,20888=>1000,20889=>1000,20890=>1000,20891=>1000,20892=>1000,20893=>1000,20894=>1000,20895=>1000,20896=>1000,20897=>1000,20898=>1000,20899=>1000,20900=>1000,20901=>1000,20902=>1000,20903=>1000,20904=>1000,20905=>1000,20906=>1000,20907=>1000,20908=>1000,20909=>1000,20910=>1000,20911=>1000,20912=>1000,20913=>1000,20914=>1000,20915=>1000,20916=>1000,20917=>1000,20918=>1000,20919=>1000,20920=>1000,20921=>1000,20922=>1000,20923=>1000,20924=>1000,20925=>1000,20926=>1000,20927=>1000,20928=>1000,20929=>1000,20930=>1000,20931=>1000,20932=>1000,20933=>1000,20934=>1000,20935=>1000,20936=>1000,20937=>1000,20938=>1000,20939=>1000,20940=>1000,20941=>1000,20942=>1000,20943=>1000,20944=>1000,20945=>1000,20946=>1000,20947=>1000,20948=>1000,20949=>1000,20950=>1000,20951=>1000,20952=>1000,20953=>1000,20954=>1000,20955=>1000,20956=>1000,20957=>1000,20958=>1000,20959=>1000,20960=>1000,20961=>1000,20962=>1000,20963=>1000,20964=>1000,20965=>1000,20966=>1000,20967=>1000,20968=>1000,20969=>1000,20970=>1000,20971=>1000,20972=>1000,20973=>1000,20974=>1000,20975=>1000,20976=>1000,20977=>1000,20978=>1000,20979=>1000,20980=>1000,20981=>1000,20982=>1000,20983=>1000,20984=>1000,20985=>1000,20986=>1000,20987=>1000,20988=>1000,20989=>1000,20990=>1000,20991=>1000,20992=>1000,20993=>1000,20994=>1000,20995=>1000,20996=>1000,20997=>1000,20998=>1000,20999=>1000,21000=>1000,21001=>1000,21002=>1000,21003=>1000,21004=>1000,21005=>1000,21006=>1000,21007=>1000,21008=>1000,21009=>1000,21010=>1000,21011=>1000,21012=>1000,21013=>1000,21014=>1000,21015=>1000,21016=>1000,21017=>1000,21018=>1000,21019=>1000,21020=>1000,21021=>1000,21022=>1000,21023=>1000,21024=>1000,21025=>1000,21026=>1000,21027=>1000,21028=>1000,21029=>1000,21030=>1000,21031=>1000,21032=>1000,21033=>1000,21034=>1000,21035=>1000,21036=>1000,21037=>1000,21038=>1000,21039=>1000,21040=>1000,21041=>1000,21042=>1000,21043=>1000,21044=>1000,21045=>1000,21046=>1000,21047=>1000,21048=>1000,21049=>1000,21050=>1000,21051=>1000,21052=>1000,21053=>1000,21054=>1000,21055=>1000,21056=>1000,21057=>1000,21058=>1000,21059=>1000,21060=>1000,21061=>1000,21062=>1000,21063=>1000,21064=>1000,21065=>1000,21066=>1000,21067=>1000,21068=>1000,21069=>1000,21070=>1000,21071=>1000,21072=>1000,21073=>1000,21074=>1000,21075=>1000,21076=>1000,21077=>1000,21078=>1000,21079=>1000,21080=>1000,21081=>1000,21082=>1000,21083=>1000,21084=>1000,21085=>1000,21086=>1000,21087=>1000,21088=>1000,21089=>1000,21090=>1000,21091=>1000,21092=>1000,21093=>1000,21094=>1000,21095=>1000,21096=>1000,21097=>1000,21098=>1000,21099=>1000,21100=>1000,21101=>1000,21102=>1000,21103=>1000,21104=>1000,21105=>1000,21106=>1000,21107=>1000,21108=>1000,21109=>1000,21110=>1000,21111=>1000,21112=>1000,21113=>1000,21114=>1000,21115=>1000,21116=>1000,21117=>1000,21118=>1000,21119=>1000,21120=>1000,21121=>1000,21122=>1000,21123=>1000,21124=>1000,21125=>1000,21126=>1000,21127=>1000,21128=>1000,21129=>1000,21130=>1000,21131=>1000,21132=>1000,21133=>1000,21134=>1000,21135=>1000,21136=>1000,21137=>1000,21138=>1000,21139=>1000,21140=>1000,21141=>1000,21142=>1000,21143=>1000,21144=>1000,21145=>1000,21146=>1000,21147=>1000,21148=>1000,21149=>1000,21150=>1000,21151=>1000,21152=>1000,21153=>1000,21154=>1000,21155=>1000,21156=>1000,21157=>1000,21158=>1000,21159=>1000,21160=>1000,21161=>1000,21162=>1000,21163=>1000,21164=>1000,21165=>1000,21166=>1000,21167=>1000,21168=>1000,21169=>1000,21170=>1000,21171=>1000,21172=>1000,21173=>1000,21174=>1000,21175=>1000,21176=>1000,21177=>1000,21178=>1000,21179=>1000,21180=>1000,21181=>1000,21182=>1000,21183=>1000,21184=>1000,21185=>1000,21186=>1000,21187=>1000,21188=>1000,21189=>1000,21190=>1000,21191=>1000,21192=>1000,21193=>1000,21194=>1000,21195=>1000,21196=>1000,21197=>1000,21198=>1000,21199=>1000,21200=>1000,21201=>1000,21202=>1000,21203=>1000,21204=>1000,21205=>1000,21206=>1000,21207=>1000,21208=>1000,21209=>1000,21210=>1000,21211=>1000,21212=>1000,21213=>1000,21214=>1000,21215=>1000,21216=>1000,21217=>1000,21218=>1000,21219=>1000,21220=>1000,21221=>1000,21222=>1000,21223=>1000,21224=>1000,21225=>1000,21226=>1000,21227=>1000,21228=>1000,21229=>1000,21230=>1000,21231=>1000,21232=>1000,21233=>1000,21234=>1000,21235=>1000,21236=>1000,21237=>1000,21238=>1000,21239=>1000,21240=>1000,21241=>1000,21242=>1000,21243=>1000,21244=>1000,21245=>1000,21246=>1000,21247=>1000,21248=>1000,21249=>1000,21250=>1000,21251=>1000,21252=>1000,21253=>1000,21254=>1000,21255=>1000,21256=>1000,21257=>1000,21258=>1000,21259=>1000,21260=>1000,21261=>1000,21262=>1000,21263=>1000,21264=>1000,21265=>1000,21266=>1000,21267=>1000,21268=>1000,21269=>1000,21270=>1000,21271=>1000,21272=>1000,21273=>1000,21274=>1000,21275=>1000,21276=>1000,21277=>1000,21278=>1000,21279=>1000,21280=>1000,21281=>1000,21282=>1000,21283=>1000,21284=>1000,21285=>1000,21286=>1000,21287=>1000,21288=>1000,21289=>1000,21290=>1000,21291=>1000,21292=>1000,21293=>994,21294=>1000,21295=>1000,21296=>1000,21297=>1000,21298=>1000,21299=>1000,21300=>1000,21301=>1000,21302=>1000,21303=>1000,21304=>1000,21305=>1000,21306=>1000,21307=>1000,21308=>1000,21309=>1000,21310=>1000,21311=>1000,21312=>1000,21313=>1000,21314=>1000,21315=>1000,21316=>1000,21317=>1000,21318=>1000,21319=>1000,21320=>1000,21321=>1000,21322=>1000,21323=>1000,21324=>1000,21325=>1000,21326=>1000,21327=>1000,21328=>1000,21329=>1000,21330=>1000,21331=>1000,21332=>1000,21333=>1000,21334=>1000,21335=>1000,21336=>1000,21337=>1000,21338=>1000,21339=>1000,21340=>1000,21341=>1000,21342=>1000,21343=>1000,21344=>1000,21345=>1000,21346=>1000,21347=>1000,21348=>1000,21349=>1000,21350=>1000,21351=>1000,21352=>1000,21353=>1000,21354=>1000,21355=>1000,21356=>1000,21357=>1000,21358=>1000,21359=>1000,21360=>1000,21361=>1000,21362=>1000,21363=>1000,21364=>1000,21365=>1000,21366=>1000,21367=>1000,21368=>1000,21369=>1000,21370=>1000,21371=>1000,21372=>1000,21373=>1000,21374=>1000,21375=>1000,21376=>1000,21377=>1000,21378=>1000,21379=>1000,21380=>1000,21381=>1000,21382=>1000,21383=>1000,21384=>1000,21385=>1000,21386=>1000,21387=>1000,21388=>1000,21389=>1000,21390=>1000,21391=>1000,21392=>1000,21393=>1000,21394=>1000,21395=>1000,21396=>1000,21397=>1000,21398=>1000,21399=>1000,21400=>1000,21401=>1000,21402=>1000,21403=>1000,21404=>1000,21405=>1000,21406=>1000,21407=>1000,21408=>1000,21409=>1000,21410=>1000,21411=>1000,21412=>1000,21413=>1000,21414=>1000,21415=>1000,21416=>1000,21417=>1000,21418=>1000,21419=>1000,21420=>1000,21421=>1000,21422=>1000,21423=>1000,21424=>1000,21425=>1000,21426=>1000,21427=>1000,21428=>1000,21429=>1000,21430=>1000,21431=>1000,21432=>1000,21433=>1000,21434=>1000,21435=>1000,21436=>1000,21437=>1000,21438=>1000,21439=>1000,21440=>1000,21441=>1000,21442=>1000,21443=>1000,21444=>1000,21445=>1000,21446=>1000,21447=>1000,21448=>1000,21449=>1000,21450=>1000,21451=>1000,21452=>1000,21453=>1000,21454=>1000,21455=>1000,21456=>1000,21457=>1000,21458=>1000,21459=>1000,21460=>1000,21461=>1000,21462=>1000,21463=>1000,21464=>1000,21465=>1000,21466=>1000,21467=>1000,21468=>1000,21469=>1000,21470=>1000,21471=>1000,21472=>1000,21473=>1000,21474=>1000,21475=>1000,21476=>1000,21477=>1000,21478=>1000,21479=>1000,21480=>1000,21481=>1000,21482=>1000,21483=>1000,21484=>1000,21485=>1000,21486=>1000,21487=>1000,21488=>1000,21489=>1000,21490=>1000,21491=>1000,21492=>1000,21493=>1000,21494=>1000,21495=>1000,21496=>1000,21497=>1000,21498=>1000,21499=>1000,21500=>1000,21501=>1000,21502=>1000,21503=>1000,21504=>1000,21505=>1000,21506=>1000,21507=>1000,21508=>1000,21509=>1000,21510=>1000,21511=>1000,21512=>1000,21513=>1000,21514=>1000,21515=>1000,21516=>1000,21517=>1000,21518=>1000,21519=>1000,21520=>1000,21521=>1000,21522=>1000,21523=>1000,21524=>1000,21525=>1000,21526=>1000,21527=>1000,21528=>1000,21529=>1000,21530=>1000,21531=>1000,21532=>1000,21533=>1000,21534=>1000,21535=>1000,21536=>1000,21537=>1000,21538=>1000,21539=>1000,21540=>1000,21541=>1000,21542=>1000,21543=>1000,21544=>1000,21545=>1000,21546=>1000,21547=>1000,21548=>1000,21549=>1000,21550=>1000,21551=>1000,21552=>1000,21553=>1000,21554=>1000,21555=>1000,21556=>1000,21557=>1000,21558=>1000,21559=>1000,21560=>1000,21561=>1000,21562=>1000,21563=>1000,21564=>1000,21565=>1000,21566=>1000,21567=>1000,21568=>1000,21569=>1000,21570=>1000,21571=>1000,21572=>1000,21573=>1000,21574=>1000,21575=>1000,21576=>1000,21577=>1000,21578=>1000,21579=>1000,21580=>1000,21581=>1000,21582=>1000,21583=>1000,21584=>1000,21585=>1000,21586=>1000,21587=>1000,21588=>1000,21589=>1000,21590=>1000,21591=>1000,21592=>1000,21593=>1000,21594=>1000,21595=>1000,21596=>1000,21597=>1000,21598=>1000,21599=>1000,21600=>1000,21601=>1000,21602=>1000,21603=>1000,21604=>1000,21605=>1000,21606=>1000,21607=>1000,21608=>1000,21609=>1000,21610=>1000,21611=>1000,21612=>1000,21613=>1000,21614=>1000,21615=>1000,21616=>1000,21617=>1000,21618=>1000,21619=>1000,21620=>1000,21621=>1000,21622=>1000,21623=>1000,21624=>1000,21625=>1000,21626=>1000,21627=>1000,21628=>1000,21629=>1000,21630=>1000,21631=>1000,21632=>1000,21633=>1000,21634=>1000,21635=>1000,21636=>1000,21637=>1000,21638=>1000,21639=>1000,21640=>1000,21641=>1000,21642=>1000,21643=>1000,21644=>1000,21645=>1000,21646=>1000,21647=>1000,21648=>1000,21649=>1000,21650=>1000,21651=>1000,21652=>1000,21653=>1000,21654=>1000,21655=>1000,21656=>1000,21657=>1000,21658=>1000,21659=>1000,21660=>1000,21661=>1000,21662=>1000,21663=>1000,21664=>1000,21665=>1000,21666=>1000,21667=>1000,21668=>1000,21669=>1000,21670=>1000,21671=>1000,21672=>1000,21673=>1000,21674=>1000,21675=>1000,21676=>1000,21677=>1000,21678=>1000,21679=>1000,21680=>1000,21681=>1000,21682=>1000,21683=>1000,21684=>1000,21685=>1000,21686=>1000,21687=>1000,21688=>1000,21689=>1000,21690=>1000,21691=>1000,21692=>1000,21693=>1000,21694=>1000,21695=>1000,21696=>1000,21697=>1000,21698=>1000,21699=>1000,21700=>1000,21701=>1000,21702=>1000,21703=>1000,21704=>1000,21705=>1000,21706=>1000,21707=>1000,21708=>1000,21709=>1000,21710=>1000,21711=>1000,21712=>1000,21713=>1000,21714=>1000,21715=>1000,21716=>1000,21717=>1000,21718=>1000,21719=>1000,21720=>1000,21721=>1000,21722=>1000,21723=>1000,21724=>1000,21725=>1000,21726=>1000,21727=>1000,21728=>1000,21729=>1000,21730=>1000,21731=>1000,21732=>1000,21733=>1000,21734=>1000,21735=>1000,21736=>1000,21737=>1000,21738=>1000,21739=>1000,21740=>1000,21741=>1000,21742=>1000,21743=>1000,21744=>1000,21745=>1000,21746=>1000,21747=>1000,21748=>1000,21749=>1000,21750=>1000,21751=>1000,21752=>1000,21753=>1000,21754=>1000,21755=>1000,21756=>1000,21757=>1000,21758=>1000,21759=>1000,21760=>1000,21761=>1000,21762=>1000,21763=>1000,21764=>1000,21765=>1000,21766=>1000,21767=>1000,21768=>1000,21769=>1000,21770=>1000,21771=>1000,21772=>1000,21773=>1000,21774=>1000,21775=>1000,21776=>1000,21777=>1000,21778=>1000,21779=>1000,21780=>1000,21781=>1000,21782=>1000,21783=>1000,21784=>1000,21785=>1000,21786=>1000,21787=>1000,21788=>1000,21789=>1000,21790=>1000,21791=>1000,21792=>1000,21793=>1000,21794=>1000,21795=>1000,21796=>1000,21797=>1000,21798=>1000,21799=>1000,21800=>1000,21801=>1000,21802=>1000,21803=>1000,21804=>1000,21805=>1000,21806=>1000,21807=>1000,21808=>1000,21809=>1000,21810=>1000,21811=>1000,21812=>1000,21813=>1000,21814=>1000,21815=>1000,21816=>1000,21817=>1000,21818=>1000,21819=>1000,21820=>1000,21821=>1000,21822=>1000,21823=>1000,21824=>1000,21825=>1000,21826=>1000,21827=>1000,21828=>1000,21829=>1000,21830=>1000,21831=>1000,21832=>1000,21833=>1000,21834=>1000,21835=>1000,21836=>1000,21837=>1000,21838=>1000,21839=>1000,21840=>1000,21841=>1000,21842=>1000,21843=>1000,21844=>1000,21845=>1000,21846=>1000,21847=>1000,21848=>1000,21849=>1000,21850=>1000,21851=>1000,21852=>1000,21853=>1000,21854=>1000,21855=>1000,21856=>1000,21857=>1000,21858=>1000,21859=>1000,21860=>1000,21861=>1000,21862=>1000,21863=>1000,21864=>1000,21865=>1000,21866=>1000,21867=>1000,21868=>1000,21869=>1000,21870=>1000,21871=>1000,21872=>1000,21873=>1000,21874=>1000,21875=>1000,21876=>1000,21877=>1000,21878=>1000,21879=>1000,21880=>1000,21881=>1000,21882=>1000,21883=>1000,21884=>1000,21885=>1000,21886=>1000,21887=>1000,21888=>1000,21889=>1000,21890=>1000,21891=>1000,21892=>1000,21893=>1000,21894=>1000,21895=>1000,21896=>1000,21897=>1000,21898=>1000,21899=>1000,21900=>1000,21901=>1000,21902=>1000,21903=>1000,21904=>1000,21905=>1000,21906=>1000,21907=>1000,21908=>1000,21909=>1000,21910=>1000,21911=>1000,21912=>1000,21913=>1000,21914=>1000,21915=>1000,21916=>1000,21917=>1000,21918=>1000,21919=>1000,21920=>1000,21921=>1000,21922=>1000,21923=>1000,21924=>1000,21925=>1000,21926=>1000,21927=>1000,21928=>1000,21929=>1000,21930=>1000,21931=>1000,21932=>1000,21933=>1000,21934=>1000,21935=>1000,21936=>1000,21937=>1000,21938=>1000,21939=>1000,21940=>1000,21941=>1000,21942=>1000,21943=>1000,21944=>1000,21945=>1000,21946=>1000,21947=>1000,21948=>1000,21949=>1000,21950=>1000,21951=>1000,21952=>1000,21953=>1000,21954=>1000,21955=>1000,21956=>1000,21957=>1000,21958=>1000,21959=>1000,21960=>1000,21961=>1000,21962=>1000,21963=>1000,21964=>1000,21965=>1000,21966=>1000,21967=>1000,21968=>1000,21969=>1000,21970=>1000,21971=>1000,21972=>1000,21973=>1000,21974=>1000,21975=>1000,21976=>1000,21977=>1000,21978=>1000,21979=>1000,21980=>1000,21981=>1000,21982=>1000,21983=>1000,21984=>1000,21985=>1000,21986=>1000,21987=>1000,21988=>1000,21989=>1000,21990=>1000,21991=>1000,21992=>1000,21993=>1000,21994=>1000,21995=>1000,21996=>1000,21997=>1000,21998=>1000,21999=>1000,22000=>1000,22001=>1000,22002=>1000,22003=>1000,22004=>1000,22005=>1000,22006=>1000,22007=>1000,22008=>1000,22009=>1000,22010=>1000,22011=>1000,22012=>1000,22013=>1000,22014=>1000,22015=>1000,22016=>1000,22017=>1000,22018=>1000,22019=>1000,22020=>1000,22021=>1000,22022=>1000,22023=>1000,22024=>1000,22025=>1000,22026=>1000,22027=>1000,22028=>1000,22029=>1000,22030=>1000,22031=>1000,22032=>1000,22033=>1000,22034=>1000,22035=>1000,22036=>1000,22037=>1000,22038=>1000,22039=>1000,22040=>1000,22041=>1000,22042=>1000,22043=>1000,22044=>1000,22045=>1000,22046=>1000,22047=>1000,22048=>1000,22049=>1000,22050=>1000,22051=>1000,22052=>1000,22053=>1000,22054=>1000,22055=>1000,22056=>1000,22057=>1000,22058=>1000,22059=>1000,22060=>1000,22061=>1000,22062=>1000,22063=>1000,22064=>1000,22065=>1000,22066=>1000,22067=>1000,22068=>1000,22069=>1000,22070=>1000,22071=>1000,22072=>1000,22073=>1000,22074=>1000,22075=>1000,22076=>1000,22077=>1000,22078=>1000,22079=>1000,22080=>1000,22081=>1000,22082=>1000,22083=>1000,22084=>1000,22085=>1000,22086=>1000,22087=>1000,22088=>1000,22089=>1000,22090=>1000,22091=>1000,22092=>1000,22093=>1000,22094=>1000,22095=>1000,22096=>1000,22097=>1000,22098=>1000,22099=>1000,22100=>1000,22101=>1000,22102=>1000,22103=>1000,22104=>1000,22105=>1000,22106=>1000,22107=>1000,22108=>1000,22109=>1000,22110=>1000,22111=>1000,22112=>1000,22113=>1000,22114=>1000,22115=>1000,22116=>1000,22117=>1000,22118=>1000,22119=>1000,22120=>1000,22121=>1000,22122=>1000,22123=>1000,22124=>1000,22125=>1000,22126=>1000,22127=>1000,22128=>1000,22129=>1000,22130=>1000,22131=>1000,22132=>1000,22133=>1000,22134=>1000,22135=>1000,22136=>1000,22137=>1000,22138=>1000,22139=>1000,22140=>1000,22141=>1000,22142=>1000,22143=>1000,22144=>1000,22145=>1000,22146=>1000,22147=>1000,22148=>1000,22149=>1000,22150=>1000,22151=>1000,22152=>1000,22153=>1000,22154=>1000,22155=>1000,22156=>1000,22157=>1000,22158=>1000,22159=>1000,22160=>1000,22161=>1000,22162=>1000,22163=>1000,22164=>1000,22165=>1000,22166=>1000,22167=>1000,22168=>1000,22169=>1000,22170=>1000,22171=>1000,22172=>1000,22173=>1000,22174=>1000,22175=>1000,22176=>1000,22177=>1000,22178=>1000,22179=>1000,22180=>1000,22181=>1000,22182=>1000,22183=>1000,22184=>1000,22185=>1000,22186=>1000,22187=>1000,22188=>1000,22189=>1000,22190=>1000,22191=>1000,22192=>1000,22193=>1000,22194=>1000,22195=>1000,22196=>1000,22197=>1000,22198=>1000,22199=>1000,22200=>1000,22201=>1000,22202=>1000,22203=>1000,22204=>1000,22205=>1000,22206=>1000,22207=>1000,22208=>1000,22209=>1000,22210=>1000,22211=>1000,22212=>1000,22213=>1000,22214=>1000,22215=>1000,22216=>1000,22217=>1000,22218=>1000,22219=>1000,22220=>1000,22221=>1000,22222=>1000,22223=>1000,22224=>1000,22225=>1000,22226=>1000,22227=>1000,22228=>1000,22229=>1000,22230=>1000,22231=>1000,22232=>1000,22233=>1000,22234=>1000,22235=>1000,22236=>1000,22237=>1000,22238=>1000,22239=>1000,22240=>1000,22241=>1000,22242=>1000,22243=>1000,22244=>1000,22245=>1000,22246=>1000,22247=>1000,22248=>1000,22249=>1000,22250=>1000,22251=>1000,22252=>1000,22253=>1000,22254=>1000,22255=>1000,22256=>1000,22257=>1000,22258=>1000,22259=>1000,22260=>1000,22261=>1000,22262=>1000,22263=>1000,22264=>1000,22265=>1000,22266=>1000,22267=>1000,22268=>1000,22269=>1000,22270=>1000,22271=>1000,22272=>1000,22273=>1000,22274=>1000,22275=>1000,22276=>1000,22277=>1000,22278=>1000,22279=>1000,22280=>1000,22281=>1000,22282=>1000,22283=>1000,22284=>1000,22285=>1000,22286=>1000,22287=>1000,22288=>1000,22289=>1000,22290=>1000,22291=>1000,22292=>1000,22293=>1000,22294=>1000,22295=>1000,22296=>1000,22297=>1000,22298=>1000,22299=>1000,22300=>1000,22301=>1000,22302=>1000,22303=>1000,22304=>1000,22305=>1000,22306=>1000,22307=>1000,22308=>1000,22309=>1000,22310=>1000,22311=>1000,22312=>1000,22313=>1000,22314=>1000,22315=>1000,22316=>1000,22317=>1000,22318=>1000,22319=>1000,22320=>1000,22321=>1000,22322=>1000,22323=>1000,22324=>1000,22325=>1000,22326=>1000,22327=>1000,22328=>1000,22329=>1000,22330=>1000,22331=>1000,22332=>1000,22333=>1000,22334=>1000,22335=>1000,22336=>1000,22337=>1000,22338=>1000,22339=>1000,22340=>1000,22341=>1000,22342=>1000,22343=>1000,22344=>1000,22345=>1000,22346=>1000,22347=>1000,22348=>1000,22349=>1000,22350=>1000,22351=>1000,22352=>1000,22353=>1000,22354=>1000,22355=>1000,22356=>1000,22357=>1000,22358=>1000,22359=>1000,22360=>1000,22361=>1000,22362=>1000,22363=>1000,22364=>1000,22365=>1000,22366=>1000,22367=>1000,22368=>1000,22369=>1000,22370=>1000,22371=>1000,22372=>1000,22373=>1000,22374=>1000,22375=>1000,22376=>1000,22377=>1000,22378=>1000,22379=>1000,22380=>1000,22381=>1000,22382=>1000,22383=>1000,22384=>1000,22385=>1000,22386=>1000,22387=>1000,22388=>1000,22389=>1000,22390=>1000,22391=>1000,22392=>1000,22393=>1000,22394=>1000,22395=>1000,22396=>1000,22397=>1000,22398=>1000,22399=>1000,22400=>1000,22401=>1000,22402=>1000,22403=>1000,22404=>1000,22405=>1000,22406=>1000,22407=>1000,22408=>1000,22409=>1000,22410=>1000,22411=>1000,22412=>1000,22413=>1000,22414=>1000,22415=>1000,22416=>1000,22417=>1000,22418=>1000,22419=>1000,22420=>1000,22421=>1000,22422=>1000,22423=>1000,22424=>1000,22425=>1000,22426=>1000,22427=>1000,22428=>1000,22429=>1000,22430=>1000,22431=>1000,22432=>1000,22433=>1000,22434=>1000,22435=>1000,22436=>1000,22437=>1000,22438=>1000,22439=>1000,22440=>1000,22441=>1000,22442=>1000,22443=>1000,22444=>1000,22445=>1000,22446=>1000,22447=>1000,22448=>1000,22449=>1000,22450=>1000,22451=>1000,22452=>1000,22453=>1000,22454=>1000,22455=>1000,22456=>1000,22457=>1000,22458=>1000,22459=>1000,22460=>1000,22461=>1000,22462=>1000,22463=>1000,22464=>1000,22465=>1000,22466=>1000,22467=>1000,22468=>1000,22469=>1000,22470=>1000,22471=>1000,22472=>1000,22473=>1000,22474=>1000,22475=>1000,22476=>1000,22477=>1000,22478=>1000,22479=>1000,22480=>1000,22481=>1000,22482=>1000,22483=>1000,22484=>1000,22485=>1000,22486=>1000,22487=>1000,22488=>1000,22489=>1000,22490=>1000,22491=>1000,22492=>1000,22493=>1000,22494=>1000,22495=>1000,22496=>1000,22497=>1000,22498=>1000,22499=>1000,22500=>1000,22501=>1000,22502=>1000,22503=>1000,22504=>1000,22505=>1000,22506=>1000,22507=>1000,22508=>1000,22509=>1000,22510=>1000,22511=>1000,22512=>1000,22513=>1000,22514=>1000,22515=>1000,22516=>1000,22517=>1000,22518=>1000,22519=>1000,22520=>1000,22521=>1000,22522=>1000,22523=>1000,22524=>1000,22525=>1000,22526=>1000,22527=>1000,22528=>1000,22529=>1000,22530=>1000,22531=>1000,22532=>1000,22533=>1000,22534=>1000,22535=>1000,22536=>1000,22537=>1000,22538=>1000,22539=>1000,22540=>1000,22541=>1000,22542=>1000,22543=>1000,22544=>1000,22545=>1000,22546=>1000,22547=>1000,22548=>1000,22549=>1000,22550=>1000,22551=>1000,22552=>1000,22553=>1000,22554=>1000,22555=>1000,22556=>1000,22557=>1000,22558=>1000,22559=>1000,22560=>1000,22561=>1000,22562=>1000,22563=>1000,22564=>1000,22565=>1000,22566=>1000,22567=>1000,22568=>1000,22569=>1000,22570=>1000,22571=>1000,22572=>1000,22573=>1000,22574=>1000,22575=>1000,22576=>1000,22577=>1000,22578=>1000,22579=>1000,22580=>1000,22581=>1000,22582=>1000,22583=>1000,22584=>1000,22585=>1000,22586=>1000,22587=>1000,22588=>1000,22589=>1000,22590=>1000,22591=>1000,22592=>1000,22593=>1000,22594=>1000,22595=>1000,22596=>1000,22597=>1000,22598=>1000,22599=>1000,22600=>1000,22601=>1000,22602=>1000,22603=>1000,22604=>1000,22605=>1000,22606=>1000,22607=>1000,22608=>1000,22609=>1000,22610=>1000,22611=>1000,22612=>1000,22613=>1000,22614=>1000,22615=>1000,22616=>1000,22617=>1000,22618=>1000,22619=>1000,22620=>1000,22621=>1000,22622=>1000,22623=>1000,22624=>1000,22625=>1000,22626=>1000,22627=>1000,22628=>1000,22629=>1000,22630=>1000,22631=>1000,22632=>1000,22633=>1000,22634=>1000,22635=>1000,22636=>1000,22637=>1000,22638=>1000,22639=>1000,22640=>1000,22641=>1000,22642=>1000,22643=>1000,22644=>1000,22645=>1000,22646=>1000,22647=>1000,22648=>1000,22649=>1000,22650=>1000,22651=>1000,22652=>1000,22653=>1000,22654=>1000,22655=>1000,22656=>1000,22657=>1000,22658=>1000,22659=>1000,22660=>1000,22661=>1000,22662=>1000,22663=>1000,22664=>1000,22665=>1000,22666=>1000,22667=>1000,22668=>1000,22669=>1000,22670=>1000,22671=>1000,22672=>1000,22673=>1000,22674=>1000,22675=>1000,22676=>1000,22677=>1000,22678=>1000,22679=>1000,22680=>1000,22681=>1000,22682=>1000,22683=>1000,22684=>1000,22685=>1000,22686=>1000,22687=>1000,22688=>1000,22689=>1000,22690=>1000,22691=>1000,22692=>1000,22693=>1000,22694=>1000,22695=>1000,22696=>1000,22697=>1000,22698=>1000,22699=>1000,22700=>1000,22701=>1000,22702=>1000,22703=>1000,22704=>1000,22705=>1000,22706=>1000,22707=>1000,22708=>1000,22709=>1000,22710=>1000,22711=>1000,22712=>1000,22713=>1000,22714=>1000,22715=>1000,22716=>1000,22717=>1000,22718=>1000,22719=>1000,22720=>1000,22721=>1000,22722=>1000,22723=>1000,22724=>1000,22725=>1000,22726=>1000,22727=>1000,22728=>1000,22729=>1000,22730=>1000,22731=>1000,22732=>1000,22733=>1000,22734=>1000,22735=>1000,22736=>1000,22737=>1000,22738=>1000,22739=>1000,22740=>1000,22741=>1000,22742=>1000,22743=>1000,22744=>1000,22745=>1000,22746=>1000,22747=>1000,22748=>1000,22749=>1000,22750=>1000,22751=>1000,22752=>1000,22753=>1000,22754=>1000,22755=>1000,22756=>1000,22757=>1000,22758=>1000,22759=>1000,22760=>1000,22761=>1000,22762=>1000,22763=>1000,22764=>1000,22765=>1000,22766=>1000,22767=>1000,22768=>1000,22769=>1000,22770=>1000,22771=>1000,22772=>1000,22773=>1000,22774=>1000,22775=>1000,22776=>1000,22777=>1000,22778=>1000,22779=>1000,22780=>1000,22781=>1000,22782=>1000,22783=>1000,22784=>1000,22785=>1000,22786=>1000,22787=>1000,22788=>1000,22789=>1000,22790=>1000,22791=>1000,22792=>1000,22793=>1000,22794=>1000,22795=>1000,22796=>1000,22797=>1000,22798=>1000,22799=>1000,22800=>1000,22801=>1000,22802=>1000,22803=>1000,22804=>1000,22805=>1000,22806=>1000,22807=>1000,22808=>1000,22809=>1000,22810=>1000,22811=>1000,22812=>1000,22813=>1000,22814=>1000,22815=>1000,22816=>1000,22817=>1000,22818=>1000,22819=>1000,22820=>1000,22821=>1000,22822=>1000,22823=>1000,22824=>1000,22825=>1000,22826=>1000,22827=>1000,22828=>1000,22829=>1000,22830=>1000,22831=>1000,22832=>1000,22833=>1000,22834=>1000,22835=>1000,22836=>1000,22837=>1000,22838=>1000,22839=>1000,22840=>1000,22841=>1000,22842=>1000,22843=>1000,22844=>1000,22845=>1000,22846=>1000,22847=>1000,22848=>1000,22849=>1000,22850=>1000,22851=>1000,22852=>1000,22853=>1000,22854=>1000,22855=>1000,22856=>1000,22857=>1000,22858=>1000,22859=>1000,22860=>1000,22861=>1000,22862=>1000,22863=>1000,22864=>1000,22865=>1000,22866=>1000,22867=>1000,22868=>1000,22869=>1000,22870=>1000,22871=>1000,22872=>1000,22873=>1000,22874=>1000,22875=>1000,22876=>1000,22877=>1000,22878=>1000,22879=>1000,22880=>1000,22881=>1000,22882=>1000,22883=>1000,22884=>1000,22885=>1000,22886=>1000,22887=>1000,22888=>1000,22889=>1000,22890=>1000,22891=>1000,22892=>1000,22893=>1000,22894=>1000,22895=>1000,22896=>1000,22897=>1000,22898=>1000,22899=>1000,22900=>1000,22901=>1000,22902=>1000,22903=>1000,22904=>1000,22905=>1000,22906=>1000,22907=>1000,22908=>1000,22909=>1000,22910=>1000,22911=>1000,22912=>1000,22913=>1000,22914=>1000,22915=>1000,22916=>1000,22917=>1000,22918=>1000,22919=>1000,22920=>1000,22921=>1000,22922=>1000,22923=>1000,22924=>1000,22925=>1000,22926=>1000,22927=>1000,22928=>1000,22929=>1000,22930=>1000,22931=>1000,22932=>1000,22933=>1000,22934=>1000,22935=>1000,22936=>1000,22937=>1000,22938=>1000,22939=>1000,22940=>1000,22941=>1000,22942=>1000,22943=>1000,22944=>1000,22945=>1000,22946=>1000,22947=>1000,22948=>1000,22949=>1000,22950=>1000,22951=>1000,22952=>1000,22953=>1000,22954=>1000,22955=>1000,22956=>1000,22957=>1000,22958=>1000,22959=>1000,22960=>1000,22961=>1000,22962=>1000,22963=>1000,22964=>1000,22965=>1000,22966=>1000,22967=>1000,22968=>1000,22969=>1000,22970=>1000,22971=>1000,22972=>1000,22973=>1000,22974=>1000,22975=>1000,22976=>1000,22977=>1000,22978=>1000,22979=>1000,22980=>1000,22981=>1000,22982=>1000,22983=>1000,22984=>1000,22985=>1000,22986=>1000,22987=>1000,22988=>1000,22989=>1000,22990=>1000,22991=>1000,22992=>1000,22993=>1000,22994=>1000,22995=>1000,22996=>1000,22997=>1000,22998=>1000,22999=>1000,23000=>1000,23001=>1000,23002=>1000,23003=>1000,23004=>1000,23005=>1000,23006=>1000,23007=>1000,23008=>1000,23009=>1000,23010=>1000,23011=>1000,23012=>1000,23013=>1000,23014=>1000,23015=>1000,23016=>1000,23017=>1000,23018=>1000,23019=>1000,23020=>1000,23021=>1000,23022=>1000,23023=>1000,23024=>1000,23025=>1000,23026=>1000,23027=>1000,23028=>1000,23029=>1000,23030=>1000,23031=>1000,23032=>1000,23033=>1000,23034=>1000,23035=>1000,23036=>1000,23037=>1000,23038=>1000,23039=>1000,23040=>1000,23041=>1000,23042=>1000,23043=>1000,23044=>1000,23045=>1000,23046=>1000,23047=>1000,23048=>1000,23049=>1000,23050=>1000,23051=>1000,23052=>1000,23053=>1000,23054=>1000,23055=>1000,23056=>1000,23057=>1000,23058=>1000,23059=>1000,23060=>1000,23061=>1000,23062=>1000,23063=>1000,23064=>1000,23065=>1000,23066=>1000,23067=>1000,23068=>1000,23069=>1000,23070=>1000,23071=>1000,23072=>1000,23073=>1000,23074=>1000,23075=>1000,23076=>1000,23077=>1000,23078=>1000,23079=>1000,23080=>1000,23081=>1000,23082=>1000,23083=>1000,23084=>1000,23085=>1000,23086=>1000,23087=>1000,23088=>1000,23089=>1000,23090=>1000,23091=>1000,23092=>1000,23093=>1000,23094=>1000,23095=>1000,23096=>1000,23097=>1000,23098=>1000,23099=>1000,23100=>1000,23101=>1000,23102=>1000,23103=>1000,23104=>1000,23105=>1000,23106=>1000,23107=>1000,23108=>1000,23109=>1000,23110=>1000,23111=>1000,23112=>1000,23113=>1000,23114=>1000,23115=>1000,23116=>1000,23117=>1000,23118=>1000,23119=>1000,23120=>1000,23121=>1000,23122=>1000,23123=>1000,23124=>1000,23125=>1000,23126=>1000,23127=>1000,23128=>1000,23129=>1000,23130=>1000,23131=>1000,23132=>1000,23133=>1000,23134=>1000,23135=>1000,23136=>1000,23137=>1000,23138=>1000,23139=>1000,23140=>1000,23141=>1000,23142=>1000,23143=>1000,23144=>1000,23145=>1000,23146=>1000,23147=>1000,23148=>1000,23149=>1000,23150=>1000,23151=>1000,23152=>1000,23153=>1000,23154=>1000,23155=>1000,23156=>1000,23157=>1000,23158=>1000,23159=>1000,23160=>1000,23161=>1000,23162=>1000,23163=>1000,23164=>1000,23165=>1000,23166=>1000,23167=>1000,23168=>1000,23169=>1000,23170=>1000,23171=>1000,23172=>1000,23173=>1000,23174=>1000,23175=>1000,23176=>1000,23177=>1000,23178=>1000,23179=>1000,23180=>1000,23181=>1000,23182=>1000,23183=>1000,23184=>1000,23185=>1000,23186=>1000,23187=>1000,23188=>1000,23189=>1000,23190=>1000,23191=>1000,23192=>1000,23193=>1000,23194=>1000,23195=>1000,23196=>1000,23197=>1000,23198=>1000,23199=>1000,23200=>1000,23201=>1000,23202=>1000,23203=>1000,23204=>1000,23205=>1000,23206=>1000,23207=>1000,23208=>1000,23209=>1000,23210=>1000,23211=>1000,23212=>1000,23213=>1000,23214=>1000,23215=>1000,23216=>1000,23217=>1000,23218=>1000,23219=>1000,23220=>1000,23221=>1000,23222=>1000,23223=>1000,23224=>1000,23225=>1000,23226=>1000,23227=>1000,23228=>1000,23229=>1000,23230=>1000,23231=>1000,23232=>1000,23233=>1000,23234=>1000,23235=>1000,23236=>1000,23237=>1000,23238=>1000,23239=>1000,23240=>1000,23241=>1000,23242=>1000,23243=>1000,23244=>1000,23245=>1000,23246=>1000,23247=>1000,23248=>1000,23249=>1000,23250=>1000,23251=>1000,23252=>1000,23253=>1000,23254=>1000,23255=>1000,23256=>1000,23257=>1000,23258=>1000,23259=>1000,23260=>1000,23261=>1000,23262=>1000,23263=>1000,23264=>1000,23265=>1000,23266=>1000,23267=>1000,23268=>1000,23269=>1000,23270=>1000,23271=>1000,23272=>1000,23273=>1000,23274=>1000,23275=>1000,23276=>1000,23277=>1000,23278=>1000,23279=>1000,23280=>1000,23281=>1000,23282=>1000,23283=>1000,23284=>1000,23285=>1000,23286=>1000,23287=>1000,23288=>1000,23289=>1000,23290=>1000,23291=>1000,23292=>1000,23293=>1000,23294=>1000,23295=>1000,23296=>1000,23297=>1000,23298=>1000,23299=>1000,23300=>1000,23301=>1000,23302=>1000,23303=>1000,23304=>1000,23305=>1000,23306=>1000,23307=>1000,23308=>1000,23309=>1000,23310=>1000,23311=>1000,23312=>1000,23313=>1000,23314=>1000,23315=>1000,23316=>1000,23317=>1000,23318=>1000,23319=>1000,23320=>1000,23321=>1000,23322=>1000,23323=>1000,23324=>1000,23325=>1000,23326=>1000,23327=>1000,23328=>1000,23329=>1000,23330=>1000,23331=>1000,23332=>1000,23333=>1000,23334=>1000,23335=>1000,23336=>1000,23337=>1000,23338=>1000,23339=>1000,23340=>1000,23341=>1000,23342=>1000,23343=>1000,23344=>1000,23345=>1000,23346=>1000,23347=>1000,23348=>1000,23349=>1000,23350=>1000,23351=>1000,23352=>1000,23353=>1000,23354=>1000,23355=>1000,23356=>1000,23357=>1000,23358=>1000,23359=>1000,23360=>1000,23361=>1000,23362=>1000,23363=>1000,23364=>1000,23365=>1000,23366=>1000,23367=>1000,23368=>1000,23369=>1000,23370=>1000,23371=>1000,23372=>1000,23373=>1000,23374=>1000,23375=>1000,23376=>1000,23377=>1000,23378=>1000,23379=>1000,23380=>1000,23381=>1000,23382=>1000,23383=>1000,23384=>1000,23385=>1000,23386=>1000,23387=>1000,23388=>1000,23389=>1000,23390=>1000,23391=>1000,23392=>1000,23393=>1000,23394=>1000,23395=>1000,23396=>1000,23397=>1000,23398=>1000,23399=>1000,23400=>1000,23401=>1000,23402=>1000,23403=>1000,23404=>1000,23405=>1000,23406=>1000,23407=>1000,23408=>1000,23409=>1000,23410=>1000,23411=>1000,23412=>1000,23413=>1000,23414=>1000,23415=>1000,23416=>1000,23417=>1000,23418=>1000,23419=>1000,23420=>1000,23421=>1000,23422=>1000,23423=>1000,23424=>1000,23425=>1000,23426=>1000,23427=>1000,23428=>1000,23429=>1000,23430=>1000,23431=>1000,23432=>1000,23433=>1000,23434=>1000,23435=>1000,23436=>1000,23437=>1000,23438=>1000,23439=>1000,23440=>1000,23441=>1000,23442=>1000,23443=>1000,23444=>1000,23445=>1000,23446=>1000,23447=>1000,23448=>1000,23449=>1000,23450=>1000,23451=>1000,23452=>1000,23453=>1000,23454=>1000,23455=>1000,23456=>1000,23457=>1000,23458=>1000,23459=>1000,23460=>1000,23461=>1000,23462=>1000,23463=>1000,23464=>1000,23465=>1000,23466=>1000,23467=>1000,23468=>1000,23469=>1000,23470=>1000,23471=>1000,23472=>1000,23473=>1000,23474=>1000,23475=>1000,23476=>1000,23477=>1000,23478=>1000,23479=>1000,23480=>1000,23481=>1000,23482=>1000,23483=>1000,23484=>1000,23485=>1000,23486=>1000,23487=>1000,23488=>1000,23489=>1000,23490=>1000,23491=>1000,23492=>1000,23493=>1000,23494=>1000,23495=>1000,23496=>1000,23497=>1000,23498=>1000,23499=>1000,23500=>1000,23501=>1000,23502=>1000,23503=>1000,23504=>1000,23505=>1000,23506=>1000,23507=>1000,23508=>1000,23509=>1000,23510=>1000,23511=>1000,23512=>1000,23513=>1000,23514=>1000,23515=>1000,23516=>1000,23517=>1000,23518=>1000,23519=>1000,23520=>1000,23521=>1000,23522=>1000,23523=>1000,23524=>1000,23525=>1000,23526=>1000,23527=>1000,23528=>1000,23529=>1000,23530=>1000,23531=>1000,23532=>1000,23533=>1000,23534=>1000,23535=>1000,23536=>1000,23537=>1000,23538=>1000,23539=>1000,23540=>1000,23541=>1000,23542=>1000,23543=>1000,23544=>1000,23545=>1000,23546=>1000,23547=>1000,23548=>1000,23549=>1000,23550=>1000,23551=>1000,23552=>1000,23553=>1000,23554=>1000,23555=>1000,23556=>1000,23557=>1000,23558=>1000,23559=>1000,23560=>1000,23561=>1000,23562=>1000,23563=>1000,23564=>1000,23565=>1000,23566=>1000,23567=>1000,23568=>1000,23569=>1000,23570=>1000,23571=>1000,23572=>1000,23573=>1000,23574=>1000,23575=>1000,23576=>1000,23577=>1000,23578=>1000,23579=>1000,23580=>1000,23581=>1000,23582=>1000,23583=>1000,23584=>1000,23585=>1000,23586=>1000,23587=>1000,23588=>1000,23589=>1000,23590=>1000,23591=>1000,23592=>1000,23593=>1000,23594=>1000,23595=>1000,23596=>1000,23597=>1000,23598=>1000,23599=>1000,23600=>1000,23601=>1000,23602=>1000,23603=>1000,23604=>1000,23605=>1000,23606=>1000,23607=>1000,23608=>1000,23609=>1000,23610=>1000,23611=>1000,23612=>1000,23613=>1000,23614=>1000,23615=>1000,23616=>1000,23617=>1000,23618=>1000,23619=>1000,23620=>1000,23621=>1000,23622=>1000,23623=>1000,23624=>1000,23625=>1000,23626=>1000,23627=>1000,23628=>1000,23629=>1000,23630=>1000,23631=>1000,23632=>1000,23633=>1000,23634=>1000,23635=>1000,23636=>1000,23637=>1000,23638=>1000,23639=>1000,23640=>1000,23641=>1000,23642=>1000,23643=>1000,23644=>1000,23645=>1000,23646=>1000,23647=>1000,23648=>1000,23649=>1000,23650=>1000,23651=>1000,23652=>1000,23653=>1000,23654=>1000,23655=>1000,23656=>1000,23657=>1000,23658=>1000,23659=>1000,23660=>1000,23661=>1000,23662=>1000,23663=>1000,23664=>1000,23665=>1000,23666=>1000,23667=>1000,23668=>1000,23669=>1000,23670=>1000,23671=>1000,23672=>1000,23673=>1000,23674=>1000,23675=>1000,23676=>1000,23677=>1000,23678=>1000,23679=>1000,23680=>1000,23681=>1000,23682=>1000,23683=>1000,23684=>1000,23685=>1000,23686=>1000,23687=>1000,23688=>1000,23689=>1000,23690=>1000,23691=>1000,23692=>1000,23693=>1000,23694=>1000,23695=>1000,23696=>1000,23697=>1000,23698=>1000,23699=>1000,23700=>1000,23701=>1000,23702=>1000,23703=>1000,23704=>1000,23705=>1000,23706=>1000,23707=>1000,23708=>1000,23709=>1000,23710=>1000,23711=>1000,23712=>1000,23713=>1000,23714=>1000,23715=>1000,23716=>1000,23717=>1000,23718=>1000,23719=>1000,23720=>1000,23721=>1000,23722=>1000,23723=>1000,23724=>1000,23725=>1000,23726=>1000,23727=>1000,23728=>1000,23729=>1000,23730=>1000,23731=>1000,23732=>1000,23733=>1000,23734=>1000,23735=>1000,23736=>1000,23737=>1000,23738=>1000,23739=>1000,23740=>1000,23741=>1000,23742=>1000,23743=>1000,23744=>1000,23745=>1000,23746=>1000,23747=>1000,23748=>1000,23749=>1000,23750=>1000,23751=>1000,23752=>1000,23753=>1000,23754=>1000,23755=>1000,23756=>1000,23757=>1000,23758=>1000,23759=>1000,23760=>1000,23761=>1000,23762=>1000,23763=>1000,23764=>1000,23765=>1000,23766=>1000,23767=>1000,23768=>1000,23769=>1000,23770=>1000,23771=>1000,23772=>1000,23773=>1000,23774=>1000,23775=>1000,23776=>1000,23777=>1000,23778=>1000,23779=>1000,23780=>1000,23781=>1000,23782=>1000,23783=>1000,23784=>1000,23785=>1000,23786=>1000,23787=>1000,23788=>1000,23789=>1000,23790=>1000,23791=>1000,23792=>1000,23793=>1000,23794=>1000,23795=>1000,23796=>1000,23797=>1000,23798=>1000,23799=>1000,23800=>1000,23801=>1000,23802=>1000,23803=>1000,23804=>1000,23805=>1000,23806=>1000,23807=>1000,23808=>1000,23809=>1000,23810=>1000,23811=>1000,23812=>1000,23813=>1000,23814=>1000,23815=>1000,23816=>1000,23817=>1000,23818=>1000,23819=>1000,23820=>1000,23821=>1000,23822=>1000,23823=>1000,23824=>1000,23825=>1000,23826=>1000,23827=>1000,23828=>1000,23829=>1000,23830=>1000,23831=>1000,23832=>1000,23833=>1000,23834=>1000,23835=>1000,23836=>1000,23837=>1000,23838=>1000,23839=>1000,23840=>1000,23841=>1000,23842=>1000,23843=>1000,23844=>1000,23845=>1000,23846=>1000,23847=>1000,23848=>1000,23849=>1000,23850=>1000,23851=>1000,23852=>1000,23853=>1000,23854=>1000,23855=>1000,23856=>1000,23857=>1000,23858=>1000,23859=>1000,23860=>1000,23861=>1000,23862=>1000,23863=>1000,23864=>1000,23865=>1000,23866=>1000,23867=>1000,23868=>1000,23869=>1000,23870=>1000,23871=>1000,23872=>1000,23873=>1000,23874=>1000,23875=>1000,23876=>1000,23877=>1000,23878=>1000,23879=>1000,23880=>1000,23881=>1000,23882=>1000,23883=>1000,23884=>1000,23885=>1000,23886=>1000,23887=>1000,23888=>1000,23889=>1000,23890=>1000,23891=>1000,23892=>1000,23893=>1000,23894=>1000,23895=>1000,23896=>1000,23897=>1000,23898=>1000,23899=>1000,23900=>1000,23901=>1000,23902=>1000,23903=>1000,23904=>1000,23905=>1000,23906=>1000,23907=>1000,23908=>1000,23909=>1000,23910=>1000,23911=>1000,23912=>1000,23913=>1000,23914=>1000,23915=>1000,23916=>1000,23917=>1000,23918=>1000,23919=>1000,23920=>1000,23921=>1000,23922=>1000,23923=>1000,23924=>1000,23925=>1000,23926=>1000,23927=>1000,23928=>1000,23929=>1000,23930=>1000,23931=>1000,23932=>1000,23933=>1000,23934=>1000,23935=>1000,23936=>1000,23937=>1000,23938=>1000,23939=>1000,23940=>1000,23941=>1000,23942=>1000,23943=>1000,23944=>1000,23945=>1000,23946=>1000,23947=>1000,23948=>1000,23949=>1000,23950=>1000,23951=>1000,23952=>1000,23953=>1000,23954=>1000,23955=>1000,23956=>1000,23957=>1000,23958=>1000,23959=>1000,23960=>1000,23961=>1000,23962=>1000,23963=>1000,23964=>1000,23965=>1000,23966=>1000,23967=>1000,23968=>1000,23969=>1000,23970=>1000,23971=>1000,23972=>1000,23973=>1000,23974=>1000,23975=>1000,23976=>1000,23977=>1000,23978=>1000,23979=>1000,23980=>1000,23981=>1000,23982=>1000,23983=>1000,23984=>1000,23985=>1000,23986=>1000,23987=>1000,23988=>1000,23989=>1000,23990=>1000,23991=>1000,23992=>1000,23993=>1000,23994=>1000,23995=>1000,23996=>1000,23997=>1000,23998=>1000,23999=>1000,24000=>1000,24001=>1000,24002=>1000,24003=>1000,24004=>1000,24005=>1000,24006=>1000,24007=>1000,24008=>1000,24009=>1000,24010=>1000,24011=>1000,24012=>1000,24013=>1000,24014=>1000,24015=>1000,24016=>1000,24017=>1000,24018=>1000,24019=>1000,24020=>1000,24021=>1000,24022=>1000,24023=>1000,24024=>1000,24025=>1000,24026=>1000,24027=>1000,24028=>1000,24029=>1000,24030=>1000,24031=>1000,24032=>1000,24033=>1000,24034=>1000,24035=>1000,24036=>1000,24037=>1000,24038=>1000,24039=>1000,24040=>1000,24041=>1000,24042=>1000,24043=>1000,24044=>1000,24045=>1000,24046=>1000,24047=>1000,24048=>1000,24049=>1000,24050=>1000,24051=>1000,24052=>1000,24053=>1000,24054=>1000,24055=>1000,24056=>1000,24057=>1000,24058=>1000,24059=>1000,24060=>1000,24061=>1000,24062=>1000,24063=>1000,24064=>1000,24065=>1000,24066=>1000,24067=>1000,24068=>1000,24069=>1000,24070=>1000,24071=>1000,24072=>1000,24073=>1000,24074=>1000,24075=>1000,24076=>1000,24077=>1000,24078=>1000,24079=>1000,24080=>1000,24081=>1000,24082=>1000,24083=>1000,24084=>1000,24085=>1000,24086=>1000,24087=>1000,24088=>1000,24089=>1000,24090=>1000,24091=>1000,24092=>1000,24093=>1000,24094=>1000,24095=>1000,24096=>1000,24097=>1000,24098=>1000,24099=>1000,24100=>1000,24101=>1000,24102=>1000,24103=>1000,24104=>1000,24105=>1000,24106=>1000,24107=>1000,24108=>1000,24109=>1000,24110=>1000,24111=>1000,24112=>1000,24113=>1000,24114=>1000,24115=>1000,24116=>1000,24117=>1000,24118=>1000,24119=>1000,24120=>1000,24121=>1000,24122=>1000,24123=>1000,24124=>1000,24125=>1000,24126=>1000,24127=>1000,24128=>1000,24129=>1000,24130=>1000,24131=>1000,24132=>1000,24133=>1000,24134=>1000,24135=>1000,24136=>1000,24137=>1000,24138=>1000,24139=>1000,24140=>1000,24141=>1000,24142=>1000,24143=>1000,24144=>1000,24145=>1000,24146=>1000,24147=>1000,24148=>1000,24149=>1000,24150=>1000,24151=>1000,24152=>1000,24153=>1000,24154=>1000,24155=>1000,24156=>1000,24157=>1000,24158=>1000,24159=>1000,24160=>1000,24161=>1000,24162=>1000,24163=>1000,24164=>1000,24165=>1000,24166=>1000,24167=>1000,24168=>1000,24169=>1000,24170=>1000,24171=>1000,24172=>1000,24173=>1000,24174=>1000,24175=>1000,24176=>1000,24177=>1000,24178=>1000,24179=>1000,24180=>1000,24181=>1000,24182=>1000,24183=>1000,24184=>1000,24185=>1000,24186=>1000,24187=>1000,24188=>1000,24189=>1000,24190=>1000,24191=>1000,24192=>1000,24193=>1000,24194=>1000,24195=>1000,24196=>1000,24197=>1000,24198=>1000,24199=>1000,24200=>1000,24201=>1000,24202=>1000,24203=>1000,24204=>1000,24205=>1000,24206=>1000,24207=>1000,24208=>1000,24209=>1000,24210=>1000,24211=>1000,24212=>1000,24213=>1000,24214=>1000,24215=>1000,24216=>1000,24217=>1000,24218=>1000,24219=>1000,24220=>1000,24221=>1000,24222=>1000,24223=>1000,24224=>1000,24225=>1000,24226=>1000,24227=>1000,24228=>1000,24229=>1000,24230=>1000,24231=>1000,24232=>1000,24233=>1000,24234=>1000,24235=>1000,24236=>1000,24237=>1000,24238=>1000,24239=>1000,24240=>1000,24241=>1000,24242=>1000,24243=>1000,24244=>1000,24245=>1000,24246=>1000,24247=>1000,24248=>1000,24249=>1000,24250=>1000,24251=>1000,24252=>1000,24253=>1000,24254=>1000,24255=>1000,24256=>1000,24257=>1000,24258=>1000,24259=>1000,24260=>1000,24261=>1000,24262=>1000,24263=>1000,24264=>1000,24265=>1000,24266=>1000,24267=>1000,24268=>1000,24269=>1000,24270=>1000,24271=>1000,24272=>1000,24273=>1000,24274=>1000,24275=>1000,24276=>1000,24277=>1000,24278=>1000,24279=>1000,24280=>1000,24281=>1000,24282=>1000,24283=>1000,24284=>1000,24285=>1000,24286=>1000,24287=>1000,24288=>1000,24289=>1000,24290=>1000,24291=>1000,24292=>1000,24293=>1000,24294=>1000,24295=>1000,24296=>1000,24297=>1000,24298=>1000,24299=>1000,24300=>1000,24301=>1000,24302=>1000,24303=>1000,24304=>1000,24305=>1000,24306=>1000,24307=>1000,24308=>1000,24309=>1000,24310=>1000,24311=>1000,24312=>1000,24313=>1000,24314=>1000,24315=>1000,24316=>1000,24317=>1000,24318=>1000,24319=>1000,24320=>1000,24321=>1000,24322=>1000,24323=>1000,24324=>1000,24325=>1000,24326=>1000,24327=>1000,24328=>1000,24329=>1000,24330=>1000,24331=>1000,24332=>1000,24333=>1000,24334=>1000,24335=>1000,24336=>1000,24337=>1000,24338=>1000,24339=>1000,24340=>1000,24341=>1000,24342=>1000,24343=>1000,24344=>1000,24345=>1000,24346=>1000,24347=>1000,24348=>1000,24349=>1000,24350=>1000,24351=>1000,24352=>1000,24353=>1000,24354=>1000,24355=>1000,24356=>1000,24357=>1000,24358=>1000,24359=>1000,24360=>1000,24361=>1000,24362=>1000,24363=>1000,24364=>1000,24365=>1000,24366=>1000,24367=>1000,24368=>1000,24369=>1000,24370=>1000,24371=>1000,24372=>1000,24373=>1000,24374=>1000,24375=>1000,24376=>1000,24377=>1000,24378=>1000,24379=>1000,24380=>1000,24381=>1000,24382=>1000,24383=>1000,24384=>1000,24385=>1000,24386=>1000,24387=>1000,24388=>1000,24389=>1000,24390=>1000,24391=>1000,24392=>1000,24393=>1000,24394=>1000,24395=>1000,24396=>1000,24397=>1000,24398=>1000,24399=>1000,24400=>1000,24401=>1000,24402=>1000,24403=>1000,24404=>1000,24405=>1000,24406=>1000,24407=>1000,24408=>1000,24409=>1000,24410=>1000,24411=>1000,24412=>1000,24413=>1000,24414=>1000,24415=>1000,24416=>1000,24417=>1000,24418=>1000,24419=>1000,24420=>1000,24421=>1000,24422=>1000,24423=>1000,24424=>1000,24425=>1000,24426=>1000,24427=>1000,24428=>1000,24429=>1000,24430=>1000,24431=>1000,24432=>1000,24433=>1000,24434=>1000,24435=>1000,24436=>1000,24437=>1000,24438=>1000,24439=>1000,24440=>1000,24441=>1000,24442=>1000,24443=>1000,24444=>1000,24445=>1000,24446=>1000,24447=>1000,24448=>1000,24449=>1000,24450=>1000,24451=>1000,24452=>1000,24453=>1000,24454=>1000,24455=>1000,24456=>1000,24457=>1000,24458=>1000,24459=>1000,24460=>1000,24461=>1000,24462=>1000,24463=>1000,24464=>1000,24465=>1000,24466=>1000,24467=>1000,24468=>1000,24469=>1000,24470=>1000,24471=>1000,24472=>1000,24473=>1000,24474=>1000,24475=>1000,24476=>1000,24477=>1000,24478=>1000,24479=>1000,24480=>1000,24481=>1000,24482=>1000,24483=>1000,24484=>1000,24485=>1000,24486=>1000,24487=>1000,24488=>1000,24489=>1000,24490=>1000,24491=>1000,24492=>1000,24493=>1000,24494=>1000,24495=>1000,24496=>1000,24497=>1000,24498=>1000,24499=>1000,24500=>1000,24501=>1000,24502=>1000,24503=>1000,24504=>1000,24505=>1000,24506=>1000,24507=>1000,24508=>1000,24509=>1000,24510=>1000,24511=>1000,24512=>1000,24513=>1000,24514=>1000,24515=>1000,24516=>1000,24517=>1000,24518=>1000,24519=>1000,24520=>1000,24521=>1000,24522=>1000,24523=>1000,24524=>1000,24525=>1000,24526=>1000,24527=>1000,24528=>1000,24529=>1000,24530=>1000,24531=>1000,24532=>1000,24533=>1000,24534=>1000,24535=>1000,24536=>1000,24537=>1000,24538=>1000,24539=>1000,24540=>1000,24541=>1000,24542=>1000,24543=>1000,24544=>1000,24545=>1000,24546=>1000,24547=>1000,24548=>1000,24549=>1000,24550=>1000,24551=>1000,24552=>1000,24553=>1000,24554=>1000,24555=>1000,24556=>1000,24557=>1000,24558=>1000,24559=>1000,24560=>1000,24561=>1000,24562=>1000,24563=>1000,24564=>1000,24565=>1000,24566=>1000,24567=>1000,24568=>1000,24569=>1000,24570=>1000,24571=>1000,24572=>1000,24573=>1000,24574=>1000,24575=>1000,24576=>1000,24577=>1000,24578=>1000,24579=>1000,24580=>1000,24581=>1000,24582=>1000,24583=>1000,24584=>1000,24585=>1000,24586=>1000,24587=>1000,24588=>1000,24589=>1000,24590=>1000,24591=>1000,24592=>1000,24593=>1000,24594=>1000,24595=>1000,24596=>1000,24597=>1000,24598=>1000,24599=>1000,24600=>1000,24601=>1000,24602=>1000,24603=>1000,24604=>1000,24605=>1000,24606=>1000,24607=>1000,24608=>1000,24609=>1000,24610=>1000,24611=>1000,24612=>1000,24613=>1000,24614=>1000,24615=>1000,24616=>1000,24617=>1000,24618=>1000,24619=>1000,24620=>1000,24621=>1000,24622=>1000,24623=>1000,24624=>1000,24625=>1000,24626=>1000,24627=>1000,24628=>1000,24629=>1000,24630=>1000,24631=>1000,24632=>1000,24633=>1000,24634=>1000,24635=>1000,24636=>1000,24637=>1000,24638=>1000,24639=>1000,24640=>1000,24641=>1000,24642=>1000,24643=>1000,24644=>1000,24645=>1000,24646=>1000,24647=>1000,24648=>1000,24649=>1000,24650=>1000,24651=>1000,24652=>1000,24653=>1000,24654=>1000,24655=>1000,24656=>1000,24657=>1000,24658=>1000,24659=>1000,24660=>1000,24661=>1000,24662=>1000,24663=>1000,24664=>1000,24665=>1000,24666=>1000,24667=>1000,24668=>1000,24669=>1000,24670=>1000,24671=>1000,24672=>1000,24673=>1000,24674=>1000,24675=>1000,24676=>1000,24677=>1000,24678=>1000,24679=>1000,24680=>1000,24681=>1000,24682=>1000,24683=>1000,24684=>1000,24685=>1000,24686=>1000,24687=>1000,24688=>1000,24689=>1000,24690=>1000,24691=>1000,24692=>1000,24693=>1000,24694=>1000,24695=>1000,24696=>1000,24697=>1000,24698=>1000,24699=>1000,24700=>1000,24701=>1000,24702=>1000,24703=>1000,24704=>1000,24705=>1000,24706=>1000,24707=>1000,24708=>1000,24709=>1000,24710=>1000,24711=>1000,24712=>1000,24713=>1000,24714=>1000,24715=>1000,24716=>1000,24717=>1000,24718=>1000,24719=>1000,24720=>1000,24721=>1000,24722=>1000,24723=>1000,24724=>1000,24725=>1000,24726=>1000,24727=>1000,24728=>1000,24729=>1000,24730=>1000,24731=>1000,24732=>1000,24733=>1000,24734=>1000,24735=>1000,24736=>1000,24737=>1000,24738=>1000,24739=>1000,24740=>1000,24741=>1000,24742=>1000,24743=>1000,24744=>1000,24745=>1000,24746=>1000,24747=>1000,24748=>1000,24749=>1000,24750=>1000,24751=>1000,24752=>1000,24753=>1000,24754=>1000,24755=>1000,24756=>1000,24757=>1000,24758=>1000,24759=>1000,24760=>1000,24761=>1000,24762=>1000,24763=>1000,24764=>1000,24765=>1000,24766=>1000,24767=>1000,24768=>1000,24769=>1000,24770=>1000,24771=>1000,24772=>1000,24773=>1000,24774=>1000,24775=>1000,24776=>1000,24777=>1000,24778=>1000,24779=>1000,24780=>1000,24781=>1000,24782=>1000,24783=>1000,24784=>1000,24785=>1000,24786=>1000,24787=>1000,24788=>1000,24789=>1000,24790=>1000,24791=>1000,24792=>1000,24793=>1000,24794=>1000,24795=>1000,24796=>1000,24797=>1000,24798=>1000,24799=>1000,24800=>1000,24801=>1000,24802=>1000,24803=>1000,24804=>1000,24805=>1000,24806=>1000,24807=>1000,24808=>1000,24809=>1000,24810=>1000,24811=>1000,24812=>1000,24813=>1000,24814=>1000,24815=>1000,24816=>1000,24817=>1000,24818=>1000,24819=>1000,24820=>1000,24821=>1000,24822=>1000,24823=>1000,24824=>1000,24825=>1000,24826=>1000,24827=>1000,24828=>1000,24829=>1000,24830=>1000,24831=>1000,24832=>1000,24833=>1000,24834=>1000,24835=>1000,24836=>1000,24837=>1000,24838=>1000,24839=>1000,24840=>1000,24841=>1000,24842=>1000,24843=>1000,24844=>1000,24845=>1000,24846=>1000,24847=>1000,24848=>1000,24849=>1000,24850=>1000,24851=>1000,24852=>1000,24853=>1000,24854=>1000,24855=>1000,24856=>1000,24857=>1000,24858=>1000,24859=>1000,24860=>1000,24861=>1000,24862=>1000,24863=>1000,24864=>1000,24865=>1000,24866=>1000,24867=>1000,24868=>1000,24869=>1000,24870=>1000,24871=>1000,24872=>1000,24873=>1000,24874=>1000,24875=>1000,24876=>1000,24877=>1000,24878=>1000,24879=>1000,24880=>1000,24881=>1000,24882=>1000,24883=>1000,24884=>1000,24885=>1000,24886=>1000,24887=>1000,24888=>1000,24889=>1000,24890=>1000,24891=>1000,24892=>1000,24893=>1000,24894=>1000,24895=>1000,24896=>1000,24897=>1000,24898=>1000,24899=>1000,24900=>1000,24901=>1000,24902=>1000,24903=>1000,24904=>1000,24905=>1000,24906=>1000,24907=>1000,24908=>1000,24909=>1000,24910=>1000,24911=>1000,24912=>1000,24913=>1000,24914=>1000,24915=>1000,24916=>1000,24917=>1000,24918=>1000,24919=>1000,24920=>1000,24921=>1000,24922=>1000,24923=>1000,24924=>1000,24925=>1000,24926=>1000,24927=>1000,24928=>1000,24929=>1000,24930=>1000,24931=>1000,24932=>1000,24933=>1000,24934=>1000,24935=>1000,24936=>1000,24937=>1000,24938=>1000,24939=>1000,24940=>1000,24941=>1000,24942=>1000,24943=>1000,24944=>1000,24945=>1000,24946=>1000,24947=>1000,24948=>1000,24949=>1000,24950=>1000,24951=>1000,24952=>1000,24953=>1000,24954=>1000,24955=>1000,24956=>1000,24957=>1000,24958=>1000,24959=>1000,24960=>1000,24961=>1001,24962=>1000,24963=>1000,24964=>1000,24965=>1000,24966=>1000,24967=>1000,24968=>1000,24969=>1000,24970=>1000,24971=>1000,24972=>1000,24973=>1000,24974=>1000,24975=>1000,24976=>1000,24977=>1000,24978=>1000,24979=>1000,24980=>1000,24981=>1000,24982=>1000,24983=>1000,24984=>1000,24985=>1000,24986=>1000,24987=>1000,24988=>1000,24989=>1000,24990=>1000,24991=>1000,24992=>1000,24993=>1000,24994=>1000,24995=>1000,24996=>1000,24997=>1000,24998=>1000,24999=>1000,25000=>1000,25001=>1000,25002=>1000,25003=>1000,25004=>1000,25005=>1000,25006=>1000,25007=>1000,25008=>1000,25009=>1000,25010=>1000,25011=>1000,25012=>1000,25013=>1000,25014=>1000,25015=>1000,25016=>1000,25017=>1000,25018=>1000,25019=>1000,25020=>1000,25021=>1000,25022=>1000,25023=>1000,25024=>1000,25025=>1000,25026=>1000,25027=>1000,25028=>1000,25029=>1000,25030=>1000,25031=>1000,25032=>1000,25033=>1000,25034=>1000,25035=>1000,25036=>1000,25037=>1000,25038=>1000,25039=>1000,25040=>1000,25041=>1000,25042=>1000,25043=>1000,25044=>1000,25045=>1000,25046=>1000,25047=>1000,25048=>1000,25049=>1000,25050=>1000,25051=>1000,25052=>1000,25053=>1000,25054=>1000,25055=>1000,25056=>1000,25057=>1000,25058=>1000,25059=>1000,25060=>1000,25061=>1000,25062=>1000,25063=>1000,25064=>1000,25065=>1000,25066=>1000,25067=>1000,25068=>1000,25069=>1000,25070=>1000,25071=>1000,25072=>1000,25073=>1000,25074=>1000,25075=>1000,25076=>1000,25077=>1000,25078=>1000,25079=>1000,25080=>1000,25081=>1000,25082=>1000,25083=>1000,25084=>1000,25085=>1000,25086=>1000,25087=>1000,25088=>1000,25089=>1000,25090=>1000,25091=>1000,25092=>1000,25093=>1000,25094=>1000,25095=>1000,25096=>1000,25097=>1000,25098=>1000,25099=>1000,25100=>1000,25101=>1000,25102=>1000,25103=>1000,25104=>1000,25105=>1000,25106=>1000,25107=>1000,25108=>1000,25109=>1000,25110=>1000,25111=>1000,25112=>1000,25113=>1000,25114=>1000,25115=>1000,25116=>1000,25117=>1000,25118=>1000,25119=>1000,25120=>1000,25121=>1000,25122=>1000,25123=>1000,25124=>1000,25125=>1000,25126=>1000,25127=>1000,25128=>1000,25129=>1000,25130=>1000,25131=>1000,25132=>1000,25133=>1000,25134=>1000,25135=>1000,25136=>1000,25137=>1000,25138=>1000,25139=>1000,25140=>1000,25141=>1000,25142=>1000,25143=>1000,25144=>1000,25145=>1000,25146=>1000,25147=>1000,25148=>1000,25149=>1000,25150=>1000,25151=>1000,25152=>1000,25153=>1000,25154=>1000,25155=>1000,25156=>1000,25157=>1000,25158=>1000,25159=>1000,25160=>1000,25161=>1000,25162=>1000,25163=>1000,25164=>1000,25165=>1000,25166=>1000,25167=>1000,25168=>1000,25169=>1000,25170=>1000,25171=>1000,25172=>1000,25173=>1000,25174=>1000,25175=>1000,25176=>1000,25177=>1000,25178=>1000,25179=>1000,25180=>1000,25181=>1000,25182=>1000,25183=>1000,25184=>1000,25185=>1000,25186=>1000,25187=>1000,25188=>1000,25189=>1000,25190=>1000,25191=>1000,25192=>1000,25193=>1000,25194=>1000,25195=>1000,25196=>1000,25197=>1000,25198=>1000,25199=>1000,25200=>1000,25201=>1000,25202=>1000,25203=>1000,25204=>1000,25205=>1000,25206=>1000,25207=>1000,25208=>1000,25209=>1000,25210=>1000,25211=>1000,25212=>1000,25213=>1000,25214=>1000,25215=>1000,25216=>1000,25217=>1000,25218=>1000,25219=>1000,25220=>1000,25221=>1000,25222=>1000,25223=>1000,25224=>1000,25225=>1000,25226=>1000,25227=>1000,25228=>1000,25229=>1000,25230=>1000,25231=>1000,25232=>1000,25233=>1000,25234=>1000,25235=>1000,25236=>1000,25237=>1000,25238=>1000,25239=>1000,25240=>1000,25241=>1000,25242=>1000,25243=>1000,25244=>1000,25245=>1000,25246=>1000,25247=>1000,25248=>1000,25249=>1000,25250=>1000,25251=>1000,25252=>1000,25253=>1000,25254=>1000,25255=>1000,25256=>1000,25257=>1000,25258=>1000,25259=>1000,25260=>1000,25261=>1000,25262=>1000,25263=>1000,25264=>1000,25265=>1000,25266=>1000,25267=>1000,25268=>1000,25269=>1000,25270=>1000,25271=>1000,25272=>1000,25273=>1000,25274=>1000,25275=>1000,25276=>1000,25277=>1000,25278=>1000,25279=>1000,25280=>1000,25281=>1000,25282=>1000,25283=>1000,25284=>1000,25285=>1000,25286=>1000,25287=>1000,25288=>1000,25289=>1000,25290=>1000,25291=>1000,25292=>1000,25293=>1000,25294=>1000,25295=>1000,25296=>1000,25297=>1000,25298=>1000,25299=>1000,25300=>1000,25301=>1000,25302=>1000,25303=>1000,25304=>1000,25305=>1000,25306=>1000,25307=>1000,25308=>1000,25309=>1000,25310=>1000,25311=>1000,25312=>1000,25313=>1000,25314=>1000,25315=>1000,25316=>1000,25317=>1000,25318=>1000,25319=>1000,25320=>1000,25321=>1000,25322=>1000,25323=>1000,25324=>1000,25325=>1000,25326=>1000,25327=>1000,25328=>1000,25329=>1000,25330=>1000,25331=>1000,25332=>1000,25333=>1000,25334=>1000,25335=>1000,25336=>1000,25337=>1000,25338=>1000,25339=>1000,25340=>1000,25341=>1000,25342=>1000,25343=>1000,25344=>1000,25345=>1000,25346=>1000,25347=>1000,25348=>1000,25349=>1000,25350=>1000,25351=>1000,25352=>1000,25353=>1000,25354=>1000,25355=>1000,25356=>1000,25357=>1000,25358=>1000,25359=>1000,25360=>1000,25361=>1000,25362=>1000,25363=>1000,25364=>1000,25365=>1000,25366=>1000,25367=>1000,25368=>1000,25369=>1000,25370=>1000,25371=>1000,25372=>1000,25373=>1000,25374=>1000,25375=>1000,25376=>1000,25377=>1000,25378=>1000,25379=>1000,25380=>1000,25381=>1000,25382=>1000,25383=>1000,25384=>1000,25385=>1000,25386=>1000,25387=>1000,25388=>1000,25389=>1000,25390=>1000,25391=>1000,25392=>1000,25393=>1000,25394=>1000,25395=>1000,25396=>1000,25397=>1000,25398=>1000,25399=>1000,25400=>1000,25401=>1000,25402=>1000,25403=>1000,25404=>1000,25405=>1000,25406=>1000,25407=>1000,25408=>1000,25409=>1000,25410=>1000,25411=>1000,25412=>1000,25413=>1000,25414=>1000,25415=>1000,25416=>1000,25417=>1000,25418=>1000,25419=>1000,25420=>1000,25421=>1000,25422=>1000,25423=>1000,25424=>1000,25425=>1000,25426=>1000,25427=>1000,25428=>1000,25429=>1000,25430=>1000,25431=>1000,25432=>1000,25433=>1000,25434=>1000,25435=>1000,25436=>1000,25437=>1000,25438=>1000,25439=>1000,25440=>1000,25441=>1000,25442=>1000,25443=>1000,25444=>1000,25445=>1000,25446=>1000,25447=>1000,25448=>1000,25449=>1000,25450=>1000,25451=>1000,25452=>1000,25453=>1000,25454=>1000,25455=>1000,25456=>1000,25457=>1000,25458=>1000,25459=>1000,25460=>1000,25461=>1000,25462=>1000,25463=>1000,25464=>1000,25465=>1000,25466=>1000,25467=>1000,25468=>1000,25469=>1000,25470=>1000,25471=>1000,25472=>1000,25473=>1000,25474=>1000,25475=>1000,25476=>1000,25477=>1000,25478=>1000,25479=>1000,25480=>1000,25481=>1000,25482=>1000,25483=>1000,25484=>1000,25485=>1000,25486=>1000,25487=>1000,25488=>1000,25489=>1000,25490=>1000,25491=>1000,25492=>1000,25493=>1000,25494=>1000,25495=>1000,25496=>1000,25497=>1000,25498=>1000,25499=>1000,25500=>1000,25501=>1000,25502=>1000,25503=>1000,25504=>1000,25505=>1000,25506=>1000,25507=>1000,25508=>1000,25509=>1000,25510=>1000,25511=>1000,25512=>1000,25513=>1000,25514=>1000,25515=>1000,25516=>1000,25517=>1000,25518=>1000,25519=>1000,25520=>1000,25521=>1000,25522=>1000,25523=>1000,25524=>1000,25525=>1000,25526=>1000,25527=>1000,25528=>1000,25529=>1000,25530=>1000,25531=>1000,25532=>1000,25533=>1000,25534=>1000,25535=>1000,25536=>1000,25537=>1000,25538=>1000,25539=>1000,25540=>1000,25541=>1000,25542=>1000,25543=>1000,25544=>1000,25545=>1000,25546=>1000,25547=>1000,25548=>1000,25549=>1000,25550=>1000,25551=>1000,25552=>1000,25553=>1000,25554=>1000,25555=>1000,25556=>1000,25557=>1000,25558=>1000,25559=>1000,25560=>1000,25561=>1000,25562=>1000,25563=>1000,25564=>1000,25565=>1000,25566=>1000,25567=>1000,25568=>1000,25569=>1000,25570=>1000,25571=>1000,25572=>1000,25573=>1000,25574=>1000,25575=>1000,25576=>1000,25577=>1000,25578=>1000,25579=>1000,25580=>1000,25581=>1000,25582=>1000,25583=>1000,25584=>1000,25585=>1000,25586=>1000,25587=>1000,25588=>1000,25589=>1000,25590=>1000,25591=>1000,25592=>1000,25593=>1000,25594=>1000,25595=>1000,25596=>1000,25597=>1000,25598=>1000,25599=>1000,25600=>1000,25601=>1000,25602=>1000,25603=>1000,25604=>1000,25605=>1000,25606=>1000,25607=>1000,25608=>1000,25609=>1000,25610=>1000,25611=>1000,25612=>1000,25613=>1000,25614=>1000,25615=>1000,25616=>1000,25617=>1000,25618=>1000,25619=>1000,25620=>1000,25621=>1000,25622=>1000,25623=>1000,25624=>1000,25625=>1000,25626=>1000,25627=>1000,25628=>1000,25629=>1000,25630=>1000,25631=>1000,25632=>1000,25633=>1000,25634=>1000,25635=>1000,25636=>1000,25637=>1000,25638=>1000,25639=>1000,25640=>1000,25641=>1000,25642=>1000,25643=>1000,25644=>1000,25645=>1000,25646=>1000,25647=>1000,25648=>1000,25649=>1000,25650=>1000,25651=>1000,25652=>1000,25653=>1000,25654=>1000,25655=>1000,25656=>1000,25657=>1000,25658=>1000,25659=>1000,25660=>1000,25661=>1000,25662=>1000,25663=>1000,25664=>1000,25665=>1000,25666=>1000,25667=>1000,25668=>1000,25669=>1000,25670=>1000,25671=>1000,25672=>1000,25673=>1000,25674=>1000,25675=>1000,25676=>1000,25677=>1000,25678=>1000,25679=>1000,25680=>1000,25681=>1000,25682=>1000,25683=>1000,25684=>1000,25685=>1000,25686=>1000,25687=>1000,25688=>1000,25689=>1000,25690=>1000,25691=>1000,25692=>1000,25693=>1000,25694=>1000,25695=>1000,25696=>1000,25697=>1000,25698=>1000,25699=>1000,25700=>1000,25701=>1000,25702=>1000,25703=>1000,25704=>1000,25705=>1000,25706=>1000,25707=>1000,25708=>1000,25709=>1000,25710=>1000,25711=>1000,25712=>1000,25713=>1000,25714=>1000,25715=>1000,25716=>1000,25717=>1000,25718=>1000,25719=>1000,25720=>1000,25721=>1000,25722=>1000,25723=>1000,25724=>1000,25725=>1000,25726=>1000,25727=>1000,25728=>1000,25729=>1000,25730=>1000,25731=>1000,25732=>1000,25733=>1000,25734=>1000,25735=>1000,25736=>1000,25737=>1000,25738=>1000,25739=>1000,25740=>1000,25741=>1000,25742=>1000,25743=>1000,25744=>1000,25745=>1000,25746=>1000,25747=>1000,25748=>1000,25749=>1000,25750=>1000,25751=>1000,25752=>1000,25753=>1000,25754=>1000,25755=>1000,25756=>1000,25757=>1000,25758=>1000,25759=>1000,25760=>1000,25761=>1000,25762=>1000,25763=>1000,25764=>1000,25765=>1000,25766=>1000,25767=>1000,25768=>1000,25769=>1000,25770=>1000,25771=>1000,25772=>1000,25773=>1000,25774=>1000,25775=>1000,25776=>1000,25777=>1000,25778=>1000,25779=>1000,25780=>1000,25781=>1000,25782=>1000,25783=>1000,25784=>1000,25785=>1000,25786=>1000,25787=>1000,25788=>1000,25789=>1000,25790=>1000,25791=>1000,25792=>1000,25793=>1000,25794=>1000,25795=>1000,25796=>1000,25797=>1000,25798=>1000,25799=>1000,25800=>1000,25801=>1000,25802=>1000,25803=>1000,25804=>1000,25805=>1000,25806=>1000,25807=>1000,25808=>1000,25809=>1000,25810=>1000,25811=>1000,25812=>1000,25813=>1000,25814=>1000,25815=>1000,25816=>1000,25817=>1000,25818=>1000,25819=>1000,25820=>1000,25821=>1000,25822=>1000,25823=>1000,25824=>1000,25825=>1000,25826=>1000,25827=>1000,25828=>1000,25829=>1000,25830=>1000,25831=>1000,25832=>1000,25833=>1000,25834=>1000,25835=>1000,25836=>1000,25837=>1000,25838=>1000,25839=>1000,25840=>1000,25841=>1000,25842=>1000,25843=>1000,25844=>1000,25845=>1000,25846=>1000,25847=>1000,25848=>1000,25849=>1000,25850=>1000,25851=>1000,25852=>1000,25853=>1000,25854=>1000,25855=>1000,25856=>1000,25857=>1000,25858=>1000,25859=>1000,25860=>1000,25861=>1000,25862=>1000,25863=>1000,25864=>1000,25865=>1000,25866=>1000,25867=>1000,25868=>1000,25869=>1000,25870=>1000,25871=>1000,25872=>1000,25873=>1000,25874=>1000,25875=>1000,25876=>1000,25877=>1000,25878=>1000,25879=>1000,25880=>1000,25881=>1000,25882=>1000,25883=>1000,25884=>1000,25885=>1000,25886=>1000,25887=>1000,25888=>1000,25889=>1000,25890=>1000,25891=>1000,25892=>1000,25893=>1000,25894=>1000,25895=>1000,25896=>1000,25897=>1000,25898=>1000,25899=>1000,25900=>1000,25901=>1000,25902=>1000,25903=>1000,25904=>1000,25905=>1000,25906=>1000,25907=>1000,25908=>1000,25909=>1000,25910=>1000,25911=>1000,25912=>1000,25913=>1000,25914=>1000,25915=>1000,25916=>1000,25917=>1000,25918=>1000,25919=>1000,25920=>1000,25921=>1000,25922=>1000,25923=>1000,25924=>1000,25925=>1000,25926=>1000,25927=>1000,25928=>1000,25929=>1000,25930=>1000,25931=>1000,25932=>1000,25933=>1000,25934=>1000,25935=>1000,25936=>1000,25937=>1000,25938=>1000,25939=>1000,25940=>1000,25941=>1000,25942=>1000,25943=>1000,25944=>1000,25945=>1000,25946=>1000,25947=>1000,25948=>1000,25949=>1000,25950=>1000,25951=>1000,25952=>1000,25953=>1000,25954=>1000,25955=>1000,25956=>1000,25957=>1000,25958=>1000,25959=>1000,25960=>1000,25961=>1000,25962=>1000,25963=>1000,25964=>1000,25965=>1000,25966=>1000,25967=>1000,25968=>1000,25969=>1000,25970=>1000,25971=>1000,25972=>1000,25973=>1000,25974=>1000,25975=>1000,25976=>1000,25977=>1000,25978=>1000,25979=>1000,25980=>1000,25981=>1000,25982=>1000,25983=>1000,25984=>1000,25985=>1000,25986=>1000,25987=>1000,25988=>1000,25989=>1000,25990=>1000,25991=>1000,25992=>1000,25993=>1000,25994=>1000,25995=>1000,25996=>1000,25997=>1000,25998=>1000,25999=>1000,26000=>1000,26001=>1000,26002=>1000,26003=>1000,26004=>1000,26005=>1000,26006=>1000,26007=>1000,26008=>1000,26009=>1000,26010=>1000,26011=>1000,26012=>1000,26013=>1000,26014=>1000,26015=>1000,26016=>1000,26017=>1000,26018=>1000,26019=>1000,26020=>1000,26021=>1000,26022=>1000,26023=>1000,26024=>1000,26025=>1000,26026=>1000,26027=>1000,26028=>1000,26029=>1000,26030=>1000,26031=>1000,26032=>1000,26033=>1000,26034=>1000,26035=>1000,26036=>1000,26037=>1000,26038=>1000,26039=>1000,26040=>1000,26041=>1000,26042=>1000,26043=>1000,26044=>1000,26045=>1000,26046=>1000,26047=>1000,26048=>1000,26049=>1000,26050=>1000,26051=>1000,26052=>1000,26053=>1000,26054=>1000,26055=>1000,26056=>1000,26057=>1000,26058=>1000,26059=>1000,26060=>1000,26061=>1000,26062=>1000,26063=>1000,26064=>1000,26065=>1000,26066=>1000,26067=>1000,26068=>1000,26069=>1000,26070=>1000,26071=>1000,26072=>1000,26073=>1000,26074=>1000,26075=>1000,26076=>1000,26077=>1000,26078=>1000,26079=>1000,26080=>1000,26081=>1000,26082=>1000,26083=>1000,26084=>1000,26085=>1000,26086=>1000,26087=>1000,26088=>1000,26089=>1000,26090=>1000,26091=>1000,26092=>1000,26093=>1000,26094=>1000,26095=>1000,26096=>1000,26097=>1000,26098=>1000,26099=>1000,26100=>1000,26101=>1000,26102=>1000,26103=>1000,26104=>1000,26105=>1000,26106=>1000,26107=>1000,26108=>1000,26109=>1000,26110=>1000,26111=>1000,26112=>1000,26113=>1000,26114=>1000,26115=>1000,26116=>1000,26117=>1000,26118=>1000,26119=>1000,26120=>1000,26121=>1000,26122=>1000,26123=>1000,26124=>1000,26125=>1000,26126=>1000,26127=>1000,26128=>1000,26129=>1000,26130=>1000,26131=>1000,26132=>1000,26133=>1000,26134=>1000,26135=>1000,26136=>1000,26137=>1000,26138=>1000,26139=>1000,26140=>1000,26141=>1000,26142=>1000,26143=>1000,26144=>1000,26145=>1000,26146=>1000,26147=>1000,26148=>1000,26149=>1000,26150=>1000,26151=>1000,26152=>1000,26153=>1000,26154=>1000,26155=>1000,26156=>1000,26157=>1000,26158=>1000,26159=>1000,26160=>1000,26161=>1000,26162=>1000,26163=>1000,26164=>1000,26165=>1000,26166=>1000,26167=>1000,26168=>1000,26169=>1000,26170=>1000,26171=>1000,26172=>1000,26173=>1000,26174=>1000,26175=>1000,26176=>1000,26177=>1000,26178=>1000,26179=>1000,26180=>1000,26181=>1000,26182=>1000,26183=>1000,26184=>1000,26185=>1000,26186=>1000,26187=>1000,26188=>1000,26189=>1000,26190=>1000,26191=>1000,26192=>1000,26193=>1000,26194=>1000,26195=>1000,26196=>1000,26197=>1000,26198=>1000,26199=>1000,26200=>1000,26201=>1000,26202=>1000,26203=>1000,26204=>1000,26205=>1000,26206=>1000,26207=>1000,26208=>1000,26209=>1000,26210=>1000,26211=>1000,26212=>1000,26213=>1000,26214=>1000,26215=>1000,26216=>1000,26217=>1000,26218=>1000,26219=>1000,26220=>1000,26221=>1000,26222=>1000,26223=>1000,26224=>1000,26225=>1000,26226=>1000,26227=>1000,26228=>1000,26229=>1000,26230=>1000,26231=>1000,26232=>1000,26233=>1000,26234=>1000,26235=>1000,26236=>1000,26237=>1000,26238=>1000,26239=>1000,26240=>1000,26241=>1000,26242=>1000,26243=>1000,26244=>1000,26245=>1000,26246=>1000,26247=>1000,26248=>1000,26249=>1000,26250=>1000,26251=>1000,26252=>1000,26253=>1000,26254=>1000,26255=>1000,26256=>1000,26257=>1000,26258=>1000,26259=>1000,26260=>1000,26261=>1000,26262=>1000,26263=>1000,26264=>1000,26265=>1000,26266=>1000,26267=>1000,26268=>1000,26269=>1000,26270=>1000,26271=>1000,26272=>1000,26273=>1000,26274=>1000,26275=>1000,26276=>1000,26277=>1000,26278=>1000,26279=>1000,26280=>1000,26281=>1000,26282=>1000,26283=>1000,26284=>1000,26285=>1000,26286=>1000,26287=>1000,26288=>1000,26289=>1000,26290=>1000,26291=>1000,26292=>1000,26293=>1000,26294=>1000,26295=>1000,26296=>1000,26297=>1000,26298=>1000,26299=>1000,26300=>1000,26301=>1000,26302=>1000,26303=>1000,26304=>1000,26305=>1000,26306=>1000,26307=>1000,26308=>1000,26309=>1000,26310=>1000,26311=>1000,26312=>1000,26313=>1000,26314=>1000,26315=>1000,26316=>1000,26317=>1000,26318=>1000,26319=>1000,26320=>1000,26321=>1000,26322=>1000,26323=>1000,26324=>1000,26325=>1000,26326=>1000,26327=>1000,26328=>1000,26329=>1000,26330=>1000,26331=>1000,26332=>1000,26333=>1000,26334=>1000,26335=>1000,26336=>1000,26337=>1000,26338=>1000,26339=>1000,26340=>1000,26341=>1000,26342=>1000,26343=>1000,26344=>1000,26345=>1000,26346=>1000,26347=>1000,26348=>1000,26349=>1000,26350=>1000,26351=>1000,26352=>1000,26353=>1000,26354=>1000,26355=>1000,26356=>1000,26357=>1000,26358=>1000,26359=>1000,26360=>1000,26361=>1000,26362=>1000,26363=>1000,26364=>1000,26365=>1000,26366=>1000,26367=>1000,26368=>1000,26369=>1000,26370=>1000,26371=>1000,26372=>1000,26373=>1000,26374=>1000,26375=>1000,26376=>1000,26377=>1000,26378=>1000,26379=>1000,26380=>1000,26381=>1000,26382=>1000,26383=>1000,26384=>1000,26385=>1000,26386=>1000,26387=>1000,26388=>1000,26389=>1000,26390=>1000,26391=>1000,26392=>1000,26393=>1000,26394=>1000,26395=>1000,26396=>1000,26397=>1000,26398=>1000,26399=>1000,26400=>1000,26401=>1000,26402=>1000,26403=>1000,26404=>1000,26405=>1000,26406=>1000,26407=>1000,26408=>1000,26409=>1000,26410=>1000,26411=>1000,26412=>1000,26413=>1000,26414=>1000,26415=>1000,26416=>1000,26417=>1000,26418=>1000,26419=>1000,26420=>1000,26421=>1000,26422=>1000,26423=>1000,26424=>1000,26425=>1000,26426=>1000,26427=>1000,26428=>1000,26429=>1000,26430=>1000,26431=>1000,26432=>1000,26433=>1000,26434=>1000,26435=>1000,26436=>1000,26437=>1000,26438=>1000,26439=>1000,26440=>1000,26441=>1000,26442=>1000,26443=>1000,26444=>1000,26445=>1000,26446=>1000,26447=>1000,26448=>1000,26449=>1000,26450=>1000,26451=>1000,26452=>1000,26453=>1000,26454=>1000,26455=>1000,26456=>1000,26457=>1000,26458=>1000,26459=>1000,26460=>1000,26461=>1000,26462=>1000,26463=>1000,26464=>1000,26465=>1000,26466=>1000,26467=>1000,26468=>1000,26469=>1000,26470=>1000,26471=>1000,26472=>1000,26473=>1000,26474=>1000,26475=>1000,26476=>1000,26477=>1000,26478=>1000,26479=>1000,26480=>1000,26481=>1000,26482=>1000,26483=>1000,26484=>1000,26485=>1000,26486=>1000,26487=>1000,26488=>1000,26489=>1000,26490=>1000,26491=>1000,26492=>1000,26493=>1000,26494=>1000,26495=>1000,26496=>1000,26497=>1000,26498=>1000,26499=>1000,26500=>1000,26501=>1000,26502=>1000,26503=>1000,26504=>1000,26505=>1000,26506=>1000,26507=>1000,26508=>1000,26509=>1000,26510=>1000,26511=>1000,26512=>1000,26513=>1000,26514=>1000,26515=>1000,26516=>1000,26517=>1000,26518=>1000,26519=>1000,26520=>1000,26521=>1000,26522=>1000,26523=>1000,26524=>1000,26525=>1000,26526=>1000,26527=>1000,26528=>1000,26529=>1000,26530=>1000,26531=>1000,26532=>1000,26533=>1000,26534=>1000,26535=>1000,26536=>1000,26537=>1000,26538=>1000,26539=>1000,26540=>1000,26541=>1000,26542=>1000,26543=>1000,26544=>1000,26545=>1000,26546=>1000,26547=>1000,26548=>1000,26549=>1000,26550=>1000,26551=>1000,26552=>1000,26553=>1000,26554=>1000,26555=>1000,26556=>1000,26557=>1000,26558=>1000,26559=>1000,26560=>1000,26561=>1000,26562=>1000,26563=>1000,26564=>1000,26565=>1000,26566=>1000,26567=>1000,26568=>1000,26569=>1000,26570=>1000,26571=>1000,26572=>1000,26573=>1000,26574=>1000,26575=>1000,26576=>1000,26577=>1000,26578=>1000,26579=>1000,26580=>1000,26581=>1000,26582=>1000,26583=>1000,26584=>1000,26585=>1000,26586=>1000,26587=>1000,26588=>1000,26589=>1000,26590=>1000,26591=>1000,26592=>1000,26593=>1000,26594=>1000,26595=>1000,26596=>1000,26597=>1000,26598=>1000,26599=>1000,26600=>1000,26601=>1000,26602=>1000,26603=>1000,26604=>1000,26605=>1000,26606=>1000,26607=>1000,26608=>1000,26609=>1000,26610=>1000,26611=>1000,26612=>1000,26613=>1000,26614=>1000,26615=>1000,26616=>1000,26617=>1000,26618=>1000,26619=>1000,26620=>1000,26621=>1000,26622=>1000,26623=>1000,26624=>1000,26625=>1000,26626=>1000,26627=>1000,26628=>1000,26629=>1000,26630=>1000,26631=>1000,26632=>1000,26633=>1000,26634=>1000,26635=>1000,26636=>1000,26637=>1000,26638=>1000,26639=>1000,26640=>1000,26641=>1000,26642=>1000,26643=>1000,26644=>1000,26645=>1000,26646=>1000,26647=>1000,26648=>1000,26649=>1000,26650=>1000,26651=>1000,26652=>1000,26653=>1000,26654=>1000,26655=>1000,26656=>1000,26657=>1000,26658=>1000,26659=>1000,26660=>1000,26661=>1000,26662=>1000,26663=>1000,26664=>1000,26665=>1000,26666=>1000,26667=>1000,26668=>1000,26669=>1000,26670=>1000,26671=>1000,26672=>1000,26673=>1000,26674=>1000,26675=>1000,26676=>1000,26677=>1000,26678=>1000,26679=>1000,26680=>1000,26681=>1000,26682=>1000,26683=>1000,26684=>1000,26685=>1000,26686=>1000,26687=>1000,26688=>1000,26689=>1000,26690=>1000,26691=>1000,26692=>1000,26693=>1000,26694=>1000,26695=>1000,26696=>1000,26697=>1000,26698=>1000,26699=>1000,26700=>1000,26701=>1000,26702=>1000,26703=>1000,26704=>1000,26705=>1000,26706=>1000,26707=>1000,26708=>1000,26709=>1000,26710=>1000,26711=>1000,26712=>1000,26713=>1000,26714=>1000,26715=>1000,26716=>1000,26717=>1000,26718=>1000,26719=>1000,26720=>1000,26721=>1000,26722=>1000,26723=>1000,26724=>1000,26725=>1000,26726=>1000,26727=>1000,26728=>1000,26729=>1000,26730=>1000,26731=>1000,26732=>1000,26733=>1000,26734=>1000,26735=>1000,26736=>1000,26737=>1000,26738=>1000,26739=>1000,26740=>1000,26741=>1000,26742=>1000,26743=>1000,26744=>1000,26745=>1000,26746=>1000,26747=>1000,26748=>1000,26749=>1000,26750=>1000,26751=>1000,26752=>1000,26753=>1000,26754=>1000,26755=>1000,26756=>1000,26757=>1000,26758=>1000,26759=>1000,26760=>1000,26761=>1000,26762=>1000,26763=>1000,26764=>1000,26765=>1000,26766=>1000,26767=>1000,26768=>1000,26769=>1000,26770=>1000,26771=>1000,26772=>1000,26773=>1000,26774=>1000,26775=>1000,26776=>1000,26777=>1000,26778=>1000,26779=>1000,26780=>1000,26781=>1000,26782=>1000,26783=>1000,26784=>1000,26785=>1000,26786=>1000,26787=>1000,26788=>1000,26789=>1000,26790=>1000,26791=>1000,26792=>1000,26793=>1000,26794=>1000,26795=>1000,26796=>1000,26797=>1000,26798=>1000,26799=>1000,26800=>1000,26801=>1000,26802=>1000,26803=>1000,26804=>1000,26805=>1000,26806=>1000,26807=>1000,26808=>1000,26809=>1000,26810=>1000,26811=>1000,26812=>1000,26813=>1000,26814=>1000,26815=>1000,26816=>1000,26817=>1000,26818=>1000,26819=>1000,26820=>1000,26821=>1000,26822=>1000,26823=>1000,26824=>1000,26825=>1000,26826=>1000,26827=>1000,26828=>1000,26829=>1000,26830=>1000,26831=>1000,26832=>1000,26833=>1000,26834=>1000,26835=>1000,26836=>1000,26837=>1000,26838=>1000,26839=>1000,26840=>1000,26841=>1000,26842=>1000,26843=>1000,26844=>1000,26845=>1000,26846=>1000,26847=>1000,26848=>1000,26849=>1000,26850=>1000,26851=>1000,26852=>1000,26853=>1000,26854=>1000,26855=>1000,26856=>1000,26857=>1000,26858=>1000,26859=>1000,26860=>1000,26861=>1000,26862=>1000,26863=>1000,26864=>1000,26865=>1000,26866=>1000,26867=>1000,26868=>1000,26869=>1000,26870=>1000,26871=>1000,26872=>1000,26873=>1000,26874=>1000,26875=>1000,26876=>1000,26877=>1000,26878=>1000,26879=>1000,26880=>1000,26881=>1000,26882=>1000,26883=>1000,26884=>1000,26885=>1000,26886=>1000,26887=>1000,26888=>1000,26889=>1000,26890=>1000,26891=>1000,26892=>1000,26893=>1000,26894=>1000,26895=>1000,26896=>1000,26897=>1000,26898=>1000,26899=>1000,26900=>1000,26901=>1000,26902=>1000,26903=>1000,26904=>1000,26905=>1000,26906=>1000,26907=>1000,26908=>1000,26909=>1000,26910=>1000,26911=>1000,26912=>1000,26913=>1000,26914=>1000,26915=>1000,26916=>1000,26917=>1000,26918=>1000,26919=>1000,26920=>1000,26921=>1000,26922=>1000,26923=>1000,26924=>1000,26925=>1000,26926=>1000,26927=>1000,26928=>1000,26929=>1000,26930=>1000,26931=>1000,26932=>1000,26933=>1000,26934=>1000,26935=>1000,26936=>1000,26937=>1000,26938=>1000,26939=>1000,26940=>1000,26941=>1000,26942=>1000,26943=>1000,26944=>1000,26945=>1000,26946=>1000,26947=>1000,26948=>1000,26949=>1000,26950=>1000,26951=>1000,26952=>1000,26953=>1000,26954=>1000,26955=>1000,26956=>1000,26957=>1000,26958=>1000,26959=>1000,26960=>1000,26961=>1000,26962=>1000,26963=>1000,26964=>1000,26965=>1000,26966=>1000,26967=>1000,26968=>1000,26969=>1000,26970=>1000,26971=>1000,26972=>1000,26973=>1000,26974=>1000,26975=>1000,26976=>1000,26977=>1000,26978=>1000,26979=>1000,26980=>1000,26981=>1000,26982=>1000,26983=>1000,26984=>1000,26985=>1000,26986=>1000,26987=>1000,26988=>1000,26989=>1000,26990=>1000,26991=>1000,26992=>1000,26993=>1000,26994=>1000,26995=>1000,26996=>1000,26997=>1000,26998=>1000,26999=>1000,27000=>1000,27001=>1000,27002=>1000,27003=>1000,27004=>1000,27005=>1000,27006=>1000,27007=>1000,27008=>1000,27009=>1000,27010=>1000,27011=>1000,27012=>1000,27013=>1000,27014=>1000,27015=>1000,27016=>1000,27017=>1000,27018=>1000,27019=>1000,27020=>1000,27021=>1000,27022=>1000,27023=>1000,27024=>1000,27025=>1000,27026=>1000,27027=>1000,27028=>1000,27029=>1000,27030=>1000,27031=>1000,27032=>1000,27033=>1000,27034=>1000,27035=>1000,27036=>1000,27037=>1000,27038=>1000,27039=>1000,27040=>1000,27041=>1000,27042=>1000,27043=>1000,27044=>1000,27045=>1000,27046=>1000,27047=>1000,27048=>1000,27049=>1000,27050=>1000,27051=>1000,27052=>1000,27053=>1000,27054=>1000,27055=>1000,27056=>1000,27057=>1000,27058=>1000,27059=>1000,27060=>1000,27061=>1000,27062=>1000,27063=>1000,27064=>1000,27065=>1000,27066=>1000,27067=>1000,27068=>1000,27069=>1000,27070=>1000,27071=>1000,27072=>1000,27073=>1000,27074=>1000,27075=>1000,27076=>1000,27077=>1000,27078=>1000,27079=>1000,27080=>1000,27081=>1000,27082=>1000,27083=>1000,27084=>1000,27085=>1000,27086=>1000,27087=>1000,27088=>1000,27089=>1000,27090=>1000,27091=>1000,27092=>1000,27093=>1000,27094=>1000,27095=>1000,27096=>1000,27097=>1000,27098=>1000,27099=>1000,27100=>1000,27101=>1000,27102=>1000,27103=>1000,27104=>1000,27105=>1000,27106=>1000,27107=>1000,27108=>1000,27109=>1000,27110=>1000,27111=>1000,27112=>1000,27113=>1000,27114=>1000,27115=>1000,27116=>1000,27117=>1000,27118=>1000,27119=>1000,27120=>1000,27121=>1000,27122=>1000,27123=>1000,27124=>1000,27125=>1000,27126=>1000,27127=>1000,27128=>1000,27129=>1000,27130=>1000,27131=>1000,27132=>1000,27133=>1000,27134=>1000,27135=>1000,27136=>1000,27137=>1000,27138=>1000,27139=>1000,27140=>1000,27141=>1000,27142=>1000,27143=>1000,27144=>1000,27145=>1000,27146=>1000,27147=>1000,27148=>1000,27149=>1000,27150=>1000,27151=>1000,27152=>1000,27153=>1000,27154=>1000,27155=>1000,27156=>1000,27157=>1000,27158=>1000,27159=>1000,27160=>1000,27161=>1000,27162=>1000,27163=>1000,27164=>1000,27165=>1000,27166=>1000,27167=>1000,27168=>1000,27169=>1000,27170=>1000,27171=>1000,27172=>1000,27173=>1000,27174=>1000,27175=>1000,27176=>1000,27177=>1000,27178=>1000,27179=>1000,27180=>1000,27181=>1000,27182=>1000,27183=>1000,27184=>1000,27185=>1000,27186=>1000,27187=>1000,27188=>1000,27189=>1000,27190=>1000,27191=>1000,27192=>1000,27193=>1000,27194=>1000,27195=>1000,27196=>1000,27197=>1000,27198=>1000,27199=>1000,27200=>1000,27201=>1000,27202=>1000,27203=>1000,27204=>1000,27205=>1000,27206=>1000,27207=>1000,27208=>1000,27209=>1000,27210=>1000,27211=>1000,27212=>1000,27213=>1000,27214=>1000,27215=>1000,27216=>1000,27217=>1000,27218=>1000,27219=>1000,27220=>1000,27221=>1000,27222=>1000,27223=>1000,27224=>1000,27225=>1000,27226=>1000,27227=>1000,27228=>1000,27229=>1000,27230=>1000,27231=>1000,27232=>1000,27233=>1000,27234=>1000,27235=>1000,27236=>1000,27237=>1000,27238=>1000,27239=>1000,27240=>1000,27241=>1000,27242=>1000,27243=>1000,27244=>1000,27245=>1000,27246=>1000,27247=>1000,27248=>1000,27249=>1000,27250=>1000,27251=>1000,27252=>1000,27253=>1000,27254=>1000,27255=>1000,27256=>1000,27257=>1000,27258=>1000,27259=>1000,27260=>1000,27261=>1000,27262=>1000,27263=>1000,27264=>1000,27265=>1000,27266=>1000,27267=>1000,27268=>1000,27269=>1000,27270=>1000,27271=>1000,27272=>1000,27273=>1000,27274=>1000,27275=>1000,27276=>1000,27277=>1000,27278=>1000,27279=>1000,27280=>1000,27281=>1000,27282=>1000,27283=>1000,27284=>1000,27285=>1000,27286=>1000,27287=>1000,27288=>1000,27289=>1000,27290=>1000,27291=>1000,27292=>1000,27293=>1000,27294=>1000,27295=>1000,27296=>1000,27297=>1000,27298=>1000,27299=>1000,27300=>1000,27301=>1000,27302=>1000,27303=>1000,27304=>1000,27305=>1000,27306=>1000,27307=>1000,27308=>1000,27309=>1000,27310=>1000,27311=>1000,27312=>1000,27313=>1000,27314=>1000,27315=>1000,27316=>1000,27317=>1000,27318=>1000,27319=>1000,27320=>1000,27321=>1000,27322=>1000,27323=>1000,27324=>1000,27325=>1000,27326=>1000,27327=>1000,27328=>1000,27329=>1000,27330=>1000,27331=>1000,27332=>1000,27333=>1000,27334=>1000,27335=>1000,27336=>1000,27337=>1000,27338=>1000,27339=>1000,27340=>1000,27341=>1000,27342=>1000,27343=>1000,27344=>1000,27345=>1000,27346=>1000,27347=>1000,27348=>1000,27349=>1000,27350=>1000,27351=>1000,27352=>1000,27353=>1000,27354=>1000,27355=>1000,27356=>1000,27357=>1000,27358=>1000,27359=>1000,27360=>1000,27361=>1000,27362=>1000,27363=>1000,27364=>1000,27365=>1000,27366=>1000,27367=>1000,27368=>1000,27369=>1000,27370=>1000,27371=>1000,27372=>1000,27373=>1000,27374=>1000,27375=>1000,27376=>1000,27377=>1000,27378=>1000,27379=>1000,27380=>1000,27381=>1000,27382=>1000,27383=>1000,27384=>1000,27385=>1000,27386=>1000,27387=>1000,27388=>1000,27389=>1000,27390=>1000,27391=>1000,27392=>1000,27393=>1000,27394=>1000,27395=>1000,27396=>1000,27397=>1000,27398=>1000,27399=>1000,27400=>1000,27401=>1000,27402=>1000,27403=>1000,27404=>1000,27405=>1000,27406=>1000,27407=>1000,27408=>1000,27409=>1000,27410=>1000,27411=>1000,27412=>1000,27413=>1000,27414=>1000,27415=>1000,27416=>1000,27417=>1000,27418=>1000,27419=>1000,27420=>1000,27421=>1000,27422=>1000,27423=>1000,27424=>1000,27425=>1000,27426=>1000,27427=>1000,27428=>1000,27429=>1000,27430=>1000,27431=>1000,27432=>1000,27433=>1000,27434=>1000,27435=>1000,27436=>1000,27437=>1000,27438=>1000,27439=>1000,27440=>1000,27441=>1000,27442=>1000,27443=>1000,27444=>1000,27445=>1000,27446=>1000,27447=>1000,27448=>1000,27449=>1000,27450=>1000,27451=>1000,27452=>1000,27453=>1000,27454=>1000,27455=>1000,27456=>1000,27457=>1000,27458=>1000,27459=>1000,27460=>1000,27461=>1000,27462=>1000,27463=>1000,27464=>1000,27465=>1000,27466=>1000,27467=>1000,27468=>1000,27469=>1000,27470=>1000,27471=>1000,27472=>1000,27473=>1000,27474=>1000,27475=>1000,27476=>1000,27477=>1000,27478=>1000,27479=>1000,27480=>1000,27481=>1000,27482=>1000,27483=>1000,27484=>1000,27485=>1000,27486=>1000,27487=>1000,27488=>1000,27489=>1000,27490=>1000,27491=>1000,27492=>1000,27493=>1000,27494=>1000,27495=>1000,27496=>1000,27497=>1000,27498=>1000,27499=>1000,27500=>1000,27501=>1000,27502=>1000,27503=>1000,27504=>1000,27505=>1000,27506=>1000,27507=>1000,27508=>1000,27509=>1000,27510=>1000,27511=>1000,27512=>1000,27513=>1000,27514=>1000,27515=>1000,27516=>1000,27517=>1000,27518=>1000,27519=>1000,27520=>1000,27521=>1000,27522=>1000,27523=>1000,27524=>1000,27525=>1000,27526=>1000,27527=>1000,27528=>1000,27529=>1000,27530=>1000,27531=>1000,27532=>1000,27533=>1000,27534=>1000,27535=>1000,27536=>1000,27537=>1000,27538=>1000,27539=>1000,27540=>1000,27541=>1000,27542=>1000,27543=>1000,27544=>1000,27545=>1000,27546=>1000,27547=>1000,27548=>1000,27549=>1000,27550=>1000,27551=>1000,27552=>1000,27553=>1000,27554=>1000,27555=>1000,27556=>1000,27557=>1000,27558=>1000,27559=>1000,27560=>1000,27561=>1000,27562=>1000,27563=>1000,27564=>1000,27565=>1000,27566=>1000,27567=>1000,27568=>1000,27569=>1000,27570=>1000,27571=>1000,27572=>1000,27573=>1000,27574=>1000,27575=>1000,27576=>1000,27577=>1000,27578=>1000,27579=>1000,27580=>1000,27581=>1000,27582=>1000,27583=>1000,27584=>1000,27585=>1000,27586=>1000,27587=>1000,27588=>1000,27589=>1000,27590=>1000,27591=>1000,27592=>1000,27593=>1000,27594=>1000,27595=>1000,27596=>1000,27597=>1000,27598=>1000,27599=>1000,27600=>1000,27601=>1000,27602=>1000,27603=>1000,27604=>1000,27605=>1000,27606=>1000,27607=>1000,27608=>1000,27609=>1000,27610=>1000,27611=>1000,27612=>1000,27613=>1000,27614=>1000,27615=>1000,27616=>1000,27617=>1000,27618=>1000,27619=>1000,27620=>1000,27621=>1000,27622=>1000,27623=>1000,27624=>1000,27625=>1000,27626=>1000,27627=>1000,27628=>1000,27629=>1000,27630=>1000,27631=>1000,27632=>1000,27633=>1000,27634=>1000,27635=>1000,27636=>1000,27637=>1000,27638=>1000,27639=>1000,27640=>1000,27641=>1000,27642=>1000,27643=>1000,27644=>1000,27645=>1000,27646=>1000,27647=>1000,27648=>1000,27649=>1000,27650=>1000,27651=>1000,27652=>1000,27653=>1000,27654=>1000,27655=>1000,27656=>1000,27657=>1000,27658=>1000,27659=>1000,27660=>1000,27661=>1000,27662=>1000,27663=>1000,27664=>1000,27665=>1000,27666=>1000,27667=>1000,27668=>1000,27669=>1000,27670=>1000,27671=>1000,27672=>1000,27673=>1000,27674=>1000,27675=>1000,27676=>1000,27677=>1000,27678=>1000,27679=>1000,27680=>1000,27681=>1000,27682=>1000,27683=>1000,27684=>1000,27685=>1000,27686=>1000,27687=>1000,27688=>1000,27689=>1000,27690=>1000,27691=>1000,27692=>1000,27693=>1000,27694=>1000,27695=>1000,27696=>1000,27697=>1000,27698=>1000,27699=>1000,27700=>1000,27701=>1000,27702=>1000,27703=>1000,27704=>1000,27705=>1000,27706=>1000,27707=>1000,27708=>1000,27709=>1000,27710=>1000,27711=>1000,27712=>1000,27713=>1000,27714=>1000,27715=>1000,27716=>1000,27717=>1000,27718=>1000,27719=>1000,27720=>1000,27721=>1000,27722=>1000,27723=>1000,27724=>1000,27725=>1000,27726=>1000,27727=>1000,27728=>1000,27729=>1000,27730=>1000,27731=>1000,27732=>1000,27733=>1000,27734=>1000,27735=>1000,27736=>1000,27737=>1000,27738=>1000,27739=>1000,27740=>1000,27741=>1000,27742=>1000,27743=>1000,27744=>1000,27745=>1000,27746=>1000,27747=>1000,27748=>1000,27749=>1000,27750=>1000,27751=>1000,27752=>1000,27753=>1000,27754=>1000,27755=>1000,27756=>1000,27757=>1000,27758=>1000,27759=>1000,27760=>1000,27761=>1000,27762=>1000,27763=>1000,27764=>1000,27765=>1000,27766=>1000,27767=>1000,27768=>1000,27769=>1000,27770=>1000,27771=>1000,27772=>1000,27773=>1000,27774=>1000,27775=>1000,27776=>1000,27777=>1000,27778=>1000,27779=>1000,27780=>1000,27781=>1000,27782=>1000,27783=>1000,27784=>1000,27785=>1000,27786=>1000,27787=>1000,27788=>1000,27789=>1000,27790=>1000,27791=>1000,27792=>1000,27793=>1000,27794=>1000,27795=>1000,27796=>1000,27797=>1000,27798=>1000,27799=>1000,27800=>1000,27801=>1000,27802=>1000,27803=>1000,27804=>1000,27805=>1000,27806=>1000,27807=>1000,27808=>1000,27809=>1000,27810=>1000,27811=>1000,27812=>1000,27813=>1000,27814=>1000,27815=>1000,27816=>1000,27817=>1000,27818=>1000,27819=>1000,27820=>1000,27821=>1000,27822=>1000,27823=>1000,27824=>1000,27825=>1000,27826=>1000,27827=>1000,27828=>1000,27829=>1000,27830=>1000,27831=>1000,27832=>1000,27833=>1000,27834=>1000,27835=>1000,27836=>1000,27837=>1000,27838=>1000,27839=>1000,27840=>1000,27841=>1000,27842=>1000,27843=>1000,27844=>1000,27845=>1000,27846=>1000,27847=>1000,27848=>1000,27849=>1000,27850=>1000,27851=>1000,27852=>1000,27853=>1000,27854=>1000,27855=>1000,27856=>1000,27857=>1000,27858=>1000,27859=>1000,27860=>1000,27861=>1000,27862=>1000,27863=>1000,27864=>1000,27865=>1000,27866=>1000,27867=>1000,27868=>1000,27869=>1000,27870=>1000,27871=>1000,27872=>1000,27873=>1000,27874=>1000,27875=>1000,27876=>1000,27877=>1000,27878=>1000,27879=>1000,27880=>1000,27881=>1000,27882=>1000,27883=>1000,27884=>1000,27885=>1000,27886=>1000,27887=>1000,27888=>1000,27889=>1000,27890=>1000,27891=>1000,27892=>1000,27893=>1000,27894=>1000,27895=>1000,27896=>1000,27897=>1000,27898=>1000,27899=>1000,27900=>1000,27901=>1000,27902=>1000,27903=>1000,27904=>1000,27905=>1000,27906=>1000,27907=>1000,27908=>1000,27909=>1000,27910=>1000,27911=>1000,27912=>1000,27913=>1000,27914=>1000,27915=>1000,27916=>1000,27917=>1000,27918=>1000,27919=>1000,27920=>1000,27921=>1000,27922=>1000,27923=>1000,27924=>1000,27925=>1000,27926=>1000,27927=>1000,27928=>1000,27929=>1000,27930=>1000,27931=>1000,27932=>1000,27933=>1000,27934=>1000,27935=>1000,27936=>1000,27937=>1000,27938=>1000,27939=>1000,27940=>1000,27941=>1000,27942=>1000,27943=>1000,27944=>1000,27945=>1000,27946=>1000,27947=>1000,27948=>1000,27949=>1000,27950=>1000,27951=>1000,27952=>1000,27953=>1000,27954=>1000,27955=>1000,27956=>1000,27957=>1000,27958=>1000,27959=>1000,27960=>1000,27961=>1000,27962=>1000,27963=>1000,27964=>1000,27965=>1000,27966=>1000,27967=>1000,27968=>1000,27969=>1000,27970=>1000,27971=>1000,27972=>1000,27973=>1000,27974=>1000,27975=>1000,27976=>1000,27977=>1000,27978=>1000,27979=>1000,27980=>1000,27981=>1000,27982=>1000,27983=>1000,27984=>1000,27985=>1000,27986=>1000,27987=>1000,27988=>1000,27989=>1000,27990=>1000,27991=>1000,27992=>1000,27993=>1000,27994=>1000,27995=>1000,27996=>1000,27997=>1000,27998=>1000,27999=>1000,28000=>1000,28001=>1000,28002=>1000,28003=>1000,28004=>1000,28005=>1000,28006=>1000,28007=>1000,28008=>1000,28009=>1000,28010=>1000,28011=>1000,28012=>1000,28013=>1000,28014=>1000,28015=>1000,28016=>1000,28017=>1000,28018=>1000,28019=>1000,28020=>1000,28021=>1000,28022=>1000,28023=>1000,28024=>1000,28025=>1000,28026=>1000,28027=>1000,28028=>1000,28029=>1000,28030=>1000,28031=>1000,28032=>1000,28033=>1000,28034=>1000,28035=>1000,28036=>1000,28037=>1000,28038=>1000,28039=>1000,28040=>1000,28041=>1000,28042=>1000,28043=>1000,28044=>1000,28045=>1000,28046=>1000,28047=>1000,28048=>1000,28049=>1000,28050=>1000,28051=>1000,28052=>1000,28053=>1000,28054=>1000,28055=>1000,28056=>1000,28057=>1000,28058=>1000,28059=>1000,28060=>1000,28061=>1000,28062=>1000,28063=>1000,28064=>1000,28065=>1000,28066=>1000,28067=>1000,28068=>1000,28069=>1000,28070=>1000,28071=>1000,28072=>1000,28073=>1000,28074=>1000,28075=>1000,28076=>1000,28077=>1000,28078=>1000,28079=>1000,28080=>1000,28081=>1000,28082=>1000,28083=>1000,28084=>1000,28085=>1000,28086=>1000,28087=>1000,28088=>1000,28089=>1000,28090=>1000,28091=>1000,28092=>1000,28093=>1000,28094=>1000,28095=>1000,28096=>1000,28097=>1000,28098=>1000,28099=>1000,28100=>1000,28101=>1000,28102=>1000,28103=>1000,28104=>1000,28105=>1000,28106=>1000,28107=>1000,28108=>1000,28109=>1000,28110=>1000,28111=>1000,28112=>1000,28113=>1000,28114=>1000,28115=>1000,28116=>1000,28117=>1000,28118=>1000,28119=>1000,28120=>1000,28121=>1000,28122=>1000,28123=>1000,28124=>1000,28125=>1000,28126=>1000,28127=>1000,28128=>1000,28129=>1000,28130=>1000,28131=>1000,28132=>1000,28133=>1000,28134=>1000,28135=>1000,28136=>1000,28137=>1000,28138=>1000,28139=>1000,28140=>1000,28141=>1000,28142=>1000,28143=>1000,28144=>1000,28145=>1000,28146=>1000,28147=>1000,28148=>1000,28149=>1000,28150=>1000,28151=>1000,28152=>1000,28153=>1000,28154=>1000,28155=>1000,28156=>1000,28157=>1000,28158=>1000,28159=>1000,28160=>1000,28161=>1000,28162=>1000,28163=>1000,28164=>1000,28165=>1000,28166=>1000,28167=>1000,28168=>1000,28169=>1000,28170=>1000,28171=>1000,28172=>1000,28173=>1000,28174=>1000,28175=>1000,28176=>1000,28177=>1000,28178=>1000,28179=>1000,28180=>1000,28181=>1000,28182=>1000,28183=>1000,28184=>1000,28185=>1000,28186=>1000,28187=>1000,28188=>1000,28189=>1000,28190=>1000,28191=>1000,28192=>1000,28193=>1000,28194=>1000,28195=>1000,28196=>1000,28197=>1000,28198=>1000,28199=>1000,28200=>1000,28201=>1000,28202=>1000,28203=>1000,28204=>1000,28205=>1000,28206=>1000,28207=>1000,28208=>1000,28209=>1000,28210=>1000,28211=>1000,28212=>1000,28213=>1000,28214=>1000,28215=>1000,28216=>1000,28217=>1000,28218=>1000,28219=>1000,28220=>1000,28221=>1000,28222=>1000,28223=>1000,28224=>1000,28225=>1000,28226=>1000,28227=>1000,28228=>1000,28229=>1000,28230=>1000,28231=>1000,28232=>1000,28233=>1000,28234=>1000,28235=>1000,28236=>1000,28237=>1000,28238=>1000,28239=>1000,28240=>1000,28241=>1000,28242=>1000,28243=>1000,28244=>1000,28245=>1000,28246=>1000,28247=>1000,28248=>1000,28249=>1000,28250=>1000,28251=>1000,28252=>1000,28253=>1000,28254=>1000,28255=>1000,28256=>1000,28257=>1000,28258=>1000,28259=>1000,28260=>1000,28261=>1000,28262=>1000,28263=>1000,28264=>1000,28265=>1000,28266=>1000,28267=>1000,28268=>1000,28269=>1000,28270=>1000,28271=>1000,28272=>1000,28273=>1000,28274=>1000,28275=>1000,28276=>1000,28277=>1000,28278=>1000,28279=>1000,28280=>1000,28281=>1000,28282=>1000,28283=>1000,28284=>1000,28285=>1000,28286=>1000,28287=>1000,28288=>1000,28289=>1000,28290=>1000,28291=>1000,28292=>1000,28293=>1000,28294=>1000,28295=>1000,28296=>1000,28297=>1000,28298=>1000,28299=>1000,28300=>1000,28301=>1000,28302=>1000,28303=>1000,28304=>1000,28305=>1000,28306=>1000,28307=>1000,28308=>1000,28309=>1000,28310=>1000,28311=>1000,28312=>1000,28313=>1000,28314=>1000,28315=>1000,28316=>1000,28317=>1000,28318=>1000,28319=>1000,28320=>1000,28321=>1000,28322=>1000,28323=>1000,28324=>1000,28325=>1000,28326=>1000,28327=>1000,28328=>1000,28329=>1000,28330=>1000,28331=>1000,28332=>1000,28333=>1000,28334=>1000,28335=>1000,28336=>1000,28337=>1000,28338=>1000,28339=>1000,28340=>1000,28341=>1000,28342=>1000,28343=>1000,28344=>1000,28345=>1000,28346=>1000,28347=>1000,28348=>1000,28349=>1000,28350=>1000,28351=>1000,28352=>1000,28353=>1000,28354=>1000,28355=>1000,28356=>1000,28357=>1000,28358=>1000,28359=>1000,28360=>1000,28361=>1000,28362=>1000,28363=>1000,28364=>1000,28365=>1000,28366=>1000,28367=>1000,28368=>1000,28369=>1000,28370=>1000,28371=>1000,28372=>1000,28373=>1000,28374=>1000,28375=>1000,28376=>1000,28377=>1000,28378=>1000,28379=>1000,28380=>1000,28381=>1000,28382=>1000,28383=>1000,28384=>1000,28385=>1000,28386=>1000,28387=>1000,28388=>1000,28389=>1000,28390=>1000,28391=>1000,28392=>1000,28393=>1000,28394=>1000,28395=>1000,28396=>1000,28397=>1000,28398=>1000,28399=>1000,28400=>1000,28401=>1000,28402=>1000,28403=>1000,28404=>1000,28405=>1000,28406=>1000,28407=>1000,28408=>1000,28409=>1000,28410=>1000,28411=>1000,28412=>1000,28413=>1000,28414=>1000,28415=>1000,28416=>1000,28417=>1000,28418=>1000,28419=>1000,28420=>1000,28421=>1000,28422=>1000,28423=>1000,28424=>1000,28425=>1000,28426=>1000,28427=>1000,28428=>1000,28429=>1000,28430=>1000,28431=>1000,28432=>1000,28433=>1000,28434=>1000,28435=>1000,28436=>1000,28437=>1000,28438=>1000,28439=>1000,28440=>1000,28441=>1000,28442=>1000,28443=>1000,28444=>1000,28445=>1000,28446=>1000,28447=>1000,28448=>1000,28449=>1000,28450=>1000,28451=>1000,28452=>1000,28453=>1000,28454=>1000,28455=>1000,28456=>1000,28457=>1000,28458=>1000,28459=>1000,28460=>1000,28461=>1000,28462=>1000,28463=>1000,28464=>1000,28465=>1000,28466=>1000,28467=>1000,28468=>1000,28469=>1000,28470=>1000,28471=>1000,28472=>1000,28473=>1000,28474=>1000,28475=>1000,28476=>1000,28477=>1000,28478=>1000,28479=>1000,28480=>1000,28481=>1000,28482=>1000,28483=>1000,28484=>1000,28485=>1000,28486=>1000,28487=>1000,28488=>1000,28489=>1000,28490=>1000,28491=>1000,28492=>1000,28493=>1000,28494=>1000,28495=>1000,28496=>1000,28497=>1000,28498=>1000,28499=>1000,28500=>1000,28501=>1000,28502=>1000,28503=>1000,28504=>1000,28505=>1000,28506=>1000,28507=>1000,28508=>1000,28509=>1000,28510=>1000,28511=>1000,28512=>1000,28513=>1000,28514=>1000,28515=>1000,28516=>1000,28517=>1000,28518=>1000,28519=>1000,28520=>1000,28521=>1000,28522=>1000,28523=>1000,28524=>1000,28525=>1000,28526=>1000,28527=>1000,28528=>1000,28529=>1000,28530=>1000,28531=>1000,28532=>1000,28533=>1000,28534=>1000,28535=>1000,28536=>1000,28537=>1000,28538=>1000,28539=>1000,28540=>1000,28541=>1000,28542=>1000,28543=>1000,28544=>1000,28545=>1000,28546=>1000,28547=>1000,28548=>1000,28549=>1000,28550=>1000,28551=>1000,28552=>1000,28553=>1000,28554=>1000,28555=>1000,28556=>1000,28557=>1000,28558=>1000,28559=>1000,28560=>1000,28561=>1000,28562=>1000,28563=>1000,28564=>1000,28565=>1000,28566=>1000,28567=>1000,28568=>1000,28569=>1000,28570=>1000,28571=>1000,28572=>1000,28573=>1000,28574=>1000,28575=>1000,28576=>1000,28577=>1000,28578=>1000,28579=>1000,28580=>1000,28581=>1000,28582=>1000,28583=>1000,28584=>1000,28585=>1000,28586=>1000,28587=>1000,28588=>1000,28589=>1000,28590=>1000,28591=>1000,28592=>1000,28593=>1000,28594=>1000,28595=>1000,28596=>1000,28597=>1000,28598=>1000,28599=>1000,28600=>1000,28601=>1000,28602=>1000,28603=>1000,28604=>1000,28605=>1000,28606=>1000,28607=>1000,28608=>1000,28609=>1000,28610=>1000,28611=>1000,28612=>1000,28613=>1000,28614=>1000,28615=>1000,28616=>1000,28617=>1000,28618=>1000,28619=>1000,28620=>1000,28621=>1000,28622=>1000,28623=>1000,28624=>1000,28625=>1000,28626=>1000,28627=>1000,28628=>1000,28629=>1000,28630=>1000,28631=>1000,28632=>1000,28633=>1000,28634=>1000,28635=>1000,28636=>1000,28637=>1000,28638=>1000,28639=>1000,28640=>1000,28641=>1000,28642=>1000,28643=>1000,28644=>1000,28645=>1000,28646=>1000,28647=>1000,28648=>1000,28649=>1000,28650=>1000,28651=>1000,28652=>1000,28653=>1000,28654=>1000,28655=>1000,28656=>1000,28657=>1000,28658=>1000,28659=>1000,28660=>1000,28661=>1000,28662=>1000,28663=>1000,28664=>1000,28665=>1000,28666=>1000,28667=>1000,28668=>1000,28669=>1000,28670=>1000,28671=>1000,28672=>1000,28673=>1000,28674=>1000,28675=>1000,28676=>1000,28677=>1000,28678=>1000,28679=>1000,28680=>1000,28681=>1000,28682=>1000,28683=>1000,28684=>1000,28685=>1000,28686=>1000,28687=>1000,28688=>1000,28689=>1000,28690=>1000,28691=>1000,28692=>1000,28693=>1000,28694=>1000,28695=>1000,28696=>1000,28697=>1000,28698=>1000,28699=>1000,28700=>1000,28701=>1000,28702=>1000,28703=>1000,28704=>1000,28705=>1000,28706=>1000,28707=>1000,28708=>1000,28709=>1000,28710=>1000,28711=>1000,28712=>1000,28713=>1000,28714=>1000,28715=>1000,28716=>1000,28717=>1000,28718=>1000,28719=>1000,28720=>1000,28721=>1000,28722=>1000,28723=>1000,28724=>1000,28725=>1000,28726=>1000,28727=>1000,28728=>1000,28729=>1000,28730=>1000,28731=>1000,28732=>1000,28733=>1000,28734=>1000,28735=>1000,28736=>1000,28737=>1000,28738=>1000,28739=>1000,28740=>1000,28741=>1000,28742=>1000,28743=>1000,28744=>1000,28745=>1000,28746=>1000,28747=>1000,28748=>1000,28749=>1000,28750=>1000,28751=>1000,28752=>1000,28753=>1000,28754=>1000,28755=>1000,28756=>1000,28757=>1000,28758=>1000,28759=>1000,28760=>1000,28761=>1000,28762=>1000,28763=>1000,28764=>1000,28765=>1000,28766=>1000,28767=>1000,28768=>1000,28769=>1000,28770=>1000,28771=>1000,28772=>1000,28773=>1000,28774=>1000,28775=>1000,28776=>1000,28777=>1000,28778=>1000,28779=>1000,28780=>1000,28781=>1000,28782=>1000,28783=>1000,28784=>1000,28785=>1000,28786=>1000,28787=>1000,28788=>1000,28789=>1000,28790=>1000,28791=>1000,28792=>1000,28793=>1000,28794=>1000,28795=>1000,28796=>1000,28797=>1000,28798=>1000,28799=>1000,28800=>1000,28801=>1000,28802=>1000,28803=>1000,28804=>1000,28805=>1000,28806=>1000,28807=>1000,28808=>1000,28809=>1000,28810=>1000,28811=>1000,28812=>1000,28813=>1000,28814=>1000,28815=>1000,28816=>1000,28817=>1000,28818=>1000,28819=>1000,28820=>1000,28821=>1000,28822=>1000,28823=>1000,28824=>1000,28825=>1000,28826=>1000,28827=>1000,28828=>1000,28829=>1000,28830=>1000,28831=>1000,28832=>1000,28833=>1000,28834=>1000,28835=>1000,28836=>1000,28837=>1000,28838=>1000,28839=>1000,28840=>1000,28841=>1000,28842=>1000,28843=>1000,28844=>1000,28845=>1000,28846=>1000,28847=>1000,28848=>1000,28849=>1000,28850=>1000,28851=>1000,28852=>1000,28853=>1000,28854=>1000,28855=>1000,28856=>1000,28857=>1000,28858=>1000,28859=>1000,28860=>1000,28861=>1000,28862=>1000,28863=>1000,28864=>1000,28865=>1000,28866=>1000,28867=>1000,28868=>1000,28869=>1000,28870=>1000,28871=>1000,28872=>1000,28873=>1000,28874=>1000,28875=>1000,28876=>1000,28877=>1000,28878=>1000,28879=>1000,28880=>1000,28881=>1000,28882=>1000,28883=>1000,28884=>1000,28885=>1000,28886=>1000,28887=>1000,28888=>1000,28889=>1000,28890=>1000,28891=>1000,28892=>1000,28893=>1000,28894=>1000,28895=>1000,28896=>1000,28897=>1000,28898=>1000,28899=>1000,28900=>1000,28901=>1000,28902=>1000,28903=>1000,28904=>1000,28905=>1000,28906=>1000,28907=>1000,28908=>1000,28909=>1000,28910=>1000,28911=>1000,28912=>1000,28913=>1000,28914=>1000,28915=>1000,28916=>1000,28917=>1000,28918=>1000,28919=>1000,28920=>1000,28921=>1000,28922=>1000,28923=>1000,28924=>1000,28925=>1000,28926=>1000,28927=>1000,28928=>1000,28929=>1000,28930=>1000,28931=>1000,28932=>1000,28933=>1000,28934=>1000,28935=>1000,28936=>1000,28937=>1000,28938=>1000,28939=>1000,28940=>1000,28941=>1000,28942=>1000,28943=>1000,28944=>1000,28945=>1000,28946=>1000,28947=>1000,28948=>1000,28949=>1000,28950=>1000,28951=>1000,28952=>1000,28953=>1000,28954=>1000,28955=>1000,28956=>1000,28957=>1000,28958=>1000,28959=>1000,28960=>1000,28961=>1000,28962=>1000,28963=>1000,28964=>1000,28965=>1000,28966=>1000,28967=>1000,28968=>1000,28969=>1000,28970=>1000,28971=>1000,28972=>1000,28973=>1000,28974=>1000,28975=>1000,28976=>1000,28977=>1000,28978=>1000,28979=>1000,28980=>1000,28981=>1000,28982=>1000,28983=>1000,28984=>1000,28985=>1000,28986=>1000,28987=>1000,28988=>1000,28989=>1000,28990=>1000,28991=>1000,28992=>1000,28993=>1000,28994=>1000,28995=>1000,28996=>1000,28997=>1000,28998=>1000,28999=>1000,29000=>1000,29001=>1000,29002=>1000,29003=>1000,29004=>1000,29005=>1000,29006=>1000,29007=>1000,29008=>1000,29009=>1000,29010=>1000,29011=>1000,29012=>1000,29013=>1000,29014=>1000,29015=>1000,29016=>1000,29017=>1000,29018=>1000,29019=>1000,29020=>1000,29021=>1000,29022=>1000,29023=>1000,29024=>1000,29025=>1000,29026=>1000,29027=>1000,29028=>1000,29029=>1000,29030=>1000,29031=>1000,29032=>1000,29033=>1000,29034=>1000,29035=>1000,29036=>1000,29037=>1000,29038=>1000,29039=>1000,29040=>1000,29041=>1000,29042=>1000,29043=>1000,29044=>1000,29045=>1000,29046=>1000,29047=>1000,29048=>1000,29049=>1000,29050=>1000,29051=>1000,29052=>1000,29053=>1000,29054=>1000,29055=>1000,29056=>1000,29057=>1000,29058=>1000,29059=>1000,29060=>1000,29061=>1000,29062=>1000,29063=>1000,29064=>1000,29065=>1000,29066=>1000,29067=>1000,29068=>1000,29069=>1000,29070=>1000,29071=>1000,29072=>1000,29073=>1000,29074=>1000,29075=>1000,29076=>1000,29077=>1000,29078=>1000,29079=>1000,29080=>1000,29081=>1000,29082=>1000,29083=>1000,29084=>1000,29085=>1000,29086=>1000,29087=>1000,29088=>1000,29089=>1000,29090=>1000,29091=>1000,29092=>1000,29093=>1000,29094=>1000,29095=>1000,29096=>1000,29097=>1000,29098=>1000,29099=>1000,29100=>1000,29101=>1000,29102=>1000,29103=>1000,29104=>1000,29105=>1000,29106=>1000,29107=>1000,29108=>1000,29109=>1000,29110=>1000,29111=>1000,29112=>1000,29113=>1000,29114=>1000,29115=>1000,29116=>1000,29117=>1000,29118=>1000,29119=>1000,29120=>1000,29121=>1000,29122=>1000,29123=>1000,29124=>1000,29125=>1000,29126=>1000,29127=>1000,29128=>1000,29129=>1000,29130=>1000,29131=>1000,29132=>1000,29133=>1000,29134=>1000,29135=>1000,29136=>1000,29137=>1000,29138=>1000,29139=>1000,29140=>1000,29141=>1000,29142=>1000,29143=>1000,29144=>1000,29145=>1000,29146=>1000,29147=>1000,29148=>1000,29149=>1000,29150=>1000,29151=>1000,29152=>1000,29153=>1000,29154=>1000,29155=>1000,29156=>1000,29157=>1000,29158=>1000,29159=>1000,29160=>1000,29161=>1000,29162=>1000,29163=>1000,29164=>1000,29165=>1000,29166=>1000,29167=>1000,29168=>1000,29169=>1000,29170=>1000,29171=>1000,29172=>1000,29173=>1000,29174=>1000,29175=>1000,29176=>1000,29177=>1000,29178=>1000,29179=>1000,29180=>1000,29181=>1000,29182=>1000,29183=>1000,29184=>1000,29185=>1000,29186=>1000,29187=>1000,29188=>1000,29189=>1000,29190=>1000,29191=>1000,29192=>1000,29193=>1000,29194=>1000,29195=>1000,29196=>1000,29197=>1000,29198=>1000,29199=>1000,29200=>1000,29201=>1000,29202=>1000,29203=>1000,29204=>1000,29205=>1000,29206=>1000,29207=>1000,29208=>1000,29209=>1000,29210=>1000,29211=>1000,29212=>1000,29213=>1000,29214=>1000,29215=>1000,29216=>1000,29217=>1000,29218=>1000,29219=>1000,29220=>1000,29221=>1000,29222=>1000,29223=>1000,29224=>1000,29225=>1000,29226=>1000,29227=>1000,29228=>1000,29229=>1000,29230=>1000,29231=>1000,29232=>1000,29233=>1000,29234=>1000,29235=>1000,29236=>1000,29237=>1000,29238=>1000,29239=>1000,29240=>1000,29241=>1000,29242=>1000,29243=>1000,29244=>1000,29245=>1000,29246=>1000,29247=>1000,29248=>1000,29249=>1000,29250=>1000,29251=>1000,29252=>1000,29253=>1000,29254=>1000,29255=>1000,29256=>1000,29257=>1000,29258=>1000,29259=>1000,29260=>1000,29261=>1000,29262=>1000,29263=>1000,29264=>1000,29265=>1000,29266=>1000,29267=>1000,29268=>1000,29269=>1000,29270=>1000,29271=>1000,29272=>1000,29273=>1000,29274=>1000,29275=>1000,29276=>1000,29277=>1000,29278=>1000,29279=>1000,29280=>1000,29281=>1000,29282=>1000,29283=>1000,29284=>1000,29285=>1000,29286=>1000,29287=>1000,29288=>1000,29289=>1000,29290=>1000,29291=>1000,29292=>1000,29293=>1000,29294=>1000,29295=>1000,29296=>1000,29297=>1000,29298=>1000,29299=>1000,29300=>1000,29301=>1000,29302=>1000,29303=>1000,29304=>1000,29305=>1000,29306=>1000,29307=>1000,29308=>1000,29309=>1000,29310=>1000,29311=>1000,29312=>1000,29313=>1000,29314=>1000,29315=>1000,29316=>1000,29317=>1000,29318=>1000,29319=>1000,29320=>1000,29321=>1000,29322=>1000,29323=>1000,29324=>1000,29325=>1000,29326=>1000,29327=>1000,29328=>1000,29329=>1000,29330=>1000,29331=>1000,29332=>1000,29333=>1000,29334=>1000,29335=>1000,29336=>1000,29337=>1000,29338=>1000,29339=>1000,29340=>1000,29341=>1000,29342=>1000,29343=>1000,29344=>1000,29345=>1000,29346=>1000,29347=>1000,29348=>1000,29349=>1000,29350=>1000,29351=>1000,29352=>1000,29353=>1000,29354=>1000,29355=>1000,29356=>1000,29357=>1000,29358=>1000,29359=>1000,29360=>1000,29361=>1000,29362=>1000,29363=>1000,29364=>1000,29365=>1000,29366=>1000,29367=>1000,29368=>1000,29369=>1000,29370=>1000,29371=>1000,29372=>1000,29373=>1000,29374=>1000,29375=>1000,29376=>1000,29377=>1000,29378=>1000,29379=>1000,29380=>1000,29381=>1000,29382=>1000,29383=>1000,29384=>1000,29385=>1000,29386=>1000,29387=>1000,29388=>1000,29389=>1000,29390=>1000,29391=>1000,29392=>1000,29393=>1000,29394=>1000,29395=>1000,29396=>1000,29397=>1000,29398=>1000,29399=>1000,29400=>1000,29401=>1000,29402=>1000,29403=>1000,29404=>1000,29405=>1000,29406=>1000,29407=>1000,29408=>1000,29409=>1000,29410=>1000,29411=>1000,29412=>1000,29413=>1000,29414=>1000,29415=>1000,29416=>1000,29417=>1000,29418=>1000,29419=>1000,29420=>1000,29421=>1000,29422=>1000,29423=>1000,29424=>1000,29425=>1000,29426=>1000,29427=>1000,29428=>1000,29429=>1000,29430=>1000,29431=>1000,29432=>1000,29433=>1000,29434=>1000,29435=>1000,29436=>1000,29437=>1000,29438=>1000,29439=>1000,29440=>1000,29441=>1000,29442=>1000,29443=>1000,29444=>1000,29445=>1000,29446=>1000,29447=>1000,29448=>1000,29449=>1000,29450=>1000,29451=>1000,29452=>1000,29453=>1000,29454=>1000,29455=>1000,29456=>1000,29457=>1000,29458=>1000,29459=>1000,29460=>1000,29461=>1000,29462=>1000,29463=>1000,29464=>1000,29465=>1000,29466=>1000,29467=>1000,29468=>1000,29469=>1000,29470=>1000,29471=>1000,29472=>1000,29473=>1000,29474=>1000,29475=>1000,29476=>1000,29477=>1000,29478=>1000,29479=>1000,29480=>1000,29481=>1000,29482=>1000,29483=>1000,29484=>1000,29485=>1000,29486=>1000,29487=>1000,29488=>1000,29489=>1000,29490=>1000,29491=>1000,29492=>1000,29493=>1000,29494=>1000,29495=>1000,29496=>1000,29497=>1000,29498=>1000,29499=>1000,29500=>1000,29501=>1000,29502=>1000,29503=>1000,29504=>1000,29505=>1000,29506=>1000,29507=>1000,29508=>1000,29509=>1000,29510=>1000,29511=>1000,29512=>1000,29513=>1000,29514=>1000,29515=>1000,29516=>1000,29517=>1000,29518=>1000,29519=>1000,29520=>1000,29521=>1000,29522=>1000,29523=>1000,29524=>1000,29525=>1000,29526=>1000,29527=>1000,29528=>1000,29529=>1000,29530=>1000,29531=>1000,29532=>1000,29533=>1000,29534=>1000,29535=>1000,29536=>1000,29537=>1000,29538=>1000,29539=>1000,29540=>1000,29541=>1000,29542=>1000,29543=>1000,29544=>1000,29545=>1000,29546=>1000,29547=>1000,29548=>1000,29549=>1000,29550=>1000,29551=>1000,29552=>1000,29553=>1000,29554=>1000,29555=>1000,29556=>1000,29557=>1000,29558=>1000,29559=>1000,29560=>1000,29561=>1000,29562=>1000,29563=>1000,29564=>1000,29565=>1000,29566=>1000,29567=>1000,29568=>1000,29569=>1000,29570=>1000,29571=>1000,29572=>1000,29573=>1000,29574=>1000,29575=>1000,29576=>1000,29577=>1000,29578=>1000,29579=>1000,29580=>1000,29581=>1000,29582=>1000,29583=>1000,29584=>1000,29585=>1000,29586=>1000,29587=>1000,29588=>1000,29589=>1000,29590=>1000,29591=>1000,29592=>1000,29593=>1000,29594=>1000,29595=>1000,29596=>1000,29597=>1000,29598=>1000,29599=>1000,29600=>1000,29601=>1000,29602=>1000,29603=>1000,29604=>1000,29605=>1000,29606=>1000,29607=>1000,29608=>1000,29609=>1000,29610=>1000,29611=>1000,29612=>1000,29613=>1000,29614=>1000,29615=>1000,29616=>1000,29617=>1000,29618=>1000,29619=>1000,29620=>1000,29621=>1000,29622=>1000,29623=>1000,29624=>1000,29625=>1000,29626=>1000,29627=>1000,29628=>1000,29629=>1000,29630=>1000,29631=>1000,29632=>1000,29633=>1000,29634=>1000,29635=>1000,29636=>1000,29637=>1000,29638=>1000,29639=>1000,29640=>1000,29641=>1000,29642=>1000,29643=>1000,29644=>1000,29645=>1000,29646=>1000,29647=>1000,29648=>1000,29649=>1000,29650=>1000,29651=>1000,29652=>1000,29653=>1000,29654=>1000,29655=>1000,29656=>1000,29657=>1000,29658=>1000,29659=>1000,29660=>1000,29661=>1000,29662=>1000,29663=>1000,29664=>1000,29665=>1000,29666=>1000,29667=>1000,29668=>1000,29669=>1000,29670=>1000,29671=>1000,29672=>1000,29673=>1000,29674=>1000,29675=>1000,29676=>1000,29677=>1000,29678=>1000,29679=>1000,29680=>1000,29681=>1000,29682=>1000,29683=>1000,29684=>1000,29685=>1000,29686=>1000,29687=>1000,29688=>1000,29689=>1000,29690=>1000,29691=>1000,29692=>1000,29693=>1000,29694=>1000,29695=>1000,29696=>1000,29697=>1000,29698=>1000,29699=>1000,29700=>1000,29701=>1000,29702=>1000,29703=>1000,29704=>1000,29705=>1000,29706=>1000,29707=>1000,29708=>1000,29709=>1000,29710=>1000,29711=>1000,29712=>1000,29713=>1000,29714=>1000,29715=>1000,29716=>1000,29717=>1000,29718=>1000,29719=>1000,29720=>1000,29721=>1000,29722=>1000,29723=>1000,29724=>1000,29725=>1000,29726=>1000,29727=>1000,29728=>1000,29729=>1000,29730=>1000,29731=>1000,29732=>1000,29733=>1000,29734=>1000,29735=>1000,29736=>1000,29737=>1000,29738=>1000,29739=>1000,29740=>1000,29741=>1000,29742=>1000,29743=>1000,29744=>1000,29745=>1000,29746=>1000,29747=>1000,29748=>1000,29749=>1000,29750=>1000,29751=>1000,29752=>1000,29753=>1000,29754=>1000,29755=>1000,29756=>1000,29757=>1000,29758=>1000,29759=>1000,29760=>1000,29761=>1000,29762=>1000,29763=>1000,29764=>1000,29765=>1000,29766=>1000,29767=>1000,29768=>1000,29769=>1000,29770=>1000,29771=>1000,29772=>1000,29773=>1000,29774=>1000,29775=>1000,29776=>1000,29777=>1000,29778=>1000,29779=>1000,29780=>1000,29781=>1000,29782=>1000,29783=>1000,29784=>1000,29785=>1000,29786=>1000,29787=>1000,29788=>1000,29789=>1000,29790=>1000,29791=>1000,29792=>1000,29793=>1000,29794=>1000,29795=>1000,29796=>1000,29797=>1000,29798=>1000,29799=>1000,29800=>1000,29801=>1000,29802=>1000,29803=>1000,29804=>1000,29805=>1000,29806=>1000,29807=>1000,29808=>1000,29809=>1000,29810=>1000,29811=>1000,29812=>1000,29813=>1000,29814=>1000,29815=>1000,29816=>1000,29817=>1000,29818=>1000,29819=>1000,29820=>1000,29821=>1000,29822=>1000,29823=>1000,29824=>1000,29825=>1000,29826=>1000,29827=>1000,29828=>1000,29829=>1000,29830=>1000,29831=>1000,29832=>1000,29833=>1000,29834=>1000,29835=>1000,29836=>1000,29837=>1000,29838=>1000,29839=>1000,29840=>1000,29841=>1000,29842=>1000,29843=>1000,29844=>1000,29845=>1000,29846=>1000,29847=>1000,29848=>1000,29849=>1000,29850=>1000,29851=>1000,29852=>1000,29853=>1000,29854=>1000,29855=>1000,29856=>1000,29857=>1000,29858=>1000,29859=>1000,29860=>1000,29861=>1000,29862=>1000,29863=>1000,29864=>1000,29865=>1000,29866=>1000,29867=>1000,29868=>1000,29869=>1000,29870=>1000,29871=>1000,29872=>1000,29873=>1000,29874=>1000,29875=>1000,29876=>1000,29877=>1000,29878=>1000,29879=>1000,29880=>1000,29881=>1000,29882=>1000,29883=>1000,29884=>1000,29885=>1000,29886=>1000,29887=>1000,29888=>1000,29889=>1000,29890=>1000,29891=>1000,29892=>1000,29893=>1000,29894=>1000,29895=>1000,29896=>1000,29897=>1000,29898=>1000,29899=>1000,29900=>1000,29901=>1000,29902=>1000,29903=>1000,29904=>1000,29905=>1000,29906=>1000,29907=>1000,29908=>1000,29909=>1000,29910=>1000,29911=>1000,29912=>1000,29913=>1000,29914=>1000,29915=>1000,29916=>1000,29917=>1000,29918=>1000,29919=>1000,29920=>1000,29921=>1000,29922=>1000,29923=>1000,29924=>1000,29925=>1000,29926=>1000,29927=>1000,29928=>1000,29929=>1000,29930=>1000,29931=>1000,29932=>1000,29933=>1000,29934=>1000,29935=>1000,29936=>1000,29937=>1000,29938=>1000,29939=>1000,29940=>1000,29941=>1000,29942=>1000,29943=>1000,29944=>1000,29945=>1000,29946=>1000,29947=>1000,29948=>1000,29949=>1000,29950=>1000,29951=>1000,29952=>1000,29953=>1000,29954=>1000,29955=>1000,29956=>1000,29957=>1000,29958=>1000,29959=>1000,29960=>1000,29961=>1000,29962=>1000,29963=>1000,29964=>1000,29965=>1000,29966=>1000,29967=>1000,29968=>1000,29969=>1000,29970=>1000,29971=>1000,29972=>1000,29973=>1000,29974=>1000,29975=>1000,29976=>1000,29977=>1000,29978=>1000,29979=>1000,29980=>1000,29981=>1000,29982=>1000,29983=>1000,29984=>1000,29985=>1000,29986=>1000,29987=>1000,29988=>1000,29989=>1000,29990=>1000,29991=>1000,29992=>1000,29993=>1000,29994=>1000,29995=>1000,29996=>1000,29997=>1000,29998=>1000,29999=>1000,30000=>1000,30001=>1000,30002=>1000,30003=>1000,30004=>1000,30005=>1000,30006=>1000,30007=>1000,30008=>1000,30009=>1000,30010=>1000,30011=>1000,30012=>1000,30013=>1000,30014=>1000,30015=>1000,30016=>1000,30017=>1000,30018=>1000,30019=>1000,30020=>1000,30021=>1000,30022=>1000,30023=>1000,30024=>1000,30025=>1000,30026=>1000,30027=>1000,30028=>1000,30029=>1000,30030=>1000,30031=>1000,30032=>1000,30033=>1000,30034=>1000,30035=>1000,30036=>1000,30037=>1000,30038=>1000,30039=>1000,30040=>1000,30041=>1000,30042=>1000,30043=>1000,30044=>1000,30045=>1000,30046=>1000,30047=>1000,30048=>1000,30049=>1000,30050=>1000,30051=>1000,30052=>1000,30053=>1000,30054=>1000,30055=>1000,30056=>1000,30057=>1000,30058=>1000,30059=>1000,30060=>1000,30061=>1000,30062=>1000,30063=>1000,30064=>1000,30065=>1000,30066=>1000,30067=>1000,30068=>1000,30069=>1000,30070=>1000,30071=>1000,30072=>1000,30073=>1000,30074=>1000,30075=>1000,30076=>1000,30077=>1000,30078=>1000,30079=>1000,30080=>1000,30081=>1000,30082=>1000,30083=>1000,30084=>1000,30085=>1000,30086=>1000,30087=>1000,30088=>1000,30089=>1000,30090=>1000,30091=>1000,30092=>1000,30093=>1000,30094=>1000,30095=>1000,30096=>1000,30097=>1000,30098=>1000,30099=>1000,30100=>1000,30101=>1000,30102=>1000,30103=>1000,30104=>1000,30105=>1000,30106=>1000,30107=>1000,30108=>1000,30109=>1000,30110=>1000,30111=>1000,30112=>1000,30113=>1000,30114=>1000,30115=>1000,30116=>1000,30117=>1000,30118=>1000,30119=>1000,30120=>1000,30121=>1000,30122=>1000,30123=>1000,30124=>1000,30125=>1000,30126=>1000,30127=>1000,30128=>1000,30129=>1000,30130=>1000,30131=>1000,30132=>1000,30133=>1000,30134=>1000,30135=>1000,30136=>1000,30137=>1000,30138=>1000,30139=>1000,30140=>1000,30141=>1000,30142=>1000,30143=>1000,30144=>1000,30145=>1000,30146=>1000,30147=>1000,30148=>1000,30149=>1000,30150=>1000,30151=>1000,30152=>1000,30153=>1000,30154=>1000,30155=>1000,30156=>1000,30157=>1000,30158=>1000,30159=>1000,30160=>1000,30161=>1000,30162=>1000,30163=>1000,30164=>1000,30165=>1000,30166=>1000,30167=>1000,30168=>1000,30169=>1000,30170=>1000,30171=>1000,30172=>1000,30173=>1000,30174=>1000,30175=>1000,30176=>1000,30177=>1000,30178=>1000,30179=>1000,30180=>1000,30181=>1000,30182=>1000,30183=>1000,30184=>1000,30185=>1000,30186=>1000,30187=>1000,30188=>1000,30189=>1000,30190=>1000,30191=>1000,30192=>1000,30193=>1000,30194=>1000,30195=>1000,30196=>1000,30197=>1000,30198=>1000,30199=>1000,30200=>1000,30201=>1000,30202=>1000,30203=>1000,30204=>1000,30205=>1000,30206=>1000,30207=>1000,30208=>1000,30209=>1000,30210=>1000,30211=>1000,30212=>1000,30213=>1000,30214=>1000,30215=>1000,30216=>1000,30217=>1000,30218=>1000,30219=>1000,30220=>1000,30221=>1000,30222=>1000,30223=>1000,30224=>1000,30225=>1000,30226=>1000,30227=>1000,30228=>1000,30229=>1000,30230=>1000,30231=>1000,30232=>1000,30233=>1000,30234=>1000,30235=>1000,30236=>1000,30237=>1000,30238=>1000,30239=>1000,30240=>1000,30241=>1000,30242=>1000,30243=>1000,30244=>1000,30245=>1000,30246=>1000,30247=>1000,30248=>1000,30249=>1000,30250=>1000,30251=>1000,30252=>1000,30253=>1000,30254=>1000,30255=>1000,30256=>1000,30257=>1000,30258=>1000,30259=>1000,30260=>1000,30261=>1000,30262=>1000,30263=>1000,30264=>1000,30265=>1000,30266=>1000,30267=>1000,30268=>1000,30269=>1000,30270=>1000,30271=>1000,30272=>1000,30273=>1000,30274=>1000,30275=>1000,30276=>1000,30277=>1000,30278=>1000,30279=>1000,30280=>1000,30281=>1000,30282=>1000,30283=>1000,30284=>1000,30285=>1000,30286=>1000,30287=>1000,30288=>1000,30289=>1000,30290=>1000,30291=>1000,30292=>1000,30293=>1000,30294=>1000,30295=>1000,30296=>1000,30297=>1000,30298=>1000,30299=>1000,30300=>1000,30301=>1000,30302=>1000,30303=>1000,30304=>1000,30305=>1000,30306=>1000,30307=>1000,30308=>1000,30309=>1000,30310=>1000,30311=>1000,30312=>1000,30313=>1000,30314=>1000,30315=>1000,30316=>1000,30317=>1000,30318=>1000,30319=>1000,30320=>1000,30321=>1000,30322=>1000,30323=>1000,30324=>1000,30325=>1000,30326=>1000,30327=>1000,30328=>1000,30329=>1000,30330=>1000,30331=>1000,30332=>1000,30333=>1000,30334=>1000,30335=>1000,30336=>1000,30337=>1000,30338=>1000,30339=>1000,30340=>1000,30341=>1000,30342=>1000,30343=>1000,30344=>1000,30345=>1000,30346=>1000,30347=>1000,30348=>1000,30349=>1000,30350=>1000,30351=>1000,30352=>1000,30353=>1000,30354=>1000,30355=>1000,30356=>1000,30357=>1000,30358=>1000,30359=>1000,30360=>1000,30361=>1000,30362=>1000,30363=>1000,30364=>1000,30365=>1000,30366=>1000,30367=>1000,30368=>1000,30369=>1000,30370=>1000,30371=>1000,30372=>1000,30373=>1000,30374=>1000,30375=>1000,30376=>1000,30377=>1000,30378=>1000,30379=>1000,30380=>1000,30381=>1000,30382=>1000,30383=>1000,30384=>1000,30385=>1000,30386=>1000,30387=>1000,30388=>1000,30389=>1000,30390=>1000,30391=>1000,30392=>1000,30393=>1000,30394=>1000,30395=>1000,30396=>1000,30397=>1000,30398=>1000,30399=>1000,30400=>1000,30401=>1000,30402=>1000,30403=>1000,30404=>1000,30405=>1000,30406=>1000,30407=>1000,30408=>1000,30409=>1000,30410=>1000,30411=>1000,30412=>1000,30413=>1000,30414=>1000,30415=>1000,30416=>1000,30417=>1000,30418=>1000,30419=>1000,30420=>1000,30421=>1000,30422=>1000,30423=>1000,30424=>1000,30425=>1000,30426=>1000,30427=>1000,30428=>1000,30429=>1000,30430=>1000,30431=>1000,30432=>1000,30433=>1000,30434=>1000,30435=>1000,30436=>1000,30437=>1000,30438=>1000,30439=>1000,30440=>1000,30441=>1000,30442=>1000,30443=>1000,30444=>1000,30445=>1000,30446=>1000,30447=>1000,30448=>1000,30449=>1000,30450=>1000,30451=>1000,30452=>1000,30453=>1000,30454=>1000,30455=>1000,30456=>1000,30457=>1000,30458=>1000,30459=>1000,30460=>1000,30461=>1000,30462=>1000,30463=>1000,30464=>1000,30465=>1000,30466=>1000,30467=>1000,30468=>1000,30469=>1000,30470=>1000,30471=>1000,30472=>1000,30473=>1000,30474=>1000,30475=>1000,30476=>1000,30477=>1000,30478=>1000,30479=>1000,30480=>1000,30481=>1000,30482=>1000,30483=>1000,30484=>1000,30485=>1000,30486=>1000,30487=>1000,30488=>1000,30489=>1000,30490=>1000,30491=>1000,30492=>1000,30493=>1000,30494=>1000,30495=>1000,30496=>1000,30497=>1000,30498=>1000,30499=>1000,30500=>1000,30501=>1000,30502=>1000,30503=>1000,30504=>1000,30505=>1000,30506=>1000,30507=>1000,30508=>1000,30509=>1000,30510=>1000,30511=>1000,30512=>1000,30513=>1000,30514=>1000,30515=>1000,30516=>1000,30517=>1000,30518=>1000,30519=>1000,30520=>1000,30521=>1000,30522=>1000,30523=>1000,30524=>1000,30525=>1000,30526=>1000,30527=>1000,30528=>1000,30529=>1000,30530=>1000,30531=>1000,30532=>1000,30533=>1000,30534=>1000,30535=>1000,30536=>1000,30537=>1000,30538=>1000,30539=>1000,30540=>1000,30541=>1000,30542=>1000,30543=>1000,30544=>1000,30545=>1000,30546=>1000,30547=>1000,30548=>1000,30549=>1000,30550=>1000,30551=>1000,30552=>1000,30553=>1000,30554=>1000,30555=>1000,30556=>1000,30557=>1000,30558=>1000,30559=>1000,30560=>1000,30561=>1000,30562=>1000,30563=>1000,30564=>1000,30565=>1000,30566=>1000,30567=>1000,30568=>1000,30569=>1000,30570=>1000,30571=>1000,30572=>1000,30573=>1000,30574=>1000,30575=>1000,30576=>1000,30577=>1000,30578=>1000,30579=>1000,30580=>1000,30581=>1000,30582=>1000,30583=>1000,30584=>1000,30585=>1000,30586=>1000,30587=>1000,30588=>1000,30589=>1000,30590=>1000,30591=>1000,30592=>1000,30593=>1000,30594=>1000,30595=>1000,30596=>1000,30597=>1000,30598=>1000,30599=>1000,30600=>1000,30601=>1000,30602=>1000,30603=>1000,30604=>1000,30605=>1000,30606=>1000,30607=>1000,30608=>1000,30609=>1000,30610=>1000,30611=>1000,30612=>1000,30613=>1000,30614=>1000,30615=>1000,30616=>1000,30617=>1000,30618=>1000,30619=>1000,30620=>1000,30621=>1000,30622=>1000,30623=>1000,30624=>1000,30625=>1000,30626=>1000,30627=>1000,30628=>1000,30629=>1000,30630=>1000,30631=>1000,30632=>1000,30633=>1000,30634=>1000,30635=>1000,30636=>1000,30637=>1000,30638=>1000,30639=>1000,30640=>1000,30641=>1000,30642=>1000,30643=>1000,30644=>1000,30645=>1000,30646=>1000,30647=>1000,30648=>1000,30649=>1000,30650=>1000,30651=>1000,30652=>1000,30653=>1000,30654=>1000,30655=>1000,30656=>1000,30657=>1000,30658=>1000,30659=>1000,30660=>1000,30661=>1000,30662=>1000,30663=>1000,30664=>1000,30665=>1000,30666=>1000,30667=>1000,30668=>1000,30669=>1000,30670=>1000,30671=>1000,30672=>1000,30673=>1000,30674=>1000,30675=>1000,30676=>1000,30677=>1000,30678=>1000,30679=>1000,30680=>1000,30681=>1000,30682=>1000,30683=>1000,30684=>1000,30685=>1000,30686=>1000,30687=>1000,30688=>1000,30689=>1000,30690=>1000,30691=>1000,30692=>1000,30693=>1000,30694=>1000,30695=>1000,30696=>1000,30697=>1000,30698=>1000,30699=>1000,30700=>1000,30701=>1000,30702=>1000,30703=>1000,30704=>1000,30705=>1000,30706=>1000,30707=>1000,30708=>1000,30709=>1000,30710=>1000,30711=>1000,30712=>1000,30713=>1000,30714=>1000,30715=>1000,30716=>1000,30717=>1000,30718=>1000,30719=>1000,30720=>1000,30721=>1000,30722=>1000,30723=>1000,30724=>1000,30725=>1000,30726=>1000,30727=>1000,30728=>1000,30729=>1000,30730=>1000,30731=>1000,30732=>1000,30733=>1000,30734=>1000,30735=>1000,30736=>1000,30737=>1000,30738=>1000,30739=>1000,30740=>1000,30741=>1000,30742=>1000,30743=>1000,30744=>1000,30745=>1000,30746=>1000,30747=>1000,30748=>1000,30749=>1000,30750=>1000,30751=>1000,30752=>1000,30753=>1000,30754=>1000,30755=>1000,30756=>1000,30757=>1000,30758=>1000,30759=>1000,30760=>1000,30761=>1000,30762=>1000,30763=>1000,30764=>1000,30765=>1000,30766=>1000,30767=>1000,30768=>1000,30769=>1000,30770=>1000,30771=>1000,30772=>1000,30773=>1000,30774=>1000,30775=>1000,30776=>1000,30777=>1000,30778=>1000,30779=>1000,30780=>1000,30781=>1000,30782=>1000,30783=>1000,30784=>1000,30785=>1000,30786=>1000,30787=>1000,30788=>1000,30789=>1000,30790=>1000,30791=>1000,30792=>1000,30793=>1000,30794=>1000,30795=>1000,30796=>1000,30797=>1000,30798=>1000,30799=>1000,30800=>1000,30801=>1000,30802=>1000,30803=>1000,30804=>1000,30805=>1000,30806=>1000,30807=>1000,30808=>1000,30809=>1000,30810=>1000,30811=>1000,30812=>1000,30813=>1000,30814=>1000,30815=>1000,30816=>1000,30817=>1000,30818=>1000,30819=>1000,30820=>1000,30821=>1000,30822=>1000,30823=>1000,30824=>1000,30825=>1000,30826=>1000,30827=>1000,30828=>1000,30829=>1000,30830=>1000,30831=>1000,30832=>1000,30833=>1000,30834=>1000,30835=>1000,30836=>1000,30837=>1000,30838=>1000,30839=>1000,30840=>1000,30841=>1000,30842=>1000,30843=>1000,30844=>1000,30845=>1000,30846=>1000,30847=>1000,30848=>1000,30849=>1000,30850=>1000,30851=>1000,30852=>1000,30853=>1000,30854=>1000,30855=>1000,30856=>1000,30857=>1000,30858=>1000,30859=>1000,30860=>1000,30861=>1000,30862=>1000,30863=>1000,30864=>1000,30865=>1000,30866=>1000,30867=>1000,30868=>1000,30869=>1000,30870=>1000,30871=>1000,30872=>1000,30873=>1000,30874=>1000,30875=>1000,30876=>1000,30877=>1000,30878=>1000,30879=>1000,30880=>1000,30881=>1000,30882=>1000,30883=>1000,30884=>1000,30885=>1000,30886=>1000,30887=>1000,30888=>1000,30889=>1000,30890=>1000,30891=>1000,30892=>1000,30893=>1000,30894=>1000,30895=>1000,30896=>1000,30897=>1000,30898=>1000,30899=>1000,30900=>1000,30901=>1000,30902=>1000,30903=>1000,30904=>1000,30905=>1000,30906=>1000,30907=>1000,30908=>1000,30909=>1000,30910=>1000,30911=>1000,30912=>1000,30913=>1000,30914=>1000,30915=>1000,30916=>1000,30917=>1000,30918=>1000,30919=>1000,30920=>1000,30921=>1000,30922=>1000,30923=>1000,30924=>1000,30925=>1000,30926=>1000,30927=>1000,30928=>1000,30929=>1000,30930=>1000,30931=>1000,30932=>1000,30933=>1000,30934=>1000,30935=>1000,30936=>1000,30937=>1000,30938=>1000,30939=>1000,30940=>1000,30941=>1000,30942=>1000,30943=>1000,30944=>1000,30945=>1000,30946=>1000,30947=>1000,30948=>1000,30949=>1000,30950=>1000,30951=>1000,30952=>1000,30953=>1000,30954=>1000,30955=>1000,30956=>1000,30957=>1000,30958=>1000,30959=>1000,30960=>1000,30961=>1000,30962=>1000,30963=>1000,30964=>1000,30965=>1000,30966=>1000,30967=>1000,30968=>1000,30969=>1000,30970=>1000,30971=>1000,30972=>1000,30973=>1000,30974=>1000,30975=>1000,30976=>1000,30977=>1000,30978=>1000,30979=>1000,30980=>1000,30981=>1000,30982=>1000,30983=>1000,30984=>1000,30985=>1000,30986=>1000,30987=>1000,30988=>1000,30989=>1000,30990=>1000,30991=>1000,30992=>1000,30993=>1000,30994=>1000,30995=>1000,30996=>1000,30997=>1000,30998=>1000,30999=>1000,31000=>1000,31001=>1000,31002=>1000,31003=>1000,31004=>1000,31005=>1000,31006=>1000,31007=>1000,31008=>1000,31009=>1000,31010=>1000,31011=>1000,31012=>1000,31013=>1000,31014=>1000,31015=>1000,31016=>1000,31017=>1000,31018=>1000,31019=>1000,31020=>1000,31021=>1000,31022=>1000,31023=>1000,31024=>1000,31025=>1000,31026=>1000,31027=>1000,31028=>1000,31029=>1000,31030=>1000,31031=>1000,31032=>1000,31033=>1000,31034=>1000,31035=>1000,31036=>1000,31037=>1000,31038=>1000,31039=>1000,31040=>1000,31041=>1000,31042=>1000,31043=>1000,31044=>1000,31045=>1000,31046=>1000,31047=>1000,31048=>1000,31049=>1000,31050=>1000,31051=>1000,31052=>1000,31053=>1000,31054=>1000,31055=>1000,31056=>1000,31057=>1000,31058=>1000,31059=>1000,31060=>1000,31061=>1000,31062=>1000,31063=>1000,31064=>1000,31065=>1000,31066=>1000,31067=>1000,31068=>1000,31069=>1000,31070=>1000,31071=>1000,31072=>1000,31073=>1000,31074=>1000,31075=>1000,31076=>1000,31077=>1000,31078=>1000,31079=>1000,31080=>1000,31081=>1000,31082=>1000,31083=>1000,31084=>1000,31085=>1000,31086=>1000,31087=>1000,31088=>1000,31089=>1000,31090=>1000,31091=>1000,31092=>1000,31093=>1000,31094=>1000,31095=>1000,31096=>1000,31097=>1000,31098=>1000,31099=>1000,31100=>1000,31101=>1000,31102=>1000,31103=>1000,31104=>1000,31105=>1000,31106=>1000,31107=>1000,31108=>1000,31109=>1000,31110=>1000,31111=>1000,31112=>1000,31113=>1000,31114=>1000,31115=>1000,31116=>1000,31117=>1000,31118=>1000,31119=>1000,31120=>1000,31121=>1000,31122=>1000,31123=>1000,31124=>1000,31125=>1000,31126=>1000,31127=>1000,31128=>1000,31129=>1000,31130=>1000,31131=>1000,31132=>1000,31133=>1000,31134=>1000,31135=>1000,31136=>1000,31137=>1000,31138=>1000,31139=>1000,31140=>1000,31141=>1000,31142=>1000,31143=>1000,31144=>1000,31145=>1000,31146=>1000,31147=>1000,31148=>1000,31149=>1000,31150=>1000,31151=>1000,31152=>1000,31153=>1000,31154=>1000,31155=>1000,31156=>1000,31157=>1000,31158=>1000,31159=>1000,31160=>1000,31161=>1000,31162=>1000,31163=>1000,31164=>1000,31165=>1000,31166=>1000,31167=>1000,31168=>1000,31169=>1000,31170=>1000,31171=>1000,31172=>1000,31173=>1000,31174=>1000,31175=>1000,31176=>1000,31177=>1000,31178=>1000,31179=>1000,31180=>1000,31181=>1000,31182=>1000,31183=>1000,31184=>1000,31185=>1000,31186=>1000,31187=>1000,31188=>1000,31189=>1000,31190=>1000,31191=>1000,31192=>1000,31193=>1000,31194=>1000,31195=>1000,31196=>1000,31197=>1000,31198=>1000,31199=>1000,31200=>1000,31201=>1000,31202=>1000,31203=>1000,31204=>1000,31205=>1000,31206=>1000,31207=>1000,31208=>1000,31209=>1000,31210=>1000,31211=>1000,31212=>1000,31213=>1000,31214=>1000,31215=>1000,31216=>1000,31217=>1000,31218=>1000,31219=>1000,31220=>1000,31221=>1000,31222=>1000,31223=>1000,31224=>1000,31225=>1000,31226=>1000,31227=>1000,31228=>1000,31229=>1000,31230=>1000,31231=>1000,31232=>1000,31233=>1000,31234=>1000,31235=>1000,31236=>1000,31237=>1000,31238=>1000,31239=>1000,31240=>1000,31241=>1000,31242=>1000,31243=>1000,31244=>1000,31245=>1000,31246=>1000,31247=>1000,31248=>1000,31249=>1000,31250=>1000,31251=>1000,31252=>1000,31253=>1000,31254=>1000,31255=>1000,31256=>1000,31257=>1000,31258=>1000,31259=>1000,31260=>1000,31261=>1000,31262=>1000,31263=>1000,31264=>1000,31265=>1000,31266=>1000,31267=>1000,31268=>1000,31269=>1000,31270=>1000,31271=>1000,31272=>1000,31273=>1000,31274=>1000,31275=>1000,31276=>1000,31277=>1000,31278=>1000,31279=>1000,31280=>1000,31281=>1000,31282=>1000,31283=>1000,31284=>1000,31285=>1000,31286=>1000,31287=>1000,31288=>1000,31289=>1000,31290=>1000,31291=>1000,31292=>1000,31293=>1000,31294=>1000,31295=>1000,31296=>1000,31297=>1000,31298=>1000,31299=>1000,31300=>1000,31301=>1000,31302=>1000,31303=>1000,31304=>1000,31305=>1000,31306=>1000,31307=>1000,31308=>1000,31309=>1000,31310=>1000,31311=>1000,31312=>1000,31313=>1000,31314=>1000,31315=>1000,31316=>1000,31317=>1000,31318=>1000,31319=>1000,31320=>1000,31321=>1000,31322=>1000,31323=>1000,31324=>1000,31325=>1000,31326=>1000,31327=>1000,31328=>1000,31329=>1000,31330=>1000,31331=>1000,31332=>1000,31333=>1000,31334=>1000,31335=>1000,31336=>1000,31337=>1000,31338=>1000,31339=>1000,31340=>1000,31341=>1000,31342=>1000,31343=>1000,31344=>1000,31345=>1000,31346=>1000,31347=>1000,31348=>1000,31349=>1000,31350=>1000,31351=>1000,31352=>1000,31353=>1000,31354=>1000,31355=>1000,31356=>1000,31357=>1000,31358=>1000,31359=>1000,31360=>1000,31361=>1000,31362=>1000,31363=>1000,31364=>1000,31365=>1000,31366=>1000,31367=>1000,31368=>1000,31369=>1000,31370=>1000,31371=>1000,31372=>1000,31373=>1000,31374=>1000,31375=>1000,31376=>1000,31377=>1000,31378=>1000,31379=>1000,31380=>1000,31381=>1000,31382=>1000,31383=>1000,31384=>1000,31385=>1000,31386=>1000,31387=>1000,31388=>1000,31389=>1000,31390=>1000,31391=>1000,31392=>1000,31393=>1000,31394=>1000,31395=>1000,31396=>1000,31397=>1000,31398=>1000,31399=>1000,31400=>1000,31401=>1000,31402=>1000,31403=>1000,31404=>1000,31405=>1000,31406=>1000,31407=>1000,31408=>1000,31409=>1000,31410=>1000,31411=>1000,31412=>1000,31413=>1000,31414=>1000,31415=>1000,31416=>1000,31417=>1000,31418=>1000,31419=>1000,31420=>1000,31421=>1000,31422=>1000,31423=>1000,31424=>1000,31425=>1000,31426=>1000,31427=>1000,31428=>1000,31429=>1000,31430=>1000,31431=>1000,31432=>1000,31433=>1000,31434=>1000,31435=>1000,31436=>1000,31437=>1000,31438=>1000,31439=>1000,31440=>1000,31441=>1000,31442=>1000,31443=>1000,31444=>1000,31445=>1000,31446=>1000,31447=>1000,31448=>1000,31449=>1000,31450=>1000,31451=>1000,31452=>1000,31453=>1000,31454=>1000,31455=>1000,31456=>1000,31457=>1000,31458=>1000,31459=>1000,31460=>1000,31461=>1000,31462=>1000,31463=>1000,31464=>1000,31465=>1000,31466=>1000,31467=>1000,31468=>1000,31469=>1000,31470=>1000,31471=>1000,31472=>1000,31473=>1000,31474=>1000,31475=>1000,31476=>1000,31477=>1000,31478=>1000,31479=>1000,31480=>1000,31481=>1000,31482=>1000,31483=>1000,31484=>1000,31485=>1000,31486=>1000,31487=>1000,31488=>1000,31489=>1000,31490=>1000,31491=>1000,31492=>1000,31493=>1000,31494=>1000,31495=>1000,31496=>1000,31497=>1000,31498=>1000,31499=>1000,31500=>1000,31501=>1000,31502=>1000,31503=>1000,31504=>1000,31505=>1000,31506=>1000,31507=>1000,31508=>1000,31509=>1000,31510=>1000,31511=>1000,31512=>1000,31513=>1000,31514=>1000,31515=>1000,31516=>1000,31517=>1000,31518=>1000,31519=>1000,31520=>1000,31521=>1000,31522=>1000,31523=>1000,31524=>1000,31525=>1000,31526=>1000,31527=>1000,31528=>1000,31529=>1000,31530=>1000,31531=>1000,31532=>1000,31533=>1000,31534=>1000,31535=>1000,31536=>1000,31537=>1000,31538=>1000,31539=>1000,31540=>1000,31541=>1000,31542=>1000,31543=>1000,31544=>1000,31545=>1000,31546=>1000,31547=>1000,31548=>1000,31549=>1000,31550=>1000,31551=>1000,31552=>1000,31553=>1000,31554=>1000,31555=>1000,31556=>1000,31557=>1000,31558=>1000,31559=>1000,31560=>1000,31561=>1000,31562=>1000,31563=>1000,31564=>1000,31565=>1000,31566=>1000,31567=>1000,31568=>1000,31569=>1000,31570=>1000,31571=>1000,31572=>1000,31573=>1000,31574=>1000,31575=>1000,31576=>1000,31577=>1000,31578=>1000,31579=>1000,31580=>1000,31581=>1000,31582=>1000,31583=>1000,31584=>1000,31585=>1000,31586=>1000,31587=>1000,31588=>1000,31589=>1000,31590=>1000,31591=>1000,31592=>1000,31593=>1000,31594=>1000,31595=>1000,31596=>1000,31597=>1000,31598=>1000,31599=>1000,31600=>1000,31601=>1000,31602=>1000,31603=>1000,31604=>1000,31605=>1000,31606=>1000,31607=>1000,31608=>1000,31609=>1000,31610=>1000,31611=>1000,31612=>1000,31613=>1000,31614=>1000,31615=>1000,31616=>1000,31617=>1000,31618=>1000,31619=>1000,31620=>1000,31621=>1000,31622=>1000,31623=>1000,31624=>1000,31625=>1000,31626=>1000,31627=>1000,31628=>1000,31629=>1000,31630=>1000,31631=>1000,31632=>1000,31633=>1000,31634=>1000,31635=>1000,31636=>1000,31637=>1000,31638=>1000,31639=>1000,31640=>1000,31641=>1000,31642=>1000,31643=>1000,31644=>1000,31645=>1000,31646=>1000,31647=>1000,31648=>1000,31649=>1000,31650=>1000,31651=>1000,31652=>1000,31653=>1000,31654=>1000,31655=>1000,31656=>1000,31657=>1000,31658=>1000,31659=>1000,31660=>1000,31661=>1000,31662=>1000,31663=>1000,31664=>1000,31665=>1000,31666=>1000,31667=>1000,31668=>1000,31669=>1000,31670=>1000,31671=>1000,31672=>1000,31673=>1000,31674=>1000,31675=>1000,31676=>1000,31677=>1000,31678=>1000,31679=>1000,31680=>1000,31681=>1000,31682=>1000,31683=>1000,31684=>1000,31685=>1000,31686=>1000,31687=>1000,31688=>1000,31689=>1000,31690=>1000,31691=>1000,31692=>1000,31693=>1000,31694=>1000,31695=>1000,31696=>1000,31697=>1000,31698=>1000,31699=>1000,31700=>1000,31701=>1000,31702=>1000,31703=>1000,31704=>1000,31705=>1000,31706=>1000,31707=>1000,31708=>1000,31709=>1000,31710=>1000,31711=>1000,31712=>1000,31713=>1000,31714=>1000,31715=>1000,31716=>1000,31717=>1000,31718=>1000,31719=>1000,31720=>1000,31721=>1000,31722=>1000,31723=>1000,31724=>1000,31725=>1000,31726=>1000,31727=>1000,31728=>1000,31729=>1000,31730=>1000,31731=>1000,31732=>1000,31733=>1000,31734=>1000,31735=>1000,31736=>1000,31737=>1000,31738=>1000,31739=>1000,31740=>1000,31741=>1000,31742=>1000,31743=>1000,31744=>1000,31745=>1000,31746=>1000,31747=>1000,31748=>1000,31749=>1000,31750=>1000,31751=>1000,31752=>1000,31753=>1000,31754=>1000,31755=>1000,31756=>1000,31757=>1000,31758=>1000,31759=>1000,31760=>1000,31761=>1000,31762=>1000,31763=>1000,31764=>1000,31765=>1000,31766=>1000,31767=>1000,31768=>1000,31769=>1000,31770=>1000,31771=>1000,31772=>1000,31773=>1000,31774=>1000,31775=>1000,31776=>1000,31777=>1000,31778=>1000,31779=>1000,31780=>1000,31781=>1000,31782=>1000,31783=>1000,31784=>1000,31785=>1000,31786=>1000,31787=>1000,31788=>1000,31789=>1000,31790=>1000,31791=>1000,31792=>1000,31793=>1000,31794=>1000,31795=>1000,31796=>1000,31797=>1000,31798=>1000,31799=>1000,31800=>1000,31801=>1000,31802=>1000,31803=>1000,31804=>1000,31805=>1000,31806=>1000,31807=>1000,31808=>1000,31809=>1000,31810=>1000,31811=>1000,31812=>1000,31813=>1000,31814=>1000,31815=>1000,31816=>1000,31817=>1000,31818=>1000,31819=>1000,31820=>1000,31821=>1000,31822=>1000,31823=>1000,31824=>1000,31825=>1000,31826=>1000,31827=>1000,31828=>1000,31829=>1000,31830=>1000,31831=>1000,31832=>1000,31833=>1000,31834=>1000,31835=>1000,31836=>1000,31837=>1000,31838=>1000,31839=>1000,31840=>1000,31841=>1000,31842=>1000,31843=>1000,31844=>1000,31845=>1000,31846=>1000,31847=>1000,31848=>1000,31849=>1000,31850=>1000,31851=>1000,31852=>1000,31853=>1000,31854=>1000,31855=>1000,31856=>1000,31857=>1000,31858=>1000,31859=>1000,31860=>1000,31861=>1000,31862=>1000,31863=>1000,31864=>1000,31865=>1000,31866=>1000,31867=>1000,31868=>1000,31869=>1000,31870=>1000,31871=>1000,31872=>1000,31873=>1000,31874=>1000,31875=>1000,31876=>1000,31877=>1000,31878=>1000,31879=>1000,31880=>1000,31881=>1000,31882=>1000,31883=>1000,31884=>1000,31885=>1000,31886=>1000,31887=>1000,31888=>1000,31889=>1000,31890=>1000,31891=>1000,31892=>1000,31893=>1000,31894=>1000,31895=>1000,31896=>1000,31897=>1000,31898=>1000,31899=>1000,31900=>1000,31901=>1000,31902=>1000,31903=>1000,31904=>1000,31905=>1000,31906=>1000,31907=>1000,31908=>1000,31909=>1000,31910=>1000,31911=>1000,31912=>1000,31913=>1000,31914=>1000,31915=>1000,31916=>1000,31917=>1000,31918=>1000,31919=>1000,31920=>1000,31921=>1000,31922=>1000,31923=>1000,31924=>1000,31925=>1000,31926=>1000,31927=>1000,31928=>1000,31929=>1000,31930=>1000,31931=>1000,31932=>1000,31933=>1000,31934=>1000,31935=>1000,31936=>1000,31937=>1000,31938=>1000,31939=>1000,31940=>1000,31941=>1000,31942=>1000,31943=>1000,31944=>1000,31945=>1000,31946=>1000,31947=>1000,31948=>1000,31949=>1000,31950=>1000,31951=>1000,31952=>1000,31953=>1000,31954=>1000,31955=>1000,31956=>1000,31957=>1000,31958=>1000,31959=>1000,31960=>1000,31961=>1000,31962=>1000,31963=>1000,31964=>1000,31965=>1000,31966=>1000,31967=>1000,31968=>1000,31969=>1000,31970=>1000,31971=>1000,31972=>1000,31973=>1000,31974=>1000,31975=>1000,31976=>1000,31977=>1000,31978=>1000,31979=>1000,31980=>1000,31981=>1000,31982=>1000,31983=>1000,31984=>1000,31985=>1000,31986=>1000,31987=>1000,31988=>1000,31989=>1000,31990=>1000,31991=>1000,31992=>1000,31993=>1000,31994=>1000,31995=>1000,31996=>1000,31997=>1000,31998=>1000,31999=>1000,32000=>1000,32001=>1000,32002=>1000,32003=>1000,32004=>1000,32005=>1000,32006=>1000,32007=>1000,32008=>1000,32009=>1000,32010=>1000,32011=>1000,32012=>1000,32013=>1000,32014=>1000,32015=>1000,32016=>1000,32017=>1000,32018=>1000,32019=>1000,32020=>1000,32021=>1000,32022=>1000,32023=>1000,32024=>1000,32025=>1000,32026=>1000,32027=>1000,32028=>1000,32029=>1000,32030=>1000,32031=>1000,32032=>1000,32033=>1000,32034=>1000,32035=>1000,32036=>1000,32037=>1000,32038=>1000,32039=>1000,32040=>1000,32041=>1000,32042=>1000,32043=>1000,32044=>1000,32045=>1000,32046=>1000,32047=>1000,32048=>1000,32049=>1000,32050=>1000,32051=>1000,32052=>1000,32053=>1000,32054=>1000,32055=>1000,32056=>1000,32057=>1000,32058=>1000,32059=>1000,32060=>1000,32061=>1000,32062=>1000,32063=>1000,32064=>1000,32065=>1000,32066=>1000,32067=>1000,32068=>1000,32069=>1000,32070=>1000,32071=>1000,32072=>1000,32073=>1000,32074=>1000,32075=>1000,32076=>1000,32077=>1000,32078=>1000,32079=>1000,32080=>1000,32081=>1000,32082=>1000,32083=>1000,32084=>1000,32085=>1000,32086=>1000,32087=>1000,32088=>1000,32089=>1000,32090=>1000,32091=>1000,32092=>1000,32093=>1000,32094=>1000,32095=>1000,32096=>1000,32097=>1000,32098=>1000,32099=>1000,32100=>1000,32101=>1000,32102=>1000,32103=>1000,32104=>1000,32105=>1000,32106=>1000,32107=>1000,32108=>1000,32109=>1000,32110=>1000,32111=>1000,32112=>1000,32113=>1000,32114=>1000,32115=>1000,32116=>1000,32117=>1000,32118=>1000,32119=>1000,32120=>1000,32121=>1000,32122=>1000,32123=>1000,32124=>1000,32125=>1000,32126=>1000,32127=>1000,32128=>1000,32129=>1000,32130=>1000,32131=>1000,32132=>1000,32133=>1000,32134=>1000,32135=>1000,32136=>1000,32137=>1000,32138=>1000,32139=>1000,32140=>1000,32141=>1000,32142=>1000,32143=>1000,32144=>1000,32145=>1000,32146=>1000,32147=>1000,32148=>1000,32149=>1000,32150=>1000,32151=>1000,32152=>1000,32153=>1000,32154=>1000,32155=>1000,32156=>1000,32157=>1000,32158=>1000,32159=>1000,32160=>1000,32161=>1000,32162=>1000,32163=>1000,32164=>1000,32165=>1000,32166=>1000,32167=>1000,32168=>1000,32169=>1000,32170=>1000,32171=>1000,32172=>1000,32173=>1000,32174=>1000,32175=>1000,32176=>1000,32177=>1000,32178=>1000,32179=>1000,32180=>1000,32181=>1000,32182=>1000,32183=>1000,32184=>1000,32185=>1000,32186=>1000,32187=>1000,32188=>1000,32189=>1000,32190=>1000,32191=>1000,32192=>1000,32193=>1000,32194=>1000,32195=>1000,32196=>1000,32197=>1000,32198=>1000,32199=>1000,32200=>1000,32201=>1000,32202=>1000,32203=>1000,32204=>1000,32205=>1000,32206=>1000,32207=>1000,32208=>1000,32209=>1000,32210=>1000,32211=>1000,32212=>1000,32213=>1000,32214=>1000,32215=>1000,32216=>1000,32217=>1000,32218=>1000,32219=>1000,32220=>1000,32221=>1000,32222=>1000,32223=>1000,32224=>1000,32225=>1000,32226=>1000,32227=>1000,32228=>1000,32229=>1000,32230=>1000,32231=>1000,32232=>1000,32233=>1000,32234=>1000,32235=>1000,32236=>1000,32237=>1000,32238=>1000,32239=>1000,32240=>1000,32241=>1000,32242=>1000,32243=>1000,32244=>1000,32245=>1000,32246=>1000,32247=>1000,32248=>1000,32249=>1000,32250=>1000,32251=>1000,32252=>1000,32253=>1000,32254=>1000,32255=>1000,32256=>1000,32257=>1000,32258=>1000,32259=>1000,32260=>1000,32261=>1000,32262=>1000,32263=>1000,32264=>1000,32265=>1000,32266=>1000,32267=>1000,32268=>1000,32269=>1000,32270=>1000,32271=>1000,32272=>1000,32273=>1000,32274=>1000,32275=>1000,32276=>1000,32277=>1000,32278=>1000,32279=>1000,32280=>1000,32281=>1000,32282=>1000,32283=>1000,32284=>1000,32285=>1000,32286=>1000,32287=>1000,32288=>1000,32289=>1000,32290=>1000,32291=>1000,32292=>1000,32293=>1000,32294=>1000,32295=>1000,32296=>1000,32297=>1000,32298=>1000,32299=>1000,32300=>1000,32301=>1000,32302=>1000,32303=>1000,32304=>1000,32305=>1000,32306=>1000,32307=>1000,32308=>1000,32309=>1000,32310=>1000,32311=>1000,32312=>1000,32313=>1000,32314=>1000,32315=>1000,32316=>1000,32317=>1000,32318=>1000,32319=>1000,32320=>1000,32321=>1000,32322=>1000,32323=>1000,32324=>1000,32325=>1000,32326=>1000,32327=>1000,32328=>1000,32329=>1000,32330=>1000,32331=>1000,32332=>1000,32333=>1000,32334=>1000,32335=>1000,32336=>1000,32337=>1000,32338=>1000,32339=>1000,32340=>1000,32341=>1000,32342=>1000,32343=>1000,32344=>1000,32345=>1000,32346=>1000,32347=>1000,32348=>1000,32349=>1000,32350=>1000,32351=>1000,32352=>1000,32353=>1000,32354=>1000,32355=>1000,32356=>1000,32357=>1000,32358=>1000,32359=>1000,32360=>1000,32361=>1000,32362=>1000,32363=>1000,32364=>1000,32365=>1000,32366=>1000,32367=>1000,32368=>1000,32369=>1000,32370=>1000,32371=>1000,32372=>1000,32373=>1000,32374=>1000,32375=>1000,32376=>1000,32377=>1000,32378=>1000,32379=>1000,32380=>1000,32381=>1000,32382=>1000,32383=>1000,32384=>1000,32385=>1000,32386=>1000,32387=>1000,32388=>1000,32389=>1000,32390=>1000,32391=>1000,32392=>1000,32393=>1000,32394=>1000,32395=>1000,32396=>1000,32397=>1000,32398=>1000,32399=>1000,32400=>1000,32401=>1000,32402=>1000,32403=>1000,32404=>1000,32405=>1000,32406=>1000,32407=>1000,32408=>1000,32409=>1000,32410=>1000,32411=>1000,32412=>1000,32413=>1000,32414=>1000,32415=>1000,32416=>1000,32417=>1000,32418=>1000,32419=>1000,32420=>1000,32421=>1000,32422=>1000,32423=>1000,32424=>1000,32425=>1000,32426=>1000,32427=>1000,32428=>1000,32429=>1000,32430=>1000,32431=>1000,32432=>1000,32433=>1000,32434=>1000,32435=>1000,32436=>1000,32437=>1000,32438=>1000,32439=>1000,32440=>1000,32441=>1000,32442=>1000,32443=>1000,32444=>1000,32445=>1000,32446=>1000,32447=>1000,32448=>1000,32449=>1000,32450=>1000,32451=>1000,32452=>1000,32453=>1000,32454=>1000,32455=>1000,32456=>1000,32457=>1000,32458=>1000,32459=>1000,32460=>1000,32461=>1000,32462=>1000,32463=>1000,32464=>1000,32465=>1000,32466=>1000,32467=>1000,32468=>1000,32469=>1000,32470=>1000,32471=>1000,32472=>1000,32473=>1000,32474=>1000,32475=>1000,32476=>1000,32477=>1000,32478=>1000,32479=>1000,32480=>1000,32481=>1000,32482=>1000,32483=>1000,32484=>1000,32485=>1000,32486=>1000,32487=>1000,32488=>1000,32489=>1000,32490=>1000,32491=>1000,32492=>1000,32493=>1000,32494=>1000,32495=>1000,32496=>1000,32497=>1000,32498=>1000,32499=>1000,32500=>1000,32501=>1000,32502=>1000,32503=>1000,32504=>1000,32505=>1000,32506=>1000,32507=>1000,32508=>1000,32509=>1000,32510=>1000,32511=>1000,32512=>1000,32513=>1000,32514=>1000,32515=>1000,32516=>1000,32517=>1000,32518=>1000,32519=>1000,32520=>1000,32521=>1000,32522=>1000,32523=>1000,32524=>1000,32525=>1000,32526=>1000,32527=>1000,32528=>1000,32529=>1000,32530=>1000,32531=>1000,32532=>1000,32533=>1000,32534=>1000,32535=>1000,32536=>1000,32537=>1000,32538=>1000,32539=>1000,32540=>1000,32541=>1000,32542=>1000,32543=>1000,32544=>1000,32545=>1000,32546=>1000,32547=>1000,32548=>1000,32549=>1000,32550=>1000,32551=>1000,32552=>1000,32553=>1000,32554=>1000,32555=>1000,32556=>1000,32557=>1000,32558=>1000,32559=>1000,32560=>1000,32561=>1000,32562=>1000,32563=>1000,32564=>1000,32565=>1000,32566=>1000,32567=>1000,32568=>1000,32569=>1000,32570=>1000,32571=>1000,32572=>1000,32573=>1000,32574=>1000,32575=>1000,32576=>1000,32577=>1000,32578=>1000,32579=>1000,32580=>1000,32581=>1000,32582=>1000,32583=>1000,32584=>1000,32585=>1000,32586=>1000,32587=>1000,32588=>1000,32589=>1000,32590=>1000,32591=>1000,32592=>1000,32593=>1000,32594=>1000,32595=>1000,32596=>1000,32597=>1000,32598=>1000,32599=>1000,32600=>1000,32601=>1000,32602=>1000,32603=>1000,32604=>1000,32605=>1000,32606=>1000,32607=>1000,32608=>1000,32609=>1000,32610=>1000,32611=>1000,32612=>1000,32613=>1000,32614=>1000,32615=>1000,32616=>1000,32617=>1000,32618=>1000,32619=>1000,32620=>1000,32621=>1000,32622=>1000,32623=>1000,32624=>1000,32625=>1000,32626=>1000,32627=>1000,32628=>1000,32629=>1000,32630=>1000,32631=>1000,32632=>1000,32633=>1000,32634=>1000,32635=>1000,32636=>1000,32637=>1000,32638=>1000,32639=>1000,32640=>1000,32641=>1000,32642=>1000,32643=>1000,32644=>1000,32645=>1000,32646=>1000,32647=>1000,32648=>1000,32649=>1000,32650=>1000,32651=>1000,32652=>1000,32653=>1000,32654=>1000,32655=>1000,32656=>1000,32657=>1000,32658=>1000,32659=>1000,32660=>1000,32661=>1000,32662=>1000,32663=>1000,32664=>1000,32665=>1000,32666=>1000,32667=>1000,32668=>1000,32669=>1000,32670=>1000,32671=>1000,32672=>1000,32673=>1000,32674=>1000,32675=>1000,32676=>1000,32677=>1000,32678=>1000,32679=>1000,32680=>1000,32681=>1000,32682=>1000,32683=>1000,32684=>1000,32685=>1000,32686=>1000,32687=>1000,32688=>1000,32689=>1000,32690=>1000,32691=>1000,32692=>1000,32693=>1000,32694=>1000,32695=>1000,32696=>1000,32697=>1000,32698=>1000,32699=>1000,32700=>1000,32701=>1000,32702=>1000,32703=>1000,32704=>1000,32705=>1000,32706=>1000,32707=>1000,32708=>1000,32709=>1000,32710=>1000,32711=>1000,32712=>1000,32713=>1000,32714=>1000,32715=>1000,32716=>1000,32717=>1000,32718=>1000,32719=>1000,32720=>1000,32721=>1000,32722=>1000,32723=>1000,32724=>1000,32725=>1000,32726=>1000,32727=>1000,32728=>1000,32729=>1000,32730=>1000,32731=>1000,32732=>1000,32733=>1000,32734=>1000,32735=>1000,32736=>1000,32737=>1000,32738=>1000,32739=>1000,32740=>1000,32741=>1000,32742=>1000,32743=>1000,32744=>1000,32745=>1000,32746=>1000,32747=>1000,32748=>1000,32749=>1000,32750=>1000,32751=>1000,32752=>1000,32753=>1000,32754=>1000,32755=>1000,32756=>1000,32757=>1000,32758=>1000,32759=>1000,32760=>1000,32761=>1000,32762=>1000,32763=>1000,32764=>1000,32765=>1000,32766=>1000,32767=>1000,32768=>1000,32769=>1000,32770=>1000,32771=>1000,32772=>1000,32773=>1000,32774=>1000,32775=>1000,32776=>1000,32777=>1000,32778=>1000,32779=>1000,32780=>1000,32781=>1000,32782=>1000,32783=>1000,32784=>1000,32785=>1000,32786=>1000,32787=>1000,32788=>1000,32789=>1000,32790=>1000,32791=>1000,32792=>1000,32793=>1000,32794=>1000,32795=>1000,32796=>1000,32797=>1000,32798=>1000,32799=>1000,32800=>1000,32801=>1000,32802=>1000,32803=>1000,32804=>1000,32805=>1000,32806=>1000,32807=>1000,32808=>1000,32809=>1000,32810=>1000,32811=>1000,32812=>1000,32813=>1000,32814=>1000,32815=>1000,32816=>1000,32817=>1000,32818=>1000,32819=>1000,32820=>1000,32821=>1000,32822=>1000,32823=>1000,32824=>1000,32825=>1000,32826=>1000,32827=>1000,32828=>1000,32829=>1000,32830=>1000,32831=>1000,32832=>1000,32833=>1000,32834=>1000,32835=>1000,32836=>1000,32837=>1000,32838=>1000,32839=>1000,32840=>1000,32841=>1000,32842=>1000,32843=>1000,32844=>1000,32845=>1000,32846=>1000,32847=>1000,32848=>1000,32849=>1000,32850=>1000,32851=>1000,32852=>1000,32853=>1000,32854=>1000,32855=>1000,32856=>1000,32857=>1000,32858=>1000,32859=>1000,32860=>1000,32861=>1000,32862=>1000,32863=>1000,32864=>1000,32865=>1000,32866=>1000,32867=>1000,32868=>1000,32869=>1000,32870=>1000,32871=>1000,32872=>1000,32873=>1000,32874=>1000,32875=>1000,32876=>1000,32877=>1000,32878=>1000,32879=>1000,32880=>1000,32881=>1000,32882=>1000,32883=>1000,32884=>1000,32885=>1000,32886=>1000,32887=>1000,32888=>1000,32889=>1000,32890=>1000,32891=>1000,32892=>1000,32893=>1000,32894=>1000,32895=>1000,32896=>1000,32897=>1000,32898=>1000,32899=>1000,32900=>1000,32901=>1000,32902=>1000,32903=>1000,32904=>1000,32905=>1000,32906=>1000,32907=>1000,32908=>1000,32909=>1000,32910=>1000,32911=>1000,32912=>1000,32913=>1000,32914=>1000,32915=>1000,32916=>1000,32917=>1000,32918=>1000,32919=>1000,32920=>1000,32921=>1000,32922=>1000,32923=>1000,32924=>1000,32925=>1000,32926=>1000,32927=>1000,32928=>1000,32929=>1000,32930=>1000,32931=>1000,32932=>1000,32933=>1000,32934=>1000,32935=>1000,32936=>1000,32937=>1000,32938=>1000,32939=>1000,32940=>1000,32941=>1000,32942=>1000,32943=>1000,32944=>1000,32945=>1000,32946=>1000,32947=>1000,32948=>1000,32949=>1000,32950=>1000,32951=>1000,32952=>1000,32953=>1000,32954=>1000,32955=>1000,32956=>1000,32957=>1000,32958=>1000,32959=>1000,32960=>1000,32961=>1000,32962=>1000,32963=>1000,32964=>1000,32965=>1000,32966=>1000,32967=>1000,32968=>1000,32969=>1000,32970=>1000,32971=>1000,32972=>1000,32973=>1000,32974=>1000,32975=>1000,32976=>1000,32977=>1000,32978=>1000,32979=>1000,32980=>1000,32981=>1000,32982=>1000,32983=>1000,32984=>1000,32985=>1000,32986=>1000,32987=>1000,32988=>1000,32989=>1000,32990=>1000,32991=>1000,32992=>1000,32993=>1000,32994=>1000,32995=>1000,32996=>1000,32997=>1000,32998=>1000,32999=>1000,33000=>1000,33001=>1000,33002=>1000,33003=>1000,33004=>1000,33005=>1000,33006=>1000,33007=>1000,33008=>1000,33009=>1000,33010=>1000,33011=>1000,33012=>1000,33013=>1000,33014=>1000,33015=>1000,33016=>1000,33017=>1000,33018=>1000,33019=>1000,33020=>1000,33021=>1000,33022=>1000,33023=>1000,33024=>1000,33025=>1000,33026=>1000,33027=>1000,33028=>1000,33029=>1000,33030=>1000,33031=>1000,33032=>1000,33033=>1000,33034=>1000,33035=>1000,33036=>1000,33037=>1000,33038=>1000,33039=>1000,33040=>1000,33041=>1000,33042=>1000,33043=>1000,33044=>1000,33045=>1000,33046=>1000,33047=>1000,33048=>1000,33049=>1000,33050=>1000,33051=>1000,33052=>1000,33053=>1000,33054=>1000,33055=>1000,33056=>1000,33057=>1000,33058=>1000,33059=>1000,33060=>1000,33061=>1000,33062=>1000,33063=>1000,33064=>1000,33065=>1000,33066=>1000,33067=>1000,33068=>1000,33069=>1000,33070=>1000,33071=>1000,33072=>1000,33073=>1000,33074=>1000,33075=>1000,33076=>1000,33077=>1000,33078=>1000,33079=>1000,33080=>1000,33081=>1000,33082=>1000,33083=>1000,33084=>1000,33085=>1000,33086=>1000,33087=>1000,33088=>1000,33089=>1000,33090=>1000,33091=>1000,33092=>1000,33093=>1000,33094=>1000,33095=>1000,33096=>1000,33097=>1000,33098=>1000,33099=>1000,33100=>1000,33101=>1000,33102=>1000,33103=>1000,33104=>1000,33105=>1000,33106=>1000,33107=>1000,33108=>1000,33109=>1000,33110=>1000,33111=>1000,33112=>1000,33113=>1000,33114=>1000,33115=>1000,33116=>1000,33117=>1000,33118=>1000,33119=>1000,33120=>1000,33121=>1000,33122=>1000,33123=>1000,33124=>1000,33125=>1000,33126=>1000,33127=>1000,33128=>1000,33129=>1000,33130=>1000,33131=>1000,33132=>1000,33133=>1000,33134=>1000,33135=>1000,33136=>1000,33137=>1000,33138=>1000,33139=>1000,33140=>1000,33141=>1000,33142=>1000,33143=>1000,33144=>1000,33145=>1000,33146=>1000,33147=>1000,33148=>1000,33149=>1000,33150=>1000,33151=>1000,33152=>1000,33153=>1000,33154=>1000,33155=>1000,33156=>1000,33157=>1000,33158=>1000,33159=>1000,33160=>1000,33161=>1000,33162=>1000,33163=>1000,33164=>1000,33165=>1000,33166=>1000,33167=>1000,33168=>1000,33169=>1000,33170=>1000,33171=>1000,33172=>1000,33173=>1000,33174=>1000,33175=>1000,33176=>1000,33177=>1000,33178=>1000,33179=>1000,33180=>1000,33181=>1000,33182=>1000,33183=>1000,33184=>1000,33185=>1000,33186=>1000,33187=>1000,33188=>1000,33189=>1000,33190=>1000,33191=>1000,33192=>1000,33193=>1000,33194=>1000,33195=>1000,33196=>1000,33197=>1000,33198=>1000,33199=>1000,33200=>1000,33201=>1000,33202=>1000,33203=>1000,33204=>1000,33205=>1000,33206=>1000,33207=>1000,33208=>1000,33209=>1000,33210=>1000,33211=>1000,33212=>1000,33213=>1000,33214=>1000,33215=>1000,33216=>1000,33217=>1000,33218=>1000,33219=>1000,33220=>1000,33221=>1000,33222=>1000,33223=>1000,33224=>1000,33225=>1000,33226=>1000,33227=>1000,33228=>1000,33229=>1000,33230=>1000,33231=>1000,33232=>1000,33233=>1000,33234=>1000,33235=>1000,33236=>1000,33237=>1000,33238=>1000,33239=>1000,33240=>1000,33241=>1000,33242=>1000,33243=>1000,33244=>1000,33245=>1000,33246=>1000,33247=>1000,33248=>1000,33249=>1000,33250=>1000,33251=>1000,33252=>1000,33253=>1000,33254=>1000,33255=>1000,33256=>1000,33257=>1000,33258=>1000,33259=>1000,33260=>1000,33261=>1000,33262=>1000,33263=>1000,33264=>1000,33265=>1000,33266=>1000,33267=>1000,33268=>1000,33269=>1000,33270=>1000,33271=>1000,33272=>1000,33273=>1000,33274=>1000,33275=>1000,33276=>1000,33277=>1000,33278=>1000,33279=>1000,33280=>1000,33281=>1000,33282=>1000,33283=>1000,33284=>1000,33285=>1000,33286=>1000,33287=>1000,33288=>1000,33289=>1000,33290=>1000,33291=>1000,33292=>1000,33293=>1000,33294=>1000,33295=>1000,33296=>1000,33297=>1000,33298=>1000,33299=>1000,33300=>1000,33301=>1000,33302=>1000,33303=>1000,33304=>1000,33305=>1000,33306=>1000,33307=>1000,33308=>1000,33309=>1000,33310=>1000,33311=>1000,33312=>1000,33313=>1000,33314=>1000,33315=>1000,33316=>1000,33317=>1000,33318=>1000,33319=>1000,33320=>1000,33321=>1000,33322=>1000,33323=>1000,33324=>1000,33325=>1000,33326=>1000,33327=>1000,33328=>1000,33329=>1000,33330=>1000,33331=>1000,33332=>1000,33333=>1000,33334=>1000,33335=>1000,33336=>1000,33337=>1000,33338=>1000,33339=>1000,33340=>1000,33341=>1000,33342=>1000,33343=>1000,33344=>1000,33345=>1000,33346=>1000,33347=>1000,33348=>1000,33349=>1000,33350=>1000,33351=>1000,33352=>1000,33353=>1000,33354=>1000,33355=>1000,33356=>1000,33357=>1000,33358=>1000,33359=>1000,33360=>1000,33361=>1000,33362=>1000,33363=>1000,33364=>1000,33365=>1000,33366=>1000,33367=>1000,33368=>1000,33369=>1000,33370=>1000,33371=>1000,33372=>1000,33373=>1000,33374=>1000,33375=>1000,33376=>1000,33377=>1000,33378=>1000,33379=>1000,33380=>1000,33381=>1000,33382=>1000,33383=>1000,33384=>1000,33385=>1000,33386=>1000,33387=>1000,33388=>1000,33389=>1000,33390=>1000,33391=>1000,33392=>1000,33393=>1000,33394=>1000,33395=>1000,33396=>1000,33397=>1000,33398=>1000,33399=>1000,33400=>1000,33401=>1000,33402=>1000,33403=>1000,33404=>1000,33405=>1000,33406=>1000,33407=>1000,33408=>1000,33409=>1000,33410=>1000,33411=>1000,33412=>1000,33413=>1000,33414=>1000,33415=>1000,33416=>1000,33417=>1000,33418=>1000,33419=>1000,33420=>1000,33421=>1000,33422=>1000,33423=>1000,33424=>1000,33425=>1000,33426=>1000,33427=>1000,33428=>1000,33429=>1000,33430=>1000,33431=>1000,33432=>1000,33433=>1000,33434=>1000,33435=>1000,33436=>1000,33437=>1000,33438=>1000,33439=>1000,33440=>1000,33441=>1000,33442=>1000,33443=>1000,33444=>1000,33445=>1000,33446=>1000,33447=>1000,33448=>1000,33449=>1000,33450=>1000,33451=>1000,33452=>1000,33453=>1000,33454=>1000,33455=>1000,33456=>1000,33457=>1000,33458=>1000,33459=>1000,33460=>1000,33461=>1000,33462=>1000,33463=>1000,33464=>1000,33465=>1000,33466=>1000,33467=>1000,33468=>1000,33469=>1000,33470=>1000,33471=>1000,33472=>1000,33473=>1000,33474=>1000,33475=>1000,33476=>1000,33477=>1000,33478=>1000,33479=>1000,33480=>1000,33481=>1000,33482=>1000,33483=>1000,33484=>1000,33485=>1000,33486=>1000,33487=>1000,33488=>1000,33489=>1000,33490=>1000,33491=>1000,33492=>1000,33493=>1000,33494=>1000,33495=>1000,33496=>1000,33497=>1000,33498=>1000,33499=>1000,33500=>1000,33501=>1000,33502=>1000,33503=>1000,33504=>1000,33505=>1000,33506=>1000,33507=>1000,33508=>1000,33509=>1000,33510=>1000,33511=>1000,33512=>1000,33513=>1000,33514=>1000,33515=>1000,33516=>1000,33517=>1000,33518=>1000,33519=>1000,33520=>1000,33521=>1000,33522=>1000,33523=>1000,33524=>1000,33525=>1000,33526=>1000,33527=>1000,33528=>1000,33529=>1000,33530=>1000,33531=>1000,33532=>1000,33533=>1000,33534=>1000,33535=>1000,33536=>1000,33537=>1000,33538=>1000,33539=>1000,33540=>1000,33541=>1000,33542=>1000,33543=>1000,33544=>1000,33545=>1000,33546=>1000,33547=>1000,33548=>1000,33549=>1000,33550=>1000,33551=>1000,33552=>1000,33553=>1000,33554=>1000,33555=>1000,33556=>1000,33557=>1000,33558=>1000,33559=>1000,33560=>1000,33561=>1000,33562=>1000,33563=>1000,33564=>1000,33565=>1000,33566=>1000,33567=>1000,33568=>1000,33569=>1000,33570=>1000,33571=>1000,33572=>1000,33573=>1000,33574=>1000,33575=>1000,33576=>1000,33577=>1000,33578=>1000,33579=>1000,33580=>1000,33581=>1000,33582=>1000,33583=>1000,33584=>1000,33585=>1000,33586=>1000,33587=>1000,33588=>1000,33589=>1000,33590=>1000,33591=>1000,33592=>1000,33593=>1000,33594=>1000,33595=>1000,33596=>1000,33597=>1000,33598=>1000,33599=>1000,33600=>1000,33601=>1000,33602=>1000,33603=>1000,33604=>1000,33605=>1000,33606=>1000,33607=>1000,33608=>1000,33609=>1000,33610=>1000,33611=>1000,33612=>1000,33613=>1000,33614=>1000,33615=>1000,33616=>1000,33617=>1000,33618=>1000,33619=>1000,33620=>1000,33621=>1000,33622=>1000,33623=>1000,33624=>1000,33625=>1000,33626=>1000,33627=>1000,33628=>1000,33629=>1000,33630=>1000,33631=>1000,33632=>1000,33633=>1000,33634=>1000,33635=>1000,33636=>1000,33637=>1000,33638=>1000,33639=>1000,33640=>1000,33641=>1000,33642=>1000,33643=>1000,33644=>1000,33645=>1000,33646=>1000,33647=>1000,33648=>1000,33649=>1000,33650=>1000,33651=>1000,33652=>1000,33653=>1000,33654=>1000,33655=>1000,33656=>1000,33657=>1000,33658=>1000,33659=>1000,33660=>1000,33661=>1000,33662=>1000,33663=>1000,33664=>1000,33665=>1000,33666=>1000,33667=>1000,33668=>1000,33669=>1000,33670=>1000,33671=>1000,33672=>1000,33673=>1000,33674=>1000,33675=>1000,33676=>1000,33677=>1000,33678=>1000,33679=>1000,33680=>1000,33681=>1000,33682=>1000,33683=>1000,33684=>1000,33685=>1000,33686=>1000,33687=>1000,33688=>1000,33689=>1000,33690=>1000,33691=>1000,33692=>1000,33693=>1000,33694=>1000,33695=>1000,33696=>1000,33697=>1000,33698=>1000,33699=>1000,33700=>1000,33701=>1000,33702=>1000,33703=>1000,33704=>1000,33705=>1000,33706=>1000,33707=>1000,33708=>1000,33709=>1000,33710=>1000,33711=>1000,33712=>1000,33713=>1000,33714=>1000,33715=>1000,33716=>1000,33717=>1000,33718=>1000,33719=>1000,33720=>1000,33721=>1000,33722=>1000,33723=>1000,33724=>1000,33725=>1000,33726=>1000,33727=>1000,33728=>1000,33729=>1000,33730=>1000,33731=>1000,33732=>1000,33733=>1000,33734=>1000,33735=>1000,33736=>1000,33737=>1000,33738=>1000,33739=>1000,33740=>1000,33741=>1000,33742=>1000,33743=>1000,33744=>1000,33745=>1000,33746=>1000,33747=>1000,33748=>1000,33749=>1000,33750=>1000,33751=>1000,33752=>1000,33753=>1000,33754=>1000,33755=>1000,33756=>1000,33757=>1000,33758=>1000,33759=>1000,33760=>1000,33761=>1000,33762=>1000,33763=>1000,33764=>1000,33765=>1000,33766=>1000,33767=>1000,33768=>1000,33769=>1000,33770=>1000,33771=>1000,33772=>1000,33773=>1000,33774=>1000,33775=>1000,33776=>1000,33777=>1000,33778=>1000,33779=>1000,33780=>1000,33781=>1000,33782=>1000,33783=>1000,33784=>1000,33785=>1000,33786=>1000,33787=>1000,33788=>1000,33789=>1000,33790=>1000,33791=>1000,33792=>1000,33793=>1000,33794=>1000,33795=>1000,33796=>1000,33797=>1000,33798=>1000,33799=>1000,33800=>1000,33801=>1000,33802=>1000,33803=>1000,33804=>1000,33805=>1000,33806=>1000,33807=>1000,33808=>1000,33809=>1000,33810=>1000,33811=>1000,33812=>1000,33813=>1000,33814=>1000,33815=>1000,33816=>1000,33817=>1000,33818=>1000,33819=>1000,33820=>1000,33821=>1000,33822=>1000,33823=>1000,33824=>1000,33825=>1000,33826=>1000,33827=>1000,33828=>1000,33829=>1000,33830=>1000,33831=>1000,33832=>1000,33833=>1000,33834=>1000,33835=>1000,33836=>1000,33837=>1000,33838=>1000,33839=>1000,33840=>1000,33841=>1000,33842=>1000,33843=>1000,33844=>1000,33845=>1000,33846=>1000,33847=>1000,33848=>1000,33849=>1000,33850=>1000,33851=>1000,33852=>1000,33853=>1000,33854=>1000,33855=>1000,33856=>1000,33857=>1000,33858=>1000,33859=>1000,33860=>1000,33861=>1000,33862=>1000,33863=>1000,33864=>1000,33865=>1000,33866=>1000,33867=>1000,33868=>1000,33869=>1000,33870=>1000,33871=>1000,33872=>1000,33873=>1000,33874=>1000,33875=>1000,33876=>1000,33877=>1000,33878=>1000,33879=>1000,33880=>1000,33881=>1000,33882=>1000,33883=>1000,33884=>1000,33885=>1000,33886=>1000,33887=>1000,33888=>1000,33889=>1000,33890=>1000,33891=>1000,33892=>1000,33893=>1000,33894=>1000,33895=>1000,33896=>1000,33897=>1000,33898=>1000,33899=>1000,33900=>1000,33901=>1000,33902=>1000,33903=>1000,33904=>1000,33905=>1000,33906=>1000,33907=>1000,33908=>1000,33909=>1000,33910=>1000,33911=>1000,33912=>1000,33913=>1000,33914=>1000,33915=>1000,33916=>1000,33917=>1000,33918=>1000,33919=>1000,33920=>1000,33921=>1000,33922=>1000,33923=>1000,33924=>1000,33925=>1000,33926=>1000,33927=>1000,33928=>1000,33929=>1000,33930=>1000,33931=>1000,33932=>1000,33933=>1000,33934=>1000,33935=>1000,33936=>1000,33937=>1000,33938=>1000,33939=>1000,33940=>1000,33941=>1000,33942=>1000,33943=>1000,33944=>1000,33945=>1000,33946=>1000,33947=>1000,33948=>1000,33949=>1000,33950=>1000,33951=>1000,33952=>1000,33953=>1000,33954=>1000,33955=>1000,33956=>1000,33957=>1000,33958=>1000,33959=>1000,33960=>1000,33961=>1000,33962=>1000,33963=>1000,33964=>1000,33965=>1000,33966=>1000,33967=>1000,33968=>1000,33969=>1000,33970=>1000,33971=>1000,33972=>1000,33973=>1000,33974=>1000,33975=>1000,33976=>1000,33977=>1000,33978=>1000,33979=>1000,33980=>1000,33981=>1000,33982=>1000,33983=>1000,33984=>1000,33985=>1000,33986=>1000,33987=>1000,33988=>1000,33989=>1000,33990=>1000,33991=>1000,33992=>1000,33993=>1000,33994=>1000,33995=>1000,33996=>1000,33997=>1000,33998=>1000,33999=>1000,34000=>1000,34001=>1000,34002=>1000,34003=>1000,34004=>1000,34005=>1000,34006=>1000,34007=>1000,34008=>1000,34009=>1000,34010=>1000,34011=>1000,34012=>1000,34013=>1000,34014=>1000,34015=>1000,34016=>1000,34017=>1000,34018=>1000,34019=>1000,34020=>1000,34021=>1000,34022=>1000,34023=>1000,34024=>1000,34025=>1000,34026=>1000,34027=>1000,34028=>1000,34029=>1000,34030=>1000,34031=>1000,34032=>1000,34033=>1000,34034=>1000,34035=>1000,34036=>1000,34037=>1000,34038=>1000,34039=>1000,34040=>1000,34041=>1000,34042=>1000,34043=>1000,34044=>1000,34045=>1000,34046=>1000,34047=>1000,34048=>1000,34049=>1000,34050=>1000,34051=>1000,34052=>1000,34053=>1000,34054=>1000,34055=>1000,34056=>1000,34057=>1000,34058=>1000,34059=>1000,34060=>1000,34061=>1000,34062=>1000,34063=>1000,34064=>1000,34065=>1000,34066=>1000,34067=>1000,34068=>1000,34069=>1000,34070=>1000,34071=>1000,34072=>1000,34073=>1000,34074=>1000,34075=>1000,34076=>1000,34077=>1000,34078=>1000,34079=>1000,34080=>1000,34081=>1000,34082=>1000,34083=>1000,34084=>1000,34085=>1000,34086=>1000,34087=>1000,34088=>1000,34089=>1000,34090=>1000,34091=>1000,34092=>1000,34093=>1000,34094=>1000,34095=>1000,34096=>1000,34097=>1000,34098=>1000,34099=>1000,34100=>1000,34101=>1000,34102=>1000,34103=>1000,34104=>1000,34105=>1000,34106=>1000,34107=>1000,34108=>1000,34109=>1000,34110=>1000,34111=>1000,34112=>1000,34113=>1000,34114=>1000,34115=>1000,34116=>1000,34117=>1000,34118=>1000,34119=>1000,34120=>1000,34121=>1000,34122=>1000,34123=>1000,34124=>1000,34125=>1000,34126=>1000,34127=>1000,34128=>1000,34129=>1000,34130=>1000,34131=>1000,34132=>1000,34133=>1000,34134=>1000,34135=>1000,34136=>1000,34137=>1000,34138=>1000,34139=>1000,34140=>1000,34141=>1000,34142=>1000,34143=>1000,34144=>1000,34145=>1000,34146=>1000,34147=>1000,34148=>1000,34149=>1000,34150=>1000,34151=>1000,34152=>1000,34153=>1000,34154=>1000,34155=>1000,34156=>1000,34157=>1000,34158=>1000,34159=>1000,34160=>1000,34161=>1000,34162=>1000,34163=>1000,34164=>1000,34165=>1000,34166=>1000,34167=>1000,34168=>1000,34169=>1000,34170=>1000,34171=>1000,34172=>1000,34173=>1000,34174=>1000,34175=>1000,34176=>1000,34177=>1000,34178=>1000,34179=>1000,34180=>1000,34181=>1000,34182=>1000,34183=>1000,34184=>1000,34185=>1000,34186=>1000,34187=>1000,34188=>1000,34189=>1000,34190=>1000,34191=>1000,34192=>1000,34193=>1000,34194=>1000,34195=>1000,34196=>1000,34197=>1000,34198=>1000,34199=>1000,34200=>1000,34201=>1000,34202=>1000,34203=>1000,34204=>1000,34205=>1000,34206=>1000,34207=>1000,34208=>1000,34209=>1000,34210=>1000,34211=>1000,34212=>1000,34213=>1000,34214=>1000,34215=>1000,34216=>1000,34217=>1000,34218=>1000,34219=>1000,34220=>1000,34221=>1000,34222=>1000,34223=>1000,34224=>1000,34225=>1000,34226=>1000,34227=>1000,34228=>1000,34229=>1000,34230=>1000,34231=>1000,34232=>1000,34233=>1000,34234=>1000,34235=>1000,34236=>1000,34237=>1000,34238=>1000,34239=>1000,34240=>1000,34241=>1000,34242=>1000,34243=>1000,34244=>1000,34245=>1000,34246=>1000,34247=>1000,34248=>1000,34249=>1000,34250=>1000,34251=>1000,34252=>1000,34253=>1000,34254=>1000,34255=>1000,34256=>1000,34257=>1000,34258=>1000,34259=>1000,34260=>1000,34261=>1000,34262=>1000,34263=>1000,34264=>1000,34265=>1000,34266=>1000,34267=>1000,34268=>1000,34269=>1000,34270=>1000,34271=>1000,34272=>1000,34273=>1000,34274=>1000,34275=>1000,34276=>1000,34277=>1000,34278=>1000,34279=>1000,34280=>1000,34281=>1000,34282=>1000,34283=>1000,34284=>1000,34285=>1000,34286=>1000,34287=>1000,34288=>1000,34289=>1000,34290=>1000,34291=>1000,34292=>1000,34293=>1000,34294=>1000,34295=>1000,34296=>1000,34297=>1000,34298=>1000,34299=>1000,34300=>1000,34301=>1000,34302=>1000,34303=>1000,34304=>1000,34305=>1000,34306=>1000,34307=>1000,34308=>1000,34309=>1000,34310=>1000,34311=>1000,34312=>1000,34313=>1000,34314=>1000,34315=>1000,34316=>1000,34317=>1000,34318=>1000,34319=>1000,34320=>1000,34321=>1000,34322=>1000,34323=>1000,34324=>1000,34325=>1000,34326=>1000,34327=>1000,34328=>1000,34329=>1000,34330=>1000,34331=>1000,34332=>1000,34333=>1000,34334=>1000,34335=>1000,34336=>1000,34337=>1000,34338=>1000,34339=>1000,34340=>1000,34341=>1000,34342=>1000,34343=>1000,34344=>1000,34345=>1000,34346=>1000,34347=>1000,34348=>1000,34349=>1000,34350=>1000,34351=>1000,34352=>1000,34353=>1000,34354=>1000,34355=>1000,34356=>1000,34357=>1000,34358=>1000,34359=>1000,34360=>1000,34361=>1000,34362=>1000,34363=>1000,34364=>1000,34365=>1000,34366=>1000,34367=>1000,34368=>1000,34369=>1000,34370=>1000,34371=>1000,34372=>1000,34373=>1000,34374=>1000,34375=>1000,34376=>1000,34377=>1000,34378=>1000,34379=>1000,34380=>1000,34381=>1000,34382=>1000,34383=>1000,34384=>1000,34385=>1000,34386=>1000,34387=>1000,34388=>1000,34389=>1000,34390=>1000,34391=>1000,34392=>1000,34393=>1000,34394=>1000,34395=>1000,34396=>1000,34397=>1000,34398=>1000,34399=>1000,34400=>1000,34401=>1000,34402=>1000,34403=>1000,34404=>1000,34405=>1000,34406=>1000,34407=>1000,34408=>1000,34409=>1000,34410=>1000,34411=>1000,34412=>1000,34413=>1000,34414=>1000,34415=>1000,34416=>1000,34417=>1000,34418=>1000,34419=>1000,34420=>1000,34421=>1000,34422=>1000,34423=>1000,34424=>1000,34425=>1000,34426=>1000,34427=>1000,34428=>1000,34429=>1000,34430=>1000,34431=>1000,34432=>1000,34433=>1000,34434=>1000,34435=>1000,34436=>1000,34437=>1000,34438=>1000,34439=>1000,34440=>1000,34441=>1000,34442=>1000,34443=>1000,34444=>1000,34445=>1000,34446=>1000,34447=>1000,34448=>1000,34449=>1000,34450=>1000,34451=>1000,34452=>1000,34453=>1000,34454=>1000,34455=>1000,34456=>1000,34457=>1000,34458=>1000,34459=>1000,34460=>1000,34461=>1000,34462=>1000,34463=>1000,34464=>1000,34465=>1000,34466=>1000,34467=>1000,34468=>1000,34469=>1000,34470=>1000,34471=>1000,34472=>1000,34473=>1000,34474=>1000,34475=>1000,34476=>1000,34477=>1000,34478=>1000,34479=>1000,34480=>1000,34481=>1000,34482=>1000,34483=>1000,34484=>1000,34485=>1000,34486=>1000,34487=>1000,34488=>1000,34489=>1000,34490=>1000,34491=>1000,34492=>1000,34493=>1000,34494=>1000,34495=>1000,34496=>1000,34497=>1000,34498=>1000,34499=>1000,34500=>1000,34501=>1000,34502=>1000,34503=>1000,34504=>1000,34505=>1000,34506=>1000,34507=>1000,34508=>1000,34509=>1000,34510=>1000,34511=>1000,34512=>1000,34513=>1000,34514=>1000,34515=>1000,34516=>1000,34517=>1000,34518=>1000,34519=>1000,34520=>1000,34521=>1000,34522=>1000,34523=>1000,34524=>1000,34525=>1000,34526=>1000,34527=>1000,34528=>1000,34529=>1000,34530=>1000,34531=>1000,34532=>1000,34533=>1000,34534=>1000,34535=>1000,34536=>1000,34537=>1000,34538=>1000,34539=>1000,34540=>1000,34541=>1000,34542=>1000,34543=>1000,34544=>1000,34545=>1000,34546=>1000,34547=>1000,34548=>1000,34549=>1000,34550=>1000,34551=>1000,34552=>1000,34553=>1000,34554=>1000,34555=>1000,34556=>1000,34557=>1000,34558=>1000,34559=>1000,34560=>1000,34561=>1000,34562=>1000,34563=>1000,34564=>1000,34565=>1000,34566=>1000,34567=>1000,34568=>1000,34569=>1000,34570=>1000,34571=>1000,34572=>1000,34573=>1000,34574=>1000,34575=>1000,34576=>1000,34577=>1000,34578=>1000,34579=>1000,34580=>1000,34581=>1000,34582=>1000,34583=>1000,34584=>1000,34585=>1000,34586=>1000,34587=>1000,34588=>1000,34589=>1000,34590=>1000,34591=>1000,34592=>1000,34593=>1000,34594=>1000,34595=>1000,34596=>1000,34597=>1000,34598=>1000,34599=>1000,34600=>1000,34601=>1000,34602=>1000,34603=>1000,34604=>1000,34605=>1000,34606=>1000,34607=>1000,34608=>1000,34609=>1000,34610=>1000,34611=>1000,34612=>1000,34613=>1000,34614=>1000,34615=>1000,34616=>1000,34617=>1000,34618=>1000,34619=>1000,34620=>1000,34621=>1000,34622=>1000,34623=>1000,34624=>1000,34625=>1000,34626=>1000,34627=>1000,34628=>1000,34629=>1000,34630=>1000,34631=>1000,34632=>1000,34633=>1000,34634=>1000,34635=>1000,34636=>1000,34637=>1000,34638=>1000,34639=>1000,34640=>1000,34641=>1000,34642=>1000,34643=>1000,34644=>1000,34645=>1000,34646=>1000,34647=>1000,34648=>1000,34649=>1000,34650=>1000,34651=>1000,34652=>1000,34653=>1000,34654=>1000,34655=>1000,34656=>1000,34657=>1000,34658=>1000,34659=>1000,34660=>1000,34661=>1000,34662=>1000,34663=>1000,34664=>1000,34665=>1000,34666=>1000,34667=>1000,34668=>1000,34669=>1000,34670=>1000,34671=>1000,34672=>1000,34673=>1000,34674=>1000,34675=>1000,34676=>1000,34677=>1000,34678=>1000,34679=>1000,34680=>1000,34681=>1000,34682=>1000,34683=>1000,34684=>1000,34685=>1000,34686=>1000,34687=>1000,34688=>1000,34689=>1000,34690=>1000,34691=>1000,34692=>1000,34693=>1000,34694=>1000,34695=>1000,34696=>1000,34697=>1000,34698=>1000,34699=>1000,34700=>1000,34701=>1000,34702=>1000,34703=>1000,34704=>1000,34705=>1000,34706=>1000,34707=>1000,34708=>1000,34709=>1000,34710=>1000,34711=>1000,34712=>1000,34713=>1000,34714=>1000,34715=>1000,34716=>1000,34717=>1000,34718=>1000,34719=>1000,34720=>1000,34721=>1000,34722=>1000,34723=>1000,34724=>1000,34725=>1000,34726=>1000,34727=>1000,34728=>1000,34729=>1000,34730=>1000,34731=>1000,34732=>1000,34733=>1000,34734=>1000,34735=>1000,34736=>1000,34737=>1000,34738=>1000,34739=>1000,34740=>1000,34741=>1000,34742=>1000,34743=>1000,34744=>1000,34745=>1000,34746=>1000,34747=>1000,34748=>1000,34749=>1000,34750=>1000,34751=>1000,34752=>1000,34753=>1000,34754=>1000,34755=>1000,34756=>1000,34757=>1000,34758=>1000,34759=>1000,34760=>1000,34761=>1000,34762=>1000,34763=>1000,34764=>1000,34765=>1000,34766=>1000,34767=>1000,34768=>1000,34769=>1000,34770=>1000,34771=>1000,34772=>1000,34773=>1000,34774=>1000,34775=>1000,34776=>1000,34777=>1000,34778=>1000,34779=>1000,34780=>1000,34781=>1000,34782=>1000,34783=>1000,34784=>1000,34785=>1000,34786=>1000,34787=>1000,34788=>1000,34789=>1000,34790=>1000,34791=>1000,34792=>1000,34793=>1000,34794=>1000,34795=>1000,34796=>1000,34797=>1000,34798=>1000,34799=>1000,34800=>1000,34801=>1000,34802=>1000,34803=>1000,34804=>1000,34805=>1000,34806=>1000,34807=>1000,34808=>1000,34809=>1000,34810=>1000,34811=>1000,34812=>1000,34813=>1000,34814=>1000,34815=>1000,34816=>1000,34817=>1000,34818=>1000,34819=>1000,34820=>1000,34821=>1000,34822=>1000,34823=>1000,34824=>1000,34825=>1000,34826=>1000,34827=>1000,34828=>1000,34829=>1000,34830=>1000,34831=>1000,34832=>1000,34833=>1000,34834=>1000,34835=>1000,34836=>1000,34837=>1000,34838=>1000,34839=>1000,34840=>1000,34841=>1000,34842=>1000,34843=>1000,34844=>1000,34845=>1000,34846=>1000,34847=>1000,34848=>1000,34849=>1000,34850=>1000,34851=>1000,34852=>1000,34853=>1000,34854=>1000,34855=>1000,34856=>1000,34857=>1000,34858=>1000,34859=>1000,34860=>1000,34861=>1000,34862=>1000,34863=>1000,34864=>1000,34865=>1000,34866=>1000,34867=>1000,34868=>1000,34869=>1000,34870=>1000,34871=>1000,34872=>1000,34873=>1000,34874=>1000,34875=>1000,34876=>1000,34877=>1000,34878=>1000,34879=>1000,34880=>1000,34881=>1000,34882=>1000,34883=>1000,34884=>1000,34885=>1000,34886=>1000,34887=>1000,34888=>1000,34889=>1000,34890=>1000,34891=>1000,34892=>1000,34893=>1000,34894=>1000,34895=>1000,34896=>1000,34897=>1000,34898=>1000,34899=>1000,34900=>1000,34901=>1000,34902=>1000,34903=>1000,34904=>1000,34905=>1000,34906=>1000,34907=>1000,34908=>1000,34909=>1000,34910=>1000,34911=>1000,34912=>1000,34913=>1000,34914=>1000,34915=>1000,34916=>1000,34917=>1000,34918=>1000,34919=>1000,34920=>1000,34921=>1000,34922=>1000,34923=>1000,34924=>1000,34925=>1000,34926=>1000,34927=>1000,34928=>1000,34929=>1000,34930=>1000,34931=>1000,34932=>1000,34933=>1000,34934=>1000,34935=>1000,34936=>1000,34937=>1000,34938=>1000,34939=>1000,34940=>1000,34941=>1000,34942=>1000,34943=>1000,34944=>1000,34945=>1000,34946=>1000,34947=>1000,34948=>1000,34949=>1000,34950=>1000,34951=>1000,34952=>1000,34953=>1000,34954=>1000,34955=>1000,34956=>1000,34957=>1000,34958=>1000,34959=>1000,34960=>1000,34961=>1000,34962=>1000,34963=>1000,34964=>1000,34965=>1000,34966=>1000,34967=>1000,34968=>1000,34969=>1000,34970=>1000,34971=>1000,34972=>1000,34973=>1000,34974=>1000,34975=>1000,34976=>1000,34977=>1000,34978=>1000,34979=>1000,34980=>1000,34981=>1000,34982=>1000,34983=>1000,34984=>1000,34985=>1000,34986=>1000,34987=>1000,34988=>1000,34989=>1000,34990=>1000,34991=>1000,34992=>1000,34993=>1000,34994=>1000,34995=>1000,34996=>1000,34997=>1000,34998=>1000,34999=>1000,35000=>1000,35001=>1000,35002=>1000,35003=>1000,35004=>1000,35005=>1000,35006=>1000,35007=>1000,35008=>1000,35009=>1000,35010=>1000,35011=>1000,35012=>1000,35013=>1000,35014=>1000,35015=>1000,35016=>1000,35017=>1000,35018=>1000,35019=>1000,35020=>1000,35021=>1000,35022=>1000,35023=>1000,35024=>1000,35025=>1000,35026=>1000,35027=>1000,35028=>1000,35029=>1000,35030=>1000,35031=>1000,35032=>1000,35033=>1000,35034=>1000,35035=>1000,35036=>1000,35037=>1000,35038=>1000,35039=>1000,35040=>1000,35041=>1000,35042=>1000,35043=>1000,35044=>1000,35045=>1000,35046=>1000,35047=>1000,35048=>1000,35049=>1000,35050=>1000,35051=>1000,35052=>1000,35053=>1000,35054=>1000,35055=>1000,35056=>1000,35057=>1000,35058=>1000,35059=>1000,35060=>1000,35061=>1000,35062=>1000,35063=>1000,35064=>1000,35065=>1000,35066=>1000,35067=>1000,35068=>1000,35069=>1000,35070=>1000,35071=>1000,35072=>1000,35073=>1000,35074=>1000,35075=>1000,35076=>1000,35077=>1000,35078=>1000,35079=>1000,35080=>1000,35081=>1000,35082=>1000,35083=>1000,35084=>1000,35085=>1000,35086=>1000,35087=>1000,35088=>1000,35089=>1000,35090=>1000,35091=>1000,35092=>1000,35093=>1000,35094=>1000,35095=>1000,35096=>1000,35097=>1000,35098=>1000,35099=>1000,35100=>1000,35101=>1000,35102=>1000,35103=>1000,35104=>1000,35105=>1000,35106=>1000,35107=>1000,35108=>1000,35109=>1000,35110=>1000,35111=>1000,35112=>1000,35113=>1000,35114=>1000,35115=>1000,35116=>1000,35117=>1000,35118=>1000,35119=>1000,35120=>1000,35121=>1000,35122=>1000,35123=>1000,35124=>1000,35125=>1000,35126=>1000,35127=>1000,35128=>1000,35129=>1000,35130=>1000,35131=>1000,35132=>1000,35133=>1000,35134=>1000,35135=>1000,35136=>1000,35137=>1000,35138=>1000,35139=>1000,35140=>1000,35141=>1000,35142=>1000,35143=>1000,35144=>1000,35145=>1000,35146=>1000,35147=>1000,35148=>1000,35149=>1000,35150=>1000,35151=>1000,35152=>1000,35153=>1000,35154=>1000,35155=>1000,35156=>1000,35157=>1000,35158=>1000,35159=>1000,35160=>1000,35161=>1000,35162=>1000,35163=>1000,35164=>1000,35165=>1000,35166=>1000,35167=>1000,35168=>1000,35169=>1000,35170=>1000,35171=>1000,35172=>1000,35173=>1000,35174=>1000,35175=>1000,35176=>1000,35177=>1000,35178=>1000,35179=>1000,35180=>1000,35181=>1000,35182=>1000,35183=>1000,35184=>1000,35185=>1000,35186=>1000,35187=>1000,35188=>1000,35189=>1000,35190=>1000,35191=>1000,35192=>1000,35193=>1000,35194=>1000,35195=>1000,35196=>1000,35197=>1000,35198=>1000,35199=>1000,35200=>1000,35201=>1000,35202=>1000,35203=>1000,35204=>1000,35205=>1000,35206=>1000,35207=>1000,35208=>1000,35209=>1000,35210=>1000,35211=>1000,35212=>1000,35213=>1000,35214=>1000,35215=>1000,35216=>1000,35217=>1000,35218=>1000,35219=>1000,35220=>1000,35221=>1000,35222=>1000,35223=>1000,35224=>1000,35225=>1000,35226=>1000,35227=>1000,35228=>1000,35229=>1000,35230=>1000,35231=>1000,35232=>1000,35233=>1000,35234=>1000,35235=>1000,35236=>1000,35237=>1000,35238=>1000,35239=>1000,35240=>1000,35241=>1000,35242=>1000,35243=>1000,35244=>1000,35245=>1000,35246=>1000,35247=>1000,35248=>1000,35249=>1000,35250=>1000,35251=>1000,35252=>1000,35253=>1000,35254=>1000,35255=>1000,35256=>1000,35257=>1000,35258=>1000,35259=>1000,35260=>1000,35261=>1000,35262=>1000,35263=>1000,35264=>1000,35265=>1000,35266=>1000,35267=>1000,35268=>1000,35269=>1000,35270=>1000,35271=>1000,35272=>1000,35273=>1000,35274=>1000,35275=>1000,35276=>1000,35277=>1000,35278=>1000,35279=>1000,35280=>1000,35281=>1000,35282=>1000,35283=>1000,35284=>1000,35285=>1000,35286=>1000,35287=>1000,35288=>1000,35289=>1000,35290=>1000,35291=>1000,35292=>1000,35293=>1000,35294=>1000,35295=>1000,35296=>1000,35297=>1000,35298=>1000,35299=>1000,35300=>1000,35301=>1000,35302=>1000,35303=>1000,35304=>1000,35305=>1000,35306=>1000,35307=>1000,35308=>1000,35309=>1000,35310=>1000,35311=>1000,35312=>1000,35313=>1000,35314=>1000,35315=>1000,35316=>1000,35317=>1000,35318=>1000,35319=>1000,35320=>1000,35321=>1000,35322=>1000,35323=>1000,35324=>1000,35325=>1000,35326=>1000,35327=>1000,35328=>1000,35329=>1000,35330=>1000,35331=>1000,35332=>1000,35333=>1000,35334=>1000,35335=>1000,35336=>1000,35337=>1000,35338=>1000,35339=>1000,35340=>1000,35341=>1000,35342=>1000,35343=>1000,35344=>1000,35345=>1000,35346=>1000,35347=>1000,35348=>1000,35349=>1000,35350=>1000,35351=>1000,35352=>1000,35353=>1000,35354=>1000,35355=>1000,35356=>1000,35357=>1000,35358=>1000,35359=>1000,35360=>1000,35361=>1000,35362=>1000,35363=>1000,35364=>1000,35365=>1000,35366=>1000,35367=>1000,35368=>1000,35369=>1000,35370=>1000,35371=>1000,35372=>1000,35373=>1000,35374=>1000,35375=>1000,35376=>1000,35377=>1000,35378=>1000,35379=>1000,35380=>1000,35381=>1000,35382=>1000,35383=>1000,35384=>1000,35385=>1000,35386=>1000,35387=>1000,35388=>1000,35389=>1000,35390=>1000,35391=>1000,35392=>1000,35393=>1000,35394=>1000,35395=>1000,35396=>1000,35397=>1000,35398=>1000,35399=>1000,35400=>1000,35401=>1000,35402=>1000,35403=>1000,35404=>1000,35405=>1000,35406=>1000,35407=>1000,35408=>1000,35409=>1000,35410=>1000,35411=>1000,35412=>1000,35413=>1000,35414=>1000,35415=>1000,35416=>1000,35417=>1000,35418=>1000,35419=>1000,35420=>1000,35421=>1000,35422=>1000,35423=>1000,35424=>1000,35425=>1000,35426=>1000,35427=>1000,35428=>1000,35429=>1000,35430=>1000,35431=>1000,35432=>1000,35433=>1000,35434=>1000,35435=>1000,35436=>1000,35437=>1000,35438=>1000,35439=>1000,35440=>1000,35441=>1000,35442=>1000,35443=>1000,35444=>1000,35445=>1000,35446=>1000,35447=>1000,35448=>1000,35449=>1000,35450=>1000,35451=>1000,35452=>1000,35453=>1000,35454=>1000,35455=>1000,35456=>1000,35457=>1000,35458=>1000,35459=>1000,35460=>1000,35461=>1000,35462=>1000,35463=>1000,35464=>1000,35465=>1000,35466=>1000,35467=>1000,35468=>1000,35469=>1000,35470=>1000,35471=>1000,35472=>1000,35473=>1000,35474=>1000,35475=>1000,35476=>1000,35477=>1000,35478=>1000,35479=>1000,35480=>1000,35481=>1000,35482=>1000,35483=>1000,35484=>1000,35485=>1000,35486=>1000,35487=>1000,35488=>1000,35489=>1000,35490=>1000,35491=>1000,35492=>1000,35493=>1000,35494=>1000,35495=>1000,35496=>1000,35497=>1000,35498=>1000,35499=>1000,35500=>1000,35501=>1000,35502=>1000,35503=>1000,35504=>1000,35505=>1000,35506=>1000,35507=>1000,35508=>1000,35509=>1000,35510=>1000,35511=>1000,35512=>1000,35513=>1000,35514=>1000,35515=>1000,35516=>1000,35517=>1000,35518=>1000,35519=>1000,35520=>1000,35521=>1000,35522=>1000,35523=>1000,35524=>1000,35525=>1000,35526=>1000,35527=>1000,35528=>1000,35529=>1000,35530=>1000,35531=>1000,35532=>1000,35533=>1000,35534=>1000,35535=>1000,35536=>1000,35537=>1000,35538=>1000,35539=>1000,35540=>1000,35541=>1000,35542=>1000,35543=>1000,35544=>1000,35545=>1000,35546=>1000,35547=>1000,35548=>1000,35549=>1000,35550=>1000,35551=>1000,35552=>1000,35553=>1000,35554=>1000,35555=>1000,35556=>1000,35557=>1000,35558=>1000,35559=>1000,35560=>1000,35561=>1000,35562=>1000,35563=>1000,35564=>1000,35565=>1000,35566=>1000,35567=>1000,35568=>1000,35569=>1000,35570=>1000,35571=>1000,35572=>1000,35573=>1000,35574=>1000,35575=>1000,35576=>1000,35577=>1000,35578=>1000,35579=>1000,35580=>1000,35581=>1000,35582=>1000,35583=>1000,35584=>1000,35585=>1000,35586=>1000,35587=>1000,35588=>1000,35589=>1000,35590=>1000,35591=>1000,35592=>1000,35593=>1000,35594=>1000,35595=>1000,35596=>1000,35597=>1000,35598=>1000,35599=>1000,35600=>1000,35601=>1000,35602=>1000,35603=>1000,35604=>1000,35605=>1000,35606=>1000,35607=>1000,35608=>1000,35609=>1000,35610=>1000,35611=>1000,35612=>1000,35613=>1000,35614=>1000,35615=>1000,35616=>1000,35617=>1000,35618=>1000,35619=>1000,35620=>1000,35621=>1000,35622=>1000,35623=>1000,35624=>1000,35625=>1000,35626=>1000,35627=>1000,35628=>1000,35629=>1000,35630=>1000,35631=>1000,35632=>1000,35633=>1000,35634=>1000,35635=>1000,35636=>1000,35637=>1000,35638=>1000,35639=>1000,35640=>1000,35641=>1000,35642=>1000,35643=>1000,35644=>1000,35645=>1000,35646=>1000,35647=>1000,35648=>1000,35649=>1000,35650=>1000,35651=>1000,35652=>1000,35653=>1000,35654=>1000,35655=>1000,35656=>1000,35657=>1000,35658=>1000,35659=>1000,35660=>1000,35661=>1000,35662=>1000,35663=>1000,35664=>1000,35665=>1000,35666=>1000,35667=>1000,35668=>1000,35669=>1000,35670=>1000,35671=>1000,35672=>1000,35673=>1000,35674=>1000,35675=>1000,35676=>1000,35677=>1000,35678=>1000,35679=>1000,35680=>1000,35681=>1000,35682=>1000,35683=>1000,35684=>1000,35685=>1000,35686=>1000,35687=>1000,35688=>1000,35689=>1000,35690=>1000,35691=>1000,35692=>1000,35693=>1000,35694=>1000,35695=>1000,35696=>1000,35697=>1000,35698=>1000,35699=>1000,35700=>1000,35701=>1000,35702=>1000,35703=>1000,35704=>1000,35705=>1000,35706=>1000,35707=>1000,35708=>1000,35709=>1000,35710=>1000,35711=>1000,35712=>1000,35713=>1000,35714=>1000,35715=>1000,35716=>1000,35717=>1000,35718=>1000,35719=>1000,35720=>1000,35721=>1000,35722=>1000,35723=>1000,35724=>1000,35725=>1000,35726=>1000,35727=>1000,35728=>1000,35729=>1000,35730=>1000,35731=>1000,35732=>1000,35733=>1000,35734=>1000,35735=>1000,35736=>1000,35737=>1000,35738=>1000,35739=>1000,35740=>1000,35741=>1000,35742=>1000,35743=>1000,35744=>1000,35745=>1000,35746=>1000,35747=>1000,35748=>1000,35749=>1000,35750=>1000,35751=>1000,35752=>1000,35753=>1000,35754=>1000,35755=>1000,35756=>1000,35757=>1000,35758=>1000,35759=>1000,35760=>1000,35761=>1000,35762=>1000,35763=>1000,35764=>1000,35765=>1000,35766=>1000,35767=>1000,35768=>1000,35769=>1000,35770=>1000,35771=>1000,35772=>1000,35773=>1000,35774=>1000,35775=>1000,35776=>1000,35777=>1000,35778=>1000,35779=>1000,35780=>1000,35781=>1000,35782=>1000,35783=>1000,35784=>1000,35785=>1000,35786=>1000,35787=>1000,35788=>1000,35789=>1000,35790=>1000,35791=>1000,35792=>1000,35793=>1000,35794=>1000,35795=>1000,35796=>1000,35797=>1000,35798=>1000,35799=>1000,35800=>1000,35801=>1000,35802=>1000,35803=>1000,35804=>1000,35805=>1000,35806=>1000,35807=>1000,35808=>1000,35809=>1000,35810=>1000,35811=>1000,35812=>1000,35813=>1000,35814=>1000,35815=>1000,35816=>1000,35817=>1000,35818=>1000,35819=>1000,35820=>1000,35821=>1000,35822=>1000,35823=>1000,35824=>1000,35825=>1000,35826=>1000,35827=>1000,35828=>1000,35829=>1000,35830=>1000,35831=>1000,35832=>1000,35833=>1000,35834=>1000,35835=>1000,35836=>1000,35837=>1000,35838=>1000,35839=>1000,35840=>1000,35841=>1000,35842=>1000,35843=>1000,35844=>1000,35845=>1000,35846=>1000,35847=>1000,35848=>1000,35849=>1000,35850=>1000,35851=>1000,35852=>1000,35853=>1000,35854=>1000,35855=>1000,35856=>1000,35857=>1000,35858=>1000,35859=>1000,35860=>1000,35861=>1000,35862=>1000,35863=>1000,35864=>1000,35865=>1000,35866=>1000,35867=>1000,35868=>1000,35869=>1000,35870=>1000,35871=>1000,35872=>1000,35873=>1000,35874=>1000,35875=>1000,35876=>1000,35877=>1000,35878=>1000,35879=>1000,35880=>1000,35881=>1000,35882=>1000,35883=>1000,35884=>1000,35885=>1000,35886=>1000,35887=>1000,35888=>1000,35889=>1000,35890=>1000,35891=>1000,35892=>1000,35893=>1000,35894=>1000,35895=>1000,35896=>1000,35897=>1000,35898=>1000,35899=>1000,35900=>1000,35901=>1000,35902=>1000,35903=>1000,35904=>1000,35905=>1000,35906=>1000,35907=>1000,35908=>1000,35909=>1000,35910=>1000,35911=>1000,35912=>1000,35913=>1000,35914=>1000,35915=>1000,35916=>1000,35917=>1000,35918=>1000,35919=>1000,35920=>1000,35921=>1000,35922=>1000,35923=>1000,35924=>1000,35925=>1000,35926=>1000,35927=>1000,35928=>1000,35929=>1000,35930=>1000,35931=>1000,35932=>1000,35933=>1000,35934=>1000,35935=>1000,35936=>1000,35937=>1000,35938=>1000,35939=>1000,35940=>1000,35941=>1000,35942=>1000,35943=>1000,35944=>1000,35945=>1000,35946=>1000,35947=>1000,35948=>1000,35949=>1000,35950=>1000,35951=>1000,35952=>1000,35953=>1000,35954=>1000,35955=>1000,35956=>1000,35957=>1000,35958=>1000,35959=>1000,35960=>1000,35961=>1000,35962=>1000,35963=>1000,35964=>1000,35965=>1000,35966=>1000,35967=>1000,35968=>1000,35969=>1000,35970=>1000,35971=>1000,35972=>1000,35973=>1000,35974=>1000,35975=>1000,35976=>1000,35977=>1000,35978=>1000,35979=>1000,35980=>1000,35981=>1000,35982=>1000,35983=>1000,35984=>1000,35985=>1000,35986=>1000,35987=>1000,35988=>1000,35989=>1000,35990=>1000,35991=>1000,35992=>1000,35993=>1000,35994=>1000,35995=>1000,35996=>1000,35997=>1000,35998=>1000,35999=>1000,36000=>1000,36001=>1000,36002=>1000,36003=>1000,36004=>1000,36005=>1000,36006=>1000,36007=>1000,36008=>1000,36009=>1000,36010=>1000,36011=>1000,36012=>1000,36013=>1000,36014=>1000,36015=>1000,36016=>1000,36017=>1000,36018=>1000,36019=>1000,36020=>1000,36021=>1000,36022=>1000,36023=>1000,36024=>1000,36025=>1000,36026=>1000,36027=>1000,36028=>1000,36029=>1000,36030=>1000,36031=>1000,36032=>1000,36033=>1000,36034=>1000,36035=>1000,36036=>1000,36037=>1000,36038=>1000,36039=>1000,36040=>1000,36041=>1000,36042=>1000,36043=>1000,36044=>1000,36045=>1000,36046=>1000,36047=>1000,36048=>1000,36049=>1000,36050=>1000,36051=>1000,36052=>1000,36053=>1000,36054=>1000,36055=>1000,36056=>1000,36057=>1000,36058=>1000,36059=>1000,36060=>1000,36061=>1000,36062=>1000,36063=>1000,36064=>1000,36065=>1000,36066=>1000,36067=>1000,36068=>1000,36069=>1000,36070=>1000,36071=>1000,36072=>1000,36073=>1000,36074=>1000,36075=>1000,36076=>1000,36077=>1000,36078=>1000,36079=>1000,36080=>1000,36081=>1000,36082=>1000,36083=>1000,36084=>1000,36085=>1000,36086=>1000,36087=>1000,36088=>1000,36089=>1000,36090=>1000,36091=>1000,36092=>1000,36093=>1000,36094=>1000,36095=>1000,36096=>1000,36097=>1000,36098=>1000,36099=>1000,36100=>1000,36101=>1000,36102=>1000,36103=>1000,36104=>1000,36105=>1000,36106=>1000,36107=>1000,36108=>1000,36109=>1000,36110=>1000,36111=>1000,36112=>1000,36113=>1000,36114=>1000,36115=>1000,36116=>1000,36117=>1000,36118=>1000,36119=>1000,36120=>1000,36121=>1000,36122=>1000,36123=>1000,36124=>1000,36125=>1000,36126=>1000,36127=>1000,36128=>1000,36129=>1000,36130=>1000,36131=>1000,36132=>1000,36133=>1000,36134=>1000,36135=>1000,36136=>1000,36137=>1000,36138=>1000,36139=>1000,36140=>1000,36141=>1000,36142=>1000,36143=>1000,36144=>1000,36145=>1000,36146=>1000,36147=>1000,36148=>1000,36149=>1000,36150=>1000,36151=>1000,36152=>1000,36153=>1000,36154=>1000,36155=>1000,36156=>1000,36157=>1000,36158=>1000,36159=>1000,36160=>1000,36161=>1000,36162=>1000,36163=>1000,36164=>1000,36165=>1000,36166=>1000,36167=>1000,36168=>1000,36169=>1000,36170=>1000,36171=>1000,36172=>1000,36173=>1000,36174=>1000,36175=>1000,36176=>1000,36177=>1000,36178=>1000,36179=>1000,36180=>1000,36181=>1000,36182=>1000,36183=>1000,36184=>1000,36185=>1000,36186=>1000,36187=>1000,36188=>1000,36189=>1000,36190=>1000,36191=>1000,36192=>1000,36193=>1000,36194=>1000,36195=>1000,36196=>1000,36197=>1000,36198=>1000,36199=>1000,36200=>1000,36201=>1000,36202=>1000,36203=>1000,36204=>1000,36205=>1000,36206=>1000,36207=>1000,36208=>1000,36209=>1000,36210=>1000,36211=>1000,36212=>1000,36213=>1000,36214=>1000,36215=>1000,36216=>1000,36217=>1000,36218=>1000,36219=>1000,36220=>1000,36221=>1000,36222=>1000,36223=>1000,36224=>1000,36225=>1000,36226=>1000,36227=>1000,36228=>1000,36229=>1000,36230=>1000,36231=>1000,36232=>1000,36233=>1000,36234=>1000,36235=>1000,36236=>1000,36237=>1000,36238=>1000,36239=>1000,36240=>1000,36241=>1000,36242=>1000,36243=>1000,36244=>1000,36245=>1000,36246=>1000,36247=>1000,36248=>1000,36249=>1000,36250=>1000,36251=>1000,36252=>1000,36253=>1000,36254=>1000,36255=>1000,36256=>1000,36257=>1000,36258=>1000,36259=>1000,36260=>1000,36261=>1000,36262=>1000,36263=>1000,36264=>1000,36265=>1000,36266=>1000,36267=>1000,36268=>1000,36269=>1000,36270=>1000,36271=>1000,36272=>1000,36273=>1000,36274=>1000,36275=>1000,36276=>1000,36277=>1000,36278=>1000,36279=>1000,36280=>1000,36281=>1000,36282=>1000,36283=>1000,36284=>1000,36285=>1000,36286=>1000,36287=>1000,36288=>1000,36289=>1000,36290=>1000,36291=>1000,36292=>1000,36293=>1000,36294=>1000,36295=>1000,36296=>1000,36297=>1000,36298=>1000,36299=>1000,36300=>1000,36301=>1000,36302=>1000,36303=>1000,36304=>1000,36305=>1000,36306=>1000,36307=>1000,36308=>1000,36309=>1000,36310=>1000,36311=>1000,36312=>1000,36313=>1000,36314=>1000,36315=>1000,36316=>1000,36317=>1000,36318=>1000,36319=>1000,36320=>1000,36321=>1000,36322=>1000,36323=>1000,36324=>1000,36325=>1000,36326=>1000,36327=>1000,36328=>1000,36329=>1000,36330=>1000,36331=>1000,36332=>1000,36333=>1000,36334=>1000,36335=>1000,36336=>1000,36337=>1000,36338=>1000,36339=>1000,36340=>1000,36341=>1000,36342=>1000,36343=>1000,36344=>1000,36345=>1000,36346=>1000,36347=>1000,36348=>1000,36349=>1000,36350=>1000,36351=>1000,36352=>1000,36353=>1000,36354=>1000,36355=>1000,36356=>1000,36357=>1000,36358=>1000,36359=>1000,36360=>1000,36361=>1000,36362=>1000,36363=>1000,36364=>1000,36365=>1000,36366=>1000,36367=>1000,36368=>1000,36369=>1000,36370=>1000,36371=>1000,36372=>1000,36373=>1000,36374=>1000,36375=>1000,36376=>1000,36377=>1000,36378=>1000,36379=>1000,36380=>1000,36381=>1000,36382=>1000,36383=>1000,36384=>1000,36385=>1000,36386=>1000,36387=>1000,36388=>1000,36389=>1000,36390=>1000,36391=>1000,36392=>1000,36393=>1000,36394=>1000,36395=>1000,36396=>1000,36397=>1000,36398=>1000,36399=>1000,36400=>1000,36401=>1000,36402=>1000,36403=>1000,36404=>1000,36405=>1000,36406=>1000,36407=>1000,36408=>1000,36409=>1000,36410=>1000,36411=>1000,36412=>1000,36413=>1000,36414=>1000,36415=>1000,36416=>1000,36417=>1000,36418=>1000,36419=>1000,36420=>1000,36421=>1000,36422=>1000,36423=>1000,36424=>1000,36425=>1000,36426=>1000,36427=>1000,36428=>1000,36429=>1000,36430=>1000,36431=>1000,36432=>1000,36433=>1000,36434=>1000,36435=>1000,36436=>1000,36437=>1000,36438=>1000,36439=>1000,36440=>1000,36441=>1000,36442=>1000,36443=>1000,36444=>1000,36445=>1000,36446=>1000,36447=>1000,36448=>1000,36449=>1000,36450=>1000,36451=>1000,36452=>1000,36453=>1000,36454=>1000,36455=>1000,36456=>1000,36457=>1000,36458=>1000,36459=>1000,36460=>1000,36461=>1000,36462=>1000,36463=>1000,36464=>1000,36465=>1000,36466=>1000,36467=>1000,36468=>1000,36469=>1000,36470=>1000,36471=>1000,36472=>1000,36473=>1000,36474=>1000,36475=>1000,36476=>1000,36477=>1000,36478=>1000,36479=>1000,36480=>1000,36481=>1000,36482=>1000,36483=>1000,36484=>1000,36485=>1000,36486=>1000,36487=>1000,36488=>1000,36489=>1000,36490=>1000,36491=>1000,36492=>1000,36493=>1000,36494=>1000,36495=>1000,36496=>1000,36497=>1000,36498=>1000,36499=>1000,36500=>1000,36501=>1000,36502=>1000,36503=>1000,36504=>1000,36505=>1000,36506=>1000,36507=>1000,36508=>1000,36509=>1000,36510=>1000,36511=>1000,36512=>1000,36513=>1000,36514=>1000,36515=>1000,36516=>1000,36517=>1000,36518=>1000,36519=>1000,36520=>1000,36521=>1000,36522=>1000,36523=>1000,36524=>1000,36525=>1000,36526=>1000,36527=>1000,36528=>1000,36529=>1000,36530=>1000,36531=>1000,36532=>1000,36533=>1000,36534=>1000,36535=>1000,36536=>1000,36537=>1000,36538=>1000,36539=>1000,36540=>1000,36541=>1000,36542=>1000,36543=>1000,36544=>1000,36545=>1000,36546=>1000,36547=>1000,36548=>1000,36549=>1000,36550=>1000,36551=>1000,36552=>1000,36553=>1000,36554=>1000,36555=>1000,36556=>1000,36557=>1000,36558=>1000,36559=>1000,36560=>1000,36561=>1000,36562=>1000,36563=>1000,36564=>1000,36565=>1000,36566=>1000,36567=>1000,36568=>1000,36569=>1000,36570=>1000,36571=>1000,36572=>1000,36573=>1000,36574=>1000,36575=>1000,36576=>1000,36577=>1000,36578=>1000,36579=>1000,36580=>1000,36581=>1000,36582=>1000,36583=>1000,36584=>1000,36585=>1000,36586=>1000,36587=>1000,36588=>1000,36589=>1000,36590=>1000,36591=>1000,36592=>1000,36593=>1000,36594=>1000,36595=>1000,36596=>1000,36597=>1000,36598=>1000,36599=>1000,36600=>1000,36601=>1000,36602=>1000,36603=>1000,36604=>1000,36605=>1000,36606=>1000,36607=>1000,36608=>1000,36609=>1000,36610=>1000,36611=>1000,36612=>1000,36613=>1000,36614=>1000,36615=>1000,36616=>1000,36617=>1000,36618=>1000,36619=>1000,36620=>1000,36621=>1000,36622=>1000,36623=>1000,36624=>1000,36625=>1000,36626=>1000,36627=>1000,36628=>1000,36629=>1000,36630=>1000,36631=>1000,36632=>1000,36633=>1000,36634=>1000,36635=>1000,36636=>1000,36637=>1000,36638=>1000,36639=>1000,36640=>1000,36641=>1000,36642=>1000,36643=>1000,36644=>1000,36645=>1000,36646=>1000,36647=>1000,36648=>1000,36649=>1000,36650=>1000,36651=>1000,36652=>1000,36653=>1000,36654=>1000,36655=>1000,36656=>1000,36657=>1000,36658=>1000,36659=>1000,36660=>1000,36661=>1000,36662=>1000,36663=>1000,36664=>1000,36665=>1000,36666=>1000,36667=>1000,36668=>1000,36669=>1000,36670=>1000,36671=>1000,36672=>1000,36673=>1000,36674=>1000,36675=>1000,36676=>1000,36677=>1000,36678=>1000,36679=>1000,36680=>1000,36681=>1000,36682=>1000,36683=>1000,36684=>1000,36685=>1000,36686=>1000,36687=>1000,36688=>1000,36689=>1000,36690=>1000,36691=>1000,36692=>1000,36693=>1000,36694=>1000,36695=>1000,36696=>1000,36697=>1000,36698=>1000,36699=>1000,36700=>1000,36701=>1000,36702=>1000,36703=>1000,36704=>1000,36705=>1000,36706=>1000,36707=>1000,36708=>1000,36709=>1000,36710=>1000,36711=>1000,36712=>1000,36713=>1000,36714=>1000,36715=>1000,36716=>1000,36717=>1000,36718=>1000,36719=>1000,36720=>1000,36721=>1000,36722=>1000,36723=>1000,36724=>1000,36725=>1000,36726=>1000,36727=>1000,36728=>1000,36729=>1000,36730=>1000,36731=>1000,36732=>1000,36733=>1000,36734=>1000,36735=>1000,36736=>1000,36737=>1000,36738=>1000,36739=>1000,36740=>1000,36741=>1000,36742=>1000,36743=>1000,36744=>1000,36745=>1000,36746=>1000,36747=>1000,36748=>1000,36749=>1000,36750=>1000,36751=>1000,36752=>1000,36753=>1000,36754=>1000,36755=>1000,36756=>1000,36757=>1000,36758=>1000,36759=>1000,36760=>1000,36761=>1000,36762=>1000,36763=>1000,36764=>1000,36765=>1000,36766=>1000,36767=>1000,36768=>1000,36769=>1000,36770=>1000,36771=>1000,36772=>1000,36773=>1000,36774=>1000,36775=>1000,36776=>1000,36777=>1000,36778=>1000,36779=>1000,36780=>1000,36781=>1000,36782=>1000,36783=>1000,36784=>1000,36785=>1000,36786=>1000,36787=>1000,36788=>1000,36789=>1000,36790=>1000,36791=>1000,36792=>1000,36793=>1000,36794=>1000,36795=>1000,36796=>1000,36797=>1000,36798=>1000,36799=>1000,36800=>1000,36801=>1000,36802=>1000,36803=>1000,36804=>1000,36805=>1000,36806=>1000,36807=>1000,36808=>1000,36809=>1000,36810=>1000,36811=>1000,36812=>1000,36813=>1000,36814=>1000,36815=>1000,36816=>1000,36817=>1000,36818=>1000,36819=>1000,36820=>1000,36821=>1000,36822=>1000,36823=>1000,36824=>1000,36825=>1000,36826=>1000,36827=>1000,36828=>1000,36829=>1000,36830=>1000,36831=>1000,36832=>1000,36833=>1000,36834=>1000,36835=>1000,36836=>1000,36837=>1000,36838=>1000,36839=>1000,36840=>1000,36841=>1000,36842=>1000,36843=>1000,36844=>1000,36845=>1000,36846=>1000,36847=>1000,36848=>1000,36849=>1000,36850=>1000,36851=>1000,36852=>1000,36853=>1000,36854=>1000,36855=>1000,36856=>1000,36857=>1000,36858=>1000,36859=>1000,36860=>1000,36861=>1000,36862=>1000,36863=>1000,36864=>1000,36865=>1000,36866=>1000,36867=>1000,36868=>1000,36869=>1000,36870=>1000,36871=>1000,36872=>1000,36873=>1000,36874=>1000,36875=>1000,36876=>1000,36877=>1000,36878=>1000,36879=>1000,36880=>1000,36881=>1000,36882=>1000,36883=>1000,36884=>1000,36885=>1000,36886=>1000,36887=>1000,36888=>1000,36889=>1000,36890=>1000,36891=>1000,36892=>1000,36893=>1000,36894=>1000,36895=>1000,36896=>1000,36897=>1000,36898=>1000,36899=>1000,36900=>1000,36901=>1000,36902=>1000,36903=>1000,36904=>1000,36905=>1000,36906=>1000,36907=>1000,36908=>1000,36909=>1000,36910=>1000,36911=>1000,36912=>1000,36913=>1000,36914=>1000,36915=>1000,36916=>1000,36917=>1000,36918=>1000,36919=>1000,36920=>1000,36921=>1000,36922=>1000,36923=>1000,36924=>1000,36925=>1000,36926=>1000,36927=>1000,36928=>1000,36929=>1000,36930=>1000,36931=>1000,36932=>1000,36933=>1000,36934=>1000,36935=>1000,36936=>1000,36937=>1000,36938=>1000,36939=>1000,36940=>1000,36941=>1000,36942=>1000,36943=>1000,36944=>1000,36945=>1000,36946=>1000,36947=>1000,36948=>1000,36949=>1000,36950=>1000,36951=>1000,36952=>1000,36953=>1000,36954=>1000,36955=>1000,36956=>1000,36957=>1000,36958=>1000,36959=>1000,36960=>1000,36961=>1000,36962=>1000,36963=>1000,36964=>1000,36965=>1000,36966=>1000,36967=>1000,36968=>1000,36969=>1000,36970=>1000,36971=>1000,36972=>1000,36973=>1000,36974=>1000,36975=>1000,36976=>1000,36977=>1000,36978=>1000,36979=>1000,36980=>1000,36981=>1000,36982=>1000,36983=>1000,36984=>1000,36985=>1000,36986=>1000,36987=>1000,36988=>1000,36989=>1000,36990=>1000,36991=>1000,36992=>1000,36993=>1000,36994=>1000,36995=>1000,36996=>1000,36997=>1000,36998=>1000,36999=>1000,37000=>1000,37001=>1000,37002=>1000,37003=>1000,37004=>1000,37005=>1000,37006=>1000,37007=>1000,37008=>1000,37009=>1000,37010=>1000,37011=>1000,37012=>1000,37013=>1000,37014=>1000,37015=>1000,37016=>1000,37017=>1000,37018=>1000,37019=>1000,37020=>1000,37021=>1000,37022=>1000,37023=>1000,37024=>1000,37025=>1000,37026=>1000,37027=>1000,37028=>1000,37029=>1000,37030=>1000,37031=>1000,37032=>1000,37033=>1000,37034=>1000,37035=>1000,37036=>1000,37037=>1000,37038=>1000,37039=>1000,37040=>1000,37041=>1000,37042=>1000,37043=>1000,37044=>1000,37045=>1000,37046=>1000,37047=>1000,37048=>1000,37049=>1000,37050=>1000,37051=>1000,37052=>1000,37053=>1000,37054=>1000,37055=>1000,37056=>1000,37057=>1000,37058=>1000,37059=>1000,37060=>1000,37061=>1000,37062=>1000,37063=>1000,37064=>1000,37065=>1000,37066=>1000,37067=>1000,37068=>1000,37069=>1000,37070=>1000,37071=>1000,37072=>1000,37073=>1000,37074=>1000,37075=>1000,37076=>1000,37077=>1000,37078=>1000,37079=>1000,37080=>1000,37081=>1000,37082=>1000,37083=>1000,37084=>1000,37085=>1000,37086=>1000,37087=>1000,37088=>1000,37089=>1000,37090=>1000,37091=>1000,37092=>1000,37093=>1000,37094=>1000,37095=>1000,37096=>1000,37097=>1000,37098=>1000,37099=>1000,37100=>1000,37101=>1000,37102=>1000,37103=>1000,37104=>1000,37105=>1000,37106=>1000,37107=>1000,37108=>1000,37109=>1000,37110=>1000,37111=>1000,37112=>1000,37113=>1000,37114=>1000,37115=>1000,37116=>1000,37117=>1000,37118=>1000,37119=>1000,37120=>1000,37121=>1000,37122=>1000,37123=>1000,37124=>1000,37125=>1000,37126=>1000,37127=>1000,37128=>1000,37129=>1000,37130=>1000,37131=>1000,37132=>1000,37133=>1000,37134=>1000,37135=>1000,37136=>1000,37137=>1000,37138=>1000,37139=>1000,37140=>1000,37141=>1000,37142=>1000,37143=>1000,37144=>1000,37145=>1000,37146=>1000,37147=>1000,37148=>1000,37149=>1000,37150=>1000,37151=>1000,37152=>1000,37153=>1000,37154=>1000,37155=>1000,37156=>1000,37157=>1000,37158=>1000,37159=>1000,37160=>1000,37161=>1000,37162=>1000,37163=>1000,37164=>1000,37165=>1000,37166=>1000,37167=>1000,37168=>1000,37169=>1000,37170=>1000,37171=>1000,37172=>1000,37173=>1000,37174=>1000,37175=>1000,37176=>1000,37177=>1000,37178=>1000,37179=>1000,37180=>1000,37181=>1000,37182=>1000,37183=>1000,37184=>1000,37185=>1000,37186=>1000,37187=>1000,37188=>1000,37189=>1000,37190=>1000,37191=>1000,37192=>1000,37193=>1000,37194=>1000,37195=>1000,37196=>1000,37197=>1000,37198=>1000,37199=>1000,37200=>1000,37201=>1000,37202=>1000,37203=>1000,37204=>1000,37205=>1000,37206=>1000,37207=>1000,37208=>1000,37209=>1000,37210=>1000,37211=>1000,37212=>1000,37213=>1000,37214=>1000,37215=>1000,37216=>1000,37217=>1000,37218=>1000,37219=>1000,37220=>1000,37221=>1000,37222=>1000,37223=>1000,37224=>1000,37225=>1000,37226=>1000,37227=>1000,37228=>1000,37229=>1000,37230=>1000,37231=>1000,37232=>1000,37233=>1000,37234=>1000,37235=>1000,37236=>1000,37237=>1000,37238=>1000,37239=>1000,37240=>1000,37241=>1000,37242=>1000,37243=>1000,37244=>1000,37245=>1000,37246=>1000,37247=>1000,37248=>1000,37249=>1000,37250=>1000,37251=>1000,37252=>1000,37253=>1000,37254=>1000,37255=>1000,37256=>1000,37257=>1000,37258=>1000,37259=>1000,37260=>1000,37261=>1000,37262=>1000,37263=>1000,37264=>1000,37265=>1000,37266=>1000,37267=>1000,37268=>1000,37269=>1000,37270=>1000,37271=>1000,37272=>1000,37273=>1000,37274=>1000,37275=>1000,37276=>1000,37277=>1000,37278=>1000,37279=>1000,37280=>1000,37281=>1000,37282=>1000,37283=>1000,37284=>1000,37285=>1000,37286=>1000,37287=>1000,37288=>1000,37289=>1000,37290=>1000,37291=>1000,37292=>1000,37293=>1000,37294=>1000,37295=>1000,37296=>1000,37297=>1000,37298=>1000,37299=>1000,37300=>1000,37301=>1000,37302=>1000,37303=>1000,37304=>1000,37305=>1000,37306=>1000,37307=>1000,37308=>1000,37309=>1000,37310=>1000,37311=>1000,37312=>1000,37313=>1000,37314=>1000,37315=>1000,37316=>1000,37317=>1000,37318=>1000,37319=>1000,37320=>1000,37321=>1000,37322=>1000,37323=>1000,37324=>1000,37325=>1000,37326=>1000,37327=>1000,37328=>1000,37329=>1000,37330=>1000,37331=>1000,37332=>1000,37333=>1000,37334=>1000,37335=>1000,37336=>1000,37337=>1000,37338=>1000,37339=>1000,37340=>1000,37341=>1000,37342=>1000,37343=>1000,37344=>1000,37345=>1000,37346=>1000,37347=>1000,37348=>1000,37349=>1000,37350=>1000,37351=>1000,37352=>1000,37353=>1000,37354=>1000,37355=>1000,37356=>1000,37357=>1000,37358=>1000,37359=>1000,37360=>1000,37361=>1000,37362=>1000,37363=>1000,37364=>1000,37365=>1000,37366=>1000,37367=>1000,37368=>1000,37369=>1000,37370=>1000,37371=>1000,37372=>1000,37373=>1000,37374=>1000,37375=>1000,37376=>1000,37377=>1000,37378=>1000,37379=>1000,37380=>1000,37381=>1000,37382=>1000,37383=>1000,37384=>1000,37385=>1000,37386=>1000,37387=>1000,37388=>1000,37389=>1000,37390=>1000,37391=>1000,37392=>1000,37393=>1000,37394=>1000,37395=>1000,37396=>1000,37397=>1000,37398=>1000,37399=>1000,37400=>1000,37401=>1000,37402=>1000,37403=>1000,37404=>1000,37405=>1000,37406=>1000,37407=>1000,37408=>1000,37409=>1000,37410=>1000,37411=>1000,37412=>1000,37413=>1000,37414=>1000,37415=>1000,37416=>1000,37417=>1000,37418=>1000,37419=>1000,37420=>1000,37421=>1000,37422=>1000,37423=>1000,37424=>1000,37425=>1000,37426=>1000,37427=>1000,37428=>1000,37429=>1000,37430=>1000,37431=>1000,37432=>1000,37433=>1000,37434=>1000,37435=>1000,37436=>1000,37437=>1000,37438=>1000,37439=>1000,37440=>1000,37441=>1000,37442=>1000,37443=>1000,37444=>1000,37445=>1000,37446=>1000,37447=>1000,37448=>1000,37449=>1000,37450=>1000,37451=>1000,37452=>1000,37453=>1000,37454=>1000,37455=>1000,37456=>1000,37457=>1000,37458=>1000,37459=>1000,37460=>1000,37461=>1000,37462=>1000,37463=>1000,37464=>1000,37465=>1000,37466=>1000,37467=>1000,37468=>1000,37469=>1000,37470=>1000,37471=>1000,37472=>1000,37473=>1000,37474=>1000,37475=>1000,37476=>1000,37477=>1000,37478=>1000,37479=>1000,37480=>1000,37481=>1000,37482=>1000,37483=>1000,37484=>1000,37485=>1000,37486=>1000,37487=>1000,37488=>1000,37489=>1000,37490=>1000,37491=>1000,37492=>1000,37493=>1000,37494=>1000,37495=>1000,37496=>1000,37497=>1000,37498=>1000,37499=>1000,37500=>1000,37501=>1000,37502=>1000,37503=>1000,37504=>1000,37505=>1000,37506=>1000,37507=>1000,37508=>1000,37509=>1000,37510=>1000,37511=>1000,37512=>1000,37513=>1000,37514=>1000,37515=>1000,37516=>1000,37517=>1000,37518=>1000,37519=>1000,37520=>1000,37521=>1000,37522=>1000,37523=>1000,37524=>1000,37525=>1000,37526=>1000,37527=>1000,37528=>1000,37529=>1000,37530=>1000,37531=>1000,37532=>1000,37533=>1000,37534=>1000,37535=>1000,37536=>1000,37537=>1000,37538=>1000,37539=>1000,37540=>1000,37541=>1000,37542=>1000,37543=>1000,37544=>1000,37545=>1000,37546=>1000,37547=>1000,37548=>1000,37549=>1000,37550=>1000,37551=>1000,37552=>1000,37553=>1000,37554=>1000,37555=>1000,37556=>1000,37557=>1000,37558=>1000,37559=>1000,37560=>1000,37561=>1000,37562=>1000,37563=>1000,37564=>1000,37565=>1000,37566=>1000,37567=>1000,37568=>1000,37569=>1000,37570=>1000,37571=>1000,37572=>1000,37573=>1000,37574=>1000,37575=>1000,37576=>1000,37577=>1000,37578=>1000,37579=>1000,37580=>1000,37581=>1000,37582=>1000,37583=>1000,37584=>1000,37585=>1000,37586=>1000,37587=>1000,37588=>1000,37589=>1000,37590=>1000,37591=>1000,37592=>1000,37593=>1000,37594=>1000,37595=>1000,37596=>1000,37597=>1000,37598=>1000,37599=>1000,37600=>1000,37601=>1000,37602=>1000,37603=>1000,37604=>1000,37605=>1000,37606=>1000,37607=>1000,37608=>1000,37609=>1000,37610=>1000,37611=>1000,37612=>1000,37613=>1000,37614=>1000,37615=>1000,37616=>1000,37617=>1000,37618=>1000,37619=>1000,37620=>1000,37621=>1000,37622=>1000,37623=>1000,37624=>1000,37625=>1000,37626=>1000,37627=>1000,37628=>1000,37629=>1000,37630=>1000,37631=>1000,37632=>1000,37633=>1000,37634=>1000,37635=>1000,37636=>1000,37637=>1000,37638=>1000,37639=>1000,37640=>1000,37641=>1000,37642=>1000,37643=>1000,37644=>1000,37645=>1000,37646=>1000,37647=>1000,37648=>1000,37649=>1000,37650=>1000,37651=>1000,37652=>1000,37653=>1000,37654=>1000,37655=>1000,37656=>1000,37657=>1000,37658=>1000,37659=>1000,37660=>1000,37661=>1000,37662=>1000,37663=>1000,37664=>1000,37665=>1000,37666=>1000,37667=>1000,37668=>1000,37669=>1000,37670=>1000,37671=>1000,37672=>1000,37673=>1000,37674=>1000,37675=>1000,37676=>1000,37677=>1000,37678=>1000,37679=>1000,37680=>1000,37681=>1000,37682=>1000,37683=>1000,37684=>1000,37685=>1000,37686=>1000,37687=>1000,37688=>1000,37689=>1000,37690=>1000,37691=>1000,37692=>1000,37693=>1000,37694=>1000,37695=>1000,37696=>1000,37697=>1000,37698=>1000,37699=>1000,37700=>1000,37701=>1000,37702=>1000,37703=>1000,37704=>1000,37705=>1000,37706=>1000,37707=>1000,37708=>1000,37709=>1000,37710=>1000,37711=>1000,37712=>1000,37713=>1000,37714=>1000,37715=>1000,37716=>1000,37717=>1000,37718=>1000,37719=>1000,37720=>1000,37721=>1000,37722=>1000,37723=>1000,37724=>1000,37725=>1000,37726=>1000,37727=>1000,37728=>1000,37729=>1000,37730=>1000,37731=>1000,37732=>1000,37733=>1000,37734=>1000,37735=>1000,37736=>1000,37737=>1000,37738=>1000,37739=>1000,37740=>1000,37741=>1000,37742=>1000,37743=>1000,37744=>1000,37745=>1000,37746=>1000,37747=>1000,37748=>1000,37749=>1000,37750=>1000,37751=>1000,37752=>1000,37753=>1000,37754=>1000,37755=>1000,37756=>1000,37757=>1000,37758=>1000,37759=>1000,37760=>1000,37761=>1000,37762=>1000,37763=>1000,37764=>1000,37765=>1000,37766=>1000,37767=>1000,37768=>1000,37769=>1000,37770=>1000,37771=>1000,37772=>1000,37773=>1000,37774=>1000,37775=>1000,37776=>1000,37777=>1000,37778=>1000,37779=>1000,37780=>1000,37781=>1000,37782=>1000,37783=>1000,37784=>1000,37785=>1000,37786=>1000,37787=>1000,37788=>1000,37789=>1000,37790=>1000,37791=>1000,37792=>1000,37793=>1000,37794=>1000,37795=>1000,37796=>1000,37797=>1000,37798=>1000,37799=>1000,37800=>1000,37801=>1000,37802=>1000,37803=>1000,37804=>1000,37805=>1000,37806=>1000,37807=>1000,37808=>1000,37809=>1000,37810=>1000,37811=>1000,37812=>1000,37813=>1000,37814=>1000,37815=>1000,37816=>1000,37817=>1000,37818=>1000,37819=>1000,37820=>1000,37821=>1000,37822=>1000,37823=>1000,37824=>1000,37825=>1000,37826=>1000,37827=>1000,37828=>1000,37829=>1000,37830=>1000,37831=>1000,37832=>1000,37833=>1000,37834=>1000,37835=>1000,37836=>1000,37837=>1000,37838=>1000,37839=>1000,37840=>1000,37841=>1000,37842=>1000,37843=>1000,37844=>1000,37845=>1000,37846=>1000,37847=>1000,37848=>1000,37849=>1000,37850=>1000,37851=>1000,37852=>1000,37853=>1000,37854=>1000,37855=>1000,37856=>1000,37857=>1000,37858=>1000,37859=>1000,37860=>1000,37861=>1000,37862=>1000,37863=>1000,37864=>1000,37865=>1000,37866=>1000,37867=>1000,37868=>1000,37869=>1000,37870=>1000,37871=>1000,37872=>1000,37873=>1000,37874=>1000,37875=>1000,37876=>1000,37877=>1000,37878=>1000,37879=>1000,37880=>1000,37881=>1000,37882=>1000,37883=>1000,37884=>1000,37885=>1000,37886=>1000,37887=>1000,37888=>1000,37889=>1000,37890=>1000,37891=>1000,37892=>1000,37893=>1000,37894=>1000,37895=>1000,37896=>1000,37897=>1000,37898=>1000,37899=>1000,37900=>1000,37901=>1000,37902=>1000,37903=>1000,37904=>1000,37905=>1000,37906=>1000,37907=>1000,37908=>1000,37909=>1000,37910=>1000,37911=>1000,37912=>1000,37913=>1000,37914=>1000,37915=>1000,37916=>1000,37917=>1000,37918=>1000,37919=>1000,37920=>1000,37921=>1000,37922=>1000,37923=>1000,37924=>1000,37925=>1000,37926=>1000,37927=>998,37928=>1000,37929=>1000,37930=>1000,37931=>1000,37932=>1000,37933=>1000,37934=>1000,37935=>1000,37936=>1000,37937=>1000,37938=>1000,37939=>1000,37940=>1000,37941=>1000,37942=>1000,37943=>1000,37944=>1000,37945=>1000,37946=>1000,37947=>1000,37948=>1000,37949=>1000,37950=>1000,37951=>1000,37952=>1000,37953=>1000,37954=>1000,37955=>1000,37956=>1000,37957=>1000,37958=>1000,37959=>1000,37960=>1000,37961=>1000,37962=>1000,37963=>1000,37964=>1000,37965=>1000,37966=>1000,37967=>1000,37968=>1000,37969=>1000,37970=>1000,37971=>1000,37972=>1000,37973=>1000,37974=>1000,37975=>1000,37976=>1000,37977=>1000,37978=>1000,37979=>1000,37980=>1000,37981=>1000,37982=>1000,37983=>1000,37984=>1000,37985=>1000,37986=>1000,37987=>1000,37988=>1000,37989=>1000,37990=>1000,37991=>1000,37992=>1000,37993=>1000,37994=>1000,37995=>1000,37996=>1000,37997=>1000,37998=>1000,37999=>1000,38000=>1000,38001=>1000,38002=>1000,38003=>1000,38004=>1000,38005=>1000,38006=>1000,38007=>1000,38008=>1000,38009=>1000,38010=>1000,38011=>1000,38012=>1000,38013=>1000,38014=>1000,38015=>1000,38016=>1000,38017=>1000,38018=>1000,38019=>1000,38020=>1000,38021=>1000,38022=>1000,38023=>1000,38024=>1000,38025=>1000,38026=>1000,38027=>1000,38028=>1000,38029=>1000,38030=>1000,38031=>1000,38032=>1000,38033=>1000,38034=>1000,38035=>1000,38036=>1000,38037=>1000,38038=>1000,38039=>1000,38040=>1000,38041=>1000,38042=>1000,38043=>1000,38044=>1000,38045=>1000,38046=>1000,38047=>1000,38048=>1000,38049=>1000,38050=>1000,38051=>1000,38052=>1000,38053=>1000,38054=>1000,38055=>1000,38056=>1000,38057=>1000,38058=>1000,38059=>1000,38060=>1000,38061=>1000,38062=>1000,38063=>1000,38064=>1000,38065=>1000,38066=>1000,38067=>1000,38068=>1000,38069=>1000,38070=>1000,38071=>1000,38072=>1000,38073=>1000,38074=>1000,38075=>1000,38076=>1000,38077=>1000,38078=>1000,38079=>1000,38080=>1000,38081=>1000,38082=>1000,38083=>1000,38084=>1000,38085=>1000,38086=>1000,38087=>1000,38088=>1000,38089=>1000,38090=>1000,38091=>1000,38092=>1000,38093=>1000,38094=>1000,38095=>1000,38096=>1000,38097=>1000,38098=>1000,38099=>1000,38100=>1000,38101=>1000,38102=>1000,38103=>1000,38104=>1000,38105=>1000,38106=>1000,38107=>1000,38108=>1000,38109=>1000,38110=>1000,38111=>1000,38112=>1000,38113=>1000,38114=>1000,38115=>1000,38116=>1000,38117=>1000,38118=>1000,38119=>1000,38120=>1000,38121=>1000,38122=>1000,38123=>1000,38124=>1000,38125=>1000,38126=>1000,38127=>1000,38128=>1000,38129=>1000,38130=>1000,38131=>1000,38132=>1000,38133=>1000,38134=>1000,38135=>1000,38136=>1000,38137=>1000,38138=>1000,38139=>1000,38140=>1000,38141=>1000,38142=>1000,38143=>1000,38144=>1000,38145=>1000,38146=>1000,38147=>1000,38148=>1000,38149=>1000,38150=>1000,38151=>1000,38152=>1000,38153=>1000,38154=>1000,38155=>1000,38156=>1000,38157=>1000,38158=>1000,38159=>1000,38160=>1000,38161=>1000,38162=>1000,38163=>1000,38164=>1000,38165=>1000,38166=>1000,38167=>1000,38168=>1000,38169=>1000,38170=>1000,38171=>1000,38172=>1000,38173=>1000,38174=>1000,38175=>1000,38176=>1000,38177=>1000,38178=>1000,38179=>1000,38180=>1000,38181=>1000,38182=>1000,38183=>1000,38184=>1000,38185=>1000,38186=>1000,38187=>1000,38188=>1000,38189=>1000,38190=>1000,38191=>1000,38192=>1000,38193=>1000,38194=>1000,38195=>1000,38196=>1000,38197=>1000,38198=>1000,38199=>1000,38200=>1000,38201=>1000,38202=>1000,38203=>1000,38204=>1000,38205=>1000,38206=>1000,38207=>1000,38208=>1000,38209=>1000,38210=>1000,38211=>1000,38212=>1000,38213=>1000,38214=>1000,38215=>1000,38216=>1000,38217=>1000,38218=>1000,38219=>1000,38220=>1000,38221=>1000,38222=>1000,38223=>1000,38224=>1000,38225=>1000,38226=>1000,38227=>1000,38228=>1000,38229=>1000,38230=>1000,38231=>1000,38232=>1000,38233=>1000,38234=>1000,38235=>1000,38236=>1000,38237=>1000,38238=>1000,38239=>1000,38240=>1000,38241=>1000,38242=>1000,38243=>1000,38244=>1000,38245=>1000,38246=>1000,38247=>1000,38248=>1000,38249=>1000,38250=>1000,38251=>1000,38252=>1000,38253=>1000,38254=>1000,38255=>1000,38256=>1000,38257=>1000,38258=>1000,38259=>1000,38260=>1000,38261=>1000,38262=>1000,38263=>1000,38264=>1000,38265=>1000,38266=>1000,38267=>1000,38268=>1000,38269=>1000,38270=>1000,38271=>1000,38272=>1000,38273=>1000,38274=>1000,38275=>1000,38276=>1000,38277=>1000,38278=>1000,38279=>1000,38280=>1000,38281=>1000,38282=>1000,38283=>1000,38284=>1000,38285=>1000,38286=>1000,38287=>1000,38288=>1000,38289=>1000,38290=>1000,38291=>1000,38292=>1000,38293=>1000,38294=>1000,38295=>1000,38296=>1000,38297=>1000,38298=>1000,38299=>1000,38300=>1000,38301=>1000,38302=>1000,38303=>1000,38304=>1000,38305=>1000,38306=>1000,38307=>1000,38308=>1000,38309=>1000,38310=>1000,38311=>1000,38312=>1000,38313=>1000,38314=>1000,38315=>1000,38316=>1000,38317=>1000,38318=>1000,38319=>1000,38320=>1000,38321=>1000,38322=>1000,38323=>1000,38324=>1000,38325=>1000,38326=>1000,38327=>1000,38328=>1000,38329=>1000,38330=>1000,38331=>1000,38332=>1000,38333=>1000,38334=>1000,38335=>1000,38336=>1000,38337=>1000,38338=>1000,38339=>1000,38340=>1000,38341=>1000,38342=>1000,38343=>1000,38344=>1000,38345=>1000,38346=>1000,38347=>1000,38348=>1000,38349=>1000,38350=>1000,38351=>1000,38352=>1000,38353=>1000,38354=>1000,38355=>1000,38356=>1000,38357=>1000,38358=>1000,38359=>1000,38360=>1000,38361=>1000,38362=>1000,38363=>1000,38364=>1000,38365=>1000,38366=>1000,38367=>1000,38368=>1000,38369=>1000,38370=>1000,38371=>1000,38372=>1000,38373=>1000,38374=>1000,38375=>1000,38376=>1000,38377=>1000,38378=>1000,38379=>1000,38380=>1000,38381=>1000,38382=>1000,38383=>1000,38384=>1000,38385=>1000,38386=>1000,38387=>1000,38388=>1000,38389=>1000,38390=>1000,38391=>1000,38392=>1000,38393=>1000,38394=>1000,38395=>1000,38396=>1000,38397=>1000,38398=>1000,38399=>1000,38400=>1000,38401=>1000,38402=>1000,38403=>1000,38404=>1000,38405=>1000,38406=>1000,38407=>1000,38408=>1000,38409=>1000,38410=>1000,38411=>1000,38412=>1000,38413=>1000,38414=>1000,38415=>1000,38416=>1000,38417=>1000,38418=>1000,38419=>1000,38420=>1000,38421=>1000,38422=>1000,38423=>1000,38424=>1000,38425=>1000,38426=>1000,38427=>1000,38428=>1000,38429=>1000,38430=>1000,38431=>1000,38432=>1000,38433=>1000,38434=>1000,38435=>1000,38436=>1000,38437=>1000,38438=>1000,38439=>1000,38440=>1000,38441=>1000,38442=>1000,38443=>1000,38444=>1000,38445=>1000,38446=>1000,38447=>1000,38448=>1000,38449=>1000,38450=>1000,38451=>1000,38452=>1000,38453=>1000,38454=>1000,38455=>1000,38456=>1000,38457=>1000,38458=>1000,38459=>1000,38460=>1000,38461=>1000,38462=>1000,38463=>1000,38464=>1000,38465=>1000,38466=>1000,38467=>1000,38468=>1000,38469=>1000,38470=>1000,38471=>1000,38472=>1000,38473=>1000,38474=>1000,38475=>1000,38476=>1000,38477=>1000,38478=>1000,38479=>1000,38480=>1000,38481=>1000,38482=>1000,38483=>1000,38484=>1000,38485=>1000,38486=>1000,38487=>1000,38488=>1000,38489=>1000,38490=>1000,38491=>1000,38492=>1000,38493=>1000,38494=>1000,38495=>1000,38496=>1000,38497=>1000,38498=>1000,38499=>1000,38500=>1000,38501=>1000,38502=>1000,38503=>1000,38504=>1000,38505=>1000,38506=>1000,38507=>1000,38508=>1000,38509=>1000,38510=>1000,38511=>1000,38512=>1000,38513=>1000,38514=>1000,38515=>1000,38516=>1000,38517=>1000,38518=>1000,38519=>1000,38520=>1000,38521=>1000,38522=>1000,38523=>1000,38524=>1000,38525=>1000,38526=>1000,38527=>1000,38528=>1000,38529=>1000,38530=>1000,38531=>1000,38532=>1000,38533=>1000,38534=>1000,38535=>1000,38536=>1000,38537=>1000,38538=>1000,38539=>1000,38540=>1000,38541=>1000,38542=>1000,38543=>1000,38544=>1000,38545=>1000,38546=>1000,38547=>1000,38548=>1000,38549=>1000,38550=>1000,38551=>1000,38552=>1000,38553=>1000,38554=>1000,38555=>1000,38556=>1000,38557=>1000,38558=>1000,38559=>1000,38560=>1000,38561=>1000,38562=>1000,38563=>1000,38564=>1000,38565=>1000,38566=>1000,38567=>1000,38568=>1000,38569=>1000,38570=>1000,38571=>1000,38572=>1000,38573=>1000,38574=>1000,38575=>1000,38576=>1000,38577=>1000,38578=>1000,38579=>1000,38580=>1000,38581=>1000,38582=>1000,38583=>1000,38584=>1000,38585=>1000,38586=>1000,38587=>1000,38588=>1000,38589=>1000,38590=>1000,38591=>1000,38592=>1000,38593=>1000,38594=>1000,38595=>1000,38596=>1000,38597=>1000,38598=>1000,38599=>1000,38600=>1000,38601=>1000,38602=>1000,38603=>1000,38604=>1000,38605=>1000,38606=>1000,38607=>1000,38608=>1000,38609=>1000,38610=>1000,38611=>1000,38612=>1000,38613=>1000,38614=>1000,38615=>1000,38616=>1000,38617=>1000,38618=>1000,38619=>1000,38620=>1000,38621=>1000,38622=>1000,38623=>1000,38624=>1000,38625=>1000,38626=>1000,38627=>1000,38628=>1000,38629=>1000,38630=>1000,38631=>1000,38632=>1000,38633=>1000,38634=>1000,38635=>1000,38636=>1000,38637=>1000,38638=>1000,38639=>1000,38640=>1000,38641=>1000,38642=>1000,38643=>1000,38644=>1000,38645=>1000,38646=>1000,38647=>1000,38648=>1000,38649=>1000,38650=>1000,38651=>1000,38652=>1000,38653=>1000,38654=>1000,38655=>1000,38656=>1000,38657=>1000,38658=>1000,38659=>1000,38660=>1000,38661=>1000,38662=>1000,38663=>1000,38664=>1000,38665=>1000,38666=>1000,38667=>1000,38668=>1000,38669=>1000,38670=>1000,38671=>1000,38672=>1000,38673=>1000,38674=>1000,38675=>1000,38676=>1000,38677=>1000,38678=>1000,38679=>1000,38680=>1000,38681=>1000,38682=>1000,38683=>1000,38684=>1000,38685=>1000,38686=>1000,38687=>1000,38688=>1000,38689=>1000,38690=>1000,38691=>1000,38692=>1000,38693=>1000,38694=>1000,38695=>1000,38696=>1000,38697=>1000,38698=>1000,38699=>1000,38700=>1000,38701=>1000,38702=>1000,38703=>1000,38704=>1000,38705=>1000,38706=>1000,38707=>1000,38708=>1000,38709=>1000,38710=>1000,38711=>1000,38712=>1000,38713=>1000,38714=>1000,38715=>1000,38716=>1000,38717=>1000,38718=>1000,38719=>1000,38720=>1000,38721=>1000,38722=>1000,38723=>1000,38724=>1000,38725=>1000,38726=>1000,38727=>1000,38728=>1000,38729=>1000,38730=>1000,38731=>1000,38732=>1000,38733=>1000,38734=>1000,38735=>1000,38736=>1000,38737=>1000,38738=>1000,38739=>1000,38740=>1000,38741=>1000,38742=>1000,38743=>1000,38744=>1000,38745=>1000,38746=>1000,38747=>1000,38748=>1000,38749=>1000,38750=>1000,38751=>1000,38752=>1000,38753=>1000,38754=>1000,38755=>1000,38756=>1000,38757=>1000,38758=>1000,38759=>1000,38760=>1000,38761=>1000,38762=>1000,38763=>1000,38764=>1000,38765=>1000,38766=>1000,38767=>1000,38768=>1000,38769=>1000,38770=>1000,38771=>1000,38772=>1000,38773=>1000,38774=>1000,38775=>1000,38776=>1000,38777=>1000,38778=>1000,38779=>1000,38780=>1000,38781=>1000,38782=>1000,38783=>1000,38784=>1000,38785=>1000,38786=>1000,38787=>1000,38788=>1000,38789=>1000,38790=>1000,38791=>1000,38792=>1000,38793=>1000,38794=>1000,38795=>1000,38796=>1000,38797=>1000,38798=>1000,38799=>1000,38800=>1000,38801=>1000,38802=>1000,38803=>1000,38804=>1000,38805=>1000,38806=>1000,38807=>1000,38808=>1000,38809=>1000,38810=>1000,38811=>1000,38812=>1000,38813=>1000,38814=>1000,38815=>1000,38816=>1000,38817=>1000,38818=>1000,38819=>1000,38820=>1000,38821=>1000,38822=>1000,38823=>1000,38824=>1000,38825=>1000,38826=>1000,38827=>1000,38828=>1000,38829=>1000,38830=>1000,38831=>1000,38832=>1000,38833=>1000,38834=>1000,38835=>1000,38836=>1000,38837=>1000,38838=>1000,38839=>1000,38840=>1000,38841=>1000,38842=>1000,38843=>1000,38844=>1000,38845=>1000,38846=>1000,38847=>1000,38848=>1000,38849=>1000,38850=>1000,38851=>1000,38852=>1000,38853=>1000,38854=>1000,38855=>1000,38856=>1000,38857=>1000,38858=>1000,38859=>1000,38860=>1000,38861=>1000,38862=>1000,38863=>1000,38864=>1000,38865=>1000,38866=>1000,38867=>1000,38868=>1000,38869=>1000,38870=>1000,38871=>1000,38872=>1000,38873=>1000,38874=>1000,38875=>1000,38876=>1000,38877=>1000,38878=>1000,38879=>1000,38880=>1000,38881=>1000,38882=>1000,38883=>1000,38884=>1000,38885=>1000,38886=>1000,38887=>1000,38888=>1000,38889=>1000,38890=>1000,38891=>1000,38892=>1000,38893=>1000,38894=>1000,38895=>1000,38896=>1000,38897=>1000,38898=>1000,38899=>1000,38900=>1000,38901=>1000,38902=>1000,38903=>1000,38904=>1000,38905=>1000,38906=>1000,38907=>1000,38908=>1000,38909=>1000,38910=>1000,38911=>1000,38912=>1000,38913=>1000,38914=>1000,38915=>1000,38916=>1000,38917=>1000,38918=>1000,38919=>1000,38920=>1000,38921=>1000,38922=>1000,38923=>1000,38924=>1000,38925=>1000,38926=>1000,38927=>1000,38928=>1000,38929=>1000,38930=>1000,38931=>1000,38932=>1000,38933=>1000,38934=>1000,38935=>1000,38936=>1000,38937=>1000,38938=>1000,38939=>1000,38940=>1000,38941=>1000,38942=>1000,38943=>1000,38944=>1000,38945=>1000,38946=>1000,38947=>1000,38948=>1000,38949=>1000,38950=>1000,38951=>1000,38952=>1000,38953=>1000,38954=>1000,38955=>1000,38956=>1000,38957=>1000,38958=>1000,38959=>1000,38960=>1000,38961=>1000,38962=>1000,38963=>1000,38964=>1000,38965=>1000,38966=>1000,38967=>1000,38968=>1000,38969=>1000,38970=>1000,38971=>1000,38972=>1000,38973=>1000,38974=>1000,38975=>1000,38976=>1000,38977=>1000,38978=>1000,38979=>1000,38980=>1000,38981=>1000,38982=>1000,38983=>1000,38984=>1000,38985=>1000,38986=>1000,38987=>1000,38988=>1000,38989=>1000,38990=>1000,38991=>1000,38992=>1000,38993=>1000,38994=>1000,38995=>1000,38996=>1000,38997=>1000,38998=>1000,38999=>1000,39000=>1000,39001=>1000,39002=>1000,39003=>1000,39004=>1000,39005=>1000,39006=>1000,39007=>1000,39008=>1000,39009=>1000,39010=>1000,39011=>1000,39012=>1000,39013=>1000,39014=>1000,39015=>1000,39016=>1000,39017=>1000,39018=>1000,39019=>1000,39020=>1000,39021=>1000,39022=>1000,39023=>1000,39024=>1000,39025=>1000,39026=>1000,39027=>1000,39028=>1000,39029=>1000,39030=>1000,39031=>1000,39032=>1000,39033=>1000,39034=>1000,39035=>1000,39036=>1000,39037=>1000,39038=>1000,39039=>1000,39040=>1000,39041=>1000,39042=>1000,39043=>1000,39044=>1000,39045=>1000,39046=>1000,39047=>1000,39048=>1000,39049=>1000,39050=>1000,39051=>1000,39052=>1000,39053=>1000,39054=>1000,39055=>1000,39056=>1000,39057=>1000,39058=>1000,39059=>1000,39060=>1000,39061=>1000,39062=>1000,39063=>1000,39064=>1000,39065=>1000,39066=>1000,39067=>1000,39068=>1000,39069=>1000,39070=>1000,39071=>1000,39072=>1000,39073=>1000,39074=>1000,39075=>1000,39076=>1000,39077=>1000,39078=>1000,39079=>1000,39080=>1000,39081=>1000,39082=>1000,39083=>1000,39084=>1000,39085=>1000,39086=>1000,39087=>1000,39088=>1000,39089=>1000,39090=>1000,39091=>1000,39092=>1000,39093=>1000,39094=>1000,39095=>1000,39096=>1000,39097=>1000,39098=>1000,39099=>1000,39100=>1000,39101=>1000,39102=>1000,39103=>1000,39104=>1000,39105=>1000,39106=>1000,39107=>1000,39108=>1000,39109=>1000,39110=>1000,39111=>1000,39112=>1000,39113=>1000,39114=>1000,39115=>1000,39116=>1000,39117=>1000,39118=>1000,39119=>1000,39120=>1000,39121=>1000,39122=>1000,39123=>1000,39124=>1000,39125=>1000,39126=>1000,39127=>1000,39128=>1000,39129=>1000,39130=>1000,39131=>1000,39132=>1000,39133=>1000,39134=>1000,39135=>1000,39136=>1000,39137=>1000,39138=>1000,39139=>1000,39140=>1000,39141=>1000,39142=>1000,39143=>1000,39144=>1000,39145=>1000,39146=>1000,39147=>1000,39148=>1000,39149=>1000,39150=>1000,39151=>1000,39152=>1000,39153=>1000,39154=>1000,39155=>1000,39156=>1000,39157=>1000,39158=>1000,39159=>1000,39160=>1000,39161=>1000,39162=>1000,39163=>1000,39164=>1000,39165=>1000,39166=>1000,39167=>1000,39168=>1000,39169=>1000,39170=>1000,39171=>1000,39172=>1000,39173=>1000,39174=>1000,39175=>1000,39176=>1000,39177=>1000,39178=>1000,39179=>1000,39180=>1000,39181=>1000,39182=>1000,39183=>1000,39184=>1000,39185=>1000,39186=>1000,39187=>1000,39188=>1000,39189=>1000,39190=>1000,39191=>1000,39192=>1000,39193=>1000,39194=>1000,39195=>1000,39196=>1000,39197=>1000,39198=>1000,39199=>1000,39200=>1000,39201=>1000,39202=>1000,39203=>1000,39204=>1000,39205=>1000,39206=>1000,39207=>1000,39208=>1000,39209=>1000,39210=>1000,39211=>1000,39212=>1000,39213=>1000,39214=>1000,39215=>1000,39216=>1000,39217=>1000,39218=>1000,39219=>1000,39220=>1000,39221=>1000,39222=>1000,39223=>1000,39224=>1000,39225=>1000,39226=>1000,39227=>1000,39228=>1000,39229=>1000,39230=>1000,39231=>1000,39232=>1000,39233=>1000,39234=>1000,39235=>1000,39236=>1000,39237=>1000,39238=>1000,39239=>1000,39240=>1000,39241=>1000,39242=>1000,39243=>1000,39244=>1000,39245=>1000,39246=>1000,39247=>1000,39248=>1000,39249=>1000,39250=>1000,39251=>1000,39252=>1000,39253=>1000,39254=>1000,39255=>1000,39256=>1000,39257=>1000,39258=>1000,39259=>1000,39260=>1000,39261=>1000,39262=>1000,39263=>1000,39264=>1000,39265=>1000,39266=>1000,39267=>1000,39268=>1000,39269=>1000,39270=>1000,39271=>1000,39272=>1000,39273=>1000,39274=>1000,39275=>1000,39276=>1000,39277=>1000,39278=>1000,39279=>1000,39280=>1000,39281=>1000,39282=>1000,39283=>1000,39284=>1000,39285=>1000,39286=>1000,39287=>1000,39288=>1000,39289=>1000,39290=>1000,39291=>1000,39292=>1000,39293=>1000,39294=>1000,39295=>1000,39296=>1000,39297=>1000,39298=>1000,39299=>1000,39300=>1000,39301=>1000,39302=>1000,39303=>1000,39304=>1000,39305=>1000,39306=>1000,39307=>1000,39308=>1000,39309=>1000,39310=>1000,39311=>1000,39312=>1000,39313=>1000,39314=>1000,39315=>1000,39316=>1000,39317=>1000,39318=>1000,39319=>1000,39320=>1000,39321=>1000,39322=>1000,39323=>1000,39324=>1000,39325=>1000,39326=>1000,39327=>1000,39328=>1000,39329=>1000,39330=>1000,39331=>1000,39332=>1000,39333=>1000,39334=>1000,39335=>1000,39336=>1000,39337=>1000,39338=>1000,39339=>1000,39340=>1000,39341=>1000,39342=>1000,39343=>1000,39344=>1000,39345=>1000,39346=>1000,39347=>1000,39348=>1000,39349=>1000,39350=>1000,39351=>1000,39352=>1000,39353=>1000,39354=>1000,39355=>1000,39356=>1000,39357=>1000,39358=>1000,39359=>1000,39360=>1000,39361=>1000,39362=>1000,39363=>1000,39364=>1000,39365=>1000,39366=>1000,39367=>1000,39368=>1000,39369=>1000,39370=>1000,39371=>1000,39372=>1000,39373=>1000,39374=>1000,39375=>1000,39376=>1000,39377=>1000,39378=>1000,39379=>1000,39380=>1000,39381=>1000,39382=>1000,39383=>1000,39384=>1000,39385=>1000,39386=>1000,39387=>1000,39388=>1000,39389=>1000,39390=>1000,39391=>1000,39392=>1000,39393=>1000,39394=>1000,39395=>1000,39396=>1000,39397=>1000,39398=>1000,39399=>1000,39400=>1000,39401=>1000,39402=>1000,39403=>1000,39404=>1000,39405=>1000,39406=>1000,39407=>1000,39408=>1000,39409=>1000,39410=>1000,39411=>1000,39412=>1000,39413=>1000,39414=>1000,39415=>1000,39416=>1000,39417=>1000,39418=>1000,39419=>1000,39420=>1000,39421=>1000,39422=>1000,39423=>1000,39424=>1000,39425=>1000,39426=>1000,39427=>1000,39428=>1000,39429=>1000,39430=>1000,39431=>1000,39432=>1000,39433=>1000,39434=>1000,39435=>1000,39436=>1000,39437=>1000,39438=>1000,39439=>1000,39440=>1000,39441=>1000,39442=>1000,39443=>1000,39444=>1000,39445=>1000,39446=>1000,39447=>1000,39448=>1000,39449=>1000,39450=>1000,39451=>1000,39452=>1000,39453=>1000,39454=>1000,39455=>1000,39456=>1000,39457=>1000,39458=>1000,39459=>1000,39460=>1000,39461=>1000,39462=>1000,39463=>1000,39464=>1000,39465=>1000,39466=>1000,39467=>1000,39468=>1000,39469=>1000,39470=>1000,39471=>1000,39472=>1000,39473=>1000,39474=>1000,39475=>1000,39476=>1000,39477=>1000,39478=>1000,39479=>1000,39480=>1000,39481=>1000,39482=>1000,39483=>1000,39484=>1000,39485=>1000,39486=>1000,39487=>1000,39488=>1000,39489=>1000,39490=>1000,39491=>1000,39492=>1000,39493=>1000,39494=>1000,39495=>1000,39496=>1000,39497=>1000,39498=>1000,39499=>1000,39500=>1000,39501=>1000,39502=>1000,39503=>1000,39504=>1000,39505=>1000,39506=>1000,39507=>1000,39508=>1000,39509=>1000,39510=>1000,39511=>1000,39512=>1000,39513=>1000,39514=>1000,39515=>1000,39516=>1000,39517=>1000,39518=>1000,39519=>1000,39520=>1000,39521=>1000,39522=>1000,39523=>1000,39524=>1000,39525=>1000,39526=>1000,39527=>1000,39528=>1000,39529=>1000,39530=>1000,39531=>1000,39532=>1000,39533=>1000,39534=>1000,39535=>1000,39536=>1000,39537=>1000,39538=>1000,39539=>1000,39540=>1000,39541=>1000,39542=>1000,39543=>1000,39544=>1000,39545=>1000,39546=>1000,39547=>1000,39548=>1000,39549=>1000,39550=>1000,39551=>1000,39552=>1000,39553=>1000,39554=>1000,39555=>1000,39556=>1000,39557=>1000,39558=>1000,39559=>1000,39560=>1000,39561=>1000,39562=>1000,39563=>1000,39564=>1000,39565=>1000,39566=>1000,39567=>1000,39568=>1000,39569=>1000,39570=>1000,39571=>1000,39572=>1000,39573=>1000,39574=>1000,39575=>1000,39576=>1000,39577=>1000,39578=>1000,39579=>1000,39580=>1000,39581=>1000,39582=>1000,39583=>1000,39584=>1000,39585=>1000,39586=>1000,39587=>1000,39588=>1000,39589=>1000,39590=>1000,39591=>1000,39592=>1000,39593=>1000,39594=>1000,39595=>1000,39596=>1000,39597=>1000,39598=>1000,39599=>1000,39600=>1000,39601=>1000,39602=>1000,39603=>1000,39604=>1000,39605=>1000,39606=>1000,39607=>1000,39608=>1000,39609=>1000,39610=>1000,39611=>1000,39612=>1000,39613=>1000,39614=>1000,39615=>1000,39616=>1000,39617=>1000,39618=>1000,39619=>1000,39620=>1000,39621=>1000,39622=>1000,39623=>1000,39624=>1000,39625=>1000,39626=>1000,39627=>1000,39628=>1000,39629=>1000,39630=>1000,39631=>1000,39632=>1000,39633=>1000,39634=>1000,39635=>1000,39636=>1000,39637=>1000,39638=>1000,39639=>1000,39640=>1000,39641=>1000,39642=>1000,39643=>1000,39644=>1000,39645=>1000,39646=>1000,39647=>1000,39648=>1000,39649=>1000,39650=>1000,39651=>1000,39652=>1000,39653=>1000,39654=>1000,39655=>1000,39656=>1000,39657=>1000,39658=>1000,39659=>1000,39660=>1000,39661=>1000,39662=>1000,39663=>1000,39664=>1000,39665=>1000,39666=>1000,39667=>1000,39668=>1000,39669=>1000,39670=>1000,39671=>1000,39672=>1000,39673=>1000,39674=>1000,39675=>1000,39676=>1000,39677=>1000,39678=>1000,39679=>1000,39680=>1000,39681=>1000,39682=>1000,39683=>1000,39684=>1000,39685=>1000,39686=>1000,39687=>1000,39688=>1000,39689=>1000,39690=>1000,39691=>1000,39692=>1000,39693=>1000,39694=>1000,39695=>1000,39696=>1000,39697=>1000,39698=>1000,39699=>1000,39700=>1000,39701=>1000,39702=>1000,39703=>1000,39704=>1000,39705=>1000,39706=>1000,39707=>1000,39708=>1000,39709=>1000,39710=>1000,39711=>1000,39712=>1000,39713=>1000,39714=>1000,39715=>1000,39716=>1000,39717=>1000,39718=>1000,39719=>1000,39720=>1000,39721=>1000,39722=>1000,39723=>1000,39724=>1000,39725=>1000,39726=>1000,39727=>1000,39728=>1000,39729=>1000,39730=>1000,39731=>1000,39732=>1000,39733=>1000,39734=>1000,39735=>1000,39736=>1000,39737=>1000,39738=>1000,39739=>1000,39740=>1000,39741=>1000,39742=>1000,39743=>1000,39744=>1000,39745=>1000,39746=>1000,39747=>1000,39748=>1000,39749=>1000,39750=>1000,39751=>1000,39752=>1000,39753=>1000,39754=>1000,39755=>1000,39756=>1000,39757=>1000,39758=>1000,39759=>1000,39760=>1000,39761=>1000,39762=>1000,39763=>1000,39764=>1000,39765=>1000,39766=>1000,39767=>1000,39768=>1000,39769=>1000,39770=>1000,39771=>1000,39772=>1000,39773=>1000,39774=>1000,39775=>1000,39776=>1000,39777=>1000,39778=>1000,39779=>1000,39780=>1000,39781=>1000,39782=>1000,39783=>1000,39784=>1000,39785=>1000,39786=>1000,39787=>1000,39788=>1000,39789=>1000,39790=>1000,39791=>1000,39792=>1000,39793=>1000,39794=>1000,39795=>1000,39796=>1000,39797=>1000,39798=>1000,39799=>1000,39800=>1000,39801=>1000,39802=>1000,39803=>1000,39804=>1000,39805=>1000,39806=>1000,39807=>1000,39808=>1000,39809=>1000,39810=>1000,39811=>1000,39812=>1000,39813=>1000,39814=>1000,39815=>1000,39816=>1000,39817=>1000,39818=>1000,39819=>1000,39820=>1000,39821=>1000,39822=>1000,39823=>1000,39824=>1000,39825=>1000,39826=>1000,39827=>1000,39828=>1000,39829=>1000,39830=>1000,39831=>1000,39832=>1000,39833=>1000,39834=>1000,39835=>1000,39836=>1000,39837=>1000,39838=>1000,39839=>1000,39840=>1000,39841=>1000,39842=>1000,39843=>1000,39844=>1000,39845=>1000,39846=>1000,39847=>1000,39848=>1000,39849=>1000,39850=>1000,39851=>1000,39852=>1000,39853=>1000,39854=>1000,39855=>1000,39856=>1000,39857=>1000,39858=>1000,39859=>1000,39860=>1000,39861=>1000,39862=>1000,39863=>1000,39864=>1000,39865=>1000,39866=>1000,39867=>1000,39868=>1000,39869=>1000,39870=>1000,39871=>1000,39872=>1000,39873=>1000,39874=>1000,39875=>1000,39876=>1000,39877=>1000,39878=>1000,39879=>1000,39880=>1000,39881=>1000,39882=>1000,39883=>1000,39884=>1000,39885=>1000,39886=>1000,39887=>1000,39888=>1000,39889=>1000,39890=>1000,39891=>1000,39892=>1000,39893=>1000,39894=>1000,39895=>1000,39896=>1000,39897=>1000,39898=>1000,39899=>1000,39900=>1000,39901=>1000,39902=>1000,39903=>1000,39904=>1000,39905=>1000,39906=>1000,39907=>1000,39908=>1000,39909=>1000,39910=>1000,39911=>1000,39912=>1000,39913=>1000,39914=>1000,39915=>1000,39916=>1000,39917=>1000,39918=>1000,39919=>1000,39920=>1000,39921=>1000,39922=>1000,39923=>1000,39924=>1000,39925=>1000,39926=>1000,39927=>1000,39928=>1000,39929=>1000,39930=>1000,39931=>1000,39932=>1000,39933=>1000,39934=>1000,39935=>1000,39936=>1000,39937=>1000,39938=>1000,39939=>1000,39940=>1000,39941=>1000,39942=>1000,39943=>1000,39944=>1000,39945=>1000,39946=>1000,39947=>1000,39948=>1000,39949=>1000,39950=>1000,39951=>1000,39952=>1000,39953=>1000,39954=>1000,39955=>1000,39956=>1000,39957=>1000,39958=>1000,39959=>1000,39960=>1000,39961=>1000,39962=>1000,39963=>1000,39964=>1000,39965=>1000,39966=>1000,39967=>1000,39968=>1000,39969=>1000,39970=>1000,39971=>1000,39972=>1000,39973=>1000,39974=>1000,39975=>1000,39976=>1000,39977=>1000,39978=>1000,39979=>1000,39980=>1000,39981=>1000,39982=>1000,39983=>1000,39984=>1000,39985=>1000,39986=>1000,39987=>1000,39988=>1000,39989=>1000,39990=>1000,39991=>1000,39992=>1000,39993=>1000,39994=>1000,39995=>1000,39996=>1000,39997=>1000,39998=>1000,39999=>1000,40000=>1000,40001=>1000,40002=>1000,40003=>1000,40004=>1000,40005=>1000,40006=>1000,40007=>1000,40008=>1000,40009=>1000,40010=>1000,40011=>1000,40012=>1000,40013=>1000,40014=>1000,40015=>1000,40016=>1000,40017=>1000,40018=>1000,40019=>1000,40020=>1000,40021=>1000,40022=>1000,40023=>1000,40024=>1000,40025=>1000,40026=>1000,40027=>1000,40028=>1000,40029=>1000,40030=>1000,40031=>1000,40032=>1000,40033=>1000,40034=>1000,40035=>1000,40036=>1000,40037=>1000,40038=>1000,40039=>1000,40040=>1000,40041=>1000,40042=>1000,40043=>1000,40044=>1000,40045=>1000,40046=>1000,40047=>1000,40048=>1000,40049=>1000,40050=>1000,40051=>1000,40052=>1000,40053=>1000,40054=>1000,40055=>1000,40056=>1000,40057=>1000,40058=>1000,40059=>1000,40060=>1000,40061=>1000,40062=>1000,40063=>1000,40064=>1000,40065=>1000,40066=>1000,40067=>1000,40068=>1000,40069=>1000,40070=>1000,40071=>1000,40072=>1000,40073=>1000,40074=>1000,40075=>1000,40076=>1000,40077=>1000,40078=>1000,40079=>1000,40080=>1000,40081=>1000,40082=>1000,40083=>1000,40084=>1000,40085=>1000,40086=>1000,40087=>1000,40088=>1000,40089=>1000,40090=>1000,40091=>1000,40092=>1000,40093=>1000,40094=>1000,40095=>1000,40096=>1000,40097=>1000,40098=>1000,40099=>1000,40100=>1000,40101=>1000,40102=>1000,40103=>1000,40104=>1000,40105=>1000,40106=>1000,40107=>1000,40108=>1000,40109=>1000,40110=>1000,40111=>1000,40112=>1000,40113=>1000,40114=>1000,40115=>1000,40116=>1000,40117=>1000,40118=>1000,40119=>1000,40120=>1000,40121=>1000,40122=>1000,40123=>1000,40124=>1000,40125=>1000,40126=>1000,40127=>1000,40128=>1000,40129=>1000,40130=>1000,40131=>1000,40132=>1000,40133=>1000,40134=>1000,40135=>1000,40136=>1000,40137=>1000,40138=>1000,40139=>1000,40140=>1000,40141=>1000,40142=>1000,40143=>1000,40144=>1000,40145=>1000,40146=>1000,40147=>1000,40148=>1000,40149=>1000,40150=>1000,40151=>1000,40152=>1000,40153=>1000,40154=>1000,40155=>1000,40156=>1000,40157=>1000,40158=>1000,40159=>1000,40160=>1000,40161=>1000,40162=>1000,40163=>1000,40164=>1000,40165=>1000,40166=>1000,40167=>1000,40168=>1000,40169=>1000,40170=>1000,40171=>1000,40172=>1000,40173=>1000,40174=>1000,40175=>1000,40176=>1000,40177=>1000,40178=>1000,40179=>1000,40180=>1000,40181=>1000,40182=>1000,40183=>1000,40184=>1000,40185=>1000,40186=>1000,40187=>1000,40188=>1000,40189=>1000,40190=>1000,40191=>1000,40192=>1000,40193=>1000,40194=>1000,40195=>1000,40196=>1000,40197=>1000,40198=>1000,40199=>1000,40200=>1000,40201=>1000,40202=>1000,40203=>1000,40204=>1000,40205=>1000,40206=>1000,40207=>1000,40208=>1000,40209=>1000,40210=>1000,40211=>1000,40212=>1000,40213=>1000,40214=>1000,40215=>1000,40216=>1000,40217=>1000,40218=>1000,40219=>1000,40220=>1000,40221=>1000,40222=>1000,40223=>1000,40224=>1000,40225=>1000,40226=>1000,40227=>1000,40228=>1000,40229=>1000,40230=>1000,40231=>1000,40232=>1000,40233=>1000,40234=>1000,40235=>1000,40236=>1000,40237=>1000,40238=>1000,40239=>1000,40240=>1000,40241=>1000,40242=>1000,40243=>1000,40244=>1000,40245=>1000,40246=>1000,40247=>1000,40248=>1000,40249=>1000,40250=>1000,40251=>1000,40252=>1000,40253=>1000,40254=>1000,40255=>1000,40256=>1000,40257=>1000,40258=>1000,40259=>1000,40260=>1000,40261=>1000,40262=>1000,40263=>1000,40264=>1000,40265=>1000,40266=>1000,40267=>1000,40268=>1000,40269=>1000,40270=>1000,40271=>1000,40272=>1000,40273=>1000,40274=>1000,40275=>1000,40276=>1000,40277=>1000,40278=>1000,40279=>1000,40280=>1000,40281=>1000,40282=>1000,40283=>1000,40284=>1000,40285=>1000,40286=>1000,40287=>1000,40288=>1000,40289=>1000,40290=>1000,40291=>1000,40292=>1000,40293=>1000,40294=>1000,40295=>1000,40296=>1000,40297=>1000,40298=>1000,40299=>1000,40300=>1000,40301=>1000,40302=>1000,40303=>1000,40304=>1000,40305=>1000,40306=>1000,40307=>1000,40308=>1000,40309=>1000,40310=>1000,40311=>1000,40312=>1000,40313=>1000,40314=>1000,40315=>1000,40316=>1000,40317=>1000,40318=>1000,40319=>1000,40320=>1000,40321=>1000,40322=>1000,40323=>1000,40324=>1000,40325=>1000,40326=>1000,40327=>1000,40328=>1000,40329=>1000,40330=>1000,40331=>1000,40332=>1000,40333=>1000,40334=>1000,40335=>1000,40336=>1000,40337=>1000,40338=>1000,40339=>1000,40340=>1000,40341=>1000,40342=>1000,40343=>1000,40344=>1000,40345=>1000,40346=>1000,40347=>1000,40348=>1000,40349=>1000,40350=>1000,40351=>1000,40352=>1000,40353=>1000,40354=>1000,40355=>1000,40356=>1000,40357=>1000,40358=>1000,40359=>1000,40360=>1000,40361=>1000,40362=>1000,40363=>1000,40364=>1000,40365=>1000,40366=>1000,40367=>1000,40368=>1000,40369=>1000,40370=>1000,40371=>1000,40372=>1000,40373=>1000,40374=>1000,40375=>1000,40376=>1000,40377=>1000,40378=>1000,40379=>1000,40380=>1000,40381=>1000,40382=>1000,40383=>1000,40384=>1000,40385=>1000,40386=>1000,40387=>1000,40388=>1000,40389=>1000,40390=>1000,40391=>1000,40392=>1000,40393=>1000,40394=>1000,40395=>1000,40396=>1000,40397=>1000,40398=>1000,40399=>1000,40400=>1000,40401=>1000,40402=>1000,40403=>1000,40404=>1000,40405=>1000,40406=>1000,40407=>1000,40408=>1000,40409=>1000,40410=>1000,40411=>1000,40412=>1000,40413=>1000,40414=>1000,40415=>1000,40416=>1000,40417=>1000,40418=>1000,40419=>1000,40420=>1000,40421=>1000,40422=>1000,40423=>1000,40424=>1000,40425=>1000,40426=>1000,40427=>1000,40428=>1000,40429=>1000,40430=>1000,40431=>1000,40432=>1000,40433=>1000,40434=>1000,40435=>1000,40436=>1000,40437=>1000,40438=>1000,40439=>1000,40440=>1000,40441=>1000,40442=>1000,40443=>1000,40444=>1000,40445=>1000,40446=>1000,40447=>1000,40448=>1000,40449=>1000,40450=>1000,40451=>1000,40452=>1000,40453=>1000,40454=>1000,40455=>1000,40456=>1000,40457=>1000,40458=>1000,40459=>1000,40460=>1000,40461=>1000,40462=>1000,40463=>1000,40464=>1000,40465=>1000,40466=>1000,40467=>1000,40468=>1000,40469=>1000,40470=>1000,40471=>1000,40472=>1000,40473=>1000,40474=>1000,40475=>1000,40476=>1000,40477=>1000,40478=>1000,40479=>1000,40480=>1000,40481=>1000,40482=>1000,40483=>1000,40484=>1000,40485=>1000,40486=>1000,40487=>1000,40488=>1000,40489=>1000,40490=>1000,40491=>1000,40492=>1000,40493=>1000,40494=>1000,40495=>1000,40496=>1000,40497=>1000,40498=>1000,40499=>1000,40500=>1000,40501=>1000,40502=>1000,40503=>1000,40504=>1000,40505=>1000,40506=>1000,40507=>1000,40508=>1000,40509=>1000,40510=>1000,40511=>1000,40512=>1000,40513=>1000,40514=>1000,40515=>1000,40516=>1000,40517=>1000,40518=>1000,40519=>1000,40520=>1000,40521=>1000,40522=>1000,40523=>1000,40524=>1000,40525=>1000,40526=>1000,40527=>1000,40528=>1000,40529=>1000,40530=>1000,40531=>1000,40532=>1000,40533=>1000,40534=>1000,40535=>1000,40536=>1000,40537=>1000,40538=>1000,40539=>1000,40540=>1000,40541=>1000,40542=>1000,40543=>1000,40544=>1000,40545=>1000,40546=>1000,40547=>1000,40548=>1000,40549=>1000,40550=>1000,40551=>1000,40552=>1000,40553=>1000,40554=>1000,40555=>1000,40556=>1000,40557=>1000,40558=>1000,40559=>1000,40560=>1000,40561=>1000,40562=>1000,40563=>1000,40564=>1000,40565=>1000,40566=>1000,40567=>1000,40568=>1000,40569=>1000,40570=>1000,40571=>1000,40572=>1000,40573=>1000,40574=>1000,40575=>1000,40576=>1000,40577=>1000,40578=>1000,40579=>1000,40580=>1000,40581=>1000,40582=>1000,40583=>1000,40584=>1000,40585=>1000,40586=>1000,40587=>1000,40588=>1000,40589=>1000,40590=>1000,40591=>1000,40592=>1000,40593=>1000,40594=>1000,40595=>1000,40596=>1000,40597=>1000,40598=>1000,40599=>1000,40600=>1000,40601=>1000,40602=>1000,40603=>1000,40604=>1000,40605=>1000,40606=>1000,40607=>1000,40608=>1000,40609=>1000,40610=>1000,40611=>1000,40612=>1000,40613=>1000,40614=>1000,40615=>1000,40616=>1000,40617=>1000,40618=>1000,40619=>1000,40620=>1000,40621=>1000,40622=>1000,40623=>1000,40624=>1000,40625=>1000,40626=>1000,40627=>1000,40628=>1000,40629=>1000,40630=>1000,40631=>1000,40632=>1000,40633=>1000,40634=>1000,40635=>1000,40636=>1000,40637=>1000,40638=>1000,40639=>1000,40640=>1000,40641=>1000,40642=>1000,40643=>1000,40644=>1000,40645=>1000,40646=>1000,40647=>1000,40648=>1000,40649=>1000,40650=>1000,40651=>1000,40652=>1000,40653=>1000,40654=>1000,40655=>1000,40656=>1000,40657=>1000,40658=>1000,40659=>1000,40660=>1000,40661=>1000,40662=>1000,40663=>1000,40664=>1000,40665=>1000,40666=>1000,40667=>1000,40668=>1000,40669=>1000,40670=>1000,40671=>1000,40672=>1000,40673=>1000,40674=>1000,40675=>1000,40676=>1000,40677=>1000,40678=>1000,40679=>1000,40680=>1000,40681=>1000,40682=>1000,40683=>1000,40684=>1000,40685=>1000,40686=>1000,40687=>1000,40688=>1000,40689=>1000,40690=>1000,40691=>1000,40692=>1000,40693=>1000,40694=>1000,40695=>1000,40696=>1000,40697=>1000,40698=>1000,40699=>1000,40700=>1000,40701=>1000,40702=>1000,40703=>1000,40704=>1000,40705=>1000,40706=>1000,40707=>1000,40708=>1000,40709=>1000,40710=>1000,40711=>1000,40712=>1000,40713=>1000,40714=>1000,40715=>1000,40716=>1000,40717=>1000,40718=>1000,40719=>1000,40720=>1000,40721=>1000,40722=>1000,40723=>1000,40724=>1000,40725=>1000,40726=>1000,40727=>1000,40728=>1000,40729=>1000,40730=>1000,40731=>1000,40732=>1000,40733=>1000,40734=>1000,40735=>1000,40736=>1000,40737=>1000,40738=>1000,40739=>1000,40740=>1000,40741=>1000,40742=>1000,40743=>1000,40744=>1000,40745=>1000,40746=>1000,40747=>1000,40748=>1000,40749=>1000,40750=>1000,40751=>1000,40752=>1000,40753=>1000,40754=>1000,40755=>1000,40756=>1000,40757=>1000,40758=>1000,40759=>1000,40760=>1000,40761=>1000,40762=>1000,40763=>1000,40764=>1000,40765=>1000,40766=>1000,40767=>1000,40768=>1000,40769=>1000,40770=>1000,40771=>1000,40772=>1000,40773=>1000,40774=>1000,40775=>1000,40776=>1000,40777=>1000,40778=>1000,40779=>1000,40780=>1000,40781=>1000,40782=>1000,40783=>1000,40784=>1000,40785=>1000,40786=>1000,40787=>1000,40788=>1000,40789=>1000,40790=>1000,40791=>1000,40792=>1000,40793=>1000,40794=>1000,40795=>1000,40796=>1000,40797=>1000,40798=>1000,40799=>1000,40800=>1000,40801=>1000,40802=>1000,40803=>1000,40804=>1000,40805=>1000,40806=>1000,40807=>1000,40808=>1000,40809=>1000,40810=>1000,40811=>1000,40812=>1000,40813=>1000,40814=>1000,40815=>1000,40816=>1000,40817=>1000,40818=>1000,40819=>1000,40820=>1000,40821=>1000,40822=>1000,40823=>1000,40824=>1000,40825=>1000,40826=>1000,40827=>1000,40828=>1000,40829=>1000,40830=>1000,40831=>1000,40832=>1000,40833=>1000,40834=>1000,40835=>1000,40836=>1000,40837=>1000,40838=>1000,40839=>1000,40840=>1000,40841=>1000,40842=>1000,40843=>1000,40844=>1000,40845=>1000,40846=>1000,40847=>1000,40848=>1000,40849=>1000,40850=>1000,40851=>1000,40852=>1000,40853=>1000,40854=>1000,40855=>1000,40856=>1000,40857=>1000,40858=>1000,40859=>1000,40860=>1000,40861=>1000,40862=>1000,40863=>1000,40864=>1000,40865=>1000,40866=>1000,40867=>1000,40868=>1000,40869=>1000,44032=>1000,44033=>1000,44034=>1000,44035=>1000,44036=>1000,44037=>1000,44038=>1000,44039=>1000,44040=>1000,44041=>1000,44042=>1000,44043=>1000,44044=>1000,44045=>1000,44046=>1000,44047=>1000,44048=>1000,44049=>1000,44050=>1000,44051=>1000,44052=>1000,44053=>1000,44054=>1000,44055=>1000,44056=>1000,44057=>1000,44058=>1000,44059=>1000,44060=>1000,44061=>1000,44062=>1000,44063=>1000,44064=>1000,44065=>1000,44066=>1000,44067=>1000,44068=>1000,44069=>1000,44070=>1000,44071=>1000,44072=>1000,44073=>1000,44074=>1000,44075=>1000,44076=>1000,44077=>1000,44078=>1000,44079=>1000,44080=>1000,44081=>1000,44082=>1000,44083=>1000,44084=>1000,44085=>1000,44086=>1000,44087=>1000,44088=>1000,44089=>1000,44090=>1000,44091=>1000,44092=>1000,44093=>1000,44094=>1000,44095=>1000,44096=>1000,44097=>1000,44098=>1000,44099=>1000,44100=>1000,44101=>1000,44102=>1000,44103=>1000,44104=>1000,44105=>1000,44106=>1000,44107=>1000,44108=>1000,44109=>1000,44110=>1000,44111=>1000,44112=>1000,44113=>1000,44114=>1000,44115=>1000,44116=>1000,44117=>1000,44118=>1000,44119=>1000,44120=>1000,44121=>1000,44122=>1000,44123=>1000,44124=>1000,44125=>1000,44126=>1000,44127=>1000,44128=>1000,44129=>1000,44130=>1000,44131=>1000,44132=>1000,44133=>1000,44134=>1000,44135=>1000,44136=>1000,44137=>1000,44138=>1000,44139=>1000,44140=>1000,44141=>1000,44142=>1000,44143=>1000,44144=>1000,44145=>1000,44146=>1000,44147=>1000,44148=>1000,44149=>1000,44150=>1000,44151=>1000,44152=>1000,44153=>1000,44154=>1000,44155=>1000,44156=>1000,44157=>1000,44158=>1000,44159=>1000,44160=>1000,44161=>1000,44162=>1000,44163=>1000,44164=>1000,44165=>1000,44166=>1000,44167=>1000,44168=>1000,44169=>1000,44170=>1000,44171=>1000,44172=>1000,44173=>1000,44174=>1000,44175=>1000,44176=>1000,44177=>1000,44178=>1000,44179=>1000,44180=>1000,44181=>1000,44182=>1000,44183=>1000,44184=>1000,44185=>1000,44186=>1000,44187=>1000,44188=>1000,44189=>1000,44190=>1000,44191=>1000,44192=>1000,44193=>1000,44194=>1000,44195=>1000,44196=>1000,44197=>1000,44198=>1000,44199=>1000,44200=>1000,44201=>1000,44202=>1000,44203=>1000,44204=>1000,44205=>1000,44206=>1000,44207=>1000,44208=>1000,44209=>1000,44210=>1000,44211=>1000,44212=>1000,44213=>1000,44214=>1000,44215=>1000,44216=>1000,44217=>1000,44218=>1000,44219=>1000,44220=>1000,44221=>1000,44222=>1000,44223=>1000,44224=>1000,44225=>1000,44226=>1000,44227=>1000,44228=>1000,44229=>1000,44230=>1000,44231=>1000,44232=>1000,44233=>1000,44234=>1000,44235=>1000,44236=>1000,44237=>1000,44238=>1000,44239=>1000,44240=>1000,44241=>1000,44242=>1000,44243=>1000,44244=>1000,44245=>1000,44246=>1000,44247=>1000,44248=>1000,44249=>1000,44250=>1000,44251=>1000,44252=>1000,44253=>1000,44254=>1000,44255=>1000,44256=>1000,44257=>1000,44258=>1000,44259=>1000,44260=>1000,44261=>1000,44262=>1000,44263=>1000,44264=>1000,44265=>1000,44266=>1000,44267=>1000,44268=>1000,44269=>1000,44270=>1000,44271=>1000,44272=>1000,44273=>1000,44274=>1000,44275=>1000,44276=>1000,44277=>1000,44278=>1000,44279=>1000,44280=>1000,44281=>1000,44282=>1000,44283=>1000,44284=>1000,44285=>1000,44286=>1000,44287=>1000,44288=>1000,44289=>1000,44290=>1000,44291=>1000,44292=>1000,44293=>1000,44294=>1000,44295=>1000,44296=>1000,44297=>1000,44298=>1000,44299=>1000,44300=>1000,44301=>1000,44302=>1000,44303=>1000,44304=>1000,44305=>1000,44306=>1000,44307=>1000,44308=>1000,44309=>1000,44310=>1000,44311=>1000,44312=>1000,44313=>1000,44314=>1000,44315=>1000,44316=>1000,44317=>1000,44318=>1000,44319=>1000,44320=>1000,44321=>1000,44322=>1000,44323=>1000,44324=>1000,44325=>1000,44326=>1000,44327=>1000,44328=>1000,44329=>1000,44330=>1000,44331=>1000,44332=>1000,44333=>1000,44334=>1000,44335=>1000,44336=>1000,44337=>1000,44338=>1000,44339=>1000,44340=>1000,44341=>1000,44342=>1000,44343=>1000,44344=>1000,44345=>1000,44346=>1000,44347=>1000,44348=>1000,44349=>1000,44350=>1000,44351=>1000,44352=>1000,44353=>1000,44354=>1000,44355=>1000,44356=>1000,44357=>1000,44358=>1000,44359=>1000,44360=>1000,44361=>1000,44362=>1000,44363=>1000,44364=>1000,44365=>1000,44366=>1000,44367=>1000,44368=>1000,44369=>1000,44370=>1000,44371=>1000,44372=>1000,44373=>1000,44374=>1000,44375=>1000,44376=>1000,44377=>1000,44378=>1000,44379=>1000,44380=>1000,44381=>1000,44382=>1000,44383=>1000,44384=>1000,44385=>1000,44386=>1000,44387=>1000,44388=>1000,44389=>1000,44390=>1000,44391=>1000,44392=>1000,44393=>1000,44394=>1000,44395=>1000,44396=>1000,44397=>1000,44398=>1000,44399=>1000,44400=>1000,44401=>1000,44402=>1000,44403=>1000,44404=>1000,44405=>1000,44406=>1000,44407=>1000,44408=>1000,44409=>1000,44410=>1000,44411=>1000,44412=>1000,44413=>1000,44414=>1000,44415=>1000,44416=>1000,44417=>1000,44418=>1000,44419=>1000,44420=>1000,44421=>1000,44422=>1000,44423=>1000,44424=>1000,44425=>1000,44426=>1000,44427=>1000,44428=>1000,44429=>1000,44430=>1000,44431=>1000,44432=>1000,44433=>1000,44434=>1000,44435=>1000,44436=>1000,44437=>1000,44438=>1000,44439=>1000,44440=>1000,44441=>1000,44442=>1000,44443=>1000,44444=>1000,44445=>1000,44446=>1000,44447=>1000,44448=>1000,44449=>1000,44450=>1000,44451=>1000,44452=>1000,44453=>1000,44454=>1000,44455=>1000,44456=>1000,44457=>1000,44458=>1000,44459=>1000,44460=>1000,44461=>1000,44462=>1000,44463=>1000,44464=>1000,44465=>1000,44466=>1000,44467=>1000,44468=>1000,44469=>1000,44470=>1000,44471=>1000,44472=>1000,44473=>1000,44474=>1000,44475=>1000,44476=>1000,44477=>1000,44478=>1000,44479=>1000,44480=>1000,44481=>1000,44482=>1000,44483=>1000,44484=>1000,44485=>1000,44486=>1000,44487=>1000,44488=>1000,44489=>1000,44490=>1000,44491=>1000,44492=>1000,44493=>1000,44494=>1000,44495=>1000,44496=>1000,44497=>1000,44498=>1000,44499=>1000,44500=>1000,44501=>1000,44502=>1000,44503=>1000,44504=>1000,44505=>1000,44506=>1000,44507=>1000,44508=>1000,44509=>1000,44510=>1000,44511=>1000,44512=>1000,44513=>1000,44514=>1000,44515=>1000,44516=>1000,44517=>1000,44518=>1000,44519=>1000,44520=>1000,44521=>1000,44522=>1000,44523=>1000,44524=>1000,44525=>1000,44526=>1000,44527=>1000,44528=>1000,44529=>1000,44530=>1000,44531=>1000,44532=>1000,44533=>1000,44534=>1000,44535=>1000,44536=>1000,44537=>1000,44538=>1000,44539=>1000,44540=>1000,44541=>1000,44542=>1000,44543=>1000,44544=>1000,44545=>1000,44546=>1000,44547=>1000,44548=>1000,44549=>1000,44550=>1000,44551=>1000,44552=>1000,44553=>1000,44554=>1000,44555=>1000,44556=>1000,44557=>1000,44558=>1000,44559=>1000,44560=>1000,44561=>1000,44562=>1000,44563=>1000,44564=>1000,44565=>1000,44566=>1000,44567=>1000,44568=>1000,44569=>1000,44570=>1000,44571=>1000,44572=>1000,44573=>1000,44574=>1000,44575=>1000,44576=>1000,44577=>1000,44578=>1000,44579=>1000,44580=>1000,44581=>1000,44582=>1000,44583=>1000,44584=>1000,44585=>1000,44586=>1000,44587=>1000,44588=>1000,44589=>1000,44590=>1000,44591=>1000,44592=>1000,44593=>1000,44594=>1000,44595=>1000,44596=>1000,44597=>1000,44598=>1000,44599=>1000,44600=>1000,44601=>1000,44602=>1000,44603=>1000,44604=>1000,44605=>1000,44606=>1000,44607=>1000,44608=>1000,44609=>1000,44610=>1000,44611=>1000,44612=>1000,44613=>1000,44614=>1000,44615=>1000,44616=>1000,44617=>1000,44618=>1000,44619=>1000,44620=>1000,44621=>1000,44622=>1000,44623=>1000,44624=>1000,44625=>1000,44626=>1000,44627=>1000,44628=>1000,44629=>1000,44630=>1000,44631=>1000,44632=>1000,44633=>1000,44634=>1000,44635=>1000,44636=>1000,44637=>1000,44638=>1000,44639=>1000,44640=>1000,44641=>1000,44642=>1000,44643=>1000,44644=>1000,44645=>1000,44646=>1000,44647=>1000,44648=>1000,44649=>1000,44650=>1000,44651=>1000,44652=>1000,44653=>1000,44654=>1000,44655=>1000,44656=>1000,44657=>1000,44658=>1000,44659=>1000,44660=>1000,44661=>1000,44662=>1000,44663=>1000,44664=>1000,44665=>1000,44666=>1000,44667=>1000,44668=>1000,44669=>1000,44670=>1000,44671=>1000,44672=>1000,44673=>1000,44674=>1000,44675=>1000,44676=>1000,44677=>1000,44678=>1000,44679=>1000,44680=>1000,44681=>1000,44682=>1000,44683=>1000,44684=>1000,44685=>1000,44686=>1000,44687=>1000,44688=>1000,44689=>1000,44690=>1000,44691=>1000,44692=>1000,44693=>1000,44694=>1000,44695=>1000,44696=>1000,44697=>1000,44698=>1000,44699=>1000,44700=>1000,44701=>1000,44702=>1000,44703=>1000,44704=>1000,44705=>1000,44706=>1000,44707=>1000,44708=>1000,44709=>1000,44710=>1000,44711=>1000,44712=>1000,44713=>1000,44714=>1000,44715=>1000,44716=>1000,44717=>1000,44718=>1000,44719=>1000,44720=>1000,44721=>1000,44722=>1000,44723=>1000,44724=>1000,44725=>1000,44726=>1000,44727=>1000,44728=>1000,44729=>1000,44730=>1000,44731=>1000,44732=>1000,44733=>1000,44734=>1000,44735=>1000,44736=>1000,44737=>1000,44738=>1000,44739=>1000,44740=>1000,44741=>1000,44742=>1000,44743=>1000,44744=>1000,44745=>1000,44746=>1000,44747=>1000,44748=>1000,44749=>1000,44750=>1000,44751=>1000,44752=>1000,44753=>1000,44754=>1000,44755=>1000,44756=>1000,44757=>1000,44758=>1000,44759=>1000,44760=>1000,44761=>1000,44762=>1000,44763=>1000,44764=>1000,44765=>1000,44766=>1000,44767=>1000,44768=>1000,44769=>1000,44770=>1000,44771=>1000,44772=>1000,44773=>1000,44774=>1000,44775=>1000,44776=>1000,44777=>1000,44778=>1000,44779=>1000,44780=>1000,44781=>1000,44782=>1000,44783=>1000,44784=>1000,44785=>1000,44786=>1000,44787=>1000,44788=>1000,44789=>1000,44790=>1000,44791=>1000,44792=>1000,44793=>1000,44794=>1000,44795=>1000,44796=>1000,44797=>1000,44798=>1000,44799=>1000,44800=>1000,44801=>1000,44802=>1000,44803=>1000,44804=>1000,44805=>1000,44806=>1000,44807=>1000,44808=>1000,44809=>1000,44810=>1000,44811=>1000,44812=>1000,44813=>1000,44814=>1000,44815=>1000,44816=>1000,44817=>1000,44818=>1000,44819=>1000,44820=>1000,44821=>1000,44822=>1000,44823=>1000,44824=>1000,44825=>1000,44826=>1000,44827=>1000,44828=>1000,44829=>1000,44830=>1000,44831=>1000,44832=>1000,44833=>1000,44834=>1000,44835=>1000,44836=>1000,44837=>1000,44838=>1000,44839=>1000,44840=>1000,44841=>1000,44842=>1000,44843=>1000,44844=>1000,44845=>1000,44846=>1000,44847=>1000,44848=>1000,44849=>1000,44850=>1000,44851=>1000,44852=>1000,44853=>1000,44854=>1000,44855=>1000,44856=>1000,44857=>1000,44858=>1000,44859=>1000,44860=>1000,44861=>1000,44862=>1000,44863=>1000,44864=>1000,44865=>1000,44866=>1000,44867=>1000,44868=>1000,44869=>1000,44870=>1000,44871=>1000,44872=>1000,44873=>1000,44874=>1000,44875=>1000,44876=>1000,44877=>1000,44878=>1000,44879=>1000,44880=>1000,44881=>1000,44882=>1000,44883=>1000,44884=>1000,44885=>1000,44886=>1000,44887=>1000,44888=>1000,44889=>1000,44890=>1000,44891=>1000,44892=>1000,44893=>1000,44894=>1000,44895=>1000,44896=>1000,44897=>1000,44898=>1000,44899=>1000,44900=>1000,44901=>1000,44902=>1000,44903=>1000,44904=>1000,44905=>1000,44906=>1000,44907=>1000,44908=>1000,44909=>1000,44910=>1000,44911=>1000,44912=>1000,44913=>1000,44914=>1000,44915=>1000,44916=>1000,44917=>1000,44918=>1000,44919=>1000,44920=>1000,44921=>1000,44922=>1000,44923=>1000,44924=>1000,44925=>1000,44926=>1000,44927=>1000,44928=>1000,44929=>1000,44930=>1000,44931=>1000,44932=>1000,44933=>1000,44934=>1000,44935=>1000,44936=>1000,44937=>1000,44938=>1000,44939=>1000,44940=>1000,44941=>1000,44942=>1000,44943=>1000,44944=>1000,44945=>1000,44946=>1000,44947=>1000,44948=>1000,44949=>1000,44950=>1000,44951=>1000,44952=>1000,44953=>1000,44954=>1000,44955=>1000,44956=>1000,44957=>1000,44958=>1000,44959=>1000,44960=>1000,44961=>1000,44962=>1000,44963=>1000,44964=>1000,44965=>1000,44966=>1000,44967=>1000,44968=>1000,44969=>1000,44970=>1000,44971=>1000,44972=>1000,44973=>1000,44974=>1000,44975=>1000,44976=>1000,44977=>1000,44978=>1000,44979=>1000,44980=>1000,44981=>1000,44982=>1000,44983=>1000,44984=>1000,44985=>1000,44986=>1000,44987=>1000,44988=>1000,44989=>1000,44990=>1000,44991=>1000,44992=>1000,44993=>1000,44994=>1000,44995=>1000,44996=>1000,44997=>1000,44998=>1000,44999=>1000,45000=>1000,45001=>1000,45002=>1000,45003=>1000,45004=>1000,45005=>1000,45006=>1000,45007=>1000,45008=>1000,45009=>1000,45010=>1000,45011=>1000,45012=>1000,45013=>1000,45014=>1000,45015=>1000,45016=>1000,45017=>1000,45018=>1000,45019=>1000,45020=>1000,45021=>1000,45022=>1000,45023=>1000,45024=>1000,45025=>1000,45026=>1000,45027=>1000,45028=>1000,45029=>1000,45030=>1000,45031=>1000,45032=>1000,45033=>1000,45034=>1000,45035=>1000,45036=>1000,45037=>1000,45038=>1000,45039=>1000,45040=>1000,45041=>1000,45042=>1000,45043=>1000,45044=>1000,45045=>1000,45046=>1000,45047=>1000,45048=>1000,45049=>1000,45050=>1000,45051=>1000,45052=>1000,45053=>1000,45054=>1000,45055=>1000,45056=>1000,45057=>1000,45058=>1000,45059=>1000,45060=>1000,45061=>1000,45062=>1000,45063=>1000,45064=>1000,45065=>1000,45066=>1000,45067=>1000,45068=>1000,45069=>1000,45070=>1000,45071=>1000,45072=>1000,45073=>1000,45074=>1000,45075=>1000,45076=>1000,45077=>1000,45078=>1000,45079=>1000,45080=>1000,45081=>1000,45082=>1000,45083=>1000,45084=>1000,45085=>1000,45086=>1000,45087=>1000,45088=>1000,45089=>1000,45090=>1000,45091=>1000,45092=>1000,45093=>1000,45094=>1000,45095=>1000,45096=>1000,45097=>1000,45098=>1000,45099=>1000,45100=>1000,45101=>1000,45102=>1000,45103=>1000,45104=>1000,45105=>1000,45106=>1000,45107=>1000,45108=>1000,45109=>1000,45110=>1000,45111=>1000,45112=>1000,45113=>1000,45114=>1000,45115=>1000,45116=>1000,45117=>1000,45118=>1000,45119=>1000,45120=>1000,45121=>1000,45122=>1000,45123=>1000,45124=>1000,45125=>1000,45126=>1000,45127=>1000,45128=>1000,45129=>1000,45130=>1000,45131=>1000,45132=>1000,45133=>1000,45134=>1000,45135=>1000,45136=>1000,45137=>1000,45138=>1000,45139=>1000,45140=>1000,45141=>1000,45142=>1000,45143=>1000,45144=>1000,45145=>1000,45146=>1000,45147=>1000,45148=>1000,45149=>1000,45150=>1000,45151=>1000,45152=>1000,45153=>1000,45154=>1000,45155=>1000,45156=>1000,45157=>1000,45158=>1000,45159=>1000,45160=>1000,45161=>1000,45162=>1000,45163=>1000,45164=>1000,45165=>1000,45166=>1000,45167=>1000,45168=>1000,45169=>1000,45170=>1000,45171=>1000,45172=>1000,45173=>1000,45174=>1000,45175=>1000,45176=>1000,45177=>1000,45178=>1000,45179=>1000,45180=>1000,45181=>1000,45182=>1000,45183=>1000,45184=>1000,45185=>1000,45186=>1000,45187=>1000,45188=>1000,45189=>1000,45190=>1000,45191=>1000,45192=>1000,45193=>1000,45194=>1000,45195=>1000,45196=>1000,45197=>1000,45198=>1000,45199=>1000,45200=>1000,45201=>1000,45202=>1000,45203=>1000,45204=>1000,45205=>1000,45206=>1000,45207=>1000,45208=>1000,45209=>1000,45210=>1000,45211=>1000,45212=>1000,45213=>1000,45214=>1000,45215=>1000,45216=>1000,45217=>1000,45218=>1000,45219=>1000,45220=>1000,45221=>1000,45222=>1000,45223=>1000,45224=>1000,45225=>1000,45226=>1000,45227=>1000,45228=>1000,45229=>1000,45230=>1000,45231=>1000,45232=>1000,45233=>1000,45234=>1000,45235=>1000,45236=>1000,45237=>1000,45238=>1000,45239=>1000,45240=>1000,45241=>1000,45242=>1000,45243=>1000,45244=>1000,45245=>1000,45246=>1000,45247=>1000,45248=>1000,45249=>1000,45250=>1000,45251=>1000,45252=>1000,45253=>1000,45254=>1000,45255=>1000,45256=>1000,45257=>1000,45258=>1000,45259=>1000,45260=>1000,45261=>1000,45262=>1000,45263=>1000,45264=>1000,45265=>1000,45266=>1000,45267=>1000,45268=>1000,45269=>1000,45270=>1000,45271=>1000,45272=>1000,45273=>1000,45274=>1000,45275=>1000,45276=>1000,45277=>1000,45278=>1000,45279=>1000,45280=>1000,45281=>1000,45282=>1000,45283=>1000,45284=>1000,45285=>1000,45286=>1000,45287=>1000,45288=>1000,45289=>1000,45290=>1000,45291=>1000,45292=>1000,45293=>1000,45294=>1000,45295=>1000,45296=>1000,45297=>1000,45298=>1000,45299=>1000,45300=>1000,45301=>1000,45302=>1000,45303=>1000,45304=>1000,45305=>1000,45306=>1000,45307=>1000,45308=>1000,45309=>1000,45310=>1000,45311=>1000,45312=>1000,45313=>1000,45314=>1000,45315=>1000,45316=>1000,45317=>1000,45318=>1000,45319=>1000,45320=>1000,45321=>1000,45322=>1000,45323=>1000,45324=>1000,45325=>1000,45326=>1000,45327=>1000,45328=>1000,45329=>1000,45330=>1000,45331=>1000,45332=>1000,45333=>1000,45334=>1000,45335=>1000,45336=>1000,45337=>1000,45338=>1000,45339=>1000,45340=>1000,45341=>1000,45342=>1000,45343=>1000,45344=>1000,45345=>1000,45346=>1000,45347=>1000,45348=>1000,45349=>1000,45350=>1000,45351=>1000,45352=>1000,45353=>1000,45354=>1000,45355=>1000,45356=>1000,45357=>1000,45358=>1000,45359=>1000,45360=>1000,45361=>1000,45362=>1000,45363=>1000,45364=>1000,45365=>1000,45366=>1000,45367=>1000,45368=>1000,45369=>1000,45370=>1000,45371=>1000,45372=>1000,45373=>1000,45374=>1000,45375=>1000,45376=>1000,45377=>1000,45378=>1000,45379=>1000,45380=>1000,45381=>1000,45382=>1000,45383=>1000,45384=>1000,45385=>1000,45386=>1000,45387=>1000,45388=>1000,45389=>1000,45390=>1000,45391=>1000,45392=>1000,45393=>1000,45394=>1000,45395=>1000,45396=>1000,45397=>1000,45398=>1000,45399=>1000,45400=>1000,45401=>1000,45402=>1000,45403=>1000,45404=>1000,45405=>1000,45406=>1000,45407=>1000,45408=>1000,45409=>1000,45410=>1000,45411=>1000,45412=>1000,45413=>1000,45414=>1000,45415=>1000,45416=>1000,45417=>1000,45418=>1000,45419=>1000,45420=>1000,45421=>1000,45422=>1000,45423=>1000,45424=>1000,45425=>1000,45426=>1000,45427=>1000,45428=>1000,45429=>1000,45430=>1000,45431=>1000,45432=>1000,45433=>1000,45434=>1000,45435=>1000,45436=>1000,45437=>1000,45438=>1000,45439=>1000,45440=>1000,45441=>1000,45442=>1000,45443=>1000,45444=>1000,45445=>1000,45446=>1000,45447=>1000,45448=>1000,45449=>1000,45450=>1000,45451=>1000,45452=>1000,45453=>1000,45454=>1000,45455=>1000,45456=>1000,45457=>1000,45458=>1000,45459=>1000,45460=>1000,45461=>1000,45462=>1000,45463=>1000,45464=>1000,45465=>1000,45466=>1000,45467=>1000,45468=>1000,45469=>1000,45470=>1000,45471=>1000,45472=>1000,45473=>1000,45474=>1000,45475=>1000,45476=>1000,45477=>1000,45478=>1000,45479=>1000,45480=>1000,45481=>1000,45482=>1000,45483=>1000,45484=>1000,45485=>1000,45486=>1000,45487=>1000,45488=>1000,45489=>1000,45490=>1000,45491=>1000,45492=>1000,45493=>1000,45494=>1000,45495=>1000,45496=>1000,45497=>1000,45498=>1000,45499=>1000,45500=>1000,45501=>1000,45502=>1000,45503=>1000,45504=>1000,45505=>1000,45506=>1000,45507=>1000,45508=>1000,45509=>1000,45510=>1000,45511=>1000,45512=>1000,45513=>1000,45514=>1000,45515=>1000,45516=>1000,45517=>1000,45518=>1000,45519=>1000,45520=>1000,45521=>1000,45522=>1000,45523=>1000,45524=>1000,45525=>1000,45526=>1000,45527=>1000,45528=>1000,45529=>1000,45530=>1000,45531=>1000,45532=>1000,45533=>1000,45534=>1000,45535=>1000,45536=>1000,45537=>1000,45538=>1000,45539=>1000,45540=>1000,45541=>1000,45542=>1000,45543=>1000,45544=>1000,45545=>1000,45546=>1000,45547=>1000,45548=>1000,45549=>1000,45550=>1000,45551=>1000,45552=>1000,45553=>1000,45554=>1000,45555=>1000,45556=>1000,45557=>1000,45558=>1000,45559=>1000,45560=>1000,45561=>1000,45562=>1000,45563=>1000,45564=>1000,45565=>1000,45566=>1000,45567=>1000,45568=>1000,45569=>1000,45570=>1000,45571=>1000,45572=>1000,45573=>1000,45574=>1000,45575=>1000,45576=>1000,45577=>1000,45578=>1000,45579=>1000,45580=>1000,45581=>1000,45582=>1000,45583=>1000,45584=>1000,45585=>1000,45586=>1000,45587=>1000,45588=>1000,45589=>1000,45590=>1000,45591=>1000,45592=>1000,45593=>1000,45594=>1000,45595=>1000,45596=>1000,45597=>1000,45598=>1000,45599=>1000,45600=>1000,45601=>1000,45602=>1000,45603=>1000,45604=>1000,45605=>1000,45606=>1000,45607=>1000,45608=>1000,45609=>1000,45610=>1000,45611=>1000,45612=>1000,45613=>1000,45614=>1000,45615=>1000,45616=>1000,45617=>1000,45618=>1000,45619=>1000,45620=>1000,45621=>1000,45622=>1000,45623=>1000,45624=>1000,45625=>1000,45626=>1000,45627=>1000,45628=>1000,45629=>1000,45630=>1000,45631=>1000,45632=>1000,45633=>1000,45634=>1000,45635=>1000,45636=>1000,45637=>1000,45638=>1000,45639=>1000,45640=>1000,45641=>1000,45642=>1000,45643=>1000,45644=>1000,45645=>1000,45646=>1000,45647=>1000,45648=>1000,45649=>1000,45650=>1000,45651=>1000,45652=>1000,45653=>1000,45654=>1000,45655=>1000,45656=>1000,45657=>1000,45658=>1000,45659=>1000,45660=>1000,45661=>1000,45662=>1000,45663=>1000,45664=>1000,45665=>1000,45666=>1000,45667=>1000,45668=>1000,45669=>1000,45670=>1000,45671=>1000,45672=>1000,45673=>1000,45674=>1000,45675=>1000,45676=>1000,45677=>1000,45678=>1000,45679=>1000,45680=>1000,45681=>1000,45682=>1000,45683=>1000,45684=>1000,45685=>1000,45686=>1000,45687=>1000,45688=>1000,45689=>1000,45690=>1000,45691=>1000,45692=>1000,45693=>1000,45694=>1000,45695=>1000,45696=>1000,45697=>1000,45698=>1000,45699=>1000,45700=>1000,45701=>1000,45702=>1000,45703=>1000,45704=>1000,45705=>1000,45706=>1000,45707=>1000,45708=>1000,45709=>1000,45710=>1000,45711=>1000,45712=>1000,45713=>1000,45714=>1000,45715=>1000,45716=>1000,45717=>1000,45718=>1000,45719=>1000,45720=>1000,45721=>1000,45722=>1000,45723=>1000,45724=>1000,45725=>1000,45726=>1000,45727=>1000,45728=>1000,45729=>1000,45730=>1000,45731=>1000,45732=>1000,45733=>1000,45734=>1000,45735=>1000,45736=>1000,45737=>1000,45738=>1000,45739=>1000,45740=>1000,45741=>1000,45742=>1000,45743=>1000,45744=>1000,45745=>1000,45746=>1000,45747=>1000,45748=>1000,45749=>1000,45750=>1000,45751=>1000,45752=>1000,45753=>1000,45754=>1000,45755=>1000,45756=>1000,45757=>1000,45758=>1000,45759=>1000,45760=>1000,45761=>1000,45762=>1000,45763=>1000,45764=>1000,45765=>1000,45766=>1000,45767=>1000,45768=>1000,45769=>1000,45770=>1000,45771=>1000,45772=>1000,45773=>1000,45774=>1000,45775=>1000,45776=>1000,45777=>1000,45778=>1000,45779=>1000,45780=>1000,45781=>1000,45782=>1000,45783=>1000,45784=>1000,45785=>1000,45786=>1000,45787=>1000,45788=>1000,45789=>1000,45790=>1000,45791=>1000,45792=>1000,45793=>1000,45794=>1000,45795=>1000,45796=>1000,45797=>1000,45798=>1000,45799=>1000,45800=>1000,45801=>1000,45802=>1000,45803=>1000,45804=>1000,45805=>1000,45806=>1000,45807=>1000,45808=>1000,45809=>1000,45810=>1000,45811=>1000,45812=>1000,45813=>1000,45814=>1000,45815=>1000,45816=>1000,45817=>1000,45818=>1000,45819=>1000,45820=>1000,45821=>1000,45822=>1000,45823=>1000,45824=>1000,45825=>1000,45826=>1000,45827=>1000,45828=>1000,45829=>1000,45830=>1000,45831=>1000,45832=>1000,45833=>1000,45834=>1000,45835=>1000,45836=>1000,45837=>1000,45838=>1000,45839=>1000,45840=>1000,45841=>1000,45842=>1000,45843=>1000,45844=>1000,45845=>1000,45846=>1000,45847=>1000,45848=>1000,45849=>1000,45850=>1000,45851=>1000,45852=>1000,45853=>1000,45854=>1000,45855=>1000,45856=>1000,45857=>1000,45858=>1000,45859=>1000,45860=>1000,45861=>1000,45862=>1000,45863=>1000,45864=>1000,45865=>1000,45866=>1000,45867=>1000,45868=>1000,45869=>1000,45870=>1000,45871=>1000,45872=>1000,45873=>1000,45874=>1000,45875=>1000,45876=>1000,45877=>1000,45878=>1000,45879=>1000,45880=>1000,45881=>1000,45882=>1000,45883=>1000,45884=>1000,45885=>1000,45886=>1000,45887=>1000,45888=>1000,45889=>1000,45890=>1000,45891=>1000,45892=>1000,45893=>1000,45894=>1000,45895=>1000,45896=>1000,45897=>1000,45898=>1000,45899=>1000,45900=>1000,45901=>1000,45902=>1000,45903=>1000,45904=>1000,45905=>1000,45906=>1000,45907=>1000,45908=>1000,45909=>1000,45910=>1000,45911=>1000,45912=>1000,45913=>1000,45914=>1000,45915=>1000,45916=>1000,45917=>1000,45918=>1000,45919=>1000,45920=>1000,45921=>1000,45922=>1000,45923=>1000,45924=>1000,45925=>1000,45926=>1000,45927=>1000,45928=>1000,45929=>1000,45930=>1000,45931=>1000,45932=>1000,45933=>1000,45934=>1000,45935=>1000,45936=>1000,45937=>1000,45938=>1000,45939=>1000,45940=>1000,45941=>1000,45942=>1000,45943=>1000,45944=>1000,45945=>1000,45946=>1000,45947=>1000,45948=>1000,45949=>1000,45950=>1000,45951=>1000,45952=>1000,45953=>1000,45954=>1000,45955=>1000,45956=>1000,45957=>1000,45958=>1000,45959=>1000,45960=>1000,45961=>1000,45962=>1000,45963=>1000,45964=>1000,45965=>1000,45966=>1000,45967=>1000,45968=>1000,45969=>1000,45970=>1000,45971=>1000,45972=>1000,45973=>1000,45974=>1000,45975=>1000,45976=>1000,45977=>1000,45978=>1000,45979=>1000,45980=>1000,45981=>1000,45982=>1000,45983=>1000,45984=>1000,45985=>1000,45986=>1000,45987=>1000,45988=>1000,45989=>1000,45990=>1000,45991=>1000,45992=>1000,45993=>1000,45994=>1000,45995=>1000,45996=>1000,45997=>1000,45998=>1000,45999=>1000,46000=>1000,46001=>1000,46002=>1000,46003=>1000,46004=>1000,46005=>1000,46006=>1000,46007=>1000,46008=>1000,46009=>1000,46010=>1000,46011=>1000,46012=>1000,46013=>1000,46014=>1000,46015=>1000,46016=>1000,46017=>1000,46018=>1000,46019=>1000,46020=>1000,46021=>1000,46022=>1000,46023=>1000,46024=>1000,46025=>1000,46026=>1000,46027=>1000,46028=>1000,46029=>1000,46030=>1000,46031=>1000,46032=>1000,46033=>1000,46034=>1000,46035=>1000,46036=>1000,46037=>1000,46038=>1000,46039=>1000,46040=>1000,46041=>1000,46042=>1000,46043=>1000,46044=>1000,46045=>1000,46046=>1000,46047=>1000,46048=>1000,46049=>1000,46050=>1000,46051=>1000,46052=>1000,46053=>1000,46054=>1000,46055=>1000,46056=>1000,46057=>1000,46058=>1000,46059=>1000,46060=>1000,46061=>1000,46062=>1000,46063=>1000,46064=>1000,46065=>1000,46066=>1000,46067=>1000,46068=>1000,46069=>1000,46070=>1000,46071=>1000,46072=>1000,46073=>1000,46074=>1000,46075=>1000,46076=>1000,46077=>1000,46078=>1000,46079=>1000,46080=>1000,46081=>1000,46082=>1000,46083=>1000,46084=>1000,46085=>1000,46086=>1000,46087=>1000,46088=>1000,46089=>1000,46090=>1000,46091=>1000,46092=>1000,46093=>1000,46094=>1000,46095=>1000,46096=>1000,46097=>1000,46098=>1000,46099=>1000,46100=>1000,46101=>1000,46102=>1000,46103=>1000,46104=>1000,46105=>1000,46106=>1000,46107=>1000,46108=>1000,46109=>1000,46110=>1000,46111=>1000,46112=>1000,46113=>1000,46114=>1000,46115=>1000,46116=>1000,46117=>1000,46118=>1000,46119=>1000,46120=>1000,46121=>1000,46122=>1000,46123=>1000,46124=>1000,46125=>1000,46126=>1000,46127=>1000,46128=>1000,46129=>1000,46130=>1000,46131=>1000,46132=>1000,46133=>1000,46134=>1000,46135=>1000,46136=>1000,46137=>1000,46138=>1000,46139=>1000,46140=>1000,46141=>1000,46142=>1000,46143=>1000,46144=>1000,46145=>1000,46146=>1000,46147=>1000,46148=>1000,46149=>1000,46150=>1000,46151=>1000,46152=>1000,46153=>1000,46154=>1000,46155=>1000,46156=>1000,46157=>1000,46158=>1000,46159=>1000,46160=>1000,46161=>1000,46162=>1000,46163=>1000,46164=>1000,46165=>1000,46166=>1000,46167=>1000,46168=>1000,46169=>1000,46170=>1000,46171=>1000,46172=>1000,46173=>1000,46174=>1000,46175=>1000,46176=>1000,46177=>1000,46178=>1000,46179=>1000,46180=>1000,46181=>1000,46182=>1000,46183=>1000,46184=>1000,46185=>1000,46186=>1000,46187=>1000,46188=>1000,46189=>1000,46190=>1000,46191=>1000,46192=>1000,46193=>1000,46194=>1000,46195=>1000,46196=>1000,46197=>1000,46198=>1000,46199=>1000,46200=>1000,46201=>1000,46202=>1000,46203=>1000,46204=>1000,46205=>1000,46206=>1000,46207=>1000,46208=>1000,46209=>1000,46210=>1000,46211=>1000,46212=>1000,46213=>1000,46214=>1000,46215=>1000,46216=>1000,46217=>1000,46218=>1000,46219=>1000,46220=>1000,46221=>1000,46222=>1000,46223=>1000,46224=>1000,46225=>1000,46226=>1000,46227=>1000,46228=>1000,46229=>1000,46230=>1000,46231=>1000,46232=>1000,46233=>1000,46234=>1000,46235=>1000,46236=>1000,46237=>1000,46238=>1000,46239=>1000,46240=>1000,46241=>1000,46242=>1000,46243=>1000,46244=>1000,46245=>1000,46246=>1000,46247=>1000,46248=>1000,46249=>1000,46250=>1000,46251=>1000,46252=>1000,46253=>1000,46254=>1000,46255=>1000,46256=>1000,46257=>1000,46258=>1000,46259=>1000,46260=>1000,46261=>1000,46262=>1000,46263=>1000,46264=>1000,46265=>1000,46266=>1000,46267=>1000,46268=>1000,46269=>1000,46270=>1000,46271=>1000,46272=>1000,46273=>1000,46274=>1000,46275=>1000,46276=>1000,46277=>1000,46278=>1000,46279=>1000,46280=>1000,46281=>1000,46282=>1000,46283=>1000,46284=>1000,46285=>1000,46286=>1000,46287=>1000,46288=>1000,46289=>1000,46290=>1000,46291=>1000,46292=>1000,46293=>1000,46294=>1000,46295=>1000,46296=>1000,46297=>1000,46298=>1000,46299=>1000,46300=>1000,46301=>1000,46302=>1000,46303=>1000,46304=>1000,46305=>1000,46306=>1000,46307=>1000,46308=>1000,46309=>1000,46310=>1000,46311=>1000,46312=>1000,46313=>1000,46314=>1000,46315=>1000,46316=>1000,46317=>1000,46318=>1000,46319=>1000,46320=>1000,46321=>1000,46322=>1000,46323=>1000,46324=>1000,46325=>1000,46326=>1000,46327=>1000,46328=>1000,46329=>1000,46330=>1000,46331=>1000,46332=>1000,46333=>1000,46334=>1000,46335=>1000,46336=>1000,46337=>1000,46338=>1000,46339=>1000,46340=>1000,46341=>1000,46342=>1000,46343=>1000,46344=>1000,46345=>1000,46346=>1000,46347=>1000,46348=>1000,46349=>1000,46350=>1000,46351=>1000,46352=>1000,46353=>1000,46354=>1000,46355=>1000,46356=>1000,46357=>1000,46358=>1000,46359=>1000,46360=>1000,46361=>1000,46362=>1000,46363=>1000,46364=>1000,46365=>1000,46366=>1000,46367=>1000,46368=>1000,46369=>1000,46370=>1000,46371=>1000,46372=>1000,46373=>1000,46374=>1000,46375=>1000,46376=>1000,46377=>1000,46378=>1000,46379=>1000,46380=>1000,46381=>1000,46382=>1000,46383=>1000,46384=>1000,46385=>1000,46386=>1000,46387=>1000,46388=>1000,46389=>1000,46390=>1000,46391=>1000,46392=>1000,46393=>1000,46394=>1000,46395=>1000,46396=>1000,46397=>1000,46398=>1000,46399=>1000,46400=>1000,46401=>1000,46402=>1000,46403=>1000,46404=>1000,46405=>1000,46406=>1000,46407=>1000,46408=>1000,46409=>1000,46410=>1000,46411=>1000,46412=>1000,46413=>1000,46414=>1000,46415=>1000,46416=>1000,46417=>1000,46418=>1000,46419=>1000,46420=>1000,46421=>1000,46422=>1000,46423=>1000,46424=>1000,46425=>1000,46426=>1000,46427=>1000,46428=>1000,46429=>1000,46430=>1000,46431=>1000,46432=>1000,46433=>1000,46434=>1000,46435=>1000,46436=>1000,46437=>1000,46438=>1000,46439=>1000,46440=>1000,46441=>1000,46442=>1000,46443=>1000,46444=>1000,46445=>1000,46446=>1000,46447=>1000,46448=>1000,46449=>1000,46450=>1000,46451=>1000,46452=>1000,46453=>1000,46454=>1000,46455=>1000,46456=>1000,46457=>1000,46458=>1000,46459=>1000,46460=>1000,46461=>1000,46462=>1000,46463=>1000,46464=>1000,46465=>1000,46466=>1000,46467=>1000,46468=>1000,46469=>1000,46470=>1000,46471=>1000,46472=>1000,46473=>1000,46474=>1000,46475=>1000,46476=>1000,46477=>1000,46478=>1000,46479=>1000,46480=>1000,46481=>1000,46482=>1000,46483=>1000,46484=>1000,46485=>1000,46486=>1000,46487=>1000,46488=>1000,46489=>1000,46490=>1000,46491=>1000,46492=>1000,46493=>1000,46494=>1000,46495=>1000,46496=>1000,46497=>1000,46498=>1000,46499=>1000,46500=>1000,46501=>1000,46502=>1000,46503=>1000,46504=>1000,46505=>1000,46506=>1000,46507=>1000,46508=>1000,46509=>1000,46510=>1000,46511=>1000,46512=>1000,46513=>1000,46514=>1000,46515=>1000,46516=>1000,46517=>1000,46518=>1000,46519=>1000,46520=>1000,46521=>1000,46522=>1000,46523=>1000,46524=>1000,46525=>1000,46526=>1000,46527=>1000,46528=>1000,46529=>1000,46530=>1000,46531=>1000,46532=>1000,46533=>1000,46534=>1000,46535=>1000,46536=>1000,46537=>1000,46538=>1000,46539=>1000,46540=>1000,46541=>1000,46542=>1000,46543=>1000,46544=>1000,46545=>1000,46546=>1000,46547=>1000,46548=>1000,46549=>1000,46550=>1000,46551=>1000,46552=>1000,46553=>1000,46554=>1000,46555=>1000,46556=>1000,46557=>1000,46558=>1000,46559=>1000,46560=>1000,46561=>1000,46562=>1000,46563=>1000,46564=>1000,46565=>1000,46566=>1000,46567=>1000,46568=>1000,46569=>1000,46570=>1000,46571=>1000,46572=>1000,46573=>1000,46574=>1000,46575=>1000,46576=>1000,46577=>1000,46578=>1000,46579=>1000,46580=>1000,46581=>1000,46582=>1000,46583=>1000,46584=>1000,46585=>1000,46586=>1000,46587=>1000,46588=>1000,46589=>1000,46590=>1000,46591=>1000,46592=>1000,46593=>1000,46594=>1000,46595=>1000,46596=>1000,46597=>1000,46598=>1000,46599=>1000,46600=>1000,46601=>1000,46602=>1000,46603=>1000,46604=>1000,46605=>1000,46606=>1000,46607=>1000,46608=>1000,46609=>1000,46610=>1000,46611=>1000,46612=>1000,46613=>1000,46614=>1000,46615=>1000,46616=>1000,46617=>1000,46618=>1000,46619=>1000,46620=>1000,46621=>1000,46622=>1000,46623=>1000,46624=>1000,46625=>1000,46626=>1000,46627=>1000,46628=>1000,46629=>1000,46630=>1000,46631=>1000,46632=>1000,46633=>1000,46634=>1000,46635=>1000,46636=>1000,46637=>1000,46638=>1000,46639=>1000,46640=>1000,46641=>1000,46642=>1000,46643=>1000,46644=>1000,46645=>1000,46646=>1000,46647=>1000,46648=>1000,46649=>1000,46650=>1000,46651=>1000,46652=>1000,46653=>1000,46654=>1000,46655=>1000,46656=>1000,46657=>1000,46658=>1000,46659=>1000,46660=>1000,46661=>1000,46662=>1000,46663=>1000,46664=>1000,46665=>1000,46666=>1000,46667=>1000,46668=>1000,46669=>1000,46670=>1000,46671=>1000,46672=>1000,46673=>1000,46674=>1000,46675=>1000,46676=>1000,46677=>1000,46678=>1000,46679=>1000,46680=>1000,46681=>1000,46682=>1000,46683=>1000,46684=>1000,46685=>1000,46686=>1000,46687=>1000,46688=>1000,46689=>1000,46690=>1000,46691=>1000,46692=>1000,46693=>1000,46694=>1000,46695=>1000,46696=>1000,46697=>1000,46698=>1000,46699=>1000,46700=>1000,46701=>1000,46702=>1000,46703=>1000,46704=>1000,46705=>1000,46706=>1000,46707=>1000,46708=>1000,46709=>1000,46710=>1000,46711=>1000,46712=>1000,46713=>1000,46714=>1000,46715=>1000,46716=>1000,46717=>1000,46718=>1000,46719=>1000,46720=>1000,46721=>1000,46722=>1000,46723=>1000,46724=>1000,46725=>1000,46726=>1000,46727=>1000,46728=>1000,46729=>1000,46730=>1000,46731=>1000,46732=>1000,46733=>1000,46734=>1000,46735=>1000,46736=>1000,46737=>1000,46738=>1000,46739=>1000,46740=>1000,46741=>1000,46742=>1000,46743=>1000,46744=>1000,46745=>1000,46746=>1000,46747=>1000,46748=>1000,46749=>1000,46750=>1000,46751=>1000,46752=>1000,46753=>1000,46754=>1000,46755=>1000,46756=>1000,46757=>1000,46758=>1000,46759=>1000,46760=>1000,46761=>1000,46762=>1000,46763=>1000,46764=>1000,46765=>1000,46766=>1000,46767=>1000,46768=>1000,46769=>1000,46770=>1000,46771=>1000,46772=>1000,46773=>1000,46774=>1000,46775=>1000,46776=>1000,46777=>1000,46778=>1000,46779=>1000,46780=>1000,46781=>1000,46782=>1000,46783=>1000,46784=>1000,46785=>1000,46786=>1000,46787=>1000,46788=>1000,46789=>1000,46790=>1000,46791=>1000,46792=>1000,46793=>1000,46794=>1000,46795=>1000,46796=>1000,46797=>1000,46798=>1000,46799=>1000,46800=>1000,46801=>1000,46802=>1000,46803=>1000,46804=>1000,46805=>1000,46806=>1000,46807=>1000,46808=>1000,46809=>1000,46810=>1000,46811=>1000,46812=>1000,46813=>1000,46814=>1000,46815=>1000,46816=>1000,46817=>1000,46818=>1000,46819=>1000,46820=>1000,46821=>1000,46822=>1000,46823=>1000,46824=>1000,46825=>1000,46826=>1000,46827=>1000,46828=>1000,46829=>1000,46830=>1000,46831=>1000,46832=>1000,46833=>1000,46834=>1000,46835=>1000,46836=>1000,46837=>1000,46838=>1000,46839=>1000,46840=>1000,46841=>1000,46842=>1000,46843=>1000,46844=>1000,46845=>1000,46846=>1000,46847=>1000,46848=>1000,46849=>1000,46850=>1000,46851=>1000,46852=>1000,46853=>1000,46854=>1000,46855=>1000,46856=>1000,46857=>1000,46858=>1000,46859=>1000,46860=>1000,46861=>1000,46862=>1000,46863=>1000,46864=>1000,46865=>1000,46866=>1000,46867=>1000,46868=>1000,46869=>1000,46870=>1000,46871=>1000,46872=>1000,46873=>1000,46874=>1000,46875=>1000,46876=>1000,46877=>1000,46878=>1000,46879=>1000,46880=>1000,46881=>1000,46882=>1000,46883=>1000,46884=>1000,46885=>1000,46886=>1000,46887=>1000,46888=>1000,46889=>1000,46890=>1000,46891=>1000,46892=>1000,46893=>1000,46894=>1000,46895=>1000,46896=>1000,46897=>1000,46898=>1000,46899=>1000,46900=>1000,46901=>1000,46902=>1000,46903=>1000,46904=>1000,46905=>1000,46906=>1000,46907=>1000,46908=>1000,46909=>1000,46910=>1000,46911=>1000,46912=>1000,46913=>1000,46914=>1000,46915=>1000,46916=>1000,46917=>1000,46918=>1000,46919=>1000,46920=>1000,46921=>1000,46922=>1000,46923=>1000,46924=>1000,46925=>1000,46926=>1000,46927=>1000,46928=>1000,46929=>1000,46930=>1000,46931=>1000,46932=>1000,46933=>1000,46934=>1000,46935=>1000,46936=>1000,46937=>1000,46938=>1000,46939=>1000,46940=>1000,46941=>1000,46942=>1000,46943=>1000,46944=>1000,46945=>1000,46946=>1000,46947=>1000,46948=>1000,46949=>1000,46950=>1000,46951=>1000,46952=>1000,46953=>1000,46954=>1000,46955=>1000,46956=>1000,46957=>1000,46958=>1000,46959=>1000,46960=>1000,46961=>1000,46962=>1000,46963=>1000,46964=>1000,46965=>1000,46966=>1000,46967=>1000,46968=>1000,46969=>1000,46970=>1000,46971=>1000,46972=>1000,46973=>1000,46974=>1000,46975=>1000,46976=>1000,46977=>1000,46978=>1000,46979=>1000,46980=>1000,46981=>1000,46982=>1000,46983=>1000,46984=>1000,46985=>1000,46986=>1000,46987=>1000,46988=>1000,46989=>1000,46990=>1000,46991=>1000,46992=>1000,46993=>1000,46994=>1000,46995=>1000,46996=>1000,46997=>1000,46998=>1000,46999=>1000,47000=>1000,47001=>1000,47002=>1000,47003=>1000,47004=>1000,47005=>1000,47006=>1000,47007=>1000,47008=>1000,47009=>1000,47010=>1000,47011=>1000,47012=>1000,47013=>1000,47014=>1000,47015=>1000,47016=>1000,47017=>1000,47018=>1000,47019=>1000,47020=>1000,47021=>1000,47022=>1000,47023=>1000,47024=>1000,47025=>1000,47026=>1000,47027=>1000,47028=>1000,47029=>1000,47030=>1000,47031=>1000,47032=>1000,47033=>1000,47034=>1000,47035=>1000,47036=>1000,47037=>1000,47038=>1000,47039=>1000,47040=>1000,47041=>1000,47042=>1000,47043=>1000,47044=>1000,47045=>1000,47046=>1000,47047=>1000,47048=>1000,47049=>1000,47050=>1000,47051=>1000,47052=>1000,47053=>1000,47054=>1000,47055=>1000,47056=>1000,47057=>1000,47058=>1000,47059=>1000,47060=>1000,47061=>1000,47062=>1000,47063=>1000,47064=>1000,47065=>1000,47066=>1000,47067=>1000,47068=>1000,47069=>1000,47070=>1000,47071=>1000,47072=>1000,47073=>1000,47074=>1000,47075=>1000,47076=>1000,47077=>1000,47078=>1000,47079=>1000,47080=>1000,47081=>1000,47082=>1000,47083=>1000,47084=>1000,47085=>1000,47086=>1000,47087=>1000,47088=>1000,47089=>1000,47090=>1000,47091=>1000,47092=>1000,47093=>1000,47094=>1000,47095=>1000,47096=>1000,47097=>1000,47098=>1000,47099=>1000,47100=>1000,47101=>1000,47102=>1000,47103=>1000,47104=>1000,47105=>1000,47106=>1000,47107=>1000,47108=>1000,47109=>1000,47110=>1000,47111=>1000,47112=>1000,47113=>1000,47114=>1000,47115=>1000,47116=>1000,47117=>1000,47118=>1000,47119=>1000,47120=>1000,47121=>1000,47122=>1000,47123=>1000,47124=>1000,47125=>1000,47126=>1000,47127=>1000,47128=>1000,47129=>1000,47130=>1000,47131=>1000,47132=>1000,47133=>1000,47134=>1000,47135=>1000,47136=>1000,47137=>1000,47138=>1000,47139=>1000,47140=>1000,47141=>1000,47142=>1000,47143=>1000,47144=>1000,47145=>1000,47146=>1000,47147=>1000,47148=>1000,47149=>1000,47150=>1000,47151=>1000,47152=>1000,47153=>1000,47154=>1000,47155=>1000,47156=>1000,47157=>1000,47158=>1000,47159=>1000,47160=>1000,47161=>1000,47162=>1000,47163=>1000,47164=>1000,47165=>1000,47166=>1000,47167=>1000,47168=>1000,47169=>1000,47170=>1000,47171=>1000,47172=>1000,47173=>1000,47174=>1000,47175=>1000,47176=>1000,47177=>1000,47178=>1000,47179=>1000,47180=>1000,47181=>1000,47182=>1000,47183=>1000,47184=>1000,47185=>1000,47186=>1000,47187=>1000,47188=>1000,47189=>1000,47190=>1000,47191=>1000,47192=>1000,47193=>1000,47194=>1000,47195=>1000,47196=>1000,47197=>1000,47198=>1000,47199=>1000,47200=>1000,47201=>1000,47202=>1000,47203=>1000,47204=>1000,47205=>1000,47206=>1000,47207=>1000,47208=>1000,47209=>1000,47210=>1000,47211=>1000,47212=>1000,47213=>1000,47214=>1000,47215=>1000,47216=>1000,47217=>1000,47218=>1000,47219=>1000,47220=>1000,47221=>1000,47222=>1000,47223=>1000,47224=>1000,47225=>1000,47226=>1000,47227=>1000,47228=>1000,47229=>1000,47230=>1000,47231=>1000,47232=>1000,47233=>1000,47234=>1000,47235=>1000,47236=>1000,47237=>1000,47238=>1000,47239=>1000,47240=>1000,47241=>1000,47242=>1000,47243=>1000,47244=>1000,47245=>1000,47246=>1000,47247=>1000,47248=>1000,47249=>1000,47250=>1000,47251=>1000,47252=>1000,47253=>1000,47254=>1000,47255=>1000,47256=>1000,47257=>1000,47258=>1000,47259=>1000,47260=>1000,47261=>1000,47262=>1000,47263=>1000,47264=>1000,47265=>1000,47266=>1000,47267=>1000,47268=>1000,47269=>1000,47270=>1000,47271=>1000,47272=>1000,47273=>1000,47274=>1000,47275=>1000,47276=>1000,47277=>1000,47278=>1000,47279=>1000,47280=>1000,47281=>1000,47282=>1000,47283=>1000,47284=>1000,47285=>1000,47286=>1000,47287=>1000,47288=>1000,47289=>1000,47290=>1000,47291=>1000,47292=>1000,47293=>1000,47294=>1000,47295=>1000,47296=>1000,47297=>1000,47298=>1000,47299=>1000,47300=>1000,47301=>1000,47302=>1000,47303=>1000,47304=>1000,47305=>1000,47306=>1000,47307=>1000,47308=>1000,47309=>1000,47310=>1000,47311=>1000,47312=>1000,47313=>1000,47314=>1000,47315=>1000,47316=>1000,47317=>1000,47318=>1000,47319=>1000,47320=>1000,47321=>1000,47322=>1000,47323=>1000,47324=>1000,47325=>1000,47326=>1000,47327=>1000,47328=>1000,47329=>1000,47330=>1000,47331=>1000,47332=>1000,47333=>1000,47334=>1000,47335=>1000,47336=>1000,47337=>1000,47338=>1000,47339=>1000,47340=>1000,47341=>1000,47342=>1000,47343=>1000,47344=>1000,47345=>1000,47346=>1000,47347=>1000,47348=>1000,47349=>1000,47350=>1000,47351=>1000,47352=>1000,47353=>1000,47354=>1000,47355=>1000,47356=>1000,47357=>1000,47358=>1000,47359=>1000,47360=>1000,47361=>1000,47362=>1000,47363=>1000,47364=>1000,47365=>1000,47366=>1000,47367=>1000,47368=>1000,47369=>1000,47370=>1000,47371=>1000,47372=>1000,47373=>1000,47374=>1000,47375=>1000,47376=>1000,47377=>1000,47378=>1000,47379=>1000,47380=>1000,47381=>1000,47382=>1000,47383=>1000,47384=>1000,47385=>1000,47386=>1000,47387=>1000,47388=>1000,47389=>1000,47390=>1000,47391=>1000,47392=>1000,47393=>1000,47394=>1000,47395=>1000,47396=>1000,47397=>1000,47398=>1000,47399=>1000,47400=>1000,47401=>1000,47402=>1000,47403=>1000,47404=>1000,47405=>1000,47406=>1000,47407=>1000,47408=>1000,47409=>1000,47410=>1000,47411=>1000,47412=>1000,47413=>1000,47414=>1000,47415=>1000,47416=>1000,47417=>1000,47418=>1000,47419=>1000,47420=>1000,47421=>1000,47422=>1000,47423=>1000,47424=>1000,47425=>1000,47426=>1000,47427=>1000,47428=>1000,47429=>1000,47430=>1000,47431=>1000,47432=>1000,47433=>1000,47434=>1000,47435=>1000,47436=>1000,47437=>1000,47438=>1000,47439=>1000,47440=>1000,47441=>1000,47442=>1000,47443=>1000,47444=>1000,47445=>1000,47446=>1000,47447=>1000,47448=>1000,47449=>1000,47450=>1000,47451=>1000,47452=>1000,47453=>1000,47454=>1000,47455=>1000,47456=>1000,47457=>1000,47458=>1000,47459=>1000,47460=>1000,47461=>1000,47462=>1000,47463=>1000,47464=>1000,47465=>1000,47466=>1000,47467=>1000,47468=>1000,47469=>1000,47470=>1000,47471=>1000,47472=>1000,47473=>1000,47474=>1000,47475=>1000,47476=>1000,47477=>1000,47478=>1000,47479=>1000,47480=>1000,47481=>1000,47482=>1000,47483=>1000,47484=>1000,47485=>1000,47486=>1000,47487=>1000,47488=>1000,47489=>1000,47490=>1000,47491=>1000,47492=>1000,47493=>1000,47494=>1000,47495=>1000,47496=>1000,47497=>1000,47498=>1000,47499=>1000,47500=>1000,47501=>1000,47502=>1000,47503=>1000,47504=>1000,47505=>1000,47506=>1000,47507=>1000,47508=>1000,47509=>1000,47510=>1000,47511=>1000,47512=>1000,47513=>1000,47514=>1000,47515=>1000,47516=>1000,47517=>1000,47518=>1000,47519=>1000,47520=>1000,47521=>1000,47522=>1000,47523=>1000,47524=>1000,47525=>1000,47526=>1000,47527=>1000,47528=>1000,47529=>1000,47530=>1000,47531=>1000,47532=>1000,47533=>1000,47534=>1000,47535=>1000,47536=>1000,47537=>1000,47538=>1000,47539=>1000,47540=>1000,47541=>1000,47542=>1000,47543=>1000,47544=>1000,47545=>1000,47546=>1000,47547=>1000,47548=>1000,47549=>1000,47550=>1000,47551=>1000,47552=>1000,47553=>1000,47554=>1000,47555=>1000,47556=>1000,47557=>1000,47558=>1000,47559=>1000,47560=>1000,47561=>1000,47562=>1000,47563=>1000,47564=>1000,47565=>1000,47566=>1000,47567=>1000,47568=>1000,47569=>1000,47570=>1000,47571=>1000,47572=>1000,47573=>1000,47574=>1000,47575=>1000,47576=>1000,47577=>1000,47578=>1000,47579=>1000,47580=>1000,47581=>1000,47582=>1000,47583=>1000,47584=>1000,47585=>1000,47586=>1000,47587=>1000,47588=>1000,47589=>1000,47590=>1000,47591=>1000,47592=>1000,47593=>1000,47594=>1000,47595=>1000,47596=>1000,47597=>1000,47598=>1000,47599=>1000,47600=>1000,47601=>1000,47602=>1000,47603=>1000,47604=>1000,47605=>1000,47606=>1000,47607=>1000,47608=>1000,47609=>1000,47610=>1000,47611=>1000,47612=>1000,47613=>1000,47614=>1000,47615=>1000,47616=>1000,47617=>1000,47618=>1000,47619=>1000,47620=>1000,47621=>1000,47622=>1000,47623=>1000,47624=>1000,47625=>1000,47626=>1000,47627=>1000,47628=>1000,47629=>1000,47630=>1000,47631=>1000,47632=>1000,47633=>1000,47634=>1000,47635=>1000,47636=>1000,47637=>1000,47638=>1000,47639=>1000,47640=>1000,47641=>1000,47642=>1000,47643=>1000,47644=>1000,47645=>1000,47646=>1000,47647=>1000,47648=>1000,47649=>1000,47650=>1000,47651=>1000,47652=>1000,47653=>1000,47654=>1000,47655=>1000,47656=>1000,47657=>1000,47658=>1000,47659=>1000,47660=>1000,47661=>1000,47662=>1000,47663=>1000,47664=>1000,47665=>1000,47666=>1000,47667=>1000,47668=>1000,47669=>1000,47670=>1000,47671=>1000,47672=>1000,47673=>1000,47674=>1000,47675=>1000,47676=>1000,47677=>1000,47678=>1000,47679=>1000,47680=>1000,47681=>1000,47682=>1000,47683=>1000,47684=>1000,47685=>1000,47686=>1000,47687=>1000,47688=>1000,47689=>1000,47690=>1000,47691=>1000,47692=>1000,47693=>1000,47694=>1000,47695=>1000,47696=>1000,47697=>1000,47698=>1000,47699=>1000,47700=>1000,47701=>1000,47702=>1000,47703=>1000,47704=>1000,47705=>1000,47706=>1000,47707=>1000,47708=>1000,47709=>1000,47710=>1000,47711=>1000,47712=>1000,47713=>1000,47714=>1000,47715=>1000,47716=>1000,47717=>1000,47718=>1000,47719=>1000,47720=>1000,47721=>1000,47722=>1000,47723=>1000,47724=>1000,47725=>1000,47726=>1000,47727=>1000,47728=>1000,47729=>1000,47730=>1000,47731=>1000,47732=>1000,47733=>1000,47734=>1000,47735=>1000,47736=>1000,47737=>1000,47738=>1000,47739=>1000,47740=>1000,47741=>1000,47742=>1000,47743=>1000,47744=>1000,47745=>1000,47746=>1000,47747=>1000,47748=>1000,47749=>1000,47750=>1000,47751=>1000,47752=>1000,47753=>1000,47754=>1000,47755=>1000,47756=>1000,47757=>1000,47758=>1000,47759=>1000,47760=>1000,47761=>1000,47762=>1000,47763=>1000,47764=>1000,47765=>1000,47766=>1000,47767=>1000,47768=>1000,47769=>1000,47770=>1000,47771=>1000,47772=>1000,47773=>1000,47774=>1000,47775=>1000,47776=>1000,47777=>1000,47778=>1000,47779=>1000,47780=>1000,47781=>1000,47782=>1000,47783=>1000,47784=>1000,47785=>1000,47786=>1000,47787=>1000,47788=>1000,47789=>1000,47790=>1000,47791=>1000,47792=>1000,47793=>1000,47794=>1000,47795=>1000,47796=>1000,47797=>1000,47798=>1000,47799=>1000,47800=>1000,47801=>1000,47802=>1000,47803=>1000,47804=>1000,47805=>1000,47806=>1000,47807=>1000,47808=>1000,47809=>1000,47810=>1000,47811=>1000,47812=>1000,47813=>1000,47814=>1000,47815=>1000,47816=>1000,47817=>1000,47818=>1000,47819=>1000,47820=>1000,47821=>1000,47822=>1000,47823=>1000,47824=>1000,47825=>1000,47826=>1000,47827=>1000,47828=>1000,47829=>1000,47830=>1000,47831=>1000,47832=>1000,47833=>1000,47834=>1000,47835=>1000,47836=>1000,47837=>1000,47838=>1000,47839=>1000,47840=>1000,47841=>1000,47842=>1000,47843=>1000,47844=>1000,47845=>1000,47846=>1000,47847=>1000,47848=>1000,47849=>1000,47850=>1000,47851=>1000,47852=>1000,47853=>1000,47854=>1000,47855=>1000,47856=>1000,47857=>1000,47858=>1000,47859=>1000,47860=>1000,47861=>1000,47862=>1000,47863=>1000,47864=>1000,47865=>1000,47866=>1000,47867=>1000,47868=>1000,47869=>1000,47870=>1000,47871=>1000,47872=>1000,47873=>1000,47874=>1000,47875=>1000,47876=>1000,47877=>1000,47878=>1000,47879=>1000,47880=>1000,47881=>1000,47882=>1000,47883=>1000,47884=>1000,47885=>1000,47886=>1000,47887=>1000,47888=>1000,47889=>1000,47890=>1000,47891=>1000,47892=>1000,47893=>1000,47894=>1000,47895=>1000,47896=>1000,47897=>1000,47898=>1000,47899=>1000,47900=>1000,47901=>1000,47902=>1000,47903=>1000,47904=>1000,47905=>1000,47906=>1000,47907=>1000,47908=>1000,47909=>1000,47910=>1000,47911=>1000,47912=>1000,47913=>1000,47914=>1000,47915=>1000,47916=>1000,47917=>1000,47918=>1000,47919=>1000,47920=>1000,47921=>1000,47922=>1000,47923=>1000,47924=>1000,47925=>1000,47926=>1000,47927=>1000,47928=>1000,47929=>1000,47930=>1000,47931=>1000,47932=>1000,47933=>1000,47934=>1000,47935=>1000,47936=>1000,47937=>1000,47938=>1000,47939=>1000,47940=>1000,47941=>1000,47942=>1000,47943=>1000,47944=>1000,47945=>1000,47946=>1000,47947=>1000,47948=>1000,47949=>1000,47950=>1000,47951=>1000,47952=>1000,47953=>1000,47954=>1000,47955=>1000,47956=>1000,47957=>1000,47958=>1000,47959=>1000,47960=>1000,47961=>1000,47962=>1000,47963=>1000,47964=>1000,47965=>1000,47966=>1000,47967=>1000,47968=>1000,47969=>1000,47970=>1000,47971=>1000,47972=>1000,47973=>1000,47974=>1000,47975=>1000,47976=>1000,47977=>1000,47978=>1000,47979=>1000,47980=>1000,47981=>1000,47982=>1000,47983=>1000,47984=>1000,47985=>1000,47986=>1000,47987=>1000,47988=>1000,47989=>1000,47990=>1000,47991=>1000,47992=>1000,47993=>1000,47994=>1000,47995=>1000,47996=>1000,47997=>1000,47998=>1000,47999=>1000,48000=>1000,48001=>1000,48002=>1000,48003=>1000,48004=>1000,48005=>1000,48006=>1000,48007=>1000,48008=>1000,48009=>1000,48010=>1000,48011=>1000,48012=>1000,48013=>1000,48014=>1000,48015=>1000,48016=>1000,48017=>1000,48018=>1000,48019=>1000,48020=>1000,48021=>1000,48022=>1000,48023=>1000,48024=>1000,48025=>1000,48026=>1000,48027=>1000,48028=>1000,48029=>1000,48030=>1000,48031=>1000,48032=>1000,48033=>1000,48034=>1000,48035=>1000,48036=>1000,48037=>1000,48038=>1000,48039=>1000,48040=>1000,48041=>1000,48042=>1000,48043=>1000,48044=>1000,48045=>1000,48046=>1000,48047=>1000,48048=>1000,48049=>1000,48050=>1000,48051=>1000,48052=>1000,48053=>1000,48054=>1000,48055=>1000,48056=>1000,48057=>1000,48058=>1000,48059=>1000,48060=>1000,48061=>1000,48062=>1000,48063=>1000,48064=>1000,48065=>1000,48066=>1000,48067=>1000,48068=>1000,48069=>1000,48070=>1000,48071=>1000,48072=>1000,48073=>1000,48074=>1000,48075=>1000,48076=>1000,48077=>1000,48078=>1000,48079=>1000,48080=>1000,48081=>1000,48082=>1000,48083=>1000,48084=>1000,48085=>1000,48086=>1000,48087=>1000,48088=>1000,48089=>1000,48090=>1000,48091=>1000,48092=>1000,48093=>1000,48094=>1000,48095=>1000,48096=>1000,48097=>1000,48098=>1000,48099=>1000,48100=>1000,48101=>1000,48102=>1000,48103=>1000,48104=>1000,48105=>1000,48106=>1000,48107=>1000,48108=>1000,48109=>1000,48110=>1000,48111=>1000,48112=>1000,48113=>1000,48114=>1000,48115=>1000,48116=>1000,48117=>1000,48118=>1000,48119=>1000,48120=>1000,48121=>1000,48122=>1000,48123=>1000,48124=>1000,48125=>1000,48126=>1000,48127=>1000,48128=>1000,48129=>1000,48130=>1000,48131=>1000,48132=>1000,48133=>1000,48134=>1000,48135=>1000,48136=>1000,48137=>1000,48138=>1000,48139=>1000,48140=>1000,48141=>1000,48142=>1000,48143=>1000,48144=>1000,48145=>1000,48146=>1000,48147=>1000,48148=>1000,48149=>1000,48150=>1000,48151=>1000,48152=>1000,48153=>1000,48154=>1000,48155=>1000,48156=>1000,48157=>1000,48158=>1000,48159=>1000,48160=>1000,48161=>1000,48162=>1000,48163=>1000,48164=>1000,48165=>1000,48166=>1000,48167=>1000,48168=>1000,48169=>1000,48170=>1000,48171=>1000,48172=>1000,48173=>1000,48174=>1000,48175=>1000,48176=>1000,48177=>1000,48178=>1000,48179=>1000,48180=>1000,48181=>1000,48182=>1000,48183=>1000,48184=>1000,48185=>1000,48186=>1000,48187=>1000,48188=>1000,48189=>1000,48190=>1000,48191=>1000,48192=>1000,48193=>1000,48194=>1000,48195=>1000,48196=>1000,48197=>1000,48198=>1000,48199=>1000,48200=>1000,48201=>1000,48202=>1000,48203=>1000,48204=>1000,48205=>1000,48206=>1000,48207=>1000,48208=>1000,48209=>1000,48210=>1000,48211=>1000,48212=>1000,48213=>1000,48214=>1000,48215=>1000,48216=>1000,48217=>1000,48218=>1000,48219=>1000,48220=>1000,48221=>1000,48222=>1000,48223=>1000,48224=>1000,48225=>1000,48226=>1000,48227=>1000,48228=>1000,48229=>1000,48230=>1000,48231=>1000,48232=>1000,48233=>1000,48234=>1000,48235=>1000,48236=>1000,48237=>1000,48238=>1000,48239=>1000,48240=>1000,48241=>1000,48242=>1000,48243=>1000,48244=>1000,48245=>1000,48246=>1000,48247=>1000,48248=>1000,48249=>1000,48250=>1000,48251=>1000,48252=>1000,48253=>1000,48254=>1000,48255=>1000,48256=>1000,48257=>1000,48258=>1000,48259=>1000,48260=>1000,48261=>1000,48262=>1000,48263=>1000,48264=>1000,48265=>1000,48266=>1000,48267=>1000,48268=>1000,48269=>1000,48270=>1000,48271=>1000,48272=>1000,48273=>1000,48274=>1000,48275=>1000,48276=>1000,48277=>1000,48278=>1000,48279=>1000,48280=>1000,48281=>1000,48282=>1000,48283=>1000,48284=>1000,48285=>1000,48286=>1000,48287=>1000,48288=>1000,48289=>1000,48290=>1000,48291=>1000,48292=>1000,48293=>1000,48294=>1000,48295=>1000,48296=>1000,48297=>1000,48298=>1000,48299=>1000,48300=>1000,48301=>1000,48302=>1000,48303=>1000,48304=>1000,48305=>1000,48306=>1000,48307=>1000,48308=>1000,48309=>1000,48310=>1000,48311=>1000,48312=>1000,48313=>1000,48314=>1000,48315=>1000,48316=>1000,48317=>1000,48318=>1000,48319=>1000,48320=>1000,48321=>1000,48322=>1000,48323=>1000,48324=>1000,48325=>1000,48326=>1000,48327=>1000,48328=>1000,48329=>1000,48330=>1000,48331=>1000,48332=>1000,48333=>1000,48334=>1000,48335=>1000,48336=>1000,48337=>1000,48338=>1000,48339=>1000,48340=>1000,48341=>1000,48342=>1000,48343=>1000,48344=>1000,48345=>1000,48346=>1000,48347=>1000,48348=>1000,48349=>1000,48350=>1000,48351=>1000,48352=>1000,48353=>1000,48354=>1000,48355=>1000,48356=>1000,48357=>1000,48358=>1000,48359=>1000,48360=>1000,48361=>1000,48362=>1000,48363=>1000,48364=>1000,48365=>1000,48366=>1000,48367=>1000,48368=>1000,48369=>1000,48370=>1000,48371=>1000,48372=>1000,48373=>1000,48374=>1000,48375=>1000,48376=>1000,48377=>1000,48378=>1000,48379=>1000,48380=>1000,48381=>1000,48382=>1000,48383=>1000,48384=>1000,48385=>1000,48386=>1000,48387=>1000,48388=>1000,48389=>1000,48390=>1000,48391=>1000,48392=>1000,48393=>1000,48394=>1000,48395=>1000,48396=>1000,48397=>1000,48398=>1000,48399=>1000,48400=>1000,48401=>1000,48402=>1000,48403=>1000,48404=>1000,48405=>1000,48406=>1000,48407=>1000,48408=>1000,48409=>1000,48410=>1000,48411=>1000,48412=>1000,48413=>1000,48414=>1000,48415=>1000,48416=>1000,48417=>1000,48418=>1000,48419=>1000,48420=>1000,48421=>1000,48422=>1000,48423=>1000,48424=>1000,48425=>1000,48426=>1000,48427=>1000,48428=>1000,48429=>1000,48430=>1000,48431=>1000,48432=>1000,48433=>1000,48434=>1000,48435=>1000,48436=>1000,48437=>1000,48438=>1000,48439=>1000,48440=>1000,48441=>1000,48442=>1000,48443=>1000,48444=>1000,48445=>1000,48446=>1000,48447=>1000,48448=>1000,48449=>1000,48450=>1000,48451=>1000,48452=>1000,48453=>1000,48454=>1000,48455=>1000,48456=>1000,48457=>1000,48458=>1000,48459=>1000,48460=>1000,48461=>1000,48462=>1000,48463=>1000,48464=>1000,48465=>1000,48466=>1000,48467=>1000,48468=>1000,48469=>1000,48470=>1000,48471=>1000,48472=>1000,48473=>1000,48474=>1000,48475=>1000,48476=>1000,48477=>1000,48478=>1000,48479=>1000,48480=>1000,48481=>1000,48482=>1000,48483=>1000,48484=>1000,48485=>1000,48486=>1000,48487=>1000,48488=>1000,48489=>1000,48490=>1000,48491=>1000,48492=>1000,48493=>1000,48494=>1000,48495=>1000,48496=>1000,48497=>1000,48498=>1000,48499=>1000,48500=>1000,48501=>1000,48502=>1000,48503=>1000,48504=>1000,48505=>1000,48506=>1000,48507=>1000,48508=>1000,48509=>1000,48510=>1000,48511=>1000,48512=>1000,48513=>1000,48514=>1000,48515=>1000,48516=>1000,48517=>1000,48518=>1000,48519=>1000,48520=>1000,48521=>1000,48522=>1000,48523=>1000,48524=>1000,48525=>1000,48526=>1000,48527=>1000,48528=>1000,48529=>1000,48530=>1000,48531=>1000,48532=>1000,48533=>1000,48534=>1000,48535=>1000,48536=>1000,48537=>1000,48538=>1000,48539=>1000,48540=>1000,48541=>1000,48542=>1000,48543=>1000,48544=>1000,48545=>1000,48546=>1000,48547=>1000,48548=>1000,48549=>1000,48550=>1000,48551=>1000,48552=>1000,48553=>1000,48554=>1000,48555=>1000,48556=>1000,48557=>1000,48558=>1000,48559=>1000,48560=>1000,48561=>1000,48562=>1000,48563=>1000,48564=>1000,48565=>1000,48566=>1000,48567=>1000,48568=>1000,48569=>1000,48570=>1000,48571=>1000,48572=>1000,48573=>1000,48574=>1000,48575=>1000,48576=>1000,48577=>1000,48578=>1000,48579=>1000,48580=>1000,48581=>1000,48582=>1000,48583=>1000,48584=>1000,48585=>1000,48586=>1000,48587=>1000,48588=>1000,48589=>1000,48590=>1000,48591=>1000,48592=>1000,48593=>1000,48594=>1000,48595=>1000,48596=>1000,48597=>1000,48598=>1000,48599=>1000,48600=>1000,48601=>1000,48602=>1000,48603=>1000,48604=>1000,48605=>1000,48606=>1000,48607=>1000,48608=>1000,48609=>1000,48610=>1000,48611=>1000,48612=>1000,48613=>1000,48614=>1000,48615=>1000,48616=>1000,48617=>1000,48618=>1000,48619=>1000,48620=>1000,48621=>1000,48622=>1000,48623=>1000,48624=>1000,48625=>1000,48626=>1000,48627=>1000,48628=>1000,48629=>1000,48630=>1000,48631=>1000,48632=>1000,48633=>1000,48634=>1000,48635=>1000,48636=>1000,48637=>1000,48638=>1000,48639=>1000,48640=>1000,48641=>1000,48642=>1000,48643=>1000,48644=>1000,48645=>1000,48646=>1000,48647=>1000,48648=>1000,48649=>1000,48650=>1000,48651=>1000,48652=>1000,48653=>1000,48654=>1000,48655=>1000,48656=>1000,48657=>1000,48658=>1000,48659=>1000,48660=>1000,48661=>1000,48662=>1000,48663=>1000,48664=>1000,48665=>1000,48666=>1000,48667=>1000,48668=>1000,48669=>1000,48670=>1000,48671=>1000,48672=>1000,48673=>1000,48674=>1000,48675=>1000,48676=>1000,48677=>1000,48678=>1000,48679=>1000,48680=>1000,48681=>1000,48682=>1000,48683=>1000,48684=>1000,48685=>1000,48686=>1000,48687=>1000,48688=>1000,48689=>1000,48690=>1000,48691=>1000,48692=>1000,48693=>1000,48694=>1000,48695=>1000,48696=>1000,48697=>1000,48698=>1000,48699=>1000,48700=>1000,48701=>1000,48702=>1000,48703=>1000,48704=>1000,48705=>1000,48706=>1000,48707=>1000,48708=>1000,48709=>1000,48710=>1000,48711=>1000,48712=>1000,48713=>1000,48714=>1000,48715=>1000,48716=>1000,48717=>1000,48718=>1000,48719=>1000,48720=>1000,48721=>1000,48722=>1000,48723=>1000,48724=>1000,48725=>1000,48726=>1000,48727=>1000,48728=>1000,48729=>1000,48730=>1000,48731=>1000,48732=>1000,48733=>1000,48734=>1000,48735=>1000,48736=>1000,48737=>1000,48738=>1000,48739=>1000,48740=>1000,48741=>1000,48742=>1000,48743=>1000,48744=>1000,48745=>1000,48746=>1000,48747=>1000,48748=>1000,48749=>1000,48750=>1000,48751=>1000,48752=>1000,48753=>1000,48754=>1000,48755=>1000,48756=>1000,48757=>1000,48758=>1000,48759=>1000,48760=>1000,48761=>1000,48762=>1000,48763=>1000,48764=>1000,48765=>1000,48766=>1000,48767=>1000,48768=>1000,48769=>1000,48770=>1000,48771=>1000,48772=>1000,48773=>1000,48774=>1000,48775=>1000,48776=>1000,48777=>1000,48778=>1000,48779=>1000,48780=>1000,48781=>1000,48782=>1000,48783=>1000,48784=>1000,48785=>1000,48786=>1000,48787=>1000,48788=>1000,48789=>1000,48790=>1000,48791=>1000,48792=>1000,48793=>1000,48794=>1000,48795=>1000,48796=>1000,48797=>1000,48798=>1000,48799=>1000,48800=>1000,48801=>1000,48802=>1000,48803=>1000,48804=>1000,48805=>1000,48806=>1000,48807=>1000,48808=>1000,48809=>1000,48810=>1000,48811=>1000,48812=>1000,48813=>1000,48814=>1000,48815=>1000,48816=>1000,48817=>1000,48818=>1000,48819=>1000,48820=>1000,48821=>1000,48822=>1000,48823=>1000,48824=>1000,48825=>1000,48826=>1000,48827=>1000,48828=>1000,48829=>1000,48830=>1000,48831=>1000,48832=>1000,48833=>1000,48834=>1000,48835=>1000,48836=>1000,48837=>1000,48838=>1000,48839=>1000,48840=>1000,48841=>1000,48842=>1000,48843=>1000,48844=>1000,48845=>1000,48846=>1000,48847=>1000,48848=>1000,48849=>1000,48850=>1000,48851=>1000,48852=>1000,48853=>1000,48854=>1000,48855=>1000,48856=>1000,48857=>1000,48858=>1000,48859=>1000,48860=>1000,48861=>1000,48862=>1000,48863=>1000,48864=>1000,48865=>1000,48866=>1000,48867=>1000,48868=>1000,48869=>1000,48870=>1000,48871=>1000,48872=>1000,48873=>1000,48874=>1000,48875=>1000,48876=>1000,48877=>1000,48878=>1000,48879=>1000,48880=>1000,48881=>1000,48882=>1000,48883=>1000,48884=>1000,48885=>1000,48886=>1000,48887=>1000,48888=>1000,48889=>1000,48890=>1000,48891=>1000,48892=>1000,48893=>1000,48894=>1000,48895=>1000,48896=>1000,48897=>1000,48898=>1000,48899=>1000,48900=>1000,48901=>1000,48902=>1000,48903=>1000,48904=>1000,48905=>1000,48906=>1000,48907=>1000,48908=>1000,48909=>1000,48910=>1000,48911=>1000,48912=>1000,48913=>1000,48914=>1000,48915=>1000,48916=>1000,48917=>1000,48918=>1000,48919=>1000,48920=>1000,48921=>1000,48922=>1000,48923=>1000,48924=>1000,48925=>1000,48926=>1000,48927=>1000,48928=>1000,48929=>1000,48930=>1000,48931=>1000,48932=>1000,48933=>1000,48934=>1000,48935=>1000,48936=>1000,48937=>1000,48938=>1000,48939=>1000,48940=>1000,48941=>1000,48942=>1000,48943=>1000,48944=>1000,48945=>1000,48946=>1000,48947=>1000,48948=>1000,48949=>1000,48950=>1000,48951=>1000,48952=>1000,48953=>1000,48954=>1000,48955=>1000,48956=>1000,48957=>1000,48958=>1000,48959=>1000,48960=>1000,48961=>1000,48962=>1000,48963=>1000,48964=>1000,48965=>1000,48966=>1000,48967=>1000,48968=>1000,48969=>1000,48970=>1000,48971=>1000,48972=>1000,48973=>1000,48974=>1000,48975=>1000,48976=>1000,48977=>1000,48978=>1000,48979=>1000,48980=>1000,48981=>1000,48982=>1000,48983=>1000,48984=>1000,48985=>1000,48986=>1000,48987=>1000,48988=>1000,48989=>1000,48990=>1000,48991=>1000,48992=>1000,48993=>1000,48994=>1000,48995=>1000,48996=>1000,48997=>1000,48998=>1000,48999=>1000,49000=>1000,49001=>1000,49002=>1000,49003=>1000,49004=>1000,49005=>1000,49006=>1000,49007=>1000,49008=>1000,49009=>1000,49010=>1000,49011=>1000,49012=>1000,49013=>1000,49014=>1000,49015=>1000,49016=>1000,49017=>1000,49018=>1000,49019=>1000,49020=>1000,49021=>1000,49022=>1000,49023=>1000,49024=>1000,49025=>1000,49026=>1000,49027=>1000,49028=>1000,49029=>1000,49030=>1000,49031=>1000,49032=>1000,49033=>1000,49034=>1000,49035=>1000,49036=>1000,49037=>1000,49038=>1000,49039=>1000,49040=>1000,49041=>1000,49042=>1000,49043=>1000,49044=>1000,49045=>1000,49046=>1000,49047=>1000,49048=>1000,49049=>1000,49050=>1000,49051=>1000,49052=>1000,49053=>1000,49054=>1000,49055=>1000,49056=>1000,49057=>1000,49058=>1000,49059=>1000,49060=>1000,49061=>1000,49062=>1000,49063=>1000,49064=>1000,49065=>1000,49066=>1000,49067=>1000,49068=>1000,49069=>1000,49070=>1000,49071=>1000,49072=>1000,49073=>1000,49074=>1000,49075=>1000,49076=>1000,49077=>1000,49078=>1000,49079=>1000,49080=>1000,49081=>1000,49082=>1000,49083=>1000,49084=>1000,49085=>1000,49086=>1000,49087=>1000,49088=>1000,49089=>1000,49090=>1000,49091=>1000,49092=>1000,49093=>1000,49094=>1000,49095=>1000,49096=>1000,49097=>1000,49098=>1000,49099=>1000,49100=>1000,49101=>1000,49102=>1000,49103=>1000,49104=>1000,49105=>1000,49106=>1000,49107=>1000,49108=>1000,49109=>1000,49110=>1000,49111=>1000,49112=>1000,49113=>1000,49114=>1000,49115=>1000,49116=>1000,49117=>1000,49118=>1000,49119=>1000,49120=>1000,49121=>1000,49122=>1000,49123=>1000,49124=>1000,49125=>1000,49126=>1000,49127=>1000,49128=>1000,49129=>1000,49130=>1000,49131=>1000,49132=>1000,49133=>1000,49134=>1000,49135=>1000,49136=>1000,49137=>1000,49138=>1000,49139=>1000,49140=>1000,49141=>1000,49142=>1000,49143=>1000,49144=>1000,49145=>1000,49146=>1000,49147=>1000,49148=>1000,49149=>1000,49150=>1000,49151=>1000,49152=>1000,49153=>1000,49154=>1000,49155=>1000,49156=>1000,49157=>1000,49158=>1000,49159=>1000,49160=>1000,49161=>1000,49162=>1000,49163=>1000,49164=>1000,49165=>1000,49166=>1000,49167=>1000,49168=>1000,49169=>1000,49170=>1000,49171=>1000,49172=>1000,49173=>1000,49174=>1000,49175=>1000,49176=>1000,49177=>1000,49178=>1000,49179=>1000,49180=>1000,49181=>1000,49182=>1000,49183=>1000,49184=>1000,49185=>1000,49186=>1000,49187=>1000,49188=>1000,49189=>1000,49190=>1000,49191=>1000,49192=>1000,49193=>1000,49194=>1000,49195=>1000,49196=>1000,49197=>1000,49198=>1000,49199=>1000,49200=>1000,49201=>1000,49202=>1000,49203=>1000,49204=>1000,49205=>1000,49206=>1000,49207=>1000,49208=>1000,49209=>1000,49210=>1000,49211=>1000,49212=>1000,49213=>1000,49214=>1000,49215=>1000,49216=>1000,49217=>1000,49218=>1000,49219=>1000,49220=>1000,49221=>1000,49222=>1000,49223=>1000,49224=>1000,49225=>1000,49226=>1000,49227=>1000,49228=>1000,49229=>1000,49230=>1000,49231=>1000,49232=>1000,49233=>1000,49234=>1000,49235=>1000,49236=>1000,49237=>1000,49238=>1000,49239=>1000,49240=>1000,49241=>1000,49242=>1000,49243=>1000,49244=>1000,49245=>1000,49246=>1000,49247=>1000,49248=>1000,49249=>1000,49250=>1000,49251=>1000,49252=>1000,49253=>1000,49254=>1000,49255=>1000,49256=>1000,49257=>1000,49258=>1000,49259=>1000,49260=>1000,49261=>1000,49262=>1000,49263=>1000,49264=>1000,49265=>1000,49266=>1000,49267=>1000,49268=>1000,49269=>1000,49270=>1000,49271=>1000,49272=>1000,49273=>1000,49274=>1000,49275=>1000,49276=>1000,49277=>1000,49278=>1000,49279=>1000,49280=>1000,49281=>1000,49282=>1000,49283=>1000,49284=>1000,49285=>1000,49286=>1000,49287=>1000,49288=>1000,49289=>1000,49290=>1000,49291=>1000,49292=>1000,49293=>1000,49294=>1000,49295=>1000,49296=>1000,49297=>1000,49298=>1000,49299=>1000,49300=>1000,49301=>1000,49302=>1000,49303=>1000,49304=>1000,49305=>1000,49306=>1000,49307=>1000,49308=>1000,49309=>1000,49310=>1000,49311=>1000,49312=>1000,49313=>1000,49314=>1000,49315=>1000,49316=>1000,49317=>1000,49318=>1000,49319=>1000,49320=>1000,49321=>1000,49322=>1000,49323=>1000,49324=>1000,49325=>1000,49326=>1000,49327=>1000,49328=>1000,49329=>1000,49330=>1000,49331=>1000,49332=>1000,49333=>1000,49334=>1000,49335=>1000,49336=>1000,49337=>1000,49338=>1000,49339=>1000,49340=>1000,49341=>1000,49342=>1000,49343=>1000,49344=>1000,49345=>1000,49346=>1000,49347=>1000,49348=>1000,49349=>1000,49350=>1000,49351=>1000,49352=>1000,49353=>1000,49354=>1000,49355=>1000,49356=>1000,49357=>1000,49358=>1000,49359=>1000,49360=>1000,49361=>1000,49362=>1000,49363=>1000,49364=>1000,49365=>1000,49366=>1000,49367=>1000,49368=>1000,49369=>1000,49370=>1000,49371=>1000,49372=>1000,49373=>1000,49374=>1000,49375=>1000,49376=>1000,49377=>1000,49378=>1000,49379=>1000,49380=>1000,49381=>1000,49382=>1000,49383=>1000,49384=>1000,49385=>1000,49386=>1000,49387=>1000,49388=>1000,49389=>1000,49390=>1000,49391=>1000,49392=>1000,49393=>1000,49394=>1000,49395=>1000,49396=>1000,49397=>1000,49398=>1000,49399=>1000,49400=>1000,49401=>1000,49402=>1000,49403=>1000,49404=>1000,49405=>1000,49406=>1000,49407=>1000,49408=>1000,49409=>1000,49410=>1000,49411=>1000,49412=>1000,49413=>1000,49414=>1000,49415=>1000,49416=>1000,49417=>1000,49418=>1000,49419=>1000,49420=>1000,49421=>1000,49422=>1000,49423=>1000,49424=>1000,49425=>1000,49426=>1000,49427=>1000,49428=>1000,49429=>1000,49430=>1000,49431=>1000,49432=>1000,49433=>1000,49434=>1000,49435=>1000,49436=>1000,49437=>1000,49438=>1000,49439=>1000,49440=>1000,49441=>1000,49442=>1000,49443=>1000,49444=>1000,49445=>1000,49446=>1000,49447=>1000,49448=>1000,49449=>1000,49450=>1000,49451=>1000,49452=>1000,49453=>1000,49454=>1000,49455=>1000,49456=>1000,49457=>1000,49458=>1000,49459=>1000,49460=>1000,49461=>1000,49462=>1000,49463=>1000,49464=>1000,49465=>1000,49466=>1000,49467=>1000,49468=>1000,49469=>1000,49470=>1000,49471=>1000,49472=>1000,49473=>1000,49474=>1000,49475=>1000,49476=>1000,49477=>1000,49478=>1000,49479=>1000,49480=>1000,49481=>1000,49482=>1000,49483=>1000,49484=>1000,49485=>1000,49486=>1000,49487=>1000,49488=>1000,49489=>1000,49490=>1000,49491=>1000,49492=>1000,49493=>1000,49494=>1000,49495=>1000,49496=>1000,49497=>1000,49498=>1000,49499=>1000,49500=>1000,49501=>1000,49502=>1000,49503=>1000,49504=>1000,49505=>1000,49506=>1000,49507=>1000,49508=>1000,49509=>1000,49510=>1000,49511=>1000,49512=>1000,49513=>1000,49514=>1000,49515=>1000,49516=>1000,49517=>1000,49518=>1000,49519=>1000,49520=>1000,49521=>1000,49522=>1000,49523=>1000,49524=>1000,49525=>1000,49526=>1000,49527=>1000,49528=>1000,49529=>1000,49530=>1000,49531=>1000,49532=>1000,49533=>1000,49534=>1000,49535=>1000,49536=>1000,49537=>1000,49538=>1000,49539=>1000,49540=>1000,49541=>1000,49542=>1000,49543=>1000,49544=>1000,49545=>1000,49546=>1000,49547=>1000,49548=>1000,49549=>1000,49550=>1000,49551=>1000,49552=>1000,49553=>1000,49554=>1000,49555=>1000,49556=>1000,49557=>1000,49558=>1000,49559=>1000,49560=>1000,49561=>1000,49562=>1000,49563=>1000,49564=>1000,49565=>1000,49566=>1000,49567=>1000,49568=>1000,49569=>1000,49570=>1000,49571=>1000,49572=>1000,49573=>1000,49574=>1000,49575=>1000,49576=>1000,49577=>1000,49578=>1000,49579=>1000,49580=>1000,49581=>1000,49582=>1000,49583=>1000,49584=>1000,49585=>1000,49586=>1000,49587=>1000,49588=>1000,49589=>1000,49590=>1000,49591=>1000,49592=>1000,49593=>1000,49594=>1000,49595=>1000,49596=>1000,49597=>1000,49598=>1000,49599=>1000,49600=>1000,49601=>1000,49602=>1000,49603=>1000,49604=>1000,49605=>1000,49606=>1000,49607=>1000,49608=>1000,49609=>1000,49610=>1000,49611=>1000,49612=>1000,49613=>1000,49614=>1000,49615=>1000,49616=>1000,49617=>1000,49618=>1000,49619=>1000,49620=>1000,49621=>1000,49622=>1000,49623=>1000,49624=>1000,49625=>1000,49626=>1000,49627=>1000,49628=>1000,49629=>1000,49630=>1000,49631=>1000,49632=>1000,49633=>1000,49634=>1000,49635=>1000,49636=>1000,49637=>1000,49638=>1000,49639=>1000,49640=>1000,49641=>1000,49642=>1000,49643=>1000,49644=>1000,49645=>1000,49646=>1000,49647=>1000,49648=>1000,49649=>1000,49650=>1000,49651=>1000,49652=>1000,49653=>1000,49654=>1000,49655=>1000,49656=>1000,49657=>1000,49658=>1000,49659=>1000,49660=>1000,49661=>1000,49662=>1000,49663=>1000,49664=>1000,49665=>1000,49666=>1000,49667=>1000,49668=>1000,49669=>1000,49670=>1000,49671=>1000,49672=>1000,49673=>1000,49674=>1000,49675=>1000,49676=>1000,49677=>1000,49678=>1000,49679=>1000,49680=>1000,49681=>1000,49682=>1000,49683=>1000,49684=>1000,49685=>1000,49686=>1000,49687=>1000,49688=>1000,49689=>1000,49690=>1000,49691=>1000,49692=>1000,49693=>1000,49694=>1000,49695=>1000,49696=>1000,49697=>1000,49698=>1000,49699=>1000,49700=>1000,49701=>1000,49702=>1000,49703=>1000,49704=>1000,49705=>1000,49706=>1000,49707=>1000,49708=>1000,49709=>1000,49710=>1000,49711=>1000,49712=>1000,49713=>1000,49714=>1000,49715=>1000,49716=>1000,49717=>1000,49718=>1000,49719=>1000,49720=>1000,49721=>1000,49722=>1000,49723=>1000,49724=>1000,49725=>1000,49726=>1000,49727=>1000,49728=>1000,49729=>1000,49730=>1000,49731=>1000,49732=>1000,49733=>1000,49734=>1000,49735=>1000,49736=>1000,49737=>1000,49738=>1000,49739=>1000,49740=>1000,49741=>1000,49742=>1000,49743=>1000,49744=>1000,49745=>1000,49746=>1000,49747=>1000,49748=>1000,49749=>1000,49750=>1000,49751=>1000,49752=>1000,49753=>1000,49754=>1000,49755=>1000,49756=>1000,49757=>1000,49758=>1000,49759=>1000,49760=>1000,49761=>1000,49762=>1000,49763=>1000,49764=>1000,49765=>1000,49766=>1000,49767=>1000,49768=>1000,49769=>1000,49770=>1000,49771=>1000,49772=>1000,49773=>1000,49774=>1000,49775=>1000,49776=>1000,49777=>1000,49778=>1000,49779=>1000,49780=>1000,49781=>1000,49782=>1000,49783=>1000,49784=>1000,49785=>1000,49786=>1000,49787=>1000,49788=>1000,49789=>1000,49790=>1000,49791=>1000,49792=>1000,49793=>1000,49794=>1000,49795=>1000,49796=>1000,49797=>1000,49798=>1000,49799=>1000,49800=>1000,49801=>1000,49802=>1000,49803=>1000,49804=>1000,49805=>1000,49806=>1000,49807=>1000,49808=>1000,49809=>1000,49810=>1000,49811=>1000,49812=>1000,49813=>1000,49814=>1000,49815=>1000,49816=>1000,49817=>1000,49818=>1000,49819=>1000,49820=>1000,49821=>1000,49822=>1000,49823=>1000,49824=>1000,49825=>1000,49826=>1000,49827=>1000,49828=>1000,49829=>1000,49830=>1000,49831=>1000,49832=>1000,49833=>1000,49834=>1000,49835=>1000,49836=>1000,49837=>1000,49838=>1000,49839=>1000,49840=>1000,49841=>1000,49842=>1000,49843=>1000,49844=>1000,49845=>1000,49846=>1000,49847=>1000,49848=>1000,49849=>1000,49850=>1000,49851=>1000,49852=>1000,49853=>1000,49854=>1000,49855=>1000,49856=>1000,49857=>1000,49858=>1000,49859=>1000,49860=>1000,49861=>1000,49862=>1000,49863=>1000,49864=>1000,49865=>1000,49866=>1000,49867=>1000,49868=>1000,49869=>1000,49870=>1000,49871=>1000,49872=>1000,49873=>1000,49874=>1000,49875=>1000,49876=>1000,49877=>1000,49878=>1000,49879=>1000,49880=>1000,49881=>1000,49882=>1000,49883=>1000,49884=>1000,49885=>1000,49886=>1000,49887=>1000,49888=>1000,49889=>1000,49890=>1000,49891=>1000,49892=>1000,49893=>1000,49894=>1000,49895=>1000,49896=>1000,49897=>1000,49898=>1000,49899=>1000,49900=>1000,49901=>1000,49902=>1000,49903=>1000,49904=>1000,49905=>1000,49906=>1000,49907=>1000,49908=>1000,49909=>1000,49910=>1000,49911=>1000,49912=>1000,49913=>1000,49914=>1000,49915=>1000,49916=>1000,49917=>1000,49918=>1000,49919=>1000,49920=>1000,49921=>1000,49922=>1000,49923=>1000,49924=>1000,49925=>1000,49926=>1000,49927=>1000,49928=>1000,49929=>1000,49930=>1000,49931=>1000,49932=>1000,49933=>1000,49934=>1000,49935=>1000,49936=>1000,49937=>1000,49938=>1000,49939=>1000,49940=>1000,49941=>1000,49942=>1000,49943=>1000,49944=>1000,49945=>1000,49946=>1000,49947=>1000,49948=>1000,49949=>1000,49950=>1000,49951=>1000,49952=>1000,49953=>1000,49954=>1000,49955=>1000,49956=>1000,49957=>1000,49958=>1000,49959=>1000,49960=>1000,49961=>1000,49962=>1000,49963=>1000,49964=>1000,49965=>1000,49966=>1000,49967=>1000,49968=>1000,49969=>1000,49970=>1000,49971=>1000,49972=>1000,49973=>1000,49974=>1000,49975=>1000,49976=>1000,49977=>1000,49978=>1000,49979=>1000,49980=>1000,49981=>1000,49982=>1000,49983=>1000,49984=>1000,49985=>1000,49986=>1000,49987=>1000,49988=>1000,49989=>1000,49990=>1000,49991=>1000,49992=>1000,49993=>1000,49994=>1000,49995=>1000,49996=>1000,49997=>1000,49998=>1000,49999=>1000,50000=>1000,50001=>1000,50002=>1000,50003=>1000,50004=>1000,50005=>1000,50006=>1000,50007=>1000,50008=>1000,50009=>1000,50010=>1000,50011=>1000,50012=>1000,50013=>1000,50014=>1000,50015=>1000,50016=>1000,50017=>1000,50018=>1000,50019=>1000,50020=>1000,50021=>1000,50022=>1000,50023=>1000,50024=>1000,50025=>1000,50026=>1000,50027=>1000,50028=>1000,50029=>1000,50030=>1000,50031=>1000,50032=>1000,50033=>1000,50034=>1000,50035=>1000,50036=>1000,50037=>1000,50038=>1000,50039=>1000,50040=>1000,50041=>1000,50042=>1000,50043=>1000,50044=>1000,50045=>1000,50046=>1000,50047=>1000,50048=>1000,50049=>1000,50050=>1000,50051=>1000,50052=>1000,50053=>1000,50054=>1000,50055=>1000,50056=>1000,50057=>1000,50058=>1000,50059=>1000,50060=>1000,50061=>1000,50062=>1000,50063=>1000,50064=>1000,50065=>1000,50066=>1000,50067=>1000,50068=>1000,50069=>1000,50070=>1000,50071=>1000,50072=>1000,50073=>1000,50074=>1000,50075=>1000,50076=>1000,50077=>1000,50078=>1000,50079=>1000,50080=>1000,50081=>1000,50082=>1000,50083=>1000,50084=>1000,50085=>1000,50086=>1000,50087=>1000,50088=>1000,50089=>1000,50090=>1000,50091=>1000,50092=>1000,50093=>1000,50094=>1000,50095=>1000,50096=>1000,50097=>1000,50098=>1000,50099=>1000,50100=>1000,50101=>1000,50102=>1000,50103=>1000,50104=>1000,50105=>1000,50106=>1000,50107=>1000,50108=>1000,50109=>1000,50110=>1000,50111=>1000,50112=>1000,50113=>1000,50114=>1000,50115=>1000,50116=>1000,50117=>1000,50118=>1000,50119=>1000,50120=>1000,50121=>1000,50122=>1000,50123=>1000,50124=>1000,50125=>1000,50126=>1000,50127=>1000,50128=>1000,50129=>1000,50130=>1000,50131=>1000,50132=>1000,50133=>1000,50134=>1000,50135=>1000,50136=>1000,50137=>1000,50138=>1000,50139=>1000,50140=>1000,50141=>1000,50142=>1000,50143=>1000,50144=>1000,50145=>1000,50146=>1000,50147=>1000,50148=>1000,50149=>1000,50150=>1000,50151=>1000,50152=>1000,50153=>1000,50154=>1000,50155=>1000,50156=>1000,50157=>1000,50158=>1000,50159=>1000,50160=>1000,50161=>1000,50162=>1000,50163=>1000,50164=>1000,50165=>1000,50166=>1000,50167=>1000,50168=>1000,50169=>1000,50170=>1000,50171=>1000,50172=>1000,50173=>1000,50174=>1000,50175=>1000,50176=>1000,50177=>1000,50178=>1000,50179=>1000,50180=>1000,50181=>1000,50182=>1000,50183=>1000,50184=>1000,50185=>1000,50186=>1000,50187=>1000,50188=>1000,50189=>1000,50190=>1000,50191=>1000,50192=>1000,50193=>1000,50194=>1000,50195=>1000,50196=>1000,50197=>1000,50198=>1000,50199=>1000,50200=>1000,50201=>1000,50202=>1000,50203=>1000,50204=>1000,50205=>1000,50206=>1000,50207=>1000,50208=>1000,50209=>1000,50210=>1000,50211=>1000,50212=>1000,50213=>1000,50214=>1000,50215=>1000,50216=>1000,50217=>1000,50218=>1000,50219=>1000,50220=>1000,50221=>1000,50222=>1000,50223=>1000,50224=>1000,50225=>1000,50226=>1000,50227=>1000,50228=>1000,50229=>1000,50230=>1000,50231=>1000,50232=>1000,50233=>1000,50234=>1000,50235=>1000,50236=>1000,50237=>1000,50238=>1000,50239=>1000,50240=>1000,50241=>1000,50242=>1000,50243=>1000,50244=>1000,50245=>1000,50246=>1000,50247=>1000,50248=>1000,50249=>1000,50250=>1000,50251=>1000,50252=>1000,50253=>1000,50254=>1000,50255=>1000,50256=>1000,50257=>1000,50258=>1000,50259=>1000,50260=>1000,50261=>1000,50262=>1000,50263=>1000,50264=>1000,50265=>1000,50266=>1000,50267=>1000,50268=>1000,50269=>1000,50270=>1000,50271=>1000,50272=>1000,50273=>1000,50274=>1000,50275=>1000,50276=>1000,50277=>1000,50278=>1000,50279=>1000,50280=>1000,50281=>1000,50282=>1000,50283=>1000,50284=>1000,50285=>1000,50286=>1000,50287=>1000,50288=>1000,50289=>1000,50290=>1000,50291=>1000,50292=>1000,50293=>1000,50294=>1000,50295=>1000,50296=>1000,50297=>1000,50298=>1000,50299=>1000,50300=>1000,50301=>1000,50302=>1000,50303=>1000,50304=>1000,50305=>1000,50306=>1000,50307=>1000,50308=>1000,50309=>1000,50310=>1000,50311=>1000,50312=>1000,50313=>1000,50314=>1000,50315=>1000,50316=>1000,50317=>1000,50318=>1000,50319=>1000,50320=>1000,50321=>1000,50322=>1000,50323=>1000,50324=>1000,50325=>1000,50326=>1000,50327=>1000,50328=>1000,50329=>1000,50330=>1000,50331=>1000,50332=>1000,50333=>1000,50334=>1000,50335=>1000,50336=>1000,50337=>1000,50338=>1000,50339=>1000,50340=>1000,50341=>1000,50342=>1000,50343=>1000,50344=>1000,50345=>1000,50346=>1000,50347=>1000,50348=>1000,50349=>1000,50350=>1000,50351=>1000,50352=>1000,50353=>1000,50354=>1000,50355=>1000,50356=>1000,50357=>1000,50358=>1000,50359=>1000,50360=>1000,50361=>1000,50362=>1000,50363=>1000,50364=>1000,50365=>1000,50366=>1000,50367=>1000,50368=>1000,50369=>1000,50370=>1000,50371=>1000,50372=>1000,50373=>1000,50374=>1000,50375=>1000,50376=>1000,50377=>1000,50378=>1000,50379=>1000,50380=>1000,50381=>1000,50382=>1000,50383=>1000,50384=>1000,50385=>1000,50386=>1000,50387=>1000,50388=>1000,50389=>1000,50390=>1000,50391=>1000,50392=>1000,50393=>1000,50394=>1000,50395=>1000,50396=>1000,50397=>1000,50398=>1000,50399=>1000,50400=>1000,50401=>1000,50402=>1000,50403=>1000,50404=>1000,50405=>1000,50406=>1000,50407=>1000,50408=>1000,50409=>1000,50410=>1000,50411=>1000,50412=>1000,50413=>1000,50414=>1000,50415=>1000,50416=>1000,50417=>1000,50418=>1000,50419=>1000,50420=>1000,50421=>1000,50422=>1000,50423=>1000,50424=>1000,50425=>1000,50426=>1000,50427=>1000,50428=>1000,50429=>1000,50430=>1000,50431=>1000,50432=>1000,50433=>1000,50434=>1000,50435=>1000,50436=>1000,50437=>1000,50438=>1000,50439=>1000,50440=>1000,50441=>1000,50442=>1000,50443=>1000,50444=>1000,50445=>1000,50446=>1000,50447=>1000,50448=>1000,50449=>1000,50450=>1000,50451=>1000,50452=>1000,50453=>1000,50454=>1000,50455=>1000,50456=>1000,50457=>1000,50458=>1000,50459=>1000,50460=>1000,50461=>1000,50462=>1000,50463=>1000,50464=>1000,50465=>1000,50466=>1000,50467=>1000,50468=>1000,50469=>1000,50470=>1000,50471=>1000,50472=>1000,50473=>1000,50474=>1000,50475=>1000,50476=>1000,50477=>1000,50478=>1000,50479=>1000,50480=>1000,50481=>1000,50482=>1000,50483=>1000,50484=>1000,50485=>1000,50486=>1000,50487=>1000,50488=>1000,50489=>1000,50490=>1000,50491=>1000,50492=>1000,50493=>1000,50494=>1000,50495=>1000,50496=>1000,50497=>1000,50498=>1000,50499=>1000,50500=>1000,50501=>1000,50502=>1000,50503=>1000,50504=>1000,50505=>1000,50506=>1000,50507=>1000,50508=>1000,50509=>1000,50510=>1000,50511=>1000,50512=>1000,50513=>1000,50514=>1000,50515=>1000,50516=>1000,50517=>1000,50518=>1000,50519=>1000,50520=>1000,50521=>1000,50522=>1000,50523=>1000,50524=>1000,50525=>1000,50526=>1000,50527=>1000,50528=>1000,50529=>1000,50530=>1000,50531=>1000,50532=>1000,50533=>1000,50534=>1000,50535=>1000,50536=>1000,50537=>1000,50538=>1000,50539=>1000,50540=>1000,50541=>1000,50542=>1000,50543=>1000,50544=>1000,50545=>1000,50546=>1000,50547=>1000,50548=>1000,50549=>1000,50550=>1000,50551=>1000,50552=>1000,50553=>1000,50554=>1000,50555=>1000,50556=>1000,50557=>1000,50558=>1000,50559=>1000,50560=>1000,50561=>1000,50562=>1000,50563=>1000,50564=>1000,50565=>1000,50566=>1000,50567=>1000,50568=>1000,50569=>1000,50570=>1000,50571=>1000,50572=>1000,50573=>1000,50574=>1000,50575=>1000,50576=>1000,50577=>1000,50578=>1000,50579=>1000,50580=>1000,50581=>1000,50582=>1000,50583=>1000,50584=>1000,50585=>1000,50586=>1000,50587=>1000,50588=>1000,50589=>1000,50590=>1000,50591=>1000,50592=>1000,50593=>1000,50594=>1000,50595=>1000,50596=>1000,50597=>1000,50598=>1000,50599=>1000,50600=>1000,50601=>1000,50602=>1000,50603=>1000,50604=>1000,50605=>1000,50606=>1000,50607=>1000,50608=>1000,50609=>1000,50610=>1000,50611=>1000,50612=>1000,50613=>1000,50614=>1000,50615=>1000,50616=>1000,50617=>1000,50618=>1000,50619=>1000,50620=>1000,50621=>1000,50622=>1000,50623=>1000,50624=>1000,50625=>1000,50626=>1000,50627=>1000,50628=>1000,50629=>1000,50630=>1000,50631=>1000,50632=>1000,50633=>1000,50634=>1000,50635=>1000,50636=>1000,50637=>1000,50638=>1000,50639=>1000,50640=>1000,50641=>1000,50642=>1000,50643=>1000,50644=>1000,50645=>1000,50646=>1000,50647=>1000,50648=>1000,50649=>1000,50650=>1000,50651=>1000,50652=>1000,50653=>1000,50654=>1000,50655=>1000,50656=>1000,50657=>1000,50658=>1000,50659=>1000,50660=>1000,50661=>1000,50662=>1000,50663=>1000,50664=>1000,50665=>1000,50666=>1000,50667=>1000,50668=>1000,50669=>1000,50670=>1000,50671=>1000,50672=>1000,50673=>1000,50674=>1000,50675=>1000,50676=>1000,50677=>1000,50678=>1000,50679=>1000,50680=>1000,50681=>1000,50682=>1000,50683=>1000,50684=>1000,50685=>1000,50686=>1000,50687=>1000,50688=>1000,50689=>1000,50690=>1000,50691=>1000,50692=>1000,50693=>1000,50694=>1000,50695=>1000,50696=>1000,50697=>1000,50698=>1000,50699=>1000,50700=>1000,50701=>1000,50702=>1000,50703=>1000,50704=>1000,50705=>1000,50706=>1000,50707=>1000,50708=>1000,50709=>1000,50710=>1000,50711=>1000,50712=>1000,50713=>1000,50714=>1000,50715=>1000,50716=>1000,50717=>1000,50718=>1000,50719=>1000,50720=>1000,50721=>1000,50722=>1000,50723=>1000,50724=>1000,50725=>1000,50726=>1000,50727=>1000,50728=>1000,50729=>1000,50730=>1000,50731=>1000,50732=>1000,50733=>1000,50734=>1000,50735=>1000,50736=>1000,50737=>1000,50738=>1000,50739=>1000,50740=>1000,50741=>1000,50742=>1000,50743=>1000,50744=>1000,50745=>1000,50746=>1000,50747=>1000,50748=>1000,50749=>1000,50750=>1000,50751=>1000,50752=>1000,50753=>1000,50754=>1000,50755=>1000,50756=>1000,50757=>1000,50758=>1000,50759=>1000,50760=>1000,50761=>1000,50762=>1000,50763=>1000,50764=>1000,50765=>1000,50766=>1000,50767=>1000,50768=>1000,50769=>1000,50770=>1000,50771=>1000,50772=>1000,50773=>1000,50774=>1000,50775=>1000,50776=>1000,50777=>1000,50778=>1000,50779=>1000,50780=>1000,50781=>1000,50782=>1000,50783=>1000,50784=>1000,50785=>1000,50786=>1000,50787=>1000,50788=>1000,50789=>1000,50790=>1000,50791=>1000,50792=>1000,50793=>1000,50794=>1000,50795=>1000,50796=>1000,50797=>1000,50798=>1000,50799=>1000,50800=>1000,50801=>1000,50802=>1000,50803=>1000,50804=>1000,50805=>1000,50806=>1000,50807=>1000,50808=>1000,50809=>1000,50810=>1000,50811=>1000,50812=>1000,50813=>1000,50814=>1000,50815=>1000,50816=>1000,50817=>1000,50818=>1000,50819=>1000,50820=>1000,50821=>1000,50822=>1000,50823=>1000,50824=>1000,50825=>1000,50826=>1000,50827=>1000,50828=>1000,50829=>1000,50830=>1000,50831=>1000,50832=>1000,50833=>1000,50834=>1000,50835=>1000,50836=>1000,50837=>1000,50838=>1000,50839=>1000,50840=>1000,50841=>1000,50842=>1000,50843=>1000,50844=>1000,50845=>1000,50846=>1000,50847=>1000,50848=>1000,50849=>1000,50850=>1000,50851=>1000,50852=>1000,50853=>1000,50854=>1000,50855=>1000,50856=>1000,50857=>1000,50858=>1000,50859=>1000,50860=>1000,50861=>1000,50862=>1000,50863=>1000,50864=>1000,50865=>1000,50866=>1000,50867=>1000,50868=>1000,50869=>1000,50870=>1000,50871=>1000,50872=>1000,50873=>1000,50874=>1000,50875=>1000,50876=>1000,50877=>1000,50878=>1000,50879=>1000,50880=>1000,50881=>1000,50882=>1000,50883=>1000,50884=>1000,50885=>1000,50886=>1000,50887=>1000,50888=>1000,50889=>1000,50890=>1000,50891=>1000,50892=>1000,50893=>1000,50894=>1000,50895=>1000,50896=>1000,50897=>1000,50898=>1000,50899=>1000,50900=>1000,50901=>1000,50902=>1000,50903=>1000,50904=>1000,50905=>1000,50906=>1000,50907=>1000,50908=>1000,50909=>1000,50910=>1000,50911=>1000,50912=>1000,50913=>1000,50914=>1000,50915=>1000,50916=>1000,50917=>1000,50918=>1000,50919=>1000,50920=>1000,50921=>1000,50922=>1000,50923=>1000,50924=>1000,50925=>1000,50926=>1000,50927=>1000,50928=>1000,50929=>1000,50930=>1000,50931=>1000,50932=>1000,50933=>1000,50934=>1000,50935=>1000,50936=>1000,50937=>1000,50938=>1000,50939=>1000,50940=>1000,50941=>1000,50942=>1000,50943=>1000,50944=>1000,50945=>1000,50946=>1000,50947=>1000,50948=>1000,50949=>1000,50950=>1000,50951=>1000,50952=>1000,50953=>1000,50954=>1000,50955=>1000,50956=>1000,50957=>1000,50958=>1000,50959=>1000,50960=>1000,50961=>1000,50962=>1000,50963=>1000,50964=>1000,50965=>1000,50966=>1000,50967=>1000,50968=>1000,50969=>1000,50970=>1000,50971=>1000,50972=>1000,50973=>1000,50974=>1000,50975=>1000,50976=>1000,50977=>1000,50978=>1000,50979=>1000,50980=>1000,50981=>1000,50982=>1000,50983=>1000,50984=>1000,50985=>1000,50986=>1000,50987=>1000,50988=>1000,50989=>1000,50990=>1000,50991=>1000,50992=>1000,50993=>1000,50994=>1000,50995=>1000,50996=>1000,50997=>1000,50998=>1000,50999=>1000,51000=>1000,51001=>1000,51002=>1000,51003=>1000,51004=>1000,51005=>1000,51006=>1000,51007=>1000,51008=>1000,51009=>1000,51010=>1000,51011=>1000,51012=>1000,51013=>1000,51014=>1000,51015=>1000,51016=>1000,51017=>1000,51018=>1000,51019=>1000,51020=>1000,51021=>1000,51022=>1000,51023=>1000,51024=>1000,51025=>1000,51026=>1000,51027=>1000,51028=>1000,51029=>1000,51030=>1000,51031=>1000,51032=>1000,51033=>1000,51034=>1000,51035=>1000,51036=>1000,51037=>1000,51038=>1000,51039=>1000,51040=>1000,51041=>1000,51042=>1000,51043=>1000,51044=>1000,51045=>1000,51046=>1000,51047=>1000,51048=>1000,51049=>1000,51050=>1000,51051=>1000,51052=>1000,51053=>1000,51054=>1000,51055=>1000,51056=>1000,51057=>1000,51058=>1000,51059=>1000,51060=>1000,51061=>1000,51062=>1000,51063=>1000,51064=>1000,51065=>1000,51066=>1000,51067=>1000,51068=>1000,51069=>1000,51070=>1000,51071=>1000,51072=>1000,51073=>1000,51074=>1000,51075=>1000,51076=>1000,51077=>1000,51078=>1000,51079=>1000,51080=>1000,51081=>1000,51082=>1000,51083=>1000,51084=>1000,51085=>1000,51086=>1000,51087=>1000,51088=>1000,51089=>1000,51090=>1000,51091=>1000,51092=>1000,51093=>1000,51094=>1000,51095=>1000,51096=>1000,51097=>1000,51098=>1000,51099=>1000,51100=>1000,51101=>1000,51102=>1000,51103=>1000,51104=>1000,51105=>1000,51106=>1000,51107=>1000,51108=>1000,51109=>1000,51110=>1000,51111=>1000,51112=>1000,51113=>1000,51114=>1000,51115=>1000,51116=>1000,51117=>1000,51118=>1000,51119=>1000,51120=>1000,51121=>1000,51122=>1000,51123=>1000,51124=>1000,51125=>1000,51126=>1000,51127=>1000,51128=>1000,51129=>1000,51130=>1000,51131=>1000,51132=>1000,51133=>1000,51134=>1000,51135=>1000,51136=>1000,51137=>1000,51138=>1000,51139=>1000,51140=>1000,51141=>1000,51142=>1000,51143=>1000,51144=>1000,51145=>1000,51146=>1000,51147=>1000,51148=>1000,51149=>1000,51150=>1000,51151=>1000,51152=>1000,51153=>1000,51154=>1000,51155=>1000,51156=>1000,51157=>1000,51158=>1000,51159=>1000,51160=>1000,51161=>1000,51162=>1000,51163=>1000,51164=>1000,51165=>1000,51166=>1000,51167=>1000,51168=>1000,51169=>1000,51170=>1000,51171=>1000,51172=>1000,51173=>1000,51174=>1000,51175=>1000,51176=>1000,51177=>1000,51178=>1000,51179=>1000,51180=>1000,51181=>1000,51182=>1000,51183=>1000,51184=>1000,51185=>1000,51186=>1000,51187=>1000,51188=>1000,51189=>1000,51190=>1000,51191=>1000,51192=>1000,51193=>1000,51194=>1000,51195=>1000,51196=>1000,51197=>1000,51198=>1000,51199=>1000,51200=>1000,51201=>1000,51202=>1000,51203=>1000,51204=>1000,51205=>1000,51206=>1000,51207=>1000,51208=>1000,51209=>1000,51210=>1000,51211=>1000,51212=>1000,51213=>1000,51214=>1000,51215=>1000,51216=>1000,51217=>1000,51218=>1000,51219=>1000,51220=>1000,51221=>1000,51222=>1000,51223=>1000,51224=>1000,51225=>1000,51226=>1000,51227=>1000,51228=>1000,51229=>1000,51230=>1000,51231=>1000,51232=>1000,51233=>1000,51234=>1000,51235=>1000,51236=>1000,51237=>1000,51238=>1000,51239=>1000,51240=>1000,51241=>1000,51242=>1000,51243=>1000,51244=>1000,51245=>1000,51246=>1000,51247=>1000,51248=>1000,51249=>1000,51250=>1000,51251=>1000,51252=>1000,51253=>1000,51254=>1000,51255=>1000,51256=>1000,51257=>1000,51258=>1000,51259=>1000,51260=>1000,51261=>1000,51262=>1000,51263=>1000,51264=>1000,51265=>1000,51266=>1000,51267=>1000,51268=>1000,51269=>1000,51270=>1000,51271=>1000,51272=>1000,51273=>1000,51274=>1000,51275=>1000,51276=>1000,51277=>1000,51278=>1000,51279=>1000,51280=>1000,51281=>1000,51282=>1000,51283=>1000,51284=>1000,51285=>1000,51286=>1000,51287=>1000,51288=>1000,51289=>1000,51290=>1000,51291=>1000,51292=>1000,51293=>1000,51294=>1000,51295=>1000,51296=>1000,51297=>1000,51298=>1000,51299=>1000,51300=>1000,51301=>1000,51302=>1000,51303=>1000,51304=>1000,51305=>1000,51306=>1000,51307=>1000,51308=>1000,51309=>1000,51310=>1000,51311=>1000,51312=>1000,51313=>1000,51314=>1000,51315=>1000,51316=>1000,51317=>1000,51318=>1000,51319=>1000,51320=>1000,51321=>1000,51322=>1000,51323=>1000,51324=>1000,51325=>1000,51326=>1000,51327=>1000,51328=>1000,51329=>1000,51330=>1000,51331=>1000,51332=>1000,51333=>1000,51334=>1000,51335=>1000,51336=>1000,51337=>1000,51338=>1000,51339=>1000,51340=>1000,51341=>1000,51342=>1000,51343=>1000,51344=>1000,51345=>1000,51346=>1000,51347=>1000,51348=>1000,51349=>1000,51350=>1000,51351=>1000,51352=>1000,51353=>1000,51354=>1000,51355=>1000,51356=>1000,51357=>1000,51358=>1000,51359=>1000,51360=>1000,51361=>1000,51362=>1000,51363=>1000,51364=>1000,51365=>1000,51366=>1000,51367=>1000,51368=>1000,51369=>1000,51370=>1000,51371=>1000,51372=>1000,51373=>1000,51374=>1000,51375=>1000,51376=>1000,51377=>1000,51378=>1000,51379=>1000,51380=>1000,51381=>1000,51382=>1000,51383=>1000,51384=>1000,51385=>1000,51386=>1000,51387=>1000,51388=>1000,51389=>1000,51390=>1000,51391=>1000,51392=>1000,51393=>1000,51394=>1000,51395=>1000,51396=>1000,51397=>1000,51398=>1000,51399=>1000,51400=>1000,51401=>1000,51402=>1000,51403=>1000,51404=>1000,51405=>1000,51406=>1000,51407=>1000,51408=>1000,51409=>1000,51410=>1000,51411=>1000,51412=>1000,51413=>1000,51414=>1000,51415=>1000,51416=>1000,51417=>1000,51418=>1000,51419=>1000,51420=>1000,51421=>1000,51422=>1000,51423=>1000,51424=>1000,51425=>1000,51426=>1000,51427=>1000,51428=>1000,51429=>1000,51430=>1000,51431=>1000,51432=>1000,51433=>1000,51434=>1000,51435=>1000,51436=>1000,51437=>1000,51438=>1000,51439=>1000,51440=>1000,51441=>1000,51442=>1000,51443=>1000,51444=>1000,51445=>1000,51446=>1000,51447=>1000,51448=>1000,51449=>1000,51450=>1000,51451=>1000,51452=>1000,51453=>1000,51454=>1000,51455=>1000,51456=>1000,51457=>1000,51458=>1000,51459=>1000,51460=>1000,51461=>1000,51462=>1000,51463=>1000,51464=>1000,51465=>1000,51466=>1000,51467=>1000,51468=>1000,51469=>1000,51470=>1000,51471=>1000,51472=>1000,51473=>1000,51474=>1000,51475=>1000,51476=>1000,51477=>1000,51478=>1000,51479=>1000,51480=>1000,51481=>1000,51482=>1000,51483=>1000,51484=>1000,51485=>1000,51486=>1000,51487=>1000,51488=>1000,51489=>1000,51490=>1000,51491=>1000,51492=>1000,51493=>1000,51494=>1000,51495=>1000,51496=>1000,51497=>1000,51498=>1000,51499=>1000,51500=>1000,51501=>1000,51502=>1000,51503=>1000,51504=>1000,51505=>1000,51506=>1000,51507=>1000,51508=>1000,51509=>1000,51510=>1000,51511=>1000,51512=>1000,51513=>1000,51514=>1000,51515=>1000,51516=>1000,51517=>1000,51518=>1000,51519=>1000,51520=>1000,51521=>1000,51522=>1000,51523=>1000,51524=>1000,51525=>1000,51526=>1000,51527=>1000,51528=>1000,51529=>1000,51530=>1000,51531=>1000,51532=>1000,51533=>1000,51534=>1000,51535=>1000,51536=>1000,51537=>1000,51538=>1000,51539=>1000,51540=>1000,51541=>1000,51542=>1000,51543=>1000,51544=>1000,51545=>1000,51546=>1000,51547=>1000,51548=>1000,51549=>1000,51550=>1000,51551=>1000,51552=>1000,51553=>1000,51554=>1000,51555=>1000,51556=>1000,51557=>1000,51558=>1000,51559=>1000,51560=>1000,51561=>1000,51562=>1000,51563=>1000,51564=>1000,51565=>1000,51566=>1000,51567=>1000,51568=>1000,51569=>1000,51570=>1000,51571=>1000,51572=>1000,51573=>1000,51574=>1000,51575=>1000,51576=>1000,51577=>1000,51578=>1000,51579=>1000,51580=>1000,51581=>1000,51582=>1000,51583=>1000,51584=>1000,51585=>1000,51586=>1000,51587=>1000,51588=>1000,51589=>1000,51590=>1000,51591=>1000,51592=>1000,51593=>1000,51594=>1000,51595=>1000,51596=>1000,51597=>1000,51598=>1000,51599=>1000,51600=>1000,51601=>1000,51602=>1000,51603=>1000,51604=>1000,51605=>1000,51606=>1000,51607=>1000,51608=>1000,51609=>1000,51610=>1000,51611=>1000,51612=>1000,51613=>1000,51614=>1000,51615=>1000,51616=>1000,51617=>1000,51618=>1000,51619=>1000,51620=>1000,51621=>1000,51622=>1000,51623=>1000,51624=>1000,51625=>1000,51626=>1000,51627=>1000,51628=>1000,51629=>1000,51630=>1000,51631=>1000,51632=>1000,51633=>1000,51634=>1000,51635=>1000,51636=>1000,51637=>1000,51638=>1000,51639=>1000,51640=>1000,51641=>1000,51642=>1000,51643=>1000,51644=>1000,51645=>1000,51646=>1000,51647=>1000,51648=>1000,51649=>1000,51650=>1000,51651=>1000,51652=>1000,51653=>1000,51654=>1000,51655=>1000,51656=>1000,51657=>1000,51658=>1000,51659=>1000,51660=>1000,51661=>1000,51662=>1000,51663=>1000,51664=>1000,51665=>1000,51666=>1000,51667=>1000,51668=>1000,51669=>1000,51670=>1000,51671=>1000,51672=>1000,51673=>1000,51674=>1000,51675=>1000,51676=>1000,51677=>1000,51678=>1000,51679=>1000,51680=>1000,51681=>1000,51682=>1000,51683=>1000,51684=>1000,51685=>1000,51686=>1000,51687=>1000,51688=>1000,51689=>1000,51690=>1000,51691=>1000,51692=>1000,51693=>1000,51694=>1000,51695=>1000,51696=>1000,51697=>1000,51698=>1000,51699=>1000,51700=>1000,51701=>1000,51702=>1000,51703=>1000,51704=>1000,51705=>1000,51706=>1000,51707=>1000,51708=>1000,51709=>1000,51710=>1000,51711=>1000,51712=>1000,51713=>1000,51714=>1000,51715=>1000,51716=>1000,51717=>1000,51718=>1000,51719=>1000,51720=>1000,51721=>1000,51722=>1000,51723=>1000,51724=>1000,51725=>1000,51726=>1000,51727=>1000,51728=>1000,51729=>1000,51730=>1000,51731=>1000,51732=>1000,51733=>1000,51734=>1000,51735=>1000,51736=>1000,51737=>1000,51738=>1000,51739=>1000,51740=>1000,51741=>1000,51742=>1000,51743=>1000,51744=>1000,51745=>1000,51746=>1000,51747=>1000,51748=>1000,51749=>1000,51750=>1000,51751=>1000,51752=>1000,51753=>1000,51754=>1000,51755=>1000,51756=>1000,51757=>1000,51758=>1000,51759=>1000,51760=>1000,51761=>1000,51762=>1000,51763=>1000,51764=>1000,51765=>1000,51766=>1000,51767=>1000,51768=>1000,51769=>1000,51770=>1000,51771=>1000,51772=>1000,51773=>1000,51774=>1000,51775=>1000,51776=>1000,51777=>1000,51778=>1000,51779=>1000,51780=>1000,51781=>1000,51782=>1000,51783=>1000,51784=>1000,51785=>1000,51786=>1000,51787=>1000,51788=>1000,51789=>1000,51790=>1000,51791=>1000,51792=>1000,51793=>1000,51794=>1000,51795=>1000,51796=>1000,51797=>1000,51798=>1000,51799=>1000,51800=>1000,51801=>1000,51802=>1000,51803=>1000,51804=>1000,51805=>1000,51806=>1000,51807=>1000,51808=>1000,51809=>1000,51810=>1000,51811=>1000,51812=>1000,51813=>1000,51814=>1000,51815=>1000,51816=>1000,51817=>1000,51818=>1000,51819=>1000,51820=>1000,51821=>1000,51822=>1000,51823=>1000,51824=>1000,51825=>1000,51826=>1000,51827=>1000,51828=>1000,51829=>1000,51830=>1000,51831=>1000,51832=>1000,51833=>1000,51834=>1000,51835=>1000,51836=>1000,51837=>1000,51838=>1000,51839=>1000,51840=>1000,51841=>1000,51842=>1000,51843=>1000,51844=>1000,51845=>1000,51846=>1000,51847=>1000,51848=>1000,51849=>1000,51850=>1000,51851=>1000,51852=>1000,51853=>1000,51854=>1000,51855=>1000,51856=>1000,51857=>1000,51858=>1000,51859=>1000,51860=>1000,51861=>1000,51862=>1000,51863=>1000,51864=>1000,51865=>1000,51866=>1000,51867=>1000,51868=>1000,51869=>1000,51870=>1000,51871=>1000,51872=>1000,51873=>1000,51874=>1000,51875=>1000,51876=>1000,51877=>1000,51878=>1000,51879=>1000,51880=>1000,51881=>1000,51882=>1000,51883=>1000,51884=>1000,51885=>1000,51886=>1000,51887=>1000,51888=>1000,51889=>1000,51890=>1000,51891=>1000,51892=>1000,51893=>1000,51894=>1000,51895=>1000,51896=>1000,51897=>1000,51898=>1000,51899=>1000,51900=>1000,51901=>1000,51902=>1000,51903=>1000,51904=>1000,51905=>1000,51906=>1000,51907=>1000,51908=>1000,51909=>1000,51910=>1000,51911=>1000,51912=>1000,51913=>1000,51914=>1000,51915=>1000,51916=>1000,51917=>1000,51918=>1000,51919=>1000,51920=>1000,51921=>1000,51922=>1000,51923=>1000,51924=>1000,51925=>1000,51926=>1000,51927=>1000,51928=>1000,51929=>1000,51930=>1000,51931=>1000,51932=>1000,51933=>1000,51934=>1000,51935=>1000,51936=>1000,51937=>1000,51938=>1000,51939=>1000,51940=>1000,51941=>1000,51942=>1000,51943=>1000,51944=>1000,51945=>1000,51946=>1000,51947=>1000,51948=>1000,51949=>1000,51950=>1000,51951=>1000,51952=>1000,51953=>1000,51954=>1000,51955=>1000,51956=>1000,51957=>1000,51958=>1000,51959=>1000,51960=>1000,51961=>1000,51962=>1000,51963=>1000,51964=>1000,51965=>1000,51966=>1000,51967=>1000,51968=>1000,51969=>1000,51970=>1000,51971=>1000,51972=>1000,51973=>1000,51974=>1000,51975=>1000,51976=>1000,51977=>1000,51978=>1000,51979=>1000,51980=>1000,51981=>1000,51982=>1000,51983=>1000,51984=>1000,51985=>1000,51986=>1000,51987=>1000,51988=>1000,51989=>1000,51990=>1000,51991=>1000,51992=>1000,51993=>1000,51994=>1000,51995=>1000,51996=>1000,51997=>1000,51998=>1000,51999=>1000,52000=>1000,52001=>1000,52002=>1000,52003=>1000,52004=>1000,52005=>1000,52006=>1000,52007=>1000,52008=>1000,52009=>1000,52010=>1000,52011=>1000,52012=>1000,52013=>1000,52014=>1000,52015=>1000,52016=>1000,52017=>1000,52018=>1000,52019=>1000,52020=>1000,52021=>1000,52022=>1000,52023=>1000,52024=>1000,52025=>1000,52026=>1000,52027=>1000,52028=>1000,52029=>1000,52030=>1000,52031=>1000,52032=>1000,52033=>1000,52034=>1000,52035=>1000,52036=>1000,52037=>1000,52038=>1000,52039=>1000,52040=>1000,52041=>1000,52042=>1000,52043=>1000,52044=>1000,52045=>1000,52046=>1000,52047=>1000,52048=>1000,52049=>1000,52050=>1000,52051=>1000,52052=>1000,52053=>1000,52054=>1000,52055=>1000,52056=>1000,52057=>1000,52058=>1000,52059=>1000,52060=>1000,52061=>1000,52062=>1000,52063=>1000,52064=>1000,52065=>1000,52066=>1000,52067=>1000,52068=>1000,52069=>1000,52070=>1000,52071=>1000,52072=>1000,52073=>1000,52074=>1000,52075=>1000,52076=>1000,52077=>1000,52078=>1000,52079=>1000,52080=>1000,52081=>1000,52082=>1000,52083=>1000,52084=>1000,52085=>1000,52086=>1000,52087=>1000,52088=>1000,52089=>1000,52090=>1000,52091=>1000,52092=>1000,52093=>1000,52094=>1000,52095=>1000,52096=>1000,52097=>1000,52098=>1000,52099=>1000,52100=>1000,52101=>1000,52102=>1000,52103=>1000,52104=>1000,52105=>1000,52106=>1000,52107=>1000,52108=>1000,52109=>1000,52110=>1000,52111=>1000,52112=>1000,52113=>1000,52114=>1000,52115=>1000,52116=>1000,52117=>1000,52118=>1000,52119=>1000,52120=>1000,52121=>1000,52122=>1000,52123=>1000,52124=>1000,52125=>1000,52126=>1000,52127=>1000,52128=>1000,52129=>1000,52130=>1000,52131=>1000,52132=>1000,52133=>1000,52134=>1000,52135=>1000,52136=>1000,52137=>1000,52138=>1000,52139=>1000,52140=>1000,52141=>1000,52142=>1000,52143=>1000,52144=>1000,52145=>1000,52146=>1000,52147=>1000,52148=>1000,52149=>1000,52150=>1000,52151=>1000,52152=>1000,52153=>1000,52154=>1000,52155=>1000,52156=>1000,52157=>1000,52158=>1000,52159=>1000,52160=>1000,52161=>1000,52162=>1000,52163=>1000,52164=>1000,52165=>1000,52166=>1000,52167=>1000,52168=>1000,52169=>1000,52170=>1000,52171=>1000,52172=>1000,52173=>1000,52174=>1000,52175=>1000,52176=>1000,52177=>1000,52178=>1000,52179=>1000,52180=>1000,52181=>1000,52182=>1000,52183=>1000,52184=>1000,52185=>1000,52186=>1000,52187=>1000,52188=>1000,52189=>1000,52190=>1000,52191=>1000,52192=>1000,52193=>1000,52194=>1000,52195=>1000,52196=>1000,52197=>1000,52198=>1000,52199=>1000,52200=>1000,52201=>1000,52202=>1000,52203=>1000,52204=>1000,52205=>1000,52206=>1000,52207=>1000,52208=>1000,52209=>1000,52210=>1000,52211=>1000,52212=>1000,52213=>1000,52214=>1000,52215=>1000,52216=>1000,52217=>1000,52218=>1000,52219=>1000,52220=>1000,52221=>1000,52222=>1000,52223=>1000,52224=>1000,52225=>1000,52226=>1000,52227=>1000,52228=>1000,52229=>1000,52230=>1000,52231=>1000,52232=>1000,52233=>1000,52234=>1000,52235=>1000,52236=>1000,52237=>1000,52238=>1000,52239=>1000,52240=>1000,52241=>1000,52242=>1000,52243=>1000,52244=>1000,52245=>1000,52246=>1000,52247=>1000,52248=>1000,52249=>1000,52250=>1000,52251=>1000,52252=>1000,52253=>1000,52254=>1000,52255=>1000,52256=>1000,52257=>1000,52258=>1000,52259=>1000,52260=>1000,52261=>1000,52262=>1000,52263=>1000,52264=>1000,52265=>1000,52266=>1000,52267=>1000,52268=>1000,52269=>1000,52270=>1000,52271=>1000,52272=>1000,52273=>1000,52274=>1000,52275=>1000,52276=>1000,52277=>1000,52278=>1000,52279=>1000,52280=>1000,52281=>1000,52282=>1000,52283=>1000,52284=>1000,52285=>1000,52286=>1000,52287=>1000,52288=>1000,52289=>1000,52290=>1000,52291=>1000,52292=>1000,52293=>1000,52294=>1000,52295=>1000,52296=>1000,52297=>1000,52298=>1000,52299=>1000,52300=>1000,52301=>1000,52302=>1000,52303=>1000,52304=>1000,52305=>1000,52306=>1000,52307=>1000,52308=>1000,52309=>1000,52310=>1000,52311=>1000,52312=>1000,52313=>1000,52314=>1000,52315=>1000,52316=>1000,52317=>1000,52318=>1000,52319=>1000,52320=>1000,52321=>1000,52322=>1000,52323=>1000,52324=>1000,52325=>1000,52326=>1000,52327=>1000,52328=>1000,52329=>1000,52330=>1000,52331=>1000,52332=>1000,52333=>1000,52334=>1000,52335=>1000,52336=>1000,52337=>1000,52338=>1000,52339=>1000,52340=>1000,52341=>1000,52342=>1000,52343=>1000,52344=>1000,52345=>1000,52346=>1000,52347=>1000,52348=>1000,52349=>1000,52350=>1000,52351=>1000,52352=>1000,52353=>1000,52354=>1000,52355=>1000,52356=>1000,52357=>1000,52358=>1000,52359=>1000,52360=>1000,52361=>1000,52362=>1000,52363=>1000,52364=>1000,52365=>1000,52366=>1000,52367=>1000,52368=>1000,52369=>1000,52370=>1000,52371=>1000,52372=>1000,52373=>1000,52374=>1000,52375=>1000,52376=>1000,52377=>1000,52378=>1000,52379=>1000,52380=>1000,52381=>1000,52382=>1000,52383=>1000,52384=>1000,52385=>1000,52386=>1000,52387=>1000,52388=>1000,52389=>1000,52390=>1000,52391=>1000,52392=>1000,52393=>1000,52394=>1000,52395=>1000,52396=>1000,52397=>1000,52398=>1000,52399=>1000,52400=>1000,52401=>1000,52402=>1000,52403=>1000,52404=>1000,52405=>1000,52406=>1000,52407=>1000,52408=>1000,52409=>1000,52410=>1000,52411=>1000,52412=>1000,52413=>1000,52414=>1000,52415=>1000,52416=>1000,52417=>1000,52418=>1000,52419=>1000,52420=>1000,52421=>1000,52422=>1000,52423=>1000,52424=>1000,52425=>1000,52426=>1000,52427=>1000,52428=>1000,52429=>1000,52430=>1000,52431=>1000,52432=>1000,52433=>1000,52434=>1000,52435=>1000,52436=>1000,52437=>1000,52438=>1000,52439=>1000,52440=>1000,52441=>1000,52442=>1000,52443=>1000,52444=>1000,52445=>1000,52446=>1000,52447=>1000,52448=>1000,52449=>1000,52450=>1000,52451=>1000,52452=>1000,52453=>1000,52454=>1000,52455=>1000,52456=>1000,52457=>1000,52458=>1000,52459=>1000,52460=>1000,52461=>1000,52462=>1000,52463=>1000,52464=>1000,52465=>1000,52466=>1000,52467=>1000,52468=>1000,52469=>1000,52470=>1000,52471=>1000,52472=>1000,52473=>1000,52474=>1000,52475=>1000,52476=>1000,52477=>1000,52478=>1000,52479=>1000,52480=>1000,52481=>1000,52482=>1000,52483=>1000,52484=>1000,52485=>1000,52486=>1000,52487=>1000,52488=>1000,52489=>1000,52490=>1000,52491=>1000,52492=>1000,52493=>1000,52494=>1000,52495=>1000,52496=>1000,52497=>1000,52498=>1000,52499=>1000,52500=>1000,52501=>1000,52502=>1000,52503=>1000,52504=>1000,52505=>1000,52506=>1000,52507=>1000,52508=>1000,52509=>1000,52510=>1000,52511=>1000,52512=>1000,52513=>1000,52514=>1000,52515=>1000,52516=>1000,52517=>1000,52518=>1000,52519=>1000,52520=>1000,52521=>1000,52522=>1000,52523=>1000,52524=>1000,52525=>1000,52526=>1000,52527=>1000,52528=>1000,52529=>1000,52530=>1000,52531=>1000,52532=>1000,52533=>1000,52534=>1000,52535=>1000,52536=>1000,52537=>1000,52538=>1000,52539=>1000,52540=>1000,52541=>1000,52542=>1000,52543=>1000,52544=>1000,52545=>1000,52546=>1000,52547=>1000,52548=>1000,52549=>1000,52550=>1000,52551=>1000,52552=>1000,52553=>1000,52554=>1000,52555=>1000,52556=>1000,52557=>1000,52558=>1000,52559=>1000,52560=>1000,52561=>1000,52562=>1000,52563=>1000,52564=>1000,52565=>1000,52566=>1000,52567=>1000,52568=>1000,52569=>1000,52570=>1000,52571=>1000,52572=>1000,52573=>1000,52574=>1000,52575=>1000,52576=>1000,52577=>1000,52578=>1000,52579=>1000,52580=>1000,52581=>1000,52582=>1000,52583=>1000,52584=>1000,52585=>1000,52586=>1000,52587=>1000,52588=>1000,52589=>1000,52590=>1000,52591=>1000,52592=>1000,52593=>1000,52594=>1000,52595=>1000,52596=>1000,52597=>1000,52598=>1000,52599=>1000,52600=>1000,52601=>1000,52602=>1000,52603=>1000,52604=>1000,52605=>1000,52606=>1000,52607=>1000,52608=>1000,52609=>1000,52610=>1000,52611=>1000,52612=>1000,52613=>1000,52614=>1000,52615=>1000,52616=>1000,52617=>1000,52618=>1000,52619=>1000,52620=>1000,52621=>1000,52622=>1000,52623=>1000,52624=>1000,52625=>1000,52626=>1000,52627=>1000,52628=>1000,52629=>1000,52630=>1000,52631=>1000,52632=>1000,52633=>1000,52634=>1000,52635=>1000,52636=>1000,52637=>1000,52638=>1000,52639=>1000,52640=>1000,52641=>1000,52642=>1000,52643=>1000,52644=>1000,52645=>1000,52646=>1000,52647=>1000,52648=>1000,52649=>1000,52650=>1000,52651=>1000,52652=>1000,52653=>1000,52654=>1000,52655=>1000,52656=>1000,52657=>1000,52658=>1000,52659=>1000,52660=>1000,52661=>1000,52662=>1000,52663=>1000,52664=>1000,52665=>1000,52666=>1000,52667=>1000,52668=>1000,52669=>1000,52670=>1000,52671=>1000,52672=>1000,52673=>1000,52674=>1000,52675=>1000,52676=>1000,52677=>1000,52678=>1000,52679=>1000,52680=>1000,52681=>1000,52682=>1000,52683=>1000,52684=>1000,52685=>1000,52686=>1000,52687=>1000,52688=>1000,52689=>1000,52690=>1000,52691=>1000,52692=>1000,52693=>1000,52694=>1000,52695=>1000,52696=>1000,52697=>1000,52698=>1000,52699=>1000,52700=>1000,52701=>1000,52702=>1000,52703=>1000,52704=>1000,52705=>1000,52706=>1000,52707=>1000,52708=>1000,52709=>1000,52710=>1000,52711=>1000,52712=>1000,52713=>1000,52714=>1000,52715=>1000,52716=>1000,52717=>1000,52718=>1000,52719=>1000,52720=>1000,52721=>1000,52722=>1000,52723=>1000,52724=>1000,52725=>1000,52726=>1000,52727=>1000,52728=>1000,52729=>1000,52730=>1000,52731=>1000,52732=>1000,52733=>1000,52734=>1000,52735=>1000,52736=>1000,52737=>1000,52738=>1000,52739=>1000,52740=>1000,52741=>1000,52742=>1000,52743=>1000,52744=>1000,52745=>1000,52746=>1000,52747=>1000,52748=>1000,52749=>1000,52750=>1000,52751=>1000,52752=>1000,52753=>1000,52754=>1000,52755=>1000,52756=>1000,52757=>1000,52758=>1000,52759=>1000,52760=>1000,52761=>1000,52762=>1000,52763=>1000,52764=>1000,52765=>1000,52766=>1000,52767=>1000,52768=>1000,52769=>1000,52770=>1000,52771=>1000,52772=>1000,52773=>1000,52774=>1000,52775=>1000,52776=>1000,52777=>1000,52778=>1000,52779=>1000,52780=>1000,52781=>1000,52782=>1000,52783=>1000,52784=>1000,52785=>1000,52786=>1000,52787=>1000,52788=>1000,52789=>1000,52790=>1000,52791=>1000,52792=>1000,52793=>1000,52794=>1000,52795=>1000,52796=>1000,52797=>1000,52798=>1000,52799=>1000,52800=>1000,52801=>1000,52802=>1000,52803=>1000,52804=>1000,52805=>1000,52806=>1000,52807=>1000,52808=>1000,52809=>1000,52810=>1000,52811=>1000,52812=>1000,52813=>1000,52814=>1000,52815=>1000,52816=>1000,52817=>1000,52818=>1000,52819=>1000,52820=>1000,52821=>1000,52822=>1000,52823=>1000,52824=>1000,52825=>1000,52826=>1000,52827=>1000,52828=>1000,52829=>1000,52830=>1000,52831=>1000,52832=>1000,52833=>1000,52834=>1000,52835=>1000,52836=>1000,52837=>1000,52838=>1000,52839=>1000,52840=>1000,52841=>1000,52842=>1000,52843=>1000,52844=>1000,52845=>1000,52846=>1000,52847=>1000,52848=>1000,52849=>1000,52850=>1000,52851=>1000,52852=>1000,52853=>1000,52854=>1000,52855=>1000,52856=>1000,52857=>1000,52858=>1000,52859=>1000,52860=>1000,52861=>1000,52862=>1000,52863=>1000,52864=>1000,52865=>1000,52866=>1000,52867=>1000,52868=>1000,52869=>1000,52870=>1000,52871=>1000,52872=>1000,52873=>1000,52874=>1000,52875=>1000,52876=>1000,52877=>1000,52878=>1000,52879=>1000,52880=>1000,52881=>1000,52882=>1000,52883=>1000,52884=>1000,52885=>1000,52886=>1000,52887=>1000,52888=>1000,52889=>1000,52890=>1000,52891=>1000,52892=>1000,52893=>1000,52894=>1000,52895=>1000,52896=>1000,52897=>1000,52898=>1000,52899=>1000,52900=>1000,52901=>1000,52902=>1000,52903=>1000,52904=>1000,52905=>1000,52906=>1000,52907=>1000,52908=>1000,52909=>1000,52910=>1000,52911=>1000,52912=>1000,52913=>1000,52914=>1000,52915=>1000,52916=>1000,52917=>1000,52918=>1000,52919=>1000,52920=>1000,52921=>1000,52922=>1000,52923=>1000,52924=>1000,52925=>1000,52926=>1000,52927=>1000,52928=>1000,52929=>1000,52930=>1000,52931=>1000,52932=>1000,52933=>1000,52934=>1000,52935=>1000,52936=>1000,52937=>1000,52938=>1000,52939=>1000,52940=>1000,52941=>1000,52942=>1000,52943=>1000,52944=>1000,52945=>1000,52946=>1000,52947=>1000,52948=>1000,52949=>1000,52950=>1000,52951=>1000,52952=>1000,52953=>1000,52954=>1000,52955=>1000,52956=>1000,52957=>1000,52958=>1000,52959=>1000,52960=>1000,52961=>1000,52962=>1000,52963=>1000,52964=>1000,52965=>1000,52966=>1000,52967=>1000,52968=>1000,52969=>1000,52970=>1000,52971=>1000,52972=>1000,52973=>1000,52974=>1000,52975=>1000,52976=>1000,52977=>1000,52978=>1000,52979=>1000,52980=>1000,52981=>1000,52982=>1000,52983=>1000,52984=>1000,52985=>1000,52986=>1000,52987=>1000,52988=>1000,52989=>1000,52990=>1000,52991=>1000,52992=>1000,52993=>1000,52994=>1000,52995=>1000,52996=>1000,52997=>1000,52998=>1000,52999=>1000,53000=>1000,53001=>1000,53002=>1000,53003=>1000,53004=>1000,53005=>1000,53006=>1000,53007=>1000,53008=>1000,53009=>1000,53010=>1000,53011=>1000,53012=>1000,53013=>1000,53014=>1000,53015=>1000,53016=>1000,53017=>1000,53018=>1000,53019=>1000,53020=>1000,53021=>1000,53022=>1000,53023=>1000,53024=>1000,53025=>1000,53026=>1000,53027=>1000,53028=>1000,53029=>1000,53030=>1000,53031=>1000,53032=>1000,53033=>1000,53034=>1000,53035=>1000,53036=>1000,53037=>1000,53038=>1000,53039=>1000,53040=>1000,53041=>1000,53042=>1000,53043=>1000,53044=>1000,53045=>1000,53046=>1000,53047=>1000,53048=>1000,53049=>1000,53050=>1000,53051=>1000,53052=>1000,53053=>1000,53054=>1000,53055=>1000,53056=>1000,53057=>1000,53058=>1000,53059=>1000,53060=>1000,53061=>1000,53062=>1000,53063=>1000,53064=>1000,53065=>1000,53066=>1000,53067=>1000,53068=>1000,53069=>1000,53070=>1000,53071=>1000,53072=>1000,53073=>1000,53074=>1000,53075=>1000,53076=>1000,53077=>1000,53078=>1000,53079=>1000,53080=>1000,53081=>1000,53082=>1000,53083=>1000,53084=>1000,53085=>1000,53086=>1000,53087=>1000,53088=>1000,53089=>1000,53090=>1000,53091=>1000,53092=>1000,53093=>1000,53094=>1000,53095=>1000,53096=>1000,53097=>1000,53098=>1000,53099=>1000,53100=>1000,53101=>1000,53102=>1000,53103=>1000,53104=>1000,53105=>1000,53106=>1000,53107=>1000,53108=>1000,53109=>1000,53110=>1000,53111=>1000,53112=>1000,53113=>1000,53114=>1000,53115=>1000,53116=>1000,53117=>1000,53118=>1000,53119=>1000,53120=>1000,53121=>1000,53122=>1000,53123=>1000,53124=>1000,53125=>1000,53126=>1000,53127=>1000,53128=>1000,53129=>1000,53130=>1000,53131=>1000,53132=>1000,53133=>1000,53134=>1000,53135=>1000,53136=>1000,53137=>1000,53138=>1000,53139=>1000,53140=>1000,53141=>1000,53142=>1000,53143=>1000,53144=>1000,53145=>1000,53146=>1000,53147=>1000,53148=>1000,53149=>1000,53150=>1000,53151=>1000,53152=>1000,53153=>1000,53154=>1000,53155=>1000,53156=>1000,53157=>1000,53158=>1000,53159=>1000,53160=>1000,53161=>1000,53162=>1000,53163=>1000,53164=>1000,53165=>1000,53166=>1000,53167=>1000,53168=>1000,53169=>1000,53170=>1000,53171=>1000,53172=>1000,53173=>1000,53174=>1000,53175=>1000,53176=>1000,53177=>1000,53178=>1000,53179=>1000,53180=>1000,53181=>1000,53182=>1000,53183=>1000,53184=>1000,53185=>1000,53186=>1000,53187=>1000,53188=>1000,53189=>1000,53190=>1000,53191=>1000,53192=>1000,53193=>1000,53194=>1000,53195=>1000,53196=>1000,53197=>1000,53198=>1000,53199=>1000,53200=>1000,53201=>1000,53202=>1000,53203=>1000,53204=>1000,53205=>1000,53206=>1000,53207=>1000,53208=>1000,53209=>1000,53210=>1000,53211=>1000,53212=>1000,53213=>1000,53214=>1000,53215=>1000,53216=>1000,53217=>1000,53218=>1000,53219=>1000,53220=>1000,53221=>1000,53222=>1000,53223=>1000,53224=>1000,53225=>1000,53226=>1000,53227=>1000,53228=>1000,53229=>1000,53230=>1000,53231=>1000,53232=>1000,53233=>1000,53234=>1000,53235=>1000,53236=>1000,53237=>1000,53238=>1000,53239=>1000,53240=>1000,53241=>1000,53242=>1000,53243=>1000,53244=>1000,53245=>1000,53246=>1000,53247=>1000,53248=>1000,53249=>1000,53250=>1000,53251=>1000,53252=>1000,53253=>1000,53254=>1000,53255=>1000,53256=>1000,53257=>1000,53258=>1000,53259=>1000,53260=>1000,53261=>1000,53262=>1000,53263=>1000,53264=>1000,53265=>1000,53266=>1000,53267=>1000,53268=>1000,53269=>1000,53270=>1000,53271=>1000,53272=>1000,53273=>1000,53274=>1000,53275=>1000,53276=>1000,53277=>1000,53278=>1000,53279=>1000,53280=>1000,53281=>1000,53282=>1000,53283=>1000,53284=>1000,53285=>1000,53286=>1000,53287=>1000,53288=>1000,53289=>1000,53290=>1000,53291=>1000,53292=>1000,53293=>1000,53294=>1000,53295=>1000,53296=>1000,53297=>1000,53298=>1000,53299=>1000,53300=>1000,53301=>1000,53302=>1000,53303=>1000,53304=>1000,53305=>1000,53306=>1000,53307=>1000,53308=>1000,53309=>1000,53310=>1000,53311=>1000,53312=>1000,53313=>1000,53314=>1000,53315=>1000,53316=>1000,53317=>1000,53318=>1000,53319=>1000,53320=>1000,53321=>1000,53322=>1000,53323=>1000,53324=>1000,53325=>1000,53326=>1000,53327=>1000,53328=>1000,53329=>1000,53330=>1000,53331=>1000,53332=>1000,53333=>1000,53334=>1000,53335=>1000,53336=>1000,53337=>1000,53338=>1000,53339=>1000,53340=>1000,53341=>1000,53342=>1000,53343=>1000,53344=>1000,53345=>1000,53346=>1000,53347=>1000,53348=>1000,53349=>1000,53350=>1000,53351=>1000,53352=>1000,53353=>1000,53354=>1000,53355=>1000,53356=>1000,53357=>1000,53358=>1000,53359=>1000,53360=>1000,53361=>1000,53362=>1000,53363=>1000,53364=>1000,53365=>1000,53366=>1000,53367=>1000,53368=>1000,53369=>1000,53370=>1000,53371=>1000,53372=>1000,53373=>1000,53374=>1000,53375=>1000,53376=>1000,53377=>1000,53378=>1000,53379=>1000,53380=>1000,53381=>1000,53382=>1000,53383=>1000,53384=>1000,53385=>1000,53386=>1000,53387=>1000,53388=>1000,53389=>1000,53390=>1000,53391=>1000,53392=>1000,53393=>1000,53394=>1000,53395=>1000,53396=>1000,53397=>1000,53398=>1000,53399=>1000,53400=>1000,53401=>1000,53402=>1000,53403=>1000,53404=>1000,53405=>1000,53406=>1000,53407=>1000,53408=>1000,53409=>1000,53410=>1000,53411=>1000,53412=>1000,53413=>1000,53414=>1000,53415=>1000,53416=>1000,53417=>1000,53418=>1000,53419=>1000,53420=>1000,53421=>1000,53422=>1000,53423=>1000,53424=>1000,53425=>1000,53426=>1000,53427=>1000,53428=>1000,53429=>1000,53430=>1000,53431=>1000,53432=>1000,53433=>1000,53434=>1000,53435=>1000,53436=>1000,53437=>1000,53438=>1000,53439=>1000,53440=>1000,53441=>1000,53442=>1000,53443=>1000,53444=>1000,53445=>1000,53446=>1000,53447=>1000,53448=>1000,53449=>1000,53450=>1000,53451=>1000,53452=>1000,53453=>1000,53454=>1000,53455=>1000,53456=>1000,53457=>1000,53458=>1000,53459=>1000,53460=>1000,53461=>1000,53462=>1000,53463=>1000,53464=>1000,53465=>1000,53466=>1000,53467=>1000,53468=>1000,53469=>1000,53470=>1000,53471=>1000,53472=>1000,53473=>1000,53474=>1000,53475=>1000,53476=>1000,53477=>1000,53478=>1000,53479=>1000,53480=>1000,53481=>1000,53482=>1000,53483=>1000,53484=>1000,53485=>1000,53486=>1000,53487=>1000,53488=>1000,53489=>1000,53490=>1000,53491=>1000,53492=>1000,53493=>1000,53494=>1000,53495=>1000,53496=>1000,53497=>1000,53498=>1000,53499=>1000,53500=>1000,53501=>1000,53502=>1000,53503=>1000,53504=>1000,53505=>1000,53506=>1000,53507=>1000,53508=>1000,53509=>1000,53510=>1000,53511=>1000,53512=>1000,53513=>1000,53514=>1000,53515=>1000,53516=>1000,53517=>1000,53518=>1000,53519=>1000,53520=>1000,53521=>1000,53522=>1000,53523=>1000,53524=>1000,53525=>1000,53526=>1000,53527=>1000,53528=>1000,53529=>1000,53530=>1000,53531=>1000,53532=>1000,53533=>1000,53534=>1000,53535=>1000,53536=>1000,53537=>1000,53538=>1000,53539=>1000,53540=>1000,53541=>1000,53542=>1000,53543=>1000,53544=>1000,53545=>1000,53546=>1000,53547=>1000,53548=>1000,53549=>1000,53550=>1000,53551=>1000,53552=>1000,53553=>1000,53554=>1000,53555=>1000,53556=>1000,53557=>1000,53558=>1000,53559=>1000,53560=>1000,53561=>1000,53562=>1000,53563=>1000,53564=>1000,53565=>1000,53566=>1000,53567=>1000,53568=>1000,53569=>1000,53570=>1000,53571=>1000,53572=>1000,53573=>1000,53574=>1000,53575=>1000,53576=>1000,53577=>1000,53578=>1000,53579=>1000,53580=>1000,53581=>1000,53582=>1000,53583=>1000,53584=>1000,53585=>1000,53586=>1000,53587=>1000,53588=>1000,53589=>1000,53590=>1000,53591=>1000,53592=>1000,53593=>1000,53594=>1000,53595=>1000,53596=>1000,53597=>1000,53598=>1000,53599=>1000,53600=>1000,53601=>1000,53602=>1000,53603=>1000,53604=>1000,53605=>1000,53606=>1000,53607=>1000,53608=>1000,53609=>1000,53610=>1000,53611=>1000,53612=>1000,53613=>1000,53614=>1000,53615=>1000,53616=>1000,53617=>1000,53618=>1000,53619=>1000,53620=>1000,53621=>1000,53622=>1000,53623=>1000,53624=>1000,53625=>1000,53626=>1000,53627=>1000,53628=>1000,53629=>1000,53630=>1000,53631=>1000,53632=>1000,53633=>1000,53634=>1000,53635=>1000,53636=>1000,53637=>1000,53638=>1000,53639=>1000,53640=>1000,53641=>1000,53642=>1000,53643=>1000,53644=>1000,53645=>1000,53646=>1000,53647=>1000,53648=>1000,53649=>1000,53650=>1000,53651=>1000,53652=>1000,53653=>1000,53654=>1000,53655=>1000,53656=>1000,53657=>1000,53658=>1000,53659=>1000,53660=>1000,53661=>1000,53662=>1000,53663=>1000,53664=>1000,53665=>1000,53666=>1000,53667=>1000,53668=>1000,53669=>1000,53670=>1000,53671=>1000,53672=>1000,53673=>1000,53674=>1000,53675=>1000,53676=>1000,53677=>1000,53678=>1000,53679=>1000,53680=>1000,53681=>1000,53682=>1000,53683=>1000,53684=>1000,53685=>1000,53686=>1000,53687=>1000,53688=>1000,53689=>1000,53690=>1000,53691=>1000,53692=>1000,53693=>1000,53694=>1000,53695=>1000,53696=>1000,53697=>1000,53698=>1000,53699=>1000,53700=>1000,53701=>1000,53702=>1000,53703=>1000,53704=>1000,53705=>1000,53706=>1000,53707=>1000,53708=>1000,53709=>1000,53710=>1000,53711=>1000,53712=>1000,53713=>1000,53714=>1000,53715=>1000,53716=>1000,53717=>1000,53718=>1000,53719=>1000,53720=>1000,53721=>1000,53722=>1000,53723=>1000,53724=>1000,53725=>1000,53726=>1000,53727=>1000,53728=>1000,53729=>1000,53730=>1000,53731=>1000,53732=>1000,53733=>1000,53734=>1000,53735=>1000,53736=>1000,53737=>1000,53738=>1000,53739=>1000,53740=>1000,53741=>1000,53742=>1000,53743=>1000,53744=>1000,53745=>1000,53746=>1000,53747=>1000,53748=>1000,53749=>1000,53750=>1000,53751=>1000,53752=>1000,53753=>1000,53754=>1000,53755=>1000,53756=>1000,53757=>1000,53758=>1000,53759=>1000,53760=>1000,53761=>1000,53762=>1000,53763=>1000,53764=>1000,53765=>1000,53766=>1000,53767=>1000,53768=>1000,53769=>1000,53770=>1000,53771=>1000,53772=>1000,53773=>1000,53774=>1000,53775=>1000,53776=>1000,53777=>1000,53778=>1000,53779=>1000,53780=>1000,53781=>1000,53782=>1000,53783=>1000,53784=>1000,53785=>1000,53786=>1000,53787=>1000,53788=>1000,53789=>1000,53790=>1000,53791=>1000,53792=>1000,53793=>1000,53794=>1000,53795=>1000,53796=>1000,53797=>1000,53798=>1000,53799=>1000,53800=>1000,53801=>1000,53802=>1000,53803=>1000,53804=>1000,53805=>1000,53806=>1000,53807=>1000,53808=>1000,53809=>1000,53810=>1000,53811=>1000,53812=>1000,53813=>1000,53814=>1000,53815=>1000,53816=>1000,53817=>1000,53818=>1000,53819=>1000,53820=>1000,53821=>1000,53822=>1000,53823=>1000,53824=>1000,53825=>1000,53826=>1000,53827=>1000,53828=>1000,53829=>1000,53830=>1000,53831=>1000,53832=>1000,53833=>1000,53834=>1000,53835=>1000,53836=>1000,53837=>1000,53838=>1000,53839=>1000,53840=>1000,53841=>1000,53842=>1000,53843=>1000,53844=>1000,53845=>1000,53846=>1000,53847=>1000,53848=>1000,53849=>1000,53850=>1000,53851=>1000,53852=>1000,53853=>1000,53854=>1000,53855=>1000,53856=>1000,53857=>1000,53858=>1000,53859=>1000,53860=>1000,53861=>1000,53862=>1000,53863=>1000,53864=>1000,53865=>1000,53866=>1000,53867=>1000,53868=>1000,53869=>1000,53870=>1000,53871=>1000,53872=>1000,53873=>1000,53874=>1000,53875=>1000,53876=>1000,53877=>1000,53878=>1000,53879=>1000,53880=>1000,53881=>1000,53882=>1000,53883=>1000,53884=>1000,53885=>1000,53886=>1000,53887=>1000,53888=>1000,53889=>1000,53890=>1000,53891=>1000,53892=>1000,53893=>1000,53894=>1000,53895=>1000,53896=>1000,53897=>1000,53898=>1000,53899=>1000,53900=>1000,53901=>1000,53902=>1000,53903=>1000,53904=>1000,53905=>1000,53906=>1000,53907=>1000,53908=>1000,53909=>1000,53910=>1000,53911=>1000,53912=>1000,53913=>1000,53914=>1000,53915=>1000,53916=>1000,53917=>1000,53918=>1000,53919=>1000,53920=>1000,53921=>1000,53922=>1000,53923=>1000,53924=>1000,53925=>1000,53926=>1000,53927=>1000,53928=>1000,53929=>1000,53930=>1000,53931=>1000,53932=>1000,53933=>1000,53934=>1000,53935=>1000,53936=>1000,53937=>1000,53938=>1000,53939=>1000,53940=>1000,53941=>1000,53942=>1000,53943=>1000,53944=>1000,53945=>1000,53946=>1000,53947=>1000,53948=>1000,53949=>1000,53950=>1000,53951=>1000,53952=>1000,53953=>1000,53954=>1000,53955=>1000,53956=>1000,53957=>1000,53958=>1000,53959=>1000,53960=>1000,53961=>1000,53962=>1000,53963=>1000,53964=>1000,53965=>1000,53966=>1000,53967=>1000,53968=>1000,53969=>1000,53970=>1000,53971=>1000,53972=>1000,53973=>1000,53974=>1000,53975=>1000,53976=>1000,53977=>1000,53978=>1000,53979=>1000,53980=>1000,53981=>1000,53982=>1000,53983=>1000,53984=>1000,53985=>1000,53986=>1000,53987=>1000,53988=>1000,53989=>1000,53990=>1000,53991=>1000,53992=>1000,53993=>1000,53994=>1000,53995=>1000,53996=>1000,53997=>1000,53998=>1000,53999=>1000,54000=>1000,54001=>1000,54002=>1000,54003=>1000,54004=>1000,54005=>1000,54006=>1000,54007=>1000,54008=>1000,54009=>1000,54010=>1000,54011=>1000,54012=>1000,54013=>1000,54014=>1000,54015=>1000,54016=>1000,54017=>1000,54018=>1000,54019=>1000,54020=>1000,54021=>1000,54022=>1000,54023=>1000,54024=>1000,54025=>1000,54026=>1000,54027=>1000,54028=>1000,54029=>1000,54030=>1000,54031=>1000,54032=>1000,54033=>1000,54034=>1000,54035=>1000,54036=>1000,54037=>1000,54038=>1000,54039=>1000,54040=>1000,54041=>1000,54042=>1000,54043=>1000,54044=>1000,54045=>1000,54046=>1000,54047=>1000,54048=>1000,54049=>1000,54050=>1000,54051=>1000,54052=>1000,54053=>1000,54054=>1000,54055=>1000,54056=>1000,54057=>1000,54058=>1000,54059=>1000,54060=>1000,54061=>1000,54062=>1000,54063=>1000,54064=>1000,54065=>1000,54066=>1000,54067=>1000,54068=>1000,54069=>1000,54070=>1000,54071=>1000,54072=>1000,54073=>1000,54074=>1000,54075=>1000,54076=>1000,54077=>1000,54078=>1000,54079=>1000,54080=>1000,54081=>1000,54082=>1000,54083=>1000,54084=>1000,54085=>1000,54086=>1000,54087=>1000,54088=>1000,54089=>1000,54090=>1000,54091=>1000,54092=>1000,54093=>1000,54094=>1000,54095=>1000,54096=>1000,54097=>1000,54098=>1000,54099=>1000,54100=>1000,54101=>1000,54102=>1000,54103=>1000,54104=>1000,54105=>1000,54106=>1000,54107=>1000,54108=>1000,54109=>1000,54110=>1000,54111=>1000,54112=>1000,54113=>1000,54114=>1000,54115=>1000,54116=>1000,54117=>1000,54118=>1000,54119=>1000,54120=>1000,54121=>1000,54122=>1000,54123=>1000,54124=>1000,54125=>1000,54126=>1000,54127=>1000,54128=>1000,54129=>1000,54130=>1000,54131=>1000,54132=>1000,54133=>1000,54134=>1000,54135=>1000,54136=>1000,54137=>1000,54138=>1000,54139=>1000,54140=>1000,54141=>1000,54142=>1000,54143=>1000,54144=>1000,54145=>1000,54146=>1000,54147=>1000,54148=>1000,54149=>1000,54150=>1000,54151=>1000,54152=>1000,54153=>1000,54154=>1000,54155=>1000,54156=>1000,54157=>1000,54158=>1000,54159=>1000,54160=>1000,54161=>1000,54162=>1000,54163=>1000,54164=>1000,54165=>1000,54166=>1000,54167=>1000,54168=>1000,54169=>1000,54170=>1000,54171=>1000,54172=>1000,54173=>1000,54174=>1000,54175=>1000,54176=>1000,54177=>1000,54178=>1000,54179=>1000,54180=>1000,54181=>1000,54182=>1000,54183=>1000,54184=>1000,54185=>1000,54186=>1000,54187=>1000,54188=>1000,54189=>1000,54190=>1000,54191=>1000,54192=>1000,54193=>1000,54194=>1000,54195=>1000,54196=>1000,54197=>1000,54198=>1000,54199=>1000,54200=>1000,54201=>1000,54202=>1000,54203=>1000,54204=>1000,54205=>1000,54206=>1000,54207=>1000,54208=>1000,54209=>1000,54210=>1000,54211=>1000,54212=>1000,54213=>1000,54214=>1000,54215=>1000,54216=>1000,54217=>1000,54218=>1000,54219=>1000,54220=>1000,54221=>1000,54222=>1000,54223=>1000,54224=>1000,54225=>1000,54226=>1000,54227=>1000,54228=>1000,54229=>1000,54230=>1000,54231=>1000,54232=>1000,54233=>1000,54234=>1000,54235=>1000,54236=>1000,54237=>1000,54238=>1000,54239=>1000,54240=>1000,54241=>1000,54242=>1000,54243=>1000,54244=>1000,54245=>1000,54246=>1000,54247=>1000,54248=>1000,54249=>1000,54250=>1000,54251=>1000,54252=>1000,54253=>1000,54254=>1000,54255=>1000,54256=>1000,54257=>1000,54258=>1000,54259=>1000,54260=>1000,54261=>1000,54262=>1000,54263=>1000,54264=>1000,54265=>1000,54266=>1000,54267=>1000,54268=>1000,54269=>1000,54270=>1000,54271=>1000,54272=>1000,54273=>1000,54274=>1000,54275=>1000,54276=>1000,54277=>1000,54278=>1000,54279=>1000,54280=>1000,54281=>1000,54282=>1000,54283=>1000,54284=>1000,54285=>1000,54286=>1000,54287=>1000,54288=>1000,54289=>1000,54290=>1000,54291=>1000,54292=>1000,54293=>1000,54294=>1000,54295=>1000,54296=>1000,54297=>1000,54298=>1000,54299=>1000,54300=>1000,54301=>1000,54302=>1000,54303=>1000,54304=>1000,54305=>1000,54306=>1000,54307=>1000,54308=>1000,54309=>1000,54310=>1000,54311=>1000,54312=>1000,54313=>1000,54314=>1000,54315=>1000,54316=>1000,54317=>1000,54318=>1000,54319=>1000,54320=>1000,54321=>1000,54322=>1000,54323=>1000,54324=>1000,54325=>1000,54326=>1000,54327=>1000,54328=>1000,54329=>1000,54330=>1000,54331=>1000,54332=>1000,54333=>1000,54334=>1000,54335=>1000,54336=>1000,54337=>1000,54338=>1000,54339=>1000,54340=>1000,54341=>1000,54342=>1000,54343=>1000,54344=>1000,54345=>1000,54346=>1000,54347=>1000,54348=>1000,54349=>1000,54350=>1000,54351=>1000,54352=>1000,54353=>1000,54354=>1000,54355=>1000,54356=>1000,54357=>1000,54358=>1000,54359=>1000,54360=>1000,54361=>1000,54362=>1000,54363=>1000,54364=>1000,54365=>1000,54366=>1000,54367=>1000,54368=>1000,54369=>1000,54370=>1000,54371=>1000,54372=>1000,54373=>1000,54374=>1000,54375=>1000,54376=>1000,54377=>1000,54378=>1000,54379=>1000,54380=>1000,54381=>1000,54382=>1000,54383=>1000,54384=>1000,54385=>1000,54386=>1000,54387=>1000,54388=>1000,54389=>1000,54390=>1000,54391=>1000,54392=>1000,54393=>1000,54394=>1000,54395=>1000,54396=>1000,54397=>1000,54398=>1000,54399=>1000,54400=>1000,54401=>1000,54402=>1000,54403=>1000,54404=>1000,54405=>1000,54406=>1000,54407=>1000,54408=>1000,54409=>1000,54410=>1000,54411=>1000,54412=>1000,54413=>1000,54414=>1000,54415=>1000,54416=>1000,54417=>1000,54418=>1000,54419=>1000,54420=>1000,54421=>1000,54422=>1000,54423=>1000,54424=>1000,54425=>1000,54426=>1000,54427=>1000,54428=>1000,54429=>1000,54430=>1000,54431=>1000,54432=>1000,54433=>1000,54434=>1000,54435=>1000,54436=>1000,54437=>1000,54438=>1000,54439=>1000,54440=>1000,54441=>1000,54442=>1000,54443=>1000,54444=>1000,54445=>1000,54446=>1000,54447=>1000,54448=>1000,54449=>1000,54450=>1000,54451=>1000,54452=>1000,54453=>1000,54454=>1000,54455=>1000,54456=>1000,54457=>1000,54458=>1000,54459=>1000,54460=>1000,54461=>1000,54462=>1000,54463=>1000,54464=>1000,54465=>1000,54466=>1000,54467=>1000,54468=>1000,54469=>1000,54470=>1000,54471=>1000,54472=>1000,54473=>1000,54474=>1000,54475=>1000,54476=>1000,54477=>1000,54478=>1000,54479=>1000,54480=>1000,54481=>1000,54482=>1000,54483=>1000,54484=>1000,54485=>1000,54486=>1000,54487=>1000,54488=>1000,54489=>1000,54490=>1000,54491=>1000,54492=>1000,54493=>1000,54494=>1000,54495=>1000,54496=>1000,54497=>1000,54498=>1000,54499=>1000,54500=>1000,54501=>1000,54502=>1000,54503=>1000,54504=>1000,54505=>1000,54506=>1000,54507=>1000,54508=>1000,54509=>1000,54510=>1000,54511=>1000,54512=>1000,54513=>1000,54514=>1000,54515=>1000,54516=>1000,54517=>1000,54518=>1000,54519=>1000,54520=>1000,54521=>1000,54522=>1000,54523=>1000,54524=>1000,54525=>1000,54526=>1000,54527=>1000,54528=>1000,54529=>1000,54530=>1000,54531=>1000,54532=>1000,54533=>1000,54534=>1000,54535=>1000,54536=>1000,54537=>1000,54538=>1000,54539=>1000,54540=>1000,54541=>1000,54542=>1000,54543=>1000,54544=>1000,54545=>1000,54546=>1000,54547=>1000,54548=>1000,54549=>1000,54550=>1000,54551=>1000,54552=>1000,54553=>1000,54554=>1000,54555=>1000,54556=>1000,54557=>1000,54558=>1000,54559=>1000,54560=>1000,54561=>1000,54562=>1000,54563=>1000,54564=>1000,54565=>1000,54566=>1000,54567=>1000,54568=>1000,54569=>1000,54570=>1000,54571=>1000,54572=>1000,54573=>1000,54574=>1000,54575=>1000,54576=>1000,54577=>1000,54578=>1000,54579=>1000,54580=>1000,54581=>1000,54582=>1000,54583=>1000,54584=>1000,54585=>1000,54586=>1000,54587=>1000,54588=>1000,54589=>1000,54590=>1000,54591=>1000,54592=>1000,54593=>1000,54594=>1000,54595=>1000,54596=>1000,54597=>1000,54598=>1000,54599=>1000,54600=>1000,54601=>1000,54602=>1000,54603=>1000,54604=>1000,54605=>1000,54606=>1000,54607=>1000,54608=>1000,54609=>1000,54610=>1000,54611=>1000,54612=>1000,54613=>1000,54614=>1000,54615=>1000,54616=>1000,54617=>1000,54618=>1000,54619=>1000,54620=>1000,54621=>1000,54622=>1000,54623=>1000,54624=>1000,54625=>1000,54626=>1000,54627=>1000,54628=>1000,54629=>1000,54630=>1000,54631=>1000,54632=>1000,54633=>1000,54634=>1000,54635=>1000,54636=>1000,54637=>1000,54638=>1000,54639=>1000,54640=>1000,54641=>1000,54642=>1000,54643=>1000,54644=>1000,54645=>1000,54646=>1000,54647=>1000,54648=>1000,54649=>1000,54650=>1000,54651=>1000,54652=>1000,54653=>1000,54654=>1000,54655=>1000,54656=>1000,54657=>1000,54658=>1000,54659=>1000,54660=>1000,54661=>1000,54662=>1000,54663=>1000,54664=>1000,54665=>1000,54666=>1000,54667=>1000,54668=>1000,54669=>1000,54670=>1000,54671=>1000,54672=>1000,54673=>1000,54674=>1000,54675=>1000,54676=>1000,54677=>1000,54678=>1000,54679=>1000,54680=>1000,54681=>1000,54682=>1000,54683=>1000,54684=>1000,54685=>1000,54686=>1000,54687=>1000,54688=>1000,54689=>1000,54690=>1000,54691=>1000,54692=>1000,54693=>1000,54694=>1000,54695=>1000,54696=>1000,54697=>1000,54698=>1000,54699=>1000,54700=>1000,54701=>1000,54702=>1000,54703=>1000,54704=>1000,54705=>1000,54706=>1000,54707=>1000,54708=>1000,54709=>1000,54710=>1000,54711=>1000,54712=>1000,54713=>1000,54714=>1000,54715=>1000,54716=>1000,54717=>1000,54718=>1000,54719=>1000,54720=>1000,54721=>1000,54722=>1000,54723=>1000,54724=>1000,54725=>1000,54726=>1000,54727=>1000,54728=>1000,54729=>1000,54730=>1000,54731=>1000,54732=>1000,54733=>1000,54734=>1000,54735=>1000,54736=>1000,54737=>1000,54738=>1000,54739=>1000,54740=>1000,54741=>1000,54742=>1000,54743=>1000,54744=>1000,54745=>1000,54746=>1000,54747=>1000,54748=>1000,54749=>1000,54750=>1000,54751=>1000,54752=>1000,54753=>1000,54754=>1000,54755=>1000,54756=>1000,54757=>1000,54758=>1000,54759=>1000,54760=>1000,54761=>1000,54762=>1000,54763=>1000,54764=>1000,54765=>1000,54766=>1000,54767=>1000,54768=>1000,54769=>1000,54770=>1000,54771=>1000,54772=>1000,54773=>1000,54774=>1000,54775=>1000,54776=>1000,54777=>1000,54778=>1000,54779=>1000,54780=>1000,54781=>1000,54782=>1000,54783=>1000,54784=>1000,54785=>1000,54786=>1000,54787=>1000,54788=>1000,54789=>1000,54790=>1000,54791=>1000,54792=>1000,54793=>1000,54794=>1000,54795=>1000,54796=>1000,54797=>1000,54798=>1000,54799=>1000,54800=>1000,54801=>1000,54802=>1000,54803=>1000,54804=>1000,54805=>1000,54806=>1000,54807=>1000,54808=>1000,54809=>1000,54810=>1000,54811=>1000,54812=>1000,54813=>1000,54814=>1000,54815=>1000,54816=>1000,54817=>1000,54818=>1000,54819=>1000,54820=>1000,54821=>1000,54822=>1000,54823=>1000,54824=>1000,54825=>1000,54826=>1000,54827=>1000,54828=>1000,54829=>1000,54830=>1000,54831=>1000,54832=>1000,54833=>1000,54834=>1000,54835=>1000,54836=>1000,54837=>1000,54838=>1000,54839=>1000,54840=>1000,54841=>1000,54842=>1000,54843=>1000,54844=>1000,54845=>1000,54846=>1000,54847=>1000,54848=>1000,54849=>1000,54850=>1000,54851=>1000,54852=>1000,54853=>1000,54854=>1000,54855=>1000,54856=>1000,54857=>1000,54858=>1000,54859=>1000,54860=>1000,54861=>1000,54862=>1000,54863=>1000,54864=>1000,54865=>1000,54866=>1000,54867=>1000,54868=>1000,54869=>1000,54870=>1000,54871=>1000,54872=>1000,54873=>1000,54874=>1000,54875=>1000,54876=>1000,54877=>1000,54878=>1000,54879=>1000,54880=>1000,54881=>1000,54882=>1000,54883=>1000,54884=>1000,54885=>1000,54886=>1000,54887=>1000,54888=>1000,54889=>1000,54890=>1000,54891=>1000,54892=>1000,54893=>1000,54894=>1000,54895=>1000,54896=>1000,54897=>1000,54898=>1000,54899=>1000,54900=>1000,54901=>1000,54902=>1000,54903=>1000,54904=>1000,54905=>1000,54906=>1000,54907=>1000,54908=>1000,54909=>1000,54910=>1000,54911=>1000,54912=>1000,54913=>1000,54914=>1000,54915=>1000,54916=>1000,54917=>1000,54918=>1000,54919=>1000,54920=>1000,54921=>1000,54922=>1000,54923=>1000,54924=>1000,54925=>1000,54926=>1000,54927=>1000,54928=>1000,54929=>1000,54930=>1000,54931=>1000,54932=>1000,54933=>1000,54934=>1000,54935=>1000,54936=>1000,54937=>1000,54938=>1000,54939=>1000,54940=>1000,54941=>1000,54942=>1000,54943=>1000,54944=>1000,54945=>1000,54946=>1000,54947=>1000,54948=>1000,54949=>1000,54950=>1000,54951=>1000,54952=>1000,54953=>1000,54954=>1000,54955=>1000,54956=>1000,54957=>1000,54958=>1000,54959=>1000,54960=>1000,54961=>1000,54962=>1000,54963=>1000,54964=>1000,54965=>1000,54966=>1000,54967=>1000,54968=>1000,54969=>1000,54970=>1000,54971=>1000,54972=>1000,54973=>1000,54974=>1000,54975=>1000,54976=>1000,54977=>1000,54978=>1000,54979=>1000,54980=>1000,54981=>1000,54982=>1000,54983=>1000,54984=>1000,54985=>1000,54986=>1000,54987=>1000,54988=>1000,54989=>1000,54990=>1000,54991=>1000,54992=>1000,54993=>1000,54994=>1000,54995=>1000,54996=>1000,54997=>1000,54998=>1000,54999=>1000,55000=>1000,55001=>1000,55002=>1000,55003=>1000,55004=>1000,55005=>1000,55006=>1000,55007=>1000,55008=>1000,55009=>1000,55010=>1000,55011=>1000,55012=>1000,55013=>1000,55014=>1000,55015=>1000,55016=>1000,55017=>1000,55018=>1000,55019=>1000,55020=>1000,55021=>1000,55022=>1000,55023=>1000,55024=>1000,55025=>1000,55026=>1000,55027=>1000,55028=>1000,55029=>1000,55030=>1000,55031=>1000,55032=>1000,55033=>1000,55034=>1000,55035=>1000,55036=>1000,55037=>1000,55038=>1000,55039=>1000,55040=>1000,55041=>1000,55042=>1000,55043=>1000,55044=>1000,55045=>1000,55046=>1000,55047=>1000,55048=>1000,55049=>1000,55050=>1000,55051=>1000,55052=>1000,55053=>1000,55054=>1000,55055=>1000,55056=>1000,55057=>1000,55058=>1000,55059=>1000,55060=>1000,55061=>1000,55062=>1000,55063=>1000,55064=>1000,55065=>1000,55066=>1000,55067=>1000,55068=>1000,55069=>1000,55070=>1000,55071=>1000,55072=>1000,55073=>1000,55074=>1000,55075=>1000,55076=>1000,55077=>1000,55078=>1000,55079=>1000,55080=>1000,55081=>1000,55082=>1000,55083=>1000,55084=>1000,55085=>1000,55086=>1000,55087=>1000,55088=>1000,55089=>1000,55090=>1000,55091=>1000,55092=>1000,55093=>1000,55094=>1000,55095=>1000,55096=>1000,55097=>1000,55098=>1000,55099=>1000,55100=>1000,55101=>1000,55102=>1000,55103=>1000,55104=>1000,55105=>1000,55106=>1000,55107=>1000,55108=>1000,55109=>1000,55110=>1000,55111=>1000,55112=>1000,55113=>1000,55114=>1000,55115=>1000,55116=>1000,55117=>1000,55118=>1000,55119=>1000,55120=>1000,55121=>1000,55122=>1000,55123=>1000,55124=>1000,55125=>1000,55126=>1000,55127=>1000,55128=>1000,55129=>1000,55130=>1000,55131=>1000,55132=>1000,55133=>1000,55134=>1000,55135=>1000,55136=>1000,55137=>1000,55138=>1000,55139=>1000,55140=>1000,55141=>1000,55142=>1000,55143=>1000,55144=>1000,55145=>1000,55146=>1000,55147=>1000,55148=>1000,55149=>1000,55150=>1000,55151=>1000,55152=>1000,55153=>1000,55154=>1000,55155=>1000,55156=>1000,55157=>1000,55158=>1000,55159=>1000,55160=>1000,55161=>1000,55162=>1000,55163=>1000,55164=>1000,55165=>1000,55166=>1000,55167=>1000,55168=>1000,55169=>1000,55170=>1000,55171=>1000,55172=>1000,55173=>1000,55174=>1000,55175=>1000,55176=>1000,55177=>1000,55178=>1000,55179=>1000,55180=>1000,55181=>1000,55182=>1000,55183=>1000,55184=>1000,55185=>1000,55186=>1000,55187=>1000,55188=>1000,55189=>1000,55190=>1000,55191=>1000,55192=>1000,55193=>1000,55194=>1000,55195=>1000,55196=>1000,55197=>1000,55198=>1000,55199=>1000,55200=>1000,55201=>1000,55202=>1000,55203=>1000,59393=>316,59394=>507,59395=>507,59396=>484,59397=>484,59416=>0,59492=>480,59495=>480,59536=>458,59557=>466,59558=>480,59559=>903,61441=>500,61442=>500,63232=>541,63233=>0,63234=>0,63235=>0,63236=>0,63237=>0,63238=>0,63239=>0,63240=>0,63241=>0,63242=>0,63243=>0,63244=>0,63245=>0,63246=>0,63247=>849,63248=>0,63249=>0,63250=>0,63251=>0,63252=>0,63253=>0,63254=>0,63255=>0,63256=>0,63257=>0,63258=>0,63260=>333,63261=>287,63744=>1000,63745=>1000,63746=>1000,63747=>1000,63748=>1000,63749=>1000,63750=>1000,63751=>1000,63752=>1000,63753=>1000,63754=>1000,63755=>1000,63756=>1000,63757=>1000,63758=>1000,63759=>1000,63760=>1000,63761=>1000,63762=>1000,63763=>1000,63764=>1000,63765=>1000,63766=>1000,63767=>1000,63768=>1000,63769=>1000,63770=>1000,63771=>1000,63772=>1000,63773=>1000,63774=>1000,63775=>1000,63776=>1000,63777=>1000,63778=>1000,63779=>1000,63780=>1000,63781=>1000,63782=>1000,63783=>1000,63784=>1000,63785=>1000,63786=>1000,63787=>1000,63788=>1000,63789=>1000,63790=>1000,63791=>1000,63792=>1000,63793=>1000,63794=>1000,63795=>1000,63796=>1000,63797=>1000,63798=>1000,63799=>1000,63800=>1000,63801=>1000,63802=>1000,63803=>1000,63804=>1000,63805=>1000,63806=>1000,63807=>1000,63808=>1000,63809=>1000,63810=>1000,63811=>1000,63812=>1000,63813=>1000,63814=>1000,63815=>1000,63816=>1000,63817=>1000,63818=>1000,63819=>1000,63820=>1000,63821=>1000,63822=>1000,63823=>1000,63824=>1000,63825=>1000,63826=>1000,63827=>1000,63828=>1000,63829=>1000,63830=>1000,63831=>1000,63832=>1000,63833=>1000,63834=>1000,63835=>1000,63836=>1000,63837=>1000,63838=>1000,63839=>1000,63840=>1000,63841=>1000,63842=>1000,63843=>1000,63844=>1000,63845=>1000,63846=>1000,63847=>1000,63848=>1000,63849=>1000,63850=>1000,63851=>1000,63852=>1000,63853=>1000,63854=>1000,63855=>1000,63856=>1000,63857=>1000,63858=>1000,63859=>1000,63860=>1000,63861=>1000,63862=>1000,63863=>1000,63864=>1000,63865=>1000,63866=>1000,63867=>1000,63868=>1000,63869=>1000,63870=>1000,63871=>1000,63872=>1000,63873=>1000,63874=>1000,63875=>1000,63876=>1000,63877=>1000,63878=>1000,63879=>1000,63880=>1000,63881=>1000,63882=>1000,63883=>1000,63884=>1000,63885=>1000,63886=>1000,63887=>1000,63888=>1000,63889=>1000,63890=>1000,63891=>1000,63892=>1000,63893=>1000,63894=>1000,63895=>1000,63896=>1000,63897=>1000,63898=>1000,63899=>1000,63900=>1000,63901=>1000,63902=>1000,63903=>1000,63904=>1000,63905=>1000,63906=>1000,63907=>1000,63908=>1000,63909=>1000,63910=>1000,63911=>1000,63912=>1000,63913=>1000,63914=>1000,63915=>1000,63916=>1000,63917=>1000,63918=>1000,63919=>1000,63920=>1000,63921=>1000,63922=>1000,63923=>1000,63924=>1000,63925=>1000,63926=>1000,63927=>1000,63928=>1000,63929=>1000,63930=>1000,63931=>1000,63932=>1000,63933=>1000,63934=>1000,63935=>1000,63936=>1000,63937=>1000,63938=>1000,63939=>1000,63940=>1000,63941=>1000,63942=>1000,63943=>1000,63944=>1000,63945=>1000,63946=>1000,63947=>1000,63948=>1000,63949=>1000,63950=>1000,63951=>1000,63952=>1000,63953=>1000,63954=>1000,63955=>1000,63956=>1000,63957=>1000,63958=>1000,63959=>1000,63960=>1000,63961=>1000,63962=>1000,63963=>1000,63964=>1000,63965=>1000,63966=>1000,63967=>1000,63968=>1000,63969=>1000,63970=>1000,63971=>1000,63972=>1000,63973=>1000,63974=>1000,63975=>1000,63976=>1000,63977=>1000,63978=>1000,63979=>1000,63980=>1000,63981=>1000,63982=>1000,63983=>1000,63984=>1000,63985=>1000,63986=>1000,63987=>1000,63988=>1000,63989=>1000,63990=>1000,63991=>1000,63992=>1000,63993=>1000,63994=>1000,63995=>1000,63996=>1000,63997=>1000,63998=>1000,63999=>1000,64000=>1000,64001=>1000,64002=>1000,64003=>1000,64004=>1000,64005=>1000,64006=>1000,64007=>1000,64008=>1000,64009=>1000,64010=>1000,64011=>1000,64012=>1000,64013=>1000,64014=>1000,64015=>1000,64016=>1000,64017=>1000,64018=>1000,64019=>1000,64020=>1000,64021=>1000,64022=>1000,64023=>1000,64024=>1000,64025=>1000,64026=>1000,64027=>1000,64028=>1000,64029=>1000,64030=>1000,64031=>1000,64032=>1000,64033=>1000,64034=>1000,64035=>1000,64036=>1000,64037=>1000,64038=>1000,64039=>1000,64040=>1000,64041=>1000,64042=>1000,64043=>1000,64044=>1000,64045=>1000,64256=>537,64257=>500,64258=>500,64259=>778,64260=>750,64261=>532,64262=>758,64275=>784,64276=>784,64277=>784,64278=>784,64279=>893,64286=>333,64287=>590,64288=>550,64289=>709,64290=>649,64291=>730,64292=>656,64293=>605,64294=>730,64295=>633,64296=>794,64297=>584,64298=>700,64299=>700,64300=>700,64301=>700,64302=>577,64303=>577,64304=>577,64305=>563,64306=>411,64307=>512,64308=>594,64309=>316,64310=>326,64312=>594,64313=>316,64314=>507,64315=>527,64316=>484,64318=>594,64320=>338,64321=>604,64323=>567,64324=>569,64326=>514,64327=>583,64328=>507,64329=>700,64330=>633,64331=>316,64332=>563,64333=>527,64334=>569,64335=>577,64336=>243,64337=>273,64338=>771,64339=>788,64340=>276,64341=>243,64342=>771,64343=>788,64344=>276,64345=>243,64346=>771,64347=>788,64348=>276,64349=>243,64350=>771,64351=>788,64352=>276,64353=>243,64354=>771,64355=>788,64356=>276,64357=>243,64358=>771,64359=>788,64360=>276,64361=>243,64362=>957,64363=>903,64364=>466,64365=>480,64366=>957,64367=>903,64368=>466,64369=>480,64370=>544,64371=>658,64372=>646,64373=>637,64374=>544,64375=>658,64376=>646,64377=>637,64378=>544,64379=>658,64380=>646,64381=>637,64382=>544,64383=>658,64384=>646,64385=>637,64386=>430,64387=>458,64388=>430,64389=>458,64390=>430,64391=>458,64392=>430,64393=>458,64394=>421,64395=>436,64396=>421,64397=>436,64398=>828,64399=>942,64400=>432,64401=>549,64402=>828,64403=>942,64404=>432,64405=>549,64406=>828,64407=>942,64408=>432,64409=>549,64410=>828,64411=>942,64412=>432,64413=>549,64414=>692,64415=>723,64416=>692,64417=>723,64418=>276,64419=>243,64420=>514,64421=>477,64422=>514,64423=>509,64424=>273,64425=>427,64426=>706,64427=>706,64428=>686,64429=>686,64430=>550,64431=>461,64432=>550,64433=>461,64467=>757,64468=>733,64469=>432,64470=>549,64471=>470,64472=>466,64473=>470,64474=>466,64475=>470,64476=>466,64477=>470,64478=>470,64479=>466,64480=>470,64481=>466,64482=>470,64483=>466,64484=>781,64485=>933,64486=>276,64487=>243,64488=>276,64489=>243,64490=>547,64491=>517,64492=>783,64493=>753,64494=>740,64495=>710,64496=>740,64497=>710,64498=>740,64499=>710,64500=>740,64501=>710,64502=>1207,64503=>1177,64504=>517,64505=>1067,64506=>1037,64507=>517,64508=>731,64509=>793,64510=>276,64511=>243,64512=>932,64513=>932,64514=>914,64515=>1067,64516=>1077,64517=>935,64518=>935,64519=>935,64520=>917,64521=>1070,64522=>1080,64523=>932,64524=>932,64525=>932,64526=>914,64527=>1067,64528=>1077,64529=>932,64530=>914,64531=>1067,64532=>1077,64533=>1305,64534=>1287,64535=>1305,64536=>1287,64537=>1305,64538=>1305,64539=>1287,64540=>1429,64541=>1429,64542=>1429,64543=>1411,64544=>1476,64545=>1458,64546=>1476,64547=>1476,64548=>1476,64549=>1458,64550=>1392,64551=>1374,64552=>1374,64553=>1245,64554=>1227,64555=>1245,64556=>1227,64557=>1125,64558=>1125,64559=>1125,64560=>1107,64561=>1260,64562=>1270,64563=>1125,64564=>1107,64565=>1260,64566=>1270,64567=>706,64568=>1091,64569=>1091,64570=>1091,64571=>1106,64572=>1073,64573=>1226,64574=>1236,64575=>932,64576=>932,64577=>932,64578=>914,64579=>1067,64580=>1077,64581=>1140,64582=>1140,64583=>1140,64584=>1122,64585=>1275,64586=>1285,64587=>932,64588=>932,64589=>932,64590=>914,64591=>1067,64592=>1077,64593=>1345,64594=>1327,64595=>1480,64596=>1490,64597=>932,64598=>932,64599=>932,64600=>914,64601=>1067,64602=>1077,64603=>430,64604=>421,64605=>731,64606=>296,64607=>300,64608=>300,64609=>300,64610=>300,64611=>300,64612=>680,64613=>680,64614=>884,64615=>967,64616=>1037,64617=>1047,64618=>680,64619=>680,64620=>884,64621=>967,64622=>1037,64623=>1047,64624=>680,64625=>680,64626=>884,64627=>967,64628=>1037,64629=>1047,64630=>680,64631=>680,64632=>884,64633=>967,64634=>1037,64635=>1047,64636=>1274,64637=>1284,64638=>1274,64639=>1284,64640=>821,64641=>1221,64642=>1188,64643=>1341,64644=>1351,64645=>884,64646=>1037,64647=>1047,64648=>806,64649=>1173,64650=>680,64651=>680,64652=>884,64653=>967,64654=>1037,64655=>1047,64656=>793,64657=>680,64658=>680,64659=>884,64660=>967,64661=>1037,64662=>1047,64663=>911,64664=>911,64665=>911,64666=>806,64667=>679,64668=>911,64669=>911,64670=>911,64671=>806,64672=>679,64673=>911,64674=>911,64675=>911,64676=>806,64677=>679,64678=>806,64679=>1284,64680=>1179,64681=>1284,64682=>1179,64683=>1284,64684=>1179,64685=>1408,64686=>1408,64687=>1408,64688=>1303,64689=>1455,64690=>1455,64691=>1350,64692=>1455,64693=>1455,64694=>1455,64695=>1350,64696=>1371,64697=>1266,64698=>1224,64699=>1119,64700=>1224,64701=>1119,64702=>1104,64703=>1104,64704=>1104,64705=>999,64706=>1104,64707=>999,64708=>1070,64709=>1070,64710=>1070,64711=>676,64712=>965,64713=>911,64714=>911,64715=>911,64716=>806,64717=>679,64718=>1119,64719=>1119,64720=>1119,64721=>1014,64722=>911,64723=>911,64724=>911,64725=>806,64726=>679,64727=>1324,64728=>1219,64729=>686,64730=>911,64731=>911,64732=>911,64733=>806,64734=>679,64735=>776,64736=>649,64737=>776,64738=>649,64739=>776,64740=>649,64741=>776,64742=>649,64743=>1303,64744=>1176,64745=>1303,64746=>1176,64747=>793,64748=>1082,64749=>776,64750=>776,64751=>649,64752=>776,64753=>649,64754=>306,64755=>302,64756=>298,64757=>1527,64758=>1537,64759=>1380,64760=>1390,64761=>1380,64762=>1390,64763=>1564,64764=>1574,64765=>1564,64766=>1574,64767=>1440,64768=>1450,64769=>1440,64770=>1450,64771=>1440,64772=>1450,64773=>1611,64774=>1621,64775=>1611,64776=>1621,64777=>1429,64778=>1429,64779=>1429,64780=>1411,64781=>1207,64782=>1207,64783=>1254,64784=>1254,64785=>1527,64786=>1537,64787=>1348,64788=>1358,64789=>1348,64790=>1358,64791=>1564,64792=>1574,64793=>1564,64794=>1574,64795=>1431,64796=>1441,64797=>1431,64798=>1441,64799=>1431,64800=>1441,64801=>1611,64802=>1621,64803=>1611,64804=>1621,64805=>1429,64806=>1429,64807=>1429,64808=>1411,64809=>1207,64810=>1207,64811=>1254,64812=>1254,64813=>1408,64814=>1408,64815=>1408,64816=>1303,64817=>1176,64818=>1176,64819=>1266,64820=>1408,64821=>1408,64822=>1408,64823=>1408,64824=>1408,64825=>1408,64826=>1266,64827=>1266,64828=>273,64829=>243,64830=>600,64831=>600,64848=>1444,64849=>1541,64850=>1549,64851=>1444,64852=>1444,64853=>1444,64854=>1444,64855=>1444,64856=>1830,64857=>1817,64858=>1975,64859=>1964,64860=>2046,64861=>2046,64862=>2202,64863=>1962,64864=>1941,64865=>1941,64866=>1944,64867=>1836,64868=>2114,64869=>2093,64870=>1991,64871=>2049,64872=>1941,64873=>2212,64874=>1962,64875=>1941,64876=>1944,64877=>1836,64878=>2249,64879=>2096,64880=>1988,64881=>1925,64882=>1904,64883=>1799,64884=>2070,64885=>1833,64886=>1729,64887=>1652,64888=>1881,64889=>1729,64890=>1892,64891=>1881,64892=>1759,64893=>1637,64894=>1670,64895=>1654,64896=>1522,64897=>1686,64898=>1675,64899=>1549,64900=>1541,64901=>1522,64902=>1444,64903=>1436,64904=>1444,64905=>1757,64906=>1652,64907=>1975,64908=>1757,64909=>1652,64910=>1757,64911=>1652,64914=>1757,64915=>1857,64916=>1752,64917=>1444,64918=>1675,64919=>1522,64920=>1444,64921=>1675,64922=>1581,64923=>1570,64924=>1417,64925=>1362,64926=>1686,64927=>1686,64928=>1675,64929=>1686,64930=>1675,64931=>1581,64932=>1570,64933=>1975,64934=>2069,64935=>1964,64936=>2202,64937=>2259,64938=>2212,64939=>2259,64940=>1686,64941=>1581,64942=>1686,64943=>1686,64944=>1581,64945=>1870,64946=>1817,64947=>1686,64948=>1637,64949=>1444,64950=>1892,64951=>1886,64952=>1549,64953=>1975,64954=>1444,64955=>1723,64956=>1522,64957=>1541,64958=>2080,64959=>2080,64960=>1975,64961=>1817,64962=>1686,64963=>1499,64964=>1757,64965=>1883,64966=>2212,64967=>1686,65008=>1523,65009=>1172,65010=>1159,65011=>1356,65012=>2111,65013=>2258,65014=>2130,65015=>1552,65016=>2046,65017=>1856,65018=>1930,65019=>1070,65056=>450,65057=>450,65058=>450,65059=>450,65072=>1000,65073=>1000,65074=>1000,65075=>1000,65076=>1000,65077=>1000,65078=>1000,65079=>1000,65080=>1000,65081=>1000,65082=>1000,65083=>1000,65084=>1000,65085=>1000,65086=>1000,65087=>1000,65088=>1000,65089=>1000,65090=>1000,65091=>1000,65092=>1000,65097=>1000,65098=>1000,65099=>1000,65100=>1000,65101=>1000,65102=>1000,65103=>1000,65104=>167,65105=>250,65106=>167,65108=>167,65109=>167,65110=>334,65111=>167,65112=>600,65113=>200,65114=>200,65115=>200,65116=>200,65117=>200,65118=>200,65119=>334,65120=>400,65121=>233,65122=>350,65123=>200,65124=>350,65125=>350,65126=>350,65128=>167,65129=>334,65130=>533,65131=>609,65136=>300,65137=>298,65138=>296,65140=>298,65142=>300,65143=>298,65144=>300,65145=>302,65146=>298,65147=>296,65148=>306,65149=>306,65150=>154,65151=>154,65152=>529,65153=>243,65154=>273,65155=>243,65156=>273,65157=>470,65158=>466,65159=>243,65160=>273,65161=>731,65162=>793,65163=>276,65164=>243,65165=>243,65166=>273,65167=>771,65168=>788,65169=>276,65170=>243,65171=>514,65172=>477,65173=>771,65174=>788,65175=>276,65176=>243,65177=>771,65178=>788,65179=>276,65180=>243,65181=>544,65182=>658,65183=>646,65184=>637,65185=>544,65186=>658,65187=>646,65188=>637,65189=>544,65190=>658,65191=>646,65192=>637,65193=>430,65194=>458,65195=>430,65196=>458,65197=>421,65198=>436,65199=>421,65200=>436,65201=>1194,65202=>1194,65203=>770,65204=>770,65205=>1194,65206=>1194,65207=>770,65208=>770,65209=>1291,65210=>1291,65211=>817,65212=>817,65213=>1291,65214=>1291,65215=>817,65216=>817,65217=>843,65218=>843,65219=>733,65220=>733,65221=>843,65222=>843,65223=>733,65224=>733,65225=>594,65226=>556,65227=>586,65228=>554,65229=>594,65230=>556,65231=>586,65232=>554,65233=>957,65234=>903,65235=>466,65236=>480,65237=>800,65238=>823,65239=>466,65240=>480,65241=>757,65242=>733,65243=>432,65244=>549,65245=>662,65246=>673,65247=>273,65248=>243,65249=>589,65250=>640,65251=>481,65252=>532,65253=>692,65254=>723,65255=>276,65256=>243,65257=>514,65258=>477,65259=>686,65260=>405,65261=>470,65262=>466,65263=>731,65264=>793,65265=>731,65266=>803,65267=>276,65268=>243,65269=>551,65270=>603,65271=>551,65272=>603,65273=>551,65274=>603,65275=>551,65276=>603,65281=>1000,65282=>1000,65283=>1000,65284=>1000,65285=>1000,65286=>1000,65287=>1000,65288=>1000,65289=>1000,65290=>1000,65291=>1000,65292=>1000,65293=>1000,65294=>1000,65295=>1000,65296=>1000,65297=>1000,65298=>1000,65299=>1000,65300=>1000,65301=>1000,65302=>1000,65303=>1000,65304=>1000,65305=>1000,65306=>1000,65307=>1000,65308=>1000,65309=>1000,65310=>1000,65311=>1000,65312=>1000,65313=>1000,65314=>1000,65315=>1000,65316=>1000,65317=>1000,65318=>1000,65319=>1000,65320=>1000,65321=>1000,65322=>1000,65323=>1000,65324=>1000,65325=>1000,65326=>1000,65327=>1000,65328=>1000,65329=>1000,65330=>1000,65331=>1000,65332=>1000,65333=>1000,65334=>1000,65335=>1000,65336=>1000,65337=>1000,65338=>1000,65339=>1000,65340=>1000,65341=>1000,65342=>1000,65343=>1000,65344=>1000,65345=>1000,65346=>1000,65347=>1000,65348=>1000,65349=>1000,65350=>1000,65351=>1000,65352=>1000,65353=>1000,65354=>1000,65355=>1000,65356=>1000,65357=>1000,65358=>1000,65359=>1000,65360=>1000,65361=>1000,65362=>1000,65363=>1000,65364=>1000,65365=>1000,65366=>1000,65367=>1000,65368=>1000,65369=>1000,65370=>1000,65371=>1000,65372=>1000,65373=>1000,65374=>1000,65377=>500,65378=>500,65379=>500,65380=>500,65381=>500,65382=>500,65383=>500,65384=>500,65385=>500,65386=>500,65387=>500,65388=>500,65389=>500,65390=>500,65391=>500,65392=>500,65393=>500,65394=>500,65395=>500,65396=>500,65397=>500,65398=>500,65399=>500,65400=>500,65401=>500,65402=>500,65403=>500,65404=>500,65405=>500,65406=>500,65407=>500,65408=>500,65409=>500,65410=>500,65411=>500,65412=>500,65413=>500,65414=>500,65415=>500,65416=>500,65417=>500,65418=>500,65419=>500,65420=>500,65421=>500,65422=>500,65423=>500,65424=>500,65425=>500,65426=>500,65427=>500,65428=>500,65429=>500,65430=>500,65431=>500,65432=>500,65433=>500,65434=>500,65435=>500,65436=>500,65437=>500,65438=>500,65439=>500,65440=>500,65441=>500,65442=>500,65443=>500,65444=>500,65445=>500,65446=>500,65447=>500,65448=>500,65449=>500,65450=>500,65451=>500,65452=>500,65453=>500,65454=>500,65455=>500,65456=>500,65457=>500,65458=>500,65459=>500,65460=>500,65461=>500,65462=>500,65463=>500,65464=>500,65465=>500,65466=>500,65467=>500,65468=>500,65469=>500,65470=>500,65474=>500,65475=>500,65476=>500,65477=>500,65478=>500,65479=>500,65482=>500,65483=>500,65484=>500,65485=>500,65486=>500,65487=>500,65490=>500,65491=>500,65492=>500,65493=>500,65494=>500,65495=>500,65498=>500,65499=>500,65500=>500,65504=>1000,65505=>1000,65506=>1000,65507=>1000,65508=>1000,65509=>1000,65510=>1000,65512=>500,65513=>500,65514=>500,65515=>500,65516=>500,65517=>500,65518=>500,65532=>1000,65533=>1000,65535=>1000); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/cid0kr.php b/vendor/tecnickcom/tcpdf/fonts/cid0kr.php new file mode 100644 index 0000000..8dbd837 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/cid0kr.php @@ -0,0 +1,17 @@ +'Adobe', 'Ordering'=>'Korea1','Supplement'=>0); +include(dirname(__FILE__).'/uni2cid_ak12.php'); +$desc=array('Flags'=>32,'FontBBox'=>'[-1011 -330 2260 1078]','ItalicAngle'=>0,'Ascent'=>1069,'Descent'=>-271,'Leading'=>0,'CapHeight'=>716,'XHeight'=>518,'StemV'=>34,'StemH'=>15,'AvgWidth'=>441,'MaxWidth'=>2259,'MissingWidth'=>1000); +$cbbox=array(0=>array(125,0,875,750),33=>array(85,0,194,716),34=>array(41,462,313,716),35=>array(11,-12,545,728),36=>array(38,-103,511,782),37=>array(73,-27,819,728),38=>array(43,-17,644,728),39=>array(45,462,145,716),40=>array(60,-210,297,728),41=>array(36,-210,273,728),42=>array(33,423,356,728),43=>array(55,116,529,590),44=>array(84,-141,190,100),45=>array(32,215,301,303),46=>array(89,0,189,100),47=>array(0,-24,278,716),48=>array(45,-12,511,719),49=>array(111,0,375,719),50=>array(31,0,505,719),51=>array(44,-12,513,719),52=>array(15,0,510,716),53=>array(42,-12,516,706),54=>array(42,-12,514,719),55=>array(48,0,511,706),56=>array(42,-12,513,719),57=>array(43,-12,513,719),58=>array(90,0,190,518),59=>array(84,-141,190,518),60=>array(55,111,529,595),61=>array(55,203,529,503),62=>array(55,111,529,595),63=>array(46,0,508,728),64=>array(56,-210,981,729),65=>array(-1,0,668,716),66=>array(74,0,615,716),67=>array(51,-12,683,728),68=>array(80,0,672,716),69=>array(79,0,614,716),70=>array(80,0,563,716),71=>array(52,-12,714,728),72=>array(80,0,642,716),73=>array(92,0,187,716),74=>array(27,-12,420,716),75=>array(73,0,665,716),76=>array(75,0,523,716),77=>array(76,0,757,716),78=>array(79,0,642,716),79=>array(47,-12,732,728),80=>array(77,0,623,716),81=>array(47,-56,745,728),82=>array(80,0,711,716),83=>array(45,-12,615,728),84=>array(22,0,589,716),85=>array(79,-12,642,716),86=>array(6,0,660,716),87=>array(12,0,933,716),88=>array(5,0,661,716),89=>array(5,0,661,716),90=>array(18,0,584,716),91=>array(68,-199,262,716),92=>array(0,-24,278,716),93=>array(16,-199,210,716),94=>array(26,325,443,716),95=>array(-6,-125,506,-75),96=>array(42,591,222,728),97=>array(38,-12,516,530),98=>array(67,-12,517,716),99=>array(39,-12,491,530),100=>array(36,-12,486,716),101=>array(39,-12,517,530),102=>array(8,0,311,728),103=>array(34,-210,491,530),104=>array(67,0,490,716),105=>array(67,0,155,716),106=>array(-45,-209,155,716),107=>array(66,0,496,716),108=>array(67,0,155,716),109=>array(65,0,769,530),110=>array(68,0,490,530),111=>array(35,-12,521,530),112=>array(68,-199,518,530),113=>array(38,-199,488,530),114=>array(64,0,346,530),115=>array(31,-12,461,530),116=>array(17,-7,269,700),117=>array(66,-12,487,518),118=>array(13,0,488,518),119=>array(5,0,717,518),120=>array(7,0,493,518),121=>array(16,-210,492,518),122=>array(20,0,479,518),123=>array(28,-210,310,728),124=>array(92,-199,168,716),125=>array(24,-210,306,728),126=>array(43,272,542,432),161=>array(110,-199,219,517),162=>array(55,-200,507,716),163=>array(15,-14,531,728),164=>array(38,115,518,594),165=>array(1,0,555,716),166=>array(92,-199,168,716),167=>array(42,-210,513,728),168=>array(31,611,302,711),169=>array(0,-9,737,728),170=>array(21,364,348,728),171=>array(69,35,487,481),172=>array(55,203,529,503),173=>array(32,215,301,303),174=>array(0,-9,737,728),175=>array(-6,793,506,843),176=>array(65,454,335,725),177=>array(55,0,529,611),178=>array(12,358,316,725),179=>array(16,349,315,725),180=>array(111,591,291,728),181=>array(67,-199,488,518),182=>array(-1,-199,539,716),183=>array(89,302,189,402),184=>array(52,-205,263,11),185=>array(52,358,232,725),186=>array(22,361,343,728),187=>array(69,35,487,481),188=>array(62,-25,789,732),189=>array(62,-25,806,732),190=>array(26,-25,789,732),191=>array(75,-209,537,519),192=>array(-1,0,668,900),193=>array(-1,0,668,900),194=>array(-1,0,668,900),195=>array(-1,0,668,886),196=>array(-1,0,668,881),197=>array(-1,0,668,920),198=>array(0,0,945,716),199=>array(51,-209,684,728),200=>array(79,0,614,900),201=>array(79,0,614,900),202=>array(79,0,614,900),203=>array(79,0,614,881),204=>array(15,0,195,900),205=>array(83,0,264,900),206=>array(-15,0,293,900),207=>array(3,0,274,881),208=>array(1,0,672,716),209=>array(79,0,642,884),210=>array(47,-12,732,900),211=>array(47,-12,732,900),212=>array(47,-12,732,900),213=>array(47,-12,732,884),214=>array(47,-12,732,881),215=>array(79,141,505,567),216=>array(41,-29,742,742),217=>array(79,-12,642,900),218=>array(79,-12,642,900),219=>array(79,-12,642,900),220=>array(79,-12,642,881),221=>array(5,0,661,900),222=>array(77,0,623,716),223=>array(72,-12,577,728),224=>array(38,-12,516,728),225=>array(38,-12,516,728),226=>array(38,-12,516,728),227=>array(38,-12,516,716),228=>array(38,-12,516,711),229=>array(38,-12,516,752),230=>array(34,-12,849,530),231=>array(39,-196,491,530),232=>array(39,-12,517,728),233=>array(39,-12,517,728),234=>array(39,-12,517,728),235=>array(39,-12,517,711),236=>array(13,0,193,728),237=>array(83,0,264,728),238=>array(-15,0,293,728),239=>array(5,0,276,711),240=>array(38,-12,517,716),241=>array(68,0,490,716),242=>array(35,-12,521,728),243=>array(35,-12,521,728),244=>array(35,-12,521,728),245=>array(35,-12,521,716),246=>array(35,-12,521,711),247=>array(55,146,529,560),248=>array(63,-39,549,550),249=>array(66,-12,487,728),250=>array(66,-12,487,728),251=>array(66,-12,487,728),252=>array(66,-12,487,711),253=>array(16,-210,492,728),254=>array(68,-199,518,716),255=>array(16,-210,492,711),256=>array(-1,0,668,833),257=>array(38,-12,516,697),258=>array(-1,0,668,888),259=>array(38,-12,516,722),260=>array(-1,-208,758,716),261=>array(38,-208,571,530),262=>array(51,-12,683,916),263=>array(39,-12,491,728),264=>array(51,-12,683,914),265=>array(39,-12,491,728),266=>array(51,-12,683,877),267=>array(39,-12,491,711),268=>array(51,-12,683,916),269=>array(39,-12,491,728),270=>array(80,0,672,916),271=>array(36,-12,625,716),272=>array(-1,0,672,716),273=>array(36,-12,551,716),274=>array(79,0,614,863),275=>array(39,-12,517,697),276=>array(79,0,614,902),277=>array(39,-12,517,722),278=>array(79,0,614,877),279=>array(39,-12,517,711),280=>array(79,-208,645,716),281=>array(39,-208,517,530),282=>array(79,0,614,916),283=>array(39,-12,517,728),284=>array(52,-12,714,914),285=>array(34,-210,491,728),286=>array(52,-12,714,904),287=>array(34,-210,491,722),288=>array(52,-12,714,877),289=>array(34,-210,491,711),290=>array(52,-210,714,728),291=>array(34,-210,491,775),292=>array(80,0,642,914),293=>array(67,0,490,914),294=>array(-1,0,722,716),295=>array(2,0,490,716),296=>array(-24,0,303,890),297=>array(-53,0,274,717),298=>array(-15,0,290,849),299=>array(-42,0,263,697),300=>array(-3,0,286,904),301=>array(-34,0,255,722),302=>array(91,-208,305,716),303=>array(45,-208,225,716),304=>array(92,0,187,877),305=>array(95,0,183,518),306=>array(92,-12,670,716),307=>array(67,-209,377,716),308=>array(27,-12,526,914),309=>array(-46,-209,263,728),310=>array(73,-210,665,716),311=>array(66,-210,496,716),312=>array(66,0,446,518),313=>array(75,0,523,916),314=>array(50,0,230,916),315=>array(75,-210,523,716),316=>array(58,-210,160,716),317=>array(-29,0,523,916),318=>array(-44,0,264,916),319=>array(75,0,523,716),320=>array(67,0,313,716),321=>array(0,0,521,716),322=>array(1,0,218,716),323=>array(79,0,642,916),324=>array(68,0,490,728),325=>array(79,-210,642,716),326=>array(68,-210,490,530),327=>array(79,0,642,916),328=>array(68,0,490,728),329=>array(-2,0,559,722),330=>array(81,-186,670,728),331=>array(68,-210,489,530),332=>array(47,-12,732,849),333=>array(35,-12,521,697),334=>array(47,-12,732,904),335=>array(35,-12,521,722),336=>array(47,-12,732,914),337=>array(35,-12,521,728),338=>array(63,-12,968,728),339=>array(38,-12,904,530),340=>array(80,0,711,914),341=>array(64,0,346,728),342=>array(80,-210,711,716),343=>array(54,-210,346,530),344=>array(80,0,711,916),345=>array(28,0,346,728),346=>array(45,-12,615,916),347=>array(31,-12,461,728),348=>array(45,-12,615,916),349=>array(31,-12,461,728),350=>array(45,-210,615,728),351=>array(31,-210,461,530),352=>array(45,-12,615,916),353=>array(31,-12,461,728),354=>array(22,-210,589,716),355=>array(17,-210,269,700),356=>array(22,0,589,916),357=>array(17,-7,406,716),358=>array(22,0,589,716),359=>array(17,-7,269,700),360=>array(79,-12,642,890),361=>array(66,-12,487,716),362=>array(79,-12,642,851),363=>array(66,-12,487,697),364=>array(79,-12,642,906),365=>array(66,-12,487,722),366=>array(79,-12,642,955),367=>array(66,-12,487,752),368=>array(79,-12,642,917),369=>array(66,-12,487,728),370=>array(79,-208,642,716),371=>array(66,-208,555,518),372=>array(12,0,933,916),373=>array(5,0,717,728),374=>array(5,0,661,916),375=>array(16,-210,492,728),376=>array(5,0,661,879),377=>array(18,0,584,916),378=>array(20,0,479,728),379=>array(18,0,584,877),380=>array(20,0,479,711),381=>array(18,0,584,916),382=>array(20,0,479,728),383=>array(67,0,292,728),384=>array(-14,-12,515,716),385=>array(0,0,688,716),386=>array(80,0,620,716),387=>array(65,-12,515,716),388=>array(67,-12,517,716),389=>array(67,-12,517,716),390=>array(39,-12,671,728),391=>array(51,-12,769,750),392=>array(39,-12,579,567),393=>array(1,0,672,716),394=>array(0,0,739,716),395=>array(35,0,575,716),396=>array(41,-12,491,716),397=>array(35,-198,522,530),398=>array(53,0,588,716),399=>array(45,-12,676,728),400=>array(42,-13,565,728),401=>array(-20,-154,563,716),402=>array(-14,-154,311,728),403=>array(52,-12,792,750),404=>array(0,-206,649,716),405=>array(67,-12,775,716),406=>array(67,-12,245,716),407=>array(0,0,322,716),408=>array(73,0,690,720),409=>array(66,0,496,728),410=>array(0,-12,322,716),411=>array(13,0,488,716),412=>array(65,-12,769,716),413=>array(-21,-154,642,716),414=>array(68,-199,490,530),415=>array(47,-12,732,728),416=>array(47,-12,776,768),417=>array(35,-12,555,606),418=>array(47,-12,950,728),419=>array(35,-209,715,530),420=>array(0,0,691,716),421=>array(68,-199,519,637),422=>array(80,-122,738,716),423=>array(52,-12,622,728),424=>array(39,-12,469,530),425=>array(47,0,554,716),426=>array(34,-154,405,734),427=>array(17,-151,269,700),428=>array(23,0,549,716),429=>array(17,-7,269,716),430=>array(22,-208,589,716),431=>array(79,-12,776,768),432=>array(66,-12,625,620),433=>array(67,-12,681,716),434=>array(6,0,620,728),435=>array(32,0,745,728),436=>array(16,-210,617,528),437=>array(18,0,584,716),438=>array(20,0,479,519),439=>array(40,-12,582,716),440=>array(46,-12,588,716),441=>array(42,-192,486,518),442=>array(36,-209,437,518),443=>array(31,0,505,728),444=>array(13,-12,516,716),445=>array(37,-12,486,518),446=>array(46,-10,508,716),447=>array(68,-199,498,529),448=>array(92,0,168,716),449=>array(92,0,372,716),450=>array(25,0,449,716),451=>array(85,0,194,716),452=>array(80,0,1303,896),453=>array(80,0,1202,728),454=>array(36,-12,1036,728),455=>array(75,-12,949,716),456=>array(75,-209,709,716),457=>array(67,-209,375,716),458=>array(79,-12,1141,716),459=>array(79,-209,875,716),460=>array(68,-209,709,716),461=>array(-1,0,668,900),462=>array(38,-12,516,728),463=>array(-17,0,292,900),464=>array(-18,0,291,728),465=>array(47,-12,732,900),466=>array(35,-12,521,728),467=>array(79,-12,642,900),468=>array(66,-12,487,728),469=>array(79,-12,642,1003),470=>array(66,-12,487,832),471=>array(79,-12,642,1068),472=>array(66,-12,487,896),473=>array(79,-12,642,1068),474=>array(66,-12,487,896),475=>array(79,-12,642,1068),476=>array(66,-12,487,896),477=>array(39,-11,517,530),478=>array(-1,0,668,1003),479=>array(38,-12,516,832),480=>array(-1,0,668,1003),481=>array(38,-12,516,832),482=>array(0,0,945,865),483=>array(34,-12,849,697),484=>array(52,-12,779,728),485=>array(34,-210,556,530),486=>array(52,-12,714,900),487=>array(34,-210,491,728),488=>array(73,0,665,900),489=>array(66,0,496,900),490=>array(47,-208,732,728),491=>array(33,-208,519,530),492=>array(47,-208,732,865),493=>array(33,-208,519,697),494=>array(48,6,492,898),495=>array(48,-192,492,728),496=>array(-48,-209,261,728),497=>array(80,0,1301,716),498=>array(80,0,1200,716),499=>array(36,-12,1034,716),500=>array(52,-12,714,900),501=>array(34,-210,491,728),506=>array(-1,0,668,1043),507=>array(38,-12,516,937),508=>array(0,0,945,898),509=>array(34,-12,849,728),510=>array(41,-29,742,898),511=>array(63,-39,549,728),512=>array(-1,0,668,894),513=>array(38,-12,516,728),514=>array(-1,0,668,888),515=>array(38,-12,516,722),516=>array(79,0,614,894),517=>array(39,-12,517,728),518=>array(79,0,614,888),519=>array(39,-12,517,722),520=>array(-55,0,291,894),521=>array(-53,0,292,728),522=>array(-3,0,286,888),523=>array(-5,0,284,722),524=>array(47,-12,732,894),525=>array(35,-12,521,728),526=>array(47,-12,732,888),527=>array(35,-12,521,722),528=>array(80,0,711,894),529=>array(14,0,359,728),530=>array(80,0,711,888),531=>array(38,0,346,722),532=>array(79,-12,642,894),533=>array(66,-12,487,728),534=>array(79,-12,642,888),535=>array(66,-12,487,722),592=>array(40,-12,518,530),593=>array(36,-12,486,530),594=>array(70,-12,520,530),595=>array(70,-12,520,716),596=>array(9,-12,461,530),597=>array(39,-91,482,530),598=>array(36,-210,611,716),599=>array(36,-12,611,716),600=>array(39,-12,522,530),601=>array(39,-12,517,530),602=>array(41,-12,772,530),603=>array(36,-12,450,530),604=>array(35,-12,449,530),605=>array(35,-12,701,530),606=>array(36,-12,483,530),607=>array(-51,-210,252,518),608=>array(34,-210,616,716),609=>array(34,-210,491,530),610=>array(36,-12,518,530),611=>array(13,-210,488,518),612=>array(13,-12,488,518),613=>array(66,-198,487,518),614=>array(67,0,490,716),615=>array(67,-210,490,716),616=>array(-2,0,244,716),617=>array(67,-12,280,518),618=>array(33,0,323,518),619=>array(7,0,349,716),620=>array(20,0,403,716),621=>array(67,-210,280,716),622=>array(67,-210,599,716),623=>array(64,-12,768,518),624=>array(64,-209,768,518),625=>array(65,-210,769,530),626=>array(-57,-210,490,530),627=>array(68,-210,615,530),628=>array(68,0,490,518),629=>array(35,-12,521,530),630=>array(36,-12,690,530),631=>array(36,-12,638,530),632=>array(36,-210,522,716),633=>array(-13,-12,269,518),634=>array(-13,-12,269,716),635=>array(-13,-210,394,518),636=>array(64,-198,346,530),637=>array(64,-210,346,530),638=>array(64,0,326,530),639=>array(-14,0,248,530),640=>array(64,0,518,518),641=>array(64,0,518,518),642=>array(31,-208,461,530),643=>array(-83,-210,299,716),644=>array(-53,-210,329,716),645=>array(-83,-210,299,716),646=>array(-125,-198,302,716),647=>array(9,-177,261,530),648=>array(17,-210,294,700),649=>array(20,-12,576,518),650=>array(36,-12,522,518),651=>array(66,-12,520,530),652=>array(13,0,488,518),653=>array(5,0,717,518),654=>array(8,0,484,728),655=>array(2,0,498,518),656=>array(20,-208,653,518),657=>array(20,-79,542,518),658=>array(22,-210,494,518),659=>array(26,-210,494,518),660=>array(16,0,428,728),661=>array(36,0,448,728),662=>array(16,-12,428,716),663=>array(39,-210,491,530),664=>array(36,-12,578,530),665=>array(74,0,496,518),666=>array(36,-12,483,530),667=>array(36,-12,582,616),668=>array(68,0,490,518),669=>array(-125,-198,248,716),670=>array(4,-198,434,518),671=>array(67,0,406,518),672=>array(36,-198,611,716),673=>array(16,0,428,728),674=>array(36,0,448,728),675=>array(36,-12,945,716),676=>array(36,-210,930,716),677=>array(36,-79,1008,716),678=>array(17,-12,650,700),679=>array(17,-210,540,728),680=>array(17,-91,700,700),688=>array(50,344,278,716),689=>array(50,344,278,716),690=>array(-10,235,103,716),691=>array(50,344,210,619),692=>array(-9,338,151,613),693=>array(-9,241,213,613),694=>array(50,344,292,613),695=>array(2,344,386,613),696=>array(8,235,274,613),697=>array(46,462,192,716),698=>array(46,462,342,716),699=>array(64,494,166,728),700=>array(56,482,158,716),701=>array(64,482,166,716),702=>array(44,497,178,716),703=>array(44,497,178,716),704=>array(9,428,230,720),705=>array(20,428,242,720),706=>array(57,423,264,675),707=>array(56,423,263,675),708=>array(34,445,286,652),709=>array(34,446,286,653),710=>array(12,591,321,728),711=>array(12,591,321,728),712=>array(66,506,126,716),713=>array(14,624,319,697),714=>array(111,591,291,728),715=>array(42,591,222,728),716=>array(66,-210,126,0),717=>array(14,-176,319,-113),718=>array(42,-210,222,-73),719=>array(111,-210,291,-73),720=>array(83,0,217,518),721=>array(83,382,217,518),722=>array(44,150,178,369),723=>array(44,150,178,369),724=>array(45,185,295,333),725=>array(45,185,295,333),726=>array(45,164,235,354),727=>array(65,254,297,300),728=>array(22,595,311,722),729=>array(121,611,211,711),730=>array(79,576,255,752),731=>array(89,-208,303,12),732=>array(3,605,330,716),733=>array(28,591,373,728),734=>array(20,195,329,389),736=>array(7,235,271,613),737=>array(50,344,103,716),738=>array(17,338,249,619),739=>array(4,344,271,613),740=>array(25,215,314,724),741=>array(22,0,280,716),742=>array(22,0,280,716),743=>array(22,0,280,716),744=>array(22,0,280,716),745=>array(22,0,280,716),768=>array(-368,591,-188,728),769=>array(-343,591,-163,728),770=>array(-432,591,-124,728),771=>array(-441,605,-114,716),772=>array(-430,624,-125,697),773=>array(-534,624,-22,674),774=>array(-422,595,-133,722),775=>array(-323,611,-233,711),776=>array(-414,611,-143,711),777=>array(-384,722,-172,895),778=>array(-366,574,-190,752),779=>array(-426,591,-81,728),780=>array(-432,591,-124,728),781=>array(-308,591,-248,801),782=>array(-383,591,-173,801),783=>array(-451,591,-105,728),784=>array(-422,595,-133,822),785=>array(-422,595,-133,722),786=>array(-333,591,-231,825),787=>array(-325,579,-223,813),788=>array(-333,579,-231,813),789=>array(7,482,109,716),790=>array(-368,-210,-188,-73),791=>array(-343,-210,-163,-73),792=>array(-337,-252,-219,-62),793=>array(-337,-252,-219,-62),794=>array(-392,591,-164,769),795=>array(-100,330,55,606),796=>array(-326,-210,-230,-40),797=>array(-403,-210,-153,-62),798=>array(-403,-210,-153,-62),799=>array(-373,-252,-183,-62),800=>array(-404,-165,-152,-119),801=>array(-397,-208,-158,20),802=>array(-272,-208,-33,20),803=>array(-323,-210,-233,-110),804=>array(-414,-210,-143,-110),805=>array(-366,-210,-190,-32),806=>array(-325,-210,-223,-46),807=>array(-381,-205,-169,11),808=>array(-326,-208,-112,12),809=>array(-308,-210,-248,-40),810=>array(-407,-190,-148,-77),811=>array(-414,-205,-142,-43),812=>array(-432,-210,-124,-73),813=>array(-432,-210,-124,-73),814=>array(-422,-200,-133,-73),815=>array(-422,-200,-133,-73),816=>array(-441,-185,-114,-72),817=>array(-430,-179,-125,-106),818=>array(-534,-125,-22,-75),819=>array(-534,-210,-22,-55),820=>array(-441,203,-114,316),821=>array(-430,223,-125,296),822=>array(-500,223,-56,296),823=>array(-458,84,-98,434),824=>array(-678,-24,-100,716),825=>array(-311,-210,-216,-40),826=>array(-407,-190,-148,-77),827=>array(-359,-210,-196,-47),828=>array(-414,-186,-142,-83),829=>array(-412,558,-144,790),830=>array(-333,595,-222,922),831=>array(-534,624,-22,779),832=>array(-368,722,-188,859),833=>array(-343,722,-163,859),834=>array(-441,604,-114,717),835=>array(-325,613,-223,847),836=>array(-456,585,-100,720),837=>array(-301,-210,-180,-60),864=>array(-1011,604,-101,716),865=>array(-1000,595,-112,722),884=>array(30,464,301,716),885=>array(30,-132,301,120),890=>array(80,-208,258,-42),894=>array(84,-141,190,518),900=>array(89,600,208,736),901=>array(-27,600,304,736),902=>array(-1,0,668,736),903=>array(89,303,189,403),904=>array(-43,0,651,736),905=>array(-43,0,679,736),906=>array(-43,0,224,736),908=>array(-6,-12,732,736),910=>array(-43,0,740,736),911=>array(-6,0,706,736),912=>array(-56,0,275,736),913=>array(-1,0,668,716),914=>array(74,0,615,716),915=>array(81,0,528,716),916=>array(6,0,675,716),917=>array(79,0,614,716),918=>array(18,0,584,716),919=>array(80,0,642,716),920=>array(47,-12,732,728),921=>array(92,0,187,716),922=>array(73,0,665,716),923=>array(5,0,659,716),924=>array(76,0,757,716),925=>array(79,0,642,716),926=>array(53,0,597,716),927=>array(47,-12,732,728),928=>array(80,0,642,716),929=>array(77,0,623,716),931=>array(47,0,554,716),932=>array(22,0,589,716),933=>array(5,0,661,716),934=>array(47,-26,761,737),935=>array(5,0,661,716),936=>array(46,0,759,716),937=>array(52,0,706,728),938=>array(3,0,274,860),939=>array(5,0,661,860),940=>array(35,-12,541,736),941=>array(29,-12,405,736),942=>array(68,-199,490,736),943=>array(67,0,188,736),944=>array(68,-12,483,736),945=>array(35,-12,541,530),946=>array(66,-199,528,728),947=>array(13,-199,488,518),948=>array(35,-12,522,716),949=>array(29,-12,405,530),950=>array(35,-210,433,716),951=>array(68,-199,490,530),952=>array(45,-12,511,728),953=>array(67,0,155,518),954=>array(65,0,499,518),955=>array(13,0,488,716),956=>array(66,-199,487,518),957=>array(13,0,488,518),958=>array(35,-210,420,728),959=>array(35,-12,521,530),960=>array(16,0,662,518),961=>array(66,-199,536,530),962=>array(35,-210,465,530),963=>array(35,-12,597,534),964=>array(16,0,366,518),965=>array(68,-12,483,518),966=>array(35,-199,614,530),967=>array(7,-199,515,518),968=>array(66,-199,662,518),969=>array(35,-12,731,518),970=>array(-25,0,246,711),971=>array(68,-12,483,711),972=>array(35,-12,521,736),973=>array(68,-12,483,736),974=>array(35,-12,731,736),976=>array(66,-12,528,728),977=>array(23,-12,595,728),978=>array(6,0,627,719),979=>array(-42,0,723,736),980=>array(6,0,627,861),981=>array(35,-199,609,716),982=>array(19,-12,746,518),986=>array(51,-210,671,728),988=>array(80,-209,529,716),990=>array(46,-209,524,728),992=>array(25,-12,645,728),994=>array(80,-209,800,716),995=>array(63,-209,767,518),996=>array(58,0,604,720),997=>array(46,-199,492,521),998=>array(80,-187,626,716),999=>array(25,-13,494,589),1000=>array(46,-12,511,728),1001=>array(48,-196,463,530),1002=>array(3,0,621,716),1003=>array(15,0,591,530),1004=>array(62,-12,596,747),1005=>array(35,-12,597,576),1006=>array(19,0,549,716),1007=>array(11,-196,423,606),1008=>array(20,-11,580,528),1009=>array(66,-209,536,530),1010=>array(39,-12,491,530),1011=>array(-45,-209,155,716),1025=>array(79,0,614,859),1026=>array(25,-11,826,716),1027=>array(80,0,543,869),1028=>array(47,-12,680,728),1029=>array(45,-12,615,728),1030=>array(92,0,187,716),1031=>array(1,0,272,859),1032=>array(27,-12,420,716),1033=>array(9,-11,1070,716),1034=>array(80,0,973,716),1035=>array(24,0,809,716),1036=>array(80,0,580,869),1038=>array(5,-9,633,881),1039=>array(80,-199,643,716),1040=>array(-1,0,668,716),1041=>array(80,0,620,716),1042=>array(74,0,615,716),1043=>array(80,0,543,716),1044=>array(1,-167,642,716),1045=>array(79,0,614,716),1046=>array(3,0,919,716),1047=>array(39,-13,562,728),1048=>array(79,0,643,716),1049=>array(79,0,643,881),1050=>array(80,0,580,717),1051=>array(9,-11,625,716),1052=>array(76,0,757,716),1053=>array(80,0,642,716),1054=>array(47,-12,732,728),1055=>array(80,0,643,716),1056=>array(77,0,623,716),1057=>array(51,-12,683,728),1058=>array(22,0,589,716),1059=>array(5,-9,633,716),1060=>array(40,0,720,716),1061=>array(5,0,661,716),1062=>array(78,-199,706,716),1063=>array(58,0,604,716),1064=>array(80,0,840,716),1065=>array(80,-199,904,716),1066=>array(0,0,757,716),1067=>array(80,0,801,716),1068=>array(80,0,620,716),1069=>array(38,-12,671,728),1070=>array(80,-12,960,728),1071=>array(11,0,642,716),1072=>array(38,-12,516,530),1073=>array(45,-12,532,732),1074=>array(66,0,492,518),1075=>array(66,0,364,518),1076=>array(0,-147,553,518),1077=>array(39,-12,517,530),1078=>array(-3,0,671,518),1079=>array(24,-12,423,530),1080=>array(66,0,493,518),1081=>array(66,0,493,716),1082=>array(66,0,446,518),1083=>array(11,-3,505,518),1084=>array(66,0,617,518),1085=>array(66,0,486,518),1086=>array(35,-12,521,530),1087=>array(67,0,476,518),1088=>array(68,-199,518,530),1089=>array(39,-12,491,530),1090=>array(18,0,439,518),1091=>array(16,-210,492,518),1092=>array(37,-199,788,716),1093=>array(7,0,493,518),1094=>array(66,-199,532,518),1095=>array(46,0,467,518),1096=>array(69,0,734,518),1097=>array(69,-199,792,518),1098=>array(0,0,589,518),1099=>array(66,0,646,518),1100=>array(66,0,492,518),1101=>array(24,-11,474,530),1102=>array(66,-11,709,530),1103=>array(16,0,475,518),1105=>array(39,-12,517,720),1106=>array(2,-209,490,716),1107=>array(66,0,364,720),1108=>array(37,-11,487,530),1109=>array(31,-12,461,530),1110=>array(67,0,155,716),1111=>array(4,0,275,720),1112=>array(-45,-209,155,716),1113=>array(11,-3,842,518),1114=>array(66,0,780,518),1115=>array(2,0,490,716),1116=>array(66,0,446,720),1118=>array(16,-210,492,716),1119=>array(67,-199,476,518),1120=>array(47,-12,929,730),1121=>array(35,-12,731,518),1122=>array(0,0,622,716),1123=>array(-2,0,491,716),1124=>array(92,-12,912,728),1125=>array(68,-11,671,530),1126=>array(-2,0,668,716),1127=>array(0,0,595,518),1128=>array(92,0,952,716),1129=>array(68,0,817,518),1130=>array(0,0,654,716),1131=>array(1,0,599,518),1132=>array(92,0,932,716),1133=>array(68,0,820,518),1134=>array(37,-209,562,898),1135=>array(28,-209,423,728),1136=>array(46,0,759,716),1137=>array(66,-199,662,518),1138=>array(47,-12,732,728),1139=>array(35,-11,521,530),1140=>array(6,0,674,716),1141=>array(13,0,497,518),1142=>array(6,0,674,898),1143=>array(13,0,497,728),1144=>array(47,-210,1268,728),1145=>array(35,-210,1049,530),1146=>array(47,-36,732,750),1147=>array(35,-24,521,542),1148=>array(47,-12,929,926),1149=>array(35,-12,731,758),1150=>array(47,-12,929,880),1151=>array(35,-12,731,711),1152=>array(51,-97,672,728),1153=>array(39,-143,482,530),1154=>array(55,0,631,716),1155=>array(2,621,332,758),1156=>array(4,613,380,774),1157=>array(2,621,332,758),1158=>array(2,621,332,758),1168=>array(80,0,412,883),1169=>array(66,0,321,666),1170=>array(0,0,543,716),1171=>array(-2,0,364,518),1172=>array(80,-185,622,716),1173=>array(67,-209,490,716),1174=>array(3,-199,919,716),1175=>array(-3,-199,671,518),1176=>array(39,-205,562,728),1177=>array(24,-205,423,530),1178=>array(80,-199,580,717),1179=>array(66,-199,446,518),1180=>array(80,0,580,717),1181=>array(66,0,446,518),1182=>array(0,0,580,717),1183=>array(-2,0,446,518),1184=>array(24,0,762,717),1185=>array(0,0,544,518),1186=>array(80,-199,707,716),1187=>array(66,-199,543,518),1188=>array(80,0,880,716),1189=>array(66,0,653,518),1190=>array(80,-174,704,716),1191=>array(67,-174,537,518),1192=>array(47,-154,732,728),1193=>array(35,-141,550,530),1194=>array(51,-208,684,728),1195=>array(39,-208,491,530),1196=>array(21,-199,589,716),1197=>array(18,-199,439,518),1198=>array(5,0,661,716),1199=>array(13,-199,488,518),1200=>array(5,0,661,716),1201=>array(13,-199,488,518),1202=>array(4,-199,660,716),1203=>array(7,-199,493,518),1204=>array(16,-199,882,716),1205=>array(18,-199,631,518),1206=>array(58,-199,670,716),1207=>array(46,-199,524,518),1208=>array(58,0,604,716),1209=>array(46,0,467,518),1210=>array(81,0,627,716),1211=>array(67,0,490,716),1212=>array(7,-12,784,728),1213=>array(7,-11,624,530),1214=>array(7,-208,784,728),1215=>array(7,-208,624,530),1216=>array(92,0,187,716),1217=>array(3,0,919,881),1218=>array(-3,0,671,716),1219=>array(80,-174,580,717),1220=>array(66,-174,445,519),1223=>array(80,-174,703,716),1224=>array(66,-174,547,518),1227=>array(58,-199,604,716),1228=>array(46,-199,467,518),1232=>array(-2,0,668,881),1233=>array(38,-12,516,716),1234=>array(-1,0,668,861),1235=>array(38,-12,516,721),1236=>array(0,0,945,716),1237=>array(34,-12,849,530),1238=>array(79,0,613,881),1239=>array(39,-12,517,716),1240=>array(45,-12,676,728),1241=>array(39,-11,517,530),1242=>array(45,-12,676,859),1243=>array(39,-11,517,719),1244=>array(3,0,919,859),1245=>array(-3,0,671,721),1246=>array(39,-13,562,861),1247=>array(24,-12,423,721),1248=>array(39,-13,562,716),1249=>array(24,-206,457,518),1250=>array(79,0,643,833),1251=>array(66,0,493,697),1252=>array(79,0,643,861),1253=>array(66,0,493,721),1254=>array(47,-12,732,861),1255=>array(35,-12,521,721),1256=>array(47,-12,732,728),1257=>array(35,-11,521,530),1258=>array(47,-12,732,861),1259=>array(35,-11,521,721),1262=>array(5,-9,633,833),1263=>array(16,-210,492,697),1264=>array(5,-9,633,861),1265=>array(16,-210,492,721),1266=>array(5,-9,633,898),1267=>array(16,-210,492,728),1268=>array(58,0,604,861),1269=>array(46,0,467,721),1272=>array(80,0,801,861),1273=>array(66,0,646,721),1329=>array(25,-9,618,678),1330=>array(90,-1,481,685),1331=>array(31,-1,563,684),1332=>array(34,-1,564,684),1333=>array(30,-11,468,677),1334=>array(56,-22,510,692),1335=>array(27,-185,407,671),1336=>array(89,-96,476,684),1337=>array(98,0,722,683),1338=>array(46,-11,613,678),1339=>array(24,-2,503,676),1340=>array(28,-185,357,672),1341=>array(24,-12,539,676),1342=>array(38,-11,675,676),1343=>array(32,-2,462,676),1344=>array(28,-61,410,690),1345=>array(31,-11,515,689),1346=>array(27,-96,559,683),1347=>array(63,0,487,708),1348=>array(26,-11,620,677),1349=>array(101,-10,631,684),1350=>array(36,-11,594,685),1351=>array(32,-11,602,684),1352=>array(90,-1,460,684),1353=>array(69,-19,489,689),1354=>array(78,-1,614,683),1355=>array(55,-23,508,690),1356=>array(86,-2,619,683),1357=>array(30,-12,462,675),1358=>array(37,-96,665,676),1359=>array(101,-11,501,683),1360=>array(87,-7,452,677),1361=>array(104,-15,498,680),1362=>array(23,-7,511,671),1363=>array(106,-6,608,672),1364=>array(35,-8,675,678),1365=>array(100,-16,547,679),1366=>array(76,-15,713,680),1369=>array(87,485,211,705),1370=>array(83,485,207,705),1371=>array(34,485,114,702),1372=>array(20,425,282,702),1373=>array(87,518,210,699),1374=>array(14,476,257,702),1375=>array(38,484,397,702),1377=>array(39,-8,552,315),1378=>array(52,-210,400,319),1379=>array(52,-210,402,319),1380=>array(49,-210,433,319),1381=>array(49,-8,391,613),1382=>array(48,-210,409,319),1383=>array(50,-122,393,613),1384=>array(52,-210,395,319),1385=>array(49,-210,437,319),1386=>array(40,-8,430,613),1387=>array(44,-210,394,613),1388=>array(37,-210,309,315),1389=>array(38,-210,482,613),1390=>array(45,-8,413,580),1391=>array(53,-210,391,613),1392=>array(45,0,398,613),1393=>array(51,-8,397,561),1394=>array(50,-210,401,319),1395=>array(8,-8,386,618),1396=>array(44,-8,404,618),1397=>array(6,-210,197,315),1398=>array(90,-9,394,618),1399=>array(37,-8,359,319),1400=>array(50,0,397,319),1401=>array(79,-210,318,376),1402=>array(39,-210,551,315),1403=>array(55,-210,411,319),1404=>array(29,0,420,319),1405=>array(49,-9,393,315),1406=>array(43,-210,393,613),1407=>array(42,-8,550,319),1408=>array(52,-210,399,319),1409=>array(49,-210,393,319),1410=>array(32,0,308,315),1411=>array(39,-210,550,613),1412=>array(47,0,337,618),1413=>array(52,-8,336,319),1414=>array(78,-210,541,610),1415=>array(49,-8,502,613),1417=>array(80,-21,197,335),1425=>array(97,-194,263,-63),1426=>array(37,568,323,664),1427=>array(112,569,249,789),1428=>array(147,568,213,728),1429=>array(106,568,262,728),1430=>array(104,-195,256,-43),1431=>array(133,568,227,662),1432=>array(82,568,278,684),1433=>array(0,568,152,720),1434=>array(229,-205,340,-43),1435=>array(104,-195,256,-43),1436=>array(104,568,256,720),1437=>array(208,568,360,720),1438=>array(108,568,360,750),1439=>array(12,568,348,716),1440=>array(200,568,348,716),1441=>array(58,568,303,716),1443=>array(92,-191,221,-62),1444=>array(117,-205,228,-43),1445=>array(104,-195,256,-43),1446=>array(54,-215,306,-33),1447=>array(117,-209,242,-35),1448=>array(104,568,256,720),1449=>array(12,568,160,716),1450=>array(97,-194,263,-63),1451=>array(117,568,228,730),1452=>array(92,580,221,709),1453=>array(208,-195,360,-43),1454=>array(0,568,196,684),1455=>array(125,568,235,678),1456=>array(147,-210,213,-50),1457=>array(53,-210,307,-50),1458=>array(69,-210,285,-50),1459=>array(69,-210,285,-50),1460=>array(147,-116,213,-50),1461=>array(100,-116,260,-50),1462=>array(100,-210,260,-50),1463=>array(119,-104,241,-62),1464=>array(119,-144,241,-62),1465=>array(147,568,213,634),1467=>array(53,-210,307,-50),1468=>array(147,231,213,297),1469=>array(159,-184,201,-62),1470=>array(24,430,342,518),1471=>array(119,580,241,622),1472=>array(72,-80,154,598),1473=>array(147,568,213,634),1474=>array(147,568,213,634),1475=>array(69,0,169,518),1476=>array(147,568,213,634),1488=>array(60,0,517,518),1489=>array(38,0,533,530),1490=>array(20,0,386,530),1491=>array(24,0,482,518),1492=>array(72,0,526,530),1493=>array(16,0,248,530),1494=>array(28,0,306,543),1495=>array(72,0,526,530),1496=>array(68,-12,532,530),1497=>array(16,258,248,530),1498=>array(20,-199,439,530),1499=>array(38,-12,469,530),1500=>array(33,-12,436,716),1501=>array(72,0,526,518),1502=>array(30,0,526,530),1503=>array(16,-199,248,530),1504=>array(38,0,270,530),1505=>array(25,-12,546,530),1506=>array(32,-82,503,518),1507=>array(45,-199,499,530),1508=>array(37,-12,511,530),1509=>array(37,-199,468,518),1510=>array(45,0,477,518),1511=>array(72,-199,535,518),1512=>array(20,0,439,530),1513=>array(72,-12,674,518),1514=>array(21,-13,565,530),1520=>array(16,0,522,530),1521=>array(16,0,522,530),1522=>array(16,258,522,530),1523=>array(45,398,221,641),1524=>array(45,398,417,641),1548=>array(90,-3,196,238),1563=>array(90,0,196,479),1567=>array(47,0,509,728),1569=>array(54,0,469,422),1570=>array(-23,0,270,862),1571=>array(46,0,188,933),1572=>array(-108,-210,408,761),1573=>array(46,-174,188,716),1574=>array(32,-121,679,453),1575=>array(79,0,164,716),1576=>array(62,-190,709,265),1577=>array(62,-6,452,633),1578=>array(62,-50,709,437),1579=>array(62,-50,709,539),1580=>array(52,-271,564,453),1581=>array(52,-271,564,453),1582=>array(52,-271,564,621),1583=>array(38,0,368,437),1584=>array(38,0,368,629),1585=>array(-74,-210,357,290),1586=>array(-74,-210,357,470),1587=>array(39,-228,1115,346),1588=>array(39,-228,1115,604),1589=>array(39,-228,1230,436),1590=>array(39,-228,1230,532),1591=>array(59,0,782,686),1592=>array(59,0,782,686),1593=>array(53,-271,565,492),1594=>array(53,-271,565,725),1600=>array(-1,0,280,95),1601=>array(62,0,895,773),1602=>array(34,-214,738,678),1603=>array(62,0,689,716),1604=>array(34,-121,594,716),1605=>array(58,-265,527,359),1606=>array(62,-121,630,456),1607=>array(62,-6,452,431),1608=>array(-108,-210,408,476),1609=>array(32,-121,679,453),1610=>array(32,-238,679,453),1611=>array(10,716,290,944),1612=>array(4,716,292,990),1613=>array(8,-255,288,-78),1614=>array(10,716,290,859),1615=>array(4,716,292,990),1616=>array(8,-170,288,-78),1617=>array(7,716,299,936),1618=>array(3,716,201,965),1632=>array(130,59,348,260),1633=>array(99,0,282,576),1634=>array(35,0,451,576),1635=>array(39,0,473,576),1636=>array(63,-6,443,586),1637=>array(45,-6,435,576),1638=>array(29,0,450,576),1639=>array(21,-6,459,576),1640=>array(21,0,459,582),1641=>array(42,0,466,582),1642=>array(37,-3,516,579),1643=>array(-19,-151,205,100),1644=>array(90,-3,196,238),1645=>array(20,163,418,576),1648=>array(127,716,173,984),1649=>array(-15,0,256,927),1650=>array(-47,0,196,936),1651=>array(-55,-257,188,716),1652=>array(46,716,188,933),1653=>array(79,0,384,777),1654=>array(-108,-210,551,641),1655=>array(-108,-210,551,754),1656=>array(32,-121,775,621),1657=>array(62,-50,709,569),1658=>array(62,-50,709,568),1659=>array(62,-271,709,265),1660=>array(62,-161,709,437),1661=>array(62,-50,709,539),1662=>array(62,-271,709,265),1663=>array(62,-50,709,569),1664=>array(62,-271,709,265),1665=>array(52,-271,564,621),1666=>array(52,-271,564,724),1667=>array(52,-271,564,453),1668=>array(52,-271,564,453),1669=>array(52,-271,564,695),1670=>array(52,-271,564,453),1671=>array(52,-271,564,453),1672=>array(38,0,368,746),1673=>array(38,-95,368,437),1674=>array(38,-155,368,437),1675=>array(38,-155,368,746),1676=>array(38,0,368,614),1677=>array(38,-140,368,437),1678=>array(38,0,368,716),1679=>array(38,0,368,716),1680=>array(38,0,368,746),1681=>array(-74,-210,360,587),1682=>array(-74,-210,357,526),1683=>array(-74,-258,357,290),1684=>array(-74,-267,378,290),1685=>array(-74,-269,442,290),1686=>array(-74,-267,378,290),1687=>array(-74,-210,360,455),1688=>array(-74,-210,360,557),1689=>array(-74,-210,357,587),1690=>array(39,-228,1115,517),1691=>array(39,-254,1115,346),1692=>array(39,-254,1115,603),1693=>array(39,-228,1230,436),1694=>array(39,-228,1230,619),1695=>array(59,0,782,686),1696=>array(53,-271,565,749),1697=>array(62,0,895,556),1698=>array(62,-134,895,556),1699=>array(62,-134,895,773),1700=>array(62,0,895,860),1701=>array(62,-221,895,556),1702=>array(62,0,895,891),1703=>array(34,-214,738,693),1704=>array(34,-214,738,780),1705=>array(62,0,827,717),1706=>array(62,0,997,717),1707=>array(62,0,827,717),1708=>array(62,0,689,759),1709=>array(62,0,689,846),1710=>array(62,-223,689,716),1711=>array(62,0,827,793),1712=>array(62,0,827,793),1713=>array(62,0,827,863),1714=>array(62,-169,827,793),1715=>array(62,-271,827,793),1716=>array(62,0,827,942),1717=>array(34,-121,618,952),1718=>array(34,-121,594,914),1719=>array(34,-121,647,1001),1722=>array(62,-121,630,272),1723=>array(62,-121,630,570),1724=>array(62,-232,630,455),1725=>array(62,-121,630,540),1726=>array(29,-15,644,593),1728=>array(62,-6,452,705),1729=>array(2,-85,510,159),1730=>array(2,-85,510,431),1731=>array(2,-85,510,347),1732=>array(-108,-210,408,476),1733=>array(-108,-210,408,476),1734=>array(-108,-210,408,712),1735=>array(-108,-210,408,758),1736=>array(-108,-210,408,789),1737=>array(-108,-210,408,713),1738=>array(-108,-210,408,655),1739=>array(-108,-210,408,757),1740=>array(32,-121,679,453),1741=>array(-4,-121,789,453),1742=>array(32,-121,679,576),1744=>array(32,-271,679,493),1745=>array(32,-263,679,493),1746=>array(71,-221,684,297),1747=>array(71,-221,684,349),1748=>array(-1,190,280,285),1749=>array(62,-6,452,431),1750=>array(27,352,699,802),1751=>array(27,352,531,802),1752=>array(35,573,287,788),1753=>array(5,573,284,1002),1754=>array(34,354,341,789),1755=>array(25,635,347,869),1756=>array(23,436,669,781),1757=>array(34,27,654,647),1758=>array(2,-87,850,761),1759=>array(78,687,209,808),1760=>array(78,687,209,808),1761=>array(-1,576,340,848),1762=>array(34,414,316,789),1763=>array(23,-267,669,78),1764=>array(-14,714,162,756),1765=>array(-42,395,268,807),1766=>array(36,443,404,754),1767=>array(36,443,404,754),1768=>array(37,573,378,919),1769=>array(34,0,480,736),1770=>array(35,-161,183,-13),1771=>array(35,641,183,789),1772=>array(35,641,183,789),1773=>array(34,-270,316,105),1776=>array(130,59,348,260),1777=>array(99,0,282,576),1778=>array(35,0,451,576),1779=>array(39,0,473,576),1780=>array(35,0,471,661),1781=>array(30,-6,450,576),1782=>array(94,0,403,576),1783=>array(21,-6,459,576),1784=>array(21,0,459,582),1785=>array(42,0,466,582),2305=>array(-375,608,-50,889),2306=>array(-239,608,-109,843),2307=>array(78,69,216,513),2309=>array(42,-17,706,608),2310=>array(42,-18,923,608),2311=>array(-1,-114,545,608),2312=>array(-1,-114,545,891),2313=>array(-1,11,603,608),2314=>array(-1,11,726,608),2315=>array(-1,-44,933,608),2316=>array(-1,-44,690,608),2317=>array(-1,-187,624,864),2318=>array(-1,-187,624,886),2319=>array(-1,-187,624,608),2320=>array(-1,-187,624,889),2321=>array(42,-18,923,864),2322=>array(42,-18,923,886),2323=>array(42,-14,922,889),2324=>array(42,-17,922,892),2325=>array(-1,-17,680,608),2326=>array(-1,-15,745,608),2327=>array(-1,-15,605,608),2328=>array(-1,-17,652,608),2329=>array(-1,0,636,608),2330=>array(-1,-15,700,608),2331=>array(-1,-80,726,608),2332=>array(-1,-17,700,608),2333=>array(-1,-17,725,608),2334=>array(-1,-15,710,608),2335=>array(-1,0,515,608),2336=>array(-1,0,545,608),2337=>array(-1,0,595,608),2338=>array(-1,0,535,608),2339=>array(-1,-17,706,608),2340=>array(-1,-17,598,608),2341=>array(42,-14,650,608),2342=>array(-1,-14,545,608),2343=>array(42,-18,653,616),2344=>array(-1,-15,598,608),2345=>array(-1,-33,598,608),2346=>array(-1,-17,578,608),2347=>array(-2,-15,712,608),2348=>array(-1,-17,604,608),2349=>array(39,-17,702,608),2350=>array(-1,-17,646,608),2351=>array(-1,-17,613,608),2352=>array(-1,-14,499,608),2353=>array(-1,-19,499,608),2354=>array(-1,-14,692,608),2355=>array(-1,0,742,608),2356=>array(-1,-122,742,608),2357=>array(-1,-15,604,608),2358=>array(38,-18,696,616),2359=>array(-1,-15,621,608),2360=>array(-1,-17,659,608),2361=>array(-1,-238,559,608),2364=>array(-404,-197,-274,-67),2365=>array(28,50,386,608),2366=>array(-1,-17,332,608),2367=>array(-1,-15,776,895),2368=>array(-254,-15,332,895),2369=>array(-463,-256,-31,7),2370=>array(-345,-262,84,7),2371=>array(-330,-249,-50,13),2372=>array(-321,-271,-24,46),2373=>array(-338,608,-49,864),2374=>array(-546,598,-135,886),2375=>array(-534,598,-135,889),2376=>array(-475,599,-135,892),2377=>array(-19,-17,332,864),2378=>array(-228,-17,332,886),2379=>array(-260,-17,332,889),2380=>array(-152,-17,332,892),2381=>array(-251,-271,32,0),2384=>array(47,97,830,792),2385=>array(-212,608,-135,788),2386=>array(-612,-99,0,-29),2387=>array(-349,645,-184,832),2388=>array(-261,645,-96,832),2392=>array(-1,-17,680,608),2393=>array(-1,-104,745,608),2394=>array(-1,-54,605,608),2395=>array(-1,-66,700,608),2396=>array(-1,-67,595,608),2397=>array(-1,-77,535,608),2398=>array(-2,-15,712,608),2399=>array(-1,-38,613,608),2400=>array(-1,-71,933,608),2401=>array(-1,-71,690,608),2402=>array(-418,-271,26,13),2403=>array(-418,-271,60,13),2404=>array(128,-17,203,617),2405=>array(128,-17,385,616),2406=>array(147,115,491,468),2407=>array(179,-134,455,689),2408=>array(99,-123,542,644),2409=>array(125,-106,492,677),2410=>array(12,112,617,685),2411=>array(82,-149,576,658),2412=>array(118,-130,545,653),2413=>array(73,23,570,569),2414=>array(84,29,570,667),2415=>array(119,-92,575,648),2416=>array(64,292,298,525),2433=>array(-296,703,10,875),2434=>array(66,-56,396,605),2435=>array(92,0,338,606),2437=>array(0,0,794,607),2438=>array(0,0,1039,690),2439=>array(0,-94,590,875),2440=>array(0,-22,611,875),2441=>array(0,1,656,875),2442=>array(0,0,765,875),2443=>array(54,0,766,688),2444=>array(33,1,596,651),2447=>array(38,0,593,605),2448=>array(38,0,701,876),2451=>array(57,1,629,609),2452=>array(57,1,728,876),2453=>array(0,0,787,607),2454=>array(54,0,663,625),2455=>array(44,0,614,607),2456=>array(0,0,658,607),2457=>array(51,0,621,607),2458=>array(0,0,563,607),2459=>array(0,-93,593,607),2460=>array(0,-42,737,607),2461=>array(0,0,761,607),2462=>array(38,0,829,606),2463=>array(0,0,575,875),2464=>array(0,0,634,876),2465=>array(0,1,656,607),2466=>array(0,0,575,607),2467=>array(55,0,606,607),2468=>array(0,1,688,607),2469=>array(50,0,653,607),2470=>array(0,-24,617,607),2471=>array(45,0,604,624),2472=>array(0,0,603,607),2474=>array(44,0,643,607),2475=>array(0,0,789,607),2476=>array(0,0,601,607),2477=>array(0,2,685,607),2478=>array(0,0,629,607),2479=>array(0,0,609,607),2480=>array(0,-18,601,607),2482=>array(0,-0,648,607),2486=>array(0,0,606,626),2487=>array(0,0,604,607),2488=>array(0,0,645,607),2489=>array(0,-94,590,607),2492=>array(-366,-164,-233,-32),2494=>array(0,0,253,690),2495=>array(0,0,531,850),2496=>array(-334,0,253,875),2497=>array(-357,-269,39,5),2498=>array(-359,-269,21,-73),2499=>array(-314,-270,-60,-77),2500=>array(-380,-271,98,24),2503=>array(0,1,317,607),2504=>array(0,1,317,875),2507=>array(0,0,940,690),2508=>array(0,0,940,875),2509=>array(-187,-267,26,-73),2519=>array(-250,0,253,875),2524=>array(0,-164,656,607),2525=>array(0,-164,561,607),2527=>array(0,-42,604,607),2528=>array(54,-93,766,688),2529=>array(33,-271,596,651),2530=>array(-381,-271,-4,23),2531=>array(-401,-271,333,151),2534=>array(62,55,548,550),2535=>array(46,0,513,624),2536=>array(58,-51,583,636),2537=>array(53,2,671,606),2538=>array(67,0,547,653),2539=>array(62,1,632,638),2540=>array(52,1,616,622),2541=>array(69,0,498,624),2542=>array(55,0,641,622),2543=>array(53,1,559,622),2544=>array(0,0,601,607),2545=>array(0,-51,601,607),2546=>array(36,0,581,606),2547=>array(-87,0,575,875),2548=>array(26,0,571,606),2549=>array(44,1,669,606),2550=>array(54,0,624,606),2551=>array(103,0,165,607),2552=>array(52,0,564,605),2553=>array(48,154,376,451),2554=>array(74,349,492,788),2562=>array(-156,578,-79,731),2565=>array(0,0,696,578),2566=>array(0,0,940,578),2567=>array(0,0,808,822),2568=>array(0,0,808,822),2569=>array(0,-267,683,839),2570=>array(0,-267,683,839),2575=>array(0,2,562,793),2576=>array(0,0,696,839),2579=>array(0,-2,683,836),2580=>array(0,0,696,839),2581=>array(0,0,607,578),2582=>array(0,0,572,578),2583=>array(0,0,646,578),2584=>array(0,0,692,578),2585=>array(0,0,570,578),2586=>array(0,1,597,578),2587=>array(0,0,607,578),2588=>array(0,0,596,578),2589=>array(0,0,546,578),2590=>array(0,0,563,578),2591=>array(0,0,548,578),2592=>array(0,0,586,578),2593=>array(0,0,601,578),2594=>array(0,0,645,578),2595=>array(0,0,645,578),2596=>array(0,0,596,578),2597=>array(0,0,569,578),2598=>array(0,0,645,578),2599=>array(0,0,569,578),2600=>array(0,0,587,578),2602=>array(0,0,569,578),2603=>array(0,0,556,578),2604=>array(0,0,564,578),2605=>array(0,0,554,578),2606=>array(0,0,563,578),2607=>array(0,0,657,578),2608=>array(0,4,545,578),2610=>array(0,-0,682,578),2611=>array(0,-96,682,578),2613=>array(0,0,606,578),2614=>array(0,0,563,578),2616=>array(0,0,563,578),2617=>array(0,0,554,578),2620=>array(-208,-154,-131,-77),2622=>array(0,216,251,578),2623=>array(0,0,397,822),2624=>array(-151,0,251,822),2625=>array(-388,-267,-50,0),2626=>array(-388,-267,-50,0),2631=>array(-473,578,-90,793),2632=>array(-471,578,-90,839),2635=>array(-411,572,-90,803),2636=>array(-379,578,-27,839),2637=>array(-235,-238,51,0),2649=>array(0,0,572,578),2650=>array(0,0,695,578),2651=>array(0,0,596,578),2652=>array(0,0,596,578),2654=>array(0,0,585,578),2662=>array(54,42,537,524),2663=>array(86,0,514,575),2664=>array(53,0,528,577),2665=>array(52,1,527,577),2666=>array(69,0,522,577),2667=>array(57,0,501,579),2668=>array(74,0,530,758),2669=>array(36,0,519,578),2670=>array(64,0,526,578),2671=>array(65,0,525,769),2672=>array(-103,664,103,841),2673=>array(-193,660,111,839),2674=>array(0,2,562,578),2675=>array(0,-2,683,839),2676=>array(28,-110,857,648),2689=>array(-429,608,-23,885),2690=>array(-179,608,-67,822),2691=>array(88,98,212,510),2693=>array(36,0,803,608),2694=>array(36,0,1062,610),2695=>array(42,-1,553,882),2696=>array(42,-1,606,882),2697=>array(60,0,545,742),2698=>array(60,-4,776,882),2699=>array(20,0,780,608),2701=>array(36,0,803,881),2703=>array(36,0,803,881),2704=>array(36,0,803,882),2705=>array(36,0,1062,881),2707=>array(36,0,1062,881),2708=>array(36,0,1062,882),2709=>array(35,0,411,610),2710=>array(5,0,792,608),2711=>array(25,0,625,608),2712=>array(52,-1,579,608),2713=>array(25,0,462,610),2714=>array(36,0,620,608),2715=>array(55,0,643,608),2716=>array(50,0,791,608),2717=>array(34,0,601,608),2718=>array(25,0,669,608),2719=>array(55,0,460,610),2720=>array(59,0,409,610),2721=>array(25,0,404,610),2722=>array(55,-1,447,608),2723=>array(98,-271,714,608),2724=>array(60,0,554,608),2725=>array(45,0,572,608),2726=>array(44,-1,480,608),2727=>array(27,0,561,727),2728=>array(43,0,602,608),2730=>array(5,0,592,608),2731=>array(50,-270,442,608),2732=>array(50,0,684,608),2733=>array(50,0,776,608),2734=>array(27,0,614,608),2735=>array(40,0,514,608),2736=>array(45,-2,411,609),2738=>array(55,0,633,608),2739=>array(52,0,676,609),2741=>array(50,0,558,608),2742=>array(52,0,633,610),2743=>array(75,0,528,608),2744=>array(43,0,684,608),2745=>array(69,0,573,610),2748=>array(-323,-182,-211,-70),2749=>array(52,0,436,608),2750=>array(98,0,291,610),2751=>array(98,0,660,883),2752=>array(-180,0,291,884),2753=>array(-412,-271,28,5),2754=>array(-323,-271,151,5),2755=>array(-271,-271,41,5),2756=>array(-275,-271,65,20),2757=>array(-452,608,-25,881),2759=>array(-509,608,-80,881),2760=>array(-544,608,-96,882),2761=>array(-179,0,291,881),2763=>array(-236,0,291,881),2764=>array(-271,0,291,882),2765=>array(-244,-249,186,5),2768=>array(46,0,815,881),2784=>array(20,-1,875,608),2790=>array(91,61,532,545),2791=>array(110,0,534,608),2792=>array(97,0,524,608),2793=>array(29,0,527,608),2794=>array(18,0,595,609),2795=>array(18,0,598,608),2796=>array(104,0,541,610),2797=>array(25,0,571,608),2798=>array(118,0,532,607),2799=>array(35,1,608,605),2817=>array(-374,776,37,979),2818=>array(34,379,271,717),2819=>array(59,0,332,717),2821=>array(42,0,508,717),2822=>array(42,0,726,717),2823=>array(39,-16,643,717),2824=>array(39,-16,643,717),2825=>array(39,-16,618,717),2826=>array(39,-16,625,717),2827=>array(39,-16,607,717),2828=>array(39,0,516,717),2831=>array(49,0,479,717),2832=>array(49,0,918,913),2835=>array(59,0,561,732),2836=>array(59,0,953,913),2837=>array(39,0,564,717),2838=>array(39,0,539,717),2839=>array(39,0,539,717),2840=>array(39,0,524,717),2841=>array(39,0,688,717),2842=>array(39,0,540,717),2843=>array(39,0,540,717),2844=>array(39,0,554,717),2845=>array(39,-15,540,732),2846=>array(54,0,532,717),2847=>array(39,0,539,717),2848=>array(44,0,534,717),2849=>array(39,0,540,717),2850=>array(39,-12,540,717),2851=>array(44,0,526,717),2852=>array(39,0,540,717),2853=>array(39,0,505,717),2854=>array(39,0,540,717),2855=>array(44,0,521,732),2856=>array(39,0,540,717),2858=>array(39,0,524,717),2859=>array(39,0,703,717),2860=>array(39,0,540,717),2861=>array(39,-16,628,717),2862=>array(39,-0,524,717),2863=>array(56,0,547,717),2864=>array(39,-16,604,717),2866=>array(39,-16,638,717),2867=>array(39,0,554,717),2870=>array(39,0,539,717),2871=>array(39,0,524,717),2872=>array(39,0,524,717),2873=>array(39,-30,540,717),2876=>array(-301,-176,-206,-84),2877=>array(71,0,273,717),2878=>array(82,0,136,717),2879=>array(-522,762,-17,918),2880=>array(-25,1,213,920),2881=>array(-443,-264,123,-51),2882=>array(-359,-271,171,-17),2883=>array(-325,-271,102,-18),2887=>array(59,0,436,717),2888=>array(59,0,1005,913),2891=>array(59,0,945,717),2892=>array(59,0,1006,913),2893=>array(-188,-267,161,-45),2902=>array(-515,717,-20,913),2903=>array(-297,0,198,913),2908=>array(39,-176,540,717),2909=>array(39,-176,540,717),2911=>array(23,-53,623,718),2912=>array(39,-16,607,717),2913=>array(39,-30,540,717),2918=>array(44,0,534,717),2919=>array(49,-12,441,717),2920=>array(39,-12,432,717),2921=>array(34,0,541,717),2922=>array(20,0,487,732),2923=>array(0,-21,605,717),2924=>array(34,-15,476,718),2925=>array(29,-9,495,729),2926=>array(82,0,495,717),2927=>array(54,-15,456,719),2928=>array(50,209,544,557),2946=>array(-388,499,-211,675),2947=>array(37,-11,698,702),2949=>array(22,-271,932,429),2950=>array(22,-271,1071,429),2951=>array(19,-271,915,702),2952=>array(70,0,621,417),2953=>array(55,0,988,429),2954=>array(55,0,1221,429),2958=>array(52,-11,721,417),2959=>array(52,-110,726,417),2960=>array(27,-271,813,429),2962=>array(49,-271,711,429),2963=>array(49,-271,711,429),2964=>array(49,-271,1631,429),2965=>array(36,-11,610,417),2969=>array(70,0,759,417),2970=>array(36,-11,565,417),2972=>array(28,-271,815,429),2974=>array(63,-271,928,417),2975=>array(70,0,778,417),2979=>array(52,-11,1290,429),2980=>array(-4,-271,600,417),2984=>array(-0,-271,577,417),2985=>array(52,-11,1007,429),2986=>array(70,0,623,417),2990=>array(70,0,667,429),2991=>array(83,-11,719,417),2992=>array(70,-113,540,417),2993=>array(2,-271,650,429),2994=>array(52,-11,768,510),2995=>array(52,-11,866,429),2996=>array(62,-271,665,429),2997=>array(52,-11,803,429),2999=>array(52,-271,1067,429),3000=>array(52,-11,1046,510),3001=>array(0,-271,1207,429),3006=>array(70,0,542,417),3007=>array(-245,1,112,702),3008=>array(-282,417,94,702),3009=>array(-117,145,458,417),3010=>array(-117,-52,754,636),3014=>array(61,-12,685,701),3015=>array(56,-11,659,702),3016=>array(52,-11,901,429),3018=>array(61,-12,1661,701),3019=>array(56,-11,1661,702),3020=>array(61,-12,1989,701),3021=>array(-364,523,-237,650),3031=>array(52,-11,866,429),3047=>array(36,-11,610,417),3048=>array(55,0,988,429),3049=>array(70,0,727,417),3050=>array(36,-11,682,417),3051=>array(70,-208,913,645),3052=>array(36,-11,857,417),3053=>array(52,-11,721,417),3054=>array(22,-271,932,429),3055=>array(36,-11,776,417),3056=>array(83,-11,662,702),3057=>array(71,0,714,429),3058=>array(-4,-271,745,417),3073=>array(57,-6,335,481),3074=>array(57,-13,544,471),3075=>array(65,-12,280,474),3077=>array(54,-11,667,474),3078=>array(54,-11,732,473),3079=>array(36,-229,513,472),3080=>array(24,-11,1108,664),3081=>array(57,-11,634,682),3082=>array(57,-11,996,682),3083=>array(57,-11,1239,474),3084=>array(44,-11,856,586),3086=>array(44,-11,556,702),3087=>array(44,-11,556,839),3088=>array(54,-11,656,475),3090=>array(57,-11,610,471),3091=>array(57,-11,610,642),3092=>array(6,-11,856,688),3093=>array(36,-11,474,664),3094=>array(51,-137,620,476),3095=>array(39,-14,510,664),3096=>array(35,-137,874,664),3097=>array(57,-11,610,472),3098=>array(24,-11,630,664),3099=>array(24,-137,630,664),3100=>array(57,-11,610,474),3101=>array(57,-136,1146,664),3102=>array(36,-229,715,472),3103=>array(57,-11,829,550),3104=>array(57,-11,540,664),3105=>array(57,-11,659,664),3106=>array(57,-137,659,664),3107=>array(63,-11,752,474),3108=>array(57,-11,659,664),3109=>array(60,-137,643,664),3110=>array(60,-11,643,664),3111=>array(60,-137,643,664),3112=>array(44,-11,547,664),3114=>array(35,-11,563,664),3115=>array(35,-137,563,664),3116=>array(57,-11,621,473),3117=>array(57,-137,663,664),3118=>array(44,-11,873,664),3119=>array(57,-12,1144,664),3120=>array(57,-11,540,664),3121=>array(57,-12,837,476),3122=>array(57,-11,571,474),3123=>array(48,-11,561,664),3125=>array(44,-11,561,664),3126=>array(48,-11,524,664),3127=>array(35,-137,759,664),3128=>array(24,-11,581,664),3129=>array(31,-11,893,664),3134=>array(6,305,626,545),3135=>array(17,462,281,785),3136=>array(10,462,289,980),3137=>array(-48,-9,302,474),3138=>array(-48,-9,665,545),3139=>array(-203,-271,294,474),3140=>array(-216,-271,687,473),3142=>array(6,466,618,688),3143=>array(6,466,617,889),3144=>array(6,-271,894,688),3146=>array(6,470,843,715),3147=>array(6,470,843,908),3148=>array(6,449,970,688),3149=>array(39,465,655,866),3157=>array(47,767,289,980),3158=>array(-670,-271,109,-31),3168=>array(57,-11,1602,545),3169=>array(44,-11,1263,545),3174=>array(158,-14,682,510),3175=>array(88,-14,752,510),3176=>array(54,0,726,510),3177=>array(199,-13,609,512),3178=>array(136,-12,704,519),3179=>array(60,-14,781,521),3180=>array(106,0,798,510),3181=>array(201,-15,668,513),3182=>array(65,-13,815,510),3183=>array(106,0,798,510),3202=>array(46,84,394,554),3203=>array(46,84,205,553),3205=>array(47,84,608,602),3206=>array(46,84,625,602),3207=>array(37,84,595,602),3208=>array(33,84,850,752),3209=>array(46,84,911,602),3210=>array(46,84,1247,602),3211=>array(37,84,1000,752),3212=>array(37,84,695,602),3214=>array(37,84,606,602),3215=>array(37,84,606,647),3216=>array(44,84,615,602),3218=>array(37,84,630,602),3219=>array(37,84,630,775),3220=>array(38,84,631,774),3221=>array(49,84,415,752),3222=>array(17,84,700,713),3223=>array(51,84,493,752),3224=>array(44,-79,742,752),3225=>array(37,84,630,602),3226=>array(37,84,633,752),3227=>array(46,-79,614,752),3228=>array(37,84,630,602),3229=>array(54,-79,1127,752),3230=>array(37,84,889,602),3231=>array(59,84,627,651),3232=>array(54,84,508,752),3233=>array(54,84,625,752),3234=>array(54,-79,625,752),3235=>array(54,84,682,602),3236=>array(46,84,500,752),3237=>array(54,-79,626,752),3238=>array(54,84,626,752),3239=>array(54,-79,626,752),3240=>array(46,46,514,752),3242=>array(46,84,620,752),3243=>array(46,-79,619,753),3244=>array(37,84,632,602),3245=>array(37,-79,643,752),3246=>array(49,84,928,752),3247=>array(46,84,1057,752),3248=>array(54,84,508,752),3249=>array(49,84,628,602),3250=>array(46,84,615,602),3251=>array(42,84,507,752),3253=>array(49,84,620,752),3254=>array(49,84,506,752),3255=>array(49,70,620,752),3256=>array(44,84,499,752),3257=>array(49,84,675,752),3262=>array(-21,84,370,588),3263=>array(-13,339,307,702),3264=>array(-13,46,635,702),3265=>array(-5,84,312,563),3266=>array(-5,84,673,560),3267=>array(22,-173,364,236),3268=>array(24,-173,614,253),3270=>array(-79,354,258,774),3271=>array(-79,46,606,774),3272=>array(-79,-173,438,774),3274=>array(-79,84,868,774),3275=>array(-79,46,1188,774),3276=>array(-160,276,395,774),3277=>array(-22,335,329,703),3285=>array(49,46,299,560),3286=>array(25,-173,364,301),3294=>array(49,84,624,602),3296=>array(37,84,1654,752),3297=>array(37,84,943,602),3302=>array(42,84,507,686),3303=>array(34,84,515,685),3304=>array(22,98,507,688),3305=>array(52,84,527,684),3306=>array(38,84,515,684),3307=>array(33,84,516,688),3308=>array(42,98,529,687),3309=>array(47,98,525,684),3310=>array(36,84,520,687),3311=>array(46,84,521,667),3330=>array(45,-9,323,269),3331=>array(49,-9,256,464),3333=>array(49,-9,1152,464),3334=>array(49,-173,1309,464),3335=>array(49,-232,856,464),3336=>array(49,-232,1411,464),3337=>array(49,-232,586,464),3338=>array(49,-232,1149,464),3339=>array(44,-271,817,464),3340=>array(49,-9,908,465),3342=>array(44,-271,1157,464),3343=>array(44,-271,1153,464),3344=>array(49,-271,1785,465),3346=>array(49,-9,601,464),3347=>array(49,-9,1065,464),3348=>array(49,-9,1146,464),3349=>array(42,-8,819,464),3350=>array(49,-9,907,465),3351=>array(44,-10,830,464),3352=>array(39,0,1279,464),3353=>array(49,-9,916,465),3354=>array(15,0,940,464),3355=>array(15,-9,1217,464),3356=>array(44,-51,663,464),3357=>array(49,-9,1410,464),3358=>array(49,-9,1166,465),3359=>array(39,-9,524,464),3360=>array(43,-9,517,464),3361=>array(44,-9,1146,464),3362=>array(44,-9,1195,465),3363=>array(49,-12,1219,465),3364=>array(49,-9,830,464),3365=>array(76,0,893,464),3366=>array(49,-9,501,464),3367=>array(49,-9,835,467),3368=>array(44,-12,830,464),3370=>array(44,-9,956,464),3371=>array(44,-9,1104,464),3372=>array(49,-9,1258,465),3373=>array(54,0,504,464),3374=>array(71,0,572,464),3375=>array(44,-9,905,464),3376=>array(49,-9,594,464),3377=>array(44,-8,506,464),3378=>array(76,0,869,464),3379=>array(44,-232,589,464),3380=>array(44,-9,514,464),3381=>array(49,-7,884,464),3382=>array(44,-9,888,464),3383=>array(44,-9,1043,464),3384=>array(44,-9,1146,464),3385=>array(44,-9,1063,464),3390=>array(42,-6,426,464),3391=>array(0,0,330,651),3392=>array(0,0,354,651),3393=>array(39,-271,301,466),3394=>array(39,-271,301,466),3395=>array(8,-271,458,466),3398=>array(49,-9,591,465),3399=>array(49,-8,476,464),3400=>array(49,-9,1230,465),3402=>array(49,-9,1319,465),3403=>array(49,-8,1209,464),3404=>array(49,-9,1398,465),3405=>array(-300,520,-19,721),3415=>array(39,-9,504,464),3424=>array(44,-271,817,464),3425=>array(49,-173,1058,465),3430=>array(49,-9,1080,464),3431=>array(15,-143,852,464),3432=>array(44,-7,840,464),3433=>array(44,-9,1166,464),3434=>array(44,-9,643,651),3435=>array(54,-243,918,651),3436=>array(44,-271,1162,464),3437=>array(49,-271,591,464),3438=>array(49,-271,884,464),3439=>array(44,-9,848,651),3585=>array(54,0,520,558),3586=>array(30,0,573,558),3587=>array(30,0,590,559),3588=>array(52,0,530,558),3589=>array(52,0,530,560),3590=>array(30,-5,590,559),3591=>array(25,-5,396,558),3592=>array(26,-5,481,558),3593=>array(30,-5,622,558),3594=>array(30,0,634,592),3595=>array(30,0,651,592),3596=>array(54,-5,741,558),3597=>array(54,-208,783,558),3598=>array(30,-203,545,558),3599=>array(30,-203,545,558),3600=>array(54,-206,477,560),3601=>array(30,0,710,559),3602=>array(52,-5,751,560),3603=>array(54,-5,857,558),3604=>array(52,0,530,558),3605=>array(52,0,530,560),3606=>array(54,-5,520,558),3607=>array(30,0,575,558),3608=>array(54,0,477,560),3609=>array(30,-5,622,558),3610=>array(30,0,533,558),3611=>array(30,0,533,830),3612=>array(78,0,552,558),3613=>array(78,0,552,830),3614=>array(30,0,620,558),3615=>array(30,0,620,830),3616=>array(30,-5,545,558),3617=>array(30,-5,506,558),3618=>array(75,0,513,558),3619=>array(54,-5,437,560),3620=>array(54,-199,520,558),3621=>array(44,-5,499,558),3622=>array(30,-199,545,558),3623=>array(19,-5,444,558),3624=>array(52,0,562,664),3625=>array(30,0,637,558),3626=>array(44,-5,544,659),3627=>array(30,0,584,558),3628=>array(30,0,684,723),3629=>array(36,0,491,558),3630=>array(61,0,545,656),3631=>array(30,0,442,558),3632=>array(44,49,418,510),3633=>array(-364,631,10,824),3634=>array(26,0,421,558),3635=>array(-223,0,421,767),3636=>array(-493,612,-109,775),3637=>array(-493,612,-109,800),3638=>array(-493,612,-64,800),3639=>array(-493,612,-109,800),3640=>array(-201,-206,-85,-34),3641=>array(-337,-206,-89,-34),3642=>array(-157,-115,-75,-33),3647=>array(84,-103,625,782),3648=>array(75,-5,272,553),3649=>array(75,-5,541,553),3650=>array(27,-5,466,830),3651=>array(30,-5,485,828),3652=>array(10,-5,485,828),3653=>array(26,-199,421,558),3654=>array(30,-199,431,559),3655=>array(-424,603,-47,849),3656=>array(-167,858,-109,1031),3657=>array(-293,858,1,1065),3658=>array(-342,858,98,1056),3659=>array(-225,858,-52,1031),3660=>array(-330,861,-18,1078),3661=>array(-223,609,-65,767),3662=>array(-203,858,-42,1067),3663=>array(60,-5,495,430),3664=>array(60,-5,538,428),3665=>array(50,-5,590,428),3666=>array(75,0,613,611),3667=>array(75,-5,615,428),3668=>array(50,-5,637,611),3669=>array(50,-5,637,611),3670=>array(18,-5,585,611),3671=>array(75,-5,789,574),3672=>array(60,-5,659,574),3673=>array(75,-5,715,574),3674=>array(30,0,598,558),3675=>array(40,-5,964,447),3713=>array(55,-6,721,587),3714=>array(53,-15,664,587),3716=>array(54,-5,670,587),3719=>array(34,-207,470,587),3720=>array(37,-18,636,587),3722=>array(54,-210,629,587),3725=>array(54,-5,670,588),3732=>array(54,-5,665,587),3733=>array(54,-6,780,587),3734=>array(45,-257,711,587),3735=>array(55,-5,862,587),3737=>array(54,-11,690,589),3738=>array(55,-5,686,587),3739=>array(55,-5,686,707),3740=>array(54,-5,780,593),3741=>array(54,-5,780,707),3742=>array(54,-5,800,587),3743=>array(54,-5,800,707),3745=>array(55,-11,721,589),3746=>array(54,-5,670,707),3747=>array(54,-7,643,587),3749=>array(46,-7,646,587),3751=>array(46,-7,646,587),3754=>array(58,-7,673,587),3755=>array(55,-5,862,587),3757=>array(54,-7,671,587),3758=>array(53,-7,664,595),3759=>array(54,-21,604,680),3760=>array(57,113,382,578),3761=>array(57,847,482,1049),3762=>array(34,-5,422,587),3763=>array(1,-5,422,788),3764=>array(139,805,639,1059),3765=>array(139,805,713,1059),3766=>array(139,805,639,1059),3767=>array(139,805,713,1059),3768=>array(308,-269,470,-26),3769=>array(248,-263,528,-15),3771=>array(145,838,635,1060),3772=>array(147,-257,632,-72),3773=>array(55,-5,616,829),3776=>array(34,-5,386,576),3777=>array(34,-5,772,576),3778=>array(28,-5,410,1001),3779=>array(17,-5,429,1037),3780=>array(46,-5,311,1025),3782=>array(34,-267,517,579),3784=>array(349,806,429,1012),3785=>array(148,808,630,1035),3786=>array(163,805,609,1015),3787=>array(281,805,497,1019),3788=>array(212,812,560,1049),3789=>array(308,806,470,967),3792=>array(54,-7,667,578),3793=>array(54,-5,665,578),3794=>array(67,-5,557,796),3795=>array(44,-5,665,829),3796=>array(54,-5,632,776),3797=>array(54,-5,632,776),3798=>array(54,-5,780,829),3799=>array(55,-257,702,579),3800=>array(54,-171,670,579),3801=>array(54,-5,841,577),3804=>array(55,-11,1218,579),3805=>array(55,-11,1218,579),3840=>array(52,207,573,983),3841=>array(52,232,534,864),3842=>array(11,274,571,864),3843=>array(11,274,593,864),3844=>array(0,227,583,720),3845=>array(107,227,464,720),3846=>array(0,-174,583,720),3847=>array(-152,393,649,720),3848=>array(141,-174,512,809),3849=>array(80,81,520,716),3850=>array(34,-62,576,799),3851=>array(92,522,508,716),3852=>array(92,-117,508,716),3853=>array(260,-174,340,716),3854=>array(190,-174,410,716),3855=>array(250,-174,350,716),3856=>array(187,-174,413,716),3857=>array(179,-174,421,716),3858=>array(-20,-124,620,719),3859=>array(21,126,579,706),3860=>array(238,403,371,681),3861=>array(128,254,472,716),3862=>array(128,320,477,716),3863=>array(99,378,510,657),3864=>array(159,-9,537,322),3865=>array(260,-201,340,300),3866=>array(241,459,359,577),3867=>array(151,459,449,577),3868=>array(151,419,449,687),3869=>array(123,346,476,683),3870=>array(66,426,520,607),3871=>array(129,448,455,584),3872=>array(128,-13,472,374),3873=>array(126,-149,444,374),3874=>array(40,-86,530,374),3875=>array(97,-176,507,402),3876=>array(27,19,560,339),3877=>array(80,-13,541,374),3878=>array(33,-42,547,434),3879=>array(24,-13,568,390),3880=>array(57,-63,485,401),3881=>array(82,-82,534,374),3882=>array(-65,-149,653,374),3883=>array(-65,-86,653,374),3884=>array(-65,-176,653,402),3885=>array(-65,19,653,339),3886=>array(-65,-13,653,374),3887=>array(-65,-42,653,434),3888=>array(-65,-13,653,390),3889=>array(-65,-63,653,401),3890=>array(-65,-82,653,374),3891=>array(-65,-13,653,374),3892=>array(227,359,373,609),3893=>array(238,-1,371,150),3894=>array(81,159,519,619),3895=>array(251,52,349,150),3896=>array(87,431,495,735),3897=>array(355,538,551,706),3898=>array(2,419,587,687),3899=>array(13,419,598,687),3900=>array(56,-201,484,837),3901=>array(116,-201,544,837),3902=>array(238,-201,457,180),3903=>array(143,-201,362,180),3904=>array(23,27,558,716),3905=>array(42,207,558,716),3906=>array(22,27,558,716),3907=>array(22,-174,558,716),3908=>array(72,207,528,716),3909=>array(54,207,541,716),3910=>array(43,207,557,716),3911=>array(72,207,528,716),3913=>array(96,27,488,726),3914=>array(72,27,528,716),3915=>array(62,207,538,716),3916=>array(72,27,528,716),3917=>array(72,-174,528,716),3918=>array(102,27,500,716),3919=>array(72,27,528,716),3920=>array(62,207,538,716),3921=>array(72,27,528,716),3922=>array(72,-174,528,716),3923=>array(100,27,498,716),3924=>array(72,207,558,716),3925=>array(72,207,558,716),3926=>array(72,207,558,716),3927=>array(72,-174,558,716),3928=>array(30,207,558,716),3929=>array(54,207,601,864),3930=>array(43,207,601,864),3931=>array(72,207,621,864),3932=>array(72,-174,621,864),3933=>array(31,207,558,726),3934=>array(62,27,542,716),3935=>array(62,207,538,716),3936=>array(72,187,580,716),3937=>array(72,207,558,716),3938=>array(86,207,580,716),3939=>array(72,207,558,716),3940=>array(19,27,538,716),3941=>array(62,27,581,716),3942=>array(72,207,558,716),3943=>array(72,27,528,716),3944=>array(52,207,558,716),3945=>array(23,-174,558,716),3953=>array(208,-51,414,140),3954=>array(87,625,539,864),3955=>array(87,-51,539,864),3956=>array(72,-70,524,153),3957=>array(105,-201,524,180),3958=>array(61,41,513,864),3959=>array(61,-201,513,864),3960=>array(61,-11,513,864),3961=>array(61,-201,513,864),3962=>array(137,643,365,777),3963=>array(137,643,405,897),3964=>array(67,643,573,829),3965=>array(67,643,573,929),3966=>array(241,736,359,854),3967=>array(399,180,517,448),3968=>array(61,625,513,864),3969=>array(61,-51,513,864),3970=>array(193,625,391,852),3971=>array(193,625,391,819),3972=>array(307,-201,535,-67),3973=>array(96,-54,488,726),3974=>array(186,461,432,864),3975=>array(288,666,312,864),3976=>array(162,609,438,864),3977=>array(85,575,515,864),3978=>array(165,634,455,864),3979=>array(163,652,486,864),3984=>array(75,-201,510,180),3985=>array(90,-201,510,180),3986=>array(74,-200,510,180),3987=>array(179,-201,413,180),3988=>array(115,-201,485,180),3989=>array(100,-201,496,180),3991=>array(115,-201,485,180),3993=>array(134,-201,453,186),3994=>array(115,-201,485,180),3995=>array(107,-201,493,180),3996=>array(115,-201,485,180),3997=>array(201,-201,399,180),3998=>array(139,-201,463,180),3999=>array(115,-201,485,180),4000=>array(107,-201,493,180),4001=>array(115,-201,485,180),4002=>array(201,-201,399,180),4003=>array(137,-201,461,180),4004=>array(115,-201,510,180),4005=>array(115,-201,510,180),4006=>array(115,-201,510,180),4007=>array(201,-201,413,180),4008=>array(81,-201,510,180),4009=>array(100,-201,545,301),4010=>array(91,-201,545,301),4011=>array(115,-201,561,301),4012=>array(201,-201,440,245),4013=>array(81,-201,510,188),4017=>array(115,-201,510,180),4018=>array(126,-201,528,180),4019=>array(115,-201,510,180),4020=>array(72,-201,493,180),4021=>array(107,-201,528,180),4022=>array(115,-201,510,180),4023=>array(132,-201,468,180),4025=>array(179,-201,413,180),4256=>array(42,-15,633,716),4257=>array(45,-3,677,716),4258=>array(45,-142,695,716),4259=>array(42,-15,657,716),4260=>array(45,0,543,716),4261=>array(47,0,745,716),4262=>array(1,-7,630,715),4263=>array(35,0,740,716),4264=>array(24,0,494,716),4265=>array(66,0,568,716),4266=>array(45,-7,748,716),4267=>array(34,-7,677,716),4268=>array(66,0,563,716),4269=>array(35,-15,681,732),4270=>array(-1,-15,639,719),4271=>array(-1,-209,624,721),4272=>array(34,-15,689,716),4273=>array(66,-15,581,716),4274=>array(66,0,547,716),4275=>array(35,-15,681,732),4276=>array(35,-209,644,732),4277=>array(34,-209,671,716),4278=>array(66,0,577,732),4279=>array(52,0,557,716),4280=>array(50,-15,557,716),4281=>array(66,0,563,716),4282=>array(35,-163,593,732),4283=>array(34,-7,736,716),4284=>array(66,-209,547,716),4285=>array(49,-15,614,732),4286=>array(66,0,563,716),4287=>array(-66,-171,660,716),4288=>array(45,-15,701,716),4289=>array(66,0,552,716),4290=>array(23,-15,571,716),4291=>array(34,0,539,716),4292=>array(58,-209,618,716),4293=>array(34,-15,758,716),4304=>array(36,-12,398,490),4305=>array(37,-12,519,721),4306=>array(42,-256,523,455),4307=>array(36,-251,836,454),4308=>array(20,-256,472,452),4309=>array(30,-256,498,451),4310=>array(24,-12,689,734),4311=>array(34,-16,834,454),4312=>array(34,-16,495,452),4313=>array(30,-256,498,451),4314=>array(36,-251,921,449),4315=>array(34,-12,486,728),4316=>array(66,-12,518,723),4317=>array(34,-33,700,449),4318=>array(34,-12,502,727),4319=>array(40,-256,508,466),4320=>array(34,-16,651,727),4321=>array(66,-12,512,716),4322=>array(34,-256,772,623),4323=>array(22,-257,745,449),4324=>array(34,-256,743,451),4325=>array(34,-257,436,716),4326=>array(36,-251,655,449),4327=>array(44,-257,446,452),4328=>array(34,-12,486,734),4329=>array(66,0,451,733),4330=>array(45,-256,534,452),4331=>array(34,-12,486,716),4332=>array(32,-256,562,734),4333=>array(34,-257,530,732),4334=>array(66,-12,518,716),4335=>array(32,-238,771,450),4336=>array(35,-12,514,736),4337=>array(40,-12,619,716),4338=>array(10,-12,549,453),4339=>array(23,-256,478,450),4340=>array(34,-257,448,495),4341=>array(43,-250,549,583),4342=>array(35,-256,788,715),4347=>array(87,-12,449,464),4352=>array(129,91,796,665),4353=>array(114,91,844,665),4354=>array(204,90,873,665),4355=>array(184,90,838,664),4356=>array(149,90,888,665),4357=>array(173,90,827,665),4358=>array(215,90,785,665),4359=>array(215,90,785,665),4360=>array(145,88,855,665),4361=>array(107,76,882,663),4362=>array(110,78,890,663),4363=>array(187,92,813,666),4364=>array(109,76,880,665),4365=>array(105,80,895,666),4366=>array(109,76,880,665),4367=>array(206,90,790,663),4368=>array(189,91,837,664),4369=>array(187,90,813,665),4370=>array(156,88,844,665),4371=>array(144,91,844,665),4372=>array(144,93,881,665),4373=>array(144,90,888,665),4374=>array(144,89,853,665),4375=>array(149,89,842,665),4376=>array(149,85,881,665),4377=>array(149,85,887,665),4378=>array(149,85,876,666),4379=>array(232,78,789,722),4380=>array(142,89,853,665),4381=>array(232,78,768,711),4382=>array(145,88,844,665),4383=>array(145,88,881,665),4384=>array(145,88,888,665),4385=>array(145,78,884,664),4386=>array(111,78,889,665),4387=>array(101,78,933,665),4388=>array(93,78,907,665),4389=>array(101,78,962,665),4390=>array(101,78,962,666),4391=>array(140,78,885,666),4392=>array(140,78,885,665),4393=>array(145,88,855,665),4394=>array(145,88,868,665),4395=>array(232,78,768,725),4396=>array(197,78,803,728),4397=>array(130,78,844,665),4398=>array(130,78,858,665),4399=>array(130,78,888,665),4400=>array(125,78,887,665),4401=>array(125,78,860,665),4402=>array(125,78,868,665),4403=>array(57,78,889,665),4404=>array(57,78,949,663),4405=>array(125,78,876,663),4406=>array(117,78,883,666),4407=>array(119,78,885,665),4408=>array(125,78,873,663),4409=>array(125,78,855,665),4410=>array(125,78,868,665),4411=>array(125,78,876,666),4412=>array(216,-1,702,716),4413=>array(92,-1,860,716),4414=>array(298,-1,784,716),4415=>array(140,-1,908,716),4416=>array(258,93,742,659),4417=>array(125,91,844,665),4418=>array(125,90,888,665),4419=>array(125,89,860,665),4420=>array(125,89,853,665),4421=>array(125,78,880,663),4422=>array(125,119,886,664),4423=>array(125,122,874,617),4424=>array(125,78,885,666),4425=>array(125,78,885,665),4426=>array(125,90,855,665),4427=>array(125,91,868,665),4428=>array(232,131,768,551),4429=>array(119,78,874,666),4430=>array(97,-1,903,720),4431=>array(92,-1,903,720),4432=>array(97,-1,903,720),4433=>array(97,-1,908,720),4434=>array(123,78,873,665),4435=>array(123,78,876,666),4436=>array(97,-1,903,814),4437=>array(97,-1,903,814),4438=>array(127,89,853,665),4439=>array(202,78,798,714),4440=>array(100,91,900,666),4441=>array(182,78,818,573),4449=>array(421,-64,711,842),4450=>array(345,-64,655,842),4451=>array(381,-64,676,842),4452=>array(340,-64,661,842),4453=>array(302,-65,597,841),4454=>array(186,-63,677,843),4455=>array(332,-64,626,842),4456=>array(226,-63,687,843),4457=>array(60,197,940,614),4458=>array(46,-64,931,842),4459=>array(51,-64,892,842),4460=>array(61,-64,857,842),4461=>array(60,197,940,615),4462=>array(79,76,921,554),4463=>array(68,-65,882,841),4464=>array(53,-63,912,843),4465=>array(70,-64,867,842),4466=>array(72,111,928,589),4467=>array(57,357,943,436),4468=>array(67,-64,867,842),4469=>array(462,-64,538,842),4470=>array(62,7,943,842),4471=>array(79,-64,936,842),4472=>array(62,7,943,842),4473=>array(62,-3,938,842),4474=>array(62,7,943,841),4475=>array(79,-64,920,841),4476=>array(57,22,943,841),4477=>array(62,7,943,842),4478=>array(79,-64,920,842),4479=>array(63,-70,907,841),4480=>array(63,-68,907,843),4481=>array(63,-68,907,843),4482=>array(62,22,943,783),4483=>array(62,-64,943,783),4484=>array(62,-70,907,842),4485=>array(62,-69,907,842),4486=>array(62,-70,907,842),4487=>array(62,22,943,782),4488=>array(62,-69,907,842),4489=>array(68,-69,936,842),4490=>array(68,-69,907,842),4491=>array(57,22,943,841),4492=>array(63,-68,907,843),4493=>array(79,-64,920,762),4494=>array(68,-69,936,842),4495=>array(68,-70,907,841),4496=>array(68,-63,912,843),4497=>array(68,-70,907,842),4498=>array(63,-68,907,843),4499=>array(79,-64,921,756),4500=>array(68,-64,867,842),4501=>array(79,-64,921,615),4502=>array(79,197,921,615),4503=>array(65,-64,921,842),4504=>array(321,-63,812,843),4505=>array(311,-63,772,843),4506=>array(62,22,943,842),4507=>array(79,-64,921,842),4508=>array(57,22,943,842),4509=>array(410,50,584,842),4510=>array(410,280,584,463),4511=>array(410,-65,719,841),4512=>array(79,-64,921,601),4513=>array(333,-69,667,842),4514=>array(329,280,671,463),4520=>array(129,91,796,665),4521=>array(114,91,844,665),4522=>array(114,78,880,665),4523=>array(204,90,873,665),4524=>array(144,78,880,666),4525=>array(144,91,876,666),4526=>array(184,90,838,664),4527=>array(173,90,827,665),4528=>array(149,85,842,665),4529=>array(149,85,852,665),4530=>array(149,85,853,665),4531=>array(149,78,880,665),4532=>array(149,85,855,665),4533=>array(149,85,868,665),4534=>array(149,85,876,666),4535=>array(215,90,785,665),4536=>array(215,90,785,665),4537=>array(145,78,880,664),4538=>array(107,76,882,663),4539=>array(110,78,890,663),4540=>array(187,92,813,666),4541=>array(109,76,880,665),4542=>array(109,76,880,665),4543=>array(206,90,790,663),4544=>array(189,91,837,664),4545=>array(187,90,813,665),4546=>array(156,88,844,665),4547=>array(114,85,887,665),4548=>array(75,78,913,665),4549=>array(144,91,844,665),4550=>array(144,90,888,665),4551=>array(144,78,880,665),4552=>array(144,93,886,665),4553=>array(144,90,855,665),4554=>array(149,89,842,665),4555=>array(149,85,887,665),4556=>array(76,78,961,665),4557=>array(149,85,881,665),4558=>array(149,85,888,665),4559=>array(76,85,944,666),4560=>array(149,85,887,665),4561=>array(76,85,920,665),4562=>array(76,78,973,665),4563=>array(76,78,973,665),4564=>array(76,85,946,666),4565=>array(149,85,848,728),4566=>array(80,78,960,665),4567=>array(149,85,886,665),4568=>array(149,85,873,665),4569=>array(149,85,878,666),4570=>array(142,89,844,665),4571=>array(142,85,887,665),4572=>array(142,89,853,665),4573=>array(142,78,880,665),4574=>array(84,78,960,665),4575=>array(142,89,886,665),4576=>array(142,78,885,665),4577=>array(142,89,876,666),4578=>array(232,78,768,711),4579=>array(145,85,887,665),4580=>array(145,88,868,665),4581=>array(145,88,876,666),4582=>array(232,78,768,725),4583=>array(130,78,844,665),4584=>array(130,78,888,665),4585=>array(125,78,887,665),4586=>array(125,78,868,665),4587=>array(258,93,742,659),4588=>array(125,91,844,665),4589=>array(72,91,913,665),4590=>array(125,122,874,617),4591=>array(125,90,873,663),4592=>array(232,131,768,551),4593=>array(125,78,880,663),4594=>array(125,119,886,664),4595=>array(127,89,853,665),4596=>array(202,78,798,714),4597=>array(116,91,881,666),4598=>array(116,85,887,666),4599=>array(116,89,852,666),4600=>array(116,89,853,666),4601=>array(182,78,818,573),7680=>array(-1,-210,668,716),7681=>array(38,-210,516,530),7682=>array(74,0,615,881),7683=>array(67,-12,517,881),7684=>array(74,-210,615,716),7685=>array(67,-210,517,716),7686=>array(74,-179,615,716),7687=>array(67,-179,517,716),7688=>array(51,-209,684,898),7689=>array(39,-196,491,728),7690=>array(80,0,672,881),7691=>array(36,-12,486,881),7692=>array(80,-210,672,716),7693=>array(36,-210,486,716),7694=>array(80,-179,672,716),7695=>array(36,-179,486,716),7696=>array(80,-205,672,716),7697=>array(36,-205,486,716),7698=>array(80,-210,672,716),7699=>array(36,-210,486,716),7700=>array(79,0,614,1050),7701=>array(39,-12,517,882),7702=>array(79,0,614,1050),7703=>array(39,-12,517,882),7704=>array(79,-210,614,716),7705=>array(39,-210,517,530),7706=>array(79,-185,614,716),7707=>array(39,-185,517,530),7708=>array(79,-205,614,902),7709=>array(39,-205,517,722),7710=>array(80,0,563,881),7711=>array(8,0,311,881),7712=>array(52,-12,714,865),7713=>array(34,-210,491,697),7714=>array(80,0,642,881),7715=>array(67,0,490,881),7716=>array(80,-210,642,716),7717=>array(67,-210,490,716),7718=>array(80,0,642,881),7719=>array(67,0,490,881),7720=>array(27,-205,642,716),7721=>array(2,-205,490,716),7722=>array(80,-200,642,716),7723=>array(67,-200,490,716),7724=>array(-28,-185,299,716),7725=>array(-58,-185,270,716),7726=>array(3,0,274,1066),7727=>array(5,0,276,896),7728=>array(73,0,665,898),7729=>array(66,0,496,898),7730=>array(73,-210,665,716),7731=>array(66,-210,496,716),7732=>array(73,-179,665,716),7733=>array(66,-179,496,716),7734=>array(75,-210,523,716),7735=>array(67,-210,158,716),7736=>array(75,-210,523,865),7737=>array(-41,-210,264,865),7738=>array(75,-179,523,716),7739=>array(-42,-179,262,716),7740=>array(75,-210,523,716),7741=>array(-39,-210,270,716),7742=>array(76,0,757,898),7743=>array(65,0,769,728),7744=>array(76,0,757,881),7745=>array(65,0,769,711),7746=>array(76,-210,757,716),7747=>array(65,-210,769,530),7748=>array(79,0,642,881),7749=>array(68,0,490,711),7750=>array(79,-210,642,716),7751=>array(68,-210,490,530),7752=>array(79,-179,642,716),7753=>array(68,-179,490,530),7754=>array(79,-210,642,716),7755=>array(68,-210,490,530),7756=>array(47,-12,732,1064),7757=>array(35,-12,521,902),7758=>array(47,-12,732,1035),7759=>array(35,-12,521,865),7760=>array(47,-12,732,1050),7761=>array(35,-12,521,882),7762=>array(47,-12,732,1050),7763=>array(35,-12,521,882),7764=>array(77,0,623,898),7765=>array(68,-199,518,728),7766=>array(77,0,623,881),7767=>array(68,-199,518,711),7768=>array(80,0,711,881),7769=>array(64,0,346,711),7770=>array(80,-210,711,716),7771=>array(64,-210,346,530),7772=>array(80,-210,711,865),7773=>array(14,-210,346,697),7774=>array(80,-179,711,716),7775=>array(8,-179,346,530),7776=>array(45,-12,615,881),7777=>array(31,-12,461,711),7778=>array(45,-210,615,728),7779=>array(31,-210,461,530),7780=>array(45,-12,615,939),7781=>array(31,-12,461,768),7782=>array(45,-12,615,1047),7783=>array(31,-12,461,877),7784=>array(45,-210,615,881),7785=>array(31,-210,461,711),7786=>array(22,0,589,881),7787=>array(17,-7,269,881),7788=>array(22,-210,589,716),7789=>array(17,-210,269,700),7790=>array(22,-179,589,716),7791=>array(-11,-179,293,700),7792=>array(22,-210,589,716),7793=>array(6,-210,315,700),7794=>array(79,-210,642,716),7795=>array(66,-210,487,518),7796=>array(79,-185,642,716),7797=>array(66,-185,487,518),7798=>array(79,-210,642,716),7799=>array(66,-210,487,518),7800=>array(79,-12,642,1072),7801=>array(66,-12,487,902),7802=>array(79,-12,642,1002),7803=>array(66,-12,487,846),7804=>array(6,0,660,886),7805=>array(13,0,488,716),7806=>array(6,-210,660,716),7807=>array(13,-210,488,518),7808=>array(12,0,933,898),7809=>array(5,0,717,728),7810=>array(12,0,933,898),7811=>array(5,0,717,728),7812=>array(12,0,933,881),7813=>array(5,0,717,711),7814=>array(12,0,933,881),7815=>array(5,0,717,711),7816=>array(12,-210,933,716),7817=>array(5,-210,717,518),7818=>array(5,0,661,881),7819=>array(7,0,493,711),7820=>array(5,0,661,881),7821=>array(7,0,493,711),7822=>array(5,0,661,881),7823=>array(16,-210,492,711),7824=>array(18,0,584,898),7825=>array(20,0,479,728),7826=>array(18,-210,584,716),7827=>array(20,-210,479,518),7828=>array(18,-179,584,716),7829=>array(20,-179,479,518),7830=>array(67,-179,490,716),7831=>array(1,-7,272,881),7832=>array(5,0,717,752),7833=>array(16,-210,492,752),7834=>array(38,-12,557,758),7835=>array(8,0,311,881),7840=>array(-1,-210,668,716),7841=>array(38,-210,516,530),7842=>array(-1,0,668,934),7843=>array(38,-12,516,756),7844=>array(-1,0,668,978),7845=>array(38,-12,586,808),7846=>array(-1,0,668,978),7847=>array(-30,-12,516,808),7848=>array(-1,0,668,996),7849=>array(38,-12,573,826),7850=>array(-1,0,668,1058),7851=>array(38,-12,516,888),7852=>array(-1,-210,668,898),7853=>array(38,-210,516,728),7854=>array(-1,0,668,1039),7855=>array(38,-12,516,859),7856=>array(-1,0,668,1039),7857=>array(38,-12,516,859),7858=>array(-1,0,668,1074),7859=>array(38,-12,516,895),7860=>array(-1,0,668,1060),7861=>array(38,-12,516,880),7862=>array(-1,-210,668,902),7863=>array(38,-210,516,722),7864=>array(79,-210,614,716),7865=>array(39,-210,517,530),7866=>array(79,0,614,936),7867=>array(39,-12,517,756),7868=>array(79,0,614,884),7869=>array(39,-12,517,716),7870=>array(79,0,652,978),7871=>array(39,-12,586,808),7872=>array(34,0,614,978),7873=>array(-30,-12,517,808),7874=>array(79,0,638,996),7875=>array(39,-12,573,826),7876=>array(79,0,614,1056),7877=>array(39,-12,517,886),7878=>array(79,-210,614,900),7879=>array(39,-210,517,728),7880=>array(33,0,245,936),7881=>array(33,0,245,756),7882=>array(92,-210,187,716),7883=>array(67,-210,158,716),7884=>array(47,-210,732,728),7885=>array(35,-210,521,530),7886=>array(47,-12,732,936),7887=>array(35,-12,521,756),7888=>array(47,-12,732,978),7889=>array(35,-12,586,808),7890=>array(47,-12,732,978),7891=>array(-30,-12,521,808),7892=>array(47,-12,732,996),7893=>array(35,-12,573,826),7894=>array(47,-12,732,1056),7895=>array(35,-12,521,886),7896=>array(47,-210,732,900),7897=>array(35,-210,521,728),7898=>array(47,-12,776,900),7899=>array(35,-12,555,728),7900=>array(47,-12,776,900),7901=>array(35,-12,555,728),7902=>array(47,-12,776,936),7903=>array(35,-12,555,756),7904=>array(47,-12,776,884),7905=>array(35,-12,555,716),7906=>array(47,-210,776,768),7907=>array(35,-210,555,606),7908=>array(79,-210,642,716),7909=>array(66,-210,487,518),7910=>array(79,-12,642,936),7911=>array(66,-12,487,756),7912=>array(79,-12,776,900),7913=>array(66,-12,625,728),7914=>array(79,-12,776,900),7915=>array(66,-12,625,728),7916=>array(79,-12,776,936),7917=>array(66,-12,625,756),7918=>array(79,-12,776,884),7919=>array(66,-12,625,716),7920=>array(79,-210,776,768),7921=>array(66,-210,625,620),7922=>array(5,0,661,900),7923=>array(16,-210,492,728),7924=>array(5,-210,661,716),7925=>array(16,-210,492,518),7926=>array(5,0,661,936),7927=>array(16,-210,492,756),7928=>array(5,0,661,884),7929=>array(16,-210,492,716),7936=>array(35,-12,541,763),7937=>array(35,-12,541,763),7938=>array(35,-12,541,763),7939=>array(35,-12,541,763),7940=>array(35,-12,541,763),7941=>array(35,-12,541,763),7942=>array(35,-12,541,847),7943=>array(35,-12,541,847),7944=>array(-1,0,668,763),7945=>array(-1,0,668,763),7946=>array(-50,0,681,763),7947=>array(-50,0,681,763),7948=>array(-46,0,681,763),7949=>array(-38,0,681,763),7950=>array(-43,0,719,763),7951=>array(-43,0,719,763),7952=>array(29,-12,405,763),7953=>array(29,-12,405,763),7954=>array(29,-12,405,763),7955=>array(29,-12,405,763),7956=>array(29,-12,405,763),7957=>array(29,-12,405,763),7960=>array(-43,0,639,763),7961=>array(-44,0,639,763),7962=>array(-43,0,770,763),7963=>array(-43,0,770,763),7964=>array(-71,0,770,763),7965=>array(-63,0,769,763),7968=>array(68,-199,490,763),7969=>array(68,-199,490,763),7970=>array(68,-199,490,763),7971=>array(68,-199,490,763),7972=>array(68,-199,490,763),7973=>array(68,-199,490,763),7974=>array(68,-199,490,847),7975=>array(68,-199,490,847),7976=>array(-43,0,667,763),7977=>array(-44,0,667,763),7978=>array(-43,0,798,763),7979=>array(-43,0,798,763),7980=>array(-71,0,798,763),7981=>array(-63,0,798,763),7982=>array(-43,0,843,763),7983=>array(-43,0,843,763),7984=>array(59,0,162,763),7985=>array(53,0,156,763),7986=>array(-13,0,236,763),7987=>array(-13,0,236,763),7988=>array(-15,0,251,763),7989=>array(-15,0,243,763),7990=>array(-36,0,253,847),7991=>array(-36,0,253,847),7992=>array(-43,0,212,763),7993=>array(-44,0,212,763),7994=>array(-43,0,343,763),7995=>array(-43,0,343,763),7996=>array(-71,0,343,763),7997=>array(-63,0,343,763),7998=>array(-43,0,388,763),7999=>array(-43,0,388,763),8000=>array(35,-12,521,763),8001=>array(35,-12,521,763),8002=>array(35,-12,521,763),8003=>array(35,-12,521,763),8004=>array(35,-12,521,763),8005=>array(35,-12,521,763),8008=>array(-30,-12,732,763),8009=>array(-38,-12,732,763),8010=>array(-43,-12,848,763),8011=>array(-31,-12,848,763),8012=>array(-37,-12,848,763),8013=>array(-36,-12,848,763),8016=>array(68,-12,483,763),8017=>array(68,-12,483,763),8018=>array(68,-12,483,763),8019=>array(68,-12,483,763),8020=>array(68,-12,483,763),8021=>array(68,-12,483,763),8022=>array(68,-12,483,847),8023=>array(68,-12,483,847),8025=>array(-43,0,771,763),8027=>array(-43,0,887,763),8029=>array(-43,0,879,763),8031=>array(-43,0,934,763),8032=>array(35,-12,731,763),8033=>array(35,-12,731,763),8034=>array(35,-12,731,763),8035=>array(35,-12,731,763),8036=>array(35,-12,731,763),8037=>array(35,-12,731,763),8038=>array(35,-12,731,847),8039=>array(35,-12,731,847),8040=>array(-30,0,706,763),8041=>array(-38,0,706,763),8042=>array(-43,0,822,763),8043=>array(-43,0,822,763),8044=>array(-43,0,816,763),8045=>array(-43,0,815,763),8046=>array(-43,0,859,763),8047=>array(-43,0,859,763),8048=>array(35,-12,541,736),8049=>array(35,-12,541,736),8050=>array(29,-12,405,736),8051=>array(29,-12,405,736),8052=>array(68,-199,490,736),8053=>array(68,-199,490,736),8054=>array(35,0,155,736),8055=>array(67,0,187,736),8056=>array(35,-12,521,736),8057=>array(35,-12,521,736),8058=>array(68,-12,483,736),8059=>array(68,-12,483,736),8060=>array(35,-12,731,736),8061=>array(35,-12,731,736),8064=>array(35,-208,541,763),8065=>array(35,-208,541,763),8066=>array(35,-208,541,763),8067=>array(35,-208,541,763),8068=>array(35,-208,541,763),8069=>array(35,-208,541,763),8070=>array(35,-208,541,847),8071=>array(35,-208,541,847),8072=>array(-1,-208,668,763),8073=>array(-1,-208,668,763),8074=>array(-50,-208,681,763),8075=>array(-50,-208,681,763),8076=>array(-46,-208,681,763),8077=>array(-38,-208,681,763),8078=>array(-43,-208,719,763),8079=>array(-43,-208,719,763),8080=>array(68,-208,490,763),8081=>array(68,-208,490,763),8082=>array(68,-208,490,763),8083=>array(68,-208,490,763),8084=>array(68,-208,490,763),8085=>array(68,-208,490,763),8086=>array(68,-208,490,847),8087=>array(68,-208,490,847),8088=>array(-43,-208,667,763),8089=>array(-44,-208,667,763),8090=>array(-43,-208,798,763),8091=>array(-43,-208,798,763),8092=>array(-71,-208,798,763),8093=>array(-63,-208,798,763),8094=>array(-43,-208,843,763),8095=>array(-43,-208,843,763),8096=>array(35,-208,731,763),8097=>array(35,-208,731,763),8098=>array(35,-208,731,763),8099=>array(35,-208,731,763),8100=>array(35,-208,731,763),8101=>array(35,-208,731,763),8102=>array(35,-208,731,847),8103=>array(35,-208,731,847),8104=>array(-30,-208,706,763),8105=>array(-38,-208,706,763),8106=>array(-43,-208,822,763),8107=>array(-43,-208,822,763),8108=>array(-43,-208,816,763),8109=>array(-43,-208,815,763),8110=>array(-43,-208,859,763),8111=>array(-43,-208,859,763),8112=>array(35,-12,541,722),8113=>array(35,-12,541,697),8114=>array(35,-208,541,736),8115=>array(35,-208,541,530),8116=>array(35,-208,541,736),8118=>array(35,-12,541,717),8119=>array(35,-208,541,717),8120=>array(-1,0,668,889),8121=>array(-1,0,668,835),8122=>array(-1,0,668,736),8123=>array(-1,0,668,736),8124=>array(-1,-208,668,716),8125=>array(86,579,189,763),8126=>array(111,-208,289,-42),8127=>array(86,579,189,763),8128=>array(-5,590,284,717),8129=>array(-5,591,284,819),8130=>array(68,-208,490,736),8131=>array(68,-208,490,530),8132=>array(68,-208,490,736),8134=>array(68,-199,490,717),8135=>array(68,-208,490,717),8136=>array(-43,0,640,736),8137=>array(-43,0,651,736),8138=>array(-43,0,668,736),8139=>array(-43,0,679,736),8140=>array(80,-208,642,716),8141=>array(16,579,265,763),8142=>array(16,579,282,763),8143=>array(-5,583,284,847),8144=>array(-34,0,255,722),8145=>array(-41,0,264,697),8146=>array(-55,0,276,736),8147=>array(-55,0,276,736),8150=>array(-34,0,255,717),8151=>array(-32,0,257,819),8152=>array(-5,0,284,889),8153=>array(-14,0,291,835),8154=>array(-43,0,213,736),8155=>array(-43,0,213,736),8157=>array(16,579,265,763),8158=>array(16,579,274,763),8159=>array(-5,583,284,847),8160=>array(68,-12,483,722),8161=>array(68,-12,483,697),8162=>array(68,-12,483,736),8163=>array(68,-12,483,736),8164=>array(66,-199,536,763),8165=>array(66,-199,536,763),8166=>array(68,-12,483,717),8167=>array(68,-12,483,819),8168=>array(5,0,661,889),8169=>array(5,0,661,835),8170=>array(-43,0,736,736),8171=>array(-43,0,740,736),8172=>array(-43,0,649,763),8173=>array(-27,600,304,736),8174=>array(-27,600,304,736),8175=>array(70,600,189,736),8178=>array(35,-208,731,736),8179=>array(35,-208,731,518),8180=>array(35,-208,731,736),8182=>array(35,-12,731,717),8183=>array(35,-208,731,717),8184=>array(-17,-12,732,736),8185=>array(-6,-12,732,736),8186=>array(-17,0,706,736),8187=>array(-6,0,706,736),8188=>array(52,-208,706,728),8189=>array(84,600,203,736),8190=>array(88,579,191,763),8208=>array(32,215,301,303),8209=>array(32,215,301,303),8210=>array(-6,223,562,295),8211=>array(-6,223,506,295),8212=>array(-6,223,1006,295),8213=>array(26,223,538,295),8214=>array(92,-85,336,716),8215=>array(-6,-165,506,-35),8216=>array(64,494,166,728),8217=>array(56,482,158,716),8218=>array(53,-132,155,102),8219=>array(64,482,166,716),8220=>array(43,494,297,728),8221=>array(36,482,290,716),8222=>array(36,-132,290,102),8223=>array(44,482,298,716),8224=>array(39,-169,517,699),8225=>array(39,-169,517,706),8226=>array(51,227,299,474),8227=>array(52,197,321,504),8228=>array(89,0,189,100),8229=>array(89,0,467,100),8230=>array(117,0,883,100),8231=>array(89,302,189,402),8240=>array(18,-27,982,728),8241=>array(18,-27,1310,728),8242=>array(46,462,192,716),8243=>array(46,462,342,716),8244=>array(46,462,492,716),8245=>array(30,462,176,716),8246=>array(30,462,326,716),8247=>array(30,462,476,716),8248=>array(30,-175,282,32),8249=>array(44,35,271,481),8250=>array(62,35,289,481),8251=>array(116,-125,883,641),8252=>array(85,0,387,716),8253=>array(46,0,508,747),8254=>array(-6,740,506,790),8255=>array(3,-203,941,4),8256=>array(3,578,941,785),8257=>array(30,-175,282,146),8258=>array(33,-3,786,728),8259=>array(32,185,301,333),8260=>array(-222,-25,393,732),8261=>array(68,-199,262,716),8262=>array(16,-199,210,716),8304=>array(15,349,318,725),8308=>array(11,358,319,725),8309=>array(16,349,313,716),8310=>array(9,349,315,725),8311=>array(36,358,304,716),8312=>array(22,349,312,725),8313=>array(18,349,323,725),8314=>array(37,395,296,654),8315=>array(37,496,296,553),8316=>array(37,436,296,613),8317=>array(32,209,195,769),8318=>array(16,209,178,769),8319=>array(51,358,293,646),8320=>array(15,-24,318,352),8321=>array(52,-15,232,352),8322=>array(12,-15,316,352),8323=>array(16,-24,315,352),8324=>array(11,-15,319,352),8325=>array(16,-24,313,343),8326=>array(9,-24,315,352),8327=>array(36,-15,304,343),8328=>array(22,-24,312,352),8329=>array(18,-24,323,352),8330=>array(37,22,296,281),8331=>array(37,123,296,180),8332=>array(37,63,296,240),8333=>array(32,-164,195,396),8334=>array(16,-164,178,396),8352=>array(20,0,547,719),8353=>array(51,-63,525,782),8354=>array(45,-12,533,728),8355=>array(80,0,554,716),8356=>array(13,-14,528,728),8357=>array(65,-71,769,652),8358=>array(21,0,535,719),8359=>array(21,0,539,716),8360=>array(18,-12,986,716),8361=>array(8,0,929,716),8362=>array(72,0,712,518),8363=>array(67,0,514,723),8364=>array(-14,-12,541,728),8400=>array(28,574,552,716),8401=>array(48,574,572,716),8402=>array(264,-194,336,706),8403=>array(264,-12,336,524),8404=>array(34,419,668,646),8405=>array(32,419,666,646),8406=>array(28,504,555,716),8407=>array(45,504,572,716),8408=>array(146,102,454,410),8409=>array(146,102,465,421),8410=>array(146,91,465,410),8411=>array(112,611,488,707),8412=>array(42,611,558,707),8413=>array(63,-131,837,643),8414=>array(93,-101,807,613),8415=>array(9,-186,891,697),8416=>array(63,-131,837,643),8417=>array(28,504,672,716),8448=>array(46,-27,825,728),8449=>array(46,-27,822,728),8450=>array(37,-15,632,677),8451=>array(44,-12,983,728),8452=>array(41,0,588,662),8453=>array(53,-27,836,728),8454=>array(53,-27,823,728),8455=>array(42,-15,480,677),8456=>array(30,-15,630,677),8457=>array(44,0,873,725),8458=>array(-25,-201,523,327),8459=>array(23,-9,1078,665),8460=>array(46,-20,940,698),8461=>array(19,0,703,662),8462=>array(19,-12,458,694),8463=>array(19,-12,458,694),8464=>array(8,-201,834,654),8465=>array(26,-20,498,677),8466=>array(48,-8,842,664),8467=>array(5,-5,288,627),8468=>array(3,-12,739,716),8469=>array(-12,-11,710,662),8470=>array(79,0,1031,716),8471=>array(0,-9,737,728),8472=>array(48,-216,701,516),8473=>array(19,0,524,662),8474=>array(37,-198,685,677),8475=>array(71,-13,951,658),8476=>array(46,-20,747,686),8477=>array(19,0,677,662),8478=>array(19,0,677,662),8479=>array(19,-176,677,817),8480=>array(93,311,866,723),8481=>array(100,318,1085,716),8482=>array(100,318,861,716),8483=>array(10,-176,711,817),8484=>array(11,0,581,662),8485=>array(50,-192,494,690),8486=>array(28,0,740,677),8487=>array(28,-15,740,662),8488=>array(28,-194,644,687),8489=>array(2,0,245,530),8490=>array(73,0,665,716),8491=>array(-1,0,668,922),8492=>array(105,-5,951,659),8493=>array(53,-20,627,697),8494=>array(35,-12,521,530),8495=>array(31,-4,398,328),8496=>array(75,-6,671,666),8497=>array(35,-6,885,668),8498=>array(47,0,530,716),8499=>array(36,-12,1214,661),8500=>array(37,-6,379,318),8501=>array(64,-19,649,716),8502=>array(67,0,631,716),8503=>array(25,0,325,716),8504=>array(72,-18,630,716),8531=>array(52,-25,815,732),8532=>array(12,-25,815,732),8533=>array(52,-25,813,732),8534=>array(12,-25,813,732),8535=>array(16,-25,813,732),8536=>array(11,-25,813,732),8537=>array(52,-25,813,732),8538=>array(16,-25,813,732),8539=>array(52,-25,804,732),8540=>array(16,-25,804,732),8541=>array(16,-25,804,732),8542=>array(73,-25,804,732),8543=>array(52,-25,727,732),8544=>array(92,0,187,716),8545=>array(92,0,464,716),8546=>array(92,0,741,716),8547=>array(92,0,934,716),8548=>array(6,0,660,716),8549=>array(6,0,843,716),8550=>array(2,0,960,716),8551=>array(2,0,1197,716),8552=>array(92,0,940,716),8553=>array(5,0,661,716),8554=>array(5,0,853,716),8555=>array(5,0,964,716),8556=>array(75,0,523,716),8557=>array(51,-12,683,728),8558=>array(80,0,672,716),8559=>array(76,0,757,716),8560=>array(67,0,155,716),8561=>array(67,0,377,716),8562=>array(67,0,599,716),8563=>array(67,0,697,716),8564=>array(13,0,488,518),8565=>array(13,0,633,716),8566=>array(13,0,855,716),8567=>array(13,0,1077,716),8568=>array(67,0,708,716),8569=>array(7,0,493,518),8570=>array(7,0,645,716),8571=>array(7,0,867,716),8572=>array(67,0,155,716),8573=>array(39,-12,491,530),8574=>array(36,-12,486,716),8575=>array(65,0,769,530),8576=>array(47,0,936,716),8577=>array(80,0,672,716),8578=>array(47,0,936,716),8592=>array(40,100,673,412),8593=>array(201,0,513,662),8594=>array(40,100,673,412),8595=>array(201,0,513,662),8596=>array(40,100,673,412),8597=>array(201,0,513,662),8598=>array(100,102,586,588),8599=>array(128,102,614,588),8600=>array(128,74,614,560),8601=>array(100,74,586,560),8602=>array(40,100,673,412),8603=>array(40,100,673,412),8604=>array(40,100,674,412),8605=>array(39,100,673,412),8606=>array(40,100,673,412),8607=>array(201,0,513,662),8608=>array(40,100,673,412),8609=>array(201,0,513,662),8610=>array(40,100,673,412),8611=>array(40,100,673,412),8612=>array(40,100,673,412),8613=>array(201,0,513,662),8614=>array(40,100,673,412),8615=>array(201,0,513,662),8616=>array(201,0,513,662),8617=>array(40,100,673,482),8618=>array(40,100,673,482),8619=>array(40,100,673,500),8620=>array(40,100,673,500),8621=>array(40,100,774,412),8622=>array(40,100,773,412),8623=>array(199,0,520,662),8624=>array(120,71,553,603),8625=>array(160,71,593,603),8626=>array(120,59,553,591),8627=>array(160,59,593,591),8628=>array(97,94,629,527),8629=>array(120,59,553,591),8630=>array(67,181,638,497),8631=>array(75,181,646,497),8632=>array(81,102,633,662),8633=>array(40,-56,673,568),8634=>array(60,21,740,701),8635=>array(60,21,740,701),8636=>array(40,232,673,412),8637=>array(40,100,673,280),8638=>array(333,0,513,662),8639=>array(201,0,381,662),8640=>array(40,232,673,412),8641=>array(40,100,673,280),8642=>array(333,0,513,662),8643=>array(201,0,381,662),8644=>array(40,-56,673,568),8645=>array(45,0,669,662),8646=>array(40,-56,673,568),8647=>array(40,-56,673,568),8648=>array(45,0,669,662),8649=>array(40,-56,673,568),8650=>array(45,0,669,662),8651=>array(39,30,672,482),8652=>array(40,30,673,482),8653=>array(40,40,673,472),8654=>array(40,40,910,472),8655=>array(40,40,673,472),8656=>array(40,40,673,472),8657=>array(141,0,573,662),8658=>array(40,40,673,472),8659=>array(141,0,573,662),8660=>array(40,40,823,472),8661=>array(141,0,573,783),8662=>array(100,0,688,588),8663=>array(26,0,614,588),8664=>array(26,0,614,588),8665=>array(100,0,688,588),8666=>array(40,40,673,472),8667=>array(40,40,673,472),8668=>array(40,100,773,412),8669=>array(40,100,773,412),8670=>array(201,0,513,662),8671=>array(201,0,513,662),8672=>array(40,100,673,412),8673=>array(201,0,513,662),8674=>array(40,100,673,412),8675=>array(201,0,513,662),8676=>array(40,100,673,412),8677=>array(40,100,673,412),8678=>array(40,40,673,472),8679=>array(141,0,573,662),8680=>array(40,40,673,472),8681=>array(141,0,573,662),8682=>array(141,0,573,662),8704=>array(27,0,573,689),8705=>array(80,-60,528,702),8706=>array(32,-15,486,695),8707=>array(115,0,475,689),8708=>array(115,-73,475,762),8709=>array(46,-23,755,686),8710=>array(6,0,608,688),8711=>array(6,0,608,688),8712=>array(43,33,498,480),8713=>array(43,-57,498,570),8714=>array(89,78,453,435),8715=>array(51,33,506,480),8716=>array(51,-57,506,570),8717=>array(96,78,460,435),8718=>array(98,0,451,512),8719=>array(25,-101,803,751),8720=>array(25,-101,803,751),8721=>array(17,-101,695,752),8722=>array(55,312,529,394),8723=>array(55,0,529,611),8724=>array(55,0,529,627),8725=>array(-222,-25,393,732),8726=>array(0,-24,278,716),8727=>array(33,194,356,499),8728=>array(65,207,335,478),8729=>array(65,207,335,478),8730=>array(41,-19,549,782),8731=>array(41,-19,549,782),8732=>array(41,-19,549,782),8733=>array(75,128,447,384),8734=>array(20,99,529,414),8735=>array(55,0,529,474),8736=>array(55,0,529,474),8737=>array(55,0,529,474),8738=>array(55,-98,444,572),8739=>array(92,-199,168,716),8740=>array(92,-199,352,716),8741=>array(92,-199,326,716),8742=>array(92,-199,510,716),8743=>array(20,0,542,568),8744=>array(20,0,542,568),8745=>array(50,0,512,568),8746=>array(50,0,512,568),8747=>array(63,-271,434,1022),8748=>array(63,-271,734,1022),8749=>array(63,-271,1034,1022),8750=>array(33,-271,459,1022),8751=>array(33,-271,759,1022),8752=>array(33,-271,1059,1022),8753=>array(33,-271,488,1022),8754=>array(33,-271,488,1022),8755=>array(33,-271,498,1022),8756=>array(42,0,521,528),8757=>array(42,0,521,528),8758=>array(161,0,260,528),8759=>array(42,0,521,528),8760=>array(55,312,529,567),8761=>array(55,139,529,567),8762=>array(55,139,529,567),8763=>array(55,139,529,567),8764=>array(55,279,529,424),8765=>array(55,279,529,424),8766=>array(35,212,539,496),8767=>array(40,72,544,636),8768=>array(139,0,284,592),8769=>array(55,171,529,533),8770=>array(55,202,529,535),8771=>array(55,203,529,536),8772=>array(55,91,529,613),8773=>array(55,123,529,584),8774=>array(55,51,529,614),8775=>array(55,51,529,633),8776=>array(55,171,529,533),8777=>array(55,81,529,603),8778=>array(55,123,529,584),8779=>array(55,97,529,584),8780=>array(35,53,539,654),8781=>array(55,155,529,551),8782=>array(55,58,529,648),8783=>array(55,203,529,648),8784=>array(55,203,529,676),8785=>array(55,59,529,647),8786=>array(55,59,529,647),8787=>array(55,59,529,647),8788=>array(55,195,682,511),8789=>array(55,195,682,511),8790=>array(55,189,529,518),8791=>array(55,0,529,617),8792=>array(55,0,529,518),8793=>array(55,0,529,630),8794=>array(55,0,529,630),8795=>array(55,0,529,651),8796=>array(55,0,529,701),8797=>array(55,0,529,605),8798=>array(55,0,529,532),8799=>array(55,0,529,601),8800=>array(55,103,529,603),8801=>array(55,123,529,557),8802=>array(55,23,529,657),8803=>array(55,35,529,645),8804=>array(55,55,529,650),8805=>array(55,55,529,650),8806=>array(55,0,529,783),8807=>array(55,0,529,783),8808=>array(55,-85,529,783),8809=>array(55,-85,529,783),8810=>array(55,111,914,595),8811=>array(55,111,914,595),8812=>array(143,-210,441,728),8813=>array(55,103,529,603),8814=>array(55,23,529,657),8815=>array(55,23,529,657),8816=>array(55,-141,529,657),8817=>array(55,-141,529,657),8818=>array(55,-1,529,656),8819=>array(55,-1,529,656),8820=>array(55,-91,529,718),8821=>array(55,-91,529,718),8822=>array(55,-27,529,821),8823=>array(55,-27,529,821),8824=>array(55,-27,529,821),8825=>array(55,-27,529,821),8826=>array(55,111,529,595),8827=>array(55,111,529,595),8828=>array(55,-33,529,595),8829=>array(55,-33,529,595),8830=>array(55,-1,529,656),8831=>array(55,-1,529,656),8832=>array(55,23,529,657),8833=>array(55,23,529,657),8834=>array(55,122,623,584),8835=>array(55,122,623,584),8836=>array(55,22,623,684),8837=>array(55,22,623,684),8838=>array(55,0,623,626),8839=>array(55,0,623,626),8840=>array(55,-100,623,726),8841=>array(55,-100,623,726),8842=>array(55,-100,623,626),8843=>array(55,-100,623,626),8844=>array(50,0,512,568),8845=>array(50,0,512,568),8846=>array(50,0,512,568),8847=>array(55,122,623,584),8848=>array(55,122,623,584),8849=>array(55,0,623,626),8850=>array(55,0,623,626),8851=>array(50,0,512,568),8852=>array(50,0,512,568),8853=>array(59,-85,741,597),8854=>array(59,-85,741,597),8855=>array(59,-85,741,597),8856=>array(59,-85,741,597),8857=>array(59,-85,741,597),8858=>array(59,-85,741,597),8859=>array(59,-85,741,597),8860=>array(59,-85,741,597),8861=>array(59,-85,741,597),8862=>array(60,0,741,681),8863=>array(60,0,741,681),8864=>array(60,0,741,681),8865=>array(60,0,741,681),8866=>array(60,0,531,512),8867=>array(18,0,489,512),8868=>array(18,0,531,512),8869=>array(18,0,531,512),8870=>array(60,0,381,512),8871=>array(60,0,381,512),8872=>array(60,0,531,512),8873=>array(60,0,531,512),8874=>array(60,0,531,512),8875=>array(60,0,654,512),8876=>array(60,0,531,513),8877=>array(60,0,531,513),8878=>array(60,0,531,513),8879=>array(60,0,654,513),8880=>array(18,-54,531,566),8881=>array(18,-54,531,566),8882=>array(18,0,531,512),8883=>array(18,0,531,512),8884=>array(18,-51,531,562),8885=>array(18,-51,531,562),8886=>array(40,153,673,359),8887=>array(40,153,673,359),8888=>array(40,153,673,359),8889=>array(18,0,531,512),8890=>array(88,0,461,632),8891=>array(50,0,534,638),8892=>array(50,0,534,638),8893=>array(50,0,534,638),8894=>array(55,0,529,474),8895=>array(55,0,529,474),8896=>array(20,0,542,568),8897=>array(20,0,542,568),8898=>array(50,0,512,568),8899=>array(50,0,512,568),8900=>array(156,106,395,406),8901=>array(55,186,195,326),8902=>array(39,39,511,488),8903=>array(30,9,620,502),8904=>array(29,-64,601,576),8905=>array(29,-64,601,576),8906=>array(29,-64,601,576),8907=>array(29,-64,601,576),8908=>array(29,-64,601,576),8909=>array(55,203,529,536),8910=>array(18,0,542,568),8911=>array(18,0,542,568),8912=>array(56,84,623,626),8913=>array(56,84,623,626),8914=>array(63,0,605,567),8915=>array(63,0,605,567),8916=>array(50,0,512,716),8917=>array(55,-199,529,716),8918=>array(55,111,529,595),8919=>array(55,111,529,595),8920=>array(55,111,1299,595),8921=>array(55,111,1299,595),8922=>array(55,-217,529,927),8923=>array(55,-217,529,927),8924=>array(55,55,529,650),8925=>array(55,55,529,650),8926=>array(55,-33,529,595),8927=>array(55,-33,529,595),8928=>array(55,-141,529,657),8929=>array(55,-141,529,657),8930=>array(55,-100,623,726),8931=>array(55,-100,623,726),8932=>array(55,-100,623,626),8933=>array(55,-100,623,626),8934=>array(55,-71,529,656),8935=>array(55,-71,529,656),8936=>array(55,-71,529,656),8937=>array(55,-71,529,656),8938=>array(55,23,529,657),8939=>array(55,23,529,657),8940=>array(55,-45,529,712),8941=>array(55,-45,529,712),8942=>array(89,0,189,766),8943=>array(117,333,883,433),8944=>array(117,0,883,766),8945=>array(117,0,883,766),8960=>array(60,41,490,471),8962=>array(51,24,498,486),8963=>array(129,180,419,395),8964=>array(129,117,419,332),8965=>array(78,130,471,441),8966=>array(78,130,471,565),8967=>array(191,-192,359,693),8968=>array(103,58,346,694),8969=>array(103,58,346,694),8970=>array(103,-192,346,444),8971=>array(103,-192,346,444),8972=>array(251,-40,571,280),8973=>array(-22,-40,299,280),8974=>array(251,232,571,552),8975=>array(-22,232,299,552),8976=>array(49,163,511,403),8977=>array(83,64,467,448),8978=>array(59,156,741,497),8979=>array(59,156,741,497),8980=>array(34,100,516,441),8981=>array(27,9,490,471),8982=>array(26,-102,523,614),8983=>array(18,-51,632,563),8984=>array(63,0,717,654),8985=>array(49,109,511,349),8986=>array(45,-20,505,532),8987=>array(103,0,447,512),8988=>array(111,140,391,420),8989=>array(158,140,439,420),8990=>array(111,92,391,372),8991=>array(158,92,439,372),8992=>array(180,-218,434,752),8993=>array(63,-188,313,782),8994=>array(17,159,696,341),8995=>array(17,171,696,353),8996=>array(18,226,982,547),8997=>array(18,0,982,512),8998=>array(90,0,948,600),8999=>array(90,0,910,600),9000=>array(90,0,910,600),9001=>array(32,-184,299,694),9002=>array(30,-184,297,694),9003=>array(52,0,910,600),9004=>array(57,6,493,509),9005=>array(13,77,537,435),9006=>array(100,108,465,400),9007=>array(38,132,511,380),9008=>array(38,0,504,525),9009=>array(81,62,509,450),9010=>array(35,50,531,462),9011=>array(35,186,531,392),9012=>array(51,84,498,419),9013=>array(51,84,498,419),9014=>array(60,0,540,559),9015=>array(140,0,460,559),9016=>array(60,0,540,559),9017=>array(60,0,540,559),9018=>array(60,0,540,559),9019=>array(60,0,540,559),9020=>array(60,0,540,559),9021=>array(104,0,496,559),9022=>array(60,39,540,519),9023=>array(84,0,517,559),9024=>array(83,0,516,559),9025=>array(60,0,540,559),9026=>array(60,0,540,559),9027=>array(60,0,540,559),9028=>array(60,0,540,559),9029=>array(13,0,556,559),9030=>array(44,0,587,559),9031=>array(60,0,540,559),9032=>array(60,0,540,559),9033=>array(104,0,496,559),9034=>array(60,0,540,559),9035=>array(122,0,478,559),9036=>array(60,0,540,559),9037=>array(60,0,540,559),9038=>array(60,0,540,559),9039=>array(60,0,540,559),9040=>array(60,0,540,559),9041=>array(60,0,540,559),9042=>array(122,0,478,559),9043=>array(60,0,540,559),9044=>array(60,0,540,559),9045=>array(60,0,540,559),9046=>array(60,0,540,559),9047=>array(60,0,540,559),9048=>array(160,0,440,559),9049=>array(60,0,540,559),9050=>array(60,0,540,559),9051=>array(60,0,540,397),9052=>array(60,0,540,475),9053=>array(60,0,540,559),9054=>array(60,0,540,559),9055=>array(60,39,540,519),9056=>array(60,0,540,559),9057=>array(60,0,540,559),9058=>array(122,0,478,559),9059=>array(153,157,447,509),9060=>array(153,161,447,524),9061=>array(104,33,496,559),9062=>array(60,0,540,559),9063=>array(54,0,542,559),9064=>array(50,131,549,464),9065=>array(148,122,452,559),9066=>array(160,122,440,478),9067=>array(103,68,502,508),9068=>array(93,-14,504,573),9069=>array(50,0,549,559),9070=>array(160,-136,440,559),9071=>array(60,0,540,559),9072=>array(60,0,540,559),9073=>array(51,55,550,469),9074=>array(50,89,549,503),9075=>array(163,-14,427,475),9076=>array(90,-212,525,475),9077=>array(26,-14,574,475),9078=>array(60,-136,555,475),9079=>array(60,-136,540,480),9080=>array(160,-136,440,475),9081=>array(26,-136,574,475),9082=>array(61,-14,555,475),9109=>array(60,0,540,559),9216=>array(30,0,565,689),9217=>array(37,0,564,694),9218=>array(37,0,587,694),9219=>array(41,0,587,689),9220=>array(41,0,582,689),9221=>array(41,-42,583,689),9222=>array(9,0,594,689),9223=>array(34,0,565,689),9224=>array(134,112,465,574),9225=>array(134,116,482,574),9226=>array(141,116,462,574),9227=>array(109,116,482,574),9228=>array(141,116,462,574),9229=>array(120,116,489,579),9230=>array(137,112,472,579),9231=>array(137,116,449,579),9232=>array(34,0,560,689),9233=>array(34,0,564,689),9234=>array(34,0,558,689),9235=>array(34,-4,559,689),9236=>array(34,0,573,689),9237=>array(30,0,594,689),9238=>array(37,0,568,694),9239=>array(41,0,575,689),9240=>array(20,0,568,694),9241=>array(141,116,472,574),9242=>array(37,0,575,694),9243=>array(41,-4,573,689),9244=>array(141,112,465,574),9245=>array(120,112,465,579),9246=>array(134,112,465,574),9247=>array(134,112,465,574),9248=>array(137,116,471,579),9249=>array(34,0,565,689),9250=>array(46,-12,561,716),9251=>array(96,-126,505,0),9252=>array(130,116,465,574),9280=>array(103,1,514,650),9281=>array(102,0,514,650),9282=>array(103,1,514,650),9283=>array(103,1,514,650),9284=>array(102,1,514,650),9285=>array(102,336,514,650),9286=>array(102,0,648,702),9287=>array(102,0,648,702),9288=>array(102,117,648,663),9289=>array(102,195,648,507),9290=>array(30,1,574,650),9312=>array(81,-109,919,728),9313=>array(81,-109,919,728),9314=>array(81,-109,919,728),9315=>array(81,-109,919,728),9316=>array(81,-109,919,728),9317=>array(81,-109,919,728),9318=>array(81,-109,919,728),9319=>array(81,-109,919,728),9320=>array(81,-109,919,728),9321=>array(81,-109,919,728),9322=>array(81,-109,919,728),9323=>array(81,-109,919,728),9324=>array(81,-109,919,728),9325=>array(81,-109,919,728),9326=>array(81,-109,919,728),9327=>array(81,-109,919,728),9328=>array(81,-109,919,728),9329=>array(81,-109,919,728),9330=>array(81,-109,919,728),9331=>array(81,-109,919,728),9332=>array(81,-67,919,683),9333=>array(81,-67,919,683),9334=>array(81,-67,919,683),9335=>array(81,-67,919,683),9336=>array(81,-67,919,683),9337=>array(81,-67,919,683),9338=>array(81,-67,919,683),9339=>array(81,-67,919,683),9340=>array(81,-67,919,683),9341=>array(81,-67,919,683),9342=>array(81,-67,919,683),9343=>array(81,-67,919,683),9344=>array(81,-67,919,683),9345=>array(81,-67,919,683),9346=>array(81,-67,919,683),9347=>array(81,-67,919,683),9348=>array(81,-67,919,683),9349=>array(81,-67,919,683),9350=>array(81,-67,919,683),9351=>array(81,-67,919,683),9352=>array(301,79,627,547),9353=>array(273,79,717,547),9354=>array(277,72,717,547),9355=>array(253,79,717,545),9356=>array(272,72,717,539),9357=>array(266,72,717,547),9358=>array(294,79,717,539),9359=>array(275,72,717,547),9360=>array(282,72,717,547),9361=>array(163,72,807,547),9362=>array(191,79,807,547),9363=>array(155,79,807,547),9364=>array(155,72,807,547),9365=>array(159,79,807,547),9366=>array(159,72,807,547),9367=>array(159,72,807,547),9368=>array(159,79,807,547),9369=>array(159,72,807,547),9370=>array(159,72,807,547),9371=>array(185,72,817,547),9372=>array(81,-67,919,683),9373=>array(81,-67,919,683),9374=>array(81,-67,919,683),9375=>array(81,-67,919,683),9376=>array(81,-67,919,683),9377=>array(81,-67,919,683),9378=>array(81,-67,919,683),9379=>array(81,-67,919,683),9380=>array(81,-67,919,683),9381=>array(81,-67,919,683),9382=>array(81,-67,919,683),9383=>array(81,-67,919,683),9384=>array(81,-67,919,683),9385=>array(81,-67,919,683),9386=>array(81,-67,919,683),9387=>array(81,-67,919,683),9388=>array(81,-67,919,683),9389=>array(81,-67,919,683),9390=>array(81,-67,919,683),9391=>array(81,-67,919,683),9392=>array(81,-67,919,683),9393=>array(81,-67,919,683),9394=>array(81,-67,919,683),9395=>array(81,-67,919,683),9396=>array(81,-67,919,683),9397=>array(81,-67,919,683),9398=>array(81,-109,919,728),9399=>array(81,-109,919,728),9400=>array(81,-109,919,728),9401=>array(81,-109,919,728),9402=>array(81,-109,919,728),9403=>array(81,-109,919,728),9404=>array(81,-109,919,728),9405=>array(81,-109,919,728),9406=>array(81,-109,919,728),9407=>array(81,-109,919,728),9408=>array(81,-109,919,728),9409=>array(81,-109,919,728),9410=>array(81,-109,919,728),9411=>array(81,-109,919,728),9412=>array(81,-109,919,728),9413=>array(81,-109,919,728),9414=>array(81,-109,919,728),9415=>array(81,-109,919,728),9416=>array(81,-109,919,728),9417=>array(81,-109,919,728),9418=>array(81,-109,919,728),9419=>array(81,-109,919,728),9420=>array(81,-109,919,728),9421=>array(81,-109,919,728),9422=>array(81,-109,919,728),9423=>array(81,-109,919,728),9424=>array(81,-109,919,728),9425=>array(81,-109,919,728),9426=>array(81,-109,919,728),9427=>array(81,-109,919,728),9428=>array(81,-109,919,728),9429=>array(81,-109,919,728),9430=>array(81,-109,919,728),9431=>array(81,-109,919,728),9432=>array(81,-109,919,728),9433=>array(81,-109,919,728),9434=>array(81,-109,919,728),9435=>array(81,-109,919,728),9436=>array(81,-109,919,728),9437=>array(81,-109,919,728),9438=>array(81,-109,919,728),9439=>array(81,-109,919,728),9440=>array(81,-109,919,728),9441=>array(81,-109,919,728),9442=>array(81,-109,919,728),9443=>array(81,-109,919,728),9444=>array(81,-109,919,728),9445=>array(81,-109,919,728),9446=>array(81,-109,919,728),9447=>array(81,-109,919,728),9448=>array(81,-109,919,728),9449=>array(81,-109,919,728),9450=>array(81,-109,919,728),9472=>array(-11,340,611,425),9473=>array(-11,303,611,474),9474=>array(258,-218,343,994),9475=>array(215,-218,386,994),9476=>array(-11,346,611,431),9477=>array(-11,303,611,474),9478=>array(258,-218,343,994),9479=>array(215,-218,386,994),9480=>array(-11,346,611,431),9481=>array(-11,303,611,474),9482=>array(258,-218,343,994),9483=>array(215,-218,386,994),9484=>array(258,-218,611,431),9485=>array(258,-218,611,474),9486=>array(215,-218,611,431),9487=>array(215,-218,611,474),9488=>array(-11,-218,343,431),9489=>array(-11,-218,343,474),9490=>array(-11,-218,386,431),9491=>array(-11,-218,386,474),9492=>array(258,346,611,994),9493=>array(258,303,611,994),9494=>array(215,346,611,994),9495=>array(215,303,611,994),9496=>array(-11,346,343,994),9497=>array(-11,303,343,994),9498=>array(-11,346,386,994),9499=>array(-11,303,386,994),9500=>array(258,-218,611,994),9501=>array(258,-218,611,994),9502=>array(215,-218,611,994),9503=>array(215,-218,611,994),9504=>array(215,-218,611,994),9505=>array(215,-218,611,994),9506=>array(215,-218,611,994),9507=>array(215,-218,611,994),9508=>array(-11,-218,343,994),9509=>array(-11,-218,343,994),9510=>array(-11,-218,386,994),9511=>array(-11,-218,386,994),9512=>array(-11,-218,386,994),9513=>array(-11,-218,386,994),9514=>array(-11,-218,386,994),9515=>array(-11,-218,386,994),9516=>array(-11,-218,611,431),9517=>array(-11,-218,611,474),9518=>array(-11,-218,611,474),9519=>array(-11,-218,611,474),9520=>array(-11,-218,611,431),9521=>array(-11,-218,611,474),9522=>array(-11,-218,611,474),9523=>array(-11,-218,611,474),9524=>array(-11,346,611,994),9525=>array(-11,303,611,994),9526=>array(-11,303,611,994),9527=>array(-11,303,611,994),9528=>array(-11,346,611,994),9529=>array(-11,303,611,994),9530=>array(-11,303,611,994),9531=>array(-11,303,611,994),9532=>array(-11,-218,611,994),9533=>array(-11,-218,611,994),9534=>array(-11,-218,611,994),9535=>array(-11,-218,611,994),9536=>array(-11,-218,611,994),9537=>array(-11,-218,611,994),9538=>array(-11,-218,611,994),9539=>array(-11,-218,611,994),9540=>array(-11,-218,611,994),9541=>array(-11,-218,611,994),9542=>array(-11,-218,611,994),9543=>array(-11,-218,611,994),9544=>array(-11,-218,611,994),9545=>array(-11,-218,611,994),9546=>array(-11,-218,611,994),9547=>array(-11,-218,611,994),9548=>array(-11,346,611,431),9549=>array(-11,303,611,474),9550=>array(258,-218,343,994),9551=>array(215,-218,386,994),9552=>array(-11,261,611,516),9553=>array(173,-218,428,994),9554=>array(258,-218,611,516),9555=>array(173,-218,611,431),9556=>array(173,-218,611,516),9557=>array(-11,-218,343,516),9558=>array(-11,-218,428,431),9559=>array(-11,-218,428,516),9560=>array(258,261,611,994),9561=>array(173,346,611,994),9562=>array(173,261,611,994),9563=>array(-11,261,343,994),9564=>array(-11,346,428,994),9565=>array(-11,261,428,994),9566=>array(258,-218,611,994),9567=>array(173,-218,611,994),9568=>array(173,-218,611,994),9569=>array(-11,-218,343,994),9570=>array(-11,-218,428,994),9571=>array(-11,-218,428,994),9572=>array(-11,-218,611,516),9573=>array(-11,-218,611,431),9574=>array(-11,-218,611,516),9575=>array(-11,261,611,994),9576=>array(-11,346,611,994),9577=>array(-11,261,611,994),9578=>array(-11,-218,611,994),9579=>array(-11,-218,611,994),9580=>array(-11,-218,611,994),9581=>array(258,77,612,431),9582=>array(-11,77,343,431),9583=>array(-11,346,343,700),9584=>array(258,346,612,700),9585=>array(0,88,600,688),9586=>array(0,88,600,688),9587=>array(0,88,600,688),9588=>array(-11,346,258,431),9589=>array(258,431,343,994),9590=>array(343,346,611,431),9591=>array(258,-218,343,346),9592=>array(-11,303,258,474),9593=>array(215,431,386,994),9594=>array(343,303,611,474),9595=>array(215,-218,386,346),9596=>array(-11,303,611,474),9597=>array(215,-218,386,994),9598=>array(-11,303,611,474),9599=>array(215,-218,386,994),9600=>array(-11,388,611,994),9601=>array(-11,-218,611,-66),9602=>array(-11,-218,611,85),9603=>array(-11,-218,611,237),9604=>array(-11,-218,611,388),9605=>array(-11,-218,611,540),9606=>array(-11,-218,611,691),9607=>array(-11,-218,611,843),9608=>array(-11,-218,611,994),9609=>array(-11,-218,525,994),9610=>array(-11,-218,450,994),9611=>array(-11,-218,375,994),9612=>array(-11,-218,300,994),9613=>array(-11,-218,225,994),9614=>array(-11,-218,150,994),9615=>array(-11,-218,75,994),9616=>array(300,-218,611,994),9617=>array(100,-262,600,1043),9618=>array(0,-264,601,1042),9619=>array(0,-262,601,1042),9620=>array(-11,843,611,994),9621=>array(525,-218,611,994),9632=>array(85,160,515,590),9633=>array(85,160,515,590),9634=>array(85,160,515,590),9635=>array(85,160,515,590),9636=>array(85,160,515,590),9637=>array(85,160,515,590),9638=>array(85,160,515,590),9639=>array(85,160,515,590),9640=>array(85,160,515,590),9641=>array(85,160,515,590),9642=>array(192,267,408,483),9643=>array(192,267,408,483),9644=>array(85,267,515,483),9645=>array(85,267,515,483),9646=>array(192,160,408,590),9647=>array(192,160,408,590),9648=>array(79,275,521,475),9649=>array(79,275,521,475),9650=>array(89,211,511,611),9651=>array(89,211,511,611),9652=>array(146,285,454,552),9653=>array(146,285,454,552),9654=>array(136,164,536,586),9655=>array(136,164,536,586),9656=>array(211,221,478,529),9657=>array(211,221,478,529),9658=>array(85,194,541,556),9659=>array(85,194,541,556),9660=>array(89,139,511,539),9661=>array(89,139,511,539),9662=>array(146,198,454,465),9663=>array(146,198,454,465),9664=>array(64,164,464,586),9665=>array(64,164,464,586),9666=>array(122,221,389,529),9667=>array(122,221,389,529),9668=>array(59,194,515,556),9669=>array(59,194,515,556),9670=>array(69,144,531,606),9671=>array(69,144,531,606),9672=>array(69,144,531,606),9673=>array(85,160,515,590),9674=>array(85,80,515,670),9675=>array(85,160,515,590),9676=>array(86,161,514,589),9677=>array(85,160,515,590),9678=>array(85,160,515,590),9679=>array(85,160,515,590),9680=>array(85,160,515,590),9681=>array(85,160,515,590),9682=>array(85,160,515,590),9683=>array(85,160,515,590),9684=>array(85,160,515,590),9685=>array(85,160,515,590),9686=>array(85,160,300,590),9687=>array(300,160,515,590),9688=>array(0,0,600,600),9689=>array(0,0,600,600),9690=>array(0,300,600,600),9691=>array(0,0,600,300),9692=>array(85,375,300,590),9693=>array(300,375,515,590),9694=>array(300,160,515,375),9695=>array(85,160,300,375),9696=>array(85,375,515,590),9697=>array(85,160,515,375),9698=>array(85,160,515,590),9699=>array(85,160,515,590),9700=>array(85,160,515,590),9701=>array(85,160,515,590),9702=>array(193,268,407,482),9703=>array(85,160,515,590),9704=>array(85,160,515,590),9705=>array(85,160,515,590),9706=>array(85,160,515,590),9707=>array(85,160,515,590),9708=>array(89,211,511,611),9709=>array(89,211,511,611),9710=>array(89,211,511,611),9711=>array(20,95,580,655),9728=>array(65,1,685,621),9729=>array(58,166,944,652),9730=>array(76,6,674,622),9731=>array(105,-3,672,690),9732=>array(81,0,923,690),9733=>array(37,0,779,719),9734=>array(37,0,786,720),9735=>array(107,12,356,451),9736=>array(35,53,436,449),9737=>array(70,0,730,660),9738=>array(70,50,730,620),9739=>array(70,50,730,620),9740=>array(200,100,677,577),9741=>array(100,0,700,600),9742=>array(22,63,696,521),9743=>array(22,63,696,521),9744=>array(63,0,671,607),9745=>array(63,0,671,607),9746=>array(63,0,671,607),9747=>array(129,0,633,668),9754=>array(27,56,924,451),9755=>array(36,56,933,451),9756=>array(84,168,899,531),9757=>array(288,-79,651,736),9758=>array(41,168,856,531),9759=>array(288,-36,651,779),9760=>array(24,15,720,725),9761=>array(50,40,546,610),9762=>array(56,22,694,660),9763=>array(46,115,704,724),9764=>array(45,0,535,652),9765=>array(24,0,436,699),9766=>array(35,0,409,699),9767=>array(87,0,589,637),9768=>array(35,0,409,699),9769=>array(54,20,714,680),9770=>array(88,0,727,664),9771=>array(70,-24,778,656),9772=>array(78,-2,596,691),9773=>array(56,0,741,732),9774=>array(64,0,686,622),9775=>array(64,0,686,622),9776=>array(70,0,830,639),9777=>array(70,0,830,639),9778=>array(70,0,830,639),9779=>array(70,0,830,639),9780=>array(70,0,830,639),9781=>array(70,0,830,639),9782=>array(70,0,830,639),9783=>array(70,0,830,639),9784=>array(60,32,690,661),9785=>array(64,0,686,622),9786=>array(64,0,686,622),9787=>array(64,0,686,622),9788=>array(75,11,675,611),9789=>array(84,-189,659,691),9790=>array(91,-189,666,691),9791=>array(150,-100,590,759),9792=>array(100,-100,640,699),9793=>array(100,-30,640,769),9794=>array(60,-30,711,621),9795=>array(45,0,573,699),9796=>array(26,0,432,699),9797=>array(45,0,587,699),9798=>array(23,0,757,719),9799=>array(80,0,487,699),9800=>array(38,0,796,709),9801=>array(36,0,744,703),9802=>array(35,0,699,699),9803=>array(45,0,842,699),9804=>array(41,-176,749,700),9805=>array(42,-162,1002,699),9806=>array(33,0,863,699),9807=>array(42,-72,1067,699),9808=>array(48,0,747,699),9809=>array(29,-90,808,699),9810=>array(36,106,886,618),9811=>array(34,0,662,699),9812=>array(83,-117,913,709),9813=>array(42,-117,954,729),9814=>array(154,-113,842,706),9815=>array(83,-103,913,707),9816=>array(76,-110,912,727),9817=>array(197,-103,803,710),9818=>array(83,-117,913,709),9819=>array(42,-117,954,729),9820=>array(154,-113,842,706),9821=>array(83,-103,913,707),9822=>array(76,-110,912,727),9823=>array(197,-103,803,710),9824=>array(49,0,673,705),9825=>array(49,0,685,705),9826=>array(51,0,623,706),9827=>array(49,0,755,705),9828=>array(49,0,673,705),9829=>array(49,0,685,705),9830=>array(51,0,623,706),9831=>array(49,0,755,705),9832=>array(56,24,804,680),9833=>array(48,0,316,736),9834=>array(48,0,556,736),9835=>array(48,-70,654,766),9836=>array(48,-70,654,766),9837=>array(107,10,400,736),9838=>array(107,-22,333,736),9839=>array(29,-22,411,736),9985=>array(56,49,901,637),9986=>array(38,48,923,635),9987=>array(56,49,901,637),9988=>array(6,0,979,551),9990=>array(68,-201,700,669),9991=>array(30,0,760,730),9992=>array(17,0,772,654),9993=>array(27,28,663,483),9996=>array(64,0,521,582),9997=>array(59,72,824,515),9998=>array(62,113,848,672),9999=>array(35,170,898,521),10000=>array(62,19,849,578),10001=>array(36,135,908,555),10002=>array(51,135,923,555),10003=>array(18,-10,722,706),10004=>array(34,-9,796,765),10005=>array(47,0,715,668),10006=>array(46,0,714,668),10007=>array(0,-58,567,638),10008=>array(25,-67,650,682),10009=>array(35,0,728,693),10010=>array(34,0,727,693),10011=>array(35,0,724,689),10012=>array(35,0,718,683),10013=>array(35,0,460,690),10014=>array(9,0,542,690),10015=>array(38,0,499,690),10016=>array(36,94,542,600),10017=>array(29,-12,663,720),10018=>array(37,-11,750,702),10019=>array(34,0,755,719),10020=>array(34,0,755,719),10021=>array(36,0,755,719),10022=>array(37,0,756,719),10023=>array(38,0,757,719),10025=>array(37,0,786,720),10026=>array(31,-13,757,713),10027=>array(49,0,792,719),10028=>array(37,0,786,719),10029=>array(42,0,791,719),10030=>array(34,0,783,719),10031=>array(35,-14,795,718),10032=>array(49,1,873,718),10033=>array(29,0,714,719),10034=>array(18,0,706,719),10035=>array(35,0,714,679),10036=>array(35,0,756,721),10037=>array(47,0,745,698),10038=>array(37,0,659,699),10039=>array(35,0,741,706),10040=>array(35,0,733,698),10041=>array(35,0,757,729),10042=>array(35,0,725,688),10043=>array(31,0,675,719),10044=>array(34,7,674,728),10045=>array(13,0,669,719),10046=>array(21,0,680,719),10047=>array(35,0,791,737),10048=>array(35,0,780,728),10049=>array(35,0,754,719),10050=>array(44,-14,745,695),10051=>array(28,0,679,719),10052=>array(32,0,655,696),10053=>array(29,0,667,696),10054=>array(1,0,688,687),10055=>array(30,0,757,719),10056=>array(42,-7,745,696),10057=>array(42,30,670,663),10058=>array(60,0,731,718),10059=>array(26,-21,759,711),10061=>array(41,-33,832,638),10063=>array(23,0,739,714),10064=>array(23,0,739,714),10065=>array(23,0,735,714),10066=>array(23,0,735,714),10070=>array(36,-12,749,701),10072=>array(29,0,109,712),10073=>array(29,0,248,712),10074=>array(29,0,386,712),10075=>array(56,265,336,706),10076=>array(56,265,336,706),10077=>array(38,265,630,706),10078=>array(38,265,630,706),10081=>array(87,-157,666,727),10082=>array(60,-14,484,716),10083=>array(28,-14,516,711),10084=>array(35,0,875,703),10085=>array(38,0,644,764),10086=>array(76,-15,681,709),10087=>array(0,110,760,514),10102=>array(35,-14,753,705),10103=>array(35,-14,753,705),10104=>array(35,-14,753,705),10105=>array(35,-14,753,705),10106=>array(35,-14,753,705),10107=>array(35,-14,753,705),10108=>array(35,-14,753,705),10109=>array(35,-14,753,705),10110=>array(35,-14,753,705),10111=>array(35,-14,753,705),10112=>array(35,-14,753,705),10113=>array(35,-14,753,705),10114=>array(35,-14,753,705),10115=>array(35,-14,753,705),10116=>array(35,-14,753,705),10117=>array(35,-14,753,705),10118=>array(35,-14,753,705),10119=>array(35,-14,753,705),10120=>array(35,-14,753,705),10121=>array(35,-14,753,705),10122=>array(35,-14,753,705),10123=>array(35,-14,753,705),10124=>array(35,-14,753,705),10125=>array(35,-14,753,705),10126=>array(35,-14,753,705),10127=>array(35,-14,753,705),10128=>array(35,-14,753,705),10129=>array(35,-14,753,705),10130=>array(35,-14,753,705),10131=>array(35,-14,753,705),10132=>array(22,66,879,640),10136=>array(106,19,675,558),10137=>array(33,73,909,520),10138=>array(121,-28,619,578),10139=>array(28,73,890,603),10140=>array(38,70,891,636),10141=>array(82,137,843,554),10142=>array(82,137,846,554),10143=>array(35,155,799,536),10144=>array(36,94,838,594),10145=>array(13,94,815,594),10146=>array(35,82,889,610),10147=>array(35,82,889,610),10148=>array(103,147,845,543),10149=>array(42,123,900,578),10150=>array(42,55,901,509),10151=>array(45,-85,418,772),10152=>array(21,-68,868,755),10153=>array(36,43,813,648),10154=>array(41,43,807,648),10155=>array(61,129,832,585),10156=>array(61,129,832,585),10157=>array(37,44,665,651),10158=>array(37,44,665,651),10159=>array(38,93,836,620),10161=>array(38,69,836,596),10162=>array(15,0,746,730),10163=>array(23,128,934,561),10164=>array(42,2,725,685),10165=>array(27,166,838,525),10166=>array(20,5,703,685),10167=>array(93,0,791,694),10168=>array(57,166,886,523),10169=>array(98,13,792,710),10170=>array(35,192,805,498),10171=>array(28,157,858,533),10172=>array(83,199,849,501),10173=>array(15,147,949,549),10174=>array(41,97,889,579),12289=>array(94,-86,336,167),12290=>array(86,-54,373,235),12291=>array(305,220,695,527),12292=>array(100,-35,933,800),12293=>array(137,5,781,779),12294=>array(148,4,839,695),12295=>array(106,-26,920,790),12296=>array(587,-69,921,837),12297=>array(79,-69,413,837),12298=>array(501,-69,950,837),12299=>array(50,-69,499,837),12300=>array(559,349,900,837),12301=>array(100,-68,446,419),12302=>array(560,349,930,835),12303=>array(70,-69,444,421),12304=>array(611,-69,900,837),12305=>array(100,-69,389,837),12306=>array(173,-18,827,735),12307=>array(144,20,845,750),12308=>array(625,-75,900,844),12309=>array(100,-75,375,844),12310=>array(570,-73,930,845),12311=>array(69,-73,429,845),12312=>array(649,-73,877,835),12313=>array(124,-74,352,834),12314=>array(578,-81,861,820),12315=>array(121,-82,404,819),12316=>array(39,289,961,466),12317=>array(535,523,901,853),12318=>array(100,523,466,853),12319=>array(181,-53,547,277),12320=>array(89,66,911,689),12321=>array(445,46,525,715),12322=>array(339,48,660,714),12323=>array(255,47,734,717),12324=>array(153,34,769,707),12325=>array(285,35,742,747),12326=>array(184,255,821,671),12327=>array(185,167,823,691),12328=>array(181,104,816,707),12329=>array(206,35,844,743),12330=>array(112,1,375,265),12331=>array(111,513,375,776),12332=>array(627,514,889,778),12333=>array(624,1,888,264),12334=>array(85,311,237,462),12335=>array(83,207,237,564),12336=>array(68,285,931,479),12337=>array(284,-60,729,810),12338=>array(199,-56,876,814),12339=>array(174,-28,732,782),12340=>array(128,-28,898,782),12341=>array(232,-46,726,796),12342=>array(106,-26,920,790),12343=>array(61,-53,920,827),12351=>array(241,-70,759,836),12353=>array(187,47,786,720),12354=>array(113,-60,867,781),12355=>array(217,45,802,670),12356=>array(144,-30,876,760),12357=>array(191,42,750,687),12358=>array(113,-36,810,759),12359=>array(169,54,811,709),12360=>array(90,-23,881,787),12361=>array(185,66,791,704),12362=>array(102,-12,864,796),12363=>array(80,-31,857,806),12364=>array(58,-31,944,815),12365=>array(99,-31,822,811),12366=>array(100,-30,947,833),12367=>array(145,-22,766,776),12368=>array(145,-22,914,821),12369=>array(162,-55,914,782),12370=>array(97,-62,959,839),12371=>array(163,7,857,716),12372=>array(116,10,869,807),12373=>array(98,-31,814,789),12374=>array(94,-31,925,821),12375=>array(207,-18,857,769),12376=>array(185,-18,905,821),12377=>array(114,-62,886,773),12378=>array(89,-62,915,863),12379=>array(98,-16,879,760),12380=>array(72,-16,938,863),12381=>array(102,-35,887,751),12382=>array(80,-35,925,807),12383=>array(119,-16,881,797),12384=>array(89,-16,905,807),12385=>array(143,-21,844,799),12386=>array(109,-21,905,859),12387=>array(175,123,771,603),12388=>array(122,47,868,645),12389=>array(97,57,895,873),12390=>array(90,-25,856,720),12391=>array(90,-25,903,720),12392=>array(163,10,823,775),12393=>array(163,10,911,810),12394=>array(80,-22,907,800),12395=>array(131,-8,875,779),12396=>array(105,-6,909,782),12397=>array(88,-15,903,773),12398=>array(115,-18,882,714),12399=>array(111,-30,896,774),12400=>array(84,-30,931,840),12401=>array(95,-30,944,843),12402=>array(123,-7,938,742),12403=>array(89,-7,921,840),12404=>array(103,-12,918,861),12405=>array(73,-9,924,757),12406=>array(64,-9,915,840),12407=>array(50,-9,918,861),12408=>array(86,66,909,662),12409=>array(86,66,909,806),12410=>array(66,66,889,827),12411=>array(110,-23,898,771),12412=>array(79,-23,924,823),12413=>array(94,-23,942,827),12414=>array(126,-24,892,797),12415=>array(115,-33,888,772),12416=>array(121,-17,905,789),12417=>array(130,-30,870,796),12418=>array(112,-9,858,789),12419=>array(173,48,804,710),12420=>array(99,-29,887,789),12421=>array(202,34,795,712),12422=>array(135,-48,878,792),12423=>array(192,96,804,699),12424=>array(116,21,879,780),12425=>array(144,-17,817,780),12426=>array(193,-81,777,770),12427=>array(82,11,836,767),12428=>array(105,-29,911,774),12429=>array(100,-11,857,760),12430=>array(160,62,798,700),12431=>array(80,-14,874,782),12432=>array(118,-5,879,745),12433=>array(86,1,895,774),12434=>array(115,-24,853,805),12435=>array(90,-8,906,778),12436=>array(103,-36,940,786),12441=>array(641,603,869,807),12442=>array(703,648,918,861),12443=>array(503,603,731,807),12444=>array(490,648,705,861),12445=>array(153,39,808,744),12446=>array(153,39,827,744),12449=>array(199,54,815,665),12450=>array(94,-61,920,751),12451=>array(218,66,759,704),12452=>array(121,-44,833,800),12453=>array(225,59,789,694),12454=>array(125,-47,880,803),12455=>array(189,91,810,630),12456=>array(80,0,915,735),12457=>array(184,61,822,683),12458=>array(96,-45,952,787),12459=>array(88,-41,858,794),12460=>array(88,-41,888,831),12461=>array(73,-45,901,803),12462=>array(71,-54,930,821),12463=>array(120,-49,857,815),12464=>array(77,-51,924,849),12465=>array(64,-48,908,813),12466=>array(64,-48,908,835),12467=>array(98,-23,859,734),12468=>array(81,-25,910,877),12469=>array(84,-59,917,788),12470=>array(64,-59,966,799),12471=>array(83,-39,904,789),12472=>array(79,-39,900,799),12473=>array(82,-52,952,728),12474=>array(56,-52,946,867),12475=>array(87,-5,912,786),12476=>array(81,-3,900,800),12477=>array(131,-51,841,780),12478=>array(131,-51,876,831),12479=>array(120,-60,851,805),12480=>array(60,-60,910,859),12481=>array(87,-54,921,813),12482=>array(77,-54,930,813),12483=>array(189,61,752,663),12484=>array(89,-47,845,774),12485=>array(101,-47,890,829),12486=>array(73,-61,908,740),12487=>array(73,-61,948,757),12488=>array(291,-46,850,787),12489=>array(325,-44,879,790),12490=>array(82,-63,915,786),12491=>array(77,16,911,711),12492=>array(116,-54,863,734),12493=>array(65,-51,926,786),12494=>array(130,-49,855,740),12495=>array(72,-29,928,791),12496=>array(47,-32,944,799),12497=>array(47,-32,944,837),12498=>array(163,-5,879,770),12499=>array(150,-5,930,799),12500=>array(137,-5,944,799),12501=>array(151,-58,855,732),12502=>array(107,-60,920,886),12503=>array(89,-60,964,857),12504=>array(57,24,937,651),12505=>array(57,24,937,685),12506=>array(57,24,937,685),12507=>array(70,-45,913,785),12508=>array(70,-45,913,821),12509=>array(70,-45,913,849),12510=>array(113,-31,887,729),12511=>array(104,-43,892,769),12512=>array(80,-26,927,792),12513=>array(108,-35,835,787),12514=>array(81,-6,916,739),12515=>array(203,48,790,686),12516=>array(104,-48,884,801),12517=>array(180,93,801,636),12518=>array(75,-4,909,730),12519=>array(205,80,765,640),12520=>array(105,-27,860,730),12521=>array(104,-57,873,748),12522=>array(213,-53,790,768),12523=>array(62,-45,936,788),12524=>array(203,-29,893,788),12525=>array(134,-24,848,730),12526=>array(224,51,769,636),12527=>array(124,-54,867,731),12528=>array(83,-45,918,784),12529=>array(76,-5,910,730),12530=>array(123,-53,863,753),12531=>array(107,-33,896,754),12532=>array(107,-54,884,839),12533=>array(199,57,767,690),12534=>array(179,43,809,694),12535=>array(92,-58,952,834),12536=>array(73,-45,953,843),12537=>array(82,-5,977,861),12538=>array(107,-54,947,846),12539=>array(161,311,313,462),12540=>array(83,339,917,429),12541=>array(271,-27,738,666),12542=>array(271,-27,766,807),12549=>array(157,-41,845,819),12550=>array(113,-35,861,812),12551=>array(149,51,851,697),12552=>array(147,44,849,718),12553=>array(98,-41,843,819),12554=>array(100,-45,900,783),12555=>array(151,-45,840,758),12556=>array(98,-35,843,817),12557=>array(133,-41,806,802),12558=>array(121,-34,879,738),12559=>array(60,-32,871,738),12560=>array(232,-43,676,791),12561=>array(257,-41,677,801),12562=>array(121,-28,879,738),12563=>array(105,6,895,782),12564=>array(142,-33,756,796),12565=>array(61,-30,825,752),12566=>array(227,-15,773,734),12567=>array(149,-35,811,746),12568=>array(113,-39,887,806),12569=>array(149,-32,883,752),12570=>array(163,-37,837,783),12571=>array(121,2,879,738),12572=>array(121,2,879,794),12573=>array(109,8,891,773),12574=>array(112,-39,871,754),12575=>array(82,-10,934,729),12576=>array(163,-48,866,790),12577=>array(111,-20,887,723),12578=>array(133,-37,849,742),12579=>array(166,-33,838,775),12580=>array(94,-21,872,797),12581=>array(164,54,847,751),12582=>array(88,-21,903,731),12583=>array(129,369,871,449),12584=>array(124,-4,877,753),12585=>array(157,29,843,711),12586=>array(87,-26,885,736),12587=>array(88,-21,903,734),12588=>array(60,-32,871,788),12593=>array(129,91,796,665),12594=>array(114,91,844,665),12595=>array(114,78,880,665),12596=>array(204,90,873,665),12597=>array(144,78,880,666),12598=>array(144,91,876,666),12599=>array(184,90,838,664),12600=>array(149,90,888,665),12601=>array(173,90,827,665),12602=>array(149,85,842,665),12603=>array(149,85,852,665),12604=>array(149,85,853,665),12605=>array(149,78,880,665),12606=>array(149,85,855,665),12607=>array(149,85,868,665),12608=>array(149,85,876,666),12609=>array(215,90,785,665),12610=>array(215,90,785,665),12611=>array(145,88,855,665),12612=>array(145,78,880,664),12613=>array(107,76,882,663),12614=>array(110,78,890,663),12615=>array(187,92,813,666),12616=>array(109,76,880,665),12617=>array(105,80,895,666),12618=>array(109,76,880,665),12619=>array(206,90,790,663),12620=>array(189,91,837,664),12621=>array(187,90,813,665),12622=>array(156,88,844,665),12623=>array(421,-64,711,842),12624=>array(345,-64,655,842),12625=>array(381,-64,676,842),12626=>array(340,-64,661,842),12627=>array(302,-65,597,841),12628=>array(186,-63,677,843),12629=>array(332,-64,626,842),12630=>array(226,-63,687,843),12631=>array(60,197,940,614),12632=>array(46,-64,931,842),12633=>array(51,-64,892,842),12634=>array(61,-64,857,842),12635=>array(60,197,940,615),12636=>array(79,76,921,554),12637=>array(68,-65,882,841),12638=>array(53,-63,912,843),12639=>array(70,-64,867,842),12640=>array(72,111,928,589),12641=>array(57,357,943,436),12642=>array(67,-64,867,842),12643=>array(462,-64,538,842),12645=>array(169,93,848,665),12646=>array(169,90,888,665),12647=>array(169,78,880,665),12648=>array(169,93,886,665),12649=>array(85,78,960,665),12650=>array(149,85,888,665),12651=>array(85,78,960,665),12652=>array(149,85,886,665),12653=>array(149,85,885,665),12654=>array(142,89,853,665),12655=>array(142,78,880,665),12656=>array(142,89,886,665),12657=>array(232,78,768,711),12658=>array(145,88,844,665),12659=>array(145,88,888,665),12660=>array(111,78,889,665),12661=>array(101,78,933,665),12662=>array(140,78,885,666),12663=>array(145,88,855,665),12664=>array(232,78,768,725),12665=>array(197,78,803,728),12666=>array(130,78,844,665),12667=>array(130,78,858,665),12668=>array(130,78,888,665),12669=>array(125,78,868,665),12670=>array(117,78,883,666),12671=>array(258,93,742,659),12672=>array(99,214,901,562),12673=>array(232,131,768,551),12674=>array(125,78,880,663),12675=>array(125,119,886,664),12676=>array(202,78,798,714),12677=>array(100,91,900,666),12678=>array(182,78,818,573),12679=>array(62,-64,936,842),12680=>array(62,-64,892,842),12681=>array(62,-64,867,842),12682=>array(52,-64,881,842),12683=>array(52,-63,902,843),12684=>array(52,-64,867,842),12685=>array(430,319,570,459),12686=>array(316,-98,634,855),12688=>array(468,391,532,889),12689=>array(302,391,760,889),12690=>array(56,620,459,664),12691=>array(43,481,468,770),12692=>array(47,446,470,803),12693=>array(62,415,456,817),12694=>array(45,427,479,845),12695=>array(70,401,449,858),12696=>array(44,401,477,827),12697=>array(73,399,448,839),12698=>array(82,423,470,815),12699=>array(39,401,485,834),12700=>array(46,401,469,834),12701=>array(35,401,482,832),12702=>array(30,412,488,859),12703=>array(38,401,490,846),12800=>array(72,-21,977,798),12801=>array(72,-21,977,798),12802=>array(72,-21,977,798),12803=>array(72,-21,977,798),12804=>array(72,-21,977,798),12805=>array(72,-21,977,798),12806=>array(72,-21,977,798),12807=>array(72,-21,977,798),12808=>array(72,-21,977,798),12809=>array(72,-21,977,798),12810=>array(72,-21,977,798),12811=>array(72,-21,977,798),12812=>array(72,-21,977,798),12813=>array(72,-21,977,798),12814=>array(72,-21,977,798),12815=>array(72,-21,977,798),12816=>array(72,-21,977,798),12817=>array(72,-21,977,798),12818=>array(72,-21,977,798),12819=>array(72,-21,977,798),12820=>array(72,-21,977,798),12821=>array(72,-21,977,798),12822=>array(72,-21,977,798),12823=>array(72,-21,977,798),12824=>array(72,-21,977,798),12825=>array(72,-21,977,798),12826=>array(72,-21,977,798),12827=>array(72,-21,977,798),12828=>array(72,-21,977,798),12832=>array(72,-21,976,798),12833=>array(72,-21,976,798),12834=>array(72,-21,976,798),12835=>array(72,-21,976,798),12836=>array(72,-21,976,798),12837=>array(72,-21,976,798),12838=>array(72,-21,976,798),12839=>array(72,-21,976,798),12840=>array(72,-21,976,798),12841=>array(72,-21,976,798),12842=>array(72,-21,976,798),12843=>array(72,-21,976,798),12844=>array(72,-21,976,798),12845=>array(72,-21,976,798),12846=>array(72,-21,976,803),12847=>array(72,-21,976,798),12848=>array(72,-21,976,798),12849=>array(72,-21,976,798),12850=>array(72,-21,976,798),12851=>array(72,-21,976,798),12852=>array(72,-21,976,798),12853=>array(72,-21,976,798),12854=>array(72,-21,976,798),12855=>array(72,-21,976,798),12856=>array(72,-21,976,798),12857=>array(72,-21,976,798),12858=>array(72,-21,976,798),12859=>array(72,-21,976,798),12860=>array(72,-21,976,798),12861=>array(72,-21,976,803),12862=>array(72,-21,976,798),12863=>array(72,-21,976,798),12864=>array(72,-21,976,798),12865=>array(72,-21,976,798),12866=>array(72,-21,976,798),12867=>array(72,-21,976,798),12896=>array(30,-82,970,859),12897=>array(30,-82,970,859),12898=>array(30,-82,970,859),12899=>array(30,-82,970,859),12900=>array(30,-82,970,859),12901=>array(30,-82,970,859),12902=>array(30,-82,970,859),12903=>array(30,-82,970,859),12904=>array(30,-82,970,859),12905=>array(30,-82,970,859),12906=>array(30,-82,970,859),12907=>array(30,-82,970,859),12908=>array(30,-82,970,859),12909=>array(30,-82,970,859),12910=>array(30,-82,970,859),12911=>array(30,-82,970,859),12912=>array(30,-82,970,859),12913=>array(30,-82,970,859),12914=>array(30,-82,970,859),12915=>array(30,-82,970,859),12916=>array(30,-82,970,859),12917=>array(30,-82,970,859),12918=>array(30,-82,970,859),12919=>array(30,-82,970,859),12920=>array(30,-82,970,859),12921=>array(30,-82,970,859),12922=>array(30,-82,970,859),12923=>array(30,-82,970,859),12927=>array(30,-82,970,859),12928=>array(30,-82,970,859),12929=>array(30,-82,970,859),12930=>array(30,-82,970,859),12931=>array(30,-82,970,859),12932=>array(30,-82,970,859),12933=>array(30,-82,970,859),12934=>array(30,-82,970,859),12935=>array(30,-82,970,859),12936=>array(30,-82,970,859),12937=>array(30,-82,970,859),12938=>array(30,-82,970,859),12939=>array(30,-82,970,859),12940=>array(30,-82,970,859),12941=>array(30,-82,970,859),12942=>array(30,-82,970,859),12943=>array(30,-82,970,859),12944=>array(30,-82,970,859),12945=>array(30,-82,970,859),12946=>array(30,-82,970,859),12947=>array(30,-82,970,859),12948=>array(30,-82,970,859),12949=>array(30,-82,970,859),12950=>array(30,-82,970,859),12951=>array(30,-82,970,859),12952=>array(30,-82,970,859),12953=>array(30,-82,970,859),12954=>array(30,-82,970,859),12955=>array(30,-82,970,859),12956=>array(30,-82,970,859),12957=>array(30,-82,970,859),12958=>array(30,-82,970,859),12959=>array(30,-82,970,859),12960=>array(30,-82,970,859),12961=>array(30,-82,970,859),12962=>array(30,-82,970,859),12963=>array(30,-82,970,859),12964=>array(30,-82,970,859),12965=>array(30,-82,970,859),12966=>array(30,-82,970,859),12967=>array(30,-82,970,859),12968=>array(30,-82,970,859),12969=>array(30,-82,970,859),12970=>array(30,-82,970,859),12971=>array(30,-82,970,859),12972=>array(30,-82,970,859),12973=>array(30,-82,970,859),12974=>array(30,-82,970,859),12975=>array(30,-82,970,859),12976=>array(30,-82,970,859),12992=>array(119,-55,892,783),12993=>array(88,-55,892,797),12994=>array(86,-55,892,787),12995=>array(64,-55,892,783),12996=>array(89,-55,892,783),12997=>array(102,-55,897,787),12998=>array(90,-55,892,783),12999=>array(80,-55,892,789),13000=>array(82,-55,892,793),13001=>array(47,-55,892,799),13002=>array(47,-55,892,783),13003=>array(47,-55,892,794),13008=>array(30,-82,970,859),13009=>array(30,-82,970,859),13010=>array(30,-82,970,859),13011=>array(30,-82,970,859),13012=>array(30,-82,970,859),13013=>array(30,-82,970,859),13014=>array(30,-82,970,859),13015=>array(30,-82,970,859),13016=>array(30,-82,970,859),13017=>array(30,-82,970,859),13018=>array(30,-82,970,859),13019=>array(30,-82,970,859),13020=>array(30,-82,970,859),13021=>array(30,-82,970,859),13022=>array(30,-82,970,859),13023=>array(30,-82,970,859),13024=>array(30,-82,970,859),13025=>array(30,-82,970,859),13026=>array(30,-82,970,859),13027=>array(30,-82,970,859),13028=>array(30,-82,970,859),13029=>array(30,-82,970,859),13030=>array(30,-82,970,859),13031=>array(30,-82,970,859),13032=>array(30,-82,970,859),13033=>array(30,-82,970,859),13034=>array(30,-82,970,859),13035=>array(30,-82,970,859),13036=>array(30,-82,970,859),13037=>array(30,-82,970,859),13038=>array(30,-82,970,859),13039=>array(30,-82,970,859),13040=>array(30,-82,970,859),13041=>array(30,-82,970,859),13042=>array(30,-82,970,859),13043=>array(30,-82,970,859),13044=>array(30,-82,970,859),13045=>array(30,-82,970,859),13046=>array(30,-82,970,859),13047=>array(30,-82,970,859),13048=>array(30,-82,970,859),13049=>array(30,-82,970,859),13050=>array(30,-82,970,859),13051=>array(30,-82,970,859),13052=>array(30,-82,970,859),13053=>array(30,-82,970,859),13054=>array(30,-82,970,859),13056=>array(54,-77,959,836),13057=>array(62,-82,960,822),13058=>array(39,-64,954,811),13059=>array(49,-64,945,811),13060=>array(73,-74,957,845),13061=>array(50,-76,949,845),13062=>array(75,-49,949,836),13063=>array(38,-77,962,804),13064=>array(58,-67,945,796),13065=>array(47,-48,949,836),13066=>array(47,-66,945,836),13067=>array(58,-75,921,845),13068=>array(58,-77,944,844),13069=>array(58,-75,944,844),13070=>array(58,-49,924,860),13071=>array(58,-67,965,860),13072=>array(51,-61,975,862),13073=>array(51,129,939,862),13074=>array(51,-75,946,862),13075=>array(51,-74,968,862),13076=>array(51,-47,924,841),13077=>array(38,-66,970,841),13078=>array(50,-78,970,844),13079=>array(51,-78,961,841),13080=>array(33,-66,944,866),13081=>array(33,-78,961,866),13082=>array(46,-66,968,844),13083=>array(54,-73,963,844),13084=>array(46,-48,945,850),13085=>array(55,-77,960,822),13086=>array(40,-71,945,802),13087=>array(46,-72,968,845),13088=>array(46,-76,970,841),13089=>array(66,-82,970,831),13090=>array(48,-76,949,836),13091=>array(48,-77,949,836),13092=>array(54,-48,945,868),13093=>array(50,-71,952,868),13094=>array(156,-64,968,856),13095=>array(156,-76,949,845),13096=>array(55,-54,904,841),13097=>array(61,-77,731,825),13098=>array(37,-64,921,845),13099=>array(37,-76,980,836),13100=>array(37,-64,945,836),13101=>array(37,-64,968,856),13102=>array(56,-78,970,857),13103=>array(49,-64,923,857),13104=>array(106,-41,918,857),13105=>array(106,-64,968,862),13106=>array(71,-78,961,794),13107=>array(53,-77,933,845),13108=>array(57,-69,970,862),13109=>array(57,-76,944,826),13110=>array(39,-73,970,844),13111=>array(39,-75,915,802),13112=>array(39,-41,939,802),13113=>array(39,-64,968,836),13114=>array(39,-48,949,811),13115=>array(39,-71,945,802),13116=>array(39,-73,945,819),13117=>array(40,-77,933,859),13118=>array(40,-77,968,859),13119=>array(40,-76,949,842),13120=>array(40,-77,949,859),13121=>array(40,-64,945,842),13122=>array(40,-76,945,842),13123=>array(55,-72,924,845),13124=>array(49,-64,921,845),13125=>array(37,-72,731,805),13126=>array(55,-72,968,836),13127=>array(57,-69,963,811),13128=>array(61,-76,949,844),13129=>array(61,-75,887,829),13130=>array(39,-72,970,831),13131=>array(67,-60,969,833),13132=>array(67,-77,969,860),13133=>array(67,-77,968,833),13134=>array(59,-77,945,847),13135=>array(49,-64,945,847),13136=>array(57,-76,950,811),13137=>array(107,-77,968,831),13138=>array(107,-73,944,831),13139=>array(49,140,955,857),13140=>array(49,-77,968,836),13141=>array(124,-66,956,835),13142=>array(118,-82,963,835),13143=>array(79,-77,718,798),13144=>array(124,-65,967,826),13145=>array(119,-65,967,826),13146=>array(88,-65,967,826),13147=>array(86,-65,967,826),13148=>array(64,-65,967,826),13149=>array(89,-65,967,826),13150=>array(102,-65,972,826),13151=>array(90,-65,967,826),13152=>array(80,-65,967,826),13153=>array(82,-65,967,826),13154=>array(47,-65,967,826),13155=>array(47,-65,967,826),13156=>array(47,-65,967,826),13157=>array(47,-65,967,826),13158=>array(47,-65,967,826),13159=>array(47,-65,967,826),13160=>array(47,-65,967,826),13161=>array(47,-65,967,826),13162=>array(47,-65,967,826),13163=>array(47,-65,967,826),13164=>array(48,-65,967,826),13165=>array(48,-65,967,826),13166=>array(48,-65,967,826),13167=>array(48,-65,967,826),13168=>array(48,-65,967,826),13169=>array(77,12,942,739),13170=>array(65,11,930,739),13171=>array(50,23,915,751),13172=>array(81,11,971,739),13173=>array(63,16,962,739),13174=>array(90,-71,934,658),13179=>array(37,-70,970,831),13180=>array(54,-60,946,831),13181=>array(28,-43,956,829),13182=>array(59,-67,970,832),13183=>array(23,-86,969,855),13184=>array(84,-171,968,739),13185=>array(82,23,968,739),13186=>array(79,-187,963,739),13187=>array(77,23,965,739),13188=>array(80,23,962,739),13189=>array(78,23,946,739),13190=>array(78,23,946,739),13191=>array(63,23,946,763),13192=>array(58,11,922,739),13193=>array(62,11,938,739),13194=>array(84,-171,942,739),13195=>array(82,23,942,739),13196=>array(80,-187,942,739),13197=>array(80,-187,919,553),13198=>array(77,-187,925,553),13199=>array(91,-187,919,739),13200=>array(91,23,949,739),13201=>array(82,23,952,739),13202=>array(72,23,957,739),13203=>array(52,23,962,763),13204=>array(44,23,952,739),13205=>array(84,-187,926,737),13206=>array(86,23,930,739),13207=>array(65,11,930,739),13208=>array(123,23,926,739),13209=>array(86,23,914,751),13210=>array(86,23,914,553),13211=>array(87,-187,914,553),13212=>array(70,23,930,553),13213=>array(63,16,918,558),13214=>array(83,23,918,739),13215=>array(67,23,958,677),13216=>array(63,16,958,677),13217=>array(149,23,926,677),13218=>array(82,23,958,739),13219=>array(67,23,964,680),13220=>array(63,16,964,680),13221=>array(149,23,932,680),13222=>array(82,23,964,739),13223=>array(75,16,937,740),13224=>array(67,16,958,740),13225=>array(104,11,926,739),13226=>array(69,11,951,739),13227=>array(58,11,961,739),13228=>array(55,23,975,763),13229=>array(70,11,930,739),13230=>array(67,11,959,740),13231=>array(67,11,966,740),13232=>array(92,-171,940,558),13233=>array(91,16,929,558),13234=>array(92,-187,946,558),13235=>array(83,16,947,558),13236=>array(92,-171,954,739),13237=>array(88,23,954,739),13238=>array(92,-187,954,739),13239=>array(70,23,954,739),13240=>array(93,23,954,739),13241=>array(76,23,959,739),13242=>array(84,-171,965,739),13243=>array(87,23,963,739),13244=>array(87,-187,963,739),13245=>array(70,23,967,739),13246=>array(91,23,965,739),13247=>array(72,23,969,739),13248=>array(87,23,945,739),13249=>array(72,23,948,739),13250=>array(65,11,955,553),13251=>array(85,-171,917,739),13252=>array(64,16,940,558),13253=>array(64,11,925,739),13254=>array(50,-187,942,761),13255=>array(63,16,955,763),13256=>array(61,11,939,739),13257=>array(64,-186,960,763),13258=>array(91,11,939,739),13259=>array(102,23,932,739),13260=>array(159,23,837,739),13261=>array(90,22,959,739),13262=>array(79,23,921,739),13263=>array(121,18,860,739),13264=>array(109,23,918,739),13265=>array(151,23,844,739),13266=>array(79,-187,921,739),13267=>array(166,23,842,739),13268=>array(88,11,947,739),13269=>array(87,23,913,739),13270=>array(69,16,931,739),13271=>array(93,-171,907,739),13272=>array(76,-171,955,558),13273=>array(69,23,931,739),13274=>array(84,23,961,739),13275=>array(98,16,918,558),13276=>array(68,23,944,763),13277=>array(51,11,952,739),13280=>array(119,-24,908,777),13281=>array(88,-24,908,797),13282=>array(86,-35,908,787),13283=>array(64,-24,908,781),13284=>array(89,-31,908,780),13285=>array(102,-34,914,787),13286=>array(90,-24,908,777),13287=>array(80,-25,908,789),13288=>array(82,-27,908,793),13289=>array(47,-35,918,795),13290=>array(47,-24,918,776),13291=>array(47,-24,918,793),13292=>array(47,-35,918,792),13293=>array(47,-24,918,785),13294=>array(47,-31,918,780),13295=>array(47,-32,918,787),13296=>array(47,-24,918,777),13297=>array(47,-24,918,786),13298=>array(47,-31,918,788),13299=>array(48,-35,918,795),13300=>array(48,-24,918,792),13301=>array(48,-24,918,792),13302=>array(48,-34,918,792),13303=>array(48,-24,918,792),13304=>array(48,-31,918,792),13305=>array(48,-32,918,792),13306=>array(48,-24,918,792),13307=>array(48,-24,918,792),13308=>array(48,-31,918,792),13309=>array(44,-35,918,795),13310=>array(44,-34,918,790),19968=>array(121,356,896,439),19969=>array(98,-68,911,768),19970=>array(102,-67,897,787),19971=>array(75,-11,896,823),19972=>array(92,9,927,814),19973=>array(92,9,927,814),19974=>array(115,-77,914,738),19975=>array(63,-77,959,738),19976=>array(83,-77,948,827),19977=>array(99,32,911,713),19978=>array(92,10,927,814),19979=>array(84,-59,916,772),19980=>array(53,-64,927,778),19981=>array(71,-65,928,769),19982=>array(68,-64,930,825),19983=>array(85,-66,937,782),19984=>array(98,-63,908,767),19985=>array(78,-11,922,764),19986=>array(80,-13,925,765),19987=>array(73,-68,921,828),19988=>array(84,-14,935,776),19989=>array(85,-6,942,771),19990=>array(64,-65,936,805),19991=>array(74,-69,926,817),19992=>array(76,-13,927,803),19993=>array(68,-74,933,767),19994=>array(67,-12,918,799),19995=>array(55,-4,915,827),19996=>array(52,-72,911,820),19997=>array(70,-9,925,828),19998=>array(58,-17,951,778),19999=>array(100,-54,898,767),20000=>array(68,-36,952,807),20001=>array(62,-64,952,787),20002=>array(66,-57,906,809),20003=>array(98,-62,914,783),20004=>array(62,-61,911,780),20005=>array(38,-61,914,782),20006=>array(68,-13,941,840),20007=>array(64,-74,944,818),20008=>array(439,-66,515,823),20009=>array(283,-55,652,833),20010=>array(30,-70,955,832),20011=>array(136,-53,866,805),20012=>array(248,-68,574,816),20013=>array(131,-65,860,826),20014=>array(71,-64,963,786),20015=>array(83,-68,933,844),20016=>array(73,-61,927,832),20017=>array(73,-72,894,826),20018=>array(123,-68,886,832),20019=>array(59,-70,912,830),20020=>array(103,-59,908,840),20021=>array(84,-54,930,814),20022=>array(289,225,647,575),20023=>array(134,287,875,584),20024=>array(52,-71,950,824),20025=>array(74,-73,939,777),20026=>array(82,-65,836,829),20027=>array(81,-6,930,841),20028=>array(82,-65,932,831),20029=>array(61,-57,912,771),20030=>array(18,-82,950,821),20031=>array(249,-60,554,834),20032=>array(72,-66,928,836),20033=>array(161,-77,953,786),20034=>array(66,-77,953,828),20035=>array(73,-56,894,776),20036=>array(117,-69,879,840),20037=>array(85,-50,957,835),20038=>array(75,-49,949,802),20039=>array(74,-24,940,816),20040=>array(94,-28,930,816),20041=>array(54,-71,955,818),20042=>array(99,262,872,706),20043=>array(64,-63,947,822),20044=>array(71,-68,889,828),20045=>array(56,-67,945,850),20046=>array(93,-64,924,826),20047=>array(65,-63,949,829),20048=>array(49,-59,941,833),20049=>array(54,-61,953,837),20050=>array(89,-77,921,826),20051=>array(87,-73,927,826),20052=>array(39,-69,948,819),20053=>array(38,-62,929,837),20054=>array(59,-65,926,831),20055=>array(50,-70,953,854),20056=>array(50,-70,953,824),20057=>array(158,-14,909,740),20058=>array(222,0,890,782),20059=>array(92,290,913,534),20060=>array(80,-20,954,822),20061=>array(77,-46,948,831),20062=>array(62,-27,925,835),20063=>array(92,-9,930,830),20064=>array(118,-62,818,769),20065=>array(96,-58,834,832),20066=>array(137,-32,953,825),20067=>array(85,-32,953,825),20068=>array(96,-43,924,792),20069=>array(113,-15,894,831),20070=>array(60,-71,894,819),20071=>array(101,-15,922,829),20072=>array(57,-53,953,828),20073=>array(91,-53,937,833),20074=>array(85,-28,958,753),20075=>array(60,-15,875,826),20076=>array(115,-15,889,804),20077=>array(76,-15,918,777),20078=>array(146,-40,897,829),20079=>array(93,-30,914,829),20080=>array(39,-62,920,779),20081=>array(58,-44,936,826),20082=>array(77,-15,954,828),20083=>array(48,-85,958,815),20084=>array(61,-45,938,806),20085=>array(74,-55,961,850),20086=>array(62,-55,956,849),20087=>array(58,-51,952,836),20088=>array(42,-27,959,828),20089=>array(108,-64,976,833),20090=>array(66,-31,938,831),20091=>array(50,-31,943,847),20092=>array(80,-31,966,859),20093=>array(67,-58,929,836),20094=>array(48,-64,950,842),20095=>array(44,-62,958,824),20096=>array(64,-43,956,853),20097=>array(81,-61,961,837),20098=>array(49,-68,962,843),20099=>array(36,-62,960,840),20100=>array(54,-30,954,831),20101=>array(290,-40,544,818),20102=>array(172,-41,829,773),20103=>array(98,-62,895,822),20104=>array(92,-66,913,782),20105=>array(69,-70,939,829),20106=>array(60,-65,950,826),20107=>array(60,-65,950,826),20108=>array(100,103,916,657),20109=>array(98,-51,914,764),20110=>array(89,-69,908,773),20111=>array(64,-62,912,770),20112=>array(64,-62,912,770),20113=>array(71,-50,934,760),20114=>array(78,-6,932,775),20115=>array(42,-66,919,784),20116=>array(82,25,916,744),20117=>array(63,-70,935,829),20118=>array(57,-24,960,791),20119=>array(57,-24,950,822),20120=>array(71,-6,941,770),20121=>array(52,-24,948,780),20122=>array(63,-7,914,775),20123=>array(65,-17,933,829),20124=>array(64,-24,952,783),20125=>array(77,-17,928,852),20126=>array(64,-24,952,783),20127=>array(74,-29,938,811),20128=>array(73,391,927,690),20129=>array(64,-3,936,822),20130=>array(66,-58,959,822),20131=>array(98,-55,911,835),20132=>array(70,-65,946,822),20133=>array(85,-64,931,840),20134=>array(57,-66,934,822),20135=>array(25,-63,889,843),20136=>array(74,-61,926,825),20137=>array(62,-56,916,841),20138=>array(81,-78,941,841),20139=>array(74,-58,936,828),20140=>array(53,-64,950,825),20141=>array(93,-58,907,836),20142=>array(65,-68,950,838),20143=>array(77,-62,923,840),20144=>array(59,-67,942,828),20145=>array(39,-63,941,846),20146=>array(49,-67,920,837),20147=>array(87,-45,961,838),20148=>array(71,-56,973,861),20149=>array(29,-75,944,841),20150=>array(53,-47,947,845),20151=>array(40,-59,955,850),20152=>array(52,-69,953,836),20153=>array(54,-47,960,858),20154=>array(71,-48,943,806),20155=>array(256,-69,592,824),20156=>array(32,-27,973,804),20157=>array(50,-56,978,838),20158=>array(171,16,906,794),20159=>array(34,-64,943,829),20160=>array(48,-68,950,829),20161=>array(47,-65,953,835),20162=>array(65,-65,910,838),20163=>array(43,-67,954,837),20164=>array(42,-66,957,775),20165=>array(23,-62,936,832),20166=>array(44,-67,956,835),20167=>array(39,-73,957,836),20168=>array(49,-73,955,828),20169=>array(60,-67,956,825),20170=>array(33,-77,967,836),20171=>array(54,-71,951,858),20172=>array(56,-47,953,831),20173=>array(58,-71,923,829),20174=>array(18,-72,964,836),20175=>array(44,-62,941,837),20176=>array(30,-58,955,832),20177=>array(30,-34,955,827),20178=>array(31,-68,964,811),20179=>array(26,-28,941,832),20180=>array(50,-64,954,834),20181=>array(46,-64,935,828),20182=>array(32,-68,956,844),20183=>array(51,-64,959,839),20184=>array(55,-73,947,838),20185=>array(43,-68,894,822),20186=>array(55,-64,957,840),20187=>array(60,-73,930,838),20188=>array(54,-63,939,832),20189=>array(56,-15,958,843),20190=>array(51,-67,895,832),20191=>array(54,-64,948,833),20192=>array(48,-67,948,829),20193=>array(46,-66,952,842),20194=>array(48,-69,920,829),20195=>array(46,-68,957,830),20196=>array(38,-67,961,846),20197=>array(66,-52,945,802),20198=>array(48,-66,951,829),20199=>array(76,-39,945,828),20200=>array(44,-66,937,830),20201=>array(57,-59,948,835),20202=>array(27,-75,949,823),20203=>array(44,-80,944,829),20204=>array(32,-57,897,837),20205=>array(24,-65,969,829),20206=>array(34,-70,949,839),20207=>array(41,-63,958,846),20208=>array(31,-64,897,853),20209=>array(54,-67,949,840),20210=>array(50,-68,902,833),20211=>array(52,-67,955,832),20212=>array(48,-66,859,832),20213=>array(52,-67,956,842),20214=>array(45,-67,950,837),20215=>array(33,-74,982,847),20216=>array(28,-69,962,833),20217=>array(43,-79,936,836),20218=>array(58,-38,982,866),20219=>array(27,-73,949,830),20220=>array(33,-67,938,835),20221=>array(50,-74,968,828),20222=>array(23,-67,951,835),20223=>array(56,-70,953,845),20224=>array(49,-61,948,837),20225=>array(28,-28,958,841),20226=>array(41,-65,946,836),20227=>array(49,-55,956,840),20228=>array(52,-68,912,828),20229=>array(41,-64,945,832),20230=>array(49,-64,921,843),20231=>array(45,-66,967,835),20232=>array(40,-59,954,846),20233=>array(40,-69,954,839),20234=>array(34,-75,950,827),20235=>array(39,-55,963,844),20236=>array(41,-72,930,819),20237=>array(29,-73,947,832),20238=>array(49,-66,960,840),20239=>array(50,-67,954,841),20240=>array(47,-73,950,822),20241=>array(49,-71,953,832),20242=>array(51,-66,937,829),20243=>array(46,-66,952,827),20244=>array(41,-71,958,832),20245=>array(50,-71,961,832),20246=>array(55,-87,958,835),20247=>array(34,-75,947,828),20248=>array(42,-64,945,840),20249=>array(50,-69,959,829),20250=>array(51,-56,954,832),20251=>array(39,-68,924,819),20252=>array(65,-57,941,831),20253=>array(45,-64,941,835),20254=>array(28,-81,950,822),20255=>array(30,-58,912,835),20256=>array(28,-66,903,831),20257=>array(50,-74,951,829),20258=>array(49,-67,932,835),20259=>array(50,-67,940,829),20260=>array(30,-66,919,823),20261=>array(39,-73,947,819),20262=>array(31,-59,935,833),20263=>array(25,-67,949,828),20264=>array(37,-67,906,836),20265=>array(37,-67,976,850),20266=>array(32,-68,895,824),20267=>array(34,-66,914,822),20268=>array(50,-66,952,834),20269=>array(39,-63,951,836),20270=>array(49,-71,959,840),20271=>array(62,-65,887,842),20272=>array(38,-67,951,835),20273=>array(62,-65,951,852),20274=>array(51,-76,952,830),20275=>array(36,-66,945,833),20276=>array(42,-65,955,835),20277=>array(42,-65,890,833),20278=>array(26,-71,965,849),20279=>array(33,-70,896,833),20280=>array(48,-65,897,843),20281=>array(34,-69,958,838),20282=>array(52,-68,896,834),20283=>array(45,-65,952,839),20284=>array(40,-69,960,839),20285=>array(29,-68,908,831),20286=>array(43,-69,936,822),20287=>array(44,-66,960,835),20288=>array(44,-65,915,835),20289=>array(48,-64,948,832),20290=>array(48,-64,946,831),20291=>array(45,-66,902,840),20292=>array(45,-66,948,840),20293=>array(45,-66,937,840),20294=>array(31,-73,934,839),20295=>array(38,-67,940,831),20296=>array(50,-65,956,842),20297=>array(42,-64,948,837),20298=>array(37,-73,966,838),20299=>array(36,-66,906,824),20300=>array(45,-63,958,837),20301=>array(41,-71,947,827),20302=>array(38,-68,961,838),20303=>array(35,-70,948,839),20304=>array(34,-66,946,834),20305=>array(42,-67,945,833),20306=>array(40,-63,965,837),20307=>array(37,-64,966,831),20308=>array(35,-63,935,840),20309=>array(33,-70,958,839),20310=>array(47,-67,956,832),20311=>array(48,-67,951,834),20312=>array(40,-61,970,857),20313=>array(61,-63,951,852),20314=>array(57,-67,967,839),20315=>array(47,-65,924,834),20316=>array(37,-67,954,847),20317=>array(66,-67,921,841),20318=>array(43,-69,945,836),20319=>array(46,-73,969,846),20320=>array(16,-73,951,833),20321=>array(48,-71,957,830),20322=>array(38,-61,943,837),20323=>array(37,-65,895,833),20324=>array(44,-68,962,840),20325=>array(26,-18,943,831),20326=>array(38,-64,921,831),20327=>array(47,-65,953,842),20328=>array(43,-59,955,836),20329=>array(39,-67,959,833),20330=>array(50,-68,897,838),20331=>array(52,-66,964,839),20332=>array(41,-65,942,832),20333=>array(37,-69,944,839),20334=>array(53,-64,968,847),20335=>array(44,-65,947,842),20336=>array(48,-67,947,833),20337=>array(48,-24,975,852),20338=>array(47,-70,883,840),20339=>array(21,-72,933,834),20340=>array(54,-74,948,835),20341=>array(37,-70,955,851),20342=>array(35,-73,924,834),20343=>array(53,-66,959,837),20344=>array(48,-55,948,845),20345=>array(42,-59,963,851),20346=>array(44,-67,951,832),20347=>array(22,-84,946,829),20348=>array(27,-70,941,835),20349=>array(63,-57,955,850),20350=>array(24,-67,974,837),20351=>array(50,-73,985,836),20352=>array(44,-70,913,841),20353=>array(46,-64,960,839),20354=>array(43,-63,954,846),20355=>array(41,-66,961,836),20356=>array(18,-66,921,831),20357=>array(41,-61,947,842),20358=>array(63,-64,956,835),20359=>array(40,-70,961,839),20360=>array(48,-62,920,844),20361=>array(32,-67,975,848),20362=>array(32,-67,946,838),20363=>array(41,-63,911,845),20364=>array(33,-81,952,861),20365=>array(52,-74,949,829),20366=>array(52,-74,976,827),20367=>array(36,-80,953,824),20368=>array(36,-61,958,847),20369=>array(39,-65,954,844),20370=>array(42,-64,942,836),20371=>array(42,-64,948,835),20372=>array(43,-71,947,843),20373=>array(42,-62,955,843),20374=>array(42,-62,966,852),20375=>array(50,-65,908,829),20376=>array(42,-70,964,829),20377=>array(38,-59,949,847),20378=>array(48,-57,938,845),20379=>array(38,-70,949,844),20380=>array(49,-73,954,843),20381=>array(36,-73,947,839),20382=>array(52,-55,905,847),20383=>array(44,-70,954,844),20384=>array(28,-67,944,832),20385=>array(24,-61,938,835),20386=>array(47,-67,949,828),20387=>array(32,-65,883,833),20388=>array(37,-60,945,832),20389=>array(10,-61,932,834),20390=>array(38,-74,922,831),20391=>array(18,-60,875,832),20392=>array(41,-55,967,848),20393=>array(32,-59,943,833),20394=>array(27,-69,937,834),20395=>array(37,-60,949,843),20396=>array(27,-69,962,834),20397=>array(27,-69,960,834),20398=>array(34,-68,946,839),20399=>array(44,-73,974,835),20400=>array(44,-73,933,835),20401=>array(44,-73,940,826),20402=>array(42,-73,969,827),20403=>array(39,-63,956,853),20404=>array(48,-61,975,852),20405=>array(36,-64,948,840),20406=>array(49,-63,900,836),20407=>array(41,-63,913,830),20408=>array(49,-63,942,836),20409=>array(35,-63,962,835),20410=>array(57,-65,957,843),20411=>array(51,-72,960,828),20412=>array(55,-64,946,830),20413=>array(53,-64,927,843),20414=>array(52,-64,953,843),20415=>array(42,-73,947,834),20416=>array(43,-63,955,842),20417=>array(35,-59,964,840),20418=>array(40,-65,954,845),20419=>array(20,-70,961,840),20420=>array(41,-64,960,840),20421=>array(42,-70,960,840),20422=>array(20,-70,948,840),20423=>array(28,-64,948,840),20424=>array(20,-70,939,840),20425=>array(53,-67,963,840),20426=>array(42,-79,953,849),20427=>array(40,-70,956,840),20428=>array(40,-70,945,840),20429=>array(59,-69,970,832),20430=>array(42,-57,954,829),20431=>array(52,-67,925,836),20432=>array(54,-66,918,847),20433=>array(21,-67,911,842),20434=>array(54,-67,946,845),20435=>array(39,-67,955,839),20436=>array(39,-54,958,841),20437=>array(39,-65,939,841),20438=>array(47,-64,947,841),20439=>array(36,-65,972,839),20440=>array(31,-62,951,832),20441=>array(42,-70,957,844),20442=>array(25,-68,948,836),20443=>array(50,-64,969,841),20444=>array(44,-65,955,850),20445=>array(35,-73,965,832),20446=>array(48,-61,975,852),20447=>array(23,-69,977,846),20448=>array(44,-68,968,840),20449=>array(32,-68,941,825),20450=>array(43,-82,954,844),20451=>array(25,-76,933,819),20452=>array(25,-70,919,842),20453=>array(26,-67,934,839),20454=>array(23,-71,953,832),20455=>array(25,-69,929,826),20456=>array(35,-69,923,823),20457=>array(32,-58,917,834),20458=>array(19,-61,911,829),20459=>array(25,-69,941,830),20460=>array(42,-64,961,850),20461=>array(19,-58,944,836),20462=>array(33,-76,973,844),20463=>array(33,-71,950,831),20464=>array(42,-64,913,850),20465=>array(22,-69,944,835),20466=>array(17,-57,909,852),20467=>array(37,-66,957,842),20468=>array(47,-60,947,840),20469=>array(41,-69,963,838),20470=>array(34,-69,981,835),20471=>array(46,-68,947,825),20472=>array(36,-68,964,843),20473=>array(51,-67,929,836),20474=>array(34,-61,967,841),20475=>array(51,-72,946,836),20476=>array(41,-74,911,844),20477=>array(44,-72,946,848),20478=>array(39,-65,950,853),20479=>array(39,-65,950,857),20480=>array(44,-68,972,831),20481=>array(47,-66,946,849),20482=>array(37,-68,955,835),20483=>array(44,-65,961,837),20484=>array(39,-64,922,844),20485=>array(32,-64,946,835),20486=>array(49,-68,941,846),20487=>array(45,-75,947,834),20488=>array(43,-65,972,836),20489=>array(62,-71,946,855),20490=>array(43,-65,969,831),20491=>array(50,-68,918,838),20492=>array(39,-65,927,854),20493=>array(39,-69,950,835),20494=>array(49,-72,943,838),20495=>array(31,-73,966,846),20496=>array(14,-67,952,848),20497=>array(27,-70,892,841),20498=>array(53,-68,903,839),20499=>array(50,-66,952,843),20500=>array(38,-66,908,831),20501=>array(46,-67,949,832),20502=>array(42,-65,940,844),20503=>array(54,-64,890,834),20504=>array(35,-65,895,836),20505=>array(20,-68,958,843),20506=>array(36,-64,953,842),20507=>array(54,-77,951,834),20508=>array(45,-72,926,840),20509=>array(73,-73,961,833),20510=>array(35,-68,956,832),20511=>array(41,-68,953,838),20512=>array(46,-71,935,825),20513=>array(52,-65,897,833),20514=>array(44,-64,978,839),20515=>array(29,-69,974,847),20516=>array(36,-68,943,837),20517=>array(26,-69,954,834),20518=>array(34,-67,963,835),20519=>array(62,-59,967,839),20520=>array(32,-71,947,841),20521=>array(36,-67,956,847),20522=>array(49,-77,951,821),20523=>array(31,-71,976,855),20524=>array(46,-65,951,836),20525=>array(12,-67,952,842),20526=>array(33,-67,979,843),20527=>array(52,-68,967,830),20528=>array(44,-65,956,834),20529=>array(59,-59,960,836),20530=>array(59,-64,943,836),20531=>array(51,-64,956,831),20532=>array(46,-68,975,835),20533=>array(47,-62,951,830),20534=>array(39,-65,961,838),20535=>array(52,-62,963,832),20536=>array(47,-62,975,848),20537=>array(39,-71,955,841),20538=>array(35,-86,913,827),20539=>array(30,-65,973,835),20540=>array(37,-68,943,834),20541=>array(54,-59,969,875),20542=>array(29,-59,955,828),20543=>array(39,-64,939,841),20544=>array(46,-70,972,839),20545=>array(44,-68,952,836),20546=>array(48,-65,960,850),20547=>array(27,-73,945,841),20548=>array(46,-70,975,837),20549=>array(46,-70,956,837),20550=>array(39,-69,972,840),20551=>array(41,-70,962,835),20552=>array(45,-69,920,825),20553=>array(42,-66,948,844),20554=>array(45,-67,918,835),20555=>array(40,-72,951,841),20556=>array(36,-66,954,847),20557=>array(47,-73,961,833),20558=>array(33,-71,970,844),20559=>array(38,-68,921,837),20560=>array(35,-71,939,836),20561=>array(37,-68,966,832),20562=>array(41,-66,944,842),20563=>array(47,-68,960,841),20564=>array(41,-66,925,842),20565=>array(31,-68,963,840),20566=>array(31,-66,938,842),20567=>array(55,-67,956,843),20568=>array(46,-65,920,829),20569=>array(61,-65,908,839),20570=>array(51,-74,963,835),20571=>array(46,-67,958,836),20572=>array(37,-65,934,834),20573=>array(37,-65,953,845),20574=>array(44,-70,955,833),20575=>array(49,-52,951,852),20576=>array(46,-75,960,834),20577=>array(51,-64,959,841),20578=>array(40,-54,973,848),20579=>array(54,-68,956,845),20580=>array(44,-71,936,828),20581=>array(43,-73,966,834),20582=>array(43,-70,957,834),20583=>array(28,-70,980,834),20584=>array(31,-71,969,834),20585=>array(55,-73,943,838),20586=>array(47,-53,948,839),20587=>array(53,-66,968,839),20588=>array(33,-68,970,846),20589=>array(38,-62,944,837),20590=>array(45,-71,952,830),20591=>array(41,-74,960,843),20592=>array(40,-73,960,835),20593=>array(43,-67,935,840),20594=>array(43,-65,971,833),20595=>array(44,-64,951,839),20596=>array(42,-68,902,834),20597=>array(48,-79,943,836),20598=>array(38,-62,907,836),20599=>array(53,-63,979,862),20600=>array(37,-71,963,824),20601=>array(23,-66,962,840),20602=>array(44,-66,960,840),20603=>array(23,-66,933,830),20604=>array(36,-61,954,839),20605=>array(41,-67,924,835),20606=>array(27,-69,925,834),20607=>array(21,-57,912,834),20608=>array(26,-72,967,841),20609=>array(50,-72,963,832),20610=>array(49,-69,961,837),20611=>array(55,-70,948,837),20612=>array(41,-64,968,840),20613=>array(31,-65,941,838),20614=>array(56,-75,958,838),20615=>array(58,-72,961,833),20616=>array(30,-65,979,838),20617=>array(44,-69,953,827),20618=>array(44,-73,936,827),20619=>array(44,-69,951,827),20620=>array(44,-58,941,848),20621=>array(36,-64,941,833),20622=>array(41,-58,955,848),20623=>array(45,-75,948,843),20624=>array(39,-65,906,841),20625=>array(31,-65,971,847),20626=>array(38,-65,978,837),20627=>array(53,-60,903,842),20628=>array(45,-57,960,850),20629=>array(60,-71,960,830),20630=>array(29,-80,969,851),20631=>array(29,-69,950,843),20632=>array(52,-58,971,847),20633=>array(29,-69,956,835),20634=>array(25,-57,978,832),20635=>array(44,-66,958,840),20636=>array(46,-72,953,839),20637=>array(39,-73,917,829),20638=>array(39,-62,954,853),20639=>array(42,-71,922,844),20640=>array(37,-67,968,844),20641=>array(47,-44,970,844),20642=>array(37,-68,976,854),20643=>array(32,-65,976,845),20644=>array(42,-64,964,836),20645=>array(28,-64,934,829),20646=>array(28,-72,943,823),20647=>array(30,-66,938,841),20648=>array(28,-63,922,833),20649=>array(27,-61,924,828),20650=>array(27,-76,967,847),20651=>array(34,-70,943,830),20652=>array(30,-60,936,840),20653=>array(34,-68,957,840),20654=>array(44,-66,954,843),20655=>array(44,-64,969,838),20656=>array(38,-71,903,840),20657=>array(40,-74,973,835),20658=>array(32,-67,958,835),20659=>array(35,-70,951,836),20660=>array(35,-65,948,838),20661=>array(41,-72,963,833),20662=>array(46,-74,967,838),20663=>array(31,-67,953,839),20664=>array(42,-80,961,837),20665=>array(39,-65,952,847),20666=>array(29,-65,958,841),20667=>array(28,-66,961,841),20668=>array(33,-66,948,841),20669=>array(44,-71,954,847),20670=>array(35,-67,962,831),20671=>array(39,-70,949,834),20672=>array(29,-72,949,859),20673=>array(47,-62,965,839),20674=>array(30,-72,950,835),20675=>array(26,-65,907,832),20676=>array(46,-65,955,834),20677=>array(33,-70,944,840),20678=>array(17,-61,965,840),20679=>array(36,-57,974,844),20680=>array(41,-81,960,832),20681=>array(37,-66,979,847),20682=>array(41,-64,958,840),20683=>array(46,-80,970,847),20684=>array(25,-71,968,847),20685=>array(43,-66,925,832),20686=>array(37,-58,950,843),20687=>array(40,-62,963,840),20688=>array(45,-66,909,844),20689=>array(35,-66,965,832),20690=>array(47,-65,952,843),20691=>array(55,-79,959,840),20692=>array(46,-67,949,843),20693=>array(48,-64,963,835),20694=>array(39,-68,951,834),20695=>array(52,-71,934,831),20696=>array(23,-67,985,844),20697=>array(44,-70,969,835),20698=>array(41,-64,983,842),20699=>array(38,-74,963,839),20700=>array(55,-45,963,829),20701=>array(55,-70,962,826),20702=>array(33,-65,930,839),20703=>array(38,-56,946,835),20704=>array(62,-70,965,828),20705=>array(53,-52,962,836),20706=>array(43,-67,947,833),20707=>array(34,-64,968,836),20708=>array(68,-67,967,835),20709=>array(38,-67,962,837),20710=>array(35,-64,967,851),20711=>array(39,-60,907,843),20712=>array(39,-72,968,841),20713=>array(52,-52,911,840),20714=>array(54,-64,918,833),20715=>array(52,-52,962,840),20716=>array(34,-68,967,842),20717=>array(24,-65,972,838),20718=>array(29,-71,953,832),20719=>array(57,-72,974,833),20720=>array(47,-63,963,835),20721=>array(30,-62,952,847),20722=>array(25,-75,948,832),20723=>array(20,-69,965,839),20724=>array(52,-52,911,840),20725=>array(45,-61,956,838),20726=>array(43,-70,982,832),20727=>array(45,-72,955,847),20728=>array(30,-70,972,834),20729=>array(28,-71,949,826),20730=>array(47,-70,959,828),20731=>array(35,-65,958,847),20732=>array(47,-66,951,833),20733=>array(37,-68,988,830),20734=>array(41,-57,972,858),20735=>array(34,-70,979,834),20736=>array(39,-68,963,845),20737=>array(39,-74,942,844),20738=>array(36,-76,977,843),20739=>array(44,-70,960,838),20740=>array(36,-67,960,840),20741=>array(53,-68,915,836),20742=>array(26,-66,978,841),20743=>array(50,-66,979,837),20744=>array(34,-61,968,863),20745=>array(38,-69,965,851),20746=>array(34,-72,978,836),20747=>array(20,-72,942,839),20748=>array(28,-58,963,850),20749=>array(39,-56,965,853),20750=>array(42,-65,964,836),20751=>array(38,-67,968,845),20752=>array(28,-68,964,854),20753=>array(47,-79,962,825),20754=>array(36,-60,956,839),20755=>array(52,-67,964,829),20756=>array(32,-65,953,838),20757=>array(41,-71,963,837),20758=>array(51,-65,942,843),20759=>array(30,-64,969,839),20760=>array(31,-64,964,845),20761=>array(31,-64,960,845),20762=>array(37,-59,938,838),20763=>array(39,-67,943,842),20764=>array(39,-67,948,841),20765=>array(50,-65,937,856),20766=>array(37,-75,951,837),20767=>array(28,-73,961,842),20768=>array(47,-71,954,836),20769=>array(54,-68,923,826),20770=>array(46,-70,964,829),20771=>array(64,-74,959,846),20772=>array(49,-68,965,830),20773=>array(47,-79,940,835),20774=>array(42,-76,963,841),20775=>array(37,-77,963,838),20776=>array(39,-80,947,838),20777=>array(49,-75,934,838),20778=>array(30,-73,954,835),20779=>array(40,-73,957,840),20780=>array(5,-73,996,835),20781=>array(35,-73,972,830),20782=>array(36,-66,952,836),20783=>array(26,-64,963,846),20784=>array(44,-75,951,834),20785=>array(28,-66,967,845),20786=>array(40,-68,946,838),20787=>array(41,-66,969,844),20788=>array(33,-69,979,844),20789=>array(32,-68,971,843),20790=>array(33,-67,940,848),20791=>array(36,-69,968,841),20792=>array(44,-55,950,840),20793=>array(30,-72,954,840),20794=>array(29,-69,955,839),20795=>array(27,-68,973,848),20796=>array(34,-70,971,832),20797=>array(47,-72,935,832),20798=>array(36,-71,964,839),20799=>array(39,-81,955,815),20800=>array(46,-64,942,754),20801=>array(82,-59,936,842),20802=>array(40,-65,963,824),20803=>array(76,-67,939,767),20804=>array(85,-65,932,776),20805=>array(64,-68,951,822),20806=>array(73,-64,933,832),20807=>array(40,-60,953,836),20808=>array(89,-67,934,839),20809=>array(66,-63,930,832),20810=>array(49,-68,949,835),20811=>array(60,-67,937,832),20812=>array(51,-60,953,812),20813=>array(52,-70,948,840),20814=>array(68,-60,959,831),20815=>array(37,-66,956,794),20816=>array(52,-66,929,737),20817=>array(67,-64,941,848),20818=>array(88,-62,927,833),20819=>array(36,-64,970,794),20820=>array(63,-67,950,842),20821=>array(41,-65,962,780),20822=>array(58,-67,956,848),20823=>array(42,-62,959,834),20824=>array(30,-50,960,823),20825=>array(29,-80,961,845),20826=>array(52,-64,948,828),20827=>array(30,-79,955,845),20828=>array(52,-66,948,844),20829=>array(29,-80,954,846),20830=>array(28,-81,977,844),20831=>array(41,-68,956,830),20832=>array(36,-66,962,845),20833=>array(27,-79,953,845),20834=>array(32,-71,958,830),20835=>array(34,-81,965,845),20836=>array(28,-79,958,844),20837=>array(85,-38,933,769),20838=>array(143,-12,903,787),20839=>array(127,-69,877,786),20840=>array(40,-23,935,803),20841=>array(60,-68,953,783),20842=>array(35,-66,965,822),20843=>array(44,-36,949,791),20844=>array(51,-54,956,804),20845=>array(62,-29,946,810),20846=>array(46,-60,954,816),20847=>array(118,-57,799,812),20848=>array(65,-27,915,796),20849=>array(75,-70,925,829),20850=>array(90,-57,931,809),20851=>array(38,-62,919,831),20852=>array(47,-51,915,809),20853=>array(53,-66,958,817),20854=>array(63,-65,936,832),20855=>array(63,-64,942,789),20856=>array(52,-71,943,833),20857=>array(63,-47,912,831),20858=>array(46,-54,951,829),20859=>array(33,-67,951,839),20860=>array(50,-62,959,841),20861=>array(65,-63,917,836),20862=>array(65,-61,935,837),20863=>array(79,-56,952,830),20864=>array(57,-74,929,834),20865=>array(50,-67,969,814),20866=>array(131,-66,869,766),20867=>array(136,-69,864,795),20868=>array(52,-66,942,800),20869=>array(131,-64,865,824),20870=>array(151,-51,849,781),20871=>array(70,-62,934,849),20872=>array(107,-61,856,789),20873=>array(53,-67,947,839),20874=>array(52,-66,948,788),20875=>array(131,-65,887,779),20876=>array(47,-79,958,786),20877=>array(67,-61,954,791),20878=>array(117,-55,879,800),20879=>array(122,-65,878,783),20880=>array(189,-50,851,788),20881=>array(189,-60,851,834),20882=>array(131,-65,869,810),20883=>array(60,-65,954,833),20884=>array(101,-60,941,809),20885=>array(43,-61,951,809),20886=>array(94,353,906,541),20887=>array(56,-67,945,762),20888=>array(44,-73,949,825),20889=>array(65,-58,939,786),20890=>array(108,-67,891,772),20891=>array(58,-59,909,780),20892=>array(42,-70,959,828),20893=>array(51,-59,953,799),20894=>array(50,-65,961,782),20895=>array(81,-38,940,806),20896=>array(51,-67,957,787),20897=>array(75,-50,951,763),20898=>array(60,-67,965,783),20899=>array(76,-53,945,790),20900=>array(54,-60,952,795),20901=>array(67,-70,933,793),20902=>array(43,-60,959,785),20903=>array(28,-66,986,783),20904=>array(99,-55,908,785),20905=>array(82,-66,910,802),20906=>array(60,-67,965,785),20907=>array(338,-28,574,766),20908=>array(67,-72,958,855),20909=>array(61,-72,957,840),20910=>array(40,-57,940,717),20911=>array(52,-48,888,781),20912=>array(48,-65,966,837),20913=>array(53,-22,951,769),20914=>array(44,-61,897,833),20915=>array(55,-66,972,836),20916=>array(65,-63,936,793),20917=>array(38,-72,933,758),20918=>array(63,-62,954,834),20919=>array(54,-71,966,849),20920=>array(49,-62,954,835),20921=>array(58,-71,956,839),20922=>array(58,-61,939,786),20923=>array(52,-60,948,832),20924=>array(55,-66,957,827),20925=>array(48,-67,893,830),20926=>array(48,-62,970,843),20927=>array(31,-62,959,841),20928=>array(58,-61,922,839),20929=>array(58,-65,948,835),20930=>array(64,-71,955,840),20931=>array(48,-68,975,843),20932=>array(44,-70,936,835),20933=>array(59,-49,895,788),20934=>array(57,-65,950,835),20935=>array(39,-60,943,830),20936=>array(55,-67,950,822),20937=>array(63,-63,961,830),20938=>array(49,-50,955,854),20939=>array(33,-74,878,781),20940=>array(41,-70,959,831),20941=>array(48,-58,965,839),20942=>array(57,-38,962,817),20943=>array(38,-80,939,834),20944=>array(60,-27,954,787),20945=>array(42,-67,959,834),20946=>array(42,-58,927,835),20947=>array(54,-62,978,791),20948=>array(46,-52,974,866),20949=>array(54,-70,946,788),20950=>array(54,-64,950,841),20951=>array(39,-69,951,825),20952=>array(39,-53,951,851),20953=>array(32,-59,956,797),20954=>array(59,-68,955,831),20955=>array(43,-64,930,832),20956=>array(55,-65,973,833),20957=>array(16,-70,972,819),20958=>array(46,-73,951,818),20959=>array(37,-70,962,837),20960=>array(34,-65,961,774),20961=>array(72,-71,935,767),20962=>array(72,-71,935,831),20963=>array(72,-71,935,801),20964=>array(34,-65,939,791),20965=>array(52,-74,949,778),20966=>array(18,-67,935,818),20967=>array(47,-65,953,791),20968=>array(34,-65,939,791),20969=>array(38,-61,961,791),20970=>array(34,-65,939,791),20971=>array(48,-58,958,842),20972=>array(34,-65,939,791),20973=>array(32,-60,966,837),20974=>array(34,-65,939,791),20975=>array(72,-65,972,826),20976=>array(63,-66,963,792),20977=>array(62,-67,954,836),20978=>array(63,-66,963,792),20979=>array(59,-74,954,839),20980=>array(39,-56,952,800),20981=>array(112,-72,888,808),20982=>array(130,-44,870,775),20983=>array(128,-64,872,798),20984=>array(143,-66,894,778),20985=>array(126,-38,874,775),20986=>array(144,-65,868,838),20987=>array(75,-67,925,826),20988=>array(111,-66,889,819),20989=>array(81,-61,919,799),20990=>array(102,-52,898,803),20991=>array(75,-64,925,828),20992=>array(85,-34,856,760),20993=>array(80,-50,868,782),20994=>array(364,-64,619,827),20995=>array(46,-54,877,761),20996=>array(53,-35,947,751),20997=>array(70,-69,917,751),20998=>array(65,-69,936,779),20999=>array(44,-73,897,797),21000=>array(77,-64,899,817),21001=>array(55,-77,905,826),21002=>array(71,-62,893,831),21003=>array(56,-63,893,831),21004=>array(72,-66,908,836),21005=>array(77,-43,851,828),21006=>array(71,-62,893,839),21007=>array(62,-63,913,840),21008=>array(53,-66,910,821),21009=>array(59,-70,899,829),21010=>array(45,-64,897,835),21011=>array(41,-69,907,826),21012=>array(95,-66,914,836),21013=>array(36,-66,947,806),21014=>array(60,-69,913,826),21015=>array(83,-76,901,832),21016=>array(29,-57,884,841),21017=>array(30,-66,883,823),21018=>array(90,-60,873,830),21019=>array(43,-61,893,837),21020=>array(57,-64,912,832),21021=>array(32,-73,900,822),21022=>array(56,-59,900,833),21023=>array(78,-70,893,831),21024=>array(27,-75,885,820),21025=>array(100,-67,901,828),21026=>array(49,-61,907,835),21027=>array(67,-65,878,831),21028=>array(58,-70,898,832),21029=>array(54,-68,899,825),21030=>array(72,-65,873,831),21031=>array(58,-64,906,831),21032=>array(55,-64,911,841),21033=>array(57,-67,920,826),21034=>array(63,-68,906,830),21035=>array(70,-70,883,821),21036=>array(44,-63,897,841),21037=>array(21,-60,875,827),21038=>array(77,-69,898,831),21039=>array(53,-64,900,823),21040=>array(65,-65,905,826),21041=>array(47,-69,973,825),21042=>array(64,-64,914,828),21043=>array(42,-65,905,831),21044=>array(44,-68,898,826),21045=>array(54,-61,894,833),21046=>array(77,-68,914,836),21047=>array(59,-68,898,830),21048=>array(69,-55,952,837),21049=>array(41,-63,892,837),21050=>array(71,-65,906,831),21051=>array(56,-63,902,829),21052=>array(62,-54,927,831),21053=>array(30,-57,881,837),21054=>array(42,-62,898,825),21055=>array(35,-68,882,823),21056=>array(79,-63,874,826),21057=>array(60,-62,919,831),21058=>array(28,-68,882,830),21059=>array(41,-64,897,845),21060=>array(67,-65,918,831),21061=>array(50,-69,895,829),21062=>array(138,-69,899,829),21063=>array(67,-70,897,830),21064=>array(119,-66,879,825),21065=>array(53,-63,900,834),21066=>array(80,-63,894,833),21067=>array(35,-63,965,836),21068=>array(63,-66,914,835),21069=>array(76,-60,924,850),21070=>array(79,-70,907,841),21071=>array(33,-69,971,839),21072=>array(88,-63,875,830),21073=>array(28,-65,883,838),21074=>array(77,-62,910,829),21075=>array(44,-59,924,814),21076=>array(60,-71,906,829),21077=>array(50,-57,912,845),21078=>array(63,-65,896,833),21079=>array(110,-69,891,830),21080=>array(88,-68,874,830),21081=>array(35,-62,958,830),21082=>array(46,-58,893,836),21083=>array(103,-67,898,829),21084=>array(52,-73,918,851),21085=>array(71,-62,893,848),21086=>array(82,-65,920,836),21087=>array(66,-73,913,823),21088=>array(55,-71,877,844),21089=>array(62,-67,943,835),21090=>array(73,-68,924,823),21091=>array(35,-65,907,844),21092=>array(52,-66,906,826),21093=>array(54,-48,879,836),21094=>array(32,-63,900,840),21095=>array(21,-62,880,833),21096=>array(39,-66,922,834),21097=>array(36,-67,910,834),21098=>array(70,-64,927,842),21099=>array(55,-75,917,835),21100=>array(71,-69,917,833),21101=>array(55,-70,921,821),21102=>array(111,-64,896,829),21103=>array(74,-70,914,829),21104=>array(46,-65,918,828),21105=>array(37,-70,971,837),21106=>array(59,-58,914,833),21107=>array(36,-56,894,804),21108=>array(68,-64,914,835),21109=>array(46,-72,901,842),21110=>array(46,-64,911,838),21111=>array(43,-67,905,848),21112=>array(54,-55,903,845),21113=>array(42,-65,920,824),21114=>array(33,-76,968,833),21115=>array(42,-70,904,831),21116=>array(32,-71,905,852),21117=>array(53,-62,924,829),21118=>array(112,-59,890,829),21119=>array(50,-62,900,846),21120=>array(37,-67,904,819),21121=>array(37,-68,894,835),21122=>array(52,-70,923,829),21123=>array(50,-63,921,830),21124=>array(40,-54,911,835),21125=>array(57,-63,910,823),21126=>array(26,-63,912,844),21127=>array(40,-67,910,835),21128=>array(53,-63,947,840),21129=>array(44,-64,911,837),21130=>array(45,-71,917,854),21131=>array(38,-71,906,823),21132=>array(44,-65,928,836),21133=>array(47,-69,897,848),21134=>array(47,-68,886,848),21135=>array(91,-64,883,842),21136=>array(44,-66,903,825),21137=>array(53,-73,915,827),21138=>array(41,-71,919,843),21139=>array(61,-64,919,861),21140=>array(39,-75,973,840),21141=>array(36,-68,908,825),21142=>array(34,-61,905,852),21143=>array(58,-73,913,830),21144=>array(43,-62,899,860),21145=>array(67,-70,921,841),21146=>array(46,-50,909,848),21147=>array(70,-56,863,824),21148=>array(45,-65,958,825),21149=>array(35,-70,895,820),21150=>array(64,-59,931,838),21151=>array(73,-76,892,823),21152=>array(58,-76,913,831),21153=>array(35,-69,958,829),21154=>array(30,-63,900,824),21155=>array(67,-63,942,838),21156=>array(40,-63,946,839),21157=>array(46,-65,895,846),21158=>array(36,-69,946,844),21159=>array(73,-71,896,824),21160=>array(55,-60,887,832),21161=>array(53,-67,926,833),21162=>array(67,-70,939,822),21163=>array(63,-75,918,823),21164=>array(42,-68,904,844),21165=>array(64,-63,915,830),21166=>array(60,-64,927,836),21167=>array(47,-67,946,834),21168=>array(99,-59,888,833),21169=>array(30,-58,901,831),21170=>array(25,-59,888,833),21171=>array(59,-61,915,830),21172=>array(59,-61,896,841),21173=>array(35,-73,957,827),21174=>array(14,-57,904,822),21175=>array(80,-72,909,842),21176=>array(62,-49,922,831),21177=>array(68,-65,927,832),21178=>array(90,-77,924,824),21179=>array(96,-73,917,828),21180=>array(57,-62,915,839),21181=>array(89,-57,869,792),21182=>array(53,-63,926,830),21183=>array(58,-57,951,833),21184=>array(40,-69,951,846),21185=>array(55,-70,916,829),21186=>array(76,-55,928,839),21187=>array(103,-75,904,831),21188=>array(62,-77,904,839),21189=>array(32,-68,904,836),21190=>array(113,-75,915,843),21191=>array(45,-70,875,809),21192=>array(95,-68,890,830),21193=>array(38,-60,965,835),21194=>array(35,-63,965,836),21195=>array(30,-65,890,830),21196=>array(49,-62,914,850),21197=>array(43,-72,909,826),21198=>array(105,-59,939,832),21199=>array(103,-77,914,840),21200=>array(48,-77,914,822),21201=>array(54,-65,916,836),21202=>array(72,-65,917,829),21203=>array(88,-70,916,828),21204=>array(65,-77,905,832),21205=>array(58,-68,914,832),21206=>array(77,-76,953,839),21207=>array(48,-67,918,811),21208=>array(54,-71,914,827),21209=>array(37,-71,971,844),21210=>array(56,-76,922,827),21211=>array(51,-76,952,838),21212=>array(48,-75,926,832),21213=>array(41,-76,957,839),21214=>array(52,-73,919,832),21215=>array(58,-61,967,837),21216=>array(43,-72,926,827),21217=>array(67,-68,921,832),21218=>array(49,-68,957,829),21219=>array(58,-66,916,837),21220=>array(44,-68,929,827),21221=>array(49,-55,949,819),21222=>array(37,-76,918,842),21223=>array(37,-61,920,841),21224=>array(53,-69,912,842),21225=>array(53,-58,899,850),21226=>array(31,-68,940,842),21227=>array(28,-69,910,822),21228=>array(27,-69,934,840),21229=>array(52,-73,918,849),21230=>array(26,-73,931,835),21231=>array(54,-78,921,844),21232=>array(35,-66,966,834),21233=>array(54,-67,924,830),21234=>array(54,-72,928,833),21235=>array(45,-76,918,839),21236=>array(46,-73,928,825),21237=>array(27,-76,929,825),21238=>array(44,-45,949,840),21239=>array(54,-61,919,844),21240=>array(38,-76,920,838),21241=>array(30,-69,875,826),21242=>array(82,-62,896,850),21243=>array(93,-59,894,838),21244=>array(61,-63,903,826),21245=>array(82,-62,900,839),21246=>array(56,-55,898,829),21247=>array(71,-44,895,852),21248=>array(84,-59,930,838),21249=>array(38,-59,928,838),21250=>array(55,-59,912,844),21251=>array(55,-59,912,844),21252=>array(55,-59,912,844),21253=>array(48,-33,955,838),21254=>array(64,-58,902,842),21255=>array(63,-59,912,839),21256=>array(55,-59,912,844),21257=>array(57,-66,886,837),21258=>array(57,-59,911,845),21259=>array(68,-60,938,841),21260=>array(68,-60,938,841),21261=>array(74,-63,922,843),21262=>array(58,-70,918,829),21263=>array(42,-65,964,834),21264=>array(59,-65,915,845),21265=>array(48,-63,914,840),21266=>array(48,-68,902,843),21267=>array(52,-68,909,843),21268=>array(48,-63,916,840),21269=>array(304,-45,928,803),21270=>array(48,-57,950,836),21271=>array(45,-50,948,792),21272=>array(99,-53,921,804),21273=>array(56,-78,970,811),21274=>array(133,-71,930,795),21275=>array(93,-26,894,768),21276=>array(99,-21,926,788),21277=>array(92,-70,923,831),21278=>array(93,-26,894,768),21279=>array(96,-23,920,794),21280=>array(128,-48,921,790),21281=>array(121,-70,921,791),21282=>array(115,-32,942,778),21283=>array(133,-71,930,795),21284=>array(113,-76,930,811),21285=>array(112,-32,912,791),21286=>array(112,-32,959,796),21287=>array(114,-32,916,796),21288=>array(112,-32,922,796),21289=>array(101,-28,918,785),21290=>array(114,-69,931,789),21291=>array(115,-32,942,778),21292=>array(87,-29,950,789),21293=>array(85,-26,941,792),21294=>array(112,-32,922,796),21295=>array(129,-71,930,795),21296=>array(136,-23,951,787),21297=>array(117,-72,953,814),21298=>array(117,-26,945,804),21299=>array(133,-71,946,795),21300=>array(118,-29,954,780),21301=>array(85,-26,932,804),21302=>array(136,-59,951,795),21303=>array(92,-31,938,784),21304=>array(76,-5,924,762),21305=>array(134,-71,933,742),21306=>array(133,-57,933,784),21307=>array(103,-56,927,791),21308=>array(77,-26,934,797),21309=>array(69,-30,942,787),21310=>array(71,-30,950,796),21311=>array(118,-68,939,800),21312=>array(133,-71,930,795),21313=>array(105,-70,902,838),21314=>array(64,-37,962,786),21315=>array(113,-68,906,830),21316=>array(67,-44,933,821),21317=>array(46,-68,948,819),21318=>array(55,-64,950,833),21319=>array(80,-71,930,827),21320=>array(90,-68,918,834),21321=>array(55,-69,941,829),21322=>array(76,-67,909,824),21323=>array(69,-63,931,827),21324=>array(63,-59,937,825),21325=>array(91,-26,909,787),21326=>array(28,-57,918,831),21327=>array(51,-62,948,834),21328=>array(94,-26,911,787),21329=>array(64,-67,936,846),21330=>array(82,-67,918,837),21331=>array(65,-68,935,826),21332=>array(63,-70,924,835),21333=>array(54,-58,926,841),21334=>array(49,-65,923,832),21335=>array(68,-72,942,830),21336=>array(64,-62,936,854),21337=>array(58,-49,939,830),21338=>array(53,-71,949,835),21339=>array(53,-46,942,813),21340=>array(403,-65,899,825),21341=>array(73,-26,924,790),21342=>array(74,-62,926,819),21343=>array(107,-63,947,828),21344=>array(184,-70,903,832),21345=>array(77,-68,927,828),21346=>array(39,-58,916,829),21347=>array(113,-65,903,833),21348=>array(136,-66,911,826),21349=>array(136,-66,911,826),21350=>array(37,-68,957,827),21351=>array(111,-62,954,818),21352=>array(96,-67,902,836),21353=>array(303,-69,717,781),21354=>array(291,-69,743,781),21355=>array(63,-5,913,747),21356=>array(104,-69,892,832),21357=>array(53,-69,890,746),21358=>array(59,-65,933,835),21359=>array(50,-62,903,839),21360=>array(148,-64,883,835),21361=>array(62,-67,928,836),21362=>array(52,-55,916,799),21363=>array(55,-67,896,786),21364=>array(49,-60,888,826),21365=>array(59,-71,883,815),21366=>array(29,-70,893,836),21367=>array(31,-45,959,834),21368=>array(73,-63,898,846),21369=>array(39,-54,907,861),21370=>array(26,-27,947,783),21371=>array(47,-68,910,837),21372=>array(51,-71,962,832),21373=>array(140,-73,894,827),21374=>array(88,-63,894,788),21375=>array(41,-70,920,834),21376=>array(54,-60,907,829),21377=>array(39,-63,951,835),21378=>array(38,-64,922,791),21379=>array(62,-67,900,836),21380=>array(50,-64,942,777),21381=>array(38,-67,904,774),21382=>array(39,-57,911,786),21383=>array(40,-57,941,789),21384=>array(38,-68,914,792),21385=>array(36,-56,911,781),21386=>array(51,-75,933,775),21387=>array(37,-63,913,771),21388=>array(37,-62,926,778),21389=>array(35,-72,922,775),21390=>array(44,-68,937,796),21391=>array(56,-68,936,777),21392=>array(34,-64,957,788),21393=>array(29,-64,942,788),21394=>array(52,-64,934,779),21395=>array(40,-57,926,798),21396=>array(35,-62,948,793),21397=>array(17,-73,896,786),21398=>array(27,-67,957,788),21399=>array(73,-65,957,780),21400=>array(45,-74,932,779),21401=>array(49,-70,956,795),21402=>array(50,-65,940,809),21403=>array(34,-64,950,788),21404=>array(46,-72,959,782),21405=>array(50,-68,943,780),21406=>array(57,-73,932,764),21407=>array(59,-65,932,787),21408=>array(39,-63,942,788),21409=>array(50,-101,916,782),21410=>array(18,-69,925,785),21411=>array(35,-73,938,765),21412=>array(39,-64,974,792),21413=>array(39,-67,962,793),21414=>array(42,-75,938,816),21415=>array(43,-81,951,786),21416=>array(20,-62,909,785),21417=>array(37,-63,961,802),21418=>array(24,-47,929,811),21419=>array(46,-60,948,795),21420=>array(48,-69,966,784),21421=>array(39,-71,963,785),21422=>array(23,-71,930,791),21423=>array(39,-65,958,791),21424=>array(46,-71,951,783),21425=>array(46,-71,948,783),21426=>array(51,-71,939,784),21427=>array(34,-79,894,835),21428=>array(47,-71,947,798),21429=>array(27,-45,882,821),21430=>array(117,11,903,746),21431=>array(56,-20,928,843),21432=>array(61,-25,941,767),21433=>array(57,-65,949,829),21434=>array(56,-59,933,843),21435=>array(79,-56,931,832),21436=>array(61,-64,932,816),21437=>array(67,-44,905,806),21438=>array(97,-60,971,791),21439=>array(61,-72,913,786),21440=>array(133,-48,955,823),21441=>array(38,-32,962,838),21442=>array(18,-74,970,848),21443=>array(30,-88,968,844),21444=>array(30,-15,968,852),21445=>array(30,-61,968,852),21446=>array(68,-66,977,836),21447=>array(38,-68,961,829),21448=>array(94,-34,920,754),21449=>array(63,-50,948,773),21450=>array(36,-64,945,767),21451=>array(63,-61,939,843),21452=>array(37,-67,955,770),21453=>array(51,-71,942,790),21454=>array(53,-50,962,816),21455=>array(58,-38,930,828),21456=>array(38,-62,940,827),21457=>array(38,-60,940,828),21458=>array(52,-57,944,801),21459=>array(58,-68,930,812),21460=>array(50,-64,963,833),21461=>array(48,-50,944,815),21462=>array(43,-70,960,780),21463=>array(64,-68,936,829),21464=>array(38,-59,934,833),21465=>array(16,-63,942,836),21466=>array(141,-75,963,781),21467=>array(52,-75,966,834),21468=>array(48,-57,961,839),21469=>array(54,-51,962,811),21470=>array(19,-61,953,785),21471=>array(31,-67,969,829),21472=>array(55,-29,954,806),21473=>array(34,-70,971,833),21474=>array(52,-71,945,829),21475=>array(184,5,818,695),21476=>array(83,-71,911,823),21477=>array(65,-51,902,840),21478=>array(78,-70,859,780),21479=>array(78,-70,859,780),21480=>array(124,-76,895,755),21481=>array(120,-65,894,766),21482=>array(58,-40,928,772),21483=>array(113,-64,929,831),21484=>array(76,-70,861,789),21485=>array(95,-65,952,781),21486=>array(98,-66,929,766),21487=>array(98,-64,926,769),21488=>array(124,-51,904,840),21489=>array(116,-25,946,810),21490=>array(63,-65,953,835),21491=>array(69,-62,917,837),21492=>array(43,-47,949,829),21493=>array(121,-13,896,782),21494=>array(90,-53,934,843),21495=>array(65,-59,935,804),21496=>array(111,-63,886,790),21497=>array(98,-70,937,763),21498=>array(107,-42,973,770),21499=>array(132,-65,899,831),21500=>array(116,-54,896,762),21501=>array(99,-66,930,768),21502=>array(135,-57,851,798),21503=>array(93,-37,950,788),21504=>array(98,-40,930,817),21505=>array(98,-67,930,776),21506=>array(102,-65,914,847),21507=>array(98,-26,932,835),21508=>array(57,-65,951,836),21509=>array(106,-56,894,783),21510=>array(96,-63,933,830),21511=>array(98,-67,945,780),21512=>array(40,-73,956,859),21513=>array(64,-72,900,823),21514=>array(157,-70,867,775),21515=>array(104,-61,933,832),21516=>array(118,-75,882,787),21517=>array(56,-67,829,836),21518=>array(44,-64,926,844),21519=>array(71,-76,947,824),21520=>array(99,-19,939,825),21521=>array(133,-75,867,831),21522=>array(72,-32,957,837),21523=>array(104,-65,932,775),21524=>array(104,-23,948,836),21525=>array(162,-70,821,770),21526=>array(104,-64,939,835),21527=>array(99,-58,900,789),21528=>array(97,-68,941,840),21529=>array(103,-72,946,833),21530=>array(103,-75,925,774),21531=>array(46,-70,947,783),21532=>array(95,-39,941,769),21533=>array(52,-66,958,822),21534=>array(53,-72,959,773),21535=>array(90,-71,945,854),21536=>array(92,-69,942,827),21537=>array(83,-49,946,816),21538=>array(58,-50,927,799),21539=>array(102,-6,928,805),21540=>array(108,-69,951,836),21541=>array(112,-71,934,780),21542=>array(48,-70,947,775),21543=>array(95,-29,935,779),21544=>array(86,-41,933,824),21545=>array(95,-62,955,806),21546=>array(91,-50,945,851),21547=>array(37,-65,966,858),21548=>array(104,-58,936,863),21549=>array(100,-68,970,824),21550=>array(99,-73,955,838),21551=>array(47,-58,848,857),21552=>array(97,-67,947,838),21553=>array(95,-70,944,835),21554=>array(96,-76,866,819),21555=>array(72,-67,940,787),21556=>array(43,-72,937,783),21557=>array(99,-74,958,827),21558=>array(106,-68,897,793),21559=>array(94,-74,952,831),21560=>array(98,-68,955,788),21561=>array(109,-70,949,836),21562=>array(116,-71,967,782),21563=>array(102,-72,903,834),21564=>array(89,-68,937,825),21565=>array(99,-51,945,844),21566=>array(70,-72,942,782),21567=>array(67,-67,917,832),21568=>array(98,-65,940,787),21569=>array(106,-62,903,827),21570=>array(180,-77,840,772),21571=>array(87,-69,942,789),21572=>array(74,-61,942,783),21573=>array(96,-74,966,833),21574=>array(51,-68,964,774),21575=>array(69,-66,934,819),21576=>array(77,-17,910,773),21577=>array(53,-71,944,787),21578=>array(67,-67,917,832),21579=>array(96,-69,943,829),21580=>array(116,-55,943,842),21581=>array(111,-51,956,743),21582=>array(116,-66,978,790),21583=>array(97,-66,939,835),21584=>array(101,-60,880,825),21585=>array(53,-72,959,830),21586=>array(100,-68,925,765),21587=>array(100,-26,932,824),21588=>array(79,-68,934,832),21589=>array(94,-7,928,767),21590=>array(91,-70,910,765),21591=>array(99,-74,926,764),21592=>array(84,-81,880,780),21593=>array(157,-68,837,760),21594=>array(111,-68,957,838),21595=>array(111,-31,968,831),21596=>array(101,-62,905,831),21597=>array(93,-64,951,841),21598=>array(97,-63,871,790),21599=>array(110,-65,961,819),21600=>array(97,-70,955,826),21601=>array(95,-70,949,786),21602=>array(100,-71,929,784),21603=>array(93,-63,942,777),21604=>array(89,-83,949,856),21605=>array(98,-60,943,841),21606=>array(98,-74,911,828),21607=>array(94,-63,945,831),21608=>array(39,-67,882,780),21609=>array(109,-54,953,751),21610=>array(109,-60,950,760),21611=>array(109,-60,942,845),21612=>array(108,-65,905,767),21613=>array(98,-14,928,831),21614=>array(108,-66,960,771),21615=>array(99,-67,942,787),21616=>array(84,-68,937,836),21617=>array(90,-68,970,830),21618=>array(102,-60,957,820),21619=>array(90,-65,942,830),21620=>array(108,-68,909,833),21621=>array(98,-65,930,785),21622=>array(79,-71,949,828),21623=>array(115,-62,893,786),21624=>array(94,-20,932,769),21625=>array(95,-49,969,830),21626=>array(106,-60,952,794),21627=>array(105,-67,900,835),21628=>array(98,-67,931,825),21629=>array(33,-73,971,862),21630=>array(104,-28,950,783),21631=>array(95,-61,953,841),21632=>array(94,-31,933,787),21633=>array(122,-66,951,828),21634=>array(89,-21,940,783),21635=>array(83,-34,962,834),21636=>array(115,-70,900,826),21637=>array(81,-68,898,833),21638=>array(107,-36,960,833),21639=>array(104,-28,950,802),21640=>array(89,-59,914,836),21641=>array(89,-74,968,824),21642=>array(89,-34,964,818),21643=>array(108,-70,943,840),21644=>array(53,-70,894,821),21645=>array(111,-65,954,840),21646=>array(39,-68,961,833),21647=>array(79,-63,943,848),21648=>array(90,-70,941,833),21649=>array(89,-51,935,842),21650=>array(54,-75,937,777),21651=>array(97,-34,941,773),21652=>array(97,-70,936,829),21653=>array(91,-67,923,828),21654=>array(104,-64,898,832),21655=>array(94,-3,951,830),21656=>array(97,-67,941,832),21657=>array(100,-59,932,830),21658=>array(86,-80,951,847),21659=>array(102,-68,893,836),21660=>array(102,-42,928,817),21661=>array(90,-7,914,809),21662=>array(98,-67,937,775),21663=>array(102,-64,891,730),21664=>array(51,-65,947,784),21665=>array(103,-50,956,800),21666=>array(61,-53,939,806),21667=>array(99,-68,933,811),21668=>array(80,-42,921,819),21669=>array(106,-30,956,782),21670=>array(90,-71,954,835),21671=>array(106,-67,892,829),21672=>array(64,-74,954,840),21673=>array(96,-64,931,840),21674=>array(82,-65,967,824),21675=>array(35,-71,974,779),21676=>array(98,-72,961,830),21677=>array(91,-65,926,828),21678=>array(107,-70,963,824),21679=>array(90,-65,948,848),21680=>array(117,-71,901,818),21681=>array(119,-70,883,841),21682=>array(119,-73,970,836),21683=>array(88,-60,949,824),21684=>array(100,-67,943,824),21685=>array(84,-63,963,854),21686=>array(110,-68,947,827),21687=>array(88,-62,944,842),21688=>array(58,-66,959,838),21689=>array(91,-51,908,828),21690=>array(91,-23,936,778),21691=>array(88,-63,943,835),21692=>array(119,-55,881,799),21693=>array(103,-64,898,785),21694=>array(105,-30,957,830),21695=>array(99,-69,949,835),21696=>array(47,-68,951,832),21697=>array(116,-66,884,792),21698=>array(91,-64,936,779),21699=>array(108,-69,904,783),21700=>array(90,-72,935,831),21701=>array(102,-61,908,831),21702=>array(106,-80,919,845),21703=>array(108,-25,949,831),21704=>array(84,-66,945,851),21705=>array(74,-60,944,828),21706=>array(104,-75,942,831),21707=>array(95,-27,935,846),21708=>array(85,-71,971,832),21709=>array(97,-55,900,875),21710=>array(103,-66,949,835),21711=>array(108,-73,973,781),21712=>array(99,-26,925,764),21713=>array(102,-18,924,766),21714=>array(87,-46,945,803),21715=>array(103,-63,936,821),21716=>array(98,-64,931,814),21717=>array(99,-61,872,821),21718=>array(93,-52,940,855),21719=>array(86,-60,922,833),21720=>array(103,-71,958,830),21721=>array(100,-47,949,829),21722=>array(81,-77,943,778),21723=>array(51,-69,962,803),21724=>array(101,-70,945,842),21725=>array(88,-62,950,828),21726=>array(108,-70,945,838),21727=>array(75,-59,886,837),21728=>array(110,-65,926,831),21729=>array(62,-62,943,785),21730=>array(89,-52,935,801),21731=>array(120,-14,943,779),21732=>array(87,-55,956,825),21733=>array(70,-60,931,784),21734=>array(84,-67,942,824),21735=>array(81,-66,946,827),21736=>array(109,-69,912,832),21737=>array(100,-15,933,779),21738=>array(107,-74,942,785),21739=>array(113,-73,962,762),21740=>array(78,-55,930,833),21741=>array(64,-71,949,773),21742=>array(92,-68,927,833),21743=>array(118,-65,951,783),21744=>array(80,-44,885,840),21745=>array(98,-65,923,829),21746=>array(63,-62,926,825),21747=>array(99,-81,947,824),21748=>array(108,-73,973,856),21749=>array(82,-69,913,829),21750=>array(88,-64,951,825),21751=>array(103,-70,938,814),21752=>array(94,-74,917,818),21753=>array(92,-68,936,834),21754=>array(87,-70,931,832),21755=>array(102,-66,937,778),21756=>array(95,-68,932,846),21757=>array(91,-74,952,786),21758=>array(95,-64,968,844),21759=>array(65,-62,959,839),21760=>array(110,-62,954,830),21761=>array(97,-62,931,845),21762=>array(116,-52,960,835),21763=>array(116,-66,900,828),21764=>array(101,-66,947,782),21765=>array(87,-45,951,867),21766=>array(101,-69,961,849),21767=>array(53,-76,939,786),21768=>array(88,-30,943,788),21769=>array(94,-68,945,848),21770=>array(106,-66,954,835),21771=>array(112,-62,950,830),21772=>array(98,-74,964,813),21773=>array(113,-74,946,841),21774=>array(98,-52,904,844),21775=>array(84,-62,938,843),21776=>array(44,-71,938,835),21777=>array(92,-36,934,820),21778=>array(88,-65,940,781),21779=>array(116,-71,924,829),21780=>array(99,-70,934,785),21781=>array(100,-48,923,863),21782=>array(82,-23,951,793),21783=>array(103,-65,957,827),21784=>array(34,-60,979,822),21785=>array(112,-57,987,812),21786=>array(97,-62,957,777),21787=>array(101,-66,948,830),21788=>array(59,-37,952,802),21789=>array(104,-62,938,804),21790=>array(92,-65,936,832),21791=>array(95,-37,929,851),21792=>array(91,-72,914,824),21793=>array(109,-61,963,792),21794=>array(104,-62,938,834),21795=>array(86,-29,935,842),21796=>array(74,-73,948,832),21797=>array(97,-46,940,821),21798=>array(97,-67,951,825),21799=>array(110,-70,900,780),21800=>array(80,-44,959,779),21801=>array(99,-73,946,833),21802=>array(74,-65,957,843),21803=>array(74,-27,959,804),21804=>array(87,-70,957,829),21805=>array(104,-71,941,837),21806=>array(42,-67,944,843),21807=>array(97,-65,945,836),21808=>array(100,-64,909,830),21809=>array(115,-68,900,787),21810=>array(107,-79,948,827),21811=>array(82,-69,962,802),21812=>array(106,-71,942,830),21813=>array(112,-44,995,856),21814=>array(113,-66,964,837),21815=>array(94,-75,933,845),21816=>array(78,-35,950,847),21817=>array(81,-56,972,832),21818=>array(110,-74,961,833),21819=>array(104,-65,951,841),21820=>array(113,-68,947,843),21821=>array(92,-67,953,832),21822=>array(84,-30,940,831),21823=>array(92,-28,953,842),21824=>array(105,-73,941,785),21825=>array(103,-66,902,791),21826=>array(93,-76,971,827),21827=>array(97,-70,930,833),21828=>array(84,-63,971,774),21829=>array(95,-67,933,833),21830=>array(55,-56,945,825),21831=>array(39,-73,928,844),21832=>array(111,-65,947,837),21833=>array(76,-76,945,819),21834=>array(93,-66,932,782),21835=>array(109,-66,987,837),21836=>array(86,-31,955,819),21837=>array(84,-57,942,864),21838=>array(46,-67,962,835),21839=>array(119,-71,889,784),21840=>array(89,-62,931,843),21841=>array(84,-77,962,829),21842=>array(113,-68,903,788),21843=>array(54,-60,964,838),21844=>array(91,-60,945,844),21845=>array(111,-62,908,842),21846=>array(83,-62,952,836),21847=>array(123,-65,900,846),21848=>array(104,-72,965,846),21849=>array(85,-55,952,824),21850=>array(77,-66,927,795),21851=>array(83,-73,933,822),21852=>array(83,-68,955,786),21853=>array(76,-67,955,821),21854=>array(91,-25,940,785),21855=>array(35,-68,969,836),21856=>array(88,-60,913,812),21857=>array(95,-66,932,826),21858=>array(109,-61,963,792),21859=>array(83,-68,926,832),21860=>array(91,-69,935,846),21861=>array(97,-70,950,850),21862=>array(91,-64,930,836),21863=>array(90,-72,914,828),21864=>array(90,-66,927,828),21865=>array(121,-63,959,831),21866=>array(110,-64,909,838),21867=>array(115,-65,960,835),21868=>array(63,-66,913,825),21869=>array(94,-66,914,833),21870=>array(79,-63,912,829),21871=>array(82,-68,906,794),21872=>array(86,-71,948,814),21873=>array(86,-48,935,822),21874=>array(104,-50,908,842),21875=>array(86,-30,973,843),21876=>array(115,-58,945,833),21877=>array(105,-64,983,833),21878=>array(86,-72,942,844),21879=>array(94,-64,942,840),21880=>array(91,-65,923,826),21881=>array(91,-80,933,781),21882=>array(91,-72,944,785),21883=>array(92,-67,908,833),21884=>array(90,-67,930,823),21885=>array(114,-59,989,859),21886=>array(76,-66,957,832),21887=>array(110,-30,955,827),21888=>array(95,-69,965,819),21889=>array(93,-58,910,793),21890=>array(108,-69,960,785),21891=>array(92,-67,939,835),21892=>array(56,-70,907,835),21893=>array(92,-18,924,788),21894=>array(82,-50,918,825),21895=>array(112,-67,904,831),21896=>array(86,-65,942,827),21897=>array(88,-74,950,840),21898=>array(92,-72,930,837),21899=>array(83,-65,952,832),21900=>array(52,-71,909,787),21901=>array(104,-69,967,824),21902=>array(112,-67,906,788),21903=>array(84,-59,931,833),21904=>array(79,-81,936,830),21905=>array(97,-65,933,841),21906=>array(92,-48,956,849),21907=>array(110,-72,957,777),21908=>array(91,-70,933,781),21909=>array(110,-66,953,783),21910=>array(97,-66,939,829),21911=>array(85,-68,951,801),21912=>array(81,-67,930,834),21913=>array(85,-60,968,833),21914=>array(79,-65,971,838),21915=>array(91,-67,979,836),21916=>array(86,-63,938,837),21917=>array(105,-55,913,801),21918=>array(77,-73,921,840),21919=>array(116,-61,901,787),21920=>array(97,-32,936,825),21921=>array(107,-71,949,828),21922=>array(107,-71,951,827),21923=>array(52,-74,965,824),21924=>array(90,-18,935,861),21925=>array(110,-71,968,837),21926=>array(132,-68,888,789),21927=>array(79,-26,945,829),21928=>array(86,-73,959,838),21929=>array(76,-71,966,812),21930=>array(75,-73,957,829),21931=>array(96,-55,961,835),21932=>array(50,-71,951,830),21933=>array(88,-53,939,860),21934=>array(53,-68,945,789),21935=>array(89,-59,953,851),21936=>array(90,-72,965,837),21937=>array(90,-70,941,788),21938=>array(107,-65,905,836),21939=>array(82,-28,916,834),21940=>array(72,-71,972,832),21941=>array(75,-62,924,832),21942=>array(94,-63,906,834),21943=>array(110,-67,925,831),21944=>array(65,-77,959,841),21945=>array(90,-26,953,851),21946=>array(112,-62,982,834),21947=>array(80,-70,948,858),21948=>array(110,-32,970,846),21949=>array(90,-66,936,807),21950=>array(82,-66,893,826),21951=>array(50,-69,961,780),21952=>array(49,-72,955,829),21953=>array(88,-64,946,839),21954=>array(108,-72,960,845),21955=>array(94,-68,938,838),21956=>array(82,-62,954,790),21957=>array(88,-73,945,845),21958=>array(84,-65,947,847),21959=>array(56,-75,946,832),21960=>array(107,-29,963,826),21961=>array(87,-64,944,831),21962=>array(110,-68,962,791),21963=>array(106,-70,933,838),21964=>array(98,-22,946,841),21965=>array(108,-70,907,835),21966=>array(104,-68,909,783),21967=>array(112,-68,977,827),21968=>array(118,-70,954,847),21969=>array(88,-21,941,830),21970=>array(76,-64,944,830),21971=>array(81,-73,961,793),21972=>array(90,-85,963,851),21973=>array(95,-68,963,784),21974=>array(92,-70,962,828),21975=>array(105,-70,937,783),21976=>array(84,-59,963,851),21977=>array(111,-64,956,841),21978=>array(118,-56,916,846),21979=>array(95,-56,970,863),21980=>array(95,-69,943,834),21981=>array(92,-64,930,788),21982=>array(119,-66,961,837),21983=>array(89,-27,938,840),21984=>array(48,-81,960,829),21985=>array(83,-71,955,791),21986=>array(100,-36,950,780),21987=>array(112,-68,910,786),21988=>array(92,-70,938,827),21989=>array(84,-68,957,844),21990=>array(80,-68,942,829),21991=>array(34,-75,973,842),21992=>array(83,-68,939,836),21993=>array(91,-67,946,836),21994=>array(90,-70,954,835),21995=>array(89,-66,943,776),21996=>array(93,-70,942,830),21997=>array(91,-37,929,849),21998=>array(63,-57,939,788),21999=>array(87,-39,950,782),22000=>array(68,-75,913,845),22001=>array(90,-68,974,862),22002=>array(71,-57,940,845),22003=>array(90,-67,949,822),22004=>array(72,-54,969,835),22005=>array(88,-54,942,772),22006=>array(83,-68,935,787),22007=>array(86,-64,964,832),22008=>array(58,-57,951,854),22009=>array(83,-56,963,827),22010=>array(117,-68,956,831),22011=>array(98,-69,961,841),22012=>array(118,-72,972,829),22013=>array(82,-76,950,834),22014=>array(79,-68,961,837),22015=>array(115,-78,962,841),22016=>array(87,-73,927,846),22017=>array(76,-68,943,835),22018=>array(121,-68,894,823),22019=>array(83,-70,949,841),22020=>array(83,-70,958,845),22021=>array(82,-64,964,788),22022=>array(83,-72,964,832),22023=>array(101,-80,965,846),22024=>array(91,-72,935,830),22025=>array(50,-65,957,833),22026=>array(85,-68,938,834),22027=>array(73,-78,972,839),22028=>array(91,-70,940,789),22029=>array(90,-74,933,832),22030=>array(86,-67,946,784),22031=>array(60,-66,960,812),22032=>array(91,-50,966,801),22033=>array(106,-70,913,836),22034=>array(99,-25,956,835),22035=>array(102,-63,906,799),22036=>array(90,-73,949,805),22037=>array(116,-64,951,785),22038=>array(84,-74,947,832),22039=>array(109,-67,905,836),22040=>array(91,-68,924,823),22041=>array(81,-73,926,836),22042=>array(101,-70,946,824),22043=>array(74,-75,975,833),22044=>array(106,-61,981,840),22045=>array(96,-70,941,832),22046=>array(103,-70,911,832),22047=>array(91,-68,933,822),22048=>array(81,-54,956,804),22049=>array(89,-23,939,836),22050=>array(106,-59,962,800),22051=>array(86,-65,883,814),22052=>array(91,-64,927,789),22053=>array(84,-65,973,831),22054=>array(27,-86,973,836),22055=>array(90,-64,945,848),22056=>array(91,-65,923,826),22057=>array(81,-68,945,831),22058=>array(106,-83,953,780),22059=>array(84,-71,949,831),22060=>array(77,-72,959,809),22061=>array(91,-59,924,827),22062=>array(95,-69,923,833),22063=>array(79,-77,949,843),22064=>array(86,-65,947,833),22065=>array(89,-72,891,780),22066=>array(79,-75,906,830),22067=>array(113,-80,964,832),22068=>array(91,-65,950,828),22069=>array(76,-67,944,835),22070=>array(93,-65,930,837),22071=>array(100,-48,948,863),22072=>array(80,-63,948,847),22073=>array(86,-67,952,845),22074=>array(115,-66,990,830),22075=>array(90,-69,933,833),22076=>array(77,-67,926,796),22077=>array(107,-68,956,785),22078=>array(111,-71,958,780),22079=>array(82,-68,937,783),22080=>array(113,-80,964,781),22081=>array(85,-48,959,768),22082=>array(92,-64,950,856),22083=>array(110,-63,971,841),22084=>array(77,-68,945,831),22085=>array(109,-70,922,834),22086=>array(113,-69,978,783),22087=>array(103,-36,934,841),22088=>array(98,-68,967,836),22089=>array(106,-68,983,837),22090=>array(108,-67,940,784),22091=>array(88,-73,973,837),22092=>array(92,-73,905,835),22093=>array(85,-71,944,843),22094=>array(87,-23,937,839),22095=>array(106,-63,991,858),22096=>array(64,-70,933,795),22097=>array(90,-62,948,840),22098=>array(86,-74,954,832),22099=>array(93,-76,936,832),22100=>array(79,-11,956,855),22101=>array(61,-77,904,856),22102=>array(82,-68,947,790),22103=>array(82,-61,951,830),22104=>array(80,-62,967,796),22105=>array(95,-70,966,851),22106=>array(109,-72,957,779),22107=>array(86,-68,940,829),22108=>array(80,-61,947,828),22109=>array(80,-64,945,834),22110=>array(79,-72,950,855),22111=>array(39,-72,934,844),22112=>array(78,-67,946,835),22113=>array(90,-59,956,849),22114=>array(80,-68,947,853),22115=>array(122,-75,936,779),22116=>array(81,-62,971,832),22117=>array(80,-72,955,835),22118=>array(104,-64,970,838),22119=>array(80,-68,932,830),22120=>array(49,-62,956,798),22121=>array(51,-23,944,789),22122=>array(80,-70,954,792),22123=>array(88,-32,949,825),22124=>array(92,-27,941,838),22125=>array(83,-57,964,864),22126=>array(104,-81,973,782),22127=>array(84,-75,954,830),22128=>array(99,-70,954,848),22129=>array(80,-68,954,833),22130=>array(74,-66,959,853),22131=>array(99,-73,975,833),22132=>array(85,-76,956,838),22133=>array(70,-72,942,847),22134=>array(84,-68,934,834),22135=>array(101,-76,980,838),22136=>array(76,-70,961,827),22137=>array(106,-53,918,841),22138=>array(83,-61,962,832),22139=>array(77,-38,964,839),22140=>array(95,-68,948,842),22141=>array(74,-63,953,835),22142=>array(106,-70,944,833),22143=>array(102,-71,941,780),22144=>array(89,-69,944,838),22145=>array(115,-68,951,785),22146=>array(92,-39,927,821),22147=>array(95,-76,957,828),22148=>array(79,-53,951,842),22149=>array(84,-65,936,789),22150=>array(83,-62,937,835),22151=>array(81,-68,956,834),22152=>array(65,-71,975,797),22153=>array(81,-61,952,835),22154=>array(91,-67,962,856),22155=>array(91,-65,968,833),22156=>array(100,-77,949,832),22157=>array(98,-33,938,821),22158=>array(91,-67,959,848),22159=>array(75,-64,947,837),22160=>array(92,-52,916,850),22161=>array(92,-62,966,828),22162=>array(81,-78,946,835),22163=>array(92,-70,962,839),22164=>array(75,-80,951,836),22165=>array(84,-69,943,846),22166=>array(82,-36,955,832),22167=>array(104,-66,984,787),22168=>array(91,-72,946,784),22169=>array(92,-70,934,830),22170=>array(111,-52,914,803),22171=>array(81,-69,972,847),22172=>array(84,-20,957,794),22173=>array(91,-80,925,841),22174=>array(41,-68,958,841),22175=>array(118,-48,989,844),22176=>array(72,-62,922,834),22177=>array(69,-67,954,833),22178=>array(57,-70,961,833),22179=>array(36,-64,942,786),22180=>array(75,-78,934,835),22181=>array(82,-60,949,830),22182=>array(78,-65,939,790),22183=>array(90,-71,947,828),22184=>array(79,-70,944,837),22185=>array(86,-68,933,835),22186=>array(98,-70,906,780),22187=>array(89,-69,966,842),22188=>array(92,-64,958,842),22189=>array(74,-63,967,835),22190=>array(43,-68,949,845),22191=>array(88,-66,914,784),22192=>array(103,-68,955,838),22193=>array(77,-68,963,835),22194=>array(55,-65,960,845),22195=>array(58,-64,955,841),22196=>array(46,-62,964,817),22197=>array(85,-59,948,846),22198=>array(82,-65,935,788),22199=>array(89,-69,968,842),22200=>array(74,-74,917,829),22201=>array(63,-72,959,834),22202=>array(67,-63,956,805),22203=>array(106,-60,919,794),22204=>array(76,-76,960,844),22205=>array(76,-75,948,833),22206=>array(92,-64,940,828),22207=>array(71,-67,939,834),22208=>array(84,-64,947,832),22209=>array(80,-66,950,807),22210=>array(55,-77,961,779),22211=>array(87,-65,954,831),22212=>array(83,-71,938,843),22213=>array(57,-66,969,792),22214=>array(87,-81,946,834),22215=>array(111,-68,957,790),22216=>array(82,-75,950,831),22217=>array(98,-65,962,796),22218=>array(72,-75,951,834),22219=>array(92,-74,947,824),22220=>array(88,-52,965,842),22221=>array(55,-51,949,839),22222=>array(64,-62,972,832),22223=>array(50,-68,944,839),22224=>array(75,-78,957,830),22225=>array(88,-74,929,817),22226=>array(74,-57,948,839),22227=>array(87,-52,945,845),22228=>array(78,-70,959,831),22229=>array(83,-77,953,832),22230=>array(74,-51,958,858),22231=>array(133,-54,879,781),22232=>array(129,-52,871,778),22233=>array(123,-30,865,754),22234=>array(132,-73,868,776),22235=>array(121,-35,879,744),22236=>array(123,-30,865,754),22237=>array(107,-65,886,789),22238=>array(129,-30,871,754),22239=>array(74,-68,863,839),22240=>array(130,-64,870,793),22241=>array(121,-64,895,788),22242=>array(109,-64,865,785),22243=>array(122,-64,878,785),22244=>array(110,-72,891,784),22245=>array(121,-67,894,784),22246=>array(113,-67,887,788),22247=>array(120,-67,892,785),22248=>array(121,-65,894,786),22249=>array(121,-67,894,784),22250=>array(138,-67,879,849),22251=>array(101,-68,901,788),22252=>array(111,-53,877,754),22253=>array(95,-63,900,791),22254=>array(99,-51,894,799),22255=>array(128,-59,884,789),22256=>array(114,-65,886,784),22257=>array(138,-67,879,849),22258=>array(122,-59,878,789),22259=>array(121,-70,879,781),22260=>array(109,-70,866,782),22261=>array(106,-63,863,776),22262=>array(122,-59,878,789),22263=>array(122,-68,905,791),22264=>array(115,-64,907,788),22265=>array(105,-64,897,788),22266=>array(115,-70,885,785),22267=>array(115,-70,885,785),22268=>array(115,-70,885,785),22269=>array(122,-59,878,789),22270=>array(110,-66,866,784),22271=>array(96,-68,892,789),22272=>array(106,-65,894,784),22273=>array(116,-69,903,774),22274=>array(112,-67,897,782),22275=>array(106,-70,905,789),22276=>array(101,-66,896,788),22277=>array(116,-69,873,794),22278=>array(112,-68,865,774),22279=>array(102,-67,896,788),22280=>array(105,-69,895,791),22281=>array(113,-65,900,790),22282=>array(107,-65,906,796),22283=>array(109,-67,890,780),22284=>array(96,-53,900,797),22285=>array(102,-61,905,784),22286=>array(116,-69,903,774),22287=>array(107,-69,896,785),22288=>array(111,-69,908,779),22289=>array(111,-69,898,774),22290=>array(102,-70,898,790),22291=>array(113,-71,899,787),22292=>array(103,-71,900,781),22293=>array(116,-69,903,774),22294=>array(119,-68,906,794),22295=>array(119,-68,906,794),22296=>array(112,-64,903,788),22297=>array(116,-69,903,774),22298=>array(93,-54,893,809),22299=>array(95,-53,893,806),22300=>array(98,-67,902,796),22301=>array(106,-69,894,774),22302=>array(99,-65,901,790),22303=>array(78,-13,922,810),22304=>array(59,-58,957,806),22305=>array(100,-15,895,796),22306=>array(54,-59,939,796),22307=>array(61,-29,960,776),22308=>array(53,-59,961,814),22309=>array(89,-67,934,778),22310=>array(68,-55,944,741),22311=>array(37,-63,913,770),22312=>array(49,-65,921,836),22313=>array(42,-64,949,793),22314=>array(55,-62,953,800),22315=>array(49,-55,930,790),22316=>array(49,-78,951,791),22317=>array(73,-39,927,809),22318=>array(43,-58,945,786),22319=>array(39,-53,954,776),22320=>array(56,-52,935,808),22321=>array(58,-58,952,817),22322=>array(50,-45,943,796),22323=>array(56,-71,907,785),22324=>array(68,-61,917,788),22325=>array(44,-59,948,781),22326=>array(60,-61,953,805),22327=>array(44,-65,932,788),22328=>array(59,-56,897,789),22329=>array(39,-63,912,832),22330=>array(29,-63,897,808),22331=>array(62,-64,948,810),22332=>array(84,-41,938,785),22333=>array(62,-72,903,794),22334=>array(40,-71,956,796),22335=>array(50,-63,967,802),22336=>array(44,-32,949,786),22337=>array(43,-69,952,800),22338=>array(43,-70,966,785),22339=>array(51,-68,958,774),22340=>array(44,-66,967,793),22341=>array(48,-60,972,811),22342=>array(38,-63,970,799),22343=>array(50,-63,906,831),22344=>array(44,-72,946,793),22345=>array(44,-59,944,806),22346=>array(41,-77,953,827),22347=>array(58,-78,967,798),22348=>array(53,-24,947,804),22349=>array(43,-71,948,799),22350=>array(48,-66,962,810),22351=>array(40,-55,968,790),22352=>array(73,-29,927,806),22353=>array(47,-67,951,813),22354=>array(57,-43,952,809),22355=>array(57,-29,952,813),22356=>array(57,-49,974,792),22357=>array(57,-59,952,805),22358=>array(28,-54,961,768),22359=>array(33,-70,947,834),22360=>array(43,-58,951,765),22361=>array(57,-54,952,758),22362=>array(52,-19,932,831),22363=>array(43,-38,939,816),22364=>array(41,-69,912,804),22365=>array(33,-58,943,798),22366=>array(35,-67,902,832),22367=>array(41,-60,955,852),22368=>array(62,-14,926,821),22369=>array(48,-71,963,812),22370=>array(46,-67,945,801),22371=>array(84,-14,933,777),22372=>array(65,-48,908,805),22373=>array(65,-32,933,771),22374=>array(48,-21,952,786),22375=>array(65,-49,936,791),22376=>array(60,-60,952,806),22377=>array(39,-68,945,796),22378=>array(50,-67,947,794),22379=>array(38,-52,904,794),22380=>array(56,-67,980,834),22381=>array(46,-83,953,777),22382=>array(53,-58,964,823),22383=>array(42,-14,948,785),22384=>array(59,-67,914,782),22385=>array(43,-70,957,797),22386=>array(60,-71,925,810),22387=>array(61,-71,920,835),22388=>array(60,-56,944,800),22389=>array(45,-18,953,824),22390=>array(40,-65,943,817),22391=>array(48,-61,947,807),22392=>array(56,-54,909,849),22393=>array(45,-60,958,843),22394=>array(45,-69,955,836),22395=>array(56,-63,954,828),22396=>array(51,-67,941,832),22397=>array(67,-66,968,847),22398=>array(75,-61,918,836),22399=>array(71,-79,945,842),22400=>array(56,-63,940,828),22401=>array(56,-60,967,828),22402=>array(73,-32,927,826),22403=>array(49,-11,952,838),22404=>array(47,-31,941,829),22405=>array(37,-67,929,824),22406=>array(35,-66,911,826),22407=>array(30,-65,903,755),22408=>array(34,-32,946,833),22409=>array(46,-28,955,840),22410=>array(70,-61,939,786),22411=>array(59,-25,953,827),22412=>array(30,-70,898,781),22413=>array(55,-70,883,841),22414=>array(30,-65,948,848),22415=>array(55,-71,954,823),22416=>array(56,-36,926,853),22417=>array(50,-58,920,844),22418=>array(52,-36,926,814),22419=>array(37,-63,949,834),22420=>array(59,-20,954,790),22421=>array(59,-11,954,831),22422=>array(67,-43,904,842),22423=>array(37,-54,956,840),22424=>array(50,-73,963,822),22425=>array(43,-52,962,842),22426=>array(49,-11,953,842),22427=>array(43,-65,965,809),22428=>array(58,-62,949,809),22429=>array(46,-57,963,850),22430=>array(42,-43,953,839),22431=>array(51,-73,955,821),22432=>array(37,-68,952,809),22433=>array(34,-32,946,833),22434=>array(50,-69,932,833),22435=>array(47,-14,947,808),22436=>array(31,-22,931,811),22437=>array(49,-70,960,827),22438=>array(75,-27,949,790),22439=>array(38,-77,891,842),22440=>array(48,-59,954,843),22441=>array(50,-8,922,764),22442=>array(41,-70,949,839),22443=>array(32,-11,932,830),22444=>array(41,-72,946,831),22445=>array(43,-6,923,808),22446=>array(41,-66,965,842),22447=>array(40,-49,942,793),22448=>array(51,-64,940,835),22449=>array(41,-60,883,826),22450=>array(41,-27,941,813),22451=>array(45,-67,956,833),22452=>array(40,-66,923,832),22453=>array(50,-72,951,832),22454=>array(59,-65,948,833),22455=>array(56,-65,944,783),22456=>array(51,-67,959,857),22457=>array(43,-68,943,827),22458=>array(49,-68,954,817),22459=>array(49,-72,960,804),22460=>array(63,-24,969,822),22461=>array(55,-15,951,846),22462=>array(54,-64,955,800),22463=>array(53,-66,941,833),22464=>array(97,-32,916,829),22465=>array(57,-70,958,821),22466=>array(46,-70,959,791),22467=>array(50,-71,956,845),22468=>array(46,-65,949,846),22469=>array(65,-24,959,842),22470=>array(63,-71,906,824),22471=>array(51,-61,893,811),22472=>array(46,-68,953,836),22473=>array(46,-73,945,836),22474=>array(55,-15,951,842),22475=>array(39,-25,943,793),22476=>array(54,-74,955,827),22477=>array(61,-67,903,791),22478=>array(41,-68,951,834),22479=>array(36,-64,964,829),22480=>array(50,-62,970,814),22481=>array(55,-30,951,831),22482=>array(47,-62,945,827),22483=>array(61,-65,956,806),22484=>array(40,-68,948,833),22485=>array(55,-20,959,814),22486=>array(59,-48,962,832),22487=>array(43,-56,945,835),22488=>array(39,-64,923,826),22489=>array(43,-70,938,806),22490=>array(31,-67,892,802),22491=>array(31,-51,915,802),22492=>array(48,-27,967,817),22493=>array(17,-43,964,849),22494=>array(26,-58,966,848),22495=>array(36,-69,965,835),22496=>array(39,-68,959,854),22497=>array(53,-20,959,821),22498=>array(47,-48,959,823),22499=>array(48,-65,951,822),22500=>array(39,-56,961,860),22501=>array(53,-67,959,835),22502=>array(32,-61,959,855),22503=>array(32,-52,952,820),22504=>array(26,-65,974,853),22505=>array(46,-60,954,836),22506=>array(42,-12,944,831),22507=>array(56,-62,907,839),22508=>array(51,-73,965,824),22509=>array(35,-64,949,835),22510=>array(48,-72,971,829),22511=>array(45,-30,945,829),22512=>array(46,-62,959,833),22513=>array(45,-74,963,830),22514=>array(50,-68,976,841),22515=>array(62,-68,899,831),22516=>array(35,-67,953,835),22517=>array(47,-50,959,812),22518=>array(32,-67,973,831),22519=>array(57,-69,960,833),22520=>array(55,-67,911,818),22521=>array(36,-65,938,835),22522=>array(36,-28,980,832),22523=>array(46,-67,951,835),22524=>array(52,-64,958,836),22525=>array(42,-69,948,801),22526=>array(52,-27,945,792),22527=>array(67,-27,945,850),22528=>array(48,-65,906,818),22529=>array(47,-67,966,808),22530=>array(84,-14,933,832),22531=>array(52,-23,958,855),22532=>array(53,-67,956,838),22533=>array(56,-22,944,784),22534=>array(45,-73,950,834),22535=>array(60,-22,954,833),22536=>array(56,-48,911,828),22537=>array(45,-58,947,835),22538=>array(68,-12,951,794),22539=>array(41,-55,907,820),22540=>array(57,-69,901,803),22541=>array(42,-69,962,837),22542=>array(44,-70,963,833),22543=>array(63,-23,958,855),22544=>array(50,-71,956,804),22545=>array(45,-29,924,826),22546=>array(53,-49,970,789),22547=>array(57,-67,927,829),22548=>array(52,-67,966,811),22549=>array(58,-19,912,828),22550=>array(55,-65,920,841),22551=>array(26,-65,944,844),22552=>array(76,-28,972,835),22553=>array(32,-25,953,810),22554=>array(51,-65,936,787),22555=>array(54,-67,953,806),22556=>array(53,-67,966,832),22557=>array(64,-67,915,799),22558=>array(37,-65,970,833),22559=>array(59,-63,945,840),22560=>array(35,-72,966,840),22561=>array(38,-19,933,830),22562=>array(50,-70,944,836),22563=>array(66,-68,922,803),22564=>array(48,-70,966,793),22565=>array(54,-12,965,828),22566=>array(40,-50,956,844),22567=>array(35,-51,968,821),22568=>array(60,-69,924,807),22569=>array(38,-71,951,823),22570=>array(32,-68,946,829),22571=>array(38,-68,969,829),22572=>array(56,-70,976,836),22573=>array(66,-32,967,824),22574=>array(60,-69,952,800),22575=>array(43,-65,962,837),22576=>array(44,-62,956,807),22577=>array(65,-67,966,832),22578=>array(67,-16,963,770),22579=>array(43,-52,907,820),22580=>array(42,-63,948,788),22581=>array(39,-68,940,833),22582=>array(58,-67,952,835),22583=>array(52,-70,951,843),22584=>array(56,-71,973,803),22585=>array(50,-25,949,839),22586=>array(60,-66,971,829),22587=>array(49,-29,951,827),22588=>array(47,-16,954,826),22589=>array(54,-64,954,804),22590=>array(52,-64,978,842),22591=>array(58,-71,956,821),22592=>array(40,-69,955,804),22593=>array(55,-27,945,815),22594=>array(40,-26,961,826),22595=>array(40,-68,950,835),22596=>array(35,-66,911,804),22597=>array(45,-72,971,829),22598=>array(54,-60,944,846),22599=>array(50,-27,927,842),22600=>array(59,-16,958,794),22601=>array(50,-73,973,829),22602=>array(47,-68,965,841),22603=>array(64,-17,940,831),22604=>array(46,-68,915,796),22605=>array(28,-55,972,835),22606=>array(52,-71,960,831),22607=>array(39,-41,952,816),22608=>array(36,-64,980,833),22609=>array(53,-11,948,833),22610=>array(36,-65,956,829),22611=>array(56,-71,964,806),22612=>array(42,-69,963,829),22613=>array(54,-68,976,827),22614=>array(49,-65,964,842),22615=>array(46,-17,970,856),22616=>array(44,-69,948,819),22617=>array(42,-63,944,841),22618=>array(37,-60,973,807),22619=>array(53,-70,965,805),22620=>array(41,-60,965,807),22621=>array(55,-66,951,834),22622=>array(48,-30,949,830),22623=>array(55,-40,963,811),22624=>array(50,-60,961,834),22625=>array(52,-61,927,834),22626=>array(62,-60,928,839),22627=>array(58,-31,953,817),22628=>array(54,-70,967,818),22629=>array(59,-69,954,803),22630=>array(64,-46,953,815),22631=>array(54,-8,954,859),22632=>array(37,-67,966,826),22633=>array(49,-34,950,831),22634=>array(49,-65,934,836),22635=>array(47,-69,946,836),22636=>array(35,-68,948,785),22637=>array(47,-30,959,809),22638=>array(47,-64,965,849),22639=>array(63,-67,921,835),22640=>array(52,-46,951,840),22641=>array(57,-26,951,847),22642=>array(33,-56,941,850),22643=>array(53,-66,961,844),22644=>array(56,-71,906,831),22645=>array(44,-49,943,834),22646=>array(54,-69,959,838),22647=>array(56,-64,958,839),22648=>array(53,-26,940,803),22649=>array(53,-24,959,833),22650=>array(48,-69,954,835),22651=>array(46,-73,969,820),22652=>array(42,-66,961,830),22653=>array(34,-58,967,839),22654=>array(49,-34,952,831),22655=>array(33,-62,951,846),22656=>array(43,-71,957,810),22657=>array(52,-64,983,817),22658=>array(47,-70,957,804),22659=>array(39,-65,960,828),22660=>array(51,-65,961,838),22661=>array(52,-25,945,789),22662=>array(56,-69,942,823),22663=>array(53,-71,953,838),22664=>array(52,-64,920,831),22665=>array(28,-64,962,821),22666=>array(63,-26,958,838),22667=>array(60,-68,953,841),22668=>array(46,-67,962,851),22669=>array(58,-38,964,846),22670=>array(46,-69,950,836),22671=>array(45,-43,943,847),22672=>array(56,-32,956,823),22673=>array(48,-65,954,842),22674=>array(19,-80,923,826),22675=>array(45,-40,954,834),22676=>array(45,-58,945,839),22677=>array(40,-60,962,801),22678=>array(40,-69,949,837),22679=>array(38,-73,905,835),22680=>array(39,-67,969,833),22681=>array(38,-71,927,821),22682=>array(29,-68,947,821),22683=>array(34,-72,968,812),22684=>array(60,-35,968,847),22685=>array(39,-57,963,847),22686=>array(52,-62,961,830),22687=>array(31,-64,911,827),22688=>array(48,-70,960,804),22689=>array(40,-69,953,836),22690=>array(49,-64,959,843),22691=>array(36,-76,965,827),22692=>array(29,-69,953,836),22693=>array(49,-32,962,843),22694=>array(52,-63,932,827),22695=>array(55,-61,976,836),22696=>array(56,-43,949,816),22697=>array(38,-68,964,826),22698=>array(43,-52,969,831),22699=>array(41,-72,950,834),22700=>array(67,-27,967,844),22701=>array(32,-24,947,826),22702=>array(67,-15,956,857),22703=>array(34,-33,954,847),22704=>array(49,-67,954,806),22705=>array(39,-32,981,828),22706=>array(30,-62,954,845),22707=>array(43,-76,962,838),22708=>array(47,-57,950,831),22709=>array(60,-69,933,779),22710=>array(47,-68,963,833),22711=>array(35,-68,945,831),22712=>array(52,-62,938,842),22713=>array(52,-67,924,787),22714=>array(32,-64,972,851),22715=>array(52,-68,950,833),22716=>array(56,-33,977,831),22717=>array(46,-75,977,846),22718=>array(64,-25,960,828),22719=>array(56,-70,962,806),22720=>array(26,-69,962,845),22721=>array(62,-26,957,831),22722=>array(36,-38,964,780),22723=>array(43,-26,944,788),22724=>array(44,-32,959,832),22725=>array(62,-32,953,851),22726=>array(79,-34,951,826),22727=>array(43,-34,947,835),22728=>array(50,-68,987,830),22729=>array(47,-72,969,833),22730=>array(48,-71,965,839),22731=>array(61,-65,918,832),22732=>array(35,-79,966,837),22733=>array(41,-32,953,791),22734=>array(38,-54,969,857),22735=>array(49,-34,951,823),22736=>array(53,-35,962,794),22737=>array(46,-26,962,836),22738=>array(44,-18,956,834),22739=>array(42,-45,953,807),22740=>array(41,-55,949,840),22741=>array(43,-62,965,828),22742=>array(31,-51,947,818),22743=>array(36,-35,954,823),22744=>array(59,-28,949,783),22745=>array(52,-77,967,847),22746=>array(61,-66,969,836),22747=>array(53,-65,920,806),22748=>array(35,-60,951,808),22749=>array(36,-65,973,826),22750=>array(51,-63,970,844),22751=>array(57,-24,950,849),22752=>array(29,-68,952,841),22753=>array(29,-64,964,843),22754=>array(46,-65,959,820),22755=>array(38,-64,963,831),22756=>array(42,-61,951,837),22757=>array(42,-70,948,791),22758=>array(59,-70,953,829),22759=>array(33,-72,957,811),22760=>array(71,-28,941,781),22761=>array(59,-71,932,793),22762=>array(31,-75,959,848),22763=>array(103,28,894,796),22764=>array(49,-18,951,796),22765=>array(75,-58,888,834),22766=>array(41,-63,913,829),22767=>array(33,-69,948,820),22768=>array(47,-55,927,837),22769=>array(74,-40,927,846),22770=>array(62,-58,933,846),22771=>array(42,-58,955,846),22772=>array(59,-17,951,826),22773=>array(52,-34,969,842),22774=>array(59,-9,909,834),22775=>array(55,-21,948,835),22776=>array(59,-38,909,834),22777=>array(55,-21,948,835),22778=>array(72,-32,947,831),22779=>array(50,-50,972,806),22780=>array(55,-23,953,830),22781=>array(55,-61,951,836),22782=>array(49,-18,950,829),22783=>array(62,-72,954,845),22784=>array(55,-61,951,836),22785=>array(95,-62,932,847),22786=>array(59,-46,954,826),22787=>array(67,-64,923,791),22788=>array(18,-67,935,818),22789=>array(30,-82,946,827),22790=>array(51,-71,955,833),22791=>array(43,-63,930,827),22792=>array(37,-60,961,832),22793=>array(58,-62,959,830),22794=>array(55,-41,952,812),22795=>array(71,-67,937,842),22796=>array(54,-64,969,833),22797=>array(55,-65,954,829),22798=>array(60,-67,967,829),22799=>array(53,-65,954,812),22800=>array(84,-66,945,844),22801=>array(53,-65,961,843),22802=>array(46,-67,954,795),22803=>array(55,-67,965,823),22804=>array(36,-53,948,841),22805=>array(95,-71,856,842),22806=>array(41,-65,967,836),22807=>array(46,-66,945,828),22808=>array(57,-59,872,844),22809=>array(24,-66,968,789),22810=>array(89,-68,911,849),22811=>array(107,-81,928,807),22812=>array(45,-65,959,828),22813=>array(29,-47,965,804),22814=>array(119,-58,929,821),22815=>array(14,-59,907,842),22816=>array(66,-65,921,847),22817=>array(66,-65,953,847),22818=>array(59,-73,928,839),22819=>array(71,-73,915,845),22820=>array(58,-76,942,848),22821=>array(22,-69,925,840),22822=>array(50,-69,952,823),22823=>array(85,-43,933,837),22824=>array(55,-63,950,845),22825=>array(61,-51,947,778),22826=>array(83,-48,941,834),22827=>array(74,-51,943,834),22828=>array(29,-57,979,840),22829=>array(84,-55,931,798),22830=>array(54,-70,968,826),22831=>array(58,-66,957,835),22832=>array(76,-70,953,835),22833=>array(86,-70,941,829),22834=>array(33,-62,947,835),22835=>array(54,-7,946,839),22836=>array(62,-59,913,831),22837=>array(43,-61,945,835),22838=>array(36,-71,969,824),22839=>array(58,-68,953,835),22840=>array(29,-70,982,855),22841=>array(29,-59,936,830),22842=>array(33,-59,947,835),22843=>array(21,-58,937,835),22844=>array(60,-67,955,835),22845=>array(66,-71,957,835),22846=>array(69,-64,955,834),22847=>array(53,-45,957,835),22848=>array(53,-62,982,783),22849=>array(40,-31,954,821),22850=>array(50,-67,958,832),22851=>array(67,-88,958,847),22852=>array(32,-44,976,842),22853=>array(59,-67,965,838),22854=>array(66,-41,957,835),22855=>array(60,-65,929,840),22856=>array(62,-62,960,848),22857=>array(44,-72,958,840),22858=>array(59,-74,964,831),22859=>array(21,-58,937,835),22860=>array(37,-60,963,828),22861=>array(35,-60,972,843),22862=>array(36,-22,961,851),22863=>array(46,-77,954,840),22864=>array(39,-66,966,841),22865=>array(43,-70,957,830),22866=>array(36,-65,974,838),22867=>array(57,-65,965,829),22868=>array(48,-71,970,835),22869=>array(53,-57,972,843),22870=>array(30,-59,954,839),22871=>array(43,-65,966,844),22872=>array(42,-65,955,829),22873=>array(29,-60,975,848),22874=>array(54,-68,960,839),22875=>array(26,-68,997,841),22876=>array(47,-69,970,836),22877=>array(70,-82,962,836),22878=>array(47,-75,976,833),22879=>array(41,-59,974,840),22880=>array(40,-71,959,829),22881=>array(44,-64,973,793),22882=>array(36,-68,970,840),22883=>array(51,-78,971,807),22884=>array(26,-77,972,837),22885=>array(39,-73,961,840),22886=>array(44,-66,960,839),22887=>array(47,-72,968,842),22888=>array(39,-64,970,852),22889=>array(32,-22,966,845),22890=>array(30,-65,967,843),22891=>array(40,-71,968,844),22892=>array(39,-64,970,847),22893=>array(35,-63,982,839),22894=>array(51,-69,960,849),22895=>array(29,-80,983,839),22896=>array(40,-73,967,781),22897=>array(48,-66,966,839),22898=>array(42,-72,961,832),22899=>array(86,-53,911,836),22900=>array(64,-67,949,819),22901=>array(52,-63,948,840),22902=>array(68,-70,920,821),22903=>array(63,-63,958,833),22904=>array(69,-65,959,836),22905=>array(40,-56,948,836),22906=>array(100,-70,972,832),22907=>array(65,-64,951,828),22908=>array(64,-55,958,831),22909=>array(52,-67,961,818),22910=>array(62,-65,912,829),22911=>array(44,-60,961,830),22912=>array(63,-66,944,821),22913=>array(66,-59,919,844),22914=>array(71,-74,897,815),22915=>array(29,-52,945,840),22916=>array(54,-72,942,836),22917=>array(77,-53,964,816),22918=>array(31,-67,938,824),22919=>array(47,-62,861,833),22920=>array(46,-61,914,828),22921=>array(61,-71,955,832),22922=>array(51,-72,935,832),22923=>array(76,-72,962,833),22924=>array(64,-69,954,837),22925=>array(51,-67,952,837),22926=>array(56,-72,974,840),22927=>array(74,-66,972,842),22928=>array(53,-56,974,841),22929=>array(49,-54,941,849),22930=>array(62,-68,934,839),22931=>array(57,-69,961,836),22932=>array(47,-64,957,853),22933=>array(57,-66,891,838),22934=>array(47,-70,957,830),22935=>array(39,-66,966,850),22936=>array(45,-69,958,830),22937=>array(53,-67,952,835),22938=>array(49,-64,966,840),22939=>array(66,-44,940,823),22940=>array(58,-69,955,831),22941=>array(39,-63,961,835),22942=>array(45,-50,956,827),22943=>array(66,-59,920,785),22944=>array(61,-66,917,835),22945=>array(57,-70,946,837),22946=>array(50,-67,971,836),22947=>array(52,-48,966,839),22948=>array(46,-62,951,830),22949=>array(67,-71,903,834),22950=>array(44,-66,951,836),22951=>array(53,-68,955,836),22952=>array(55,-77,951,829),22953=>array(53,-64,935,824),22954=>array(36,-66,913,818),22955=>array(36,-64,890,825),22956=>array(62,-62,965,828),22957=>array(58,-64,975,844),22958=>array(58,-65,945,838),22959=>array(61,-65,918,845),22960=>array(64,-67,951,842),22961=>array(62,-73,911,835),22962=>array(50,-58,937,835),22963=>array(53,-52,965,847),22964=>array(59,-63,945,844),22965=>array(60,-56,958,832),22966=>array(45,-56,956,835),22967=>array(66,-60,975,844),22968=>array(61,-62,961,830),22969=>array(30,-71,978,833),22970=>array(55,-66,973,838),22971=>array(80,-70,935,837),22972=>array(62,-60,959,830),22973=>array(59,-62,918,837),22974=>array(65,-65,936,828),22975=>array(60,-55,924,821),22976=>array(53,-65,956,842),22977=>array(60,-65,918,834),22978=>array(71,-58,969,830),22979=>array(60,-58,962,826),22980=>array(61,-61,954,826),22981=>array(56,-72,953,839),22982=>array(60,-67,948,832),22983=>array(58,-70,941,830),22984=>array(55,-50,968,860),22985=>array(37,-68,954,840),22986=>array(70,-64,934,832),22987=>array(54,-74,945,835),22988=>array(56,-62,965,839),22989=>array(32,-56,959,831),22990=>array(42,-77,968,834),22991=>array(62,-69,955,837),22992=>array(56,-65,956,818),22993=>array(56,-64,956,838),22994=>array(66,-64,978,841),22995=>array(52,-69,952,827),22996=>array(58,-67,912,836),22997=>array(58,-67,958,827),22998=>array(51,-52,949,822),22999=>array(41,-70,922,825),23000=>array(48,-67,956,850),23001=>array(40,-64,959,834),23002=>array(53,-70,960,833),23003=>array(60,-70,906,830),23004=>array(67,-63,926,850),23005=>array(38,-65,969,832),23006=>array(48,-52,957,850),23007=>array(38,-68,948,842),23008=>array(57,-74,907,832),23009=>array(80,-72,938,829),23010=>array(63,-72,929,831),23011=>array(38,-66,970,846),23012=>array(62,-66,957,837),23013=>array(47,-54,959,833),23014=>array(49,-71,962,843),23015=>array(52,-65,952,845),23016=>array(54,-67,968,837),23017=>array(68,-75,956,827),23018=>array(45,-69,956,824),23019=>array(50,-71,955,831),23020=>array(62,-66,956,829),23021=>array(67,-73,931,837),23022=>array(69,-59,960,837),23023=>array(64,-74,953,823),23024=>array(45,-60,909,836),23025=>array(44,-49,979,860),23026=>array(61,-74,954,831),23027=>array(61,-70,887,830),23028=>array(83,-73,938,824),23029=>array(69,-79,954,821),23030=>array(52,-50,970,858),23031=>array(55,-73,957,827),23032=>array(63,-73,953,827),23033=>array(40,-59,953,845),23034=>array(64,-74,953,823),23035=>array(53,-66,895,831),23036=>array(73,-80,932,822),23037=>array(78,-75,947,820),23038=>array(57,-80,955,823),23039=>array(59,-74,939,842),23040=>array(64,-67,951,830),23041=>array(53,-74,959,832),23042=>array(73,-73,959,832),23043=>array(73,-68,953,833),23044=>array(44,-65,935,829),23045=>array(44,-77,934,817),23046=>array(28,-69,936,822),23047=>array(40,-60,939,836),23048=>array(56,-82,919,834),23049=>array(34,-64,962,839),23050=>array(64,-68,958,830),23051=>array(62,-70,897,836),23052=>array(46,-48,956,840),23053=>array(46,-70,961,840),23054=>array(37,-68,939,830),23055=>array(56,-62,956,838),23056=>array(64,-64,953,837),23057=>array(37,-68,943,830),23058=>array(56,-67,953,845),23059=>array(41,-67,963,823),23060=>array(82,-69,954,839),23061=>array(60,-62,964,837),23062=>array(63,-69,980,829),23063=>array(57,-69,983,833),23064=>array(62,-75,962,831),23065=>array(51,-48,952,845),23066=>array(72,-74,923,808),23067=>array(64,-71,977,833),23068=>array(50,-71,947,833),23069=>array(66,-54,969,852),23070=>array(48,-68,945,833),23071=>array(63,-72,897,831),23072=>array(66,-66,965,831),23073=>array(66,-66,961,831),23074=>array(54,-66,951,867),23075=>array(65,-67,933,845),23076=>array(37,-68,939,829),23077=>array(42,-63,972,832),23078=>array(62,-64,954,828),23079=>array(62,-68,949,846),23080=>array(47,-64,954,828),23081=>array(57,-67,967,848),23082=>array(57,-68,948,828),23083=>array(39,-67,967,828),23084=>array(42,-64,962,833),23085=>array(73,-74,964,833),23086=>array(64,-68,941,832),23087=>array(64,-71,948,833),23088=>array(64,-67,955,840),23089=>array(32,-62,947,826),23090=>array(43,-72,891,819),23091=>array(55,-64,912,839),23092=>array(46,-73,870,832),23093=>array(49,-71,968,835),23094=>array(67,-75,940,793),23095=>array(65,-44,953,833),23096=>array(51,-78,953,833),23097=>array(44,-77,964,828),23098=>array(37,-67,973,823),23099=>array(61,-64,973,835),23100=>array(68,-69,906,832),23101=>array(57,-67,955,828),23102=>array(51,-69,958,827),23103=>array(37,-58,939,827),23104=>array(38,-65,952,835),23105=>array(55,-68,930,832),23106=>array(63,-71,912,840),23107=>array(58,-68,957,834),23108=>array(53,-67,960,839),23109=>array(64,-61,921,847),23110=>array(66,-74,946,836),23111=>array(42,-67,959,834),23112=>array(46,-72,971,831),23113=>array(59,-63,954,836),23114=>array(37,-67,977,837),23115=>array(44,-66,953,837),23116=>array(49,-71,980,828),23117=>array(54,-65,962,839),23118=>array(69,-68,953,842),23119=>array(42,-67,968,848),23120=>array(52,-70,979,827),23121=>array(50,-70,962,830),23122=>array(50,-68,971,836),23123=>array(64,-74,935,827),23124=>array(54,-63,964,834),23125=>array(37,-65,964,836),23126=>array(45,-68,979,829),23127=>array(54,-70,960,832),23128=>array(50,-62,966,831),23129=>array(48,-60,946,841),23130=>array(55,-71,960,833),23131=>array(52,-62,955,838),23132=>array(47,-67,954,790),23133=>array(52,-71,961,828),23134=>array(49,-67,959,839),23135=>array(66,-71,912,829),23136=>array(65,-68,924,839),23137=>array(44,-64,970,839),23138=>array(54,-65,951,850),23139=>array(59,-75,922,834),23140=>array(52,-72,898,830),23141=>array(56,-66,967,833),23142=>array(42,-74,944,832),23143=>array(45,-64,948,837),23144=>array(34,-61,957,834),23145=>array(53,-67,948,837),23146=>array(47,-78,964,822),23147=>array(54,-56,949,834),23148=>array(37,-50,950,829),23149=>array(45,-54,954,833),23150=>array(69,-68,945,834),23151=>array(57,-78,918,795),23152=>array(50,-73,959,835),23153=>array(57,-78,944,848),23154=>array(70,-65,962,835),23155=>array(61,-62,934,835),23156=>array(56,-74,915,780),23157=>array(37,-70,956,825),23158=>array(52,-63,903,831),23159=>array(40,-65,949,852),23160=>array(57,-68,947,830),23161=>array(65,-67,952,835),23162=>array(51,-69,963,841),23163=>array(50,-65,951,833),23164=>array(51,-64,954,840),23165=>array(53,-70,964,832),23166=>array(41,-70,964,849),23167=>array(63,-65,967,834),23168=>array(67,-68,932,832),23169=>array(50,-64,963,849),23170=>array(65,-61,935,858),23171=>array(57,-68,961,832),23172=>array(57,-71,961,833),23173=>array(38,-49,955,827),23174=>array(57,-72,945,835),23175=>array(57,-72,934,832),23176=>array(70,-62,950,824),23177=>array(57,-62,943,832),23178=>array(43,-73,951,833),23179=>array(58,-73,973,823),23180=>array(52,-74,955,830),23181=>array(56,-82,954,852),23182=>array(57,-68,965,838),23183=>array(50,-69,950,830),23184=>array(51,-72,952,787),23185=>array(65,-66,959,842),23186=>array(60,-66,973,836),23187=>array(60,-58,959,841),23188=>array(52,-70,954,834),23189=>array(57,-76,964,833),23190=>array(47,-60,988,842),23191=>array(73,-50,961,836),23192=>array(57,-65,951,842),23193=>array(48,-74,961,843),23194=>array(63,-73,900,827),23195=>array(42,-65,949,836),23196=>array(56,-82,954,833),23197=>array(50,-72,945,835),23198=>array(55,-69,986,832),23199=>array(44,-62,963,810),23200=>array(64,-65,927,845),23201=>array(58,-67,964,833),23202=>array(49,-70,920,825),23203=>array(43,-66,954,835),23204=>array(67,-53,976,832),23205=>array(53,-78,921,834),23206=>array(55,-67,914,832),23207=>array(54,-65,919,837),23208=>array(54,-63,967,835),23209=>array(62,-71,914,827),23210=>array(35,-74,951,815),23211=>array(38,-60,965,836),23212=>array(56,-67,981,825),23213=>array(57,-82,931,825),23214=>array(41,-70,974,849),23215=>array(46,-60,928,845),23216=>array(46,-65,908,832),23217=>array(55,-73,967,840),23218=>array(43,-53,958,852),23219=>array(65,-67,967,846),23220=>array(59,-76,974,823),23221=>array(31,-65,968,834),23222=>array(55,-67,954,827),23223=>array(43,-64,950,837),23224=>array(55,-71,966,843),23225=>array(56,-69,915,834),23226=>array(51,-73,975,829),23227=>array(38,-76,950,832),23228=>array(51,-72,968,818),23229=>array(56,-71,922,818),23230=>array(18,-64,948,837),23231=>array(52,-64,972,855),23232=>array(48,-69,962,833),23233=>array(53,-69,970,832),23234=>array(42,-65,958,840),23235=>array(60,-71,945,840),23236=>array(38,-65,968,839),23237=>array(72,-60,954,844),23238=>array(65,-69,977,833),23239=>array(54,-82,962,829),23240=>array(61,-73,932,831),23241=>array(66,-76,957,831),23242=>array(49,-65,954,832),23243=>array(36,-57,929,818),23244=>array(51,-64,966,850),23245=>array(52,-70,927,832),23246=>array(44,-69,950,840),23247=>array(49,-64,946,842),23248=>array(57,-65,958,829),23249=>array(82,-71,934,791),23250=>array(44,-73,931,820),23251=>array(43,-53,967,844),23252=>array(43,-72,920,826),23253=>array(58,-56,971,830),23254=>array(22,-62,953,831),23255=>array(36,-77,951,837),23256=>array(44,-61,977,843),23257=>array(38,-63,970,841),23258=>array(47,-47,972,833),23259=>array(52,-74,958,785),23260=>array(52,-65,964,849),23261=>array(58,-70,962,834),23262=>array(54,-67,957,836),23263=>array(44,-47,951,841),23264=>array(37,-66,955,841),23265=>array(37,-64,948,836),23266=>array(51,-72,954,826),23267=>array(43,-61,952,836),23268=>array(55,-55,938,836),23269=>array(50,-69,951,831),23270=>array(30,-77,921,826),23271=>array(36,-67,943,830),23272=>array(59,-72,972,833),23273=>array(69,-69,964,835),23274=>array(37,-72,973,839),23275=>array(68,-62,989,837),23276=>array(63,-66,978,834),23277=>array(56,-68,953,831),23278=>array(50,-70,954,828),23279=>array(44,-75,960,833),23280=>array(69,-69,984,837),23281=>array(41,-70,914,823),23282=>array(49,-66,979,840),23283=>array(51,-50,957,859),23284=>array(62,-80,956,829),23285=>array(40,-65,961,836),23286=>array(39,-54,970,856),23287=>array(34,-65,950,841),23288=>array(44,-78,962,837),23289=>array(46,-73,966,828),23290=>array(42,-68,911,835),23291=>array(57,-65,915,823),23292=>array(38,-74,958,831),23293=>array(44,-74,980,838),23294=>array(37,-74,954,836),23295=>array(48,-77,965,834),23296=>array(53,-67,964,852),23297=>array(35,-77,989,831),23298=>array(54,-82,981,833),23299=>array(45,-77,951,827),23300=>array(38,-69,954,833),23301=>array(38,-69,952,829),23302=>array(41,-64,991,858),23303=>array(38,-79,960,832),23304=>array(44,-64,965,835),23305=>array(38,-64,956,841),23306=>array(64,-89,940,832),23307=>array(34,-68,958,835),23308=>array(52,-68,966,834),23309=>array(38,-66,965,835),23310=>array(42,-70,975,831),23311=>array(40,-68,975,831),23312=>array(44,-74,976,841),23313=>array(30,-50,963,844),23314=>array(45,-68,973,864),23315=>array(45,-80,977,839),23316=>array(41,-66,971,831),23317=>array(46,-64,941,835),23318=>array(61,-75,948,848),23319=>array(35,-56,962,850),23320=>array(34,-64,952,837),23321=>array(36,-65,964,837),23322=>array(42,-70,972,844),23323=>array(46,-60,991,836),23324=>array(53,-84,969,849),23325=>array(46,-64,956,848),23326=>array(50,-41,962,835),23327=>array(46,-70,965,853),23328=>array(38,-67,984,838),23329=>array(36,-66,975,843),23330=>array(43,-79,966,837),23331=>array(51,-70,964,837),23332=>array(37,-68,973,848),23333=>array(51,-70,956,825),23334=>array(50,-71,955,826),23335=>array(41,-70,953,825),23336=>array(34,-50,963,838),23337=>array(43,-70,942,831),23338=>array(44,-67,966,844),23339=>array(34,-65,947,840),23340=>array(48,-68,951,829),23341=>array(44,-68,976,815),23342=>array(45,-74,950,807),23343=>array(45,-68,957,824),23344=>array(68,-69,924,791),23345=>array(53,-75,953,840),23346=>array(46,-63,934,829),23347=>array(43,-65,963,831),23348=>array(43,-69,956,850),23349=>array(40,-68,936,845),23350=>array(43,-64,962,859),23351=>array(36,-67,962,846),23352=>array(54,-65,958,851),23353=>array(27,-65,977,829),23354=>array(57,-53,971,829),23355=>array(46,-66,961,841),23356=>array(62,-74,921,831),23357=>array(40,-67,976,839),23358=>array(35,-50,968,848),23359=>array(41,-68,971,836),23360=>array(51,-65,932,831),23361=>array(68,-66,930,785),23362=>array(42,-43,959,840),23363=>array(59,-61,989,840),23364=>array(41,-66,909,832),23365=>array(43,-65,969,821),23366=>array(55,-67,954,831),23367=>array(46,-64,980,832),23368=>array(48,-65,943,831),23369=>array(66,-58,937,839),23370=>array(41,-78,942,839),23371=>array(44,-72,962,825),23372=>array(55,-74,957,839),23373=>array(39,-67,974,831),23374=>array(46,-73,947,830),23375=>array(45,-65,953,846),23376=>array(98,-49,921,787),23377=>array(72,-52,927,782),23378=>array(221,-58,921,778),23379=>array(94,-53,939,781),23380=>array(69,-61,953,825),23381=>array(74,-59,942,783),23382=>array(41,-52,955,786),23383=>array(94,-61,926,832),23384=>array(47,-69,943,839),23385=>array(31,-66,937,823),23386=>array(53,-65,947,840),23387=>array(74,-64,944,831),23388=>array(60,-65,967,834),23389=>array(48,-61,928,834),23390=>array(24,-31,945,786),23391=>array(66,-17,955,786),23392=>array(86,-51,920,828),23393=>array(20,-70,953,839),23394=>array(53,-64,947,847),23395=>array(50,-67,959,838),23396=>array(42,-77,970,838),23397=>array(54,-58,947,852),23398=>array(74,-54,926,826),23399=>array(86,-52,935,826),23400=>array(41,-67,950,800),23401=>array(51,-68,948,833),23402=>array(41,-60,924,842),23403=>array(44,-69,965,815),23404=>array(38,-66,946,791),23405=>array(55,-72,960,785),23406=>array(41,-64,949,836),23407=>array(63,-61,956,796),23408=>array(41,-68,971,834),23409=>array(31,-59,962,798),23410=>array(51,-50,961,789),23411=>array(53,-56,949,855),23412=>array(135,-68,903,823),23413=>array(34,-76,944,817),23414=>array(53,-58,949,838),23415=>array(41,-71,953,831),23416=>array(66,-67,939,831),23417=>array(64,-57,940,840),23418=>array(31,-64,955,790),23419=>array(44,-70,954,823),23420=>array(59,-81,946,833),23421=>array(71,-60,948,837),23422=>array(39,-67,954,788),23423=>array(57,-59,955,846),23424=>array(90,354,883,650),23425=>array(79,-52,934,851),23426=>array(56,-67,945,833),23427=>array(109,-28,902,821),23428=>array(55,-63,952,841),23429=>array(70,-38,942,833),23430=>array(79,-61,932,841),23431=>array(59,-69,931,840),23432=>array(77,-59,923,825),23433=>array(76,-70,912,818),23434=>array(71,-64,950,844),23435=>array(63,-65,951,824),23436=>array(60,-62,946,839),23437=>array(58,-58,942,822),23438=>array(48,-66,955,845),23439=>array(77,-64,927,822),23440=>array(76,-37,972,838),23441=>array(106,-66,923,838),23442=>array(84,-44,940,832),23443=>array(46,-66,958,830),23444=>array(75,-32,925,842),23445=>array(57,-65,894,839),23446=>array(75,-65,942,830),23447=>array(71,-63,945,822),23448=>array(106,-70,894,839),23449=>array(106,-71,894,817),23450=>array(41,-67,953,826),23451=>array(54,-59,954,818),23452=>array(60,-29,953,831),23453=>array(79,-25,925,826),23454=>array(73,-61,929,832),23455=>array(47,-57,955,827),23456=>array(32,-56,957,841),23457=>array(89,-60,904,842),23458=>array(40,-61,958,828),23459=>array(73,-25,931,823),23460=>array(93,-35,907,825),23461=>array(51,-70,908,839),23462=>array(102,-72,915,832),23463=>array(90,-21,910,835),23464=>array(74,-79,949,824),23465=>array(87,-54,933,835),23466=>array(41,-63,921,837),23467=>array(91,-74,894,839),23468=>array(39,-65,966,842),23469=>array(59,-65,932,830),23470=>array(98,-68,902,829),23471=>array(42,-58,934,848),23472=>array(80,-63,931,831),23473=>array(83,-52,893,844),23474=>array(46,-50,955,844),23475=>array(83,-65,920,834),23476=>array(69,-79,934,839),23477=>array(110,-71,901,837),23478=>array(55,-65,960,823),23479=>array(46,-56,955,857),23480=>array(45,-67,968,833),23481=>array(47,-68,953,834),23482=>array(54,-57,955,840),23483=>array(55,-61,949,834),23484=>array(47,-73,959,846),23485=>array(81,-62,927,836),23486=>array(50,-77,917,846),23487=>array(43,-73,906,828),23488=>array(46,-62,955,826),23489=>array(41,-67,982,841),23490=>array(48,-71,969,835),23491=>array(54,-62,952,829),23492=>array(80,-59,941,833),23493=>array(53,-69,956,835),23494=>array(66,-64,944,827),23495=>array(47,-73,959,830),23496=>array(86,-65,921,846),23497=>array(90,-67,912,845),23498=>array(62,-74,963,838),23499=>array(37,-41,968,835),23500=>array(107,-67,900,835),23501=>array(61,-31,953,835),23502=>array(43,-53,926,860),23503=>array(63,-66,961,841),23504=>array(46,-77,962,821),23505=>array(45,-72,929,839),23506=>array(48,-83,952,834),23507=>array(100,-65,900,840),23508=>array(75,-68,971,828),23509=>array(83,-68,930,843),23510=>array(56,-60,981,844),23511=>array(47,-55,944,840),23512=>array(72,-78,931,841),23513=>array(34,-64,966,839),23514=>array(65,-65,957,842),23515=>array(55,-57,956,842),23516=>array(80,-68,917,843),23517=>array(39,-75,952,829),23518=>array(35,-76,962,845),23519=>array(53,-62,954,825),23520=>array(41,-61,936,856),23521=>array(35,-66,974,840),23522=>array(47,-76,960,836),23523=>array(53,-72,948,836),23524=>array(54,-64,953,836),23525=>array(42,-72,977,850),23526=>array(61,-74,952,850),23527=>array(80,-68,917,844),23528=>array(44,-69,930,839),23529=>array(41,-73,970,835),23530=>array(50,-63,914,836),23531=>array(82,-65,910,833),23532=>array(55,-57,953,843),23533=>array(83,-34,925,849),23534=>array(41,-64,970,838),23535=>array(63,-68,917,841),23536=>array(62,-78,967,846),23537=>array(44,-69,975,835),23538=>array(58,-75,968,833),23539=>array(70,-69,939,832),23540=>array(67,-76,957,841),23541=>array(54,-66,969,836),23542=>array(70,-69,939,850),23543=>array(69,-25,923,847),23544=>array(97,-64,912,829),23545=>array(24,-60,915,829),23546=>array(77,-59,932,836),23547=>array(62,-57,913,793),23548=>array(50,-58,916,786),23549=>array(50,-63,916,840),23550=>array(49,-46,951,821),23551=>array(60,-57,934,835),23552=>array(100,-61,945,826),23553=>array(49,-61,945,826),23554=>array(62,-72,935,823),23555=>array(55,-72,936,823),23556=>array(49,-64,948,845),23557=>array(44,-69,962,827),23558=>array(41,-63,940,839),23559=>array(37,-64,956,841),23560=>array(57,-67,947,826),23561=>array(44,-71,951,826),23562=>array(68,-63,932,850),23563=>array(73,-70,933,811),23564=>array(53,-71,955,829),23565=>array(38,-61,952,835),23566=>array(57,-65,944,848),23567=>array(71,-41,927,818),23568=>array(68,-62,945,816),23569=>array(52,-67,944,818),23570=>array(45,-63,954,833),23571=>array(59,-63,935,827),23572=>array(32,-63,909,830),23573=>array(49,-58,961,789),23574=>array(61,-64,939,830),23575=>array(49,-58,961,821),23576=>array(50,-16,921,824),23577=>array(116,-70,861,824),23578=>array(110,-70,864,836),23579=>array(31,-48,962,821),23580=>array(43,-64,952,824),23581=>array(66,-68,898,831),23582=>array(41,-64,970,821),23583=>array(41,-71,970,822),23584=>array(42,-84,972,826),23585=>array(41,-62,961,836),23586=>array(46,-63,954,829),23587=>array(82,-47,936,782),23588=>array(62,-65,927,829),23589=>array(32,-60,963,842),23590=>array(42,-44,959,835),23591=>array(70,-61,932,827),23592=>array(35,-70,949,853),23593=>array(35,-61,964,798),23594=>array(44,-64,964,832),23595=>array(32,-55,962,785),23596=>array(31,-66,963,844),23597=>array(43,-65,962,837),23598=>array(34,-51,958,833),23599=>array(34,-51,958,835),23600=>array(50,-66,961,836),23601=>array(56,-63,951,831),23602=>array(33,-51,958,842),23603=>array(44,-69,959,826),23604=>array(34,-51,958,833),23605=>array(34,-51,960,835),23606=>array(36,-66,971,831),23607=>array(36,-72,974,831),23608=>array(78,-71,880,766),23609=>array(41,-58,956,772),23610=>array(69,-73,926,765),23611=>array(36,-62,963,790),23612=>array(53,-71,934,782),23613=>array(40,-60,960,789),23614=>array(57,-67,940,784),23615=>array(52,-74,951,779),23616=>array(68,-65,895,785),23617=>array(54,-73,938,782),23618=>array(28,-63,917,789),23619=>array(28,-64,961,789),23620=>array(52,-62,903,794),23621=>array(56,-73,930,782),23622=>array(64,-73,896,788),23623=>array(63,-62,897,792),23624=>array(49,-65,886,792),23625=>array(41,-70,935,787),23626=>array(22,-60,846,791),23627=>array(53,-74,933,796),23628=>array(59,-69,894,786),23629=>array(33,-64,964,791),23630=>array(47,-76,939,785),23631=>array(53,-72,930,785),23632=>array(37,-65,972,789),23633=>array(59,-72,894,789),23634=>array(45,-72,956,795),23635=>array(65,-92,946,781),23636=>array(60,-59,952,804),23637=>array(46,-73,943,779),23638=>array(55,-64,932,782),23639=>array(48,-73,964,798),23640=>array(48,-73,964,782),23641=>array(35,-68,951,788),23642=>array(58,-66,899,808),23643=>array(53,-72,930,785),23644=>array(49,-67,957,791),23645=>array(44,-70,935,786),23646=>array(30,-73,877,777),23647=>array(23,-58,963,803),23648=>array(46,-68,935,796),23649=>array(41,-65,911,788),23650=>array(46,-82,939,823),23651=>array(44,-69,973,787),23652=>array(50,-68,900,808),23653=>array(29,-68,953,786),23654=>array(35,-73,913,789),23655=>array(23,-58,975,803),23656=>array(41,-70,962,798),23657=>array(44,-62,959,800),23658=>array(48,-66,966,786),23659=>array(44,-62,983,800),23660=>array(57,-82,912,790),23661=>array(40,-58,934,804),23662=>array(85,-65,895,825),23663=>array(78,-40,952,836),23664=>array(90,-68,912,848),23665=>array(137,-48,863,771),23666=>array(124,-65,853,820),23667=>array(47,-65,950,800),23668=>array(67,-62,915,833),23669=>array(46,-80,882,833),23670=>array(67,-62,915,833),23671=>array(94,-70,920,821),23672=>array(94,4,953,821),23673=>array(53,-27,935,841),23674=>array(85,-28,931,813),23675=>array(110,-64,897,820),23676=>array(113,-70,964,824),23677=>array(113,-50,963,824),23678=>array(89,-69,911,814),23679=>array(90,-67,922,825),23680=>array(143,-65,869,838),23681=>array(80,-65,855,815),23682=>array(104,-31,921,822),23683=>array(95,-75,915,833),23684=>array(113,-65,889,824),23685=>array(95,-68,953,824),23686=>array(97,-62,963,827),23687=>array(110,-64,911,836),23688=>array(89,-52,930,814),23689=>array(103,-66,909,834),23690=>array(118,-67,935,787),23691=>array(106,-71,965,806),23692=>array(43,-65,957,832),23693=>array(86,-68,931,817),23694=>array(63,-71,951,824),23695=>array(104,-69,948,818),23696=>array(76,-66,964,837),23697=>array(41,-73,955,833),23698=>array(96,-71,960,836),23699=>array(101,-70,948,830),23700=>array(45,-69,961,821),23701=>array(52,-68,969,831),23702=>array(93,-29,916,803),23703=>array(134,-58,833,830),23704=>array(87,-68,934,810),23705=>array(53,-67,959,812),23706=>array(40,-62,957,826),23707=>array(115,-63,865,832),23708=>array(140,-26,921,823),23709=>array(53,-66,935,838),23710=>array(91,-62,955,845),23711=>array(97,-70,964,831),23712=>array(91,-20,951,813),23713=>array(113,-59,888,789),23714=>array(80,-62,931,839),23715=>array(109,-54,909,845),23716=>array(65,-66,966,834),23717=>array(98,-70,957,827),23718=>array(70,-27,945,824),23719=>array(54,-56,900,850),23720=>array(80,-25,948,817),23721=>array(69,-68,920,822),23722=>array(107,-64,900,837),23723=>array(66,-64,892,830),23724=>array(81,-67,901,817),23725=>array(103,-72,948,833),23726=>array(103,-43,949,833),23727=>array(97,-30,949,800),23728=>array(98,-69,910,834),23729=>array(47,-67,955,839),23730=>array(87,-62,960,810),23731=>array(76,-65,924,829),23732=>array(93,-8,933,814),23733=>array(76,-65,935,829),23734=>array(66,-66,888,843),23735=>array(66,-67,939,817),23736=>array(35,-72,931,829),23737=>array(87,-70,910,810),23738=>array(41,-66,955,833),23739=>array(62,-57,961,829),23740=>array(62,-67,959,817),23741=>array(63,-66,920,815),23742=>array(66,-67,955,830),23743=>array(101,-66,875,824),23744=>array(144,-65,869,833),23745=>array(67,-69,911,836),23746=>array(107,-62,964,837),23747=>array(97,-67,907,820),23748=>array(91,-68,944,798),23749=>array(66,-75,950,845),23750=>array(111,-70,961,823),23751=>array(30,-62,979,840),23752=>array(107,-70,961,826),23753=>array(48,-70,963,821),23754=>array(163,-78,862,824),23755=>array(100,-60,903,844),23756=>array(107,-12,960,795),23757=>array(101,-64,959,827),23758=>array(134,-77,937,824),23759=>array(104,-68,956,821),23760=>array(107,-70,960,827),23761=>array(53,-41,948,819),23762=>array(101,-62,898,815),23763=>array(108,-76,949,822),23764=>array(103,-32,942,822),23765=>array(71,-70,947,836),23766=>array(111,-76,944,821),23767=>array(100,-67,949,819),23768=>array(106,-12,956,804),23769=>array(58,-58,927,838),23770=>array(54,-29,971,819),23771=>array(74,-76,885,818),23772=>array(44,-44,974,839),23773=>array(144,-61,869,827),23774=>array(46,-69,939,822),23775=>array(50,-67,934,825),23776=>array(79,-64,940,835),23777=>array(76,-64,945,826),23778=>array(73,-67,910,830),23779=>array(82,-60,944,829),23780=>array(89,-65,947,819),23781=>array(93,-62,957,830),23782=>array(40,-65,947,844),23783=>array(88,-63,944,846),23784=>array(77,-57,945,833),23785=>array(43,-52,958,850),23786=>array(62,-63,941,826),23787=>array(78,-67,948,817),23788=>array(109,-61,956,831),23789=>array(66,-67,923,833),23790=>array(98,-60,941,814),23791=>array(37,-64,978,839),23792=>array(77,-65,961,840),23793=>array(47,-65,951,793),23794=>array(46,-59,898,841),23795=>array(39,-67,969,841),23796=>array(77,-64,933,827),23797=>array(66,-43,956,828),23798=>array(118,-70,897,845),23799=>array(89,-62,939,829),23800=>array(105,-78,952,823),23801=>array(39,-71,957,835),23802=>array(66,-72,962,817),23803=>array(79,-69,966,849),23804=>array(69,-62,929,833),23805=>array(70,-73,961,836),23806=>array(93,-71,932,837),23807=>array(101,-62,944,813),23808=>array(131,-68,947,826),23809=>array(55,-64,987,837),23810=>array(91,-65,912,825),23811=>array(87,-65,963,818),23812=>array(69,-32,939,813),23813=>array(69,-54,906,849),23814=>array(85,-23,924,839),23815=>array(63,-66,937,835),23816=>array(92,-65,924,858),23817=>array(77,-62,980,843),23818=>array(64,-63,968,842),23819=>array(66,-73,934,831),23820=>array(109,-68,956,818),23821=>array(63,-63,945,835),23822=>array(77,-69,938,831),23823=>array(109,-73,962,827),23824=>array(90,-42,961,811),23825=>array(76,-66,954,838),23826=>array(69,-68,945,835),23827=>array(93,-65,909,811),23828=>array(49,-68,949,836),23829=>array(66,-64,953,825),23830=>array(46,-80,938,833),23831=>array(134,-67,879,833),23832=>array(66,-68,960,839),23833=>array(33,-61,979,841),23834=>array(66,-52,968,850),23835=>array(66,-66,932,817),23836=>array(90,-27,911,832),23837=>array(107,-68,957,833),23838=>array(91,-62,935,851),23839=>array(49,-22,962,835),23840=>array(109,-71,976,830),23841=>array(71,-57,920,802),23842=>array(65,-71,956,834),23843=>array(55,-66,970,837),23844=>array(79,-64,927,838),23845=>array(100,-73,948,837),23846=>array(74,-33,950,847),23847=>array(29,-64,933,838),23848=>array(107,-69,974,832),23849=>array(59,-74,894,835),23850=>array(95,-64,951,845),23851=>array(61,-74,911,823),23852=>array(50,-50,960,829),23853=>array(36,-70,914,823),23854=>array(127,-67,886,837),23855=>array(86,-22,964,845),23856=>array(106,-68,930,835),23857=>array(73,-74,897,829),23858=>array(109,-28,954,837),23859=>array(106,-71,967,837),23860=>array(33,-63,956,835),23861=>array(111,-68,955,817),23862=>array(52,-65,953,829),23863=>array(79,-71,953,838),23864=>array(108,-81,963,809),23865=>array(108,-69,933,831),23866=>array(38,-73,956,829),23867=>array(72,-68,949,830),23868=>array(109,-72,961,815),23869=>array(60,-31,955,836),23870=>array(82,-65,945,805),23871=>array(109,-63,962,818),23872=>array(48,-70,955,826),23873=>array(109,-27,953,826),23874=>array(43,-67,954,833),23875=>array(108,-71,951,833),23876=>array(74,-71,961,831),23877=>array(41,-71,953,831),23878=>array(39,-70,960,832),23879=>array(45,-65,972,837),23880=>array(92,-67,958,830),23881=>array(106,-70,944,841),23882=>array(79,-65,960,842),23883=>array(66,-64,905,817),23884=>array(47,-69,971,835),23885=>array(36,-62,954,830),23886=>array(66,-65,915,817),23887=>array(57,-75,945,821),23888=>array(34,-62,970,837),23889=>array(109,-70,919,821),23890=>array(99,-52,895,800),23891=>array(114,-42,910,813),23892=>array(63,-69,943,812),23893=>array(103,-69,967,819),23894=>array(83,-23,967,836),23895=>array(45,-70,939,809),23896=>array(82,-71,955,817),23897=>array(55,-70,956,827),23898=>array(26,-66,960,835),23899=>array(33,-64,979,839),23900=>array(60,-62,928,831),23901=>array(92,-63,944,817),23902=>array(51,-71,967,847),23903=>array(37,-77,939,833),23904=>array(106,-62,995,841),23905=>array(47,-56,969,825),23906=>array(106,-70,958,842),23907=>array(111,-72,951,835),23908=>array(70,-60,919,830),23909=>array(110,-68,963,829),23910=>array(81,-20,933,839),23911=>array(105,-73,911,831),23912=>array(109,-74,940,842),23913=>array(63,-70,937,835),23914=>array(81,-75,939,841),23915=>array(83,-66,938,844),23916=>array(76,-74,951,836),23917=>array(59,-76,953,840),23918=>array(64,-65,973,846),23919=>array(77,-39,945,825),23920=>array(83,-64,967,843),23921=>array(105,-72,967,830),23922=>array(110,-72,979,845),23923=>array(37,-47,956,839),23924=>array(78,-67,960,833),23925=>array(114,-61,947,836),23926=>array(69,-54,929,809),23927=>array(101,-67,974,836),23928=>array(48,-71,966,835),23929=>array(79,-76,959,835),23930=>array(109,-67,960,817),23931=>array(79,-66,968,848),23932=>array(112,-67,959,834),23933=>array(98,-67,957,826),23934=>array(38,-49,974,851),23935=>array(68,-74,965,835),23936=>array(109,-65,953,818),23937=>array(76,-68,934,836),23938=>array(62,-65,930,844),23939=>array(93,-64,962,842),23940=>array(50,-64,955,835),23941=>array(36,-59,957,794),23942=>array(109,-69,955,826),23943=>array(66,-64,933,817),23944=>array(48,-71,962,830),23945=>array(127,-68,964,831),23946=>array(46,-58,948,842),23947=>array(83,-63,924,843),23948=>array(51,-56,890,810),23949=>array(107,-73,900,812),23950=>array(51,-64,948,821),23951=>array(40,-78,954,821),23952=>array(107,-73,949,812),23953=>array(81,-75,951,834),23954=>array(95,-53,908,851),23955=>array(98,-71,972,830),23956=>array(45,-65,978,836),23957=>array(109,-70,970,827),23958=>array(60,-63,991,858),23959=>array(92,-67,935,829),23960=>array(29,-71,910,838),23961=>array(76,-71,937,829),23962=>array(24,-67,985,835),23963=>array(76,-62,959,852),23964=>array(37,-72,964,830),23965=>array(66,-24,954,835),23966=>array(116,-71,933,838),23967=>array(78,-72,955,848),23968=>array(76,-64,956,828),23969=>array(40,-79,971,830),23970=>array(62,-64,943,836),23971=>array(39,-64,938,830),23972=>array(33,-59,962,833),23973=>array(66,-73,970,812),23974=>array(67,-72,945,841),23975=>array(82,-64,935,814),23976=>array(100,-67,915,835),23977=>array(109,-80,973,829),23978=>array(40,-68,964,840),23979=>array(79,-67,948,825),23980=>array(66,-77,965,840),23981=>array(103,-64,947,840),23982=>array(66,-57,950,854),23983=>array(44,-80,965,829),23984=>array(106,-69,961,828),23985=>array(106,-69,954,824),23986=>array(57,-60,929,842),23987=>array(40,-52,968,836),23988=>array(38,-73,977,840),23989=>array(115,-68,961,814),23990=>array(45,-73,967,825),23991=>array(29,-63,951,834),23992=>array(75,-65,947,829),23993=>array(62,-65,960,833),23994=>array(40,-73,961,832),23995=>array(37,-84,964,831),23996=>array(74,-70,958,821),23997=>array(52,-66,965,839),23998=>array(78,-32,953,837),23999=>array(74,-64,943,812),24000=>array(39,-64,964,831),24001=>array(73,-63,962,826),24002=>array(49,-64,936,838),24003=>array(54,-64,975,836),24004=>array(67,-63,962,843),24005=>array(46,-68,931,824),24006=>array(93,-67,940,836),24007=>array(95,-56,959,847),24008=>array(69,-64,919,812),24009=>array(69,-67,966,848),24010=>array(72,-62,958,831),24011=>array(43,-65,938,836),24012=>array(42,-69,968,820),24013=>array(38,-73,957,828),24014=>array(54,-61,976,820),24015=>array(93,-70,953,817),24016=>array(78,-61,975,836),24017=>array(106,-68,976,832),24018=>array(58,-64,961,841),24019=>array(55,-87,941,851),24020=>array(48,-64,962,836),24021=>array(96,-63,945,844),24022=>array(42,-67,973,836),24023=>array(58,-64,963,815),24024=>array(82,-72,956,832),24025=>array(74,-65,964,837),24026=>array(37,-68,957,833),24027=>array(43,-60,914,801),24028=>array(166,-60,793,795),24029=>array(58,-70,858,817),24030=>array(55,-64,859,823),24031=>array(55,-70,941,839),24032=>array(74,-36,945,773),24033=>array(22,-53,943,817),24034=>array(61,-59,961,849),24035=>array(61,-59,961,836),24036=>array(122,-67,935,842),24037=>array(95,54,909,696),24038=>array(55,-14,925,819),24039=>array(59,-57,933,773),24040=>array(169,-60,932,791),24041=>array(44,-64,940,790),24042=>array(88,-54,921,806),24043=>array(69,1,949,753),24044=>array(63,-47,955,814),24045=>array(64,-59,955,847),24046=>array(47,-19,936,840),24047=>array(37,-67,936,841),24048=>array(43,-71,959,845),24049=>array(114,0,897,763),24050=>array(138,-17,934,764),24051=>array(174,-24,942,768),24052=>array(140,-12,942,746),24053=>array(59,-65,938,835),24054=>array(68,-58,945,776),24055=>array(38,-43,971,819),24056=>array(100,-50,972,781),24057=>array(33,-35,989,780),24058=>array(72,-72,941,776),24059=>array(44,-43,955,830),24060=>array(136,-67,962,796),24061=>array(63,-80,937,790),24062=>array(154,-69,846,829),24063=>array(82,-63,936,833),24064=>array(72,-68,928,759),24065=>array(91,-62,873,814),24066=>array(72,-68,928,826),24067=>array(58,-67,920,835),24068=>array(110,-65,941,829),24069=>array(61,-64,886,828),24070=>array(95,-76,948,829),24071=>array(71,-66,929,826),24072=>array(105,-63,917,830),24073=>array(110,-61,972,834),24074=>array(98,-61,942,834),24075=>array(70,-50,936,854),24076=>array(64,-65,941,845),24077=>array(70,-69,889,827),24078=>array(102,-59,949,842),24079=>array(90,-69,906,824),24080=>array(91,-79,951,809),24081=>array(51,-62,948,843),24082=>array(47,-62,928,839),24083=>array(90,-63,948,843),24084=>array(90,-72,940,832),24085=>array(118,-67,886,843),24086=>array(96,-66,943,833),24087=>array(91,-74,956,833),24088=>array(104,-72,903,842),24089=>array(76,-66,955,830),24090=>array(72,-70,892,780),24091=>array(139,-65,874,851),24092=>array(90,-70,948,811),24093=>array(104,-68,896,834),24094=>array(111,-70,941,811),24095=>array(66,-68,935,832),24096=>array(165,-67,849,831),24097=>array(110,-68,952,847),24098=>array(110,-72,955,826),24099=>array(46,-69,960,832),24100=>array(47,-66,879,833),24101=>array(115,-65,910,850),24102=>array(65,-59,913,828),24103=>array(89,-67,940,825),24104=>array(76,-72,958,827),24105=>array(110,-67,920,826),24106=>array(111,-76,959,825),24107=>array(112,-74,948,844),24108=>array(57,-67,945,786),24109=>array(50,-71,944,829),24110=>array(54,-55,925,831),24111=>array(65,-59,913,828),24112=>array(88,-65,929,808),24113=>array(90,-64,922,828),24114=>array(65,-64,937,852),24115=>array(81,-68,962,829),24116=>array(97,-68,943,842),24117=>array(80,-65,948,847),24118=>array(89,-65,933,830),24119=>array(86,-62,932,833),24120=>array(94,-67,918,835),24121=>array(80,-72,925,844),24122=>array(80,-65,952,840),24123=>array(92,-64,929,826),24124=>array(90,-65,890,798),24125=>array(94,-73,916,828),24126=>array(106,-68,941,832),24127=>array(81,-68,975,834),24128=>array(79,-70,946,831),24129=>array(111,-72,961,830),24130=>array(38,-65,979,788),24131=>array(73,-70,938,838),24132=>array(89,-64,935,829),24133=>array(85,-69,924,829),24134=>array(85,-69,948,829),24135=>array(55,-64,948,835),24136=>array(79,-71,960,827),24137=>array(88,-67,958,833),24138=>array(111,-78,962,828),24139=>array(54,-69,970,848),24140=>array(84,-72,941,828),24141=>array(106,-70,927,820),24142=>array(62,-57,950,838),24143=>array(110,-69,977,838),24144=>array(41,-76,957,836),24145=>array(35,-76,964,833),24146=>array(75,-65,969,850),24147=>array(107,-68,972,841),24148=>array(57,-65,953,826),24149=>array(57,-63,954,834),24150=>array(75,-69,957,826),24151=>array(70,-61,923,838),24152=>array(109,-70,964,830),24153=>array(89,-60,948,839),24154=>array(55,-64,942,852),24155=>array(85,-65,935,842),24156=>array(104,-70,963,821),24157=>array(104,-71,965,823),24158=>array(63,-74,937,821),24159=>array(78,-71,948,837),24160=>array(92,-70,965,827),24161=>array(68,-66,934,839),24162=>array(71,-64,931,845),24163=>array(89,-72,962,839),24164=>array(89,-70,945,839),24165=>array(61,-64,958,833),24166=>array(52,-62,959,851),24167=>array(101,-70,989,823),24168=>array(88,-50,935,853),24169=>array(113,-73,970,830),24170=>array(116,-65,981,836),24171=>array(55,-64,948,835),24172=>array(66,-68,938,826),24173=>array(89,-53,955,849),24174=>array(92,-72,946,843),24175=>array(94,-55,926,854),24176=>array(81,-65,952,840),24177=>array(55,-65,922,829),24178=>array(100,-58,900,779),24179=>array(71,-70,920,787),24180=>array(86,-68,917,841),24181=>array(59,-68,954,778),24182=>array(76,-65,929,848),24183=>array(89,-70,898,839),24184=>array(94,-67,909,833),24185=>array(60,-66,970,844),24186=>array(91,-37,914,826),24187=>array(53,-48,902,807),24188=>array(53,-65,906,826),24189=>array(115,-63,885,831),24190=>array(61,-66,958,838),24191=>array(49,-61,908,823),24192=>array(53,-72,939,847),24193=>array(35,-61,930,826),24194=>array(58,-66,950,835),24195=>array(45,-65,935,822),24196=>array(28,-64,942,822),24197=>array(24,-66,918,816),24198=>array(39,-75,941,830),24199=>array(35,-51,964,839),24200=>array(51,-68,954,846),24201=>array(50,-68,951,837),24202=>array(45,-67,964,822),24203=>array(43,-66,980,848),24204=>array(58,-64,945,840),24205=>array(44,-67,936,845),24206=>array(25,-76,936,819),24207=>array(45,-71,918,831),24208=>array(32,-68,914,835),24209=>array(26,-67,924,842),24210=>array(28,-64,942,849),24211=>array(27,-60,925,841),24212=>array(46,-59,928,834),24213=>array(43,-63,952,837),24214=>array(39,-66,943,828),24215=>array(45,-64,948,839),24216=>array(25,-64,908,819),24217=>array(39,-66,913,844),24218=>array(45,-68,963,839),24219=>array(56,-53,956,834),24220=>array(41,-68,937,831),24221=>array(24,-84,936,846),24222=>array(25,-59,928,832),24223=>array(39,-68,947,833),24224=>array(42,-67,951,834),24225=>array(25,-70,938,819),24226=>array(48,-53,954,830),24227=>array(55,-67,954,824),24228=>array(48,-55,956,831),24229=>array(29,-65,966,844),24230=>array(46,-68,950,826),24231=>array(48,-66,928,822),24232=>array(44,-67,930,833),24233=>array(25,-64,959,819),24234=>array(39,-76,958,838),24235=>array(54,-76,941,829),24236=>array(44,-58,956,838),24237=>array(37,-63,968,837),24238=>array(41,-61,932,842),24239=>array(25,-71,908,819),24240=>array(51,-77,954,824),24241=>array(41,-67,959,846),24242=>array(44,-68,954,838),24243=>array(41,-51,955,865),24244=>array(49,-64,942,841),24245=>array(38,-66,965,831),24246=>array(36,-55,945,828),24247=>array(41,-67,966,823),24248=>array(50,-61,954,844),24249=>array(26,-68,968,854),24250=>array(25,-61,930,827),24251=>array(50,-63,940,839),24252=>array(46,-69,944,855),24253=>array(49,-63,945,849),24254=>array(43,-74,967,824),24255=>array(39,-66,913,844),24256=>array(31,-62,961,839),24257=>array(45,-69,948,840),24258=>array(51,-71,942,832),24259=>array(42,-67,965,833),24260=>array(37,-54,968,857),24261=>array(40,-66,954,842),24262=>array(30,-64,961,838),24263=>array(34,-69,948,839),24264=>array(43,-73,952,839),24265=>array(44,-59,970,845),24266=>array(46,-60,949,837),24267=>array(31,-54,967,856),24268=>array(39,-73,951,835),24269=>array(38,-71,947,850),24270=>array(46,-68,968,855),24271=>array(37,-54,968,843),24272=>array(40,-67,956,831),24273=>array(42,-66,951,848),24274=>array(39,-70,966,852),24275=>array(35,-65,942,837),24276=>array(32,-50,959,862),24277=>array(37,-67,985,856),24278=>array(39,-67,958,843),24279=>array(58,-71,957,834),24280=>array(41,-72,951,840),24281=>array(57,-78,965,840),24282=>array(42,-69,949,837),24283=>array(16,-63,951,837),24284=>array(46,-70,956,841),24285=>array(44,-70,947,837),24286=>array(36,-75,974,842),24287=>array(47,-64,947,833),24288=>array(46,-71,938,827),24289=>array(34,-70,964,836),24290=>array(42,-65,965,820),24291=>array(54,-68,950,837),24292=>array(49,-63,968,857),24293=>array(31,-70,971,841),24294=>array(36,-72,953,840),24295=>array(28,-72,942,843),24296=>array(24,-72,940,832),24297=>array(30,-67,964,837),24298=>array(29,-69,920,838),24299=>array(24,-84,958,842),24300=>array(22,-62,961,846),24301=>array(44,-66,932,853),24302=>array(35,-70,956,845),24303=>array(43,-67,959,840),24304=>array(40,-75,967,832),24305=>array(37,-54,949,838),24306=>array(35,-66,947,836),24307=>array(40,-75,957,832),24308=>array(33,-62,949,743),24309=>array(44,-73,953,804),24310=>array(33,-62,949,824),24311=>array(33,-62,949,825),24312=>array(33,-62,949,825),24313=>array(49,-71,973,852),24314=>array(33,-62,949,826),24315=>array(33,-62,949,790),24316=>array(33,-62,949,790),24317=>array(43,-71,972,788),24318=>array(36,-72,930,822),24319=>array(79,-56,932,818),24320=>array(36,-57,906,780),24321=>array(47,-66,954,848),24322=>array(56,-67,953,785),24323=>array(61,-62,928,830),24324=>array(48,-65,934,785),24325=>array(48,-59,961,794),24326=>array(70,-59,944,814),24327=>array(45,-64,972,863),24328=>array(52,-67,943,839),24329=>array(61,-63,936,829),24330=>array(59,-76,955,833),24331=>array(81,-63,933,824),24332=>array(74,-62,944,834),24333=>array(78,-62,948,834),24334=>array(73,-62,944,834),24335=>array(74,-62,944,834),24336=>array(74,-62,944,834),24337=>array(37,-61,949,826),24338=>array(42,-67,962,841),24339=>array(143,-60,857,788),24340=>array(110,-66,896,778),24341=>array(138,-61,844,826),24342=>array(64,-55,930,779),24343=>array(56,-66,904,838),24344=>array(80,-63,945,819),24345=>array(77,-71,956,788),24346=>array(61,-68,954,794),24347=>array(80,-63,957,824),24348=>array(92,-66,893,788),24349=>array(65,-57,953,791),24350=>array(77,-66,977,839),24351=>array(69,-64,902,843),24352=>array(62,-66,943,803),24353=>array(80,-63,951,790),24354=>array(76,-65,981,831),24355=>array(63,-55,949,847),24356=>array(63,-68,954,838),24357=>array(70,-63,955,836),24358=>array(80,-65,961,819),24359=>array(68,-63,958,838),24360=>array(72,-68,909,786),24361=>array(63,-63,952,836),24362=>array(67,-60,920,764),24363=>array(62,-63,953,776),24364=>array(62,-63,953,776),24365=>array(76,-65,941,790),24366=>array(47,-64,956,832),24367=>array(55,-75,946,830),24368=>array(83,-65,912,824),24369=>array(56,-65,917,787),24370=>array(80,-63,911,782),24371=>array(62,-56,936,774),24372=>array(80,-63,944,828),24373=>array(68,-64,962,799),24374=>array(77,-59,971,850),24375=>array(70,-63,955,833),24376=>array(63,-66,901,787),24377=>array(56,-59,918,836),24378=>array(63,-74,940,766),24379=>array(89,-62,927,790),24380=>array(63,-63,939,787),24381=>array(89,-62,968,832),24382=>array(68,-63,952,835),24383=>array(54,-48,976,874),24384=>array(57,-68,975,838),24385=>array(70,-65,944,797),24386=>array(80,-58,890,829),24387=>array(75,-67,961,785),24388=>array(69,-63,951,788),24389=>array(62,-67,964,847),24390=>array(91,-48,944,855),24391=>array(68,-76,926,837),24392=>array(70,-69,948,798),24393=>array(68,-67,962,831),24394=>array(66,-63,946,806),24395=>array(73,-82,969,780),24396=>array(49,-65,951,790),24397=>array(81,-74,959,846),24398=>array(52,-67,955,849),24399=>array(68,-70,967,786),24400=>array(167,-4,786,670),24401=>array(62,-37,941,804),24402=>array(27,-62,861,832),24403=>array(123,-60,878,830),24404=>array(67,-57,941,848),24405=>array(71,-61,965,789),24406=>array(59,-58,964,834),24407=>array(50,-75,951,834),24408=>array(53,-68,958,841),24409=>array(30,-72,965,841),24410=>array(30,-52,965,810),24411=>array(40,-61,956,825),24412=>array(40,-61,962,848),24413=>array(54,-71,956,851),24414=>array(40,-61,956,818),24415=>array(52,-57,978,840),24416=>array(68,-60,978,841),24417=>array(294,-59,800,804),24418=>array(59,-67,955,828),24419=>array(37,-66,949,821),24420=>array(53,-68,951,838),24421=>array(44,-67,926,852),24422=>array(33,-67,921,831),24423=>array(57,-61,956,832),24424=>array(52,-40,964,781),24425=>array(43,-62,958,828),24426=>array(20,-69,956,832),24427=>array(41,-65,963,844),24428=>array(47,-64,952,830),24429=>array(62,-65,957,828),24430=>array(51,-62,949,850),24431=>array(55,-74,961,823),24432=>array(47,-74,955,832),24433=>array(47,-68,961,829),24434=>array(36,-68,961,829),24435=>array(178,-67,756,826),24436=>array(58,-69,920,830),24437=>array(58,-66,945,830),24438=>array(49,-65,968,842),24439=>array(41,-73,942,840),24440=>array(52,-64,959,840),24441=>array(38,-70,963,833),24442=>array(58,-66,936,830),24443=>array(40,-66,911,820),24444=>array(51,-73,961,838),24445=>array(46,-70,962,836),24446=>array(41,-68,957,837),24447=>array(34,-66,915,838),24448=>array(47,-61,937,836),24449=>array(33,-70,954,836),24450=>array(44,-65,952,841),24451=>array(56,-65,952,841),24452=>array(45,-66,968,832),24453=>array(37,-67,947,841),24454=>array(57,-70,942,834),24455=>array(54,-64,923,842),24456=>array(37,-70,950,834),24457=>array(39,-68,948,843),24458=>array(61,-65,914,833),24459=>array(36,-67,954,830),24460=>array(42,-67,953,841),24461=>array(44,-65,931,842),24462=>array(44,-65,938,841),24463=>array(44,-65,945,841),24464=>array(35,-70,963,836),24465=>array(50,-74,956,838),24466=>array(48,-73,961,838),24467=>array(48,-73,961,838),24468=>array(56,-68,955,835),24469=>array(39,-63,941,834),24470=>array(49,-70,957,838),24471=>array(50,-70,947,833),24472=>array(36,-68,955,836),24473=>array(40,-64,970,833),24474=>array(59,-68,964,835),24475=>array(53,-68,956,834),24476=>array(44,-68,933,835),24477=>array(56,-68,930,835),24478=>array(49,-71,966,838),24479=>array(55,-73,900,835),24480=>array(39,-65,972,837),24481=>array(37,-62,917,835),24482=>array(44,-75,963,835),24483=>array(44,-68,953,835),24484=>array(44,-71,964,835),24485=>array(42,-68,963,827),24486=>array(40,-73,967,821),24487=>array(35,-65,910,833),24488=>array(46,-67,953,848),24489=>array(44,-67,970,843),24490=>array(40,-67,941,840),24491=>array(49,-62,954,837),24492=>array(46,-65,953,850),24493=>array(45,-67,956,852),24494=>array(35,-76,964,833),24495=>array(46,-64,973,837),24496=>array(44,-68,945,835),24497=>array(47,-68,954,835),24498=>array(41,-72,962,820),24499=>array(35,-70,958,838),24500=>array(31,-71,973,834),24501=>array(31,-71,973,834),24502=>array(48,-70,973,832),24503=>array(35,-70,960,838),24504=>array(26,-68,957,850),24505=>array(47,-70,951,830),24506=>array(56,-74,947,837),24507=>array(53,-68,972,845),24508=>array(31,-70,966,848),24509=>array(31,-67,961,836),24510=>array(39,-72,974,830),24511=>array(18,-62,965,842),24512=>array(28,-70,976,844),24513=>array(40,-70,967,834),24514=>array(43,-66,957,840),24515=>array(41,-17,958,801),24516=>array(300,-62,695,829),24517=>array(52,-8,960,796),24518=>array(41,-73,935,819),24519=>array(63,-66,874,833),24520=>array(46,-20,954,772),24521=>array(63,-69,903,830),24522=>array(51,-63,933,830),24523=>array(63,-63,957,830),24524=>array(47,-29,946,785),24525=>array(39,-31,961,773),24526=>array(46,-20,954,831),24527=>array(55,-59,950,839),24528=>array(45,-23,963,832),24529=>array(50,-21,968,774),24530=>array(43,-60,962,830),24531=>array(46,-67,963,832),24532=>array(42,-64,948,834),24533=>array(52,-73,958,825),24534=>array(46,-67,954,832),24535=>array(46,-20,954,826),24536=>array(49,-19,951,832),24537=>array(49,-64,935,830),24538=>array(37,-64,945,830),24539=>array(69,-76,948,820),24540=>array(46,-59,961,837),24541=>array(42,-64,956,841),24542=>array(59,-42,945,829),24543=>array(50,-60,977,851),24544=>array(56,-14,976,841),24545=>array(56,-67,912,830),24546=>array(45,-22,967,783),24547=>array(40,-67,971,833),24548=>array(43,-65,956,834),24549=>array(41,-65,962,849),24550=>array(48,-75,982,850),24551=>array(48,-74,928,821),24552=>array(36,-68,949,833),24553=>array(60,-25,978,806),24554=>array(53,-67,962,829),24555=>array(50,-73,964,837),24556=>array(30,-57,941,852),24557=>array(51,-68,964,849),24558=>array(46,-69,979,829),24559=>array(46,-65,958,839),24560=>array(37,-63,954,844),24561=>array(36,-65,956,838),24562=>array(23,-66,944,854),24563=>array(35,-64,953,835),24564=>array(48,-65,975,840),24565=>array(30,-58,963,846),24566=>array(46,-69,958,832),24567=>array(44,-71,907,835),24568=>array(30,-67,953,830),24569=>array(46,-67,948,832),24570=>array(47,-75,963,836),24571=>array(43,-68,945,829),24572=>array(46,-67,957,843),24573=>array(63,-32,953,845),24574=>array(38,-60,954,829),24575=>array(41,-21,951,810),24576=>array(55,-67,959,830),24577=>array(36,-44,937,807),24578=>array(41,-20,943,831),24579=>array(35,-72,929,824),24580=>array(46,-63,924,828),24581=>array(40,-71,942,821),24582=>array(44,-67,936,827),24583=>array(56,-67,946,824),24584=>array(43,-67,954,830),24585=>array(41,-60,947,839),24586=>array(52,-67,900,836),24587=>array(47,-70,954,830),24588=>array(45,-70,951,824),24589=>array(61,-71,971,833),24590=>array(59,-29,954,846),24591=>array(35,-69,968,832),24592=>array(52,-66,908,839),24593=>array(44,-70,937,835),24594=>array(49,-25,959,830),24595=>array(45,-71,959,826),24596=>array(44,-57,953,843),24597=>array(61,-64,922,855),24598=>array(22,-58,929,850),24599=>array(47,-69,957,825),24600=>array(29,-25,970,854),24601=>array(47,-67,950,832),24602=>array(37,-51,951,840),24603=>array(47,-68,953,829),24604=>array(39,-68,962,840),24605=>array(54,-23,935,780),24606=>array(47,-71,899,836),24607=>array(47,-67,953,836),24608=>array(50,-22,968,848),24609=>array(48,-66,947,832),24610=>array(50,-68,967,829),24611=>array(63,-24,965,805),24612=>array(63,-26,965,826),24613=>array(43,-24,947,842),24614=>array(41,-69,956,830),24615=>array(54,-68,951,827),24616=>array(53,-19,964,849),24617=>array(32,-68,955,830),24618=>array(45,-58,976,843),24619=>array(44,-68,933,832),24620=>array(59,-58,903,829),24621=>array(38,-66,957,830),24622=>array(50,-73,915,831),24623=>array(38,-65,951,835),24624=>array(45,-65,961,844),24625=>array(40,-57,969,822),24626=>array(38,-66,948,833),24627=>array(43,-54,969,845),24628=>array(38,-74,942,832),24629=>array(49,-67,959,830),24630=>array(32,-71,978,832),24631=>array(64,-32,957,823),24632=>array(64,-31,957,823),24633=>array(39,-28,954,841),24634=>array(35,-63,964,844),24635=>array(63,-22,938,829),24636=>array(45,-26,934,823),24637=>array(44,-61,971,843),24638=>array(23,-57,933,843),24639=>array(33,-63,946,825),24640=>array(45,-63,941,852),24641=>array(37,-25,945,843),24642=>array(57,-69,914,837),24643=>array(37,-68,947,832),24644=>array(57,-70,922,826),24645=>array(55,-68,941,826),24646=>array(49,-70,955,821),24647=>array(29,-57,963,835),24648=>array(23,-62,929,849),24649=>array(51,-48,938,847),24650=>array(27,-65,924,834),24651=>array(54,-32,945,831),24652=>array(58,-71,954,832),24653=>array(49,-69,963,836),24654=>array(23,-57,950,843),24655=>array(48,-27,949,843),24656=>array(49,-27,947,777),24657=>array(23,-71,956,845),24658=>array(35,-59,955,849),24659=>array(34,-62,938,834),24660=>array(42,-53,957,859),24661=>array(57,-17,967,844),24662=>array(42,-41,960,846),24663=>array(23,-58,966,843),24664=>array(69,-69,967,833),24665=>array(49,-49,954,849),24666=>array(44,-52,954,836),24667=>array(54,-68,893,829),24668=>array(23,-59,964,843),24669=>array(47,-48,950,805),24670=>array(60,-74,948,828),24671=>array(43,-55,924,848),24672=>array(45,-84,963,834),24673=>array(52,-70,937,821),24674=>array(36,-62,959,832),24675=>array(41,-22,946,842),24676=>array(31,-65,964,836),24677=>array(38,-65,970,814),24678=>array(59,-71,894,826),24679=>array(45,-45,982,759),24680=>array(45,-70,957,825),24681=>array(46,-40,965,796),24682=>array(38,-66,966,839),24683=>array(52,-57,923,841),24684=>array(28,-67,944,830),24685=>array(43,-62,968,836),24686=>array(56,-66,958,828),24687=>array(43,-25,949,843),24688=>array(54,-65,982,847),24689=>array(41,-65,961,837),24690=>array(60,-70,956,829),24691=>array(37,-42,924,768),24692=>array(53,-28,946,863),24693=>array(47,-28,942,846),24694=>array(46,-16,935,783),24695=>array(51,-35,942,805),24696=>array(35,-68,892,825),24697=>array(23,-75,941,823),24698=>array(50,-62,928,826),24699=>array(39,-63,878,827),24700=>array(39,-64,937,832),24701=>array(38,-66,915,823),24702=>array(38,-55,933,832),24703=>array(59,-22,976,798),24704=>array(53,-67,900,829),24705=>array(55,-64,900,830),24706=>array(26,-67,927,828),24707=>array(37,-67,907,827),24708=>array(55,-61,934,846),24709=>array(45,-66,968,842),24710=>array(44,-35,967,838),24711=>array(42,-62,968,834),24712=>array(45,-66,949,835),24713=>array(33,-31,959,832),24714=>array(51,-38,958,822),24715=>array(46,-72,954,825),24716=>array(42,-66,937,848),24717=>array(49,-63,955,844),24718=>array(57,-62,939,834),24719=>array(57,-73,964,835),24720=>array(56,-39,962,829),24721=>array(45,-68,941,833),24722=>array(46,-67,958,830),24723=>array(44,-61,944,833),24724=>array(31,-62,955,848),24725=>array(46,-67,951,847),24726=>array(31,-66,949,834),24727=>array(43,-63,960,852),24728=>array(42,-41,960,802),24729=>array(43,-67,951,852),24730=>array(43,-66,971,835),24731=>array(11,-69,953,849),24732=>array(48,-64,960,830),24733=>array(47,-68,961,826),24734=>array(41,-55,968,837),24735=>array(43,-67,945,821),24736=>array(29,-35,957,839),24737=>array(39,-43,953,830),24738=>array(40,-68,960,833),24739=>array(52,-58,958,832),24740=>array(39,-58,958,866),24741=>array(52,-58,958,869),24742=>array(22,-66,960,844),24743=>array(22,-66,918,842),24744=>array(49,-23,963,842),24745=>array(40,-64,900,831),24746=>array(62,-25,962,783),24747=>array(52,-32,939,824),24748=>array(37,-16,933,791),24749=>array(32,-62,945,827),24750=>array(45,-74,947,815),24751=>array(29,-61,885,832),24752=>array(52,-67,972,832),24753=>array(39,-72,948,833),24754=>array(43,-38,953,831),24755=>array(40,-47,945,839),24756=>array(37,-62,952,844),24757=>array(48,-67,976,830),24758=>array(127,-62,886,792),24759=>array(50,-67,960,838),24760=>array(30,-67,974,840),24761=>array(62,-36,957,834),24762=>array(62,-67,924,839),24763=>array(46,-65,960,837),24764=>array(21,-62,944,846),24765=>array(36,-78,948,826),24766=>array(34,-57,953,851),24767=>array(46,-63,979,832),24768=>array(45,-64,974,837),24769=>array(37,-28,970,830),24770=>array(52,-67,912,849),24771=>array(51,-74,949,824),24772=>array(38,-28,955,831),24773=>array(19,-66,939,837),24774=>array(31,-68,891,826),24775=>array(43,-67,971,833),24776=>array(52,-70,968,826),24777=>array(48,-26,965,829),24778=>array(27,-60,974,842),24779=>array(29,-61,959,855),24780=>array(52,-31,955,838),24781=>array(43,-74,965,830),24782=>array(41,-27,964,842),24783=>array(34,-64,988,833),24784=>array(32,-66,918,837),24785=>array(50,-20,958,844),24786=>array(42,-41,960,842),24787=>array(31,-72,989,834),24788=>array(52,-68,964,841),24789=>array(49,-58,914,846),24790=>array(26,-38,971,823),24791=>array(50,-51,972,853),24792=>array(43,-67,911,828),24793=>array(38,-52,962,838),24794=>array(41,-65,965,844),24795=>array(40,-53,956,850),24796=>array(47,-73,956,837),24797=>array(45,-71,914,824),24798=>array(47,-72,961,833),24799=>array(23,-61,946,849),24800=>array(56,-28,953,846),24801=>array(62,-25,962,783),24802=>array(39,-31,977,831),24803=>array(53,-43,940,844),24804=>array(44,-69,957,835),24805=>array(35,-32,983,834),24806=>array(47,-62,958,851),24807=>array(46,-68,964,831),24808=>array(35,-75,982,835),24809=>array(23,-32,932,832),24810=>array(37,-23,955,839),24811=>array(37,-47,962,834),24812=>array(40,-65,929,821),24813=>array(20,-53,910,835),24814=>array(31,-60,954,840),24815=>array(23,-64,925,832),24816=>array(44,-66,953,841),24817=>array(43,-65,929,847),24818=>array(46,-68,962,828),24819=>array(43,-47,956,825),24820=>array(45,-67,956,832),24821=>array(43,-71,952,830),24822=>array(49,-57,956,856),24823=>array(41,-51,968,836),24824=>array(49,-70,959,840),24825=>array(46,-37,962,828),24826=>array(39,-58,958,847),24827=>array(60,-64,921,831),24828=>array(53,-70,925,830),24829=>array(40,-54,963,836),24830=>array(47,-68,969,830),24831=>array(59,-69,981,824),24832=>array(29,-71,977,830),24833=>array(28,-51,960,829),24834=>array(28,-51,955,832),24835=>array(52,-61,956,833),24836=>array(51,-88,969,823),24837=>array(58,-70,953,827),24838=>array(44,-29,957,840),24839=>array(47,-70,944,837),24840=>array(29,-62,965,854),24841=>array(30,-73,981,846),24842=>array(30,-57,935,841),24843=>array(49,-73,972,836),24844=>array(47,-68,972,841),24845=>array(65,-49,963,818),24846=>array(34,-69,980,841),24847=>array(43,-48,959,840),24848=>array(40,-72,947,819),24849=>array(55,-58,914,836),24850=>array(46,-53,916,837),24851=>array(30,-56,952,837),24852=>array(55,-73,954,828),24853=>array(40,-67,963,829),24854=>array(38,-58,952,837),24855=>array(30,-45,954,830),24856=>array(47,-70,974,833),24857=>array(28,-54,990,868),24858=>array(38,-45,954,793),24859=>array(72,-65,948,834),24860=>array(38,-68,958,829),24861=>array(49,-62,945,830),24862=>array(51,-72,957,827),24863=>array(47,-29,951,829),24864=>array(31,-74,948,823),24865=>array(19,-74,961,850),24866=>array(37,-74,961,823),24867=>array(48,-68,950,829),24868=>array(27,-64,930,829),24869=>array(48,-68,988,836),24870=>array(53,-70,937,821),24871=>array(28,-61,952,845),24872=>array(52,-49,960,838),24873=>array(55,-77,958,833),24874=>array(48,-68,941,829),24875=>array(38,-67,980,833),24876=>array(43,-60,961,830),24877=>array(57,-74,936,832),24878=>array(60,-71,955,834),24879=>array(56,-72,968,833),24880=>array(57,-74,941,829),24881=>array(45,-74,963,846),24882=>array(58,-67,914,833),24883=>array(28,-23,955,789),24884=>array(30,-67,982,852),24885=>array(52,-70,917,821),24886=>array(60,-58,932,849),24887=>array(37,-68,951,835),24888=>array(44,-33,957,835),24889=>array(52,-76,962,841),24890=>array(49,-68,950,834),24891=>array(62,-40,970,831),24892=>array(49,-66,927,834),24893=>array(40,-66,951,834),24894=>array(32,-63,974,851),24895=>array(43,-52,963,812),24896=>array(47,-71,974,831),24897=>array(62,-38,967,780),24898=>array(42,-50,957,816),24899=>array(44,-72,955,851),24900=>array(38,-59,976,835),24901=>array(55,-75,971,829),24902=>array(50,-54,926,853),24903=>array(40,-42,974,845),24904=>array(38,-48,951,837),24905=>array(50,-72,951,841),24906=>array(35,-72,975,849),24907=>array(50,-48,954,848),24908=>array(41,-68,962,836),24909=>array(48,-72,965,826),24910=>array(41,-69,951,843),24911=>array(60,-78,952,835),24912=>array(47,-51,963,831),24913=>array(48,-65,952,830),24914=>array(46,-72,953,824),24915=>array(39,-68,984,829),24916=>array(48,-71,973,832),24917=>array(51,-63,964,833),24918=>array(53,-74,919,822),24919=>array(15,-43,954,829),24920=>array(29,-76,967,847),24921=>array(38,-58,953,837),24922=>array(37,-63,965,846),24923=>array(38,-68,952,829),24924=>array(47,-44,964,853),24925=>array(41,-58,963,824),24926=>array(20,-58,953,854),24927=>array(52,-74,934,830),24928=>array(36,-76,960,838),24929=>array(40,-73,960,829),24930=>array(38,-69,970,825),24931=>array(40,-68,967,843),24932=>array(52,-49,968,818),24933=>array(39,-66,945,838),24934=>array(39,-36,981,828),24935=>array(49,-52,951,835),24936=>array(28,-70,963,842),24937=>array(40,-67,971,834),24938=>array(40,-68,959,828),24939=>array(42,-50,958,845),24940=>array(47,-64,953,829),24941=>array(44,-33,970,835),24942=>array(45,-77,957,841),24943=>array(40,-68,963,845),24944=>array(55,-21,959,838),24945=>array(39,-65,952,828),24946=>array(48,-65,956,827),24947=>array(37,-68,954,829),24948=>array(54,-66,915,826),24949=>array(37,-65,959,842),24950=>array(50,-67,951,838),24951=>array(39,-57,955,846),24952=>array(57,-31,959,849),24953=>array(57,-31,959,834),24954=>array(32,-75,952,830),24955=>array(41,-76,981,845),24956=>array(36,-29,965,844),24957=>array(35,-63,963,842),24958=>array(38,-25,973,841),24959=>array(70,-32,957,800),24960=>array(51,-70,979,824),24961=>array(45,-65,964,834),24962=>array(55,-60,966,816),24963=>array(38,-39,982,847),24964=>array(37,-45,958,837),24965=>array(58,-51,979,859),24966=>array(33,-69,945,835),24967=>array(47,-29,961,817),24968=>array(45,-72,962,829),24969=>array(42,-73,971,828),24970=>array(42,-70,957,834),24971=>array(48,-28,965,843),24972=>array(39,-36,963,833),24973=>array(28,-60,975,848),24974=>array(38,-73,905,835),24975=>array(46,-61,972,854),24976=>array(36,-76,962,832),24977=>array(42,-58,960,800),24978=>array(36,-70,966,833),24979=>array(43,-61,971,835),24980=>array(25,-67,963,846),24981=>array(43,-61,963,837),24982=>array(25,-60,970,835),24983=>array(29,-60,952,841),24984=>array(52,-70,956,837),24985=>array(37,-47,961,844),24986=>array(42,-63,965,832),24987=>array(42,-72,961,824),24988=>array(45,-62,965,833),24989=>array(53,-52,976,834),24990=>array(23,-75,954,837),24991=>array(32,-68,967,823),24992=>array(31,-47,961,818),24993=>array(48,-70,979,836),24994=>array(17,-87,964,830),24995=>array(29,-70,962,829),24996=>array(36,-72,956,836),24997=>array(40,-47,961,832),24998=>array(52,-70,946,833),24999=>array(38,-68,950,831),25000=>array(50,-33,959,837),25001=>array(43,-29,958,845),25002=>array(36,-68,908,825),25003=>array(51,-55,902,846),25004=>array(46,-68,963,828),25005=>array(34,-58,971,845),25006=>array(38,-71,974,832),25007=>array(45,-59,961,832),25008=>array(44,-62,944,826),25009=>array(47,-71,972,838),25010=>array(42,-38,976,839),25011=>array(36,-70,954,825),25012=>array(35,-65,973,828),25013=>array(49,-39,948,821),25014=>array(32,-68,965,840),25015=>array(38,-66,960,824),25016=>array(32,-66,976,857),25017=>array(41,-65,984,838),25018=>array(43,-67,957,842),25019=>array(43,-67,957,847),25020=>array(45,-32,957,835),25021=>array(48,-56,968,847),25022=>array(38,-71,970,832),25023=>array(33,-78,968,841),25024=>array(37,-72,973,864),25025=>array(37,-79,974,819),25026=>array(46,-58,967,845),25027=>array(38,-66,959,832),25028=>array(29,-69,952,841),25029=>array(31,-85,978,829),25030=>array(42,-62,976,830),25031=>array(48,-26,955,844),25032=>array(29,-63,950,845),25033=>array(39,-68,953,843),25034=>array(18,-68,949,860),25035=>array(42,-58,959,832),25036=>array(44,-63,964,831),25037=>array(38,-68,971,844),25038=>array(53,-68,950,833),25039=>array(49,-70,932,848),25040=>array(40,-71,965,839),25041=>array(53,-26,941,821),25042=>array(30,-63,943,838),25043=>array(48,-69,975,843),25044=>array(33,-70,947,847),25045=>array(36,-59,959,821),25046=>array(51,-41,944,827),25047=>array(25,-69,956,833),25048=>array(53,-52,953,811),25049=>array(60,-71,942,821),25050=>array(33,-71,953,830),25051=>array(37,-71,953,826),25052=>array(37,-71,963,825),25053=>array(49,-71,974,830),25054=>array(41,-59,971,836),25055=>array(46,-44,966,823),25056=>array(38,-70,964,836),25057=>array(38,-69,962,846),25058=>array(43,-73,964,821),25059=>array(46,-62,966,834),25060=>array(38,-69,957,830),25061=>array(44,-70,976,829),25062=>array(48,-59,964,843),25063=>array(44,-68,962,839),25064=>array(36,-71,975,838),25065=>array(34,-56,967,858),25066=>array(41,-70,980,825),25067=>array(47,-73,957,844),25068=>array(29,-55,952,847),25069=>array(51,-85,939,836),25070=>array(47,-73,955,828),25071=>array(48,-41,980,826),25072=>array(47,-65,905,848),25073=>array(47,-71,960,824),25074=>array(32,-42,963,846),25075=>array(26,-56,988,836),25076=>array(27,-68,962,845),25077=>array(41,-68,954,835),25078=>array(32,-72,970,845),25079=>array(43,-69,962,841),25080=>array(46,-32,965,836),25081=>array(29,-67,984,840),25082=>array(27,-67,963,846),25083=>array(30,-80,966,830),25084=>array(29,-65,957,826),25085=>array(42,-68,953,826),25086=>array(43,-66,963,830),25087=>array(43,-55,963,834),25088=>array(42,-54,961,841),25089=>array(39,-44,967,836),25090=>array(40,-72,960,854),25091=>array(42,-78,962,829),25092=>array(34,-57,971,836),25093=>array(39,-36,957,842),25094=>array(59,-29,941,826),25095=>array(39,-36,957,846),25096=>array(90,-52,956,829),25097=>array(73,-64,966,832),25098=>array(65,-64,951,840),25099=>array(74,-70,930,820),25100=>array(51,-57,951,836),25101=>array(64,-67,953,837),25102=>array(50,-66,952,830),25103=>array(42,-68,934,825),25104=>array(50,-72,946,831),25105=>array(61,-60,933,832),25106=>array(61,-64,955,838),25107=>array(70,-66,956,838),25108=>array(85,-58,935,840),25109=>array(44,-68,961,829),25110=>array(70,-58,956,838),25111=>array(32,-74,938,826),25112=>array(100,-69,937,829),25113=>array(102,-67,957,823),25114=>array(65,-60,962,836),25115=>array(81,-57,949,788),25116=>array(67,-67,953,838),25117=>array(63,-74,946,834),25118=>array(77,-49,935,796),25119=>array(51,-65,946,834),25120=>array(68,-69,968,839),25121=>array(33,-72,939,836),25122=>array(43,-64,954,830),25123=>array(45,-71,964,832),25124=>array(33,-65,958,828),25125=>array(52,-59,956,832),25126=>array(35,-73,947,833),25127=>array(43,-64,970,848),25128=>array(65,-65,956,829),25129=>array(52,-65,956,829),25130=>array(54,-61,959,837),25131=>array(36,-63,964,829),25132=>array(52,-61,947,815),25133=>array(42,-70,958,844),25134=>array(39,-77,962,835),25135=>array(52,-68,956,837),25136=>array(56,-73,947,832),25137=>array(41,-65,949,834),25138=>array(52,-68,958,835),25139=>array(24,-62,946,836),25140=>array(43,-63,938,834),25141=>array(50,-65,958,827),25142=>array(69,-64,882,838),25143=>array(53,-66,849,842),25144=>array(57,-64,918,764),25145=>array(45,-71,939,836),25146=>array(51,-59,963,831),25147=>array(39,-68,947,799),25148=>array(89,-72,914,783),25149=>array(57,-67,954,841),25150=>array(44,-71,941,837),25151=>array(40,-66,938,804),25152=>array(42,-70,959,841),25153=>array(43,-70,908,796),25154=>array(61,-65,906,826),25155=>array(45,-64,898,853),25156=>array(38,-68,899,843),25157=>array(38,-68,901,847),25158=>array(38,-68,983,850),25159=>array(35,-67,896,811),25160=>array(28,-68,961,802),25161=>array(28,-77,947,810),25162=>array(52,-72,962,836),25163=>array(85,-68,913,833),25164=>array(266,-62,684,829),25165=>array(64,-62,916,835),25166=>array(53,-61,943,828),25167=>array(56,-61,960,828),25168=>array(66,-71,909,829),25169=>array(53,-48,964,849),25170=>array(45,-65,955,830),25171=>array(54,-62,934,830),25172=>array(66,-67,919,829),25173=>array(43,-61,953,828),25174=>array(80,-61,957,828),25175=>array(53,-61,945,829),25176=>array(55,-69,930,826),25177=>array(61,-69,968,830),25178=>array(58,-67,918,831),25179=>array(44,-64,934,829),25180=>array(59,-65,958,830),25181=>array(39,-61,944,828),25182=>array(48,-53,951,841),25183=>array(39,-65,958,828),25184=>array(38,-56,959,837),25185=>array(48,-57,958,836),25186=>array(47,-63,950,836),25187=>array(71,-68,893,830),25188=>array(53,-68,947,832),25189=>array(53,-66,960,827),25190=>array(46,-64,947,832),25191=>array(25,-67,945,825),25192=>array(42,-61,964,826),25193=>array(42,-63,922,826),25194=>array(29,-65,882,826),25195=>array(44,-62,885,830),25196=>array(55,-65,889,831),25197=>array(39,-53,947,841),25198=>array(49,-64,963,820),25199=>array(52,-57,945,830),25200=>array(50,-66,958,832),25201=>array(41,-51,962,840),25202=>array(59,-68,973,839),25203=>array(45,-78,963,826),25204=>array(68,-66,964,832),25205=>array(42,-55,975,845),25206=>array(50,-72,962,833),25207=>array(50,-67,968,832),25208=>array(78,-58,907,839),25209=>array(45,-72,961,823),25210=>array(42,-55,963,853),25211=>array(48,-69,963,840),25212=>array(50,-69,950,829),25213=>array(50,-67,960,828),25214=>array(63,-68,950,825),25215=>array(33,-67,965,785),25216=>array(37,-74,952,824),25217=>array(50,-64,949,844),25218=>array(63,-55,948,839),25219=>array(62,-59,958,831),25220=>array(39,-63,960,829),25221=>array(31,-55,921,840),25222=>array(37,-57,974,851),25223=>array(57,-63,897,832),25224=>array(56,-66,903,829),25225=>array(53,-64,961,837),25226=>array(40,-62,941,833),25227=>array(42,-55,967,839),25228=>array(61,-58,962,838),25229=>array(42,-65,969,839),25230=>array(51,-71,954,826),25231=>array(56,-70,957,826),25232=>array(58,-66,895,835),25233=>array(47,-69,905,834),25234=>array(57,-58,941,833),25235=>array(40,-69,959,829),25236=>array(57,-52,969,839),25237=>array(56,-66,963,821),25238=>array(52,-64,947,828),25239=>array(46,-63,959,829),25240=>array(61,-68,938,834),25241=>array(48,-67,939,839),25242=>array(31,-60,935,829),25243=>array(28,-78,930,821),25244=>array(51,-77,950,835),25245=>array(55,-55,907,853),25246=>array(42,-56,958,839),25247=>array(37,-66,914,823),25248=>array(36,-54,912,832),25249=>array(36,-56,948,832),25250=>array(38,-71,950,828),25251=>array(46,-63,920,830),25252=>array(27,-66,872,828),25253=>array(49,-69,946,820),25254=>array(54,-52,950,838),25255=>array(93,-57,957,833),25256=>array(41,-65,943,827),25257=>array(50,-66,953,828),25258=>array(39,-65,941,838),25259=>array(45,-71,978,832),25260=>array(44,-70,953,839),25261=>array(44,-60,954,830),25262=>array(51,-62,952,845),25263=>array(45,-62,951,827),25264=>array(44,-69,956,833),25265=>array(50,-61,955,840),25266=>array(56,-70,953,821),25267=>array(50,-74,955,828),25268=>array(49,-67,951,828),25269=>array(43,-64,957,831),25270=>array(50,-70,965,827),25271=>array(45,-56,951,823),25272=>array(58,-67,969,831),25273=>array(61,-67,962,835),25274=>array(61,-65,942,832),25275=>array(43,-68,905,836),25276=>array(73,-66,908,828),25277=>array(62,-67,899,836),25278=>array(52,-60,960,839),25279=>array(48,-64,956,828),25280=>array(61,-64,972,832),25281=>array(61,-64,928,832),25282=>array(53,-69,931,816),25283=>array(57,-62,944,841),25284=>array(48,-68,951,836),25285=>array(44,-60,953,836),25286=>array(53,-62,935,838),25287=>array(37,-68,953,825),25288=>array(50,-67,947,829),25289=>array(49,-64,947,829),25290=>array(52,-62,959,841),25291=>array(44,-73,948,825),25292=>array(48,-64,942,828),25293=>array(73,-64,904,851),25294=>array(42,-68,970,851),25295=>array(60,-58,974,851),25296=>array(49,-64,910,826),25297=>array(63,-67,959,826),25298=>array(39,-68,944,832),25299=>array(53,-63,936,826),25300=>array(40,-77,954,835),25301=>array(74,-64,944,831),25302=>array(43,-62,954,839),25303=>array(61,-73,920,832),25304=>array(65,-61,909,849),25305=>array(60,-63,912,832),25306=>array(52,-75,950,845),25307=>array(69,-67,913,820),25308=>array(47,-79,956,829),25309=>array(44,-66,946,835),25310=>array(70,-64,943,832),25311=>array(41,-61,937,830),25312=>array(55,-61,956,832),25313=>array(36,-66,949,832),25314=>array(31,-52,961,837),25315=>array(29,-61,932,835),25316=>array(57,-68,938,832),25317=>array(40,-72,893,824),25318=>array(38,-55,923,830),25319=>array(40,-61,918,836),25320=>array(38,-74,925,820),25321=>array(30,-64,942,826),25322=>array(61,-63,935,832),25323=>array(54,-66,967,829),25324=>array(39,-70,952,835),25325=>array(43,-70,964,827),25326=>array(45,-67,957,828),25327=>array(37,-71,964,823),25328=>array(58,-72,951,823),25329=>array(35,-69,953,826),25330=>array(36,-65,977,828),25331=>array(38,-67,965,838),25332=>array(33,-64,960,829),25333=>array(60,-68,959,830),25334=>array(46,-64,945,839),25335=>array(41,-65,952,833),25336=>array(60,-75,940,833),25337=>array(54,-71,928,826),25338=>array(55,-65,953,832),25339=>array(56,-80,958,822),25340=>array(48,-70,949,839),25341=>array(44,-64,961,836),25342=>array(45,-63,961,848),25343=>array(38,-70,969,862),25344=>array(62,-81,950,819),25345=>array(39,-64,944,834),25346=>array(36,-49,951,844),25347=>array(56,-52,951,830),25348=>array(60,-66,942,844),25349=>array(60,-62,952,832),25350=>array(78,-62,976,844),25351=>array(52,-68,937,829),25352=>array(54,-62,951,835),25353=>array(57,-67,948,832),25354=>array(41,-66,946,844),25355=>array(57,-50,953,827),25356=>array(49,-65,987,846),25357=>array(46,-51,974,859),25358=>array(48,-65,963,839),25359=>array(60,-74,911,815),25360=>array(63,-51,959,855),25361=>array(47,-75,950,825),25362=>array(60,-78,927,823),25363=>array(44,-64,959,834),25364=>array(52,-64,964,829),25365=>array(66,-70,957,817),25366=>array(38,-65,943,846),25367=>array(60,-62,963,844),25368=>array(49,-67,950,835),25369=>array(19,-68,951,835),25370=>array(54,-68,942,824),25371=>array(42,-60,920,845),25372=>array(60,-50,954,844),25373=>array(25,-62,945,831),25374=>array(34,-60,942,830),25375=>array(26,-64,948,832),25376=>array(42,-64,930,825),25377=>array(35,-62,883,826),25378=>array(36,-64,948,826),25379=>array(36,-66,923,832),25380=>array(37,-61,938,834),25381=>array(33,-59,911,832),25382=>array(61,-61,936,832),25383=>array(60,-53,909,844),25384=>array(42,-69,965,834),25385=>array(46,-66,956,829),25386=>array(47,-73,950,822),25387=>array(51,-71,948,829),25388=>array(56,-59,953,835),25389=>array(53,-60,969,836),25390=>array(60,-67,926,844),25391=>array(45,-74,963,821),25392=>array(60,-49,950,838),25393=>array(60,-60,969,832),25394=>array(56,-63,952,839),25395=>array(53,-66,949,827),25396=>array(40,-64,947,828),25397=>array(38,-51,951,841),25398=>array(36,-56,916,841),25399=>array(39,-68,950,836),25400=>array(56,-72,947,829),25401=>array(36,-68,956,823),25402=>array(44,-66,964,824),25403=>array(52,-73,956,826),25404=>array(41,-56,944,858),25405=>array(44,-69,965,840),25406=>array(47,-70,964,835),25407=>array(60,-52,939,844),25408=>array(60,-64,969,831),25409=>array(50,-68,932,828),25410=>array(43,-72,952,823),25411=>array(51,-65,966,833),25412=>array(59,-65,952,832),25413=>array(62,-70,915,825),25414=>array(53,-69,915,826),25415=>array(56,-69,958,829),25416=>array(43,-59,965,832),25417=>array(35,-72,953,821),25418=>array(53,-63,953,832),25419=>array(48,-67,952,826),25420=>array(45,-71,909,825),25421=>array(38,-68,951,826),25422=>array(52,-65,919,835),25423=>array(56,-67,956,828),25424=>array(55,-67,903,823),25425=>array(56,-73,958,831),25426=>array(67,-65,955,835),25427=>array(64,-67,958,829),25428=>array(76,-65,912,829),25429=>array(39,-69,950,832),25430=>array(46,-69,950,834),25431=>array(58,-64,966,827),25432=>array(65,-65,979,836),25433=>array(59,-65,954,829),25434=>array(67,-63,956,829),25435=>array(67,-63,915,829),25436=>array(44,-78,963,829),25437=>array(67,-61,968,829),25438=>array(44,-63,914,832),25439=>array(32,-64,937,827),25440=>array(50,-64,931,829),25441=>array(31,-63,931,830),25442=>array(25,-73,948,825),25443=>array(49,-62,900,836),25444=>array(66,-67,951,824),25445=>array(58,-70,961,852),25446=>array(73,-52,966,835),25447=>array(36,-74,967,834),25448=>array(43,-68,969,845),25449=>array(27,-66,959,826),25450=>array(67,-65,960,833),25451=>array(54,-63,904,832),25452=>array(37,-60,949,849),25453=>array(37,-65,947,846),25454=>array(37,-54,943,838),25455=>array(56,-64,914,830),25456=>array(50,-64,974,832),25457=>array(50,-71,967,842),25458=>array(36,-56,967,835),25459=>array(53,-58,951,833),25460=>array(67,-61,962,829),25461=>array(41,-54,950,843),25462=>array(30,-71,933,833),25463=>array(40,-75,963,833),25464=>array(54,-69,959,824),25465=>array(67,-72,957,829),25466=>array(23,-61,963,847),25467=>array(27,-64,961,853),25468=>array(53,-59,967,840),25469=>array(51,-51,953,854),25470=>array(67,-64,939,845),25471=>array(67,-63,938,835),25472=>array(45,-72,961,833),25473=>array(53,-71,968,832),25474=>array(56,-74,938,840),25475=>array(44,-65,922,829),25476=>array(38,-65,974,853),25477=>array(46,-65,959,836),25478=>array(67,-65,906,829),25479=>array(41,-67,975,827),25480=>array(52,-69,964,832),25481=>array(46,-71,944,825),25482=>array(48,-65,959,845),25483=>array(67,-69,966,839),25484=>array(79,-61,932,835),25485=>array(51,-69,960,827),25486=>array(45,-63,966,842),25487=>array(62,-69,921,841),25488=>array(61,-65,908,842),25489=>array(50,-73,953,835),25490=>array(41,-69,951,831),25491=>array(41,-71,958,832),25492=>array(73,-69,951,788),25493=>array(40,-72,971,820),25494=>array(40,-74,963,820),25495=>array(38,-65,965,842),25496=>array(49,-76,911,829),25497=>array(40,-66,952,828),25498=>array(40,-69,942,820),25499=>array(38,-65,968,829),25500=>array(48,-70,957,832),25501=>array(53,-70,951,827),25502=>array(45,-52,971,852),25503=>array(34,-60,966,837),25504=>array(41,-71,955,826),25505=>array(39,-58,975,848),25506=>array(39,-69,966,824),25507=>array(45,-71,942,827),25508=>array(49,-69,898,829),25509=>array(43,-71,950,828),25510=>array(40,-69,911,820),25511=>array(36,-65,945,828),25512=>array(52,-68,955,836),25513=>array(41,-68,966,839),25514=>array(49,-72,948,824),25515=>array(41,-51,968,841),25516=>array(50,-62,914,844),25517=>array(46,-59,988,832),25518=>array(55,-68,951,836),25519=>array(38,-67,951,832),25520=>array(54,-52,954,826),25521=>array(83,-67,944,831),25522=>array(73,-71,924,818),25523=>array(31,-65,909,832),25524=>array(37,-60,904,830),25525=>array(40,-72,977,828),25526=>array(40,-71,956,856),25527=>array(22,-70,923,824),25528=>array(41,-63,917,837),25529=>array(65,-59,954,825),25530=>array(54,-62,942,835),25531=>array(28,-65,973,826),25532=>array(30,-64,921,829),25533=>array(42,-60,947,854),25534=>array(49,-63,975,839),25535=>array(40,-72,948,836),25536=>array(37,-65,965,835),25537=>array(59,-74,962,821),25538=>array(61,-68,955,839),25539=>array(43,-68,950,837),25540=>array(39,-64,973,831),25541=>array(40,-69,941,785),25542=>array(46,-67,954,835),25543=>array(50,-67,947,829),25544=>array(53,-72,899,823),25545=>array(46,-69,964,826),25546=>array(55,-70,952,828),25547=>array(50,-74,972,828),25548=>array(57,-70,971,821),25549=>array(36,-66,968,845),25550=>array(47,-59,965,851),25551=>array(53,-69,955,828),25552=>array(48,-72,969,826),25553=>array(55,-72,954,820),25554=>array(48,-71,940,836),25555=>array(57,-68,962,828),25556=>array(33,-50,972,850),25557=>array(54,-64,949,828),25558=>array(37,-67,948,829),25559=>array(51,-72,957,832),25560=>array(53,-71,951,838),25561=>array(62,-69,920,832),25562=>array(46,-77,944,820),25563=>array(40,-65,971,838),25564=>array(36,-60,975,862),25565=>array(53,-69,977,829),25566=>array(35,-72,912,831),25567=>array(57,-74,964,823),25568=>array(41,-63,953,829),25569=>array(54,-62,943,830),25570=>array(40,-72,960,849),25571=>array(37,-63,954,836),25572=>array(57,-64,901,830),25573=>array(55,-67,943,838),25574=>array(44,-67,903,831),25575=>array(43,-68,949,831),25576=>array(49,-69,941,833),25577=>array(50,-68,949,830),25578=>array(34,-66,964,829),25579=>array(66,-51,969,851),25580=>array(40,-69,960,836),25581=>array(73,-71,924,818),25582=>array(56,-68,945,825),25583=>array(56,-68,956,825),25584=>array(53,-62,954,830),25585=>array(67,-70,941,833),25586=>array(38,-53,971,843),25587=>array(53,-73,961,827),25588=>array(61,-69,969,830),25589=>array(38,-66,959,823),25590=>array(34,-64,945,829),25591=>array(48,-70,940,826),25592=>array(28,-57,971,836),25593=>array(48,-63,953,827),25594=>array(39,-76,937,819),25595=>array(35,-66,971,829),25596=>array(49,-61,974,833),25597=>array(32,-60,930,833),25598=>array(40,-72,967,820),25599=>array(35,-68,938,825),25600=>array(43,-63,939,829),25601=>array(42,-73,897,824),25602=>array(35,-53,943,837),25603=>array(95,-59,950,822),25604=>array(50,-59,960,849),25605=>array(34,-63,926,837),25606=>array(39,-68,958,836),25607=>array(45,-64,971,842),25608=>array(52,-72,962,837),25609=>array(39,-58,957,851),25610=>array(53,-62,909,836),25611=>array(53,-75,968,828),25612=>array(53,-75,968,827),25613=>array(51,-70,956,822),25614=>array(61,-68,961,828),25615=>array(50,-66,945,832),25616=>array(50,-75,950,843),25617=>array(43,-67,954,829),25618=>array(53,-57,962,853),25619=>array(27,-66,933,843),25620=>array(28,-65,950,826),25621=>array(51,-61,954,826),25622=>array(42,-64,945,845),25623=>array(66,-60,921,844),25624=>array(47,-50,955,847),25625=>array(43,-64,953,829),25626=>array(55,-64,934,838),25627=>array(49,-70,953,838),25628=>array(44,-78,963,832),25629=>array(67,-67,971,843),25630=>array(60,-67,940,842),25631=>array(48,-72,952,823),25632=>array(56,-70,915,835),25633=>array(35,-67,964,829),25634=>array(43,-65,958,833),25635=>array(44,-72,968,831),25636=>array(41,-50,954,859),25637=>array(44,-55,967,857),25638=>array(52,-64,917,828),25639=>array(56,-71,923,838),25640=>array(59,-64,918,827),25641=>array(43,-65,969,838),25642=>array(46,-70,948,843),25643=>array(50,-64,957,842),25644=>array(38,-71,976,838),25645=>array(40,-71,966,830),25646=>array(56,-70,975,826),25647=>array(43,-70,920,838),25648=>array(56,-68,916,827),25649=>array(67,-71,928,829),25650=>array(38,-66,960,844),25651=>array(47,-70,948,836),25652=>array(36,-59,981,845),25653=>array(49,-67,965,826),25654=>array(37,-66,970,849),25655=>array(58,-72,961,836),25656=>array(43,-68,973,839),25657=>array(55,-65,952,825),25658=>array(39,-77,947,839),25659=>array(38,-64,969,862),25660=>array(43,-69,970,839),25661=>array(40,-65,965,830),25662=>array(42,-61,952,837),25663=>array(52,-57,955,822),25664=>array(56,-69,945,842),25665=>array(65,-62,955,826),25666=>array(47,-58,951,835),25667=>array(35,-55,954,837),25668=>array(47,-60,960,835),25669=>array(38,-63,967,830),25670=>array(31,-63,934,834),25671=>array(28,-76,914,819),25672=>array(43,-64,932,844),25673=>array(52,-64,975,841),25674=>array(38,-66,922,830),25675=>array(45,-73,967,835),25676=>array(55,-71,942,847),25677=>array(58,-71,950,832),25678=>array(55,-70,968,826),25679=>array(52,-64,976,835),25680=>array(50,-66,974,832),25681=>array(56,-68,927,827),25682=>array(43,-69,955,830),25683=>array(51,-66,965,829),25684=>array(40,-66,958,846),25685=>array(43,-68,960,829),25686=>array(43,-63,968,841),25687=>array(33,-69,978,837),25688=>array(45,-73,948,825),25689=>array(55,-71,974,827),25690=>array(49,-59,945,833),25691=>array(44,-51,945,855),25692=>array(35,-73,955,827),25693=>array(53,-70,956,838),25694=>array(56,-68,953,826),25695=>array(41,-75,942,831),25696=>array(53,-67,964,831),25697=>array(47,-70,965,830),25698=>array(53,-70,938,836),25699=>array(43,-64,953,841),25700=>array(37,-59,946,839),25701=>array(52,-68,949,835),25702=>array(47,-76,978,832),25703=>array(41,-68,953,833),25704=>array(39,-72,954,827),25705=>array(37,-63,940,838),25706=>array(43,-66,984,843),25707=>array(51,-66,958,830),25708=>array(57,-72,961,837),25709=>array(42,-67,962,851),25710=>array(54,-70,971,839),25711=>array(56,-67,952,833),25712=>array(50,-70,974,832),25713=>array(53,-68,975,822),25714=>array(51,-67,955,828),25715=>array(37,-67,951,824),25716=>array(30,-56,948,836),25717=>array(50,-70,959,828),25718=>array(38,-63,959,839),25719=>array(52,-67,970,838),25720=>array(45,-72,971,823),25721=>array(53,-65,965,835),25722=>array(53,-64,910,830),25723=>array(34,-78,966,849),25724=>array(51,-66,956,826),25725=>array(31,-54,948,839),25726=>array(40,-64,959,828),25727=>array(55,-70,964,843),25728=>array(60,-54,946,833),25729=>array(43,-68,957,847),25730=>array(42,-67,975,829),25731=>array(73,-64,955,835),25732=>array(36,-65,923,823),25733=>array(31,-68,971,829),25734=>array(73,-66,953,831),25735=>array(46,-69,971,837),25736=>array(54,-68,942,833),25737=>array(58,-68,971,844),25738=>array(42,-69,911,825),25739=>array(39,-71,905,822),25740=>array(42,-85,953,826),25741=>array(44,-67,957,828),25742=>array(55,-64,955,828),25743=>array(38,-70,962,826),25744=>array(67,-73,954,820),25745=>array(31,-77,941,822),25746=>array(41,-69,963,832),25747=>array(55,-69,953,827),25748=>array(42,-66,955,826),25749=>array(37,-67,942,834),25750=>array(39,-77,982,831),25751=>array(40,-81,962,823),25752=>array(41,-52,962,857),25753=>array(45,-62,963,853),25754=>array(37,-60,970,849),25755=>array(41,-74,954,832),25756=>array(43,-68,983,832),25757=>array(45,-56,943,846),25758=>array(33,-71,948,829),25759=>array(51,-67,976,838),25760=>array(35,-73,972,823),25761=>array(22,-64,978,845),25762=>array(50,-63,949,828),25763=>array(41,-68,956,828),25764=>array(39,-68,961,835),25765=>array(40,-71,959,843),25766=>array(55,-70,980,833),25767=>array(34,-64,973,844),25768=>array(55,-71,969,849),25769=>array(37,-61,968,843),25770=>array(39,-64,973,855),25771=>array(46,-63,954,837),25772=>array(41,-63,958,837),25773=>array(29,-69,971,829),25774=>array(32,-65,948,832),25775=>array(55,-64,965,847),25776=>array(36,-69,955,823),25777=>array(40,-71,949,840),25778=>array(37,-69,975,835),25779=>array(40,-70,973,839),25780=>array(12,-73,975,838),25781=>array(25,-61,936,828),25782=>array(33,-68,945,831),25783=>array(40,-65,943,827),25784=>array(41,-66,915,827),25785=>array(35,-64,965,828),25786=>array(33,-62,912,846),25787=>array(40,-78,955,833),25788=>array(47,-68,960,833),25789=>array(36,-79,974,842),25790=>array(38,-68,966,829),25791=>array(34,-69,961,861),25792=>array(45,-66,964,829),25793=>array(32,-70,958,835),25794=>array(54,-69,924,823),25795=>array(27,-76,966,832),25796=>array(43,-67,954,835),25797=>array(45,-67,957,837),25798=>array(31,-64,963,833),25799=>array(49,-67,935,821),25800=>array(39,-66,972,833),25801=>array(41,-69,924,829),25802=>array(73,-65,956,835),25803=>array(52,-66,918,832),25804=>array(75,-38,967,854),25805=>array(39,-62,954,823),25806=>array(47,-73,951,845),25807=>array(33,-78,971,830),25808=>array(42,-68,958,828),25809=>array(43,-78,970,843),25810=>array(29,-68,963,842),25811=>array(39,-53,949,839),25812=>array(48,-74,950,846),25813=>array(55,-65,960,834),25814=>array(48,-71,939,829),25815=>array(49,-64,965,849),25816=>array(54,-64,949,832),25817=>array(34,-79,975,840),25818=>array(41,-70,964,831),25819=>array(40,-73,985,819),25820=>array(47,-70,984,848),25821=>array(45,-66,979,826),25822=>array(30,-64,958,832),25823=>array(53,-70,958,841),25824=>array(53,-77,953,830),25825=>array(44,-63,961,830),25826=>array(36,-65,952,830),25827=>array(57,-65,954,827),25828=>array(61,-67,962,856),25829=>array(84,-51,955,840),25830=>array(46,-70,966,826),25831=>array(55,-59,965,832),25832=>array(42,-74,967,831),25833=>array(48,-68,953,827),25834=>array(47,-69,954,837),25835=>array(39,-76,969,824),25836=>array(42,-63,956,832),25837=>array(45,-49,966,844),25838=>array(44,-58,958,843),25839=>array(34,-71,960,842),25840=>array(49,-67,952,844),25841=>array(58,-71,913,827),25842=>array(36,-75,949,832),25843=>array(33,-67,939,835),25844=>array(43,-68,960,841),25845=>array(51,-62,962,840),25846=>array(42,-64,955,841),25847=>array(41,-70,972,840),25848=>array(41,-50,970,861),25849=>array(40,-68,977,837),25850=>array(43,-69,952,818),25851=>array(31,-67,963,837),25852=>array(51,-71,961,827),25853=>array(54,-70,952,831),25854=>array(41,-64,963,829),25855=>array(63,-64,986,843),25856=>array(49,-65,960,832),25857=>array(42,-78,975,844),25858=>array(42,-77,948,823),25859=>array(42,-73,973,825),25860=>array(44,-67,965,836),25861=>array(46,-77,960,828),25862=>array(40,-70,954,835),25863=>array(39,-65,960,843),25864=>array(31,-83,974,839),25865=>array(43,-64,967,833),25866=>array(35,-72,964,827),25867=>array(27,-72,970,844),25868=>array(61,-70,923,826),25869=>array(36,-73,976,842),25870=>array(39,-69,954,827),25871=>array(40,-62,954,842),25872=>array(46,-67,982,842),25873=>array(41,-71,986,835),25874=>array(23,-71,933,827),25875=>array(27,-65,980,845),25876=>array(56,-76,912,822),25877=>array(29,-66,972,841),25878=>array(50,-71,953,835),25879=>array(46,-68,966,846),25880=>array(39,-69,970,829),25881=>array(44,-74,964,838),25882=>array(35,-68,959,828),25883=>array(38,-64,969,841),25884=>array(42,-74,944,832),25885=>array(36,-68,955,821),25886=>array(52,-64,962,831),25887=>array(32,-70,974,853),25888=>array(48,-72,954,841),25889=>array(49,-64,962,840),25890=>array(41,-65,968,831),25891=>array(48,-61,957,840),25892=>array(55,-72,951,832),25893=>array(33,-63,970,844),25894=>array(63,-66,961,824),25895=>array(29,-72,959,835),25896=>array(35,-73,973,844),25897=>array(38,-57,956,840),25898=>array(41,-62,959,839),25899=>array(36,-64,970,826),25900=>array(39,-72,956,832),25901=>array(26,-71,967,840),25902=>array(48,-65,975,839),25903=>array(78,-65,945,830),25904=>array(41,-55,968,846),25905=>array(58,-80,972,834),25906=>array(63,-73,973,830),25907=>array(41,-71,981,824),25908=>array(34,-76,942,825),25909=>array(68,-72,932,818),25910=>array(67,-70,951,830),25911=>array(71,-67,979,840),25912=>array(48,-67,949,830),25913=>array(103,-65,946,825),25914=>array(86,-75,969,821),25915=>array(64,-68,957,838),25916=>array(62,-67,967,841),25917=>array(46,-71,963,832),25918=>array(46,-65,956,842),25919=>array(38,-74,956,838),25920=>array(114,-77,970,838),25921=>array(129,-82,955,828),25922=>array(24,-61,976,834),25923=>array(87,-80,962,823),25924=>array(29,-71,970,833),25925=>array(54,-67,958,833),25926=>array(52,-68,969,835),25927=>array(28,-65,972,834),25928=>array(60,-64,956,834),25929=>array(42,-67,975,838),25930=>array(46,-62,970,835),25931=>array(37,-68,959,840),25932=>array(27,-64,947,833),25933=>array(47,-70,960,843),25934=>array(38,-69,971,837),25935=>array(57,-63,971,839),25936=>array(33,-67,971,825),25937=>array(39,-68,955,843),25938=>array(32,-67,963,834),25939=>array(38,-69,969,829),25940=>array(54,-54,973,855),25941=>array(43,-70,970,836),25942=>array(48,-74,946,830),25943=>array(63,-74,963,836),25944=>array(48,-61,967,843),25945=>array(30,-60,950,831),25946=>array(30,-70,972,839),25947=>array(23,-60,932,847),25948=>array(37,-74,971,835),25949=>array(99,-69,967,835),25950=>array(81,-70,966,836),25951=>array(46,-73,957,836),25952=>array(44,-84,965,820),25953=>array(43,-77,971,823),25954=>array(39,-61,960,826),25955=>array(65,-72,956,834),25956=>array(42,-74,968,823),25957=>array(44,-80,966,829),25958=>array(42,-67,961,839),25959=>array(45,-59,962,839),25960=>array(66,-71,969,840),25961=>array(52,-69,969,842),25962=>array(44,-76,965,821),25963=>array(35,-61,944,823),25964=>array(44,-70,969,836),25965=>array(42,-71,969,836),25966=>array(36,-74,970,837),25967=>array(99,-75,967,823),25968=>array(42,-69,959,821),25969=>array(45,-63,967,835),25970=>array(55,-71,957,838),25971=>array(47,-75,969,833),25972=>array(51,-18,946,840),25973=>array(60,-69,967,834),25974=>array(104,-76,985,828),25975=>array(41,-65,969,839),25976=>array(60,-70,959,833),25977=>array(58,-76,984,831),25978=>array(60,-71,959,832),25979=>array(36,-65,970,846),25980=>array(60,-73,973,827),25981=>array(36,-68,974,843),25982=>array(64,-77,978,849),25983=>array(44,-77,978,827),25984=>array(35,-72,970,824),25985=>array(63,-69,977,842),25986=>array(45,-66,970,859),25987=>array(51,-68,955,830),25988=>array(38,-65,972,832),25989=>array(52,-72,967,838),25990=>array(52,-69,969,839),25991=>array(62,-69,947,822),25992=>array(49,-73,951,815),25993=>array(49,-63,951,828),25994=>array(36,-72,959,843),25995=>array(47,-68,921,840),25996=>array(36,-63,963,833),25997=>array(26,-65,974,840),25998=>array(29,-64,974,828),25999=>array(47,-66,971,846),26000=>array(36,-63,964,831),26001=>array(35,-68,956,829),26002=>array(44,-71,936,829),26003=>array(43,-70,888,807),26004=>array(60,-75,983,833),26005=>array(53,-65,927,826),26006=>array(49,-42,951,835),26007=>array(62,-64,946,832),26008=>array(54,-65,950,844),26009=>array(38,-68,956,836),26010=>array(67,-65,948,829),26011=>array(27,-72,946,826),26012=>array(32,-71,945,838),26013=>array(67,-65,946,789),26014=>array(46,-73,954,827),26015=>array(42,-79,944,820),26016=>array(51,-70,954,836),26017=>array(46,-77,960,854),26018=>array(60,-76,954,823),26019=>array(33,-76,948,818),26020=>array(75,-71,902,832),26021=>array(81,-69,895,834),26022=>array(48,-69,959,824),26023=>array(77,-64,941,836),26024=>array(50,-69,941,828),26025=>array(66,-75,925,828),26026=>array(47,-70,957,816),26027=>array(37,-69,951,834),26028=>array(53,-73,945,831),26029=>array(99,-66,946,824),26030=>array(63,-70,951,824),26031=>array(49,-75,944,829),26032=>array(54,-62,944,830),26033=>array(45,-67,934,837),26034=>array(65,-65,959,828),26035=>array(47,-73,952,836),26036=>array(36,-79,957,831),26037=>array(65,-65,959,833),26038=>array(43,-68,927,821),26039=>array(106,-66,950,845),26040=>array(44,-62,960,829),26041=>array(52,-67,936,822),26042=>array(38,-63,976,842),26043=>array(42,-61,969,837),26044=>array(41,-62,966,826),26045=>array(42,-49,952,831),26046=>array(51,-73,956,844),26047=>array(54,-50,952,858),26048=>array(48,-69,962,841),26049=>array(70,-65,906,829),26050=>array(36,-68,951,850),26051=>array(34,-70,951,833),26052=>array(49,-67,967,844),26053=>array(33,-67,969,839),26054=>array(48,-61,965,854),26055=>array(64,-73,959,848),26056=>array(34,-73,961,848),26057=>array(42,-69,947,832),26058=>array(35,-60,963,839),26059=>array(39,-66,966,841),26060=>array(39,-68,954,841),26061=>array(44,-73,974,838),26062=>array(50,-74,960,843),26063=>array(35,-67,966,843),26064=>array(42,-59,968,852),26065=>array(42,-61,962,852),26066=>array(18,-65,958,846),26067=>array(44,-67,955,836),26068=>array(30,-86,964,845),26069=>array(61,-55,976,843),26070=>array(39,-68,945,837),26071=>array(37,-70,955,837),26072=>array(37,-65,957,839),26073=>array(45,-55,959,839),26074=>array(44,-68,958,839),26075=>array(37,-67,971,839),26076=>array(40,-61,955,850),26077=>array(37,-64,980,834),26078=>array(31,-67,985,828),26079=>array(33,-71,967,847),26080=>array(65,-59,944,779),26081=>array(93,-50,947,800),26082=>array(47,-55,961,784),26083=>array(110,-64,946,846),26084=>array(86,-65,972,789),26085=>array(237,-32,788,747),26086=>array(84,-13,936,769),26087=>array(140,-52,860,778),26088=>array(195,-61,883,835),26089=>array(86,-68,934,780),26090=>array(89,-53,949,843),26091=>array(89,-73,905,763),26092=>array(39,-61,899,837),26093=>array(52,-62,957,839),26094=>array(54,-65,974,844),26095=>array(54,-66,972,776),26096=>array(92,-65,927,770),26097=>array(85,-61,939,785),26098=>array(46,-66,969,789),26099=>array(111,-64,905,841),26100=>array(101,-54,951,789),26101=>array(121,-66,879,786),26102=>array(103,-62,927,829),26103=>array(87,-65,912,832),26104=>array(95,-68,914,775),26105=>array(63,-64,937,833),26106=>array(91,-7,934,781),26107=>array(35,-58,968,796),26108=>array(95,-74,943,815),26109=>array(92,-47,967,823),26110=>array(73,-64,956,836),26111=>array(111,-67,948,837),26112=>array(105,-54,903,830),26113=>array(104,-62,945,831),26114=>array(69,-61,899,791),26115=>array(48,-72,950,789),26116=>array(102,-69,956,791),26117=>array(109,-71,959,787),26118=>array(82,-50,958,796),26119=>array(51,-62,954,789),26120=>array(105,-66,934,833),26121=>array(99,-56,947,825),26122=>array(68,-68,952,786),26123=>array(49,-68,956,831),26124=>array(158,-64,856,788),26125=>array(116,-53,884,788),26126=>array(109,-65,869,787),26127=>array(86,-69,937,843),26128=>array(109,-70,960,784),26129=>array(103,-66,956,831),26130=>array(103,-63,911,839),26131=>array(75,-67,866,782),26132=>array(79,-62,930,828),26133=>array(101,-68,936,838),26134=>array(101,-46,965,807),26135=>array(77,-68,943,795),26136=>array(64,-63,933,810),26137=>array(66,-74,918,779),26138=>array(66,-53,957,835),26139=>array(97,-14,952,788),26140=>array(49,-60,936,798),26141=>array(67,-68,973,845),26142=>array(57,-62,942,786),26143=>array(96,-18,935,780),26144=>array(88,-67,953,832),26145=>array(118,-57,955,822),26146=>array(123,-69,901,824),26147=>array(100,-72,974,849),26148=>array(102,-65,948,839),26149=>array(45,-67,962,837),26150=>array(50,-68,959,774),26151=>array(100,-65,966,832),26152=>array(116,-62,955,845),26153=>array(73,-67,961,830),26154=>array(51,-65,932,805),26155=>array(115,-56,919,830),26156=>array(159,-68,937,812),26157=>array(120,-68,901,785),26158=>array(50,-72,916,778),26159=>array(68,-66,960,790),26160=>array(64,-24,942,802),26161=>array(70,-18,944,788),26162=>array(106,-66,918,830),26163=>array(120,-76,961,824),26164=>array(84,-67,892,787),26165=>array(104,-71,939,778),26166=>array(33,-62,976,802),26167=>array(57,-14,948,788),26168=>array(110,-77,964,837),26169=>array(99,-66,965,835),26170=>array(85,-69,938,776),26171=>array(50,-61,898,791),26172=>array(41,-43,964,789),26173=>array(91,-61,926,824),26174=>array(53,-17,921,784),26175=>array(95,-56,948,819),26176=>array(113,-68,965,830),26177=>array(47,-65,960,788),26178=>array(113,-65,948,839),26179=>array(54,-51,948,800),26180=>array(108,-57,959,831),26181=>array(102,-31,946,776),26182=>array(102,-22,959,836),26183=>array(104,-72,965,837),26184=>array(89,-63,944,846),26185=>array(72,-60,944,790),26186=>array(110,-12,953,774),26187=>array(74,-65,926,799),26188=>array(107,-68,907,847),26189=>array(107,-65,895,782),26190=>array(107,-69,953,828),26191=>array(61,-73,945,789),26192=>array(107,-61,943,846),26193=>array(136,-62,877,789),26194=>array(97,-54,941,799),26195=>array(90,-67,943,822),26196=>array(100,-64,928,823),26197=>array(64,-65,916,785),26198=>array(101,-72,930,758),26199=>array(80,-71,957,848),26200=>array(101,-62,953,789),26201=>array(94,-62,958,834),26202=>array(110,-70,956,827),26203=>array(102,-58,955,797),26204=>array(55,-53,908,803),26205=>array(59,-30,948,829),26206=>array(79,-69,951,837),26207=>array(30,-67,967,793),26208=>array(90,-68,951,834),26209=>array(110,-68,959,832),26210=>array(68,-62,943,842),26211=>array(102,-67,954,843),26212=>array(82,-65,940,786),26213=>array(91,-71,962,824),26214=>array(98,-59,947,837),26215=>array(97,-60,939,831),26216=>array(30,-68,935,809),26217=>array(97,-69,965,840),26218=>array(110,-74,961,833),26219=>array(106,-71,946,825),26220=>array(102,-60,951,850),26221=>array(97,-68,907,791),26222=>array(53,-70,944,845),26223=>array(58,-61,940,796),26224=>array(102,-67,954,832),26225=>array(107,-71,949,828),26226=>array(110,-68,959,833),26227=>array(58,-71,932,826),26228=>array(75,-52,938,838),26229=>array(52,-60,964,846),26230=>array(117,-64,887,785),26231=>array(50,-68,943,782),26232=>array(41,-52,968,808),26233=>array(110,-72,919,782),26234=>array(82,-69,897,829),26235=>array(105,-40,966,828),26236=>array(104,-72,965,846),26237=>array(59,-63,981,842),26238=>array(87,-62,931,842),26239=>array(87,-62,923,791),26240=>array(107,-70,955,831),26241=>array(86,-65,970,817),26242=>array(64,-71,931,827),26243=>array(58,-70,937,808),26244=>array(90,-49,947,822),26245=>array(79,-59,960,849),26246=>array(90,-67,947,830),26247=>array(106,-71,971,790),26248=>array(57,-62,950,798),26249=>array(89,-65,936,787),26250=>array(121,-80,965,782),26251=>array(106,-55,948,849),26252=>array(86,-61,940,834),26253=>array(115,-69,925,785),26254=>array(95,-63,969,835),26255=>array(115,-65,960,835),26256=>array(91,-51,946,858),26257=>array(62,-63,955,790),26258=>array(89,-21,954,792),26259=>array(36,-69,954,830),26260=>array(110,-68,952,834),26261=>array(108,-67,966,833),26262=>array(89,-67,954,834),26263=>array(98,-64,943,840),26264=>array(82,-55,937,804),26265=>array(104,-72,956,833),26266=>array(89,-64,945,831),26267=>array(107,-25,939,843),26268=>array(60,-68,944,826),26269=>array(101,-56,936,789),26270=>array(112,-50,933,849),26271=>array(109,-24,951,832),26272=>array(74,-56,927,820),26273=>array(104,-70,960,800),26274=>array(92,-70,938,831),26275=>array(46,-63,974,851),26276=>array(92,-64,979,849),26277=>array(50,-59,950,788),26278=>array(39,-62,961,796),26279=>array(97,-72,955,821),26280=>array(59,-25,953,783),26281=>array(110,-72,990,832),26282=>array(113,-70,953,823),26283=>array(83,-68,948,833),26284=>array(65,-71,953,827),26285=>array(112,-64,952,849),26286=>array(51,-65,965,837),26287=>array(100,-75,955,827),26288=>array(100,-69,975,833),26289=>array(104,-26,962,799),26290=>array(112,-68,953,834),26291=>array(83,-62,941,826),26292=>array(66,-66,956,786),26293=>array(101,-53,968,841),26294=>array(92,-71,971,828),26295=>array(115,-68,960,836),26296=>array(89,-62,966,855),26297=>array(58,-56,933,815),26298=>array(109,-74,953,777),26299=>array(115,-68,971,781),26300=>array(68,-71,960,837),26301=>array(115,-70,960,824),26302=>array(99,-77,970,835),26303=>array(89,-69,957,833),26304=>array(101,-8,948,843),26305=>array(59,-37,947,832),26306=>array(89,-68,956,827),26307=>array(70,-64,960,829),26308=>array(94,-68,945,831),26309=>array(59,-71,943,819),26310=>array(32,-60,959,798),26311=>array(53,-74,947,817),26312=>array(96,-14,941,854),26313=>array(107,-61,964,837),26314=>array(110,-77,953,827),26315=>array(114,-70,956,777),26316=>array(55,-25,949,779),26317=>array(112,-64,952,849),26318=>array(79,-62,949,788),26319=>array(51,-67,946,788),26320=>array(86,-47,918,821),26321=>array(35,-75,968,812),26322=>array(94,-59,964,850),26323=>array(31,-75,966,834),26324=>array(57,-66,978,840),26325=>array(84,-72,927,841),26326=>array(81,-62,946,841),26327=>array(95,-67,959,825),26328=>array(101,-69,941,781),26329=>array(97,-63,955,789),26330=>array(94,-61,965,836),26331=>array(89,-70,965,835),26332=>array(85,-70,946,813),26333=>array(103,-64,980,784),26334=>array(93,-66,935,799),26335=>array(55,-67,956,816),26336=>array(93,-71,966,819),26337=>array(54,-32,952,791),26338=>array(99,-61,959,820),26339=>array(91,-72,953,823),26340=>array(91,-64,926,783),26341=>array(92,-67,954,830),26342=>array(88,-64,946,841),26343=>array(116,-68,966,817),26344=>array(90,-53,957,853),26345=>array(48,-62,937,824),26346=>array(90,-64,962,796),26347=>array(49,-71,962,838),26348=>array(92,-68,961,800),26349=>array(82,-68,944,834),26350=>array(83,-64,959,799),26351=>array(98,-67,924,806),26352=>array(166,-33,842,728),26353=>array(175,-61,841,788),26354=>array(163,-68,860,831),26355=>array(71,-56,954,839),26356=>array(48,-72,962,777),26357=>array(71,-60,946,845),26358=>array(61,-71,898,845),26359=>array(62,-67,896,792),26360=>array(84,-64,938,837),26361=>array(53,-70,947,829),26362=>array(53,-70,947,829),26363=>array(43,-68,946,791),26364=>array(57,-67,959,791),26365=>array(127,-65,876,852),26366=>array(38,-65,959,825),26367=>array(56,-68,950,834),26368=>array(53,-73,935,783),26369=>array(60,-71,960,781),26370=>array(54,-68,946,808),26371=>array(33,-74,978,848),26372=>array(98,-68,980,828),26373=>array(63,-63,920,830),26374=>array(94,-64,949,845),26375=>array(23,-74,957,847),26376=>array(86,-76,788,783),26377=>array(45,-65,936,844),26378=>array(33,-65,956,790),26379=>array(65,-77,891,782),26380=>array(23,-68,963,839),26381=>array(53,-75,950,783),26382=>array(47,-57,971,854),26383=>array(41,-56,905,840),26384=>array(34,-66,908,843),26385=>array(52,-64,964,829),26386=>array(43,-64,906,832),26387=>array(39,-71,957,823),26388=>array(60,-67,905,848),26389=>array(36,-73,961,837),26390=>array(36,-64,962,834),26391=>array(49,-74,885,832),26392=>array(33,-71,985,838),26393=>array(90,-65,915,793),26394=>array(72,-69,925,838),26395=>array(73,-36,927,822),26396=>array(36,-62,949,843),26397=>array(72,-68,908,827),26398=>array(42,-60,958,837),26399=>array(60,-70,899,829),26400=>array(33,-72,973,826),26401=>array(39,-85,966,825),26402=>array(85,-39,915,791),26403=>array(41,-72,952,828),26404=>array(65,-77,893,797),26405=>array(61,-66,941,833),26406=>array(34,-61,965,836),26407=>array(54,-73,962,834),26408=>array(77,-68,939,826),26409=>array(77,-58,889,826),26410=>array(65,-67,948,838),26411=>array(55,-67,955,839),26412=>array(41,-67,955,827),26413=>array(46,-62,954,829),26414=>array(75,-65,940,829),26415=>array(34,-69,947,815),26416=>array(51,-15,960,813),26417=>array(65,-70,950,828),26418=>array(57,-63,943,830),26419=>array(56,-71,969,830),26420=>array(49,-55,961,840),26421=>array(54,-68,955,777),26422=>array(53,-68,955,787),26423=>array(54,-58,901,830),26424=>array(66,-67,912,826),26425=>array(55,-63,955,830),26426=>array(54,-73,975,827),26427=>array(58,-66,901,829),26428=>array(54,-56,958,837),26429=>array(45,-62,937,832),26430=>array(48,-62,940,830),26431=>array(37,-54,956,839),26432=>array(53,-66,926,811),26433=>array(53,-64,958,828),26434=>array(42,-64,939,824),26435=>array(39,-65,954,836),26436=>array(42,-63,947,833),26437=>array(51,-61,953,835),26438=>array(39,-58,963,830),26439=>array(33,-62,956,831),26440=>array(37,-68,971,823),26441=>array(43,-69,950,831),26442=>array(43,-67,892,827),26443=>array(61,-63,959,833),26444=>array(33,-67,961,830),26445=>array(55,-68,955,829),26446=>array(51,-70,960,831),26447=>array(64,-62,950,827),26448=>array(40,-75,951,824),26449=>array(44,-71,951,829),26450=>array(44,-71,914,823),26451=>array(32,-69,917,834),26452=>array(47,-71,930,823),26453=>array(34,-64,976,833),26454=>array(43,-72,975,827),26455=>array(40,-67,954,837),26456=>array(47,-76,924,785),26457=>array(39,-70,961,830),26458=>array(50,-59,956,838),26459=>array(49,-70,902,828),26460=>array(49,-70,948,828),26461=>array(42,-64,959,830),26462=>array(39,-58,940,830),26463=>array(71,-67,950,833),26464=>array(39,-58,942,830),26465=>array(40,-65,956,827),26466=>array(44,-23,956,822),26467=>array(51,-58,912,830),26468=>array(51,-58,956,830),26469=>array(49,-57,951,830),26470=>array(47,-66,948,835),26471=>array(46,-59,931,833),26472=>array(22,-68,902,826),26473=>array(21,-62,890,825),26474=>array(51,-58,950,831),26475=>array(47,-62,954,835),26476=>array(41,-61,969,836),26477=>array(40,-62,962,832),26478=>array(47,-62,950,839),26479=>array(41,-63,959,835),26480=>array(46,-73,943,825),26481=>array(50,-71,960,831),26482=>array(31,-64,978,787),26483=>array(44,-65,956,832),26484=>array(54,-69,966,838),26485=>array(40,-68,948,837),26486=>array(44,-58,963,837),26487=>array(44,-68,967,825),26488=>array(49,-77,964,824),26489=>array(60,-69,962,829),26490=>array(39,-61,956,832),26491=>array(39,-61,959,832),26492=>array(51,-64,943,830),26493=>array(55,-70,950,826),26494=>array(39,-62,959,833),26495=>array(31,-73,966,823),26496=>array(42,-55,973,803),26497=>array(45,-73,972,829),26498=>array(71,-71,886,819),26499=>array(50,-75,903,822),26500=>array(45,-61,919,842),26501=>array(51,-68,953,830),26502=>array(39,-61,954,833),26503=>array(37,-70,968,826),26504=>array(58,-55,973,809),26505=>array(51,-58,961,830),26506=>array(46,-61,905,842),26507=>array(51,-58,941,830),26508=>array(42,-64,955,824),26509=>array(42,-59,963,835),26510=>array(36,-69,975,828),26511=>array(47,-65,970,835),26512=>array(41,-68,942,831),26513=>array(40,-61,964,833),26514=>array(47,-62,967,833),26515=>array(32,-59,956,842),26516=>array(55,-73,970,833),26517=>array(48,-62,959,836),26518=>array(48,-70,957,833),26519=>array(30,-69,954,829),26520=>array(42,-64,908,835),26521=>array(38,-58,968,839),26522=>array(57,-68,965,843),26523=>array(33,-66,968,823),26524=>array(48,-67,960,788),26525=>array(48,-64,965,834),26526=>array(24,-69,968,822),26527=>array(54,-80,954,830),26528=>array(39,-64,954,837),26529=>array(51,-65,948,830),26530=>array(31,-68,931,822),26531=>array(32,-76,956,824),26532=>array(40,-68,954,830),26533=>array(20,-67,903,820),26534=>array(51,-66,937,830),26535=>array(19,-73,928,823),26536=>array(23,-72,950,820),26537=>array(48,-74,950,820),26538=>array(41,-63,960,831),26539=>array(15,-58,937,830),26540=>array(42,-66,955,832),26541=>array(39,-51,944,832),26542=>array(55,-70,954,829),26543=>array(52,-62,956,836),26544=>array(42,-63,954,833),26545=>array(43,-62,964,852),26546=>array(42,-55,969,856),26547=>array(38,-68,965,829),26548=>array(51,-62,917,830),26549=>array(41,-67,950,827),26550=>array(47,-66,964,827),26551=>array(51,-58,934,832),26552=>array(51,-58,925,841),26553=>array(51,-58,951,830),26554=>array(42,-69,953,828),26555=>array(37,-62,964,829),26556=>array(40,-48,965,823),26557=>array(26,-54,950,827),26558=>array(48,-72,950,829),26559=>array(7,-66,968,829),26560=>array(45,-73,957,830),26561=>array(32,-62,958,835),26562=>array(51,-77,963,816),26563=>array(39,-80,957,827),26564=>array(46,-58,943,828),26565=>array(39,-55,963,840),26566=>array(51,-58,964,830),26567=>array(51,-71,976,822),26568=>array(51,-72,958,824),26569=>array(42,-69,965,825),26570=>array(34,-66,984,833),26571=>array(50,-70,968,822),26572=>array(49,-66,895,827),26573=>array(47,-75,961,823),26574=>array(51,-63,957,830),26575=>array(45,-62,896,846),26576=>array(44,-69,956,835),26577=>array(40,-65,953,827),26578=>array(45,-61,966,830),26579=>array(51,-66,956,835),26580=>array(48,-67,947,788),26581=>array(58,-67,917,825),26582=>array(32,-66,895,829),26583=>array(33,-68,948,833),26584=>array(58,-67,942,825),26585=>array(40,-64,898,833),26586=>array(37,-66,899,835),26587=>array(39,-69,896,825),26588=>array(40,-60,946,830),26589=>array(51,-66,945,836),26590=>array(51,-66,950,839),26591=>array(37,-65,967,832),26592=>array(26,-62,922,836),26593=>array(26,-69,981,827),26594=>array(51,-58,945,830),26595=>array(36,-81,957,822),26596=>array(51,-58,961,830),26597=>array(50,-12,951,826),26598=>array(58,-68,958,826),26599=>array(51,-59,952,830),26600=>array(48,-66,959,850),26601=>array(35,-65,952,824),26602=>array(50,-79,918,820),26603=>array(44,-71,914,838),26604=>array(55,-61,932,838),26605=>array(51,-77,962,826),26606=>array(51,-65,933,832),26607=>array(51,-61,953,830),26608=>array(64,-63,945,839),26609=>array(41,-67,957,839),26610=>array(43,-63,957,830),26611=>array(34,-61,921,837),26612=>array(44,-68,959,825),26613=>array(35,-60,956,832),26614=>array(50,-66,895,827),26615=>array(33,-55,964,836),26616=>array(48,-66,956,827),26617=>array(45,-66,934,832),26618=>array(50,-68,890,827),26619=>array(50,-12,952,826),26620=>array(36,-73,949,828),26621=>array(27,-75,947,817),26622=>array(27,-75,924,817),26623=>array(40,-64,949,827),26624=>array(43,-67,955,834),26625=>array(46,-61,905,837),26626=>array(46,-64,954,831),26627=>array(43,-76,945,834),26628=>array(60,-65,957,820),26629=>array(25,-65,965,829),26630=>array(38,-72,958,834),26631=>array(21,-59,940,833),26632=>array(17,-71,933,825),26633=>array(20,-71,917,817),26634=>array(17,-69,930,820),26635=>array(25,-60,942,833),26636=>array(21,-72,918,820),26637=>array(21,-68,951,827),26638=>array(21,-74,950,816),26639=>array(32,-57,925,833),26640=>array(32,-63,964,844),26641=>array(20,-71,929,818),26642=>array(58,-65,927,845),26643=>array(37,-65,948,826),26644=>array(56,-64,962,836),26645=>array(63,-68,953,823),26646=>array(54,-62,957,833),26647=>array(60,-65,957,788),26648=>array(63,-71,933,835),26649=>array(45,-66,961,842),26650=>array(38,-69,969,833),26651=>array(34,-65,966,835),26652=>array(39,-67,964,830),26653=>array(34,-64,943,832),26654=>array(56,-64,962,811),26655=>array(38,-63,948,845),26656=>array(45,-67,961,844),26657=>array(37,-74,963,822),26658=>array(39,-64,957,831),26659=>array(39,-64,965,843),26660=>array(32,-65,981,837),26661=>array(52,-65,954,841),26662=>array(39,-70,908,832),26663=>array(33,-64,961,836),26664=>array(32,-70,971,833),26665=>array(51,-58,909,830),26666=>array(28,-63,961,836),26667=>array(51,-68,930,830),26668=>array(53,-67,955,826),26669=>array(38,-68,951,828),26670=>array(53,-70,954,826),26671=>array(38,-68,948,826),26672=>array(29,-64,956,832),26673=>array(33,-77,955,825),26674=>array(36,-65,952,833),26675=>array(45,-68,954,826),26676=>array(38,-63,962,833),26677=>array(36,-67,908,830),26678=>array(17,-62,895,831),26679=>array(17,-61,924,831),26680=>array(33,-67,949,825),26681=>array(51,-71,957,820),26682=>array(44,-68,942,829),26683=>array(33,-58,971,839),26684=>array(44,-65,968,835),26685=>array(50,-59,957,839),26686=>array(39,-77,951,834),26687=>array(44,-66,991,842),26688=>array(54,-67,960,841),26689=>array(39,-68,956,835),26690=>array(39,-66,944,827),26691=>array(39,-72,945,828),26692=>array(33,-68,966,832),26693=>array(40,-65,967,844),26694=>array(30,-69,941,826),26695=>array(63,-65,963,844),26696=>array(63,-65,963,838),26697=>array(39,-60,956,845),26698=>array(50,-48,948,827),26699=>array(33,-71,971,832),26700=>array(52,-67,957,831),26701=>array(51,-67,932,830),26702=>array(51,-58,950,830),26703=>array(31,-64,957,832),26704=>array(46,-65,895,830),26705=>array(53,-65,958,788),26706=>array(52,-63,957,836),26707=>array(39,-65,954,827),26708=>array(38,-62,939,837),26709=>array(54,-74,898,821),26710=>array(54,-74,972,857),26711=>array(54,-74,964,821),26712=>array(50,-74,898,837),26713=>array(51,-65,946,833),26714=>array(45,-75,945,839),26715=>array(36,-66,946,836),26716=>array(54,-74,959,821),26717=>array(37,-66,949,835),26718=>array(36,-74,957,821),26719=>array(22,-71,933,826),26720=>array(18,-67,922,824),26721=>array(17,-74,938,821),26722=>array(20,-81,921,816),26723=>array(51,-60,935,830),26724=>array(26,-63,932,826),26725=>array(36,-53,966,844),26726=>array(25,-75,929,817),26727=>array(25,-78,959,833),26728=>array(27,-61,949,840),26729=>array(24,-69,923,833),26730=>array(44,-68,938,827),26731=>array(37,-69,972,829),26732=>array(48,-61,970,836),26733=>array(26,-72,966,832),26734=>array(41,-70,954,829),26735=>array(44,-65,951,827),26736=>array(43,-65,961,829),26737=>array(41,-68,953,826),26738=>array(33,-64,953,837),26739=>array(19,-73,979,834),26740=>array(51,-76,955,830),26741=>array(49,-74,953,826),26742=>array(42,-71,902,827),26743=>array(51,-63,924,844),26744=>array(44,-71,953,837),26745=>array(48,-66,977,848),26746=>array(35,-67,965,833),26747=>array(46,-73,976,821),26748=>array(36,-65,965,826),26749=>array(56,-23,960,824),26750=>array(51,-72,956,830),26751=>array(51,-62,933,830),26752=>array(46,-67,972,832),26753=>array(53,-68,956,808),26754=>array(50,-65,961,833),26755=>array(41,-66,960,830),26756=>array(32,-62,945,832),26757=>array(46,-71,953,843),26758=>array(38,-68,951,836),26759=>array(49,-65,961,829),26760=>array(31,-62,920,843),26761=>array(41,-69,953,826),26762=>array(39,-62,977,832),26763=>array(41,-71,897,824),26764=>array(48,-69,977,826),26765=>array(33,-67,935,842),26766=>array(39,-67,945,848),26767=>array(51,-67,934,833),26768=>array(32,-64,954,831),26769=>array(34,-76,970,821),26770=>array(42,-69,964,828),26771=>array(38,-70,956,837),26772=>array(28,-67,965,840),26773=>array(21,-67,970,833),26774=>array(37,-82,956,824),26775=>array(35,-68,956,829),26776=>array(36,-62,958,833),26777=>array(50,-70,911,827),26778=>array(50,-68,963,848),26779=>array(34,-68,962,824),26780=>array(30,-69,979,828),26781=>array(42,-71,981,839),26782=>array(45,-65,966,827),26783=>array(63,-68,932,847),26784=>array(51,-64,913,830),26785=>array(40,-72,962,838),26786=>array(44,-63,915,835),26787=>array(41,-70,967,825),26788=>array(47,-68,975,827),26789=>array(45,-71,957,838),26790=>array(49,-59,947,828),26791=>array(47,-62,948,835),26792=>array(41,-68,950,823),26793=>array(44,-64,952,828),26794=>array(43,-67,951,823),26795=>array(47,-69,968,830),26796=>array(42,-68,953,825),26797=>array(51,-73,951,835),26798=>array(42,-66,911,830),26799=>array(44,-70,927,839),26800=>array(40,-67,961,832),26801=>array(36,-54,913,835),26802=>array(44,-61,961,831),26803=>array(51,-70,957,830),26804=>array(30,-76,974,827),26805=>array(41,-79,943,824),26806=>array(31,-64,971,832),26807=>array(29,-62,971,839),26808=>array(36,-65,918,835),26809=>array(51,-58,954,830),26810=>array(46,-58,943,833),26811=>array(33,-65,950,836),26812=>array(33,-64,952,830),26813=>array(36,-54,972,835),26814=>array(27,-60,959,835),26815=>array(54,-55,971,835),26816=>array(24,-60,934,832),26817=>array(36,-64,968,844),26818=>array(23,-70,947,819),26819=>array(50,-67,967,813),26820=>array(39,-68,969,842),26821=>array(24,-72,970,824),26822=>array(30,-70,953,839),26823=>array(48,-68,959,824),26824=>array(43,-68,952,832),26825=>array(58,-71,922,838),26826=>array(72,-71,944,835),26827=>array(29,-70,947,827),26828=>array(41,-70,977,826),26829=>array(51,-58,946,830),26830=>array(51,-71,972,828),26831=>array(33,-71,973,825),26832=>array(42,-59,964,843),26833=>array(48,-73,954,824),26834=>array(27,-68,962,838),26835=>array(42,-72,950,841),26836=>array(39,-70,961,831),26837=>array(39,-70,954,823),26838=>array(37,-66,984,832),26839=>array(48,-65,966,834),26840=>array(39,-65,968,830),26841=>array(21,-66,979,844),26842=>array(57,-72,912,822),26843=>array(36,-75,932,845),26844=>array(41,-71,973,833),26845=>array(42,-73,903,826),26846=>array(42,-72,898,826),26847=>array(50,-64,973,835),26848=>array(54,-67,967,836),26849=>array(40,-72,916,824),26850=>array(37,-68,898,824),26851=>array(39,-70,965,832),26852=>array(51,-72,960,833),26853=>array(39,-69,967,826),26854=>array(43,-67,951,826),26855=>array(39,-70,948,840),26856=>array(44,-53,975,848),26857=>array(36,-75,897,825),26858=>array(36,-59,971,845),26859=>array(32,-58,964,841),26860=>array(30,-64,973,843),26861=>array(32,-68,968,839),26862=>array(30,-69,970,833),26863=>array(52,-70,963,834),26864=>array(38,-64,957,830),26865=>array(39,-67,972,832),26866=>array(22,-68,939,836),26867=>array(27,-71,975,827),26868=>array(40,-74,970,827),26869=>array(35,-70,968,822),26870=>array(33,-67,969,831),26871=>array(36,-68,970,824),26872=>array(42,-70,961,783),26873=>array(39,-70,956,835),26874=>array(42,-64,921,829),26875=>array(45,-62,983,830),26876=>array(32,-61,967,831),26877=>array(46,-70,963,826),26878=>array(44,-56,954,829),26879=>array(26,-77,951,835),26880=>array(34,-64,962,834),26881=>array(31,-62,952,833),26882=>array(31,-65,972,829),26883=>array(31,-62,957,837),26884=>array(39,-73,954,832),26885=>array(21,-75,927,817),26886=>array(51,-71,913,824),26887=>array(42,-78,960,827),26888=>array(36,-70,902,844),26889=>array(39,-65,964,841),26890=>array(48,-71,955,838),26891=>array(35,-67,967,835),26892=>array(51,-58,954,830),26893=>array(29,-73,954,835),26894=>array(37,-71,952,836),26895=>array(51,-58,964,830),26896=>array(35,-68,951,833),26897=>array(48,-79,954,835),26898=>array(36,-64,966,829),26899=>array(37,-67,980,830),26900=>array(48,-71,930,832),26901=>array(39,-69,967,826),26902=>array(29,-67,946,840),26903=>array(41,-62,976,843),26904=>array(29,-37,983,831),26905=>array(41,-68,900,832),26906=>array(31,-65,918,832),26907=>array(41,-62,958,834),26908=>array(33,-62,959,838),26909=>array(38,-71,986,826),26910=>array(38,-71,986,830),26911=>array(18,-76,954,815),26912=>array(32,-71,944,827),26913=>array(21,-70,918,833),26914=>array(18,-76,886,815),26915=>array(33,-72,955,833),26916=>array(34,-63,920,823),26917=>array(44,-62,905,830),26918=>array(27,-63,950,843),26919=>array(18,-76,977,828),26920=>array(27,-70,951,829),26921=>array(18,-76,956,856),26922=>array(42,-67,954,825),26923=>array(18,-76,937,837),26924=>array(33,-76,953,848),26925=>array(10,-63,922,830),26926=>array(18,-76,942,835),26927=>array(32,-64,950,837),26928=>array(28,-65,941,826),26929=>array(18,-76,970,843),26930=>array(36,-70,955,835),26931=>array(33,-55,973,838),26932=>array(31,-71,975,837),26933=>array(26,-73,965,826),26934=>array(39,-70,969,825),26935=>array(38,-69,962,828),26936=>array(19,-55,961,852),26937=>array(39,-70,940,827),26938=>array(18,-76,981,825),26939=>array(39,-67,950,826),26940=>array(26,-70,951,830),26941=>array(36,-67,970,831),26942=>array(18,-76,951,833),26943=>array(30,-64,978,835),26944=>array(37,-68,910,824),26945=>array(39,-71,971,827),26946=>array(30,-63,962,831),26947=>array(30,-61,943,833),26948=>array(33,-70,928,824),26949=>array(30,-73,948,823),26950=>array(30,-70,952,823),26951=>array(18,-76,919,815),26952=>array(44,-72,965,824),26953=>array(42,-69,954,826),26954=>array(47,-72,944,817),26955=>array(38,-69,922,826),26956=>array(41,-72,955,836),26957=>array(35,-70,966,813),26958=>array(30,-71,951,823),26959=>array(38,-68,980,829),26960=>array(18,-76,969,815),26961=>array(35,-73,972,832),26962=>array(39,-64,967,830),26963=>array(47,-64,971,836),26964=>array(39,-70,954,828),26965=>array(28,-76,927,845),26966=>array(21,-63,914,828),26967=>array(27,-59,970,840),26968=>array(36,-69,968,830),26969=>array(33,-70,961,830),26970=>array(48,-69,954,827),26971=>array(44,-60,953,834),26972=>array(39,-71,930,827),26973=>array(39,-70,971,836),26974=>array(39,-70,942,818),26975=>array(32,-71,952,836),26976=>array(33,-67,951,830),26977=>array(33,-76,950,818),26978=>array(44,-62,967,843),26979=>array(49,-67,924,829),26980=>array(26,-76,968,850),26981=>array(31,-60,971,848),26982=>array(41,-64,957,854),26983=>array(18,-76,988,836),26984=>array(37,-74,962,836),26985=>array(33,-69,967,826),26986=>array(39,-62,973,834),26987=>array(39,-70,957,818),26988=>array(37,-70,903,823),26989=>array(52,-69,965,829),26990=>array(39,-70,949,829),26991=>array(35,-64,961,839),26992=>array(37,-76,979,824),26993=>array(34,-71,969,831),26994=>array(24,-64,968,829),26995=>array(34,-64,975,832),26996=>array(42,-70,932,839),26997=>array(39,-68,956,824),26998=>array(44,-68,968,829),26999=>array(42,-70,956,827),27000=>array(34,-66,986,827),27001=>array(39,-70,957,818),27002=>array(36,-70,961,825),27003=>array(39,-65,958,834),27004=>array(18,-52,932,838),27005=>array(50,-64,950,847),27006=>array(39,-75,966,841),27007=>array(27,-67,972,832),27008=>array(37,-68,914,825),27009=>array(39,-70,940,835),27010=>array(30,-70,966,824),27011=>array(31,-71,960,823),27012=>array(21,-64,934,830),27013=>array(44,-76,967,820),27014=>array(30,-68,971,849),27015=>array(29,-76,934,822),27016=>array(16,-68,885,825),27017=>array(27,-75,961,816),27018=>array(28,-67,917,833),27019=>array(27,-67,916,829),27020=>array(28,-72,970,829),27021=>array(30,-67,912,824),27022=>array(33,-62,967,832),27023=>array(33,-64,954,859),27024=>array(28,-71,967,827),27025=>array(31,-70,960,833),27026=>array(24,-64,917,829),27027=>array(31,-68,958,833),27028=>array(46,-61,939,835),27029=>array(33,-64,969,830),27030=>array(46,-67,970,827),27031=>array(33,-70,955,826),27032=>array(29,-66,971,842),27033=>array(38,-68,966,833),27034=>array(39,-70,967,832),27035=>array(30,-68,973,839),27036=>array(54,-70,928,833),27037=>array(30,-73,967,835),27038=>array(33,-70,968,825),27039=>array(24,-64,941,845),27040=>array(39,-72,946,831),27041=>array(30,-69,951,833),27042=>array(24,-64,967,844),27043=>array(27,-69,951,837),27044=>array(28,-70,980,829),27045=>array(38,-65,960,830),27046=>array(49,-56,968,855),27047=>array(38,-74,939,817),27048=>array(47,-69,942,838),27049=>array(26,-69,975,826),27050=>array(31,-71,923,827),27051=>array(33,-68,965,844),27052=>array(40,-74,970,826),27053=>array(28,-65,965,849),27054=>array(61,-67,948,832),27055=>array(31,-60,954,833),27056=>array(34,-68,956,832),27057=>array(19,-66,972,832),27058=>array(39,-70,965,818),27059=>array(36,-65,967,840),27060=>array(53,-66,913,834),27061=>array(31,-70,956,828),27062=>array(37,-69,951,838),27063=>array(41,-67,944,841),27064=>array(18,-70,964,823),27065=>array(26,-70,965,827),27066=>array(37,-64,971,838),27067=>array(55,-62,930,845),27068=>array(32,-64,960,833),27069=>array(32,-75,972,825),27070=>array(39,-70,947,818),27071=>array(39,-70,962,829),27072=>array(32,-62,968,831),27073=>array(39,-70,940,844),27074=>array(23,-70,963,823),27075=>array(36,-60,969,845),27076=>array(39,-70,915,822),27077=>array(43,-69,927,823),27078=>array(42,-69,945,827),27079=>array(33,-78,961,833),27080=>array(24,-64,959,829),27081=>array(26,-73,973,836),27082=>array(34,-67,970,845),27083=>array(40,-68,954,828),27084=>array(28,-72,959,843),27085=>array(31,-70,960,851),27086=>array(39,-70,951,847),27087=>array(25,-67,952,840),27088=>array(39,-70,948,844),27089=>array(30,-68,976,787),27090=>array(40,-68,950,843),27091=>array(39,-70,969,818),27092=>array(33,-67,987,849),27093=>array(35,-70,968,835),27094=>array(43,-77,968,844),27095=>array(49,-61,926,834),27096=>array(35,-62,969,843),27097=>array(34,-69,950,836),27098=>array(33,-70,923,818),27099=>array(13,-57,922,845),27100=>array(19,-76,953,843),27101=>array(39,-70,942,844),27102=>array(13,-57,958,845),27103=>array(21,-64,917,842),27104=>array(21,-65,911,825),27105=>array(13,-67,964,845),27106=>array(20,-73,916,823),27107=>array(24,-74,951,845),27108=>array(32,-71,976,825),27109=>array(37,-64,965,830),27110=>array(38,-73,959,845),27111=>array(31,-64,973,837),27112=>array(29,-62,955,836),27113=>array(29,-60,969,811),27114=>array(26,-67,966,845),27115=>array(43,-66,956,835),27116=>array(33,-78,988,835),27117=>array(33,-70,964,839),27118=>array(34,-72,989,850),27119=>array(13,-65,953,845),27120=>array(13,-68,959,845),27121=>array(30,-67,968,826),27122=>array(27,-71,962,842),27123=>array(53,-65,963,843),27124=>array(34,-65,969,831),27125=>array(13,-57,978,845),27126=>array(22,-71,906,831),27127=>array(31,-73,987,829),27128=>array(37,-70,983,824),27129=>array(37,-64,952,845),27130=>array(28,-66,966,848),27131=>array(33,-58,971,839),27132=>array(38,-71,986,826),27133=>array(44,-71,948,827),27134=>array(30,-72,979,828),27135=>array(26,-65,953,828),27136=>array(45,-67,960,847),27137=>array(46,-64,976,835),27138=>array(60,-64,959,847),27139=>array(21,-74,939,826),27140=>array(21,-71,990,826),27141=>array(39,-64,964,829),27142=>array(30,-76,945,829),27143=>array(27,-73,989,824),27144=>array(36,-70,968,835),27145=>array(37,-80,968,826),27146=>array(28,-66,964,836),27147=>array(34,-67,961,827),27148=>array(26,-68,967,829),27149=>array(30,-84,955,830),27150=>array(26,-65,942,843),27151=>array(30,-69,954,826),27152=>array(26,-65,958,839),27153=>array(36,-61,985,836),27154=>array(26,-65,945,830),27155=>array(39,-69,949,831),27156=>array(36,-67,970,842),27157=>array(30,-77,973,832),27158=>array(46,-72,961,853),27159=>array(43,-68,956,826),27160=>array(32,-70,956,824),27161=>array(33,-70,957,818),27162=>array(33,-70,959,838),27163=>array(44,-61,971,833),27164=>array(33,-79,961,841),27165=>array(39,-71,962,828),27166=>array(46,-61,957,830),27167=>array(41,-67,944,826),27168=>array(30,-69,953,826),27169=>array(31,-69,952,828),27170=>array(33,-70,959,847),27171=>array(35,-62,978,848),27172=>array(6,-73,993,824),27173=>array(38,-73,970,825),27174=>array(40,-67,958,831),27175=>array(35,-76,976,828),27176=>array(39,-68,955,832),27177=>array(25,-72,957,832),27178=>array(26,-72,944,822),27179=>array(37,-62,964,832),27180=>array(33,-70,964,831),27181=>array(33,-60,972,831),27182=>array(33,-70,957,818),27183=>array(18,-72,929,819),27184=>array(36,-63,957,838),27185=>array(22,-74,953,832),27186=>array(34,-55,966,852),27187=>array(32,-66,955,830),27188=>array(34,-71,965,831),27189=>array(44,-67,969,836),27190=>array(27,-70,948,818),27191=>array(27,-67,950,844),27192=>array(48,-68,971,833),27193=>array(39,-71,953,825),27194=>array(38,-68,954,832),27195=>array(39,-81,958,826),27196=>array(39,-77,953,820),27197=>array(35,-65,957,851),27198=>array(30,-66,977,830),27199=>array(33,-70,954,828),27200=>array(44,-64,984,851),27201=>array(37,-69,956,828),27202=>array(35,-76,974,851),27203=>array(24,-70,959,843),27204=>array(34,-69,960,835),27205=>array(21,-70,954,845),27206=>array(46,-74,961,831),27207=>array(31,-67,963,837),27208=>array(36,-69,962,830),27209=>array(33,-80,956,825),27210=>array(34,-71,946,818),27211=>array(36,-62,962,836),27212=>array(33,-70,911,818),27213=>array(39,-68,897,822),27214=>array(38,-70,963,826),27215=>array(36,-71,951,838),27216=>array(44,-65,972,832),27217=>array(34,-68,964,826),27218=>array(36,-70,954,838),27219=>array(36,-72,948,838),27220=>array(36,-79,969,839),27221=>array(44,-58,951,836),27222=>array(43,-68,972,825),27223=>array(31,-68,948,839),27224=>array(36,-61,923,828),27225=>array(27,-69,951,830),27226=>array(39,-70,952,829),27227=>array(21,-68,972,828),27228=>array(47,-64,966,816),27229=>array(40,-68,953,826),27230=>array(35,-65,963,827),27231=>array(36,-68,963,829),27232=>array(37,-80,956,837),27233=>array(38,-70,964,837),27234=>array(37,-72,948,842),27235=>array(37,-72,957,847),27236=>array(44,-67,970,838),27237=>array(47,-69,952,821),27238=>array(32,-58,958,847),27239=>array(45,-61,917,849),27240=>array(33,-74,962,830),27241=>array(36,-67,958,826),27242=>array(38,-79,964,826),27243=>array(47,-70,956,827),27244=>array(37,-72,957,819),27245=>array(40,-72,957,824),27246=>array(53,-72,913,834),27247=>array(39,-70,944,824),27248=>array(37,-72,948,863),27249=>array(24,-69,914,829),27250=>array(37,-72,933,833),27251=>array(30,-55,967,821),27252=>array(30,-71,956,830),27253=>array(37,-72,979,832),27254=>array(43,-74,964,821),27255=>array(32,-73,962,838),27256=>array(43,-73,959,818),27257=>array(21,-73,928,817),27258=>array(37,-72,911,819),27259=>array(29,-72,966,819),27260=>array(15,-63,980,837),27261=>array(41,-76,973,833),27262=>array(41,-66,974,828),27263=>array(26,-58,955,832),27264=>array(29,-61,956,841),27265=>array(46,-65,991,855),27266=>array(37,-71,966,828),27267=>array(50,-76,971,819),27268=>array(31,-66,974,844),27269=>array(24,-72,964,823),27270=>array(39,-73,943,836),27271=>array(36,-65,960,834),27272=>array(37,-72,958,819),27273=>array(37,-65,936,826),27274=>array(36,-66,980,829),27275=>array(37,-72,981,820),27276=>array(43,-65,970,829),27277=>array(31,-76,970,829),27278=>array(22,-65,971,851),27279=>array(37,-72,972,833),27280=>array(21,-70,949,838),27281=>array(50,-68,933,826),27282=>array(42,-75,967,826),27283=>array(27,-71,980,834),27284=>array(46,-59,924,839),27285=>array(51,-76,966,824),27286=>array(27,-69,974,834),27287=>array(33,-54,973,840),27288=>array(33,-72,965,849),27289=>array(35,-76,923,815),27290=>array(35,-74,976,827),27291=>array(31,-71,977,826),27292=>array(32,-64,974,861),27293=>array(41,-78,970,819),27294=>array(27,-66,961,837),27295=>array(29,-83,962,823),27296=>array(34,-65,954,834),27297=>array(34,-70,954,826),27298=>array(33,-68,969,858),27299=>array(33,-63,959,838),27300=>array(35,-71,980,827),27301=>array(29,-73,964,842),27302=>array(41,-70,919,826),27303=>array(33,-70,974,823),27304=>array(33,-74,960,829),27305=>array(22,-64,921,857),27306=>array(42,-64,973,849),27307=>array(15,-63,943,830),27308=>array(29,-61,965,836),27309=>array(40,-72,981,828),27310=>array(40,-65,950,833),27311=>array(38,-56,970,838),27312=>array(35,-68,936,845),27313=>array(25,-56,943,832),27314=>array(35,-68,917,832),27315=>array(40,-65,966,846),27316=>array(34,-68,974,827),27317=>array(35,-69,942,824),27318=>array(38,-71,983,834),27319=>array(36,-70,959,821),27320=>array(37,-63,952,839),27321=>array(38,-65,965,842),27322=>array(45,-64,969,842),27323=>array(24,-62,957,839),27324=>array(27,-69,953,825),27325=>array(36,-61,967,831),27326=>array(105,-51,918,822),27327=>array(34,-68,958,829),27328=>array(36,-69,974,840),27329=>array(26,-66,945,839),27330=>array(36,-50,957,840),27331=>array(44,-66,954,835),27332=>array(44,-71,977,835),27333=>array(36,-71,975,839),27334=>array(48,-68,977,824),27335=>array(32,-75,963,825),27336=>array(31,-62,984,847),27337=>array(27,-70,953,826),27338=>array(31,-71,913,824),27339=>array(42,-70,958,840),27340=>array(44,-69,958,832),27341=>array(40,-75,961,831),27342=>array(35,-71,957,849),27343=>array(28,-64,984,828),27344=>array(40,-65,969,813),27345=>array(43,-66,935,827),27346=>array(30,-73,973,831),27347=>array(30,-61,974,849),27348=>array(42,-65,958,831),27349=>array(42,-72,967,831),27350=>array(34,-62,965,836),27351=>array(42,-67,958,833),27352=>array(42,-62,961,831),27353=>array(44,-70,949,824),27354=>array(39,-61,904,833),27355=>array(47,-66,959,840),27356=>array(43,-59,973,843),27357=>array(30,-70,971,835),27358=>array(33,-66,972,841),27359=>array(32,-71,969,841),27360=>array(37,-71,986,838),27361=>array(58,-72,950,833),27362=>array(20,-72,972,837),27363=>array(22,-72,974,841),27364=>array(41,-68,955,841),27365=>array(33,-71,959,847),27366=>array(29,-68,970,841),27367=>array(34,-65,957,840),27368=>array(36,-71,962,833),27369=>array(44,-65,920,833),27370=>array(32,-65,955,832),27371=>array(41,-68,959,831),27372=>array(43,-62,971,843),27373=>array(30,-62,965,831),27374=>array(36,-67,951,827),27375=>array(31,-68,981,842),27376=>array(30,-78,980,841),27377=>array(43,-65,967,840),27378=>array(33,-65,979,839),27379=>array(35,-58,969,855),27380=>array(19,-72,970,843),27381=>array(27,-66,973,840),27382=>array(32,-62,960,831),27383=>array(16,-45,965,851),27384=>array(38,-72,986,835),27385=>array(40,-68,957,830),27386=>array(38,-61,936,832),27387=>array(45,-62,958,826),27388=>array(28,-78,978,832),27389=>array(48,-68,956,813),27390=>array(31,-64,969,829),27391=>array(32,-67,951,835),27392=>array(33,-70,977,837),27393=>array(22,-70,987,832),27394=>array(31,-69,959,828),27395=>array(34,-58,964,853),27396=>array(35,-65,909,836),27397=>array(31,-69,973,827),27398=>array(21,-66,969,836),27399=>array(31,-66,955,827),27400=>array(45,-64,944,838),27401=>array(40,-62,962,835),27402=>array(38,-71,952,830),27403=>array(33,-68,960,823),27404=>array(33,-68,970,838),27405=>array(28,-68,937,832),27406=>array(44,-71,964,842),27407=>array(34,-67,967,830),27408=>array(39,-73,960,828),27409=>array(33,-70,970,831),27410=>array(40,-74,961,844),27411=>array(33,-78,966,836),27412=>array(33,-65,970,828),27413=>array(33,-70,987,828),27414=>array(40,-63,961,841),27415=>array(39,-65,942,830),27416=>array(47,-68,933,827),27417=>array(49,-62,959,831),27418=>array(35,-68,978,846),27419=>array(38,-71,932,835),27420=>array(40,-65,975,839),27421=>array(56,-67,964,843),27422=>array(49,-64,968,828),27423=>array(36,-69,984,835),27424=>array(51,-69,950,842),27425=>array(49,-66,953,822),27426=>array(20,-64,948,839),27427=>array(48,-72,962,831),27428=>array(41,-75,952,819),27429=>array(106,-75,968,829),27430=>array(35,-75,968,838),27431=>array(101,-66,953,833),27432=>array(56,-73,971,829),27433=>array(51,-62,947,822),27434=>array(90,-68,956,837),27435=>array(66,-68,950,847),27436=>array(44,-68,971,848),27437=>array(115,-73,961,830),27438=>array(60,-68,971,850),27439=>array(55,-74,967,830),27440=>array(30,-72,959,831),27441=>array(34,-72,959,834),27442=>array(47,-65,969,837),27443=>array(107,-74,962,830),27444=>array(101,-73,959,848),27445=>array(46,-62,970,853),27446=>array(44,-76,964,826),27447=>array(30,-69,963,838),27448=>array(47,-66,967,839),27449=>array(57,-79,975,830),27450=>array(61,-65,968,832),27451=>array(50,-72,958,838),27452=>array(50,-72,969,830),27453=>array(39,-71,977,839),27454=>array(50,-70,954,835),27455=>array(54,-67,968,841),27456=>array(46,-76,983,824),27457=>array(65,-73,985,827),27458=>array(61,-71,975,833),27459=>array(58,-72,972,838),27460=>array(102,-69,969,827),27461=>array(56,-72,977,826),27462=>array(47,-71,964,843),27463=>array(22,-74,968,842),27464=>array(29,-73,973,844),27465=>array(34,-70,970,841),27466=>array(54,-73,963,846),27467=>array(33,-69,967,826),27468=>array(65,-66,959,839),27469=>array(51,-73,970,841),27470=>array(39,-72,967,830),27471=>array(49,-72,961,842),27472=>array(110,-79,961,830),27473=>array(46,-69,977,831),27474=>array(60,-69,971,839),27475=>array(39,-65,963,841),27476=>array(32,-73,983,838),27477=>array(53,-83,972,825),27478=>array(60,-77,970,830),27479=>array(49,-68,975,840),27480=>array(52,-56,953,835),27481=>array(37,-67,964,856),27482=>array(64,-65,983,849),27483=>array(31,-70,983,864),27484=>array(37,-80,972,836),27485=>array(63,-72,971,838),27486=>array(55,-71,967,829),27487=>array(48,-67,969,841),27488=>array(53,-59,969,849),27489=>array(37,-68,962,836),27490=>array(76,-6,931,791),27491=>array(100,-5,920,756),27492=>array(37,-57,949,804),27493=>array(57,-60,932,835),27494=>array(63,-58,942,834),27495=>array(40,-66,956,830),27496=>array(41,-66,952,835),27497=>array(53,-62,962,833),27498=>array(63,-20,919,779),27499=>array(40,-28,953,783),27500=>array(46,-74,942,822),27501=>array(53,-67,951,829),27502=>array(37,-59,957,836),27503=>array(98,-70,938,835),27504=>array(60,-51,920,792),27505=>array(45,-20,956,836),27506=>array(45,-70,940,834),27507=>array(48,-70,943,834),27508=>array(33,-56,961,801),27509=>array(30,-55,955,849),27510=>array(80,-70,939,823),27511=>array(41,-58,944,789),27512=>array(47,-71,930,846),27513=>array(79,-75,921,767),27514=>array(71,-75,815,798),27515=>array(60,-67,959,761),27516=>array(26,-60,916,801),27517=>array(41,-68,955,828),27518=>array(58,-59,921,843),27519=>array(56,-62,972,840),27520=>array(39,-57,967,840),27521=>array(44,-74,950,774),27522=>array(49,-47,957,785),27523=>array(41,-73,964,827),27524=>array(54,-71,966,853),27525=>array(53,-74,952,827),27526=>array(65,-74,951,829),27527=>array(31,-68,913,826),27528=>array(44,-63,951,838),27529=>array(63,-75,921,835),27530=>array(61,-66,964,832),27531=>array(47,-61,965,845),27532=>array(33,-73,954,773),27533=>array(57,-64,953,837),27534=>array(43,-73,961,821),27535=>array(42,-76,950,821),27536=>array(52,-70,968,829),27537=>array(52,-74,960,823),27538=>array(32,-87,910,778),27539=>array(35,-71,948,820),27540=>array(57,-69,975,831),27541=>array(55,-58,949,829),27542=>array(40,-67,954,835),27543=>array(38,-53,968,835),27544=>array(68,-60,952,832),27545=>array(57,-64,958,829),27546=>array(44,-70,939,823),27547=>array(48,-47,947,788),27548=>array(39,-68,982,842),27549=>array(39,-68,974,829),27550=>array(40,-60,958,800),27551=>array(54,-67,970,782),27552=>array(39,-71,971,843),27553=>array(36,-71,930,830),27554=>array(50,-70,954,826),27555=>array(54,-72,952,829),27556=>array(55,-70,963,845),27557=>array(39,-78,953,834),27558=>array(43,-69,946,834),27559=>array(52,-71,978,829),27560=>array(43,-68,970,833),27561=>array(35,-65,976,798),27562=>array(47,-20,954,833),27563=>array(57,-64,953,789),27564=>array(50,-64,941,786),27565=>array(35,-44,965,807),27566=>array(40,-67,977,854),27567=>array(55,-66,960,838),27568=>array(36,-68,963,830),27569=>array(42,-73,954,829),27570=>array(44,-66,946,829),27571=>array(52,-70,948,788),27572=>array(98,-66,959,792),27573=>array(41,-73,964,832),27574=>array(58,-80,958,819),27575=>array(46,-68,952,836),27576=>array(45,-69,976,833),27577=>array(81,-72,972,787),27578=>array(51,-72,967,824),27579=>array(51,-70,963,833),27580=>array(49,-68,964,833),27581=>array(35,-65,976,847),27582=>array(35,-72,960,823),27583=>array(31,-73,969,799),27584=>array(73,-64,962,836),27585=>array(58,-68,958,833),27586=>array(52,-67,944,815),27587=>array(58,-72,973,843),27588=>array(58,-69,963,835),27589=>array(39,-72,963,831),27590=>array(69,-68,958,810),27591=>array(53,-76,974,819),27592=>array(55,-73,963,830),27593=>array(71,-29,951,800),27594=>array(41,-63,976,833),27595=>array(92,-57,935,798),27596=>array(74,-58,926,788),27597=>array(77,-66,931,783),27598=>array(64,-63,933,843),27599=>array(64,-63,939,843),27600=>array(55,-65,952,836),27601=>array(44,-62,967,805),27602=>array(56,-69,944,832),27603=>array(43,-62,964,835),27604=>array(59,-36,956,811),27605=>array(58,-59,908,816),27606=>array(63,-43,951,816),27607=>array(87,-67,965,820),27608=>array(76,-62,969,794),27609=>array(41,-54,941,826),27610=>array(56,-65,956,845),27611=>array(79,-23,944,822),27612=>array(52,-18,971,840),27613=>array(52,-18,971,840),27614=>array(78,-41,947,831),27615=>array(52,-40,954,841),27616=>array(49,-32,956,823),27617=>array(52,-18,971,840),27618=>array(55,-27,961,837),27619=>array(71,-32,949,778),27620=>array(48,-62,956,830),27621=>array(52,-18,971,841),27622=>array(55,-58,956,836),27623=>array(62,-26,965,834),27624=>array(54,-25,954,833),27625=>array(52,-18,971,840),27626=>array(35,-19,931,836),27627=>array(80,-54,933,840),27628=>array(51,-24,969,832),27629=>array(44,-39,954,836),27630=>array(30,-65,964,835),27631=>array(59,-30,967,835),27632=>array(47,-29,958,834),27633=>array(47,-28,958,833),27634=>array(39,-76,955,819),27635=>array(70,-44,970,826),27636=>array(47,-28,958,823),27637=>array(30,-65,933,844),27638=>array(44,-28,972,855),27639=>array(90,-55,961,848),27640=>array(55,-28,959,825),27641=>array(28,-70,972,847),27642=>array(48,-28,960,841),27643=>array(31,-65,962,840),27644=>array(31,-68,963,819),27645=>array(44,-32,971,832),27646=>array(47,-67,960,822),27647=>array(35,-67,967,853),27648=>array(54,-69,966,824),27649=>array(60,-28,972,835),27650=>array(53,-76,958,825),27651=>array(46,-45,962,839),27652=>array(38,-54,960,844),27653=>array(49,-34,959,841),27654=>array(54,-43,974,840),27655=>array(30,-25,928,835),27656=>array(68,-56,946,844),27657=>array(37,-58,964,840),27658=>array(54,-43,974,854),27659=>array(52,-69,971,828),27660=>array(48,-40,978,843),27661=>array(33,-66,966,830),27662=>array(61,-46,961,825),27663=>array(83,-68,934,828),27664=>array(100,-54,907,832),27665=>array(51,-67,950,784),27666=>array(91,-71,936,839),27667=>array(111,-61,951,781),27668=>array(39,-56,966,853),27669=>array(36,-67,957,847),27670=>array(51,-64,965,845),27671=>array(36,-62,963,853),27672=>array(46,-69,966,840),27673=>array(44,-62,965,852),27674=>array(26,-68,959,849),27675=>array(52,-69,962,839),27676=>array(35,-63,959,849),27677=>array(36,-75,960,835),27678=>array(36,-72,960,835),27679=>array(37,-76,962,829),27680=>array(10,-71,933,837),27681=>array(45,-76,961,845),27682=>array(38,-63,943,832),27683=>array(50,-67,959,838),27684=>array(40,-63,979,849),27685=>array(37,-66,968,842),27686=>array(41,-65,972,858),27687=>array(42,-70,958,832),27688=>array(41,-73,961,835),27689=>array(21,-64,938,825),27690=>array(38,-66,968,849),27691=>array(47,-68,957,831),27692=>array(39,-61,974,854),27693=>array(38,-66,966,852),27694=>array(48,-79,963,835),27695=>array(45,-74,959,841),27696=>array(35,-70,964,839),27697=>array(25,-69,955,830),27698=>array(25,-70,955,830),27699=>array(43,-71,971,833),27700=>array(47,-64,953,826),27701=>array(320,-38,602,803),27702=>array(51,-74,958,782),27703=>array(47,-64,953,826),27704=>array(51,-65,957,838),27705=>array(85,-28,958,830),27706=>array(40,-64,962,826),27707=>array(69,-60,921,829),27708=>array(54,-39,945,830),27709=>array(27,-71,967,846),27710=>array(71,-32,962,814),27711=>array(60,-65,966,823),27712=>array(51,-55,941,808),27713=>array(58,-59,962,833),27714=>array(61,-65,938,835),27715=>array(60,-62,977,814),27716=>array(60,-63,942,835),27717=>array(59,-51,937,814),27718=>array(33,-65,961,790),27719=>array(46,-49,920,803),27720=>array(70,-59,896,790),27721=>array(40,-59,956,804),27722=>array(57,-66,967,813),27723=>array(59,-57,912,836),27724=>array(62,-72,910,829),27725=>array(44,-71,975,826),27726=>array(53,-62,959,825),27727=>array(62,-65,960,829),27728=>array(67,-71,919,831),27729=>array(67,-42,930,826),27730=>array(55,-49,958,836),27731=>array(55,-64,954,802),27732=>array(60,-37,967,842),27733=>array(57,-65,898,820),27734=>array(54,-65,954,833),27735=>array(48,-67,948,798),27736=>array(48,-59,933,831),27737=>array(51,-67,957,814),27738=>array(49,-52,948,802),27739=>array(43,-63,975,812),27740=>array(33,-46,945,808),27741=>array(47,-62,947,847),27742=>array(58,-68,948,781),27743=>array(65,-51,940,796),27744=>array(48,-46,959,825),27745=>array(58,-52,943,802),27746=>array(74,-58,945,811),27747=>array(92,-68,957,831),27748=>array(51,-63,899,790),27749=>array(52,-70,977,828),27750=>array(44,-68,963,826),27751=>array(69,-68,964,801),27752=>array(70,-57,900,812),27753=>array(55,-40,911,817),27754=>array(54,-41,944,809),27755=>array(53,-68,951,833),27756=>array(57,-67,964,822),27757=>array(61,-69,905,801),27758=>array(41,-65,904,831),27759=>array(48,-61,951,830),27760=>array(48,-64,962,835),27761=>array(50,-70,957,837),27762=>array(41,-68,955,820),27763=>array(49,-73,972,807),27764=>array(53,-64,944,846),27765=>array(53,-73,945,854),27766=>array(42,-66,962,830),27767=>array(59,-63,941,805),27768=>array(54,-69,949,833),27769=>array(58,-59,900,820),27770=>array(56,-72,970,836),27771=>array(41,-75,951,826),27772=>array(41,-75,951,811),27773=>array(63,-61,962,850),27774=>array(41,-62,955,814),27775=>array(62,-57,950,820),27776=>array(45,-75,931,825),27777=>array(56,-48,947,811),27778=>array(58,-67,950,831),27779=>array(48,-64,962,819),27780=>array(46,-60,946,807),27781=>array(47,-70,948,812),27782=>array(63,-66,951,817),27783=>array(48,-60,951,849),27784=>array(56,-73,946,824),27785=>array(51,-58,952,788),27786=>array(49,-58,973,833),27787=>array(51,-69,960,827),27788=>array(41,-44,963,833),27789=>array(56,-38,939,794),27790=>array(45,-62,961,844),27791=>array(62,-67,926,814),27792=>array(43,-63,960,833),27793=>array(66,-51,947,821),27794=>array(58,-71,953,841),27795=>array(54,-62,962,835),27796=>array(54,-60,944,814),27797=>array(59,-56,926,855),27798=>array(54,-64,914,839),27799=>array(35,-58,976,803),27800=>array(52,-50,964,817),27801=>array(51,-62,968,812),27802=>array(65,-44,966,807),27803=>array(41,-65,942,837),27804=>array(70,-66,953,837),27805=>array(31,-69,969,835),27806=>array(52,-74,939,826),27807=>array(41,-61,903,831),27808=>array(66,-64,959,821),27809=>array(47,-62,959,805),27810=>array(40,-66,973,805),27811=>array(58,-63,920,813),27812=>array(42,-47,929,822),27813=>array(41,-57,916,827),27814=>array(52,-46,948,837),27815=>array(28,-63,967,821),27816=>array(58,-58,937,824),27817=>array(41,-62,892,819),27818=>array(45,-62,874,836),27819=>array(56,-61,980,833),27820=>array(62,-72,984,819),27821=>array(39,-67,947,829),27822=>array(57,-30,957,820),27823=>array(52,-52,967,813),27824=>array(53,-71,951,803),27825=>array(53,-44,951,828),27826=>array(38,-58,953,810),27827=>array(49,-67,952,796),27828=>array(46,-47,978,862),27829=>array(73,-53,947,840),27830=>array(51,-73,956,800),27831=>array(53,-81,961,827),27832=>array(42,-63,915,823),27833=>array(64,-69,903,836),27834=>array(54,-74,900,801),27835=>array(48,-64,959,834),27836=>array(52,-61,896,817),27837=>array(69,-64,956,836),27838=>array(67,-56,946,836),27839=>array(43,-48,936,814),27840=>array(45,-68,891,806),27841=>array(59,-62,965,810),27842=>array(45,-73,894,813),27843=>array(47,-70,896,825),27844=>array(39,-63,953,835),27845=>array(49,-66,897,811),27846=>array(28,-50,976,856),27847=>array(48,-73,909,818),27848=>array(81,-66,984,829),27849=>array(46,-73,960,843),27850=>array(60,-57,875,847),27851=>array(39,-66,968,828),27852=>array(42,-32,972,829),27853=>array(44,-67,968,835),27854=>array(97,-62,955,845),27855=>array(42,-71,915,830),27856=>array(64,-68,918,832),27857=>array(57,-75,907,831),27858=>array(55,-64,975,849),27859=>array(50,-53,958,808),27860=>array(46,-53,947,831),27861=>array(64,-59,945,821),27862=>array(56,-68,924,837),27863=>array(61,-53,909,810),27864=>array(78,-67,931,825),27865=>array(54,-64,952,818),27866=>array(38,-39,960,838),27867=>array(56,-67,963,836),27868=>array(41,-69,958,834),27869=>array(55,-68,952,842),27870=>array(51,-72,910,824),27871=>array(62,-63,953,806),27872=>array(36,-50,969,870),27873=>array(46,-46,968,834),27874=>array(50,-75,961,831),27875=>array(62,-27,956,820),27876=>array(59,-65,960,828),27877=>array(56,-64,957,821),27878=>array(62,-57,973,818),27879=>array(55,-70,960,828),27880=>array(60,-46,939,838),27881=>array(49,-58,958,831),27882=>array(53,-59,914,820),27883=>array(54,-53,949,831),27884=>array(53,-72,972,846),27885=>array(52,-73,948,823),27886=>array(63,-69,967,825),27887=>array(49,-63,951,812),27888=>array(38,-65,963,838),27889=>array(59,-71,983,831),27890=>array(50,-46,922,856),27891=>array(42,-58,980,851),27892=>array(58,-26,988,825),27893=>array(57,-67,964,777),27894=>array(45,-66,929,815),27895=>array(57,-62,929,822),27896=>array(53,-62,910,822),27897=>array(53,-50,955,798),27898=>array(42,-62,933,828),27899=>array(43,-55,893,806),27900=>array(47,-76,949,814),27901=>array(55,-70,948,805),27902=>array(63,-58,926,799),27903=>array(64,-72,964,812),27904=>array(51,-69,954,838),27905=>array(57,-71,957,827),27906=>array(57,-66,945,846),27907=>array(44,-78,972,829),27908=>array(71,-57,915,803),27909=>array(57,-66,965,806),27910=>array(47,-60,964,805),27911=>array(56,-63,910,810),27912=>array(50,-73,964,829),27913=>array(49,-67,955,822),27914=>array(56,-64,970,840),27915=>array(42,-65,951,846),27916=>array(45,-62,902,830),27917=>array(52,-44,954,812),27918=>array(58,-69,898,842),27919=>array(56,-70,954,811),27920=>array(55,-70,955,830),27921=>array(49,-66,974,841),27922=>array(46,-53,947,813),27923=>array(55,-65,941,824),27924=>array(58,-61,935,838),27925=>array(41,-73,975,818),27926=>array(46,-70,962,807),27927=>array(60,-62,963,833),27928=>array(47,-74,953,825),27929=>array(42,-62,967,832),27930=>array(49,-70,968,834),27931=>array(57,-72,959,842),27932=>array(38,-67,981,849),27933=>array(55,-71,959,835),27934=>array(48,-55,898,819),27935=>array(45,-74,973,830),27936=>array(51,-68,954,844),27937=>array(71,-67,965,824),27938=>array(53,-79,952,830),27939=>array(51,-65,955,824),27940=>array(44,-38,962,845),27941=>array(48,-62,959,842),27942=>array(52,-70,932,830),27943=>array(42,-77,945,828),27944=>array(52,-74,963,835),27945=>array(55,-63,974,831),27946=>array(69,-60,940,834),27947=>array(50,-53,970,829),27948=>array(53,-71,963,818),27949=>array(50,-45,953,812),27950=>array(52,-60,967,825),27951=>array(53,-68,948,829),27952=>array(54,-52,949,805),27953=>array(56,-64,959,812),27954=>array(57,-70,897,820),27955=>array(56,-64,908,834),27956=>array(48,-65,956,847),27957=>array(50,-59,908,850),27958=>array(56,-63,917,838),27959=>array(55,-57,956,809),27960=>array(59,-75,965,819),27961=>array(54,-53,959,802),27962=>array(55,-72,889,830),27963=>array(43,-70,942,826),27964=>array(50,-54,956,829),27965=>array(50,-59,986,845),27966=>array(51,-72,966,832),27967=>array(58,-63,988,854),27968=>array(48,-73,909,828),27969=>array(40,-70,964,830),27970=>array(48,-73,970,836),27971=>array(49,-74,939,818),27972=>array(48,-61,952,839),27973=>array(46,-70,939,853),27974=>array(34,-61,947,836),27975=>array(37,-63,929,834),27976=>array(62,-80,920,819),27977=>array(46,-71,930,822),27978=>array(57,-54,935,816),27979=>array(48,-63,880,828),27980=>array(45,-63,956,825),27981=>array(45,-68,940,822),27982=>array(36,-64,952,835),27983=>array(55,-68,871,821),27984=>array(54,-68,917,846),27985=>array(57,-60,909,811),27986=>array(46,-69,920,822),27987=>array(40,-58,950,831),27988=>array(43,-64,911,790),27989=>array(54,-64,936,810),27990=>array(46,-66,934,835),27991=>array(56,-63,956,833),27992=>array(66,-64,970,821),27993=>array(41,-65,954,835),27994=>array(24,-54,948,846),27995=>array(42,-70,955,839),27996=>array(47,-65,963,824),27997=>array(52,-45,965,833),27998=>array(50,-54,972,829),27999=>array(50,-76,971,839),28000=>array(40,-65,951,838),28001=>array(60,-63,957,844),28002=>array(63,-44,966,818),28003=>array(56,-64,960,839),28004=>array(52,-65,940,833),28005=>array(45,-35,955,818),28006=>array(42,-52,956,847),28007=>array(53,-43,951,813),28008=>array(57,-68,972,831),28009=>array(29,-63,944,841),28010=>array(62,-63,962,829),28011=>array(46,-60,938,817),28012=>array(48,-49,952,817),28013=>array(47,-70,962,816),28014=>array(46,-68,951,834),28015=>array(54,-47,949,835),28016=>array(55,-65,909,831),28017=>array(54,-70,963,808),28018=>array(54,-72,969,842),28019=>array(57,-76,957,843),28020=>array(53,-60,959,847),28021=>array(43,-74,954,831),28022=>array(46,-69,945,836),28023=>array(42,-62,956,843),28024=>array(42,-69,949,798),28025=>array(43,-67,971,830),28026=>array(54,-67,911,827),28027=>array(50,-65,908,819),28028=>array(42,-65,962,840),28029=>array(53,-66,958,821),28030=>array(53,-70,953,830),28031=>array(56,-78,955,810),28032=>array(51,-66,963,811),28033=>array(55,-76,966,822),28034=>array(48,-68,975,843),28035=>array(52,-71,906,812),28036=>array(55,-68,956,830),28037=>array(28,-26,960,816),28038=>array(44,-67,950,809),28039=>array(50,-38,956,820),28040=>array(64,-67,917,833),28041=>array(48,-58,956,834),28042=>array(55,-52,972,809),28043=>array(56,-71,968,826),28044=>array(49,-61,897,818),28045=>array(50,-67,947,832),28046=>array(36,-66,964,813),28047=>array(63,-68,948,810),28048=>array(59,-67,964,827),28049=>array(49,-68,961,825),28050=>array(45,-68,948,814),28051=>array(74,-65,915,814),28052=>array(53,-67,996,829),28053=>array(42,-68,927,844),28054=>array(39,-48,956,859),28055=>array(57,-70,955,840),28056=>array(37,-53,973,863),28057=>array(36,-68,959,827),28058=>array(54,-64,968,852),28059=>array(61,-61,937,834),28060=>array(41,-59,955,844),28061=>array(52,-54,911,834),28062=>array(44,-59,943,823),28063=>array(44,-58,938,816),28064=>array(49,-63,869,800),28065=>array(41,-70,893,795),28066=>array(51,-67,929,813),28067=>array(22,-63,946,842),28068=>array(45,-59,944,828),28069=>array(50,-61,908,848),28070=>array(62,-53,918,829),28071=>array(46,-62,870,819),28072=>array(45,-60,956,821),28073=>array(53,-41,928,798),28074=>array(45,-67,952,845),28075=>array(51,-65,928,850),28076=>array(67,-67,933,827),28077=>array(76,-69,964,832),28078=>array(63,-66,924,830),28079=>array(39,-64,951,818),28080=>array(58,-67,967,794),28081=>array(50,-69,961,804),28082=>array(52,-68,961,839),28083=>array(66,-52,956,833),28084=>array(43,-56,962,857),28085=>array(53,-63,911,810),28086=>array(69,-50,941,828),28087=>array(85,-71,963,820),28088=>array(53,-65,900,824),28089=>array(51,-72,946,840),28090=>array(72,-73,932,813),28091=>array(54,-72,962,825),28092=>array(49,-61,964,831),28093=>array(66,-71,957,816),28094=>array(82,-68,946,820),28095=>array(54,-51,975,815),28096=>array(54,-74,956,820),28097=>array(54,-71,944,841),28098=>array(78,-65,953,813),28099=>array(50,-50,951,834),28100=>array(65,-62,926,842),28101=>array(40,-58,953,839),28102=>array(54,-64,958,844),28103=>array(48,-65,961,830),28104=>array(65,-80,908,800),28105=>array(84,-71,965,815),28106=>array(57,-70,897,829),28107=>array(28,-63,968,841),28108=>array(45,-62,935,838),28109=>array(66,-77,906,804),28110=>array(66,-67,967,832),28111=>array(88,-74,971,819),28112=>array(85,-69,906,806),28113=>array(31,-66,975,829),28114=>array(35,-66,953,838),28115=>array(63,-72,956,823),28116=>array(69,-56,955,834),28117=>array(80,-60,954,832),28118=>array(38,-65,945,836),28119=>array(59,-62,904,828),28120=>array(47,-58,911,847),28121=>array(40,-62,961,836),28122=>array(48,-66,982,843),28123=>array(71,-71,905,821),28124=>array(74,-75,911,806),28125=>array(40,-62,960,806),28126=>array(29,-65,956,832),28127=>array(37,-54,970,849),28128=>array(46,-64,955,814),28129=>array(47,-62,965,846),28130=>array(79,-70,958,820),28131=>array(50,-58,957,850),28132=>array(40,-61,965,835),28133=>array(40,-64,956,837),28134=>array(50,-36,957,843),28135=>array(50,-39,989,843),28136=>array(57,-61,950,834),28137=>array(47,-73,964,835),28138=>array(39,-58,991,856),28139=>array(41,-42,943,827),28140=>array(24,-61,948,840),28141=>array(70,-68,961,824),28142=>array(43,-59,962,849),28143=>array(50,-66,941,832),28144=>array(38,-53,969,848),28145=>array(44,-68,963,808),28146=>array(57,-79,956,823),28147=>array(50,-61,955,831),28148=>array(34,-33,955,846),28149=>array(47,-65,900,830),28150=>array(52,-65,985,836),28151=>array(55,-60,961,803),28152=>array(39,-64,943,833),28153=>array(42,-37,984,854),28154=>array(42,-60,978,845),28155=>array(53,-55,962,837),28156=>array(49,-68,978,827),28157=>array(64,-53,951,824),28158=>array(51,-69,962,857),28159=>array(70,-68,922,838),28160=>array(76,-80,974,820),28161=>array(47,-68,961,823),28162=>array(51,-60,949,795),28163=>array(41,-70,951,821),28164=>array(44,-62,953,820),28165=>array(39,-67,943,833),28166=>array(42,-57,909,826),28167=>array(39,-63,924,800),28168=>array(42,-60,958,825),28169=>array(39,-67,966,824),28170=>array(59,-72,882,824),28171=>array(48,-31,956,834),28172=>array(46,-60,936,807),28173=>array(54,-75,912,827),28174=>array(52,-60,929,823),28175=>array(52,-62,954,833),28176=>array(36,-63,920,829),28177=>array(50,-48,933,799),28178=>array(36,-65,957,841),28179=>array(46,-57,979,828),28180=>array(50,-48,922,829),28181=>array(42,-57,909,826),28182=>array(60,-72,910,832),28183=>array(51,-61,964,839),28184=>array(82,-69,964,813),28185=>array(34,-65,951,838),28186=>array(47,-65,948,833),28187=>array(54,-76,956,837),28188=>array(50,-72,970,804),28189=>array(33,-76,965,843),28190=>array(81,-71,934,837),28191=>array(46,-62,921,849),28192=>array(53,-68,965,819),28193=>array(49,-71,973,832),28194=>array(29,-54,972,812),28195=>array(33,-29,959,843),28196=>array(63,-77,930,836),28197=>array(48,-70,956,811),28198=>array(51,-59,896,822),28199=>array(62,-71,919,838),28200=>array(46,-76,975,803),28201=>array(36,-61,943,781),28202=>array(61,-80,930,820),28203=>array(45,-65,978,830),28204=>array(64,-65,909,826),28205=>array(65,-65,913,808),28206=>array(50,-65,950,828),28207=>array(47,-56,961,826),28208=>array(54,-67,973,844),28209=>array(49,-49,959,825),28210=>array(55,-39,954,847),28211=>array(40,-70,952,813),28212=>array(62,-65,919,801),28213=>array(49,-70,956,825),28214=>array(57,-79,970,824),28215=>array(49,-58,967,856),28216=>array(54,-77,950,839),28217=>array(49,-50,919,855),28218=>array(28,-71,946,826),28219=>array(46,-72,960,831),28220=>array(58,-65,982,845),28221=>array(51,-74,962,822),28222=>array(43,-57,956,821),28223=>array(45,-67,980,829),28224=>array(52,-76,968,829),28225=>array(49,-72,963,834),28226=>array(52,-60,963,805),28227=>array(44,-61,961,832),28228=>array(80,-69,919,808),28229=>array(39,-46,968,855),28230=>array(43,-69,951,833),28231=>array(41,-73,947,829),28232=>array(48,-59,975,832),28233=>array(50,-71,952,824),28234=>array(49,-69,966,825),28235=>array(46,-71,950,838),28236=>array(52,-63,963,848),28237=>array(54,-64,956,833),28238=>array(43,-64,951,809),28239=>array(47,-71,939,832),28240=>array(48,-65,918,829),28241=>array(45,-48,963,820),28242=>array(52,-71,951,811),28243=>array(43,-53,959,823),28244=>array(50,-65,965,850),28245=>array(40,-73,978,826),28246=>array(68,-68,912,829),28247=>array(69,-61,954,826),28248=>array(69,-65,916,829),28249=>array(69,-38,980,840),28250=>array(54,-70,965,828),28251=>array(38,-65,948,823),28252=>array(49,-65,979,811),28253=>array(55,-69,958,825),28254=>array(60,-77,955,833),28255=>array(42,-37,959,846),28256=>array(55,-66,954,835),28257=>array(52,-66,910,801),28258=>array(55,-72,951,811),28259=>array(48,-44,959,821),28260=>array(43,-57,959,853),28261=>array(45,-70,977,832),28262=>array(52,-46,955,807),28263=>array(44,-68,918,814),28264=>array(49,-67,974,812),28265=>array(45,-64,962,818),28266=>array(49,-63,974,843),28267=>array(50,-67,979,833),28268=>array(25,-67,964,833),28269=>array(29,-65,955,842),28270=>array(34,-50,939,810),28271=>array(51,-68,953,795),28272=>array(43,-48,938,844),28273=>array(56,-65,955,835),28274=>array(41,-56,968,846),28275=>array(55,-64,956,836),28276=>array(53,-40,959,851),28277=>array(45,-60,969,840),28278=>array(45,-70,974,840),28279=>array(49,-70,961,832),28280=>array(52,-70,961,830),28281=>array(49,-68,956,806),28282=>array(64,-65,949,840),28283=>array(45,-64,954,845),28284=>array(48,-46,948,821),28285=>array(65,-62,952,843),28286=>array(54,-61,953,836),28287=>array(49,-39,933,804),28288=>array(38,-59,922,828),28289=>array(44,-70,962,818),28290=>array(44,-67,903,831),28291=>array(48,-64,919,827),28292=>array(48,-63,969,840),28293=>array(29,-63,931,833),28294=>array(42,-69,949,817),28295=>array(29,-52,928,837),28296=>array(46,-68,939,839),28297=>array(48,-64,963,811),28298=>array(48,-67,969,817),28299=>array(48,-33,965,817),28300=>array(46,-61,966,823),28301=>array(49,-69,961,816),28302=>array(44,-54,954,849),28303=>array(37,-65,949,828),28304=>array(48,-70,943,799),28305=>array(51,-72,935,836),28306=>array(43,-71,960,827),28307=>array(65,-71,953,831),28308=>array(50,-74,971,833),28309=>array(50,-60,965,799),28310=>array(54,-67,951,843),28311=>array(38,-70,967,836),28312=>array(31,-41,938,832),28313=>array(45,-70,987,845),28314=>array(55,-68,966,827),28315=>array(55,-74,976,838),28316=>array(45,-66,925,830),28317=>array(43,-67,948,829),28318=>array(64,-72,963,806),28319=>array(48,-66,966,807),28320=>array(55,-45,952,835),28321=>array(35,-70,954,824),28322=>array(48,-34,952,839),28323=>array(38,-67,973,848),28324=>array(41,-71,932,797),28325=>array(53,-64,951,835),28326=>array(46,-69,964,830),28327=>array(51,-62,967,804),28328=>array(51,-59,972,842),28329=>array(26,-60,928,839),28330=>array(26,-69,977,838),28331=>array(53,-59,959,784),28332=>array(53,-59,980,829),28333=>array(53,-59,973,802),28334=>array(52,-68,968,838),28335=>array(66,-70,922,837),28336=>array(58,-49,954,830),28337=>array(44,-66,986,840),28338=>array(34,-64,970,837),28339=>array(51,-71,969,811),28340=>array(56,-67,975,842),28341=>array(56,-71,989,836),28342=>array(53,-68,964,835),28343=>array(46,-65,905,818),28344=>array(56,-67,980,830),28345=>array(62,-65,958,831),28346=>array(54,-60,927,803),28347=>array(57,-63,878,808),28348=>array(57,-41,959,816),28349=>array(36,-64,950,810),28350=>array(45,-64,965,851),28351=>array(45,-70,958,824),28352=>array(55,-73,950,835),28353=>array(44,-65,978,840),28354=>array(51,-62,959,848),28355=>array(36,-52,973,812),28356=>array(46,-65,991,863),28357=>array(53,-68,954,828),28358=>array(55,-68,951,802),28359=>array(53,-69,962,844),28360=>array(63,-64,954,839),28361=>array(47,-62,962,813),28362=>array(55,-63,972,847),28363=>array(45,-65,944,841),28364=>array(38,-58,978,853),28365=>array(48,-73,946,831),28366=>array(46,-65,952,830),28367=>array(35,-49,969,836),28368=>array(43,-68,970,835),28369=>array(49,-62,926,811),28370=>array(57,-74,951,797),28371=>array(41,-66,952,840),28372=>array(57,-65,950,836),28373=>array(27,-64,958,824),28374=>array(53,-71,965,836),28375=>array(43,-49,924,827),28376=>array(48,-61,959,814),28377=>array(47,-39,951,828),28378=>array(44,-79,961,841),28379=>array(43,-76,939,820),28380=>array(54,-70,987,852),28381=>array(44,-51,958,835),28382=>array(43,-72,938,829),28383=>array(37,-63,926,826),28384=>array(46,-64,943,805),28385=>array(38,-59,922,828),28386=>array(37,-43,921,824),28387=>array(37,-76,979,791),28388=>array(39,-57,940,832),28389=>array(45,-54,920,828),28390=>array(46,-60,951,841),28391=>array(46,-54,978,852),28392=>array(43,-70,927,844),28393=>array(40,-39,917,834),28394=>array(45,-69,969,810),28395=>array(50,-68,960,836),28396=>array(44,-64,963,815),28397=>array(55,-74,953,799),28398=>array(55,-75,977,832),28399=>array(45,-68,950,829),28400=>array(61,-65,952,847),28401=>array(61,-71,970,838),28402=>array(45,-68,945,859),28403=>array(36,-80,923,826),28404=>array(36,-68,954,831),28405=>array(49,-73,966,842),28406=>array(56,-73,972,829),28407=>array(63,-64,953,837),28408=>array(38,-64,951,832),28409=>array(54,-66,955,839),28410=>array(50,-49,956,818),28411=>array(50,-64,959,844),28412=>array(54,-60,967,826),28413=>array(56,-68,956,839),28414=>array(57,-68,961,827),28415=>array(46,-69,948,830),28416=>array(33,-72,961,826),28417=>array(44,-60,972,850),28418=>array(23,-65,971,795),28419=>array(51,-73,974,836),28420=>array(55,-81,952,832),28421=>array(55,-70,962,834),28422=>array(29,-64,969,838),28423=>array(51,-74,973,831),28424=>array(51,-68,955,830),28425=>array(41,-70,970,828),28426=>array(35,-72,945,837),28427=>array(41,-67,985,845),28428=>array(35,-41,965,830),28429=>array(50,-71,898,813),28430=>array(52,-73,968,827),28431=>array(46,-67,956,800),28432=>array(66,-71,964,840),28433=>array(47,-52,959,847),28434=>array(57,-74,963,830),28435=>array(37,-58,943,841),28436=>array(40,-66,960,840),28437=>array(38,-65,956,837),28438=>array(47,-62,972,833),28439=>array(46,-54,962,843),28440=>array(51,-53,964,821),28441=>array(69,-68,964,831),28442=>array(42,-31,957,805),28443=>array(46,-45,983,828),28444=>array(47,-52,964,824),28445=>array(50,-65,919,804),28446=>array(56,-69,961,827),28447=>array(51,-28,954,839),28448=>array(28,-63,974,840),28449=>array(56,-70,954,838),28450=>array(38,-68,962,838),28451=>array(37,-58,963,833),28452=>array(38,-63,948,819),28453=>array(50,-52,954,836),28454=>array(38,-68,978,841),28455=>array(47,-67,961,832),28456=>array(61,-70,972,843),28457=>array(38,-62,973,849),28458=>array(41,-62,961,829),28459=>array(36,-68,972,806),28460=>array(47,-69,969,837),28461=>array(57,-70,968,827),28462=>array(49,-69,959,844),28463=>array(50,-60,962,819),28464=>array(40,-68,908,842),28465=>array(39,-71,970,837),28466=>array(44,-68,962,816),28467=>array(41,-67,952,843),28468=>array(47,-76,934,824),28469=>array(33,-58,966,833),28470=>array(34,-35,958,829),28471=>array(37,-71,953,838),28472=>array(48,-68,956,836),28473=>array(56,-68,955,814),28474=>array(51,-72,968,823),28475=>array(47,-71,966,808),28476=>array(51,-70,955,823),28477=>array(63,-74,957,805),28478=>array(45,-62,974,840),28479=>array(36,-68,959,839),28480=>array(43,-50,962,814),28481=>array(38,-66,956,831),28482=>array(54,-58,945,833),28483=>array(50,-71,964,832),28484=>array(51,-65,972,846),28485=>array(45,-72,936,843),28486=>array(37,-63,913,825),28487=>array(43,-66,951,824),28488=>array(39,-55,971,824),28489=>array(44,-54,943,840),28490=>array(36,-61,967,831),28491=>array(40,-65,946,824),28492=>array(48,-46,944,841),28493=>array(40,-43,923,832),28494=>array(48,-71,977,824),28495=>array(51,-70,920,801),28496=>array(52,-64,974,838),28497=>array(30,-63,983,846),28498=>array(50,-64,977,828),28499=>array(55,-52,985,824),28500=>array(57,-68,951,823),28501=>array(47,-71,978,829),28502=>array(53,-45,958,801),28503=>array(49,-66,979,848),28504=>array(33,-66,969,832),28505=>array(31,-60,945,837),28506=>array(41,-59,954,846),28507=>array(55,-65,964,837),28508=>array(53,-48,956,840),28509=>array(44,-70,985,841),28510=>array(42,-65,972,833),28511=>array(58,-64,922,846),28512=>array(40,-70,955,797),28513=>array(49,-71,981,841),28514=>array(37,-66,955,832),28515=>array(48,-68,908,809),28516=>array(71,-69,915,794),28517=>array(69,-72,960,793),28518=>array(44,-64,968,838),28519=>array(52,-70,915,824),28520=>array(69,-62,966,847),28521=>array(49,-74,960,807),28522=>array(52,-71,916,832),28523=>array(49,-68,975,828),28524=>array(49,-69,951,805),28525=>array(40,-71,962,805),28526=>array(58,-79,905,832),28527=>array(44,-62,952,805),28528=>array(57,-68,960,837),28529=>array(57,-56,937,839),28530=>array(57,-70,950,828),28531=>array(50,-71,948,808),28532=>array(36,-63,934,823),28533=>array(38,-69,963,832),28534=>array(48,-63,977,807),28535=>array(52,-72,956,829),28536=>array(32,-71,964,834),28537=>array(32,-51,968,819),28538=>array(38,-68,960,808),28539=>array(48,-68,975,823),28540=>array(53,-49,953,845),28541=>array(51,-71,956,836),28542=>array(49,-74,974,821),28543=>array(36,-65,904,813),28544=>array(33,-38,956,810),28545=>array(46,-60,959,836),28546=>array(42,-69,974,838),28547=>array(33,-78,961,817),28548=>array(46,-52,964,837),28549=>array(45,-50,952,828),28550=>array(51,-61,973,840),28551=>array(44,-56,949,846),28552=>array(45,-70,974,841),28553=>array(35,-66,975,831),28554=>array(48,-62,957,851),28555=>array(50,-71,952,804),28556=>array(37,-64,954,843),28557=>array(42,-62,955,830),28558=>array(36,-59,972,845),28559=>array(34,-58,934,813),28560=>array(46,-75,954,812),28561=>array(40,-49,923,804),28562=>array(42,-56,973,818),28563=>array(49,-68,961,835),28564=>array(32,-50,950,853),28565=>array(55,-69,947,826),28566=>array(46,-68,906,812),28567=>array(37,-60,894,820),28568=>array(32,-51,956,834),28569=>array(41,-70,960,835),28570=>array(32,-68,949,844),28571=>array(32,-74,943,835),28572=>array(52,-58,883,820),28573=>array(44,-59,945,847),28574=>array(68,-74,972,826),28575=>array(62,-63,977,854),28576=>array(40,-46,962,804),28577=>array(39,-67,977,795),28578=>array(59,-68,910,824),28579=>array(41,-65,976,837),28580=>array(35,-68,956,822),28581=>array(66,-73,952,822),28582=>array(45,-69,969,810),28583=>array(43,-41,951,833),28584=>array(41,-43,951,850),28585=>array(87,-68,924,833),28586=>array(55,-77,995,820),28587=>array(66,-65,946,825),28588=>array(62,-79,965,825),28589=>array(71,-71,954,839),28590=>array(19,-65,969,855),28591=>array(69,-70,963,823),28592=>array(63,-69,970,836),28593=>array(45,-68,975,808),28594=>array(68,-69,958,823),28595=>array(24,-68,963,851),28596=>array(35,-73,976,806),28597=>array(35,-55,948,828),28598=>array(42,-44,956,849),28599=>array(36,-57,941,819),28600=>array(52,-57,962,831),28601=>array(28,-56,941,856),28602=>array(75,-53,975,837),28603=>array(45,-56,944,843),28604=>array(42,-65,953,841),28605=>array(56,-66,957,828),28606=>array(37,-57,951,833),28607=>array(71,-71,961,822),28608=>array(40,-72,962,840),28609=>array(54,-59,914,815),28610=>array(28,-68,962,830),28611=>array(34,-75,965,840),28612=>array(74,-68,974,810),28613=>array(39,-54,984,853),28614=>array(47,-67,966,836),28615=>array(41,-44,951,855),28616=>array(43,-68,964,818),28617=>array(44,-66,954,839),28618=>array(69,-78,964,825),28619=>array(77,-70,987,820),28620=>array(49,-71,970,824),28621=>array(70,-57,969,826),28622=>array(74,-68,954,812),28623=>array(68,-65,967,822),28624=>array(68,-64,986,822),28625=>array(39,-63,935,826),28626=>array(49,-58,951,835),28627=>array(28,-68,962,850),28628=>array(51,-71,958,802),28629=>array(53,-70,963,799),28630=>array(69,-63,961,802),28631=>array(39,-63,991,835),28632=>array(39,-60,956,849),28633=>array(52,-49,952,839),28634=>array(52,-65,937,829),28635=>array(43,-62,952,837),28636=>array(54,-54,957,826),28637=>array(53,-69,974,829),28638=>array(42,-64,962,859),28639=>array(48,-71,954,838),28640=>array(35,-59,967,834),28641=>array(40,-68,938,812),28642=>array(45,-70,952,801),28643=>array(59,-73,979,831),28644=>array(40,-58,963,841),28645=>array(40,-60,975,848),28646=>array(35,-63,959,826),28647=>array(55,-68,954,827),28648=>array(53,-41,965,841),28649=>array(51,-68,963,829),28650=>array(49,-43,972,842),28651=>array(47,-55,963,842),28652=>array(53,-64,972,829),28653=>array(58,-60,962,815),28654=>array(20,-68,957,831),28655=>array(41,-65,955,808),28656=>array(50,-61,956,839),28657=>array(46,-73,966,845),28658=>array(45,-78,963,822),28659=>array(52,-69,966,827),28660=>array(47,-68,955,826),28661=>array(79,-57,930,840),28662=>array(47,-65,901,815),28663=>array(51,-64,951,834),28664=>array(46,-65,984,837),28665=>array(24,-29,960,802),28666=>array(35,-69,964,845),28667=>array(50,-76,963,828),28668=>array(25,-73,978,842),28669=>array(45,-72,960,834),28670=>array(43,-71,967,841),28671=>array(56,-67,939,812),28672=>array(56,-70,959,809),28673=>array(46,-78,969,838),28674=>array(63,-61,974,849),28675=>array(58,-57,957,824),28676=>array(76,-68,952,829),28677=>array(52,-43,957,836),28678=>array(41,-71,933,834),28679=>array(45,-83,940,831),28680=>array(45,-70,937,817),28681=>array(36,-59,929,846),28682=>array(40,-52,955,824),28683=>array(48,-65,952,838),28684=>array(42,-62,951,837),28685=>array(47,-54,956,863),28686=>array(47,-67,950,833),28687=>array(61,-67,933,834),28688=>array(59,-62,942,830),28689=>array(34,-68,973,797),28690=>array(41,-43,981,856),28691=>array(39,-67,970,834),28692=>array(49,-71,970,822),28693=>array(37,-71,965,821),28694=>array(44,-65,942,820),28695=>array(41,-53,949,839),28696=>array(48,-67,962,841),28697=>array(51,-70,970,844),28698=>array(39,-59,976,848),28699=>array(48,-71,956,838),28700=>array(36,-69,967,826),28701=>array(38,-59,967,820),28702=>array(44,-65,959,844),28703=>array(40,-65,959,833),28704=>array(46,-63,967,838),28705=>array(35,-69,967,832),28706=>array(41,-64,974,829),28707=>array(24,-42,961,835),28708=>array(51,-72,964,841),28709=>array(45,-71,938,817),28710=>array(40,-65,951,833),28711=>array(45,-68,963,827),28712=>array(42,-71,973,829),28713=>array(40,-66,966,830),28714=>array(55,-65,960,843),28715=>array(46,-73,975,829),28716=>array(42,-73,961,829),28717=>array(50,-70,978,849),28718=>array(50,-66,963,824),28719=>array(55,-63,951,841),28720=>array(48,-62,975,808),28721=>array(42,-63,942,832),28722=>array(40,-67,987,849),28723=>array(50,-64,952,831),28724=>array(36,-70,957,833),28725=>array(53,-76,969,840),28726=>array(54,-63,936,840),28727=>array(44,-68,949,825),28728=>array(41,-60,974,841),28729=>array(39,-62,990,852),28730=>array(43,-65,962,848),28731=>array(37,-71,966,829),28732=>array(39,-58,975,848),28733=>array(49,-64,950,845),28734=>array(59,-70,923,797),28735=>array(52,-65,959,839),28736=>array(53,-61,936,832),28737=>array(56,-65,921,825),28738=>array(55,-62,964,840),28739=>array(59,-59,964,826),28740=>array(46,-63,961,814),28741=>array(45,-46,958,804),28742=>array(36,-45,949,826),28743=>array(41,-62,952,834),28744=>array(45,-65,954,806),28745=>array(51,-68,956,834),28746=>array(50,-67,960,808),28747=>array(46,-76,941,844),28748=>array(49,-70,953,829),28749=>array(49,-67,930,790),28750=>array(39,-36,964,836),28751=>array(33,-67,935,805),28752=>array(56,-37,950,836),28753=>array(46,-67,969,819),28754=>array(46,-69,958,824),28755=>array(36,-68,959,832),28756=>array(41,-66,972,832),28757=>array(41,-62,965,856),28758=>array(49,-65,956,843),28759=>array(48,-55,964,832),28760=>array(34,-72,960,837),28761=>array(52,-78,941,836),28762=>array(37,-66,963,829),28763=>array(50,-64,910,823),28764=>array(48,-71,946,838),28765=>array(46,-69,973,813),28766=>array(32,-71,925,815),28767=>array(55,-69,938,815),28768=>array(47,-66,954,837),28769=>array(45,-57,948,839),28770=>array(44,-70,988,830),28771=>array(50,-69,940,839),28772=>array(28,-63,975,844),28773=>array(45,-68,965,845),28774=>array(34,-73,964,816),28775=>array(39,-36,972,839),28776=>array(44,-77,954,834),28777=>array(38,-36,964,839),28778=>array(48,-67,944,830),28779=>array(85,-66,919,815),28780=>array(39,223,932,469),28781=>array(45,-61,955,771),28782=>array(49,-64,954,829),28783=>array(49,-91,942,814),28784=>array(32,-59,959,782),28785=>array(70,-70,908,825),28786=>array(146,-68,889,832),28787=>array(59,-57,917,833),28788=>array(58,-66,959,827),28789=>array(53,-63,926,790),28790=>array(64,-77,964,824),28791=>array(54,-65,949,829),28792=>array(54,-62,956,840),28793=>array(79,-70,943,837),28794=>array(58,-69,966,819),28795=>array(53,-64,953,830),28796=>array(50,-77,920,832),28797=>array(53,-64,953,817),28798=>array(45,-72,925,835),28799=>array(37,-81,903,826),28800=>array(32,-63,899,826),28801=>array(37,-69,960,800),28802=>array(53,-67,960,826),28803=>array(42,-73,969,780),28804=>array(46,-70,961,825),28805=>array(46,-52,965,804),28806=>array(50,-71,987,835),28807=>array(81,-74,956,838),28808=>array(73,-70,964,825),28809=>array(34,-65,925,828),28810=>array(59,-72,964,840),28811=>array(59,-72,959,832),28812=>array(59,-72,957,849),28813=>array(59,-72,964,832),28814=>array(66,-77,962,829),28815=>array(59,-73,964,837),28816=>array(59,-72,956,834),28817=>array(48,-65,975,831),28818=>array(44,-74,965,833),28819=>array(55,-86,963,820),28820=>array(59,-74,970,828),28821=>array(48,-69,955,836),28822=>array(39,-66,966,826),28823=>array(57,-73,960,829),28824=>array(62,-70,954,840),28825=>array(57,-73,960,840),28826=>array(100,-75,967,827),28827=>array(39,-59,949,833),28828=>array(35,-71,889,822),28829=>array(37,-62,937,827),28830=>array(37,-68,954,823),28831=>array(56,-68,956,822),28832=>array(73,-70,914,831),28833=>array(54,-66,956,826),28834=>array(62,-70,956,831),28835=>array(62,-70,961,831),28836=>array(69,-66,920,829),28837=>array(50,-62,932,829),28838=>array(62,-70,968,844),28839=>array(62,-70,943,831),28840=>array(63,-70,953,852),28841=>array(49,-73,957,829),28842=>array(54,-70,914,831),28843=>array(49,-72,961,822),28844=>array(48,-72,951,831),28845=>array(37,-69,959,830),28846=>array(55,-72,948,839),28847=>array(60,-71,915,830),28848=>array(34,-61,971,849),28849=>array(37,-62,986,838),28850=>array(62,-70,954,838),28851=>array(45,-69,950,827),28852=>array(48,-74,968,825),28853=>array(51,-71,965,834),28854=>array(62,-70,931,831),28855=>array(39,-72,942,828),28856=>array(59,-71,951,842),28857=>array(50,-71,950,830),28858=>array(62,-64,920,838),28859=>array(35,-68,911,823),28860=>array(35,-60,942,832),28861=>array(38,-64,940,830),28862=>array(53,-70,967,820),28863=>array(34,-65,965,844),28864=>array(39,-70,921,825),28865=>array(29,-68,943,830),28866=>array(32,-56,936,833),28867=>array(35,-63,923,823),28868=>array(35,-66,970,846),28869=>array(52,-55,956,832),28870=>array(48,-65,953,832),28871=>array(55,-65,965,830),28872=>array(58,-61,954,831),28873=>array(47,-71,957,843),28874=>array(41,-85,956,841),28875=>array(42,-61,973,849),28876=>array(35,-71,933,837),28877=>array(55,-64,956,826),28878=>array(45,-73,958,788),28879=>array(68,-63,887,845),28880=>array(34,-65,965,844),28881=>array(54,-63,964,829),28882=>array(47,-74,968,824),28883=>array(49,-56,953,832),28884=>array(57,-61,910,831),28885=>array(53,-64,959,832),28886=>array(82,-58,957,839),28887=>array(49,-68,959,835),28888=>array(49,-71,949,830),28889=>array(48,-75,968,839),28890=>array(53,-68,969,833),28891=>array(35,-60,944,826),28892=>array(55,-64,959,837),28893=>array(50,-58,966,785),28894=>array(46,-68,953,830),28895=>array(62,-75,919,834),28896=>array(48,-68,953,829),28897=>array(56,-71,933,831),28898=>array(44,-63,960,827),28899=>array(48,-75,956,829),28900=>array(43,-77,953,832),28901=>array(43,-77,949,825),28902=>array(34,-62,926,831),28903=>array(34,-74,934,818),28904=>array(54,-66,927,824),28905=>array(31,-65,931,841),28906=>array(31,-73,970,836),28907=>array(49,-70,931,812),28908=>array(26,-64,936,833),28909=>array(45,-63,951,829),28910=>array(68,-70,931,828),28911=>array(47,-82,944,842),28912=>array(43,-70,956,826),28913=>array(42,-51,915,839),28914=>array(63,-70,931,825),28915=>array(41,-65,956,831),28916=>array(56,-76,954,820),28917=>array(56,-72,947,831),28918=>array(38,-70,972,826),28919=>array(51,-75,960,837),28920=>array(53,-68,953,824),28921=>array(50,-72,955,842),28922=>array(55,-73,970,831),28923=>array(47,-67,967,829),28924=>array(44,-66,965,826),28925=>array(39,-81,969,839),28926=>array(46,-24,968,815),28927=>array(51,-77,959,833),28928=>array(45,-70,964,823),28929=>array(59,-66,962,826),28930=>array(38,-66,972,836),28931=>array(71,-71,954,835),28932=>array(33,-60,963,804),28933=>array(49,-71,951,832),28934=>array(49,-71,897,824),28935=>array(49,-71,911,833),28936=>array(46,-70,980,846),28937=>array(62,-63,937,798),28938=>array(49,-70,954,832),28939=>array(46,-70,980,829),28940=>array(57,-69,961,849),28941=>array(46,-70,914,829),28942=>array(57,-75,958,829),28943=>array(53,-61,961,775),28944=>array(48,-70,953,826),28945=>array(48,-67,917,826),28946=>array(58,-69,904,826),28947=>array(46,-70,968,833),28948=>array(55,-72,911,828),28949=>array(20,-77,948,832),28950=>array(33,-67,878,825),28951=>array(56,-65,929,835),28952=>array(39,-66,936,817),28953=>array(45,-79,947,831),28954=>array(61,-64,959,823),28955=>array(112,-72,911,781),28956=>array(51,-63,974,832),28957=>array(48,-67,960,833),28958=>array(50,-69,953,830),28959=>array(45,-67,953,831),28960=>array(39,-65,967,845),28961=>array(45,-63,951,844),28962=>array(48,-68,950,829),28963=>array(52,-75,956,785),28964=>array(48,-70,956,844),28965=>array(44,-72,961,845),28966=>array(48,-65,954,836),28967=>array(48,-67,968,826),28968=>array(48,-69,889,826),28969=>array(38,-67,895,826),28970=>array(48,-71,953,846),28971=>array(48,-67,937,826),28972=>array(65,-67,929,826),28973=>array(69,-62,936,839),28974=>array(38,-66,977,841),28975=>array(56,-70,957,837),28976=>array(53,-79,893,837),28977=>array(37,-66,971,840),28978=>array(49,-69,966,841),28979=>array(65,-67,954,834),28980=>array(40,-61,951,838),28981=>array(46,-73,910,824),28982=>array(62,-67,961,838),28983=>array(48,-67,951,850),28984=>array(59,-67,959,803),28985=>array(48,-67,897,826),28986=>array(50,-72,955,827),28987=>array(48,-67,905,826),28988=>array(56,-74,963,829),28989=>array(69,-70,959,821),28990=>array(37,-61,971,840),28991=>array(48,-68,967,855),28992=>array(37,-61,907,829),28993=>array(43,-70,957,832),28994=>array(40,-71,953,826),28995=>array(64,-70,979,847),28996=>array(41,-72,955,829),28997=>array(32,-72,971,829),28998=>array(38,-63,969,835),28999=>array(60,-65,959,829),29000=>array(28,-67,971,826),29001=>array(46,-69,968,830),29002=>array(51,-67,959,841),29003=>array(51,-71,957,826),29004=>array(42,-71,948,849),29005=>array(36,-73,986,827),29006=>array(55,-77,955,839),29007=>array(48,-67,933,826),29008=>array(50,-70,977,830),29009=>array(66,-70,961,831),29010=>array(45,-65,967,846),29011=>array(40,-73,953,828),29012=>array(36,-70,941,838),29013=>array(43,-72,949,793),29014=>array(40,-73,967,844),29015=>array(56,-72,975,835),29016=>array(47,-68,977,826),29017=>array(53,-63,953,832),29018=>array(38,-66,967,807),29019=>array(38,-73,977,788),29020=>array(46,-67,954,827),29021=>array(44,-79,897,823),29022=>array(34,-71,940,836),29023=>array(45,-75,906,825),29024=>array(32,-57,973,836),29025=>array(35,-75,977,829),29026=>array(66,-68,938,833),29027=>array(42,-68,977,829),29028=>array(44,-68,964,833),29029=>array(39,-62,969,834),29030=>array(48,-66,955,843),29031=>array(67,-62,950,788),29032=>array(35,-71,960,828),29033=>array(49,-76,959,829),29034=>array(48,-75,952,842),29035=>array(50,-62,974,840),29036=>array(38,-75,954,826),29037=>array(49,-61,954,830),29038=>array(54,-79,955,831),29039=>array(50,-65,961,832),29040=>array(46,-75,906,829),29041=>array(51,-69,911,828),29042=>array(49,-67,962,837),29043=>array(26,-70,883,823),29044=>array(56,-69,950,828),29045=>array(51,-67,959,831),29046=>array(43,-55,970,837),29047=>array(43,-73,969,846),29048=>array(50,-63,939,832),29049=>array(51,-69,966,829),29050=>array(49,-69,950,826),29051=>array(44,-72,956,836),29052=>array(56,-69,926,850),29053=>array(41,-72,921,822),29054=>array(51,-69,950,828),29055=>array(46,-71,959,838),29056=>array(49,-74,964,827),29057=>array(51,-68,952,836),29058=>array(44,-68,967,831),29059=>array(47,-69,962,840),29060=>array(34,-71,964,847),29061=>array(57,-75,956,820),29062=>array(51,-67,956,829),29063=>array(57,-65,959,843),29064=>array(43,-72,949,801),29065=>array(53,-80,964,826),29066=>array(40,-70,947,844),29067=>array(58,-72,968,838),29068=>array(51,-63,905,831),29069=>array(51,-72,937,843),29070=>array(48,-71,956,827),29071=>array(45,-72,949,834),29072=>array(46,-77,956,832),29073=>array(51,-69,966,850),29074=>array(58,-63,949,839),29075=>array(56,-69,928,839),29076=>array(51,-71,962,835),29077=>array(56,-69,969,828),29078=>array(53,-76,933,835),29079=>array(40,-72,981,850),29080=>array(42,-63,890,830),29081=>array(43,-72,949,785),29082=>array(51,-55,959,835),29083=>array(32,-61,945,832),29084=>array(49,-52,977,830),29085=>array(40,-69,968,846),29086=>array(48,-61,977,825),29087=>array(38,-67,960,831),29088=>array(39,-70,909,835),29089=>array(51,-72,955,826),29090=>array(51,-69,962,843),29091=>array(51,-69,953,833),29092=>array(48,-62,953,827),29093=>array(32,-70,973,824),29094=>array(56,-65,949,837),29095=>array(46,-70,973,839),29096=>array(35,-63,964,830),29097=>array(42,-71,964,826),29098=>array(41,-71,931,825),29099=>array(51,-69,962,851),29100=>array(30,-72,940,833),29101=>array(35,-66,962,835),29102=>array(49,-70,968,827),29103=>array(46,-59,969,843),29104=>array(54,-61,956,825),29105=>array(47,-69,949,831),29106=>array(41,-76,968,821),29107=>array(43,-62,983,833),29108=>array(36,-61,964,838),29109=>array(32,-67,951,848),29110=>array(26,-67,962,828),29111=>array(43,-62,917,853),29112=>array(32,-61,964,835),29113=>array(41,-62,965,835),29114=>array(37,-65,956,836),29115=>array(34,-63,991,848),29116=>array(42,-73,958,826),29117=>array(38,-68,946,824),29118=>array(36,-75,956,837),29119=>array(54,-75,967,831),29120=>array(47,-68,954,825),29121=>array(43,-65,953,832),29122=>array(46,-67,956,826),29123=>array(45,-75,959,831),29124=>array(47,-66,970,842),29125=>array(41,-75,971,826),29126=>array(44,-68,969,826),29127=>array(47,-67,954,835),29128=>array(35,-85,963,837),29129=>array(46,-73,973,837),29130=>array(44,-63,974,839),29131=>array(38,-73,963,837),29132=>array(51,-75,967,827),29133=>array(46,-67,954,836),29134=>array(41,-73,969,850),29135=>array(50,-66,925,830),29136=>array(49,-68,959,833),29137=>array(37,-61,933,844),29138=>array(48,-74,955,829),29139=>array(39,-71,968,836),29140=>array(32,-65,965,837),29141=>array(45,-67,952,828),29142=>array(43,-56,954,833),29143=>array(22,-68,911,829),29144=>array(48,-67,914,829),29145=>array(53,-72,968,798),29146=>array(44,-74,969,828),29147=>array(43,-74,972,785),29148=>array(43,-65,928,829),29149=>array(46,-67,967,824),29150=>array(34,-67,969,837),29151=>array(84,-68,903,832),29152=>array(54,-69,952,825),29153=>array(42,-70,957,825),29154=>array(47,-67,969,838),29155=>array(44,-68,968,849),29156=>array(44,-68,951,822),29157=>array(33,-71,973,829),29158=>array(38,-69,971,836),29159=>array(36,-74,960,823),29160=>array(37,-69,962,847),29161=>array(37,-71,962,845),29162=>array(30,-63,979,836),29163=>array(61,-79,969,847),29164=>array(53,-64,974,835),29165=>array(61,-79,927,828),29166=>array(55,-80,967,830),29167=>array(43,-77,956,820),29168=>array(49,-73,977,829),29169=>array(53,-75,976,830),29170=>array(46,-72,951,843),29171=>array(49,-75,977,823),29172=>array(39,-73,971,857),29173=>array(39,-73,954,835),29174=>array(41,-70,984,838),29175=>array(48,-70,921,857),29176=>array(41,-70,945,830),29177=>array(43,-67,972,784),29178=>array(63,-63,943,853),29179=>array(54,-70,971,831),29180=>array(39,-70,954,830),29181=>array(44,-67,952,833),29182=>array(48,-67,967,833),29183=>array(37,-64,957,831),29184=>array(48,-69,951,831),29185=>array(41,-69,951,823),29186=>array(57,-69,964,840),29187=>array(45,-65,961,831),29188=>array(45,-65,948,827),29189=>array(45,-65,963,827),29190=>array(37,-72,967,828),29191=>array(49,-63,973,839),29192=>array(33,-68,965,838),29193=>array(47,-76,971,847),29194=>array(33,-68,962,839),29195=>array(55,-68,930,833),29196=>array(37,-75,948,841),29197=>array(36,-73,972,847),29198=>array(37,-64,990,845),29199=>array(27,-64,956,827),29200=>array(43,-71,954,830),29201=>array(43,-71,980,837),29202=>array(61,-80,961,858),29203=>array(54,-67,918,829),29204=>array(46,-62,972,841),29205=>array(50,-73,971,843),29206=>array(40,-63,962,843),29207=>array(36,-68,953,826),29208=>array(40,-83,979,841),29209=>array(36,-71,970,838),29210=>array(51,-75,973,824),29211=>array(53,-70,923,830),29212=>array(53,-70,962,834),29213=>array(39,-63,956,843),29214=>array(41,-70,962,831),29215=>array(36,-64,962,837),29216=>array(36,-68,960,830),29217=>array(36,-73,949,842),29218=>array(44,-75,958,845),29219=>array(47,-76,972,831),29220=>array(47,-66,942,830),29221=>array(47,-68,933,827),29222=>array(35,-67,975,838),29223=>array(48,-73,953,824),29224=>array(35,-70,968,830),29225=>array(40,-73,954,822),29226=>array(63,-64,944,835),29227=>array(83,181,938,697),29228=>array(50,-62,958,837),29229=>array(71,-73,924,824),29230=>array(50,-62,958,837),29231=>array(56,-67,950,846),29232=>array(54,-65,957,846),29233=>array(52,-73,943,824),29234=>array(33,-70,934,852),29235=>array(69,-52,916,844),29236=>array(74,-66,970,829),29237=>array(64,-61,943,842),29238=>array(95,-57,923,825),29239=>array(67,-62,951,823),29240=>array(45,-16,954,844),29241=>array(52,-79,964,839),29242=>array(55,-62,961,843),29243=>array(48,-63,960,840),29244=>array(66,-11,962,773),29245=>array(52,-69,963,835),29246=>array(50,-73,940,785),29247=>array(49,-69,732,820),29248=>array(42,-65,969,825),29249=>array(46,-71,951,829),29250=>array(46,-64,954,851),29251=>array(46,-64,968,831),29252=>array(36,-71,969,841),29253=>array(46,-73,949,851),29254=>array(39,-67,951,833),29255=>array(48,-75,895,829),29256=>array(34,-73,966,818),29257=>array(57,-77,957,826),29258=>array(50,-74,909,821),29259=>array(42,-70,966,840),29260=>array(42,-62,944,837),29261=>array(18,-75,927,819),29262=>array(18,-66,960,848),29263=>array(39,-57,950,853),29264=>array(18,-76,940,836),29265=>array(32,-78,922,833),29266=>array(34,-66,968,831),29267=>array(40,-70,957,846),29268=>array(23,-71,959,838),29269=>array(34,-66,959,839),29270=>array(31,-68,951,839),29271=>array(40,-73,949,851),29272=>array(33,-84,955,835),29273=>array(59,-53,929,780),29274=>array(51,-61,939,836),29275=>array(81,-68,939,830),29276=>array(155,-67,719,829),29277=>array(47,-67,938,829),29278=>array(51,-62,914,832),29279=>array(53,-67,947,844),29280=>array(43,-62,964,838),29281=>array(42,-62,953,829),29282=>array(56,-65,944,833),29283=>array(57,-49,914,844),29284=>array(57,-48,931,844),29285=>array(57,-67,954,849),29286=>array(34,-75,937,828),29287=>array(50,-68,974,840),29288=>array(50,-64,957,843),29289=>array(68,-73,921,829),29290=>array(48,-71,954,833),29291=>array(48,-71,949,825),29292=>array(39,-74,927,823),29293=>array(49,-69,937,826),29294=>array(55,-68,972,844),29295=>array(49,-67,949,829),29296=>array(50,-72,908,833),29297=>array(50,-66,960,833),29298=>array(44,-65,954,831),29299=>array(44,-66,960,825),29300=>array(48,-67,968,843),29301=>array(82,-61,934,845),29302=>array(43,-67,976,838),29303=>array(58,-69,984,827),29304=>array(54,-52,962,848),29305=>array(50,-68,944,831),29306=>array(26,-62,923,830),29307=>array(42,-68,950,838),29308=>array(52,-68,951,825),29309=>array(76,-67,945,838),29310=>array(52,-62,956,833),29311=>array(52,-52,955,842),29312=>array(45,-69,933,800),29313=>array(68,-61,945,835),29314=>array(59,-63,954,849),29315=>array(58,-65,956,848),29316=>array(45,-65,949,838),29317=>array(69,-67,918,827),29318=>array(58,-65,953,838),29319=>array(46,-67,959,839),29320=>array(61,-72,968,830),29321=>array(66,-67,957,837),29322=>array(25,-62,932,830),29323=>array(44,-67,947,830),29324=>array(42,-77,973,827),29325=>array(39,-68,962,830),29326=>array(65,-64,962,831),29327=>array(28,-79,906,832),29328=>array(47,-73,954,826),29329=>array(41,-75,970,825),29330=>array(42,-71,950,826),29331=>array(53,-69,914,830),29332=>array(42,-71,974,851),29333=>array(43,-72,952,823),29334=>array(60,-68,954,847),29335=>array(43,-65,965,850),29336=>array(57,-69,947,843),29337=>array(42,-73,947,848),29338=>array(43,-68,958,824),29339=>array(52,-68,965,834),29340=>array(22,-73,973,837),29341=>array(45,-65,954,835),29342=>array(51,-70,976,825),29343=>array(62,-67,912,781),29344=>array(33,-70,965,853),29345=>array(33,-70,944,825),29346=>array(39,-84,956,835),29347=>array(37,-76,973,837),29348=>array(38,-67,980,826),29349=>array(29,-69,966,840),29350=>array(28,-59,983,833),29351=>array(33,-63,960,841),29352=>array(40,-67,947,840),29353=>array(52,-73,975,833),29354=>array(30,-65,972,846),29355=>array(39,-66,946,839),29356=>array(77,-71,949,826),29357=>array(257,-63,643,790),29358=>array(60,-73,962,834),29359=>array(60,-59,933,809),29360=>array(42,-70,963,829),29361=>array(33,-69,952,833),29362=>array(103,-71,950,824),29363=>array(97,-56,897,851),29364=>array(35,-64,945,824),29365=>array(57,-55,960,829),29366=>array(44,-68,940,823),29367=>array(34,-65,911,832),29368=>array(29,-65,889,798),29369=>array(40,-70,956,817),29370=>array(47,-69,959,832),29371=>array(52,-62,950,840),29372=>array(42,-69,959,823),29373=>array(48,-62,951,820),29374=>array(92,-62,942,831),29375=>array(52,-65,943,829),29376=>array(40,-69,951,818),29377=>array(44,-63,956,839),29378=>array(50,-66,948,807),29379=>array(24,-45,944,830),29380=>array(50,-70,972,825),29381=>array(43,-57,943,807),29382=>array(57,-61,913,833),29383=>array(73,-61,964,835),29384=>array(32,-60,942,799),29385=>array(39,-44,950,813),29386=>array(45,-68,973,785),29387=>array(38,-72,973,804),29388=>array(47,-47,951,827),29389=>array(47,-52,958,834),29390=>array(69,-64,920,822),29391=>array(69,-55,943,831),29392=>array(32,-77,970,838),29393=>array(47,-76,960,836),29394=>array(61,-68,934,822),29395=>array(47,-70,958,835),29396=>array(32,-80,963,796),29397=>array(35,-73,920,831),29398=>array(35,-66,966,834),29399=>array(60,-61,921,842),29400=>array(36,-70,963,824),29401=>array(47,-54,957,801),29402=>array(43,-50,958,820),29403=>array(70,-66,886,843),29404=>array(51,-68,953,830),29405=>array(41,-58,934,836),29406=>array(43,-61,924,849),29407=>array(46,-50,962,816),29408=>array(48,-71,969,811),29409=>array(52,-65,963,812),29410=>array(53,-67,973,839),29411=>array(47,-67,963,833),29412=>array(49,-73,953,823),29413=>array(64,-64,909,836),29414=>array(43,-68,956,827),29415=>array(64,-64,958,834),29416=>array(45,-80,967,818),29417=>array(48,-59,954,824),29418=>array(50,-67,911,811),29419=>array(39,-60,955,826),29420=>array(33,-58,948,827),29421=>array(29,-63,942,832),29422=>array(29,-71,930,822),29423=>array(36,-60,955,837),29424=>array(32,-60,920,837),29425=>array(33,-74,959,822),29426=>array(20,-62,948,832),29427=>array(29,-62,971,855),29428=>array(50,-50,958,831),29429=>array(50,-62,957,826),29430=>array(45,-71,956,834),29431=>array(75,-65,918,815),29432=>array(45,-57,958,820),29433=>array(31,-63,967,833),29434=>array(47,-62,959,844),29435=>array(41,-64,973,854),29436=>array(37,-75,968,831),29437=>array(45,-70,962,794),29438=>array(47,-71,960,826),29439=>array(58,-65,971,792),29440=>array(45,-69,966,823),29441=>array(54,-64,917,830),29442=>array(51,-64,956,816),29443=>array(32,-68,946,832),29444=>array(52,-60,965,846),29445=>array(52,-65,950,829),29446=>array(38,-68,965,831),29447=>array(49,-70,955,823),29448=>array(65,-67,955,832),29449=>array(65,-71,957,833),29450=>array(47,-65,953,832),29451=>array(40,-62,962,845),29452=>array(38,-70,969,826),29453=>array(55,-65,984,836),29454=>array(39,-69,939,817),29455=>array(48,-76,908,818),29456=>array(48,-54,970,820),29457=>array(62,-63,958,782),29458=>array(101,-72,962,824),29459=>array(48,-68,968,817),29460=>array(53,-65,951,845),29461=>array(23,-61,945,831),29462=>array(53,-68,911,808),29463=>array(47,-62,955,835),29464=>array(46,-68,914,826),29465=>array(35,-68,963,837),29466=>array(59,-70,953,842),29467=>array(49,-59,958,808),29468=>array(46,-65,954,837),29469=>array(49,-67,953,819),29470=>array(40,-65,978,850),29471=>array(50,-63,968,827),29472=>array(40,-74,960,829),29473=>array(35,-64,894,808),29474=>array(62,-68,927,829),29475=>array(43,-73,959,813),29476=>array(35,-66,959,809),29477=>array(44,-64,964,809),29478=>array(46,-74,961,792),29479=>array(72,-69,923,793),29480=>array(32,-60,959,841),29481=>array(42,-61,951,803),29482=>array(49,-56,921,836),29483=>array(24,-69,933,824),29484=>array(56,-65,911,803),29485=>array(49,-66,966,828),29486=>array(55,-54,955,842),29487=>array(61,-69,950,830),29488=>array(42,-64,974,831),29489=>array(43,-64,961,819),29490=>array(68,-65,933,790),29491=>array(33,-61,967,819),29492=>array(36,-71,975,827),29493=>array(65,-73,929,825),29494=>array(40,-71,955,840),29495=>array(57,-69,970,845),29496=>array(40,-74,897,815),29497=>array(41,-53,962,835),29498=>array(41,-64,966,850),29499=>array(30,-62,962,831),29500=>array(20,-71,943,829),29501=>array(38,-73,950,789),29502=>array(25,-72,929,819),29503=>array(42,-69,977,833),29504=>array(30,-78,977,833),29505=>array(40,-61,922,819),29506=>array(39,-75,979,804),29507=>array(45,-55,969,842),29508=>array(37,-66,970,826),29509=>array(39,-67,954,840),29510=>array(50,-64,979,849),29511=>array(50,-64,974,828),29512=>array(50,-57,962,842),29513=>array(35,-70,984,836),29514=>array(40,-73,963,845),29515=>array(38,-74,960,852),29516=>array(29,-72,973,812),29517=>array(53,-65,958,851),29518=>array(39,-64,970,843),29519=>array(44,-72,971,823),29520=>array(44,-64,949,840),29521=>array(19,-74,953,822),29522=>array(25,-68,949,830),29523=>array(44,-71,960,838),29524=>array(44,-74,960,852),29525=>array(44,-65,953,833),29526=>array(59,-75,947,827),29527=>array(44,-74,981,805),29528=>array(33,-54,965,857),29529=>array(23,-80,977,826),29530=>array(39,-73,955,827),29531=>array(42,-68,983,827),29532=>array(44,-74,954,832),29533=>array(56,-68,924,824),29534=>array(51,-42,962,838),29535=>array(41,-70,961,833),29536=>array(35,-61,967,846),29537=>array(52,-57,932,833),29538=>array(39,-67,973,835),29539=>array(45,-67,972,833),29540=>array(44,-73,973,837),29541=>array(46,-75,960,835),29542=>array(37,-63,943,827),29543=>array(39,-55,965,826),29544=>array(64,-66,920,791),29545=>array(41,-66,967,826),29546=>array(32,-62,984,863),29547=>array(26,-63,975,864),29548=>array(44,-67,960,838),29549=>array(12,-60,936,838),29550=>array(34,-67,975,834),29551=>array(49,-62,966,828),29552=>array(40,-67,957,816),29553=>array(57,-66,960,842),29554=>array(30,-64,964,840),29555=>array(47,-66,951,791),29556=>array(37,-65,951,831),29557=>array(36,-74,971,842),29558=>array(39,-76,969,824),29559=>array(40,-71,972,838),29560=>array(59,-67,972,829),29561=>array(40,-72,954,830),29562=>array(37,-71,975,833),29563=>array(38,-76,958,831),29564=>array(35,-64,973,829),29565=>array(36,-69,987,842),29566=>array(43,-67,959,835),29567=>array(43,-74,963,808),29568=>array(41,-64,959,822),29569=>array(38,-67,961,813),29570=>array(38,-71,963,823),29571=>array(36,-60,965,831),29572=>array(95,-57,915,819),29573=>array(65,-70,973,852),29574=>array(44,-65,956,818),29575=>array(72,-69,928,840),29576=>array(64,-71,970,836),29577=>array(117,0,908,753),29578=>array(85,-30,935,770),29579=>array(92,14,908,766),29580=>array(81,-38,943,822),29581=>array(59,-17,934,825),29582=>array(71,-69,956,790),29583=>array(71,-76,892,823),29584=>array(51,-60,960,775),29585=>array(37,-67,936,762),29586=>array(57,-23,957,763),29587=>array(64,-69,920,829),29588=>array(57,-70,912,822),29589=>array(40,-65,951,787),29590=>array(41,-64,979,835),29591=>array(54,-74,953,785),29592=>array(54,-26,957,778),29593=>array(54,-67,922,825),29594=>array(54,-63,927,769),29595=>array(51,-60,909,787),29596=>array(44,-60,957,806),29597=>array(50,-73,949,821),29598=>array(49,-64,963,833),29599=>array(51,-58,972,827),29600=>array(48,-65,987,855),29601=>array(44,-75,956,775),29602=>array(42,-62,984,820),29603=>array(47,-64,935,841),29604=>array(42,-73,954,823),29605=>array(60,-71,905,785),29606=>array(47,-63,991,837),29607=>array(47,-60,964,834),29608=>array(56,-17,952,767),29609=>array(51,-68,958,779),29610=>array(43,-62,975,831),29611=>array(60,-59,957,840),29612=>array(55,-78,956,779),29613=>array(44,-67,958,823),29614=>array(42,-67,893,825),29615=>array(38,-57,951,782),29616=>array(33,-59,930,788),29617=>array(45,-33,950,828),29618=>array(37,-68,964,840),29619=>array(39,-65,953,835),29620=>array(50,-20,957,824),29621=>array(51,-73,955,827),29622=>array(47,-71,956,782),29623=>array(39,-67,945,832),29624=>array(48,-38,956,827),29625=>array(43,-55,961,829),29626=>array(35,-48,915,826),29627=>array(64,-64,969,830),29628=>array(46,-43,966,810),29629=>array(46,-54,909,849),29630=>array(49,-71,917,780),29631=>array(49,-74,906,783),29632=>array(66,-63,882,846),29633=>array(66,-29,961,779),29634=>array(50,-65,961,779),29635=>array(47,-73,956,831),29636=>array(47,-12,952,827),29637=>array(53,-61,917,838),29638=>array(49,-72,952,842),29639=>array(49,-27,954,783),29640=>array(43,-70,907,830),29641=>array(41,-55,964,794),29642=>array(54,-61,951,789),29643=>array(45,-70,911,830),29644=>array(48,-30,963,824),29645=>array(67,-72,974,849),29646=>array(53,-52,964,847),29647=>array(53,-13,950,760),29648=>array(52,-64,949,829),29649=>array(32,-61,926,824),29650=>array(59,-72,954,827),29651=>array(58,-66,971,837),29652=>array(57,-64,954,832),29653=>array(57,-65,959,835),29654=>array(57,-65,955,821),29655=>array(52,-59,957,827),29656=>array(51,-67,951,836),29657=>array(41,-68,965,831),29658=>array(58,-71,907,771),29659=>array(60,-68,954,828),29660=>array(54,-67,954,833),29661=>array(57,-71,905,780),29662=>array(45,-66,972,840),29663=>array(40,-66,993,789),29664=>array(66,-62,978,837),29665=>array(50,-60,951,795),29666=>array(76,-71,957,781),29667=>array(62,-59,914,837),29668=>array(25,-64,963,834),29669=>array(25,-66,949,789),29670=>array(25,-55,900,875),29671=>array(50,-64,969,835),29672=>array(58,-69,958,829),29673=>array(45,-67,956,833),29674=>array(38,-21,951,831),29675=>array(50,-67,966,840),29676=>array(60,-61,971,835),29677=>array(50,-61,951,811),29678=>array(45,-72,977,788),29679=>array(38,-32,959,833),29680=>array(38,-60,899,829),29681=>array(38,-52,959,782),29682=>array(37,-69,920,764),29683=>array(49,-58,957,834),29684=>array(49,-64,958,828),29685=>array(56,-14,954,788),29686=>array(56,-68,915,822),29687=>array(36,-64,962,833),29688=>array(58,-71,953,775),29689=>array(36,-68,951,834),29690=>array(62,-69,956,787),29691=>array(35,-69,955,843),29692=>array(57,-73,959,782),29693=>array(44,-64,973,832),29694=>array(56,-65,944,780),29695=>array(56,-71,969,780),29696=>array(57,-71,964,830),29697=>array(59,-73,968,831),29698=>array(61,-62,930,845),29699=>array(53,-63,959,831),29700=>array(57,-65,894,782),29701=>array(46,-66,965,815),29702=>array(35,-16,945,775),29703=>array(47,-63,963,833),29704=>array(55,-67,954,819),29705=>array(30,-70,960,830),29706=>array(43,-67,958,789),29707=>array(53,-68,953,837),29708=>array(54,-71,967,824),29709=>array(47,-65,900,832),29710=>array(57,-19,975,817),29711=>array(32,-49,938,827),29712=>array(35,-65,933,828),29713=>array(35,-67,940,833),29714=>array(43,-65,963,846),29715=>array(35,-69,968,828),29716=>array(35,-83,949,831),29717=>array(35,-65,957,841),29718=>array(47,-70,954,835),29719=>array(35,-71,943,839),29720=>array(35,-65,960,833),29721=>array(35,-68,965,835),29722=>array(52,-67,964,787),29723=>array(30,-67,958,786),29724=>array(35,-65,972,836),29725=>array(55,-74,963,787),29726=>array(55,-26,945,796),29727=>array(35,-65,955,843),29728=>array(53,-72,965,826),29729=>array(55,-76,962,822),29730=>array(32,-65,971,774),29731=>array(55,-68,951,838),29732=>array(43,-59,967,849),29733=>array(39,-67,940,834),29734=>array(48,-61,957,841),29735=>array(63,-22,958,784),29736=>array(53,-57,970,790),29737=>array(76,-67,918,787),29738=>array(50,-68,960,836),29739=>array(50,-71,959,831),29740=>array(49,-65,967,836),29741=>array(57,-67,962,830),29742=>array(47,-62,959,821),29743=>array(47,-65,924,837),29744=>array(53,-65,980,838),29745=>array(63,-72,911,774),29746=>array(47,-71,958,832),29747=>array(37,-63,964,826),29748=>array(34,-74,960,802),29749=>array(55,-54,959,791),29750=>array(71,-23,941,787),29751=>array(35,-53,976,820),29752=>array(54,-71,953,825),29753=>array(50,-64,960,798),29754=>array(53,-59,962,831),29755=>array(35,-23,982,843),29756=>array(33,-55,971,852),29757=>array(35,-69,959,835),29758=>array(35,-66,971,774),29759=>array(43,-62,967,793),29760=>array(45,-70,912,827),29761=>array(55,-65,930,788),29762=>array(51,-70,900,783),29763=>array(51,-64,970,842),29764=>array(43,-27,954,832),29765=>array(51,-70,969,788),29766=>array(36,-27,954,782),29767=>array(37,-66,948,835),29768=>array(40,-61,973,796),29769=>array(40,-52,963,823),29770=>array(45,-75,963,825),29771=>array(47,-65,960,832),29772=>array(47,-72,975,788),29773=>array(46,-77,977,832),29774=>array(53,-73,960,822),29775=>array(48,-70,951,845),29776=>array(50,-72,954,839),29777=>array(40,-51,960,850),29778=>array(39,-77,954,780),29779=>array(48,-62,965,835),29780=>array(48,-69,970,846),29781=>array(38,-67,969,789),29782=>array(38,-69,970,840),29783=>array(47,-65,982,843),29784=>array(47,-65,952,783),29785=>array(56,-65,920,841),29786=>array(69,-62,893,830),29787=>array(31,-68,962,829),29788=>array(30,-65,972,816),29789=>array(43,-30,948,851),29790=>array(62,-68,939,833),29791=>array(63,-46,958,785),29792=>array(37,-65,913,834),29793=>array(69,-67,954,840),29794=>array(53,-70,965,824),29795=>array(63,-72,965,836),29796=>array(46,-62,959,841),29797=>array(46,-32,964,783),29798=>array(63,-60,928,839),29799=>array(59,-68,971,835),29800=>array(36,-61,959,789),29801=>array(69,-19,935,839),29802=>array(60,-61,911,787),29803=>array(60,-63,937,835),29804=>array(54,-28,954,843),29805=>array(44,-67,956,850),29806=>array(56,-72,977,781),29807=>array(41,-61,954,798),29808=>array(53,-65,947,856),29809=>array(36,-64,955,840),29810=>array(45,-65,995,858),29811=>array(42,-29,951,839),29812=>array(47,-89,964,824),29813=>array(50,-69,971,787),29814=>array(40,-64,913,822),29815=>array(35,-70,944,827),29816=>array(35,-63,943,830),29817=>array(62,-77,967,818),29818=>array(45,-67,930,839),29819=>array(53,-66,955,802),29820=>array(53,-77,952,819),29821=>array(58,-71,968,826),29822=>array(38,-21,946,828),29823=>array(62,-22,957,792),29824=>array(45,-62,962,839),29825=>array(56,-43,972,837),29826=>array(45,-33,972,829),29827=>array(39,-69,943,833),29828=>array(51,-65,952,847),29829=>array(62,-72,982,822),29830=>array(45,-62,957,800),29831=>array(38,-71,972,828),29832=>array(48,-77,983,826),29833=>array(41,-64,962,833),29834=>array(56,-65,959,824),29835=>array(45,-68,952,828),29836=>array(45,-78,953,834),29837=>array(37,-68,945,831),29838=>array(39,-81,928,775),29839=>array(39,-72,988,841),29840=>array(38,-65,975,841),29841=>array(38,-65,961,836),29842=>array(52,-17,964,832),29843=>array(31,-53,957,829),29844=>array(51,-72,892,827),29845=>array(50,-67,950,783),29846=>array(45,-65,969,799),29847=>array(60,-46,954,818),29848=>array(57,-66,959,837),29849=>array(57,-67,969,850),29850=>array(50,-67,920,787),29851=>array(32,-67,954,831),29852=>array(37,-74,923,824),29853=>array(37,-70,966,833),29854=>array(47,-63,964,828),29855=>array(36,-57,951,801),29856=>array(43,-64,973,836),29857=>array(39,-64,967,844),29858=>array(62,-71,926,797),29859=>array(45,-61,972,839),29860=>array(48,-35,979,826),29861=>array(48,-70,977,830),29862=>array(48,-63,985,840),29863=>array(48,-39,946,836),29864=>array(37,-66,979,839),29865=>array(48,-64,980,837),29866=>array(45,-70,966,784),29867=>array(45,-62,935,836),29868=>array(50,-71,962,845),29869=>array(48,-73,971,811),29870=>array(42,-30,956,848),29871=>array(42,-64,994,858),29872=>array(40,-61,962,808),29873=>array(46,-67,970,782),29874=>array(47,-64,959,816),29875=>array(46,-69,966,816),29876=>array(50,-69,961,826),29877=>array(40,-66,969,840),29878=>array(50,-37,949,823),29879=>array(35,-71,973,832),29880=>array(62,-77,941,831),29881=>array(41,-65,968,833),29882=>array(84,-37,938,836),29883=>array(53,-68,949,785),29884=>array(40,-23,957,839),29885=>array(53,-42,962,799),29886=>array(60,-71,963,837),29887=>array(41,-63,981,841),29888=>array(49,-72,944,780),29889=>array(44,-74,967,823),29890=>array(49,-35,955,819),29891=>array(51,-65,928,786),29892=>array(40,-67,962,836),29893=>array(36,-70,972,839),29894=>array(40,-61,962,813),29895=>array(40,-64,963,789),29896=>array(35,-62,974,830),29897=>array(40,-72,958,829),29898=>array(56,-65,975,845),29899=>array(31,-66,968,839),29900=>array(40,-67,965,847),29901=>array(28,-67,969,831),29902=>array(37,-67,959,840),29903=>array(52,-61,972,834),29904=>array(45,-67,953,830),29905=>array(40,-60,966,790),29906=>array(38,-71,925,825),29907=>array(40,-65,909,787),29908=>array(37,-64,955,788),29909=>array(63,-35,968,778),29910=>array(47,-73,966,839),29911=>array(57,-63,933,838),29912=>array(54,-68,956,826),29913=>array(42,-70,960,832),29914=>array(46,-69,969,836),29915=>array(30,-62,974,832),29916=>array(59,-57,956,834),29917=>array(32,-77,991,826),29918=>array(38,-67,992,837),29919=>array(36,-73,959,837),29920=>array(36,-67,964,838),29921=>array(57,-73,976,826),29922=>array(47,-69,973,834),29923=>array(32,-69,958,828),29924=>array(37,-66,969,856),29925=>array(51,-65,971,836),29926=>array(83,-35,941,773),29927=>array(36,-29,958,771),29928=>array(44,-63,966,783),29929=>array(36,-29,958,771),29930=>array(49,-29,955,811),29931=>array(65,-64,943,842),29932=>array(41,-74,968,838),29933=>array(39,-77,968,820),29934=>array(43,-56,956,807),29935=>array(104,-58,954,766),29936=>array(36,-29,963,782),29937=>array(36,-29,968,771),29938=>array(36,-29,953,822),29939=>array(56,-75,968,818),29940=>array(37,-65,969,838),29941=>array(62,-72,960,832),29942=>array(48,-61,962,842),29943=>array(75,-60,951,838),29944=>array(36,-29,958,772),29945=>array(99,-64,968,791),29946=>array(49,-60,970,800),29947=>array(36,-65,969,831),29948=>array(49,-29,955,786),29949=>array(78,-56,963,833),29950=>array(38,-64,960,824),29951=>array(50,-50,955,839),29952=>array(39,-71,970,827),29953=>array(39,-71,964,835),29954=>array(36,-74,974,832),29955=>array(58,-54,962,836),29956=>array(30,-48,947,784),29957=>array(38,-29,960,790),29958=>array(65,-63,962,854),29959=>array(97,-66,934,825),29960=>array(43,-75,962,838),29961=>array(34,-77,974,836),29962=>array(35,-69,966,830),29963=>array(65,-70,962,829),29964=>array(105,-74,950,787),29965=>array(74,-66,961,828),29966=>array(70,-66,945,827),29967=>array(60,-59,954,834),29968=>array(37,-68,958,828),29969=>array(83,-64,964,848),29970=>array(44,-68,961,824),29971=>array(24,-47,938,825),29972=>array(34,-68,985,829),29973=>array(66,-55,966,838),29974=>array(55,-68,957,785),29975=>array(33,-59,949,835),29976=>array(76,-68,927,827),29977=>array(49,-76,959,828),29978=>array(66,-72,934,835),29979=>array(32,-48,959,845),29980=>array(34,-58,945,834),29981=>array(35,-75,962,823),29982=>array(74,-47,939,836),29983=>array(60,-8,934,824),29984=>array(129,-23,956,830),29985=>array(37,-29,956,830),29986=>array(50,-76,930,838),29987=>array(49,-74,928,831),29988=>array(72,-56,970,811),29989=>array(73,-57,923,812),29990=>array(40,-69,966,811),29991=>array(45,-66,952,829),29992=>array(52,-73,855,788),29993=>array(65,-61,936,785),29994=>array(74,-67,847,842),29995=>array(62,-67,956,843),29996=>array(140,-65,856,798),29997=>array(53,-81,935,783),29998=>array(48,-67,916,844),29999=>array(63,-61,945,836),30000=>array(133,-68,867,762),30001=>array(137,-70,862,833),30002=>array(140,-69,860,785),30003=>array(149,-67,851,833),30004=>array(172,-67,839,832),30005=>array(148,-31,954,824),30006=>array(149,-65,872,833),30007=>array(85,-62,889,783),30008=>array(37,-56,914,856),30009=>array(65,-68,939,833),30010=>array(107,-53,954,790),30011=>array(75,-57,925,800),30012=>array(98,-46,914,810),30013=>array(99,-74,891,823),30014=>array(126,-62,879,844),30015=>array(101,-7,948,830),30016=>array(50,-65,957,779),30017=>array(50,-55,957,833),30018=>array(98,-59,965,850),30019=>array(90,-59,921,837),30020=>array(153,-62,845,824),30021=>array(90,-56,889,830),30022=>array(46,-66,965,823),30023=>array(99,-63,912,845),30024=>array(107,-66,978,791),30025=>array(96,-68,962,833),30026=>array(88,-64,952,828),30027=>array(76,-52,955,835),30028=>array(54,-70,961,782),30029=>array(96,-72,974,835),30030=>array(110,-66,981,831),30031=>array(64,-69,944,780),30032=>array(72,-52,945,791),30033=>array(51,-59,903,838),30034=>array(56,-50,963,833),30035=>array(60,-72,967,813),30036=>array(93,-67,938,839),30037=>array(178,-72,823,780),30038=>array(81,-70,970,836),30039=>array(109,-72,902,843),30040=>array(79,-62,955,839),30041=>array(75,-68,897,818),30042=>array(29,-67,975,848),30043=>array(111,-64,978,853),30044=>array(76,-59,920,836),30045=>array(56,-65,972,836),30046=>array(77,-70,968,838),30047=>array(50,-69,965,817),30048=>array(143,-68,867,845),30049=>array(86,-61,943,846),30050=>array(58,-69,947,801),30051=>array(34,-68,968,834),30052=>array(106,-62,955,832),30053=>array(110,-66,962,839),30054=>array(89,-22,943,828),30055=>array(48,-75,963,812),30056=>array(50,-70,959,808),30057=>array(96,-64,959,795),30058=>array(53,-70,957,836),30059=>array(82,-24,938,836),30060=>array(37,-67,966,854),30061=>array(81,-62,961,850),30062=>array(94,-62,954,847),30063=>array(69,-69,961,849),30064=>array(72,-74,926,784),30065=>array(89,-71,916,797),30066=>array(33,-72,973,847),30067=>array(54,-50,952,813),30068=>array(82,-58,911,831),30069=>array(79,-34,934,836),30070=>array(103,-68,914,841),30071=>array(77,-67,976,786),30072=>array(97,-62,939,835),30073=>array(101,-63,966,844),30074=>array(54,-20,951,803),30075=>array(74,-14,972,836),30076=>array(92,-61,938,782),30077=>array(103,-15,953,851),30078=>array(115,-69,908,783),30079=>array(56,-69,963,839),30080=>array(42,-71,969,828),30081=>array(74,-73,970,811),30082=>array(54,-46,952,786),30083=>array(94,-42,961,840),30084=>array(100,-70,955,822),30085=>array(84,-48,961,814),30086=>array(31,-61,951,814),30087=>array(87,-63,938,833),30088=>array(52,-82,943,829),30089=>array(51,-39,949,822),30090=>array(54,-31,952,791),30091=>array(28,-66,975,773),30092=>array(52,-70,968,835),30093=>array(68,-7,957,787),30094=>array(30,-65,966,827),30095=>array(35,-71,960,821),30096=>array(59,-81,955,837),30097=>array(33,-68,945,827),30098=>array(37,-63,898,822),30099=>array(37,-63,914,822),30100=>array(63,-65,944,823),30101=>array(36,-59,957,852),30102=>array(30,-63,899,838),30103=>array(35,-59,924,842),30104=>array(36,-75,954,833),30105=>array(46,-71,953,852),30106=>array(48,-69,968,820),30107=>array(48,-64,951,841),30108=>array(54,-69,941,845),30109=>array(54,-69,941,815),30110=>array(54,-69,961,845),30111=>array(24,-65,925,836),30112=>array(32,-66,900,838),30113=>array(28,-70,914,840),30114=>array(44,-65,982,855),30115=>array(51,-71,952,825),30116=>array(47,-73,960,845),30117=>array(50,-70,959,825),30118=>array(47,-73,945,845),30119=>array(52,-69,966,841),30120=>array(47,-73,938,845),30121=>array(47,-73,938,845),30122=>array(39,-57,959,854),30123=>array(37,-71,953,840),30124=>array(27,-67,896,849),30125=>array(27,-67,928,850),30126=>array(26,-67,932,840),30127=>array(27,-63,942,848),30128=>array(43,-63,951,849),30129=>array(39,-67,953,829),30130=>array(43,-73,957,831),30131=>array(44,-67,944,834),30132=>array(25,-66,938,851),30133=>array(54,-74,963,841),30134=>array(49,-71,951,830),30135=>array(47,-78,946,835),30136=>array(59,-75,954,829),30137=>array(41,-72,974,826),30138=>array(50,-60,958,835),30139=>array(47,-82,935,834),30140=>array(40,-78,972,825),30141=>array(32,-74,954,839),30142=>array(43,-73,962,829),30143=>array(44,-65,945,849),30144=>array(41,-58,954,855),30145=>array(44,-58,945,852),30146=>array(43,-79,941,832),30147=>array(27,-77,933,834),30148=>array(53,-61,948,856),30149=>array(38,-71,933,840),30150=>array(40,-71,951,847),30151=>array(41,-65,955,827),30152=>array(19,-74,918,848),30153=>array(24,-60,919,827),30154=>array(43,-73,951,830),30155=>array(53,-79,968,835),30156=>array(34,-83,948,840),30157=>array(43,-69,972,833),30158=>array(47,-67,957,846),30159=>array(41,-60,960,850),30160=>array(50,-75,944,829),30161=>array(51,-70,945,836),30162=>array(48,-71,955,827),30163=>array(50,-75,944,829),30164=>array(38,-68,947,844),30165=>array(48,-68,964,825),30166=>array(27,-65,919,846),30167=>array(36,-51,964,859),30168=>array(45,-75,949,826),30169=>array(45,-72,954,839),30170=>array(56,-82,962,832),30171=>array(33,-68,935,834),30172=>array(34,-70,962,847),30173=>array(43,-60,962,841),30174=>array(44,-68,961,834),30175=>array(57,-68,945,843),30176=>array(48,-73,983,846),30177=>array(31,-73,954,843),30178=>array(46,-69,944,835),30179=>array(45,-63,960,836),30180=>array(49,-67,954,847),30181=>array(33,-73,951,847),30182=>array(57,-68,955,835),30183=>array(39,-65,965,845),30184=>array(56,-67,922,852),30185=>array(37,-70,961,831),30186=>array(29,-74,955,846),30187=>array(20,-65,913,839),30188=>array(42,-69,941,841),30189=>array(44,-73,959,845),30190=>array(43,-75,965,840),30191=>array(34,-55,959,858),30192=>array(55,-70,958,832),30193=>array(45,-70,942,848),30194=>array(34,-66,957,838),30195=>array(40,-69,971,834),30196=>array(38,-67,941,834),30197=>array(36,-71,974,851),30198=>array(45,-72,960,851),30199=>array(36,-63,965,849),30200=>array(31,-73,930,839),30201=>array(46,-68,951,843),30202=>array(59,-67,959,834),30203=>array(39,-75,960,845),30204=>array(33,-65,941,836),30205=>array(31,-68,954,848),30206=>array(35,-67,956,842),30207=>array(33,-67,945,834),30208=>array(38,-64,964,837),30209=>array(48,-66,952,838),30210=>array(38,-77,935,843),30211=>array(30,-65,967,848),30212=>array(37,-64,942,841),30213=>array(37,-71,939,846),30214=>array(14,-67,912,845),30215=>array(34,-55,954,854),30216=>array(46,-64,974,855),30217=>array(39,-64,955,826),30218=>array(38,-65,955,852),30219=>array(38,-66,960,838),30220=>array(38,-70,944,847),30221=>array(55,-70,956,845),30222=>array(38,-67,944,840),30223=>array(33,-55,961,857),30224=>array(41,-69,974,850),30225=>array(45,-69,948,848),30226=>array(41,-75,938,848),30227=>array(46,-72,972,849),30228=>array(51,-73,961,838),30229=>array(44,-67,981,854),30230=>array(27,-54,954,860),30231=>array(26,-68,934,847),30232=>array(38,-69,911,835),30233=>array(30,-69,961,836),30234=>array(42,-70,971,836),30235=>array(24,-60,970,855),30236=>array(47,-66,981,840),30237=>array(40,-58,969,861),30238=>array(36,-62,976,848),30239=>array(37,-72,938,833),30240=>array(34,-67,962,841),30241=>array(35,-70,966,841),30242=>array(32,-73,957,841),30243=>array(46,-65,958,831),30244=>array(46,-74,948,841),30245=>array(43,-66,956,851),30246=>array(22,-68,959,851),30247=>array(44,-74,942,833),30248=>array(45,-79,963,837),30249=>array(46,-61,952,849),30250=>array(21,-67,933,823),30251=>array(26,-65,923,840),30252=>array(26,-65,963,840),30253=>array(44,-66,979,847),30254=>array(26,-73,967,847),30255=>array(45,-69,955,834),30256=>array(52,-76,951,841),30257=>array(50,-69,966,836),30258=>array(53,-64,978,854),30259=>array(32,-68,971,851),30260=>array(23,-66,943,841),30261=>array(33,-67,963,847),30262=>array(52,-65,970,848),30263=>array(52,-65,979,848),30264=>array(45,-65,943,848),30265=>array(52,-65,951,848),30266=>array(31,-69,948,852),30267=>array(36,-73,941,829),30268=>array(49,-67,980,850),30269=>array(37,-62,954,836),30270=>array(26,-65,970,832),30271=>array(29,-65,909,838),30272=>array(23,-81,928,826),30273=>array(23,-87,940,826),30274=>array(46,-65,964,830),30275=>array(33,-67,971,847),30276=>array(23,-91,937,826),30277=>array(23,-71,912,836),30278=>array(49,-66,941,841),30279=>array(29,-57,942,846),30280=>array(35,-62,963,829),30281=>array(35,-65,947,849),30282=>array(35,-70,973,853),30283=>array(57,-69,967,854),30284=>array(38,-68,933,844),30285=>array(24,-68,923,835),30286=>array(37,-64,937,840),30287=>array(37,-64,957,850),30288=>array(51,-68,983,849),30289=>array(37,-87,957,850),30290=>array(42,-58,971,836),30291=>array(49,-73,983,831),30292=>array(25,-61,931,828),30293=>array(42,-57,957,836),30294=>array(45,-73,956,833),30295=>array(42,-67,933,836),30296=>array(53,-65,948,844),30297=>array(42,-74,969,832),30298=>array(37,-71,936,833),30299=>array(48,-67,989,843),30300=>array(45,-67,980,841),30301=>array(48,-69,920,838),30302=>array(21,-71,912,835),30303=>array(44,-69,973,844),30304=>array(38,-71,982,846),30305=>array(51,-71,976,844),30306=>array(45,-76,947,840),30307=>array(25,-66,920,841),30308=>array(57,-73,959,837),30309=>array(40,-69,973,852),30310=>array(50,-78,948,846),30311=>array(43,-65,962,836),30312=>array(47,-75,946,834),30313=>array(42,-67,985,854),30314=>array(40,-69,964,854),30315=>array(29,-69,919,838),30316=>array(45,-66,956,854),30317=>array(50,-68,939,850),30318=>array(38,-71,974,845),30319=>array(35,-77,947,844),30320=>array(35,-78,959,854),30321=>array(47,-71,954,856),30322=>array(39,-77,967,854),30323=>array(27,-60,972,853),30324=>array(21,-77,958,849),30325=>array(46,-72,963,833),30326=>array(100,220,956,730),30327=>array(80,-55,936,839),30328=>array(80,-78,936,840),30329=>array(38,-69,967,840),30330=>array(47,-51,957,837),30331=>array(57,-13,957,837),30332=>array(52,-63,960,829),30333=>array(199,-64,822,833),30334=>array(98,-67,914,780),30335=>array(113,-47,959,830),30336=>array(200,-26,891,841),30337=>array(53,-49,947,866),30338=>array(74,-26,924,842),30339=>array(60,-67,950,836),30340=>array(101,-54,882,838),30341=>array(94,-27,941,842),30342=>array(64,-62,947,837),30343=>array(80,-28,932,845),30344=>array(87,-80,954,831),30345=>array(107,-39,959,834),30346=>array(119,-78,962,839),30347=>array(33,-64,959,849),30348=>array(100,-53,967,847),30349=>array(134,-61,898,837),30350=>array(90,-60,952,824),30351=>array(111,-69,954,835),30352=>array(53,-64,947,849),30353=>array(76,-19,944,820),30354=>array(100,-72,956,829),30355=>array(84,-64,923,831),30356=>array(84,-62,944,810),30357=>array(56,-63,947,776),30358=>array(86,-62,930,825),30359=>array(93,-67,907,810),30360=>array(84,-59,959,838),30361=>array(42,-63,943,847),30362=>array(92,-20,933,839),30363=>array(114,-69,889,834),30364=>array(110,-63,957,837),30365=>array(69,-70,964,833),30366=>array(117,-69,982,831),30367=>array(112,-68,975,839),30368=>array(97,-65,953,833),30369=>array(92,-74,960,852),30370=>array(92,-61,964,837),30371=>array(88,-68,946,831),30372=>array(79,-67,948,836),30373=>array(90,-74,960,852),30374=>array(82,-55,954,857),30375=>array(82,-62,946,841),30376=>array(60,-43,954,842),30377=>array(43,-73,970,838),30378=>array(98,-52,969,851),30379=>array(87,-72,956,845),30380=>array(82,-67,941,817),30381=>array(110,-63,963,845),30382=>array(53,-71,940,832),30383=>array(33,-81,951,826),30384=>array(33,-62,965,836),30385=>array(27,-68,939,833),30386=>array(41,-67,932,821),30387=>array(33,-75,956,834),30388=>array(31,-75,956,844),30389=>array(57,-76,966,826),30390=>array(30,-75,976,834),30391=>array(36,-70,956,838),30392=>array(50,-68,966,832),30393=>array(38,-67,954,832),30394=>array(45,-73,971,838),30395=>array(46,-73,969,824),30396=>array(47,-73,956,835),30397=>array(47,-66,969,849),30398=>array(51,-71,969,835),30399=>array(70,34,944,715),30400=>array(57,-20,948,822),30401=>array(57,-14,948,784),30402=>array(57,-14,948,789),30403=>array(48,-17,958,770),30404=>array(60,-53,956,757),30405=>array(47,-11,956,841),30406=>array(49,-25,947,794),30407=>array(46,-40,957,827),30408=>array(59,-38,952,784),30409=>array(41,-21,974,836),30410=>array(45,-18,960,840),30411=>array(55,-37,954,836),30412=>array(48,-20,957,830),30413=>array(62,-22,954,838),30414=>array(55,-14,954,835),30415=>array(52,-19,925,823),30416=>array(50,-44,924,799),30417=>array(52,-23,943,820),30418=>array(47,-28,961,851),30419=>array(60,-20,952,821),30420=>array(59,-23,951,840),30421=>array(63,-32,952,817),30422=>array(39,-32,959,847),30423=>array(57,-33,954,840),30424=>array(65,-32,914,831),30425=>array(51,-33,952,834),30426=>array(61,-34,956,809),30427=>array(50,-23,947,832),30428=>array(63,-32,952,843),30429=>array(60,-23,954,850),30430=>array(63,-32,953,840),30431=>array(58,-27,952,789),30432=>array(57,-46,961,848),30433=>array(48,-35,948,829),30434=>array(58,-27,952,802),30435=>array(53,-26,947,824),30436=>array(62,-35,956,842),30437=>array(53,-24,961,837),30438=>array(26,-26,957,869),30439=>array(40,-78,941,833),30440=>array(38,-24,961,788),30441=>array(60,-18,959,834),30442=>array(53,-12,951,823),30443=>array(32,-54,957,863),30444=>array(58,-10,952,850),30445=>array(65,-38,978,842),30446=>array(206,-42,767,771),30447=>array(98,-62,931,770),30448=>array(101,-68,938,783),30449=>array(118,-59,956,789),30450=>array(63,-70,937,826),30451=>array(107,-27,953,824),30452=>array(95,-70,949,835),30453=>array(109,-40,965,833),30454=>array(75,-68,958,778),30455=>array(109,-61,900,821),30456=>array(43,-65,889,828),30457=>array(86,-34,952,829),30458=>array(116,-71,957,828),30459=>array(107,-62,958,803),30460=>array(100,-71,944,803),30461=>array(101,-59,957,826),30462=>array(68,-73,920,834),30463=>array(75,-55,984,851),30464=>array(130,-65,890,787),30465=>array(53,-70,939,829),30466=>array(119,-59,945,837),30467=>array(119,-73,962,762),30468=>array(96,-52,949,790),30469=>array(92,-62,971,813),30470=>array(119,-66,954,849),30471=>array(88,-72,943,826),30472=>array(93,-65,931,826),30473=>array(52,-70,880,781),30474=>array(101,-55,943,811),30475=>array(71,-67,912,818),30476=>array(73,-62,949,799),30477=>array(96,-21,919,763),30478=>array(85,-58,951,755),30479=>array(96,-67,953,832),30480=>array(114,-21,953,773),30481=>array(106,-70,916,827),30482=>array(119,-70,917,830),30483=>array(99,-73,959,827),30484=>array(50,-67,946,785),30485=>array(116,-71,967,835),30486=>array(119,-62,960,773),30487=>array(119,-58,924,844),30488=>array(42,-57,971,821),30489=>array(118,-65,952,835),30490=>array(65,-62,961,843),30491=>array(124,-64,987,839),30492=>array(124,-64,987,839),30493=>array(118,-64,927,827),30494=>array(78,-84,951,835),30495=>array(64,-84,936,835),30496=>array(98,-71,956,785),30497=>array(94,-53,963,829),30498=>array(34,-65,958,843),30499=>array(116,-71,973,835),30500=>array(95,-71,929,784),30501=>array(44,-52,947,852),30502=>array(76,-56,931,823),30503=>array(110,-73,903,780),30504=>array(96,-69,948,833),30505=>array(88,-49,927,823),30506=>array(88,-68,951,782),30507=>array(95,-55,942,837),30508=>array(88,-67,931,825),30509=>array(124,-21,959,832),30510=>array(88,-70,909,782),30511=>array(80,-64,927,824),30512=>array(88,-42,956,770),30513=>array(106,-78,965,821),30514=>array(110,-70,953,777),30515=>array(107,-71,906,825),30516=>array(111,-40,909,859),30517=>array(119,-65,935,847),30518=>array(94,-21,934,783),30519=>array(39,-67,964,838),30520=>array(86,-62,929,849),30521=>array(103,-51,969,853),30522=>array(104,-67,943,828),30523=>array(110,-70,954,823),30524=>array(96,-64,965,794),30525=>array(105,-74,966,820),30526=>array(57,-67,955,785),30527=>array(88,-61,976,840),30528=>array(39,-69,929,839),30529=>array(101,-72,922,824),30530=>array(37,-67,938,841),30531=>array(97,-73,930,835),30532=>array(104,-67,909,825),30533=>array(107,-49,955,806),30534=>array(98,-55,951,834),30535=>array(110,-64,915,853),30536=>array(88,-16,952,788),30537=>array(88,-24,958,829),30538=>array(107,-48,902,803),30539=>array(97,-68,954,828),30540=>array(100,-71,949,825),30541=>array(96,-50,954,804),30542=>array(109,-47,948,864),30543=>array(112,-68,903,782),30544=>array(100,-69,940,820),30545=>array(96,-18,937,823),30546=>array(118,-75,983,829),30547=>array(100,-74,960,829),30548=>array(105,-70,969,840),30549=>array(112,-66,967,844),30550=>array(112,-74,972,823),30551=>array(105,-66,929,781),30552=>array(76,-73,930,781),30553=>array(110,-79,979,829),30554=>array(97,-72,933,790),30555=>array(109,-68,935,831),30556=>array(98,-63,930,836),30557=>array(72,-69,908,849),30558=>array(110,-64,970,830),30559=>array(95,-48,939,857),30560=>array(109,-30,965,841),30561=>array(87,-26,947,833),30562=>array(98,-64,937,832),30563=>array(57,-67,956,835),30564=>array(104,-64,955,792),30565=>array(104,-64,951,856),30566=>array(96,-30,948,826),30567=>array(97,-48,944,860),30568=>array(137,-57,969,845),30569=>array(118,-73,966,838),30570=>array(78,-70,932,783),30571=>array(92,-72,941,833),30572=>array(94,-65,944,831),30573=>array(113,-68,911,780),30574=>array(108,-67,980,839),30575=>array(88,-69,941,834),30576=>array(92,-65,948,829),30577=>array(88,-68,965,791),30578=>array(92,-22,945,788),30579=>array(92,-32,980,829),30580=>array(92,-65,936,787),30581=>array(107,-53,981,829),30582=>array(92,-64,978,842),30583=>array(92,-55,964,827),30584=>array(111,-64,906,789),30585=>array(98,-66,932,831),30586=>array(109,-74,962,834),30587=>array(92,-20,959,855),30588=>array(107,-69,965,786),30589=>array(86,-62,952,833),30590=>array(58,-72,950,849),30591=>array(49,-66,958,833),30592=>array(40,-65,982,845),30593=>array(111,-69,971,785),30594=>array(44,-67,970,832),30595=>array(100,-69,954,831),30596=>array(93,-65,929,835),30597=>array(79,-79,950,828),30598=>array(92,-60,938,832),30599=>array(97,-63,956,833),30600=>array(121,-79,980,781),30601=>array(93,-73,987,827),30602=>array(92,-77,956,843),30603=>array(94,-78,961,833),30604=>array(90,-26,927,833),30605=>array(97,-58,966,841),30606=>array(89,-62,932,824),30607=>array(54,-75,971,782),30608=>array(124,-45,896,816),30609=>array(91,-67,938,790),30610=>array(87,-60,917,826),30611=>array(104,-66,914,838),30612=>array(92,-74,947,833),30613=>array(98,-50,945,854),30614=>array(114,-69,938,813),30615=>array(116,-70,933,828),30616=>array(89,-23,953,801),30617=>array(109,-72,970,826),30618=>array(107,-80,958,837),30619=>array(108,-69,973,835),30620=>array(97,-73,949,821),30621=>array(105,-65,951,834),30622=>array(95,-69,936,831),30623=>array(82,-70,955,789),30624=>array(79,-39,942,823),30625=>array(109,-72,961,822),30626=>array(88,-83,913,830),30627=>array(94,-37,962,823),30628=>array(79,-62,906,793),30629=>array(102,-72,959,841),30630=>array(79,-65,956,836),30631=>array(90,-62,941,837),30632=>array(108,-73,966,821),30633=>array(88,-72,894,779),30634=>array(86,-23,935,843),30635=>array(114,-70,961,782),30636=>array(95,-68,944,830),30637=>array(94,-66,975,841),30638=>array(100,-62,970,847),30639=>array(88,-68,911,796),30640=>array(85,-75,960,828),30641=>array(102,-70,950,824),30642=>array(106,-68,928,783),30643=>array(95,-35,940,833),30644=>array(105,-71,961,827),30645=>array(109,-62,951,838),30646=>array(108,-64,969,839),30647=>array(105,-68,901,785),30648=>array(98,-70,957,827),30649=>array(89,-69,944,838),30650=>array(96,-70,952,839),30651=>array(68,-75,919,838),30652=>array(82,-67,951,852),30653=>array(52,-64,969,836),30654=>array(72,-46,910,801),30655=>array(39,-65,947,790),30656=>array(68,-77,981,828),30657=>array(99,-23,974,825),30658=>array(94,-66,961,786),30659=>array(76,-63,952,844),30660=>array(92,-76,949,830),30661=>array(81,-70,953,805),30662=>array(96,-65,963,828),30663=>array(91,-64,959,820),30664=>array(81,-70,957,848),30665=>array(98,-55,952,856),30666=>array(103,-68,919,835),30667=>array(87,-67,948,808),30668=>array(102,-72,964,850),30669=>array(31,-62,974,799),30670=>array(94,-65,963,844),30671=>array(92,-69,939,853),30672=>array(99,-67,935,785),30673=>array(68,-67,953,832),30674=>array(77,-67,946,833),30675=>array(91,-68,951,831),30676=>array(99,-70,938,824),30677=>array(41,-72,957,840),30678=>array(97,-62,965,804),30679=>array(71,-71,953,842),30680=>array(92,-68,947,830),30681=>array(88,-54,899,806),30682=>array(102,-77,905,786),30683=>array(81,-57,926,793),30684=>array(39,-66,972,850),30685=>array(39,-77,960,846),30686=>array(60,-68,927,786),30687=>array(44,-67,940,833),30688=>array(33,-70,954,825),30689=>array(43,-61,960,811),30690=>array(69,-71,947,828),30691=>array(42,-66,965,843),30692=>array(80,-56,964,837),30693=>array(69,-73,911,838),30694=>array(62,-67,941,836),30695=>array(34,-67,893,831),30696=>array(37,-68,980,834),30697=>array(39,-61,947,825),30698=>array(39,-65,932,834),30699=>array(27,-61,951,839),30700=>array(33,-29,955,832),30701=>array(51,-77,948,809),30702=>array(36,-73,951,833),30703=>array(33,-67,963,827),30704=>array(59,-70,934,838),30705=>array(40,-71,980,827),30706=>array(34,-65,980,837),30707=>array(67,-70,909,768),30708=>array(39,-66,948,761),30709=>array(61,-61,880,824),30710=>array(39,-57,929,774),30711=>array(44,-63,953,786),30712=>array(38,-64,959,780),30713=>array(37,-66,962,788),30714=>array(29,-33,959,828),30715=>array(51,-29,972,837),30716=>array(39,-2,957,761),30717=>array(59,-77,927,841),30718=>array(40,-70,942,785),30719=>array(49,-68,921,818),30720=>array(23,-59,898,767),30721=>array(39,-62,905,768),30722=>array(38,-68,971,824),30723=>array(45,-69,954,785),30724=>array(22,-69,955,829),30725=>array(44,-73,981,821),30726=>array(49,-70,990,836),30727=>array(42,-65,976,842),30728=>array(32,-71,970,772),30729=>array(48,-62,956,842),30730=>array(42,-64,957,843),30731=>array(42,-3,954,822),30732=>array(53,-62,925,829),30733=>array(43,-71,971,844),30734=>array(36,-77,971,828),30735=>array(43,-69,967,785),30736=>array(43,-70,969,786),30737=>array(51,-61,951,778),30738=>array(32,-51,952,818),30739=>array(39,-69,972,785),30740=>array(36,-71,956,780),30741=>array(42,-63,954,837),30742=>array(21,-68,921,826),30743=>array(29,-67,951,820),30744=>array(28,-44,944,824),30745=>array(42,-35,952,780),30746=>array(26,-62,929,788),30747=>array(41,-69,972,837),30748=>array(24,-69,954,781),30749=>array(50,-56,956,827),30750=>array(42,-64,987,839),30751=>array(41,-62,956,848),30752=>array(32,-17,954,792),30753=>array(52,-35,964,765),30754=>array(44,-59,952,783),30755=>array(44,-32,950,844),30756=>array(42,-29,943,831),30757=>array(29,-55,959,831),30758=>array(41,-53,960,843),30759=>array(40,-65,945,827),30760=>array(47,-75,964,832),30761=>array(42,-65,921,831),30762=>array(38,-60,958,784),30763=>array(57,-37,962,824),30764=>array(39,-19,952,816),30765=>array(37,-65,963,830),30766=>array(44,-53,962,855),30767=>array(51,-64,976,828),30768=>array(34,-68,951,780),30769=>array(46,-77,979,841),30770=>array(35,-29,963,835),30771=>array(43,-54,945,779),30772=>array(46,-70,958,835),30773=>array(23,-59,971,836),30774=>array(42,-66,886,843),30775=>array(59,-70,922,836),30776=>array(36,-26,956,788),30777=>array(35,-68,971,830),30778=>array(54,-72,946,761),30779=>array(29,-62,933,826),30780=>array(31,-31,964,840),30781=>array(42,-57,928,786),30782=>array(32,-60,947,828),30783=>array(33,-66,948,822),30784=>array(35,-60,905,830),30785=>array(30,-33,938,772),30786=>array(32,-11,965,845),30787=>array(37,-65,980,839),30788=>array(35,-66,960,831),30789=>array(41,-20,954,832),30790=>array(35,-65,963,841),30791=>array(46,-78,909,839),30792=>array(41,-72,956,824),30793=>array(42,-68,958,824),30794=>array(45,-72,952,822),30795=>array(35,-73,969,836),30796=>array(28,-57,972,849),30797=>array(30,-60,973,791),30798=>array(36,-63,907,832),30799=>array(36,-69,953,788),30800=>array(43,-70,909,782),30801=>array(36,-70,958,839),30802=>array(35,-68,948,780),30803=>array(25,-32,959,833),30804=>array(35,-71,949,826),30805=>array(38,-67,940,775),30806=>array(30,-74,945,826),30807=>array(29,-72,936,821),30808=>array(35,-64,903,795),30809=>array(25,-25,938,826),30810=>array(35,-66,963,823),30811=>array(35,-63,955,846),30812=>array(42,-20,956,791),30813=>array(50,-70,943,833),30814=>array(41,-67,954,829),30815=>array(35,-67,967,824),30816=>array(45,-71,972,834),30817=>array(35,-68,937,832),30818=>array(41,-70,961,819),30819=>array(35,-68,953,830),30820=>array(33,-67,983,833),30821=>array(42,-68,950,838),30822=>array(35,-51,951,802),30823=>array(35,-64,895,785),30824=>array(49,-62,964,838),30825=>array(50,-65,938,830),30826=>array(33,-54,959,830),30827=>array(26,-70,964,830),30828=>array(46,-61,978,784),30829=>array(41,-35,959,805),30830=>array(51,-57,907,852),30831=>array(34,-69,960,787),30832=>array(51,-65,942,830),30833=>array(49,-71,915,777),30834=>array(42,-64,980,833),30835=>array(35,-54,970,835),30836=>array(32,-65,962,828),30837=>array(39,-63,958,839),30838=>array(35,-66,969,830),30839=>array(32,-32,939,811),30840=>array(35,-67,948,836),30841=>array(39,-61,977,829),30842=>array(35,-56,959,785),30843=>array(44,-68,987,782),30844=>array(59,-78,919,779),30845=>array(35,-32,954,839),30846=>array(29,-16,953,853),30847=>array(37,-27,950,837),30848=>array(44,-67,954,827),30849=>array(26,-54,971,843),30850=>array(35,-57,969,850),30851=>array(36,-72,950,823),30852=>array(44,-70,972,823),30853=>array(36,-72,900,780),30854=>array(41,-52,949,843),30855=>array(42,-71,962,833),30856=>array(35,-65,960,833),30857=>array(53,-68,918,785),30858=>array(35,-57,974,840),30859=>array(35,-67,932,836),30860=>array(35,-67,966,836),30861=>array(33,-52,952,796),30862=>array(43,-64,951,834),30863=>array(39,-72,955,820),30864=>array(35,-67,981,839),30865=>array(31,-68,956,844),30866=>array(35,-23,982,843),30867=>array(44,-68,951,840),30868=>array(31,-62,968,831),30869=>array(35,-64,964,835),30870=>array(44,-70,958,847),30871=>array(43,-69,961,834),30872=>array(44,-74,960,829),30873=>array(47,-67,908,786),30874=>array(39,-63,954,840),30875=>array(27,-75,923,826),30876=>array(23,-71,949,839),30877=>array(35,-72,975,788),30878=>array(45,-50,936,798),30879=>array(35,-62,968,833),30880=>array(41,-67,952,837),30881=>array(37,-64,956,830),30882=>array(46,-65,907,785),30883=>array(49,-68,927,788),30884=>array(47,-71,971,823),30885=>array(32,-67,915,824),30886=>array(50,-70,956,849),30887=>array(60,-67,937,845),30888=>array(44,-73,975,784),30889=>array(44,-72,970,783),30890=>array(28,-54,948,841),30891=>array(46,-74,969,825),30892=>array(28,-73,971,785),30893=>array(29,-68,954,788),30894=>array(35,-72,979,788),30895=>array(34,-61,951,849),30896=>array(45,-29,957,845),30897=>array(34,-72,955,834),30898=>array(47,-67,939,842),30899=>array(39,-72,970,829),30900=>array(41,-24,964,830),30901=>array(32,-74,962,836),30902=>array(35,-57,961,834),30903=>array(35,-71,962,839),30904=>array(35,-69,971,789),30905=>array(25,-10,922,818),30906=>array(34,-69,950,843),30907=>array(29,-57,949,835),30908=>array(50,-60,933,781),30909=>array(35,-66,969,791),30910=>array(30,-70,961,785),30911=>array(39,-75,925,795),30912=>array(31,-58,963,838),30913=>array(37,-57,955,836),30914=>array(46,-65,913,834),30915=>array(37,-73,966,832),30916=>array(46,-73,966,830),30917=>array(37,-76,954,834),30918=>array(32,-69,946,793),30919=>array(32,-53,968,852),30920=>array(41,-64,972,857),30921=>array(43,-62,990,790),30922=>array(52,-68,944,788),30923=>array(20,-40,934,849),30924=>array(32,-70,955,825),30925=>array(19,-71,946,841),30926=>array(29,-75,967,841),30927=>array(34,-68,985,840),30928=>array(42,-61,956,844),30929=>array(41,-24,964,831),30930=>array(41,-64,941,785),30931=>array(32,-58,963,844),30932=>array(25,-59,963,849),30933=>array(32,-24,959,832),30934=>array(29,-57,921,800),30935=>array(32,-71,959,838),30936=>array(31,-67,956,827),30937=>array(24,-79,968,846),30938=>array(43,-66,957,831),30939=>array(39,-50,933,846),30940=>array(43,-55,960,850),30941=>array(40,-71,964,827),30942=>array(44,-75,898,824),30943=>array(51,-66,971,783),30944=>array(39,-64,958,839),30945=>array(25,-70,918,831),30946=>array(36,-72,964,824),30947=>array(36,-64,997,858),30948=>array(31,-66,957,837),30949=>array(47,-68,967,780),30950=>array(47,-64,965,787),30951=>array(43,-68,975,839),30952=>array(37,-64,939,833),30953=>array(45,-72,969,825),30954=>array(38,-65,966,838),30955=>array(38,-70,955,836),30956=>array(44,-67,952,832),30957=>array(45,-73,956,785),30958=>array(30,-61,945,841),30959=>array(33,-69,960,835),30960=>array(35,-65,952,846),30961=>array(33,-66,957,833),30962=>array(32,-63,975,829),30963=>array(46,-72,900,824),30964=>array(41,-21,989,838),30965=>array(41,-67,924,787),30966=>array(41,-64,944,846),30967=>array(37,-74,953,832),30968=>array(41,-76,974,851),30969=>array(56,-70,953,781),30970=>array(41,-72,968,828),30971=>array(30,-57,971,839),30972=>array(53,-68,966,832),30973=>array(38,-63,971,837),30974=>array(42,-65,940,787),30975=>array(32,-65,953,793),30976=>array(74,-68,926,785),30977=>array(45,-68,961,840),30978=>array(53,-70,956,825),30979=>array(54,-64,945,833),30980=>array(44,-62,988,833),30981=>array(41,-72,968,839),30982=>array(44,-68,969,858),30983=>array(43,-62,969,850),30984=>array(36,-58,963,825),30985=>array(43,-75,975,835),30986=>array(41,-59,959,818),30987=>array(51,-64,949,786),30988=>array(36,-65,935,789),30989=>array(53,-59,933,836),30990=>array(36,-65,961,825),30991=>array(44,-55,951,833),30992=>array(39,-71,937,833),30993=>array(40,-52,933,847),30994=>array(29,-58,965,860),30995=>array(44,-35,951,778),30996=>array(43,-68,956,836),30997=>array(44,-67,945,819),30998=>array(44,-70,952,821),30999=>array(51,-74,960,836),31000=>array(46,-69,954,786),31001=>array(33,-61,967,832),31002=>array(44,-20,957,835),31003=>array(41,-27,954,823),31004=>array(41,-67,984,839),31005=>array(33,-65,953,783),31006=>array(44,-66,976,830),31007=>array(22,-60,975,794),31008=>array(51,-31,949,846),31009=>array(34,-67,948,828),31010=>array(44,-76,975,844),31011=>array(32,-67,970,830),31012=>array(35,-67,976,828),31013=>array(41,-66,975,794),31014=>array(39,-74,959,834),31015=>array(46,-55,932,795),31016=>array(50,-54,936,792),31017=>array(36,-76,959,833),31018=>array(32,-63,962,799),31019=>array(26,-71,965,844),31020=>array(50,-70,962,833),31021=>array(59,-70,978,775),31022=>array(22,-60,975,840),31023=>array(36,-65,951,829),31024=>array(49,-69,953,790),31025=>array(44,-68,949,849),31026=>array(44,-62,956,842),31027=>array(26,-64,957,845),31028=>array(31,-61,951,832),31029=>array(44,-62,923,789),31030=>array(64,-58,936,839),31031=>array(50,-23,950,838),31032=>array(35,-75,979,829),31033=>array(33,-68,982,789),31034=>array(91,-68,932,757),31035=>array(235,-68,689,820),31036=>array(42,-59,961,820),31037=>array(54,-57,912,839),31038=>array(47,-69,949,822),31039=>array(48,-56,921,844),31040=>array(77,-68,945,768),31041=>array(39,-68,935,815),31042=>array(35,-55,963,847),31043=>array(35,-69,905,826),31044=>array(35,-70,976,835),31045=>array(45,-69,967,834),31046=>array(38,-67,964,841),31047=>array(36,-63,968,834),31048=>array(46,-67,946,834),31049=>array(36,-63,944,834),31050=>array(35,-55,960,848),31051=>array(36,-76,963,831),31052=>array(41,-71,918,831),31053=>array(45,-65,948,845),31054=>array(41,-71,906,826),31055=>array(34,-68,956,828),31056=>array(40,-60,958,843),31057=>array(34,-68,977,831),31058=>array(34,-72,908,824),31059=>array(47,-70,957,828),31060=>array(42,-52,949,850),31061=>array(42,-69,970,835),31062=>array(35,-73,953,818),31063=>array(57,-69,955,814),31064=>array(29,-52,964,763),31065=>array(34,-57,970,842),31066=>array(72,-69,960,838),31067=>array(32,-69,941,832),31068=>array(32,-69,953,836),31069=>array(35,-67,960,822),31070=>array(55,-67,904,837),31071=>array(64,-67,945,836),31072=>array(67,-68,909,775),31073=>array(60,-64,948,823),31074=>array(36,-64,962,834),31075=>array(44,-68,962,839),31076=>array(47,-69,906,833),31077=>array(39,-68,956,843),31078=>array(39,-68,968,836),31079=>array(37,-69,969,847),31080=>array(73,-61,952,788),31081=>array(50,-70,966,837),31082=>array(46,-72,955,833),31083=>array(27,-54,973,853),31084=>array(50,-69,956,837),31085=>array(46,-66,957,839),31086=>array(50,-69,953,838),31087=>array(30,-65,925,821),31088=>array(43,-64,959,843),31089=>array(50,-69,959,846),31090=>array(35,-65,970,842),31091=>array(45,-72,964,839),31092=>array(39,-74,951,841),31093=>array(50,-69,923,837),31094=>array(50,-69,925,842),31095=>array(36,-63,952,834),31096=>array(28,-61,886,822),31097=>array(27,-64,920,840),31098=>array(57,-66,963,829),31099=>array(50,-70,911,837),31100=>array(31,-53,982,851),31101=>array(40,-67,954,838),31102=>array(50,-69,968,837),31103=>array(32,-69,969,840),31104=>array(39,-74,915,816),31105=>array(46,-65,957,834),31106=>array(33,-70,908,835),31107=>array(50,-69,959,839),31108=>array(38,-64,963,834),31109=>array(45,-65,955,847),31110=>array(36,-69,956,849),31111=>array(50,-69,959,837),31112=>array(44,-68,951,835),31113=>array(28,-69,953,842),31114=>array(32,-69,958,832),31115=>array(38,-53,954,847),31116=>array(50,-69,943,843),31117=>array(36,-63,912,834),31118=>array(44,-67,971,832),31119=>array(38,-69,943,834),31120=>array(46,-69,957,835),31121=>array(32,-69,930,804),31122=>array(43,-69,970,839),31123=>array(38,-72,950,826),31124=>array(32,-69,966,797),31125=>array(38,-62,968,842),31126=>array(28,-57,978,843),31127=>array(51,-62,967,835),31128=>array(36,-56,953,846),31129=>array(32,-64,966,846),31130=>array(31,-70,985,832),31131=>array(30,-78,961,833),31132=>array(88,-67,941,823),31133=>array(50,-69,964,802),31134=>array(50,-75,940,841),31135=>array(50,-69,954,843),31136=>array(30,-71,955,836),31137=>array(49,-64,948,842),31138=>array(34,-72,915,826),31139=>array(48,-71,959,842),31140=>array(47,-68,899,835),31141=>array(38,-69,971,837),31142=>array(63,-66,940,835),31143=>array(60,-69,947,835),31144=>array(42,-72,973,843),31145=>array(50,-69,973,837),31146=>array(55,-69,955,791),31147=>array(32,-55,954,842),31148=>array(51,-71,963,840),31149=>array(44,-66,980,845),31150=>array(60,-69,952,833),31151=>array(50,-70,979,840),31152=>array(39,-64,973,827),31153=>array(26,-69,960,835),31154=>array(35,-72,947,835),31155=>array(50,-69,970,846),31156=>array(24,-59,972,868),31157=>array(43,-69,959,836),31158=>array(30,-81,968,825),31159=>array(37,-68,965,830),31160=>array(72,-59,875,818),31161=>array(120,-71,883,829),31162=>array(130,-64,882,785),31163=>array(69,-65,939,838),31164=>array(131,-65,869,834),31165=>array(38,-59,962,856),31166=>array(55,-70,958,825),31167=>array(52,-64,947,831),31168=>array(50,-59,951,830),31169=>array(40,-68,959,833),31170=>array(50,-50,954,823),31171=>array(50,-76,921,817),31172=>array(44,-67,955,833),31173=>array(45,-67,951,833),31174=>array(49,-70,947,820),31175=>array(50,-70,960,833),31176=>array(36,-52,904,846),31177=>array(42,-70,950,823),31178=>array(47,-69,968,834),31179=>array(43,-73,964,837),31180=>array(59,-71,968,829),31181=>array(45,-70,917,826),31182=>array(39,-69,962,824),31183=>array(48,-71,960,838),31184=>array(51,-69,955,829),31185=>array(41,-69,955,829),31186=>array(43,-70,959,827),31187=>array(41,-69,965,835),31188=>array(41,-69,966,843),31189=>array(39,-61,954,829),31190=>array(42,-76,972,827),31191=>array(41,-70,955,829),31192=>array(43,-61,969,828),31193=>array(41,-69,956,836),31194=>array(41,-69,944,833),31195=>array(49,-71,951,832),31196=>array(35,-71,952,829),31197=>array(51,-71,976,822),31198=>array(53,-70,924,827),31199=>array(32,-73,958,817),31200=>array(42,-70,964,829),31201=>array(41,-69,975,844),31202=>array(37,-78,975,831),31203=>array(39,-59,972,839),31204=>array(42,-75,951,810),31205=>array(41,-69,947,830),31206=>array(52,-68,964,835),31207=>array(39,-72,979,835),31208=>array(41,-69,951,842),31209=>array(36,-70,973,839),31210=>array(37,-49,966,859),31211=>array(34,-65,954,834),31212=>array(41,-57,941,835),31213=>array(42,-62,937,835),31214=>array(48,-73,960,829),31215=>array(24,-62,939,830),31216=>array(44,-59,961,835),31217=>array(59,-69,941,829),31218=>array(31,-71,942,835),31219=>array(41,-69,958,839),31220=>array(41,-69,985,853),31221=>array(66,-69,939,829),31222=>array(39,-69,973,829),31223=>array(47,-67,951,822),31224=>array(44,-61,951,836),31225=>array(33,-69,954,829),31226=>array(45,-59,955,827),31227=>array(49,-70,935,839),31228=>array(55,-69,945,836),31229=>array(30,-61,896,835),31230=>array(33,-72,959,835),31231=>array(67,-69,933,839),31232=>array(41,-71,961,846),31233=>array(47,-61,930,846),31234=>array(36,-64,968,850),31235=>array(35,-55,951,842),31236=>array(40,-72,969,830),31237=>array(36,-70,970,819),31238=>array(26,-64,871,821),31239=>array(62,-64,938,817),31240=>array(43,-60,956,828),31241=>array(24,-64,976,818),31242=>array(49,-52,932,864),31243=>array(29,-70,949,816),31244=>array(38,-55,967,862),31245=>array(52,-70,947,837),31246=>array(36,-70,954,840),31247=>array(26,-64,954,827),31248=>array(41,-71,977,836),31249=>array(28,-51,951,846),31250=>array(43,-72,903,823),31251=>array(47,-72,951,825),31252=>array(30,-62,970,840),31253=>array(47,-72,954,834),31254=>array(26,-70,947,841),31255=>array(38,-67,954,844),31256=>array(34,-52,952,846),31257=>array(39,-57,954,852),31258=>array(41,-70,955,832),31259=>array(45,-70,905,828),31260=>array(33,-57,967,835),31261=>array(70,-73,930,822),31262=>array(27,-72,965,819),31263=>array(76,-61,930,816),31264=>array(49,-80,911,818),31265=>array(41,-64,959,851),31266=>array(43,-70,969,825),31267=>array(39,-64,947,838),31268=>array(36,-64,953,849),31269=>array(56,-65,950,817),31270=>array(33,-69,951,833),31271=>array(34,-65,966,829),31272=>array(32,-68,918,827),31273=>array(55,-64,945,821),31274=>array(50,-64,950,837),31275=>array(34,-74,962,821),31276=>array(26,-71,961,823),31277=>array(21,-68,970,831),31278=>array(47,-65,956,836),31279=>array(33,-71,967,829),31280=>array(33,-50,972,845),31281=>array(32,-69,956,835),31282=>array(32,-64,936,824),31283=>array(19,-61,947,834),31284=>array(26,-64,966,850),31285=>array(26,-64,965,843),31286=>array(26,-72,949,835),31287=>array(24,-66,952,823),31288=>array(24,-68,960,843),31289=>array(22,-67,964,848),31290=>array(26,-71,928,826),31291=>array(45,-71,943,832),31292=>array(38,-69,979,832),31293=>array(40,-65,946,844),31294=>array(47,-51,930,836),31295=>array(55,-75,940,831),31296=>array(45,-74,964,825),31297=>array(26,-70,956,827),31298=>array(41,-68,976,826),31299=>array(33,-58,958,845),31300=>array(27,-59,960,850),31301=>array(37,-66,966,848),31302=>array(39,-73,961,847),31303=>array(36,-76,983,847),31304=>array(47,-71,967,832),31305=>array(31,-61,952,834),31306=>array(27,-68,967,835),31307=>array(39,-70,979,838),31308=>array(31,-62,964,843),31309=>array(40,-74,947,833),31310=>array(39,-70,972,838),31311=>array(32,-55,965,838),31312=>array(30,-61,965,846),31313=>array(26,-63,910,824),31314=>array(38,-72,960,833),31315=>array(26,-64,963,821),31316=>array(43,-78,959,827),31317=>array(41,-65,961,845),31318=>array(40,-72,961,822),31319=>array(41,-68,957,826),31320=>array(43,-77,963,823),31321=>array(26,-68,971,833),31322=>array(38,-70,962,828),31323=>array(46,-78,971,828),31324=>array(37,-71,951,831),31325=>array(41,-66,959,822),31326=>array(26,-73,928,821),31327=>array(33,-71,974,825),31328=>array(32,-68,983,840),31329=>array(35,-63,956,836),31330=>array(22,-74,969,833),31331=>array(35,-79,967,837),31332=>array(32,-59,964,825),31333=>array(42,-73,947,821),31334=>array(47,-65,966,853),31335=>array(40,-72,963,837),31336=>array(45,-67,974,830),31337=>array(31,-66,959,831),31338=>array(51,-71,949,825),31339=>array(28,-56,967,840),31340=>array(38,-80,966,843),31341=>array(28,-69,984,853),31342=>array(30,-70,971,846),31343=>array(36,-63,956,836),31344=>array(21,-69,962,844),31345=>array(36,-69,961,835),31346=>array(51,-73,953,825),31347=>array(36,-78,970,836),31348=>array(66,-59,950,822),31349=>array(94,-14,943,852),31350=>array(48,-44,957,822),31351=>array(44,-71,898,831),31352=>array(45,-59,924,850),31353=>array(92,-58,898,839),31354=>array(88,-17,918,833),31355=>array(66,-68,945,843),31356=>array(48,-68,967,849),31357=>array(60,-70,922,839),31358=>array(60,-69,982,839),31359=>array(58,-62,928,838),31360=>array(58,-32,965,854),31361=>array(60,-65,942,824),31362=>array(56,-65,944,849),31363=>array(54,-56,898,831),31364=>array(63,-69,898,828),31365=>array(109,-62,920,857),31366=>array(51,-60,972,867),31367=>array(48,-36,962,835),31368=>array(78,-76,908,833),31369=>array(72,-64,948,838),31370=>array(47,-75,967,846),31371=>array(107,-67,927,837),31372=>array(64,-67,929,845),31373=>array(52,-65,916,836),31374=>array(72,-62,902,840),31375=>array(81,-79,935,829),31376=>array(66,-8,941,851),31377=>array(65,-69,937,862),31378=>array(75,-35,925,839),31379=>array(50,-38,954,839),31380=>array(40,-51,963,864),31381=>array(27,-68,937,839),31382=>array(42,-70,934,839),31383=>array(102,-69,898,831),31384=>array(28,-67,930,839),31385=>array(63,-65,938,840),31386=>array(50,-72,952,849),31387=>array(47,-75,963,849),31388=>array(73,-61,896,832),31389=>array(37,-69,897,838),31390=>array(75,-73,915,848),31391=>array(43,-83,898,838),31392=>array(38,-65,962,845),31393=>array(60,-71,955,848),31394=>array(53,-75,957,844),31395=>array(63,-62,957,854),31396=>array(94,-54,954,851),31397=>array(37,-64,936,840),31398=>array(57,-68,914,837),31399=>array(65,-68,935,851),31400=>array(60,-65,954,848),31401=>array(102,-73,898,839),31402=>array(56,-38,956,839),31403=>array(46,-72,969,845),31404=>array(42,-64,979,849),31405=>array(53,-67,927,846),31406=>array(55,-64,925,838),31407=>array(37,-65,963,839),31408=>array(81,-70,935,830),31409=>array(42,-73,971,838),31410=>array(57,-70,951,830),31411=>array(49,-70,959,848),31412=>array(86,-79,937,838),31413=>array(58,-62,927,848),31414=>array(53,-80,947,833),31415=>array(52,-77,909,838),31416=>array(53,-30,974,854),31417=>array(34,-64,951,851),31418=>array(57,-76,962,839),31419=>array(51,-52,952,851),31420=>array(38,-58,966,851),31421=>array(38,-71,961,851),31422=>array(63,-68,974,852),31423=>array(56,-76,933,831),31424=>array(51,-72,960,832),31425=>array(36,-62,952,861),31426=>array(41,-64,970,851),31427=>array(47,-67,965,843),31428=>array(77,-66,948,833),31429=>array(48,-75,970,839),31430=>array(62,-68,918,847),31431=>array(53,-80,950,838),31432=>array(50,-49,968,844),31433=>array(54,-68,967,852),31434=>array(57,-71,921,843),31435=>array(95,-3,912,822),31436=>array(86,-73,975,825),31437=>array(86,-67,950,830),31438=>array(56,-54,934,838),31439=>array(49,-67,935,821),31440=>array(49,-65,964,800),31441=>array(40,-54,945,821),31442=>array(83,-65,938,832),31443=>array(59,-21,929,828),31444=>array(49,-55,909,833),31445=>array(49,-62,963,806),31446=>array(48,-16,952,807),31447=>array(53,-60,952,827),31448=>array(60,-72,935,832),31449=>array(73,-66,918,832),31450=>array(46,-68,964,825),31451=>array(45,-78,975,831),31452=>array(66,-54,954,836),31453=>array(27,-26,947,799),31454=>array(39,-58,932,838),31455=>array(38,-66,946,818),31456=>array(60,-68,940,831),31457=>array(24,-64,957,801),31458=>array(44,-74,979,825),31459=>array(35,-69,964,849),31460=>array(54,-70,962,838),31461=>array(68,-33,932,832),31462=>array(45,-65,971,832),31463=>array(56,-68,957,847),31464=>array(54,-62,969,844),31465=>array(79,-23,957,848),31466=>array(66,-25,960,796),31467=>array(45,-71,956,834),31468=>array(40,-71,948,833),31469=>array(67,-65,921,802),31470=>array(48,-73,953,833),31471=>array(43,-70,942,830),31472=>array(45,-63,948,804),31473=>array(48,-65,957,832),31474=>array(48,-68,935,849),31475=>array(48,-23,963,837),31476=>array(37,-72,957,845),31477=>array(38,-69,944,830),31478=>array(39,-76,959,838),31479=>array(55,-69,969,840),31480=>array(39,-76,962,830),31481=>array(49,-62,949,848),31482=>array(68,-5,943,819),31483=>array(47,-67,948,847),31484=>array(54,-71,948,847),31485=>array(54,-59,954,842),31486=>array(54,-10,948,827),31487=>array(42,-60,931,841),31488=>array(48,-23,947,847),31489=>array(47,-15,955,847),31490=>array(41,-69,969,822),31491=>array(44,-64,919,822),31492=>array(37,-73,945,844),31493=>array(47,-73,977,842),31494=>array(40,-44,914,835),31495=>array(67,-75,933,845),31496=>array(44,-65,955,845),31497=>array(47,-66,945,843),31498=>array(37,-68,964,840),31499=>array(62,-58,962,845),31500=>array(54,-57,943,845),31501=>array(56,-61,939,835),31502=>array(52,-69,966,834),31503=>array(74,-69,960,839),31504=>array(43,-70,964,838),31505=>array(65,-64,953,839),31506=>array(43,-77,971,835),31507=>array(44,-50,965,814),31508=>array(33,-25,918,830),31509=>array(39,-63,932,825),31510=>array(44,-67,962,814),31511=>array(44,-77,969,814),31512=>array(44,-57,932,848),31513=>array(51,-18,938,840),31514=>array(45,-69,941,841),31515=>array(50,-65,952,841),31516=>array(44,-64,941,814),31517=>array(60,-69,927,832),31518=>array(52,-63,944,842),31519=>array(53,-62,951,836),31520=>array(52,-17,945,838),31521=>array(52,-14,957,842),31522=>array(55,-71,959,829),31523=>array(37,-30,956,841),31524=>array(45,-68,954,844),31525=>array(62,-62,956,854),31526=>array(42,-73,950,841),31527=>array(37,-69,956,847),31528=>array(38,-59,970,846),31529=>array(43,-72,958,854),31530=>array(54,-14,959,835),31531=>array(54,-65,942,842),31532=>array(62,-62,932,834),31533=>array(31,-80,969,835),31534=>array(44,-56,945,847),31535=>array(49,-74,953,837),31536=>array(45,-65,933,838),31537=>array(55,-56,948,846),31538=>array(51,-65,932,832),31539=>array(55,-63,950,842),31540=>array(41,-65,938,827),31541=>array(44,-70,953,836),31542=>array(44,-71,968,836),31543=>array(40,-61,962,836),31544=>array(71,-20,962,836),31545=>array(54,-64,946,836),31546=>array(27,-63,931,833),31547=>array(52,-61,950,847),31548=>array(34,-59,940,842),31549=>array(39,33,944,842),31550=>array(31,-57,938,823),31551=>array(34,-73,968,842),31552=>array(51,-32,952,820),31553=>array(31,-43,909,823),31554=>array(31,-44,959,823),31555=>array(46,-61,937,836),31556=>array(53,-68,947,845),31557=>array(61,-58,969,848),31558=>array(74,-64,944,839),31559=>array(54,-66,944,841),31560=>array(41,-57,938,843),31561=>array(65,-68,934,838),31562=>array(58,-60,971,850),31563=>array(48,-65,946,848),31564=>array(42,-23,958,840),31565=>array(51,-52,938,854),31566=>array(40,-58,945,841),31567=>array(42,-59,961,848),31568=>array(42,-83,953,847),31569=>array(47,-61,950,833),31570=>array(43,-61,942,849),31571=>array(38,-65,931,837),31572=>array(34,-71,971,843),31573=>array(53,-54,962,844),31574=>array(46,-65,957,844),31575=>array(50,-68,949,842),31576=>array(56,-67,949,839),31577=>array(32,-61,943,834),31578=>array(37,-68,913,834),31579=>array(43,-69,925,829),31580=>array(45,-60,943,847),31581=>array(41,-66,922,820),31582=>array(37,-65,930,834),31583=>array(36,-64,948,837),31584=>array(50,-71,946,837),31585=>array(38,-71,962,841),31586=>array(39,-64,929,825),31587=>array(41,-69,932,840),31588=>array(33,-54,966,853),31589=>array(38,-54,923,849),31590=>array(37,-57,960,850),31591=>array(47,-66,970,839),31592=>array(37,-69,966,842),31593=>array(42,-54,936,857),31594=>array(33,-16,934,853),31595=>array(33,-62,943,853),31596=>array(38,-67,953,837),31597=>array(58,-52,939,857),31598=>array(62,-11,948,837),31599=>array(52,-75,935,837),31600=>array(54,-70,960,843),31601=>array(39,-67,969,843),31602=>array(50,-67,945,847),31603=>array(24,-65,970,846),31604=>array(34,-55,978,849),31605=>array(36,-74,949,845),31606=>array(49,-70,945,836),31607=>array(49,-70,965,840),31608=>array(50,-67,939,843),31609=>array(29,-63,911,833),31610=>array(42,-69,953,847),31611=>array(51,-66,938,827),31612=>array(47,-81,933,841),31613=>array(47,-69,947,841),31614=>array(46,-20,957,842),31615=>array(26,-64,958,841),31616=>array(46,-59,926,833),31617=>array(46,-59,934,833),31618=>array(42,-67,969,841),31619=>array(27,-74,968,841),31620=>array(47,-67,949,841),31621=>array(50,-70,945,841),31622=>array(47,-51,966,848),31623=>array(41,-67,970,846),31624=>array(40,-72,930,835),31625=>array(36,-63,938,842),31626=>array(39,-69,953,831),31627=>array(51,-60,964,847),31628=>array(52,-72,930,835),31629=>array(69,-58,957,847),31630=>array(43,-73,953,841),31631=>array(41,-61,948,851),31632=>array(48,-62,947,841),31633=>array(32,-57,968,852),31634=>array(41,-68,919,827),31635=>array(48,-52,959,846),31636=>array(48,-65,944,846),31637=>array(63,-58,944,849),31638=>array(44,-69,963,834),31639=>array(50,-75,935,841),31640=>array(61,-69,938,841),31641=>array(38,-52,975,855),31642=>array(57,-68,932,840),31643=>array(33,-61,959,855),31644=>array(49,-28,935,841),31645=>array(57,-59,960,850),31646=>array(46,-46,959,844),31647=>array(57,-54,954,850),31648=>array(41,-19,942,853),31649=>array(53,-68,929,845),31650=>array(48,-66,924,832),31651=>array(41,-65,912,831),31652=>array(45,-70,942,837),31653=>array(48,-62,960,832),31654=>array(27,-81,913,835),31655=>array(41,-17,917,829),31656=>array(38,-69,952,823),31657=>array(39,-61,919,834),31658=>array(52,-70,928,843),31659=>array(44,-68,937,824),31660=>array(55,-65,954,842),31661=>array(60,-58,957,855),31662=>array(60,-24,955,855),31663=>array(44,-70,976,833),31664=>array(66,-51,960,828),31665=>array(46,-62,947,846),31666=>array(69,-62,963,855),31667=>array(45,-72,935,855),31668=>array(39,-68,966,844),31669=>array(45,-70,952,843),31670=>array(42,-61,930,842),31671=>array(41,-66,954,847),31672=>array(49,-67,945,842),31673=>array(40,-72,941,837),31674=>array(43,-72,974,842),31675=>array(43,-70,959,842),31676=>array(43,-74,933,842),31677=>array(43,-27,947,842),31678=>array(50,-72,943,837),31679=>array(43,-64,942,842),31680=>array(54,-65,949,841),31681=>array(57,-36,962,835),31682=>array(67,-47,952,835),31683=>array(57,-70,952,835),31684=>array(67,-64,943,842),31685=>array(62,-62,954,842),31686=>array(56,-60,962,848),31687=>array(46,-69,942,840),31688=>array(33,-58,958,837),31689=>array(53,-67,959,838),31690=>array(42,-69,957,843),31691=>array(54,-71,945,849),31692=>array(38,-68,955,841),31693=>array(33,-64,985,837),31694=>array(53,-76,960,837),31695=>array(53,-64,973,847),31696=>array(38,-28,957,847),31697=>array(38,-75,911,829),31698=>array(38,-66,961,829),31699=>array(45,-60,933,836),31700=>array(54,-64,941,851),31701=>array(59,-14,952,832),31702=>array(46,-75,938,832),31703=>array(32,-62,968,844),31704=>array(55,-68,929,829),31705=>array(45,-65,938,849),31706=>array(36,-26,938,842),31707=>array(40,-71,931,840),31708=>array(53,-83,953,844),31709=>array(51,-69,949,843),31710=>array(63,-70,953,832),31711=>array(44,-65,948,836),31712=>array(30,-53,966,855),31713=>array(45,-60,974,855),31714=>array(62,-76,947,827),31715=>array(72,-69,937,837),31716=>array(53,-59,942,845),31717=>array(56,-67,982,847),31718=>array(49,-38,958,844),31719=>array(58,-68,927,829),31720=>array(35,-54,959,849),31721=>array(41,-64,959,855),31722=>array(47,-71,968,846),31723=>array(71,-67,946,832),31724=>array(43,-66,972,832),31725=>array(57,-54,962,849),31726=>array(54,-29,924,827),31727=>array(33,-71,959,827),31728=>array(66,-73,951,839),31729=>array(66,-64,929,830),31730=>array(47,-73,953,844),31731=>array(55,-59,970,853),31732=>array(45,-68,968,836),31733=>array(49,-71,955,828),31734=>array(42,-64,951,838),31735=>array(50,-46,960,856),31736=>array(42,-74,954,829),31737=>array(44,-39,957,827),31738=>array(57,-78,964,850),31739=>array(53,-64,937,846),31740=>array(59,-73,955,838),31741=>array(47,-68,933,831),31742=>array(41,-67,967,850),31743=>array(56,-73,951,830),31744=>array(64,-65,964,846),31745=>array(53,-74,976,830),31746=>array(60,-69,920,832),31747=>array(46,-70,931,831),31748=>array(36,-80,957,845),31749=>array(49,-72,954,828),31750=>array(44,-71,961,837),31751=>array(49,-67,982,849),31752=>array(45,-60,943,829),31753=>array(57,-70,982,845),31754=>array(50,-34,974,823),31755=>array(44,-30,974,839),31756=>array(33,-65,973,847),31757=>array(58,-74,942,844),31758=>array(71,-69,956,832),31759=>array(39,-65,954,845),31760=>array(57,-72,974,834),31761=>array(33,-66,981,853),31762=>array(39,-78,965,851),31763=>array(33,-64,962,855),31764=>array(29,-67,965,855),31765=>array(60,-71,920,847),31766=>array(52,-70,952,829),31767=>array(58,-63,961,821),31768=>array(50,-62,941,838),31769=>array(53,-72,953,841),31770=>array(46,-86,952,850),31771=>array(29,-49,942,858),31772=>array(56,-75,958,834),31773=>array(52,-67,967,833),31774=>array(50,-58,962,860),31775=>array(31,-67,946,844),31776=>array(56,-29,973,842),31777=>array(27,-61,951,844),31778=>array(59,-66,934,834),31779=>array(42,-63,948,847),31780=>array(43,-69,945,847),31781=>array(36,-53,976,855),31782=>array(48,-33,977,839),31783=>array(36,-68,915,842),31784=>array(51,-58,932,847),31785=>array(46,-68,930,835),31786=>array(47,-68,971,843),31787=>array(52,-76,949,842),31788=>array(57,-73,961,836),31789=>array(44,-63,970,838),31790=>array(36,-68,954,847),31791=>array(36,-55,942,847),31792=>array(46,-67,957,833),31793=>array(49,-67,951,849),31794=>array(43,-75,957,849),31795=>array(54,-65,964,840),31796=>array(42,-83,934,856),31797=>array(66,-62,962,834),31798=>array(23,-61,938,856),31799=>array(41,-54,938,856),31800=>array(43,-68,970,847),31801=>array(60,-67,927,837),31802=>array(43,-33,944,837),31803=>array(45,-74,984,829),31804=>array(44,-67,954,837),31805=>array(27,-65,972,841),31806=>array(31,-53,963,854),31807=>array(44,-70,954,853),31808=>array(61,-64,939,842),31809=>array(37,-74,918,824),31810=>array(39,-71,944,836),31811=>array(53,-16,955,849),31812=>array(36,-52,938,842),31813=>array(51,-70,958,841),31814=>array(46,-75,978,845),31815=>array(44,-59,975,850),31816=>array(36,-62,981,835),31817=>array(46,-35,945,842),31818=>array(37,-67,944,850),31819=>array(43,-66,974,835),31820=>array(56,-58,951,852),31821=>array(33,-62,943,852),31822=>array(43,-68,971,835),31823=>array(43,-95,953,835),31824=>array(39,-62,976,848),31825=>array(28,-82,972,847),31826=>array(61,-64,939,834),31827=>array(37,-64,969,840),31828=>array(35,-56,971,845),31829=>array(45,-70,937,842),31830=>array(38,-53,961,853),31831=>array(50,-60,948,845),31832=>array(39,-67,976,849),31833=>array(38,-52,959,853),31834=>array(42,-62,962,837),31835=>array(52,-72,964,839),31836=>array(57,-68,953,846),31837=>array(50,-68,962,846),31838=>array(47,-62,964,847),31839=>array(42,-69,965,851),31840=>array(49,-62,964,855),31841=>array(33,-60,962,818),31842=>array(45,-69,987,838),31843=>array(40,-67,929,841),31844=>array(38,-53,961,853),31845=>array(35,-60,967,853),31846=>array(39,-33,967,837),31847=>array(28,-57,969,854),31848=>array(22,-56,983,848),31849=>array(34,-67,964,848),31850=>array(33,-71,954,842),31851=>array(40,-60,952,857),31852=>array(61,-62,964,854),31853=>array(56,-73,940,856),31854=>array(54,-59,957,854),31855=>array(38,-75,974,837),31856=>array(31,-55,970,844),31857=>array(29,-78,963,835),31858=>array(46,-71,954,835),31859=>array(57,-67,949,830),31860=>array(33,-58,961,844),31861=>array(41,-71,956,823),31862=>array(41,-73,975,823),31863=>array(41,-71,935,823),31864=>array(36,-64,965,828),31865=>array(28,-68,954,826),31866=>array(38,-61,973,832),31867=>array(39,-62,948,834),31868=>array(48,-63,900,814),31869=>array(56,-59,960,838),31870=>array(42,-75,910,827),31871=>array(41,-76,953,822),31872=>array(38,-71,966,827),31873=>array(37,-68,957,829),31874=>array(37,-58,963,841),31875=>array(32,-65,954,832),31876=>array(44,-71,970,824),31877=>array(59,-65,947,839),31878=>array(59,-65,963,829),31879=>array(69,-65,967,843),31880=>array(53,-65,967,828),31881=>array(29,-67,964,829),31882=>array(43,-68,957,826),31883=>array(48,-63,963,837),31884=>array(58,-67,918,826),31885=>array(39,-54,967,850),31886=>array(69,-76,973,837),31887=>array(49,-71,934,837),31888=>array(42,-66,928,829),31889=>array(42,-65,965,829),31890=>array(37,-64,949,837),31891=>array(46,-67,959,838),31892=>array(44,-70,945,824),31893=>array(51,-60,901,849),31894=>array(49,-70,971,825),31895=>array(46,-62,953,833),31896=>array(52,-64,943,840),31897=>array(46,-64,907,836),31898=>array(51,-62,953,833),31899=>array(50,-62,941,834),31900=>array(37,-67,963,818),31901=>array(29,-66,940,802),31902=>array(35,-67,955,832),31903=>array(56,-72,946,789),31904=>array(55,-69,947,830),31905=>array(55,-64,921,830),31906=>array(40,-65,961,846),31907=>array(33,-65,951,830),31908=>array(62,-65,913,838),31909=>array(79,-65,907,829),31910=>array(43,-77,961,836),31911=>array(35,-55,951,829),31912=>array(46,-70,959,823),31913=>array(52,-70,941,828),31914=>array(45,-59,941,823),31915=>array(48,-68,951,838),31916=>array(48,-56,923,843),31917=>array(53,-65,972,853),31918=>array(37,-56,974,836),31919=>array(52,-70,969,824),31920=>array(37,-64,953,837),31921=>array(46,-70,951,842),31922=>array(42,-62,983,838),31923=>array(39,-67,956,829),31924=>array(51,-71,962,824),31925=>array(54,-68,956,844),31926=>array(33,-67,966,835),31927=>array(67,-63,935,837),31928=>array(49,-77,960,836),31929=>array(29,-59,942,835),31930=>array(52,-70,965,839),31931=>array(36,-70,962,830),31932=>array(42,-70,971,830),31933=>array(42,-67,977,831),31934=>array(45,-66,954,837),31935=>array(45,-68,986,821),31936=>array(53,-68,961,833),31937=>array(21,-71,941,839),31938=>array(45,-73,963,832),31939=>array(63,-70,937,810),31940=>array(31,-65,929,833),31941=>array(34,-66,990,830),31942=>array(36,-70,968,810),31943=>array(30,-68,964,836),31944=>array(40,-67,986,829),31945=>array(38,-62,980,841),31946=>array(52,-68,897,835),31947=>array(37,-72,954,830),31948=>array(39,-65,975,841),31949=>array(42,-65,965,843),31950=>array(30,-75,958,844),31951=>array(69,-79,931,840),31952=>array(39,-70,948,827),31953=>array(38,-68,917,831),31954=>array(39,-72,938,822),31955=>array(39,-73,969,834),31956=>array(41,-79,971,826),31957=>array(52,-62,969,850),31958=>array(42,-69,952,827),31959=>array(48,-65,990,847),31960=>array(31,-68,968,832),31961=>array(42,-64,972,837),31962=>array(53,-69,954,832),31963=>array(56,-67,940,837),31964=>array(34,-62,968,828),31965=>array(28,-76,985,853),31966=>array(62,-69,955,849),31967=>array(40,-67,962,840),31968=>array(31,-66,966,833),31969=>array(50,-60,952,847),31970=>array(32,-62,982,832),31971=>array(34,-66,966,832),31972=>array(66,-73,934,828),31973=>array(60,-60,956,839),31974=>array(40,-71,933,839),31975=>array(40,-72,954,818),31976=>array(38,-69,967,830),31977=>array(25,-64,974,861),31978=>array(39,-67,975,832),31979=>array(70,-65,953,838),31980=>array(47,-67,960,826),31981=>array(38,-62,980,843),31982=>array(30,-64,964,832),31983=>array(47,-59,964,838),31984=>array(40,-68,916,833),31985=>array(40,-67,965,840),31986=>array(37,-71,963,828),31987=>array(54,-56,963,836),31988=>array(37,-67,962,797),31989=>array(42,-72,966,823),31990=>array(39,-68,956,833),31991=>array(46,-68,953,828),31992=>array(56,-65,941,847),31993=>array(226,-64,734,824),31994=>array(52,-64,952,839),31995=>array(62,-64,942,833),31996=>array(60,-67,892,825),31997=>array(60,-70,956,828),31998=>array(38,-67,936,839),31999=>array(60,-67,892,825),32000=>array(35,-64,954,839),32001=>array(60,-66,966,832),32002=>array(84,-64,950,839),32003=>array(57,-73,905,822),32004=>array(34,-64,903,839),32005=>array(34,-64,944,841),32006=>array(69,-64,950,839),32007=>array(34,-64,953,844),32008=>array(34,-78,957,839),32009=>array(60,-67,892,825),32010=>array(54,-60,948,831),32011=>array(34,-66,961,839),32012=>array(56,-64,963,825),32013=>array(34,-65,909,839),32014=>array(43,-71,975,829),32015=>array(44,-72,966,825),32016=>array(34,-64,956,839),32017=>array(53,-70,964,834),32018=>array(38,-71,979,844),32019=>array(47,-59,932,815),32020=>array(34,-64,964,839),32021=>array(44,-64,954,839),32022=>array(57,-72,914,824),32023=>array(34,-64,959,839),32024=>array(34,-64,945,841),32025=>array(34,-70,956,839),32026=>array(34,-66,955,839),32027=>array(34,-64,961,839),32028=>array(74,-64,944,839),32029=>array(40,-31,937,815),32030=>array(48,-71,968,828),32031=>array(52,-76,979,834),32032=>array(63,-60,937,834),32033=>array(34,-71,949,839),32034=>array(65,-69,946,835),32035=>array(57,-63,969,837),32036=>array(57,-62,949,843),32037=>array(82,-65,953,837),32038=>array(73,-44,965,824),32039=>array(84,-60,935,834),32040=>array(73,-73,960,833),32041=>array(35,-76,961,839),32042=>array(57,-35,943,839),32043=>array(57,-67,948,825),32044=>array(32,-64,906,839),32045=>array(61,-67,939,820),32046=>array(49,-60,953,831),32047=>array(51,-63,943,808),32048=>array(34,-64,912,839),32049=>array(62,-62,982,834),32050=>array(69,-67,954,839),32051=>array(36,-64,902,839),32052=>array(43,-65,947,839),32053=>array(54,-68,946,839),32054=>array(35,-54,954,838),32055=>array(49,-78,975,831),32056=>array(32,-38,954,839),32057=>array(34,-64,910,839),32058=>array(35,-64,956,839),32059=>array(39,-74,966,823),32060=>array(52,-62,932,829),32061=>array(36,-39,952,838),32062=>array(48,-75,974,843),32063=>array(84,-65,968,839),32064=>array(67,-65,921,828),32065=>array(32,-32,957,839),32066=>array(34,-77,964,839),32067=>array(34,-65,961,839),32068=>array(38,-64,942,839),32069=>array(44,-64,910,839),32070=>array(64,-64,955,839),32071=>array(40,-73,915,835),32072=>array(47,-67,901,837),32073=>array(35,-60,969,826),32074=>array(40,-67,970,840),32075=>array(44,-66,971,839),32076=>array(37,-64,966,839),32077=>array(40,-68,959,831),32078=>array(44,-64,964,839),32079=>array(49,-74,967,839),32080=>array(35,-64,944,839),32081=>array(42,-68,966,829),32082=>array(57,-70,911,826),32083=>array(54,-55,954,819),32084=>array(52,-66,951,833),32085=>array(50,-48,947,817),32086=>array(34,-72,961,839),32087=>array(61,-46,939,831),32088=>array(57,-75,963,832),32089=>array(41,-39,954,831),32090=>array(36,-39,943,830),32091=>array(32,-62,954,845),32092=>array(57,-63,943,827),32093=>array(36,-58,978,843),32094=>array(34,-64,962,841),32095=>array(58,-57,967,816),32096=>array(71,-65,954,837),32097=>array(34,-64,982,849),32098=>array(34,-64,900,842),32099=>array(64,-72,949,839),32100=>array(62,-65,938,820),32101=>array(36,-67,980,831),32102=>array(34,-65,965,853),32103=>array(51,-61,913,831),32104=>array(44,-64,962,839),32105=>array(41,-70,955,827),32106=>array(34,-64,918,839),32107=>array(81,-70,917,836),32108=>array(69,-64,958,834),32109=>array(43,-70,958,835),32110=>array(63,-60,939,838),32111=>array(46,-65,960,836),32112=>array(50,-39,957,825),32113=>array(34,-64,959,839),32114=>array(64,-71,960,839),32115=>array(49,-64,968,844),32116=>array(49,-65,954,843),32117=>array(34,-64,961,839),32118=>array(35,-64,961,839),32119=>array(41,-68,930,819),32120=>array(60,-61,953,817),32121=>array(33,-64,894,839),32122=>array(35,-55,957,857),32123=>array(44,-72,968,838),32124=>array(55,-65,954,833),32125=>array(69,-66,906,839),32126=>array(30,-70,961,833),32127=>array(34,-64,971,839),32128=>array(46,-70,975,823),32129=>array(54,-61,953,836),32130=>array(48,-70,959,830),32131=>array(51,-65,938,838),32132=>array(48,-70,969,836),32133=>array(57,-63,976,816),32134=>array(36,-71,971,820),32135=>array(36,-62,945,820),32136=>array(57,-65,928,849),32137=>array(44,-74,969,839),32138=>array(38,-69,979,836),32139=>array(38,-60,951,833),32140=>array(61,-68,962,832),32141=>array(43,-52,945,843),32142=>array(32,-71,976,839),32143=>array(59,-67,959,839),32144=>array(49,-67,961,839),32145=>array(59,-62,917,813),32146=>array(49,-71,954,826),32147=>array(44,-64,945,839),32148=>array(35,-66,968,846),32149=>array(59,-41,972,826),32150=>array(46,-59,976,853),32151=>array(37,-51,915,813),32152=>array(44,-61,977,841),32153=>array(34,-65,933,839),32154=>array(34,-64,962,839),32155=>array(44,-64,962,839),32156=>array(34,-65,960,839),32157=>array(35,-68,965,839),32158=>array(42,-46,951,828),32159=>array(34,-69,972,839),32160=>array(34,-67,966,843),32161=>array(48,-70,956,830),32162=>array(34,-67,897,839),32163=>array(34,-64,974,839),32164=>array(55,-54,932,786),32165=>array(41,-71,958,824),32166=>array(41,-59,983,836),32167=>array(48,-70,961,832),32168=>array(38,-77,960,849),32169=>array(58,-67,958,832),32170=>array(44,-69,953,832),32171=>array(50,-64,957,839),32172=>array(34,-65,973,839),32173=>array(34,-64,938,839),32174=>array(34,-73,946,843),32175=>array(39,-64,923,848),32176=>array(44,-64,941,839),32177=>array(34,-64,915,839),32178=>array(33,-64,909,839),32179=>array(57,-67,895,827),32180=>array(32,-65,966,839),32181=>array(34,-68,966,839),32182=>array(39,-64,969,820),32183=>array(34,-66,963,839),32184=>array(34,-67,976,856),32185=>array(42,-64,964,845),32186=>array(39,-64,952,839),32187=>array(34,-66,966,839),32188=>array(50,-71,953,841),32189=>array(44,-64,953,840),32190=>array(34,-66,968,839),32191=>array(34,-68,911,839),32192=>array(40,-73,958,837),32193=>array(53,-64,977,829),32194=>array(56,-74,982,829),32195=>array(36,-71,976,844),32196=>array(45,-62,966,822),32197=>array(43,-82,977,826),32198=>array(49,-73,920,828),32199=>array(49,-64,938,839),32200=>array(42,-64,934,842),32201=>array(45,-68,952,827),32202=>array(57,-63,943,803),32203=>array(34,-68,954,839),32204=>array(32,-62,961,856),32205=>array(40,-65,960,839),32206=>array(40,-66,962,839),32207=>array(34,-64,968,839),32208=>array(49,-68,978,840),32209=>array(34,-64,963,839),32210=>array(34,-67,941,839),32211=>array(39,-66,984,830),32212=>array(53,-74,941,818),32213=>array(34,-82,956,839),32214=>array(34,-67,941,839),32215=>array(71,-73,924,820),32216=>array(34,-68,969,839),32217=>array(45,-61,956,832),32218=>array(34,-64,963,840),32219=>array(54,-72,963,831),32220=>array(67,-70,966,839),32221=>array(34,-68,943,839),32222=>array(29,-69,976,848),32223=>array(54,-48,954,836),32224=>array(34,-67,946,839),32225=>array(34,-64,973,839),32226=>array(53,-67,950,829),32227=>array(34,-64,979,839),32228=>array(34,-64,957,839),32229=>array(36,-61,964,840),32230=>array(51,-41,976,819),32231=>array(55,-70,953,836),32232=>array(33,-67,935,839),32233=>array(34,-64,959,839),32234=>array(40,-64,960,837),32235=>array(43,-36,971,850),32236=>array(34,-64,950,839),32237=>array(64,-64,921,829),32238=>array(49,-72,968,831),32239=>array(32,-64,954,839),32240=>array(49,-71,984,834),32241=>array(44,-62,967,833),32242=>array(24,-71,960,839),32243=>array(36,-72,943,847),32244=>array(34,-66,967,839),32245=>array(53,-61,980,839),32246=>array(40,-55,972,841),32247=>array(50,-68,954,830),32248=>array(62,-44,953,810),32249=>array(38,-64,952,820),32250=>array(51,-70,914,830),32251=>array(24,-72,962,839),32252=>array(51,-41,959,830),32253=>array(51,-90,938,840),32254=>array(51,-63,958,830),32255=>array(35,-39,954,839),32256=>array(33,-50,963,828),32257=>array(34,-64,967,839),32258=>array(33,-50,964,823),32259=>array(48,-70,961,828),32260=>array(34,-64,971,839),32261=>array(24,-64,972,839),32262=>array(33,-59,970,849),32263=>array(46,-50,964,855),32264=>array(63,-65,950,829),32265=>array(34,-66,955,839),32266=>array(34,-64,961,839),32267=>array(34,-64,962,847),32268=>array(55,-75,973,814),32269=>array(41,-70,951,841),32270=>array(38,-69,932,827),32271=>array(40,-67,967,844),32272=>array(59,-64,926,850),32273=>array(44,-65,984,852),32274=>array(34,-64,951,839),32275=>array(47,-71,961,823),32276=>array(46,-70,985,822),32277=>array(34,-64,960,839),32278=>array(47,-72,952,841),32279=>array(37,-63,977,855),32280=>array(33,-61,977,842),32281=>array(48,-70,931,828),32282=>array(53,-71,919,833),32283=>array(34,-64,953,839),32284=>array(44,-78,954,826),32285=>array(33,-82,961,839),32286=>array(34,-71,947,839),32287=>array(24,-64,958,839),32288=>array(33,-77,960,826),32289=>array(34,-68,952,839),32290=>array(39,-70,967,844),32291=>array(54,-57,966,817),32292=>array(49,-72,959,824),32293=>array(43,-70,984,830),32294=>array(34,-70,961,839),32295=>array(43,-60,966,839),32296=>array(62,-74,964,828),32297=>array(59,-70,979,825),32298=>array(44,-68,955,810),32299=>array(35,-64,963,843),32300=>array(42,-45,952,842),32301=>array(56,-61,961,850),32302=>array(34,-65,943,839),32303=>array(34,-72,957,839),32304=>array(51,-71,976,823),32305=>array(24,-70,955,839),32306=>array(34,-64,962,839),32307=>array(35,-69,954,823),32308=>array(55,-70,941,832),32309=>array(34,-65,974,839),32310=>array(60,-59,968,840),32311=>array(34,-65,942,839),32312=>array(41,-73,972,827),32313=>array(34,-64,955,839),32314=>array(34,-64,960,839),32315=>array(34,-62,968,839),32316=>array(42,-72,972,831),32317=>array(34,-64,959,844),32318=>array(34,-73,952,839),32319=>array(42,-79,972,845),32320=>array(51,-68,953,824),32321=>array(59,-71,948,837),32322=>array(42,-72,953,830),32323=>array(34,-72,917,839),32324=>array(71,-73,949,805),32325=>array(34,-65,972,839),32326=>array(34,-75,970,839),32327=>array(59,-60,965,846),32328=>array(48,-74,962,841),32329=>array(46,-68,968,820),32330=>array(29,-64,964,839),32331=>array(57,-71,964,829),32332=>array(38,-75,973,839),32333=>array(34,-67,957,839),32334=>array(39,-71,959,831),32335=>array(49,-58,947,820),32336=>array(35,-44,971,825),32337=>array(44,-64,973,832),32338=>array(34,-71,972,839),32339=>array(42,-73,969,831),32340=>array(28,-66,958,839),32341=>array(34,-67,949,840),32342=>array(24,-72,984,839),32343=>array(43,-71,958,827),32344=>array(47,-61,926,845),32345=>array(34,-67,959,839),32346=>array(34,-64,965,859),32347=>array(45,-65,962,838),32348=>array(45,-70,957,838),32349=>array(34,-68,920,839),32350=>array(34,-64,954,839),32351=>array(43,-68,957,830),32352=>array(50,-67,971,840),32353=>array(26,-72,962,839),32354=>array(42,-70,954,826),32355=>array(40,-39,957,825),32356=>array(36,-66,969,838),32357=>array(37,-65,951,836),32358=>array(24,-64,967,839),32359=>array(25,-75,949,839),32360=>array(55,-73,974,830),32361=>array(34,-64,970,839),32362=>array(34,-68,973,864),32363=>array(53,-73,962,841),32364=>array(39,-65,965,837),32365=>array(63,-57,937,833),32366=>array(41,-39,951,812),32367=>array(40,-66,970,807),32368=>array(34,-64,972,839),32369=>array(48,-38,959,837),32370=>array(49,-68,961,829),32371=>array(51,-71,962,845),32372=>array(50,-71,944,831),32373=>array(47,-45,962,834),32374=>array(43,-33,977,829),32375=>array(44,-64,962,836),32376=>array(30,-78,970,830),32377=>array(34,-66,934,839),32378=>array(45,-74,976,834),32379=>array(34,-64,954,839),32380=>array(24,-70,942,839),32381=>array(34,-70,958,839),32382=>array(57,-59,976,836),32383=>array(34,-64,957,844),32384=>array(42,-67,972,829),32385=>array(30,-58,971,851),32386=>array(22,-71,974,850),32387=>array(34,-68,969,839),32388=>array(36,-62,963,833),32389=>array(56,-68,948,850),32390=>array(51,-38,967,830),32391=>array(41,-66,960,831),32392=>array(34,-64,970,839),32393=>array(34,-64,981,845),32394=>array(31,-77,967,839),32395=>array(49,-68,961,837),32396=>array(34,-84,957,839),32397=>array(53,-62,947,789),32398=>array(24,-64,967,839),32399=>array(35,-67,961,839),32400=>array(19,-64,980,839),32401=>array(46,-68,956,833),32402=>array(34,-64,950,839),32403=>array(34,-67,954,839),32404=>array(24,-68,966,847),32405=>array(32,-68,979,849),32406=>array(19,-64,967,839),32407=>array(38,-65,941,833),32408=>array(30,-68,972,839),32409=>array(40,-67,964,835),32410=>array(26,-68,974,829),32411=>array(42,-71,953,839),32412=>array(19,-64,960,847),32413=>array(42,-62,955,822),32414=>array(53,-31,947,842),32415=>array(271,10,660,829),32416=>array(72,-69,847,828),32417=>array(57,-56,933,828),32418=>array(74,3,936,828),32419=>array(57,-64,933,828),32420=>array(43,-67,942,812),32421=>array(57,-24,936,843),32422=>array(61,-62,879,835),32423=>array(62,-71,941,828),32424=>array(58,-56,964,838),32425=>array(54,-66,912,830),32426=>array(57,-15,936,828),32427=>array(73,-69,874,820),32428=>array(46,-69,903,824),32429=>array(57,-54,927,828),32430=>array(77,-71,950,837),32431=>array(70,-34,929,834),32432=>array(57,-47,937,829),32433=>array(66,-59,943,824),32434=>array(40,-59,885,829),32435=>array(52,-57,898,833),32436=>array(72,-21,939,813),32437=>array(41,-64,945,833),32438=>array(32,-21,943,835),32439=>array(75,-67,957,828),32440=>array(46,-70,926,825),32441=>array(71,-65,944,840),32442=>array(60,-66,921,842),32443=>array(60,11,934,828),32444=>array(74,-72,895,824),32445=>array(74,-23,936,820),32446=>array(57,-61,915,828),32447=>array(44,-60,937,831),32448=>array(57,-66,942,829),32449=>array(57,-22,937,828),32450=>array(57,-65,966,832),32451=>array(35,-61,947,830),32452=>array(57,-14,925,807),32453=>array(77,-64,885,835),32454=>array(60,-57,895,783),32455=>array(39,-56,942,802),32456=>array(62,-79,947,834),32457=>array(39,-57,873,827),32458=>array(57,-66,938,832),32459=>array(53,-64,915,827),32460=>array(57,-67,903,828),32461=>array(54,-72,894,786),32462=>array(41,-74,958,818),32463=>array(57,-33,938,819),32464=>array(57,-67,950,832),32465=>array(42,-69,937,834),32466=>array(71,-65,945,835),32467=>array(67,-66,933,837),32468=>array(57,-63,958,840),32469=>array(44,-60,944,835),32470=>array(76,-22,923,828),32471=>array(53,-66,947,830),32472=>array(44,-55,934,838),32473=>array(57,-67,949,852),32474=>array(59,-58,882,839),32475=>array(57,-57,960,842),32476=>array(74,-63,967,847),32477=>array(39,-21,925,832),32478=>array(81,-64,947,840),32479=>array(57,-71,942,838),32480=>array(57,-74,954,828),32481=>array(57,-67,921,835),32482=>array(73,-59,879,827),32483=>array(50,-85,942,807),32484=>array(59,-68,962,832),32485=>array(59,-69,942,834),32486=>array(25,-66,964,833),32487=>array(53,-23,940,809),32488=>array(61,-67,909,847),32489=>array(41,-62,931,833),32490=>array(53,-69,924,829),32491=>array(57,-68,951,834),32492=>array(52,-66,969,828),32493=>array(28,-67,932,833),32494=>array(59,-63,937,836),32495=>array(63,-66,939,827),32496=>array(65,-65,936,838),32497=>array(53,-74,916,827),32498=>array(57,-64,949,828),32499=>array(50,-23,940,826),32500=>array(63,-64,920,836),32501=>array(67,-70,886,842),32502=>array(57,-72,958,836),32503=>array(34,-74,925,792),32504=>array(57,-69,881,827),32505=>array(49,-67,924,840),32506=>array(30,-64,937,828),32507=>array(53,-41,973,839),32508=>array(53,-67,934,844),32509=>array(61,-68,951,843),32510=>array(53,-64,917,850),32511=>array(30,-64,943,819),32512=>array(53,-67,973,818),32513=>array(57,-66,921,836),32514=>array(53,-63,939,829),32515=>array(53,-74,910,827),32516=>array(52,-70,953,832),32517=>array(60,-66,931,814),32518=>array(35,-54,932,841),32519=>array(57,-66,935,828),32520=>array(52,-73,937,830),32521=>array(57,-70,935,822),32522=>array(69,-28,959,805),32523=>array(39,-66,919,830),32524=>array(57,-43,959,828),32525=>array(52,-33,933,830),32526=>array(53,-71,953,818),32527=>array(53,-57,954,839),32528=>array(59,-64,959,842),32529=>array(53,-69,971,831),32530=>array(53,-72,951,844),32531=>array(66,-67,949,827),32532=>array(62,-69,925,848),32533=>array(39,-54,941,838),32534=>array(34,-69,922,837),32535=>array(57,-64,956,828),32536=>array(53,-73,937,834),32537=>array(47,-64,911,827),32538=>array(50,-67,946,832),32539=>array(53,-64,942,827),32540=>array(53,-68,936,843),32541=>array(52,-53,955,816),32542=>array(69,-63,962,855),32543=>array(53,-67,932,850),32544=>array(36,-64,919,847),32545=>array(56,-63,944,847),32546=>array(53,-23,943,840),32547=>array(55,-67,967,851),32548=>array(33,-50,933,824),32549=>array(57,-64,940,819),32550=>array(53,-68,958,827),32551=>array(53,-64,959,827),32552=>array(39,-75,937,822),32553=>array(41,-66,917,841),32554=>array(52,-76,953,817),32555=>array(53,-67,955,837),32556=>array(38,-68,945,825),32557=>array(57,-64,947,855),32558=>array(62,-67,931,839),32559=>array(53,-64,901,851),32560=>array(50,-40,935,806),32561=>array(53,-72,951,834),32562=>array(53,-66,963,827),32563=>array(57,-68,952,828),32564=>array(53,-71,946,842),32565=>array(38,-69,933,822),32566=>array(47,-60,953,831),32567=>array(58,-62,909,838),32568=>array(44,-45,941,836),32569=>array(50,-72,960,845),32570=>array(59,-68,950,836),32571=>array(58,-32,962,836),32572=>array(80,-73,960,851),32573=>array(48,-54,971,848),32574=>array(58,-53,954,855),32575=>array(49,-58,945,843),32576=>array(47,-64,960,851),32577=>array(47,-65,951,851),32578=>array(48,-68,912,780),32579=>array(69,-71,945,838),32580=>array(49,-68,956,833),32581=>array(48,-72,931,834),32582=>array(48,-68,951,829),32583=>array(45,-72,970,838),32584=>array(48,-70,953,831),32585=>array(63,-54,935,837),32586=>array(72,-68,958,825),32587=>array(62,-68,939,838),32588=>array(59,-65,951,790),32589=>array(68,-62,957,797),32590=>array(34,-53,951,842),32591=>array(45,-63,957,841),32592=>array(44,-59,949,838),32593=>array(117,-60,883,780),32594=>array(148,317,884,597),32595=>array(137,265,863,657),32596=>array(114,-68,894,787),32597=>array(64,-64,917,786),32598=>array(110,10,917,802),32599=>array(69,-55,884,792),32600=>array(45,-64,955,787),32601=>array(50,-68,955,789),32602=>array(98,-57,869,791),32603=>array(42,-61,973,798),32604=>array(79,-35,961,777),32605=>array(55,-20,950,798),32606=>array(56,-62,947,790),32607=>array(68,-60,954,787),32608=>array(47,-58,947,784),32609=>array(63,-24,941,785),32610=>array(55,-60,904,792),32611=>array(63,-33,958,763),32612=>array(55,-53,908,785),32613=>array(141,-70,883,779),32614=>array(82,-68,933,783),32615=>array(55,-71,971,780),32616=>array(29,-34,966,794),32617=>array(59,-69,956,782),32618=>array(57,-69,943,794),32619=>array(59,-64,968,787),32620=>array(44,-72,969,784),32621=>array(63,-51,963,800),32622=>array(100,-73,945,813),32623=>array(81,-69,931,787),32624=>array(71,-73,900,810),32625=>array(51,-72,949,791),32626=>array(58,-65,944,789),32627=>array(56,-26,954,780),32628=>array(34,-62,928,776),32629=>array(57,-69,919,783),32630=>array(136,-70,882,783),32631=>array(68,-63,967,807),32632=>array(85,-73,951,782),32633=>array(39,-64,949,788),32634=>array(44,-70,973,783),32635=>array(41,-68,951,782),32636=>array(59,-65,943,810),32637=>array(36,-65,947,791),32638=>array(110,-67,905,794),32639=>array(50,-8,947,805),32640=>array(107,-71,916,787),32641=>array(49,-65,890,772),32642=>array(64,-63,896,802),32643=>array(42,-65,968,792),32644=>array(44,-64,953,815),32645=>array(38,-67,950,807),32646=>array(43,-73,956,784),32647=>array(63,-64,953,788),32648=>array(62,-64,938,796),32649=>array(50,-52,968,792),32650=>array(72,-67,946,855),32651=>array(60,-67,953,821),32652=>array(39,-61,953,844),32653=>array(38,-67,965,836),32654=>array(45,-61,955,845),32655=>array(54,-68,957,842),32656=>array(34,-67,974,830),32657=>array(52,-67,991,854),32658=>array(54,-73,985,842),32659=>array(44,-71,972,842),32660=>array(61,-63,957,856),32661=>array(46,-66,965,848),32662=>array(50,-71,967,834),32663=>array(36,-66,965,841),32664=>array(53,-68,954,843),32665=>array(53,-63,941,854),32666=>array(22,-68,960,847),32667=>array(53,-69,938,846),32668=>array(57,-66,960,844),32669=>array(42,-73,950,839),32670=>array(29,-33,934,838),32671=>array(36,-68,922,823),32672=>array(43,-72,969,840),32673=>array(49,-74,960,845),32674=>array(52,-69,974,837),32675=>array(57,-64,954,787),32676=>array(32,-62,960,850),32677=>array(46,-75,950,833),32678=>array(41,-73,964,834),32679=>array(35,-75,965,830),32680=>array(49,-62,978,858),32681=>array(48,-63,941,843),32682=>array(42,-77,965,842),32683=>array(39,-70,950,845),32684=>array(51,-70,978,822),32685=>array(50,-74,969,827),32686=>array(33,-58,974,860),32687=>array(55,-67,930,842),32688=>array(41,-82,971,831),32689=>array(53,-73,970,833),32690=>array(34,-66,959,853),32691=>array(46,-69,968,832),32692=>array(35,-83,969,808),32693=>array(46,-82,967,826),32694=>array(16,-65,959,842),32695=>array(53,-71,969,835),32696=>array(29,-60,973,841),32697=>array(51,-62,966,853),32698=>array(49,-64,968,833),32699=>array(52,-69,970,836),32700=>array(41,-71,965,797),32701=>array(73,-50,892,785),32702=>array(40,-70,953,783),32703=>array(43,-64,945,780),32704=>array(47,-63,917,836),32705=>array(47,-62,958,822),32706=>array(43,-71,981,790),32707=>array(52,-67,938,840),32708=>array(47,-73,970,837),32709=>array(31,-59,972,839),32710=>array(54,-58,946,790),32711=>array(41,-76,959,785),32712=>array(113,-79,923,788),32713=>array(29,-64,910,826),32714=>array(56,-65,915,821),32715=>array(42,-67,950,836),32716=>array(50,-20,942,798),32717=>array(33,-72,962,821),32718=>array(31,-63,918,838),32719=>array(32,-76,965,785),32720=>array(32,-74,976,827),32721=>array(37,-64,914,828),32722=>array(74,-72,892,782),32723=>array(70,-65,914,838),32724=>array(51,-60,893,855),32725=>array(47,-63,965,845),32726=>array(26,-64,916,817),32727=>array(61,-70,916,829),32728=>array(32,-71,941,818),32729=>array(45,-64,931,836),32730=>array(74,-65,926,801),32731=>array(37,-63,982,844),32732=>array(37,-72,964,783),32733=>array(30,-48,910,825),32734=>array(53,-68,962,834),32735=>array(40,-80,927,807),32736=>array(53,-61,947,807),32737=>array(46,-56,921,826),32738=>array(41,-71,903,782),32739=>array(61,-63,936,797),32740=>array(98,-71,918,785),32741=>array(42,-59,956,834),32742=>array(65,-59,959,863),32743=>array(57,-69,913,855),32744=>array(88,-65,970,785),32745=>array(41,-60,917,795),32746=>array(59,-73,968,825),32747=>array(52,-74,963,783),32748=>array(62,-62,957,790),32749=>array(53,-76,983,824),32750=>array(75,-64,903,788),32751=>array(66,-52,941,802),32752=>array(60,-69,978,853),32753=>array(46,-63,904,848),32754=>array(41,-73,895,780),32755=>array(60,-67,929,785),32756=>array(40,-73,969,816),32757=>array(37,-54,948,854),32758=>array(48,-77,913,839),32759=>array(53,-67,917,830),32760=>array(61,-70,919,835),32761=>array(28,-66,966,830),32762=>array(46,-68,913,845),32763=>array(59,-67,909,824),32764=>array(54,-66,946,807),32765=>array(30,-67,910,832),32766=>array(60,-57,928,795),32767=>array(66,-52,917,843),32768=>array(28,-73,954,828),32769=>array(38,-39,923,832),32770=>array(21,160,923,832),32771=>array(48,-56,929,836),32772=>array(39,-36,948,834),32773=>array(62,-64,929,836),32774=>array(33,-69,938,836),32775=>array(59,-64,950,835),32776=>array(69,-66,933,840),32777=>array(40,-55,951,840),32778=>array(49,-53,950,836),32779=>array(53,-53,950,836),32780=>array(89,-68,923,768),32781=>array(63,-68,934,789),32782=>array(46,-67,970,791),32783=>array(55,-74,951,822),32784=>array(51,-79,956,836),32785=>array(62,-62,954,840),32786=>array(55,-65,968,829),32787=>array(46,-65,924,827),32788=>array(46,-65,957,828),32789=>array(31,-73,954,831),32790=>array(31,-70,970,831),32791=>array(35,-68,924,828),32792=>array(36,-73,943,832),32793=>array(36,-73,951,832),32794=>array(46,-72,960,833),32795=>array(47,-71,951,839),32796=>array(38,-73,909,832),32797=>array(31,-73,938,831),32798=>array(47,-68,914,829),32799=>array(49,-58,964,828),32800=>array(21,-78,964,842),32801=>array(59,-66,929,831),32802=>array(25,-72,914,818),32803=>array(46,-73,968,844),32804=>array(46,-70,956,826),32805=>array(39,-69,933,832),32806=>array(61,-71,927,830),32807=>array(32,-73,922,806),32808=>array(34,-64,959,832),32809=>array(36,-67,964,833),32810=>array(43,-69,954,842),32811=>array(44,-71,943,830),32812=>array(34,-69,954,835),32813=>array(53,-69,949,840),32814=>array(44,-86,968,831),32815=>array(49,-69,966,827),32816=>array(33,-62,979,830),32817=>array(23,-68,955,838),32818=>array(45,-69,972,849),32819=>array(55,-74,922,781),32820=>array(56,-67,967,828),32821=>array(48,-62,954,789),32822=>array(59,-67,930,786),32823=>array(40,-69,960,839),32824=>array(55,-66,916,830),32825=>array(55,-67,978,853),32826=>array(29,-67,944,789),32827=>array(42,-64,951,824),32828=>array(46,-67,957,789),32829=>array(40,-70,950,831),32830=>array(55,-65,960,838),32831=>array(38,-67,954,825),32832=>array(50,-67,967,825),32833=>array(49,-67,951,805),32834=>array(39,-60,952,794),32835=>array(35,-65,961,829),32836=>array(50,-72,971,850),32837=>array(50,-67,945,819),32838=>array(28,-62,966,854),32839=>array(58,-70,957,781),32840=>array(72,-80,921,822),32841=>array(46,-68,921,827),32842=>array(59,-71,914,830),32843=>array(51,-48,923,841),32844=>array(31,-70,955,782),32845=>array(29,-68,924,830),32846=>array(63,-67,962,826),32847=>array(49,-68,960,785),32848=>array(45,-70,959,822),32849=>array(50,-70,955,770),32850=>array(36,-64,941,804),32851=>array(47,-59,960,806),32852=>array(37,-60,940,830),32853=>array(50,-67,955,844),32854=>array(66,-37,934,805),32855=>array(50,-75,968,833),32856=>array(33,-71,955,831),32857=>array(50,-67,974,835),32858=>array(36,-61,948,793),32859=>array(50,-67,956,841),32860=>array(48,-67,956,834),32861=>array(45,-71,952,823),32862=>array(119,-68,901,786),32863=>array(34,-69,950,852),32864=>array(50,-68,959,845),32865=>array(32,-65,968,819),32866=>array(50,-83,949,797),32867=>array(50,-67,953,816),32868=>array(41,-61,970,856),32869=>array(50,-68,925,827),32870=>array(50,-67,964,839),32871=>array(51,-72,970,817),32872=>array(52,-65,963,806),32873=>array(34,-69,928,824),32874=>array(33,-60,950,838),32875=>array(48,-65,963,806),32876=>array(46,-71,971,827),32877=>array(50,-67,969,856),32878=>array(52,-65,967,782),32879=>array(42,-65,946,842),32880=>array(43,-66,973,835),32881=>array(53,-70,948,838),32882=>array(62,-64,946,833),32883=>array(48,-70,952,846),32884=>array(44,-67,963,839),32885=>array(40,-67,962,838),32886=>array(42,-66,951,808),32887=>array(35,-70,960,839),32888=>array(44,-73,942,827),32889=>array(41,-64,967,835),32890=>array(41,-65,948,846),32891=>array(35,-65,954,831),32892=>array(44,-67,966,847),32893=>array(58,-67,966,840),32894=>array(43,-71,962,840),32895=>array(73,-66,945,833),32896=>array(73,-66,931,833),32897=>array(45,-61,947,848),32898=>array(50,-72,953,828),32899=>array(50,-62,941,834),32900=>array(28,-68,945,829),32901=>array(46,-69,947,833),32902=>array(46,-61,946,841),32903=>array(51,-61,949,850),32904=>array(50,-61,953,856),32905=>array(118,-73,882,841),32906=>array(49,-68,959,783),32907=>array(68,-70,898,834),32908=>array(31,-74,948,773),32909=>array(59,-75,957,831),32910=>array(116,-45,892,762),32911=>array(42,-79,958,777),32912=>array(41,-78,977,826),32913=>array(76,-59,921,844),32914=>array(39,-64,954,833),32915=>array(135,-50,924,826),32916=>array(60,-71,963,825),32917=>array(53,-65,908,799),32918=>array(133,-61,861,836),32919=>array(60,-71,944,839),32920=>array(57,-70,933,826),32921=>array(70,-64,841,788),32922=>array(63,-68,938,829),32923=>array(54,-70,942,786),32924=>array(44,-58,965,856),32925=>array(60,-71,936,785),32926=>array(48,-62,959,803),32927=>array(31,-80,950,782),32928=>array(22,-61,886,786),32929=>array(51,-65,944,788),32930=>array(43,-70,969,837),32931=>array(35,-69,972,833),32932=>array(38,-71,939,831),32933=>array(51,-70,949,779),32934=>array(29,-60,968,810),32935=>array(60,-72,944,785),32936=>array(60,-71,940,813),32937=>array(53,-70,901,810),32938=>array(34,-71,949,825),32939=>array(38,-67,957,833),32940=>array(44,-62,961,831),32941=>array(24,-68,877,799),32942=>array(41,-73,957,832),32943=>array(59,-54,953,831),32944=>array(60,-71,977,837),32945=>array(30,-62,945,826),32946=>array(92,-49,907,840),32947=>array(46,-71,921,829),32948=>array(52,-49,928,844),32949=>array(39,-68,954,829),32950=>array(37,-58,956,824),32951=>array(30,-67,939,824),32952=>array(46,-65,956,811),32953=>array(56,-71,959,811),32954=>array(31,-70,953,839),32955=>array(121,-58,897,827),32956=>array(23,-82,950,827),32957=>array(23,-81,956,822),32958=>array(124,-69,944,820),32959=>array(31,-68,894,814),32960=>array(35,-73,946,815),32961=>array(27,-65,948,824),32962=>array(50,-71,912,833),32963=>array(170,-49,849,785),32964=>array(177,-48,838,834),32965=>array(45,-76,974,826),32966=>array(37,-70,954,786),32967=>array(45,-75,928,826),32968=>array(41,-73,968,826),32969=>array(40,-60,903,854),32970=>array(34,-66,908,843),32971=>array(57,-70,934,835),32972=>array(60,-57,937,826),32973=>array(31,-73,977,837),32974=>array(49,-70,944,838),32975=>array(51,-60,957,840),32976=>array(45,-59,905,840),32977=>array(32,-55,966,797),32978=>array(57,-70,945,788),32979=>array(57,-70,959,789),32980=>array(54,-68,968,835),32981=>array(44,-57,961,848),32982=>array(45,-69,934,834),32983=>array(39,-68,980,840),32984=>array(42,-67,957,836),32985=>array(53,-70,940,837),32986=>array(44,-69,948,786),32987=>array(49,-70,899,787),32988=>array(44,-69,953,824),32989=>array(34,-72,948,833),32990=>array(37,-64,958,845),32991=>array(35,-60,962,787),32992=>array(29,-62,957,839),32993=>array(71,-67,895,818),32994=>array(66,-70,948,787),32995=>array(47,-71,964,825),32996=>array(40,-66,967,846),32997=>array(38,-50,935,789),32998=>array(38,-67,981,829),32999=>array(18,-67,931,826),33000=>array(31,-72,939,817),33001=>array(31,-80,946,822),33002=>array(34,-69,921,817),33003=>array(32,-72,923,782),33004=>array(35,-66,932,827),33005=>array(48,-68,910,790),33006=>array(35,-70,965,837),33007=>array(28,-70,969,848),33008=>array(39,-72,963,838),33009=>array(35,-60,959,823),33010=>array(52,-69,975,845),33011=>array(35,-71,967,845),33012=>array(28,-70,912,786),33013=>array(46,-72,959,782),33014=>array(28,-71,946,842),33015=>array(73,-71,878,847),33016=>array(31,-58,924,841),33017=>array(46,-73,965,780),33018=>array(45,-72,948,840),33019=>array(49,-67,967,838),33020=>array(27,-70,947,845),33021=>array(63,-55,959,844),33022=>array(51,-64,952,829),33023=>array(34,-72,959,827),33024=>array(35,-77,972,813),33025=>array(29,-67,962,818),33026=>array(48,-70,952,815),33027=>array(33,-54,947,821),33028=>array(33,-70,965,824),33029=>array(73,-52,940,841),33030=>array(30,-72,958,844),33031=>array(40,-67,915,841),33032=>array(35,-62,967,836),33033=>array(44,-70,972,840),33034=>array(56,-59,944,835),33035=>array(73,-49,940,808),33036=>array(33,-70,943,841),33037=>array(38,-74,951,818),33038=>array(37,-73,932,818),33039=>array(31,-66,920,821),33040=>array(24,-82,951,832),33041=>array(43,-64,951,841),33042=>array(27,-70,980,821),33043=>array(32,-72,962,827),33044=>array(28,-64,923,846),33045=>array(44,-72,967,837),33046=>array(45,-67,951,837),33047=>array(45,-58,925,851),33048=>array(26,-67,963,821),33049=>array(42,-75,948,820),33050=>array(33,-61,913,810),33051=>array(49,-65,945,791),33052=>array(27,-70,944,776),33053=>array(48,-71,946,835),33054=>array(49,-60,970,833),33055=>array(39,-71,953,815),33056=>array(44,-62,972,820),33057=>array(44,-62,972,820),33058=>array(41,-70,942,839),33059=>array(58,-56,935,790),33060=>array(33,-57,967,800),33061=>array(44,-78,964,822),33062=>array(31,-70,968,831),33063=>array(33,-71,985,838),33064=>array(31,-70,975,825),33065=>array(37,-67,965,846),33066=>array(31,-70,961,846),33067=>array(32,-71,968,812),33068=>array(65,-72,986,834),33069=>array(39,-54,950,787),33070=>array(31,-75,948,835),33071=>array(28,-70,952,839),33072=>array(44,-60,956,797),33073=>array(59,-71,944,833),33074=>array(23,-71,970,788),33075=>array(27,-67,964,818),33076=>array(31,-70,969,797),33077=>array(31,-58,947,788),33078=>array(34,-67,925,785),33079=>array(31,-70,906,833),33080=>array(26,-65,944,836),33081=>array(42,-64,962,799),33082=>array(34,-71,943,839),33083=>array(31,-72,959,833),33084=>array(31,-66,948,787),33085=>array(23,-68,945,830),33086=>array(28,-70,957,841),33087=>array(31,-70,974,841),33088=>array(31,-73,976,851),33089=>array(31,-71,953,830),33090=>array(31,-70,969,788),33091=>array(46,-71,981,830),33092=>array(33,-67,953,833),33093=>array(31,-70,970,841),33094=>array(28,-70,965,835),33095=>array(38,-81,974,822),33096=>array(32,-77,940,828),33097=>array(43,-70,959,816),33098=>array(52,-69,956,824),33099=>array(21,-70,970,812),33100=>array(31,-72,972,844),33101=>array(41,-66,972,825),33102=>array(108,-59,958,815),33103=>array(40,-78,980,783),33104=>array(46,-68,948,839),33105=>array(28,-70,952,835),33106=>array(44,-74,944,784),33107=>array(18,-66,936,818),33108=>array(29,-70,947,822),33109=>array(26,-64,962,834),33110=>array(31,-70,973,835),33111=>array(31,-70,955,831),33112=>array(31,-70,919,787),33113=>array(34,-78,951,833),33114=>array(23,-83,949,831),33115=>array(46,-72,954,782),33116=>array(47,-75,973,822),33117=>array(31,-70,975,788),33118=>array(45,-67,970,836),33119=>array(31,-70,952,836),33120=>array(49,-72,987,831),33121=>array(34,-77,903,782),33122=>array(38,-67,911,803),33123=>array(31,-70,948,850),33124=>array(38,-69,955,840),33125=>array(19,-70,945,788),33126=>array(65,-65,925,846),33127=>array(34,-70,973,855),33128=>array(31,-70,956,835),33129=>array(49,-71,974,830),33130=>array(31,-70,953,788),33131=>array(48,-64,945,836),33132=>array(31,-70,977,796),33133=>array(28,-70,947,787),33134=>array(28,-70,964,786),33135=>array(47,-72,956,832),33136=>array(24,-70,941,793),33137=>array(26,-63,964,829),33138=>array(43,-77,981,782),33139=>array(58,-71,911,820),33140=>array(27,-70,972,833),33141=>array(48,-70,980,791),33142=>array(39,-75,979,825),33143=>array(37,-71,954,785),33144=>array(42,-60,952,801),33145=>array(21,-70,973,837),33146=>array(21,-70,968,837),33147=>array(28,-70,950,829),33148=>array(26,-76,941,778),33149=>array(26,-78,950,784),33150=>array(31,-61,951,836),33151=>array(22,-60,958,783),33152=>array(28,-69,938,819),33153=>array(30,-70,983,843),33154=>array(46,-48,944,847),33155=>array(60,-70,967,785),33156=>array(48,-70,986,830),33157=>array(48,-64,954,843),33158=>array(45,-64,953,825),33159=>array(45,-72,981,832),33160=>array(18,-69,939,784),33161=>array(41,-75,964,826),33162=>array(34,-70,961,831),33163=>array(72,-67,932,835),33164=>array(44,-70,980,823),33165=>array(49,-72,961,835),33166=>array(36,-74,972,842),33167=>array(94,-62,906,834),33168=>array(46,-52,944,846),33169=>array(25,-63,934,832),33170=>array(48,-70,963,787),33171=>array(48,-75,969,853),33172=>array(43,-64,953,839),33173=>array(44,-75,920,783),33174=>array(30,-70,971,844),33175=>array(37,-65,959,829),33176=>array(39,-69,962,788),33177=>array(39,-60,969,829),33178=>array(46,-68,941,848),33179=>array(47,-72,954,835),33180=>array(19,-70,972,823),33181=>array(28,-70,966,828),33182=>array(41,-69,944,826),33183=>array(45,-70,958,839),33184=>array(39,-76,977,788),33185=>array(18,-70,987,850),33186=>array(45,-67,951,824),33187=>array(33,-71,938,817),33188=>array(18,-70,968,787),33189=>array(37,-62,950,844),33190=>array(39,-70,954,832),33191=>array(26,-60,950,833),33192=>array(17,-70,975,837),33193=>array(36,-78,969,836),33194=>array(26,-68,891,832),33195=>array(49,-75,982,845),33196=>array(55,-75,986,830),33197=>array(30,-70,969,839),33198=>array(40,-68,975,829),33199=>array(24,-70,981,837),33200=>array(30,-60,966,852),33201=>array(45,-75,983,840),33202=>array(41,-68,969,838),33203=>array(35,-67,949,840),33204=>array(36,-57,963,848),33205=>array(40,-67,964,830),33206=>array(48,-70,930,793),33207=>array(49,-70,967,827),33208=>array(42,-70,956,839),33209=>array(46,-79,956,830),33210=>array(28,-68,922,839),33211=>array(42,-70,959,845),33212=>array(43,-72,976,805),33213=>array(38,-66,956,853),33214=>array(36,-71,983,859),33215=>array(35,-75,969,840),33216=>array(35,-57,960,788),33217=>array(30,-82,961,837),33218=>array(33,-58,927,836),33219=>array(37,-75,952,849),33220=>array(39,-68,959,822),33221=>array(50,-69,916,787),33222=>array(21,-70,963,840),33223=>array(48,-67,931,835),33224=>array(36,-70,940,833),33225=>array(53,-68,991,854),33226=>array(39,-87,974,784),33227=>array(35,-71,959,827),33228=>array(40,-72,973,836),33229=>array(45,-73,966,843),33230=>array(36,-58,962,805),33231=>array(35,-74,955,847),33232=>array(45,-73,964,840),33233=>array(46,-78,948,777),33234=>array(44,-73,969,835),33235=>array(32,-61,966,838),33236=>array(32,-60,973,796),33237=>array(30,-60,965,853),33238=>array(41,-54,954,830),33239=>array(55,-70,979,837),33240=>array(40,-65,956,848),33241=>array(43,-75,969,829),33242=>array(43,-74,971,827),33243=>array(48,-67,946,790),33244=>array(41,-71,972,827),33245=>array(41,-50,964,867),33246=>array(39,-56,955,805),33247=>array(28,-61,970,838),33248=>array(54,-67,942,846),33249=>array(54,-53,949,849),33250=>array(43,-78,956,829),33251=>array(151,-58,927,780),33252=>array(100,-31,976,782),33253=>array(120,-65,959,820),33254=>array(58,-70,954,772),33255=>array(31,-63,956,836),33256=>array(120,-65,932,841),33257=>array(48,-76,965,781),33258=>array(201,-67,821,853),33259=>array(87,-47,948,840),33260=>array(46,-67,967,850),33261=>array(56,-63,970,844),33262=>array(42,-66,937,837),33263=>array(52,-64,946,849),33264=>array(61,-72,925,852),33265=>array(109,-101,922,839),33266=>array(37,-71,967,844),33267=>array(80,-16,915,770),33268=>array(59,-71,971,831),33269=>array(49,-57,965,848),33270=>array(55,-68,962,840),33271=>array(58,-72,960,821),33272=>array(54,-42,952,756),33273=>array(46,-78,954,824),33274=>array(80,-32,933,829),33275=>array(56,-68,959,829),33276=>array(156,-46,863,793),33277=>array(138,-68,825,829),33278=>array(42,-71,966,824),33279=>array(57,-68,954,833),33280=>array(83,-67,917,834),33281=>array(50,-74,956,834),33282=>array(44,-65,969,838),33283=>array(85,-60,898,834),33284=>array(58,-68,927,834),33285=>array(65,-52,874,842),33286=>array(52,-59,924,829),33287=>array(40,-70,955,836),33288=>array(68,-56,951,826),33289=>array(55,-67,965,810),33290=>array(62,-67,947,832),33291=>array(73,-41,936,832),33292=>array(76,-55,909,831),33293=>array(46,-65,958,856),33294=>array(46,-65,958,856),33295=>array(61,-57,879,831),33296=>array(43,-62,948,828),33297=>array(58,-67,956,829),33298=>array(45,-64,945,848),33299=>array(40,-53,931,818),33300=>array(55,-63,971,789),33301=>array(57,-75,961,824),33302=>array(36,-56,947,851),33303=>array(39,-58,955,843),33304=>array(31,-65,933,851),33305=>array(45,-63,965,846),33306=>array(50,-65,949,855),33307=>array(44,-72,942,837),33308=>array(41,-70,943,842),33309=>array(63,-68,937,841),33310=>array(47,-76,949,852),33311=>array(71,-69,936,839),33312=>array(47,-79,902,826),33313=>array(43,-66,947,837),33314=>array(67,-68,921,845),33315=>array(42,-71,943,821),33316=>array(53,-68,975,845),33317=>array(54,-71,963,853),33318=>array(42,-60,981,860),33319=>array(53,-68,948,848),33320=>array(34,-67,978,855),33321=>array(46,-68,958,835),33322=>array(37,-56,960,849),33323=>array(59,-63,945,849),33324=>array(44,-70,963,833),33325=>array(35,-70,935,822),33326=>array(39,-69,931,834),33327=>array(44,-61,910,856),33328=>array(41,-68,932,838),33329=>array(36,-66,944,833),33330=>array(39,-70,986,860),33331=>array(74,-64,915,839),33332=>array(51,-70,962,846),33333=>array(39,-54,951,849),33334=>array(40,-68,896,851),33335=>array(34,-65,963,849),33336=>array(54,-54,956,849),33337=>array(41,-67,957,849),33338=>array(41,-61,906,856),33339=>array(29,-66,924,828),33340=>array(44,-73,965,835),33341=>array(52,-70,972,840),33342=>array(36,-75,924,825),33343=>array(53,-68,973,839),33344=>array(74,-60,964,849),33345=>array(44,-68,975,845),33346=>array(34,-73,965,841),33347=>array(39,-70,978,843),33348=>array(49,-68,951,846),33349=>array(38,-70,966,840),33350=>array(35,-68,976,845),33351=>array(34,-61,965,849),33352=>array(32,-68,972,845),33353=>array(36,-73,962,836),33354=>array(53,-68,930,845),33355=>array(52,-68,971,839),33356=>array(23,-51,974,846),33357=>array(29,-73,963,845),33358=>array(34,-67,954,839),33359=>array(37,-64,954,856),33360=>array(36,-75,977,840),33361=>array(37,-68,915,838),33362=>array(52,-56,912,850),33363=>array(54,-71,980,828),33364=>array(26,-71,986,849),33365=>array(37,-67,938,847),33366=>array(39,-75,957,843),33367=>array(36,-72,959,845),33368=>array(49,-64,964,854),33369=>array(64,-63,991,863),33370=>array(49,-79,950,829),33371=>array(43,-80,956,833),33372=>array(36,-73,950,831),33373=>array(54,-54,966,849),33374=>array(44,-74,971,834),33375=>array(29,-54,963,849),33376=>array(20,-68,980,845),33377=>array(41,-73,923,836),33378=>array(44,-68,965,844),33379=>array(44,-63,967,856),33380=>array(34,-65,978,852),33381=>array(29,-71,968,850),33382=>array(34,-54,955,849),33383=>array(23,-68,970,845),33384=>array(29,-61,972,844),33385=>array(37,-72,970,845),33386=>array(44,-61,982,849),33387=>array(49,-68,973,845),33388=>array(37,-72,959,840),33389=>array(35,-62,970,858),33390=>array(112,-56,974,796),33391=>array(85,-61,963,820),33392=>array(40,-60,942,791),33393=>array(46,-68,958,827),33394=>array(46,-17,958,838),33395=>array(54,-62,938,828),33396=>array(53,-72,969,842),33397=>array(50,-73,961,831),33398=>array(48,-66,960,832),33399=>array(54,-66,960,832),33400=>array(47,-69,912,827),33401=>array(62,310,913,613),33402=>array(69,-29,919,820),33403=>array(64,-66,943,826),33404=>array(66,-64,939,826),33405=>array(42,-68,974,832),33406=>array(62,-60,946,825),33407=>array(60,-64,935,830),33408=>array(64,-66,943,826),33409=>array(56,-67,945,826),33410=>array(61,-57,911,831),33411=>array(47,-52,961,843),33412=>array(41,-69,969,832),33413=>array(61,-63,950,833),33414=>array(63,-67,946,836),33415=>array(81,-69,931,836),33416=>array(63,-69,940,831),33417=>array(65,-85,938,831),33418=>array(59,-71,951,822),33419=>array(65,-62,938,831),33420=>array(64,-61,932,831),33421=>array(67,-62,929,831),33422=>array(68,-61,936,833),33423=>array(53,-23,949,822),33424=>array(78,-71,948,823),33425=>array(60,-28,951,826),33426=>array(66,-20,936,823),33427=>array(71,-66,947,826),33428=>array(50,-68,915,838),33429=>array(62,-66,912,823),33430=>array(60,-66,936,823),33431=>array(62,-70,912,823),33432=>array(70,-80,959,818),33433=>array(65,-65,955,834),33434=>array(64,-46,950,832),33435=>array(66,-73,957,820),33436=>array(52,-58,929,832),33437=>array(55,-74,967,824),33438=>array(54,-72,962,826),33439=>array(36,-62,976,833),33440=>array(46,-71,971,831),33441=>array(62,-70,939,830),33442=>array(44,-67,956,823),33443=>array(38,-70,935,819),33444=>array(47,-64,967,829),33445=>array(57,-68,961,836),33446=>array(45,-75,937,827),33447=>array(71,-51,943,837),33448=>array(49,-65,970,833),33449=>array(38,-80,971,840),33450=>array(80,-64,956,836),33451=>array(34,-58,971,832),33452=>array(39,-60,957,837),33453=>array(78,-35,936,822),33454=>array(73,-63,927,825),33455=>array(33,-19,951,837),33456=>array(47,-62,974,833),33457=>array(49,-69,934,826),33458=>array(29,-44,951,823),33459=>array(52,-63,933,838),33460=>array(58,-77,941,822),33461=>array(49,-69,972,826),33462=>array(53,-69,944,833),33463=>array(82,-20,935,829),33464=>array(68,-71,940,824),33465=>array(58,-67,933,829),33466=>array(55,-84,979,820),33467=>array(59,-67,912,838),33468=>array(72,-38,951,839),33469=>array(57,-57,943,838),33470=>array(60,-61,954,832),33471=>array(48,-52,913,827),33472=>array(52,-73,964,823),33473=>array(44,-68,941,827),33474=>array(56,-75,968,827),33475=>array(47,-76,980,818),33476=>array(63,-75,937,822),33477=>array(44,-71,916,818),33478=>array(44,-55,913,828),33479=>array(63,-65,913,828),33480=>array(53,-68,912,824),33481=>array(67,-51,918,823),33482=>array(49,-84,928,816),33483=>array(59,-64,931,820),33484=>array(63,-67,942,826),33485=>array(29,-44,951,823),33486=>array(65,9,916,824),33487=>array(61,-68,936,822),33488=>array(62,-62,924,837),33489=>array(60,-66,948,828),33490=>array(57,-68,949,833),33491=>array(42,-67,965,832),33492=>array(71,-65,941,832),33493=>array(62,-66,938,827),33494=>array(72,-71,944,822),33495=>array(69,-68,940,830),33496=>array(63,-78,933,820),33497=>array(51,-14,947,840),33498=>array(70,-73,944,833),33499=>array(66,-63,949,833),33500=>array(68,-65,938,834),33501=>array(68,-54,964,834),33502=>array(44,-45,946,820),33503=>array(48,-62,934,837),33504=>array(69,-70,962,824),33505=>array(74,-67,978,833),33506=>array(79,-70,931,834),33507=>array(79,-80,931,834),33508=>array(57,-11,951,833),33509=>array(72,-65,931,827),33510=>array(80,-67,912,832),33511=>array(67,-61,936,830),33512=>array(55,-67,960,829),33513=>array(79,-65,933,827),33514=>array(66,-62,956,830),33515=>array(79,-66,933,827),33516=>array(68,-70,941,823),33517=>array(77,-67,950,832),33518=>array(45,-67,934,830),33519=>array(58,-71,959,829),33520=>array(69,-68,953,826),33521=>array(50,-71,935,823),33522=>array(48,-64,948,829),33523=>array(48,-61,959,836),33524=>array(60,-14,957,830),33525=>array(47,-71,968,825),33526=>array(40,-70,975,823),33527=>array(51,-71,945,822),33528=>array(68,-66,938,827),33529=>array(55,-64,949,827),33530=>array(53,-52,948,833),33531=>array(43,-65,950,830),33532=>array(59,-36,938,827),33533=>array(49,-62,956,827),33534=>array(56,-50,956,839),33535=>array(50,-61,958,836),33536=>array(48,-66,949,832),33537=>array(80,-64,939,838),33538=>array(61,-70,943,828),33539=>array(46,-69,948,811),33540=>array(57,-68,943,836),33541=>array(51,-64,934,838),33542=>array(40,-59,944,836),33543=>array(48,-65,959,830),33544=>array(59,-41,964,830),33545=>array(50,-61,958,836),33546=>array(66,-29,932,836),33547=>array(80,-64,955,836),33548=>array(39,-66,954,831),33549=>array(55,-67,947,828),33550=>array(46,-32,963,831),33551=>array(33,-66,923,827),33552=>array(27,-57,916,826),33553=>array(58,-60,916,826),33554=>array(66,-70,944,825),33555=>array(68,-59,926,826),33556=>array(75,-7,926,826),33557=>array(62,-66,957,826),33558=>array(55,-73,966,821),33559=>array(61,-66,939,829),33560=>array(42,-66,943,835),33561=>array(66,-68,956,829),33562=>array(61,-72,925,822),33563=>array(63,-60,956,833),33564=>array(60,-64,946,832),33565=>array(69,-39,944,811),33566=>array(68,-40,943,811),33567=>array(77,-64,934,842),33568=>array(41,-68,966,826),33569=>array(53,-64,948,831),33570=>array(61,-53,942,841),33571=>array(46,-66,950,828),33572=>array(87,-76,960,826),33573=>array(59,-26,956,820),33574=>array(53,-68,970,824),33575=>array(54,-67,960,817),33576=>array(54,-65,947,834),33577=>array(47,-70,953,825),33578=>array(49,-76,962,822),33579=>array(61,-46,941,830),33580=>array(59,-58,949,838),33581=>array(56,-66,964,833),33582=>array(62,-70,938,826),33583=>array(53,-66,972,835),33584=>array(72,-66,959,835),33585=>array(38,-64,979,834),33586=>array(85,-60,935,838),33587=>array(56,-62,948,830),33588=>array(66,-65,939,834),33589=>array(72,-61,940,838),33590=>array(41,-67,968,831),33591=>array(44,-72,958,819),33592=>array(61,-63,954,840),33593=>array(53,-68,945,834),33594=>array(21,-31,946,859),33595=>array(57,-68,906,827),33596=>array(66,-64,939,833),33597=>array(42,-74,933,834),33598=>array(65,-69,957,827),33599=>array(46,-67,973,829),33600=>array(45,-58,938,833),33601=>array(65,-25,957,817),33602=>array(42,-68,978,823),33603=>array(51,-26,955,832),33604=>array(55,-53,950,839),33605=>array(59,-62,974,831),33606=>array(33,-62,888,834),33607=>array(60,-54,962,843),33608=>array(54,-71,951,825),33609=>array(59,-68,950,833),33610=>array(69,-74,933,827),33611=>array(68,-69,945,820),33612=>array(62,-73,949,823),33613=>array(69,-70,958,829),33614=>array(74,-30,964,811),33615=>array(29,-69,942,834),33616=>array(31,-53,950,844),33617=>array(55,-63,980,831),33618=>array(41,-56,955,837),33619=>array(65,-69,957,828),33620=>array(42,-66,943,833),33621=>array(48,-65,943,835),33622=>array(53,-30,959,837),33623=>array(61,-70,943,828),33624=>array(43,-65,941,827),33625=>array(57,-50,947,831),33626=>array(26,-60,941,831),33627=>array(59,-65,931,826),33628=>array(63,-68,923,823),33629=>array(30,-66,916,825),33630=>array(35,-71,950,825),33631=>array(35,-56,938,824),33632=>array(25,-70,949,827),33633=>array(34,-64,905,827),33634=>array(65,-62,939,830),33635=>array(42,-71,941,817),33636=>array(53,-57,910,833),33637=>array(37,-60,944,831),33638=>array(56,-63,928,831),33639=>array(67,-74,922,822),33640=>array(64,-66,915,825),33641=>array(37,-71,952,826),33642=>array(44,-66,936,824),33643=>array(78,-69,926,826),33644=>array(35,-66,915,827),33645=>array(36,-16,925,821),33646=>array(45,-68,921,824),33647=>array(56,-68,917,822),33648=>array(48,-69,945,826),33649=>array(73,-63,928,821),33650=>array(56,-32,951,821),33651=>array(59,-34,954,805),33652=>array(45,-76,974,829),33653=>array(63,-32,971,823),33654=>array(71,-79,958,825),33655=>array(42,-74,945,834),33656=>array(53,-64,948,832),33657=>array(57,-58,935,831),33658=>array(49,-62,937,823),33659=>array(35,-65,964,831),33660=>array(49,-65,956,831),33661=>array(48,-72,954,832),33662=>array(51,-70,954,821),33663=>array(41,-62,959,827),33664=>array(45,-67,968,821),33665=>array(69,-16,943,826),33666=>array(62,-70,916,821),33667=>array(48,-70,947,827),33668=>array(51,-66,938,821),33669=>array(26,-74,947,822),33670=>array(62,-65,955,835),33671=>array(57,-75,938,824),33672=>array(54,-76,956,821),33673=>array(46,-59,933,839),33674=>array(46,-69,943,822),33675=>array(50,-70,947,824),33676=>array(42,-63,956,822),33677=>array(55,-69,944,820),33678=>array(42,-67,947,832),33679=>array(47,-70,959,824),33680=>array(56,-66,960,818),33681=>array(39,-64,980,832),33682=>array(66,-70,938,833),33683=>array(60,-62,947,833),33684=>array(66,-65,939,820),33685=>array(54,-69,972,829),33686=>array(76,-18,949,836),33687=>array(69,-63,951,836),33688=>array(53,-67,947,832),33689=>array(45,-63,953,832),33690=>array(40,-73,949,825),33691=>array(36,-69,959,826),33692=>array(20,-82,968,828),33693=>array(60,-17,955,838),33694=>array(47,-58,961,830),33695=>array(37,-79,966,831),33696=>array(42,-67,956,831),33697=>array(55,-73,970,831),33698=>array(57,-65,964,834),33699=>array(47,-24,957,832),33700=>array(66,-67,940,827),33701=>array(46,-65,943,824),33702=>array(76,-64,949,824),33703=>array(46,-62,950,832),33704=>array(61,-61,950,835),33705=>array(53,-64,948,835),33706=>array(69,-65,948,831),33707=>array(65,-72,962,823),33708=>array(43,-64,953,834),33709=>array(61,-65,912,829),33710=>array(50,-73,939,827),33711=>array(47,-67,969,824),33712=>array(54,-74,969,823),33713=>array(32,-61,948,829),33714=>array(36,-59,947,809),33715=>array(62,-64,920,826),33716=>array(62,-63,912,827),33717=>array(43,-59,956,832),33718=>array(35,-19,962,823),33719=>array(32,-63,940,830),33720=>array(35,-66,925,827),33721=>array(65,-19,924,825),33722=>array(62,-62,912,824),33723=>array(42,-64,919,818),33724=>array(50,-27,928,824),33725=>array(40,-65,971,837),33726=>array(36,-71,980,829),33727=>array(63,-65,947,827),33728=>array(51,-68,966,830),33729=>array(71,-65,939,833),33730=>array(85,-63,937,823),33731=>array(47,-73,945,823),33732=>array(41,-70,976,824),33733=>array(63,-68,937,835),33734=>array(58,-74,968,828),33735=>array(52,-61,954,839),33736=>array(72,-67,951,824),33737=>array(65,-52,935,840),33738=>array(41,-63,932,836),33739=>array(77,-69,963,826),33740=>array(70,-61,938,838),33741=>array(38,-44,957,833),33742=>array(80,-34,955,823),33743=>array(60,-62,954,832),33744=>array(88,-64,924,835),33745=>array(72,-62,940,832),33746=>array(49,-70,961,844),33747=>array(45,-68,962,822),33748=>array(46,-70,969,832),33749=>array(40,-61,974,829),33750=>array(71,-59,943,844),33751=>array(64,-70,936,826),33752=>array(25,-66,967,832),33753=>array(69,-29,947,827),33754=>array(67,-60,964,821),33755=>array(86,-73,938,820),33756=>array(48,-65,971,837),33757=>array(63,-74,973,824),33758=>array(59,-69,949,826),33759=>array(50,-57,960,834),33760=>array(61,-62,960,836),33761=>array(68,-65,961,832),33762=>array(60,-72,960,820),33763=>array(79,-74,961,820),33764=>array(42,-39,979,818),33765=>array(44,-64,957,832),33766=>array(60,-70,944,831),33767=>array(50,-69,955,832),33768=>array(69,-75,942,827),33769=>array(72,-59,934,837),33770=>array(62,-65,939,830),33771=>array(64,-38,960,812),33772=>array(68,-73,937,823),33773=>array(39,-67,961,833),33774=>array(45,-70,969,829),33775=>array(56,-78,941,838),33776=>array(43,-65,961,833),33777=>array(46,-65,954,831),33778=>array(61,-65,934,841),33779=>array(54,-39,980,815),33780=>array(35,-42,968,816),33781=>array(95,-65,945,824),33782=>array(40,-70,967,835),33783=>array(73,-68,923,826),33784=>array(44,-66,973,832),33785=>array(56,-39,954,832),33786=>array(62,-68,947,829),33787=>array(48,-69,966,822),33788=>array(48,-62,970,835),33789=>array(39,-73,966,832),33790=>array(47,-72,968,831),33791=>array(69,-70,944,825),33792=>array(43,-73,953,826),33793=>array(62,-69,958,836),33794=>array(46,-59,933,839),33795=>array(76,-59,949,836),33796=>array(43,-63,939,826),33797=>array(60,-67,957,838),33798=>array(59,-52,949,841),33799=>array(61,-67,971,827),33800=>array(46,-62,950,832),33801=>array(42,-67,960,826),33802=>array(35,-62,973,833),33803=>array(54,-70,947,833),33804=>array(61,-68,935,839),33805=>array(54,-63,949,838),33806=>array(53,-73,934,834),33807=>array(77,-62,947,833),33808=>array(42,-69,976,826),33809=>array(36,-67,952,833),33810=>array(53,-60,963,820),33811=>array(67,-38,961,811),33812=>array(47,-44,935,838),33813=>array(44,-76,956,828),33814=>array(77,-62,937,815),33815=>array(67,-63,927,819),33816=>array(50,-68,965,830),33817=>array(25,-66,964,832),33818=>array(38,-69,952,826),33819=>array(58,-70,947,825),33820=>array(52,-77,933,822),33821=>array(65,-58,917,829),33822=>array(79,-58,958,826),33823=>array(36,-68,952,824),33824=>array(59,-74,939,820),33825=>array(50,-65,939,826),33826=>array(51,-30,978,835),33827=>array(49,-73,973,823),33828=>array(63,-70,916,818),33829=>array(66,-71,916,819),33830=>array(54,-60,908,830),33831=>array(54,-62,930,831),33832=>array(74,-67,931,828),33833=>array(40,-64,985,833),33834=>array(41,-69,955,839),33835=>array(42,-70,956,825),33836=>array(77,-68,946,834),33837=>array(73,-61,936,831),33838=>array(46,-71,968,827),33839=>array(50,-81,943,829),33840=>array(46,-71,968,825),33841=>array(52,-24,948,832),33842=>array(59,-70,947,828),33843=>array(71,-66,943,824),33844=>array(46,-76,942,827),33845=>array(70,-67,942,833),33846=>array(43,-73,974,821),33847=>array(67,-68,941,823),33848=>array(31,-64,979,830),33849=>array(47,-66,941,831),33850=>array(70,-69,945,831),33851=>array(69,-69,944,825),33852=>array(77,-62,932,839),33853=>array(56,-68,970,835),33854=>array(59,-57,951,829),33855=>array(53,-72,956,823),33856=>array(55,-68,955,825),33857=>array(67,-57,950,821),33858=>array(34,-63,954,828),33859=>array(71,-68,944,829),33860=>array(53,-67,945,826),33861=>array(46,-32,954,824),33862=>array(35,-68,965,832),33863=>array(46,-61,973,832),33864=>array(48,-55,962,832),33865=>array(49,-70,965,839),33866=>array(45,-64,972,849),33867=>array(42,-67,948,830),33868=>array(46,-71,939,822),33869=>array(71,-70,947,823),33870=>array(32,-70,949,829),33871=>array(52,-67,959,829),33872=>array(55,-29,973,828),33873=>array(53,-58,958,832),33874=>array(61,-49,956,832),33875=>array(67,-69,957,826),33876=>array(51,-71,969,827),33877=>array(41,-69,953,845),33878=>array(47,-61,984,832),33879=>array(43,-64,941,826),33880=>array(63,-62,923,833),33881=>array(45,-69,943,826),33882=>array(51,-32,945,833),33883=>array(62,-61,942,837),33884=>array(34,-67,974,825),33885=>array(61,-67,943,823),33886=>array(68,-73,952,823),33887=>array(83,-27,955,826),33888=>array(32,-53,951,841),33889=>array(41,-64,948,830),33890=>array(34,-20,966,831),33891=>array(76,-27,947,839),33892=>array(61,-58,958,832),33893=>array(77,-68,951,829),33894=>array(63,-59,945,839),33895=>array(82,-65,953,825),33896=>array(69,-67,973,826),33897=>array(62,-51,953,828),33898=>array(61,-75,955,843),33899=>array(69,-61,940,840),33900=>array(45,-62,939,838),33901=>array(60,-67,967,833),33902=>array(43,-72,966,826),33903=>array(57,-66,942,823),33904=>array(41,-71,979,824),33905=>array(49,-37,962,834),33906=>array(42,-70,933,833),33907=>array(39,-64,966,833),33908=>array(55,-66,955,828),33909=>array(66,-60,951,835),33910=>array(74,-54,942,829),33911=>array(74,-64,946,842),33912=>array(46,-29,968,829),33913=>array(42,-56,963,842),33914=>array(51,-64,942,830),33915=>array(24,-66,962,830),33916=>array(69,-65,969,838),33917=>array(69,-70,944,827),33918=>array(59,-36,967,827),33919=>array(69,-70,944,838),33920=>array(59,-21,955,831),33921=>array(36,-39,959,831),33922=>array(72,-67,925,842),33923=>array(72,-60,961,838),33924=>array(51,-67,957,838),33925=>array(51,-68,956,838),33926=>array(68,-81,941,826),33927=>array(20,-69,952,833),33928=>array(60,-67,914,824),33929=>array(60,-69,914,828),33930=>array(60,-58,950,828),33931=>array(41,-59,943,833),33932=>array(25,-60,939,833),33933=>array(39,-69,948,826),33934=>array(49,-71,969,832),33935=>array(61,-71,939,827),33936=>array(47,-52,963,839),33937=>array(54,-81,968,822),33938=>array(69,-64,959,832),33939=>array(51,-62,956,832),33940=>array(70,-61,946,833),33941=>array(52,-37,948,840),33942=>array(70,-89,942,830),33943=>array(48,-64,974,830),33944=>array(62,-69,955,825),33945=>array(53,-75,959,839),33946=>array(83,-66,938,826),33947=>array(42,-74,953,826),33948=>array(37,-59,946,835),33949=>array(42,-68,939,826),33950=>array(53,-65,953,831),33951=>array(53,-66,956,830),33952=>array(52,-29,953,825),33953=>array(66,-64,945,834),33954=>array(76,-68,974,825),33955=>array(46,-69,950,826),33956=>array(56,-72,950,826),33957=>array(77,-76,928,835),33958=>array(38,-69,974,835),33959=>array(51,-73,966,824),33960=>array(23,-53,956,841),33961=>array(52,-68,962,825),33962=>array(60,-70,942,835),33963=>array(37,-47,956,854),33964=>array(43,-60,956,829),33965=>array(65,-71,931,845),33966=>array(29,-70,937,822),33967=>array(56,-70,923,835),33968=>array(50,-79,964,827),33969=>array(48,-55,947,840),33970=>array(46,-61,946,839),33971=>array(65,-75,927,839),33972=>array(41,-69,942,833),33973=>array(54,-59,960,833),33974=>array(45,-72,946,823),33975=>array(66,-64,944,833),33976=>array(47,-73,953,824),33977=>array(31,-64,972,835),33978=>array(50,-69,961,833),33979=>array(40,-60,960,833),33980=>array(43,-62,972,836),33981=>array(36,-39,950,823),33982=>array(49,-52,946,839),33983=>array(68,-68,941,833),33984=>array(44,-64,955,835),33985=>array(36,-69,964,829),33986=>array(53,-65,947,830),33987=>array(51,-67,957,833),33988=>array(51,-66,940,838),33989=>array(48,-72,960,823),33990=>array(43,-71,954,824),33991=>array(54,-64,949,831),33992=>array(70,-65,924,833),33993=>array(46,-66,954,839),33994=>array(35,-62,957,832),33995=>array(59,-21,955,834),33996=>array(48,-74,973,825),33997=>array(53,-67,943,831),33998=>array(46,-75,938,826),33999=>array(59,-74,968,826),34000=>array(52,-67,939,830),34001=>array(44,-71,956,835),34002=>array(63,-72,956,825),34003=>array(48,-62,957,840),34004=>array(62,-71,955,826),34005=>array(48,-57,959,830),34006=>array(67,-58,941,837),34007=>array(51,-68,978,829),34008=>array(46,-78,959,824),34009=>array(57,-66,937,833),34010=>array(33,-76,982,830),34011=>array(38,-73,973,827),34012=>array(60,-67,950,830),34013=>array(54,-23,924,821),34014=>array(62,-67,914,821),34015=>array(26,-62,908,832),34016=>array(62,-63,914,827),34017=>array(44,-67,966,832),34018=>array(62,-75,938,830),34019=>array(61,-63,924,829),34020=>array(38,-76,974,825),34021=>array(29,-6,954,827),34022=>array(38,-56,947,826),34023=>array(36,-52,961,839),34024=>array(42,-67,963,828),34025=>array(35,-71,950,825),34026=>array(50,-73,972,824),34027=>array(43,-72,970,822),34028=>array(35,-62,952,833),34029=>array(38,-59,965,827),34030=>array(37,-56,951,839),34031=>array(33,-69,962,832),34032=>array(51,-68,978,829),34033=>array(56,-73,957,820),34034=>array(65,-32,953,823),34035=>array(66,-32,943,824),34036=>array(64,-63,957,825),34037=>array(40,-75,963,827),34038=>array(69,-70,956,823),34039=>array(67,-68,961,823),34040=>array(61,-74,939,851),34041=>array(45,-67,947,829),34042=>array(40,-55,961,833),34043=>array(54,-47,967,844),34044=>array(26,-76,972,829),34045=>array(56,-65,948,832),34046=>array(73,-70,944,823),34047=>array(33,-67,948,834),34048=>array(61,-65,944,827),34049=>array(67,-68,946,831),34050=>array(68,-69,944,827),34051=>array(74,-58,947,839),34052=>array(71,-65,944,822),34053=>array(63,-57,936,838),34054=>array(49,-76,974,825),34055=>array(69,-70,951,826),34056=>array(62,-65,941,824),34057=>array(44,-68,965,827),34058=>array(51,-66,960,832),34059=>array(47,-70,964,828),34060=>array(45,-67,985,832),34061=>array(49,-69,958,823),34062=>array(66,-73,972,825),34063=>array(66,-70,938,822),34064=>array(39,-73,928,838),34065=>array(48,-70,956,835),34066=>array(47,-73,964,824),34067=>array(59,-61,966,835),34068=>array(57,-68,943,825),34069=>array(74,-71,943,817),34070=>array(28,-68,952,824),34071=>array(52,-67,951,838),34072=>array(31,-70,981,825),34073=>array(39,-72,975,823),34074=>array(51,-68,948,836),34075=>array(40,-66,959,828),34076=>array(41,-73,963,827),34077=>array(75,-68,975,825),34078=>array(56,-73,959,832),34079=>array(36,-75,966,820),34080=>array(53,-70,963,826),34081=>array(63,-64,963,839),34082=>array(64,-68,944,838),34083=>array(49,-59,948,835),34084=>array(57,-70,944,826),34085=>array(56,-30,955,835),34086=>array(53,-67,940,835),34087=>array(55,-23,950,820),34088=>array(79,-71,951,823),34089=>array(66,-73,941,824),34090=>array(58,-69,952,829),34091=>array(42,-64,951,832),34092=>array(54,-71,966,835),34093=>array(76,-78,967,834),34094=>array(78,-69,948,822),34095=>array(57,-53,964,841),34096=>array(36,-69,960,824),34097=>array(73,-83,967,824),34098=>array(32,-67,960,824),34099=>array(45,-59,944,841),34100=>array(44,-73,937,840),34101=>array(31,-67,962,832),34102=>array(65,-65,964,829),34103=>array(73,-73,925,817),34104=>array(24,-81,949,822),34105=>array(41,-73,949,822),34106=>array(63,-66,911,827),34107=>array(42,-72,956,832),34108=>array(65,-60,928,834),34109=>array(69,-70,961,834),34110=>array(39,-59,973,835),34111=>array(33,-59,937,832),34112=>array(32,-72,979,829),34113=>array(56,-62,948,833),34114=>array(41,-76,957,833),34115=>array(36,-69,957,831),34116=>array(71,-65,944,823),34117=>array(42,-69,944,826),34118=>array(31,-67,962,833),34119=>array(69,-68,946,823),34120=>array(54,-69,948,830),34121=>array(42,-61,938,837),34122=>array(38,-54,962,817),34123=>array(24,-64,944,830),34124=>array(76,-77,944,818),34125=>array(41,-72,975,823),34126=>array(50,-65,963,832),34127=>array(76,-73,955,826),34128=>array(60,-78,943,829),34129=>array(63,-57,936,839),34130=>array(48,-69,945,838),34131=>array(53,-77,947,835),34132=>array(58,-68,956,829),34133=>array(55,-60,955,836),34134=>array(42,-68,983,829),34135=>array(39,-71,980,835),34136=>array(33,-59,962,835),34137=>array(38,-33,964,833),34138=>array(58,-70,945,842),34139=>array(37,-67,938,827),34140=>array(62,-65,958,833),34141=>array(56,-48,962,842),34142=>array(51,-62,985,830),34143=>array(58,-53,973,831),34144=>array(45,-68,959,831),34145=>array(61,-76,939,840),34146=>array(65,-70,955,832),34147=>array(68,-74,941,831),34148=>array(64,-56,949,832),34149=>array(32,-69,952,826),34150=>array(43,-76,972,823),34151=>array(43,-75,977,833),34152=>array(38,-67,968,832),34153=>array(67,-67,956,836),34154=>array(59,-67,956,833),34155=>array(64,-46,936,842),34156=>array(52,-69,971,823),34157=>array(51,-74,947,840),34158=>array(47,-62,938,826),34159=>array(54,-56,941,829),34160=>array(67,-76,957,834),34161=>array(35,-65,938,826),34162=>array(62,-69,913,821),34163=>array(68,-73,938,832),34164=>array(41,-29,923,825),34165=>array(44,-85,981,831),34166=>array(42,-81,983,827),34167=>array(67,-68,975,829),34168=>array(48,-74,968,821),34169=>array(44,-62,951,835),34170=>array(62,-65,968,831),34171=>array(67,-68,972,831),34172=>array(60,-70,952,826),34173=>array(48,-58,952,848),34174=>array(73,-61,941,836),34175=>array(42,-85,957,833),34176=>array(54,-48,956,846),34177=>array(45,-74,958,830),34178=>array(41,-78,960,823),34179=>array(65,-72,926,822),34180=>array(53,-68,949,832),34181=>array(41,-65,957,823),34182=>array(48,-69,973,828),34183=>array(36,-77,958,834),34184=>array(27,-65,977,833),34185=>array(41,-71,960,824),34186=>array(46,-64,941,832),34187=>array(78,-81,933,826),34188=>array(47,-65,944,833),34189=>array(79,-66,964,828),34190=>array(62,-71,964,824),34191=>array(33,-50,967,834),34192=>array(27,-54,976,838),34193=>array(58,-41,948,806),34194=>array(42,-63,983,834),34195=>array(37,-60,953,826),34196=>array(60,-61,956,834),34197=>array(40,-67,971,824),34198=>array(48,-74,970,823),34199=>array(64,-63,936,830),34200=>array(47,-66,975,831),34201=>array(44,-68,949,836),34202=>array(51,-68,953,826),34203=>array(69,-61,941,838),34204=>array(42,-65,944,827),34205=>array(54,-70,939,823),34206=>array(40,-70,966,829),34207=>array(34,-50,966,841),34208=>array(51,-76,959,827),34209=>array(49,-74,934,820),34210=>array(40,-75,964,829),34211=>array(64,-75,966,823),34212=>array(50,-67,945,831),34213=>array(62,-58,935,831),34214=>array(37,-67,945,834),34215=>array(61,-65,953,827),34216=>array(50,-63,955,829),34217=>array(72,-65,939,832),34218=>array(51,-70,955,849),34219=>array(47,-70,957,830),34220=>array(49,-70,961,841),34221=>array(51,-78,969,828),34222=>array(52,-68,961,820),34223=>array(46,-61,945,835),34224=>array(47,-70,957,830),34225=>array(56,-69,957,828),34226=>array(44,-75,974,836),34227=>array(53,-67,967,828),34228=>array(63,-61,959,832),34229=>array(64,-70,941,826),34230=>array(51,-64,962,826),34231=>array(62,-67,952,833),34232=>array(58,-62,961,831),34233=>array(53,-57,941,831),34234=>array(49,-69,956,833),34235=>array(48,-89,961,832),34236=>array(58,-65,951,840),34237=>array(51,-74,956,823),34238=>array(43,-66,974,823),34239=>array(52,-68,971,827),34240=>array(56,-69,977,827),34241=>array(32,-67,968,842),34242=>array(38,-68,958,825),34243=>array(60,-74,955,828),34244=>array(36,-68,968,828),34245=>array(74,-62,946,833),34246=>array(43,-65,969,829),34247=>array(63,-54,941,839),34248=>array(59,-65,954,832),34249=>array(29,-67,952,832),34250=>array(32,-57,944,831),34251=>array(53,-64,956,829),34252=>array(74,-56,945,832),34253=>array(56,-34,949,839),34254=>array(55,-38,951,842),34255=>array(34,-71,942,824),34256=>array(57,-70,960,834),34257=>array(60,-68,961,833),34258=>array(51,-70,947,828),34259=>array(39,-64,922,826),34260=>array(41,-64,970,834),34261=>array(40,-67,937,833),34262=>array(67,-58,944,833),34263=>array(52,-71,986,824),34264=>array(55,-69,958,818),34265=>array(65,-72,971,826),34266=>array(83,-80,938,828),34267=>array(67,-56,937,821),34268=>array(47,-65,953,831),34269=>array(62,-72,954,836),34270=>array(41,-63,951,830),34271=>array(73,-68,936,825),34272=>array(47,-77,973,824),34273=>array(45,-73,982,827),34274=>array(53,-68,975,827),34275=>array(69,-65,939,827),34276=>array(39,-67,959,836),34277=>array(55,-62,930,826),34278=>array(45,-65,935,829),34279=>array(50,-58,964,824),34280=>array(44,-75,945,829),34281=>array(40,-62,960,836),34282=>array(45,-71,967,830),34283=>array(51,-73,950,836),34284=>array(74,-80,943,832),34285=>array(51,-64,948,835),34286=>array(38,-69,969,845),34287=>array(52,-46,974,822),34288=>array(62,-65,924,829),34289=>array(39,-64,959,826),34290=>array(42,-65,956,826),34291=>array(32,-67,968,828),34292=>array(53,-63,956,818),34293=>array(56,-65,942,845),34294=>array(33,-65,954,832),34295=>array(62,-69,955,826),34296=>array(55,-70,962,827),34297=>array(72,-61,929,839),34298=>array(57,-65,949,832),34299=>array(49,-65,971,839),34300=>array(44,-58,955,836),34301=>array(49,-62,966,833),34302=>array(44,-76,974,830),34303=>array(43,-68,929,837),34304=>array(54,-61,958,838),34305=>array(65,-32,945,823),34306=>array(43,-62,975,837),34307=>array(53,-62,946,838),34308=>array(48,-67,940,832),34309=>array(41,-67,953,832),34310=>array(59,-66,961,836),34311=>array(56,-67,948,827),34312=>array(61,-68,960,833),34313=>array(46,-64,957,855),34314=>array(53,-71,956,818),34315=>array(47,-68,960,837),34316=>array(51,-59,960,833),34317=>array(74,-58,947,832),34318=>array(76,-75,981,842),34319=>array(42,-67,958,832),34320=>array(62,-73,964,840),34321=>array(55,-66,960,838),34322=>array(43,-68,964,832),34323=>array(67,-76,966,830),34324=>array(42,-61,972,832),34325=>array(50,-81,955,832),34326=>array(50,-62,965,838),34327=>array(41,-62,965,837),34328=>array(56,-63,978,829),34329=>array(63,-70,947,831),34330=>array(43,-67,950,830),34331=>array(57,-62,945,830),34332=>array(69,-68,946,825),34333=>array(37,-57,968,832),34334=>array(45,-69,987,835),34335=>array(63,-56,956,823),34336=>array(59,-72,947,824),34337=>array(73,-72,950,827),34338=>array(56,-65,961,833),34339=>array(55,-75,960,830),34340=>array(59,-70,935,828),34341=>array(48,-62,969,828),34342=>array(70,-62,942,829),34343=>array(42,-72,982,831),34344=>array(53,-59,968,829),34345=>array(59,-64,964,833),34346=>array(48,-58,983,831),34347=>array(42,-50,963,830),34348=>array(55,-69,949,822),34349=>array(72,-70,928,839),34350=>array(49,-70,946,830),34351=>array(53,-25,951,830),34352=>array(44,-61,974,830),34353=>array(34,-72,965,829),34354=>array(65,-31,945,821),34355=>array(42,-71,954,828),34356=>array(63,-48,934,844),34357=>array(49,-66,958,827),34358=>array(44,-71,969,828),34359=>array(36,-62,971,832),34360=>array(64,-63,951,836),34361=>array(39,-69,965,829),34362=>array(60,-67,951,827),34363=>array(60,-70,963,825),34364=>array(41,-67,959,829),34365=>array(40,-58,969,838),34366=>array(39,-72,984,826),34367=>array(61,-80,954,835),34368=>array(43,-33,968,823),34369=>array(32,-64,968,849),34370=>array(60,-70,965,832),34371=>array(44,-66,967,828),34372=>array(59,-71,963,837),34373=>array(32,-53,978,837),34374=>array(68,-54,936,849),34375=>array(65,-70,951,834),34376=>array(68,-74,940,832),34377=>array(68,-56,949,831),34378=>array(48,-71,961,828),34379=>array(55,-67,947,842),34380=>array(62,-43,947,830),34381=>array(47,-66,924,829),34382=>array(35,-68,953,835),34383=>array(40,-59,893,834),34384=>array(39,-63,878,840),34385=>array(39,-60,937,832),34386=>array(40,-67,963,847),34387=>array(40,-53,954,843),34388=>array(49,-66,949,835),34389=>array(39,-68,959,836),34390=>array(29,-55,931,837),34391=>array(36,-62,919,837),34392=>array(29,-58,948,837),34393=>array(44,-67,961,827),34394=>array(30,-57,914,830),34395=>array(38,-66,936,829),34396=>array(45,-77,929,841),34397=>array(23,-82,956,830),34398=>array(35,-68,950,838),34399=>array(53,-71,951,829),34400=>array(40,-58,959,840),34401=>array(46,-84,950,823),34402=>array(43,-70,960,831),34403=>array(38,-67,972,828),34404=>array(31,-68,967,827),34405=>array(42,-75,989,831),34406=>array(39,-91,965,830),34407=>array(40,-76,954,834),34408=>array(44,-77,946,823),34409=>array(36,-75,953,829),34410=>array(40,-73,973,832),34411=>array(47,-59,954,850),34412=>array(46,-41,928,809),34413=>array(53,-72,899,811),34414=>array(43,-65,961,816),34415=>array(48,-45,957,849),34416=>array(49,-67,955,815),34417=>array(65,-59,970,792),34418=>array(43,-63,962,815),34419=>array(51,-70,916,829),34420=>array(44,-35,964,827),34421=>array(47,-23,957,841),34422=>array(47,-54,962,814),34423=>array(54,-68,954,819),34424=>array(47,-62,967,814),34425=>array(28,-5,930,813),34426=>array(21,-56,962,811),34427=>array(50,-21,942,814),34428=>array(54,-30,957,831),34429=>array(76,-59,888,792),34430=>array(46,-64,944,823),34431=>array(32,-69,914,772),34432=>array(48,-51,935,832),34433=>array(39,-78,942,814),34434=>array(47,-61,909,830),34435=>array(58,-63,942,839),34436=>array(47,-58,960,836),34437=>array(43,-74,950,810),34438=>array(48,-41,961,791),34439=>array(53,-76,973,808),34440=>array(47,-67,958,814),34441=>array(21,-71,976,838),34442=>array(38,-62,956,822),34443=>array(69,-65,914,808),34444=>array(45,-61,939,842),34445=>array(36,-51,951,817),34446=>array(53,-72,914,802),34447=>array(36,-69,869,805),34448=>array(69,-56,930,840),34449=>array(45,-54,967,844),34450=>array(45,-70,967,829),34451=>array(44,-61,899,833),34452=>array(57,-69,967,823),34453=>array(51,-69,963,793),34454=>array(53,-73,960,805),34455=>array(53,-71,971,823),34456=>array(41,-72,961,827),34457=>array(51,-66,963,838),34458=>array(51,-68,953,828),34459=>array(53,-66,891,815),34460=>array(47,-61,958,824),34461=>array(44,-33,953,833),34462=>array(55,-70,966,822),34463=>array(29,-27,948,809),34464=>array(48,-90,964,825),34465=>array(52,-73,978,808),34466=>array(49,-73,958,823),34467=>array(43,-59,961,807),34468=>array(29,-78,971,784),34469=>array(51,-70,963,833),34470=>array(45,-54,954,829),34471=>array(39,-65,957,854),34472=>array(53,-66,964,830),34473=>array(50,-66,952,833),34474=>array(43,-65,958,830),34475=>array(44,-45,967,834),34476=>array(37,-65,930,809),34477=>array(37,-65,945,809),34478=>array(37,-65,956,835),34479=>array(51,-7,955,825),34480=>array(71,-64,916,830),34481=>array(54,-65,948,844),34482=>array(40,-65,943,811),34483=>array(35,-51,958,849),34484=>array(65,-69,911,839),34485=>array(47,-50,954,828),34486=>array(50,-64,953,831),34487=>array(40,-23,954,814),34488=>array(49,-73,939,818),34489=>array(58,-69,955,839),34490=>array(47,-65,951,829),34491=>array(56,-74,960,824),34492=>array(67,-66,926,844),34493=>array(65,-29,962,809),34494=>array(66,-65,951,831),34495=>array(53,-51,953,823),34496=>array(51,-6,964,851),34497=>array(55,-70,903,812),34498=>array(54,-72,967,830),34499=>array(55,-67,940,810),34500=>array(51,-64,943,830),34501=>array(54,-67,938,829),34502=>array(46,-13,954,837),34503=>array(41,-38,959,828),34504=>array(55,-76,968,826),34505=>array(34,-65,966,854),34506=>array(57,-21,910,831),34507=>array(66,-73,957,788),34508=>array(64,-70,973,819),34509=>array(83,-70,896,824),34510=>array(34,-63,906,809),34511=>array(35,-16,936,814),34512=>array(54,-56,923,843),34513=>array(56,-62,963,851),34514=>array(54,-61,982,849),34515=>array(59,-54,960,840),34516=>array(51,-64,904,837),34517=>array(51,-67,961,837),34518=>array(54,-55,964,825),34519=>array(73,-70,948,859),34520=>array(46,-64,948,835),34521=>array(55,-18,954,844),34522=>array(56,-76,918,821),34523=>array(26,-72,957,829),34524=>array(52,-67,951,840),34525=>array(47,-66,965,811),34526=>array(44,-64,947,826),34527=>array(40,-65,963,821),34528=>array(52,-67,952,841),34529=>array(63,-53,930,814),34530=>array(56,-74,953,827),34531=>array(53,-62,952,827),34532=>array(38,-65,963,841),34533=>array(54,-70,935,839),34534=>array(51,-75,961,820),34535=>array(37,-66,931,820),34536=>array(51,-70,945,807),34537=>array(57,-64,946,779),34538=>array(69,-75,944,829),34539=>array(60,-72,980,841),34540=>array(39,-67,981,827),34541=>array(45,-21,947,824),34542=>array(50,-75,949,836),34543=>array(27,-32,959,833),34544=>array(46,-67,937,825),34545=>array(36,-68,931,821),34546=>array(33,-67,934,823),34547=>array(30,-66,918,821),34548=>array(36,-68,938,840),34549=>array(57,-30,953,815),34550=>array(48,-66,948,827),34551=>array(60,-70,969,822),34552=>array(57,-68,939,832),34553=>array(54,-54,900,826),34554=>array(40,-68,963,838),34555=>array(44,-76,961,820),34556=>array(40,-67,948,835),34557=>array(58,-67,961,825),34558=>array(61,-55,970,835),34559=>array(43,-67,961,834),34560=>array(68,-65,913,776),34561=>array(53,-71,967,830),34562=>array(37,-59,965,847),34563=>array(85,-76,941,788),34564=>array(52,-75,970,815),34565=>array(69,-64,954,835),34566=>array(56,-67,958,809),34567=>array(60,-65,959,835),34568=>array(39,-66,961,809),34569=>array(42,-62,950,835),34570=>array(61,-62,918,832),34571=>array(52,-71,965,855),34572=>array(61,-32,962,826),34573=>array(43,-62,963,850),34574=>array(58,-71,915,815),34575=>array(49,-74,969,818),34576=>array(29,-68,926,833),34577=>array(42,-72,967,829),34578=>array(40,-66,967,813),34579=>array(32,-68,963,811),34580=>array(63,-58,912,828),34581=>array(36,-73,954,830),34582=>array(47,-71,904,815),34583=>array(51,-66,902,815),34584=>array(59,-57,909,847),34585=>array(41,-69,970,829),34586=>array(46,-67,939,824),34587=>array(61,-75,954,813),34588=>array(74,-70,931,833),34589=>array(26,-70,971,843),34590=>array(47,-67,962,832),34591=>array(42,-75,933,845),34592=>array(74,-71,918,813),34593=>array(41,-52,951,842),34594=>array(40,-25,953,813),34595=>array(36,-61,954,845),34596=>array(56,-80,948,823),34597=>array(55,-65,952,829),34598=>array(61,-65,968,828),34599=>array(71,-77,983,823),34600=>array(32,-60,956,839),34601=>array(48,-70,890,815),34602=>array(57,-62,917,831),34603=>array(59,-49,955,809),34604=>array(59,-73,903,814),34605=>array(64,-68,908,825),34606=>array(47,-66,957,837),34607=>array(53,-65,978,838),34608=>array(45,-76,973,790),34609=>array(49,-64,957,855),34610=>array(58,-85,954,818),34611=>array(58,-71,955,834),34612=>array(65,-64,911,815),34613=>array(56,-72,902,813),34614=>array(50,-68,974,842),34615=>array(40,-33,967,831),34616=>array(79,-89,951,778),34617=>array(31,-67,946,826),34618=>array(52,-52,959,851),34619=>array(47,-65,953,839),34620=>array(64,-68,950,832),34621=>array(39,-65,947,814),34622=>array(46,-62,965,811),34623=>array(45,-66,966,830),34624=>array(40,-51,974,842),34625=>array(90,-89,944,774),34626=>array(34,-69,976,817),34627=>array(54,-77,957,814),34628=>array(50,-67,915,825),34629=>array(57,-89,971,787),34630=>array(40,-69,952,819),34631=>array(29,-30,932,806),34632=>array(37,-68,877,810),34633=>array(41,-61,945,848),34634=>array(41,-66,968,846),34635=>array(41,-64,983,813),34636=>array(48,-65,951,832),34637=>array(51,-69,915,817),34638=>array(60,-58,919,836),34639=>array(56,-68,949,832),34640=>array(46,-70,903,814),34641=>array(42,-74,964,811),34642=>array(47,-71,948,815),34643=>array(40,-63,968,829),34644=>array(50,-72,957,824),34645=>array(38,-65,961,835),34646=>array(56,-29,956,829),34647=>array(39,-37,936,834),34648=>array(33,-30,944,818),34649=>array(46,-69,932,807),34650=>array(47,-73,970,814),34651=>array(48,-69,965,828),34652=>array(59,-75,965,836),34653=>array(34,-54,959,853),34654=>array(55,-70,908,814),34655=>array(51,-65,912,815),34656=>array(48,-65,948,812),34657=>array(53,-71,968,815),34658=>array(53,-78,956,815),34659=>array(50,-67,956,837),34660=>array(61,-66,965,852),34661=>array(49,-45,964,848),34662=>array(51,-68,980,834),34663=>array(47,-74,972,823),34664=>array(31,-64,952,809),34665=>array(50,-32,955,824),34666=>array(49,-66,951,815),34667=>array(43,-69,939,825),34668=>array(55,-77,976,825),34669=>array(61,-74,986,812),34670=>array(33,-64,967,845),34671=>array(44,-76,955,825),34672=>array(29,-45,960,831),34673=>array(45,-64,975,837),34674=>array(56,-67,942,831),34675=>array(51,-74,952,829),34676=>array(40,-71,899,833),34677=>array(50,-82,961,831),34678=>array(31,-62,972,842),34679=>array(45,-73,947,833),34680=>array(50,-57,918,826),34681=>array(54,-30,968,813),34682=>array(37,-70,920,834),34683=>array(37,-62,947,837),34684=>array(37,-63,932,813),34685=>array(50,-70,951,821),34686=>array(31,-65,949,823),34687=>array(47,-42,971,806),34688=>array(78,-74,956,837),34689=>array(42,-72,973,815),34690=>array(60,-59,957,831),34691=>array(46,-64,940,849),34692=>array(43,-62,948,843),34693=>array(40,-33,959,853),34694=>array(63,-63,966,837),34695=>array(49,-53,974,853),34696=>array(47,-71,953,810),34697=>array(53,-69,971,830),34698=>array(44,-64,977,843),34699=>array(39,-69,965,836),34700=>array(41,-80,956,858),34701=>array(64,-62,967,826),34702=>array(45,-73,955,827),34703=>array(47,-71,977,834),34704=>array(53,-72,952,830),34705=>array(40,-75,979,845),34706=>array(58,-75,976,834),34707=>array(49,-67,987,836),34708=>array(47,-73,976,836),34709=>array(50,-46,973,852),34710=>array(47,-67,941,813),34711=>array(39,-65,949,848),34712=>array(39,-18,943,838),34713=>array(31,-67,977,832),34714=>array(75,-73,954,852),34715=>array(33,-73,947,845),34716=>array(73,-71,966,826),34717=>array(45,-66,977,842),34718=>array(55,-60,936,836),34719=>array(36,-66,951,833),34720=>array(36,-26,957,840),34721=>array(36,-77,957,840),34722=>array(68,-66,934,839),34723=>array(29,-68,972,835),34724=>array(56,-71,987,842),34725=>array(17,-60,970,855),34726=>array(49,-65,969,831),34727=>array(49,-71,936,832),34728=>array(29,-65,921,825),34729=>array(26,-60,966,841),34730=>array(57,-70,939,837),34731=>array(54,-60,942,850),34732=>array(46,-62,957,836),34733=>array(46,-62,951,854),34734=>array(34,-57,945,836),34735=>array(39,-72,943,836),34736=>array(44,-59,961,835),34737=>array(63,-66,934,832),34738=>array(59,-21,951,826),34739=>array(54,-17,958,842),34740=>array(82,-79,967,823),34741=>array(49,-64,955,812),34742=>array(36,-77,965,816),34743=>array(49,-82,957,847),34744=>array(46,-76,950,829),34745=>array(56,-72,956,826),34746=>array(33,-73,961,835),34747=>array(49,-67,954,836),34748=>array(61,-32,955,822),34749=>array(45,-68,977,843),34750=>array(37,-78,959,840),34751=>array(50,-83,958,836),34752=>array(36,-65,949,819),34753=>array(57,-70,957,827),34754=>array(56,-67,965,841),34755=>array(51,-73,975,818),34756=>array(55,-65,965,834),34757=>array(56,-70,966,831),34758=>array(38,-65,966,834),34759=>array(57,-87,954,835),34760=>array(51,-64,912,809),34761=>array(40,-59,969,834),34762=>array(57,-67,957,787),34763=>array(30,-34,949,828),34764=>array(52,-31,968,832),34765=>array(34,-81,958,811),34766=>array(34,-67,947,829),34767=>array(42,-80,984,825),34768=>array(54,-64,934,839),34769=>array(59,-61,967,852),34770=>array(46,-65,956,833),34771=>array(33,-64,970,841),34772=>array(44,-71,960,815),34773=>array(54,-70,940,831),34774=>array(49,-67,954,836),34775=>array(57,-80,938,834),34776=>array(49,-68,962,844),34777=>array(43,-71,958,838),34778=>array(57,-80,961,820),34779=>array(41,-64,961,832),34780=>array(50,-68,962,838),34781=>array(48,-66,959,846),34782=>array(89,-83,954,825),34783=>array(43,-68,952,835),34784=>array(33,-66,951,835),34785=>array(56,-71,920,837),34786=>array(51,-68,957,832),34787=>array(36,-66,960,833),34788=>array(34,-73,943,806),34789=>array(53,-68,965,847),34790=>array(51,-74,965,827),34791=>array(52,-68,949,833),34792=>array(53,-71,954,790),34793=>array(51,-70,982,821),34794=>array(44,-50,977,815),34795=>array(52,-66,953,813),34796=>array(56,-58,955,823),34797=>array(43,-68,945,834),34798=>array(30,-71,936,833),34799=>array(43,-66,957,832),34800=>array(31,-72,961,835),34801=>array(51,-69,961,836),34802=>array(60,-64,975,840),34803=>array(43,-75,945,818),34804=>array(49,-74,959,830),34805=>array(30,-71,948,807),34806=>array(41,-30,935,814),34807=>array(49,-64,915,829),34808=>array(36,-64,975,819),34809=>array(45,-71,948,851),34810=>array(52,-27,953,831),34811=>array(42,-73,947,850),34812=>array(49,-74,951,830),34813=>array(46,-57,950,833),34814=>array(43,-68,958,855),34815=>array(40,-56,955,843),34816=>array(51,-70,953,839),34817=>array(55,-76,941,841),34818=>array(43,-65,975,828),34819=>array(41,-68,957,849),34820=>array(37,-53,974,861),34821=>array(46,-48,957,819),34822=>array(66,-72,962,833),34823=>array(62,-66,958,832),34824=>array(52,-71,961,828),34825=>array(43,-71,969,820),34826=>array(34,-67,946,851),34827=>array(52,-66,924,817),34828=>array(42,-62,940,820),34829=>array(40,-75,977,824),34830=>array(46,-65,956,833),34831=>array(43,-61,948,847),34832=>array(41,-64,968,849),34833=>array(37,-65,965,839),34834=>array(48,-75,957,802),34835=>array(47,-60,961,835),34836=>array(50,-59,966,846),34837=>array(56,-59,943,829),34838=>array(34,-65,976,832),34839=>array(40,-66,951,806),34840=>array(34,-59,974,842),34841=>array(39,-69,965,842),34842=>array(53,-71,942,840),34843=>array(44,-64,961,839),34844=>array(38,-87,979,834),34845=>array(52,-70,929,784),34846=>array(56,-86,949,838),34847=>array(32,-60,961,848),34848=>array(53,-71,944,786),34849=>array(52,-64,957,844),34850=>array(55,-62,972,858),34851=>array(50,-65,948,818),34852=>array(67,-69,969,853),34853=>array(63,-75,944,846),34854=>array(45,-71,956,827),34855=>array(54,-67,967,844),34856=>array(42,-55,965,842),34857=>array(64,-71,964,823),34858=>array(71,-75,962,845),34859=>array(65,-77,969,831),34860=>array(40,-68,950,839),34861=>array(54,-79,967,854),34862=>array(35,-73,975,802),34863=>array(40,-70,954,844),34864=>array(30,-66,975,846),34865=>array(46,-33,957,833),34866=>array(57,-63,929,842),34867=>array(34,-78,953,806),34868=>array(55,-68,942,826),34869=>array(47,-65,949,828),34870=>array(50,-76,965,793),34871=>array(46,-64,946,807),34872=>array(36,-67,941,826),34873=>array(54,-67,967,844),34874=>array(50,-88,965,809),34875=>array(62,-77,944,830),34876=>array(48,-68,986,819),34877=>array(41,-73,966,829),34878=>array(47,-71,924,815),34879=>array(89,-73,946,847),34880=>array(55,-11,954,806),34881=>array(59,-14,955,846),34882=>array(34,-60,971,811),34883=>array(43,-70,968,833),34884=>array(20,-15,947,834),34885=>array(25,-45,949,853),34886=>array(49,-64,958,836),34887=>array(37,-68,971,836),34888=>array(40,-69,955,832),34889=>array(34,-61,982,849),34890=>array(31,-68,957,830),34891=>array(63,-57,941,842),34892=>array(51,-62,941,845),34893=>array(41,-68,954,827),34894=>array(53,-67,960,829),34895=>array(50,-68,948,829),34896=>array(53,-66,960,829),34897=>array(53,-66,960,829),34898=>array(47,-65,954,835),34899=>array(39,-73,951,824),34900=>array(29,-68,923,828),34901=>array(46,-65,952,833),34902=>array(49,-69,960,833),34903=>array(41,-72,951,831),34904=>array(24,-66,960,853),34905=>array(40,-65,959,831),34906=>array(46,-70,953,825),34907=>array(37,-65,955,839),34908=>array(34,-66,960,816),34909=>array(38,-68,953,835),34910=>array(35,-70,943,831),34911=>array(39,-66,954,841),34912=>array(24,-72,936,839),34913=>array(33,-69,945,835),34914=>array(37,-65,956,837),34915=>array(38,-68,944,826),34916=>array(266,-66,677,819),34917=>array(40,-69,954,843),34918=>array(41,-50,963,842),34919=>array(41,-67,958,844),34920=>array(52,-75,953,835),34921=>array(34,-67,971,843),34922=>array(35,-64,954,843),34923=>array(42,-68,957,830),34924=>array(32,-60,917,839),34925=>array(35,-61,973,841),34926=>array(54,-73,963,845),34927=>array(45,-74,973,845),34928=>array(37,-70,960,832),34929=>array(50,-76,963,844),34930=>array(23,-69,879,803),34931=>array(33,-65,955,831),34932=>array(54,-75,964,842),34933=>array(46,-53,909,805),34934=>array(62,-67,932,844),34935=>array(42,-73,960,829),34936=>array(50,-63,946,837),34937=>array(50,-67,956,838),34938=>array(47,-68,960,850),34939=>array(61,-67,966,838),34940=>array(50,-70,976,850),34941=>array(39,-67,946,810),34942=>array(37,-62,955,858),34943=>array(36,-65,970,848),34944=>array(60,-71,930,838),34945=>array(67,-62,967,833),34946=>array(32,-66,964,832),34947=>array(30,-73,984,823),34948=>array(16,-76,940,837),34949=>array(49,-59,950,829),34950=>array(48,-67,906,842),34951=>array(48,-78,956,842),34952=>array(48,-67,959,831),34953=>array(48,-67,957,842),34954=>array(48,-77,949,842),34955=>array(44,-69,962,837),34956=>array(44,-69,956,851),34957=>array(42,-67,960,839),34958=>array(37,-75,914,845),34959=>array(44,-60,964,845),34960=>array(29,-62,970,845),34961=>array(50,-72,894,840),34962=>array(47,-65,951,828),34963=>array(45,-68,956,844),34964=>array(48,-67,953,842),34965=>array(51,-74,966,841),34966=>array(46,-68,899,827),34967=>array(39,-52,972,853),34968=>array(47,-65,957,843),34969=>array(47,-72,892,848),34970=>array(31,-62,967,847),34971=>array(39,-58,960,850),34972=>array(28,-56,970,847),34973=>array(39,-70,941,848),34974=>array(52,-58,961,840),34975=>array(47,-80,966,838),34976=>array(50,-67,961,846),34977=>array(52,-68,954,841),34978=>array(43,-65,954,838),34979=>array(54,-61,964,848),34980=>array(47,-62,960,845),34981=>array(54,-62,948,848),34982=>array(54,-65,916,848),34983=>array(54,-71,914,848),34984=>array(52,-62,947,844),34985=>array(54,-66,951,848),34986=>array(46,-65,955,842),34987=>array(36,-69,962,838),34988=>array(44,-68,964,849),34989=>array(29,-63,942,840),34990=>array(54,-61,944,856),34991=>array(54,-74,945,848),34992=>array(61,-67,945,811),34993=>array(33,-74,971,834),34994=>array(51,-79,960,854),34995=>array(41,-70,935,848),34996=>array(36,-63,982,842),34997=>array(46,-55,954,833),34998=>array(38,-67,972,844),34999=>array(36,-63,966,850),35000=>array(44,-70,954,836),35001=>array(41,-70,951,842),35002=>array(42,-72,950,844),35003=>array(33,-70,954,842),35004=>array(50,-71,977,841),35005=>array(47,-55,904,852),35006=>array(28,-55,965,844),35007=>array(41,-65,959,838),35008=>array(36,-57,916,842),35009=>array(42,-66,957,840),35010=>array(44,-73,955,828),35011=>array(41,-65,913,835),35012=>array(41,-67,964,840),35013=>array(45,-68,959,830),35014=>array(28,-66,864,822),35015=>array(46,-53,972,855),35016=>array(41,-65,948,842),35017=>array(39,-71,966,842),35018=>array(46,-64,958,852),35019=>array(37,-67,964,834),35020=>array(37,-72,966,846),35021=>array(38,-65,908,842),35022=>array(48,-65,956,847),35023=>array(43,-75,955,840),35024=>array(28,-68,915,842),35025=>array(41,-65,950,842),35026=>array(55,-61,967,850),35027=>array(41,-65,957,842),35028=>array(35,-67,942,845),35029=>array(44,-69,969,833),35030=>array(30,-71,980,840),35031=>array(37,-73,960,840),35032=>array(51,-55,963,832),35033=>array(42,-74,948,823),35034=>array(40,-74,969,830),35035=>array(46,-70,969,838),35036=>array(32,-63,946,834),35037=>array(57,-60,957,832),35038=>array(35,-65,959,841),35039=>array(33,-67,948,833),35040=>array(33,-82,948,786),35041=>array(41,-64,954,821),35042=>array(20,-69,935,815),35043=>array(23,-68,956,832),35044=>array(29,-60,931,840),35045=>array(24,-68,886,822),35046=>array(36,-79,957,841),35047=>array(45,-76,966,840),35048=>array(31,-68,941,849),35049=>array(31,-68,949,842),35050=>array(41,-66,917,842),35051=>array(47,-71,903,842),35052=>array(49,-72,973,839),35053=>array(31,-68,949,842),35054=>array(54,-70,905,840),35055=>array(36,-65,906,844),35056=>array(36,-67,971,838),35057=>array(34,-65,975,843),35058=>array(46,-71,948,823),35059=>array(45,-68,956,836),35060=>array(35,-63,958,830),35061=>array(47,-74,948,832),35062=>array(45,-70,955,840),35063=>array(47,-65,973,838),35064=>array(40,-71,973,822),35065=>array(68,-59,967,842),35066=>array(41,-70,966,837),35067=>array(41,-75,956,824),35068=>array(53,-64,928,823),35069=>array(28,-79,972,842),35070=>array(35,-68,957,825),35071=>array(53,-64,954,845),35072=>array(42,-72,963,843),35073=>array(42,-69,960,785),35074=>array(34,-66,968,833),35075=>array(34,-70,930,837),35076=>array(34,-66,938,835),35077=>array(51,-72,957,839),35078=>array(41,-73,968,837),35079=>array(36,-67,962,845),35080=>array(40,-63,956,840),35081=>array(43,-75,972,835),35082=>array(38,-70,906,823),35083=>array(53,-68,975,841),35084=>array(36,-65,952,823),35085=>array(34,-67,956,837),35086=>array(38,-73,976,847),35087=>array(38,-56,957,855),35088=>array(36,-63,924,834),35089=>array(50,-75,977,838),35090=>array(56,-73,972,842),35091=>array(32,-65,964,836),35092=>array(47,-71,952,842),35093=>array(45,-66,965,840),35094=>array(54,-70,978,837),35095=>array(44,-64,946,840),35096=>array(34,-58,954,838),35097=>array(30,-64,965,837),35098=>array(46,-64,959,841),35099=>array(23,-62,929,821),35100=>array(31,-80,971,836),35101=>array(38,-73,940,833),35102=>array(35,-68,968,820),35103=>array(39,-70,915,842),35104=>array(23,-65,954,829),35105=>array(45,-61,956,838),35106=>array(37,-75,978,839),35107=>array(48,-72,987,836),35108=>array(23,-60,977,833),35109=>array(42,-70,953,820),35110=>array(32,-55,970,855),35111=>array(24,-54,972,846),35112=>array(35,-57,933,847),35113=>array(31,-76,970,843),35114=>array(26,-73,967,820),35115=>array(19,-70,951,838),35116=>array(53,-70,993,835),35117=>array(47,-79,964,856),35118=>array(39,-71,976,833),35119=>array(41,-72,945,841),35120=>array(36,-65,974,846),35121=>array(51,-75,974,846),35122=>array(30,-69,947,845),35123=>array(30,-65,965,837),35124=>array(12,-68,918,821),35125=>array(31,-55,947,855),35126=>array(34,-65,910,817),35127=>array(42,-75,973,833),35128=>array(36,-66,945,842),35129=>array(23,-70,971,823),35130=>array(56,-68,972,840),35131=>array(54,-60,955,843),35132=>array(42,-70,971,833),35133=>array(56,-72,972,832),35134=>array(45,-67,957,850),35135=>array(23,-69,942,828),35136=>array(41,-74,947,833),35137=>array(17,-68,965,819),35138=>array(31,-59,973,853),35139=>array(56,-56,949,840),35140=>array(49,-58,955,843),35141=>array(32,-68,948,833),35142=>array(40,-67,972,844),35143=>array(51,-67,924,842),35144=>array(23,-69,955,821),35145=>array(39,-64,911,837),35146=>array(23,-66,962,821),35147=>array(33,-67,973,837),35148=>array(39,-63,950,817),35149=>array(36,-68,966,832),35150=>array(23,-67,964,833),35151=>array(40,-72,963,839),35152=>array(46,-66,958,838),35153=>array(42,-67,952,843),35154=>array(41,-76,970,831),35155=>array(30,-70,954,832),35156=>array(23,-67,951,831),35157=>array(26,-59,937,831),35158=>array(35,-66,971,846),35159=>array(51,-68,956,835),35160=>array(43,-67,969,837),35161=>array(46,-67,972,838),35162=>array(44,-66,980,845),35163=>array(40,-64,978,844),35164=>array(31,-68,954,846),35165=>array(26,-64,983,858),35166=>array(47,-53,974,835),35167=>array(36,-66,971,834),35168=>array(43,-65,928,835),35169=>array(52,-67,924,835),35170=>array(27,-55,947,856),35171=>array(44,-66,964,846),35172=>array(35,-68,952,836),35173=>array(20,-104,957,841),35174=>array(35,-64,959,836),35175=>array(39,-64,973,843),35176=>array(23,-66,969,825),35177=>array(43,-82,960,839),35178=>array(31,-65,958,829),35179=>array(41,-74,971,835),35180=>array(28,-55,958,845),35181=>array(36,-81,966,831),35182=>array(36,-73,994,831),35183=>array(33,-76,966,826),35184=>array(23,-72,977,846),35185=>array(39,-70,964,840),35186=>array(51,-65,948,841),35187=>array(27,-70,974,831),35188=>array(29,-62,912,826),35189=>array(29,-76,955,843),35190=>array(22,-65,973,835),35191=>array(34,-65,969,825),35192=>array(31,-66,978,831),35193=>array(31,-66,980,831),35194=>array(34,-62,948,834),35195=>array(31,-59,968,849),35196=>array(29,-60,967,841),35197=>array(29,-64,942,841),35198=>array(71,-63,945,782),35199=>array(73,-53,929,772),35200=>array(85,374,935,781),35201=>array(52,-69,935,781),35202=>array(74,-70,971,782),35203=>array(59,-63,955,788),35204=>array(64,-70,938,788),35205=>array(53,-66,930,836),35206=>array(55,-69,963,818),35207=>array(63,-70,937,818),35208=>array(48,-73,967,802),35209=>array(60,-68,950,804),35210=>array(54,-53,934,811),35211=>array(58,-74,944,783),35212=>array(18,-65,948,784),35213=>array(64,-60,935,830),35214=>array(52,-39,956,787),35215=>array(43,-59,954,812),35216=>array(38,-56,957,818),35217=>array(42,-58,956,836),35218=>array(51,-62,956,822),35219=>array(51,-71,960,837),35220=>array(64,-65,944,791),35221=>array(42,-64,956,828),35222=>array(39,-63,959,834),35223=>array(58,-69,953,780),35224=>array(96,-62,938,829),35225=>array(51,-62,946,848),35226=>array(37,-65,908,816),35227=>array(36,-70,966,828),35228=>array(36,-70,954,826),35229=>array(50,-72,962,780),35230=>array(37,-70,961,773),35231=>array(45,-71,962,824),35232=>array(32,-62,971,796),35233=>array(38,-71,967,774),35234=>array(49,-71,968,829),35235=>array(41,-71,966,824),35236=>array(36,-70,969,835),35237=>array(33,-60,971,836),35238=>array(32,-72,971,827),35239=>array(47,-63,960,838),35240=>array(71,-59,963,789),35241=>array(31,-69,963,825),35242=>array(46,-70,957,826),35243=>array(17,-79,957,825),35244=>array(39,-79,950,835),35245=>array(52,-61,965,785),35246=>array(66,-70,937,824),35247=>array(62,-74,977,829),35248=>array(32,-74,978,835),35249=>array(64,-58,939,828),35250=>array(52,-68,974,835),35251=>array(39,-60,970,841),35252=>array(29,-75,972,828),35253=>array(104,-74,975,791),35254=>array(50,-70,962,837),35255=>array(32,-71,966,835),35256=>array(104,-74,975,791),35257=>array(33,-66,963,832),35258=>array(64,-65,935,840),35259=>array(22,-76,987,835),35260=>array(18,-76,966,789),35261=>array(47,-63,960,840),35262=>array(37,-74,967,834),35263=>array(44,-75,967,835),35264=>array(35,-70,960,827),35265=>array(24,-56,921,784),35266=>array(18,-61,932,792),35267=>array(25,-55,971,792),35268=>array(26,-56,932,826),35269=>array(29,-51,934,827),35270=>array(31,-72,937,818),35271=>array(98,-67,941,813),35272=>array(39,-59,913,838),35273=>array(28,-60,920,816),35274=>array(70,-78,938,810),35275=>array(22,-69,936,771),35276=>array(43,-73,931,819),35277=>array(37,-85,973,836),35278=>array(32,-81,938,822),35279=>array(52,-72,933,818),35280=>array(29,-64,936,819),35281=>array(25,-75,942,817),35282=>array(69,-60,863,849),35283=>array(45,-70,886,842),35284=>array(60,-57,924,849),35285=>array(59,-56,911,851),35286=>array(40,-67,979,847),35287=>array(38,-62,975,838),35288=>array(24,-68,959,845),35289=>array(41,-79,963,852),35290=>array(33,-67,975,842),35291=>array(52,-68,954,841),35292=>array(28,-68,937,835),35293=>array(33,-56,962,857),35294=>array(18,-65,913,834),35295=>array(25,-67,955,828),35296=>array(42,-59,972,836),35297=>array(33,-70,989,831),35298=>array(40,-61,900,830),35299=>array(52,-67,949,834),35300=>array(28,-87,963,828),35301=>array(38,-71,969,836),35302=>array(36,-71,962,834),35303=>array(46,-66,934,843),35304=>array(32,-73,966,824),35305=>array(38,-71,967,828),35306=>array(46,-66,938,850),35307=>array(42,-68,974,839),35308=>array(34,-74,960,825),35309=>array(44,-71,955,841),35310=>array(54,-67,962,842),35311=>array(19,-67,922,834),35312=>array(44,-70,951,836),35313=>array(38,-69,965,842),35314=>array(29,-70,954,831),35315=>array(38,-67,981,829),35316=>array(41,-67,962,848),35317=>array(46,-70,935,842),35318=>array(44,-78,967,829),35319=>array(60,-65,930,830),35320=>array(63,-74,926,833),35321=>array(29,-71,960,841),35322=>array(54,-64,965,831),35323=>array(38,-70,975,835),35324=>array(38,-73,975,841),35325=>array(44,-71,959,841),35326=>array(33,-64,973,836),35327=>array(44,-52,955,850),35328=>array(84,-64,916,819),35329=>array(261,-47,747,842),35330=>array(60,-61,955,817),35331=>array(60,-65,951,829),35332=>array(33,-66,966,836),35333=>array(60,-58,967,842),35334=>array(69,-67,876,842),35335=>array(77,-61,909,840),35336=>array(51,-64,954,835),35337=>array(60,-45,948,847),35338=>array(60,-62,959,817),35339=>array(60,-55,914,847),35340=>array(65,-47,948,790),35341=>array(65,-50,946,844),35342=>array(60,-69,949,830),35343=>array(68,-68,964,834),35344=>array(65,-64,955,792),35345=>array(46,-34,963,853),35346=>array(63,-53,904,817),35347=>array(60,-68,902,829),35348=>array(85,-64,928,824),35349=>array(79,-56,912,846),35350=>array(60,-55,960,835),35351=>array(60,-61,957,834),35352=>array(60,-61,957,823),35353=>array(64,-56,964,848),35354=>array(116,-57,874,823),35355=>array(58,-62,954,840),35356=>array(60,-44,968,843),35357=>array(60,-62,948,793),35358=>array(63,-73,976,839),35359=>array(59,-58,964,815),35360=>array(60,-61,899,843),35361=>array(60,-66,963,843),35362=>array(63,-73,960,831),35363=>array(62,-69,955,829),35364=>array(60,-65,934,846),35365=>array(71,-71,907,796),35366=>array(60,-50,950,843),35367=>array(66,-69,963,841),35368=>array(60,-44,954,843),35369=>array(76,-58,930,840),35370=>array(60,-62,945,824),35371=>array(60,-44,960,843),35372=>array(72,-77,972,836),35373=>array(60,-63,975,817),35374=>array(60,-65,952,843),35375=>array(60,-69,982,843),35376=>array(65,-41,957,842),35377=>array(60,-64,949,837),35378=>array(60,-66,891,852),35379=>array(60,-62,964,817),35380=>array(56,-67,956,837),35381=>array(60,-46,917,843),35382=>array(59,-62,961,793),35383=>array(60,-62,901,838),35384=>array(60,-71,948,843),35385=>array(62,-68,951,844),35386=>array(56,-72,965,844),35387=>array(60,-61,947,829),35388=>array(53,-57,950,817),35389=>array(60,-52,921,846),35390=>array(64,-67,958,827),35391=>array(57,-44,964,839),35392=>array(59,-55,951,844),35393=>array(60,-65,953,826),35394=>array(60,-66,964,843),35395=>array(60,-65,982,843),35396=>array(57,-74,966,845),35397=>array(56,-76,976,839),35398=>array(56,-60,961,835),35399=>array(60,-58,978,843),35400=>array(74,-65,942,820),35401=>array(51,-71,977,843),35402=>array(63,-70,952,837),35403=>array(60,-44,957,843),35404=>array(58,-70,948,836),35405=>array(58,-47,947,844),35406=>array(62,-48,954,843),35407=>array(59,-73,911,848),35408=>array(60,-61,951,841),35409=>array(60,-61,952,824),35410=>array(60,-63,952,830),35411=>array(60,-51,963,843),35412=>array(60,-62,905,817),35413=>array(53,-65,956,817),35414=>array(51,-74,972,834),35415=>array(56,-61,903,841),35416=>array(78,-67,920,833),35417=>array(65,-76,965,843),35418=>array(60,-44,963,843),35419=>array(60,-50,964,793),35420=>array(42,-64,971,837),35421=>array(60,-62,925,843),35422=>array(60,-64,909,817),35423=>array(35,-69,972,846),35424=>array(52,-63,965,844),35425=>array(77,-52,914,841),35426=>array(62,-60,910,836),35427=>array(60,-63,958,831),35428=>array(54,-66,966,832),35429=>array(51,-65,977,853),35430=>array(60,-61,963,829),35431=>array(51,-60,957,839),35432=>array(52,-74,971,831),35433=>array(60,-61,954,838),35434=>array(60,-64,964,844),35435=>array(53,-57,961,829),35436=>array(69,-78,951,818),35437=>array(62,-61,954,846),35438=>array(49,-55,955,830),35439=>array(60,-70,899,843),35440=>array(50,-58,945,829),35441=>array(53,-64,958,834),35442=>array(53,-63,954,824),35443=>array(60,-65,954,843),35444=>array(58,-68,951,840),35445=>array(55,-73,963,826),35446=>array(57,-71,905,848),35447=>array(60,-65,904,837),35448=>array(61,-67,974,849),35449=>array(45,-76,914,842),35450=>array(61,-72,914,841),35451=>array(57,-67,966,836),35452=>array(52,-57,954,833),35453=>array(61,-69,956,840),35454=>array(47,-62,925,842),35455=>array(63,-55,954,831),35456=>array(53,-65,946,842),35457=>array(57,-69,951,838),35458=>array(57,-67,957,830),35459=>array(62,-65,916,840),35460=>array(59,-68,981,830),35461=>array(58,-65,977,836),35462=>array(62,-53,957,838),35463=>array(60,-62,978,843),35464=>array(61,-52,957,849),35465=>array(42,-67,958,842),35466=>array(30,-60,954,832),35467=>array(51,-70,967,832),35468=>array(53,-59,964,820),35469=>array(53,-48,964,813),35470=>array(61,-65,976,849),35471=>array(60,-73,982,841),35472=>array(61,-59,970,849),35473=>array(63,-53,957,817),35474=>array(57,-74,986,839),35475=>array(64,-71,936,839),35476=>array(64,-67,967,840),35477=>array(58,-66,963,819),35478=>array(62,-50,956,846),35479=>array(61,-65,936,849),35480=>array(53,-69,975,828),35481=>array(65,-68,961,843),35482=>array(67,-70,926,835),35483=>array(61,-61,970,849),35484=>array(61,-67,968,849),35485=>array(61,-71,972,849),35486=>array(49,-68,949,815),35487=>array(61,-68,957,849),35488=>array(52,-70,961,833),35489=>array(58,-63,964,837),35490=>array(61,-52,958,849),35491=>array(59,-48,954,797),35492=>array(59,-62,944,815),35493=>array(50,-65,945,831),35494=>array(60,-64,895,793),35495=>array(59,-66,953,826),35496=>array(62,-68,954,845),35497=>array(61,-56,948,851),35498=>array(57,-71,964,816),35499=>array(59,-68,967,842),35500=>array(59,-57,956,848),35501=>array(53,-57,966,829),35502=>array(61,-66,964,849),35503=>array(61,-62,932,849),35504=>array(54,-70,952,837),35505=>array(61,-72,962,849),35506=>array(56,-61,970,817),35507=>array(61,-77,932,849),35508=>array(61,-63,977,850),35509=>array(61,-64,968,855),35510=>array(69,-68,974,842),35511=>array(61,-67,939,849),35512=>array(60,-63,955,837),35513=>array(53,-68,954,829),35514=>array(59,-68,977,836),35515=>array(59,-69,967,834),35516=>array(53,-57,958,827),35517=>array(60,-61,965,837),35518=>array(119,-68,903,804),35519=>array(53,-62,915,817),35520=>array(54,-68,950,843),35521=>array(61,-62,963,843),35522=>array(58,-68,897,838),35523=>array(57,-70,970,832),35524=>array(56,-62,959,835),35525=>array(50,-71,963,831),35526=>array(55,-80,952,833),35527=>array(63,-67,962,841),35528=>array(54,-47,963,843),35529=>array(62,-65,958,843),35530=>array(61,-66,937,849),35531=>array(53,-65,956,835),35532=>array(53,-64,974,835),35533=>array(56,-61,956,836),35534=>array(61,-64,960,849),35535=>array(51,-68,969,817),35536=>array(26,-58,946,836),35537=>array(56,-64,978,833),35538=>array(53,-60,960,830),35539=>array(63,-62,959,840),35540=>array(60,-69,975,838),35541=>array(60,-70,959,833),35542=>array(55,-63,973,849),35543=>array(63,-55,986,843),35544=>array(63,-73,980,839),35545=>array(58,-70,963,834),35546=>array(61,-53,983,824),35547=>array(53,-74,975,832),35548=>array(53,-64,971,830),35549=>array(59,-68,973,839),35550=>array(71,-72,928,794),35551=>array(55,-60,967,814),35552=>array(50,-42,947,837),35553=>array(54,-37,973,816),35554=>array(49,-67,954,793),35555=>array(49,-67,914,840),35556=>array(55,-59,951,793),35557=>array(55,-44,947,842),35558=>array(51,-67,946,826),35559=>array(56,-65,951,832),35560=>array(54,-67,927,840),35561=>array(55,-43,936,845),35562=>array(54,-73,949,833),35563=>array(48,-67,964,833),35564=>array(29,-69,953,852),35565=>array(48,-68,970,852),35566=>array(53,-64,965,845),35567=>array(61,-61,955,838),35568=>array(56,-48,971,833),35569=>array(58,-62,951,842),35570=>array(68,-45,959,836),35571=>array(57,-64,947,844),35572=>array(42,-60,945,837),35573=>array(55,-56,953,846),35574=>array(65,-82,957,818),35575=>array(51,-69,964,797),35576=>array(59,-66,948,835),35577=>array(59,-48,947,842),35578=>array(54,-71,952,830),35579=>array(59,-43,953,844),35580=>array(68,-70,981,839),35581=>array(59,-68,947,842),35582=>array(53,-65,949,836),35583=>array(53,-69,950,835),35584=>array(53,-69,969,829),35585=>array(62,-60,926,816),35586=>array(60,-64,911,823),35587=>array(63,-42,959,842),35588=>array(40,-72,967,840),35589=>array(58,-63,914,841),35590=>array(56,-61,919,872),35591=>array(31,-65,970,843),35592=>array(35,-67,969,793),35593=>array(64,-56,984,851),35594=>array(56,-63,961,840),35595=>array(75,-71,987,834),35596=>array(69,-60,954,804),35597=>array(108,-71,902,823),35598=>array(79,-70,956,836),35599=>array(60,-60,958,843),35600=>array(66,-55,968,827),35601=>array(57,-74,957,842),35602=>array(61,-68,963,838),35603=>array(60,-73,960,842),35604=>array(62,-68,954,833),35605=>array(57,-72,959,836),35606=>array(50,-66,968,793),35607=>array(59,-69,951,816),35608=>array(57,-71,952,838),35609=>array(64,-64,978,843),35610=>array(54,-57,961,804),35611=>array(55,-65,952,826),35612=>array(57,-66,962,845),35613=>array(53,-66,951,844),35614=>array(59,-68,930,832),35615=>array(51,-57,926,848),35616=>array(59,-58,957,842),35617=>array(53,-64,952,829),35618=>array(62,-73,972,841),35619=>array(58,-68,953,837),35620=>array(59,-69,955,833),35621=>array(56,-53,968,831),35622=>array(45,-66,958,845),35623=>array(59,-66,954,838),35624=>array(63,-68,984,823),35625=>array(33,-72,976,841),35626=>array(62,-67,956,838),35627=>array(55,-70,951,838),35628=>array(60,-72,947,795),35629=>array(55,-73,947,838),35630=>array(52,-77,958,842),35631=>array(42,-49,945,849),35632=>array(61,-71,964,835),35633=>array(53,-75,948,842),35634=>array(53,-73,970,848),35635=>array(60,-85,957,793),35636=>array(60,-68,951,847),35637=>array(81,-68,922,835),35638=>array(45,-61,960,837),35639=>array(63,-60,964,839),35640=>array(66,-79,974,834),35641=>array(60,-50,953,830),35642=>array(69,-81,958,837),35643=>array(71,-72,938,836),35644=>array(56,-78,946,833),35645=>array(79,-68,940,841),35646=>array(68,-60,983,813),35647=>array(60,-75,942,847),35648=>array(56,-70,968,842),35649=>array(54,-64,954,834),35650=>array(68,-68,956,840),35651=>array(60,-48,961,847),35652=>array(60,-63,918,847),35653=>array(54,-44,946,839),35654=>array(34,-70,943,825),35655=>array(60,-66,972,841),35656=>array(54,-74,972,841),35657=>array(59,-53,956,830),35658=>array(56,-69,950,839),35659=>array(75,-60,922,846),35660=>array(51,-79,968,852),35661=>array(42,-71,944,851),35662=>array(62,-64,941,798),35663=>array(57,-67,972,833),35664=>array(56,-65,954,845),35665=>array(60,-62,965,844),35666=>array(50,-57,970,848),35667=>array(73,-46,977,827),35668=>array(48,-58,951,846),35669=>array(58,-67,955,844),35670=>array(55,-67,960,824),35671=>array(66,-59,959,841),35672=>array(51,-68,959,833),35673=>array(60,-71,971,835),35674=>array(49,-67,954,813),35675=>array(60,-49,966,838),35676=>array(53,-61,952,843),35677=>array(52,-50,966,840),35678=>array(60,-66,976,847),35679=>array(53,-50,969,800),35680=>array(63,-55,960,837),35681=>array(60,-65,945,847),35682=>array(60,-63,978,847),35683=>array(42,-70,970,847),35684=>array(60,-66,985,847),35685=>array(40,-67,979,845),35686=>array(55,-77,944,824),35687=>array(48,-66,967,838),35688=>array(57,-73,977,839),35689=>array(63,-48,966,844),35690=>array(57,-68,948,834),35691=>array(64,-76,962,839),35692=>array(66,-60,961,830),35693=>array(51,-59,973,846),35694=>array(60,-68,985,848),35695=>array(53,-64,939,795),35696=>array(54,-63,962,850),35697=>array(36,-86,955,843),35698=>array(52,-79,973,837),35699=>array(60,-59,953,847),35700=>array(60,-63,967,836),35701=>array(63,-68,959,847),35702=>array(36,-66,955,847),35703=>array(53,-59,971,837),35704=>array(63,-61,964,840),35705=>array(53,-68,977,836),35706=>array(54,-74,967,831),35707=>array(83,-63,936,790),35708=>array(83,-74,936,841),35709=>array(31,-64,971,832),35710=>array(60,-55,956,858),35711=>array(57,-46,965,823),35712=>array(59,-71,961,835),35713=>array(39,-60,961,847),35714=>array(61,-71,959,835),35715=>array(51,-69,959,836),35716=>array(76,-63,920,840),35717=>array(55,-69,973,840),35718=>array(40,-71,955,839),35719=>array(60,-60,923,847),35720=>array(55,-70,971,828),35721=>array(61,-61,953,842),35722=>array(50,-70,960,840),35723=>array(66,-48,953,860),35724=>array(52,-66,968,838),35725=>array(60,-48,938,847),35726=>array(23,-62,952,845),35727=>array(40,-71,955,854),35728=>array(41,-71,944,842),35729=>array(60,-52,969,847),35730=>array(52,-65,961,842),35731=>array(59,-66,957,845),35732=>array(49,-63,967,842),35733=>array(62,-62,900,839),35734=>array(58,-59,960,834),35735=>array(60,-67,951,839),35736=>array(58,-67,960,831),35737=>array(53,-52,949,842),35738=>array(56,-60,959,851),35739=>array(74,-60,957,847),35740=>array(59,-79,967,833),35741=>array(62,-67,956,847),35742=>array(53,-70,968,835),35743=>array(55,-61,949,840),35744=>array(308,-19,665,809),35745=>array(74,-66,937,840),35746=>array(69,-65,926,826),35747=>array(62,-67,953,840),35748=>array(72,-62,958,826),35749=>array(59,-58,960,812),35750=>array(52,-66,922,810),35751=>array(49,13,913,814),35752=>array(75,-70,932,828),35753=>array(66,-22,929,818),35754=>array(50,-58,878,826),35755=>array(70,-29,943,838),35756=>array(68,-30,944,836),35757=>array(65,-74,889,826),35758=>array(49,-71,968,806),35759=>array(68,-57,958,826),35760=>array(80,-28,946,834),35761=>array(61,-60,890,836),35762=>array(56,-68,916,829),35763=>array(49,-58,916,830),35764=>array(61,-11,933,807),35765=>array(47,-25,917,820),35766=>array(49,-64,914,808),35767=>array(62,-61,901,829),35768=>array(64,-65,936,836),35769=>array(62,-64,930,836),35770=>array(52,-30,964,828),35771=>array(50,-65,906,832),35772=>array(56,-59,936,784),35773=>array(54,-61,975,811),35774=>array(54,-54,946,804),35775=>array(71,-71,931,847),35776=>array(74,-71,931,835),35777=>array(59,-22,938,797),35778=>array(67,-66,936,823),35779=>array(67,-64,944,826),35780=>array(78,-67,942,836),35781=>array(53,-29,927,790),35782=>array(49,-54,951,811),35783=>array(58,-60,909,836),35784=>array(69,-69,931,839),35785=>array(69,-69,946,834),35786=>array(69,-74,960,846),35787=>array(62,-64,938,830),35788=>array(66,-54,873,820),35789=>array(51,-61,888,826),35790=>array(56,-69,892,826),35791=>array(49,-56,888,823),35792=>array(43,-71,970,832),35793=>array(63,-60,954,817),35794=>array(63,-60,940,837),35795=>array(58,-26,938,826),35796=>array(56,-71,957,828),35797=>array(57,-61,944,825),35798=>array(63,-27,925,820),35799=>array(41,-62,944,834),35800=>array(67,-66,928,826),35801=>array(56,-59,958,826),35802=>array(47,-57,956,835),35803=>array(57,-68,938,830),35804=>array(43,-75,947,823),35805=>array(72,-65,941,830),35806=>array(62,-66,951,815),35807=>array(53,-79,920,816),35808=>array(62,-19,942,836),35809=>array(71,-63,937,844),35810=>array(61,-62,903,834),35811=>array(57,-69,937,828),35812=>array(68,-58,932,835),35813=>array(69,-79,949,838),35814=>array(59,-67,913,842),35815=>array(61,-25,932,852),35816=>array(60,-58,947,812),35817=>array(54,-54,885,818),35818=>array(76,-57,952,836),35819=>array(76,-65,942,840),35820=>array(54,-16,950,805),35821=>array(53,-70,936,795),35822=>array(57,-74,913,831),35823=>array(61,-69,956,794),35824=>array(57,-66,918,828),35825=>array(70,-69,941,825),35826=>array(72,-60,937,843),35827=>array(49,-54,947,827),35828=>array(66,-68,953,838),35829=>array(56,-65,879,798),35830=>array(56,-71,957,837),35831=>array(61,-66,930,831),35832=>array(68,-67,932,831),35833=>array(48,-70,955,799),35834=>array(54,-66,912,805),35835=>array(56,-69,940,835),35836=>array(61,-57,954,811),35837=>array(59,-64,942,836),35838=>array(56,-66,954,834),35839=>array(56,-65,925,833),35840=>array(56,-77,947,828),35841=>array(50,-72,927,834),35842=>array(50,-51,942,836),35843=>array(72,-85,897,810),35844=>array(67,-67,880,835),35845=>array(69,-70,935,838),35846=>array(69,-64,920,848),35847=>array(57,-71,923,842),35848=>array(55,-71,919,837),35849=>array(55,-66,931,838),35850=>array(55,-25,931,846),35851=>array(72,-67,953,832),35852=>array(60,-51,933,817),35853=>array(61,-66,948,829),35854=>array(53,-65,956,828),35855=>array(56,-69,961,831),35856=>array(57,-67,948,829),35857=>array(53,-70,945,831),35858=>array(74,-62,898,809),35859=>array(62,-66,900,836),35860=>array(55,-62,921,816),35861=>array(58,-72,954,847),35862=>array(60,-72,936,819),35863=>array(49,-65,961,834),35864=>array(54,-66,940,842),35865=>array(68,-66,930,834),35866=>array(60,-64,920,842),35867=>array(65,-69,921,839),35868=>array(59,-55,940,818),35869=>array(50,-74,888,836),35870=>array(78,-51,946,805),35871=>array(54,-65,943,820),35872=>array(60,-69,953,835),35873=>array(75,-65,942,800),35874=>array(53,-66,936,841),35875=>array(63,-74,924,807),35876=>array(74,-71,928,842),35877=>array(59,-35,936,828),35878=>array(63,-66,956,841),35879=>array(60,-36,948,825),35880=>array(54,-35,930,820),35881=>array(57,-61,948,786),35882=>array(58,-68,924,839),35883=>array(51,-79,947,838),35884=>array(58,-74,958,810),35885=>array(55,-70,939,793),35886=>array(57,-67,956,811),35887=>array(64,-75,938,828),35888=>array(46,-65,909,825),35889=>array(60,-62,941,844),35890=>array(59,-66,918,786),35891=>array(48,-75,971,825),35892=>array(47,-61,956,809),35893=>array(54,-78,941,836),35894=>array(56,-67,955,831),35895=>array(34,-53,967,839),35896=>array(59,-64,966,833),35897=>array(42,-58,952,836),35898=>array(37,-62,948,813),35899=>array(49,-68,960,813),35900=>array(32,-73,958,820),35901=>array(57,-69,957,837),35902=>array(34,-48,957,835),35903=>array(38,-66,982,837),35904=>array(35,-64,968,841),35905=>array(54,-63,961,836),35906=>array(45,-72,964,797),35907=>array(37,-71,976,834),35908=>array(37,-66,991,841),35909=>array(29,-70,983,834),35910=>array(100,-14,929,778),35911=>array(62,-17,951,770),35912=>array(62,-12,931,835),35913=>array(53,-68,973,835),35914=>array(57,-32,951,824),35915=>array(41,-26,962,842),35916=>array(51,-69,958,831),35917=>array(52,-73,950,838),35918=>array(48,-18,957,796),35919=>array(54,-67,966,832),35920=>array(70,-25,924,832),35921=>array(28,-67,965,836),35922=>array(34,-67,965,836),35923=>array(45,-46,974,829),35924=>array(45,-47,963,829),35925=>array(70,-49,949,772),35926=>array(58,-70,967,781),35927=>array(41,-75,969,781),35928=>array(43,-41,952,836),35929=>array(62,-55,939,847),35930=>array(31,-61,972,789),35931=>array(58,-69,963,787),35932=>array(43,-75,940,786),35933=>array(33,-46,951,785),35934=>array(43,-52,921,846),35935=>array(40,-65,958,815),35936=>array(43,-41,947,787),35937=>array(67,-59,940,845),35938=>array(49,-62,957,839),35939=>array(43,-71,953,787),35940=>array(29,-70,963,783),35941=>array(36,-64,958,834),35942=>array(49,-70,973,829),35943=>array(43,-75,951,824),35944=>array(41,-67,952,835),35945=>array(39,-64,977,779),35946=>array(88,-66,960,834),35947=>array(60,-72,962,835),35948=>array(47,-69,959,835),35949=>array(48,-70,984,789),35950=>array(42,-68,957,836),35951=>array(39,-77,975,819),35952=>array(77,-77,965,824),35953=>array(50,-61,959,782),35954=>array(42,-64,968,786),35955=>array(113,-69,911,825),35956=>array(43,-73,963,835),35957=>array(52,-71,983,829),35958=>array(34,-72,971,826),35959=>array(41,-62,967,832),35960=>array(125,-58,931,843),35961=>array(57,-56,903,842),35962=>array(61,-58,957,850),35963=>array(50,-67,963,835),35964=>array(40,-65,966,835),35965=>array(48,-65,914,842),35966=>array(48,-48,932,842),35967=>array(68,-52,921,846),35968=>array(41,-72,916,834),35969=>array(36,-57,965,855),35970=>array(65,-52,919,836),35971=>array(48,-63,890,842),35972=>array(46,-69,956,834),35973=>array(55,-61,981,850),35974=>array(46,-67,954,830),35975=>array(48,-55,960,842),35976=>array(48,-73,964,843),35977=>array(43,-64,975,840),35978=>array(54,-63,959,830),35979=>array(48,-65,926,842),35980=>array(41,-66,966,841),35981=>array(55,-59,956,838),35982=>array(48,-61,991,842),35983=>array(35,-73,953,836),35984=>array(46,-64,986,860),35985=>array(42,-75,977,829),35986=>array(37,-70,956,831),35987=>array(44,-67,950,836),35988=>array(34,-61,949,850),35989=>array(35,-62,959,834),35990=>array(36,-48,974,842),35991=>array(37,-71,951,837),35992=>array(26,-65,975,837),35993=>array(40,-60,965,827),35994=>array(43,-68,968,838),35995=>array(38,-71,912,832),35996=>array(55,-70,973,830),35997=>array(89,-68,912,789),35998=>array(59,-69,950,836),35999=>array(59,-69,950,842),36000=>array(53,-69,952,855),36001=>array(46,-73,939,829),36002=>array(59,-67,949,789),36003=>array(65,-70,954,850),36004=>array(52,-54,964,849),36005=>array(46,-78,954,834),36006=>array(52,-69,948,804),36007=>array(54,-69,954,823),36008=>array(52,-71,955,831),36009=>array(50,-67,973,788),36010=>array(38,-78,969,857),36011=>array(57,-74,946,785),36012=>array(57,-67,955,836),36013=>array(52,-75,924,831),36014=>array(53,-70,956,817),36015=>array(48,-68,948,822),36016=>array(51,-73,949,836),36017=>array(14,-67,970,832),36018=>array(43,-75,956,824),36019=>array(53,-70,956,837),36020=>array(57,-67,949,832),36021=>array(43,-66,977,865),36022=>array(57,-65,969,830),36023=>array(65,-67,949,782),36024=>array(63,-69,942,838),36025=>array(47,-75,956,822),36026=>array(51,-75,972,773),36027=>array(73,-71,933,837),36028=>array(50,-64,954,835),36029=>array(60,-62,960,833),36030=>array(49,-54,955,849),36031=>array(72,-67,941,827),36032=>array(65,-73,943,839),36033=>array(61,-67,943,828),36034=>array(57,-63,976,839),36035=>array(40,-65,957,837),36036=>array(54,-68,961,834),36037=>array(54,-77,973,830),36038=>array(21,-70,949,839),36039=>array(61,-70,942,837),36040=>array(66,-79,948,785),36041=>array(37,-58,973,855),36042=>array(41,-58,963,837),36043=>array(37,-76,970,846),36044=>array(66,-77,947,844),36045=>array(49,-59,956,822),36046=>array(44,-69,959,827),36047=>array(57,-73,963,773),36048=>array(31,-67,979,836),36049=>array(37,-71,971,787),36050=>array(40,-64,969,851),36051=>array(44,-74,974,837),36052=>array(101,-85,911,844),36053=>array(51,-66,981,829),36054=>array(31,-69,962,825),36055=>array(55,-74,911,822),36056=>array(49,-59,956,847),36057=>array(63,-71,911,793),36058=>array(45,-70,985,836),36059=>array(52,-76,964,843),36060=>array(60,-66,920,791),36061=>array(40,-70,976,780),36062=>array(71,-74,948,836),36063=>array(40,-73,955,830),36064=>array(59,-65,956,835),36065=>array(32,-67,954,849),36066=>array(70,-73,944,789),36067=>array(48,-69,945,826),36068=>array(48,-67,967,842),36069=>array(41,-73,950,840),36070=>array(42,-63,958,836),36071=>array(39,-68,974,832),36072=>array(57,-79,963,839),36073=>array(42,-60,960,845),36074=>array(63,-68,941,833),36075=>array(69,-70,954,826),36076=>array(55,-68,978,787),36077=>array(43,-65,944,823),36078=>array(40,-74,977,827),36079=>array(57,-60,934,840),36080=>array(49,-70,980,838),36081=>array(56,-76,958,783),36082=>array(38,-73,967,845),36083=>array(51,-75,967,830),36084=>array(44,-71,961,830),36085=>array(55,-68,921,789),36086=>array(40,-67,941,846),36087=>array(69,-70,954,834),36088=>array(31,-66,966,837),36089=>array(44,-66,959,818),36090=>array(58,-65,967,851),36091=>array(50,-65,951,833),36092=>array(41,-66,941,829),36093=>array(50,-73,960,847),36094=>array(113,-76,968,832),36095=>array(41,-72,960,786),36096=>array(68,-76,949,803),36097=>array(42,-61,967,836),36098=>array(41,-71,957,842),36099=>array(49,-62,965,831),36100=>array(61,-68,954,834),36101=>array(51,-70,954,846),36102=>array(37,-67,970,832),36103=>array(46,-71,954,829),36104=>array(34,-73,909,835),36105=>array(47,-71,957,781),36106=>array(60,-72,947,825),36107=>array(41,-70,944,813),36108=>array(36,-64,963,832),36109=>array(36,-74,948,834),36110=>array(47,-66,968,832),36111=>array(42,-62,961,834),36112=>array(47,-59,972,825),36113=>array(55,-66,969,849),36114=>array(70,-73,955,835),36115=>array(27,-65,966,836),36116=>array(49,-71,979,803),36117=>array(56,-73,963,837),36118=>array(47,-73,962,837),36119=>array(41,-73,945,825),36120=>array(26,-72,954,836),36121=>array(31,-71,967,828),36122=>array(30,-65,950,836),36123=>array(54,-70,974,849),36124=>array(55,-63,972,815),36125=>array(77,-58,885,796),36126=>array(65,-63,905,830),36127=>array(57,-65,934,838),36128=>array(73,-61,894,844),36129=>array(48,-61,906,780),36130=>array(42,-70,922,826),36131=>array(60,-66,915,826),36132=>array(61,-67,931,834),36133=>array(47,-74,945,834),36134=>array(32,-72,958,811),36135=>array(29,-63,917,839),36136=>array(25,-69,906,831),36137=>array(33,-70,956,800),36138=>array(33,-66,954,836),36139=>array(34,-65,980,835),36140=>array(32,-67,952,828),36141=>array(33,-64,903,831),36142=>array(28,-71,923,818),36143=>array(43,-69,914,791),36144=>array(48,-68,953,831),36145=>array(30,-59,928,831),36146=>array(70,-78,917,820),36147=>array(61,-71,909,826),36148=>array(42,-67,938,832),36149=>array(41,-65,907,830),36150=>array(31,-58,968,784),36151=>array(47,-65,927,835),36152=>array(83,-66,900,831),36153=>array(60,-63,913,830),36154=>array(24,-72,868,832),36155=>array(35,-69,941,824),36156=>array(31,-56,939,838),36157=>array(39,-86,948,818),36158=>array(47,-71,913,782),36159=>array(33,-69,944,832),36160=>array(60,-84,929,816),36161=>array(30,-59,917,841),36162=>array(33,-64,960,837),36163=>array(38,-68,921,837),36164=>array(71,-70,939,829),36165=>array(39,-79,956,827),36166=>array(31,-64,953,782),36167=>array(39,-69,972,826),36168=>array(39,-70,942,784),36169=>array(34,-70,942,823),36170=>array(39,-69,953,848),36171=>array(37,-69,955,834),36172=>array(39,-69,939,834),36173=>array(76,-70,886,824),36174=>array(43,-58,956,835),36175=>array(84,-54,912,841),36176=>array(39,-69,901,785),36177=>array(43,-66,1003,830),36178=>array(39,-69,911,794),36179=>array(40,-69,930,849),36180=>array(39,-69,939,843),36181=>array(39,-70,957,829),36182=>array(40,-63,943,834),36183=>array(39,-74,900,778),36184=>array(43,-69,915,827),36185=>array(39,-68,939,831),36186=>array(41,-65,951,849),36187=>array(38,-75,961,840),36188=>array(99,-67,936,828),36189=>array(31,-69,906,772),36190=>array(35,-75,930,836),36191=>array(46,-75,954,834),36192=>array(32,-71,895,827),36193=>array(22,-75,931,831),36194=>array(35,-69,949,842),36195=>array(55,-69,943,835),36196=>array(67,-75,930,830),36197=>array(31,-71,961,839),36198=>array(56,-63,984,848),36199=>array(48,-68,957,829),36200=>array(40,-67,966,825),36201=>array(28,-67,961,826),36202=>array(25,-80,971,825),36203=>array(51,-65,970,836),36204=>array(36,-76,962,823),36205=>array(25,-70,958,832),36206=>array(35,-79,975,833),36207=>array(32,-71,960,837),36208=>array(46,-74,960,830),36209=>array(69,-66,950,830),36210=>array(36,-62,963,833),36211=>array(50,-65,966,831),36212=>array(41,-73,967,829),36213=>array(23,-60,942,823),36214=>array(27,-72,965,831),36215=>array(35,-74,945,834),36216=>array(46,-71,973,825),36217=>array(39,-66,960,829),36218=>array(46,-71,973,824),36219=>array(46,-72,974,835),36220=>array(33,-64,968,835),36221=>array(44,-74,972,830),36222=>array(46,-72,974,835),36223=>array(46,-72,978,835),36224=>array(47,-71,970,832),36225=>array(18,-62,960,857),36226=>array(46,-72,974,835),36227=>array(46,-72,974,835),36228=>array(38,-65,975,833),36229=>array(33,-68,959,833),36230=>array(46,-72,978,835),36231=>array(46,-72,974,835),36232=>array(46,-72,974,835),36233=>array(40,-65,968,826),36234=>array(42,-74,962,832),36235=>array(26,-72,938,824),36236=>array(30,-61,967,836),36237=>array(39,-64,977,830),36238=>array(35,-68,978,832),36239=>array(36,-65,981,820),36240=>array(28,-61,973,828),36241=>array(42,-64,973,848),36242=>array(27,-65,965,826),36243=>array(28,-61,981,826),36244=>array(39,-68,976,831),36245=>array(46,-69,966,829),36246=>array(57,-68,966,824),36247=>array(28,-61,965,826),36248=>array(28,-61,965,826),36249=>array(41,-75,959,830),36250=>array(28,-61,965,826),36251=>array(36,-71,969,824),36252=>array(35,-68,970,833),36253=>array(46,-72,974,835),36254=>array(46,-72,974,835),36255=>array(58,-53,973,841),36256=>array(39,-71,977,824),36257=>array(41,-68,971,823),36258=>array(34,-64,960,835),36259=>array(31,-54,960,835),36260=>array(46,-72,974,836),36261=>array(37,-60,968,835),36262=>array(45,-53,974,845),36263=>array(37,-71,981,818),36264=>array(56,-71,966,834),36265=>array(46,-72,974,835),36266=>array(39,-57,979,833),36267=>array(32,-71,984,825),36268=>array(41,-64,983,830),36269=>array(33,-62,984,827),36270=>array(26,-67,975,829),36271=>array(33,-68,970,828),36272=>array(31,-72,979,835),36273=>array(22,-69,937,817),36274=>array(42,-65,970,832),36275=>array(55,-73,970,762),36276=>array(30,-74,968,786),36277=>array(53,-54,896,841),36278=>array(64,-65,967,790),36279=>array(48,-37,974,830),36280=>array(45,-73,940,761),36281=>array(57,-72,965,827),36282=>array(45,-72,974,829),36283=>array(45,-72,967,837),36284=>array(54,-76,947,783),36285=>array(45,-69,959,849),36286=>array(45,-24,954,822),36287=>array(35,-71,971,788),36288=>array(45,-65,870,788),36289=>array(56,-32,959,785),36290=>array(35,-53,954,841),36291=>array(39,-64,963,832),36292=>array(45,-34,953,814),36293=>array(47,-70,955,819),36294=>array(52,-68,972,837),36295=>array(61,-34,951,822),36296=>array(48,-69,960,839),36297=>array(45,-79,971,847),36298=>array(40,-61,967,836),36299=>array(21,-76,948,841),36300=>array(52,-59,975,844),36301=>array(55,-68,951,826),36302=>array(48,-27,950,839),36303=>array(46,-72,907,828),36304=>array(46,-59,964,822),36305=>array(45,-34,966,838),36306=>array(45,-62,965,788),36307=>array(47,-15,955,842),36308=>array(45,-52,921,846),36309=>array(41,-52,947,842),36310=>array(39,-53,947,786),36311=>array(41,-50,951,846),36312=>array(53,-70,956,825),36313=>array(59,-19,963,783),36314=>array(28,-67,919,781),36315=>array(53,-62,978,841),36316=>array(45,-72,954,790),36317=>array(31,-61,947,795),36318=>array(48,-62,939,817),36319=>array(46,-71,964,787),36320=>array(52,-73,975,823),36321=>array(47,-59,955,822),36322=>array(42,-63,913,836),36323=>array(40,-63,953,829),36324=>array(50,-65,983,846),36325=>array(46,-62,964,791),36326=>array(50,-70,977,829),36327=>array(43,-20,968,793),36328=>array(39,-64,962,841),36329=>array(44,-74,967,823),36330=>array(48,-65,965,852),36331=>array(29,-64,947,778),36332=>array(54,-23,958,829),36333=>array(40,-69,972,841),36334=>array(51,-33,956,779),36335=>array(29,-67,968,838),36336=>array(50,-73,954,829),36337=>array(40,-52,950,841),36338=>array(44,-54,963,858),36339=>array(41,-70,945,825),36340=>array(37,-68,952,789),36341=>array(40,-69,959,827),36342=>array(50,-49,982,788),36343=>array(52,-71,938,815),36344=>array(35,-64,929,808),36345=>array(42,-51,935,804),36346=>array(54,-64,979,794),36347=>array(43,-66,948,835),36348=>array(48,-55,916,800),36349=>array(48,-32,969,791),36350=>array(46,-72,974,827),36351=>array(51,-70,966,821),36352=>array(52,-73,970,781),36353=>array(46,-28,945,785),36354=>array(51,-70,961,783),36355=>array(51,-69,909,824),36356=>array(45,-64,955,830),36357=>array(44,-66,970,835),36358=>array(48,-72,970,827),36359=>array(51,-64,953,825),36360=>array(45,-54,960,841),36361=>array(58,-68,981,837),36362=>array(50,-64,897,800),36363=>array(80,-61,915,810),36364=>array(37,-61,917,828),36365=>array(47,-68,948,823),36366=>array(36,-54,969,797),36367=>array(53,-62,980,843),36368=>array(30,-55,945,841),36369=>array(55,-75,967,824),36370=>array(44,-72,965,829),36371=>array(45,-68,959,831),36372=>array(54,-62,965,838),36373=>array(44,-73,972,827),36374=>array(47,-61,972,837),36375=>array(52,-36,976,835),36376=>array(49,-63,916,837),36377=>array(51,-73,981,782),36378=>array(47,-68,984,836),36379=>array(44,-26,954,826),36380=>array(56,-71,982,823),36381=>array(43,-67,972,787),36382=>array(46,-69,952,785),36383=>array(28,-67,886,836),36384=>array(39,-76,966,843),36385=>array(48,-37,986,846),36386=>array(46,-58,907,794),36387=>array(48,-65,953,849),36388=>array(48,-69,954,840),36389=>array(38,-70,950,833),36390=>array(42,-62,965,844),36391=>array(41,-69,979,830),36392=>array(59,-65,975,837),36393=>array(48,-62,976,837),36394=>array(44,-57,969,834),36395=>array(45,-35,957,832),36396=>array(42,-68,921,823),36397=>array(53,-59,970,836),36398=>array(43,-65,949,845),36399=>array(38,-65,919,798),36400=>array(43,-64,962,832),36401=>array(49,-62,982,856),36402=>array(47,-67,950,840),36403=>array(39,-68,978,840),36404=>array(41,-56,918,801),36405=>array(45,-27,958,839),36406=>array(52,-55,987,803),36407=>array(72,-69,959,835),36408=>array(35,-26,953,824),36409=>array(53,-64,956,835),36410=>array(43,-73,946,805),36411=>array(72,-57,916,800),36412=>array(33,-79,963,778),36413=>array(46,-62,942,836),36414=>array(41,-65,932,787),36415=>array(32,-75,983,822),36416=>array(49,-65,975,830),36417=>array(48,-65,944,843),36418=>array(45,-61,984,799),36419=>array(72,-65,948,836),36420=>array(37,-67,946,826),36421=>array(39,-32,967,823),36422=>array(38,-65,954,800),36423=>array(34,-62,984,842),36424=>array(53,-62,937,835),36425=>array(30,-26,937,841),36426=>array(20,-61,967,842),36427=>array(49,-61,903,799),36428=>array(55,-64,982,866),36429=>array(34,-52,968,797),36430=>array(50,-79,961,833),36431=>array(34,-72,968,830),36432=>array(51,-62,986,846),36433=>array(35,-71,937,780),36434=>array(29,-66,914,818),36435=>array(47,-62,920,841),36436=>array(39,-54,972,839),36437=>array(34,-68,949,805),36438=>array(48,-70,965,834),36439=>array(49,-66,962,837),36440=>array(27,-61,966,802),36441=>array(55,-60,981,842),36442=>array(61,-37,960,816),36443=>array(50,-74,951,821),36444=>array(36,-52,915,857),36445=>array(43,-67,971,831),36446=>array(40,-82,959,828),36447=>array(39,-55,955,849),36448=>array(38,-60,958,835),36449=>array(36,-52,952,858),36450=>array(39,-52,948,855),36451=>array(47,-65,954,835),36452=>array(43,-65,979,831),36453=>array(45,-72,969,823),36454=>array(46,-74,905,836),36455=>array(59,-74,962,821),36456=>array(64,-65,971,837),36457=>array(33,-65,972,839),36458=>array(52,-81,965,825),36459=>array(29,-67,933,788),36460=>array(33,-26,969,836),36461=>array(44,-64,912,846),36462=>array(37,-43,974,813),36463=>array(31,-67,971,833),36464=>array(30,-66,939,802),36465=>array(59,-32,971,839),36466=>array(44,-72,970,834),36467=>array(46,-67,979,832),36468=>array(25,-68,956,828),36469=>array(33,-65,965,845),36470=>array(25,-70,965,788),36471=>array(37,-58,963,800),36472=>array(49,-70,974,827),36473=>array(44,-63,979,858),36474=>array(46,-63,962,842),36475=>array(34,-59,961,857),36476=>array(28,-64,963,832),36477=>array(39,-62,975,859),36478=>array(39,-73,973,837),36479=>array(39,-60,916,843),36480=>array(28,-68,951,802),36481=>array(31,-61,965,798),36482=>array(46,-68,977,836),36483=>array(36,-64,965,849),36484=>array(39,-57,960,843),36485=>array(57,-62,924,786),36486=>array(23,-67,976,837),36487=>array(36,-62,953,842),36488=>array(33,-72,982,841),36489=>array(44,-67,968,833),36490=>array(43,-58,958,839),36491=>array(32,-69,964,849),36492=>array(62,-72,961,833),36493=>array(35,-70,956,813),36494=>array(61,-71,958,783),36495=>array(50,-71,918,820),36496=>array(41,-63,974,852),36497=>array(32,-67,956,821),36498=>array(45,-52,961,856),36499=>array(39,-68,974,837),36500=>array(25,-67,941,848),36501=>array(36,-63,960,853),36502=>array(59,-68,915,835),36503=>array(36,-67,979,839),36504=>array(33,-65,967,838),36505=>array(37,-50,901,804),36506=>array(36,-66,973,815),36507=>array(36,-67,979,839),36508=>array(34,-75,927,824),36509=>array(37,-50,917,804),36510=>array(37,-65,985,847),36511=>array(39,-65,976,850),36512=>array(43,-67,960,829),36513=>array(30,-69,955,804),36514=>array(37,-50,910,805),36515=>array(50,-65,967,787),36516=>array(42,-64,956,831),36517=>array(33,-65,963,849),36518=>array(40,-75,975,829),36519=>array(42,-73,966,791),36520=>array(39,-68,956,841),36521=>array(41,-61,980,809),36522=>array(49,-59,964,837),36523=>array(74,-62,924,853),36524=>array(55,-60,904,839),36525=>array(40,-66,969,848),36526=>array(57,-61,968,846),36527=>array(47,-65,945,844),36528=>array(27,-53,969,851),36529=>array(56,-62,965,848),36530=>array(54,-62,976,843),36531=>array(53,-69,917,861),36532=>array(47,-68,972,844),36533=>array(49,-68,973,830),36534=>array(41,-68,965,830),36535=>array(41,-67,970,841),36536=>array(57,-68,956,830),36537=>array(53,-68,946,847),36538=>array(48,-62,936,851),36539=>array(45,-68,948,845),36540=>array(49,-68,975,830),36541=>array(35,-58,958,850),36542=>array(34,-62,969,843),36543=>array(45,-63,966,857),36544=>array(42,-60,964,853),36545=>array(45,-68,962,839),36546=>array(33,-70,969,829),36547=>array(53,-68,968,830),36548=>array(45,-68,977,845),36549=>array(26,-73,977,841),36550=>array(32,-58,946,848),36551=>array(53,-57,968,846),36552=>array(38,-61,948,848),36553=>array(38,-78,934,836),36554=>array(63,-71,935,832),36555=>array(54,-70,948,830),36556=>array(53,-74,957,831),36557=>array(91,-68,923,784),36558=>array(61,-67,913,819),36559=>array(52,-69,958,829),36560=>array(41,-69,958,827),36561=>array(61,-72,978,827),36562=>array(55,-68,951,832),36563=>array(64,-76,963,824),36564=>array(68,-67,917,830),36565=>array(65,-69,921,830),36566=>array(62,-69,961,827),36567=>array(63,-73,962,830),36568=>array(61,-65,957,835),36569=>array(50,-70,945,838),36570=>array(65,-69,977,838),36571=>array(60,-66,954,830),36572=>array(66,-70,918,827),36573=>array(46,-68,966,832),36574=>array(60,-70,961,836),36575=>array(62,-67,965,841),36576=>array(59,-64,949,827),36577=>array(61,-76,968,834),36578=>array(53,-69,964,827),36579=>array(61,-55,913,834),36580=>array(65,-70,950,827),36581=>array(60,-65,915,831),36582=>array(59,-69,956,832),36583=>array(57,-72,960,833),36584=>array(54,-69,965,845),36585=>array(68,-70,954,838),36586=>array(84,-75,924,835),36587=>array(51,-67,969,844),36588=>array(46,-64,966,855),36589=>array(43,-71,945,827),36590=>array(61,-80,968,829),36591=>array(57,-72,950,827),36592=>array(62,-50,940,835),36593=>array(58,-60,975,834),36594=>array(72,-76,929,833),36595=>array(72,-64,977,849),36596=>array(72,-64,962,839),36597=>array(63,-69,952,835),36598=>array(76,-67,970,829),36599=>array(57,-52,959,839),36600=>array(58,-76,913,831),36601=>array(57,-67,962,826),36602=>array(69,-67,918,832),36603=>array(54,-67,950,829),36604=>array(56,-67,979,829),36605=>array(52,-64,976,833),36606=>array(60,-67,968,836),36607=>array(55,-54,949,852),36608=>array(53,-56,948,836),36609=>array(56,-80,977,826),36610=>array(44,-69,961,829),36611=>array(59,-67,965,829),36612=>array(59,-69,970,829),36613=>array(47,-65,967,838),36614=>array(57,-75,960,836),36615=>array(62,-71,966,820),36616=>array(61,-63,959,838),36617=>array(63,-62,956,836),36618=>array(60,-64,954,831),36619=>array(28,-64,980,840),36620=>array(52,-72,939,831),36621=>array(58,-70,967,824),36622=>array(60,-69,937,826),36623=>array(65,-68,966,825),36624=>array(66,-70,973,824),36625=>array(60,-71,951,827),36626=>array(50,-67,967,830),36627=>array(58,-67,966,827),36628=>array(55,-73,948,833),36629=>array(57,-70,950,832),36630=>array(57,-70,900,822),36631=>array(54,-65,962,827),36632=>array(47,-57,966,835),36633=>array(46,-68,966,837),36634=>array(62,-70,971,834),36635=>array(52,-72,939,831),36636=>array(63,-71,940,835),36637=>array(41,-63,953,832),36638=>array(57,-65,924,831),36639=>array(60,-65,971,833),36640=>array(62,-71,978,823),36641=>array(77,-68,912,841),36642=>array(77,-65,956,849),36643=>array(62,-76,903,823),36644=>array(61,-70,953,832),36645=>array(54,-70,955,829),36646=>array(52,-62,954,831),36647=>array(57,-65,949,859),36648=>array(62,-65,930,846),36649=>array(55,-74,951,838),36650=>array(52,-71,971,868),36651=>array(52,-65,967,831),36652=>array(54,-57,970,849),36653=>array(65,-72,975,820),36654=>array(60,-68,977,826),36655=>array(62,-70,951,831),36656=>array(77,-65,959,831),36657=>array(47,-68,979,835),36658=>array(72,-64,957,835),36659=>array(47,-67,964,832),36660=>array(50,-72,951,833),36661=>array(60,-53,923,838),36662=>array(56,-66,947,852),36663=>array(65,-70,919,834),36664=>array(45,-70,960,849),36665=>array(60,-68,974,836),36666=>array(63,-71,940,833),36667=>array(46,-74,941,827),36668=>array(59,-70,959,823),36669=>array(42,-66,967,831),36670=>array(60,-71,964,831),36671=>array(66,-55,948,839),36672=>array(59,-70,959,823),36673=>array(52,-65,944,831),36674=>array(48,-68,968,836),36675=>array(66,-69,973,833),36676=>array(53,-62,949,837),36677=>array(50,-70,967,833),36678=>array(53,-68,958,835),36679=>array(58,-64,968,829),36680=>array(58,-70,974,828),36681=>array(56,-71,947,828),36682=>array(44,-72,943,837),36683=>array(55,-72,974,825),36684=>array(46,-66,946,831),36685=>array(42,-68,972,837),36686=>array(51,-61,964,841),36687=>array(63,-71,958,825),36688=>array(53,-69,969,826),36689=>array(55,-54,968,844),36690=>array(65,-72,959,829),36691=>array(60,-67,978,829),36692=>array(48,-67,954,833),36693=>array(61,-64,948,830),36694=>array(58,-68,962,829),36695=>array(50,-66,961,830),36696=>array(56,-70,984,831),36697=>array(50,-74,974,853),36698=>array(60,-62,971,828),36699=>array(69,-71,964,826),36700=>array(42,-65,970,831),36701=>array(46,-69,977,836),36702=>array(66,-73,958,829),36703=>array(63,-62,960,836),36704=>array(71,-68,929,824),36705=>array(32,-65,961,844),36706=>array(50,-65,970,831),36707=>array(45,-53,969,836),36708=>array(52,-67,956,832),36709=>array(55,-65,941,837),36710=>array(42,-61,956,833),36711=>array(69,-73,922,823),36712=>array(67,-78,940,828),36713=>array(63,-70,934,823),36714=>array(68,-70,977,838),36715=>array(63,-69,901,824),36716=>array(53,-66,935,826),36717=>array(52,-74,937,818),36718=>array(31,-55,951,835),36719=>array(73,-69,949,838),36720=>array(28,-57,939,837),36721=>array(52,-76,929,823),36722=>array(52,-74,933,818),36723=>array(44,-73,929,819),36724=>array(59,-74,903,821),36725=>array(63,-69,946,824),36726=>array(52,-74,962,826),36727=>array(25,-65,920,828),36728=>array(52,-74,952,840),36729=>array(41,-65,947,823),36730=>array(63,-68,901,824),36731=>array(51,-48,938,836),36732=>array(37,-75,936,833),36733=>array(58,-69,939,824),36734=>array(52,-74,930,818),36735=>array(31,-66,948,832),36736=>array(63,-68,960,838),36737=>array(44,-60,940,831),36738=>array(52,-67,950,836),36739=>array(54,-69,948,835),36740=>array(45,-69,937,827),36741=>array(52,-73,931,831),36742=>array(35,-57,925,833),36743=>array(43,-75,950,816),36744=>array(68,-70,932,821),36745=>array(42,-57,948,833),36746=>array(52,-74,942,818),36747=>array(63,-67,905,827),36748=>array(63,-68,966,849),36749=>array(43,-65,961,819),36750=>array(55,-73,922,833),36751=>array(55,-69,944,838),36752=>array(43,-74,923,818),36753=>array(56,-69,936,821),36754=>array(46,-69,959,821),36755=>array(61,-73,943,846),36756=>array(40,-65,914,829),36757=>array(41,-78,949,819),36758=>array(52,-73,931,838),36759=>array(52,-74,948,818),36760=>array(50,-65,951,842),36761=>array(46,-65,938,839),36762=>array(52,-68,947,831),36763=>array(77,-68,923,828),36764=>array(59,-62,945,837),36765=>array(29,-65,948,840),36766=>array(52,-55,953,832),36767=>array(36,-55,954,847),36768=>array(59,-67,945,839),36769=>array(33,-67,954,853),36770=>array(21,-58,954,853),36771=>array(33,-67,967,835),36772=>array(39,-82,974,853),36773=>array(42,-57,960,840),36774=>array(58,-79,932,829),36775=>array(32,-68,945,837),36776=>array(37,-71,949,831),36777=>array(53,-64,933,843),36778=>array(59,-51,947,857),36779=>array(40,-66,915,838),36780=>array(40,-79,945,838),36781=>array(46,-63,962,846),36782=>array(42,-81,959,834),36783=>array(61,-77,938,829),36784=>array(57,-63,963,785),36785=>array(33,-61,955,789),36786=>array(38,-78,963,834),36787=>array(44,-74,956,836),36788=>array(57,-77,968,785),36789=>array(46,-74,960,827),36790=>array(38,-57,938,814),36791=>array(50,-17,957,811),36792=>array(38,-57,938,814),36793=>array(33,-24,939,823),36794=>array(33,-24,939,804),36795=>array(50,-34,955,832),36796=>array(35,-54,965,820),36797=>array(44,-45,944,793),36798=>array(31,-35,940,825),36799=>array(44,-45,944,835),36800=>array(31,-53,952,817),36801=>array(50,-17,957,828),36802=>array(44,-45,944,793),36803=>array(31,-69,952,793),36804=>array(44,-45,944,832),36805=>array(39,-53,960,817),36806=>array(27,-56,957,841),36807=>array(36,-51,933,827),36808=>array(32,-41,938,798),36809=>array(55,-61,979,815),36810=>array(56,-53,940,781),36811=>array(43,-53,972,835),36812=>array(56,-53,940,782),36813=>array(33,-57,962,841),36814=>array(31,-53,952,833),36815=>array(46,-47,952,827),36816=>array(32,-46,944,800),36817=>array(31,-53,952,828),36818=>array(48,-63,970,829),36819=>array(45,-69,966,832),36820=>array(42,-52,960,822),36821=>array(36,-55,968,852),36822=>array(47,-66,979,827),36823=>array(66,-62,988,817),36824=>array(32,-33,927,812),36825=>array(36,-47,942,815),36826=>array(36,-47,942,801),36827=>array(24,-37,935,817),36828=>array(38,-49,941,809),36829=>array(41,-49,938,816),36830=>array(34,-44,944,810),36831=>array(41,-26,938,806),36832=>array(55,-64,973,844),36833=>array(63,-77,974,833),36834=>array(36,-47,942,808),36835=>array(43,-65,967,829),36836=>array(53,-62,968,842),36837=>array(36,-47,942,808),36838=>array(44,-45,944,827),36839=>array(56,-53,940,830),36840=>array(51,-71,975,841),36841=>array(43,-45,946,829),36842=>array(31,-53,952,831),36843=>array(40,-54,961,834),36844=>array(56,-53,940,820),36845=>array(31,-53,952,817),36846=>array(72,-69,979,840),36847=>array(36,-47,952,803),36848=>array(36,-44,959,828),36849=>array(36,-38,959,837),36850=>array(37,-56,951,815),36851=>array(41,-50,939,793),36852=>array(36,-47,965,813),36853=>array(49,-73,982,835),36854=>array(39,-76,975,837),36855=>array(31,-53,952,831),36856=>array(36,-47,965,840),36857=>array(36,-47,965,831),36858=>array(36,-47,965,813),36859=>array(31,-58,960,857),36860=>array(46,-74,972,827),36861=>array(31,-53,952,842),36862=>array(39,-70,974,832),36863=>array(46,-70,978,849),36864=>array(31,-53,952,818),36865=>array(31,-53,952,859),36866=>array(42,-65,935,859),36867=>array(31,-53,952,828),36868=>array(39,-65,982,851),36869=>array(36,-47,965,837),36870=>array(31,-53,952,838),36871=>array(31,-53,952,833),36872=>array(42,-65,948,858),36873=>array(28,-43,942,807),36874=>array(32,-48,940,807),36875=>array(46,-47,952,841),36876=>array(46,-78,968,826),36877=>array(51,-47,950,829),36878=>array(41,-53,962,801),36879=>array(33,-52,954,831),36880=>array(22,-53,953,817),36881=>array(36,-47,965,832),36882=>array(28,-30,930,839),36883=>array(37,-56,951,830),36884=>array(30,-55,951,849),36885=>array(36,-47,965,813),36886=>array(31,-47,960,830),36887=>array(39,-56,953,815),36888=>array(41,-56,959,838),36889=>array(44,-45,944,816),36890=>array(31,-53,952,817),36891=>array(50,-59,963,821),36892=>array(46,-73,980,823),36893=>array(24,-53,945,829),36894=>array(41,-47,970,813),36895=>array(31,-53,952,836),36896=>array(31,-42,946,830),36897=>array(36,-47,965,839),36898=>array(44,-45,944,839),36899=>array(37,-56,951,830),36900=>array(39,-71,980,822),36901=>array(37,-56,976,799),36902=>array(33,-46,939,787),36903=>array(50,-46,944,809),36904=>array(37,-56,951,836),36905=>array(49,-56,963,847),36906=>array(37,-56,951,824),36907=>array(37,-44,951,811),36908=>array(37,-48,951,836),36909=>array(45,-78,971,844),36910=>array(31,-53,952,829),36911=>array(43,-66,981,847),36912=>array(39,-66,963,834),36913=>array(37,-56,951,799),36914=>array(37,-60,951,831),36915=>array(37,-48,951,821),36916=>array(51,-75,976,829),36917=>array(36,-47,965,837),36918=>array(46,-47,952,833),36919=>array(45,-64,959,791),36920=>array(36,-54,957,841),36921=>array(26,-53,947,834),36922=>array(37,-56,951,835),36923=>array(39,-57,942,792),36924=>array(44,-45,944,799),36925=>array(43,-66,961,826),36926=>array(11,-73,952,836),36927=>array(43,-68,966,818),36928=>array(49,-56,963,845),36929=>array(31,-74,952,837),36930=>array(31,-53,952,848),36931=>array(49,-56,963,833),36932=>array(46,-68,960,835),36933=>array(37,-56,951,807),36934=>array(49,-64,963,845),36935=>array(36,-51,964,814),36936=>array(36,-55,964,812),36937=>array(31,-63,956,831),36938=>array(37,-56,960,842),36939=>array(37,-56,951,799),36940=>array(36,-51,964,826),36941=>array(33,-45,959,815),36942=>array(37,-56,951,799),36943=>array(31,-53,952,801),36944=>array(31,-53,952,801),36945=>array(31,-53,952,843),36946=>array(37,-56,950,821),36947=>array(31,-53,952,847),36948=>array(37,-56,951,834),36949=>array(37,-56,951,844),36950=>array(47,-56,955,810),36951=>array(49,-59,953,820),36952=>array(52,-56,960,832),36953=>array(37,-56,951,837),36954=>array(44,-69,963,841),36955=>array(36,-67,975,834),36956=>array(42,-41,961,823),36957=>array(37,-40,955,831),36958=>array(47,-56,955,828),36959=>array(37,-56,951,799),36960=>array(37,-44,953,835),36961=>array(37,-56,951,837),36962=>array(40,-65,961,829),36963=>array(25,-59,946,832),36964=>array(25,-59,946,817),36965=>array(37,-56,951,834),36966=>array(37,-56,951,807),36967=>array(84,-56,977,838),36968=>array(47,-56,955,834),36969=>array(37,-56,951,839),36970=>array(37,-56,952,835),36971=>array(49,-70,982,827),36972=>array(37,-64,977,831),36973=>array(31,-53,952,830),36974=>array(36,-47,939,835),36975=>array(50,-59,955,795),36976=>array(40,-54,976,843),36977=>array(37,-56,972,831),36978=>array(47,-56,961,815),36979=>array(56,-72,981,832),36980=>array(40,-72,973,836),36981=>array(35,-49,958,841),36982=>array(47,-56,965,838),36983=>array(37,-56,956,807),36984=>array(37,-56,951,799),36985=>array(38,-52,975,826),36986=>array(37,-56,951,835),36987=>array(41,-73,976,820),36988=>array(37,-56,968,838),36989=>array(47,-56,961,835),36990=>array(45,-66,972,840),36991=>array(31,-53,952,824),36992=>array(47,-51,961,837),36993=>array(47,-51,961,829),36994=>array(47,-56,961,841),36995=>array(52,-56,966,841),36996=>array(37,-56,951,808),36997=>array(44,-70,972,846),36998=>array(39,-69,980,826),36999=>array(36,-47,971,828),37000=>array(18,-65,964,846),37001=>array(47,-51,961,837),37002=>array(47,-51,961,838),37003=>array(40,-65,971,848),37004=>array(45,-56,961,825),37005=>array(38,-72,983,848),37006=>array(37,-68,971,820),37007=>array(52,-51,966,820),37008=>array(42,-65,973,813),37009=>array(124,-30,927,784),37010=>array(84,-70,942,782),37011=>array(30,-60,912,790),37012=>array(72,-64,934,788),37013=>array(75,-24,931,841),37014=>array(114,-60,912,819),37015=>array(69,-69,939,787),37016=>array(60,-63,938,794),37017=>array(49,-69,958,799),37018=>array(85,-69,939,818),37019=>array(73,-69,939,781),37020=>array(57,-69,939,844),37021=>array(38,-65,916,842),37022=>array(55,-66,956,827),37023=>array(44,-60,947,838),37024=>array(45,-71,953,786),37025=>array(68,-71,959,841),37026=>array(51,-70,945,785),37027=>array(57,-70,940,786),37028=>array(41,-69,955,816),37029=>array(56,-68,950,832),37030=>array(76,-75,937,830),37031=>array(52,-69,945,785),37032=>array(57,-65,938,833),37033=>array(73,-91,911,814),37034=>array(48,-65,941,785),37035=>array(36,-75,959,830),37036=>array(47,-61,912,837),37037=>array(61,-72,943,834),37038=>array(89,-72,911,823),37039=>array(36,-67,919,831),37040=>array(75,-69,954,833),37041=>array(55,-63,927,828),37042=>array(46,-71,956,827),37043=>array(56,-68,957,784),37044=>array(51,-59,947,797),37045=>array(51,-68,938,786),37046=>array(33,-74,939,811),37047=>array(73,-74,941,780),37048=>array(63,-70,939,828),37049=>array(39,-68,917,809),37050=>array(40,-67,923,804),37051=>array(44,-60,909,829),37052=>array(93,-58,942,788),37053=>array(56,-68,943,824),37054=>array(41,-54,954,840),37055=>array(62,-68,943,827),37056=>array(32,-65,942,839),37057=>array(48,-68,942,840),37058=>array(53,-74,958,835),37059=>array(57,-72,959,829),37060=>array(31,-64,945,850),37061=>array(61,-69,957,783),37062=>array(82,-68,963,824),37063=>array(37,-63,961,847),37064=>array(46,-53,947,860),37065=>array(51,-70,945,785),37066=>array(54,-64,936,822),37067=>array(133,-67,930,833),37068=>array(49,-48,955,826),37069=>array(50,-76,910,845),37070=>array(51,-65,930,832),37071=>array(39,-70,912,820),37072=>array(26,-64,915,835),37073=>array(35,-59,921,832),37074=>array(102,-31,968,826),37075=>array(63,-70,930,780),37076=>array(52,-71,958,813),37077=>array(31,-52,958,852),37078=>array(51,-65,949,788),37079=>array(47,-69,968,837),37080=>array(121,-66,931,787),37081=>array(62,-76,956,826),37082=>array(66,-70,956,781),37083=>array(38,-68,939,834),37084=>array(80,-74,966,827),37085=>array(59,-62,947,836),37086=>array(77,-65,910,833),37087=>array(19,-74,942,829),37088=>array(48,-71,950,777),37089=>array(41,-68,945,787),37090=>array(46,-68,955,785),37091=>array(59,-70,944,823),37092=>array(40,-67,943,834),37093=>array(61,-68,954,786),37094=>array(62,-64,930,786),37095=>array(35,-69,916,783),37096=>array(59,-67,943,830),37097=>array(47,-70,952,836),37098=>array(52,-71,956,827),37099=>array(63,-69,967,847),37100=>array(73,-71,949,829),37101=>array(52,-58,941,837),37102=>array(33,-69,941,786),37103=>array(46,-70,962,831),37104=>array(46,-73,947,787),37105=>array(59,-69,938,827),37106=>array(46,-70,951,834),37107=>array(41,-70,949,828),37108=>array(49,-69,963,825),37109=>array(52,-69,942,831),37110=>array(59,-65,965,840),37111=>array(38,-70,947,833),37112=>array(43,-58,914,831),37113=>array(43,-70,954,786),37114=>array(36,-66,967,830),37115=>array(86,-69,960,783),37116=>array(60,-68,952,841),37117=>array(50,-67,949,835),37118=>array(80,-69,963,786),37119=>array(42,-69,966,785),37120=>array(44,-55,947,838),37121=>array(37,-74,951,826),37122=>array(62,-68,948,785),37123=>array(29,-68,954,843),37124=>array(57,-68,962,785),37125=>array(60,-53,947,848),37126=>array(71,-69,963,782),37127=>array(34,-70,959,838),37128=>array(33,-70,953,835),37129=>array(53,-70,938,839),37130=>array(53,-70,938,830),37131=>array(44,-69,951,826),37132=>array(23,-69,965,848),37133=>array(44,-75,949,783),37134=>array(25,-62,953,840),37135=>array(46,-71,948,802),37136=>array(62,-69,955,842),37137=>array(68,-68,949,785),37138=>array(53,-72,949,842),37139=>array(41,-66,949,841),37140=>array(37,-66,945,844),37141=>array(41,-70,938,831),37142=>array(45,-77,968,783),37143=>array(63,-67,951,837),37144=>array(40,-69,957,843),37145=>array(42,-70,933,783),37146=>array(47,-72,935,825),37147=>array(45,-69,953,835),37148=>array(51,-64,953,850),37149=>array(42,-68,940,785),37150=>array(52,-65,948,830),37151=>array(57,-70,943,824),37152=>array(58,-65,954,795),37153=>array(27,-69,945,838),37154=>array(37,-68,966,784),37155=>array(65,-69,940,838),37156=>array(47,-68,947,803),37157=>array(37,-66,946,844),37158=>array(24,-70,950,830),37159=>array(46,-65,951,832),37160=>array(101,-39,946,829),37161=>array(49,-73,950,781),37162=>array(49,-80,955,833),37163=>array(95,-55,942,853),37164=>array(48,-78,965,836),37165=>array(57,-77,956,839),37166=>array(46,-73,952,836),37167=>array(66,-67,947,849),37168=>array(62,-77,949,833),37169=>array(35,-70,953,836),37170=>array(49,-66,951,787),37171=>array(104,-67,949,787),37172=>array(40,-69,974,824),37173=>array(41,-68,960,797),37174=>array(18,-74,962,847),37175=>array(48,-71,943,830),37176=>array(59,-67,941,834),37177=>array(43,-70,960,793),37178=>array(34,-70,949,845),37179=>array(63,-75,958,829),37180=>array(25,-75,958,827),37181=>array(22,-75,978,858),37182=>array(48,-65,954,789),37183=>array(59,-67,958,832),37184=>array(42,-73,959,829),37185=>array(40,-79,954,836),37186=>array(44,-50,960,801),37187=>array(85,-68,956,796),37188=>array(40,-69,958,825),37189=>array(45,-65,956,837),37190=>array(47,-68,947,827),37191=>array(52,-62,962,844),37192=>array(30,-67,951,805),37193=>array(54,-63,946,779),37194=>array(59,-54,953,788),37195=>array(60,-67,950,840),37196=>array(64,-63,915,844),37197=>array(63,-67,945,790),37198=>array(62,-65,954,832),37199=>array(60,-54,961,825),37200=>array(59,-60,950,790),37201=>array(56,-45,966,798),37202=>array(47,-62,943,790),37203=>array(46,-72,966,849),37204=>array(40,-68,979,837),37205=>array(59,-54,957,809),37206=>array(66,-61,973,836),37207=>array(55,-53,916,808),37208=>array(56,-75,984,791),37209=>array(56,-72,955,826),37210=>array(55,-53,962,790),37211=>array(35,-68,969,787),37212=>array(45,-68,980,842),37213=>array(52,-61,943,782),37214=>array(54,-70,968,837),37215=>array(56,-70,943,816),37216=>array(55,-57,956,790),37217=>array(55,-53,959,836),37218=>array(50,-64,951,835),37219=>array(53,-65,955,830),37220=>array(55,-58,951,836),37221=>array(63,-65,977,828),37222=>array(46,-64,972,820),37223=>array(66,-61,965,849),37224=>array(69,-70,961,833),37225=>array(76,-65,919,839),37226=>array(51,-67,967,840),37227=>array(30,-68,958,820),37228=>array(66,-65,913,835),37229=>array(45,-68,956,834),37230=>array(55,-64,932,790),37231=>array(55,-71,953,816),37232=>array(53,-70,974,836),37233=>array(65,-62,922,837),37234=>array(50,-53,946,790),37235=>array(60,-68,960,825),37236=>array(55,-63,968,841),37237=>array(61,-71,949,830),37238=>array(59,-71,955,840),37239=>array(59,-61,924,829),37240=>array(40,-73,967,849),37241=>array(55,-64,952,830),37242=>array(55,-66,960,828),37243=>array(60,-68,973,835),37244=>array(25,-68,977,833),37245=>array(49,-64,920,771),37246=>array(50,-45,913,775),37247=>array(43,-60,939,841),37248=>array(55,-68,955,822),37249=>array(55,-73,963,831),37250=>array(58,-70,975,820),37251=>array(55,-55,971,831),37252=>array(55,-60,929,826),37253=>array(55,-67,952,838),37254=>array(59,-68,964,832),37255=>array(54,-64,960,831),37256=>array(55,-69,978,839),37257=>array(56,-71,951,835),37258=>array(51,-63,967,793),37259=>array(59,-72,949,818),37260=>array(58,-54,961,789),37261=>array(53,-65,966,787),37262=>array(49,-69,955,834),37263=>array(55,-66,951,825),37264=>array(68,-66,919,828),37265=>array(55,-68,966,790),37266=>array(66,-38,962,798),37267=>array(55,-53,963,830),37268=>array(48,-70,951,844),37269=>array(35,-68,949,845),37270=>array(40,-68,963,787),37271=>array(53,-64,968,834),37272=>array(45,-68,953,822),37273=>array(55,-69,964,824),37274=>array(47,-73,961,821),37275=>array(55,-53,968,821),37276=>array(59,-65,974,847),37277=>array(55,-53,952,829),37278=>array(55,-53,958,790),37279=>array(86,-63,921,831),37280=>array(55,-53,967,828),37281=>array(56,-69,948,838),37282=>array(51,-52,941,840),37283=>array(50,-67,954,844),37284=>array(53,-74,947,845),37285=>array(55,-67,963,799),37286=>array(60,-61,967,848),37287=>array(48,-53,957,790),37288=>array(55,-69,954,827),37289=>array(54,-53,961,848),37290=>array(48,-69,975,790),37291=>array(51,-71,945,784),37292=>array(63,-78,955,853),37293=>array(57,-72,981,823),37294=>array(54,-66,952,833),37295=>array(47,-58,959,836),37296=>array(60,-48,960,811),37297=>array(53,-62,977,846),37298=>array(46,-74,972,825),37299=>array(66,-70,962,784),37300=>array(51,-57,952,829),37301=>array(43,-65,970,828),37302=>array(51,-66,947,847),37303=>array(51,-62,965,838),37304=>array(51,-79,979,837),37305=>array(52,-55,944,803),37306=>array(53,-66,959,832),37307=>array(62,-64,961,835),37308=>array(49,-67,963,826),37309=>array(53,-48,939,810),37310=>array(47,-65,961,838),37311=>array(55,-66,961,837),37312=>array(62,-72,982,842),37313=>array(52,-75,964,833),37314=>array(59,-64,962,848),37315=>array(54,-72,964,790),37316=>array(55,-63,961,837),37317=>array(50,-65,981,795),37318=>array(50,-70,966,824),37319=>array(52,-68,956,829),37320=>array(42,-66,978,827),37321=>array(45,-66,907,842),37322=>array(47,-61,934,806),37323=>array(36,-70,951,821),37324=>array(52,-19,948,796),37325=>array(69,-34,947,831),37326=>array(64,-64,931,784),37327=>array(53,-30,947,789),37328=>array(29,-56,953,844),37329=>array(54,-21,960,856),37330=>array(39,-26,547,829),37331=>array(39,-30,959,829),37332=>array(35,-32,954,824),37333=>array(48,-64,944,828),37334=>array(39,-73,934,829),37335=>array(59,-62,909,831),37336=>array(45,-52,956,843),37337=>array(49,-65,958,833),37338=>array(42,-72,967,845),37339=>array(39,-66,927,834),37340=>array(66,-25,948,833),37341=>array(44,-67,950,831),37342=>array(39,-57,958,829),37343=>array(39,-71,989,829),37344=>array(39,-71,967,829),37345=>array(86,-21,916,833),37346=>array(58,-75,940,840),37347=>array(55,-61,921,841),37348=>array(48,-65,957,832),37349=>array(39,-72,982,829),37350=>array(54,-50,906,813),37351=>array(48,-62,896,837),37352=>array(42,-72,957,829),37353=>array(39,-67,959,831),37354=>array(45,-71,956,829),37355=>array(36,-69,955,826),37356=>array(39,-71,958,823),37357=>array(36,-18,955,824),37358=>array(42,-74,953,834),37359=>array(39,-26,930,833),37360=>array(39,-49,916,829),37361=>array(36,-60,963,835),37362=>array(48,-38,958,829),37363=>array(29,-29,961,827),37364=>array(39,-67,958,834),37365=>array(42,-67,965,830),37366=>array(39,-26,963,841),37367=>array(41,-17,953,827),37368=>array(48,-69,920,831),37369=>array(41,-68,950,830),37370=>array(39,-67,942,829),37371=>array(42,-56,964,843),37372=>array(37,-60,969,823),37373=>array(40,-64,967,834),37374=>array(54,-59,967,827),37375=>array(42,-61,959,847),37376=>array(36,-35,954,830),37377=>array(46,-64,948,835),37378=>array(42,-63,966,839),37379=>array(35,-72,957,834),37380=>array(49,-64,964,831),37381=>array(35,-73,894,841),37382=>array(41,-68,972,836),37383=>array(37,-58,966,840),37384=>array(34,-64,959,827),37385=>array(56,-68,914,823),37386=>array(44,-26,972,836),37387=>array(37,-62,954,840),37388=>array(46,-73,985,837),37389=>array(37,-52,965,839),37390=>array(61,-57,920,841),37391=>array(35,-72,898,823),37392=>array(40,-70,977,840),37393=>array(41,-62,971,831),37394=>array(40,-68,979,840),37395=>array(37,-22,958,840),37396=>array(35,-60,973,829),37397=>array(41,-30,951,833),37398=>array(32,-70,976,832),37399=>array(38,-60,966,838),37400=>array(44,-68,973,841),37401=>array(40,-70,990,834),37402=>array(38,-69,962,831),37403=>array(37,-52,949,840),37404=>array(38,-63,964,836),37405=>array(44,-71,954,840),37406=>array(65,-57,923,839),37407=>array(51,-66,896,840),37408=>array(37,-65,964,840),37409=>array(37,-66,891,840),37410=>array(31,-72,980,832),37411=>array(51,-65,944,830),37412=>array(39,-71,909,827),37413=>array(44,-67,976,826),37414=>array(46,-69,951,833),37415=>array(44,-66,964,841),37416=>array(37,-51,949,840),37417=>array(37,-66,928,840),37418=>array(45,-71,970,827),37419=>array(37,-63,961,842),37420=>array(37,-66,981,840),37421=>array(37,-21,968,823),37422=>array(43,-60,953,833),37423=>array(37,-66,922,842),37424=>array(35,-64,954,846),37425=>array(31,-57,964,839),37426=>array(29,-72,976,839),37427=>array(35,-61,957,833),37428=>array(35,-65,975,846),37429=>array(37,-62,962,840),37430=>array(46,-69,961,831),37431=>array(38,-65,948,833),37432=>array(47,-66,975,833),37433=>array(32,-67,972,839),37434=>array(47,-14,950,831),37435=>array(37,-47,912,843),37436=>array(37,-65,948,844),37437=>array(39,-68,944,837),37438=>array(64,-70,912,828),37439=>array(42,-42,918,827),37440=>array(56,-67,914,823),37441=>array(57,-72,971,850),37442=>array(56,-68,970,833),37443=>array(56,-67,967,828),37444=>array(27,-59,974,841),37445=>array(42,-17,953,826),37446=>array(44,-73,950,829),37447=>array(56,-29,943,830),37448=>array(24,-30,957,829),37449=>array(35,-70,981,829),37450=>array(35,-71,920,830),37451=>array(33,-45,964,834),37452=>array(28,-70,981,831),37453=>array(32,-78,967,837),37454=>array(35,-30,954,834),37455=>array(27,-20,947,834),37456=>array(35,-71,950,838),37457=>array(70,-68,919,845),37458=>array(38,-29,952,833),37459=>array(31,-73,948,834),37460=>array(37,-29,953,828),37461=>array(37,-29,953,828),37462=>array(39,-78,986,840),37463=>array(37,-68,958,833),37464=>array(56,-62,932,829),37465=>array(56,-68,948,823),37466=>array(59,-74,912,837),37467=>array(51,-67,959,823),37468=>array(56,-64,962,837),37469=>array(56,-22,955,835),37470=>array(40,-62,966,829),37471=>array(56,-27,971,823),37472=>array(29,-74,976,830),37473=>array(44,-72,953,834),37474=>array(31,-73,980,831),37475=>array(39,-54,953,837),37476=>array(45,-59,919,834),37477=>array(31,-58,959,838),37478=>array(41,-18,954,832),37479=>array(36,-58,957,828),37480=>array(56,-58,934,836),37481=>array(56,-28,979,844),37482=>array(56,-22,954,830),37483=>array(46,-57,937,831),37484=>array(63,-69,913,831),37485=>array(38,-12,959,830),37486=>array(55,-62,913,838),37487=>array(34,-69,967,837),37488=>array(48,-71,908,838),37489=>array(37,-66,948,823),37490=>array(39,-70,953,844),37491=>array(36,-59,964,824),37492=>array(28,-17,947,835),37493=>array(41,-42,983,832),37494=>array(39,-53,907,847),37495=>array(35,-71,948,837),37496=>array(31,-63,973,840),37497=>array(44,-69,941,831),37498=>array(30,-64,959,833),37499=>array(34,-67,966,824),37500=>array(37,-59,962,854),37501=>array(53,-65,963,835),37502=>array(31,-71,969,830),37503=>array(41,-67,974,847),37504=>array(44,-56,968,827),37505=>array(56,-60,909,836),37506=>array(52,-69,903,835),37507=>array(39,-64,960,835),37508=>array(39,-64,914,844),37509=>array(50,-70,921,829),37510=>array(51,-70,949,833),37511=>array(59,-68,980,835),37512=>array(47,-31,956,837),37513=>array(34,-61,955,841),37514=>array(50,-71,957,836),37515=>array(43,-68,952,835),37516=>array(46,-69,955,841),37517=>array(34,-20,947,835),37518=>array(32,-14,968,800),37519=>array(26,-68,974,823),37520=>array(43,-32,967,828),37521=>array(33,-70,959,837),37522=>array(56,-69,956,823),37523=>array(35,-24,973,830),37524=>array(50,-70,955,834),37525=>array(33,-73,970,830),37526=>array(30,-64,967,839),37527=>array(47,-73,952,837),37528=>array(64,-69,903,840),37529=>array(54,-67,967,834),37530=>array(41,-66,964,838),37531=>array(37,-63,959,837),37532=>array(38,-73,961,832),37533=>array(35,-76,964,832),37534=>array(41,-22,964,848),37535=>array(47,-67,930,837),37536=>array(31,-36,958,831),37537=>array(43,-73,945,831),37538=>array(58,-70,969,832),37539=>array(54,-63,927,837),37540=>array(54,-73,964,832),37541=>array(37,-65,963,844),37542=>array(48,-52,921,834),37543=>array(52,-71,961,835),37544=>array(35,-63,951,848),37545=>array(42,-51,955,829),37546=>array(46,-65,954,837),37547=>array(51,-32,971,837),37548=>array(34,-63,956,832),37549=>array(56,-70,933,826),37550=>array(35,-27,960,825),37551=>array(56,-67,952,824),37552=>array(51,-66,949,835),37553=>array(30,-70,942,841),37554=>array(30,-52,958,841),37555=>array(39,-69,959,833),37556=>array(31,-37,987,838),37557=>array(42,-71,969,846),37558=>array(47,-62,975,835),37559=>array(50,-67,942,833),37560=>array(30,-67,953,827),37561=>array(35,-70,958,838),37562=>array(27,-47,987,832),37563=>array(60,-67,925,836),37564=>array(39,-23,955,835),37565=>array(28,-54,981,831),37566=>array(58,-70,969,832),37567=>array(29,-64,895,840),37568=>array(28,-30,953,839),37569=>array(53,-69,917,819),37570=>array(38,-75,975,832),37571=>array(50,-63,978,846),37572=>array(47,-74,984,835),37573=>array(46,-70,951,834),37574=>array(39,-25,964,835),37575=>array(48,-67,961,833),37576=>array(36,-25,967,838),37577=>array(43,-69,975,841),37578=>array(34,-68,984,840),37579=>array(48,-46,977,854),37580=>array(45,-69,968,834),37581=>array(35,-73,957,835),37582=>array(28,-66,970,844),37583=>array(42,-70,980,835),37584=>array(42,-65,957,834),37585=>array(32,-76,968,841),37586=>array(41,-61,980,841),37587=>array(42,-70,916,833),37588=>array(28,-67,967,848),37589=>array(57,-40,982,825),37590=>array(33,-74,959,838),37591=>array(36,-64,903,844),37592=>array(43,-72,978,823),37593=>array(35,-48,947,839),37594=>array(34,-25,966,842),37595=>array(41,-68,931,832),37596=>array(33,-73,970,838),37597=>array(37,-70,954,840),37598=>array(32,-30,954,833),37599=>array(38,-66,979,833),37600=>array(31,-78,971,846),37601=>array(37,-70,981,840),37602=>array(33,-56,973,838),37603=>array(42,-72,958,829),37604=>array(45,-70,919,834),37605=>array(33,-16,950,838),37606=>array(42,-68,930,829),37607=>array(36,-72,969,838),37608=>array(36,-64,955,836),37609=>array(39,-21,954,830),37610=>array(43,-70,951,835),37611=>array(19,-25,951,835),37612=>array(34,-24,966,833),37613=>array(39,-70,959,834),37614=>array(43,-70,964,840),37615=>array(46,-65,957,831),37616=>array(40,-27,954,836),37617=>array(35,-60,968,831),37618=>array(39,-64,954,835),37619=>array(37,-60,945,838),37620=>array(43,-66,954,838),37621=>array(39,-64,960,835),37622=>array(33,-70,973,843),37623=>array(26,-76,968,826),37624=>array(39,-68,945,830),37625=>array(25,-71,962,835),37626=>array(35,-67,965,831),37627=>array(37,-27,971,782),37628=>array(62,-68,908,824),37629=>array(33,-62,965,838),37630=>array(25,-70,914,836),37631=>array(28,-69,920,833),37632=>array(29,-64,982,841),37633=>array(37,-65,977,833),37634=>array(42,-57,971,842),37635=>array(34,-42,966,836),37636=>array(57,-64,968,841),37637=>array(49,-46,946,832),37638=>array(38,-64,953,842),37639=>array(38,-70,947,841),37640=>array(30,-41,978,839),37641=>array(40,-71,967,837),37642=>array(40,-64,960,845),37643=>array(21,-80,903,821),37644=>array(25,-70,941,836),37645=>array(37,-69,959,842),37646=>array(36,-68,905,836),37647=>array(29,-24,962,833),37648=>array(48,-68,954,832),37649=>array(33,-69,972,842),37650=>array(30,-66,956,826),37651=>array(28,-66,964,837),37652=>array(33,-53,975,841),37653=>array(53,-42,961,837),37654=>array(44,-32,981,836),37655=>array(30,-62,958,842),37656=>array(43,-32,952,832),37657=>array(44,-65,934,844),37658=>array(27,-64,957,832),37659=>array(36,-64,994,845),37660=>array(27,-27,971,840),37661=>array(24,-54,969,838),37662=>array(30,-58,951,846),37663=>array(35,-59,968,843),37664=>array(41,-72,963,839),37665=>array(38,-65,952,837),37666=>array(48,-67,956,832),37667=>array(31,-61,962,835),37668=>array(46,-74,981,833),37669=>array(33,-68,954,843),37670=>array(68,-67,920,849),37671=>array(37,-48,923,860),37672=>array(42,-67,956,836),37673=>array(49,-64,907,838),37674=>array(37,-58,973,838),37675=>array(55,-60,917,824),37676=>array(57,-64,973,835),37677=>array(36,-75,905,840),37678=>array(58,-70,917,836),37679=>array(39,-64,955,836),37680=>array(39,-90,986,836),37681=>array(54,-62,948,844),37682=>array(39,-64,973,836),37683=>array(44,-32,956,824),37684=>array(29,-30,956,825),37685=>array(29,-65,962,833),37686=>array(29,-57,974,841),37687=>array(29,-70,983,835),37688=>array(33,-64,975,836),37689=>array(40,-65,956,836),37690=>array(40,-65,958,837),37691=>array(50,-64,962,846),37692=>array(37,-65,978,838),37693=>array(44,-72,981,833),37694=>array(31,-18,938,825),37695=>array(34,-67,951,834),37696=>array(42,-53,957,845),37697=>array(33,-72,961,833),37698=>array(34,-31,982,843),37699=>array(34,-29,961,842),37700=>array(38,-60,967,832),37701=>array(50,-57,962,831),37702=>array(50,-65,921,830),37703=>array(52,-62,979,844),37704=>array(33,-64,964,835),37705=>array(36,-71,978,828),37706=>array(18,-53,969,847),37707=>array(54,-67,914,834),37708=>array(54,-43,971,817),37709=>array(46,-78,969,833),37710=>array(42,-68,951,837),37711=>array(47,-70,959,832),37712=>array(46,-67,983,839),37713=>array(44,-72,981,835),37714=>array(41,-71,979,834),37715=>array(41,-67,954,834),37716=>array(44,-60,965,839),37717=>array(47,-76,964,824),37718=>array(43,-74,955,818),37719=>array(50,-67,943,843),37720=>array(49,-67,915,830),37721=>array(49,-43,973,817),37722=>array(39,-68,964,825),37723=>array(42,-69,971,830),37724=>array(42,-50,963,842),37725=>array(42,-70,944,842),37726=>array(49,-81,978,832),37727=>array(49,-28,954,832),37728=>array(39,-21,957,851),37729=>array(32,-71,970,829),37730=>array(42,-65,948,842),37731=>array(47,-71,950,829),37732=>array(43,-64,960,844),37733=>array(48,-62,976,841),37734=>array(38,-69,957,841),37735=>array(52,-65,926,836),37736=>array(39,-58,955,835),37737=>array(37,-65,973,836),37738=>array(42,-23,981,842),37739=>array(43,-39,967,842),37740=>array(43,-73,974,833),37741=>array(39,-53,964,844),37742=>array(41,-63,969,840),37743=>array(41,-47,960,848),37744=>array(43,-67,981,844),37745=>array(35,-50,968,845),37746=>array(43,-52,963,843),37747=>array(39,-40,973,837),37748=>array(43,-63,954,843),37749=>array(38,-66,963,823),37750=>array(48,-32,965,823),37751=>array(36,-37,978,824),37752=>array(34,-71,923,833),37753=>array(45,-37,961,834),37754=>array(39,-64,950,838),37755=>array(57,-73,936,824),37756=>array(28,-60,963,842),37757=>array(36,-67,917,840),37758=>array(36,-30,959,842),37759=>array(36,-71,925,838),37760=>array(38,-67,976,837),37761=>array(38,-65,969,834),37762=>array(44,-74,968,837),37763=>array(35,-68,974,844),37764=>array(44,-75,969,842),37765=>array(26,-54,969,846),37766=>array(39,-73,951,833),37767=>array(44,-72,920,818),37768=>array(29,-49,956,848),37769=>array(35,-69,920,833),37770=>array(50,-67,925,847),37771=>array(44,-70,938,839),37772=>array(25,-66,970,847),37773=>array(34,-65,971,834),37774=>array(27,-69,978,842),37775=>array(33,-30,986,843),37776=>array(33,-58,957,835),37777=>array(34,-34,957,833),37778=>array(32,-70,970,826),37779=>array(44,-81,969,822),37780=>array(26,-51,963,842),37781=>array(39,-68,964,845),37782=>array(42,-70,970,837),37783=>array(41,-60,970,855),37784=>array(39,-67,954,826),37785=>array(33,-73,924,823),37786=>array(28,-73,965,838),37787=>array(40,-53,951,843),37788=>array(40,-50,976,846),37789=>array(40,-62,988,835),37790=>array(30,-50,960,845),37791=>array(34,-71,986,827),37792=>array(44,-37,953,834),37793=>array(33,-64,955,851),37794=>array(37,-66,950,839),37795=>array(39,-33,972,835),37796=>array(36,-61,974,836),37797=>array(40,-30,976,836),37798=>array(48,-67,925,830),37799=>array(37,-24,960,832),37800=>array(40,-65,965,840),37801=>array(47,-62,990,836),37802=>array(41,-72,975,835),37803=>array(44,-57,976,823),37804=>array(45,-70,936,832),37805=>array(37,-78,963,833),37806=>array(38,-69,952,836),37807=>array(32,-65,954,837),37808=>array(39,-38,961,824),37809=>array(33,-67,974,837),37810=>array(34,-63,980,838),37811=>array(35,-67,965,846),37812=>array(34,-42,980,836),37813=>array(32,-56,967,843),37814=>array(44,-64,929,818),37815=>array(44,-62,936,838),37816=>array(44,-66,950,837),37817=>array(37,-48,968,822),37818=>array(19,-73,981,837),37819=>array(48,-70,959,840),37820=>array(41,-70,942,835),37821=>array(39,-64,970,839),37822=>array(44,-38,968,818),37823=>array(49,-65,969,855),37824=>array(54,-67,926,834),37825=>array(43,-65,970,839),37826=>array(37,-35,957,828),37827=>array(31,-66,974,837),37828=>array(41,-67,962,838),37829=>array(37,-66,958,847),37830=>array(45,-66,955,830),37831=>array(28,-57,973,848),37832=>array(45,-63,969,835),37833=>array(48,-76,966,834),37834=>array(38,-30,979,846),37835=>array(31,-67,951,829),37836=>array(28,-57,978,844),37837=>array(34,-71,962,831),37838=>array(32,-71,962,831),37839=>array(40,-23,957,824),37840=>array(39,-69,960,841),37841=>array(35,-64,951,833),37842=>array(44,-67,983,841),37843=>array(44,-44,989,850),37844=>array(43,-71,965,840),37845=>array(36,-63,961,845),37846=>array(25,-66,967,837),37847=>array(34,-20,968,832),37848=>array(31,-65,953,833),37849=>array(47,-67,967,837),37850=>array(44,-70,982,835),37851=>array(44,-64,933,839),37852=>array(46,-23,956,827),37853=>array(39,-60,984,841),37854=>array(39,-70,956,839),37855=>array(40,-71,954,847),37856=>array(21,-52,989,843),37857=>array(34,-73,964,836),37858=>array(38,-64,965,824),37859=>array(28,-75,983,840),37860=>array(44,-64,956,835),37861=>array(44,-65,942,831),37862=>array(29,-55,979,847),37863=>array(48,-29,968,826),37864=>array(31,-21,962,836),37865=>array(34,-63,974,843),37866=>array(44,-69,978,828),37867=>array(44,-68,962,826),37868=>array(41,-68,942,835),37869=>array(29,-38,964,828),37870=>array(32,-66,966,848),37871=>array(39,-72,972,823),37872=>array(37,-74,930,841),37873=>array(35,-61,967,852),37874=>array(35,-67,949,848),37875=>array(32,-62,920,846),37876=>array(22,-65,970,841),37877=>array(35,-67,961,833),37878=>array(38,-67,981,836),37879=>array(32,-63,974,830),37880=>array(47,-42,982,825),37881=>array(43,-53,959,837),37882=>array(51,-68,993,848),37883=>array(66,-57,979,840),37884=>array(29,-68,979,837),37885=>array(23,-53,954,840),37886=>array(19,-76,969,834),37887=>array(39,-68,979,832),37888=>array(44,-80,954,834),37889=>array(24,-67,954,838),37890=>array(37,-71,946,839),37891=>array(37,-63,963,839),37892=>array(37,-70,971,839),37893=>array(60,-40,972,839),37894=>array(60,-30,972,846),37895=>array(35,-66,969,850),37896=>array(42,-62,964,841),37897=>array(42,-85,969,824),37898=>array(24,-67,954,838),37899=>array(27,-66,952,837),37900=>array(42,-67,988,825),37901=>array(47,-56,925,839),37902=>array(27,-66,975,844),37903=>array(44,-50,952,858),37904=>array(39,-67,973,846),37905=>array(41,-70,961,835),37906=>array(47,-65,952,833),37907=>array(29,-70,971,832),37908=>array(36,-53,943,839),37909=>array(27,-71,959,834),37910=>array(24,-69,963,836),37911=>array(29,-68,911,838),37912=>array(40,-31,956,839),37913=>array(32,-24,959,837),37914=>array(37,-48,968,839),37915=>array(41,-59,965,830),37916=>array(40,-34,958,847),37917=>array(48,-76,954,838),37918=>array(42,-59,962,839),37919=>array(37,-68,954,839),37920=>array(42,-64,954,844),37921=>array(44,-69,951,824),37922=>array(39,-30,972,826),37923=>array(47,-54,935,839),37924=>array(47,-56,938,834),37925=>array(37,-64,954,845),37926=>array(57,-73,905,839),37927=>array(57,-65,927,822),37928=>array(38,-71,966,835),37929=>array(45,-66,978,830),37930=>array(40,-71,954,833),37931=>array(35,-58,951,843),37932=>array(39,-69,959,829),37933=>array(42,-62,970,850),37934=>array(28,-79,969,847),37935=>array(37,-62,963,842),37936=>array(45,-68,973,834),37937=>array(50,-68,980,842),37938=>array(57,-58,930,827),37939=>array(52,-70,935,837),37940=>array(37,-69,972,845),37941=>array(44,-69,951,824),37942=>array(41,-67,976,837),37943=>array(46,-70,970,830),37944=>array(39,-64,951,840),37945=>array(44,-71,974,826),37946=>array(51,-65,945,838),37947=>array(39,-64,966,831),37948=>array(48,-75,967,830),37949=>array(45,-68,977,835),37950=>array(32,-17,951,838),37951=>array(36,-37,966,844),37952=>array(57,-68,979,835),37953=>array(37,-61,980,843),37954=>array(33,-70,963,836),37955=>array(44,-61,967,835),37956=>array(45,-65,960,835),37957=>array(43,-66,971,834),37958=>array(41,-68,969,826),37959=>array(37,-68,979,833),37960=>array(37,-65,974,829),37961=>array(52,-32,959,831),37962=>array(37,-64,970,835),37963=>array(53,-27,956,825),37964=>array(37,-64,977,849),37965=>array(60,-30,972,804),37966=>array(37,-27,959,839),37967=>array(46,-72,963,839),37968=>array(33,-70,961,831),37969=>array(30,-16,957,844),37970=>array(42,-34,974,841),37971=>array(33,-56,959,837),37972=>array(28,-69,977,845),37973=>array(46,-63,977,844),37974=>array(32,-67,968,839),37975=>array(36,-70,983,834),37976=>array(34,-63,933,830),37977=>array(17,-74,974,834),37978=>array(37,-60,981,845),37979=>array(46,-62,970,839),37980=>array(37,-72,954,839),37981=>array(31,-68,982,832),37982=>array(37,-62,964,842),37983=>array(37,-66,966,841),37984=>array(48,-68,982,840),37985=>array(37,-63,942,839),37986=>array(31,-58,960,847),37987=>array(35,-66,967,854),37988=>array(39,-68,969,827),37989=>array(34,-65,974,852),37990=>array(17,-57,989,839),37991=>array(34,-61,959,849),37992=>array(31,-65,973,837),37993=>array(30,-30,958,817),37994=>array(46,-72,957,829),37995=>array(32,-73,973,856),37996=>array(39,-64,964,839),37997=>array(49,-64,927,829),37998=>array(38,-65,964,831),37999=>array(27,-62,980,837),38000=>array(28,-68,969,845),38001=>array(38,-58,965,842),38002=>array(40,-67,974,854),38003=>array(31,-67,986,844),38004=>array(47,-67,951,828),38005=>array(36,-56,957,837),38006=>array(31,-67,975,834),38007=>array(32,-69,955,822),38008=>array(42,-27,969,827),38009=>array(36,-66,963,848),38010=>array(22,-65,967,839),38011=>array(34,-66,977,842),38012=>array(36,-70,960,829),38013=>array(48,-70,959,838),38014=>array(43,-29,967,845),38015=>array(52,-37,962,834),38016=>array(36,-72,974,833),38017=>array(35,-65,984,834),38018=>array(31,-71,970,832),38019=>array(49,-76,937,831),38020=>array(43,-65,961,846),38021=>array(249,-26,702,820),38022=>array(34,-37,943,826),38023=>array(39,-28,938,830),38024=>array(39,-69,933,830),38025=>array(39,-53,939,830),38026=>array(60,-64,890,828),38027=>array(39,-67,957,830),38028=>array(36,-65,926,822),38029=>array(39,-17,944,830),38030=>array(39,-75,942,830),38031=>array(35,-64,896,832),38032=>array(50,-64,931,827),38033=>array(39,-66,965,830),38034=>array(39,-74,942,830),38035=>array(39,-63,904,838),38036=>array(37,-59,902,830),38037=>array(39,-70,933,830),38038=>array(37,-66,926,830),38039=>array(35,-67,960,830),38040=>array(38,-63,948,830),38041=>array(28,-67,926,820),38042=>array(33,-72,952,828),38043=>array(39,-69,956,830),38044=>array(39,-30,937,830),38045=>array(39,-46,955,830),38046=>array(39,-51,958,830),38047=>array(39,-66,906,830),38048=>array(36,-60,914,830),38049=>array(39,-60,943,830),38050=>array(37,-58,913,830),38051=>array(39,-72,965,830),38052=>array(39,-72,960,837),38053=>array(39,-67,873,830),38054=>array(39,-69,963,836),38055=>array(39,-60,907,832),38056=>array(39,-52,918,839),38057=>array(39,-61,903,830),38058=>array(39,-68,963,845),38059=>array(39,-69,943,834),38060=>array(39,-69,966,830),38061=>array(39,-69,933,830),38062=>array(39,-28,935,826),38063=>array(39,-34,958,830),38064=>array(33,-28,934,830),38065=>array(38,-70,962,830),38066=>array(20,-22,950,823),38067=>array(39,-66,941,830),38068=>array(39,-67,940,831),38069=>array(25,-56,968,837),38070=>array(39,-59,946,830),38071=>array(39,-36,938,830),38072=>array(38,-70,927,833),38073=>array(39,-71,948,841),38074=>array(43,-64,949,826),38075=>array(39,-66,931,830),38076=>array(54,-70,894,826),38077=>array(41,-14,929,826),38078=>array(44,-69,897,826),38079=>array(29,-45,894,826),38080=>array(42,-73,888,821),38081=>array(36,-70,954,832),38082=>array(39,-71,903,843),38083=>array(37,-79,955,847),38084=>array(32,-60,955,832),38085=>array(43,-69,930,826),38086=>array(42,-70,915,834),38087=>array(43,-45,964,834),38088=>array(38,-66,937,841),38089=>array(24,-65,937,839),38090=>array(39,-33,940,846),38091=>array(33,-76,950,830),38092=>array(40,-62,937,827),38093=>array(46,-70,955,837),38094=>array(35,-60,955,826),38095=>array(30,-53,914,835),38096=>array(37,-66,949,829),38097=>array(39,-34,941,828),38098=>array(29,-66,937,826),38099=>array(39,-33,954,828),38100=>array(39,-45,957,826),38101=>array(37,-67,937,835),38102=>array(42,-72,945,827),38103=>array(31,-64,927,829),38104=>array(33,-72,935,818),38105=>array(36,-70,933,831),38106=>array(31,-18,947,829),38107=>array(55,-54,894,822),38108=>array(28,-72,917,823),38109=>array(49,-71,900,817),38110=>array(39,-68,908,816),38111=>array(45,-53,905,827),38112=>array(32,-19,948,824),38113=>array(50,-67,916,830),38114=>array(38,-66,950,837),38115=>array(40,-73,938,830),38116=>array(19,-71,951,833),38117=>array(49,-52,939,827),38118=>array(38,-64,958,834),38119=>array(9,-66,927,828),38120=>array(20,-27,936,816),38121=>array(20,-57,948,825),38122=>array(38,-69,958,845),38123=>array(19,-68,948,833),38124=>array(39,-69,945,821),38125=>array(44,-72,885,840),38126=>array(17,-62,919,825),38127=>array(48,-35,954,834),38128=>array(29,-65,952,835),38129=>array(27,-73,953,840),38130=>array(34,-68,938,847),38131=>array(19,-66,942,844),38132=>array(23,-61,891,822),38133=>array(33,-65,934,844),38134=>array(47,-60,971,825),38135=>array(28,-65,911,835),38136=>array(32,-64,923,832),38137=>array(12,-57,923,822),38138=>array(40,-62,934,832),38139=>array(27,-48,947,821),38140=>array(39,-61,970,823),38141=>array(19,-63,951,833),38142=>array(32,-56,943,825),38143=>array(31,-21,930,819),38144=>array(39,-69,923,831),38145=>array(37,-70,955,830),38146=>array(32,-27,952,833),38147=>array(39,-28,942,830),38148=>array(45,-76,916,833),38149=>array(34,-60,903,839),38150=>array(39,-67,941,827),38151=>array(37,-66,948,833),38152=>array(36,-68,963,827),38153=>array(22,-22,965,832),38154=>array(44,-71,944,819),38155=>array(29,-63,952,839),38156=>array(39,-73,943,831),38157=>array(40,-73,957,832),38158=>array(52,-61,896,830),38159=>array(45,-62,895,828),38160=>array(39,-74,942,835),38161=>array(61,-69,908,836),38162=>array(27,-66,961,843),38163=>array(19,-68,963,833),38164=>array(27,-70,914,833),38165=>array(30,-69,949,832),38166=>array(43,-72,950,828),38167=>array(35,-66,933,832),38168=>array(31,-69,943,837),38169=>array(50,-66,939,829),38170=>array(39,-69,939,827),38171=>array(24,-66,976,843),38172=>array(39,-63,970,839),38173=>array(30,-76,940,827),38174=>array(33,-67,967,833),38175=>array(40,-49,953,827),38176=>array(39,-63,909,826),38177=>array(28,-68,917,815),38178=>array(36,-73,900,827),38179=>array(43,-60,908,834),38180=>array(29,-30,932,833),38181=>array(35,-70,937,834),38182=>array(47,-68,904,846),38183=>array(29,-68,921,833),38184=>array(30,-71,961,824),38185=>array(42,-43,962,833),38186=>array(32,-28,953,822),38187=>array(38,-77,942,834),38188=>array(39,-62,952,842),38189=>array(42,-76,952,839),38190=>array(44,-67,955,826),38191=>array(43,-73,928,827),38192=>array(35,-36,939,821),38193=>array(34,-67,918,842),38194=>array(30,-64,959,832),38195=>array(29,-64,974,836),38196=>array(32,-64,959,837),38197=>array(40,-61,936,827),38198=>array(33,-34,957,827),38199=>array(30,-56,948,827),38200=>array(36,-66,943,841),38201=>array(38,-71,957,833),38202=>array(34,-30,959,838),38203=>array(37,-78,959,823),38204=>array(33,-71,966,832),38205=>array(43,-37,950,834),38206=>array(38,-68,964,842),38207=>array(31,-72,968,844),38208=>array(39,-82,957,846),38209=>array(39,-69,977,829),38210=>array(31,-67,953,824),38211=>array(29,-63,961,837),38212=>array(37,-70,932,826),38213=>array(39,-76,903,827),38214=>array(28,-80,957,810),38215=>array(21,-66,951,838),38216=>array(29,-53,951,843),38217=>array(19,-68,937,833),38218=>array(40,-69,946,828),38219=>array(29,-63,970,835),38220=>array(32,-73,945,833),38221=>array(37,-69,949,843),38222=>array(31,-75,968,842),38223=>array(35,-69,917,833),38224=>array(37,-72,919,848),38225=>array(37,-73,927,848),38226=>array(30,-27,951,832),38227=>array(22,-58,950,840),38228=>array(43,-60,941,826),38229=>array(29,-72,977,841),38230=>array(33,-66,956,833),38231=>array(36,-25,949,833),38232=>array(30,-62,973,833),38233=>array(42,-71,946,827),38234=>array(33,-74,919,833),38235=>array(33,-63,949,851),38236=>array(40,-70,958,836),38237=>array(31,-66,946,844),38238=>array(24,-68,965,839),38239=>array(31,-60,971,846),38240=>array(31,-61,973,831),38241=>array(34,-73,941,821),38242=>array(31,-77,970,830),38243=>array(35,-68,956,842),38244=>array(23,-65,961,833),38245=>array(43,-65,941,835),38246=>array(24,-72,959,836),38247=>array(31,-62,894,825),38248=>array(30,-66,943,843),38249=>array(50,-70,952,837),38250=>array(24,-58,958,822),38251=>array(43,-29,966,832),38252=>array(37,-66,968,832),38253=>array(51,-73,918,827),38254=>array(29,-76,974,833),38255=>array(29,-60,914,833),38256=>array(19,-80,953,844),38257=>array(24,-37,950,842),38258=>array(26,-74,959,842),38259=>array(27,-69,952,850),38260=>array(29,-62,964,842),38261=>array(29,-68,965,842),38262=>array(25,-80,971,843),38263=>array(69,-69,942,800),38264=>array(89,-16,892,784),38265=>array(57,-67,965,850),38266=>array(57,-72,962,831),38267=>array(58,-73,976,821),38268=>array(63,-73,921,785),38269=>array(60,-68,975,827),38270=>array(44,-65,986,786),38271=>array(60,-54,957,823),38272=>array(112,-71,871,782),38273=>array(132,-64,882,789),38274=>array(116,-67,890,788),38275=>array(125,-64,875,789),38276=>array(113,-73,936,803),38277=>array(125,-64,874,789),38278=>array(125,-70,888,782),38279=>array(132,-64,883,791),38280=>array(136,-75,895,783),38281=>array(109,-68,891,785),38282=>array(110,-74,891,779),38283=>array(110,-51,890,806),38284=>array(104,-61,909,792),38285=>array(109,-62,910,790),38286=>array(106,-53,883,797),38287=>array(109,-63,890,796),38288=>array(101,-70,903,782),38289=>array(129,-63,886,797),38290=>array(126,-55,899,801),38291=>array(125,-66,892,784),38292=>array(125,-65,902,790),38293=>array(125,-64,875,789),38294=>array(132,-64,882,789),38295=>array(108,-59,892,799),38296=>array(127,-60,883,796),38297=>array(132,-64,882,789),38298=>array(125,-64,875,789),38299=>array(128,-64,889,787),38300=>array(118,-69,898,782),38301=>array(109,-64,891,788),38302=>array(121,-68,900,783),38303=>array(112,-61,900,790),38304=>array(132,-64,882,789),38305=>array(109,-67,894,790),38306=>array(132,-64,882,789),38307=>array(113,-58,887,798),38308=>array(112,-62,888,789),38309=>array(125,-61,885,794),38310=>array(125,-64,875,789),38311=>array(110,-68,900,786),38312=>array(119,-71,894,791),38313=>array(112,-67,900,789),38314=>array(106,-68,896,786),38315=>array(113,-64,894,788),38316=>array(110,-64,890,788),38317=>array(117,-65,907,790),38318=>array(101,-59,899,791),38319=>array(125,-64,875,789),38320=>array(121,-61,895,787),38321=>array(112,-63,888,801),38322=>array(112,-54,888,802),38323=>array(125,-64,875,789),38324=>array(109,-64,891,788),38325=>array(113,-68,910,783),38326=>array(123,-70,912,789),38327=>array(32,-70,928,829),38328=>array(125,-64,875,789),38329=>array(106,-67,894,788),38330=>array(112,-70,916,796),38331=>array(120,-64,894,793),38332=>array(108,-65,894,797),38333=>array(110,-65,901,789),38334=>array(116,-64,906,790),38335=>array(124,-68,912,782),38336=>array(107,-69,893,810),38337=>array(125,-64,875,789),38338=>array(125,-64,875,789),38339=>array(130,-68,906,783),38340=>array(125,-64,875,799),38341=>array(110,-63,888,812),38342=>array(106,-59,890,796),38343=>array(108,-59,892,803),38344=>array(114,-65,909,790),38345=>array(101,-52,894,797),38346=>array(107,-67,897,783),38347=>array(113,-67,898,792),38348=>array(117,-68,904,788),38349=>array(123,-69,913,784),38350=>array(125,-64,875,789),38351=>array(125,-64,875,789),38352=>array(124,-69,914,789),38353=>array(110,-64,911,794),38354=>array(98,-52,895,805),38355=>array(128,-69,908,782),38356=>array(123,-71,910,785),38357=>array(115,-66,907,791),38358=>array(120,-56,895,794),38359=>array(100,-61,900,800),38360=>array(132,-64,882,789),38361=>array(119,-64,881,789),38362=>array(101,-56,893,794),38363=>array(114,-65,897,788),38364=>array(104,-70,904,792),38365=>array(102,-68,898,784),38366=>array(121,-68,916,783),38367=>array(116,-67,893,784),38368=>array(119,-69,917,790),38369=>array(114,-61,902,793),38370=>array(97,-70,902,785),38371=>array(116,-67,892,787),38372=>array(118,-68,915,789),38373=>array(116,-73,908,785),38374=>array(125,-64,875,789),38375=>array(125,-64,875,797),38376=>array(116,-57,874,823),38377=>array(115,-67,853,801),38378=>array(120,-57,879,821),38379=>array(100,-67,867,826),38380=>array(116,-57,874,823),38381=>array(106,-56,860,820),38382=>array(112,-64,864,802),38383=>array(98,-57,869,832),38384=>array(123,-59,883,815),38385=>array(109,-67,862,822),38386=>array(108,-65,873,818),38387=>array(104,-68,864,826),38388=>array(100,-60,859,820),38389=>array(107,-66,864,816),38390=>array(110,-69,865,826),38391=>array(121,-63,874,826),38392=>array(105,-63,872,823),38393=>array(109,-60,875,821),38394=>array(96,-61,870,819),38395=>array(111,-63,873,824),38396=>array(96,-64,867,823),38397=>array(119,-65,874,817),38398=>array(109,-61,867,828),38399=>array(109,-61,867,828),38400=>array(116,-59,889,824),38401=>array(104,-61,880,810),38402=>array(95,-60,866,830),38403=>array(100,-62,873,829),38404=>array(108,-63,862,817),38405=>array(100,-64,877,821),38406=>array(121,-64,879,823),38407=>array(111,-64,889,821),38408=>array(98,-69,871,818),38409=>array(99,-66,873,811),38410=>array(106,-70,872,822),38411=>array(109,-71,865,817),38412=>array(100,-67,868,826),38413=>array(103,-67,865,821),38414=>array(101,-63,873,815),38415=>array(109,-69,862,813),38416=>array(104,-59,858,830),38417=>array(106,-55,865,822),38418=>array(108,-64,874,828),38419=>array(108,-64,874,828),38420=>array(98,-56,876,831),38421=>array(91,-69,871,822),38422=>array(93,-66,870,821),38423=>array(103,-64,872,834),38424=>array(93,-66,870,821),38425=>array(97,-67,875,826),38426=>array(93,-64,868,830),38427=>array(112,-64,888,830),38428=>array(49,-69,942,854),38429=>array(358,-68,720,782),38430=>array(115,-69,926,824),38431=>array(101,-63,942,830),38432=>array(102,-63,960,789),38433=>array(104,-68,935,824),38434=>array(134,-63,964,791),38435=>array(109,-62,949,834),38436=>array(112,-61,969,832),38437=>array(112,-63,970,795),38438=>array(112,-69,959,820),38439=>array(112,-64,955,829),38440=>array(119,-68,959,793),38441=>array(119,-65,939,831),38442=>array(104,-67,964,795),38443=>array(86,-70,959,783),38444=>array(107,-52,959,858),38445=>array(109,-69,952,840),38446=>array(98,-68,935,788),38447=>array(119,-61,954,835),38448=>array(111,-58,960,829),38449=>array(121,-64,952,829),38450=>array(103,-77,953,827),38451=>array(99,-64,875,784),38452=>array(110,-69,883,788),38453=>array(80,-59,951,835),38454=>array(96,-63,946,837),38455=>array(96,-58,950,800),38456=>array(96,-68,963,837),38457=>array(110,-70,960,824),38458=>array(115,-69,965,832),38459=>array(97,-73,949,782),38460=>array(140,-63,964,845),38461=>array(135,-64,953,829),38462=>array(136,-77,975,850),38463=>array(93,-75,927,778),38464=>array(102,-71,946,824),38465=>array(102,-71,954,839),38466=>array(99,-68,948,836),38467=>array(116,-71,955,780),38468=>array(110,-79,945,842),38469=>array(89,-61,945,786),38470=>array(100,-50,924,838),38471=>array(98,-63,932,826),38472=>array(88,-63,930,826),38473=>array(96,-64,921,786),38474=>array(124,-73,942,834),38475=>array(99,-82,936,792),38476=>array(104,-69,941,785),38477=>array(101,-68,955,846),38478=>array(116,-70,966,823),38479=>array(111,-63,927,825),38480=>array(114,-61,945,795),38481=>array(110,-64,929,786),38482=>array(108,-77,956,845),38483=>array(103,-68,955,829),38484=>array(109,-63,960,849),38485=>array(100,-73,950,821),38486=>array(109,-69,972,843),38487=>array(109,-68,918,833),38488=>array(116,-69,958,783),38489=>array(81,-65,958,786),38490=>array(104,-69,962,833),38491=>array(95,-61,964,827),38492=>array(108,-74,958,829),38493=>array(89,-65,951,836),38494=>array(113,-62,959,838),38495=>array(123,-64,953,829),38496=>array(81,-67,951,839),38497=>array(116,-66,966,836),38498=>array(100,-70,959,831),38499=>array(102,-67,950,835),38500=>array(111,-65,956,853),38501=>array(108,-65,909,851),38502=>array(99,-66,952,831),38503=>array(99,-67,922,783),38504=>array(99,-67,929,783),38505=>array(100,-67,944,827),38506=>array(97,-67,939,835),38507=>array(115,-70,953,826),38508=>array(74,-75,963,795),38509=>array(116,-69,953,832),38510=>array(100,-69,954,835),38511=>array(110,-68,965,828),38512=>array(110,-68,964,843),38513=>array(104,-68,909,832),38514=>array(78,-70,935,810),38515=>array(104,-79,950,827),38516=>array(128,-69,974,845),38517=>array(95,-67,970,831),38518=>array(116,-62,917,837),38519=>array(119,-64,896,839),38520=>array(103,-58,951,833),38521=>array(113,-71,948,838),38522=>array(97,-66,958,846),38523=>array(119,-64,939,791),38524=>array(128,-71,967,830),38525=>array(89,-71,934,779),38526=>array(103,-77,967,783),38527=>array(93,-54,958,797),38528=>array(110,-58,956,828),38529=>array(99,-56,954,798),38530=>array(110,-68,964,851),38531=>array(103,-52,969,863),38532=>array(107,-61,972,791),38533=>array(99,-55,902,800),38534=>array(93,-60,959,848),38535=>array(97,-67,961,829),38536=>array(90,-60,964,800),38537=>array(114,-64,959,819),38538=>array(101,-71,950,837),38539=>array(92,-68,927,845),38540=>array(92,-68,943,844),38541=>array(92,-74,932,844),38542=>array(100,-60,958,832),38543=>array(99,-64,942,825),38544=>array(113,-62,952,828),38545=>array(116,-67,957,829),38546=>array(118,-68,963,843),38547=>array(118,-65,957,836),38548=>array(96,-56,932,801),38549=>array(92,-70,941,784),38550=>array(102,-70,928,839),38551=>array(97,-71,956,819),38552=>array(86,-64,957,804),38553=>array(109,-67,960,819),38554=>array(93,-69,954,835),38555=>array(93,-68,950,841),38556=>array(95,-65,941,830),38557=>array(93,-74,916,843),38558=>array(109,-72,983,832),38559=>array(83,-73,970,842),38560=>array(113,-62,965,838),38561=>array(113,-78,965,831),38562=>array(111,-65,973,823),38563=>array(100,-70,957,833),38564=>array(110,-66,960,836),38565=>array(110,-64,963,837),38566=>array(96,-68,937,845),38567=>array(85,-68,963,809),38568=>array(106,-68,967,838),38569=>array(98,-74,970,839),38570=>array(106,-66,962,855),38571=>array(106,-73,954,832),38572=>array(111,-68,947,781),38573=>array(106,-62,953,794),38574=>array(92,-57,952,864),38575=>array(101,-65,938,833),38576=>array(100,-75,934,786),38577=>array(112,-59,953,832),38578=>array(93,-69,920,826),38579=>array(38,-69,984,839),38580=>array(77,-66,936,830),38581=>array(85,-68,955,835),38582=>array(65,-57,958,833),38583=>array(47,-71,963,830),38584=>array(47,-71,963,828),38585=>array(31,-69,954,845),38586=>array(36,-69,937,847),38587=>array(32,-76,968,844),38588=>array(53,-69,947,840),38589=>array(34,-65,897,837),38590=>array(40,-61,932,824),38591=>array(53,-70,953,826),38592=>array(46,-73,948,833),38593=>array(39,-66,939,803),38594=>array(38,-68,951,831),38595=>array(49,-68,953,830),38596=>array(36,-68,953,827),38597=>array(48,-59,953,837),38598=>array(55,-67,962,831),38599=>array(31,-75,924,818),38600=>array(36,-67,952,834),38601=>array(55,-63,957,836),38602=>array(40,-67,956,842),38603=>array(40,-61,932,843),38604=>array(34,-71,956,833),38605=>array(49,-72,948,824),38606=>array(42,-59,956,837),38607=>array(40,-49,916,830),38608=>array(40,-78,928,833),38609=>array(39,-63,953,833),38610=>array(30,-70,949,841),38611=>array(28,-65,954,839),38612=>array(38,-70,955,827),38613=>array(31,-71,952,836),38614=>array(59,-65,954,828),38615=>array(53,-63,950,839),38616=>array(36,-71,975,826),38617=>array(42,-70,958,843),38618=>array(37,-62,946,833),38619=>array(43,-68,954,847),38620=>array(45,-61,955,833),38621=>array(53,-65,954,839),38622=>array(38,-68,956,842),38623=>array(46,-65,939,839),38624=>array(14,-59,925,822),38625=>array(44,-71,952,824),38626=>array(64,-73,957,834),38627=>array(43,-70,950,834),38628=>array(53,-82,914,809),38629=>array(32,-67,970,839),38630=>array(14,-59,965,822),38631=>array(20,-41,956,837),38632=>array(82,-65,943,778),38633=>array(60,-60,955,790),38634=>array(96,-69,888,800),38635=>array(75,-58,929,797),38636=>array(41,-63,948,784),38637=>array(69,-48,965,802),38638=>array(54,-34,964,796),38639=>array(59,-63,963,790),38640=>array(46,-62,971,822),38641=>array(46,-62,941,798),38642=>array(76,-71,930,805),38643=>array(30,-68,916,772),38644=>array(48,-16,941,781),38645=>array(45,-76,982,785),38646=>array(43,-63,961,810),38647=>array(105,-67,914,786),38648=>array(73,-67,938,785),38649=>array(41,-37,956,790),38650=>array(47,-64,926,787),38651=>array(85,-32,945,802),38652=>array(60,-67,936,781),38653=>array(66,-64,941,783),38654=>array(41,-68,941,782),38655=>array(55,-68,975,785),38656=>array(79,-70,930,787),38657=>array(32,-70,948,777),38658=>array(45,-62,981,792),38659=>array(68,-72,935,796),38660=>array(74,-52,916,800),38661=>array(78,-68,953,782),38662=>array(29,-72,947,811),38663=>array(35,-71,965,808),38664=>array(47,-64,951,791),38665=>array(70,-65,947,790),38666=>array(75,-28,930,778),38667=>array(73,-79,947,789),38668=>array(39,-59,899,787),38669=>array(56,-67,935,790),38670=>array(77,-67,943,790),38671=>array(61,-64,924,787),38672=>array(57,-67,974,787),38673=>array(67,-62,942,798),38674=>array(56,-67,970,827),38675=>array(39,-67,956,789),38676=>array(67,-54,939,798),38677=>array(55,-35,962,829),38678=>array(40,-67,968,789),38679=>array(81,-82,965,798),38680=>array(54,-67,913,788),38681=>array(34,-72,986,792),38682=>array(113,-53,949,791),38683=>array(68,-70,938,791),38684=>array(65,-68,909,785),38685=>array(96,-74,911,783),38686=>array(92,-59,967,813),38687=>array(46,-71,956,783),38688=>array(64,-72,968,783),38689=>array(43,-73,981,789),38690=>array(43,-72,969,824),38691=>array(58,-75,952,799),38692=>array(89,-55,902,802),38693=>array(54,-59,965,799),38694=>array(48,-67,967,787),38695=>array(51,-71,962,823),38696=>array(52,-60,939,800),38697=>array(90,-69,927,787),38698=>array(41,-64,924,797),38699=>array(82,-69,919,785),38700=>array(59,-69,941,783),38701=>array(52,-66,891,778),38702=>array(58,-49,955,780),38703=>array(51,-31,979,779),38704=>array(56,-65,964,796),38705=>array(60,-66,927,832),38706=>array(70,-62,965,817),38707=>array(88,-56,938,787),38708=>array(53,-16,975,829),38709=>array(63,-68,957,785),38710=>array(53,-53,959,785),38711=>array(83,-67,936,783),38712=>array(68,-70,900,815),38713=>array(31,-72,946,792),38714=>array(44,-63,964,819),38715=>array(57,-54,951,807),38716=>array(55,-64,971,846),38717=>array(60,-69,962,801),38718=>array(54,-56,949,794),38719=>array(43,-62,992,823),38720=>array(77,-70,948,808),38721=>array(94,-73,928,800),38722=>array(48,-73,941,790),38723=>array(33,-65,967,787),38724=>array(72,-64,928,799),38725=>array(48,-47,970,836),38726=>array(53,-56,949,829),38727=>array(65,-67,961,786),38728=>array(74,-28,929,779),38729=>array(55,-66,978,836),38730=>array(79,-51,934,795),38731=>array(61,-68,957,792),38732=>array(70,-79,939,825),38733=>array(42,-60,971,763),38734=>array(95,-58,971,763),38735=>array(43,-60,971,823),38736=>array(24,-50,981,809),38737=>array(104,-65,915,837),38738=>array(104,-65,915,837),38739=>array(51,-67,927,821),38740=>array(51,-67,938,852),38741=>array(38,-66,948,836),38742=>array(41,-66,952,840),38743=>array(55,-72,959,831),38744=>array(68,-63,968,841),38745=>array(70,-58,938,835),38746=>array(55,-74,976,832),38747=>array(53,-65,968,845),38748=>array(55,-72,950,829),38749=>array(48,-63,968,848),38750=>array(49,-65,944,826),38751=>array(49,-44,959,820),38752=>array(44,-73,925,838),38753=>array(36,-73,970,837),38754=>array(69,-77,924,784),38755=>array(69,-77,924,784),38756=>array(49,-26,963,849),38757=>array(31,-68,955,800),38758=>array(48,-57,957,797),38759=>array(33,-68,990,833),38760=>array(59,-69,949,807),38761=>array(73,-69,927,829),38762=>array(60,-69,951,825),38763=>array(57,-65,960,830),38764=>array(57,-69,953,831),38765=>array(54,-70,915,830),38766=>array(71,-50,919,851),38767=>array(51,-50,949,840),38768=>array(62,-68,969,828),38769=>array(62,-72,971,828),38770=>array(60,-68,968,833),38771=>array(60,-69,952,832),38772=>array(44,-67,969,824),38773=>array(60,-66,951,832),38774=>array(60,-65,956,835),38775=>array(63,-53,896,843),38776=>array(62,-74,971,837),38777=>array(48,-71,928,838),38778=>array(62,-64,986,830),38779=>array(65,-72,966,822),38780=>array(53,-64,955,829),38781=>array(63,-50,956,844),38782=>array(53,-70,947,824),38783=>array(65,-53,924,847),38784=>array(66,-71,917,831),38785=>array(69,-72,967,831),38786=>array(53,-71,967,823),38787=>array(61,-70,963,824),38788=>array(55,-67,961,824),38789=>array(42,-67,961,835),38790=>array(43,-70,957,823),38791=>array(53,-70,925,823),38792=>array(66,-73,978,843),38793=>array(66,-72,960,827),38794=>array(60,-69,953,829),38795=>array(53,-64,950,836),38796=>array(82,-58,966,830),38797=>array(59,-65,951,836),38798=>array(60,-71,970,830),38799=>array(53,-72,944,805),38800=>array(66,-68,940,834),38801=>array(51,-68,937,820),38802=>array(51,-66,949,826),38803=>array(51,-68,956,820),38804=>array(61,-70,969,838),38805=>array(49,-68,971,836),38806=>array(59,-74,959,836),38807=>array(39,-67,968,839),38808=>array(52,-70,943,835),38809=>array(62,-52,916,842),38810=>array(55,-50,955,859),38811=>array(73,-67,954,848),38812=>array(63,-68,961,829),38813=>array(64,-70,936,825),38814=>array(63,-73,959,830),38815=>array(73,-64,960,847),38816=>array(63,-65,919,847),38817=>array(62,-62,953,836),38818=>array(51,-68,976,828),38819=>array(45,-65,965,837),38820=>array(60,-67,954,836),38821=>array(56,-69,977,840),38822=>array(56,-66,968,841),38823=>array(56,-65,947,843),38824=>array(68,-69,922,827),38825=>array(46,-66,914,837),38826=>array(43,-68,952,841),38827=>array(66,-68,918,843),38828=>array(55,-72,967,829),38829=>array(47,-70,962,832),38830=>array(63,-68,975,826),38831=>array(53,-72,913,817),38832=>array(63,-69,951,817),38833=>array(53,-69,926,848),38834=>array(47,-79,952,821),38835=>array(51,-50,968,847),38836=>array(52,-70,948,820),38837=>array(47,-79,995,841),38838=>array(55,-48,943,855),38839=>array(54,-79,946,821),38840=>array(46,-69,952,825),38841=>array(51,-55,948,854),38842=>array(55,-70,956,824),38843=>array(65,-67,961,824),38844=>array(65,-68,970,833),38845=>array(65,-67,964,841),38846=>array(47,-67,948,836),38847=>array(54,-68,960,834),38848=>array(69,-65,961,831),38849=>array(62,-68,956,829),38850=>array(39,-65,950,842),38851=>array(55,-73,949,835),38852=>array(60,-73,967,823),38853=>array(53,-71,960,828),38854=>array(51,-76,968,834),38855=>array(66,-73,960,832),38856=>array(65,-64,981,839),38857=>array(68,-65,961,829),38858=>array(68,-58,946,808),38859=>array(72,-64,931,840),38860=>array(73,-62,901,844),38861=>array(59,-70,981,843),38862=>array(54,-71,981,841),38863=>array(39,-68,968,852),38864=>array(58,-69,985,847),38865=>array(23,-68,968,825),38866=>array(51,-70,943,834),38867=>array(54,-66,946,837),38868=>array(53,-75,973,836),38869=>array(68,-68,954,841),38870=>array(66,-67,977,840),38871=>array(59,-69,954,846),38872=>array(53,-67,976,840),38873=>array(39,-73,975,837),38874=>array(60,-66,949,834),38875=>array(68,-76,988,834),38876=>array(62,-70,951,842),38877=>array(57,-73,956,832),38878=>array(57,-70,959,839),38879=>array(53,-67,972,845),38880=>array(46,-73,952,831),38881=>array(62,-73,958,830),38882=>array(54,-73,966,830),38883=>array(65,-65,927,840),38884=>array(65,-65,981,840),38885=>array(62,-73,957,842),38886=>array(62,-73,894,820),38887=>array(61,-64,901,826),38888=>array(49,-80,948,840),38889=>array(47,-57,915,830),38890=>array(28,-66,945,809),38891=>array(50,-68,951,822),38892=>array(59,-76,901,817),38893=>array(65,-13,935,816),38894=>array(53,-24,947,823),38895=>array(49,-60,964,829),38896=>array(51,-35,956,820),38897=>array(49,-60,964,836),38898=>array(35,-29,966,826),38899=>array(72,-68,928,840),38900=>array(68,-74,932,842),38901=>array(66,-59,916,828),38902=>array(72,-64,914,818),38903=>array(56,-64,921,834),38904=>array(62,-72,972,834),38905=>array(65,-49,959,846),38906=>array(51,-72,973,835),38907=>array(66,-73,957,840),38908=>array(44,-56,951,841),38909=>array(50,-70,952,849),38910=>array(35,-70,941,825),38911=>array(63,-67,937,845),38912=>array(58,-74,976,824),38913=>array(79,-70,938,785),38914=>array(76,-68,950,791),38915=>array(126,-69,939,787),38916=>array(40,-79,961,826),38917=>array(48,-68,947,784),38918=>array(62,-76,960,801),38919=>array(54,-71,962,790),38920=>array(51,-71,946,817),38921=>array(40,-71,946,783),38922=>array(55,-71,961,788),38923=>array(29,-72,957,790),38924=>array(47,-64,964,790),38925=>array(45,-78,965,824),38926=>array(35,-68,970,833),38927=>array(49,-64,963,798),38928=>array(53,-70,959,781),38929=>array(42,-77,953,788),38930=>array(47,-66,957,822),38931=>array(53,-68,952,834),38932=>array(124,-68,952,788),38933=>array(128,-68,952,829),38934=>array(40,-60,966,844),38935=>array(32,-70,970,832),38936=>array(42,-68,955,839),38937=>array(38,-71,957,783),38938=>array(48,-64,966,792),38939=>array(42,-73,972,823),38940=>array(35,-70,962,831),38941=>array(53,-75,957,833),38942=>array(59,-53,968,856),38943=>array(37,-64,943,819),38944=>array(32,-68,967,836),38945=>array(62,-68,966,809),38946=>array(39,-68,956,801),38947=>array(95,-70,947,787),38948=>array(91,-70,963,787),38949=>array(96,-66,962,795),38950=>array(44,-65,961,844),38951=>array(107,-76,968,828),38952=>array(29,-79,971,782),38953=>array(44,-73,963,832),38954=>array(38,-68,961,832),38955=>array(36,-69,957,823),38956=>array(24,-61,959,830),38957=>array(52,-61,959,787),38958=>array(32,-78,975,802),38959=>array(32,-78,975,829),38960=>array(47,-71,967,840),38961=>array(48,-78,965,819),38962=>array(44,-79,964,793),38963=>array(36,-77,970,823),38964=>array(18,-82,959,826),38965=>array(25,-77,970,783),38966=>array(30,-61,959,814),38967=>array(38,-69,972,838),38968=>array(48,-72,959,789),38969=>array(35,-72,973,834),38970=>array(49,-65,965,824),38971=>array(45,-71,960,833),38972=>array(44,-72,973,829),38973=>array(35,-73,954,834),38974=>array(37,-68,948,826),38975=>array(33,-76,955,849),38976=>array(32,-73,951,836),38977=>array(38,-83,963,833),38978=>array(29,-73,964,833),38979=>array(52,-74,959,826),38980=>array(77,-71,962,788),38981=>array(42,-74,956,833),38982=>array(43,-68,964,788),38983=>array(34,-68,963,833),38984=>array(38,-82,959,826),38985=>array(44,-79,965,829),38986=>array(60,-78,953,840),38987=>array(35,-68,963,790),38988=>array(39,-60,956,787),38989=>array(41,-64,951,825),38990=>array(57,-63,959,794),38991=>array(57,-75,958,808),38992=>array(62,-81,971,783),38993=>array(38,-67,975,839),38994=>array(50,-73,964,788),38995=>array(53,-68,963,827),38996=>array(33,-65,961,830),38997=>array(45,-70,956,783),38998=>array(21,-77,967,831),38999=>array(47,-75,968,827),39000=>array(38,-57,962,796),39001=>array(45,-67,979,787),39002=>array(57,-78,964,834),39003=>array(43,-73,960,835),39004=>array(56,-72,970,829),39005=>array(69,-74,951,786),39006=>array(38,-67,960,828),39007=>array(40,-80,955,788),39008=>array(31,-73,960,784),39009=>array(39,-72,959,846),39010=>array(62,-65,973,830),39011=>array(33,-60,963,844),39012=>array(47,-48,963,850),39013=>array(46,-66,966,790),39014=>array(26,-48,963,840),39015=>array(41,-68,959,820),39016=>array(49,-70,959,808),39017=>array(36,-74,964,834),39018=>array(47,-68,978,831),39019=>array(56,-65,967,837),39020=>array(61,-67,952,788),39021=>array(47,-67,952,822),39022=>array(44,-64,965,844),39023=>array(43,-73,964,787),39024=>array(51,-64,958,843),39025=>array(28,-72,959,840),39026=>array(47,-66,964,847),39027=>array(35,-68,959,800),39028=>array(25,-62,961,844),39029=>array(78,-80,908,775),39030=>array(47,-60,930,783),39031=>array(88,-60,934,794),39032=>array(50,-66,937,774),39033=>array(37,-64,937,778),39034=>array(25,-61,940,822),39035=>array(30,-62,937,807),39036=>array(32,-68,933,772),39037=>array(31,-70,936,787),39038=>array(36,-61,953,787),39039=>array(59,-64,955,832),39040=>array(27,-68,935,814),39041=>array(35,-65,930,783),39042=>array(36,-65,936,783),39043=>array(27,-76,921,822),39044=>array(50,-65,936,779),39045=>array(36,-67,940,832),39046=>array(36,-60,940,830),39047=>array(18,-77,940,822),39048=>array(35,-59,943,783),39049=>array(55,-76,918,812),39050=>array(24,-61,933,830),39051=>array(33,-76,964,799),39052=>array(19,-69,915,830),39053=>array(21,-63,921,806),39054=>array(26,-70,942,827),39055=>array(32,-69,931,826),39056=>array(104,-70,929,778),39057=>array(51,-67,957,824),39058=>array(32,-71,950,802),39059=>array(47,-69,952,814),39060=>array(23,-76,933,822),39061=>array(18,-71,950,826),39062=>array(27,-70,942,827),39063=>array(22,-63,934,790),39064=>array(32,-63,941,788),39065=>array(117,-67,962,788),39066=>array(50,-73,937,778),39067=>array(52,-71,935,812),39068=>array(30,-68,940,832),39069=>array(31,-63,941,838),39070=>array(31,-70,921,784),39071=>array(50,-65,940,820),39072=>array(31,-70,940,827),39073=>array(29,-80,938,778),39074=>array(28,-72,937,782),39075=>array(32,-72,947,800),39076=>array(34,-81,964,861),39077=>array(61,-54,941,781),39078=>array(49,-62,927,832),39079=>array(22,-73,939,821),39080=>array(51,-68,967,783),39081=>array(43,-73,972,824),39082=>array(30,-73,965,797),39083=>array(24,-68,967,792),39084=>array(34,-68,954,787),39085=>array(32,-57,964,844),39086=>array(53,-63,967,850),39087=>array(32,-65,968,789),39088=>array(22,-57,955,825),39089=>array(37,-65,970,814),39090=>array(38,-71,967,820),39091=>array(41,-58,958,830),39092=>array(18,-57,944,822),39093=>array(41,-58,958,800),39094=>array(39,-62,959,800),39095=>array(33,-68,960,842),39096=>array(53,-64,963,809),39097=>array(17,-62,963,840),39098=>array(26,-61,967,791),39099=>array(42,-67,972,839),39100=>array(35,-65,970,829),39101=>array(44,-70,978,833),39102=>array(39,-75,970,781),39103=>array(40,-54,964,796),39104=>array(43,-73,961,833),39105=>array(36,-67,982,786),39106=>array(43,-60,970,798),39107=>array(26,-61,967,791),39108=>array(42,-74,970,784),39109=>array(43,-59,956,799),39110=>array(43,-68,980,832),39111=>array(43,-73,961,832),39112=>array(35,-64,966,820),39113=>array(31,-70,965,829),39114=>array(23,-62,974,791),39115=>array(31,-73,973,781),39116=>array(41,-65,974,829),39117=>array(26,-73,988,802),39118=>array(26,-63,942,790),39119=>array(20,-62,939,785),39120=>array(20,-62,939,804),39121=>array(16,-64,934,822),39122=>array(29,-67,936,812),39123=>array(8,-66,927,783),39124=>array(8,-65,939,783),39125=>array(20,-62,939,816),39126=>array(50,-58,972,819),39127=>array(20,-62,939,821),39128=>array(31,-60,963,789),39129=>array(43,-77,960,821),39130=>array(20,-70,931,817),39131=>array(64,-64,963,787),39132=>array(34,-69,967,824),39133=>array(55,-59,937,808),39134=>array(76,-59,936,770),39135=>array(43,-67,957,847),39136=>array(257,-34,731,839),39137=>array(48,-63,958,848),39138=>array(33,-54,962,839),39139=>array(41,-56,967,839),39140=>array(41,-73,936,839),39141=>array(28,-39,965,853),39142=>array(41,-50,966,839),39143=>array(42,-63,978,848),39144=>array(34,-76,939,822),39145=>array(40,-66,957,843),39146=>array(42,-31,949,838),39147=>array(40,-66,969,843),39148=>array(49,-81,957,840),39149=>array(42,-66,943,843),39150=>array(46,-68,957,844),39151=>array(34,-69,964,839),39152=>array(34,-64,951,843),39153=>array(40,-63,958,848),39154=>array(34,-64,969,839),39155=>array(46,-46,964,851),39156=>array(34,-55,956,842),39157=>array(34,-65,948,844),39158=>array(38,-56,960,842),39159=>array(34,-34,964,839),39160=>array(52,-63,958,848),39161=>array(40,-69,903,843),39162=>array(39,-84,979,824),39163=>array(36,-66,971,850),39164=>array(34,-68,906,839),39165=>array(36,-47,965,839),39166=>array(34,-70,944,839),39167=>array(39,-68,922,839),39168=>array(36,-74,985,839),39169=>array(36,-64,965,857),39170=>array(36,-52,954,857),39171=>array(40,-66,961,843),39172=>array(36,-65,948,857),39173=>array(34,-77,961,842),39174=>array(36,-70,960,857),39175=>array(31,-70,907,844),39176=>array(41,-54,964,852),39177=>array(40,-66,921,843),39178=>array(39,-70,964,843),39179=>array(39,-72,976,840),39180=>array(44,-69,958,841),39181=>array(46,-84,950,766),39182=>array(37,-64,982,844),39183=>array(38,-71,966,842),39184=>array(26,-64,974,840),39185=>array(43,-64,948,840),39186=>array(40,-66,959,843),39187=>array(34,-59,964,839),39188=>array(40,-66,944,843),39189=>array(36,-61,984,848),39190=>array(48,-44,953,846),39191=>array(42,-54,960,850),39192=>array(40,-66,971,843),39193=>array(36,-67,961,857),39194=>array(27,-64,956,855),39195=>array(32,-53,964,848),39196=>array(35,-64,980,828),39197=>array(40,-66,947,843),39198=>array(40,-67,959,843),39199=>array(34,-63,981,848),39200=>array(40,-66,957,843),39201=>array(40,-68,912,843),39202=>array(36,-65,956,857),39203=>array(24,-39,977,857),39204=>array(40,-66,961,843),39205=>array(47,-77,982,829),39206=>array(36,-62,978,857),39207=>array(32,-64,968,850),39208=>array(34,-64,931,839),39209=>array(37,-71,972,839),39210=>array(41,-73,990,834),39211=>array(36,-69,956,836),39212=>array(33,-78,918,838),39213=>array(38,-47,958,824),39214=>array(34,-75,943,832),39215=>array(40,-67,989,834),39216=>array(40,-71,959,834),39217=>array(33,-49,964,859),39218=>array(28,-60,915,848),39219=>array(48,-59,959,830),39220=>array(36,-68,963,857),39221=>array(25,-65,978,845),39222=>array(34,-34,947,853),39223=>array(36,-30,969,857),39224=>array(32,-48,975,845),39225=>array(36,-64,954,857),39226=>array(36,-65,951,832),39227=>array(36,-66,960,854),39228=>array(34,-64,971,846),39229=>array(40,-66,960,843),39230=>array(39,-69,932,843),39231=>array(41,-65,971,840),39232=>array(29,-63,950,835),39233=>array(18,-15,966,846),39234=>array(40,-66,959,843),39235=>array(34,-69,972,844),39236=>array(36,-30,964,857),39237=>array(40,-66,957,843),39238=>array(38,-68,950,834),39239=>array(36,-41,956,816),39240=>array(38,-55,955,847),39241=>array(40,-66,948,843),39242=>array(36,-84,957,859),39243=>array(40,-75,954,843),39244=>array(38,-66,959,843),39245=>array(24,-65,962,846),39246=>array(20,-68,956,843),39247=>array(29,-76,982,835),39248=>array(40,-66,953,843),39249=>array(28,-70,968,841),39250=>array(40,-68,962,843),39251=>array(26,-69,983,835),39252=>array(10,-74,957,849),39253=>array(17,-72,972,832),39254=>array(30,-64,967,828),39255=>array(35,-69,955,841),39256=>array(30,-33,960,849),39257=>array(32,-74,970,837),39258=>array(45,-30,929,857),39259=>array(38,-68,971,834),39260=>array(29,-71,982,816),39261=>array(29,-67,950,851),39262=>array(36,-70,960,839),39263=>array(30,-63,982,849),39264=>array(42,-65,956,837),39265=>array(41,-74,964,839),39266=>array(31,-64,983,839),39267=>array(242,2,685,829),39268=>array(31,-43,953,840),39269=>array(32,-60,948,840),39270=>array(31,-26,943,840),39271=>array(30,-66,891,826),39272=>array(25,-38,920,829),39273=>array(20,-67,939,825),39274=>array(40,-13,927,829),39275=>array(41,-69,957,829),39276=>array(41,-70,926,836),39277=>array(48,-71,953,829),39278=>array(47,-68,949,836),39279=>array(43,-58,953,836),39280=>array(42,-73,946,842),39281=>array(37,-28,946,835),39282=>array(41,-68,895,836),39283=>array(45,-68,911,830),39284=>array(41,-57,940,839),39285=>array(33,-67,927,829),39286=>array(36,-73,964,821),39287=>array(41,-66,912,841),39288=>array(49,-60,956,844),39289=>array(32,-65,975,837),39290=>array(42,-65,950,835),39291=>array(41,-71,966,836),39292=>array(39,-72,946,841),39293=>array(41,-65,931,831),39294=>array(41,-36,953,829),39295=>array(44,-61,946,829),39296=>array(41,-65,959,840),39297=>array(41,-79,946,831),39298=>array(36,-61,972,848),39299=>array(32,-68,964,825),39300=>array(40,-60,955,825),39301=>array(42,-70,881,838),39302=>array(47,-67,913,844),39303=>array(26,-16,947,821),39304=>array(37,-64,949,828),39305=>array(38,-71,943,829),39306=>array(41,-68,954,829),39307=>array(34,-68,960,827),39308=>array(48,-53,947,833),39309=>array(35,-71,935,817),39310=>array(43,-65,962,835),39311=>array(44,-67,916,838),39312=>array(27,-67,937,836),39313=>array(31,-43,938,813),39314=>array(27,-65,951,829),39315=>array(26,-90,955,822),39316=>array(29,-64,942,828),39317=>array(30,-81,948,821),39318=>array(95,-67,926,843),39319=>array(34,-64,959,831),39320=>array(55,-65,964,834),39321=>array(40,-65,955,817),39322=>array(40,-62,973,823),39323=>array(40,-74,966,841),39324=>array(40,-71,971,821),39325=>array(33,-77,965,828),39326=>array(44,-68,963,830),39327=>array(59,-68,958,827),39328=>array(70,-70,971,832),39329=>array(52,-69,956,824),39330=>array(34,-68,956,832),39331=>array(37,-62,975,833),39332=>array(48,-62,940,839),39333=>array(18,-62,974,838),39334=>array(33,-68,988,835),39335=>array(33,-61,983,839),39336=>array(28,-69,972,844),39337=>array(28,-67,956,839),39338=>array(33,-78,974,844),39339=>array(45,-70,975,816),39340=>array(56,-65,909,776),39341=>array(35,-68,964,790),39342=>array(52,-64,912,784),39343=>array(45,-73,950,781),39344=>array(56,-62,920,829),39345=>array(49,-63,964,833),39346=>array(36,-63,949,809),39347=>array(47,-62,951,836),39348=>array(53,-57,893,829),39349=>array(53,-69,947,782),39350=>array(30,-67,965,835),39351=>array(45,-62,954,840),39352=>array(45,-53,930,812),39353=>array(45,-52,891,803),39354=>array(32,-74,981,780),39355=>array(35,-71,978,825),39356=>array(40,-65,964,793),39357=>array(46,-68,909,783),39358=>array(25,-66,969,831),39359=>array(38,-57,931,827),39360=>array(45,-55,970,831),39361=>array(47,-66,967,826),39362=>array(55,-74,924,812),39363=>array(53,-69,982,826),39364=>array(45,-69,961,833),39365=>array(45,-66,973,797),39366=>array(27,-52,948,799),39367=>array(47,-76,988,832),39368=>array(28,-48,954,814),39369=>array(39,-66,905,785),39370=>array(45,-63,1002,841),39371=>array(45,-71,921,785),39372=>array(47,-68,965,833),39373=>array(42,-70,954,783),39374=>array(38,-68,906,823),39375=>array(40,-69,954,782),39376=>array(49,-57,956,829),39377=>array(48,-68,937,847),39378=>array(36,-62,919,845),39379=>array(39,-63,971,783),39380=>array(43,-63,957,790),39381=>array(56,-65,897,836),39382=>array(43,-73,981,842),39383=>array(47,-74,987,833),39384=>array(45,-60,964,839),39385=>array(28,-64,962,837),39386=>array(34,-66,972,827),39387=>array(37,-62,961,833),39388=>array(46,-66,974,830),39389=>array(55,-61,943,795),39390=>array(28,-55,962,829),39391=>array(43,-58,916,788),39392=>array(35,-71,938,823),39393=>array(39,-66,911,789),39394=>array(27,-73,962,835),39395=>array(42,-70,966,826),39396=>array(37,-72,959,780),39397=>array(39,-71,969,832),39398=>array(49,-62,957,830),39399=>array(46,-68,918,786),39400=>array(45,-60,944,836),39401=>array(35,-66,975,787),39402=>array(34,-71,964,826),39403=>array(45,-66,990,831),39404=>array(35,-71,957,786),39405=>array(46,-60,949,804),39406=>array(40,-60,961,820),39407=>array(45,-65,966,836),39408=>array(54,-67,924,785),39409=>array(64,-62,972,839),39410=>array(45,-65,927,835),39411=>array(33,-66,968,834),39412=>array(46,-66,975,824),39413=>array(30,-57,965,799),39414=>array(43,-65,927,783),39415=>array(37,-66,985,828),39416=>array(35,-61,946,788),39417=>array(31,-67,967,825),39418=>array(43,-73,980,838),39419=>array(46,-59,959,792),39420=>array(29,-77,974,834),39421=>array(53,-65,927,788),39422=>array(44,-67,966,814),39423=>array(44,-69,967,849),39424=>array(42,-63,951,831),39425=>array(42,-63,949,836),39426=>array(52,-59,954,853),39427=>array(42,-58,973,861),39428=>array(39,-65,974,829),39429=>array(48,-66,957,836),39430=>array(53,-74,927,782),39431=>array(37,-65,991,832),39432=>array(42,-64,953,843),39433=>array(32,-63,979,786),39434=>array(64,-63,924,832),39435=>array(33,-65,981,829),39436=>array(42,-65,958,845),39437=>array(45,-65,982,790),39438=>array(44,-62,956,834),39439=>array(33,-71,970,831),39440=>array(42,-63,956,845),39441=>array(39,-58,952,844),39442=>array(49,-64,963,791),39443=>array(48,-63,973,837),39444=>array(46,-66,937,787),39445=>array(35,-69,956,785),39446=>array(60,-68,958,845),39447=>array(32,-58,969,833),39448=>array(27,-63,974,850),39449=>array(39,-66,933,807),39450=>array(39,-62,960,835),39451=>array(29,-73,968,780),39452=>array(41,-65,970,843),39453=>array(25,-68,977,828),39454=>array(40,-70,967,828),39455=>array(32,-63,937,862),39456=>array(48,-75,988,781),39457=>array(42,-66,957,842),39458=>array(30,-68,980,784),39459=>array(40,-57,960,849),39460=>array(44,-68,978,841),39461=>array(33,-67,984,788),39462=>array(42,-63,968,788),39463=>array(48,-48,917,809),39464=>array(42,-73,945,843),39465=>array(47,-68,979,838),39466=>array(48,-64,973,831),39467=>array(37,-61,976,837),39468=>array(41,-65,984,838),39469=>array(54,-71,939,830),39470=>array(46,-64,924,834),39471=>array(27,-65,939,843),39472=>array(40,-72,967,840),39473=>array(29,-63,972,840),39474=>array(56,-64,965,830),39475=>array(42,-63,944,788),39476=>array(35,-65,955,788),39477=>array(44,-74,967,783),39478=>array(58,-66,923,849),39479=>array(49,-64,970,791),39480=>array(51,-63,941,840),39481=>array(20,-63,966,812),39482=>array(55,-69,959,829),39483=>array(37,-63,968,834),39484=>array(31,-63,965,843),39485=>array(48,-64,922,787),39486=>array(30,-73,961,801),39487=>array(36,-75,959,832),39488=>array(57,-69,968,832),39489=>array(58,-68,956,847),39490=>array(40,-71,984,857),39491=>array(33,-63,949,792),39492=>array(28,-63,973,837),39493=>array(46,-66,951,794),39494=>array(50,-64,958,787),39495=>array(54,-66,946,830),39496=>array(52,-63,937,789),39497=>array(40,-55,955,831),39498=>array(29,-68,962,836),39499=>array(22,-62,989,846),39500=>array(31,-64,962,837),39501=>array(35,-65,967,837),39502=>array(23,-51,943,844),39503=>array(51,-72,963,789),39504=>array(45,-63,980,835),39505=>array(27,-71,956,797),39506=>array(48,-62,948,791),39507=>array(53,-69,924,831),39508=>array(42,-64,961,789),39509=>array(48,-56,979,833),39510=>array(35,-68,977,837),39511=>array(37,-70,962,846),39512=>array(41,-67,973,843),39513=>array(36,-60,964,852),39514=>array(52,-65,951,846),39515=>array(25,-62,945,788),39516=>array(54,-68,951,825),39517=>array(37,-77,962,844),39518=>array(36,-78,974,844),39519=>array(34,-61,964,791),39520=>array(41,-74,970,824),39521=>array(46,-53,964,839),39522=>array(38,-64,951,836),39523=>array(26,-63,972,845),39524=>array(50,-75,976,833),39525=>array(27,-70,955,834),39526=>array(49,-61,930,789),39527=>array(35,-62,937,832),39528=>array(45,-66,927,826),39529=>array(52,-60,959,829),39530=>array(26,-73,964,789),39531=>array(57,-62,938,803),39532=>array(83,-57,892,790),39533=>array(64,-70,945,789),39534=>array(69,-65,947,831),39535=>array(64,-58,876,826),39536=>array(72,-55,933,834),39537=>array(40,-54,926,786),39538=>array(68,-58,891,803),39539=>array(43,-69,951,844),39540=>array(41,-55,896,845),39541=>array(37,-60,936,784),39542=>array(58,-70,953,831),39543=>array(49,-57,897,778),39544=>array(51,-66,940,835),39545=>array(91,-60,914,844),39546=>array(34,-59,872,822),39547=>array(47,-57,942,842),39548=>array(72,-57,926,839),39549=>array(29,-62,944,826),39550=>array(44,-60,912,831),39551=>array(42,-73,959,772),39552=>array(47,-63,949,840),39553=>array(36,-62,941,824),39554=>array(84,-59,890,787),39555=>array(57,-58,924,785),39556=>array(33,-62,940,836),39557=>array(42,-71,941,823),39558=>array(66,-64,953,836),39559=>array(59,-63,933,848),39560=>array(47,-75,945,847),39561=>array(39,-67,936,820),39562=>array(41,-65,920,768),39563=>array(62,-60,950,834),39564=>array(33,-63,943,835),39565=>array(62,-59,954,853),39566=>array(33,-68,968,786),39567=>array(61,-69,943,833),39568=>array(47,-73,949,829),39569=>array(61,-64,939,828),39570=>array(47,-67,956,788),39571=>array(57,-65,941,834),39572=>array(47,-65,958,845),39573=>array(33,-73,957,833),39574=>array(44,-74,953,833),39575=>array(37,-63,927,833),39576=>array(89,-63,934,829),39577=>array(47,-68,978,841),39578=>array(57,-66,953,789),39579=>array(43,-69,954,828),39580=>array(36,-73,951,831),39581=>array(57,-66,904,826),39582=>array(33,-62,947,840),39583=>array(55,-64,901,834),39584=>array(57,-62,944,789),39585=>array(64,-62,936,787),39586=>array(57,-55,956,836),39587=>array(53,-69,942,782),39588=>array(26,-73,953,779),39589=>array(49,-72,936,834),39590=>array(49,-62,931,790),39591=>array(48,-67,952,834),39592=>array(101,-55,899,806),39593=>array(79,-68,965,822),39594=>array(59,-67,978,787),39595=>array(78,-68,964,822),39596=>array(76,-63,967,791),39597=>array(76,-53,951,801),39598=>array(70,-52,967,825),39599=>array(91,-66,958,844),39600=>array(60,-68,963,783),39601=>array(62,-67,952,845),39602=>array(90,-60,967,849),39603=>array(82,-72,973,829),39604=>array(65,-68,958,824),39605=>array(54,-54,971,839),39606=>array(69,-65,962,826),39607=>array(74,-67,948,833),39608=>array(57,-62,958,824),39609=>array(68,-71,961,838),39610=>array(62,-74,945,829),39611=>array(78,-69,962,829),39612=>array(47,-71,937,838),39613=>array(37,-74,959,835),39614=>array(78,-51,970,810),39615=>array(78,-70,953,835),39616=>array(58,-69,930,844),39617=>array(61,-68,964,786),39618=>array(63,-68,957,848),39619=>array(42,-73,943,783),39620=>array(46,-57,967,839),39621=>array(61,-70,940,807),39622=>array(74,-68,947,835),39623=>array(71,-65,941,840),39624=>array(52,-71,954,843),39625=>array(32,-71,959,841),39626=>array(65,-66,948,831),39627=>array(43,-72,938,825),39628=>array(67,-76,937,818),39629=>array(51,-64,968,837),39630=>array(69,-74,962,789),39631=>array(55,-66,941,841),39632=>array(62,-64,956,829),39633=>array(67,-67,908,783),39634=>array(80,-64,958,833),39635=>array(51,-72,947,837),39636=>array(79,-70,934,829),39637=>array(69,-53,955,862),39638=>array(57,-67,948,849),39639=>array(84,-64,954,836),39640=>array(102,-67,916,828),39641=>array(102,-67,916,833),39642=>array(70,-67,958,848),39643=>array(47,-66,968,849),39644=>array(70,-71,956,847),39645=>array(74,-68,926,848),39646=>array(56,-67,946,840),39647=>array(68,-50,956,847),39648=>array(39,-58,963,837),39649=>array(51,-62,961,832),39650=>array(51,-21,953,832),39651=>array(51,-59,957,832),39652=>array(31,-64,973,846),39653=>array(63,-61,967,839),39654=>array(51,-34,955,834),39655=>array(32,-67,967,839),39656=>array(34,-58,964,839),39657=>array(58,-59,959,782),39658=>array(51,-61,956,853),39659=>array(62,-64,970,844),39660=>array(39,-25,964,829),39661=>array(46,-44,962,853),39662=>array(51,-61,956,853),39663=>array(65,-64,969,839),39664=>array(72,-37,948,823),39665=>array(40,-43,966,830),39666=>array(39,-73,958,832),39667=>array(65,-50,938,849),39668=>array(55,-65,950,833),39669=>array(44,-70,949,837),39670=>array(50,-70,957,832),39671=>array(69,-67,957,835),39672=>array(44,-69,948,837),39673=>array(53,-64,989,841),39674=>array(60,-68,948,832),39675=>array(66,-63,957,836),39676=>array(52,-65,966,845),39677=>array(55,-31,956,840),39678=>array(62,-74,952,834),39679=>array(61,-57,981,856),39680=>array(35,-71,962,857),39681=>array(60,-50,942,857),39682=>array(51,-51,942,857),39683=>array(74,-59,955,834),39684=>array(59,-64,965,843),39685=>array(44,-68,962,828),39686=>array(41,-70,964,846),39687=>array(47,-50,964,853),39688=>array(29,-32,968,842),39689=>array(60,-66,956,831),39690=>array(52,-72,973,834),39691=>array(58,-64,954,849),39692=>array(40,-67,967,835),39693=>array(68,-68,949,846),39694=>array(49,-53,943,851),39695=>array(35,-69,942,825),39696=>array(65,-63,955,847),39697=>array(39,-50,965,853),39698=>array(40,-59,954,853),39699=>array(59,-83,903,824),39700=>array(53,-72,979,836),39701=>array(57,-77,971,856),39702=>array(50,-56,969,851),39703=>array(62,-70,968,838),39704=>array(46,-65,980,851),39705=>array(72,-55,961,851),39706=>array(48,-68,957,841),39707=>array(53,-66,955,829),39708=>array(38,-61,938,823),39709=>array(38,-61,938,823),39710=>array(38,-63,966,846),39711=>array(24,-68,949,839),39712=>array(50,-80,966,852),39713=>array(40,-45,932,855),39714=>array(58,-69,959,837),39715=>array(41,-62,944,839),39716=>array(52,-71,958,845),39717=>array(116,-71,891,826),39718=>array(116,-71,891,826),39719=>array(116,-61,893,835),39720=>array(118,-63,894,830),39721=>array(115,-65,898,832),39722=>array(102,-57,897,839),39723=>array(105,-55,901,840),39724=>array(107,-61,907,833),39725=>array(99,-71,901,823),39726=>array(110,-65,917,832),39727=>array(122,-24,909,826),39728=>array(53,-79,953,840),39729=>array(53,-58,952,845),39730=>array(72,-64,945,791),39731=>array(41,-68,927,826),39732=>array(60,-70,948,833),39733=>array(51,-64,955,783),39734=>array(54,-40,969,838),39735=>array(60,-67,977,826),39736=>array(40,-64,923,834),39737=>array(54,-50,939,813),39738=>array(55,-69,952,830),39739=>array(72,-64,927,830),39740=>array(45,-58,962,850),39741=>array(49,-62,973,836),39742=>array(49,-75,973,836),39743=>array(53,-66,968,843),39744=>array(37,-65,962,843),39745=>array(26,-76,959,848),39746=>array(46,-62,960,857),39747=>array(40,-35,941,840),39748=>array(74,-38,952,854),39749=>array(35,-66,962,839),39750=>array(39,-77,977,845),39751=>array(47,-75,960,770),39752=>array(34,-67,968,844),39753=>array(21,-69,929,823),39754=>array(34,-67,977,841),39755=>array(46,-76,961,842),39756=>array(38,-68,963,843),39757=>array(39,-48,960,841),39758=>array(38,-63,970,847),39759=>array(39,-70,966,836),39760=>array(26,-76,957,849),39761=>array(38,-63,966,841),39762=>array(28,-68,956,846),39763=>array(28,-56,956,849),39764=>array(27,-69,960,840),39765=>array(35,-75,970,834),39766=>array(38,-70,964,836),39767=>array(58,-70,960,851),39768=>array(44,-68,947,797),39769=>array(51,-70,965,831),39770=>array(43,-70,956,849),39771=>array(43,-66,894,841),39772=>array(88,-73,976,841),39773=>array(61,-65,887,841),39774=>array(43,-45,958,841),39775=>array(33,-48,957,842),39776=>array(35,-49,949,844),39777=>array(31,-71,916,839),39778=>array(31,-49,973,839),39779=>array(31,-61,945,839),39780=>array(41,-73,979,832),39781=>array(31,-49,976,839),39782=>array(39,-66,966,832),39783=>array(35,-70,976,835),39784=>array(35,-32,959,846),39785=>array(31,-49,931,839),39786=>array(31,-49,969,839),39787=>array(31,-49,969,839),39788=>array(40,-78,963,834),39789=>array(31,-49,955,839),39790=>array(31,-49,974,839),39791=>array(51,-68,947,837),39792=>array(39,-74,978,834),39793=>array(38,-32,954,835),39794=>array(31,-49,952,839),39795=>array(31,-74,948,839),39796=>array(34,-73,953,837),39797=>array(41,-62,973,837),39798=>array(34,-65,905,834),39799=>array(43,-64,966,841),39800=>array(31,-49,950,839),39801=>array(31,-56,954,839),39802=>array(47,-71,964,836),39803=>array(57,-69,919,833),39804=>array(48,-70,963,830),39805=>array(42,-70,961,831),39806=>array(44,-52,964,819),39807=>array(31,-73,981,842),39808=>array(38,-38,948,852),39809=>array(31,-61,962,839),39810=>array(52,-64,914,832),39811=>array(44,-65,948,843),39812=>array(16,-62,932,839),39813=>array(45,-67,982,831),39814=>array(44,-58,963,850),39815=>array(38,-67,976,837),39816=>array(52,-70,927,830),39817=>array(31,-70,950,839),39818=>array(33,-66,886,843),39819=>array(31,-69,944,839),39820=>array(31,-71,961,840),39821=>array(31,-73,971,839),39822=>array(45,-64,957,838),39823=>array(31,-49,947,839),39824=>array(42,-65,960,839),39825=>array(44,-46,967,844),39826=>array(39,-60,959,851),39827=>array(48,-61,961,845),39828=>array(31,-49,933,839),39829=>array(57,-71,970,838),39830=>array(31,-49,935,839),39831=>array(31,-77,948,839),39832=>array(44,-54,935,836),39833=>array(31,-49,908,839),39834=>array(44,-62,958,839),39835=>array(31,-75,976,834),39836=>array(31,-63,953,839),39837=>array(14,-67,991,836),39838=>array(51,-67,970,839),39839=>array(31,-51,964,839),39840=>array(33,-55,954,849),39841=>array(40,-69,972,833),39842=>array(46,-78,995,829),39843=>array(45,-67,915,839),39844=>array(55,-76,954,826),39845=>array(38,-69,984,840),39846=>array(36,-61,910,842),39847=>array(31,-49,954,839),39848=>array(40,-39,953,844),39849=>array(31,-49,937,853),39850=>array(44,-67,959,839),39851=>array(48,-66,959,843),39852=>array(31,-62,961,843),39853=>array(35,-39,967,847),39854=>array(44,-60,960,843),39855=>array(32,-72,974,834),39856=>array(31,-49,939,839),39857=>array(31,-49,949,839),39858=>array(30,-61,979,839),39859=>array(38,-55,945,835),39860=>array(45,-71,982,839),39861=>array(36,-67,966,834),39862=>array(41,-70,965,841),39863=>array(11,-49,939,839),39864=>array(43,-61,978,845),39865=>array(33,-65,944,836),39866=>array(18,-57,948,836),39867=>array(31,-49,975,839),39868=>array(31,-49,972,839),39869=>array(29,-68,979,832),39870=>array(11,-54,959,839),39871=>array(33,-53,962,845),39872=>array(49,-52,979,840),39873=>array(39,-67,978,840),39874=>array(39,-56,937,839),39875=>array(39,-65,961,839),39876=>array(28,-64,979,842),39877=>array(28,-66,983,842),39878=>array(36,-67,957,839),39879=>array(41,-65,965,845),39880=>array(41,-71,977,840),39881=>array(45,-52,954,833),39882=>array(48,-70,960,836),39883=>array(29,-37,980,841),39884=>array(45,-61,954,833),39885=>array(41,-68,964,842),39886=>array(26,-68,961,841),39887=>array(36,-45,914,853),39888=>array(41,-43,955,841),39889=>array(41,-49,964,841),39890=>array(41,-49,945,841),39891=>array(43,-70,964,842),39892=>array(44,-64,950,846),39893=>array(32,-79,974,839),39894=>array(35,-59,964,843),39895=>array(32,-65,971,854),39896=>array(32,-69,968,840),39897=>array(35,-67,962,842),39898=>array(31,-65,988,838),39899=>array(51,-65,916,839),39900=>array(30,-68,971,841),39901=>array(-15,-70,916,841),39902=>array(39,-74,964,825),39903=>array(29,-57,992,827),39904=>array(32,-65,990,831),39905=>array(46,-62,957,846),39906=>array(38,-48,965,845),39907=>array(38,-64,953,845),39908=>array(42,-63,971,836),39909=>array(32,-39,960,841),39910=>array(29,-62,986,838),39911=>array(49,-64,914,854),39912=>array(44,-62,972,843),39913=>array(33,-68,985,868),39914=>array(43,-67,986,839),39915=>array(32,-62,971,842),39916=>array(35,-72,988,836),39917=>array(37,-44,957,796),39918=>array(42,-65,958,845),39919=>array(46,-67,945,837),39920=>array(44,-33,972,851),39921=>array(42,-74,962,836),39922=>array(53,-73,961,828),39923=>array(34,-62,962,841),39924=>array(33,-62,946,836),39925=>array(65,-81,956,834),39926=>array(42,-63,938,836),39927=>array(43,-68,978,843),39928=>array(39,-67,983,837),39929=>array(42,-45,945,836),39930=>array(42,-64,953,837),39931=>array(43,-63,930,837),39932=>array(42,-57,980,849),39933=>array(52,-65,929,837),39934=>array(42,-69,963,836),39935=>array(47,-62,923,848),39936=>array(44,-64,940,847),39937=>array(49,-64,973,847),39938=>array(37,-59,909,840),39939=>array(49,-57,973,847),39940=>array(43,-40,970,847),39941=>array(49,-61,932,847),39942=>array(39,-61,973,843),39943=>array(43,-64,996,845),39944=>array(37,-67,973,836),39945=>array(39,-45,954,847),39946=>array(54,-53,968,847),39947=>array(24,-36,953,834),39948=>array(33,-70,972,829),39949=>array(31,-67,978,837),39950=>array(35,-73,984,838),39951=>array(49,-65,963,847),39952=>array(38,-61,958,844),39953=>array(49,-45,951,847),39954=>array(35,-64,973,844),39955=>array(38,-44,968,849),39956=>array(44,-66,977,835),39957=>array(37,-63,963,827),39958=>array(51,-64,942,848),39959=>array(44,-70,930,834),39960=>array(49,-26,943,843),39961=>array(24,-60,973,847),39962=>array(49,-21,949,855),39963=>array(44,-39,974,826),39964=>array(30,-64,975,852),39965=>array(39,-68,959,838),39966=>array(24,-60,953,847),39967=>array(49,-65,949,847),39968=>array(49,-66,966,847),39969=>array(43,-65,931,837),39970=>array(49,-63,949,847),39971=>array(34,-62,958,836),39972=>array(33,-65,958,845),39973=>array(38,-72,964,828),39974=>array(69,-56,943,847),39975=>array(34,-67,963,836),39976=>array(56,-61,927,844),39977=>array(37,-62,962,845),39978=>array(29,-26,967,847),39979=>array(43,-64,978,838),39980=>array(37,-66,982,830),39981=>array(42,-65,965,843),39982=>array(44,-39,974,826),39983=>array(34,-65,937,839),39984=>array(53,-66,944,839),39985=>array(41,-74,967,838),39986=>array(47,-69,953,840),39987=>array(51,-74,936,835),39988=>array(32,-68,970,831),39989=>array(41,-76,958,845),39990=>array(24,-65,986,839),39991=>array(29,-62,970,845),39992=>array(39,-21,966,847),39993=>array(35,-21,973,845),39994=>array(33,-73,976,862),39995=>array(35,-65,978,837),39996=>array(40,-64,915,837),39997=>array(32,-53,961,849),39998=>array(37,-62,957,838),39999=>array(36,-74,980,839),40000=>array(59,-71,961,791),40001=>array(34,-66,979,843),40002=>array(42,-65,968,847),40003=>array(44,-63,929,847),40004=>array(38,-63,956,845),40005=>array(41,-73,959,851),40006=>array(38,-64,962,849),40007=>array(38,-59,966,846),40008=>array(35,-56,939,841),40009=>array(41,-72,973,835),40010=>array(41,-67,951,835),40011=>array(31,-71,965,837),40012=>array(24,-63,989,845),40013=>array(28,-68,978,841),40014=>array(30,-69,984,840),40015=>array(49,-63,966,847),40016=>array(37,-70,967,839),40017=>array(34,-59,968,847),40018=>array(35,-62,956,855),40019=>array(38,-62,953,831),40020=>array(32,-64,962,851),40021=>array(30,-68,984,842),40022=>array(29,-68,970,842),40023=>array(31,-68,965,843),40024=>array(40,-59,965,842),40025=>array(27,-70,984,837),40026=>array(27,-65,953,837),40027=>array(49,-68,950,847),40028=>array(26,-67,962,845),40029=>array(29,-60,973,847),40030=>array(39,-68,983,831),40031=>array(53,-68,974,848),40032=>array(25,-61,984,861),40033=>array(32,-62,974,838),40034=>array(41,-65,992,830),40035=>array(32,-35,964,849),40036=>array(58,-40,930,839),40037=>array(38,-71,959,839),40038=>array(36,-56,976,822),40039=>array(36,-28,965,842),40040=>array(34,-48,954,854),40041=>array(29,-70,951,854),40042=>array(34,-64,974,834),40043=>array(25,-68,979,854),40044=>array(24,-70,967,854),40045=>array(39,-62,957,852),40046=>array(29,-56,956,848),40047=>array(39,-64,995,847),40048=>array(29,-63,960,854),40049=>array(38,-67,945,838),40050=>array(22,-59,970,854),40051=>array(38,-65,967,843),40052=>array(36,-69,971,841),40053=>array(27,-55,964,858),40054=>array(40,-73,963,837),40055=>array(39,-29,956,839),40056=>array(36,-60,962,851),40057=>array(48,-67,965,841),40058=>array(35,-68,966,828),40059=>array(59,-73,948,824),40060=>array(78,-15,929,826),40061=>array(22,-73,934,841),40062=>array(31,-29,973,839),40063=>array(29,-65,965,841),40064=>array(22,-46,945,841),40065=>array(44,-53,925,849),40066=>array(39,-75,936,836),40067=>array(22,-32,974,841),40068=>array(22,-71,964,841),40069=>array(30,-68,967,838),40070=>array(24,-72,945,824),40071=>array(22,-74,903,841),40072=>array(22,-72,920,817),40073=>array(22,-69,919,841),40074=>array(22,-61,961,845),40075=>array(24,-62,943,840),40076=>array(22,-66,886,843),40077=>array(22,-30,950,843),40078=>array(74,-13,926,822),40079=>array(22,-73,951,841),40080=>array(39,-67,942,834),40081=>array(39,-29,950,839),40082=>array(24,-64,941,828),40083=>array(29,-55,945,837),40084=>array(24,-69,942,838),40085=>array(28,-70,956,824),40086=>array(22,-61,941,841),40087=>array(33,-65,913,840),40088=>array(22,-63,953,841),40089=>array(22,-55,977,840),40090=>array(12,-76,937,836),40091=>array(39,-69,943,844),40092=>array(27,-61,938,846),40093=>array(54,-37,955,823),40094=>array(25,-42,942,830),40095=>array(21,-68,923,821),40096=>array(25,-69,961,830),40097=>array(0,-59,921,818),40098=>array(16,-49,937,822),40099=>array(19,-20,943,834),40100=>array(39,-23,937,828),40101=>array(24,-68,920,829),40102=>array(23,-64,956,832),40103=>array(33,-63,962,831),40104=>array(60,-48,918,822),40105=>array(25,-67,947,842),40106=>array(22,-69,965,841),40107=>array(31,-67,912,836),40108=>array(22,-44,930,841),40109=>array(24,-61,947,834),40110=>array(25,-69,969,834),40111=>array(22,-79,974,841),40112=>array(19,-64,955,825),40113=>array(32,-64,941,830),40114=>array(24,-60,953,824),40115=>array(39,-66,897,828),40116=>array(22,-70,881,816),40117=>array(24,-72,947,824),40118=>array(31,-32,956,849),40119=>array(25,-66,899,830),40120=>array(39,-64,947,846),40121=>array(25,-79,972,839),40122=>array(16,-68,943,819),40123=>array(25,-66,933,834),40124=>array(27,-80,918,825),40125=>array(25,-69,957,830),40126=>array(22,-65,963,841),40127=>array(24,-58,957,841),40128=>array(22,-68,988,841),40129=>array(22,-39,982,841),40130=>array(22,-57,983,841),40131=>array(34,-31,951,842),40132=>array(20,-66,939,812),40133=>array(18,-70,961,828),40134=>array(25,-66,956,842),40135=>array(24,-44,937,844),40136=>array(22,-64,973,844),40137=>array(34,-61,954,841),40138=>array(25,-77,911,836),40139=>array(24,-67,953,822),40140=>array(35,-50,931,820),40141=>array(24,-67,941,834),40142=>array(24,-63,910,824),40143=>array(25,-66,950,830),40144=>array(47,-67,941,824),40145=>array(22,-65,949,843),40146=>array(22,-64,975,852),40147=>array(33,-75,917,828),40148=>array(25,-64,957,830),40149=>array(25,-69,922,830),40150=>array(41,-40,945,835),40151=>array(25,-68,965,836),40152=>array(53,-38,955,836),40153=>array(25,-84,943,840),40154=>array(16,-67,984,868),40155=>array(22,-67,957,841),40156=>array(19,-69,953,825),40157=>array(25,-66,945,848),40158=>array(25,-68,945,834),40159=>array(35,-65,953,851),40160=>array(22,-64,995,841),40161=>array(41,-33,959,841),40162=>array(25,-32,948,833),40163=>array(24,-35,976,849),40164=>array(43,-67,957,856),40165=>array(66,-59,887,852),40166=>array(34,-65,952,847),40167=>array(58,-58,960,842),40168=>array(43,-64,957,848),40169=>array(48,-63,930,849),40170=>array(177,-69,927,843),40171=>array(41,-68,927,788),40172=>array(52,-62,960,851),40173=>array(31,-73,951,841),40174=>array(39,-73,961,841),40175=>array(46,-60,965,796),40176=>array(43,-71,957,840),40177=>array(58,-75,956,840),40178=>array(33,-48,955,861),40179=>array(46,-60,965,796),40180=>array(109,-63,909,851),40181=>array(59,-67,952,841),40182=>array(52,-57,949,850),40183=>array(47,-69,964,846),40184=>array(46,-73,954,835),40185=>array(35,-70,954,847),40186=>array(40,-65,955,846),40187=>array(39,-78,954,841),40188=>array(46,-52,976,864),40189=>array(35,-75,959,844),40190=>array(57,-76,943,841),40191=>array(42,-71,939,841),40192=>array(36,-72,951,848),40193=>array(31,-72,951,848),40194=>array(17,-73,951,848),40195=>array(48,-70,972,840),40196=>array(63,-74,963,843),40197=>array(49,-75,957,838),40198=>array(45,-68,942,841),40199=>array(65,-65,923,848),40200=>array(46,-63,947,791),40201=>array(46,-64,924,842),40202=>array(38,-64,924,842),40203=>array(39,-68,924,842),40204=>array(34,-68,996,781),40205=>array(40,-68,959,844),40206=>array(96,-70,924,836),40207=>array(29,-80,971,851),40208=>array(61,-68,944,833),40209=>array(68,-68,947,847),40210=>array(41,-65,926,838),40211=>array(54,-71,946,835),40212=>array(45,-68,958,835),40213=>array(41,-61,946,841),40214=>array(33,-61,967,853),40215=>array(60,-71,941,843),40216=>array(43,-75,956,839),40217=>array(52,-68,953,844),40218=>array(26,-62,960,841),40219=>array(46,-67,951,840),40220=>array(62,-67,932,827),40221=>array(36,-58,918,849),40222=>array(72,-55,926,845),40223=>array(68,-58,921,846),40224=>array(61,-68,946,843),40225=>array(42,-58,946,853),40226=>array(51,-72,950,838),40227=>array(66,-60,923,845),40228=>array(25,-77,975,843),40229=>array(38,-72,979,841),40230=>array(34,-63,971,842),40231=>array(51,-68,956,835),40232=>array(113,-79,916,843),40233=>array(45,-75,959,835),40234=>array(61,-56,956,841),40235=>array(113,-67,916,843),40236=>array(63,-67,893,821),40237=>array(107,-63,943,841),40238=>array(37,-70,955,836),40239=>array(59,-59,916,845),40240=>array(71,-61,930,847),40241=>array(46,-63,955,841),40242=>array(59,-66,943,841),40243=>array(57,-66,966,838),40244=>array(37,-63,944,849),40245=>array(27,-66,965,841),40246=>array(56,-64,954,840),40247=>array(57,-68,908,824),40248=>array(43,-67,956,843),40249=>array(76,-63,956,855),40250=>array(44,-63,961,839),40251=>array(48,-57,919,853),40252=>array(29,-61,971,856),40253=>array(55,-43,924,850),40254=>array(65,-67,957,841),40255=>array(49,-67,924,844),40256=>array(43,-47,951,858),40257=>array(37,-67,957,839),40258=>array(39,-71,916,842),40259=>array(37,-67,951,841),40260=>array(53,-60,933,843),40261=>array(38,-69,963,838),40262=>array(35,-70,943,855),40263=>array(41,-68,959,841),40264=>array(40,-70,949,841),40265=>array(62,-55,938,808),40266=>array(46,-68,954,841),40267=>array(34,-69,948,840),40268=>array(26,-67,981,840),40269=>array(34,-69,966,840),40270=>array(36,-73,964,840),40271=>array(55,-61,945,846),40272=>array(18,-69,970,847),40273=>array(108,-68,915,838),40274=>array(28,-68,914,842),40275=>array(71,-61,926,845),40276=>array(31,-73,971,847),40277=>array(34,-70,959,840),40278=>array(104,-68,942,846),40279=>array(33,-67,949,840),40280=>array(38,-71,952,839),40281=>array(47,-68,951,841),40282=>array(45,-67,963,841),40283=>array(54,-71,950,840),40284=>array(53,-61,930,843),40285=>array(68,-60,924,840),40286=>array(53,-73,952,847),40287=>array(48,-69,945,839),40288=>array(70,-62,933,842),40289=>array(61,-63,933,842),40290=>array(48,-69,946,845),40291=>array(42,-69,958,840),40292=>array(43,-69,948,850),40293=>array(67,-62,920,834),40294=>array(37,-68,966,839),40295=>array(48,-71,955,838),40296=>array(23,-68,965,845),40297=>array(37,-69,956,841),40298=>array(50,-60,925,849),40299=>array(59,-72,950,841),40300=>array(63,-77,928,849),40301=>array(24,-65,949,844),40302=>array(44,-65,956,844),40303=>array(65,-58,926,853),40304=>array(57,-55,927,851),40305=>array(33,-70,969,848),40306=>array(60,-61,931,841),40307=>array(37,-70,959,841),40308=>array(28,-67,967,848),40309=>array(34,-68,960,846),40310=>array(52,-65,943,844),40311=>array(37,-61,918,848),40312=>array(58,-68,968,847),40313=>array(49,-64,942,838),40314=>array(37,-75,950,841),40315=>array(51,-64,967,847),40316=>array(44,-68,940,844),40317=>array(49,-66,963,849),40318=>array(57,-69,943,840),40319=>array(34,-66,957,851),40320=>array(28,-73,969,853),40321=>array(43,-65,959,847),40322=>array(51,-68,956,835),40323=>array(27,-69,973,840),40324=>array(62,-74,961,852),40325=>array(51,-65,958,849),40326=>array(40,-68,966,847),40327=>array(42,-68,947,844),40328=>array(50,-74,962,841),40329=>array(54,-62,922,845),40330=>array(26,-68,917,848),40331=>array(41,-72,962,840),40332=>array(37,-63,958,852),40333=>array(35,-69,965,840),40334=>array(34,-69,966,850),40335=>array(42,-68,955,842),40336=>array(52,-63,953,839),40337=>array(61,-74,939,827),40338=>array(33,-65,963,838),40339=>array(53,-65,911,846),40340=>array(48,-63,961,844),40341=>array(57,-69,943,840),40342=>array(41,-67,957,834),40343=>array(46,-62,967,842),40344=>array(62,-64,927,844),40345=>array(67,-62,956,850),40346=>array(71,-59,927,846),40347=>array(55,-65,948,838),40348=>array(46,-70,968,838),40349=>array(61,-66,951,842),40350=>array(36,-63,956,840),40351=>array(50,-65,957,843),40352=>array(69,-64,949,834),40353=>array(16,-55,897,853),40354=>array(36,-64,954,843),40355=>array(18,-58,966,841),40356=>array(64,-65,948,839),40357=>array(35,-69,965,840),40358=>array(75,-68,897,828),40359=>array(32,-62,972,826),40360=>array(50,-63,977,838),40361=>array(52,-66,950,838),40362=>array(55,-60,953,841),40363=>array(34,-77,947,841),40364=>array(27,-71,909,846),40365=>array(60,-70,946,847),40366=>array(35,-69,948,848),40367=>array(57,-74,933,829),40368=>array(-9,-77,948,840),40369=>array(47,-73,968,835),40370=>array(43,-68,955,843),40371=>array(52,-68,955,841),40372=>array(40,-65,938,837),40373=>array(49,-59,938,846),40374=>array(45,-69,964,842),40375=>array(83,-68,953,846),40376=>array(40,-64,952,834),40377=>array(69,-70,949,838),40378=>array(47,-67,924,836),40379=>array(85,-61,921,848),40380=>array(31,-69,912,844),40381=>array(26,-69,948,840),40382=>array(60,-69,949,827),40383=>array(53,-55,929,857),40384=>array(74,-62,927,845),40385=>array(36,-49,951,850),40386=>array(66,-57,924,844),40387=>array(50,-53,950,861),40388=>array(46,-61,945,835),40389=>array(52,-63,960,843),40390=>array(53,-67,949,838),40391=>array(61,-72,976,825),40392=>array(45,-70,962,839),40393=>array(30,-73,970,841),40394=>array(56,-66,949,842),40395=>array(44,-72,959,841),40396=>array(21,-64,946,838),40397=>array(47,-65,959,844),40398=>array(34,-73,964,840),40399=>array(43,-64,952,841),40400=>array(40,-68,956,845),40401=>array(43,-71,952,836),40402=>array(62,-65,954,846),40403=>array(49,-63,931,845),40404=>array(52,-67,954,842),40405=>array(58,-65,937,845),40406=>array(54,-70,930,797),40407=>array(115,-68,925,843),40408=>array(52,-64,974,834),40409=>array(58,-63,956,835),40410=>array(32,-76,912,846),40411=>array(45,-65,954,847),40412=>array(41,-67,955,845),40413=>array(50,-70,957,845),40414=>array(44,-67,967,854),40415=>array(46,-67,953,845),40416=>array(40,-69,948,840),40417=>array(39,-71,970,844),40418=>array(36,-67,979,785),40419=>array(65,-65,954,846),40420=>array(61,-70,954,838),40421=>array(60,-71,937,847),40422=>array(26,-56,898,847),40423=>array(47,-69,948,840),40424=>array(48,-65,959,846),40425=>array(56,-49,939,853),40426=>array(54,-63,935,802),40427=>array(59,-52,955,862),40428=>array(48,-65,954,844),40429=>array(39,-66,965,851),40430=>array(41,-65,962,844),40431=>array(32,-68,915,841),40432=>array(37,-69,969,840),40433=>array(50,-67,955,846),40434=>array(65,-66,943,840),40435=>array(113,-62,925,844),40436=>array(98,-69,938,841),40437=>array(35,-67,956,840),40438=>array(54,-73,945,840),40439=>array(62,-77,950,841),40440=>array(60,-68,934,844),40441=>array(40,-76,942,837),40442=>array(62,-67,948,849),40443=>array(29,-77,989,839),40444=>array(48,-69,948,840),40445=>array(50,-73,935,844),40446=>array(58,-65,962,845),40447=>array(53,-61,956,841),40448=>array(33,-68,962,841),40449=>array(34,-67,969,843),40450=>array(48,-74,957,830),40451=>array(32,-64,974,846),40452=>array(47,-73,969,837),40453=>array(62,-70,954,839),40454=>array(50,-72,966,839),40455=>array(45,-65,942,846),40456=>array(36,-69,926,846),40457=>array(38,-62,955,833),40458=>array(33,-66,960,842),40459=>array(59,-65,959,841),40460=>array(36,-66,948,843),40461=>array(34,-61,959,847),40462=>array(68,-59,910,805),40463=>array(50,-70,961,847),40464=>array(42,-67,971,841),40465=>array(44,-51,951,852),40466=>array(34,-63,975,838),40467=>array(93,-65,933,840),40468=>array(41,-70,973,843),40469=>array(43,-65,930,844),40470=>array(63,-67,939,844),40471=>array(71,-72,945,836),40472=>array(24,-71,960,844),40473=>array(57,-64,946,847),40474=>array(50,-65,928,843),40475=>array(45,-67,927,845),40476=>array(34,-65,966,845),40477=>array(41,-65,935,842),40478=>array(62,-67,958,846),40479=>array(80,-53,892,842),40480=>array(34,-65,893,820),40481=>array(30,-57,890,837),40482=>array(58,-65,935,825),40483=>array(98,-52,903,842),40484=>array(27,-66,896,826),40485=>array(96,-53,904,840),40486=>array(23,-64,906,837),40487=>array(35,-63,932,833),40488=>array(53,-63,892,827),40489=>array(37,-69,918,823),40490=>array(49,-65,892,822),40491=>array(26,-66,897,824),40492=>array(34,-66,896,826),40493=>array(100,-68,902,825),40494=>array(72,-69,902,825),40495=>array(32,-58,950,831),40496=>array(50,-70,927,844),40497=>array(70,-65,896,825),40498=>array(24,-57,895,828),40499=>array(35,-62,924,827),40500=>array(81,-63,893,821),40501=>array(41,-57,920,835),40502=>array(61,-59,910,832),40503=>array(50,-63,923,821),40504=>array(50,-59,893,826),40505=>array(29,-62,896,820),40506=>array(15,-66,896,824),40507=>array(37,-63,938,844),40508=>array(49,-67,928,835),40509=>array(26,-53,907,836),40510=>array(64,-60,917,835),40511=>array(39,-55,894,839),40512=>array(40,-62,949,838),40513=>array(62,-64,899,824),40514=>array(62,-60,895,820),40515=>array(98,-61,899,842),40516=>array(30,-54,898,826),40517=>array(32,-59,899,833),40518=>array(16,-60,895,821),40519=>array(90,-63,899,834),40520=>array(20,-66,900,822),40521=>array(41,-62,896,821),40522=>array(52,-64,903,826),40523=>array(60,-63,898,823),40524=>array(24,-64,899,828),40525=>array(81,-62,925,824),40526=>array(43,-71,902,818),40527=>array(24,-68,906,839),40528=>array(44,-64,926,843),40529=>array(51,-66,896,829),40530=>array(26,-68,931,846),40531=>array(49,-64,942,848),40532=>array(41,-64,959,833),40533=>array(52,-67,896,819),40534=>array(16,-64,896,821),40535=>array(61,-68,896,823),40536=>array(62,-69,894,825),40537=>array(39,-67,944,834),40538=>array(64,-63,921,824),40539=>array(19,-67,898,823),40540=>array(39,-65,929,825),40541=>array(70,-65,928,829),40542=>array(50,-61,934,821),40543=>array(44,-65,926,836),40544=>array(83,-67,924,839),40545=>array(36,-67,898,831),40546=>array(46,-67,898,849),40547=>array(38,-70,912,828),40548=>array(19,-56,898,840),40549=>array(83,-67,929,802),40550=>array(33,-61,899,821),40551=>array(20,-63,898,826),40552=>array(46,-69,929,831),40553=>array(48,-60,923,828),40554=>array(36,-63,922,827),40555=>array(42,-64,960,845),40556=>array(39,-65,895,821),40557=>array(31,-63,930,827),40558=>array(37,-62,951,821),40559=>array(61,-62,937,846),40560=>array(45,-78,917,831),40561=>array(30,-65,948,826),40562=>array(63,-64,933,833),40563=>array(29,-56,897,828),40564=>array(29,-70,946,822),40565=>array(125,-70,891,835),40566=>array(91,-52,972,835),40567=>array(91,-73,972,835),40568=>array(82,-60,966,835),40569=>array(94,-71,969,831),40570=>array(88,-59,941,843),40571=>array(69,-72,982,845),40572=>array(72,-66,947,847),40573=>array(52,-18,943,837),40574=>array(92,-45,924,830),40575=>array(57,-67,949,829),40576=>array(29,-66,958,842),40577=>array(42,-64,953,834),40578=>array(21,-60,935,841),40579=>array(39,-75,960,848),40580=>array(40,-74,958,833),40581=>array(30,-60,949,849),40582=>array(30,-60,941,849),40583=>array(30,-67,961,849),40584=>array(21,-60,925,836),40585=>array(48,-75,956,814),40586=>array(52,-72,955,826),40587=>array(67,-64,941,821),40588=>array(36,-57,966,829),40589=>array(25,-70,969,845),40590=>array(25,-80,971,845),40591=>array(25,-74,960,845),40592=>array(25,-73,975,845),40593=>array(37,-64,955,838),40594=>array(40,-70,951,835),40595=>array(37,-68,958,837),40596=>array(25,-74,960,845),40597=>array(36,-65,945,833),40598=>array(25,-70,951,845),40599=>array(43,-67,952,814),40600=>array(25,-72,971,845),40601=>array(25,-73,963,845),40602=>array(25,-78,970,845),40603=>array(25,-70,956,845),40604=>array(25,-75,979,845),40605=>array(58,-63,946,841),40606=>array(25,-80,952,843),40607=>array(26,-68,959,838),40608=>array(25,-76,952,847),40609=>array(25,-79,970,843),40610=>array(25,-74,951,843),40611=>array(35,-68,976,841),40612=>array(42,-69,959,853),40613=>array(58,-75,942,832),40614=>array(56,-65,950,827),40615=>array(40,-75,981,828),40616=>array(43,-84,971,832),40617=>array(37,-64,964,831),40618=>array(37,-64,958,831),40619=>array(43,-84,939,832),40620=>array(45,-84,964,832),40621=>array(37,-64,971,842),40622=>array(47,-68,978,824),40623=>array(43,-84,929,832),40624=>array(38,-54,971,866),40625=>array(43,-84,958,832),40626=>array(43,-84,968,832),40627=>array(43,-84,973,832),40628=>array(25,-63,959,826),40629=>array(34,-63,967,831),40630=>array(41,-71,979,837),40631=>array(44,-66,982,829),40632=>array(43,-57,973,830),40633=>array(37,-65,982,830),40634=>array(37,-65,982,818),40635=>array(43,-70,966,839),40636=>array(45,-68,956,839),40637=>array(41,-72,926,837),40638=>array(23,-67,958,836),40639=>array(36,-68,945,838),40640=>array(37,-71,969,843),40641=>array(39,-66,978,852),40642=>array(34,-73,940,845),40643=>array(55,-76,957,826),40644=>array(75,-83,925,831),40645=>array(50,-76,968,830),40646=>array(50,-76,972,830),40647=>array(58,-78,942,832),40648=>array(56,-78,959,818),40649=>array(58,-67,916,840),40650=>array(50,-78,963,831),40651=>array(28,-79,958,822),40652=>array(49,-72,960,842),40653=>array(35,-68,963,830),40654=>array(49,-68,946,832),40655=>array(39,-62,956,838),40656=>array(31,-64,954,835),40657=>array(81,-67,946,787),40658=>array(81,-67,946,787),40659=>array(48,-67,970,823),40660=>array(36,-65,970,841),40661=>array(43,-78,963,820),40662=>array(41,-75,964,780),40663=>array(39,-60,966,837),40664=>array(45,-69,955,829),40665=>array(43,-67,957,809),40666=>array(60,-70,956,823),40667=>array(47,-67,962,847),40668=>array(63,-66,919,832),40669=>array(58,-62,941,830),40670=>array(63,-64,945,839),40671=>array(58,-63,941,846),40672=>array(37,-64,952,829),40673=>array(33,-78,964,805),40674=>array(29,-72,933,831),40675=>array(43,-57,957,845),40676=>array(42,-52,965,853),40677=>array(38,-62,963,819),40678=>array(38,-68,964,833),40679=>array(44,-68,955,837),40680=>array(41,-70,956,836),40681=>array(30,-67,941,817),40682=>array(31,-76,950,823),40683=>array(25,-51,960,793),40684=>array(33,-68,967,835),40685=>array(45,-70,979,828),40686=>array(48,-53,954,832),40687=>array(52,-63,951,832),40688=>array(49,-59,970,852),40689=>array(26,-88,974,841),40690=>array(38,-55,970,864),40691=>array(47,-79,957,813),40692=>array(44,-67,977,833),40693=>array(56,-62,950,843),40694=>array(35,-73,959,817),40695=>array(37,-80,961,835),40696=>array(46,-64,954,836),40697=>array(46,-65,962,830),40698=>array(39,-74,970,826),40699=>array(34,-69,978,836),40700=>array(36,-62,955,835),40701=>array(120,-33,967,794),40702=>array(139,-42,966,803),40703=>array(45,-32,960,788),40704=>array(40,-56,973,837),40705=>array(63,-46,968,829),40706=>array(62,-54,971,823),40707=>array(68,-51,971,843),40708=>array(40,-54,971,844),40709=>array(57,-54,971,858),40710=>array(49,-42,971,784),40711=>array(48,-56,973,845),40712=>array(70,-49,960,829),40713=>array(58,-38,969,809),40714=>array(45,-39,956,834),40715=>array(84,-55,958,819),40716=>array(63,-51,962,822),40717=>array(63,-53,961,822),40718=>array(48,-65,948,801),40719=>array(41,-75,944,782),40720=>array(55,-69,943,792),40721=>array(44,-65,899,835),40722=>array(50,-67,950,824),40723=>array(59,-74,961,837),40724=>array(59,-74,961,833),40725=>array(60,-60,960,832),40726=>array(42,-73,974,833),40727=>array(44,-76,962,827),40728=>array(60,-68,962,828),40729=>array(51,-65,969,833),40730=>array(51,-69,962,827),40731=>array(43,-71,967,830),40732=>array(46,-67,972,829),40733=>array(37,-61,963,811),40734=>array(60,-35,970,818),40735=>array(34,-47,966,826),40736=>array(61,-60,963,836),40737=>array(40,-69,957,810),40738=>array(62,-52,948,830),40739=>array(74,-72,957,836),40740=>array(76,-73,959,835),40741=>array(68,-60,957,840),40742=>array(66,-69,924,826),40743=>array(66,-69,962,831),40744=>array(65,-60,969,838),40745=>array(63,-46,961,847),40746=>array(54,-56,954,846),40747=>array(61,-55,952,847),40748=>array(60,-58,945,820),40749=>array(68,-66,959,835),40750=>array(59,-68,958,840),40751=>array(56,-51,946,827),40752=>array(68,-65,953,836),40753=>array(57,-43,944,846),40754=>array(70,-77,952,834),40755=>array(65,-71,964,837),40756=>array(57,-55,954,832),40757=>array(59,-66,959,843),40758=>array(58,-75,964,839),40759=>array(49,-53,949,838),40760=>array(56,-66,954,840),40761=>array(87,-66,952,829),40762=>array(70,-58,943,825),40763=>array(42,-58,951,851),40764=>array(51,-71,897,843),40765=>array(43,-70,964,854),40766=>array(38,-65,964,850),40767=>array(30,-72,970,851),40768=>array(31,-68,976,843),40769=>array(56,-62,923,858),40770=>array(41,-75,967,833),40771=>array(43,-70,933,842),40772=>array(45,-67,950,825),40773=>array(36,-64,967,848),40774=>array(36,-62,957,860),40775=>array(49,-66,959,846),40776=>array(44,-64,967,841),40777=>array(53,-66,974,840),40778=>array(52,-70,946,831),40779=>array(55,-73,962,831),40780=>array(39,-74,973,847),40781=>array(32,-73,979,846),40782=>array(39,-67,978,846),40783=>array(43,-69,977,833),40784=>array(32,-69,952,834),40785=>array(36,-67,937,842),40786=>array(53,-73,946,829),40787=>array(58,-37,950,836),40788=>array(58,-63,948,836),40789=>array(62,-41,968,840),40790=>array(62,-65,954,840),40791=>array(65,-64,959,837),40792=>array(56,-52,976,860),40793=>array(57,-71,960,835),40794=>array(57,-71,943,851),40795=>array(61,-62,956,830),40796=>array(47,-48,957,835),40797=>array(60,-64,957,834),40798=>array(61,-71,962,833),40799=>array(40,-63,956,836),40800=>array(40,-63,930,836),40801=>array(40,-63,943,836),40802=>array(42,-68,958,846),40803=>array(55,-63,927,836),40804=>array(45,-65,969,839),40805=>array(55,-87,954,830),40806=>array(46,-73,967,836),40807=>array(64,-65,942,836),40808=>array(42,-45,958,839),40809=>array(64,-63,950,837),40810=>array(58,-63,960,836),40811=>array(66,-65,911,829),40812=>array(46,-63,956,836),40813=>array(63,-66,937,825),40814=>array(59,-73,956,831),40815=>array(59,-56,958,844),40816=>array(54,-48,949,851),40817=>array(58,-68,958,828),40818=>array(55,-66,940,836),40819=>array(73,-64,927,839),40820=>array(54,-67,957,837),40821=>array(60,-42,921,877),40822=>array(56,-60,954,846),40823=>array(58,-66,936,836),40824=>array(57,-29,968,829),40825=>array(47,-65,952,847),40826=>array(54,-71,931,837),40827=>array(59,-71,962,830),40828=>array(60,-56,940,839),40829=>array(47,-70,964,839),40830=>array(53,-69,975,829),40831=>array(75,-61,925,827),40832=>array(52,-59,930,817),40833=>array(52,-59,950,842),40834=>array(52,-59,908,842),40835=>array(52,-47,953,817),40836=>array(46,-57,947,826),40837=>array(52,-47,965,828),40838=>array(52,-67,870,817),40839=>array(51,-53,941,824),40840=>array(52,-70,969,817),40841=>array(50,-71,918,817),40842=>array(54,-68,965,821),40843=>array(44,-77,889,813),40844=>array(68,-68,927,817),40845=>array(50,-66,970,833),40846=>array(44,-63,975,797),40847=>array(59,-76,957,838),40848=>array(44,-63,975,845),40849=>array(50,-61,965,834),40850=>array(61,-64,957,838),40851=>array(45,-68,955,833),40852=>array(60,-69,956,850),40853=>array(44,-64,962,858),40854=>array(47,-47,971,819),40855=>array(63,-56,957,829),40856=>array(71,-65,958,837),40857=>array(37,-65,928,823),40858=>array(23,-66,923,834),40859=>array(21,-62,934,828),40860=>array(37,-41,967,846),40861=>array(16,-55,965,851),40862=>array(56,-54,970,843),40863=>array(50,-34,965,827),40864=>array(28,-64,976,848),40865=>array(56,-48,975,857),40866=>array(31,-62,986,863),40867=>array(29,-68,969,841),40868=>array(31,-43,962,857),40869=>array(31,-74,969,857),44032=>array(98,-69,936,842),44033=>array(88,-59,936,837),44034=>array(88,-61,936,837),44035=>array(88,-71,936,837),44036=>array(90,-45,936,842),44037=>array(88,-69,936,837),44038=>array(88,-76,936,837),44039=>array(88,-44,936,837),44040=>array(88,-62,936,837),44041=>array(88,-64,936,837),44042=>array(88,-64,936,837),44043=>array(88,-64,936,837),44044=>array(88,-70,936,837),44045=>array(88,-64,936,837),44046=>array(88,-64,936,837),44047=>array(88,-76,936,837),44048=>array(88,-62,936,837),44049=>array(88,-61,936,837),44050=>array(88,-70,936,837),44051=>array(88,-74,936,837),44052=>array(88,-69,936,837),44053=>array(88,-67,936,837),44054=>array(88,-72,936,837),44055=>array(88,-71,936,837),44056=>array(88,-66,936,837),44057=>array(88,-59,936,837),44058=>array(88,-60,936,837),44059=>array(88,-69,936,837),44060=>array(104,-69,907,842),44061=>array(88,-61,907,842),44062=>array(88,-61,907,842),44063=>array(88,-71,931,842),44064=>array(90,-46,907,842),44065=>array(88,-68,912,842),44066=>array(88,-76,907,842),44067=>array(88,-44,921,842),44068=>array(88,-62,917,842),44069=>array(88,-64,907,842),44070=>array(88,-64,908,842),44071=>array(88,-64,908,842),44072=>array(88,-69,923,842),44073=>array(88,-64,908,842),44074=>array(88,-64,908,842),44075=>array(88,-76,907,842),44076=>array(88,-62,907,842),44077=>array(88,-61,907,842),44078=>array(88,-69,922,842),44079=>array(88,-74,929,842),44080=>array(88,-69,927,842),44081=>array(88,-68,911,842),44082=>array(88,-72,929,842),44083=>array(88,-70,936,842),44084=>array(88,-66,908,842),44085=>array(88,-59,916,842),44086=>array(88,-60,928,842),44087=>array(88,-68,908,842),44088=>array(98,-68,935,843),44089=>array(90,-59,936,842),44090=>array(90,-61,936,842),44091=>array(90,-71,936,842),44092=>array(90,-45,936,842),44093=>array(90,-69,936,842),44094=>array(90,-76,936,842),44095=>array(90,-44,936,842),44096=>array(90,-62,936,842),44097=>array(90,-64,936,842),44098=>array(90,-64,936,842),44099=>array(90,-64,936,842),44100=>array(90,-70,936,842),44101=>array(90,-64,936,842),44102=>array(90,-64,936,842),44103=>array(90,-76,936,842),44104=>array(90,-62,936,842),44105=>array(90,-61,936,842),44106=>array(90,-70,936,842),44107=>array(90,-74,936,842),44108=>array(90,-69,936,842),44109=>array(90,-67,936,842),44110=>array(90,-72,936,842),44111=>array(90,-71,936,842),44112=>array(90,-66,936,842),44113=>array(90,-59,936,842),44114=>array(90,-60,936,842),44115=>array(90,-69,936,842),44116=>array(104,-69,907,842),44117=>array(88,-61,907,842),44118=>array(88,-61,907,842),44119=>array(88,-71,931,842),44120=>array(90,-46,907,842),44121=>array(88,-68,912,842),44122=>array(88,-76,907,842),44123=>array(88,-44,921,842),44124=>array(88,-62,917,842),44125=>array(88,-64,907,842),44126=>array(88,-64,908,842),44127=>array(88,-64,908,842),44128=>array(88,-69,923,842),44129=>array(88,-64,908,842),44130=>array(88,-64,908,842),44131=>array(88,-76,907,842),44132=>array(88,-62,907,842),44133=>array(88,-61,907,842),44134=>array(88,-69,922,842),44135=>array(88,-74,929,842),44136=>array(88,-69,927,842),44137=>array(88,-68,911,842),44138=>array(88,-72,929,842),44139=>array(88,-70,936,842),44140=>array(88,-66,908,842),44141=>array(88,-59,916,842),44142=>array(88,-60,928,842),44143=>array(88,-68,908,842),44144=>array(98,-70,907,841),44145=>array(90,-61,907,841),44146=>array(90,-61,907,841),44147=>array(90,-71,931,841),44148=>array(90,-46,907,841),44149=>array(90,-68,912,841),44150=>array(90,-76,907,841),44151=>array(90,-44,921,841),44152=>array(90,-62,917,841),44153=>array(90,-64,907,841),44154=>array(90,-64,908,841),44155=>array(90,-64,908,841),44156=>array(90,-69,923,841),44157=>array(90,-64,908,841),44158=>array(90,-64,908,841),44159=>array(90,-76,906,841),44160=>array(90,-62,907,841),44161=>array(90,-61,907,841),44162=>array(90,-69,922,841),44163=>array(90,-74,929,841),44164=>array(90,-69,927,841),44165=>array(90,-68,911,841),44166=>array(90,-72,929,841),44167=>array(90,-70,936,841),44168=>array(90,-66,908,841),44169=>array(90,-59,916,841),44170=>array(90,-60,928,841),44171=>array(90,-68,908,841),44172=>array(93,-68,907,843),44173=>array(74,-61,907,843),44174=>array(74,-61,907,843),44175=>array(74,-71,931,843),44176=>array(70,-46,907,843),44177=>array(74,-68,912,843),44178=>array(74,-76,907,843),44179=>array(74,-44,921,843),44180=>array(74,-62,917,843),44181=>array(74,-64,907,843),44182=>array(74,-64,908,843),44183=>array(74,-64,908,843),44184=>array(74,-69,923,843),44185=>array(74,-64,908,843),44186=>array(74,-64,908,843),44187=>array(74,-76,907,843),44188=>array(74,-62,907,843),44189=>array(74,-61,907,843),44190=>array(74,-69,922,843),44191=>array(74,-74,929,843),44192=>array(74,-69,927,843),44193=>array(74,-68,911,843),44194=>array(74,-72,929,843),44195=>array(74,-70,936,843),44196=>array(74,-66,908,843),44197=>array(74,-59,916,843),44198=>array(74,-60,928,843),44199=>array(74,-68,908,843),44200=>array(98,-70,907,842),44201=>array(90,-61,908,842),44202=>array(90,-61,908,842),44203=>array(90,-71,931,842),44204=>array(90,-46,907,842),44205=>array(90,-68,912,842),44206=>array(90,-76,908,842),44207=>array(90,-44,921,842),44208=>array(90,-62,917,842),44209=>array(90,-64,908,842),44210=>array(90,-64,908,842),44211=>array(90,-64,908,842),44212=>array(90,-69,923,842),44213=>array(90,-64,908,842),44214=>array(90,-64,908,842),44215=>array(90,-76,908,842),44216=>array(90,-62,908,842),44217=>array(90,-61,908,842),44218=>array(90,-69,922,842),44219=>array(90,-74,929,842),44220=>array(90,-69,927,842),44221=>array(90,-68,911,842),44222=>array(90,-72,929,842),44223=>array(90,-70,936,842),44224=>array(90,-66,908,842),44225=>array(90,-59,916,842),44226=>array(90,-60,928,842),44227=>array(90,-68,908,842),44228=>array(78,-68,907,843),44229=>array(79,-61,907,843),44230=>array(79,-61,907,843),44231=>array(79,-71,931,843),44232=>array(70,-46,907,843),44233=>array(79,-68,912,843),44234=>array(79,-76,907,843),44235=>array(79,-44,921,843),44236=>array(79,-62,917,843),44237=>array(79,-64,907,843),44238=>array(79,-64,908,843),44239=>array(79,-64,908,843),44240=>array(79,-69,923,843),44241=>array(79,-64,908,843),44242=>array(79,-64,908,843),44243=>array(79,-76,907,843),44244=>array(79,-62,907,843),44245=>array(79,-61,907,843),44246=>array(79,-69,922,843),44247=>array(79,-74,929,843),44248=>array(79,-69,927,843),44249=>array(79,-68,911,843),44250=>array(79,-72,929,843),44251=>array(79,-70,936,843),44252=>array(79,-66,908,843),44253=>array(79,-59,916,843),44254=>array(79,-60,928,843),44255=>array(79,-68,908,843),44256=>array(62,27,943,700),44257=>array(79,-61,921,770),44258=>array(79,-61,921,770),44259=>array(79,-71,921,770),44260=>array(79,-46,921,770),44261=>array(79,-68,921,770),44262=>array(79,-74,921,770),44263=>array(79,-44,921,770),44264=>array(79,-62,921,770),44265=>array(79,-64,921,770),44266=>array(79,-64,921,770),44267=>array(79,-63,921,770),44268=>array(79,-68,921,770),44269=>array(79,-64,921,770),44270=>array(79,-63,921,770),44271=>array(79,-74,921,770),44272=>array(79,-62,921,770),44273=>array(79,-61,921,770),44274=>array(79,-69,921,770),44275=>array(79,-74,921,770),44276=>array(79,-69,921,770),44277=>array(79,-68,921,770),44278=>array(79,-72,921,770),44279=>array(79,-70,921,770),44280=>array(79,-66,921,770),44281=>array(79,-59,921,770),44282=>array(79,-60,921,770),44283=>array(79,-68,921,770),44284=>array(38,-68,935,843),44285=>array(64,-59,936,842),44286=>array(64,-61,936,842),44287=>array(64,-71,936,842),44288=>array(57,-45,936,842),44289=>array(64,-69,936,842),44290=>array(64,-76,936,842),44291=>array(64,-44,936,842),44292=>array(64,-62,936,842),44293=>array(64,-64,936,842),44294=>array(64,-64,936,842),44295=>array(64,-64,936,842),44296=>array(64,-70,936,842),44297=>array(64,-64,936,842),44298=>array(64,-64,936,842),44299=>array(64,-76,936,842),44300=>array(64,-62,936,842),44301=>array(64,-61,936,842),44302=>array(64,-70,936,842),44303=>array(64,-74,936,842),44304=>array(64,-69,936,842),44305=>array(64,-67,936,842),44306=>array(64,-72,936,842),44307=>array(64,-71,936,842),44308=>array(64,-66,936,842),44309=>array(64,-59,936,842),44310=>array(64,-60,936,842),44311=>array(64,-69,936,842),44312=>array(51,-69,907,842),44313=>array(65,-61,907,841),44314=>array(65,-61,907,841),44315=>array(65,-71,931,841),44316=>array(53,-46,907,841),44317=>array(65,-68,912,841),44318=>array(65,-76,907,841),44319=>array(65,-44,921,841),44320=>array(65,-62,917,841),44321=>array(65,-64,907,841),44322=>array(65,-64,908,841),44323=>array(65,-64,908,841),44324=>array(65,-69,923,841),44325=>array(65,-64,908,841),44326=>array(65,-64,908,841),44327=>array(65,-76,907,841),44328=>array(65,-62,907,841),44329=>array(65,-61,907,841),44330=>array(65,-69,922,841),44331=>array(65,-74,929,841),44332=>array(65,-69,927,841),44333=>array(65,-68,911,841),44334=>array(65,-72,929,841),44335=>array(65,-70,936,841),44336=>array(65,-66,908,841),44337=>array(65,-59,916,841),44338=>array(65,-60,928,841),44339=>array(65,-68,908,841),44340=>array(60,-69,907,842),44341=>array(64,-61,907,842),44342=>array(64,-61,907,842),44343=>array(64,-71,931,842),44344=>array(72,-46,907,842),44345=>array(64,-68,912,842),44346=>array(64,-76,907,842),44347=>array(64,-44,921,842),44348=>array(64,-62,917,842),44349=>array(64,-64,907,842),44350=>array(64,-64,908,842),44351=>array(64,-64,908,842),44352=>array(64,-69,923,842),44353=>array(64,-64,908,842),44354=>array(64,-64,908,842),44355=>array(64,-76,907,842),44356=>array(64,-62,907,842),44357=>array(64,-61,907,842),44358=>array(64,-69,922,842),44359=>array(64,-74,929,842),44360=>array(64,-69,927,842),44361=>array(64,-68,911,842),44362=>array(64,-72,929,842),44363=>array(64,-70,936,842),44364=>array(64,-66,908,842),44365=>array(64,-59,916,842),44366=>array(64,-60,928,842),44367=>array(64,-68,908,842),44368=>array(62,27,943,723),44369=>array(62,-61,943,770),44370=>array(62,-61,943,770),44371=>array(62,-71,943,770),44372=>array(62,-46,943,770),44373=>array(62,-68,943,770),44374=>array(62,-74,943,770),44375=>array(62,-44,943,770),44376=>array(62,-62,943,770),44377=>array(62,-64,943,770),44378=>array(62,-64,943,770),44379=>array(62,-63,943,770),44380=>array(62,-68,943,770),44381=>array(62,-64,943,770),44382=>array(62,-63,943,770),44383=>array(62,-74,943,770),44384=>array(62,-62,943,770),44385=>array(62,-61,943,770),44386=>array(62,-69,943,770),44387=>array(62,-74,943,770),44388=>array(62,-69,943,770),44389=>array(62,-68,943,770),44390=>array(62,-72,943,770),44391=>array(62,-70,943,770),44392=>array(62,-66,943,770),44393=>array(62,-59,943,770),44394=>array(62,-60,943,770),44395=>array(62,-68,943,770),44396=>array(79,-64,920,780),44397=>array(79,-61,921,769),44398=>array(79,-61,921,769),44399=>array(79,-71,921,769),44400=>array(79,-46,921,768),44401=>array(79,-68,921,769),44402=>array(79,-74,921,769),44403=>array(79,-44,921,769),44404=>array(79,-62,921,769),44405=>array(79,-64,921,769),44406=>array(79,-64,921,769),44407=>array(79,-63,921,769),44408=>array(79,-68,921,769),44409=>array(79,-64,921,769),44410=>array(79,-63,921,769),44411=>array(79,-74,921,769),44412=>array(79,-62,921,769),44413=>array(79,-61,921,769),44414=>array(79,-69,921,769),44415=>array(79,-74,921,769),44416=>array(79,-69,921,769),44417=>array(79,-68,921,769),44418=>array(79,-72,921,769),44419=>array(79,-70,921,769),44420=>array(79,-66,921,769),44421=>array(79,-59,921,769),44422=>array(79,-60,921,769),44423=>array(79,-68,921,769),44424=>array(67,-69,907,842),44425=>array(75,-61,907,841),44426=>array(75,-61,907,841),44427=>array(75,-71,931,841),44428=>array(81,-46,907,841),44429=>array(75,-68,912,841),44430=>array(75,-76,907,841),44431=>array(75,-44,921,841),44432=>array(75,-62,917,841),44433=>array(75,-64,907,841),44434=>array(75,-64,908,841),44435=>array(75,-64,908,841),44436=>array(75,-69,923,841),44437=>array(75,-64,908,841),44438=>array(75,-64,908,841),44439=>array(75,-76,906,841),44440=>array(75,-62,907,841),44441=>array(75,-61,907,841),44442=>array(75,-69,922,841),44443=>array(75,-74,929,841),44444=>array(75,-69,927,841),44445=>array(75,-68,911,841),44446=>array(75,-72,929,841),44447=>array(75,-70,936,841),44448=>array(75,-66,908,841),44449=>array(75,-59,916,841),44450=>array(75,-60,928,841),44451=>array(75,-68,908,841),44452=>array(40,-69,908,842),44453=>array(70,-61,907,843),44454=>array(70,-61,907,843),44455=>array(70,-71,931,843),44456=>array(79,-46,907,843),44457=>array(70,-68,912,843),44458=>array(70,-76,907,843),44459=>array(70,-44,921,843),44460=>array(70,-62,917,843),44461=>array(70,-64,907,843),44462=>array(70,-64,908,843),44463=>array(70,-64,908,843),44464=>array(70,-69,923,843),44465=>array(70,-64,908,843),44466=>array(70,-64,908,843),44467=>array(70,-76,907,843),44468=>array(70,-62,907,843),44469=>array(70,-61,907,843),44470=>array(70,-69,922,843),44471=>array(70,-74,929,843),44472=>array(70,-69,927,843),44473=>array(70,-68,911,843),44474=>array(70,-72,929,843),44475=>array(70,-70,936,843),44476=>array(70,-66,908,843),44477=>array(70,-59,916,843),44478=>array(70,-60,928,843),44479=>array(70,-68,908,843),44480=>array(55,-69,907,842),44481=>array(64,-61,907,842),44482=>array(64,-61,907,842),44483=>array(64,-71,931,842),44484=>array(64,-46,907,842),44485=>array(64,-68,912,842),44486=>array(64,-76,907,842),44487=>array(64,-44,921,842),44488=>array(64,-62,917,842),44489=>array(64,-64,907,842),44490=>array(64,-64,908,842),44491=>array(64,-64,908,842),44492=>array(64,-69,923,842),44493=>array(64,-64,908,842),44494=>array(64,-64,908,842),44495=>array(64,-76,907,842),44496=>array(64,-62,907,842),44497=>array(64,-61,907,842),44498=>array(64,-69,922,842),44499=>array(64,-74,929,842),44500=>array(64,-69,927,842),44501=>array(64,-68,911,842),44502=>array(64,-72,929,842),44503=>array(64,-70,936,842),44504=>array(64,-66,908,842),44505=>array(64,-59,916,842),44506=>array(64,-60,928,842),44507=>array(64,-68,908,842),44508=>array(71,-64,928,780),44509=>array(79,-61,921,768),44510=>array(79,-61,921,768),44511=>array(79,-71,921,768),44512=>array(79,-46,921,769),44513=>array(79,-68,921,768),44514=>array(79,-74,921,768),44515=>array(79,-44,921,768),44516=>array(79,-62,921,768),44517=>array(79,-64,921,768),44518=>array(79,-64,921,768),44519=>array(79,-63,921,768),44520=>array(79,-68,921,768),44521=>array(79,-64,921,768),44522=>array(79,-63,921,768),44523=>array(79,-74,921,768),44524=>array(79,-62,921,768),44525=>array(79,-61,921,768),44526=>array(79,-69,921,768),44527=>array(79,-74,921,768),44528=>array(79,-69,921,768),44529=>array(79,-68,921,768),44530=>array(79,-72,921,768),44531=>array(79,-70,921,768),44532=>array(79,-66,921,768),44533=>array(79,-59,921,768),44534=>array(79,-60,921,768),44535=>array(79,-68,921,768),44536=>array(57,62,943,685),44537=>array(78,-61,919,769),44538=>array(78,-61,919,769),44539=>array(78,-71,919,769),44540=>array(79,-46,921,770),44541=>array(78,-68,919,769),44542=>array(78,-74,919,769),44543=>array(78,-44,919,769),44544=>array(78,-62,919,769),44545=>array(78,-64,919,769),44546=>array(78,-64,919,769),44547=>array(78,-63,919,769),44548=>array(78,-68,919,769),44549=>array(78,-64,919,769),44550=>array(78,-63,919,769),44551=>array(78,-74,919,769),44552=>array(78,-62,919,769),44553=>array(78,-61,919,769),44554=>array(78,-69,919,769),44555=>array(78,-74,919,769),44556=>array(78,-69,919,769),44557=>array(78,-68,919,769),44558=>array(78,-72,919,769),44559=>array(78,-70,919,769),44560=>array(78,-66,919,769),44561=>array(78,-59,919,769),44562=>array(78,-60,919,769),44563=>array(78,-68,919,769),44564=>array(52,-69,907,842),44565=>array(64,-61,907,842),44566=>array(64,-61,907,842),44567=>array(64,-71,931,842),44568=>array(68,-46,907,842),44569=>array(64,-68,912,842),44570=>array(64,-76,907,842),44571=>array(64,-44,921,842),44572=>array(64,-62,917,842),44573=>array(64,-64,907,842),44574=>array(64,-64,908,842),44575=>array(64,-64,908,842),44576=>array(64,-69,923,842),44577=>array(64,-64,908,842),44578=>array(64,-64,908,842),44579=>array(64,-76,907,842),44580=>array(64,-62,907,842),44581=>array(64,-61,907,842),44582=>array(64,-69,922,842),44583=>array(64,-74,929,842),44584=>array(64,-69,927,842),44585=>array(64,-68,911,842),44586=>array(64,-72,929,842),44587=>array(64,-70,936,842),44588=>array(64,-66,908,842),44589=>array(64,-59,916,842),44590=>array(64,-60,928,842),44591=>array(64,-68,908,842),44592=>array(90,-69,907,842),44593=>array(63,-61,907,842),44594=>array(63,-61,907,842),44595=>array(63,-71,931,842),44596=>array(77,-46,907,842),44597=>array(63,-68,912,842),44598=>array(63,-76,907,842),44599=>array(63,-44,921,842),44600=>array(63,-62,917,842),44601=>array(63,-64,907,842),44602=>array(63,-64,908,842),44603=>array(63,-64,908,842),44604=>array(63,-69,923,842),44605=>array(63,-64,908,842),44606=>array(63,-64,908,842),44607=>array(63,-76,907,842),44608=>array(63,-62,907,842),44609=>array(63,-61,907,842),44610=>array(63,-69,922,842),44611=>array(63,-74,929,842),44612=>array(63,-69,927,842),44613=>array(63,-68,911,842),44614=>array(63,-72,929,842),44615=>array(63,-70,936,842),44616=>array(63,-66,908,842),44617=>array(63,-59,916,842),44618=>array(63,-60,928,842),44619=>array(63,-68,908,842),44620=>array(46,-69,936,842),44621=>array(88,-59,936,842),44622=>array(88,-61,936,842),44623=>array(88,-71,936,842),44624=>array(60,-45,936,842),44625=>array(88,-69,936,842),44626=>array(88,-76,936,842),44627=>array(88,-44,936,842),44628=>array(88,-62,936,842),44629=>array(88,-64,936,842),44630=>array(88,-64,936,842),44631=>array(88,-64,936,842),44632=>array(88,-70,936,842),44633=>array(88,-64,936,842),44634=>array(88,-64,936,842),44635=>array(88,-76,936,842),44636=>array(88,-62,936,842),44637=>array(88,-61,936,842),44638=>array(88,-70,936,842),44639=>array(88,-74,936,842),44640=>array(88,-69,936,842),44641=>array(88,-67,936,842),44642=>array(88,-72,936,842),44643=>array(88,-71,936,842),44644=>array(88,-66,936,842),44645=>array(88,-59,936,842),44646=>array(88,-60,936,842),44647=>array(88,-69,936,842),44648=>array(41,-69,907,842),44649=>array(68,-61,907,837),44650=>array(68,-61,907,837),44651=>array(68,-71,931,837),44652=>array(50,-46,907,842),44653=>array(68,-68,912,837),44654=>array(68,-76,907,837),44655=>array(68,-44,921,837),44656=>array(68,-62,917,837),44657=>array(68,-64,907,837),44658=>array(68,-64,908,837),44659=>array(68,-64,908,837),44660=>array(68,-69,923,837),44661=>array(68,-64,908,837),44662=>array(68,-64,908,837),44663=>array(68,-76,907,837),44664=>array(68,-62,907,837),44665=>array(68,-61,907,837),44666=>array(68,-69,922,837),44667=>array(68,-74,929,837),44668=>array(68,-69,927,837),44669=>array(68,-68,911,837),44670=>array(68,-72,929,837),44671=>array(68,-70,936,837),44672=>array(68,-66,908,837),44673=>array(68,-59,916,837),44674=>array(68,-60,928,837),44675=>array(68,-68,908,837),44676=>array(46,-69,936,842),44677=>array(88,-59,936,842),44678=>array(88,-61,936,842),44679=>array(88,-71,936,842),44680=>array(60,-45,936,842),44681=>array(88,-69,936,842),44682=>array(88,-76,936,842),44683=>array(88,-44,936,842),44684=>array(88,-62,936,842),44685=>array(88,-64,936,842),44686=>array(88,-64,936,842),44687=>array(88,-64,936,842),44688=>array(88,-70,936,842),44689=>array(88,-64,936,842),44690=>array(88,-64,936,842),44691=>array(88,-76,936,842),44692=>array(88,-62,936,842),44693=>array(88,-61,936,842),44694=>array(88,-70,936,842),44695=>array(88,-74,936,842),44696=>array(88,-69,936,842),44697=>array(88,-67,936,842),44698=>array(88,-72,936,842),44699=>array(88,-71,936,842),44700=>array(88,-66,936,842),44701=>array(88,-59,936,842),44702=>array(88,-60,936,842),44703=>array(88,-69,936,842),44704=>array(41,-69,907,842),44705=>array(68,-61,907,842),44706=>array(68,-61,907,842),44707=>array(68,-71,931,842),44708=>array(50,-46,907,842),44709=>array(68,-68,912,842),44710=>array(68,-76,907,842),44711=>array(68,-44,921,842),44712=>array(68,-62,917,842),44713=>array(68,-64,907,842),44714=>array(68,-64,908,842),44715=>array(68,-64,908,842),44716=>array(68,-69,923,842),44717=>array(68,-64,908,842),44718=>array(68,-64,908,842),44719=>array(68,-76,907,842),44720=>array(68,-62,907,842),44721=>array(68,-61,907,842),44722=>array(68,-69,922,842),44723=>array(68,-74,929,842),44724=>array(68,-69,927,842),44725=>array(68,-68,911,842),44726=>array(68,-72,929,842),44727=>array(68,-70,936,842),44728=>array(68,-66,908,842),44729=>array(68,-59,916,842),44730=>array(68,-60,928,842),44731=>array(68,-68,908,842),44732=>array(46,-70,907,841),44733=>array(88,-61,907,836),44734=>array(88,-61,907,836),44735=>array(88,-71,931,836),44736=>array(60,-46,907,841),44737=>array(88,-68,912,836),44738=>array(88,-76,907,836),44739=>array(88,-44,921,836),44740=>array(88,-62,917,836),44741=>array(88,-64,907,836),44742=>array(88,-64,908,836),44743=>array(88,-64,908,836),44744=>array(88,-69,923,836),44745=>array(88,-64,908,836),44746=>array(88,-64,908,836),44747=>array(88,-76,906,836),44748=>array(88,-62,907,836),44749=>array(88,-61,907,836),44750=>array(88,-69,922,836),44751=>array(88,-74,929,836),44752=>array(88,-69,927,836),44753=>array(88,-68,911,836),44754=>array(88,-72,929,836),44755=>array(88,-70,936,836),44756=>array(88,-66,908,836),44757=>array(88,-59,916,836),44758=>array(88,-60,928,836),44759=>array(88,-68,908,836),44760=>array(36,-68,907,843),44761=>array(53,-61,907,843),44762=>array(53,-61,907,843),44763=>array(53,-71,931,843),44764=>array(35,-46,907,843),44765=>array(53,-68,912,843),44766=>array(53,-76,907,843),44767=>array(53,-44,921,843),44768=>array(53,-62,917,843),44769=>array(53,-64,907,843),44770=>array(53,-64,908,843),44771=>array(53,-64,908,843),44772=>array(53,-69,923,843),44773=>array(53,-64,908,843),44774=>array(53,-64,908,843),44775=>array(53,-76,907,843),44776=>array(53,-62,907,843),44777=>array(53,-61,907,843),44778=>array(53,-69,922,843),44779=>array(53,-74,929,843),44780=>array(53,-69,927,843),44781=>array(53,-68,911,843),44782=>array(53,-72,929,843),44783=>array(53,-70,936,843),44784=>array(53,-66,908,843),44785=>array(53,-59,916,843),44786=>array(53,-60,928,843),44787=>array(53,-68,908,843),44788=>array(46,-69,908,842),44789=>array(88,-61,909,842),44790=>array(88,-61,909,842),44791=>array(88,-71,931,842),44792=>array(60,-46,909,841),44793=>array(88,-68,912,842),44794=>array(88,-76,909,842),44795=>array(88,-44,921,842),44796=>array(88,-62,917,842),44797=>array(88,-64,909,842),44798=>array(88,-64,909,842),44799=>array(88,-64,909,842),44800=>array(88,-69,923,842),44801=>array(88,-64,909,842),44802=>array(88,-64,909,842),44803=>array(88,-76,909,842),44804=>array(88,-62,909,842),44805=>array(88,-61,909,842),44806=>array(88,-69,922,842),44807=>array(88,-74,929,842),44808=>array(88,-69,927,842),44809=>array(88,-68,911,842),44810=>array(88,-72,929,842),44811=>array(88,-70,936,842),44812=>array(88,-66,909,842),44813=>array(88,-59,916,842),44814=>array(88,-60,928,842),44815=>array(88,-68,909,842),44816=>array(36,-68,907,843),44817=>array(53,-61,907,838),44818=>array(53,-61,907,838),44819=>array(53,-71,931,838),44820=>array(35,-46,907,843),44821=>array(53,-68,912,838),44822=>array(53,-76,907,838),44823=>array(53,-44,921,838),44824=>array(53,-62,917,838),44825=>array(53,-64,907,838),44826=>array(53,-64,908,838),44827=>array(53,-64,908,838),44828=>array(53,-69,923,838),44829=>array(53,-64,908,838),44830=>array(53,-64,908,838),44831=>array(53,-76,907,838),44832=>array(53,-62,907,838),44833=>array(53,-61,907,838),44834=>array(53,-69,922,838),44835=>array(53,-74,929,838),44836=>array(53,-69,927,838),44837=>array(53,-68,911,838),44838=>array(53,-72,929,838),44839=>array(53,-70,936,838),44840=>array(53,-66,908,838),44841=>array(53,-59,916,838),44842=>array(53,-60,928,838),44843=>array(53,-68,908,838),44844=>array(60,12,940,714),44845=>array(79,-61,921,767),44846=>array(79,-61,921,767),44847=>array(79,-71,921,767),44848=>array(79,-46,921,766),44849=>array(79,-68,921,767),44850=>array(79,-74,921,767),44851=>array(79,-44,921,767),44852=>array(79,-62,921,767),44853=>array(79,-64,921,767),44854=>array(79,-64,921,767),44855=>array(79,-63,921,767),44856=>array(79,-68,921,767),44857=>array(79,-64,921,767),44858=>array(79,-63,921,767),44859=>array(79,-74,921,767),44860=>array(79,-62,921,767),44861=>array(79,-61,921,767),44862=>array(79,-69,921,767),44863=>array(79,-74,921,767),44864=>array(79,-69,921,767),44865=>array(79,-68,921,767),44866=>array(79,-72,921,767),44867=>array(79,-70,921,767),44868=>array(79,-66,921,767),44869=>array(79,-59,921,767),44870=>array(79,-60,921,767),44871=>array(79,-68,921,767),44872=>array(52,-69,936,842),44873=>array(69,-59,936,837),44874=>array(69,-61,936,837),44875=>array(69,-71,936,837),44876=>array(72,-45,936,842),44877=>array(69,-69,936,837),44878=>array(69,-76,936,837),44879=>array(69,-44,936,837),44880=>array(69,-62,936,837),44881=>array(69,-64,936,837),44882=>array(69,-64,936,837),44883=>array(69,-64,936,837),44884=>array(69,-70,936,837),44885=>array(69,-64,936,837),44886=>array(69,-64,936,837),44887=>array(69,-76,936,837),44888=>array(69,-62,936,837),44889=>array(69,-61,936,837),44890=>array(69,-70,936,837),44891=>array(69,-74,936,837),44892=>array(69,-69,936,837),44893=>array(69,-67,936,837),44894=>array(69,-72,936,837),44895=>array(69,-71,936,837),44896=>array(69,-66,936,837),44897=>array(69,-59,936,837),44898=>array(69,-60,936,837),44899=>array(69,-69,936,837),44900=>array(68,-69,907,842),44901=>array(70,-61,907,842),44902=>array(70,-61,907,842),44903=>array(70,-71,931,842),44904=>array(57,-46,907,842),44905=>array(70,-68,912,842),44906=>array(70,-76,907,842),44907=>array(70,-44,921,842),44908=>array(70,-62,917,842),44909=>array(70,-64,907,842),44910=>array(70,-64,908,842),44911=>array(70,-64,908,842),44912=>array(70,-69,923,842),44913=>array(70,-64,908,842),44914=>array(70,-64,908,842),44915=>array(70,-76,907,842),44916=>array(70,-62,907,842),44917=>array(70,-61,907,842),44918=>array(70,-69,922,842),44919=>array(70,-74,929,842),44920=>array(70,-69,927,842),44921=>array(70,-68,911,842),44922=>array(70,-72,929,842),44923=>array(70,-70,936,842),44924=>array(70,-66,908,842),44925=>array(70,-59,916,842),44926=>array(70,-60,928,842),44927=>array(70,-68,908,842),44928=>array(78,-69,907,842),44929=>array(64,-61,907,842),44930=>array(64,-61,907,842),44931=>array(64,-71,931,842),44932=>array(69,-46,907,842),44933=>array(64,-68,912,842),44934=>array(64,-76,907,842),44935=>array(64,-44,921,842),44936=>array(64,-62,917,842),44937=>array(64,-64,907,842),44938=>array(64,-64,908,842),44939=>array(64,-64,908,842),44940=>array(64,-69,923,842),44941=>array(64,-64,908,842),44942=>array(64,-64,908,842),44943=>array(64,-76,907,842),44944=>array(64,-62,907,842),44945=>array(64,-61,907,842),44946=>array(64,-69,922,842),44947=>array(64,-74,929,842),44948=>array(64,-69,927,842),44949=>array(64,-68,911,842),44950=>array(64,-72,929,842),44951=>array(64,-70,936,842),44952=>array(64,-66,908,842),44953=>array(64,-59,916,842),44954=>array(64,-60,928,842),44955=>array(64,-68,908,842),44956=>array(60,32,940,714),44957=>array(79,-61,921,794),44958=>array(79,-61,921,794),44959=>array(79,-71,921,794),44960=>array(79,-46,921,785),44961=>array(79,-68,921,794),44962=>array(79,-74,921,794),44963=>array(79,-44,921,794),44964=>array(79,-62,921,794),44965=>array(79,-64,921,794),44966=>array(79,-64,921,794),44967=>array(79,-63,921,794),44968=>array(79,-68,921,794),44969=>array(79,-64,921,794),44970=>array(79,-63,921,794),44971=>array(79,-74,921,794),44972=>array(79,-62,921,794),44973=>array(79,-61,921,794),44974=>array(79,-69,921,794),44975=>array(79,-74,921,794),44976=>array(79,-69,921,794),44977=>array(79,-68,921,794),44978=>array(79,-72,921,794),44979=>array(79,-70,921,794),44980=>array(79,-66,921,794),44981=>array(79,-59,921,794),44982=>array(79,-60,921,794),44983=>array(79,-68,921,794),44984=>array(79,-64,921,776),44985=>array(79,-61,921,766),44986=>array(79,-61,921,766),44987=>array(79,-71,921,766),44988=>array(79,-46,921,767),44989=>array(79,-68,921,766),44990=>array(79,-74,921,766),44991=>array(79,-44,921,766),44992=>array(79,-62,921,766),44993=>array(79,-64,921,766),44994=>array(79,-64,921,766),44995=>array(79,-63,921,766),44996=>array(79,-68,921,766),44997=>array(79,-64,921,766),44998=>array(79,-63,921,766),44999=>array(79,-74,921,766),45000=>array(79,-62,921,766),45001=>array(79,-61,921,766),45002=>array(79,-69,921,766),45003=>array(79,-74,921,766),45004=>array(79,-69,921,766),45005=>array(79,-68,921,766),45006=>array(79,-72,921,766),45007=>array(79,-70,921,766),45008=>array(79,-66,921,766),45009=>array(79,-59,921,766),45010=>array(79,-60,921,766),45011=>array(79,-68,921,766),45012=>array(78,-70,907,841),45013=>array(68,-61,907,841),45014=>array(68,-61,907,841),45015=>array(68,-71,931,841),45016=>array(80,-46,907,841),45017=>array(68,-68,912,841),45018=>array(68,-76,907,841),45019=>array(68,-44,921,841),45020=>array(68,-62,917,841),45021=>array(68,-64,907,841),45022=>array(68,-64,908,841),45023=>array(68,-64,908,841),45024=>array(68,-69,923,841),45025=>array(68,-64,908,841),45026=>array(68,-64,908,841),45027=>array(68,-76,906,841),45028=>array(68,-62,907,841),45029=>array(68,-61,907,841),45030=>array(68,-69,922,841),45031=>array(68,-74,929,841),45032=>array(68,-69,927,841),45033=>array(68,-68,911,841),45034=>array(68,-72,929,841),45035=>array(68,-70,936,841),45036=>array(68,-66,908,841),45037=>array(68,-59,916,841),45038=>array(68,-60,928,841),45039=>array(68,-68,908,841),45040=>array(50,-68,912,843),45041=>array(67,-61,907,838),45042=>array(67,-61,907,838),45043=>array(67,-71,931,838),45044=>array(75,-46,907,843),45045=>array(67,-68,912,838),45046=>array(67,-76,907,838),45047=>array(67,-44,921,838),45048=>array(67,-62,917,838),45049=>array(67,-64,907,838),45050=>array(67,-64,908,838),45051=>array(67,-64,908,838),45052=>array(67,-69,923,838),45053=>array(67,-64,908,838),45054=>array(67,-64,908,838),45055=>array(67,-76,907,838),45056=>array(67,-62,907,838),45057=>array(67,-61,907,838),45058=>array(67,-69,922,838),45059=>array(67,-74,929,838),45060=>array(67,-69,927,838),45061=>array(67,-68,911,838),45062=>array(67,-72,929,838),45063=>array(67,-70,936,838),45064=>array(67,-66,908,838),45065=>array(67,-59,916,838),45066=>array(67,-60,928,838),45067=>array(67,-68,908,838),45068=>array(64,-69,907,842),45069=>array(65,-61,907,842),45070=>array(65,-61,907,842),45071=>array(65,-71,931,842),45072=>array(78,-46,907,842),45073=>array(65,-68,912,842),45074=>array(65,-76,907,842),45075=>array(65,-44,921,842),45076=>array(65,-62,917,842),45077=>array(65,-64,907,842),45078=>array(65,-64,908,842),45079=>array(65,-64,908,842),45080=>array(65,-69,923,842),45081=>array(65,-64,908,842),45082=>array(65,-64,908,842),45083=>array(65,-76,907,842),45084=>array(65,-62,907,842),45085=>array(65,-61,907,842),45086=>array(65,-69,922,842),45087=>array(65,-74,929,842),45088=>array(65,-69,927,842),45089=>array(65,-68,911,842),45090=>array(65,-72,929,842),45091=>array(65,-70,936,842),45092=>array(65,-66,908,842),45093=>array(65,-59,916,842),45094=>array(65,-60,928,842),45095=>array(65,-68,908,842),45096=>array(84,-64,921,776),45097=>array(79,-61,921,766),45098=>array(79,-61,921,766),45099=>array(79,-71,921,766),45100=>array(81,-46,922,767),45101=>array(79,-68,921,766),45102=>array(79,-74,921,766),45103=>array(79,-44,921,766),45104=>array(79,-62,921,766),45105=>array(79,-64,921,766),45106=>array(79,-64,921,766),45107=>array(79,-63,921,766),45108=>array(79,-68,921,766),45109=>array(79,-64,921,766),45110=>array(79,-63,921,766),45111=>array(79,-74,921,766),45112=>array(79,-62,921,766),45113=>array(79,-61,921,766),45114=>array(79,-69,921,766),45115=>array(79,-74,921,766),45116=>array(79,-69,921,766),45117=>array(79,-68,921,766),45118=>array(79,-72,921,766),45119=>array(79,-70,921,766),45120=>array(79,-66,921,766),45121=>array(79,-59,921,766),45122=>array(79,-60,921,766),45123=>array(79,-68,921,766),45124=>array(57,52,943,691),45125=>array(79,-61,921,767),45126=>array(79,-61,921,767),45127=>array(79,-71,921,767),45128=>array(79,-46,921,767),45129=>array(79,-68,921,767),45130=>array(79,-74,921,767),45131=>array(79,-44,921,767),45132=>array(79,-62,921,767),45133=>array(79,-64,921,767),45134=>array(79,-64,921,767),45135=>array(79,-63,921,767),45136=>array(79,-68,921,767),45137=>array(79,-64,921,767),45138=>array(79,-63,921,767),45139=>array(79,-74,921,767),45140=>array(79,-62,921,767),45141=>array(79,-61,921,767),45142=>array(79,-69,921,767),45143=>array(79,-74,921,767),45144=>array(79,-69,921,767),45145=>array(79,-68,921,767),45146=>array(79,-72,921,767),45147=>array(79,-70,921,767),45148=>array(79,-66,921,767),45149=>array(79,-59,921,767),45150=>array(79,-60,921,767),45151=>array(79,-68,921,767),45152=>array(66,-69,907,842),45153=>array(75,-61,907,842),45154=>array(75,-61,907,842),45155=>array(75,-71,931,842),45156=>array(74,-46,907,842),45157=>array(75,-68,912,842),45158=>array(75,-76,907,842),45159=>array(75,-44,921,842),45160=>array(75,-62,917,842),45161=>array(75,-64,907,842),45162=>array(75,-64,908,842),45163=>array(75,-64,908,842),45164=>array(75,-69,923,842),45165=>array(75,-64,908,842),45166=>array(75,-64,908,842),45167=>array(75,-76,907,842),45168=>array(75,-62,907,842),45169=>array(75,-61,907,842),45170=>array(75,-69,922,842),45171=>array(75,-74,929,842),45172=>array(75,-69,927,842),45173=>array(75,-68,911,842),45174=>array(75,-72,929,842),45175=>array(75,-70,936,842),45176=>array(75,-66,908,842),45177=>array(75,-59,916,842),45178=>array(75,-60,928,842),45179=>array(75,-68,908,842),45180=>array(56,-69,907,842),45181=>array(123,-61,907,842),45182=>array(123,-61,907,842),45183=>array(123,-71,931,842),45184=>array(105,-46,907,842),45185=>array(123,-68,912,842),45186=>array(123,-76,907,842),45187=>array(123,-44,921,842),45188=>array(123,-62,917,842),45189=>array(123,-64,907,842),45190=>array(123,-64,908,842),45191=>array(123,-64,908,842),45192=>array(123,-69,923,842),45193=>array(123,-64,908,842),45194=>array(123,-64,908,842),45195=>array(123,-76,907,842),45196=>array(123,-62,907,842),45197=>array(123,-61,907,842),45198=>array(123,-69,922,842),45199=>array(123,-74,929,842),45200=>array(123,-69,927,842),45201=>array(123,-68,911,842),45202=>array(123,-72,929,842),45203=>array(123,-70,936,842),45204=>array(123,-66,908,842),45205=>array(123,-59,916,842),45206=>array(123,-60,928,842),45207=>array(123,-68,908,842),45208=>array(109,-69,936,842),45209=>array(109,-59,936,842),45210=>array(109,-61,936,842),45211=>array(109,-71,936,842),45212=>array(109,-45,936,842),45213=>array(109,-69,936,842),45214=>array(109,-76,936,842),45215=>array(109,-44,936,842),45216=>array(109,-62,936,842),45217=>array(109,-64,936,842),45218=>array(109,-64,936,842),45219=>array(109,-64,936,842),45220=>array(109,-70,936,842),45221=>array(109,-64,936,842),45222=>array(109,-64,936,842),45223=>array(109,-76,936,842),45224=>array(109,-62,936,842),45225=>array(109,-61,936,842),45226=>array(109,-70,936,842),45227=>array(109,-74,936,842),45228=>array(109,-69,936,842),45229=>array(109,-67,936,842),45230=>array(109,-72,936,842),45231=>array(109,-71,936,842),45232=>array(109,-66,936,842),45233=>array(109,-59,936,842),45234=>array(109,-60,936,842),45235=>array(109,-69,936,842),45236=>array(133,-69,907,842),45237=>array(109,-61,907,842),45238=>array(109,-61,907,842),45239=>array(109,-71,931,842),45240=>array(109,-46,907,842),45241=>array(109,-68,912,842),45242=>array(109,-76,907,842),45243=>array(109,-44,921,842),45244=>array(109,-62,917,842),45245=>array(109,-64,907,842),45246=>array(109,-64,908,842),45247=>array(109,-64,908,842),45248=>array(109,-69,923,842),45249=>array(109,-64,908,842),45250=>array(109,-64,908,842),45251=>array(109,-76,907,842),45252=>array(109,-62,907,842),45253=>array(109,-61,907,842),45254=>array(109,-69,922,842),45255=>array(109,-74,929,842),45256=>array(109,-69,927,842),45257=>array(109,-68,911,842),45258=>array(109,-72,929,842),45259=>array(109,-70,936,842),45260=>array(109,-66,908,842),45261=>array(109,-59,916,842),45262=>array(109,-60,928,842),45263=>array(109,-68,908,842),45264=>array(109,-69,936,842),45265=>array(109,-59,936,842),45266=>array(109,-61,936,842),45267=>array(109,-71,936,842),45268=>array(109,-45,936,842),45269=>array(109,-69,936,842),45270=>array(109,-76,936,842),45271=>array(109,-44,936,842),45272=>array(109,-62,936,842),45273=>array(109,-64,936,842),45274=>array(109,-64,936,842),45275=>array(109,-64,936,842),45276=>array(109,-70,936,842),45277=>array(109,-64,936,842),45278=>array(109,-64,936,842),45279=>array(109,-76,936,842),45280=>array(109,-62,936,842),45281=>array(109,-61,936,842),45282=>array(109,-70,936,842),45283=>array(109,-74,936,842),45284=>array(109,-69,936,842),45285=>array(109,-67,936,842),45286=>array(109,-72,936,842),45287=>array(109,-71,936,842),45288=>array(109,-66,936,842),45289=>array(109,-59,936,842),45290=>array(109,-60,936,842),45291=>array(109,-69,936,842),45292=>array(133,-69,907,842),45293=>array(109,-61,907,842),45294=>array(109,-61,907,842),45295=>array(109,-71,931,842),45296=>array(109,-46,907,842),45297=>array(109,-68,912,842),45298=>array(109,-76,907,842),45299=>array(109,-44,921,842),45300=>array(109,-62,917,842),45301=>array(109,-64,907,842),45302=>array(109,-64,908,842),45303=>array(109,-64,908,842),45304=>array(109,-69,923,842),45305=>array(109,-64,908,842),45306=>array(109,-64,908,842),45307=>array(109,-76,907,842),45308=>array(109,-62,907,842),45309=>array(109,-61,907,842),45310=>array(109,-69,922,842),45311=>array(109,-74,929,842),45312=>array(109,-69,927,842),45313=>array(109,-68,911,842),45314=>array(109,-72,929,842),45315=>array(109,-70,936,842),45316=>array(109,-66,908,842),45317=>array(109,-59,916,842),45318=>array(109,-60,928,842),45319=>array(109,-68,908,842),45320=>array(109,-70,907,841),45321=>array(109,-61,907,841),45322=>array(109,-61,907,841),45323=>array(109,-71,931,841),45324=>array(109,-46,907,841),45325=>array(109,-68,912,841),45326=>array(109,-76,907,841),45327=>array(109,-44,921,841),45328=>array(109,-62,917,841),45329=>array(109,-64,907,841),45330=>array(109,-64,908,841),45331=>array(109,-64,908,841),45332=>array(109,-69,923,841),45333=>array(109,-64,908,841),45334=>array(109,-64,908,841),45335=>array(109,-76,906,841),45336=>array(109,-62,907,841),45337=>array(109,-61,907,841),45338=>array(109,-69,922,841),45339=>array(109,-74,929,841),45340=>array(109,-69,927,841),45341=>array(109,-68,911,841),45342=>array(109,-72,929,841),45343=>array(109,-70,936,841),45344=>array(109,-66,908,841),45345=>array(109,-59,916,841),45346=>array(109,-60,928,841),45347=>array(109,-68,908,841),45348=>array(134,-68,907,843),45349=>array(109,-61,907,843),45350=>array(109,-61,907,843),45351=>array(109,-71,931,843),45352=>array(109,-46,907,843),45353=>array(109,-68,912,843),45354=>array(109,-76,907,843),45355=>array(109,-44,921,843),45356=>array(109,-62,917,843),45357=>array(109,-64,907,843),45358=>array(109,-64,908,843),45359=>array(109,-64,908,843),45360=>array(109,-69,923,843),45361=>array(109,-64,908,843),45362=>array(109,-64,908,843),45363=>array(109,-76,907,843),45364=>array(109,-62,907,843),45365=>array(109,-61,907,843),45366=>array(109,-69,922,843),45367=>array(109,-74,929,843),45368=>array(109,-69,927,843),45369=>array(109,-68,911,843),45370=>array(109,-72,929,843),45371=>array(109,-70,936,843),45372=>array(109,-66,908,843),45373=>array(109,-59,916,843),45374=>array(109,-60,928,843),45375=>array(109,-68,908,843),45376=>array(109,-69,909,842),45377=>array(109,-61,907,842),45378=>array(109,-61,907,842),45379=>array(109,-71,931,842),45380=>array(109,-46,908,841),45381=>array(109,-68,912,842),45382=>array(109,-76,907,842),45383=>array(109,-44,921,842),45384=>array(109,-62,917,842),45385=>array(109,-64,907,842),45386=>array(109,-64,908,842),45387=>array(109,-64,908,842),45388=>array(109,-69,923,842),45389=>array(109,-64,908,842),45390=>array(109,-64,908,842),45391=>array(109,-76,907,842),45392=>array(109,-62,907,842),45393=>array(109,-61,907,842),45394=>array(109,-69,922,842),45395=>array(109,-74,929,842),45396=>array(109,-69,927,842),45397=>array(109,-68,911,842),45398=>array(109,-72,929,842),45399=>array(109,-70,936,842),45400=>array(109,-66,908,842),45401=>array(109,-59,916,842),45402=>array(109,-60,928,842),45403=>array(109,-68,908,842),45404=>array(144,-68,907,843),45405=>array(109,-61,907,838),45406=>array(109,-61,907,838),45407=>array(109,-71,931,838),45408=>array(109,-46,907,843),45409=>array(109,-68,912,838),45410=>array(109,-76,907,838),45411=>array(109,-44,921,838),45412=>array(109,-62,917,838),45413=>array(109,-64,907,838),45414=>array(109,-64,908,838),45415=>array(109,-64,908,838),45416=>array(109,-69,923,838),45417=>array(109,-64,908,838),45418=>array(109,-64,908,838),45419=>array(109,-76,907,838),45420=>array(109,-62,907,838),45421=>array(109,-61,907,838),45422=>array(109,-69,922,838),45423=>array(109,-74,929,838),45424=>array(109,-69,927,838),45425=>array(109,-68,911,838),45426=>array(109,-72,929,838),45427=>array(109,-70,936,838),45428=>array(109,-66,908,838),45429=>array(109,-59,916,838),45430=>array(109,-60,928,838),45431=>array(109,-68,908,838),45432=>array(62,27,943,732),45433=>array(79,-61,921,797),45434=>array(79,-61,921,797),45435=>array(79,-71,921,797),45436=>array(79,-46,921,792),45437=>array(79,-68,921,797),45438=>array(79,-74,921,797),45439=>array(79,-44,921,797),45440=>array(79,-62,921,797),45441=>array(79,-64,921,797),45442=>array(79,-64,921,797),45443=>array(79,-63,921,797),45444=>array(79,-68,921,797),45445=>array(79,-64,921,797),45446=>array(79,-63,921,797),45447=>array(79,-74,921,797),45448=>array(79,-62,921,797),45449=>array(79,-61,921,797),45450=>array(79,-69,921,797),45451=>array(79,-74,921,797),45452=>array(79,-69,921,797),45453=>array(79,-68,921,797),45454=>array(79,-72,921,797),45455=>array(79,-70,921,797),45456=>array(79,-66,921,797),45457=>array(79,-59,921,797),45458=>array(79,-60,921,797),45459=>array(79,-68,921,797),45460=>array(47,-69,936,842),45461=>array(64,-59,936,842),45462=>array(64,-61,936,842),45463=>array(64,-71,936,842),45464=>array(74,-45,936,842),45465=>array(64,-69,936,842),45466=>array(64,-76,936,842),45467=>array(64,-44,936,842),45468=>array(64,-62,936,842),45469=>array(64,-64,936,842),45470=>array(64,-64,936,842),45471=>array(64,-64,936,842),45472=>array(64,-70,936,842),45473=>array(64,-64,936,842),45474=>array(64,-64,936,842),45475=>array(64,-76,936,842),45476=>array(64,-62,936,842),45477=>array(64,-61,936,842),45478=>array(64,-70,936,842),45479=>array(64,-74,936,842),45480=>array(64,-69,936,842),45481=>array(64,-67,936,842),45482=>array(64,-72,936,842),45483=>array(64,-71,936,842),45484=>array(64,-66,936,842),45485=>array(64,-59,936,842),45486=>array(64,-60,936,842),45487=>array(64,-69,936,842),45488=>array(43,-68,907,843),45489=>array(79,-61,907,843),45490=>array(79,-61,907,843),45491=>array(79,-71,931,843),45492=>array(72,-46,907,842),45493=>array(79,-68,912,843),45494=>array(79,-76,907,843),45495=>array(79,-44,921,843),45496=>array(79,-62,917,843),45497=>array(79,-64,907,843),45498=>array(79,-64,908,843),45499=>array(79,-64,908,843),45500=>array(79,-69,923,843),45501=>array(79,-64,908,843),45502=>array(79,-64,908,843),45503=>array(79,-76,907,843),45504=>array(79,-62,907,843),45505=>array(79,-61,907,843),45506=>array(79,-69,922,843),45507=>array(79,-74,929,843),45508=>array(79,-69,927,843),45509=>array(79,-68,911,843),45510=>array(79,-72,929,843),45511=>array(79,-70,936,843),45512=>array(79,-66,908,843),45513=>array(79,-59,916,843),45514=>array(79,-60,928,843),45515=>array(79,-68,908,843),45516=>array(62,-69,907,842),45517=>array(64,-61,908,842),45518=>array(64,-61,908,842),45519=>array(64,-71,931,842),45520=>array(64,-46,908,841),45521=>array(64,-68,912,842),45522=>array(64,-76,908,842),45523=>array(64,-44,921,842),45524=>array(64,-62,917,842),45525=>array(64,-64,908,842),45526=>array(64,-64,908,842),45527=>array(64,-64,908,842),45528=>array(64,-69,923,842),45529=>array(64,-64,908,842),45530=>array(64,-64,908,842),45531=>array(64,-76,908,842),45532=>array(64,-62,908,842),45533=>array(64,-61,908,842),45534=>array(64,-69,922,842),45535=>array(64,-74,929,842),45536=>array(64,-69,927,842),45537=>array(64,-68,911,842),45538=>array(64,-72,929,842),45539=>array(64,-70,936,842),45540=>array(64,-66,908,842),45541=>array(64,-59,916,842),45542=>array(64,-60,928,842),45543=>array(64,-68,908,842),45544=>array(60,-13,940,742),45545=>array(79,-61,922,797),45546=>array(79,-61,922,797),45547=>array(79,-71,922,797),45548=>array(79,-46,922,797),45549=>array(79,-68,922,797),45550=>array(79,-74,922,797),45551=>array(79,-44,922,797),45552=>array(79,-62,922,797),45553=>array(79,-64,922,797),45554=>array(79,-64,922,797),45555=>array(79,-63,922,797),45556=>array(79,-68,922,797),45557=>array(79,-64,922,797),45558=>array(79,-63,922,797),45559=>array(79,-74,922,797),45560=>array(79,-62,922,797),45561=>array(79,-61,922,797),45562=>array(79,-69,922,797),45563=>array(79,-74,922,797),45564=>array(79,-69,922,797),45565=>array(79,-68,922,797),45566=>array(79,-72,922,797),45567=>array(79,-70,922,797),45568=>array(79,-66,922,797),45569=>array(79,-59,922,797),45570=>array(79,-60,922,797),45571=>array(79,-68,922,797),45572=>array(79,-64,921,797),45573=>array(79,-61,921,797),45574=>array(79,-61,921,797),45575=>array(79,-71,921,797),45576=>array(79,-46,921,797),45577=>array(79,-68,921,797),45578=>array(79,-74,921,797),45579=>array(79,-44,921,797),45580=>array(79,-62,921,797),45581=>array(79,-64,921,797),45582=>array(79,-64,921,797),45583=>array(79,-63,921,797),45584=>array(79,-68,921,797),45585=>array(79,-64,921,797),45586=>array(79,-63,921,797),45587=>array(79,-74,921,797),45588=>array(79,-62,921,797),45589=>array(79,-61,921,797),45590=>array(79,-69,921,797),45591=>array(79,-74,921,797),45592=>array(79,-69,921,797),45593=>array(79,-68,921,797),45594=>array(79,-72,921,797),45595=>array(79,-70,921,797),45596=>array(79,-66,921,797),45597=>array(79,-59,921,797),45598=>array(79,-60,921,797),45599=>array(79,-68,921,797),45600=>array(69,-69,909,842),45601=>array(79,-61,907,841),45602=>array(79,-61,907,841),45603=>array(79,-71,931,841),45604=>array(79,-46,907,841),45605=>array(79,-68,912,841),45606=>array(79,-76,907,841),45607=>array(79,-44,921,841),45608=>array(79,-62,917,841),45609=>array(79,-64,907,841),45610=>array(79,-64,908,841),45611=>array(79,-64,908,841),45612=>array(79,-69,923,841),45613=>array(79,-64,908,841),45614=>array(79,-64,908,841),45615=>array(79,-76,906,841),45616=>array(79,-62,907,841),45617=>array(79,-61,907,841),45618=>array(79,-69,922,841),45619=>array(79,-74,929,841),45620=>array(79,-69,927,841),45621=>array(79,-68,911,841),45622=>array(79,-72,929,841),45623=>array(79,-70,936,841),45624=>array(79,-66,908,841),45625=>array(79,-59,916,841),45626=>array(79,-60,928,841),45627=>array(79,-68,908,841),45628=>array(63,-68,907,843),45629=>array(72,-61,907,843),45630=>array(72,-61,907,843),45631=>array(72,-71,931,843),45632=>array(90,-46,907,843),45633=>array(72,-68,912,843),45634=>array(72,-76,907,843),45635=>array(72,-44,921,843),45636=>array(72,-62,917,843),45637=>array(72,-64,907,843),45638=>array(72,-64,908,843),45639=>array(72,-64,908,843),45640=>array(72,-69,923,843),45641=>array(72,-64,908,843),45642=>array(72,-64,908,843),45643=>array(72,-76,907,843),45644=>array(72,-62,907,843),45645=>array(72,-61,907,843),45646=>array(72,-69,922,843),45647=>array(72,-74,929,843),45648=>array(72,-69,927,843),45649=>array(72,-68,911,843),45650=>array(72,-72,929,843),45651=>array(72,-70,936,843),45652=>array(72,-66,908,843),45653=>array(72,-59,916,843),45654=>array(72,-60,928,843),45655=>array(72,-68,908,843),45656=>array(70,-68,910,843),45657=>array(64,-61,907,842),45658=>array(64,-61,907,842),45659=>array(64,-71,931,842),45660=>array(65,-46,907,841),45661=>array(64,-68,912,842),45662=>array(64,-76,907,842),45663=>array(64,-44,921,842),45664=>array(64,-62,917,842),45665=>array(64,-64,907,842),45666=>array(64,-64,908,842),45667=>array(64,-64,908,842),45668=>array(64,-69,923,842),45669=>array(64,-64,908,842),45670=>array(64,-64,908,842),45671=>array(64,-76,907,842),45672=>array(64,-62,907,842),45673=>array(64,-61,907,842),45674=>array(64,-69,922,842),45675=>array(64,-74,929,842),45676=>array(64,-69,927,842),45677=>array(64,-68,911,842),45678=>array(64,-72,929,842),45679=>array(64,-70,936,842),45680=>array(64,-66,908,842),45681=>array(64,-59,916,842),45682=>array(64,-60,928,842),45683=>array(64,-68,908,842),45684=>array(71,-64,928,797),45685=>array(79,-61,921,797),45686=>array(79,-61,921,797),45687=>array(79,-71,921,797),45688=>array(79,-46,921,797),45689=>array(79,-68,921,797),45690=>array(79,-74,921,797),45691=>array(79,-44,921,797),45692=>array(79,-62,921,797),45693=>array(79,-64,921,797),45694=>array(79,-64,921,797),45695=>array(79,-63,921,797),45696=>array(79,-68,921,797),45697=>array(79,-64,921,797),45698=>array(79,-63,921,797),45699=>array(79,-74,921,797),45700=>array(79,-62,921,797),45701=>array(79,-61,921,797),45702=>array(79,-69,921,797),45703=>array(79,-74,921,797),45704=>array(79,-69,921,797),45705=>array(79,-68,921,797),45706=>array(79,-72,921,797),45707=>array(79,-70,921,797),45708=>array(79,-66,921,797),45709=>array(79,-59,921,797),45710=>array(79,-60,921,797),45711=>array(79,-68,921,797),45712=>array(57,32,943,747),45713=>array(79,-61,921,802),45714=>array(79,-61,921,802),45715=>array(79,-71,921,802),45716=>array(79,-46,921,812),45717=>array(79,-68,921,802),45718=>array(79,-74,921,802),45719=>array(79,-44,921,802),45720=>array(79,-62,921,802),45721=>array(79,-64,921,802),45722=>array(79,-64,921,802),45723=>array(79,-63,921,802),45724=>array(79,-68,921,802),45725=>array(79,-64,921,802),45726=>array(79,-63,921,802),45727=>array(79,-74,921,802),45728=>array(79,-62,921,802),45729=>array(79,-61,921,802),45730=>array(79,-69,921,802),45731=>array(79,-74,921,802),45732=>array(79,-69,921,802),45733=>array(79,-68,921,802),45734=>array(79,-72,921,802),45735=>array(79,-70,921,802),45736=>array(79,-66,921,802),45737=>array(79,-59,921,802),45738=>array(79,-60,921,802),45739=>array(79,-68,921,802),45740=>array(68,-69,907,842),45741=>array(69,-61,907,842),45742=>array(69,-61,907,842),45743=>array(69,-71,931,842),45744=>array(65,-46,907,842),45745=>array(69,-68,912,842),45746=>array(69,-76,907,842),45747=>array(69,-44,921,842),45748=>array(69,-62,917,842),45749=>array(69,-64,907,842),45750=>array(69,-64,908,842),45751=>array(69,-64,908,842),45752=>array(69,-69,923,842),45753=>array(69,-64,908,842),45754=>array(69,-64,908,842),45755=>array(69,-76,907,842),45756=>array(69,-62,907,842),45757=>array(69,-61,907,842),45758=>array(69,-69,922,842),45759=>array(69,-74,929,842),45760=>array(69,-69,927,842),45761=>array(69,-68,911,842),45762=>array(69,-72,929,842),45763=>array(69,-70,936,842),45764=>array(69,-66,908,842),45765=>array(69,-59,916,842),45766=>array(69,-60,928,842),45767=>array(69,-68,908,842),45768=>array(138,-69,907,842),45769=>array(138,-61,907,842),45770=>array(138,-61,907,842),45771=>array(138,-71,931,842),45772=>array(138,-46,907,842),45773=>array(138,-68,912,842),45774=>array(138,-76,907,842),45775=>array(138,-44,921,842),45776=>array(138,-62,917,842),45777=>array(138,-64,907,842),45778=>array(138,-64,908,842),45779=>array(138,-64,908,842),45780=>array(138,-69,923,842),45781=>array(138,-64,908,842),45782=>array(138,-64,908,842),45783=>array(138,-76,907,842),45784=>array(138,-62,907,842),45785=>array(138,-61,907,842),45786=>array(138,-69,922,842),45787=>array(138,-74,929,842),45788=>array(138,-69,927,842),45789=>array(138,-68,911,842),45790=>array(138,-72,929,842),45791=>array(138,-70,936,842),45792=>array(138,-66,908,842),45793=>array(138,-59,916,842),45794=>array(138,-60,928,842),45795=>array(138,-68,908,842),45796=>array(109,-69,936,842),45797=>array(109,-59,936,837),45798=>array(109,-61,936,837),45799=>array(109,-71,936,837),45800=>array(109,-45,936,842),45801=>array(109,-69,936,837),45802=>array(109,-76,936,837),45803=>array(109,-44,936,837),45804=>array(109,-62,936,837),45805=>array(109,-64,936,837),45806=>array(109,-64,936,837),45807=>array(109,-64,936,837),45808=>array(109,-70,936,837),45809=>array(109,-64,936,837),45810=>array(109,-64,936,837),45811=>array(109,-76,936,837),45812=>array(109,-62,936,837),45813=>array(109,-61,936,837),45814=>array(109,-70,936,837),45815=>array(109,-74,936,837),45816=>array(109,-69,936,837),45817=>array(109,-67,936,837),45818=>array(109,-72,936,837),45819=>array(109,-71,936,837),45820=>array(109,-66,936,837),45821=>array(109,-59,936,837),45822=>array(109,-60,936,837),45823=>array(109,-69,936,837),45824=>array(109,-69,907,842),45825=>array(119,-61,907,842),45826=>array(119,-61,907,842),45827=>array(119,-71,931,842),45828=>array(119,-46,907,842),45829=>array(119,-68,912,842),45830=>array(119,-76,907,842),45831=>array(119,-44,921,842),45832=>array(119,-62,917,842),45833=>array(119,-64,907,842),45834=>array(119,-64,908,842),45835=>array(119,-64,908,842),45836=>array(119,-69,923,842),45837=>array(119,-64,908,842),45838=>array(119,-64,908,842),45839=>array(119,-76,907,842),45840=>array(119,-62,907,842),45841=>array(119,-61,907,842),45842=>array(119,-69,922,842),45843=>array(119,-74,929,842),45844=>array(119,-69,927,842),45845=>array(119,-68,911,842),45846=>array(119,-72,929,842),45847=>array(119,-70,936,842),45848=>array(119,-66,908,842),45849=>array(119,-59,916,842),45850=>array(119,-60,928,842),45851=>array(119,-68,908,842),45852=>array(109,-68,935,843),45853=>array(109,-59,936,842),45854=>array(109,-61,936,842),45855=>array(109,-71,936,842),45856=>array(109,-45,936,842),45857=>array(109,-69,936,842),45858=>array(109,-76,936,842),45859=>array(109,-44,936,842),45860=>array(109,-62,936,842),45861=>array(109,-64,936,842),45862=>array(109,-64,936,842),45863=>array(109,-64,936,842),45864=>array(109,-70,936,842),45865=>array(109,-64,936,842),45866=>array(109,-64,936,842),45867=>array(109,-76,936,842),45868=>array(109,-62,936,842),45869=>array(109,-61,936,842),45870=>array(109,-70,936,842),45871=>array(109,-74,936,842),45872=>array(109,-69,936,842),45873=>array(109,-67,936,842),45874=>array(109,-72,936,842),45875=>array(109,-71,936,842),45876=>array(109,-66,936,842),45877=>array(109,-59,936,842),45878=>array(109,-60,936,842),45879=>array(109,-69,936,842),45880=>array(109,-69,907,842),45881=>array(119,-61,907,842),45882=>array(119,-61,907,842),45883=>array(119,-71,931,842),45884=>array(119,-46,907,842),45885=>array(119,-68,912,842),45886=>array(119,-76,907,842),45887=>array(119,-44,921,842),45888=>array(119,-62,917,842),45889=>array(119,-64,907,842),45890=>array(119,-64,908,842),45891=>array(119,-64,908,842),45892=>array(119,-69,923,842),45893=>array(119,-64,908,842),45894=>array(119,-64,908,842),45895=>array(119,-76,907,842),45896=>array(119,-62,907,842),45897=>array(119,-61,907,842),45898=>array(119,-69,922,842),45899=>array(119,-74,929,842),45900=>array(119,-69,927,842),45901=>array(119,-68,911,842),45902=>array(119,-72,929,842),45903=>array(119,-70,936,842),45904=>array(119,-66,908,842),45905=>array(119,-59,916,842),45906=>array(119,-60,928,842),45907=>array(119,-68,908,842),45908=>array(109,-70,907,841),45909=>array(109,-61,907,841),45910=>array(109,-61,907,841),45911=>array(109,-71,931,841),45912=>array(109,-46,907,841),45913=>array(109,-68,912,841),45914=>array(109,-76,907,841),45915=>array(109,-44,921,841),45916=>array(109,-62,917,841),45917=>array(109,-64,907,841),45918=>array(109,-64,908,841),45919=>array(109,-64,908,841),45920=>array(109,-69,923,841),45921=>array(109,-64,908,841),45922=>array(109,-64,908,841),45923=>array(109,-76,906,841),45924=>array(109,-62,907,841),45925=>array(109,-61,907,841),45926=>array(109,-69,922,841),45927=>array(109,-74,929,841),45928=>array(109,-69,927,841),45929=>array(109,-68,911,841),45930=>array(109,-72,929,841),45931=>array(109,-70,936,841),45932=>array(109,-66,908,841),45933=>array(109,-59,916,841),45934=>array(109,-60,928,841),45935=>array(109,-68,908,841),45936=>array(109,-68,907,843),45937=>array(119,-61,907,843),45938=>array(119,-61,907,843),45939=>array(119,-71,931,843),45940=>array(119,-46,907,843),45941=>array(119,-68,912,843),45942=>array(119,-76,907,843),45943=>array(119,-44,921,843),45944=>array(119,-62,917,843),45945=>array(119,-64,907,843),45946=>array(119,-64,908,843),45947=>array(119,-64,908,843),45948=>array(119,-69,923,843),45949=>array(119,-64,908,843),45950=>array(119,-64,908,843),45951=>array(119,-76,907,843),45952=>array(119,-62,907,843),45953=>array(119,-61,907,843),45954=>array(119,-69,922,843),45955=>array(119,-74,929,843),45956=>array(119,-69,927,843),45957=>array(119,-68,911,843),45958=>array(119,-72,929,843),45959=>array(119,-70,936,843),45960=>array(119,-66,908,843),45961=>array(119,-59,916,843),45962=>array(119,-60,928,843),45963=>array(119,-68,908,843),45964=>array(109,-70,907,842),45965=>array(109,-61,908,842),45966=>array(109,-61,908,842),45967=>array(109,-71,931,842),45968=>array(109,-46,907,842),45969=>array(109,-68,912,842),45970=>array(109,-76,908,842),45971=>array(109,-44,921,842),45972=>array(109,-62,917,842),45973=>array(109,-64,908,842),45974=>array(109,-64,908,842),45975=>array(109,-64,908,842),45976=>array(109,-69,923,842),45977=>array(109,-64,908,842),45978=>array(109,-64,908,842),45979=>array(109,-76,908,842),45980=>array(109,-62,908,842),45981=>array(109,-61,908,842),45982=>array(109,-69,922,842),45983=>array(109,-74,929,842),45984=>array(109,-69,927,842),45985=>array(109,-68,911,842),45986=>array(109,-72,929,842),45987=>array(109,-70,936,842),45988=>array(109,-66,908,842),45989=>array(109,-59,916,842),45990=>array(109,-60,928,842),45991=>array(109,-68,908,842),45992=>array(109,-68,907,843),45993=>array(119,-61,907,843),45994=>array(119,-61,907,843),45995=>array(119,-71,931,843),45996=>array(119,-46,907,843),45997=>array(119,-68,912,843),45998=>array(119,-76,907,843),45999=>array(119,-44,921,843),46000=>array(119,-62,917,843),46001=>array(119,-64,907,843),46002=>array(119,-64,908,843),46003=>array(119,-64,908,843),46004=>array(119,-69,923,843),46005=>array(119,-64,908,843),46006=>array(119,-64,908,843),46007=>array(119,-76,907,843),46008=>array(119,-62,907,843),46009=>array(119,-61,907,843),46010=>array(119,-69,922,843),46011=>array(119,-74,929,843),46012=>array(119,-69,927,843),46013=>array(119,-68,911,843),46014=>array(119,-72,929,843),46015=>array(119,-70,936,843),46016=>array(119,-66,908,843),46017=>array(119,-59,916,843),46018=>array(119,-60,928,843),46019=>array(119,-68,908,843),46020=>array(62,-13,943,759),46021=>array(79,-61,921,790),46022=>array(79,-61,921,790),46023=>array(79,-71,921,790),46024=>array(79,-46,921,784),46025=>array(79,-68,921,790),46026=>array(79,-74,921,790),46027=>array(79,-44,921,790),46028=>array(79,-62,921,790),46029=>array(79,-64,921,790),46030=>array(79,-64,921,790),46031=>array(79,-63,921,790),46032=>array(79,-68,921,790),46033=>array(79,-64,921,790),46034=>array(79,-63,921,790),46035=>array(79,-74,921,790),46036=>array(79,-62,921,790),46037=>array(79,-61,921,790),46038=>array(79,-69,921,790),46039=>array(79,-74,921,790),46040=>array(79,-69,921,790),46041=>array(79,-68,921,790),46042=>array(79,-72,921,790),46043=>array(79,-70,921,790),46044=>array(79,-66,921,790),46045=>array(79,-59,921,790),46046=>array(79,-60,921,790),46047=>array(79,-68,921,790),46048=>array(47,-69,936,842),46049=>array(64,-59,936,842),46050=>array(64,-61,936,842),46051=>array(64,-71,936,842),46052=>array(74,-45,936,842),46053=>array(64,-69,936,842),46054=>array(64,-76,936,842),46055=>array(64,-44,936,842),46056=>array(64,-62,936,842),46057=>array(64,-64,936,842),46058=>array(64,-64,936,842),46059=>array(64,-64,936,842),46060=>array(64,-70,936,842),46061=>array(64,-64,936,842),46062=>array(64,-64,936,842),46063=>array(64,-76,936,842),46064=>array(64,-62,936,842),46065=>array(64,-61,936,842),46066=>array(64,-70,936,842),46067=>array(64,-74,936,842),46068=>array(64,-69,936,842),46069=>array(64,-67,936,842),46070=>array(64,-72,936,842),46071=>array(64,-71,936,842),46072=>array(64,-66,936,842),46073=>array(64,-59,936,842),46074=>array(64,-60,936,842),46075=>array(64,-69,936,842),46076=>array(61,-69,906,842),46077=>array(64,-61,907,842),46078=>array(64,-61,907,842),46079=>array(64,-71,931,842),46080=>array(53,-46,907,842),46081=>array(64,-68,912,842),46082=>array(64,-76,907,842),46083=>array(64,-44,921,842),46084=>array(64,-62,917,842),46085=>array(64,-64,907,842),46086=>array(64,-64,908,842),46087=>array(64,-64,908,842),46088=>array(64,-69,923,842),46089=>array(64,-64,908,842),46090=>array(64,-64,908,842),46091=>array(64,-76,907,842),46092=>array(64,-62,907,842),46093=>array(64,-61,907,842),46094=>array(64,-69,922,842),46095=>array(64,-74,929,842),46096=>array(64,-69,927,842),46097=>array(64,-68,911,842),46098=>array(64,-72,929,842),46099=>array(64,-70,936,842),46100=>array(64,-66,908,842),46101=>array(64,-59,916,842),46102=>array(64,-60,928,842),46103=>array(64,-68,908,842),46104=>array(62,-69,907,842),46105=>array(64,-61,907,842),46106=>array(64,-61,907,842),46107=>array(64,-71,931,842),46108=>array(64,-46,908,841),46109=>array(64,-68,912,842),46110=>array(64,-76,907,842),46111=>array(64,-44,921,842),46112=>array(64,-62,917,842),46113=>array(64,-64,907,842),46114=>array(64,-64,908,842),46115=>array(64,-64,908,842),46116=>array(64,-69,923,842),46117=>array(64,-64,908,842),46118=>array(64,-64,908,842),46119=>array(64,-76,907,842),46120=>array(64,-62,907,842),46121=>array(64,-61,907,842),46122=>array(64,-69,922,842),46123=>array(64,-74,929,842),46124=>array(64,-69,927,842),46125=>array(64,-68,911,842),46126=>array(64,-72,929,842),46127=>array(64,-70,936,842),46128=>array(64,-66,908,842),46129=>array(64,-59,916,842),46130=>array(64,-60,928,842),46131=>array(64,-68,908,842),46132=>array(60,-13,940,759),46133=>array(79,-61,921,785),46134=>array(79,-61,921,785),46135=>array(79,-71,921,785),46136=>array(79,-46,922,784),46137=>array(79,-68,921,785),46138=>array(79,-74,921,785),46139=>array(79,-44,921,785),46140=>array(79,-62,921,785),46141=>array(79,-64,921,785),46142=>array(79,-64,921,785),46143=>array(79,-63,921,785),46144=>array(79,-68,921,785),46145=>array(79,-64,921,785),46146=>array(79,-63,921,785),46147=>array(79,-74,921,785),46148=>array(79,-62,921,785),46149=>array(79,-61,921,785),46150=>array(79,-69,921,785),46151=>array(79,-74,921,785),46152=>array(79,-69,921,785),46153=>array(79,-68,921,785),46154=>array(79,-72,921,785),46155=>array(79,-70,921,785),46156=>array(79,-66,921,785),46157=>array(79,-59,921,785),46158=>array(79,-60,921,785),46159=>array(79,-68,921,785),46160=>array(79,-64,920,789),46161=>array(79,-61,921,785),46162=>array(79,-61,921,785),46163=>array(79,-71,921,785),46164=>array(79,-46,921,784),46165=>array(79,-68,921,785),46166=>array(79,-74,921,785),46167=>array(79,-44,921,785),46168=>array(79,-62,921,785),46169=>array(79,-64,921,785),46170=>array(79,-64,921,785),46171=>array(79,-63,921,785),46172=>array(79,-68,921,785),46173=>array(79,-64,921,785),46174=>array(79,-63,921,785),46175=>array(79,-74,921,785),46176=>array(79,-62,921,785),46177=>array(79,-61,921,785),46178=>array(79,-69,921,785),46179=>array(79,-74,921,785),46180=>array(79,-69,921,785),46181=>array(79,-68,921,785),46182=>array(79,-72,921,785),46183=>array(79,-70,921,785),46184=>array(79,-66,921,785),46185=>array(79,-59,921,785),46186=>array(79,-60,921,785),46187=>array(79,-68,921,785),46188=>array(68,-70,907,841),46189=>array(76,-61,907,841),46190=>array(76,-61,907,841),46191=>array(76,-71,931,841),46192=>array(75,-46,907,841),46193=>array(76,-68,912,841),46194=>array(76,-76,907,841),46195=>array(76,-44,921,841),46196=>array(76,-62,917,841),46197=>array(76,-64,907,841),46198=>array(76,-64,908,841),46199=>array(76,-64,908,841),46200=>array(76,-69,923,841),46201=>array(76,-64,908,841),46202=>array(76,-64,908,841),46203=>array(76,-76,906,841),46204=>array(76,-62,907,841),46205=>array(76,-61,907,841),46206=>array(76,-69,922,841),46207=>array(76,-74,929,841),46208=>array(76,-69,927,841),46209=>array(76,-68,911,841),46210=>array(76,-72,929,841),46211=>array(76,-70,936,841),46212=>array(76,-66,908,841),46213=>array(76,-59,916,841),46214=>array(76,-60,928,841),46215=>array(76,-68,908,841),46216=>array(52,-69,908,842),46217=>array(71,-61,907,843),46218=>array(71,-61,907,843),46219=>array(71,-71,931,843),46220=>array(79,-46,907,843),46221=>array(71,-68,912,843),46222=>array(71,-76,907,843),46223=>array(71,-44,921,843),46224=>array(71,-62,917,843),46225=>array(71,-64,907,843),46226=>array(71,-64,908,843),46227=>array(71,-64,908,843),46228=>array(71,-69,923,843),46229=>array(71,-64,908,843),46230=>array(71,-64,908,843),46231=>array(71,-76,907,843),46232=>array(71,-62,907,843),46233=>array(71,-61,907,843),46234=>array(71,-69,922,843),46235=>array(71,-74,929,843),46236=>array(71,-69,927,843),46237=>array(71,-68,911,843),46238=>array(71,-72,929,843),46239=>array(71,-70,936,843),46240=>array(71,-66,908,843),46241=>array(71,-59,916,843),46242=>array(71,-60,928,843),46243=>array(71,-68,908,843),46244=>array(70,-69,907,842),46245=>array(64,-61,907,842),46246=>array(64,-61,907,842),46247=>array(64,-71,931,842),46248=>array(65,-46,907,843),46249=>array(64,-68,912,842),46250=>array(64,-76,907,842),46251=>array(64,-44,921,842),46252=>array(64,-62,917,842),46253=>array(64,-64,907,842),46254=>array(64,-64,908,842),46255=>array(64,-64,908,842),46256=>array(64,-69,923,842),46257=>array(64,-64,908,842),46258=>array(64,-64,908,842),46259=>array(64,-76,907,842),46260=>array(64,-62,907,842),46261=>array(64,-61,907,842),46262=>array(64,-69,922,842),46263=>array(64,-74,929,842),46264=>array(64,-69,927,842),46265=>array(64,-68,911,842),46266=>array(64,-72,929,842),46267=>array(64,-70,936,842),46268=>array(64,-66,908,842),46269=>array(64,-59,916,842),46270=>array(64,-60,928,842),46271=>array(64,-68,908,842),46272=>array(71,-64,928,784),46273=>array(79,-61,921,785),46274=>array(79,-61,921,785),46275=>array(79,-71,921,785),46276=>array(79,-46,921,784),46277=>array(79,-68,921,785),46278=>array(79,-74,921,785),46279=>array(79,-44,921,785),46280=>array(79,-62,921,785),46281=>array(79,-64,921,785),46282=>array(79,-64,921,785),46283=>array(79,-63,921,785),46284=>array(79,-68,921,785),46285=>array(79,-64,921,785),46286=>array(79,-63,921,785),46287=>array(79,-74,921,785),46288=>array(79,-62,921,785),46289=>array(79,-61,921,785),46290=>array(79,-69,921,785),46291=>array(79,-74,921,785),46292=>array(79,-69,921,785),46293=>array(79,-68,921,785),46294=>array(79,-72,921,785),46295=>array(79,-70,921,785),46296=>array(79,-66,921,785),46297=>array(79,-59,921,785),46298=>array(79,-60,921,785),46299=>array(79,-68,921,785),46300=>array(57,42,943,709),46301=>array(79,-61,921,784),46302=>array(79,-61,921,784),46303=>array(79,-71,921,784),46304=>array(79,-46,921,784),46305=>array(79,-68,921,784),46306=>array(79,-74,921,784),46307=>array(79,-44,921,784),46308=>array(79,-62,921,784),46309=>array(79,-64,921,784),46310=>array(79,-64,921,784),46311=>array(79,-63,921,784),46312=>array(79,-68,921,784),46313=>array(79,-64,921,784),46314=>array(79,-63,921,784),46315=>array(79,-74,921,784),46316=>array(79,-62,921,784),46317=>array(79,-61,921,784),46318=>array(79,-69,921,784),46319=>array(79,-74,921,784),46320=>array(79,-69,921,784),46321=>array(79,-68,921,784),46322=>array(79,-72,921,784),46323=>array(79,-70,921,784),46324=>array(79,-66,921,784),46325=>array(79,-59,921,784),46326=>array(79,-60,921,784),46327=>array(79,-68,921,784),46328=>array(66,-69,907,842),46329=>array(64,-61,907,842),46330=>array(64,-61,907,842),46331=>array(64,-71,931,842),46332=>array(64,-46,907,842),46333=>array(64,-68,912,842),46334=>array(64,-76,907,842),46335=>array(64,-44,921,842),46336=>array(64,-62,917,842),46337=>array(64,-64,907,842),46338=>array(64,-64,908,842),46339=>array(64,-64,908,842),46340=>array(64,-69,923,842),46341=>array(64,-64,908,842),46342=>array(64,-64,908,842),46343=>array(64,-76,907,842),46344=>array(64,-62,907,842),46345=>array(64,-61,907,842),46346=>array(64,-69,922,842),46347=>array(64,-74,929,842),46348=>array(64,-69,927,842),46349=>array(64,-68,911,842),46350=>array(64,-72,929,842),46351=>array(64,-70,936,842),46352=>array(64,-66,908,842),46353=>array(64,-59,916,842),46354=>array(64,-60,928,842),46355=>array(64,-68,908,842),46356=>array(119,-69,907,842),46357=>array(124,-61,907,842),46358=>array(124,-61,907,842),46359=>array(124,-71,931,842),46360=>array(124,-46,907,842),46361=>array(124,-68,912,842),46362=>array(124,-76,907,842),46363=>array(124,-44,921,842),46364=>array(124,-62,917,842),46365=>array(124,-64,907,842),46366=>array(124,-64,908,842),46367=>array(124,-64,908,842),46368=>array(124,-69,923,842),46369=>array(124,-64,908,842),46370=>array(124,-64,908,842),46371=>array(124,-76,907,842),46372=>array(124,-62,907,842),46373=>array(124,-61,907,842),46374=>array(124,-69,922,842),46375=>array(124,-74,929,842),46376=>array(124,-69,927,842),46377=>array(124,-68,911,842),46378=>array(124,-72,929,842),46379=>array(124,-70,936,842),46380=>array(124,-66,908,842),46381=>array(124,-59,916,842),46382=>array(124,-60,928,842),46383=>array(124,-68,908,842),46384=>array(94,-69,936,842),46385=>array(94,-59,936,842),46386=>array(94,-61,936,842),46387=>array(94,-71,936,842),46388=>array(94,-45,936,842),46389=>array(94,-69,936,842),46390=>array(94,-76,936,842),46391=>array(94,-44,936,842),46392=>array(94,-62,936,842),46393=>array(94,-64,936,842),46394=>array(94,-64,936,842),46395=>array(94,-64,936,842),46396=>array(94,-70,936,842),46397=>array(94,-64,936,842),46398=>array(94,-64,936,842),46399=>array(94,-76,936,842),46400=>array(94,-62,936,842),46401=>array(94,-61,936,842),46402=>array(94,-70,936,842),46403=>array(94,-74,936,842),46404=>array(94,-69,936,842),46405=>array(94,-67,936,842),46406=>array(94,-72,936,842),46407=>array(94,-71,936,842),46408=>array(94,-66,936,842),46409=>array(94,-59,936,842),46410=>array(94,-60,936,842),46411=>array(94,-69,936,842),46412=>array(99,-69,907,842),46413=>array(99,-61,907,837),46414=>array(99,-61,907,837),46415=>array(99,-71,931,837),46416=>array(99,-46,907,842),46417=>array(99,-68,912,837),46418=>array(99,-76,907,837),46419=>array(99,-44,921,837),46420=>array(99,-62,917,837),46421=>array(99,-64,907,837),46422=>array(99,-64,908,837),46423=>array(99,-64,908,837),46424=>array(99,-69,923,837),46425=>array(99,-64,908,837),46426=>array(99,-64,908,837),46427=>array(99,-76,907,837),46428=>array(99,-62,907,837),46429=>array(99,-61,907,837),46430=>array(99,-69,922,837),46431=>array(99,-74,929,837),46432=>array(99,-69,927,837),46433=>array(99,-68,911,837),46434=>array(99,-72,929,837),46435=>array(99,-70,936,837),46436=>array(99,-66,908,837),46437=>array(99,-59,916,837),46438=>array(99,-60,928,837),46439=>array(99,-68,908,837),46440=>array(94,-69,936,842),46441=>array(94,-59,936,842),46442=>array(94,-61,936,842),46443=>array(94,-71,936,842),46444=>array(94,-45,936,842),46445=>array(94,-69,936,842),46446=>array(94,-76,936,842),46447=>array(94,-44,936,842),46448=>array(94,-62,936,842),46449=>array(94,-64,936,842),46450=>array(94,-64,936,842),46451=>array(94,-64,936,842),46452=>array(94,-70,936,842),46453=>array(94,-64,936,842),46454=>array(94,-64,936,842),46455=>array(94,-76,936,842),46456=>array(94,-62,936,842),46457=>array(94,-61,936,842),46458=>array(94,-70,936,842),46459=>array(94,-74,936,842),46460=>array(94,-69,936,842),46461=>array(94,-67,936,842),46462=>array(94,-72,936,842),46463=>array(94,-71,936,842),46464=>array(94,-66,936,842),46465=>array(94,-59,936,842),46466=>array(94,-60,936,842),46467=>array(94,-69,936,842),46468=>array(99,-69,907,842),46469=>array(99,-61,907,842),46470=>array(99,-61,907,842),46471=>array(99,-71,931,842),46472=>array(99,-46,907,842),46473=>array(99,-68,912,842),46474=>array(99,-76,907,842),46475=>array(99,-44,921,842),46476=>array(99,-62,917,842),46477=>array(99,-64,907,842),46478=>array(99,-64,908,842),46479=>array(99,-64,908,842),46480=>array(99,-69,923,842),46481=>array(99,-64,908,842),46482=>array(99,-64,908,842),46483=>array(99,-76,907,842),46484=>array(99,-62,907,842),46485=>array(99,-61,907,842),46486=>array(99,-69,922,842),46487=>array(99,-74,929,842),46488=>array(99,-69,927,842),46489=>array(99,-68,911,842),46490=>array(99,-72,929,842),46491=>array(99,-70,936,842),46492=>array(99,-66,908,842),46493=>array(99,-59,916,842),46494=>array(99,-60,928,842),46495=>array(99,-68,908,842),46496=>array(94,-70,907,841),46497=>array(94,-61,907,836),46498=>array(94,-61,907,836),46499=>array(94,-71,931,836),46500=>array(94,-46,907,841),46501=>array(94,-68,912,836),46502=>array(94,-76,907,836),46503=>array(94,-44,921,836),46504=>array(94,-62,917,836),46505=>array(94,-64,907,836),46506=>array(94,-64,908,836),46507=>array(94,-64,908,836),46508=>array(94,-69,923,836),46509=>array(94,-64,908,836),46510=>array(94,-64,908,836),46511=>array(94,-76,906,836),46512=>array(94,-62,907,836),46513=>array(94,-61,907,836),46514=>array(94,-69,922,836),46515=>array(94,-74,929,836),46516=>array(94,-69,927,836),46517=>array(94,-68,911,836),46518=>array(94,-72,929,836),46519=>array(94,-70,936,836),46520=>array(94,-66,908,836),46521=>array(94,-59,916,836),46522=>array(94,-60,928,836),46523=>array(94,-68,908,836),46524=>array(99,-68,907,843),46525=>array(99,-61,907,843),46526=>array(99,-61,907,843),46527=>array(99,-71,931,843),46528=>array(99,-46,907,843),46529=>array(99,-68,912,843),46530=>array(99,-76,907,843),46531=>array(99,-44,921,843),46532=>array(99,-62,917,843),46533=>array(99,-64,907,843),46534=>array(99,-64,908,843),46535=>array(99,-64,908,843),46536=>array(99,-69,923,843),46537=>array(99,-64,908,843),46538=>array(99,-64,908,843),46539=>array(99,-76,907,843),46540=>array(99,-62,907,843),46541=>array(99,-61,907,843),46542=>array(99,-69,922,843),46543=>array(99,-74,929,843),46544=>array(99,-69,927,843),46545=>array(99,-68,911,843),46546=>array(99,-72,929,843),46547=>array(99,-70,936,843),46548=>array(99,-66,908,843),46549=>array(99,-59,916,843),46550=>array(99,-60,928,843),46551=>array(99,-68,908,843),46552=>array(94,-69,907,842),46553=>array(94,-61,907,842),46554=>array(94,-61,907,842),46555=>array(94,-71,931,842),46556=>array(94,-46,908,842),46557=>array(94,-68,912,842),46558=>array(94,-76,907,842),46559=>array(94,-44,921,842),46560=>array(94,-62,917,842),46561=>array(94,-64,907,842),46562=>array(94,-64,908,842),46563=>array(94,-64,908,842),46564=>array(94,-69,923,842),46565=>array(94,-64,908,842),46566=>array(94,-64,908,842),46567=>array(94,-76,907,842),46568=>array(94,-62,907,842),46569=>array(94,-61,907,842),46570=>array(94,-69,922,842),46571=>array(94,-74,929,842),46572=>array(94,-69,927,842),46573=>array(94,-68,911,842),46574=>array(94,-72,929,842),46575=>array(94,-70,936,842),46576=>array(94,-66,908,842),46577=>array(94,-59,916,842),46578=>array(94,-60,928,842),46579=>array(94,-68,908,842),46580=>array(99,-68,907,843),46581=>array(94,-61,907,843),46582=>array(94,-61,907,843),46583=>array(94,-71,931,843),46584=>array(94,-46,907,843),46585=>array(94,-68,912,843),46586=>array(94,-76,907,843),46587=>array(94,-44,921,843),46588=>array(94,-62,917,843),46589=>array(94,-64,907,843),46590=>array(94,-64,908,843),46591=>array(94,-64,908,843),46592=>array(94,-69,923,843),46593=>array(94,-64,908,843),46594=>array(94,-64,908,843),46595=>array(94,-76,907,843),46596=>array(94,-62,907,843),46597=>array(94,-61,907,843),46598=>array(94,-69,922,843),46599=>array(94,-74,929,843),46600=>array(94,-69,927,843),46601=>array(94,-68,911,843),46602=>array(94,-72,929,843),46603=>array(94,-70,936,843),46604=>array(94,-66,908,843),46605=>array(94,-59,916,843),46606=>array(94,-60,928,843),46607=>array(94,-68,908,843),46608=>array(60,12,940,740),46609=>array(79,-61,921,795),46610=>array(79,-61,921,795),46611=>array(79,-71,921,795),46612=>array(79,-46,921,795),46613=>array(79,-68,921,795),46614=>array(79,-74,921,795),46615=>array(79,-44,921,795),46616=>array(79,-62,921,795),46617=>array(79,-64,921,795),46618=>array(79,-64,921,795),46619=>array(79,-63,921,795),46620=>array(79,-68,921,795),46621=>array(79,-64,921,795),46622=>array(79,-63,921,795),46623=>array(79,-74,921,795),46624=>array(79,-62,921,795),46625=>array(79,-61,921,795),46626=>array(79,-69,921,795),46627=>array(79,-74,921,795),46628=>array(79,-69,921,795),46629=>array(79,-68,921,795),46630=>array(79,-72,921,795),46631=>array(79,-70,921,795),46632=>array(79,-66,921,795),46633=>array(79,-59,921,795),46634=>array(79,-60,921,795),46635=>array(79,-68,921,795),46636=>array(68,-69,935,842),46637=>array(69,-59,936,837),46638=>array(69,-61,936,837),46639=>array(69,-71,936,837),46640=>array(57,-45,936,842),46641=>array(69,-69,936,837),46642=>array(69,-76,936,837),46643=>array(69,-44,936,837),46644=>array(69,-62,936,837),46645=>array(69,-64,936,837),46646=>array(69,-64,936,837),46647=>array(69,-64,936,837),46648=>array(69,-70,936,837),46649=>array(69,-64,936,837),46650=>array(69,-64,936,837),46651=>array(69,-76,936,837),46652=>array(69,-62,936,837),46653=>array(69,-61,936,837),46654=>array(69,-70,936,837),46655=>array(69,-74,936,837),46656=>array(69,-69,936,837),46657=>array(69,-67,936,837),46658=>array(69,-72,936,837),46659=>array(69,-71,936,837),46660=>array(69,-66,936,837),46661=>array(69,-59,936,837),46662=>array(69,-60,936,837),46663=>array(69,-69,936,837),46664=>array(64,-69,906,842),46665=>array(70,-61,907,842),46666=>array(70,-61,907,842),46667=>array(70,-71,931,842),46668=>array(57,-46,907,842),46669=>array(70,-68,912,842),46670=>array(70,-76,907,842),46671=>array(70,-44,921,842),46672=>array(70,-62,917,842),46673=>array(70,-64,907,842),46674=>array(70,-64,908,842),46675=>array(70,-64,908,842),46676=>array(70,-69,923,842),46677=>array(70,-64,908,842),46678=>array(70,-64,908,842),46679=>array(70,-76,907,842),46680=>array(70,-62,907,842),46681=>array(70,-61,907,842),46682=>array(70,-69,922,842),46683=>array(70,-74,929,842),46684=>array(70,-69,927,842),46685=>array(70,-68,911,842),46686=>array(70,-72,929,842),46687=>array(70,-70,936,842),46688=>array(70,-66,908,842),46689=>array(70,-59,916,842),46690=>array(70,-60,928,842),46691=>array(70,-68,908,842),46692=>array(83,-69,906,842),46693=>array(64,-61,907,842),46694=>array(64,-61,907,842),46695=>array(64,-71,931,842),46696=>array(64,-46,907,842),46697=>array(64,-68,912,842),46698=>array(64,-76,907,842),46699=>array(64,-44,921,842),46700=>array(64,-62,917,842),46701=>array(64,-64,907,842),46702=>array(64,-64,908,842),46703=>array(64,-64,908,842),46704=>array(64,-69,923,842),46705=>array(64,-64,908,842),46706=>array(64,-64,908,842),46707=>array(64,-76,906,842),46708=>array(64,-62,907,842),46709=>array(64,-61,907,842),46710=>array(64,-69,922,842),46711=>array(64,-74,929,842),46712=>array(64,-69,927,842),46713=>array(64,-68,911,842),46714=>array(64,-72,929,842),46715=>array(64,-70,936,842),46716=>array(64,-66,908,842),46717=>array(64,-59,916,842),46718=>array(64,-60,928,842),46719=>array(64,-68,908,842),46720=>array(59,-13,939,750),46721=>array(79,-61,921,795),46722=>array(79,-61,921,795),46723=>array(79,-71,921,795),46724=>array(79,-46,921,795),46725=>array(79,-68,921,795),46726=>array(79,-74,921,795),46727=>array(79,-44,921,795),46728=>array(79,-62,921,795),46729=>array(79,-64,921,795),46730=>array(79,-64,921,795),46731=>array(79,-63,921,795),46732=>array(79,-68,921,795),46733=>array(79,-64,921,795),46734=>array(79,-63,921,795),46735=>array(79,-74,921,795),46736=>array(79,-62,921,795),46737=>array(79,-61,921,795),46738=>array(79,-69,921,795),46739=>array(79,-74,921,795),46740=>array(79,-69,921,795),46741=>array(79,-68,921,795),46742=>array(79,-72,921,795),46743=>array(79,-70,921,795),46744=>array(79,-66,921,795),46745=>array(79,-59,921,795),46746=>array(79,-60,921,795),46747=>array(79,-68,921,795),46748=>array(79,-64,921,785),46749=>array(79,-61,921,795),46750=>array(79,-61,921,795),46751=>array(79,-71,921,795),46752=>array(79,-46,921,795),46753=>array(79,-68,921,795),46754=>array(79,-74,921,795),46755=>array(79,-44,921,795),46756=>array(79,-62,921,795),46757=>array(79,-64,921,795),46758=>array(79,-64,921,795),46759=>array(79,-63,921,795),46760=>array(79,-68,921,795),46761=>array(79,-64,921,795),46762=>array(79,-63,921,795),46763=>array(79,-74,921,795),46764=>array(79,-62,921,795),46765=>array(79,-61,921,795),46766=>array(79,-69,921,795),46767=>array(79,-74,921,795),46768=>array(79,-69,921,795),46769=>array(79,-68,921,795),46770=>array(79,-72,921,795),46771=>array(79,-70,921,795),46772=>array(79,-66,921,795),46773=>array(79,-59,921,795),46774=>array(79,-60,921,795),46775=>array(79,-68,921,795),46776=>array(72,-70,907,841),46777=>array(67,-61,907,841),46778=>array(67,-61,907,841),46779=>array(67,-71,931,841),46780=>array(63,-46,907,841),46781=>array(67,-68,912,841),46782=>array(67,-76,907,841),46783=>array(67,-44,921,841),46784=>array(67,-62,917,841),46785=>array(67,-64,907,841),46786=>array(67,-64,908,841),46787=>array(67,-64,908,841),46788=>array(67,-69,923,841),46789=>array(67,-64,908,841),46790=>array(67,-64,908,841),46791=>array(67,-76,906,841),46792=>array(67,-62,907,841),46793=>array(67,-61,907,841),46794=>array(67,-69,922,841),46795=>array(67,-74,929,841),46796=>array(67,-69,927,841),46797=>array(67,-68,911,841),46798=>array(67,-72,929,841),46799=>array(67,-70,936,841),46800=>array(67,-66,908,841),46801=>array(67,-59,916,841),46802=>array(67,-60,928,841),46803=>array(67,-68,908,841),46804=>array(50,-68,907,843),46805=>array(67,-61,907,843),46806=>array(67,-61,907,843),46807=>array(67,-71,931,843),46808=>array(68,-46,907,842),46809=>array(67,-68,912,843),46810=>array(67,-76,907,843),46811=>array(67,-44,921,843),46812=>array(67,-62,917,843),46813=>array(67,-64,907,843),46814=>array(67,-64,908,843),46815=>array(67,-64,908,843),46816=>array(67,-69,923,843),46817=>array(67,-64,908,843),46818=>array(67,-64,908,843),46819=>array(67,-76,907,843),46820=>array(67,-62,907,843),46821=>array(67,-61,907,843),46822=>array(67,-69,922,843),46823=>array(67,-74,929,843),46824=>array(67,-69,927,843),46825=>array(67,-68,911,843),46826=>array(67,-72,929,843),46827=>array(67,-70,936,843),46828=>array(67,-66,908,843),46829=>array(67,-59,916,843),46830=>array(67,-60,928,843),46831=>array(67,-68,908,843),46832=>array(63,-69,907,842),46833=>array(66,-61,907,842),46834=>array(66,-61,907,842),46835=>array(66,-71,931,842),46836=>array(66,-46,907,842),46837=>array(66,-68,912,842),46838=>array(66,-76,907,842),46839=>array(66,-44,921,842),46840=>array(66,-62,917,842),46841=>array(66,-64,907,842),46842=>array(66,-64,908,842),46843=>array(66,-64,908,842),46844=>array(66,-69,923,842),46845=>array(66,-64,908,842),46846=>array(66,-64,908,842),46847=>array(66,-76,907,842),46848=>array(66,-62,907,842),46849=>array(66,-61,907,842),46850=>array(66,-69,922,842),46851=>array(66,-74,929,842),46852=>array(66,-69,927,842),46853=>array(66,-68,911,842),46854=>array(66,-72,929,842),46855=>array(66,-70,936,842),46856=>array(66,-66,908,842),46857=>array(66,-59,916,842),46858=>array(66,-60,928,842),46859=>array(66,-68,908,842),46860=>array(79,-64,921,785),46861=>array(79,-61,921,795),46862=>array(79,-61,921,795),46863=>array(79,-71,921,795),46864=>array(81,-46,922,795),46865=>array(79,-68,921,795),46866=>array(79,-74,921,795),46867=>array(79,-44,921,795),46868=>array(79,-62,921,795),46869=>array(79,-64,921,795),46870=>array(79,-64,921,795),46871=>array(79,-63,921,795),46872=>array(79,-68,921,795),46873=>array(79,-64,921,795),46874=>array(79,-63,921,795),46875=>array(79,-74,921,795),46876=>array(79,-62,921,795),46877=>array(79,-61,921,795),46878=>array(79,-69,921,795),46879=>array(79,-74,921,795),46880=>array(79,-69,921,795),46881=>array(79,-68,921,795),46882=>array(79,-72,921,795),46883=>array(79,-70,921,795),46884=>array(79,-66,921,795),46885=>array(79,-59,921,795),46886=>array(79,-60,921,795),46887=>array(79,-68,921,795),46888=>array(57,22,943,720),46889=>array(79,-61,922,795),46890=>array(79,-61,922,795),46891=>array(79,-71,922,795),46892=>array(79,-46,921,795),46893=>array(79,-68,922,795),46894=>array(79,-74,922,795),46895=>array(79,-44,922,795),46896=>array(79,-62,922,795),46897=>array(79,-64,922,795),46898=>array(79,-64,922,795),46899=>array(79,-63,922,795),46900=>array(79,-68,922,795),46901=>array(79,-64,922,795),46902=>array(79,-63,922,795),46903=>array(79,-74,922,795),46904=>array(79,-62,922,795),46905=>array(79,-61,922,795),46906=>array(79,-69,922,795),46907=>array(79,-74,922,795),46908=>array(79,-69,922,795),46909=>array(79,-68,922,795),46910=>array(79,-72,922,795),46911=>array(79,-70,922,795),46912=>array(79,-66,922,795),46913=>array(79,-59,922,795),46914=>array(79,-60,922,795),46915=>array(79,-68,922,795),46916=>array(67,-69,907,842),46917=>array(74,-61,908,842),46918=>array(74,-61,908,842),46919=>array(74,-71,931,842),46920=>array(65,-46,907,842),46921=>array(74,-68,912,842),46922=>array(74,-76,908,842),46923=>array(74,-44,921,842),46924=>array(74,-62,917,842),46925=>array(74,-64,908,842),46926=>array(74,-64,908,842),46927=>array(74,-64,908,842),46928=>array(74,-69,923,842),46929=>array(74,-64,908,842),46930=>array(74,-64,908,842),46931=>array(74,-76,908,842),46932=>array(74,-62,908,842),46933=>array(74,-61,908,842),46934=>array(74,-69,922,842),46935=>array(74,-74,929,842),46936=>array(74,-69,927,842),46937=>array(74,-68,911,842),46938=>array(74,-72,929,842),46939=>array(74,-70,936,842),46940=>array(74,-66,908,842),46941=>array(74,-59,916,842),46942=>array(74,-60,928,842),46943=>array(74,-68,908,842),46944=>array(104,-69,907,842),46945=>array(109,-61,907,842),46946=>array(109,-61,907,842),46947=>array(109,-71,931,842),46948=>array(99,-46,907,842),46949=>array(109,-68,912,842),46950=>array(109,-76,907,842),46951=>array(109,-44,921,842),46952=>array(109,-62,917,842),46953=>array(109,-64,907,842),46954=>array(109,-64,908,842),46955=>array(109,-64,908,842),46956=>array(109,-69,923,842),46957=>array(109,-64,908,842),46958=>array(109,-64,908,842),46959=>array(109,-76,907,842),46960=>array(109,-62,907,842),46961=>array(109,-61,907,842),46962=>array(109,-69,922,842),46963=>array(109,-74,929,842),46964=>array(109,-69,927,842),46965=>array(109,-68,911,842),46966=>array(109,-72,929,842),46967=>array(109,-70,936,842),46968=>array(109,-66,908,842),46969=>array(109,-59,916,842),46970=>array(109,-60,928,842),46971=>array(109,-68,908,842),46972=>array(118,-69,936,842),46973=>array(103,-59,936,842),46974=>array(103,-61,936,842),46975=>array(103,-71,936,842),46976=>array(108,-45,936,842),46977=>array(103,-69,936,842),46978=>array(103,-76,936,842),46979=>array(103,-44,936,842),46980=>array(103,-62,936,842),46981=>array(103,-64,936,842),46982=>array(103,-64,936,842),46983=>array(103,-64,936,842),46984=>array(103,-70,936,842),46985=>array(103,-64,936,842),46986=>array(103,-64,936,842),46987=>array(103,-76,936,842),46988=>array(103,-62,936,842),46989=>array(103,-61,936,842),46990=>array(103,-70,936,842),46991=>array(103,-74,936,842),46992=>array(103,-69,936,842),46993=>array(103,-67,936,842),46994=>array(103,-72,936,842),46995=>array(103,-71,936,842),46996=>array(103,-66,936,842),46997=>array(103,-59,936,842),46998=>array(103,-60,936,842),46999=>array(103,-69,936,842),47000=>array(118,-69,907,842),47001=>array(103,-61,907,842),47002=>array(103,-61,907,842),47003=>array(103,-71,931,842),47004=>array(103,-46,907,842),47005=>array(103,-68,912,842),47006=>array(103,-76,907,842),47007=>array(103,-44,921,842),47008=>array(103,-62,917,842),47009=>array(103,-64,907,842),47010=>array(103,-64,908,842),47011=>array(103,-64,908,842),47012=>array(103,-69,923,842),47013=>array(103,-64,908,842),47014=>array(103,-64,908,842),47015=>array(103,-76,907,842),47016=>array(103,-62,907,842),47017=>array(103,-61,907,842),47018=>array(103,-69,922,842),47019=>array(103,-74,929,842),47020=>array(103,-69,927,842),47021=>array(103,-68,911,842),47022=>array(103,-72,929,842),47023=>array(103,-70,936,842),47024=>array(103,-66,908,842),47025=>array(103,-59,916,842),47026=>array(103,-60,928,842),47027=>array(103,-68,908,842),47028=>array(118,-68,935,843),47029=>array(103,-59,936,842),47030=>array(103,-61,936,842),47031=>array(103,-71,936,842),47032=>array(108,-45,936,842),47033=>array(103,-69,936,842),47034=>array(103,-76,936,842),47035=>array(103,-44,936,842),47036=>array(103,-62,936,842),47037=>array(103,-64,936,842),47038=>array(103,-64,936,842),47039=>array(103,-64,936,842),47040=>array(103,-70,936,842),47041=>array(103,-64,936,842),47042=>array(103,-64,936,842),47043=>array(103,-76,936,842),47044=>array(103,-62,936,842),47045=>array(103,-61,936,842),47046=>array(103,-70,936,842),47047=>array(103,-74,936,842),47048=>array(103,-69,936,842),47049=>array(103,-67,936,842),47050=>array(103,-72,936,842),47051=>array(103,-71,936,842),47052=>array(103,-66,936,842),47053=>array(103,-59,936,842),47054=>array(103,-60,936,842),47055=>array(103,-69,936,842),47056=>array(118,-69,907,842),47057=>array(103,-61,907,842),47058=>array(103,-61,907,842),47059=>array(103,-71,931,842),47060=>array(103,-46,907,842),47061=>array(103,-68,912,842),47062=>array(103,-76,907,842),47063=>array(103,-44,921,842),47064=>array(103,-62,917,842),47065=>array(103,-64,907,842),47066=>array(103,-64,908,842),47067=>array(103,-64,908,842),47068=>array(103,-69,923,842),47069=>array(103,-64,908,842),47070=>array(103,-64,908,842),47071=>array(103,-76,907,842),47072=>array(103,-62,907,842),47073=>array(103,-61,907,842),47074=>array(103,-69,922,842),47075=>array(103,-74,929,842),47076=>array(103,-69,927,842),47077=>array(103,-68,911,842),47078=>array(103,-72,929,842),47079=>array(103,-70,936,842),47080=>array(103,-66,908,842),47081=>array(103,-59,916,842),47082=>array(103,-60,928,842),47083=>array(103,-68,908,842),47084=>array(118,-70,907,841),47085=>array(103,-61,907,841),47086=>array(103,-61,907,841),47087=>array(103,-71,931,841),47088=>array(103,-46,907,841),47089=>array(103,-68,912,841),47090=>array(103,-76,907,841),47091=>array(103,-44,921,841),47092=>array(103,-62,917,841),47093=>array(103,-64,907,841),47094=>array(103,-64,908,841),47095=>array(103,-64,908,841),47096=>array(103,-69,923,841),47097=>array(103,-64,908,841),47098=>array(103,-64,908,841),47099=>array(103,-76,906,841),47100=>array(103,-62,907,841),47101=>array(103,-61,907,841),47102=>array(103,-69,922,841),47103=>array(103,-74,929,841),47104=>array(103,-69,927,841),47105=>array(103,-68,911,841),47106=>array(103,-72,929,841),47107=>array(103,-70,936,841),47108=>array(103,-66,908,841),47109=>array(103,-59,916,841),47110=>array(103,-60,928,841),47111=>array(103,-68,908,841),47112=>array(118,-68,907,843),47113=>array(118,-61,907,843),47114=>array(118,-61,907,843),47115=>array(118,-71,931,843),47116=>array(118,-46,907,843),47117=>array(118,-68,912,843),47118=>array(118,-76,907,843),47119=>array(118,-44,921,843),47120=>array(118,-62,917,843),47121=>array(118,-64,907,843),47122=>array(118,-64,908,843),47123=>array(118,-64,908,843),47124=>array(118,-69,923,843),47125=>array(118,-64,908,843),47126=>array(118,-64,908,843),47127=>array(118,-76,907,843),47128=>array(118,-62,907,843),47129=>array(118,-61,907,843),47130=>array(118,-69,922,843),47131=>array(118,-74,929,843),47132=>array(118,-69,927,843),47133=>array(118,-68,911,843),47134=>array(118,-72,929,843),47135=>array(118,-70,936,843),47136=>array(118,-66,908,843),47137=>array(118,-59,916,843),47138=>array(118,-60,928,843),47139=>array(118,-68,908,843),47140=>array(118,-70,907,842),47141=>array(103,-61,908,842),47142=>array(103,-61,908,842),47143=>array(103,-71,931,842),47144=>array(103,-46,907,842),47145=>array(103,-68,912,842),47146=>array(103,-76,908,842),47147=>array(103,-44,921,842),47148=>array(103,-62,917,842),47149=>array(103,-64,908,842),47150=>array(103,-64,908,842),47151=>array(103,-64,908,842),47152=>array(103,-69,923,842),47153=>array(103,-64,908,842),47154=>array(103,-64,908,842),47155=>array(103,-76,908,842),47156=>array(103,-62,908,842),47157=>array(103,-61,908,842),47158=>array(103,-69,922,842),47159=>array(103,-74,929,842),47160=>array(103,-69,927,842),47161=>array(103,-68,911,842),47162=>array(103,-72,929,842),47163=>array(103,-70,936,842),47164=>array(103,-66,908,842),47165=>array(103,-59,916,842),47166=>array(103,-60,928,842),47167=>array(103,-68,908,842),47168=>array(118,-68,907,843),47169=>array(118,-61,907,843),47170=>array(118,-61,907,843),47171=>array(118,-71,931,843),47172=>array(118,-46,907,843),47173=>array(118,-68,912,843),47174=>array(118,-76,907,843),47175=>array(118,-44,921,843),47176=>array(118,-62,917,843),47177=>array(118,-64,907,843),47178=>array(118,-64,908,843),47179=>array(118,-64,908,843),47180=>array(118,-69,923,843),47181=>array(118,-64,908,843),47182=>array(118,-64,908,843),47183=>array(118,-76,907,843),47184=>array(118,-62,907,843),47185=>array(118,-61,907,843),47186=>array(118,-69,922,843),47187=>array(118,-74,929,843),47188=>array(118,-69,927,843),47189=>array(118,-68,911,843),47190=>array(118,-72,929,843),47191=>array(118,-70,936,843),47192=>array(118,-66,908,843),47193=>array(118,-59,916,843),47194=>array(118,-60,928,843),47195=>array(118,-68,908,843),47196=>array(62,27,943,755),47197=>array(79,-61,921,795),47198=>array(79,-61,921,795),47199=>array(79,-71,921,795),47200=>array(79,-46,921,795),47201=>array(79,-68,921,795),47202=>array(79,-74,921,795),47203=>array(79,-44,921,795),47204=>array(79,-62,921,795),47205=>array(79,-64,921,795),47206=>array(79,-64,921,795),47207=>array(79,-63,921,795),47208=>array(79,-68,921,795),47209=>array(79,-64,921,795),47210=>array(79,-63,921,795),47211=>array(79,-74,921,795),47212=>array(79,-62,921,795),47213=>array(79,-61,921,795),47214=>array(79,-69,921,795),47215=>array(79,-74,921,795),47216=>array(79,-69,921,795),47217=>array(79,-68,921,795),47218=>array(79,-72,921,795),47219=>array(79,-70,921,795),47220=>array(79,-66,921,795),47221=>array(79,-59,921,795),47222=>array(79,-60,921,795),47223=>array(79,-68,921,795),47224=>array(52,-69,936,842),47225=>array(68,-59,936,842),47226=>array(68,-61,936,842),47227=>array(68,-71,936,842),47228=>array(74,-45,936,843),47229=>array(68,-69,936,842),47230=>array(68,-76,936,842),47231=>array(68,-44,936,842),47232=>array(68,-62,936,842),47233=>array(68,-64,936,842),47234=>array(68,-64,936,842),47235=>array(68,-64,936,842),47236=>array(68,-70,936,842),47237=>array(68,-64,936,842),47238=>array(68,-64,936,842),47239=>array(68,-76,936,842),47240=>array(68,-62,936,842),47241=>array(68,-61,936,842),47242=>array(68,-70,936,842),47243=>array(68,-74,936,842),47244=>array(68,-69,936,842),47245=>array(68,-67,936,842),47246=>array(68,-72,936,842),47247=>array(68,-71,936,842),47248=>array(68,-66,936,842),47249=>array(68,-59,936,842),47250=>array(68,-60,936,842),47251=>array(68,-69,936,842),47252=>array(61,-68,907,843),47253=>array(64,-61,908,842),47254=>array(64,-61,908,842),47255=>array(64,-71,931,842),47256=>array(58,-46,907,842),47257=>array(64,-68,912,842),47258=>array(64,-76,908,842),47259=>array(64,-44,921,842),47260=>array(64,-62,917,842),47261=>array(64,-64,908,842),47262=>array(64,-64,908,842),47263=>array(64,-64,908,842),47264=>array(64,-69,923,842),47265=>array(64,-64,908,842),47266=>array(64,-64,908,842),47267=>array(64,-76,908,842),47268=>array(64,-62,908,842),47269=>array(64,-61,908,842),47270=>array(64,-69,922,842),47271=>array(64,-74,929,842),47272=>array(64,-69,927,842),47273=>array(64,-68,911,842),47274=>array(64,-72,929,842),47275=>array(64,-70,936,842),47276=>array(64,-66,908,842),47277=>array(64,-59,916,842),47278=>array(64,-60,928,842),47279=>array(64,-68,908,842),47280=>array(62,-69,907,842),47281=>array(64,-61,907,841),47282=>array(64,-61,907,841),47283=>array(64,-71,931,841),47284=>array(64,-46,907,842),47285=>array(64,-68,912,841),47286=>array(64,-76,907,841),47287=>array(64,-44,921,841),47288=>array(64,-62,917,841),47289=>array(64,-64,907,841),47290=>array(64,-64,908,841),47291=>array(64,-64,908,841),47292=>array(64,-69,923,841),47293=>array(64,-64,908,841),47294=>array(64,-64,908,841),47295=>array(64,-76,907,841),47296=>array(64,-62,907,841),47297=>array(64,-61,907,841),47298=>array(64,-69,922,841),47299=>array(64,-74,929,841),47300=>array(64,-69,927,841),47301=>array(64,-68,911,841),47302=>array(64,-72,929,841),47303=>array(64,-70,936,841),47304=>array(64,-66,908,841),47305=>array(64,-59,916,841),47306=>array(64,-60,928,841),47307=>array(64,-68,908,841),47308=>array(62,27,943,755),47309=>array(79,-61,921,795),47310=>array(79,-61,921,795),47311=>array(79,-71,921,795),47312=>array(79,-46,922,795),47313=>array(79,-68,921,795),47314=>array(79,-74,921,795),47315=>array(79,-44,921,795),47316=>array(79,-62,921,795),47317=>array(79,-64,921,795),47318=>array(79,-64,921,795),47319=>array(79,-63,921,795),47320=>array(79,-68,921,795),47321=>array(79,-64,921,795),47322=>array(79,-63,921,795),47323=>array(79,-74,921,795),47324=>array(79,-62,921,795),47325=>array(79,-61,921,795),47326=>array(79,-69,921,795),47327=>array(79,-74,921,795),47328=>array(79,-69,921,795),47329=>array(79,-68,921,795),47330=>array(79,-72,921,795),47331=>array(79,-70,921,795),47332=>array(79,-66,921,795),47333=>array(79,-59,921,795),47334=>array(79,-60,921,795),47335=>array(79,-68,921,795),47336=>array(79,-64,920,795),47337=>array(79,-61,921,795),47338=>array(79,-61,921,795),47339=>array(79,-71,921,795),47340=>array(79,-46,921,795),47341=>array(79,-68,921,795),47342=>array(79,-74,921,795),47343=>array(79,-44,921,795),47344=>array(79,-62,921,795),47345=>array(79,-64,921,795),47346=>array(79,-64,921,795),47347=>array(79,-63,921,795),47348=>array(79,-68,921,795),47349=>array(79,-64,921,795),47350=>array(79,-63,921,795),47351=>array(79,-74,921,795),47352=>array(79,-62,921,795),47353=>array(79,-61,921,795),47354=>array(79,-69,921,795),47355=>array(79,-74,921,795),47356=>array(79,-69,921,795),47357=>array(79,-68,921,795),47358=>array(79,-72,921,795),47359=>array(79,-70,921,795),47360=>array(79,-66,921,795),47361=>array(79,-59,921,795),47362=>array(79,-60,921,795),47363=>array(79,-68,921,795),47364=>array(69,-70,907,841),47365=>array(76,-61,907,841),47366=>array(76,-61,907,841),47367=>array(76,-71,931,841),47368=>array(76,-46,907,841),47369=>array(76,-68,912,841),47370=>array(76,-76,907,841),47371=>array(76,-44,921,841),47372=>array(76,-62,917,841),47373=>array(76,-64,907,841),47374=>array(76,-64,908,841),47375=>array(76,-64,908,841),47376=>array(76,-69,923,841),47377=>array(76,-64,908,841),47378=>array(76,-64,908,841),47379=>array(76,-76,906,841),47380=>array(76,-62,907,841),47381=>array(76,-61,907,841),47382=>array(76,-69,922,841),47383=>array(76,-74,929,841),47384=>array(76,-69,927,841),47385=>array(76,-68,911,841),47386=>array(76,-72,929,841),47387=>array(76,-70,936,841),47388=>array(76,-66,908,841),47389=>array(76,-59,916,841),47390=>array(76,-60,928,841),47391=>array(76,-68,908,841),47392=>array(52,-68,907,843),47393=>array(72,-61,907,843),47394=>array(72,-61,907,843),47395=>array(72,-71,931,843),47396=>array(90,-46,907,843),47397=>array(72,-68,912,843),47398=>array(72,-76,907,843),47399=>array(72,-44,921,843),47400=>array(72,-62,917,843),47401=>array(72,-64,907,843),47402=>array(72,-64,908,843),47403=>array(72,-64,908,843),47404=>array(72,-69,923,843),47405=>array(72,-64,908,843),47406=>array(72,-64,908,843),47407=>array(72,-76,907,843),47408=>array(72,-62,907,843),47409=>array(72,-61,907,843),47410=>array(72,-69,922,843),47411=>array(72,-74,929,843),47412=>array(72,-69,927,843),47413=>array(72,-68,911,843),47414=>array(72,-72,929,843),47415=>array(72,-70,936,843),47416=>array(72,-66,908,843),47417=>array(72,-59,916,843),47418=>array(72,-60,928,843),47419=>array(72,-68,908,843),47420=>array(70,-69,907,842),47421=>array(64,-61,907,842),47422=>array(64,-61,907,842),47423=>array(64,-71,931,842),47424=>array(65,-46,907,843),47425=>array(64,-68,912,842),47426=>array(64,-76,907,842),47427=>array(64,-44,921,842),47428=>array(64,-62,917,842),47429=>array(64,-64,907,842),47430=>array(64,-64,908,842),47431=>array(64,-64,908,842),47432=>array(64,-69,923,842),47433=>array(64,-64,908,842),47434=>array(64,-64,908,842),47435=>array(64,-76,907,842),47436=>array(64,-62,907,842),47437=>array(64,-61,907,842),47438=>array(64,-69,922,842),47439=>array(64,-74,929,842),47440=>array(64,-69,927,842),47441=>array(64,-68,911,842),47442=>array(64,-72,929,842),47443=>array(64,-70,936,842),47444=>array(64,-66,908,842),47445=>array(64,-59,916,842),47446=>array(64,-60,928,842),47447=>array(64,-68,908,842),47448=>array(71,-64,928,795),47449=>array(79,-61,921,795),47450=>array(79,-61,921,795),47451=>array(79,-71,921,795),47452=>array(79,-46,921,795),47453=>array(79,-68,921,795),47454=>array(79,-74,921,795),47455=>array(79,-44,921,795),47456=>array(79,-62,921,795),47457=>array(79,-64,921,795),47458=>array(79,-64,921,795),47459=>array(79,-63,921,795),47460=>array(79,-68,921,795),47461=>array(79,-64,921,795),47462=>array(79,-63,921,795),47463=>array(79,-74,921,795),47464=>array(79,-62,921,795),47465=>array(79,-61,921,795),47466=>array(79,-69,921,795),47467=>array(79,-74,921,795),47468=>array(79,-69,921,795),47469=>array(79,-68,921,795),47470=>array(79,-72,921,795),47471=>array(79,-70,921,795),47472=>array(79,-66,921,795),47473=>array(79,-59,921,795),47474=>array(79,-60,921,795),47475=>array(79,-68,921,795),47476=>array(57,42,943,730),47477=>array(79,-61,921,795),47478=>array(79,-61,921,795),47479=>array(79,-71,921,795),47480=>array(79,-46,921,795),47481=>array(79,-68,921,795),47482=>array(79,-74,921,795),47483=>array(79,-44,921,795),47484=>array(79,-62,921,795),47485=>array(79,-64,921,795),47486=>array(79,-64,921,795),47487=>array(79,-63,921,795),47488=>array(79,-68,921,795),47489=>array(79,-64,921,795),47490=>array(79,-63,921,795),47491=>array(79,-74,921,795),47492=>array(79,-62,921,795),47493=>array(79,-61,921,795),47494=>array(79,-69,921,795),47495=>array(79,-74,921,795),47496=>array(79,-69,921,795),47497=>array(79,-68,921,795),47498=>array(79,-72,921,795),47499=>array(79,-70,921,795),47500=>array(79,-66,921,795),47501=>array(79,-59,921,795),47502=>array(79,-60,921,795),47503=>array(79,-68,921,795),47504=>array(67,-69,907,842),47505=>array(64,-61,908,842),47506=>array(64,-61,908,842),47507=>array(64,-71,931,842),47508=>array(64,-46,908,842),47509=>array(64,-68,912,842),47510=>array(64,-76,908,842),47511=>array(64,-44,921,842),47512=>array(64,-62,917,842),47513=>array(64,-64,908,842),47514=>array(64,-64,908,842),47515=>array(64,-64,908,842),47516=>array(64,-69,923,842),47517=>array(64,-64,908,842),47518=>array(64,-64,908,842),47519=>array(64,-76,908,842),47520=>array(64,-62,908,842),47521=>array(64,-61,908,842),47522=>array(64,-69,922,842),47523=>array(64,-74,929,842),47524=>array(64,-69,927,842),47525=>array(64,-68,911,842),47526=>array(64,-72,929,842),47527=>array(64,-70,936,842),47528=>array(64,-66,908,842),47529=>array(64,-59,916,842),47530=>array(64,-60,928,842),47531=>array(64,-68,908,842),47532=>array(143,-69,907,842),47533=>array(138,-61,907,842),47534=>array(138,-61,907,842),47535=>array(138,-71,931,842),47536=>array(138,-46,907,842),47537=>array(138,-68,912,842),47538=>array(138,-76,907,842),47539=>array(138,-44,921,842),47540=>array(138,-62,917,842),47541=>array(138,-64,907,842),47542=>array(138,-64,908,842),47543=>array(138,-64,908,842),47544=>array(138,-69,923,842),47545=>array(138,-64,908,842),47546=>array(138,-64,908,842),47547=>array(138,-76,907,842),47548=>array(138,-62,907,842),47549=>array(138,-61,907,842),47550=>array(138,-69,922,842),47551=>array(138,-74,929,842),47552=>array(138,-69,927,842),47553=>array(138,-68,911,842),47554=>array(138,-72,929,842),47555=>array(138,-70,936,842),47556=>array(138,-66,908,842),47557=>array(138,-59,916,842),47558=>array(138,-60,928,842),47559=>array(138,-68,908,842),47560=>array(127,-69,936,842),47561=>array(122,-59,936,842),47562=>array(122,-61,936,842),47563=>array(122,-71,936,842),47564=>array(122,-45,936,842),47565=>array(122,-69,936,842),47566=>array(122,-76,936,842),47567=>array(122,-44,936,842),47568=>array(122,-62,936,842),47569=>array(122,-64,936,842),47570=>array(122,-64,936,842),47571=>array(122,-64,936,842),47572=>array(122,-70,936,842),47573=>array(122,-64,936,842),47574=>array(122,-64,936,842),47575=>array(122,-76,936,842),47576=>array(122,-62,936,842),47577=>array(122,-61,936,842),47578=>array(122,-70,936,842),47579=>array(122,-74,936,842),47580=>array(118,-69,936,842),47581=>array(122,-67,936,842),47582=>array(122,-72,936,842),47583=>array(122,-71,936,842),47584=>array(122,-66,936,842),47585=>array(122,-59,936,842),47586=>array(122,-60,936,842),47587=>array(122,-69,936,842),47588=>array(127,-69,907,842),47589=>array(122,-61,907,842),47590=>array(122,-61,907,842),47591=>array(122,-71,931,842),47592=>array(122,-46,907,842),47593=>array(122,-68,912,842),47594=>array(122,-76,907,842),47595=>array(122,-44,921,842),47596=>array(122,-62,917,842),47597=>array(122,-64,907,842),47598=>array(122,-64,908,842),47599=>array(122,-64,908,842),47600=>array(122,-69,923,842),47601=>array(122,-64,908,842),47602=>array(122,-64,908,842),47603=>array(122,-76,907,842),47604=>array(122,-62,907,842),47605=>array(122,-61,907,842),47606=>array(122,-69,922,842),47607=>array(122,-74,929,842),47608=>array(122,-69,927,842),47609=>array(122,-68,911,842),47610=>array(122,-72,929,842),47611=>array(122,-70,936,842),47612=>array(122,-66,908,842),47613=>array(122,-59,916,842),47614=>array(122,-60,928,842),47615=>array(122,-68,908,842),47616=>array(127,-68,935,843),47617=>array(122,-59,936,842),47618=>array(122,-61,936,842),47619=>array(122,-71,936,842),47620=>array(122,-45,936,842),47621=>array(122,-69,936,842),47622=>array(122,-76,936,842),47623=>array(122,-44,936,842),47624=>array(122,-62,936,842),47625=>array(122,-64,936,842),47626=>array(122,-64,936,842),47627=>array(122,-64,936,842),47628=>array(122,-70,936,842),47629=>array(122,-64,936,842),47630=>array(122,-64,936,842),47631=>array(122,-76,936,842),47632=>array(122,-62,936,842),47633=>array(122,-61,936,842),47634=>array(122,-70,936,842),47635=>array(122,-74,936,842),47636=>array(118,-69,936,842),47637=>array(122,-67,936,842),47638=>array(122,-72,936,842),47639=>array(122,-71,936,842),47640=>array(122,-66,936,842),47641=>array(122,-59,936,842),47642=>array(122,-60,936,842),47643=>array(122,-69,936,842),47644=>array(127,-69,907,842),47645=>array(122,-61,907,842),47646=>array(122,-61,907,842),47647=>array(122,-71,931,842),47648=>array(122,-46,907,842),47649=>array(122,-68,912,842),47650=>array(122,-76,907,842),47651=>array(122,-44,921,842),47652=>array(122,-62,917,842),47653=>array(122,-64,907,842),47654=>array(122,-64,908,842),47655=>array(122,-64,908,842),47656=>array(122,-69,923,842),47657=>array(122,-64,908,842),47658=>array(122,-64,908,842),47659=>array(122,-76,907,842),47660=>array(122,-62,907,842),47661=>array(122,-61,907,842),47662=>array(122,-69,922,842),47663=>array(122,-74,929,842),47664=>array(122,-69,927,842),47665=>array(122,-68,911,842),47666=>array(122,-72,929,842),47667=>array(122,-70,936,842),47668=>array(122,-66,908,842),47669=>array(122,-59,916,842),47670=>array(122,-60,928,842),47671=>array(122,-68,908,842),47672=>array(127,-70,907,841),47673=>array(122,-61,907,841),47674=>array(122,-61,907,841),47675=>array(122,-71,931,841),47676=>array(112,-46,907,841),47677=>array(122,-68,912,841),47678=>array(122,-76,907,841),47679=>array(122,-44,921,841),47680=>array(122,-62,917,841),47681=>array(122,-64,907,841),47682=>array(122,-64,908,841),47683=>array(122,-64,908,841),47684=>array(122,-69,923,841),47685=>array(122,-64,908,841),47686=>array(122,-64,908,841),47687=>array(122,-76,906,841),47688=>array(122,-62,907,841),47689=>array(122,-61,907,841),47690=>array(122,-69,922,841),47691=>array(122,-74,929,841),47692=>array(122,-69,927,841),47693=>array(122,-68,911,841),47694=>array(122,-72,929,841),47695=>array(122,-70,936,841),47696=>array(122,-66,908,841),47697=>array(122,-59,916,841),47698=>array(122,-60,928,841),47699=>array(122,-68,908,841),47700=>array(127,-68,907,843),47701=>array(122,-61,907,843),47702=>array(122,-61,907,843),47703=>array(122,-71,931,843),47704=>array(122,-46,907,843),47705=>array(122,-68,912,843),47706=>array(122,-76,907,843),47707=>array(122,-44,921,843),47708=>array(122,-62,917,843),47709=>array(122,-64,907,843),47710=>array(122,-64,908,843),47711=>array(122,-64,908,843),47712=>array(122,-69,923,843),47713=>array(122,-64,908,843),47714=>array(122,-64,908,843),47715=>array(122,-76,907,843),47716=>array(122,-62,907,843),47717=>array(122,-61,907,843),47718=>array(122,-69,922,843),47719=>array(122,-74,929,843),47720=>array(122,-69,927,843),47721=>array(122,-68,911,843),47722=>array(122,-72,929,843),47723=>array(122,-70,936,843),47724=>array(122,-66,908,843),47725=>array(122,-59,916,843),47726=>array(122,-60,928,843),47727=>array(122,-68,908,843),47728=>array(127,-70,907,842),47729=>array(122,-61,908,842),47730=>array(122,-61,908,842),47731=>array(122,-71,931,842),47732=>array(112,-46,907,842),47733=>array(122,-68,912,842),47734=>array(122,-76,908,842),47735=>array(122,-44,921,842),47736=>array(122,-62,917,842),47737=>array(122,-64,908,842),47738=>array(122,-64,908,842),47739=>array(122,-64,908,842),47740=>array(122,-69,923,842),47741=>array(122,-64,908,842),47742=>array(122,-64,908,842),47743=>array(122,-76,908,842),47744=>array(122,-62,908,842),47745=>array(122,-61,908,842),47746=>array(122,-69,922,842),47747=>array(122,-74,929,842),47748=>array(122,-69,927,842),47749=>array(122,-68,911,842),47750=>array(122,-72,929,842),47751=>array(122,-70,936,842),47752=>array(122,-66,908,842),47753=>array(122,-59,916,842),47754=>array(122,-60,928,842),47755=>array(122,-68,908,842),47756=>array(127,-68,907,843),47757=>array(122,-61,907,843),47758=>array(122,-61,907,843),47759=>array(122,-71,931,843),47760=>array(122,-46,907,843),47761=>array(122,-68,912,843),47762=>array(122,-76,907,843),47763=>array(122,-44,921,843),47764=>array(122,-62,917,843),47765=>array(122,-64,907,843),47766=>array(122,-64,908,843),47767=>array(122,-64,908,843),47768=>array(122,-69,923,843),47769=>array(122,-64,908,843),47770=>array(122,-64,908,843),47771=>array(122,-76,907,843),47772=>array(122,-62,907,843),47773=>array(122,-61,907,843),47774=>array(122,-69,922,843),47775=>array(122,-74,929,843),47776=>array(122,-69,927,843),47777=>array(122,-68,911,843),47778=>array(122,-72,929,843),47779=>array(122,-70,936,843),47780=>array(122,-66,908,843),47781=>array(122,-59,916,843),47782=>array(122,-60,928,843),47783=>array(122,-68,908,843),47784=>array(62,17,943,740),47785=>array(79,-61,921,800),47786=>array(79,-61,921,800),47787=>array(79,-71,921,800),47788=>array(79,-46,921,800),47789=>array(79,-68,921,800),47790=>array(79,-74,921,800),47791=>array(79,-44,921,800),47792=>array(79,-62,921,800),47793=>array(79,-64,921,800),47794=>array(79,-64,921,800),47795=>array(79,-63,921,800),47796=>array(79,-68,921,800),47797=>array(79,-64,921,800),47798=>array(79,-63,921,800),47799=>array(79,-74,921,800),47800=>array(79,-62,921,800),47801=>array(79,-61,921,800),47802=>array(79,-69,921,800),47803=>array(79,-74,921,800),47804=>array(79,-69,921,800),47805=>array(79,-68,921,800),47806=>array(79,-72,921,800),47807=>array(79,-70,921,800),47808=>array(79,-66,921,800),47809=>array(79,-59,921,800),47810=>array(79,-60,921,800),47811=>array(79,-68,921,800),47812=>array(52,-69,936,842),47813=>array(77,-59,936,843),47814=>array(77,-61,936,843),47815=>array(77,-71,936,843),47816=>array(66,-45,936,842),47817=>array(77,-69,936,843),47818=>array(77,-76,936,843),47819=>array(77,-44,936,843),47820=>array(77,-62,936,843),47821=>array(77,-64,936,843),47822=>array(77,-64,936,843),47823=>array(77,-64,936,843),47824=>array(77,-70,936,843),47825=>array(77,-64,936,843),47826=>array(77,-64,936,843),47827=>array(77,-76,936,843),47828=>array(77,-62,936,843),47829=>array(77,-61,936,843),47830=>array(77,-70,936,843),47831=>array(77,-74,936,843),47832=>array(77,-69,936,843),47833=>array(77,-67,936,843),47834=>array(77,-72,936,843),47835=>array(77,-71,936,843),47836=>array(77,-66,936,843),47837=>array(77,-59,936,843),47838=>array(77,-60,936,843),47839=>array(77,-69,936,843),47840=>array(61,-69,907,842),47841=>array(79,-61,907,843),47842=>array(79,-61,907,843),47843=>array(79,-71,931,843),47844=>array(72,-46,907,842),47845=>array(79,-68,912,843),47846=>array(79,-76,907,843),47847=>array(79,-44,921,843),47848=>array(79,-62,917,843),47849=>array(79,-64,907,843),47850=>array(79,-64,908,843),47851=>array(79,-64,908,843),47852=>array(79,-69,923,843),47853=>array(79,-64,908,843),47854=>array(79,-64,908,843),47855=>array(79,-76,907,843),47856=>array(79,-62,907,843),47857=>array(79,-61,907,843),47858=>array(79,-69,922,843),47859=>array(79,-74,929,843),47860=>array(79,-69,927,843),47861=>array(79,-68,911,843),47862=>array(79,-72,929,843),47863=>array(79,-70,936,843),47864=>array(79,-66,908,843),47865=>array(79,-59,916,843),47866=>array(79,-60,928,843),47867=>array(79,-68,908,843),47868=>array(61,-69,907,842),47869=>array(64,-61,908,841),47870=>array(64,-61,908,841),47871=>array(64,-71,931,841),47872=>array(65,-46,908,841),47873=>array(64,-68,912,841),47874=>array(64,-76,908,841),47875=>array(64,-44,921,841),47876=>array(64,-62,917,841),47877=>array(64,-64,908,841),47878=>array(64,-64,908,841),47879=>array(64,-64,908,841),47880=>array(64,-69,923,841),47881=>array(64,-64,908,841),47882=>array(64,-64,908,841),47883=>array(64,-76,908,841),47884=>array(64,-62,908,841),47885=>array(64,-61,908,841),47886=>array(64,-69,922,841),47887=>array(64,-74,929,841),47888=>array(64,-69,927,841),47889=>array(64,-68,911,841),47890=>array(64,-72,929,841),47891=>array(64,-70,936,841),47892=>array(64,-66,908,841),47893=>array(64,-59,916,841),47894=>array(64,-60,928,841),47895=>array(64,-68,908,841),47896=>array(60,-3,940,765),47897=>array(79,-61,922,800),47898=>array(79,-61,922,800),47899=>array(79,-71,922,800),47900=>array(79,-46,922,800),47901=>array(79,-68,922,800),47902=>array(79,-74,922,800),47903=>array(79,-44,922,800),47904=>array(79,-62,922,800),47905=>array(79,-64,922,800),47906=>array(79,-64,922,800),47907=>array(79,-63,922,800),47908=>array(79,-68,922,800),47909=>array(79,-64,922,800),47910=>array(79,-63,922,800),47911=>array(79,-74,922,800),47912=>array(79,-62,922,800),47913=>array(79,-61,922,800),47914=>array(79,-69,922,800),47915=>array(79,-74,922,800),47916=>array(79,-69,922,800),47917=>array(79,-68,922,800),47918=>array(79,-72,922,800),47919=>array(79,-70,922,800),47920=>array(79,-66,922,800),47921=>array(79,-59,922,800),47922=>array(79,-60,922,800),47923=>array(79,-68,922,800),47924=>array(79,-64,921,800),47925=>array(79,-61,921,800),47926=>array(79,-61,921,800),47927=>array(79,-71,921,800),47928=>array(79,-46,921,800),47929=>array(79,-68,921,800),47930=>array(79,-74,921,800),47931=>array(79,-44,921,800),47932=>array(79,-62,921,800),47933=>array(79,-64,921,800),47934=>array(79,-64,921,800),47935=>array(79,-63,921,800),47936=>array(79,-68,921,800),47937=>array(79,-64,921,800),47938=>array(79,-63,921,800),47939=>array(79,-74,921,800),47940=>array(79,-62,921,800),47941=>array(79,-61,921,800),47942=>array(79,-69,921,800),47943=>array(79,-74,921,800),47944=>array(79,-69,921,800),47945=>array(79,-68,921,800),47946=>array(79,-72,921,800),47947=>array(79,-70,921,800),47948=>array(79,-66,921,800),47949=>array(79,-59,921,800),47950=>array(79,-60,921,800),47951=>array(79,-68,921,800),47952=>array(69,-70,907,841),47953=>array(79,-61,907,841),47954=>array(79,-61,907,841),47955=>array(79,-71,931,841),47956=>array(79,-46,907,841),47957=>array(79,-68,912,841),47958=>array(79,-76,907,841),47959=>array(79,-44,921,841),47960=>array(79,-62,917,841),47961=>array(79,-64,907,841),47962=>array(79,-64,908,841),47963=>array(79,-64,908,841),47964=>array(79,-69,923,841),47965=>array(79,-64,908,841),47966=>array(79,-64,908,841),47967=>array(79,-76,906,841),47968=>array(79,-62,907,841),47969=>array(79,-61,907,841),47970=>array(79,-69,922,841),47971=>array(79,-74,929,841),47972=>array(79,-69,927,841),47973=>array(79,-68,911,841),47974=>array(79,-72,929,841),47975=>array(79,-70,936,841),47976=>array(79,-66,908,841),47977=>array(79,-59,916,841),47978=>array(79,-60,928,841),47979=>array(79,-68,908,841),47980=>array(63,-68,912,843),47981=>array(72,-61,907,843),47982=>array(72,-61,907,843),47983=>array(72,-71,931,843),47984=>array(89,-46,907,843),47985=>array(72,-68,912,843),47986=>array(72,-76,907,843),47987=>array(72,-44,921,843),47988=>array(72,-62,917,843),47989=>array(72,-64,907,843),47990=>array(72,-64,908,843),47991=>array(72,-64,908,843),47992=>array(72,-69,923,843),47993=>array(72,-64,908,843),47994=>array(72,-64,908,843),47995=>array(72,-76,907,843),47996=>array(72,-62,907,843),47997=>array(72,-61,907,843),47998=>array(72,-69,922,843),47999=>array(72,-74,929,843),48000=>array(72,-69,927,843),48001=>array(72,-68,911,843),48002=>array(72,-72,929,843),48003=>array(72,-70,936,843),48004=>array(72,-66,908,843),48005=>array(72,-59,916,843),48006=>array(72,-60,928,843),48007=>array(72,-68,908,843),48008=>array(51,-69,907,842),48009=>array(65,-61,907,842),48010=>array(65,-61,907,842),48011=>array(65,-71,931,842),48012=>array(65,-46,907,842),48013=>array(65,-68,912,842),48014=>array(65,-76,907,842),48015=>array(65,-44,921,842),48016=>array(65,-62,917,842),48017=>array(65,-64,907,842),48018=>array(65,-64,908,842),48019=>array(65,-64,908,842),48020=>array(65,-69,923,842),48021=>array(65,-64,908,842),48022=>array(65,-64,908,842),48023=>array(65,-76,907,842),48024=>array(65,-62,907,842),48025=>array(65,-61,907,842),48026=>array(65,-69,922,842),48027=>array(65,-74,929,842),48028=>array(65,-69,927,842),48029=>array(65,-68,911,842),48030=>array(65,-72,929,842),48031=>array(65,-70,936,842),48032=>array(65,-66,908,842),48033=>array(65,-59,916,842),48034=>array(65,-60,928,842),48035=>array(65,-68,908,842),48036=>array(71,-64,928,800),48037=>array(79,-61,921,800),48038=>array(79,-61,921,800),48039=>array(79,-71,921,800),48040=>array(79,-46,921,790),48041=>array(79,-68,921,800),48042=>array(79,-74,921,800),48043=>array(79,-44,921,800),48044=>array(79,-62,921,800),48045=>array(79,-64,921,800),48046=>array(79,-64,921,800),48047=>array(79,-63,921,800),48048=>array(79,-68,921,800),48049=>array(79,-64,921,800),48050=>array(79,-63,921,800),48051=>array(79,-74,921,800),48052=>array(79,-62,921,800),48053=>array(79,-61,921,800),48054=>array(79,-69,921,800),48055=>array(79,-74,921,800),48056=>array(79,-69,921,800),48057=>array(79,-68,921,800),48058=>array(79,-72,921,800),48059=>array(79,-70,921,800),48060=>array(79,-66,921,800),48061=>array(79,-59,921,800),48062=>array(79,-60,921,800),48063=>array(79,-68,921,800),48064=>array(57,42,943,710),48065=>array(79,-61,921,791),48066=>array(79,-61,921,791),48067=>array(79,-71,921,791),48068=>array(79,-46,921,791),48069=>array(79,-68,921,791),48070=>array(79,-74,921,791),48071=>array(79,-44,921,791),48072=>array(79,-62,921,791),48073=>array(79,-64,921,791),48074=>array(79,-64,921,791),48075=>array(79,-63,921,791),48076=>array(79,-68,921,791),48077=>array(79,-64,921,791),48078=>array(79,-63,921,791),48079=>array(79,-74,921,791),48080=>array(79,-62,921,791),48081=>array(79,-61,921,791),48082=>array(79,-69,921,791),48083=>array(79,-74,921,791),48084=>array(79,-69,921,791),48085=>array(79,-68,921,791),48086=>array(79,-72,921,791),48087=>array(79,-70,921,791),48088=>array(79,-66,921,791),48089=>array(79,-59,921,791),48090=>array(79,-60,921,791),48091=>array(79,-68,921,791),48092=>array(67,-69,907,842),48093=>array(64,-61,907,842),48094=>array(64,-61,907,842),48095=>array(64,-71,931,842),48096=>array(64,-46,907,842),48097=>array(64,-68,912,842),48098=>array(64,-76,907,842),48099=>array(64,-44,921,842),48100=>array(64,-62,917,842),48101=>array(64,-64,907,842),48102=>array(64,-64,908,842),48103=>array(64,-64,908,842),48104=>array(64,-69,923,842),48105=>array(64,-64,908,842),48106=>array(64,-64,908,842),48107=>array(64,-76,907,842),48108=>array(64,-62,907,842),48109=>array(64,-61,907,842),48110=>array(64,-69,922,842),48111=>array(64,-74,929,842),48112=>array(64,-69,927,842),48113=>array(64,-68,911,842),48114=>array(64,-72,929,842),48115=>array(64,-70,936,842),48116=>array(64,-66,908,842),48117=>array(64,-59,916,842),48118=>array(64,-60,928,842),48119=>array(64,-68,908,842),48120=>array(147,-69,907,842),48121=>array(157,-61,907,842),48122=>array(157,-61,907,842),48123=>array(157,-71,931,842),48124=>array(122,-46,907,842),48125=>array(157,-68,912,842),48126=>array(157,-76,907,842),48127=>array(157,-44,921,842),48128=>array(157,-62,917,842),48129=>array(157,-64,907,842),48130=>array(157,-64,908,842),48131=>array(157,-64,908,842),48132=>array(157,-69,923,842),48133=>array(157,-64,908,842),48134=>array(157,-64,908,842),48135=>array(157,-76,907,842),48136=>array(157,-62,907,842),48137=>array(157,-61,907,842),48138=>array(157,-69,922,842),48139=>array(157,-74,929,842),48140=>array(143,-69,927,842),48141=>array(157,-68,911,842),48142=>array(157,-72,929,842),48143=>array(157,-70,936,842),48144=>array(157,-66,908,842),48145=>array(157,-59,916,842),48146=>array(157,-60,928,842),48147=>array(157,-68,908,842),48148=>array(122,-69,936,842),48149=>array(122,-59,936,837),48150=>array(122,-61,936,837),48151=>array(122,-71,936,837),48152=>array(122,-45,936,842),48153=>array(122,-69,936,837),48154=>array(122,-76,936,837),48155=>array(122,-44,936,837),48156=>array(122,-62,936,837),48157=>array(122,-64,936,837),48158=>array(122,-64,936,837),48159=>array(122,-64,936,837),48160=>array(122,-70,936,837),48161=>array(122,-64,936,837),48162=>array(122,-64,936,837),48163=>array(122,-76,936,837),48164=>array(122,-62,936,837),48165=>array(122,-61,936,837),48166=>array(122,-70,936,837),48167=>array(122,-74,936,837),48168=>array(118,-69,936,837),48169=>array(122,-67,936,837),48170=>array(122,-72,936,837),48171=>array(122,-71,936,837),48172=>array(122,-66,936,837),48173=>array(122,-59,936,837),48174=>array(122,-60,936,837),48175=>array(122,-69,936,837),48176=>array(122,-69,907,842),48177=>array(157,-61,907,842),48178=>array(157,-61,907,842),48179=>array(157,-71,931,842),48180=>array(157,-46,907,842),48181=>array(157,-68,912,842),48182=>array(157,-76,907,842),48183=>array(157,-44,921,842),48184=>array(157,-62,917,842),48185=>array(157,-64,907,842),48186=>array(157,-64,908,842),48187=>array(157,-64,908,842),48188=>array(157,-69,923,842),48189=>array(157,-64,908,842),48190=>array(157,-64,908,842),48191=>array(157,-76,907,842),48192=>array(157,-62,907,842),48193=>array(157,-61,907,842),48194=>array(157,-69,922,842),48195=>array(157,-74,929,842),48196=>array(143,-69,927,842),48197=>array(157,-68,911,842),48198=>array(157,-72,929,842),48199=>array(157,-70,936,842),48200=>array(157,-66,908,842),48201=>array(157,-59,916,842),48202=>array(157,-60,928,842),48203=>array(157,-68,908,842),48204=>array(122,-68,935,843),48205=>array(122,-59,936,842),48206=>array(122,-61,936,842),48207=>array(122,-71,936,842),48208=>array(122,-45,936,842),48209=>array(122,-69,936,842),48210=>array(122,-76,936,842),48211=>array(122,-44,936,842),48212=>array(122,-62,936,842),48213=>array(122,-64,936,842),48214=>array(122,-64,936,842),48215=>array(122,-64,936,842),48216=>array(122,-70,936,842),48217=>array(122,-64,936,842),48218=>array(122,-64,936,842),48219=>array(122,-76,936,842),48220=>array(122,-62,936,842),48221=>array(122,-61,936,842),48222=>array(122,-70,936,842),48223=>array(122,-74,936,842),48224=>array(118,-69,936,842),48225=>array(122,-67,936,842),48226=>array(122,-72,936,842),48227=>array(122,-71,936,842),48228=>array(122,-66,936,842),48229=>array(122,-59,936,842),48230=>array(122,-60,936,842),48231=>array(122,-69,936,842),48232=>array(122,-69,907,842),48233=>array(157,-61,907,842),48234=>array(157,-61,907,842),48235=>array(157,-71,931,842),48236=>array(157,-46,907,842),48237=>array(157,-68,912,842),48238=>array(157,-76,907,842),48239=>array(157,-44,921,842),48240=>array(157,-62,917,842),48241=>array(157,-64,907,842),48242=>array(157,-64,908,842),48243=>array(157,-64,908,842),48244=>array(157,-69,923,842),48245=>array(157,-64,908,842),48246=>array(157,-64,908,842),48247=>array(157,-76,907,842),48248=>array(157,-62,907,842),48249=>array(157,-61,907,842),48250=>array(157,-69,922,842),48251=>array(157,-74,929,842),48252=>array(143,-69,927,842),48253=>array(157,-68,911,842),48254=>array(157,-72,929,842),48255=>array(157,-70,936,842),48256=>array(157,-66,908,842),48257=>array(157,-59,916,842),48258=>array(157,-60,928,842),48259=>array(157,-68,908,842),48260=>array(127,-70,907,841),48261=>array(122,-61,907,841),48262=>array(122,-61,907,841),48263=>array(122,-71,931,841),48264=>array(122,-46,907,841),48265=>array(122,-68,912,841),48266=>array(122,-76,907,841),48267=>array(122,-44,921,841),48268=>array(122,-62,917,841),48269=>array(122,-64,907,841),48270=>array(122,-64,908,841),48271=>array(122,-64,908,841),48272=>array(122,-69,923,841),48273=>array(122,-64,908,841),48274=>array(122,-64,908,841),48275=>array(122,-76,906,841),48276=>array(122,-62,907,841),48277=>array(122,-61,907,841),48278=>array(122,-69,922,841),48279=>array(122,-74,929,841),48280=>array(122,-69,927,841),48281=>array(122,-68,911,841),48282=>array(122,-72,929,841),48283=>array(122,-70,936,841),48284=>array(122,-66,908,841),48285=>array(122,-59,916,841),48286=>array(122,-60,928,841),48287=>array(122,-68,908,841),48288=>array(122,-68,907,843),48289=>array(127,-61,907,843),48290=>array(127,-61,907,843),48291=>array(127,-71,931,843),48292=>array(127,-46,907,843),48293=>array(127,-68,912,843),48294=>array(127,-76,907,843),48295=>array(127,-44,921,843),48296=>array(127,-62,917,843),48297=>array(127,-64,907,843),48298=>array(127,-64,908,843),48299=>array(127,-64,908,843),48300=>array(127,-69,923,843),48301=>array(127,-64,908,843),48302=>array(127,-64,908,843),48303=>array(127,-76,907,843),48304=>array(127,-62,907,843),48305=>array(127,-61,907,843),48306=>array(127,-69,922,843),48307=>array(127,-74,929,843),48308=>array(127,-69,927,843),48309=>array(127,-68,911,843),48310=>array(127,-72,929,843),48311=>array(127,-70,936,843),48312=>array(127,-66,908,843),48313=>array(127,-59,916,843),48314=>array(127,-60,928,843),48315=>array(127,-68,908,843),48316=>array(127,-70,907,842),48317=>array(122,-61,908,842),48318=>array(122,-61,908,842),48319=>array(122,-71,931,842),48320=>array(122,-46,907,842),48321=>array(122,-68,912,842),48322=>array(122,-76,908,842),48323=>array(122,-44,921,842),48324=>array(122,-62,917,842),48325=>array(122,-64,908,842),48326=>array(122,-64,908,842),48327=>array(122,-64,908,842),48328=>array(122,-69,923,842),48329=>array(122,-64,908,842),48330=>array(122,-64,908,842),48331=>array(122,-76,908,842),48332=>array(122,-62,908,842),48333=>array(122,-61,908,842),48334=>array(122,-69,922,842),48335=>array(122,-74,929,842),48336=>array(122,-69,927,842),48337=>array(122,-68,911,842),48338=>array(122,-72,929,842),48339=>array(122,-70,936,842),48340=>array(122,-66,908,842),48341=>array(122,-59,916,842),48342=>array(122,-60,928,842),48343=>array(122,-68,908,842),48344=>array(122,-68,907,843),48345=>array(127,-61,907,843),48346=>array(127,-61,907,843),48347=>array(127,-71,931,843),48348=>array(127,-46,907,843),48349=>array(127,-68,912,843),48350=>array(127,-76,907,843),48351=>array(127,-44,921,843),48352=>array(127,-62,917,843),48353=>array(127,-64,907,843),48354=>array(127,-64,908,843),48355=>array(127,-64,908,843),48356=>array(127,-69,923,843),48357=>array(127,-64,908,843),48358=>array(127,-64,908,843),48359=>array(127,-76,907,843),48360=>array(127,-62,907,843),48361=>array(127,-61,907,843),48362=>array(127,-69,922,843),48363=>array(127,-74,929,843),48364=>array(127,-69,927,843),48365=>array(127,-68,911,843),48366=>array(127,-72,929,843),48367=>array(127,-70,936,843),48368=>array(127,-66,908,843),48369=>array(127,-59,916,843),48370=>array(127,-60,928,843),48371=>array(127,-68,908,843),48372=>array(62,7,943,795),48373=>array(79,-61,921,815),48374=>array(79,-61,921,815),48375=>array(79,-71,921,815),48376=>array(79,-46,921,815),48377=>array(79,-68,921,815),48378=>array(79,-74,921,815),48379=>array(79,-44,921,815),48380=>array(79,-62,921,815),48381=>array(79,-64,921,815),48382=>array(79,-64,921,815),48383=>array(79,-63,921,815),48384=>array(79,-68,921,815),48385=>array(79,-64,921,815),48386=>array(79,-63,921,815),48387=>array(79,-74,921,815),48388=>array(79,-62,921,815),48389=>array(79,-61,921,815),48390=>array(79,-69,921,815),48391=>array(79,-74,921,815),48392=>array(79,-69,921,815),48393=>array(79,-68,921,815),48394=>array(79,-72,921,815),48395=>array(79,-70,921,815),48396=>array(79,-66,921,815),48397=>array(79,-59,921,815),48398=>array(79,-60,921,815),48399=>array(79,-68,921,815),48400=>array(52,-69,936,842),48401=>array(77,-59,936,843),48402=>array(77,-61,936,843),48403=>array(77,-71,936,843),48404=>array(66,-45,936,842),48405=>array(77,-69,936,843),48406=>array(77,-76,936,843),48407=>array(77,-44,936,843),48408=>array(77,-62,936,843),48409=>array(77,-64,936,843),48410=>array(77,-64,936,843),48411=>array(77,-64,936,843),48412=>array(77,-70,936,843),48413=>array(77,-64,936,843),48414=>array(77,-64,936,843),48415=>array(77,-76,936,843),48416=>array(77,-62,936,843),48417=>array(77,-61,936,843),48418=>array(77,-70,936,843),48419=>array(77,-74,936,843),48420=>array(77,-69,936,843),48421=>array(77,-67,936,843),48422=>array(77,-72,936,843),48423=>array(77,-71,936,843),48424=>array(77,-66,936,843),48425=>array(77,-59,936,843),48426=>array(77,-60,936,843),48427=>array(77,-69,936,843),48428=>array(61,-68,907,843),48429=>array(79,-61,907,843),48430=>array(79,-61,907,843),48431=>array(79,-71,931,843),48432=>array(72,-46,907,842),48433=>array(79,-68,912,843),48434=>array(79,-76,907,843),48435=>array(79,-44,921,843),48436=>array(79,-62,917,843),48437=>array(79,-64,907,843),48438=>array(79,-64,908,843),48439=>array(79,-64,908,843),48440=>array(79,-69,923,843),48441=>array(79,-64,908,843),48442=>array(79,-64,908,843),48443=>array(79,-76,907,843),48444=>array(79,-62,907,843),48445=>array(79,-61,907,843),48446=>array(79,-69,922,843),48447=>array(79,-74,929,843),48448=>array(79,-69,927,843),48449=>array(79,-68,911,843),48450=>array(79,-72,929,843),48451=>array(79,-70,936,843),48452=>array(79,-66,908,843),48453=>array(79,-59,916,843),48454=>array(79,-60,928,843),48455=>array(79,-68,908,843),48456=>array(62,-69,907,842),48457=>array(65,-61,907,842),48458=>array(65,-61,907,842),48459=>array(65,-71,931,842),48460=>array(64,-46,907,842),48461=>array(65,-68,912,842),48462=>array(65,-76,907,842),48463=>array(65,-44,921,842),48464=>array(65,-62,917,842),48465=>array(65,-64,907,842),48466=>array(65,-64,908,842),48467=>array(65,-64,908,842),48468=>array(65,-69,923,842),48469=>array(65,-64,908,842),48470=>array(65,-64,908,842),48471=>array(65,-76,907,842),48472=>array(65,-62,907,842),48473=>array(65,-61,907,842),48474=>array(65,-69,922,842),48475=>array(65,-74,929,842),48476=>array(65,-69,927,842),48477=>array(65,-68,911,842),48478=>array(65,-72,929,842),48479=>array(65,-70,936,842),48480=>array(65,-66,908,842),48481=>array(65,-59,916,842),48482=>array(65,-60,928,842),48483=>array(65,-68,908,842),48484=>array(62,7,943,805),48485=>array(79,-61,922,815),48486=>array(79,-61,922,815),48487=>array(79,-71,922,815),48488=>array(79,-46,922,815),48489=>array(79,-68,922,815),48490=>array(79,-74,922,815),48491=>array(79,-44,922,815),48492=>array(79,-62,922,815),48493=>array(79,-64,922,815),48494=>array(79,-64,922,815),48495=>array(79,-63,922,815),48496=>array(79,-68,922,815),48497=>array(79,-64,922,815),48498=>array(79,-63,922,815),48499=>array(79,-74,922,815),48500=>array(79,-62,922,815),48501=>array(79,-61,922,815),48502=>array(79,-69,922,815),48503=>array(79,-74,922,815),48504=>array(79,-69,922,815),48505=>array(79,-68,922,815),48506=>array(79,-72,922,815),48507=>array(79,-70,922,815),48508=>array(79,-66,922,815),48509=>array(79,-59,922,815),48510=>array(79,-60,922,815),48511=>array(79,-68,922,815),48512=>array(79,-64,921,815),48513=>array(79,-61,921,815),48514=>array(79,-61,921,815),48515=>array(79,-71,921,815),48516=>array(79,-46,921,815),48517=>array(79,-68,921,815),48518=>array(79,-74,921,815),48519=>array(79,-44,921,815),48520=>array(79,-62,921,815),48521=>array(79,-64,921,815),48522=>array(79,-64,921,815),48523=>array(79,-63,921,815),48524=>array(79,-68,921,815),48525=>array(79,-64,921,815),48526=>array(79,-63,921,815),48527=>array(79,-74,921,815),48528=>array(79,-62,921,815),48529=>array(79,-61,921,815),48530=>array(79,-69,921,815),48531=>array(79,-74,921,815),48532=>array(79,-69,921,815),48533=>array(79,-68,921,815),48534=>array(79,-72,921,815),48535=>array(79,-70,921,815),48536=>array(79,-66,921,815),48537=>array(79,-59,921,815),48538=>array(79,-60,921,815),48539=>array(79,-68,921,815),48540=>array(69,-70,907,841),48541=>array(75,-61,907,841),48542=>array(75,-61,907,841),48543=>array(75,-71,931,841),48544=>array(76,-46,907,841),48545=>array(75,-68,912,841),48546=>array(75,-76,907,841),48547=>array(75,-44,921,841),48548=>array(75,-62,917,841),48549=>array(75,-64,907,841),48550=>array(75,-64,908,841),48551=>array(75,-64,908,841),48552=>array(75,-69,923,841),48553=>array(75,-64,908,841),48554=>array(75,-64,908,841),48555=>array(75,-76,906,841),48556=>array(75,-62,907,841),48557=>array(75,-61,907,841),48558=>array(75,-69,922,841),48559=>array(75,-74,929,841),48560=>array(75,-69,927,841),48561=>array(75,-68,911,841),48562=>array(75,-72,929,841),48563=>array(75,-70,936,841),48564=>array(75,-66,908,841),48565=>array(75,-59,916,841),48566=>array(75,-60,928,841),48567=>array(75,-68,908,841),48568=>array(63,-68,907,843),48569=>array(72,-61,907,843),48570=>array(72,-61,907,843),48571=>array(72,-71,931,843),48572=>array(76,-46,907,843),48573=>array(72,-68,912,843),48574=>array(72,-76,907,843),48575=>array(72,-44,921,843),48576=>array(72,-62,917,843),48577=>array(72,-64,907,843),48578=>array(72,-64,908,843),48579=>array(72,-64,908,843),48580=>array(72,-69,923,843),48581=>array(72,-64,908,843),48582=>array(72,-64,908,843),48583=>array(72,-76,907,843),48584=>array(72,-62,907,843),48585=>array(72,-61,907,843),48586=>array(72,-69,922,843),48587=>array(72,-74,929,843),48588=>array(72,-69,927,843),48589=>array(72,-68,911,843),48590=>array(72,-72,929,843),48591=>array(72,-70,936,843),48592=>array(72,-66,908,843),48593=>array(72,-59,916,843),48594=>array(72,-60,928,843),48595=>array(72,-68,908,843),48596=>array(70,-69,907,842),48597=>array(65,-61,907,841),48598=>array(65,-61,907,841),48599=>array(65,-71,931,841),48600=>array(65,-46,907,841),48601=>array(65,-68,912,841),48602=>array(65,-76,907,841),48603=>array(65,-44,921,841),48604=>array(65,-62,917,841),48605=>array(65,-64,907,841),48606=>array(65,-64,908,841),48607=>array(65,-64,908,841),48608=>array(65,-69,923,841),48609=>array(65,-64,908,841),48610=>array(65,-64,908,841),48611=>array(65,-76,907,841),48612=>array(65,-62,907,841),48613=>array(65,-61,907,841),48614=>array(65,-69,922,841),48615=>array(65,-74,929,841),48616=>array(65,-69,927,841),48617=>array(65,-68,911,841),48618=>array(65,-72,929,841),48619=>array(65,-70,936,841),48620=>array(65,-66,908,841),48621=>array(65,-59,916,841),48622=>array(65,-60,928,841),48623=>array(65,-68,908,841),48624=>array(71,-64,928,815),48625=>array(79,-61,921,815),48626=>array(79,-61,921,815),48627=>array(79,-71,921,815),48628=>array(79,-46,921,815),48629=>array(79,-68,921,815),48630=>array(79,-74,921,815),48631=>array(79,-44,921,815),48632=>array(79,-62,921,815),48633=>array(79,-64,921,815),48634=>array(79,-64,921,815),48635=>array(79,-63,921,815),48636=>array(79,-68,921,815),48637=>array(79,-64,921,815),48638=>array(79,-63,921,815),48639=>array(79,-74,921,815),48640=>array(79,-62,921,815),48641=>array(79,-61,921,815),48642=>array(79,-69,921,815),48643=>array(79,-74,921,815),48644=>array(79,-69,921,815),48645=>array(79,-68,921,815),48646=>array(79,-72,921,815),48647=>array(79,-70,921,815),48648=>array(79,-66,921,815),48649=>array(79,-59,921,815),48650=>array(79,-60,921,815),48651=>array(79,-68,921,815),48652=>array(57,42,943,750),48653=>array(79,-61,921,825),48654=>array(79,-61,921,825),48655=>array(79,-71,921,825),48656=>array(79,-46,921,825),48657=>array(79,-68,921,825),48658=>array(79,-74,921,825),48659=>array(79,-44,921,825),48660=>array(79,-62,921,825),48661=>array(79,-64,921,825),48662=>array(79,-64,921,825),48663=>array(79,-63,921,825),48664=>array(79,-68,921,825),48665=>array(79,-64,921,825),48666=>array(79,-63,921,825),48667=>array(79,-74,921,825),48668=>array(79,-62,921,825),48669=>array(79,-61,921,825),48670=>array(79,-69,921,825),48671=>array(79,-74,921,825),48672=>array(79,-69,921,825),48673=>array(79,-68,921,825),48674=>array(79,-72,921,825),48675=>array(79,-70,921,825),48676=>array(79,-66,921,825),48677=>array(79,-59,921,825),48678=>array(79,-60,921,825),48679=>array(79,-68,921,825),48680=>array(67,-69,907,842),48681=>array(65,-61,907,842),48682=>array(65,-61,907,842),48683=>array(65,-71,931,842),48684=>array(65,-46,907,841),48685=>array(65,-68,912,842),48686=>array(65,-76,907,842),48687=>array(65,-44,921,842),48688=>array(65,-62,917,842),48689=>array(65,-64,907,842),48690=>array(65,-64,908,842),48691=>array(65,-64,908,842),48692=>array(65,-69,923,842),48693=>array(65,-64,908,842),48694=>array(65,-64,908,842),48695=>array(65,-76,907,842),48696=>array(65,-62,907,842),48697=>array(65,-61,907,842),48698=>array(65,-69,922,842),48699=>array(65,-74,929,842),48700=>array(65,-69,927,842),48701=>array(65,-68,911,842),48702=>array(65,-72,929,842),48703=>array(65,-70,936,842),48704=>array(65,-66,908,842),48705=>array(65,-59,916,842),48706=>array(65,-60,928,842),48707=>array(65,-68,908,842),48708=>array(147,-69,907,842),48709=>array(157,-61,907,842),48710=>array(157,-61,907,842),48711=>array(157,-71,931,842),48712=>array(152,-46,907,842),48713=>array(157,-68,912,842),48714=>array(157,-76,907,842),48715=>array(157,-44,921,842),48716=>array(157,-62,917,842),48717=>array(157,-64,907,842),48718=>array(157,-64,908,842),48719=>array(157,-64,908,842),48720=>array(157,-69,923,842),48721=>array(157,-64,908,842),48722=>array(157,-64,908,842),48723=>array(157,-76,907,842),48724=>array(157,-62,907,842),48725=>array(157,-61,907,842),48726=>array(157,-69,922,842),48727=>array(157,-74,929,842),48728=>array(143,-69,927,842),48729=>array(157,-68,911,842),48730=>array(157,-72,929,842),48731=>array(157,-70,936,842),48732=>array(157,-66,908,842),48733=>array(157,-59,916,842),48734=>array(157,-60,928,842),48735=>array(157,-68,908,842),48736=>array(95,-69,936,842),48737=>array(105,-59,936,842),48738=>array(105,-61,936,842),48739=>array(105,-71,936,842),48740=>array(105,-45,936,842),48741=>array(105,-69,936,842),48742=>array(105,-76,936,842),48743=>array(105,-44,936,842),48744=>array(105,-62,936,842),48745=>array(105,-64,936,842),48746=>array(105,-64,936,842),48747=>array(105,-64,936,842),48748=>array(105,-70,936,842),48749=>array(105,-64,936,842),48750=>array(105,-64,936,842),48751=>array(105,-76,936,842),48752=>array(105,-62,936,842),48753=>array(105,-61,936,842),48754=>array(105,-70,936,842),48755=>array(105,-74,936,842),48756=>array(105,-69,936,842),48757=>array(105,-67,936,842),48758=>array(105,-72,936,842),48759=>array(105,-71,936,842),48760=>array(105,-66,936,842),48761=>array(105,-59,936,842),48762=>array(105,-60,936,842),48763=>array(105,-69,936,842),48764=>array(95,-69,907,842),48765=>array(105,-61,907,842),48766=>array(105,-61,907,842),48767=>array(105,-71,931,842),48768=>array(105,-46,907,842),48769=>array(105,-68,912,842),48770=>array(105,-76,907,842),48771=>array(105,-44,921,842),48772=>array(105,-62,917,842),48773=>array(105,-64,907,842),48774=>array(105,-64,908,842),48775=>array(105,-64,908,842),48776=>array(105,-69,923,842),48777=>array(105,-64,908,842),48778=>array(105,-64,908,842),48779=>array(105,-76,907,842),48780=>array(105,-62,907,842),48781=>array(105,-61,907,842),48782=>array(105,-69,922,842),48783=>array(105,-74,929,842),48784=>array(105,-69,927,842),48785=>array(105,-68,911,842),48786=>array(105,-72,929,842),48787=>array(105,-70,936,842),48788=>array(105,-66,908,842),48789=>array(105,-59,916,842),48790=>array(105,-60,928,842),48791=>array(105,-68,908,842),48792=>array(95,-68,935,843),48793=>array(105,-59,936,842),48794=>array(105,-61,936,842),48795=>array(105,-71,936,842),48796=>array(105,-45,936,842),48797=>array(105,-69,936,842),48798=>array(105,-76,936,842),48799=>array(105,-44,936,842),48800=>array(105,-62,936,842),48801=>array(105,-64,936,842),48802=>array(105,-64,936,842),48803=>array(105,-64,936,842),48804=>array(105,-70,936,842),48805=>array(105,-64,936,842),48806=>array(105,-64,936,842),48807=>array(105,-76,936,842),48808=>array(105,-62,936,842),48809=>array(105,-61,936,842),48810=>array(105,-70,936,842),48811=>array(105,-74,936,842),48812=>array(105,-69,936,842),48813=>array(105,-67,936,842),48814=>array(105,-72,936,842),48815=>array(105,-71,936,842),48816=>array(105,-66,936,842),48817=>array(105,-59,936,842),48818=>array(105,-60,936,842),48819=>array(105,-69,936,842),48820=>array(95,-69,907,842),48821=>array(105,-61,907,842),48822=>array(105,-61,907,842),48823=>array(105,-71,931,842),48824=>array(105,-46,907,842),48825=>array(105,-68,912,842),48826=>array(105,-76,907,842),48827=>array(105,-44,921,842),48828=>array(105,-62,917,842),48829=>array(105,-64,907,842),48830=>array(105,-64,908,842),48831=>array(105,-64,908,842),48832=>array(105,-69,923,842),48833=>array(105,-64,908,842),48834=>array(105,-64,908,842),48835=>array(105,-76,907,842),48836=>array(105,-62,907,842),48837=>array(105,-61,907,842),48838=>array(105,-69,922,842),48839=>array(105,-74,929,842),48840=>array(105,-69,927,842),48841=>array(105,-68,911,842),48842=>array(105,-72,929,842),48843=>array(105,-70,936,842),48844=>array(105,-66,908,842),48845=>array(105,-59,916,842),48846=>array(105,-60,928,842),48847=>array(105,-68,908,842),48848=>array(95,-70,907,841),48849=>array(105,-61,907,841),48850=>array(105,-61,907,841),48851=>array(105,-71,931,841),48852=>array(105,-46,907,841),48853=>array(105,-68,912,841),48854=>array(105,-76,907,841),48855=>array(105,-44,921,841),48856=>array(105,-62,917,841),48857=>array(105,-64,907,841),48858=>array(105,-64,908,841),48859=>array(105,-64,908,841),48860=>array(105,-69,923,841),48861=>array(105,-64,908,841),48862=>array(105,-64,908,841),48863=>array(105,-76,906,841),48864=>array(105,-62,907,841),48865=>array(105,-61,907,841),48866=>array(105,-69,922,841),48867=>array(105,-74,929,841),48868=>array(105,-69,927,841),48869=>array(105,-68,911,841),48870=>array(105,-72,929,841),48871=>array(105,-70,936,841),48872=>array(105,-66,908,841),48873=>array(105,-59,916,841),48874=>array(105,-60,928,841),48875=>array(105,-68,908,841),48876=>array(90,-68,907,843),48877=>array(90,-61,907,843),48878=>array(90,-61,907,843),48879=>array(90,-71,931,843),48880=>array(90,-46,907,843),48881=>array(90,-68,912,843),48882=>array(90,-76,907,843),48883=>array(90,-44,921,843),48884=>array(90,-62,917,843),48885=>array(90,-64,907,843),48886=>array(90,-64,908,843),48887=>array(90,-64,908,843),48888=>array(90,-69,923,843),48889=>array(90,-64,908,843),48890=>array(90,-64,908,843),48891=>array(90,-76,907,843),48892=>array(90,-62,907,843),48893=>array(90,-61,907,843),48894=>array(90,-69,922,843),48895=>array(90,-74,929,843),48896=>array(90,-69,927,843),48897=>array(90,-68,911,843),48898=>array(90,-72,929,843),48899=>array(90,-70,936,843),48900=>array(90,-66,908,843),48901=>array(90,-59,916,843),48902=>array(90,-60,928,843),48903=>array(90,-68,908,843),48904=>array(95,-70,907,842),48905=>array(105,-61,908,842),48906=>array(105,-61,908,842),48907=>array(105,-71,931,842),48908=>array(105,-46,907,842),48909=>array(105,-68,912,842),48910=>array(105,-76,908,842),48911=>array(105,-44,921,842),48912=>array(105,-62,917,842),48913=>array(105,-64,908,842),48914=>array(105,-64,908,842),48915=>array(105,-64,908,842),48916=>array(105,-69,923,842),48917=>array(105,-64,908,842),48918=>array(105,-64,908,842),48919=>array(105,-76,908,842),48920=>array(105,-62,908,842),48921=>array(105,-61,908,842),48922=>array(105,-69,922,842),48923=>array(105,-74,929,842),48924=>array(105,-69,927,842),48925=>array(105,-68,911,842),48926=>array(105,-72,929,842),48927=>array(105,-70,936,842),48928=>array(105,-66,908,842),48929=>array(105,-59,916,842),48930=>array(105,-60,928,842),48931=>array(105,-68,908,842),48932=>array(90,-68,907,843),48933=>array(90,-61,907,843),48934=>array(90,-61,907,843),48935=>array(90,-71,931,843),48936=>array(90,-46,907,843),48937=>array(90,-68,912,843),48938=>array(90,-76,907,843),48939=>array(90,-44,921,843),48940=>array(90,-62,917,843),48941=>array(90,-64,907,843),48942=>array(90,-64,908,843),48943=>array(90,-64,908,843),48944=>array(90,-69,923,843),48945=>array(90,-64,908,843),48946=>array(90,-64,908,843),48947=>array(90,-76,907,843),48948=>array(90,-62,907,843),48949=>array(90,-61,907,843),48950=>array(90,-69,922,843),48951=>array(90,-74,929,843),48952=>array(90,-69,927,843),48953=>array(90,-68,911,843),48954=>array(90,-72,929,843),48955=>array(90,-70,936,843),48956=>array(90,-66,908,843),48957=>array(90,-59,916,843),48958=>array(90,-60,928,843),48959=>array(90,-68,908,843),48960=>array(60,12,940,766),48961=>array(79,-61,921,806),48962=>array(79,-61,921,806),48963=>array(79,-71,921,806),48964=>array(79,-46,921,806),48965=>array(79,-68,921,806),48966=>array(79,-74,921,806),48967=>array(79,-44,921,806),48968=>array(79,-62,921,806),48969=>array(79,-64,921,806),48970=>array(79,-64,921,806),48971=>array(79,-63,921,806),48972=>array(79,-68,921,806),48973=>array(79,-64,921,806),48974=>array(79,-63,921,806),48975=>array(79,-74,921,806),48976=>array(79,-62,921,806),48977=>array(79,-61,921,806),48978=>array(79,-69,921,806),48979=>array(79,-74,921,806),48980=>array(79,-69,921,806),48981=>array(79,-68,921,806),48982=>array(79,-72,921,806),48983=>array(79,-70,921,806),48984=>array(79,-66,921,806),48985=>array(79,-59,921,806),48986=>array(79,-60,921,806),48987=>array(79,-68,921,806),48988=>array(51,-69,936,842),48989=>array(69,-59,937,843),48990=>array(69,-61,937,843),48991=>array(69,-71,937,843),48992=>array(57,-45,937,842),48993=>array(69,-69,937,843),48994=>array(69,-76,937,843),48995=>array(69,-44,937,843),48996=>array(69,-62,937,843),48997=>array(69,-64,937,843),48998=>array(69,-64,937,843),48999=>array(69,-64,937,843),49000=>array(69,-70,937,843),49001=>array(69,-64,937,843),49002=>array(69,-64,937,843),49003=>array(69,-76,937,843),49004=>array(69,-62,937,843),49005=>array(69,-61,937,843),49006=>array(69,-70,937,843),49007=>array(69,-74,937,843),49008=>array(69,-69,937,843),49009=>array(69,-67,937,843),49010=>array(69,-72,937,843),49011=>array(69,-71,937,843),49012=>array(69,-66,937,843),49013=>array(69,-59,937,843),49014=>array(69,-60,937,843),49015=>array(69,-69,937,843),49016=>array(57,-69,907,842),49017=>array(69,-61,908,842),49018=>array(69,-61,908,842),49019=>array(69,-71,931,842),49020=>array(57,-46,908,842),49021=>array(69,-68,912,842),49022=>array(69,-76,908,842),49023=>array(69,-44,921,842),49024=>array(69,-62,917,842),49025=>array(69,-64,908,842),49026=>array(69,-64,908,842),49027=>array(69,-64,908,842),49028=>array(69,-69,923,842),49029=>array(69,-64,908,842),49030=>array(69,-64,908,842),49031=>array(69,-76,908,842),49032=>array(69,-62,908,842),49033=>array(69,-61,908,842),49034=>array(69,-69,922,842),49035=>array(69,-74,929,842),49036=>array(69,-69,927,842),49037=>array(69,-68,911,842),49038=>array(69,-72,929,842),49039=>array(69,-70,936,842),49040=>array(69,-66,908,842),49041=>array(69,-59,916,842),49042=>array(69,-60,928,842),49043=>array(69,-68,908,842),49044=>array(58,-69,907,842),49045=>array(64,-61,907,841),49046=>array(64,-61,907,841),49047=>array(64,-71,931,841),49048=>array(64,-46,907,842),49049=>array(64,-68,912,841),49050=>array(64,-76,907,841),49051=>array(64,-44,921,841),49052=>array(64,-62,917,841),49053=>array(64,-64,907,841),49054=>array(64,-64,908,841),49055=>array(64,-64,908,841),49056=>array(64,-69,923,841),49057=>array(64,-64,908,841),49058=>array(64,-64,908,841),49059=>array(64,-76,907,841),49060=>array(64,-62,907,841),49061=>array(64,-61,907,841),49062=>array(64,-69,922,841),49063=>array(64,-74,929,841),49064=>array(64,-69,927,841),49065=>array(64,-68,911,841),49066=>array(64,-72,929,841),49067=>array(64,-70,936,841),49068=>array(64,-66,908,841),49069=>array(64,-59,916,841),49070=>array(64,-60,928,841),49071=>array(64,-68,908,841),49072=>array(60,-13,940,803),49073=>array(79,-61,921,806),49074=>array(79,-61,921,806),49075=>array(79,-71,921,806),49076=>array(79,-46,921,806),49077=>array(79,-68,921,806),49078=>array(79,-74,921,806),49079=>array(79,-44,921,806),49080=>array(79,-62,921,806),49081=>array(79,-64,921,806),49082=>array(79,-64,921,806),49083=>array(79,-63,921,806),49084=>array(79,-68,921,806),49085=>array(79,-64,921,806),49086=>array(79,-63,921,806),49087=>array(79,-74,921,806),49088=>array(79,-62,921,806),49089=>array(79,-61,921,806),49090=>array(79,-69,921,806),49091=>array(79,-74,921,806),49092=>array(79,-69,921,806),49093=>array(79,-68,921,806),49094=>array(79,-72,921,806),49095=>array(79,-70,921,806),49096=>array(79,-66,921,806),49097=>array(79,-59,921,806),49098=>array(79,-60,921,806),49099=>array(79,-68,921,806),49100=>array(79,-64,921,806),49101=>array(79,-61,921,806),49102=>array(79,-61,921,806),49103=>array(79,-71,921,806),49104=>array(79,-46,921,806),49105=>array(79,-68,921,806),49106=>array(79,-74,921,806),49107=>array(79,-44,921,806),49108=>array(79,-62,921,806),49109=>array(79,-64,921,806),49110=>array(79,-64,921,806),49111=>array(79,-63,921,806),49112=>array(79,-68,921,806),49113=>array(79,-64,921,806),49114=>array(79,-63,921,806),49115=>array(79,-74,921,806),49116=>array(79,-62,921,806),49117=>array(79,-61,921,806),49118=>array(79,-69,921,806),49119=>array(79,-74,921,806),49120=>array(79,-69,921,806),49121=>array(79,-68,921,806),49122=>array(79,-72,921,806),49123=>array(79,-70,921,806),49124=>array(79,-66,921,806),49125=>array(79,-59,921,806),49126=>array(79,-60,921,806),49127=>array(79,-68,921,806),49128=>array(72,-70,907,841),49129=>array(67,-61,907,841),49130=>array(67,-61,907,841),49131=>array(67,-71,931,841),49132=>array(65,-46,907,841),49133=>array(67,-68,912,841),49134=>array(67,-76,907,841),49135=>array(67,-44,921,841),49136=>array(67,-62,917,841),49137=>array(67,-64,907,841),49138=>array(67,-64,908,841),49139=>array(67,-64,908,841),49140=>array(67,-69,923,841),49141=>array(67,-64,908,841),49142=>array(67,-64,908,841),49143=>array(67,-76,906,841),49144=>array(67,-62,907,841),49145=>array(67,-61,907,841),49146=>array(67,-69,922,841),49147=>array(67,-74,929,841),49148=>array(67,-69,927,841),49149=>array(67,-68,911,841),49150=>array(67,-72,929,841),49151=>array(67,-70,936,841),49152=>array(67,-66,908,841),49153=>array(67,-59,916,841),49154=>array(67,-60,928,841),49155=>array(67,-68,908,841),49156=>array(51,-68,907,843),49157=>array(67,-61,907,843),49158=>array(67,-61,907,843),49159=>array(67,-71,931,843),49160=>array(68,-46,907,842),49161=>array(67,-68,912,843),49162=>array(67,-76,907,843),49163=>array(67,-44,921,843),49164=>array(67,-62,917,843),49165=>array(67,-64,907,843),49166=>array(67,-64,908,843),49167=>array(67,-64,908,843),49168=>array(67,-69,923,843),49169=>array(67,-64,908,843),49170=>array(67,-64,908,843),49171=>array(67,-76,907,843),49172=>array(67,-62,907,843),49173=>array(67,-61,907,843),49174=>array(67,-69,922,843),49175=>array(67,-74,929,843),49176=>array(67,-69,927,843),49177=>array(67,-68,911,843),49178=>array(67,-72,929,843),49179=>array(67,-70,936,843),49180=>array(67,-66,908,843),49181=>array(67,-59,916,843),49182=>array(67,-60,928,843),49183=>array(67,-68,908,843),49184=>array(64,-69,907,842),49185=>array(65,-61,907,843),49186=>array(65,-61,907,843),49187=>array(65,-71,931,843),49188=>array(66,-46,907,842),49189=>array(65,-68,912,843),49190=>array(65,-76,907,843),49191=>array(65,-44,921,843),49192=>array(65,-62,917,843),49193=>array(65,-64,907,843),49194=>array(65,-64,908,843),49195=>array(65,-64,908,843),49196=>array(65,-69,923,843),49197=>array(65,-64,908,843),49198=>array(65,-64,908,843),49199=>array(65,-76,907,843),49200=>array(65,-62,907,843),49201=>array(65,-61,907,843),49202=>array(65,-69,922,843),49203=>array(65,-74,929,843),49204=>array(65,-69,927,843),49205=>array(65,-68,911,843),49206=>array(65,-72,929,843),49207=>array(65,-70,936,843),49208=>array(65,-66,908,843),49209=>array(65,-59,916,843),49210=>array(65,-60,928,843),49211=>array(65,-68,908,843),49212=>array(79,-64,921,806),49213=>array(79,-61,921,806),49214=>array(79,-61,921,806),49215=>array(79,-71,921,806),49216=>array(81,-46,922,806),49217=>array(79,-68,921,806),49218=>array(79,-74,921,806),49219=>array(79,-44,921,806),49220=>array(79,-62,921,806),49221=>array(79,-64,921,806),49222=>array(79,-64,921,806),49223=>array(79,-63,921,806),49224=>array(79,-68,921,806),49225=>array(79,-64,921,806),49226=>array(79,-63,921,806),49227=>array(79,-74,921,806),49228=>array(79,-62,921,806),49229=>array(79,-61,921,806),49230=>array(79,-69,921,806),49231=>array(79,-74,921,806),49232=>array(79,-69,921,806),49233=>array(79,-68,921,806),49234=>array(79,-72,921,806),49235=>array(79,-70,921,806),49236=>array(79,-66,921,806),49237=>array(79,-59,921,806),49238=>array(79,-60,921,806),49239=>array(79,-68,921,806),49240=>array(57,22,943,746),49241=>array(79,-61,922,811),49242=>array(79,-61,922,811),49243=>array(79,-71,922,811),49244=>array(79,-46,921,806),49245=>array(79,-68,922,811),49246=>array(79,-74,922,811),49247=>array(79,-44,922,811),49248=>array(79,-62,922,811),49249=>array(79,-64,922,811),49250=>array(79,-64,922,811),49251=>array(79,-63,922,811),49252=>array(79,-68,922,811),49253=>array(79,-64,922,811),49254=>array(79,-63,922,811),49255=>array(79,-74,922,811),49256=>array(79,-62,922,811),49257=>array(79,-61,922,811),49258=>array(79,-69,922,811),49259=>array(79,-74,922,811),49260=>array(79,-69,922,811),49261=>array(79,-68,922,811),49262=>array(79,-72,922,811),49263=>array(79,-70,922,811),49264=>array(79,-66,922,811),49265=>array(79,-59,922,811),49266=>array(79,-60,922,811),49267=>array(79,-68,922,811),49268=>array(68,-69,907,842),49269=>array(74,-61,907,841),49270=>array(74,-61,907,841),49271=>array(74,-71,931,841),49272=>array(65,-46,907,842),49273=>array(74,-68,912,841),49274=>array(74,-76,907,841),49275=>array(74,-44,921,841),49276=>array(74,-62,917,841),49277=>array(74,-64,907,841),49278=>array(74,-64,908,841),49279=>array(74,-64,908,841),49280=>array(74,-69,923,841),49281=>array(74,-64,908,841),49282=>array(74,-64,908,841),49283=>array(74,-76,907,841),49284=>array(74,-62,907,841),49285=>array(74,-61,907,841),49286=>array(74,-69,922,841),49287=>array(74,-74,929,841),49288=>array(74,-69,927,841),49289=>array(74,-68,911,841),49290=>array(74,-72,929,841),49291=>array(74,-70,936,841),49292=>array(74,-66,908,841),49293=>array(74,-59,916,841),49294=>array(74,-60,928,841),49295=>array(74,-68,908,841),49296=>array(110,-69,907,842),49297=>array(120,-61,907,842),49298=>array(120,-61,907,842),49299=>array(120,-71,931,842),49300=>array(130,-46,907,842),49301=>array(120,-68,912,842),49302=>array(120,-76,907,842),49303=>array(120,-44,921,842),49304=>array(120,-62,917,842),49305=>array(120,-64,907,842),49306=>array(120,-64,908,842),49307=>array(120,-64,908,842),49308=>array(120,-69,923,842),49309=>array(120,-64,908,842),49310=>array(120,-64,908,842),49311=>array(120,-76,907,842),49312=>array(120,-62,907,842),49313=>array(120,-61,907,842),49314=>array(120,-69,922,842),49315=>array(120,-74,929,842),49316=>array(120,-69,927,842),49317=>array(120,-68,911,842),49318=>array(120,-72,929,842),49319=>array(120,-70,936,842),49320=>array(120,-66,908,842),49321=>array(120,-59,916,842),49322=>array(120,-60,928,842),49323=>array(120,-68,908,842),49324=>array(48,-69,936,842),49325=>array(81,-59,935,842),49326=>array(81,-61,935,842),49327=>array(81,-71,935,842),49328=>array(58,-45,935,841),49329=>array(81,-69,935,842),49330=>array(81,-76,935,842),49331=>array(81,-44,935,842),49332=>array(81,-62,935,842),49333=>array(81,-64,935,842),49334=>array(81,-64,935,842),49335=>array(81,-64,935,842),49336=>array(81,-70,935,842),49337=>array(81,-64,935,842),49338=>array(81,-64,935,842),49339=>array(81,-76,935,842),49340=>array(81,-62,935,842),49341=>array(81,-61,935,842),49342=>array(81,-70,935,842),49343=>array(81,-74,935,842),49344=>array(81,-69,935,842),49345=>array(81,-67,935,842),49346=>array(81,-72,935,842),49347=>array(81,-71,935,842),49348=>array(81,-66,935,842),49349=>array(81,-59,935,842),49350=>array(81,-60,935,842),49351=>array(81,-69,935,842),49352=>array(43,-69,907,842),49353=>array(75,-61,907,842),49354=>array(75,-61,907,842),49355=>array(75,-71,931,842),49356=>array(62,-46,908,842),49357=>array(75,-68,912,842),49358=>array(75,-76,907,842),49359=>array(75,-44,921,842),49360=>array(75,-62,917,842),49361=>array(75,-64,907,842),49362=>array(75,-64,908,842),49363=>array(75,-64,908,842),49364=>array(75,-69,923,842),49365=>array(75,-64,908,842),49366=>array(75,-64,908,842),49367=>array(75,-76,906,842),49368=>array(75,-62,907,842),49369=>array(75,-61,907,842),49370=>array(75,-69,922,842),49371=>array(75,-74,929,842),49372=>array(75,-69,927,842),49373=>array(75,-68,911,842),49374=>array(75,-72,929,842),49375=>array(75,-70,936,842),49376=>array(75,-66,908,842),49377=>array(75,-59,916,842),49378=>array(75,-60,928,842),49379=>array(75,-68,908,842),49380=>array(48,-68,935,843),49381=>array(81,-59,936,842),49382=>array(81,-61,936,842),49383=>array(81,-71,936,842),49384=>array(62,-45,936,842),49385=>array(81,-69,936,842),49386=>array(81,-76,936,842),49387=>array(81,-44,936,842),49388=>array(81,-62,936,842),49389=>array(81,-64,936,842),49390=>array(81,-64,936,842),49391=>array(81,-64,936,842),49392=>array(81,-70,936,842),49393=>array(81,-64,936,842),49394=>array(81,-64,936,842),49395=>array(81,-76,936,842),49396=>array(81,-62,936,842),49397=>array(81,-61,936,842),49398=>array(81,-70,936,842),49399=>array(81,-74,936,842),49400=>array(81,-69,936,842),49401=>array(81,-67,936,842),49402=>array(81,-72,936,842),49403=>array(81,-71,936,842),49404=>array(81,-66,936,842),49405=>array(81,-59,936,842),49406=>array(81,-60,936,842),49407=>array(81,-69,936,842),49408=>array(43,-69,907,842),49409=>array(75,-61,907,842),49410=>array(75,-61,907,842),49411=>array(75,-71,931,842),49412=>array(62,-46,908,842),49413=>array(75,-68,912,842),49414=>array(75,-76,907,842),49415=>array(75,-44,921,842),49416=>array(75,-62,917,842),49417=>array(75,-64,907,842),49418=>array(75,-64,908,842),49419=>array(75,-64,908,842),49420=>array(75,-69,923,842),49421=>array(75,-64,908,842),49422=>array(75,-64,908,842),49423=>array(75,-76,906,842),49424=>array(75,-62,907,842),49425=>array(75,-61,907,842),49426=>array(75,-69,922,842),49427=>array(75,-74,929,842),49428=>array(75,-69,927,842),49429=>array(75,-68,911,842),49430=>array(75,-72,929,842),49431=>array(75,-70,936,842),49432=>array(75,-66,908,842),49433=>array(75,-59,916,842),49434=>array(75,-60,928,842),49435=>array(75,-68,908,842),49436=>array(59,-70,907,841),49437=>array(81,-61,907,841),49438=>array(81,-61,907,841),49439=>array(81,-71,931,841),49440=>array(62,-46,907,841),49441=>array(81,-68,912,841),49442=>array(81,-76,907,841),49443=>array(81,-44,921,841),49444=>array(81,-62,917,841),49445=>array(81,-64,907,841),49446=>array(81,-64,908,841),49447=>array(81,-64,908,841),49448=>array(81,-69,923,841),49449=>array(81,-64,908,841),49450=>array(81,-64,908,841),49451=>array(81,-76,906,841),49452=>array(81,-62,907,841),49453=>array(81,-61,907,841),49454=>array(81,-69,922,841),49455=>array(81,-74,929,841),49456=>array(81,-69,927,841),49457=>array(81,-68,911,841),49458=>array(81,-72,929,841),49459=>array(81,-70,936,841),49460=>array(81,-66,908,841),49461=>array(81,-59,916,841),49462=>array(81,-60,928,841),49463=>array(81,-68,908,841),49464=>array(46,-68,907,843),49465=>array(75,-61,907,843),49466=>array(75,-61,907,843),49467=>array(75,-71,931,843),49468=>array(58,-46,908,842),49469=>array(75,-68,912,843),49470=>array(75,-76,907,843),49471=>array(75,-44,921,843),49472=>array(75,-62,917,843),49473=>array(75,-64,907,843),49474=>array(75,-64,908,843),49475=>array(75,-64,908,843),49476=>array(75,-69,923,843),49477=>array(75,-64,908,843),49478=>array(75,-64,908,843),49479=>array(75,-76,906,843),49480=>array(75,-62,907,843),49481=>array(75,-61,907,843),49482=>array(75,-69,922,843),49483=>array(75,-74,929,843),49484=>array(75,-69,927,843),49485=>array(75,-68,911,843),49486=>array(75,-72,929,843),49487=>array(75,-70,936,843),49488=>array(75,-66,908,843),49489=>array(75,-59,916,843),49490=>array(75,-60,928,843),49491=>array(75,-68,908,843),49492=>array(46,-70,907,842),49493=>array(81,-61,908,842),49494=>array(81,-61,908,842),49495=>array(81,-71,931,842),49496=>array(58,-46,907,841),49497=>array(81,-68,912,842),49498=>array(81,-76,908,842),49499=>array(81,-44,921,842),49500=>array(81,-62,917,842),49501=>array(81,-64,908,842),49502=>array(81,-64,908,842),49503=>array(81,-64,908,842),49504=>array(81,-69,923,842),49505=>array(81,-64,908,842),49506=>array(81,-64,908,842),49507=>array(81,-76,908,842),49508=>array(81,-62,908,842),49509=>array(81,-61,908,842),49510=>array(81,-69,922,842),49511=>array(81,-74,929,842),49512=>array(81,-69,927,842),49513=>array(81,-68,911,842),49514=>array(81,-72,929,842),49515=>array(81,-70,936,842),49516=>array(81,-66,908,842),49517=>array(81,-59,916,842),49518=>array(81,-60,928,842),49519=>array(81,-68,908,842),49520=>array(46,-68,907,843),49521=>array(45,-61,907,842),49522=>array(45,-61,907,842),49523=>array(45,-71,931,842),49524=>array(47,-46,907,842),49525=>array(45,-68,912,842),49526=>array(45,-76,907,842),49527=>array(45,-44,921,842),49528=>array(45,-62,917,842),49529=>array(45,-64,907,842),49530=>array(45,-64,908,842),49531=>array(45,-64,908,842),49532=>array(45,-69,923,842),49533=>array(45,-64,908,842),49534=>array(45,-64,908,842),49535=>array(45,-76,907,842),49536=>array(45,-62,907,842),49537=>array(45,-61,907,842),49538=>array(45,-69,922,842),49539=>array(45,-74,929,842),49540=>array(45,-69,927,842),49541=>array(45,-68,911,842),49542=>array(45,-72,929,842),49543=>array(45,-70,936,842),49544=>array(45,-66,908,842),49545=>array(45,-59,916,842),49546=>array(45,-60,928,842),49547=>array(45,-68,908,842),49548=>array(62,7,943,771),49549=>array(79,-61,921,822),49550=>array(79,-61,921,822),49551=>array(79,-71,921,822),49552=>array(79,-46,921,822),49553=>array(79,-68,921,822),49554=>array(79,-74,921,822),49555=>array(79,-44,921,822),49556=>array(79,-62,921,822),49557=>array(79,-64,921,822),49558=>array(79,-64,921,822),49559=>array(79,-63,921,822),49560=>array(79,-68,921,822),49561=>array(79,-64,921,822),49562=>array(79,-63,921,822),49563=>array(79,-74,921,822),49564=>array(79,-62,921,822),49565=>array(79,-61,921,822),49566=>array(79,-69,921,822),49567=>array(79,-74,921,822),49568=>array(79,-69,921,822),49569=>array(79,-68,921,822),49570=>array(79,-72,921,822),49571=>array(79,-70,921,822),49572=>array(79,-66,921,822),49573=>array(79,-59,921,822),49574=>array(79,-60,921,822),49575=>array(79,-68,921,822),49576=>array(60,-69,937,842),49577=>array(77,-59,936,842),49578=>array(77,-61,936,842),49579=>array(77,-71,936,842),49580=>array(72,-45,937,842),49581=>array(77,-69,936,842),49582=>array(77,-76,936,842),49583=>array(77,-44,936,842),49584=>array(77,-62,936,842),49585=>array(77,-64,936,842),49586=>array(77,-64,936,842),49587=>array(77,-64,936,842),49588=>array(77,-70,936,842),49589=>array(77,-64,936,842),49590=>array(77,-64,936,842),49591=>array(77,-76,936,842),49592=>array(77,-62,936,842),49593=>array(77,-61,936,842),49594=>array(77,-70,936,842),49595=>array(77,-74,936,842),49596=>array(77,-69,936,842),49597=>array(77,-67,936,842),49598=>array(77,-72,936,842),49599=>array(77,-71,936,842),49600=>array(77,-66,936,842),49601=>array(77,-59,936,842),49602=>array(77,-60,936,842),49603=>array(77,-69,936,842),49604=>array(54,-69,907,842),49605=>array(67,-61,907,842),49606=>array(67,-61,907,842),49607=>array(67,-71,931,842),49608=>array(57,-46,908,842),49609=>array(67,-68,912,842),49610=>array(67,-76,907,842),49611=>array(67,-44,921,842),49612=>array(67,-62,917,842),49613=>array(67,-64,907,842),49614=>array(67,-64,908,842),49615=>array(67,-64,908,842),49616=>array(67,-69,923,842),49617=>array(67,-64,908,842),49618=>array(67,-64,908,842),49619=>array(67,-76,907,842),49620=>array(67,-62,907,842),49621=>array(67,-61,907,842),49622=>array(67,-69,922,842),49623=>array(67,-74,929,842),49624=>array(67,-69,927,842),49625=>array(67,-68,911,842),49626=>array(67,-72,929,842),49627=>array(67,-70,936,842),49628=>array(67,-66,908,842),49629=>array(67,-59,916,842),49630=>array(67,-60,928,842),49631=>array(67,-68,908,842),49632=>array(52,-69,907,842),49633=>array(65,-61,908,842),49634=>array(65,-61,908,842),49635=>array(65,-71,931,842),49636=>array(64,-46,907,842),49637=>array(65,-68,912,842),49638=>array(65,-76,908,842),49639=>array(65,-44,921,842),49640=>array(65,-62,917,842),49641=>array(65,-64,908,842),49642=>array(65,-64,908,842),49643=>array(65,-64,908,842),49644=>array(65,-69,923,842),49645=>array(65,-64,908,842),49646=>array(65,-64,908,842),49647=>array(65,-76,908,842),49648=>array(65,-62,908,842),49649=>array(65,-61,908,842),49650=>array(65,-69,922,842),49651=>array(65,-74,929,842),49652=>array(65,-69,927,842),49653=>array(65,-68,911,842),49654=>array(65,-72,929,842),49655=>array(65,-70,936,842),49656=>array(65,-66,908,842),49657=>array(65,-59,916,842),49658=>array(65,-60,928,842),49659=>array(65,-68,908,842),49660=>array(62,7,938,771),49661=>array(79,-61,922,822),49662=>array(79,-61,922,822),49663=>array(79,-71,922,822),49664=>array(79,-46,922,822),49665=>array(79,-68,922,822),49666=>array(79,-74,922,822),49667=>array(79,-44,922,822),49668=>array(79,-62,922,822),49669=>array(79,-64,922,822),49670=>array(79,-64,922,822),49671=>array(79,-63,922,822),49672=>array(79,-68,922,822),49673=>array(79,-64,922,822),49674=>array(79,-63,922,822),49675=>array(79,-74,922,822),49676=>array(79,-62,922,822),49677=>array(79,-61,922,822),49678=>array(79,-69,922,822),49679=>array(79,-74,922,822),49680=>array(79,-69,922,822),49681=>array(79,-68,922,822),49682=>array(79,-72,922,822),49683=>array(79,-70,922,822),49684=>array(79,-66,922,822),49685=>array(79,-59,922,822),49686=>array(79,-60,922,822),49687=>array(79,-68,922,822),49688=>array(79,-64,921,831),49689=>array(79,-61,921,822),49690=>array(79,-61,921,822),49691=>array(79,-71,921,822),49692=>array(79,-46,921,822),49693=>array(79,-68,921,822),49694=>array(79,-74,921,822),49695=>array(79,-44,921,822),49696=>array(79,-62,921,822),49697=>array(79,-64,921,822),49698=>array(79,-64,921,822),49699=>array(79,-63,921,822),49700=>array(79,-68,921,822),49701=>array(79,-64,921,822),49702=>array(79,-63,921,822),49703=>array(79,-74,921,822),49704=>array(79,-62,921,822),49705=>array(79,-61,921,822),49706=>array(79,-69,921,822),49707=>array(79,-74,921,822),49708=>array(79,-69,921,822),49709=>array(79,-68,921,822),49710=>array(79,-72,921,822),49711=>array(79,-70,921,822),49712=>array(79,-66,921,822),49713=>array(79,-59,921,822),49714=>array(79,-60,921,822),49715=>array(79,-68,921,822),49716=>array(69,-70,907,841),49717=>array(73,-61,907,841),49718=>array(73,-61,907,841),49719=>array(73,-71,931,841),49720=>array(76,-46,907,841),49721=>array(73,-68,912,841),49722=>array(73,-76,907,841),49723=>array(73,-44,921,841),49724=>array(73,-62,917,841),49725=>array(73,-64,907,841),49726=>array(73,-64,908,841),49727=>array(73,-64,908,841),49728=>array(73,-69,923,841),49729=>array(73,-64,908,841),49730=>array(73,-64,908,841),49731=>array(73,-76,906,841),49732=>array(73,-62,907,841),49733=>array(73,-61,907,841),49734=>array(73,-69,922,841),49735=>array(73,-74,929,841),49736=>array(73,-69,927,841),49737=>array(73,-68,911,841),49738=>array(73,-72,929,841),49739=>array(73,-70,936,841),49740=>array(73,-66,908,841),49741=>array(73,-59,916,841),49742=>array(73,-60,928,841),49743=>array(73,-68,908,841),49744=>array(63,-68,907,843),49745=>array(70,-61,907,843),49746=>array(70,-61,907,843),49747=>array(70,-71,931,843),49748=>array(62,-46,907,843),49749=>array(70,-68,912,843),49750=>array(70,-76,907,843),49751=>array(70,-44,921,843),49752=>array(70,-62,917,843),49753=>array(70,-64,907,843),49754=>array(70,-64,908,843),49755=>array(70,-64,908,843),49756=>array(70,-69,923,843),49757=>array(70,-64,908,843),49758=>array(70,-64,908,843),49759=>array(70,-76,907,843),49760=>array(70,-62,907,843),49761=>array(70,-61,907,843),49762=>array(70,-69,922,843),49763=>array(70,-74,929,843),49764=>array(70,-69,927,843),49765=>array(70,-68,911,843),49766=>array(70,-72,929,843),49767=>array(70,-70,936,843),49768=>array(70,-66,908,843),49769=>array(70,-59,916,843),49770=>array(70,-60,928,843),49771=>array(70,-68,908,843),49772=>array(63,-69,907,842),49773=>array(65,-61,907,840),49774=>array(65,-61,907,840),49775=>array(65,-71,931,840),49776=>array(65,-46,907,843),49777=>array(65,-68,912,840),49778=>array(65,-76,907,840),49779=>array(65,-44,921,840),49780=>array(65,-62,917,840),49781=>array(65,-64,907,840),49782=>array(65,-64,908,840),49783=>array(65,-64,908,840),49784=>array(65,-69,923,840),49785=>array(65,-64,908,840),49786=>array(65,-64,908,840),49787=>array(65,-76,907,840),49788=>array(65,-62,907,840),49789=>array(65,-61,907,840),49790=>array(65,-69,922,840),49791=>array(65,-74,929,840),49792=>array(65,-69,927,840),49793=>array(65,-68,911,840),49794=>array(65,-72,929,840),49795=>array(65,-70,936,840),49796=>array(65,-66,908,840),49797=>array(65,-59,916,840),49798=>array(65,-60,928,840),49799=>array(65,-68,908,840),49800=>array(87,-64,928,831),49801=>array(79,-61,921,822),49802=>array(79,-61,921,822),49803=>array(79,-71,921,822),49804=>array(81,-46,922,822),49805=>array(79,-68,921,822),49806=>array(79,-74,921,822),49807=>array(79,-44,921,822),49808=>array(79,-62,921,822),49809=>array(79,-64,921,822),49810=>array(79,-64,921,822),49811=>array(79,-63,921,822),49812=>array(79,-68,921,822),49813=>array(79,-64,921,822),49814=>array(79,-63,921,822),49815=>array(79,-74,921,822),49816=>array(79,-62,921,822),49817=>array(79,-61,921,822),49818=>array(79,-69,921,822),49819=>array(79,-74,921,822),49820=>array(79,-69,921,822),49821=>array(79,-68,921,822),49822=>array(79,-72,921,822),49823=>array(79,-70,921,822),49824=>array(79,-66,921,822),49825=>array(79,-59,921,822),49826=>array(79,-60,921,822),49827=>array(79,-68,921,822),49828=>array(57,52,943,741),49829=>array(79,-61,922,802),49830=>array(79,-61,922,802),49831=>array(79,-71,922,802),49832=>array(79,-46,922,802),49833=>array(79,-68,922,802),49834=>array(79,-74,922,802),49835=>array(79,-44,922,802),49836=>array(79,-62,922,802),49837=>array(79,-64,922,802),49838=>array(79,-64,922,802),49839=>array(79,-63,922,802),49840=>array(79,-68,922,802),49841=>array(79,-64,922,802),49842=>array(79,-63,922,802),49843=>array(79,-74,922,802),49844=>array(79,-62,922,802),49845=>array(79,-61,922,802),49846=>array(79,-69,922,802),49847=>array(79,-74,922,802),49848=>array(79,-69,922,802),49849=>array(79,-68,922,802),49850=>array(79,-72,922,802),49851=>array(79,-70,922,802),49852=>array(79,-66,922,802),49853=>array(79,-59,922,802),49854=>array(79,-60,922,802),49855=>array(79,-68,922,802),49856=>array(78,-69,907,842),49857=>array(65,-61,907,842),49858=>array(65,-61,907,842),49859=>array(65,-71,931,842),49860=>array(65,-46,907,842),49861=>array(65,-68,912,842),49862=>array(65,-76,907,842),49863=>array(65,-44,921,842),49864=>array(65,-62,917,842),49865=>array(65,-64,907,842),49866=>array(65,-64,908,842),49867=>array(65,-64,908,842),49868=>array(65,-69,923,842),49869=>array(65,-64,908,842),49870=>array(65,-64,908,842),49871=>array(65,-76,907,842),49872=>array(65,-62,907,842),49873=>array(65,-61,907,842),49874=>array(65,-69,922,842),49875=>array(65,-74,929,842),49876=>array(65,-69,927,842),49877=>array(65,-68,911,842),49878=>array(65,-72,929,842),49879=>array(65,-70,936,842),49880=>array(65,-66,908,842),49881=>array(65,-59,916,842),49882=>array(65,-60,928,842),49883=>array(65,-68,908,842),49884=>array(90,-69,907,842),49885=>array(106,-61,907,842),49886=>array(106,-61,907,842),49887=>array(106,-71,931,842),49888=>array(104,-46,907,842),49889=>array(106,-68,912,842),49890=>array(106,-76,907,842),49891=>array(106,-44,921,842),49892=>array(106,-62,917,842),49893=>array(106,-64,907,842),49894=>array(106,-64,908,842),49895=>array(106,-64,908,842),49896=>array(106,-69,923,842),49897=>array(106,-64,908,842),49898=>array(106,-64,908,842),49899=>array(106,-76,907,842),49900=>array(106,-62,907,842),49901=>array(106,-61,907,842),49902=>array(106,-69,922,842),49903=>array(106,-74,929,842),49904=>array(106,-69,927,842),49905=>array(106,-68,911,842),49906=>array(106,-72,929,842),49907=>array(106,-70,936,842),49908=>array(106,-66,908,842),49909=>array(106,-59,916,842),49910=>array(106,-60,928,842),49911=>array(106,-68,908,842),49912=>array(20,-69,937,842),49913=>array(62,-59,936,842),49914=>array(62,-61,936,842),49915=>array(62,-71,936,842),49916=>array(72,-45,936,842),49917=>array(62,-69,936,842),49918=>array(62,-76,936,842),49919=>array(62,-44,936,842),49920=>array(62,-62,936,842),49921=>array(62,-64,936,842),49922=>array(62,-64,936,842),49923=>array(62,-64,936,842),49924=>array(62,-70,936,842),49925=>array(62,-64,936,842),49926=>array(62,-64,936,842),49927=>array(62,-76,936,842),49928=>array(62,-62,936,842),49929=>array(62,-61,936,842),49930=>array(62,-70,936,842),49931=>array(62,-74,936,842),49932=>array(62,-69,936,842),49933=>array(62,-67,936,842),49934=>array(62,-72,936,842),49935=>array(62,-71,936,842),49936=>array(62,-66,936,842),49937=>array(62,-59,936,842),49938=>array(62,-60,936,842),49939=>array(62,-69,936,842),49940=>array(21,-69,907,842),49941=>array(55,-61,907,842),49942=>array(55,-61,907,842),49943=>array(55,-71,931,842),49944=>array(52,-46,907,842),49945=>array(55,-68,912,842),49946=>array(55,-76,907,842),49947=>array(55,-44,921,842),49948=>array(55,-62,917,842),49949=>array(55,-64,907,842),49950=>array(55,-64,908,842),49951=>array(55,-64,908,842),49952=>array(55,-69,923,842),49953=>array(55,-64,908,842),49954=>array(55,-64,908,842),49955=>array(55,-76,907,842),49956=>array(55,-62,907,842),49957=>array(55,-61,907,842),49958=>array(55,-69,922,842),49959=>array(55,-74,929,842),49960=>array(55,-69,927,842),49961=>array(55,-68,911,842),49962=>array(55,-72,929,842),49963=>array(55,-70,936,842),49964=>array(55,-66,908,842),49965=>array(55,-59,916,842),49966=>array(55,-60,928,842),49967=>array(55,-68,908,842),49968=>array(20,-68,935,843),49969=>array(62,-59,936,842),49970=>array(62,-61,936,842),49971=>array(62,-71,936,842),49972=>array(72,-45,936,842),49973=>array(62,-69,936,842),49974=>array(62,-76,936,842),49975=>array(62,-44,936,842),49976=>array(62,-62,936,842),49977=>array(62,-64,936,842),49978=>array(62,-64,936,842),49979=>array(62,-64,936,842),49980=>array(62,-70,936,842),49981=>array(62,-64,936,842),49982=>array(62,-64,936,842),49983=>array(62,-76,936,842),49984=>array(62,-62,936,842),49985=>array(62,-61,936,842),49986=>array(62,-70,936,842),49987=>array(62,-74,936,842),49988=>array(62,-69,936,842),49989=>array(62,-67,936,842),49990=>array(62,-72,936,842),49991=>array(62,-71,936,842),49992=>array(62,-66,936,842),49993=>array(62,-59,936,842),49994=>array(62,-60,936,842),49995=>array(62,-69,936,842),49996=>array(21,-69,907,842),49997=>array(60,-61,907,842),49998=>array(60,-61,907,842),49999=>array(60,-71,931,842),50000=>array(52,-46,907,842),50001=>array(60,-68,912,842),50002=>array(60,-76,907,842),50003=>array(60,-44,921,842),50004=>array(60,-62,917,842),50005=>array(60,-64,907,842),50006=>array(60,-64,908,842),50007=>array(60,-64,908,842),50008=>array(60,-69,923,842),50009=>array(60,-64,908,842),50010=>array(60,-64,908,842),50011=>array(60,-76,907,842),50012=>array(60,-62,907,842),50013=>array(60,-61,907,842),50014=>array(60,-69,922,842),50015=>array(60,-74,929,842),50016=>array(60,-69,927,842),50017=>array(60,-68,911,842),50018=>array(60,-72,929,842),50019=>array(60,-70,936,842),50020=>array(60,-66,908,842),50021=>array(60,-59,916,842),50022=>array(60,-60,928,842),50023=>array(60,-68,908,842),50024=>array(20,-70,907,841),50025=>array(72,-61,907,841),50026=>array(72,-61,907,841),50027=>array(72,-71,931,841),50028=>array(72,-46,907,841),50029=>array(72,-68,912,841),50030=>array(72,-76,907,841),50031=>array(72,-44,921,841),50032=>array(72,-62,917,841),50033=>array(72,-64,907,841),50034=>array(72,-64,908,841),50035=>array(72,-64,908,841),50036=>array(72,-69,923,841),50037=>array(72,-64,908,841),50038=>array(72,-64,908,841),50039=>array(72,-76,906,841),50040=>array(72,-62,907,841),50041=>array(72,-61,907,841),50042=>array(72,-69,922,841),50043=>array(72,-74,929,841),50044=>array(72,-69,927,841),50045=>array(72,-68,911,841),50046=>array(72,-72,929,841),50047=>array(72,-70,936,841),50048=>array(72,-66,908,841),50049=>array(72,-59,916,841),50050=>array(72,-60,928,841),50051=>array(72,-68,908,841),50052=>array(20,-68,907,843),50053=>array(50,-61,907,843),50054=>array(50,-61,907,843),50055=>array(50,-71,931,843),50056=>array(52,-46,907,843),50057=>array(50,-68,912,843),50058=>array(50,-76,907,843),50059=>array(50,-44,921,843),50060=>array(50,-62,917,843),50061=>array(50,-64,907,843),50062=>array(50,-64,908,843),50063=>array(50,-64,908,843),50064=>array(50,-69,923,843),50065=>array(50,-64,908,843),50066=>array(50,-64,908,843),50067=>array(50,-76,907,843),50068=>array(50,-62,907,843),50069=>array(50,-61,907,843),50070=>array(50,-69,922,843),50071=>array(50,-74,929,843),50072=>array(50,-69,927,843),50073=>array(50,-68,911,843),50074=>array(50,-72,929,843),50075=>array(50,-70,936,843),50076=>array(50,-66,908,843),50077=>array(50,-59,916,843),50078=>array(50,-60,928,843),50079=>array(50,-68,908,843),50080=>array(20,-70,907,842),50081=>array(52,-61,908,842),50082=>array(52,-61,908,842),50083=>array(52,-71,931,842),50084=>array(52,-46,907,842),50085=>array(52,-68,912,842),50086=>array(52,-76,908,842),50087=>array(52,-44,921,842),50088=>array(52,-62,917,842),50089=>array(52,-64,908,842),50090=>array(52,-64,908,842),50091=>array(52,-64,908,842),50092=>array(52,-69,923,842),50093=>array(52,-64,908,842),50094=>array(52,-64,908,842),50095=>array(52,-76,908,842),50096=>array(52,-62,908,842),50097=>array(52,-61,908,842),50098=>array(52,-69,922,842),50099=>array(52,-74,929,842),50100=>array(52,-69,927,842),50101=>array(52,-68,911,842),50102=>array(52,-72,929,842),50103=>array(52,-70,936,842),50104=>array(52,-66,908,842),50105=>array(52,-59,916,842),50106=>array(52,-60,928,842),50107=>array(52,-68,908,842),50108=>array(20,-68,907,843),50109=>array(50,-61,907,843),50110=>array(50,-61,907,843),50111=>array(50,-71,931,843),50112=>array(40,-46,907,843),50113=>array(50,-68,912,843),50114=>array(50,-76,907,843),50115=>array(50,-44,921,843),50116=>array(50,-62,917,843),50117=>array(50,-64,907,843),50118=>array(50,-64,908,843),50119=>array(50,-64,908,843),50120=>array(50,-69,923,843),50121=>array(50,-64,908,843),50122=>array(50,-64,908,843),50123=>array(50,-76,907,843),50124=>array(50,-62,907,843),50125=>array(50,-61,907,843),50126=>array(50,-69,922,843),50127=>array(50,-74,929,843),50128=>array(50,-69,927,843),50129=>array(50,-68,911,843),50130=>array(50,-72,929,843),50131=>array(50,-70,936,843),50132=>array(50,-66,908,843),50133=>array(50,-59,916,843),50134=>array(50,-60,928,843),50135=>array(50,-68,908,843),50136=>array(62,12,943,774),50137=>array(79,-61,921,788),50138=>array(79,-61,921,788),50139=>array(79,-71,921,788),50140=>array(79,-46,922,788),50141=>array(79,-68,921,788),50142=>array(79,-74,921,788),50143=>array(79,-44,921,788),50144=>array(79,-62,921,788),50145=>array(79,-64,921,788),50146=>array(79,-64,921,788),50147=>array(79,-63,921,788),50148=>array(79,-68,921,788),50149=>array(79,-64,921,788),50150=>array(79,-63,921,788),50151=>array(79,-74,921,788),50152=>array(79,-62,921,788),50153=>array(79,-61,921,788),50154=>array(79,-69,921,788),50155=>array(79,-74,921,788),50156=>array(79,-69,921,788),50157=>array(79,-68,921,788),50158=>array(79,-72,921,788),50159=>array(79,-70,921,788),50160=>array(79,-66,921,788),50161=>array(79,-59,921,788),50162=>array(79,-60,921,788),50163=>array(79,-68,921,788),50164=>array(41,-68,936,843),50165=>array(55,-59,936,842),50166=>array(55,-61,936,842),50167=>array(55,-71,936,842),50168=>array(64,-45,936,842),50169=>array(55,-69,936,842),50170=>array(55,-76,936,842),50171=>array(55,-44,936,842),50172=>array(55,-62,936,842),50173=>array(55,-64,936,842),50174=>array(55,-64,936,842),50175=>array(55,-64,936,842),50176=>array(55,-70,936,842),50177=>array(55,-64,936,842),50178=>array(55,-64,936,842),50179=>array(55,-76,936,842),50180=>array(55,-62,936,842),50181=>array(55,-61,936,842),50182=>array(55,-70,936,842),50183=>array(55,-74,936,842),50184=>array(55,-69,936,842),50185=>array(55,-67,936,842),50186=>array(55,-72,936,842),50187=>array(55,-71,936,842),50188=>array(55,-66,936,842),50189=>array(55,-59,936,842),50190=>array(55,-60,936,842),50191=>array(55,-69,936,842),50192=>array(38,-69,907,842),50193=>array(63,-61,907,842),50194=>array(63,-61,907,842),50195=>array(63,-71,931,842),50196=>array(48,-46,907,842),50197=>array(63,-68,912,842),50198=>array(63,-76,907,842),50199=>array(63,-44,921,842),50200=>array(63,-62,917,842),50201=>array(63,-64,907,842),50202=>array(63,-64,908,842),50203=>array(63,-64,908,842),50204=>array(63,-69,923,842),50205=>array(63,-64,908,842),50206=>array(63,-64,908,842),50207=>array(63,-76,907,842),50208=>array(63,-62,907,842),50209=>array(63,-61,907,842),50210=>array(63,-69,922,842),50211=>array(63,-74,929,842),50212=>array(63,-69,927,842),50213=>array(63,-68,911,842),50214=>array(63,-72,929,842),50215=>array(63,-70,936,842),50216=>array(63,-66,908,842),50217=>array(63,-59,916,842),50218=>array(63,-60,928,842),50219=>array(63,-68,908,842),50220=>array(68,-69,907,842),50221=>array(65,-61,907,842),50222=>array(65,-61,907,842),50223=>array(65,-71,931,842),50224=>array(65,-46,907,842),50225=>array(65,-68,912,842),50226=>array(65,-76,907,842),50227=>array(65,-44,921,842),50228=>array(65,-62,917,842),50229=>array(65,-64,907,842),50230=>array(65,-64,908,842),50231=>array(65,-64,908,842),50232=>array(65,-69,923,842),50233=>array(65,-64,908,842),50234=>array(65,-64,908,842),50235=>array(65,-76,907,842),50236=>array(65,-62,907,842),50237=>array(65,-61,907,842),50238=>array(65,-69,922,842),50239=>array(65,-74,929,842),50240=>array(65,-69,927,842),50241=>array(65,-68,911,842),50242=>array(65,-72,929,842),50243=>array(65,-70,936,842),50244=>array(65,-66,908,842),50245=>array(65,-59,916,842),50246=>array(65,-60,928,842),50247=>array(65,-68,908,842),50248=>array(62,12,943,774),50249=>array(79,-61,922,788),50250=>array(79,-61,922,788),50251=>array(79,-71,922,788),50252=>array(79,-46,922,788),50253=>array(79,-68,922,788),50254=>array(79,-74,922,788),50255=>array(79,-44,922,788),50256=>array(79,-62,922,788),50257=>array(79,-64,922,788),50258=>array(79,-64,922,788),50259=>array(79,-63,922,788),50260=>array(79,-68,922,788),50261=>array(79,-64,922,788),50262=>array(79,-63,922,788),50263=>array(79,-74,922,788),50264=>array(79,-62,922,788),50265=>array(79,-61,922,788),50266=>array(79,-69,922,788),50267=>array(79,-74,922,788),50268=>array(79,-69,922,788),50269=>array(79,-68,922,788),50270=>array(79,-72,922,788),50271=>array(79,-70,922,788),50272=>array(79,-66,922,788),50273=>array(79,-59,922,788),50274=>array(79,-60,922,788),50275=>array(79,-68,922,788),50276=>array(82,-64,924,822),50277=>array(79,-61,921,788),50278=>array(79,-61,921,788),50279=>array(79,-71,921,788),50280=>array(79,-46,921,788),50281=>array(79,-68,921,788),50282=>array(79,-74,921,788),50283=>array(79,-44,921,788),50284=>array(79,-62,921,788),50285=>array(79,-64,921,788),50286=>array(79,-64,921,788),50287=>array(79,-63,921,788),50288=>array(79,-68,921,788),50289=>array(79,-64,921,788),50290=>array(79,-63,921,788),50291=>array(79,-74,921,788),50292=>array(79,-62,921,788),50293=>array(79,-61,921,788),50294=>array(79,-69,921,788),50295=>array(79,-74,921,788),50296=>array(79,-69,921,788),50297=>array(79,-68,921,788),50298=>array(79,-72,921,788),50299=>array(79,-70,921,788),50300=>array(79,-66,921,788),50301=>array(79,-59,921,788),50302=>array(79,-60,921,788),50303=>array(79,-68,921,788),50304=>array(81,-70,907,841),50305=>array(74,-61,908,841),50306=>array(74,-61,908,841),50307=>array(74,-71,931,841),50308=>array(66,-46,908,842),50309=>array(74,-68,912,841),50310=>array(74,-76,908,841),50311=>array(74,-44,921,841),50312=>array(74,-62,917,841),50313=>array(74,-64,908,841),50314=>array(74,-64,908,841),50315=>array(74,-64,908,841),50316=>array(74,-69,923,841),50317=>array(74,-64,908,841),50318=>array(74,-64,908,841),50319=>array(74,-76,908,841),50320=>array(74,-62,908,841),50321=>array(74,-61,908,841),50322=>array(74,-69,922,841),50323=>array(74,-74,929,841),50324=>array(74,-69,927,841),50325=>array(74,-68,911,841),50326=>array(74,-72,929,841),50327=>array(74,-70,936,841),50328=>array(74,-66,908,841),50329=>array(74,-59,916,841),50330=>array(74,-60,928,841),50331=>array(74,-68,908,841),50332=>array(51,-68,907,843),50333=>array(64,-61,907,843),50334=>array(64,-61,907,843),50335=>array(64,-71,931,843),50336=>array(64,-46,907,843),50337=>array(64,-68,912,843),50338=>array(64,-76,907,843),50339=>array(64,-44,921,843),50340=>array(64,-62,917,843),50341=>array(64,-64,907,843),50342=>array(64,-64,908,843),50343=>array(64,-64,908,843),50344=>array(64,-69,923,843),50345=>array(64,-64,908,843),50346=>array(64,-64,908,843),50347=>array(64,-76,907,843),50348=>array(64,-62,907,843),50349=>array(64,-61,907,843),50350=>array(64,-69,922,843),50351=>array(64,-74,929,843),50352=>array(64,-69,927,843),50353=>array(64,-68,911,843),50354=>array(64,-72,929,843),50355=>array(64,-70,936,843),50356=>array(64,-66,908,843),50357=>array(64,-59,916,843),50358=>array(64,-60,928,843),50359=>array(64,-68,908,843),50360=>array(60,-69,907,842),50361=>array(65,-61,907,842),50362=>array(65,-61,907,842),50363=>array(65,-71,931,842),50364=>array(65,-46,907,842),50365=>array(65,-68,912,842),50366=>array(65,-76,907,842),50367=>array(65,-44,921,842),50368=>array(65,-62,917,842),50369=>array(65,-64,907,842),50370=>array(65,-64,908,842),50371=>array(65,-64,908,842),50372=>array(65,-69,923,842),50373=>array(65,-64,908,842),50374=>array(65,-64,908,842),50375=>array(65,-76,907,842),50376=>array(65,-62,907,842),50377=>array(65,-61,907,842),50378=>array(65,-69,922,842),50379=>array(65,-74,929,842),50380=>array(65,-69,927,842),50381=>array(65,-68,911,842),50382=>array(65,-72,929,842),50383=>array(65,-70,936,842),50384=>array(65,-66,908,842),50385=>array(65,-59,916,842),50386=>array(65,-60,928,842),50387=>array(65,-68,908,842),50388=>array(82,-64,924,822),50389=>array(79,-61,921,788),50390=>array(79,-61,921,788),50391=>array(79,-71,921,788),50392=>array(81,-46,922,788),50393=>array(79,-68,921,788),50394=>array(79,-74,921,788),50395=>array(79,-44,921,788),50396=>array(79,-62,921,788),50397=>array(79,-64,921,788),50398=>array(79,-64,921,788),50399=>array(79,-63,921,788),50400=>array(79,-68,921,788),50401=>array(79,-64,921,788),50402=>array(79,-63,921,788),50403=>array(79,-74,921,788),50404=>array(79,-62,921,788),50405=>array(79,-61,921,788),50406=>array(79,-69,921,788),50407=>array(79,-74,921,788),50408=>array(79,-69,921,788),50409=>array(79,-68,921,788),50410=>array(79,-72,921,788),50411=>array(79,-70,921,788),50412=>array(79,-66,921,788),50413=>array(79,-59,921,788),50414=>array(79,-60,921,788),50415=>array(79,-68,921,788),50416=>array(57,22,943,720),50417=>array(79,-61,922,794),50418=>array(79,-61,922,794),50419=>array(79,-71,922,794),50420=>array(79,-46,921,794),50421=>array(79,-68,922,794),50422=>array(79,-74,922,794),50423=>array(79,-44,922,794),50424=>array(79,-62,922,794),50425=>array(79,-64,922,794),50426=>array(79,-64,922,794),50427=>array(79,-63,922,794),50428=>array(79,-68,922,794),50429=>array(79,-64,922,794),50430=>array(79,-63,922,794),50431=>array(79,-74,922,794),50432=>array(79,-62,922,794),50433=>array(79,-61,922,794),50434=>array(79,-69,922,794),50435=>array(79,-74,922,794),50436=>array(79,-69,922,794),50437=>array(79,-68,922,794),50438=>array(79,-72,922,794),50439=>array(79,-70,922,794),50440=>array(79,-66,922,794),50441=>array(79,-59,922,794),50442=>array(79,-60,922,794),50443=>array(79,-68,922,794),50444=>array(67,-69,907,842),50445=>array(75,-61,907,842),50446=>array(75,-61,907,842),50447=>array(75,-71,931,842),50448=>array(65,-46,907,842),50449=>array(75,-68,912,842),50450=>array(75,-76,907,842),50451=>array(75,-44,921,842),50452=>array(75,-62,917,842),50453=>array(75,-64,907,842),50454=>array(75,-64,908,842),50455=>array(75,-64,908,842),50456=>array(75,-69,923,842),50457=>array(75,-64,908,842),50458=>array(75,-64,908,842),50459=>array(75,-76,907,842),50460=>array(75,-62,907,842),50461=>array(75,-61,907,842),50462=>array(75,-69,922,842),50463=>array(75,-74,929,842),50464=>array(75,-69,927,842),50465=>array(75,-68,911,842),50466=>array(75,-72,929,842),50467=>array(75,-70,936,842),50468=>array(75,-66,908,842),50469=>array(75,-59,916,842),50470=>array(75,-60,928,842),50471=>array(75,-68,908,842),50472=>array(48,-69,907,842),50473=>array(68,-61,907,842),50474=>array(68,-61,907,842),50475=>array(68,-71,931,842),50476=>array(68,-46,907,842),50477=>array(68,-68,912,842),50478=>array(68,-76,907,842),50479=>array(68,-44,921,842),50480=>array(68,-62,917,842),50481=>array(68,-64,907,842),50482=>array(68,-64,908,842),50483=>array(68,-64,908,842),50484=>array(68,-69,923,842),50485=>array(68,-64,908,842),50486=>array(68,-64,908,842),50487=>array(68,-76,907,842),50488=>array(68,-62,907,842),50489=>array(68,-61,907,842),50490=>array(68,-69,922,842),50491=>array(68,-74,929,842),50492=>array(68,-69,927,842),50493=>array(68,-68,911,842),50494=>array(68,-72,929,842),50495=>array(68,-70,936,842),50496=>array(68,-66,908,842),50497=>array(68,-59,916,842),50498=>array(68,-60,928,842),50499=>array(68,-68,908,842),50500=>array(108,-69,936,842),50501=>array(113,-59,936,842),50502=>array(113,-61,936,842),50503=>array(113,-71,936,842),50504=>array(100,-45,936,842),50505=>array(113,-69,936,842),50506=>array(113,-76,936,842),50507=>array(113,-44,936,842),50508=>array(113,-62,936,842),50509=>array(113,-64,936,842),50510=>array(113,-64,936,842),50511=>array(113,-64,936,842),50512=>array(113,-70,936,842),50513=>array(113,-64,936,842),50514=>array(113,-64,936,842),50515=>array(113,-76,936,842),50516=>array(113,-62,936,842),50517=>array(113,-61,936,842),50518=>array(113,-70,936,842),50519=>array(113,-74,936,842),50520=>array(113,-69,936,842),50521=>array(113,-67,936,842),50522=>array(113,-72,936,842),50523=>array(113,-71,936,842),50524=>array(113,-66,936,842),50525=>array(113,-59,936,842),50526=>array(113,-60,936,842),50527=>array(113,-69,936,842),50528=>array(105,-69,907,842),50529=>array(93,-61,907,842),50530=>array(93,-61,907,842),50531=>array(93,-71,931,842),50532=>array(80,-46,907,842),50533=>array(93,-68,912,842),50534=>array(93,-76,907,842),50535=>array(93,-44,921,842),50536=>array(93,-62,917,842),50537=>array(93,-64,907,842),50538=>array(93,-64,908,842),50539=>array(93,-64,908,842),50540=>array(93,-69,923,842),50541=>array(93,-64,908,842),50542=>array(93,-64,908,842),50543=>array(93,-76,907,842),50544=>array(93,-62,907,842),50545=>array(93,-61,907,842),50546=>array(93,-69,922,842),50547=>array(93,-74,929,842),50548=>array(93,-69,927,842),50549=>array(93,-68,911,842),50550=>array(93,-72,929,842),50551=>array(93,-70,936,842),50552=>array(93,-66,908,842),50553=>array(93,-59,916,842),50554=>array(93,-60,928,842),50555=>array(93,-68,908,842),50556=>array(123,-68,935,843),50557=>array(113,-59,936,842),50558=>array(113,-61,936,842),50559=>array(113,-71,936,842),50560=>array(100,-45,936,842),50561=>array(113,-69,936,842),50562=>array(113,-76,936,842),50563=>array(113,-44,936,842),50564=>array(113,-62,936,842),50565=>array(113,-64,936,842),50566=>array(113,-64,936,842),50567=>array(113,-64,936,842),50568=>array(113,-70,936,842),50569=>array(113,-64,936,842),50570=>array(113,-64,936,842),50571=>array(113,-76,936,842),50572=>array(113,-62,936,842),50573=>array(113,-61,936,842),50574=>array(113,-70,936,842),50575=>array(113,-74,936,842),50576=>array(113,-69,936,842),50577=>array(113,-67,936,842),50578=>array(113,-72,936,842),50579=>array(113,-71,936,842),50580=>array(113,-66,936,842),50581=>array(113,-59,936,842),50582=>array(113,-60,936,842),50583=>array(113,-69,936,842),50584=>array(105,-69,907,842),50585=>array(93,-61,907,842),50586=>array(93,-61,907,842),50587=>array(93,-71,931,842),50588=>array(85,-46,907,842),50589=>array(93,-68,912,842),50590=>array(93,-76,907,842),50591=>array(93,-44,921,842),50592=>array(93,-62,917,842),50593=>array(93,-64,907,842),50594=>array(93,-64,908,842),50595=>array(93,-64,908,842),50596=>array(93,-69,923,842),50597=>array(93,-64,908,842),50598=>array(93,-64,908,842),50599=>array(93,-76,907,842),50600=>array(93,-62,907,842),50601=>array(93,-61,907,842),50602=>array(93,-69,922,842),50603=>array(93,-74,929,842),50604=>array(93,-69,927,842),50605=>array(93,-68,911,842),50606=>array(93,-72,929,842),50607=>array(93,-70,936,842),50608=>array(93,-66,908,842),50609=>array(93,-59,916,842),50610=>array(93,-60,928,842),50611=>array(93,-68,908,842),50612=>array(93,-70,907,841),50613=>array(88,-61,907,841),50614=>array(88,-61,907,841),50615=>array(88,-71,931,841),50616=>array(85,-46,907,841),50617=>array(88,-68,912,841),50618=>array(88,-76,907,841),50619=>array(88,-44,921,841),50620=>array(88,-62,917,841),50621=>array(88,-64,907,841),50622=>array(88,-64,908,841),50623=>array(88,-64,908,841),50624=>array(88,-69,923,841),50625=>array(88,-64,908,841),50626=>array(88,-64,908,841),50627=>array(88,-76,906,841),50628=>array(88,-62,907,841),50629=>array(88,-61,907,841),50630=>array(88,-69,922,841),50631=>array(88,-74,929,841),50632=>array(88,-69,927,841),50633=>array(88,-68,911,841),50634=>array(88,-72,929,841),50635=>array(88,-70,936,841),50636=>array(88,-66,908,841),50637=>array(88,-59,916,841),50638=>array(88,-60,928,841),50639=>array(88,-68,908,841),50640=>array(85,-68,907,843),50641=>array(75,-61,907,843),50642=>array(75,-61,907,843),50643=>array(75,-71,931,843),50644=>array(76,-46,907,843),50645=>array(75,-68,912,843),50646=>array(75,-76,907,843),50647=>array(75,-44,921,843),50648=>array(75,-62,917,843),50649=>array(75,-64,907,843),50650=>array(75,-64,908,843),50651=>array(75,-64,908,843),50652=>array(75,-69,923,843),50653=>array(75,-64,908,843),50654=>array(75,-64,908,843),50655=>array(75,-76,907,843),50656=>array(75,-62,907,843),50657=>array(75,-61,907,843),50658=>array(75,-69,922,843),50659=>array(75,-74,929,843),50660=>array(75,-69,927,843),50661=>array(75,-68,911,843),50662=>array(75,-72,929,843),50663=>array(75,-70,936,843),50664=>array(75,-66,908,843),50665=>array(75,-59,916,843),50666=>array(75,-60,928,843),50667=>array(75,-68,908,843),50668=>array(93,-70,907,842),50669=>array(88,-61,908,842),50670=>array(88,-61,908,842),50671=>array(88,-71,931,842),50672=>array(85,-46,907,842),50673=>array(88,-68,912,842),50674=>array(88,-76,908,842),50675=>array(88,-44,921,842),50676=>array(88,-62,917,842),50677=>array(88,-64,908,842),50678=>array(88,-64,908,842),50679=>array(88,-64,908,842),50680=>array(88,-69,923,842),50681=>array(88,-64,908,842),50682=>array(88,-64,908,842),50683=>array(88,-76,908,842),50684=>array(88,-62,908,842),50685=>array(88,-61,908,842),50686=>array(88,-69,922,842),50687=>array(88,-74,929,842),50688=>array(88,-69,927,842),50689=>array(88,-68,911,842),50690=>array(88,-72,929,842),50691=>array(88,-70,936,842),50692=>array(88,-66,908,842),50693=>array(88,-59,916,842),50694=>array(88,-60,928,842),50695=>array(88,-68,908,842),50696=>array(85,-68,907,843),50697=>array(75,-61,907,843),50698=>array(75,-61,907,843),50699=>array(75,-71,931,843),50700=>array(76,-46,907,843),50701=>array(75,-68,912,843),50702=>array(75,-76,907,843),50703=>array(75,-44,921,843),50704=>array(75,-62,917,843),50705=>array(75,-64,907,843),50706=>array(75,-64,908,843),50707=>array(75,-64,908,843),50708=>array(75,-69,923,843),50709=>array(75,-64,908,843),50710=>array(75,-64,908,843),50711=>array(75,-76,907,843),50712=>array(75,-62,907,843),50713=>array(75,-61,907,843),50714=>array(75,-69,922,843),50715=>array(75,-74,929,843),50716=>array(75,-69,927,843),50717=>array(75,-68,911,843),50718=>array(75,-72,929,843),50719=>array(75,-70,936,843),50720=>array(75,-66,908,843),50721=>array(75,-59,916,843),50722=>array(75,-60,928,843),50723=>array(75,-68,908,843),50724=>array(62,4,938,763),50725=>array(79,-61,921,808),50726=>array(79,-61,921,808),50727=>array(79,-71,921,808),50728=>array(79,-46,922,803),50729=>array(79,-68,921,808),50730=>array(79,-74,921,808),50731=>array(79,-44,921,808),50732=>array(79,-62,921,808),50733=>array(79,-64,921,808),50734=>array(79,-64,921,808),50735=>array(79,-63,921,808),50736=>array(79,-68,921,808),50737=>array(79,-64,921,808),50738=>array(79,-63,921,808),50739=>array(79,-74,921,808),50740=>array(79,-62,921,808),50741=>array(79,-61,921,808),50742=>array(79,-69,921,808),50743=>array(79,-74,921,808),50744=>array(79,-69,921,808),50745=>array(79,-68,921,808),50746=>array(79,-72,921,808),50747=>array(79,-70,921,808),50748=>array(79,-66,921,808),50749=>array(79,-59,921,808),50750=>array(79,-60,921,808),50751=>array(79,-68,921,808),50752=>array(52,-69,936,842),50753=>array(77,-59,936,842),50754=>array(77,-61,936,842),50755=>array(77,-71,936,842),50756=>array(72,-45,936,842),50757=>array(77,-69,936,842),50758=>array(77,-76,936,842),50759=>array(77,-44,936,842),50760=>array(77,-62,936,842),50761=>array(77,-64,936,842),50762=>array(77,-64,936,842),50763=>array(77,-64,936,842),50764=>array(77,-70,936,842),50765=>array(77,-64,936,842),50766=>array(77,-64,936,842),50767=>array(77,-76,936,842),50768=>array(77,-62,936,842),50769=>array(77,-61,936,842),50770=>array(77,-70,936,842),50771=>array(77,-74,936,842),50772=>array(77,-69,936,842),50773=>array(77,-67,936,842),50774=>array(77,-72,936,842),50775=>array(77,-71,936,842),50776=>array(77,-66,936,842),50777=>array(77,-59,936,842),50778=>array(77,-60,936,842),50779=>array(77,-69,936,842),50780=>array(61,-69,907,842),50781=>array(62,-61,907,842),50782=>array(62,-61,907,842),50783=>array(62,-71,931,842),50784=>array(62,-46,907,842),50785=>array(62,-68,912,842),50786=>array(62,-76,907,842),50787=>array(62,-44,921,842),50788=>array(62,-62,917,842),50789=>array(62,-64,907,842),50790=>array(62,-64,908,842),50791=>array(62,-64,908,842),50792=>array(62,-69,923,842),50793=>array(62,-64,908,842),50794=>array(62,-64,908,842),50795=>array(62,-76,907,842),50796=>array(62,-62,907,842),50797=>array(62,-61,907,842),50798=>array(62,-69,922,842),50799=>array(62,-74,929,842),50800=>array(62,-69,927,842),50801=>array(62,-68,911,842),50802=>array(62,-72,929,842),50803=>array(62,-70,936,842),50804=>array(62,-66,908,842),50805=>array(62,-59,916,842),50806=>array(62,-60,928,842),50807=>array(62,-68,908,842),50808=>array(52,-69,907,842),50809=>array(64,-61,907,842),50810=>array(64,-61,907,842),50811=>array(64,-71,931,842),50812=>array(64,-46,907,842),50813=>array(64,-68,912,842),50814=>array(64,-76,907,842),50815=>array(64,-44,921,842),50816=>array(64,-62,917,842),50817=>array(64,-64,907,842),50818=>array(64,-64,908,842),50819=>array(64,-64,908,842),50820=>array(64,-69,923,842),50821=>array(64,-64,908,842),50822=>array(64,-64,908,842),50823=>array(64,-76,907,842),50824=>array(64,-62,907,842),50825=>array(64,-61,907,842),50826=>array(64,-69,922,842),50827=>array(64,-74,929,842),50828=>array(64,-69,927,842),50829=>array(64,-68,911,842),50830=>array(64,-72,929,842),50831=>array(64,-70,936,842),50832=>array(64,-66,908,842),50833=>array(64,-59,916,842),50834=>array(64,-60,928,842),50835=>array(64,-68,908,842),50836=>array(62,4,938,763),50837=>array(79,-61,922,808),50838=>array(79,-61,922,808),50839=>array(79,-71,922,808),50840=>array(79,-46,922,793),50841=>array(79,-68,922,808),50842=>array(79,-74,922,808),50843=>array(79,-44,922,808),50844=>array(79,-62,922,808),50845=>array(79,-64,922,808),50846=>array(79,-64,922,808),50847=>array(79,-63,922,808),50848=>array(79,-68,922,808),50849=>array(79,-64,922,808),50850=>array(79,-63,922,808),50851=>array(79,-74,922,808),50852=>array(79,-62,922,808),50853=>array(79,-61,922,808),50854=>array(79,-69,922,808),50855=>array(79,-74,922,808),50856=>array(79,-69,922,808),50857=>array(79,-68,922,808),50858=>array(79,-72,922,808),50859=>array(79,-70,922,808),50860=>array(79,-66,922,808),50861=>array(79,-59,922,808),50862=>array(79,-60,922,808),50863=>array(79,-68,922,808),50864=>array(79,-64,921,793),50865=>array(79,-61,921,808),50866=>array(79,-61,921,808),50867=>array(79,-71,921,808),50868=>array(79,-46,921,793),50869=>array(79,-68,921,808),50870=>array(79,-74,921,808),50871=>array(79,-44,921,808),50872=>array(79,-62,921,808),50873=>array(79,-64,921,808),50874=>array(79,-64,921,808),50875=>array(79,-63,921,808),50876=>array(79,-68,921,808),50877=>array(79,-64,921,808),50878=>array(79,-63,921,808),50879=>array(79,-74,921,808),50880=>array(79,-62,921,808),50881=>array(79,-61,921,808),50882=>array(79,-69,921,808),50883=>array(79,-74,921,808),50884=>array(79,-69,921,808),50885=>array(79,-68,921,808),50886=>array(79,-72,921,808),50887=>array(79,-70,921,808),50888=>array(79,-66,921,808),50889=>array(79,-59,921,808),50890=>array(79,-60,921,808),50891=>array(79,-68,921,808),50892=>array(73,-70,907,841),50893=>array(75,-61,908,841),50894=>array(75,-61,908,841),50895=>array(75,-71,931,841),50896=>array(76,-46,907,841),50897=>array(75,-68,912,841),50898=>array(75,-76,908,841),50899=>array(75,-44,921,841),50900=>array(75,-62,917,841),50901=>array(75,-64,908,841),50902=>array(75,-64,908,841),50903=>array(75,-64,908,841),50904=>array(75,-69,923,841),50905=>array(75,-64,908,841),50906=>array(75,-64,908,841),50907=>array(75,-76,908,841),50908=>array(75,-62,908,841),50909=>array(75,-61,908,841),50910=>array(75,-69,922,841),50911=>array(75,-74,929,841),50912=>array(75,-69,927,841),50913=>array(75,-68,911,841),50914=>array(75,-72,929,841),50915=>array(75,-70,936,841),50916=>array(75,-66,908,841),50917=>array(75,-59,916,841),50918=>array(75,-60,928,841),50919=>array(75,-68,908,841),50920=>array(53,-68,907,843),50921=>array(70,-61,907,843),50922=>array(70,-61,907,843),50923=>array(70,-71,931,843),50924=>array(61,-46,907,843),50925=>array(70,-68,912,843),50926=>array(70,-76,907,843),50927=>array(70,-44,921,843),50928=>array(70,-62,917,843),50929=>array(70,-64,907,843),50930=>array(70,-64,908,843),50931=>array(70,-64,908,843),50932=>array(70,-69,923,843),50933=>array(70,-64,908,843),50934=>array(70,-64,908,843),50935=>array(70,-76,907,843),50936=>array(70,-62,907,843),50937=>array(70,-61,907,843),50938=>array(70,-69,922,843),50939=>array(70,-74,929,843),50940=>array(70,-69,927,843),50941=>array(70,-68,911,843),50942=>array(70,-72,929,843),50943=>array(70,-70,936,843),50944=>array(70,-66,908,843),50945=>array(70,-59,916,843),50946=>array(70,-60,928,843),50947=>array(70,-68,908,843),50948=>array(70,-69,907,842),50949=>array(65,-61,907,842),50950=>array(65,-61,907,842),50951=>array(65,-71,931,842),50952=>array(63,-46,907,842),50953=>array(65,-68,912,842),50954=>array(65,-76,907,842),50955=>array(65,-44,921,842),50956=>array(65,-62,917,842),50957=>array(65,-64,907,842),50958=>array(65,-64,908,842),50959=>array(65,-64,908,842),50960=>array(65,-69,923,842),50961=>array(65,-64,908,842),50962=>array(65,-64,908,842),50963=>array(65,-76,907,842),50964=>array(65,-62,907,842),50965=>array(65,-61,907,842),50966=>array(65,-69,922,842),50967=>array(65,-74,929,842),50968=>array(65,-69,927,842),50969=>array(65,-68,911,842),50970=>array(65,-72,929,842),50971=>array(65,-70,936,842),50972=>array(65,-66,908,842),50973=>array(65,-59,916,842),50974=>array(65,-60,928,842),50975=>array(65,-68,908,842),50976=>array(71,-64,928,793),50977=>array(79,-61,921,808),50978=>array(79,-61,921,808),50979=>array(79,-71,921,808),50980=>array(79,-46,921,793),50981=>array(79,-68,921,808),50982=>array(79,-74,921,808),50983=>array(79,-44,921,808),50984=>array(79,-62,921,808),50985=>array(79,-64,921,808),50986=>array(79,-64,921,808),50987=>array(79,-63,921,808),50988=>array(79,-68,921,808),50989=>array(79,-64,921,808),50990=>array(79,-63,921,808),50991=>array(79,-74,921,808),50992=>array(79,-62,921,808),50993=>array(79,-61,921,808),50994=>array(79,-69,921,808),50995=>array(79,-74,921,808),50996=>array(79,-69,921,808),50997=>array(79,-68,921,808),50998=>array(79,-72,921,808),50999=>array(79,-70,921,808),51000=>array(79,-66,921,808),51001=>array(79,-59,921,808),51002=>array(79,-60,921,808),51003=>array(79,-68,921,808),51004=>array(57,42,943,733),51005=>array(79,-61,921,808),51006=>array(79,-61,921,808),51007=>array(79,-71,921,808),51008=>array(79,-46,921,793),51009=>array(79,-68,921,808),51010=>array(79,-74,921,808),51011=>array(79,-44,921,808),51012=>array(79,-62,921,808),51013=>array(79,-64,921,808),51014=>array(79,-64,921,808),51015=>array(79,-63,921,808),51016=>array(79,-68,921,808),51017=>array(79,-64,921,808),51018=>array(79,-63,921,808),51019=>array(79,-74,921,808),51020=>array(79,-62,921,808),51021=>array(79,-61,921,808),51022=>array(79,-69,921,808),51023=>array(79,-74,921,808),51024=>array(79,-69,921,808),51025=>array(79,-68,921,808),51026=>array(79,-72,921,808),51027=>array(79,-70,921,808),51028=>array(79,-66,921,808),51029=>array(79,-59,921,808),51030=>array(79,-60,921,808),51031=>array(79,-68,921,808),51032=>array(67,-69,907,842),51033=>array(75,-61,907,842),51034=>array(75,-61,907,842),51035=>array(75,-71,931,842),51036=>array(66,-46,907,842),51037=>array(75,-68,912,842),51038=>array(75,-76,907,842),51039=>array(75,-44,921,842),51040=>array(75,-62,917,842),51041=>array(75,-64,907,842),51042=>array(75,-64,908,842),51043=>array(75,-64,908,842),51044=>array(75,-69,923,842),51045=>array(75,-64,908,842),51046=>array(75,-64,908,842),51047=>array(75,-76,907,842),51048=>array(75,-62,907,842),51049=>array(75,-61,907,842),51050=>array(75,-69,922,842),51051=>array(75,-74,929,842),51052=>array(75,-69,927,842),51053=>array(75,-68,911,842),51054=>array(75,-72,929,842),51055=>array(75,-70,936,842),51056=>array(75,-66,908,842),51057=>array(75,-59,916,842),51058=>array(75,-60,928,842),51059=>array(75,-68,908,842),51060=>array(134,-69,906,842),51061=>array(119,-61,907,842),51062=>array(119,-61,907,842),51063=>array(119,-71,931,842),51064=>array(108,-46,907,842),51065=>array(119,-68,912,842),51066=>array(119,-76,907,842),51067=>array(119,-44,921,842),51068=>array(119,-62,917,842),51069=>array(119,-64,907,842),51070=>array(119,-64,908,842),51071=>array(119,-64,908,842),51072=>array(119,-69,923,842),51073=>array(119,-64,908,842),51074=>array(119,-64,908,842),51075=>array(119,-76,907,842),51076=>array(119,-62,907,842),51077=>array(119,-61,907,842),51078=>array(119,-69,922,842),51079=>array(119,-74,929,842),51080=>array(119,-69,927,842),51081=>array(119,-68,911,842),51082=>array(119,-72,929,842),51083=>array(119,-70,936,842),51084=>array(119,-66,908,842),51085=>array(119,-59,916,842),51086=>array(119,-60,928,842),51087=>array(119,-68,908,842),51088=>array(73,-69,936,842),51089=>array(83,-59,936,842),51090=>array(83,-61,936,842),51091=>array(83,-71,936,842),51092=>array(71,-45,936,842),51093=>array(83,-69,936,842),51094=>array(83,-76,936,842),51095=>array(83,-44,936,842),51096=>array(83,-62,936,842),51097=>array(83,-64,936,842),51098=>array(83,-64,936,842),51099=>array(83,-64,936,842),51100=>array(83,-70,936,842),51101=>array(83,-64,936,842),51102=>array(83,-64,936,842),51103=>array(83,-76,936,842),51104=>array(83,-62,936,842),51105=>array(83,-61,936,842),51106=>array(83,-70,936,842),51107=>array(83,-74,936,842),51108=>array(83,-69,936,842),51109=>array(83,-67,936,842),51110=>array(83,-72,936,842),51111=>array(83,-71,936,842),51112=>array(83,-66,936,842),51113=>array(83,-59,936,842),51114=>array(83,-60,936,842),51115=>array(83,-69,936,842),51116=>array(50,-69,907,842),51117=>array(84,-61,907,842),51118=>array(84,-61,907,842),51119=>array(84,-71,931,842),51120=>array(76,-46,907,842),51121=>array(84,-68,912,842),51122=>array(84,-76,907,842),51123=>array(84,-44,921,842),51124=>array(84,-62,917,842),51125=>array(84,-64,907,842),51126=>array(84,-64,908,842),51127=>array(84,-64,908,842),51128=>array(84,-69,923,842),51129=>array(84,-64,908,842),51130=>array(84,-64,908,842),51131=>array(84,-76,907,842),51132=>array(84,-62,907,842),51133=>array(84,-61,907,842),51134=>array(84,-69,922,842),51135=>array(84,-74,929,842),51136=>array(84,-69,927,842),51137=>array(84,-68,911,842),51138=>array(84,-72,929,842),51139=>array(84,-70,936,842),51140=>array(84,-66,908,842),51141=>array(84,-59,916,842),51142=>array(84,-60,928,842),51143=>array(84,-68,908,842),51144=>array(73,-68,935,843),51145=>array(83,-59,936,842),51146=>array(83,-61,936,842),51147=>array(83,-71,936,842),51148=>array(71,-45,936,842),51149=>array(83,-69,936,842),51150=>array(83,-76,936,842),51151=>array(83,-44,936,842),51152=>array(83,-62,936,842),51153=>array(83,-64,936,842),51154=>array(83,-64,936,842),51155=>array(83,-64,936,842),51156=>array(83,-70,936,842),51157=>array(83,-64,936,842),51158=>array(83,-64,936,842),51159=>array(83,-76,936,842),51160=>array(83,-62,936,842),51161=>array(83,-61,936,842),51162=>array(83,-70,936,842),51163=>array(83,-74,936,842),51164=>array(83,-69,936,842),51165=>array(83,-67,936,842),51166=>array(83,-72,936,842),51167=>array(83,-71,936,842),51168=>array(83,-66,936,842),51169=>array(83,-59,936,842),51170=>array(83,-60,936,842),51171=>array(83,-69,936,842),51172=>array(50,-69,907,842),51173=>array(84,-61,907,842),51174=>array(84,-61,907,842),51175=>array(84,-71,931,842),51176=>array(76,-46,907,842),51177=>array(84,-68,912,842),51178=>array(84,-76,907,842),51179=>array(84,-44,921,842),51180=>array(84,-62,917,842),51181=>array(84,-64,907,842),51182=>array(84,-64,908,842),51183=>array(84,-64,908,842),51184=>array(84,-69,923,842),51185=>array(84,-64,908,842),51186=>array(84,-64,908,842),51187=>array(84,-76,907,842),51188=>array(84,-62,907,842),51189=>array(84,-61,907,842),51190=>array(84,-69,922,842),51191=>array(84,-74,929,842),51192=>array(84,-69,927,842),51193=>array(84,-68,911,842),51194=>array(84,-72,929,842),51195=>array(84,-70,936,842),51196=>array(84,-66,908,842),51197=>array(84,-59,916,842),51198=>array(84,-60,928,842),51199=>array(84,-68,908,842),51200=>array(68,-70,907,841),51201=>array(83,-61,907,841),51202=>array(83,-61,907,841),51203=>array(83,-71,931,841),51204=>array(71,-46,907,841),51205=>array(83,-68,912,841),51206=>array(83,-76,907,841),51207=>array(83,-44,921,841),51208=>array(83,-62,917,841),51209=>array(83,-64,907,841),51210=>array(83,-64,908,841),51211=>array(83,-64,908,841),51212=>array(83,-69,923,841),51213=>array(83,-64,908,841),51214=>array(83,-64,908,841),51215=>array(83,-76,906,841),51216=>array(83,-62,907,841),51217=>array(83,-61,907,841),51218=>array(83,-69,922,841),51219=>array(83,-74,929,841),51220=>array(83,-69,927,841),51221=>array(83,-68,911,841),51222=>array(83,-72,929,841),51223=>array(83,-70,936,841),51224=>array(83,-66,908,841),51225=>array(83,-59,916,841),51226=>array(83,-60,928,841),51227=>array(83,-68,908,841),51228=>array(50,-69,907,842),51229=>array(64,-61,907,843),51230=>array(64,-61,907,843),51231=>array(64,-71,931,843),51232=>array(56,-46,907,843),51233=>array(64,-68,912,843),51234=>array(64,-76,907,843),51235=>array(64,-44,921,843),51236=>array(64,-62,917,843),51237=>array(64,-64,907,843),51238=>array(64,-64,908,843),51239=>array(64,-64,908,843),51240=>array(64,-69,923,843),51241=>array(64,-64,908,843),51242=>array(64,-64,908,843),51243=>array(64,-76,907,843),51244=>array(64,-62,907,843),51245=>array(64,-61,907,843),51246=>array(64,-69,922,843),51247=>array(64,-74,929,843),51248=>array(64,-69,927,843),51249=>array(64,-68,911,843),51250=>array(64,-72,929,843),51251=>array(64,-70,936,843),51252=>array(64,-66,908,843),51253=>array(64,-59,916,843),51254=>array(64,-60,928,843),51255=>array(64,-68,908,843),51256=>array(58,-70,907,842),51257=>array(63,-61,908,842),51258=>array(63,-61,908,842),51259=>array(63,-71,931,842),51260=>array(70,-46,907,842),51261=>array(63,-68,912,842),51262=>array(63,-76,908,842),51263=>array(63,-44,921,842),51264=>array(63,-62,917,842),51265=>array(63,-64,908,842),51266=>array(63,-64,908,842),51267=>array(63,-64,908,842),51268=>array(63,-69,923,842),51269=>array(63,-64,908,842),51270=>array(63,-64,908,842),51271=>array(63,-76,908,842),51272=>array(63,-62,908,842),51273=>array(63,-61,908,842),51274=>array(63,-69,922,842),51275=>array(63,-74,929,842),51276=>array(63,-69,927,842),51277=>array(63,-68,911,842),51278=>array(63,-72,929,842),51279=>array(63,-70,936,842),51280=>array(63,-66,908,842),51281=>array(63,-59,916,842),51282=>array(63,-60,928,842),51283=>array(63,-68,908,842),51284=>array(38,-69,908,842),51285=>array(62,-61,907,843),51286=>array(62,-61,907,843),51287=>array(62,-71,931,843),51288=>array(53,-46,907,843),51289=>array(62,-68,912,843),51290=>array(62,-76,907,843),51291=>array(62,-44,921,843),51292=>array(62,-62,917,843),51293=>array(62,-64,907,843),51294=>array(62,-64,908,843),51295=>array(62,-64,908,843),51296=>array(62,-69,923,843),51297=>array(62,-64,908,843),51298=>array(62,-64,908,843),51299=>array(62,-76,907,843),51300=>array(62,-62,907,843),51301=>array(62,-61,907,843),51302=>array(62,-69,922,843),51303=>array(62,-74,929,843),51304=>array(62,-69,927,843),51305=>array(62,-68,911,843),51306=>array(62,-72,929,843),51307=>array(62,-70,936,843),51308=>array(62,-66,908,843),51309=>array(62,-59,916,843),51310=>array(62,-60,928,843),51311=>array(62,-68,908,843),51312=>array(62,22,943,742),51313=>array(79,-61,921,798),51314=>array(79,-61,921,798),51315=>array(79,-71,921,798),51316=>array(79,-46,921,798),51317=>array(79,-68,921,798),51318=>array(79,-74,921,798),51319=>array(79,-44,921,798),51320=>array(79,-62,921,798),51321=>array(79,-64,921,798),51322=>array(79,-64,921,798),51323=>array(79,-63,921,798),51324=>array(79,-68,921,798),51325=>array(79,-64,921,798),51326=>array(79,-63,921,798),51327=>array(79,-74,921,798),51328=>array(79,-62,921,798),51329=>array(79,-61,921,798),51330=>array(79,-69,921,798),51331=>array(79,-74,921,798),51332=>array(79,-69,921,798),51333=>array(79,-68,921,798),51334=>array(79,-72,921,798),51335=>array(79,-70,921,798),51336=>array(79,-66,921,798),51337=>array(79,-59,921,798),51338=>array(79,-60,921,798),51339=>array(79,-68,921,798),51340=>array(64,-69,936,842),51341=>array(77,-59,936,842),51342=>array(77,-61,936,842),51343=>array(77,-71,936,842),51344=>array(72,-45,936,842),51345=>array(77,-69,936,842),51346=>array(77,-76,936,842),51347=>array(77,-44,936,842),51348=>array(77,-62,936,842),51349=>array(77,-64,936,842),51350=>array(77,-64,936,842),51351=>array(77,-64,936,842),51352=>array(77,-70,936,842),51353=>array(77,-64,936,842),51354=>array(77,-64,936,842),51355=>array(77,-76,936,842),51356=>array(77,-62,936,842),51357=>array(77,-61,936,842),51358=>array(77,-70,936,842),51359=>array(77,-74,936,842),51360=>array(77,-69,936,842),51361=>array(77,-67,936,842),51362=>array(77,-72,936,842),51363=>array(77,-71,936,842),51364=>array(77,-66,936,842),51365=>array(77,-59,936,842),51366=>array(77,-60,936,842),51367=>array(77,-69,936,842),51368=>array(49,-69,907,842),51369=>array(77,-61,907,842),51370=>array(77,-61,907,842),51371=>array(77,-71,931,842),51372=>array(72,-46,907,842),51373=>array(77,-68,912,842),51374=>array(77,-76,907,842),51375=>array(77,-44,921,842),51376=>array(77,-62,917,842),51377=>array(77,-64,907,842),51378=>array(77,-64,908,842),51379=>array(77,-64,908,842),51380=>array(77,-69,923,842),51381=>array(77,-64,908,842),51382=>array(77,-64,908,842),51383=>array(77,-76,907,842),51384=>array(77,-62,907,842),51385=>array(77,-61,907,842),51386=>array(77,-69,922,842),51387=>array(77,-74,929,842),51388=>array(77,-69,927,842),51389=>array(77,-68,911,842),51390=>array(77,-72,929,842),51391=>array(77,-70,936,842),51392=>array(77,-66,908,842),51393=>array(77,-59,916,842),51394=>array(77,-60,928,842),51395=>array(77,-68,908,842),51396=>array(52,-69,907,842),51397=>array(65,-61,907,842),51398=>array(65,-61,907,842),51399=>array(65,-71,931,842),51400=>array(65,-46,907,842),51401=>array(65,-68,912,842),51402=>array(65,-76,907,842),51403=>array(65,-44,921,842),51404=>array(65,-62,917,842),51405=>array(65,-64,907,842),51406=>array(65,-64,908,842),51407=>array(65,-64,908,842),51408=>array(65,-69,923,842),51409=>array(65,-64,908,842),51410=>array(65,-64,908,842),51411=>array(65,-76,907,842),51412=>array(65,-62,907,842),51413=>array(65,-61,907,842),51414=>array(65,-69,922,842),51415=>array(65,-74,929,842),51416=>array(65,-69,927,842),51417=>array(65,-68,911,842),51418=>array(65,-72,929,842),51419=>array(65,-70,936,842),51420=>array(65,-66,908,842),51421=>array(65,-59,916,842),51422=>array(65,-60,928,842),51423=>array(65,-68,908,842),51424=>array(62,22,938,742),51425=>array(79,-61,922,798),51426=>array(79,-61,922,798),51427=>array(79,-71,922,798),51428=>array(79,-46,922,798),51429=>array(79,-68,922,798),51430=>array(79,-74,922,798),51431=>array(79,-44,922,798),51432=>array(79,-62,922,798),51433=>array(79,-64,922,798),51434=>array(79,-64,922,798),51435=>array(79,-63,922,798),51436=>array(79,-68,922,798),51437=>array(79,-64,922,798),51438=>array(79,-63,922,798),51439=>array(79,-74,922,798),51440=>array(79,-62,922,798),51441=>array(79,-61,922,798),51442=>array(79,-69,922,798),51443=>array(79,-74,922,798),51444=>array(79,-69,922,798),51445=>array(79,-68,922,798),51446=>array(79,-72,922,798),51447=>array(79,-70,922,798),51448=>array(79,-66,922,798),51449=>array(79,-59,922,798),51450=>array(79,-60,922,798),51451=>array(79,-68,922,798),51452=>array(79,-64,921,798),51453=>array(79,-61,921,798),51454=>array(79,-61,921,798),51455=>array(79,-71,921,798),51456=>array(79,-46,921,798),51457=>array(79,-68,921,798),51458=>array(79,-74,921,798),51459=>array(79,-44,921,798),51460=>array(79,-62,921,798),51461=>array(79,-64,921,798),51462=>array(79,-64,921,798),51463=>array(79,-63,921,798),51464=>array(79,-68,921,798),51465=>array(79,-64,921,798),51466=>array(79,-63,921,798),51467=>array(79,-74,921,798),51468=>array(79,-62,921,798),51469=>array(79,-61,921,798),51470=>array(79,-69,921,798),51471=>array(79,-74,921,798),51472=>array(79,-69,921,798),51473=>array(79,-68,921,798),51474=>array(79,-72,921,798),51475=>array(79,-70,921,798),51476=>array(79,-66,921,798),51477=>array(79,-59,921,798),51478=>array(79,-60,921,798),51479=>array(79,-68,921,798),51480=>array(70,-70,907,841),51481=>array(73,-61,910,841),51482=>array(73,-61,910,841),51483=>array(73,-71,931,841),51484=>array(76,-46,909,840),51485=>array(73,-68,912,841),51486=>array(73,-76,910,841),51487=>array(73,-44,921,841),51488=>array(73,-62,917,841),51489=>array(73,-64,910,841),51490=>array(73,-64,910,841),51491=>array(73,-64,910,841),51492=>array(73,-69,923,841),51493=>array(73,-64,910,841),51494=>array(73,-64,910,841),51495=>array(73,-76,910,841),51496=>array(73,-62,910,841),51497=>array(73,-61,910,841),51498=>array(73,-69,922,841),51499=>array(73,-74,929,841),51500=>array(73,-69,927,841),51501=>array(73,-68,911,841),51502=>array(73,-72,929,841),51503=>array(73,-70,936,841),51504=>array(73,-66,910,841),51505=>array(73,-59,916,841),51506=>array(73,-60,928,841),51507=>array(73,-68,910,841),51508=>array(63,-68,907,843),51509=>array(70,-61,907,843),51510=>array(70,-61,907,843),51511=>array(70,-71,931,843),51512=>array(76,-46,907,843),51513=>array(70,-68,912,843),51514=>array(70,-76,907,843),51515=>array(70,-44,921,843),51516=>array(70,-62,917,843),51517=>array(70,-64,907,843),51518=>array(70,-64,908,843),51519=>array(70,-64,908,843),51520=>array(70,-69,923,843),51521=>array(70,-64,908,843),51522=>array(70,-64,908,843),51523=>array(70,-76,907,843),51524=>array(70,-62,907,843),51525=>array(70,-61,907,843),51526=>array(70,-69,922,843),51527=>array(70,-74,929,843),51528=>array(70,-69,927,843),51529=>array(70,-68,911,843),51530=>array(70,-72,929,843),51531=>array(70,-70,936,843),51532=>array(70,-66,908,843),51533=>array(70,-59,916,843),51534=>array(70,-60,928,843),51535=>array(70,-68,908,843),51536=>array(70,-69,907,842),51537=>array(76,-61,907,842),51538=>array(76,-61,907,842),51539=>array(76,-71,931,842),51540=>array(74,-46,907,842),51541=>array(76,-68,912,842),51542=>array(76,-76,907,842),51543=>array(76,-44,921,842),51544=>array(76,-62,917,842),51545=>array(76,-64,907,842),51546=>array(76,-64,908,842),51547=>array(76,-64,908,842),51548=>array(76,-69,923,842),51549=>array(76,-64,908,842),51550=>array(76,-64,908,842),51551=>array(76,-76,906,842),51552=>array(76,-62,907,842),51553=>array(76,-61,907,842),51554=>array(76,-69,922,842),51555=>array(76,-74,929,842),51556=>array(76,-69,927,842),51557=>array(76,-68,911,842),51558=>array(76,-72,929,842),51559=>array(76,-70,936,842),51560=>array(76,-66,908,842),51561=>array(76,-59,916,842),51562=>array(76,-60,928,842),51563=>array(76,-68,908,842),51564=>array(87,-64,928,798),51565=>array(79,-61,921,798),51566=>array(79,-61,921,798),51567=>array(79,-71,921,798),51568=>array(81,-46,922,798),51569=>array(79,-68,921,798),51570=>array(79,-74,921,798),51571=>array(79,-44,921,798),51572=>array(79,-62,921,798),51573=>array(79,-64,921,798),51574=>array(79,-64,921,798),51575=>array(79,-63,921,798),51576=>array(79,-68,921,798),51577=>array(79,-64,921,798),51578=>array(79,-63,921,798),51579=>array(79,-74,921,798),51580=>array(79,-62,921,798),51581=>array(79,-61,921,798),51582=>array(79,-69,921,798),51583=>array(79,-74,921,798),51584=>array(79,-69,921,798),51585=>array(79,-68,921,798),51586=>array(79,-72,921,798),51587=>array(79,-70,921,798),51588=>array(79,-66,921,798),51589=>array(79,-59,921,798),51590=>array(79,-60,921,798),51591=>array(79,-68,921,798),51592=>array(57,52,943,717),51593=>array(79,-61,922,798),51594=>array(79,-61,922,798),51595=>array(79,-71,922,798),51596=>array(79,-46,922,798),51597=>array(79,-68,922,798),51598=>array(79,-74,922,798),51599=>array(79,-44,922,798),51600=>array(79,-62,922,798),51601=>array(79,-64,922,798),51602=>array(79,-64,922,798),51603=>array(79,-63,922,798),51604=>array(79,-68,922,798),51605=>array(79,-64,922,798),51606=>array(79,-63,922,798),51607=>array(79,-74,922,798),51608=>array(79,-62,922,798),51609=>array(79,-61,922,798),51610=>array(79,-69,922,798),51611=>array(79,-74,922,798),51612=>array(79,-69,922,798),51613=>array(79,-68,922,798),51614=>array(79,-72,922,798),51615=>array(79,-70,922,798),51616=>array(79,-66,922,798),51617=>array(79,-59,922,798),51618=>array(79,-60,922,798),51619=>array(79,-68,922,798),51620=>array(78,-69,907,842),51621=>array(65,-61,907,842),51622=>array(65,-61,907,842),51623=>array(65,-71,931,842),51624=>array(65,-46,907,842),51625=>array(65,-68,912,842),51626=>array(65,-76,907,842),51627=>array(65,-44,921,842),51628=>array(65,-62,917,842),51629=>array(65,-64,907,842),51630=>array(65,-64,908,842),51631=>array(65,-64,908,842),51632=>array(65,-69,923,842),51633=>array(65,-64,908,842),51634=>array(65,-64,908,842),51635=>array(65,-76,907,842),51636=>array(65,-62,907,842),51637=>array(65,-61,907,842),51638=>array(65,-69,922,842),51639=>array(65,-74,929,842),51640=>array(65,-69,927,842),51641=>array(65,-68,911,842),51642=>array(65,-72,929,842),51643=>array(65,-70,936,842),51644=>array(65,-66,908,842),51645=>array(65,-59,916,842),51646=>array(65,-60,928,842),51647=>array(65,-68,908,842),51648=>array(116,-69,907,842),51649=>array(123,-61,907,842),51650=>array(123,-61,907,842),51651=>array(123,-71,931,842),51652=>array(105,-46,907,842),51653=>array(123,-68,912,842),51654=>array(123,-76,907,842),51655=>array(123,-44,921,842),51656=>array(123,-62,917,842),51657=>array(123,-64,907,842),51658=>array(123,-64,908,842),51659=>array(123,-64,908,842),51660=>array(123,-69,923,842),51661=>array(123,-64,908,842),51662=>array(123,-64,908,842),51663=>array(123,-76,907,842),51664=>array(123,-62,907,842),51665=>array(123,-61,907,842),51666=>array(123,-69,922,842),51667=>array(123,-74,929,842),51668=>array(123,-69,927,842),51669=>array(123,-68,911,842),51670=>array(123,-72,929,842),51671=>array(123,-70,936,842),51672=>array(123,-66,908,842),51673=>array(123,-59,916,842),51674=>array(123,-60,928,842),51675=>array(123,-68,908,842),51676=>array(36,-69,935,842),51677=>array(59,-59,936,842),51678=>array(59,-61,936,842),51679=>array(59,-71,936,842),51680=>array(50,-45,936,842),51681=>array(59,-69,936,842),51682=>array(59,-76,936,842),51683=>array(59,-44,936,842),51684=>array(59,-62,936,842),51685=>array(59,-64,936,842),51686=>array(59,-64,936,842),51687=>array(59,-64,936,842),51688=>array(59,-70,936,842),51689=>array(59,-64,936,842),51690=>array(59,-64,936,842),51691=>array(59,-76,936,842),51692=>array(59,-62,936,842),51693=>array(59,-61,936,842),51694=>array(59,-70,936,842),51695=>array(59,-74,936,842),51696=>array(59,-69,936,842),51697=>array(59,-67,936,842),51698=>array(59,-72,936,842),51699=>array(59,-71,936,842),51700=>array(59,-66,936,842),51701=>array(59,-59,936,842),51702=>array(59,-60,936,842),51703=>array(59,-69,936,842),51704=>array(33,-69,907,842),51705=>array(44,-61,907,842),51706=>array(44,-61,907,842),51707=>array(44,-71,931,842),51708=>array(52,-46,907,842),51709=>array(44,-68,912,842),51710=>array(44,-76,907,842),51711=>array(44,-44,921,842),51712=>array(44,-62,917,842),51713=>array(44,-64,907,842),51714=>array(44,-64,908,842),51715=>array(44,-64,908,842),51716=>array(44,-69,923,842),51717=>array(44,-64,908,842),51718=>array(44,-64,908,842),51719=>array(44,-76,907,842),51720=>array(44,-62,907,842),51721=>array(44,-61,907,842),51722=>array(44,-69,922,842),51723=>array(44,-74,929,842),51724=>array(44,-69,927,842),51725=>array(44,-68,911,842),51726=>array(44,-72,929,842),51727=>array(44,-70,936,842),51728=>array(44,-66,908,842),51729=>array(44,-59,916,842),51730=>array(44,-60,928,842),51731=>array(44,-68,908,842),51732=>array(36,-68,935,843),51733=>array(59,-59,936,842),51734=>array(59,-61,936,842),51735=>array(59,-71,936,842),51736=>array(50,-45,936,842),51737=>array(59,-69,936,842),51738=>array(59,-76,936,842),51739=>array(59,-44,936,842),51740=>array(59,-62,936,842),51741=>array(59,-64,936,842),51742=>array(59,-64,936,842),51743=>array(59,-64,936,842),51744=>array(59,-70,936,842),51745=>array(59,-64,936,842),51746=>array(59,-64,936,842),51747=>array(59,-76,936,842),51748=>array(59,-62,936,842),51749=>array(59,-61,936,842),51750=>array(59,-70,936,842),51751=>array(59,-74,936,842),51752=>array(59,-69,936,842),51753=>array(59,-67,936,842),51754=>array(59,-72,936,842),51755=>array(59,-71,936,842),51756=>array(59,-66,936,842),51757=>array(59,-59,936,842),51758=>array(59,-60,936,842),51759=>array(59,-69,936,842),51760=>array(33,-69,907,842),51761=>array(44,-61,907,842),51762=>array(44,-61,907,842),51763=>array(44,-71,931,842),51764=>array(52,-46,907,842),51765=>array(44,-68,912,842),51766=>array(44,-76,907,842),51767=>array(44,-44,921,842),51768=>array(44,-62,917,842),51769=>array(44,-64,907,842),51770=>array(44,-64,908,842),51771=>array(44,-64,908,842),51772=>array(44,-69,923,842),51773=>array(44,-64,908,842),51774=>array(44,-64,908,842),51775=>array(44,-76,907,842),51776=>array(44,-62,907,842),51777=>array(44,-61,907,842),51778=>array(44,-69,922,842),51779=>array(44,-74,929,842),51780=>array(44,-69,927,842),51781=>array(44,-68,911,842),51782=>array(44,-72,929,842),51783=>array(44,-70,936,842),51784=>array(44,-66,908,842),51785=>array(44,-59,916,842),51786=>array(44,-60,928,842),51787=>array(44,-68,908,842),51788=>array(41,-70,907,841),51789=>array(64,-61,907,841),51790=>array(64,-61,907,841),51791=>array(64,-71,931,841),51792=>array(55,-46,907,841),51793=>array(64,-68,912,841),51794=>array(64,-76,907,841),51795=>array(64,-44,921,841),51796=>array(64,-62,917,841),51797=>array(64,-64,907,841),51798=>array(64,-64,908,841),51799=>array(64,-64,908,841),51800=>array(64,-69,923,841),51801=>array(64,-64,908,841),51802=>array(64,-64,908,841),51803=>array(64,-76,906,841),51804=>array(64,-62,907,841),51805=>array(64,-61,907,841),51806=>array(64,-69,922,841),51807=>array(64,-74,929,841),51808=>array(64,-69,927,841),51809=>array(64,-68,911,841),51810=>array(64,-72,929,841),51811=>array(64,-70,936,841),51812=>array(64,-66,908,841),51813=>array(64,-59,916,841),51814=>array(64,-60,928,841),51815=>array(64,-68,908,841),51816=>array(33,-68,907,843),51817=>array(44,-61,907,843),51818=>array(44,-61,907,843),51819=>array(44,-71,931,843),51820=>array(52,-46,907,843),51821=>array(44,-68,912,843),51822=>array(44,-76,907,843),51823=>array(44,-44,921,843),51824=>array(44,-62,917,843),51825=>array(44,-64,907,843),51826=>array(44,-64,908,843),51827=>array(44,-64,908,843),51828=>array(44,-69,923,843),51829=>array(44,-64,908,843),51830=>array(44,-64,908,843),51831=>array(44,-76,907,843),51832=>array(44,-62,907,843),51833=>array(44,-61,907,843),51834=>array(44,-69,922,843),51835=>array(44,-74,929,843),51836=>array(44,-69,927,843),51837=>array(44,-68,911,843),51838=>array(44,-72,929,843),51839=>array(44,-70,936,843),51840=>array(44,-66,908,843),51841=>array(44,-59,916,843),51842=>array(44,-60,928,843),51843=>array(44,-68,908,843),51844=>array(36,-70,907,842),51845=>array(54,-61,908,842),51846=>array(54,-61,908,842),51847=>array(54,-71,931,842),51848=>array(55,-46,907,842),51849=>array(54,-68,912,842),51850=>array(54,-76,908,842),51851=>array(54,-44,921,842),51852=>array(54,-62,917,842),51853=>array(54,-64,908,842),51854=>array(54,-64,908,842),51855=>array(54,-64,908,842),51856=>array(54,-69,923,842),51857=>array(54,-64,908,842),51858=>array(54,-64,908,842),51859=>array(54,-76,908,842),51860=>array(54,-62,908,842),51861=>array(54,-61,908,842),51862=>array(54,-69,922,842),51863=>array(54,-74,929,842),51864=>array(54,-69,927,842),51865=>array(54,-68,911,842),51866=>array(54,-72,929,842),51867=>array(54,-70,936,842),51868=>array(54,-66,908,842),51869=>array(54,-59,916,842),51870=>array(54,-60,928,842),51871=>array(54,-68,908,842),51872=>array(33,-68,907,843),51873=>array(49,-61,907,843),51874=>array(49,-61,907,843),51875=>array(49,-71,931,843),51876=>array(47,-46,907,843),51877=>array(49,-68,912,843),51878=>array(49,-76,907,843),51879=>array(49,-44,921,843),51880=>array(49,-62,917,843),51881=>array(49,-64,907,843),51882=>array(49,-64,908,843),51883=>array(49,-64,908,843),51884=>array(49,-69,923,843),51885=>array(49,-64,908,843),51886=>array(49,-64,908,843),51887=>array(49,-76,907,843),51888=>array(49,-62,907,843),51889=>array(49,-61,907,843),51890=>array(49,-69,922,843),51891=>array(49,-74,929,843),51892=>array(49,-69,927,843),51893=>array(49,-68,911,843),51894=>array(49,-72,929,843),51895=>array(49,-70,936,843),51896=>array(49,-66,908,843),51897=>array(49,-59,916,843),51898=>array(49,-60,928,843),51899=>array(49,-68,908,843),51900=>array(55,22,943,755),51901=>array(79,-61,921,786),51902=>array(79,-61,921,786),51903=>array(79,-71,921,786),51904=>array(79,-46,922,786),51905=>array(79,-68,921,786),51906=>array(79,-74,921,786),51907=>array(79,-44,921,786),51908=>array(79,-62,921,786),51909=>array(79,-64,921,786),51910=>array(79,-64,921,786),51911=>array(79,-63,921,786),51912=>array(79,-68,921,786),51913=>array(79,-64,921,786),51914=>array(79,-63,921,786),51915=>array(79,-74,921,786),51916=>array(79,-62,921,786),51917=>array(79,-61,921,786),51918=>array(79,-69,921,786),51919=>array(79,-74,921,786),51920=>array(79,-69,921,786),51921=>array(79,-68,921,786),51922=>array(79,-72,921,786),51923=>array(79,-70,921,786),51924=>array(79,-66,921,786),51925=>array(79,-59,921,786),51926=>array(79,-60,921,786),51927=>array(79,-68,921,786),51928=>array(50,-69,936,842),51929=>array(65,-59,936,842),51930=>array(65,-61,936,842),51931=>array(65,-71,936,842),51932=>array(72,-45,936,842),51933=>array(65,-69,936,842),51934=>array(65,-76,936,842),51935=>array(65,-44,936,842),51936=>array(65,-62,936,842),51937=>array(65,-64,936,842),51938=>array(65,-64,936,842),51939=>array(65,-64,936,842),51940=>array(65,-70,936,842),51941=>array(65,-64,936,842),51942=>array(65,-64,936,842),51943=>array(65,-76,936,842),51944=>array(65,-62,936,842),51945=>array(65,-61,936,842),51946=>array(65,-70,936,842),51947=>array(65,-74,936,842),51948=>array(65,-69,936,842),51949=>array(65,-67,936,842),51950=>array(65,-72,936,842),51951=>array(65,-71,936,842),51952=>array(65,-66,936,842),51953=>array(65,-59,936,842),51954=>array(65,-60,936,842),51955=>array(65,-69,936,842),51956=>array(50,-69,907,842),51957=>array(71,-61,907,842),51958=>array(71,-61,907,842),51959=>array(71,-71,931,842),51960=>array(66,-46,907,842),51961=>array(71,-68,912,842),51962=>array(71,-76,907,842),51963=>array(71,-44,921,842),51964=>array(71,-62,917,842),51965=>array(71,-64,907,842),51966=>array(71,-64,908,842),51967=>array(71,-64,908,842),51968=>array(71,-69,923,842),51969=>array(71,-64,908,842),51970=>array(71,-64,908,842),51971=>array(71,-76,907,842),51972=>array(71,-62,907,842),51973=>array(71,-61,907,842),51974=>array(71,-69,922,842),51975=>array(71,-74,929,842),51976=>array(71,-69,927,842),51977=>array(71,-68,911,842),51978=>array(71,-72,929,842),51979=>array(71,-70,936,842),51980=>array(71,-66,908,842),51981=>array(71,-59,916,842),51982=>array(71,-60,928,842),51983=>array(71,-68,908,842),51984=>array(66,-69,907,842),51985=>array(65,-61,907,842),51986=>array(65,-61,907,842),51987=>array(65,-71,931,842),51988=>array(65,-46,907,842),51989=>array(65,-68,912,842),51990=>array(65,-76,907,842),51991=>array(65,-44,921,842),51992=>array(65,-62,917,842),51993=>array(65,-64,907,842),51994=>array(65,-64,908,842),51995=>array(65,-64,908,842),51996=>array(65,-69,923,842),51997=>array(65,-64,908,842),51998=>array(65,-64,908,842),51999=>array(65,-76,907,842),52000=>array(65,-62,907,842),52001=>array(65,-61,907,842),52002=>array(65,-69,922,842),52003=>array(65,-74,929,842),52004=>array(65,-69,927,842),52005=>array(65,-68,911,842),52006=>array(65,-72,929,842),52007=>array(65,-70,936,842),52008=>array(65,-66,908,842),52009=>array(65,-59,916,842),52010=>array(65,-60,928,842),52011=>array(65,-68,908,842),52012=>array(62,22,943,756),52013=>array(79,-61,922,786),52014=>array(79,-61,922,786),52015=>array(79,-71,922,786),52016=>array(79,-46,922,786),52017=>array(79,-68,922,786),52018=>array(79,-74,922,786),52019=>array(79,-44,922,786),52020=>array(79,-62,922,786),52021=>array(79,-64,922,786),52022=>array(79,-64,922,786),52023=>array(79,-63,922,786),52024=>array(79,-68,922,786),52025=>array(79,-64,922,786),52026=>array(79,-63,922,786),52027=>array(79,-74,922,786),52028=>array(79,-62,922,786),52029=>array(79,-61,922,786),52030=>array(79,-69,922,786),52031=>array(79,-74,922,786),52032=>array(79,-69,922,786),52033=>array(79,-68,922,786),52034=>array(79,-72,922,786),52035=>array(79,-70,922,786),52036=>array(79,-66,922,786),52037=>array(79,-59,922,786),52038=>array(79,-60,922,786),52039=>array(79,-68,922,786),52040=>array(82,-64,924,811),52041=>array(79,-61,921,811),52042=>array(79,-61,921,811),52043=>array(79,-71,921,811),52044=>array(79,-46,921,811),52045=>array(79,-68,921,811),52046=>array(79,-74,921,811),52047=>array(79,-44,921,811),52048=>array(79,-62,921,811),52049=>array(79,-64,921,811),52050=>array(79,-64,921,811),52051=>array(79,-63,921,811),52052=>array(79,-68,921,811),52053=>array(79,-64,921,811),52054=>array(79,-63,921,811),52055=>array(79,-74,921,811),52056=>array(79,-62,921,811),52057=>array(79,-61,921,811),52058=>array(79,-69,921,811),52059=>array(79,-74,921,811),52060=>array(79,-69,921,811),52061=>array(79,-68,921,811),52062=>array(79,-72,921,811),52063=>array(79,-70,921,811),52064=>array(79,-66,921,811),52065=>array(79,-59,921,811),52066=>array(79,-60,921,811),52067=>array(79,-68,921,811),52068=>array(81,-70,907,841),52069=>array(74,-61,909,841),52070=>array(74,-61,909,841),52071=>array(74,-71,931,841),52072=>array(66,-46,909,842),52073=>array(74,-68,912,841),52074=>array(74,-76,909,841),52075=>array(74,-44,921,841),52076=>array(74,-62,917,841),52077=>array(74,-64,909,841),52078=>array(74,-64,909,841),52079=>array(74,-64,909,841),52080=>array(74,-69,923,841),52081=>array(74,-64,909,841),52082=>array(74,-64,909,841),52083=>array(74,-76,909,841),52084=>array(74,-62,909,841),52085=>array(74,-61,909,841),52086=>array(74,-69,922,841),52087=>array(74,-74,929,841),52088=>array(74,-69,927,841),52089=>array(74,-68,911,841),52090=>array(74,-72,929,841),52091=>array(74,-70,936,841),52092=>array(74,-66,909,841),52093=>array(74,-59,916,841),52094=>array(74,-60,928,841),52095=>array(74,-68,909,841),52096=>array(50,-68,907,843),52097=>array(68,-61,907,843),52098=>array(68,-61,907,843),52099=>array(68,-71,931,843),52100=>array(68,-46,907,843),52101=>array(68,-68,912,843),52102=>array(68,-76,907,843),52103=>array(68,-44,921,843),52104=>array(68,-62,917,843),52105=>array(68,-64,907,843),52106=>array(68,-64,908,843),52107=>array(68,-64,908,843),52108=>array(68,-69,923,843),52109=>array(68,-64,908,843),52110=>array(68,-64,908,843),52111=>array(68,-76,907,843),52112=>array(68,-62,907,843),52113=>array(68,-61,907,843),52114=>array(68,-69,922,843),52115=>array(68,-74,929,843),52116=>array(68,-69,927,843),52117=>array(68,-68,911,843),52118=>array(68,-72,929,843),52119=>array(68,-70,936,843),52120=>array(68,-66,908,843),52121=>array(68,-59,916,843),52122=>array(68,-60,928,843),52123=>array(68,-68,908,843),52124=>array(60,-69,907,842),52125=>array(65,-61,907,842),52126=>array(65,-61,907,842),52127=>array(65,-71,931,842),52128=>array(65,-46,907,842),52129=>array(65,-68,912,842),52130=>array(65,-76,907,842),52131=>array(65,-44,921,842),52132=>array(65,-62,917,842),52133=>array(65,-64,907,842),52134=>array(65,-64,908,842),52135=>array(65,-64,908,842),52136=>array(65,-69,923,842),52137=>array(65,-64,908,842),52138=>array(65,-64,908,842),52139=>array(65,-76,907,842),52140=>array(65,-62,907,842),52141=>array(65,-61,907,842),52142=>array(65,-69,922,842),52143=>array(65,-74,929,842),52144=>array(65,-69,927,842),52145=>array(65,-68,911,842),52146=>array(65,-72,929,842),52147=>array(65,-70,936,842),52148=>array(65,-66,908,842),52149=>array(65,-59,916,842),52150=>array(65,-60,928,842),52151=>array(65,-68,908,842),52152=>array(82,-64,924,811),52153=>array(79,-61,921,811),52154=>array(79,-61,921,811),52155=>array(79,-71,921,811),52156=>array(81,-46,922,811),52157=>array(79,-68,921,811),52158=>array(79,-74,921,811),52159=>array(79,-44,921,811),52160=>array(79,-62,921,811),52161=>array(79,-64,921,811),52162=>array(79,-64,921,811),52163=>array(79,-63,921,811),52164=>array(79,-68,921,811),52165=>array(79,-64,921,811),52166=>array(79,-63,921,811),52167=>array(79,-74,921,811),52168=>array(79,-62,921,811),52169=>array(79,-61,921,811),52170=>array(79,-69,921,811),52171=>array(79,-74,921,811),52172=>array(79,-69,921,811),52173=>array(79,-68,921,811),52174=>array(79,-72,921,811),52175=>array(79,-70,921,811),52176=>array(79,-66,921,811),52177=>array(79,-59,921,811),52178=>array(79,-60,921,811),52179=>array(79,-68,921,811),52180=>array(56,37,944,728),52181=>array(79,-61,922,786),52182=>array(79,-61,922,786),52183=>array(79,-71,922,786),52184=>array(79,-46,921,784),52185=>array(79,-68,922,786),52186=>array(79,-74,922,786),52187=>array(79,-44,922,786),52188=>array(79,-62,922,786),52189=>array(79,-64,922,786),52190=>array(79,-64,922,786),52191=>array(79,-63,922,786),52192=>array(79,-68,922,786),52193=>array(79,-64,922,786),52194=>array(79,-63,922,786),52195=>array(79,-74,922,786),52196=>array(79,-62,922,786),52197=>array(79,-61,922,786),52198=>array(79,-69,922,786),52199=>array(79,-74,922,786),52200=>array(79,-69,922,786),52201=>array(79,-68,922,786),52202=>array(79,-72,922,786),52203=>array(79,-70,922,786),52204=>array(79,-66,922,786),52205=>array(79,-59,922,786),52206=>array(79,-60,922,786),52207=>array(79,-68,922,786),52208=>array(63,-69,907,842),52209=>array(65,-61,907,842),52210=>array(65,-61,907,842),52211=>array(65,-71,931,842),52212=>array(65,-46,907,842),52213=>array(65,-68,912,842),52214=>array(65,-76,907,842),52215=>array(65,-44,921,842),52216=>array(65,-62,917,842),52217=>array(65,-64,907,842),52218=>array(65,-64,908,842),52219=>array(65,-64,908,842),52220=>array(65,-69,923,842),52221=>array(65,-64,908,842),52222=>array(65,-64,908,842),52223=>array(65,-76,907,842),52224=>array(65,-62,907,842),52225=>array(65,-61,907,842),52226=>array(65,-69,922,842),52227=>array(65,-74,929,842),52228=>array(65,-69,927,842),52229=>array(65,-68,911,842),52230=>array(65,-72,929,842),52231=>array(65,-70,936,842),52232=>array(65,-66,908,842),52233=>array(65,-59,916,842),52234=>array(65,-60,928,842),52235=>array(65,-68,908,842),52236=>array(76,-69,907,842),52237=>array(60,-61,907,842),52238=>array(60,-61,907,842),52239=>array(60,-71,931,842),52240=>array(57,-46,907,842),52241=>array(60,-68,912,842),52242=>array(60,-76,907,842),52243=>array(60,-44,921,842),52244=>array(60,-62,917,842),52245=>array(60,-64,907,842),52246=>array(60,-64,908,842),52247=>array(60,-64,908,842),52248=>array(60,-69,923,842),52249=>array(60,-64,908,842),52250=>array(60,-64,908,842),52251=>array(60,-76,907,842),52252=>array(60,-62,907,842),52253=>array(60,-61,907,842),52254=>array(60,-69,922,842),52255=>array(60,-74,929,842),52256=>array(60,-69,927,842),52257=>array(60,-68,911,842),52258=>array(60,-72,929,842),52259=>array(60,-70,936,842),52260=>array(60,-66,908,842),52261=>array(60,-59,916,842),52262=>array(60,-60,928,842),52263=>array(60,-68,908,842),52264=>array(86,-69,935,842),52265=>array(71,-59,936,842),52266=>array(71,-61,936,842),52267=>array(71,-71,936,842),52268=>array(64,-45,936,842),52269=>array(71,-69,936,842),52270=>array(71,-76,936,842),52271=>array(71,-44,936,842),52272=>array(71,-62,936,842),52273=>array(71,-64,936,842),52274=>array(71,-64,936,842),52275=>array(71,-64,936,842),52276=>array(71,-70,936,842),52277=>array(71,-64,936,842),52278=>array(71,-64,936,842),52279=>array(71,-76,936,842),52280=>array(71,-62,936,842),52281=>array(71,-61,936,842),52282=>array(71,-70,936,842),52283=>array(71,-74,936,842),52284=>array(71,-69,936,842),52285=>array(71,-67,936,842),52286=>array(71,-72,936,842),52287=>array(71,-71,936,842),52288=>array(71,-66,936,842),52289=>array(71,-59,936,842),52290=>array(71,-60,936,842),52291=>array(71,-69,936,842),52292=>array(81,-69,907,842),52293=>array(69,-61,907,842),52294=>array(69,-61,907,842),52295=>array(69,-71,931,842),52296=>array(64,-46,907,842),52297=>array(69,-68,912,842),52298=>array(69,-76,907,842),52299=>array(69,-44,921,842),52300=>array(69,-62,917,842),52301=>array(69,-64,907,842),52302=>array(69,-64,908,842),52303=>array(69,-64,908,842),52304=>array(69,-69,923,842),52305=>array(69,-64,908,842),52306=>array(69,-64,908,842),52307=>array(69,-76,907,842),52308=>array(69,-62,907,842),52309=>array(69,-61,907,842),52310=>array(69,-69,922,842),52311=>array(69,-74,929,842),52312=>array(69,-69,927,842),52313=>array(69,-68,911,842),52314=>array(69,-72,929,842),52315=>array(69,-70,936,842),52316=>array(69,-66,908,842),52317=>array(69,-59,916,842),52318=>array(69,-60,928,842),52319=>array(69,-68,908,842),52320=>array(86,-68,935,843),52321=>array(74,-59,936,842),52322=>array(74,-61,936,842),52323=>array(74,-71,936,842),52324=>array(64,-45,936,842),52325=>array(74,-69,936,842),52326=>array(74,-76,936,842),52327=>array(74,-44,936,842),52328=>array(74,-62,936,842),52329=>array(74,-64,936,842),52330=>array(74,-64,936,842),52331=>array(74,-64,936,842),52332=>array(74,-70,936,842),52333=>array(74,-64,936,842),52334=>array(74,-64,936,842),52335=>array(74,-76,936,842),52336=>array(74,-62,936,842),52337=>array(74,-61,936,842),52338=>array(74,-70,936,842),52339=>array(74,-74,936,842),52340=>array(74,-69,936,842),52341=>array(74,-67,936,842),52342=>array(74,-72,936,842),52343=>array(74,-71,936,842),52344=>array(74,-66,936,842),52345=>array(74,-59,936,842),52346=>array(74,-60,936,842),52347=>array(74,-69,936,842),52348=>array(81,-69,907,842),52349=>array(71,-61,907,842),52350=>array(71,-61,907,842),52351=>array(71,-71,931,842),52352=>array(64,-46,907,842),52353=>array(71,-68,912,842),52354=>array(71,-76,907,842),52355=>array(71,-44,921,842),52356=>array(71,-62,917,842),52357=>array(71,-64,907,842),52358=>array(71,-64,908,842),52359=>array(71,-64,908,842),52360=>array(71,-69,923,842),52361=>array(71,-64,908,842),52362=>array(71,-64,908,842),52363=>array(71,-76,907,842),52364=>array(71,-62,907,842),52365=>array(71,-61,907,842),52366=>array(71,-69,922,842),52367=>array(71,-74,929,842),52368=>array(71,-69,927,842),52369=>array(71,-68,911,842),52370=>array(71,-72,929,842),52371=>array(71,-70,936,842),52372=>array(71,-66,908,842),52373=>array(71,-59,916,842),52374=>array(71,-60,928,842),52375=>array(71,-68,908,842),52376=>array(86,-70,907,841),52377=>array(68,-61,907,842),52378=>array(68,-61,907,842),52379=>array(68,-71,931,842),52380=>array(66,-46,907,841),52381=>array(68,-68,912,842),52382=>array(68,-76,907,842),52383=>array(68,-44,921,842),52384=>array(68,-62,917,842),52385=>array(68,-64,907,842),52386=>array(68,-64,908,842),52387=>array(68,-64,908,842),52388=>array(68,-69,923,842),52389=>array(68,-64,908,842),52390=>array(68,-64,908,842),52391=>array(68,-76,906,842),52392=>array(68,-62,907,842),52393=>array(68,-61,907,842),52394=>array(68,-69,922,842),52395=>array(68,-74,929,842),52396=>array(68,-69,927,842),52397=>array(68,-68,911,842),52398=>array(68,-72,929,842),52399=>array(68,-70,936,842),52400=>array(68,-66,908,842),52401=>array(68,-59,916,842),52402=>array(68,-60,928,842),52403=>array(68,-68,908,842),52404=>array(71,-68,907,843),52405=>array(65,-61,907,843),52406=>array(65,-61,907,843),52407=>array(65,-71,931,843),52408=>array(66,-46,907,843),52409=>array(65,-68,912,843),52410=>array(65,-76,907,843),52411=>array(65,-44,921,843),52412=>array(65,-62,917,843),52413=>array(65,-64,907,843),52414=>array(65,-64,908,843),52415=>array(65,-64,908,843),52416=>array(65,-69,923,843),52417=>array(65,-64,908,843),52418=>array(65,-64,908,843),52419=>array(65,-76,907,843),52420=>array(65,-62,907,843),52421=>array(65,-61,907,843),52422=>array(65,-69,922,843),52423=>array(65,-74,929,843),52424=>array(65,-69,927,843),52425=>array(65,-68,911,843),52426=>array(65,-72,929,843),52427=>array(65,-70,936,843),52428=>array(65,-66,908,843),52429=>array(65,-59,916,843),52430=>array(65,-60,928,843),52431=>array(65,-68,908,843),52432=>array(86,-70,907,842),52433=>array(65,-61,907,842),52434=>array(65,-61,907,842),52435=>array(65,-71,931,842),52436=>array(62,-46,907,842),52437=>array(65,-68,912,842),52438=>array(65,-76,907,842),52439=>array(65,-44,921,842),52440=>array(65,-62,917,842),52441=>array(65,-64,907,842),52442=>array(65,-64,908,842),52443=>array(65,-64,908,842),52444=>array(65,-69,923,842),52445=>array(65,-64,908,842),52446=>array(65,-64,908,842),52447=>array(65,-76,907,842),52448=>array(65,-62,907,842),52449=>array(65,-61,907,842),52450=>array(65,-69,922,842),52451=>array(65,-74,929,842),52452=>array(65,-69,927,842),52453=>array(65,-68,911,842),52454=>array(65,-72,929,842),52455=>array(65,-70,936,842),52456=>array(65,-66,908,842),52457=>array(65,-59,916,842),52458=>array(65,-60,928,842),52459=>array(65,-68,908,842),52460=>array(71,-68,907,843),52461=>array(65,-61,907,843),52462=>array(65,-61,907,843),52463=>array(65,-71,931,843),52464=>array(65,-46,907,843),52465=>array(65,-68,912,843),52466=>array(65,-76,907,843),52467=>array(65,-44,921,843),52468=>array(65,-62,917,843),52469=>array(65,-64,907,843),52470=>array(65,-64,908,843),52471=>array(65,-64,908,843),52472=>array(65,-69,923,843),52473=>array(65,-64,908,843),52474=>array(65,-64,908,843),52475=>array(65,-76,907,843),52476=>array(65,-62,907,843),52477=>array(65,-61,907,843),52478=>array(65,-69,922,843),52479=>array(65,-74,929,843),52480=>array(65,-69,927,843),52481=>array(65,-68,911,843),52482=>array(65,-72,929,843),52483=>array(65,-70,936,843),52484=>array(65,-66,908,843),52485=>array(65,-59,916,843),52486=>array(65,-60,928,843),52487=>array(65,-68,908,843),52488=>array(62,-3,943,777),52489=>array(79,-61,921,802),52490=>array(79,-61,921,802),52491=>array(79,-71,921,802),52492=>array(79,-46,921,792),52493=>array(79,-68,921,802),52494=>array(79,-74,921,802),52495=>array(79,-44,921,802),52496=>array(79,-62,921,802),52497=>array(79,-64,921,802),52498=>array(79,-64,921,802),52499=>array(79,-63,921,802),52500=>array(79,-68,921,802),52501=>array(79,-64,921,802),52502=>array(79,-63,921,802),52503=>array(79,-74,921,802),52504=>array(79,-62,921,802),52505=>array(79,-61,921,802),52506=>array(79,-69,921,802),52507=>array(79,-74,921,802),52508=>array(79,-69,921,802),52509=>array(79,-68,921,802),52510=>array(79,-72,921,802),52511=>array(79,-70,921,802),52512=>array(79,-66,921,802),52513=>array(79,-59,921,802),52514=>array(79,-60,921,802),52515=>array(79,-68,921,802),52516=>array(64,-69,936,842),52517=>array(77,-59,936,842),52518=>array(77,-61,936,842),52519=>array(77,-71,936,842),52520=>array(72,-45,936,842),52521=>array(77,-69,936,842),52522=>array(77,-76,936,842),52523=>array(77,-44,936,842),52524=>array(77,-62,936,842),52525=>array(77,-64,936,842),52526=>array(77,-64,936,842),52527=>array(77,-64,936,842),52528=>array(77,-70,936,842),52529=>array(77,-64,936,842),52530=>array(77,-64,936,842),52531=>array(77,-76,936,842),52532=>array(77,-62,936,842),52533=>array(77,-61,936,842),52534=>array(77,-70,936,842),52535=>array(77,-74,936,842),52536=>array(77,-69,936,842),52537=>array(77,-67,936,842),52538=>array(77,-72,936,842),52539=>array(77,-71,936,842),52540=>array(77,-66,936,842),52541=>array(77,-59,936,842),52542=>array(77,-60,936,842),52543=>array(77,-69,936,842),52544=>array(57,-69,907,842),52545=>array(72,-61,907,842),52546=>array(72,-61,907,842),52547=>array(72,-71,931,842),52548=>array(72,-46,907,842),52549=>array(72,-68,912,842),52550=>array(72,-76,907,842),52551=>array(72,-44,921,842),52552=>array(72,-62,917,842),52553=>array(72,-64,907,842),52554=>array(72,-64,908,842),52555=>array(72,-64,908,842),52556=>array(72,-69,923,842),52557=>array(72,-64,908,842),52558=>array(72,-64,908,842),52559=>array(72,-76,907,842),52560=>array(72,-62,907,842),52561=>array(72,-61,907,842),52562=>array(72,-69,922,842),52563=>array(72,-74,929,842),52564=>array(72,-69,927,842),52565=>array(72,-68,911,842),52566=>array(72,-72,929,842),52567=>array(72,-70,936,842),52568=>array(72,-66,908,842),52569=>array(72,-59,916,842),52570=>array(72,-60,928,842),52571=>array(72,-68,908,842),52572=>array(67,-69,907,842),52573=>array(65,-61,907,842),52574=>array(65,-61,907,842),52575=>array(65,-71,931,842),52576=>array(65,-46,907,842),52577=>array(65,-68,912,842),52578=>array(65,-76,907,842),52579=>array(65,-44,921,842),52580=>array(65,-62,917,842),52581=>array(65,-64,907,842),52582=>array(65,-64,908,842),52583=>array(65,-64,908,842),52584=>array(65,-69,923,842),52585=>array(65,-64,908,842),52586=>array(65,-64,908,842),52587=>array(65,-76,907,842),52588=>array(65,-62,907,842),52589=>array(65,-61,907,842),52590=>array(65,-69,922,842),52591=>array(65,-74,929,842),52592=>array(65,-69,927,842),52593=>array(65,-68,911,842),52594=>array(65,-72,929,842),52595=>array(65,-70,936,842),52596=>array(65,-66,908,842),52597=>array(65,-59,916,842),52598=>array(65,-60,928,842),52599=>array(65,-68,908,842),52600=>array(62,-3,938,777),52601=>array(79,-61,922,802),52602=>array(79,-61,922,802),52603=>array(79,-71,922,802),52604=>array(79,-46,922,792),52605=>array(79,-68,922,802),52606=>array(79,-74,922,802),52607=>array(79,-44,922,802),52608=>array(79,-62,922,802),52609=>array(79,-64,922,802),52610=>array(79,-64,922,802),52611=>array(79,-63,922,802),52612=>array(79,-68,922,802),52613=>array(79,-64,922,802),52614=>array(79,-63,922,802),52615=>array(79,-74,922,802),52616=>array(79,-62,922,802),52617=>array(79,-61,922,802),52618=>array(79,-69,922,802),52619=>array(79,-74,922,802),52620=>array(79,-69,922,802),52621=>array(79,-68,922,802),52622=>array(79,-72,922,802),52623=>array(79,-70,922,802),52624=>array(79,-66,922,802),52625=>array(79,-59,922,802),52626=>array(79,-60,922,802),52627=>array(79,-68,922,802),52628=>array(79,-64,921,820),52629=>array(79,-61,921,822),52630=>array(79,-61,921,822),52631=>array(79,-71,921,822),52632=>array(79,-46,921,820),52633=>array(79,-68,921,822),52634=>array(79,-74,921,822),52635=>array(79,-44,921,822),52636=>array(79,-62,921,822),52637=>array(79,-64,921,822),52638=>array(79,-64,921,822),52639=>array(79,-63,921,822),52640=>array(79,-68,921,822),52641=>array(79,-64,921,822),52642=>array(79,-63,921,822),52643=>array(79,-74,921,822),52644=>array(79,-62,921,822),52645=>array(79,-61,921,822),52646=>array(79,-69,921,822),52647=>array(79,-74,921,822),52648=>array(79,-69,921,822),52649=>array(79,-68,921,822),52650=>array(79,-72,921,822),52651=>array(79,-70,921,822),52652=>array(79,-66,921,822),52653=>array(79,-59,921,822),52654=>array(79,-60,921,822),52655=>array(79,-68,921,822),52656=>array(70,-70,907,841),52657=>array(75,-61,910,841),52658=>array(75,-61,910,841),52659=>array(75,-71,931,841),52660=>array(76,-46,910,842),52661=>array(75,-68,912,841),52662=>array(75,-76,910,841),52663=>array(75,-44,921,841),52664=>array(75,-62,917,841),52665=>array(75,-64,910,841),52666=>array(75,-64,910,841),52667=>array(75,-64,910,841),52668=>array(75,-69,923,841),52669=>array(75,-64,910,841),52670=>array(75,-64,910,841),52671=>array(75,-76,910,841),52672=>array(75,-62,910,841),52673=>array(75,-61,910,841),52674=>array(75,-69,922,841),52675=>array(75,-74,929,841),52676=>array(75,-69,927,841),52677=>array(75,-68,911,841),52678=>array(75,-72,929,841),52679=>array(75,-70,936,841),52680=>array(75,-66,910,841),52681=>array(75,-59,916,841),52682=>array(75,-60,928,841),52683=>array(75,-68,910,841),52684=>array(63,-68,907,843),52685=>array(70,-61,907,843),52686=>array(70,-61,907,843),52687=>array(70,-71,931,843),52688=>array(76,-46,907,843),52689=>array(70,-68,912,843),52690=>array(70,-76,907,843),52691=>array(70,-44,921,843),52692=>array(70,-62,917,843),52693=>array(70,-64,907,843),52694=>array(70,-64,908,843),52695=>array(70,-64,908,843),52696=>array(70,-69,923,843),52697=>array(70,-64,908,843),52698=>array(70,-64,908,843),52699=>array(70,-76,907,843),52700=>array(70,-62,907,843),52701=>array(70,-61,907,843),52702=>array(70,-69,922,843),52703=>array(70,-74,929,843),52704=>array(70,-69,927,843),52705=>array(70,-68,911,843),52706=>array(70,-72,929,843),52707=>array(70,-70,936,843),52708=>array(70,-66,908,843),52709=>array(70,-59,916,843),52710=>array(70,-60,928,843),52711=>array(70,-68,908,843),52712=>array(70,-69,907,842),52713=>array(65,-61,907,842),52714=>array(65,-61,907,842),52715=>array(65,-71,931,842),52716=>array(66,-46,907,842),52717=>array(65,-68,912,842),52718=>array(65,-76,907,842),52719=>array(65,-44,921,842),52720=>array(65,-62,917,842),52721=>array(65,-64,907,842),52722=>array(65,-64,908,842),52723=>array(65,-64,908,842),52724=>array(65,-69,923,842),52725=>array(65,-64,908,842),52726=>array(65,-64,908,842),52727=>array(65,-76,907,842),52728=>array(65,-62,907,842),52729=>array(65,-61,907,842),52730=>array(65,-69,922,842),52731=>array(65,-74,929,842),52732=>array(65,-69,927,842),52733=>array(65,-68,911,842),52734=>array(65,-72,929,842),52735=>array(65,-70,936,842),52736=>array(65,-66,908,842),52737=>array(65,-59,916,842),52738=>array(65,-60,928,842),52739=>array(65,-68,908,842),52740=>array(87,-54,928,820),52741=>array(79,-61,921,822),52742=>array(79,-61,921,822),52743=>array(79,-71,921,822),52744=>array(81,-46,922,820),52745=>array(79,-68,921,822),52746=>array(79,-74,921,822),52747=>array(79,-44,921,822),52748=>array(79,-62,921,822),52749=>array(79,-64,921,822),52750=>array(79,-64,921,822),52751=>array(79,-63,921,822),52752=>array(79,-68,921,822),52753=>array(79,-64,921,822),52754=>array(79,-63,921,822),52755=>array(79,-74,921,822),52756=>array(79,-62,921,822),52757=>array(79,-61,921,822),52758=>array(79,-69,921,822),52759=>array(79,-74,921,822),52760=>array(79,-69,921,822),52761=>array(79,-68,921,822),52762=>array(79,-72,921,822),52763=>array(79,-70,921,822),52764=>array(79,-66,921,822),52765=>array(79,-59,921,822),52766=>array(79,-60,921,822),52767=>array(79,-68,921,822),52768=>array(57,47,943,752),52769=>array(79,-61,922,802),52770=>array(79,-61,922,802),52771=>array(79,-71,922,802),52772=>array(79,-46,922,792),52773=>array(79,-68,922,802),52774=>array(79,-74,922,802),52775=>array(79,-44,922,802),52776=>array(79,-62,922,802),52777=>array(79,-64,922,802),52778=>array(79,-64,922,802),52779=>array(79,-63,922,802),52780=>array(79,-68,922,802),52781=>array(79,-64,922,802),52782=>array(79,-63,922,802),52783=>array(79,-74,922,802),52784=>array(79,-62,922,802),52785=>array(79,-61,922,802),52786=>array(79,-69,922,802),52787=>array(79,-74,922,802),52788=>array(79,-69,922,802),52789=>array(79,-68,922,802),52790=>array(79,-72,922,802),52791=>array(79,-70,922,802),52792=>array(79,-66,922,802),52793=>array(79,-59,922,802),52794=>array(79,-60,922,802),52795=>array(79,-68,922,802),52796=>array(70,-69,907,842),52797=>array(65,-61,907,842),52798=>array(65,-61,907,842),52799=>array(65,-71,931,842),52800=>array(65,-46,907,842),52801=>array(65,-68,912,842),52802=>array(65,-76,907,842),52803=>array(65,-44,921,842),52804=>array(65,-62,917,842),52805=>array(65,-64,907,842),52806=>array(65,-64,908,842),52807=>array(65,-64,908,842),52808=>array(65,-69,923,842),52809=>array(65,-64,908,842),52810=>array(65,-64,908,842),52811=>array(65,-76,907,842),52812=>array(65,-62,907,842),52813=>array(65,-61,907,842),52814=>array(65,-69,922,842),52815=>array(65,-74,929,842),52816=>array(65,-69,927,842),52817=>array(65,-68,911,842),52818=>array(65,-72,929,842),52819=>array(65,-70,936,842),52820=>array(65,-66,908,842),52821=>array(65,-59,916,842),52822=>array(65,-60,928,842),52823=>array(65,-68,908,842),52824=>array(115,-69,907,842),52825=>array(95,-61,907,842),52826=>array(95,-61,907,842),52827=>array(95,-71,931,842),52828=>array(99,-46,907,842),52829=>array(95,-68,912,842),52830=>array(95,-76,907,842),52831=>array(95,-44,921,842),52832=>array(95,-62,917,842),52833=>array(95,-64,907,842),52834=>array(95,-64,908,842),52835=>array(95,-64,908,842),52836=>array(95,-69,923,842),52837=>array(95,-64,908,842),52838=>array(95,-64,908,842),52839=>array(95,-76,907,842),52840=>array(95,-62,907,842),52841=>array(95,-61,907,842),52842=>array(95,-69,922,842),52843=>array(95,-74,929,842),52844=>array(95,-69,927,842),52845=>array(95,-68,911,842),52846=>array(95,-72,929,842),52847=>array(95,-70,936,842),52848=>array(95,-66,908,842),52849=>array(95,-59,916,842),52850=>array(95,-60,928,842),52851=>array(95,-68,908,842),52852=>array(84,-69,936,842),52853=>array(66,-59,936,842),52854=>array(66,-61,936,842),52855=>array(66,-71,936,842),52856=>array(69,-45,936,842),52857=>array(66,-69,936,842),52858=>array(66,-76,936,842),52859=>array(66,-44,936,842),52860=>array(66,-62,936,842),52861=>array(66,-64,936,842),52862=>array(66,-64,936,842),52863=>array(66,-64,936,842),52864=>array(66,-70,936,842),52865=>array(66,-64,936,842),52866=>array(66,-64,936,842),52867=>array(66,-76,936,842),52868=>array(66,-62,936,842),52869=>array(66,-61,936,842),52870=>array(66,-70,936,842),52871=>array(66,-74,936,842),52872=>array(66,-69,936,842),52873=>array(66,-67,936,842),52874=>array(66,-72,936,842),52875=>array(66,-71,936,842),52876=>array(66,-66,936,842),52877=>array(66,-59,936,842),52878=>array(66,-60,936,842),52879=>array(66,-69,936,842),52880=>array(79,-69,907,842),52881=>array(66,-61,907,842),52882=>array(66,-61,907,842),52883=>array(66,-71,931,842),52884=>array(69,-46,907,842),52885=>array(66,-68,912,842),52886=>array(66,-76,907,842),52887=>array(66,-44,921,842),52888=>array(66,-62,917,842),52889=>array(66,-64,907,842),52890=>array(66,-64,908,842),52891=>array(66,-64,908,842),52892=>array(66,-69,923,842),52893=>array(66,-64,908,842),52894=>array(66,-64,908,842),52895=>array(66,-76,907,842),52896=>array(66,-62,907,842),52897=>array(66,-61,907,842),52898=>array(66,-69,922,842),52899=>array(66,-74,929,842),52900=>array(66,-69,927,842),52901=>array(66,-68,911,842),52902=>array(66,-72,929,842),52903=>array(66,-70,936,842),52904=>array(66,-66,908,842),52905=>array(66,-59,916,842),52906=>array(66,-60,928,842),52907=>array(66,-68,908,842),52908=>array(74,-68,935,843),52909=>array(66,-59,936,842),52910=>array(66,-61,936,842),52911=>array(66,-71,936,842),52912=>array(69,-45,936,842),52913=>array(66,-69,936,842),52914=>array(66,-76,936,842),52915=>array(66,-44,936,842),52916=>array(66,-62,936,842),52917=>array(66,-64,936,842),52918=>array(66,-64,936,842),52919=>array(66,-64,936,842),52920=>array(66,-70,936,842),52921=>array(66,-64,936,842),52922=>array(66,-64,936,842),52923=>array(66,-76,936,842),52924=>array(66,-62,936,842),52925=>array(66,-61,936,842),52926=>array(66,-70,936,842),52927=>array(66,-74,936,842),52928=>array(66,-69,936,842),52929=>array(66,-67,936,842),52930=>array(66,-72,936,842),52931=>array(66,-71,936,842),52932=>array(66,-66,936,842),52933=>array(66,-59,936,842),52934=>array(66,-60,936,842),52935=>array(66,-69,936,842),52936=>array(79,-69,907,842),52937=>array(66,-61,907,842),52938=>array(66,-61,907,842),52939=>array(66,-71,931,842),52940=>array(69,-46,907,842),52941=>array(66,-68,912,842),52942=>array(66,-76,907,842),52943=>array(66,-44,921,842),52944=>array(66,-62,917,842),52945=>array(66,-64,907,842),52946=>array(66,-64,908,842),52947=>array(66,-64,908,842),52948=>array(66,-69,923,842),52949=>array(66,-64,908,842),52950=>array(66,-64,908,842),52951=>array(66,-76,907,842),52952=>array(66,-62,907,842),52953=>array(66,-61,907,842),52954=>array(66,-69,922,842),52955=>array(66,-74,929,842),52956=>array(66,-69,927,842),52957=>array(66,-68,911,842),52958=>array(66,-72,929,842),52959=>array(66,-70,936,842),52960=>array(66,-66,908,842),52961=>array(66,-59,916,842),52962=>array(66,-60,928,842),52963=>array(66,-68,908,842),52964=>array(104,-70,907,841),52965=>array(66,-61,907,841),52966=>array(66,-61,907,841),52967=>array(66,-71,931,841),52968=>array(69,-46,907,841),52969=>array(66,-68,912,841),52970=>array(66,-76,907,841),52971=>array(66,-44,921,841),52972=>array(66,-62,917,841),52973=>array(66,-64,907,841),52974=>array(66,-64,908,841),52975=>array(66,-64,908,841),52976=>array(66,-69,923,841),52977=>array(66,-64,908,841),52978=>array(66,-64,908,841),52979=>array(66,-76,906,841),52980=>array(66,-62,907,841),52981=>array(66,-61,907,841),52982=>array(66,-69,922,841),52983=>array(66,-74,929,841),52984=>array(66,-69,927,841),52985=>array(66,-68,911,841),52986=>array(66,-72,929,841),52987=>array(66,-70,936,841),52988=>array(66,-66,908,841),52989=>array(66,-59,916,841),52990=>array(66,-60,928,841),52991=>array(66,-68,908,841),52992=>array(97,-68,907,843),52993=>array(66,-61,907,843),52994=>array(66,-61,907,843),52995=>array(66,-71,931,843),52996=>array(69,-46,907,843),52997=>array(66,-68,912,843),52998=>array(66,-76,907,843),52999=>array(66,-44,921,843),53000=>array(66,-62,917,843),53001=>array(66,-64,907,843),53002=>array(66,-64,908,843),53003=>array(66,-64,908,843),53004=>array(66,-69,923,843),53005=>array(66,-64,908,843),53006=>array(66,-64,908,843),53007=>array(66,-76,907,843),53008=>array(66,-62,907,843),53009=>array(66,-61,907,843),53010=>array(66,-69,922,843),53011=>array(66,-74,929,843),53012=>array(66,-69,927,843),53013=>array(66,-68,911,843),53014=>array(66,-72,929,843),53015=>array(66,-70,936,843),53016=>array(66,-66,908,843),53017=>array(66,-59,916,843),53018=>array(66,-60,928,843),53019=>array(66,-68,908,843),53020=>array(104,-70,907,842),53021=>array(66,-61,908,842),53022=>array(66,-61,908,842),53023=>array(66,-71,931,842),53024=>array(69,-46,907,842),53025=>array(66,-68,912,842),53026=>array(66,-76,908,842),53027=>array(66,-44,921,842),53028=>array(66,-62,917,842),53029=>array(66,-64,908,842),53030=>array(66,-64,908,842),53031=>array(66,-64,908,842),53032=>array(66,-69,923,842),53033=>array(66,-64,908,842),53034=>array(66,-64,908,842),53035=>array(66,-76,908,842),53036=>array(66,-62,908,842),53037=>array(66,-61,908,842),53038=>array(66,-69,922,842),53039=>array(66,-74,929,842),53040=>array(66,-69,927,842),53041=>array(66,-68,911,842),53042=>array(66,-72,929,842),53043=>array(66,-70,936,842),53044=>array(66,-66,908,842),53045=>array(66,-59,916,842),53046=>array(66,-60,928,842),53047=>array(66,-68,908,842),53048=>array(97,-68,907,843),53049=>array(66,-61,907,843),53050=>array(66,-61,907,843),53051=>array(66,-71,931,843),53052=>array(64,-46,907,843),53053=>array(66,-68,912,843),53054=>array(66,-76,907,843),53055=>array(66,-44,921,843),53056=>array(66,-62,917,843),53057=>array(66,-64,907,843),53058=>array(66,-64,908,843),53059=>array(66,-64,908,843),53060=>array(66,-69,923,843),53061=>array(66,-64,908,843),53062=>array(66,-64,908,843),53063=>array(66,-76,907,843),53064=>array(66,-62,907,843),53065=>array(66,-61,907,843),53066=>array(66,-69,922,843),53067=>array(66,-74,929,843),53068=>array(66,-69,927,843),53069=>array(66,-68,911,843),53070=>array(66,-72,929,843),53071=>array(66,-70,936,843),53072=>array(66,-66,908,843),53073=>array(66,-59,916,843),53074=>array(66,-60,928,843),53075=>array(66,-68,908,843),53076=>array(62,22,943,725),53077=>array(79,-61,921,775),53078=>array(79,-61,921,775),53079=>array(79,-71,921,775),53080=>array(79,-46,922,775),53081=>array(79,-68,921,775),53082=>array(79,-74,921,775),53083=>array(79,-44,921,775),53084=>array(79,-62,921,775),53085=>array(79,-64,921,775),53086=>array(79,-64,921,775),53087=>array(79,-63,921,775),53088=>array(79,-68,921,775),53089=>array(79,-64,921,775),53090=>array(79,-63,921,775),53091=>array(79,-74,921,775),53092=>array(79,-62,921,775),53093=>array(79,-61,921,775),53094=>array(79,-69,921,775),53095=>array(79,-74,921,775),53096=>array(79,-69,921,775),53097=>array(79,-68,921,775),53098=>array(79,-72,921,775),53099=>array(79,-70,921,775),53100=>array(79,-66,921,775),53101=>array(79,-59,921,775),53102=>array(79,-60,921,775),53103=>array(79,-68,921,775),53104=>array(68,-69,936,842),53105=>array(65,-59,936,842),53106=>array(65,-61,936,842),53107=>array(65,-71,936,842),53108=>array(72,-45,936,842),53109=>array(65,-69,936,842),53110=>array(65,-76,936,842),53111=>array(65,-44,936,842),53112=>array(65,-62,936,842),53113=>array(65,-64,936,842),53114=>array(65,-64,936,842),53115=>array(65,-64,936,842),53116=>array(65,-70,936,842),53117=>array(65,-64,936,842),53118=>array(65,-64,936,842),53119=>array(65,-76,936,842),53120=>array(65,-62,936,842),53121=>array(65,-61,936,842),53122=>array(65,-70,936,842),53123=>array(65,-74,936,842),53124=>array(65,-69,936,842),53125=>array(65,-67,936,842),53126=>array(65,-72,936,842),53127=>array(65,-71,936,842),53128=>array(65,-66,936,842),53129=>array(65,-59,936,842),53130=>array(65,-60,936,842),53131=>array(65,-69,936,842),53132=>array(68,-69,907,842),53133=>array(77,-61,907,842),53134=>array(77,-61,907,842),53135=>array(77,-71,931,842),53136=>array(72,-46,907,842),53137=>array(77,-68,912,842),53138=>array(77,-76,907,842),53139=>array(77,-44,921,842),53140=>array(77,-62,917,842),53141=>array(77,-64,907,842),53142=>array(77,-64,908,842),53143=>array(77,-64,908,842),53144=>array(77,-69,923,842),53145=>array(77,-64,908,842),53146=>array(77,-64,908,842),53147=>array(77,-76,907,842),53148=>array(77,-62,907,842),53149=>array(77,-61,907,842),53150=>array(77,-69,922,842),53151=>array(77,-74,929,842),53152=>array(77,-69,927,842),53153=>array(77,-68,911,842),53154=>array(77,-72,929,842),53155=>array(77,-70,936,842),53156=>array(77,-66,908,842),53157=>array(77,-59,916,842),53158=>array(77,-60,928,842),53159=>array(77,-68,908,842),53160=>array(92,-69,907,842),53161=>array(65,-61,907,842),53162=>array(65,-61,907,842),53163=>array(65,-71,931,842),53164=>array(65,-46,907,842),53165=>array(65,-68,912,842),53166=>array(65,-76,907,842),53167=>array(65,-44,921,842),53168=>array(65,-62,917,842),53169=>array(65,-64,907,842),53170=>array(65,-64,908,842),53171=>array(65,-64,908,842),53172=>array(65,-69,923,842),53173=>array(65,-64,908,842),53174=>array(65,-64,908,842),53175=>array(65,-76,907,842),53176=>array(65,-62,907,842),53177=>array(65,-61,907,842),53178=>array(65,-69,922,842),53179=>array(65,-74,929,842),53180=>array(65,-69,927,842),53181=>array(65,-68,911,842),53182=>array(65,-72,929,842),53183=>array(65,-70,936,842),53184=>array(65,-66,908,842),53185=>array(65,-59,916,842),53186=>array(65,-60,928,842),53187=>array(65,-68,908,842),53188=>array(62,22,943,725),53189=>array(79,-61,922,775),53190=>array(79,-61,922,775),53191=>array(79,-71,922,775),53192=>array(79,-46,922,775),53193=>array(79,-68,922,775),53194=>array(79,-74,922,775),53195=>array(79,-44,922,775),53196=>array(79,-62,922,775),53197=>array(79,-64,922,775),53198=>array(79,-64,922,775),53199=>array(79,-63,922,775),53200=>array(79,-68,922,775),53201=>array(79,-64,922,775),53202=>array(79,-63,922,775),53203=>array(79,-74,922,775),53204=>array(79,-62,922,775),53205=>array(79,-61,922,775),53206=>array(79,-69,922,775),53207=>array(79,-74,922,775),53208=>array(79,-69,922,775),53209=>array(79,-68,922,775),53210=>array(79,-72,922,775),53211=>array(79,-70,922,775),53212=>array(79,-66,922,775),53213=>array(79,-59,922,775),53214=>array(79,-60,922,775),53215=>array(79,-68,922,775),53216=>array(87,-64,928,795),53217=>array(79,-61,921,790),53218=>array(79,-61,921,790),53219=>array(79,-71,921,790),53220=>array(79,-46,921,785),53221=>array(79,-68,921,790),53222=>array(79,-74,921,790),53223=>array(79,-44,921,790),53224=>array(79,-62,921,790),53225=>array(79,-64,921,790),53226=>array(79,-64,921,790),53227=>array(79,-63,921,790),53228=>array(79,-68,921,790),53229=>array(79,-64,921,790),53230=>array(79,-63,921,790),53231=>array(79,-74,921,790),53232=>array(79,-62,921,790),53233=>array(79,-61,921,790),53234=>array(79,-69,921,790),53235=>array(79,-74,921,790),53236=>array(79,-69,921,790),53237=>array(79,-68,921,790),53238=>array(79,-72,921,790),53239=>array(79,-70,921,790),53240=>array(79,-66,921,790),53241=>array(79,-59,921,790),53242=>array(79,-60,921,790),53243=>array(79,-68,921,790),53244=>array(70,-70,907,841),53245=>array(75,-61,908,844),53246=>array(75,-61,908,844),53247=>array(75,-71,931,844),53248=>array(76,-46,907,841),53249=>array(75,-68,912,844),53250=>array(75,-76,908,844),53251=>array(75,-44,921,844),53252=>array(75,-62,917,844),53253=>array(75,-64,908,844),53254=>array(75,-64,908,844),53255=>array(75,-64,908,844),53256=>array(75,-69,923,844),53257=>array(75,-64,908,844),53258=>array(75,-64,908,844),53259=>array(75,-76,908,844),53260=>array(75,-62,908,844),53261=>array(75,-61,908,844),53262=>array(75,-69,922,844),53263=>array(75,-74,929,844),53264=>array(75,-69,927,844),53265=>array(75,-68,911,844),53266=>array(75,-72,929,844),53267=>array(75,-70,936,844),53268=>array(75,-66,908,844),53269=>array(75,-59,916,844),53270=>array(75,-60,928,844),53271=>array(75,-68,908,844),53272=>array(61,-68,907,843),53273=>array(70,-61,907,843),53274=>array(70,-61,907,843),53275=>array(70,-71,931,843),53276=>array(76,-46,907,843),53277=>array(70,-68,912,843),53278=>array(70,-76,907,843),53279=>array(70,-44,921,843),53280=>array(70,-62,917,843),53281=>array(70,-64,907,843),53282=>array(70,-64,908,843),53283=>array(70,-64,908,843),53284=>array(70,-69,923,843),53285=>array(70,-64,908,843),53286=>array(70,-64,908,843),53287=>array(70,-76,907,843),53288=>array(70,-62,907,843),53289=>array(70,-61,907,843),53290=>array(70,-69,922,843),53291=>array(70,-74,929,843),53292=>array(70,-69,927,843),53293=>array(70,-68,911,843),53294=>array(70,-72,929,843),53295=>array(70,-70,936,843),53296=>array(70,-66,908,843),53297=>array(70,-59,916,843),53298=>array(70,-60,928,843),53299=>array(70,-68,908,843),53300=>array(67,-69,907,842),53301=>array(65,-61,907,842),53302=>array(65,-61,907,842),53303=>array(65,-71,931,842),53304=>array(65,-46,907,842),53305=>array(65,-68,912,842),53306=>array(65,-76,907,842),53307=>array(65,-44,921,842),53308=>array(65,-62,917,842),53309=>array(65,-64,907,842),53310=>array(65,-64,908,842),53311=>array(65,-64,908,842),53312=>array(65,-69,923,842),53313=>array(65,-64,908,842),53314=>array(65,-64,908,842),53315=>array(65,-76,907,842),53316=>array(65,-62,907,842),53317=>array(65,-61,907,842),53318=>array(65,-69,922,842),53319=>array(65,-74,929,842),53320=>array(65,-69,927,842),53321=>array(65,-68,911,842),53322=>array(65,-72,929,842),53323=>array(65,-70,936,842),53324=>array(65,-66,908,842),53325=>array(65,-59,916,842),53326=>array(65,-60,928,842),53327=>array(65,-68,908,842),53328=>array(87,-64,928,795),53329=>array(79,-61,921,785),53330=>array(79,-61,921,785),53331=>array(79,-71,921,785),53332=>array(96,-46,927,785),53333=>array(79,-68,921,785),53334=>array(79,-74,921,785),53335=>array(79,-44,921,785),53336=>array(79,-62,921,785),53337=>array(79,-64,921,785),53338=>array(79,-64,921,785),53339=>array(79,-63,921,785),53340=>array(79,-68,921,785),53341=>array(79,-64,921,785),53342=>array(79,-63,921,785),53343=>array(79,-74,921,785),53344=>array(79,-62,921,785),53345=>array(79,-61,921,785),53346=>array(79,-69,921,785),53347=>array(79,-74,921,785),53348=>array(79,-69,921,785),53349=>array(79,-68,921,785),53350=>array(79,-72,921,785),53351=>array(79,-70,921,785),53352=>array(79,-66,921,785),53353=>array(79,-59,921,785),53354=>array(79,-60,921,785),53355=>array(79,-68,921,785),53356=>array(67,27,943,700),53357=>array(79,-61,922,785),53358=>array(79,-61,922,785),53359=>array(79,-71,922,785),53360=>array(79,-46,921,785),53361=>array(79,-68,922,785),53362=>array(79,-74,922,785),53363=>array(79,-44,922,785),53364=>array(79,-62,922,785),53365=>array(79,-64,922,785),53366=>array(79,-64,922,785),53367=>array(79,-63,922,785),53368=>array(79,-68,922,785),53369=>array(79,-64,922,785),53370=>array(79,-63,922,785),53371=>array(79,-74,922,785),53372=>array(79,-62,922,785),53373=>array(79,-61,922,785),53374=>array(79,-69,922,785),53375=>array(79,-74,922,785),53376=>array(79,-69,922,785),53377=>array(79,-68,922,785),53378=>array(79,-72,922,785),53379=>array(79,-70,922,785),53380=>array(79,-66,922,785),53381=>array(79,-59,922,785),53382=>array(79,-60,922,785),53383=>array(79,-68,922,785),53384=>array(65,-69,907,842),53385=>array(59,-61,907,842),53386=>array(59,-61,907,842),53387=>array(59,-71,931,842),53388=>array(65,-46,907,842),53389=>array(59,-68,912,842),53390=>array(59,-76,907,842),53391=>array(59,-44,921,842),53392=>array(59,-62,917,842),53393=>array(59,-64,907,842),53394=>array(59,-64,908,842),53395=>array(59,-64,908,842),53396=>array(59,-69,923,842),53397=>array(59,-64,908,842),53398=>array(59,-64,908,842),53399=>array(59,-76,907,842),53400=>array(59,-62,907,842),53401=>array(59,-61,907,842),53402=>array(59,-69,922,842),53403=>array(59,-74,929,842),53404=>array(59,-69,927,842),53405=>array(59,-68,911,842),53406=>array(59,-72,929,842),53407=>array(59,-70,936,842),53408=>array(59,-66,908,842),53409=>array(59,-59,916,842),53410=>array(59,-60,928,842),53411=>array(59,-68,908,842),53412=>array(120,-69,907,842),53413=>array(67,-61,907,842),53414=>array(67,-61,907,842),53415=>array(67,-71,931,842),53416=>array(94,-46,907,842),53417=>array(67,-68,912,842),53418=>array(67,-76,907,842),53419=>array(67,-44,921,842),53420=>array(67,-62,917,842),53421=>array(67,-64,907,842),53422=>array(67,-64,908,842),53423=>array(67,-64,908,842),53424=>array(67,-69,923,842),53425=>array(67,-64,908,842),53426=>array(67,-64,908,842),53427=>array(67,-76,907,842),53428=>array(67,-62,907,842),53429=>array(67,-61,907,842),53430=>array(67,-69,922,842),53431=>array(67,-74,929,842),53432=>array(67,-69,927,842),53433=>array(67,-68,911,842),53434=>array(67,-72,929,842),53435=>array(67,-70,936,842),53436=>array(67,-66,908,842),53437=>array(67,-59,916,842),53438=>array(67,-60,928,842),53439=>array(67,-68,908,842),53440=>array(115,-69,936,842),53441=>array(115,-59,936,842),53442=>array(115,-61,936,842),53443=>array(115,-71,936,842),53444=>array(115,-45,936,842),53445=>array(115,-69,936,842),53446=>array(115,-76,936,842),53447=>array(115,-44,936,842),53448=>array(115,-62,936,842),53449=>array(115,-64,936,842),53450=>array(115,-64,936,842),53451=>array(115,-64,936,842),53452=>array(115,-70,936,842),53453=>array(115,-64,936,842),53454=>array(115,-64,936,842),53455=>array(115,-76,936,842),53456=>array(115,-62,936,842),53457=>array(115,-61,936,842),53458=>array(115,-70,936,842),53459=>array(115,-74,936,842),53460=>array(115,-69,936,842),53461=>array(115,-67,936,842),53462=>array(115,-72,936,842),53463=>array(115,-71,936,842),53464=>array(115,-66,936,842),53465=>array(115,-59,936,842),53466=>array(115,-60,936,842),53467=>array(115,-69,936,842),53468=>array(115,-69,907,842),53469=>array(115,-61,907,842),53470=>array(115,-61,907,842),53471=>array(115,-71,931,842),53472=>array(115,-46,907,842),53473=>array(115,-68,912,842),53474=>array(115,-76,907,842),53475=>array(115,-44,921,842),53476=>array(115,-62,917,842),53477=>array(115,-64,907,842),53478=>array(115,-64,908,842),53479=>array(115,-64,908,842),53480=>array(115,-69,923,842),53481=>array(115,-64,908,842),53482=>array(115,-64,908,842),53483=>array(115,-76,907,842),53484=>array(115,-62,907,842),53485=>array(115,-61,907,842),53486=>array(115,-69,922,842),53487=>array(115,-74,929,842),53488=>array(115,-69,927,842),53489=>array(115,-68,911,842),53490=>array(115,-72,929,842),53491=>array(115,-70,936,842),53492=>array(115,-66,908,842),53493=>array(115,-59,916,842),53494=>array(115,-60,928,842),53495=>array(115,-68,908,842),53496=>array(114,-68,935,843),53497=>array(115,-59,936,842),53498=>array(115,-61,936,842),53499=>array(115,-71,936,842),53500=>array(115,-45,936,842),53501=>array(115,-69,936,842),53502=>array(115,-76,936,842),53503=>array(115,-44,936,842),53504=>array(115,-62,936,842),53505=>array(115,-64,936,842),53506=>array(115,-64,936,842),53507=>array(115,-64,936,842),53508=>array(115,-70,936,842),53509=>array(115,-64,936,842),53510=>array(115,-64,936,842),53511=>array(115,-76,936,842),53512=>array(115,-62,936,842),53513=>array(115,-61,936,842),53514=>array(115,-70,936,842),53515=>array(115,-74,936,842),53516=>array(115,-69,936,842),53517=>array(115,-67,936,842),53518=>array(115,-72,936,842),53519=>array(115,-71,936,842),53520=>array(115,-66,936,842),53521=>array(115,-59,936,842),53522=>array(115,-60,936,842),53523=>array(115,-69,936,842),53524=>array(115,-69,907,842),53525=>array(115,-61,907,842),53526=>array(115,-61,907,842),53527=>array(115,-71,931,842),53528=>array(115,-46,907,842),53529=>array(115,-68,912,842),53530=>array(115,-76,907,842),53531=>array(115,-44,921,842),53532=>array(115,-62,917,842),53533=>array(115,-64,907,842),53534=>array(115,-64,908,842),53535=>array(115,-64,908,842),53536=>array(115,-69,923,842),53537=>array(115,-64,908,842),53538=>array(115,-64,908,842),53539=>array(115,-76,907,842),53540=>array(115,-62,907,842),53541=>array(115,-61,907,842),53542=>array(115,-69,922,842),53543=>array(115,-74,929,842),53544=>array(115,-69,927,842),53545=>array(115,-68,911,842),53546=>array(115,-72,929,842),53547=>array(115,-70,936,842),53548=>array(115,-66,908,842),53549=>array(115,-59,916,842),53550=>array(115,-60,928,842),53551=>array(115,-68,908,842),53552=>array(115,-70,907,841),53553=>array(115,-61,907,841),53554=>array(115,-61,907,841),53555=>array(115,-71,931,841),53556=>array(115,-46,907,841),53557=>array(115,-68,912,841),53558=>array(115,-76,907,841),53559=>array(115,-44,921,841),53560=>array(115,-62,917,841),53561=>array(115,-64,907,841),53562=>array(115,-64,908,841),53563=>array(115,-64,908,841),53564=>array(115,-69,923,841),53565=>array(115,-64,908,841),53566=>array(115,-64,908,841),53567=>array(115,-76,906,841),53568=>array(115,-62,907,841),53569=>array(115,-61,907,841),53570=>array(115,-69,922,841),53571=>array(115,-74,929,841),53572=>array(115,-69,927,841),53573=>array(115,-68,911,841),53574=>array(115,-72,929,841),53575=>array(115,-70,936,841),53576=>array(115,-66,908,841),53577=>array(115,-59,916,841),53578=>array(115,-60,928,841),53579=>array(115,-68,908,841),53580=>array(115,-68,907,843),53581=>array(115,-61,907,843),53582=>array(115,-61,907,843),53583=>array(115,-71,931,843),53584=>array(115,-46,907,843),53585=>array(115,-68,912,843),53586=>array(115,-76,907,843),53587=>array(115,-44,921,843),53588=>array(115,-62,917,843),53589=>array(115,-64,907,843),53590=>array(115,-64,908,843),53591=>array(115,-64,908,843),53592=>array(115,-69,923,843),53593=>array(115,-64,908,843),53594=>array(115,-64,908,843),53595=>array(115,-76,907,843),53596=>array(115,-62,907,843),53597=>array(115,-61,907,843),53598=>array(115,-69,922,843),53599=>array(115,-74,929,843),53600=>array(115,-69,927,843),53601=>array(115,-68,911,843),53602=>array(115,-72,929,843),53603=>array(115,-70,936,843),53604=>array(115,-66,908,843),53605=>array(115,-59,916,843),53606=>array(115,-60,928,843),53607=>array(115,-68,908,843),53608=>array(115,-70,907,842),53609=>array(115,-61,908,842),53610=>array(115,-61,908,842),53611=>array(115,-71,931,842),53612=>array(115,-46,907,842),53613=>array(115,-68,912,842),53614=>array(115,-76,908,842),53615=>array(115,-44,921,842),53616=>array(115,-62,917,842),53617=>array(115,-64,908,842),53618=>array(115,-64,908,842),53619=>array(115,-64,908,842),53620=>array(115,-69,923,842),53621=>array(115,-64,908,842),53622=>array(115,-64,908,842),53623=>array(115,-76,908,842),53624=>array(115,-62,908,842),53625=>array(115,-61,908,842),53626=>array(115,-69,922,842),53627=>array(115,-74,929,842),53628=>array(115,-69,927,842),53629=>array(115,-68,911,842),53630=>array(115,-72,929,842),53631=>array(115,-70,936,842),53632=>array(115,-66,908,842),53633=>array(115,-59,916,842),53634=>array(115,-60,928,842),53635=>array(115,-68,908,842),53636=>array(115,-68,907,843),53637=>array(115,-61,907,843),53638=>array(115,-61,907,843),53639=>array(115,-71,931,843),53640=>array(115,-46,907,843),53641=>array(115,-68,912,843),53642=>array(115,-76,907,843),53643=>array(115,-44,921,843),53644=>array(115,-62,917,843),53645=>array(115,-64,907,843),53646=>array(115,-64,908,843),53647=>array(115,-64,908,843),53648=>array(115,-69,923,843),53649=>array(115,-64,908,843),53650=>array(115,-64,908,843),53651=>array(115,-76,907,843),53652=>array(115,-62,907,843),53653=>array(115,-61,907,843),53654=>array(115,-69,922,843),53655=>array(115,-74,929,843),53656=>array(115,-69,927,843),53657=>array(115,-68,911,843),53658=>array(115,-72,929,843),53659=>array(115,-70,936,843),53660=>array(115,-66,908,843),53661=>array(115,-59,916,843),53662=>array(115,-60,928,843),53663=>array(115,-68,908,843),53664=>array(62,17,943,757),53665=>array(79,-61,921,799),53666=>array(79,-61,921,799),53667=>array(79,-71,921,799),53668=>array(79,-46,922,789),53669=>array(79,-68,921,799),53670=>array(79,-74,921,799),53671=>array(79,-44,921,799),53672=>array(79,-62,921,799),53673=>array(79,-64,921,799),53674=>array(79,-64,921,799),53675=>array(79,-63,921,799),53676=>array(79,-68,921,799),53677=>array(79,-64,921,799),53678=>array(79,-63,921,799),53679=>array(79,-74,921,799),53680=>array(79,-62,921,799),53681=>array(79,-61,921,799),53682=>array(79,-69,921,799),53683=>array(79,-74,921,799),53684=>array(79,-69,921,799),53685=>array(79,-68,921,799),53686=>array(79,-72,921,799),53687=>array(79,-70,921,799),53688=>array(79,-66,921,799),53689=>array(79,-59,921,799),53690=>array(79,-60,921,799),53691=>array(79,-68,921,799),53692=>array(53,-69,936,842),53693=>array(77,-59,936,842),53694=>array(77,-61,936,842),53695=>array(77,-71,936,842),53696=>array(77,-45,936,842),53697=>array(77,-69,936,842),53698=>array(77,-76,936,842),53699=>array(77,-44,936,842),53700=>array(77,-62,936,842),53701=>array(77,-64,936,842),53702=>array(77,-64,936,842),53703=>array(77,-64,936,842),53704=>array(77,-70,936,842),53705=>array(77,-64,936,842),53706=>array(77,-64,936,842),53707=>array(77,-76,936,842),53708=>array(77,-62,936,842),53709=>array(77,-61,936,842),53710=>array(77,-70,936,842),53711=>array(77,-74,936,842),53712=>array(77,-69,936,842),53713=>array(77,-67,936,842),53714=>array(77,-72,936,842),53715=>array(77,-71,936,842),53716=>array(77,-66,936,842),53717=>array(77,-59,936,842),53718=>array(77,-60,936,842),53719=>array(77,-69,936,842),53720=>array(43,-69,907,842),53721=>array(77,-61,907,842),53722=>array(77,-61,907,842),53723=>array(77,-71,931,842),53724=>array(77,-46,907,842),53725=>array(77,-68,912,842),53726=>array(77,-76,907,842),53727=>array(77,-44,921,842),53728=>array(77,-62,917,842),53729=>array(77,-64,907,842),53730=>array(77,-64,908,842),53731=>array(77,-64,908,842),53732=>array(77,-69,923,842),53733=>array(77,-64,908,842),53734=>array(77,-64,908,842),53735=>array(77,-76,907,842),53736=>array(77,-62,907,842),53737=>array(77,-61,907,842),53738=>array(77,-69,922,842),53739=>array(77,-74,929,842),53740=>array(77,-69,927,842),53741=>array(77,-68,911,842),53742=>array(77,-72,929,842),53743=>array(77,-70,936,842),53744=>array(77,-66,908,842),53745=>array(77,-59,916,842),53746=>array(77,-60,928,842),53747=>array(77,-68,908,842),53748=>array(53,-68,907,843),53749=>array(65,-61,907,842),53750=>array(65,-61,907,842),53751=>array(65,-71,931,842),53752=>array(65,-46,907,842),53753=>array(65,-68,912,842),53754=>array(65,-76,907,842),53755=>array(65,-44,921,842),53756=>array(65,-62,917,842),53757=>array(65,-64,907,842),53758=>array(65,-64,908,842),53759=>array(65,-64,908,842),53760=>array(65,-69,923,842),53761=>array(65,-64,908,842),53762=>array(65,-64,908,842),53763=>array(65,-76,907,842),53764=>array(65,-62,907,842),53765=>array(65,-61,907,842),53766=>array(65,-69,922,842),53767=>array(65,-74,929,842),53768=>array(65,-69,927,842),53769=>array(65,-68,911,842),53770=>array(65,-72,929,842),53771=>array(65,-70,936,842),53772=>array(65,-66,908,842),53773=>array(65,-59,916,842),53774=>array(65,-60,928,842),53775=>array(65,-68,908,842),53776=>array(62,7,943,777),53777=>array(79,-61,921,799),53778=>array(79,-61,921,799),53779=>array(79,-71,921,799),53780=>array(79,-46,921,794),53781=>array(79,-68,921,799),53782=>array(79,-74,921,799),53783=>array(79,-44,921,799),53784=>array(79,-62,921,799),53785=>array(79,-64,921,799),53786=>array(79,-64,921,799),53787=>array(79,-63,921,799),53788=>array(79,-68,921,799),53789=>array(79,-64,921,799),53790=>array(79,-63,921,799),53791=>array(79,-74,921,799),53792=>array(79,-62,921,799),53793=>array(79,-61,921,799),53794=>array(79,-69,921,799),53795=>array(79,-74,921,799),53796=>array(79,-69,921,799),53797=>array(79,-68,921,799),53798=>array(79,-72,921,799),53799=>array(79,-70,921,799),53800=>array(79,-66,921,799),53801=>array(79,-59,921,799),53802=>array(79,-60,921,799),53803=>array(79,-68,921,799),53804=>array(82,-64,924,789),53805=>array(79,-61,921,799),53806=>array(79,-61,921,799),53807=>array(79,-71,921,799),53808=>array(79,-46,921,789),53809=>array(79,-68,921,799),53810=>array(79,-74,921,799),53811=>array(79,-44,921,799),53812=>array(79,-62,921,799),53813=>array(79,-64,921,799),53814=>array(79,-64,921,799),53815=>array(79,-63,921,799),53816=>array(79,-68,921,799),53817=>array(79,-64,921,799),53818=>array(79,-63,921,799),53819=>array(79,-74,921,799),53820=>array(79,-62,921,799),53821=>array(79,-61,921,799),53822=>array(79,-69,921,799),53823=>array(79,-74,921,799),53824=>array(79,-69,921,799),53825=>array(79,-68,921,799),53826=>array(79,-72,921,799),53827=>array(79,-70,921,799),53828=>array(79,-66,921,799),53829=>array(79,-59,921,799),53830=>array(79,-60,921,799),53831=>array(79,-68,921,799),53832=>array(76,-70,907,841),53833=>array(74,-61,909,843),53834=>array(74,-61,909,843),53835=>array(74,-71,931,843),53836=>array(75,-46,909,843),53837=>array(74,-68,912,843),53838=>array(74,-76,909,843),53839=>array(74,-44,921,843),53840=>array(74,-62,917,843),53841=>array(74,-64,909,843),53842=>array(74,-64,909,843),53843=>array(74,-64,909,843),53844=>array(74,-69,923,843),53845=>array(74,-64,909,843),53846=>array(74,-64,909,843),53847=>array(74,-76,909,843),53848=>array(74,-62,909,843),53849=>array(74,-61,909,843),53850=>array(74,-69,922,843),53851=>array(74,-74,929,843),53852=>array(74,-69,927,843),53853=>array(74,-68,911,843),53854=>array(74,-72,929,843),53855=>array(74,-70,936,843),53856=>array(74,-66,909,843),53857=>array(74,-59,916,843),53858=>array(74,-60,928,843),53859=>array(74,-68,909,843),53860=>array(56,-68,907,843),53861=>array(68,-61,907,843),53862=>array(68,-61,907,843),53863=>array(68,-71,931,843),53864=>array(74,-46,907,843),53865=>array(68,-68,912,843),53866=>array(68,-76,907,843),53867=>array(68,-44,921,843),53868=>array(68,-62,917,843),53869=>array(68,-64,907,843),53870=>array(68,-64,908,843),53871=>array(68,-64,908,843),53872=>array(68,-69,923,843),53873=>array(68,-64,908,843),53874=>array(68,-64,908,843),53875=>array(68,-76,907,843),53876=>array(68,-62,907,843),53877=>array(68,-61,907,843),53878=>array(68,-69,922,843),53879=>array(68,-74,929,843),53880=>array(68,-69,927,843),53881=>array(68,-68,911,843),53882=>array(68,-72,929,843),53883=>array(68,-70,936,843),53884=>array(68,-66,908,843),53885=>array(68,-59,916,843),53886=>array(68,-60,928,843),53887=>array(68,-68,908,843),53888=>array(67,-69,907,842),53889=>array(65,-61,907,842),53890=>array(65,-61,907,842),53891=>array(65,-71,931,842),53892=>array(65,-46,907,842),53893=>array(65,-68,912,842),53894=>array(65,-76,907,842),53895=>array(65,-44,921,842),53896=>array(65,-62,917,842),53897=>array(65,-64,907,842),53898=>array(65,-64,908,842),53899=>array(65,-64,908,842),53900=>array(65,-69,923,842),53901=>array(65,-64,908,842),53902=>array(65,-64,908,842),53903=>array(65,-76,907,842),53904=>array(65,-62,907,842),53905=>array(65,-61,907,842),53906=>array(65,-69,922,842),53907=>array(65,-74,929,842),53908=>array(65,-69,927,842),53909=>array(65,-68,911,842),53910=>array(65,-72,929,842),53911=>array(65,-70,936,842),53912=>array(65,-66,908,842),53913=>array(65,-59,916,842),53914=>array(65,-60,928,842),53915=>array(65,-68,908,842),53916=>array(82,-64,924,784),53917=>array(79,-61,921,799),53918=>array(79,-61,921,799),53919=>array(79,-71,921,799),53920=>array(81,-46,922,789),53921=>array(79,-68,921,799),53922=>array(79,-74,921,799),53923=>array(79,-44,921,799),53924=>array(79,-62,921,799),53925=>array(79,-64,921,799),53926=>array(79,-64,921,799),53927=>array(79,-63,921,799),53928=>array(79,-68,921,799),53929=>array(79,-64,921,799),53930=>array(79,-63,921,799),53931=>array(79,-74,921,799),53932=>array(79,-62,921,799),53933=>array(79,-61,921,799),53934=>array(79,-69,921,799),53935=>array(79,-74,921,799),53936=>array(79,-69,921,799),53937=>array(79,-68,921,799),53938=>array(79,-72,921,799),53939=>array(79,-70,921,799),53940=>array(79,-66,921,799),53941=>array(79,-59,921,799),53942=>array(79,-60,921,799),53943=>array(79,-68,921,799),53944=>array(57,52,943,719),53945=>array(79,-61,922,796),53946=>array(79,-61,922,796),53947=>array(79,-71,922,796),53948=>array(79,-46,921,791),53949=>array(79,-68,922,796),53950=>array(79,-74,922,796),53951=>array(79,-44,922,796),53952=>array(79,-62,922,796),53953=>array(79,-64,922,796),53954=>array(79,-64,922,796),53955=>array(79,-63,922,796),53956=>array(79,-68,922,796),53957=>array(79,-64,922,796),53958=>array(79,-63,922,796),53959=>array(79,-74,922,796),53960=>array(79,-62,922,796),53961=>array(79,-61,922,796),53962=>array(79,-69,922,796),53963=>array(79,-74,922,796),53964=>array(79,-69,922,796),53965=>array(79,-68,922,796),53966=>array(79,-72,922,796),53967=>array(79,-70,922,796),53968=>array(79,-66,922,796),53969=>array(79,-59,922,796),53970=>array(79,-60,922,796),53971=>array(79,-68,922,796),53972=>array(67,-69,907,842),53973=>array(65,-61,907,842),53974=>array(65,-61,907,842),53975=>array(65,-71,931,842),53976=>array(65,-46,907,842),53977=>array(65,-68,912,842),53978=>array(65,-76,907,842),53979=>array(65,-44,921,842),53980=>array(65,-62,917,842),53981=>array(65,-64,907,842),53982=>array(65,-64,908,842),53983=>array(65,-64,908,842),53984=>array(65,-69,923,842),53985=>array(65,-64,908,842),53986=>array(65,-64,908,842),53987=>array(65,-76,907,842),53988=>array(65,-62,907,842),53989=>array(65,-61,907,842),53990=>array(65,-69,922,842),53991=>array(65,-74,929,842),53992=>array(65,-69,927,842),53993=>array(65,-68,911,842),53994=>array(65,-72,929,842),53995=>array(65,-70,936,842),53996=>array(65,-66,908,842),53997=>array(65,-59,916,842),53998=>array(65,-60,928,842),53999=>array(65,-68,908,842),54000=>array(125,-69,907,842),54001=>array(130,-61,907,842),54002=>array(130,-61,907,842),54003=>array(130,-71,931,842),54004=>array(125,-46,907,842),54005=>array(130,-68,912,842),54006=>array(130,-76,907,842),54007=>array(130,-44,921,842),54008=>array(130,-62,917,842),54009=>array(130,-64,907,842),54010=>array(130,-64,908,842),54011=>array(130,-64,908,842),54012=>array(130,-69,923,842),54013=>array(130,-64,908,842),54014=>array(130,-64,908,842),54015=>array(130,-76,907,842),54016=>array(130,-62,907,842),54017=>array(130,-61,907,842),54018=>array(130,-69,922,842),54019=>array(130,-74,929,842),54020=>array(130,-69,927,842),54021=>array(130,-68,911,842),54022=>array(130,-72,929,842),54023=>array(130,-70,936,842),54024=>array(130,-66,908,842),54025=>array(130,-59,916,842),54026=>array(130,-60,928,842),54027=>array(130,-68,908,842),54028=>array(84,-69,936,842),54029=>array(66,-59,936,842),54030=>array(66,-61,936,842),54031=>array(66,-71,936,842),54032=>array(78,-45,936,842),54033=>array(66,-69,936,842),54034=>array(66,-76,936,842),54035=>array(66,-44,936,842),54036=>array(66,-62,936,842),54037=>array(66,-64,936,842),54038=>array(66,-64,936,842),54039=>array(66,-64,936,842),54040=>array(66,-70,936,842),54041=>array(66,-64,936,842),54042=>array(66,-64,936,842),54043=>array(66,-76,936,842),54044=>array(66,-62,936,842),54045=>array(66,-61,936,842),54046=>array(66,-70,936,842),54047=>array(66,-74,936,842),54048=>array(66,-69,936,842),54049=>array(66,-67,936,842),54050=>array(66,-72,936,842),54051=>array(66,-71,936,842),54052=>array(66,-66,936,842),54053=>array(66,-59,936,842),54054=>array(66,-60,936,842),54055=>array(66,-69,936,842),54056=>array(73,-69,907,842),54057=>array(83,-61,907,842),54058=>array(83,-61,907,842),54059=>array(83,-71,931,842),54060=>array(78,-46,907,842),54061=>array(83,-68,912,842),54062=>array(83,-76,907,842),54063=>array(83,-44,921,842),54064=>array(83,-62,917,842),54065=>array(83,-64,907,842),54066=>array(83,-64,908,842),54067=>array(83,-64,908,842),54068=>array(83,-69,923,842),54069=>array(83,-64,908,842),54070=>array(83,-64,908,842),54071=>array(83,-76,907,842),54072=>array(83,-62,907,842),54073=>array(83,-61,907,842),54074=>array(83,-69,922,842),54075=>array(83,-74,929,842),54076=>array(83,-69,927,842),54077=>array(83,-68,911,842),54078=>array(83,-72,929,842),54079=>array(83,-70,936,842),54080=>array(83,-66,908,842),54081=>array(83,-59,916,842),54082=>array(83,-60,928,842),54083=>array(83,-68,908,842),54084=>array(84,-68,935,843),54085=>array(66,-59,936,842),54086=>array(66,-61,936,842),54087=>array(66,-71,936,842),54088=>array(78,-45,936,842),54089=>array(66,-69,936,842),54090=>array(66,-76,936,842),54091=>array(66,-44,936,842),54092=>array(66,-62,936,842),54093=>array(66,-64,936,842),54094=>array(66,-64,936,842),54095=>array(66,-64,936,842),54096=>array(66,-70,936,842),54097=>array(66,-64,936,842),54098=>array(66,-64,936,842),54099=>array(66,-76,936,842),54100=>array(66,-62,936,842),54101=>array(66,-61,936,842),54102=>array(66,-70,936,842),54103=>array(66,-74,936,842),54104=>array(66,-69,936,842),54105=>array(66,-67,936,842),54106=>array(66,-72,936,842),54107=>array(66,-71,936,842),54108=>array(66,-66,936,842),54109=>array(66,-59,936,842),54110=>array(66,-60,936,842),54111=>array(66,-69,936,842),54112=>array(73,-69,907,842),54113=>array(83,-61,907,842),54114=>array(83,-61,907,842),54115=>array(83,-71,931,842),54116=>array(78,-46,907,842),54117=>array(83,-68,912,842),54118=>array(83,-76,907,842),54119=>array(83,-44,921,842),54120=>array(83,-62,917,842),54121=>array(83,-64,907,842),54122=>array(83,-64,908,842),54123=>array(83,-64,908,842),54124=>array(83,-69,923,842),54125=>array(83,-64,908,842),54126=>array(83,-64,908,842),54127=>array(83,-76,907,842),54128=>array(83,-62,907,842),54129=>array(83,-61,907,842),54130=>array(83,-69,922,842),54131=>array(83,-74,929,842),54132=>array(83,-69,927,842),54133=>array(83,-68,911,842),54134=>array(83,-72,929,842),54135=>array(83,-70,936,842),54136=>array(83,-66,908,842),54137=>array(83,-59,916,842),54138=>array(83,-60,928,842),54139=>array(83,-68,908,842),54140=>array(84,-70,907,841),54141=>array(66,-61,907,841),54142=>array(66,-61,907,841),54143=>array(66,-71,931,841),54144=>array(78,-46,907,841),54145=>array(66,-68,912,841),54146=>array(66,-76,907,841),54147=>array(66,-44,921,841),54148=>array(66,-62,917,841),54149=>array(66,-64,907,841),54150=>array(66,-64,908,841),54151=>array(66,-64,908,841),54152=>array(66,-69,923,841),54153=>array(66,-64,908,841),54154=>array(66,-64,908,841),54155=>array(66,-76,906,841),54156=>array(66,-62,907,841),54157=>array(66,-61,907,841),54158=>array(66,-69,922,841),54159=>array(66,-74,929,841),54160=>array(66,-69,927,841),54161=>array(66,-68,911,841),54162=>array(66,-72,929,841),54163=>array(66,-70,936,841),54164=>array(66,-66,908,841),54165=>array(66,-59,916,841),54166=>array(66,-60,928,841),54167=>array(66,-68,908,841),54168=>array(63,-68,907,843),54169=>array(65,-61,907,843),54170=>array(65,-61,907,843),54171=>array(65,-71,931,843),54172=>array(83,-46,907,843),54173=>array(65,-68,912,843),54174=>array(65,-76,907,843),54175=>array(65,-44,921,843),54176=>array(65,-62,917,843),54177=>array(65,-64,907,843),54178=>array(65,-64,908,843),54179=>array(65,-64,908,843),54180=>array(65,-69,923,843),54181=>array(65,-64,908,843),54182=>array(65,-64,908,843),54183=>array(65,-76,907,843),54184=>array(65,-62,907,843),54185=>array(65,-61,907,843),54186=>array(65,-69,922,843),54187=>array(65,-74,929,843),54188=>array(65,-69,927,843),54189=>array(65,-68,911,843),54190=>array(65,-72,929,843),54191=>array(65,-70,936,843),54192=>array(65,-66,908,843),54193=>array(65,-59,916,843),54194=>array(65,-60,928,843),54195=>array(65,-68,908,843),54196=>array(74,-70,907,842),54197=>array(56,-61,908,842),54198=>array(56,-61,908,842),54199=>array(56,-71,931,842),54200=>array(68,-46,907,842),54201=>array(56,-68,912,842),54202=>array(56,-76,908,842),54203=>array(56,-44,921,842),54204=>array(56,-62,917,842),54205=>array(56,-64,908,842),54206=>array(56,-64,908,842),54207=>array(56,-64,908,842),54208=>array(56,-69,923,842),54209=>array(56,-64,908,842),54210=>array(56,-64,908,842),54211=>array(56,-76,908,842),54212=>array(56,-62,908,842),54213=>array(56,-61,908,842),54214=>array(56,-69,922,842),54215=>array(56,-74,929,842),54216=>array(56,-69,927,842),54217=>array(56,-68,911,842),54218=>array(56,-72,929,842),54219=>array(56,-70,936,842),54220=>array(56,-66,908,842),54221=>array(56,-59,916,842),54222=>array(56,-60,928,842),54223=>array(56,-68,908,842),54224=>array(63,-68,907,843),54225=>array(65,-61,907,843),54226=>array(65,-61,907,843),54227=>array(65,-71,931,843),54228=>array(83,-46,907,843),54229=>array(65,-68,912,843),54230=>array(65,-76,907,843),54231=>array(65,-44,921,843),54232=>array(65,-62,917,843),54233=>array(65,-64,907,843),54234=>array(65,-64,908,843),54235=>array(65,-64,908,843),54236=>array(65,-69,923,843),54237=>array(65,-64,908,843),54238=>array(65,-64,908,843),54239=>array(65,-76,907,843),54240=>array(65,-62,907,843),54241=>array(65,-61,907,843),54242=>array(65,-69,922,843),54243=>array(65,-74,929,843),54244=>array(65,-69,927,843),54245=>array(65,-68,911,843),54246=>array(65,-72,929,843),54247=>array(65,-70,936,843),54248=>array(65,-66,908,843),54249=>array(65,-59,916,843),54250=>array(65,-60,928,843),54251=>array(65,-68,908,843),54252=>array(62,22,938,724),54253=>array(79,-61,921,799),54254=>array(79,-61,921,799),54255=>array(79,-71,921,799),54256=>array(79,-46,922,799),54257=>array(79,-68,921,799),54258=>array(79,-74,921,799),54259=>array(79,-44,921,799),54260=>array(79,-62,921,799),54261=>array(79,-64,921,799),54262=>array(79,-64,921,799),54263=>array(79,-63,921,799),54264=>array(79,-68,921,799),54265=>array(79,-64,921,799),54266=>array(79,-63,921,799),54267=>array(79,-74,921,799),54268=>array(79,-62,921,799),54269=>array(79,-61,921,799),54270=>array(79,-69,921,799),54271=>array(79,-74,921,799),54272=>array(79,-69,921,799),54273=>array(79,-68,921,799),54274=>array(79,-72,921,799),54275=>array(79,-70,921,799),54276=>array(79,-66,921,799),54277=>array(79,-59,921,799),54278=>array(79,-60,921,799),54279=>array(79,-68,921,799),54280=>array(68,-69,936,842),54281=>array(77,-59,936,842),54282=>array(77,-61,936,842),54283=>array(77,-71,936,842),54284=>array(77,-45,936,842),54285=>array(77,-69,936,842),54286=>array(77,-76,936,842),54287=>array(77,-44,936,842),54288=>array(77,-62,936,842),54289=>array(77,-64,936,842),54290=>array(77,-64,936,842),54291=>array(77,-64,936,842),54292=>array(77,-70,936,842),54293=>array(77,-64,936,842),54294=>array(77,-64,936,842),54295=>array(77,-76,936,842),54296=>array(77,-62,936,842),54297=>array(77,-61,936,842),54298=>array(77,-70,936,842),54299=>array(77,-74,936,842),54300=>array(77,-69,936,842),54301=>array(77,-67,936,842),54302=>array(77,-72,936,842),54303=>array(77,-71,936,842),54304=>array(77,-66,936,842),54305=>array(77,-59,936,842),54306=>array(77,-60,936,842),54307=>array(77,-69,936,842),54308=>array(59,-69,907,842),54309=>array(77,-61,907,842),54310=>array(77,-61,907,842),54311=>array(77,-71,931,842),54312=>array(67,-46,907,842),54313=>array(77,-68,912,842),54314=>array(77,-76,907,842),54315=>array(77,-44,921,842),54316=>array(77,-62,917,842),54317=>array(77,-64,907,842),54318=>array(77,-64,908,842),54319=>array(77,-64,908,842),54320=>array(77,-69,923,842),54321=>array(77,-64,908,842),54322=>array(77,-64,908,842),54323=>array(77,-76,907,842),54324=>array(77,-62,907,842),54325=>array(77,-61,907,842),54326=>array(77,-69,922,842),54327=>array(77,-74,929,842),54328=>array(77,-69,927,842),54329=>array(77,-68,911,842),54330=>array(77,-72,929,842),54331=>array(77,-70,936,842),54332=>array(77,-66,908,842),54333=>array(77,-59,916,842),54334=>array(77,-60,928,842),54335=>array(77,-68,908,842),54336=>array(53,-68,908,843),54337=>array(65,-61,907,842),54338=>array(65,-61,907,842),54339=>array(65,-71,931,842),54340=>array(65,-46,907,842),54341=>array(65,-68,912,842),54342=>array(65,-76,907,842),54343=>array(65,-44,921,842),54344=>array(65,-62,917,842),54345=>array(65,-64,907,842),54346=>array(65,-64,908,842),54347=>array(65,-64,908,842),54348=>array(65,-69,923,842),54349=>array(65,-64,908,842),54350=>array(65,-64,908,842),54351=>array(65,-76,907,842),54352=>array(65,-62,907,842),54353=>array(65,-61,907,842),54354=>array(65,-69,922,842),54355=>array(65,-74,929,842),54356=>array(65,-69,927,842),54357=>array(65,-68,911,842),54358=>array(65,-72,929,842),54359=>array(65,-70,936,842),54360=>array(65,-66,908,842),54361=>array(65,-59,916,842),54362=>array(65,-60,928,842),54363=>array(65,-68,908,842),54364=>array(60,17,940,739),54365=>array(79,-61,921,799),54366=>array(79,-61,921,799),54367=>array(79,-71,921,799),54368=>array(79,-46,921,799),54369=>array(79,-68,921,799),54370=>array(79,-74,921,799),54371=>array(79,-44,921,799),54372=>array(79,-62,921,799),54373=>array(79,-64,921,799),54374=>array(79,-64,921,799),54375=>array(79,-63,921,799),54376=>array(79,-68,921,799),54377=>array(79,-64,921,799),54378=>array(79,-63,921,799),54379=>array(79,-74,921,799),54380=>array(79,-62,921,799),54381=>array(79,-61,921,799),54382=>array(79,-69,921,799),54383=>array(79,-74,921,799),54384=>array(79,-69,921,799),54385=>array(79,-68,921,799),54386=>array(79,-72,921,799),54387=>array(79,-70,921,799),54388=>array(79,-66,921,799),54389=>array(79,-59,921,799),54390=>array(79,-60,921,799),54391=>array(79,-68,921,799),54392=>array(79,-64,921,794),54393=>array(79,-61,921,799),54394=>array(79,-61,921,799),54395=>array(79,-71,921,799),54396=>array(79,-46,921,799),54397=>array(79,-68,921,799),54398=>array(79,-74,921,799),54399=>array(79,-44,921,799),54400=>array(79,-62,921,799),54401=>array(79,-64,921,799),54402=>array(79,-64,921,799),54403=>array(79,-63,921,799),54404=>array(79,-68,921,799),54405=>array(79,-64,921,799),54406=>array(79,-63,921,799),54407=>array(79,-74,921,799),54408=>array(79,-62,921,799),54409=>array(79,-61,921,799),54410=>array(79,-69,921,799),54411=>array(79,-74,921,799),54412=>array(79,-69,921,799),54413=>array(79,-68,921,799),54414=>array(79,-72,921,799),54415=>array(79,-70,921,799),54416=>array(79,-66,921,799),54417=>array(79,-59,921,799),54418=>array(79,-60,921,799),54419=>array(79,-68,921,799),54420=>array(67,-65,882,841),54421=>array(72,-61,907,836),54422=>array(72,-61,907,836),54423=>array(72,-71,931,836),54424=>array(75,-46,907,841),54425=>array(72,-68,912,836),54426=>array(72,-76,907,836),54427=>array(72,-44,921,836),54428=>array(72,-62,917,836),54429=>array(72,-64,907,836),54430=>array(72,-64,908,836),54431=>array(72,-64,908,836),54432=>array(72,-69,923,836),54433=>array(72,-64,908,836),54434=>array(72,-64,908,836),54435=>array(72,-76,906,836),54436=>array(72,-62,907,836),54437=>array(72,-61,907,836),54438=>array(72,-69,922,836),54439=>array(72,-74,929,836),54440=>array(72,-69,927,836),54441=>array(72,-68,911,836),54442=>array(72,-72,929,836),54443=>array(72,-70,936,836),54444=>array(72,-66,908,836),54445=>array(72,-59,916,836),54446=>array(72,-60,928,836),54447=>array(72,-68,908,836),54448=>array(62,-63,912,843),54449=>array(70,-61,907,838),54450=>array(70,-61,907,838),54451=>array(70,-71,931,838),54452=>array(76,-46,907,843),54453=>array(70,-68,912,838),54454=>array(70,-76,907,838),54455=>array(70,-44,921,838),54456=>array(70,-62,917,838),54457=>array(70,-64,907,838),54458=>array(70,-64,908,838),54459=>array(70,-64,908,838),54460=>array(70,-69,923,838),54461=>array(70,-64,908,838),54462=>array(70,-64,908,838),54463=>array(70,-76,906,838),54464=>array(70,-62,907,838),54465=>array(70,-61,907,838),54466=>array(70,-69,922,838),54467=>array(70,-74,929,838),54468=>array(70,-69,927,838),54469=>array(70,-68,911,838),54470=>array(70,-72,929,838),54471=>array(70,-70,936,838),54472=>array(70,-66,908,838),54473=>array(70,-59,916,838),54474=>array(70,-60,928,838),54475=>array(70,-68,908,838),54476=>array(71,-69,907,842),54477=>array(65,-61,907,842),54478=>array(65,-61,907,842),54479=>array(65,-71,931,842),54480=>array(65,-46,907,842),54481=>array(65,-68,912,842),54482=>array(65,-76,907,842),54483=>array(65,-44,921,842),54484=>array(65,-62,917,842),54485=>array(65,-64,907,842),54486=>array(65,-64,908,842),54487=>array(65,-64,908,842),54488=>array(65,-69,923,842),54489=>array(65,-64,908,842),54490=>array(65,-64,908,842),54491=>array(65,-76,907,842),54492=>array(65,-62,907,842),54493=>array(65,-61,907,842),54494=>array(65,-69,922,842),54495=>array(65,-74,929,842),54496=>array(65,-69,927,842),54497=>array(65,-68,911,842),54498=>array(65,-72,929,842),54499=>array(65,-70,936,842),54500=>array(65,-66,908,842),54501=>array(65,-59,916,842),54502=>array(65,-60,928,842),54503=>array(65,-68,908,842),54504=>array(79,-64,921,794),54505=>array(79,-61,921,799),54506=>array(79,-61,921,799),54507=>array(79,-71,921,799),54508=>array(81,-46,922,799),54509=>array(79,-68,921,799),54510=>array(79,-74,921,799),54511=>array(79,-44,921,799),54512=>array(79,-62,921,799),54513=>array(79,-64,921,799),54514=>array(79,-64,921,799),54515=>array(79,-63,921,799),54516=>array(79,-68,921,799),54517=>array(79,-64,921,799),54518=>array(79,-63,921,799),54519=>array(79,-74,921,799),54520=>array(79,-62,921,799),54521=>array(79,-61,921,799),54522=>array(79,-69,921,799),54523=>array(79,-74,921,799),54524=>array(79,-69,921,799),54525=>array(79,-68,921,799),54526=>array(79,-72,921,799),54527=>array(79,-70,921,799),54528=>array(79,-66,921,799),54529=>array(79,-59,921,799),54530=>array(79,-60,921,799),54531=>array(79,-68,921,799),54532=>array(57,52,943,724),54533=>array(79,-61,922,799),54534=>array(79,-61,922,799),54535=>array(79,-71,922,799),54536=>array(79,-46,921,799),54537=>array(79,-68,922,799),54538=>array(79,-74,922,799),54539=>array(79,-44,922,799),54540=>array(79,-62,922,799),54541=>array(79,-64,922,799),54542=>array(79,-64,922,799),54543=>array(79,-63,922,799),54544=>array(79,-68,922,799),54545=>array(79,-64,922,799),54546=>array(79,-63,922,799),54547=>array(79,-74,922,799),54548=>array(79,-62,922,799),54549=>array(79,-61,922,799),54550=>array(79,-69,922,799),54551=>array(79,-74,922,799),54552=>array(79,-69,922,799),54553=>array(79,-68,922,799),54554=>array(79,-72,922,799),54555=>array(79,-70,922,799),54556=>array(79,-66,922,799),54557=>array(79,-59,922,799),54558=>array(79,-60,922,799),54559=>array(79,-68,922,799),54560=>array(67,-69,907,842),54561=>array(65,-61,907,842),54562=>array(65,-61,907,842),54563=>array(65,-71,931,842),54564=>array(65,-46,907,842),54565=>array(65,-68,912,842),54566=>array(65,-76,907,842),54567=>array(65,-44,921,842),54568=>array(65,-62,917,842),54569=>array(65,-64,907,842),54570=>array(65,-64,908,842),54571=>array(65,-64,908,842),54572=>array(65,-69,923,842),54573=>array(65,-64,908,842),54574=>array(65,-64,908,842),54575=>array(65,-76,907,842),54576=>array(65,-62,907,842),54577=>array(65,-61,907,842),54578=>array(65,-69,922,842),54579=>array(65,-74,929,842),54580=>array(65,-69,927,842),54581=>array(65,-68,911,842),54582=>array(65,-72,929,842),54583=>array(65,-70,936,842),54584=>array(65,-66,908,842),54585=>array(65,-59,916,842),54586=>array(65,-60,928,842),54587=>array(65,-68,908,842),54588=>array(85,-69,907,842),54589=>array(86,-61,907,842),54590=>array(86,-61,907,842),54591=>array(86,-71,931,842),54592=>array(86,-46,907,842),54593=>array(86,-68,912,842),54594=>array(86,-76,907,842),54595=>array(86,-44,921,842),54596=>array(86,-62,917,842),54597=>array(86,-64,907,842),54598=>array(86,-64,908,842),54599=>array(86,-64,908,842),54600=>array(86,-69,923,842),54601=>array(86,-64,908,842),54602=>array(86,-64,908,842),54603=>array(86,-76,907,842),54604=>array(86,-62,907,842),54605=>array(86,-61,907,842),54606=>array(86,-69,922,842),54607=>array(86,-74,929,842),54608=>array(86,-69,927,842),54609=>array(86,-68,911,842),54610=>array(86,-72,929,842),54611=>array(86,-70,936,842),54612=>array(86,-66,908,842),54613=>array(86,-59,916,842),54614=>array(86,-60,928,842),54615=>array(86,-68,908,842),54616=>array(94,-69,936,842),54617=>array(85,-59,936,842),54618=>array(85,-61,936,842),54619=>array(85,-71,936,842),54620=>array(85,-45,936,842),54621=>array(85,-69,936,842),54622=>array(85,-76,936,842),54623=>array(85,-44,936,842),54624=>array(85,-62,936,842),54625=>array(85,-64,936,842),54626=>array(85,-64,936,842),54627=>array(85,-64,936,842),54628=>array(85,-70,936,842),54629=>array(85,-64,936,842),54630=>array(85,-64,936,842),54631=>array(85,-76,936,842),54632=>array(85,-62,936,842),54633=>array(85,-61,936,842),54634=>array(85,-70,936,842),54635=>array(85,-74,936,842),54636=>array(85,-69,936,842),54637=>array(85,-67,936,842),54638=>array(85,-72,936,842),54639=>array(85,-71,936,842),54640=>array(85,-66,936,842),54641=>array(85,-59,936,842),54642=>array(85,-60,936,842),54643=>array(85,-69,936,842),54644=>array(79,-69,907,842),54645=>array(85,-61,907,842),54646=>array(85,-61,907,842),54647=>array(85,-71,931,842),54648=>array(85,-46,907,842),54649=>array(85,-68,912,842),54650=>array(85,-76,907,842),54651=>array(85,-44,921,842),54652=>array(85,-62,917,842),54653=>array(85,-64,907,842),54654=>array(85,-64,908,842),54655=>array(85,-64,908,842),54656=>array(85,-69,923,842),54657=>array(85,-64,908,842),54658=>array(85,-64,908,842),54659=>array(85,-76,907,842),54660=>array(85,-62,907,842),54661=>array(85,-61,907,842),54662=>array(85,-69,922,842),54663=>array(85,-74,929,842),54664=>array(85,-69,927,842),54665=>array(85,-68,911,842),54666=>array(85,-72,929,842),54667=>array(85,-70,936,842),54668=>array(85,-66,908,842),54669=>array(85,-59,916,842),54670=>array(85,-60,928,842),54671=>array(85,-68,908,842),54672=>array(94,-68,935,843),54673=>array(85,-59,936,842),54674=>array(85,-61,936,842),54675=>array(85,-71,936,842),54676=>array(85,-45,936,842),54677=>array(85,-69,936,842),54678=>array(85,-76,936,842),54679=>array(85,-44,936,842),54680=>array(85,-62,936,842),54681=>array(85,-64,936,842),54682=>array(85,-64,936,842),54683=>array(85,-64,936,842),54684=>array(85,-70,936,842),54685=>array(85,-64,936,842),54686=>array(85,-64,936,842),54687=>array(85,-76,936,842),54688=>array(85,-62,936,842),54689=>array(85,-61,936,842),54690=>array(85,-70,936,842),54691=>array(85,-74,936,842),54692=>array(85,-69,936,842),54693=>array(85,-67,936,842),54694=>array(85,-72,936,842),54695=>array(85,-71,936,842),54696=>array(85,-66,936,842),54697=>array(85,-59,936,842),54698=>array(85,-60,936,842),54699=>array(85,-69,936,842),54700=>array(79,-69,907,842),54701=>array(85,-61,907,842),54702=>array(85,-61,907,842),54703=>array(85,-71,931,842),54704=>array(85,-46,907,842),54705=>array(85,-68,912,842),54706=>array(85,-76,907,842),54707=>array(85,-44,921,842),54708=>array(85,-62,917,842),54709=>array(85,-64,907,842),54710=>array(85,-64,908,842),54711=>array(85,-64,908,842),54712=>array(85,-69,923,842),54713=>array(85,-64,908,842),54714=>array(85,-64,908,842),54715=>array(85,-76,907,842),54716=>array(85,-62,907,842),54717=>array(85,-61,907,842),54718=>array(85,-69,922,842),54719=>array(85,-74,929,842),54720=>array(85,-69,927,842),54721=>array(85,-68,911,842),54722=>array(85,-72,929,842),54723=>array(85,-70,936,842),54724=>array(85,-66,908,842),54725=>array(85,-59,916,842),54726=>array(85,-60,928,842),54727=>array(85,-68,908,842),54728=>array(79,-70,907,841),54729=>array(85,-61,907,842),54730=>array(85,-61,907,842),54731=>array(85,-71,931,842),54732=>array(85,-46,907,841),54733=>array(85,-68,912,842),54734=>array(85,-76,907,842),54735=>array(85,-44,921,842),54736=>array(85,-62,917,842),54737=>array(85,-64,907,842),54738=>array(85,-64,908,842),54739=>array(85,-64,908,842),54740=>array(85,-69,923,842),54741=>array(85,-64,908,842),54742=>array(85,-64,908,842),54743=>array(85,-76,906,842),54744=>array(85,-62,907,842),54745=>array(85,-61,907,842),54746=>array(85,-69,922,842),54747=>array(85,-74,929,842),54748=>array(85,-69,927,842),54749=>array(85,-68,911,842),54750=>array(85,-72,929,842),54751=>array(85,-70,936,842),54752=>array(85,-66,908,842),54753=>array(85,-59,916,842),54754=>array(85,-60,928,842),54755=>array(85,-68,908,842),54756=>array(69,-68,907,843),54757=>array(50,-61,907,843),54758=>array(50,-61,907,843),54759=>array(50,-71,931,843),54760=>array(60,-46,907,843),54761=>array(50,-68,912,843),54762=>array(50,-76,907,843),54763=>array(50,-44,921,843),54764=>array(50,-62,917,843),54765=>array(50,-64,907,843),54766=>array(50,-64,908,843),54767=>array(50,-64,908,843),54768=>array(50,-69,923,843),54769=>array(50,-64,908,843),54770=>array(50,-64,908,843),54771=>array(50,-76,907,843),54772=>array(50,-62,907,843),54773=>array(50,-61,907,843),54774=>array(50,-69,922,843),54775=>array(50,-74,929,843),54776=>array(50,-69,927,843),54777=>array(50,-68,911,843),54778=>array(50,-72,929,843),54779=>array(50,-70,936,843),54780=>array(50,-66,908,843),54781=>array(50,-59,916,843),54782=>array(50,-60,928,843),54783=>array(50,-68,908,843),54784=>array(89,-70,907,842),54785=>array(75,-61,907,842),54786=>array(75,-61,907,842),54787=>array(75,-71,931,842),54788=>array(85,-46,907,842),54789=>array(75,-68,912,842),54790=>array(75,-76,907,842),54791=>array(75,-44,921,842),54792=>array(75,-62,917,842),54793=>array(75,-64,907,842),54794=>array(75,-64,908,842),54795=>array(75,-64,908,842),54796=>array(75,-69,923,842),54797=>array(75,-64,908,842),54798=>array(75,-64,908,842),54799=>array(75,-76,907,842),54800=>array(75,-62,907,842),54801=>array(75,-61,907,842),54802=>array(75,-69,922,842),54803=>array(75,-74,929,842),54804=>array(75,-69,927,842),54805=>array(75,-68,911,842),54806=>array(75,-72,929,842),54807=>array(75,-70,936,842),54808=>array(75,-66,908,842),54809=>array(75,-59,916,842),54810=>array(75,-60,928,842),54811=>array(75,-68,908,842),54812=>array(49,-68,907,843),54813=>array(50,-61,907,843),54814=>array(50,-61,907,843),54815=>array(50,-71,931,843),54816=>array(50,-46,907,843),54817=>array(50,-68,912,843),54818=>array(50,-76,907,843),54819=>array(50,-44,921,843),54820=>array(50,-62,917,843),54821=>array(50,-64,907,843),54822=>array(50,-64,908,843),54823=>array(50,-64,908,843),54824=>array(50,-69,923,843),54825=>array(50,-64,908,843),54826=>array(50,-64,908,843),54827=>array(50,-76,907,843),54828=>array(50,-62,907,843),54829=>array(50,-61,907,843),54830=>array(50,-69,922,843),54831=>array(50,-74,929,843),54832=>array(50,-69,927,843),54833=>array(50,-68,911,843),54834=>array(50,-72,929,843),54835=>array(50,-70,936,843),54836=>array(50,-66,908,843),54837=>array(50,-59,916,843),54838=>array(50,-60,928,843),54839=>array(50,-68,908,843),54840=>array(62,7,938,764),54841=>array(79,-61,921,819),54842=>array(79,-61,921,819),54843=>array(79,-71,921,819),54844=>array(79,-46,922,819),54845=>array(79,-68,921,819),54846=>array(79,-74,921,819),54847=>array(79,-44,921,819),54848=>array(79,-62,921,819),54849=>array(79,-64,921,819),54850=>array(79,-64,921,819),54851=>array(79,-63,921,819),54852=>array(79,-68,921,819),54853=>array(79,-64,921,819),54854=>array(79,-63,921,819),54855=>array(79,-74,921,819),54856=>array(79,-62,921,819),54857=>array(79,-61,921,819),54858=>array(79,-69,921,819),54859=>array(79,-74,921,819),54860=>array(79,-69,921,819),54861=>array(79,-68,921,819),54862=>array(79,-72,921,819),54863=>array(79,-70,921,819),54864=>array(79,-66,921,819),54865=>array(79,-59,921,819),54866=>array(79,-60,921,819),54867=>array(79,-68,921,819),54868=>array(68,-69,936,842),54869=>array(77,-59,936,842),54870=>array(77,-61,936,842),54871=>array(77,-71,936,842),54872=>array(72,-45,936,842),54873=>array(77,-69,936,842),54874=>array(77,-76,936,842),54875=>array(77,-44,936,842),54876=>array(77,-62,936,842),54877=>array(77,-64,936,842),54878=>array(77,-64,936,842),54879=>array(77,-64,936,842),54880=>array(77,-70,936,842),54881=>array(77,-64,936,842),54882=>array(77,-64,936,842),54883=>array(77,-76,936,842),54884=>array(77,-62,936,842),54885=>array(77,-61,936,842),54886=>array(77,-70,936,842),54887=>array(77,-74,936,842),54888=>array(77,-69,936,842),54889=>array(77,-67,936,842),54890=>array(77,-72,936,842),54891=>array(77,-71,936,842),54892=>array(77,-66,936,842),54893=>array(77,-59,936,842),54894=>array(77,-60,936,842),54895=>array(77,-69,936,842),54896=>array(61,-69,907,842),54897=>array(77,-61,907,842),54898=>array(77,-61,907,842),54899=>array(77,-71,931,842),54900=>array(72,-46,907,842),54901=>array(77,-68,912,842),54902=>array(77,-76,907,842),54903=>array(77,-44,921,842),54904=>array(77,-62,917,842),54905=>array(77,-64,907,842),54906=>array(77,-64,908,842),54907=>array(77,-64,908,842),54908=>array(77,-69,923,842),54909=>array(77,-64,908,842),54910=>array(77,-64,908,842),54911=>array(77,-76,907,842),54912=>array(77,-62,907,842),54913=>array(77,-61,907,842),54914=>array(77,-69,922,842),54915=>array(77,-74,929,842),54916=>array(77,-69,927,842),54917=>array(77,-68,911,842),54918=>array(77,-72,929,842),54919=>array(77,-70,936,842),54920=>array(77,-66,908,842),54921=>array(77,-59,916,842),54922=>array(77,-60,928,842),54923=>array(77,-68,908,842),54924=>array(74,-69,907,842),54925=>array(65,-61,907,842),54926=>array(65,-61,907,842),54927=>array(65,-71,931,842),54928=>array(65,-46,907,842),54929=>array(65,-68,912,842),54930=>array(65,-76,907,842),54931=>array(65,-44,921,842),54932=>array(65,-62,917,842),54933=>array(65,-64,907,842),54934=>array(65,-64,908,842),54935=>array(65,-64,908,842),54936=>array(65,-69,923,842),54937=>array(65,-64,908,842),54938=>array(65,-64,908,842),54939=>array(65,-76,907,842),54940=>array(65,-62,907,842),54941=>array(65,-61,907,842),54942=>array(65,-69,922,842),54943=>array(65,-74,929,842),54944=>array(65,-69,927,842),54945=>array(65,-68,911,842),54946=>array(65,-72,929,842),54947=>array(65,-70,936,842),54948=>array(65,-66,908,842),54949=>array(65,-59,916,842),54950=>array(65,-60,928,842),54951=>array(65,-68,908,842),54952=>array(62,7,938,764),54953=>array(79,-61,921,819),54954=>array(79,-61,921,819),54955=>array(79,-71,921,819),54956=>array(79,-46,921,819),54957=>array(79,-68,921,819),54958=>array(79,-74,921,819),54959=>array(79,-44,921,819),54960=>array(79,-62,921,819),54961=>array(79,-64,921,819),54962=>array(79,-64,921,819),54963=>array(79,-63,921,819),54964=>array(79,-68,921,819),54965=>array(79,-64,921,819),54966=>array(79,-63,921,819),54967=>array(79,-74,921,819),54968=>array(79,-62,921,819),54969=>array(79,-61,921,819),54970=>array(79,-69,921,819),54971=>array(79,-74,921,819),54972=>array(79,-69,921,819),54973=>array(79,-68,921,819),54974=>array(79,-72,921,819),54975=>array(79,-70,921,819),54976=>array(79,-66,921,819),54977=>array(79,-59,921,819),54978=>array(79,-60,921,819),54979=>array(79,-68,921,819),54980=>array(79,-64,921,809),54981=>array(79,-61,921,819),54982=>array(79,-61,921,819),54983=>array(79,-71,921,819),54984=>array(79,-46,921,814),54985=>array(79,-68,921,819),54986=>array(79,-74,921,819),54987=>array(79,-44,921,819),54988=>array(79,-62,921,819),54989=>array(79,-64,921,819),54990=>array(79,-64,921,819),54991=>array(79,-63,921,819),54992=>array(79,-68,921,819),54993=>array(79,-64,921,819),54994=>array(79,-63,921,819),54995=>array(79,-74,921,819),54996=>array(79,-62,921,819),54997=>array(79,-61,921,819),54998=>array(79,-69,921,819),54999=>array(79,-74,921,819),55000=>array(79,-69,921,819),55001=>array(79,-68,921,819),55002=>array(79,-72,921,819),55003=>array(79,-70,921,819),55004=>array(79,-66,921,819),55005=>array(79,-59,921,819),55006=>array(79,-60,921,819),55007=>array(79,-68,921,819),55008=>array(70,-70,907,841),55009=>array(75,-61,909,843),55010=>array(75,-61,909,843),55011=>array(75,-71,931,843),55012=>array(76,-46,909,843),55013=>array(75,-68,912,843),55014=>array(75,-76,909,843),55015=>array(75,-44,921,843),55016=>array(75,-62,917,843),55017=>array(75,-64,909,843),55018=>array(75,-64,909,843),55019=>array(75,-64,909,843),55020=>array(75,-69,923,843),55021=>array(75,-64,909,843),55022=>array(75,-64,909,843),55023=>array(75,-76,909,843),55024=>array(75,-62,909,843),55025=>array(75,-61,909,843),55026=>array(75,-69,922,843),55027=>array(75,-74,929,843),55028=>array(75,-69,927,843),55029=>array(75,-68,911,843),55030=>array(75,-72,929,843),55031=>array(75,-70,936,843),55032=>array(75,-66,909,843),55033=>array(75,-59,916,843),55034=>array(75,-60,928,843),55035=>array(75,-68,909,843),55036=>array(63,-68,907,843),55037=>array(70,-61,907,843),55038=>array(70,-61,907,843),55039=>array(70,-71,931,843),55040=>array(76,-46,907,843),55041=>array(70,-68,912,843),55042=>array(70,-76,907,843),55043=>array(70,-44,921,843),55044=>array(70,-62,917,843),55045=>array(70,-64,907,843),55046=>array(70,-64,908,843),55047=>array(70,-64,908,843),55048=>array(70,-69,923,843),55049=>array(70,-64,908,843),55050=>array(70,-64,908,843),55051=>array(70,-76,907,843),55052=>array(70,-62,907,843),55053=>array(70,-61,907,843),55054=>array(70,-69,922,843),55055=>array(70,-74,929,843),55056=>array(70,-69,927,843),55057=>array(70,-68,911,843),55058=>array(70,-72,929,843),55059=>array(70,-70,936,843),55060=>array(70,-66,908,843),55061=>array(70,-59,916,843),55062=>array(70,-60,928,843),55063=>array(70,-68,908,843),55064=>array(70,-69,907,842),55065=>array(65,-61,907,842),55066=>array(65,-61,907,842),55067=>array(65,-71,931,842),55068=>array(65,-46,907,842),55069=>array(65,-68,912,842),55070=>array(65,-76,907,842),55071=>array(65,-44,921,842),55072=>array(65,-62,917,842),55073=>array(65,-64,907,842),55074=>array(65,-64,908,842),55075=>array(65,-64,908,842),55076=>array(65,-69,923,842),55077=>array(65,-64,908,842),55078=>array(65,-64,908,842),55079=>array(65,-76,907,842),55080=>array(65,-62,907,842),55081=>array(65,-61,907,842),55082=>array(65,-69,922,842),55083=>array(65,-74,929,842),55084=>array(65,-69,927,842),55085=>array(65,-68,911,842),55086=>array(65,-72,929,842),55087=>array(65,-70,936,842),55088=>array(65,-66,908,842),55089=>array(65,-59,916,842),55090=>array(65,-60,928,842),55091=>array(65,-68,908,842),55092=>array(87,-64,928,799),55093=>array(79,-61,921,819),55094=>array(79,-61,921,819),55095=>array(79,-71,921,819),55096=>array(79,-46,921,814),55097=>array(79,-68,921,819),55098=>array(79,-74,921,819),55099=>array(79,-44,921,819),55100=>array(79,-62,921,819),55101=>array(79,-64,921,819),55102=>array(79,-64,921,819),55103=>array(79,-63,921,819),55104=>array(79,-68,921,819),55105=>array(79,-64,921,819),55106=>array(79,-63,921,819),55107=>array(79,-74,921,819),55108=>array(79,-62,921,819),55109=>array(79,-61,921,819),55110=>array(79,-69,921,819),55111=>array(79,-74,921,819),55112=>array(79,-69,921,819),55113=>array(79,-68,921,819),55114=>array(79,-72,921,819),55115=>array(79,-70,921,819),55116=>array(79,-66,921,819),55117=>array(79,-59,921,819),55118=>array(79,-60,921,819),55119=>array(79,-68,921,819),55120=>array(52,42,948,744),55121=>array(79,-61,921,819),55122=>array(79,-61,921,819),55123=>array(79,-71,921,819),55124=>array(79,-46,921,815),55125=>array(79,-68,921,819),55126=>array(79,-74,921,819),55127=>array(79,-44,921,819),55128=>array(79,-62,921,819),55129=>array(79,-64,921,819),55130=>array(79,-64,921,819),55131=>array(79,-63,921,819),55132=>array(79,-68,921,819),55133=>array(79,-64,921,819),55134=>array(79,-63,921,819),55135=>array(79,-74,921,819),55136=>array(79,-62,921,819),55137=>array(79,-61,921,819),55138=>array(79,-69,921,819),55139=>array(79,-74,921,819),55140=>array(79,-69,921,819),55141=>array(79,-68,921,819),55142=>array(79,-72,921,819),55143=>array(79,-70,921,819),55144=>array(79,-66,921,819),55145=>array(79,-59,921,819),55146=>array(79,-60,921,819),55147=>array(79,-68,921,819),55148=>array(67,-69,907,842),55149=>array(65,-61,907,842),55150=>array(65,-61,907,842),55151=>array(65,-71,931,842),55152=>array(65,-46,907,842),55153=>array(65,-68,912,842),55154=>array(65,-76,907,842),55155=>array(65,-44,921,842),55156=>array(65,-62,917,842),55157=>array(65,-64,907,842),55158=>array(65,-64,908,842),55159=>array(65,-64,908,842),55160=>array(65,-69,923,842),55161=>array(65,-64,908,842),55162=>array(65,-64,908,842),55163=>array(65,-76,907,842),55164=>array(65,-62,907,842),55165=>array(65,-61,907,842),55166=>array(65,-69,922,842),55167=>array(65,-74,929,842),55168=>array(65,-69,927,842),55169=>array(65,-68,911,842),55170=>array(65,-72,929,842),55171=>array(65,-70,936,842),55172=>array(65,-66,908,842),55173=>array(65,-59,916,842),55174=>array(65,-60,928,842),55175=>array(65,-68,908,842),55176=>array(84,-69,907,842),55177=>array(101,-61,907,842),55178=>array(101,-61,907,842),55179=>array(101,-71,931,842),55180=>array(96,-46,907,842),55181=>array(101,-68,912,842),55182=>array(101,-76,907,842),55183=>array(101,-44,921,842),55184=>array(101,-62,917,842),55185=>array(101,-64,907,842),55186=>array(101,-64,908,842),55187=>array(101,-64,908,842),55188=>array(101,-69,923,842),55189=>array(101,-64,908,842),55190=>array(101,-64,908,842),55191=>array(101,-76,907,842),55192=>array(101,-62,907,842),55193=>array(101,-61,907,842),55194=>array(101,-69,922,842),55195=>array(101,-74,929,842),55196=>array(101,-69,927,842),55197=>array(101,-68,911,842),55198=>array(101,-72,929,842),55199=>array(101,-70,936,842),55200=>array(101,-66,908,842),55201=>array(101,-59,916,842),55202=>array(101,-60,928,842),55203=>array(101,-68,908,842),59393=>array(-54,0,248,634),59394=>array(20,-199,439,530),59395=>array(20,-199,439,530),59396=>array(-70,-12,436,716),59397=>array(-70,-12,436,716),59416=>array(7,637,299,1065),59492=>array(32,0,450,576),59495=>array(32,-1,452,577),59536=>array(38,0,459,770),59557=>array(-1,-221,404,556),59558=>array(-1,-221,481,393),59559=>array(62,-221,904,393),61441=>array(14,0,432,728),61442=>array(14,0,430,728),63232=>array(54,-5,477,560),63233=>array(-601,612,-216,775),63234=>array(-601,612,-216,800),63235=>array(-601,612,-171,800),63236=>array(-601,612,-216,800),63237=>array(-341,612,-283,785),63238=>array(-467,612,-173,819),63239=>array(-620,612,-180,810),63240=>array(-399,612,-226,785),63241=>array(-504,615,-192,832),63242=>array(-167,612,-109,785),63243=>array(-293,612,1,819),63244=>array(-342,612,98,810),63245=>array(-225,612,-52,785),63246=>array(-330,615,-18,832),63247=>array(54,-5,774,558),63248=>array(-563,631,-189,824),63249=>array(-422,609,-265,767),63250=>array(-623,603,-246,849),63251=>array(-274,858,-216,1031),63252=>array(-400,858,-106,1065),63253=>array(-449,858,-9,1056),63254=>array(-333,858,-159,1031),63255=>array(-437,861,-125,1078),63256=>array(-201,-206,-85,-34),63257=>array(-337,-206,-89,-34),63258=>array(-157,-115,-75,-33),63260=>array(111,-210,291,-73),63261=>array(17,-113,269,0),63744=>array(62,-12,931,835),63745=>array(48,-72,962,777),63746=>array(63,-71,935,832),63747=>array(66,-79,948,785),63748=>array(49,-62,926,811),63749=>array(123,-68,886,832),63750=>array(65,-51,902,840),63751=>array(37,-41,967,846),63752=>array(37,-41,967,846),63753=>array(43,-70,957,830),63754=>array(54,-21,960,856),63755=>array(112,-67,904,831),63756=>array(62,-62,960,848),63757=>array(32,-72,970,845),63758=>array(42,-67,985,854),63759=>array(38,-67,950,807),63760=>array(61,-80,954,835),63761=>array(33,-73,961,835),63762=>array(40,-71,973,822),63763=>array(52,-51,966,820),63764=>array(60,-64,959,847),63765=>array(57,-72,959,842),63766=>array(48,-75,968,839),63767=>array(45,-66,972,840),63768=>array(56,-68,970,835),63769=>array(51,-67,967,840),63770=>array(64,-62,972,839),63771=>array(49,-68,962,843),63772=>array(59,-71,883,815),63773=>array(35,-65,909,836),63774=>array(53,-70,923,830),63775=>array(72,-70,928,839),63776=>array(62,-67,958,846),63777=>array(59,-49,964,846),63778=>array(50,-73,964,837),63779=>array(56,-34,949,839),63780=>array(35,-68,952,836),63781=>array(49,-64,947,829),63782=>array(40,-65,956,848),63783=>array(47,-76,968,842),63784=>array(46,-60,949,837),63785=>array(49,-74,885,832),63786=>array(62,-63,962,829),63787=>array(37,-75,968,831),63788=>array(51,-65,930,832),63789=>array(63,-64,956,835),63790=>array(54,-71,966,849),63791=>array(52,-73,919,832),63792=>array(43,-67,954,835),63793=>array(30,-61,974,849),63794=>array(43,-71,954,830),63795=>array(40,-78,941,833),63796=>array(38,-39,923,832),63797=>array(59,-66,961,836),63798=>array(45,-77,929,841),63799=>array(29,-67,968,838),63800=>array(70,-62,965,817),63801=>array(51,-68,947,837),63802=>array(62,-67,948,849),63803=>array(36,-64,952,818),63804=>array(57,-69,958,840),63805=>array(34,-67,974,839),63806=>array(65,-52,935,840),63807=>array(57,-64,968,841),63808=>array(57,-67,949,829),63809=>array(55,-63,973,849),63810=>array(57,-24,950,849),63811=>array(48,-65,934,785),63812=>array(49,-62,964,855),63813=>array(43,-71,962,840),63814=>array(56,-65,944,833),63815=>array(52,-68,944,788),63816=>array(57,-63,976,839),63817=>array(105,-67,914,786),63818=>array(59,-28,949,783),63819=>array(46,-82,939,823),63820=>array(39,-70,949,831),63821=>array(48,-66,982,843),63822=>array(46,-67,956,800),63823=>array(51,-63,943,808),63824=>array(34,-65,942,839),63825=>array(99,-82,936,792),63826=>array(72,-65,917,829),63827=>array(68,-70,898,834),63828=>array(55,-65,973,833),63829=>array(41,-70,959,831),63830=>array(33,-57,967,835),63831=>array(34,-66,968,839),63832=>array(46,-65,954,831),63833=>array(95,-67,970,831),63834=>array(59,-66,961,841),63835=>array(60,-58,974,851),63836=>array(60,-64,959,847),63837=>array(53,-65,949,836),63838=>array(74,-73,939,777),63839=>array(69,-55,923,850),63840=>array(49,-25,959,830),63841=>array(72,-69,928,840),63842=>array(72,-74,926,784),63843=>array(45,-54,948,792),63844=>array(30,-55,956,850),63845=>array(42,-73,947,834),63846=>array(44,-67,970,843),63847=>array(71,-65,928,769),63848=>array(42,-32,972,829),63849=>array(60,-70,959,833),63850=>array(65,-69,946,835),63851=>array(30,-88,968,844),63852=>array(48,-30,949,830),63853=>array(53,-70,939,829),63854=>array(49,-70,965,839),63855=>array(57,-71,964,816),63856=>array(51,-72,967,824),63857=>array(57,-63,963,785),63858=>array(56,-73,946,824),63859=>array(45,-63,961,848),63860=>array(72,-65,931,827),63861=>array(41,-71,955,826),63862=>array(110,-66,962,839),63863=>array(65,-68,950,838),63864=>array(60,-68,953,783),63865=>array(63,-63,961,830),63866=>array(53,-68,956,808),63867=>array(40,-72,954,818),63868=>array(85,-61,963,820),63869=>array(53,-60,960,830),63870=>array(53,-30,947,789),63871=>array(27,-76,929,825),63872=>array(180,-77,840,772),63873=>array(86,-53,911,836),63874=>array(22,-62,961,846),63875=>array(33,-67,969,839),63876=>array(43,-71,967,841),63877=>array(32,-63,962,799),63878=>array(117,-65,907,790),63879=>array(26,-73,964,789),63880=>array(43,-67,952,814),63881=>array(49,-68,946,832),63882=>array(70,-56,863,824),63883=>array(37,-62,947,796),63884=>array(41,-67,930,779),63885=>array(50,-65,970,831),63886=>array(86,-68,917,841),63887=>array(36,-76,958,832),63888=>array(42,-54,961,841),63889=>array(37,-60,970,849),63890=>array(37,-56,963,833),63891=>array(52,-67,962,830),63892=>array(41,-64,962,833),63893=>array(47,-69,968,834),63894=>array(34,-66,967,839),63895=>array(42,-65,946,842),63896=>array(48,-62,944,831),63897=>array(37,-56,951,839),63898=>array(37,-56,951,830),63899=>array(18,-53,969,847),63900=>array(83,-76,901,832),63901=>array(67,-63,942,838),63902=>array(103,-64,898,785),63903=>array(58,-61,954,831),63904=>array(44,-73,955,828),63905=>array(57,-71,964,816),63906=>array(40,-59,966,839),63907=>array(30,-58,963,846),63908=>array(27,-64,961,853),63909=>array(40,-67,977,854),63910=>array(31,-53,963,854),63911=>array(36,-74,971,842),63912=>array(38,-67,961,846),63913=>array(105,-64,897,788),63914=>array(80,-68,917,844),63915=>array(40,-73,961,832),63916=>array(39,-68,962,840),63917=>array(37,-68,964,840),63918=>array(69,-19,935,839),63919=>array(22,-68,960,847),63920=>array(28,-62,966,854),63921=>array(35,-65,975,846),63922=>array(43,-63,961,810),63923=>array(74,-28,929,779),63924=>array(42,-68,955,839),63925=>array(41,-63,911,845),63926=>array(60,-69,952,833),63927=>array(51,-57,952,829),63928=>array(132,-64,882,789),63929=>array(62,-25,962,783),63930=>array(172,-41,829,773),63931=>array(41,-64,983,842),63932=>array(41,-64,970,838),63933=>array(52,-74,951,779),63934=>array(38,-68,956,836),63935=>array(60,-64,959,847),63936=>array(41,-73,969,850),63937=>array(46,-65,964,830),63938=>array(26,-76,972,829),63939=>array(37,-56,968,838),63940=>array(50,-66,970,833),63941=>array(57,-62,950,798),63942=>array(98,-68,935,788),63943=>array(44,-64,911,837),63944=>array(39,-61,959,832),63945=>array(34,-61,921,837),63946=>array(40,-70,964,830),63947=>array(45,-66,925,830),63948=>array(30,-70,960,830),63949=>array(75,-68,897,818),63950=>array(26,-70,964,830),63951=>array(34,-64,956,839),63952=>array(38,-67,960,828),63953=>array(62,-29,946,810),63954=>array(39,-77,962,835),63955=>array(103,-58,951,833),63956=>array(31,-71,976,855),63957=>array(33,-61,979,841),63958=>array(39,-58,991,856),63959=>array(52,-71,971,868),63960=>array(36,-67,954,830),63961=>array(38,-59,976,835),63962=>array(60,-65,957,788),63963=>array(72,-69,928,840),63964=>array(93,-60,959,848),63965=>array(57,-67,920,826),63966=>array(71,-76,947,824),63967=>array(29,-68,953,786),63968=>array(75,-67,866,782),63969=>array(51,-70,960,831),63970=>array(41,-68,950,823),63971=>array(56,-64,957,821),63972=>array(35,-16,945,775),63973=>array(46,-69,944,835),63974=>array(39,-64,949,788),63975=>array(43,-75,955,840),63976=>array(41,-64,954,821),63977=>array(52,-19,948,796),63978=>array(64,-73,957,834),63979=>array(118,-68,939,800),63980=>array(54,-60,927,803),63981=>array(52,-74,958,822),63982=>array(49,-68,958,833),63983=>array(57,-66,959,837),63984=>array(57,-65,949,832),63985=>array(100,-70,956,834),63986=>array(31,-68,959,843),63987=>array(26,-68,959,838),63988=>array(30,-69,954,829),63989=>array(28,-63,968,841),63990=>array(120,-65,932,841),63991=>array(95,-3,912,822),63992=>array(52,-17,945,838),63993=>array(37,-64,949,837),63994=>array(40,-69,951,818),63995=>array(57,-73,960,840),63996=>array(51,-68,959,833),63997=>array(48,-68,950,829),63998=>array(41,-68,968,831),63999=>array(71,-65,906,831),64000=>array(44,-73,897,797),64001=>array(46,-68,950,826),64002=>array(53,-63,936,826),64003=>array(42,-69,952,827),64004=>array(70,-38,942,833),64005=>array(48,-55,898,819),64006=>array(47,-65,953,815),64007=>array(46,-74,941,827),64008=>array(51,-62,941,845),64009=>array(101,-68,955,846),64010=>array(58,-66,944,789),64011=>array(35,-65,942,837),64012=>array(49,-55,942,754),64013=>array(57,-70,964,827),64014=>array(45,-62,955,843),64015=>array(41,-65,969,830),64016=>array(41,-60,968,807),64017=>array(77,-62,953,828),64018=>array(89,-55,952,838),64019=>array(37,-71,948,828),64020=>array(37,-67,976,831),64021=>array(31,-69,973,831),64022=>array(49,-56,921,836),64023=>array(45,-22,947,840),64024=>array(42,-59,961,820),64025=>array(55,-67,904,837),64026=>array(39,-68,956,843),64027=>array(38,-69,943,834),64028=>array(41,-66,952,840),64029=>array(45,-66,954,837),64030=>array(73,-50,892,785),64031=>array(30,-68,935,839),64032=>array(40,-68,969,832),64033=>array(39,-19,946,826),64034=>array(59,-66,948,835),64035=>array(31,-69,953,829),64036=>array(37,-60,961,808),64037=>array(36,-54,957,835),64038=>array(44,-67,943,835),64039=>array(33,-70,949,839),64040=>array(33,-64,959,839),64041=>array(94,-71,936,842),64042=>array(34,-69,964,839),64043=>array(34,-68,906,839),64044=>array(34,-64,931,839),64045=>array(40,-65,938,837),64256=>array(13,0,569,728),64257=>array(14,0,432,728),64258=>array(14,0,430,728),64259=>array(42,0,709,728),64260=>array(13,0,680,728),64261=>array(67,-7,521,728),64262=>array(31,-12,750,700),64275=>array(44,-9,751,618),64276=>array(44,-8,749,609),64277=>array(44,-210,752,609),64278=>array(43,-210,749,609),64279=>array(44,-210,844,609),64286=>array(22,568,311,695),64287=>array(16,162,522,530),64288=>array(32,-12,503,518),64289=>array(58,0,652,518),64290=>array(24,0,619,518),64291=>array(72,0,662,530),64292=>array(38,-12,598,530),64293=>array(33,-12,557,716),64294=>array(72,0,662,518),64295=>array(20,0,565,530),64296=>array(19,-13,726,530),64297=>array(55,0,529,278),64298=>array(72,-12,674,634),64299=>array(72,-12,674,634),64300=>array(72,-12,674,634),64301=>array(72,-12,674,634),64302=>array(60,-104,517,518),64303=>array(60,-144,517,518),64304=>array(60,0,517,518),64305=>array(38,0,533,530),64306=>array(20,0,386,530),64307=>array(24,0,482,518),64308=>array(72,0,526,530),64309=>array(16,0,248,530),64310=>array(-9,0,306,543),64312=>array(68,-12,532,530),64313=>array(16,258,248,530),64314=>array(20,-199,439,530),64315=>array(38,-12,469,530),64316=>array(33,-12,436,716),64318=>array(30,0,526,530),64320=>array(38,0,270,530),64321=>array(25,-12,546,530),64323=>array(45,-199,499,530),64324=>array(37,-12,511,530),64326=>array(45,0,477,518),64327=>array(72,-199,535,518),64328=>array(20,0,439,530),64329=>array(72,-12,674,518),64330=>array(21,-13,565,530),64331=>array(16,0,248,634),64332=>array(38,0,533,622),64333=>array(38,-12,469,622),64334=>array(37,-12,511,622),64335=>array(33,0,517,716),64336=>array(-15,0,256,927),64337=>array(-15,0,274,927),64338=>array(62,-275,709,265),64339=>array(62,-279,789,265),64340=>array(-1,-252,194,284),64341=>array(-1,-256,244,284),64342=>array(62,-270,709,265),64343=>array(62,-270,789,265),64344=>array(-1,-228,233,284),64345=>array(-1,-228,244,284),64346=>array(62,-270,709,265),64347=>array(62,-270,789,265),64348=>array(-1,-242,210,284),64349=>array(-1,-242,244,284),64350=>array(62,-50,709,568),64351=>array(62,-50,789,568),64352=>array(-1,0,194,616),64353=>array(-1,0,244,616),64354=>array(62,-50,709,569),64355=>array(62,-50,789,569),64356=>array(-1,0,222,618),64357=>array(-1,0,244,618),64358=>array(62,-50,709,569),64359=>array(62,-50,789,569),64360=>array(-1,0,245,618),64361=>array(-1,0,244,618),64362=>array(62,0,895,859),64363=>array(62,-33,904,697),64364=>array(-1,0,404,860),64365=>array(-1,0,481,697),64366=>array(62,0,895,890),64367=>array(62,-33,904,727),64368=>array(-1,0,404,890),64369=>array(-1,0,481,727),64370=>array(52,-271,564,453),64371=>array(54,-271,659,453),64372=>array(-1,-236,567,453),64373=>array(-1,-236,638,453),64374=>array(52,-271,564,453),64375=>array(54,-271,659,453),64376=>array(-1,-105,567,453),64377=>array(-1,-105,638,453),64378=>array(52,-271,564,453),64379=>array(54,-271,659,453),64380=>array(-1,-208,567,453),64381=>array(-1,-208,638,453),64382=>array(52,-271,564,453),64383=>array(54,-271,659,453),64384=>array(-1,-236,567,453),64385=>array(-1,-237,638,453),64386=>array(38,-140,368,437),64387=>array(38,-140,459,436),64388=>array(38,0,368,614),64389=>array(38,0,459,638),64390=>array(38,0,368,716),64391=>array(38,0,459,740),64392=>array(38,0,368,746),64393=>array(38,0,459,770),64394=>array(-74,-210,362,554),64395=>array(-74,-210,437,544),64396=>array(-74,-210,369,584),64397=>array(-74,-210,437,574),64398=>array(62,0,827,717),64399=>array(62,0,943,717),64400=>array(-1,0,432,717),64401=>array(-1,0,548,717),64402=>array(62,0,827,793),64403=>array(62,0,943,793),64404=>array(-1,0,432,793),64405=>array(-1,0,548,793),64406=>array(62,-256,827,793),64407=>array(62,-257,943,793),64408=>array(-1,-252,432,793),64409=>array(-1,-256,548,793),64410=>array(62,0,827,839),64411=>array(62,0,943,839),64412=>array(-1,0,432,839),64413=>array(-1,0,548,839),64414=>array(62,-121,630,272),64415=>array(39,-228,724,183),64416=>array(62,-121,630,568),64417=>array(39,-228,724,568),64418=>array(-1,0,245,618),64419=>array(-1,0,244,618),64420=>array(62,-6,452,705),64421=>array(62,0,478,705),64422=>array(62,-6,452,431),64423=>array(2,-85,510,159),64424=>array(-1,-242,194,284),64425=>array(-1,-264,428,196),64426=>array(29,-15,644,593),64427=>array(29,-15,707,593),64428=>array(-1,0,624,593),64429=>array(-1,0,687,593),64430=>array(71,-221,684,297),64431=>array(62,-221,675,95),64432=>array(71,-221,684,473),64433=>array(62,-221,675,363),64467=>array(62,0,689,817),64468=>array(34,0,734,817),64469=>array(-1,0,432,889),64470=>array(-1,0,548,889),64471=>array(-108,-210,408,766),64472=>array(-111,-210,467,704),64473=>array(-108,-210,408,696),64474=>array(-111,-210,467,628),64475=>array(-108,-210,408,789),64476=>array(-111,-210,467,725),64477=>array(-108,-210,441,755),64478=>array(-108,-210,408,750),64479=>array(-111,-210,467,685),64480=>array(-108,-210,408,476),64481=>array(-111,-210,467,379),64482=>array(-108,-210,408,705),64483=>array(-111,-210,467,641),64484=>array(10,-279,730,453),64485=>array(33,-279,935,126),64486=>array(-1,-239,194,284),64487=>array(-1,-239,244,284),64488=>array(-1,0,194,284),64489=>array(-1,0,244,284),64490=>array(79,0,475,716),64491=>array(79,0,518,716),64492=>array(2,-85,710,569),64493=>array(2,-85,754,569),64494=>array(-111,-210,667,569),64495=>array(-111,-210,711,569),64496=>array(-111,-210,667,704),64497=>array(-111,-210,711,704),64498=>array(-111,-210,667,628),64499=>array(-111,-210,711,628),64500=>array(-111,-210,667,725),64501=>array(-111,-210,711,725),64502=>array(33,-279,1135,569),64503=>array(33,-279,1178,569),64504=>array(-1,-256,445,569),64505=>array(34,-270,995,569),64506=>array(34,-270,1038,569),64507=>array(-1,0,445,569),64508=>array(32,-121,679,453),64509=>array(34,-270,794,126),64510=>array(-1,-140,217,284),64511=>array(-1,-140,244,284),64512=>array(54,-271,860,569),64513=>array(54,-271,860,569),64514=>array(58,-265,842,569),64515=>array(34,-270,995,569),64516=>array(34,-265,1005,569),64517=>array(54,-271,853,453),64518=>array(54,-271,853,453),64519=>array(54,-271,853,621),64520=>array(58,-265,834,359),64521=>array(34,-270,988,284),64522=>array(34,-265,998,284),64523=>array(54,-271,876,486),64524=>array(54,-271,876,486),64525=>array(54,-271,876,621),64526=>array(58,-265,858,486),64527=>array(34,-270,1011,486),64528=>array(34,-265,1021,486),64529=>array(54,-271,876,588),64530=>array(58,-265,858,588),64531=>array(34,-270,1011,588),64532=>array(34,-265,1021,588),64533=>array(54,-271,1226,453),64534=>array(58,-265,1208,453),64535=>array(54,-271,1226,453),64536=>array(58,-265,1208,453),64537=>array(54,-271,1226,610),64538=>array(54,-271,1226,610),64539=>array(58,-265,1208,610),64540=>array(54,-271,1350,453),64541=>array(54,-271,1350,453),64542=>array(54,-271,1350,621),64543=>array(58,-265,1332,359),64544=>array(54,-271,1415,453),64545=>array(58,-265,1397,436),64546=>array(54,-271,1415,522),64547=>array(54,-271,1415,522),64548=>array(54,-271,1415,621),64549=>array(58,-265,1397,522),64550=>array(54,-271,1331,686),64551=>array(58,-265,1313,686),64552=>array(58,-265,1313,686),64553=>array(54,-271,1183,492),64554=>array(58,-265,1165,492),64555=>array(54,-271,1183,716),64556=>array(58,-265,1165,716),64557=>array(54,-271,1063,773),64558=>array(54,-271,1063,773),64559=>array(54,-271,1063,773),64560=>array(58,-265,1045,773),64561=>array(34,-270,1198,773),64562=>array(34,-265,1208,773),64563=>array(54,-271,1063,758),64564=>array(58,-265,1045,758),64565=>array(34,-270,1198,758),64566=>array(34,-265,1208,758),64567=>array(79,0,706,717),64568=>array(54,-271,1091,717),64569=>array(54,-271,1091,717),64570=>array(54,-271,1091,717),64571=>array(34,-228,1106,717),64572=>array(58,-265,1073,717),64573=>array(34,-270,1226,717),64574=>array(34,-265,1236,717),64575=>array(54,-271,853,716),64576=>array(54,-271,853,716),64577=>array(54,-271,853,716),64578=>array(58,-265,835,716),64579=>array(34,-270,988,716),64580=>array(34,-265,998,716),64581=>array(54,-271,1078,453),64582=>array(54,-271,1078,453),64583=>array(54,-271,1078,621),64584=>array(58,-265,1060,359),64585=>array(34,-270,1213,359),64586=>array(34,-265,1223,359),64587=>array(54,-271,853,501),64588=>array(54,-271,853,501),64589=>array(54,-271,853,621),64590=>array(58,-265,835,501),64591=>array(34,-270,988,501),64592=>array(34,-265,998,501),64593=>array(54,-271,1283,593),64594=>array(58,-265,1265,593),64595=>array(34,-270,1418,593),64596=>array(34,-265,1428,593),64597=>array(54,-271,876,453),64598=>array(54,-271,876,453),64599=>array(54,-271,876,621),64600=>array(58,-265,858,359),64601=>array(34,-270,1011,284),64602=>array(34,-265,1021,284),64603=>array(38,0,368,889),64604=>array(-74,-210,357,609),64605=>array(32,-121,679,505),64606=>array(4,521,299,990),64607=>array(7,618,299,990),64608=>array(7,648,299,990),64609=>array(4,521,299,990),64610=>array(7,770,299,990),64611=>array(7,588,299,1053),64612=>array(-74,-210,681,569),64613=>array(-74,-210,681,569),64614=>array(58,-265,885,569),64615=>array(39,-228,968,569),64616=>array(34,-270,1038,569),64617=>array(34,-265,1048,569),64618=>array(-74,-210,681,284),64619=>array(-74,-210,681,458),64620=>array(58,-265,885,359),64621=>array(39,-228,968,356),64622=>array(34,-270,1038,284),64623=>array(34,-265,1048,284),64624=>array(-74,-210,681,486),64625=>array(-74,-210,681,486),64626=>array(58,-265,885,486),64627=>array(39,-228,968,486),64628=>array(34,-270,1038,486),64629=>array(34,-265,1048,486),64630=>array(-74,-210,681,588),64631=>array(-74,-210,681,588),64632=>array(58,-265,885,588),64633=>array(39,-228,968,588),64634=>array(34,-270,1038,588),64635=>array(34,-265,1048,588),64636=>array(34,-270,1275,610),64637=>array(34,-265,1285,610),64638=>array(34,-270,1275,595),64639=>array(34,-265,1285,595),64640=>array(79,0,822,717),64641=>array(34,-228,1222,717),64642=>array(58,-265,1189,717),64643=>array(34,-270,1342,717),64644=>array(34,-265,1352,717),64645=>array(58,-265,885,716),64646=>array(34,-270,1038,716),64647=>array(34,-265,1048,716),64648=>array(79,0,807,716),64649=>array(58,-265,1174,359),64650=>array(-74,-210,681,501),64651=>array(-74,-210,681,501),64652=>array(58,-265,885,501),64653=>array(39,-228,968,501),64654=>array(34,-270,1038,501),64655=>array(34,-265,1048,501),64656=>array(34,-270,794,301),64657=>array(-74,-210,681,284),64658=>array(-74,-210,681,458),64659=>array(58,-265,885,359),64660=>array(39,-228,968,356),64661=>array(34,-270,1038,284),64662=>array(34,-265,1048,284),64663=>array(-1,-140,839,569),64664=>array(-1,0,839,569),64665=>array(-1,0,839,612),64666=>array(-1,0,734,569),64667=>array(-1,-269,606,569),64668=>array(-1,-140,832,453),64669=>array(-1,-140,832,453),64670=>array(-1,-140,832,612),64671=>array(-1,-140,727,359),64672=>array(-1,-269,600,376),64673=>array(-1,-140,855,486),64674=>array(-1,0,855,486),64675=>array(-1,0,855,612),64676=>array(-1,0,750,486),64677=>array(-1,-269,623,486),64678=>array(-1,0,750,588),64679=>array(-1,-80,1205,453),64680=>array(-1,-80,1100,453),64681=>array(-1,-140,1205,453),64682=>array(-1,0,1100,453),64683=>array(-1,-140,1205,610),64684=>array(-1,0,1100,610),64685=>array(-1,-140,1329,453),64686=>array(-1,0,1329,453),64687=>array(-1,0,1329,612),64688=>array(-1,0,1224,359),64689=>array(-1,0,1394,453),64690=>array(-1,0,1394,612),64691=>array(-1,0,1289,436),64692=>array(-1,-140,1394,522),64693=>array(-1,0,1394,522),64694=>array(-1,0,1394,612),64695=>array(-1,0,1289,522),64696=>array(-1,0,1310,686),64697=>array(-1,0,1205,686),64698=>array(-1,-140,1162,492),64699=>array(-1,0,1057,492),64700=>array(-1,-140,1162,716),64701=>array(-1,0,1057,716),64702=>array(-1,-140,1042,773),64703=>array(-1,0,1042,773),64704=>array(-1,0,1042,773),64705=>array(-1,0,937,773),64706=>array(-1,0,1042,758),64707=>array(-1,0,937,758),64708=>array(-1,-140,1070,717),64709=>array(-1,0,1070,717),64710=>array(-1,0,1070,717),64711=>array(-1,0,676,717),64712=>array(-1,0,965,717),64713=>array(-1,-140,832,716),64714=>array(-1,0,832,716),64715=>array(-1,0,832,716),64716=>array(-1,0,727,716),64717=>array(-1,-269,600,716),64718=>array(-1,-140,1057,453),64719=>array(-1,0,1057,453),64720=>array(-1,0,1057,612),64721=>array(-1,0,952,359),64722=>array(-1,-140,832,501),64723=>array(-1,0,832,501),64724=>array(-1,0,832,612),64725=>array(-1,0,727,501),64726=>array(-1,-269,600,501),64727=>array(-1,-140,1262,593),64728=>array(-1,0,1157,593),64729=>array(-1,0,624,912),64730=>array(-1,-140,855,453),64731=>array(-1,-140,855,453),64732=>array(-1,-140,855,612),64733=>array(-1,-140,750,359),64734=>array(-1,-269,623,376),64735=>array(-1,0,777,569),64736=>array(-1,-269,650,569),64737=>array(-1,-140,777,359),64738=>array(-1,-269,650,376),64739=>array(-1,0,777,486),64740=>array(-1,-269,650,486),64741=>array(-1,0,777,588),64742=>array(-1,-269,650,588),64743=>array(-1,0,1304,359),64744=>array(-1,-269,1177,376),64745=>array(-1,0,1304,604),64746=>array(-1,-269,1177,604),64747=>array(-1,0,792,717),64748=>array(-1,0,1081,717),64749=>array(-1,0,777,716),64750=>array(-1,0,777,501),64751=>array(-1,-269,650,501),64752=>array(-1,-140,777,359),64753=>array(-1,-269,650,376),64754=>array(-1,0,307,1058),64755=>array(-1,0,303,990),64756=>array(-1,0,299,1054),64757=>array(34,-270,1466,686),64758=>array(34,-265,1476,686),64759=>array(34,-270,1318,492),64760=>array(34,-265,1328,492),64761=>array(34,-270,1318,716),64762=>array(34,-265,1328,716),64763=>array(34,-270,1485,346),64764=>array(34,-265,1495,346),64765=>array(34,-270,1485,604),64766=>array(34,-265,1495,604),64767=>array(34,-270,1361,453),64768=>array(34,-265,1371,453),64769=>array(34,-270,1361,453),64770=>array(34,-265,1371,453),64771=>array(34,-270,1361,610),64772=>array(34,-265,1371,610),64773=>array(34,-270,1550,436),64774=>array(34,-265,1560,436),64775=>array(34,-270,1550,522),64776=>array(34,-265,1560,522),64777=>array(54,-271,1350,604),64778=>array(54,-271,1350,604),64779=>array(54,-271,1350,621),64780=>array(58,-265,1332,604),64781=>array(-74,-210,1128,604),64782=>array(-74,-210,1128,346),64783=>array(-74,-210,1193,436),64784=>array(-74,-210,1193,522),64785=>array(34,-270,1528,686),64786=>array(34,-265,1538,686),64787=>array(34,-270,1349,407),64788=>array(34,-265,1359,407),64789=>array(34,-270,1349,624),64790=>array(34,-265,1359,624),64791=>array(34,-270,1565,346),64792=>array(34,-265,1575,346),64793=>array(34,-270,1565,604),64794=>array(34,-265,1575,604),64795=>array(34,-270,1432,453),64796=>array(34,-265,1442,453),64797=>array(34,-270,1432,453),64798=>array(34,-265,1442,453),64799=>array(34,-270,1432,612),64800=>array(34,-265,1442,612),64801=>array(34,-270,1612,436),64802=>array(34,-265,1622,436),64803=>array(34,-270,1612,522),64804=>array(34,-265,1622,522),64805=>array(54,-271,1430,604),64806=>array(54,-271,1430,604),64807=>array(54,-271,1430,621),64808=>array(58,-265,1412,604),64809=>array(-74,-210,1208,604),64810=>array(-74,-210,1208,346),64811=>array(-74,-210,1255,436),64812=>array(-74,-210,1255,522),64813=>array(-1,-140,1329,604),64814=>array(-1,0,1329,604),64815=>array(-1,0,1329,612),64816=>array(-1,0,1224,604),64817=>array(-1,-269,1097,376),64818=>array(-1,-269,1097,604),64819=>array(-1,0,1205,686),64820=>array(-1,-140,1409,453),64821=>array(-1,0,1409,453),64822=>array(-1,0,1409,612),64823=>array(-1,-140,1409,604),64824=>array(-1,0,1409,604),64825=>array(-1,0,1409,612),64826=>array(-1,0,1267,686),64827=>array(-1,0,1267,686),64828=>array(79,0,615,944),64829=>array(79,0,615,944),64830=>array(82,-218,445,790),64831=>array(155,-218,518,790),64848=>array(-1,-140,1389,486),64849=>array(54,-271,1542,486),64850=>array(-1,-140,1494,486),64851=>array(-1,0,1389,486),64852=>array(-1,0,1389,612),64853=>array(-1,-140,1389,486),64854=>array(-1,0,1389,486),64855=>array(-1,0,1389,612),64856=>array(54,-271,1831,453),64857=>array(-1,-80,1738,453),64858=>array(34,-265,1976,453),64859=>array(34,-270,1965,453),64860=>array(-1,-140,1967,453),64861=>array(-1,-140,1967,453),64862=>array(34,-270,2203,453),64863=>array(54,-271,1963,453),64864=>array(-1,0,1862,453),64865=>array(-1,-140,1862,453),64866=>array(58,-265,1945,359),64867=>array(-1,0,1757,359),64868=>array(54,-271,2115,453),64869=>array(-1,0,2032,453),64870=>array(58,-265,1992,436),64871=>array(58,-265,2050,604),64872=>array(-1,0,1862,604),64873=>array(34,-265,2213,604),64874=>array(54,-271,1963,621),64875=>array(-1,0,1862,612),64876=>array(58,-265,1945,604),64877=>array(-1,0,1757,604),64878=>array(34,-270,2250,522),64879=>array(58,-265,2097,612),64880=>array(-1,0,1927,612),64881=>array(54,-271,1926,686),64882=>array(-1,0,1843,686),64883=>array(-1,0,1738,686),64884=>array(34,-265,2071,686),64885=>array(58,-265,1834,453),64886=>array(58,-265,1729,407),64887=>array(-1,0,1590,492),64888=>array(34,-270,1882,407),64889=>array(58,-265,1729,624),64890=>array(34,-265,1893,624),64891=>array(34,-270,1882,624),64892=>array(58,-265,1760,612),64893=>array(-1,0,1575,773),64894=>array(54,-271,1671,595),64895=>array(58,-265,1655,595),64896=>array(58,-265,1523,716),64897=>array(34,-265,1687,716),64898=>array(34,-270,1676,716),64899=>array(-1,-140,1470,716),64900=>array(54,-271,1542,716),64901=>array(58,-265,1523,716),64902=>array(-1,0,1365,716),64903=>array(54,-271,1437,716),64904=>array(-1,0,1365,716),64905=>array(-1,-140,1695,453),64906=>array(-1,0,1590,453),64907=>array(34,-265,1976,453),64908=>array(-1,-140,1695,453),64909=>array(-1,-140,1590,453),64910=>array(-1,-140,1695,612),64911=>array(-1,0,1590,612),64914=>array(-1,-140,1695,612),64915=>array(-1,-140,1795,593),64916=>array(-1,0,1690,593),64917=>array(-1,0,1365,501),64918=>array(34,-270,1676,501),64919=>array(58,-265,1523,501),64920=>array(-1,-140,1365,501),64921=>array(34,-270,1676,501),64922=>array(34,-265,1582,501),64923=>array(34,-270,1571,501),64924=>array(58,-265,1418,359),64925=>array(-1,-140,1284,359),64926=>array(34,-265,1687,612),64927=>array(34,-265,1687,486),64928=>array(34,-270,1676,486),64929=>array(34,-265,1687,612),64930=>array(34,-270,1676,612),64931=>array(34,-265,1582,486),64932=>array(34,-270,1571,486),64933=>array(34,-265,1976,453),64934=>array(34,-270,2070,453),64935=>array(34,-270,1965,453),64936=>array(34,-270,2203,612),64937=>array(34,-265,2260,453),64938=>array(34,-265,2213,604),64939=>array(34,-265,2260,522),64940=>array(34,-265,1687,716),64941=>array(34,-265,1582,716),64942=>array(34,-265,1687,453),64943=>array(34,-265,1687,453),64944=>array(34,-265,1582,359),64945=>array(34,-265,1871,359),64946=>array(34,-265,1818,595),64947=>array(34,-265,1687,501),64948=>array(-1,0,1575,758),64949=>array(-1,0,1365,716),64950=>array(34,-265,1893,407),64951=>array(34,-265,1885,717),64952=>array(-1,-140,1470,501),64953=>array(34,-265,1976,612),64954=>array(-1,-140,1365,716),64955=>array(58,-265,1722,717),64956=>array(58,-265,1523,716),64957=>array(54,-271,1542,501),64958=>array(34,-265,2081,453),64959=>array(34,-265,2081,453),64960=>array(34,-265,1976,453),64961=>array(34,-265,1818,610),64962=>array(34,-265,1687,453),64963=>array(-1,0,1499,717),64964=>array(-1,-140,1695,492),64965=>array(-1,0,1822,436),64966=>array(34,-265,2213,612),64967=>array(34,-265,1687,501),65008=>array(62,-221,1462,716),65009=>array(62,-221,1110,758),65010=>array(52,0,1077,1015),65011=>array(-74,-210,1277,717),65012=>array(38,0,2049,453),65013=>array(58,-265,2196,716),65014=>array(34,-210,2066,716),65015=>array(62,-140,1490,716),65016=>array(58,-265,1984,716),65017=>array(34,-270,1794,716),65018=>array(77,-156,1842,762),65019=>array(74,-37,1003,826),65056=>array(55,604,450,726),65057=>array(0,604,395,726),65058=>array(55,604,450,726),65059=>array(0,604,395,726),65072=>array(446,87,554,679),65073=>array(461,-121,539,887),65074=>array(461,229,539,537),65075=>array(-5,-121,73,887),65076=>array(0,-118,118,885),65077=>array(45,39,952,277),65078=>array(47,558,954,796),65079=>array(43,31,956,281),65080=>array(43,548,956,798),65081=>array(41,19,960,294),65082=>array(40,543,959,818),65083=>array(45,18,950,306),65084=>array(47,530,952,818),65085=>array(47,-32,953,416),65086=>array(47,420,953,868),65087=>array(47,-2,953,325),65088=>array(47,511,953,838),65089=>array(48,18,952,358),65090=>array(48,473,952,818),65091=>array(48,-12,952,359),65092=>array(48,475,952,848),65097=>array(75,761,925,801),65098=>array(75,731,925,829),65099=>array(-1,771,1001,889),65100=>array(-2,656,1001,884),65101=>array(75,-29,925,11),65102=>array(75,-49,925,49),65103=>array(-1,-112,1001,6),65104=>array(50,-85,114,60),65105=>array(33,109,172,224),65106=>array(53,0,113,60),65108=>array(50,-85,114,311),65109=>array(54,0,114,311),65110=>array(28,0,305,437),65111=>array(51,0,116,430),65112=>array(-4,134,604,177),65113=>array(36,-126,178,437),65114=>array(22,-126,164,437),65115=>array(17,-126,186,437),65116=>array(14,-126,184,437),65117=>array(41,-119,184,430),65118=>array(16,-119,159,430),65119=>array(7,-7,327,437),65120=>array(26,-10,386,437),65121=>array(20,254,214,437),65122=>array(33,70,317,354),65123=>array(19,129,181,182),65124=>array(33,67,317,357),65125=>array(33,67,317,357),65126=>array(33,122,317,302),65128=>array(0,-14,167,430),65129=>array(23,-62,307,469),65130=>array(44,-16,491,437),65131=>array(34,-126,589,437),65136=>array(10,716,290,944),65137=>array(-1,0,299,944),65138=>array(4,716,292,990),65140=>array(8,-255,288,-78),65142=>array(10,716,290,859),65143=>array(-1,0,299,859),65144=>array(4,716,292,990),65145=>array(-1,0,303,990),65146=>array(8,-170,288,-78),65147=>array(-1,-170,297,95),65148=>array(7,716,299,936),65149=>array(-1,0,307,936),65150=>array(3,767,151,915),65151=>array(-1,0,155,915),65152=>array(54,0,469,422),65153=>array(-23,0,270,846),65154=>array(-23,0,274,846),65155=>array(46,0,188,933),65156=>array(46,0,274,933),65157=>array(-108,-210,408,762),65158=>array(-111,-210,467,664),65159=>array(46,-285,188,716),65160=>array(46,-285,274,716),65161=>array(32,-121,679,453),65162=>array(34,-270,794,301),65163=>array(-1,0,201,569),65164=>array(-1,0,244,569),65165=>array(79,0,164,716),65166=>array(79,0,274,716),65167=>array(62,-190,709,265),65168=>array(62,-190,789,265),65169=>array(-1,-140,194,284),65170=>array(-1,-140,244,284),65171=>array(62,-6,452,633),65172=>array(62,0,478,628),65173=>array(62,-50,709,437),65174=>array(62,-50,789,437),65175=>array(-1,0,217,486),65176=>array(-1,0,244,486),65177=>array(62,-50,709,539),65178=>array(62,-50,789,539),65179=>array(-1,0,217,588),65180=>array(-1,0,244,588),65181=>array(52,-271,564,453),65182=>array(54,-271,659,453),65183=>array(-1,-80,567,453),65184=>array(-1,-140,638,453),65185=>array(52,-271,564,453),65186=>array(54,-271,659,453),65187=>array(-1,0,567,453),65188=>array(-1,0,638,453),65189=>array(52,-271,564,621),65190=>array(54,-271,659,621),65191=>array(-1,0,567,610),65192=>array(-1,0,638,612),65193=>array(38,0,368,437),65194=>array(38,0,459,436),65195=>array(38,0,368,629),65196=>array(38,0,459,653),65197=>array(-74,-210,357,290),65198=>array(-74,-210,437,239),65199=>array(-74,-210,357,470),65200=>array(-74,-210,437,458),65201=>array(39,-228,1115,346),65202=>array(39,-228,1195,346),65203=>array(-1,0,691,346),65204=>array(-1,0,771,346),65205=>array(39,-228,1115,604),65206=>array(39,-228,1195,604),65207=>array(-1,0,691,604),65208=>array(-1,0,771,604),65209=>array(39,-228,1230,436),65210=>array(39,-228,1292,436),65211=>array(-1,0,756,436),65212=>array(-1,0,818,436),65213=>array(39,-228,1230,532),65214=>array(39,-228,1292,532),65215=>array(-1,0,756,522),65216=>array(-1,0,818,522),65217=>array(59,0,782,686),65218=>array(59,0,844,686),65219=>array(-1,0,672,686),65220=>array(-1,0,734,686),65221=>array(59,0,782,686),65222=>array(59,0,844,686),65223=>array(-1,0,672,686),65224=>array(-1,0,734,686),65225=>array(53,-271,565,492),65226=>array(55,-271,567,443),65227=>array(-1,0,524,492),65228=>array(-3,0,555,407),65229=>array(53,-271,565,725),65230=>array(55,-271,567,660),65231=>array(-1,0,524,716),65232=>array(-3,0,555,624),65233=>array(62,0,895,773),65234=>array(62,-33,904,610),65235=>array(-1,0,404,773),65236=>array(-1,0,481,610),65237=>array(34,-214,738,678),65238=>array(39,-271,824,557),65239=>array(-1,0,404,758),65240=>array(-1,0,481,595),65241=>array(62,0,689,716),65242=>array(34,0,734,716),65243=>array(-1,0,432,717),65244=>array(-1,0,548,717),65245=>array(34,-121,594,716),65246=>array(34,-228,674,716),65247=>array(-1,0,194,716),65248=>array(-1,0,244,716),65249=>array(58,-265,527,359),65250=>array(58,-265,641,359),65251=>array(-1,0,419,359),65252=>array(-1,0,533,359),65253=>array(62,-121,630,458),65254=>array(39,-228,724,356),65255=>array(-1,0,194,501),65256=>array(-1,0,244,501),65257=>array(62,-6,452,431),65258=>array(62,0,478,446),65259=>array(-1,0,624,593),65260=>array(-1,-269,406,376),65261=>array(-108,-210,408,476),65262=>array(-111,-210,467,379),65263=>array(32,-121,679,453),65264=>array(34,-270,794,126),65265=>array(32,-238,679,453),65266=>array(34,-265,804,146),65267=>array(-1,-140,217,284),65268=>array(-1,-140,244,284),65269=>array(-122,-78,474,862),65270=>array(-121,-78,604,862),65271=>array(-27,-78,474,862),65272=>array(-27,-78,604,862),65273=>array(8,-171,474,716),65274=>array(8,-172,604,716),65275=>array(8,-78,474,716),65276=>array(8,-78,604,716),65281=>array(446,0,555,716),65282=>array(363,462,635,716),65283=>array(234,-12,768,728),65284=>array(263,-103,736,782),65285=>array(128,-27,874,728),65286=>array(199,-17,800,728),65287=>array(447,462,547,716),65288=>array(382,-210,619,728),65289=>array(382,-210,619,728),65290=>array(338,423,661,728),65291=>array(264,116,738,590),65292=>array(447,-141,553,100),65293=>array(366,215,635,303),65294=>array(448,0,548,100),65295=>array(361,-24,639,716),65296=>array(266,-12,732,719),65297=>array(367,0,631,719),65298=>array(263,0,737,719),65299=>array(267,-12,736,719),65300=>array(253,0,748,716),65301=>array(263,-12,737,706),65302=>array(265,-12,737,719),65303=>array(269,0,732,706),65304=>array(265,-12,736,719),65305=>array(266,-12,736,719),65306=>array(449,0,549,518),65307=>array(447,-141,553,518),65308=>array(263,111,737,595),65309=>array(263,203,737,503),65310=>array(263,111,737,595),65311=>array(269,0,731,728),65312=>array(37,-210,962,729),65313=>array(166,0,835,716),65314=>array(229,0,770,716),65315=>array(184,-12,816,728),65316=>array(204,0,796,716),65317=>array(232,0,767,716),65318=>array(258,0,741,716),65319=>array(169,-12,831,728),65320=>array(219,0,781,716),65321=>array(452,0,547,716),65322=>array(304,-12,697,716),65323=>array(204,0,796,716),65324=>array(276,0,724,716),65325=>array(159,0,840,716),65326=>array(218,0,781,716),65327=>array(157,-12,842,728),65328=>array(227,0,773,716),65329=>array(151,-56,849,728),65330=>array(184,0,815,716),65331=>array(215,-12,785,728),65332=>array(216,0,783,716),65333=>array(218,-12,781,716),65334=>array(173,0,827,716),65335=>array(39,0,960,716),65336=>array(172,0,828,716),65337=>array(172,0,828,716),65338=>array(217,0,783,716),65339=>array(403,-199,597,716),65340=>array(361,-24,639,716),65341=>array(403,-199,597,716),65342=>array(291,325,708,716),65343=>array(244,-125,756,-75),65344=>array(410,591,590,728),65345=>array(261,-12,739,530),65346=>array(275,-12,725,716),65347=>array(274,-12,726,530),65348=>array(275,-12,725,716),65349=>array(261,-12,739,530),65350=>array(348,0,651,728),65351=>array(271,-210,728,530),65352=>array(288,0,711,716),65353=>array(456,0,544,716),65354=>array(400,-209,600,716),65355=>array(285,0,715,716),65356=>array(456,0,544,716),65357=>array(148,0,852,530),65358=>array(289,0,711,530),65359=>array(257,-12,743,530),65360=>array(275,-199,725,530),65361=>array(275,-199,725,530),65362=>array(359,0,641,530),65363=>array(285,-12,715,530),65364=>array(374,-7,626,700),65365=>array(289,-12,710,518),65366=>array(262,0,737,518),65367=>array(144,0,856,518),65368=>array(257,0,743,518),65369=>array(262,-210,738,518),65370=>array(270,0,729,518),65371=>array(359,-210,641,728),65372=>array(462,-199,538,716),65373=>array(359,-210,641,728),65374=>array(250,272,749,432),65377=>array(53,-40,235,142),65378=>array(79,-68,421,837),65379=>array(77,-68,423,837),65380=>array(54,-82,296,171),65381=>array(196,332,304,440),65382=>array(65,-53,435,753),65383=>array(63,-11,461,732),65384=>array(46,-3,441,769),65385=>array(79,-9,425,763),65386=>array(61,32,439,689),65387=>array(38,-15,443,751),65388=>array(51,-26,452,756),65389=>array(61,33,439,696),65390=>array(79,19,421,701),65391=>array(56,-3,432,727),65392=>array(81,329,419,411),65393=>array(43,-61,481,751),65394=>array(42,-44,448,795),65395=>array(62,-47,439,803),65396=>array(41,0,459,735),65397=>array(34,-45,464,787),65398=>array(38,-40,443,794),65399=>array(43,-46,457,799),65400=>array(40,-49,436,815),65401=>array(39,-48,461,813),65402=>array(60,-23,440,734),65403=>array(42,-59,458,788),65404=>array(36,-33,461,770),65405=>array(28,-49,472,727),65406=>array(44,-5,468,786),65407=>array(49,-51,442,780),65408=>array(36,-56,453,798),65409=>array(41,-50,459,798),65410=>array(45,-43,455,770),65411=>array(41,-61,459,740),65412=>array(122,-46,444,787),65413=>array(42,-59,458,786),65414=>array(41,16,459,711),65415=>array(42,-47,459,734),65416=>array(25,-51,487,769),65417=>array(52,-43,442,740),65418=>array(35,-29,464,791),65419=>array(95,-5,465,770),65420=>array(66,-54,434,732),65421=>array(26,24,472,645),65422=>array(22,-47,472,785),65423=>array(50,-31,450,729),65424=>array(38,-31,463,769),65425=>array(28,-31,478,790),65426=>array(45,-35,449,782),65427=>array(41,-6,459,739),65428=>array(47,-50,468,797),65429=>array(41,-4,459,730),65430=>array(61,-27,439,730),65431=>array(58,-54,442,748),65432=>array(106,-53,394,768),65433=>array(18,-44,481,788),65434=>array(111,-29,474,788),65435=>array(71,-24,429,730),65436=>array(64,-48,436,731),65437=>array(41,-33,461,749),65438=>array(21,523,250,750),65439=>array(38,591,220,773),65441=>array(50,91,450,665),65442=>array(31,91,469,665),65443=>array(20,78,495,665),65444=>array(49,90,451,665),65445=>array(29,80,492,666),65446=>array(30,91,472,666),65447=>array(54,90,446,664),65448=>array(28,90,472,665),65449=>array(59,90,451,665),65450=>array(42,88,458,665),65451=>array(39,85,461,665),65452=>array(39,85,461,665),65453=>array(39,78,495,665),65454=>array(41,85,459,665),65455=>array(34,85,466,665),65456=>array(32,85,468,666),65457=>array(79,90,421,665),65458=>array(79,90,421,665),65459=>array(37,88,463,665),65460=>array(37,78,495,664),65461=>array(13,80,486,661),65462=>array(2,78,493,663),65463=>array(52,92,448,666),65464=>array(17,78,481,665),65465=>array(11,79,495,666),65466=>array(19,76,481,665),65467=>array(72,90,428,663),65468=>array(56,91,444,664),65469=>array(62,90,438,665),65470=>array(44,88,456,665),65474=>array(105,-64,395,842),65475=>array(95,-64,405,842),65476=>array(103,-64,397,842),65477=>array(90,-64,411,842),65478=>array(103,-65,397,841),65479=>array(40,-63,445,843),65482=>array(103,-64,397,842),65483=>array(39,-63,446,843),65484=>array(43,197,457,614),65485=>array(24,-64,476,842),65486=>array(27,-64,463,842),65487=>array(24,-64,439,842),65490=>array(30,197,470,615),65491=>array(40,76,460,554),65492=>array(31,-65,454,841),65493=>array(25,-63,465,843),65494=>array(31,-64,449,842),65495=>array(40,110,468,588),65498=>array(28,357,472,436),65499=>array(30,-64,450,842),65500=>array(212,-64,288,842),65504=>array(274,-200,726,716),65505=>array(242,-14,758,728),65506=>array(263,203,737,503),65507=>array(244,793,756,843),65508=>array(462,-199,538,716),65509=>array(223,0,777,716),65510=>array(39,0,960,716),65512=>array(207,-218,293,994),65513=>array(40,100,460,412),65514=>array(93,0,405,420),65515=>array(40,100,460,412),65516=>array(93,0,405,420),65517=>array(35,160,465,590),65518=>array(35,160,465,590),65532=>array(0,0,1000,719),65533=>array(85,-21,915,810),65535=>array(125,0,875,750)); +$cw=array(0=>1000,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>469,95=>500,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>500,176=>400,177=>584,178=>333,179=>333,180=>333,181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500,256=>667,257=>556,258=>667,259=>556,260=>667,261=>556,262=>722,263=>500,264=>722,265=>500,266=>722,267=>500,268=>722,269=>500,270=>722,271=>627,272=>722,273=>556,274=>667,275=>556,276=>667,277=>556,278=>667,279=>556,280=>667,281=>556,282=>667,283=>556,284=>778,285=>556,286=>778,287=>556,288=>778,289=>556,290=>778,291=>556,292=>722,293=>556,294=>722,295=>556,296=>278,297=>222,298=>278,299=>222,300=>278,301=>222,302=>278,303=>222,304=>278,305=>278,306=>751,307=>444,308=>500,309=>222,310=>667,311=>500,312=>437,313=>556,314=>222,315=>556,316=>222,317=>556,318=>222,319=>556,320=>318,321=>556,322=>222,323=>722,324=>556,325=>722,326=>556,327=>722,328=>556,329=>626,330=>723,331=>556,332=>778,333=>556,334=>778,335=>556,336=>778,337=>556,338=>1000,339=>944,340=>722,341=>333,342=>722,343=>333,344=>722,345=>333,346=>667,347=>500,348=>667,349=>500,350=>667,351=>500,352=>667,353=>500,354=>611,355=>278,356=>611,357=>406,358=>611,359=>278,360=>722,361=>556,362=>722,363=>556,364=>722,365=>556,366=>722,367=>556,368=>722,369=>556,370=>722,371=>556,372=>944,373=>722,374=>667,375=>500,376=>667,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>222,384=>556,385=>740,386=>655,387=>556,388=>556,389=>556,390=>722,391=>766,392=>579,393=>722,394=>789,395=>655,396=>556,397=>557,398=>667,399=>729,400=>604,401=>611,402=>278,403=>791,404=>649,405=>806,406=>245,407=>322,408=>667,409=>500,410=>322,411=>500,412=>833,413=>722,414=>556,415=>778,416=>776,417=>556,418=>1019,419=>782,420=>735,421=>556,422=>722,423=>667,424=>500,425=>602,426=>366,427=>278,428=>571,429=>278,430=>611,431=>776,432=>620,433=>748,434=>667,435=>752,436=>615,437=>611,438=>500,439=>628,440=>628,441=>526,442=>480,443=>556,444=>556,445=>526,446=>556,447=>556,448=>278,449=>464,450=>474,451=>278,452=>1333,453=>1222,454=>1056,455=>1030,456=>778,457=>444,458=>1222,459=>944,460=>778,461=>667,462=>556,463=>278,464=>278,465=>778,466=>556,467=>722,468=>556,469=>722,470=>556,471=>722,472=>556,473=>722,474=>556,475=>722,476=>556,477=>556,478=>667,479=>556,480=>667,481=>556,482=>1000,483=>889,484=>778,485=>556,486=>778,487=>556,488=>667,489=>500,490=>778,491=>556,492=>778,493=>556,494=>534,495=>534,496=>222,497=>1333,498=>1222,499=>1056,500=>778,501=>556,506=>667,507=>556,508=>1000,509=>889,510=>778,511=>611,512=>667,513=>556,514=>667,515=>556,516=>667,517=>556,518=>667,519=>556,520=>278,521=>278,522=>278,523=>278,524=>778,525=>556,526=>778,527=>556,528=>722,529=>333,530=>722,531=>333,532=>722,533=>556,534=>722,535=>556,592=>556,593=>556,594=>556,595=>556,596=>500,597=>500,598=>556,599=>556,600=>556,601=>556,602=>777,603=>485,604=>485,605=>686,606=>519,607=>260,608=>556,609=>556,610=>557,611=>500,612=>500,613=>556,614=>556,615=>556,616=>242,617=>282,618=>356,619=>356,620=>425,621=>222,622=>635,623=>833,624=>833,625=>833,626=>556,627=>556,628=>558,629=>556,630=>715,631=>674,632=>558,633=>333,634=>333,635=>333,636=>333,637=>333,638=>312,639=>312,640=>530,641=>530,642=>500,643=>216,644=>276,645=>216,646=>222,647=>278,648=>278,649=>596,650=>558,651=>556,652=>500,653=>722,654=>500,655=>500,656=>500,657=>564,658=>530,659=>530,660=>464,661=>464,662=>464,663=>500,664=>614,665=>526,666=>519,667=>557,668=>558,669=>222,670=>500,671=>416,672=>556,673=>464,674=>464,675=>966,676=>966,677=>1030,678=>689,679=>484,680=>718,688=>326,689=>326,690=>153,691=>201,692=>201,693=>201,694=>304,695=>389,696=>278,697=>222,698=>372,699=>222,700=>222,701=>222,702=>222,703=>222,704=>250,705=>250,706=>320,707=>320,708=>320,709=>320,710=>333,711=>333,712=>192,713=>333,714=>333,715=>333,716=>192,717=>333,718=>333,719=>333,720=>300,721=>300,722=>222,723=>222,724=>340,725=>340,726=>280,727=>362,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,736=>278,737=>153,738=>270,739=>274,740=>325,741=>360,742=>360,743=>360,744=>360,745=>360,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,864=>0,865=>0,884=>308,885=>308,890=>278,894=>278,900=>278,901=>278,902=>667,903=>278,904=>704,905=>759,906=>315,908=>778,910=>746,911=>758,912=>222,913=>667,914=>667,915=>550,916=>682,917=>667,918=>611,919=>722,920=>778,921=>278,922=>667,923=>667,924=>833,925=>722,926=>650,927=>778,928=>722,929=>667,931=>602,932=>611,933=>667,934=>808,935=>667,936=>804,937=>758,938=>278,939=>667,940=>576,941=>434,942=>556,943=>222,944=>551,945=>576,946=>563,947=>500,948=>557,949=>434,950=>440,951=>556,952=>556,953=>222,954=>498,955=>500,956=>553,957=>500,958=>432,959=>556,960=>678,961=>571,962=>472,963=>619,964=>382,965=>551,966=>649,967=>522,968=>729,969=>766,970=>222,971=>551,972=>556,973=>551,974=>766,976=>563,977=>616,978=>631,979=>726,980=>631,981=>644,982=>781,986=>722,988=>578,990=>570,992=>692,994=>880,995=>833,996=>684,997=>558,998=>680,999=>529,1000=>557,1001=>505,1002=>623,1003=>603,1004=>610,1005=>611,1006=>568,1007=>434,1008=>600,1009=>571,1010=>500,1011=>222,1025=>667,1026=>865,1027=>567,1028=>717,1029=>667,1030=>278,1031=>278,1032=>500,1033=>1105,1034=>1009,1035=>867,1036=>584,1038=>635,1039=>723,1040=>667,1041=>655,1042=>667,1043=>567,1044=>677,1045=>667,1046=>923,1047=>604,1048=>722,1049=>722,1050=>584,1051=>705,1052=>833,1053=>722,1054=>778,1055=>723,1056=>667,1057=>722,1058=>611,1059=>635,1060=>760,1061=>667,1062=>740,1063=>684,1064=>920,1065=>939,1066=>793,1067=>883,1068=>655,1069=>717,1070=>1006,1071=>722,1072=>556,1073=>573,1074=>531,1075=>383,1076=>583,1077=>556,1078=>669,1079=>458,1080=>559,1081=>559,1082=>437,1083=>571,1084=>683,1085=>552,1086=>556,1087=>542,1088=>556,1089=>500,1090=>458,1091=>500,1092=>823,1093=>500,1094=>562,1095=>533,1096=>802,1097=>823,1098=>620,1099=>717,1100=>523,1101=>510,1102=>744,1103=>542,1105=>556,1106=>556,1107=>383,1108=>510,1109=>500,1110=>222,1111=>278,1112=>222,1113=>873,1114=>811,1115=>556,1116=>437,1118=>500,1119=>542,1120=>976,1121=>766,1122=>656,1123=>521,1124=>950,1125=>694,1126=>667,1127=>597,1128=>952,1129=>817,1130=>654,1131=>600,1132=>932,1133=>817,1134=>604,1135=>458,1136=>804,1137=>729,1138=>778,1139=>556,1140=>667,1141=>500,1142=>667,1143=>500,1144=>1279,1145=>1060,1146=>778,1147=>556,1148=>976,1149=>766,1150=>976,1151=>766,1152=>722,1153=>514,1154=>686,1155=>334,1156=>382,1157=>334,1158=>334,1168=>435,1169=>339,1170=>567,1171=>383,1172=>656,1173=>556,1174=>923,1175=>669,1176=>604,1177=>458,1178=>584,1179=>437,1180=>584,1181=>437,1182=>584,1183=>437,1184=>764,1185=>537,1186=>741,1187=>573,1188=>900,1189=>670,1190=>736,1191=>560,1192=>778,1193=>560,1194=>722,1195=>500,1196=>611,1197=>458,1198=>667,1199=>500,1200=>667,1201=>500,1202=>667,1203=>500,1204=>916,1205=>661,1206=>684,1207=>533,1208=>684,1209=>533,1210=>684,1211=>556,1212=>829,1213=>667,1214=>829,1215=>667,1216=>278,1217=>923,1218=>669,1219=>584,1220=>437,1223=>735,1224=>570,1227=>684,1228=>533,1232=>667,1233=>556,1234=>667,1235=>556,1236=>1000,1237=>889,1238=>667,1239=>556,1240=>729,1241=>556,1242=>729,1243=>556,1244=>923,1245=>669,1246=>604,1247=>458,1248=>604,1249=>492,1250=>722,1251=>559,1252=>722,1253=>559,1254=>778,1255=>556,1256=>778,1257=>556,1258=>778,1259=>556,1262=>635,1263=>500,1264=>635,1265=>500,1266=>635,1267=>500,1268=>684,1269=>533,1272=>883,1273=>717,1329=>635,1330=>531,1331=>583,1332=>583,1333=>531,1334=>531,1335=>427,1336=>531,1337=>750,1338=>635,1339=>531,1340=>375,1341=>583,1342=>698,1343=>531,1344=>427,1345=>531,1346=>583,1347=>531,1348=>635,1349=>698,1350=>635,1351=>635,1352=>531,1353=>531,1354=>698,1355=>531,1356=>635,1357=>531,1358=>698,1359=>583,1360=>479,1361=>583,1362=>531,1363=>698,1364=>698,1365=>635,1366=>750,1369=>271,1370=>271,1371=>150,1372=>300,1373=>271,1374=>271,1375=>420,1377=>583,1378=>427,1379=>427,1380=>427,1381=>427,1382=>427,1383=>427,1384=>427,1385=>459,1386=>427,1387=>427,1388=>323,1389=>531,1390=>427,1391=>427,1392=>427,1393=>427,1394=>427,1395=>427,1396=>427,1397=>271,1398=>427,1399=>375,1400=>427,1401=>375,1402=>583,1403=>427,1404=>427,1405=>427,1406=>427,1407=>583,1408=>427,1409=>427,1410=>323,1411=>583,1412=>375,1413=>375,1414=>583,1415=>527,1417=>271,1425=>360,1426=>360,1427=>360,1428=>360,1429=>360,1430=>360,1431=>360,1432=>360,1433=>360,1434=>360,1435=>360,1436=>360,1437=>360,1438=>360,1439=>360,1440=>360,1441=>360,1443=>360,1444=>360,1445=>360,1446=>360,1447=>360,1448=>360,1449=>360,1450=>360,1451=>360,1452=>360,1453=>360,1454=>360,1455=>360,1456=>360,1457=>360,1458=>360,1459=>360,1460=>360,1461=>360,1462=>360,1463=>360,1464=>360,1465=>360,1467=>360,1468=>360,1469=>360,1470=>366,1471=>360,1472=>225,1473=>360,1474=>360,1475=>238,1476=>360,1488=>577,1489=>563,1490=>411,1491=>512,1492=>594,1493=>316,1494=>326,1495=>594,1496=>594,1497=>316,1498=>507,1499=>527,1500=>484,1501=>594,1502=>594,1503=>316,1504=>338,1505=>604,1506=>550,1507=>567,1508=>569,1509=>505,1510=>514,1511=>583,1512=>507,1513=>700,1514=>633,1520=>590,1521=>590,1522=>590,1523=>216,1524=>412,1548=>278,1563=>278,1567=>556,1569=>529,1570=>243,1571=>243,1572=>470,1573=>243,1574=>731,1575=>243,1576=>771,1577=>514,1578=>771,1579=>771,1580=>544,1581=>544,1582=>544,1583=>430,1584=>430,1585=>421,1586=>421,1587=>1194,1588=>1194,1589=>1291,1590=>1291,1591=>843,1592=>843,1593=>594,1594=>594,1600=>279,1601=>957,1602=>800,1603=>757,1604=>662,1605=>589,1606=>692,1607=>514,1608=>470,1609=>731,1610=>731,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1632=>480,1633=>480,1634=>480,1635=>480,1636=>480,1637=>480,1638=>480,1639=>480,1640=>480,1641=>480,1642=>547,1643=>278,1644=>278,1645=>438,1648=>0,1649=>243,1650=>243,1651=>243,1652=>0,1653=>380,1654=>470,1655=>548,1656=>772,1657=>771,1658=>771,1659=>771,1660=>771,1661=>771,1662=>771,1663=>771,1664=>771,1665=>544,1666=>544,1667=>544,1668=>544,1669=>544,1670=>544,1671=>544,1672=>430,1673=>430,1674=>430,1675=>430,1676=>430,1677=>430,1678=>430,1679=>430,1680=>430,1681=>421,1682=>421,1683=>421,1684=>421,1685=>421,1686=>419,1687=>421,1688=>421,1689=>421,1690=>1194,1691=>1194,1692=>1194,1693=>1291,1694=>1291,1695=>843,1696=>594,1697=>957,1698=>957,1699=>957,1700=>957,1701=>957,1702=>957,1703=>800,1704=>800,1705=>828,1706=>1058,1707=>828,1708=>757,1709=>757,1710=>757,1711=>828,1712=>828,1713=>828,1714=>828,1715=>828,1716=>828,1717=>662,1718=>662,1719=>662,1722=>692,1723=>692,1724=>692,1725=>692,1726=>706,1728=>514,1729=>509,1730=>509,1731=>509,1732=>470,1733=>470,1734=>470,1735=>470,1736=>470,1737=>470,1738=>470,1739=>470,1740=>731,1741=>841,1742=>731,1744=>731,1745=>731,1746=>550,1747=>550,1748=>279,1749=>514,1750=>726,1751=>558,1752=>321,1753=>318,1754=>342,1755=>373,1756=>716,1757=>688,1758=>852,1759=>288,1760=>288,1761=>388,1762=>350,1763=>716,1764=>146,1765=>282,1766=>339,1767=>339,1768=>415,1769=>514,1770=>220,1771=>220,1772=>220,1773=>350,1776=>480,1777=>480,1778=>480,1779=>480,1780=>480,1781=>480,1782=>480,1783=>480,1784=>480,1785=>480,2305=>0,2306=>0,2307=>294,2309=>693,2310=>910,2311=>533,2312=>533,2313=>590,2314=>713,2315=>920,2316=>677,2317=>611,2318=>611,2319=>611,2320=>611,2321=>910,2322=>910,2323=>910,2324=>910,2325=>667,2326=>732,2327=>593,2328=>639,2329=>624,2330=>688,2331=>713,2332=>688,2333=>712,2334=>697,2335=>502,2336=>533,2337=>583,2338=>523,2339=>693,2340=>585,2341=>638,2342=>533,2343=>640,2344=>585,2345=>585,2346=>565,2347=>699,2348=>592,2349=>689,2350=>633,2351=>600,2352=>486,2353=>486,2354=>680,2355=>730,2356=>730,2357=>592,2358=>684,2359=>608,2360=>646,2361=>546,2364=>0,2365=>373,2366=>319,2367=>319,2368=>319,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>319,2378=>319,2379=>319,2380=>319,2381=>0,2384=>884,2385=>0,2386=>0,2387=>0,2388=>0,2392=>667,2393=>732,2394=>593,2395=>688,2396=>583,2397=>523,2398=>699,2399=>600,2400=>920,2401=>677,2402=>0,2403=>0,2404=>331,2405=>513,2406=>639,2407=>639,2408=>639,2409=>639,2410=>639,2411=>639,2412=>639,2413=>639,2414=>639,2415=>639,2416=>362,2433=>0,2434=>430,2435=>430,2437=>786,2438=>1030,2439=>582,2440=>603,2441=>648,2442=>757,2443=>758,2444=>630,2447=>685,2448=>746,2451=>711,2452=>776,2453=>779,2454=>655,2455=>606,2456=>645,2457=>661,2458=>554,2459=>585,2460=>729,2461=>752,2462=>893,2463=>567,2464=>625,2465=>648,2466=>567,2467=>598,2468=>680,2469=>645,2470=>609,2471=>596,2472=>595,2474=>635,2475=>780,2476=>593,2477=>677,2478=>621,2479=>601,2480=>593,2482=>640,2486=>598,2487=>596,2488=>637,2489=>582,2492=>0,2494=>245,2495=>245,2496=>245,2497=>0,2498=>0,2499=>0,2500=>0,2503=>309,2504=>309,2507=>932,2508=>932,2509=>0,2519=>245,2524=>648,2525=>553,2527=>596,2528=>758,2529=>630,2530=>0,2531=>335,2534=>610,2535=>559,2536=>595,2537=>711,2538=>610,2539=>661,2540=>661,2541=>559,2542=>661,2543=>600,2544=>593,2545=>593,2546=>601,2547=>567,2548=>601,2549=>699,2550=>661,2551=>267,2552=>610,2553=>424,2554=>548,2562=>0,2565=>691,2566=>936,2567=>803,2568=>803,2569=>678,2570=>678,2575=>557,2576=>691,2579=>678,2580=>691,2581=>602,2582=>567,2583=>641,2584=>688,2585=>565,2586=>592,2587=>603,2588=>591,2589=>541,2590=>558,2591=>543,2592=>581,2593=>596,2594=>640,2595=>640,2596=>591,2597=>564,2598=>640,2599=>564,2600=>581,2602=>564,2603=>551,2604=>560,2605=>549,2606=>558,2607=>652,2608=>540,2610=>677,2611=>677,2613=>601,2614=>558,2616=>558,2617=>549,2620=>0,2622=>246,2623=>246,2624=>246,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2649=>567,2650=>690,2651=>591,2652=>591,2654=>581,2662=>591,2663=>591,2664=>591,2665=>591,2666=>591,2667=>591,2668=>591,2669=>591,2670=>591,2671=>591,2672=>0,2673=>0,2674=>557,2675=>678,2676=>894,2689=>0,2690=>0,2691=>300,2693=>781,2694=>1044,2695=>589,2696=>589,2697=>560,2698=>758,2699=>806,2701=>781,2703=>781,2704=>781,2705=>1044,2707=>1044,2708=>1044,2709=>413,2710=>773,2711=>606,2712=>558,2713=>483,2714=>600,2715=>691,2716=>811,2717=>647,2718=>651,2719=>453,2720=>450,2721=>425,2722=>478,2723=>694,2724=>534,2725=>553,2726=>446,2727=>541,2728=>582,2730=>572,2731=>437,2732=>663,2733=>756,2734=>594,2735=>493,2736=>392,2738=>613,2739=>656,2741=>538,2742=>611,2743=>507,2744=>663,2745=>587,2748=>0,2749=>478,2750=>273,2751=>273,2752=>273,2753=>0,2754=>0,2755=>0,2756=>0,2757=>0,2759=>0,2760=>0,2761=>273,2763=>273,2764=>273,2765=>0,2768=>843,2784=>893,2790=>625,2791=>625,2792=>625,2793=>625,2794=>625,2795=>625,2796=>625,2797=>625,2798=>625,2799=>625,2817=>0,2818=>306,2819=>391,2821=>590,2822=>808,2823=>658,2824=>658,2825=>633,2826=>654,2827=>636,2828=>540,2831=>560,2832=>938,2835=>600,2836=>973,2837=>603,2838=>620,2839=>620,2840=>605,2841=>712,2842=>579,2843=>579,2844=>593,2845=>564,2846=>581,2847=>604,2848=>578,2849=>579,2850=>579,2851=>607,2852=>579,2853=>587,2854=>579,2855=>602,2856=>579,2858=>605,2859=>728,2860=>579,2861=>643,2862=>605,2863=>628,2864=>619,2866=>653,2867=>593,2870=>620,2871=>605,2872=>605,2873=>579,2876=>0,2877=>333,2878=>218,2879=>0,2880=>294,2881=>0,2882=>0,2883=>0,2887=>479,2888=>479,2891=>1026,2892=>1026,2893=>0,2902=>0,2903=>218,2908=>579,2909=>579,2911=>599,2912=>636,2913=>540,2918=>578,2919=>480,2920=>480,2921=>622,2922=>506,2923=>605,2924=>529,2925=>548,2926=>512,2927=>528,2928=>561,2946=>0,2947=>742,2949=>1002,2950=>1118,2951=>994,2952=>660,2953=>1012,2954=>1231,2958=>726,2959=>731,2960=>870,2962=>763,2963=>763,2964=>1636,2965=>667,2969=>830,2970=>584,2972=>876,2974=>986,2975=>802,2979=>1295,2980=>656,2984=>630,2985=>1012,2986=>694,2990=>727,2991=>790,2992=>545,2993=>718,2994=>821,2995=>871,2996=>724,2997=>873,2999=>1087,3000=>1098,3001=>1274,3006=>547,3007=>172,3008=>93,3009=>519,3010=>814,3014=>748,3015=>681,3016=>956,3018=>1666,3019=>1666,3020=>1994,3021=>0,3031=>871,3047=>667,3048=>1012,3049=>751,3050=>740,3051=>924,3052=>884,3053=>726,3054=>1002,3055=>825,3056=>717,3057=>719,3058=>774,3073=>365,3074=>601,3075=>346,3077=>720,3078=>786,3079=>567,3080=>1159,3081=>690,3082=>1047,3083=>1299,3084=>913,3086=>625,3087=>625,3088=>712,3090=>655,3091=>655,3092=>862,3093=>515,3094=>680,3095=>526,3096=>943,3097=>655,3098=>684,3099=>684,3100=>670,3101=>1205,3102=>732,3103=>888,3104=>597,3105=>709,3106=>709,3107=>809,3108=>715,3109=>702,3110=>702,3111=>702,3112=>607,3114=>623,3115=>623,3116=>681,3117=>681,3118=>932,3119=>1203,3120=>597,3121=>893,3122=>631,3123=>608,3125=>620,3126=>541,3127=>667,3128=>640,3129=>911,3134=>644,3135=>298,3136=>298,3137=>361,3138=>682,3139=>342,3140=>704,3142=>624,3143=>624,3144=>900,3146=>849,3147=>849,3148=>976,3149=>669,3157=>298,3158=>119,3168=>1620,3169=>1281,3174=>840,3175=>840,3176=>840,3177=>840,3178=>840,3179=>840,3180=>840,3181=>840,3182=>840,3183=>840,3202=>440,3203=>251,3205=>654,3206=>654,3207=>631,3208=>891,3209=>957,3210=>1293,3211=>1044,3212=>744,3214=>650,3215=>650,3216=>659,3218=>667,3219=>667,3220=>667,3221=>462,3222=>749,3223=>543,3224=>779,3225=>674,3226=>682,3227=>660,3228=>667,3229=>1171,3230=>926,3231=>671,3232=>557,3233=>669,3234=>669,3235=>728,3236=>544,3237=>672,3238=>672,3239=>672,3240=>560,3242=>668,3243=>668,3244=>681,3245=>687,3246=>972,3247=>1101,3248=>556,3249=>677,3250=>661,3251=>545,3253=>666,3254=>553,3255=>670,3256=>549,3257=>716,3262=>425,3263=>341,3264=>680,3265=>354,3266=>714,3267=>386,3268=>638,3270=>307,3271=>670,3272=>462,3274=>908,3275=>1251,3276=>434,3277=>336,3285=>344,3286=>404,3294=>673,3296=>1695,3297=>978,3302=>549,3303=>549,3304=>549,3305=>549,3306=>549,3307=>549,3308=>549,3309=>549,3310=>549,3311=>549,3330=>368,3331=>305,3333=>1201,3334=>1351,3335=>905,3336=>1459,3337=>635,3338=>1198,3339=>861,3340=>957,3342=>1211,3343=>1202,3344=>1839,3346=>642,3347=>1114,3348=>1195,3349=>861,3350=>982,3351=>874,3352=>1354,3353=>957,3354=>1016,3355=>1266,3356=>712,3357=>1454,3358=>1215,3359=>563,3360=>565,3361=>1192,3362=>1244,3363=>1268,3364=>878,3365=>966,3366=>545,3367=>879,3368=>879,3370=>1031,3371=>1175,3372=>1334,3373=>546,3374=>643,3375=>949,3376=>642,3377=>555,3378=>945,3379=>631,3380=>553,3381=>959,3382=>936,3383=>1122,3384=>1190,3385=>1112,3390=>475,3391=>418,3392=>442,3393=>340,3394=>340,3395=>473,3398=>640,3399=>530,3400=>1279,3402=>1368,3403=>1258,3404=>1447,3405=>0,3415=>553,3424=>861,3425=>1100,3430=>1095,3431=>929,3432=>854,3433=>1181,3434=>658,3435=>972,3436=>1210,3437=>650,3438=>959,3439=>896,3585=>595,3586=>648,3587=>665,3588=>608,3589=>608,3590=>665,3591=>471,3592=>556,3593=>652,3594=>664,3595=>681,3596=>816,3597=>849,3598=>620,3599=>620,3600=>541,3601=>785,3602=>826,3603=>887,3604=>598,3605=>605,3606=>595,3607=>650,3608=>541,3609=>652,3610=>608,3611=>608,3612=>630,3613=>630,3614=>695,3615=>695,3616=>620,3617=>581,3618=>588,3619=>501,3620=>595,3621=>569,3622=>620,3623=>519,3624=>592,3625=>659,3626=>574,3627=>654,3628=>695,3629=>566,3630=>574,3631=>517,3632=>452,3633=>0,3634=>496,3635=>496,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>687,3648=>302,3649=>571,3650=>478,3651=>515,3652=>515,3653=>496,3654=>506,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>555,3664=>598,3665=>640,3666=>688,3667=>690,3668=>657,3669=>657,3670=>635,3671=>839,3672=>693,3673=>769,3674=>673,3675=>994,3713=>775,3714=>707,3716=>724,3719=>524,3720=>690,3722=>678,3725=>711,3732=>719,3733=>834,3734=>776,3735=>916,3737=>744,3738=>740,3739=>740,3740=>834,3741=>834,3742=>854,3743=>854,3745=>775,3746=>724,3747=>697,3749=>700,3751=>700,3754=>708,3755=>916,3757=>700,3758=>697,3759=>658,3760=>432,3761=>534,3762=>476,3763=>476,3764=>778,3765=>778,3766=>778,3767=>778,3768=>778,3769=>778,3771=>778,3772=>778,3773=>670,3776=>420,3777=>806,3778=>430,3779=>446,3780=>346,3782=>571,3784=>778,3785=>778,3786=>778,3787=>778,3788=>778,3789=>778,3792=>721,3793=>719,3794=>601,3795=>711,3796=>686,3797=>686,3798=>834,3799=>756,3800=>724,3801=>906,3804=>1272,3805=>1272,3840=>600,3841=>600,3842=>600,3843=>600,3844=>600,3845=>600,3846=>600,3847=>600,3848=>600,3849=>600,3850=>600,3851=>600,3852=>600,3853=>600,3854=>600,3855=>600,3856=>600,3857=>600,3858=>600,3859=>600,3860=>600,3861=>600,3862=>600,3863=>600,3864=>600,3865=>600,3866=>600,3867=>600,3868=>600,3869=>600,3870=>600,3871=>600,3872=>600,3873=>600,3874=>600,3875=>600,3876=>600,3877=>600,3878=>600,3879=>600,3880=>600,3881=>600,3882=>600,3883=>600,3884=>600,3885=>600,3886=>600,3887=>600,3888=>600,3889=>600,3890=>600,3891=>600,3892=>600,3893=>600,3894=>600,3895=>600,3896=>600,3897=>600,3898=>600,3899=>600,3900=>600,3901=>600,3902=>600,3903=>600,3904=>600,3905=>600,3906=>600,3907=>600,3908=>600,3909=>600,3910=>600,3911=>600,3913=>600,3914=>600,3915=>600,3916=>600,3917=>600,3918=>600,3919=>600,3920=>600,3921=>600,3922=>600,3923=>600,3924=>600,3925=>600,3926=>600,3927=>600,3928=>600,3929=>600,3930=>600,3931=>600,3932=>600,3933=>600,3934=>600,3935=>600,3936=>600,3937=>600,3938=>600,3939=>600,3940=>600,3941=>600,3942=>600,3943=>600,3944=>600,3945=>600,3953=>600,3954=>600,3955=>600,3956=>600,3957=>600,3958=>600,3959=>600,3960=>600,3961=>600,3962=>600,3963=>600,3964=>600,3965=>600,3966=>600,3967=>600,3968=>600,3969=>600,3970=>600,3971=>600,3972=>600,3973=>600,3974=>600,3975=>600,3976=>600,3977=>600,3978=>600,3979=>600,3984=>600,3985=>600,3986=>600,3987=>600,3988=>600,3989=>600,3991=>600,3993=>600,3994=>600,3995=>600,3996=>600,3997=>600,3998=>600,3999=>600,4000=>600,4001=>600,4002=>600,4003=>600,4004=>600,4005=>600,4006=>600,4007=>600,4008=>600,4009=>600,4010=>600,4011=>600,4012=>600,4013=>600,4017=>600,4018=>600,4019=>600,4020=>600,4021=>600,4022=>600,4023=>600,4025=>600,4256=>662,4257=>677,4258=>708,4259=>696,4260=>609,4261=>790,4262=>664,4263=>785,4264=>560,4265=>634,4266=>782,4267=>701,4268=>629,4269=>682,4270=>705,4271=>692,4272=>734,4273=>615,4274=>592,4275=>680,4276=>679,4277=>705,4278=>643,4279=>623,4280=>623,4281=>629,4282=>633,4283=>770,4284=>592,4285=>662,4286=>629,4287=>672,4288=>735,4289=>576,4290=>606,4291=>605,4292=>676,4293=>792,4304=>435,4305=>556,4306=>565,4307=>872,4308=>506,4309=>544,4310=>723,4311=>868,4312=>530,4313=>532,4314=>955,4315=>552,4316=>565,4317=>712,4318=>547,4319=>574,4320=>685,4321=>554,4322=>806,4323=>810,4324=>777,4325=>502,4326=>686,4327=>512,4328=>552,4329=>496,4330=>568,4331=>552,4332=>592,4333=>565,4334=>552,4335=>741,4336=>549,4337=>659,4338=>559,4339=>524,4340=>482,4341=>565,4342=>822,4347=>506,4352=>1000,4353=>1000,4354=>1000,4355=>1000,4356=>1000,4357=>1000,4358=>1000,4359=>1000,4360=>1000,4361=>1000,4362=>1000,4363=>1000,4364=>1000,4365=>1000,4366=>1000,4367=>1000,4368=>1000,4369=>1000,4370=>1000,4371=>1000,4372=>1000,4373=>1000,4374=>1000,4375=>1000,4376=>1000,4377=>1000,4378=>1000,4379=>1000,4380=>1000,4381=>1000,4382=>1000,4383=>1000,4384=>1000,4385=>1000,4386=>1000,4387=>1000,4388=>1000,4389=>1000,4390=>1000,4391=>1000,4392=>1000,4393=>1000,4394=>1000,4395=>1000,4396=>1000,4397=>1000,4398=>1000,4399=>1000,4400=>1000,4401=>1000,4402=>1000,4403=>1000,4404=>1000,4405=>1000,4406=>1000,4407=>1000,4408=>1000,4409=>1000,4410=>1000,4411=>1000,4412=>1000,4413=>1000,4414=>1000,4415=>1000,4416=>1000,4417=>1000,4418=>1000,4419=>1000,4420=>1000,4421=>1000,4422=>1000,4423=>1000,4424=>1000,4425=>1000,4426=>1000,4427=>1000,4428=>1000,4429=>1000,4430=>1000,4431=>1000,4432=>1000,4433=>1000,4434=>1000,4435=>1000,4436=>1000,4437=>1000,4438=>1000,4439=>1000,4440=>1000,4441=>1000,4447=>1000,4448=>1000,4449=>1000,4450=>1000,4451=>1000,4452=>1000,4453=>1000,4454=>1000,4455=>1000,4456=>1000,4457=>1000,4458=>1000,4459=>1000,4460=>1000,4461=>1000,4462=>1000,4463=>1000,4464=>1000,4465=>1000,4466=>1000,4467=>1000,4468=>1000,4469=>1000,4470=>1000,4471=>1000,4472=>1000,4473=>1000,4474=>1000,4475=>1000,4476=>1000,4477=>1000,4478=>1000,4479=>1000,4480=>1000,4481=>1000,4482=>1000,4483=>1000,4484=>1000,4485=>1000,4486=>1000,4487=>1000,4488=>1000,4489=>1000,4490=>1000,4491=>1000,4492=>1000,4493=>1000,4494=>1000,4495=>1000,4496=>1000,4497=>1000,4498=>1000,4499=>1000,4500=>1000,4501=>1000,4502=>1000,4503=>1000,4504=>1000,4505=>1000,4506=>1000,4507=>1000,4508=>1000,4509=>1000,4510=>1000,4511=>1000,4512=>1000,4513=>1000,4514=>1000,4520=>1000,4521=>1000,4522=>1000,4523=>1000,4524=>1000,4525=>1000,4526=>1000,4527=>1000,4528=>1000,4529=>1000,4530=>1000,4531=>1000,4532=>1000,4533=>1000,4534=>1000,4535=>1000,4536=>1000,4537=>1000,4538=>1000,4539=>1000,4540=>1000,4541=>1000,4542=>1000,4543=>1000,4544=>1000,4545=>1000,4546=>1000,4547=>1000,4548=>1000,4549=>1000,4550=>1000,4551=>1000,4552=>1000,4553=>1000,4554=>1000,4555=>1000,4556=>1000,4557=>1000,4558=>1000,4559=>1000,4560=>1000,4561=>1000,4562=>1000,4563=>1000,4564=>1000,4565=>1000,4566=>1000,4567=>1000,4568=>1000,4569=>1000,4570=>1000,4571=>1000,4572=>1000,4573=>1000,4574=>1000,4575=>1000,4576=>1000,4577=>1000,4578=>1000,4579=>1000,4580=>1000,4581=>1000,4582=>1000,4583=>1000,4584=>1000,4585=>1000,4586=>1000,4587=>1000,4588=>1000,4589=>1000,4590=>1000,4591=>1000,4592=>1000,4593=>1000,4594=>1000,4595=>1000,4596=>1000,4597=>1000,4598=>1000,4599=>1000,4600=>1000,4601=>1000,7680=>667,7681=>556,7682=>667,7683=>556,7684=>667,7685=>556,7686=>667,7687=>556,7688=>722,7689=>500,7690=>722,7691=>556,7692=>722,7693=>556,7694=>722,7695=>556,7696=>722,7697=>556,7698=>722,7699=>556,7700=>667,7701=>556,7702=>667,7703=>556,7704=>667,7705=>556,7706=>667,7707=>556,7708=>667,7709=>556,7710=>611,7711=>278,7712=>778,7713=>556,7714=>722,7715=>556,7716=>722,7717=>556,7718=>722,7719=>556,7720=>722,7721=>556,7722=>722,7723=>556,7724=>278,7725=>222,7726=>278,7727=>278,7728=>667,7729=>500,7730=>667,7731=>500,7732=>667,7733=>500,7734=>556,7735=>222,7736=>556,7737=>222,7738=>556,7739=>222,7740=>556,7741=>222,7742=>833,7743=>833,7744=>833,7745=>833,7746=>833,7747=>833,7748=>722,7749=>556,7750=>722,7751=>556,7752=>722,7753=>556,7754=>722,7755=>556,7756=>778,7757=>556,7758=>778,7759=>556,7760=>778,7761=>556,7762=>778,7763=>556,7764=>667,7765=>556,7766=>667,7767=>556,7768=>722,7769=>333,7770=>722,7771=>333,7772=>722,7773=>333,7774=>722,7775=>333,7776=>667,7777=>500,7778=>667,7779=>500,7780=>667,7781=>500,7782=>667,7783=>500,7784=>667,7785=>500,7786=>611,7787=>278,7788=>611,7789=>278,7790=>611,7791=>278,7792=>611,7793=>278,7794=>722,7795=>556,7796=>722,7797=>556,7798=>722,7799=>556,7800=>722,7801=>556,7802=>722,7803=>556,7804=>667,7805=>500,7806=>667,7807=>500,7808=>944,7809=>722,7810=>944,7811=>722,7812=>944,7813=>722,7814=>944,7815=>722,7816=>944,7817=>722,7818=>667,7819=>500,7820=>667,7821=>500,7822=>667,7823=>500,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>556,7831=>278,7832=>722,7833=>500,7834=>556,7835=>278,7840=>667,7841=>556,7842=>667,7843=>556,7844=>667,7845=>556,7846=>667,7847=>556,7848=>667,7849=>556,7850=>667,7851=>556,7852=>667,7853=>556,7854=>667,7855=>556,7856=>667,7857=>556,7858=>667,7859=>556,7860=>667,7861=>556,7862=>667,7863=>556,7864=>667,7865=>556,7866=>667,7867=>556,7868=>667,7869=>556,7870=>667,7871=>556,7872=>667,7873=>556,7874=>667,7875=>556,7876=>667,7877=>556,7878=>667,7879=>556,7880=>278,7881=>278,7882=>278,7883=>222,7884=>778,7885=>556,7886=>778,7887=>556,7888=>778,7889=>556,7890=>778,7891=>556,7892=>778,7893=>556,7894=>778,7895=>556,7896=>778,7897=>556,7898=>776,7899=>556,7900=>776,7901=>556,7902=>776,7903=>556,7904=>776,7905=>556,7906=>776,7907=>556,7908=>722,7909=>556,7910=>722,7911=>556,7912=>776,7913=>620,7914=>776,7915=>620,7916=>776,7917=>620,7918=>776,7919=>620,7920=>776,7921=>620,7922=>667,7923=>500,7924=>667,7925=>500,7926=>667,7927=>500,7928=>667,7929=>500,7936=>576,7937=>576,7938=>576,7939=>576,7940=>576,7941=>576,7942=>576,7943=>576,7944=>667,7945=>667,7946=>680,7947=>680,7948=>680,7949=>680,7950=>718,7951=>718,7952=>434,7953=>434,7954=>434,7955=>434,7956=>434,7957=>434,7960=>692,7961=>692,7962=>823,7963=>823,7964=>823,7965=>823,7968=>556,7969=>556,7970=>556,7971=>556,7972=>556,7973=>556,7974=>556,7975=>556,7976=>747,7977=>747,7978=>878,7979=>878,7980=>878,7981=>878,7982=>923,7983=>923,7984=>222,7985=>222,7986=>222,7987=>222,7988=>222,7989=>222,7990=>222,7991=>222,7992=>303,7993=>303,7994=>434,7995=>434,7996=>434,7997=>434,7998=>479,7999=>479,8000=>556,8001=>556,8002=>556,8003=>556,8004=>556,8005=>556,8008=>778,8009=>778,8010=>894,8011=>894,8012=>894,8013=>894,8016=>551,8017=>551,8018=>551,8019=>551,8020=>551,8021=>551,8022=>551,8023=>551,8025=>777,8027=>893,8029=>885,8031=>940,8032=>766,8033=>766,8034=>766,8035=>766,8036=>766,8037=>766,8038=>766,8039=>766,8040=>758,8041=>758,8042=>874,8043=>874,8044=>868,8045=>867,8046=>911,8047=>911,8048=>576,8049=>576,8050=>434,8051=>434,8052=>556,8053=>556,8054=>222,8055=>222,8056=>556,8057=>556,8058=>551,8059=>551,8060=>766,8061=>766,8064=>576,8065=>576,8066=>576,8067=>576,8068=>576,8069=>576,8070=>576,8071=>576,8072=>667,8073=>667,8074=>680,8075=>680,8076=>680,8077=>680,8078=>718,8079=>718,8080=>556,8081=>556,8082=>556,8083=>556,8084=>556,8085=>556,8086=>556,8087=>556,8088=>747,8089=>747,8090=>878,8091=>878,8092=>878,8093=>878,8094=>923,8095=>923,8096=>766,8097=>766,8098=>766,8099=>766,8100=>766,8101=>766,8102=>766,8103=>766,8104=>758,8105=>758,8106=>874,8107=>874,8108=>868,8109=>867,8110=>911,8111=>911,8112=>576,8113=>576,8114=>576,8115=>576,8116=>576,8118=>576,8119=>576,8120=>667,8121=>667,8122=>667,8123=>667,8124=>667,8125=>278,8126=>278,8127=>278,8128=>278,8129=>278,8130=>556,8131=>556,8132=>556,8134=>556,8135=>556,8136=>693,8137=>704,8138=>748,8139=>759,8140=>722,8141=>278,8142=>278,8143=>278,8144=>222,8145=>222,8146=>222,8147=>222,8150=>222,8151=>222,8152=>278,8153=>278,8154=>304,8155=>304,8157=>278,8158=>278,8159=>278,8160=>551,8161=>551,8162=>551,8163=>551,8164=>571,8165=>571,8166=>551,8167=>551,8168=>667,8169=>667,8170=>742,8171=>746,8172=>693,8173=>278,8174=>278,8175=>278,8178=>766,8179=>766,8180=>766,8182=>766,8183=>766,8184=>778,8185=>778,8186=>758,8187=>758,8188=>758,8189=>278,8190=>278,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>100,8202=>50,8203=>0,8204=>0,8205=>0,8208=>333,8209=>333,8210=>556,8211=>500,8212=>1000,8213=>564,8214=>428,8215=>500,8216=>222,8217=>222,8218=>222,8219=>222,8220=>333,8221=>333,8222=>333,8223=>333,8224=>556,8225=>556,8226=>350,8227=>350,8228=>278,8229=>556,8230=>1000,8231=>278,8232=>0,8233=>0,8240=>1000,8241=>1330,8242=>222,8243=>372,8244=>522,8245=>206,8246=>356,8247=>506,8248=>312,8249=>333,8250=>333,8251=>1000,8252=>471,8253=>556,8254=>500,8255=>945,8256=>945,8257=>312,8258=>820,8259=>333,8260=>167,8261=>278,8262=>278,8304=>333,8308=>333,8309=>333,8310=>333,8311=>333,8312=>333,8313=>333,8314=>333,8315=>333,8316=>333,8317=>210,8318=>210,8319=>333,8320=>333,8321=>333,8322=>333,8323=>333,8324=>333,8325=>333,8326=>333,8327=>333,8328=>333,8329=>333,8330=>333,8331=>333,8332=>333,8333=>210,8334=>210,8352=>556,8353=>556,8354=>556,8355=>556,8356=>556,8357=>833,8358=>556,8359=>556,8360=>1024,8361=>940,8362=>784,8363=>556,8364=>556,8400=>600,8401=>600,8402=>600,8403=>600,8404=>700,8405=>700,8406=>600,8407=>600,8408=>600,8409=>600,8410=>600,8411=>600,8412=>600,8413=>900,8414=>900,8415=>900,8416=>900,8417=>700,8448=>889,8449=>889,8450=>667,8451=>1022,8452=>611,8453=>889,8454=>889,8455=>501,8456=>667,8457=>921,8458=>510,8459=>906,8460=>988,8461=>722,8462=>500,8463=>500,8464=>688,8465=>553,8466=>708,8467=>291,8468=>778,8469=>722,8470=>1073,8471=>737,8472=>740,8473=>556,8474=>722,8475=>927,8476=>795,8477=>667,8478=>667,8479=>667,8480=>1000,8481=>1174,8482=>1000,8483=>722,8484=>611,8485=>542,8486=>768,8487=>768,8488=>698,8489=>321,8490=>667,8491=>667,8492=>927,8493=>646,8494=>556,8495=>385,8496=>615,8497=>688,8498=>611,8499=>1115,8500=>406,8501=>688,8502=>688,8503=>344,8504=>688,8531=>834,8532=>834,8533=>834,8534=>834,8535=>834,8536=>834,8537=>834,8538=>834,8539=>834,8540=>834,8541=>834,8542=>834,8543=>834,8544=>278,8545=>555,8546=>832,8547=>933,8548=>667,8549=>934,8550=>1031,8551=>1268,8552=>944,8553=>667,8554=>944,8555=>1035,8556=>556,8557=>722,8558=>722,8559=>833,8560=>222,8561=>444,8562=>666,8563=>700,8564=>500,8565=>700,8566=>922,8567=>1144,8568=>712,8569=>500,8570=>712,8571=>934,8572=>222,8573=>500,8574=>556,8575=>833,8576=>983,8577=>722,8578=>983,8592=>713,8593=>713,8594=>713,8595=>713,8596=>713,8597=>713,8598=>713,8599=>713,8600=>713,8601=>713,8602=>713,8603=>713,8604=>713,8605=>713,8606=>713,8607=>713,8608=>713,8609=>713,8610=>713,8611=>713,8612=>713,8613=>713,8614=>713,8615=>713,8616=>713,8617=>713,8618=>713,8619=>713,8620=>713,8621=>813,8622=>813,8623=>713,8624=>713,8625=>713,8626=>713,8627=>713,8628=>713,8629=>713,8630=>713,8631=>713,8632=>713,8633=>713,8634=>800,8635=>800,8636=>713,8637=>713,8638=>713,8639=>713,8640=>713,8641=>713,8642=>713,8643=>713,8644=>713,8645=>713,8646=>713,8647=>713,8648=>713,8649=>713,8650=>713,8651=>713,8652=>713,8653=>713,8654=>950,8655=>713,8656=>713,8657=>713,8658=>713,8659=>713,8660=>863,8661=>713,8662=>713,8663=>713,8664=>713,8665=>713,8666=>713,8667=>713,8668=>813,8669=>813,8670=>713,8671=>713,8672=>713,8673=>713,8674=>713,8675=>713,8676=>713,8677=>713,8678=>713,8679=>713,8680=>713,8681=>713,8682=>713,8704=>600,8705=>600,8706=>494,8707=>600,8708=>600,8709=>800,8710=>612,8711=>612,8712=>549,8713=>549,8714=>549,8715=>549,8716=>549,8717=>549,8718=>549,8719=>823,8720=>823,8721=>713,8722=>584,8723=>584,8724=>584,8725=>167,8726=>278,8727=>389,8728=>400,8729=>400,8730=>600,8731=>600,8732=>600,8733=>549,8734=>549,8735=>584,8736=>584,8737=>584,8738=>584,8739=>260,8740=>444,8741=>418,8742=>602,8743=>561,8744=>561,8745=>561,8746=>561,8747=>506,8748=>806,8749=>1106,8750=>506,8751=>806,8752=>1106,8753=>506,8754=>506,8755=>506,8756=>561,8757=>561,8758=>422,8759=>561,8760=>584,8761=>584,8762=>584,8763=>584,8764=>584,8765=>584,8766=>584,8767=>584,8768=>422,8769=>584,8770=>584,8771=>584,8772=>584,8773=>584,8774=>584,8775=>584,8776=>584,8777=>584,8778=>584,8779=>584,8780=>584,8781=>584,8782=>584,8783=>584,8784=>584,8785=>584,8786=>584,8787=>584,8788=>737,8789=>737,8790=>584,8791=>584,8792=>584,8793=>584,8794=>584,8795=>584,8796=>584,8797=>584,8798=>584,8799=>584,8800=>584,8801=>584,8802=>584,8803=>584,8804=>584,8805=>584,8806=>584,8807=>584,8808=>584,8809=>584,8810=>969,8811=>969,8812=>584,8813=>584,8814=>584,8815=>584,8816=>584,8817=>584,8818=>584,8819=>584,8820=>584,8821=>584,8822=>584,8823=>584,8824=>584,8825=>584,8826=>584,8827=>584,8828=>584,8829=>584,8830=>584,8831=>584,8832=>584,8833=>584,8834=>678,8835=>678,8836=>678,8837=>678,8838=>678,8839=>678,8840=>678,8841=>678,8842=>678,8843=>678,8844=>561,8845=>561,8846=>561,8847=>678,8848=>678,8849=>673,8850=>673,8851=>561,8852=>561,8853=>800,8854=>800,8855=>800,8856=>800,8857=>800,8858=>800,8859=>800,8860=>800,8861=>800,8862=>800,8863=>800,8864=>800,8865=>800,8866=>549,8867=>549,8868=>549,8869=>549,8870=>399,8871=>399,8872=>549,8873=>549,8874=>549,8875=>672,8876=>549,8877=>549,8878=>549,8879=>672,8880=>549,8881=>549,8882=>549,8883=>549,8884=>549,8885=>549,8886=>713,8887=>713,8888=>713,8889=>549,8890=>549,8891=>584,8892=>584,8893=>584,8894=>584,8895=>584,8896=>561,8897=>561,8898=>561,8899=>561,8900=>549,8901=>250,8902=>549,8903=>649,8904=>630,8905=>630,8906=>630,8907=>630,8908=>630,8909=>584,8910=>561,8911=>561,8912=>668,8913=>668,8914=>668,8915=>668,8916=>561,8917=>602,8918=>584,8919=>584,8920=>1354,8921=>1354,8922=>584,8923=>584,8924=>584,8925=>584,8926=>584,8927=>584,8928=>584,8929=>584,8930=>673,8931=>673,8932=>673,8933=>673,8934=>584,8935=>584,8936=>584,8937=>584,8938=>584,8939=>584,8940=>584,8941=>584,8942=>278,8943=>1000,8944=>1000,8945=>1000,8960=>549,8962=>549,8963=>549,8964=>549,8965=>549,8966=>549,8967=>549,8968=>449,8969=>449,8970=>449,8971=>449,8972=>549,8973=>549,8974=>549,8975=>549,8976=>549,8977=>549,8978=>800,8979=>800,8980=>549,8981=>549,8982=>549,8983=>650,8984=>780,8985=>549,8986=>549,8987=>549,8988=>549,8989=>549,8990=>549,8991=>549,8992=>506,8993=>506,8994=>713,8995=>713,8996=>1000,8997=>1000,8998=>1000,8999=>1000,9000=>1000,9001=>329,9002=>329,9003=>1000,9004=>549,9005=>549,9006=>549,9007=>549,9008=>549,9009=>549,9010=>549,9011=>549,9012=>549,9013=>549,9014=>600,9015=>600,9016=>600,9017=>600,9018=>600,9019=>600,9020=>600,9021=>600,9022=>600,9023=>600,9024=>600,9025=>600,9026=>600,9027=>600,9028=>600,9029=>600,9030=>600,9031=>600,9032=>600,9033=>600,9034=>600,9035=>600,9036=>600,9037=>600,9038=>600,9039=>600,9040=>600,9041=>600,9042=>600,9043=>600,9044=>600,9045=>600,9046=>600,9047=>600,9048=>600,9049=>600,9050=>600,9051=>600,9052=>600,9053=>600,9054=>600,9055=>600,9056=>600,9057=>600,9058=>600,9059=>600,9060=>600,9061=>600,9062=>600,9063=>600,9064=>600,9065=>600,9066=>600,9067=>600,9068=>600,9069=>600,9070=>600,9071=>600,9072=>600,9073=>600,9074=>600,9075=>600,9076=>600,9077=>600,9078=>600,9079=>600,9080=>600,9081=>600,9082=>600,9109=>600,9216=>600,9217=>600,9218=>600,9219=>600,9220=>600,9221=>600,9222=>600,9223=>600,9224=>600,9225=>600,9226=>600,9227=>600,9228=>600,9229=>600,9230=>600,9231=>600,9232=>600,9233=>600,9234=>600,9235=>600,9236=>600,9237=>600,9238=>600,9239=>600,9240=>600,9241=>600,9242=>600,9243=>600,9244=>600,9245=>600,9246=>600,9247=>600,9248=>600,9249=>600,9250=>600,9251=>600,9252=>600,9280=>604,9281=>604,9282=>604,9283=>604,9284=>604,9285=>604,9286=>750,9287=>750,9288=>750,9289=>750,9290=>604,9312=>1000,9313=>1000,9314=>1000,9315=>1000,9316=>1000,9317=>1000,9318=>1000,9319=>1000,9320=>1000,9321=>1000,9322=>1000,9323=>1000,9324=>1000,9325=>1000,9326=>1000,9327=>1000,9328=>1000,9329=>1000,9330=>1000,9331=>1000,9332=>1000,9333=>1000,9334=>1000,9335=>1000,9336=>1000,9337=>1000,9338=>1000,9339=>1000,9340=>1000,9341=>1000,9342=>1000,9343=>1000,9344=>1000,9345=>1000,9346=>1000,9347=>1000,9348=>1000,9349=>1000,9350=>1000,9351=>1000,9352=>1000,9353=>1000,9354=>1000,9355=>1000,9356=>1000,9357=>1000,9358=>1000,9359=>1000,9360=>1000,9361=>1000,9362=>1000,9363=>1000,9364=>1000,9365=>1000,9366=>1000,9367=>1000,9368=>1000,9369=>1000,9370=>1000,9371=>1000,9372=>1000,9373=>1000,9374=>1000,9375=>1000,9376=>1000,9377=>1000,9378=>1000,9379=>1000,9380=>1000,9381=>1000,9382=>1000,9383=>1000,9384=>1000,9385=>1000,9386=>1000,9387=>1000,9388=>1000,9389=>1000,9390=>1000,9391=>1000,9392=>1000,9393=>1000,9394=>1000,9395=>1000,9396=>1000,9397=>1000,9398=>1000,9399=>1000,9400=>1000,9401=>1000,9402=>1000,9403=>1000,9404=>1000,9405=>1000,9406=>1000,9407=>1000,9408=>1000,9409=>1000,9410=>1000,9411=>1000,9412=>1000,9413=>1000,9414=>1000,9415=>1000,9416=>1000,9417=>1000,9418=>1000,9419=>1000,9420=>1000,9421=>1000,9422=>1000,9423=>1000,9424=>1000,9425=>1000,9426=>1000,9427=>1000,9428=>1000,9429=>1000,9430=>1000,9431=>1000,9432=>1000,9433=>1000,9434=>1000,9435=>1000,9436=>1000,9437=>1000,9438=>1000,9439=>1000,9440=>1000,9441=>1000,9442=>1000,9443=>1000,9444=>1000,9445=>1000,9446=>1000,9447=>1000,9448=>1000,9449=>1000,9450=>1000,9472=>600,9473=>600,9474=>600,9475=>600,9476=>600,9477=>600,9478=>600,9479=>600,9480=>600,9481=>600,9482=>600,9483=>600,9484=>600,9485=>600,9486=>600,9487=>600,9488=>600,9489=>600,9490=>600,9491=>600,9492=>600,9493=>600,9494=>600,9495=>600,9496=>600,9497=>600,9498=>600,9499=>600,9500=>600,9501=>600,9502=>600,9503=>600,9504=>600,9505=>600,9506=>600,9507=>600,9508=>600,9509=>600,9510=>600,9511=>600,9512=>600,9513=>600,9514=>600,9515=>600,9516=>600,9517=>600,9518=>600,9519=>600,9520=>600,9521=>600,9522=>600,9523=>600,9524=>600,9525=>600,9526=>600,9527=>600,9528=>600,9529=>600,9530=>600,9531=>600,9532=>600,9533=>600,9534=>600,9535=>600,9536=>600,9537=>600,9538=>600,9539=>600,9540=>600,9541=>600,9542=>600,9543=>600,9544=>600,9545=>600,9546=>600,9547=>600,9548=>600,9549=>600,9550=>600,9551=>600,9552=>600,9553=>600,9554=>600,9555=>600,9556=>600,9557=>600,9558=>600,9559=>600,9560=>600,9561=>600,9562=>600,9563=>600,9564=>600,9565=>600,9566=>600,9567=>600,9568=>600,9569=>600,9570=>600,9571=>600,9572=>600,9573=>600,9574=>600,9575=>600,9576=>600,9577=>600,9578=>600,9579=>600,9580=>600,9581=>600,9582=>600,9583=>600,9584=>600,9585=>600,9586=>600,9587=>600,9588=>600,9589=>600,9590=>600,9591=>600,9592=>600,9593=>600,9594=>600,9595=>600,9596=>600,9597=>600,9598=>600,9599=>600,9600=>600,9601=>600,9602=>600,9603=>600,9604=>600,9605=>600,9606=>600,9607=>600,9608=>600,9609=>600,9610=>600,9611=>600,9612=>600,9613=>600,9614=>600,9615=>600,9616=>600,9617=>600,9618=>600,9619=>600,9620=>600,9621=>600,9632=>600,9633=>600,9634=>600,9635=>600,9636=>600,9637=>600,9638=>600,9639=>600,9640=>600,9641=>600,9642=>600,9643=>600,9644=>600,9645=>600,9646=>600,9647=>600,9648=>600,9649=>600,9650=>600,9651=>600,9652=>600,9653=>600,9654=>600,9655=>600,9656=>600,9657=>600,9658=>600,9659=>600,9660=>600,9661=>600,9662=>600,9663=>600,9664=>600,9665=>600,9666=>600,9667=>600,9668=>600,9669=>600,9670=>600,9671=>600,9672=>600,9673=>600,9674=>600,9675=>600,9676=>600,9677=>600,9678=>600,9679=>600,9680=>600,9681=>600,9682=>600,9683=>600,9684=>600,9685=>600,9686=>600,9687=>600,9688=>600,9689=>600,9690=>600,9691=>600,9692=>600,9693=>600,9694=>600,9695=>600,9696=>600,9697=>600,9698=>600,9699=>600,9700=>600,9701=>600,9702=>600,9703=>600,9704=>600,9705=>600,9706=>600,9707=>600,9708=>600,9709=>600,9710=>600,9711=>600,9728=>750,9729=>1000,9730=>750,9731=>750,9732=>1000,9733=>816,9734=>823,9735=>500,9736=>500,9737=>800,9738=>800,9739=>800,9740=>800,9741=>800,9742=>719,9743=>719,9744=>734,9745=>734,9746=>734,9747=>762,9754=>960,9755=>960,9756=>939,9757=>939,9758=>939,9759=>939,9760=>750,9761=>600,9762=>750,9763=>750,9764=>580,9765=>460,9766=>444,9767=>650,9768=>444,9769=>768,9770=>800,9771=>850,9772=>675,9773=>800,9774=>750,9775=>750,9776=>900,9777=>900,9778=>900,9779=>900,9780=>900,9781=>900,9782=>900,9783=>900,9784=>750,9785=>750,9786=>750,9787=>750,9788=>750,9789=>750,9790=>750,9791=>740,9792=>740,9793=>740,9794=>740,9795=>653,9796=>490,9797=>632,9798=>780,9799=>560,9800=>838,9801=>780,9802=>734,9803=>887,9804=>780,9805=>1080,9806=>896,9807=>1080,9808=>804,9809=>868,9810=>922,9811=>696,9812=>1000,9813=>1000,9814=>1000,9815=>1000,9816=>1000,9817=>1000,9818=>1000,9819=>1000,9820=>1000,9821=>1000,9822=>1000,9823=>1000,9824=>722,9825=>734,9826=>674,9827=>804,9828=>722,9829=>734,9830=>674,9831=>804,9832=>860,9833=>423,9834=>592,9835=>750,9836=>750,9837=>439,9838=>439,9839=>439,9985=>974,9986=>961,9987=>974,9988=>980,9990=>789,9991=>790,9992=>791,9993=>690,9996=>549,9997=>855,9998=>911,9999=>933,10000=>911,10001=>945,10002=>974,10003=>755,10004=>846,10005=>762,10006=>761,10007=>571,10008=>677,10009=>763,10010=>760,10011=>759,10012=>754,10013=>494,10014=>552,10015=>537,10016=>577,10017=>692,10018=>786,10019=>788,10020=>788,10021=>790,10022=>793,10023=>794,10025=>823,10026=>789,10027=>841,10028=>823,10029=>833,10030=>816,10031=>831,10032=>923,10033=>744,10034=>723,10035=>749,10036=>790,10037=>792,10038=>695,10039=>776,10040=>768,10041=>792,10042=>759,10043=>707,10044=>708,10045=>682,10046=>701,10047=>826,10048=>815,10049=>789,10050=>789,10051=>707,10052=>687,10053=>696,10054=>689,10055=>786,10056=>787,10057=>713,10058=>791,10059=>785,10061=>873,10063=>762,10064=>762,10065=>759,10066=>759,10070=>784,10072=>138,10073=>277,10074=>415,10075=>392,10076=>392,10077=>668,10078=>668,10081=>732,10082=>544,10083=>544,10084=>910,10085=>667,10086=>760,10087=>760,10102=>788,10103=>788,10104=>788,10105=>788,10106=>788,10107=>788,10108=>788,10109=>788,10110=>788,10111=>788,10112=>788,10113=>788,10114=>788,10115=>788,10116=>788,10117=>788,10118=>788,10119=>788,10120=>788,10121=>788,10122=>788,10123=>788,10124=>788,10125=>788,10126=>788,10127=>788,10128=>788,10129=>788,10130=>788,10131=>788,10132=>894,10136=>748,10137=>924,10138=>748,10139=>918,10140=>927,10141=>928,10142=>928,10143=>834,10144=>873,10145=>828,10146=>924,10147=>924,10148=>917,10149=>930,10150=>931,10151=>463,10152=>883,10153=>836,10154=>836,10155=>867,10156=>867,10157=>696,10158=>696,10159=>874,10161=>874,10162=>760,10163=>946,10164=>771,10165=>865,10166=>771,10167=>888,10168=>967,10169=>888,10170=>831,10171=>873,10172=>927,10173=>970,10174=>918,12288=>1000,12289=>1000,12290=>1000,12291=>1000,12292=>1000,12293=>1000,12294=>1000,12295=>1000,12296=>1000,12297=>1000,12298=>1000,12299=>1000,12300=>1000,12301=>1000,12302=>1000,12303=>1000,12304=>1000,12305=>1000,12306=>1000,12307=>1000,12308=>1000,12309=>1000,12310=>1000,12311=>1000,12312=>1000,12313=>1000,12314=>1000,12315=>1000,12316=>1000,12317=>1000,12318=>1000,12319=>1000,12320=>1000,12321=>1000,12322=>1000,12323=>1000,12324=>1000,12325=>1000,12326=>1000,12327=>1000,12328=>1000,12329=>1000,12330=>1000,12331=>1000,12332=>1000,12333=>1000,12334=>1000,12335=>1000,12336=>1000,12337=>1000,12338=>1000,12339=>1000,12340=>1000,12341=>1000,12342=>1000,12343=>1000,12351=>1000,12353=>1000,12354=>1000,12355=>1000,12356=>1000,12357=>1000,12358=>1000,12359=>1000,12360=>1000,12361=>1000,12362=>1000,12363=>1000,12364=>1000,12365=>1000,12366=>1000,12367=>1000,12368=>1000,12369=>1000,12370=>1000,12371=>1000,12372=>1000,12373=>1000,12374=>1000,12375=>1000,12376=>1000,12377=>1000,12378=>1000,12379=>1000,12380=>1000,12381=>1000,12382=>1000,12383=>1000,12384=>1000,12385=>1000,12386=>1000,12387=>1000,12388=>1000,12389=>1000,12390=>1000,12391=>1000,12392=>1000,12393=>1000,12394=>1000,12395=>1000,12396=>1000,12397=>1000,12398=>1000,12399=>1000,12400=>1000,12401=>1000,12402=>1000,12403=>1000,12404=>1000,12405=>1000,12406=>1000,12407=>1000,12408=>1000,12409=>1000,12410=>1000,12411=>1000,12412=>1000,12413=>1000,12414=>1000,12415=>1000,12416=>1000,12417=>1000,12418=>1000,12419=>1000,12420=>1000,12421=>1000,12422=>1000,12423=>1000,12424=>1000,12425=>1000,12426=>1000,12427=>1000,12428=>1000,12429=>1000,12430=>1000,12431=>1000,12432=>1000,12433=>1000,12434=>1000,12435=>1000,12436=>1000,12441=>1000,12442=>1000,12443=>1000,12444=>1000,12445=>1000,12446=>1000,12449=>1000,12450=>1000,12451=>1000,12452=>1000,12453=>1000,12454=>1000,12455=>1000,12456=>1000,12457=>1000,12458=>1000,12459=>1000,12460=>1000,12461=>1000,12462=>1000,12463=>1000,12464=>1000,12465=>1000,12466=>1000,12467=>1000,12468=>1000,12469=>1000,12470=>1000,12471=>1000,12472=>1000,12473=>1000,12474=>1000,12475=>1000,12476=>1000,12477=>1000,12478=>1000,12479=>1000,12480=>1000,12481=>1000,12482=>1000,12483=>1000,12484=>1000,12485=>1000,12486=>1000,12487=>1000,12488=>1000,12489=>1000,12490=>1000,12491=>1000,12492=>1000,12493=>1000,12494=>1000,12495=>1000,12496=>1000,12497=>1000,12498=>1000,12499=>1000,12500=>1000,12501=>1000,12502=>1000,12503=>1000,12504=>1000,12505=>1000,12506=>1000,12507=>1000,12508=>1000,12509=>1000,12510=>1000,12511=>1000,12512=>1000,12513=>1000,12514=>1000,12515=>1000,12516=>1000,12517=>1000,12518=>1000,12519=>1000,12520=>1000,12521=>1000,12522=>1000,12523=>1000,12524=>1000,12525=>1000,12526=>1000,12527=>1000,12528=>1000,12529=>1000,12530=>1000,12531=>1000,12532=>1000,12533=>1000,12534=>1000,12535=>1000,12536=>1000,12537=>1000,12538=>1000,12539=>1000,12540=>1000,12541=>1000,12542=>1000,12549=>1000,12550=>1000,12551=>1000,12552=>1000,12553=>1000,12554=>1000,12555=>1000,12556=>1000,12557=>1000,12558=>1000,12559=>1000,12560=>1000,12561=>1000,12562=>1000,12563=>1000,12564=>1000,12565=>1000,12566=>1000,12567=>1000,12568=>1000,12569=>1000,12570=>1000,12571=>1000,12572=>1000,12573=>1000,12574=>1000,12575=>1000,12576=>1000,12577=>1000,12578=>1000,12579=>1000,12580=>1000,12581=>1000,12582=>1000,12583=>1000,12584=>1000,12585=>1000,12586=>1000,12587=>1000,12588=>1000,12593=>1000,12594=>1000,12595=>1000,12596=>1000,12597=>1000,12598=>1000,12599=>1000,12600=>1000,12601=>1000,12602=>1000,12603=>1000,12604=>1000,12605=>1000,12606=>1000,12607=>1000,12608=>1000,12609=>1000,12610=>1000,12611=>1000,12612=>1000,12613=>1000,12614=>1000,12615=>1000,12616=>1000,12617=>1000,12618=>1000,12619=>1000,12620=>1000,12621=>1000,12622=>1000,12623=>1000,12624=>1000,12625=>1000,12626=>1000,12627=>1000,12628=>1000,12629=>1000,12630=>1000,12631=>1000,12632=>1000,12633=>1000,12634=>1000,12635=>1000,12636=>1000,12637=>1000,12638=>1000,12639=>1000,12640=>1000,12641=>1000,12642=>1000,12643=>1000,12644=>1000,12645=>1000,12646=>1000,12647=>1000,12648=>1000,12649=>1000,12650=>1000,12651=>1000,12652=>1000,12653=>1000,12654=>1000,12655=>1000,12656=>1000,12657=>1000,12658=>1000,12659=>1000,12660=>1000,12661=>1000,12662=>1000,12663=>1000,12664=>1000,12665=>1000,12666=>1000,12667=>1000,12668=>1000,12669=>1000,12670=>1000,12671=>1000,12672=>1000,12673=>1000,12674=>1000,12675=>1000,12676=>1000,12677=>1000,12678=>1000,12679=>1000,12680=>1000,12681=>1000,12682=>1000,12683=>1000,12684=>1000,12685=>1000,12686=>1000,12688=>1000,12689=>1000,12690=>1000,12691=>1000,12692=>1000,12693=>1000,12694=>1000,12695=>1000,12696=>1000,12697=>1000,12698=>1000,12699=>1000,12700=>1000,12701=>1000,12702=>1000,12703=>1000,12800=>1000,12801=>1000,12802=>1000,12803=>1000,12804=>1000,12805=>1000,12806=>1000,12807=>1000,12808=>1000,12809=>1000,12810=>1000,12811=>1000,12812=>1000,12813=>1000,12814=>1000,12815=>1000,12816=>1000,12817=>1000,12818=>1000,12819=>1000,12820=>1000,12821=>1000,12822=>1000,12823=>1000,12824=>1000,12825=>1000,12826=>1000,12827=>1000,12828=>1000,12832=>1000,12833=>1000,12834=>1000,12835=>1000,12836=>1000,12837=>1000,12838=>1000,12839=>1000,12840=>1000,12841=>1000,12842=>1000,12843=>1000,12844=>1000,12845=>1000,12846=>1000,12847=>1000,12848=>1000,12849=>1000,12850=>1000,12851=>1000,12852=>1000,12853=>1000,12854=>1000,12855=>1000,12856=>1000,12857=>1000,12858=>1000,12859=>1000,12860=>1000,12861=>1000,12862=>1000,12863=>1000,12864=>1000,12865=>1000,12866=>1000,12867=>1000,12896=>1000,12897=>1000,12898=>1000,12899=>1000,12900=>1000,12901=>1000,12902=>1000,12903=>1000,12904=>1000,12905=>1000,12906=>1000,12907=>1000,12908=>1000,12909=>1000,12910=>1000,12911=>1000,12912=>1000,12913=>1000,12914=>1000,12915=>1000,12916=>1000,12917=>1000,12918=>1000,12919=>1000,12920=>1000,12921=>1000,12922=>1000,12923=>1000,12927=>1000,12928=>1000,12929=>1000,12930=>1000,12931=>1000,12932=>1000,12933=>1000,12934=>1000,12935=>1000,12936=>1000,12937=>1000,12938=>1000,12939=>1000,12940=>1000,12941=>1000,12942=>1000,12943=>1000,12944=>1000,12945=>1000,12946=>1000,12947=>1000,12948=>1000,12949=>1000,12950=>1000,12951=>1000,12952=>1000,12953=>1000,12954=>1000,12955=>1000,12956=>1000,12957=>1000,12958=>1000,12959=>1000,12960=>1000,12961=>1000,12962=>1000,12963=>1000,12964=>1000,12965=>1000,12966=>1000,12967=>1000,12968=>1000,12969=>1000,12970=>1000,12971=>1000,12972=>1000,12973=>1000,12974=>1000,12975=>1000,12976=>1000,12992=>1000,12993=>1000,12994=>1000,12995=>1000,12996=>1000,12997=>1000,12998=>1000,12999=>1000,13000=>1000,13001=>1000,13002=>1000,13003=>1000,13008=>1000,13009=>1000,13010=>1000,13011=>1000,13012=>1000,13013=>1000,13014=>1000,13015=>1000,13016=>1000,13017=>1000,13018=>1000,13019=>1000,13020=>1000,13021=>1000,13022=>1000,13023=>1000,13024=>1000,13025=>1000,13026=>1000,13027=>1000,13028=>1000,13029=>1000,13030=>1000,13031=>1000,13032=>1000,13033=>1000,13034=>1000,13035=>1000,13036=>1000,13037=>1000,13038=>1000,13039=>1000,13040=>1000,13041=>1000,13042=>1000,13043=>1000,13044=>1000,13045=>1000,13046=>1000,13047=>1000,13048=>1000,13049=>1000,13050=>1000,13051=>1000,13052=>1000,13053=>1000,13054=>1000,13056=>1000,13057=>1000,13058=>1000,13059=>1000,13060=>1000,13061=>1000,13062=>1000,13063=>1000,13064=>1000,13065=>1000,13066=>1000,13067=>1000,13068=>1000,13069=>1000,13070=>1000,13071=>1000,13072=>1000,13073=>1000,13074=>1000,13075=>1000,13076=>1000,13077=>1000,13078=>1000,13079=>1000,13080=>1000,13081=>1000,13082=>1000,13083=>1000,13084=>1000,13085=>1000,13086=>1000,13087=>1000,13088=>1000,13089=>1000,13090=>1000,13091=>1000,13092=>1000,13093=>1000,13094=>1000,13095=>1000,13096=>1000,13097=>1000,13098=>1000,13099=>1000,13100=>1000,13101=>1000,13102=>1000,13103=>1000,13104=>1000,13105=>1000,13106=>1000,13107=>1000,13108=>1000,13109=>1000,13110=>1000,13111=>1000,13112=>1000,13113=>1000,13114=>1000,13115=>1000,13116=>1000,13117=>1000,13118=>1000,13119=>1000,13120=>1000,13121=>1000,13122=>1000,13123=>1000,13124=>1000,13125=>1000,13126=>1000,13127=>1000,13128=>1000,13129=>1000,13130=>1000,13131=>1000,13132=>1000,13133=>1000,13134=>1000,13135=>1000,13136=>1000,13137=>1000,13138=>1000,13139=>1000,13140=>1000,13141=>1000,13142=>1000,13143=>1000,13144=>1000,13145=>1000,13146=>1000,13147=>1000,13148=>1000,13149=>1000,13150=>1000,13151=>1000,13152=>1000,13153=>1000,13154=>1000,13155=>1000,13156=>1000,13157=>1000,13158=>1000,13159=>1000,13160=>1000,13161=>1000,13162=>1000,13163=>1000,13164=>1000,13165=>1000,13166=>1000,13167=>1000,13168=>1000,13169=>1000,13170=>1000,13171=>1000,13172=>1000,13173=>1000,13174=>1000,13179=>1000,13180=>1000,13181=>1000,13182=>1000,13183=>1000,13184=>1000,13185=>1000,13186=>1000,13187=>1000,13188=>1000,13189=>1000,13190=>1000,13191=>1000,13192=>1000,13193=>1000,13194=>1000,13195=>1000,13196=>1000,13197=>1000,13198=>1000,13199=>1000,13200=>1000,13201=>1000,13202=>1000,13203=>1000,13204=>1000,13205=>1000,13206=>1000,13207=>1000,13208=>1000,13209=>1000,13210=>1000,13211=>1000,13212=>1000,13213=>1000,13214=>1000,13215=>1000,13216=>1000,13217=>1000,13218=>1000,13219=>1000,13220=>1000,13221=>1000,13222=>1000,13223=>1000,13224=>1000,13225=>1000,13226=>1000,13227=>1000,13228=>1000,13229=>1000,13230=>1000,13231=>1000,13232=>1000,13233=>1000,13234=>1000,13235=>1000,13236=>1000,13237=>1000,13238=>1000,13239=>1000,13240=>1000,13241=>1000,13242=>1000,13243=>1000,13244=>1000,13245=>1000,13246=>1000,13247=>1000,13248=>1000,13249=>1000,13250=>1000,13251=>1000,13252=>1000,13253=>1000,13254=>1000,13255=>1000,13256=>1000,13257=>1000,13258=>1000,13259=>1000,13260=>1000,13261=>1000,13262=>1000,13263=>1000,13264=>1000,13265=>1000,13266=>1000,13267=>1000,13268=>1000,13269=>1000,13270=>1000,13271=>1000,13272=>1000,13273=>1000,13274=>1000,13275=>1000,13276=>1000,13277=>1000,13280=>1000,13281=>1000,13282=>1000,13283=>1000,13284=>1000,13285=>1000,13286=>1000,13287=>1000,13288=>1000,13289=>1000,13290=>1000,13291=>1000,13292=>1000,13293=>1000,13294=>1000,13295=>1000,13296=>1000,13297=>1000,13298=>1000,13299=>1000,13300=>1000,13301=>1000,13302=>1000,13303=>1000,13304=>1000,13305=>1000,13306=>1000,13307=>1000,13308=>1000,13309=>1000,13310=>1000,19968=>1000,19969=>1000,19970=>1000,19971=>1000,19972=>1000,19973=>1000,19974=>1000,19975=>1000,19976=>1000,19977=>1000,19978=>1000,19979=>1000,19980=>1000,19981=>1000,19982=>1000,19983=>1000,19984=>1000,19985=>1000,19986=>1000,19987=>1000,19988=>1000,19989=>1000,19990=>1000,19991=>1000,19992=>1000,19993=>1000,19994=>1000,19995=>1000,19996=>1000,19997=>1000,19998=>1000,19999=>1000,20000=>1000,20001=>1000,20002=>1000,20003=>1000,20004=>1000,20005=>1000,20006=>1000,20007=>1000,20008=>1000,20009=>1000,20010=>1000,20011=>1000,20012=>1000,20013=>1000,20014=>1000,20015=>1000,20016=>1000,20017=>1000,20018=>1000,20019=>1000,20020=>1000,20021=>1000,20022=>1000,20023=>1000,20024=>1000,20025=>1000,20026=>1000,20027=>1000,20028=>1000,20029=>1000,20030=>1000,20031=>1000,20032=>1000,20033=>1000,20034=>1000,20035=>1000,20036=>1000,20037=>1000,20038=>1000,20039=>1000,20040=>1000,20041=>1000,20042=>1000,20043=>1000,20044=>1000,20045=>1000,20046=>1000,20047=>1000,20048=>1000,20049=>1000,20050=>1000,20051=>1000,20052=>1000,20053=>1000,20054=>1000,20055=>1000,20056=>1000,20057=>1000,20058=>1000,20059=>1000,20060=>1000,20061=>1000,20062=>1000,20063=>1000,20064=>1000,20065=>1000,20066=>1000,20067=>1000,20068=>1000,20069=>1000,20070=>1000,20071=>1000,20072=>1000,20073=>1000,20074=>1000,20075=>1000,20076=>1000,20077=>1000,20078=>1000,20079=>1000,20080=>1000,20081=>1000,20082=>1000,20083=>1000,20084=>1000,20085=>1000,20086=>1000,20087=>1000,20088=>1000,20089=>1000,20090=>1000,20091=>1000,20092=>1000,20093=>1000,20094=>1000,20095=>1000,20096=>1000,20097=>1000,20098=>1000,20099=>1000,20100=>1000,20101=>1000,20102=>1000,20103=>1000,20104=>1000,20105=>1000,20106=>1000,20107=>1000,20108=>1000,20109=>1000,20110=>1000,20111=>1000,20112=>1000,20113=>1000,20114=>1000,20115=>1000,20116=>1000,20117=>1000,20118=>1000,20119=>1000,20120=>1000,20121=>1000,20122=>1000,20123=>1000,20124=>1000,20125=>1000,20126=>1000,20127=>1000,20128=>1000,20129=>1000,20130=>1000,20131=>1000,20132=>1000,20133=>1000,20134=>1000,20135=>1000,20136=>1000,20137=>1000,20138=>1000,20139=>1000,20140=>1000,20141=>1000,20142=>1000,20143=>1000,20144=>1000,20145=>1000,20146=>1000,20147=>1000,20148=>1000,20149=>1000,20150=>1000,20151=>1000,20152=>1000,20153=>1000,20154=>1000,20155=>1000,20156=>1000,20157=>1000,20158=>1000,20159=>1000,20160=>1000,20161=>1000,20162=>1000,20163=>1000,20164=>1000,20165=>1000,20166=>1000,20167=>1000,20168=>1000,20169=>1000,20170=>1000,20171=>1000,20172=>1000,20173=>1000,20174=>1000,20175=>1000,20176=>1000,20177=>1000,20178=>1000,20179=>1000,20180=>1000,20181=>1000,20182=>1000,20183=>1000,20184=>1000,20185=>1000,20186=>1000,20187=>1000,20188=>1000,20189=>1000,20190=>1000,20191=>1000,20192=>1000,20193=>1000,20194=>1000,20195=>1000,20196=>1000,20197=>1000,20198=>1000,20199=>1000,20200=>1000,20201=>1000,20202=>1000,20203=>1000,20204=>1000,20205=>1000,20206=>1000,20207=>1000,20208=>1000,20209=>1000,20210=>1000,20211=>1000,20212=>1000,20213=>1000,20214=>1000,20215=>1000,20216=>1000,20217=>1000,20218=>1000,20219=>1000,20220=>1000,20221=>1000,20222=>1000,20223=>1000,20224=>1000,20225=>1000,20226=>1000,20227=>1000,20228=>1000,20229=>1000,20230=>1000,20231=>1000,20232=>1000,20233=>1000,20234=>1000,20235=>1000,20236=>1000,20237=>1000,20238=>1000,20239=>1000,20240=>1000,20241=>1000,20242=>1000,20243=>1000,20244=>1000,20245=>1000,20246=>1000,20247=>1000,20248=>1000,20249=>1000,20250=>1000,20251=>1000,20252=>1000,20253=>1000,20254=>1000,20255=>1000,20256=>1000,20257=>1000,20258=>1000,20259=>1000,20260=>1000,20261=>1000,20262=>1000,20263=>1000,20264=>1000,20265=>1000,20266=>1000,20267=>1000,20268=>1000,20269=>1000,20270=>1000,20271=>1000,20272=>1000,20273=>1000,20274=>1000,20275=>1000,20276=>1000,20277=>1000,20278=>1000,20279=>1000,20280=>1000,20281=>1000,20282=>1000,20283=>1000,20284=>1000,20285=>1000,20286=>1000,20287=>1000,20288=>1000,20289=>1000,20290=>1000,20291=>1000,20292=>1000,20293=>1000,20294=>1000,20295=>1000,20296=>1000,20297=>1000,20298=>1000,20299=>1000,20300=>1000,20301=>1000,20302=>1000,20303=>1000,20304=>1000,20305=>1000,20306=>1000,20307=>1000,20308=>1000,20309=>1000,20310=>1000,20311=>1000,20312=>1000,20313=>1000,20314=>1000,20315=>1000,20316=>1000,20317=>1000,20318=>1000,20319=>1000,20320=>1000,20321=>1000,20322=>1000,20323=>1000,20324=>1000,20325=>1000,20326=>1000,20327=>1000,20328=>1000,20329=>1000,20330=>1000,20331=>1000,20332=>1000,20333=>1000,20334=>1000,20335=>1000,20336=>1000,20337=>1000,20338=>1000,20339=>1000,20340=>1000,20341=>1000,20342=>1000,20343=>1000,20344=>1000,20345=>1000,20346=>1000,20347=>1000,20348=>1000,20349=>1000,20350=>1000,20351=>1000,20352=>1000,20353=>1000,20354=>1000,20355=>1000,20356=>1000,20357=>1000,20358=>1000,20359=>1000,20360=>1000,20361=>1000,20362=>1000,20363=>1000,20364=>1000,20365=>1000,20366=>1000,20367=>1000,20368=>1000,20369=>1000,20370=>1000,20371=>1000,20372=>1000,20373=>1000,20374=>1000,20375=>1000,20376=>1000,20377=>1000,20378=>1000,20379=>1000,20380=>1000,20381=>1000,20382=>1000,20383=>1000,20384=>1000,20385=>1000,20386=>1000,20387=>1000,20388=>1000,20389=>1000,20390=>1000,20391=>1000,20392=>1000,20393=>1000,20394=>1000,20395=>1000,20396=>1000,20397=>1000,20398=>1000,20399=>1000,20400=>1000,20401=>1000,20402=>1000,20403=>1000,20404=>1000,20405=>1000,20406=>1000,20407=>1000,20408=>1000,20409=>1000,20410=>1000,20411=>1000,20412=>1000,20413=>1000,20414=>1000,20415=>1000,20416=>1000,20417=>1000,20418=>1000,20419=>1000,20420=>1000,20421=>1000,20422=>1000,20423=>1000,20424=>1000,20425=>1000,20426=>1000,20427=>1000,20428=>1000,20429=>1000,20430=>1000,20431=>1000,20432=>1000,20433=>1000,20434=>1000,20435=>1000,20436=>1000,20437=>1000,20438=>1000,20439=>1000,20440=>1000,20441=>1000,20442=>1000,20443=>1000,20444=>1000,20445=>1000,20446=>1000,20447=>1000,20448=>1000,20449=>1000,20450=>1000,20451=>1000,20452=>1000,20453=>1000,20454=>1000,20455=>1000,20456=>1000,20457=>1000,20458=>1000,20459=>1000,20460=>1000,20461=>1000,20462=>1000,20463=>1000,20464=>1000,20465=>1000,20466=>1000,20467=>1000,20468=>1000,20469=>1000,20470=>1000,20471=>1000,20472=>1000,20473=>1000,20474=>1000,20475=>1000,20476=>1000,20477=>1000,20478=>1000,20479=>1000,20480=>1000,20481=>1000,20482=>1000,20483=>1000,20484=>1000,20485=>1000,20486=>1000,20487=>1000,20488=>1000,20489=>1000,20490=>1000,20491=>1000,20492=>1000,20493=>1000,20494=>1000,20495=>1000,20496=>1000,20497=>1000,20498=>1000,20499=>1000,20500=>1000,20501=>1000,20502=>1000,20503=>1000,20504=>1000,20505=>1000,20506=>1000,20507=>1000,20508=>1000,20509=>1000,20510=>1000,20511=>1000,20512=>1000,20513=>1000,20514=>1000,20515=>1000,20516=>1000,20517=>1000,20518=>1000,20519=>1000,20520=>1000,20521=>1000,20522=>1000,20523=>1000,20524=>1000,20525=>1000,20526=>1000,20527=>1000,20528=>1000,20529=>1000,20530=>1000,20531=>1000,20532=>1000,20533=>1000,20534=>1000,20535=>1000,20536=>1000,20537=>1000,20538=>1000,20539=>1000,20540=>1000,20541=>1000,20542=>1000,20543=>1000,20544=>1000,20545=>1000,20546=>1000,20547=>1000,20548=>1000,20549=>1000,20550=>1000,20551=>1000,20552=>1000,20553=>1000,20554=>1000,20555=>1000,20556=>1000,20557=>1000,20558=>1000,20559=>1000,20560=>1000,20561=>1000,20562=>1000,20563=>1000,20564=>1000,20565=>1000,20566=>1000,20567=>1000,20568=>1000,20569=>1000,20570=>1000,20571=>1000,20572=>1000,20573=>1000,20574=>1000,20575=>1000,20576=>1000,20577=>1000,20578=>1000,20579=>1000,20580=>1000,20581=>1000,20582=>1000,20583=>1000,20584=>1000,20585=>1000,20586=>1000,20587=>1000,20588=>1000,20589=>1000,20590=>1000,20591=>1000,20592=>1000,20593=>1000,20594=>1000,20595=>1000,20596=>1000,20597=>1000,20598=>1000,20599=>1000,20600=>1000,20601=>1000,20602=>1000,20603=>1000,20604=>1000,20605=>1000,20606=>1000,20607=>1000,20608=>1000,20609=>1000,20610=>1000,20611=>1000,20612=>1000,20613=>1000,20614=>1000,20615=>1000,20616=>1000,20617=>1000,20618=>1000,20619=>1000,20620=>1000,20621=>1000,20622=>1000,20623=>1000,20624=>1000,20625=>1000,20626=>1000,20627=>1000,20628=>1000,20629=>1000,20630=>1000,20631=>1000,20632=>1000,20633=>1000,20634=>1000,20635=>1000,20636=>1000,20637=>1000,20638=>1000,20639=>1000,20640=>1000,20641=>1000,20642=>1000,20643=>1000,20644=>1000,20645=>1000,20646=>1000,20647=>1000,20648=>1000,20649=>1000,20650=>1000,20651=>1000,20652=>1000,20653=>1000,20654=>1000,20655=>1000,20656=>1000,20657=>1000,20658=>1000,20659=>1000,20660=>1000,20661=>1000,20662=>1000,20663=>1000,20664=>1000,20665=>1000,20666=>1000,20667=>1000,20668=>1000,20669=>1000,20670=>1000,20671=>1000,20672=>1000,20673=>1000,20674=>1000,20675=>1000,20676=>1000,20677=>1000,20678=>1000,20679=>1000,20680=>1000,20681=>1000,20682=>1000,20683=>1000,20684=>1000,20685=>1000,20686=>1000,20687=>1000,20688=>1000,20689=>1000,20690=>1000,20691=>1000,20692=>1000,20693=>1000,20694=>1000,20695=>1000,20696=>1000,20697=>1000,20698=>1000,20699=>1000,20700=>1000,20701=>1000,20702=>1000,20703=>1000,20704=>1000,20705=>1000,20706=>1000,20707=>1000,20708=>1000,20709=>1000,20710=>1000,20711=>1000,20712=>1000,20713=>1000,20714=>1000,20715=>1000,20716=>1000,20717=>1000,20718=>1000,20719=>1000,20720=>1000,20721=>1000,20722=>1000,20723=>1000,20724=>1000,20725=>1000,20726=>1000,20727=>1000,20728=>1000,20729=>1000,20730=>1000,20731=>1000,20732=>1000,20733=>1000,20734=>1000,20735=>1000,20736=>1000,20737=>1000,20738=>1000,20739=>1000,20740=>1000,20741=>1000,20742=>1000,20743=>1000,20744=>1000,20745=>1000,20746=>1000,20747=>1000,20748=>1000,20749=>1000,20750=>1000,20751=>1000,20752=>1000,20753=>1000,20754=>1000,20755=>1000,20756=>1000,20757=>1000,20758=>1000,20759=>1000,20760=>1000,20761=>1000,20762=>1000,20763=>1000,20764=>1000,20765=>1000,20766=>1000,20767=>1000,20768=>1000,20769=>1000,20770=>1000,20771=>1000,20772=>1000,20773=>1000,20774=>1000,20775=>1000,20776=>1000,20777=>1000,20778=>1000,20779=>1000,20780=>1000,20781=>1000,20782=>1000,20783=>1000,20784=>1000,20785=>1000,20786=>1000,20787=>1000,20788=>1000,20789=>1000,20790=>1000,20791=>1000,20792=>1000,20793=>1000,20794=>1000,20795=>1000,20796=>1000,20797=>1000,20798=>1000,20799=>1000,20800=>1000,20801=>1000,20802=>1000,20803=>1000,20804=>1000,20805=>1000,20806=>1000,20807=>1000,20808=>1000,20809=>1000,20810=>1000,20811=>1000,20812=>1000,20813=>1000,20814=>1000,20815=>1000,20816=>1000,20817=>1000,20818=>1000,20819=>1000,20820=>1000,20821=>1000,20822=>1000,20823=>1000,20824=>1000,20825=>1000,20826=>1000,20827=>1000,20828=>1000,20829=>1000,20830=>1000,20831=>1000,20832=>1000,20833=>1000,20834=>1000,20835=>1000,20836=>1000,20837=>1000,20838=>1000,20839=>1000,20840=>1000,20841=>1000,20842=>1000,20843=>1000,20844=>1000,20845=>1000,20846=>1000,20847=>1000,20848=>1000,20849=>1000,20850=>1000,20851=>1000,20852=>1000,20853=>1000,20854=>1000,20855=>1000,20856=>1000,20857=>1000,20858=>1000,20859=>1000,20860=>1000,20861=>1000,20862=>1000,20863=>1000,20864=>1000,20865=>1000,20866=>1000,20867=>1000,20868=>1000,20869=>1000,20870=>1000,20871=>1000,20872=>1000,20873=>1000,20874=>1000,20875=>1000,20876=>1000,20877=>1000,20878=>1000,20879=>1000,20880=>1000,20881=>1000,20882=>1000,20883=>1000,20884=>1000,20885=>1000,20886=>1000,20887=>1000,20888=>1000,20889=>1000,20890=>1000,20891=>1000,20892=>1000,20893=>1000,20894=>1000,20895=>1000,20896=>1000,20897=>1000,20898=>1000,20899=>1000,20900=>1000,20901=>1000,20902=>1000,20903=>1000,20904=>1000,20905=>1000,20906=>1000,20907=>1000,20908=>1000,20909=>1000,20910=>1000,20911=>1000,20912=>1000,20913=>1000,20914=>1000,20915=>1000,20916=>1000,20917=>1000,20918=>1000,20919=>1000,20920=>1000,20921=>1000,20922=>1000,20923=>1000,20924=>1000,20925=>1000,20926=>1000,20927=>1000,20928=>1000,20929=>1000,20930=>1000,20931=>1000,20932=>1000,20933=>1000,20934=>1000,20935=>1000,20936=>1000,20937=>1000,20938=>1000,20939=>1000,20940=>1000,20941=>1000,20942=>1000,20943=>1000,20944=>1000,20945=>1000,20946=>1000,20947=>1000,20948=>1000,20949=>1000,20950=>1000,20951=>1000,20952=>1000,20953=>1000,20954=>1000,20955=>1000,20956=>1000,20957=>1000,20958=>1000,20959=>1000,20960=>1000,20961=>1000,20962=>1000,20963=>1000,20964=>1000,20965=>1000,20966=>1000,20967=>1000,20968=>1000,20969=>1000,20970=>1000,20971=>1000,20972=>1000,20973=>1000,20974=>1000,20975=>1000,20976=>1000,20977=>1000,20978=>1000,20979=>1000,20980=>1000,20981=>1000,20982=>1000,20983=>1000,20984=>1000,20985=>1000,20986=>1000,20987=>1000,20988=>1000,20989=>1000,20990=>1000,20991=>1000,20992=>1000,20993=>1000,20994=>1000,20995=>1000,20996=>1000,20997=>1000,20998=>1000,20999=>1000,21000=>1000,21001=>1000,21002=>1000,21003=>1000,21004=>1000,21005=>1000,21006=>1000,21007=>1000,21008=>1000,21009=>1000,21010=>1000,21011=>1000,21012=>1000,21013=>1000,21014=>1000,21015=>1000,21016=>1000,21017=>1000,21018=>1000,21019=>1000,21020=>1000,21021=>1000,21022=>1000,21023=>1000,21024=>1000,21025=>1000,21026=>1000,21027=>1000,21028=>1000,21029=>1000,21030=>1000,21031=>1000,21032=>1000,21033=>1000,21034=>1000,21035=>1000,21036=>1000,21037=>1000,21038=>1000,21039=>1000,21040=>1000,21041=>1000,21042=>1000,21043=>1000,21044=>1000,21045=>1000,21046=>1000,21047=>1000,21048=>1000,21049=>1000,21050=>1000,21051=>1000,21052=>1000,21053=>1000,21054=>1000,21055=>1000,21056=>1000,21057=>1000,21058=>1000,21059=>1000,21060=>1000,21061=>1000,21062=>1000,21063=>1000,21064=>1000,21065=>1000,21066=>1000,21067=>1000,21068=>1000,21069=>1000,21070=>1000,21071=>1000,21072=>1000,21073=>1000,21074=>1000,21075=>1000,21076=>1000,21077=>1000,21078=>1000,21079=>1000,21080=>1000,21081=>1000,21082=>1000,21083=>1000,21084=>1000,21085=>1000,21086=>1000,21087=>1000,21088=>1000,21089=>1000,21090=>1000,21091=>1000,21092=>1000,21093=>1000,21094=>1000,21095=>1000,21096=>1000,21097=>1000,21098=>1000,21099=>1000,21100=>1000,21101=>1000,21102=>1000,21103=>1000,21104=>1000,21105=>1000,21106=>1000,21107=>1000,21108=>1000,21109=>1000,21110=>1000,21111=>1000,21112=>1000,21113=>1000,21114=>1000,21115=>1000,21116=>1000,21117=>1000,21118=>1000,21119=>1000,21120=>1000,21121=>1000,21122=>1000,21123=>1000,21124=>1000,21125=>1000,21126=>1000,21127=>1000,21128=>1000,21129=>1000,21130=>1000,21131=>1000,21132=>1000,21133=>1000,21134=>1000,21135=>1000,21136=>1000,21137=>1000,21138=>1000,21139=>1000,21140=>1000,21141=>1000,21142=>1000,21143=>1000,21144=>1000,21145=>1000,21146=>1000,21147=>1000,21148=>1000,21149=>1000,21150=>1000,21151=>1000,21152=>1000,21153=>1000,21154=>1000,21155=>1000,21156=>1000,21157=>1000,21158=>1000,21159=>1000,21160=>1000,21161=>1000,21162=>1000,21163=>1000,21164=>1000,21165=>1000,21166=>1000,21167=>1000,21168=>1000,21169=>1000,21170=>1000,21171=>1000,21172=>1000,21173=>1000,21174=>1000,21175=>1000,21176=>1000,21177=>1000,21178=>1000,21179=>1000,21180=>1000,21181=>1000,21182=>1000,21183=>1000,21184=>1000,21185=>1000,21186=>1000,21187=>1000,21188=>1000,21189=>1000,21190=>1000,21191=>1000,21192=>1000,21193=>1000,21194=>1000,21195=>1000,21196=>1000,21197=>1000,21198=>1000,21199=>1000,21200=>1000,21201=>1000,21202=>1000,21203=>1000,21204=>1000,21205=>1000,21206=>1000,21207=>1000,21208=>1000,21209=>1000,21210=>1000,21211=>1000,21212=>1000,21213=>1000,21214=>1000,21215=>1000,21216=>1000,21217=>1000,21218=>1000,21219=>1000,21220=>1000,21221=>1000,21222=>1000,21223=>1000,21224=>1000,21225=>1000,21226=>1000,21227=>1000,21228=>1000,21229=>1000,21230=>1000,21231=>1000,21232=>1000,21233=>1000,21234=>1000,21235=>1000,21236=>1000,21237=>1000,21238=>1000,21239=>1000,21240=>1000,21241=>1000,21242=>1000,21243=>1000,21244=>1000,21245=>1000,21246=>1000,21247=>1000,21248=>1000,21249=>1000,21250=>1000,21251=>1000,21252=>1000,21253=>1000,21254=>1000,21255=>1000,21256=>1000,21257=>1000,21258=>1000,21259=>1000,21260=>1000,21261=>1000,21262=>1000,21263=>1000,21264=>1000,21265=>1000,21266=>1000,21267=>1000,21268=>1000,21269=>1000,21270=>1000,21271=>1000,21272=>1000,21273=>1000,21274=>1000,21275=>1000,21276=>1000,21277=>1000,21278=>1000,21279=>1000,21280=>1000,21281=>1000,21282=>1000,21283=>1000,21284=>1000,21285=>1000,21286=>1000,21287=>1000,21288=>1000,21289=>1000,21290=>1000,21291=>1000,21292=>1000,21293=>994,21294=>1000,21295=>1000,21296=>1000,21297=>1000,21298=>1000,21299=>1000,21300=>1000,21301=>1000,21302=>1000,21303=>1000,21304=>1000,21305=>1000,21306=>1000,21307=>1000,21308=>1000,21309=>1000,21310=>1000,21311=>1000,21312=>1000,21313=>1000,21314=>1000,21315=>1000,21316=>1000,21317=>1000,21318=>1000,21319=>1000,21320=>1000,21321=>1000,21322=>1000,21323=>1000,21324=>1000,21325=>1000,21326=>1000,21327=>1000,21328=>1000,21329=>1000,21330=>1000,21331=>1000,21332=>1000,21333=>1000,21334=>1000,21335=>1000,21336=>1000,21337=>1000,21338=>1000,21339=>1000,21340=>1000,21341=>1000,21342=>1000,21343=>1000,21344=>1000,21345=>1000,21346=>1000,21347=>1000,21348=>1000,21349=>1000,21350=>1000,21351=>1000,21352=>1000,21353=>1000,21354=>1000,21355=>1000,21356=>1000,21357=>1000,21358=>1000,21359=>1000,21360=>1000,21361=>1000,21362=>1000,21363=>1000,21364=>1000,21365=>1000,21366=>1000,21367=>1000,21368=>1000,21369=>1000,21370=>1000,21371=>1000,21372=>1000,21373=>1000,21374=>1000,21375=>1000,21376=>1000,21377=>1000,21378=>1000,21379=>1000,21380=>1000,21381=>1000,21382=>1000,21383=>1000,21384=>1000,21385=>1000,21386=>1000,21387=>1000,21388=>1000,21389=>1000,21390=>1000,21391=>1000,21392=>1000,21393=>1000,21394=>1000,21395=>1000,21396=>1000,21397=>1000,21398=>1000,21399=>1000,21400=>1000,21401=>1000,21402=>1000,21403=>1000,21404=>1000,21405=>1000,21406=>1000,21407=>1000,21408=>1000,21409=>1000,21410=>1000,21411=>1000,21412=>1000,21413=>1000,21414=>1000,21415=>1000,21416=>1000,21417=>1000,21418=>1000,21419=>1000,21420=>1000,21421=>1000,21422=>1000,21423=>1000,21424=>1000,21425=>1000,21426=>1000,21427=>1000,21428=>1000,21429=>1000,21430=>1000,21431=>1000,21432=>1000,21433=>1000,21434=>1000,21435=>1000,21436=>1000,21437=>1000,21438=>1000,21439=>1000,21440=>1000,21441=>1000,21442=>1000,21443=>1000,21444=>1000,21445=>1000,21446=>1000,21447=>1000,21448=>1000,21449=>1000,21450=>1000,21451=>1000,21452=>1000,21453=>1000,21454=>1000,21455=>1000,21456=>1000,21457=>1000,21458=>1000,21459=>1000,21460=>1000,21461=>1000,21462=>1000,21463=>1000,21464=>1000,21465=>1000,21466=>1000,21467=>1000,21468=>1000,21469=>1000,21470=>1000,21471=>1000,21472=>1000,21473=>1000,21474=>1000,21475=>1000,21476=>1000,21477=>1000,21478=>1000,21479=>1000,21480=>1000,21481=>1000,21482=>1000,21483=>1000,21484=>1000,21485=>1000,21486=>1000,21487=>1000,21488=>1000,21489=>1000,21490=>1000,21491=>1000,21492=>1000,21493=>1000,21494=>1000,21495=>1000,21496=>1000,21497=>1000,21498=>1000,21499=>1000,21500=>1000,21501=>1000,21502=>1000,21503=>1000,21504=>1000,21505=>1000,21506=>1000,21507=>1000,21508=>1000,21509=>1000,21510=>1000,21511=>1000,21512=>1000,21513=>1000,21514=>1000,21515=>1000,21516=>1000,21517=>1000,21518=>1000,21519=>1000,21520=>1000,21521=>1000,21522=>1000,21523=>1000,21524=>1000,21525=>1000,21526=>1000,21527=>1000,21528=>1000,21529=>1000,21530=>1000,21531=>1000,21532=>1000,21533=>1000,21534=>1000,21535=>1000,21536=>1000,21537=>1000,21538=>1000,21539=>1000,21540=>1000,21541=>1000,21542=>1000,21543=>1000,21544=>1000,21545=>1000,21546=>1000,21547=>1000,21548=>1000,21549=>1000,21550=>1000,21551=>1000,21552=>1000,21553=>1000,21554=>1000,21555=>1000,21556=>1000,21557=>1000,21558=>1000,21559=>1000,21560=>1000,21561=>1000,21562=>1000,21563=>1000,21564=>1000,21565=>1000,21566=>1000,21567=>1000,21568=>1000,21569=>1000,21570=>1000,21571=>1000,21572=>1000,21573=>1000,21574=>1000,21575=>1000,21576=>1000,21577=>1000,21578=>1000,21579=>1000,21580=>1000,21581=>1000,21582=>1000,21583=>1000,21584=>1000,21585=>1000,21586=>1000,21587=>1000,21588=>1000,21589=>1000,21590=>1000,21591=>1000,21592=>1000,21593=>1000,21594=>1000,21595=>1000,21596=>1000,21597=>1000,21598=>1000,21599=>1000,21600=>1000,21601=>1000,21602=>1000,21603=>1000,21604=>1000,21605=>1000,21606=>1000,21607=>1000,21608=>1000,21609=>1000,21610=>1000,21611=>1000,21612=>1000,21613=>1000,21614=>1000,21615=>1000,21616=>1000,21617=>1000,21618=>1000,21619=>1000,21620=>1000,21621=>1000,21622=>1000,21623=>1000,21624=>1000,21625=>1000,21626=>1000,21627=>1000,21628=>1000,21629=>1000,21630=>1000,21631=>1000,21632=>1000,21633=>1000,21634=>1000,21635=>1000,21636=>1000,21637=>1000,21638=>1000,21639=>1000,21640=>1000,21641=>1000,21642=>1000,21643=>1000,21644=>1000,21645=>1000,21646=>1000,21647=>1000,21648=>1000,21649=>1000,21650=>1000,21651=>1000,21652=>1000,21653=>1000,21654=>1000,21655=>1000,21656=>1000,21657=>1000,21658=>1000,21659=>1000,21660=>1000,21661=>1000,21662=>1000,21663=>1000,21664=>1000,21665=>1000,21666=>1000,21667=>1000,21668=>1000,21669=>1000,21670=>1000,21671=>1000,21672=>1000,21673=>1000,21674=>1000,21675=>1000,21676=>1000,21677=>1000,21678=>1000,21679=>1000,21680=>1000,21681=>1000,21682=>1000,21683=>1000,21684=>1000,21685=>1000,21686=>1000,21687=>1000,21688=>1000,21689=>1000,21690=>1000,21691=>1000,21692=>1000,21693=>1000,21694=>1000,21695=>1000,21696=>1000,21697=>1000,21698=>1000,21699=>1000,21700=>1000,21701=>1000,21702=>1000,21703=>1000,21704=>1000,21705=>1000,21706=>1000,21707=>1000,21708=>1000,21709=>1000,21710=>1000,21711=>1000,21712=>1000,21713=>1000,21714=>1000,21715=>1000,21716=>1000,21717=>1000,21718=>1000,21719=>1000,21720=>1000,21721=>1000,21722=>1000,21723=>1000,21724=>1000,21725=>1000,21726=>1000,21727=>1000,21728=>1000,21729=>1000,21730=>1000,21731=>1000,21732=>1000,21733=>1000,21734=>1000,21735=>1000,21736=>1000,21737=>1000,21738=>1000,21739=>1000,21740=>1000,21741=>1000,21742=>1000,21743=>1000,21744=>1000,21745=>1000,21746=>1000,21747=>1000,21748=>1000,21749=>1000,21750=>1000,21751=>1000,21752=>1000,21753=>1000,21754=>1000,21755=>1000,21756=>1000,21757=>1000,21758=>1000,21759=>1000,21760=>1000,21761=>1000,21762=>1000,21763=>1000,21764=>1000,21765=>1000,21766=>1000,21767=>1000,21768=>1000,21769=>1000,21770=>1000,21771=>1000,21772=>1000,21773=>1000,21774=>1000,21775=>1000,21776=>1000,21777=>1000,21778=>1000,21779=>1000,21780=>1000,21781=>1000,21782=>1000,21783=>1000,21784=>1000,21785=>1000,21786=>1000,21787=>1000,21788=>1000,21789=>1000,21790=>1000,21791=>1000,21792=>1000,21793=>1000,21794=>1000,21795=>1000,21796=>1000,21797=>1000,21798=>1000,21799=>1000,21800=>1000,21801=>1000,21802=>1000,21803=>1000,21804=>1000,21805=>1000,21806=>1000,21807=>1000,21808=>1000,21809=>1000,21810=>1000,21811=>1000,21812=>1000,21813=>1000,21814=>1000,21815=>1000,21816=>1000,21817=>1000,21818=>1000,21819=>1000,21820=>1000,21821=>1000,21822=>1000,21823=>1000,21824=>1000,21825=>1000,21826=>1000,21827=>1000,21828=>1000,21829=>1000,21830=>1000,21831=>1000,21832=>1000,21833=>1000,21834=>1000,21835=>1000,21836=>1000,21837=>1000,21838=>1000,21839=>1000,21840=>1000,21841=>1000,21842=>1000,21843=>1000,21844=>1000,21845=>1000,21846=>1000,21847=>1000,21848=>1000,21849=>1000,21850=>1000,21851=>1000,21852=>1000,21853=>1000,21854=>1000,21855=>1000,21856=>1000,21857=>1000,21858=>1000,21859=>1000,21860=>1000,21861=>1000,21862=>1000,21863=>1000,21864=>1000,21865=>1000,21866=>1000,21867=>1000,21868=>1000,21869=>1000,21870=>1000,21871=>1000,21872=>1000,21873=>1000,21874=>1000,21875=>1000,21876=>1000,21877=>1000,21878=>1000,21879=>1000,21880=>1000,21881=>1000,21882=>1000,21883=>1000,21884=>1000,21885=>1000,21886=>1000,21887=>1000,21888=>1000,21889=>1000,21890=>1000,21891=>1000,21892=>1000,21893=>1000,21894=>1000,21895=>1000,21896=>1000,21897=>1000,21898=>1000,21899=>1000,21900=>1000,21901=>1000,21902=>1000,21903=>1000,21904=>1000,21905=>1000,21906=>1000,21907=>1000,21908=>1000,21909=>1000,21910=>1000,21911=>1000,21912=>1000,21913=>1000,21914=>1000,21915=>1000,21916=>1000,21917=>1000,21918=>1000,21919=>1000,21920=>1000,21921=>1000,21922=>1000,21923=>1000,21924=>1000,21925=>1000,21926=>1000,21927=>1000,21928=>1000,21929=>1000,21930=>1000,21931=>1000,21932=>1000,21933=>1000,21934=>1000,21935=>1000,21936=>1000,21937=>1000,21938=>1000,21939=>1000,21940=>1000,21941=>1000,21942=>1000,21943=>1000,21944=>1000,21945=>1000,21946=>1000,21947=>1000,21948=>1000,21949=>1000,21950=>1000,21951=>1000,21952=>1000,21953=>1000,21954=>1000,21955=>1000,21956=>1000,21957=>1000,21958=>1000,21959=>1000,21960=>1000,21961=>1000,21962=>1000,21963=>1000,21964=>1000,21965=>1000,21966=>1000,21967=>1000,21968=>1000,21969=>1000,21970=>1000,21971=>1000,21972=>1000,21973=>1000,21974=>1000,21975=>1000,21976=>1000,21977=>1000,21978=>1000,21979=>1000,21980=>1000,21981=>1000,21982=>1000,21983=>1000,21984=>1000,21985=>1000,21986=>1000,21987=>1000,21988=>1000,21989=>1000,21990=>1000,21991=>1000,21992=>1000,21993=>1000,21994=>1000,21995=>1000,21996=>1000,21997=>1000,21998=>1000,21999=>1000,22000=>1000,22001=>1000,22002=>1000,22003=>1000,22004=>1000,22005=>1000,22006=>1000,22007=>1000,22008=>1000,22009=>1000,22010=>1000,22011=>1000,22012=>1000,22013=>1000,22014=>1000,22015=>1000,22016=>1000,22017=>1000,22018=>1000,22019=>1000,22020=>1000,22021=>1000,22022=>1000,22023=>1000,22024=>1000,22025=>1000,22026=>1000,22027=>1000,22028=>1000,22029=>1000,22030=>1000,22031=>1000,22032=>1000,22033=>1000,22034=>1000,22035=>1000,22036=>1000,22037=>1000,22038=>1000,22039=>1000,22040=>1000,22041=>1000,22042=>1000,22043=>1000,22044=>1000,22045=>1000,22046=>1000,22047=>1000,22048=>1000,22049=>1000,22050=>1000,22051=>1000,22052=>1000,22053=>1000,22054=>1000,22055=>1000,22056=>1000,22057=>1000,22058=>1000,22059=>1000,22060=>1000,22061=>1000,22062=>1000,22063=>1000,22064=>1000,22065=>1000,22066=>1000,22067=>1000,22068=>1000,22069=>1000,22070=>1000,22071=>1000,22072=>1000,22073=>1000,22074=>1000,22075=>1000,22076=>1000,22077=>1000,22078=>1000,22079=>1000,22080=>1000,22081=>1000,22082=>1000,22083=>1000,22084=>1000,22085=>1000,22086=>1000,22087=>1000,22088=>1000,22089=>1000,22090=>1000,22091=>1000,22092=>1000,22093=>1000,22094=>1000,22095=>1000,22096=>1000,22097=>1000,22098=>1000,22099=>1000,22100=>1000,22101=>1000,22102=>1000,22103=>1000,22104=>1000,22105=>1000,22106=>1000,22107=>1000,22108=>1000,22109=>1000,22110=>1000,22111=>1000,22112=>1000,22113=>1000,22114=>1000,22115=>1000,22116=>1000,22117=>1000,22118=>1000,22119=>1000,22120=>1000,22121=>1000,22122=>1000,22123=>1000,22124=>1000,22125=>1000,22126=>1000,22127=>1000,22128=>1000,22129=>1000,22130=>1000,22131=>1000,22132=>1000,22133=>1000,22134=>1000,22135=>1000,22136=>1000,22137=>1000,22138=>1000,22139=>1000,22140=>1000,22141=>1000,22142=>1000,22143=>1000,22144=>1000,22145=>1000,22146=>1000,22147=>1000,22148=>1000,22149=>1000,22150=>1000,22151=>1000,22152=>1000,22153=>1000,22154=>1000,22155=>1000,22156=>1000,22157=>1000,22158=>1000,22159=>1000,22160=>1000,22161=>1000,22162=>1000,22163=>1000,22164=>1000,22165=>1000,22166=>1000,22167=>1000,22168=>1000,22169=>1000,22170=>1000,22171=>1000,22172=>1000,22173=>1000,22174=>1000,22175=>1000,22176=>1000,22177=>1000,22178=>1000,22179=>1000,22180=>1000,22181=>1000,22182=>1000,22183=>1000,22184=>1000,22185=>1000,22186=>1000,22187=>1000,22188=>1000,22189=>1000,22190=>1000,22191=>1000,22192=>1000,22193=>1000,22194=>1000,22195=>1000,22196=>1000,22197=>1000,22198=>1000,22199=>1000,22200=>1000,22201=>1000,22202=>1000,22203=>1000,22204=>1000,22205=>1000,22206=>1000,22207=>1000,22208=>1000,22209=>1000,22210=>1000,22211=>1000,22212=>1000,22213=>1000,22214=>1000,22215=>1000,22216=>1000,22217=>1000,22218=>1000,22219=>1000,22220=>1000,22221=>1000,22222=>1000,22223=>1000,22224=>1000,22225=>1000,22226=>1000,22227=>1000,22228=>1000,22229=>1000,22230=>1000,22231=>1000,22232=>1000,22233=>1000,22234=>1000,22235=>1000,22236=>1000,22237=>1000,22238=>1000,22239=>1000,22240=>1000,22241=>1000,22242=>1000,22243=>1000,22244=>1000,22245=>1000,22246=>1000,22247=>1000,22248=>1000,22249=>1000,22250=>1000,22251=>1000,22252=>1000,22253=>1000,22254=>1000,22255=>1000,22256=>1000,22257=>1000,22258=>1000,22259=>1000,22260=>1000,22261=>1000,22262=>1000,22263=>1000,22264=>1000,22265=>1000,22266=>1000,22267=>1000,22268=>1000,22269=>1000,22270=>1000,22271=>1000,22272=>1000,22273=>1000,22274=>1000,22275=>1000,22276=>1000,22277=>1000,22278=>1000,22279=>1000,22280=>1000,22281=>1000,22282=>1000,22283=>1000,22284=>1000,22285=>1000,22286=>1000,22287=>1000,22288=>1000,22289=>1000,22290=>1000,22291=>1000,22292=>1000,22293=>1000,22294=>1000,22295=>1000,22296=>1000,22297=>1000,22298=>1000,22299=>1000,22300=>1000,22301=>1000,22302=>1000,22303=>1000,22304=>1000,22305=>1000,22306=>1000,22307=>1000,22308=>1000,22309=>1000,22310=>1000,22311=>1000,22312=>1000,22313=>1000,22314=>1000,22315=>1000,22316=>1000,22317=>1000,22318=>1000,22319=>1000,22320=>1000,22321=>1000,22322=>1000,22323=>1000,22324=>1000,22325=>1000,22326=>1000,22327=>1000,22328=>1000,22329=>1000,22330=>1000,22331=>1000,22332=>1000,22333=>1000,22334=>1000,22335=>1000,22336=>1000,22337=>1000,22338=>1000,22339=>1000,22340=>1000,22341=>1000,22342=>1000,22343=>1000,22344=>1000,22345=>1000,22346=>1000,22347=>1000,22348=>1000,22349=>1000,22350=>1000,22351=>1000,22352=>1000,22353=>1000,22354=>1000,22355=>1000,22356=>1000,22357=>1000,22358=>1000,22359=>1000,22360=>1000,22361=>1000,22362=>1000,22363=>1000,22364=>1000,22365=>1000,22366=>1000,22367=>1000,22368=>1000,22369=>1000,22370=>1000,22371=>1000,22372=>1000,22373=>1000,22374=>1000,22375=>1000,22376=>1000,22377=>1000,22378=>1000,22379=>1000,22380=>1000,22381=>1000,22382=>1000,22383=>1000,22384=>1000,22385=>1000,22386=>1000,22387=>1000,22388=>1000,22389=>1000,22390=>1000,22391=>1000,22392=>1000,22393=>1000,22394=>1000,22395=>1000,22396=>1000,22397=>1000,22398=>1000,22399=>1000,22400=>1000,22401=>1000,22402=>1000,22403=>1000,22404=>1000,22405=>1000,22406=>1000,22407=>1000,22408=>1000,22409=>1000,22410=>1000,22411=>1000,22412=>1000,22413=>1000,22414=>1000,22415=>1000,22416=>1000,22417=>1000,22418=>1000,22419=>1000,22420=>1000,22421=>1000,22422=>1000,22423=>1000,22424=>1000,22425=>1000,22426=>1000,22427=>1000,22428=>1000,22429=>1000,22430=>1000,22431=>1000,22432=>1000,22433=>1000,22434=>1000,22435=>1000,22436=>1000,22437=>1000,22438=>1000,22439=>1000,22440=>1000,22441=>1000,22442=>1000,22443=>1000,22444=>1000,22445=>1000,22446=>1000,22447=>1000,22448=>1000,22449=>1000,22450=>1000,22451=>1000,22452=>1000,22453=>1000,22454=>1000,22455=>1000,22456=>1000,22457=>1000,22458=>1000,22459=>1000,22460=>1000,22461=>1000,22462=>1000,22463=>1000,22464=>1000,22465=>1000,22466=>1000,22467=>1000,22468=>1000,22469=>1000,22470=>1000,22471=>1000,22472=>1000,22473=>1000,22474=>1000,22475=>1000,22476=>1000,22477=>1000,22478=>1000,22479=>1000,22480=>1000,22481=>1000,22482=>1000,22483=>1000,22484=>1000,22485=>1000,22486=>1000,22487=>1000,22488=>1000,22489=>1000,22490=>1000,22491=>1000,22492=>1000,22493=>1000,22494=>1000,22495=>1000,22496=>1000,22497=>1000,22498=>1000,22499=>1000,22500=>1000,22501=>1000,22502=>1000,22503=>1000,22504=>1000,22505=>1000,22506=>1000,22507=>1000,22508=>1000,22509=>1000,22510=>1000,22511=>1000,22512=>1000,22513=>1000,22514=>1000,22515=>1000,22516=>1000,22517=>1000,22518=>1000,22519=>1000,22520=>1000,22521=>1000,22522=>1000,22523=>1000,22524=>1000,22525=>1000,22526=>1000,22527=>1000,22528=>1000,22529=>1000,22530=>1000,22531=>1000,22532=>1000,22533=>1000,22534=>1000,22535=>1000,22536=>1000,22537=>1000,22538=>1000,22539=>1000,22540=>1000,22541=>1000,22542=>1000,22543=>1000,22544=>1000,22545=>1000,22546=>1000,22547=>1000,22548=>1000,22549=>1000,22550=>1000,22551=>1000,22552=>1000,22553=>1000,22554=>1000,22555=>1000,22556=>1000,22557=>1000,22558=>1000,22559=>1000,22560=>1000,22561=>1000,22562=>1000,22563=>1000,22564=>1000,22565=>1000,22566=>1000,22567=>1000,22568=>1000,22569=>1000,22570=>1000,22571=>1000,22572=>1000,22573=>1000,22574=>1000,22575=>1000,22576=>1000,22577=>1000,22578=>1000,22579=>1000,22580=>1000,22581=>1000,22582=>1000,22583=>1000,22584=>1000,22585=>1000,22586=>1000,22587=>1000,22588=>1000,22589=>1000,22590=>1000,22591=>1000,22592=>1000,22593=>1000,22594=>1000,22595=>1000,22596=>1000,22597=>1000,22598=>1000,22599=>1000,22600=>1000,22601=>1000,22602=>1000,22603=>1000,22604=>1000,22605=>1000,22606=>1000,22607=>1000,22608=>1000,22609=>1000,22610=>1000,22611=>1000,22612=>1000,22613=>1000,22614=>1000,22615=>1000,22616=>1000,22617=>1000,22618=>1000,22619=>1000,22620=>1000,22621=>1000,22622=>1000,22623=>1000,22624=>1000,22625=>1000,22626=>1000,22627=>1000,22628=>1000,22629=>1000,22630=>1000,22631=>1000,22632=>1000,22633=>1000,22634=>1000,22635=>1000,22636=>1000,22637=>1000,22638=>1000,22639=>1000,22640=>1000,22641=>1000,22642=>1000,22643=>1000,22644=>1000,22645=>1000,22646=>1000,22647=>1000,22648=>1000,22649=>1000,22650=>1000,22651=>1000,22652=>1000,22653=>1000,22654=>1000,22655=>1000,22656=>1000,22657=>1000,22658=>1000,22659=>1000,22660=>1000,22661=>1000,22662=>1000,22663=>1000,22664=>1000,22665=>1000,22666=>1000,22667=>1000,22668=>1000,22669=>1000,22670=>1000,22671=>1000,22672=>1000,22673=>1000,22674=>1000,22675=>1000,22676=>1000,22677=>1000,22678=>1000,22679=>1000,22680=>1000,22681=>1000,22682=>1000,22683=>1000,22684=>1000,22685=>1000,22686=>1000,22687=>1000,22688=>1000,22689=>1000,22690=>1000,22691=>1000,22692=>1000,22693=>1000,22694=>1000,22695=>1000,22696=>1000,22697=>1000,22698=>1000,22699=>1000,22700=>1000,22701=>1000,22702=>1000,22703=>1000,22704=>1000,22705=>1000,22706=>1000,22707=>1000,22708=>1000,22709=>1000,22710=>1000,22711=>1000,22712=>1000,22713=>1000,22714=>1000,22715=>1000,22716=>1000,22717=>1000,22718=>1000,22719=>1000,22720=>1000,22721=>1000,22722=>1000,22723=>1000,22724=>1000,22725=>1000,22726=>1000,22727=>1000,22728=>1000,22729=>1000,22730=>1000,22731=>1000,22732=>1000,22733=>1000,22734=>1000,22735=>1000,22736=>1000,22737=>1000,22738=>1000,22739=>1000,22740=>1000,22741=>1000,22742=>1000,22743=>1000,22744=>1000,22745=>1000,22746=>1000,22747=>1000,22748=>1000,22749=>1000,22750=>1000,22751=>1000,22752=>1000,22753=>1000,22754=>1000,22755=>1000,22756=>1000,22757=>1000,22758=>1000,22759=>1000,22760=>1000,22761=>1000,22762=>1000,22763=>1000,22764=>1000,22765=>1000,22766=>1000,22767=>1000,22768=>1000,22769=>1000,22770=>1000,22771=>1000,22772=>1000,22773=>1000,22774=>1000,22775=>1000,22776=>1000,22777=>1000,22778=>1000,22779=>1000,22780=>1000,22781=>1000,22782=>1000,22783=>1000,22784=>1000,22785=>1000,22786=>1000,22787=>1000,22788=>1000,22789=>1000,22790=>1000,22791=>1000,22792=>1000,22793=>1000,22794=>1000,22795=>1000,22796=>1000,22797=>1000,22798=>1000,22799=>1000,22800=>1000,22801=>1000,22802=>1000,22803=>1000,22804=>1000,22805=>1000,22806=>1000,22807=>1000,22808=>1000,22809=>1000,22810=>1000,22811=>1000,22812=>1000,22813=>1000,22814=>1000,22815=>1000,22816=>1000,22817=>1000,22818=>1000,22819=>1000,22820=>1000,22821=>1000,22822=>1000,22823=>1000,22824=>1000,22825=>1000,22826=>1000,22827=>1000,22828=>1000,22829=>1000,22830=>1000,22831=>1000,22832=>1000,22833=>1000,22834=>1000,22835=>1000,22836=>1000,22837=>1000,22838=>1000,22839=>1000,22840=>1000,22841=>1000,22842=>1000,22843=>1000,22844=>1000,22845=>1000,22846=>1000,22847=>1000,22848=>1000,22849=>1000,22850=>1000,22851=>1000,22852=>1000,22853=>1000,22854=>1000,22855=>1000,22856=>1000,22857=>1000,22858=>1000,22859=>1000,22860=>1000,22861=>1000,22862=>1000,22863=>1000,22864=>1000,22865=>1000,22866=>1000,22867=>1000,22868=>1000,22869=>1000,22870=>1000,22871=>1000,22872=>1000,22873=>1000,22874=>1000,22875=>1000,22876=>1000,22877=>1000,22878=>1000,22879=>1000,22880=>1000,22881=>1000,22882=>1000,22883=>1000,22884=>1000,22885=>1000,22886=>1000,22887=>1000,22888=>1000,22889=>1000,22890=>1000,22891=>1000,22892=>1000,22893=>1000,22894=>1000,22895=>1000,22896=>1000,22897=>1000,22898=>1000,22899=>1000,22900=>1000,22901=>1000,22902=>1000,22903=>1000,22904=>1000,22905=>1000,22906=>1000,22907=>1000,22908=>1000,22909=>1000,22910=>1000,22911=>1000,22912=>1000,22913=>1000,22914=>1000,22915=>1000,22916=>1000,22917=>1000,22918=>1000,22919=>1000,22920=>1000,22921=>1000,22922=>1000,22923=>1000,22924=>1000,22925=>1000,22926=>1000,22927=>1000,22928=>1000,22929=>1000,22930=>1000,22931=>1000,22932=>1000,22933=>1000,22934=>1000,22935=>1000,22936=>1000,22937=>1000,22938=>1000,22939=>1000,22940=>1000,22941=>1000,22942=>1000,22943=>1000,22944=>1000,22945=>1000,22946=>1000,22947=>1000,22948=>1000,22949=>1000,22950=>1000,22951=>1000,22952=>1000,22953=>1000,22954=>1000,22955=>1000,22956=>1000,22957=>1000,22958=>1000,22959=>1000,22960=>1000,22961=>1000,22962=>1000,22963=>1000,22964=>1000,22965=>1000,22966=>1000,22967=>1000,22968=>1000,22969=>1000,22970=>1000,22971=>1000,22972=>1000,22973=>1000,22974=>1000,22975=>1000,22976=>1000,22977=>1000,22978=>1000,22979=>1000,22980=>1000,22981=>1000,22982=>1000,22983=>1000,22984=>1000,22985=>1000,22986=>1000,22987=>1000,22988=>1000,22989=>1000,22990=>1000,22991=>1000,22992=>1000,22993=>1000,22994=>1000,22995=>1000,22996=>1000,22997=>1000,22998=>1000,22999=>1000,23000=>1000,23001=>1000,23002=>1000,23003=>1000,23004=>1000,23005=>1000,23006=>1000,23007=>1000,23008=>1000,23009=>1000,23010=>1000,23011=>1000,23012=>1000,23013=>1000,23014=>1000,23015=>1000,23016=>1000,23017=>1000,23018=>1000,23019=>1000,23020=>1000,23021=>1000,23022=>1000,23023=>1000,23024=>1000,23025=>1000,23026=>1000,23027=>1000,23028=>1000,23029=>1000,23030=>1000,23031=>1000,23032=>1000,23033=>1000,23034=>1000,23035=>1000,23036=>1000,23037=>1000,23038=>1000,23039=>1000,23040=>1000,23041=>1000,23042=>1000,23043=>1000,23044=>1000,23045=>1000,23046=>1000,23047=>1000,23048=>1000,23049=>1000,23050=>1000,23051=>1000,23052=>1000,23053=>1000,23054=>1000,23055=>1000,23056=>1000,23057=>1000,23058=>1000,23059=>1000,23060=>1000,23061=>1000,23062=>1000,23063=>1000,23064=>1000,23065=>1000,23066=>1000,23067=>1000,23068=>1000,23069=>1000,23070=>1000,23071=>1000,23072=>1000,23073=>1000,23074=>1000,23075=>1000,23076=>1000,23077=>1000,23078=>1000,23079=>1000,23080=>1000,23081=>1000,23082=>1000,23083=>1000,23084=>1000,23085=>1000,23086=>1000,23087=>1000,23088=>1000,23089=>1000,23090=>1000,23091=>1000,23092=>1000,23093=>1000,23094=>1000,23095=>1000,23096=>1000,23097=>1000,23098=>1000,23099=>1000,23100=>1000,23101=>1000,23102=>1000,23103=>1000,23104=>1000,23105=>1000,23106=>1000,23107=>1000,23108=>1000,23109=>1000,23110=>1000,23111=>1000,23112=>1000,23113=>1000,23114=>1000,23115=>1000,23116=>1000,23117=>1000,23118=>1000,23119=>1000,23120=>1000,23121=>1000,23122=>1000,23123=>1000,23124=>1000,23125=>1000,23126=>1000,23127=>1000,23128=>1000,23129=>1000,23130=>1000,23131=>1000,23132=>1000,23133=>1000,23134=>1000,23135=>1000,23136=>1000,23137=>1000,23138=>1000,23139=>1000,23140=>1000,23141=>1000,23142=>1000,23143=>1000,23144=>1000,23145=>1000,23146=>1000,23147=>1000,23148=>1000,23149=>1000,23150=>1000,23151=>1000,23152=>1000,23153=>1000,23154=>1000,23155=>1000,23156=>1000,23157=>1000,23158=>1000,23159=>1000,23160=>1000,23161=>1000,23162=>1000,23163=>1000,23164=>1000,23165=>1000,23166=>1000,23167=>1000,23168=>1000,23169=>1000,23170=>1000,23171=>1000,23172=>1000,23173=>1000,23174=>1000,23175=>1000,23176=>1000,23177=>1000,23178=>1000,23179=>1000,23180=>1000,23181=>1000,23182=>1000,23183=>1000,23184=>1000,23185=>1000,23186=>1000,23187=>1000,23188=>1000,23189=>1000,23190=>1000,23191=>1000,23192=>1000,23193=>1000,23194=>1000,23195=>1000,23196=>1000,23197=>1000,23198=>1000,23199=>1000,23200=>1000,23201=>1000,23202=>1000,23203=>1000,23204=>1000,23205=>1000,23206=>1000,23207=>1000,23208=>1000,23209=>1000,23210=>1000,23211=>1000,23212=>1000,23213=>1000,23214=>1000,23215=>1000,23216=>1000,23217=>1000,23218=>1000,23219=>1000,23220=>1000,23221=>1000,23222=>1000,23223=>1000,23224=>1000,23225=>1000,23226=>1000,23227=>1000,23228=>1000,23229=>1000,23230=>1000,23231=>1000,23232=>1000,23233=>1000,23234=>1000,23235=>1000,23236=>1000,23237=>1000,23238=>1000,23239=>1000,23240=>1000,23241=>1000,23242=>1000,23243=>1000,23244=>1000,23245=>1000,23246=>1000,23247=>1000,23248=>1000,23249=>1000,23250=>1000,23251=>1000,23252=>1000,23253=>1000,23254=>1000,23255=>1000,23256=>1000,23257=>1000,23258=>1000,23259=>1000,23260=>1000,23261=>1000,23262=>1000,23263=>1000,23264=>1000,23265=>1000,23266=>1000,23267=>1000,23268=>1000,23269=>1000,23270=>1000,23271=>1000,23272=>1000,23273=>1000,23274=>1000,23275=>1000,23276=>1000,23277=>1000,23278=>1000,23279=>1000,23280=>1000,23281=>1000,23282=>1000,23283=>1000,23284=>1000,23285=>1000,23286=>1000,23287=>1000,23288=>1000,23289=>1000,23290=>1000,23291=>1000,23292=>1000,23293=>1000,23294=>1000,23295=>1000,23296=>1000,23297=>1000,23298=>1000,23299=>1000,23300=>1000,23301=>1000,23302=>1000,23303=>1000,23304=>1000,23305=>1000,23306=>1000,23307=>1000,23308=>1000,23309=>1000,23310=>1000,23311=>1000,23312=>1000,23313=>1000,23314=>1000,23315=>1000,23316=>1000,23317=>1000,23318=>1000,23319=>1000,23320=>1000,23321=>1000,23322=>1000,23323=>1000,23324=>1000,23325=>1000,23326=>1000,23327=>1000,23328=>1000,23329=>1000,23330=>1000,23331=>1000,23332=>1000,23333=>1000,23334=>1000,23335=>1000,23336=>1000,23337=>1000,23338=>1000,23339=>1000,23340=>1000,23341=>1000,23342=>1000,23343=>1000,23344=>1000,23345=>1000,23346=>1000,23347=>1000,23348=>1000,23349=>1000,23350=>1000,23351=>1000,23352=>1000,23353=>1000,23354=>1000,23355=>1000,23356=>1000,23357=>1000,23358=>1000,23359=>1000,23360=>1000,23361=>1000,23362=>1000,23363=>1000,23364=>1000,23365=>1000,23366=>1000,23367=>1000,23368=>1000,23369=>1000,23370=>1000,23371=>1000,23372=>1000,23373=>1000,23374=>1000,23375=>1000,23376=>1000,23377=>1000,23378=>1000,23379=>1000,23380=>1000,23381=>1000,23382=>1000,23383=>1000,23384=>1000,23385=>1000,23386=>1000,23387=>1000,23388=>1000,23389=>1000,23390=>1000,23391=>1000,23392=>1000,23393=>1000,23394=>1000,23395=>1000,23396=>1000,23397=>1000,23398=>1000,23399=>1000,23400=>1000,23401=>1000,23402=>1000,23403=>1000,23404=>1000,23405=>1000,23406=>1000,23407=>1000,23408=>1000,23409=>1000,23410=>1000,23411=>1000,23412=>1000,23413=>1000,23414=>1000,23415=>1000,23416=>1000,23417=>1000,23418=>1000,23419=>1000,23420=>1000,23421=>1000,23422=>1000,23423=>1000,23424=>1000,23425=>1000,23426=>1000,23427=>1000,23428=>1000,23429=>1000,23430=>1000,23431=>1000,23432=>1000,23433=>1000,23434=>1000,23435=>1000,23436=>1000,23437=>1000,23438=>1000,23439=>1000,23440=>1000,23441=>1000,23442=>1000,23443=>1000,23444=>1000,23445=>1000,23446=>1000,23447=>1000,23448=>1000,23449=>1000,23450=>1000,23451=>1000,23452=>1000,23453=>1000,23454=>1000,23455=>1000,23456=>1000,23457=>1000,23458=>1000,23459=>1000,23460=>1000,23461=>1000,23462=>1000,23463=>1000,23464=>1000,23465=>1000,23466=>1000,23467=>1000,23468=>1000,23469=>1000,23470=>1000,23471=>1000,23472=>1000,23473=>1000,23474=>1000,23475=>1000,23476=>1000,23477=>1000,23478=>1000,23479=>1000,23480=>1000,23481=>1000,23482=>1000,23483=>1000,23484=>1000,23485=>1000,23486=>1000,23487=>1000,23488=>1000,23489=>1000,23490=>1000,23491=>1000,23492=>1000,23493=>1000,23494=>1000,23495=>1000,23496=>1000,23497=>1000,23498=>1000,23499=>1000,23500=>1000,23501=>1000,23502=>1000,23503=>1000,23504=>1000,23505=>1000,23506=>1000,23507=>1000,23508=>1000,23509=>1000,23510=>1000,23511=>1000,23512=>1000,23513=>1000,23514=>1000,23515=>1000,23516=>1000,23517=>1000,23518=>1000,23519=>1000,23520=>1000,23521=>1000,23522=>1000,23523=>1000,23524=>1000,23525=>1000,23526=>1000,23527=>1000,23528=>1000,23529=>1000,23530=>1000,23531=>1000,23532=>1000,23533=>1000,23534=>1000,23535=>1000,23536=>1000,23537=>1000,23538=>1000,23539=>1000,23540=>1000,23541=>1000,23542=>1000,23543=>1000,23544=>1000,23545=>1000,23546=>1000,23547=>1000,23548=>1000,23549=>1000,23550=>1000,23551=>1000,23552=>1000,23553=>1000,23554=>1000,23555=>1000,23556=>1000,23557=>1000,23558=>1000,23559=>1000,23560=>1000,23561=>1000,23562=>1000,23563=>1000,23564=>1000,23565=>1000,23566=>1000,23567=>1000,23568=>1000,23569=>1000,23570=>1000,23571=>1000,23572=>1000,23573=>1000,23574=>1000,23575=>1000,23576=>1000,23577=>1000,23578=>1000,23579=>1000,23580=>1000,23581=>1000,23582=>1000,23583=>1000,23584=>1000,23585=>1000,23586=>1000,23587=>1000,23588=>1000,23589=>1000,23590=>1000,23591=>1000,23592=>1000,23593=>1000,23594=>1000,23595=>1000,23596=>1000,23597=>1000,23598=>1000,23599=>1000,23600=>1000,23601=>1000,23602=>1000,23603=>1000,23604=>1000,23605=>1000,23606=>1000,23607=>1000,23608=>1000,23609=>1000,23610=>1000,23611=>1000,23612=>1000,23613=>1000,23614=>1000,23615=>1000,23616=>1000,23617=>1000,23618=>1000,23619=>1000,23620=>1000,23621=>1000,23622=>1000,23623=>1000,23624=>1000,23625=>1000,23626=>1000,23627=>1000,23628=>1000,23629=>1000,23630=>1000,23631=>1000,23632=>1000,23633=>1000,23634=>1000,23635=>1000,23636=>1000,23637=>1000,23638=>1000,23639=>1000,23640=>1000,23641=>1000,23642=>1000,23643=>1000,23644=>1000,23645=>1000,23646=>1000,23647=>1000,23648=>1000,23649=>1000,23650=>1000,23651=>1000,23652=>1000,23653=>1000,23654=>1000,23655=>1000,23656=>1000,23657=>1000,23658=>1000,23659=>1000,23660=>1000,23661=>1000,23662=>1000,23663=>1000,23664=>1000,23665=>1000,23666=>1000,23667=>1000,23668=>1000,23669=>1000,23670=>1000,23671=>1000,23672=>1000,23673=>1000,23674=>1000,23675=>1000,23676=>1000,23677=>1000,23678=>1000,23679=>1000,23680=>1000,23681=>1000,23682=>1000,23683=>1000,23684=>1000,23685=>1000,23686=>1000,23687=>1000,23688=>1000,23689=>1000,23690=>1000,23691=>1000,23692=>1000,23693=>1000,23694=>1000,23695=>1000,23696=>1000,23697=>1000,23698=>1000,23699=>1000,23700=>1000,23701=>1000,23702=>1000,23703=>1000,23704=>1000,23705=>1000,23706=>1000,23707=>1000,23708=>1000,23709=>1000,23710=>1000,23711=>1000,23712=>1000,23713=>1000,23714=>1000,23715=>1000,23716=>1000,23717=>1000,23718=>1000,23719=>1000,23720=>1000,23721=>1000,23722=>1000,23723=>1000,23724=>1000,23725=>1000,23726=>1000,23727=>1000,23728=>1000,23729=>1000,23730=>1000,23731=>1000,23732=>1000,23733=>1000,23734=>1000,23735=>1000,23736=>1000,23737=>1000,23738=>1000,23739=>1000,23740=>1000,23741=>1000,23742=>1000,23743=>1000,23744=>1000,23745=>1000,23746=>1000,23747=>1000,23748=>1000,23749=>1000,23750=>1000,23751=>1000,23752=>1000,23753=>1000,23754=>1000,23755=>1000,23756=>1000,23757=>1000,23758=>1000,23759=>1000,23760=>1000,23761=>1000,23762=>1000,23763=>1000,23764=>1000,23765=>1000,23766=>1000,23767=>1000,23768=>1000,23769=>1000,23770=>1000,23771=>1000,23772=>1000,23773=>1000,23774=>1000,23775=>1000,23776=>1000,23777=>1000,23778=>1000,23779=>1000,23780=>1000,23781=>1000,23782=>1000,23783=>1000,23784=>1000,23785=>1000,23786=>1000,23787=>1000,23788=>1000,23789=>1000,23790=>1000,23791=>1000,23792=>1000,23793=>1000,23794=>1000,23795=>1000,23796=>1000,23797=>1000,23798=>1000,23799=>1000,23800=>1000,23801=>1000,23802=>1000,23803=>1000,23804=>1000,23805=>1000,23806=>1000,23807=>1000,23808=>1000,23809=>1000,23810=>1000,23811=>1000,23812=>1000,23813=>1000,23814=>1000,23815=>1000,23816=>1000,23817=>1000,23818=>1000,23819=>1000,23820=>1000,23821=>1000,23822=>1000,23823=>1000,23824=>1000,23825=>1000,23826=>1000,23827=>1000,23828=>1000,23829=>1000,23830=>1000,23831=>1000,23832=>1000,23833=>1000,23834=>1000,23835=>1000,23836=>1000,23837=>1000,23838=>1000,23839=>1000,23840=>1000,23841=>1000,23842=>1000,23843=>1000,23844=>1000,23845=>1000,23846=>1000,23847=>1000,23848=>1000,23849=>1000,23850=>1000,23851=>1000,23852=>1000,23853=>1000,23854=>1000,23855=>1000,23856=>1000,23857=>1000,23858=>1000,23859=>1000,23860=>1000,23861=>1000,23862=>1000,23863=>1000,23864=>1000,23865=>1000,23866=>1000,23867=>1000,23868=>1000,23869=>1000,23870=>1000,23871=>1000,23872=>1000,23873=>1000,23874=>1000,23875=>1000,23876=>1000,23877=>1000,23878=>1000,23879=>1000,23880=>1000,23881=>1000,23882=>1000,23883=>1000,23884=>1000,23885=>1000,23886=>1000,23887=>1000,23888=>1000,23889=>1000,23890=>1000,23891=>1000,23892=>1000,23893=>1000,23894=>1000,23895=>1000,23896=>1000,23897=>1000,23898=>1000,23899=>1000,23900=>1000,23901=>1000,23902=>1000,23903=>1000,23904=>1000,23905=>1000,23906=>1000,23907=>1000,23908=>1000,23909=>1000,23910=>1000,23911=>1000,23912=>1000,23913=>1000,23914=>1000,23915=>1000,23916=>1000,23917=>1000,23918=>1000,23919=>1000,23920=>1000,23921=>1000,23922=>1000,23923=>1000,23924=>1000,23925=>1000,23926=>1000,23927=>1000,23928=>1000,23929=>1000,23930=>1000,23931=>1000,23932=>1000,23933=>1000,23934=>1000,23935=>1000,23936=>1000,23937=>1000,23938=>1000,23939=>1000,23940=>1000,23941=>1000,23942=>1000,23943=>1000,23944=>1000,23945=>1000,23946=>1000,23947=>1000,23948=>1000,23949=>1000,23950=>1000,23951=>1000,23952=>1000,23953=>1000,23954=>1000,23955=>1000,23956=>1000,23957=>1000,23958=>1000,23959=>1000,23960=>1000,23961=>1000,23962=>1000,23963=>1000,23964=>1000,23965=>1000,23966=>1000,23967=>1000,23968=>1000,23969=>1000,23970=>1000,23971=>1000,23972=>1000,23973=>1000,23974=>1000,23975=>1000,23976=>1000,23977=>1000,23978=>1000,23979=>1000,23980=>1000,23981=>1000,23982=>1000,23983=>1000,23984=>1000,23985=>1000,23986=>1000,23987=>1000,23988=>1000,23989=>1000,23990=>1000,23991=>1000,23992=>1000,23993=>1000,23994=>1000,23995=>1000,23996=>1000,23997=>1000,23998=>1000,23999=>1000,24000=>1000,24001=>1000,24002=>1000,24003=>1000,24004=>1000,24005=>1000,24006=>1000,24007=>1000,24008=>1000,24009=>1000,24010=>1000,24011=>1000,24012=>1000,24013=>1000,24014=>1000,24015=>1000,24016=>1000,24017=>1000,24018=>1000,24019=>1000,24020=>1000,24021=>1000,24022=>1000,24023=>1000,24024=>1000,24025=>1000,24026=>1000,24027=>1000,24028=>1000,24029=>1000,24030=>1000,24031=>1000,24032=>1000,24033=>1000,24034=>1000,24035=>1000,24036=>1000,24037=>1000,24038=>1000,24039=>1000,24040=>1000,24041=>1000,24042=>1000,24043=>1000,24044=>1000,24045=>1000,24046=>1000,24047=>1000,24048=>1000,24049=>1000,24050=>1000,24051=>1000,24052=>1000,24053=>1000,24054=>1000,24055=>1000,24056=>1000,24057=>1000,24058=>1000,24059=>1000,24060=>1000,24061=>1000,24062=>1000,24063=>1000,24064=>1000,24065=>1000,24066=>1000,24067=>1000,24068=>1000,24069=>1000,24070=>1000,24071=>1000,24072=>1000,24073=>1000,24074=>1000,24075=>1000,24076=>1000,24077=>1000,24078=>1000,24079=>1000,24080=>1000,24081=>1000,24082=>1000,24083=>1000,24084=>1000,24085=>1000,24086=>1000,24087=>1000,24088=>1000,24089=>1000,24090=>1000,24091=>1000,24092=>1000,24093=>1000,24094=>1000,24095=>1000,24096=>1000,24097=>1000,24098=>1000,24099=>1000,24100=>1000,24101=>1000,24102=>1000,24103=>1000,24104=>1000,24105=>1000,24106=>1000,24107=>1000,24108=>1000,24109=>1000,24110=>1000,24111=>1000,24112=>1000,24113=>1000,24114=>1000,24115=>1000,24116=>1000,24117=>1000,24118=>1000,24119=>1000,24120=>1000,24121=>1000,24122=>1000,24123=>1000,24124=>1000,24125=>1000,24126=>1000,24127=>1000,24128=>1000,24129=>1000,24130=>1000,24131=>1000,24132=>1000,24133=>1000,24134=>1000,24135=>1000,24136=>1000,24137=>1000,24138=>1000,24139=>1000,24140=>1000,24141=>1000,24142=>1000,24143=>1000,24144=>1000,24145=>1000,24146=>1000,24147=>1000,24148=>1000,24149=>1000,24150=>1000,24151=>1000,24152=>1000,24153=>1000,24154=>1000,24155=>1000,24156=>1000,24157=>1000,24158=>1000,24159=>1000,24160=>1000,24161=>1000,24162=>1000,24163=>1000,24164=>1000,24165=>1000,24166=>1000,24167=>1000,24168=>1000,24169=>1000,24170=>1000,24171=>1000,24172=>1000,24173=>1000,24174=>1000,24175=>1000,24176=>1000,24177=>1000,24178=>1000,24179=>1000,24180=>1000,24181=>1000,24182=>1000,24183=>1000,24184=>1000,24185=>1000,24186=>1000,24187=>1000,24188=>1000,24189=>1000,24190=>1000,24191=>1000,24192=>1000,24193=>1000,24194=>1000,24195=>1000,24196=>1000,24197=>1000,24198=>1000,24199=>1000,24200=>1000,24201=>1000,24202=>1000,24203=>1000,24204=>1000,24205=>1000,24206=>1000,24207=>1000,24208=>1000,24209=>1000,24210=>1000,24211=>1000,24212=>1000,24213=>1000,24214=>1000,24215=>1000,24216=>1000,24217=>1000,24218=>1000,24219=>1000,24220=>1000,24221=>1000,24222=>1000,24223=>1000,24224=>1000,24225=>1000,24226=>1000,24227=>1000,24228=>1000,24229=>1000,24230=>1000,24231=>1000,24232=>1000,24233=>1000,24234=>1000,24235=>1000,24236=>1000,24237=>1000,24238=>1000,24239=>1000,24240=>1000,24241=>1000,24242=>1000,24243=>1000,24244=>1000,24245=>1000,24246=>1000,24247=>1000,24248=>1000,24249=>1000,24250=>1000,24251=>1000,24252=>1000,24253=>1000,24254=>1000,24255=>1000,24256=>1000,24257=>1000,24258=>1000,24259=>1000,24260=>1000,24261=>1000,24262=>1000,24263=>1000,24264=>1000,24265=>1000,24266=>1000,24267=>1000,24268=>1000,24269=>1000,24270=>1000,24271=>1000,24272=>1000,24273=>1000,24274=>1000,24275=>1000,24276=>1000,24277=>1000,24278=>1000,24279=>1000,24280=>1000,24281=>1000,24282=>1000,24283=>1000,24284=>1000,24285=>1000,24286=>1000,24287=>1000,24288=>1000,24289=>1000,24290=>1000,24291=>1000,24292=>1000,24293=>1000,24294=>1000,24295=>1000,24296=>1000,24297=>1000,24298=>1000,24299=>1000,24300=>1000,24301=>1000,24302=>1000,24303=>1000,24304=>1000,24305=>1000,24306=>1000,24307=>1000,24308=>1000,24309=>1000,24310=>1000,24311=>1000,24312=>1000,24313=>1000,24314=>1000,24315=>1000,24316=>1000,24317=>1000,24318=>1000,24319=>1000,24320=>1000,24321=>1000,24322=>1000,24323=>1000,24324=>1000,24325=>1000,24326=>1000,24327=>1000,24328=>1000,24329=>1000,24330=>1000,24331=>1000,24332=>1000,24333=>1000,24334=>1000,24335=>1000,24336=>1000,24337=>1000,24338=>1000,24339=>1000,24340=>1000,24341=>1000,24342=>1000,24343=>1000,24344=>1000,24345=>1000,24346=>1000,24347=>1000,24348=>1000,24349=>1000,24350=>1000,24351=>1000,24352=>1000,24353=>1000,24354=>1000,24355=>1000,24356=>1000,24357=>1000,24358=>1000,24359=>1000,24360=>1000,24361=>1000,24362=>1000,24363=>1000,24364=>1000,24365=>1000,24366=>1000,24367=>1000,24368=>1000,24369=>1000,24370=>1000,24371=>1000,24372=>1000,24373=>1000,24374=>1000,24375=>1000,24376=>1000,24377=>1000,24378=>1000,24379=>1000,24380=>1000,24381=>1000,24382=>1000,24383=>1000,24384=>1000,24385=>1000,24386=>1000,24387=>1000,24388=>1000,24389=>1000,24390=>1000,24391=>1000,24392=>1000,24393=>1000,24394=>1000,24395=>1000,24396=>1000,24397=>1000,24398=>1000,24399=>1000,24400=>1000,24401=>1000,24402=>1000,24403=>1000,24404=>1000,24405=>1000,24406=>1000,24407=>1000,24408=>1000,24409=>1000,24410=>1000,24411=>1000,24412=>1000,24413=>1000,24414=>1000,24415=>1000,24416=>1000,24417=>1000,24418=>1000,24419=>1000,24420=>1000,24421=>1000,24422=>1000,24423=>1000,24424=>1000,24425=>1000,24426=>1000,24427=>1000,24428=>1000,24429=>1000,24430=>1000,24431=>1000,24432=>1000,24433=>1000,24434=>1000,24435=>1000,24436=>1000,24437=>1000,24438=>1000,24439=>1000,24440=>1000,24441=>1000,24442=>1000,24443=>1000,24444=>1000,24445=>1000,24446=>1000,24447=>1000,24448=>1000,24449=>1000,24450=>1000,24451=>1000,24452=>1000,24453=>1000,24454=>1000,24455=>1000,24456=>1000,24457=>1000,24458=>1000,24459=>1000,24460=>1000,24461=>1000,24462=>1000,24463=>1000,24464=>1000,24465=>1000,24466=>1000,24467=>1000,24468=>1000,24469=>1000,24470=>1000,24471=>1000,24472=>1000,24473=>1000,24474=>1000,24475=>1000,24476=>1000,24477=>1000,24478=>1000,24479=>1000,24480=>1000,24481=>1000,24482=>1000,24483=>1000,24484=>1000,24485=>1000,24486=>1000,24487=>1000,24488=>1000,24489=>1000,24490=>1000,24491=>1000,24492=>1000,24493=>1000,24494=>1000,24495=>1000,24496=>1000,24497=>1000,24498=>1000,24499=>1000,24500=>1000,24501=>1000,24502=>1000,24503=>1000,24504=>1000,24505=>1000,24506=>1000,24507=>1000,24508=>1000,24509=>1000,24510=>1000,24511=>1000,24512=>1000,24513=>1000,24514=>1000,24515=>1000,24516=>1000,24517=>1000,24518=>1000,24519=>1000,24520=>1000,24521=>1000,24522=>1000,24523=>1000,24524=>1000,24525=>1000,24526=>1000,24527=>1000,24528=>1000,24529=>1000,24530=>1000,24531=>1000,24532=>1000,24533=>1000,24534=>1000,24535=>1000,24536=>1000,24537=>1000,24538=>1000,24539=>1000,24540=>1000,24541=>1000,24542=>1000,24543=>1000,24544=>1000,24545=>1000,24546=>1000,24547=>1000,24548=>1000,24549=>1000,24550=>1000,24551=>1000,24552=>1000,24553=>1000,24554=>1000,24555=>1000,24556=>1000,24557=>1000,24558=>1000,24559=>1000,24560=>1000,24561=>1000,24562=>1000,24563=>1000,24564=>1000,24565=>1000,24566=>1000,24567=>1000,24568=>1000,24569=>1000,24570=>1000,24571=>1000,24572=>1000,24573=>1000,24574=>1000,24575=>1000,24576=>1000,24577=>1000,24578=>1000,24579=>1000,24580=>1000,24581=>1000,24582=>1000,24583=>1000,24584=>1000,24585=>1000,24586=>1000,24587=>1000,24588=>1000,24589=>1000,24590=>1000,24591=>1000,24592=>1000,24593=>1000,24594=>1000,24595=>1000,24596=>1000,24597=>1000,24598=>1000,24599=>1000,24600=>1000,24601=>1000,24602=>1000,24603=>1000,24604=>1000,24605=>1000,24606=>1000,24607=>1000,24608=>1000,24609=>1000,24610=>1000,24611=>1000,24612=>1000,24613=>1000,24614=>1000,24615=>1000,24616=>1000,24617=>1000,24618=>1000,24619=>1000,24620=>1000,24621=>1000,24622=>1000,24623=>1000,24624=>1000,24625=>1000,24626=>1000,24627=>1000,24628=>1000,24629=>1000,24630=>1000,24631=>1000,24632=>1000,24633=>1000,24634=>1000,24635=>1000,24636=>1000,24637=>1000,24638=>1000,24639=>1000,24640=>1000,24641=>1000,24642=>1000,24643=>1000,24644=>1000,24645=>1000,24646=>1000,24647=>1000,24648=>1000,24649=>1000,24650=>1000,24651=>1000,24652=>1000,24653=>1000,24654=>1000,24655=>1000,24656=>1000,24657=>1000,24658=>1000,24659=>1000,24660=>1000,24661=>1000,24662=>1000,24663=>1000,24664=>1000,24665=>1000,24666=>1000,24667=>1000,24668=>1000,24669=>1000,24670=>1000,24671=>1000,24672=>1000,24673=>1000,24674=>1000,24675=>1000,24676=>1000,24677=>1000,24678=>1000,24679=>1000,24680=>1000,24681=>1000,24682=>1000,24683=>1000,24684=>1000,24685=>1000,24686=>1000,24687=>1000,24688=>1000,24689=>1000,24690=>1000,24691=>1000,24692=>1000,24693=>1000,24694=>1000,24695=>1000,24696=>1000,24697=>1000,24698=>1000,24699=>1000,24700=>1000,24701=>1000,24702=>1000,24703=>1000,24704=>1000,24705=>1000,24706=>1000,24707=>1000,24708=>1000,24709=>1000,24710=>1000,24711=>1000,24712=>1000,24713=>1000,24714=>1000,24715=>1000,24716=>1000,24717=>1000,24718=>1000,24719=>1000,24720=>1000,24721=>1000,24722=>1000,24723=>1000,24724=>1000,24725=>1000,24726=>1000,24727=>1000,24728=>1000,24729=>1000,24730=>1000,24731=>1000,24732=>1000,24733=>1000,24734=>1000,24735=>1000,24736=>1000,24737=>1000,24738=>1000,24739=>1000,24740=>1000,24741=>1000,24742=>1000,24743=>1000,24744=>1000,24745=>1000,24746=>1000,24747=>1000,24748=>1000,24749=>1000,24750=>1000,24751=>1000,24752=>1000,24753=>1000,24754=>1000,24755=>1000,24756=>1000,24757=>1000,24758=>1000,24759=>1000,24760=>1000,24761=>1000,24762=>1000,24763=>1000,24764=>1000,24765=>1000,24766=>1000,24767=>1000,24768=>1000,24769=>1000,24770=>1000,24771=>1000,24772=>1000,24773=>1000,24774=>1000,24775=>1000,24776=>1000,24777=>1000,24778=>1000,24779=>1000,24780=>1000,24781=>1000,24782=>1000,24783=>1000,24784=>1000,24785=>1000,24786=>1000,24787=>1000,24788=>1000,24789=>1000,24790=>1000,24791=>1000,24792=>1000,24793=>1000,24794=>1000,24795=>1000,24796=>1000,24797=>1000,24798=>1000,24799=>1000,24800=>1000,24801=>1000,24802=>1000,24803=>1000,24804=>1000,24805=>1000,24806=>1000,24807=>1000,24808=>1000,24809=>1000,24810=>1000,24811=>1000,24812=>1000,24813=>1000,24814=>1000,24815=>1000,24816=>1000,24817=>1000,24818=>1000,24819=>1000,24820=>1000,24821=>1000,24822=>1000,24823=>1000,24824=>1000,24825=>1000,24826=>1000,24827=>1000,24828=>1000,24829=>1000,24830=>1000,24831=>1000,24832=>1000,24833=>1000,24834=>1000,24835=>1000,24836=>1000,24837=>1000,24838=>1000,24839=>1000,24840=>1000,24841=>1000,24842=>1000,24843=>1000,24844=>1000,24845=>1000,24846=>1000,24847=>1000,24848=>1000,24849=>1000,24850=>1000,24851=>1000,24852=>1000,24853=>1000,24854=>1000,24855=>1000,24856=>1000,24857=>1000,24858=>1000,24859=>1000,24860=>1000,24861=>1000,24862=>1000,24863=>1000,24864=>1000,24865=>1000,24866=>1000,24867=>1000,24868=>1000,24869=>1000,24870=>1000,24871=>1000,24872=>1000,24873=>1000,24874=>1000,24875=>1000,24876=>1000,24877=>1000,24878=>1000,24879=>1000,24880=>1000,24881=>1000,24882=>1000,24883=>1000,24884=>1000,24885=>1000,24886=>1000,24887=>1000,24888=>1000,24889=>1000,24890=>1000,24891=>1000,24892=>1000,24893=>1000,24894=>1000,24895=>1000,24896=>1000,24897=>1000,24898=>1000,24899=>1000,24900=>1000,24901=>1000,24902=>1000,24903=>1000,24904=>1000,24905=>1000,24906=>1000,24907=>1000,24908=>1000,24909=>1000,24910=>1000,24911=>1000,24912=>1000,24913=>1000,24914=>1000,24915=>1000,24916=>1000,24917=>1000,24918=>1000,24919=>1000,24920=>1000,24921=>1000,24922=>1000,24923=>1000,24924=>1000,24925=>1000,24926=>1000,24927=>1000,24928=>1000,24929=>1000,24930=>1000,24931=>1000,24932=>1000,24933=>1000,24934=>1000,24935=>1000,24936=>1000,24937=>1000,24938=>1000,24939=>1000,24940=>1000,24941=>1000,24942=>1000,24943=>1000,24944=>1000,24945=>1000,24946=>1000,24947=>1000,24948=>1000,24949=>1000,24950=>1000,24951=>1000,24952=>1000,24953=>1000,24954=>1000,24955=>1000,24956=>1000,24957=>1000,24958=>1000,24959=>1000,24960=>1000,24961=>1001,24962=>1000,24963=>1000,24964=>1000,24965=>1000,24966=>1000,24967=>1000,24968=>1000,24969=>1000,24970=>1000,24971=>1000,24972=>1000,24973=>1000,24974=>1000,24975=>1000,24976=>1000,24977=>1000,24978=>1000,24979=>1000,24980=>1000,24981=>1000,24982=>1000,24983=>1000,24984=>1000,24985=>1000,24986=>1000,24987=>1000,24988=>1000,24989=>1000,24990=>1000,24991=>1000,24992=>1000,24993=>1000,24994=>1000,24995=>1000,24996=>1000,24997=>1000,24998=>1000,24999=>1000,25000=>1000,25001=>1000,25002=>1000,25003=>1000,25004=>1000,25005=>1000,25006=>1000,25007=>1000,25008=>1000,25009=>1000,25010=>1000,25011=>1000,25012=>1000,25013=>1000,25014=>1000,25015=>1000,25016=>1000,25017=>1000,25018=>1000,25019=>1000,25020=>1000,25021=>1000,25022=>1000,25023=>1000,25024=>1000,25025=>1000,25026=>1000,25027=>1000,25028=>1000,25029=>1000,25030=>1000,25031=>1000,25032=>1000,25033=>1000,25034=>1000,25035=>1000,25036=>1000,25037=>1000,25038=>1000,25039=>1000,25040=>1000,25041=>1000,25042=>1000,25043=>1000,25044=>1000,25045=>1000,25046=>1000,25047=>1000,25048=>1000,25049=>1000,25050=>1000,25051=>1000,25052=>1000,25053=>1000,25054=>1000,25055=>1000,25056=>1000,25057=>1000,25058=>1000,25059=>1000,25060=>1000,25061=>1000,25062=>1000,25063=>1000,25064=>1000,25065=>1000,25066=>1000,25067=>1000,25068=>1000,25069=>1000,25070=>1000,25071=>1000,25072=>1000,25073=>1000,25074=>1000,25075=>1000,25076=>1000,25077=>1000,25078=>1000,25079=>1000,25080=>1000,25081=>1000,25082=>1000,25083=>1000,25084=>1000,25085=>1000,25086=>1000,25087=>1000,25088=>1000,25089=>1000,25090=>1000,25091=>1000,25092=>1000,25093=>1000,25094=>1000,25095=>1000,25096=>1000,25097=>1000,25098=>1000,25099=>1000,25100=>1000,25101=>1000,25102=>1000,25103=>1000,25104=>1000,25105=>1000,25106=>1000,25107=>1000,25108=>1000,25109=>1000,25110=>1000,25111=>1000,25112=>1000,25113=>1000,25114=>1000,25115=>1000,25116=>1000,25117=>1000,25118=>1000,25119=>1000,25120=>1000,25121=>1000,25122=>1000,25123=>1000,25124=>1000,25125=>1000,25126=>1000,25127=>1000,25128=>1000,25129=>1000,25130=>1000,25131=>1000,25132=>1000,25133=>1000,25134=>1000,25135=>1000,25136=>1000,25137=>1000,25138=>1000,25139=>1000,25140=>1000,25141=>1000,25142=>1000,25143=>1000,25144=>1000,25145=>1000,25146=>1000,25147=>1000,25148=>1000,25149=>1000,25150=>1000,25151=>1000,25152=>1000,25153=>1000,25154=>1000,25155=>1000,25156=>1000,25157=>1000,25158=>1000,25159=>1000,25160=>1000,25161=>1000,25162=>1000,25163=>1000,25164=>1000,25165=>1000,25166=>1000,25167=>1000,25168=>1000,25169=>1000,25170=>1000,25171=>1000,25172=>1000,25173=>1000,25174=>1000,25175=>1000,25176=>1000,25177=>1000,25178=>1000,25179=>1000,25180=>1000,25181=>1000,25182=>1000,25183=>1000,25184=>1000,25185=>1000,25186=>1000,25187=>1000,25188=>1000,25189=>1000,25190=>1000,25191=>1000,25192=>1000,25193=>1000,25194=>1000,25195=>1000,25196=>1000,25197=>1000,25198=>1000,25199=>1000,25200=>1000,25201=>1000,25202=>1000,25203=>1000,25204=>1000,25205=>1000,25206=>1000,25207=>1000,25208=>1000,25209=>1000,25210=>1000,25211=>1000,25212=>1000,25213=>1000,25214=>1000,25215=>1000,25216=>1000,25217=>1000,25218=>1000,25219=>1000,25220=>1000,25221=>1000,25222=>1000,25223=>1000,25224=>1000,25225=>1000,25226=>1000,25227=>1000,25228=>1000,25229=>1000,25230=>1000,25231=>1000,25232=>1000,25233=>1000,25234=>1000,25235=>1000,25236=>1000,25237=>1000,25238=>1000,25239=>1000,25240=>1000,25241=>1000,25242=>1000,25243=>1000,25244=>1000,25245=>1000,25246=>1000,25247=>1000,25248=>1000,25249=>1000,25250=>1000,25251=>1000,25252=>1000,25253=>1000,25254=>1000,25255=>1000,25256=>1000,25257=>1000,25258=>1000,25259=>1000,25260=>1000,25261=>1000,25262=>1000,25263=>1000,25264=>1000,25265=>1000,25266=>1000,25267=>1000,25268=>1000,25269=>1000,25270=>1000,25271=>1000,25272=>1000,25273=>1000,25274=>1000,25275=>1000,25276=>1000,25277=>1000,25278=>1000,25279=>1000,25280=>1000,25281=>1000,25282=>1000,25283=>1000,25284=>1000,25285=>1000,25286=>1000,25287=>1000,25288=>1000,25289=>1000,25290=>1000,25291=>1000,25292=>1000,25293=>1000,25294=>1000,25295=>1000,25296=>1000,25297=>1000,25298=>1000,25299=>1000,25300=>1000,25301=>1000,25302=>1000,25303=>1000,25304=>1000,25305=>1000,25306=>1000,25307=>1000,25308=>1000,25309=>1000,25310=>1000,25311=>1000,25312=>1000,25313=>1000,25314=>1000,25315=>1000,25316=>1000,25317=>1000,25318=>1000,25319=>1000,25320=>1000,25321=>1000,25322=>1000,25323=>1000,25324=>1000,25325=>1000,25326=>1000,25327=>1000,25328=>1000,25329=>1000,25330=>1000,25331=>1000,25332=>1000,25333=>1000,25334=>1000,25335=>1000,25336=>1000,25337=>1000,25338=>1000,25339=>1000,25340=>1000,25341=>1000,25342=>1000,25343=>1000,25344=>1000,25345=>1000,25346=>1000,25347=>1000,25348=>1000,25349=>1000,25350=>1000,25351=>1000,25352=>1000,25353=>1000,25354=>1000,25355=>1000,25356=>1000,25357=>1000,25358=>1000,25359=>1000,25360=>1000,25361=>1000,25362=>1000,25363=>1000,25364=>1000,25365=>1000,25366=>1000,25367=>1000,25368=>1000,25369=>1000,25370=>1000,25371=>1000,25372=>1000,25373=>1000,25374=>1000,25375=>1000,25376=>1000,25377=>1000,25378=>1000,25379=>1000,25380=>1000,25381=>1000,25382=>1000,25383=>1000,25384=>1000,25385=>1000,25386=>1000,25387=>1000,25388=>1000,25389=>1000,25390=>1000,25391=>1000,25392=>1000,25393=>1000,25394=>1000,25395=>1000,25396=>1000,25397=>1000,25398=>1000,25399=>1000,25400=>1000,25401=>1000,25402=>1000,25403=>1000,25404=>1000,25405=>1000,25406=>1000,25407=>1000,25408=>1000,25409=>1000,25410=>1000,25411=>1000,25412=>1000,25413=>1000,25414=>1000,25415=>1000,25416=>1000,25417=>1000,25418=>1000,25419=>1000,25420=>1000,25421=>1000,25422=>1000,25423=>1000,25424=>1000,25425=>1000,25426=>1000,25427=>1000,25428=>1000,25429=>1000,25430=>1000,25431=>1000,25432=>1000,25433=>1000,25434=>1000,25435=>1000,25436=>1000,25437=>1000,25438=>1000,25439=>1000,25440=>1000,25441=>1000,25442=>1000,25443=>1000,25444=>1000,25445=>1000,25446=>1000,25447=>1000,25448=>1000,25449=>1000,25450=>1000,25451=>1000,25452=>1000,25453=>1000,25454=>1000,25455=>1000,25456=>1000,25457=>1000,25458=>1000,25459=>1000,25460=>1000,25461=>1000,25462=>1000,25463=>1000,25464=>1000,25465=>1000,25466=>1000,25467=>1000,25468=>1000,25469=>1000,25470=>1000,25471=>1000,25472=>1000,25473=>1000,25474=>1000,25475=>1000,25476=>1000,25477=>1000,25478=>1000,25479=>1000,25480=>1000,25481=>1000,25482=>1000,25483=>1000,25484=>1000,25485=>1000,25486=>1000,25487=>1000,25488=>1000,25489=>1000,25490=>1000,25491=>1000,25492=>1000,25493=>1000,25494=>1000,25495=>1000,25496=>1000,25497=>1000,25498=>1000,25499=>1000,25500=>1000,25501=>1000,25502=>1000,25503=>1000,25504=>1000,25505=>1000,25506=>1000,25507=>1000,25508=>1000,25509=>1000,25510=>1000,25511=>1000,25512=>1000,25513=>1000,25514=>1000,25515=>1000,25516=>1000,25517=>1000,25518=>1000,25519=>1000,25520=>1000,25521=>1000,25522=>1000,25523=>1000,25524=>1000,25525=>1000,25526=>1000,25527=>1000,25528=>1000,25529=>1000,25530=>1000,25531=>1000,25532=>1000,25533=>1000,25534=>1000,25535=>1000,25536=>1000,25537=>1000,25538=>1000,25539=>1000,25540=>1000,25541=>1000,25542=>1000,25543=>1000,25544=>1000,25545=>1000,25546=>1000,25547=>1000,25548=>1000,25549=>1000,25550=>1000,25551=>1000,25552=>1000,25553=>1000,25554=>1000,25555=>1000,25556=>1000,25557=>1000,25558=>1000,25559=>1000,25560=>1000,25561=>1000,25562=>1000,25563=>1000,25564=>1000,25565=>1000,25566=>1000,25567=>1000,25568=>1000,25569=>1000,25570=>1000,25571=>1000,25572=>1000,25573=>1000,25574=>1000,25575=>1000,25576=>1000,25577=>1000,25578=>1000,25579=>1000,25580=>1000,25581=>1000,25582=>1000,25583=>1000,25584=>1000,25585=>1000,25586=>1000,25587=>1000,25588=>1000,25589=>1000,25590=>1000,25591=>1000,25592=>1000,25593=>1000,25594=>1000,25595=>1000,25596=>1000,25597=>1000,25598=>1000,25599=>1000,25600=>1000,25601=>1000,25602=>1000,25603=>1000,25604=>1000,25605=>1000,25606=>1000,25607=>1000,25608=>1000,25609=>1000,25610=>1000,25611=>1000,25612=>1000,25613=>1000,25614=>1000,25615=>1000,25616=>1000,25617=>1000,25618=>1000,25619=>1000,25620=>1000,25621=>1000,25622=>1000,25623=>1000,25624=>1000,25625=>1000,25626=>1000,25627=>1000,25628=>1000,25629=>1000,25630=>1000,25631=>1000,25632=>1000,25633=>1000,25634=>1000,25635=>1000,25636=>1000,25637=>1000,25638=>1000,25639=>1000,25640=>1000,25641=>1000,25642=>1000,25643=>1000,25644=>1000,25645=>1000,25646=>1000,25647=>1000,25648=>1000,25649=>1000,25650=>1000,25651=>1000,25652=>1000,25653=>1000,25654=>1000,25655=>1000,25656=>1000,25657=>1000,25658=>1000,25659=>1000,25660=>1000,25661=>1000,25662=>1000,25663=>1000,25664=>1000,25665=>1000,25666=>1000,25667=>1000,25668=>1000,25669=>1000,25670=>1000,25671=>1000,25672=>1000,25673=>1000,25674=>1000,25675=>1000,25676=>1000,25677=>1000,25678=>1000,25679=>1000,25680=>1000,25681=>1000,25682=>1000,25683=>1000,25684=>1000,25685=>1000,25686=>1000,25687=>1000,25688=>1000,25689=>1000,25690=>1000,25691=>1000,25692=>1000,25693=>1000,25694=>1000,25695=>1000,25696=>1000,25697=>1000,25698=>1000,25699=>1000,25700=>1000,25701=>1000,25702=>1000,25703=>1000,25704=>1000,25705=>1000,25706=>1000,25707=>1000,25708=>1000,25709=>1000,25710=>1000,25711=>1000,25712=>1000,25713=>1000,25714=>1000,25715=>1000,25716=>1000,25717=>1000,25718=>1000,25719=>1000,25720=>1000,25721=>1000,25722=>1000,25723=>1000,25724=>1000,25725=>1000,25726=>1000,25727=>1000,25728=>1000,25729=>1000,25730=>1000,25731=>1000,25732=>1000,25733=>1000,25734=>1000,25735=>1000,25736=>1000,25737=>1000,25738=>1000,25739=>1000,25740=>1000,25741=>1000,25742=>1000,25743=>1000,25744=>1000,25745=>1000,25746=>1000,25747=>1000,25748=>1000,25749=>1000,25750=>1000,25751=>1000,25752=>1000,25753=>1000,25754=>1000,25755=>1000,25756=>1000,25757=>1000,25758=>1000,25759=>1000,25760=>1000,25761=>1000,25762=>1000,25763=>1000,25764=>1000,25765=>1000,25766=>1000,25767=>1000,25768=>1000,25769=>1000,25770=>1000,25771=>1000,25772=>1000,25773=>1000,25774=>1000,25775=>1000,25776=>1000,25777=>1000,25778=>1000,25779=>1000,25780=>1000,25781=>1000,25782=>1000,25783=>1000,25784=>1000,25785=>1000,25786=>1000,25787=>1000,25788=>1000,25789=>1000,25790=>1000,25791=>1000,25792=>1000,25793=>1000,25794=>1000,25795=>1000,25796=>1000,25797=>1000,25798=>1000,25799=>1000,25800=>1000,25801=>1000,25802=>1000,25803=>1000,25804=>1000,25805=>1000,25806=>1000,25807=>1000,25808=>1000,25809=>1000,25810=>1000,25811=>1000,25812=>1000,25813=>1000,25814=>1000,25815=>1000,25816=>1000,25817=>1000,25818=>1000,25819=>1000,25820=>1000,25821=>1000,25822=>1000,25823=>1000,25824=>1000,25825=>1000,25826=>1000,25827=>1000,25828=>1000,25829=>1000,25830=>1000,25831=>1000,25832=>1000,25833=>1000,25834=>1000,25835=>1000,25836=>1000,25837=>1000,25838=>1000,25839=>1000,25840=>1000,25841=>1000,25842=>1000,25843=>1000,25844=>1000,25845=>1000,25846=>1000,25847=>1000,25848=>1000,25849=>1000,25850=>1000,25851=>1000,25852=>1000,25853=>1000,25854=>1000,25855=>1000,25856=>1000,25857=>1000,25858=>1000,25859=>1000,25860=>1000,25861=>1000,25862=>1000,25863=>1000,25864=>1000,25865=>1000,25866=>1000,25867=>1000,25868=>1000,25869=>1000,25870=>1000,25871=>1000,25872=>1000,25873=>1000,25874=>1000,25875=>1000,25876=>1000,25877=>1000,25878=>1000,25879=>1000,25880=>1000,25881=>1000,25882=>1000,25883=>1000,25884=>1000,25885=>1000,25886=>1000,25887=>1000,25888=>1000,25889=>1000,25890=>1000,25891=>1000,25892=>1000,25893=>1000,25894=>1000,25895=>1000,25896=>1000,25897=>1000,25898=>1000,25899=>1000,25900=>1000,25901=>1000,25902=>1000,25903=>1000,25904=>1000,25905=>1000,25906=>1000,25907=>1000,25908=>1000,25909=>1000,25910=>1000,25911=>1000,25912=>1000,25913=>1000,25914=>1000,25915=>1000,25916=>1000,25917=>1000,25918=>1000,25919=>1000,25920=>1000,25921=>1000,25922=>1000,25923=>1000,25924=>1000,25925=>1000,25926=>1000,25927=>1000,25928=>1000,25929=>1000,25930=>1000,25931=>1000,25932=>1000,25933=>1000,25934=>1000,25935=>1000,25936=>1000,25937=>1000,25938=>1000,25939=>1000,25940=>1000,25941=>1000,25942=>1000,25943=>1000,25944=>1000,25945=>1000,25946=>1000,25947=>1000,25948=>1000,25949=>1000,25950=>1000,25951=>1000,25952=>1000,25953=>1000,25954=>1000,25955=>1000,25956=>1000,25957=>1000,25958=>1000,25959=>1000,25960=>1000,25961=>1000,25962=>1000,25963=>1000,25964=>1000,25965=>1000,25966=>1000,25967=>1000,25968=>1000,25969=>1000,25970=>1000,25971=>1000,25972=>1000,25973=>1000,25974=>1000,25975=>1000,25976=>1000,25977=>1000,25978=>1000,25979=>1000,25980=>1000,25981=>1000,25982=>1000,25983=>1000,25984=>1000,25985=>1000,25986=>1000,25987=>1000,25988=>1000,25989=>1000,25990=>1000,25991=>1000,25992=>1000,25993=>1000,25994=>1000,25995=>1000,25996=>1000,25997=>1000,25998=>1000,25999=>1000,26000=>1000,26001=>1000,26002=>1000,26003=>1000,26004=>1000,26005=>1000,26006=>1000,26007=>1000,26008=>1000,26009=>1000,26010=>1000,26011=>1000,26012=>1000,26013=>1000,26014=>1000,26015=>1000,26016=>1000,26017=>1000,26018=>1000,26019=>1000,26020=>1000,26021=>1000,26022=>1000,26023=>1000,26024=>1000,26025=>1000,26026=>1000,26027=>1000,26028=>1000,26029=>1000,26030=>1000,26031=>1000,26032=>1000,26033=>1000,26034=>1000,26035=>1000,26036=>1000,26037=>1000,26038=>1000,26039=>1000,26040=>1000,26041=>1000,26042=>1000,26043=>1000,26044=>1000,26045=>1000,26046=>1000,26047=>1000,26048=>1000,26049=>1000,26050=>1000,26051=>1000,26052=>1000,26053=>1000,26054=>1000,26055=>1000,26056=>1000,26057=>1000,26058=>1000,26059=>1000,26060=>1000,26061=>1000,26062=>1000,26063=>1000,26064=>1000,26065=>1000,26066=>1000,26067=>1000,26068=>1000,26069=>1000,26070=>1000,26071=>1000,26072=>1000,26073=>1000,26074=>1000,26075=>1000,26076=>1000,26077=>1000,26078=>1000,26079=>1000,26080=>1000,26081=>1000,26082=>1000,26083=>1000,26084=>1000,26085=>1000,26086=>1000,26087=>1000,26088=>1000,26089=>1000,26090=>1000,26091=>1000,26092=>1000,26093=>1000,26094=>1000,26095=>1000,26096=>1000,26097=>1000,26098=>1000,26099=>1000,26100=>1000,26101=>1000,26102=>1000,26103=>1000,26104=>1000,26105=>1000,26106=>1000,26107=>1000,26108=>1000,26109=>1000,26110=>1000,26111=>1000,26112=>1000,26113=>1000,26114=>1000,26115=>1000,26116=>1000,26117=>1000,26118=>1000,26119=>1000,26120=>1000,26121=>1000,26122=>1000,26123=>1000,26124=>1000,26125=>1000,26126=>1000,26127=>1000,26128=>1000,26129=>1000,26130=>1000,26131=>1000,26132=>1000,26133=>1000,26134=>1000,26135=>1000,26136=>1000,26137=>1000,26138=>1000,26139=>1000,26140=>1000,26141=>1000,26142=>1000,26143=>1000,26144=>1000,26145=>1000,26146=>1000,26147=>1000,26148=>1000,26149=>1000,26150=>1000,26151=>1000,26152=>1000,26153=>1000,26154=>1000,26155=>1000,26156=>1000,26157=>1000,26158=>1000,26159=>1000,26160=>1000,26161=>1000,26162=>1000,26163=>1000,26164=>1000,26165=>1000,26166=>1000,26167=>1000,26168=>1000,26169=>1000,26170=>1000,26171=>1000,26172=>1000,26173=>1000,26174=>1000,26175=>1000,26176=>1000,26177=>1000,26178=>1000,26179=>1000,26180=>1000,26181=>1000,26182=>1000,26183=>1000,26184=>1000,26185=>1000,26186=>1000,26187=>1000,26188=>1000,26189=>1000,26190=>1000,26191=>1000,26192=>1000,26193=>1000,26194=>1000,26195=>1000,26196=>1000,26197=>1000,26198=>1000,26199=>1000,26200=>1000,26201=>1000,26202=>1000,26203=>1000,26204=>1000,26205=>1000,26206=>1000,26207=>1000,26208=>1000,26209=>1000,26210=>1000,26211=>1000,26212=>1000,26213=>1000,26214=>1000,26215=>1000,26216=>1000,26217=>1000,26218=>1000,26219=>1000,26220=>1000,26221=>1000,26222=>1000,26223=>1000,26224=>1000,26225=>1000,26226=>1000,26227=>1000,26228=>1000,26229=>1000,26230=>1000,26231=>1000,26232=>1000,26233=>1000,26234=>1000,26235=>1000,26236=>1000,26237=>1000,26238=>1000,26239=>1000,26240=>1000,26241=>1000,26242=>1000,26243=>1000,26244=>1000,26245=>1000,26246=>1000,26247=>1000,26248=>1000,26249=>1000,26250=>1000,26251=>1000,26252=>1000,26253=>1000,26254=>1000,26255=>1000,26256=>1000,26257=>1000,26258=>1000,26259=>1000,26260=>1000,26261=>1000,26262=>1000,26263=>1000,26264=>1000,26265=>1000,26266=>1000,26267=>1000,26268=>1000,26269=>1000,26270=>1000,26271=>1000,26272=>1000,26273=>1000,26274=>1000,26275=>1000,26276=>1000,26277=>1000,26278=>1000,26279=>1000,26280=>1000,26281=>1000,26282=>1000,26283=>1000,26284=>1000,26285=>1000,26286=>1000,26287=>1000,26288=>1000,26289=>1000,26290=>1000,26291=>1000,26292=>1000,26293=>1000,26294=>1000,26295=>1000,26296=>1000,26297=>1000,26298=>1000,26299=>1000,26300=>1000,26301=>1000,26302=>1000,26303=>1000,26304=>1000,26305=>1000,26306=>1000,26307=>1000,26308=>1000,26309=>1000,26310=>1000,26311=>1000,26312=>1000,26313=>1000,26314=>1000,26315=>1000,26316=>1000,26317=>1000,26318=>1000,26319=>1000,26320=>1000,26321=>1000,26322=>1000,26323=>1000,26324=>1000,26325=>1000,26326=>1000,26327=>1000,26328=>1000,26329=>1000,26330=>1000,26331=>1000,26332=>1000,26333=>1000,26334=>1000,26335=>1000,26336=>1000,26337=>1000,26338=>1000,26339=>1000,26340=>1000,26341=>1000,26342=>1000,26343=>1000,26344=>1000,26345=>1000,26346=>1000,26347=>1000,26348=>1000,26349=>1000,26350=>1000,26351=>1000,26352=>1000,26353=>1000,26354=>1000,26355=>1000,26356=>1000,26357=>1000,26358=>1000,26359=>1000,26360=>1000,26361=>1000,26362=>1000,26363=>1000,26364=>1000,26365=>1000,26366=>1000,26367=>1000,26368=>1000,26369=>1000,26370=>1000,26371=>1000,26372=>1000,26373=>1000,26374=>1000,26375=>1000,26376=>1000,26377=>1000,26378=>1000,26379=>1000,26380=>1000,26381=>1000,26382=>1000,26383=>1000,26384=>1000,26385=>1000,26386=>1000,26387=>1000,26388=>1000,26389=>1000,26390=>1000,26391=>1000,26392=>1000,26393=>1000,26394=>1000,26395=>1000,26396=>1000,26397=>1000,26398=>1000,26399=>1000,26400=>1000,26401=>1000,26402=>1000,26403=>1000,26404=>1000,26405=>1000,26406=>1000,26407=>1000,26408=>1000,26409=>1000,26410=>1000,26411=>1000,26412=>1000,26413=>1000,26414=>1000,26415=>1000,26416=>1000,26417=>1000,26418=>1000,26419=>1000,26420=>1000,26421=>1000,26422=>1000,26423=>1000,26424=>1000,26425=>1000,26426=>1000,26427=>1000,26428=>1000,26429=>1000,26430=>1000,26431=>1000,26432=>1000,26433=>1000,26434=>1000,26435=>1000,26436=>1000,26437=>1000,26438=>1000,26439=>1000,26440=>1000,26441=>1000,26442=>1000,26443=>1000,26444=>1000,26445=>1000,26446=>1000,26447=>1000,26448=>1000,26449=>1000,26450=>1000,26451=>1000,26452=>1000,26453=>1000,26454=>1000,26455=>1000,26456=>1000,26457=>1000,26458=>1000,26459=>1000,26460=>1000,26461=>1000,26462=>1000,26463=>1000,26464=>1000,26465=>1000,26466=>1000,26467=>1000,26468=>1000,26469=>1000,26470=>1000,26471=>1000,26472=>1000,26473=>1000,26474=>1000,26475=>1000,26476=>1000,26477=>1000,26478=>1000,26479=>1000,26480=>1000,26481=>1000,26482=>1000,26483=>1000,26484=>1000,26485=>1000,26486=>1000,26487=>1000,26488=>1000,26489=>1000,26490=>1000,26491=>1000,26492=>1000,26493=>1000,26494=>1000,26495=>1000,26496=>1000,26497=>1000,26498=>1000,26499=>1000,26500=>1000,26501=>1000,26502=>1000,26503=>1000,26504=>1000,26505=>1000,26506=>1000,26507=>1000,26508=>1000,26509=>1000,26510=>1000,26511=>1000,26512=>1000,26513=>1000,26514=>1000,26515=>1000,26516=>1000,26517=>1000,26518=>1000,26519=>1000,26520=>1000,26521=>1000,26522=>1000,26523=>1000,26524=>1000,26525=>1000,26526=>1000,26527=>1000,26528=>1000,26529=>1000,26530=>1000,26531=>1000,26532=>1000,26533=>1000,26534=>1000,26535=>1000,26536=>1000,26537=>1000,26538=>1000,26539=>1000,26540=>1000,26541=>1000,26542=>1000,26543=>1000,26544=>1000,26545=>1000,26546=>1000,26547=>1000,26548=>1000,26549=>1000,26550=>1000,26551=>1000,26552=>1000,26553=>1000,26554=>1000,26555=>1000,26556=>1000,26557=>1000,26558=>1000,26559=>1000,26560=>1000,26561=>1000,26562=>1000,26563=>1000,26564=>1000,26565=>1000,26566=>1000,26567=>1000,26568=>1000,26569=>1000,26570=>1000,26571=>1000,26572=>1000,26573=>1000,26574=>1000,26575=>1000,26576=>1000,26577=>1000,26578=>1000,26579=>1000,26580=>1000,26581=>1000,26582=>1000,26583=>1000,26584=>1000,26585=>1000,26586=>1000,26587=>1000,26588=>1000,26589=>1000,26590=>1000,26591=>1000,26592=>1000,26593=>1000,26594=>1000,26595=>1000,26596=>1000,26597=>1000,26598=>1000,26599=>1000,26600=>1000,26601=>1000,26602=>1000,26603=>1000,26604=>1000,26605=>1000,26606=>1000,26607=>1000,26608=>1000,26609=>1000,26610=>1000,26611=>1000,26612=>1000,26613=>1000,26614=>1000,26615=>1000,26616=>1000,26617=>1000,26618=>1000,26619=>1000,26620=>1000,26621=>1000,26622=>1000,26623=>1000,26624=>1000,26625=>1000,26626=>1000,26627=>1000,26628=>1000,26629=>1000,26630=>1000,26631=>1000,26632=>1000,26633=>1000,26634=>1000,26635=>1000,26636=>1000,26637=>1000,26638=>1000,26639=>1000,26640=>1000,26641=>1000,26642=>1000,26643=>1000,26644=>1000,26645=>1000,26646=>1000,26647=>1000,26648=>1000,26649=>1000,26650=>1000,26651=>1000,26652=>1000,26653=>1000,26654=>1000,26655=>1000,26656=>1000,26657=>1000,26658=>1000,26659=>1000,26660=>1000,26661=>1000,26662=>1000,26663=>1000,26664=>1000,26665=>1000,26666=>1000,26667=>1000,26668=>1000,26669=>1000,26670=>1000,26671=>1000,26672=>1000,26673=>1000,26674=>1000,26675=>1000,26676=>1000,26677=>1000,26678=>1000,26679=>1000,26680=>1000,26681=>1000,26682=>1000,26683=>1000,26684=>1000,26685=>1000,26686=>1000,26687=>1000,26688=>1000,26689=>1000,26690=>1000,26691=>1000,26692=>1000,26693=>1000,26694=>1000,26695=>1000,26696=>1000,26697=>1000,26698=>1000,26699=>1000,26700=>1000,26701=>1000,26702=>1000,26703=>1000,26704=>1000,26705=>1000,26706=>1000,26707=>1000,26708=>1000,26709=>1000,26710=>1000,26711=>1000,26712=>1000,26713=>1000,26714=>1000,26715=>1000,26716=>1000,26717=>1000,26718=>1000,26719=>1000,26720=>1000,26721=>1000,26722=>1000,26723=>1000,26724=>1000,26725=>1000,26726=>1000,26727=>1000,26728=>1000,26729=>1000,26730=>1000,26731=>1000,26732=>1000,26733=>1000,26734=>1000,26735=>1000,26736=>1000,26737=>1000,26738=>1000,26739=>1000,26740=>1000,26741=>1000,26742=>1000,26743=>1000,26744=>1000,26745=>1000,26746=>1000,26747=>1000,26748=>1000,26749=>1000,26750=>1000,26751=>1000,26752=>1000,26753=>1000,26754=>1000,26755=>1000,26756=>1000,26757=>1000,26758=>1000,26759=>1000,26760=>1000,26761=>1000,26762=>1000,26763=>1000,26764=>1000,26765=>1000,26766=>1000,26767=>1000,26768=>1000,26769=>1000,26770=>1000,26771=>1000,26772=>1000,26773=>1000,26774=>1000,26775=>1000,26776=>1000,26777=>1000,26778=>1000,26779=>1000,26780=>1000,26781=>1000,26782=>1000,26783=>1000,26784=>1000,26785=>1000,26786=>1000,26787=>1000,26788=>1000,26789=>1000,26790=>1000,26791=>1000,26792=>1000,26793=>1000,26794=>1000,26795=>1000,26796=>1000,26797=>1000,26798=>1000,26799=>1000,26800=>1000,26801=>1000,26802=>1000,26803=>1000,26804=>1000,26805=>1000,26806=>1000,26807=>1000,26808=>1000,26809=>1000,26810=>1000,26811=>1000,26812=>1000,26813=>1000,26814=>1000,26815=>1000,26816=>1000,26817=>1000,26818=>1000,26819=>1000,26820=>1000,26821=>1000,26822=>1000,26823=>1000,26824=>1000,26825=>1000,26826=>1000,26827=>1000,26828=>1000,26829=>1000,26830=>1000,26831=>1000,26832=>1000,26833=>1000,26834=>1000,26835=>1000,26836=>1000,26837=>1000,26838=>1000,26839=>1000,26840=>1000,26841=>1000,26842=>1000,26843=>1000,26844=>1000,26845=>1000,26846=>1000,26847=>1000,26848=>1000,26849=>1000,26850=>1000,26851=>1000,26852=>1000,26853=>1000,26854=>1000,26855=>1000,26856=>1000,26857=>1000,26858=>1000,26859=>1000,26860=>1000,26861=>1000,26862=>1000,26863=>1000,26864=>1000,26865=>1000,26866=>1000,26867=>1000,26868=>1000,26869=>1000,26870=>1000,26871=>1000,26872=>1000,26873=>1000,26874=>1000,26875=>1000,26876=>1000,26877=>1000,26878=>1000,26879=>1000,26880=>1000,26881=>1000,26882=>1000,26883=>1000,26884=>1000,26885=>1000,26886=>1000,26887=>1000,26888=>1000,26889=>1000,26890=>1000,26891=>1000,26892=>1000,26893=>1000,26894=>1000,26895=>1000,26896=>1000,26897=>1000,26898=>1000,26899=>1000,26900=>1000,26901=>1000,26902=>1000,26903=>1000,26904=>1000,26905=>1000,26906=>1000,26907=>1000,26908=>1000,26909=>1000,26910=>1000,26911=>1000,26912=>1000,26913=>1000,26914=>1000,26915=>1000,26916=>1000,26917=>1000,26918=>1000,26919=>1000,26920=>1000,26921=>1000,26922=>1000,26923=>1000,26924=>1000,26925=>1000,26926=>1000,26927=>1000,26928=>1000,26929=>1000,26930=>1000,26931=>1000,26932=>1000,26933=>1000,26934=>1000,26935=>1000,26936=>1000,26937=>1000,26938=>1000,26939=>1000,26940=>1000,26941=>1000,26942=>1000,26943=>1000,26944=>1000,26945=>1000,26946=>1000,26947=>1000,26948=>1000,26949=>1000,26950=>1000,26951=>1000,26952=>1000,26953=>1000,26954=>1000,26955=>1000,26956=>1000,26957=>1000,26958=>1000,26959=>1000,26960=>1000,26961=>1000,26962=>1000,26963=>1000,26964=>1000,26965=>1000,26966=>1000,26967=>1000,26968=>1000,26969=>1000,26970=>1000,26971=>1000,26972=>1000,26973=>1000,26974=>1000,26975=>1000,26976=>1000,26977=>1000,26978=>1000,26979=>1000,26980=>1000,26981=>1000,26982=>1000,26983=>1000,26984=>1000,26985=>1000,26986=>1000,26987=>1000,26988=>1000,26989=>1000,26990=>1000,26991=>1000,26992=>1000,26993=>1000,26994=>1000,26995=>1000,26996=>1000,26997=>1000,26998=>1000,26999=>1000,27000=>1000,27001=>1000,27002=>1000,27003=>1000,27004=>1000,27005=>1000,27006=>1000,27007=>1000,27008=>1000,27009=>1000,27010=>1000,27011=>1000,27012=>1000,27013=>1000,27014=>1000,27015=>1000,27016=>1000,27017=>1000,27018=>1000,27019=>1000,27020=>1000,27021=>1000,27022=>1000,27023=>1000,27024=>1000,27025=>1000,27026=>1000,27027=>1000,27028=>1000,27029=>1000,27030=>1000,27031=>1000,27032=>1000,27033=>1000,27034=>1000,27035=>1000,27036=>1000,27037=>1000,27038=>1000,27039=>1000,27040=>1000,27041=>1000,27042=>1000,27043=>1000,27044=>1000,27045=>1000,27046=>1000,27047=>1000,27048=>1000,27049=>1000,27050=>1000,27051=>1000,27052=>1000,27053=>1000,27054=>1000,27055=>1000,27056=>1000,27057=>1000,27058=>1000,27059=>1000,27060=>1000,27061=>1000,27062=>1000,27063=>1000,27064=>1000,27065=>1000,27066=>1000,27067=>1000,27068=>1000,27069=>1000,27070=>1000,27071=>1000,27072=>1000,27073=>1000,27074=>1000,27075=>1000,27076=>1000,27077=>1000,27078=>1000,27079=>1000,27080=>1000,27081=>1000,27082=>1000,27083=>1000,27084=>1000,27085=>1000,27086=>1000,27087=>1000,27088=>1000,27089=>1000,27090=>1000,27091=>1000,27092=>1000,27093=>1000,27094=>1000,27095=>1000,27096=>1000,27097=>1000,27098=>1000,27099=>1000,27100=>1000,27101=>1000,27102=>1000,27103=>1000,27104=>1000,27105=>1000,27106=>1000,27107=>1000,27108=>1000,27109=>1000,27110=>1000,27111=>1000,27112=>1000,27113=>1000,27114=>1000,27115=>1000,27116=>1000,27117=>1000,27118=>1000,27119=>1000,27120=>1000,27121=>1000,27122=>1000,27123=>1000,27124=>1000,27125=>1000,27126=>1000,27127=>1000,27128=>1000,27129=>1000,27130=>1000,27131=>1000,27132=>1000,27133=>1000,27134=>1000,27135=>1000,27136=>1000,27137=>1000,27138=>1000,27139=>1000,27140=>1000,27141=>1000,27142=>1000,27143=>1000,27144=>1000,27145=>1000,27146=>1000,27147=>1000,27148=>1000,27149=>1000,27150=>1000,27151=>1000,27152=>1000,27153=>1000,27154=>1000,27155=>1000,27156=>1000,27157=>1000,27158=>1000,27159=>1000,27160=>1000,27161=>1000,27162=>1000,27163=>1000,27164=>1000,27165=>1000,27166=>1000,27167=>1000,27168=>1000,27169=>1000,27170=>1000,27171=>1000,27172=>1000,27173=>1000,27174=>1000,27175=>1000,27176=>1000,27177=>1000,27178=>1000,27179=>1000,27180=>1000,27181=>1000,27182=>1000,27183=>1000,27184=>1000,27185=>1000,27186=>1000,27187=>1000,27188=>1000,27189=>1000,27190=>1000,27191=>1000,27192=>1000,27193=>1000,27194=>1000,27195=>1000,27196=>1000,27197=>1000,27198=>1000,27199=>1000,27200=>1000,27201=>1000,27202=>1000,27203=>1000,27204=>1000,27205=>1000,27206=>1000,27207=>1000,27208=>1000,27209=>1000,27210=>1000,27211=>1000,27212=>1000,27213=>1000,27214=>1000,27215=>1000,27216=>1000,27217=>1000,27218=>1000,27219=>1000,27220=>1000,27221=>1000,27222=>1000,27223=>1000,27224=>1000,27225=>1000,27226=>1000,27227=>1000,27228=>1000,27229=>1000,27230=>1000,27231=>1000,27232=>1000,27233=>1000,27234=>1000,27235=>1000,27236=>1000,27237=>1000,27238=>1000,27239=>1000,27240=>1000,27241=>1000,27242=>1000,27243=>1000,27244=>1000,27245=>1000,27246=>1000,27247=>1000,27248=>1000,27249=>1000,27250=>1000,27251=>1000,27252=>1000,27253=>1000,27254=>1000,27255=>1000,27256=>1000,27257=>1000,27258=>1000,27259=>1000,27260=>1000,27261=>1000,27262=>1000,27263=>1000,27264=>1000,27265=>1000,27266=>1000,27267=>1000,27268=>1000,27269=>1000,27270=>1000,27271=>1000,27272=>1000,27273=>1000,27274=>1000,27275=>1000,27276=>1000,27277=>1000,27278=>1000,27279=>1000,27280=>1000,27281=>1000,27282=>1000,27283=>1000,27284=>1000,27285=>1000,27286=>1000,27287=>1000,27288=>1000,27289=>1000,27290=>1000,27291=>1000,27292=>1000,27293=>1000,27294=>1000,27295=>1000,27296=>1000,27297=>1000,27298=>1000,27299=>1000,27300=>1000,27301=>1000,27302=>1000,27303=>1000,27304=>1000,27305=>1000,27306=>1000,27307=>1000,27308=>1000,27309=>1000,27310=>1000,27311=>1000,27312=>1000,27313=>1000,27314=>1000,27315=>1000,27316=>1000,27317=>1000,27318=>1000,27319=>1000,27320=>1000,27321=>1000,27322=>1000,27323=>1000,27324=>1000,27325=>1000,27326=>1000,27327=>1000,27328=>1000,27329=>1000,27330=>1000,27331=>1000,27332=>1000,27333=>1000,27334=>1000,27335=>1000,27336=>1000,27337=>1000,27338=>1000,27339=>1000,27340=>1000,27341=>1000,27342=>1000,27343=>1000,27344=>1000,27345=>1000,27346=>1000,27347=>1000,27348=>1000,27349=>1000,27350=>1000,27351=>1000,27352=>1000,27353=>1000,27354=>1000,27355=>1000,27356=>1000,27357=>1000,27358=>1000,27359=>1000,27360=>1000,27361=>1000,27362=>1000,27363=>1000,27364=>1000,27365=>1000,27366=>1000,27367=>1000,27368=>1000,27369=>1000,27370=>1000,27371=>1000,27372=>1000,27373=>1000,27374=>1000,27375=>1000,27376=>1000,27377=>1000,27378=>1000,27379=>1000,27380=>1000,27381=>1000,27382=>1000,27383=>1000,27384=>1000,27385=>1000,27386=>1000,27387=>1000,27388=>1000,27389=>1000,27390=>1000,27391=>1000,27392=>1000,27393=>1000,27394=>1000,27395=>1000,27396=>1000,27397=>1000,27398=>1000,27399=>1000,27400=>1000,27401=>1000,27402=>1000,27403=>1000,27404=>1000,27405=>1000,27406=>1000,27407=>1000,27408=>1000,27409=>1000,27410=>1000,27411=>1000,27412=>1000,27413=>1000,27414=>1000,27415=>1000,27416=>1000,27417=>1000,27418=>1000,27419=>1000,27420=>1000,27421=>1000,27422=>1000,27423=>1000,27424=>1000,27425=>1000,27426=>1000,27427=>1000,27428=>1000,27429=>1000,27430=>1000,27431=>1000,27432=>1000,27433=>1000,27434=>1000,27435=>1000,27436=>1000,27437=>1000,27438=>1000,27439=>1000,27440=>1000,27441=>1000,27442=>1000,27443=>1000,27444=>1000,27445=>1000,27446=>1000,27447=>1000,27448=>1000,27449=>1000,27450=>1000,27451=>1000,27452=>1000,27453=>1000,27454=>1000,27455=>1000,27456=>1000,27457=>1000,27458=>1000,27459=>1000,27460=>1000,27461=>1000,27462=>1000,27463=>1000,27464=>1000,27465=>1000,27466=>1000,27467=>1000,27468=>1000,27469=>1000,27470=>1000,27471=>1000,27472=>1000,27473=>1000,27474=>1000,27475=>1000,27476=>1000,27477=>1000,27478=>1000,27479=>1000,27480=>1000,27481=>1000,27482=>1000,27483=>1000,27484=>1000,27485=>1000,27486=>1000,27487=>1000,27488=>1000,27489=>1000,27490=>1000,27491=>1000,27492=>1000,27493=>1000,27494=>1000,27495=>1000,27496=>1000,27497=>1000,27498=>1000,27499=>1000,27500=>1000,27501=>1000,27502=>1000,27503=>1000,27504=>1000,27505=>1000,27506=>1000,27507=>1000,27508=>1000,27509=>1000,27510=>1000,27511=>1000,27512=>1000,27513=>1000,27514=>1000,27515=>1000,27516=>1000,27517=>1000,27518=>1000,27519=>1000,27520=>1000,27521=>1000,27522=>1000,27523=>1000,27524=>1000,27525=>1000,27526=>1000,27527=>1000,27528=>1000,27529=>1000,27530=>1000,27531=>1000,27532=>1000,27533=>1000,27534=>1000,27535=>1000,27536=>1000,27537=>1000,27538=>1000,27539=>1000,27540=>1000,27541=>1000,27542=>1000,27543=>1000,27544=>1000,27545=>1000,27546=>1000,27547=>1000,27548=>1000,27549=>1000,27550=>1000,27551=>1000,27552=>1000,27553=>1000,27554=>1000,27555=>1000,27556=>1000,27557=>1000,27558=>1000,27559=>1000,27560=>1000,27561=>1000,27562=>1000,27563=>1000,27564=>1000,27565=>1000,27566=>1000,27567=>1000,27568=>1000,27569=>1000,27570=>1000,27571=>1000,27572=>1000,27573=>1000,27574=>1000,27575=>1000,27576=>1000,27577=>1000,27578=>1000,27579=>1000,27580=>1000,27581=>1000,27582=>1000,27583=>1000,27584=>1000,27585=>1000,27586=>1000,27587=>1000,27588=>1000,27589=>1000,27590=>1000,27591=>1000,27592=>1000,27593=>1000,27594=>1000,27595=>1000,27596=>1000,27597=>1000,27598=>1000,27599=>1000,27600=>1000,27601=>1000,27602=>1000,27603=>1000,27604=>1000,27605=>1000,27606=>1000,27607=>1000,27608=>1000,27609=>1000,27610=>1000,27611=>1000,27612=>1000,27613=>1000,27614=>1000,27615=>1000,27616=>1000,27617=>1000,27618=>1000,27619=>1000,27620=>1000,27621=>1000,27622=>1000,27623=>1000,27624=>1000,27625=>1000,27626=>1000,27627=>1000,27628=>1000,27629=>1000,27630=>1000,27631=>1000,27632=>1000,27633=>1000,27634=>1000,27635=>1000,27636=>1000,27637=>1000,27638=>1000,27639=>1000,27640=>1000,27641=>1000,27642=>1000,27643=>1000,27644=>1000,27645=>1000,27646=>1000,27647=>1000,27648=>1000,27649=>1000,27650=>1000,27651=>1000,27652=>1000,27653=>1000,27654=>1000,27655=>1000,27656=>1000,27657=>1000,27658=>1000,27659=>1000,27660=>1000,27661=>1000,27662=>1000,27663=>1000,27664=>1000,27665=>1000,27666=>1000,27667=>1000,27668=>1000,27669=>1000,27670=>1000,27671=>1000,27672=>1000,27673=>1000,27674=>1000,27675=>1000,27676=>1000,27677=>1000,27678=>1000,27679=>1000,27680=>1000,27681=>1000,27682=>1000,27683=>1000,27684=>1000,27685=>1000,27686=>1000,27687=>1000,27688=>1000,27689=>1000,27690=>1000,27691=>1000,27692=>1000,27693=>1000,27694=>1000,27695=>1000,27696=>1000,27697=>1000,27698=>1000,27699=>1000,27700=>1000,27701=>1000,27702=>1000,27703=>1000,27704=>1000,27705=>1000,27706=>1000,27707=>1000,27708=>1000,27709=>1000,27710=>1000,27711=>1000,27712=>1000,27713=>1000,27714=>1000,27715=>1000,27716=>1000,27717=>1000,27718=>1000,27719=>1000,27720=>1000,27721=>1000,27722=>1000,27723=>1000,27724=>1000,27725=>1000,27726=>1000,27727=>1000,27728=>1000,27729=>1000,27730=>1000,27731=>1000,27732=>1000,27733=>1000,27734=>1000,27735=>1000,27736=>1000,27737=>1000,27738=>1000,27739=>1000,27740=>1000,27741=>1000,27742=>1000,27743=>1000,27744=>1000,27745=>1000,27746=>1000,27747=>1000,27748=>1000,27749=>1000,27750=>1000,27751=>1000,27752=>1000,27753=>1000,27754=>1000,27755=>1000,27756=>1000,27757=>1000,27758=>1000,27759=>1000,27760=>1000,27761=>1000,27762=>1000,27763=>1000,27764=>1000,27765=>1000,27766=>1000,27767=>1000,27768=>1000,27769=>1000,27770=>1000,27771=>1000,27772=>1000,27773=>1000,27774=>1000,27775=>1000,27776=>1000,27777=>1000,27778=>1000,27779=>1000,27780=>1000,27781=>1000,27782=>1000,27783=>1000,27784=>1000,27785=>1000,27786=>1000,27787=>1000,27788=>1000,27789=>1000,27790=>1000,27791=>1000,27792=>1000,27793=>1000,27794=>1000,27795=>1000,27796=>1000,27797=>1000,27798=>1000,27799=>1000,27800=>1000,27801=>1000,27802=>1000,27803=>1000,27804=>1000,27805=>1000,27806=>1000,27807=>1000,27808=>1000,27809=>1000,27810=>1000,27811=>1000,27812=>1000,27813=>1000,27814=>1000,27815=>1000,27816=>1000,27817=>1000,27818=>1000,27819=>1000,27820=>1000,27821=>1000,27822=>1000,27823=>1000,27824=>1000,27825=>1000,27826=>1000,27827=>1000,27828=>1000,27829=>1000,27830=>1000,27831=>1000,27832=>1000,27833=>1000,27834=>1000,27835=>1000,27836=>1000,27837=>1000,27838=>1000,27839=>1000,27840=>1000,27841=>1000,27842=>1000,27843=>1000,27844=>1000,27845=>1000,27846=>1000,27847=>1000,27848=>1000,27849=>1000,27850=>1000,27851=>1000,27852=>1000,27853=>1000,27854=>1000,27855=>1000,27856=>1000,27857=>1000,27858=>1000,27859=>1000,27860=>1000,27861=>1000,27862=>1000,27863=>1000,27864=>1000,27865=>1000,27866=>1000,27867=>1000,27868=>1000,27869=>1000,27870=>1000,27871=>1000,27872=>1000,27873=>1000,27874=>1000,27875=>1000,27876=>1000,27877=>1000,27878=>1000,27879=>1000,27880=>1000,27881=>1000,27882=>1000,27883=>1000,27884=>1000,27885=>1000,27886=>1000,27887=>1000,27888=>1000,27889=>1000,27890=>1000,27891=>1000,27892=>1000,27893=>1000,27894=>1000,27895=>1000,27896=>1000,27897=>1000,27898=>1000,27899=>1000,27900=>1000,27901=>1000,27902=>1000,27903=>1000,27904=>1000,27905=>1000,27906=>1000,27907=>1000,27908=>1000,27909=>1000,27910=>1000,27911=>1000,27912=>1000,27913=>1000,27914=>1000,27915=>1000,27916=>1000,27917=>1000,27918=>1000,27919=>1000,27920=>1000,27921=>1000,27922=>1000,27923=>1000,27924=>1000,27925=>1000,27926=>1000,27927=>1000,27928=>1000,27929=>1000,27930=>1000,27931=>1000,27932=>1000,27933=>1000,27934=>1000,27935=>1000,27936=>1000,27937=>1000,27938=>1000,27939=>1000,27940=>1000,27941=>1000,27942=>1000,27943=>1000,27944=>1000,27945=>1000,27946=>1000,27947=>1000,27948=>1000,27949=>1000,27950=>1000,27951=>1000,27952=>1000,27953=>1000,27954=>1000,27955=>1000,27956=>1000,27957=>1000,27958=>1000,27959=>1000,27960=>1000,27961=>1000,27962=>1000,27963=>1000,27964=>1000,27965=>1000,27966=>1000,27967=>1000,27968=>1000,27969=>1000,27970=>1000,27971=>1000,27972=>1000,27973=>1000,27974=>1000,27975=>1000,27976=>1000,27977=>1000,27978=>1000,27979=>1000,27980=>1000,27981=>1000,27982=>1000,27983=>1000,27984=>1000,27985=>1000,27986=>1000,27987=>1000,27988=>1000,27989=>1000,27990=>1000,27991=>1000,27992=>1000,27993=>1000,27994=>1000,27995=>1000,27996=>1000,27997=>1000,27998=>1000,27999=>1000,28000=>1000,28001=>1000,28002=>1000,28003=>1000,28004=>1000,28005=>1000,28006=>1000,28007=>1000,28008=>1000,28009=>1000,28010=>1000,28011=>1000,28012=>1000,28013=>1000,28014=>1000,28015=>1000,28016=>1000,28017=>1000,28018=>1000,28019=>1000,28020=>1000,28021=>1000,28022=>1000,28023=>1000,28024=>1000,28025=>1000,28026=>1000,28027=>1000,28028=>1000,28029=>1000,28030=>1000,28031=>1000,28032=>1000,28033=>1000,28034=>1000,28035=>1000,28036=>1000,28037=>1000,28038=>1000,28039=>1000,28040=>1000,28041=>1000,28042=>1000,28043=>1000,28044=>1000,28045=>1000,28046=>1000,28047=>1000,28048=>1000,28049=>1000,28050=>1000,28051=>1000,28052=>1000,28053=>1000,28054=>1000,28055=>1000,28056=>1000,28057=>1000,28058=>1000,28059=>1000,28060=>1000,28061=>1000,28062=>1000,28063=>1000,28064=>1000,28065=>1000,28066=>1000,28067=>1000,28068=>1000,28069=>1000,28070=>1000,28071=>1000,28072=>1000,28073=>1000,28074=>1000,28075=>1000,28076=>1000,28077=>1000,28078=>1000,28079=>1000,28080=>1000,28081=>1000,28082=>1000,28083=>1000,28084=>1000,28085=>1000,28086=>1000,28087=>1000,28088=>1000,28089=>1000,28090=>1000,28091=>1000,28092=>1000,28093=>1000,28094=>1000,28095=>1000,28096=>1000,28097=>1000,28098=>1000,28099=>1000,28100=>1000,28101=>1000,28102=>1000,28103=>1000,28104=>1000,28105=>1000,28106=>1000,28107=>1000,28108=>1000,28109=>1000,28110=>1000,28111=>1000,28112=>1000,28113=>1000,28114=>1000,28115=>1000,28116=>1000,28117=>1000,28118=>1000,28119=>1000,28120=>1000,28121=>1000,28122=>1000,28123=>1000,28124=>1000,28125=>1000,28126=>1000,28127=>1000,28128=>1000,28129=>1000,28130=>1000,28131=>1000,28132=>1000,28133=>1000,28134=>1000,28135=>1000,28136=>1000,28137=>1000,28138=>1000,28139=>1000,28140=>1000,28141=>1000,28142=>1000,28143=>1000,28144=>1000,28145=>1000,28146=>1000,28147=>1000,28148=>1000,28149=>1000,28150=>1000,28151=>1000,28152=>1000,28153=>1000,28154=>1000,28155=>1000,28156=>1000,28157=>1000,28158=>1000,28159=>1000,28160=>1000,28161=>1000,28162=>1000,28163=>1000,28164=>1000,28165=>1000,28166=>1000,28167=>1000,28168=>1000,28169=>1000,28170=>1000,28171=>1000,28172=>1000,28173=>1000,28174=>1000,28175=>1000,28176=>1000,28177=>1000,28178=>1000,28179=>1000,28180=>1000,28181=>1000,28182=>1000,28183=>1000,28184=>1000,28185=>1000,28186=>1000,28187=>1000,28188=>1000,28189=>1000,28190=>1000,28191=>1000,28192=>1000,28193=>1000,28194=>1000,28195=>1000,28196=>1000,28197=>1000,28198=>1000,28199=>1000,28200=>1000,28201=>1000,28202=>1000,28203=>1000,28204=>1000,28205=>1000,28206=>1000,28207=>1000,28208=>1000,28209=>1000,28210=>1000,28211=>1000,28212=>1000,28213=>1000,28214=>1000,28215=>1000,28216=>1000,28217=>1000,28218=>1000,28219=>1000,28220=>1000,28221=>1000,28222=>1000,28223=>1000,28224=>1000,28225=>1000,28226=>1000,28227=>1000,28228=>1000,28229=>1000,28230=>1000,28231=>1000,28232=>1000,28233=>1000,28234=>1000,28235=>1000,28236=>1000,28237=>1000,28238=>1000,28239=>1000,28240=>1000,28241=>1000,28242=>1000,28243=>1000,28244=>1000,28245=>1000,28246=>1000,28247=>1000,28248=>1000,28249=>1000,28250=>1000,28251=>1000,28252=>1000,28253=>1000,28254=>1000,28255=>1000,28256=>1000,28257=>1000,28258=>1000,28259=>1000,28260=>1000,28261=>1000,28262=>1000,28263=>1000,28264=>1000,28265=>1000,28266=>1000,28267=>1000,28268=>1000,28269=>1000,28270=>1000,28271=>1000,28272=>1000,28273=>1000,28274=>1000,28275=>1000,28276=>1000,28277=>1000,28278=>1000,28279=>1000,28280=>1000,28281=>1000,28282=>1000,28283=>1000,28284=>1000,28285=>1000,28286=>1000,28287=>1000,28288=>1000,28289=>1000,28290=>1000,28291=>1000,28292=>1000,28293=>1000,28294=>1000,28295=>1000,28296=>1000,28297=>1000,28298=>1000,28299=>1000,28300=>1000,28301=>1000,28302=>1000,28303=>1000,28304=>1000,28305=>1000,28306=>1000,28307=>1000,28308=>1000,28309=>1000,28310=>1000,28311=>1000,28312=>1000,28313=>1000,28314=>1000,28315=>1000,28316=>1000,28317=>1000,28318=>1000,28319=>1000,28320=>1000,28321=>1000,28322=>1000,28323=>1000,28324=>1000,28325=>1000,28326=>1000,28327=>1000,28328=>1000,28329=>1000,28330=>1000,28331=>1000,28332=>1000,28333=>1000,28334=>1000,28335=>1000,28336=>1000,28337=>1000,28338=>1000,28339=>1000,28340=>1000,28341=>1000,28342=>1000,28343=>1000,28344=>1000,28345=>1000,28346=>1000,28347=>1000,28348=>1000,28349=>1000,28350=>1000,28351=>1000,28352=>1000,28353=>1000,28354=>1000,28355=>1000,28356=>1000,28357=>1000,28358=>1000,28359=>1000,28360=>1000,28361=>1000,28362=>1000,28363=>1000,28364=>1000,28365=>1000,28366=>1000,28367=>1000,28368=>1000,28369=>1000,28370=>1000,28371=>1000,28372=>1000,28373=>1000,28374=>1000,28375=>1000,28376=>1000,28377=>1000,28378=>1000,28379=>1000,28380=>1000,28381=>1000,28382=>1000,28383=>1000,28384=>1000,28385=>1000,28386=>1000,28387=>1000,28388=>1000,28389=>1000,28390=>1000,28391=>1000,28392=>1000,28393=>1000,28394=>1000,28395=>1000,28396=>1000,28397=>1000,28398=>1000,28399=>1000,28400=>1000,28401=>1000,28402=>1000,28403=>1000,28404=>1000,28405=>1000,28406=>1000,28407=>1000,28408=>1000,28409=>1000,28410=>1000,28411=>1000,28412=>1000,28413=>1000,28414=>1000,28415=>1000,28416=>1000,28417=>1000,28418=>1000,28419=>1000,28420=>1000,28421=>1000,28422=>1000,28423=>1000,28424=>1000,28425=>1000,28426=>1000,28427=>1000,28428=>1000,28429=>1000,28430=>1000,28431=>1000,28432=>1000,28433=>1000,28434=>1000,28435=>1000,28436=>1000,28437=>1000,28438=>1000,28439=>1000,28440=>1000,28441=>1000,28442=>1000,28443=>1000,28444=>1000,28445=>1000,28446=>1000,28447=>1000,28448=>1000,28449=>1000,28450=>1000,28451=>1000,28452=>1000,28453=>1000,28454=>1000,28455=>1000,28456=>1000,28457=>1000,28458=>1000,28459=>1000,28460=>1000,28461=>1000,28462=>1000,28463=>1000,28464=>1000,28465=>1000,28466=>1000,28467=>1000,28468=>1000,28469=>1000,28470=>1000,28471=>1000,28472=>1000,28473=>1000,28474=>1000,28475=>1000,28476=>1000,28477=>1000,28478=>1000,28479=>1000,28480=>1000,28481=>1000,28482=>1000,28483=>1000,28484=>1000,28485=>1000,28486=>1000,28487=>1000,28488=>1000,28489=>1000,28490=>1000,28491=>1000,28492=>1000,28493=>1000,28494=>1000,28495=>1000,28496=>1000,28497=>1000,28498=>1000,28499=>1000,28500=>1000,28501=>1000,28502=>1000,28503=>1000,28504=>1000,28505=>1000,28506=>1000,28507=>1000,28508=>1000,28509=>1000,28510=>1000,28511=>1000,28512=>1000,28513=>1000,28514=>1000,28515=>1000,28516=>1000,28517=>1000,28518=>1000,28519=>1000,28520=>1000,28521=>1000,28522=>1000,28523=>1000,28524=>1000,28525=>1000,28526=>1000,28527=>1000,28528=>1000,28529=>1000,28530=>1000,28531=>1000,28532=>1000,28533=>1000,28534=>1000,28535=>1000,28536=>1000,28537=>1000,28538=>1000,28539=>1000,28540=>1000,28541=>1000,28542=>1000,28543=>1000,28544=>1000,28545=>1000,28546=>1000,28547=>1000,28548=>1000,28549=>1000,28550=>1000,28551=>1000,28552=>1000,28553=>1000,28554=>1000,28555=>1000,28556=>1000,28557=>1000,28558=>1000,28559=>1000,28560=>1000,28561=>1000,28562=>1000,28563=>1000,28564=>1000,28565=>1000,28566=>1000,28567=>1000,28568=>1000,28569=>1000,28570=>1000,28571=>1000,28572=>1000,28573=>1000,28574=>1000,28575=>1000,28576=>1000,28577=>1000,28578=>1000,28579=>1000,28580=>1000,28581=>1000,28582=>1000,28583=>1000,28584=>1000,28585=>1000,28586=>1000,28587=>1000,28588=>1000,28589=>1000,28590=>1000,28591=>1000,28592=>1000,28593=>1000,28594=>1000,28595=>1000,28596=>1000,28597=>1000,28598=>1000,28599=>1000,28600=>1000,28601=>1000,28602=>1000,28603=>1000,28604=>1000,28605=>1000,28606=>1000,28607=>1000,28608=>1000,28609=>1000,28610=>1000,28611=>1000,28612=>1000,28613=>1000,28614=>1000,28615=>1000,28616=>1000,28617=>1000,28618=>1000,28619=>1000,28620=>1000,28621=>1000,28622=>1000,28623=>1000,28624=>1000,28625=>1000,28626=>1000,28627=>1000,28628=>1000,28629=>1000,28630=>1000,28631=>1000,28632=>1000,28633=>1000,28634=>1000,28635=>1000,28636=>1000,28637=>1000,28638=>1000,28639=>1000,28640=>1000,28641=>1000,28642=>1000,28643=>1000,28644=>1000,28645=>1000,28646=>1000,28647=>1000,28648=>1000,28649=>1000,28650=>1000,28651=>1000,28652=>1000,28653=>1000,28654=>1000,28655=>1000,28656=>1000,28657=>1000,28658=>1000,28659=>1000,28660=>1000,28661=>1000,28662=>1000,28663=>1000,28664=>1000,28665=>1000,28666=>1000,28667=>1000,28668=>1000,28669=>1000,28670=>1000,28671=>1000,28672=>1000,28673=>1000,28674=>1000,28675=>1000,28676=>1000,28677=>1000,28678=>1000,28679=>1000,28680=>1000,28681=>1000,28682=>1000,28683=>1000,28684=>1000,28685=>1000,28686=>1000,28687=>1000,28688=>1000,28689=>1000,28690=>1000,28691=>1000,28692=>1000,28693=>1000,28694=>1000,28695=>1000,28696=>1000,28697=>1000,28698=>1000,28699=>1000,28700=>1000,28701=>1000,28702=>1000,28703=>1000,28704=>1000,28705=>1000,28706=>1000,28707=>1000,28708=>1000,28709=>1000,28710=>1000,28711=>1000,28712=>1000,28713=>1000,28714=>1000,28715=>1000,28716=>1000,28717=>1000,28718=>1000,28719=>1000,28720=>1000,28721=>1000,28722=>1000,28723=>1000,28724=>1000,28725=>1000,28726=>1000,28727=>1000,28728=>1000,28729=>1000,28730=>1000,28731=>1000,28732=>1000,28733=>1000,28734=>1000,28735=>1000,28736=>1000,28737=>1000,28738=>1000,28739=>1000,28740=>1000,28741=>1000,28742=>1000,28743=>1000,28744=>1000,28745=>1000,28746=>1000,28747=>1000,28748=>1000,28749=>1000,28750=>1000,28751=>1000,28752=>1000,28753=>1000,28754=>1000,28755=>1000,28756=>1000,28757=>1000,28758=>1000,28759=>1000,28760=>1000,28761=>1000,28762=>1000,28763=>1000,28764=>1000,28765=>1000,28766=>1000,28767=>1000,28768=>1000,28769=>1000,28770=>1000,28771=>1000,28772=>1000,28773=>1000,28774=>1000,28775=>1000,28776=>1000,28777=>1000,28778=>1000,28779=>1000,28780=>1000,28781=>1000,28782=>1000,28783=>1000,28784=>1000,28785=>1000,28786=>1000,28787=>1000,28788=>1000,28789=>1000,28790=>1000,28791=>1000,28792=>1000,28793=>1000,28794=>1000,28795=>1000,28796=>1000,28797=>1000,28798=>1000,28799=>1000,28800=>1000,28801=>1000,28802=>1000,28803=>1000,28804=>1000,28805=>1000,28806=>1000,28807=>1000,28808=>1000,28809=>1000,28810=>1000,28811=>1000,28812=>1000,28813=>1000,28814=>1000,28815=>1000,28816=>1000,28817=>1000,28818=>1000,28819=>1000,28820=>1000,28821=>1000,28822=>1000,28823=>1000,28824=>1000,28825=>1000,28826=>1000,28827=>1000,28828=>1000,28829=>1000,28830=>1000,28831=>1000,28832=>1000,28833=>1000,28834=>1000,28835=>1000,28836=>1000,28837=>1000,28838=>1000,28839=>1000,28840=>1000,28841=>1000,28842=>1000,28843=>1000,28844=>1000,28845=>1000,28846=>1000,28847=>1000,28848=>1000,28849=>1000,28850=>1000,28851=>1000,28852=>1000,28853=>1000,28854=>1000,28855=>1000,28856=>1000,28857=>1000,28858=>1000,28859=>1000,28860=>1000,28861=>1000,28862=>1000,28863=>1000,28864=>1000,28865=>1000,28866=>1000,28867=>1000,28868=>1000,28869=>1000,28870=>1000,28871=>1000,28872=>1000,28873=>1000,28874=>1000,28875=>1000,28876=>1000,28877=>1000,28878=>1000,28879=>1000,28880=>1000,28881=>1000,28882=>1000,28883=>1000,28884=>1000,28885=>1000,28886=>1000,28887=>1000,28888=>1000,28889=>1000,28890=>1000,28891=>1000,28892=>1000,28893=>1000,28894=>1000,28895=>1000,28896=>1000,28897=>1000,28898=>1000,28899=>1000,28900=>1000,28901=>1000,28902=>1000,28903=>1000,28904=>1000,28905=>1000,28906=>1000,28907=>1000,28908=>1000,28909=>1000,28910=>1000,28911=>1000,28912=>1000,28913=>1000,28914=>1000,28915=>1000,28916=>1000,28917=>1000,28918=>1000,28919=>1000,28920=>1000,28921=>1000,28922=>1000,28923=>1000,28924=>1000,28925=>1000,28926=>1000,28927=>1000,28928=>1000,28929=>1000,28930=>1000,28931=>1000,28932=>1000,28933=>1000,28934=>1000,28935=>1000,28936=>1000,28937=>1000,28938=>1000,28939=>1000,28940=>1000,28941=>1000,28942=>1000,28943=>1000,28944=>1000,28945=>1000,28946=>1000,28947=>1000,28948=>1000,28949=>1000,28950=>1000,28951=>1000,28952=>1000,28953=>1000,28954=>1000,28955=>1000,28956=>1000,28957=>1000,28958=>1000,28959=>1000,28960=>1000,28961=>1000,28962=>1000,28963=>1000,28964=>1000,28965=>1000,28966=>1000,28967=>1000,28968=>1000,28969=>1000,28970=>1000,28971=>1000,28972=>1000,28973=>1000,28974=>1000,28975=>1000,28976=>1000,28977=>1000,28978=>1000,28979=>1000,28980=>1000,28981=>1000,28982=>1000,28983=>1000,28984=>1000,28985=>1000,28986=>1000,28987=>1000,28988=>1000,28989=>1000,28990=>1000,28991=>1000,28992=>1000,28993=>1000,28994=>1000,28995=>1000,28996=>1000,28997=>1000,28998=>1000,28999=>1000,29000=>1000,29001=>1000,29002=>1000,29003=>1000,29004=>1000,29005=>1000,29006=>1000,29007=>1000,29008=>1000,29009=>1000,29010=>1000,29011=>1000,29012=>1000,29013=>1000,29014=>1000,29015=>1000,29016=>1000,29017=>1000,29018=>1000,29019=>1000,29020=>1000,29021=>1000,29022=>1000,29023=>1000,29024=>1000,29025=>1000,29026=>1000,29027=>1000,29028=>1000,29029=>1000,29030=>1000,29031=>1000,29032=>1000,29033=>1000,29034=>1000,29035=>1000,29036=>1000,29037=>1000,29038=>1000,29039=>1000,29040=>1000,29041=>1000,29042=>1000,29043=>1000,29044=>1000,29045=>1000,29046=>1000,29047=>1000,29048=>1000,29049=>1000,29050=>1000,29051=>1000,29052=>1000,29053=>1000,29054=>1000,29055=>1000,29056=>1000,29057=>1000,29058=>1000,29059=>1000,29060=>1000,29061=>1000,29062=>1000,29063=>1000,29064=>1000,29065=>1000,29066=>1000,29067=>1000,29068=>1000,29069=>1000,29070=>1000,29071=>1000,29072=>1000,29073=>1000,29074=>1000,29075=>1000,29076=>1000,29077=>1000,29078=>1000,29079=>1000,29080=>1000,29081=>1000,29082=>1000,29083=>1000,29084=>1000,29085=>1000,29086=>1000,29087=>1000,29088=>1000,29089=>1000,29090=>1000,29091=>1000,29092=>1000,29093=>1000,29094=>1000,29095=>1000,29096=>1000,29097=>1000,29098=>1000,29099=>1000,29100=>1000,29101=>1000,29102=>1000,29103=>1000,29104=>1000,29105=>1000,29106=>1000,29107=>1000,29108=>1000,29109=>1000,29110=>1000,29111=>1000,29112=>1000,29113=>1000,29114=>1000,29115=>1000,29116=>1000,29117=>1000,29118=>1000,29119=>1000,29120=>1000,29121=>1000,29122=>1000,29123=>1000,29124=>1000,29125=>1000,29126=>1000,29127=>1000,29128=>1000,29129=>1000,29130=>1000,29131=>1000,29132=>1000,29133=>1000,29134=>1000,29135=>1000,29136=>1000,29137=>1000,29138=>1000,29139=>1000,29140=>1000,29141=>1000,29142=>1000,29143=>1000,29144=>1000,29145=>1000,29146=>1000,29147=>1000,29148=>1000,29149=>1000,29150=>1000,29151=>1000,29152=>1000,29153=>1000,29154=>1000,29155=>1000,29156=>1000,29157=>1000,29158=>1000,29159=>1000,29160=>1000,29161=>1000,29162=>1000,29163=>1000,29164=>1000,29165=>1000,29166=>1000,29167=>1000,29168=>1000,29169=>1000,29170=>1000,29171=>1000,29172=>1000,29173=>1000,29174=>1000,29175=>1000,29176=>1000,29177=>1000,29178=>1000,29179=>1000,29180=>1000,29181=>1000,29182=>1000,29183=>1000,29184=>1000,29185=>1000,29186=>1000,29187=>1000,29188=>1000,29189=>1000,29190=>1000,29191=>1000,29192=>1000,29193=>1000,29194=>1000,29195=>1000,29196=>1000,29197=>1000,29198=>1000,29199=>1000,29200=>1000,29201=>1000,29202=>1000,29203=>1000,29204=>1000,29205=>1000,29206=>1000,29207=>1000,29208=>1000,29209=>1000,29210=>1000,29211=>1000,29212=>1000,29213=>1000,29214=>1000,29215=>1000,29216=>1000,29217=>1000,29218=>1000,29219=>1000,29220=>1000,29221=>1000,29222=>1000,29223=>1000,29224=>1000,29225=>1000,29226=>1000,29227=>1000,29228=>1000,29229=>1000,29230=>1000,29231=>1000,29232=>1000,29233=>1000,29234=>1000,29235=>1000,29236=>1000,29237=>1000,29238=>1000,29239=>1000,29240=>1000,29241=>1000,29242=>1000,29243=>1000,29244=>1000,29245=>1000,29246=>1000,29247=>1000,29248=>1000,29249=>1000,29250=>1000,29251=>1000,29252=>1000,29253=>1000,29254=>1000,29255=>1000,29256=>1000,29257=>1000,29258=>1000,29259=>1000,29260=>1000,29261=>1000,29262=>1000,29263=>1000,29264=>1000,29265=>1000,29266=>1000,29267=>1000,29268=>1000,29269=>1000,29270=>1000,29271=>1000,29272=>1000,29273=>1000,29274=>1000,29275=>1000,29276=>1000,29277=>1000,29278=>1000,29279=>1000,29280=>1000,29281=>1000,29282=>1000,29283=>1000,29284=>1000,29285=>1000,29286=>1000,29287=>1000,29288=>1000,29289=>1000,29290=>1000,29291=>1000,29292=>1000,29293=>1000,29294=>1000,29295=>1000,29296=>1000,29297=>1000,29298=>1000,29299=>1000,29300=>1000,29301=>1000,29302=>1000,29303=>1000,29304=>1000,29305=>1000,29306=>1000,29307=>1000,29308=>1000,29309=>1000,29310=>1000,29311=>1000,29312=>1000,29313=>1000,29314=>1000,29315=>1000,29316=>1000,29317=>1000,29318=>1000,29319=>1000,29320=>1000,29321=>1000,29322=>1000,29323=>1000,29324=>1000,29325=>1000,29326=>1000,29327=>1000,29328=>1000,29329=>1000,29330=>1000,29331=>1000,29332=>1000,29333=>1000,29334=>1000,29335=>1000,29336=>1000,29337=>1000,29338=>1000,29339=>1000,29340=>1000,29341=>1000,29342=>1000,29343=>1000,29344=>1000,29345=>1000,29346=>1000,29347=>1000,29348=>1000,29349=>1000,29350=>1000,29351=>1000,29352=>1000,29353=>1000,29354=>1000,29355=>1000,29356=>1000,29357=>1000,29358=>1000,29359=>1000,29360=>1000,29361=>1000,29362=>1000,29363=>1000,29364=>1000,29365=>1000,29366=>1000,29367=>1000,29368=>1000,29369=>1000,29370=>1000,29371=>1000,29372=>1000,29373=>1000,29374=>1000,29375=>1000,29376=>1000,29377=>1000,29378=>1000,29379=>1000,29380=>1000,29381=>1000,29382=>1000,29383=>1000,29384=>1000,29385=>1000,29386=>1000,29387=>1000,29388=>1000,29389=>1000,29390=>1000,29391=>1000,29392=>1000,29393=>1000,29394=>1000,29395=>1000,29396=>1000,29397=>1000,29398=>1000,29399=>1000,29400=>1000,29401=>1000,29402=>1000,29403=>1000,29404=>1000,29405=>1000,29406=>1000,29407=>1000,29408=>1000,29409=>1000,29410=>1000,29411=>1000,29412=>1000,29413=>1000,29414=>1000,29415=>1000,29416=>1000,29417=>1000,29418=>1000,29419=>1000,29420=>1000,29421=>1000,29422=>1000,29423=>1000,29424=>1000,29425=>1000,29426=>1000,29427=>1000,29428=>1000,29429=>1000,29430=>1000,29431=>1000,29432=>1000,29433=>1000,29434=>1000,29435=>1000,29436=>1000,29437=>1000,29438=>1000,29439=>1000,29440=>1000,29441=>1000,29442=>1000,29443=>1000,29444=>1000,29445=>1000,29446=>1000,29447=>1000,29448=>1000,29449=>1000,29450=>1000,29451=>1000,29452=>1000,29453=>1000,29454=>1000,29455=>1000,29456=>1000,29457=>1000,29458=>1000,29459=>1000,29460=>1000,29461=>1000,29462=>1000,29463=>1000,29464=>1000,29465=>1000,29466=>1000,29467=>1000,29468=>1000,29469=>1000,29470=>1000,29471=>1000,29472=>1000,29473=>1000,29474=>1000,29475=>1000,29476=>1000,29477=>1000,29478=>1000,29479=>1000,29480=>1000,29481=>1000,29482=>1000,29483=>1000,29484=>1000,29485=>1000,29486=>1000,29487=>1000,29488=>1000,29489=>1000,29490=>1000,29491=>1000,29492=>1000,29493=>1000,29494=>1000,29495=>1000,29496=>1000,29497=>1000,29498=>1000,29499=>1000,29500=>1000,29501=>1000,29502=>1000,29503=>1000,29504=>1000,29505=>1000,29506=>1000,29507=>1000,29508=>1000,29509=>1000,29510=>1000,29511=>1000,29512=>1000,29513=>1000,29514=>1000,29515=>1000,29516=>1000,29517=>1000,29518=>1000,29519=>1000,29520=>1000,29521=>1000,29522=>1000,29523=>1000,29524=>1000,29525=>1000,29526=>1000,29527=>1000,29528=>1000,29529=>1000,29530=>1000,29531=>1000,29532=>1000,29533=>1000,29534=>1000,29535=>1000,29536=>1000,29537=>1000,29538=>1000,29539=>1000,29540=>1000,29541=>1000,29542=>1000,29543=>1000,29544=>1000,29545=>1000,29546=>1000,29547=>1000,29548=>1000,29549=>1000,29550=>1000,29551=>1000,29552=>1000,29553=>1000,29554=>1000,29555=>1000,29556=>1000,29557=>1000,29558=>1000,29559=>1000,29560=>1000,29561=>1000,29562=>1000,29563=>1000,29564=>1000,29565=>1000,29566=>1000,29567=>1000,29568=>1000,29569=>1000,29570=>1000,29571=>1000,29572=>1000,29573=>1000,29574=>1000,29575=>1000,29576=>1000,29577=>1000,29578=>1000,29579=>1000,29580=>1000,29581=>1000,29582=>1000,29583=>1000,29584=>1000,29585=>1000,29586=>1000,29587=>1000,29588=>1000,29589=>1000,29590=>1000,29591=>1000,29592=>1000,29593=>1000,29594=>1000,29595=>1000,29596=>1000,29597=>1000,29598=>1000,29599=>1000,29600=>1000,29601=>1000,29602=>1000,29603=>1000,29604=>1000,29605=>1000,29606=>1000,29607=>1000,29608=>1000,29609=>1000,29610=>1000,29611=>1000,29612=>1000,29613=>1000,29614=>1000,29615=>1000,29616=>1000,29617=>1000,29618=>1000,29619=>1000,29620=>1000,29621=>1000,29622=>1000,29623=>1000,29624=>1000,29625=>1000,29626=>1000,29627=>1000,29628=>1000,29629=>1000,29630=>1000,29631=>1000,29632=>1000,29633=>1000,29634=>1000,29635=>1000,29636=>1000,29637=>1000,29638=>1000,29639=>1000,29640=>1000,29641=>1000,29642=>1000,29643=>1000,29644=>1000,29645=>1000,29646=>1000,29647=>1000,29648=>1000,29649=>1000,29650=>1000,29651=>1000,29652=>1000,29653=>1000,29654=>1000,29655=>1000,29656=>1000,29657=>1000,29658=>1000,29659=>1000,29660=>1000,29661=>1000,29662=>1000,29663=>1000,29664=>1000,29665=>1000,29666=>1000,29667=>1000,29668=>1000,29669=>1000,29670=>1000,29671=>1000,29672=>1000,29673=>1000,29674=>1000,29675=>1000,29676=>1000,29677=>1000,29678=>1000,29679=>1000,29680=>1000,29681=>1000,29682=>1000,29683=>1000,29684=>1000,29685=>1000,29686=>1000,29687=>1000,29688=>1000,29689=>1000,29690=>1000,29691=>1000,29692=>1000,29693=>1000,29694=>1000,29695=>1000,29696=>1000,29697=>1000,29698=>1000,29699=>1000,29700=>1000,29701=>1000,29702=>1000,29703=>1000,29704=>1000,29705=>1000,29706=>1000,29707=>1000,29708=>1000,29709=>1000,29710=>1000,29711=>1000,29712=>1000,29713=>1000,29714=>1000,29715=>1000,29716=>1000,29717=>1000,29718=>1000,29719=>1000,29720=>1000,29721=>1000,29722=>1000,29723=>1000,29724=>1000,29725=>1000,29726=>1000,29727=>1000,29728=>1000,29729=>1000,29730=>1000,29731=>1000,29732=>1000,29733=>1000,29734=>1000,29735=>1000,29736=>1000,29737=>1000,29738=>1000,29739=>1000,29740=>1000,29741=>1000,29742=>1000,29743=>1000,29744=>1000,29745=>1000,29746=>1000,29747=>1000,29748=>1000,29749=>1000,29750=>1000,29751=>1000,29752=>1000,29753=>1000,29754=>1000,29755=>1000,29756=>1000,29757=>1000,29758=>1000,29759=>1000,29760=>1000,29761=>1000,29762=>1000,29763=>1000,29764=>1000,29765=>1000,29766=>1000,29767=>1000,29768=>1000,29769=>1000,29770=>1000,29771=>1000,29772=>1000,29773=>1000,29774=>1000,29775=>1000,29776=>1000,29777=>1000,29778=>1000,29779=>1000,29780=>1000,29781=>1000,29782=>1000,29783=>1000,29784=>1000,29785=>1000,29786=>1000,29787=>1000,29788=>1000,29789=>1000,29790=>1000,29791=>1000,29792=>1000,29793=>1000,29794=>1000,29795=>1000,29796=>1000,29797=>1000,29798=>1000,29799=>1000,29800=>1000,29801=>1000,29802=>1000,29803=>1000,29804=>1000,29805=>1000,29806=>1000,29807=>1000,29808=>1000,29809=>1000,29810=>1000,29811=>1000,29812=>1000,29813=>1000,29814=>1000,29815=>1000,29816=>1000,29817=>1000,29818=>1000,29819=>1000,29820=>1000,29821=>1000,29822=>1000,29823=>1000,29824=>1000,29825=>1000,29826=>1000,29827=>1000,29828=>1000,29829=>1000,29830=>1000,29831=>1000,29832=>1000,29833=>1000,29834=>1000,29835=>1000,29836=>1000,29837=>1000,29838=>1000,29839=>1000,29840=>1000,29841=>1000,29842=>1000,29843=>1000,29844=>1000,29845=>1000,29846=>1000,29847=>1000,29848=>1000,29849=>1000,29850=>1000,29851=>1000,29852=>1000,29853=>1000,29854=>1000,29855=>1000,29856=>1000,29857=>1000,29858=>1000,29859=>1000,29860=>1000,29861=>1000,29862=>1000,29863=>1000,29864=>1000,29865=>1000,29866=>1000,29867=>1000,29868=>1000,29869=>1000,29870=>1000,29871=>1000,29872=>1000,29873=>1000,29874=>1000,29875=>1000,29876=>1000,29877=>1000,29878=>1000,29879=>1000,29880=>1000,29881=>1000,29882=>1000,29883=>1000,29884=>1000,29885=>1000,29886=>1000,29887=>1000,29888=>1000,29889=>1000,29890=>1000,29891=>1000,29892=>1000,29893=>1000,29894=>1000,29895=>1000,29896=>1000,29897=>1000,29898=>1000,29899=>1000,29900=>1000,29901=>1000,29902=>1000,29903=>1000,29904=>1000,29905=>1000,29906=>1000,29907=>1000,29908=>1000,29909=>1000,29910=>1000,29911=>1000,29912=>1000,29913=>1000,29914=>1000,29915=>1000,29916=>1000,29917=>1000,29918=>1000,29919=>1000,29920=>1000,29921=>1000,29922=>1000,29923=>1000,29924=>1000,29925=>1000,29926=>1000,29927=>1000,29928=>1000,29929=>1000,29930=>1000,29931=>1000,29932=>1000,29933=>1000,29934=>1000,29935=>1000,29936=>1000,29937=>1000,29938=>1000,29939=>1000,29940=>1000,29941=>1000,29942=>1000,29943=>1000,29944=>1000,29945=>1000,29946=>1000,29947=>1000,29948=>1000,29949=>1000,29950=>1000,29951=>1000,29952=>1000,29953=>1000,29954=>1000,29955=>1000,29956=>1000,29957=>1000,29958=>1000,29959=>1000,29960=>1000,29961=>1000,29962=>1000,29963=>1000,29964=>1000,29965=>1000,29966=>1000,29967=>1000,29968=>1000,29969=>1000,29970=>1000,29971=>1000,29972=>1000,29973=>1000,29974=>1000,29975=>1000,29976=>1000,29977=>1000,29978=>1000,29979=>1000,29980=>1000,29981=>1000,29982=>1000,29983=>1000,29984=>1000,29985=>1000,29986=>1000,29987=>1000,29988=>1000,29989=>1000,29990=>1000,29991=>1000,29992=>1000,29993=>1000,29994=>1000,29995=>1000,29996=>1000,29997=>1000,29998=>1000,29999=>1000,30000=>1000,30001=>1000,30002=>1000,30003=>1000,30004=>1000,30005=>1000,30006=>1000,30007=>1000,30008=>1000,30009=>1000,30010=>1000,30011=>1000,30012=>1000,30013=>1000,30014=>1000,30015=>1000,30016=>1000,30017=>1000,30018=>1000,30019=>1000,30020=>1000,30021=>1000,30022=>1000,30023=>1000,30024=>1000,30025=>1000,30026=>1000,30027=>1000,30028=>1000,30029=>1000,30030=>1000,30031=>1000,30032=>1000,30033=>1000,30034=>1000,30035=>1000,30036=>1000,30037=>1000,30038=>1000,30039=>1000,30040=>1000,30041=>1000,30042=>1000,30043=>1000,30044=>1000,30045=>1000,30046=>1000,30047=>1000,30048=>1000,30049=>1000,30050=>1000,30051=>1000,30052=>1000,30053=>1000,30054=>1000,30055=>1000,30056=>1000,30057=>1000,30058=>1000,30059=>1000,30060=>1000,30061=>1000,30062=>1000,30063=>1000,30064=>1000,30065=>1000,30066=>1000,30067=>1000,30068=>1000,30069=>1000,30070=>1000,30071=>1000,30072=>1000,30073=>1000,30074=>1000,30075=>1000,30076=>1000,30077=>1000,30078=>1000,30079=>1000,30080=>1000,30081=>1000,30082=>1000,30083=>1000,30084=>1000,30085=>1000,30086=>1000,30087=>1000,30088=>1000,30089=>1000,30090=>1000,30091=>1000,30092=>1000,30093=>1000,30094=>1000,30095=>1000,30096=>1000,30097=>1000,30098=>1000,30099=>1000,30100=>1000,30101=>1000,30102=>1000,30103=>1000,30104=>1000,30105=>1000,30106=>1000,30107=>1000,30108=>1000,30109=>1000,30110=>1000,30111=>1000,30112=>1000,30113=>1000,30114=>1000,30115=>1000,30116=>1000,30117=>1000,30118=>1000,30119=>1000,30120=>1000,30121=>1000,30122=>1000,30123=>1000,30124=>1000,30125=>1000,30126=>1000,30127=>1000,30128=>1000,30129=>1000,30130=>1000,30131=>1000,30132=>1000,30133=>1000,30134=>1000,30135=>1000,30136=>1000,30137=>1000,30138=>1000,30139=>1000,30140=>1000,30141=>1000,30142=>1000,30143=>1000,30144=>1000,30145=>1000,30146=>1000,30147=>1000,30148=>1000,30149=>1000,30150=>1000,30151=>1000,30152=>1000,30153=>1000,30154=>1000,30155=>1000,30156=>1000,30157=>1000,30158=>1000,30159=>1000,30160=>1000,30161=>1000,30162=>1000,30163=>1000,30164=>1000,30165=>1000,30166=>1000,30167=>1000,30168=>1000,30169=>1000,30170=>1000,30171=>1000,30172=>1000,30173=>1000,30174=>1000,30175=>1000,30176=>1000,30177=>1000,30178=>1000,30179=>1000,30180=>1000,30181=>1000,30182=>1000,30183=>1000,30184=>1000,30185=>1000,30186=>1000,30187=>1000,30188=>1000,30189=>1000,30190=>1000,30191=>1000,30192=>1000,30193=>1000,30194=>1000,30195=>1000,30196=>1000,30197=>1000,30198=>1000,30199=>1000,30200=>1000,30201=>1000,30202=>1000,30203=>1000,30204=>1000,30205=>1000,30206=>1000,30207=>1000,30208=>1000,30209=>1000,30210=>1000,30211=>1000,30212=>1000,30213=>1000,30214=>1000,30215=>1000,30216=>1000,30217=>1000,30218=>1000,30219=>1000,30220=>1000,30221=>1000,30222=>1000,30223=>1000,30224=>1000,30225=>1000,30226=>1000,30227=>1000,30228=>1000,30229=>1000,30230=>1000,30231=>1000,30232=>1000,30233=>1000,30234=>1000,30235=>1000,30236=>1000,30237=>1000,30238=>1000,30239=>1000,30240=>1000,30241=>1000,30242=>1000,30243=>1000,30244=>1000,30245=>1000,30246=>1000,30247=>1000,30248=>1000,30249=>1000,30250=>1000,30251=>1000,30252=>1000,30253=>1000,30254=>1000,30255=>1000,30256=>1000,30257=>1000,30258=>1000,30259=>1000,30260=>1000,30261=>1000,30262=>1000,30263=>1000,30264=>1000,30265=>1000,30266=>1000,30267=>1000,30268=>1000,30269=>1000,30270=>1000,30271=>1000,30272=>1000,30273=>1000,30274=>1000,30275=>1000,30276=>1000,30277=>1000,30278=>1000,30279=>1000,30280=>1000,30281=>1000,30282=>1000,30283=>1000,30284=>1000,30285=>1000,30286=>1000,30287=>1000,30288=>1000,30289=>1000,30290=>1000,30291=>1000,30292=>1000,30293=>1000,30294=>1000,30295=>1000,30296=>1000,30297=>1000,30298=>1000,30299=>1000,30300=>1000,30301=>1000,30302=>1000,30303=>1000,30304=>1000,30305=>1000,30306=>1000,30307=>1000,30308=>1000,30309=>1000,30310=>1000,30311=>1000,30312=>1000,30313=>1000,30314=>1000,30315=>1000,30316=>1000,30317=>1000,30318=>1000,30319=>1000,30320=>1000,30321=>1000,30322=>1000,30323=>1000,30324=>1000,30325=>1000,30326=>1000,30327=>1000,30328=>1000,30329=>1000,30330=>1000,30331=>1000,30332=>1000,30333=>1000,30334=>1000,30335=>1000,30336=>1000,30337=>1000,30338=>1000,30339=>1000,30340=>1000,30341=>1000,30342=>1000,30343=>1000,30344=>1000,30345=>1000,30346=>1000,30347=>1000,30348=>1000,30349=>1000,30350=>1000,30351=>1000,30352=>1000,30353=>1000,30354=>1000,30355=>1000,30356=>1000,30357=>1000,30358=>1000,30359=>1000,30360=>1000,30361=>1000,30362=>1000,30363=>1000,30364=>1000,30365=>1000,30366=>1000,30367=>1000,30368=>1000,30369=>1000,30370=>1000,30371=>1000,30372=>1000,30373=>1000,30374=>1000,30375=>1000,30376=>1000,30377=>1000,30378=>1000,30379=>1000,30380=>1000,30381=>1000,30382=>1000,30383=>1000,30384=>1000,30385=>1000,30386=>1000,30387=>1000,30388=>1000,30389=>1000,30390=>1000,30391=>1000,30392=>1000,30393=>1000,30394=>1000,30395=>1000,30396=>1000,30397=>1000,30398=>1000,30399=>1000,30400=>1000,30401=>1000,30402=>1000,30403=>1000,30404=>1000,30405=>1000,30406=>1000,30407=>1000,30408=>1000,30409=>1000,30410=>1000,30411=>1000,30412=>1000,30413=>1000,30414=>1000,30415=>1000,30416=>1000,30417=>1000,30418=>1000,30419=>1000,30420=>1000,30421=>1000,30422=>1000,30423=>1000,30424=>1000,30425=>1000,30426=>1000,30427=>1000,30428=>1000,30429=>1000,30430=>1000,30431=>1000,30432=>1000,30433=>1000,30434=>1000,30435=>1000,30436=>1000,30437=>1000,30438=>1000,30439=>1000,30440=>1000,30441=>1000,30442=>1000,30443=>1000,30444=>1000,30445=>1000,30446=>1000,30447=>1000,30448=>1000,30449=>1000,30450=>1000,30451=>1000,30452=>1000,30453=>1000,30454=>1000,30455=>1000,30456=>1000,30457=>1000,30458=>1000,30459=>1000,30460=>1000,30461=>1000,30462=>1000,30463=>1000,30464=>1000,30465=>1000,30466=>1000,30467=>1000,30468=>1000,30469=>1000,30470=>1000,30471=>1000,30472=>1000,30473=>1000,30474=>1000,30475=>1000,30476=>1000,30477=>1000,30478=>1000,30479=>1000,30480=>1000,30481=>1000,30482=>1000,30483=>1000,30484=>1000,30485=>1000,30486=>1000,30487=>1000,30488=>1000,30489=>1000,30490=>1000,30491=>1000,30492=>1000,30493=>1000,30494=>1000,30495=>1000,30496=>1000,30497=>1000,30498=>1000,30499=>1000,30500=>1000,30501=>1000,30502=>1000,30503=>1000,30504=>1000,30505=>1000,30506=>1000,30507=>1000,30508=>1000,30509=>1000,30510=>1000,30511=>1000,30512=>1000,30513=>1000,30514=>1000,30515=>1000,30516=>1000,30517=>1000,30518=>1000,30519=>1000,30520=>1000,30521=>1000,30522=>1000,30523=>1000,30524=>1000,30525=>1000,30526=>1000,30527=>1000,30528=>1000,30529=>1000,30530=>1000,30531=>1000,30532=>1000,30533=>1000,30534=>1000,30535=>1000,30536=>1000,30537=>1000,30538=>1000,30539=>1000,30540=>1000,30541=>1000,30542=>1000,30543=>1000,30544=>1000,30545=>1000,30546=>1000,30547=>1000,30548=>1000,30549=>1000,30550=>1000,30551=>1000,30552=>1000,30553=>1000,30554=>1000,30555=>1000,30556=>1000,30557=>1000,30558=>1000,30559=>1000,30560=>1000,30561=>1000,30562=>1000,30563=>1000,30564=>1000,30565=>1000,30566=>1000,30567=>1000,30568=>1000,30569=>1000,30570=>1000,30571=>1000,30572=>1000,30573=>1000,30574=>1000,30575=>1000,30576=>1000,30577=>1000,30578=>1000,30579=>1000,30580=>1000,30581=>1000,30582=>1000,30583=>1000,30584=>1000,30585=>1000,30586=>1000,30587=>1000,30588=>1000,30589=>1000,30590=>1000,30591=>1000,30592=>1000,30593=>1000,30594=>1000,30595=>1000,30596=>1000,30597=>1000,30598=>1000,30599=>1000,30600=>1000,30601=>1000,30602=>1000,30603=>1000,30604=>1000,30605=>1000,30606=>1000,30607=>1000,30608=>1000,30609=>1000,30610=>1000,30611=>1000,30612=>1000,30613=>1000,30614=>1000,30615=>1000,30616=>1000,30617=>1000,30618=>1000,30619=>1000,30620=>1000,30621=>1000,30622=>1000,30623=>1000,30624=>1000,30625=>1000,30626=>1000,30627=>1000,30628=>1000,30629=>1000,30630=>1000,30631=>1000,30632=>1000,30633=>1000,30634=>1000,30635=>1000,30636=>1000,30637=>1000,30638=>1000,30639=>1000,30640=>1000,30641=>1000,30642=>1000,30643=>1000,30644=>1000,30645=>1000,30646=>1000,30647=>1000,30648=>1000,30649=>1000,30650=>1000,30651=>1000,30652=>1000,30653=>1000,30654=>1000,30655=>1000,30656=>1000,30657=>1000,30658=>1000,30659=>1000,30660=>1000,30661=>1000,30662=>1000,30663=>1000,30664=>1000,30665=>1000,30666=>1000,30667=>1000,30668=>1000,30669=>1000,30670=>1000,30671=>1000,30672=>1000,30673=>1000,30674=>1000,30675=>1000,30676=>1000,30677=>1000,30678=>1000,30679=>1000,30680=>1000,30681=>1000,30682=>1000,30683=>1000,30684=>1000,30685=>1000,30686=>1000,30687=>1000,30688=>1000,30689=>1000,30690=>1000,30691=>1000,30692=>1000,30693=>1000,30694=>1000,30695=>1000,30696=>1000,30697=>1000,30698=>1000,30699=>1000,30700=>1000,30701=>1000,30702=>1000,30703=>1000,30704=>1000,30705=>1000,30706=>1000,30707=>1000,30708=>1000,30709=>1000,30710=>1000,30711=>1000,30712=>1000,30713=>1000,30714=>1000,30715=>1000,30716=>1000,30717=>1000,30718=>1000,30719=>1000,30720=>1000,30721=>1000,30722=>1000,30723=>1000,30724=>1000,30725=>1000,30726=>1000,30727=>1000,30728=>1000,30729=>1000,30730=>1000,30731=>1000,30732=>1000,30733=>1000,30734=>1000,30735=>1000,30736=>1000,30737=>1000,30738=>1000,30739=>1000,30740=>1000,30741=>1000,30742=>1000,30743=>1000,30744=>1000,30745=>1000,30746=>1000,30747=>1000,30748=>1000,30749=>1000,30750=>1000,30751=>1000,30752=>1000,30753=>1000,30754=>1000,30755=>1000,30756=>1000,30757=>1000,30758=>1000,30759=>1000,30760=>1000,30761=>1000,30762=>1000,30763=>1000,30764=>1000,30765=>1000,30766=>1000,30767=>1000,30768=>1000,30769=>1000,30770=>1000,30771=>1000,30772=>1000,30773=>1000,30774=>1000,30775=>1000,30776=>1000,30777=>1000,30778=>1000,30779=>1000,30780=>1000,30781=>1000,30782=>1000,30783=>1000,30784=>1000,30785=>1000,30786=>1000,30787=>1000,30788=>1000,30789=>1000,30790=>1000,30791=>1000,30792=>1000,30793=>1000,30794=>1000,30795=>1000,30796=>1000,30797=>1000,30798=>1000,30799=>1000,30800=>1000,30801=>1000,30802=>1000,30803=>1000,30804=>1000,30805=>1000,30806=>1000,30807=>1000,30808=>1000,30809=>1000,30810=>1000,30811=>1000,30812=>1000,30813=>1000,30814=>1000,30815=>1000,30816=>1000,30817=>1000,30818=>1000,30819=>1000,30820=>1000,30821=>1000,30822=>1000,30823=>1000,30824=>1000,30825=>1000,30826=>1000,30827=>1000,30828=>1000,30829=>1000,30830=>1000,30831=>1000,30832=>1000,30833=>1000,30834=>1000,30835=>1000,30836=>1000,30837=>1000,30838=>1000,30839=>1000,30840=>1000,30841=>1000,30842=>1000,30843=>1000,30844=>1000,30845=>1000,30846=>1000,30847=>1000,30848=>1000,30849=>1000,30850=>1000,30851=>1000,30852=>1000,30853=>1000,30854=>1000,30855=>1000,30856=>1000,30857=>1000,30858=>1000,30859=>1000,30860=>1000,30861=>1000,30862=>1000,30863=>1000,30864=>1000,30865=>1000,30866=>1000,30867=>1000,30868=>1000,30869=>1000,30870=>1000,30871=>1000,30872=>1000,30873=>1000,30874=>1000,30875=>1000,30876=>1000,30877=>1000,30878=>1000,30879=>1000,30880=>1000,30881=>1000,30882=>1000,30883=>1000,30884=>1000,30885=>1000,30886=>1000,30887=>1000,30888=>1000,30889=>1000,30890=>1000,30891=>1000,30892=>1000,30893=>1000,30894=>1000,30895=>1000,30896=>1000,30897=>1000,30898=>1000,30899=>1000,30900=>1000,30901=>1000,30902=>1000,30903=>1000,30904=>1000,30905=>1000,30906=>1000,30907=>1000,30908=>1000,30909=>1000,30910=>1000,30911=>1000,30912=>1000,30913=>1000,30914=>1000,30915=>1000,30916=>1000,30917=>1000,30918=>1000,30919=>1000,30920=>1000,30921=>1000,30922=>1000,30923=>1000,30924=>1000,30925=>1000,30926=>1000,30927=>1000,30928=>1000,30929=>1000,30930=>1000,30931=>1000,30932=>1000,30933=>1000,30934=>1000,30935=>1000,30936=>1000,30937=>1000,30938=>1000,30939=>1000,30940=>1000,30941=>1000,30942=>1000,30943=>1000,30944=>1000,30945=>1000,30946=>1000,30947=>1000,30948=>1000,30949=>1000,30950=>1000,30951=>1000,30952=>1000,30953=>1000,30954=>1000,30955=>1000,30956=>1000,30957=>1000,30958=>1000,30959=>1000,30960=>1000,30961=>1000,30962=>1000,30963=>1000,30964=>1000,30965=>1000,30966=>1000,30967=>1000,30968=>1000,30969=>1000,30970=>1000,30971=>1000,30972=>1000,30973=>1000,30974=>1000,30975=>1000,30976=>1000,30977=>1000,30978=>1000,30979=>1000,30980=>1000,30981=>1000,30982=>1000,30983=>1000,30984=>1000,30985=>1000,30986=>1000,30987=>1000,30988=>1000,30989=>1000,30990=>1000,30991=>1000,30992=>1000,30993=>1000,30994=>1000,30995=>1000,30996=>1000,30997=>1000,30998=>1000,30999=>1000,31000=>1000,31001=>1000,31002=>1000,31003=>1000,31004=>1000,31005=>1000,31006=>1000,31007=>1000,31008=>1000,31009=>1000,31010=>1000,31011=>1000,31012=>1000,31013=>1000,31014=>1000,31015=>1000,31016=>1000,31017=>1000,31018=>1000,31019=>1000,31020=>1000,31021=>1000,31022=>1000,31023=>1000,31024=>1000,31025=>1000,31026=>1000,31027=>1000,31028=>1000,31029=>1000,31030=>1000,31031=>1000,31032=>1000,31033=>1000,31034=>1000,31035=>1000,31036=>1000,31037=>1000,31038=>1000,31039=>1000,31040=>1000,31041=>1000,31042=>1000,31043=>1000,31044=>1000,31045=>1000,31046=>1000,31047=>1000,31048=>1000,31049=>1000,31050=>1000,31051=>1000,31052=>1000,31053=>1000,31054=>1000,31055=>1000,31056=>1000,31057=>1000,31058=>1000,31059=>1000,31060=>1000,31061=>1000,31062=>1000,31063=>1000,31064=>1000,31065=>1000,31066=>1000,31067=>1000,31068=>1000,31069=>1000,31070=>1000,31071=>1000,31072=>1000,31073=>1000,31074=>1000,31075=>1000,31076=>1000,31077=>1000,31078=>1000,31079=>1000,31080=>1000,31081=>1000,31082=>1000,31083=>1000,31084=>1000,31085=>1000,31086=>1000,31087=>1000,31088=>1000,31089=>1000,31090=>1000,31091=>1000,31092=>1000,31093=>1000,31094=>1000,31095=>1000,31096=>1000,31097=>1000,31098=>1000,31099=>1000,31100=>1000,31101=>1000,31102=>1000,31103=>1000,31104=>1000,31105=>1000,31106=>1000,31107=>1000,31108=>1000,31109=>1000,31110=>1000,31111=>1000,31112=>1000,31113=>1000,31114=>1000,31115=>1000,31116=>1000,31117=>1000,31118=>1000,31119=>1000,31120=>1000,31121=>1000,31122=>1000,31123=>1000,31124=>1000,31125=>1000,31126=>1000,31127=>1000,31128=>1000,31129=>1000,31130=>1000,31131=>1000,31132=>1000,31133=>1000,31134=>1000,31135=>1000,31136=>1000,31137=>1000,31138=>1000,31139=>1000,31140=>1000,31141=>1000,31142=>1000,31143=>1000,31144=>1000,31145=>1000,31146=>1000,31147=>1000,31148=>1000,31149=>1000,31150=>1000,31151=>1000,31152=>1000,31153=>1000,31154=>1000,31155=>1000,31156=>1000,31157=>1000,31158=>1000,31159=>1000,31160=>1000,31161=>1000,31162=>1000,31163=>1000,31164=>1000,31165=>1000,31166=>1000,31167=>1000,31168=>1000,31169=>1000,31170=>1000,31171=>1000,31172=>1000,31173=>1000,31174=>1000,31175=>1000,31176=>1000,31177=>1000,31178=>1000,31179=>1000,31180=>1000,31181=>1000,31182=>1000,31183=>1000,31184=>1000,31185=>1000,31186=>1000,31187=>1000,31188=>1000,31189=>1000,31190=>1000,31191=>1000,31192=>1000,31193=>1000,31194=>1000,31195=>1000,31196=>1000,31197=>1000,31198=>1000,31199=>1000,31200=>1000,31201=>1000,31202=>1000,31203=>1000,31204=>1000,31205=>1000,31206=>1000,31207=>1000,31208=>1000,31209=>1000,31210=>1000,31211=>1000,31212=>1000,31213=>1000,31214=>1000,31215=>1000,31216=>1000,31217=>1000,31218=>1000,31219=>1000,31220=>1000,31221=>1000,31222=>1000,31223=>1000,31224=>1000,31225=>1000,31226=>1000,31227=>1000,31228=>1000,31229=>1000,31230=>1000,31231=>1000,31232=>1000,31233=>1000,31234=>1000,31235=>1000,31236=>1000,31237=>1000,31238=>1000,31239=>1000,31240=>1000,31241=>1000,31242=>1000,31243=>1000,31244=>1000,31245=>1000,31246=>1000,31247=>1000,31248=>1000,31249=>1000,31250=>1000,31251=>1000,31252=>1000,31253=>1000,31254=>1000,31255=>1000,31256=>1000,31257=>1000,31258=>1000,31259=>1000,31260=>1000,31261=>1000,31262=>1000,31263=>1000,31264=>1000,31265=>1000,31266=>1000,31267=>1000,31268=>1000,31269=>1000,31270=>1000,31271=>1000,31272=>1000,31273=>1000,31274=>1000,31275=>1000,31276=>1000,31277=>1000,31278=>1000,31279=>1000,31280=>1000,31281=>1000,31282=>1000,31283=>1000,31284=>1000,31285=>1000,31286=>1000,31287=>1000,31288=>1000,31289=>1000,31290=>1000,31291=>1000,31292=>1000,31293=>1000,31294=>1000,31295=>1000,31296=>1000,31297=>1000,31298=>1000,31299=>1000,31300=>1000,31301=>1000,31302=>1000,31303=>1000,31304=>1000,31305=>1000,31306=>1000,31307=>1000,31308=>1000,31309=>1000,31310=>1000,31311=>1000,31312=>1000,31313=>1000,31314=>1000,31315=>1000,31316=>1000,31317=>1000,31318=>1000,31319=>1000,31320=>1000,31321=>1000,31322=>1000,31323=>1000,31324=>1000,31325=>1000,31326=>1000,31327=>1000,31328=>1000,31329=>1000,31330=>1000,31331=>1000,31332=>1000,31333=>1000,31334=>1000,31335=>1000,31336=>1000,31337=>1000,31338=>1000,31339=>1000,31340=>1000,31341=>1000,31342=>1000,31343=>1000,31344=>1000,31345=>1000,31346=>1000,31347=>1000,31348=>1000,31349=>1000,31350=>1000,31351=>1000,31352=>1000,31353=>1000,31354=>1000,31355=>1000,31356=>1000,31357=>1000,31358=>1000,31359=>1000,31360=>1000,31361=>1000,31362=>1000,31363=>1000,31364=>1000,31365=>1000,31366=>1000,31367=>1000,31368=>1000,31369=>1000,31370=>1000,31371=>1000,31372=>1000,31373=>1000,31374=>1000,31375=>1000,31376=>1000,31377=>1000,31378=>1000,31379=>1000,31380=>1000,31381=>1000,31382=>1000,31383=>1000,31384=>1000,31385=>1000,31386=>1000,31387=>1000,31388=>1000,31389=>1000,31390=>1000,31391=>1000,31392=>1000,31393=>1000,31394=>1000,31395=>1000,31396=>1000,31397=>1000,31398=>1000,31399=>1000,31400=>1000,31401=>1000,31402=>1000,31403=>1000,31404=>1000,31405=>1000,31406=>1000,31407=>1000,31408=>1000,31409=>1000,31410=>1000,31411=>1000,31412=>1000,31413=>1000,31414=>1000,31415=>1000,31416=>1000,31417=>1000,31418=>1000,31419=>1000,31420=>1000,31421=>1000,31422=>1000,31423=>1000,31424=>1000,31425=>1000,31426=>1000,31427=>1000,31428=>1000,31429=>1000,31430=>1000,31431=>1000,31432=>1000,31433=>1000,31434=>1000,31435=>1000,31436=>1000,31437=>1000,31438=>1000,31439=>1000,31440=>1000,31441=>1000,31442=>1000,31443=>1000,31444=>1000,31445=>1000,31446=>1000,31447=>1000,31448=>1000,31449=>1000,31450=>1000,31451=>1000,31452=>1000,31453=>1000,31454=>1000,31455=>1000,31456=>1000,31457=>1000,31458=>1000,31459=>1000,31460=>1000,31461=>1000,31462=>1000,31463=>1000,31464=>1000,31465=>1000,31466=>1000,31467=>1000,31468=>1000,31469=>1000,31470=>1000,31471=>1000,31472=>1000,31473=>1000,31474=>1000,31475=>1000,31476=>1000,31477=>1000,31478=>1000,31479=>1000,31480=>1000,31481=>1000,31482=>1000,31483=>1000,31484=>1000,31485=>1000,31486=>1000,31487=>1000,31488=>1000,31489=>1000,31490=>1000,31491=>1000,31492=>1000,31493=>1000,31494=>1000,31495=>1000,31496=>1000,31497=>1000,31498=>1000,31499=>1000,31500=>1000,31501=>1000,31502=>1000,31503=>1000,31504=>1000,31505=>1000,31506=>1000,31507=>1000,31508=>1000,31509=>1000,31510=>1000,31511=>1000,31512=>1000,31513=>1000,31514=>1000,31515=>1000,31516=>1000,31517=>1000,31518=>1000,31519=>1000,31520=>1000,31521=>1000,31522=>1000,31523=>1000,31524=>1000,31525=>1000,31526=>1000,31527=>1000,31528=>1000,31529=>1000,31530=>1000,31531=>1000,31532=>1000,31533=>1000,31534=>1000,31535=>1000,31536=>1000,31537=>1000,31538=>1000,31539=>1000,31540=>1000,31541=>1000,31542=>1000,31543=>1000,31544=>1000,31545=>1000,31546=>1000,31547=>1000,31548=>1000,31549=>1000,31550=>1000,31551=>1000,31552=>1000,31553=>1000,31554=>1000,31555=>1000,31556=>1000,31557=>1000,31558=>1000,31559=>1000,31560=>1000,31561=>1000,31562=>1000,31563=>1000,31564=>1000,31565=>1000,31566=>1000,31567=>1000,31568=>1000,31569=>1000,31570=>1000,31571=>1000,31572=>1000,31573=>1000,31574=>1000,31575=>1000,31576=>1000,31577=>1000,31578=>1000,31579=>1000,31580=>1000,31581=>1000,31582=>1000,31583=>1000,31584=>1000,31585=>1000,31586=>1000,31587=>1000,31588=>1000,31589=>1000,31590=>1000,31591=>1000,31592=>1000,31593=>1000,31594=>1000,31595=>1000,31596=>1000,31597=>1000,31598=>1000,31599=>1000,31600=>1000,31601=>1000,31602=>1000,31603=>1000,31604=>1000,31605=>1000,31606=>1000,31607=>1000,31608=>1000,31609=>1000,31610=>1000,31611=>1000,31612=>1000,31613=>1000,31614=>1000,31615=>1000,31616=>1000,31617=>1000,31618=>1000,31619=>1000,31620=>1000,31621=>1000,31622=>1000,31623=>1000,31624=>1000,31625=>1000,31626=>1000,31627=>1000,31628=>1000,31629=>1000,31630=>1000,31631=>1000,31632=>1000,31633=>1000,31634=>1000,31635=>1000,31636=>1000,31637=>1000,31638=>1000,31639=>1000,31640=>1000,31641=>1000,31642=>1000,31643=>1000,31644=>1000,31645=>1000,31646=>1000,31647=>1000,31648=>1000,31649=>1000,31650=>1000,31651=>1000,31652=>1000,31653=>1000,31654=>1000,31655=>1000,31656=>1000,31657=>1000,31658=>1000,31659=>1000,31660=>1000,31661=>1000,31662=>1000,31663=>1000,31664=>1000,31665=>1000,31666=>1000,31667=>1000,31668=>1000,31669=>1000,31670=>1000,31671=>1000,31672=>1000,31673=>1000,31674=>1000,31675=>1000,31676=>1000,31677=>1000,31678=>1000,31679=>1000,31680=>1000,31681=>1000,31682=>1000,31683=>1000,31684=>1000,31685=>1000,31686=>1000,31687=>1000,31688=>1000,31689=>1000,31690=>1000,31691=>1000,31692=>1000,31693=>1000,31694=>1000,31695=>1000,31696=>1000,31697=>1000,31698=>1000,31699=>1000,31700=>1000,31701=>1000,31702=>1000,31703=>1000,31704=>1000,31705=>1000,31706=>1000,31707=>1000,31708=>1000,31709=>1000,31710=>1000,31711=>1000,31712=>1000,31713=>1000,31714=>1000,31715=>1000,31716=>1000,31717=>1000,31718=>1000,31719=>1000,31720=>1000,31721=>1000,31722=>1000,31723=>1000,31724=>1000,31725=>1000,31726=>1000,31727=>1000,31728=>1000,31729=>1000,31730=>1000,31731=>1000,31732=>1000,31733=>1000,31734=>1000,31735=>1000,31736=>1000,31737=>1000,31738=>1000,31739=>1000,31740=>1000,31741=>1000,31742=>1000,31743=>1000,31744=>1000,31745=>1000,31746=>1000,31747=>1000,31748=>1000,31749=>1000,31750=>1000,31751=>1000,31752=>1000,31753=>1000,31754=>1000,31755=>1000,31756=>1000,31757=>1000,31758=>1000,31759=>1000,31760=>1000,31761=>1000,31762=>1000,31763=>1000,31764=>1000,31765=>1000,31766=>1000,31767=>1000,31768=>1000,31769=>1000,31770=>1000,31771=>1000,31772=>1000,31773=>1000,31774=>1000,31775=>1000,31776=>1000,31777=>1000,31778=>1000,31779=>1000,31780=>1000,31781=>1000,31782=>1000,31783=>1000,31784=>1000,31785=>1000,31786=>1000,31787=>1000,31788=>1000,31789=>1000,31790=>1000,31791=>1000,31792=>1000,31793=>1000,31794=>1000,31795=>1000,31796=>1000,31797=>1000,31798=>1000,31799=>1000,31800=>1000,31801=>1000,31802=>1000,31803=>1000,31804=>1000,31805=>1000,31806=>1000,31807=>1000,31808=>1000,31809=>1000,31810=>1000,31811=>1000,31812=>1000,31813=>1000,31814=>1000,31815=>1000,31816=>1000,31817=>1000,31818=>1000,31819=>1000,31820=>1000,31821=>1000,31822=>1000,31823=>1000,31824=>1000,31825=>1000,31826=>1000,31827=>1000,31828=>1000,31829=>1000,31830=>1000,31831=>1000,31832=>1000,31833=>1000,31834=>1000,31835=>1000,31836=>1000,31837=>1000,31838=>1000,31839=>1000,31840=>1000,31841=>1000,31842=>1000,31843=>1000,31844=>1000,31845=>1000,31846=>1000,31847=>1000,31848=>1000,31849=>1000,31850=>1000,31851=>1000,31852=>1000,31853=>1000,31854=>1000,31855=>1000,31856=>1000,31857=>1000,31858=>1000,31859=>1000,31860=>1000,31861=>1000,31862=>1000,31863=>1000,31864=>1000,31865=>1000,31866=>1000,31867=>1000,31868=>1000,31869=>1000,31870=>1000,31871=>1000,31872=>1000,31873=>1000,31874=>1000,31875=>1000,31876=>1000,31877=>1000,31878=>1000,31879=>1000,31880=>1000,31881=>1000,31882=>1000,31883=>1000,31884=>1000,31885=>1000,31886=>1000,31887=>1000,31888=>1000,31889=>1000,31890=>1000,31891=>1000,31892=>1000,31893=>1000,31894=>1000,31895=>1000,31896=>1000,31897=>1000,31898=>1000,31899=>1000,31900=>1000,31901=>1000,31902=>1000,31903=>1000,31904=>1000,31905=>1000,31906=>1000,31907=>1000,31908=>1000,31909=>1000,31910=>1000,31911=>1000,31912=>1000,31913=>1000,31914=>1000,31915=>1000,31916=>1000,31917=>1000,31918=>1000,31919=>1000,31920=>1000,31921=>1000,31922=>1000,31923=>1000,31924=>1000,31925=>1000,31926=>1000,31927=>1000,31928=>1000,31929=>1000,31930=>1000,31931=>1000,31932=>1000,31933=>1000,31934=>1000,31935=>1000,31936=>1000,31937=>1000,31938=>1000,31939=>1000,31940=>1000,31941=>1000,31942=>1000,31943=>1000,31944=>1000,31945=>1000,31946=>1000,31947=>1000,31948=>1000,31949=>1000,31950=>1000,31951=>1000,31952=>1000,31953=>1000,31954=>1000,31955=>1000,31956=>1000,31957=>1000,31958=>1000,31959=>1000,31960=>1000,31961=>1000,31962=>1000,31963=>1000,31964=>1000,31965=>1000,31966=>1000,31967=>1000,31968=>1000,31969=>1000,31970=>1000,31971=>1000,31972=>1000,31973=>1000,31974=>1000,31975=>1000,31976=>1000,31977=>1000,31978=>1000,31979=>1000,31980=>1000,31981=>1000,31982=>1000,31983=>1000,31984=>1000,31985=>1000,31986=>1000,31987=>1000,31988=>1000,31989=>1000,31990=>1000,31991=>1000,31992=>1000,31993=>1000,31994=>1000,31995=>1000,31996=>1000,31997=>1000,31998=>1000,31999=>1000,32000=>1000,32001=>1000,32002=>1000,32003=>1000,32004=>1000,32005=>1000,32006=>1000,32007=>1000,32008=>1000,32009=>1000,32010=>1000,32011=>1000,32012=>1000,32013=>1000,32014=>1000,32015=>1000,32016=>1000,32017=>1000,32018=>1000,32019=>1000,32020=>1000,32021=>1000,32022=>1000,32023=>1000,32024=>1000,32025=>1000,32026=>1000,32027=>1000,32028=>1000,32029=>1000,32030=>1000,32031=>1000,32032=>1000,32033=>1000,32034=>1000,32035=>1000,32036=>1000,32037=>1000,32038=>1000,32039=>1000,32040=>1000,32041=>1000,32042=>1000,32043=>1000,32044=>1000,32045=>1000,32046=>1000,32047=>1000,32048=>1000,32049=>1000,32050=>1000,32051=>1000,32052=>1000,32053=>1000,32054=>1000,32055=>1000,32056=>1000,32057=>1000,32058=>1000,32059=>1000,32060=>1000,32061=>1000,32062=>1000,32063=>1000,32064=>1000,32065=>1000,32066=>1000,32067=>1000,32068=>1000,32069=>1000,32070=>1000,32071=>1000,32072=>1000,32073=>1000,32074=>1000,32075=>1000,32076=>1000,32077=>1000,32078=>1000,32079=>1000,32080=>1000,32081=>1000,32082=>1000,32083=>1000,32084=>1000,32085=>1000,32086=>1000,32087=>1000,32088=>1000,32089=>1000,32090=>1000,32091=>1000,32092=>1000,32093=>1000,32094=>1000,32095=>1000,32096=>1000,32097=>1000,32098=>1000,32099=>1000,32100=>1000,32101=>1000,32102=>1000,32103=>1000,32104=>1000,32105=>1000,32106=>1000,32107=>1000,32108=>1000,32109=>1000,32110=>1000,32111=>1000,32112=>1000,32113=>1000,32114=>1000,32115=>1000,32116=>1000,32117=>1000,32118=>1000,32119=>1000,32120=>1000,32121=>1000,32122=>1000,32123=>1000,32124=>1000,32125=>1000,32126=>1000,32127=>1000,32128=>1000,32129=>1000,32130=>1000,32131=>1000,32132=>1000,32133=>1000,32134=>1000,32135=>1000,32136=>1000,32137=>1000,32138=>1000,32139=>1000,32140=>1000,32141=>1000,32142=>1000,32143=>1000,32144=>1000,32145=>1000,32146=>1000,32147=>1000,32148=>1000,32149=>1000,32150=>1000,32151=>1000,32152=>1000,32153=>1000,32154=>1000,32155=>1000,32156=>1000,32157=>1000,32158=>1000,32159=>1000,32160=>1000,32161=>1000,32162=>1000,32163=>1000,32164=>1000,32165=>1000,32166=>1000,32167=>1000,32168=>1000,32169=>1000,32170=>1000,32171=>1000,32172=>1000,32173=>1000,32174=>1000,32175=>1000,32176=>1000,32177=>1000,32178=>1000,32179=>1000,32180=>1000,32181=>1000,32182=>1000,32183=>1000,32184=>1000,32185=>1000,32186=>1000,32187=>1000,32188=>1000,32189=>1000,32190=>1000,32191=>1000,32192=>1000,32193=>1000,32194=>1000,32195=>1000,32196=>1000,32197=>1000,32198=>1000,32199=>1000,32200=>1000,32201=>1000,32202=>1000,32203=>1000,32204=>1000,32205=>1000,32206=>1000,32207=>1000,32208=>1000,32209=>1000,32210=>1000,32211=>1000,32212=>1000,32213=>1000,32214=>1000,32215=>1000,32216=>1000,32217=>1000,32218=>1000,32219=>1000,32220=>1000,32221=>1000,32222=>1000,32223=>1000,32224=>1000,32225=>1000,32226=>1000,32227=>1000,32228=>1000,32229=>1000,32230=>1000,32231=>1000,32232=>1000,32233=>1000,32234=>1000,32235=>1000,32236=>1000,32237=>1000,32238=>1000,32239=>1000,32240=>1000,32241=>1000,32242=>1000,32243=>1000,32244=>1000,32245=>1000,32246=>1000,32247=>1000,32248=>1000,32249=>1000,32250=>1000,32251=>1000,32252=>1000,32253=>1000,32254=>1000,32255=>1000,32256=>1000,32257=>1000,32258=>1000,32259=>1000,32260=>1000,32261=>1000,32262=>1000,32263=>1000,32264=>1000,32265=>1000,32266=>1000,32267=>1000,32268=>1000,32269=>1000,32270=>1000,32271=>1000,32272=>1000,32273=>1000,32274=>1000,32275=>1000,32276=>1000,32277=>1000,32278=>1000,32279=>1000,32280=>1000,32281=>1000,32282=>1000,32283=>1000,32284=>1000,32285=>1000,32286=>1000,32287=>1000,32288=>1000,32289=>1000,32290=>1000,32291=>1000,32292=>1000,32293=>1000,32294=>1000,32295=>1000,32296=>1000,32297=>1000,32298=>1000,32299=>1000,32300=>1000,32301=>1000,32302=>1000,32303=>1000,32304=>1000,32305=>1000,32306=>1000,32307=>1000,32308=>1000,32309=>1000,32310=>1000,32311=>1000,32312=>1000,32313=>1000,32314=>1000,32315=>1000,32316=>1000,32317=>1000,32318=>1000,32319=>1000,32320=>1000,32321=>1000,32322=>1000,32323=>1000,32324=>1000,32325=>1000,32326=>1000,32327=>1000,32328=>1000,32329=>1000,32330=>1000,32331=>1000,32332=>1000,32333=>1000,32334=>1000,32335=>1000,32336=>1000,32337=>1000,32338=>1000,32339=>1000,32340=>1000,32341=>1000,32342=>1000,32343=>1000,32344=>1000,32345=>1000,32346=>1000,32347=>1000,32348=>1000,32349=>1000,32350=>1000,32351=>1000,32352=>1000,32353=>1000,32354=>1000,32355=>1000,32356=>1000,32357=>1000,32358=>1000,32359=>1000,32360=>1000,32361=>1000,32362=>1000,32363=>1000,32364=>1000,32365=>1000,32366=>1000,32367=>1000,32368=>1000,32369=>1000,32370=>1000,32371=>1000,32372=>1000,32373=>1000,32374=>1000,32375=>1000,32376=>1000,32377=>1000,32378=>1000,32379=>1000,32380=>1000,32381=>1000,32382=>1000,32383=>1000,32384=>1000,32385=>1000,32386=>1000,32387=>1000,32388=>1000,32389=>1000,32390=>1000,32391=>1000,32392=>1000,32393=>1000,32394=>1000,32395=>1000,32396=>1000,32397=>1000,32398=>1000,32399=>1000,32400=>1000,32401=>1000,32402=>1000,32403=>1000,32404=>1000,32405=>1000,32406=>1000,32407=>1000,32408=>1000,32409=>1000,32410=>1000,32411=>1000,32412=>1000,32413=>1000,32414=>1000,32415=>1000,32416=>1000,32417=>1000,32418=>1000,32419=>1000,32420=>1000,32421=>1000,32422=>1000,32423=>1000,32424=>1000,32425=>1000,32426=>1000,32427=>1000,32428=>1000,32429=>1000,32430=>1000,32431=>1000,32432=>1000,32433=>1000,32434=>1000,32435=>1000,32436=>1000,32437=>1000,32438=>1000,32439=>1000,32440=>1000,32441=>1000,32442=>1000,32443=>1000,32444=>1000,32445=>1000,32446=>1000,32447=>1000,32448=>1000,32449=>1000,32450=>1000,32451=>1000,32452=>1000,32453=>1000,32454=>1000,32455=>1000,32456=>1000,32457=>1000,32458=>1000,32459=>1000,32460=>1000,32461=>1000,32462=>1000,32463=>1000,32464=>1000,32465=>1000,32466=>1000,32467=>1000,32468=>1000,32469=>1000,32470=>1000,32471=>1000,32472=>1000,32473=>1000,32474=>1000,32475=>1000,32476=>1000,32477=>1000,32478=>1000,32479=>1000,32480=>1000,32481=>1000,32482=>1000,32483=>1000,32484=>1000,32485=>1000,32486=>1000,32487=>1000,32488=>1000,32489=>1000,32490=>1000,32491=>1000,32492=>1000,32493=>1000,32494=>1000,32495=>1000,32496=>1000,32497=>1000,32498=>1000,32499=>1000,32500=>1000,32501=>1000,32502=>1000,32503=>1000,32504=>1000,32505=>1000,32506=>1000,32507=>1000,32508=>1000,32509=>1000,32510=>1000,32511=>1000,32512=>1000,32513=>1000,32514=>1000,32515=>1000,32516=>1000,32517=>1000,32518=>1000,32519=>1000,32520=>1000,32521=>1000,32522=>1000,32523=>1000,32524=>1000,32525=>1000,32526=>1000,32527=>1000,32528=>1000,32529=>1000,32530=>1000,32531=>1000,32532=>1000,32533=>1000,32534=>1000,32535=>1000,32536=>1000,32537=>1000,32538=>1000,32539=>1000,32540=>1000,32541=>1000,32542=>1000,32543=>1000,32544=>1000,32545=>1000,32546=>1000,32547=>1000,32548=>1000,32549=>1000,32550=>1000,32551=>1000,32552=>1000,32553=>1000,32554=>1000,32555=>1000,32556=>1000,32557=>1000,32558=>1000,32559=>1000,32560=>1000,32561=>1000,32562=>1000,32563=>1000,32564=>1000,32565=>1000,32566=>1000,32567=>1000,32568=>1000,32569=>1000,32570=>1000,32571=>1000,32572=>1000,32573=>1000,32574=>1000,32575=>1000,32576=>1000,32577=>1000,32578=>1000,32579=>1000,32580=>1000,32581=>1000,32582=>1000,32583=>1000,32584=>1000,32585=>1000,32586=>1000,32587=>1000,32588=>1000,32589=>1000,32590=>1000,32591=>1000,32592=>1000,32593=>1000,32594=>1000,32595=>1000,32596=>1000,32597=>1000,32598=>1000,32599=>1000,32600=>1000,32601=>1000,32602=>1000,32603=>1000,32604=>1000,32605=>1000,32606=>1000,32607=>1000,32608=>1000,32609=>1000,32610=>1000,32611=>1000,32612=>1000,32613=>1000,32614=>1000,32615=>1000,32616=>1000,32617=>1000,32618=>1000,32619=>1000,32620=>1000,32621=>1000,32622=>1000,32623=>1000,32624=>1000,32625=>1000,32626=>1000,32627=>1000,32628=>1000,32629=>1000,32630=>1000,32631=>1000,32632=>1000,32633=>1000,32634=>1000,32635=>1000,32636=>1000,32637=>1000,32638=>1000,32639=>1000,32640=>1000,32641=>1000,32642=>1000,32643=>1000,32644=>1000,32645=>1000,32646=>1000,32647=>1000,32648=>1000,32649=>1000,32650=>1000,32651=>1000,32652=>1000,32653=>1000,32654=>1000,32655=>1000,32656=>1000,32657=>1000,32658=>1000,32659=>1000,32660=>1000,32661=>1000,32662=>1000,32663=>1000,32664=>1000,32665=>1000,32666=>1000,32667=>1000,32668=>1000,32669=>1000,32670=>1000,32671=>1000,32672=>1000,32673=>1000,32674=>1000,32675=>1000,32676=>1000,32677=>1000,32678=>1000,32679=>1000,32680=>1000,32681=>1000,32682=>1000,32683=>1000,32684=>1000,32685=>1000,32686=>1000,32687=>1000,32688=>1000,32689=>1000,32690=>1000,32691=>1000,32692=>1000,32693=>1000,32694=>1000,32695=>1000,32696=>1000,32697=>1000,32698=>1000,32699=>1000,32700=>1000,32701=>1000,32702=>1000,32703=>1000,32704=>1000,32705=>1000,32706=>1000,32707=>1000,32708=>1000,32709=>1000,32710=>1000,32711=>1000,32712=>1000,32713=>1000,32714=>1000,32715=>1000,32716=>1000,32717=>1000,32718=>1000,32719=>1000,32720=>1000,32721=>1000,32722=>1000,32723=>1000,32724=>1000,32725=>1000,32726=>1000,32727=>1000,32728=>1000,32729=>1000,32730=>1000,32731=>1000,32732=>1000,32733=>1000,32734=>1000,32735=>1000,32736=>1000,32737=>1000,32738=>1000,32739=>1000,32740=>1000,32741=>1000,32742=>1000,32743=>1000,32744=>1000,32745=>1000,32746=>1000,32747=>1000,32748=>1000,32749=>1000,32750=>1000,32751=>1000,32752=>1000,32753=>1000,32754=>1000,32755=>1000,32756=>1000,32757=>1000,32758=>1000,32759=>1000,32760=>1000,32761=>1000,32762=>1000,32763=>1000,32764=>1000,32765=>1000,32766=>1000,32767=>1000,32768=>1000,32769=>1000,32770=>1000,32771=>1000,32772=>1000,32773=>1000,32774=>1000,32775=>1000,32776=>1000,32777=>1000,32778=>1000,32779=>1000,32780=>1000,32781=>1000,32782=>1000,32783=>1000,32784=>1000,32785=>1000,32786=>1000,32787=>1000,32788=>1000,32789=>1000,32790=>1000,32791=>1000,32792=>1000,32793=>1000,32794=>1000,32795=>1000,32796=>1000,32797=>1000,32798=>1000,32799=>1000,32800=>1000,32801=>1000,32802=>1000,32803=>1000,32804=>1000,32805=>1000,32806=>1000,32807=>1000,32808=>1000,32809=>1000,32810=>1000,32811=>1000,32812=>1000,32813=>1000,32814=>1000,32815=>1000,32816=>1000,32817=>1000,32818=>1000,32819=>1000,32820=>1000,32821=>1000,32822=>1000,32823=>1000,32824=>1000,32825=>1000,32826=>1000,32827=>1000,32828=>1000,32829=>1000,32830=>1000,32831=>1000,32832=>1000,32833=>1000,32834=>1000,32835=>1000,32836=>1000,32837=>1000,32838=>1000,32839=>1000,32840=>1000,32841=>1000,32842=>1000,32843=>1000,32844=>1000,32845=>1000,32846=>1000,32847=>1000,32848=>1000,32849=>1000,32850=>1000,32851=>1000,32852=>1000,32853=>1000,32854=>1000,32855=>1000,32856=>1000,32857=>1000,32858=>1000,32859=>1000,32860=>1000,32861=>1000,32862=>1000,32863=>1000,32864=>1000,32865=>1000,32866=>1000,32867=>1000,32868=>1000,32869=>1000,32870=>1000,32871=>1000,32872=>1000,32873=>1000,32874=>1000,32875=>1000,32876=>1000,32877=>1000,32878=>1000,32879=>1000,32880=>1000,32881=>1000,32882=>1000,32883=>1000,32884=>1000,32885=>1000,32886=>1000,32887=>1000,32888=>1000,32889=>1000,32890=>1000,32891=>1000,32892=>1000,32893=>1000,32894=>1000,32895=>1000,32896=>1000,32897=>1000,32898=>1000,32899=>1000,32900=>1000,32901=>1000,32902=>1000,32903=>1000,32904=>1000,32905=>1000,32906=>1000,32907=>1000,32908=>1000,32909=>1000,32910=>1000,32911=>1000,32912=>1000,32913=>1000,32914=>1000,32915=>1000,32916=>1000,32917=>1000,32918=>1000,32919=>1000,32920=>1000,32921=>1000,32922=>1000,32923=>1000,32924=>1000,32925=>1000,32926=>1000,32927=>1000,32928=>1000,32929=>1000,32930=>1000,32931=>1000,32932=>1000,32933=>1000,32934=>1000,32935=>1000,32936=>1000,32937=>1000,32938=>1000,32939=>1000,32940=>1000,32941=>1000,32942=>1000,32943=>1000,32944=>1000,32945=>1000,32946=>1000,32947=>1000,32948=>1000,32949=>1000,32950=>1000,32951=>1000,32952=>1000,32953=>1000,32954=>1000,32955=>1000,32956=>1000,32957=>1000,32958=>1000,32959=>1000,32960=>1000,32961=>1000,32962=>1000,32963=>1000,32964=>1000,32965=>1000,32966=>1000,32967=>1000,32968=>1000,32969=>1000,32970=>1000,32971=>1000,32972=>1000,32973=>1000,32974=>1000,32975=>1000,32976=>1000,32977=>1000,32978=>1000,32979=>1000,32980=>1000,32981=>1000,32982=>1000,32983=>1000,32984=>1000,32985=>1000,32986=>1000,32987=>1000,32988=>1000,32989=>1000,32990=>1000,32991=>1000,32992=>1000,32993=>1000,32994=>1000,32995=>1000,32996=>1000,32997=>1000,32998=>1000,32999=>1000,33000=>1000,33001=>1000,33002=>1000,33003=>1000,33004=>1000,33005=>1000,33006=>1000,33007=>1000,33008=>1000,33009=>1000,33010=>1000,33011=>1000,33012=>1000,33013=>1000,33014=>1000,33015=>1000,33016=>1000,33017=>1000,33018=>1000,33019=>1000,33020=>1000,33021=>1000,33022=>1000,33023=>1000,33024=>1000,33025=>1000,33026=>1000,33027=>1000,33028=>1000,33029=>1000,33030=>1000,33031=>1000,33032=>1000,33033=>1000,33034=>1000,33035=>1000,33036=>1000,33037=>1000,33038=>1000,33039=>1000,33040=>1000,33041=>1000,33042=>1000,33043=>1000,33044=>1000,33045=>1000,33046=>1000,33047=>1000,33048=>1000,33049=>1000,33050=>1000,33051=>1000,33052=>1000,33053=>1000,33054=>1000,33055=>1000,33056=>1000,33057=>1000,33058=>1000,33059=>1000,33060=>1000,33061=>1000,33062=>1000,33063=>1000,33064=>1000,33065=>1000,33066=>1000,33067=>1000,33068=>1000,33069=>1000,33070=>1000,33071=>1000,33072=>1000,33073=>1000,33074=>1000,33075=>1000,33076=>1000,33077=>1000,33078=>1000,33079=>1000,33080=>1000,33081=>1000,33082=>1000,33083=>1000,33084=>1000,33085=>1000,33086=>1000,33087=>1000,33088=>1000,33089=>1000,33090=>1000,33091=>1000,33092=>1000,33093=>1000,33094=>1000,33095=>1000,33096=>1000,33097=>1000,33098=>1000,33099=>1000,33100=>1000,33101=>1000,33102=>1000,33103=>1000,33104=>1000,33105=>1000,33106=>1000,33107=>1000,33108=>1000,33109=>1000,33110=>1000,33111=>1000,33112=>1000,33113=>1000,33114=>1000,33115=>1000,33116=>1000,33117=>1000,33118=>1000,33119=>1000,33120=>1000,33121=>1000,33122=>1000,33123=>1000,33124=>1000,33125=>1000,33126=>1000,33127=>1000,33128=>1000,33129=>1000,33130=>1000,33131=>1000,33132=>1000,33133=>1000,33134=>1000,33135=>1000,33136=>1000,33137=>1000,33138=>1000,33139=>1000,33140=>1000,33141=>1000,33142=>1000,33143=>1000,33144=>1000,33145=>1000,33146=>1000,33147=>1000,33148=>1000,33149=>1000,33150=>1000,33151=>1000,33152=>1000,33153=>1000,33154=>1000,33155=>1000,33156=>1000,33157=>1000,33158=>1000,33159=>1000,33160=>1000,33161=>1000,33162=>1000,33163=>1000,33164=>1000,33165=>1000,33166=>1000,33167=>1000,33168=>1000,33169=>1000,33170=>1000,33171=>1000,33172=>1000,33173=>1000,33174=>1000,33175=>1000,33176=>1000,33177=>1000,33178=>1000,33179=>1000,33180=>1000,33181=>1000,33182=>1000,33183=>1000,33184=>1000,33185=>1000,33186=>1000,33187=>1000,33188=>1000,33189=>1000,33190=>1000,33191=>1000,33192=>1000,33193=>1000,33194=>1000,33195=>1000,33196=>1000,33197=>1000,33198=>1000,33199=>1000,33200=>1000,33201=>1000,33202=>1000,33203=>1000,33204=>1000,33205=>1000,33206=>1000,33207=>1000,33208=>1000,33209=>1000,33210=>1000,33211=>1000,33212=>1000,33213=>1000,33214=>1000,33215=>1000,33216=>1000,33217=>1000,33218=>1000,33219=>1000,33220=>1000,33221=>1000,33222=>1000,33223=>1000,33224=>1000,33225=>1000,33226=>1000,33227=>1000,33228=>1000,33229=>1000,33230=>1000,33231=>1000,33232=>1000,33233=>1000,33234=>1000,33235=>1000,33236=>1000,33237=>1000,33238=>1000,33239=>1000,33240=>1000,33241=>1000,33242=>1000,33243=>1000,33244=>1000,33245=>1000,33246=>1000,33247=>1000,33248=>1000,33249=>1000,33250=>1000,33251=>1000,33252=>1000,33253=>1000,33254=>1000,33255=>1000,33256=>1000,33257=>1000,33258=>1000,33259=>1000,33260=>1000,33261=>1000,33262=>1000,33263=>1000,33264=>1000,33265=>1000,33266=>1000,33267=>1000,33268=>1000,33269=>1000,33270=>1000,33271=>1000,33272=>1000,33273=>1000,33274=>1000,33275=>1000,33276=>1000,33277=>1000,33278=>1000,33279=>1000,33280=>1000,33281=>1000,33282=>1000,33283=>1000,33284=>1000,33285=>1000,33286=>1000,33287=>1000,33288=>1000,33289=>1000,33290=>1000,33291=>1000,33292=>1000,33293=>1000,33294=>1000,33295=>1000,33296=>1000,33297=>1000,33298=>1000,33299=>1000,33300=>1000,33301=>1000,33302=>1000,33303=>1000,33304=>1000,33305=>1000,33306=>1000,33307=>1000,33308=>1000,33309=>1000,33310=>1000,33311=>1000,33312=>1000,33313=>1000,33314=>1000,33315=>1000,33316=>1000,33317=>1000,33318=>1000,33319=>1000,33320=>1000,33321=>1000,33322=>1000,33323=>1000,33324=>1000,33325=>1000,33326=>1000,33327=>1000,33328=>1000,33329=>1000,33330=>1000,33331=>1000,33332=>1000,33333=>1000,33334=>1000,33335=>1000,33336=>1000,33337=>1000,33338=>1000,33339=>1000,33340=>1000,33341=>1000,33342=>1000,33343=>1000,33344=>1000,33345=>1000,33346=>1000,33347=>1000,33348=>1000,33349=>1000,33350=>1000,33351=>1000,33352=>1000,33353=>1000,33354=>1000,33355=>1000,33356=>1000,33357=>1000,33358=>1000,33359=>1000,33360=>1000,33361=>1000,33362=>1000,33363=>1000,33364=>1000,33365=>1000,33366=>1000,33367=>1000,33368=>1000,33369=>1000,33370=>1000,33371=>1000,33372=>1000,33373=>1000,33374=>1000,33375=>1000,33376=>1000,33377=>1000,33378=>1000,33379=>1000,33380=>1000,33381=>1000,33382=>1000,33383=>1000,33384=>1000,33385=>1000,33386=>1000,33387=>1000,33388=>1000,33389=>1000,33390=>1000,33391=>1000,33392=>1000,33393=>1000,33394=>1000,33395=>1000,33396=>1000,33397=>1000,33398=>1000,33399=>1000,33400=>1000,33401=>1000,33402=>1000,33403=>1000,33404=>1000,33405=>1000,33406=>1000,33407=>1000,33408=>1000,33409=>1000,33410=>1000,33411=>1000,33412=>1000,33413=>1000,33414=>1000,33415=>1000,33416=>1000,33417=>1000,33418=>1000,33419=>1000,33420=>1000,33421=>1000,33422=>1000,33423=>1000,33424=>1000,33425=>1000,33426=>1000,33427=>1000,33428=>1000,33429=>1000,33430=>1000,33431=>1000,33432=>1000,33433=>1000,33434=>1000,33435=>1000,33436=>1000,33437=>1000,33438=>1000,33439=>1000,33440=>1000,33441=>1000,33442=>1000,33443=>1000,33444=>1000,33445=>1000,33446=>1000,33447=>1000,33448=>1000,33449=>1000,33450=>1000,33451=>1000,33452=>1000,33453=>1000,33454=>1000,33455=>1000,33456=>1000,33457=>1000,33458=>1000,33459=>1000,33460=>1000,33461=>1000,33462=>1000,33463=>1000,33464=>1000,33465=>1000,33466=>1000,33467=>1000,33468=>1000,33469=>1000,33470=>1000,33471=>1000,33472=>1000,33473=>1000,33474=>1000,33475=>1000,33476=>1000,33477=>1000,33478=>1000,33479=>1000,33480=>1000,33481=>1000,33482=>1000,33483=>1000,33484=>1000,33485=>1000,33486=>1000,33487=>1000,33488=>1000,33489=>1000,33490=>1000,33491=>1000,33492=>1000,33493=>1000,33494=>1000,33495=>1000,33496=>1000,33497=>1000,33498=>1000,33499=>1000,33500=>1000,33501=>1000,33502=>1000,33503=>1000,33504=>1000,33505=>1000,33506=>1000,33507=>1000,33508=>1000,33509=>1000,33510=>1000,33511=>1000,33512=>1000,33513=>1000,33514=>1000,33515=>1000,33516=>1000,33517=>1000,33518=>1000,33519=>1000,33520=>1000,33521=>1000,33522=>1000,33523=>1000,33524=>1000,33525=>1000,33526=>1000,33527=>1000,33528=>1000,33529=>1000,33530=>1000,33531=>1000,33532=>1000,33533=>1000,33534=>1000,33535=>1000,33536=>1000,33537=>1000,33538=>1000,33539=>1000,33540=>1000,33541=>1000,33542=>1000,33543=>1000,33544=>1000,33545=>1000,33546=>1000,33547=>1000,33548=>1000,33549=>1000,33550=>1000,33551=>1000,33552=>1000,33553=>1000,33554=>1000,33555=>1000,33556=>1000,33557=>1000,33558=>1000,33559=>1000,33560=>1000,33561=>1000,33562=>1000,33563=>1000,33564=>1000,33565=>1000,33566=>1000,33567=>1000,33568=>1000,33569=>1000,33570=>1000,33571=>1000,33572=>1000,33573=>1000,33574=>1000,33575=>1000,33576=>1000,33577=>1000,33578=>1000,33579=>1000,33580=>1000,33581=>1000,33582=>1000,33583=>1000,33584=>1000,33585=>1000,33586=>1000,33587=>1000,33588=>1000,33589=>1000,33590=>1000,33591=>1000,33592=>1000,33593=>1000,33594=>1000,33595=>1000,33596=>1000,33597=>1000,33598=>1000,33599=>1000,33600=>1000,33601=>1000,33602=>1000,33603=>1000,33604=>1000,33605=>1000,33606=>1000,33607=>1000,33608=>1000,33609=>1000,33610=>1000,33611=>1000,33612=>1000,33613=>1000,33614=>1000,33615=>1000,33616=>1000,33617=>1000,33618=>1000,33619=>1000,33620=>1000,33621=>1000,33622=>1000,33623=>1000,33624=>1000,33625=>1000,33626=>1000,33627=>1000,33628=>1000,33629=>1000,33630=>1000,33631=>1000,33632=>1000,33633=>1000,33634=>1000,33635=>1000,33636=>1000,33637=>1000,33638=>1000,33639=>1000,33640=>1000,33641=>1000,33642=>1000,33643=>1000,33644=>1000,33645=>1000,33646=>1000,33647=>1000,33648=>1000,33649=>1000,33650=>1000,33651=>1000,33652=>1000,33653=>1000,33654=>1000,33655=>1000,33656=>1000,33657=>1000,33658=>1000,33659=>1000,33660=>1000,33661=>1000,33662=>1000,33663=>1000,33664=>1000,33665=>1000,33666=>1000,33667=>1000,33668=>1000,33669=>1000,33670=>1000,33671=>1000,33672=>1000,33673=>1000,33674=>1000,33675=>1000,33676=>1000,33677=>1000,33678=>1000,33679=>1000,33680=>1000,33681=>1000,33682=>1000,33683=>1000,33684=>1000,33685=>1000,33686=>1000,33687=>1000,33688=>1000,33689=>1000,33690=>1000,33691=>1000,33692=>1000,33693=>1000,33694=>1000,33695=>1000,33696=>1000,33697=>1000,33698=>1000,33699=>1000,33700=>1000,33701=>1000,33702=>1000,33703=>1000,33704=>1000,33705=>1000,33706=>1000,33707=>1000,33708=>1000,33709=>1000,33710=>1000,33711=>1000,33712=>1000,33713=>1000,33714=>1000,33715=>1000,33716=>1000,33717=>1000,33718=>1000,33719=>1000,33720=>1000,33721=>1000,33722=>1000,33723=>1000,33724=>1000,33725=>1000,33726=>1000,33727=>1000,33728=>1000,33729=>1000,33730=>1000,33731=>1000,33732=>1000,33733=>1000,33734=>1000,33735=>1000,33736=>1000,33737=>1000,33738=>1000,33739=>1000,33740=>1000,33741=>1000,33742=>1000,33743=>1000,33744=>1000,33745=>1000,33746=>1000,33747=>1000,33748=>1000,33749=>1000,33750=>1000,33751=>1000,33752=>1000,33753=>1000,33754=>1000,33755=>1000,33756=>1000,33757=>1000,33758=>1000,33759=>1000,33760=>1000,33761=>1000,33762=>1000,33763=>1000,33764=>1000,33765=>1000,33766=>1000,33767=>1000,33768=>1000,33769=>1000,33770=>1000,33771=>1000,33772=>1000,33773=>1000,33774=>1000,33775=>1000,33776=>1000,33777=>1000,33778=>1000,33779=>1000,33780=>1000,33781=>1000,33782=>1000,33783=>1000,33784=>1000,33785=>1000,33786=>1000,33787=>1000,33788=>1000,33789=>1000,33790=>1000,33791=>1000,33792=>1000,33793=>1000,33794=>1000,33795=>1000,33796=>1000,33797=>1000,33798=>1000,33799=>1000,33800=>1000,33801=>1000,33802=>1000,33803=>1000,33804=>1000,33805=>1000,33806=>1000,33807=>1000,33808=>1000,33809=>1000,33810=>1000,33811=>1000,33812=>1000,33813=>1000,33814=>1000,33815=>1000,33816=>1000,33817=>1000,33818=>1000,33819=>1000,33820=>1000,33821=>1000,33822=>1000,33823=>1000,33824=>1000,33825=>1000,33826=>1000,33827=>1000,33828=>1000,33829=>1000,33830=>1000,33831=>1000,33832=>1000,33833=>1000,33834=>1000,33835=>1000,33836=>1000,33837=>1000,33838=>1000,33839=>1000,33840=>1000,33841=>1000,33842=>1000,33843=>1000,33844=>1000,33845=>1000,33846=>1000,33847=>1000,33848=>1000,33849=>1000,33850=>1000,33851=>1000,33852=>1000,33853=>1000,33854=>1000,33855=>1000,33856=>1000,33857=>1000,33858=>1000,33859=>1000,33860=>1000,33861=>1000,33862=>1000,33863=>1000,33864=>1000,33865=>1000,33866=>1000,33867=>1000,33868=>1000,33869=>1000,33870=>1000,33871=>1000,33872=>1000,33873=>1000,33874=>1000,33875=>1000,33876=>1000,33877=>1000,33878=>1000,33879=>1000,33880=>1000,33881=>1000,33882=>1000,33883=>1000,33884=>1000,33885=>1000,33886=>1000,33887=>1000,33888=>1000,33889=>1000,33890=>1000,33891=>1000,33892=>1000,33893=>1000,33894=>1000,33895=>1000,33896=>1000,33897=>1000,33898=>1000,33899=>1000,33900=>1000,33901=>1000,33902=>1000,33903=>1000,33904=>1000,33905=>1000,33906=>1000,33907=>1000,33908=>1000,33909=>1000,33910=>1000,33911=>1000,33912=>1000,33913=>1000,33914=>1000,33915=>1000,33916=>1000,33917=>1000,33918=>1000,33919=>1000,33920=>1000,33921=>1000,33922=>1000,33923=>1000,33924=>1000,33925=>1000,33926=>1000,33927=>1000,33928=>1000,33929=>1000,33930=>1000,33931=>1000,33932=>1000,33933=>1000,33934=>1000,33935=>1000,33936=>1000,33937=>1000,33938=>1000,33939=>1000,33940=>1000,33941=>1000,33942=>1000,33943=>1000,33944=>1000,33945=>1000,33946=>1000,33947=>1000,33948=>1000,33949=>1000,33950=>1000,33951=>1000,33952=>1000,33953=>1000,33954=>1000,33955=>1000,33956=>1000,33957=>1000,33958=>1000,33959=>1000,33960=>1000,33961=>1000,33962=>1000,33963=>1000,33964=>1000,33965=>1000,33966=>1000,33967=>1000,33968=>1000,33969=>1000,33970=>1000,33971=>1000,33972=>1000,33973=>1000,33974=>1000,33975=>1000,33976=>1000,33977=>1000,33978=>1000,33979=>1000,33980=>1000,33981=>1000,33982=>1000,33983=>1000,33984=>1000,33985=>1000,33986=>1000,33987=>1000,33988=>1000,33989=>1000,33990=>1000,33991=>1000,33992=>1000,33993=>1000,33994=>1000,33995=>1000,33996=>1000,33997=>1000,33998=>1000,33999=>1000,34000=>1000,34001=>1000,34002=>1000,34003=>1000,34004=>1000,34005=>1000,34006=>1000,34007=>1000,34008=>1000,34009=>1000,34010=>1000,34011=>1000,34012=>1000,34013=>1000,34014=>1000,34015=>1000,34016=>1000,34017=>1000,34018=>1000,34019=>1000,34020=>1000,34021=>1000,34022=>1000,34023=>1000,34024=>1000,34025=>1000,34026=>1000,34027=>1000,34028=>1000,34029=>1000,34030=>1000,34031=>1000,34032=>1000,34033=>1000,34034=>1000,34035=>1000,34036=>1000,34037=>1000,34038=>1000,34039=>1000,34040=>1000,34041=>1000,34042=>1000,34043=>1000,34044=>1000,34045=>1000,34046=>1000,34047=>1000,34048=>1000,34049=>1000,34050=>1000,34051=>1000,34052=>1000,34053=>1000,34054=>1000,34055=>1000,34056=>1000,34057=>1000,34058=>1000,34059=>1000,34060=>1000,34061=>1000,34062=>1000,34063=>1000,34064=>1000,34065=>1000,34066=>1000,34067=>1000,34068=>1000,34069=>1000,34070=>1000,34071=>1000,34072=>1000,34073=>1000,34074=>1000,34075=>1000,34076=>1000,34077=>1000,34078=>1000,34079=>1000,34080=>1000,34081=>1000,34082=>1000,34083=>1000,34084=>1000,34085=>1000,34086=>1000,34087=>1000,34088=>1000,34089=>1000,34090=>1000,34091=>1000,34092=>1000,34093=>1000,34094=>1000,34095=>1000,34096=>1000,34097=>1000,34098=>1000,34099=>1000,34100=>1000,34101=>1000,34102=>1000,34103=>1000,34104=>1000,34105=>1000,34106=>1000,34107=>1000,34108=>1000,34109=>1000,34110=>1000,34111=>1000,34112=>1000,34113=>1000,34114=>1000,34115=>1000,34116=>1000,34117=>1000,34118=>1000,34119=>1000,34120=>1000,34121=>1000,34122=>1000,34123=>1000,34124=>1000,34125=>1000,34126=>1000,34127=>1000,34128=>1000,34129=>1000,34130=>1000,34131=>1000,34132=>1000,34133=>1000,34134=>1000,34135=>1000,34136=>1000,34137=>1000,34138=>1000,34139=>1000,34140=>1000,34141=>1000,34142=>1000,34143=>1000,34144=>1000,34145=>1000,34146=>1000,34147=>1000,34148=>1000,34149=>1000,34150=>1000,34151=>1000,34152=>1000,34153=>1000,34154=>1000,34155=>1000,34156=>1000,34157=>1000,34158=>1000,34159=>1000,34160=>1000,34161=>1000,34162=>1000,34163=>1000,34164=>1000,34165=>1000,34166=>1000,34167=>1000,34168=>1000,34169=>1000,34170=>1000,34171=>1000,34172=>1000,34173=>1000,34174=>1000,34175=>1000,34176=>1000,34177=>1000,34178=>1000,34179=>1000,34180=>1000,34181=>1000,34182=>1000,34183=>1000,34184=>1000,34185=>1000,34186=>1000,34187=>1000,34188=>1000,34189=>1000,34190=>1000,34191=>1000,34192=>1000,34193=>1000,34194=>1000,34195=>1000,34196=>1000,34197=>1000,34198=>1000,34199=>1000,34200=>1000,34201=>1000,34202=>1000,34203=>1000,34204=>1000,34205=>1000,34206=>1000,34207=>1000,34208=>1000,34209=>1000,34210=>1000,34211=>1000,34212=>1000,34213=>1000,34214=>1000,34215=>1000,34216=>1000,34217=>1000,34218=>1000,34219=>1000,34220=>1000,34221=>1000,34222=>1000,34223=>1000,34224=>1000,34225=>1000,34226=>1000,34227=>1000,34228=>1000,34229=>1000,34230=>1000,34231=>1000,34232=>1000,34233=>1000,34234=>1000,34235=>1000,34236=>1000,34237=>1000,34238=>1000,34239=>1000,34240=>1000,34241=>1000,34242=>1000,34243=>1000,34244=>1000,34245=>1000,34246=>1000,34247=>1000,34248=>1000,34249=>1000,34250=>1000,34251=>1000,34252=>1000,34253=>1000,34254=>1000,34255=>1000,34256=>1000,34257=>1000,34258=>1000,34259=>1000,34260=>1000,34261=>1000,34262=>1000,34263=>1000,34264=>1000,34265=>1000,34266=>1000,34267=>1000,34268=>1000,34269=>1000,34270=>1000,34271=>1000,34272=>1000,34273=>1000,34274=>1000,34275=>1000,34276=>1000,34277=>1000,34278=>1000,34279=>1000,34280=>1000,34281=>1000,34282=>1000,34283=>1000,34284=>1000,34285=>1000,34286=>1000,34287=>1000,34288=>1000,34289=>1000,34290=>1000,34291=>1000,34292=>1000,34293=>1000,34294=>1000,34295=>1000,34296=>1000,34297=>1000,34298=>1000,34299=>1000,34300=>1000,34301=>1000,34302=>1000,34303=>1000,34304=>1000,34305=>1000,34306=>1000,34307=>1000,34308=>1000,34309=>1000,34310=>1000,34311=>1000,34312=>1000,34313=>1000,34314=>1000,34315=>1000,34316=>1000,34317=>1000,34318=>1000,34319=>1000,34320=>1000,34321=>1000,34322=>1000,34323=>1000,34324=>1000,34325=>1000,34326=>1000,34327=>1000,34328=>1000,34329=>1000,34330=>1000,34331=>1000,34332=>1000,34333=>1000,34334=>1000,34335=>1000,34336=>1000,34337=>1000,34338=>1000,34339=>1000,34340=>1000,34341=>1000,34342=>1000,34343=>1000,34344=>1000,34345=>1000,34346=>1000,34347=>1000,34348=>1000,34349=>1000,34350=>1000,34351=>1000,34352=>1000,34353=>1000,34354=>1000,34355=>1000,34356=>1000,34357=>1000,34358=>1000,34359=>1000,34360=>1000,34361=>1000,34362=>1000,34363=>1000,34364=>1000,34365=>1000,34366=>1000,34367=>1000,34368=>1000,34369=>1000,34370=>1000,34371=>1000,34372=>1000,34373=>1000,34374=>1000,34375=>1000,34376=>1000,34377=>1000,34378=>1000,34379=>1000,34380=>1000,34381=>1000,34382=>1000,34383=>1000,34384=>1000,34385=>1000,34386=>1000,34387=>1000,34388=>1000,34389=>1000,34390=>1000,34391=>1000,34392=>1000,34393=>1000,34394=>1000,34395=>1000,34396=>1000,34397=>1000,34398=>1000,34399=>1000,34400=>1000,34401=>1000,34402=>1000,34403=>1000,34404=>1000,34405=>1000,34406=>1000,34407=>1000,34408=>1000,34409=>1000,34410=>1000,34411=>1000,34412=>1000,34413=>1000,34414=>1000,34415=>1000,34416=>1000,34417=>1000,34418=>1000,34419=>1000,34420=>1000,34421=>1000,34422=>1000,34423=>1000,34424=>1000,34425=>1000,34426=>1000,34427=>1000,34428=>1000,34429=>1000,34430=>1000,34431=>1000,34432=>1000,34433=>1000,34434=>1000,34435=>1000,34436=>1000,34437=>1000,34438=>1000,34439=>1000,34440=>1000,34441=>1000,34442=>1000,34443=>1000,34444=>1000,34445=>1000,34446=>1000,34447=>1000,34448=>1000,34449=>1000,34450=>1000,34451=>1000,34452=>1000,34453=>1000,34454=>1000,34455=>1000,34456=>1000,34457=>1000,34458=>1000,34459=>1000,34460=>1000,34461=>1000,34462=>1000,34463=>1000,34464=>1000,34465=>1000,34466=>1000,34467=>1000,34468=>1000,34469=>1000,34470=>1000,34471=>1000,34472=>1000,34473=>1000,34474=>1000,34475=>1000,34476=>1000,34477=>1000,34478=>1000,34479=>1000,34480=>1000,34481=>1000,34482=>1000,34483=>1000,34484=>1000,34485=>1000,34486=>1000,34487=>1000,34488=>1000,34489=>1000,34490=>1000,34491=>1000,34492=>1000,34493=>1000,34494=>1000,34495=>1000,34496=>1000,34497=>1000,34498=>1000,34499=>1000,34500=>1000,34501=>1000,34502=>1000,34503=>1000,34504=>1000,34505=>1000,34506=>1000,34507=>1000,34508=>1000,34509=>1000,34510=>1000,34511=>1000,34512=>1000,34513=>1000,34514=>1000,34515=>1000,34516=>1000,34517=>1000,34518=>1000,34519=>1000,34520=>1000,34521=>1000,34522=>1000,34523=>1000,34524=>1000,34525=>1000,34526=>1000,34527=>1000,34528=>1000,34529=>1000,34530=>1000,34531=>1000,34532=>1000,34533=>1000,34534=>1000,34535=>1000,34536=>1000,34537=>1000,34538=>1000,34539=>1000,34540=>1000,34541=>1000,34542=>1000,34543=>1000,34544=>1000,34545=>1000,34546=>1000,34547=>1000,34548=>1000,34549=>1000,34550=>1000,34551=>1000,34552=>1000,34553=>1000,34554=>1000,34555=>1000,34556=>1000,34557=>1000,34558=>1000,34559=>1000,34560=>1000,34561=>1000,34562=>1000,34563=>1000,34564=>1000,34565=>1000,34566=>1000,34567=>1000,34568=>1000,34569=>1000,34570=>1000,34571=>1000,34572=>1000,34573=>1000,34574=>1000,34575=>1000,34576=>1000,34577=>1000,34578=>1000,34579=>1000,34580=>1000,34581=>1000,34582=>1000,34583=>1000,34584=>1000,34585=>1000,34586=>1000,34587=>1000,34588=>1000,34589=>1000,34590=>1000,34591=>1000,34592=>1000,34593=>1000,34594=>1000,34595=>1000,34596=>1000,34597=>1000,34598=>1000,34599=>1000,34600=>1000,34601=>1000,34602=>1000,34603=>1000,34604=>1000,34605=>1000,34606=>1000,34607=>1000,34608=>1000,34609=>1000,34610=>1000,34611=>1000,34612=>1000,34613=>1000,34614=>1000,34615=>1000,34616=>1000,34617=>1000,34618=>1000,34619=>1000,34620=>1000,34621=>1000,34622=>1000,34623=>1000,34624=>1000,34625=>1000,34626=>1000,34627=>1000,34628=>1000,34629=>1000,34630=>1000,34631=>1000,34632=>1000,34633=>1000,34634=>1000,34635=>1000,34636=>1000,34637=>1000,34638=>1000,34639=>1000,34640=>1000,34641=>1000,34642=>1000,34643=>1000,34644=>1000,34645=>1000,34646=>1000,34647=>1000,34648=>1000,34649=>1000,34650=>1000,34651=>1000,34652=>1000,34653=>1000,34654=>1000,34655=>1000,34656=>1000,34657=>1000,34658=>1000,34659=>1000,34660=>1000,34661=>1000,34662=>1000,34663=>1000,34664=>1000,34665=>1000,34666=>1000,34667=>1000,34668=>1000,34669=>1000,34670=>1000,34671=>1000,34672=>1000,34673=>1000,34674=>1000,34675=>1000,34676=>1000,34677=>1000,34678=>1000,34679=>1000,34680=>1000,34681=>1000,34682=>1000,34683=>1000,34684=>1000,34685=>1000,34686=>1000,34687=>1000,34688=>1000,34689=>1000,34690=>1000,34691=>1000,34692=>1000,34693=>1000,34694=>1000,34695=>1000,34696=>1000,34697=>1000,34698=>1000,34699=>1000,34700=>1000,34701=>1000,34702=>1000,34703=>1000,34704=>1000,34705=>1000,34706=>1000,34707=>1000,34708=>1000,34709=>1000,34710=>1000,34711=>1000,34712=>1000,34713=>1000,34714=>1000,34715=>1000,34716=>1000,34717=>1000,34718=>1000,34719=>1000,34720=>1000,34721=>1000,34722=>1000,34723=>1000,34724=>1000,34725=>1000,34726=>1000,34727=>1000,34728=>1000,34729=>1000,34730=>1000,34731=>1000,34732=>1000,34733=>1000,34734=>1000,34735=>1000,34736=>1000,34737=>1000,34738=>1000,34739=>1000,34740=>1000,34741=>1000,34742=>1000,34743=>1000,34744=>1000,34745=>1000,34746=>1000,34747=>1000,34748=>1000,34749=>1000,34750=>1000,34751=>1000,34752=>1000,34753=>1000,34754=>1000,34755=>1000,34756=>1000,34757=>1000,34758=>1000,34759=>1000,34760=>1000,34761=>1000,34762=>1000,34763=>1000,34764=>1000,34765=>1000,34766=>1000,34767=>1000,34768=>1000,34769=>1000,34770=>1000,34771=>1000,34772=>1000,34773=>1000,34774=>1000,34775=>1000,34776=>1000,34777=>1000,34778=>1000,34779=>1000,34780=>1000,34781=>1000,34782=>1000,34783=>1000,34784=>1000,34785=>1000,34786=>1000,34787=>1000,34788=>1000,34789=>1000,34790=>1000,34791=>1000,34792=>1000,34793=>1000,34794=>1000,34795=>1000,34796=>1000,34797=>1000,34798=>1000,34799=>1000,34800=>1000,34801=>1000,34802=>1000,34803=>1000,34804=>1000,34805=>1000,34806=>1000,34807=>1000,34808=>1000,34809=>1000,34810=>1000,34811=>1000,34812=>1000,34813=>1000,34814=>1000,34815=>1000,34816=>1000,34817=>1000,34818=>1000,34819=>1000,34820=>1000,34821=>1000,34822=>1000,34823=>1000,34824=>1000,34825=>1000,34826=>1000,34827=>1000,34828=>1000,34829=>1000,34830=>1000,34831=>1000,34832=>1000,34833=>1000,34834=>1000,34835=>1000,34836=>1000,34837=>1000,34838=>1000,34839=>1000,34840=>1000,34841=>1000,34842=>1000,34843=>1000,34844=>1000,34845=>1000,34846=>1000,34847=>1000,34848=>1000,34849=>1000,34850=>1000,34851=>1000,34852=>1000,34853=>1000,34854=>1000,34855=>1000,34856=>1000,34857=>1000,34858=>1000,34859=>1000,34860=>1000,34861=>1000,34862=>1000,34863=>1000,34864=>1000,34865=>1000,34866=>1000,34867=>1000,34868=>1000,34869=>1000,34870=>1000,34871=>1000,34872=>1000,34873=>1000,34874=>1000,34875=>1000,34876=>1000,34877=>1000,34878=>1000,34879=>1000,34880=>1000,34881=>1000,34882=>1000,34883=>1000,34884=>1000,34885=>1000,34886=>1000,34887=>1000,34888=>1000,34889=>1000,34890=>1000,34891=>1000,34892=>1000,34893=>1000,34894=>1000,34895=>1000,34896=>1000,34897=>1000,34898=>1000,34899=>1000,34900=>1000,34901=>1000,34902=>1000,34903=>1000,34904=>1000,34905=>1000,34906=>1000,34907=>1000,34908=>1000,34909=>1000,34910=>1000,34911=>1000,34912=>1000,34913=>1000,34914=>1000,34915=>1000,34916=>1000,34917=>1000,34918=>1000,34919=>1000,34920=>1000,34921=>1000,34922=>1000,34923=>1000,34924=>1000,34925=>1000,34926=>1000,34927=>1000,34928=>1000,34929=>1000,34930=>1000,34931=>1000,34932=>1000,34933=>1000,34934=>1000,34935=>1000,34936=>1000,34937=>1000,34938=>1000,34939=>1000,34940=>1000,34941=>1000,34942=>1000,34943=>1000,34944=>1000,34945=>1000,34946=>1000,34947=>1000,34948=>1000,34949=>1000,34950=>1000,34951=>1000,34952=>1000,34953=>1000,34954=>1000,34955=>1000,34956=>1000,34957=>1000,34958=>1000,34959=>1000,34960=>1000,34961=>1000,34962=>1000,34963=>1000,34964=>1000,34965=>1000,34966=>1000,34967=>1000,34968=>1000,34969=>1000,34970=>1000,34971=>1000,34972=>1000,34973=>1000,34974=>1000,34975=>1000,34976=>1000,34977=>1000,34978=>1000,34979=>1000,34980=>1000,34981=>1000,34982=>1000,34983=>1000,34984=>1000,34985=>1000,34986=>1000,34987=>1000,34988=>1000,34989=>1000,34990=>1000,34991=>1000,34992=>1000,34993=>1000,34994=>1000,34995=>1000,34996=>1000,34997=>1000,34998=>1000,34999=>1000,35000=>1000,35001=>1000,35002=>1000,35003=>1000,35004=>1000,35005=>1000,35006=>1000,35007=>1000,35008=>1000,35009=>1000,35010=>1000,35011=>1000,35012=>1000,35013=>1000,35014=>1000,35015=>1000,35016=>1000,35017=>1000,35018=>1000,35019=>1000,35020=>1000,35021=>1000,35022=>1000,35023=>1000,35024=>1000,35025=>1000,35026=>1000,35027=>1000,35028=>1000,35029=>1000,35030=>1000,35031=>1000,35032=>1000,35033=>1000,35034=>1000,35035=>1000,35036=>1000,35037=>1000,35038=>1000,35039=>1000,35040=>1000,35041=>1000,35042=>1000,35043=>1000,35044=>1000,35045=>1000,35046=>1000,35047=>1000,35048=>1000,35049=>1000,35050=>1000,35051=>1000,35052=>1000,35053=>1000,35054=>1000,35055=>1000,35056=>1000,35057=>1000,35058=>1000,35059=>1000,35060=>1000,35061=>1000,35062=>1000,35063=>1000,35064=>1000,35065=>1000,35066=>1000,35067=>1000,35068=>1000,35069=>1000,35070=>1000,35071=>1000,35072=>1000,35073=>1000,35074=>1000,35075=>1000,35076=>1000,35077=>1000,35078=>1000,35079=>1000,35080=>1000,35081=>1000,35082=>1000,35083=>1000,35084=>1000,35085=>1000,35086=>1000,35087=>1000,35088=>1000,35089=>1000,35090=>1000,35091=>1000,35092=>1000,35093=>1000,35094=>1000,35095=>1000,35096=>1000,35097=>1000,35098=>1000,35099=>1000,35100=>1000,35101=>1000,35102=>1000,35103=>1000,35104=>1000,35105=>1000,35106=>1000,35107=>1000,35108=>1000,35109=>1000,35110=>1000,35111=>1000,35112=>1000,35113=>1000,35114=>1000,35115=>1000,35116=>1000,35117=>1000,35118=>1000,35119=>1000,35120=>1000,35121=>1000,35122=>1000,35123=>1000,35124=>1000,35125=>1000,35126=>1000,35127=>1000,35128=>1000,35129=>1000,35130=>1000,35131=>1000,35132=>1000,35133=>1000,35134=>1000,35135=>1000,35136=>1000,35137=>1000,35138=>1000,35139=>1000,35140=>1000,35141=>1000,35142=>1000,35143=>1000,35144=>1000,35145=>1000,35146=>1000,35147=>1000,35148=>1000,35149=>1000,35150=>1000,35151=>1000,35152=>1000,35153=>1000,35154=>1000,35155=>1000,35156=>1000,35157=>1000,35158=>1000,35159=>1000,35160=>1000,35161=>1000,35162=>1000,35163=>1000,35164=>1000,35165=>1000,35166=>1000,35167=>1000,35168=>1000,35169=>1000,35170=>1000,35171=>1000,35172=>1000,35173=>1000,35174=>1000,35175=>1000,35176=>1000,35177=>1000,35178=>1000,35179=>1000,35180=>1000,35181=>1000,35182=>1000,35183=>1000,35184=>1000,35185=>1000,35186=>1000,35187=>1000,35188=>1000,35189=>1000,35190=>1000,35191=>1000,35192=>1000,35193=>1000,35194=>1000,35195=>1000,35196=>1000,35197=>1000,35198=>1000,35199=>1000,35200=>1000,35201=>1000,35202=>1000,35203=>1000,35204=>1000,35205=>1000,35206=>1000,35207=>1000,35208=>1000,35209=>1000,35210=>1000,35211=>1000,35212=>1000,35213=>1000,35214=>1000,35215=>1000,35216=>1000,35217=>1000,35218=>1000,35219=>1000,35220=>1000,35221=>1000,35222=>1000,35223=>1000,35224=>1000,35225=>1000,35226=>1000,35227=>1000,35228=>1000,35229=>1000,35230=>1000,35231=>1000,35232=>1000,35233=>1000,35234=>1000,35235=>1000,35236=>1000,35237=>1000,35238=>1000,35239=>1000,35240=>1000,35241=>1000,35242=>1000,35243=>1000,35244=>1000,35245=>1000,35246=>1000,35247=>1000,35248=>1000,35249=>1000,35250=>1000,35251=>1000,35252=>1000,35253=>1000,35254=>1000,35255=>1000,35256=>1000,35257=>1000,35258=>1000,35259=>1000,35260=>1000,35261=>1000,35262=>1000,35263=>1000,35264=>1000,35265=>1000,35266=>1000,35267=>1000,35268=>1000,35269=>1000,35270=>1000,35271=>1000,35272=>1000,35273=>1000,35274=>1000,35275=>1000,35276=>1000,35277=>1000,35278=>1000,35279=>1000,35280=>1000,35281=>1000,35282=>1000,35283=>1000,35284=>1000,35285=>1000,35286=>1000,35287=>1000,35288=>1000,35289=>1000,35290=>1000,35291=>1000,35292=>1000,35293=>1000,35294=>1000,35295=>1000,35296=>1000,35297=>1000,35298=>1000,35299=>1000,35300=>1000,35301=>1000,35302=>1000,35303=>1000,35304=>1000,35305=>1000,35306=>1000,35307=>1000,35308=>1000,35309=>1000,35310=>1000,35311=>1000,35312=>1000,35313=>1000,35314=>1000,35315=>1000,35316=>1000,35317=>1000,35318=>1000,35319=>1000,35320=>1000,35321=>1000,35322=>1000,35323=>1000,35324=>1000,35325=>1000,35326=>1000,35327=>1000,35328=>1000,35329=>1000,35330=>1000,35331=>1000,35332=>1000,35333=>1000,35334=>1000,35335=>1000,35336=>1000,35337=>1000,35338=>1000,35339=>1000,35340=>1000,35341=>1000,35342=>1000,35343=>1000,35344=>1000,35345=>1000,35346=>1000,35347=>1000,35348=>1000,35349=>1000,35350=>1000,35351=>1000,35352=>1000,35353=>1000,35354=>1000,35355=>1000,35356=>1000,35357=>1000,35358=>1000,35359=>1000,35360=>1000,35361=>1000,35362=>1000,35363=>1000,35364=>1000,35365=>1000,35366=>1000,35367=>1000,35368=>1000,35369=>1000,35370=>1000,35371=>1000,35372=>1000,35373=>1000,35374=>1000,35375=>1000,35376=>1000,35377=>1000,35378=>1000,35379=>1000,35380=>1000,35381=>1000,35382=>1000,35383=>1000,35384=>1000,35385=>1000,35386=>1000,35387=>1000,35388=>1000,35389=>1000,35390=>1000,35391=>1000,35392=>1000,35393=>1000,35394=>1000,35395=>1000,35396=>1000,35397=>1000,35398=>1000,35399=>1000,35400=>1000,35401=>1000,35402=>1000,35403=>1000,35404=>1000,35405=>1000,35406=>1000,35407=>1000,35408=>1000,35409=>1000,35410=>1000,35411=>1000,35412=>1000,35413=>1000,35414=>1000,35415=>1000,35416=>1000,35417=>1000,35418=>1000,35419=>1000,35420=>1000,35421=>1000,35422=>1000,35423=>1000,35424=>1000,35425=>1000,35426=>1000,35427=>1000,35428=>1000,35429=>1000,35430=>1000,35431=>1000,35432=>1000,35433=>1000,35434=>1000,35435=>1000,35436=>1000,35437=>1000,35438=>1000,35439=>1000,35440=>1000,35441=>1000,35442=>1000,35443=>1000,35444=>1000,35445=>1000,35446=>1000,35447=>1000,35448=>1000,35449=>1000,35450=>1000,35451=>1000,35452=>1000,35453=>1000,35454=>1000,35455=>1000,35456=>1000,35457=>1000,35458=>1000,35459=>1000,35460=>1000,35461=>1000,35462=>1000,35463=>1000,35464=>1000,35465=>1000,35466=>1000,35467=>1000,35468=>1000,35469=>1000,35470=>1000,35471=>1000,35472=>1000,35473=>1000,35474=>1000,35475=>1000,35476=>1000,35477=>1000,35478=>1000,35479=>1000,35480=>1000,35481=>1000,35482=>1000,35483=>1000,35484=>1000,35485=>1000,35486=>1000,35487=>1000,35488=>1000,35489=>1000,35490=>1000,35491=>1000,35492=>1000,35493=>1000,35494=>1000,35495=>1000,35496=>1000,35497=>1000,35498=>1000,35499=>1000,35500=>1000,35501=>1000,35502=>1000,35503=>1000,35504=>1000,35505=>1000,35506=>1000,35507=>1000,35508=>1000,35509=>1000,35510=>1000,35511=>1000,35512=>1000,35513=>1000,35514=>1000,35515=>1000,35516=>1000,35517=>1000,35518=>1000,35519=>1000,35520=>1000,35521=>1000,35522=>1000,35523=>1000,35524=>1000,35525=>1000,35526=>1000,35527=>1000,35528=>1000,35529=>1000,35530=>1000,35531=>1000,35532=>1000,35533=>1000,35534=>1000,35535=>1000,35536=>1000,35537=>1000,35538=>1000,35539=>1000,35540=>1000,35541=>1000,35542=>1000,35543=>1000,35544=>1000,35545=>1000,35546=>1000,35547=>1000,35548=>1000,35549=>1000,35550=>1000,35551=>1000,35552=>1000,35553=>1000,35554=>1000,35555=>1000,35556=>1000,35557=>1000,35558=>1000,35559=>1000,35560=>1000,35561=>1000,35562=>1000,35563=>1000,35564=>1000,35565=>1000,35566=>1000,35567=>1000,35568=>1000,35569=>1000,35570=>1000,35571=>1000,35572=>1000,35573=>1000,35574=>1000,35575=>1000,35576=>1000,35577=>1000,35578=>1000,35579=>1000,35580=>1000,35581=>1000,35582=>1000,35583=>1000,35584=>1000,35585=>1000,35586=>1000,35587=>1000,35588=>1000,35589=>1000,35590=>1000,35591=>1000,35592=>1000,35593=>1000,35594=>1000,35595=>1000,35596=>1000,35597=>1000,35598=>1000,35599=>1000,35600=>1000,35601=>1000,35602=>1000,35603=>1000,35604=>1000,35605=>1000,35606=>1000,35607=>1000,35608=>1000,35609=>1000,35610=>1000,35611=>1000,35612=>1000,35613=>1000,35614=>1000,35615=>1000,35616=>1000,35617=>1000,35618=>1000,35619=>1000,35620=>1000,35621=>1000,35622=>1000,35623=>1000,35624=>1000,35625=>1000,35626=>1000,35627=>1000,35628=>1000,35629=>1000,35630=>1000,35631=>1000,35632=>1000,35633=>1000,35634=>1000,35635=>1000,35636=>1000,35637=>1000,35638=>1000,35639=>1000,35640=>1000,35641=>1000,35642=>1000,35643=>1000,35644=>1000,35645=>1000,35646=>1000,35647=>1000,35648=>1000,35649=>1000,35650=>1000,35651=>1000,35652=>1000,35653=>1000,35654=>1000,35655=>1000,35656=>1000,35657=>1000,35658=>1000,35659=>1000,35660=>1000,35661=>1000,35662=>1000,35663=>1000,35664=>1000,35665=>1000,35666=>1000,35667=>1000,35668=>1000,35669=>1000,35670=>1000,35671=>1000,35672=>1000,35673=>1000,35674=>1000,35675=>1000,35676=>1000,35677=>1000,35678=>1000,35679=>1000,35680=>1000,35681=>1000,35682=>1000,35683=>1000,35684=>1000,35685=>1000,35686=>1000,35687=>1000,35688=>1000,35689=>1000,35690=>1000,35691=>1000,35692=>1000,35693=>1000,35694=>1000,35695=>1000,35696=>1000,35697=>1000,35698=>1000,35699=>1000,35700=>1000,35701=>1000,35702=>1000,35703=>1000,35704=>1000,35705=>1000,35706=>1000,35707=>1000,35708=>1000,35709=>1000,35710=>1000,35711=>1000,35712=>1000,35713=>1000,35714=>1000,35715=>1000,35716=>1000,35717=>1000,35718=>1000,35719=>1000,35720=>1000,35721=>1000,35722=>1000,35723=>1000,35724=>1000,35725=>1000,35726=>1000,35727=>1000,35728=>1000,35729=>1000,35730=>1000,35731=>1000,35732=>1000,35733=>1000,35734=>1000,35735=>1000,35736=>1000,35737=>1000,35738=>1000,35739=>1000,35740=>1000,35741=>1000,35742=>1000,35743=>1000,35744=>1000,35745=>1000,35746=>1000,35747=>1000,35748=>1000,35749=>1000,35750=>1000,35751=>1000,35752=>1000,35753=>1000,35754=>1000,35755=>1000,35756=>1000,35757=>1000,35758=>1000,35759=>1000,35760=>1000,35761=>1000,35762=>1000,35763=>1000,35764=>1000,35765=>1000,35766=>1000,35767=>1000,35768=>1000,35769=>1000,35770=>1000,35771=>1000,35772=>1000,35773=>1000,35774=>1000,35775=>1000,35776=>1000,35777=>1000,35778=>1000,35779=>1000,35780=>1000,35781=>1000,35782=>1000,35783=>1000,35784=>1000,35785=>1000,35786=>1000,35787=>1000,35788=>1000,35789=>1000,35790=>1000,35791=>1000,35792=>1000,35793=>1000,35794=>1000,35795=>1000,35796=>1000,35797=>1000,35798=>1000,35799=>1000,35800=>1000,35801=>1000,35802=>1000,35803=>1000,35804=>1000,35805=>1000,35806=>1000,35807=>1000,35808=>1000,35809=>1000,35810=>1000,35811=>1000,35812=>1000,35813=>1000,35814=>1000,35815=>1000,35816=>1000,35817=>1000,35818=>1000,35819=>1000,35820=>1000,35821=>1000,35822=>1000,35823=>1000,35824=>1000,35825=>1000,35826=>1000,35827=>1000,35828=>1000,35829=>1000,35830=>1000,35831=>1000,35832=>1000,35833=>1000,35834=>1000,35835=>1000,35836=>1000,35837=>1000,35838=>1000,35839=>1000,35840=>1000,35841=>1000,35842=>1000,35843=>1000,35844=>1000,35845=>1000,35846=>1000,35847=>1000,35848=>1000,35849=>1000,35850=>1000,35851=>1000,35852=>1000,35853=>1000,35854=>1000,35855=>1000,35856=>1000,35857=>1000,35858=>1000,35859=>1000,35860=>1000,35861=>1000,35862=>1000,35863=>1000,35864=>1000,35865=>1000,35866=>1000,35867=>1000,35868=>1000,35869=>1000,35870=>1000,35871=>1000,35872=>1000,35873=>1000,35874=>1000,35875=>1000,35876=>1000,35877=>1000,35878=>1000,35879=>1000,35880=>1000,35881=>1000,35882=>1000,35883=>1000,35884=>1000,35885=>1000,35886=>1000,35887=>1000,35888=>1000,35889=>1000,35890=>1000,35891=>1000,35892=>1000,35893=>1000,35894=>1000,35895=>1000,35896=>1000,35897=>1000,35898=>1000,35899=>1000,35900=>1000,35901=>1000,35902=>1000,35903=>1000,35904=>1000,35905=>1000,35906=>1000,35907=>1000,35908=>1000,35909=>1000,35910=>1000,35911=>1000,35912=>1000,35913=>1000,35914=>1000,35915=>1000,35916=>1000,35917=>1000,35918=>1000,35919=>1000,35920=>1000,35921=>1000,35922=>1000,35923=>1000,35924=>1000,35925=>1000,35926=>1000,35927=>1000,35928=>1000,35929=>1000,35930=>1000,35931=>1000,35932=>1000,35933=>1000,35934=>1000,35935=>1000,35936=>1000,35937=>1000,35938=>1000,35939=>1000,35940=>1000,35941=>1000,35942=>1000,35943=>1000,35944=>1000,35945=>1000,35946=>1000,35947=>1000,35948=>1000,35949=>1000,35950=>1000,35951=>1000,35952=>1000,35953=>1000,35954=>1000,35955=>1000,35956=>1000,35957=>1000,35958=>1000,35959=>1000,35960=>1000,35961=>1000,35962=>1000,35963=>1000,35964=>1000,35965=>1000,35966=>1000,35967=>1000,35968=>1000,35969=>1000,35970=>1000,35971=>1000,35972=>1000,35973=>1000,35974=>1000,35975=>1000,35976=>1000,35977=>1000,35978=>1000,35979=>1000,35980=>1000,35981=>1000,35982=>1000,35983=>1000,35984=>1000,35985=>1000,35986=>1000,35987=>1000,35988=>1000,35989=>1000,35990=>1000,35991=>1000,35992=>1000,35993=>1000,35994=>1000,35995=>1000,35996=>1000,35997=>1000,35998=>1000,35999=>1000,36000=>1000,36001=>1000,36002=>1000,36003=>1000,36004=>1000,36005=>1000,36006=>1000,36007=>1000,36008=>1000,36009=>1000,36010=>1000,36011=>1000,36012=>1000,36013=>1000,36014=>1000,36015=>1000,36016=>1000,36017=>1000,36018=>1000,36019=>1000,36020=>1000,36021=>1000,36022=>1000,36023=>1000,36024=>1000,36025=>1000,36026=>1000,36027=>1000,36028=>1000,36029=>1000,36030=>1000,36031=>1000,36032=>1000,36033=>1000,36034=>1000,36035=>1000,36036=>1000,36037=>1000,36038=>1000,36039=>1000,36040=>1000,36041=>1000,36042=>1000,36043=>1000,36044=>1000,36045=>1000,36046=>1000,36047=>1000,36048=>1000,36049=>1000,36050=>1000,36051=>1000,36052=>1000,36053=>1000,36054=>1000,36055=>1000,36056=>1000,36057=>1000,36058=>1000,36059=>1000,36060=>1000,36061=>1000,36062=>1000,36063=>1000,36064=>1000,36065=>1000,36066=>1000,36067=>1000,36068=>1000,36069=>1000,36070=>1000,36071=>1000,36072=>1000,36073=>1000,36074=>1000,36075=>1000,36076=>1000,36077=>1000,36078=>1000,36079=>1000,36080=>1000,36081=>1000,36082=>1000,36083=>1000,36084=>1000,36085=>1000,36086=>1000,36087=>1000,36088=>1000,36089=>1000,36090=>1000,36091=>1000,36092=>1000,36093=>1000,36094=>1000,36095=>1000,36096=>1000,36097=>1000,36098=>1000,36099=>1000,36100=>1000,36101=>1000,36102=>1000,36103=>1000,36104=>1000,36105=>1000,36106=>1000,36107=>1000,36108=>1000,36109=>1000,36110=>1000,36111=>1000,36112=>1000,36113=>1000,36114=>1000,36115=>1000,36116=>1000,36117=>1000,36118=>1000,36119=>1000,36120=>1000,36121=>1000,36122=>1000,36123=>1000,36124=>1000,36125=>1000,36126=>1000,36127=>1000,36128=>1000,36129=>1000,36130=>1000,36131=>1000,36132=>1000,36133=>1000,36134=>1000,36135=>1000,36136=>1000,36137=>1000,36138=>1000,36139=>1000,36140=>1000,36141=>1000,36142=>1000,36143=>1000,36144=>1000,36145=>1000,36146=>1000,36147=>1000,36148=>1000,36149=>1000,36150=>1000,36151=>1000,36152=>1000,36153=>1000,36154=>1000,36155=>1000,36156=>1000,36157=>1000,36158=>1000,36159=>1000,36160=>1000,36161=>1000,36162=>1000,36163=>1000,36164=>1000,36165=>1000,36166=>1000,36167=>1000,36168=>1000,36169=>1000,36170=>1000,36171=>1000,36172=>1000,36173=>1000,36174=>1000,36175=>1000,36176=>1000,36177=>1000,36178=>1000,36179=>1000,36180=>1000,36181=>1000,36182=>1000,36183=>1000,36184=>1000,36185=>1000,36186=>1000,36187=>1000,36188=>1000,36189=>1000,36190=>1000,36191=>1000,36192=>1000,36193=>1000,36194=>1000,36195=>1000,36196=>1000,36197=>1000,36198=>1000,36199=>1000,36200=>1000,36201=>1000,36202=>1000,36203=>1000,36204=>1000,36205=>1000,36206=>1000,36207=>1000,36208=>1000,36209=>1000,36210=>1000,36211=>1000,36212=>1000,36213=>1000,36214=>1000,36215=>1000,36216=>1000,36217=>1000,36218=>1000,36219=>1000,36220=>1000,36221=>1000,36222=>1000,36223=>1000,36224=>1000,36225=>1000,36226=>1000,36227=>1000,36228=>1000,36229=>1000,36230=>1000,36231=>1000,36232=>1000,36233=>1000,36234=>1000,36235=>1000,36236=>1000,36237=>1000,36238=>1000,36239=>1000,36240=>1000,36241=>1000,36242=>1000,36243=>1000,36244=>1000,36245=>1000,36246=>1000,36247=>1000,36248=>1000,36249=>1000,36250=>1000,36251=>1000,36252=>1000,36253=>1000,36254=>1000,36255=>1000,36256=>1000,36257=>1000,36258=>1000,36259=>1000,36260=>1000,36261=>1000,36262=>1000,36263=>1000,36264=>1000,36265=>1000,36266=>1000,36267=>1000,36268=>1000,36269=>1000,36270=>1000,36271=>1000,36272=>1000,36273=>1000,36274=>1000,36275=>1000,36276=>1000,36277=>1000,36278=>1000,36279=>1000,36280=>1000,36281=>1000,36282=>1000,36283=>1000,36284=>1000,36285=>1000,36286=>1000,36287=>1000,36288=>1000,36289=>1000,36290=>1000,36291=>1000,36292=>1000,36293=>1000,36294=>1000,36295=>1000,36296=>1000,36297=>1000,36298=>1000,36299=>1000,36300=>1000,36301=>1000,36302=>1000,36303=>1000,36304=>1000,36305=>1000,36306=>1000,36307=>1000,36308=>1000,36309=>1000,36310=>1000,36311=>1000,36312=>1000,36313=>1000,36314=>1000,36315=>1000,36316=>1000,36317=>1000,36318=>1000,36319=>1000,36320=>1000,36321=>1000,36322=>1000,36323=>1000,36324=>1000,36325=>1000,36326=>1000,36327=>1000,36328=>1000,36329=>1000,36330=>1000,36331=>1000,36332=>1000,36333=>1000,36334=>1000,36335=>1000,36336=>1000,36337=>1000,36338=>1000,36339=>1000,36340=>1000,36341=>1000,36342=>1000,36343=>1000,36344=>1000,36345=>1000,36346=>1000,36347=>1000,36348=>1000,36349=>1000,36350=>1000,36351=>1000,36352=>1000,36353=>1000,36354=>1000,36355=>1000,36356=>1000,36357=>1000,36358=>1000,36359=>1000,36360=>1000,36361=>1000,36362=>1000,36363=>1000,36364=>1000,36365=>1000,36366=>1000,36367=>1000,36368=>1000,36369=>1000,36370=>1000,36371=>1000,36372=>1000,36373=>1000,36374=>1000,36375=>1000,36376=>1000,36377=>1000,36378=>1000,36379=>1000,36380=>1000,36381=>1000,36382=>1000,36383=>1000,36384=>1000,36385=>1000,36386=>1000,36387=>1000,36388=>1000,36389=>1000,36390=>1000,36391=>1000,36392=>1000,36393=>1000,36394=>1000,36395=>1000,36396=>1000,36397=>1000,36398=>1000,36399=>1000,36400=>1000,36401=>1000,36402=>1000,36403=>1000,36404=>1000,36405=>1000,36406=>1000,36407=>1000,36408=>1000,36409=>1000,36410=>1000,36411=>1000,36412=>1000,36413=>1000,36414=>1000,36415=>1000,36416=>1000,36417=>1000,36418=>1000,36419=>1000,36420=>1000,36421=>1000,36422=>1000,36423=>1000,36424=>1000,36425=>1000,36426=>1000,36427=>1000,36428=>1000,36429=>1000,36430=>1000,36431=>1000,36432=>1000,36433=>1000,36434=>1000,36435=>1000,36436=>1000,36437=>1000,36438=>1000,36439=>1000,36440=>1000,36441=>1000,36442=>1000,36443=>1000,36444=>1000,36445=>1000,36446=>1000,36447=>1000,36448=>1000,36449=>1000,36450=>1000,36451=>1000,36452=>1000,36453=>1000,36454=>1000,36455=>1000,36456=>1000,36457=>1000,36458=>1000,36459=>1000,36460=>1000,36461=>1000,36462=>1000,36463=>1000,36464=>1000,36465=>1000,36466=>1000,36467=>1000,36468=>1000,36469=>1000,36470=>1000,36471=>1000,36472=>1000,36473=>1000,36474=>1000,36475=>1000,36476=>1000,36477=>1000,36478=>1000,36479=>1000,36480=>1000,36481=>1000,36482=>1000,36483=>1000,36484=>1000,36485=>1000,36486=>1000,36487=>1000,36488=>1000,36489=>1000,36490=>1000,36491=>1000,36492=>1000,36493=>1000,36494=>1000,36495=>1000,36496=>1000,36497=>1000,36498=>1000,36499=>1000,36500=>1000,36501=>1000,36502=>1000,36503=>1000,36504=>1000,36505=>1000,36506=>1000,36507=>1000,36508=>1000,36509=>1000,36510=>1000,36511=>1000,36512=>1000,36513=>1000,36514=>1000,36515=>1000,36516=>1000,36517=>1000,36518=>1000,36519=>1000,36520=>1000,36521=>1000,36522=>1000,36523=>1000,36524=>1000,36525=>1000,36526=>1000,36527=>1000,36528=>1000,36529=>1000,36530=>1000,36531=>1000,36532=>1000,36533=>1000,36534=>1000,36535=>1000,36536=>1000,36537=>1000,36538=>1000,36539=>1000,36540=>1000,36541=>1000,36542=>1000,36543=>1000,36544=>1000,36545=>1000,36546=>1000,36547=>1000,36548=>1000,36549=>1000,36550=>1000,36551=>1000,36552=>1000,36553=>1000,36554=>1000,36555=>1000,36556=>1000,36557=>1000,36558=>1000,36559=>1000,36560=>1000,36561=>1000,36562=>1000,36563=>1000,36564=>1000,36565=>1000,36566=>1000,36567=>1000,36568=>1000,36569=>1000,36570=>1000,36571=>1000,36572=>1000,36573=>1000,36574=>1000,36575=>1000,36576=>1000,36577=>1000,36578=>1000,36579=>1000,36580=>1000,36581=>1000,36582=>1000,36583=>1000,36584=>1000,36585=>1000,36586=>1000,36587=>1000,36588=>1000,36589=>1000,36590=>1000,36591=>1000,36592=>1000,36593=>1000,36594=>1000,36595=>1000,36596=>1000,36597=>1000,36598=>1000,36599=>1000,36600=>1000,36601=>1000,36602=>1000,36603=>1000,36604=>1000,36605=>1000,36606=>1000,36607=>1000,36608=>1000,36609=>1000,36610=>1000,36611=>1000,36612=>1000,36613=>1000,36614=>1000,36615=>1000,36616=>1000,36617=>1000,36618=>1000,36619=>1000,36620=>1000,36621=>1000,36622=>1000,36623=>1000,36624=>1000,36625=>1000,36626=>1000,36627=>1000,36628=>1000,36629=>1000,36630=>1000,36631=>1000,36632=>1000,36633=>1000,36634=>1000,36635=>1000,36636=>1000,36637=>1000,36638=>1000,36639=>1000,36640=>1000,36641=>1000,36642=>1000,36643=>1000,36644=>1000,36645=>1000,36646=>1000,36647=>1000,36648=>1000,36649=>1000,36650=>1000,36651=>1000,36652=>1000,36653=>1000,36654=>1000,36655=>1000,36656=>1000,36657=>1000,36658=>1000,36659=>1000,36660=>1000,36661=>1000,36662=>1000,36663=>1000,36664=>1000,36665=>1000,36666=>1000,36667=>1000,36668=>1000,36669=>1000,36670=>1000,36671=>1000,36672=>1000,36673=>1000,36674=>1000,36675=>1000,36676=>1000,36677=>1000,36678=>1000,36679=>1000,36680=>1000,36681=>1000,36682=>1000,36683=>1000,36684=>1000,36685=>1000,36686=>1000,36687=>1000,36688=>1000,36689=>1000,36690=>1000,36691=>1000,36692=>1000,36693=>1000,36694=>1000,36695=>1000,36696=>1000,36697=>1000,36698=>1000,36699=>1000,36700=>1000,36701=>1000,36702=>1000,36703=>1000,36704=>1000,36705=>1000,36706=>1000,36707=>1000,36708=>1000,36709=>1000,36710=>1000,36711=>1000,36712=>1000,36713=>1000,36714=>1000,36715=>1000,36716=>1000,36717=>1000,36718=>1000,36719=>1000,36720=>1000,36721=>1000,36722=>1000,36723=>1000,36724=>1000,36725=>1000,36726=>1000,36727=>1000,36728=>1000,36729=>1000,36730=>1000,36731=>1000,36732=>1000,36733=>1000,36734=>1000,36735=>1000,36736=>1000,36737=>1000,36738=>1000,36739=>1000,36740=>1000,36741=>1000,36742=>1000,36743=>1000,36744=>1000,36745=>1000,36746=>1000,36747=>1000,36748=>1000,36749=>1000,36750=>1000,36751=>1000,36752=>1000,36753=>1000,36754=>1000,36755=>1000,36756=>1000,36757=>1000,36758=>1000,36759=>1000,36760=>1000,36761=>1000,36762=>1000,36763=>1000,36764=>1000,36765=>1000,36766=>1000,36767=>1000,36768=>1000,36769=>1000,36770=>1000,36771=>1000,36772=>1000,36773=>1000,36774=>1000,36775=>1000,36776=>1000,36777=>1000,36778=>1000,36779=>1000,36780=>1000,36781=>1000,36782=>1000,36783=>1000,36784=>1000,36785=>1000,36786=>1000,36787=>1000,36788=>1000,36789=>1000,36790=>1000,36791=>1000,36792=>1000,36793=>1000,36794=>1000,36795=>1000,36796=>1000,36797=>1000,36798=>1000,36799=>1000,36800=>1000,36801=>1000,36802=>1000,36803=>1000,36804=>1000,36805=>1000,36806=>1000,36807=>1000,36808=>1000,36809=>1000,36810=>1000,36811=>1000,36812=>1000,36813=>1000,36814=>1000,36815=>1000,36816=>1000,36817=>1000,36818=>1000,36819=>1000,36820=>1000,36821=>1000,36822=>1000,36823=>1000,36824=>1000,36825=>1000,36826=>1000,36827=>1000,36828=>1000,36829=>1000,36830=>1000,36831=>1000,36832=>1000,36833=>1000,36834=>1000,36835=>1000,36836=>1000,36837=>1000,36838=>1000,36839=>1000,36840=>1000,36841=>1000,36842=>1000,36843=>1000,36844=>1000,36845=>1000,36846=>1000,36847=>1000,36848=>1000,36849=>1000,36850=>1000,36851=>1000,36852=>1000,36853=>1000,36854=>1000,36855=>1000,36856=>1000,36857=>1000,36858=>1000,36859=>1000,36860=>1000,36861=>1000,36862=>1000,36863=>1000,36864=>1000,36865=>1000,36866=>1000,36867=>1000,36868=>1000,36869=>1000,36870=>1000,36871=>1000,36872=>1000,36873=>1000,36874=>1000,36875=>1000,36876=>1000,36877=>1000,36878=>1000,36879=>1000,36880=>1000,36881=>1000,36882=>1000,36883=>1000,36884=>1000,36885=>1000,36886=>1000,36887=>1000,36888=>1000,36889=>1000,36890=>1000,36891=>1000,36892=>1000,36893=>1000,36894=>1000,36895=>1000,36896=>1000,36897=>1000,36898=>1000,36899=>1000,36900=>1000,36901=>1000,36902=>1000,36903=>1000,36904=>1000,36905=>1000,36906=>1000,36907=>1000,36908=>1000,36909=>1000,36910=>1000,36911=>1000,36912=>1000,36913=>1000,36914=>1000,36915=>1000,36916=>1000,36917=>1000,36918=>1000,36919=>1000,36920=>1000,36921=>1000,36922=>1000,36923=>1000,36924=>1000,36925=>1000,36926=>1000,36927=>1000,36928=>1000,36929=>1000,36930=>1000,36931=>1000,36932=>1000,36933=>1000,36934=>1000,36935=>1000,36936=>1000,36937=>1000,36938=>1000,36939=>1000,36940=>1000,36941=>1000,36942=>1000,36943=>1000,36944=>1000,36945=>1000,36946=>1000,36947=>1000,36948=>1000,36949=>1000,36950=>1000,36951=>1000,36952=>1000,36953=>1000,36954=>1000,36955=>1000,36956=>1000,36957=>1000,36958=>1000,36959=>1000,36960=>1000,36961=>1000,36962=>1000,36963=>1000,36964=>1000,36965=>1000,36966=>1000,36967=>1000,36968=>1000,36969=>1000,36970=>1000,36971=>1000,36972=>1000,36973=>1000,36974=>1000,36975=>1000,36976=>1000,36977=>1000,36978=>1000,36979=>1000,36980=>1000,36981=>1000,36982=>1000,36983=>1000,36984=>1000,36985=>1000,36986=>1000,36987=>1000,36988=>1000,36989=>1000,36990=>1000,36991=>1000,36992=>1000,36993=>1000,36994=>1000,36995=>1000,36996=>1000,36997=>1000,36998=>1000,36999=>1000,37000=>1000,37001=>1000,37002=>1000,37003=>1000,37004=>1000,37005=>1000,37006=>1000,37007=>1000,37008=>1000,37009=>1000,37010=>1000,37011=>1000,37012=>1000,37013=>1000,37014=>1000,37015=>1000,37016=>1000,37017=>1000,37018=>1000,37019=>1000,37020=>1000,37021=>1000,37022=>1000,37023=>1000,37024=>1000,37025=>1000,37026=>1000,37027=>1000,37028=>1000,37029=>1000,37030=>1000,37031=>1000,37032=>1000,37033=>1000,37034=>1000,37035=>1000,37036=>1000,37037=>1000,37038=>1000,37039=>1000,37040=>1000,37041=>1000,37042=>1000,37043=>1000,37044=>1000,37045=>1000,37046=>1000,37047=>1000,37048=>1000,37049=>1000,37050=>1000,37051=>1000,37052=>1000,37053=>1000,37054=>1000,37055=>1000,37056=>1000,37057=>1000,37058=>1000,37059=>1000,37060=>1000,37061=>1000,37062=>1000,37063=>1000,37064=>1000,37065=>1000,37066=>1000,37067=>1000,37068=>1000,37069=>1000,37070=>1000,37071=>1000,37072=>1000,37073=>1000,37074=>1000,37075=>1000,37076=>1000,37077=>1000,37078=>1000,37079=>1000,37080=>1000,37081=>1000,37082=>1000,37083=>1000,37084=>1000,37085=>1000,37086=>1000,37087=>1000,37088=>1000,37089=>1000,37090=>1000,37091=>1000,37092=>1000,37093=>1000,37094=>1000,37095=>1000,37096=>1000,37097=>1000,37098=>1000,37099=>1000,37100=>1000,37101=>1000,37102=>1000,37103=>1000,37104=>1000,37105=>1000,37106=>1000,37107=>1000,37108=>1000,37109=>1000,37110=>1000,37111=>1000,37112=>1000,37113=>1000,37114=>1000,37115=>1000,37116=>1000,37117=>1000,37118=>1000,37119=>1000,37120=>1000,37121=>1000,37122=>1000,37123=>1000,37124=>1000,37125=>1000,37126=>1000,37127=>1000,37128=>1000,37129=>1000,37130=>1000,37131=>1000,37132=>1000,37133=>1000,37134=>1000,37135=>1000,37136=>1000,37137=>1000,37138=>1000,37139=>1000,37140=>1000,37141=>1000,37142=>1000,37143=>1000,37144=>1000,37145=>1000,37146=>1000,37147=>1000,37148=>1000,37149=>1000,37150=>1000,37151=>1000,37152=>1000,37153=>1000,37154=>1000,37155=>1000,37156=>1000,37157=>1000,37158=>1000,37159=>1000,37160=>1000,37161=>1000,37162=>1000,37163=>1000,37164=>1000,37165=>1000,37166=>1000,37167=>1000,37168=>1000,37169=>1000,37170=>1000,37171=>1000,37172=>1000,37173=>1000,37174=>1000,37175=>1000,37176=>1000,37177=>1000,37178=>1000,37179=>1000,37180=>1000,37181=>1000,37182=>1000,37183=>1000,37184=>1000,37185=>1000,37186=>1000,37187=>1000,37188=>1000,37189=>1000,37190=>1000,37191=>1000,37192=>1000,37193=>1000,37194=>1000,37195=>1000,37196=>1000,37197=>1000,37198=>1000,37199=>1000,37200=>1000,37201=>1000,37202=>1000,37203=>1000,37204=>1000,37205=>1000,37206=>1000,37207=>1000,37208=>1000,37209=>1000,37210=>1000,37211=>1000,37212=>1000,37213=>1000,37214=>1000,37215=>1000,37216=>1000,37217=>1000,37218=>1000,37219=>1000,37220=>1000,37221=>1000,37222=>1000,37223=>1000,37224=>1000,37225=>1000,37226=>1000,37227=>1000,37228=>1000,37229=>1000,37230=>1000,37231=>1000,37232=>1000,37233=>1000,37234=>1000,37235=>1000,37236=>1000,37237=>1000,37238=>1000,37239=>1000,37240=>1000,37241=>1000,37242=>1000,37243=>1000,37244=>1000,37245=>1000,37246=>1000,37247=>1000,37248=>1000,37249=>1000,37250=>1000,37251=>1000,37252=>1000,37253=>1000,37254=>1000,37255=>1000,37256=>1000,37257=>1000,37258=>1000,37259=>1000,37260=>1000,37261=>1000,37262=>1000,37263=>1000,37264=>1000,37265=>1000,37266=>1000,37267=>1000,37268=>1000,37269=>1000,37270=>1000,37271=>1000,37272=>1000,37273=>1000,37274=>1000,37275=>1000,37276=>1000,37277=>1000,37278=>1000,37279=>1000,37280=>1000,37281=>1000,37282=>1000,37283=>1000,37284=>1000,37285=>1000,37286=>1000,37287=>1000,37288=>1000,37289=>1000,37290=>1000,37291=>1000,37292=>1000,37293=>1000,37294=>1000,37295=>1000,37296=>1000,37297=>1000,37298=>1000,37299=>1000,37300=>1000,37301=>1000,37302=>1000,37303=>1000,37304=>1000,37305=>1000,37306=>1000,37307=>1000,37308=>1000,37309=>1000,37310=>1000,37311=>1000,37312=>1000,37313=>1000,37314=>1000,37315=>1000,37316=>1000,37317=>1000,37318=>1000,37319=>1000,37320=>1000,37321=>1000,37322=>1000,37323=>1000,37324=>1000,37325=>1000,37326=>1000,37327=>1000,37328=>1000,37329=>1000,37330=>1000,37331=>1000,37332=>1000,37333=>1000,37334=>1000,37335=>1000,37336=>1000,37337=>1000,37338=>1000,37339=>1000,37340=>1000,37341=>1000,37342=>1000,37343=>1000,37344=>1000,37345=>1000,37346=>1000,37347=>1000,37348=>1000,37349=>1000,37350=>1000,37351=>1000,37352=>1000,37353=>1000,37354=>1000,37355=>1000,37356=>1000,37357=>1000,37358=>1000,37359=>1000,37360=>1000,37361=>1000,37362=>1000,37363=>1000,37364=>1000,37365=>1000,37366=>1000,37367=>1000,37368=>1000,37369=>1000,37370=>1000,37371=>1000,37372=>1000,37373=>1000,37374=>1000,37375=>1000,37376=>1000,37377=>1000,37378=>1000,37379=>1000,37380=>1000,37381=>1000,37382=>1000,37383=>1000,37384=>1000,37385=>1000,37386=>1000,37387=>1000,37388=>1000,37389=>1000,37390=>1000,37391=>1000,37392=>1000,37393=>1000,37394=>1000,37395=>1000,37396=>1000,37397=>1000,37398=>1000,37399=>1000,37400=>1000,37401=>1000,37402=>1000,37403=>1000,37404=>1000,37405=>1000,37406=>1000,37407=>1000,37408=>1000,37409=>1000,37410=>1000,37411=>1000,37412=>1000,37413=>1000,37414=>1000,37415=>1000,37416=>1000,37417=>1000,37418=>1000,37419=>1000,37420=>1000,37421=>1000,37422=>1000,37423=>1000,37424=>1000,37425=>1000,37426=>1000,37427=>1000,37428=>1000,37429=>1000,37430=>1000,37431=>1000,37432=>1000,37433=>1000,37434=>1000,37435=>1000,37436=>1000,37437=>1000,37438=>1000,37439=>1000,37440=>1000,37441=>1000,37442=>1000,37443=>1000,37444=>1000,37445=>1000,37446=>1000,37447=>1000,37448=>1000,37449=>1000,37450=>1000,37451=>1000,37452=>1000,37453=>1000,37454=>1000,37455=>1000,37456=>1000,37457=>1000,37458=>1000,37459=>1000,37460=>1000,37461=>1000,37462=>1000,37463=>1000,37464=>1000,37465=>1000,37466=>1000,37467=>1000,37468=>1000,37469=>1000,37470=>1000,37471=>1000,37472=>1000,37473=>1000,37474=>1000,37475=>1000,37476=>1000,37477=>1000,37478=>1000,37479=>1000,37480=>1000,37481=>1000,37482=>1000,37483=>1000,37484=>1000,37485=>1000,37486=>1000,37487=>1000,37488=>1000,37489=>1000,37490=>1000,37491=>1000,37492=>1000,37493=>1000,37494=>1000,37495=>1000,37496=>1000,37497=>1000,37498=>1000,37499=>1000,37500=>1000,37501=>1000,37502=>1000,37503=>1000,37504=>1000,37505=>1000,37506=>1000,37507=>1000,37508=>1000,37509=>1000,37510=>1000,37511=>1000,37512=>1000,37513=>1000,37514=>1000,37515=>1000,37516=>1000,37517=>1000,37518=>1000,37519=>1000,37520=>1000,37521=>1000,37522=>1000,37523=>1000,37524=>1000,37525=>1000,37526=>1000,37527=>1000,37528=>1000,37529=>1000,37530=>1000,37531=>1000,37532=>1000,37533=>1000,37534=>1000,37535=>1000,37536=>1000,37537=>1000,37538=>1000,37539=>1000,37540=>1000,37541=>1000,37542=>1000,37543=>1000,37544=>1000,37545=>1000,37546=>1000,37547=>1000,37548=>1000,37549=>1000,37550=>1000,37551=>1000,37552=>1000,37553=>1000,37554=>1000,37555=>1000,37556=>1000,37557=>1000,37558=>1000,37559=>1000,37560=>1000,37561=>1000,37562=>1000,37563=>1000,37564=>1000,37565=>1000,37566=>1000,37567=>1000,37568=>1000,37569=>1000,37570=>1000,37571=>1000,37572=>1000,37573=>1000,37574=>1000,37575=>1000,37576=>1000,37577=>1000,37578=>1000,37579=>1000,37580=>1000,37581=>1000,37582=>1000,37583=>1000,37584=>1000,37585=>1000,37586=>1000,37587=>1000,37588=>1000,37589=>1000,37590=>1000,37591=>1000,37592=>1000,37593=>1000,37594=>1000,37595=>1000,37596=>1000,37597=>1000,37598=>1000,37599=>1000,37600=>1000,37601=>1000,37602=>1000,37603=>1000,37604=>1000,37605=>1000,37606=>1000,37607=>1000,37608=>1000,37609=>1000,37610=>1000,37611=>1000,37612=>1000,37613=>1000,37614=>1000,37615=>1000,37616=>1000,37617=>1000,37618=>1000,37619=>1000,37620=>1000,37621=>1000,37622=>1000,37623=>1000,37624=>1000,37625=>1000,37626=>1000,37627=>1000,37628=>1000,37629=>1000,37630=>1000,37631=>1000,37632=>1000,37633=>1000,37634=>1000,37635=>1000,37636=>1000,37637=>1000,37638=>1000,37639=>1000,37640=>1000,37641=>1000,37642=>1000,37643=>1000,37644=>1000,37645=>1000,37646=>1000,37647=>1000,37648=>1000,37649=>1000,37650=>1000,37651=>1000,37652=>1000,37653=>1000,37654=>1000,37655=>1000,37656=>1000,37657=>1000,37658=>1000,37659=>1000,37660=>1000,37661=>1000,37662=>1000,37663=>1000,37664=>1000,37665=>1000,37666=>1000,37667=>1000,37668=>1000,37669=>1000,37670=>1000,37671=>1000,37672=>1000,37673=>1000,37674=>1000,37675=>1000,37676=>1000,37677=>1000,37678=>1000,37679=>1000,37680=>1000,37681=>1000,37682=>1000,37683=>1000,37684=>1000,37685=>1000,37686=>1000,37687=>1000,37688=>1000,37689=>1000,37690=>1000,37691=>1000,37692=>1000,37693=>1000,37694=>1000,37695=>1000,37696=>1000,37697=>1000,37698=>1000,37699=>1000,37700=>1000,37701=>1000,37702=>1000,37703=>1000,37704=>1000,37705=>1000,37706=>1000,37707=>1000,37708=>1000,37709=>1000,37710=>1000,37711=>1000,37712=>1000,37713=>1000,37714=>1000,37715=>1000,37716=>1000,37717=>1000,37718=>1000,37719=>1000,37720=>1000,37721=>1000,37722=>1000,37723=>1000,37724=>1000,37725=>1000,37726=>1000,37727=>1000,37728=>1000,37729=>1000,37730=>1000,37731=>1000,37732=>1000,37733=>1000,37734=>1000,37735=>1000,37736=>1000,37737=>1000,37738=>1000,37739=>1000,37740=>1000,37741=>1000,37742=>1000,37743=>1000,37744=>1000,37745=>1000,37746=>1000,37747=>1000,37748=>1000,37749=>1000,37750=>1000,37751=>1000,37752=>1000,37753=>1000,37754=>1000,37755=>1000,37756=>1000,37757=>1000,37758=>1000,37759=>1000,37760=>1000,37761=>1000,37762=>1000,37763=>1000,37764=>1000,37765=>1000,37766=>1000,37767=>1000,37768=>1000,37769=>1000,37770=>1000,37771=>1000,37772=>1000,37773=>1000,37774=>1000,37775=>1000,37776=>1000,37777=>1000,37778=>1000,37779=>1000,37780=>1000,37781=>1000,37782=>1000,37783=>1000,37784=>1000,37785=>1000,37786=>1000,37787=>1000,37788=>1000,37789=>1000,37790=>1000,37791=>1000,37792=>1000,37793=>1000,37794=>1000,37795=>1000,37796=>1000,37797=>1000,37798=>1000,37799=>1000,37800=>1000,37801=>1000,37802=>1000,37803=>1000,37804=>1000,37805=>1000,37806=>1000,37807=>1000,37808=>1000,37809=>1000,37810=>1000,37811=>1000,37812=>1000,37813=>1000,37814=>1000,37815=>1000,37816=>1000,37817=>1000,37818=>1000,37819=>1000,37820=>1000,37821=>1000,37822=>1000,37823=>1000,37824=>1000,37825=>1000,37826=>1000,37827=>1000,37828=>1000,37829=>1000,37830=>1000,37831=>1000,37832=>1000,37833=>1000,37834=>1000,37835=>1000,37836=>1000,37837=>1000,37838=>1000,37839=>1000,37840=>1000,37841=>1000,37842=>1000,37843=>1000,37844=>1000,37845=>1000,37846=>1000,37847=>1000,37848=>1000,37849=>1000,37850=>1000,37851=>1000,37852=>1000,37853=>1000,37854=>1000,37855=>1000,37856=>1000,37857=>1000,37858=>1000,37859=>1000,37860=>1000,37861=>1000,37862=>1000,37863=>1000,37864=>1000,37865=>1000,37866=>1000,37867=>1000,37868=>1000,37869=>1000,37870=>1000,37871=>1000,37872=>1000,37873=>1000,37874=>1000,37875=>1000,37876=>1000,37877=>1000,37878=>1000,37879=>1000,37880=>1000,37881=>1000,37882=>1000,37883=>1000,37884=>1000,37885=>1000,37886=>1000,37887=>1000,37888=>1000,37889=>1000,37890=>1000,37891=>1000,37892=>1000,37893=>1000,37894=>1000,37895=>1000,37896=>1000,37897=>1000,37898=>1000,37899=>1000,37900=>1000,37901=>1000,37902=>1000,37903=>1000,37904=>1000,37905=>1000,37906=>1000,37907=>1000,37908=>1000,37909=>1000,37910=>1000,37911=>1000,37912=>1000,37913=>1000,37914=>1000,37915=>1000,37916=>1000,37917=>1000,37918=>1000,37919=>1000,37920=>1000,37921=>1000,37922=>1000,37923=>1000,37924=>1000,37925=>1000,37926=>1000,37927=>998,37928=>1000,37929=>1000,37930=>1000,37931=>1000,37932=>1000,37933=>1000,37934=>1000,37935=>1000,37936=>1000,37937=>1000,37938=>1000,37939=>1000,37940=>1000,37941=>1000,37942=>1000,37943=>1000,37944=>1000,37945=>1000,37946=>1000,37947=>1000,37948=>1000,37949=>1000,37950=>1000,37951=>1000,37952=>1000,37953=>1000,37954=>1000,37955=>1000,37956=>1000,37957=>1000,37958=>1000,37959=>1000,37960=>1000,37961=>1000,37962=>1000,37963=>1000,37964=>1000,37965=>1000,37966=>1000,37967=>1000,37968=>1000,37969=>1000,37970=>1000,37971=>1000,37972=>1000,37973=>1000,37974=>1000,37975=>1000,37976=>1000,37977=>1000,37978=>1000,37979=>1000,37980=>1000,37981=>1000,37982=>1000,37983=>1000,37984=>1000,37985=>1000,37986=>1000,37987=>1000,37988=>1000,37989=>1000,37990=>1000,37991=>1000,37992=>1000,37993=>1000,37994=>1000,37995=>1000,37996=>1000,37997=>1000,37998=>1000,37999=>1000,38000=>1000,38001=>1000,38002=>1000,38003=>1000,38004=>1000,38005=>1000,38006=>1000,38007=>1000,38008=>1000,38009=>1000,38010=>1000,38011=>1000,38012=>1000,38013=>1000,38014=>1000,38015=>1000,38016=>1000,38017=>1000,38018=>1000,38019=>1000,38020=>1000,38021=>1000,38022=>1000,38023=>1000,38024=>1000,38025=>1000,38026=>1000,38027=>1000,38028=>1000,38029=>1000,38030=>1000,38031=>1000,38032=>1000,38033=>1000,38034=>1000,38035=>1000,38036=>1000,38037=>1000,38038=>1000,38039=>1000,38040=>1000,38041=>1000,38042=>1000,38043=>1000,38044=>1000,38045=>1000,38046=>1000,38047=>1000,38048=>1000,38049=>1000,38050=>1000,38051=>1000,38052=>1000,38053=>1000,38054=>1000,38055=>1000,38056=>1000,38057=>1000,38058=>1000,38059=>1000,38060=>1000,38061=>1000,38062=>1000,38063=>1000,38064=>1000,38065=>1000,38066=>1000,38067=>1000,38068=>1000,38069=>1000,38070=>1000,38071=>1000,38072=>1000,38073=>1000,38074=>1000,38075=>1000,38076=>1000,38077=>1000,38078=>1000,38079=>1000,38080=>1000,38081=>1000,38082=>1000,38083=>1000,38084=>1000,38085=>1000,38086=>1000,38087=>1000,38088=>1000,38089=>1000,38090=>1000,38091=>1000,38092=>1000,38093=>1000,38094=>1000,38095=>1000,38096=>1000,38097=>1000,38098=>1000,38099=>1000,38100=>1000,38101=>1000,38102=>1000,38103=>1000,38104=>1000,38105=>1000,38106=>1000,38107=>1000,38108=>1000,38109=>1000,38110=>1000,38111=>1000,38112=>1000,38113=>1000,38114=>1000,38115=>1000,38116=>1000,38117=>1000,38118=>1000,38119=>1000,38120=>1000,38121=>1000,38122=>1000,38123=>1000,38124=>1000,38125=>1000,38126=>1000,38127=>1000,38128=>1000,38129=>1000,38130=>1000,38131=>1000,38132=>1000,38133=>1000,38134=>1000,38135=>1000,38136=>1000,38137=>1000,38138=>1000,38139=>1000,38140=>1000,38141=>1000,38142=>1000,38143=>1000,38144=>1000,38145=>1000,38146=>1000,38147=>1000,38148=>1000,38149=>1000,38150=>1000,38151=>1000,38152=>1000,38153=>1000,38154=>1000,38155=>1000,38156=>1000,38157=>1000,38158=>1000,38159=>1000,38160=>1000,38161=>1000,38162=>1000,38163=>1000,38164=>1000,38165=>1000,38166=>1000,38167=>1000,38168=>1000,38169=>1000,38170=>1000,38171=>1000,38172=>1000,38173=>1000,38174=>1000,38175=>1000,38176=>1000,38177=>1000,38178=>1000,38179=>1000,38180=>1000,38181=>1000,38182=>1000,38183=>1000,38184=>1000,38185=>1000,38186=>1000,38187=>1000,38188=>1000,38189=>1000,38190=>1000,38191=>1000,38192=>1000,38193=>1000,38194=>1000,38195=>1000,38196=>1000,38197=>1000,38198=>1000,38199=>1000,38200=>1000,38201=>1000,38202=>1000,38203=>1000,38204=>1000,38205=>1000,38206=>1000,38207=>1000,38208=>1000,38209=>1000,38210=>1000,38211=>1000,38212=>1000,38213=>1000,38214=>1000,38215=>1000,38216=>1000,38217=>1000,38218=>1000,38219=>1000,38220=>1000,38221=>1000,38222=>1000,38223=>1000,38224=>1000,38225=>1000,38226=>1000,38227=>1000,38228=>1000,38229=>1000,38230=>1000,38231=>1000,38232=>1000,38233=>1000,38234=>1000,38235=>1000,38236=>1000,38237=>1000,38238=>1000,38239=>1000,38240=>1000,38241=>1000,38242=>1000,38243=>1000,38244=>1000,38245=>1000,38246=>1000,38247=>1000,38248=>1000,38249=>1000,38250=>1000,38251=>1000,38252=>1000,38253=>1000,38254=>1000,38255=>1000,38256=>1000,38257=>1000,38258=>1000,38259=>1000,38260=>1000,38261=>1000,38262=>1000,38263=>1000,38264=>1000,38265=>1000,38266=>1000,38267=>1000,38268=>1000,38269=>1000,38270=>1000,38271=>1000,38272=>1000,38273=>1000,38274=>1000,38275=>1000,38276=>1000,38277=>1000,38278=>1000,38279=>1000,38280=>1000,38281=>1000,38282=>1000,38283=>1000,38284=>1000,38285=>1000,38286=>1000,38287=>1000,38288=>1000,38289=>1000,38290=>1000,38291=>1000,38292=>1000,38293=>1000,38294=>1000,38295=>1000,38296=>1000,38297=>1000,38298=>1000,38299=>1000,38300=>1000,38301=>1000,38302=>1000,38303=>1000,38304=>1000,38305=>1000,38306=>1000,38307=>1000,38308=>1000,38309=>1000,38310=>1000,38311=>1000,38312=>1000,38313=>1000,38314=>1000,38315=>1000,38316=>1000,38317=>1000,38318=>1000,38319=>1000,38320=>1000,38321=>1000,38322=>1000,38323=>1000,38324=>1000,38325=>1000,38326=>1000,38327=>1000,38328=>1000,38329=>1000,38330=>1000,38331=>1000,38332=>1000,38333=>1000,38334=>1000,38335=>1000,38336=>1000,38337=>1000,38338=>1000,38339=>1000,38340=>1000,38341=>1000,38342=>1000,38343=>1000,38344=>1000,38345=>1000,38346=>1000,38347=>1000,38348=>1000,38349=>1000,38350=>1000,38351=>1000,38352=>1000,38353=>1000,38354=>1000,38355=>1000,38356=>1000,38357=>1000,38358=>1000,38359=>1000,38360=>1000,38361=>1000,38362=>1000,38363=>1000,38364=>1000,38365=>1000,38366=>1000,38367=>1000,38368=>1000,38369=>1000,38370=>1000,38371=>1000,38372=>1000,38373=>1000,38374=>1000,38375=>1000,38376=>1000,38377=>1000,38378=>1000,38379=>1000,38380=>1000,38381=>1000,38382=>1000,38383=>1000,38384=>1000,38385=>1000,38386=>1000,38387=>1000,38388=>1000,38389=>1000,38390=>1000,38391=>1000,38392=>1000,38393=>1000,38394=>1000,38395=>1000,38396=>1000,38397=>1000,38398=>1000,38399=>1000,38400=>1000,38401=>1000,38402=>1000,38403=>1000,38404=>1000,38405=>1000,38406=>1000,38407=>1000,38408=>1000,38409=>1000,38410=>1000,38411=>1000,38412=>1000,38413=>1000,38414=>1000,38415=>1000,38416=>1000,38417=>1000,38418=>1000,38419=>1000,38420=>1000,38421=>1000,38422=>1000,38423=>1000,38424=>1000,38425=>1000,38426=>1000,38427=>1000,38428=>1000,38429=>1000,38430=>1000,38431=>1000,38432=>1000,38433=>1000,38434=>1000,38435=>1000,38436=>1000,38437=>1000,38438=>1000,38439=>1000,38440=>1000,38441=>1000,38442=>1000,38443=>1000,38444=>1000,38445=>1000,38446=>1000,38447=>1000,38448=>1000,38449=>1000,38450=>1000,38451=>1000,38452=>1000,38453=>1000,38454=>1000,38455=>1000,38456=>1000,38457=>1000,38458=>1000,38459=>1000,38460=>1000,38461=>1000,38462=>1000,38463=>1000,38464=>1000,38465=>1000,38466=>1000,38467=>1000,38468=>1000,38469=>1000,38470=>1000,38471=>1000,38472=>1000,38473=>1000,38474=>1000,38475=>1000,38476=>1000,38477=>1000,38478=>1000,38479=>1000,38480=>1000,38481=>1000,38482=>1000,38483=>1000,38484=>1000,38485=>1000,38486=>1000,38487=>1000,38488=>1000,38489=>1000,38490=>1000,38491=>1000,38492=>1000,38493=>1000,38494=>1000,38495=>1000,38496=>1000,38497=>1000,38498=>1000,38499=>1000,38500=>1000,38501=>1000,38502=>1000,38503=>1000,38504=>1000,38505=>1000,38506=>1000,38507=>1000,38508=>1000,38509=>1000,38510=>1000,38511=>1000,38512=>1000,38513=>1000,38514=>1000,38515=>1000,38516=>1000,38517=>1000,38518=>1000,38519=>1000,38520=>1000,38521=>1000,38522=>1000,38523=>1000,38524=>1000,38525=>1000,38526=>1000,38527=>1000,38528=>1000,38529=>1000,38530=>1000,38531=>1000,38532=>1000,38533=>1000,38534=>1000,38535=>1000,38536=>1000,38537=>1000,38538=>1000,38539=>1000,38540=>1000,38541=>1000,38542=>1000,38543=>1000,38544=>1000,38545=>1000,38546=>1000,38547=>1000,38548=>1000,38549=>1000,38550=>1000,38551=>1000,38552=>1000,38553=>1000,38554=>1000,38555=>1000,38556=>1000,38557=>1000,38558=>1000,38559=>1000,38560=>1000,38561=>1000,38562=>1000,38563=>1000,38564=>1000,38565=>1000,38566=>1000,38567=>1000,38568=>1000,38569=>1000,38570=>1000,38571=>1000,38572=>1000,38573=>1000,38574=>1000,38575=>1000,38576=>1000,38577=>1000,38578=>1000,38579=>1000,38580=>1000,38581=>1000,38582=>1000,38583=>1000,38584=>1000,38585=>1000,38586=>1000,38587=>1000,38588=>1000,38589=>1000,38590=>1000,38591=>1000,38592=>1000,38593=>1000,38594=>1000,38595=>1000,38596=>1000,38597=>1000,38598=>1000,38599=>1000,38600=>1000,38601=>1000,38602=>1000,38603=>1000,38604=>1000,38605=>1000,38606=>1000,38607=>1000,38608=>1000,38609=>1000,38610=>1000,38611=>1000,38612=>1000,38613=>1000,38614=>1000,38615=>1000,38616=>1000,38617=>1000,38618=>1000,38619=>1000,38620=>1000,38621=>1000,38622=>1000,38623=>1000,38624=>1000,38625=>1000,38626=>1000,38627=>1000,38628=>1000,38629=>1000,38630=>1000,38631=>1000,38632=>1000,38633=>1000,38634=>1000,38635=>1000,38636=>1000,38637=>1000,38638=>1000,38639=>1000,38640=>1000,38641=>1000,38642=>1000,38643=>1000,38644=>1000,38645=>1000,38646=>1000,38647=>1000,38648=>1000,38649=>1000,38650=>1000,38651=>1000,38652=>1000,38653=>1000,38654=>1000,38655=>1000,38656=>1000,38657=>1000,38658=>1000,38659=>1000,38660=>1000,38661=>1000,38662=>1000,38663=>1000,38664=>1000,38665=>1000,38666=>1000,38667=>1000,38668=>1000,38669=>1000,38670=>1000,38671=>1000,38672=>1000,38673=>1000,38674=>1000,38675=>1000,38676=>1000,38677=>1000,38678=>1000,38679=>1000,38680=>1000,38681=>1000,38682=>1000,38683=>1000,38684=>1000,38685=>1000,38686=>1000,38687=>1000,38688=>1000,38689=>1000,38690=>1000,38691=>1000,38692=>1000,38693=>1000,38694=>1000,38695=>1000,38696=>1000,38697=>1000,38698=>1000,38699=>1000,38700=>1000,38701=>1000,38702=>1000,38703=>1000,38704=>1000,38705=>1000,38706=>1000,38707=>1000,38708=>1000,38709=>1000,38710=>1000,38711=>1000,38712=>1000,38713=>1000,38714=>1000,38715=>1000,38716=>1000,38717=>1000,38718=>1000,38719=>1000,38720=>1000,38721=>1000,38722=>1000,38723=>1000,38724=>1000,38725=>1000,38726=>1000,38727=>1000,38728=>1000,38729=>1000,38730=>1000,38731=>1000,38732=>1000,38733=>1000,38734=>1000,38735=>1000,38736=>1000,38737=>1000,38738=>1000,38739=>1000,38740=>1000,38741=>1000,38742=>1000,38743=>1000,38744=>1000,38745=>1000,38746=>1000,38747=>1000,38748=>1000,38749=>1000,38750=>1000,38751=>1000,38752=>1000,38753=>1000,38754=>1000,38755=>1000,38756=>1000,38757=>1000,38758=>1000,38759=>1000,38760=>1000,38761=>1000,38762=>1000,38763=>1000,38764=>1000,38765=>1000,38766=>1000,38767=>1000,38768=>1000,38769=>1000,38770=>1000,38771=>1000,38772=>1000,38773=>1000,38774=>1000,38775=>1000,38776=>1000,38777=>1000,38778=>1000,38779=>1000,38780=>1000,38781=>1000,38782=>1000,38783=>1000,38784=>1000,38785=>1000,38786=>1000,38787=>1000,38788=>1000,38789=>1000,38790=>1000,38791=>1000,38792=>1000,38793=>1000,38794=>1000,38795=>1000,38796=>1000,38797=>1000,38798=>1000,38799=>1000,38800=>1000,38801=>1000,38802=>1000,38803=>1000,38804=>1000,38805=>1000,38806=>1000,38807=>1000,38808=>1000,38809=>1000,38810=>1000,38811=>1000,38812=>1000,38813=>1000,38814=>1000,38815=>1000,38816=>1000,38817=>1000,38818=>1000,38819=>1000,38820=>1000,38821=>1000,38822=>1000,38823=>1000,38824=>1000,38825=>1000,38826=>1000,38827=>1000,38828=>1000,38829=>1000,38830=>1000,38831=>1000,38832=>1000,38833=>1000,38834=>1000,38835=>1000,38836=>1000,38837=>1000,38838=>1000,38839=>1000,38840=>1000,38841=>1000,38842=>1000,38843=>1000,38844=>1000,38845=>1000,38846=>1000,38847=>1000,38848=>1000,38849=>1000,38850=>1000,38851=>1000,38852=>1000,38853=>1000,38854=>1000,38855=>1000,38856=>1000,38857=>1000,38858=>1000,38859=>1000,38860=>1000,38861=>1000,38862=>1000,38863=>1000,38864=>1000,38865=>1000,38866=>1000,38867=>1000,38868=>1000,38869=>1000,38870=>1000,38871=>1000,38872=>1000,38873=>1000,38874=>1000,38875=>1000,38876=>1000,38877=>1000,38878=>1000,38879=>1000,38880=>1000,38881=>1000,38882=>1000,38883=>1000,38884=>1000,38885=>1000,38886=>1000,38887=>1000,38888=>1000,38889=>1000,38890=>1000,38891=>1000,38892=>1000,38893=>1000,38894=>1000,38895=>1000,38896=>1000,38897=>1000,38898=>1000,38899=>1000,38900=>1000,38901=>1000,38902=>1000,38903=>1000,38904=>1000,38905=>1000,38906=>1000,38907=>1000,38908=>1000,38909=>1000,38910=>1000,38911=>1000,38912=>1000,38913=>1000,38914=>1000,38915=>1000,38916=>1000,38917=>1000,38918=>1000,38919=>1000,38920=>1000,38921=>1000,38922=>1000,38923=>1000,38924=>1000,38925=>1000,38926=>1000,38927=>1000,38928=>1000,38929=>1000,38930=>1000,38931=>1000,38932=>1000,38933=>1000,38934=>1000,38935=>1000,38936=>1000,38937=>1000,38938=>1000,38939=>1000,38940=>1000,38941=>1000,38942=>1000,38943=>1000,38944=>1000,38945=>1000,38946=>1000,38947=>1000,38948=>1000,38949=>1000,38950=>1000,38951=>1000,38952=>1000,38953=>1000,38954=>1000,38955=>1000,38956=>1000,38957=>1000,38958=>1000,38959=>1000,38960=>1000,38961=>1000,38962=>1000,38963=>1000,38964=>1000,38965=>1000,38966=>1000,38967=>1000,38968=>1000,38969=>1000,38970=>1000,38971=>1000,38972=>1000,38973=>1000,38974=>1000,38975=>1000,38976=>1000,38977=>1000,38978=>1000,38979=>1000,38980=>1000,38981=>1000,38982=>1000,38983=>1000,38984=>1000,38985=>1000,38986=>1000,38987=>1000,38988=>1000,38989=>1000,38990=>1000,38991=>1000,38992=>1000,38993=>1000,38994=>1000,38995=>1000,38996=>1000,38997=>1000,38998=>1000,38999=>1000,39000=>1000,39001=>1000,39002=>1000,39003=>1000,39004=>1000,39005=>1000,39006=>1000,39007=>1000,39008=>1000,39009=>1000,39010=>1000,39011=>1000,39012=>1000,39013=>1000,39014=>1000,39015=>1000,39016=>1000,39017=>1000,39018=>1000,39019=>1000,39020=>1000,39021=>1000,39022=>1000,39023=>1000,39024=>1000,39025=>1000,39026=>1000,39027=>1000,39028=>1000,39029=>1000,39030=>1000,39031=>1000,39032=>1000,39033=>1000,39034=>1000,39035=>1000,39036=>1000,39037=>1000,39038=>1000,39039=>1000,39040=>1000,39041=>1000,39042=>1000,39043=>1000,39044=>1000,39045=>1000,39046=>1000,39047=>1000,39048=>1000,39049=>1000,39050=>1000,39051=>1000,39052=>1000,39053=>1000,39054=>1000,39055=>1000,39056=>1000,39057=>1000,39058=>1000,39059=>1000,39060=>1000,39061=>1000,39062=>1000,39063=>1000,39064=>1000,39065=>1000,39066=>1000,39067=>1000,39068=>1000,39069=>1000,39070=>1000,39071=>1000,39072=>1000,39073=>1000,39074=>1000,39075=>1000,39076=>1000,39077=>1000,39078=>1000,39079=>1000,39080=>1000,39081=>1000,39082=>1000,39083=>1000,39084=>1000,39085=>1000,39086=>1000,39087=>1000,39088=>1000,39089=>1000,39090=>1000,39091=>1000,39092=>1000,39093=>1000,39094=>1000,39095=>1000,39096=>1000,39097=>1000,39098=>1000,39099=>1000,39100=>1000,39101=>1000,39102=>1000,39103=>1000,39104=>1000,39105=>1000,39106=>1000,39107=>1000,39108=>1000,39109=>1000,39110=>1000,39111=>1000,39112=>1000,39113=>1000,39114=>1000,39115=>1000,39116=>1000,39117=>1000,39118=>1000,39119=>1000,39120=>1000,39121=>1000,39122=>1000,39123=>1000,39124=>1000,39125=>1000,39126=>1000,39127=>1000,39128=>1000,39129=>1000,39130=>1000,39131=>1000,39132=>1000,39133=>1000,39134=>1000,39135=>1000,39136=>1000,39137=>1000,39138=>1000,39139=>1000,39140=>1000,39141=>1000,39142=>1000,39143=>1000,39144=>1000,39145=>1000,39146=>1000,39147=>1000,39148=>1000,39149=>1000,39150=>1000,39151=>1000,39152=>1000,39153=>1000,39154=>1000,39155=>1000,39156=>1000,39157=>1000,39158=>1000,39159=>1000,39160=>1000,39161=>1000,39162=>1000,39163=>1000,39164=>1000,39165=>1000,39166=>1000,39167=>1000,39168=>1000,39169=>1000,39170=>1000,39171=>1000,39172=>1000,39173=>1000,39174=>1000,39175=>1000,39176=>1000,39177=>1000,39178=>1000,39179=>1000,39180=>1000,39181=>1000,39182=>1000,39183=>1000,39184=>1000,39185=>1000,39186=>1000,39187=>1000,39188=>1000,39189=>1000,39190=>1000,39191=>1000,39192=>1000,39193=>1000,39194=>1000,39195=>1000,39196=>1000,39197=>1000,39198=>1000,39199=>1000,39200=>1000,39201=>1000,39202=>1000,39203=>1000,39204=>1000,39205=>1000,39206=>1000,39207=>1000,39208=>1000,39209=>1000,39210=>1000,39211=>1000,39212=>1000,39213=>1000,39214=>1000,39215=>1000,39216=>1000,39217=>1000,39218=>1000,39219=>1000,39220=>1000,39221=>1000,39222=>1000,39223=>1000,39224=>1000,39225=>1000,39226=>1000,39227=>1000,39228=>1000,39229=>1000,39230=>1000,39231=>1000,39232=>1000,39233=>1000,39234=>1000,39235=>1000,39236=>1000,39237=>1000,39238=>1000,39239=>1000,39240=>1000,39241=>1000,39242=>1000,39243=>1000,39244=>1000,39245=>1000,39246=>1000,39247=>1000,39248=>1000,39249=>1000,39250=>1000,39251=>1000,39252=>1000,39253=>1000,39254=>1000,39255=>1000,39256=>1000,39257=>1000,39258=>1000,39259=>1000,39260=>1000,39261=>1000,39262=>1000,39263=>1000,39264=>1000,39265=>1000,39266=>1000,39267=>1000,39268=>1000,39269=>1000,39270=>1000,39271=>1000,39272=>1000,39273=>1000,39274=>1000,39275=>1000,39276=>1000,39277=>1000,39278=>1000,39279=>1000,39280=>1000,39281=>1000,39282=>1000,39283=>1000,39284=>1000,39285=>1000,39286=>1000,39287=>1000,39288=>1000,39289=>1000,39290=>1000,39291=>1000,39292=>1000,39293=>1000,39294=>1000,39295=>1000,39296=>1000,39297=>1000,39298=>1000,39299=>1000,39300=>1000,39301=>1000,39302=>1000,39303=>1000,39304=>1000,39305=>1000,39306=>1000,39307=>1000,39308=>1000,39309=>1000,39310=>1000,39311=>1000,39312=>1000,39313=>1000,39314=>1000,39315=>1000,39316=>1000,39317=>1000,39318=>1000,39319=>1000,39320=>1000,39321=>1000,39322=>1000,39323=>1000,39324=>1000,39325=>1000,39326=>1000,39327=>1000,39328=>1000,39329=>1000,39330=>1000,39331=>1000,39332=>1000,39333=>1000,39334=>1000,39335=>1000,39336=>1000,39337=>1000,39338=>1000,39339=>1000,39340=>1000,39341=>1000,39342=>1000,39343=>1000,39344=>1000,39345=>1000,39346=>1000,39347=>1000,39348=>1000,39349=>1000,39350=>1000,39351=>1000,39352=>1000,39353=>1000,39354=>1000,39355=>1000,39356=>1000,39357=>1000,39358=>1000,39359=>1000,39360=>1000,39361=>1000,39362=>1000,39363=>1000,39364=>1000,39365=>1000,39366=>1000,39367=>1000,39368=>1000,39369=>1000,39370=>1000,39371=>1000,39372=>1000,39373=>1000,39374=>1000,39375=>1000,39376=>1000,39377=>1000,39378=>1000,39379=>1000,39380=>1000,39381=>1000,39382=>1000,39383=>1000,39384=>1000,39385=>1000,39386=>1000,39387=>1000,39388=>1000,39389=>1000,39390=>1000,39391=>1000,39392=>1000,39393=>1000,39394=>1000,39395=>1000,39396=>1000,39397=>1000,39398=>1000,39399=>1000,39400=>1000,39401=>1000,39402=>1000,39403=>1000,39404=>1000,39405=>1000,39406=>1000,39407=>1000,39408=>1000,39409=>1000,39410=>1000,39411=>1000,39412=>1000,39413=>1000,39414=>1000,39415=>1000,39416=>1000,39417=>1000,39418=>1000,39419=>1000,39420=>1000,39421=>1000,39422=>1000,39423=>1000,39424=>1000,39425=>1000,39426=>1000,39427=>1000,39428=>1000,39429=>1000,39430=>1000,39431=>1000,39432=>1000,39433=>1000,39434=>1000,39435=>1000,39436=>1000,39437=>1000,39438=>1000,39439=>1000,39440=>1000,39441=>1000,39442=>1000,39443=>1000,39444=>1000,39445=>1000,39446=>1000,39447=>1000,39448=>1000,39449=>1000,39450=>1000,39451=>1000,39452=>1000,39453=>1000,39454=>1000,39455=>1000,39456=>1000,39457=>1000,39458=>1000,39459=>1000,39460=>1000,39461=>1000,39462=>1000,39463=>1000,39464=>1000,39465=>1000,39466=>1000,39467=>1000,39468=>1000,39469=>1000,39470=>1000,39471=>1000,39472=>1000,39473=>1000,39474=>1000,39475=>1000,39476=>1000,39477=>1000,39478=>1000,39479=>1000,39480=>1000,39481=>1000,39482=>1000,39483=>1000,39484=>1000,39485=>1000,39486=>1000,39487=>1000,39488=>1000,39489=>1000,39490=>1000,39491=>1000,39492=>1000,39493=>1000,39494=>1000,39495=>1000,39496=>1000,39497=>1000,39498=>1000,39499=>1000,39500=>1000,39501=>1000,39502=>1000,39503=>1000,39504=>1000,39505=>1000,39506=>1000,39507=>1000,39508=>1000,39509=>1000,39510=>1000,39511=>1000,39512=>1000,39513=>1000,39514=>1000,39515=>1000,39516=>1000,39517=>1000,39518=>1000,39519=>1000,39520=>1000,39521=>1000,39522=>1000,39523=>1000,39524=>1000,39525=>1000,39526=>1000,39527=>1000,39528=>1000,39529=>1000,39530=>1000,39531=>1000,39532=>1000,39533=>1000,39534=>1000,39535=>1000,39536=>1000,39537=>1000,39538=>1000,39539=>1000,39540=>1000,39541=>1000,39542=>1000,39543=>1000,39544=>1000,39545=>1000,39546=>1000,39547=>1000,39548=>1000,39549=>1000,39550=>1000,39551=>1000,39552=>1000,39553=>1000,39554=>1000,39555=>1000,39556=>1000,39557=>1000,39558=>1000,39559=>1000,39560=>1000,39561=>1000,39562=>1000,39563=>1000,39564=>1000,39565=>1000,39566=>1000,39567=>1000,39568=>1000,39569=>1000,39570=>1000,39571=>1000,39572=>1000,39573=>1000,39574=>1000,39575=>1000,39576=>1000,39577=>1000,39578=>1000,39579=>1000,39580=>1000,39581=>1000,39582=>1000,39583=>1000,39584=>1000,39585=>1000,39586=>1000,39587=>1000,39588=>1000,39589=>1000,39590=>1000,39591=>1000,39592=>1000,39593=>1000,39594=>1000,39595=>1000,39596=>1000,39597=>1000,39598=>1000,39599=>1000,39600=>1000,39601=>1000,39602=>1000,39603=>1000,39604=>1000,39605=>1000,39606=>1000,39607=>1000,39608=>1000,39609=>1000,39610=>1000,39611=>1000,39612=>1000,39613=>1000,39614=>1000,39615=>1000,39616=>1000,39617=>1000,39618=>1000,39619=>1000,39620=>1000,39621=>1000,39622=>1000,39623=>1000,39624=>1000,39625=>1000,39626=>1000,39627=>1000,39628=>1000,39629=>1000,39630=>1000,39631=>1000,39632=>1000,39633=>1000,39634=>1000,39635=>1000,39636=>1000,39637=>1000,39638=>1000,39639=>1000,39640=>1000,39641=>1000,39642=>1000,39643=>1000,39644=>1000,39645=>1000,39646=>1000,39647=>1000,39648=>1000,39649=>1000,39650=>1000,39651=>1000,39652=>1000,39653=>1000,39654=>1000,39655=>1000,39656=>1000,39657=>1000,39658=>1000,39659=>1000,39660=>1000,39661=>1000,39662=>1000,39663=>1000,39664=>1000,39665=>1000,39666=>1000,39667=>1000,39668=>1000,39669=>1000,39670=>1000,39671=>1000,39672=>1000,39673=>1000,39674=>1000,39675=>1000,39676=>1000,39677=>1000,39678=>1000,39679=>1000,39680=>1000,39681=>1000,39682=>1000,39683=>1000,39684=>1000,39685=>1000,39686=>1000,39687=>1000,39688=>1000,39689=>1000,39690=>1000,39691=>1000,39692=>1000,39693=>1000,39694=>1000,39695=>1000,39696=>1000,39697=>1000,39698=>1000,39699=>1000,39700=>1000,39701=>1000,39702=>1000,39703=>1000,39704=>1000,39705=>1000,39706=>1000,39707=>1000,39708=>1000,39709=>1000,39710=>1000,39711=>1000,39712=>1000,39713=>1000,39714=>1000,39715=>1000,39716=>1000,39717=>1000,39718=>1000,39719=>1000,39720=>1000,39721=>1000,39722=>1000,39723=>1000,39724=>1000,39725=>1000,39726=>1000,39727=>1000,39728=>1000,39729=>1000,39730=>1000,39731=>1000,39732=>1000,39733=>1000,39734=>1000,39735=>1000,39736=>1000,39737=>1000,39738=>1000,39739=>1000,39740=>1000,39741=>1000,39742=>1000,39743=>1000,39744=>1000,39745=>1000,39746=>1000,39747=>1000,39748=>1000,39749=>1000,39750=>1000,39751=>1000,39752=>1000,39753=>1000,39754=>1000,39755=>1000,39756=>1000,39757=>1000,39758=>1000,39759=>1000,39760=>1000,39761=>1000,39762=>1000,39763=>1000,39764=>1000,39765=>1000,39766=>1000,39767=>1000,39768=>1000,39769=>1000,39770=>1000,39771=>1000,39772=>1000,39773=>1000,39774=>1000,39775=>1000,39776=>1000,39777=>1000,39778=>1000,39779=>1000,39780=>1000,39781=>1000,39782=>1000,39783=>1000,39784=>1000,39785=>1000,39786=>1000,39787=>1000,39788=>1000,39789=>1000,39790=>1000,39791=>1000,39792=>1000,39793=>1000,39794=>1000,39795=>1000,39796=>1000,39797=>1000,39798=>1000,39799=>1000,39800=>1000,39801=>1000,39802=>1000,39803=>1000,39804=>1000,39805=>1000,39806=>1000,39807=>1000,39808=>1000,39809=>1000,39810=>1000,39811=>1000,39812=>1000,39813=>1000,39814=>1000,39815=>1000,39816=>1000,39817=>1000,39818=>1000,39819=>1000,39820=>1000,39821=>1000,39822=>1000,39823=>1000,39824=>1000,39825=>1000,39826=>1000,39827=>1000,39828=>1000,39829=>1000,39830=>1000,39831=>1000,39832=>1000,39833=>1000,39834=>1000,39835=>1000,39836=>1000,39837=>1000,39838=>1000,39839=>1000,39840=>1000,39841=>1000,39842=>1000,39843=>1000,39844=>1000,39845=>1000,39846=>1000,39847=>1000,39848=>1000,39849=>1000,39850=>1000,39851=>1000,39852=>1000,39853=>1000,39854=>1000,39855=>1000,39856=>1000,39857=>1000,39858=>1000,39859=>1000,39860=>1000,39861=>1000,39862=>1000,39863=>1000,39864=>1000,39865=>1000,39866=>1000,39867=>1000,39868=>1000,39869=>1000,39870=>1000,39871=>1000,39872=>1000,39873=>1000,39874=>1000,39875=>1000,39876=>1000,39877=>1000,39878=>1000,39879=>1000,39880=>1000,39881=>1000,39882=>1000,39883=>1000,39884=>1000,39885=>1000,39886=>1000,39887=>1000,39888=>1000,39889=>1000,39890=>1000,39891=>1000,39892=>1000,39893=>1000,39894=>1000,39895=>1000,39896=>1000,39897=>1000,39898=>1000,39899=>1000,39900=>1000,39901=>1000,39902=>1000,39903=>1000,39904=>1000,39905=>1000,39906=>1000,39907=>1000,39908=>1000,39909=>1000,39910=>1000,39911=>1000,39912=>1000,39913=>1000,39914=>1000,39915=>1000,39916=>1000,39917=>1000,39918=>1000,39919=>1000,39920=>1000,39921=>1000,39922=>1000,39923=>1000,39924=>1000,39925=>1000,39926=>1000,39927=>1000,39928=>1000,39929=>1000,39930=>1000,39931=>1000,39932=>1000,39933=>1000,39934=>1000,39935=>1000,39936=>1000,39937=>1000,39938=>1000,39939=>1000,39940=>1000,39941=>1000,39942=>1000,39943=>1000,39944=>1000,39945=>1000,39946=>1000,39947=>1000,39948=>1000,39949=>1000,39950=>1000,39951=>1000,39952=>1000,39953=>1000,39954=>1000,39955=>1000,39956=>1000,39957=>1000,39958=>1000,39959=>1000,39960=>1000,39961=>1000,39962=>1000,39963=>1000,39964=>1000,39965=>1000,39966=>1000,39967=>1000,39968=>1000,39969=>1000,39970=>1000,39971=>1000,39972=>1000,39973=>1000,39974=>1000,39975=>1000,39976=>1000,39977=>1000,39978=>1000,39979=>1000,39980=>1000,39981=>1000,39982=>1000,39983=>1000,39984=>1000,39985=>1000,39986=>1000,39987=>1000,39988=>1000,39989=>1000,39990=>1000,39991=>1000,39992=>1000,39993=>1000,39994=>1000,39995=>1000,39996=>1000,39997=>1000,39998=>1000,39999=>1000,40000=>1000,40001=>1000,40002=>1000,40003=>1000,40004=>1000,40005=>1000,40006=>1000,40007=>1000,40008=>1000,40009=>1000,40010=>1000,40011=>1000,40012=>1000,40013=>1000,40014=>1000,40015=>1000,40016=>1000,40017=>1000,40018=>1000,40019=>1000,40020=>1000,40021=>1000,40022=>1000,40023=>1000,40024=>1000,40025=>1000,40026=>1000,40027=>1000,40028=>1000,40029=>1000,40030=>1000,40031=>1000,40032=>1000,40033=>1000,40034=>1000,40035=>1000,40036=>1000,40037=>1000,40038=>1000,40039=>1000,40040=>1000,40041=>1000,40042=>1000,40043=>1000,40044=>1000,40045=>1000,40046=>1000,40047=>1000,40048=>1000,40049=>1000,40050=>1000,40051=>1000,40052=>1000,40053=>1000,40054=>1000,40055=>1000,40056=>1000,40057=>1000,40058=>1000,40059=>1000,40060=>1000,40061=>1000,40062=>1000,40063=>1000,40064=>1000,40065=>1000,40066=>1000,40067=>1000,40068=>1000,40069=>1000,40070=>1000,40071=>1000,40072=>1000,40073=>1000,40074=>1000,40075=>1000,40076=>1000,40077=>1000,40078=>1000,40079=>1000,40080=>1000,40081=>1000,40082=>1000,40083=>1000,40084=>1000,40085=>1000,40086=>1000,40087=>1000,40088=>1000,40089=>1000,40090=>1000,40091=>1000,40092=>1000,40093=>1000,40094=>1000,40095=>1000,40096=>1000,40097=>1000,40098=>1000,40099=>1000,40100=>1000,40101=>1000,40102=>1000,40103=>1000,40104=>1000,40105=>1000,40106=>1000,40107=>1000,40108=>1000,40109=>1000,40110=>1000,40111=>1000,40112=>1000,40113=>1000,40114=>1000,40115=>1000,40116=>1000,40117=>1000,40118=>1000,40119=>1000,40120=>1000,40121=>1000,40122=>1000,40123=>1000,40124=>1000,40125=>1000,40126=>1000,40127=>1000,40128=>1000,40129=>1000,40130=>1000,40131=>1000,40132=>1000,40133=>1000,40134=>1000,40135=>1000,40136=>1000,40137=>1000,40138=>1000,40139=>1000,40140=>1000,40141=>1000,40142=>1000,40143=>1000,40144=>1000,40145=>1000,40146=>1000,40147=>1000,40148=>1000,40149=>1000,40150=>1000,40151=>1000,40152=>1000,40153=>1000,40154=>1000,40155=>1000,40156=>1000,40157=>1000,40158=>1000,40159=>1000,40160=>1000,40161=>1000,40162=>1000,40163=>1000,40164=>1000,40165=>1000,40166=>1000,40167=>1000,40168=>1000,40169=>1000,40170=>1000,40171=>1000,40172=>1000,40173=>1000,40174=>1000,40175=>1000,40176=>1000,40177=>1000,40178=>1000,40179=>1000,40180=>1000,40181=>1000,40182=>1000,40183=>1000,40184=>1000,40185=>1000,40186=>1000,40187=>1000,40188=>1000,40189=>1000,40190=>1000,40191=>1000,40192=>1000,40193=>1000,40194=>1000,40195=>1000,40196=>1000,40197=>1000,40198=>1000,40199=>1000,40200=>1000,40201=>1000,40202=>1000,40203=>1000,40204=>1000,40205=>1000,40206=>1000,40207=>1000,40208=>1000,40209=>1000,40210=>1000,40211=>1000,40212=>1000,40213=>1000,40214=>1000,40215=>1000,40216=>1000,40217=>1000,40218=>1000,40219=>1000,40220=>1000,40221=>1000,40222=>1000,40223=>1000,40224=>1000,40225=>1000,40226=>1000,40227=>1000,40228=>1000,40229=>1000,40230=>1000,40231=>1000,40232=>1000,40233=>1000,40234=>1000,40235=>1000,40236=>1000,40237=>1000,40238=>1000,40239=>1000,40240=>1000,40241=>1000,40242=>1000,40243=>1000,40244=>1000,40245=>1000,40246=>1000,40247=>1000,40248=>1000,40249=>1000,40250=>1000,40251=>1000,40252=>1000,40253=>1000,40254=>1000,40255=>1000,40256=>1000,40257=>1000,40258=>1000,40259=>1000,40260=>1000,40261=>1000,40262=>1000,40263=>1000,40264=>1000,40265=>1000,40266=>1000,40267=>1000,40268=>1000,40269=>1000,40270=>1000,40271=>1000,40272=>1000,40273=>1000,40274=>1000,40275=>1000,40276=>1000,40277=>1000,40278=>1000,40279=>1000,40280=>1000,40281=>1000,40282=>1000,40283=>1000,40284=>1000,40285=>1000,40286=>1000,40287=>1000,40288=>1000,40289=>1000,40290=>1000,40291=>1000,40292=>1000,40293=>1000,40294=>1000,40295=>1000,40296=>1000,40297=>1000,40298=>1000,40299=>1000,40300=>1000,40301=>1000,40302=>1000,40303=>1000,40304=>1000,40305=>1000,40306=>1000,40307=>1000,40308=>1000,40309=>1000,40310=>1000,40311=>1000,40312=>1000,40313=>1000,40314=>1000,40315=>1000,40316=>1000,40317=>1000,40318=>1000,40319=>1000,40320=>1000,40321=>1000,40322=>1000,40323=>1000,40324=>1000,40325=>1000,40326=>1000,40327=>1000,40328=>1000,40329=>1000,40330=>1000,40331=>1000,40332=>1000,40333=>1000,40334=>1000,40335=>1000,40336=>1000,40337=>1000,40338=>1000,40339=>1000,40340=>1000,40341=>1000,40342=>1000,40343=>1000,40344=>1000,40345=>1000,40346=>1000,40347=>1000,40348=>1000,40349=>1000,40350=>1000,40351=>1000,40352=>1000,40353=>1000,40354=>1000,40355=>1000,40356=>1000,40357=>1000,40358=>1000,40359=>1000,40360=>1000,40361=>1000,40362=>1000,40363=>1000,40364=>1000,40365=>1000,40366=>1000,40367=>1000,40368=>1000,40369=>1000,40370=>1000,40371=>1000,40372=>1000,40373=>1000,40374=>1000,40375=>1000,40376=>1000,40377=>1000,40378=>1000,40379=>1000,40380=>1000,40381=>1000,40382=>1000,40383=>1000,40384=>1000,40385=>1000,40386=>1000,40387=>1000,40388=>1000,40389=>1000,40390=>1000,40391=>1000,40392=>1000,40393=>1000,40394=>1000,40395=>1000,40396=>1000,40397=>1000,40398=>1000,40399=>1000,40400=>1000,40401=>1000,40402=>1000,40403=>1000,40404=>1000,40405=>1000,40406=>1000,40407=>1000,40408=>1000,40409=>1000,40410=>1000,40411=>1000,40412=>1000,40413=>1000,40414=>1000,40415=>1000,40416=>1000,40417=>1000,40418=>1000,40419=>1000,40420=>1000,40421=>1000,40422=>1000,40423=>1000,40424=>1000,40425=>1000,40426=>1000,40427=>1000,40428=>1000,40429=>1000,40430=>1000,40431=>1000,40432=>1000,40433=>1000,40434=>1000,40435=>1000,40436=>1000,40437=>1000,40438=>1000,40439=>1000,40440=>1000,40441=>1000,40442=>1000,40443=>1000,40444=>1000,40445=>1000,40446=>1000,40447=>1000,40448=>1000,40449=>1000,40450=>1000,40451=>1000,40452=>1000,40453=>1000,40454=>1000,40455=>1000,40456=>1000,40457=>1000,40458=>1000,40459=>1000,40460=>1000,40461=>1000,40462=>1000,40463=>1000,40464=>1000,40465=>1000,40466=>1000,40467=>1000,40468=>1000,40469=>1000,40470=>1000,40471=>1000,40472=>1000,40473=>1000,40474=>1000,40475=>1000,40476=>1000,40477=>1000,40478=>1000,40479=>1000,40480=>1000,40481=>1000,40482=>1000,40483=>1000,40484=>1000,40485=>1000,40486=>1000,40487=>1000,40488=>1000,40489=>1000,40490=>1000,40491=>1000,40492=>1000,40493=>1000,40494=>1000,40495=>1000,40496=>1000,40497=>1000,40498=>1000,40499=>1000,40500=>1000,40501=>1000,40502=>1000,40503=>1000,40504=>1000,40505=>1000,40506=>1000,40507=>1000,40508=>1000,40509=>1000,40510=>1000,40511=>1000,40512=>1000,40513=>1000,40514=>1000,40515=>1000,40516=>1000,40517=>1000,40518=>1000,40519=>1000,40520=>1000,40521=>1000,40522=>1000,40523=>1000,40524=>1000,40525=>1000,40526=>1000,40527=>1000,40528=>1000,40529=>1000,40530=>1000,40531=>1000,40532=>1000,40533=>1000,40534=>1000,40535=>1000,40536=>1000,40537=>1000,40538=>1000,40539=>1000,40540=>1000,40541=>1000,40542=>1000,40543=>1000,40544=>1000,40545=>1000,40546=>1000,40547=>1000,40548=>1000,40549=>1000,40550=>1000,40551=>1000,40552=>1000,40553=>1000,40554=>1000,40555=>1000,40556=>1000,40557=>1000,40558=>1000,40559=>1000,40560=>1000,40561=>1000,40562=>1000,40563=>1000,40564=>1000,40565=>1000,40566=>1000,40567=>1000,40568=>1000,40569=>1000,40570=>1000,40571=>1000,40572=>1000,40573=>1000,40574=>1000,40575=>1000,40576=>1000,40577=>1000,40578=>1000,40579=>1000,40580=>1000,40581=>1000,40582=>1000,40583=>1000,40584=>1000,40585=>1000,40586=>1000,40587=>1000,40588=>1000,40589=>1000,40590=>1000,40591=>1000,40592=>1000,40593=>1000,40594=>1000,40595=>1000,40596=>1000,40597=>1000,40598=>1000,40599=>1000,40600=>1000,40601=>1000,40602=>1000,40603=>1000,40604=>1000,40605=>1000,40606=>1000,40607=>1000,40608=>1000,40609=>1000,40610=>1000,40611=>1000,40612=>1000,40613=>1000,40614=>1000,40615=>1000,40616=>1000,40617=>1000,40618=>1000,40619=>1000,40620=>1000,40621=>1000,40622=>1000,40623=>1000,40624=>1000,40625=>1000,40626=>1000,40627=>1000,40628=>1000,40629=>1000,40630=>1000,40631=>1000,40632=>1000,40633=>1000,40634=>1000,40635=>1000,40636=>1000,40637=>1000,40638=>1000,40639=>1000,40640=>1000,40641=>1000,40642=>1000,40643=>1000,40644=>1000,40645=>1000,40646=>1000,40647=>1000,40648=>1000,40649=>1000,40650=>1000,40651=>1000,40652=>1000,40653=>1000,40654=>1000,40655=>1000,40656=>1000,40657=>1000,40658=>1000,40659=>1000,40660=>1000,40661=>1000,40662=>1000,40663=>1000,40664=>1000,40665=>1000,40666=>1000,40667=>1000,40668=>1000,40669=>1000,40670=>1000,40671=>1000,40672=>1000,40673=>1000,40674=>1000,40675=>1000,40676=>1000,40677=>1000,40678=>1000,40679=>1000,40680=>1000,40681=>1000,40682=>1000,40683=>1000,40684=>1000,40685=>1000,40686=>1000,40687=>1000,40688=>1000,40689=>1000,40690=>1000,40691=>1000,40692=>1000,40693=>1000,40694=>1000,40695=>1000,40696=>1000,40697=>1000,40698=>1000,40699=>1000,40700=>1000,40701=>1000,40702=>1000,40703=>1000,40704=>1000,40705=>1000,40706=>1000,40707=>1000,40708=>1000,40709=>1000,40710=>1000,40711=>1000,40712=>1000,40713=>1000,40714=>1000,40715=>1000,40716=>1000,40717=>1000,40718=>1000,40719=>1000,40720=>1000,40721=>1000,40722=>1000,40723=>1000,40724=>1000,40725=>1000,40726=>1000,40727=>1000,40728=>1000,40729=>1000,40730=>1000,40731=>1000,40732=>1000,40733=>1000,40734=>1000,40735=>1000,40736=>1000,40737=>1000,40738=>1000,40739=>1000,40740=>1000,40741=>1000,40742=>1000,40743=>1000,40744=>1000,40745=>1000,40746=>1000,40747=>1000,40748=>1000,40749=>1000,40750=>1000,40751=>1000,40752=>1000,40753=>1000,40754=>1000,40755=>1000,40756=>1000,40757=>1000,40758=>1000,40759=>1000,40760=>1000,40761=>1000,40762=>1000,40763=>1000,40764=>1000,40765=>1000,40766=>1000,40767=>1000,40768=>1000,40769=>1000,40770=>1000,40771=>1000,40772=>1000,40773=>1000,40774=>1000,40775=>1000,40776=>1000,40777=>1000,40778=>1000,40779=>1000,40780=>1000,40781=>1000,40782=>1000,40783=>1000,40784=>1000,40785=>1000,40786=>1000,40787=>1000,40788=>1000,40789=>1000,40790=>1000,40791=>1000,40792=>1000,40793=>1000,40794=>1000,40795=>1000,40796=>1000,40797=>1000,40798=>1000,40799=>1000,40800=>1000,40801=>1000,40802=>1000,40803=>1000,40804=>1000,40805=>1000,40806=>1000,40807=>1000,40808=>1000,40809=>1000,40810=>1000,40811=>1000,40812=>1000,40813=>1000,40814=>1000,40815=>1000,40816=>1000,40817=>1000,40818=>1000,40819=>1000,40820=>1000,40821=>1000,40822=>1000,40823=>1000,40824=>1000,40825=>1000,40826=>1000,40827=>1000,40828=>1000,40829=>1000,40830=>1000,40831=>1000,40832=>1000,40833=>1000,40834=>1000,40835=>1000,40836=>1000,40837=>1000,40838=>1000,40839=>1000,40840=>1000,40841=>1000,40842=>1000,40843=>1000,40844=>1000,40845=>1000,40846=>1000,40847=>1000,40848=>1000,40849=>1000,40850=>1000,40851=>1000,40852=>1000,40853=>1000,40854=>1000,40855=>1000,40856=>1000,40857=>1000,40858=>1000,40859=>1000,40860=>1000,40861=>1000,40862=>1000,40863=>1000,40864=>1000,40865=>1000,40866=>1000,40867=>1000,40868=>1000,40869=>1000,44032=>1000,44033=>1000,44034=>1000,44035=>1000,44036=>1000,44037=>1000,44038=>1000,44039=>1000,44040=>1000,44041=>1000,44042=>1000,44043=>1000,44044=>1000,44045=>1000,44046=>1000,44047=>1000,44048=>1000,44049=>1000,44050=>1000,44051=>1000,44052=>1000,44053=>1000,44054=>1000,44055=>1000,44056=>1000,44057=>1000,44058=>1000,44059=>1000,44060=>1000,44061=>1000,44062=>1000,44063=>1000,44064=>1000,44065=>1000,44066=>1000,44067=>1000,44068=>1000,44069=>1000,44070=>1000,44071=>1000,44072=>1000,44073=>1000,44074=>1000,44075=>1000,44076=>1000,44077=>1000,44078=>1000,44079=>1000,44080=>1000,44081=>1000,44082=>1000,44083=>1000,44084=>1000,44085=>1000,44086=>1000,44087=>1000,44088=>1000,44089=>1000,44090=>1000,44091=>1000,44092=>1000,44093=>1000,44094=>1000,44095=>1000,44096=>1000,44097=>1000,44098=>1000,44099=>1000,44100=>1000,44101=>1000,44102=>1000,44103=>1000,44104=>1000,44105=>1000,44106=>1000,44107=>1000,44108=>1000,44109=>1000,44110=>1000,44111=>1000,44112=>1000,44113=>1000,44114=>1000,44115=>1000,44116=>1000,44117=>1000,44118=>1000,44119=>1000,44120=>1000,44121=>1000,44122=>1000,44123=>1000,44124=>1000,44125=>1000,44126=>1000,44127=>1000,44128=>1000,44129=>1000,44130=>1000,44131=>1000,44132=>1000,44133=>1000,44134=>1000,44135=>1000,44136=>1000,44137=>1000,44138=>1000,44139=>1000,44140=>1000,44141=>1000,44142=>1000,44143=>1000,44144=>1000,44145=>1000,44146=>1000,44147=>1000,44148=>1000,44149=>1000,44150=>1000,44151=>1000,44152=>1000,44153=>1000,44154=>1000,44155=>1000,44156=>1000,44157=>1000,44158=>1000,44159=>1000,44160=>1000,44161=>1000,44162=>1000,44163=>1000,44164=>1000,44165=>1000,44166=>1000,44167=>1000,44168=>1000,44169=>1000,44170=>1000,44171=>1000,44172=>1000,44173=>1000,44174=>1000,44175=>1000,44176=>1000,44177=>1000,44178=>1000,44179=>1000,44180=>1000,44181=>1000,44182=>1000,44183=>1000,44184=>1000,44185=>1000,44186=>1000,44187=>1000,44188=>1000,44189=>1000,44190=>1000,44191=>1000,44192=>1000,44193=>1000,44194=>1000,44195=>1000,44196=>1000,44197=>1000,44198=>1000,44199=>1000,44200=>1000,44201=>1000,44202=>1000,44203=>1000,44204=>1000,44205=>1000,44206=>1000,44207=>1000,44208=>1000,44209=>1000,44210=>1000,44211=>1000,44212=>1000,44213=>1000,44214=>1000,44215=>1000,44216=>1000,44217=>1000,44218=>1000,44219=>1000,44220=>1000,44221=>1000,44222=>1000,44223=>1000,44224=>1000,44225=>1000,44226=>1000,44227=>1000,44228=>1000,44229=>1000,44230=>1000,44231=>1000,44232=>1000,44233=>1000,44234=>1000,44235=>1000,44236=>1000,44237=>1000,44238=>1000,44239=>1000,44240=>1000,44241=>1000,44242=>1000,44243=>1000,44244=>1000,44245=>1000,44246=>1000,44247=>1000,44248=>1000,44249=>1000,44250=>1000,44251=>1000,44252=>1000,44253=>1000,44254=>1000,44255=>1000,44256=>1000,44257=>1000,44258=>1000,44259=>1000,44260=>1000,44261=>1000,44262=>1000,44263=>1000,44264=>1000,44265=>1000,44266=>1000,44267=>1000,44268=>1000,44269=>1000,44270=>1000,44271=>1000,44272=>1000,44273=>1000,44274=>1000,44275=>1000,44276=>1000,44277=>1000,44278=>1000,44279=>1000,44280=>1000,44281=>1000,44282=>1000,44283=>1000,44284=>1000,44285=>1000,44286=>1000,44287=>1000,44288=>1000,44289=>1000,44290=>1000,44291=>1000,44292=>1000,44293=>1000,44294=>1000,44295=>1000,44296=>1000,44297=>1000,44298=>1000,44299=>1000,44300=>1000,44301=>1000,44302=>1000,44303=>1000,44304=>1000,44305=>1000,44306=>1000,44307=>1000,44308=>1000,44309=>1000,44310=>1000,44311=>1000,44312=>1000,44313=>1000,44314=>1000,44315=>1000,44316=>1000,44317=>1000,44318=>1000,44319=>1000,44320=>1000,44321=>1000,44322=>1000,44323=>1000,44324=>1000,44325=>1000,44326=>1000,44327=>1000,44328=>1000,44329=>1000,44330=>1000,44331=>1000,44332=>1000,44333=>1000,44334=>1000,44335=>1000,44336=>1000,44337=>1000,44338=>1000,44339=>1000,44340=>1000,44341=>1000,44342=>1000,44343=>1000,44344=>1000,44345=>1000,44346=>1000,44347=>1000,44348=>1000,44349=>1000,44350=>1000,44351=>1000,44352=>1000,44353=>1000,44354=>1000,44355=>1000,44356=>1000,44357=>1000,44358=>1000,44359=>1000,44360=>1000,44361=>1000,44362=>1000,44363=>1000,44364=>1000,44365=>1000,44366=>1000,44367=>1000,44368=>1000,44369=>1000,44370=>1000,44371=>1000,44372=>1000,44373=>1000,44374=>1000,44375=>1000,44376=>1000,44377=>1000,44378=>1000,44379=>1000,44380=>1000,44381=>1000,44382=>1000,44383=>1000,44384=>1000,44385=>1000,44386=>1000,44387=>1000,44388=>1000,44389=>1000,44390=>1000,44391=>1000,44392=>1000,44393=>1000,44394=>1000,44395=>1000,44396=>1000,44397=>1000,44398=>1000,44399=>1000,44400=>1000,44401=>1000,44402=>1000,44403=>1000,44404=>1000,44405=>1000,44406=>1000,44407=>1000,44408=>1000,44409=>1000,44410=>1000,44411=>1000,44412=>1000,44413=>1000,44414=>1000,44415=>1000,44416=>1000,44417=>1000,44418=>1000,44419=>1000,44420=>1000,44421=>1000,44422=>1000,44423=>1000,44424=>1000,44425=>1000,44426=>1000,44427=>1000,44428=>1000,44429=>1000,44430=>1000,44431=>1000,44432=>1000,44433=>1000,44434=>1000,44435=>1000,44436=>1000,44437=>1000,44438=>1000,44439=>1000,44440=>1000,44441=>1000,44442=>1000,44443=>1000,44444=>1000,44445=>1000,44446=>1000,44447=>1000,44448=>1000,44449=>1000,44450=>1000,44451=>1000,44452=>1000,44453=>1000,44454=>1000,44455=>1000,44456=>1000,44457=>1000,44458=>1000,44459=>1000,44460=>1000,44461=>1000,44462=>1000,44463=>1000,44464=>1000,44465=>1000,44466=>1000,44467=>1000,44468=>1000,44469=>1000,44470=>1000,44471=>1000,44472=>1000,44473=>1000,44474=>1000,44475=>1000,44476=>1000,44477=>1000,44478=>1000,44479=>1000,44480=>1000,44481=>1000,44482=>1000,44483=>1000,44484=>1000,44485=>1000,44486=>1000,44487=>1000,44488=>1000,44489=>1000,44490=>1000,44491=>1000,44492=>1000,44493=>1000,44494=>1000,44495=>1000,44496=>1000,44497=>1000,44498=>1000,44499=>1000,44500=>1000,44501=>1000,44502=>1000,44503=>1000,44504=>1000,44505=>1000,44506=>1000,44507=>1000,44508=>1000,44509=>1000,44510=>1000,44511=>1000,44512=>1000,44513=>1000,44514=>1000,44515=>1000,44516=>1000,44517=>1000,44518=>1000,44519=>1000,44520=>1000,44521=>1000,44522=>1000,44523=>1000,44524=>1000,44525=>1000,44526=>1000,44527=>1000,44528=>1000,44529=>1000,44530=>1000,44531=>1000,44532=>1000,44533=>1000,44534=>1000,44535=>1000,44536=>1000,44537=>1000,44538=>1000,44539=>1000,44540=>1000,44541=>1000,44542=>1000,44543=>1000,44544=>1000,44545=>1000,44546=>1000,44547=>1000,44548=>1000,44549=>1000,44550=>1000,44551=>1000,44552=>1000,44553=>1000,44554=>1000,44555=>1000,44556=>1000,44557=>1000,44558=>1000,44559=>1000,44560=>1000,44561=>1000,44562=>1000,44563=>1000,44564=>1000,44565=>1000,44566=>1000,44567=>1000,44568=>1000,44569=>1000,44570=>1000,44571=>1000,44572=>1000,44573=>1000,44574=>1000,44575=>1000,44576=>1000,44577=>1000,44578=>1000,44579=>1000,44580=>1000,44581=>1000,44582=>1000,44583=>1000,44584=>1000,44585=>1000,44586=>1000,44587=>1000,44588=>1000,44589=>1000,44590=>1000,44591=>1000,44592=>1000,44593=>1000,44594=>1000,44595=>1000,44596=>1000,44597=>1000,44598=>1000,44599=>1000,44600=>1000,44601=>1000,44602=>1000,44603=>1000,44604=>1000,44605=>1000,44606=>1000,44607=>1000,44608=>1000,44609=>1000,44610=>1000,44611=>1000,44612=>1000,44613=>1000,44614=>1000,44615=>1000,44616=>1000,44617=>1000,44618=>1000,44619=>1000,44620=>1000,44621=>1000,44622=>1000,44623=>1000,44624=>1000,44625=>1000,44626=>1000,44627=>1000,44628=>1000,44629=>1000,44630=>1000,44631=>1000,44632=>1000,44633=>1000,44634=>1000,44635=>1000,44636=>1000,44637=>1000,44638=>1000,44639=>1000,44640=>1000,44641=>1000,44642=>1000,44643=>1000,44644=>1000,44645=>1000,44646=>1000,44647=>1000,44648=>1000,44649=>1000,44650=>1000,44651=>1000,44652=>1000,44653=>1000,44654=>1000,44655=>1000,44656=>1000,44657=>1000,44658=>1000,44659=>1000,44660=>1000,44661=>1000,44662=>1000,44663=>1000,44664=>1000,44665=>1000,44666=>1000,44667=>1000,44668=>1000,44669=>1000,44670=>1000,44671=>1000,44672=>1000,44673=>1000,44674=>1000,44675=>1000,44676=>1000,44677=>1000,44678=>1000,44679=>1000,44680=>1000,44681=>1000,44682=>1000,44683=>1000,44684=>1000,44685=>1000,44686=>1000,44687=>1000,44688=>1000,44689=>1000,44690=>1000,44691=>1000,44692=>1000,44693=>1000,44694=>1000,44695=>1000,44696=>1000,44697=>1000,44698=>1000,44699=>1000,44700=>1000,44701=>1000,44702=>1000,44703=>1000,44704=>1000,44705=>1000,44706=>1000,44707=>1000,44708=>1000,44709=>1000,44710=>1000,44711=>1000,44712=>1000,44713=>1000,44714=>1000,44715=>1000,44716=>1000,44717=>1000,44718=>1000,44719=>1000,44720=>1000,44721=>1000,44722=>1000,44723=>1000,44724=>1000,44725=>1000,44726=>1000,44727=>1000,44728=>1000,44729=>1000,44730=>1000,44731=>1000,44732=>1000,44733=>1000,44734=>1000,44735=>1000,44736=>1000,44737=>1000,44738=>1000,44739=>1000,44740=>1000,44741=>1000,44742=>1000,44743=>1000,44744=>1000,44745=>1000,44746=>1000,44747=>1000,44748=>1000,44749=>1000,44750=>1000,44751=>1000,44752=>1000,44753=>1000,44754=>1000,44755=>1000,44756=>1000,44757=>1000,44758=>1000,44759=>1000,44760=>1000,44761=>1000,44762=>1000,44763=>1000,44764=>1000,44765=>1000,44766=>1000,44767=>1000,44768=>1000,44769=>1000,44770=>1000,44771=>1000,44772=>1000,44773=>1000,44774=>1000,44775=>1000,44776=>1000,44777=>1000,44778=>1000,44779=>1000,44780=>1000,44781=>1000,44782=>1000,44783=>1000,44784=>1000,44785=>1000,44786=>1000,44787=>1000,44788=>1000,44789=>1000,44790=>1000,44791=>1000,44792=>1000,44793=>1000,44794=>1000,44795=>1000,44796=>1000,44797=>1000,44798=>1000,44799=>1000,44800=>1000,44801=>1000,44802=>1000,44803=>1000,44804=>1000,44805=>1000,44806=>1000,44807=>1000,44808=>1000,44809=>1000,44810=>1000,44811=>1000,44812=>1000,44813=>1000,44814=>1000,44815=>1000,44816=>1000,44817=>1000,44818=>1000,44819=>1000,44820=>1000,44821=>1000,44822=>1000,44823=>1000,44824=>1000,44825=>1000,44826=>1000,44827=>1000,44828=>1000,44829=>1000,44830=>1000,44831=>1000,44832=>1000,44833=>1000,44834=>1000,44835=>1000,44836=>1000,44837=>1000,44838=>1000,44839=>1000,44840=>1000,44841=>1000,44842=>1000,44843=>1000,44844=>1000,44845=>1000,44846=>1000,44847=>1000,44848=>1000,44849=>1000,44850=>1000,44851=>1000,44852=>1000,44853=>1000,44854=>1000,44855=>1000,44856=>1000,44857=>1000,44858=>1000,44859=>1000,44860=>1000,44861=>1000,44862=>1000,44863=>1000,44864=>1000,44865=>1000,44866=>1000,44867=>1000,44868=>1000,44869=>1000,44870=>1000,44871=>1000,44872=>1000,44873=>1000,44874=>1000,44875=>1000,44876=>1000,44877=>1000,44878=>1000,44879=>1000,44880=>1000,44881=>1000,44882=>1000,44883=>1000,44884=>1000,44885=>1000,44886=>1000,44887=>1000,44888=>1000,44889=>1000,44890=>1000,44891=>1000,44892=>1000,44893=>1000,44894=>1000,44895=>1000,44896=>1000,44897=>1000,44898=>1000,44899=>1000,44900=>1000,44901=>1000,44902=>1000,44903=>1000,44904=>1000,44905=>1000,44906=>1000,44907=>1000,44908=>1000,44909=>1000,44910=>1000,44911=>1000,44912=>1000,44913=>1000,44914=>1000,44915=>1000,44916=>1000,44917=>1000,44918=>1000,44919=>1000,44920=>1000,44921=>1000,44922=>1000,44923=>1000,44924=>1000,44925=>1000,44926=>1000,44927=>1000,44928=>1000,44929=>1000,44930=>1000,44931=>1000,44932=>1000,44933=>1000,44934=>1000,44935=>1000,44936=>1000,44937=>1000,44938=>1000,44939=>1000,44940=>1000,44941=>1000,44942=>1000,44943=>1000,44944=>1000,44945=>1000,44946=>1000,44947=>1000,44948=>1000,44949=>1000,44950=>1000,44951=>1000,44952=>1000,44953=>1000,44954=>1000,44955=>1000,44956=>1000,44957=>1000,44958=>1000,44959=>1000,44960=>1000,44961=>1000,44962=>1000,44963=>1000,44964=>1000,44965=>1000,44966=>1000,44967=>1000,44968=>1000,44969=>1000,44970=>1000,44971=>1000,44972=>1000,44973=>1000,44974=>1000,44975=>1000,44976=>1000,44977=>1000,44978=>1000,44979=>1000,44980=>1000,44981=>1000,44982=>1000,44983=>1000,44984=>1000,44985=>1000,44986=>1000,44987=>1000,44988=>1000,44989=>1000,44990=>1000,44991=>1000,44992=>1000,44993=>1000,44994=>1000,44995=>1000,44996=>1000,44997=>1000,44998=>1000,44999=>1000,45000=>1000,45001=>1000,45002=>1000,45003=>1000,45004=>1000,45005=>1000,45006=>1000,45007=>1000,45008=>1000,45009=>1000,45010=>1000,45011=>1000,45012=>1000,45013=>1000,45014=>1000,45015=>1000,45016=>1000,45017=>1000,45018=>1000,45019=>1000,45020=>1000,45021=>1000,45022=>1000,45023=>1000,45024=>1000,45025=>1000,45026=>1000,45027=>1000,45028=>1000,45029=>1000,45030=>1000,45031=>1000,45032=>1000,45033=>1000,45034=>1000,45035=>1000,45036=>1000,45037=>1000,45038=>1000,45039=>1000,45040=>1000,45041=>1000,45042=>1000,45043=>1000,45044=>1000,45045=>1000,45046=>1000,45047=>1000,45048=>1000,45049=>1000,45050=>1000,45051=>1000,45052=>1000,45053=>1000,45054=>1000,45055=>1000,45056=>1000,45057=>1000,45058=>1000,45059=>1000,45060=>1000,45061=>1000,45062=>1000,45063=>1000,45064=>1000,45065=>1000,45066=>1000,45067=>1000,45068=>1000,45069=>1000,45070=>1000,45071=>1000,45072=>1000,45073=>1000,45074=>1000,45075=>1000,45076=>1000,45077=>1000,45078=>1000,45079=>1000,45080=>1000,45081=>1000,45082=>1000,45083=>1000,45084=>1000,45085=>1000,45086=>1000,45087=>1000,45088=>1000,45089=>1000,45090=>1000,45091=>1000,45092=>1000,45093=>1000,45094=>1000,45095=>1000,45096=>1000,45097=>1000,45098=>1000,45099=>1000,45100=>1000,45101=>1000,45102=>1000,45103=>1000,45104=>1000,45105=>1000,45106=>1000,45107=>1000,45108=>1000,45109=>1000,45110=>1000,45111=>1000,45112=>1000,45113=>1000,45114=>1000,45115=>1000,45116=>1000,45117=>1000,45118=>1000,45119=>1000,45120=>1000,45121=>1000,45122=>1000,45123=>1000,45124=>1000,45125=>1000,45126=>1000,45127=>1000,45128=>1000,45129=>1000,45130=>1000,45131=>1000,45132=>1000,45133=>1000,45134=>1000,45135=>1000,45136=>1000,45137=>1000,45138=>1000,45139=>1000,45140=>1000,45141=>1000,45142=>1000,45143=>1000,45144=>1000,45145=>1000,45146=>1000,45147=>1000,45148=>1000,45149=>1000,45150=>1000,45151=>1000,45152=>1000,45153=>1000,45154=>1000,45155=>1000,45156=>1000,45157=>1000,45158=>1000,45159=>1000,45160=>1000,45161=>1000,45162=>1000,45163=>1000,45164=>1000,45165=>1000,45166=>1000,45167=>1000,45168=>1000,45169=>1000,45170=>1000,45171=>1000,45172=>1000,45173=>1000,45174=>1000,45175=>1000,45176=>1000,45177=>1000,45178=>1000,45179=>1000,45180=>1000,45181=>1000,45182=>1000,45183=>1000,45184=>1000,45185=>1000,45186=>1000,45187=>1000,45188=>1000,45189=>1000,45190=>1000,45191=>1000,45192=>1000,45193=>1000,45194=>1000,45195=>1000,45196=>1000,45197=>1000,45198=>1000,45199=>1000,45200=>1000,45201=>1000,45202=>1000,45203=>1000,45204=>1000,45205=>1000,45206=>1000,45207=>1000,45208=>1000,45209=>1000,45210=>1000,45211=>1000,45212=>1000,45213=>1000,45214=>1000,45215=>1000,45216=>1000,45217=>1000,45218=>1000,45219=>1000,45220=>1000,45221=>1000,45222=>1000,45223=>1000,45224=>1000,45225=>1000,45226=>1000,45227=>1000,45228=>1000,45229=>1000,45230=>1000,45231=>1000,45232=>1000,45233=>1000,45234=>1000,45235=>1000,45236=>1000,45237=>1000,45238=>1000,45239=>1000,45240=>1000,45241=>1000,45242=>1000,45243=>1000,45244=>1000,45245=>1000,45246=>1000,45247=>1000,45248=>1000,45249=>1000,45250=>1000,45251=>1000,45252=>1000,45253=>1000,45254=>1000,45255=>1000,45256=>1000,45257=>1000,45258=>1000,45259=>1000,45260=>1000,45261=>1000,45262=>1000,45263=>1000,45264=>1000,45265=>1000,45266=>1000,45267=>1000,45268=>1000,45269=>1000,45270=>1000,45271=>1000,45272=>1000,45273=>1000,45274=>1000,45275=>1000,45276=>1000,45277=>1000,45278=>1000,45279=>1000,45280=>1000,45281=>1000,45282=>1000,45283=>1000,45284=>1000,45285=>1000,45286=>1000,45287=>1000,45288=>1000,45289=>1000,45290=>1000,45291=>1000,45292=>1000,45293=>1000,45294=>1000,45295=>1000,45296=>1000,45297=>1000,45298=>1000,45299=>1000,45300=>1000,45301=>1000,45302=>1000,45303=>1000,45304=>1000,45305=>1000,45306=>1000,45307=>1000,45308=>1000,45309=>1000,45310=>1000,45311=>1000,45312=>1000,45313=>1000,45314=>1000,45315=>1000,45316=>1000,45317=>1000,45318=>1000,45319=>1000,45320=>1000,45321=>1000,45322=>1000,45323=>1000,45324=>1000,45325=>1000,45326=>1000,45327=>1000,45328=>1000,45329=>1000,45330=>1000,45331=>1000,45332=>1000,45333=>1000,45334=>1000,45335=>1000,45336=>1000,45337=>1000,45338=>1000,45339=>1000,45340=>1000,45341=>1000,45342=>1000,45343=>1000,45344=>1000,45345=>1000,45346=>1000,45347=>1000,45348=>1000,45349=>1000,45350=>1000,45351=>1000,45352=>1000,45353=>1000,45354=>1000,45355=>1000,45356=>1000,45357=>1000,45358=>1000,45359=>1000,45360=>1000,45361=>1000,45362=>1000,45363=>1000,45364=>1000,45365=>1000,45366=>1000,45367=>1000,45368=>1000,45369=>1000,45370=>1000,45371=>1000,45372=>1000,45373=>1000,45374=>1000,45375=>1000,45376=>1000,45377=>1000,45378=>1000,45379=>1000,45380=>1000,45381=>1000,45382=>1000,45383=>1000,45384=>1000,45385=>1000,45386=>1000,45387=>1000,45388=>1000,45389=>1000,45390=>1000,45391=>1000,45392=>1000,45393=>1000,45394=>1000,45395=>1000,45396=>1000,45397=>1000,45398=>1000,45399=>1000,45400=>1000,45401=>1000,45402=>1000,45403=>1000,45404=>1000,45405=>1000,45406=>1000,45407=>1000,45408=>1000,45409=>1000,45410=>1000,45411=>1000,45412=>1000,45413=>1000,45414=>1000,45415=>1000,45416=>1000,45417=>1000,45418=>1000,45419=>1000,45420=>1000,45421=>1000,45422=>1000,45423=>1000,45424=>1000,45425=>1000,45426=>1000,45427=>1000,45428=>1000,45429=>1000,45430=>1000,45431=>1000,45432=>1000,45433=>1000,45434=>1000,45435=>1000,45436=>1000,45437=>1000,45438=>1000,45439=>1000,45440=>1000,45441=>1000,45442=>1000,45443=>1000,45444=>1000,45445=>1000,45446=>1000,45447=>1000,45448=>1000,45449=>1000,45450=>1000,45451=>1000,45452=>1000,45453=>1000,45454=>1000,45455=>1000,45456=>1000,45457=>1000,45458=>1000,45459=>1000,45460=>1000,45461=>1000,45462=>1000,45463=>1000,45464=>1000,45465=>1000,45466=>1000,45467=>1000,45468=>1000,45469=>1000,45470=>1000,45471=>1000,45472=>1000,45473=>1000,45474=>1000,45475=>1000,45476=>1000,45477=>1000,45478=>1000,45479=>1000,45480=>1000,45481=>1000,45482=>1000,45483=>1000,45484=>1000,45485=>1000,45486=>1000,45487=>1000,45488=>1000,45489=>1000,45490=>1000,45491=>1000,45492=>1000,45493=>1000,45494=>1000,45495=>1000,45496=>1000,45497=>1000,45498=>1000,45499=>1000,45500=>1000,45501=>1000,45502=>1000,45503=>1000,45504=>1000,45505=>1000,45506=>1000,45507=>1000,45508=>1000,45509=>1000,45510=>1000,45511=>1000,45512=>1000,45513=>1000,45514=>1000,45515=>1000,45516=>1000,45517=>1000,45518=>1000,45519=>1000,45520=>1000,45521=>1000,45522=>1000,45523=>1000,45524=>1000,45525=>1000,45526=>1000,45527=>1000,45528=>1000,45529=>1000,45530=>1000,45531=>1000,45532=>1000,45533=>1000,45534=>1000,45535=>1000,45536=>1000,45537=>1000,45538=>1000,45539=>1000,45540=>1000,45541=>1000,45542=>1000,45543=>1000,45544=>1000,45545=>1000,45546=>1000,45547=>1000,45548=>1000,45549=>1000,45550=>1000,45551=>1000,45552=>1000,45553=>1000,45554=>1000,45555=>1000,45556=>1000,45557=>1000,45558=>1000,45559=>1000,45560=>1000,45561=>1000,45562=>1000,45563=>1000,45564=>1000,45565=>1000,45566=>1000,45567=>1000,45568=>1000,45569=>1000,45570=>1000,45571=>1000,45572=>1000,45573=>1000,45574=>1000,45575=>1000,45576=>1000,45577=>1000,45578=>1000,45579=>1000,45580=>1000,45581=>1000,45582=>1000,45583=>1000,45584=>1000,45585=>1000,45586=>1000,45587=>1000,45588=>1000,45589=>1000,45590=>1000,45591=>1000,45592=>1000,45593=>1000,45594=>1000,45595=>1000,45596=>1000,45597=>1000,45598=>1000,45599=>1000,45600=>1000,45601=>1000,45602=>1000,45603=>1000,45604=>1000,45605=>1000,45606=>1000,45607=>1000,45608=>1000,45609=>1000,45610=>1000,45611=>1000,45612=>1000,45613=>1000,45614=>1000,45615=>1000,45616=>1000,45617=>1000,45618=>1000,45619=>1000,45620=>1000,45621=>1000,45622=>1000,45623=>1000,45624=>1000,45625=>1000,45626=>1000,45627=>1000,45628=>1000,45629=>1000,45630=>1000,45631=>1000,45632=>1000,45633=>1000,45634=>1000,45635=>1000,45636=>1000,45637=>1000,45638=>1000,45639=>1000,45640=>1000,45641=>1000,45642=>1000,45643=>1000,45644=>1000,45645=>1000,45646=>1000,45647=>1000,45648=>1000,45649=>1000,45650=>1000,45651=>1000,45652=>1000,45653=>1000,45654=>1000,45655=>1000,45656=>1000,45657=>1000,45658=>1000,45659=>1000,45660=>1000,45661=>1000,45662=>1000,45663=>1000,45664=>1000,45665=>1000,45666=>1000,45667=>1000,45668=>1000,45669=>1000,45670=>1000,45671=>1000,45672=>1000,45673=>1000,45674=>1000,45675=>1000,45676=>1000,45677=>1000,45678=>1000,45679=>1000,45680=>1000,45681=>1000,45682=>1000,45683=>1000,45684=>1000,45685=>1000,45686=>1000,45687=>1000,45688=>1000,45689=>1000,45690=>1000,45691=>1000,45692=>1000,45693=>1000,45694=>1000,45695=>1000,45696=>1000,45697=>1000,45698=>1000,45699=>1000,45700=>1000,45701=>1000,45702=>1000,45703=>1000,45704=>1000,45705=>1000,45706=>1000,45707=>1000,45708=>1000,45709=>1000,45710=>1000,45711=>1000,45712=>1000,45713=>1000,45714=>1000,45715=>1000,45716=>1000,45717=>1000,45718=>1000,45719=>1000,45720=>1000,45721=>1000,45722=>1000,45723=>1000,45724=>1000,45725=>1000,45726=>1000,45727=>1000,45728=>1000,45729=>1000,45730=>1000,45731=>1000,45732=>1000,45733=>1000,45734=>1000,45735=>1000,45736=>1000,45737=>1000,45738=>1000,45739=>1000,45740=>1000,45741=>1000,45742=>1000,45743=>1000,45744=>1000,45745=>1000,45746=>1000,45747=>1000,45748=>1000,45749=>1000,45750=>1000,45751=>1000,45752=>1000,45753=>1000,45754=>1000,45755=>1000,45756=>1000,45757=>1000,45758=>1000,45759=>1000,45760=>1000,45761=>1000,45762=>1000,45763=>1000,45764=>1000,45765=>1000,45766=>1000,45767=>1000,45768=>1000,45769=>1000,45770=>1000,45771=>1000,45772=>1000,45773=>1000,45774=>1000,45775=>1000,45776=>1000,45777=>1000,45778=>1000,45779=>1000,45780=>1000,45781=>1000,45782=>1000,45783=>1000,45784=>1000,45785=>1000,45786=>1000,45787=>1000,45788=>1000,45789=>1000,45790=>1000,45791=>1000,45792=>1000,45793=>1000,45794=>1000,45795=>1000,45796=>1000,45797=>1000,45798=>1000,45799=>1000,45800=>1000,45801=>1000,45802=>1000,45803=>1000,45804=>1000,45805=>1000,45806=>1000,45807=>1000,45808=>1000,45809=>1000,45810=>1000,45811=>1000,45812=>1000,45813=>1000,45814=>1000,45815=>1000,45816=>1000,45817=>1000,45818=>1000,45819=>1000,45820=>1000,45821=>1000,45822=>1000,45823=>1000,45824=>1000,45825=>1000,45826=>1000,45827=>1000,45828=>1000,45829=>1000,45830=>1000,45831=>1000,45832=>1000,45833=>1000,45834=>1000,45835=>1000,45836=>1000,45837=>1000,45838=>1000,45839=>1000,45840=>1000,45841=>1000,45842=>1000,45843=>1000,45844=>1000,45845=>1000,45846=>1000,45847=>1000,45848=>1000,45849=>1000,45850=>1000,45851=>1000,45852=>1000,45853=>1000,45854=>1000,45855=>1000,45856=>1000,45857=>1000,45858=>1000,45859=>1000,45860=>1000,45861=>1000,45862=>1000,45863=>1000,45864=>1000,45865=>1000,45866=>1000,45867=>1000,45868=>1000,45869=>1000,45870=>1000,45871=>1000,45872=>1000,45873=>1000,45874=>1000,45875=>1000,45876=>1000,45877=>1000,45878=>1000,45879=>1000,45880=>1000,45881=>1000,45882=>1000,45883=>1000,45884=>1000,45885=>1000,45886=>1000,45887=>1000,45888=>1000,45889=>1000,45890=>1000,45891=>1000,45892=>1000,45893=>1000,45894=>1000,45895=>1000,45896=>1000,45897=>1000,45898=>1000,45899=>1000,45900=>1000,45901=>1000,45902=>1000,45903=>1000,45904=>1000,45905=>1000,45906=>1000,45907=>1000,45908=>1000,45909=>1000,45910=>1000,45911=>1000,45912=>1000,45913=>1000,45914=>1000,45915=>1000,45916=>1000,45917=>1000,45918=>1000,45919=>1000,45920=>1000,45921=>1000,45922=>1000,45923=>1000,45924=>1000,45925=>1000,45926=>1000,45927=>1000,45928=>1000,45929=>1000,45930=>1000,45931=>1000,45932=>1000,45933=>1000,45934=>1000,45935=>1000,45936=>1000,45937=>1000,45938=>1000,45939=>1000,45940=>1000,45941=>1000,45942=>1000,45943=>1000,45944=>1000,45945=>1000,45946=>1000,45947=>1000,45948=>1000,45949=>1000,45950=>1000,45951=>1000,45952=>1000,45953=>1000,45954=>1000,45955=>1000,45956=>1000,45957=>1000,45958=>1000,45959=>1000,45960=>1000,45961=>1000,45962=>1000,45963=>1000,45964=>1000,45965=>1000,45966=>1000,45967=>1000,45968=>1000,45969=>1000,45970=>1000,45971=>1000,45972=>1000,45973=>1000,45974=>1000,45975=>1000,45976=>1000,45977=>1000,45978=>1000,45979=>1000,45980=>1000,45981=>1000,45982=>1000,45983=>1000,45984=>1000,45985=>1000,45986=>1000,45987=>1000,45988=>1000,45989=>1000,45990=>1000,45991=>1000,45992=>1000,45993=>1000,45994=>1000,45995=>1000,45996=>1000,45997=>1000,45998=>1000,45999=>1000,46000=>1000,46001=>1000,46002=>1000,46003=>1000,46004=>1000,46005=>1000,46006=>1000,46007=>1000,46008=>1000,46009=>1000,46010=>1000,46011=>1000,46012=>1000,46013=>1000,46014=>1000,46015=>1000,46016=>1000,46017=>1000,46018=>1000,46019=>1000,46020=>1000,46021=>1000,46022=>1000,46023=>1000,46024=>1000,46025=>1000,46026=>1000,46027=>1000,46028=>1000,46029=>1000,46030=>1000,46031=>1000,46032=>1000,46033=>1000,46034=>1000,46035=>1000,46036=>1000,46037=>1000,46038=>1000,46039=>1000,46040=>1000,46041=>1000,46042=>1000,46043=>1000,46044=>1000,46045=>1000,46046=>1000,46047=>1000,46048=>1000,46049=>1000,46050=>1000,46051=>1000,46052=>1000,46053=>1000,46054=>1000,46055=>1000,46056=>1000,46057=>1000,46058=>1000,46059=>1000,46060=>1000,46061=>1000,46062=>1000,46063=>1000,46064=>1000,46065=>1000,46066=>1000,46067=>1000,46068=>1000,46069=>1000,46070=>1000,46071=>1000,46072=>1000,46073=>1000,46074=>1000,46075=>1000,46076=>1000,46077=>1000,46078=>1000,46079=>1000,46080=>1000,46081=>1000,46082=>1000,46083=>1000,46084=>1000,46085=>1000,46086=>1000,46087=>1000,46088=>1000,46089=>1000,46090=>1000,46091=>1000,46092=>1000,46093=>1000,46094=>1000,46095=>1000,46096=>1000,46097=>1000,46098=>1000,46099=>1000,46100=>1000,46101=>1000,46102=>1000,46103=>1000,46104=>1000,46105=>1000,46106=>1000,46107=>1000,46108=>1000,46109=>1000,46110=>1000,46111=>1000,46112=>1000,46113=>1000,46114=>1000,46115=>1000,46116=>1000,46117=>1000,46118=>1000,46119=>1000,46120=>1000,46121=>1000,46122=>1000,46123=>1000,46124=>1000,46125=>1000,46126=>1000,46127=>1000,46128=>1000,46129=>1000,46130=>1000,46131=>1000,46132=>1000,46133=>1000,46134=>1000,46135=>1000,46136=>1000,46137=>1000,46138=>1000,46139=>1000,46140=>1000,46141=>1000,46142=>1000,46143=>1000,46144=>1000,46145=>1000,46146=>1000,46147=>1000,46148=>1000,46149=>1000,46150=>1000,46151=>1000,46152=>1000,46153=>1000,46154=>1000,46155=>1000,46156=>1000,46157=>1000,46158=>1000,46159=>1000,46160=>1000,46161=>1000,46162=>1000,46163=>1000,46164=>1000,46165=>1000,46166=>1000,46167=>1000,46168=>1000,46169=>1000,46170=>1000,46171=>1000,46172=>1000,46173=>1000,46174=>1000,46175=>1000,46176=>1000,46177=>1000,46178=>1000,46179=>1000,46180=>1000,46181=>1000,46182=>1000,46183=>1000,46184=>1000,46185=>1000,46186=>1000,46187=>1000,46188=>1000,46189=>1000,46190=>1000,46191=>1000,46192=>1000,46193=>1000,46194=>1000,46195=>1000,46196=>1000,46197=>1000,46198=>1000,46199=>1000,46200=>1000,46201=>1000,46202=>1000,46203=>1000,46204=>1000,46205=>1000,46206=>1000,46207=>1000,46208=>1000,46209=>1000,46210=>1000,46211=>1000,46212=>1000,46213=>1000,46214=>1000,46215=>1000,46216=>1000,46217=>1000,46218=>1000,46219=>1000,46220=>1000,46221=>1000,46222=>1000,46223=>1000,46224=>1000,46225=>1000,46226=>1000,46227=>1000,46228=>1000,46229=>1000,46230=>1000,46231=>1000,46232=>1000,46233=>1000,46234=>1000,46235=>1000,46236=>1000,46237=>1000,46238=>1000,46239=>1000,46240=>1000,46241=>1000,46242=>1000,46243=>1000,46244=>1000,46245=>1000,46246=>1000,46247=>1000,46248=>1000,46249=>1000,46250=>1000,46251=>1000,46252=>1000,46253=>1000,46254=>1000,46255=>1000,46256=>1000,46257=>1000,46258=>1000,46259=>1000,46260=>1000,46261=>1000,46262=>1000,46263=>1000,46264=>1000,46265=>1000,46266=>1000,46267=>1000,46268=>1000,46269=>1000,46270=>1000,46271=>1000,46272=>1000,46273=>1000,46274=>1000,46275=>1000,46276=>1000,46277=>1000,46278=>1000,46279=>1000,46280=>1000,46281=>1000,46282=>1000,46283=>1000,46284=>1000,46285=>1000,46286=>1000,46287=>1000,46288=>1000,46289=>1000,46290=>1000,46291=>1000,46292=>1000,46293=>1000,46294=>1000,46295=>1000,46296=>1000,46297=>1000,46298=>1000,46299=>1000,46300=>1000,46301=>1000,46302=>1000,46303=>1000,46304=>1000,46305=>1000,46306=>1000,46307=>1000,46308=>1000,46309=>1000,46310=>1000,46311=>1000,46312=>1000,46313=>1000,46314=>1000,46315=>1000,46316=>1000,46317=>1000,46318=>1000,46319=>1000,46320=>1000,46321=>1000,46322=>1000,46323=>1000,46324=>1000,46325=>1000,46326=>1000,46327=>1000,46328=>1000,46329=>1000,46330=>1000,46331=>1000,46332=>1000,46333=>1000,46334=>1000,46335=>1000,46336=>1000,46337=>1000,46338=>1000,46339=>1000,46340=>1000,46341=>1000,46342=>1000,46343=>1000,46344=>1000,46345=>1000,46346=>1000,46347=>1000,46348=>1000,46349=>1000,46350=>1000,46351=>1000,46352=>1000,46353=>1000,46354=>1000,46355=>1000,46356=>1000,46357=>1000,46358=>1000,46359=>1000,46360=>1000,46361=>1000,46362=>1000,46363=>1000,46364=>1000,46365=>1000,46366=>1000,46367=>1000,46368=>1000,46369=>1000,46370=>1000,46371=>1000,46372=>1000,46373=>1000,46374=>1000,46375=>1000,46376=>1000,46377=>1000,46378=>1000,46379=>1000,46380=>1000,46381=>1000,46382=>1000,46383=>1000,46384=>1000,46385=>1000,46386=>1000,46387=>1000,46388=>1000,46389=>1000,46390=>1000,46391=>1000,46392=>1000,46393=>1000,46394=>1000,46395=>1000,46396=>1000,46397=>1000,46398=>1000,46399=>1000,46400=>1000,46401=>1000,46402=>1000,46403=>1000,46404=>1000,46405=>1000,46406=>1000,46407=>1000,46408=>1000,46409=>1000,46410=>1000,46411=>1000,46412=>1000,46413=>1000,46414=>1000,46415=>1000,46416=>1000,46417=>1000,46418=>1000,46419=>1000,46420=>1000,46421=>1000,46422=>1000,46423=>1000,46424=>1000,46425=>1000,46426=>1000,46427=>1000,46428=>1000,46429=>1000,46430=>1000,46431=>1000,46432=>1000,46433=>1000,46434=>1000,46435=>1000,46436=>1000,46437=>1000,46438=>1000,46439=>1000,46440=>1000,46441=>1000,46442=>1000,46443=>1000,46444=>1000,46445=>1000,46446=>1000,46447=>1000,46448=>1000,46449=>1000,46450=>1000,46451=>1000,46452=>1000,46453=>1000,46454=>1000,46455=>1000,46456=>1000,46457=>1000,46458=>1000,46459=>1000,46460=>1000,46461=>1000,46462=>1000,46463=>1000,46464=>1000,46465=>1000,46466=>1000,46467=>1000,46468=>1000,46469=>1000,46470=>1000,46471=>1000,46472=>1000,46473=>1000,46474=>1000,46475=>1000,46476=>1000,46477=>1000,46478=>1000,46479=>1000,46480=>1000,46481=>1000,46482=>1000,46483=>1000,46484=>1000,46485=>1000,46486=>1000,46487=>1000,46488=>1000,46489=>1000,46490=>1000,46491=>1000,46492=>1000,46493=>1000,46494=>1000,46495=>1000,46496=>1000,46497=>1000,46498=>1000,46499=>1000,46500=>1000,46501=>1000,46502=>1000,46503=>1000,46504=>1000,46505=>1000,46506=>1000,46507=>1000,46508=>1000,46509=>1000,46510=>1000,46511=>1000,46512=>1000,46513=>1000,46514=>1000,46515=>1000,46516=>1000,46517=>1000,46518=>1000,46519=>1000,46520=>1000,46521=>1000,46522=>1000,46523=>1000,46524=>1000,46525=>1000,46526=>1000,46527=>1000,46528=>1000,46529=>1000,46530=>1000,46531=>1000,46532=>1000,46533=>1000,46534=>1000,46535=>1000,46536=>1000,46537=>1000,46538=>1000,46539=>1000,46540=>1000,46541=>1000,46542=>1000,46543=>1000,46544=>1000,46545=>1000,46546=>1000,46547=>1000,46548=>1000,46549=>1000,46550=>1000,46551=>1000,46552=>1000,46553=>1000,46554=>1000,46555=>1000,46556=>1000,46557=>1000,46558=>1000,46559=>1000,46560=>1000,46561=>1000,46562=>1000,46563=>1000,46564=>1000,46565=>1000,46566=>1000,46567=>1000,46568=>1000,46569=>1000,46570=>1000,46571=>1000,46572=>1000,46573=>1000,46574=>1000,46575=>1000,46576=>1000,46577=>1000,46578=>1000,46579=>1000,46580=>1000,46581=>1000,46582=>1000,46583=>1000,46584=>1000,46585=>1000,46586=>1000,46587=>1000,46588=>1000,46589=>1000,46590=>1000,46591=>1000,46592=>1000,46593=>1000,46594=>1000,46595=>1000,46596=>1000,46597=>1000,46598=>1000,46599=>1000,46600=>1000,46601=>1000,46602=>1000,46603=>1000,46604=>1000,46605=>1000,46606=>1000,46607=>1000,46608=>1000,46609=>1000,46610=>1000,46611=>1000,46612=>1000,46613=>1000,46614=>1000,46615=>1000,46616=>1000,46617=>1000,46618=>1000,46619=>1000,46620=>1000,46621=>1000,46622=>1000,46623=>1000,46624=>1000,46625=>1000,46626=>1000,46627=>1000,46628=>1000,46629=>1000,46630=>1000,46631=>1000,46632=>1000,46633=>1000,46634=>1000,46635=>1000,46636=>1000,46637=>1000,46638=>1000,46639=>1000,46640=>1000,46641=>1000,46642=>1000,46643=>1000,46644=>1000,46645=>1000,46646=>1000,46647=>1000,46648=>1000,46649=>1000,46650=>1000,46651=>1000,46652=>1000,46653=>1000,46654=>1000,46655=>1000,46656=>1000,46657=>1000,46658=>1000,46659=>1000,46660=>1000,46661=>1000,46662=>1000,46663=>1000,46664=>1000,46665=>1000,46666=>1000,46667=>1000,46668=>1000,46669=>1000,46670=>1000,46671=>1000,46672=>1000,46673=>1000,46674=>1000,46675=>1000,46676=>1000,46677=>1000,46678=>1000,46679=>1000,46680=>1000,46681=>1000,46682=>1000,46683=>1000,46684=>1000,46685=>1000,46686=>1000,46687=>1000,46688=>1000,46689=>1000,46690=>1000,46691=>1000,46692=>1000,46693=>1000,46694=>1000,46695=>1000,46696=>1000,46697=>1000,46698=>1000,46699=>1000,46700=>1000,46701=>1000,46702=>1000,46703=>1000,46704=>1000,46705=>1000,46706=>1000,46707=>1000,46708=>1000,46709=>1000,46710=>1000,46711=>1000,46712=>1000,46713=>1000,46714=>1000,46715=>1000,46716=>1000,46717=>1000,46718=>1000,46719=>1000,46720=>1000,46721=>1000,46722=>1000,46723=>1000,46724=>1000,46725=>1000,46726=>1000,46727=>1000,46728=>1000,46729=>1000,46730=>1000,46731=>1000,46732=>1000,46733=>1000,46734=>1000,46735=>1000,46736=>1000,46737=>1000,46738=>1000,46739=>1000,46740=>1000,46741=>1000,46742=>1000,46743=>1000,46744=>1000,46745=>1000,46746=>1000,46747=>1000,46748=>1000,46749=>1000,46750=>1000,46751=>1000,46752=>1000,46753=>1000,46754=>1000,46755=>1000,46756=>1000,46757=>1000,46758=>1000,46759=>1000,46760=>1000,46761=>1000,46762=>1000,46763=>1000,46764=>1000,46765=>1000,46766=>1000,46767=>1000,46768=>1000,46769=>1000,46770=>1000,46771=>1000,46772=>1000,46773=>1000,46774=>1000,46775=>1000,46776=>1000,46777=>1000,46778=>1000,46779=>1000,46780=>1000,46781=>1000,46782=>1000,46783=>1000,46784=>1000,46785=>1000,46786=>1000,46787=>1000,46788=>1000,46789=>1000,46790=>1000,46791=>1000,46792=>1000,46793=>1000,46794=>1000,46795=>1000,46796=>1000,46797=>1000,46798=>1000,46799=>1000,46800=>1000,46801=>1000,46802=>1000,46803=>1000,46804=>1000,46805=>1000,46806=>1000,46807=>1000,46808=>1000,46809=>1000,46810=>1000,46811=>1000,46812=>1000,46813=>1000,46814=>1000,46815=>1000,46816=>1000,46817=>1000,46818=>1000,46819=>1000,46820=>1000,46821=>1000,46822=>1000,46823=>1000,46824=>1000,46825=>1000,46826=>1000,46827=>1000,46828=>1000,46829=>1000,46830=>1000,46831=>1000,46832=>1000,46833=>1000,46834=>1000,46835=>1000,46836=>1000,46837=>1000,46838=>1000,46839=>1000,46840=>1000,46841=>1000,46842=>1000,46843=>1000,46844=>1000,46845=>1000,46846=>1000,46847=>1000,46848=>1000,46849=>1000,46850=>1000,46851=>1000,46852=>1000,46853=>1000,46854=>1000,46855=>1000,46856=>1000,46857=>1000,46858=>1000,46859=>1000,46860=>1000,46861=>1000,46862=>1000,46863=>1000,46864=>1000,46865=>1000,46866=>1000,46867=>1000,46868=>1000,46869=>1000,46870=>1000,46871=>1000,46872=>1000,46873=>1000,46874=>1000,46875=>1000,46876=>1000,46877=>1000,46878=>1000,46879=>1000,46880=>1000,46881=>1000,46882=>1000,46883=>1000,46884=>1000,46885=>1000,46886=>1000,46887=>1000,46888=>1000,46889=>1000,46890=>1000,46891=>1000,46892=>1000,46893=>1000,46894=>1000,46895=>1000,46896=>1000,46897=>1000,46898=>1000,46899=>1000,46900=>1000,46901=>1000,46902=>1000,46903=>1000,46904=>1000,46905=>1000,46906=>1000,46907=>1000,46908=>1000,46909=>1000,46910=>1000,46911=>1000,46912=>1000,46913=>1000,46914=>1000,46915=>1000,46916=>1000,46917=>1000,46918=>1000,46919=>1000,46920=>1000,46921=>1000,46922=>1000,46923=>1000,46924=>1000,46925=>1000,46926=>1000,46927=>1000,46928=>1000,46929=>1000,46930=>1000,46931=>1000,46932=>1000,46933=>1000,46934=>1000,46935=>1000,46936=>1000,46937=>1000,46938=>1000,46939=>1000,46940=>1000,46941=>1000,46942=>1000,46943=>1000,46944=>1000,46945=>1000,46946=>1000,46947=>1000,46948=>1000,46949=>1000,46950=>1000,46951=>1000,46952=>1000,46953=>1000,46954=>1000,46955=>1000,46956=>1000,46957=>1000,46958=>1000,46959=>1000,46960=>1000,46961=>1000,46962=>1000,46963=>1000,46964=>1000,46965=>1000,46966=>1000,46967=>1000,46968=>1000,46969=>1000,46970=>1000,46971=>1000,46972=>1000,46973=>1000,46974=>1000,46975=>1000,46976=>1000,46977=>1000,46978=>1000,46979=>1000,46980=>1000,46981=>1000,46982=>1000,46983=>1000,46984=>1000,46985=>1000,46986=>1000,46987=>1000,46988=>1000,46989=>1000,46990=>1000,46991=>1000,46992=>1000,46993=>1000,46994=>1000,46995=>1000,46996=>1000,46997=>1000,46998=>1000,46999=>1000,47000=>1000,47001=>1000,47002=>1000,47003=>1000,47004=>1000,47005=>1000,47006=>1000,47007=>1000,47008=>1000,47009=>1000,47010=>1000,47011=>1000,47012=>1000,47013=>1000,47014=>1000,47015=>1000,47016=>1000,47017=>1000,47018=>1000,47019=>1000,47020=>1000,47021=>1000,47022=>1000,47023=>1000,47024=>1000,47025=>1000,47026=>1000,47027=>1000,47028=>1000,47029=>1000,47030=>1000,47031=>1000,47032=>1000,47033=>1000,47034=>1000,47035=>1000,47036=>1000,47037=>1000,47038=>1000,47039=>1000,47040=>1000,47041=>1000,47042=>1000,47043=>1000,47044=>1000,47045=>1000,47046=>1000,47047=>1000,47048=>1000,47049=>1000,47050=>1000,47051=>1000,47052=>1000,47053=>1000,47054=>1000,47055=>1000,47056=>1000,47057=>1000,47058=>1000,47059=>1000,47060=>1000,47061=>1000,47062=>1000,47063=>1000,47064=>1000,47065=>1000,47066=>1000,47067=>1000,47068=>1000,47069=>1000,47070=>1000,47071=>1000,47072=>1000,47073=>1000,47074=>1000,47075=>1000,47076=>1000,47077=>1000,47078=>1000,47079=>1000,47080=>1000,47081=>1000,47082=>1000,47083=>1000,47084=>1000,47085=>1000,47086=>1000,47087=>1000,47088=>1000,47089=>1000,47090=>1000,47091=>1000,47092=>1000,47093=>1000,47094=>1000,47095=>1000,47096=>1000,47097=>1000,47098=>1000,47099=>1000,47100=>1000,47101=>1000,47102=>1000,47103=>1000,47104=>1000,47105=>1000,47106=>1000,47107=>1000,47108=>1000,47109=>1000,47110=>1000,47111=>1000,47112=>1000,47113=>1000,47114=>1000,47115=>1000,47116=>1000,47117=>1000,47118=>1000,47119=>1000,47120=>1000,47121=>1000,47122=>1000,47123=>1000,47124=>1000,47125=>1000,47126=>1000,47127=>1000,47128=>1000,47129=>1000,47130=>1000,47131=>1000,47132=>1000,47133=>1000,47134=>1000,47135=>1000,47136=>1000,47137=>1000,47138=>1000,47139=>1000,47140=>1000,47141=>1000,47142=>1000,47143=>1000,47144=>1000,47145=>1000,47146=>1000,47147=>1000,47148=>1000,47149=>1000,47150=>1000,47151=>1000,47152=>1000,47153=>1000,47154=>1000,47155=>1000,47156=>1000,47157=>1000,47158=>1000,47159=>1000,47160=>1000,47161=>1000,47162=>1000,47163=>1000,47164=>1000,47165=>1000,47166=>1000,47167=>1000,47168=>1000,47169=>1000,47170=>1000,47171=>1000,47172=>1000,47173=>1000,47174=>1000,47175=>1000,47176=>1000,47177=>1000,47178=>1000,47179=>1000,47180=>1000,47181=>1000,47182=>1000,47183=>1000,47184=>1000,47185=>1000,47186=>1000,47187=>1000,47188=>1000,47189=>1000,47190=>1000,47191=>1000,47192=>1000,47193=>1000,47194=>1000,47195=>1000,47196=>1000,47197=>1000,47198=>1000,47199=>1000,47200=>1000,47201=>1000,47202=>1000,47203=>1000,47204=>1000,47205=>1000,47206=>1000,47207=>1000,47208=>1000,47209=>1000,47210=>1000,47211=>1000,47212=>1000,47213=>1000,47214=>1000,47215=>1000,47216=>1000,47217=>1000,47218=>1000,47219=>1000,47220=>1000,47221=>1000,47222=>1000,47223=>1000,47224=>1000,47225=>1000,47226=>1000,47227=>1000,47228=>1000,47229=>1000,47230=>1000,47231=>1000,47232=>1000,47233=>1000,47234=>1000,47235=>1000,47236=>1000,47237=>1000,47238=>1000,47239=>1000,47240=>1000,47241=>1000,47242=>1000,47243=>1000,47244=>1000,47245=>1000,47246=>1000,47247=>1000,47248=>1000,47249=>1000,47250=>1000,47251=>1000,47252=>1000,47253=>1000,47254=>1000,47255=>1000,47256=>1000,47257=>1000,47258=>1000,47259=>1000,47260=>1000,47261=>1000,47262=>1000,47263=>1000,47264=>1000,47265=>1000,47266=>1000,47267=>1000,47268=>1000,47269=>1000,47270=>1000,47271=>1000,47272=>1000,47273=>1000,47274=>1000,47275=>1000,47276=>1000,47277=>1000,47278=>1000,47279=>1000,47280=>1000,47281=>1000,47282=>1000,47283=>1000,47284=>1000,47285=>1000,47286=>1000,47287=>1000,47288=>1000,47289=>1000,47290=>1000,47291=>1000,47292=>1000,47293=>1000,47294=>1000,47295=>1000,47296=>1000,47297=>1000,47298=>1000,47299=>1000,47300=>1000,47301=>1000,47302=>1000,47303=>1000,47304=>1000,47305=>1000,47306=>1000,47307=>1000,47308=>1000,47309=>1000,47310=>1000,47311=>1000,47312=>1000,47313=>1000,47314=>1000,47315=>1000,47316=>1000,47317=>1000,47318=>1000,47319=>1000,47320=>1000,47321=>1000,47322=>1000,47323=>1000,47324=>1000,47325=>1000,47326=>1000,47327=>1000,47328=>1000,47329=>1000,47330=>1000,47331=>1000,47332=>1000,47333=>1000,47334=>1000,47335=>1000,47336=>1000,47337=>1000,47338=>1000,47339=>1000,47340=>1000,47341=>1000,47342=>1000,47343=>1000,47344=>1000,47345=>1000,47346=>1000,47347=>1000,47348=>1000,47349=>1000,47350=>1000,47351=>1000,47352=>1000,47353=>1000,47354=>1000,47355=>1000,47356=>1000,47357=>1000,47358=>1000,47359=>1000,47360=>1000,47361=>1000,47362=>1000,47363=>1000,47364=>1000,47365=>1000,47366=>1000,47367=>1000,47368=>1000,47369=>1000,47370=>1000,47371=>1000,47372=>1000,47373=>1000,47374=>1000,47375=>1000,47376=>1000,47377=>1000,47378=>1000,47379=>1000,47380=>1000,47381=>1000,47382=>1000,47383=>1000,47384=>1000,47385=>1000,47386=>1000,47387=>1000,47388=>1000,47389=>1000,47390=>1000,47391=>1000,47392=>1000,47393=>1000,47394=>1000,47395=>1000,47396=>1000,47397=>1000,47398=>1000,47399=>1000,47400=>1000,47401=>1000,47402=>1000,47403=>1000,47404=>1000,47405=>1000,47406=>1000,47407=>1000,47408=>1000,47409=>1000,47410=>1000,47411=>1000,47412=>1000,47413=>1000,47414=>1000,47415=>1000,47416=>1000,47417=>1000,47418=>1000,47419=>1000,47420=>1000,47421=>1000,47422=>1000,47423=>1000,47424=>1000,47425=>1000,47426=>1000,47427=>1000,47428=>1000,47429=>1000,47430=>1000,47431=>1000,47432=>1000,47433=>1000,47434=>1000,47435=>1000,47436=>1000,47437=>1000,47438=>1000,47439=>1000,47440=>1000,47441=>1000,47442=>1000,47443=>1000,47444=>1000,47445=>1000,47446=>1000,47447=>1000,47448=>1000,47449=>1000,47450=>1000,47451=>1000,47452=>1000,47453=>1000,47454=>1000,47455=>1000,47456=>1000,47457=>1000,47458=>1000,47459=>1000,47460=>1000,47461=>1000,47462=>1000,47463=>1000,47464=>1000,47465=>1000,47466=>1000,47467=>1000,47468=>1000,47469=>1000,47470=>1000,47471=>1000,47472=>1000,47473=>1000,47474=>1000,47475=>1000,47476=>1000,47477=>1000,47478=>1000,47479=>1000,47480=>1000,47481=>1000,47482=>1000,47483=>1000,47484=>1000,47485=>1000,47486=>1000,47487=>1000,47488=>1000,47489=>1000,47490=>1000,47491=>1000,47492=>1000,47493=>1000,47494=>1000,47495=>1000,47496=>1000,47497=>1000,47498=>1000,47499=>1000,47500=>1000,47501=>1000,47502=>1000,47503=>1000,47504=>1000,47505=>1000,47506=>1000,47507=>1000,47508=>1000,47509=>1000,47510=>1000,47511=>1000,47512=>1000,47513=>1000,47514=>1000,47515=>1000,47516=>1000,47517=>1000,47518=>1000,47519=>1000,47520=>1000,47521=>1000,47522=>1000,47523=>1000,47524=>1000,47525=>1000,47526=>1000,47527=>1000,47528=>1000,47529=>1000,47530=>1000,47531=>1000,47532=>1000,47533=>1000,47534=>1000,47535=>1000,47536=>1000,47537=>1000,47538=>1000,47539=>1000,47540=>1000,47541=>1000,47542=>1000,47543=>1000,47544=>1000,47545=>1000,47546=>1000,47547=>1000,47548=>1000,47549=>1000,47550=>1000,47551=>1000,47552=>1000,47553=>1000,47554=>1000,47555=>1000,47556=>1000,47557=>1000,47558=>1000,47559=>1000,47560=>1000,47561=>1000,47562=>1000,47563=>1000,47564=>1000,47565=>1000,47566=>1000,47567=>1000,47568=>1000,47569=>1000,47570=>1000,47571=>1000,47572=>1000,47573=>1000,47574=>1000,47575=>1000,47576=>1000,47577=>1000,47578=>1000,47579=>1000,47580=>1000,47581=>1000,47582=>1000,47583=>1000,47584=>1000,47585=>1000,47586=>1000,47587=>1000,47588=>1000,47589=>1000,47590=>1000,47591=>1000,47592=>1000,47593=>1000,47594=>1000,47595=>1000,47596=>1000,47597=>1000,47598=>1000,47599=>1000,47600=>1000,47601=>1000,47602=>1000,47603=>1000,47604=>1000,47605=>1000,47606=>1000,47607=>1000,47608=>1000,47609=>1000,47610=>1000,47611=>1000,47612=>1000,47613=>1000,47614=>1000,47615=>1000,47616=>1000,47617=>1000,47618=>1000,47619=>1000,47620=>1000,47621=>1000,47622=>1000,47623=>1000,47624=>1000,47625=>1000,47626=>1000,47627=>1000,47628=>1000,47629=>1000,47630=>1000,47631=>1000,47632=>1000,47633=>1000,47634=>1000,47635=>1000,47636=>1000,47637=>1000,47638=>1000,47639=>1000,47640=>1000,47641=>1000,47642=>1000,47643=>1000,47644=>1000,47645=>1000,47646=>1000,47647=>1000,47648=>1000,47649=>1000,47650=>1000,47651=>1000,47652=>1000,47653=>1000,47654=>1000,47655=>1000,47656=>1000,47657=>1000,47658=>1000,47659=>1000,47660=>1000,47661=>1000,47662=>1000,47663=>1000,47664=>1000,47665=>1000,47666=>1000,47667=>1000,47668=>1000,47669=>1000,47670=>1000,47671=>1000,47672=>1000,47673=>1000,47674=>1000,47675=>1000,47676=>1000,47677=>1000,47678=>1000,47679=>1000,47680=>1000,47681=>1000,47682=>1000,47683=>1000,47684=>1000,47685=>1000,47686=>1000,47687=>1000,47688=>1000,47689=>1000,47690=>1000,47691=>1000,47692=>1000,47693=>1000,47694=>1000,47695=>1000,47696=>1000,47697=>1000,47698=>1000,47699=>1000,47700=>1000,47701=>1000,47702=>1000,47703=>1000,47704=>1000,47705=>1000,47706=>1000,47707=>1000,47708=>1000,47709=>1000,47710=>1000,47711=>1000,47712=>1000,47713=>1000,47714=>1000,47715=>1000,47716=>1000,47717=>1000,47718=>1000,47719=>1000,47720=>1000,47721=>1000,47722=>1000,47723=>1000,47724=>1000,47725=>1000,47726=>1000,47727=>1000,47728=>1000,47729=>1000,47730=>1000,47731=>1000,47732=>1000,47733=>1000,47734=>1000,47735=>1000,47736=>1000,47737=>1000,47738=>1000,47739=>1000,47740=>1000,47741=>1000,47742=>1000,47743=>1000,47744=>1000,47745=>1000,47746=>1000,47747=>1000,47748=>1000,47749=>1000,47750=>1000,47751=>1000,47752=>1000,47753=>1000,47754=>1000,47755=>1000,47756=>1000,47757=>1000,47758=>1000,47759=>1000,47760=>1000,47761=>1000,47762=>1000,47763=>1000,47764=>1000,47765=>1000,47766=>1000,47767=>1000,47768=>1000,47769=>1000,47770=>1000,47771=>1000,47772=>1000,47773=>1000,47774=>1000,47775=>1000,47776=>1000,47777=>1000,47778=>1000,47779=>1000,47780=>1000,47781=>1000,47782=>1000,47783=>1000,47784=>1000,47785=>1000,47786=>1000,47787=>1000,47788=>1000,47789=>1000,47790=>1000,47791=>1000,47792=>1000,47793=>1000,47794=>1000,47795=>1000,47796=>1000,47797=>1000,47798=>1000,47799=>1000,47800=>1000,47801=>1000,47802=>1000,47803=>1000,47804=>1000,47805=>1000,47806=>1000,47807=>1000,47808=>1000,47809=>1000,47810=>1000,47811=>1000,47812=>1000,47813=>1000,47814=>1000,47815=>1000,47816=>1000,47817=>1000,47818=>1000,47819=>1000,47820=>1000,47821=>1000,47822=>1000,47823=>1000,47824=>1000,47825=>1000,47826=>1000,47827=>1000,47828=>1000,47829=>1000,47830=>1000,47831=>1000,47832=>1000,47833=>1000,47834=>1000,47835=>1000,47836=>1000,47837=>1000,47838=>1000,47839=>1000,47840=>1000,47841=>1000,47842=>1000,47843=>1000,47844=>1000,47845=>1000,47846=>1000,47847=>1000,47848=>1000,47849=>1000,47850=>1000,47851=>1000,47852=>1000,47853=>1000,47854=>1000,47855=>1000,47856=>1000,47857=>1000,47858=>1000,47859=>1000,47860=>1000,47861=>1000,47862=>1000,47863=>1000,47864=>1000,47865=>1000,47866=>1000,47867=>1000,47868=>1000,47869=>1000,47870=>1000,47871=>1000,47872=>1000,47873=>1000,47874=>1000,47875=>1000,47876=>1000,47877=>1000,47878=>1000,47879=>1000,47880=>1000,47881=>1000,47882=>1000,47883=>1000,47884=>1000,47885=>1000,47886=>1000,47887=>1000,47888=>1000,47889=>1000,47890=>1000,47891=>1000,47892=>1000,47893=>1000,47894=>1000,47895=>1000,47896=>1000,47897=>1000,47898=>1000,47899=>1000,47900=>1000,47901=>1000,47902=>1000,47903=>1000,47904=>1000,47905=>1000,47906=>1000,47907=>1000,47908=>1000,47909=>1000,47910=>1000,47911=>1000,47912=>1000,47913=>1000,47914=>1000,47915=>1000,47916=>1000,47917=>1000,47918=>1000,47919=>1000,47920=>1000,47921=>1000,47922=>1000,47923=>1000,47924=>1000,47925=>1000,47926=>1000,47927=>1000,47928=>1000,47929=>1000,47930=>1000,47931=>1000,47932=>1000,47933=>1000,47934=>1000,47935=>1000,47936=>1000,47937=>1000,47938=>1000,47939=>1000,47940=>1000,47941=>1000,47942=>1000,47943=>1000,47944=>1000,47945=>1000,47946=>1000,47947=>1000,47948=>1000,47949=>1000,47950=>1000,47951=>1000,47952=>1000,47953=>1000,47954=>1000,47955=>1000,47956=>1000,47957=>1000,47958=>1000,47959=>1000,47960=>1000,47961=>1000,47962=>1000,47963=>1000,47964=>1000,47965=>1000,47966=>1000,47967=>1000,47968=>1000,47969=>1000,47970=>1000,47971=>1000,47972=>1000,47973=>1000,47974=>1000,47975=>1000,47976=>1000,47977=>1000,47978=>1000,47979=>1000,47980=>1000,47981=>1000,47982=>1000,47983=>1000,47984=>1000,47985=>1000,47986=>1000,47987=>1000,47988=>1000,47989=>1000,47990=>1000,47991=>1000,47992=>1000,47993=>1000,47994=>1000,47995=>1000,47996=>1000,47997=>1000,47998=>1000,47999=>1000,48000=>1000,48001=>1000,48002=>1000,48003=>1000,48004=>1000,48005=>1000,48006=>1000,48007=>1000,48008=>1000,48009=>1000,48010=>1000,48011=>1000,48012=>1000,48013=>1000,48014=>1000,48015=>1000,48016=>1000,48017=>1000,48018=>1000,48019=>1000,48020=>1000,48021=>1000,48022=>1000,48023=>1000,48024=>1000,48025=>1000,48026=>1000,48027=>1000,48028=>1000,48029=>1000,48030=>1000,48031=>1000,48032=>1000,48033=>1000,48034=>1000,48035=>1000,48036=>1000,48037=>1000,48038=>1000,48039=>1000,48040=>1000,48041=>1000,48042=>1000,48043=>1000,48044=>1000,48045=>1000,48046=>1000,48047=>1000,48048=>1000,48049=>1000,48050=>1000,48051=>1000,48052=>1000,48053=>1000,48054=>1000,48055=>1000,48056=>1000,48057=>1000,48058=>1000,48059=>1000,48060=>1000,48061=>1000,48062=>1000,48063=>1000,48064=>1000,48065=>1000,48066=>1000,48067=>1000,48068=>1000,48069=>1000,48070=>1000,48071=>1000,48072=>1000,48073=>1000,48074=>1000,48075=>1000,48076=>1000,48077=>1000,48078=>1000,48079=>1000,48080=>1000,48081=>1000,48082=>1000,48083=>1000,48084=>1000,48085=>1000,48086=>1000,48087=>1000,48088=>1000,48089=>1000,48090=>1000,48091=>1000,48092=>1000,48093=>1000,48094=>1000,48095=>1000,48096=>1000,48097=>1000,48098=>1000,48099=>1000,48100=>1000,48101=>1000,48102=>1000,48103=>1000,48104=>1000,48105=>1000,48106=>1000,48107=>1000,48108=>1000,48109=>1000,48110=>1000,48111=>1000,48112=>1000,48113=>1000,48114=>1000,48115=>1000,48116=>1000,48117=>1000,48118=>1000,48119=>1000,48120=>1000,48121=>1000,48122=>1000,48123=>1000,48124=>1000,48125=>1000,48126=>1000,48127=>1000,48128=>1000,48129=>1000,48130=>1000,48131=>1000,48132=>1000,48133=>1000,48134=>1000,48135=>1000,48136=>1000,48137=>1000,48138=>1000,48139=>1000,48140=>1000,48141=>1000,48142=>1000,48143=>1000,48144=>1000,48145=>1000,48146=>1000,48147=>1000,48148=>1000,48149=>1000,48150=>1000,48151=>1000,48152=>1000,48153=>1000,48154=>1000,48155=>1000,48156=>1000,48157=>1000,48158=>1000,48159=>1000,48160=>1000,48161=>1000,48162=>1000,48163=>1000,48164=>1000,48165=>1000,48166=>1000,48167=>1000,48168=>1000,48169=>1000,48170=>1000,48171=>1000,48172=>1000,48173=>1000,48174=>1000,48175=>1000,48176=>1000,48177=>1000,48178=>1000,48179=>1000,48180=>1000,48181=>1000,48182=>1000,48183=>1000,48184=>1000,48185=>1000,48186=>1000,48187=>1000,48188=>1000,48189=>1000,48190=>1000,48191=>1000,48192=>1000,48193=>1000,48194=>1000,48195=>1000,48196=>1000,48197=>1000,48198=>1000,48199=>1000,48200=>1000,48201=>1000,48202=>1000,48203=>1000,48204=>1000,48205=>1000,48206=>1000,48207=>1000,48208=>1000,48209=>1000,48210=>1000,48211=>1000,48212=>1000,48213=>1000,48214=>1000,48215=>1000,48216=>1000,48217=>1000,48218=>1000,48219=>1000,48220=>1000,48221=>1000,48222=>1000,48223=>1000,48224=>1000,48225=>1000,48226=>1000,48227=>1000,48228=>1000,48229=>1000,48230=>1000,48231=>1000,48232=>1000,48233=>1000,48234=>1000,48235=>1000,48236=>1000,48237=>1000,48238=>1000,48239=>1000,48240=>1000,48241=>1000,48242=>1000,48243=>1000,48244=>1000,48245=>1000,48246=>1000,48247=>1000,48248=>1000,48249=>1000,48250=>1000,48251=>1000,48252=>1000,48253=>1000,48254=>1000,48255=>1000,48256=>1000,48257=>1000,48258=>1000,48259=>1000,48260=>1000,48261=>1000,48262=>1000,48263=>1000,48264=>1000,48265=>1000,48266=>1000,48267=>1000,48268=>1000,48269=>1000,48270=>1000,48271=>1000,48272=>1000,48273=>1000,48274=>1000,48275=>1000,48276=>1000,48277=>1000,48278=>1000,48279=>1000,48280=>1000,48281=>1000,48282=>1000,48283=>1000,48284=>1000,48285=>1000,48286=>1000,48287=>1000,48288=>1000,48289=>1000,48290=>1000,48291=>1000,48292=>1000,48293=>1000,48294=>1000,48295=>1000,48296=>1000,48297=>1000,48298=>1000,48299=>1000,48300=>1000,48301=>1000,48302=>1000,48303=>1000,48304=>1000,48305=>1000,48306=>1000,48307=>1000,48308=>1000,48309=>1000,48310=>1000,48311=>1000,48312=>1000,48313=>1000,48314=>1000,48315=>1000,48316=>1000,48317=>1000,48318=>1000,48319=>1000,48320=>1000,48321=>1000,48322=>1000,48323=>1000,48324=>1000,48325=>1000,48326=>1000,48327=>1000,48328=>1000,48329=>1000,48330=>1000,48331=>1000,48332=>1000,48333=>1000,48334=>1000,48335=>1000,48336=>1000,48337=>1000,48338=>1000,48339=>1000,48340=>1000,48341=>1000,48342=>1000,48343=>1000,48344=>1000,48345=>1000,48346=>1000,48347=>1000,48348=>1000,48349=>1000,48350=>1000,48351=>1000,48352=>1000,48353=>1000,48354=>1000,48355=>1000,48356=>1000,48357=>1000,48358=>1000,48359=>1000,48360=>1000,48361=>1000,48362=>1000,48363=>1000,48364=>1000,48365=>1000,48366=>1000,48367=>1000,48368=>1000,48369=>1000,48370=>1000,48371=>1000,48372=>1000,48373=>1000,48374=>1000,48375=>1000,48376=>1000,48377=>1000,48378=>1000,48379=>1000,48380=>1000,48381=>1000,48382=>1000,48383=>1000,48384=>1000,48385=>1000,48386=>1000,48387=>1000,48388=>1000,48389=>1000,48390=>1000,48391=>1000,48392=>1000,48393=>1000,48394=>1000,48395=>1000,48396=>1000,48397=>1000,48398=>1000,48399=>1000,48400=>1000,48401=>1000,48402=>1000,48403=>1000,48404=>1000,48405=>1000,48406=>1000,48407=>1000,48408=>1000,48409=>1000,48410=>1000,48411=>1000,48412=>1000,48413=>1000,48414=>1000,48415=>1000,48416=>1000,48417=>1000,48418=>1000,48419=>1000,48420=>1000,48421=>1000,48422=>1000,48423=>1000,48424=>1000,48425=>1000,48426=>1000,48427=>1000,48428=>1000,48429=>1000,48430=>1000,48431=>1000,48432=>1000,48433=>1000,48434=>1000,48435=>1000,48436=>1000,48437=>1000,48438=>1000,48439=>1000,48440=>1000,48441=>1000,48442=>1000,48443=>1000,48444=>1000,48445=>1000,48446=>1000,48447=>1000,48448=>1000,48449=>1000,48450=>1000,48451=>1000,48452=>1000,48453=>1000,48454=>1000,48455=>1000,48456=>1000,48457=>1000,48458=>1000,48459=>1000,48460=>1000,48461=>1000,48462=>1000,48463=>1000,48464=>1000,48465=>1000,48466=>1000,48467=>1000,48468=>1000,48469=>1000,48470=>1000,48471=>1000,48472=>1000,48473=>1000,48474=>1000,48475=>1000,48476=>1000,48477=>1000,48478=>1000,48479=>1000,48480=>1000,48481=>1000,48482=>1000,48483=>1000,48484=>1000,48485=>1000,48486=>1000,48487=>1000,48488=>1000,48489=>1000,48490=>1000,48491=>1000,48492=>1000,48493=>1000,48494=>1000,48495=>1000,48496=>1000,48497=>1000,48498=>1000,48499=>1000,48500=>1000,48501=>1000,48502=>1000,48503=>1000,48504=>1000,48505=>1000,48506=>1000,48507=>1000,48508=>1000,48509=>1000,48510=>1000,48511=>1000,48512=>1000,48513=>1000,48514=>1000,48515=>1000,48516=>1000,48517=>1000,48518=>1000,48519=>1000,48520=>1000,48521=>1000,48522=>1000,48523=>1000,48524=>1000,48525=>1000,48526=>1000,48527=>1000,48528=>1000,48529=>1000,48530=>1000,48531=>1000,48532=>1000,48533=>1000,48534=>1000,48535=>1000,48536=>1000,48537=>1000,48538=>1000,48539=>1000,48540=>1000,48541=>1000,48542=>1000,48543=>1000,48544=>1000,48545=>1000,48546=>1000,48547=>1000,48548=>1000,48549=>1000,48550=>1000,48551=>1000,48552=>1000,48553=>1000,48554=>1000,48555=>1000,48556=>1000,48557=>1000,48558=>1000,48559=>1000,48560=>1000,48561=>1000,48562=>1000,48563=>1000,48564=>1000,48565=>1000,48566=>1000,48567=>1000,48568=>1000,48569=>1000,48570=>1000,48571=>1000,48572=>1000,48573=>1000,48574=>1000,48575=>1000,48576=>1000,48577=>1000,48578=>1000,48579=>1000,48580=>1000,48581=>1000,48582=>1000,48583=>1000,48584=>1000,48585=>1000,48586=>1000,48587=>1000,48588=>1000,48589=>1000,48590=>1000,48591=>1000,48592=>1000,48593=>1000,48594=>1000,48595=>1000,48596=>1000,48597=>1000,48598=>1000,48599=>1000,48600=>1000,48601=>1000,48602=>1000,48603=>1000,48604=>1000,48605=>1000,48606=>1000,48607=>1000,48608=>1000,48609=>1000,48610=>1000,48611=>1000,48612=>1000,48613=>1000,48614=>1000,48615=>1000,48616=>1000,48617=>1000,48618=>1000,48619=>1000,48620=>1000,48621=>1000,48622=>1000,48623=>1000,48624=>1000,48625=>1000,48626=>1000,48627=>1000,48628=>1000,48629=>1000,48630=>1000,48631=>1000,48632=>1000,48633=>1000,48634=>1000,48635=>1000,48636=>1000,48637=>1000,48638=>1000,48639=>1000,48640=>1000,48641=>1000,48642=>1000,48643=>1000,48644=>1000,48645=>1000,48646=>1000,48647=>1000,48648=>1000,48649=>1000,48650=>1000,48651=>1000,48652=>1000,48653=>1000,48654=>1000,48655=>1000,48656=>1000,48657=>1000,48658=>1000,48659=>1000,48660=>1000,48661=>1000,48662=>1000,48663=>1000,48664=>1000,48665=>1000,48666=>1000,48667=>1000,48668=>1000,48669=>1000,48670=>1000,48671=>1000,48672=>1000,48673=>1000,48674=>1000,48675=>1000,48676=>1000,48677=>1000,48678=>1000,48679=>1000,48680=>1000,48681=>1000,48682=>1000,48683=>1000,48684=>1000,48685=>1000,48686=>1000,48687=>1000,48688=>1000,48689=>1000,48690=>1000,48691=>1000,48692=>1000,48693=>1000,48694=>1000,48695=>1000,48696=>1000,48697=>1000,48698=>1000,48699=>1000,48700=>1000,48701=>1000,48702=>1000,48703=>1000,48704=>1000,48705=>1000,48706=>1000,48707=>1000,48708=>1000,48709=>1000,48710=>1000,48711=>1000,48712=>1000,48713=>1000,48714=>1000,48715=>1000,48716=>1000,48717=>1000,48718=>1000,48719=>1000,48720=>1000,48721=>1000,48722=>1000,48723=>1000,48724=>1000,48725=>1000,48726=>1000,48727=>1000,48728=>1000,48729=>1000,48730=>1000,48731=>1000,48732=>1000,48733=>1000,48734=>1000,48735=>1000,48736=>1000,48737=>1000,48738=>1000,48739=>1000,48740=>1000,48741=>1000,48742=>1000,48743=>1000,48744=>1000,48745=>1000,48746=>1000,48747=>1000,48748=>1000,48749=>1000,48750=>1000,48751=>1000,48752=>1000,48753=>1000,48754=>1000,48755=>1000,48756=>1000,48757=>1000,48758=>1000,48759=>1000,48760=>1000,48761=>1000,48762=>1000,48763=>1000,48764=>1000,48765=>1000,48766=>1000,48767=>1000,48768=>1000,48769=>1000,48770=>1000,48771=>1000,48772=>1000,48773=>1000,48774=>1000,48775=>1000,48776=>1000,48777=>1000,48778=>1000,48779=>1000,48780=>1000,48781=>1000,48782=>1000,48783=>1000,48784=>1000,48785=>1000,48786=>1000,48787=>1000,48788=>1000,48789=>1000,48790=>1000,48791=>1000,48792=>1000,48793=>1000,48794=>1000,48795=>1000,48796=>1000,48797=>1000,48798=>1000,48799=>1000,48800=>1000,48801=>1000,48802=>1000,48803=>1000,48804=>1000,48805=>1000,48806=>1000,48807=>1000,48808=>1000,48809=>1000,48810=>1000,48811=>1000,48812=>1000,48813=>1000,48814=>1000,48815=>1000,48816=>1000,48817=>1000,48818=>1000,48819=>1000,48820=>1000,48821=>1000,48822=>1000,48823=>1000,48824=>1000,48825=>1000,48826=>1000,48827=>1000,48828=>1000,48829=>1000,48830=>1000,48831=>1000,48832=>1000,48833=>1000,48834=>1000,48835=>1000,48836=>1000,48837=>1000,48838=>1000,48839=>1000,48840=>1000,48841=>1000,48842=>1000,48843=>1000,48844=>1000,48845=>1000,48846=>1000,48847=>1000,48848=>1000,48849=>1000,48850=>1000,48851=>1000,48852=>1000,48853=>1000,48854=>1000,48855=>1000,48856=>1000,48857=>1000,48858=>1000,48859=>1000,48860=>1000,48861=>1000,48862=>1000,48863=>1000,48864=>1000,48865=>1000,48866=>1000,48867=>1000,48868=>1000,48869=>1000,48870=>1000,48871=>1000,48872=>1000,48873=>1000,48874=>1000,48875=>1000,48876=>1000,48877=>1000,48878=>1000,48879=>1000,48880=>1000,48881=>1000,48882=>1000,48883=>1000,48884=>1000,48885=>1000,48886=>1000,48887=>1000,48888=>1000,48889=>1000,48890=>1000,48891=>1000,48892=>1000,48893=>1000,48894=>1000,48895=>1000,48896=>1000,48897=>1000,48898=>1000,48899=>1000,48900=>1000,48901=>1000,48902=>1000,48903=>1000,48904=>1000,48905=>1000,48906=>1000,48907=>1000,48908=>1000,48909=>1000,48910=>1000,48911=>1000,48912=>1000,48913=>1000,48914=>1000,48915=>1000,48916=>1000,48917=>1000,48918=>1000,48919=>1000,48920=>1000,48921=>1000,48922=>1000,48923=>1000,48924=>1000,48925=>1000,48926=>1000,48927=>1000,48928=>1000,48929=>1000,48930=>1000,48931=>1000,48932=>1000,48933=>1000,48934=>1000,48935=>1000,48936=>1000,48937=>1000,48938=>1000,48939=>1000,48940=>1000,48941=>1000,48942=>1000,48943=>1000,48944=>1000,48945=>1000,48946=>1000,48947=>1000,48948=>1000,48949=>1000,48950=>1000,48951=>1000,48952=>1000,48953=>1000,48954=>1000,48955=>1000,48956=>1000,48957=>1000,48958=>1000,48959=>1000,48960=>1000,48961=>1000,48962=>1000,48963=>1000,48964=>1000,48965=>1000,48966=>1000,48967=>1000,48968=>1000,48969=>1000,48970=>1000,48971=>1000,48972=>1000,48973=>1000,48974=>1000,48975=>1000,48976=>1000,48977=>1000,48978=>1000,48979=>1000,48980=>1000,48981=>1000,48982=>1000,48983=>1000,48984=>1000,48985=>1000,48986=>1000,48987=>1000,48988=>1000,48989=>1000,48990=>1000,48991=>1000,48992=>1000,48993=>1000,48994=>1000,48995=>1000,48996=>1000,48997=>1000,48998=>1000,48999=>1000,49000=>1000,49001=>1000,49002=>1000,49003=>1000,49004=>1000,49005=>1000,49006=>1000,49007=>1000,49008=>1000,49009=>1000,49010=>1000,49011=>1000,49012=>1000,49013=>1000,49014=>1000,49015=>1000,49016=>1000,49017=>1000,49018=>1000,49019=>1000,49020=>1000,49021=>1000,49022=>1000,49023=>1000,49024=>1000,49025=>1000,49026=>1000,49027=>1000,49028=>1000,49029=>1000,49030=>1000,49031=>1000,49032=>1000,49033=>1000,49034=>1000,49035=>1000,49036=>1000,49037=>1000,49038=>1000,49039=>1000,49040=>1000,49041=>1000,49042=>1000,49043=>1000,49044=>1000,49045=>1000,49046=>1000,49047=>1000,49048=>1000,49049=>1000,49050=>1000,49051=>1000,49052=>1000,49053=>1000,49054=>1000,49055=>1000,49056=>1000,49057=>1000,49058=>1000,49059=>1000,49060=>1000,49061=>1000,49062=>1000,49063=>1000,49064=>1000,49065=>1000,49066=>1000,49067=>1000,49068=>1000,49069=>1000,49070=>1000,49071=>1000,49072=>1000,49073=>1000,49074=>1000,49075=>1000,49076=>1000,49077=>1000,49078=>1000,49079=>1000,49080=>1000,49081=>1000,49082=>1000,49083=>1000,49084=>1000,49085=>1000,49086=>1000,49087=>1000,49088=>1000,49089=>1000,49090=>1000,49091=>1000,49092=>1000,49093=>1000,49094=>1000,49095=>1000,49096=>1000,49097=>1000,49098=>1000,49099=>1000,49100=>1000,49101=>1000,49102=>1000,49103=>1000,49104=>1000,49105=>1000,49106=>1000,49107=>1000,49108=>1000,49109=>1000,49110=>1000,49111=>1000,49112=>1000,49113=>1000,49114=>1000,49115=>1000,49116=>1000,49117=>1000,49118=>1000,49119=>1000,49120=>1000,49121=>1000,49122=>1000,49123=>1000,49124=>1000,49125=>1000,49126=>1000,49127=>1000,49128=>1000,49129=>1000,49130=>1000,49131=>1000,49132=>1000,49133=>1000,49134=>1000,49135=>1000,49136=>1000,49137=>1000,49138=>1000,49139=>1000,49140=>1000,49141=>1000,49142=>1000,49143=>1000,49144=>1000,49145=>1000,49146=>1000,49147=>1000,49148=>1000,49149=>1000,49150=>1000,49151=>1000,49152=>1000,49153=>1000,49154=>1000,49155=>1000,49156=>1000,49157=>1000,49158=>1000,49159=>1000,49160=>1000,49161=>1000,49162=>1000,49163=>1000,49164=>1000,49165=>1000,49166=>1000,49167=>1000,49168=>1000,49169=>1000,49170=>1000,49171=>1000,49172=>1000,49173=>1000,49174=>1000,49175=>1000,49176=>1000,49177=>1000,49178=>1000,49179=>1000,49180=>1000,49181=>1000,49182=>1000,49183=>1000,49184=>1000,49185=>1000,49186=>1000,49187=>1000,49188=>1000,49189=>1000,49190=>1000,49191=>1000,49192=>1000,49193=>1000,49194=>1000,49195=>1000,49196=>1000,49197=>1000,49198=>1000,49199=>1000,49200=>1000,49201=>1000,49202=>1000,49203=>1000,49204=>1000,49205=>1000,49206=>1000,49207=>1000,49208=>1000,49209=>1000,49210=>1000,49211=>1000,49212=>1000,49213=>1000,49214=>1000,49215=>1000,49216=>1000,49217=>1000,49218=>1000,49219=>1000,49220=>1000,49221=>1000,49222=>1000,49223=>1000,49224=>1000,49225=>1000,49226=>1000,49227=>1000,49228=>1000,49229=>1000,49230=>1000,49231=>1000,49232=>1000,49233=>1000,49234=>1000,49235=>1000,49236=>1000,49237=>1000,49238=>1000,49239=>1000,49240=>1000,49241=>1000,49242=>1000,49243=>1000,49244=>1000,49245=>1000,49246=>1000,49247=>1000,49248=>1000,49249=>1000,49250=>1000,49251=>1000,49252=>1000,49253=>1000,49254=>1000,49255=>1000,49256=>1000,49257=>1000,49258=>1000,49259=>1000,49260=>1000,49261=>1000,49262=>1000,49263=>1000,49264=>1000,49265=>1000,49266=>1000,49267=>1000,49268=>1000,49269=>1000,49270=>1000,49271=>1000,49272=>1000,49273=>1000,49274=>1000,49275=>1000,49276=>1000,49277=>1000,49278=>1000,49279=>1000,49280=>1000,49281=>1000,49282=>1000,49283=>1000,49284=>1000,49285=>1000,49286=>1000,49287=>1000,49288=>1000,49289=>1000,49290=>1000,49291=>1000,49292=>1000,49293=>1000,49294=>1000,49295=>1000,49296=>1000,49297=>1000,49298=>1000,49299=>1000,49300=>1000,49301=>1000,49302=>1000,49303=>1000,49304=>1000,49305=>1000,49306=>1000,49307=>1000,49308=>1000,49309=>1000,49310=>1000,49311=>1000,49312=>1000,49313=>1000,49314=>1000,49315=>1000,49316=>1000,49317=>1000,49318=>1000,49319=>1000,49320=>1000,49321=>1000,49322=>1000,49323=>1000,49324=>1000,49325=>1000,49326=>1000,49327=>1000,49328=>1000,49329=>1000,49330=>1000,49331=>1000,49332=>1000,49333=>1000,49334=>1000,49335=>1000,49336=>1000,49337=>1000,49338=>1000,49339=>1000,49340=>1000,49341=>1000,49342=>1000,49343=>1000,49344=>1000,49345=>1000,49346=>1000,49347=>1000,49348=>1000,49349=>1000,49350=>1000,49351=>1000,49352=>1000,49353=>1000,49354=>1000,49355=>1000,49356=>1000,49357=>1000,49358=>1000,49359=>1000,49360=>1000,49361=>1000,49362=>1000,49363=>1000,49364=>1000,49365=>1000,49366=>1000,49367=>1000,49368=>1000,49369=>1000,49370=>1000,49371=>1000,49372=>1000,49373=>1000,49374=>1000,49375=>1000,49376=>1000,49377=>1000,49378=>1000,49379=>1000,49380=>1000,49381=>1000,49382=>1000,49383=>1000,49384=>1000,49385=>1000,49386=>1000,49387=>1000,49388=>1000,49389=>1000,49390=>1000,49391=>1000,49392=>1000,49393=>1000,49394=>1000,49395=>1000,49396=>1000,49397=>1000,49398=>1000,49399=>1000,49400=>1000,49401=>1000,49402=>1000,49403=>1000,49404=>1000,49405=>1000,49406=>1000,49407=>1000,49408=>1000,49409=>1000,49410=>1000,49411=>1000,49412=>1000,49413=>1000,49414=>1000,49415=>1000,49416=>1000,49417=>1000,49418=>1000,49419=>1000,49420=>1000,49421=>1000,49422=>1000,49423=>1000,49424=>1000,49425=>1000,49426=>1000,49427=>1000,49428=>1000,49429=>1000,49430=>1000,49431=>1000,49432=>1000,49433=>1000,49434=>1000,49435=>1000,49436=>1000,49437=>1000,49438=>1000,49439=>1000,49440=>1000,49441=>1000,49442=>1000,49443=>1000,49444=>1000,49445=>1000,49446=>1000,49447=>1000,49448=>1000,49449=>1000,49450=>1000,49451=>1000,49452=>1000,49453=>1000,49454=>1000,49455=>1000,49456=>1000,49457=>1000,49458=>1000,49459=>1000,49460=>1000,49461=>1000,49462=>1000,49463=>1000,49464=>1000,49465=>1000,49466=>1000,49467=>1000,49468=>1000,49469=>1000,49470=>1000,49471=>1000,49472=>1000,49473=>1000,49474=>1000,49475=>1000,49476=>1000,49477=>1000,49478=>1000,49479=>1000,49480=>1000,49481=>1000,49482=>1000,49483=>1000,49484=>1000,49485=>1000,49486=>1000,49487=>1000,49488=>1000,49489=>1000,49490=>1000,49491=>1000,49492=>1000,49493=>1000,49494=>1000,49495=>1000,49496=>1000,49497=>1000,49498=>1000,49499=>1000,49500=>1000,49501=>1000,49502=>1000,49503=>1000,49504=>1000,49505=>1000,49506=>1000,49507=>1000,49508=>1000,49509=>1000,49510=>1000,49511=>1000,49512=>1000,49513=>1000,49514=>1000,49515=>1000,49516=>1000,49517=>1000,49518=>1000,49519=>1000,49520=>1000,49521=>1000,49522=>1000,49523=>1000,49524=>1000,49525=>1000,49526=>1000,49527=>1000,49528=>1000,49529=>1000,49530=>1000,49531=>1000,49532=>1000,49533=>1000,49534=>1000,49535=>1000,49536=>1000,49537=>1000,49538=>1000,49539=>1000,49540=>1000,49541=>1000,49542=>1000,49543=>1000,49544=>1000,49545=>1000,49546=>1000,49547=>1000,49548=>1000,49549=>1000,49550=>1000,49551=>1000,49552=>1000,49553=>1000,49554=>1000,49555=>1000,49556=>1000,49557=>1000,49558=>1000,49559=>1000,49560=>1000,49561=>1000,49562=>1000,49563=>1000,49564=>1000,49565=>1000,49566=>1000,49567=>1000,49568=>1000,49569=>1000,49570=>1000,49571=>1000,49572=>1000,49573=>1000,49574=>1000,49575=>1000,49576=>1000,49577=>1000,49578=>1000,49579=>1000,49580=>1000,49581=>1000,49582=>1000,49583=>1000,49584=>1000,49585=>1000,49586=>1000,49587=>1000,49588=>1000,49589=>1000,49590=>1000,49591=>1000,49592=>1000,49593=>1000,49594=>1000,49595=>1000,49596=>1000,49597=>1000,49598=>1000,49599=>1000,49600=>1000,49601=>1000,49602=>1000,49603=>1000,49604=>1000,49605=>1000,49606=>1000,49607=>1000,49608=>1000,49609=>1000,49610=>1000,49611=>1000,49612=>1000,49613=>1000,49614=>1000,49615=>1000,49616=>1000,49617=>1000,49618=>1000,49619=>1000,49620=>1000,49621=>1000,49622=>1000,49623=>1000,49624=>1000,49625=>1000,49626=>1000,49627=>1000,49628=>1000,49629=>1000,49630=>1000,49631=>1000,49632=>1000,49633=>1000,49634=>1000,49635=>1000,49636=>1000,49637=>1000,49638=>1000,49639=>1000,49640=>1000,49641=>1000,49642=>1000,49643=>1000,49644=>1000,49645=>1000,49646=>1000,49647=>1000,49648=>1000,49649=>1000,49650=>1000,49651=>1000,49652=>1000,49653=>1000,49654=>1000,49655=>1000,49656=>1000,49657=>1000,49658=>1000,49659=>1000,49660=>1000,49661=>1000,49662=>1000,49663=>1000,49664=>1000,49665=>1000,49666=>1000,49667=>1000,49668=>1000,49669=>1000,49670=>1000,49671=>1000,49672=>1000,49673=>1000,49674=>1000,49675=>1000,49676=>1000,49677=>1000,49678=>1000,49679=>1000,49680=>1000,49681=>1000,49682=>1000,49683=>1000,49684=>1000,49685=>1000,49686=>1000,49687=>1000,49688=>1000,49689=>1000,49690=>1000,49691=>1000,49692=>1000,49693=>1000,49694=>1000,49695=>1000,49696=>1000,49697=>1000,49698=>1000,49699=>1000,49700=>1000,49701=>1000,49702=>1000,49703=>1000,49704=>1000,49705=>1000,49706=>1000,49707=>1000,49708=>1000,49709=>1000,49710=>1000,49711=>1000,49712=>1000,49713=>1000,49714=>1000,49715=>1000,49716=>1000,49717=>1000,49718=>1000,49719=>1000,49720=>1000,49721=>1000,49722=>1000,49723=>1000,49724=>1000,49725=>1000,49726=>1000,49727=>1000,49728=>1000,49729=>1000,49730=>1000,49731=>1000,49732=>1000,49733=>1000,49734=>1000,49735=>1000,49736=>1000,49737=>1000,49738=>1000,49739=>1000,49740=>1000,49741=>1000,49742=>1000,49743=>1000,49744=>1000,49745=>1000,49746=>1000,49747=>1000,49748=>1000,49749=>1000,49750=>1000,49751=>1000,49752=>1000,49753=>1000,49754=>1000,49755=>1000,49756=>1000,49757=>1000,49758=>1000,49759=>1000,49760=>1000,49761=>1000,49762=>1000,49763=>1000,49764=>1000,49765=>1000,49766=>1000,49767=>1000,49768=>1000,49769=>1000,49770=>1000,49771=>1000,49772=>1000,49773=>1000,49774=>1000,49775=>1000,49776=>1000,49777=>1000,49778=>1000,49779=>1000,49780=>1000,49781=>1000,49782=>1000,49783=>1000,49784=>1000,49785=>1000,49786=>1000,49787=>1000,49788=>1000,49789=>1000,49790=>1000,49791=>1000,49792=>1000,49793=>1000,49794=>1000,49795=>1000,49796=>1000,49797=>1000,49798=>1000,49799=>1000,49800=>1000,49801=>1000,49802=>1000,49803=>1000,49804=>1000,49805=>1000,49806=>1000,49807=>1000,49808=>1000,49809=>1000,49810=>1000,49811=>1000,49812=>1000,49813=>1000,49814=>1000,49815=>1000,49816=>1000,49817=>1000,49818=>1000,49819=>1000,49820=>1000,49821=>1000,49822=>1000,49823=>1000,49824=>1000,49825=>1000,49826=>1000,49827=>1000,49828=>1000,49829=>1000,49830=>1000,49831=>1000,49832=>1000,49833=>1000,49834=>1000,49835=>1000,49836=>1000,49837=>1000,49838=>1000,49839=>1000,49840=>1000,49841=>1000,49842=>1000,49843=>1000,49844=>1000,49845=>1000,49846=>1000,49847=>1000,49848=>1000,49849=>1000,49850=>1000,49851=>1000,49852=>1000,49853=>1000,49854=>1000,49855=>1000,49856=>1000,49857=>1000,49858=>1000,49859=>1000,49860=>1000,49861=>1000,49862=>1000,49863=>1000,49864=>1000,49865=>1000,49866=>1000,49867=>1000,49868=>1000,49869=>1000,49870=>1000,49871=>1000,49872=>1000,49873=>1000,49874=>1000,49875=>1000,49876=>1000,49877=>1000,49878=>1000,49879=>1000,49880=>1000,49881=>1000,49882=>1000,49883=>1000,49884=>1000,49885=>1000,49886=>1000,49887=>1000,49888=>1000,49889=>1000,49890=>1000,49891=>1000,49892=>1000,49893=>1000,49894=>1000,49895=>1000,49896=>1000,49897=>1000,49898=>1000,49899=>1000,49900=>1000,49901=>1000,49902=>1000,49903=>1000,49904=>1000,49905=>1000,49906=>1000,49907=>1000,49908=>1000,49909=>1000,49910=>1000,49911=>1000,49912=>1000,49913=>1000,49914=>1000,49915=>1000,49916=>1000,49917=>1000,49918=>1000,49919=>1000,49920=>1000,49921=>1000,49922=>1000,49923=>1000,49924=>1000,49925=>1000,49926=>1000,49927=>1000,49928=>1000,49929=>1000,49930=>1000,49931=>1000,49932=>1000,49933=>1000,49934=>1000,49935=>1000,49936=>1000,49937=>1000,49938=>1000,49939=>1000,49940=>1000,49941=>1000,49942=>1000,49943=>1000,49944=>1000,49945=>1000,49946=>1000,49947=>1000,49948=>1000,49949=>1000,49950=>1000,49951=>1000,49952=>1000,49953=>1000,49954=>1000,49955=>1000,49956=>1000,49957=>1000,49958=>1000,49959=>1000,49960=>1000,49961=>1000,49962=>1000,49963=>1000,49964=>1000,49965=>1000,49966=>1000,49967=>1000,49968=>1000,49969=>1000,49970=>1000,49971=>1000,49972=>1000,49973=>1000,49974=>1000,49975=>1000,49976=>1000,49977=>1000,49978=>1000,49979=>1000,49980=>1000,49981=>1000,49982=>1000,49983=>1000,49984=>1000,49985=>1000,49986=>1000,49987=>1000,49988=>1000,49989=>1000,49990=>1000,49991=>1000,49992=>1000,49993=>1000,49994=>1000,49995=>1000,49996=>1000,49997=>1000,49998=>1000,49999=>1000,50000=>1000,50001=>1000,50002=>1000,50003=>1000,50004=>1000,50005=>1000,50006=>1000,50007=>1000,50008=>1000,50009=>1000,50010=>1000,50011=>1000,50012=>1000,50013=>1000,50014=>1000,50015=>1000,50016=>1000,50017=>1000,50018=>1000,50019=>1000,50020=>1000,50021=>1000,50022=>1000,50023=>1000,50024=>1000,50025=>1000,50026=>1000,50027=>1000,50028=>1000,50029=>1000,50030=>1000,50031=>1000,50032=>1000,50033=>1000,50034=>1000,50035=>1000,50036=>1000,50037=>1000,50038=>1000,50039=>1000,50040=>1000,50041=>1000,50042=>1000,50043=>1000,50044=>1000,50045=>1000,50046=>1000,50047=>1000,50048=>1000,50049=>1000,50050=>1000,50051=>1000,50052=>1000,50053=>1000,50054=>1000,50055=>1000,50056=>1000,50057=>1000,50058=>1000,50059=>1000,50060=>1000,50061=>1000,50062=>1000,50063=>1000,50064=>1000,50065=>1000,50066=>1000,50067=>1000,50068=>1000,50069=>1000,50070=>1000,50071=>1000,50072=>1000,50073=>1000,50074=>1000,50075=>1000,50076=>1000,50077=>1000,50078=>1000,50079=>1000,50080=>1000,50081=>1000,50082=>1000,50083=>1000,50084=>1000,50085=>1000,50086=>1000,50087=>1000,50088=>1000,50089=>1000,50090=>1000,50091=>1000,50092=>1000,50093=>1000,50094=>1000,50095=>1000,50096=>1000,50097=>1000,50098=>1000,50099=>1000,50100=>1000,50101=>1000,50102=>1000,50103=>1000,50104=>1000,50105=>1000,50106=>1000,50107=>1000,50108=>1000,50109=>1000,50110=>1000,50111=>1000,50112=>1000,50113=>1000,50114=>1000,50115=>1000,50116=>1000,50117=>1000,50118=>1000,50119=>1000,50120=>1000,50121=>1000,50122=>1000,50123=>1000,50124=>1000,50125=>1000,50126=>1000,50127=>1000,50128=>1000,50129=>1000,50130=>1000,50131=>1000,50132=>1000,50133=>1000,50134=>1000,50135=>1000,50136=>1000,50137=>1000,50138=>1000,50139=>1000,50140=>1000,50141=>1000,50142=>1000,50143=>1000,50144=>1000,50145=>1000,50146=>1000,50147=>1000,50148=>1000,50149=>1000,50150=>1000,50151=>1000,50152=>1000,50153=>1000,50154=>1000,50155=>1000,50156=>1000,50157=>1000,50158=>1000,50159=>1000,50160=>1000,50161=>1000,50162=>1000,50163=>1000,50164=>1000,50165=>1000,50166=>1000,50167=>1000,50168=>1000,50169=>1000,50170=>1000,50171=>1000,50172=>1000,50173=>1000,50174=>1000,50175=>1000,50176=>1000,50177=>1000,50178=>1000,50179=>1000,50180=>1000,50181=>1000,50182=>1000,50183=>1000,50184=>1000,50185=>1000,50186=>1000,50187=>1000,50188=>1000,50189=>1000,50190=>1000,50191=>1000,50192=>1000,50193=>1000,50194=>1000,50195=>1000,50196=>1000,50197=>1000,50198=>1000,50199=>1000,50200=>1000,50201=>1000,50202=>1000,50203=>1000,50204=>1000,50205=>1000,50206=>1000,50207=>1000,50208=>1000,50209=>1000,50210=>1000,50211=>1000,50212=>1000,50213=>1000,50214=>1000,50215=>1000,50216=>1000,50217=>1000,50218=>1000,50219=>1000,50220=>1000,50221=>1000,50222=>1000,50223=>1000,50224=>1000,50225=>1000,50226=>1000,50227=>1000,50228=>1000,50229=>1000,50230=>1000,50231=>1000,50232=>1000,50233=>1000,50234=>1000,50235=>1000,50236=>1000,50237=>1000,50238=>1000,50239=>1000,50240=>1000,50241=>1000,50242=>1000,50243=>1000,50244=>1000,50245=>1000,50246=>1000,50247=>1000,50248=>1000,50249=>1000,50250=>1000,50251=>1000,50252=>1000,50253=>1000,50254=>1000,50255=>1000,50256=>1000,50257=>1000,50258=>1000,50259=>1000,50260=>1000,50261=>1000,50262=>1000,50263=>1000,50264=>1000,50265=>1000,50266=>1000,50267=>1000,50268=>1000,50269=>1000,50270=>1000,50271=>1000,50272=>1000,50273=>1000,50274=>1000,50275=>1000,50276=>1000,50277=>1000,50278=>1000,50279=>1000,50280=>1000,50281=>1000,50282=>1000,50283=>1000,50284=>1000,50285=>1000,50286=>1000,50287=>1000,50288=>1000,50289=>1000,50290=>1000,50291=>1000,50292=>1000,50293=>1000,50294=>1000,50295=>1000,50296=>1000,50297=>1000,50298=>1000,50299=>1000,50300=>1000,50301=>1000,50302=>1000,50303=>1000,50304=>1000,50305=>1000,50306=>1000,50307=>1000,50308=>1000,50309=>1000,50310=>1000,50311=>1000,50312=>1000,50313=>1000,50314=>1000,50315=>1000,50316=>1000,50317=>1000,50318=>1000,50319=>1000,50320=>1000,50321=>1000,50322=>1000,50323=>1000,50324=>1000,50325=>1000,50326=>1000,50327=>1000,50328=>1000,50329=>1000,50330=>1000,50331=>1000,50332=>1000,50333=>1000,50334=>1000,50335=>1000,50336=>1000,50337=>1000,50338=>1000,50339=>1000,50340=>1000,50341=>1000,50342=>1000,50343=>1000,50344=>1000,50345=>1000,50346=>1000,50347=>1000,50348=>1000,50349=>1000,50350=>1000,50351=>1000,50352=>1000,50353=>1000,50354=>1000,50355=>1000,50356=>1000,50357=>1000,50358=>1000,50359=>1000,50360=>1000,50361=>1000,50362=>1000,50363=>1000,50364=>1000,50365=>1000,50366=>1000,50367=>1000,50368=>1000,50369=>1000,50370=>1000,50371=>1000,50372=>1000,50373=>1000,50374=>1000,50375=>1000,50376=>1000,50377=>1000,50378=>1000,50379=>1000,50380=>1000,50381=>1000,50382=>1000,50383=>1000,50384=>1000,50385=>1000,50386=>1000,50387=>1000,50388=>1000,50389=>1000,50390=>1000,50391=>1000,50392=>1000,50393=>1000,50394=>1000,50395=>1000,50396=>1000,50397=>1000,50398=>1000,50399=>1000,50400=>1000,50401=>1000,50402=>1000,50403=>1000,50404=>1000,50405=>1000,50406=>1000,50407=>1000,50408=>1000,50409=>1000,50410=>1000,50411=>1000,50412=>1000,50413=>1000,50414=>1000,50415=>1000,50416=>1000,50417=>1000,50418=>1000,50419=>1000,50420=>1000,50421=>1000,50422=>1000,50423=>1000,50424=>1000,50425=>1000,50426=>1000,50427=>1000,50428=>1000,50429=>1000,50430=>1000,50431=>1000,50432=>1000,50433=>1000,50434=>1000,50435=>1000,50436=>1000,50437=>1000,50438=>1000,50439=>1000,50440=>1000,50441=>1000,50442=>1000,50443=>1000,50444=>1000,50445=>1000,50446=>1000,50447=>1000,50448=>1000,50449=>1000,50450=>1000,50451=>1000,50452=>1000,50453=>1000,50454=>1000,50455=>1000,50456=>1000,50457=>1000,50458=>1000,50459=>1000,50460=>1000,50461=>1000,50462=>1000,50463=>1000,50464=>1000,50465=>1000,50466=>1000,50467=>1000,50468=>1000,50469=>1000,50470=>1000,50471=>1000,50472=>1000,50473=>1000,50474=>1000,50475=>1000,50476=>1000,50477=>1000,50478=>1000,50479=>1000,50480=>1000,50481=>1000,50482=>1000,50483=>1000,50484=>1000,50485=>1000,50486=>1000,50487=>1000,50488=>1000,50489=>1000,50490=>1000,50491=>1000,50492=>1000,50493=>1000,50494=>1000,50495=>1000,50496=>1000,50497=>1000,50498=>1000,50499=>1000,50500=>1000,50501=>1000,50502=>1000,50503=>1000,50504=>1000,50505=>1000,50506=>1000,50507=>1000,50508=>1000,50509=>1000,50510=>1000,50511=>1000,50512=>1000,50513=>1000,50514=>1000,50515=>1000,50516=>1000,50517=>1000,50518=>1000,50519=>1000,50520=>1000,50521=>1000,50522=>1000,50523=>1000,50524=>1000,50525=>1000,50526=>1000,50527=>1000,50528=>1000,50529=>1000,50530=>1000,50531=>1000,50532=>1000,50533=>1000,50534=>1000,50535=>1000,50536=>1000,50537=>1000,50538=>1000,50539=>1000,50540=>1000,50541=>1000,50542=>1000,50543=>1000,50544=>1000,50545=>1000,50546=>1000,50547=>1000,50548=>1000,50549=>1000,50550=>1000,50551=>1000,50552=>1000,50553=>1000,50554=>1000,50555=>1000,50556=>1000,50557=>1000,50558=>1000,50559=>1000,50560=>1000,50561=>1000,50562=>1000,50563=>1000,50564=>1000,50565=>1000,50566=>1000,50567=>1000,50568=>1000,50569=>1000,50570=>1000,50571=>1000,50572=>1000,50573=>1000,50574=>1000,50575=>1000,50576=>1000,50577=>1000,50578=>1000,50579=>1000,50580=>1000,50581=>1000,50582=>1000,50583=>1000,50584=>1000,50585=>1000,50586=>1000,50587=>1000,50588=>1000,50589=>1000,50590=>1000,50591=>1000,50592=>1000,50593=>1000,50594=>1000,50595=>1000,50596=>1000,50597=>1000,50598=>1000,50599=>1000,50600=>1000,50601=>1000,50602=>1000,50603=>1000,50604=>1000,50605=>1000,50606=>1000,50607=>1000,50608=>1000,50609=>1000,50610=>1000,50611=>1000,50612=>1000,50613=>1000,50614=>1000,50615=>1000,50616=>1000,50617=>1000,50618=>1000,50619=>1000,50620=>1000,50621=>1000,50622=>1000,50623=>1000,50624=>1000,50625=>1000,50626=>1000,50627=>1000,50628=>1000,50629=>1000,50630=>1000,50631=>1000,50632=>1000,50633=>1000,50634=>1000,50635=>1000,50636=>1000,50637=>1000,50638=>1000,50639=>1000,50640=>1000,50641=>1000,50642=>1000,50643=>1000,50644=>1000,50645=>1000,50646=>1000,50647=>1000,50648=>1000,50649=>1000,50650=>1000,50651=>1000,50652=>1000,50653=>1000,50654=>1000,50655=>1000,50656=>1000,50657=>1000,50658=>1000,50659=>1000,50660=>1000,50661=>1000,50662=>1000,50663=>1000,50664=>1000,50665=>1000,50666=>1000,50667=>1000,50668=>1000,50669=>1000,50670=>1000,50671=>1000,50672=>1000,50673=>1000,50674=>1000,50675=>1000,50676=>1000,50677=>1000,50678=>1000,50679=>1000,50680=>1000,50681=>1000,50682=>1000,50683=>1000,50684=>1000,50685=>1000,50686=>1000,50687=>1000,50688=>1000,50689=>1000,50690=>1000,50691=>1000,50692=>1000,50693=>1000,50694=>1000,50695=>1000,50696=>1000,50697=>1000,50698=>1000,50699=>1000,50700=>1000,50701=>1000,50702=>1000,50703=>1000,50704=>1000,50705=>1000,50706=>1000,50707=>1000,50708=>1000,50709=>1000,50710=>1000,50711=>1000,50712=>1000,50713=>1000,50714=>1000,50715=>1000,50716=>1000,50717=>1000,50718=>1000,50719=>1000,50720=>1000,50721=>1000,50722=>1000,50723=>1000,50724=>1000,50725=>1000,50726=>1000,50727=>1000,50728=>1000,50729=>1000,50730=>1000,50731=>1000,50732=>1000,50733=>1000,50734=>1000,50735=>1000,50736=>1000,50737=>1000,50738=>1000,50739=>1000,50740=>1000,50741=>1000,50742=>1000,50743=>1000,50744=>1000,50745=>1000,50746=>1000,50747=>1000,50748=>1000,50749=>1000,50750=>1000,50751=>1000,50752=>1000,50753=>1000,50754=>1000,50755=>1000,50756=>1000,50757=>1000,50758=>1000,50759=>1000,50760=>1000,50761=>1000,50762=>1000,50763=>1000,50764=>1000,50765=>1000,50766=>1000,50767=>1000,50768=>1000,50769=>1000,50770=>1000,50771=>1000,50772=>1000,50773=>1000,50774=>1000,50775=>1000,50776=>1000,50777=>1000,50778=>1000,50779=>1000,50780=>1000,50781=>1000,50782=>1000,50783=>1000,50784=>1000,50785=>1000,50786=>1000,50787=>1000,50788=>1000,50789=>1000,50790=>1000,50791=>1000,50792=>1000,50793=>1000,50794=>1000,50795=>1000,50796=>1000,50797=>1000,50798=>1000,50799=>1000,50800=>1000,50801=>1000,50802=>1000,50803=>1000,50804=>1000,50805=>1000,50806=>1000,50807=>1000,50808=>1000,50809=>1000,50810=>1000,50811=>1000,50812=>1000,50813=>1000,50814=>1000,50815=>1000,50816=>1000,50817=>1000,50818=>1000,50819=>1000,50820=>1000,50821=>1000,50822=>1000,50823=>1000,50824=>1000,50825=>1000,50826=>1000,50827=>1000,50828=>1000,50829=>1000,50830=>1000,50831=>1000,50832=>1000,50833=>1000,50834=>1000,50835=>1000,50836=>1000,50837=>1000,50838=>1000,50839=>1000,50840=>1000,50841=>1000,50842=>1000,50843=>1000,50844=>1000,50845=>1000,50846=>1000,50847=>1000,50848=>1000,50849=>1000,50850=>1000,50851=>1000,50852=>1000,50853=>1000,50854=>1000,50855=>1000,50856=>1000,50857=>1000,50858=>1000,50859=>1000,50860=>1000,50861=>1000,50862=>1000,50863=>1000,50864=>1000,50865=>1000,50866=>1000,50867=>1000,50868=>1000,50869=>1000,50870=>1000,50871=>1000,50872=>1000,50873=>1000,50874=>1000,50875=>1000,50876=>1000,50877=>1000,50878=>1000,50879=>1000,50880=>1000,50881=>1000,50882=>1000,50883=>1000,50884=>1000,50885=>1000,50886=>1000,50887=>1000,50888=>1000,50889=>1000,50890=>1000,50891=>1000,50892=>1000,50893=>1000,50894=>1000,50895=>1000,50896=>1000,50897=>1000,50898=>1000,50899=>1000,50900=>1000,50901=>1000,50902=>1000,50903=>1000,50904=>1000,50905=>1000,50906=>1000,50907=>1000,50908=>1000,50909=>1000,50910=>1000,50911=>1000,50912=>1000,50913=>1000,50914=>1000,50915=>1000,50916=>1000,50917=>1000,50918=>1000,50919=>1000,50920=>1000,50921=>1000,50922=>1000,50923=>1000,50924=>1000,50925=>1000,50926=>1000,50927=>1000,50928=>1000,50929=>1000,50930=>1000,50931=>1000,50932=>1000,50933=>1000,50934=>1000,50935=>1000,50936=>1000,50937=>1000,50938=>1000,50939=>1000,50940=>1000,50941=>1000,50942=>1000,50943=>1000,50944=>1000,50945=>1000,50946=>1000,50947=>1000,50948=>1000,50949=>1000,50950=>1000,50951=>1000,50952=>1000,50953=>1000,50954=>1000,50955=>1000,50956=>1000,50957=>1000,50958=>1000,50959=>1000,50960=>1000,50961=>1000,50962=>1000,50963=>1000,50964=>1000,50965=>1000,50966=>1000,50967=>1000,50968=>1000,50969=>1000,50970=>1000,50971=>1000,50972=>1000,50973=>1000,50974=>1000,50975=>1000,50976=>1000,50977=>1000,50978=>1000,50979=>1000,50980=>1000,50981=>1000,50982=>1000,50983=>1000,50984=>1000,50985=>1000,50986=>1000,50987=>1000,50988=>1000,50989=>1000,50990=>1000,50991=>1000,50992=>1000,50993=>1000,50994=>1000,50995=>1000,50996=>1000,50997=>1000,50998=>1000,50999=>1000,51000=>1000,51001=>1000,51002=>1000,51003=>1000,51004=>1000,51005=>1000,51006=>1000,51007=>1000,51008=>1000,51009=>1000,51010=>1000,51011=>1000,51012=>1000,51013=>1000,51014=>1000,51015=>1000,51016=>1000,51017=>1000,51018=>1000,51019=>1000,51020=>1000,51021=>1000,51022=>1000,51023=>1000,51024=>1000,51025=>1000,51026=>1000,51027=>1000,51028=>1000,51029=>1000,51030=>1000,51031=>1000,51032=>1000,51033=>1000,51034=>1000,51035=>1000,51036=>1000,51037=>1000,51038=>1000,51039=>1000,51040=>1000,51041=>1000,51042=>1000,51043=>1000,51044=>1000,51045=>1000,51046=>1000,51047=>1000,51048=>1000,51049=>1000,51050=>1000,51051=>1000,51052=>1000,51053=>1000,51054=>1000,51055=>1000,51056=>1000,51057=>1000,51058=>1000,51059=>1000,51060=>1000,51061=>1000,51062=>1000,51063=>1000,51064=>1000,51065=>1000,51066=>1000,51067=>1000,51068=>1000,51069=>1000,51070=>1000,51071=>1000,51072=>1000,51073=>1000,51074=>1000,51075=>1000,51076=>1000,51077=>1000,51078=>1000,51079=>1000,51080=>1000,51081=>1000,51082=>1000,51083=>1000,51084=>1000,51085=>1000,51086=>1000,51087=>1000,51088=>1000,51089=>1000,51090=>1000,51091=>1000,51092=>1000,51093=>1000,51094=>1000,51095=>1000,51096=>1000,51097=>1000,51098=>1000,51099=>1000,51100=>1000,51101=>1000,51102=>1000,51103=>1000,51104=>1000,51105=>1000,51106=>1000,51107=>1000,51108=>1000,51109=>1000,51110=>1000,51111=>1000,51112=>1000,51113=>1000,51114=>1000,51115=>1000,51116=>1000,51117=>1000,51118=>1000,51119=>1000,51120=>1000,51121=>1000,51122=>1000,51123=>1000,51124=>1000,51125=>1000,51126=>1000,51127=>1000,51128=>1000,51129=>1000,51130=>1000,51131=>1000,51132=>1000,51133=>1000,51134=>1000,51135=>1000,51136=>1000,51137=>1000,51138=>1000,51139=>1000,51140=>1000,51141=>1000,51142=>1000,51143=>1000,51144=>1000,51145=>1000,51146=>1000,51147=>1000,51148=>1000,51149=>1000,51150=>1000,51151=>1000,51152=>1000,51153=>1000,51154=>1000,51155=>1000,51156=>1000,51157=>1000,51158=>1000,51159=>1000,51160=>1000,51161=>1000,51162=>1000,51163=>1000,51164=>1000,51165=>1000,51166=>1000,51167=>1000,51168=>1000,51169=>1000,51170=>1000,51171=>1000,51172=>1000,51173=>1000,51174=>1000,51175=>1000,51176=>1000,51177=>1000,51178=>1000,51179=>1000,51180=>1000,51181=>1000,51182=>1000,51183=>1000,51184=>1000,51185=>1000,51186=>1000,51187=>1000,51188=>1000,51189=>1000,51190=>1000,51191=>1000,51192=>1000,51193=>1000,51194=>1000,51195=>1000,51196=>1000,51197=>1000,51198=>1000,51199=>1000,51200=>1000,51201=>1000,51202=>1000,51203=>1000,51204=>1000,51205=>1000,51206=>1000,51207=>1000,51208=>1000,51209=>1000,51210=>1000,51211=>1000,51212=>1000,51213=>1000,51214=>1000,51215=>1000,51216=>1000,51217=>1000,51218=>1000,51219=>1000,51220=>1000,51221=>1000,51222=>1000,51223=>1000,51224=>1000,51225=>1000,51226=>1000,51227=>1000,51228=>1000,51229=>1000,51230=>1000,51231=>1000,51232=>1000,51233=>1000,51234=>1000,51235=>1000,51236=>1000,51237=>1000,51238=>1000,51239=>1000,51240=>1000,51241=>1000,51242=>1000,51243=>1000,51244=>1000,51245=>1000,51246=>1000,51247=>1000,51248=>1000,51249=>1000,51250=>1000,51251=>1000,51252=>1000,51253=>1000,51254=>1000,51255=>1000,51256=>1000,51257=>1000,51258=>1000,51259=>1000,51260=>1000,51261=>1000,51262=>1000,51263=>1000,51264=>1000,51265=>1000,51266=>1000,51267=>1000,51268=>1000,51269=>1000,51270=>1000,51271=>1000,51272=>1000,51273=>1000,51274=>1000,51275=>1000,51276=>1000,51277=>1000,51278=>1000,51279=>1000,51280=>1000,51281=>1000,51282=>1000,51283=>1000,51284=>1000,51285=>1000,51286=>1000,51287=>1000,51288=>1000,51289=>1000,51290=>1000,51291=>1000,51292=>1000,51293=>1000,51294=>1000,51295=>1000,51296=>1000,51297=>1000,51298=>1000,51299=>1000,51300=>1000,51301=>1000,51302=>1000,51303=>1000,51304=>1000,51305=>1000,51306=>1000,51307=>1000,51308=>1000,51309=>1000,51310=>1000,51311=>1000,51312=>1000,51313=>1000,51314=>1000,51315=>1000,51316=>1000,51317=>1000,51318=>1000,51319=>1000,51320=>1000,51321=>1000,51322=>1000,51323=>1000,51324=>1000,51325=>1000,51326=>1000,51327=>1000,51328=>1000,51329=>1000,51330=>1000,51331=>1000,51332=>1000,51333=>1000,51334=>1000,51335=>1000,51336=>1000,51337=>1000,51338=>1000,51339=>1000,51340=>1000,51341=>1000,51342=>1000,51343=>1000,51344=>1000,51345=>1000,51346=>1000,51347=>1000,51348=>1000,51349=>1000,51350=>1000,51351=>1000,51352=>1000,51353=>1000,51354=>1000,51355=>1000,51356=>1000,51357=>1000,51358=>1000,51359=>1000,51360=>1000,51361=>1000,51362=>1000,51363=>1000,51364=>1000,51365=>1000,51366=>1000,51367=>1000,51368=>1000,51369=>1000,51370=>1000,51371=>1000,51372=>1000,51373=>1000,51374=>1000,51375=>1000,51376=>1000,51377=>1000,51378=>1000,51379=>1000,51380=>1000,51381=>1000,51382=>1000,51383=>1000,51384=>1000,51385=>1000,51386=>1000,51387=>1000,51388=>1000,51389=>1000,51390=>1000,51391=>1000,51392=>1000,51393=>1000,51394=>1000,51395=>1000,51396=>1000,51397=>1000,51398=>1000,51399=>1000,51400=>1000,51401=>1000,51402=>1000,51403=>1000,51404=>1000,51405=>1000,51406=>1000,51407=>1000,51408=>1000,51409=>1000,51410=>1000,51411=>1000,51412=>1000,51413=>1000,51414=>1000,51415=>1000,51416=>1000,51417=>1000,51418=>1000,51419=>1000,51420=>1000,51421=>1000,51422=>1000,51423=>1000,51424=>1000,51425=>1000,51426=>1000,51427=>1000,51428=>1000,51429=>1000,51430=>1000,51431=>1000,51432=>1000,51433=>1000,51434=>1000,51435=>1000,51436=>1000,51437=>1000,51438=>1000,51439=>1000,51440=>1000,51441=>1000,51442=>1000,51443=>1000,51444=>1000,51445=>1000,51446=>1000,51447=>1000,51448=>1000,51449=>1000,51450=>1000,51451=>1000,51452=>1000,51453=>1000,51454=>1000,51455=>1000,51456=>1000,51457=>1000,51458=>1000,51459=>1000,51460=>1000,51461=>1000,51462=>1000,51463=>1000,51464=>1000,51465=>1000,51466=>1000,51467=>1000,51468=>1000,51469=>1000,51470=>1000,51471=>1000,51472=>1000,51473=>1000,51474=>1000,51475=>1000,51476=>1000,51477=>1000,51478=>1000,51479=>1000,51480=>1000,51481=>1000,51482=>1000,51483=>1000,51484=>1000,51485=>1000,51486=>1000,51487=>1000,51488=>1000,51489=>1000,51490=>1000,51491=>1000,51492=>1000,51493=>1000,51494=>1000,51495=>1000,51496=>1000,51497=>1000,51498=>1000,51499=>1000,51500=>1000,51501=>1000,51502=>1000,51503=>1000,51504=>1000,51505=>1000,51506=>1000,51507=>1000,51508=>1000,51509=>1000,51510=>1000,51511=>1000,51512=>1000,51513=>1000,51514=>1000,51515=>1000,51516=>1000,51517=>1000,51518=>1000,51519=>1000,51520=>1000,51521=>1000,51522=>1000,51523=>1000,51524=>1000,51525=>1000,51526=>1000,51527=>1000,51528=>1000,51529=>1000,51530=>1000,51531=>1000,51532=>1000,51533=>1000,51534=>1000,51535=>1000,51536=>1000,51537=>1000,51538=>1000,51539=>1000,51540=>1000,51541=>1000,51542=>1000,51543=>1000,51544=>1000,51545=>1000,51546=>1000,51547=>1000,51548=>1000,51549=>1000,51550=>1000,51551=>1000,51552=>1000,51553=>1000,51554=>1000,51555=>1000,51556=>1000,51557=>1000,51558=>1000,51559=>1000,51560=>1000,51561=>1000,51562=>1000,51563=>1000,51564=>1000,51565=>1000,51566=>1000,51567=>1000,51568=>1000,51569=>1000,51570=>1000,51571=>1000,51572=>1000,51573=>1000,51574=>1000,51575=>1000,51576=>1000,51577=>1000,51578=>1000,51579=>1000,51580=>1000,51581=>1000,51582=>1000,51583=>1000,51584=>1000,51585=>1000,51586=>1000,51587=>1000,51588=>1000,51589=>1000,51590=>1000,51591=>1000,51592=>1000,51593=>1000,51594=>1000,51595=>1000,51596=>1000,51597=>1000,51598=>1000,51599=>1000,51600=>1000,51601=>1000,51602=>1000,51603=>1000,51604=>1000,51605=>1000,51606=>1000,51607=>1000,51608=>1000,51609=>1000,51610=>1000,51611=>1000,51612=>1000,51613=>1000,51614=>1000,51615=>1000,51616=>1000,51617=>1000,51618=>1000,51619=>1000,51620=>1000,51621=>1000,51622=>1000,51623=>1000,51624=>1000,51625=>1000,51626=>1000,51627=>1000,51628=>1000,51629=>1000,51630=>1000,51631=>1000,51632=>1000,51633=>1000,51634=>1000,51635=>1000,51636=>1000,51637=>1000,51638=>1000,51639=>1000,51640=>1000,51641=>1000,51642=>1000,51643=>1000,51644=>1000,51645=>1000,51646=>1000,51647=>1000,51648=>1000,51649=>1000,51650=>1000,51651=>1000,51652=>1000,51653=>1000,51654=>1000,51655=>1000,51656=>1000,51657=>1000,51658=>1000,51659=>1000,51660=>1000,51661=>1000,51662=>1000,51663=>1000,51664=>1000,51665=>1000,51666=>1000,51667=>1000,51668=>1000,51669=>1000,51670=>1000,51671=>1000,51672=>1000,51673=>1000,51674=>1000,51675=>1000,51676=>1000,51677=>1000,51678=>1000,51679=>1000,51680=>1000,51681=>1000,51682=>1000,51683=>1000,51684=>1000,51685=>1000,51686=>1000,51687=>1000,51688=>1000,51689=>1000,51690=>1000,51691=>1000,51692=>1000,51693=>1000,51694=>1000,51695=>1000,51696=>1000,51697=>1000,51698=>1000,51699=>1000,51700=>1000,51701=>1000,51702=>1000,51703=>1000,51704=>1000,51705=>1000,51706=>1000,51707=>1000,51708=>1000,51709=>1000,51710=>1000,51711=>1000,51712=>1000,51713=>1000,51714=>1000,51715=>1000,51716=>1000,51717=>1000,51718=>1000,51719=>1000,51720=>1000,51721=>1000,51722=>1000,51723=>1000,51724=>1000,51725=>1000,51726=>1000,51727=>1000,51728=>1000,51729=>1000,51730=>1000,51731=>1000,51732=>1000,51733=>1000,51734=>1000,51735=>1000,51736=>1000,51737=>1000,51738=>1000,51739=>1000,51740=>1000,51741=>1000,51742=>1000,51743=>1000,51744=>1000,51745=>1000,51746=>1000,51747=>1000,51748=>1000,51749=>1000,51750=>1000,51751=>1000,51752=>1000,51753=>1000,51754=>1000,51755=>1000,51756=>1000,51757=>1000,51758=>1000,51759=>1000,51760=>1000,51761=>1000,51762=>1000,51763=>1000,51764=>1000,51765=>1000,51766=>1000,51767=>1000,51768=>1000,51769=>1000,51770=>1000,51771=>1000,51772=>1000,51773=>1000,51774=>1000,51775=>1000,51776=>1000,51777=>1000,51778=>1000,51779=>1000,51780=>1000,51781=>1000,51782=>1000,51783=>1000,51784=>1000,51785=>1000,51786=>1000,51787=>1000,51788=>1000,51789=>1000,51790=>1000,51791=>1000,51792=>1000,51793=>1000,51794=>1000,51795=>1000,51796=>1000,51797=>1000,51798=>1000,51799=>1000,51800=>1000,51801=>1000,51802=>1000,51803=>1000,51804=>1000,51805=>1000,51806=>1000,51807=>1000,51808=>1000,51809=>1000,51810=>1000,51811=>1000,51812=>1000,51813=>1000,51814=>1000,51815=>1000,51816=>1000,51817=>1000,51818=>1000,51819=>1000,51820=>1000,51821=>1000,51822=>1000,51823=>1000,51824=>1000,51825=>1000,51826=>1000,51827=>1000,51828=>1000,51829=>1000,51830=>1000,51831=>1000,51832=>1000,51833=>1000,51834=>1000,51835=>1000,51836=>1000,51837=>1000,51838=>1000,51839=>1000,51840=>1000,51841=>1000,51842=>1000,51843=>1000,51844=>1000,51845=>1000,51846=>1000,51847=>1000,51848=>1000,51849=>1000,51850=>1000,51851=>1000,51852=>1000,51853=>1000,51854=>1000,51855=>1000,51856=>1000,51857=>1000,51858=>1000,51859=>1000,51860=>1000,51861=>1000,51862=>1000,51863=>1000,51864=>1000,51865=>1000,51866=>1000,51867=>1000,51868=>1000,51869=>1000,51870=>1000,51871=>1000,51872=>1000,51873=>1000,51874=>1000,51875=>1000,51876=>1000,51877=>1000,51878=>1000,51879=>1000,51880=>1000,51881=>1000,51882=>1000,51883=>1000,51884=>1000,51885=>1000,51886=>1000,51887=>1000,51888=>1000,51889=>1000,51890=>1000,51891=>1000,51892=>1000,51893=>1000,51894=>1000,51895=>1000,51896=>1000,51897=>1000,51898=>1000,51899=>1000,51900=>1000,51901=>1000,51902=>1000,51903=>1000,51904=>1000,51905=>1000,51906=>1000,51907=>1000,51908=>1000,51909=>1000,51910=>1000,51911=>1000,51912=>1000,51913=>1000,51914=>1000,51915=>1000,51916=>1000,51917=>1000,51918=>1000,51919=>1000,51920=>1000,51921=>1000,51922=>1000,51923=>1000,51924=>1000,51925=>1000,51926=>1000,51927=>1000,51928=>1000,51929=>1000,51930=>1000,51931=>1000,51932=>1000,51933=>1000,51934=>1000,51935=>1000,51936=>1000,51937=>1000,51938=>1000,51939=>1000,51940=>1000,51941=>1000,51942=>1000,51943=>1000,51944=>1000,51945=>1000,51946=>1000,51947=>1000,51948=>1000,51949=>1000,51950=>1000,51951=>1000,51952=>1000,51953=>1000,51954=>1000,51955=>1000,51956=>1000,51957=>1000,51958=>1000,51959=>1000,51960=>1000,51961=>1000,51962=>1000,51963=>1000,51964=>1000,51965=>1000,51966=>1000,51967=>1000,51968=>1000,51969=>1000,51970=>1000,51971=>1000,51972=>1000,51973=>1000,51974=>1000,51975=>1000,51976=>1000,51977=>1000,51978=>1000,51979=>1000,51980=>1000,51981=>1000,51982=>1000,51983=>1000,51984=>1000,51985=>1000,51986=>1000,51987=>1000,51988=>1000,51989=>1000,51990=>1000,51991=>1000,51992=>1000,51993=>1000,51994=>1000,51995=>1000,51996=>1000,51997=>1000,51998=>1000,51999=>1000,52000=>1000,52001=>1000,52002=>1000,52003=>1000,52004=>1000,52005=>1000,52006=>1000,52007=>1000,52008=>1000,52009=>1000,52010=>1000,52011=>1000,52012=>1000,52013=>1000,52014=>1000,52015=>1000,52016=>1000,52017=>1000,52018=>1000,52019=>1000,52020=>1000,52021=>1000,52022=>1000,52023=>1000,52024=>1000,52025=>1000,52026=>1000,52027=>1000,52028=>1000,52029=>1000,52030=>1000,52031=>1000,52032=>1000,52033=>1000,52034=>1000,52035=>1000,52036=>1000,52037=>1000,52038=>1000,52039=>1000,52040=>1000,52041=>1000,52042=>1000,52043=>1000,52044=>1000,52045=>1000,52046=>1000,52047=>1000,52048=>1000,52049=>1000,52050=>1000,52051=>1000,52052=>1000,52053=>1000,52054=>1000,52055=>1000,52056=>1000,52057=>1000,52058=>1000,52059=>1000,52060=>1000,52061=>1000,52062=>1000,52063=>1000,52064=>1000,52065=>1000,52066=>1000,52067=>1000,52068=>1000,52069=>1000,52070=>1000,52071=>1000,52072=>1000,52073=>1000,52074=>1000,52075=>1000,52076=>1000,52077=>1000,52078=>1000,52079=>1000,52080=>1000,52081=>1000,52082=>1000,52083=>1000,52084=>1000,52085=>1000,52086=>1000,52087=>1000,52088=>1000,52089=>1000,52090=>1000,52091=>1000,52092=>1000,52093=>1000,52094=>1000,52095=>1000,52096=>1000,52097=>1000,52098=>1000,52099=>1000,52100=>1000,52101=>1000,52102=>1000,52103=>1000,52104=>1000,52105=>1000,52106=>1000,52107=>1000,52108=>1000,52109=>1000,52110=>1000,52111=>1000,52112=>1000,52113=>1000,52114=>1000,52115=>1000,52116=>1000,52117=>1000,52118=>1000,52119=>1000,52120=>1000,52121=>1000,52122=>1000,52123=>1000,52124=>1000,52125=>1000,52126=>1000,52127=>1000,52128=>1000,52129=>1000,52130=>1000,52131=>1000,52132=>1000,52133=>1000,52134=>1000,52135=>1000,52136=>1000,52137=>1000,52138=>1000,52139=>1000,52140=>1000,52141=>1000,52142=>1000,52143=>1000,52144=>1000,52145=>1000,52146=>1000,52147=>1000,52148=>1000,52149=>1000,52150=>1000,52151=>1000,52152=>1000,52153=>1000,52154=>1000,52155=>1000,52156=>1000,52157=>1000,52158=>1000,52159=>1000,52160=>1000,52161=>1000,52162=>1000,52163=>1000,52164=>1000,52165=>1000,52166=>1000,52167=>1000,52168=>1000,52169=>1000,52170=>1000,52171=>1000,52172=>1000,52173=>1000,52174=>1000,52175=>1000,52176=>1000,52177=>1000,52178=>1000,52179=>1000,52180=>1000,52181=>1000,52182=>1000,52183=>1000,52184=>1000,52185=>1000,52186=>1000,52187=>1000,52188=>1000,52189=>1000,52190=>1000,52191=>1000,52192=>1000,52193=>1000,52194=>1000,52195=>1000,52196=>1000,52197=>1000,52198=>1000,52199=>1000,52200=>1000,52201=>1000,52202=>1000,52203=>1000,52204=>1000,52205=>1000,52206=>1000,52207=>1000,52208=>1000,52209=>1000,52210=>1000,52211=>1000,52212=>1000,52213=>1000,52214=>1000,52215=>1000,52216=>1000,52217=>1000,52218=>1000,52219=>1000,52220=>1000,52221=>1000,52222=>1000,52223=>1000,52224=>1000,52225=>1000,52226=>1000,52227=>1000,52228=>1000,52229=>1000,52230=>1000,52231=>1000,52232=>1000,52233=>1000,52234=>1000,52235=>1000,52236=>1000,52237=>1000,52238=>1000,52239=>1000,52240=>1000,52241=>1000,52242=>1000,52243=>1000,52244=>1000,52245=>1000,52246=>1000,52247=>1000,52248=>1000,52249=>1000,52250=>1000,52251=>1000,52252=>1000,52253=>1000,52254=>1000,52255=>1000,52256=>1000,52257=>1000,52258=>1000,52259=>1000,52260=>1000,52261=>1000,52262=>1000,52263=>1000,52264=>1000,52265=>1000,52266=>1000,52267=>1000,52268=>1000,52269=>1000,52270=>1000,52271=>1000,52272=>1000,52273=>1000,52274=>1000,52275=>1000,52276=>1000,52277=>1000,52278=>1000,52279=>1000,52280=>1000,52281=>1000,52282=>1000,52283=>1000,52284=>1000,52285=>1000,52286=>1000,52287=>1000,52288=>1000,52289=>1000,52290=>1000,52291=>1000,52292=>1000,52293=>1000,52294=>1000,52295=>1000,52296=>1000,52297=>1000,52298=>1000,52299=>1000,52300=>1000,52301=>1000,52302=>1000,52303=>1000,52304=>1000,52305=>1000,52306=>1000,52307=>1000,52308=>1000,52309=>1000,52310=>1000,52311=>1000,52312=>1000,52313=>1000,52314=>1000,52315=>1000,52316=>1000,52317=>1000,52318=>1000,52319=>1000,52320=>1000,52321=>1000,52322=>1000,52323=>1000,52324=>1000,52325=>1000,52326=>1000,52327=>1000,52328=>1000,52329=>1000,52330=>1000,52331=>1000,52332=>1000,52333=>1000,52334=>1000,52335=>1000,52336=>1000,52337=>1000,52338=>1000,52339=>1000,52340=>1000,52341=>1000,52342=>1000,52343=>1000,52344=>1000,52345=>1000,52346=>1000,52347=>1000,52348=>1000,52349=>1000,52350=>1000,52351=>1000,52352=>1000,52353=>1000,52354=>1000,52355=>1000,52356=>1000,52357=>1000,52358=>1000,52359=>1000,52360=>1000,52361=>1000,52362=>1000,52363=>1000,52364=>1000,52365=>1000,52366=>1000,52367=>1000,52368=>1000,52369=>1000,52370=>1000,52371=>1000,52372=>1000,52373=>1000,52374=>1000,52375=>1000,52376=>1000,52377=>1000,52378=>1000,52379=>1000,52380=>1000,52381=>1000,52382=>1000,52383=>1000,52384=>1000,52385=>1000,52386=>1000,52387=>1000,52388=>1000,52389=>1000,52390=>1000,52391=>1000,52392=>1000,52393=>1000,52394=>1000,52395=>1000,52396=>1000,52397=>1000,52398=>1000,52399=>1000,52400=>1000,52401=>1000,52402=>1000,52403=>1000,52404=>1000,52405=>1000,52406=>1000,52407=>1000,52408=>1000,52409=>1000,52410=>1000,52411=>1000,52412=>1000,52413=>1000,52414=>1000,52415=>1000,52416=>1000,52417=>1000,52418=>1000,52419=>1000,52420=>1000,52421=>1000,52422=>1000,52423=>1000,52424=>1000,52425=>1000,52426=>1000,52427=>1000,52428=>1000,52429=>1000,52430=>1000,52431=>1000,52432=>1000,52433=>1000,52434=>1000,52435=>1000,52436=>1000,52437=>1000,52438=>1000,52439=>1000,52440=>1000,52441=>1000,52442=>1000,52443=>1000,52444=>1000,52445=>1000,52446=>1000,52447=>1000,52448=>1000,52449=>1000,52450=>1000,52451=>1000,52452=>1000,52453=>1000,52454=>1000,52455=>1000,52456=>1000,52457=>1000,52458=>1000,52459=>1000,52460=>1000,52461=>1000,52462=>1000,52463=>1000,52464=>1000,52465=>1000,52466=>1000,52467=>1000,52468=>1000,52469=>1000,52470=>1000,52471=>1000,52472=>1000,52473=>1000,52474=>1000,52475=>1000,52476=>1000,52477=>1000,52478=>1000,52479=>1000,52480=>1000,52481=>1000,52482=>1000,52483=>1000,52484=>1000,52485=>1000,52486=>1000,52487=>1000,52488=>1000,52489=>1000,52490=>1000,52491=>1000,52492=>1000,52493=>1000,52494=>1000,52495=>1000,52496=>1000,52497=>1000,52498=>1000,52499=>1000,52500=>1000,52501=>1000,52502=>1000,52503=>1000,52504=>1000,52505=>1000,52506=>1000,52507=>1000,52508=>1000,52509=>1000,52510=>1000,52511=>1000,52512=>1000,52513=>1000,52514=>1000,52515=>1000,52516=>1000,52517=>1000,52518=>1000,52519=>1000,52520=>1000,52521=>1000,52522=>1000,52523=>1000,52524=>1000,52525=>1000,52526=>1000,52527=>1000,52528=>1000,52529=>1000,52530=>1000,52531=>1000,52532=>1000,52533=>1000,52534=>1000,52535=>1000,52536=>1000,52537=>1000,52538=>1000,52539=>1000,52540=>1000,52541=>1000,52542=>1000,52543=>1000,52544=>1000,52545=>1000,52546=>1000,52547=>1000,52548=>1000,52549=>1000,52550=>1000,52551=>1000,52552=>1000,52553=>1000,52554=>1000,52555=>1000,52556=>1000,52557=>1000,52558=>1000,52559=>1000,52560=>1000,52561=>1000,52562=>1000,52563=>1000,52564=>1000,52565=>1000,52566=>1000,52567=>1000,52568=>1000,52569=>1000,52570=>1000,52571=>1000,52572=>1000,52573=>1000,52574=>1000,52575=>1000,52576=>1000,52577=>1000,52578=>1000,52579=>1000,52580=>1000,52581=>1000,52582=>1000,52583=>1000,52584=>1000,52585=>1000,52586=>1000,52587=>1000,52588=>1000,52589=>1000,52590=>1000,52591=>1000,52592=>1000,52593=>1000,52594=>1000,52595=>1000,52596=>1000,52597=>1000,52598=>1000,52599=>1000,52600=>1000,52601=>1000,52602=>1000,52603=>1000,52604=>1000,52605=>1000,52606=>1000,52607=>1000,52608=>1000,52609=>1000,52610=>1000,52611=>1000,52612=>1000,52613=>1000,52614=>1000,52615=>1000,52616=>1000,52617=>1000,52618=>1000,52619=>1000,52620=>1000,52621=>1000,52622=>1000,52623=>1000,52624=>1000,52625=>1000,52626=>1000,52627=>1000,52628=>1000,52629=>1000,52630=>1000,52631=>1000,52632=>1000,52633=>1000,52634=>1000,52635=>1000,52636=>1000,52637=>1000,52638=>1000,52639=>1000,52640=>1000,52641=>1000,52642=>1000,52643=>1000,52644=>1000,52645=>1000,52646=>1000,52647=>1000,52648=>1000,52649=>1000,52650=>1000,52651=>1000,52652=>1000,52653=>1000,52654=>1000,52655=>1000,52656=>1000,52657=>1000,52658=>1000,52659=>1000,52660=>1000,52661=>1000,52662=>1000,52663=>1000,52664=>1000,52665=>1000,52666=>1000,52667=>1000,52668=>1000,52669=>1000,52670=>1000,52671=>1000,52672=>1000,52673=>1000,52674=>1000,52675=>1000,52676=>1000,52677=>1000,52678=>1000,52679=>1000,52680=>1000,52681=>1000,52682=>1000,52683=>1000,52684=>1000,52685=>1000,52686=>1000,52687=>1000,52688=>1000,52689=>1000,52690=>1000,52691=>1000,52692=>1000,52693=>1000,52694=>1000,52695=>1000,52696=>1000,52697=>1000,52698=>1000,52699=>1000,52700=>1000,52701=>1000,52702=>1000,52703=>1000,52704=>1000,52705=>1000,52706=>1000,52707=>1000,52708=>1000,52709=>1000,52710=>1000,52711=>1000,52712=>1000,52713=>1000,52714=>1000,52715=>1000,52716=>1000,52717=>1000,52718=>1000,52719=>1000,52720=>1000,52721=>1000,52722=>1000,52723=>1000,52724=>1000,52725=>1000,52726=>1000,52727=>1000,52728=>1000,52729=>1000,52730=>1000,52731=>1000,52732=>1000,52733=>1000,52734=>1000,52735=>1000,52736=>1000,52737=>1000,52738=>1000,52739=>1000,52740=>1000,52741=>1000,52742=>1000,52743=>1000,52744=>1000,52745=>1000,52746=>1000,52747=>1000,52748=>1000,52749=>1000,52750=>1000,52751=>1000,52752=>1000,52753=>1000,52754=>1000,52755=>1000,52756=>1000,52757=>1000,52758=>1000,52759=>1000,52760=>1000,52761=>1000,52762=>1000,52763=>1000,52764=>1000,52765=>1000,52766=>1000,52767=>1000,52768=>1000,52769=>1000,52770=>1000,52771=>1000,52772=>1000,52773=>1000,52774=>1000,52775=>1000,52776=>1000,52777=>1000,52778=>1000,52779=>1000,52780=>1000,52781=>1000,52782=>1000,52783=>1000,52784=>1000,52785=>1000,52786=>1000,52787=>1000,52788=>1000,52789=>1000,52790=>1000,52791=>1000,52792=>1000,52793=>1000,52794=>1000,52795=>1000,52796=>1000,52797=>1000,52798=>1000,52799=>1000,52800=>1000,52801=>1000,52802=>1000,52803=>1000,52804=>1000,52805=>1000,52806=>1000,52807=>1000,52808=>1000,52809=>1000,52810=>1000,52811=>1000,52812=>1000,52813=>1000,52814=>1000,52815=>1000,52816=>1000,52817=>1000,52818=>1000,52819=>1000,52820=>1000,52821=>1000,52822=>1000,52823=>1000,52824=>1000,52825=>1000,52826=>1000,52827=>1000,52828=>1000,52829=>1000,52830=>1000,52831=>1000,52832=>1000,52833=>1000,52834=>1000,52835=>1000,52836=>1000,52837=>1000,52838=>1000,52839=>1000,52840=>1000,52841=>1000,52842=>1000,52843=>1000,52844=>1000,52845=>1000,52846=>1000,52847=>1000,52848=>1000,52849=>1000,52850=>1000,52851=>1000,52852=>1000,52853=>1000,52854=>1000,52855=>1000,52856=>1000,52857=>1000,52858=>1000,52859=>1000,52860=>1000,52861=>1000,52862=>1000,52863=>1000,52864=>1000,52865=>1000,52866=>1000,52867=>1000,52868=>1000,52869=>1000,52870=>1000,52871=>1000,52872=>1000,52873=>1000,52874=>1000,52875=>1000,52876=>1000,52877=>1000,52878=>1000,52879=>1000,52880=>1000,52881=>1000,52882=>1000,52883=>1000,52884=>1000,52885=>1000,52886=>1000,52887=>1000,52888=>1000,52889=>1000,52890=>1000,52891=>1000,52892=>1000,52893=>1000,52894=>1000,52895=>1000,52896=>1000,52897=>1000,52898=>1000,52899=>1000,52900=>1000,52901=>1000,52902=>1000,52903=>1000,52904=>1000,52905=>1000,52906=>1000,52907=>1000,52908=>1000,52909=>1000,52910=>1000,52911=>1000,52912=>1000,52913=>1000,52914=>1000,52915=>1000,52916=>1000,52917=>1000,52918=>1000,52919=>1000,52920=>1000,52921=>1000,52922=>1000,52923=>1000,52924=>1000,52925=>1000,52926=>1000,52927=>1000,52928=>1000,52929=>1000,52930=>1000,52931=>1000,52932=>1000,52933=>1000,52934=>1000,52935=>1000,52936=>1000,52937=>1000,52938=>1000,52939=>1000,52940=>1000,52941=>1000,52942=>1000,52943=>1000,52944=>1000,52945=>1000,52946=>1000,52947=>1000,52948=>1000,52949=>1000,52950=>1000,52951=>1000,52952=>1000,52953=>1000,52954=>1000,52955=>1000,52956=>1000,52957=>1000,52958=>1000,52959=>1000,52960=>1000,52961=>1000,52962=>1000,52963=>1000,52964=>1000,52965=>1000,52966=>1000,52967=>1000,52968=>1000,52969=>1000,52970=>1000,52971=>1000,52972=>1000,52973=>1000,52974=>1000,52975=>1000,52976=>1000,52977=>1000,52978=>1000,52979=>1000,52980=>1000,52981=>1000,52982=>1000,52983=>1000,52984=>1000,52985=>1000,52986=>1000,52987=>1000,52988=>1000,52989=>1000,52990=>1000,52991=>1000,52992=>1000,52993=>1000,52994=>1000,52995=>1000,52996=>1000,52997=>1000,52998=>1000,52999=>1000,53000=>1000,53001=>1000,53002=>1000,53003=>1000,53004=>1000,53005=>1000,53006=>1000,53007=>1000,53008=>1000,53009=>1000,53010=>1000,53011=>1000,53012=>1000,53013=>1000,53014=>1000,53015=>1000,53016=>1000,53017=>1000,53018=>1000,53019=>1000,53020=>1000,53021=>1000,53022=>1000,53023=>1000,53024=>1000,53025=>1000,53026=>1000,53027=>1000,53028=>1000,53029=>1000,53030=>1000,53031=>1000,53032=>1000,53033=>1000,53034=>1000,53035=>1000,53036=>1000,53037=>1000,53038=>1000,53039=>1000,53040=>1000,53041=>1000,53042=>1000,53043=>1000,53044=>1000,53045=>1000,53046=>1000,53047=>1000,53048=>1000,53049=>1000,53050=>1000,53051=>1000,53052=>1000,53053=>1000,53054=>1000,53055=>1000,53056=>1000,53057=>1000,53058=>1000,53059=>1000,53060=>1000,53061=>1000,53062=>1000,53063=>1000,53064=>1000,53065=>1000,53066=>1000,53067=>1000,53068=>1000,53069=>1000,53070=>1000,53071=>1000,53072=>1000,53073=>1000,53074=>1000,53075=>1000,53076=>1000,53077=>1000,53078=>1000,53079=>1000,53080=>1000,53081=>1000,53082=>1000,53083=>1000,53084=>1000,53085=>1000,53086=>1000,53087=>1000,53088=>1000,53089=>1000,53090=>1000,53091=>1000,53092=>1000,53093=>1000,53094=>1000,53095=>1000,53096=>1000,53097=>1000,53098=>1000,53099=>1000,53100=>1000,53101=>1000,53102=>1000,53103=>1000,53104=>1000,53105=>1000,53106=>1000,53107=>1000,53108=>1000,53109=>1000,53110=>1000,53111=>1000,53112=>1000,53113=>1000,53114=>1000,53115=>1000,53116=>1000,53117=>1000,53118=>1000,53119=>1000,53120=>1000,53121=>1000,53122=>1000,53123=>1000,53124=>1000,53125=>1000,53126=>1000,53127=>1000,53128=>1000,53129=>1000,53130=>1000,53131=>1000,53132=>1000,53133=>1000,53134=>1000,53135=>1000,53136=>1000,53137=>1000,53138=>1000,53139=>1000,53140=>1000,53141=>1000,53142=>1000,53143=>1000,53144=>1000,53145=>1000,53146=>1000,53147=>1000,53148=>1000,53149=>1000,53150=>1000,53151=>1000,53152=>1000,53153=>1000,53154=>1000,53155=>1000,53156=>1000,53157=>1000,53158=>1000,53159=>1000,53160=>1000,53161=>1000,53162=>1000,53163=>1000,53164=>1000,53165=>1000,53166=>1000,53167=>1000,53168=>1000,53169=>1000,53170=>1000,53171=>1000,53172=>1000,53173=>1000,53174=>1000,53175=>1000,53176=>1000,53177=>1000,53178=>1000,53179=>1000,53180=>1000,53181=>1000,53182=>1000,53183=>1000,53184=>1000,53185=>1000,53186=>1000,53187=>1000,53188=>1000,53189=>1000,53190=>1000,53191=>1000,53192=>1000,53193=>1000,53194=>1000,53195=>1000,53196=>1000,53197=>1000,53198=>1000,53199=>1000,53200=>1000,53201=>1000,53202=>1000,53203=>1000,53204=>1000,53205=>1000,53206=>1000,53207=>1000,53208=>1000,53209=>1000,53210=>1000,53211=>1000,53212=>1000,53213=>1000,53214=>1000,53215=>1000,53216=>1000,53217=>1000,53218=>1000,53219=>1000,53220=>1000,53221=>1000,53222=>1000,53223=>1000,53224=>1000,53225=>1000,53226=>1000,53227=>1000,53228=>1000,53229=>1000,53230=>1000,53231=>1000,53232=>1000,53233=>1000,53234=>1000,53235=>1000,53236=>1000,53237=>1000,53238=>1000,53239=>1000,53240=>1000,53241=>1000,53242=>1000,53243=>1000,53244=>1000,53245=>1000,53246=>1000,53247=>1000,53248=>1000,53249=>1000,53250=>1000,53251=>1000,53252=>1000,53253=>1000,53254=>1000,53255=>1000,53256=>1000,53257=>1000,53258=>1000,53259=>1000,53260=>1000,53261=>1000,53262=>1000,53263=>1000,53264=>1000,53265=>1000,53266=>1000,53267=>1000,53268=>1000,53269=>1000,53270=>1000,53271=>1000,53272=>1000,53273=>1000,53274=>1000,53275=>1000,53276=>1000,53277=>1000,53278=>1000,53279=>1000,53280=>1000,53281=>1000,53282=>1000,53283=>1000,53284=>1000,53285=>1000,53286=>1000,53287=>1000,53288=>1000,53289=>1000,53290=>1000,53291=>1000,53292=>1000,53293=>1000,53294=>1000,53295=>1000,53296=>1000,53297=>1000,53298=>1000,53299=>1000,53300=>1000,53301=>1000,53302=>1000,53303=>1000,53304=>1000,53305=>1000,53306=>1000,53307=>1000,53308=>1000,53309=>1000,53310=>1000,53311=>1000,53312=>1000,53313=>1000,53314=>1000,53315=>1000,53316=>1000,53317=>1000,53318=>1000,53319=>1000,53320=>1000,53321=>1000,53322=>1000,53323=>1000,53324=>1000,53325=>1000,53326=>1000,53327=>1000,53328=>1000,53329=>1000,53330=>1000,53331=>1000,53332=>1000,53333=>1000,53334=>1000,53335=>1000,53336=>1000,53337=>1000,53338=>1000,53339=>1000,53340=>1000,53341=>1000,53342=>1000,53343=>1000,53344=>1000,53345=>1000,53346=>1000,53347=>1000,53348=>1000,53349=>1000,53350=>1000,53351=>1000,53352=>1000,53353=>1000,53354=>1000,53355=>1000,53356=>1000,53357=>1000,53358=>1000,53359=>1000,53360=>1000,53361=>1000,53362=>1000,53363=>1000,53364=>1000,53365=>1000,53366=>1000,53367=>1000,53368=>1000,53369=>1000,53370=>1000,53371=>1000,53372=>1000,53373=>1000,53374=>1000,53375=>1000,53376=>1000,53377=>1000,53378=>1000,53379=>1000,53380=>1000,53381=>1000,53382=>1000,53383=>1000,53384=>1000,53385=>1000,53386=>1000,53387=>1000,53388=>1000,53389=>1000,53390=>1000,53391=>1000,53392=>1000,53393=>1000,53394=>1000,53395=>1000,53396=>1000,53397=>1000,53398=>1000,53399=>1000,53400=>1000,53401=>1000,53402=>1000,53403=>1000,53404=>1000,53405=>1000,53406=>1000,53407=>1000,53408=>1000,53409=>1000,53410=>1000,53411=>1000,53412=>1000,53413=>1000,53414=>1000,53415=>1000,53416=>1000,53417=>1000,53418=>1000,53419=>1000,53420=>1000,53421=>1000,53422=>1000,53423=>1000,53424=>1000,53425=>1000,53426=>1000,53427=>1000,53428=>1000,53429=>1000,53430=>1000,53431=>1000,53432=>1000,53433=>1000,53434=>1000,53435=>1000,53436=>1000,53437=>1000,53438=>1000,53439=>1000,53440=>1000,53441=>1000,53442=>1000,53443=>1000,53444=>1000,53445=>1000,53446=>1000,53447=>1000,53448=>1000,53449=>1000,53450=>1000,53451=>1000,53452=>1000,53453=>1000,53454=>1000,53455=>1000,53456=>1000,53457=>1000,53458=>1000,53459=>1000,53460=>1000,53461=>1000,53462=>1000,53463=>1000,53464=>1000,53465=>1000,53466=>1000,53467=>1000,53468=>1000,53469=>1000,53470=>1000,53471=>1000,53472=>1000,53473=>1000,53474=>1000,53475=>1000,53476=>1000,53477=>1000,53478=>1000,53479=>1000,53480=>1000,53481=>1000,53482=>1000,53483=>1000,53484=>1000,53485=>1000,53486=>1000,53487=>1000,53488=>1000,53489=>1000,53490=>1000,53491=>1000,53492=>1000,53493=>1000,53494=>1000,53495=>1000,53496=>1000,53497=>1000,53498=>1000,53499=>1000,53500=>1000,53501=>1000,53502=>1000,53503=>1000,53504=>1000,53505=>1000,53506=>1000,53507=>1000,53508=>1000,53509=>1000,53510=>1000,53511=>1000,53512=>1000,53513=>1000,53514=>1000,53515=>1000,53516=>1000,53517=>1000,53518=>1000,53519=>1000,53520=>1000,53521=>1000,53522=>1000,53523=>1000,53524=>1000,53525=>1000,53526=>1000,53527=>1000,53528=>1000,53529=>1000,53530=>1000,53531=>1000,53532=>1000,53533=>1000,53534=>1000,53535=>1000,53536=>1000,53537=>1000,53538=>1000,53539=>1000,53540=>1000,53541=>1000,53542=>1000,53543=>1000,53544=>1000,53545=>1000,53546=>1000,53547=>1000,53548=>1000,53549=>1000,53550=>1000,53551=>1000,53552=>1000,53553=>1000,53554=>1000,53555=>1000,53556=>1000,53557=>1000,53558=>1000,53559=>1000,53560=>1000,53561=>1000,53562=>1000,53563=>1000,53564=>1000,53565=>1000,53566=>1000,53567=>1000,53568=>1000,53569=>1000,53570=>1000,53571=>1000,53572=>1000,53573=>1000,53574=>1000,53575=>1000,53576=>1000,53577=>1000,53578=>1000,53579=>1000,53580=>1000,53581=>1000,53582=>1000,53583=>1000,53584=>1000,53585=>1000,53586=>1000,53587=>1000,53588=>1000,53589=>1000,53590=>1000,53591=>1000,53592=>1000,53593=>1000,53594=>1000,53595=>1000,53596=>1000,53597=>1000,53598=>1000,53599=>1000,53600=>1000,53601=>1000,53602=>1000,53603=>1000,53604=>1000,53605=>1000,53606=>1000,53607=>1000,53608=>1000,53609=>1000,53610=>1000,53611=>1000,53612=>1000,53613=>1000,53614=>1000,53615=>1000,53616=>1000,53617=>1000,53618=>1000,53619=>1000,53620=>1000,53621=>1000,53622=>1000,53623=>1000,53624=>1000,53625=>1000,53626=>1000,53627=>1000,53628=>1000,53629=>1000,53630=>1000,53631=>1000,53632=>1000,53633=>1000,53634=>1000,53635=>1000,53636=>1000,53637=>1000,53638=>1000,53639=>1000,53640=>1000,53641=>1000,53642=>1000,53643=>1000,53644=>1000,53645=>1000,53646=>1000,53647=>1000,53648=>1000,53649=>1000,53650=>1000,53651=>1000,53652=>1000,53653=>1000,53654=>1000,53655=>1000,53656=>1000,53657=>1000,53658=>1000,53659=>1000,53660=>1000,53661=>1000,53662=>1000,53663=>1000,53664=>1000,53665=>1000,53666=>1000,53667=>1000,53668=>1000,53669=>1000,53670=>1000,53671=>1000,53672=>1000,53673=>1000,53674=>1000,53675=>1000,53676=>1000,53677=>1000,53678=>1000,53679=>1000,53680=>1000,53681=>1000,53682=>1000,53683=>1000,53684=>1000,53685=>1000,53686=>1000,53687=>1000,53688=>1000,53689=>1000,53690=>1000,53691=>1000,53692=>1000,53693=>1000,53694=>1000,53695=>1000,53696=>1000,53697=>1000,53698=>1000,53699=>1000,53700=>1000,53701=>1000,53702=>1000,53703=>1000,53704=>1000,53705=>1000,53706=>1000,53707=>1000,53708=>1000,53709=>1000,53710=>1000,53711=>1000,53712=>1000,53713=>1000,53714=>1000,53715=>1000,53716=>1000,53717=>1000,53718=>1000,53719=>1000,53720=>1000,53721=>1000,53722=>1000,53723=>1000,53724=>1000,53725=>1000,53726=>1000,53727=>1000,53728=>1000,53729=>1000,53730=>1000,53731=>1000,53732=>1000,53733=>1000,53734=>1000,53735=>1000,53736=>1000,53737=>1000,53738=>1000,53739=>1000,53740=>1000,53741=>1000,53742=>1000,53743=>1000,53744=>1000,53745=>1000,53746=>1000,53747=>1000,53748=>1000,53749=>1000,53750=>1000,53751=>1000,53752=>1000,53753=>1000,53754=>1000,53755=>1000,53756=>1000,53757=>1000,53758=>1000,53759=>1000,53760=>1000,53761=>1000,53762=>1000,53763=>1000,53764=>1000,53765=>1000,53766=>1000,53767=>1000,53768=>1000,53769=>1000,53770=>1000,53771=>1000,53772=>1000,53773=>1000,53774=>1000,53775=>1000,53776=>1000,53777=>1000,53778=>1000,53779=>1000,53780=>1000,53781=>1000,53782=>1000,53783=>1000,53784=>1000,53785=>1000,53786=>1000,53787=>1000,53788=>1000,53789=>1000,53790=>1000,53791=>1000,53792=>1000,53793=>1000,53794=>1000,53795=>1000,53796=>1000,53797=>1000,53798=>1000,53799=>1000,53800=>1000,53801=>1000,53802=>1000,53803=>1000,53804=>1000,53805=>1000,53806=>1000,53807=>1000,53808=>1000,53809=>1000,53810=>1000,53811=>1000,53812=>1000,53813=>1000,53814=>1000,53815=>1000,53816=>1000,53817=>1000,53818=>1000,53819=>1000,53820=>1000,53821=>1000,53822=>1000,53823=>1000,53824=>1000,53825=>1000,53826=>1000,53827=>1000,53828=>1000,53829=>1000,53830=>1000,53831=>1000,53832=>1000,53833=>1000,53834=>1000,53835=>1000,53836=>1000,53837=>1000,53838=>1000,53839=>1000,53840=>1000,53841=>1000,53842=>1000,53843=>1000,53844=>1000,53845=>1000,53846=>1000,53847=>1000,53848=>1000,53849=>1000,53850=>1000,53851=>1000,53852=>1000,53853=>1000,53854=>1000,53855=>1000,53856=>1000,53857=>1000,53858=>1000,53859=>1000,53860=>1000,53861=>1000,53862=>1000,53863=>1000,53864=>1000,53865=>1000,53866=>1000,53867=>1000,53868=>1000,53869=>1000,53870=>1000,53871=>1000,53872=>1000,53873=>1000,53874=>1000,53875=>1000,53876=>1000,53877=>1000,53878=>1000,53879=>1000,53880=>1000,53881=>1000,53882=>1000,53883=>1000,53884=>1000,53885=>1000,53886=>1000,53887=>1000,53888=>1000,53889=>1000,53890=>1000,53891=>1000,53892=>1000,53893=>1000,53894=>1000,53895=>1000,53896=>1000,53897=>1000,53898=>1000,53899=>1000,53900=>1000,53901=>1000,53902=>1000,53903=>1000,53904=>1000,53905=>1000,53906=>1000,53907=>1000,53908=>1000,53909=>1000,53910=>1000,53911=>1000,53912=>1000,53913=>1000,53914=>1000,53915=>1000,53916=>1000,53917=>1000,53918=>1000,53919=>1000,53920=>1000,53921=>1000,53922=>1000,53923=>1000,53924=>1000,53925=>1000,53926=>1000,53927=>1000,53928=>1000,53929=>1000,53930=>1000,53931=>1000,53932=>1000,53933=>1000,53934=>1000,53935=>1000,53936=>1000,53937=>1000,53938=>1000,53939=>1000,53940=>1000,53941=>1000,53942=>1000,53943=>1000,53944=>1000,53945=>1000,53946=>1000,53947=>1000,53948=>1000,53949=>1000,53950=>1000,53951=>1000,53952=>1000,53953=>1000,53954=>1000,53955=>1000,53956=>1000,53957=>1000,53958=>1000,53959=>1000,53960=>1000,53961=>1000,53962=>1000,53963=>1000,53964=>1000,53965=>1000,53966=>1000,53967=>1000,53968=>1000,53969=>1000,53970=>1000,53971=>1000,53972=>1000,53973=>1000,53974=>1000,53975=>1000,53976=>1000,53977=>1000,53978=>1000,53979=>1000,53980=>1000,53981=>1000,53982=>1000,53983=>1000,53984=>1000,53985=>1000,53986=>1000,53987=>1000,53988=>1000,53989=>1000,53990=>1000,53991=>1000,53992=>1000,53993=>1000,53994=>1000,53995=>1000,53996=>1000,53997=>1000,53998=>1000,53999=>1000,54000=>1000,54001=>1000,54002=>1000,54003=>1000,54004=>1000,54005=>1000,54006=>1000,54007=>1000,54008=>1000,54009=>1000,54010=>1000,54011=>1000,54012=>1000,54013=>1000,54014=>1000,54015=>1000,54016=>1000,54017=>1000,54018=>1000,54019=>1000,54020=>1000,54021=>1000,54022=>1000,54023=>1000,54024=>1000,54025=>1000,54026=>1000,54027=>1000,54028=>1000,54029=>1000,54030=>1000,54031=>1000,54032=>1000,54033=>1000,54034=>1000,54035=>1000,54036=>1000,54037=>1000,54038=>1000,54039=>1000,54040=>1000,54041=>1000,54042=>1000,54043=>1000,54044=>1000,54045=>1000,54046=>1000,54047=>1000,54048=>1000,54049=>1000,54050=>1000,54051=>1000,54052=>1000,54053=>1000,54054=>1000,54055=>1000,54056=>1000,54057=>1000,54058=>1000,54059=>1000,54060=>1000,54061=>1000,54062=>1000,54063=>1000,54064=>1000,54065=>1000,54066=>1000,54067=>1000,54068=>1000,54069=>1000,54070=>1000,54071=>1000,54072=>1000,54073=>1000,54074=>1000,54075=>1000,54076=>1000,54077=>1000,54078=>1000,54079=>1000,54080=>1000,54081=>1000,54082=>1000,54083=>1000,54084=>1000,54085=>1000,54086=>1000,54087=>1000,54088=>1000,54089=>1000,54090=>1000,54091=>1000,54092=>1000,54093=>1000,54094=>1000,54095=>1000,54096=>1000,54097=>1000,54098=>1000,54099=>1000,54100=>1000,54101=>1000,54102=>1000,54103=>1000,54104=>1000,54105=>1000,54106=>1000,54107=>1000,54108=>1000,54109=>1000,54110=>1000,54111=>1000,54112=>1000,54113=>1000,54114=>1000,54115=>1000,54116=>1000,54117=>1000,54118=>1000,54119=>1000,54120=>1000,54121=>1000,54122=>1000,54123=>1000,54124=>1000,54125=>1000,54126=>1000,54127=>1000,54128=>1000,54129=>1000,54130=>1000,54131=>1000,54132=>1000,54133=>1000,54134=>1000,54135=>1000,54136=>1000,54137=>1000,54138=>1000,54139=>1000,54140=>1000,54141=>1000,54142=>1000,54143=>1000,54144=>1000,54145=>1000,54146=>1000,54147=>1000,54148=>1000,54149=>1000,54150=>1000,54151=>1000,54152=>1000,54153=>1000,54154=>1000,54155=>1000,54156=>1000,54157=>1000,54158=>1000,54159=>1000,54160=>1000,54161=>1000,54162=>1000,54163=>1000,54164=>1000,54165=>1000,54166=>1000,54167=>1000,54168=>1000,54169=>1000,54170=>1000,54171=>1000,54172=>1000,54173=>1000,54174=>1000,54175=>1000,54176=>1000,54177=>1000,54178=>1000,54179=>1000,54180=>1000,54181=>1000,54182=>1000,54183=>1000,54184=>1000,54185=>1000,54186=>1000,54187=>1000,54188=>1000,54189=>1000,54190=>1000,54191=>1000,54192=>1000,54193=>1000,54194=>1000,54195=>1000,54196=>1000,54197=>1000,54198=>1000,54199=>1000,54200=>1000,54201=>1000,54202=>1000,54203=>1000,54204=>1000,54205=>1000,54206=>1000,54207=>1000,54208=>1000,54209=>1000,54210=>1000,54211=>1000,54212=>1000,54213=>1000,54214=>1000,54215=>1000,54216=>1000,54217=>1000,54218=>1000,54219=>1000,54220=>1000,54221=>1000,54222=>1000,54223=>1000,54224=>1000,54225=>1000,54226=>1000,54227=>1000,54228=>1000,54229=>1000,54230=>1000,54231=>1000,54232=>1000,54233=>1000,54234=>1000,54235=>1000,54236=>1000,54237=>1000,54238=>1000,54239=>1000,54240=>1000,54241=>1000,54242=>1000,54243=>1000,54244=>1000,54245=>1000,54246=>1000,54247=>1000,54248=>1000,54249=>1000,54250=>1000,54251=>1000,54252=>1000,54253=>1000,54254=>1000,54255=>1000,54256=>1000,54257=>1000,54258=>1000,54259=>1000,54260=>1000,54261=>1000,54262=>1000,54263=>1000,54264=>1000,54265=>1000,54266=>1000,54267=>1000,54268=>1000,54269=>1000,54270=>1000,54271=>1000,54272=>1000,54273=>1000,54274=>1000,54275=>1000,54276=>1000,54277=>1000,54278=>1000,54279=>1000,54280=>1000,54281=>1000,54282=>1000,54283=>1000,54284=>1000,54285=>1000,54286=>1000,54287=>1000,54288=>1000,54289=>1000,54290=>1000,54291=>1000,54292=>1000,54293=>1000,54294=>1000,54295=>1000,54296=>1000,54297=>1000,54298=>1000,54299=>1000,54300=>1000,54301=>1000,54302=>1000,54303=>1000,54304=>1000,54305=>1000,54306=>1000,54307=>1000,54308=>1000,54309=>1000,54310=>1000,54311=>1000,54312=>1000,54313=>1000,54314=>1000,54315=>1000,54316=>1000,54317=>1000,54318=>1000,54319=>1000,54320=>1000,54321=>1000,54322=>1000,54323=>1000,54324=>1000,54325=>1000,54326=>1000,54327=>1000,54328=>1000,54329=>1000,54330=>1000,54331=>1000,54332=>1000,54333=>1000,54334=>1000,54335=>1000,54336=>1000,54337=>1000,54338=>1000,54339=>1000,54340=>1000,54341=>1000,54342=>1000,54343=>1000,54344=>1000,54345=>1000,54346=>1000,54347=>1000,54348=>1000,54349=>1000,54350=>1000,54351=>1000,54352=>1000,54353=>1000,54354=>1000,54355=>1000,54356=>1000,54357=>1000,54358=>1000,54359=>1000,54360=>1000,54361=>1000,54362=>1000,54363=>1000,54364=>1000,54365=>1000,54366=>1000,54367=>1000,54368=>1000,54369=>1000,54370=>1000,54371=>1000,54372=>1000,54373=>1000,54374=>1000,54375=>1000,54376=>1000,54377=>1000,54378=>1000,54379=>1000,54380=>1000,54381=>1000,54382=>1000,54383=>1000,54384=>1000,54385=>1000,54386=>1000,54387=>1000,54388=>1000,54389=>1000,54390=>1000,54391=>1000,54392=>1000,54393=>1000,54394=>1000,54395=>1000,54396=>1000,54397=>1000,54398=>1000,54399=>1000,54400=>1000,54401=>1000,54402=>1000,54403=>1000,54404=>1000,54405=>1000,54406=>1000,54407=>1000,54408=>1000,54409=>1000,54410=>1000,54411=>1000,54412=>1000,54413=>1000,54414=>1000,54415=>1000,54416=>1000,54417=>1000,54418=>1000,54419=>1000,54420=>1000,54421=>1000,54422=>1000,54423=>1000,54424=>1000,54425=>1000,54426=>1000,54427=>1000,54428=>1000,54429=>1000,54430=>1000,54431=>1000,54432=>1000,54433=>1000,54434=>1000,54435=>1000,54436=>1000,54437=>1000,54438=>1000,54439=>1000,54440=>1000,54441=>1000,54442=>1000,54443=>1000,54444=>1000,54445=>1000,54446=>1000,54447=>1000,54448=>1000,54449=>1000,54450=>1000,54451=>1000,54452=>1000,54453=>1000,54454=>1000,54455=>1000,54456=>1000,54457=>1000,54458=>1000,54459=>1000,54460=>1000,54461=>1000,54462=>1000,54463=>1000,54464=>1000,54465=>1000,54466=>1000,54467=>1000,54468=>1000,54469=>1000,54470=>1000,54471=>1000,54472=>1000,54473=>1000,54474=>1000,54475=>1000,54476=>1000,54477=>1000,54478=>1000,54479=>1000,54480=>1000,54481=>1000,54482=>1000,54483=>1000,54484=>1000,54485=>1000,54486=>1000,54487=>1000,54488=>1000,54489=>1000,54490=>1000,54491=>1000,54492=>1000,54493=>1000,54494=>1000,54495=>1000,54496=>1000,54497=>1000,54498=>1000,54499=>1000,54500=>1000,54501=>1000,54502=>1000,54503=>1000,54504=>1000,54505=>1000,54506=>1000,54507=>1000,54508=>1000,54509=>1000,54510=>1000,54511=>1000,54512=>1000,54513=>1000,54514=>1000,54515=>1000,54516=>1000,54517=>1000,54518=>1000,54519=>1000,54520=>1000,54521=>1000,54522=>1000,54523=>1000,54524=>1000,54525=>1000,54526=>1000,54527=>1000,54528=>1000,54529=>1000,54530=>1000,54531=>1000,54532=>1000,54533=>1000,54534=>1000,54535=>1000,54536=>1000,54537=>1000,54538=>1000,54539=>1000,54540=>1000,54541=>1000,54542=>1000,54543=>1000,54544=>1000,54545=>1000,54546=>1000,54547=>1000,54548=>1000,54549=>1000,54550=>1000,54551=>1000,54552=>1000,54553=>1000,54554=>1000,54555=>1000,54556=>1000,54557=>1000,54558=>1000,54559=>1000,54560=>1000,54561=>1000,54562=>1000,54563=>1000,54564=>1000,54565=>1000,54566=>1000,54567=>1000,54568=>1000,54569=>1000,54570=>1000,54571=>1000,54572=>1000,54573=>1000,54574=>1000,54575=>1000,54576=>1000,54577=>1000,54578=>1000,54579=>1000,54580=>1000,54581=>1000,54582=>1000,54583=>1000,54584=>1000,54585=>1000,54586=>1000,54587=>1000,54588=>1000,54589=>1000,54590=>1000,54591=>1000,54592=>1000,54593=>1000,54594=>1000,54595=>1000,54596=>1000,54597=>1000,54598=>1000,54599=>1000,54600=>1000,54601=>1000,54602=>1000,54603=>1000,54604=>1000,54605=>1000,54606=>1000,54607=>1000,54608=>1000,54609=>1000,54610=>1000,54611=>1000,54612=>1000,54613=>1000,54614=>1000,54615=>1000,54616=>1000,54617=>1000,54618=>1000,54619=>1000,54620=>1000,54621=>1000,54622=>1000,54623=>1000,54624=>1000,54625=>1000,54626=>1000,54627=>1000,54628=>1000,54629=>1000,54630=>1000,54631=>1000,54632=>1000,54633=>1000,54634=>1000,54635=>1000,54636=>1000,54637=>1000,54638=>1000,54639=>1000,54640=>1000,54641=>1000,54642=>1000,54643=>1000,54644=>1000,54645=>1000,54646=>1000,54647=>1000,54648=>1000,54649=>1000,54650=>1000,54651=>1000,54652=>1000,54653=>1000,54654=>1000,54655=>1000,54656=>1000,54657=>1000,54658=>1000,54659=>1000,54660=>1000,54661=>1000,54662=>1000,54663=>1000,54664=>1000,54665=>1000,54666=>1000,54667=>1000,54668=>1000,54669=>1000,54670=>1000,54671=>1000,54672=>1000,54673=>1000,54674=>1000,54675=>1000,54676=>1000,54677=>1000,54678=>1000,54679=>1000,54680=>1000,54681=>1000,54682=>1000,54683=>1000,54684=>1000,54685=>1000,54686=>1000,54687=>1000,54688=>1000,54689=>1000,54690=>1000,54691=>1000,54692=>1000,54693=>1000,54694=>1000,54695=>1000,54696=>1000,54697=>1000,54698=>1000,54699=>1000,54700=>1000,54701=>1000,54702=>1000,54703=>1000,54704=>1000,54705=>1000,54706=>1000,54707=>1000,54708=>1000,54709=>1000,54710=>1000,54711=>1000,54712=>1000,54713=>1000,54714=>1000,54715=>1000,54716=>1000,54717=>1000,54718=>1000,54719=>1000,54720=>1000,54721=>1000,54722=>1000,54723=>1000,54724=>1000,54725=>1000,54726=>1000,54727=>1000,54728=>1000,54729=>1000,54730=>1000,54731=>1000,54732=>1000,54733=>1000,54734=>1000,54735=>1000,54736=>1000,54737=>1000,54738=>1000,54739=>1000,54740=>1000,54741=>1000,54742=>1000,54743=>1000,54744=>1000,54745=>1000,54746=>1000,54747=>1000,54748=>1000,54749=>1000,54750=>1000,54751=>1000,54752=>1000,54753=>1000,54754=>1000,54755=>1000,54756=>1000,54757=>1000,54758=>1000,54759=>1000,54760=>1000,54761=>1000,54762=>1000,54763=>1000,54764=>1000,54765=>1000,54766=>1000,54767=>1000,54768=>1000,54769=>1000,54770=>1000,54771=>1000,54772=>1000,54773=>1000,54774=>1000,54775=>1000,54776=>1000,54777=>1000,54778=>1000,54779=>1000,54780=>1000,54781=>1000,54782=>1000,54783=>1000,54784=>1000,54785=>1000,54786=>1000,54787=>1000,54788=>1000,54789=>1000,54790=>1000,54791=>1000,54792=>1000,54793=>1000,54794=>1000,54795=>1000,54796=>1000,54797=>1000,54798=>1000,54799=>1000,54800=>1000,54801=>1000,54802=>1000,54803=>1000,54804=>1000,54805=>1000,54806=>1000,54807=>1000,54808=>1000,54809=>1000,54810=>1000,54811=>1000,54812=>1000,54813=>1000,54814=>1000,54815=>1000,54816=>1000,54817=>1000,54818=>1000,54819=>1000,54820=>1000,54821=>1000,54822=>1000,54823=>1000,54824=>1000,54825=>1000,54826=>1000,54827=>1000,54828=>1000,54829=>1000,54830=>1000,54831=>1000,54832=>1000,54833=>1000,54834=>1000,54835=>1000,54836=>1000,54837=>1000,54838=>1000,54839=>1000,54840=>1000,54841=>1000,54842=>1000,54843=>1000,54844=>1000,54845=>1000,54846=>1000,54847=>1000,54848=>1000,54849=>1000,54850=>1000,54851=>1000,54852=>1000,54853=>1000,54854=>1000,54855=>1000,54856=>1000,54857=>1000,54858=>1000,54859=>1000,54860=>1000,54861=>1000,54862=>1000,54863=>1000,54864=>1000,54865=>1000,54866=>1000,54867=>1000,54868=>1000,54869=>1000,54870=>1000,54871=>1000,54872=>1000,54873=>1000,54874=>1000,54875=>1000,54876=>1000,54877=>1000,54878=>1000,54879=>1000,54880=>1000,54881=>1000,54882=>1000,54883=>1000,54884=>1000,54885=>1000,54886=>1000,54887=>1000,54888=>1000,54889=>1000,54890=>1000,54891=>1000,54892=>1000,54893=>1000,54894=>1000,54895=>1000,54896=>1000,54897=>1000,54898=>1000,54899=>1000,54900=>1000,54901=>1000,54902=>1000,54903=>1000,54904=>1000,54905=>1000,54906=>1000,54907=>1000,54908=>1000,54909=>1000,54910=>1000,54911=>1000,54912=>1000,54913=>1000,54914=>1000,54915=>1000,54916=>1000,54917=>1000,54918=>1000,54919=>1000,54920=>1000,54921=>1000,54922=>1000,54923=>1000,54924=>1000,54925=>1000,54926=>1000,54927=>1000,54928=>1000,54929=>1000,54930=>1000,54931=>1000,54932=>1000,54933=>1000,54934=>1000,54935=>1000,54936=>1000,54937=>1000,54938=>1000,54939=>1000,54940=>1000,54941=>1000,54942=>1000,54943=>1000,54944=>1000,54945=>1000,54946=>1000,54947=>1000,54948=>1000,54949=>1000,54950=>1000,54951=>1000,54952=>1000,54953=>1000,54954=>1000,54955=>1000,54956=>1000,54957=>1000,54958=>1000,54959=>1000,54960=>1000,54961=>1000,54962=>1000,54963=>1000,54964=>1000,54965=>1000,54966=>1000,54967=>1000,54968=>1000,54969=>1000,54970=>1000,54971=>1000,54972=>1000,54973=>1000,54974=>1000,54975=>1000,54976=>1000,54977=>1000,54978=>1000,54979=>1000,54980=>1000,54981=>1000,54982=>1000,54983=>1000,54984=>1000,54985=>1000,54986=>1000,54987=>1000,54988=>1000,54989=>1000,54990=>1000,54991=>1000,54992=>1000,54993=>1000,54994=>1000,54995=>1000,54996=>1000,54997=>1000,54998=>1000,54999=>1000,55000=>1000,55001=>1000,55002=>1000,55003=>1000,55004=>1000,55005=>1000,55006=>1000,55007=>1000,55008=>1000,55009=>1000,55010=>1000,55011=>1000,55012=>1000,55013=>1000,55014=>1000,55015=>1000,55016=>1000,55017=>1000,55018=>1000,55019=>1000,55020=>1000,55021=>1000,55022=>1000,55023=>1000,55024=>1000,55025=>1000,55026=>1000,55027=>1000,55028=>1000,55029=>1000,55030=>1000,55031=>1000,55032=>1000,55033=>1000,55034=>1000,55035=>1000,55036=>1000,55037=>1000,55038=>1000,55039=>1000,55040=>1000,55041=>1000,55042=>1000,55043=>1000,55044=>1000,55045=>1000,55046=>1000,55047=>1000,55048=>1000,55049=>1000,55050=>1000,55051=>1000,55052=>1000,55053=>1000,55054=>1000,55055=>1000,55056=>1000,55057=>1000,55058=>1000,55059=>1000,55060=>1000,55061=>1000,55062=>1000,55063=>1000,55064=>1000,55065=>1000,55066=>1000,55067=>1000,55068=>1000,55069=>1000,55070=>1000,55071=>1000,55072=>1000,55073=>1000,55074=>1000,55075=>1000,55076=>1000,55077=>1000,55078=>1000,55079=>1000,55080=>1000,55081=>1000,55082=>1000,55083=>1000,55084=>1000,55085=>1000,55086=>1000,55087=>1000,55088=>1000,55089=>1000,55090=>1000,55091=>1000,55092=>1000,55093=>1000,55094=>1000,55095=>1000,55096=>1000,55097=>1000,55098=>1000,55099=>1000,55100=>1000,55101=>1000,55102=>1000,55103=>1000,55104=>1000,55105=>1000,55106=>1000,55107=>1000,55108=>1000,55109=>1000,55110=>1000,55111=>1000,55112=>1000,55113=>1000,55114=>1000,55115=>1000,55116=>1000,55117=>1000,55118=>1000,55119=>1000,55120=>1000,55121=>1000,55122=>1000,55123=>1000,55124=>1000,55125=>1000,55126=>1000,55127=>1000,55128=>1000,55129=>1000,55130=>1000,55131=>1000,55132=>1000,55133=>1000,55134=>1000,55135=>1000,55136=>1000,55137=>1000,55138=>1000,55139=>1000,55140=>1000,55141=>1000,55142=>1000,55143=>1000,55144=>1000,55145=>1000,55146=>1000,55147=>1000,55148=>1000,55149=>1000,55150=>1000,55151=>1000,55152=>1000,55153=>1000,55154=>1000,55155=>1000,55156=>1000,55157=>1000,55158=>1000,55159=>1000,55160=>1000,55161=>1000,55162=>1000,55163=>1000,55164=>1000,55165=>1000,55166=>1000,55167=>1000,55168=>1000,55169=>1000,55170=>1000,55171=>1000,55172=>1000,55173=>1000,55174=>1000,55175=>1000,55176=>1000,55177=>1000,55178=>1000,55179=>1000,55180=>1000,55181=>1000,55182=>1000,55183=>1000,55184=>1000,55185=>1000,55186=>1000,55187=>1000,55188=>1000,55189=>1000,55190=>1000,55191=>1000,55192=>1000,55193=>1000,55194=>1000,55195=>1000,55196=>1000,55197=>1000,55198=>1000,55199=>1000,55200=>1000,55201=>1000,55202=>1000,55203=>1000,59393=>316,59394=>507,59395=>507,59396=>484,59397=>484,59416=>0,59492=>480,59495=>480,59536=>458,59557=>466,59558=>480,59559=>903,61441=>500,61442=>500,63232=>541,63233=>0,63234=>0,63235=>0,63236=>0,63237=>0,63238=>0,63239=>0,63240=>0,63241=>0,63242=>0,63243=>0,63244=>0,63245=>0,63246=>0,63247=>849,63248=>0,63249=>0,63250=>0,63251=>0,63252=>0,63253=>0,63254=>0,63255=>0,63256=>0,63257=>0,63258=>0,63260=>333,63261=>287,63744=>1000,63745=>1000,63746=>1000,63747=>1000,63748=>1000,63749=>1000,63750=>1000,63751=>1000,63752=>1000,63753=>1000,63754=>1000,63755=>1000,63756=>1000,63757=>1000,63758=>1000,63759=>1000,63760=>1000,63761=>1000,63762=>1000,63763=>1000,63764=>1000,63765=>1000,63766=>1000,63767=>1000,63768=>1000,63769=>1000,63770=>1000,63771=>1000,63772=>1000,63773=>1000,63774=>1000,63775=>1000,63776=>1000,63777=>1000,63778=>1000,63779=>1000,63780=>1000,63781=>1000,63782=>1000,63783=>1000,63784=>1000,63785=>1000,63786=>1000,63787=>1000,63788=>1000,63789=>1000,63790=>1000,63791=>1000,63792=>1000,63793=>1000,63794=>1000,63795=>1000,63796=>1000,63797=>1000,63798=>1000,63799=>1000,63800=>1000,63801=>1000,63802=>1000,63803=>1000,63804=>1000,63805=>1000,63806=>1000,63807=>1000,63808=>1000,63809=>1000,63810=>1000,63811=>1000,63812=>1000,63813=>1000,63814=>1000,63815=>1000,63816=>1000,63817=>1000,63818=>1000,63819=>1000,63820=>1000,63821=>1000,63822=>1000,63823=>1000,63824=>1000,63825=>1000,63826=>1000,63827=>1000,63828=>1000,63829=>1000,63830=>1000,63831=>1000,63832=>1000,63833=>1000,63834=>1000,63835=>1000,63836=>1000,63837=>1000,63838=>1000,63839=>1000,63840=>1000,63841=>1000,63842=>1000,63843=>1000,63844=>1000,63845=>1000,63846=>1000,63847=>1000,63848=>1000,63849=>1000,63850=>1000,63851=>1000,63852=>1000,63853=>1000,63854=>1000,63855=>1000,63856=>1000,63857=>1000,63858=>1000,63859=>1000,63860=>1000,63861=>1000,63862=>1000,63863=>1000,63864=>1000,63865=>1000,63866=>1000,63867=>1000,63868=>1000,63869=>1000,63870=>1000,63871=>1000,63872=>1000,63873=>1000,63874=>1000,63875=>1000,63876=>1000,63877=>1000,63878=>1000,63879=>1000,63880=>1000,63881=>1000,63882=>1000,63883=>1000,63884=>1000,63885=>1000,63886=>1000,63887=>1000,63888=>1000,63889=>1000,63890=>1000,63891=>1000,63892=>1000,63893=>1000,63894=>1000,63895=>1000,63896=>1000,63897=>1000,63898=>1000,63899=>1000,63900=>1000,63901=>1000,63902=>1000,63903=>1000,63904=>1000,63905=>1000,63906=>1000,63907=>1000,63908=>1000,63909=>1000,63910=>1000,63911=>1000,63912=>1000,63913=>1000,63914=>1000,63915=>1000,63916=>1000,63917=>1000,63918=>1000,63919=>1000,63920=>1000,63921=>1000,63922=>1000,63923=>1000,63924=>1000,63925=>1000,63926=>1000,63927=>1000,63928=>1000,63929=>1000,63930=>1000,63931=>1000,63932=>1000,63933=>1000,63934=>1000,63935=>1000,63936=>1000,63937=>1000,63938=>1000,63939=>1000,63940=>1000,63941=>1000,63942=>1000,63943=>1000,63944=>1000,63945=>1000,63946=>1000,63947=>1000,63948=>1000,63949=>1000,63950=>1000,63951=>1000,63952=>1000,63953=>1000,63954=>1000,63955=>1000,63956=>1000,63957=>1000,63958=>1000,63959=>1000,63960=>1000,63961=>1000,63962=>1000,63963=>1000,63964=>1000,63965=>1000,63966=>1000,63967=>1000,63968=>1000,63969=>1000,63970=>1000,63971=>1000,63972=>1000,63973=>1000,63974=>1000,63975=>1000,63976=>1000,63977=>1000,63978=>1000,63979=>1000,63980=>1000,63981=>1000,63982=>1000,63983=>1000,63984=>1000,63985=>1000,63986=>1000,63987=>1000,63988=>1000,63989=>1000,63990=>1000,63991=>1000,63992=>1000,63993=>1000,63994=>1000,63995=>1000,63996=>1000,63997=>1000,63998=>1000,63999=>1000,64000=>1000,64001=>1000,64002=>1000,64003=>1000,64004=>1000,64005=>1000,64006=>1000,64007=>1000,64008=>1000,64009=>1000,64010=>1000,64011=>1000,64012=>1000,64013=>1000,64014=>1000,64015=>1000,64016=>1000,64017=>1000,64018=>1000,64019=>1000,64020=>1000,64021=>1000,64022=>1000,64023=>1000,64024=>1000,64025=>1000,64026=>1000,64027=>1000,64028=>1000,64029=>1000,64030=>1000,64031=>1000,64032=>1000,64033=>1000,64034=>1000,64035=>1000,64036=>1000,64037=>1000,64038=>1000,64039=>1000,64040=>1000,64041=>1000,64042=>1000,64043=>1000,64044=>1000,64045=>1000,64256=>537,64257=>500,64258=>500,64259=>778,64260=>750,64261=>532,64262=>758,64275=>784,64276=>784,64277=>784,64278=>784,64279=>893,64286=>333,64287=>590,64288=>550,64289=>709,64290=>649,64291=>730,64292=>656,64293=>605,64294=>730,64295=>633,64296=>794,64297=>584,64298=>700,64299=>700,64300=>700,64301=>700,64302=>577,64303=>577,64304=>577,64305=>563,64306=>411,64307=>512,64308=>594,64309=>316,64310=>326,64312=>594,64313=>316,64314=>507,64315=>527,64316=>484,64318=>594,64320=>338,64321=>604,64323=>567,64324=>569,64326=>514,64327=>583,64328=>507,64329=>700,64330=>633,64331=>316,64332=>563,64333=>527,64334=>569,64335=>577,64336=>243,64337=>273,64338=>771,64339=>788,64340=>276,64341=>243,64342=>771,64343=>788,64344=>276,64345=>243,64346=>771,64347=>788,64348=>276,64349=>243,64350=>771,64351=>788,64352=>276,64353=>243,64354=>771,64355=>788,64356=>276,64357=>243,64358=>771,64359=>788,64360=>276,64361=>243,64362=>957,64363=>903,64364=>466,64365=>480,64366=>957,64367=>903,64368=>466,64369=>480,64370=>544,64371=>658,64372=>646,64373=>637,64374=>544,64375=>658,64376=>646,64377=>637,64378=>544,64379=>658,64380=>646,64381=>637,64382=>544,64383=>658,64384=>646,64385=>637,64386=>430,64387=>458,64388=>430,64389=>458,64390=>430,64391=>458,64392=>430,64393=>458,64394=>421,64395=>436,64396=>421,64397=>436,64398=>828,64399=>942,64400=>432,64401=>549,64402=>828,64403=>942,64404=>432,64405=>549,64406=>828,64407=>942,64408=>432,64409=>549,64410=>828,64411=>942,64412=>432,64413=>549,64414=>692,64415=>723,64416=>692,64417=>723,64418=>276,64419=>243,64420=>514,64421=>477,64422=>514,64423=>509,64424=>273,64425=>427,64426=>706,64427=>706,64428=>686,64429=>686,64430=>550,64431=>461,64432=>550,64433=>461,64467=>757,64468=>733,64469=>432,64470=>549,64471=>470,64472=>466,64473=>470,64474=>466,64475=>470,64476=>466,64477=>470,64478=>470,64479=>466,64480=>470,64481=>466,64482=>470,64483=>466,64484=>781,64485=>933,64486=>276,64487=>243,64488=>276,64489=>243,64490=>547,64491=>517,64492=>783,64493=>753,64494=>740,64495=>710,64496=>740,64497=>710,64498=>740,64499=>710,64500=>740,64501=>710,64502=>1207,64503=>1177,64504=>517,64505=>1067,64506=>1037,64507=>517,64508=>731,64509=>793,64510=>276,64511=>243,64512=>932,64513=>932,64514=>914,64515=>1067,64516=>1077,64517=>935,64518=>935,64519=>935,64520=>917,64521=>1070,64522=>1080,64523=>932,64524=>932,64525=>932,64526=>914,64527=>1067,64528=>1077,64529=>932,64530=>914,64531=>1067,64532=>1077,64533=>1305,64534=>1287,64535=>1305,64536=>1287,64537=>1305,64538=>1305,64539=>1287,64540=>1429,64541=>1429,64542=>1429,64543=>1411,64544=>1476,64545=>1458,64546=>1476,64547=>1476,64548=>1476,64549=>1458,64550=>1392,64551=>1374,64552=>1374,64553=>1245,64554=>1227,64555=>1245,64556=>1227,64557=>1125,64558=>1125,64559=>1125,64560=>1107,64561=>1260,64562=>1270,64563=>1125,64564=>1107,64565=>1260,64566=>1270,64567=>706,64568=>1091,64569=>1091,64570=>1091,64571=>1106,64572=>1073,64573=>1226,64574=>1236,64575=>932,64576=>932,64577=>932,64578=>914,64579=>1067,64580=>1077,64581=>1140,64582=>1140,64583=>1140,64584=>1122,64585=>1275,64586=>1285,64587=>932,64588=>932,64589=>932,64590=>914,64591=>1067,64592=>1077,64593=>1345,64594=>1327,64595=>1480,64596=>1490,64597=>932,64598=>932,64599=>932,64600=>914,64601=>1067,64602=>1077,64603=>430,64604=>421,64605=>731,64606=>296,64607=>300,64608=>300,64609=>300,64610=>300,64611=>300,64612=>680,64613=>680,64614=>884,64615=>967,64616=>1037,64617=>1047,64618=>680,64619=>680,64620=>884,64621=>967,64622=>1037,64623=>1047,64624=>680,64625=>680,64626=>884,64627=>967,64628=>1037,64629=>1047,64630=>680,64631=>680,64632=>884,64633=>967,64634=>1037,64635=>1047,64636=>1274,64637=>1284,64638=>1274,64639=>1284,64640=>821,64641=>1221,64642=>1188,64643=>1341,64644=>1351,64645=>884,64646=>1037,64647=>1047,64648=>806,64649=>1173,64650=>680,64651=>680,64652=>884,64653=>967,64654=>1037,64655=>1047,64656=>793,64657=>680,64658=>680,64659=>884,64660=>967,64661=>1037,64662=>1047,64663=>911,64664=>911,64665=>911,64666=>806,64667=>679,64668=>911,64669=>911,64670=>911,64671=>806,64672=>679,64673=>911,64674=>911,64675=>911,64676=>806,64677=>679,64678=>806,64679=>1284,64680=>1179,64681=>1284,64682=>1179,64683=>1284,64684=>1179,64685=>1408,64686=>1408,64687=>1408,64688=>1303,64689=>1455,64690=>1455,64691=>1350,64692=>1455,64693=>1455,64694=>1455,64695=>1350,64696=>1371,64697=>1266,64698=>1224,64699=>1119,64700=>1224,64701=>1119,64702=>1104,64703=>1104,64704=>1104,64705=>999,64706=>1104,64707=>999,64708=>1070,64709=>1070,64710=>1070,64711=>676,64712=>965,64713=>911,64714=>911,64715=>911,64716=>806,64717=>679,64718=>1119,64719=>1119,64720=>1119,64721=>1014,64722=>911,64723=>911,64724=>911,64725=>806,64726=>679,64727=>1324,64728=>1219,64729=>686,64730=>911,64731=>911,64732=>911,64733=>806,64734=>679,64735=>776,64736=>649,64737=>776,64738=>649,64739=>776,64740=>649,64741=>776,64742=>649,64743=>1303,64744=>1176,64745=>1303,64746=>1176,64747=>793,64748=>1082,64749=>776,64750=>776,64751=>649,64752=>776,64753=>649,64754=>306,64755=>302,64756=>298,64757=>1527,64758=>1537,64759=>1380,64760=>1390,64761=>1380,64762=>1390,64763=>1564,64764=>1574,64765=>1564,64766=>1574,64767=>1440,64768=>1450,64769=>1440,64770=>1450,64771=>1440,64772=>1450,64773=>1611,64774=>1621,64775=>1611,64776=>1621,64777=>1429,64778=>1429,64779=>1429,64780=>1411,64781=>1207,64782=>1207,64783=>1254,64784=>1254,64785=>1527,64786=>1537,64787=>1348,64788=>1358,64789=>1348,64790=>1358,64791=>1564,64792=>1574,64793=>1564,64794=>1574,64795=>1431,64796=>1441,64797=>1431,64798=>1441,64799=>1431,64800=>1441,64801=>1611,64802=>1621,64803=>1611,64804=>1621,64805=>1429,64806=>1429,64807=>1429,64808=>1411,64809=>1207,64810=>1207,64811=>1254,64812=>1254,64813=>1408,64814=>1408,64815=>1408,64816=>1303,64817=>1176,64818=>1176,64819=>1266,64820=>1408,64821=>1408,64822=>1408,64823=>1408,64824=>1408,64825=>1408,64826=>1266,64827=>1266,64828=>273,64829=>243,64830=>600,64831=>600,64848=>1444,64849=>1541,64850=>1549,64851=>1444,64852=>1444,64853=>1444,64854=>1444,64855=>1444,64856=>1830,64857=>1817,64858=>1975,64859=>1964,64860=>2046,64861=>2046,64862=>2202,64863=>1962,64864=>1941,64865=>1941,64866=>1944,64867=>1836,64868=>2114,64869=>2093,64870=>1991,64871=>2049,64872=>1941,64873=>2212,64874=>1962,64875=>1941,64876=>1944,64877=>1836,64878=>2249,64879=>2096,64880=>1988,64881=>1925,64882=>1904,64883=>1799,64884=>2070,64885=>1833,64886=>1729,64887=>1652,64888=>1881,64889=>1729,64890=>1892,64891=>1881,64892=>1759,64893=>1637,64894=>1670,64895=>1654,64896=>1522,64897=>1686,64898=>1675,64899=>1549,64900=>1541,64901=>1522,64902=>1444,64903=>1436,64904=>1444,64905=>1757,64906=>1652,64907=>1975,64908=>1757,64909=>1652,64910=>1757,64911=>1652,64914=>1757,64915=>1857,64916=>1752,64917=>1444,64918=>1675,64919=>1522,64920=>1444,64921=>1675,64922=>1581,64923=>1570,64924=>1417,64925=>1362,64926=>1686,64927=>1686,64928=>1675,64929=>1686,64930=>1675,64931=>1581,64932=>1570,64933=>1975,64934=>2069,64935=>1964,64936=>2202,64937=>2259,64938=>2212,64939=>2259,64940=>1686,64941=>1581,64942=>1686,64943=>1686,64944=>1581,64945=>1870,64946=>1817,64947=>1686,64948=>1637,64949=>1444,64950=>1892,64951=>1886,64952=>1549,64953=>1975,64954=>1444,64955=>1723,64956=>1522,64957=>1541,64958=>2080,64959=>2080,64960=>1975,64961=>1817,64962=>1686,64963=>1499,64964=>1757,64965=>1883,64966=>2212,64967=>1686,65008=>1523,65009=>1172,65010=>1159,65011=>1356,65012=>2111,65013=>2258,65014=>2130,65015=>1552,65016=>2046,65017=>1856,65018=>1930,65019=>1070,65056=>450,65057=>450,65058=>450,65059=>450,65072=>1000,65073=>1000,65074=>1000,65075=>1000,65076=>1000,65077=>1000,65078=>1000,65079=>1000,65080=>1000,65081=>1000,65082=>1000,65083=>1000,65084=>1000,65085=>1000,65086=>1000,65087=>1000,65088=>1000,65089=>1000,65090=>1000,65091=>1000,65092=>1000,65097=>1000,65098=>1000,65099=>1000,65100=>1000,65101=>1000,65102=>1000,65103=>1000,65104=>167,65105=>250,65106=>167,65108=>167,65109=>167,65110=>334,65111=>167,65112=>600,65113=>200,65114=>200,65115=>200,65116=>200,65117=>200,65118=>200,65119=>334,65120=>400,65121=>233,65122=>350,65123=>200,65124=>350,65125=>350,65126=>350,65128=>167,65129=>334,65130=>533,65131=>609,65136=>300,65137=>298,65138=>296,65140=>298,65142=>300,65143=>298,65144=>300,65145=>302,65146=>298,65147=>296,65148=>306,65149=>306,65150=>154,65151=>154,65152=>529,65153=>243,65154=>273,65155=>243,65156=>273,65157=>470,65158=>466,65159=>243,65160=>273,65161=>731,65162=>793,65163=>276,65164=>243,65165=>243,65166=>273,65167=>771,65168=>788,65169=>276,65170=>243,65171=>514,65172=>477,65173=>771,65174=>788,65175=>276,65176=>243,65177=>771,65178=>788,65179=>276,65180=>243,65181=>544,65182=>658,65183=>646,65184=>637,65185=>544,65186=>658,65187=>646,65188=>637,65189=>544,65190=>658,65191=>646,65192=>637,65193=>430,65194=>458,65195=>430,65196=>458,65197=>421,65198=>436,65199=>421,65200=>436,65201=>1194,65202=>1194,65203=>770,65204=>770,65205=>1194,65206=>1194,65207=>770,65208=>770,65209=>1291,65210=>1291,65211=>817,65212=>817,65213=>1291,65214=>1291,65215=>817,65216=>817,65217=>843,65218=>843,65219=>733,65220=>733,65221=>843,65222=>843,65223=>733,65224=>733,65225=>594,65226=>556,65227=>586,65228=>554,65229=>594,65230=>556,65231=>586,65232=>554,65233=>957,65234=>903,65235=>466,65236=>480,65237=>800,65238=>823,65239=>466,65240=>480,65241=>757,65242=>733,65243=>432,65244=>549,65245=>662,65246=>673,65247=>273,65248=>243,65249=>589,65250=>640,65251=>481,65252=>532,65253=>692,65254=>723,65255=>276,65256=>243,65257=>514,65258=>477,65259=>686,65260=>405,65261=>470,65262=>466,65263=>731,65264=>793,65265=>731,65266=>803,65267=>276,65268=>243,65269=>551,65270=>603,65271=>551,65272=>603,65273=>551,65274=>603,65275=>551,65276=>603,65281=>1000,65282=>1000,65283=>1000,65284=>1000,65285=>1000,65286=>1000,65287=>1000,65288=>1000,65289=>1000,65290=>1000,65291=>1000,65292=>1000,65293=>1000,65294=>1000,65295=>1000,65296=>1000,65297=>1000,65298=>1000,65299=>1000,65300=>1000,65301=>1000,65302=>1000,65303=>1000,65304=>1000,65305=>1000,65306=>1000,65307=>1000,65308=>1000,65309=>1000,65310=>1000,65311=>1000,65312=>1000,65313=>1000,65314=>1000,65315=>1000,65316=>1000,65317=>1000,65318=>1000,65319=>1000,65320=>1000,65321=>1000,65322=>1000,65323=>1000,65324=>1000,65325=>1000,65326=>1000,65327=>1000,65328=>1000,65329=>1000,65330=>1000,65331=>1000,65332=>1000,65333=>1000,65334=>1000,65335=>1000,65336=>1000,65337=>1000,65338=>1000,65339=>1000,65340=>1000,65341=>1000,65342=>1000,65343=>1000,65344=>1000,65345=>1000,65346=>1000,65347=>1000,65348=>1000,65349=>1000,65350=>1000,65351=>1000,65352=>1000,65353=>1000,65354=>1000,65355=>1000,65356=>1000,65357=>1000,65358=>1000,65359=>1000,65360=>1000,65361=>1000,65362=>1000,65363=>1000,65364=>1000,65365=>1000,65366=>1000,65367=>1000,65368=>1000,65369=>1000,65370=>1000,65371=>1000,65372=>1000,65373=>1000,65374=>1000,65377=>500,65378=>500,65379=>500,65380=>500,65381=>500,65382=>500,65383=>500,65384=>500,65385=>500,65386=>500,65387=>500,65388=>500,65389=>500,65390=>500,65391=>500,65392=>500,65393=>500,65394=>500,65395=>500,65396=>500,65397=>500,65398=>500,65399=>500,65400=>500,65401=>500,65402=>500,65403=>500,65404=>500,65405=>500,65406=>500,65407=>500,65408=>500,65409=>500,65410=>500,65411=>500,65412=>500,65413=>500,65414=>500,65415=>500,65416=>500,65417=>500,65418=>500,65419=>500,65420=>500,65421=>500,65422=>500,65423=>500,65424=>500,65425=>500,65426=>500,65427=>500,65428=>500,65429=>500,65430=>500,65431=>500,65432=>500,65433=>500,65434=>500,65435=>500,65436=>500,65437=>500,65438=>500,65439=>500,65440=>500,65441=>500,65442=>500,65443=>500,65444=>500,65445=>500,65446=>500,65447=>500,65448=>500,65449=>500,65450=>500,65451=>500,65452=>500,65453=>500,65454=>500,65455=>500,65456=>500,65457=>500,65458=>500,65459=>500,65460=>500,65461=>500,65462=>500,65463=>500,65464=>500,65465=>500,65466=>500,65467=>500,65468=>500,65469=>500,65470=>500,65474=>500,65475=>500,65476=>500,65477=>500,65478=>500,65479=>500,65482=>500,65483=>500,65484=>500,65485=>500,65486=>500,65487=>500,65490=>500,65491=>500,65492=>500,65493=>500,65494=>500,65495=>500,65498=>500,65499=>500,65500=>500,65504=>1000,65505=>1000,65506=>1000,65507=>1000,65508=>1000,65509=>1000,65510=>1000,65512=>500,65513=>500,65514=>500,65515=>500,65516=>500,65517=>500,65518=>500,65532=>1000,65533=>1000,65535=>1000); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/courier.php b/vendor/tecnickcom/tcpdf/fonts/courier.php new file mode 100644 index 0000000..e935b67 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/courier.php @@ -0,0 +1,12 @@ +33,'FontBBox'=>'[-23 -250 715 805]','ItalicAngle'=>0,'Ascent'=>805,'Descent'=>-250,'Leading'=>0,'CapHeight'=>562,'XHeight'=>426,'StemV'=>51,'StemH'=>51,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/courierb.php b/vendor/tecnickcom/tcpdf/fonts/courierb.php new file mode 100644 index 0000000..acb01b0 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/courierb.php @@ -0,0 +1,12 @@ +33,'FontBBox'=>'[-113 -250 749 801]','ItalicAngle'=>0,'Ascent'=>801,'Descent'=>-250,'Leading'=>0,'CapHeight'=>562,'XHeight'=>439,'StemV'=>106,'StemH'=>84,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/courierbi.php b/vendor/tecnickcom/tcpdf/fonts/courierbi.php new file mode 100644 index 0000000..631c623 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/courierbi.php @@ -0,0 +1,12 @@ +97,'FontBBox'=>'[-57 -250 869 801]','ItalicAngle'=>-12,'Ascent'=>801,'Descent'=>-250,'Leading'=>0,'CapHeight'=>562,'XHeight'=>439,'StemV'=>106,'StemH'=>84,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/courieri.php b/vendor/tecnickcom/tcpdf/fonts/courieri.php new file mode 100644 index 0000000..5ae725d --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/courieri.php @@ -0,0 +1,12 @@ +97,'FontBBox'=>'[-27 -250 849 805]','ItalicAngle'=>-12,'Ascent'=>805,'Descent'=>-250,'Leading'=>0,'CapHeight'=>562,'XHeight'=>426,'StemV'=>51,'StemH'=>51,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/AUTHORS b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/AUTHORS new file mode 100644 index 0000000..48073da --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/AUTHORS @@ -0,0 +1,53 @@ +abysta at yandex.ru +Adrian Schroeter +Aleksey Chalabyan +Andrey Valentinovich Panov +Ben Laenen +Besarion Gugushvili +Bhikkhu Pesala +Clayborne Arevalo +Dafydd Harries +Danilo Segan +Davide Viti +David Jez +David Lawrence Ramsey +Denis Jacquerye +Dwayne Bailey +Eugeniy Meshcheryakov +Gee Fung Sit +Heikki Lindroos +James Cloos +James Crippen +John Karp +Keenan Pepper +Lars Naesbye Christensen +Lior Halphon +MaEr +Mashrab Kuvatov +Max Berger +Mederic Boquien +Michael Everson +MihailJP +Misu Moldovan +Nguyen Thai Ngoc Duy +Nicolas Mailhot +Norayr Chilingarian +Ognyan Kulev +Ondrej Koala Vacha +Peter Cernak +Remy Oudompheng +Roozbeh Pournader +Rouben Hakobian +Sahak Petrosyan +Sander Vesik +Stepan Roh +Stephen Hartke +Steve Tinney +Tavmjong Bah +Thomas Henlich +Tim May +Valentin Stoykov +Vasek Stodulka +Wesley Transue + +$Id: AUTHORS 2461 2011-02-18 16:38:20Z ben_laenen $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/BUGS b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/BUGS new file mode 100644 index 0000000..49b36de --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/BUGS @@ -0,0 +1,3 @@ +See http://dejavu.sourceforge.net/wiki/index.php/Bugs + +$Id: BUGS 80 2004-11-13 13:12:02Z src $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/LICENSE b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/LICENSE new file mode 100644 index 0000000..254e2cc --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/LICENSE @@ -0,0 +1,99 @@ +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. +Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) + +Bitstream Vera Fonts Copyright +------------------------------ + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is +a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute the +Font Software, including without limitation the rights to use, copy, merge, +publish, distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to the +following conditions: + +The above copyright and trademark notices and this permission notice shall +be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional glyphs or characters may be added to the Fonts, only if the fonts +are renamed to names not containing either the words "Bitstream" or the word +"Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream +Vera" names. + +The Font Software may be sold as part of a larger software package but no +copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING +ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE +FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font Software +without prior written authorization from the Gnome Foundation or Bitstream +Inc., respectively. For further information, contact: fonts at gnome dot +org. + +Arev Fonts Copyright +------------------------------ + +Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and +associated documentation files (the "Font Software"), to reproduce +and distribute the modifications to the Bitstream Vera Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to +the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Tavmjong Bah" or the word "Arev". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Tavmjong Bah Arev" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the name of Tavmjong Bah shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Font Software without prior written authorization +from Tavmjong Bah. For further information, contact: tavmjong @ free +. fr. + +$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/NEWS b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/NEWS new file mode 100644 index 0000000..87e3d5e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/NEWS @@ -0,0 +1,1315 @@ +Changes from 2.32 to 2.33 + +* added Old Italic block to Sans (by MaEr) +* added U+051E, U+051F to Sans (by MaEr) +* added U+01BA, U+0372-U+0373, U+0376-U+0377, U+03CF, U+1D00-U+1D01, + U+1D03-U+1D07, U+1D0A-U+1D13, U+1D15, U+1D18-U+1D1C, U+1D20-U+1D2B, + U+1D2F, U+1D3D, U+1D5C-U+1D61, U+1D66-U+1D6B, U+1DB8, U+1E9C-U+1E9D, + U+1EFA-U+1EFB, U+2C60-U+2C61, U+2C63, U+A726-U+A73C, U+A73E-U+A73F, + U+A746-U+A747, U+A74A-U+A74B, U+A74E+U+A74F, U+A768-U+A769, U+A77B-U+A77C, + U+A780-U+A787, U+A790-U+A791, U+A7FA-U+A7FF to Serif (by Gee Fung Sit 薛至峰) +* added alternate forms to U+014A and U+01B7 in Serif (by Gee Fung Sit 薛至峰) +* typographical improvements to U+0166-U+0167, U+0197, U+01B5-U+01B6, U+01BB, + U+0222-U+0223, U+023D, U+0250-U+0252, U+026E, U+0274, U+028F, U+029F, + U+02A3-U+02A5, U+02AB, U+03FE-U+03FF, U+1D02, U+1D14, U+1D1D-U+1D1F, U+1D3B, + U+1D43-U+1D46, U+1D59, U+1D9B, U+2C71, U+2C73 in Serif (by Gee Fung Sit 薛至峰) +* fixed bugs #31762 and #34700 plus other small fixes (wrong direction, + duplicate points, etc.) for Sans and Serif (by Gee Fung Sit 薛至峰) +* added U+204B to Mono (by Gee Fung Sit 薛至峰) +* added U+26E2 to Sans (by Gee Fung Sit 薛至峰) +* added Playing Cards block (U+1F0A0-U+1F0DF) to Sans (by Gee Fung Sit 薛至峰) +* emoticons in Sans: replace U+2639-U+263B with better versions, add + U+1F601-U+1F610, U+1F612-U+1F614, U+1F616, U+1F618, U+1F61A, U+1F61C-U+1F61E, + U+1F620-U+1F624, U+1F625, U+1F628-U+1F62B, U+1F62D, U+1F630-U+1F633, + U+1F635-U+1F640 (by Ben Laenen and Denis Jacquerye) +* added U+A78E, U+A790-U+A791 to Sans and Mono (by Denis Jacquerye) +* added U+A7FA to Sans (by Denis Jacquerye) +* subscripts: added U+2095-U+209C to Sans, Serif and Mono, adjusted + U+1D49-U+1D4A in Sans and Mono (by Denis Jacquerye) +* added U+0243 to Mono (by Denis Jacquerye) +* adjusted U+0307 to match dot of i, replaced dotaccent U+02D9 with U+0307 in +most dependencies in Sans (by Denis Jacquerye) +* adjusted anchors of f and added them to long s in Sans (by Denis Jacquerye) +* added anchors to precomposed dependencies of D and d (by Denis Jacquerye) +* added debug glyphs U+F002 and U+F003 which will show current point size (by + Ben Laenen) +* use correct version for Serbian italic be (by Eugeniy Meshcheryakov) +* added pictograms U+1F42D-U+1F42E, U+1F431, U+1F435 (by Denis Jacquerye) +* improved Hebrew in Sans (by Lior Halphon) +* improved Armenian in Sans, and added Armenian in Serif and Mono (by Rouben + Hakobian (Tarumian), Aleksey Chalabyan and Norayr Chilingarian) +* remove "locl" feature for Romanian for S/T/s/t with cedilla/comma accent (by + Ben Laenen) +* replace wrong "dflt" script tag in Mono with "DFLT" (by Ben Laenen) + +Changes from 2.31 to 2.32 + +* added to Sans: Latin small letter p with stroke (U+1D7D), Latin capital + letter p with stroke through descender (U+A750), Latin small letter p with + stroke through descender (U+A751), Latin capital letter thorn with stroke + (U+A764), Latin small letter thorn with stroke (U+A765), Latin capital letter + thorn with stroke through descender (U+A766), Latin small letter thorn with + stroke through descender (U+A767), Latin capital letter q with stroke through + descender (U+A756), Latin small letter q with stroke through descender + (U+A757), Latin capital letter p with flourish (U+A752), Latin small letter p + with flourish (U+A753) (by Ben Laenen) +* add new Indian rupee symbol (U+20B9) to Sans, Serif and Mono (although + standardization in Unicode not complete yet, UTC did assign this code point) + (by Ben Laenen) +* Sans: adjusted U+0E3F, U+20AB, U+20AD-U+20AE, U+20B1, U+20B5, U+20B8 to have + them take up the same width as digits (by Gee Fung Sit 薛至峰) +* added U+23E8 to Sans (by Thomas Henlich) +* fixed numerous bugs (#22579, #28189, #28977, N'Ko in Windows, fixed U+FB4F, + anchors for U+0332-U+0333, made extensions in Misc. Technical connect, and + other small fixes) (by Gee Fung Sit 薛至峰) +* added looptail g as stylistic variant to Serif (by Gee Fung Sit 薛至峰) +* added the remaining precomposed characters in Latin Extended Additional in + Serif (by Gee Fung Sit 薛至峰) +* added Georgian Mkhedruli (U+10D0-U+10FC) to Sans ExtraLight (by Besarion + Gugushvili) +* fix spacing in hinting of U+042E (Ю) in Mono (by Ben Laenen) +* replaced U+2650 and minor changes to U+2640-U+2642, U+2699, U+26A2-U+26A5, + U+26B2-U+26B5, U+26B8 in Sans (by Gee Fung Sit 薛至峰) +* added U+1E9C-U+1E9D, U+1EFA-U+1EFB, U+2028-U+2029, U+20B8, U+2150-U+2152, + U+2189, U+26C0-U+26C3, U+A722-U+A725, U+1F030-U+1F093 to Sans (by Gee Fung + Sit 薛至峰) +* added U+1E9C-U+1E9E, U+1EFA-U+1EFB, U+2028-U+2029, U+20B8, U+2181-U+2182, + U+2185 U+A722-U+A725, to Sans ExtraLight (by Gee Fung Sit 薛至峰) +* added U+20B8, U+22A2-U+22A5, U+A722-U+A725 to Mono (by Gee Fung Sit 薛至峰) +* added U+02CD, U+01BF, U+01F7, U+0222-U+0223, U+0243-U+0244, U+0246-U+024F, + U+2150-U+2152, U+2189, U+239B-U+23AD and U+A73D to Serif (by Gee Fung Sit + 薛至峰) + +Changes from 2.30 to 2.31 + +* fixed bug where Serif Condensed Italic wouldn't get proper subfamily tags (by + Ben Laenen) +* added math operators U+2234-U+2237 to Mono (by Ben Laenen) +* removed buggy instructions of U+032D (by Eugeniy Meshcheryakov) +* added U+2C70, U+2C7E, U+2C7F to Sans and Sans Mono (by Denis Jacquerye) +* added U+2C7D to Sans Mono (by Denis Jacquerye) +* added U+2C6D, U+2C70-2C73, U+2C7E-2C7F to Serif (by Denis Jacquerye) +* added extremas to alpha U+03B1 in Serif-Italic (by Denis Jacquerye) +* added U+4A4, U+4A5 to Mono (by Andrey V. Panov) +* added Arabic letters U+0657, U+0670, U+0688-U+0690, U+0693-U+0694, + U+0696-U+0697, U+0699-U+06A0, U+06A2-U+06A3, U+06A5, U+06A7-U+06A8, + U+06AA-U+06AE, U+06B0-U+06B4, U+06B6-U+06B9, U+06BB-U+06BE and their + contextual forms to Sans (by MihailJP) +* added U+A78D LATIN CAPITAL LETTER TURNED H for coming Unicode 6.0 (by Denis + Jacquerye) + +Changes from 2.29 to 2.30 + +* added U+0462-U+0463 to Mono (by Denis Jacquerye) +* corrected U+1E53 in Serif (by Gee Fung Sit) +* added U+1E4C-U+1E4D to Mono and Serif (by Gee Fung Sit) +* added U+1E78-U+1E79 to Mono (by Gee Fung Sit) +* fixed missing diacritics in Latin Extended Additional in Sans ExtraLight + (moved stacked diacritics out of PUA in the process) (by Gee Fung Sit) +* fixed anchors on U+1E78 in Serif (by Gee Fung Sit) +* added U+1DC4-U+1DC9 to Serif (by Denis Jacquerye) +* renamed above-mark to above-mark in Serif-Italic (by Denis Jacquerye) +* added U+1DC4-U+1DC9 to context class for dotless substitution (by Denis + Jacquerye) +* changed Doubleacute to Doublegrave in Sans ExtraLight (by Gee Fung Sit) +* removed redundant reference in U+01FB in Sans Oblique (by Gee Fung Sit) +* added U+A726-U+A727 to Mono (Denis Jacquerye) +* changed U+04BE and U+04BF according to recommedations of Sasha Ankwab in Sans + (by Andrey V. Panov) +* remove "Symbol Charset" from set of codepages in Sans (by Eugeniy + Meshcheryakov) + +Changes from 2.28 to 2.29 + +* modified U+10FB in Sans to be a mirror image of U+2056, since U+10FB is not + Georgian-specific (by Roozbeh Pournader) +* added U+2B1F, U+2B24, U+2B53, U+2B54 in Sans (by Roozbeh Pournader) +* fixed TUR opentype language tag to TRK in Serif (bug 19825) (by Ben Laenen) +* early implementation of Abkhaz letter U+0524-U+0525 in Sans + (by Michael Everson and abysta) +* flipped U+1D538 in Sans (by Gee Fung Sit) +* added U+26B3-U+26B8, U+1D7D8-U+1D7E1 in Sans (by Gee Fung Sit) +* corrected U+1D7A9 in Sans Bold Oblique (by Gee Fung Sit) +* Fixed U+0649 to be dual-joining in Sans Mono (by Roozbeh Pournader) +* Remove unnecessary 'isol' feature from Sans Mono (by Roozbeh Pournader) +* Remove 'cmap' mappings for U+066E, U+066F, U+067C, U+067D, U+0681, U+0682, + U+0685, U+0692, U+06A1, U+06B5, U+06BA, U+06C6, U+06CE, and U+06D5 + in Sans Mono (bug 20323) (by Roozbeh Pournader) +* add half brackets (U+2E22 - U+2E25, by Steve Tinney) + +Changes from 2.27 to 2.28 + +* added U+A789, U+A78A in Sans and Sans Mono (by Denis Jacquerye) +* modified U+02D6, U+02D7, U+02EE in Sans and Sans Mono (by Denis Jacquerye) +* added U+1E9E (German capital ß) to Sans and Serif (by Denis Jacquerye) +* adjusted width of U+01B7-U+01B9 in Serif Italic (by Denis Jacquerye) +* modified U+021C, U+021D in Sans (by Denis Jacquerye) +* added U+021C, U+021D in Mono (by Denis Jacquerye) +* added U+F428 (Georgian Nuskhuri "f") in private use area (by Besarion + Gugushvili) +* updated Georgian mkhedruli (U+10D0-U+10FA) with new version (by Besarion + Gugushvili) +* updated Georgian asomtavruli (U+10A0-U+10C5) with new version (by Besarion + Gugushvili) +* added Georgian nuskhuri (U+2D00-U+2D25) (by Besarion Gugushvili) +* added Georgian mtavruli in private use area (U+F400-U+F426) (by Besarion + Gugushvili) +* added mark anchors above to Cyrillic U+0430-U+0438, U+043A-U+044F, + U+0454-U+0455 in Mono (by Ben Laenen) +* modified/moved up U+0318-U+0319, U+031C-U+031F, U+0329-U+032A, U+032C-U+032D, + U+0339-U+033B, U+0348 and U+0353 in Sans to prevent cut-off (by Gee Fung Sit) +* added U+035A to Sans (by Gee Fung Sit) +* updated fontconfig files (by Nicolas Mailhot) +* added U+2032-2037 to Mono (by Denis Jacquerye) +* added Ogham to Sans ExtraLight (by Gee Fung Sit) +* added U+2C6F, U+2C79, U+2C7C-2C7D to Mono (by Gee Fung Sit) +* added U+210F to Serif and Sans ExtraLight (by Gee Fung Sit) +* changed U+210F to a more common glyph in Sans and Mono (by Gee Fung Sit) + +Changes from 2.26 to 2.27 + +* added some of Michael Everson's new Cyrillic glyphs to Sans (by Wesley + Transue) +* removed blank glyph at U+05EF from Sans Bold Oblique (by Gee Fung Sit) +* small adjustments to existing tone bars in Sans and Mono (by Gee Fung Sit) +* added U+0372-U+0373, U+0376-U+0377, U+03CF, U+A668-U+A66E, U+A708-U+A711, + U+A71B-U+A71F to Sans (by Gee Fung Sit) +* copied U+02E5-U+02E9 over from Sans to fix inconsistencies in Serif (by Gee + Fung Sit) +* added U+021C-U+021D, U+0370-U+0371, U+037B-U+037D, U+0470-U+0471, + U+0510-U+0515, U+051A-U+051D, U+1E9F, U+2C64, U+2C6E-U+2C6F, U+2C79, + U+2C7C-U+2C7D, U+A644-U+A647, U+A650-U+A651, U+A654-U+A657, U+A708-U+A716, + U+A71B-U+A71F to Serif (by Gee Fung Sit) +* added U+A708-U+A716, U+A71B-U+A71F to Mono (by Gee Fung Sit) +* added anchors to U+017F (ſ) and fixed U+1E9B (ẛ) in Serif (by Gee Fung Sit) +* made U+0325 smaller in Sans Bold and Serif to match Sans Book (by Gee Fung + Sit) +* fixes to U+02F3 (moved up), U+228F-U+2294 (more square-like) and + U+22CE-U+22CF (stroke width) in Sans (by Gee Fung Sit) +* replaced U+2202 ∂ (Sans and Mono) and U+221D ∝, U+221E ∞ (Sans) with glyphs + from Arev (with small changes) (by Gee Fung Sit) +* added U+22B0-U+22B1, U+22C7, U+22D0-U+22D5 from Arev to Sans to complete the + block (by Gee Fung Sit) +* added U+0514-U+0515 to Sans ExtraLight (by Gee Fung Sit) +* skewed U+A78C in all Oblique/Italic fonts (by Gee Fung Sit) +* moved U+2215 to U+2044 in Sans and Serif and replaced U+2215 with reference + to U+002F in all fonts (by Gee Fung Sit) +* added U+2C6E to Mono (by Denis Jacquerye) +* added U+A782 and U+A783 in Sans (by Wesley Transue) +* added U+0244, U+024C-024D, U+2C64 in Sans Mono (by Denis Jacquerye) +* modified U+01AE in Sans Mono (by Denis Jacquerye) +* added U+2C7A to all fonts (by Gee Fung Sit) +* italicized/small changes to U+2C76 in Serif (Bold) Italic (by Gee Fung Sit) +* improved outlines of U+2C68, U+2C6A, U+2C6C in Serif (Bold) Italic (by Gee + Fung Sit) +* rounded U+2C77 at the bottom in Serif (by Gee Fung Sit) +* added joining behavior for tone letters (U+02E5-U+02E9) in Sans (bug #15669) + (by Gee Fung Sit) +* fixed outline of y.alt in Sans Regular (by Denis Jacquerye) +* changed references of U+1D5A8, U+1D5C5, U+1D5DC, U+1D5F9, U+1D610, U+1D62D, + U+1D644 and U+1D661 to stylistic alternates to have a better distinction (by + Gee Fung Sit) +* hinted I.alt in Sans Regular (by Gee Fung Sit) +* added U+0487, completing Cyrillic block (by Gee Fung Sit) +* extended the bar of U+0463 to the right and moved the anchor (by Gee Fung + Sit) +* added anchors to glyphs in Cyrillic block (by Gee Fung Sit) +* added (preliminary) hints to tone letter forms (U+02E5.5, U+02E9.1, stem) in + Sans Book (by Gee Fung Sit) + +Changes from 2.25 to 2.26 + +- added glyphs for Cyrillic-B to Sans (by Wesley Transue) +- added U+0370-U+0371 to Sans (by Wesley Transue) +- added U+019C, U+01A2-U+01A3, U+01A6, U+01E4-U+01E5, U+024C-U+024D, U+0285, + U+0290, U+02A0, U+0370-U+0371, U+03F1, U+03FC to Sans ExtraLight (by Wesley + Transue) +- added U+20A0-U+20A5, U+20A7-U+20B3, U+2105, U+210D, U+210F, U+2115, U+2117, + U+2119-U+211A, U+211D, U+2124, U+212E, U+2200-U+2204 to Mono (by Heikki + Lindroos) +- added U+01BA and U+01BF to Mono (by Heikki Lindroos) +- merged OpenType "aalt" feature in Latin in Sans (by Denis Jacquerye) +- added alternative shape for y in Sans (by Denis Jacquerye) +- added saltillo (U+A78B-U+A78C) to all faces (by James Cloos) +- changed U+047C-U+047D to references instead of outlines in Sans (by Wesley + Transue) +- added Latin letter tresillo U+A72A-U+A72B to Sans (by Wesley Transue) +- added U+A734-U+A737 to Sans (by Wesley Transue) +- added U+2053 to Serif and fixed it bug:9425 in Sans (by Gee Fung Sit) +- removed problematic hints for U+0423 bug:10025 (by Gee Fung Sit) +- added U+27C5-U+27C6 bug:10255 to all faces (by Gee Fung Sit) +- fixed width of U+2016 in Sans Oblique (by Gee Fung Sit) +- added U+2016, U+2032-U+2038, U+2042, U+2045-U+2046, U+204B-U+204F, + U+2051-U+2052, U+2057 to Serif (by Gee Fung Sit) +- made U+2140 bigger to match other n-ary operators (by Gee Fung Sit) +- added U+0606-U+0607, U+0609-U+060A to Sans (by Gee Fung Sit) +- added U+221B-U+221C to Mono (by Gee Fung Sit) +- small adjustments to U+221B-U+221C in Sans and Serif (by Gee Fung Sit) +- update U+04B4-U+04B5 in Serif (by Andrey V. Panov) +- increased max-storage value from maxp table to 153 (by Andrey V. Panov) +- added U+0472-U+0473, U+0510-U+0511, U+051A-U+051D, U+0606-U+0607, + U+0609-U+060A, U+1E26-U+1E27, U+1E54-U+1E55, U+1E7C-U+1E7D, U+1E8C-U+1E8D, + U+1E90-U+1E91, U+1E97-U+1E99, U+1E9F, U+1EAC-U+1EAD, U+1EB6-U+1EB7, + U+1EC6-U+1EC7, U+1ED8-U+1EDD, U+1EE0-U+1EE3, U+1EE8-U+1EEB, U+1EEE-U+1EF1 to + Mono (by Gee Fung Sit) +- added locl rules for S/T cedilla for Romanian and Moldavian so they get + rendered as S/T with comma accent (see Redhat bug #455981) (by Ben Laenen) +- removed ligature rule from Armenian U+0587 bug:16113 (by Gee Fung Sit) + +Changes from 2.24 to 2.25 + +- moved/added U+2E18 (by Gee Fung Sit) +- added empty glyph for U+2064 in Sans and Serif (by Gee Fung Sit) +- added U+22CE-U+22CF to Sans (by Gee Fung Sit) +- Sans Oblique and Bold Oblique, Serif: reverted digits hinting instructions back to before revision 1590, which fixed mistaken debian bug #471024. This fixes Debian bug #411308. The original bug was in freetype not in the fonts (by Denis Jacquerye) +- added U+A726-U+A729, U+A730-U+A733, U+A738-U+A73F, U+A746-U+A74B, U+A74E-U+A74F, U+A780-U+A781, U+A7FB-U+A7FF to Sans (by Gee Fung Sit) +- added Macedonian italic glyph shape for U+0453 in Serif (by Ben Laenen) +- changed descenders in U+0446, U+0449, U+0497, U+04A3, U+04AD (by Andrey V. Panov) +- updated main SFD files to SplineFontDB 3.0 (Denis Jacquerye and Gee Fung Sit) +- moved U+0561 2 up since it wasn't aligned with the baseline well (by Ben Laenen) +- added U+2E2E to Sans (by Gee Fung Sit) +- replaced U+2699 with simpler version in Sans (by Gee Fung Sit) +- added a lot of hinting instructions to Latin Extended B, Greek and Coptic glyphs Sans Book (by Wesley Transue) +- differentiated U+2219 from U+22C5 and adjusted affected references in Sans and Mono (by Gee Fung Sit) +- made Hebrew narrower in Sans Bold and Sans Bold Oblique (by Denis Jacquerye) +- added Kurdish and Chuvash letters from Unicode 5.1 Cyrillic Extended block (by Wesley Transue) +- added U+1E9F, U+A644-U+A647, U+A64C-U+A64D, U+A650-U+A651, U+A654-U+A655, U+A712U+A716 to Sans (by Gee Fung Sit) +- added several glyphs to Sans ExtraLight (by Gee Fung Sit) +- added hinting instructions to U+046A-U+046B, U+0508-U+0509, U+050B, U+0512-U+0513 in Sans Book (by Wesley Transue) +- corrected width of U+027E in Sans Book (by Gee Fung Sit) +- added U+2C79, U+2C7B-U+2C7D to Sans (by Gee Fung Sit) +- added a bunch of glyphs+small corrections to Sans Light (by Gee Fung Sit) +- added U+0496, U+0497, U+04B0, U+04B1 (by Andrey V. Panov) +- updated U+0493, U+049B, U+04B3, U+04B7, U+04F7 (by Andrey V. Panov) +- further improvements in extended Cyrillic (by Andrey V. Panov) + +Changes from 2.23 to 2.24 + +- instructions for U+05C0 ׀, U+05C3 ׃, U+05F3 ׳, and U+05F4 ״ in DejaVu + Sans. (by Wesley Transue) +- instructions for U+2116 in Sans (by Andrey V. Panov) +- Unicode 5.1 update: moved U+F208 to U+2C6D, U+F25F to U+2C71, added + U+2C6E-U+2C6F, U+2C72-U+2C73, updated outline of U+2C71 in Sans. (by + Denis Jacquerye) +- updated and instructed U+0401 in Sans (by Andrey V. Panov) +- fixed the bug in Sans faces where U+02EC ˬ faced the wrong direction. + Also, added a few more glyph instructions. (by Wesley Transue) +- removed OS2Sub and OS2Strike that weren't intentional in Sans + ExtraLight. (by Denis Jacquerye) +- updated instructions for U+401, U+44F in Serif Book. (by Andrey V. + Panov) +- instructions for U+02C4 ˄, U+02C5 ˅, U+03D8 Ϙ, U+03D9 ϙ, U+0494 Ҕ, and + U+0495 ҕ in Sans Book. (by Wesley Transue) +- instructions for U+01A6 Ʀ, U+0238 ȸ, U+0239 ȹ, U+02EC ˬ, and U+05C6 ׆ + in Sans Book. (by Wesley Transue) +- DejaVuSans.sfd DejaVuSerif.sfd: updated instructions for U+447 and + U+451 using code generated with xgridfit (by Andrey V. Panov) +- instructions for a few glyphs in the Latin Extended-B Block, Greek + Block, Cyrillic Block, and N'Ko block. (by Wesley Transue) +- updated sfdnormalize.pl, and SFD files to new SFD format with empty + lines. (by Denis Jacquerye) + +Changes from 2.22 to 2.23 + +- fixed bug which made Condensed fonts appear instead of normal width ones +- added U+20DB, U+20DC, and U+20E1 to Sans (by Roozbeh Pournader) +- added hinting instructions to U+01A7, U+01AA-U+01AC, U+01AE-U+01AF, + U+01BC-U+01BD, U+01BF, U+01F7, U+0277, U+027F, U+0285-U+0286, U+0297, U+02AF, + U+02B4-U+02B5, U+02BD, U+030D, U+0311, U+0329, U+04A0-U+04A1 in Sans Book (by + Wesley Transue) +- modified hinting instructions of U+04A2 in Sans Book (by Wesley Transue) +- added hinting instructions to U+237D, U+2423 in Mono Book and Mono Bold (by + Wesley Transue) +- added mathematical alphanumeric symbols to all styles (by Max Berger) +- added Unicode 5.1 U+2E18 as U+2E18.u51 (not yet usable) to Sans (by Roozbeh + Pournader) +- dereferenced all glyphs with mixed references and outlines (by Denis + Jacquerye) +- removed non-zero width from U+0344 in Sans (by Denis Jacquerye) + +Changes from 2.21 to 2.22 + +- directory structure has changed, we now use the Makefile +- modified Armenian U+0565 in Sans (by Սահակ Պետրոսյան) +- added double struck letters and numbers U+2102, U+210D, U+2115, + U+2119-U+211A, U+211D, U+2124, U+213C-U+2140, U+2145-U+2149, U+1D538-U+1D539, + U+1D53B-U+1D53E, U+1D540-U+1D544, U+1D546, U+1D54A-U+1D550, U+1D552-U+1D56B, + U+1D7D8-U+1D7E1 to Serif (by Stephen Hartke) +- added letterlike symbols U+2103, U+2109, U+2127, U+214B, U+2141-U+2144 to + Serif (by Ben Laenen) +- fixed outline direction of U+2143 in Sans Bold/Bold Oblique (by Ben Laenen) +- added arrow set in Serif: arrows: U+2194-U+21FF; dingbats: U+27A1; + supplemental arrows A: U+27F0-U+27FF; supplemental arrows B: U+2900-U+2975, + U+297A; miscellaneous symbols and arrows: U+2B00-U+2B11 (by Ben Laenen) +- added U+0180, U+01DE, U+01E0-01E1, U+022A, U+022C, U+0230, U+1E08-U+1E09, + U+1E10-U+1E11, U+1EB0-U+1EB1 to Mono (by Denis Jacquerye) +- adjusted U+01D5, U+01D7, U+01D9, U+1DB in Mono (by Denis Jacquerye) +- added Ogham in Sans (by Wesley Transue) +- added Yijing Hexagram Symbols in Sans (by Wesley Transue) +- hinting instructions added to Cyrillic U+0460, U+04A6-U+04A7, U+04AC-U+04AD, + U+04C7-U+04C8, U+04F6-U+04F7, U+04FA-U+04FB, U+050C-U+050D in Sans Book (by + Wesley Transue) +- adjusted Cyrillic letters U+042A, U+044A, U+044C, U+0459-U+045B, U+0462, + U+048C-U+048D in Serif (by Andrey V. Panov) +- hinting instructions added to Lao U+0EB7 in Sans (by Wesley Transue) +- added Roman numerals and Claudian letter U+2160-U+2184 in Serif (by Ben + Laenen) +- added U+FFF9-U+FFFD to Sans, Serif and Mono (by Lars Næsbye Christensen) +- added mathematical symbols to Serif: U+2200, U+2203-U+2204, U+2213-U+2214, + U+2217-U+2218, U+2223-U+2226, U+2250-U+2255, U+2295-U+22AF, U+22C5 (by Ben + Laenen) +- modified bullet symbol U+2219 in Serif (by Ben Laenen) + +Changes from 2.20 to 2.21 + +- added U+FE20-U+FE23 (half diacritics) to Sans (by Denis Jacquerye) +- added anchor "half" to position right half of double marks, U+FE21 or U+FE23 + to Sans (by Denis Jacquerye) +- shifted U+0360 up to avoid collision with some outlines in Sans (by Denis + Jacquerye) +- added anchor above-mark anchor to U+035D, U+035E, U+0360, U+0361 in Sans (by + Denis Jacquerye) +- added instructions for ff, ffi, ffl ligatures in Serif Bold (by Eugeniy + Meshcheryakov) +- added instructions to some N'Ko glyphs (by Wesley Transue) +- added instructions to some Lao glyphs (by Wesley Transue) +- cleaning up 'liga' Standard Ligature in Latin, in Sans and Sans Mono (by + Denis Jacquerye) +- added U+046A, U+046B (big yus) in Serif (by Andrey V. Panov) +- added box drawing symbols to Sans and Serif (by Lars Næsbye Christensen) +- added Makefile to improve font and packages generating (by Nicolas Mailhot) + +Changes from 2.19 to 2.20 + +- removed TeX and TeXData tags from all sfd files (by Eugeniy Meshcheryakov) +- removed all 'frac' lookups (by Eugeniy Meshcheryakov) +- fixed duplicate glyph names (by Eugeniy Meshcheryakov) +- removed standard ligatures with U+00B7 in Mono (by Eugeniy Meshcheryakov) +- use reference to U+002D in U+00AD in Sans Oblique, and adjust instructions + (by Eugeniy Meshcheryakov) +- updated Cyrillic in Sans Extra Light (by Andrey V. Panov) +- added instructions to N'Ko U+07C1-U+07C6, U+07CA, U+07CE-U+07CF, U+07D1, + U+07D3-U+07D4, U+07D8, U+07DB and U+07EB in Sans (by Wesley Transue) +- added instructions to Lao U+0E8A, U+0E95, U+0E97, U+EA5, U+0EB4 and U+0EB5 + (by Wesley Transue) +- adjusted instructions for Hebrew glyphs (by Denis Jacquerye) +- added instructions for U+0265 in Sans Bold (by Denis Jacquerye) +- fix U+1D68 in Sans: it had the shape of delta, where it should be a rho (by + Ben Laenen) +- remove U+1D5C glyph in Sans Oblique (it was empty) (by Ben Laenen) +- fix instructions of U+01AD in Sans Bold (by Ben Laenen) +- fix instructions of U+042D in Serif (by Ben Laenen) +- remove buggy instructions of U+2328 in Serif (by Ben Laenen) +- corrected width of U+2C75-U+2C76 in Sans Bold and Serif Bold (by Gee Fung Sit) +- added U+2C75-U+2C77 to Mono (by Gee Fung Sit) + +Changes from 2.18 to 2.19 + +- fixed misplaced symbols (U+2325,2326) in Sans Oblique (by John Karp) +- added Mark to Base anchors: 'cedilla' for combining cedilla and + 'above-legacy' for stacking above precomposed glyphs (just a,e,i,o,u with + macron for now) in Sans (by Denis Jacquerye). +- added contextual substitution for Case and Dotless forms in all Sans variants + (by Denis Jacquerye). +- renamed 'ccmp' lookups for RTL and Basic (LGC, etc.) (by Denis Jacquerye) +- added anchor 'cedilla' for vowels in Sans. (by Denis Jacquerye) +- extended contextual dotless and case substitutions to handle both below and + above diacritics (by Denis Jacquerye) +- renamed Dotless and Case Form GSUB lookups in Sans with meaningful names (by + Denis Jacquerye) + +Changes from 2.17 to 2.18 + +- Re-encoded the source files for Full Unicode (by Ben Laenen) +- Re-enabled the "ff", "fl", "fi", "ffl", "ffi" ligatures by default in Serif + (by Ben Laenen) +- Disabled the "fi", "ffi" ligatures for languages with dotless i in Serif (by + Ben Laenen) +- added Tifinagh to Sans Book and Bold, U+2D30-U+2D65, U+2D6F, partially hinted + in Sans Book. (by Denis Jacquerye) +- added Tai Xuan Jing Symbols (U+1D300-1D356) to Sans (by Remy Oudompheng) +- added double-struck letters (U+1D538-U+1D56B minus reserved code points) to + Sans (by Gee Fung Sit) +- added U+22EE-U+22F1 to Sans (by Gee Fung Sit) +- added U+2C67-U+2C6C, U+2C75-U+2C77 to Serif (by Gee Fung Sit) +- italicized various glyphs in Latin Extended-B, IPA Extensions, Spacing + Modifier Letters, Phonetic Extension (Supplement) and Super- and Subscripts + in Serif Oblique fonts (by Gee Fung Sit) +- modified outlines, bearings of Hebrew U+05D6, U+05D8, U+05DB, U+05DE, U+05E0, + U+05E1, U+05E2, U+05EA in Sans Book and Oblique, adjusted hinting in Book + based on Yotam Benshalom's comments. (by Denis Jacquerye) +- added Braille Patterns (U+2800-U+28FF) to Serif fonts (by Gee Fung Sit) +- added N'Ko to Sans Book and Bold: U+07C0-U+07E7, U+07EB-U+07F5, U+07F8-U+07FA + (by Eugeniy Meshcheryakov) +- added U+0ED8 (Lao digit 8) to Sans (by Remy Oudompheng) +- added Lao diacritics U+0EB0-0EB9, U+0EBB-0EBC, U+0EC8-0ECD to Mono (by Remy + Oudompheng) +- renamed Serif [Bold] Oblique, make it Italic (by Eugeniy Meshcheryakov) +- added U+29FA-U+29FB to Sans and Sans Mono (by Gee Fung Sit) +- swapped glyphs for Eng U+014A from Sami Eng to African Eng, the latter being + more common (by Denis Jacquerye) +- swapped ae U+00E6 and ae.alt in Serif Italics fonts, thus fixing #8213 (by + Denis Jacquerye) +- minor improvements to Misc. Symbols in Sans (by Gee Fung Sit) +- minor improvements and additions to Sans ExtraLight (by Gee Fung Sit) +- improved instructions for various Cyrillic letters (by Eugeniy Meshcheryakov) +- fixed hinting of theta and chi in Sans Book (by Ben Laenen) +- added Georgian Mkhedruli to Sans, Serif and Mono, ASumtavruli to Sans and + Serif (by Besarion Gugushvili) + +Changes from 2.16 to 2.17 + +- Sans fonts: fix position for certain combinations of Arabic fatha, kasra, + shadda, damma, kasratan, dammatan, fathatan and hamza (by Ben Laenen) +- added 'ae.alt' to Serif Oblique fonts, with design matching shape of italic + 'a' instead of slanted 'a', see bug #8213 (by Denis Jacquerye) +- added super- and subscripts to Serif and Mono: U+1D2C-U+1D2E, U+1D30-U+1D3C, + U+1D3E-U+1D42, U+1D62-U+1D65, U+1D78, U+2071, U+207A-U+207E, U+208A-U+208E, + U+2090-U+2094 (by Gee Fung Sit) + +Changes from 2.15 to 2.16 + +- fixed hinting instructions for digits in DejaVu Sans Oblique, Bold Oblique, + and Serif Book to not change glyph width (by Eugeniy Meshcheryakov) +- added instructions for U+0404, U+0411, U+0413, U+0414, U+0417-U+041B, U+041F, + U+0423, U+0424, U+0426-U+0429, U+042C, U+042E, U+042F, U+0490 in Serif Bold + (by Eugeniy Meshcheryakov) +- added U+0220 and Eng.alt to Serif fonts (by Denis Jacquerye) +- added U+232C, U+2394, U+23E3 to Sans fonts (by John Karp) +- added U+230C-U+230F, U+231C-U+231F to Sans fonts, fixing bug:9547 + (by John Karp) +- adjusted dot below, dot above, dieresis above, dieresis below in Sans fonts + (by Denis Jacquerye) +- added U+2300, U+2301, U+2303, U+2304, U+2305, U+2307, U+2326, U+2327, U+232B, + arrow.base to Sans fonts (by John Karp) +- adjusted dot and dieresis below and above in Serif fonts (by Denis Jacquerye) +- added U+1E1C-U+1E1D to Serif fonts (by Denis Jacquerye) +- added U+22BE, U+22BF (by Wesley Transue) +- added U+2324; modified U+2325: more standard proportions, and matches U+2324 + and U+2387; added U+2387 : flipped U+2325 with standard arrowhead + (by John Karp) +- added Lao digits U+0ED0-0ED7, U+0ED9 (by Remy Oudompheng) +- added to Mono in Arabic block : U+060C, U+0615, U+061B, U+061F, + U+0621-U+063A, U+0640-0655, U+065A, U+0660-066F, U+0674, U+0679-0687, U+0691, + U+0692, U+0698, U+06A1, U+06A4, U+06A9, U+06AF, U+06B5, U+06BA, U+06BE, + U+06C6, U+06CC, U+06CE, U+06D5, U+06F0-06F9 (by Remy Oudompheng) +- added to Mono in Arabic Presentations Forms-A : U+FB52-FB81, U+FB8A-FB95, + U+FB9E, U+FB9F, U+FBAA-FBAD, U+FBE8, U+FBE9, U+FBFC-FBFF (by Remy Oudompheng) +- added to Mono in Arabic Presentations Forms-B : U+FE70-FE74, U+FE76-FEFC, + U+FEFF (by Remy Oudompheng) +- added U+05BA, U+05BE, U+05F3, U+05F4, U+FB1E, U+FB21-U+FB28, U+FB4F to Sans + (by Eugeniy Meshcheryakov) +- added U+2102 to Mono (by Eugeniy Meshcheryakov) +- added U+2983-U+2984 to Sans (by Gee Fung Sit) +- added U+2A2F to Sans, Serif and Mono (by Gee Fung Sit) +- added U+2373-2375, U+237A to Sans (by John Karp) +- converted kern pairs to kern classes with Tavmjong Bah's scripts + (by Denis Jacquerye) +- set ScriptLang of kerning classes to just latn because of Pango bug + (by Denis Jacquerye) +- added DNK to ScriptLang latn otherwise it is excluded, and SRB and MDK to + cyrl (by Denis Jacquerye) +- removed flag 0x80 in generate.pe, otherwise it generates kerning tables some + systems don't like; thus loosing Apple tables (by Denis Jacquerye) +- removed ligature for precomposed legacy characters of Sans Oblique fonts + (by Denis Jacquerye) +- added bearings to en dash U+2013, em dash U+2014 and figure dash U+2012 + by making dashes shorter, preserving character width (by Denis Jacquerye) +- reduced U+031C, U+0325 (ring below), U+0339 to be entirely visible; + added instructions in Sans Book; changed U+1e00-U+1e01 to use new ring below + (by Denis Jacquerye) +- adjusted circumflex below on U+1E12-U+1E13, U+1E18-U+1E19, U+1E3C-U+1E3D, + U+1E4A-U+1E4B, U+1E70-U+1E71, U+1E76-U+1E77 in Sans fonts (by Denis Jacquerye) +- Added U+0ED4, U+0ED5 to DejaVu Sans (by Remy Oudompheng) +- Lao-specific anchors (by Remy Oudompheng) +- added alternate I to match the small capital in Sans (by Gee Fung Sit) + +Changes from 2.14 to 2.15 + +- improved hinting in Sans Oblique to deal with some spacing and inconsistency + issues (by Ben Laenen) +- added anchors to Mono Book, and added GPOS rules for combining diacritics to + show up as zero width glyphs (by Ben Laenen) +- removed U+F21C (PUA), it was copy of U+2C64 from Latin Extended C (by Eugeniy + Meshcheryakov) +- added U+27E6-U+27E7 to Sans (by Gee Fung Sit) +- added U+1407, U+1409, U+140C-U+141B, U+141D-U+1425, U+1427-U+142E, + U+1435-U+1438, U+143A-U+1449, U+1452, U+1454, U+1457-U+1465, U+1467-U+146A, + U+1471, U+1474-U+1482, U+1484-U+1488, U+148F, U+1492, U+14A0, U+14A2, U+14A9, + U+14AC-U+14BA, U+14BC, U+14BD, U+14C6, U+14C9-U+14CF, U+14D1, U+14D2, U+14D9, + U+14DC-U+14E9, U+14EC, U+14F3, U+14F6-U+1504, U+1506, U+1507, U+1510-U+1525, + U+152C, U+152F-U+153D, U+1540, U+1541, U+154E, U+154F, U+1552, U+155B, U+155C, + U+1568, U+1569, U+1574-U+157B, U+157D, U+15A7-U+15AE, U+1646, U+1647 (by + Eugeniy Meshcheryakov) +- fixed several contours to not intersect, use horizontal or vertical tangents, + use integer coordinates, etc in Sans Book (by Denis Jacquerye) +- added U+0496-U+0497 in Serif (by Andrey V. Panov) + +Changes from 2.13 to 2.14 + +- added Philippine peso glyph U+20B1 (by Clayborne Arevalo) +- made U+2012 have the same width as digits, according to Unicode 5.0, + page 206 (by Roozbeh Pournader) +- made all of the "above" combining characters remove the dot of "i", + "j", etc (Soft_Dotted characters), according to Unicode 5.0, + page 228 (by Roozbeh Pournader) +- made U+012F, U+03F3, U+0456, U+0458, U+1E2D, and U+1ECB (all fonts + except Mono), U+0249, U+2148, and U+2149 (Sans and Sans Condensed), + U+0268 (Sans ExtraLight, Serif and Serif Condensed), and U+029D (Serif + and Serif Condensed) respect the Soft_Dotted property (by Roozbeh + Pournader) +- added U+223E, U+223F, U+2240, U+22C2, U+22C3 to Sans (by Remy Oudompheng) +- added U+203D to Serif (by Gee Fung Sit) +- added zero-width glyphs for U+2061-U+2063 to Sans and Serif (by Gee + Fung Sit) +- changed isolated forms of Arabic waw (U+0648, U+0624 and U+06C6) (bug #9432) + (by Ben Laenen) +- added Lao consonants U+0E81, U+0E82, U+0E84, U+0E87, U+0E88, U+0E8A, + U+0E8D, U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA, + U+0EAB, U+0EAD-0EAF to Sans Mono (by Remy Oudompheng) +- added U+0200-U+0217, U+0226-U+0229, U+02F3, U+1E00-U+1E07, + U+1E0A-U+1E0B, U+1E18-U+1E1F, U+1E22-U+1E23, U+1E28-U+1E2D, + U+1E3A-U+1E3B, U+1E40, U+1E48-U+1E49, U+1E56, U+1E58-U+1E59, + U+1E5E-U+1E5F, U+1E60, U+1E68-U+1E6B, U+1E6E-U+1E6F, U+1E72-U+1E77, + U+1E86-U+1E8B, U+1E92-U+1E96, U+1EA0-U+1EA1, U+1EF4-U+1EF5 to Mono + (by Ben Laenen) +- renamed uppercase variants of diacritics (macron, breve, double grave, + double acute, inverted breve, dot above) to "uni03XX.case" in Mono + (by Ben Laenen) +- moved uppercase variants of diacritics up in Mono so they properly + vertically align on capitals (by Ben Laenen) +- precomposed glyphs with macron, breve, double grave, double acute, + inverted breve, dot above, macron below, breve below, inverted breve + below, dot below, cedilla, caron below, circumflex below, diaeresis + below, tilde below now reference to combining diacritics instead of + space modifiers in Mono (by Ben Laenen) +- made ring below (U+0325), and half rings below (U+031C and U+0339) + smaller in Mono (by Ben Laenen) +- added U+205F to all fonts (by Roozbeh Pournader) +- added U+035E-U+035F to Sans (by Roozbeh Pournader) +- added empty glyphs for U+034F, U+202A-U+202E, U+2060, U+206A-206F, + U+FE00-U+FE0F to non-Mono fonts (by Roozbeh Pournader) +- added U+2101, U+2107-U+2108, U+210B, U+210C, U+2110, U+2112, U+211B, + U+211F, U+2123, U+2125, U+2128-U+2129, U+212C-U+212D, U+212F, + U+2130-U+2131, U+2133, U+2136-U+213A, U+2141-U+2144, U+2B00-U+2B11, + U+2B20-U+2B23 to Sans (by John Karp) +- reshaped omega (U+03C9) in Mono (by Ben Laenen) +- added U+2205, U+22C6, U+2300-U+2301, U+2303-U+2306, U+230C-U+230F, + U+2312-U+2315, U+231C-U+231F, U+2335, U+2337-U+233E, U+2341-U+2344, + U+2347-U+2348, U+234B-U+234D, U+2349-U+2350, U+2352-U+2354, + U+2357-U+2359, U+235A-U+235C, U+235E-U+2360, U+2363-U+2365, + U+2368-U+2369, U+236B-U+2370, U+2373-U+237A, U+2380-U+2383, + U+2388-U+238B, U+2395 in Mono (by Ben Laenen) + +Changes from 2.12 to 2.13 + +- adjusted U+0198B, U+01B3-U+01B4 in Sans, hinted U+01B4 in Sans Book + (by Denis Jacquerye) +- added U+27F0-U+27FF, U+2906-U+2907, U+290A-U+290B, U+2940-U+2941 to Sans + (by Denis Jacquerye) +- added U+01E6-U+01E9, U+01EE-U+01EF, U+01F4-U+01F5, U+01FC-U+01FF, + U+021E-U+021F, U+0245, U+02BD, U+02C9, U+1E9B, U+2045-U+2046, U+2213, U+22C5, + U+22EF to Sans Mono (by Roozbeh Pournader) +- added U+04FA-U+04FD to Sans (by Michael Everson) +- removed U+2329 and U+232A because of their CJK properties, added U+27E8 + and U+27E9 in their stead, fixing part of bug #9038 (by Roozbeh Pournader) +- corrected and improvised U+0466-U+0469, U+046E-U+0471, U+047C-U+047D, U+0482, + U+0484-U+0486, U+0492-U+0493, U+04B0-U+04B1, U+050C-U+050D, and U+204A + in Sans (by Michael Everson) +- added instructions for U+0402, U+0409, U+040A, U+040B, U+044D, U+040F, + U+0452, U+0459-U+045B, U+045F to Sans Book (by Eugeniy Meshcheryakov) +- made italic shape for U+431, U+432, U+437, U+43B, U+43C, U+43D, U+444, U+447, + U+44D, U+44F, U+459, U+45A in SerifOblique and SerifBoldOblique + (by Andrey V. Panov) +- modified U+024C to match glyph in Unicode chart, fixing bug #9039 + (by Denis Jacquerye) +- made some canonically equivalent characters share the same glyph: + U+02B9 = U+0374, U+0343 = U+0313, and U+0387 = U+00B7 also adjusting U+02BA + to look like double U+02B9, fixing parts of bug #9038 (by Roozbeh Pournader) +- changed shapes for U+0478 and U+0479 in Sans to those in the Unicode charts, + based on a recent decision by Unicode Technical Committee to only use + the digraph form (by Michael Everson) +- adjusted width of NBSP U+00A0 and NNBSP U+202F, fixing bug #8401 + (by Denis Jacquerye) +- fixed several contours to not intersect, use horizontal or vertical tangents, + use integer coordinates, etc (by Roozbeh Pournader and Denis Jacquerye) +- added U+1402, U+1430, U+144D, U+146C, U+148A, U+14A4, U+14C1, U+14D4, U+14EE, + U+1527, U+1545, U+157E, U+158E, U+15AF to Sans (by Eugeniy Meshcheryakov) +- enlarged width of U+459 and U+45A in Serif (by Andrey V. Panov) +- made traditional shape for U+452, U+45B (by Andrey V. Panov) +- added euro sign U+20AC to Sans ExtraLight, making fontconfig recognize + the font as supporting English (by Denis Jacquerye) + +Changes from 2.11 to 2.12 + +- added U+0180 to Serif (by Denis Jacquerye) +- improved and/or hinted Armenian letters U+0542, U+0546, U+0562, + U+0563, U+0564, U+0577, U+0582 in Sans (by Ben Laenen) +- added U+4FE-U+4FF, U+512-U+513, U+2114, U+214E, U+26B2 to Sans + (by Gee Fung Sit) +- adjusted U+0496-U+0497, U+049A-U+04A1 in Sans to match U+0416, + U+041A, U+0436 and U+043A (by Gee Fung Sit) +- Mathematical Operators in Sans: changed U+22C0-U+22C1 to match + other n-ary operators, adjusted U+2203-U+2204, changed U+2220 in + Sans to match the style of U+2221 (by Gee Fung Sit) +- added U+1401, U+1403-U+1406, U+140A, U+140B, U+1426, U+142F, + U+1431-U+1434, U+1438, U+1439, U+1449, U+144A, U+144C, + U+144E-U+1451, U+1455, U+1456, U+1466, U+146B, U+146D-U+1470, + U+1472, U+1473, U+1483, U+1489, U+148B-U+148E, U+1490, U+1491, + U+14A1, U+14A3, U+14A5-U+14A8, U+14AA, U+14AB, U+14BB, U+14C0, + U+14C2-U+14C5, U+14C7, U+14C8, U+14D0, U+14D3, U+14D5-U+14D8, + U+14DA, U+14DB, U+14EA, U+14ED, U+14EF-U+14F2, U+14F4, U+14F5, + U+1405, U+1526, U+1528-U+152B, U+152D, U+152E, U+153E, + U+1542-U+1544, U+1546-U+154D, U+1550, U+1553, U+1555-U+155A, + U+1567, U+156A, U+157C, U+157F-U+1585, U+158A-U+158D, + U+158F-U+1596, U+15A0-U+15A6, U+15DE, U+15E1, U+166E-U+1676 to + Sans (by Eugeniy Meshcheryakov) +- re-enabled Latin ligatures fi, ffi, fl, ffl and ff in Sans + (by Ben Laenen) +- made italic shape for U+436, U+44A, U+44B, U+44C, U+44E, U+45F, + U+463 in SerifOblique and SerifBoldOblique (by Andrey V. Panov) +- fixed sub- and superscript metrics in Condensed Sans (bug #8848) + (by Ben Laenen) +- added U+474, U+475 in Serif (by Andrey V. Panov) +- hinted Greek glyphs U+03B7, U+30B8, U+03B9, U+03C1, U+03C3, + U+03C6 in Mono Book (by Ben Laenen) + +Changes from 2.10 to 2.11 + +- added instructions for Hebrew glyphs (Sans Book, by Eugeniy + Meshcheryakov) +- changed U+01A6 (Latin Yr) after bug #8212, in Sans, Serif and + Sans Mono fonts (by Denis Jacquerye). +- removed instruction for U+2600-U+26A1 (by Mederic Boquien) +- added U+202F and set width of U+00A0 (nobreakingspace) to the + same as U+0020, space (by Denis Jacquerye). +- added and improved instructions for various Cyrillic letters + (by Eugeniy Meshcheryakov) +- Changed U+416, U+42F, U+427 (non-Bold), U+436, U+447 (non-Bold), + U+44F, U+437 (Bold), corrected U+40F, U+414, U+424, U+426, U+429, + U+434, U+438 (Bold), U+446, U+449, U+44D (non-Bold), U+45F in + Sans Mono (by Andrey V. Panov) +- made small corrections to Cyrillic, most appreciable to U+409, + U+413, U+41B, U+427 and U+433, U+434, U+43B, U+447, U+459 + (upright fonts) to Serif (by Andrey V. Panov) +- adjusted bearings of U+410, U+416, U+41A, U+42F, U+436, U+43A, + U+443, U+44F in Serif (by Andrey V. Panov) +- enlarged width of U+44A, U+44B, U+44C, U+463 in Serif + (by Andrey V. Panov) +- added ligature "iacute" as "afii10103" (U+456) "acutecomb" in + Serif (by Andrey V. Panov) +- made italic shape to U+446, U+448, U+449 in Serif (by Andrey V. + Panov) +- added "afii10831" (U+F6C7), "afii10832" (U+F6C8) in Serif (by + Andrey V. Panov) +- new minimum version of fontforge is 20061014 (by Ben Laenen) + +Changes from 2.9 to 2.10: + +- added U+0242, U+024A-U+024B, U+024E-U+024F, U+037C-U+037D, U+0E3F, + U+1D2C-U+1D2E, U+1D30-U+1D42, U+1D5D-U+1D6A, U+1D78, U+1DB8, + U+2090-U+2094, U+20D0-U+20D1, U+2C60-U+2C66, U+2C6B-U+2C6C, U+2C74 and + U+FB29 to Sans (by Gee Fung Sit) +- added Lao glyphs : U+0E81-0E82, U+E084, U+0E87-0E88, U+0E8A, U+0E8D, + U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA-0EAB, + U+0EAD-0EB9, U+0EBB-0EBD, U+0EC0-0EC4, U+0EC6, U+0EC8-0ECD, U+0EDC-0EDD + (by Remy Oudompheng) +- fixed U+0193 not showing in Windows (bug #7897) (by Ben Laenen) +- changes to U+222B-222D in Sans Mono (by Remy Oudompheng) +- ported the three remaining currency symbols from Arev (U+20B0, + U+20B2-U+20B3), and replaced one (U+20AF) in Sans (by Lars Naesbye + Christensen) +- corrected U+20A5 in Sans (by Gee Fung Sit) +- merged Double-Struck Letters from Arev: U+2102, U+210D, U+2115, + U+2119-U+211A, U+2124, U+213C-U+2140 (by Gee Fung Sit) +- added U+2308-U+230B and U+2329-U+232A to Sans Mono and Serif faces, + fixed incorrect direction of U+2329 in Sans faces, and improved + U+2308-U+230B in Sans faces per Ben Laenen's suggestions (by David + Lawrence Ramsey) +- added U+06D5 and final form of it (needed for Kurdish) (by Ben Laenen) +- added two special glyphs U+F000 and U+F001 in Sans Book that show the + current ppem size (horizontal and vertical) (by Ben Laenen) +- added U+2318 and U+2325 to Sans Mono faces, based on the Sans versions + (by David Lawrence Ramsey) +- added U+2B14-U+2B1A to all faces except Sans ExtraLight (by David + Lawrence Ramsey) +- respaced all Geometric Shapes characters in Serif faces to match those + in Sans faces again, respaced U+23CF in Sans, Sans ExtraLight, and + Serif faces to match U+25A0 (or Sans in Sans ExtraLight's case) again, + and respaced U+2B12-U+2B13 in Sans and Serif faces to match U+25A1 + again (by David Lawrence Ramsey) +- corrected width of Modifier Small Letters U+1D43-1D5B in Sans Oblique + and U+1D9B-U+1DBF in Sans Oblique and Sans Bold Oblique (by Gee Fung Sit) +- added a bunch of glyphs to Sans ExtraLight (see SVN for details) (by + Gee Fung Sit) +- adjusted Cyrillic descenders in Sans ExtraLight to sync with Sans (by + Gee Fung Sit) +- added U+0242, U+0245 to Serif (by Gee Fung Sit) +- replaced the SHPIX routines which gave them bad spacing at certain + sizes in FreeType for A, V, Z, v and z in Sans Bold (by Ben Laenen) + +Changes from 2.8 to 2.9: + +- DejaVuSansExtraLight.sfd: changed family name from "DejaVu Sans" to + "DejaVu Sans Light" (in case we add a Light weight variant), so legacy + apps that understand only 4 styles are happy. (by Denis Jacquerye) +- added Name ID 16, aka preferred family name, and Name ID 17, aka + preferred style name, so contemporary apps that understand more that 4 + styles can use big fonts families "DejaVu Sans" and "DejaVu Serif". For + those, Extralight and Condensed are just styles not different families. + (by Denis Jacquerye) +- added U+22B6-22BD, U+22C0-22C1, U+22D6-22D7 to Sans. (by Remy Oudompheng) +- added U+037B, U+2184, U+2C67-U+2C6A and U+2C75-U+2C77 to Sans (by Gee + Fung Sit) +- adjusted asteriskmath (U+2217) for consistency with other mathematical + operators in Sans (by Ben Laenen) +- hinted some Armenian capitals in Sans Book (by Ben Laenen) +- added U+0246 - U+0249 (by Ben Laenen) +- BUGFIX : swapped U+224E and U+224F, in Sans, Sans Condensed and Sans Mono + (by Remy Oudompheng) +- adjusted U+20B5 (by Mederic Boquien) +- swapped U+21DA and U+21DB which were in wrong order (by Heikki Lindroos) +- added U+222E-2233, U+239B-23AD, U+2A00-2A02, U+2A0F-2A1C to Sans (by Remy + Oudompheng) +- added U+239B-23AD to Mono (by Remy Oudompheng) +- added U+2024-2025 to Serif (by Mederic Boquien) +- added U+222C-222D, U+2A0C-2A0E to Serif (by Remy Oudompheng) +- added U+2190-21FF to Mono (by Heikki Lindroos) +- added Hebrew glyphs - U+05B0-U+05BD, U+05BF-U+05C3, U+05C6, U+05C7, + U+05D0-U+05EA, U+05F0-U+05F2, U+FB1F, U+FB20, U+FB2A-U+FB36, + U+FB38-U+FB3C, U+FB3E, U+FB40, U+FB41, U+FB43, U+FB44, U+FB46-U+FB4E (by + Gee Fung Sit and Eugeniy Meshcheryakov) +- adjustments for Cyrillic in Sans (by Andrey V. Panov) +- made italic shape for U+0434, U+0456, U+0457 in SerifOblique and Serif + Bold Oblique (by Andrey V. Panov) + +Changes from 2.7 to 2.8: + +- fixed instructions for U+0423, U+0427, U+0447, U+0448 in Serif, so they + look good at large sizes too (by Eugeniy Meshcheryakov) +- added U+FB00 and U+FB03 to U+FB06 to Serif typefaces (by Heikki Lindroos) +- added U+26B0-U+26B1, U+2701-U+2704, U+2706-U+2709, U+270C-U+2727, U+2729 + to U+274B, U+274D, U+274F to U+2752, U+2756, U+2758-U+275E, U+2761 to + U+2775 (by Heikki Lindroos) +- added and improved instructions for Cyrillic letters in Mono and Serif + (Book, by Eugeniy Meshcheryakov) +- rotated U+26B0 (was too small in mono) (by Gee Fung Sit) +- adjusted U+1EDA-U+1EDD, U+1EE8-U+1EEB, capitals using capital specific + accent and moved diacritics to match position on U+00F2 (ograve), etc. + (by Denis Jacquerye) +- added U+20D6, U+20D7 to Sans (by Gee Fung Sit) +- made Armenian ligatures discretionary since the Firefox ligature problem + still isn't fixed (by Ben Laenen) +- moved Armenian hyphen U+058A to a higher position (bug #7436) (by Ben + Laenen) +- hinted Greek glyphs in Sans Bold (by Ben Laenen) +- enabled Arabic lam-alif ligatures when diacritics are used (by Ben Laenen) + +Changes from 2.6 to 2.7: + +- added glyphs needed for Kurdish: U+0695, U+06B5, U+06C6, U+06CE and their + init/medi/fina forms in Sans (by Ben Laenen) +- added U+02CD, U+01F8 - U+01F9, U+1E3E - U+1E3F, U+1E30 - U+1E35, U+1EBC - + U+1EBD, U+1EF8 - U+1EF9 (includes glyphs needed for Yoruba, Maori, Guarani + and Twi) (by Ben Laenen) +- added U+22C8-22CC, U+29CE-29D5, U+2A7D-2AA0, U+2AAE-2ABA, U+2AF9-2AFA to + Sans (by Remy Oudompheng) +- adjusted diacritics on Vietnamese, Pinyin and other characters: + U+01A0-U+01A1, U+01AF-U+01B0, U+01D5-U+01DC, U+01DE-01E1, U+01FA-U+01FB + U+022A-U+022D, U+0230-U+0231, U+1E14-U+1E17, U+1E4C-U+1E53, U+1E78-U+1E7B, + U+1EA4-U+1EF1 in Sans (Book, Bold and Oblique) (by Denis Jacquerye) +- added basic arrows U+2190-U+2193 in Serif, which completes MES-1 compliance + for Serif (by Ben Laenen) +- added U+01E4, U+01E5, U+01FA, U+01FB, U+02BD, U+02C9 and U+02EE to Serif + (by Ben Laenen) +- fixed U+0209 in Serif Bold Oblique (by Ben Laenen) +- adjusted Box Drawing block characters U+2500-257F in Mono to fit character + cell, shifting them up by 416 (Denis Jacquerye) +- redid U+0194 in Sans (by Ben Laenen) +- added U+2217-2218, U+2295-22A1 to Mono (by Remy Oudompheng) +- added U+0462 to Serif (by Andrey V. Panov) +- added U+226C, U+228C-228E, U+2293-2294, U+22F2-22FF to Sans (by Remy + Oudompheng) +- adjusted U+2208-220D in Sans (by Remy Oudompheng) +- improved some Cyrillic glyphs in Mono (by Andrey V. Panov), rewritten + instructions for changed glyphs (by Eugeniy Meshcheryakov) +- added U+1E0E-1E0F, U+1E8E-1E8F to Mono fonts (by Denis Jacquerye). (bug + #7166) +- renamed 'Dotabove' to 'Dotaccent' in Mono Sans Oblique to match other fonts + (by Denis Jacquerye). +- added U+200B-U+200F in Sans faces and Serif faces, U+200B and U+200C were + in Sans already (by Lars Naesbye Christensen) +- added U+2601-U+262F, U+263D, U+263E, U+2648-U+265F, U+2668, U+2670-U+268B, + U+2690-U+269C, U+26A0, U+26A1, U+2794, U+2798-U+27AF, U+27B1-U+27BE to Mono + (by Heikki Lindroos) +- replaced the references with unshifted ones for both κ U+03BA and к U+043A + in Mono Book (by Denis Jacquerye) +- fixing glyph for U+04ED in Mono Book, consisted only of dieresis (by Andrey + V. Panov). + +Changes from 2.5 to 2.6: + +- redid U+2032 - U+2037, U+2057 based on Arev in Sans (by Gee Fung Sit) +- added U+0195, corrected U+039E, U+204B in Sans ExtraLight (by Gee Fung Sit) +- added instructions for some Cyrillic letters in Sans Bold (by Eugeniy + Meshcheryakov) +- added vulgar fractions U+2153-U+215F for Serif, made with references (by + Lars Naesbye Christensen) +- added U+228F-2292, U+2299-22AF, U+22B2-22B5, U+22CD, U+22D8-22ED to Sans + (by Remy Oudompheng) +- added U+2208-220D, U+2238-223D, U+2278-2281, U+228A-228B, U+228F-2292, + U+22CD, U+22DA-22E9 to Mono (by Remy Oudompheng) +- fixed misplaced dot in U+2250 in Mono (by Remy Oudompheng) +- added instructions for some Cyrillic letters in Mono Book and Bold(by + Eugeniy Meshcheryakov) +- minor changes to U+2241, U+2261-2263, U+22A4, U+22A5 in Sans (by Remy + Oudompheng) +- added hinting instructions to lowercase Armenian glyphs in Sans Book (by + Ben Laenen) +- changed U+2208, U+220B to match U+2209 and U+220C in Sans Bold (by Remy + Oudompheng) +- added Braille patterns U+2800-U+28FF to Sans (by Mederic Boquien) +- added instructions for some Cyrillic letters in Serif Book (by Eugeniy + Meshcheryakov) +- renamed BoldOblique fonts to Bold Oblique in TTF Name as originally in + Bitstream Vera fonts (by Denis Jacquerye) +- added hinting instructions to some Latin-B Extended and IPA characters in + Sans Book (by Denis Jacquerye and Ben Laenen) +- adjusted bearings, replaced diacritics, hinted hook and horn for + Vietnamese in Sans Book (by Denis Jacquerye) +- made FAX, TM, TEL, etc. discritionary ligatures in Sans and Serif fonts + (by Denis Jacquerye) +- removed ligatures of precomposed characters in Sans and Serif fonts (by + Denis Jacquerye) +- added U+F208, U+F20A, U+F215-F217, U+F21A-F21B, U+F25F in PUA (from SIL's + PUA, probably in Unicode 5.0): U+0243, U+0244, U+0245, U+024C, U+024D, + U+2C64, (U+2C6D), (U+2C71) +- modified some glyphs in Serif Oblique to make them more italic (by Denis + Jacquerye) + +Changes from 2.4 to 2.5: + +- fixed excessive kerning bug that occurs with Pango (by Denis Jacquerye) +- added U+20AF to Sans and Serif (by Lars Naesbye Christensen) +- regenerated Condensed faces (by Ben Laenen) +- added U+035C-U+035D to Sans, fixed U+0361 (by Denis Jacquerye) +- integrated 255 characters from Arev fonts: Latin Extended-B, Spacing + Modifiers, Combining Diacritical Marks, Cyrillic, Cyrillic supplement, + General Punctuation, Letterlike Symbols, Arrows, Mathematical Operators, + Miscellaneous Technical, Dingbats, Alphabetic Presentation Forms (by Denis + Jacquerye) +- added basic Cyrillic and basic Greek to Sans ExtraLight (by Denis Jacquerye) +- added U+0498, U+049A, U+04AA, U+04AB, U+04AF to Serif (by Eugeniy + Meshcheryakov) +- added U+0494, U+0495, U+0498, U+0499, U+04AA, U+04AB, U+04C3, U+04C4, + U+04C7, U+04C8 to Mono (by Eugeniy Meshcheryakov) +- adjusted weight of U+0256, U+0257, U+0260, U+0272, U+0273, U+0277, U+029B, + U+02A0 and modifed U+028B and U+027A in Mono (by Denis Jacquerye) +- added U+2000-200A to Mono (by Denis Jacquerye) +- added vulgar fractions U+2153 - U+215F to Mono (by Gee Fung Sit) +- adapted metrics of Arabic glyphs so they stay above cut-off height in Sans + (by Ben Laenen) +- fixed mkmk anchors for Arabic diacritics so they stack properly in Sans (by + Ben Laenen) +- fixed weight of lowercase upsilon in Sans Bold, make small adjustment to + lowercase omega in Sans (by Ben Laenen) +- added U+210E (by Mederic Boquien) +- unslanted U+2201, U+221B and U+221C in Sans Oblique (by Mederic Boquien) +- added several mathematical relation symbols to Sans and Mono (U+2241-224C, + U+2250-2255, U+2260-2269, U+226E-2277, U+2282-2287) modified U+223C to match + other tildes, and U+2282-2284 to have the same shape. (by Remy Oudompheng) +- made U+2234-U+2237 refer to U+2219 instead of U+00B7 in Sans (by Mederic + Boquien) +- added U+2238-223B, U+226A-226B, U+2278-2281, U+2288-228B to Sans (by Remy + Oudompheng) +- unslanted and changed reference of U+22C5 from U+00B7 to U+2219 in Sans (by + Mederic Boquien) +- added U+224D-225F, U+226D, U+22C6 to Sans and unslanted U+2219 in Sans + Oblique. (by Remy Oudompheng) +- added U+224D-225F, U+226D to Mono, shifted U+2266-2269 higher upwards and + unslanted U+2219 in Oblique. (by Remy Oudompheng) +- merged Coptic glyphs from Arev 0.2 (by Lars Naesbye Christensen) +- fixed and adjusted various Cyrillic glyphs in Serif (by Andrey V. Panov) +- made fi, fl... ligatures discretionary ligatures (by Ben Laenen) + +Changes from 2.3 to 2.4: + +- added U+04A2, U+04A3, U+04AC - U+04AF, U+04BA, U+04BB, U+04C0 - + U+04C2, U+04CB, U+04CD, U+04D8 - U+04DF, U+04E2 - U+04E5, U+04E8 - U+04F5, + U+04F6 - U+04F9 to Mono (by Eugeniy Meshcheryakov) +- added U+048C, U+048D, U+0494, U+0495, U+049E - U+04A7, U+04AC - + U+04AE, U+04B4- U+04B7, U+04BA, U+04BB, U+04C0 - U+04C4, U+04C7, U+04C8, + U+04CB, U+04CC, U+04D8 - U+04DF, U+04E2 - U+04E5, U+04EC - U+04F9 to Serif + (by Eugeniy Meshcheryakov) +- added U+2134 to Sans (by Gee Fung Sit) +- added U+2080 - U+2089 to all faces (by Gee Fung Sit) +- several minor corrections to Sans (by Gee Fung Sit) +- major corrections to Sans Condensed (by Gee Fung Sit) +- corrected Superscripts and Subscripts in Sans (by Gee Fung Sit) +- corrected anchors of U+0316-U+0319 (by Denis Jacquerye) +- Verajja integrated (by Stepan Roh) +- copied U+2328, U+2600, U+2639-U+263C, U+263F-U+2647, U+2660-U+2667, + and U+2669-U+266F from Sans to Serif, and copied scaled-down versions of + them to Sans Mono (by David Lawrence Ramsey) +- added U+20B4 to all faces (by Eugeniy Meshcheryakov) +- added more minor positional adjustments to U+2638 in all faces to + match the other miscellaneous symbols in Verajja, and rescale it in Sans + Mono so that it looks better (by David Lawrence Ramsey) +- added U+2242, U+2243 and U+22A4 (by Mederic Boquien) +- corrected U+2245 in Sans (by Mederic Boquien) +- added U+0221, U+0234-0236 (by Denis Jacquerye) +- added in Arabic block to Sans: U+060C, U+0615, U+061B, U+061F, U+0621 +- U+063A, U+0640 - U+0655, U+0660 - U+066F, U+0679 - U+0687, U+0698, U+06A1, + U+06A9, U+06AF, U+06BA, U+06BF, U+06CC, U+06F0 - U+06F9 (by Ben Laenen) +- added in Arabic Presentation Forms A to Sans: U+FB52 - U+FB81, U+FB8A +- U+FB95, U+FB9E - U+FB9F, U+FBE8 - U+FBE9, U+FBFC - U+FBFF (by Ben Laenen) +- added complete Arabic Presentation Forms B to Sans: U+FE70 - U+FE74, + U+FE76 - U+FEFC, U+FEFF (by Ben Laenen) +- added complete Greek Extended block to Mono (by Ben Laenen) +- modified Greek capitals with tonos in Mono (by Ben Laenen) +- added U+01C4-01CC, U+01D5, U+01DE, U+01E0-U+01E1, U+01E6-U+01E9, + U+01EE-U+01F5, U+01F8-U+0217, U+021E-U+021F, U+0226-U+022A, U+022C to Serif + (by Denis Jacquerye) +- adjusted U+043B and U+044F in Serif (by Denis Jacquerye) +- added U+2000-U+200A (by Denis Jacquerye) +- added U+1E00-U+1E0B, U+1E0E-U+1E11, U+1E14-U+1E1C, U+1E1E-U+1E23, + U+1E26-U+1E2D, U+1E30-U+1E35, U+1E3A-U+1E3B, U+1E3E-U+1E40, U+1E48-U+1E49, + U+1E50-U+1E56, U+1E58-U+1E59, U+1E5E-U+1E60, U+1E68-U+1E6B, U+1E6E-U+1E6F, + U+1E72-U+1E7D, U+1E86-U+1E9B, U+1EA0-U+1EA3, U+1EAC-U+1EB7, U+1EBA-U+1EBD, + U+1EC6-U+1ECF, U+1ED8-U+1ED9, U+1EE6-U+1EE7, U+1EF4-U+1EF9 to Serif (by + Denis Jacquerye) +- added U+048E, U+048F, U+049C-U+049F, U+04B8, U+04B9, U+04BC-U+04BF, + U+04C3, U+04C4 to Sans (by Eugeniy Meshcheryakov) +- added DejaVu Sans Extra Light (by Denis Jacquerye) +- Adjusted underline position for (hopefully) improved legibility in + Sans, Serif, Mono (Tim May) +- added auto-generated DejaVu LGC (by Stepan Roh) + +Changes from 2.2 to 2.3: + +- fixed bug U+042B and U+044B behave badly in Sans Bold or Oblique (by + Keenan Pepper) +- added and improved TrueType instructions and related settings (by + Keenan Pepper) +- added U+04D0-U+04D7, U+04E6, U+04E7 to Mono (by Eugeniy Meshcheryakov) +- added U+048A - U+048D, U+0498, U+0499, U+04AA, U+04AB, U+04B0, U+04B1, + U+04C0, U+04C9, U+04CA, U+04CE, U+04CD, U+04DA, U+04DB, U+04DE, U+04DF, + U+04E2 - U+04E5, U+04EC - U+04F8, U+04F9 to Sans (by Eugeniy Meshcheryakov) +- added U+04E0, U+04E1 to all faces (by Eugeniy Meshcheryakov) +- added Greek Extended to Sans and Serif: U+1F00-U+1F15, U+1F18-U+1F1D, + U+1F20-U+1F45, U+1F48-U+1F4D, U+1F50-U+1F57, U+1F59, U+1F5B, U+1F5D, + U+1F5F-U+1F7D, U+1F80-U+1FB4, U+1FB6-U+1FC4, U+1FC6-U+1FD3, U+1FD6-U+1FDB, + U+1FDD-U+1FEF, U+1FF2-U+1FF4, U+1FF6-U+1FFE (by Ben Laenen) +- added Greek variant letterforms, archaic letters and symbols to Mono: + U+03D0-U+03E1, U+03F0-U+03FF (by Ben Laenen) +- added Armenian block and Armenian ligatures to Sans (U+0531 - U+0556, + U+0559 - U+055F, U+0561 - U+0587, U+0589 - U+058A, U+FB13 - U+FB17) (by Ben + Laenen) +- redid some Greek characters in Sans and Mono to make them look better + and to correct some errors (by Ben Laenen) +- added U+27E0 to all faces (by David Lawrence Ramsey) +- added underscore (U+005F) consistency fixes: extended the Sans Mono + and Sans Mono Oblique underscores to touch both horizontal edges, and + reduced the height of the Sans Bold Oblique underscore to match the Sans + Bold underscore (by David Lawrence Ramsey) +- added underscore (U+005F) derivatives and consistency fixes for them: + made U+0332 a reference to underscore at Denis Jacquerye's suggestion; made + U+0333 two references to underscore; made U+033F two references to U+203E; + added U+2017 as two references to underscore, and made U+0333 a reference to + it; and added U+203E as a reference to underscore, and made U+0305 a + reference to it (by David Lawrence Ramsey) +- added U+201B, U+2220, U+2320-U+2321, U+23AE, U+23CF, all remaining + Geometric Shapes glyphs (U+25A0-U+25C9, U+25CB-U+25D7, U+25D9-U+25E5, + U+25E7-U+25FF), and U+2B12-U+2B13 to all faces (by David Lawrence Ramsey) +- added minor positional adjustments to U+2638 in all faces (by David + Lawrence Ramsey) +- added U+201F to Sans Mono and Serif faces (by David Lawrence Ramsey) +- added U+01B7, U+01F6, U+0464 - U+0465, U+2160 - U+2180, U+2183, + U+220A, U+220D, U+2329, U+232A, U+2422, U+27E8 - U+27EB, U+2680 - U+2685 to + Sans (by Gee Fung Sit ???) +- added U+2116 to Sans and Serif (by Gee Fung Sit) +- changed florin sign U+0192 in Sans (by Gee Fung Sit) +- added anchor points to some glyphs (by Denis Jacquerye) +- adjusted height of IPA superscripts U+02B0-02B8, U+02C0-02C1, + U+02E0-02E4, U+207F to match with height of U+00B2 (by Denis Jacquerye) +- added U+0184-U+0185, U+019C, U+019F, U+01A0-U+01A3, U+01A6, U+01AA, + U+01AF-U+01B0, U+01B2-U+01B4, U+01B7-U+01B8, U+01BC-U+01BC, U+0224-U+0225, + U+023A-U+0240, U+1D16-U+1D17, U+1D1D-U+1D1E, U+1D43-U+1D5B, U+1D7B, + U+1D85,U+1D9B-1DB7, U+1DB9-U+1DBF, U+20A6 to all fonts (by Denis Jacquerye) +- added added U+0182, U+018B, U+018E, U+01A0-U+01A1, U+01B1, U+01B9, + U+01C0-U+01C3, U+0238-U+0239, U+1D02, U+1D08-U+1D09, U+1D14, U+1D1F, U+1D77 + to Serif and Mono (by Denis Jacquerye) +- added U+0181, U+0183, U+0187-U+0188, U+018A-U+018F, U+0191, U+0193, + U+0195-U+019B, U+019D-U+019E, U+01A4-U+01A5, U+01AC-U+01AE, U+01B5-U+01B6, + U+01B9, U+01BB, U+01F6 to Serif (by Denis Jacquerye) +- added U+0181, U+0187-U+0188, U+018A, U+018D, U+018F, U+0191, U+0193, + U+0195-U+019F, U+01A4-01A5, U+01AC-01AD, U+01B5-U+01B6, U+1BB, U+01F6, + U+01D7-U+01DC, U+0238-U+0239, U+0241 to Mono (by Denis Jacquerye) +- added to Mono and Serif (by Denis Jacquerye) + +Changes from 2.1 to 2.2: + +- reworked the vertical orientation of the Blocks Elements characters + in all faces to remove their overly large descenders, in order to fix + problems with e.g. terminal emulators (by David Lawrence Ramsey) +- copied bullet in Sans faces to Serif faces for consistency (by David + Lawrence Ramsey) +- added U+2023, U+25D8, U+25E6, and U+29EB to all faces (by David + Lawrence Ramsey) +- added U+1EB8, U+1EB9, U+1ECA - U+1ECD, U+1EE4, U+1EE5 (by Tim May) +- added U+01DD, U+02BE, U+02BF, U+02D3 to all, changed U+02D2 in + non-Condensed and U+1EE5 in Serif (by Tim May) +- fixed U+01CE, replacing wrong circumflex by caron (by Denis Jacquerye) +- added anchor points to some glyphs (by Denis Jacquerye) +- added U+20B5 (by Denis Jacquerye) +- added U+0181 - U+0183, U+0187, U+0188, U+018A - U+018D, U+0191, + U+0193, U+0195 - U+019B, U+019D, U+019E, U+01A4, U+01A7 - U+01A9, U+01AB - + U+01AE, U+01B1, U+01B5, U+01B6, U+01BB, U+01C0 - U+01C3, U+01F1 - U+01F3, + U+0238, U+0239, U+1D02, U+1D08, U+1D09, U+1D14, U+1D1F, U+1D77, U+2103, + U+2126, U+2127, U+212A, U+212B, U+2132, U+214B, U+2210, U+2217, U+2218, + U+2A0C - U+2A0E, U+FB00, U+FB03 and U+FB04 to Sans (by Gee Fung Sit) +- added U+01A9, U+01C3 and U+2126 to Mono and Serif (by Gee Fung Sit) +- adjusted bearings of U+028B in Sans (by Gee Fung Sit) +- added U+018F, U+0494-U+0497, U+04A0-U+04A7, U+04AC-U+04AF, + U+04B4-U+04B7, U+04BA-U+04BB, U+04C1-U+04C2, U+04C5-U+04C8, U+04CB-U+04CC, + U+04D0-U+04D9, U+04DC-U+04DD, U+04E6-U+04EB to Sans (by Eugeniy + Meshcheryakov) +- replaced with references U+0391-U+0393, U+0395-U+0397, U+0399, U+039A, + U+039C, U+039D, U+039F-U+03A1, U+03A4, U+03A5, U+03A7, U+03BF, U+03DC, + U+0405, U+0406, U+0408, U+0410, U+0412, U+0415, U+0417, U+041A, + U+041C-U+041E, U+0420-U+0422, U+0425, U+0430, U+0435, U+043E, U+0440, + U+0441, U+0443, U+0445, U+0455-U+0458 in Serif and Mono (by Eugeniy + Meshcheryakov) +- added U+04D0-U+04D7, U+04E6-U+04EB to Serif (by Eugeniy Meshcheryakov) +- added U+212A and U+212B to the rest of the faces (by Lars Naesbye + Christensen) +- added U+2318 and U+2325 to Sans and Serif (by Lars Naesbye Christensen) +- added and improved TrueType instructions and related settings (by + Keenan Pepper) +- completed basic Greek alphabet: added U+0374-U+0375, U+037A, U+037E, + U+0384-U+038A, U+038C, U+038E-U+0390, U+03AC-U+03BF, U+03C1-U+03CE (by Ben + Laenen) +- added U+2070 and U+2074-U+2079 (by Mederic Boquien) + +Changes from 2.0 to 2.1: + +*** Be aware that names of some TTF files changed since version 2.0. *** + +- added U+0323, U+1E0C, U+1E0D, U+1E24, U+1E25, U+1E36 - U+1E39, U+1E42, + U+1E43, U+1E46, U+1E47, U+1E5A - U+1E5D, U+1E62, U+1E63, U+1E6C, U+1E6D, + U+1E7E, U+1E7F (by Tim May) +- fixed bug where GNOME applications used Mono Bold Oblique instead of + Mono Oblique (by Keenan Pepper) +- added and improved TrueType instructions and related settings (by + Keenan Pepper) +- added U+1E41, U+1E57, U+1E61 (by Sander Vesik) +- added U+0189, U+0309, U+0313, U+0314, U+031A, U+031B, U+0327, U+0328, + U+032B, U+0333, U+033C (by Denis Jacquerye) +- adjusted and fixed U+0186, U+0254, U+0291, U+0316 - U+0319, U+031C - + U+0320, U+0323 - U+0326, U+0329 - U+032A, U+032C - U+0332, U+0339 - U+033B, + U+033E, U+033F (by Denis Jacquerye) +- fixed U+1E12, U+1E3C, U+1E4A, U+1E70 to have normal below diacritics + (by Denis Jacquerye) +- fixed U+1E82, U+1E84 and U+1EF2 to have uppercase above diacritics (by + Denis Jacquerye) +- added anchor points to some glyphs (by Denis Jacquerye) +- dropped "-Roman" from font names - affects both internal TTF names and + names of generated files (by Stepan Roh) +- attempt to fix bug Vertical spacing too big for Mono by exchanging + LineGap and OS2TypoLinegap values (proofed by Stefan Rank) +- added Greek capitals U+0391 - U+03A1, U+03A3 - U+03A9, U+03AA, U+03AB + in Mono (by Ben Laenen) +- added the per ten thousand sign U+2031 (by Mederic Boquien) +- added U+2207, U+221D, U+221F, U+2227 - U+222A, and U+2261 (by David + Lawrence Ramsey) +- new logo (by Gee Fung Sit) +- added U+0180, U+018E, U+201F, U+2024, U+2025, U+203D, U+2200, U+2203, + U+2213, U+222C, U+222D, U+2263 to Sans (by Gee Fung Sit) + +Changes from 1.15 to 2.0: + +- "Italized" basic glyphs in all Serif Oblique and their Condensed faces + (by David Jez) +- added and improved TrueType instructions and related settings (by Keenan + Pepper) +- added anchor points to some glyphs (by Denis Jacquerye) +- many new spacing and combining accents (by Denis Jacquerye) +- smart substitutions for transforming i and j to dottless form and for + using uppercase diacritics (by Denis Jacquerye) +- fixed remaining erroneously slanted characters in Serif Oblique faces (by + David Lawrence Ramsey) +- copied bullet in Sans faces to Sans Oblique faces for consistency (by + David Lawrence Ramsey) +- added U+203C and U+2047-U+2049 (by David Lawrence Ramsey) +- added Greek glyphs to Serif (by Ben Laenen, Condensed merge by David Jez) +- fixed bug LTR glyphs behaving like RTL (by Ben Laenen) +- fixed wrong glyph directions (by David Jez) +- fixed repositioned accents in Condensed faces (by David Jez) + +Changes from 1.14 to 1.15: + +- added and improved TrueType instructions and related settings (by Keenan + Pepper) +- fixed U+2302, U+2319 (by David Lawrence Ramsey) +- fixed yet another monospace bug (by Stepan Roh) +- fixed potential "too big ascender/descender" bug (by Stepan Roh) +- fixed U+026E and U+028E (by Denis Jacquerye) +- added U+0186, U+0190, U+0300 - U+0304, U+0306 - U+0308, U+030A - U+030C, + U+0321, U+0322 (by Denis Jacquerye) +- added rest of Block Elements: U+2591 - U+2593 (by David Lawrence Ramsey) +- added U+2311, U+237D and U+2638 (by David Lawrence Ramsey) +- added U+01CD - U+01D4 (by Denis Jacquerye) +- fixed accents of U+00F2 - U+00F6 by replacing them with references in Mono + Bold (by David Jez) +- added U+0490, U+0491 (by Eugeniy Meshcheryakov) +- added hints to U+0404 and U+0454 in Sans (by Eugeniy Meshcheryakov) +- completed Greek glyphs from U+0370 to U+03CF in Serif (by Ben Laenen) +- fixed shape of U+0255 in Sans Bold and Sans Bold Oblique (by Denis + Jacquerye) + +Changes from 1.13 to 1.14: + +- fixed bug where Mono faces were not recognized as fixed pitch in Windows + by correcting Venda glyphs (by David Jez) +- added and improved TrueType instructions (by Keenan Pepper) +- added 6 Uzbekian glyphs (by Mashrab Kuvatov) +- added Greek glyphs to Sans and Serif, changed pi and omega to fit in (by + Ben Laenen) +- added IPA and related superscript glyphs (by Denis Jacquerye) +- fixed buggy Venda glyphs (by David Lawrence Ramsey and Stepan Roh) +- added U+2302, U+2310, U+2319 (by David Lawrence Ramsey) +- fixed slanted U+00AC in Serif Oblique faces (by David Lawrence Ramsey) +- added 29 glyphs from Block Elements (by David Lawrence Ramsey) + +Changes from 1.12 to 1.13: + +- removed all stems (PS hints) (requested by David Jez) +- added U+01D6, U+01DF, U+022B, U+022D and U+0231 (by Sander Vesik) +- added 10 Venda glyphs (by Dwayne Bailey) +- fixed bug when fonts had no name on Microsoft Windows (by Stepan Roh) +- updated 'missing' glyph U+FFFD (by David Jez) +- set TTF flag fsType to 'Installable Embedding' (= unrestricted usage) + (idea by C. Tiffany) + +Changes from 1.11 to 1.12: + +- added long s (by James Cloos) +- prettier comma accent in gcommaaccent (by David Jez) +- added Hbar, hbar, kgreenlandic, napostrophe, Eng, eng, Tbar, tbar, + afii57929 (by David Jez) +- changed Iogonek, iogonek, IJ, ij to look better (by David Jez) +- glyph uni0237 renamed to dotlessj (requested by David Jez) +- fixed accents for dcaron, lcaron, tcaron, Uogonek, uogonek in Serif (by + David Jez) +- added U+2500 - U+257F box drawing glyphs to Sans Mono (by David Jez) +- fixed accents in Wcircumflex, Ycircumflex and Zdotaccent (by David Jez) +- extra kerning for F (by Sander Vesik) +- added 'missing' glyph U+FFFD (by David Jez) + +Changes from 1.10 to 1.11: + +- kerning updates (by Sander Vesik) +- added Iogonek, iogonek, IJ, ij, Uogonek, uogonek (from SuSE standard fonts + by Adrian Schroeter, SuSE AG) +- added Gcommaaccent, gcommaaccent, Kcommaaccent, kcommaaccent, + Lcommaaccent, lcommaaccent, Ncommaaccent, ncommaaccent, Rcommaaccent, + rcommaaccent (by Stepan Roh) + +Changes from 1.9 to 1.10: + +- added U+022E, U+022F (by Sander Vesik) +- kerning updates for DejaVu Sans (by Sander Vesik) +- fixed too wide cyrillic glyphs in DejaVu Sans Mono (by Valentin Stoykov) +- fixed ligatures bug in Mono (by Stepan Roh) + +Changes from 1.8 to 1.9: + +- integrated Arev Cyrillics (by Danilo Segan) +- added U+01EA, U+01EB, U+01EC, U+01ED (by Sander Vesik) + +Changes from 1.7 to 1.8: + +- fixed accents in Serif Oblique and Serif Bold Oblique (by Stepan Roh) + +Changes from 1.6 to 1.7: + +- added automatically generated Condensed typefaces (by Stepan Roh) + +Changes from 1.5 to 1.6: + +- monospace bug fixed (by Stepan Roh) +- incorrect Bitstream foundry assigned by fontconfig and KDE Font Installer +fixed (by Stepan Roh) +- added automatically generated Oblique version of Serif typefaces (by +Stepan Roh) +- corrected cyrillic D and d (by Danilo Segan and David Jez) +- fixed accents position in Oblique version of Serif typefaces (by Danilo +Segan and Sander Vesik) +- fixed incorrect computation of OS2Win* fields (by Stepan Roh) +- added visiblespace U+2423 (by David Jez) +- fixed 'line height' bug by fixing ascender and descender values (by David +Jez and Stepan Roh) +- fixed part of 'worse than Vera' bug (by Peter Cernak) +- smaller comma accent U+0326 (by David Jez) + +Changes from 1.4 to 1.5: + +- added Cyrillics (96 characters) and Dcroat to the rest of typefaces (by +Danilo Segan) +- fixed bugs in some Cyrillic characters, some of them reported by Sander +Vesik (by Danilo Segan) +- added U+0100, U+0101, U+0112, U+0113, U+012A, U+012B, U+014C, U+014D, +U+016A, U+016B, U+01E2, U+01E3, U+0232 and U+0233 (by Sander Vesik) +- added Romanian characters (by Misu Moldovan) +- added U+0108, U+0109, U+010A, U+010B, U+0114, U+0115, U+0116, U+0117, +U+011C, U+011D, U+0120, U+0121, U+0124, U+0125, U+0128, U+0129, U+012C, +U+012D, U+0134, U+0135, U+014E, U+014F, U+0150, U+0151, U+015C, U+015D, +U+0168, U+0169, U+016C, U+016D, U+0170, U+0171 and U+0237 (by James +Crippen) +- added U+02BB, U+2010, U+2011, U+2012 and U+2015 (by Stepan Roh) + +Changes from 1.3 to 1.4: + +- added Polish characters (Aogonek, aogonek, Eogonek, eogonek, Nacute, +nacute, Sacute, sacute, Zacute, zacute, Zdotaccent, zdotaccent) (by Stepan +Roh) + +Changes from 1.2 to 1.3: + +- added Cyrillics (96 characters) and Dcroat to Sans typefaces (by Danilo +Segan from his BePa fonts) + +Changes from 1.1 to 1.2: + +- added Ldot, ldot, Wcircumflex, wcircumflex, Ycircumflex, ycircumflex, + Wgrave, wgrave, Wacute, wacute, Wdieresis, wdieresis, Ygrave and ygrave + (from The Olwen Font Family 0.2 by Dafydd Harries) + +Changes from 1.0 to 1.1: + +- added Lacute, lacute, Lcaron, lcaron, Racute and racute (by Peter Cernak) + +Changes from 0.9.4 to 1.0: + +- none, just changed version and updated README + +Changes from 0.9.3 to 0.9.4: + +- fixed TTF generation (kerning tables were missing) + +Changes from 0.9.2 to 0.9.3: + +- kerning of added characters +- proper caron shape for dcaron in Mono (by Ondrej Koala Vacha) +- minor visual changes + +Changes from 0.9.1 to 0.9.2: + +- internal bugged version + +Changes from 0.9 to 0.9.1: + +- proper caron shape for dcaron and tcaron +- minor visual changes + +$Id: NEWS 2471 2011-02-27 14:25:15Z ben_laenen $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/README b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/README new file mode 100644 index 0000000..0f2079a --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/README @@ -0,0 +1,59 @@ +DejaVu fonts 2.33 (c)2004-2011 DejaVu fonts team +------------------------------------------------ + +The DejaVu fonts are a font family based on the Bitstream Vera Fonts +(http://gnome.org/fonts/). Its purpose is to provide a wider range of +characters (see status.txt for more information) while maintaining the +original look and feel. + +DejaVu fonts are based on Bitstream Vera fonts version 1.10. + +Available fonts (Sans = sans serif, Mono = monospaced): + +DejaVu Sans Mono +DejaVu Sans Mono Bold +DejaVu Sans Mono Bold Oblique +DejaVu Sans Mono Oblique +DejaVu Sans +DejaVu Sans Bold +DejaVu Sans Bold Oblique +DejaVu Sans Oblique +DejaVu Sans ExtraLight (experimental) +DejaVu Serif +DejaVu Serif Bold +DejaVu Serif Bold Italic (experimental) +DejaVu Serif Italic (experimental) +DejaVu Sans Condensed (experimental) +DejaVu Sans Condensed Bold (experimental) +DejaVu Sans Condensed Bold Oblique (experimental) +DejaVu Sans Condensed Oblique (experimental) +DejaVu Serif Condensed (experimental) +DejaVu Serif Condensed Bold (experimental) +DejaVu Serif Condensed Bold Italic (experimental) +DejaVu Serif Condensed Italic (experimental) + +All fonts are also available as derivative called DejaVu LGC with support +only for Latin, Greek and Cyrillic scripts. + +For license information see LICENSE. What's new is described in NEWS. Known +bugs are in BUGS. All authors are mentioned in AUTHORS. + +Fonts are published in source form as SFD files (Spline Font Database from +FontForge - http://fontforge.sf.net/) and in compiled form as TTF files +(TrueType fonts). + +For more information go to http://dejavu.sourceforge.net/. + +Characters from Arev fonts, Copyright (c) 2006 by Tavmjong Bah: +--------------------------- +U+01BA, U+01BF, U+01F7, U+021C-U+021D, U+0220, U+0222-U+0223, +U+02B9, U+02BA, U+02BD, U+02C2-U+02C5, U+02d4-U+02D5, +U+02D7, U+02EC-U+02EE, U+0346-U+034E, U+0360, U+0362, +U+03E2-03EF, U+0460-0463, U+0466-U+0486, U+0488-U+0489, U+04A8-U+04A9, +U+0500-U+050F, U+2055-205E, U+20B0, U+20B2-U+20B3, U+2102, U+210D, U+210F, +U+2111, U+2113, U+2115, U+2118-U+211A, U+211C-U+211D, U+2124, U+2135, +U+213C-U+2140, U+2295-U+2298, U+2308-U+230B, U+26A2-U+26B1, U+2701-U+2704, +U+2706-U+2709, U+270C-U+274B, U+2758-U+275A, U+2761-U+2775, U+2780-U+2794, +U+2798-U+27AF, U+27B1-U+27BE, U+FB05-U+FB06 + +$Id: README 2471 2011-02-27 14:25:15Z ben_laenen $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/langcover.txt b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/langcover.txt new file mode 100644 index 0000000..f503448 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/langcover.txt @@ -0,0 +1,242 @@ +This is the language coverage file for DejaVu fonts +($Id$) + + Sans Serif Sans Mono +aa Afar 100% (62/62) 100% (62/62) 100% (62/62) +ab Abkhazia 100% (90/90) 93% (84/90) 84% (76/90) +af Afrikaans 100% (69/69) 100% (69/69) 100% (69/69) +ak Akan 100% (73/73) 100% (73/73) 100% (73/73) +am Amharic (0/264) (0/264) (0/264) +an Aragonese 100% (66/66) 100% (66/66) 100% (66/66) +ar Arabic 100% (125/125) (0/125) 100% (125/125) +as Assamese (0/64) (0/64) (0/64) +ast Asturian/Bable/Leonese/Asturleonese 100% (66/66) 100% (66/66) 100% (66/66) +av Avaric 100% (67/67) 100% (67/67) 100% (67/67) +ay Aymara 100% (60/60) 100% (60/60) 100% (60/60) +az-az Azerbaijani in Azerbaijan 100% (66/66) 100% (66/66) 100% (66/66) +az-ir Azerbaijani in Iran 100% (130/130) (0/130) 100% (130/130) +ba Bashkir 100% (82/82) 100% (82/82) 97% (80/82) +be Byelorussian 100% (68/68) 100% (68/68) 100% (68/68) +ber-dz Berber in Algeria 100% (70/70) 100% (70/70) 100% (70/70) +ber-ma Berber in Morocco 100% (32/32) (0/32) (0/32) +bg Bulgarian 100% (60/60) 100% (60/60) 100% (60/60) +bh Bihari (Devanagari script) (0/68) (0/68) (0/68) +bho Bhojpuri (Devanagari script) (0/68) (0/68) (0/68) +bi Bislama 100% (58/58) 100% (58/58) 100% (58/58) +bin Edo or Bini 100% (78/78) 100% (78/78) 100% (78/78) +bm Bambara 100% (60/60) 100% (60/60) 100% (60/60) +bn Bengali (0/63) (0/63) (0/63) +bo Tibetan (0/95) (0/95) (0/95) +br Breton 100% (64/64) 100% (64/64) 100% (64/64) +bs Bosnian 100% (62/62) 100% (62/62) 100% (62/62) +bua Buriat (Buryat) 100% (70/70) 100% (70/70) 100% (70/70) +byn Blin/Bilin (0/255) (0/255) (0/255) +ca Catalan 100% (74/74) 100% (74/74) 100% (74/74) +ce Chechen 100% (67/67) 100% (67/67) 100% (67/67) +ch Chamorro 100% (58/58) 100% (58/58) 100% (58/58) +chm Mari (Lower Cheremis / Upper Cheremis) 100% (76/76) 100% (76/76) 100% (76/76) +chr Cherokee (0/85) (0/85) (0/85) +co Corsican 100% (84/84) 100% (84/84) 100% (84/84) +crh Crimean Tatar/Crimean Turkish 100% (68/68) 100% (68/68) 100% (68/68) +cs Czech 100% (82/82) 100% (82/82) 100% (82/82) +csb Kashubian 100% (74/74) 100% (74/74) 100% (74/74) +cu Old Church Slavonic 100% (103/103) 86% (89/103) 78% (81/103) +cv Chuvash 100% (74/74) 100% (74/74) 100% (74/74) +cy Welsh 100% (78/78) 100% (78/78) 100% (78/78) +da Danish 100% (70/70) 100% (70/70) 100% (70/70) +de German 100% (59/59) 100% (59/59) 100% (59/59) +dv Divehi/Dhivehi/Maldivian (0/49) (0/49) (0/49) +dz Dzongkha (0/95) (0/95) (0/95) +ee Ewe 100% (99/99) 100% (99/99) 100% (99/99) +el Greek 100% (69/69) 100% (69/69) 100% (69/69) +en English 100% (72/72) 100% (72/72) 100% (72/72) +eo Esperanto 100% (64/64) 100% (64/64) 100% (64/64) +es Spanish 100% (66/66) 100% (66/66) 100% (66/66) +et Estonian 100% (64/64) 100% (64/64) 100% (64/64) +eu Basque 100% (56/56) 100% (56/56) 100% (56/56) +fa Persian 100% (129/129) (0/129) 100% (129/129) +fat Fanti 100% (73/73) 100% (73/73) 100% (73/73) +ff Fulah (Fula) 100% (62/62) 100% (62/62) 100% (62/62) +fi Finnish 100% (62/62) 100% (62/62) 100% (62/62) +fil Filipino 100% (84/84) 100% (84/84) 100% (84/84) +fj Fijian 100% (52/52) 100% (52/52) 100% (52/52) +fo Faroese 100% (68/68) 100% (68/68) 100% (68/68) +fr French 100% (84/84) 100% (84/84) 100% (84/84) +fur Friulian 100% (66/66) 100% (66/66) 100% (66/66) +fy Frisian 100% (75/75) 100% (75/75) 100% (75/75) +ga Irish 100% (80/80) 100% (80/80) 100% (80/80) +gd Scots Gaelic 100% (70/70) 100% (70/70) 100% (70/70) +gez Ethiopic (Geez) (0/218) (0/218) (0/218) +gl Galician 100% (66/66) 100% (66/66) 100% (66/66) +gn Guarani 100% (70/70) 100% (70/70) 100% (70/70) +gu Gujarati (0/68) (0/68) (0/68) +gv Manx Gaelic 100% (54/54) 100% (54/54) 100% (54/54) +ha Hausa 100% (60/60) 100% (60/60) 100% (60/60) +haw Hawaiian 100% (63/63) 100% (63/63) 100% (63/63) +he Hebrew 100% (27/27) (0/27) (0/27) +hi Hindi (Devanagari script) (0/68) (0/68) (0/68) +hne Chhattisgarhi (0/68) (0/68) (0/68) +ho Hiri Motu 100% (52/52) 100% (52/52) 100% (52/52) +hr Croatian 100% (62/62) 100% (62/62) 100% (62/62) +hsb Upper Sorbian 100% (72/72) 100% (72/72) 100% (72/72) +ht Haitian/Haitian Creole 100% (56/56) 100% (56/56) 100% (56/56) +hu Hungarian 100% (70/70) 100% (70/70) 100% (70/70) +hy Armenian 100% (77/77) 100% (77/77) 100% (77/77) +hz Herero 100% (57/57) 100% (57/57) 100% (57/57) +ia Interlingua 100% (52/52) 100% (52/52) 100% (52/52) +id Indonesian 100% (54/54) 100% (54/54) 100% (54/54) +ie Interlingue 100% (52/52) 100% (52/52) 100% (52/52) +ig Igbo 100% (58/58) 100% (58/58) 100% (58/58) +ii Sichuan Yi/Nuosu (0/1165) (0/1165) (0/1165) +ik Inupiaq (Inupiak, Eskimo) 100% (68/68) 100% (68/68) 100% (68/68) +io Ido 100% (52/52) 100% (52/52) 100% (52/52) +is Icelandic 100% (70/70) 100% (70/70) 100% (70/70) +it Italian 100% (72/72) 100% (72/72) 100% (72/72) +iu Inuktitut 100% (161/161) (0/161) (0/161) +ja Japanese (0/6537) (0/6537) (0/6537) +jv Javanese 100% (56/56) 100% (56/56) 100% (56/56) +ka Georgian 100% (33/33) 100% (33/33) 100% (33/33) +kaa Kara-Kalpak (Karakalpak) 100% (78/78) 100% (78/78) 100% (78/78) +kab Kabyle 100% (70/70) 100% (70/70) 100% (70/70) +ki Kikuyu 100% (56/56) 100% (56/56) 100% (56/56) +kj Kuanyama/Kwanyama 100% (52/52) 100% (52/52) 100% (52/52) +kk Kazakh 100% (77/77) 100% (77/77) 100% (77/77) +kl Greenlandic 100% (81/81) 100% (81/81) 100% (81/81) +km Central Khmer (0/63) (0/63) (0/63) +kn Kannada (0/70) (0/70) (0/70) +ko Korean (0/2443) (0/2443) (0/2443) +kok Kokani (Devanagari script) (0/68) (0/68) (0/68) +kr Kanuri 100% (56/56) 100% (56/56) 100% (56/56) +ks Kashmiri 98% (143/145) (0/145) 97% (141/145) +ku-am Kurdish in Armenia 100% (64/64) 100% (64/64) 100% (64/64) +ku-iq Kurdish in Iraq 100% (32/32) (0/32) 87% (28/32) +ku-ir Kurdish in Iran 100% (32/32) (0/32) 87% (28/32) +ku-tr Kurdish in Turkey 100% (62/62) 100% (62/62) 100% (62/62) +kum Kumyk 100% (66/66) 100% (66/66) 100% (66/66) +kv Komi (Komi-Permyak/Komi-Siryan) 100% (70/70) 100% (70/70) 100% (70/70) +kw Cornish 100% (64/64) 100% (64/64) 100% (64/64) +kwm Kwambi 100% (52/52) 100% (52/52) 100% (52/52) +ky Kirgiz 100% (70/70) 100% (70/70) 100% (70/70) +la Latin 100% (68/68) 100% (68/68) 100% (68/68) +lah Lahnda 98% (143/145) (0/145) 97% (141/145) +lb Luxembourgish (Letzeburgesch) 100% (75/75) 100% (75/75) 100% (75/75) +lez Lezghian (Lezgian) 100% (67/67) 100% (67/67) 100% (67/67) +lg Ganda 100% (54/54) 100% (54/54) 100% (54/54) +li Limburgan/Limburger/Limburgish 100% (62/62) 100% (62/62) 100% (62/62) +ln Lingala 100% (81/81) 100% (81/81) 100% (81/81) +lo Lao 100% (55/55) (0/55) 83% (46/55) +lt Lithuanian 100% (70/70) 100% (70/70) 100% (70/70) +lv Latvian 100% (78/78) 100% (78/78) 100% (78/78) +mai Maithili (Devanagari script) (0/68) (0/68) (0/68) +mg Malagasy 100% (56/56) 100% (56/56) 100% (56/56) +mh Marshallese 100% (62/62) 100% (62/62) 100% (62/62) +mi Maori 100% (64/64) 100% (64/64) 100% (64/64) +mk Macedonian 100% (42/42) 100% (42/42) 100% (42/42) +ml Malayalam (0/68) (0/68) (0/68) +mn-cn Mongolian in China (0/130) (0/130) (0/130) +mn-mn Mongolian in Mongolia 100% (70/70) 100% (70/70) 100% (70/70) +mo Moldavian 100% (128/128) 100% (128/128) 100% (128/128) +mr Marathi (Devanagari script) (0/68) (0/68) (0/68) +ms Malay 100% (52/52) 100% (52/52) 100% (52/52) +mt Maltese 100% (72/72) 100% (72/72) 100% (72/72) +my Burmese (Myanmar) (0/48) (0/48) (0/48) +na Nauru 100% (60/60) 100% (60/60) 100% (60/60) +nb Norwegian Bokmal 100% (70/70) 100% (70/70) 100% (70/70) +nds Low Saxon 100% (59/59) 100% (59/59) 100% (59/59) +ne Nepali (Devanagari script) (0/68) (0/68) (0/68) +ng Ndonga 100% (52/52) 100% (52/52) 100% (52/52) +nl Dutch 100% (82/82) 100% (82/82) 100% (82/82) +nn Norwegian Nynorsk 100% (76/76) 100% (76/76) 100% (76/76) +no Norwegian (Bokmal) 100% (70/70) 100% (70/70) 100% (70/70) +nr Ndebele, South 100% (52/52) 100% (52/52) 100% (52/52) +nso Northern Sotho 100% (58/58) 100% (58/58) 100% (58/58) +nv Navajo/Navaho 100% (72/72) 100% (72/72) 100% (72/72) +ny Chichewa 100% (54/54) 100% (54/54) 100% (54/54) +oc Occitan 100% (70/70) 100% (70/70) 100% (70/70) +om Oromo or Galla 100% (52/52) 100% (52/52) 100% (52/52) +or Oriya (0/68) (0/68) (0/68) +os Ossetic 100% (66/66) 100% (66/66) 100% (66/66) +ota Ottoman Turkish 100% (37/37) (0/37) 97% (36/37) +pa Panjabi/Punjabi (0/63) (0/63) (0/63) +pa-pk Panjabi/Punjabi in Pakistan 98% (143/145) (0/145) 97% (141/145) +pap-an Papiamento in Netherlands Antilles 100% (72/72) 100% (72/72) 100% (72/72) +pap-aw Papiamento in Aruba 100% (54/54) 100% (54/54) 100% (54/54) +pl Polish 100% (70/70) 100% (70/70) 100% (70/70) +ps-af Pashto in Afghanistan 95% (47/49) (0/49) 77% (38/49) +ps-pk Pashto in Pakistan 93% (46/49) (0/49) 75% (37/49) +pt Portuguese 100% (82/82) 100% (82/82) 100% (82/82) +qu Quechua 100% (55/55) 100% (55/55) 100% (55/55) +rm Rhaeto-Romance (Romansch) 100% (66/66) 100% (66/66) 100% (66/66) +rn Rundi 100% (52/52) 100% (52/52) 100% (52/52) +ro Romanian 100% (62/62) 100% (62/62) 100% (62/62) +ru Russian 100% (66/66) 100% (66/66) 100% (66/66) +rw Kinyarwanda 100% (52/52) 100% (52/52) 100% (52/52) +sa Sanskrit (Devanagari script) (0/68) (0/68) (0/68) +sah Yakut 100% (76/76) 100% (76/76) 100% (76/76) +sc Sardinian 100% (62/62) 100% (62/62) 100% (62/62) +sco Scots 100% (56/56) 100% (56/56) 100% (56/56) +sd Sindhi 100% (54/54) (0/54) 79% (43/54) +se North Sami 100% (66/66) 100% (66/66) 100% (66/66) +sel Selkup (Ostyak-Samoyed) 100% (66/66) 100% (66/66) 100% (66/66) +sg Sango 100% (72/72) 100% (72/72) 100% (72/72) +sh Serbo-Croatian 100% (156/156) 100% (156/156) 98% (154/156) +shs Secwepemctsin 100% (48/48) 100% (48/48) 100% (48/48) +si Sinhala/Sinhalese (0/73) (0/73) (0/73) +sid Sidamo (0/281) (0/281) (0/281) +sk Slovak 100% (86/86) 100% (86/86) 100% (86/86) +sl Slovenian 100% (62/62) 100% (62/62) 100% (62/62) +sm Samoan 100% (53/53) 100% (53/53) 100% (53/53) +sma South Sami 100% (60/60) 100% (60/60) 100% (60/60) +smj Lule Sami 100% (60/60) 100% (60/60) 100% (60/60) +smn Inari Sami 100% (68/68) 100% (68/68) 100% (68/68) +sms Skolt Sami 100% (80/80) 100% (80/80) 97% (78/80) +sn Shona 100% (52/52) 100% (52/52) 100% (52/52) +so Somali 100% (52/52) 100% (52/52) 100% (52/52) +sq Albanian 100% (56/56) 100% (56/56) 100% (56/56) +sr Serbian 100% (60/60) 100% (60/60) 100% (60/60) +ss Swati 100% (52/52) 100% (52/52) 100% (52/52) +st Sotho, Southern 100% (52/52) 100% (52/52) 100% (52/52) +su Sundanese 100% (54/54) 100% (54/54) 100% (54/54) +sv Swedish 100% (68/68) 100% (68/68) 100% (68/68) +sw Swahili 100% (52/52) 100% (52/52) 100% (52/52) +syr Syriac (0/45) (0/45) (0/45) +ta Tamil (0/48) (0/48) (0/48) +te Telugu (0/70) (0/70) (0/70) +tg Tajik 100% (78/78) 100% (78/78) 97% (76/78) +th Thai 1% (1/74) (0/74) (0/74) +ti-er Eritrean Tigrinya (0/255) (0/255) (0/255) +ti-et Ethiopian Tigrinya (0/281) (0/281) (0/281) +tig Tigre (0/221) (0/221) (0/221) +tk Turkmen 100% (68/68) 100% (68/68) 100% (68/68) +tl Tagalog 100% (84/84) 100% (84/84) 100% (84/84) +tn Tswana 100% (58/58) 100% (58/58) 100% (58/58) +to Tonga 100% (53/53) 100% (53/53) 100% (53/53) +tr Turkish 100% (70/70) 100% (70/70) 100% (70/70) +ts Tsonga 100% (52/52) 100% (52/52) 100% (52/52) +tt Tatar 100% (76/76) 100% (76/76) 100% (76/76) +tw Twi 100% (73/73) 100% (73/73) 100% (73/73) +ty Tahitian 100% (65/65) 100% (65/65) 100% (65/65) +tyv Tuvinian 100% (70/70) 100% (70/70) 100% (70/70) +ug Uighur 100% (125/125) (0/125) 100% (125/125) +uk Ukrainian 100% (72/72) 100% (72/72) 100% (72/72) +ur Urdu 98% (143/145) (0/145) 97% (141/145) +uz Uzbek 100% (52/52) 100% (52/52) 100% (52/52) +ve Venda 100% (62/62) 100% (62/62) 100% (62/62) +vi Vietnamese 100% (194/194) 100% (194/194) 76% (148/194) +vo Volapuk 100% (54/54) 100% (54/54) 100% (54/54) +vot Votic 100% (62/62) 100% (62/62) 100% (62/62) +wa Walloon 100% (70/70) 100% (70/70) 100% (70/70) +wal Wolaitta/Wolaytta (0/281) (0/281) (0/281) +wen Sorbian languages (lower and upper) 100% (76/76) 100% (76/76) 100% (76/76) +wo Wolof 100% (66/66) 100% (66/66) 100% (66/66) +xh Xhosa 100% (52/52) 100% (52/52) 100% (52/52) +yap Yapese 100% (58/58) 100% (58/58) 100% (58/58) +yi Yiddish 100% (27/27) (0/27) (0/27) +yo Yoruba 100% (119/119) 100% (119/119) 100% (119/119) +za Zhuang/Chuang 100% (52/52) 100% (52/52) 100% (52/52) +zh-cn Chinese (simplified) 0% (2/6765) 0% (2/6765) 0% (2/6765) +zh-hk Chinese Hong Kong Supplementary Character Set (0/2213) (0/2213) (0/2213) +zh-mo Chinese in Macau (0/2213) (0/2213) (0/2213) +zh-sg Chinese in Singapore 0% (2/6765) 0% (2/6765) 0% (2/6765) +zh-tw Chinese (traditional) (0/13063) (0/13063) (0/13063) +zu Zulu 100% (52/52) 100% (52/52) 100% (52/52) diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/unicover.txt b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/unicover.txt new file mode 100644 index 0000000..42c2122 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33/unicover.txt @@ -0,0 +1,215 @@ +This is the Unicode coverage file for DejaVu fonts +($Id$) + +Control and similar characters are discounted from totals. + + Sans Serif Sans Mono +U+0000 Basic Latin 100% (95/95) 100% (95/95) 100% (95/95) +U+0080 Latin-1 Supplement 100% (96/96) 100% (96/96) 100% (96/96) +U+0100 Latin Extended-A 100% (128/128) 100% (128/128) 100% (128/128) +U+0180 Latin Extended-B 100% (208/208) 100% (208/208) 86% (180/208) +U+0250 IPA Extensions 100% (96/96) 100% (96/96) 100% (96/96) +U+02b0 Spacing Modifier Letters 78% (63/80) 57% (46/80) 60% (48/80) +U+0300 Combining Diacritical Marks 83% (93/112) 60% (68/112) 59% (67/112) +U+0370 Greek and Coptic 100% (134/134) 89% (120/134) 82% (110/134) +U+0400 Cyrillic 100% (256/256) 78% (200/256) 70% (180/256) +U+0500 Cyrillic Supplement 95% (38/40) 25% (10/40) 15% (6/40) +U+0530 Armenian 100% (86/86) 100% (86/86) 100% (86/86) +U+0590 Hebrew 62% (54/87) (0/87) (0/87) +U+0600 Arabic 63% (161/252) (0/252) 39% (99/252) +U+0700 Syriac (0/77) (0/77) (0/77) +U+0750 Arabic Supplement (0/48) (0/48) (0/48) +U+0780 Thaana (0/50) (0/50) (0/50) +U+07c0 NKo 91% (54/59) (0/59) (0/59) +U+0800 Samaritan (0/61) (0/61) (0/61) +U+0840 Mandaic (0/29) (0/29) (0/29) +U+0900 Devanagari (0/127) (0/127) (0/127) +U+0980 Bengali (0/92) (0/92) (0/92) +U+0a00 Gurmukhi (0/79) (0/79) (0/79) +U+0a80 Gujarati (0/83) (0/83) (0/83) +U+0b00 Oriya (0/90) (0/90) (0/90) +U+0b80 Tamil (0/72) (0/72) (0/72) +U+0c00 Telugu (0/93) (0/93) (0/93) +U+0c80 Kannada (0/86) (0/86) (0/86) +U+0d00 Malayalam (0/98) (0/98) (0/98) +U+0d80 Sinhala (0/80) (0/80) (0/80) +U+0e00 Thai 1% (1/87) (0/87) (0/87) +U+0e80 Lao 100% (65/65) (0/65) 70% (46/65) +U+0f00 Tibetan (0/211) (0/211) (0/211) +U+1000 Myanmar (0/160) (0/160) (0/160) +U+10a0 Georgian 100% (83/83) 100% (83/83) 54% (45/83) +U+1100 Hangul Jamo (0/256) (0/256) (0/256) +U+1200 Ethiopic (0/358) (0/358) (0/358) +U+1380 Ethiopic Supplement (0/26) (0/26) (0/26) +U+13a0 Cherokee (0/85) (0/85) (0/85) +U+1400 Unified Canadian Aboriginal Syllabics 63% (404/640) (0/640) (0/640) +U+1680 Ogham 100% (29/29) (0/29) (0/29) +U+16a0 Runic (0/81) (0/81) (0/81) +U+1700 Tagalog (0/20) (0/20) (0/20) +U+1720 Hanunoo (0/23) (0/23) (0/23) +U+1740 Buhid (0/20) (0/20) (0/20) +U+1760 Tagbanwa (0/18) (0/18) (0/18) +U+1780 Khmer (0/114) (0/114) (0/114) +U+1800 Mongolian (0/156) (0/156) (0/156) +U+18b0 Unified Canadian Aboriginal Syllabics Extended (0/70) (0/70) (0/70) +U+1900 Limbu (0/66) (0/66) (0/66) +U+1950 Tai Le (0/35) (0/35) (0/35) +U+1980 New Tai Lue (0/83) (0/83) (0/83) +U+19e0 Khmer Symbols (0/32) (0/32) (0/32) +U+1a00 Buginese (0/30) (0/30) (0/30) +U+1a20 Tai Tham (0/127) (0/127) (0/127) +U+1b00 Balinese (0/121) (0/121) (0/121) +U+1b80 Sundanese (0/55) (0/55) (0/55) +U+1bc0 Batak (0/56) (0/56) (0/56) +U+1c00 Lepcha (0/74) (0/74) (0/74) +U+1c50 Ol Chiki (0/48) (0/48) (0/48) +U+1cd0 Vedic Extensions (0/35) (0/35) (0/35) +U+1d00 Phonetic Extensions 82% (106/128) 86% (111/128) 48% (62/128) +U+1d80 Phonetic Extensions Supplement 59% (38/64) 59% (38/64) 57% (37/64) +U+1dc0 Combining Diacritical Marks Supplement 13% (6/43) 13% (6/43) (0/43) +U+1e00 Latin Extended Additional 98% (252/256) 98% (252/256) 71% (182/256) +U+1f00 Greek Extended 100% (233/233) 100% (233/233) 100% (233/233) +U+2000 General Punctuation 100% (107/107) 81% (87/107) 48% (52/107) +U+2070 Superscripts and Subscripts 100% (42/42) 100% (42/42) 100% (42/42) +U+20a0 Currency Symbols 92% (24/26) 26% (7/26) 92% (24/26) +U+20d0 Combining Diacritical Marks for Symbols 21% (7/33) (0/33) (0/33) +U+2100 Letterlike Symbols 93% (75/80) 40% (32/80) 21% (17/80) +U+2150 Number Forms 94% (55/58) 94% (55/58) 22% (13/58) +U+2190 Arrows 100% (112/112) 100% (112/112) 100% (112/112) +U+2200 Mathematical Operators 100% (256/256) 39% (100/256) 62% (159/256) +U+2300 Miscellaneous Technical 26% (65/244) 14% (35/244) 47% (117/244) +U+2400 Control Pictures 5% (2/39) 2% (1/39) 2% (1/39) +U+2440 Optical Character Recognition (0/11) (0/11) (0/11) +U+2460 Enclosed Alphanumerics 6% (10/160) (0/160) (0/160) +U+2500 Box Drawing 100% (128/128) 100% (128/128) 100% (128/128) +U+2580 Block Elements 100% (32/32) 100% (32/32) 100% (32/32) +U+25a0 Geometric Shapes 100% (96/96) 100% (96/96) 100% (96/96) +U+2600 Miscellaneous Symbols 73% (187/256) 11% (30/256) 58% (149/256) +U+2700 Dingbats 91% (174/191) 0% (1/191) 75% (144/191) +U+27c0 Miscellaneous Mathematical Symbols-A 19% (9/46) 10% (5/46) 10% (5/46) +U+27f0 Supplemental Arrows-A 100% (16/16) 100% (16/16) (0/16) +U+2800 Braille Patterns 100% (256/256) 100% (256/256) (0/256) +U+2900 Supplemental Arrows-B 4% (6/128) 100% (128/128) (0/128) +U+2980 Miscellaneous Mathematical Symbols-B 10% (13/128) 0% (1/128) 2% (3/128) +U+2a00 Supplemental Mathematical Operators 28% (72/256) 1% (4/256) 0% (1/256) +U+2b00 Miscellaneous Symbols and Arrows 40% (35/87) 31% (27/87) 10% (9/87) +U+2c00 Glagolitic (0/94) (0/94) (0/94) +U+2c60 Latin Extended-C 96% (31/32) 81% (26/32) 43% (14/32) +U+2c80 Coptic (0/121) (0/121) (0/121) +U+2d00 Georgian Supplement (0/38) 100% (38/38) (0/38) +U+2d30 Tifinagh 96% (55/57) (0/57) (0/57) +U+2d80 Ethiopic Extended (0/79) (0/79) (0/79) +U+2de0 Cyrillic Extended-A (0/32) (0/32) (0/32) +U+2e00 Supplemental Punctuation 12% (6/50) 12% (6/50) 12% (6/50) +U+2e80 CJK Radicals Supplement (0/115) (0/115) (0/115) +U+2f00 Kangxi Radicals (0/214) (0/214) (0/214) +U+2ff0 Ideographic Description Characters (0/12) (0/12) (0/12) +U+3000 CJK Symbols and Punctuation (0/64) (0/64) (0/64) +U+3040 Hiragana (0/93) (0/93) (0/93) +U+30a0 Katakana (0/96) (0/96) (0/96) +U+3100 Bopomofo (0/41) (0/41) (0/41) +U+3130 Hangul Compatibility Jamo (0/94) (0/94) (0/94) +U+3190 Kanbun (0/16) (0/16) (0/16) +U+31a0 Bopomofo Extended (0/27) (0/27) (0/27) +U+31c0 CJK Strokes (0/36) (0/36) (0/36) +U+31f0 Katakana Phonetic Extensions (0/16) (0/16) (0/16) +U+3200 Enclosed CJK Letters and Months (0/254) (0/254) (0/254) +U+3300 CJK Compatibility (0/256) (0/256) (0/256) +U+3400 CJK Unified Ideographs Extension A (0/0) (0/0) (0/0) +U+4dc0 Yijing Hexagram Symbols 100% (64/64) (0/64) (0/64) +U+4e00 CJK Unified Ideographs (0/0) (0/0) (0/0) +U+a000 Yi Syllables (0/1165) (0/1165) (0/1165) +U+a490 Yi Radicals (0/55) (0/55) (0/55) +U+a4d0 Lisu (0/48) (0/48) (0/48) +U+a500 Vai (0/300) (0/300) (0/300) +U+a640 Cyrillic Extended-B 38% (31/80) 12% (10/80) (0/80) +U+a6a0 Bamum (0/88) (0/88) (0/88) +U+a700 Modifier Tone Letters 62% (20/32) 62% (20/32) 62% (20/32) +U+a720 Latin Extended-D 48% (62/129) 42% (55/129) 10% (14/129) +U+a800 Syloti Nagri (0/44) (0/44) (0/44) +U+a830 Common Indic Number Forms (0/10) (0/10) (0/10) +U+a840 Phags-pa (0/56) (0/56) (0/56) +U+a880 Saurashtra (0/81) (0/81) (0/81) +U+a8e0 Devanagari Extended (0/28) (0/28) (0/28) +U+a900 Kayah Li (0/48) (0/48) (0/48) +U+a930 Rejang (0/37) (0/37) (0/37) +U+a960 Hangul Jamo Extended-A (0/29) (0/29) (0/29) +U+a980 Javanese (0/91) (0/91) (0/91) +U+aa00 Cham (0/83) (0/83) (0/83) +U+aa60 Myanmar Extended-A (0/28) (0/28) (0/28) +U+aa80 Tai Viet (0/72) (0/72) (0/72) +U+ab00 Ethiopic Extended-A (0/33) (0/33) (0/33) +U+abc0 Meetei Mayek (0/56) (0/56) (0/56) +U+ac00 Hangul Syllables (0/0) (0/0) (0/0) +U+d7b0 Hangul Jamo Extended-B (0/72) (0/72) (0/72) +U+d800 High Surrogates (0/0) (0/0) (0/0) +U+db80 High Private Use Surrogates (0/0) (0/0) (0/0) +U+dc00 Low Surrogates (0/0) (0/0) (0/0) +U+e000 Private Use Area (0/0) (0/0) (0/0) +U+f900 CJK Compatibility Ideographs (0/470) (0/470) (0/470) +U+fb00 Alphabetic Presentation Forms 100% (58/58) 12% (7/58) 3% (2/58) +U+fb50 Arabic Presentation Forms-A 16% (98/611) (0/611) 11% (72/611) +U+fe00 Variation Selectors 100% (16/16) 100% (16/16) (0/16) +U+fe10 Vertical Forms (0/10) (0/10) (0/10) +U+fe20 Combining Half Marks 57% (4/7) (0/7) (0/7) +U+fe30 CJK Compatibility Forms (0/32) (0/32) (0/32) +U+fe50 Small Form Variants (0/26) (0/26) (0/26) +U+fe70 Arabic Presentation Forms-B 100% (141/141) (0/141) 100% (141/141) +U+ff00 Halfwidth and Fullwidth Forms (0/225) (0/225) (0/225) +U+fff0 Specials 100% (5/5) 100% (5/5) 100% (5/5) +U+10000 Linear B Syllabary (0/88) (0/88) (0/88) +U+10080 Linear B Ideograms (0/123) (0/123) (0/123) +U+10100 Aegean Numbers (0/57) (0/57) (0/57) +U+10140 Ancient Greek Numbers (0/75) (0/75) (0/75) +U+10190 Ancient Symbols (0/12) (0/12) (0/12) +U+101d0 Phaistos Disc (0/46) (0/46) (0/46) +U+10280 Lycian (0/29) (0/29) (0/29) +U+102a0 Carian (0/49) (0/49) (0/49) +U+10300 Old Italic 100% (35/35) (0/35) (0/35) +U+10330 Gothic (0/27) (0/27) (0/27) +U+10380 Ugaritic (0/31) (0/31) (0/31) +U+103a0 Old Persian (0/50) (0/50) (0/50) +U+10400 Deseret (0/80) (0/80) (0/80) +U+10450 Shavian (0/48) (0/48) (0/48) +U+10480 Osmanya (0/40) (0/40) (0/40) +U+10800 Cypriot Syllabary (0/55) (0/55) (0/55) +U+10840 Imperial Aramaic (0/31) (0/31) (0/31) +U+10900 Phoenician (0/29) (0/29) (0/29) +U+10920 Lydian (0/27) (0/27) (0/27) +U+10a00 Kharoshthi (0/65) (0/65) (0/65) +U+10a60 Old South Arabian (0/32) (0/32) (0/32) +U+10b00 Avestan (0/61) (0/61) (0/61) +U+10b40 Inscriptional Parthian (0/30) (0/30) (0/30) +U+10b60 Inscriptional Pahlavi (0/27) (0/27) (0/27) +U+10c00 Old Turkic (0/73) (0/73) (0/73) +U+10e60 Rumi Numeral Symbols (0/31) (0/31) (0/31) +U+11000 Brahmi (0/108) (0/108) (0/108) +U+11080 Kaithi (0/66) (0/66) (0/66) +U+12000 Cuneiform (0/879) (0/879) (0/879) +U+12400 Cuneiform Numbers and Punctuation (0/103) (0/103) (0/103) +U+13000 Egyptian Hieroglyphs (0/1071) (0/1071) (0/1071) +U+16800 Bamum Supplement (0/569) (0/569) (0/569) +U+1b000 Kana Supplement (0/2) (0/2) (0/2) +U+1d000 Byzantine Musical Symbols (0/246) (0/246) (0/246) +U+1d100 Musical Symbols (0/220) (0/220) (0/220) +U+1d200 Ancient Greek Musical Notation (0/70) (0/70) (0/70) +U+1d300 Tai Xuan Jing Symbols 100% (87/87) (0/87) (0/87) +U+1d360 Counting Rod Numerals (0/18) (0/18) (0/18) +U+1d400 Mathematical Alphanumeric Symbols 11% (117/996) 5% (55/996) 6% (62/996) +U+1f000 Mahjong Tiles (0/44) (0/44) (0/44) +U+1f030 Domino Tiles 100% (100/100) (0/100) (0/100) +U+1f0a0 Playing Cards 100% (59/59) (0/59) (0/59) +U+1f100 Enclosed Alphanumeric Supplement (0/169) (0/169) (0/169) +U+1f200 Enclosed Ideographic Supplement (0/57) (0/57) (0/57) +U+1f300 Miscellaneous Symbols And Pictographs 0% (4/529) (0/529) (0/529) +U+1f600 Emoticons 80% (51/63) (0/63) (0/63) +U+1f680 Transport And Map Symbols (0/70) (0/70) (0/70) +U+1f700 Alchemical Symbols (0/116) (0/116) (0/116) +U+20000 CJK Unified Ideographs Extension B (0/0) (0/0) (0/0) +U+2a700 CJK Unified Ideographs Extension C (0/0) (0/0) (0/0) +U+2b740 CJK Unified Ideographs Extension D (0/0) (0/0) (0/0) +U+2f800 CJK Compatibility Ideographs Supplement (0/542) (0/542) (0/542) +U+e0000 Tags (0/98) (0/98) (0/98) +U+e0100 Variation Selectors Supplement (0/240) (0/240) (0/240) +U+f0000 Supplementary Private Use Area-A (0/0) (0/0) (0/0) +U+100000 Supplementary Private Use Area-B (0/0) (0/0) (0/0) diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS new file mode 100644 index 0000000..94df1e3 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS @@ -0,0 +1,54 @@ +abysta at yandex.ru +Adrian Schroeter +Aleksey Chalabyan +Andrey Valentinovich Panov +Ben Laenen +Besarion Gugushvili +Bhikkhu Pesala +Clayborne Arevalo +Dafydd Harries +Danilo Segan +Davide Viti +David Jez +David Lawrence Ramsey +Denis Jacquerye +Dwayne Bailey +Eugeniy Meshcheryakov +Gee Fung Sit +Heikki Lindroos +James Cloos +James Crippen +John Karp +Keenan Pepper +Lars Naesbye Christensen +Lior Halphon +MaEr +Mashrab Kuvatov +Max Berger +Mederic Boquien +Michael Everson +MihailJP +Misu Moldovan +Nguyen Thai Ngoc Duy +Nicolas Mailhot +Norayr Chilingarian +Ognyan Kulev +Ondrej Koala Vacha +Peter Cernak +Remy Oudompheng +Roozbeh Pournader +Rouben Hakobian +Sahak Petrosyan +Sander Vesik +Stepan Roh +Stephen Hartke +Steve Tinney +Tavmjong Bah +Thomas Henlich +Tim May +Valentin Stoykov +Vasek Stodulka +Wesley Transue +Yoshiki Ohshima + +$Id: AUTHORS 2495 2011-11-14 22:56:26Z noct_dreamer $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS new file mode 100644 index 0000000..49b36de --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS @@ -0,0 +1,3 @@ +See http://dejavu.sourceforge.net/wiki/index.php/Bugs + +$Id: BUGS 80 2004-11-13 13:12:02Z src $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE new file mode 100644 index 0000000..254e2cc --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE @@ -0,0 +1,99 @@ +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. +Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) + +Bitstream Vera Fonts Copyright +------------------------------ + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is +a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute the +Font Software, including without limitation the rights to use, copy, merge, +publish, distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to the +following conditions: + +The above copyright and trademark notices and this permission notice shall +be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional glyphs or characters may be added to the Fonts, only if the fonts +are renamed to names not containing either the words "Bitstream" or the word +"Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream +Vera" names. + +The Font Software may be sold as part of a larger software package but no +copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING +ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE +FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font Software +without prior written authorization from the Gnome Foundation or Bitstream +Inc., respectively. For further information, contact: fonts at gnome dot +org. + +Arev Fonts Copyright +------------------------------ + +Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and +associated documentation files (the "Font Software"), to reproduce +and distribute the modifications to the Bitstream Vera Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to +the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Tavmjong Bah" or the word "Arev". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Tavmjong Bah Arev" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the name of Tavmjong Bah shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Font Software without prior written authorization +from Tavmjong Bah. For further information, contact: tavmjong @ free +. fr. + +$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS new file mode 100644 index 0000000..c846d49 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS @@ -0,0 +1,1373 @@ +Changes from 2.33 to 2.34 +* Sans, SansMono, Serif: unlinked references of U+2596 for bug 50848 + (by Denis Jacquerye) +* Sans, SansMono, Serif: added U+A7AA (by Denis Jacquerye) +* Sans, SansMono, Serif: added U+2A6A, U+2A6B, U+2E1F based on U+223B + (by Denis Jacquerye) +* Sans, Serif: removed superfluous ligature definitions for ffl und ffi + (bug 55363) (by Gee Fung Sit 薛至峰) +* Sans, Serif: swapped glyphs for U+25D2 and U+25D3 (bug 55197) + (by Gee Fung Sit 薛至峰) +* Sans, Serif: added U+A740, U+A741 (by Denis Jacquerye) +* Sans: added U+20BA Turkish Lira sign (by Denis Jacquerye) +* Sans: replaced Georgian Asomtavruli U+10A0-U+10C5 and Mkhedruli U+10D0-U+10FC + with new version (by Besarion Gugushvili) +* Sans: added Georgian Nuskhuri U+2D00-U+U+2D25 (by Besarion Gugushvili) +* Sans: added Private Use Area glyphs for Georgian U+F400-U+F441 + (by Besarion Gugushvili) +* Sans: tweaked U+0250, U+0254 (by Denis Jacquerye) +* Sans: adjusted hinting of U+032C-U+032D, avoiding problem on some platforms + (by Denis Jacquerye) +* Sans: added U+A7A0-U+A7A9, pre-1921 Latvian letters with oblique stroke + (by Denis Jacquerye) +* Sans: added anchors to U+2C6D (by Denis Jacquerye) +* Sans: added cedilla anchor to some Latin characters (by Denis Jacquerye) +* Sans: added ogonek anchor to A, E, O, U, Y (by Denis Jacquerye) +* Sans: adjusted ogonek reference in U+0172, U+01EA, U+01EB + (by Denis Jacquerye) +* Sans: added anchors to U+0104, U+0105 (by Denis Jacquerye) +* Sans: added U+1F600, U+1F611, U+1F615, U+1F617, U+1F619, U+1F61B, U+1F61F, + U+1F626-U+1F627, U+1F62E-U+1F62F, U+1F634 (by Gee Fung Sit 薛至峰) +* Sans: replaced U+27A1 with mirror image of U+2B05 for consistency + (by Gee Fung Sit 薛至峰) +* Sans: copied hints from U+14A3, U+14A7 to U+2142-U+2143 + (by Gee Fung Sit 薛至峰) +* Sans: added Lisu block (by Gee Fung Sit 薛至峰) +* Sans: typographical improvements to U+0166-U+0167, U+02A6, U+02AA + (by Gee Fung Sit 薛至峰) +* Sans: slightly change hinting of "2" to fix bug 37395 (by Ben Laenen) +* Sans: fixed U+1444 which had wrong top dot that shouldn't be there + (by Denis Jacquerye) +* Sans: added anchors for diacritics to U+01B7, U+01B8, U+01B9, U+0292 + (by Denis Jacquerye) +* Sans: added U+01B7, U+01B8 to context for case diacritics above +* SansMono: fixed U+0574 (by Ruben Hakobian) +* SansMono: added U+2016, U+27C2 (by Yoshiki Ohshima) +* SansMono: added U+02CE, U+02CF (by Denis Jacquerye) +* SansMono: added U+2148, U+27E6-U+27E7, U+2B05-U+2B0D, U+1D55A + (by Gee Fung Sit 薛至峰) +* Serif: added U+02BA, U+02C2-U+02C5, U+02CA-U+02CB, U+02D7, U+02F3, U+02F7, + U+046C-U+046D, U+0476-U+0477, U+1D7C-U+1D7F, U+20B8, U+2132, U+214E, U+2C7B + to Serif (by Gee Fung Sit 薛至峰) +* Serif: typographic improvements to U+0194, U+01B1, U+0263, U+028A, U+02A6, + U+02A8, U+02AA, U+02E0, U+03DC, U+1D3B, U+1D7B (by Gee Fung Sit 薛至峰) +* Serif: added small cap versions of q, x (in italic styles), delta, theta, xi, + sigma, phi, omega, not wired in yet (by Gee Fung Sit 薛至峰) +* Serif: added anchors to U+0234-U+0236 (by Gee Fung Sit 薛至峰) +* Serif: added U+02EC, U+02EF, U+02F0, U+0360 (by Denis Jacquerye) + +Changes from 2.32 to 2.33 + +* added Old Italic block to Sans (by MaEr) +* added U+051E, U+051F to Sans (by MaEr) +* added U+01BA, U+0372-U+0373, U+0376-U+0377, U+03CF, U+1D00-U+1D01, + U+1D03-U+1D07, U+1D0A-U+1D13, U+1D15, U+1D18-U+1D1C, U+1D20-U+1D2B, + U+1D2F, U+1D3D, U+1D5C-U+1D61, U+1D66-U+1D6B, U+1DB8, U+1E9C-U+1E9D, + U+1EFA-U+1EFB, U+2C60-U+2C61, U+2C63, U+A726-U+A73C, U+A73E-U+A73F, + U+A746-U+A747, U+A74A-U+A74B, U+A74E+U+A74F, U+A768-U+A769, U+A77B-U+A77C, + U+A780-U+A787, U+A790-U+A791, U+A7FA-U+A7FF to Serif (by Gee Fung Sit 薛至峰) +* added alternate forms to U+014A and U+01B7 in Serif (by Gee Fung Sit 薛至峰) +* typographical improvements to U+0166-U+0167, U+0197, U+01B5-U+01B6, U+01BB, + U+0222-U+0223, U+023D, U+0250-U+0252, U+026E, U+0274, U+028F, U+029F, + U+02A3-U+02A5, U+02AB, U+03FE-U+03FF, U+1D02, U+1D14, U+1D1D-U+1D1F, U+1D3B, + U+1D43-U+1D46, U+1D59, U+1D9B, U+2C71, U+2C73 in Serif (by Gee Fung Sit 薛至峰) +* fixed bugs #31762 and #34700 plus other small fixes (wrong direction, + duplicate points, etc.) for Sans and Serif (by Gee Fung Sit 薛至峰) +* added U+204B to Mono (by Gee Fung Sit 薛至峰) +* added U+26E2 to Sans (by Gee Fung Sit 薛至峰) +* added Playing Cards block (U+1F0A0-U+1F0DF) to Sans (by Gee Fung Sit 薛至峰) +* emoticons in Sans: replace U+2639-U+263B with better versions, add + U+1F601-U+1F610, U+1F612-U+1F614, U+1F616, U+1F618, U+1F61A, U+1F61C-U+1F61E, + U+1F620-U+1F624, U+1F625, U+1F628-U+1F62B, U+1F62D, U+1F630-U+1F633, + U+1F635-U+1F640 (by Ben Laenen and Denis Jacquerye) +* added U+A78E, U+A790-U+A791 to Sans and Mono (by Denis Jacquerye) +* added U+A7FA to Sans (by Denis Jacquerye) +* subscripts: added U+2095-U+209C to Sans, Serif and Mono, adjusted + U+1D49-U+1D4A in Sans and Mono (by Denis Jacquerye) +* added U+0243 to Mono (by Denis Jacquerye) +* adjusted U+0307 to match dot of i, replaced dotaccent U+02D9 with U+0307 in +most dependencies in Sans (by Denis Jacquerye) +* adjusted anchors of f and added them to long s in Sans (by Denis Jacquerye) +* added anchors to precomposed dependencies of D and d (by Denis Jacquerye) +* added debug glyphs U+F002 and U+F003 which will show current point size (by + Ben Laenen) +* use correct version for Serbian italic be (by Eugeniy Meshcheryakov) +* added pictograms U+1F42D-U+1F42E, U+1F431, U+1F435 (by Denis Jacquerye) +* improved Hebrew in Sans (by Lior Halphon) +* improved Armenian in Sans, and added Armenian in Serif and Mono (by Rouben + Hakobian (Tarumian), Aleksey Chalabyan and Norayr Chilingarian) +* remove "locl" feature for Romanian for S/T/s/t with cedilla/comma accent (by + Ben Laenen) +* replace wrong "dflt" script tag in Mono with "DFLT" (by Ben Laenen) + +Changes from 2.31 to 2.32 + +* added to Sans: Latin small letter p with stroke (U+1D7D), Latin capital + letter p with stroke through descender (U+A750), Latin small letter p with + stroke through descender (U+A751), Latin capital letter thorn with stroke + (U+A764), Latin small letter thorn with stroke (U+A765), Latin capital letter + thorn with stroke through descender (U+A766), Latin small letter thorn with + stroke through descender (U+A767), Latin capital letter q with stroke through + descender (U+A756), Latin small letter q with stroke through descender + (U+A757), Latin capital letter p with flourish (U+A752), Latin small letter p + with flourish (U+A753) (by Ben Laenen) +* add new Indian rupee symbol (U+20B9) to Sans, Serif and Mono (although + standardization in Unicode not complete yet, UTC did assign this code point) + (by Ben Laenen) +* Sans: adjusted U+0E3F, U+20AB, U+20AD-U+20AE, U+20B1, U+20B5, U+20B8 to have + them take up the same width as digits (by Gee Fung Sit 薛至峰) +* added U+23E8 to Sans (by Thomas Henlich) +* fixed numerous bugs (#22579, #28189, #28977, N'Ko in Windows, fixed U+FB4F, + anchors for U+0332-U+0333, made extensions in Misc. Technical connect, and + other small fixes) (by Gee Fung Sit 薛至峰) +* added looptail g as stylistic variant to Serif (by Gee Fung Sit 薛至峰) +* added the remaining precomposed characters in Latin Extended Additional in + Serif (by Gee Fung Sit 薛至峰) +* added Georgian Mkhedruli (U+10D0-U+10FC) to Sans ExtraLight (by Besarion + Gugushvili) +* fix spacing in hinting of U+042E (Ю) in Mono (by Ben Laenen) +* replaced U+2650 and minor changes to U+2640-U+2642, U+2699, U+26A2-U+26A5, + U+26B2-U+26B5, U+26B8 in Sans (by Gee Fung Sit 薛至峰) +* added U+1E9C-U+1E9D, U+1EFA-U+1EFB, U+2028-U+2029, U+20B8, U+2150-U+2152, + U+2189, U+26C0-U+26C3, U+A722-U+A725, U+1F030-U+1F093 to Sans (by Gee Fung + Sit 薛至峰) +* added U+1E9C-U+1E9E, U+1EFA-U+1EFB, U+2028-U+2029, U+20B8, U+2181-U+2182, + U+2185 U+A722-U+A725, to Sans ExtraLight (by Gee Fung Sit 薛至峰) +* added U+20B8, U+22A2-U+22A5, U+A722-U+A725 to Mono (by Gee Fung Sit 薛至峰) +* added U+02CD, U+01BF, U+01F7, U+0222-U+0223, U+0243-U+0244, U+0246-U+024F, + U+2150-U+2152, U+2189, U+239B-U+23AD and U+A73D to Serif (by Gee Fung Sit + 薛至峰) + +Changes from 2.30 to 2.31 + +* fixed bug where Serif Condensed Italic wouldn't get proper subfamily tags (by + Ben Laenen) +* added math operators U+2234-U+2237 to Mono (by Ben Laenen) +* removed buggy instructions of U+032D (by Eugeniy Meshcheryakov) +* added U+2C70, U+2C7E, U+2C7F to Sans and Sans Mono (by Denis Jacquerye) +* added U+2C7D to Sans Mono (by Denis Jacquerye) +* added U+2C6D, U+2C70-2C73, U+2C7E-2C7F to Serif (by Denis Jacquerye) +* added extremas to alpha U+03B1 in Serif-Italic (by Denis Jacquerye) +* added U+4A4, U+4A5 to Mono (by Andrey V. Panov) +* added Arabic letters U+0657, U+0670, U+0688-U+0690, U+0693-U+0694, + U+0696-U+0697, U+0699-U+06A0, U+06A2-U+06A3, U+06A5, U+06A7-U+06A8, + U+06AA-U+06AE, U+06B0-U+06B4, U+06B6-U+06B9, U+06BB-U+06BE and their + contextual forms to Sans (by MihailJP) +* added U+A78D LATIN CAPITAL LETTER TURNED H for coming Unicode 6.0 (by Denis + Jacquerye) + +Changes from 2.29 to 2.30 + +* added U+0462-U+0463 to Mono (by Denis Jacquerye) +* corrected U+1E53 in Serif (by Gee Fung Sit) +* added U+1E4C-U+1E4D to Mono and Serif (by Gee Fung Sit) +* added U+1E78-U+1E79 to Mono (by Gee Fung Sit) +* fixed missing diacritics in Latin Extended Additional in Sans ExtraLight + (moved stacked diacritics out of PUA in the process) (by Gee Fung Sit) +* fixed anchors on U+1E78 in Serif (by Gee Fung Sit) +* added U+1DC4-U+1DC9 to Serif (by Denis Jacquerye) +* renamed above-mark to above-mark in Serif-Italic (by Denis Jacquerye) +* added U+1DC4-U+1DC9 to context class for dotless substitution (by Denis + Jacquerye) +* changed Doubleacute to Doublegrave in Sans ExtraLight (by Gee Fung Sit) +* removed redundant reference in U+01FB in Sans Oblique (by Gee Fung Sit) +* added U+A726-U+A727 to Mono (Denis Jacquerye) +* changed U+04BE and U+04BF according to recommedations of Sasha Ankwab in Sans + (by Andrey V. Panov) +* remove "Symbol Charset" from set of codepages in Sans (by Eugeniy + Meshcheryakov) + +Changes from 2.28 to 2.29 + +* modified U+10FB in Sans to be a mirror image of U+2056, since U+10FB is not + Georgian-specific (by Roozbeh Pournader) +* added U+2B1F, U+2B24, U+2B53, U+2B54 in Sans (by Roozbeh Pournader) +* fixed TUR opentype language tag to TRK in Serif (bug 19825) (by Ben Laenen) +* early implementation of Abkhaz letter U+0524-U+0525 in Sans + (by Michael Everson and abysta) +* flipped U+1D538 in Sans (by Gee Fung Sit) +* added U+26B3-U+26B8, U+1D7D8-U+1D7E1 in Sans (by Gee Fung Sit) +* corrected U+1D7A9 in Sans Bold Oblique (by Gee Fung Sit) +* Fixed U+0649 to be dual-joining in Sans Mono (by Roozbeh Pournader) +* Remove unnecessary 'isol' feature from Sans Mono (by Roozbeh Pournader) +* Remove 'cmap' mappings for U+066E, U+066F, U+067C, U+067D, U+0681, U+0682, + U+0685, U+0692, U+06A1, U+06B5, U+06BA, U+06C6, U+06CE, and U+06D5 + in Sans Mono (bug 20323) (by Roozbeh Pournader) +* add half brackets (U+2E22 - U+2E25, by Steve Tinney) + +Changes from 2.27 to 2.28 + +* added U+A789, U+A78A in Sans and Sans Mono (by Denis Jacquerye) +* modified U+02D6, U+02D7, U+02EE in Sans and Sans Mono (by Denis Jacquerye) +* added U+1E9E (German capital ß) to Sans and Serif (by Denis Jacquerye) +* adjusted width of U+01B7-U+01B9 in Serif Italic (by Denis Jacquerye) +* modified U+021C, U+021D in Sans (by Denis Jacquerye) +* added U+021C, U+021D in Mono (by Denis Jacquerye) +* added U+F428 (Georgian Nuskhuri "f") in private use area (by Besarion + Gugushvili) +* updated Georgian mkhedruli (U+10D0-U+10FA) with new version (by Besarion + Gugushvili) +* updated Georgian asomtavruli (U+10A0-U+10C5) with new version (by Besarion + Gugushvili) +* added Georgian nuskhuri (U+2D00-U+2D25) (by Besarion Gugushvili) +* added Georgian mtavruli in private use area (U+F400-U+F426) (by Besarion + Gugushvili) +* added mark anchors above to Cyrillic U+0430-U+0438, U+043A-U+044F, + U+0454-U+0455 in Mono (by Ben Laenen) +* modified/moved up U+0318-U+0319, U+031C-U+031F, U+0329-U+032A, U+032C-U+032D, + U+0339-U+033B, U+0348 and U+0353 in Sans to prevent cut-off (by Gee Fung Sit) +* added U+035A to Sans (by Gee Fung Sit) +* updated fontconfig files (by Nicolas Mailhot) +* added U+2032-2037 to Mono (by Denis Jacquerye) +* added Ogham to Sans ExtraLight (by Gee Fung Sit) +* added U+2C6F, U+2C79, U+2C7C-2C7D to Mono (by Gee Fung Sit) +* added U+210F to Serif and Sans ExtraLight (by Gee Fung Sit) +* changed U+210F to a more common glyph in Sans and Mono (by Gee Fung Sit) + +Changes from 2.26 to 2.27 + +* added some of Michael Everson's new Cyrillic glyphs to Sans (by Wesley + Transue) +* removed blank glyph at U+05EF from Sans Bold Oblique (by Gee Fung Sit) +* small adjustments to existing tone bars in Sans and Mono (by Gee Fung Sit) +* added U+0372-U+0373, U+0376-U+0377, U+03CF, U+A668-U+A66E, U+A708-U+A711, + U+A71B-U+A71F to Sans (by Gee Fung Sit) +* copied U+02E5-U+02E9 over from Sans to fix inconsistencies in Serif (by Gee + Fung Sit) +* added U+021C-U+021D, U+0370-U+0371, U+037B-U+037D, U+0470-U+0471, + U+0510-U+0515, U+051A-U+051D, U+1E9F, U+2C64, U+2C6E-U+2C6F, U+2C79, + U+2C7C-U+2C7D, U+A644-U+A647, U+A650-U+A651, U+A654-U+A657, U+A708-U+A716, + U+A71B-U+A71F to Serif (by Gee Fung Sit) +* added U+A708-U+A716, U+A71B-U+A71F to Mono (by Gee Fung Sit) +* added anchors to U+017F (ſ) and fixed U+1E9B (ẛ) in Serif (by Gee Fung Sit) +* made U+0325 smaller in Sans Bold and Serif to match Sans Book (by Gee Fung + Sit) +* fixes to U+02F3 (moved up), U+228F-U+2294 (more square-like) and + U+22CE-U+22CF (stroke width) in Sans (by Gee Fung Sit) +* replaced U+2202 ∂ (Sans and Mono) and U+221D ∝, U+221E ∞ (Sans) with glyphs + from Arev (with small changes) (by Gee Fung Sit) +* added U+22B0-U+22B1, U+22C7, U+22D0-U+22D5 from Arev to Sans to complete the + block (by Gee Fung Sit) +* added U+0514-U+0515 to Sans ExtraLight (by Gee Fung Sit) +* skewed U+A78C in all Oblique/Italic fonts (by Gee Fung Sit) +* moved U+2215 to U+2044 in Sans and Serif and replaced U+2215 with reference + to U+002F in all fonts (by Gee Fung Sit) +* added U+2C6E to Mono (by Denis Jacquerye) +* added U+A782 and U+A783 in Sans (by Wesley Transue) +* added U+0244, U+024C-024D, U+2C64 in Sans Mono (by Denis Jacquerye) +* modified U+01AE in Sans Mono (by Denis Jacquerye) +* added U+2C7A to all fonts (by Gee Fung Sit) +* italicized/small changes to U+2C76 in Serif (Bold) Italic (by Gee Fung Sit) +* improved outlines of U+2C68, U+2C6A, U+2C6C in Serif (Bold) Italic (by Gee + Fung Sit) +* rounded U+2C77 at the bottom in Serif (by Gee Fung Sit) +* added joining behavior for tone letters (U+02E5-U+02E9) in Sans (bug #15669) + (by Gee Fung Sit) +* fixed outline of y.alt in Sans Regular (by Denis Jacquerye) +* changed references of U+1D5A8, U+1D5C5, U+1D5DC, U+1D5F9, U+1D610, U+1D62D, + U+1D644 and U+1D661 to stylistic alternates to have a better distinction (by + Gee Fung Sit) +* hinted I.alt in Sans Regular (by Gee Fung Sit) +* added U+0487, completing Cyrillic block (by Gee Fung Sit) +* extended the bar of U+0463 to the right and moved the anchor (by Gee Fung + Sit) +* added anchors to glyphs in Cyrillic block (by Gee Fung Sit) +* added (preliminary) hints to tone letter forms (U+02E5.5, U+02E9.1, stem) in + Sans Book (by Gee Fung Sit) + +Changes from 2.25 to 2.26 + +- added glyphs for Cyrillic-B to Sans (by Wesley Transue) +- added U+0370-U+0371 to Sans (by Wesley Transue) +- added U+019C, U+01A2-U+01A3, U+01A6, U+01E4-U+01E5, U+024C-U+024D, U+0285, + U+0290, U+02A0, U+0370-U+0371, U+03F1, U+03FC to Sans ExtraLight (by Wesley + Transue) +- added U+20A0-U+20A5, U+20A7-U+20B3, U+2105, U+210D, U+210F, U+2115, U+2117, + U+2119-U+211A, U+211D, U+2124, U+212E, U+2200-U+2204 to Mono (by Heikki + Lindroos) +- added U+01BA and U+01BF to Mono (by Heikki Lindroos) +- merged OpenType "aalt" feature in Latin in Sans (by Denis Jacquerye) +- added alternative shape for y in Sans (by Denis Jacquerye) +- added saltillo (U+A78B-U+A78C) to all faces (by James Cloos) +- changed U+047C-U+047D to references instead of outlines in Sans (by Wesley + Transue) +- added Latin letter tresillo U+A72A-U+A72B to Sans (by Wesley Transue) +- added U+A734-U+A737 to Sans (by Wesley Transue) +- added U+2053 to Serif and fixed it bug:9425 in Sans (by Gee Fung Sit) +- removed problematic hints for U+0423 bug:10025 (by Gee Fung Sit) +- added U+27C5-U+27C6 bug:10255 to all faces (by Gee Fung Sit) +- fixed width of U+2016 in Sans Oblique (by Gee Fung Sit) +- added U+2016, U+2032-U+2038, U+2042, U+2045-U+2046, U+204B-U+204F, + U+2051-U+2052, U+2057 to Serif (by Gee Fung Sit) +- made U+2140 bigger to match other n-ary operators (by Gee Fung Sit) +- added U+0606-U+0607, U+0609-U+060A to Sans (by Gee Fung Sit) +- added U+221B-U+221C to Mono (by Gee Fung Sit) +- small adjustments to U+221B-U+221C in Sans and Serif (by Gee Fung Sit) +- update U+04B4-U+04B5 in Serif (by Andrey V. Panov) +- increased max-storage value from maxp table to 153 (by Andrey V. Panov) +- added U+0472-U+0473, U+0510-U+0511, U+051A-U+051D, U+0606-U+0607, + U+0609-U+060A, U+1E26-U+1E27, U+1E54-U+1E55, U+1E7C-U+1E7D, U+1E8C-U+1E8D, + U+1E90-U+1E91, U+1E97-U+1E99, U+1E9F, U+1EAC-U+1EAD, U+1EB6-U+1EB7, + U+1EC6-U+1EC7, U+1ED8-U+1EDD, U+1EE0-U+1EE3, U+1EE8-U+1EEB, U+1EEE-U+1EF1 to + Mono (by Gee Fung Sit) +- added locl rules for S/T cedilla for Romanian and Moldavian so they get + rendered as S/T with comma accent (see Redhat bug #455981) (by Ben Laenen) +- removed ligature rule from Armenian U+0587 bug:16113 (by Gee Fung Sit) + +Changes from 2.24 to 2.25 + +- moved/added U+2E18 (by Gee Fung Sit) +- added empty glyph for U+2064 in Sans and Serif (by Gee Fung Sit) +- added U+22CE-U+22CF to Sans (by Gee Fung Sit) +- Sans Oblique and Bold Oblique, Serif: reverted digits hinting instructions back to before revision 1590, which fixed mistaken debian bug #471024. This fixes Debian bug #411308. The original bug was in freetype not in the fonts (by Denis Jacquerye) +- added U+A726-U+A729, U+A730-U+A733, U+A738-U+A73F, U+A746-U+A74B, U+A74E-U+A74F, U+A780-U+A781, U+A7FB-U+A7FF to Sans (by Gee Fung Sit) +- added Macedonian italic glyph shape for U+0453 in Serif (by Ben Laenen) +- changed descenders in U+0446, U+0449, U+0497, U+04A3, U+04AD (by Andrey V. Panov) +- updated main SFD files to SplineFontDB 3.0 (Denis Jacquerye and Gee Fung Sit) +- moved U+0561 2 up since it wasn't aligned with the baseline well (by Ben Laenen) +- added U+2E2E to Sans (by Gee Fung Sit) +- replaced U+2699 with simpler version in Sans (by Gee Fung Sit) +- added a lot of hinting instructions to Latin Extended B, Greek and Coptic glyphs Sans Book (by Wesley Transue) +- differentiated U+2219 from U+22C5 and adjusted affected references in Sans and Mono (by Gee Fung Sit) +- made Hebrew narrower in Sans Bold and Sans Bold Oblique (by Denis Jacquerye) +- added Kurdish and Chuvash letters from Unicode 5.1 Cyrillic Extended block (by Wesley Transue) +- added U+1E9F, U+A644-U+A647, U+A64C-U+A64D, U+A650-U+A651, U+A654-U+A655, U+A712U+A716 to Sans (by Gee Fung Sit) +- added several glyphs to Sans ExtraLight (by Gee Fung Sit) +- added hinting instructions to U+046A-U+046B, U+0508-U+0509, U+050B, U+0512-U+0513 in Sans Book (by Wesley Transue) +- corrected width of U+027E in Sans Book (by Gee Fung Sit) +- added U+2C79, U+2C7B-U+2C7D to Sans (by Gee Fung Sit) +- added a bunch of glyphs+small corrections to Sans Light (by Gee Fung Sit) +- added U+0496, U+0497, U+04B0, U+04B1 (by Andrey V. Panov) +- updated U+0493, U+049B, U+04B3, U+04B7, U+04F7 (by Andrey V. Panov) +- further improvements in extended Cyrillic (by Andrey V. Panov) + +Changes from 2.23 to 2.24 + +- instructions for U+05C0 ׀, U+05C3 ׃, U+05F3 ׳, and U+05F4 ״ in DejaVu + Sans. (by Wesley Transue) +- instructions for U+2116 in Sans (by Andrey V. Panov) +- Unicode 5.1 update: moved U+F208 to U+2C6D, U+F25F to U+2C71, added + U+2C6E-U+2C6F, U+2C72-U+2C73, updated outline of U+2C71 in Sans. (by + Denis Jacquerye) +- updated and instructed U+0401 in Sans (by Andrey V. Panov) +- fixed the bug in Sans faces where U+02EC ˬ faced the wrong direction. + Also, added a few more glyph instructions. (by Wesley Transue) +- removed OS2Sub and OS2Strike that weren't intentional in Sans + ExtraLight. (by Denis Jacquerye) +- updated instructions for U+401, U+44F in Serif Book. (by Andrey V. + Panov) +- instructions for U+02C4 ˄, U+02C5 ˅, U+03D8 Ϙ, U+03D9 ϙ, U+0494 Ҕ, and + U+0495 ҕ in Sans Book. (by Wesley Transue) +- instructions for U+01A6 Ʀ, U+0238 ȸ, U+0239 ȹ, U+02EC ˬ, and U+05C6 ׆ + in Sans Book. (by Wesley Transue) +- DejaVuSans.sfd DejaVuSerif.sfd: updated instructions for U+447 and + U+451 using code generated with xgridfit (by Andrey V. Panov) +- instructions for a few glyphs in the Latin Extended-B Block, Greek + Block, Cyrillic Block, and N'Ko block. (by Wesley Transue) +- updated sfdnormalize.pl, and SFD files to new SFD format with empty + lines. (by Denis Jacquerye) + +Changes from 2.22 to 2.23 + +- fixed bug which made Condensed fonts appear instead of normal width ones +- added U+20DB, U+20DC, and U+20E1 to Sans (by Roozbeh Pournader) +- added hinting instructions to U+01A7, U+01AA-U+01AC, U+01AE-U+01AF, + U+01BC-U+01BD, U+01BF, U+01F7, U+0277, U+027F, U+0285-U+0286, U+0297, U+02AF, + U+02B4-U+02B5, U+02BD, U+030D, U+0311, U+0329, U+04A0-U+04A1 in Sans Book (by + Wesley Transue) +- modified hinting instructions of U+04A2 in Sans Book (by Wesley Transue) +- added hinting instructions to U+237D, U+2423 in Mono Book and Mono Bold (by + Wesley Transue) +- added mathematical alphanumeric symbols to all styles (by Max Berger) +- added Unicode 5.1 U+2E18 as U+2E18.u51 (not yet usable) to Sans (by Roozbeh + Pournader) +- dereferenced all glyphs with mixed references and outlines (by Denis + Jacquerye) +- removed non-zero width from U+0344 in Sans (by Denis Jacquerye) + +Changes from 2.21 to 2.22 + +- directory structure has changed, we now use the Makefile +- modified Armenian U+0565 in Sans (by Սահակ Պետրոսյան) +- added double struck letters and numbers U+2102, U+210D, U+2115, + U+2119-U+211A, U+211D, U+2124, U+213C-U+2140, U+2145-U+2149, U+1D538-U+1D539, + U+1D53B-U+1D53E, U+1D540-U+1D544, U+1D546, U+1D54A-U+1D550, U+1D552-U+1D56B, + U+1D7D8-U+1D7E1 to Serif (by Stephen Hartke) +- added letterlike symbols U+2103, U+2109, U+2127, U+214B, U+2141-U+2144 to + Serif (by Ben Laenen) +- fixed outline direction of U+2143 in Sans Bold/Bold Oblique (by Ben Laenen) +- added arrow set in Serif: arrows: U+2194-U+21FF; dingbats: U+27A1; + supplemental arrows A: U+27F0-U+27FF; supplemental arrows B: U+2900-U+2975, + U+297A; miscellaneous symbols and arrows: U+2B00-U+2B11 (by Ben Laenen) +- added U+0180, U+01DE, U+01E0-01E1, U+022A, U+022C, U+0230, U+1E08-U+1E09, + U+1E10-U+1E11, U+1EB0-U+1EB1 to Mono (by Denis Jacquerye) +- adjusted U+01D5, U+01D7, U+01D9, U+1DB in Mono (by Denis Jacquerye) +- added Ogham in Sans (by Wesley Transue) +- added Yijing Hexagram Symbols in Sans (by Wesley Transue) +- hinting instructions added to Cyrillic U+0460, U+04A6-U+04A7, U+04AC-U+04AD, + U+04C7-U+04C8, U+04F6-U+04F7, U+04FA-U+04FB, U+050C-U+050D in Sans Book (by + Wesley Transue) +- adjusted Cyrillic letters U+042A, U+044A, U+044C, U+0459-U+045B, U+0462, + U+048C-U+048D in Serif (by Andrey V. Panov) +- hinting instructions added to Lao U+0EB7 in Sans (by Wesley Transue) +- added Roman numerals and Claudian letter U+2160-U+2184 in Serif (by Ben + Laenen) +- added U+FFF9-U+FFFD to Sans, Serif and Mono (by Lars Næsbye Christensen) +- added mathematical symbols to Serif: U+2200, U+2203-U+2204, U+2213-U+2214, + U+2217-U+2218, U+2223-U+2226, U+2250-U+2255, U+2295-U+22AF, U+22C5 (by Ben + Laenen) +- modified bullet symbol U+2219 in Serif (by Ben Laenen) + +Changes from 2.20 to 2.21 + +- added U+FE20-U+FE23 (half diacritics) to Sans (by Denis Jacquerye) +- added anchor "half" to position right half of double marks, U+FE21 or U+FE23 + to Sans (by Denis Jacquerye) +- shifted U+0360 up to avoid collision with some outlines in Sans (by Denis + Jacquerye) +- added anchor above-mark anchor to U+035D, U+035E, U+0360, U+0361 in Sans (by + Denis Jacquerye) +- added instructions for ff, ffi, ffl ligatures in Serif Bold (by Eugeniy + Meshcheryakov) +- added instructions to some N'Ko glyphs (by Wesley Transue) +- added instructions to some Lao glyphs (by Wesley Transue) +- cleaning up 'liga' Standard Ligature in Latin, in Sans and Sans Mono (by + Denis Jacquerye) +- added U+046A, U+046B (big yus) in Serif (by Andrey V. Panov) +- added box drawing symbols to Sans and Serif (by Lars Næsbye Christensen) +- added Makefile to improve font and packages generating (by Nicolas Mailhot) + +Changes from 2.19 to 2.20 + +- removed TeX and TeXData tags from all sfd files (by Eugeniy Meshcheryakov) +- removed all 'frac' lookups (by Eugeniy Meshcheryakov) +- fixed duplicate glyph names (by Eugeniy Meshcheryakov) +- removed standard ligatures with U+00B7 in Mono (by Eugeniy Meshcheryakov) +- use reference to U+002D in U+00AD in Sans Oblique, and adjust instructions + (by Eugeniy Meshcheryakov) +- updated Cyrillic in Sans Extra Light (by Andrey V. Panov) +- added instructions to N'Ko U+07C1-U+07C6, U+07CA, U+07CE-U+07CF, U+07D1, + U+07D3-U+07D4, U+07D8, U+07DB and U+07EB in Sans (by Wesley Transue) +- added instructions to Lao U+0E8A, U+0E95, U+0E97, U+EA5, U+0EB4 and U+0EB5 + (by Wesley Transue) +- adjusted instructions for Hebrew glyphs (by Denis Jacquerye) +- added instructions for U+0265 in Sans Bold (by Denis Jacquerye) +- fix U+1D68 in Sans: it had the shape of delta, where it should be a rho (by + Ben Laenen) +- remove U+1D5C glyph in Sans Oblique (it was empty) (by Ben Laenen) +- fix instructions of U+01AD in Sans Bold (by Ben Laenen) +- fix instructions of U+042D in Serif (by Ben Laenen) +- remove buggy instructions of U+2328 in Serif (by Ben Laenen) +- corrected width of U+2C75-U+2C76 in Sans Bold and Serif Bold (by Gee Fung Sit) +- added U+2C75-U+2C77 to Mono (by Gee Fung Sit) + +Changes from 2.18 to 2.19 + +- fixed misplaced symbols (U+2325,2326) in Sans Oblique (by John Karp) +- added Mark to Base anchors: 'cedilla' for combining cedilla and + 'above-legacy' for stacking above precomposed glyphs (just a,e,i,o,u with + macron for now) in Sans (by Denis Jacquerye). +- added contextual substitution for Case and Dotless forms in all Sans variants + (by Denis Jacquerye). +- renamed 'ccmp' lookups for RTL and Basic (LGC, etc.) (by Denis Jacquerye) +- added anchor 'cedilla' for vowels in Sans. (by Denis Jacquerye) +- extended contextual dotless and case substitutions to handle both below and + above diacritics (by Denis Jacquerye) +- renamed Dotless and Case Form GSUB lookups in Sans with meaningful names (by + Denis Jacquerye) + +Changes from 2.17 to 2.18 + +- Re-encoded the source files for Full Unicode (by Ben Laenen) +- Re-enabled the "ff", "fl", "fi", "ffl", "ffi" ligatures by default in Serif + (by Ben Laenen) +- Disabled the "fi", "ffi" ligatures for languages with dotless i in Serif (by + Ben Laenen) +- added Tifinagh to Sans Book and Bold, U+2D30-U+2D65, U+2D6F, partially hinted + in Sans Book. (by Denis Jacquerye) +- added Tai Xuan Jing Symbols (U+1D300-1D356) to Sans (by Remy Oudompheng) +- added double-struck letters (U+1D538-U+1D56B minus reserved code points) to + Sans (by Gee Fung Sit) +- added U+22EE-U+22F1 to Sans (by Gee Fung Sit) +- added U+2C67-U+2C6C, U+2C75-U+2C77 to Serif (by Gee Fung Sit) +- italicized various glyphs in Latin Extended-B, IPA Extensions, Spacing + Modifier Letters, Phonetic Extension (Supplement) and Super- and Subscripts + in Serif Oblique fonts (by Gee Fung Sit) +- modified outlines, bearings of Hebrew U+05D6, U+05D8, U+05DB, U+05DE, U+05E0, + U+05E1, U+05E2, U+05EA in Sans Book and Oblique, adjusted hinting in Book + based on Yotam Benshalom's comments. (by Denis Jacquerye) +- added Braille Patterns (U+2800-U+28FF) to Serif fonts (by Gee Fung Sit) +- added N'Ko to Sans Book and Bold: U+07C0-U+07E7, U+07EB-U+07F5, U+07F8-U+07FA + (by Eugeniy Meshcheryakov) +- added U+0ED8 (Lao digit 8) to Sans (by Remy Oudompheng) +- added Lao diacritics U+0EB0-0EB9, U+0EBB-0EBC, U+0EC8-0ECD to Mono (by Remy + Oudompheng) +- renamed Serif [Bold] Oblique, make it Italic (by Eugeniy Meshcheryakov) +- added U+29FA-U+29FB to Sans and Sans Mono (by Gee Fung Sit) +- swapped glyphs for Eng U+014A from Sami Eng to African Eng, the latter being + more common (by Denis Jacquerye) +- swapped ae U+00E6 and ae.alt in Serif Italics fonts, thus fixing #8213 (by + Denis Jacquerye) +- minor improvements to Misc. Symbols in Sans (by Gee Fung Sit) +- minor improvements and additions to Sans ExtraLight (by Gee Fung Sit) +- improved instructions for various Cyrillic letters (by Eugeniy Meshcheryakov) +- fixed hinting of theta and chi in Sans Book (by Ben Laenen) +- added Georgian Mkhedruli to Sans, Serif and Mono, ASumtavruli to Sans and + Serif (by Besarion Gugushvili) + +Changes from 2.16 to 2.17 + +- Sans fonts: fix position for certain combinations of Arabic fatha, kasra, + shadda, damma, kasratan, dammatan, fathatan and hamza (by Ben Laenen) +- added 'ae.alt' to Serif Oblique fonts, with design matching shape of italic + 'a' instead of slanted 'a', see bug #8213 (by Denis Jacquerye) +- added super- and subscripts to Serif and Mono: U+1D2C-U+1D2E, U+1D30-U+1D3C, + U+1D3E-U+1D42, U+1D62-U+1D65, U+1D78, U+2071, U+207A-U+207E, U+208A-U+208E, + U+2090-U+2094 (by Gee Fung Sit) + +Changes from 2.15 to 2.16 + +- fixed hinting instructions for digits in DejaVu Sans Oblique, Bold Oblique, + and Serif Book to not change glyph width (by Eugeniy Meshcheryakov) +- added instructions for U+0404, U+0411, U+0413, U+0414, U+0417-U+041B, U+041F, + U+0423, U+0424, U+0426-U+0429, U+042C, U+042E, U+042F, U+0490 in Serif Bold + (by Eugeniy Meshcheryakov) +- added U+0220 and Eng.alt to Serif fonts (by Denis Jacquerye) +- added U+232C, U+2394, U+23E3 to Sans fonts (by John Karp) +- added U+230C-U+230F, U+231C-U+231F to Sans fonts, fixing bug:9547 + (by John Karp) +- adjusted dot below, dot above, dieresis above, dieresis below in Sans fonts + (by Denis Jacquerye) +- added U+2300, U+2301, U+2303, U+2304, U+2305, U+2307, U+2326, U+2327, U+232B, + arrow.base to Sans fonts (by John Karp) +- adjusted dot and dieresis below and above in Serif fonts (by Denis Jacquerye) +- added U+1E1C-U+1E1D to Serif fonts (by Denis Jacquerye) +- added U+22BE, U+22BF (by Wesley Transue) +- added U+2324; modified U+2325: more standard proportions, and matches U+2324 + and U+2387; added U+2387 : flipped U+2325 with standard arrowhead + (by John Karp) +- added Lao digits U+0ED0-0ED7, U+0ED9 (by Remy Oudompheng) +- added to Mono in Arabic block : U+060C, U+0615, U+061B, U+061F, + U+0621-U+063A, U+0640-0655, U+065A, U+0660-066F, U+0674, U+0679-0687, U+0691, + U+0692, U+0698, U+06A1, U+06A4, U+06A9, U+06AF, U+06B5, U+06BA, U+06BE, + U+06C6, U+06CC, U+06CE, U+06D5, U+06F0-06F9 (by Remy Oudompheng) +- added to Mono in Arabic Presentations Forms-A : U+FB52-FB81, U+FB8A-FB95, + U+FB9E, U+FB9F, U+FBAA-FBAD, U+FBE8, U+FBE9, U+FBFC-FBFF (by Remy Oudompheng) +- added to Mono in Arabic Presentations Forms-B : U+FE70-FE74, U+FE76-FEFC, + U+FEFF (by Remy Oudompheng) +- added U+05BA, U+05BE, U+05F3, U+05F4, U+FB1E, U+FB21-U+FB28, U+FB4F to Sans + (by Eugeniy Meshcheryakov) +- added U+2102 to Mono (by Eugeniy Meshcheryakov) +- added U+2983-U+2984 to Sans (by Gee Fung Sit) +- added U+2A2F to Sans, Serif and Mono (by Gee Fung Sit) +- added U+2373-2375, U+237A to Sans (by John Karp) +- converted kern pairs to kern classes with Tavmjong Bah's scripts + (by Denis Jacquerye) +- set ScriptLang of kerning classes to just latn because of Pango bug + (by Denis Jacquerye) +- added DNK to ScriptLang latn otherwise it is excluded, and SRB and MDK to + cyrl (by Denis Jacquerye) +- removed flag 0x80 in generate.pe, otherwise it generates kerning tables some + systems don't like; thus loosing Apple tables (by Denis Jacquerye) +- removed ligature for precomposed legacy characters of Sans Oblique fonts + (by Denis Jacquerye) +- added bearings to en dash U+2013, em dash U+2014 and figure dash U+2012 + by making dashes shorter, preserving character width (by Denis Jacquerye) +- reduced U+031C, U+0325 (ring below), U+0339 to be entirely visible; + added instructions in Sans Book; changed U+1e00-U+1e01 to use new ring below + (by Denis Jacquerye) +- adjusted circumflex below on U+1E12-U+1E13, U+1E18-U+1E19, U+1E3C-U+1E3D, + U+1E4A-U+1E4B, U+1E70-U+1E71, U+1E76-U+1E77 in Sans fonts (by Denis Jacquerye) +- Added U+0ED4, U+0ED5 to DejaVu Sans (by Remy Oudompheng) +- Lao-specific anchors (by Remy Oudompheng) +- added alternate I to match the small capital in Sans (by Gee Fung Sit) + +Changes from 2.14 to 2.15 + +- improved hinting in Sans Oblique to deal with some spacing and inconsistency + issues (by Ben Laenen) +- added anchors to Mono Book, and added GPOS rules for combining diacritics to + show up as zero width glyphs (by Ben Laenen) +- removed U+F21C (PUA), it was copy of U+2C64 from Latin Extended C (by Eugeniy + Meshcheryakov) +- added U+27E6-U+27E7 to Sans (by Gee Fung Sit) +- added U+1407, U+1409, U+140C-U+141B, U+141D-U+1425, U+1427-U+142E, + U+1435-U+1438, U+143A-U+1449, U+1452, U+1454, U+1457-U+1465, U+1467-U+146A, + U+1471, U+1474-U+1482, U+1484-U+1488, U+148F, U+1492, U+14A0, U+14A2, U+14A9, + U+14AC-U+14BA, U+14BC, U+14BD, U+14C6, U+14C9-U+14CF, U+14D1, U+14D2, U+14D9, + U+14DC-U+14E9, U+14EC, U+14F3, U+14F6-U+1504, U+1506, U+1507, U+1510-U+1525, + U+152C, U+152F-U+153D, U+1540, U+1541, U+154E, U+154F, U+1552, U+155B, U+155C, + U+1568, U+1569, U+1574-U+157B, U+157D, U+15A7-U+15AE, U+1646, U+1647 (by + Eugeniy Meshcheryakov) +- fixed several contours to not intersect, use horizontal or vertical tangents, + use integer coordinates, etc in Sans Book (by Denis Jacquerye) +- added U+0496-U+0497 in Serif (by Andrey V. Panov) + +Changes from 2.13 to 2.14 + +- added Philippine peso glyph U+20B1 (by Clayborne Arevalo) +- made U+2012 have the same width as digits, according to Unicode 5.0, + page 206 (by Roozbeh Pournader) +- made all of the "above" combining characters remove the dot of "i", + "j", etc (Soft_Dotted characters), according to Unicode 5.0, + page 228 (by Roozbeh Pournader) +- made U+012F, U+03F3, U+0456, U+0458, U+1E2D, and U+1ECB (all fonts + except Mono), U+0249, U+2148, and U+2149 (Sans and Sans Condensed), + U+0268 (Sans ExtraLight, Serif and Serif Condensed), and U+029D (Serif + and Serif Condensed) respect the Soft_Dotted property (by Roozbeh + Pournader) +- added U+223E, U+223F, U+2240, U+22C2, U+22C3 to Sans (by Remy Oudompheng) +- added U+203D to Serif (by Gee Fung Sit) +- added zero-width glyphs for U+2061-U+2063 to Sans and Serif (by Gee + Fung Sit) +- changed isolated forms of Arabic waw (U+0648, U+0624 and U+06C6) (bug #9432) + (by Ben Laenen) +- added Lao consonants U+0E81, U+0E82, U+0E84, U+0E87, U+0E88, U+0E8A, + U+0E8D, U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA, + U+0EAB, U+0EAD-0EAF to Sans Mono (by Remy Oudompheng) +- added U+0200-U+0217, U+0226-U+0229, U+02F3, U+1E00-U+1E07, + U+1E0A-U+1E0B, U+1E18-U+1E1F, U+1E22-U+1E23, U+1E28-U+1E2D, + U+1E3A-U+1E3B, U+1E40, U+1E48-U+1E49, U+1E56, U+1E58-U+1E59, + U+1E5E-U+1E5F, U+1E60, U+1E68-U+1E6B, U+1E6E-U+1E6F, U+1E72-U+1E77, + U+1E86-U+1E8B, U+1E92-U+1E96, U+1EA0-U+1EA1, U+1EF4-U+1EF5 to Mono + (by Ben Laenen) +- renamed uppercase variants of diacritics (macron, breve, double grave, + double acute, inverted breve, dot above) to "uni03XX.case" in Mono + (by Ben Laenen) +- moved uppercase variants of diacritics up in Mono so they properly + vertically align on capitals (by Ben Laenen) +- precomposed glyphs with macron, breve, double grave, double acute, + inverted breve, dot above, macron below, breve below, inverted breve + below, dot below, cedilla, caron below, circumflex below, diaeresis + below, tilde below now reference to combining diacritics instead of + space modifiers in Mono (by Ben Laenen) +- made ring below (U+0325), and half rings below (U+031C and U+0339) + smaller in Mono (by Ben Laenen) +- added U+205F to all fonts (by Roozbeh Pournader) +- added U+035E-U+035F to Sans (by Roozbeh Pournader) +- added empty glyphs for U+034F, U+202A-U+202E, U+2060, U+206A-206F, + U+FE00-U+FE0F to non-Mono fonts (by Roozbeh Pournader) +- added U+2101, U+2107-U+2108, U+210B, U+210C, U+2110, U+2112, U+211B, + U+211F, U+2123, U+2125, U+2128-U+2129, U+212C-U+212D, U+212F, + U+2130-U+2131, U+2133, U+2136-U+213A, U+2141-U+2144, U+2B00-U+2B11, + U+2B20-U+2B23 to Sans (by John Karp) +- reshaped omega (U+03C9) in Mono (by Ben Laenen) +- added U+2205, U+22C6, U+2300-U+2301, U+2303-U+2306, U+230C-U+230F, + U+2312-U+2315, U+231C-U+231F, U+2335, U+2337-U+233E, U+2341-U+2344, + U+2347-U+2348, U+234B-U+234D, U+2349-U+2350, U+2352-U+2354, + U+2357-U+2359, U+235A-U+235C, U+235E-U+2360, U+2363-U+2365, + U+2368-U+2369, U+236B-U+2370, U+2373-U+237A, U+2380-U+2383, + U+2388-U+238B, U+2395 in Mono (by Ben Laenen) + +Changes from 2.12 to 2.13 + +- adjusted U+0198B, U+01B3-U+01B4 in Sans, hinted U+01B4 in Sans Book + (by Denis Jacquerye) +- added U+27F0-U+27FF, U+2906-U+2907, U+290A-U+290B, U+2940-U+2941 to Sans + (by Denis Jacquerye) +- added U+01E6-U+01E9, U+01EE-U+01EF, U+01F4-U+01F5, U+01FC-U+01FF, + U+021E-U+021F, U+0245, U+02BD, U+02C9, U+1E9B, U+2045-U+2046, U+2213, U+22C5, + U+22EF to Sans Mono (by Roozbeh Pournader) +- added U+04FA-U+04FD to Sans (by Michael Everson) +- removed U+2329 and U+232A because of their CJK properties, added U+27E8 + and U+27E9 in their stead, fixing part of bug #9038 (by Roozbeh Pournader) +- corrected and improvised U+0466-U+0469, U+046E-U+0471, U+047C-U+047D, U+0482, + U+0484-U+0486, U+0492-U+0493, U+04B0-U+04B1, U+050C-U+050D, and U+204A + in Sans (by Michael Everson) +- added instructions for U+0402, U+0409, U+040A, U+040B, U+044D, U+040F, + U+0452, U+0459-U+045B, U+045F to Sans Book (by Eugeniy Meshcheryakov) +- made italic shape for U+431, U+432, U+437, U+43B, U+43C, U+43D, U+444, U+447, + U+44D, U+44F, U+459, U+45A in SerifOblique and SerifBoldOblique + (by Andrey V. Panov) +- modified U+024C to match glyph in Unicode chart, fixing bug #9039 + (by Denis Jacquerye) +- made some canonically equivalent characters share the same glyph: + U+02B9 = U+0374, U+0343 = U+0313, and U+0387 = U+00B7 also adjusting U+02BA + to look like double U+02B9, fixing parts of bug #9038 (by Roozbeh Pournader) +- changed shapes for U+0478 and U+0479 in Sans to those in the Unicode charts, + based on a recent decision by Unicode Technical Committee to only use + the digraph form (by Michael Everson) +- adjusted width of NBSP U+00A0 and NNBSP U+202F, fixing bug #8401 + (by Denis Jacquerye) +- fixed several contours to not intersect, use horizontal or vertical tangents, + use integer coordinates, etc (by Roozbeh Pournader and Denis Jacquerye) +- added U+1402, U+1430, U+144D, U+146C, U+148A, U+14A4, U+14C1, U+14D4, U+14EE, + U+1527, U+1545, U+157E, U+158E, U+15AF to Sans (by Eugeniy Meshcheryakov) +- enlarged width of U+459 and U+45A in Serif (by Andrey V. Panov) +- made traditional shape for U+452, U+45B (by Andrey V. Panov) +- added euro sign U+20AC to Sans ExtraLight, making fontconfig recognize + the font as supporting English (by Denis Jacquerye) + +Changes from 2.11 to 2.12 + +- added U+0180 to Serif (by Denis Jacquerye) +- improved and/or hinted Armenian letters U+0542, U+0546, U+0562, + U+0563, U+0564, U+0577, U+0582 in Sans (by Ben Laenen) +- added U+4FE-U+4FF, U+512-U+513, U+2114, U+214E, U+26B2 to Sans + (by Gee Fung Sit) +- adjusted U+0496-U+0497, U+049A-U+04A1 in Sans to match U+0416, + U+041A, U+0436 and U+043A (by Gee Fung Sit) +- Mathematical Operators in Sans: changed U+22C0-U+22C1 to match + other n-ary operators, adjusted U+2203-U+2204, changed U+2220 in + Sans to match the style of U+2221 (by Gee Fung Sit) +- added U+1401, U+1403-U+1406, U+140A, U+140B, U+1426, U+142F, + U+1431-U+1434, U+1438, U+1439, U+1449, U+144A, U+144C, + U+144E-U+1451, U+1455, U+1456, U+1466, U+146B, U+146D-U+1470, + U+1472, U+1473, U+1483, U+1489, U+148B-U+148E, U+1490, U+1491, + U+14A1, U+14A3, U+14A5-U+14A8, U+14AA, U+14AB, U+14BB, U+14C0, + U+14C2-U+14C5, U+14C7, U+14C8, U+14D0, U+14D3, U+14D5-U+14D8, + U+14DA, U+14DB, U+14EA, U+14ED, U+14EF-U+14F2, U+14F4, U+14F5, + U+1405, U+1526, U+1528-U+152B, U+152D, U+152E, U+153E, + U+1542-U+1544, U+1546-U+154D, U+1550, U+1553, U+1555-U+155A, + U+1567, U+156A, U+157C, U+157F-U+1585, U+158A-U+158D, + U+158F-U+1596, U+15A0-U+15A6, U+15DE, U+15E1, U+166E-U+1676 to + Sans (by Eugeniy Meshcheryakov) +- re-enabled Latin ligatures fi, ffi, fl, ffl and ff in Sans + (by Ben Laenen) +- made italic shape for U+436, U+44A, U+44B, U+44C, U+44E, U+45F, + U+463 in SerifOblique and SerifBoldOblique (by Andrey V. Panov) +- fixed sub- and superscript metrics in Condensed Sans (bug #8848) + (by Ben Laenen) +- added U+474, U+475 in Serif (by Andrey V. Panov) +- hinted Greek glyphs U+03B7, U+30B8, U+03B9, U+03C1, U+03C3, + U+03C6 in Mono Book (by Ben Laenen) + +Changes from 2.10 to 2.11 + +- added instructions for Hebrew glyphs (Sans Book, by Eugeniy + Meshcheryakov) +- changed U+01A6 (Latin Yr) after bug #8212, in Sans, Serif and + Sans Mono fonts (by Denis Jacquerye). +- removed instruction for U+2600-U+26A1 (by Mederic Boquien) +- added U+202F and set width of U+00A0 (nobreakingspace) to the + same as U+0020, space (by Denis Jacquerye). +- added and improved instructions for various Cyrillic letters + (by Eugeniy Meshcheryakov) +- Changed U+416, U+42F, U+427 (non-Bold), U+436, U+447 (non-Bold), + U+44F, U+437 (Bold), corrected U+40F, U+414, U+424, U+426, U+429, + U+434, U+438 (Bold), U+446, U+449, U+44D (non-Bold), U+45F in + Sans Mono (by Andrey V. Panov) +- made small corrections to Cyrillic, most appreciable to U+409, + U+413, U+41B, U+427 and U+433, U+434, U+43B, U+447, U+459 + (upright fonts) to Serif (by Andrey V. Panov) +- adjusted bearings of U+410, U+416, U+41A, U+42F, U+436, U+43A, + U+443, U+44F in Serif (by Andrey V. Panov) +- enlarged width of U+44A, U+44B, U+44C, U+463 in Serif + (by Andrey V. Panov) +- added ligature "iacute" as "afii10103" (U+456) "acutecomb" in + Serif (by Andrey V. Panov) +- made italic shape to U+446, U+448, U+449 in Serif (by Andrey V. + Panov) +- added "afii10831" (U+F6C7), "afii10832" (U+F6C8) in Serif (by + Andrey V. Panov) +- new minimum version of fontforge is 20061014 (by Ben Laenen) + +Changes from 2.9 to 2.10: + +- added U+0242, U+024A-U+024B, U+024E-U+024F, U+037C-U+037D, U+0E3F, + U+1D2C-U+1D2E, U+1D30-U+1D42, U+1D5D-U+1D6A, U+1D78, U+1DB8, + U+2090-U+2094, U+20D0-U+20D1, U+2C60-U+2C66, U+2C6B-U+2C6C, U+2C74 and + U+FB29 to Sans (by Gee Fung Sit) +- added Lao glyphs : U+0E81-0E82, U+E084, U+0E87-0E88, U+0E8A, U+0E8D, + U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA-0EAB, + U+0EAD-0EB9, U+0EBB-0EBD, U+0EC0-0EC4, U+0EC6, U+0EC8-0ECD, U+0EDC-0EDD + (by Remy Oudompheng) +- fixed U+0193 not showing in Windows (bug #7897) (by Ben Laenen) +- changes to U+222B-222D in Sans Mono (by Remy Oudompheng) +- ported the three remaining currency symbols from Arev (U+20B0, + U+20B2-U+20B3), and replaced one (U+20AF) in Sans (by Lars Naesbye + Christensen) +- corrected U+20A5 in Sans (by Gee Fung Sit) +- merged Double-Struck Letters from Arev: U+2102, U+210D, U+2115, + U+2119-U+211A, U+2124, U+213C-U+2140 (by Gee Fung Sit) +- added U+2308-U+230B and U+2329-U+232A to Sans Mono and Serif faces, + fixed incorrect direction of U+2329 in Sans faces, and improved + U+2308-U+230B in Sans faces per Ben Laenen's suggestions (by David + Lawrence Ramsey) +- added U+06D5 and final form of it (needed for Kurdish) (by Ben Laenen) +- added two special glyphs U+F000 and U+F001 in Sans Book that show the + current ppem size (horizontal and vertical) (by Ben Laenen) +- added U+2318 and U+2325 to Sans Mono faces, based on the Sans versions + (by David Lawrence Ramsey) +- added U+2B14-U+2B1A to all faces except Sans ExtraLight (by David + Lawrence Ramsey) +- respaced all Geometric Shapes characters in Serif faces to match those + in Sans faces again, respaced U+23CF in Sans, Sans ExtraLight, and + Serif faces to match U+25A0 (or Sans in Sans ExtraLight's case) again, + and respaced U+2B12-U+2B13 in Sans and Serif faces to match U+25A1 + again (by David Lawrence Ramsey) +- corrected width of Modifier Small Letters U+1D43-1D5B in Sans Oblique + and U+1D9B-U+1DBF in Sans Oblique and Sans Bold Oblique (by Gee Fung Sit) +- added a bunch of glyphs to Sans ExtraLight (see SVN for details) (by + Gee Fung Sit) +- adjusted Cyrillic descenders in Sans ExtraLight to sync with Sans (by + Gee Fung Sit) +- added U+0242, U+0245 to Serif (by Gee Fung Sit) +- replaced the SHPIX routines which gave them bad spacing at certain + sizes in FreeType for A, V, Z, v and z in Sans Bold (by Ben Laenen) + +Changes from 2.8 to 2.9: + +- DejaVuSansExtraLight.sfd: changed family name from "DejaVu Sans" to + "DejaVu Sans Light" (in case we add a Light weight variant), so legacy + apps that understand only 4 styles are happy. (by Denis Jacquerye) +- added Name ID 16, aka preferred family name, and Name ID 17, aka + preferred style name, so contemporary apps that understand more that 4 + styles can use big fonts families "DejaVu Sans" and "DejaVu Serif". For + those, Extralight and Condensed are just styles not different families. + (by Denis Jacquerye) +- added U+22B6-22BD, U+22C0-22C1, U+22D6-22D7 to Sans. (by Remy Oudompheng) +- added U+037B, U+2184, U+2C67-U+2C6A and U+2C75-U+2C77 to Sans (by Gee + Fung Sit) +- adjusted asteriskmath (U+2217) for consistency with other mathematical + operators in Sans (by Ben Laenen) +- hinted some Armenian capitals in Sans Book (by Ben Laenen) +- added U+0246 - U+0249 (by Ben Laenen) +- BUGFIX : swapped U+224E and U+224F, in Sans, Sans Condensed and Sans Mono + (by Remy Oudompheng) +- adjusted U+20B5 (by Mederic Boquien) +- swapped U+21DA and U+21DB which were in wrong order (by Heikki Lindroos) +- added U+222E-2233, U+239B-23AD, U+2A00-2A02, U+2A0F-2A1C to Sans (by Remy + Oudompheng) +- added U+239B-23AD to Mono (by Remy Oudompheng) +- added U+2024-2025 to Serif (by Mederic Boquien) +- added U+222C-222D, U+2A0C-2A0E to Serif (by Remy Oudompheng) +- added U+2190-21FF to Mono (by Heikki Lindroos) +- added Hebrew glyphs - U+05B0-U+05BD, U+05BF-U+05C3, U+05C6, U+05C7, + U+05D0-U+05EA, U+05F0-U+05F2, U+FB1F, U+FB20, U+FB2A-U+FB36, + U+FB38-U+FB3C, U+FB3E, U+FB40, U+FB41, U+FB43, U+FB44, U+FB46-U+FB4E (by + Gee Fung Sit and Eugeniy Meshcheryakov) +- adjustments for Cyrillic in Sans (by Andrey V. Panov) +- made italic shape for U+0434, U+0456, U+0457 in SerifOblique and Serif + Bold Oblique (by Andrey V. Panov) + +Changes from 2.7 to 2.8: + +- fixed instructions for U+0423, U+0427, U+0447, U+0448 in Serif, so they + look good at large sizes too (by Eugeniy Meshcheryakov) +- added U+FB00 and U+FB03 to U+FB06 to Serif typefaces (by Heikki Lindroos) +- added U+26B0-U+26B1, U+2701-U+2704, U+2706-U+2709, U+270C-U+2727, U+2729 + to U+274B, U+274D, U+274F to U+2752, U+2756, U+2758-U+275E, U+2761 to + U+2775 (by Heikki Lindroos) +- added and improved instructions for Cyrillic letters in Mono and Serif + (Book, by Eugeniy Meshcheryakov) +- rotated U+26B0 (was too small in mono) (by Gee Fung Sit) +- adjusted U+1EDA-U+1EDD, U+1EE8-U+1EEB, capitals using capital specific + accent and moved diacritics to match position on U+00F2 (ograve), etc. + (by Denis Jacquerye) +- added U+20D6, U+20D7 to Sans (by Gee Fung Sit) +- made Armenian ligatures discretionary since the Firefox ligature problem + still isn't fixed (by Ben Laenen) +- moved Armenian hyphen U+058A to a higher position (bug #7436) (by Ben + Laenen) +- hinted Greek glyphs in Sans Bold (by Ben Laenen) +- enabled Arabic lam-alif ligatures when diacritics are used (by Ben Laenen) + +Changes from 2.6 to 2.7: + +- added glyphs needed for Kurdish: U+0695, U+06B5, U+06C6, U+06CE and their + init/medi/fina forms in Sans (by Ben Laenen) +- added U+02CD, U+01F8 - U+01F9, U+1E3E - U+1E3F, U+1E30 - U+1E35, U+1EBC - + U+1EBD, U+1EF8 - U+1EF9 (includes glyphs needed for Yoruba, Maori, Guarani + and Twi) (by Ben Laenen) +- added U+22C8-22CC, U+29CE-29D5, U+2A7D-2AA0, U+2AAE-2ABA, U+2AF9-2AFA to + Sans (by Remy Oudompheng) +- adjusted diacritics on Vietnamese, Pinyin and other characters: + U+01A0-U+01A1, U+01AF-U+01B0, U+01D5-U+01DC, U+01DE-01E1, U+01FA-U+01FB + U+022A-U+022D, U+0230-U+0231, U+1E14-U+1E17, U+1E4C-U+1E53, U+1E78-U+1E7B, + U+1EA4-U+1EF1 in Sans (Book, Bold and Oblique) (by Denis Jacquerye) +- added basic arrows U+2190-U+2193 in Serif, which completes MES-1 compliance + for Serif (by Ben Laenen) +- added U+01E4, U+01E5, U+01FA, U+01FB, U+02BD, U+02C9 and U+02EE to Serif + (by Ben Laenen) +- fixed U+0209 in Serif Bold Oblique (by Ben Laenen) +- adjusted Box Drawing block characters U+2500-257F in Mono to fit character + cell, shifting them up by 416 (Denis Jacquerye) +- redid U+0194 in Sans (by Ben Laenen) +- added U+2217-2218, U+2295-22A1 to Mono (by Remy Oudompheng) +- added U+0462 to Serif (by Andrey V. Panov) +- added U+226C, U+228C-228E, U+2293-2294, U+22F2-22FF to Sans (by Remy + Oudompheng) +- adjusted U+2208-220D in Sans (by Remy Oudompheng) +- improved some Cyrillic glyphs in Mono (by Andrey V. Panov), rewritten + instructions for changed glyphs (by Eugeniy Meshcheryakov) +- added U+1E0E-1E0F, U+1E8E-1E8F to Mono fonts (by Denis Jacquerye). (bug + #7166) +- renamed 'Dotabove' to 'Dotaccent' in Mono Sans Oblique to match other fonts + (by Denis Jacquerye). +- added U+200B-U+200F in Sans faces and Serif faces, U+200B and U+200C were + in Sans already (by Lars Naesbye Christensen) +- added U+2601-U+262F, U+263D, U+263E, U+2648-U+265F, U+2668, U+2670-U+268B, + U+2690-U+269C, U+26A0, U+26A1, U+2794, U+2798-U+27AF, U+27B1-U+27BE to Mono + (by Heikki Lindroos) +- replaced the references with unshifted ones for both κ U+03BA and к U+043A + in Mono Book (by Denis Jacquerye) +- fixing glyph for U+04ED in Mono Book, consisted only of dieresis (by Andrey + V. Panov). + +Changes from 2.5 to 2.6: + +- redid U+2032 - U+2037, U+2057 based on Arev in Sans (by Gee Fung Sit) +- added U+0195, corrected U+039E, U+204B in Sans ExtraLight (by Gee Fung Sit) +- added instructions for some Cyrillic letters in Sans Bold (by Eugeniy + Meshcheryakov) +- added vulgar fractions U+2153-U+215F for Serif, made with references (by + Lars Naesbye Christensen) +- added U+228F-2292, U+2299-22AF, U+22B2-22B5, U+22CD, U+22D8-22ED to Sans + (by Remy Oudompheng) +- added U+2208-220D, U+2238-223D, U+2278-2281, U+228A-228B, U+228F-2292, + U+22CD, U+22DA-22E9 to Mono (by Remy Oudompheng) +- fixed misplaced dot in U+2250 in Mono (by Remy Oudompheng) +- added instructions for some Cyrillic letters in Mono Book and Bold(by + Eugeniy Meshcheryakov) +- minor changes to U+2241, U+2261-2263, U+22A4, U+22A5 in Sans (by Remy + Oudompheng) +- added hinting instructions to lowercase Armenian glyphs in Sans Book (by + Ben Laenen) +- changed U+2208, U+220B to match U+2209 and U+220C in Sans Bold (by Remy + Oudompheng) +- added Braille patterns U+2800-U+28FF to Sans (by Mederic Boquien) +- added instructions for some Cyrillic letters in Serif Book (by Eugeniy + Meshcheryakov) +- renamed BoldOblique fonts to Bold Oblique in TTF Name as originally in + Bitstream Vera fonts (by Denis Jacquerye) +- added hinting instructions to some Latin-B Extended and IPA characters in + Sans Book (by Denis Jacquerye and Ben Laenen) +- adjusted bearings, replaced diacritics, hinted hook and horn for + Vietnamese in Sans Book (by Denis Jacquerye) +- made FAX, TM, TEL, etc. discritionary ligatures in Sans and Serif fonts + (by Denis Jacquerye) +- removed ligatures of precomposed characters in Sans and Serif fonts (by + Denis Jacquerye) +- added U+F208, U+F20A, U+F215-F217, U+F21A-F21B, U+F25F in PUA (from SIL's + PUA, probably in Unicode 5.0): U+0243, U+0244, U+0245, U+024C, U+024D, + U+2C64, (U+2C6D), (U+2C71) +- modified some glyphs in Serif Oblique to make them more italic (by Denis + Jacquerye) + +Changes from 2.4 to 2.5: + +- fixed excessive kerning bug that occurs with Pango (by Denis Jacquerye) +- added U+20AF to Sans and Serif (by Lars Naesbye Christensen) +- regenerated Condensed faces (by Ben Laenen) +- added U+035C-U+035D to Sans, fixed U+0361 (by Denis Jacquerye) +- integrated 255 characters from Arev fonts: Latin Extended-B, Spacing + Modifiers, Combining Diacritical Marks, Cyrillic, Cyrillic supplement, + General Punctuation, Letterlike Symbols, Arrows, Mathematical Operators, + Miscellaneous Technical, Dingbats, Alphabetic Presentation Forms (by Denis + Jacquerye) +- added basic Cyrillic and basic Greek to Sans ExtraLight (by Denis Jacquerye) +- added U+0498, U+049A, U+04AA, U+04AB, U+04AF to Serif (by Eugeniy + Meshcheryakov) +- added U+0494, U+0495, U+0498, U+0499, U+04AA, U+04AB, U+04C3, U+04C4, + U+04C7, U+04C8 to Mono (by Eugeniy Meshcheryakov) +- adjusted weight of U+0256, U+0257, U+0260, U+0272, U+0273, U+0277, U+029B, + U+02A0 and modifed U+028B and U+027A in Mono (by Denis Jacquerye) +- added U+2000-200A to Mono (by Denis Jacquerye) +- added vulgar fractions U+2153 - U+215F to Mono (by Gee Fung Sit) +- adapted metrics of Arabic glyphs so they stay above cut-off height in Sans + (by Ben Laenen) +- fixed mkmk anchors for Arabic diacritics so they stack properly in Sans (by + Ben Laenen) +- fixed weight of lowercase upsilon in Sans Bold, make small adjustment to + lowercase omega in Sans (by Ben Laenen) +- added U+210E (by Mederic Boquien) +- unslanted U+2201, U+221B and U+221C in Sans Oblique (by Mederic Boquien) +- added several mathematical relation symbols to Sans and Mono (U+2241-224C, + U+2250-2255, U+2260-2269, U+226E-2277, U+2282-2287) modified U+223C to match + other tildes, and U+2282-2284 to have the same shape. (by Remy Oudompheng) +- made U+2234-U+2237 refer to U+2219 instead of U+00B7 in Sans (by Mederic + Boquien) +- added U+2238-223B, U+226A-226B, U+2278-2281, U+2288-228B to Sans (by Remy + Oudompheng) +- unslanted and changed reference of U+22C5 from U+00B7 to U+2219 in Sans (by + Mederic Boquien) +- added U+224D-225F, U+226D, U+22C6 to Sans and unslanted U+2219 in Sans + Oblique. (by Remy Oudompheng) +- added U+224D-225F, U+226D to Mono, shifted U+2266-2269 higher upwards and + unslanted U+2219 in Oblique. (by Remy Oudompheng) +- merged Coptic glyphs from Arev 0.2 (by Lars Naesbye Christensen) +- fixed and adjusted various Cyrillic glyphs in Serif (by Andrey V. Panov) +- made fi, fl... ligatures discretionary ligatures (by Ben Laenen) + +Changes from 2.3 to 2.4: + +- added U+04A2, U+04A3, U+04AC - U+04AF, U+04BA, U+04BB, U+04C0 - + U+04C2, U+04CB, U+04CD, U+04D8 - U+04DF, U+04E2 - U+04E5, U+04E8 - U+04F5, + U+04F6 - U+04F9 to Mono (by Eugeniy Meshcheryakov) +- added U+048C, U+048D, U+0494, U+0495, U+049E - U+04A7, U+04AC - + U+04AE, U+04B4- U+04B7, U+04BA, U+04BB, U+04C0 - U+04C4, U+04C7, U+04C8, + U+04CB, U+04CC, U+04D8 - U+04DF, U+04E2 - U+04E5, U+04EC - U+04F9 to Serif + (by Eugeniy Meshcheryakov) +- added U+2134 to Sans (by Gee Fung Sit) +- added U+2080 - U+2089 to all faces (by Gee Fung Sit) +- several minor corrections to Sans (by Gee Fung Sit) +- major corrections to Sans Condensed (by Gee Fung Sit) +- corrected Superscripts and Subscripts in Sans (by Gee Fung Sit) +- corrected anchors of U+0316-U+0319 (by Denis Jacquerye) +- Verajja integrated (by Stepan Roh) +- copied U+2328, U+2600, U+2639-U+263C, U+263F-U+2647, U+2660-U+2667, + and U+2669-U+266F from Sans to Serif, and copied scaled-down versions of + them to Sans Mono (by David Lawrence Ramsey) +- added U+20B4 to all faces (by Eugeniy Meshcheryakov) +- added more minor positional adjustments to U+2638 in all faces to + match the other miscellaneous symbols in Verajja, and rescale it in Sans + Mono so that it looks better (by David Lawrence Ramsey) +- added U+2242, U+2243 and U+22A4 (by Mederic Boquien) +- corrected U+2245 in Sans (by Mederic Boquien) +- added U+0221, U+0234-0236 (by Denis Jacquerye) +- added in Arabic block to Sans: U+060C, U+0615, U+061B, U+061F, U+0621 +- U+063A, U+0640 - U+0655, U+0660 - U+066F, U+0679 - U+0687, U+0698, U+06A1, + U+06A9, U+06AF, U+06BA, U+06BF, U+06CC, U+06F0 - U+06F9 (by Ben Laenen) +- added in Arabic Presentation Forms A to Sans: U+FB52 - U+FB81, U+FB8A +- U+FB95, U+FB9E - U+FB9F, U+FBE8 - U+FBE9, U+FBFC - U+FBFF (by Ben Laenen) +- added complete Arabic Presentation Forms B to Sans: U+FE70 - U+FE74, + U+FE76 - U+FEFC, U+FEFF (by Ben Laenen) +- added complete Greek Extended block to Mono (by Ben Laenen) +- modified Greek capitals with tonos in Mono (by Ben Laenen) +- added U+01C4-01CC, U+01D5, U+01DE, U+01E0-U+01E1, U+01E6-U+01E9, + U+01EE-U+01F5, U+01F8-U+0217, U+021E-U+021F, U+0226-U+022A, U+022C to Serif + (by Denis Jacquerye) +- adjusted U+043B and U+044F in Serif (by Denis Jacquerye) +- added U+2000-U+200A (by Denis Jacquerye) +- added U+1E00-U+1E0B, U+1E0E-U+1E11, U+1E14-U+1E1C, U+1E1E-U+1E23, + U+1E26-U+1E2D, U+1E30-U+1E35, U+1E3A-U+1E3B, U+1E3E-U+1E40, U+1E48-U+1E49, + U+1E50-U+1E56, U+1E58-U+1E59, U+1E5E-U+1E60, U+1E68-U+1E6B, U+1E6E-U+1E6F, + U+1E72-U+1E7D, U+1E86-U+1E9B, U+1EA0-U+1EA3, U+1EAC-U+1EB7, U+1EBA-U+1EBD, + U+1EC6-U+1ECF, U+1ED8-U+1ED9, U+1EE6-U+1EE7, U+1EF4-U+1EF9 to Serif (by + Denis Jacquerye) +- added U+048E, U+048F, U+049C-U+049F, U+04B8, U+04B9, U+04BC-U+04BF, + U+04C3, U+04C4 to Sans (by Eugeniy Meshcheryakov) +- added DejaVu Sans Extra Light (by Denis Jacquerye) +- Adjusted underline position for (hopefully) improved legibility in + Sans, Serif, Mono (Tim May) +- added auto-generated DejaVu LGC (by Stepan Roh) + +Changes from 2.2 to 2.3: + +- fixed bug U+042B and U+044B behave badly in Sans Bold or Oblique (by + Keenan Pepper) +- added and improved TrueType instructions and related settings (by + Keenan Pepper) +- added U+04D0-U+04D7, U+04E6, U+04E7 to Mono (by Eugeniy Meshcheryakov) +- added U+048A - U+048D, U+0498, U+0499, U+04AA, U+04AB, U+04B0, U+04B1, + U+04C0, U+04C9, U+04CA, U+04CE, U+04CD, U+04DA, U+04DB, U+04DE, U+04DF, + U+04E2 - U+04E5, U+04EC - U+04F8, U+04F9 to Sans (by Eugeniy Meshcheryakov) +- added U+04E0, U+04E1 to all faces (by Eugeniy Meshcheryakov) +- added Greek Extended to Sans and Serif: U+1F00-U+1F15, U+1F18-U+1F1D, + U+1F20-U+1F45, U+1F48-U+1F4D, U+1F50-U+1F57, U+1F59, U+1F5B, U+1F5D, + U+1F5F-U+1F7D, U+1F80-U+1FB4, U+1FB6-U+1FC4, U+1FC6-U+1FD3, U+1FD6-U+1FDB, + U+1FDD-U+1FEF, U+1FF2-U+1FF4, U+1FF6-U+1FFE (by Ben Laenen) +- added Greek variant letterforms, archaic letters and symbols to Mono: + U+03D0-U+03E1, U+03F0-U+03FF (by Ben Laenen) +- added Armenian block and Armenian ligatures to Sans (U+0531 - U+0556, + U+0559 - U+055F, U+0561 - U+0587, U+0589 - U+058A, U+FB13 - U+FB17) (by Ben + Laenen) +- redid some Greek characters in Sans and Mono to make them look better + and to correct some errors (by Ben Laenen) +- added U+27E0 to all faces (by David Lawrence Ramsey) +- added underscore (U+005F) consistency fixes: extended the Sans Mono + and Sans Mono Oblique underscores to touch both horizontal edges, and + reduced the height of the Sans Bold Oblique underscore to match the Sans + Bold underscore (by David Lawrence Ramsey) +- added underscore (U+005F) derivatives and consistency fixes for them: + made U+0332 a reference to underscore at Denis Jacquerye's suggestion; made + U+0333 two references to underscore; made U+033F two references to U+203E; + added U+2017 as two references to underscore, and made U+0333 a reference to + it; and added U+203E as a reference to underscore, and made U+0305 a + reference to it (by David Lawrence Ramsey) +- added U+201B, U+2220, U+2320-U+2321, U+23AE, U+23CF, all remaining + Geometric Shapes glyphs (U+25A0-U+25C9, U+25CB-U+25D7, U+25D9-U+25E5, + U+25E7-U+25FF), and U+2B12-U+2B13 to all faces (by David Lawrence Ramsey) +- added minor positional adjustments to U+2638 in all faces (by David + Lawrence Ramsey) +- added U+201F to Sans Mono and Serif faces (by David Lawrence Ramsey) +- added U+01B7, U+01F6, U+0464 - U+0465, U+2160 - U+2180, U+2183, + U+220A, U+220D, U+2329, U+232A, U+2422, U+27E8 - U+27EB, U+2680 - U+2685 to + Sans (by Gee Fung Sit ???) +- added U+2116 to Sans and Serif (by Gee Fung Sit) +- changed florin sign U+0192 in Sans (by Gee Fung Sit) +- added anchor points to some glyphs (by Denis Jacquerye) +- adjusted height of IPA superscripts U+02B0-02B8, U+02C0-02C1, + U+02E0-02E4, U+207F to match with height of U+00B2 (by Denis Jacquerye) +- added U+0184-U+0185, U+019C, U+019F, U+01A0-U+01A3, U+01A6, U+01AA, + U+01AF-U+01B0, U+01B2-U+01B4, U+01B7-U+01B8, U+01BC-U+01BC, U+0224-U+0225, + U+023A-U+0240, U+1D16-U+1D17, U+1D1D-U+1D1E, U+1D43-U+1D5B, U+1D7B, + U+1D85,U+1D9B-1DB7, U+1DB9-U+1DBF, U+20A6 to all fonts (by Denis Jacquerye) +- added added U+0182, U+018B, U+018E, U+01A0-U+01A1, U+01B1, U+01B9, + U+01C0-U+01C3, U+0238-U+0239, U+1D02, U+1D08-U+1D09, U+1D14, U+1D1F, U+1D77 + to Serif and Mono (by Denis Jacquerye) +- added U+0181, U+0183, U+0187-U+0188, U+018A-U+018F, U+0191, U+0193, + U+0195-U+019B, U+019D-U+019E, U+01A4-U+01A5, U+01AC-U+01AE, U+01B5-U+01B6, + U+01B9, U+01BB, U+01F6 to Serif (by Denis Jacquerye) +- added U+0181, U+0187-U+0188, U+018A, U+018D, U+018F, U+0191, U+0193, + U+0195-U+019F, U+01A4-01A5, U+01AC-01AD, U+01B5-U+01B6, U+1BB, U+01F6, + U+01D7-U+01DC, U+0238-U+0239, U+0241 to Mono (by Denis Jacquerye) +- added to Mono and Serif (by Denis Jacquerye) + +Changes from 2.1 to 2.2: + +- reworked the vertical orientation of the Blocks Elements characters + in all faces to remove their overly large descenders, in order to fix + problems with e.g. terminal emulators (by David Lawrence Ramsey) +- copied bullet in Sans faces to Serif faces for consistency (by David + Lawrence Ramsey) +- added U+2023, U+25D8, U+25E6, and U+29EB to all faces (by David + Lawrence Ramsey) +- added U+1EB8, U+1EB9, U+1ECA - U+1ECD, U+1EE4, U+1EE5 (by Tim May) +- added U+01DD, U+02BE, U+02BF, U+02D3 to all, changed U+02D2 in + non-Condensed and U+1EE5 in Serif (by Tim May) +- fixed U+01CE, replacing wrong circumflex by caron (by Denis Jacquerye) +- added anchor points to some glyphs (by Denis Jacquerye) +- added U+20B5 (by Denis Jacquerye) +- added U+0181 - U+0183, U+0187, U+0188, U+018A - U+018D, U+0191, + U+0193, U+0195 - U+019B, U+019D, U+019E, U+01A4, U+01A7 - U+01A9, U+01AB - + U+01AE, U+01B1, U+01B5, U+01B6, U+01BB, U+01C0 - U+01C3, U+01F1 - U+01F3, + U+0238, U+0239, U+1D02, U+1D08, U+1D09, U+1D14, U+1D1F, U+1D77, U+2103, + U+2126, U+2127, U+212A, U+212B, U+2132, U+214B, U+2210, U+2217, U+2218, + U+2A0C - U+2A0E, U+FB00, U+FB03 and U+FB04 to Sans (by Gee Fung Sit) +- added U+01A9, U+01C3 and U+2126 to Mono and Serif (by Gee Fung Sit) +- adjusted bearings of U+028B in Sans (by Gee Fung Sit) +- added U+018F, U+0494-U+0497, U+04A0-U+04A7, U+04AC-U+04AF, + U+04B4-U+04B7, U+04BA-U+04BB, U+04C1-U+04C2, U+04C5-U+04C8, U+04CB-U+04CC, + U+04D0-U+04D9, U+04DC-U+04DD, U+04E6-U+04EB to Sans (by Eugeniy + Meshcheryakov) +- replaced with references U+0391-U+0393, U+0395-U+0397, U+0399, U+039A, + U+039C, U+039D, U+039F-U+03A1, U+03A4, U+03A5, U+03A7, U+03BF, U+03DC, + U+0405, U+0406, U+0408, U+0410, U+0412, U+0415, U+0417, U+041A, + U+041C-U+041E, U+0420-U+0422, U+0425, U+0430, U+0435, U+043E, U+0440, + U+0441, U+0443, U+0445, U+0455-U+0458 in Serif and Mono (by Eugeniy + Meshcheryakov) +- added U+04D0-U+04D7, U+04E6-U+04EB to Serif (by Eugeniy Meshcheryakov) +- added U+212A and U+212B to the rest of the faces (by Lars Naesbye + Christensen) +- added U+2318 and U+2325 to Sans and Serif (by Lars Naesbye Christensen) +- added and improved TrueType instructions and related settings (by + Keenan Pepper) +- completed basic Greek alphabet: added U+0374-U+0375, U+037A, U+037E, + U+0384-U+038A, U+038C, U+038E-U+0390, U+03AC-U+03BF, U+03C1-U+03CE (by Ben + Laenen) +- added U+2070 and U+2074-U+2079 (by Mederic Boquien) + +Changes from 2.0 to 2.1: + +*** Be aware that names of some TTF files changed since version 2.0. *** + +- added U+0323, U+1E0C, U+1E0D, U+1E24, U+1E25, U+1E36 - U+1E39, U+1E42, + U+1E43, U+1E46, U+1E47, U+1E5A - U+1E5D, U+1E62, U+1E63, U+1E6C, U+1E6D, + U+1E7E, U+1E7F (by Tim May) +- fixed bug where GNOME applications used Mono Bold Oblique instead of + Mono Oblique (by Keenan Pepper) +- added and improved TrueType instructions and related settings (by + Keenan Pepper) +- added U+1E41, U+1E57, U+1E61 (by Sander Vesik) +- added U+0189, U+0309, U+0313, U+0314, U+031A, U+031B, U+0327, U+0328, + U+032B, U+0333, U+033C (by Denis Jacquerye) +- adjusted and fixed U+0186, U+0254, U+0291, U+0316 - U+0319, U+031C - + U+0320, U+0323 - U+0326, U+0329 - U+032A, U+032C - U+0332, U+0339 - U+033B, + U+033E, U+033F (by Denis Jacquerye) +- fixed U+1E12, U+1E3C, U+1E4A, U+1E70 to have normal below diacritics + (by Denis Jacquerye) +- fixed U+1E82, U+1E84 and U+1EF2 to have uppercase above diacritics (by + Denis Jacquerye) +- added anchor points to some glyphs (by Denis Jacquerye) +- dropped "-Roman" from font names - affects both internal TTF names and + names of generated files (by Stepan Roh) +- attempt to fix bug Vertical spacing too big for Mono by exchanging + LineGap and OS2TypoLinegap values (proofed by Stefan Rank) +- added Greek capitals U+0391 - U+03A1, U+03A3 - U+03A9, U+03AA, U+03AB + in Mono (by Ben Laenen) +- added the per ten thousand sign U+2031 (by Mederic Boquien) +- added U+2207, U+221D, U+221F, U+2227 - U+222A, and U+2261 (by David + Lawrence Ramsey) +- new logo (by Gee Fung Sit) +- added U+0180, U+018E, U+201F, U+2024, U+2025, U+203D, U+2200, U+2203, + U+2213, U+222C, U+222D, U+2263 to Sans (by Gee Fung Sit) + +Changes from 1.15 to 2.0: + +- "Italized" basic glyphs in all Serif Oblique and their Condensed faces + (by David Jez) +- added and improved TrueType instructions and related settings (by Keenan + Pepper) +- added anchor points to some glyphs (by Denis Jacquerye) +- many new spacing and combining accents (by Denis Jacquerye) +- smart substitutions for transforming i and j to dottless form and for + using uppercase diacritics (by Denis Jacquerye) +- fixed remaining erroneously slanted characters in Serif Oblique faces (by + David Lawrence Ramsey) +- copied bullet in Sans faces to Sans Oblique faces for consistency (by + David Lawrence Ramsey) +- added U+203C and U+2047-U+2049 (by David Lawrence Ramsey) +- added Greek glyphs to Serif (by Ben Laenen, Condensed merge by David Jez) +- fixed bug LTR glyphs behaving like RTL (by Ben Laenen) +- fixed wrong glyph directions (by David Jez) +- fixed repositioned accents in Condensed faces (by David Jez) + +Changes from 1.14 to 1.15: + +- added and improved TrueType instructions and related settings (by Keenan + Pepper) +- fixed U+2302, U+2319 (by David Lawrence Ramsey) +- fixed yet another monospace bug (by Stepan Roh) +- fixed potential "too big ascender/descender" bug (by Stepan Roh) +- fixed U+026E and U+028E (by Denis Jacquerye) +- added U+0186, U+0190, U+0300 - U+0304, U+0306 - U+0308, U+030A - U+030C, + U+0321, U+0322 (by Denis Jacquerye) +- added rest of Block Elements: U+2591 - U+2593 (by David Lawrence Ramsey) +- added U+2311, U+237D and U+2638 (by David Lawrence Ramsey) +- added U+01CD - U+01D4 (by Denis Jacquerye) +- fixed accents of U+00F2 - U+00F6 by replacing them with references in Mono + Bold (by David Jez) +- added U+0490, U+0491 (by Eugeniy Meshcheryakov) +- added hints to U+0404 and U+0454 in Sans (by Eugeniy Meshcheryakov) +- completed Greek glyphs from U+0370 to U+03CF in Serif (by Ben Laenen) +- fixed shape of U+0255 in Sans Bold and Sans Bold Oblique (by Denis + Jacquerye) + +Changes from 1.13 to 1.14: + +- fixed bug where Mono faces were not recognized as fixed pitch in Windows + by correcting Venda glyphs (by David Jez) +- added and improved TrueType instructions (by Keenan Pepper) +- added 6 Uzbekian glyphs (by Mashrab Kuvatov) +- added Greek glyphs to Sans and Serif, changed pi and omega to fit in (by + Ben Laenen) +- added IPA and related superscript glyphs (by Denis Jacquerye) +- fixed buggy Venda glyphs (by David Lawrence Ramsey and Stepan Roh) +- added U+2302, U+2310, U+2319 (by David Lawrence Ramsey) +- fixed slanted U+00AC in Serif Oblique faces (by David Lawrence Ramsey) +- added 29 glyphs from Block Elements (by David Lawrence Ramsey) + +Changes from 1.12 to 1.13: + +- removed all stems (PS hints) (requested by David Jez) +- added U+01D6, U+01DF, U+022B, U+022D and U+0231 (by Sander Vesik) +- added 10 Venda glyphs (by Dwayne Bailey) +- fixed bug when fonts had no name on Microsoft Windows (by Stepan Roh) +- updated 'missing' glyph U+FFFD (by David Jez) +- set TTF flag fsType to 'Installable Embedding' (= unrestricted usage) + (idea by C. Tiffany) + +Changes from 1.11 to 1.12: + +- added long s (by James Cloos) +- prettier comma accent in gcommaaccent (by David Jez) +- added Hbar, hbar, kgreenlandic, napostrophe, Eng, eng, Tbar, tbar, + afii57929 (by David Jez) +- changed Iogonek, iogonek, IJ, ij to look better (by David Jez) +- glyph uni0237 renamed to dotlessj (requested by David Jez) +- fixed accents for dcaron, lcaron, tcaron, Uogonek, uogonek in Serif (by + David Jez) +- added U+2500 - U+257F box drawing glyphs to Sans Mono (by David Jez) +- fixed accents in Wcircumflex, Ycircumflex and Zdotaccent (by David Jez) +- extra kerning for F (by Sander Vesik) +- added 'missing' glyph U+FFFD (by David Jez) + +Changes from 1.10 to 1.11: + +- kerning updates (by Sander Vesik) +- added Iogonek, iogonek, IJ, ij, Uogonek, uogonek (from SuSE standard fonts + by Adrian Schroeter, SuSE AG) +- added Gcommaaccent, gcommaaccent, Kcommaaccent, kcommaaccent, + Lcommaaccent, lcommaaccent, Ncommaaccent, ncommaaccent, Rcommaaccent, + rcommaaccent (by Stepan Roh) + +Changes from 1.9 to 1.10: + +- added U+022E, U+022F (by Sander Vesik) +- kerning updates for DejaVu Sans (by Sander Vesik) +- fixed too wide cyrillic glyphs in DejaVu Sans Mono (by Valentin Stoykov) +- fixed ligatures bug in Mono (by Stepan Roh) + +Changes from 1.8 to 1.9: + +- integrated Arev Cyrillics (by Danilo Segan) +- added U+01EA, U+01EB, U+01EC, U+01ED (by Sander Vesik) + +Changes from 1.7 to 1.8: + +- fixed accents in Serif Oblique and Serif Bold Oblique (by Stepan Roh) + +Changes from 1.6 to 1.7: + +- added automatically generated Condensed typefaces (by Stepan Roh) + +Changes from 1.5 to 1.6: + +- monospace bug fixed (by Stepan Roh) +- incorrect Bitstream foundry assigned by fontconfig and KDE Font Installer +fixed (by Stepan Roh) +- added automatically generated Oblique version of Serif typefaces (by +Stepan Roh) +- corrected cyrillic D and d (by Danilo Segan and David Jez) +- fixed accents position in Oblique version of Serif typefaces (by Danilo +Segan and Sander Vesik) +- fixed incorrect computation of OS2Win* fields (by Stepan Roh) +- added visiblespace U+2423 (by David Jez) +- fixed 'line height' bug by fixing ascender and descender values (by David +Jez and Stepan Roh) +- fixed part of 'worse than Vera' bug (by Peter Cernak) +- smaller comma accent U+0326 (by David Jez) + +Changes from 1.4 to 1.5: + +- added Cyrillics (96 characters) and Dcroat to the rest of typefaces (by +Danilo Segan) +- fixed bugs in some Cyrillic characters, some of them reported by Sander +Vesik (by Danilo Segan) +- added U+0100, U+0101, U+0112, U+0113, U+012A, U+012B, U+014C, U+014D, +U+016A, U+016B, U+01E2, U+01E3, U+0232 and U+0233 (by Sander Vesik) +- added Romanian characters (by Misu Moldovan) +- added U+0108, U+0109, U+010A, U+010B, U+0114, U+0115, U+0116, U+0117, +U+011C, U+011D, U+0120, U+0121, U+0124, U+0125, U+0128, U+0129, U+012C, +U+012D, U+0134, U+0135, U+014E, U+014F, U+0150, U+0151, U+015C, U+015D, +U+0168, U+0169, U+016C, U+016D, U+0170, U+0171 and U+0237 (by James +Crippen) +- added U+02BB, U+2010, U+2011, U+2012 and U+2015 (by Stepan Roh) + +Changes from 1.3 to 1.4: + +- added Polish characters (Aogonek, aogonek, Eogonek, eogonek, Nacute, +nacute, Sacute, sacute, Zacute, zacute, Zdotaccent, zdotaccent) (by Stepan +Roh) + +Changes from 1.2 to 1.3: + +- added Cyrillics (96 characters) and Dcroat to Sans typefaces (by Danilo +Segan from his BePa fonts) + +Changes from 1.1 to 1.2: + +- added Ldot, ldot, Wcircumflex, wcircumflex, Ycircumflex, ycircumflex, + Wgrave, wgrave, Wacute, wacute, Wdieresis, wdieresis, Ygrave and ygrave + (from The Olwen Font Family 0.2 by Dafydd Harries) + +Changes from 1.0 to 1.1: + +- added Lacute, lacute, Lcaron, lcaron, Racute and racute (by Peter Cernak) + +Changes from 0.9.4 to 1.0: + +- none, just changed version and updated README + +Changes from 0.9.3 to 0.9.4: + +- fixed TTF generation (kerning tables were missing) + +Changes from 0.9.2 to 0.9.3: + +- kerning of added characters +- proper caron shape for dcaron in Mono (by Ondrej Koala Vacha) +- minor visual changes + +Changes from 0.9.1 to 0.9.2: + +- internal bugged version + +Changes from 0.9 to 0.9.1: + +- proper caron shape for dcaron and tcaron +- minor visual changes + +$Id: NEWS 2535 2013-08-25 15:21:17Z moyogo $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/README b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/README new file mode 100644 index 0000000..162a893 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/README @@ -0,0 +1,59 @@ +DejaVu fonts 2.34 (c)2004-2013 DejaVu fonts team +------------------------------------------------ + +The DejaVu fonts are a font family based on the Bitstream Vera Fonts +(http://gnome.org/fonts/). Its purpose is to provide a wider range of +characters (see status.txt for more information) while maintaining the +original look and feel. + +DejaVu fonts are based on Bitstream Vera fonts version 1.10. + +Available fonts (Sans = sans serif, Mono = monospaced): + +DejaVu Sans Mono +DejaVu Sans Mono Bold +DejaVu Sans Mono Bold Oblique +DejaVu Sans Mono Oblique +DejaVu Sans +DejaVu Sans Bold +DejaVu Sans Bold Oblique +DejaVu Sans Oblique +DejaVu Sans ExtraLight (experimental) +DejaVu Serif +DejaVu Serif Bold +DejaVu Serif Bold Italic (experimental) +DejaVu Serif Italic (experimental) +DejaVu Sans Condensed (experimental) +DejaVu Sans Condensed Bold (experimental) +DejaVu Sans Condensed Bold Oblique (experimental) +DejaVu Sans Condensed Oblique (experimental) +DejaVu Serif Condensed (experimental) +DejaVu Serif Condensed Bold (experimental) +DejaVu Serif Condensed Bold Italic (experimental) +DejaVu Serif Condensed Italic (experimental) + +All fonts are also available as derivative called DejaVu LGC with support +only for Latin, Greek and Cyrillic scripts. + +For license information see LICENSE. What's new is described in NEWS. Known +bugs are in BUGS. All authors are mentioned in AUTHORS. + +Fonts are published in source form as SFD files (Spline Font Database from +FontForge - http://fontforge.sf.net/) and in compiled form as TTF files +(TrueType fonts). + +For more information go to http://dejavu.sourceforge.net/. + +Characters from Arev fonts, Copyright (c) 2006 by Tavmjong Bah: +--------------------------- +U+01BA, U+01BF, U+01F7, U+021C-U+021D, U+0220, U+0222-U+0223, +U+02B9, U+02BA, U+02BD, U+02C2-U+02C5, U+02d4-U+02D5, +U+02D7, U+02EC-U+02EE, U+0346-U+034E, U+0360, U+0362, +U+03E2-03EF, U+0460-0463, U+0466-U+0486, U+0488-U+0489, U+04A8-U+04A9, +U+0500-U+050F, U+2055-205E, U+20B0, U+20B2-U+20B3, U+2102, U+210D, U+210F, +U+2111, U+2113, U+2115, U+2118-U+211A, U+211C-U+211D, U+2124, U+2135, +U+213C-U+2140, U+2295-U+2298, U+2308-U+230B, U+26A2-U+26B1, U+2701-U+2704, +U+2706-U+2709, U+270C-U+274B, U+2758-U+275A, U+2761-U+2775, U+2780-U+2794, +U+2798-U+27AF, U+27B1-U+27BE, U+FB05-U+FB06 + +$Id: README 2535 2013-08-25 15:21:17Z moyogo $ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/langcover.txt b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/langcover.txt new file mode 100644 index 0000000..4db5bca --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/langcover.txt @@ -0,0 +1,249 @@ +This is the language coverage file for DejaVu fonts +($Id: langcover.txt 2538 2013-08-25 16:02:56Z moyogo $) + + Sans Serif Sans Mono +aa Afar 100% (62/62) 100% (62/62) 100% (62/62) +ab Abkhazia 100% (90/90) 93% (84/90) 84% (76/90) +af Afrikaans 100% (69/69) 100% (69/69) 100% (69/69) +ak Akan 100% (73/73) 100% (73/73) 100% (73/73) +am Amharic (0/264) (0/264) (0/264) +an Aragonese 100% (66/66) 100% (66/66) 100% (66/66) +ar Arabic 100% (36/36) (0/36) 100% (36/36) +as Assamese (0/64) (0/64) (0/64) +ast Asturian/Bable/Leonese/Asturleonese 100% (70/70) 100% (70/70) 100% (70/70) +av Avaric 100% (67/67) 100% (67/67) 100% (67/67) +ay Aymara 100% (60/60) 100% (60/60) 100% (60/60) +az-az Azerbaijani in Azerbaijan 100% (66/66) 100% (66/66) 100% (66/66) +az-ir Azerbaijani in Iran 100% (40/40) (0/40) 100% (40/40) +ba Bashkir 100% (82/82) 100% (82/82) 97% (80/82) +be Byelorussian 100% (68/68) 100% (68/68) 100% (68/68) +ber-dz Berber in Algeria 100% (70/70) 100% (70/70) 100% (70/70) +ber-ma Berber in Morocco 100% (32/32) (0/32) (0/32) +bg Bulgarian 100% (60/60) 100% (60/60) 100% (60/60) +bh Bihari (Devanagari script) (0/68) (0/68) (0/68) +bho Bhojpuri (Devanagari script) (0/68) (0/68) (0/68) +bi Bislama 100% (58/58) 100% (58/58) 100% (58/58) +bin Edo or Bini 100% (78/78) 100% (78/78) 100% (78/78) +bm Bambara 100% (60/60) 100% (60/60) 100% (60/60) +bn Bengali (0/63) (0/63) (0/63) +bo Tibetan (0/95) (0/95) (0/95) +br Breton 100% (64/64) 100% (64/64) 100% (64/64) +brx Bodo (Devanagari script) (0/82) (0/82) (0/82) +bs Bosnian 100% (62/62) 100% (62/62) 100% (62/62) +bua Buriat (Buryat) 100% (70/70) 100% (70/70) 100% (70/70) +byn Blin/Bilin (0/255) (0/255) (0/255) +ca Catalan 100% (74/74) 100% (74/74) 100% (74/74) +ce Chechen 100% (67/67) 100% (67/67) 100% (67/67) +ch Chamorro 100% (58/58) 100% (58/58) 100% (58/58) +chm Mari (Lower Cheremis / Upper Cheremis) 100% (76/76) 100% (76/76) 100% (76/76) +chr Cherokee (0/85) (0/85) (0/85) +co Corsican 100% (84/84) 100% (84/84) 100% (84/84) +crh Crimean Tatar/Crimean Turkish 100% (68/68) 100% (68/68) 100% (68/68) +cs Czech 100% (82/82) 100% (82/82) 100% (82/82) +csb Kashubian 100% (74/74) 100% (74/74) 100% (74/74) +cu Old Church Slavonic 100% (103/103) 90% (93/103) 78% (81/103) +cv Chuvash 100% (74/74) 100% (74/74) 100% (74/74) +cy Welsh 100% (78/78) 100% (78/78) 100% (78/78) +da Danish 100% (70/70) 100% (70/70) 100% (70/70) +de German 100% (59/59) 100% (59/59) 100% (59/59) +doi Dogri (0/85) (0/85) (0/85) +dv Divehi/Dhivehi/Maldivian (0/49) (0/49) (0/49) +dz Dzongkha (0/95) (0/95) (0/95) +ee Ewe 100% (99/99) 100% (99/99) 100% (99/99) +el Greek 100% (69/69) 100% (69/69) 100% (69/69) +en English 100% (72/72) 100% (72/72) 100% (72/72) +eo Esperanto 100% (64/64) 100% (64/64) 100% (64/64) +es Spanish 100% (66/66) 100% (66/66) 100% (66/66) +et Estonian 100% (64/64) 100% (64/64) 100% (64/64) +eu Basque 100% (56/56) 100% (56/56) 100% (56/56) +fa Persian 100% (40/40) (0/40) 100% (40/40) +fat Fanti 100% (73/73) 100% (73/73) 100% (73/73) +ff Fulah (Fula) 100% (62/62) 100% (62/62) 100% (62/62) +fi Finnish 100% (62/62) 100% (62/62) 100% (62/62) +fil Filipino 100% (84/84) 100% (84/84) 100% (84/84) +fj Fijian 100% (52/52) 100% (52/52) 100% (52/52) +fo Faroese 100% (68/68) 100% (68/68) 100% (68/68) +fr French 100% (84/84) 100% (84/84) 100% (84/84) +fur Friulian 100% (66/66) 100% (66/66) 100% (66/66) +fy Frisian 100% (75/75) 100% (75/75) 100% (75/75) +ga Irish 100% (80/80) 100% (80/80) 100% (80/80) +gd Scots Gaelic 100% (70/70) 100% (70/70) 100% (70/70) +gez Ethiopic (Geez) (0/218) (0/218) (0/218) +gl Galician 100% (66/66) 100% (66/66) 100% (66/66) +gn Guarani 100% (70/70) 100% (70/70) 100% (70/70) +gu Gujarati (0/68) (0/68) (0/68) +gv Manx Gaelic 100% (54/54) 100% (54/54) 100% (54/54) +ha Hausa 100% (60/60) 100% (60/60) 100% (60/60) +haw Hawaiian 100% (63/63) 100% (63/63) 100% (63/63) +he Hebrew 100% (27/27) (0/27) (0/27) +hi Hindi (Devanagari script) (0/68) (0/68) (0/68) +hne Chhattisgarhi (0/68) (0/68) (0/68) +ho Hiri Motu 100% (52/52) 100% (52/52) 100% (52/52) +hr Croatian 100% (62/62) 100% (62/62) 100% (62/62) +hsb Upper Sorbian 100% (72/72) 100% (72/72) 100% (72/72) +ht Haitian/Haitian Creole 100% (56/56) 100% (56/56) 100% (56/56) +hu Hungarian 100% (70/70) 100% (70/70) 100% (70/70) +hy Armenian 100% (77/77) 100% (77/77) 100% (77/77) +hz Herero 100% (57/57) 100% (57/57) 100% (57/57) +ia Interlingua 100% (52/52) 100% (52/52) 100% (52/52) +id Indonesian 100% (54/54) 100% (54/54) 100% (54/54) +ie Interlingue 100% (52/52) 100% (52/52) 100% (52/52) +ig Igbo 100% (58/58) 100% (58/58) 100% (58/58) +ii Sichuan Yi/Nuosu (0/1165) (0/1165) (0/1165) +ik Inupiaq (Inupiak, Eskimo) 100% (68/68) 100% (68/68) 100% (68/68) +io Ido 100% (52/52) 100% (52/52) 100% (52/52) +is Icelandic 100% (70/70) 100% (70/70) 100% (70/70) +it Italian 100% (72/72) 100% (72/72) 100% (72/72) +iu Inuktitut 100% (161/161) (0/161) (0/161) +ja Japanese (0/6537) (0/6537) (0/6537) +jv Javanese 100% (56/56) 100% (56/56) 100% (56/56) +ka Georgian 100% (33/33) 100% (33/33) 100% (33/33) +kaa Kara-Kalpak (Karakalpak) 100% (78/78) 100% (78/78) 100% (78/78) +kab Kabyle 100% (70/70) 100% (70/70) 100% (70/70) +ki Kikuyu 100% (56/56) 100% (56/56) 100% (56/56) +kj Kuanyama/Kwanyama 100% (52/52) 100% (52/52) 100% (52/52) +kk Kazakh 100% (77/77) 100% (77/77) 100% (77/77) +kl Greenlandic 100% (81/81) 100% (81/81) 100% (81/81) +km Central Khmer (0/63) (0/63) (0/63) +kn Kannada (0/70) (0/70) (0/70) +ko Korean (0/2443) (0/2443) (0/2443) +kok Kokani (Devanagari script) (0/68) (0/68) (0/68) +kr Kanuri 100% (56/56) 100% (56/56) 100% (56/56) +ks Kashmiri 78% (26/33) (0/33) 69% (23/33) +ku-am Kurdish in Armenia 100% (64/64) 100% (64/64) 100% (64/64) +ku-iq Kurdish in Iraq 100% (32/32) (0/32) 87% (28/32) +ku-ir Kurdish in Iran 100% (32/32) (0/32) 87% (28/32) +ku-tr Kurdish in Turkey 100% (62/62) 100% (62/62) 100% (62/62) +kum Kumyk 100% (66/66) 100% (66/66) 100% (66/66) +kv Komi (Komi-Permyak/Komi-Siryan) 100% (70/70) 100% (70/70) 100% (70/70) +kw Cornish 100% (64/64) 100% (64/64) 100% (64/64) +kwm Kwambi 100% (52/52) 100% (52/52) 100% (52/52) +ky Kirgiz 100% (70/70) 100% (70/70) 100% (70/70) +la Latin 100% (68/68) 100% (68/68) 100% (68/68) +lah Lahnda 92% (25/27) (0/27) 85% (23/27) +lb Luxembourgish (Letzeburgesch) 100% (75/75) 100% (75/75) 100% (75/75) +lez Lezghian (Lezgian) 100% (67/67) 100% (67/67) 100% (67/67) +lg Ganda 100% (54/54) 100% (54/54) 100% (54/54) +li Limburgan/Limburger/Limburgish 100% (62/62) 100% (62/62) 100% (62/62) +ln Lingala 100% (81/81) 100% (81/81) 100% (81/81) +lo Lao 100% (55/55) (0/55) 83% (46/55) +lt Lithuanian 100% (70/70) 100% (70/70) 100% (70/70) +lv Latvian 100% (78/78) 100% (78/78) 100% (78/78) +mai Maithili (Devanagari script) (0/68) (0/68) (0/68) +mg Malagasy 100% (56/56) 100% (56/56) 100% (56/56) +mh Marshallese 100% (62/62) 100% (62/62) 100% (62/62) +mi Maori 100% (64/64) 100% (64/64) 100% (64/64) +mk Macedonian 100% (42/42) 100% (42/42) 100% (42/42) +ml Malayalam (0/68) (0/68) (0/68) +mn-cn Mongolian in China (0/130) (0/130) (0/130) +mn-mn Mongolian in Mongolia 100% (70/70) 100% (70/70) 100% (70/70) +mni Maniputi (0/78) (0/78) (0/78) +mo Moldavian 100% (128/128) 100% (128/128) 100% (128/128) +mr Marathi (Devanagari script) (0/68) (0/68) (0/68) +ms Malay 100% (52/52) 100% (52/52) 100% (52/52) +mt Maltese 100% (72/72) 100% (72/72) 100% (72/72) +my Burmese (Myanmar) (0/48) (0/48) (0/48) +na Nauru 100% (60/60) 100% (60/60) 100% (60/60) +nb Norwegian Bokmal 100% (70/70) 100% (70/70) 100% (70/70) +nds Low Saxon 100% (59/59) 100% (59/59) 100% (59/59) +ne Nepali (0/72) (0/72) (0/72) +ng Ndonga 100% (52/52) 100% (52/52) 100% (52/52) +nl Dutch 100% (82/82) 100% (82/82) 100% (82/82) +nn Norwegian Nynorsk 100% (76/76) 100% (76/76) 100% (76/76) +no Norwegian (Bokmal) 100% (70/70) 100% (70/70) 100% (70/70) +nqo N'Ko 91% (54/59) (0/59) (0/59) +nr Ndebele, South 100% (52/52) 100% (52/52) 100% (52/52) +nso Northern Sotho 100% (58/58) 100% (58/58) 100% (58/58) +nv Navajo/Navaho 100% (72/72) 100% (72/72) 100% (72/72) +ny Chichewa 100% (54/54) 100% (54/54) 100% (54/54) +oc Occitan 100% (70/70) 100% (70/70) 100% (70/70) +om Oromo or Galla 100% (52/52) 100% (52/52) 100% (52/52) +or Oriya (0/68) (0/68) (0/68) +os Ossetic 100% (66/66) 100% (66/66) 100% (66/66) +ota Ottoman Turkish 100% (37/37) (0/37) 97% (36/37) +pa Panjabi/Punjabi (0/63) (0/63) (0/63) +pa-pk Panjabi/Punjabi in Pakistan 92% (25/27) (0/27) 85% (23/27) +pap-an Papiamento in Netherlands Antilles 100% (72/72) 100% (72/72) 100% (72/72) +pap-aw Papiamento in Aruba 100% (54/54) 100% (54/54) 100% (54/54) +pes Western Farsi 100% (40/40) (0/40) 100% (40/40) +pl Polish 100% (70/70) 100% (70/70) 100% (70/70) +prs Dari/Eastern Farsi 100% (40/40) (0/40) 100% (40/40) +ps-af Pashto in Afghanistan 95% (47/49) (0/49) 77% (38/49) +ps-pk Pashto in Pakistan 93% (46/49) (0/49) 75% (37/49) +pt Portuguese 100% (82/82) 100% (82/82) 100% (82/82) +qu Quechua 100% (55/55) 100% (55/55) 100% (55/55) +rm Rhaeto-Romance (Romansch) 100% (66/66) 100% (66/66) 100% (66/66) +rn Rundi 100% (52/52) 100% (52/52) 100% (52/52) +ro Romanian 100% (62/62) 100% (62/62) 100% (62/62) +ru Russian 100% (66/66) 100% (66/66) 100% (66/66) +rw Kinyarwanda 100% (52/52) 100% (52/52) 100% (52/52) +sa Sanskrit (Devanagari script) (0/68) (0/68) (0/68) +sah Yakut 100% (76/76) 100% (76/76) 100% (76/76) +sat Santali (Devanagari script) (0/70) (0/70) (0/70) +sc Sardinian 100% (62/62) 100% (62/62) 100% (62/62) +sco Scots 100% (56/56) 100% (56/56) 100% (56/56) +sd Sindhi 100% (54/54) (0/54) 79% (43/54) +se North Sami 100% (66/66) 100% (66/66) 100% (66/66) +sel Selkup (Ostyak-Samoyed) 100% (66/66) 100% (66/66) 100% (66/66) +sg Sango 100% (72/72) 100% (72/72) 100% (72/72) +sh Serbo-Croatian 100% (156/156) 100% (156/156) 98% (154/156) +shs Secwepemctsin 100% (48/48) 100% (48/48) 100% (48/48) +si Sinhala/Sinhalese (0/73) (0/73) (0/73) +sid Sidamo (0/281) (0/281) (0/281) +sk Slovak 100% (86/86) 100% (86/86) 100% (86/86) +sl Slovenian 100% (62/62) 100% (62/62) 100% (62/62) +sm Samoan 100% (53/53) 100% (53/53) 100% (53/53) +sma South Sami 100% (60/60) 100% (60/60) 100% (60/60) +smj Lule Sami 100% (60/60) 100% (60/60) 100% (60/60) +smn Inari Sami 100% (68/68) 100% (68/68) 100% (68/68) +sms Skolt Sami 100% (80/80) 100% (80/80) 97% (78/80) +sn Shona 100% (52/52) 100% (52/52) 100% (52/52) +so Somali 100% (52/52) 100% (52/52) 100% (52/52) +sq Albanian 100% (56/56) 100% (56/56) 100% (56/56) +sr Serbian 100% (60/60) 100% (60/60) 100% (60/60) +ss Swati 100% (52/52) 100% (52/52) 100% (52/52) +st Sotho, Southern 100% (52/52) 100% (52/52) 100% (52/52) +su Sundanese 100% (54/54) 100% (54/54) 100% (54/54) +sv Swedish 100% (68/68) 100% (68/68) 100% (68/68) +sw Swahili 100% (52/52) 100% (52/52) 100% (52/52) +syr Syriac (0/45) (0/45) (0/45) +ta Tamil (0/48) (0/48) (0/48) +te Telugu (0/70) (0/70) (0/70) +tg Tajik 100% (78/78) 100% (78/78) 97% (76/78) +th Thai 1% (1/74) (0/74) (0/74) +ti-er Eritrean Tigrinya (0/255) (0/255) (0/255) +ti-et Ethiopian Tigrinya (0/281) (0/281) (0/281) +tig Tigre (0/221) (0/221) (0/221) +tk Turkmen 100% (68/68) 100% (68/68) 100% (68/68) +tl Tagalog 100% (84/84) 100% (84/84) 100% (84/84) +tn Tswana 100% (58/58) 100% (58/58) 100% (58/58) +to Tonga 100% (53/53) 100% (53/53) 100% (53/53) +tr Turkish 100% (70/70) 100% (70/70) 100% (70/70) +ts Tsonga 100% (52/52) 100% (52/52) 100% (52/52) +tt Tatar 100% (76/76) 100% (76/76) 100% (76/76) +tw Twi 100% (73/73) 100% (73/73) 100% (73/73) +ty Tahitian 100% (65/65) 100% (65/65) 100% (65/65) +tyv Tuvinian 100% (70/70) 100% (70/70) 100% (70/70) +ug Uyghur 87% (29/33) (0/33) 78% (26/33) +uk Ukrainian 100% (72/72) 100% (72/72) 100% (72/72) +ur Urdu 92% (25/27) (0/27) 85% (23/27) +uz Uzbek 100% (52/52) 100% (52/52) 100% (52/52) +ve Venda 100% (62/62) 100% (62/62) 100% (62/62) +vi Vietnamese 100% (194/194) 100% (194/194) 76% (148/194) +vo Volapuk 100% (54/54) 100% (54/54) 100% (54/54) +vot Votic 100% (62/62) 100% (62/62) 100% (62/62) +wa Walloon 100% (70/70) 100% (70/70) 100% (70/70) +wal Wolaitta/Wolaytta (0/281) (0/281) (0/281) +wen Sorbian languages (lower and upper) 100% (76/76) 100% (76/76) 100% (76/76) +wo Wolof 100% (66/66) 100% (66/66) 100% (66/66) +xh Xhosa 100% (52/52) 100% (52/52) 100% (52/52) +yap Yapese 100% (58/58) 100% (58/58) 100% (58/58) +yi Yiddish 100% (27/27) (0/27) (0/27) +yo Yoruba 100% (119/119) 100% (119/119) 100% (119/119) +za Zhuang/Chuang 100% (52/52) 100% (52/52) 100% (52/52) +zh-cn Chinese (simplified) 0% (2/6765) 0% (2/6765) 0% (2/6765) +zh-hk Chinese Hong Kong Supplementary Character Set (0/2213) (0/2213) (0/2213) +zh-mo Chinese in Macau (0/2213) (0/2213) (0/2213) +zh-sg Chinese in Singapore 0% (2/6765) 0% (2/6765) 0% (2/6765) +zh-tw Chinese (traditional) (0/13063) (0/13063) (0/13063) +zu Zulu 100% (52/52) 100% (52/52) 100% (52/52) diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/unicover.txt b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/unicover.txt new file mode 100644 index 0000000..c86c056 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/unicover.txt @@ -0,0 +1,226 @@ +This is the Unicode coverage file for DejaVu fonts +($Id: unicover.txt 2538 2013-08-25 16:02:56Z moyogo $) + +Control and similar characters are discounted from totals. + + Sans Serif Sans Mono +U+0000 Basic Latin 100% (95/95) 100% (95/95) 100% (95/95) +U+0080 Latin-1 Supplement 100% (96/96) 100% (96/96) 100% (96/96) +U+0100 Latin Extended-A 100% (128/128) 100% (128/128) 100% (128/128) +U+0180 Latin Extended-B 100% (208/208) 100% (208/208) 86% (180/208) +U+0250 IPA Extensions 100% (96/96) 100% (96/96) 100% (96/96) +U+02b0 Spacing Modifier Letters 78% (63/80) 73% (59/80) 62% (50/80) +U+0300 Combining Diacritical Marks 83% (93/112) 61% (69/112) 59% (67/112) +U+0370 Greek and Coptic 100% (134/134) 89% (120/134) 82% (110/134) +U+0400 Cyrillic 100% (256/256) 79% (204/256) 70% (180/256) +U+0500 Cyrillic Supplement 95% (38/40) 25% (10/40) 15% (6/40) +U+0530 Armenian 98% (86/87) 98% (86/87) 98% (86/87) +U+0590 Hebrew 62% (54/87) (0/87) (0/87) +U+0600 Arabic 63% (161/253) (0/253) 39% (99/253) +U+0700 Syriac (0/77) (0/77) (0/77) +U+0750 Arabic Supplement (0/48) (0/48) (0/48) +U+0780 Thaana (0/50) (0/50) (0/50) +U+07c0 NKo 91% (54/59) (0/59) (0/59) +U+0800 Samaritan (0/61) (0/61) (0/61) +U+0840 Mandaic (0/29) (0/29) (0/29) +U+08a0 Arabic Extended-A (0/39) (0/39) (0/39) +U+0900 Devanagari (0/127) (0/127) (0/127) +U+0980 Bengali (0/92) (0/92) (0/92) +U+0a00 Gurmukhi (0/79) (0/79) (0/79) +U+0a80 Gujarati (0/84) (0/84) (0/84) +U+0b00 Oriya (0/90) (0/90) (0/90) +U+0b80 Tamil (0/72) (0/72) (0/72) +U+0c00 Telugu (0/93) (0/93) (0/93) +U+0c80 Kannada (0/86) (0/86) (0/86) +U+0d00 Malayalam (0/98) (0/98) (0/98) +U+0d80 Sinhala (0/80) (0/80) (0/80) +U+0e00 Thai 1% (1/87) (0/87) (0/87) +U+0e80 Lao 97% (65/67) (0/67) 68% (46/67) +U+0f00 Tibetan (0/211) (0/211) (0/211) +U+1000 Myanmar (0/160) (0/160) (0/160) +U+10a0 Georgian 94% (83/88) 94% (83/88) 51% (45/88) +U+1100 Hangul Jamo (0/256) (0/256) (0/256) +U+1200 Ethiopic (0/358) (0/358) (0/358) +U+1380 Ethiopic Supplement (0/26) (0/26) (0/26) +U+13a0 Cherokee (0/85) (0/85) (0/85) +U+1400 Unified Canadian Aboriginal Syllabics 63% (404/640) (0/640) (0/640) +U+1680 Ogham 100% (29/29) (0/29) (0/29) +U+16a0 Runic (0/81) (0/81) (0/81) +U+1700 Tagalog (0/20) (0/20) (0/20) +U+1720 Hanunoo (0/23) (0/23) (0/23) +U+1740 Buhid (0/20) (0/20) (0/20) +U+1760 Tagbanwa (0/18) (0/18) (0/18) +U+1780 Khmer (0/114) (0/114) (0/114) +U+1800 Mongolian (0/156) (0/156) (0/156) +U+18b0 Unified Canadian Aboriginal Syllabics Extended (0/70) (0/70) (0/70) +U+1900 Limbu (0/66) (0/66) (0/66) +U+1950 Tai Le (0/35) (0/35) (0/35) +U+1980 New Tai Lue (0/83) (0/83) (0/83) +U+19e0 Khmer Symbols (0/32) (0/32) (0/32) +U+1a00 Buginese (0/30) (0/30) (0/30) +U+1a20 Tai Tham (0/127) (0/127) (0/127) +U+1b00 Balinese (0/121) (0/121) (0/121) +U+1b80 Sundanese (0/64) (0/64) (0/64) +U+1bc0 Batak (0/56) (0/56) (0/56) +U+1c00 Lepcha (0/74) (0/74) (0/74) +U+1c50 Ol Chiki (0/48) (0/48) (0/48) +U+1cc0 Sundanese Supplement (0/8) (0/8) (0/8) +U+1cd0 Vedic Extensions (0/39) (0/39) (0/39) +U+1d00 Phonetic Extensions 82% (106/128) 89% (115/128) 48% (62/128) +U+1d80 Phonetic Extensions Supplement 59% (38/64) 59% (38/64) 57% (37/64) +U+1dc0 Combining Diacritical Marks Supplement 13% (6/43) 13% (6/43) (0/43) +U+1e00 Latin Extended Additional 98% (252/256) 98% (252/256) 71% (182/256) +U+1f00 Greek Extended 100% (233/233) 100% (233/233) 100% (233/233) +U+2000 General Punctuation 100% (107/107) 81% (87/107) 49% (53/107) +U+2070 Superscripts and Subscripts 100% (42/42) 100% (42/42) 100% (42/42) +U+20a0 Currency Symbols 92% (25/27) 29% (8/27) 88% (24/27) +U+20d0 Combining Diacritical Marks for Symbols 21% (7/33) (0/33) (0/33) +U+2100 Letterlike Symbols 93% (75/80) 42% (34/80) 22% (18/80) +U+2150 Number Forms 94% (55/58) 94% (55/58) 22% (13/58) +U+2190 Arrows 100% (112/112) 100% (112/112) 100% (112/112) +U+2200 Mathematical Operators 100% (256/256) 39% (100/256) 62% (159/256) +U+2300 Miscellaneous Technical 26% (65/244) 14% (35/244) 47% (117/244) +U+2400 Control Pictures 5% (2/39) 2% (1/39) 2% (1/39) +U+2440 Optical Character Recognition (0/11) (0/11) (0/11) +U+2460 Enclosed Alphanumerics 6% (10/160) (0/160) (0/160) +U+2500 Box Drawing 100% (128/128) 100% (128/128) 100% (128/128) +U+2580 Block Elements 100% (32/32) 100% (32/32) 100% (32/32) +U+25a0 Geometric Shapes 100% (96/96) 100% (96/96) 100% (96/96) +U+2600 Miscellaneous Symbols 73% (187/256) 11% (30/256) 58% (149/256) +U+2700 Dingbats 91% (174/191) 0% (1/191) 75% (144/191) +U+27c0 Miscellaneous Mathematical Symbols-A 18% (9/48) 10% (5/48) 16% (8/48) +U+27f0 Supplemental Arrows-A 100% (16/16) 100% (16/16) (0/16) +U+2800 Braille Patterns 100% (256/256) 100% (256/256) (0/256) +U+2900 Supplemental Arrows-B 4% (6/128) 100% (128/128) (0/128) +U+2980 Miscellaneous Mathematical Symbols-B 10% (13/128) 0% (1/128) 2% (3/128) +U+2a00 Supplemental Mathematical Operators 28% (74/256) 2% (6/256) 1% (3/256) +U+2b00 Miscellaneous Symbols and Arrows 40% (35/87) 31% (27/87) 20% (18/87) +U+2c00 Glagolitic (0/94) (0/94) (0/94) +U+2c60 Latin Extended-C 96% (31/32) 84% (27/32) 43% (14/32) +U+2c80 Coptic (0/123) (0/123) (0/123) +U+2d00 Georgian Supplement 95% (38/40) 95% (38/40) (0/40) +U+2d30 Tifinagh 93% (55/59) (0/59) (0/59) +U+2d80 Ethiopic Extended (0/79) (0/79) (0/79) +U+2de0 Cyrillic Extended-A (0/32) (0/32) (0/32) +U+2e00 Supplemental Punctuation 11% (7/60) 11% (7/60) 11% (7/60) +U+2e80 CJK Radicals Supplement (0/115) (0/115) (0/115) +U+2f00 Kangxi Radicals (0/214) (0/214) (0/214) +U+2ff0 Ideographic Description Characters (0/12) (0/12) (0/12) +U+3000 CJK Symbols and Punctuation (0/64) (0/64) (0/64) +U+3040 Hiragana (0/93) (0/93) (0/93) +U+30a0 Katakana (0/96) (0/96) (0/96) +U+3100 Bopomofo (0/41) (0/41) (0/41) +U+3130 Hangul Compatibility Jamo (0/94) (0/94) (0/94) +U+3190 Kanbun (0/16) (0/16) (0/16) +U+31a0 Bopomofo Extended (0/27) (0/27) (0/27) +U+31c0 CJK Strokes (0/36) (0/36) (0/36) +U+31f0 Katakana Phonetic Extensions (0/16) (0/16) (0/16) +U+3200 Enclosed CJK Letters and Months (0/254) (0/254) (0/254) +U+3300 CJK Compatibility (0/256) (0/256) (0/256) +U+3400 CJK Unified Ideographs Extension A (0/0) (0/0) (0/0) +U+4dc0 Yijing Hexagram Symbols 100% (64/64) (0/64) (0/64) +U+4e00 CJK Unified Ideographs (0/0) (0/0) (0/0) +U+a000 Yi Syllables (0/1165) (0/1165) (0/1165) +U+a490 Yi Radicals (0/55) (0/55) (0/55) +U+a4d0 Lisu 100% (48/48) (0/48) (0/48) +U+a500 Vai (0/300) (0/300) (0/300) +U+a640 Cyrillic Extended-B 34% (31/89) 11% (10/89) (0/89) +U+a6a0 Bamum (0/88) (0/88) (0/88) +U+a700 Modifier Tone Letters 62% (20/32) 62% (20/32) 62% (20/32) +U+a720 Latin Extended-D 55% (75/134) 43% (58/134) 11% (15/134) +U+a800 Syloti Nagri (0/44) (0/44) (0/44) +U+a830 Common Indic Number Forms (0/10) (0/10) (0/10) +U+a840 Phags-pa (0/56) (0/56) (0/56) +U+a880 Saurashtra (0/81) (0/81) (0/81) +U+a8e0 Devanagari Extended (0/28) (0/28) (0/28) +U+a900 Kayah Li (0/48) (0/48) (0/48) +U+a930 Rejang (0/37) (0/37) (0/37) +U+a960 Hangul Jamo Extended-A (0/29) (0/29) (0/29) +U+a980 Javanese (0/91) (0/91) (0/91) +U+aa00 Cham (0/83) (0/83) (0/83) +U+aa60 Myanmar Extended-A (0/28) (0/28) (0/28) +U+aa80 Tai Viet (0/72) (0/72) (0/72) +U+aae0 Meetei Mayek Extensions (0/23) (0/23) (0/23) +U+ab00 Ethiopic Extended-A (0/32) (0/32) (0/32) +U+abc0 Meetei Mayek (0/56) (0/56) (0/56) +U+ac00 Hangul Syllables (0/0) (0/0) (0/0) +U+d7b0 Hangul Jamo Extended-B (0/72) (0/72) (0/72) +U+d800 High Surrogates (0/0) (0/0) (0/0) +U+db80 High Private Use Surrogates (0/0) (0/0) (0/0) +U+dc00 Low Surrogates (0/0) (0/0) (0/0) +U+e000 Private Use Area (0/0) (0/0) (0/0) +U+f900 CJK Compatibility Ideographs (0/472) (0/472) (0/472) +U+fb00 Alphabetic Presentation Forms 100% (58/58) 12% (7/58) 3% (2/58) +U+fb50 Arabic Presentation Forms-A 16% (98/611) (0/611) 11% (72/611) +U+fe00 Variation Selectors 100% (16/16) 100% (16/16) (0/16) +U+fe10 Vertical Forms (0/10) (0/10) (0/10) +U+fe20 Combining Half Marks 57% (4/7) (0/7) (0/7) +U+fe30 CJK Compatibility Forms (0/32) (0/32) (0/32) +U+fe50 Small Form Variants (0/26) (0/26) (0/26) +U+fe70 Arabic Presentation Forms-B 100% (141/141) (0/141) 100% (141/141) +U+ff00 Halfwidth and Fullwidth Forms (0/225) (0/225) (0/225) +U+fff0 Specials 100% (5/5) 100% (5/5) 100% (5/5) +U+10000 Linear B Syllabary (0/88) (0/88) (0/88) +U+10080 Linear B Ideograms (0/123) (0/123) (0/123) +U+10100 Aegean Numbers (0/57) (0/57) (0/57) +U+10140 Ancient Greek Numbers (0/75) (0/75) (0/75) +U+10190 Ancient Symbols (0/12) (0/12) (0/12) +U+101d0 Phaistos Disc (0/46) (0/46) (0/46) +U+10280 Lycian (0/29) (0/29) (0/29) +U+102a0 Carian (0/49) (0/49) (0/49) +U+10300 Old Italic 100% (35/35) (0/35) (0/35) +U+10330 Gothic (0/27) (0/27) (0/27) +U+10380 Ugaritic (0/31) (0/31) (0/31) +U+103a0 Old Persian (0/50) (0/50) (0/50) +U+10400 Deseret (0/80) (0/80) (0/80) +U+10450 Shavian (0/48) (0/48) (0/48) +U+10480 Osmanya (0/40) (0/40) (0/40) +U+10800 Cypriot Syllabary (0/55) (0/55) (0/55) +U+10840 Imperial Aramaic (0/31) (0/31) (0/31) +U+10900 Phoenician (0/29) (0/29) (0/29) +U+10920 Lydian (0/27) (0/27) (0/27) +U+10980 Meroitic Hieroglyphs (0/32) (0/32) (0/32) +U+109a0 Meroitic Cursive (0/26) (0/26) (0/26) +U+10a00 Kharoshthi (0/65) (0/65) (0/65) +U+10a60 Old South Arabian (0/32) (0/32) (0/32) +U+10b00 Avestan (0/61) (0/61) (0/61) +U+10b40 Inscriptional Parthian (0/30) (0/30) (0/30) +U+10b60 Inscriptional Pahlavi (0/27) (0/27) (0/27) +U+10c00 Old Turkic (0/73) (0/73) (0/73) +U+10e60 Rumi Numeral Symbols (0/31) (0/31) (0/31) +U+11000 Brahmi (0/108) (0/108) (0/108) +U+11080 Kaithi (0/66) (0/66) (0/66) +U+110d0 Sora Sompeng (0/35) (0/35) (0/35) +U+11100 Chakma (0/67) (0/67) (0/67) +U+11180 Sharada (0/83) (0/83) (0/83) +U+11680 Takri (0/66) (0/66) (0/66) +U+12000 Cuneiform (0/879) (0/879) (0/879) +U+12400 Cuneiform Numbers and Punctuation (0/103) (0/103) (0/103) +U+13000 Egyptian Hieroglyphs (0/1071) (0/1071) (0/1071) +U+16800 Bamum Supplement (0/569) (0/569) (0/569) +U+16f00 Miao (0/133) (0/133) (0/133) +U+1b000 Kana Supplement (0/2) (0/2) (0/2) +U+1d000 Byzantine Musical Symbols (0/246) (0/246) (0/246) +U+1d100 Musical Symbols (0/220) (0/220) (0/220) +U+1d200 Ancient Greek Musical Notation (0/70) (0/70) (0/70) +U+1d300 Tai Xuan Jing Symbols 100% (87/87) (0/87) (0/87) +U+1d360 Counting Rod Numerals (0/18) (0/18) (0/18) +U+1d400 Mathematical Alphanumeric Symbols 11% (117/996) 5% (55/996) 6% (63/996) +U+1ee00 Arabic Mathematical Alphabetic Symbols (0/143) (0/143) (0/143) +U+1f000 Mahjong Tiles (0/44) (0/44) (0/44) +U+1f030 Domino Tiles 100% (100/100) (0/100) (0/100) +U+1f0a0 Playing Cards 100% (59/59) (0/59) (0/59) +U+1f100 Enclosed Alphanumeric Supplement (0/171) (0/171) (0/171) +U+1f200 Enclosed Ideographic Supplement (0/57) (0/57) (0/57) +U+1f300 Miscellaneous Symbols And Pictographs 0% (4/533) (0/533) (0/533) +U+1f600 Emoticons 82% (63/76) (0/76) (0/76) +U+1f680 Transport And Map Symbols (0/70) (0/70) (0/70) +U+1f700 Alchemical Symbols (0/116) (0/116) (0/116) +U+20000 CJK Unified Ideographs Extension B (0/0) (0/0) (0/0) +U+2a700 CJK Unified Ideographs Extension C (0/0) (0/0) (0/0) +U+2b740 CJK Unified Ideographs Extension D (0/0) (0/0) (0/0) +U+2f800 CJK Compatibility Ideographs Supplement (0/542) (0/542) (0/542) +U+e0000 Tags (0/98) (0/98) (0/98) +U+e0100 Variation Selectors Supplement (0/240) (0/240) (0/240) +U+f0000 Supplementary Private Use Area-A (0/0) (0/0) (0/0) +U+100000 Supplementary Private Use Area-B (0/0) (0/0) (0/0) diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusans.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusans.ctg.z new file mode 100644 index 0000000..df25b64 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusans.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusans.php b/vendor/tecnickcom/tcpdf/fonts/dejavusans.php new file mode 100644 index 0000000..72147be --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusans.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-1021 -415 1681 1167]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>34,'StemH'=>15,'AvgWidth'=>507,'MaxWidth'=>1735,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(151,0,250,729),34=>array(96,458,364,729),35=>array(77,0,761,718),36=>array(83,-147,553,760),37=>array(55,-14,895,742),38=>array(63,-14,749,742),39=>array(96,458,179,729),40=>array(86,-132,310,759),41=>array(80,-132,304,759),42=>array(30,286,470,742),43=>array(106,0,732,627),44=>array(77,-116,220,124),45=>array(49,234,312,314),46=>array(107,0,210,124),47=>array(0,-93,337,729),48=>array(66,-14,570,742),49=>array(110,0,544,729),50=>array(73,0,536,742),51=>array(76,-14,556,742),52=>array(49,0,580,729),53=>array(77,-14,549,729),54=>array(70,-14,573,742),55=>array(82,0,551,729),56=>array(68,-14,568,742),57=>array(63,-14,566,742),58=>array(117,0,220,517),59=>array(77,-116,220,517),60=>array(106,46,732,581),61=>array(106,172,732,454),62=>array(106,46,732,581),63=>array(72,0,461,742),64=>array(66,-174,930,704),65=>array(8,0,676,729),66=>array(98,0,615,729),67=>array(56,-14,644,742),68=>array(98,0,711,729),69=>array(98,0,568,729),70=>array(98,0,517,729),71=>array(56,-14,693,742),72=>array(98,0,654,729),73=>array(98,0,197,729),74=>array(-52,-200,197,729),75=>array(98,0,677,729),76=>array(98,0,552,729),77=>array(98,0,765,729),78=>array(98,0,650,729),79=>array(56,-14,731,742),80=>array(98,0,569,729),81=>array(56,-129,731,742),82=>array(98,0,666,729),83=>array(66,-14,579,742),84=>array(-3,0,614,729),85=>array(87,-14,645,729),86=>array(8,0,676,729),87=>array(33,0,956,729),88=>array(30,0,654,729),89=>array(-2,0,613,729),90=>array(45,0,640,729),91=>array(86,-132,293,760),92=>array(0,-93,337,729),93=>array(97,-132,304,760),94=>array(106,457,732,729),95=>array(-10,-236,510,-166),96=>array(83,617,317,800),97=>array(60,-14,522,560),98=>array(91,-14,580,760),99=>array(55,-14,488,560),100=>array(55,-14,544,760),101=>array(55,-14,562,560),102=>array(23,0,371,760),103=>array(55,-208,544,560),104=>array(91,0,549,760),105=>array(94,0,184,760),106=>array(-18,-208,184,760),107=>array(91,0,576,760),108=>array(94,0,184,760),109=>array(91,0,889,560),110=>array(91,0,549,560),111=>array(55,-14,557,560),112=>array(91,-208,580,560),113=>array(55,-208,544,560),114=>array(91,0,411,560),115=>array(54,-14,472,560),116=>array(27,0,368,702),117=>array(85,-14,543,560),118=>array(30,0,562,547),119=>array(42,0,776,547),120=>array(29,0,559,547),121=>array(30,-208,562,547),122=>array(43,0,482,547),123=>array(125,-163,511,760),124=>array(127,-236,210,764),125=>array(125,-163,511,760),126=>array(106,228,732,399),161=>array(151,0,250,729),162=>array(84,-153,517,699),163=>array(63,0,548,742),164=>array(46,40,592,587),165=>array(40,0,595,729),166=>array(127,-171,210,699),167=>array(45,-95,454,742),168=>array(105,659,395,758),169=>array(138,0,862,725),170=>array(56,229,404,742),171=>array(77,69,518,517),172=>array(106,140,732,421),173=>array(49,234,312,314),174=>array(138,0,862,725),175=>array(104,673,396,745),176=>array(95,432,405,742),177=>array(106,0,732,627),178=>array(46,326,338,742),179=>array(48,319,350,742),180=>array(181,616,415,800),181=>array(85,-208,612,547),182=>array(77,-96,528,729),183=>array(107,285,210,409),184=>array(142,-193,344,0),185=>array(67,326,346,734),186=>array(47,229,424,742),187=>array(94,69,535,517),188=>array(67,-14,937,742),189=>array(67,-14,906,742),190=>array(48,-14,937,742),191=>array(70,-14,459,729),192=>array(8,0,676,927),193=>array(8,0,676,927),194=>array(8,0,676,928),195=>array(8,0,676,921),196=>array(8,0,676,913),197=>array(8,0,676,928),198=>array(4,0,910,729),199=>array(56,-193,644,742),200=>array(98,0,568,927),201=>array(98,0,568,927),202=>array(98,0,568,928),203=>array(98,0,568,913),204=>array(29,0,216,927),205=>array(79,0,265,927),206=>array(-1,0,297,928),207=>array(3,0,293,913),208=>array(5,0,716,729),209=>array(98,0,650,921),210=>array(56,-14,731,927),211=>array(56,-14,731,927),212=>array(56,-14,731,928),213=>array(56,-14,731,921),214=>array(56,-14,731,913),215=>array(137,31,701,596),216=>array(50,-34,737,761),217=>array(87,-14,645,927),218=>array(87,-14,645,927),219=>array(87,-14,645,928),220=>array(87,-14,645,913),221=>array(-2,0,613,927),222=>array(98,0,569,729),223=>array(91,-14,584,760),224=>array(60,-14,522,800),225=>array(60,-14,522,800),226=>array(60,-14,522,800),227=>array(60,-14,522,777),228=>array(60,-14,522,758),229=>array(60,-14,522,878),230=>array(60,-14,929,560),231=>array(55,-193,488,560),232=>array(55,-14,562,800),233=>array(55,-14,562,800),234=>array(55,-14,562,800),235=>array(55,-14,562,758),236=>array(-28,0,206,800),237=>array(70,0,304,800),238=>array(-17,0,295,800),239=>array(-6,0,284,758),240=>array(55,-14,557,760),241=>array(91,0,549,777),242=>array(55,-14,557,800),243=>array(55,-14,557,800),244=>array(55,-14,557,800),245=>array(55,-14,557,777),246=>array(55,-14,557,758),247=>array(106,73,732,554),248=>array(35,-46,576,592),249=>array(85,-14,543,800),250=>array(85,-14,543,800),251=>array(85,-14,543,800),252=>array(85,-14,543,758),253=>array(30,-208,562,800),254=>array(91,-208,580,760),255=>array(30,-208,562,758),256=>array(8,0,676,899),257=>array(60,-14,522,745),258=>array(8,0,676,946),259=>array(60,-14,522,765),260=>array(8,-193,706,729),261=>array(60,-193,563,560),262=>array(56,-14,644,927),263=>array(55,-14,488,800),264=>array(56,-14,644,928),265=>array(55,-14,488,800),266=>array(56,-14,644,914),267=>array(55,-14,488,760),268=>array(56,-14,644,928),269=>array(55,-14,488,800),270=>array(98,0,711,928),271=>array(55,-14,732,760),272=>array(5,0,716,729),273=>array(55,-14,619,760),274=>array(98,0,568,900),275=>array(55,-14,562,745),276=>array(98,0,568,928),277=>array(55,-14,562,785),278=>array(98,0,568,914),279=>array(55,-14,562,760),280=>array(98,-193,569,729),281=>array(55,-193,562,560),282=>array(98,0,568,925),283=>array(55,-14,562,797),284=>array(56,-14,693,928),285=>array(55,-208,544,800),286=>array(56,-14,693,928),287=>array(55,-208,544,785),288=>array(56,-14,693,914),289=>array(55,-208,544,760),290=>array(56,-250,693,742),291=>array(55,-208,544,775),292=>array(98,0,654,928),293=>array(-13,0,549,928),294=>array(98,0,818,729),295=>array(59,0,578,760),296=>array(-14,0,309,921),297=>array(-22,0,300,777),298=>array(1,0,293,899),299=>array(-7,0,285,745),300=>array(-5,0,300,928),301=>array(-14,0,292,785),302=>array(86,-193,268,729),303=>array(73,-193,255,760),304=>array(98,0,198,914),305=>array(94,0,184,560),306=>array(98,-200,492,729),307=>array(94,-208,461,760),308=>array(-52,-200,296,928),309=>array(-18,-208,295,800),310=>array(98,-235,677,729),311=>array(91,-235,576,760),312=>array(91,0,576,547),313=>array(98,0,552,928),314=>array(94,0,286,928),315=>array(98,-235,552,729),316=>array(66,-235,209,760),317=>array(98,0,552,729),318=>array(94,0,375,760),319=>array(98,0,552,729),320=>array(94,0,314,760),321=>array(-7,0,557,729),322=>array(1,0,285,760),323=>array(98,0,650,928),324=>array(91,0,549,803),325=>array(98,-235,650,729),326=>array(91,-235,549,560),327=>array(98,0,650,921),328=>array(91,0,549,800),329=>array(100,0,715,729),330=>array(98,-208,637,742),331=>array(91,-208,549,560),332=>array(56,-14,731,899),333=>array(55,-14,557,745),334=>array(56,-14,731,928),335=>array(55,-14,557,785),336=>array(56,-14,731,927),337=>array(55,-14,557,800),338=>array(56,0,1006,729),339=>array(55,-14,970,560),340=>array(98,0,666,928),341=>array(91,0,447,803),342=>array(98,-235,666,729),343=>array(63,-235,411,560),344=>array(98,0,666,921),345=>array(91,0,419,800),346=>array(66,-14,579,928),347=>array(54,-14,472,803),348=>array(66,-14,579,928),349=>array(54,-14,472,800),350=>array(66,-193,579,742),351=>array(54,-193,472,560),352=>array(66,-14,579,928),353=>array(54,-14,472,800),354=>array(-3,-193,614,729),355=>array(27,-193,368,702),356=>array(-3,0,614,921),357=>array(27,0,374,813),358=>array(-3,0,614,729),359=>array(27,0,368,702),360=>array(87,-14,645,921),361=>array(85,-14,543,777),362=>array(87,-14,645,899),363=>array(85,-14,543,745),364=>array(87,-14,645,928),365=>array(85,-14,543,785),366=>array(87,-14,645,929),367=>array(85,-14,543,849),368=>array(87,-14,645,927),369=>array(85,-14,546,800),370=>array(87,-193,645,729),371=>array(85,-193,613,560),372=>array(33,0,956,932),373=>array(42,0,776,803),374=>array(-2,0,613,932),375=>array(30,-208,562,803),376=>array(-2,0,613,913),377=>array(45,0,640,928),378=>array(43,0,482,803),379=>array(45,0,640,914),380=>array(43,0,482,760),381=>array(45,0,640,928),382=>array(43,0,482,800),383=>array(23,0,371,760),384=>array(16,-14,580,760),385=>array(-51,0,664,729),386=>array(98,0,615,729),387=>array(91,-14,580,760),388=>array(0,0,615,729),389=>array(0,-14,580,760),390=>array(56,-14,644,742),391=>array(56,-14,794,924),392=>array(55,-14,600,760),393=>array(5,0,716,729),394=>array(-51,0,760,729),395=>array(98,0,615,729),396=>array(55,-14,544,760),397=>array(55,-208,557,548),398=>array(64,0,534,729),399=>array(57,-14,731,742),400=>array(80,-14,560,742),401=>array(-52,-200,517,729),402=>array(-63,-208,371,760),403=>array(56,-14,824,924),404=>array(4,-210,683,729),405=>array(91,0,910,760),406=>array(98,0,347,729),407=>array(5,0,290,729),408=>array(98,0,746,742),409=>array(90,0,576,760),410=>array(5,0,271,760),411=>array(30,0,562,760),412=>array(87,-14,894,729),413=>array(-52,-200,650,729),414=>array(91,-208,549,560),415=>array(56,-14,731,742),416=>array(50,-14,764,760),417=>array(58,-14,603,615),418=>array(56,-14,851,742),419=>array(55,-208,668,560),420=>array(-51,0,618,729),421=>array(90,-208,580,760),422=>array(98,-129,666,729),423=>array(56,-14,569,742),424=>array(49,-14,467,560),425=>array(98,0,568,729),426=>array(-132,-208,355,760),427=>array(27,-208,368,702),428=>array(12,0,614,729),429=>array(27,0,368,760),430=>array(-3,-200,614,729),431=>array(84,-4,796,760),432=>array(86,-14,676,615),433=>array(38,-14,726,724),434=>array(98,-15,683,729),435=>array(-2,0,742,742),436=>array(30,-208,730,560),437=>array(45,0,640,729),438=>array(43,0,482,547),439=>array(78,-31,621,729),440=>array(45,-31,588,729),441=>array(51,-213,531,547),442=>array(55,-208,488,547),443=>array(73,0,536,742),444=>array(45,-31,622,729),445=>array(51,-213,531,547),446=>array(43,-14,456,702),447=>array(91,-208,580,560),448=>array(98,-208,197,729),449=>array(98,-208,394,729),450=>array(10,-208,451,729),451=>array(98,0,197,729),452=>array(98,0,1352,928),453=>array(98,0,1211,800),454=>array(55,-14,1071,800),455=>array(98,-200,768,729),456=>array(98,-208,733,760),457=>array(94,-208,367,760),458=>array(98,-200,868,729),459=>array(98,-208,839,760),460=>array(91,-208,733,760),461=>array(8,0,676,928),462=>array(60,-14,522,800),463=>array(-1,0,297,928),464=>array(-16,0,296,800),465=>array(56,-14,731,928),466=>array(55,-14,557,800),467=>array(87,-14,645,928),468=>array(85,-14,543,800),469=>array(87,-14,645,1025),470=>array(85,-14,543,899),471=>array(87,-14,645,1044),472=>array(85,-14,543,892),473=>array(87,-14,645,1044),474=>array(85,-14,543,892),475=>array(87,-14,645,1047),476=>array(85,-14,543,892),477=>array(55,-14,562,560),478=>array(8,0,676,1025),479=>array(60,-14,522,899),480=>array(8,0,676,1025),481=>array(60,-14,522,869),482=>array(4,0,910,900),483=>array(60,-14,929,743),484=>array(56,-14,752,742),485=>array(55,-208,622,560),486=>array(56,-14,693,928),487=>array(55,-208,544,798),488=>array(98,0,677,928),489=>array(-11,0,576,928),490=>array(56,-193,731,742),491=>array(55,-193,557,560),492=>array(56,-193,731,899),493=>array(55,-193,557,745),494=>array(78,-31,621,928),495=>array(43,-213,523,800),496=>array(-18,-208,299,800),497=>array(98,0,1352,729),498=>array(98,0,1211,729),499=>array(55,-14,1071,760),500=>array(56,-14,693,928),501=>array(55,-208,544,798),502=>array(98,-14,1022,729),503=>array(98,-208,626,742),504=>array(98,0,650,927),505=>array(91,0,549,799),506=>array(8,0,676,931),507=>array(60,-14,607,931),508=>array(4,0,910,928),509=>array(60,-14,929,798),510=>array(50,-34,737,928),511=>array(35,-46,576,798),512=>array(8,0,676,930),513=>array(60,-14,522,799),514=>array(8,0,676,901),515=>array(60,-14,522,785),516=>array(98,0,568,930),517=>array(55,-14,562,798),518=>array(98,0,568,901),519=>array(55,-14,562,785),520=>array(-43,0,306,930),521=>array(-30,0,313,798),522=>array(2,0,308,901),523=>array(-14,0,292,785),524=>array(56,-14,731,930),525=>array(55,-14,557,799),526=>array(56,-14,731,901),527=>array(55,-14,557,785),528=>array(97,0,666,930),529=>array(63,0,411,798),530=>array(98,0,666,901),531=>array(91,0,421,785),532=>array(87,-14,645,930),533=>array(85,-14,543,799),534=>array(87,-14,645,901),535=>array(85,-14,543,785),536=>array(66,-240,579,742),537=>array(54,-240,472,560),538=>array(-3,-240,614,729),539=>array(27,-240,368,702),540=>array(76,-210,556,742),541=>array(35,-211,467,560),542=>array(98,0,654,928),543=>array(-8,0,549,928),544=>array(98,-208,637,742),545=>array(55,-70,783,760),546=>array(55,-14,643,742),547=>array(55,-14,555,632),548=>array(45,-208,640,729),549=>array(43,-208,482,547),550=>array(8,0,676,914),551=>array(60,-14,522,760),552=>array(98,-193,568,729),553=>array(55,-193,562,560),554=>array(56,-14,731,1025),555=>array(55,-14,557,899),556=>array(56,-14,731,1025),557=>array(55,-14,557,864),558=>array(56,-14,731,914),559=>array(55,-14,557,760),560=>array(56,-14,731,1025),561=>array(55,-14,557,899),562=>array(-2,0,613,899),563=>array(30,-208,562,745),564=>array(67,-70,420,757),565=>array(91,-70,788,560),566=>array(27,-70,422,702),567=>array(-18,-208,184,547),568=>array(55,-14,943,760),569=>array(55,-208,943,560),570=>array(-1,-34,686,761),571=>array(6,-34,692,761),572=>array(4,-46,545,592),573=>array(5,0,552,729),574=>array(-38,-34,649,761),575=>array(54,-242,512,560),576=>array(43,-242,525,547),577=>array(39,0,569,729),578=>array(39,0,445,560),579=>array(5,0,615,729),580=>array(6,-14,726,729),581=>array(8,0,676,729),582=>array(98,-93,568,822),583=>array(55,-93,562,640),584=>array(-52,-200,290,729),585=>array(-18,-208,264,760),586=>array(56,-200,836,743),587=>array(55,-208,656,560),588=>array(5,0,666,729),589=>array(7,0,411,560),590=>array(-5,0,615,729),591=>array(5,-208,588,547),592=>array(85,-14,547,560),593=>array(55,-14,544,560),594=>array(91,-14,580,560),595=>array(91,-14,580,760),596=>array(62,-14,495,560),597=>array(55,-69,488,560),598=>array(55,-208,656,760),599=>array(55,-14,715,760),600=>array(55,-14,562,560),601=>array(55,-14,562,560),602=>array(61,-14,814,560),603=>array(65,-14,473,561),604=>array(65,-14,473,561),605=>array(65,-14,771,561),606=>array(55,-14,596,561),607=>array(-18,-208,264,547),608=>array(55,-208,715,760),609=>array(55,-208,544,547),610=>array(55,-14,539,560),611=>array(47,-210,549,547),612=>array(47,-14,549,547),613=>array(85,-208,543,547),614=>array(91,0,549,760),615=>array(91,-208,549,760),616=>array(7,0,265,760),617=>array(81,0,304,547),618=>array(57,0,314,547),619=>array(37,0,359,760),620=>array(38,0,416,760),621=>array(94,-208,296,760),622=>array(94,-213,651,760),623=>array(91,-13,889,548),624=>array(91,-208,889,548),625=>array(91,-208,889,560),626=>array(-18,-208,552,560),627=>array(91,-208,661,560),628=>array(87,0,549,547),629=>array(55,-14,557,560),630=>array(55,0,768,547),631=>array(72,-18,655,561),632=>array(55,-208,602,760),633=>array(0,-13,320,547),634=>array(0,-13,320,755),635=>array(0,-208,433,547),636=>array(91,-207,411,560),637=>array(91,-208,411,560),638=>array(64,0,437,560),639=>array(57,0,437,560),640=>array(91,0,574,547),641=>array(91,0,574,547),642=>array(54,-208,472,560),643=>array(-19,-208,355,760),644=>array(-19,-208,355,760),645=>array(27,-208,401,549),646=>array(-132,-208,355,760),647=>array(27,-156,368,546),648=>array(27,-208,370,702),649=>array(0,-14,634,547),650=>array(55,-15,564,547),651=>array(94,0,545,548),652=>array(30,0,562,547),653=>array(42,0,776,547),654=>array(30,0,562,760),655=>array(50,0,552,547),656=>array(43,-208,593,547),657=>array(43,-54,482,547),658=>array(43,-213,523,547),659=>array(53,-213,553,547),660=>array(43,0,456,759),661=>array(43,0,456,759),662=>array(43,0,456,759),663=>array(43,-213,456,760),664=>array(56,-14,731,742),665=>array(91,0,530,547),666=>array(55,-14,596,561),667=>array(55,-14,724,760),668=>array(91,0,563,547),669=>array(-132,-208,272,760),670=>array(91,-213,576,547),671=>array(91,0,493,547),672=>array(55,-208,746,759),673=>array(43,0,456,759),674=>array(43,0,456,759),675=>array(55,-14,970,760),676=>array(55,-213,1014,760),677=>array(55,-54,970,760),678=>array(27,0,781,702),679=>array(27,-208,629,760),680=>array(27,-70,723,702),681=>array(23,-208,804,760),682=>array(94,0,657,760),683=>array(94,0,610,760),684=>array(26,-15,489,640),685=>array(26,84,489,640),686=>array(0,-214,570,760),687=>array(0,-208,683,760),688=>array(57,326,346,751),689=>array(57,326,346,751),690=>array(-11,209,116,751),691=>array(57,326,259,640),692=>array(35,319,236,632),693=>array(35,209,307,632),694=>array(16,326,320,632),695=>array(26,326,489,632),696=>array(19,209,354,632),697=>array(78,557,203,800),698=>array(78,557,384,800),699=>array(85,489,228,729),700=>array(87,499,230,729),701=>array(96,616,239,856),702=>array(57,492,191,760),703=>array(57,492,191,760),704=>array(57,326,317,751),705=>array(57,326,317,751),706=>array(130,524,370,836),707=>array(130,524,370,836),708=>array(94,561,406,800),709=>array(94,561,406,800),710=>array(94,616,406,800),711=>array(94,616,406,800),712=>array(104,488,171,759),713=>array(104,673,396,745),714=>array(181,616,415,800),715=>array(83,617,317,800),716=>array(104,-148,171,123),717=>array(104,-156,396,-84),718=>array(83,-236,317,-54),719=>array(181,-236,415,-53),720=>array(54,0,229,517),721=>array(54,356,229,517),722=>array(57,249,191,517),723=>array(57,249,191,517),724=>array(140,229,360,448),725=>array(140,229,360,448),726=>array(49,125,341,417),727=>array(49,234,269,307),728=>array(97,645,403,785),729=>array(200,658,300,758),730=>array(116,610,384,878),731=>array(162,-193,344,0),732=>array(89,639,411,777),733=>array(117,616,460,800),734=>array(-0,233,334,504),735=>array(117,616,383,800),736=>array(57,208,374,632),737=>array(60,326,116,751),738=>array(57,326,320,648),739=>array(57,326,391,632),740=>array(57,326,317,751),741=>array(104,0,389,668),742=>array(104,0,389,668),743=>array(104,0,389,668),744=>array(104,0,389,668),745=>array(104,0,389,668),748=>array(94,-260,406,-21),749=>array(104,610,396,808),750=>array(85,489,428,729),755=>array(116,-240,384,28),759=>array(89,-192,411,-55),768=>array(-418,560,-184,800),769=>array(-320,560,-86,800),770=>array(-406,560,-94,800),771=>array(-412,639,-90,777),772=>array(-394,673,-102,745),773=>array(-510,686,10,755),774=>array(-407,645,-101,785),775=>array(-296,560,-206,760),776=>array(-395,560,-105,758),777=>array(-348,618,-129,810),778=>array(-385,610,-117,878),779=>array(-381,616,-38,800),780=>array(-404,560,-92,800),781=>array(-283,615,-217,832),782=>array(-383,615,-117,832),783=>array(-455,616,-112,800),784=>array(-407,645,-101,917),785=>array(-407,645,-101,785),786=>array(-235,489,-92,645),787=>array(-305,595,-187,844),788=>array(-305,595,-187,844),789=>array(-66,575,66,759),790=>array(-418,-266,-184,-83),791=>array(-320,-267,-86,-83),792=>array(-357,-240,-221,-24),793=>array(-279,-240,-143,-24),794=>array(-208,690,31,930),795=>array(-133,427,60,609),796=>array(-313,-241,-208,-32),797=>array(-370,-240,-130,-87),798=>array(-370,-240,-130,-87),799=>array(-357,-240,-143,-24),800=>array(-370,-184,-130,-117),801=>array(-315,-208,-23,63),802=>array(-317,-208,-25,63),803=>array(-296,-183,-206,-69),804=>array(-396,-183,-106,-84),805=>array(-355,-241,-146,-32),806=>array(-323,-240,-180,-84),807=>array(-358,-193,-156,0),808=>array(-338,-193,-156,0),809=>array(-283,-240,-217,-47),810=>array(-383,-211,-114,-50),811=>array(-452,-222,-51,-82),812=>array(-404,-240,-92,-57),813=>array(-407,-240,-95,-57),814=>array(-407,-222,-101,-82),815=>array(-407,-224,-101,-83),816=>array(-412,-222,-90,-84),817=>array(-394,-156,-102,-84),818=>array(-510,-236,10,-166),819=>array(-510,-236,10,-9),820=>array(-557,240,-41,381),821=>array(-316,221,-59,301),822=>array(-634,221,-0,301),823=>array(-574,-46,-33,592),824=>array(-741,-34,-54,761),825=>array(-291,-241,-187,-32),826=>array(-382,-206,-113,-44),827=>array(-359,-240,-139,-21),828=>array(-452,-222,-51,-82),829=>array(-354,619,-138,834),830=>array(-247,595,-109,853),831=>array(-510,528,10,755),832=>array(-418,617,-184,800),833=>array(-320,616,-86,800),834=>array(-412,639,-90,777),835=>array(-305,595,-187,844),836=>array(-387,659,-77,978),837=>array(-278,-208,-171,-45),838=>array(-396,639,-104,786),839=>array(-360,-226,-140,-35),840=>array(-365,-240,-135,-47),841=>array(-360,-240,-140,-21),842=>array(-411,616,-89,800),843=>array(-411,567,-89,850),844=>array(-411,596,-89,820),845=>array(-452,-230,-48,-30),846=>array(-350,-240,-150,-45),849=>array(-316,610,-184,878),850=>array(-407,547,-101,855),851=>array(-354,-240,-138,-24),855=>array(-316,610,-184,878),856=>array(-103,658,-3,758),858=>array(-430,-241,-71,-32),860=>array(-445,-237,445,-60),861=>array(-445,802,445,979),862=>array(-445,855,445,927),863=>array(-445,-156,445,-84),864=>array(-354,756,354,894),865=>array(-445,752,445,929),866=>array(-442,-230,447,-30),880=>array(98,0,555,729),881=>array(94,0,477,547),882=>array(98,0,764,729),883=>array(98,0,549,729),884=>array(78,557,203,800),885=>array(78,-208,203,35),886=>array(98,0,650,729),887=>array(91,0,559,547),890=>array(214,-208,321,-45),891=>array(62,-14,495,560),892=>array(55,-14,488,560),893=>array(62,-14,495,560),894=>array(77,-116,220,517),900=>array(181,616,415,800),901=>array(105,659,415,978),902=>array(8,0,676,800),903=>array(107,285,210,409),904=>array(-12,0,682,800),905=>array(-6,0,765,800),906=>array(-9,0,311,800),908=>array(-7,-14,750,800),910=>array(-15,0,821,800),911=>array(-18,0,752,800),912=>array(2,0,313,978),913=>array(8,0,676,729),914=>array(98,0,615,729),915=>array(98,0,552,729),916=>array(8,0,676,729),917=>array(98,0,568,729),918=>array(45,0,640,729),919=>array(98,0,654,729),920=>array(56,-14,731,742),921=>array(98,0,197,729),922=>array(98,0,677,729),923=>array(8,0,676,729),924=>array(98,0,765,729),925=>array(98,0,650,729),926=>array(98,0,548,729),927=>array(56,-14,731,742),928=>array(98,0,654,729),929=>array(98,0,569,729),931=>array(98,0,568,729),932=>array(-3,0,614,729),933=>array(-2,0,613,729),934=>array(56,0,731,729),935=>array(30,0,654,729),936=>array(56,0,732,729),937=>array(38,0,726,738),938=>array(3,0,293,913),939=>array(-2,0,613,913),940=>array(55,-12,611,800),941=>array(65,-14,473,800),942=>array(91,-208,549,800),943=>array(81,0,324,800),944=>array(73,-14,521,978),945=>array(55,-12,611,559),946=>array(94,-208,566,766),947=>array(16,-208,562,547),948=>array(55,-14,557,742),949=>array(65,-14,473,561),950=>array(52,-210,496,760),951=>array(91,-208,549,560),952=>array(55,-11,557,768),953=>array(81,0,304,547),954=>array(93,0,565,547),955=>array(30,0,562,760),956=>array(85,-208,612,547),957=>array(36,0,512,547),958=>array(52,-210,500,760),959=>array(55,-14,557,560),960=>array(36,-19,574,547),961=>array(91,-208,580,560),962=>array(55,-210,488,560),963=>array(55,-14,604,547),964=>array(49,0,553,547),965=>array(73,-14,521,547),966=>array(55,-208,602,551),967=>array(29,-208,549,547),968=>array(55,-208,602,547),969=>array(66,-14,769,547),970=>array(2,0,311,758),971=>array(73,-14,521,758),972=>array(55,-14,557,800),973=>array(73,-14,521,800),974=>array(66,-14,769,800),975=>array(98,-208,677,729),976=>array(82,-11,538,768),977=>array(55,-11,557,768),978=>array(42,0,665,734),979=>array(-15,0,829,800),980=>array(42,0,665,913),981=>array(55,-208,602,760),982=>array(32,-14,803,547),983=>array(55,-206,600,550),984=>array(56,-207,731,742),985=>array(55,-208,557,560),986=>array(68,-210,583,729),987=>array(55,-210,540,547),988=>array(98,0,517,729),989=>array(-94,-208,409,760),990=>array(87,-2,604,729),991=>array(93,0,566,759),992=>array(56,-208,797,742),993=>array(58,-180,573,559),994=>array(56,-213,877,729),995=>array(66,-208,769,547),996=>array(56,-208,660,742),997=>array(55,-208,568,560),998=>array(98,-213,735,729),999=>array(22,-14,571,575),1000=>array(39,-208,630,745),1001=>array(49,-208,552,560),1002=>array(56,0,714,742),1003=>array(26,0,599,560),1004=>array(56,-14,643,758),1005=>array(55,-14,544,758),1006=>array(21,-208,589,729),1007=>array(27,-208,510,726),1008=>array(55,-7,600,550),1009=>array(91,-208,580,560),1010=>array(55,-14,488,560),1011=>array(-18,-208,184,760),1012=>array(56,-14,731,742),1013=>array(55,-14,480,560),1014=>array(96,-14,521,560),1015=>array(98,0,569,729),1016=>array(91,-208,580,760),1017=>array(56,-14,644,742),1018=>array(98,0,765,729),1019=>array(62,-208,587,547),1020=>array(42,-208,580,560),1021=>array(56,-14,644,742),1022=>array(56,-14,644,742),1023=>array(56,-14,644,742),1024=>array(98,0,568,927),1025=>array(98,0,568,913),1026=>array(-3,-200,709,729),1027=>array(98,0,552,927),1028=>array(56,-14,644,742),1029=>array(66,-14,579,742),1030=>array(98,0,197,729),1031=>array(3,0,293,913),1032=>array(-52,-200,197,729),1033=>array(41,0,1023,729),1034=>array(98,0,975,729),1035=>array(-3,0,709,729),1036=>array(98,0,690,927),1037=>array(98,0,650,927),1038=>array(17,0,592,928),1039=>array(98,-157,654,729),1040=>array(8,0,676,729),1041=>array(98,0,615,729),1042=>array(98,0,615,729),1043=>array(98,0,552,729),1044=>array(49,-157,732,729),1045=>array(98,0,568,729),1046=>array(20,0,1058,729),1047=>array(66,-14,575,742),1048=>array(98,0,650,729),1049=>array(98,0,650,928),1050=>array(98,0,690,729),1051=>array(41,0,653,729),1052=>array(98,0,765,729),1053=>array(98,0,654,729),1054=>array(56,-14,731,742),1055=>array(98,0,654,729),1056=>array(98,0,569,729),1057=>array(56,-14,644,742),1058=>array(-3,0,614,729),1059=>array(17,0,592,729),1060=>array(59,0,802,729),1061=>array(30,0,654,729),1062=>array(98,-157,737,729),1063=>array(85,0,587,729),1064=>array(98,0,971,729),1065=>array(98,-157,1054,729),1066=>array(29,0,762,729),1067=>array(98,0,784,729),1068=>array(98,0,615,729),1069=>array(54,-14,642,742),1070=>array(103,-14,1023,742),1071=>array(66,0,597,729),1072=>array(60,-14,522,560),1073=>array(55,-14,562,777),1074=>array(91,0,530,547),1075=>array(91,0,477,547),1076=>array(52,-138,639,547),1077=>array(55,-14,562,560),1078=>array(34,0,867,547),1079=>array(65,-14,473,561),1080=>array(91,0,559,547),1081=>array(91,0,559,760),1082=>array(91,0,571,547),1083=>array(37,0,556,547),1084=>array(91,0,664,547),1085=>array(91,0,563,547),1086=>array(55,-14,557,560),1087=>array(91,0,563,547),1088=>array(91,-208,580,560),1089=>array(55,-14,488,560),1090=>array(29,0,553,547),1091=>array(30,-208,562,547),1092=>array(55,-208,800,729),1093=>array(29,0,559,547),1094=>array(91,-138,635,547),1095=>array(73,0,500,547),1096=>array(91,0,824,547),1097=>array(91,-138,896,547),1098=>array(30,0,647,547),1099=>array(91,0,701,560),1100=>array(91,0,530,547),1101=>array(55,-14,488,560),1102=>array(94,-14,787,560),1103=>array(57,0,517,547),1104=>array(55,-14,562,802),1105=>array(55,-14,562,758),1106=>array(23,-208,570,760),1107=>array(91,0,480,803),1108=>array(55,-14,488,560),1109=>array(54,-14,472,560),1110=>array(94,0,184,760),1111=>array(-6,0,284,758),1112=>array(-18,-208,184,760),1113=>array(37,0,843,547),1114=>array(91,0,839,547),1115=>array(23,0,567,760),1116=>array(91,0,571,803),1117=>array(91,0,559,802),1118=>array(30,-208,562,760),1119=>array(91,-138,563,547),1120=>array(56,-14,877,729),1121=>array(66,-14,769,547),1122=>array(15,0,711,729),1123=>array(15,0,613,760),1124=>array(103,-14,888,742),1125=>array(94,-14,688,560),1126=>array(8,0,871,729),1127=>array(25,0,758,547),1128=>array(98,0,1135,729),1129=>array(94,0,977,547),1130=>array(56,0,731,729),1131=>array(52,0,560,547),1132=>array(98,0,971,729),1133=>array(94,0,772,547),1134=>array(56,-208,556,935),1135=>array(44,-193,473,753),1136=>array(8,0,844,729),1137=>array(24,-208,852,765),1138=>array(56,-14,731,742),1139=>array(55,-14,557,560),1140=>array(8,0,769,742),1141=>array(24,0,640,560),1142=>array(8,0,769,930),1143=>array(24,0,640,800),1144=>array(56,-208,962,742),1145=>array(55,-208,875,560),1146=>array(56,-14,897,742),1147=>array(55,-14,704,560),1148=>array(58,-14,1122,932),1149=>array(74,-14,954,758),1150=>array(56,-14,877,900),1151=>array(66,-14,769,734),1152=>array(56,-208,644,742),1153=>array(55,-208,488,560),1154=>array(29,-44,474,457),1155=>array(-519,608,-93,810),1156=>array(-372,645,4,788),1157=>array(-288,595,-169,797),1158=>array(-288,595,-169,797),1159=>array(-776,606,4,788),1160=>array(-1021,-180,409,922),1161=>array(-957,-280,345,1022),1162=>array(98,-208,748,928),1163=>array(94,-208,652,760),1164=>array(16,0,615,729),1165=>array(19,0,534,702),1166=>array(98,0,610,729),1167=>array(91,-208,580,560),1168=>array(98,0,552,878),1169=>array(91,0,477,700),1170=>array(35,0,617,729),1171=>array(27,0,542,547),1172=>array(98,-200,600,729),1173=>array(91,-208,505,547),1174=>array(20,-157,1071,729),1175=>array(34,-138,876,547),1176=>array(66,-193,575,742),1177=>array(65,-193,473,561),1178=>array(98,-157,713,729),1179=>array(91,-138,587,547),1180=>array(98,0,690,729),1181=>array(91,0,571,547),1182=>array(16,0,690,729),1183=>array(30,0,571,760),1184=>array(24,0,837,729),1185=>array(21,0,688,547),1186=>array(98,-157,752,729),1187=>array(94,-138,656,547),1188=>array(98,0,1009,729),1189=>array(94,0,862,547),1190=>array(98,-200,1057,729),1191=>array(94,-208,891,547),1192=>array(56,-14,871,743),1193=>array(55,-14,684,560),1194=>array(56,-193,644,742),1195=>array(55,-193,488,560),1196=>array(-3,-157,614,729),1197=>array(29,-138,553,547),1198=>array(-2,0,613,729),1199=>array(30,-208,562,547),1200=>array(-2,0,613,729),1201=>array(30,-208,562,547),1202=>array(30,-157,654,729),1203=>array(29,-138,559,547),1204=>array(-3,-157,910,729),1205=>array(2,-138,782,547),1206=>array(85,-157,686,729),1207=>array(73,-138,590,547),1208=>array(85,0,587,729),1209=>array(73,0,500,547),1210=>array(85,0,587,729),1211=>array(91,0,549,760),1212=>array(10,-14,885,742),1213=>array(7,-14,675,560),1214=>array(10,-184,885,742),1215=>array(7,-161,675,560),1216=>array(98,0,197,729),1217=>array(20,0,1058,928),1218=>array(34,0,867,785),1219=>array(98,-200,651,729),1220=>array(93,-208,566,547),1221=>array(26,-208,751,729),1222=>array(22,-208,646,547),1223=>array(98,-200,654,729),1224=>array(94,-208,566,547),1225=>array(98,-208,752,729),1226=>array(94,-208,656,547),1227=>array(85,-157,587,729),1228=>array(73,-138,500,547),1229=>array(98,-208,863,729),1230=>array(94,-208,750,547),1231=>array(94,0,184,760),1232=>array(8,0,676,946),1233=>array(60,-14,522,765),1234=>array(8,0,676,913),1235=>array(60,-14,522,758),1236=>array(4,0,910,729),1237=>array(60,-14,929,560),1238=>array(98,0,568,928),1239=>array(55,-14,562,785),1240=>array(57,-14,731,742),1241=>array(55,-14,562,560),1242=>array(57,-14,731,913),1243=>array(55,-14,562,758),1244=>array(20,0,1058,913),1245=>array(34,0,867,758),1246=>array(66,-14,575,913),1247=>array(65,-14,473,758),1248=>array(78,-31,621,729),1249=>array(43,-213,523,547),1250=>array(98,0,650,899),1251=>array(91,0,559,745),1252=>array(98,0,650,913),1253=>array(91,0,559,758),1254=>array(56,-14,731,913),1255=>array(55,-14,557,758),1256=>array(56,-14,731,742),1257=>array(55,-14,557,560),1258=>array(56,-14,731,913),1259=>array(55,-14,557,758),1260=>array(54,-14,642,913),1261=>array(55,-14,488,758),1262=>array(17,0,592,899),1263=>array(30,-208,562,745),1264=>array(17,0,592,913),1265=>array(30,-208,562,758),1266=>array(17,0,592,927),1267=>array(30,-208,562,800),1268=>array(85,0,587,913),1269=>array(73,0,500,758),1270=>array(98,-157,552,729),1271=>array(91,-138,477,547),1272=>array(98,0,784,913),1273=>array(91,0,701,758),1274=>array(35,-208,617,729),1275=>array(27,-208,542,547),1276=>array(30,-200,646,729),1277=>array(29,-208,549,547),1278=>array(30,0,654,729),1279=>array(29,0,559,547),1280=>array(71,0,588,729),1281=>array(55,0,495,547),1282=>array(71,-14,908,729),1283=>array(55,-14,806,547),1284=>array(98,-14,876,742),1285=>array(83,-14,784,561),1286=>array(98,-208,654,742),1287=>array(83,-208,564,561),1288=>array(26,-14,974,729),1289=>array(22,-14,866,547),1290=>array(98,-14,1022,729),1291=>array(94,-14,876,547),1292=>array(56,-14,692,742),1293=>array(55,-14,534,560),1294=>array(-3,-14,675,729),1295=>array(2,-14,620,547),1296=>array(80,-14,560,742),1297=>array(65,-14,473,561),1298=>array(41,-200,653,729),1299=>array(37,-208,556,547),1300=>array(41,0,1139,729),1301=>array(37,0,962,547),1302=>array(98,0,863,729),1303=>array(91,-208,832,560),1304=>array(66,0,967,729),1305=>array(57,-14,933,560),1306=>array(56,-129,731,742),1307=>array(55,-208,544,560),1308=>array(33,0,956,729),1309=>array(42,0,776,547),1310=>array(98,0,690,729),1311=>array(91,0,571,547),1312=>array(41,-200,1056,729),1313=>array(37,-208,881,547),1314=>array(98,-200,1057,729),1315=>array(91,-208,888,547),1316=>array(98,-157,752,729),1317=>array(91,-138,653,547),1329=>array(87,-29,680,729),1330=>array(87,0,650,743),1331=>array(45,0,729,743),1332=>array(44,0,724,743),1333=>array(87,-14,650,729),1334=>array(87,0,692,744),1335=>array(92,0,616,729),1336=>array(87,0,650,743),1337=>array(87,-14,835,743),1338=>array(45,-14,729,729),1339=>array(92,0,650,729),1340=>array(92,0,533,729),1341=>array(92,-14,849,729),1342=>array(129,-13,763,742),1343=>array(87,0,645,729),1344=>array(34,-26,638,729),1345=>array(82,-23,688,744),1346=>array(49,0,729,743),1347=>array(51,0,715,735),1348=>array(87,-14,767,729),1349=>array(71,-14,668,743),1350=>array(0,-14,680,729),1351=>array(78,-15,684,729),1352=>array(87,0,645,743),1353=>array(59,-28,664,744),1354=>array(44,0,713,743),1355=>array(82,0,686,744),1356=>array(87,0,767,743),1357=>array(87,-14,645,729),1358=>array(49,0,729,729),1359=>array(73,-14,632,741),1360=>array(87,0,645,743),1361=>array(78,-14,675,743),1362=>array(92,0,538,729),1363=>array(59,0,752,729),1364=>array(24,0,679,743),1365=>array(56,-14,731,742),1366=>array(54,-13,746,729),1369=>array(57,492,191,760),1370=>array(87,499,230,729),1371=>array(0,620,234,803),1372=>array(2,618,356,893),1373=>array(-0,617,233,800),1374=>array(4,613,401,866),1375=>array(44,618,462,760),1377=>array(85,-14,883,547),1378=>array(91,-208,549,560),1379=>array(55,-208,648,560),1380=>array(91,-208,653,560),1381=>array(85,-14,548,760),1382=>array(55,-208,648,560),1383=>array(91,0,490,760),1384=>array(91,-208,549,560),1385=>array(91,-208,738,560),1386=>array(55,-14,648,760),1387=>array(91,-208,549,760),1388=>array(91,-208,303,547),1389=>array(91,-208,889,760),1390=>array(55,-14,557,760),1391=>array(85,-208,543,760),1392=>array(91,0,549,760),1393=>array(52,-15,523,760),1394=>array(91,-208,653,560),1395=>array(68,-14,544,768),1396=>array(85,-14,647,760),1397=>array(-21,-208,181,547),1398=>array(-19,-14,543,760),1399=>array(0,-208,435,560),1400=>array(91,0,549,560),1401=>array(5,-208,370,547),1402=>array(85,-208,883,547),1403=>array(54,-208,494,561),1404=>array(91,0,609,560),1405=>array(85,-14,543,560),1406=>array(85,-208,647,760),1407=>array(85,-14,889,560),1408=>array(91,-208,549,560),1409=>array(54,-208,543,560),1410=>array(91,0,449,547),1411=>array(85,-208,889,760),1412=>array(20,-208,580,560),1413=>array(54,-14,556,560),1414=>array(34,-208,766,760),1415=>array(85,-14,812,760),1417=>array(117,0,220,415),1418=>array(49,212,312,314),1456=>array(283,-217,356,-22),1457=>array(83,-217,438,-22),1458=>array(125,-217,454,-22),1459=>array(125,-217,454,-22),1460=>array(283,-159,356,-85),1461=>array(222,-159,417,-85),1462=>array(222,-217,417,-22),1463=>array(173,-159,466,-85),1464=>array(173,-193,466,-46),1465=>array(0,625,73,698),1466=>array(0,625,73,698),1467=>array(148,-237,465,-17),1468=>array(288,237,361,310),1469=>array(283,-217,356,-22),1470=>array(49,472,312,552),1471=>array(173,625,466,698),1472=>array(102,-98,193,645),1473=>array(637,625,710,698),1474=>array(96,625,169,698),1475=>array(102,0,193,547),1478=>array(50,0,357,547),1479=>array(173,-217,466,-22),1488=>array(91,0,578,547),1489=>array(43,0,535,547),1490=>array(43,-5,383,547),1491=>array(43,0,511,547),1492=>array(91,0,563,547),1493=>array(91,0,182,547),1494=>array(43,0,303,547),1495=>array(91,0,563,547),1496=>array(90,-14,593,552),1497=>array(66,204,157,547),1498=>array(43,-208,446,547),1499=>array(43,0,474,547),1500=>array(43,0,492,729),1501=>array(91,0,573,547),1502=>array(43,0,588,555),1503=>array(91,-208,182,547),1504=>array(43,0,309,547),1505=>array(90,-14,593,547),1506=>array(43,-93,535,547),1507=>array(91,-208,549,547),1508=>array(91,0,569,547),1509=>array(43,-208,497,548),1510=>array(43,0,502,547),1511=>array(91,-208,633,546),1512=>array(43,0,474,547),1513=>array(43,0,666,547),1514=>array(10,-4,566,547),1520=>array(91,0,380,547),1521=>array(66,0,332,547),1522=>array(66,204,312,547),1523=>array(91,361,325,547),1524=>array(91,361,554,547),1542=>array(0,-20,607,892),1543=>array(0,-20,607,895),1545=>array(65,0,685,635),1546=>array(65,0,904,635),1548=>array(107,0,250,240),1557=>array(123,624,377,868),1563=>array(107,0,250,633),1567=>array(72,0,461,742),1569=>array(80,42,390,483),1570=>array(-37,0,315,939),1571=>array(53,0,220,999),1572=>array(-42,-244,406,588),1573=>array(53,-244,220,760),1574=>array(63,-131,719,588),1575=>array(94,0,184,760),1576=>array(63,-171,865,327),1577=>array(68,-28,453,513),1578=>array(63,-10,865,391),1579=>array(63,-10,865,513),1580=>array(77,-244,645,425),1581=>array(77,-244,645,425),1582=>array(77,-244,645,586),1583=>array(61,-19,388,415),1584=>array(61,-19,388,586),1585=>array(-42,-244,423,269),1586=>array(-42,-244,423,464),1587=>array(63,-244,1138,366),1588=>array(63,-244,1138,586),1589=>array(63,-244,1134,362),1590=>array(63,-244,1134,464),1591=>array(70,0,857,760),1592=>array(70,0,857,760),1593=>array(57,-244,587,521),1594=>array(57,-244,587,659),1600=>array(-10,0,303,90),1601=>array(63,-45,952,635),1602=>array(52,-215,701,635),1603=>array(70,-27,722,760),1604=>array(70,-152,637,760),1605=>array(68,-240,546,369),1606=>array(72,-162,660,464),1607=>array(68,-28,453,358),1608=>array(-42,-244,406,315),1609=>array(63,-131,719,411),1610=>array(63,-244,719,411),1611=>array(107,591,393,825),1612=>array(107,591,393,874),1613=>array(107,-239,393,-5),1614=>array(107,591,393,708),1615=>array(107,590,393,874),1616=>array(107,-137,393,-20),1617=>array(98,599,402,869),1618=>array(115,610,383,878),1619=>array(74,590,426,719),1620=>array(164,593,331,808),1621=>array(164,-244,331,-29),1623=>array(107,615,393,898),1626=>array(119,616,381,775),1632=>array(215,220,322,342),1633=>array(136,0,342,635),1634=>array(40,0,492,635),1635=>array(37,0,509,635),1636=>array(85,-10,457,641),1637=>array(66,-10,471,643),1638=>array(42,0,493,635),1639=>array(29,0,508,635),1640=>array(29,0,508,635),1641=>array(49,0,493,640),1642=>array(65,0,472,635),1643=>array(0,-110,300,318),1644=>array(87,499,230,729),1645=>array(42,101,502,537),1646=>array(63,-10,865,327),1647=>array(52,-215,701,481),1648=>array(223,602,277,887),1652=>array(60,649,227,864),1657=>array(63,-10,865,575),1658=>array(63,-10,865,513),1659=>array(63,-244,865,327),1660=>array(63,-180,865,391),1661=>array(63,-10,865,464),1662=>array(63,-244,865,327),1663=>array(63,-10,865,513),1664=>array(63,-244,865,327),1665=>array(77,-244,645,710),1666=>array(77,-244,645,708),1667=>array(77,-244,645,425),1668=>array(77,-244,645,425),1669=>array(77,-244,645,708),1670=>array(77,-244,645,425),1671=>array(77,-244,645,425),1672=>array(61,-19,388,746),1673=>array(61,-180,388,415),1674=>array(61,-171,388,415),1675=>array(61,-171,388,746),1676=>array(61,-19,388,586),1677=>array(61,-146,388,415),1678=>array(61,-19,388,708),1679=>array(61,-19,388,684),1680=>array(61,-19,388,708),1681=>array(-42,-244,469,648),1682=>array(-42,-244,473,556),1683=>array(-42,-244,507,269),1684=>array(-42,-244,474,269),1685=>array(-42,-244,634,269),1686=>array(-42,-244,474,269),1687=>array(-42,-244,439,464),1688=>array(-42,-244,439,586),1689=>array(-42,-244,439,586),1690=>array(63,-244,1138,464),1691=>array(63,-244,1138,366),1692=>array(63,-244,1138,586),1693=>array(63,-244,1134,362),1694=>array(63,-244,1134,586),1695=>array(70,0,857,760),1696=>array(57,-244,587,781),1697=>array(63,-45,952,481),1698=>array(63,-171,952,481),1699=>array(63,-171,952,635),1700=>array(63,-45,952,757),1701=>array(63,-293,952,481),1702=>array(63,-45,952,757),1703=>array(52,-215,701,635),1704=>array(52,-215,701,757),1705=>array(63,-43,895,760),1706=>array(63,-43,1000,760),1707=>array(63,-43,895,760),1708=>array(70,-27,722,760),1709=>array(70,-27,722,854),1710=>array(70,-293,722,760),1711=>array(63,-43,895,896),1712=>array(63,-43,895,896),1713=>array(63,-43,895,903),1714=>array(63,-171,895,896),1715=>array(63,-293,895,896),1716=>array(63,-43,895,1025),1717=>array(70,-152,723,971),1718=>array(70,-152,637,952),1719=>array(70,-152,684,1025),1720=>array(70,-391,637,760),1721=>array(72,-317,660,464),1722=>array(72,-162,660,366),1723=>array(72,-162,660,636),1724=>array(72,-330,660,464),1725=>array(72,-162,660,586),1726=>array(70,-33,638,487),1727=>array(77,-244,645,586),1734=>array(-42,-244,406,556),1740=>array(63,-131,719,411),1742=>array(63,-131,719,556),1749=>array(68,-28,453,358),1776=>array(215,220,322,342),1777=>array(136,0,342,635),1778=>array(40,0,492,635),1779=>array(37,0,509,635),1780=>array(40,0,471,643),1781=>array(52,-5,485,643),1782=>array(102,0,445,640),1783=>array(29,0,508,635),1784=>array(29,0,508,635),1785=>array(49,0,493,640),1984=>array(66,-14,570,742),1985=>array(110,0,544,729),1986=>array(110,0,530,729),1987=>array(110,0,530,729),1988=>array(110,0,530,729),1989=>array(110,0,530,729),1990=>array(110,0,530,729),1991=>array(104,0,532,729),1992=>array(104,0,532,729),1993=>array(77,0,560,741),1994=>array(94,0,184,729),1995=>array(55,-14,516,447),1996=>array(30,0,394,731),1997=>array(30,0,562,430),1998=>array(91,0,563,430),1999=>array(91,0,563,430),2000=>array(55,0,539,735),2001=>array(91,0,563,581),2002=>array(55,0,738,741),2003=>array(94,0,408,729),2004=>array(30,0,344,729),2005=>array(91,0,504,729),2006=>array(94,0,518,729),2007=>array(30,0,256,729),2008=>array(94,0,865,513),2009=>array(30,0,443,729),2010=>array(30,0,754,729),2011=>array(91,0,563,430),2012=>array(30,0,595,729),2013=>array(94,0,679,729),2014=>array(94,0,436,729),2015=>array(55,0,630,729),2016=>array(30,0,443,729),2017=>array(30,0,595,729),2018=>array(55,0,539,729),2019=>array(94,0,436,729),2020=>array(94,0,436,612),2021=>array(94,0,428,729),2022=>array(55,0,539,729),2023=>array(55,0,539,729),2027=>array(106,673,398,745),2028=>array(32,609,468,800),2029=>array(205,658,305,758),2030=>array(93,616,405,800),2031=>array(44,616,456,800),2032=>array(32,609,468,800),2033=>array(44,616,456,800),2034=>array(200,-184,300,-84),2035=>array(104,659,394,758),2036=>array(98,557,216,760),2037=>array(98,557,216,760),2040=>array(49,0,511,498),2041=>array(49,0,511,483),2042=>array(-10,0,371,72),3647=>array(86,-138,571,769),3713=>array(63,-10,607,560),3714=>array(68,-17,691,568),3716=>array(67,-10,619,568),3719=>array(53,-238,415,568),3720=>array(62,-0,574,575),3722=>array(68,-234,690,568),3725=>array(56,-8,619,573),3732=>array(91,-14,592,560),3733=>array(63,-15,564,579),3734=>array(0,-240,587,560),3735=>array(42,-8,599,571),3737=>array(46,-14,593,568),3738=>array(36,-8,556,561),3739=>array(36,-8,556,760),3740=>array(43,-8,725,614),3741=>array(91,-14,676,760),3742=>array(51,-8,636,561),3743=>array(51,-8,636,760),3745=>array(31,-14,636,547),3746=>array(56,-8,619,760),3747=>array(68,-8,634,568),3749=>array(39,-8,583,568),3751=>array(56,-13,558,560),3754=>array(39,-8,688,679),3755=>array(62,-12,762,575),3757=>array(56,-14,558,560),3758=>array(68,-8,684,605),3759=>array(99,-166,742,579),3760=>array(54,-13,589,563),3761=>array(-578,639,-43,880),3762=>array(60,0,473,560),3763=>array(-425,0,473,806),3764=>array(-594,615,-73,926),3765=>array(-594,615,0,926),3766=>array(-594,615,-73,926),3767=>array(-594,615,0,926),3768=>array(-376,-350,-161,-38),3769=>array(-418,-306,-152,-40),3771=>array(-578,639,-43,880),3772=>array(-611,-278,6,-39),3773=>array(63,-240,619,715),3776=>array(60,-14,324,560),3777=>array(60,-14,598,560),3778=>array(-22,-5,398,896),3779=>array(45,-14,490,892),3780=>array(92,-11,445,886),3782=>array(72,-232,574,557),3784=>array(-366,618,-278,792),3785=>array(-563,609,-45,891),3786=>array(-595,598,22,869),3787=>array(-462,609,-182,890),3788=>array(-611,636,6,875),3789=>array(-425,620,-220,806),3792=>array(66,-14,570,547),3793=>array(48,-75,582,576),3794=>array(48,-66,545,711),3795=>array(11,-9,692,830),3796=>array(48,-83,601,711),3797=>array(48,-83,601,711),3798=>array(43,-8,744,812),3799=>array(63,-240,607,560),3800=>array(73,-210,680,557),3801=>array(51,-4,621,571),3804=>array(62,-12,947,575),3805=>array(62,-12,973,575),4256=>array(59,-15,815,828),4257=>array(54,-0,704,828),4258=>array(54,-148,649,837),4259=>array(54,-15,781,828),4260=>array(49,0,552,837),4261=>array(39,0,714,837),4262=>array(29,-15,695,828),4263=>array(59,-15,885,837),4264=>array(29,0,390,874),4265=>array(59,0,561,828),4266=>array(29,-15,784,828),4267=>array(59,-15,824,828),4268=>array(63,0,566,828),4269=>array(49,-167,806,837),4270=>array(24,-15,717,837),4271=>array(39,0,566,828),4272=>array(54,-15,853,828),4273=>array(63,-15,567,828),4274=>array(63,-0,566,837),4275=>array(49,-182,806,837),4276=>array(49,0,817,834),4277=>array(44,0,680,828),4278=>array(64,-15,566,837),4279=>array(54,0,557,828),4280=>array(59,-15,562,828),4281=>array(63,0,566,828),4282=>array(59,-15,764,837),4283=>array(59,-15,810,828),4284=>array(63,-0,566,828),4285=>array(49,-15,574,837),4286=>array(63,-0,566,828),4287=>array(29,0,695,828),4288=>array(29,-15,785,828),4289=>array(63,0,566,828),4290=>array(54,-15,635,837),4291=>array(29,0,532,828),4292=>array(54,0,540,828),4293=>array(39,-15,699,837),4304=>array(49,-15,459,592),4305=>array(49,-14,469,837),4306=>array(44,-235,537,551),4307=>array(49,-230,759,547),4308=>array(49,-236,449,547),4309=>array(49,-236,459,547),4310=>array(20,-14,452,838),4311=>array(49,-14,752,547),4312=>array(49,0,469,547),4313=>array(44,-236,456,542),4314=>array(49,-230,1016,552),4315=>array(49,-15,459,837),4316=>array(63,-15,474,833),4317=>array(49,-0,737,547),4318=>array(49,-15,459,833),4319=>array(49,-236,458,551),4320=>array(49,0,747,833),4321=>array(63,-15,474,827),4322=>array(44,-236,610,680),4323=>array(5,-236,464,571),4324=>array(49,-236,766,547),4325=>array(49,-236,449,828),4326=>array(49,-230,737,546),4327=>array(49,-236,459,538),4328=>array(29,-15,454,837),4329=>array(63,0,474,837),4330=>array(44,-236,527,532),4331=>array(49,-14,458,828),4332=>array(64,-15,488,837),4333=>array(49,-236,471,827),4334=>array(63,-15,474,827),4335=>array(10,-235,444,572),4336=>array(49,-15,459,837),4337=>array(59,-15,469,837),4338=>array(49,-141,458,547),4339=>array(49,-236,459,546),4340=>array(49,-236,458,837),4341=>array(49,-15,515,837),4342=>array(49,-236,778,547),4343=>array(44,-236,508,547),4344=>array(49,-236,459,538),4345=>array(39,-236,532,551),4346=>array(49,-77,459,547),4347=>array(54,-10,394,484),4348=>array(49,420,270,837),5121=>array(8,1,676,730),5122=>array(8,0,676,1037),5123=>array(8,0,676,729),5124=>array(8,0,676,914),5125=>array(98,0,711,729),5126=>array(98,0,711,914),5127=>array(98,0,711,913),5129=>array(98,0,711,729),5130=>array(58,0,671,729),5131=>array(58,0,671,914),5132=>array(98,1,827,730),5133=>array(8,1,776,730),5134=>array(98,0,827,729),5135=>array(8,0,776,729),5136=>array(98,0,827,914),5137=>array(8,0,776,914),5138=>array(98,0,909,729),5139=>array(98,0,909,729),5140=>array(98,0,909,914),5141=>array(98,0,909,914),5142=>array(98,0,711,914),5143=>array(98,0,869,729),5144=>array(58,0,909,729),5145=>array(98,0,869,914),5146=>array(58,0,909,914),5147=>array(58,0,671,914),5149=>array(98,629,198,729),5150=>array(67,326,488,734),5151=>array(46,356,362,714),5152=>array(46,356,362,714),5153=>array(67,398,334,674),5154=>array(67,391,334,667),5155=>array(67,398,338,667),5156=>array(67,398,334,667),5157=>array(35,327,405,733),5158=>array(67,326,331,734),5159=>array(98,312,198,412),5160=>array(67,503,334,563),5161=>array(67,399,334,667),5162=>array(67,399,334,691),5163=>array(8,1,1028,730),5164=>array(8,0,847,729),5165=>array(98,0,892,729),5166=>array(58,0,1055,729),5167=>array(8,0,676,729),5168=>array(8,0,676,1037),5169=>array(8,0,676,729),5170=>array(8,0,676,914),5171=>array(58,0,671,729),5172=>array(58,0,671,914),5173=>array(58,0,671,913),5175=>array(58,0,671,729),5176=>array(58,0,671,729),5177=>array(58,0,671,914),5178=>array(98,0,827,729),5179=>array(8,0,776,729),5180=>array(98,0,827,729),5181=>array(8,0,776,729),5182=>array(98,0,827,914),5183=>array(8,0,776,914),5184=>array(98,0,869,729),5185=>array(58,0,909,729),5186=>array(98,0,869,914),5187=>array(58,0,909,914),5188=>array(98,0,869,729),5189=>array(58,0,909,729),5190=>array(98,0,869,914),5191=>array(58,0,909,914),5192=>array(58,0,671,913),5193=>array(67,326,453,734),5194=>array(67,326,137,734),5196=>array(87,-14,645,729),5197=>array(87,0,645,1037),5198=>array(87,0,645,743),5199=>array(87,0,645,914),5200=>array(58,0,671,729),5201=>array(58,0,671,914),5202=>array(58,0,671,913),5204=>array(58,0,671,729),5205=>array(59,0,672,729),5206=>array(59,0,672,914),5207=>array(98,-14,834,729),5208=>array(87,-14,831,729),5209=>array(98,0,834,743),5210=>array(87,0,831,743),5211=>array(98,0,834,914),5212=>array(87,0,831,914),5213=>array(98,0,869,729),5214=>array(58,0,842,729),5215=>array(98,0,869,914),5216=>array(58,0,842,914),5217=>array(98,0,889,729),5218=>array(59,0,842,729),5219=>array(98,0,889,914),5220=>array(59,0,842,914),5221=>array(117,0,889,729),5222=>array(67,326,379,734),5223=>array(87,-14,823,734),5224=>array(87,0,823,743),5225=>array(58,0,811,734),5226=>array(59,0,835,734),5227=>array(34,0,530,743),5228=>array(98,0,594,1037),5229=>array(98,0,594,743),5230=>array(98,0,594,914),5231=>array(34,-14,530,729),5232=>array(34,-14,530,914),5233=>array(34,-14,623,913),5234=>array(98,-14,594,729),5235=>array(98,-14,594,914),5236=>array(98,0,762,743),5237=>array(34,0,712,743),5238=>array(98,0,781,743),5239=>array(98,0,758,743),5240=>array(98,0,781,914),5241=>array(98,0,758,914),5242=>array(98,-14,762,729),5243=>array(34,-14,712,729),5244=>array(98,-14,762,914),5245=>array(34,-14,712,914),5246=>array(98,-14,781,729),5247=>array(98,-14,758,729),5248=>array(98,-14,781,914),5249=>array(98,-14,758,914),5250=>array(117,-14,781,729),5251=>array(67,318,379,734),5252=>array(27,318,340,734),5253=>array(34,0,696,743),5254=>array(98,0,720,743),5255=>array(34,-14,696,734),5256=>array(98,-14,720,734),5257=>array(34,0,530,743),5258=>array(98,0,594,1037),5259=>array(98,0,594,743),5260=>array(98,0,594,914),5261=>array(34,-14,530,729),5262=>array(34,-14,530,914),5263=>array(34,-14,623,913),5264=>array(98,-14,594,729),5265=>array(98,-14,594,914),5266=>array(98,0,762,743),5267=>array(34,0,712,743),5268=>array(98,0,781,743),5269=>array(98,0,758,743),5270=>array(98,0,781,914),5271=>array(98,0,758,914),5272=>array(98,-14,762,729),5273=>array(34,-14,712,729),5274=>array(98,-14,762,914),5275=>array(34,-14,712,914),5276=>array(98,-14,781,729),5277=>array(98,-14,758,729),5278=>array(98,-14,781,914),5279=>array(98,-14,758,914),5280=>array(117,-14,781,729),5281=>array(67,318,379,734),5282=>array(67,318,379,734),5283=>array(58,0,512,729),5284=>array(98,0,552,1037),5285=>array(98,0,552,729),5286=>array(98,0,552,914),5287=>array(58,0,512,729),5288=>array(58,0,512,914),5289=>array(58,0,607,913),5290=>array(98,0,552,729),5291=>array(98,0,552,914),5292=>array(98,0,651,729),5293=>array(58,0,710,729),5294=>array(98,0,741,729),5295=>array(98,0,706,729),5296=>array(98,0,741,914),5297=>array(98,0,706,914),5298=>array(98,0,651,729),5299=>array(58,0,710,729),5300=>array(98,0,651,914),5301=>array(58,0,710,914),5302=>array(98,0,741,729),5303=>array(98,0,706,729),5304=>array(98,0,741,914),5305=>array(98,0,706,914),5306=>array(117,0,741,729),5307=>array(67,326,331,734),5308=>array(67,326,453,734),5309=>array(67,326,331,734),5312=>array(58,-14,817,436),5313=>array(34,-14,793,755),5314=>array(34,-14,793,436),5315=>array(5,-14,765,636),5316=>array(58,0,817,450),5317=>array(58,0,817,636),5318=>array(58,0,817,635),5319=>array(34,0,793,450),5320=>array(34,0,793,636),5321=>array(98,-14,1035,436),5322=>array(58,-14,977,436),5323=>array(98,0,1025,450),5324=>array(34,0,793,450),5325=>array(98,0,1025,636),5326=>array(34,0,793,636),5327=>array(34,0,793,635),5328=>array(67,484,545,736),5329=>array(67,318,397,734),5330=>array(67,484,545,736),5331=>array(58,0,817,450),5332=>array(34,0,793,755),5333=>array(34,0,793,450),5334=>array(34,0,793,636),5335=>array(58,0,817,450),5336=>array(58,0,817,636),5337=>array(58,0,817,635),5338=>array(34,0,793,450),5339=>array(34,0,793,636),5340=>array(98,0,1035,450),5341=>array(58,0,977,450),5342=>array(98,0,1025,450),5343=>array(34,0,972,450),5344=>array(98,0,1025,636),5345=>array(34,0,972,636),5346=>array(98,0,1035,450),5347=>array(58,0,977,450),5348=>array(98,0,1035,636),5349=>array(58,0,977,636),5350=>array(98,0,1025,450),5351=>array(34,0,972,450),5352=>array(98,0,1025,636),5353=>array(34,0,972,636),5354=>array(67,484,545,736),5356=>array(58,0,671,729),5357=>array(34,0,505,729),5358=>array(98,0,649,1037),5359=>array(98,0,569,729),5360=>array(98,0,569,914),5361=>array(34,0,505,729),5362=>array(34,0,505,914),5363=>array(34,0,600,913),5364=>array(98,0,569,729),5365=>array(98,0,569,914),5366=>array(98,0,736,729),5367=>array(34,0,696,729),5368=>array(98,0,758,729),5369=>array(98,0,713,729),5370=>array(98,0,758,914),5371=>array(98,0,713,914),5372=>array(98,0,736,729),5373=>array(34,0,696,729),5374=>array(98,0,736,914),5375=>array(34,0,696,914),5376=>array(98,0,758,729),5377=>array(98,0,713,729),5378=>array(98,0,758,914),5379=>array(98,0,713,914),5380=>array(117,0,758,729),5381=>array(67,326,363,734),5382=>array(67,318,365,741),5383=>array(67,326,363,734),5392=>array(34,-14,678,743),5393=>array(34,-14,678,743),5394=>array(34,-14,678,914),5395=>array(34,-14,857,464),5396=>array(34,-14,857,636),5397=>array(34,-14,857,464),5398=>array(34,-14,857,636),5399=>array(98,-14,875,743),5400=>array(34,-14,814,743),5401=>array(98,-14,875,743),5402=>array(34,-14,814,743),5403=>array(98,-14,875,914),5404=>array(34,-14,814,914),5405=>array(98,-14,1106,464),5406=>array(34,-14,1042,464),5407=>array(98,-14,1106,636),5408=>array(34,-14,1042,636),5409=>array(98,-14,1106,464),5410=>array(34,-14,1042,464),5411=>array(98,-14,1106,636),5412=>array(34,-14,1042,636),5413=>array(67,476,585,737),5414=>array(58,0,529,729),5415=>array(98,0,569,1037),5416=>array(98,0,569,729),5417=>array(98,0,569,914),5418=>array(58,0,529,729),5419=>array(58,0,531,914),5420=>array(58,0,626,913),5421=>array(98,0,569,729),5422=>array(98,0,569,914),5423=>array(98,0,746,729),5424=>array(58,0,723,729),5425=>array(98,0,758,729),5426=>array(98,0,760,729),5427=>array(98,0,758,914),5428=>array(98,0,760,914),5429=>array(98,0,746,729),5430=>array(58,0,723,729),5431=>array(98,0,749,914),5432=>array(58,0,723,914),5433=>array(98,0,758,729),5434=>array(98,0,760,729),5435=>array(98,0,758,914),5436=>array(98,0,760,914),5437=>array(117,0,758,729),5438=>array(67,326,363,734),5440=>array(67,399,334,667),5441=>array(67,326,429,734),5442=>array(98,-14,857,436),5443=>array(58,-14,817,436),5444=>array(58,0,817,450),5445=>array(98,0,857,755),5446=>array(98,0,857,450),5447=>array(98,0,857,636),5448=>array(98,0,569,729),5449=>array(98,0,569,914),5450=>array(98,0,569,729),5451=>array(34,0,505,729),5452=>array(34,0,505,914),5453=>array(34,0,505,729),5454=>array(98,0,736,914),5455=>array(34,0,696,914),5456=>array(67,326,363,734),5458=>array(58,0,671,729),5459=>array(73,0,676,744),5460=>array(73,-15,676,1037),5461=>array(73,-15,676,729),5462=>array(73,-15,676,914),5463=>array(38,0,668,662),5464=>array(38,0,668,914),5465=>array(58,0,688,662),5466=>array(58,0,688,914),5467=>array(98,0,886,914),5468=>array(58,0,909,914),5469=>array(67,326,462,695),5470=>array(87,-14,645,743),5471=>array(87,-14,645,743),5472=>array(87,-14,645,743),5473=>array(87,-14,645,743),5474=>array(87,-14,645,914),5475=>array(87,-14,645,914),5476=>array(41,0,671,729),5477=>array(41,0,671,914),5478=>array(59,0,689,729),5479=>array(59,0,689,914),5480=>array(98,0,907,914),5481=>array(59,0,842,914),5482=>array(67,326,467,734),5492=>array(34,0,772,743),5493=>array(58,0,796,743),5494=>array(58,0,796,914),5495=>array(34,-14,772,729),5496=>array(34,-14,772,914),5497=>array(58,-14,796,729),5498=>array(58,-14,796,914),5499=>array(67,318,508,734),5500=>array(98,0,654,729),5501=>array(67,326,429,734),5502=>array(67,0,1013,1037),5503=>array(67,0,1013,743),5504=>array(67,0,1013,914),5505=>array(67,-14,949,734),5506=>array(67,-14,949,914),5507=>array(67,-14,1013,734),5508=>array(67,-14,1013,914),5509=>array(67,318,798,734),5514=>array(34,0,772,743),5515=>array(58,0,796,743),5516=>array(34,-14,772,729),5517=>array(58,-14,796,729),5518=>array(67,0,1225,1037),5519=>array(67,0,1225,743),5520=>array(67,0,1225,914),5521=>array(67,-14,904,736),5522=>array(67,-14,904,914),5523=>array(67,-14,1225,736),5524=>array(67,-14,1225,914),5525=>array(67,332,645,736),5526=>array(67,332,1018,736),5536=>array(34,0,793,692),5537=>array(34,0,793,692),5538=>array(58,-242,817,450),5539=>array(58,-242,817,636),5540=>array(34,-242,793,450),5541=>array(34,-242,793,636),5542=>array(67,338,545,736),5543=>array(58,0,627,729),5544=>array(16,0,585,729),5545=>array(16,0,585,914),5546=>array(58,0,627,729),5547=>array(58,0,627,914),5548=>array(16,0,585,729),5549=>array(16,0,585,914),5550=>array(5,326,363,734),5551=>array(98,-14,594,729),5598=>array(98,0,711,729),5601=>array(56,0,669,729),5702=>array(67,326,413,734),5703=>array(67,240,413,820),5742=>array(57,0,391,306),5743=>array(67,0,949,743),5744=>array(67,0,1211,743),5745=>array(67,0,1598,743),5746=>array(67,0,1598,914),5747=>array(67,-14,1277,736),5748=>array(67,-14,1277,914),5749=>array(67,-14,1598,736),5750=>array(67,-14,1598,914),5760=>array(-10,246,487,328),5761=>array(-10,-125,502,328),5762=>array(-10,-125,722,328),5763=>array(-10,-125,941,328),5764=>array(-10,-125,1160,328),5765=>array(-10,-125,1379,328),5766=>array(-10,246,502,697),5767=>array(-10,246,722,697),5768=>array(-10,246,941,697),5769=>array(-10,246,1160,697),5770=>array(-10,246,1379,697),5771=>array(-10,-125,508,697),5772=>array(-10,-125,728,697),5773=>array(-10,-125,948,697),5774=>array(-10,-125,1168,697),5775=>array(-10,-125,1389,697),5776=>array(-10,41,502,533),5777=>array(-10,41,722,533),5778=>array(-10,41,939,533),5779=>array(-10,41,1159,533),5780=>array(-10,41,1379,533),5781=>array(-10,-125,508,697),5782=>array(-10,-125,762,697),5783=>array(-10,-83,798,328),5784=>array(-10,-240,1214,328),5785=>array(-10,246,1160,902),5786=>array(-10,82,693,328),5787=>array(55,28,517,544),5788=>array(-10,28,452,544),7424=>array(30,0,562,547),7425=>array(5,0,669,547),7426=>array(60,-14,929,560),7427=>array(30,0,530,547),7428=>array(55,-14,488,560),7429=>array(91,0,550,547),7430=>array(18,0,550,547),7431=>array(91,0,443,547),7432=>array(63,-14,471,561),7433=>array(94,-213,184,547),7434=>array(0,-14,310,547),7435=>array(91,0,576,547),7436=>array(1,0,498,560),7437=>array(91,0,664,547),7438=>array(91,0,559,547),7439=>array(55,-14,557,560),7440=>array(62,-14,495,560),7441=>array(55,22,629,524),7442=>array(55,57,629,489),7443=>array(25,2,663,543),7444=>array(55,-14,970,560),7446=>array(55,273,557,560),7447=>array(55,-14,557,273),7448=>array(74,0,475,547),7449=>array(24,0,507,547),7450=>array(24,0,507,547),7451=>array(29,0,553,547),7452=>array(91,-16,510,547),7453=>array(85,37,646,495),7454=>array(85,38,857,496),7455=>array(23,-238,583,560),7456=>array(30,0,562,547),7457=>array(42,0,776,547),7458=>array(43,0,482,547),7459=>array(59,-14,466,547),7462=>array(87,0,498,560),7463=>array(30,0,562,547),7464=>array(74,0,490,547),7465=>array(74,0,475,547),7466=>array(44,0,546,547),7467=>array(37,0,556,547),7468=>array(5,326,426,734),7469=>array(2,326,573,734),7470=>array(62,326,388,734),7472=>array(62,326,448,734),7473=>array(62,326,358,734),7474=>array(41,326,336,734),7475=>array(35,318,437,742),7476=>array(62,326,412,734),7477=>array(62,326,124,734),7478=>array(-33,214,124,734),7479=>array(62,326,426,734),7480=>array(62,326,348,734),7481=>array(62,326,482,734),7482=>array(62,326,410,734),7483=>array(62,326,410,734),7484=>array(35,318,460,742),7485=>array(35,318,405,742),7486=>array(62,326,358,734),7487=>array(62,326,419,734),7488=>array(-2,326,387,734),7489=>array(55,318,406,734),7490=>array(21,326,603,734),7491=>array(38,318,329,640),7492=>array(38,318,329,640),7493=>array(35,318,343,640),7494=>array(38,318,585,640),7495=>array(57,318,365,751),7496=>array(35,318,343,751),7497=>array(35,318,354,640),7498=>array(35,318,354,640),7499=>array(41,318,298,640),7500=>array(40,318,297,640),7501=>array(35,209,343,640),7502=>array(60,207,116,632),7503=>array(57,326,363,751),7504=>array(57,326,560,640),7505=>array(57,209,346,640),7506=>array(35,318,351,640),7507=>array(35,318,307,640),7508=>array(35,479,351,640),7509=>array(35,318,351,479),7510=>array(57,209,365,640),7511=>array(17,326,232,719),7512=>array(54,318,342,632),7513=>array(54,347,407,604),7514=>array(57,319,560,633),7515=>array(19,326,354,632),7517=>array(59,209,357,755),7518=>array(10,209,354,632),7519=>array(35,318,351,742),7520=>array(35,209,379,635),7521=>array(18,209,346,633),7522=>array(60,0,116,425),7523=>array(57,0,259,313),7524=>array(54,-8,342,306),7525=>array(19,0,354,306),7526=>array(59,-117,357,429),7527=>array(10,-117,354,306),7528=>array(59,-117,367,313),7529=>array(35,-117,379,309),7530=>array(18,-117,346,307),7543=>array(91,-208,580,560),7544=>array(62,326,412,734),7547=>array(57,0,314,547),7549=>array(24,-208,643,560),7557=>array(71,-208,273,760),7579=>array(35,318,343,640),7580=>array(35,318,307,640),7581=>array(35,287,307,640),7582=>array(35,318,351,751),7583=>array(41,318,298,640),7584=>array(15,326,234,751),7585=>array(-11,209,170,632),7586=>array(35,209,343,632),7587=>array(54,209,342,632),7588=>array(36,326,198,751),7589=>array(60,326,187,632),7590=>array(36,326,198,632),7591=>array(36,326,198,632),7592=>array(-83,209,172,751),7593=>array(60,209,187,751),7594=>array(44,209,172,751),7595=>array(55,326,314,640),7596=>array(57,209,560,640),7597=>array(57,209,560,633),7598=>array(-11,209,348,640),7599=>array(57,209,417,640),7600=>array(55,326,346,640),7601=>array(35,318,351,640),7602=>array(35,210,351,751),7603=>array(34,209,297,640),7604=>array(-11,209,224,751),7605=>array(17,209,232,719),7606=>array(46,318,445,632),7607=>array(35,318,355,632),7608=>array(57,317,321,632),7609=>array(60,326,343,632),7610=>array(19,326,354,632),7611=>array(27,326,304,632),7612=>array(27,209,374,632),7613=>array(27,296,304,632),7614=>array(27,207,330,632),7615=>array(35,320,351,756),7620=>array(-456,616,-44,800),7621=>array(-456,616,-44,800),7622=>array(-456,616,-44,800),7623=>array(-456,616,-44,800),7624=>array(-468,616,-32,800),7625=>array(-468,616,-32,800),7680=>array(8,-241,676,729),7681=>array(60,-241,522,560),7682=>array(98,0,615,914),7683=>array(90,-14,580,915),7684=>array(98,-183,615,729),7685=>array(91,-183,580,760),7686=>array(98,-156,615,729),7687=>array(91,-156,580,760),7688=>array(56,-193,644,928),7689=>array(55,-193,488,800),7690=>array(98,0,711,914),7691=>array(55,-14,544,942),7692=>array(98,-183,711,729),7693=>array(55,-183,544,760),7694=>array(98,-156,711,729),7695=>array(55,-156,544,760),7696=>array(98,-192,711,729),7697=>array(55,-193,544,760),7698=>array(98,-240,711,729),7699=>array(55,-240,544,760),7700=>array(98,0,568,1044),7701=>array(55,-14,562,921),7702=>array(98,0,568,1044),7703=>array(55,-14,562,921),7704=>array(98,-213,568,729),7705=>array(55,-213,562,560),7706=>array(98,-192,568,729),7707=>array(55,-192,562,560),7708=>array(98,-193,568,928),7709=>array(55,-193,562,785),7710=>array(98,0,517,914),7711=>array(23,0,371,942),7712=>array(56,-14,693,887),7713=>array(55,-208,544,745),7714=>array(98,0,654,913),7715=>array(90,0,549,915),7716=>array(98,-183,654,729),7717=>array(91,-183,549,760),7718=>array(98,0,654,914),7719=>array(-9,0,549,913),7720=>array(8,-193,654,729),7721=>array(1,-193,549,760),7722=>array(98,-222,654,729),7723=>array(91,-222,549,760),7724=>array(0,-192,322,729),7725=>array(-22,-192,300,760),7726=>array(3,0,293,1044),7727=>array(-6,0,284,886),7728=>array(98,0,677,928),7729=>array(91,0,576,928),7730=>array(98,-183,677,729),7731=>array(91,-183,576,760),7732=>array(98,-156,677,729),7733=>array(91,-156,576,760),7734=>array(98,-183,552,729),7735=>array(98,-183,189,760),7736=>array(1,-183,552,927),7737=>array(-1,-183,291,899),7738=>array(98,-156,552,729),7739=>array(-6,-156,286,760),7740=>array(98,-240,552,729),7741=>array(-17,-240,295,760),7742=>array(98,0,765,928),7743=>array(91,0,889,800),7744=>array(98,0,765,914),7745=>array(91,0,889,760),7746=>array(98,-183,765,729),7747=>array(91,-183,889,560),7748=>array(98,0,650,914),7749=>array(91,0,549,760),7750=>array(98,-183,650,729),7751=>array(91,-183,549,560),7752=>array(98,-156,650,729),7753=>array(91,-156,549,560),7754=>array(98,-240,650,729),7755=>array(91,-240,549,560),7756=>array(56,-14,731,1044),7757=>array(55,-14,557,881),7758=>array(56,-14,731,1042),7759=>array(55,-14,557,882),7760=>array(56,-14,731,1044),7761=>array(55,-14,557,921),7762=>array(56,-14,731,1044),7763=>array(55,-14,557,921),7764=>array(98,0,569,928),7765=>array(91,-208,580,800),7766=>array(98,0,569,914),7767=>array(91,-208,580,760),7768=>array(98,0,666,913),7769=>array(91,0,411,760),7770=>array(98,-183,666,729),7771=>array(91,-183,411,560),7772=>array(98,-183,666,899),7773=>array(91,-183,411,745),7774=>array(98,-156,666,729),7775=>array(41,-156,411,560),7776=>array(66,-14,579,914),7777=>array(54,-14,472,760),7778=>array(66,-183,579,742),7779=>array(54,-183,472,560),7780=>array(66,-14,579,928),7781=>array(54,-14,485,800),7782=>array(66,-14,579,1042),7783=>array(54,-14,472,973),7784=>array(66,-183,579,914),7785=>array(54,-183,472,733),7786=>array(-3,0,614,914),7787=>array(27,0,368,942),7788=>array(-3,-183,614,729),7789=>array(27,-183,368,702),7790=>array(-3,-156,614,729),7791=>array(27,-156,390,702),7792=>array(-3,-240,614,729),7793=>array(27,-240,394,702),7794=>array(87,-183,645,729),7795=>array(85,-183,543,560),7796=>array(87,-192,645,729),7797=>array(85,-192,543,560),7798=>array(87,-213,645,729),7799=>array(85,-213,543,560),7800=>array(87,-14,645,1044),7801=>array(85,-14,543,990),7802=>array(87,-14,645,1025),7803=>array(85,-14,543,869),7804=>array(8,0,676,936),7805=>array(30,0,562,777),7806=>array(8,-183,676,729),7807=>array(30,-183,562,547),7808=>array(33,0,956,931),7809=>array(42,0,776,802),7810=>array(33,0,956,931),7811=>array(42,0,776,803),7812=>array(33,0,956,913),7813=>array(42,0,776,758),7814=>array(33,0,956,913),7815=>array(42,0,776,760),7816=>array(33,-183,956,729),7817=>array(42,-183,776,547),7818=>array(30,0,654,914),7819=>array(29,0,559,760),7820=>array(30,0,654,913),7821=>array(29,0,559,758),7822=>array(-2,0,613,914),7823=>array(30,-208,562,760),7824=>array(45,0,640,928),7825=>array(43,0,482,800),7826=>array(45,-183,640,729),7827=>array(43,-183,482,547),7828=>array(45,-156,640,729),7829=>array(43,-156,482,547),7830=>array(91,-156,549,760),7831=>array(2,0,368,913),7832=>array(42,0,776,878),7833=>array(30,-208,562,878),7834=>array(60,-14,672,760),7835=>array(23,0,371,942),7836=>array(1,0,371,760),7837=>array(23,0,371,760),7838=>array(87,-14,713,743),7839=>array(55,-14,557,742),7840=>array(8,-183,676,729),7841=>array(60,-183,522,560),7842=>array(8,0,676,992),7843=>array(60,-14,522,810),7844=>array(8,0,676,1028),7845=>array(60,-14,585,846),7846=>array(8,0,676,1028),7847=>array(60,-14,522,847),7848=>array(8,0,676,1044),7849=>array(60,-14,577,862),7850=>array(8,0,676,1057),7851=>array(60,-14,522,875),7852=>array(8,-183,676,928),7853=>array(60,-183,522,800),7854=>array(8,0,676,1044),7855=>array(60,-14,522,877),7856=>array(8,0,676,1044),7857=>array(60,-14,522,877),7858=>array(8,0,676,1068),7859=>array(60,-14,522,901),7860=>array(8,0,676,1043),7861=>array(60,-14,522,876),7862=>array(8,-183,676,946),7863=>array(60,-183,522,765),7864=>array(98,-183,568,729),7865=>array(55,-183,562,560),7866=>array(98,0,568,992),7867=>array(55,-14,562,810),7868=>array(98,0,568,921),7869=>array(55,-14,562,777),7870=>array(98,0,637,1028),7871=>array(55,-14,613,846),7872=>array(98,0,568,1028),7873=>array(55,-14,562,847),7874=>array(98,0,620,1044),7875=>array(55,-14,605,862),7876=>array(98,0,568,1057),7877=>array(55,-14,562,875),7878=>array(98,-183,568,928),7879=>array(55,-183,562,800),7880=>array(44,0,263,992),7881=>array(33,0,252,811),7882=>array(98,-183,197,729),7883=>array(93,-183,184,760),7884=>array(56,-183,731,742),7885=>array(55,-183,557,560),7886=>array(56,-14,731,992),7887=>array(55,-14,557,810),7888=>array(56,-14,731,1028),7889=>array(55,-14,601,846),7890=>array(56,-14,731,1028),7891=>array(55,-14,557,847),7892=>array(56,-14,731,1044),7893=>array(55,-14,592,862),7894=>array(56,-14,731,1057),7895=>array(55,-14,557,875),7896=>array(56,-183,731,928),7897=>array(55,-183,557,800),7898=>array(50,-14,764,927),7899=>array(58,-14,603,800),7900=>array(50,-14,764,927),7901=>array(58,-14,603,800),7902=>array(50,-14,764,992),7903=>array(58,-14,603,810),7904=>array(50,-14,764,921),7905=>array(58,-14,603,777),7906=>array(50,-183,764,760),7907=>array(58,-183,603,615),7908=>array(87,-183,645,729),7909=>array(85,-183,543,560),7910=>array(87,-14,645,992),7911=>array(85,-14,543,810),7912=>array(84,-4,796,927),7913=>array(86,-14,676,800),7914=>array(84,-4,796,927),7915=>array(86,-14,676,800),7916=>array(84,-4,796,992),7917=>array(86,-14,676,810),7918=>array(84,-4,796,921),7919=>array(86,-14,676,777),7920=>array(84,-183,796,760),7921=>array(86,-183,676,615),7922=>array(-2,0,613,931),7923=>array(30,-208,562,802),7924=>array(-2,-183,613,729),7925=>array(30,-208,562,547),7926=>array(-2,0,613,996),7927=>array(30,-208,562,813),7928=>array(-2,0,613,921),7929=>array(30,-208,562,777),7930=>array(98,0,764,729),7931=>array(16,0,462,760),7936=>array(55,-12,611,797),7937=>array(55,-12,611,797),7938=>array(55,-12,611,800),7939=>array(55,-12,611,800),7940=>array(55,-12,611,800),7941=>array(55,-12,611,800),7942=>array(55,-12,611,928),7943=>array(55,-12,611,928),7944=>array(8,0,676,797),7945=>array(8,0,676,797),7946=>array(2,0,869,800),7947=>array(3,0,869,800),7948=>array(3,0,761,800),7949=>array(2,0,793,800),7950=>array(3,0,700,928),7951=>array(2,0,734,928),7952=>array(65,-14,473,797),7953=>array(65,-14,473,797),7954=>array(65,-14,473,800),7955=>array(65,-14,473,800),7956=>array(65,-14,486,800),7957=>array(65,-14,501,800),7960=>array(3,0,647,797),7961=>array(3,0,647,797),7962=>array(2,0,902,800),7963=>array(3,0,911,800),7964=>array(3,0,834,800),7965=>array(2,0,864,800),7968=>array(91,-208,549,797),7969=>array(91,-208,549,797),7970=>array(91,-208,549,800),7971=>array(91,-208,549,800),7972=>array(91,-208,549,800),7973=>array(91,-208,549,800),7974=>array(91,-208,549,928),7975=>array(91,-208,549,928),7976=>array(3,0,739,797),7977=>array(3,0,737,797),7978=>array(2,0,988,800),7979=>array(3,0,991,800),7980=>array(3,0,929,800),7981=>array(2,0,953,800),7982=>array(3,0,835,928),7983=>array(2,0,849,928),7984=>array(76,0,304,797),7985=>array(71,0,304,797),7986=>array(-39,0,340,800),7987=>array(-34,0,347,800),7988=>array(2,0,362,800),7989=>array(-22,0,366,800),7990=>array(-26,0,304,928),7991=>array(-28,0,304,928),7992=>array(3,0,282,797),7993=>array(3,0,276,797),7994=>array(2,0,537,800),7995=>array(3,0,537,800),7996=>array(3,0,472,800),7997=>array(2,0,501,800),7998=>array(3,0,392,928),7999=>array(2,0,395,928),8000=>array(55,-14,557,797),8001=>array(55,-14,557,797),8002=>array(55,-14,557,800),8003=>array(55,-14,557,800),8004=>array(55,-14,557,800),8005=>array(55,-14,557,800),8008=>array(3,-14,748,797),8009=>array(3,-14,792,797),8010=>array(2,-14,1039,800),8011=>array(3,-14,1043,800),8012=>array(3,-14,882,800),8013=>array(2,-14,914,800),8016=>array(73,-14,521,797),8017=>array(73,-14,521,797),8018=>array(73,-14,521,800),8019=>array(73,-14,521,800),8020=>array(73,-14,521,800),8021=>array(73,-14,521,800),8022=>array(73,-14,521,928),8023=>array(73,-14,521,928),8025=>array(3,0,786,797),8027=>array(3,0,1000,800),8029=>array(2,0,1014,800),8031=>array(2,0,900,928),8032=>array(66,-14,769,797),8033=>array(66,-14,769,797),8034=>array(66,-14,769,800),8035=>array(66,-14,769,800),8036=>array(66,-14,769,800),8037=>array(66,-14,769,800),8038=>array(66,-14,769,928),8039=>array(66,-14,769,928),8040=>array(3,0,764,797),8041=>array(3,0,805,797),8042=>array(2,0,1051,800),8043=>array(3,0,1057,800),8044=>array(3,0,908,800),8045=>array(2,0,934,800),8046=>array(3,0,883,928),8047=>array(2,0,914,928),8048=>array(55,-12,611,800),8049=>array(55,-12,611,800),8050=>array(65,-14,473,800),8051=>array(65,-14,473,800),8052=>array(91,-208,549,800),8053=>array(91,-208,549,800),8054=>array(-56,0,304,800),8055=>array(81,0,324,800),8056=>array(55,-14,557,800),8057=>array(55,-14,557,800),8058=>array(73,-14,521,800),8059=>array(73,-14,521,800),8060=>array(66,-14,769,800),8061=>array(66,-14,769,800),8064=>array(55,-208,611,797),8065=>array(55,-208,611,797),8066=>array(55,-208,611,800),8067=>array(55,-208,611,800),8068=>array(55,-208,611,800),8069=>array(55,-208,611,800),8070=>array(55,-208,611,928),8071=>array(55,-208,611,928),8072=>array(8,-208,676,797),8073=>array(8,-208,676,797),8074=>array(2,-208,869,800),8075=>array(3,-208,869,800),8076=>array(3,-208,761,800),8077=>array(2,-208,793,800),8078=>array(3,-208,700,928),8079=>array(2,-208,734,928),8080=>array(91,-208,549,797),8081=>array(91,-208,549,797),8082=>array(91,-208,549,800),8083=>array(91,-208,549,800),8084=>array(91,-208,549,800),8085=>array(91,-208,549,800),8086=>array(91,-208,549,928),8087=>array(91,-208,549,928),8088=>array(3,-208,739,797),8089=>array(3,-208,737,797),8090=>array(2,-208,988,800),8091=>array(3,-208,991,800),8092=>array(3,-208,929,800),8093=>array(2,-208,953,800),8094=>array(3,-208,835,928),8095=>array(2,-208,849,928),8096=>array(66,-208,769,797),8097=>array(66,-208,769,797),8098=>array(66,-208,769,800),8099=>array(66,-208,769,800),8100=>array(66,-208,769,800),8101=>array(66,-208,769,800),8102=>array(66,-208,769,928),8103=>array(66,-208,769,928),8104=>array(3,-208,764,797),8105=>array(3,-208,805,797),8106=>array(2,-208,1051,800),8107=>array(3,-208,1057,800),8108=>array(3,-208,908,800),8109=>array(2,-208,934,800),8110=>array(3,-208,883,928),8111=>array(2,-208,914,928),8112=>array(55,-12,611,785),8113=>array(55,-12,611,745),8114=>array(55,-208,611,800),8115=>array(55,-208,611,559),8116=>array(55,-208,611,800),8118=>array(55,-12,611,777),8119=>array(55,-208,611,777),8120=>array(8,0,676,928),8121=>array(8,0,676,899),8122=>array(-2,0,708,800),8123=>array(8,0,676,800),8124=>array(8,-208,676,729),8125=>array(190,595,309,797),8126=>array(214,-208,321,-45),8127=>array(190,595,309,797),8128=>array(89,639,411,777),8129=>array(89,659,411,928),8130=>array(91,-208,549,800),8131=>array(91,-208,549,560),8132=>array(91,-208,549,800),8134=>array(91,-208,549,777),8135=>array(91,-208,549,777),8136=>array(-2,0,741,800),8137=>array(-12,0,682,800),8138=>array(-2,0,833,800),8139=>array(-6,0,765,800),8140=>array(98,-208,654,729),8141=>array(67,595,446,800),8142=>array(88,595,447,800),8143=>array(89,595,411,928),8144=>array(-10,0,304,785),8145=>array(-14,0,304,745),8146=>array(-20,0,304,978),8147=>array(2,0,313,978),8150=>array(-14,0,309,777),8151=>array(-13,0,310,928),8152=>array(-5,0,300,928),8153=>array(1,0,293,899),8154=>array(-2,0,377,800),8155=>array(-9,0,311,800),8157=>array(62,595,443,800),8158=>array(73,595,461,800),8159=>array(89,595,411,928),8160=>array(73,-14,521,785),8161=>array(73,-14,521,745),8162=>array(73,-14,521,978),8163=>array(73,-14,521,978),8164=>array(91,-208,580,797),8165=>array(91,-208,580,797),8166=>array(73,-14,521,777),8167=>array(73,-14,521,928),8168=>array(-2,0,613,928),8169=>array(-2,0,613,899),8170=>array(-2,0,847,800),8171=>array(-15,0,821,800),8172=>array(3,0,651,797),8173=>array(83,659,395,978),8174=>array(105,659,415,978),8175=>array(83,617,317,800),8178=>array(66,-208,769,800),8179=>array(66,-208,769,547),8180=>array(66,-208,769,800),8182=>array(66,-14,769,777),8183=>array(66,-208,769,777),8184=>array(-2,-14,885,800),8185=>array(-7,-14,750,800),8186=>array(-2,0,884,800),8187=>array(-18,0,752,800),8188=>array(38,-208,726,738),8189=>array(181,616,415,800),8190=>array(190,595,309,797),8208=>array(49,234,312,314),8209=>array(49,234,312,314),8210=>array(49,239,587,309),8211=>array(49,239,451,309),8212=>array(49,239,951,309),8213=>array(0,239,1000,309),8214=>array(127,-236,371,764),8215=>array(-10,-236,510,-9),8216=>array(85,489,228,729),8217=>array(87,499,230,729),8218=>array(85,-116,228,124),8219=>array(87,499,230,729),8220=>array(85,489,428,729),8221=>array(85,489,428,729),8222=>array(85,-116,428,124),8223=>array(85,489,428,729),8224=>array(28,-96,472,729),8225=>array(28,-96,472,729),8226=>array(150,227,440,516),8227=>array(150,188,479,555),8228=>array(115,0,219,124),8229=>array(115,0,552,124),8230=>array(115,0,885,124),8231=>array(107,302,210,426),8240=>array(55,-14,1287,742),8241=>array(55,-14,1681,742),8242=>array(20,547,203,729),8243=>array(20,547,350,729),8244=>array(20,547,496,729),8245=>array(20,547,203,729),8246=>array(20,547,350,729),8247=>array(20,547,496,729),8248=>array(5,-236,333,-30),8249=>array(77,69,306,517),8250=>array(94,69,323,517),8251=>array(95,2,740,725),8252=>array(72,0,414,729),8253=>array(72,0,461,742),8254=>array(-10,686,510,755),8255=>array(-43,-237,847,-60),8256=>array(-43,752,847,929),8257=>array(-42,-236,286,229),8258=>array(30,-29,970,814),8259=>array(108,313,400,421),8260=>array(-183,-14,350,742),8261=>array(86,-132,293,760),8262=>array(86,-132,293,760),8263=>array(36,0,886,742),8264=>array(72,0,661,742),8265=>array(72,0,661,742),8266=>array(49,-123,448,545),8267=>array(115,-96,566,729),8268=>array(105,220,395,509),8269=>array(105,220,395,509),8270=>array(30,-29,470,427),8271=>array(139,-116,282,517),8272=>array(-43,-237,847,929),8273=>array(30,-7,470,929),8274=>array(71,-93,408,729),8275=>array(49,228,951,399),8276=>array(-43,-240,847,-63),8277=>array(152,98,686,631),8278=>array(122,149,464,589),8279=>array(20,547,643,729),8280=>array(175,125,663,613),8281=>array(175,120,663,608),8282=>array(107,0,210,729),8283=>array(49,-138,749,867),8284=>array(55,0,783,729),8285=>array(107,39,210,655),8286=>array(107,8,210,683),8304=>array(42,319,366,742),8305=>array(60,326,116,751),8308=>array(31,326,369,734),8309=>array(50,319,353,734),8310=>array(45,319,369,742),8311=>array(53,326,354,734),8312=>array(43,319,365,742),8313=>array(41,319,364,742),8314=>array(67,326,461,677),8315=>array(67,479,461,525),8316=>array(67,422,461,581),8317=>array(54,252,195,751),8318=>array(50,252,191,751),8319=>array(57,326,346,640),8320=>array(42,-7,366,416),8321=>array(67,0,346,408),8322=>array(46,0,338,416),8323=>array(48,-7,350,416),8324=>array(31,0,369,408),8325=>array(50,-7,353,408),8326=>array(45,-7,369,416),8327=>array(53,0,354,408),8328=>array(43,-7,365,416),8329=>array(41,-7,364,416),8330=>array(67,0,461,351),8331=>array(67,152,461,199),8332=>array(67,96,461,254),8333=>array(54,-74,195,425),8334=>array(50,-74,191,425),8336=>array(38,-8,329,313),8337=>array(35,-8,354,313),8338=>array(35,-8,351,313),8339=>array(57,0,391,306),8340=>array(35,-8,354,313),8341=>array(57,0,346,425),8342=>array(57,0,363,425),8343=>array(60,0,116,425),8344=>array(57,0,560,313),8345=>array(57,0,346,313),8346=>array(57,-117,365,313),8347=>array(57,0,320,322),8348=>array(17,0,232,393),8352=>array(42,0,835,729),8353=>array(56,-44,593,778),8354=>array(47,-14,587,742),8355=>array(65,0,599,729),8356=>array(63,0,548,742),8357=>array(91,-93,889,640),8358=>array(57,0,691,729),8359=>array(98,-14,1226,729),8360=>array(98,-14,1025,729),8361=>array(29,0,960,729),8362=>array(46,-14,743,729),8363=>array(55,-156,619,760),8364=>array(0,-14,570,742),8365=>array(20,0,636,729),8366=>array(10,0,626,729),8367=>array(102,-222,1205,742),8368=>array(22,-14,569,742),8369=>array(33,0,579,729),8370=>array(45,-81,586,809),8371=>array(8,0,627,729),8372=>array(57,-14,717,742),8373=>array(81,-147,556,760),8376=>array(10,0,626,729),8377=>array(52,0,585,729),8378=>array(5,2,649,731),8400=>array(-491,635,-26,760),8401=>array(-470,635,-5,760),8406=>array(-470,560,-26,760),8407=>array(-470,560,-26,760),8411=>array(-491,560,-10,758),8412=>array(-586,560,86,758),8417=>array(-470,560,-26,760),8448=>array(33,-24,980,752),8449=>array(33,-24,999,752),8450=>array(56,-14,644,742),8451=>array(95,-14,1053,742),8452=>array(-21,0,637,729),8453=>array(29,-24,987,752),8454=>array(29,-24,1038,752),8455=>array(80,-14,560,742),8456=>array(54,-146,642,611),8457=>array(95,0,894,742),8459=>array(36,-14,943,748),8460=>array(1,-128,693,731),8461=>array(98,0,751,729),8462=>array(35,0,566,760),8463=>array(44,0,566,760),8464=>array(29,-15,432,742),8465=>array(52,-14,659,742),8466=>array(33,-14,679,743),8467=>array(-14,-14,353,742),8468=>array(16,-14,763,760),8469=>array(97,0,704,729),8470=>array(26,0,969,729),8471=>array(138,0,862,724),8472=>array(54,-221,658,495),8473=>array(98,0,666,729),8474=>array(56,-129,731,742),8475=>array(32,-9,764,774),8476=>array(41,-14,803,743),8477=>array(98,0,774,729),8478=>array(83,0,814,729),8479=>array(98,-107,666,847),8480=>array(126,443,770,730),8481=>array(-2,0,1023,547),8482=>array(144,447,784,729),8483=>array(8,-108,676,846),8484=>array(45,0,700,729),8485=>array(43,-213,523,760),8486=>array(38,0,726,738),8487=>array(38,-14,726,724),8488=>array(12,-149,573,783),8489=>array(33,0,255,547),8490=>array(98,0,677,729),8491=>array(8,0,676,928),8492=>array(45,0,734,772),8493=>array(63,-12,652,742),8494=>array(61,-12,793,647),8495=>array(42,-14,547,533),8496=>array(79,-14,565,742),8497=>array(41,-16,758,755),8498=>array(98,0,517,729),8499=>array(28,-28,1032,751),8500=>array(51,-12,411,395),8501=>array(50,-14,712,742),8502=>array(-2,-14,653,743),8503=>array(13,-35,407,742),8504=>array(42,-35,591,742),8505=>array(34,0,355,760),8506=>array(44,-21,915,654),8507=>array(74,0,1162,547),8508=>array(18,-8,685,547),8509=>array(0,-194,669,560),8510=>array(98,0,648,729),8511=>array(98,0,750,729),8512=>array(12,-192,791,719),8513=>array(80,-14,716,742),8514=>array(4,0,458,729),8515=>array(3,0,457,729),8516=>array(-2,0,613,729),8517=>array(42,0,786,729),8518=>array(44,-14,709,760),8519=>array(44,-14,572,560),8520=>array(39,0,313,760),8521=>array(-114,-208,313,760),8523=>array(29,-14,715,742),8526=>array(40,0,441,547),8528=>array(67,-14,922,742),8529=>array(67,-14,932,742),8530=>array(67,-14,1335,742),8531=>array(67,-14,918,742),8532=>array(46,-14,918,742),8533=>array(67,-14,921,742),8534=>array(46,-14,921,742),8535=>array(48,-14,921,742),8536=>array(31,-14,921,742),8537=>array(67,-14,937,742),8538=>array(50,-14,937,742),8539=>array(67,-14,933,742),8540=>array(48,-14,933,742),8541=>array(50,-14,933,742),8542=>array(53,-14,933,742),8543=>array(67,-14,751,742),8544=>array(98,0,197,729),8545=>array(98,0,394,729),8546=>array(98,0,591,729),8547=>array(98,0,915,729),8548=>array(8,0,676,729),8549=>array(8,0,824,729),8550=>array(8,0,1021,729),8551=>array(8,0,1219,729),8552=>array(98,0,886,729),8553=>array(30,0,654,729),8554=>array(30,0,835,729),8555=>array(30,0,1032,729),8556=>array(98,0,552,729),8557=>array(56,-14,644,742),8558=>array(98,0,711,729),8559=>array(98,0,765,729),8560=>array(94,0,184,760),8561=>array(94,0,364,760),8562=>array(94,0,543,760),8563=>array(94,0,782,760),8564=>array(30,0,562,547),8565=>array(30,0,717,760),8566=>array(30,0,897,760),8567=>array(30,0,1077,760),8568=>array(94,0,786,760),8569=>array(29,0,559,547),8570=>array(29,0,729,760),8571=>array(29,0,908,760),8572=>array(94,0,184,760),8573=>array(55,-14,488,560),8574=>array(55,-14,544,760),8575=>array(91,0,889,560),8576=>array(59,0,1186,729),8577=>array(98,0,711,729),8578=>array(59,0,1186,729),8579=>array(56,-14,644,742),8580=>array(62,-14,495,560),8581=>array(56,-208,644,742),8585=>array(42,-14,918,742),8592=>array(49,100,781,527),8593=>array(205,0,632,732),8594=>array(57,100,789,527),8595=>array(205,-3,632,729),8596=>array(49,100,789,527),8597=>array(205,-8,632,732),8598=>array(141,25,703,587),8599=>array(141,25,703,587),8600=>array(141,25,703,587),8601=>array(141,25,703,587),8602=>array(49,100,781,527),8603=>array(57,100,789,527),8604=>array(21,103,827,414),8605=>array(11,103,816,414),8606=>array(49,100,781,527),8607=>array(206,0,633,732),8608=>array(57,100,789,527),8609=>array(206,-3,633,729),8610=>array(49,100,781,527),8611=>array(57,100,789,527),8612=>array(49,100,781,527),8613=>array(206,0,632,732),8614=>array(57,100,789,527),8615=>array(206,-3,632,729),8616=>array(206,0,632,732),8617=>array(49,100,780,565),8618=>array(58,100,789,565),8619=>array(49,100,780,565),8620=>array(58,100,789,565),8621=>array(49,100,789,527),8622=>array(49,93,789,534),8623=>array(146,-2,702,730),8624=>array(169,0,629,743),8625=>array(209,0,669,743),8626=>array(169,-14,629,729),8627=>array(209,-14,669,729),8628=>array(233,-3,760,604),8629=>array(49,100,656,626),8630=>array(22,203,799,668),8631=>array(39,203,816,668),8632=>array(108,25,788,729),8633=>array(55,-46,783,673),8634=>array(103,62,762,680),8635=>array(77,62,736,680),8636=>array(49,272,781,527),8637=>array(49,100,781,355),8638=>array(377,0,632,732),8639=>array(205,0,460,732),8640=>array(57,272,789,527),8641=>array(57,100,789,355),8642=>array(377,0,632,732),8643=>array(205,0,460,732),8644=>array(49,-47,789,674),8645=>array(58,-3,779,732),8646=>array(49,-47,789,674),8647=>array(49,-47,781,674),8648=>array(59,0,779,732),8649=>array(58,-47,790,674),8650=>array(59,-3,779,729),8651=>array(49,7,789,620),8652=>array(49,7,789,620),8653=>array(49,100,781,527),8654=>array(49,94,789,533),8655=>array(57,100,789,527),8656=>array(49,100,781,527),8657=>array(206,0,633,732),8658=>array(57,100,789,527),8659=>array(206,-3,633,729),8660=>array(49,100,789,527),8661=>array(205,-8,633,732),8662=>array(141,-23,751,587),8663=>array(92,-23,703,587),8664=>array(92,25,703,636),8665=>array(141,25,751,636),8666=>array(49,100,781,527),8667=>array(57,100,789,527),8668=>array(49,100,781,527),8669=>array(57,100,789,527),8670=>array(205,0,632,732),8671=>array(205,-3,632,729),8672=>array(49,100,781,527),8673=>array(205,0,633,732),8674=>array(57,100,789,527),8675=>array(205,-3,633,729),8676=>array(52,99,781,528),8677=>array(57,99,786,528),8678=>array(27,65,781,562),8679=>array(171,0,667,754),8680=>array(35,65,789,562),8681=>array(171,-25,667,729),8682=>array(171,0,667,754),8683=>array(171,0,667,754),8684=>array(156,0,682,754),8685=>array(171,0,667,754),8686=>array(171,0,667,754),8687=>array(171,0,667,754),8688=>array(57,65,811,562),8689=>array(60,0,788,729),8690=>array(60,0,788,729),8691=>array(171,-25,667,754),8692=>array(57,100,789,527),8693=>array(58,-3,779,732),8694=>array(57,-193,789,820),8695=>array(49,94,781,533),8696=>array(57,94,789,533),8697=>array(49,94,789,533),8698=>array(49,94,781,533),8699=>array(57,94,789,533),8700=>array(49,94,789,533),8701=>array(27,96,781,531),8702=>array(57,96,811,531),8703=>array(27,96,811,531),8704=>array(8,0,676,729),8705=>array(66,-14,554,742),8706=>array(46,-14,471,662),8707=>array(98,0,568,729),8708=>array(98,-46,568,776),8709=>array(76,-10,795,710),8710=>array(-3,0,672,719),8711=>array(-3,0,672,719),8712=>array(85,-10,786,710),8713=>array(85,-138,786,835),8714=>array(106,76,612,550),8715=>array(85,-10,786,710),8716=>array(85,-138,786,835),8717=>array(106,76,612,550),8718=>array(146,0,490,485),8719=>array(76,-192,680,719),8720=>array(76,-192,680,719),8721=>array(12,-192,654,719),8722=>array(106,272,732,355),8723=>array(106,0,732,627),8724=>array(106,0,732,729),8725=>array(0,-93,337,729),8726=>array(192,-54,529,768),8727=>array(127,0,710,627),8728=>array(158,160,468,470),8729=>array(168,168,458,458),8730=>array(30,-20,637,811),8731=>array(30,-20,637,933),8732=>array(30,-20,637,924),8733=>array(107,112,607,487),8734=>array(107,112,726,487),8735=>array(138,99,700,661),8736=>array(85,0,786,729),8737=>array(85,-53,786,729),8738=>array(116,-3,732,727),8739=>array(211,-214,289,771),8740=>array(50,-214,451,771),8741=>array(133,-214,367,771),8742=>array(50,-214,451,771),8743=>array(129,0,603,579),8744=>array(129,0,603,579),8745=>array(129,0,603,579),8746=>array(129,0,603,579),8747=>array(57,-212,464,757),8748=>array(57,-212,732,757),8749=>array(57,-212,1000,757),8750=>array(57,-212,464,757),8751=>array(57,-212,732,757),8752=>array(57,-212,1000,757),8753=>array(57,-213,522,757),8754=>array(57,-212,514,757),8755=>array(57,-212,515,757),8756=>array(59,100,577,604),8757=>array(59,100,577,604),8758=>array(79,100,182,604),8759=>array(59,100,577,604),8760=>array(106,272,732,552),8761=>array(106,78,732,552),8762=>array(105,78,732,552),8763=>array(106,78,732,552),8764=>array(106,228,732,399),8765=>array(106,228,732,399),8766=>array(79,149,759,479),8767=>array(106,42,732,584),8768=>array(102,0,273,626),8769=>array(106,77,732,553),8770=>array(106,133,732,454),8771=>array(106,172,732,494),8772=>array(106,48,732,603),8773=>array(106,90,732,594),8774=>array(106,12,732,594),8775=>array(106,-5,732,657),8776=>array(106,133,732,494),8777=>array(106,2,732,625),8778=>array(106,90,732,598),8779=>array(106,59,732,602),8780=>array(106,90,732,594),8781=>array(105,105,732,521),8782=>array(106,26,732,601),8783=>array(106,172,732,601),8784=>array(106,172,732,625),8785=>array(106,1,732,625),8786=>array(106,2,733,625),8787=>array(106,2,733,625),8788=>array(101,151,899,476),8789=>array(100,151,900,475),8790=>array(106,172,732,454),8791=>array(106,172,732,760),8792=>array(106,172,732,662),8793=>array(106,172,732,812),8794=>array(106,172,732,812),8795=>array(106,172,732,849),8796=>array(106,172,732,854),8797=>array(106,172,732,764),8798=>array(106,172,732,760),8799=>array(106,172,732,856),8800=>array(106,19,732,608),8801=>array(106,90,732,537),8802=>array(106,-24,732,650),8803=>array(106,0,732,629),8804=>array(106,0,732,582),8805=>array(106,0,732,582),8806=>array(106,-83,732,638),8807=>array(106,-83,732,638),8808=>array(106,-164,732,638),8809=>array(106,-164,732,638),8810=>array(72,22,975,609),8811=>array(72,22,975,609),8812=>array(86,-132,378,759),8813=>array(105,13,732,613),8814=>array(106,2,732,674),8815=>array(106,-47,732,625),8816=>array(106,-102,732,667),8817=>array(106,-102,732,667),8818=>array(106,-55,732,582),8819=>array(106,-39,732,582),8820=>array(106,-105,732,664),8821=>array(106,-102,732,667),8822=>array(102,-87,732,686),8823=>array(102,-87,732,686),8824=>array(102,-197,732,797),8825=>array(102,-197,732,797),8826=>array(106,-38,732,664),8827=>array(106,-38,732,664),8828=>array(106,-105,732,667),8829=>array(106,-105,732,667),8830=>array(106,-85,732,667),8831=>array(106,-85,732,667),8832=>array(106,-61,732,764),8833=>array(106,-138,732,687),8834=>array(100,80,738,546),8835=>array(100,80,738,546),8836=>array(100,-96,738,726),8837=>array(100,-100,738,722),8838=>array(93,0,732,613),8839=>array(106,0,745,613),8840=>array(93,-116,732,730),8841=>array(106,-116,745,730),8842=>array(93,-73,732,614),8843=>array(93,-73,732,614),8844=>array(129,0,603,579),8845=>array(129,0,603,579),8846=>array(129,2,603,582),8847=>array(106,0,732,568),8848=>array(106,0,732,568),8849=>array(106,-83,732,630),8850=>array(106,-83,732,630),8851=>array(106,0,674,626),8852=>array(106,0,674,626),8853=>array(91,-14,747,643),8854=>array(91,-14,747,643),8855=>array(91,-14,747,643),8856=>array(91,-14,747,643),8857=>array(91,-14,747,643),8858=>array(91,-14,747,643),8859=>array(91,-14,747,643),8860=>array(91,-14,747,643),8861=>array(91,-14,747,643),8862=>array(91,-14,747,643),8863=>array(91,-14,747,643),8864=>array(91,-14,747,643),8865=>array(91,-14,747,643),8866=>array(85,0,786,700),8867=>array(85,0,786,700),8868=>array(85,0,786,700),8869=>array(85,0,786,700),8870=>array(85,0,436,700),8871=>array(85,0,436,700),8872=>array(85,0,786,700),8873=>array(85,0,786,700),8874=>array(85,0,786,700),8875=>array(85,0,786,700),8876=>array(85,-40,786,740),8877=>array(85,-40,786,740),8878=>array(85,-40,786,740),8879=>array(85,-40,786,740),8880=>array(106,-43,724,670),8881=>array(106,-43,724,670),8882=>array(106,15,732,612),8883=>array(106,15,732,612),8884=>array(106,-48,732,674),8885=>array(106,-48,732,674),8886=>array(59,175,941,454),8887=>array(59,175,941,454),8888=>array(48,175,790,454),8889=>array(59,-47,779,674),8890=>array(116,0,404,701),8891=>array(98,0,634,740),8892=>array(98,0,634,740),8893=>array(98,0,634,740),8894=>array(138,0,700,562),8895=>array(138,0,700,562),8896=>array(-3,-192,823,719),8897=>array(-3,-192,823,719),8898=>array(68,-192,752,719),8899=>array(68,-192,752,719),8900=>array(3,-233,491,807),8901=>array(107,285,210,409),8902=>array(122,149,504,512),8903=>array(106,15,732,613),8904=>array(106,-30,894,657),8905=>array(106,-30,894,657),8906=>array(106,-30,894,657),8907=>array(106,-30,894,657),8908=>array(106,-30,894,657),8909=>array(106,172,732,494),8910=>array(48,0,684,579),8911=>array(48,0,684,579),8912=>array(93,-3,732,630),8913=>array(106,-3,745,630),8914=>array(103,0,735,663),8915=>array(103,-14,735,649),8916=>array(186,0,652,729),8917=>array(106,-100,732,729),8918=>array(106,46,732,581),8919=>array(106,46,732,581),8920=>array(72,22,1350,609),8921=>array(72,22,1350,609),8922=>array(106,-228,732,854),8923=>array(106,-228,732,854),8924=>array(106,0,732,582),8925=>array(106,0,732,582),8926=>array(106,-105,732,667),8927=>array(106,-105,732,667),8928=>array(106,-178,732,764),8929=>array(106,-178,732,764),8930=>array(106,-141,732,767),8931=>array(106,-141,732,767),8932=>array(106,-94,732,619),8933=>array(106,-94,732,619),8934=>array(106,-138,732,582),8935=>array(106,-138,732,582),8936=>array(106,-169,732,667),8937=>array(110,-171,736,667),8938=>array(106,-130,732,756),8939=>array(106,-130,732,756),8940=>array(106,-189,732,815),8941=>array(104,-189,730,815),8942=>array(448,-93,551,715),8943=>array(115,249,884,373),8944=>array(115,-93,884,715),8945=>array(115,-93,884,715),8946=>array(43,-10,957,710),8947=>array(85,-10,786,710),8948=>array(106,76,612,550),8949=>array(85,-10,786,910),8950=>array(85,-10,786,853),8951=>array(106,76,612,686),8952=>array(85,-144,786,710),8953=>array(85,-10,786,710),8954=>array(43,-10,957,710),8955=>array(85,-10,786,710),8956=>array(106,76,612,550),8957=>array(85,-10,786,853),8958=>array(106,76,612,686),8959=>array(106,0,765,720),8960=>array(36,-18,567,514),8961=>array(56,162,540,443),8962=>array(71,0,563,596),8963=>array(205,481,632,732),8964=>array(205,0,632,251),8965=>array(205,0,632,406),8966=>array(205,0,632,513),8967=>array(154,-29,334,788),8968=>array(86,-132,293,760),8969=>array(97,-132,304,760),8970=>array(86,-132,293,760),8971=>array(97,-132,304,760),8972=>array(369,-77,759,313),8973=>array(49,-77,439,313),8974=>array(369,243,759,634),8975=>array(49,243,439,634),8976=>array(106,140,732,421),8977=>array(3,126,510,634),8984=>array(121,0,879,759),8985=>array(106,140,732,421),8988=>array(86,425,403,760),8989=>array(65,425,383,760),8990=>array(86,-70,403,264),8991=>array(65,-70,383,264),8992=>array(210,-250,497,928),8993=>array(21,-237,307,942),8996=>array(76,227,1076,575),8997=>array(76,0,1076,575),8998=>array(76,0,1414,760),8999=>array(76,0,1076,760),9000=>array(59,0,1385,729),9003=>array(0,0,1338,760),9004=>array(73,-91,800,748),9075=>array(81,0,304,547),9076=>array(91,-208,580,560),9077=>array(66,-14,769,547),9082=>array(55,-12,611,559),9085=>array(13,-228,745,102),9095=>array(76,0,1096,748),9108=>array(17,0,856,727),9115=>array(86,-252,414,946),9116=>array(86,-252,181,942),9117=>array(86,-240,414,942),9118=>array(86,-252,414,946),9119=>array(319,-252,414,942),9120=>array(86,-240,414,942),9121=>array(86,-252,414,928),9122=>array(86,-252,181,942),9123=>array(86,-240,414,942),9124=>array(86,-252,414,928),9125=>array(319,-252,414,935),9126=>array(86,-240,414,935),9127=>array(330,-261,668,928),9128=>array(82,-252,420,940),9129=>array(330,-240,668,940),9130=>array(330,-256,420,943),9131=>array(82,-261,420,928),9132=>array(330,-252,668,940),9133=>array(82,-240,420,940),9134=>array(210,-250,307,942),9166=>array(27,65,781,729),9167=>array(91,0,854,596),9187=>array(73,-91,800,748),9189=>array(3,75,766,444),9192=>array(43,-129,601,294),9250=>array(-62,-14,580,760),9251=>array(71,-228,563,102),9312=>array(74,-10,822,738),9313=>array(74,-10,822,738),9314=>array(74,-10,822,738),9315=>array(74,-10,822,738),9316=>array(74,-10,822,738),9317=>array(74,-10,822,738),9318=>array(74,-10,822,738),9319=>array(74,-10,822,738),9320=>array(74,-10,822,738),9321=>array(74,-10,822,738),9472=>array(-10,242,612,326),9473=>array(-10,200,612,368),9474=>array(262,-302,340,973),9475=>array(223,-302,379,973),9476=>array(-10,242,612,326),9477=>array(-10,200,612,368),9478=>array(262,-302,340,973),9479=>array(223,-302,379,973),9480=>array(-10,242,612,326),9481=>array(-10,200,612,368),9482=>array(262,-302,340,973),9483=>array(223,-302,379,973),9484=>array(262,-302,612,326),9485=>array(262,-302,612,368),9486=>array(223,-302,612,326),9487=>array(223,-302,612,368),9488=>array(-10,-302,340,326),9489=>array(-10,-302,340,368),9490=>array(-10,-302,379,326),9491=>array(-10,-302,379,368),9492=>array(262,242,612,973),9493=>array(262,200,612,973),9494=>array(223,242,612,973),9495=>array(223,200,612,973),9496=>array(-10,242,340,973),9497=>array(-10,200,340,973),9498=>array(-10,242,379,973),9499=>array(-10,200,379,973),9500=>array(262,-302,612,973),9501=>array(262,-302,612,973),9502=>array(223,-302,612,973),9503=>array(223,-302,612,973),9504=>array(223,-302,612,973),9505=>array(223,-302,612,973),9506=>array(223,-302,612,973),9507=>array(223,-302,612,973),9508=>array(-10,-302,340,973),9509=>array(-10,-302,340,973),9510=>array(-10,-302,379,973),9511=>array(-10,-302,379,973),9512=>array(-10,-302,379,973),9513=>array(-10,-302,379,973),9514=>array(-10,-302,379,973),9515=>array(-10,-302,379,973),9516=>array(-10,-302,612,326),9517=>array(-10,-302,612,368),9518=>array(-10,-302,612,368),9519=>array(-10,-302,612,368),9520=>array(-10,-302,612,326),9521=>array(-10,-302,612,368),9522=>array(-10,-302,612,368),9523=>array(-10,-302,612,368),9524=>array(-10,242,612,973),9525=>array(-10,200,612,973),9526=>array(-10,200,612,973),9527=>array(-10,200,612,973),9528=>array(-10,242,612,973),9529=>array(-10,200,612,973),9530=>array(-10,200,612,973),9531=>array(-10,200,612,973),9532=>array(-10,-302,612,973),9533=>array(-10,-302,612,973),9534=>array(-10,-302,612,973),9535=>array(-10,-302,612,973),9536=>array(-10,-302,612,973),9537=>array(-10,-302,612,973),9538=>array(-10,-302,612,973),9539=>array(-10,-302,612,973),9540=>array(-10,-302,612,973),9541=>array(-10,-302,612,973),9542=>array(-10,-302,612,973),9543=>array(-10,-302,612,973),9544=>array(-10,-302,612,973),9545=>array(-10,-302,612,973),9546=>array(-10,-302,612,973),9547=>array(-10,-302,612,973),9548=>array(-10,242,612,326),9549=>array(-10,200,612,368),9550=>array(262,-302,340,973),9551=>array(223,-302,379,973),9552=>array(-10,158,612,410),9553=>array(184,-302,418,973),9554=>array(262,-302,612,410),9555=>array(184,-302,612,326),9556=>array(184,-302,612,410),9557=>array(-10,-302,340,410),9558=>array(-10,-302,418,326),9559=>array(-10,-302,418,410),9560=>array(262,158,612,973),9561=>array(184,242,612,973),9562=>array(184,158,612,973),9563=>array(-10,158,340,973),9564=>array(-10,242,418,973),9565=>array(-10,158,418,973),9566=>array(262,-302,612,973),9567=>array(184,-302,612,973),9568=>array(184,-302,612,973),9569=>array(-10,-302,340,973),9570=>array(-10,-302,418,973),9571=>array(-10,-302,418,973),9572=>array(-10,-302,612,410),9573=>array(-10,-302,612,326),9574=>array(-10,-302,612,410),9575=>array(-10,158,612,973),9576=>array(-10,242,612,973),9577=>array(-10,158,612,973),9578=>array(-10,-302,612,973),9579=>array(-10,-302,612,973),9580=>array(-10,-302,612,973),9581=>array(262,-302,612,326),9582=>array(-10,-302,340,326),9583=>array(-10,242,340,973),9584=>array(262,242,612,973),9585=>array(-53,-302,655,973),9586=>array(-53,-302,655,973),9587=>array(-53,-302,655,973),9588=>array(-10,242,311,326),9589=>array(262,284,340,973),9590=>array(311,242,612,326),9591=>array(262,-302,340,284),9592=>array(-10,200,311,368),9593=>array(223,284,379,973),9594=>array(311,200,612,368),9595=>array(223,-302,379,284),9596=>array(-10,200,612,368),9597=>array(223,-302,379,973),9598=>array(-10,200,612,368),9599=>array(223,-302,379,973),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,775,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-123,854,643),9633=>array(91,-123,854,643),9634=>array(91,-123,854,643),9635=>array(91,-123,854,643),9636=>array(91,-123,854,643),9637=>array(91,-123,854,643),9638=>array(91,-123,854,643),9639=>array(91,-123,854,643),9640=>array(91,-123,854,643),9641=>array(91,-123,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-123,766,643),9651=>array(3,-123,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-123,766,643),9655=>array(3,-123,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-123,766,643),9661=>array(3,-123,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-123,766,643),9665=>array(3,-123,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-123,766,643),9671=>array(3,-123,766,643),9672=>array(3,-123,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,700,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,384,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,384,260),9696=>array(55,260,818,645),9697=>array(55,-125,818,260),9698=>array(3,-123,766,643),9699=>array(3,-123,766,643),9700=>array(3,-123,766,643),9701=>array(3,-123,766,643),9702=>array(150,227,440,516),9703=>array(91,-123,854,643),9704=>array(91,-123,854,643),9705=>array(91,-123,854,643),9706=>array(91,-123,854,643),9707=>array(91,-123,854,643),9708=>array(3,-123,766,643),9709=>array(3,-123,766,643),9710=>array(3,-123,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-123,854,643),9713=>array(91,-123,854,643),9714=>array(91,-123,854,643),9715=>array(91,-123,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-123,766,643),9721=>array(3,-123,766,643),9722=>array(3,-123,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-123,766,643),9728=>array(83,0,813,729),9729=>array(51,-2,949,360),9730=>array(49,0,848,729),9731=>array(83,-0,813,927),9732=>array(64,0,833,880),9733=>array(65,-4,832,723),9734=>array(65,-4,832,723),9735=>array(83,2,490,729),9736=>array(83,0,813,731),9737=>array(83,0,813,730),9738=>array(61,0,828,727),9739=>array(61,0,828,723),9740=>array(61,-1,610,722),9741=>array(61,0,952,723),9742=>array(68,0,1177,729),9743=>array(71,0,1180,729),9744=>array(90,0,807,729),9745=>array(89,0,808,729),9746=>array(89,0,808,729),9747=>array(75,78,457,656),9748=>array(49,0,870,933),9749=>array(74,0,822,731),9750=>array(84,0,813,731),9751=>array(84,0,813,727),9752=>array(78,0,819,729),9753=>array(83,140,813,574),9754=>array(84,113,813,569),9755=>array(84,113,813,569),9756=>array(87,104,810,569),9757=>array(72,0,537,724),9758=>array(86,103,810,569),9759=>array(72,-3,537,720),9760=>array(61,0,835,730),9761=>array(84,0,813,730),9762=>array(83,0,813,730),9763=>array(49,0,848,730),9764=>array(49,-2,620,727),9765=>array(83,0,663,731),9766=>array(83,-1,566,731),9767=>array(83,0,701,911),9768=>array(83,0,462,730),9769=>array(83,-1,813,729),9770=>array(87,0,810,730),9771=>array(83,0,814,731),9772=>array(83,0,627,731),9773=>array(83,0,813,730),9774=>array(83,0,813,730),9775=>array(83,0,813,730),9776=>array(83,0,813,729),9777=>array(83,0,814,729),9778=>array(83,0,813,729),9779=>array(83,0,813,729),9780=>array(83,0,813,729),9781=>array(83,0,813,729),9782=>array(83,0,813,729),9783=>array(83,0,813,729),9784=>array(66,-11,831,735),9785=>array(83,-73,959,804),9786=>array(83,-73,959,804),9787=>array(83,-73,959,804),9788=>array(83,0,813,730),9789=>array(358,0,814,730),9790=>array(83,0,539,730),9791=>array(85,-102,528,732),9792=>array(85,-125,647,731),9793=>array(85,-14,647,843),9794=>array(79,-14,831,720),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9800=>array(45,0,851,731),9801=>array(89,0,807,730),9802=>array(94,0,802,731),9803=>array(113,31,784,679),9804=>array(140,0,756,730),9805=>array(53,-180,843,730),9806=>array(83,52,813,653),9807=>array(34,-96,863,730),9808=>array(83,-0,813,730),9809=>array(94,0,802,730),9810=>array(86,153,810,579),9811=>array(157,0,739,730),9812=>array(98,0,798,730),9813=>array(110,0,786,730),9814=>array(167,-1,729,729),9815=>array(214,0,683,730),9816=>array(165,0,732,730),9817=>array(148,-0,748,730),9818=>array(98,0,798,730),9819=>array(110,0,786,730),9820=>array(167,-1,729,729),9821=>array(214,0,683,730),9822=>array(162,0,734,730),9823=>array(148,-0,748,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9832=>array(105,-1,791,729),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),9840=>array(84,0,664,731),9841=>array(64,0,701,731),9842=>array(84,0,813,709),9843=>array(76,16,820,731),9844=>array(76,16,820,731),9845=>array(76,16,820,731),9846=>array(76,16,820,731),9847=>array(76,16,820,731),9848=>array(76,16,820,731),9849=>array(76,16,820,731),9850=>array(76,16,820,731),9851=>array(84,0,812,704),9852=>array(83,0,814,731),9853=>array(83,0,814,731),9854=>array(83,0,814,731),9855=>array(149,1,747,731),9856=>array(73,0,797,725),9857=>array(73,0,797,725),9858=>array(73,0,797,725),9859=>array(73,0,797,725),9860=>array(73,0,797,725),9861=>array(73,0,797,725),9862=>array(83,0,813,731),9863=>array(83,0,813,731),9864=>array(83,0,813,731),9865=>array(83,0,813,731),9866=>array(83,0,813,98),9867=>array(83,0,813,98),9868=>array(83,0,813,413),9869=>array(83,0,813,413),9870=>array(83,0,813,413),9871=>array(83,0,813,413),9872=>array(168,3,728,731),9873=>array(168,3,728,731),9874=>array(52,0,844,731),9875=>array(97,-10,799,732),9876=>array(131,0,765,729),9877=>array(61,-10,479,732),9878=>array(59,-10,837,732),9879=>array(61,0,835,732),9880=>array(145,0,750,732),9881=>array(95,-17,802,727),9882=>array(128,-9,768,733),9883=>array(127,0,769,728),9884=>array(127,0,769,729),9888=>array(49,0,848,729),9889=>array(83,2,619,730),9890=>array(85,-125,919,731),9891=>array(79,-206,1023,720),9892=>array(85,-186,1109,856),9893=>array(85,-125,837,917),9894=>array(131,-14,727,869),9895=>array(101,-170,741,884),9896=>array(188,-14,650,869),9897=>array(4,133,829,596),9898=>array(187,133,651,596),9899=>array(187,133,651,596),9900=>array(247,194,591,537),9901=>array(174,194,664,537),9902=>array(41,169,797,560),9903=>array(5,194,833,536),9904=>array(103,237,757,540),9905=>array(211,42,626,698),9906=>array(85,-125,647,731),9907=>array(168,-125,646,731),9908=>array(86,-125,646,731),9909=>array(86,-125,646,731),9910=>array(59,-118,791,643),9911=>array(194,-104,595,710),9912=>array(158,-125,543,731),9920=>array(42,4,796,553),9921=>array(42,4,796,724),9922=>array(42,4,796,553),9923=>array(42,4,796,724),9954=>array(85,-14,647,843),9985=>array(11,190,803,635),9986=>array(42,141,784,588),9987=>array(11,94,803,539),9988=>array(36,119,824,613),9990=>array(42,-14,796,742),9991=>array(42,-14,796,742),9992=>array(59,21,782,708),9993=>array(64,107,773,622),9996=>array(212,0,561,742),9997=>array(21,83,802,678),9998=>array(89,75,724,710),9999=>array(26,198,819,530),10000=>array(89,75,724,710),10001=>array(43,185,757,544),10002=>array(67,209,757,520),10003=>array(150,97,667,630),10004=>array(116,87,721,631),10005=>array(126,72,711,657),10006=>array(85,31,752,698),10007=>array(118,-9,701,732),10008=>array(123,0,754,739),10009=>array(55,0,783,729),10010=>array(55,0,783,729),10011=>array(55,0,783,729),10012=>array(55,0,783,729),10013=>array(165,0,673,729),10014=>array(131,0,678,729),10015=>array(155,0,683,729),10016=>array(55,0,783,729),10017=>array(91,-13,747,744),10018=>array(41,-14,797,742),10019=>array(42,-12,796,742),10020=>array(41,-14,797,742),10021=>array(41,-13,797,743),10022=>array(42,-14,796,745),10023=>array(42,-14,796,745),10025=>array(23,-10,815,744),10026=>array(42,-14,796,742),10027=>array(23,-9,814,743),10028=>array(23,-10,815,744),10029=>array(23,-9,814,743),10030=>array(23,-9,814,743),10031=>array(23,-9,814,743),10032=>array(24,12,815,714),10033=>array(64,0,773,729),10034=>array(74,0,764,729),10035=>array(55,0,783,729),10036=>array(31,-14,787,742),10037=>array(41,-14,797,742),10038=>array(91,-14,747,742),10039=>array(41,-14,797,742),10040=>array(41,-14,797,742),10041=>array(41,-14,797,742),10042=>array(55,0,783,729),10043=>array(82,-14,756,742),10044=>array(82,-14,756,742),10045=>array(79,-14,759,742),10046=>array(79,-14,759,742),10047=>array(54,0,784,709),10048=>array(54,0,784,709),10049=>array(41,-14,797,742),10050=>array(42,-14,796,742),10051=>array(79,-14,759,742),10052=>array(89,0,749,729),10053=>array(76,0,762,729),10054=>array(63,2,773,729),10055=>array(79,-13,759,742),10056=>array(47,-13,791,730),10057=>array(47,-13,791,730),10058=>array(41,-13,797,743),10059=>array(41,-13,797,743),10061=>array(50,-10,847,738),10063=>array(60,-49,837,729),10064=>array(60,0,837,777),10065=>array(60,-49,837,729),10066=>array(60,0,837,777),10070=>array(83,-2,813,728),10072=>array(377,-240,460,760),10073=>array(336,-240,502,760),10074=>array(253,-240,585,760),10075=>array(85,395,264,729),10076=>array(59,395,237,729),10077=>array(85,395,479,729),10078=>array(59,395,453,729),10081=>array(155,-93,772,851),10082=>array(202,-17,636,742),10083=>array(163,-17,675,742),10084=>array(54,83,784,645),10085=>array(168,-1,729,729),10086=>array(62,21,724,702),10087=>array(78,169,759,564),10088=>array(196,-139,648,769),10089=>array(196,-139,648,769),10090=>array(264,-132,574,758),10091=>array(264,-132,574,758),10092=>array(215,-240,607,760),10093=>array(232,-240,623,760),10094=>array(142,-240,685,760),10095=>array(153,-240,696,760),10096=>array(167,-240,656,760),10097=>array(183,-240,672,760),10098=>array(346,-241,535,760),10099=>array(303,-241,492,760),10100=>array(175,-163,634,760),10101=>array(204,-163,663,760),10102=>array(74,-10,822,738),10103=>array(74,-10,822,738),10104=>array(74,-10,822,738),10105=>array(74,-10,822,738),10106=>array(74,-10,822,738),10107=>array(74,-10,822,738),10108=>array(74,-10,822,738),10109=>array(74,-10,822,738),10110=>array(74,-10,822,738),10111=>array(74,-10,822,738),10112=>array(4,-52,833,780),10113=>array(4,-52,833,780),10114=>array(4,-52,833,780),10115=>array(4,-52,833,780),10116=>array(4,-52,833,780),10117=>array(4,-52,833,780),10118=>array(4,-52,833,780),10119=>array(4,-52,833,780),10120=>array(4,-52,833,780),10121=>array(4,-52,833,780),10122=>array(4,-52,833,780),10123=>array(4,-52,833,780),10124=>array(4,-52,833,780),10125=>array(4,-52,833,780),10126=>array(4,-52,833,780),10127=>array(4,-52,833,780),10128=>array(4,-52,833,780),10129=>array(4,-52,833,780),10130=>array(4,-52,833,780),10131=>array(4,-52,833,780),10132=>array(57,75,789,552),10136=>array(123,55,682,614),10137=>array(57,100,789,527),10138=>array(123,13,682,572),10139=>array(57,129,789,498),10140=>array(57,57,764,570),10141=>array(57,100,789,527),10142=>array(57,100,789,527),10143=>array(57,100,789,527),10144=>array(57,100,789,527),10145=>array(57,65,811,562),10146=>array(111,94,789,533),10147=>array(111,94,789,533),10148=>array(111,-4,789,631),10149=>array(57,100,789,548),10150=>array(57,79,789,527),10151=>array(240,-7,606,634),10152=>array(57,100,789,527),10153=>array(57,75,765,552),10154=>array(57,75,765,552),10155=>array(21,12,794,586),10156=>array(21,12,794,586),10157=>array(135,0,774,574),10158=>array(135,0,774,574),10159=>array(62,49,799,574),10161=>array(62,49,799,574),10162=>array(154,-20,721,585),10163=>array(63,157,789,470),10164=>array(81,55,682,655),10165=>array(57,173,789,454),10166=>array(82,-29,682,572),10167=>array(82,55,682,655),10168=>array(57,172,789,455),10169=>array(82,-28,682,572),10170=>array(56,84,789,543),10171=>array(73,140,779,487),10172=>array(79,167,774,460),10173=>array(79,118,774,509),10174=>array(57,81,789,546),10181=>array(54,-163,352,769),10182=>array(39,-163,336,769),10208=>array(3,-233,491,807),10214=>array(86,-132,398,760),10215=>array(85,-132,398,760),10216=>array(89,-132,310,759),10217=>array(80,-132,301,759),10218=>array(89,-132,476,759),10219=>array(80,-132,467,759),10224=>array(44,0,794,732),10225=>array(43,-3,793,729),10226=>array(39,53,814,658),10227=>array(39,61,814,666),10228=>array(57,-14,1108,643),10229=>array(49,100,1376,527),10230=>array(57,100,1385,527),10231=>array(49,100,1385,527),10232=>array(49,100,1376,527),10233=>array(57,100,1385,527),10234=>array(49,100,1385,527),10235=>array(49,100,1376,527),10236=>array(57,100,1385,527),10237=>array(49,100,1376,527),10238=>array(57,100,1385,527),10239=>array(57,100,1385,527),10241=>array(146,635,293,781),10242=>array(146,358,293,504),10243=>array(146,358,293,781),10244=>array(146,82,293,228),10245=>array(146,82,293,781),10246=>array(146,82,293,504),10247=>array(146,82,293,781),10248=>array(439,635,586,781),10249=>array(146,635,586,781),10250=>array(146,358,586,781),10251=>array(146,358,586,781),10252=>array(146,82,586,781),10253=>array(146,82,586,781),10254=>array(146,82,586,781),10255=>array(146,82,586,781),10256=>array(439,358,586,504),10257=>array(146,358,586,781),10258=>array(146,358,586,504),10259=>array(146,358,586,781),10260=>array(146,82,586,504),10261=>array(146,82,586,781),10262=>array(146,82,586,504),10263=>array(146,82,586,781),10264=>array(439,358,586,781),10265=>array(146,358,586,781),10266=>array(146,358,586,781),10267=>array(146,358,586,781),10268=>array(146,82,586,781),10269=>array(146,82,586,781),10270=>array(146,82,586,781),10271=>array(146,82,586,781),10272=>array(439,82,586,228),10273=>array(146,82,586,781),10274=>array(146,82,586,504),10275=>array(146,82,586,781),10276=>array(146,82,586,228),10277=>array(146,82,586,781),10278=>array(146,82,586,504),10279=>array(146,82,586,781),10280=>array(439,82,586,781),10281=>array(146,82,586,781),10282=>array(146,82,586,781),10283=>array(146,82,586,781),10284=>array(146,82,586,781),10285=>array(146,82,586,781),10286=>array(146,82,586,781),10287=>array(146,82,586,781),10288=>array(439,82,586,504),10289=>array(146,82,586,781),10290=>array(146,82,586,504),10291=>array(146,82,586,781),10292=>array(146,82,586,504),10293=>array(146,82,586,781),10294=>array(146,82,586,504),10295=>array(146,82,586,781),10296=>array(439,82,586,781),10297=>array(146,82,586,781),10298=>array(146,82,586,781),10299=>array(146,82,586,781),10300=>array(146,82,586,781),10301=>array(146,82,586,781),10302=>array(146,82,586,781),10303=>array(146,82,586,781),10304=>array(146,-195,293,-49),10305=>array(146,-195,293,781),10306=>array(146,-195,293,504),10307=>array(146,-195,293,781),10308=>array(146,-195,293,228),10309=>array(146,-195,293,781),10310=>array(146,-195,293,504),10311=>array(146,-195,293,781),10312=>array(146,-195,586,781),10313=>array(146,-195,586,781),10314=>array(146,-195,586,781),10315=>array(146,-195,586,781),10316=>array(146,-195,586,781),10317=>array(146,-195,586,781),10318=>array(146,-195,586,781),10319=>array(146,-195,586,781),10320=>array(146,-195,586,504),10321=>array(146,-195,586,781),10322=>array(146,-195,586,504),10323=>array(146,-195,586,781),10324=>array(146,-195,586,504),10325=>array(146,-195,586,781),10326=>array(146,-195,586,504),10327=>array(146,-195,586,781),10328=>array(146,-195,586,781),10329=>array(146,-195,586,781),10330=>array(146,-195,586,781),10331=>array(146,-195,586,781),10332=>array(146,-195,586,781),10333=>array(146,-195,586,781),10334=>array(146,-195,586,781),10335=>array(146,-195,586,781),10336=>array(146,-195,586,228),10337=>array(146,-195,586,781),10338=>array(146,-195,586,504),10339=>array(146,-195,586,781),10340=>array(146,-195,586,228),10341=>array(146,-195,586,781),10342=>array(146,-195,586,504),10343=>array(146,-195,586,781),10344=>array(146,-195,586,781),10345=>array(146,-195,586,781),10346=>array(146,-195,586,781),10347=>array(146,-195,586,781),10348=>array(146,-195,586,781),10349=>array(146,-195,586,781),10350=>array(146,-195,586,781),10351=>array(146,-195,586,781),10352=>array(146,-195,586,504),10353=>array(146,-195,586,781),10354=>array(146,-195,586,504),10355=>array(146,-195,586,781),10356=>array(146,-195,586,504),10357=>array(146,-195,586,781),10358=>array(146,-195,586,504),10359=>array(146,-195,586,781),10360=>array(146,-195,586,781),10361=>array(146,-195,586,781),10362=>array(146,-195,586,781),10363=>array(146,-195,586,781),10364=>array(146,-195,586,781),10365=>array(146,-195,586,781),10366=>array(146,-195,586,781),10367=>array(146,-195,586,781),10368=>array(439,-195,586,-49),10369=>array(146,-195,586,781),10370=>array(146,-195,586,504),10371=>array(146,-195,586,781),10372=>array(146,-195,586,228),10373=>array(146,-195,586,781),10374=>array(146,-195,586,504),10375=>array(146,-195,586,781),10376=>array(439,-195,586,781),10377=>array(146,-195,586,781),10378=>array(146,-195,586,781),10379=>array(146,-195,586,781),10380=>array(146,-195,586,781),10381=>array(146,-195,586,781),10382=>array(146,-195,586,781),10383=>array(146,-195,586,781),10384=>array(439,-195,586,504),10385=>array(146,-195,586,781),10386=>array(146,-195,586,504),10387=>array(146,-195,586,781),10388=>array(146,-195,586,504),10389=>array(146,-195,586,781),10390=>array(146,-195,586,504),10391=>array(146,-195,586,781),10392=>array(439,-195,586,781),10393=>array(146,-195,586,781),10394=>array(146,-195,586,781),10395=>array(146,-195,586,781),10396=>array(146,-195,586,781),10397=>array(146,-195,586,781),10398=>array(146,-195,586,781),10399=>array(146,-195,586,781),10400=>array(439,-195,586,228),10401=>array(146,-195,586,781),10402=>array(146,-195,586,504),10403=>array(146,-195,586,781),10404=>array(146,-195,586,228),10405=>array(146,-195,586,781),10406=>array(146,-195,586,504),10407=>array(146,-195,586,781),10408=>array(439,-195,586,781),10409=>array(146,-195,586,781),10410=>array(146,-195,586,781),10411=>array(146,-195,586,781),10412=>array(146,-195,586,781),10413=>array(146,-195,586,781),10414=>array(146,-195,586,781),10415=>array(146,-195,586,781),10416=>array(439,-195,586,504),10417=>array(146,-195,586,781),10418=>array(146,-195,586,504),10419=>array(146,-195,586,781),10420=>array(146,-195,586,504),10421=>array(146,-195,586,781),10422=>array(146,-195,586,504),10423=>array(146,-195,586,781),10424=>array(439,-195,586,781),10425=>array(146,-195,586,781),10426=>array(146,-195,586,781),10427=>array(146,-195,586,781),10428=>array(146,-195,586,781),10429=>array(146,-195,586,781),10430=>array(146,-195,586,781),10431=>array(146,-195,586,781),10432=>array(146,-195,586,-49),10433=>array(146,-195,586,781),10434=>array(146,-195,586,504),10435=>array(146,-195,586,781),10436=>array(146,-195,586,228),10437=>array(146,-195,586,781),10438=>array(146,-195,586,504),10439=>array(146,-195,586,781),10440=>array(146,-195,586,781),10441=>array(146,-195,586,781),10442=>array(146,-195,586,781),10443=>array(146,-195,586,781),10444=>array(146,-195,586,781),10445=>array(146,-195,586,781),10446=>array(146,-195,586,781),10447=>array(146,-195,586,781),10448=>array(146,-195,586,504),10449=>array(146,-195,586,781),10450=>array(146,-195,586,504),10451=>array(146,-195,586,781),10452=>array(146,-195,586,504),10453=>array(146,-195,586,781),10454=>array(146,-195,586,504),10455=>array(146,-195,586,781),10456=>array(146,-195,586,781),10457=>array(146,-195,586,781),10458=>array(146,-195,586,781),10459=>array(146,-195,586,781),10460=>array(146,-195,586,781),10461=>array(146,-195,586,781),10462=>array(146,-195,586,781),10463=>array(146,-195,586,781),10464=>array(146,-195,586,228),10465=>array(146,-195,586,781),10466=>array(146,-195,586,504),10467=>array(146,-195,586,781),10468=>array(146,-195,586,228),10469=>array(146,-195,586,781),10470=>array(146,-195,586,504),10471=>array(146,-195,586,781),10472=>array(146,-195,586,781),10473=>array(146,-195,586,781),10474=>array(146,-195,586,781),10475=>array(146,-195,586,781),10476=>array(146,-195,586,781),10477=>array(146,-195,586,781),10478=>array(146,-195,586,781),10479=>array(146,-195,586,781),10480=>array(146,-195,586,504),10481=>array(146,-195,586,781),10482=>array(146,-195,586,504),10483=>array(146,-195,586,781),10484=>array(146,-195,586,504),10485=>array(146,-195,586,781),10486=>array(146,-195,586,504),10487=>array(146,-195,586,781),10488=>array(146,-195,586,781),10489=>array(146,-195,586,781),10490=>array(146,-195,586,781),10491=>array(146,-195,586,781),10492=>array(146,-195,586,781),10493=>array(146,-195,586,781),10494=>array(146,-195,586,781),10495=>array(146,-195,586,781),10502=>array(49,100,781,527),10503=>array(57,100,789,527),10506=>array(125,0,713,732),10507=>array(125,-3,713,729),10560=>array(39,63,644,838),10561=>array(39,63,644,838),10627=>array(125,-163,609,760),10628=>array(125,-163,609,760),10702=>array(106,-226,732,747),10703=>array(106,15,894,612),10704=>array(106,15,894,612),10705=>array(106,-30,894,657),10706=>array(106,-30,894,657),10707=>array(106,-30,894,657),10708=>array(106,-30,894,657),10709=>array(106,-30,894,657),10731=>array(3,-233,491,807),10746=>array(106,0,732,627),10747=>array(106,0,732,627),10752=>array(28,-198,972,748),10753=>array(28,-198,972,748),10754=>array(28,-198,972,748),10764=>array(57,-212,1268,757),10765=>array(57,-212,464,757),10766=>array(57,-212,464,757),10767=>array(57,-212,464,757),10768=>array(57,-212,464,757),10769=>array(57,-212,522,757),10770=>array(57,-212,464,757),10771=>array(57,-212,464,757),10772=>array(57,-212,555,757),10773=>array(57,-212,464,757),10774=>array(57,-212,464,757),10775=>array(-32,-212,553,757),10776=>array(57,-212,464,757),10777=>array(57,-212,464,757),10778=>array(57,-212,464,757),10779=>array(57,-212,469,872),10780=>array(52,-327,464,757),10799=>array(137,31,701,596),10858=>array(106,228,732,552),10859=>array(106,78,732,552),10877=>array(106,-123,732,581),10878=>array(106,-123,732,581),10879=>array(106,-123,733,581),10880=>array(106,-123,732,581),10881=>array(106,-123,732,644),10882=>array(106,-123,732,644),10883=>array(106,-123,733,759),10884=>array(106,-123,732,756),10885=>array(106,-132,732,663),10886=>array(106,-132,732,663),10887=>array(106,-121,732,582),10888=>array(106,-121,732,582),10889=>array(106,-204,732,663),10890=>array(106,-204,732,663),10891=>array(106,-311,732,791),10892=>array(106,-311,732,791),10893=>array(106,-124,732,663),10894=>array(106,-124,732,663),10895=>array(106,-241,732,756),10896=>array(106,-241,732,756),10897=>array(106,-229,732,730),10898=>array(106,-229,732,730),10899=>array(106,-224,732,741),10900=>array(106,-224,732,741),10901=>array(106,-61,732,644),10902=>array(106,-61,732,644),10903=>array(106,-61,733,644),10904=>array(106,-61,732,644),10905=>array(106,-36,732,685),10906=>array(106,-36,732,685),10907=>array(106,-31,732,725),10908=>array(106,-31,732,725),10909=>array(106,8,732,645),10910=>array(106,23,732,645),10911=>array(106,-176,732,729),10912=>array(106,-176,732,729),10926=>array(106,50,732,601),10927=>array(106,-24,732,667),10928=>array(106,-24,732,667),10929=>array(106,-145,732,667),10930=>array(106,-145,732,667),10931=>array(106,-121,732,662),10932=>array(106,-121,732,662),10933=>array(106,-195,732,662),10934=>array(106,-195,732,662),10935=>array(106,-191,732,693),10936=>array(106,-191,732,693),10937=>array(106,-259,732,693),10938=>array(106,-259,732,693),11001=>array(106,-171,732,585),11002=>array(106,-171,732,585),11008=>array(88,-27,703,587),11009=>array(141,-27,755,587),11010=>array(88,25,703,640),11011=>array(141,25,755,640),11012=>array(27,65,789,562),11013=>array(27,65,781,562),11014=>array(171,0,667,754),11015=>array(171,-25,667,729),11016=>array(88,-27,703,587),11017=>array(141,-27,755,587),11018=>array(88,25,703,640),11019=>array(141,25,755,640),11020=>array(27,65,789,562),11021=>array(171,-25,667,754),11022=>array(57,-3,790,355),11023=>array(57,272,790,630),11024=>array(35,-3,768,355),11025=>array(35,272,768,630),11026=>array(91,-123,854,643),11027=>array(91,-123,854,643),11028=>array(91,-123,854,643),11029=>array(91,-123,854,643),11030=>array(3,-123,766,643),11031=>array(3,-123,766,643),11032=>array(3,-123,766,643),11033=>array(3,-123,766,643),11034=>array(91,-123,854,643),11039=>array(18,-26,852,767),11040=>array(18,-26,852,767),11041=>array(73,-91,800,748),11042=>array(73,-91,800,748),11043=>array(17,-35,856,692),11044=>array(55,-250,1064,770),11091=>array(38,-47,832,788),11092=>array(38,-47,832,788),11360=>array(5,0,552,729),11361=>array(5,0,271,760),11362=>array(-20,0,552,729),11363=>array(5,0,569,729),11364=>array(98,-200,666,729),11365=>array(35,-46,576,592),11366=>array(-12,-93,384,822),11367=>array(98,-157,752,729),11368=>array(91,-138,639,760),11369=>array(98,-157,677,729),11370=>array(91,-138,576,760),11371=>array(45,-157,738,729),11372=>array(43,-138,572,547),11373=>array(56,-14,683,743),11374=>array(98,-200,765,729),11375=>array(8,0,676,729),11376=>array(56,-14,683,743),11377=>array(30,0,734,560),11378=>array(33,0,1128,742),11379=>array(42,0,961,560),11380=>array(51,0,562,587),11381=>array(98,0,555,729),11382=>array(94,0,477,547),11383=>array(55,-12,602,551),11385=>array(0,-13,320,760),11386=>array(55,-14,557,560),11387=>array(48,0,400,547),11388=>array(-11,-117,116,425),11389=>array(5,326,426,734),11390=>array(66,-242,598,742),11391=>array(45,-242,640,729),11520=>array(60,-63,544,547),11521=>array(24,-235,556,546),11522=>array(39,-235,535,546),11523=>array(62,-10,572,807),11524=>array(51,-235,537,546),11525=>array(39,-236,862,546),11526=>array(0,-8,575,816),11527=>array(53,0,900,546),11528=>array(69,0,542,546),11529=>array(51,-235,556,816),11530=>array(39,0,903,546),11531=>array(53,-8,595,816),11532=>array(39,0,544,816),11533=>array(51,0,887,546),11534=>array(51,0,556,546),11535=>array(69,-235,767,816),11536=>array(51,0,880,816),11537=>array(51,0,545,816),11538=>array(50,-235,536,546),11539=>array(51,-235,884,661),11540=>array(60,-235,892,546),11541=>array(49,-235,784,816),11542=>array(39,0,545,546),11543=>array(51,-235,556,547),11544=>array(51,-235,551,546),11545=>array(39,-235,541,816),11546=>array(42,-235,532,547),11547=>array(60,-9,596,816),11548=>array(39,-235,870,547),11549=>array(29,-235,545,546),11550=>array(47,-235,547,546),11551=>array(34,-235,547,567),11552=>array(39,0,875,546),11553=>array(49,-235,544,816),11554=>array(60,0,538,626),11555=>array(61,-235,553,816),11556=>array(51,-235,603,546),11557=>array(60,-8,841,816),11568=>array(55,-14,591,380),11569=>array(56,-14,832,742),11570=>array(56,-14,832,742),11571=>array(31,0,651,729),11572=>array(33,0,652,729),11573=>array(31,0,604,729),11574=>array(73,0,488,729),11575=>array(8,0,676,729),11576=>array(8,0,676,729),11577=>array(98,0,568,729),11578=>array(64,0,534,729),11579=>array(73,-14,609,742),11580=>array(107,0,811,729),11581=>array(45,0,665,729),11582=>array(73,0,437,729),11583=>array(45,0,665,729),11584=>array(56,-14,832,742),11585=>array(56,-52,832,781),11586=>array(73,0,197,729),11587=>array(20,0,610,729),11588=>array(98,0,654,729),11589=>array(30,0,654,729),11590=>array(73,0,454,729),11591=>array(45,0,629,729),11592=>array(73,301,571,426),11593=>array(98,0,568,729),11594=>array(54,0,448,729),11595=>array(54,-15,899,742),11596=>array(54,0,725,729),11597=>array(98,0,650,729),11598=>array(100,0,566,729),11599=>array(98,0,197,729),11600=>array(54,0,725,729),11601=>array(98,0,198,729),11602=>array(78,-14,705,729),11603=>array(48,-14,584,742),11604=>array(56,-14,832,742),11605=>array(56,-54,832,742),11606=>array(98,0,654,729),11607=>array(98,0,222,729),11608=>array(73,0,676,729),11609=>array(56,-14,832,742),11610=>array(56,-14,832,780),11611=>array(56,-14,681,742),11612=>array(49,0,719,729),11613=>array(30,0,654,729),11614=>array(56,-14,681,742),11615=>array(98,0,568,729),11616=>array(8,0,676,729),11617=>array(98,0,654,729),11618=>array(98,0,559,729),11619=>array(56,0,732,729),11620=>array(98,0,495,729),11621=>array(56,0,732,729),11631=>array(26,522,489,729),11800=>array(70,-14,459,728),11806=>array(106,78,732,399),11810=>array(86,403,293,760),11811=>array(97,403,304,760),11812=>array(86,-132,293,225),11813=>array(97,-132,304,225),11822=>array(72,0,461,742),19904=>array(83,-158,813,729),19905=>array(83,-158,813,729),19906=>array(83,-158,813,729),19907=>array(83,-158,813,729),19908=>array(83,-158,813,729),19909=>array(83,-158,813,729),19910=>array(83,-158,813,729),19911=>array(83,-158,813,729),19912=>array(83,-158,813,729),19913=>array(83,-158,814,729),19914=>array(83,-158,813,729),19915=>array(83,-158,813,729),19916=>array(83,-158,813,729),19917=>array(83,-158,813,729),19918=>array(83,-158,813,729),19919=>array(83,-158,813,729),19920=>array(83,-158,814,729),19921=>array(83,-158,813,729),19922=>array(83,-158,814,729),19923=>array(83,-158,813,729),19924=>array(83,-158,813,729),19925=>array(83,-158,813,729),19926=>array(83,-158,813,729),19927=>array(83,-158,813,729),19928=>array(83,-158,813,729),19929=>array(83,-158,813,729),19930=>array(83,-158,813,729),19931=>array(83,-158,814,729),19932=>array(83,-158,813,729),19933=>array(83,-158,813,729),19934=>array(83,-158,814,729),19935=>array(83,-158,813,729),19936=>array(83,-158,813,729),19937=>array(83,-158,813,729),19938=>array(83,-158,813,729),19939=>array(83,-158,813,729),19940=>array(83,-158,813,729),19941=>array(83,-158,814,729),19942=>array(83,-158,813,729),19943=>array(83,-158,813,729),19944=>array(83,-158,814,729),19945=>array(83,-158,813,729),19946=>array(83,-158,814,729),19947=>array(83,-158,813,729),19948=>array(83,-158,814,729),19949=>array(83,-158,813,729),19950=>array(83,-158,814,729),19951=>array(83,-158,813,729),19952=>array(83,-158,814,729),19953=>array(83,-158,813,729),19954=>array(83,-158,813,729),19955=>array(83,-158,813,729),19956=>array(83,-158,813,729),19957=>array(83,-158,814,729),19958=>array(83,-158,813,729),19959=>array(83,-158,813,729),19960=>array(83,-158,813,729),19961=>array(83,-158,814,729),19962=>array(83,-158,813,729),19963=>array(83,-158,814,729),19964=>array(83,-158,814,729),19965=>array(83,-158,813,729),19966=>array(83,-158,813,729),19967=>array(83,-158,813,729),42192=>array(98,0,615,729),42193=>array(98,0,569,729),42194=>array(34,0,505,729),42195=>array(98,0,711,729),42196=>array(-3,0,614,729),42197=>array(-3,0,614,729),42198=>array(56,-14,693,742),42199=>array(98,0,677,729),42200=>array(-21,0,558,729),42201=>array(0,-14,414,729),42202=>array(56,-14,644,742),42203=>array(56,-14,644,742),42204=>array(45,0,640,729),42205=>array(98,0,517,729),42206=>array(98,0,517,729),42207=>array(98,0,765,729),42208=>array(98,0,650,729),42209=>array(98,0,552,729),42210=>array(66,-14,579,742),42211=>array(98,0,666,729),42212=>array(29,0,597,729),42213=>array(8,0,676,729),42214=>array(8,0,676,729),42215=>array(98,0,654,729),42216=>array(80,-14,716,742),42217=>array(98,0,512,743),42218=>array(33,0,956,729),42219=>array(30,0,654,729),42220=>array(-2,0,613,729),42221=>array(71,0,588,729),42222=>array(8,0,676,729),42223=>array(8,0,676,729),42224=>array(98,0,568,729),42225=>array(64,0,534,729),42226=>array(98,0,197,729),42227=>array(56,-14,731,742),42228=>array(87,-14,645,729),42229=>array(87,0,645,743),42230=>array(4,0,458,729),42231=>array(56,0,669,729),42232=>array(85,0,214,155),42233=>array(71,-156,214,155),42234=>array(85,0,511,155),42235=>array(85,-156,511,155),42236=>array(71,-156,214,517),42237=>array(85,0,214,517),42238=>array(85,0,502,354),42239=>array(85,172,502,454),42564=>array(56,-14,569,742),42565=>array(49,-14,467,560),42566=>array(98,0,347,729),42567=>array(81,0,304,547),42572=>array(58,-14,1122,645),42573=>array(74,-14,954,471),42576=>array(29,0,931,729),42577=>array(30,0,817,560),42580=>array(56,-14,977,742),42581=>array(55,-14,748,560),42582=>array(103,0,968,729),42583=>array(94,-14,752,560),42594=>array(49,-157,1004,729),42595=>array(52,-138,863,547),42596=>array(41,0,1008,729),42597=>array(37,0,852,547),42598=>array(98,0,1120,729),42599=>array(91,0,959,547),42600=>array(56,-14,731,742),42601=>array(55,-14,557,560),42602=>array(56,-14,799,742),42603=>array(55,-14,658,560),42604=>array(56,-14,1302,742),42605=>array(55,-14,964,560),42606=>array(28,-208,851,743),42634=>array(-3,-200,758,729),42635=>array(29,-208,660,547),42636=>array(-3,0,614,729),42637=>array(29,0,553,547),42644=>array(85,0,587,729),42645=>array(91,0,549,760),42760=>array(104,0,389,668),42761=>array(104,0,389,668),42762=>array(104,0,389,668),42763=>array(104,0,389,668),42764=>array(104,0,389,668),42765=>array(104,0,389,668),42766=>array(104,0,389,668),42767=>array(104,0,389,668),42768=>array(104,0,389,668),42769=>array(104,0,389,668),42770=>array(104,0,389,668),42771=>array(104,0,389,668),42772=>array(104,0,389,668),42773=>array(104,0,389,668),42774=>array(104,0,389,668),42779=>array(50,326,319,736),42780=>array(50,324,319,734),42781=>array(95,326,158,734),42782=>array(95,326,158,734),42783=>array(95,0,158,408),42786=>array(67,0,350,729),42787=>array(67,0,321,547),42788=>array(56,224,411,742),42789=>array(56,42,411,560),42790=>array(98,-200,654,729),42791=>array(91,-208,549,760),42792=>array(-3,-213,819,729),42793=>array(27,-213,650,702),42794=>array(80,-14,560,742),42795=>array(65,-200,473,561),42800=>array(91,0,437,547),42801=>array(54,-14,472,560),42802=>array(8,0,1241,729),42803=>array(60,-14,894,560),42804=>array(8,-14,1147,742),42805=>array(60,-14,935,560),42806=>array(8,-14,1055,729),42807=>array(60,-14,890,560),42808=>array(8,0,963,729),42809=>array(60,-14,788,560),42810=>array(8,0,963,729),42811=>array(60,-14,788,560),42812=>array(8,-208,951,729),42813=>array(60,-208,788,560),42814=>array(56,-14,644,742),42815=>array(62,-14,495,560),42816=>array(5,0,677,729),42817=>array(7,0,580,760),42822=>array(98,0,675,729),42823=>array(94,0,298,760),42824=>array(41,0,576,729),42825=>array(59,0,368,760),42826=>array(5,-14,802,742),42827=>array(5,-14,694,560),42830=>array(56,-14,1302,742),42831=>array(55,-14,964,560),42832=>array(5,0,569,729),42833=>array(-2,-208,580,560),42834=>array(24,0,700,729),42835=>array(24,-208,720,560),42838=>array(56,-178,731,742),42839=>array(55,-208,637,560),42852=>array(5,0,569,729),42853=>array(-2,-208,580,760),42854=>array(5,0,569,729),42855=>array(-2,-208,580,760),42880=>array(5,0,459,729),42881=>array(94,-208,184,560),42882=>array(98,-208,637,742),42883=>array(91,-208,549,560),42889=>array(117,0,220,517),42890=>array(78,161,298,380),42891=>array(151,235,250,729),42892=>array(96,458,179,729),42893=>array(85,0,587,729),42894=>array(38,-208,416,760),42896=>array(98,-157,733,729),42897=>array(91,-138,621,560),42912=>array(2,-14,778,742),42913=>array(2,-208,633,560),42914=>array(2,0,677,729),42915=>array(2,0,577,760),42916=>array(2,0,746,729),42917=>array(2,0,633,560),42918=>array(2,0,693,729),42919=>array(2,0,411,560),42920=>array(2,-14,633,742),42921=>array(2,-14,519,560),42922=>array(-51,0,703,729),43002=>array(91,0,824,547),43003=>array(58,0,477,729),43004=>array(34,0,505,729),43005=>array(98,0,765,729),43006=>array(98,0,197,928),43007=>array(33,0,1167,729),61184=>array(95,602,323,668),61185=>array(69,451,342,668),61186=>array(54,301,361,668),61187=>array(47,150,368,668),61188=>array(44,0,372,668),61189=>array(69,451,342,668),61190=>array(95,451,323,518),61191=>array(69,301,342,518),61192=>array(54,150,361,518),61193=>array(47,0,368,518),61194=>array(54,301,361,668),61195=>array(69,301,342,518),61196=>array(95,301,323,367),61197=>array(69,150,342,367),61198=>array(54,0,361,367),61199=>array(47,150,368,668),61200=>array(54,150,361,518),61201=>array(69,150,342,367),61202=>array(95,150,323,217),61203=>array(69,0,342,217),61204=>array(44,0,372,668),61205=>array(47,0,368,518),61206=>array(54,0,361,367),61207=>array(69,0,342,217),61208=>array(95,0,323,66),61209=>array(104,0,171,668),61440=>array(73,0,903,732),61441=>array(73,0,903,732),61442=>array(73,0,903,732),61443=>array(73,0,903,732),62464=>array(54,-15,526,828),62465=>array(54,-15,526,828),62466=>array(54,-15,570,837),62467=>array(54,0,835,837),62468=>array(54,-15,526,837),62469=>array(54,-15,526,837),62470=>array(54,-15,599,837),62471=>array(54,-15,828,837),62472=>array(54,0,501,837),62473=>array(54,-15,526,828),62474=>array(54,0,1115,837),62475=>array(54,-15,525,837),62476=>array(63,-15,536,828),62477=>array(54,0,815,837),62478=>array(54,-15,526,828),62479=>array(54,-15,526,844),62480=>array(54,0,860,837),62481=>array(63,-15,536,828),62482=>array(54,-15,677,837),62483=>array(24,-15,519,837),62484=>array(54,-15,818,837),62485=>array(54,-15,526,828),62486=>array(54,-15,841,837),62487=>array(54,-15,525,829),62488=>array(54,-15,525,837),62489=>array(64,0,536,837),62490=>array(55,-15,595,828),62491=>array(54,-15,525,828),62492=>array(64,-15,536,837),62493=>array(54,-15,545,828),62494=>array(63,-15,536,828),62495=>array(24,-15,492,837),62496=>array(54,-15,526,837),62497=>array(59,-15,530,837),62498=>array(54,-79,526,837),62499=>array(54,-15,525,838),62500=>array(54,-15,532,838),62501=>array(54,-15,594,837),62502=>array(54,-15,901,838),62504=>array(60,-235,872,816),62505=>array(49,-230,759,853),62506=>array(49,-15,459,765),62507=>array(49,-15,459,777),62508=>array(49,-15,459,875),62509=>array(49,-15,459,818),62510=>array(49,-15,459,887),62511=>array(49,-15,459,809),62512=>array(49,-236,449,765),62513=>array(49,-236,449,799),62514=>array(49,-236,449,901),62515=>array(49,-236,449,809),62516=>array(49,0,469,765),62517=>array(49,0,469,799),62518=>array(49,0,469,809),62519=>array(49,-0,737,765),62520=>array(49,-0,737,777),62521=>array(49,-0,737,895),62522=>array(49,-0,737,799),62523=>array(49,-0,737,809),62524=>array(29,-236,488,765),62525=>array(29,-236,488,777),62526=>array(29,-236,488,904),62527=>array(29,-236,488,799),62528=>array(29,-236,488,809),62529=>array(29,-236,488,852),63173=>array(55,-14,557,760),64256=>array(23,0,708,760),64257=>array(23,0,536,760),64258=>array(23,0,536,760),64259=>array(23,0,873,760),64260=>array(23,0,873,760),64261=>array(23,0,662,760),64262=>array(54,-14,837,742),64275=>array(83,-14,1111,760),64276=>array(85,-14,1111,760),64277=>array(85,-208,1111,760),64278=>array(85,-208,1111,760),64279=>array(85,-208,1451,760),64285=>array(66,44,157,547),64286=>array(167,625,473,765),64287=>array(36,44,329,547),64288=>array(38,0,562,547),64289=>array(85,0,772,547),64290=>array(43,0,717,547),64291=>array(91,0,764,547),64292=>array(43,0,716,547),64293=>array(43,0,716,760),64294=>array(91,0,764,547),64295=>array(43,0,716,547),64296=>array(47,-4,716,547),64297=>array(106,272,732,627),64298=>array(43,0,666,698),64299=>array(38,0,666,698),64300=>array(43,0,666,698),64301=>array(43,0,666,698),64302=>array(91,-159,578,547),64303=>array(91,-193,578,547),64304=>array(91,-159,578,547),64305=>array(43,0,535,547),64306=>array(43,-5,383,547),64307=>array(43,0,511,547),64308=>array(91,0,563,547),64309=>array(43,0,265,547),64310=>array(43,0,363,547),64312=>array(90,-14,593,552),64313=>array(43,204,264,547),64314=>array(43,-208,446,547),64315=>array(43,0,474,547),64316=>array(43,0,492,729),64318=>array(43,0,588,555),64320=>array(43,0,309,547),64321=>array(90,-14,593,547),64323=>array(91,-208,549,547),64324=>array(91,0,569,547),64326=>array(43,0,502,547),64327=>array(91,-208,633,546),64328=>array(43,0,474,547),64329=>array(43,0,666,547),64330=>array(10,-4,566,547),64331=>array(91,0,182,698),64332=>array(43,0,535,698),64333=>array(43,0,474,698),64334=>array(91,0,569,698),64335=>array(43,0,571,760),64338=>array(63,-244,865,327),64339=>array(63,-244,992,327),64340=>array(-10,-244,191,293),64341=>array(-10,-244,312,293),64342=>array(63,-244,865,327),64343=>array(63,-244,992,327),64344=>array(-10,-244,244,293),64345=>array(-10,-244,312,293),64346=>array(63,-244,865,327),64347=>array(63,-244,992,327),64348=>array(-10,-244,244,293),64349=>array(-10,-244,312,293),64350=>array(63,-10,865,513),64351=>array(63,-10,992,513),64352=>array(-10,0,191,610),64353=>array(-10,0,312,610),64354=>array(63,-10,865,513),64355=>array(63,-10,992,513),64356=>array(-10,0,244,610),64357=>array(-10,0,312,610),64358=>array(63,-10,865,575),64359=>array(63,-10,992,575),64360=>array(-10,0,273,672),64361=>array(-10,0,312,672),64362=>array(63,-45,952,757),64363=>array(63,-44,1045,659),64364=>array(-10,0,406,757),64365=>array(-10,0,516,684),64366=>array(63,-45,952,757),64367=>array(63,-44,1045,659),64368=>array(-10,0,406,757),64369=>array(-10,0,516,684),64370=>array(77,-244,645,425),64371=>array(77,-244,655,425),64372=>array(-10,-220,545,398),64373=>array(-10,-220,655,398),64374=>array(77,-244,645,425),64375=>array(77,-244,655,425),64376=>array(-10,-98,545,398),64377=>array(-10,-98,655,398),64378=>array(77,-244,645,425),64379=>array(77,-244,655,425),64380=>array(-10,-220,545,398),64381=>array(-10,-220,655,398),64382=>array(77,-244,645,425),64383=>array(77,-244,655,425),64384=>array(-10,-220,545,398),64385=>array(-10,-220,655,398),64386=>array(61,-146,388,415),64387=>array(61,-146,535,415),64388=>array(61,-19,388,586),64389=>array(61,-19,535,586),64390=>array(61,-19,388,708),64391=>array(61,-19,535,708),64392=>array(61,-19,388,746),64393=>array(61,-19,535,746),64394=>array(-42,-244,439,586),64395=>array(-42,-244,562,586),64396=>array(-42,-244,469,648),64397=>array(-42,-244,562,648),64398=>array(63,-43,895,760),64399=>array(63,-43,981,760),64400=>array(-10,0,476,760),64401=>array(-10,0,562,760),64402=>array(63,-43,895,896),64403=>array(63,-43,981,896),64404=>array(-10,0,476,896),64405=>array(-10,0,562,896),64406=>array(63,-293,895,896),64407=>array(63,-293,981,896),64408=>array(-10,-269,476,896),64409=>array(-10,-269,562,896),64410=>array(63,-43,895,903),64411=>array(63,-43,981,903),64412=>array(-10,0,476,903),64413=>array(-10,0,562,903),64414=>array(72,-162,660,366),64415=>array(72,-244,771,284),64416=>array(72,-162,660,636),64417=>array(72,-244,771,514),64418=>array(-10,0,273,672),64419=>array(-10,0,312,672),64426=>array(70,-33,638,487),64427=>array(70,-244,642,333),64428=>array(-10,-33,467,487),64429=>array(-10,-244,471,333),64467=>array(70,-27,722,854),64468=>array(70,-27,853,854),64469=>array(-10,0,476,928),64470=>array(-10,0,562,928),64473=>array(-42,-244,406,556),64474=>array(-42,-244,526,556),64488=>array(-10,0,191,293),64489=>array(-10,0,312,293),64508=>array(63,-131,719,411),64509=>array(63,-133,843,251),64510=>array(-10,-146,244,293),64511=>array(-10,-146,312,293),65056=>array(-445,752,0,929),65057=>array(0,752,445,929),65058=>array(-354,756,0,894),65059=>array(0,756,354,894),65136=>array(4,591,289,825),65137=>array(-10,0,303,825),65138=>array(4,591,289,874),65139=>array(51,0,271,177),65140=>array(4,-239,289,-5),65142=>array(4,591,289,708),65143=>array(-10,0,303,708),65144=>array(4,590,289,874),65145=>array(-10,0,303,874),65146=>array(4,-137,289,-20),65147=>array(-10,-137,303,90),65148=>array(-6,599,299,869),65149=>array(-10,0,303,869),65150=>array(12,610,279,878),65151=>array(-10,0,303,878),65152=>array(80,42,390,483),65153=>array(-37,0,315,939),65154=>array(-37,0,315,939),65155=>array(53,0,220,1028),65156=>array(53,0,314,1028),65157=>array(-42,-244,406,588),65158=>array(-42,-244,526,588),65159=>array(53,-244,220,760),65160=>array(53,-244,314,760),65161=>array(63,-131,719,588),65162=>array(63,-133,843,466),65163=>array(-10,0,227,613),65164=>array(-10,0,312,613),65165=>array(94,0,184,760),65166=>array(94,0,314,760),65167=>array(63,-171,865,327),65168=>array(63,-171,992,327),65169=>array(-10,-146,191,293),65170=>array(-10,-146,312,293),65171=>array(68,-28,453,513),65172=>array(71,0,546,513),65173=>array(63,-10,865,391),65174=>array(63,-10,992,391),65175=>array(-10,0,244,488),65176=>array(-10,0,312,488),65177=>array(63,-10,865,513),65178=>array(63,-10,992,513),65179=>array(-10,0,244,610),65180=>array(-10,0,312,610),65181=>array(77,-244,645,425),65182=>array(77,-244,655,425),65183=>array(-10,-146,545,398),65184=>array(-10,-146,655,398),65185=>array(77,-244,645,425),65186=>array(77,-244,655,425),65187=>array(-10,0,545,398),65188=>array(-10,0,655,398),65189=>array(77,-244,645,586),65190=>array(77,-244,655,586),65191=>array(-10,0,545,537),65192=>array(-10,0,655,537),65193=>array(61,-19,388,415),65194=>array(61,-19,535,415),65195=>array(61,-19,388,586),65196=>array(61,-19,535,586),65197=>array(-42,-244,423,269),65198=>array(-42,-244,562,269),65199=>array(-42,-244,423,464),65200=>array(-42,-244,562,464),65201=>array(63,-244,1138,366),65202=>array(63,-244,1285,366),65203=>array(-10,-14,755,366),65204=>array(-10,-14,902,366),65205=>array(63,-244,1138,586),65206=>array(63,-244,1285,586),65207=>array(-10,-14,755,586),65208=>array(-10,-14,902,586),65209=>array(63,-244,1134,362),65210=>array(63,-244,1235,362),65211=>array(-10,0,774,362),65212=>array(-10,0,877,362),65213=>array(63,-244,1134,464),65214=>array(63,-244,1235,464),65215=>array(-10,0,774,464),65216=>array(-10,0,877,464),65217=>array(70,0,857,760),65218=>array(70,0,959,760),65219=>array(-10,0,729,760),65220=>array(-10,0,830,760),65221=>array(70,0,857,760),65222=>array(70,0,959,760),65223=>array(-10,0,729,760),65224=>array(-10,0,830,760),65225=>array(57,-244,587,521),65226=>array(57,-244,587,382),65227=>array(-10,0,496,521),65228=>array(-10,0,492,382),65229=>array(57,-244,587,659),65230=>array(57,-244,587,537),65231=>array(-10,0,496,659),65232=>array(-10,0,492,537),65233=>array(63,-45,952,635),65234=>array(63,-44,1045,537),65235=>array(-10,0,406,635),65236=>array(-10,0,516,562),65237=>array(52,-215,701,635),65238=>array(52,-244,844,500),65239=>array(-10,0,406,635),65240=>array(-10,0,516,562),65241=>array(70,-27,722,760),65242=>array(70,-27,853,760),65243=>array(-10,0,476,760),65244=>array(-10,0,562,760),65245=>array(70,-152,637,760),65246=>array(70,-152,767,760),65247=>array(-10,0,210,760),65248=>array(-10,0,341,760),65249=>array(68,-240,546,369),65250=>array(68,-240,675,307),65251=>array(-10,-25,456,303),65252=>array(-10,-24,588,303),65253=>array(72,-162,660,464),65254=>array(72,-244,771,342),65255=>array(-10,0,191,488),65256=>array(-10,0,312,488),65257=>array(68,-28,453,358),65258=>array(71,0,546,366),65259=>array(-10,-33,467,487),65260=>array(-10,-244,471,333),65261=>array(-42,-244,406,315),65262=>array(-42,-244,526,315),65263=>array(63,-131,719,411),65264=>array(63,-133,843,251),65265=>array(63,-244,719,411),65266=>array(63,-244,843,251),65267=>array(-10,-146,244,293),65268=>array(-10,-146,312,293),65269=>array(-103,-10,468,866),65270=>array(-103,-10,606,866),65271=>array(-13,-10,468,955),65272=>array(-13,-10,606,955),65273=>array(11,-244,468,760),65274=>array(11,-244,606,760),65275=>array(41,-10,468,760),65276=>array(41,-10,606,760),65533=>array(15,-84,1011,912),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>318,33=>401,34=>460,35=>838,36=>636,37=>950,38=>780,39=>275,40=>390,41=>390,42=>500,43=>838,44=>318,45=>361,46=>318,47=>337,48=>636,49=>636,50=>636,51=>636,52=>636,53=>636,54=>636,55=>636,56=>636,57=>636,58=>337,59=>337,60=>838,61=>838,62=>838,63=>531,64=>1000,65=>684,66=>686,67=>698,68=>770,69=>632,70=>575,71=>775,72=>752,73=>295,74=>295,75=>656,76=>557,77=>863,78=>748,79=>787,80=>603,81=>787,82=>695,83=>635,84=>611,85=>732,86=>684,87=>989,88=>685,89=>611,90=>685,91=>390,92=>337,93=>390,94=>838,95=>500,96=>500,97=>613,98=>635,99=>550,100=>635,101=>615,102=>352,103=>635,104=>634,105=>278,106=>278,107=>579,108=>278,109=>974,110=>634,111=>612,112=>635,113=>635,114=>411,115=>521,116=>392,117=>634,118=>592,119=>818,120=>592,121=>592,122=>525,123=>636,124=>337,125=>636,126=>838,160=>318,161=>401,162=>636,163=>636,164=>636,165=>636,166=>337,167=>500,168=>500,169=>1000,170=>471,171=>612,172=>838,173=>361,174=>1000,175=>500,176=>500,177=>838,178=>401,179=>401,180=>500,181=>636,182=>636,183=>318,184=>500,185=>401,186=>471,187=>612,188=>969,189=>969,190=>969,191=>531,192=>684,193=>684,194=>684,195=>684,196=>684,197=>684,198=>974,199=>698,200=>632,201=>632,202=>632,203=>632,204=>295,205=>295,206=>295,207=>295,208=>775,209=>748,210=>787,211=>787,212=>787,213=>787,214=>787,215=>838,216=>787,217=>732,218=>732,219=>732,220=>732,221=>611,222=>605,223=>630,224=>613,225=>613,226=>613,227=>613,228=>613,229=>613,230=>982,231=>550,232=>615,233=>615,234=>615,235=>615,236=>278,237=>278,238=>278,239=>278,240=>612,241=>634,242=>612,243=>612,244=>612,245=>612,246=>612,247=>838,248=>612,249=>634,250=>634,251=>634,252=>634,253=>592,254=>635,255=>592,256=>684,257=>613,258=>684,259=>613,260=>684,261=>613,262=>698,263=>550,264=>698,265=>550,266=>698,267=>550,268=>698,269=>550,270=>770,271=>635,272=>775,273=>635,274=>632,275=>615,276=>632,277=>615,278=>632,279=>615,280=>632,281=>615,282=>632,283=>615,284=>775,285=>635,286=>775,287=>635,288=>775,289=>635,290=>775,291=>635,292=>752,293=>634,294=>916,295=>695,296=>295,297=>278,298=>295,299=>278,300=>295,301=>278,302=>295,303=>278,304=>295,305=>278,306=>590,307=>556,308=>295,309=>278,310=>656,311=>579,312=>579,313=>557,314=>278,315=>557,316=>278,317=>557,318=>375,319=>557,320=>342,321=>562,322=>284,323=>748,324=>634,325=>748,326=>634,327=>748,328=>634,329=>813,330=>748,331=>634,332=>787,333=>612,334=>787,335=>612,336=>787,337=>612,338=>1070,339=>1023,340=>695,341=>411,342=>695,343=>411,344=>695,345=>411,346=>635,347=>521,348=>635,349=>521,350=>635,351=>521,352=>635,353=>521,354=>611,355=>392,356=>611,357=>392,358=>611,359=>392,360=>732,361=>634,362=>732,363=>634,364=>732,365=>634,366=>732,367=>634,368=>732,369=>634,370=>732,371=>634,372=>989,373=>818,374=>611,375=>592,376=>611,377=>685,378=>525,379=>685,380=>525,381=>685,382=>525,383=>352,384=>635,385=>735,386=>686,387=>635,388=>686,389=>635,390=>703,391=>698,392=>550,393=>775,394=>819,395=>686,396=>635,397=>612,398=>632,399=>787,400=>614,401=>575,402=>352,403=>775,404=>687,405=>984,406=>354,407=>295,408=>746,409=>579,410=>278,411=>592,412=>974,413=>748,414=>634,415=>787,416=>913,417=>612,418=>949,419=>759,420=>652,421=>635,422=>695,423=>635,424=>521,425=>632,426=>336,427=>392,428=>611,429=>392,430=>611,431=>858,432=>634,433=>764,434=>721,435=>744,436=>730,437=>685,438=>525,439=>666,440=>666,441=>578,442=>525,443=>636,444=>666,445=>578,446=>510,447=>635,448=>295,449=>492,450=>459,451=>295,452=>1422,453=>1299,454=>1154,455=>835,456=>787,457=>457,458=>931,459=>924,460=>797,461=>684,462=>613,463=>295,464=>278,465=>787,466=>612,467=>732,468=>634,469=>732,470=>634,471=>732,472=>634,473=>732,474=>634,475=>732,476=>634,477=>615,478=>684,479=>613,480=>684,481=>613,482=>974,483=>982,484=>775,485=>635,486=>775,487=>635,488=>656,489=>579,490=>787,491=>612,492=>787,493=>612,494=>666,495=>578,496=>278,497=>1422,498=>1299,499=>1154,500=>775,501=>635,502=>1113,503=>682,504=>748,505=>634,506=>684,507=>613,508=>974,509=>982,510=>787,511=>612,512=>684,513=>613,514=>684,515=>613,516=>632,517=>615,518=>632,519=>615,520=>295,521=>278,522=>295,523=>278,524=>787,525=>612,526=>787,527=>612,528=>695,529=>411,530=>695,531=>411,532=>732,533=>634,534=>732,535=>634,536=>635,537=>521,538=>611,539=>392,540=>627,541=>521,542=>752,543=>634,544=>735,545=>838,546=>698,547=>610,548=>685,549=>525,550=>684,551=>613,552=>632,553=>615,554=>787,555=>612,556=>787,557=>612,558=>787,559=>612,560=>787,561=>612,562=>611,563=>592,564=>475,565=>843,566=>477,567=>278,568=>998,569=>998,570=>684,571=>698,572=>550,573=>557,574=>611,575=>521,576=>525,577=>603,578=>479,579=>686,580=>732,581=>684,582=>632,583=>615,584=>295,585=>278,586=>781,587=>635,588=>695,589=>411,590=>611,591=>592,592=>600,593=>635,594=>635,595=>635,596=>549,597=>550,598=>635,599=>696,600=>615,601=>615,602=>819,603=>541,604=>532,605=>775,606=>664,607=>278,608=>696,609=>635,610=>629,611=>596,612=>596,613=>634,614=>634,615=>634,616=>278,617=>338,618=>372,619=>396,620=>487,621=>278,622=>706,623=>974,624=>974,625=>974,626=>646,627=>642,628=>634,629=>612,630=>858,631=>728,632=>660,633=>414,634=>414,635=>414,636=>411,637=>411,638=>530,639=>530,640=>604,641=>604,642=>521,643=>336,644=>336,645=>461,646=>336,647=>392,648=>392,649=>634,650=>618,651=>598,652=>592,653=>818,654=>592,655=>611,656=>525,657=>525,658=>578,659=>578,660=>510,661=>510,662=>510,663=>510,664=>787,665=>580,666=>664,667=>708,668=>654,669=>292,670=>667,671=>507,672=>727,673=>510,674=>510,675=>1014,676=>1058,677=>1013,678=>830,679=>610,680=>778,681=>848,682=>706,683=>654,684=>515,685=>515,686=>661,687=>664,688=>404,689=>399,690=>175,691=>259,692=>295,693=>296,694=>379,695=>515,696=>373,697=>278,698=>460,699=>318,700=>318,701=>318,702=>307,703=>307,704=>370,705=>370,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>275,713=>500,714=>500,715=>500,716=>275,717=>500,718=>500,719=>500,720=>337,721=>337,722=>307,723=>307,724=>500,725=>500,726=>390,727=>317,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>315,735=>500,736=>426,737=>166,738=>373,739=>444,740=>370,741=>493,742=>493,743=>493,744=>493,745=>493,748=>500,749=>500,750=>518,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>654,881=>568,882=>862,883=>647,884=>278,885=>278,886=>748,887=>650,890=>500,891=>549,892=>550,893=>549,894=>337,900=>500,901=>500,902=>692,903=>318,904=>746,905=>871,906=>408,908=>813,910=>825,911=>826,912=>338,913=>684,914=>686,915=>557,916=>684,917=>632,918=>685,919=>752,920=>787,921=>295,922=>656,923=>684,924=>863,925=>748,926=>632,927=>787,928=>752,929=>603,931=>632,932=>611,933=>611,934=>787,935=>685,936=>787,937=>764,938=>295,939=>611,940=>659,941=>541,942=>634,943=>338,944=>579,945=>659,946=>638,947=>592,948=>612,949=>541,950=>544,951=>634,952=>612,953=>338,954=>589,955=>592,956=>636,957=>559,958=>558,959=>612,960=>602,961=>635,962=>587,963=>634,964=>602,965=>579,966=>660,967=>578,968=>660,969=>837,970=>338,971=>579,972=>612,973=>579,974=>837,975=>656,976=>614,977=>619,978=>699,979=>842,980=>699,981=>660,982=>837,983=>664,984=>787,985=>612,986=>648,987=>587,988=>575,989=>458,990=>660,991=>660,992=>865,993=>627,994=>934,995=>837,996=>758,997=>659,998=>792,999=>615,1000=>687,1001=>607,1002=>768,1003=>625,1004=>699,1005=>612,1006=>611,1007=>536,1008=>664,1009=>635,1010=>550,1011=>278,1012=>787,1013=>615,1014=>615,1015=>605,1016=>635,1017=>698,1018=>863,1019=>651,1020=>635,1021=>703,1022=>698,1023=>703,1024=>632,1025=>632,1026=>786,1027=>610,1028=>698,1029=>635,1030=>295,1031=>295,1032=>295,1033=>1094,1034=>1045,1035=>786,1036=>710,1037=>748,1038=>609,1039=>752,1040=>684,1041=>686,1042=>686,1043=>610,1044=>781,1045=>632,1046=>1077,1047=>641,1048=>748,1049=>748,1050=>710,1051=>752,1052=>863,1053=>752,1054=>787,1055=>752,1056=>603,1057=>698,1058=>611,1059=>609,1060=>861,1061=>685,1062=>776,1063=>686,1064=>1069,1065=>1094,1066=>833,1067=>882,1068=>686,1069=>698,1070=>1080,1071=>695,1072=>613,1073=>617,1074=>589,1075=>525,1076=>691,1077=>615,1078=>901,1079=>532,1080=>650,1081=>650,1082=>604,1083=>639,1084=>754,1085=>654,1086=>612,1087=>654,1088=>635,1089=>550,1090=>583,1091=>592,1092=>855,1093=>592,1094=>681,1095=>591,1096=>915,1097=>942,1098=>707,1099=>790,1100=>589,1101=>549,1102=>842,1103=>602,1104=>615,1105=>615,1106=>625,1107=>525,1108=>549,1109=>521,1110=>278,1111=>278,1112=>278,1113=>902,1114=>898,1115=>652,1116=>604,1117=>650,1118=>592,1119=>654,1120=>934,1121=>837,1122=>771,1123=>672,1124=>942,1125=>749,1126=>879,1127=>783,1128=>1160,1129=>1001,1130=>787,1131=>612,1132=>1027,1133=>824,1134=>636,1135=>541,1136=>856,1137=>876,1138=>787,1139=>612,1140=>781,1141=>665,1142=>781,1143=>665,1144=>992,1145=>904,1146=>953,1147=>758,1148=>1180,1149=>1028,1150=>934,1151=>837,1152=>698,1153=>550,1154=>502,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>418,1161=>418,1162=>772,1163=>677,1164=>686,1165=>589,1166=>603,1167=>635,1168=>610,1169=>525,1170=>675,1171=>590,1172=>624,1173=>530,1174=>1077,1175=>901,1176=>641,1177=>532,1178=>710,1179=>604,1180=>710,1181=>604,1182=>710,1183=>604,1184=>856,1185=>832,1186=>752,1187=>661,1188=>1014,1189=>877,1190=>1081,1191=>916,1192=>878,1193=>693,1194=>698,1195=>550,1196=>611,1197=>583,1198=>611,1199=>592,1200=>611,1201=>592,1202=>685,1203=>592,1204=>934,1205=>807,1206=>686,1207=>591,1208=>686,1209=>591,1210=>686,1211=>634,1212=>941,1213=>728,1214=>941,1215=>728,1216=>295,1217=>1077,1218=>901,1219=>656,1220=>604,1221=>776,1222=>670,1223=>752,1224=>661,1225=>776,1226=>681,1227=>686,1228=>591,1229=>888,1230=>774,1231=>278,1232=>684,1233=>613,1234=>684,1235=>613,1236=>974,1237=>982,1238=>632,1239=>615,1240=>787,1241=>615,1242=>787,1243=>615,1244=>1077,1245=>901,1246=>641,1247=>532,1248=>666,1249=>578,1250=>748,1251=>650,1252=>748,1253=>650,1254=>787,1255=>612,1256=>787,1257=>612,1258=>787,1259=>612,1260=>698,1261=>549,1262=>609,1263=>592,1264=>609,1265=>592,1266=>609,1267=>592,1268=>686,1269=>591,1270=>610,1271=>525,1272=>882,1273=>790,1274=>675,1275=>590,1276=>685,1277=>592,1278=>685,1279=>592,1280=>686,1281=>589,1282=>1006,1283=>897,1284=>975,1285=>869,1286=>679,1287=>588,1288=>1072,1289=>957,1290=>1113,1291=>967,1292=>775,1293=>660,1294=>773,1295=>711,1296=>614,1297=>541,1298=>752,1299=>639,1300=>1169,1301=>994,1302=>894,1303=>864,1304=>1032,1305=>986,1306=>787,1307=>635,1308=>989,1309=>818,1310=>710,1311=>604,1312=>1081,1313=>905,1314=>1081,1315=>912,1316=>793,1317=>683,1329=>766,1330=>732,1331=>753,1332=>753,1333=>732,1334=>772,1335=>640,1336=>732,1337=>859,1338=>753,1339=>691,1340=>533,1341=>922,1342=>863,1343=>732,1344=>716,1345=>766,1346=>753,1347=>767,1348=>792,1349=>728,1350=>729,1351=>757,1352=>732,1353=>713,1354=>800,1355=>768,1356=>792,1357=>732,1358=>753,1359=>705,1360=>694,1361=>744,1362=>538,1363=>811,1364=>757,1365=>787,1366=>790,1369=>307,1370=>318,1371=>234,1372=>361,1373=>238,1374=>405,1375=>500,1377=>974,1378=>634,1379=>658,1380=>663,1381=>634,1382=>635,1383=>515,1384=>634,1385=>738,1386=>658,1387=>634,1388=>271,1389=>980,1390=>623,1391=>634,1392=>634,1393=>608,1394=>634,1395=>629,1396=>634,1397=>271,1398=>634,1399=>499,1400=>634,1401=>404,1402=>974,1403=>560,1404=>648,1405=>634,1406=>634,1407=>974,1408=>634,1409=>633,1410=>435,1411=>974,1412=>636,1413=>609,1414=>805,1415=>812,1417=>337,1418=>361,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>361,1471=>0,1472=>295,1473=>0,1474=>0,1475=>295,1478=>441,1479=>0,1488=>668,1489=>578,1490=>412,1491=>546,1492=>653,1493=>272,1494=>346,1495=>653,1496=>648,1497=>224,1498=>537,1499=>529,1500=>568,1501=>664,1502=>679,1503=>272,1504=>400,1505=>649,1506=>626,1507=>640,1508=>625,1509=>540,1510=>593,1511=>709,1512=>564,1513=>708,1514=>657,1520=>471,1521=>423,1522=>331,1523=>416,1524=>645,1542=>637,1543=>637,1545=>757,1546=>977,1548=>323,1557=>0,1563=>318,1567=>531,1569=>470,1570=>278,1571=>278,1572=>483,1573=>278,1574=>783,1575=>278,1576=>941,1577=>524,1578=>941,1579=>941,1580=>646,1581=>646,1582=>646,1583=>445,1584=>445,1585=>483,1586=>483,1587=>1221,1588=>1221,1589=>1209,1590=>1209,1591=>925,1592=>925,1593=>597,1594=>597,1600=>293,1601=>1037,1602=>776,1603=>824,1604=>727,1605=>619,1606=>734,1607=>524,1608=>483,1609=>783,1610=>783,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1619=>0,1620=>0,1621=>0,1623=>0,1626=>500,1632=>537,1633=>537,1634=>537,1635=>537,1636=>537,1637=>537,1638=>537,1639=>537,1640=>537,1641=>537,1642=>537,1643=>325,1644=>318,1645=>545,1646=>941,1647=>776,1648=>0,1652=>292,1657=>941,1658=>941,1659=>941,1660=>941,1661=>941,1662=>941,1663=>941,1664=>941,1665=>646,1666=>646,1667=>646,1668=>646,1669=>646,1670=>646,1671=>646,1672=>445,1673=>445,1674=>445,1675=>445,1676=>445,1677=>445,1678=>445,1679=>445,1680=>445,1681=>483,1682=>483,1683=>498,1684=>530,1685=>610,1686=>530,1687=>483,1688=>483,1689=>483,1690=>1221,1691=>1221,1692=>1221,1693=>1209,1694=>1209,1695=>925,1696=>597,1697=>1037,1698=>1037,1699=>1037,1700=>1037,1701=>1037,1702=>1037,1703=>776,1704=>776,1705=>895,1706=>1054,1707=>895,1708=>824,1709=>824,1710=>824,1711=>895,1712=>895,1713=>895,1714=>895,1715=>895,1716=>895,1717=>727,1718=>727,1719=>727,1720=>727,1721=>734,1722=>734,1723=>734,1724=>734,1725=>734,1726=>698,1727=>646,1734=>483,1740=>783,1742=>783,1749=>524,1776=>537,1777=>537,1778=>537,1779=>537,1780=>537,1781=>537,1782=>537,1783=>537,1784=>537,1785=>537,1984=>636,1985=>636,1986=>636,1987=>636,1988=>636,1989=>636,1990=>636,1991=>636,1992=>636,1993=>636,1994=>278,1995=>571,1996=>424,1997=>592,1998=>654,1999=>654,2000=>594,2001=>654,2002=>829,2003=>438,2004=>438,2005=>559,2006=>612,2007=>350,2008=>959,2009=>473,2010=>783,2011=>654,2012=>625,2013=>734,2014=>530,2015=>724,2016=>473,2017=>625,2018=>594,2019=>530,2020=>530,2021=>522,2022=>594,2023=>594,2027=>0,2028=>0,2029=>0,2030=>0,2031=>0,2032=>0,2033=>0,2034=>0,2035=>0,2036=>313,2037=>313,2040=>560,2041=>560,2042=>361,3647=>636,3713=>670,3714=>684,3716=>688,3719=>482,3720=>628,3722=>684,3725=>688,3732=>669,3733=>642,3734=>645,3735=>655,3737=>659,3738=>625,3739=>625,3740=>745,3741=>767,3742=>687,3743=>687,3745=>702,3746=>688,3747=>684,3749=>649,3751=>632,3754=>703,3755=>819,3757=>633,3758=>684,3759=>788,3760=>632,3761=>0,3762=>539,3763=>539,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>663,3776=>375,3777=>657,3778=>460,3779=>547,3780=>491,3782=>674,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>636,3793=>641,3794=>641,3795=>670,3796=>625,3797=>625,3798=>703,3799=>670,3800=>674,3801=>677,3804=>1028,3805=>1028,4256=>874,4257=>733,4258=>679,4259=>834,4260=>615,4261=>768,4262=>753,4263=>914,4264=>453,4265=>620,4266=>843,4267=>882,4268=>625,4269=>854,4270=>781,4271=>629,4272=>912,4273=>621,4274=>620,4275=>854,4276=>866,4277=>724,4278=>630,4279=>621,4280=>625,4281=>620,4282=>818,4283=>874,4284=>615,4285=>623,4286=>625,4287=>725,4288=>844,4289=>596,4290=>688,4291=>596,4292=>594,4293=>738,4304=>508,4305=>518,4306=>581,4307=>818,4308=>508,4309=>513,4310=>500,4311=>801,4312=>518,4313=>510,4314=>1064,4315=>522,4316=>522,4317=>786,4318=>508,4319=>518,4320=>796,4321=>522,4322=>654,4323=>522,4324=>825,4325=>513,4326=>786,4327=>518,4328=>518,4329=>522,4330=>571,4331=>522,4332=>518,4333=>520,4334=>522,4335=>454,4336=>508,4337=>518,4338=>508,4339=>508,4340=>518,4341=>554,4342=>828,4343=>552,4344=>508,4345=>571,4346=>508,4347=>448,4348=>324,5121=>684,5122=>684,5123=>684,5124=>684,5125=>769,5126=>769,5127=>769,5129=>769,5130=>769,5131=>769,5132=>835,5133=>834,5134=>835,5135=>834,5136=>835,5137=>834,5138=>967,5139=>1007,5140=>967,5141=>1007,5142=>769,5143=>967,5144=>1007,5145=>967,5146=>1007,5147=>769,5149=>256,5150=>543,5151=>423,5152=>423,5153=>389,5154=>389,5155=>393,5156=>389,5157=>466,5158=>385,5159=>256,5160=>389,5161=>389,5162=>389,5163=>1090,5164=>909,5165=>953,5166=>1117,5167=>684,5168=>684,5169=>684,5170=>684,5171=>729,5172=>729,5173=>729,5175=>729,5176=>729,5177=>729,5178=>835,5179=>684,5180=>835,5181=>834,5182=>835,5183=>834,5184=>967,5185=>1007,5186=>967,5187=>1007,5188=>967,5189=>1007,5190=>967,5191=>1007,5192=>729,5193=>508,5194=>192,5196=>732,5197=>732,5198=>732,5199=>732,5200=>730,5201=>730,5202=>730,5204=>730,5205=>730,5206=>730,5207=>921,5208=>889,5209=>921,5210=>889,5211=>921,5212=>889,5213=>928,5214=>900,5215=>928,5216=>900,5217=>947,5218=>900,5219=>947,5220=>900,5221=>947,5222=>434,5223=>877,5224=>877,5225=>866,5226=>890,5227=>628,5228=>628,5229=>628,5230=>628,5231=>628,5232=>628,5233=>628,5234=>628,5235=>628,5236=>860,5237=>771,5238=>815,5239=>816,5240=>815,5241=>816,5242=>860,5243=>771,5244=>860,5245=>771,5246=>815,5247=>816,5248=>815,5249=>816,5250=>815,5251=>407,5252=>407,5253=>750,5254=>775,5255=>750,5256=>775,5257=>628,5258=>628,5259=>628,5260=>628,5261=>628,5262=>628,5263=>628,5264=>628,5265=>628,5266=>860,5267=>771,5268=>815,5269=>816,5270=>815,5271=>816,5272=>860,5273=>771,5274=>860,5275=>771,5276=>815,5277=>816,5278=>815,5279=>816,5280=>815,5281=>435,5282=>435,5283=>610,5284=>557,5285=>557,5286=>557,5287=>610,5288=>610,5289=>610,5290=>557,5291=>557,5292=>749,5293=>769,5294=>746,5295=>764,5296=>746,5297=>764,5298=>749,5299=>769,5300=>749,5301=>769,5302=>746,5303=>764,5304=>746,5305=>764,5306=>746,5307=>386,5308=>508,5309=>386,5312=>852,5313=>852,5314=>852,5315=>852,5316=>852,5317=>852,5318=>852,5319=>852,5320=>852,5321=>1069,5322=>1035,5323=>1059,5324=>852,5325=>1059,5326=>852,5327=>852,5328=>600,5329=>453,5330=>600,5331=>852,5332=>852,5333=>852,5334=>852,5335=>852,5336=>852,5337=>852,5338=>852,5339=>852,5340=>1069,5341=>1035,5342=>1059,5343=>1030,5344=>1059,5345=>1030,5346=>1069,5347=>1035,5348=>1069,5349=>1035,5350=>1083,5351=>1030,5352=>1083,5353=>1030,5354=>600,5356=>729,5357=>603,5358=>603,5359=>603,5360=>603,5361=>603,5362=>603,5363=>603,5364=>603,5365=>603,5366=>834,5367=>754,5368=>792,5369=>771,5370=>792,5371=>771,5372=>834,5373=>754,5374=>834,5375=>754,5376=>792,5377=>771,5378=>792,5379=>771,5380=>792,5381=>418,5382=>420,5383=>418,5392=>712,5393=>712,5394=>712,5395=>892,5396=>892,5397=>892,5398=>892,5399=>910,5400=>872,5401=>910,5402=>872,5403=>910,5404=>872,5405=>1140,5406=>1100,5407=>1140,5408=>1100,5409=>1140,5410=>1100,5411=>1140,5412=>1100,5413=>641,5414=>627,5415=>627,5416=>627,5417=>627,5418=>627,5419=>627,5420=>627,5421=>627,5422=>627,5423=>844,5424=>781,5425=>816,5426=>818,5427=>816,5428=>818,5429=>844,5430=>781,5431=>844,5432=>781,5433=>816,5434=>818,5435=>816,5436=>818,5437=>816,5438=>418,5440=>389,5441=>484,5442=>916,5443=>916,5444=>916,5445=>916,5446=>916,5447=>916,5448=>603,5449=>603,5450=>603,5451=>603,5452=>603,5453=>603,5454=>834,5455=>754,5456=>418,5458=>729,5459=>684,5460=>684,5461=>684,5462=>684,5463=>726,5464=>726,5465=>726,5466=>726,5467=>924,5468=>1007,5469=>508,5470=>732,5471=>732,5472=>732,5473=>732,5474=>732,5475=>732,5476=>730,5477=>730,5478=>730,5479=>730,5480=>947,5481=>900,5482=>508,5492=>831,5493=>831,5494=>831,5495=>831,5496=>831,5497=>831,5498=>831,5499=>563,5500=>752,5501=>484,5502=>1047,5503=>1047,5504=>1047,5505=>1047,5506=>1047,5507=>1047,5508=>1047,5509=>825,5514=>831,5515=>831,5516=>831,5517=>831,5518=>1259,5519=>1259,5520=>1259,5521=>1002,5522=>1002,5523=>1259,5524=>1259,5525=>700,5526=>1073,5536=>852,5537=>852,5538=>852,5539=>852,5540=>852,5541=>852,5542=>600,5543=>643,5544=>643,5545=>643,5546=>643,5547=>643,5548=>643,5549=>643,5550=>418,5551=>628,5598=>770,5601=>767,5702=>468,5703=>468,5742=>444,5743=>1047,5744=>1310,5745=>1632,5746=>1632,5747=>1375,5748=>1375,5749=>1632,5750=>1632,5760=>477,5761=>493,5762=>712,5763=>931,5764=>1150,5765=>1370,5766=>493,5767=>712,5768=>931,5769=>1150,5770=>1370,5771=>498,5772=>718,5773=>938,5774=>1159,5775=>1379,5776=>493,5777=>712,5778=>930,5779=>1149,5780=>1370,5781=>498,5782=>752,5783=>789,5784=>1205,5785=>1150,5786=>683,5787=>507,5788=>507,7424=>592,7425=>717,7426=>982,7427=>586,7428=>550,7429=>605,7430=>605,7431=>491,7432=>541,7433=>278,7434=>395,7435=>579,7436=>583,7437=>754,7438=>650,7439=>612,7440=>550,7441=>684,7442=>684,7443=>684,7444=>1023,7446=>612,7447=>612,7448=>524,7449=>602,7450=>602,7451=>583,7452=>574,7453=>737,7454=>948,7455=>638,7456=>592,7457=>818,7458=>525,7459=>526,7462=>583,7463=>592,7464=>564,7465=>524,7466=>590,7467=>639,7468=>431,7469=>613,7470=>432,7472=>485,7473=>398,7474=>398,7475=>488,7476=>474,7477=>186,7478=>186,7479=>413,7480=>351,7481=>543,7482=>471,7483=>471,7484=>496,7485=>439,7486=>380,7487=>438,7488=>385,7489=>461,7490=>623,7491=>392,7492=>392,7493=>405,7494=>648,7495=>428,7496=>405,7497=>417,7498=>417,7499=>360,7500=>359,7501=>405,7502=>179,7503=>426,7504=>623,7505=>409,7506=>414,7507=>370,7508=>414,7509=>414,7510=>428,7511=>295,7512=>405,7513=>470,7514=>623,7515=>417,7517=>402,7518=>373,7519=>385,7520=>416,7521=>364,7522=>179,7523=>259,7524=>405,7525=>417,7526=>402,7527=>373,7528=>412,7529=>416,7530=>364,7543=>635,7544=>474,7547=>372,7549=>667,7557=>278,7579=>405,7580=>370,7581=>370,7582=>414,7583=>360,7584=>296,7585=>233,7586=>405,7587=>405,7588=>261,7589=>250,7590=>261,7591=>261,7592=>234,7593=>250,7594=>235,7595=>376,7596=>623,7597=>623,7598=>411,7599=>479,7600=>409,7601=>414,7602=>414,7603=>360,7604=>287,7605=>295,7606=>508,7607=>418,7608=>361,7609=>406,7610=>417,7611=>366,7612=>437,7613=>366,7614=>392,7615=>414,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>684,7681=>613,7682=>686,7683=>635,7684=>686,7685=>635,7686=>686,7687=>635,7688=>698,7689=>550,7690=>770,7691=>635,7692=>770,7693=>635,7694=>770,7695=>635,7696=>770,7697=>635,7698=>770,7699=>635,7700=>632,7701=>615,7702=>632,7703=>615,7704=>632,7705=>615,7706=>632,7707=>615,7708=>632,7709=>615,7710=>575,7711=>352,7712=>775,7713=>635,7714=>752,7715=>634,7716=>752,7717=>634,7718=>752,7719=>634,7720=>752,7721=>634,7722=>752,7723=>634,7724=>295,7725=>278,7726=>295,7727=>278,7728=>656,7729=>579,7730=>656,7731=>579,7732=>656,7733=>579,7734=>557,7735=>288,7736=>557,7737=>288,7738=>557,7739=>278,7740=>557,7741=>278,7742=>863,7743=>974,7744=>863,7745=>974,7746=>863,7747=>974,7748=>748,7749=>634,7750=>748,7751=>634,7752=>748,7753=>634,7754=>748,7755=>634,7756=>787,7757=>612,7758=>787,7759=>612,7760=>787,7761=>612,7762=>787,7763=>612,7764=>603,7765=>635,7766=>603,7767=>635,7768=>695,7769=>411,7770=>695,7771=>411,7772=>695,7773=>411,7774=>695,7775=>411,7776=>635,7777=>521,7778=>635,7779=>521,7780=>635,7781=>521,7782=>635,7783=>521,7784=>635,7785=>521,7786=>611,7787=>392,7788=>611,7789=>392,7790=>611,7791=>392,7792=>611,7793=>392,7794=>732,7795=>634,7796=>732,7797=>634,7798=>732,7799=>634,7800=>732,7801=>634,7802=>732,7803=>634,7804=>684,7805=>592,7806=>684,7807=>592,7808=>989,7809=>818,7810=>989,7811=>818,7812=>989,7813=>818,7814=>989,7815=>818,7816=>989,7817=>818,7818=>685,7819=>592,7820=>685,7821=>592,7822=>611,7823=>592,7824=>685,7825=>525,7826=>685,7827=>525,7828=>685,7829=>525,7830=>634,7831=>392,7832=>818,7833=>592,7834=>613,7835=>352,7836=>352,7837=>352,7838=>769,7839=>612,7840=>684,7841=>613,7842=>684,7843=>613,7844=>684,7845=>613,7846=>684,7847=>613,7848=>684,7849=>613,7850=>684,7851=>613,7852=>684,7853=>613,7854=>684,7855=>613,7856=>684,7857=>613,7858=>684,7859=>613,7860=>684,7861=>613,7862=>684,7863=>613,7864=>632,7865=>615,7866=>632,7867=>615,7868=>632,7869=>615,7870=>632,7871=>615,7872=>632,7873=>615,7874=>632,7875=>615,7876=>632,7877=>615,7878=>632,7879=>615,7880=>295,7881=>278,7882=>295,7883=>278,7884=>787,7885=>612,7886=>787,7887=>612,7888=>787,7889=>612,7890=>787,7891=>612,7892=>787,7893=>612,7894=>787,7895=>612,7896=>787,7897=>612,7898=>913,7899=>612,7900=>913,7901=>612,7902=>913,7903=>612,7904=>913,7905=>612,7906=>913,7907=>612,7908=>732,7909=>634,7910=>732,7911=>634,7912=>858,7913=>634,7914=>858,7915=>634,7916=>858,7917=>634,7918=>858,7919=>634,7920=>858,7921=>634,7922=>611,7923=>592,7924=>611,7925=>592,7926=>611,7927=>592,7928=>611,7929=>592,7930=>769,7931=>477,7936=>659,7937=>659,7938=>659,7939=>659,7940=>659,7941=>659,7942=>659,7943=>659,7944=>684,7945=>684,7946=>877,7947=>877,7948=>769,7949=>801,7950=>708,7951=>743,7952=>541,7953=>541,7954=>541,7955=>541,7956=>541,7957=>541,7960=>711,7961=>711,7962=>966,7963=>975,7964=>898,7965=>928,7968=>634,7969=>634,7970=>634,7971=>634,7972=>634,7973=>634,7974=>634,7975=>634,7976=>837,7977=>835,7978=>1086,7979=>1089,7980=>1027,7981=>1051,7982=>934,7983=>947,7984=>338,7985=>338,7986=>338,7987=>338,7988=>338,7989=>338,7990=>338,7991=>338,7992=>380,7993=>374,7994=>635,7995=>635,7996=>570,7997=>600,7998=>489,7999=>493,8000=>612,8001=>612,8002=>612,8003=>612,8004=>612,8005=>612,8008=>804,8009=>848,8010=>1095,8011=>1100,8012=>938,8013=>970,8016=>579,8017=>579,8018=>579,8019=>579,8020=>579,8021=>579,8022=>579,8023=>579,8025=>784,8027=>998,8029=>1012,8031=>897,8032=>837,8033=>837,8034=>837,8035=>837,8036=>837,8037=>837,8038=>837,8039=>837,8040=>802,8041=>843,8042=>1089,8043=>1095,8044=>946,8045=>972,8046=>921,8047=>952,8048=>659,8049=>659,8050=>541,8051=>548,8052=>634,8053=>654,8054=>338,8055=>338,8056=>612,8057=>612,8058=>579,8059=>579,8060=>837,8061=>837,8064=>659,8065=>659,8066=>659,8067=>659,8068=>659,8069=>659,8070=>659,8071=>659,8072=>684,8073=>684,8074=>877,8075=>877,8076=>769,8077=>801,8078=>708,8079=>743,8080=>634,8081=>634,8082=>634,8083=>634,8084=>634,8085=>634,8086=>634,8087=>634,8088=>837,8089=>835,8090=>1086,8091=>1089,8092=>1027,8093=>1051,8094=>934,8095=>947,8096=>837,8097=>837,8098=>837,8099=>837,8100=>837,8101=>837,8102=>837,8103=>837,8104=>802,8105=>843,8106=>1089,8107=>1095,8108=>946,8109=>972,8110=>921,8111=>952,8112=>659,8113=>659,8114=>659,8115=>659,8116=>659,8118=>659,8119=>659,8120=>684,8121=>684,8122=>716,8123=>692,8124=>684,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>634,8131=>634,8132=>654,8134=>634,8135=>634,8136=>805,8137=>746,8138=>931,8139=>871,8140=>752,8141=>500,8142=>500,8143=>500,8144=>338,8145=>338,8146=>338,8147=>338,8150=>338,8151=>338,8152=>295,8153=>295,8154=>475,8155=>408,8157=>500,8158=>500,8159=>500,8160=>579,8161=>579,8162=>579,8163=>579,8164=>635,8165=>635,8166=>579,8167=>579,8168=>611,8169=>611,8170=>845,8171=>825,8172=>685,8173=>500,8174=>500,8175=>500,8178=>837,8179=>837,8180=>837,8182=>837,8183=>837,8184=>941,8185=>813,8186=>922,8187=>826,8188=>764,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>636,8200=>318,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>361,8209=>361,8210=>636,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>318,8217=>318,8218=>318,8219=>318,8220=>518,8221=>518,8222=>518,8223=>518,8224=>500,8225=>500,8226=>590,8227=>590,8228=>334,8229=>667,8230=>1000,8231=>318,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1342,8241=>1735,8242=>227,8243=>374,8244=>520,8245=>227,8246=>374,8247=>520,8248=>339,8249=>400,8250=>400,8251=>838,8252=>485,8253=>531,8254=>500,8255=>804,8256=>804,8257=>250,8258=>1000,8259=>500,8260=>167,8261=>390,8262=>390,8263=>922,8264=>733,8265=>733,8266=>497,8267=>636,8268=>500,8269=>500,8270=>500,8271=>337,8272=>804,8273=>500,8274=>450,8275=>1000,8276=>804,8277=>838,8278=>586,8279=>663,8280=>838,8281=>838,8282=>318,8283=>797,8284=>838,8285=>318,8286=>318,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>401,8305=>179,8308=>401,8309=>401,8310=>401,8311=>401,8312=>401,8313=>401,8314=>528,8315=>528,8316=>528,8317=>246,8318=>246,8319=>398,8320=>401,8321=>401,8322=>401,8323=>401,8324=>401,8325=>401,8326=>401,8327=>401,8328=>401,8329=>401,8330=>528,8331=>528,8332=>528,8333=>246,8334=>246,8336=>392,8337=>417,8338=>414,8339=>444,8340=>417,8341=>404,8342=>426,8343=>166,8344=>623,8345=>398,8346=>428,8347=>373,8348=>295,8352=>877,8353=>636,8354=>636,8355=>636,8356=>636,8357=>974,8358=>748,8359=>1272,8360=>1074,8361=>989,8362=>784,8363=>636,8364=>636,8365=>636,8366=>636,8367=>1272,8368=>636,8369=>636,8370=>636,8371=>636,8372=>774,8373=>636,8376=>636,8377=>636,8378=>679,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>1019,8449=>1019,8450=>698,8451=>1123,8452=>642,8453=>1019,8454=>1067,8455=>614,8456=>698,8457=>952,8459=>988,8460=>754,8461=>850,8462=>634,8463=>634,8464=>470,8465=>697,8466=>720,8467=>413,8468=>818,8469=>801,8470=>1040,8471=>1000,8472=>697,8473=>701,8474=>787,8475=>798,8476=>814,8477=>792,8478=>896,8479=>684,8480=>1020,8481=>1074,8482=>1000,8483=>684,8484=>745,8485=>578,8486=>764,8487=>764,8488=>616,8489=>338,8490=>656,8491=>684,8492=>786,8493=>703,8494=>854,8495=>592,8496=>605,8497=>786,8498=>575,8499=>1069,8500=>462,8501=>745,8502=>674,8503=>466,8504=>645,8505=>380,8506=>926,8507=>1194,8508=>702,8509=>728,8510=>654,8511=>849,8512=>811,8513=>775,8514=>557,8515=>557,8516=>611,8517=>819,8518=>708,8519=>615,8520=>351,8521=>351,8523=>780,8526=>526,8528=>969,8529=>969,8530=>1370,8531=>969,8532=>969,8533=>969,8534=>969,8535=>969,8536=>969,8537=>969,8538=>969,8539=>969,8540=>969,8541=>969,8542=>969,8543=>568,8544=>295,8545=>492,8546=>689,8547=>923,8548=>684,8549=>922,8550=>1120,8551=>1317,8552=>917,8553=>685,8554=>933,8555=>1131,8556=>557,8557=>698,8558=>770,8559=>863,8560=>278,8561=>458,8562=>637,8563=>812,8564=>592,8565=>811,8566=>991,8567=>1170,8568=>819,8569=>592,8570=>822,8571=>1002,8572=>278,8573=>550,8574=>635,8575=>974,8576=>1245,8577=>770,8578=>1245,8579=>703,8580=>549,8581=>698,8585=>969,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>838,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>684,8705=>636,8706=>517,8707=>632,8708=>632,8709=>871,8710=>669,8711=>669,8712=>871,8713=>871,8714=>718,8715=>871,8716=>871,8717=>718,8718=>636,8719=>757,8720=>757,8721=>674,8722=>838,8723=>838,8724=>838,8725=>337,8726=>637,8727=>838,8728=>626,8729=>626,8730=>637,8731=>637,8732=>637,8733=>714,8734=>833,8735=>838,8736=>896,8737=>896,8738=>838,8739=>500,8740=>500,8741=>500,8742=>500,8743=>732,8744=>732,8745=>732,8746=>732,8747=>521,8748=>789,8749=>1057,8750=>521,8751=>789,8752=>1057,8753=>521,8754=>521,8755=>521,8756=>636,8757=>636,8758=>260,8759=>636,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8766=>838,8767=>838,8768=>375,8769=>838,8770=>838,8771=>838,8772=>838,8773=>838,8774=>838,8775=>838,8776=>838,8777=>838,8778=>838,8779=>838,8780=>838,8781=>838,8782=>838,8783=>838,8784=>838,8785=>838,8786=>839,8787=>839,8788=>1000,8789=>1000,8790=>838,8791=>838,8792=>838,8793=>838,8794=>838,8795=>838,8796=>838,8797=>838,8798=>838,8799=>838,8800=>838,8801=>838,8802=>838,8803=>838,8804=>838,8805=>838,8806=>838,8807=>838,8808=>838,8809=>838,8810=>1047,8811=>1047,8812=>464,8813=>838,8814=>838,8815=>838,8816=>838,8817=>838,8818=>838,8819=>838,8820=>838,8821=>838,8822=>838,8823=>838,8824=>838,8825=>838,8826=>838,8827=>838,8828=>838,8829=>838,8830=>838,8831=>838,8832=>838,8833=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8840=>838,8841=>838,8842=>838,8843=>838,8844=>732,8845=>732,8846=>732,8847=>838,8848=>838,8849=>838,8850=>838,8851=>780,8852=>780,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>871,8867=>871,8868=>871,8869=>871,8870=>521,8871=>521,8872=>871,8873=>871,8874=>871,8875=>871,8876=>871,8877=>871,8878=>871,8879=>871,8880=>838,8881=>838,8882=>838,8883=>838,8884=>838,8885=>838,8886=>1000,8887=>1000,8888=>838,8889=>838,8890=>521,8891=>732,8892=>732,8893=>732,8894=>838,8895=>838,8896=>820,8897=>820,8898=>820,8899=>820,8900=>494,8901=>318,8902=>626,8903=>838,8904=>1000,8905=>1000,8906=>1000,8907=>1000,8908=>1000,8909=>838,8910=>732,8911=>732,8912=>838,8913=>838,8914=>838,8915=>838,8916=>838,8917=>838,8918=>838,8919=>838,8920=>1422,8921=>1422,8922=>838,8923=>838,8924=>838,8925=>838,8926=>838,8927=>838,8928=>838,8929=>838,8930=>838,8931=>838,8932=>838,8933=>838,8934=>838,8935=>838,8936=>838,8937=>838,8938=>838,8939=>838,8940=>838,8941=>838,8942=>1000,8943=>1000,8944=>1000,8945=>1000,8946=>1000,8947=>871,8948=>718,8949=>871,8950=>871,8951=>718,8952=>871,8953=>871,8954=>1000,8955=>871,8956=>718,8957=>871,8958=>718,8959=>871,8960=>602,8961=>602,8962=>635,8963=>838,8964=>838,8965=>838,8966=>838,8967=>488,8968=>390,8969=>390,8970=>390,8971=>390,8972=>809,8973=>809,8974=>809,8975=>809,8976=>838,8977=>513,8984=>1000,8985=>838,8988=>469,8989=>469,8990=>469,8991=>469,8992=>521,8993=>521,8996=>1152,8997=>1152,8998=>1414,8999=>1152,9000=>1443,9003=>1414,9004=>873,9075=>338,9076=>635,9077=>837,9082=>659,9085=>757,9095=>1152,9108=>873,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>521,9166=>838,9167=>945,9187=>873,9189=>769,9192=>636,9250=>635,9251=>635,9312=>896,9313=>896,9314=>896,9315=>896,9316=>896,9317=>896,9318=>896,9319=>896,9320=>896,9321=>896,9472=>602,9473=>602,9474=>602,9475=>602,9476=>602,9477=>602,9478=>602,9479=>602,9480=>602,9481=>602,9482=>602,9483=>602,9484=>602,9485=>602,9486=>602,9487=>602,9488=>602,9489=>602,9490=>602,9491=>602,9492=>602,9493=>602,9494=>602,9495=>602,9496=>602,9497=>602,9498=>602,9499=>602,9500=>602,9501=>602,9502=>602,9503=>602,9504=>602,9505=>602,9506=>602,9507=>602,9508=>602,9509=>602,9510=>602,9511=>602,9512=>602,9513=>602,9514=>602,9515=>602,9516=>602,9517=>602,9518=>602,9519=>602,9520=>602,9521=>602,9522=>602,9523=>602,9524=>602,9525=>602,9526=>602,9527=>602,9528=>602,9529=>602,9530=>602,9531=>602,9532=>602,9533=>602,9534=>602,9535=>602,9536=>602,9537=>602,9538=>602,9539=>602,9540=>602,9541=>602,9542=>602,9543=>602,9544=>602,9545=>602,9546=>602,9547=>602,9548=>602,9549=>602,9550=>602,9551=>602,9552=>602,9553=>602,9554=>602,9555=>602,9556=>602,9557=>602,9558=>602,9559=>602,9560=>602,9561=>602,9562=>602,9563=>602,9564=>602,9565=>602,9566=>602,9567=>602,9568=>602,9569=>602,9570=>602,9571=>602,9572=>602,9573=>602,9574=>602,9575=>602,9576=>602,9577=>602,9578=>602,9579=>602,9580=>602,9581=>602,9582=>602,9583=>602,9584=>602,9585=>602,9586=>602,9587=>602,9588=>602,9589=>602,9590=>602,9591=>602,9592=>602,9593=>602,9594=>602,9595=>602,9596=>602,9597=>602,9598=>602,9599=>602,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>791,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>873,9697=>873,9698=>769,9699=>769,9700=>769,9701=>769,9702=>590,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9729=>1000,9730=>896,9731=>896,9732=>896,9733=>896,9734=>896,9735=>573,9736=>896,9737=>896,9738=>888,9739=>888,9740=>671,9741=>1013,9742=>1246,9743=>1250,9744=>896,9745=>896,9746=>896,9747=>532,9748=>896,9749=>896,9750=>896,9751=>896,9752=>896,9753=>896,9754=>896,9755=>896,9756=>896,9757=>609,9758=>896,9759=>609,9760=>896,9761=>896,9762=>896,9763=>896,9764=>669,9765=>746,9766=>649,9767=>784,9768=>545,9769=>896,9770=>896,9771=>896,9772=>710,9773=>896,9774=>896,9775=>896,9776=>896,9777=>896,9778=>896,9779=>896,9780=>896,9781=>896,9782=>896,9783=>896,9784=>896,9785=>1042,9786=>1042,9787=>1042,9788=>896,9789=>896,9790=>896,9791=>614,9792=>732,9793=>732,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9800=>896,9801=>896,9802=>896,9803=>896,9804=>896,9805=>896,9806=>896,9807=>896,9808=>896,9809=>896,9810=>896,9811=>896,9812=>896,9813=>896,9814=>896,9815=>896,9816=>896,9817=>896,9818=>896,9819=>896,9820=>896,9821=>896,9822=>896,9823=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9832=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,9840=>748,9841=>766,9842=>896,9843=>896,9844=>896,9845=>896,9846=>896,9847=>896,9848=>896,9849=>896,9850=>896,9851=>896,9852=>896,9853=>896,9854=>896,9855=>896,9856=>869,9857=>869,9858=>869,9859=>869,9860=>869,9861=>869,9862=>896,9863=>896,9864=>896,9865=>896,9866=>896,9867=>896,9868=>896,9869=>896,9870=>896,9871=>896,9872=>896,9873=>896,9874=>896,9875=>896,9876=>896,9877=>541,9878=>896,9879=>896,9880=>896,9881=>896,9882=>896,9883=>896,9884=>896,9888=>896,9889=>702,9890=>1004,9891=>1089,9892=>1175,9893=>903,9894=>838,9895=>838,9896=>838,9897=>838,9898=>838,9899=>838,9900=>838,9901=>838,9902=>838,9903=>838,9904=>844,9905=>838,9906=>732,9907=>732,9908=>732,9909=>732,9910=>850,9911=>732,9912=>732,9920=>838,9921=>838,9922=>838,9923=>838,9954=>732,9985=>838,9986=>838,9987=>838,9988=>838,9990=>838,9991=>838,9992=>838,9993=>838,9996=>838,9997=>838,9998=>838,9999=>838,10000=>838,10001=>838,10002=>838,10003=>838,10004=>838,10005=>838,10006=>838,10007=>838,10008=>838,10009=>838,10010=>838,10011=>838,10012=>838,10013=>838,10014=>838,10015=>838,10016=>838,10017=>838,10018=>838,10019=>838,10020=>838,10021=>838,10022=>838,10023=>838,10025=>838,10026=>838,10027=>838,10028=>838,10029=>838,10030=>838,10031=>838,10032=>838,10033=>838,10034=>838,10035=>838,10036=>838,10037=>838,10038=>838,10039=>838,10040=>838,10041=>838,10042=>838,10043=>838,10044=>838,10045=>838,10046=>838,10047=>838,10048=>838,10049=>838,10050=>838,10051=>838,10052=>838,10053=>838,10054=>838,10055=>838,10056=>838,10057=>838,10058=>838,10059=>838,10061=>896,10063=>896,10064=>896,10065=>896,10066=>896,10070=>896,10072=>838,10073=>838,10074=>838,10075=>322,10076=>322,10077=>538,10078=>538,10081=>838,10082=>838,10083=>838,10084=>838,10085=>838,10086=>838,10087=>838,10088=>838,10089=>838,10090=>838,10091=>838,10092=>838,10093=>838,10094=>838,10095=>838,10096=>838,10097=>838,10098=>838,10099=>838,10100=>838,10101=>838,10102=>896,10103=>896,10104=>896,10105=>896,10106=>896,10107=>896,10108=>896,10109=>896,10110=>896,10111=>896,10112=>838,10113=>838,10114=>838,10115=>838,10116=>838,10117=>838,10118=>838,10119=>838,10120=>838,10121=>838,10122=>838,10123=>838,10124=>838,10125=>838,10126=>838,10127=>838,10128=>838,10129=>838,10130=>838,10131=>838,10132=>838,10136=>838,10137=>838,10138=>838,10139=>838,10140=>838,10141=>838,10142=>838,10143=>838,10144=>838,10145=>838,10146=>838,10147=>838,10148=>838,10149=>838,10150=>838,10151=>838,10152=>838,10153=>838,10154=>838,10155=>838,10156=>838,10157=>838,10158=>838,10159=>838,10161=>838,10162=>838,10163=>838,10164=>838,10165=>838,10166=>838,10167=>838,10168=>838,10169=>838,10170=>838,10171=>838,10172=>838,10173=>838,10174=>838,10181=>390,10182=>390,10208=>494,10214=>495,10215=>495,10216=>390,10217=>390,10218=>556,10219=>556,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1157,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>732,10241=>732,10242=>732,10243=>732,10244=>732,10245=>732,10246=>732,10247=>732,10248=>732,10249=>732,10250=>732,10251=>732,10252=>732,10253=>732,10254=>732,10255=>732,10256=>732,10257=>732,10258=>732,10259=>732,10260=>732,10261=>732,10262=>732,10263=>732,10264=>732,10265=>732,10266=>732,10267=>732,10268=>732,10269=>732,10270=>732,10271=>732,10272=>732,10273=>732,10274=>732,10275=>732,10276=>732,10277=>732,10278=>732,10279=>732,10280=>732,10281=>732,10282=>732,10283=>732,10284=>732,10285=>732,10286=>732,10287=>732,10288=>732,10289=>732,10290=>732,10291=>732,10292=>732,10293=>732,10294=>732,10295=>732,10296=>732,10297=>732,10298=>732,10299=>732,10300=>732,10301=>732,10302=>732,10303=>732,10304=>732,10305=>732,10306=>732,10307=>732,10308=>732,10309=>732,10310=>732,10311=>732,10312=>732,10313=>732,10314=>732,10315=>732,10316=>732,10317=>732,10318=>732,10319=>732,10320=>732,10321=>732,10322=>732,10323=>732,10324=>732,10325=>732,10326=>732,10327=>732,10328=>732,10329=>732,10330=>732,10331=>732,10332=>732,10333=>732,10334=>732,10335=>732,10336=>732,10337=>732,10338=>732,10339=>732,10340=>732,10341=>732,10342=>732,10343=>732,10344=>732,10345=>732,10346=>732,10347=>732,10348=>732,10349=>732,10350=>732,10351=>732,10352=>732,10353=>732,10354=>732,10355=>732,10356=>732,10357=>732,10358=>732,10359=>732,10360=>732,10361=>732,10362=>732,10363=>732,10364=>732,10365=>732,10366=>732,10367=>732,10368=>732,10369=>732,10370=>732,10371=>732,10372=>732,10373=>732,10374=>732,10375=>732,10376=>732,10377=>732,10378=>732,10379=>732,10380=>732,10381=>732,10382=>732,10383=>732,10384=>732,10385=>732,10386=>732,10387=>732,10388=>732,10389=>732,10390=>732,10391=>732,10392=>732,10393=>732,10394=>732,10395=>732,10396=>732,10397=>732,10398=>732,10399=>732,10400=>732,10401=>732,10402=>732,10403=>732,10404=>732,10405=>732,10406=>732,10407=>732,10408=>732,10409=>732,10410=>732,10411=>732,10412=>732,10413=>732,10414=>732,10415=>732,10416=>732,10417=>732,10418=>732,10419=>732,10420=>732,10421=>732,10422=>732,10423=>732,10424=>732,10425=>732,10426=>732,10427=>732,10428=>732,10429=>732,10430=>732,10431=>732,10432=>732,10433=>732,10434=>732,10435=>732,10436=>732,10437=>732,10438=>732,10439=>732,10440=>732,10441=>732,10442=>732,10443=>732,10444=>732,10445=>732,10446=>732,10447=>732,10448=>732,10449=>732,10450=>732,10451=>732,10452=>732,10453=>732,10454=>732,10455=>732,10456=>732,10457=>732,10458=>732,10459=>732,10460=>732,10461=>732,10462=>732,10463=>732,10464=>732,10465=>732,10466=>732,10467=>732,10468=>732,10469=>732,10470=>732,10471=>732,10472=>732,10473=>732,10474=>732,10475=>732,10476=>732,10477=>732,10478=>732,10479=>732,10480=>732,10481=>732,10482=>732,10483=>732,10484=>732,10485=>732,10486=>732,10487=>732,10488=>732,10489=>732,10490=>732,10491=>732,10492=>732,10493=>732,10494=>732,10495=>732,10502=>838,10503=>838,10506=>838,10507=>838,10560=>683,10561=>683,10627=>734,10628=>734,10702=>838,10703=>1000,10704=>1000,10705=>1000,10706=>1000,10707=>1000,10708=>1000,10709=>1000,10731=>494,10746=>838,10747=>838,10752=>1000,10753=>1000,10754=>1000,10764=>1325,10765=>521,10766=>521,10767=>521,10768=>521,10769=>521,10770=>521,10771=>521,10772=>521,10773=>521,10774=>521,10775=>521,10776=>521,10777=>521,10778=>521,10779=>521,10780=>521,10799=>838,10858=>838,10859=>838,10877=>838,10878=>838,10879=>838,10880=>838,10881=>838,10882=>838,10883=>838,10884=>838,10885=>838,10886=>838,10887=>838,10888=>838,10889=>838,10890=>838,10891=>838,10892=>838,10893=>838,10894=>838,10895=>838,10896=>838,10897=>838,10898=>838,10899=>838,10900=>838,10901=>838,10902=>838,10903=>838,10904=>838,10905=>838,10906=>838,10907=>838,10908=>838,10909=>838,10910=>838,10911=>838,10912=>838,10926=>838,10927=>838,10928=>838,10929=>838,10930=>838,10931=>838,10932=>838,10933=>838,10934=>838,10935=>838,10936=>838,10937=>838,10938=>838,11001=>838,11002=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>836,11023=>836,11024=>836,11025=>836,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11039=>869,11040=>869,11041=>873,11042=>873,11043=>873,11044=>1119,11091=>869,11092=>869,11360=>557,11361=>278,11362=>557,11363=>603,11364=>695,11365=>613,11366=>392,11367=>752,11368=>634,11369=>656,11370=>579,11371=>685,11372=>525,11373=>781,11374=>863,11375=>684,11376=>781,11377=>734,11378=>1128,11379=>961,11380=>592,11381=>654,11382=>568,11383=>660,11385=>414,11386=>612,11387=>491,11388=>175,11389=>431,11390=>635,11391=>685,11520=>591,11521=>595,11522=>564,11523=>602,11524=>587,11525=>911,11526=>626,11527=>952,11528=>595,11529=>607,11530=>954,11531=>620,11532=>595,11533=>926,11534=>595,11535=>806,11536=>931,11537=>584,11538=>592,11539=>923,11540=>953,11541=>828,11542=>596,11543=>595,11544=>590,11545=>592,11546=>592,11547=>621,11548=>920,11549=>589,11550=>586,11551=>581,11552=>914,11553=>596,11554=>595,11555=>592,11556=>642,11557=>901,11568=>646,11569=>888,11570=>888,11571=>682,11572=>684,11573=>635,11574=>562,11575=>684,11576=>684,11577=>632,11578=>632,11579=>683,11580=>875,11581=>685,11582=>491,11583=>685,11584=>888,11585=>888,11586=>300,11587=>627,11588=>752,11589=>656,11590=>527,11591=>685,11592=>645,11593=>632,11594=>502,11595=>953,11596=>778,11597=>748,11598=>621,11599=>295,11600=>778,11601=>295,11602=>752,11603=>633,11604=>888,11605=>888,11606=>752,11607=>320,11608=>749,11609=>888,11610=>888,11611=>698,11612=>768,11613=>685,11614=>698,11615=>622,11616=>684,11617=>752,11618=>632,11619=>788,11620=>567,11621=>788,11631=>515,11800=>531,11806=>838,11810=>390,11811=>390,11812=>390,11813=>390,11822=>531,19904=>896,19905=>896,19906=>896,19907=>896,19908=>896,19909=>896,19910=>896,19911=>896,19912=>896,19913=>896,19914=>896,19915=>896,19916=>896,19917=>896,19918=>896,19919=>896,19920=>896,19921=>896,19922=>896,19923=>896,19924=>896,19925=>896,19926=>896,19927=>896,19928=>896,19929=>896,19930=>896,19931=>896,19932=>896,19933=>896,19934=>896,19935=>896,19936=>896,19937=>896,19938=>896,19939=>896,19940=>896,19941=>896,19942=>896,19943=>896,19944=>896,19945=>896,19946=>896,19947=>896,19948=>896,19949=>896,19950=>896,19951=>896,19952=>896,19953=>896,19954=>896,19955=>896,19956=>896,19957=>896,19958=>896,19959=>896,19960=>896,19961=>896,19962=>896,19963=>896,19964=>896,19965=>896,19966=>896,19967=>896,42192=>686,42193=>603,42194=>603,42195=>770,42196=>611,42197=>611,42198=>775,42199=>656,42200=>656,42201=>512,42202=>698,42203=>703,42204=>685,42205=>575,42206=>575,42207=>863,42208=>748,42209=>557,42210=>635,42211=>695,42212=>695,42213=>684,42214=>684,42215=>752,42216=>775,42217=>512,42218=>989,42219=>685,42220=>611,42221=>686,42222=>684,42223=>684,42224=>632,42225=>632,42226=>295,42227=>787,42228=>732,42229=>732,42230=>557,42231=>767,42232=>300,42233=>300,42234=>596,42235=>596,42236=>300,42237=>300,42238=>588,42239=>588,42564=>635,42565=>521,42566=>354,42567=>338,42572=>1180,42573=>1028,42576=>1029,42577=>906,42580=>1080,42581=>842,42582=>977,42583=>843,42594=>1062,42595=>912,42596=>1066,42597=>901,42598=>1178,42599=>1008,42600=>787,42601=>612,42602=>855,42603=>712,42604=>1358,42605=>1019,42606=>879,42634=>782,42635=>685,42636=>611,42637=>583,42644=>686,42645=>634,42760=>493,42761=>493,42762=>493,42763=>493,42764=>493,42765=>493,42766=>493,42767=>493,42768=>493,42769=>493,42770=>493,42771=>493,42772=>493,42773=>493,42774=>493,42779=>369,42780=>369,42781=>252,42782=>252,42783=>252,42786=>385,42787=>356,42788=>472,42789=>472,42790=>752,42791=>634,42792=>878,42793=>709,42794=>614,42795=>541,42800=>491,42801=>521,42802=>1250,42803=>985,42804=>1203,42805=>990,42806=>1142,42807=>981,42808=>971,42809=>818,42810=>971,42811=>818,42812=>959,42813=>818,42814=>703,42815=>549,42816=>656,42817=>583,42822=>680,42823=>392,42824=>582,42825=>427,42826=>807,42827=>704,42830=>1358,42831=>1019,42832=>603,42833=>635,42834=>734,42835=>774,42838=>787,42839=>635,42852=>605,42853=>635,42854=>605,42855=>635,42880=>557,42881=>278,42882=>735,42883=>634,42889=>337,42890=>376,42891=>401,42892=>275,42893=>686,42894=>487,42896=>772,42897=>667,42912=>775,42913=>635,42914=>656,42915=>579,42916=>748,42917=>634,42918=>695,42919=>411,42920=>635,42921=>521,42922=>801,43002=>915,43003=>575,43004=>603,43005=>863,43006=>295,43007=>1199,61184=>213,61185=>238,61186=>257,61187=>264,61188=>267,61189=>238,61190=>213,61191=>238,61192=>257,61193=>264,61194=>257,61195=>238,61196=>213,61197=>238,61198=>257,61199=>264,61200=>257,61201=>238,61202=>213,61203=>238,61204=>267,61205=>264,61206=>257,61207=>238,61208=>213,61209=>275,61440=>977,61441=>977,61442=>977,61443=>977,62464=>580,62465=>580,62466=>624,62467=>889,62468=>585,62469=>580,62470=>653,62471=>882,62472=>555,62473=>580,62474=>1168,62475=>589,62476=>590,62477=>869,62478=>580,62479=>589,62480=>914,62481=>590,62482=>731,62483=>583,62484=>872,62485=>589,62486=>895,62487=>589,62488=>589,62489=>590,62490=>649,62491=>589,62492=>589,62493=>599,62494=>590,62495=>516,62496=>580,62497=>584,62498=>580,62499=>580,62500=>581,62501=>638,62502=>955,62504=>931,62505=>808,62506=>508,62507=>508,62508=>508,62509=>508,62510=>508,62511=>508,62512=>508,62513=>508,62514=>508,62515=>508,62516=>518,62517=>518,62518=>518,62519=>787,62520=>787,62521=>787,62522=>787,62523=>787,62524=>546,62525=>546,62526=>546,62527=>546,62528=>546,62529=>546,63173=>612,64256=>689,64257=>630,64258=>630,64259=>967,64260=>967,64261=>686,64262=>861,64275=>1202,64276=>1202,64277=>1196,64278=>1186,64279=>1529,64285=>224,64286=>0,64287=>331,64288=>636,64289=>856,64290=>774,64291=>906,64292=>771,64293=>843,64294=>855,64295=>807,64296=>875,64297=>838,64298=>708,64299=>708,64300=>708,64301=>708,64302=>668,64303=>668,64304=>668,64305=>578,64306=>412,64307=>546,64308=>653,64309=>355,64310=>406,64312=>648,64313=>330,64314=>537,64315=>529,64316=>568,64318=>679,64320=>399,64321=>649,64323=>640,64324=>625,64326=>593,64327=>709,64328=>564,64329=>708,64330=>657,64331=>272,64332=>578,64333=>529,64334=>625,64335=>629,64338=>941,64339=>982,64340=>278,64341=>302,64342=>941,64343=>982,64344=>278,64345=>302,64346=>941,64347=>982,64348=>278,64349=>302,64350=>941,64351=>982,64352=>278,64353=>302,64354=>941,64355=>982,64356=>278,64357=>302,64358=>941,64359=>982,64360=>278,64361=>302,64362=>1037,64363=>1035,64364=>478,64365=>506,64366=>1037,64367=>1035,64368=>478,64369=>506,64370=>646,64371=>646,64372=>618,64373=>646,64374=>646,64375=>646,64376=>618,64377=>646,64378=>646,64379=>646,64380=>618,64381=>646,64382=>646,64383=>646,64384=>618,64385=>646,64386=>445,64387=>525,64388=>445,64389=>525,64390=>445,64391=>525,64392=>445,64393=>525,64394=>483,64395=>552,64396=>483,64397=>552,64398=>895,64399=>895,64400=>476,64401=>552,64402=>895,64403=>895,64404=>476,64405=>552,64406=>895,64407=>895,64408=>476,64409=>552,64410=>895,64411=>895,64412=>476,64413=>552,64414=>734,64415=>761,64416=>734,64417=>761,64418=>278,64419=>302,64426=>698,64427=>632,64428=>527,64429=>461,64467=>824,64468=>843,64469=>476,64470=>552,64473=>483,64474=>517,64488=>278,64489=>302,64508=>783,64509=>833,64510=>278,64511=>302,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65136=>293,65137=>293,65138=>293,65139=>262,65140=>293,65142=>293,65143=>293,65144=>293,65145=>293,65146=>293,65147=>293,65148=>293,65149=>293,65150=>293,65151=>293,65152=>470,65153=>278,65154=>305,65155=>278,65156=>305,65157=>483,65158=>517,65159=>278,65160=>305,65161=>783,65162=>833,65163=>278,65164=>302,65165=>278,65166=>305,65167=>941,65168=>982,65169=>278,65170=>302,65171=>524,65172=>536,65173=>941,65174=>982,65175=>278,65176=>302,65177=>941,65178=>982,65179=>278,65180=>302,65181=>646,65182=>646,65183=>618,65184=>646,65185=>646,65186=>646,65187=>618,65188=>646,65189=>646,65190=>646,65191=>618,65192=>646,65193=>445,65194=>525,65195=>445,65196=>525,65197=>483,65198=>552,65199=>483,65200=>552,65201=>1221,65202=>1275,65203=>838,65204=>892,65205=>1221,65206=>1275,65207=>838,65208=>892,65209=>1209,65210=>1225,65211=>849,65212=>867,65213=>1209,65214=>1225,65215=>849,65216=>867,65217=>925,65218=>949,65219=>796,65220=>820,65221=>925,65222=>949,65223=>796,65224=>820,65225=>597,65226=>532,65227=>597,65228=>482,65229=>597,65230=>532,65231=>523,65232=>482,65233=>1037,65234=>1035,65235=>478,65236=>506,65237=>776,65238=>834,65239=>478,65240=>506,65241=>824,65242=>843,65243=>476,65244=>552,65245=>727,65246=>757,65247=>305,65248=>331,65249=>619,65250=>666,65251=>536,65252=>578,65253=>734,65254=>761,65255=>278,65256=>302,65257=>524,65258=>536,65259=>527,65260=>461,65261=>483,65262=>517,65263=>783,65264=>833,65265=>783,65266=>833,65267=>278,65268=>302,65269=>570,65270=>597,65271=>570,65272=>597,65273=>570,65274=>597,65275=>570,65276=>597,65279=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1025,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusans.z b/vendor/tecnickcom/tcpdf/fonts/dejavusans.z new file mode 100644 index 0000000..d0c4d3d Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusans.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansb.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansb.ctg.z new file mode 100644 index 0000000..71cef63 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansb.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansb.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansb.php new file mode 100644 index 0000000..5214aef --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansb.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-1069 -415 1975 1174]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>60,'StemH'=>26,'AvgWidth'=>573,'MaxWidth'=>2016,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(140,0,316,729),34=>array(95,458,426,729),35=>array(68,0,770,718),36=>array(78,-147,628,760),37=>array(32,-14,970,742),38=>array(60,-14,830,742),39=>array(95,458,211,729),40=>array(86,-132,377,759),41=>array(80,-132,371,759),42=>array(20,278,503,742),43=>array(106,0,732,627),44=>array(53,-142,278,189),45=>array(54,217,361,359),46=>array(102,0,278,189),47=>array(0,-93,365,729),48=>array(48,-14,648,742),49=>array(113,0,627,729),50=>array(79,0,609,742),51=>array(67,-14,616,742),52=>array(45,0,650,729),53=>array(77,-14,626,729),54=>array(62,-14,642,741),55=>array(67,0,616,729),56=>array(61,-14,634,742),57=>array(52,-14,632,741),58=>array(112,0,288,547),59=>array(63,-142,288,547),60=>array(106,30,732,597),61=>array(106,144,732,482),62=>array(106,30,732,597),63=>array(69,0,515,742),64=>array(66,-174,929,703),65=>array(5,0,769,729),66=>array(92,0,692,729),67=>array(50,-14,670,742),68=>array(92,0,778,729),69=>array(92,0,610,729),70=>array(92,0,599,729),71=>array(50,-14,747,742),72=>array(92,0,745,729),73=>array(92,0,280,729),74=>array(-56,-200,280,729),75=>array(92,0,805,729),76=>array(92,0,610,729),77=>array(92,0,903,729),78=>array(92,0,745,729),79=>array(50,-14,800,742),80=>array(92,0,692,729),81=>array(50,-146,800,742),82=>array(92,0,750,729),83=>array(72,-14,647,742),84=>array(5,0,677,729),85=>array(92,-14,720,729),86=>array(5,0,769,729),87=>array(30,0,1072,729),88=>array(19,0,751,729),89=>array(-10,0,734,729),90=>array(45,0,680,729),91=>array(86,-132,389,760),92=>array(0,-93,365,729),93=>array(68,-132,371,760),94=>array(101,457,737,729),95=>array(0,-236,500,-143),96=>array(46,616,322,800),97=>array(43,-14,596,560),98=>array(84,-14,671,760),99=>array(43,-14,526,560),100=>array(45,-14,632,760),101=>array(43,-14,630,560),102=>array(19,0,444,760),103=>array(45,-216,632,559),104=>array(84,0,634,760),105=>array(84,0,259,760),106=>array(-33,-216,259,760),107=>array(84,0,684,760),108=>array(84,0,259,760),109=>array(83,0,963,560),110=>array(84,0,634,560),111=>array(43,-14,644,560),112=>array(84,-208,671,560),113=>array(45,-208,632,559),114=>array(84,0,490,560),115=>array(52,-14,548,560),116=>array(13,0,455,702),117=>array(78,-14,628,547),118=>array(15,0,637,547),119=>array(35,0,889,547),120=>array(15,0,630,547),121=>array(12,-216,634,547),122=>array(45,0,534,547),123=>array(125,-163,587,760),124=>array(127,-236,238,764),125=>array(125,-163,587,760),126=>array(106,212,732,415),161=>array(140,0,316,729),162=>array(85,-153,567,699),163=>array(61,0,613,742),164=>array(36,30,601,596),165=>array(12,0,684,729),166=>array(127,-171,238,699),167=>array(7,-95,496,742),168=>array(96,654,404,774),169=>array(138,0,862,725),170=>array(77,182,489,742),171=>array(77,67,552,519),172=>array(106,140,732,444),173=>array(54,217,361,359),174=>array(138,0,862,725),175=>array(96,668,404,760),176=>array(87,424,412,749),177=>array(106,0,732,627),178=>array(53,326,382,742),179=>array(44,319,384,742),180=>array(178,616,454,800),181=>array(85,-209,704,547),182=>array(63,-96,549,729),183=>array(102,253,278,442),184=>array(128,-196,349,0),185=>array(60,326,382,734),186=>array(57,182,507,742),187=>array(94,67,569,519),188=>array(49,-14,957,742),189=>array(49,-14,987,742),190=>array(51,-14,957,742),191=>array(69,-14,515,729),192=>array(5,0,769,927),193=>array(5,0,769,927),194=>array(5,0,769,927),195=>array(5,0,769,931),196=>array(5,0,769,927),197=>array(5,0,769,928),198=>array(0,0,1012,729),199=>array(50,-196,670,742),200=>array(92,0,610,927),201=>array(92,0,610,927),202=>array(92,0,610,927),203=>array(92,0,610,927),204=>array(11,0,280,927),205=>array(92,0,337,927),206=>array(1,0,370,927),207=>array(32,0,339,927),208=>array(16,0,787,729),209=>array(92,0,745,928),210=>array(50,-14,800,927),211=>array(50,-14,800,927),212=>array(50,-14,800,927),213=>array(50,-14,800,928),214=>array(50,-14,800,927),215=>array(125,20,713,607),216=>array(22,-36,823,765),217=>array(92,-14,720,927),218=>array(92,-14,720,927),219=>array(92,-14,720,927),220=>array(92,-14,720,927),221=>array(-10,0,734,927),222=>array(92,0,692,729),223=>array(84,-14,676,760),224=>array(43,-14,596,800),225=>array(43,-14,596,800),226=>array(43,-14,596,800),227=>array(43,-14,596,778),228=>array(43,-14,596,774),229=>array(43,-14,596,888),230=>array(43,-14,1000,560),231=>array(43,-196,526,560),232=>array(43,-14,630,800),233=>array(43,-14,630,800),234=>array(43,-14,630,800),235=>array(43,-14,630,774),236=>array(-21,0,259,800),237=>array(84,0,387,800),238=>array(-13,0,355,800),239=>array(17,0,325,774),240=>array(43,-14,644,760),241=>array(84,0,634,778),242=>array(43,-14,644,800),243=>array(43,-14,644,800),244=>array(43,-14,644,800),245=>array(43,-14,644,778),246=>array(43,-14,644,774),247=>array(106,42,732,585),248=>array(38,-46,645,594),249=>array(78,-14,628,800),250=>array(78,-14,628,800),251=>array(78,-14,628,800),252=>array(78,-14,628,774),253=>array(12,-216,634,800),254=>array(84,-208,671,760),255=>array(12,-216,634,774),256=>array(5,0,769,914),257=>array(43,-14,596,763),258=>array(5,0,769,935),259=>array(43,-14,596,780),260=>array(5,-196,769,729),261=>array(43,-196,596,560),262=>array(50,-14,670,927),263=>array(43,-14,557,800),264=>array(50,-14,670,927),265=>array(43,-14,542,800),266=>array(50,-14,670,927),267=>array(43,-14,526,760),268=>array(50,-14,670,927),269=>array(43,-14,537,800),270=>array(92,0,778,927),271=>array(45,-14,871,760),272=>array(16,0,787,729),273=>array(45,-14,707,760),274=>array(92,0,610,914),275=>array(43,-14,630,763),276=>array(92,0,610,927),277=>array(43,-14,630,784),278=>array(92,0,610,927),279=>array(43,-14,630,760),280=>array(92,-196,610,729),281=>array(43,-196,630,560),282=>array(92,0,610,927),283=>array(43,-14,630,800),284=>array(50,-14,747,927),285=>array(45,-216,632,800),286=>array(50,-14,747,927),287=>array(45,-216,632,784),288=>array(50,-14,747,927),289=>array(45,-216,632,760),290=>array(50,-224,747,742),291=>array(45,-216,632,765),292=>array(92,0,745,927),293=>array(-9,0,634,927),294=>array(92,0,882,729),295=>array(81,0,709,760),296=>array(16,0,355,928),297=>array(1,0,341,778),298=>array(32,0,339,914),299=>array(18,0,325,763),300=>array(21,0,350,927),301=>array(7,0,335,784),302=>array(92,-196,366,729),303=>array(84,-196,345,760),304=>array(92,0,280,927),305=>array(84,0,259,547),306=>array(92,-200,651,729),307=>array(84,-216,602,760),308=>array(-56,-200,370,927),309=>array(-33,-216,355,800),310=>array(92,-209,805,729),311=>array(84,-209,684,760),312=>array(84,0,684,547),313=>array(92,0,610,928),314=>array(84,0,357,928),315=>array(92,-209,610,729),316=>array(71,-209,273,760),317=>array(92,0,610,729),318=>array(84,0,479,760),319=>array(92,0,610,729),320=>array(84,0,484,760),321=>array(-45,0,615,729),322=>array(-18,0,390,760),323=>array(92,0,745,928),324=>array(84,0,634,803),325=>array(92,-209,745,729),326=>array(84,-209,634,560),327=>array(92,0,745,927),328=>array(84,0,634,800),329=>array(51,0,891,729),330=>array(84,-200,730,742),331=>array(84,-216,634,560),332=>array(50,-14,800,914),333=>array(43,-14,644,763),334=>array(50,-14,800,927),335=>array(43,-14,644,787),336=>array(50,-14,800,927),337=>array(43,-14,644,800),338=>array(50,-1,1094,730),339=>array(43,-14,1046,560),340=>array(92,0,750,928),341=>array(84,0,515,803),342=>array(92,-209,750,729),343=>array(71,-209,490,560),344=>array(92,0,750,927),345=>array(84,0,490,800),346=>array(72,-14,647,928),347=>array(52,-14,548,803),348=>array(72,-14,647,927),349=>array(52,-14,548,800),350=>array(72,-196,647,742),351=>array(52,-196,548,560),352=>array(72,-14,647,927),353=>array(52,-14,548,800),354=>array(5,-196,677,729),355=>array(13,-196,455,702),356=>array(5,0,677,930),357=>array(13,0,507,814),358=>array(5,0,677,729),359=>array(13,0,455,702),360=>array(92,-14,720,928),361=>array(78,-14,628,778),362=>array(92,-14,720,914),363=>array(78,-14,628,763),364=>array(92,-14,720,927),365=>array(78,-14,628,784),366=>array(92,-14,720,929),367=>array(78,-14,628,881),368=>array(92,-14,720,927),369=>array(78,-14,628,800),370=>array(92,-196,720,729),371=>array(78,-196,716,547),372=>array(30,0,1072,931),373=>array(35,0,889,800),374=>array(-10,0,734,931),375=>array(12,-216,634,800),376=>array(-10,0,734,927),377=>array(45,0,680,928),378=>array(45,0,534,803),379=>array(45,0,680,929),380=>array(45,0,534,760),381=>array(45,0,680,927),382=>array(45,0,534,800),383=>array(19,0,444,760),384=>array(9,-14,671,760),385=>array(-68,0,741,729),386=>array(92,0,692,729),387=>array(84,-14,671,760),388=>array(40,0,731,729),389=>array(25,-14,696,760),390=>array(50,-14,670,742),391=>array(50,-14,818,924),392=>array(43,-14,643,724),393=>array(16,0,787,729),394=>array(-68,0,827,729),395=>array(70,0,669,729),396=>array(45,-14,632,760),397=>array(43,-222,645,560),398=>array(92,0,610,729),399=>array(51,-14,800,742),400=>array(67,-14,616,742),401=>array(-56,-200,599,729),402=>array(-57,-208,444,760),403=>array(50,-14,868,924),404=>array(2,-211,793,730),405=>array(84,0,1000,760),406=>array(92,0,428,729),407=>array(5,0,384,729),408=>array(92,0,805,742),409=>array(84,0,684,760),410=>array(5,0,355,760),411=>array(-11,0,562,760),412=>array(83,-13,963,729),413=>array(-56,-200,745,729),414=>array(84,-208,634,560),415=>array(50,-14,800,742),416=>array(53,-14,854,761),417=>array(46,-14,708,609),418=>array(50,-14,1007,742),419=>array(43,-216,826,560),420=>array(-68,0,741,729),421=>array(84,-208,671,760),422=>array(92,-146,760,729),423=>array(26,-14,601,742),424=>array(15,-14,511,560),425=>array(92,0,610,729),426=>array(-31,-217,561,760),427=>array(13,-216,455,702),428=>array(15,0,701,729),429=>array(13,0,455,760),430=>array(5,-200,677,729),431=>array(91,-14,833,761),432=>array(75,-14,733,609),433=>array(27,-14,823,728),434=>array(92,0,772,729),435=>array(-10,0,796,742),436=>array(12,-216,778,560),437=>array(45,0,680,729),438=>array(45,0,534,547),439=>array(72,-33,728,729),440=>array(41,-33,696,729),441=>array(37,-215,586,547),442=>array(57,-208,534,547),443=>array(79,0,609,742),444=>array(41,-33,728,729),445=>array(37,-215,586,547),446=>array(36,-15,525,702),447=>array(84,-208,671,560),448=>array(92,-208,280,729),449=>array(92,-208,566,729),450=>array(5,-208,536,729),451=>array(99,0,274,729),452=>array(92,0,1510,927),453=>array(92,0,1364,800),454=>array(45,-14,1250,800),455=>array(92,-200,917,729),456=>array(92,-216,896,760),457=>array(84,-216,602,760),458=>array(92,-200,1117,729),459=>array(92,-216,1096,760),460=>array(84,-216,971,760),461=>array(5,0,769,927),462=>array(43,-14,596,800),463=>array(3,0,371,927),464=>array(2,0,370,800),465=>array(50,-14,800,927),466=>array(43,-14,644,800),467=>array(92,-14,720,927),468=>array(78,-14,628,800),469=>array(92,-14,720,1040),470=>array(78,-14,628,914),471=>array(92,-14,720,1114),472=>array(78,-14,628,917),473=>array(92,-14,720,1114),474=>array(78,-14,628,917),475=>array(92,-14,720,1114),476=>array(78,-14,628,917),477=>array(43,-14,630,560),478=>array(5,0,769,1040),479=>array(43,-14,596,914),480=>array(5,0,769,1042),481=>array(43,-14,596,914),482=>array(0,0,1012,914),483=>array(43,-14,1000,758),484=>array(50,-14,792,742),485=>array(45,-216,674,559),486=>array(50,-14,747,927),487=>array(45,-216,632,800),488=>array(92,0,805,927),489=>array(-5,0,684,927),490=>array(50,-196,800,742),491=>array(43,-196,644,560),492=>array(50,-196,800,914),493=>array(43,-196,644,763),494=>array(72,-33,728,927),495=>array(43,-215,593,793),496=>array(-33,-216,359,800),497=>array(92,0,1510,729),498=>array(92,0,1364,729),499=>array(45,-14,1250,760),500=>array(50,-14,747,928),501=>array(45,-216,632,800),502=>array(92,-14,1186,729),503=>array(92,-208,737,742),504=>array(92,0,745,927),505=>array(84,0,634,800),506=>array(5,0,769,931),507=>array(43,-14,708,931),508=>array(0,0,1012,927),509=>array(43,-14,1000,800),510=>array(22,-36,823,927),511=>array(38,-46,645,800),512=>array(5,0,769,928),513=>array(43,-14,596,800),514=>array(5,0,769,923),515=>array(43,-14,596,784),516=>array(92,0,610,928),517=>array(43,-14,630,800),518=>array(92,0,610,923),519=>array(43,-14,630,784),520=>array(-41,0,377,928),521=>array(-3,0,381,800),522=>array(23,0,351,923),523=>array(7,0,335,784),524=>array(50,-14,800,928),525=>array(43,-14,644,800),526=>array(50,-14,800,923),527=>array(43,-14,644,784),528=>array(92,0,750,928),529=>array(58,0,490,800),530=>array(92,0,750,923),531=>array(84,0,490,784),532=>array(92,-14,720,928),533=>array(78,-14,628,800),534=>array(92,-14,720,923),535=>array(78,-14,628,784),536=>array(72,-239,647,742),537=>array(52,-239,548,560),538=>array(5,-239,677,729),539=>array(13,-239,455,702),540=>array(67,-210,616,742),541=>array(49,-211,544,560),542=>array(92,0,745,927),543=>array(-12,0,634,927),544=>array(84,-208,730,742),545=>array(45,-75,822,760),546=>array(61,-14,748,742),547=>array(43,-14,616,646),548=>array(45,-216,680,729),549=>array(45,-216,534,547),550=>array(5,0,769,927),551=>array(43,-14,596,760),552=>array(92,-192,610,729),553=>array(43,-196,630,560),554=>array(50,-14,800,1040),555=>array(43,-14,644,914),556=>array(50,-14,800,1040),557=>array(43,-14,644,898),558=>array(50,-14,800,927),559=>array(43,-14,644,760),560=>array(50,-14,800,1042),561=>array(43,-14,644,914),562=>array(-10,0,734,914),563=>array(12,-216,634,763),564=>array(84,-75,449,760),565=>array(84,-75,824,560),566=>array(13,-76,469,702),567=>array(-33,-216,259,547),568=>array(45,-14,1043,760),569=>array(45,-208,1043,560),570=>array(-14,-36,788,765),571=>array(-34,-36,768,765),572=>array(-7,-46,600,594),573=>array(-1,0,610,729),574=>array(-60,-36,742,765),575=>array(52,-240,595,560),576=>array(45,-240,595,547),577=>array(40,0,741,729),578=>array(42,0,573,560),579=>array(6,0,692,729),580=>array(23,-14,789,729),581=>array(5,0,769,729),582=>array(92,-93,610,822),583=>array(43,-93,630,640),584=>array(-56,-200,360,729),585=>array(-33,-216,360,760),586=>array(48,-200,927,741),587=>array(45,-216,800,560),588=>array(6,0,750,729),589=>array(-21,0,490,560),590=>array(-10,0,734,729),591=>array(-4,-216,656,547),592=>array(78,-14,631,560),593=>array(45,-14,632,560),594=>array(84,-14,671,560),595=>array(84,-14,671,760),596=>array(43,-14,526,560),597=>array(43,-69,526,560),598=>array(45,-216,750,760),599=>array(45,-14,801,760),600=>array(43,-14,630,560),601=>array(43,-14,630,560),602=>array(59,-14,885,560),603=>array(54,-14,493,560),604=>array(54,-14,493,560),605=>array(54,-14,769,560),606=>array(54,-14,665,560),607=>array(-33,-216,360,547),608=>array(45,-216,801,760),609=>array(45,-216,632,547),610=>array(43,-14,545,546),611=>array(25,-211,619,547),612=>array(25,-21,619,547),613=>array(78,-214,628,547),614=>array(84,0,634,760),615=>array(84,-216,634,760),616=>array(84,0,461,760),617=>array(83,0,356,547),618=>array(84,0,461,547),619=>array(84,0,475,760),620=>array(84,0,609,760),621=>array(85,-216,429,760),622=>array(84,-215,793,760),623=>array(79,-14,959,546),624=>array(79,-209,959,546),625=>array(83,-216,964,560),626=>array(-33,-216,634,560),627=>array(84,-216,802,560),628=>array(84,0,623,547),629=>array(43,-14,644,560),630=>array(43,-1,826,547),631=>array(51,0,630,574),632=>array(60,-208,729,760),633=>array(84,-13,490,547),634=>array(84,-13,490,760),635=>array(84,-216,659,547),636=>array(84,-208,490,560),637=>array(83,-216,490,560),638=>array(84,0,530,547),639=>array(84,0,530,547),640=>array(52,0,590,547),641=>array(52,0,590,547),642=>array(52,-216,548,560),643=>array(-33,-216,431,760),644=>array(-11,-216,444,760),645=>array(84,-216,539,560),646=>array(-31,-217,561,760),647=>array(13,-155,455,547),648=>array(13,-216,455,702),649=>array(84,-14,836,547),650=>array(79,-14,693,547),651=>array(83,0,625,547),652=>array(15,0,637,547),653=>array(35,0,889,547),654=>array(12,0,634,763),655=>array(64,0,660,547),656=>array(45,-216,703,547),657=>array(45,-69,617,547),658=>array(43,-215,593,547),659=>array(57,-215,593,547),660=>array(36,0,525,759),661=>array(36,0,525,759),662=>array(36,0,525,759),663=>array(36,-208,525,759),664=>array(50,-14,800,742),665=>array(84,0,589,547),666=>array(54,-14,665,560),667=>array(43,0,693,760),668=>array(84,0,607,547),669=>array(-170,-216,341,760),670=>array(84,-213,684,547),671=>array(84,0,499,547),672=>array(45,-208,801,760),673=>array(36,0,525,759),674=>array(36,0,525,759),675=>array(45,-14,1108,760),676=>array(45,-215,1167,760),677=>array(45,-55,1107,760),678=>array(13,0,928,702),679=>array(13,-216,777,760),680=>array(13,-69,881,702),681=>array(19,-216,979,760),682=>array(84,0,815,760),683=>array(84,0,732,760),684=>array(22,0,569,641),685=>array(22,86,345,641),686=>array(-89,-214,629,760),687=>array(-89,-216,797,760),688=>array(54,326,406,751),689=>array(54,326,406,751),690=>array(-21,205,166,751),691=>array(54,326,314,640),692=>array(54,319,314,632),693=>array(54,205,421,632),694=>array(14,326,358,632),695=>array(22,326,569,632),696=>array(8,205,406,632),697=>array(78,557,218,800),698=>array(78,557,437,800),699=>array(103,418,318,729),700=>array(63,418,278,729),701=>array(124,616,296,856),702=>array(116,481,255,760),703=>array(116,481,255,760),704=>array(23,326,336,751),705=>array(23,326,336,751),706=>array(130,517,370,843),707=>array(130,517,370,843),708=>array(87,561,413,800),709=>array(87,561,413,800),710=>array(66,616,434,800),711=>array(66,616,434,800),712=>array(107,488,199,759),713=>array(96,668,404,760),714=>array(178,616,454,800),715=>array(46,616,322,800),716=>array(107,-81,199,190),717=>array(96,-184,404,-92),718=>array(46,-236,322,-52),719=>array(178,-236,454,-52),720=>array(45,0,246,547),721=>array(45,361,246,547),722=>array(116,269,255,547),723=>array(116,269,255,547),724=>array(138,238,357,458),725=>array(141,238,360,458),726=>array(54,119,362,427),727=>array(54,229,274,317),728=>array(86,639,414,784),729=>array(183,654,317,774),730=>array(111,610,389,888),731=>array(167,-196,376,0),732=>array(80,638,420,778),733=>array(94,616,479,800),734=>array(0,213,360,524),735=>array(111,616,387,800),736=>array(16,208,390,633),737=>array(54,326,166,751),738=>array(33,318,351,640),739=>array(10,326,403,632),740=>array(23,326,336,751),741=>array(96,0,404,693),742=>array(96,0,404,693),743=>array(96,0,404,693),744=>array(96,0,404,693),745=>array(96,0,404,693),748=>array(88,-260,414,-21),749=>array(96,605,404,822),750=>array(92,418,554,729),755=>array(111,-240,389,38),759=>array(80,-196,420,-84),768=>array(-455,616,-179,800),769=>array(-326,616,-50,800),770=>array(-435,616,-67,800),771=>array(-424,638,-84,778),772=>array(-405,668,-97,760),773=>array(-500,663,0,755),774=>array(-409,639,-81,784),775=>array(-338,617,-164,760),776=>array(-402,654,-94,774),777=>array(-370,616,-122,843),778=>array(-390,610,-112,888),779=>array(-404,616,-19,800),780=>array(-435,616,-67,800),781=>array(-297,615,-205,832),782=>array(-390,615,-113,832),783=>array(-484,616,-100,800),784=>array(-409,639,-81,882),785=>array(-409,639,-81,784),786=>array(-271,418,-69,563),787=>array(-266,595,-132,844),788=>array(-266,595,-132,844),789=>array(-89,616,89,800),790=>array(-455,-276,-179,-93),791=>array(-326,-276,-50,-93),792=>array(-380,-240,-211,-6),793=>array(-295,-240,-126,-6),794=>array(-224,658,47,929),795=>array(-175,400,21,609),796=>array(-331,-240,-216,-11),797=>array(-386,-240,-115,-59),798=>array(-389,-240,-118,-59),799=>array(-370,-240,-136,-6),800=>array(-389,-202,-118,-110),801=>array(-423,-216,-79,117),802=>array(-419,-216,-75,117),803=>array(-338,-212,-164,-70),804=>array(-402,-212,-94,-92),805=>array(-365,-240,-135,-11),806=>array(-327,-239,-125,-93),807=>array(-372,-196,-151,0),808=>array(-333,-196,-124,0),809=>array(-297,-240,-205,-47),810=>array(-405,-237,-97,-54),811=>array(-450,-239,-51,-94),812=>array(-435,-240,-67,-57),813=>array(-435,-240,-67,-57),814=>array(-409,-239,-81,-94),815=>array(-409,-240,-81,-95),816=>array(-424,-234,-84,-94),817=>array(-405,-184,-97,-92),818=>array(-500,-236,0,-143),819=>array(-500,-236,0,-9),820=>array(-625,212,1,415),821=>array(-471,214,-94,309),822=>array(-837,214,-86,309),823=>array(-655,-46,-48,594),824=>array(-825,-36,-24,765),825=>array(-285,-240,-170,-11),826=>array(-405,-238,-97,-55),827=>array(-332,-241,-98,-6),828=>array(-450,-239,-51,-94),829=>array(-379,585,-123,842),830=>array(-267,595,-127,867),831=>array(-500,528,0,755),832=>array(-455,616,-179,800),833=>array(-323,616,-47,800),834=>array(-421,638,-81,778),835=>array(-266,595,-132,844),836=>array(-404,654,-55,978),837=>array(-286,-208,-179,-45),838=>array(-403,639,-97,786),839=>array(-360,-226,-140,-35),840=>array(-379,-240,-121,-47),841=>array(-367,-240,-133,-21),842=>array(-420,616,-80,800),843=>array(-420,567,-80,850),844=>array(-420,573,-80,835),845=>array(-459,-230,-41,-30),846=>array(-357,-240,-143,-45),849=>array(-320,610,-179,888),850=>array(-409,640,-81,882),851=>array(-367,-240,-135,-9),855=>array(-320,610,-179,888),856=>array(-120,654,14,774),858=>array(-445,-240,-58,-11),860=>array(-433,-237,458,-79),861=>array(-433,802,458,960),862=>array(-445,797,445,889),863=>array(-445,-185,445,-93),864=>array(-362,756,362,894),865=>array(-445,769,445,927),866=>array(-449,-230,454,-30),880=>array(92,0,606,729),881=>array(84,0,481,547),882=>array(92,0,930,729),883=>array(92,0,744,729),884=>array(78,557,218,800),885=>array(78,-208,218,35),886=>array(92,0,745,729),887=>array(84,0,617,547),890=>array(202,-208,333,-45),891=>array(43,-14,526,560),892=>array(43,-14,526,560),893=>array(43,-14,526,560),894=>array(63,-142,288,547),900=>array(169,616,445,800),901=>array(96,654,445,978),902=>array(26,0,792,800),903=>array(102,253,278,442),904=>array(-24,0,771,800),905=>array(-18,0,915,800),906=>array(-21,0,450,800),908=>array(-19,-14,836,800),910=>array(-27,0,992,800),911=>array(-30,0,867,800),912=>array(23,-19,372,978),913=>array(5,0,769,729),914=>array(92,0,692,729),915=>array(92,0,610,729),916=>array(5,0,769,729),917=>array(92,0,610,729),918=>array(45,0,680,729),919=>array(92,0,745,729),920=>array(50,-14,800,742),921=>array(92,0,280,729),922=>array(92,0,805,729),923=>array(5,0,769,729),924=>array(92,0,903,729),925=>array(92,0,745,729),926=>array(98,0,548,729),927=>array(50,-14,800,742),928=>array(92,0,745,729),929=>array(92,0,692,729),931=>array(92,0,610,729),932=>array(5,0,677,729),933=>array(-10,0,734,729),934=>array(50,0,800,729),935=>array(19,0,751,729),936=>array(56,0,795,729),937=>array(27,0,823,742),938=>array(34,0,342,927),939=>array(-10,0,734,927),940=>array(48,-13,645,800),941=>array(54,-14,493,800),942=>array(84,-208,634,800),943=>array(77,-19,353,800),944=>array(78,-10,629,978),945=>array(48,-13,645,559),946=>array(84,-208,671,773),947=>array(15,-208,667,547),948=>array(43,-14,645,768),949=>array(54,-14,493,560),950=>array(43,-208,542,760),951=>array(84,-208,634,560),952=>array(43,-11,645,768),953=>array(78,-19,348,547),954=>array(84,0,655,547),955=>array(30,0,603,760),956=>array(85,-209,704,547),957=>array(15,0,635,547),958=>array(43,-208,542,760),959=>array(43,-14,644,560),960=>array(42,-19,732,547),961=>array(84,-208,671,562),962=>array(43,-208,526,560),963=>array(43,-14,727,547),964=>array(21,-19,612,547),965=>array(78,-10,629,547),966=>array(64,-208,725,552),967=>array(25,-208,620,547),968=>array(65,-208,724,547),969=>array(43,-13,826,547),970=>array(19,-19,355,774),971=>array(78,-10,629,774),972=>array(43,-14,644,800),973=>array(78,-10,629,800),974=>array(43,-13,826,800),975=>array(92,-208,805,729),976=>array(55,-11,575,768),977=>array(51,-11,612,768),978=>array(21,0,717,729),979=>array(-24,0,954,800),980=>array(21,0,717,927),981=>array(60,-208,729,760),982=>array(22,-13,843,547),983=>array(54,-205,688,548),984=>array(50,-208,800,742),985=>array(43,-208,644,560),986=>array(50,-208,678,729),987=>array(43,-208,541,547),988=>array(92,0,599,729),989=>array(-56,-208,437,760),990=>array(61,2,646,729),991=>array(82,0,571,759),992=>array(56,-208,843,742),993=>array(22,-180,537,559),994=>array(50,-213,1043,729),995=>array(59,-208,775,547),996=>array(50,-208,740,742),997=>array(45,-208,632,560),998=>array(92,-213,878,729),999=>array(21,-14,689,575),1000=>array(42,-208,692,745),1001=>array(46,-208,608,560),1002=>array(53,0,736,742),1003=>array(49,0,622,560),1004=>array(50,-14,715,758),1005=>array(83,-14,670,758),1006=>array(28,-208,654,729),1007=>array(27,-208,563,729),1008=>array(54,-7,688,548),1009=>array(84,-216,671,562),1010=>array(43,-14,526,560),1011=>array(-33,-216,259,760),1012=>array(50,-14,800,742),1013=>array(67,-14,550,560),1014=>array(81,-14,563,560),1015=>array(92,0,692,729),1016=>array(84,-208,671,760),1017=>array(50,-14,670,742),1018=>array(92,0,903,729),1019=>array(73,-208,649,547),1020=>array(33,-208,671,562),1021=>array(33,-14,653,742),1022=>array(50,-14,670,742),1023=>array(33,-14,653,742),1024=>array(92,0,610,927),1025=>array(92,0,610,927),1026=>array(5,-200,798,729),1027=>array(92,0,610,928),1028=>array(50,-14,670,742),1029=>array(72,-14,647,742),1030=>array(92,0,280,729),1031=>array(32,0,339,927),1032=>array(-56,-200,280,729),1033=>array(46,0,1102,729),1034=>array(92,0,1060,729),1035=>array(5,0,798,729),1036=>array(92,0,803,928),1037=>array(92,0,745,927),1038=>array(29,0,741,927),1039=>array(92,-157,745,729),1040=>array(5,0,769,729),1041=>array(92,0,692,729),1042=>array(92,0,692,729),1043=>array(92,0,610,729),1044=>array(60,-157,831,729),1045=>array(92,0,610,729),1046=>array(15,0,1209,729),1047=>array(66,-14,645,742),1048=>array(92,0,745,729),1049=>array(92,0,745,927),1050=>array(92,0,803,729),1051=>array(46,0,739,729),1052=>array(92,0,903,729),1053=>array(92,0,745,729),1054=>array(50,-14,800,742),1055=>array(92,0,745,729),1056=>array(92,0,692,729),1057=>array(50,-14,670,742),1058=>array(5,0,677,729),1059=>array(29,0,741,729),1060=>array(50,0,941,729),1061=>array(19,0,751,729),1062=>array(92,-157,868,729),1063=>array(81,0,716,729),1064=>array(92,0,1143,729),1065=>array(92,-157,1266,729),1066=>array(49,0,890,729),1067=>array(92,0,944,729),1068=>array(92,0,692,729),1069=>array(64,-14,684,742),1070=>array(92,-14,1119,742),1071=>array(64,0,678,729),1072=>array(43,-14,596,560),1073=>array(43,-14,655,792),1074=>array(84,0,589,547),1075=>array(84,0,499,547),1076=>array(56,-138,751,547),1077=>array(43,-14,630,560),1078=>array(15,0,980,547),1079=>array(49,-14,518,560),1080=>array(84,0,617,547),1081=>array(84,0,617,765),1082=>array(84,0,664,547),1083=>array(55,0,648,547),1084=>array(84,0,733,547),1085=>array(84,0,607,547),1086=>array(43,-14,644,560),1087=>array(84,0,607,547),1088=>array(84,-208,671,560),1089=>array(43,-14,526,560),1090=>array(4,0,575,547),1091=>array(12,-216,634,547),1092=>array(55,-208,937,760),1093=>array(15,0,630,547),1094=>array(84,-138,698,547),1095=>array(64,0,573,547),1096=>array(84,0,972,547),1097=>array(84,-138,1063,547),1098=>array(20,0,711,547),1099=>array(84,0,823,547),1100=>array(84,0,588,547),1101=>array(67,-14,550,560),1102=>array(84,-14,928,560),1103=>array(31,0,560,547),1104=>array(43,-14,630,803),1105=>array(43,-14,630,774),1106=>array(20,-216,669,760),1107=>array(84,0,520,803),1108=>array(43,-14,526,560),1109=>array(52,-14,548,560),1110=>array(84,0,259,760),1111=>array(17,0,325,774),1112=>array(-33,-216,259,760),1113=>array(44,0,942,547),1114=>array(84,0,912,547),1115=>array(20,0,656,760),1116=>array(84,0,664,803),1117=>array(84,0,617,803),1118=>array(12,-216,634,765),1119=>array(84,-138,607,547),1120=>array(50,-14,1043,729),1121=>array(43,-13,826,547),1122=>array(49,0,791,729),1123=>array(20,0,692,731),1124=>array(92,-14,948,742),1125=>array(84,-14,760,560),1126=>array(8,0,984,729),1127=>array(25,0,807,547),1128=>array(92,0,1351,729),1129=>array(84,0,1097,547),1130=>array(50,0,800,729),1131=>array(43,0,644,547),1132=>array(92,0,1137,729),1133=>array(84,0,964,547),1134=>array(54,-208,616,938),1135=>array(40,-193,493,756),1136=>array(9,0,1060,729),1137=>array(9,-208,1046,759),1138=>array(50,-14,800,742),1139=>array(43,-14,644,560),1140=>array(5,0,826,742),1141=>array(9,0,681,560),1142=>array(5,0,826,928),1143=>array(9,0,681,800),1144=>array(47,-216,1130,742),1145=>array(43,-216,1025,560),1146=>array(50,-14,1024,742),1147=>array(43,-14,820,560),1148=>array(57,-14,1348,928),1149=>array(47,-13,1126,828),1150=>array(50,-14,1043,910),1151=>array(43,-13,826,746),1152=>array(50,-208,670,742),1153=>array(43,-208,526,560),1154=>array(27,-33,521,488),1155=>array(-601,606,-85,822),1156=>array(-413,638,0,784),1157=>array(-365,595,-231,785),1158=>array(-365,595,-231,785),1159=>array(-796,592,4,788),1160=>array(-1069,-179,383,928),1161=>array(-996,-280,306,1022),1162=>array(92,-208,933,927),1163=>array(84,-208,782,765),1164=>array(23,0,692,729),1165=>array(0,0,567,702),1166=>array(92,0,702,729),1167=>array(84,-208,671,560),1168=>array(92,0,610,878),1169=>array(84,0,499,700),1170=>array(28,0,638,729),1171=>array(21,0,519,547),1172=>array(92,-200,728,729),1173=>array(84,-216,591,547),1174=>array(15,-157,1209,729),1175=>array(15,-138,980,547),1176=>array(66,-196,645,742),1177=>array(49,-196,518,560),1178=>array(92,-157,803,729),1179=>array(84,-138,664,547),1180=>array(92,0,803,729),1181=>array(84,0,664,547),1182=>array(23,0,803,729),1183=>array(7,0,664,760),1184=>array(24,0,1000,729),1185=>array(20,0,812,547),1186=>array(92,-157,932,729),1187=>array(84,-138,783,547),1188=>array(92,0,1075,729),1189=>array(84,0,847,547),1190=>array(92,-200,1193,729),1191=>array(84,-216,939,547),1192=>array(56,-14,924,743),1193=>array(55,-14,836,560),1194=>array(50,-196,670,742),1195=>array(43,-196,526,560),1196=>array(5,-157,677,729),1197=>array(4,-138,575,547),1198=>array(-10,0,734,729),1199=>array(12,-216,634,547),1200=>array(-10,0,734,729),1201=>array(12,-216,634,547),1202=>array(19,-157,751,729),1203=>array(15,-138,630,547),1204=>array(5,-157,1088,729),1205=>array(4,-138,976,547),1206=>array(81,-157,904,729),1207=>array(64,-138,749,547),1208=>array(81,0,716,729),1209=>array(64,0,573,547),1210=>array(81,0,716,729),1211=>array(84,0,634,760),1212=>array(7,-14,976,742),1213=>array(5,-14,761,560),1214=>array(7,-184,976,742),1215=>array(5,-161,761,560),1216=>array(92,0,280,729),1217=>array(15,0,1209,927),1218=>array(15,0,980,784),1219=>array(92,-200,769,729),1220=>array(84,-216,626,547),1221=>array(26,-208,926,729),1222=>array(21,-208,781,547),1223=>array(92,-200,745,729),1224=>array(84,-216,608,547),1225=>array(92,-208,933,729),1226=>array(84,-208,782,547),1227=>array(81,-157,716,729),1228=>array(64,-138,573,547),1229=>array(92,-208,1090,729),1230=>array(84,-208,908,547),1231=>array(84,0,259,760),1232=>array(5,0,769,935),1233=>array(43,-14,596,780),1234=>array(5,0,769,927),1235=>array(43,-14,596,774),1236=>array(0,0,1012,729),1237=>array(43,-14,1000,560),1238=>array(92,0,610,927),1239=>array(43,-14,630,784),1240=>array(51,-14,800,742),1241=>array(43,-14,630,560),1242=>array(51,-14,800,927),1243=>array(43,-14,630,774),1244=>array(15,0,1209,927),1245=>array(15,0,980,774),1246=>array(66,-14,645,927),1247=>array(49,-14,518,773),1248=>array(72,-33,728,729),1249=>array(43,-215,593,547),1250=>array(92,0,745,914),1251=>array(84,0,617,763),1252=>array(92,0,745,927),1253=>array(84,0,617,774),1254=>array(50,-14,800,927),1255=>array(43,-14,644,774),1256=>array(50,-14,800,742),1257=>array(43,-14,644,560),1258=>array(50,-14,800,927),1259=>array(43,-14,644,774),1260=>array(64,-14,684,927),1261=>array(67,-14,550,774),1262=>array(29,0,741,914),1263=>array(12,-216,634,763),1264=>array(29,0,741,927),1265=>array(12,-216,634,774),1266=>array(29,0,741,927),1267=>array(12,-216,634,800),1268=>array(81,0,716,927),1269=>array(64,0,573,774),1270=>array(92,-157,610,729),1271=>array(84,-138,499,547),1272=>array(92,0,944,927),1273=>array(84,0,823,774),1274=>array(28,-216,638,729),1275=>array(21,-217,519,547),1276=>array(19,-200,750,729),1277=>array(15,-216,620,547),1278=>array(19,0,751,729),1279=>array(15,0,630,547),1280=>array(70,0,670,729),1281=>array(44,0,524,547),1282=>array(70,-14,1081,729),1283=>array(44,-14,850,547),1284=>array(98,-14,1027,742),1285=>array(79,-14,836,560),1286=>array(98,-208,804,742),1287=>array(79,-208,668,560),1288=>array(26,-14,1150,729),1289=>array(21,-14,933,547),1290=>array(92,-14,1186,729),1291=>array(84,-14,939,547),1292=>array(50,-14,748,742),1293=>array(43,-14,544,546),1294=>array(5,-14,846,729),1295=>array(4,-14,709,547),1296=>array(67,-14,616,742),1297=>array(54,-14,493,560),1298=>array(46,-200,739,729),1299=>array(55,-216,648,547),1300=>array(46,0,1266,729),1301=>array(55,0,1053,547),1302=>array(92,0,1045,729),1303=>array(84,-208,964,560),1304=>array(64,0,1008,729),1305=>array(31,-14,965,560),1306=>array(50,-146,800,742),1307=>array(45,-208,632,559),1308=>array(30,0,1072,729),1309=>array(35,0,889,547),1310=>array(92,0,803,729),1311=>array(84,0,664,547),1312=>array(46,-200,1187,729),1313=>array(55,-216,980,547),1314=>array(92,-200,1193,729),1315=>array(84,-216,939,547),1316=>array(92,-157,933,729),1317=>array(84,-138,782,547),1329=>array(83,-38,731,729),1330=>array(83,0,655,743),1331=>array(26,0,728,743),1332=>array(22,0,731,743),1333=>array(83,-14,655,729),1334=>array(66,0,664,743),1335=>array(83,0,625,729),1336=>array(83,0,655,743),1337=>array(83,-13,903,742),1338=>array(26,-14,728,729),1339=>array(83,0,648,729),1340=>array(83,0,549,729),1341=>array(83,-14,888,729),1342=>array(62,-12,722,741),1343=>array(74,0,639,729),1344=>array(4,-46,598,729),1345=>array(66,-48,664,743),1346=>array(18,0,715,743),1347=>array(22,0,660,735),1348=>array(83,-14,780,729),1349=>array(57,-14,645,743),1350=>array(0,-14,697,729),1351=>array(57,-14,655,729),1352=>array(83,0,648,743),1353=>array(40,-48,638,743),1354=>array(18,0,789,743),1355=>array(57,0,654,743),1356=>array(83,0,780,743),1357=>array(92,-14,720,729),1358=>array(18,0,715,729),1359=>array(53,-14,641,743),1360=>array(83,0,648,743),1361=>array(57,-14,645,743),1362=>array(83,0,567,729),1363=>array(22,0,811,729),1364=>array(9,0,645,743),1365=>array(49,-14,799,742),1366=>array(44,-14,833,729),1369=>array(104,481,230,760),1370=>array(57,418,250,729),1371=>array(0,616,310,800),1372=>array(0,595,375,893),1373=>array(-7,614,290,847),1374=>array(0,586,460,878),1375=>array(40,618,434,893),1377=>array(71,-13,863,547),1378=>array(76,-208,571,560),1379=>array(40,-208,700,559),1380=>array(76,-208,703,560),1381=>array(71,-14,567,760),1382=>array(40,-208,700,559),1383=>array(76,0,532,760),1384=>array(76,-208,579,560),1385=>array(76,-208,756,560),1386=>array(40,-14,700,760),1387=>array(76,-208,571,760),1388=>array(76,-208,410,547),1389=>array(76,-208,909,760),1390=>array(40,-14,600,760),1391=>array(71,-208,567,760),1392=>array(76,0,571,760),1393=>array(26,-13,536,760),1394=>array(76,-208,703,560),1395=>array(62,-13,570,768),1396=>array(71,-13,699,760),1397=>array(-30,-216,233,547),1398=>array(-61,-13,567,760),1399=>array(13,-208,456,560),1400=>array(76,0,571,560),1401=>array(5,-208,375,547),1402=>array(71,-208,863,546),1403=>array(44,-208,533,560),1404=>array(76,0,622,560),1405=>array(71,-13,567,547),1406=>array(71,-208,699,760),1407=>array(71,-13,863,560),1408=>array(76,-208,571,560),1409=>array(44,-216,631,559),1410=>array(76,0,475,547),1411=>array(71,-208,863,760),1412=>array(-56,-208,604,560),1413=>array(44,-14,645,560),1414=>array(31,-190,774,760),1415=>array(71,-14,808,760),1417=>array(101,0,259,547),1418=>array(49,180,325,359),1456=>array(296,-229,394,-10),1457=>array(147,-229,501,-10),1458=>array(138,-229,492,-10),1459=>array(125,-229,492,-10),1460=>array(296,-171,394,-73),1461=>array(223,-171,467,-73),1462=>array(235,-229,455,-10),1463=>array(174,-171,516,0),1464=>array(187,-217,504,0),1465=>array(-24,547,73,723),1466=>array(-24,547,73,723),1467=>array(187,-239,528,-5),1468=>array(301,225,399,322),1469=>array(296,-217,394,-22),1470=>array(54,413,361,555),1471=>array(187,547,504,710),1472=>array(98,-98,273,645),1473=>array(753,613,851,710),1474=>array(137,613,235,710),1475=>array(98,0,273,547),1478=>array(78,0,462,547),1479=>array(187,-229,504,-10),1488=>array(84,0,644,547),1489=>array(43,0,567,547),1490=>array(43,-9,418,547),1491=>array(43,0,545,547),1492=>array(91,0,596,547),1493=>array(91,0,252,547),1494=>array(43,0,357,547),1495=>array(91,0,596,547),1496=>array(90,-13,624,553),1497=>array(66,164,228,547),1498=>array(43,-240,487,547),1499=>array(43,0,511,547),1500=>array(43,0,527,711),1501=>array(91,0,605,547),1502=>array(43,0,633,554),1503=>array(91,-240,252,547),1504=>array(43,0,362,547),1505=>array(90,-13,624,547),1506=>array(43,-101,575,547),1507=>array(91,-240,584,547),1508=>array(91,0,603,547),1509=>array(11,-240,543,548),1510=>array(33,0,564,547),1511=>array(91,-240,660,546),1512=>array(43,0,511,547),1513=>array(20,0,750,547),1514=>array(10,-4,592,547),1520=>array(91,0,574,547),1521=>array(66,0,524,547),1522=>array(66,164,500,547),1523=>array(84,361,360,547),1524=>array(84,361,626,547),1542=>array(-2,-20,630,892),1543=>array(-2,-20,630,897),1545=>array(65,0,811,635),1546=>array(65,0,1084,635),1548=>array(98,0,322,331),1557=>array(121,612,379,868),1563=>array(98,0,323,689),1567=>array(69,0,515,742),1569=>array(73,20,437,493),1570=>array(-20,0,362,955),1571=>array(75,0,259,993),1572=>array(-42,-244,547,603),1573=>array(76,-245,259,760),1574=>array(63,-107,863,603),1575=>array(84,0,259,760),1576=>array(63,-149,921,327),1577=>array(48,-30,540,513),1578=>array(63,-5,921,415),1579=>array(63,-5,921,537),1580=>array(77,-244,720,425),1581=>array(77,-244,720,425),1582=>array(77,-244,720,579),1583=>array(61,-15,442,415),1584=>array(61,-15,442,579),1585=>array(-42,-244,508,269),1586=>array(-42,-244,508,457),1587=>array(63,-244,1297,366),1588=>array(63,-244,1297,586),1589=>array(63,-244,1265,362),1590=>array(63,-244,1265,457),1591=>array(70,0,971,760),1592=>array(70,0,971,760),1593=>array(87,-244,720,521),1594=>array(87,-244,720,652),1600=>array(-10,0,352,125),1601=>array(63,-24,1082,627),1602=>array(52,-215,825,635),1603=>array(70,-27,814,760),1604=>array(70,-142,778,760),1605=>array(68,-244,660,369),1606=>array(62,-165,779,457),1607=>array(48,-30,540,358),1608=>array(-42,-244,547,322),1609=>array(63,-107,863,462),1610=>array(63,-244,863,462),1611=>array(107,591,393,825),1612=>array(107,591,393,881),1613=>array(107,-239,393,-5),1614=>array(107,591,393,723),1615=>array(107,590,393,881),1616=>array(107,-137,393,-5),1617=>array(88,599,412,869),1618=>array(115,610,383,878),1619=>array(59,584,441,735),1620=>array(154,601,335,822),1621=>array(155,-245,336,-23),1623=>array(107,615,393,906),1626=>array(99,616,401,775),1632=>array(218,195,392,366),1633=>array(140,0,431,635),1634=>array(12,0,598,635),1635=>array(12,0,597,635),1636=>array(74,-10,530,646),1637=>array(63,-10,547,643),1638=>array(37,0,574,635),1639=>array(15,0,596,635),1640=>array(15,0,596,635),1641=>array(32,0,590,640),1642=>array(65,0,545,635),1643=>array(0,-118,349,318),1644=>array(63,418,278,729),1645=>array(42,101,502,537),1646=>array(63,-5,921,327),1647=>array(52,-215,825,484),1648=>array(216,600,284,885),1652=>array(51,641,232,863),1657=>array(63,-5,921,599),1658=>array(63,-5,921,566),1659=>array(63,-244,921,327),1660=>array(63,-171,921,415),1661=>array(63,-5,921,566),1662=>array(63,-244,921,327),1663=>array(63,-5,921,566),1664=>array(63,-244,921,327),1665=>array(77,-244,720,725),1666=>array(77,-244,720,737),1667=>array(77,-244,720,425),1668=>array(77,-244,720,425),1669=>array(77,-244,720,737),1670=>array(77,-244,720,425),1671=>array(77,-244,720,425),1672=>array(61,-15,442,746),1673=>array(61,-180,442,415),1674=>array(61,-171,442,415),1675=>array(61,-171,442,746),1676=>array(61,-15,442,586),1677=>array(61,-146,442,415),1678=>array(61,-15,442,708),1679=>array(61,-15,442,684),1680=>array(61,-15,442,708),1681=>array(-42,-244,520,648),1682=>array(-42,-244,542,556),1683=>array(-42,-244,587,269),1684=>array(-42,-244,522,269),1685=>array(-42,-244,753,269),1686=>array(-42,-244,522,269),1687=>array(-42,-244,508,464),1688=>array(-42,-244,508,586),1689=>array(-42,-244,508,586),1690=>array(63,-244,1297,464),1691=>array(63,-244,1297,366),1692=>array(63,-244,1297,586),1693=>array(63,-244,1265,362),1694=>array(63,-244,1265,586),1695=>array(70,0,971,760),1696=>array(87,-244,720,781),1697=>array(63,-24,1082,484),1698=>array(63,-171,1082,484),1699=>array(63,-171,1082,635),1700=>array(63,-24,1082,786),1701=>array(63,-293,1082,484),1702=>array(63,-24,1082,786),1703=>array(52,-215,825,635),1704=>array(52,-215,825,757),1705=>array(63,-39,1024,760),1706=>array(63,-39,1194,760),1707=>array(63,-39,1024,760),1708=>array(70,-27,814,760),1709=>array(70,-27,814,854),1710=>array(70,-293,814,760),1711=>array(63,-39,1024,910),1712=>array(63,-39,1024,910),1713=>array(63,-39,1024,910),1714=>array(63,-171,1024,910),1715=>array(63,-293,1024,910),1716=>array(63,-39,1024,1025),1717=>array(70,-142,841,971),1718=>array(70,-142,778,952),1719=>array(70,-142,781,1025),1720=>array(70,-391,778,760),1721=>array(62,-317,779,464),1722=>array(62,-165,779,366),1723=>array(62,-165,779,636),1724=>array(62,-330,779,464),1725=>array(62,-165,779,586),1726=>array(70,-33,877,506),1727=>array(77,-244,720,579),1734=>array(-42,-244,547,556),1740=>array(63,-107,863,462),1742=>array(63,-107,863,556),1749=>array(48,-30,540,358),1776=>array(218,195,392,366),1777=>array(140,0,431,635),1778=>array(12,0,598,635),1779=>array(12,0,597,635),1780=>array(12,0,573,650),1781=>array(30,-8,580,643),1782=>array(85,0,514,645),1783=>array(15,0,596,635),1784=>array(15,0,596,635),1785=>array(32,0,590,640),1984=>array(48,-14,648,742),1985=>array(69,0,583,729),1986=>array(80,0,616,729),1987=>array(80,0,616,729),1988=>array(80,0,616,729),1989=>array(80,0,616,729),1990=>array(80,0,616,729),1991=>array(98,0,599,729),1992=>array(98,0,599,729),1993=>array(70,0,625,742),1994=>array(84,0,259,729),1995=>array(43,-14,504,465),1996=>array(15,0,529,729),1997=>array(15,0,637,451),1998=>array(84,0,607,451),1999=>array(84,0,607,451),2000=>array(46,0,548,742),2001=>array(84,0,607,667),2002=>array(43,0,820,742),2003=>array(84,0,467,729),2004=>array(84,0,467,729),2005=>array(84,0,584,729),2006=>array(84,0,604,729),2007=>array(15,0,360,729),2008=>array(84,0,938,532),2009=>array(15,0,491,729),2010=>array(15,0,811,729),2011=>array(84,0,607,451),2012=>array(15,0,637,729),2013=>array(84,0,869,729),2014=>array(84,0,543,729),2015=>array(43,0,692,729),2016=>array(15,0,491,729),2017=>array(15,0,637,729),2018=>array(43,0,531,729),2019=>array(84,0,543,729),2020=>array(84,0,543,581),2021=>array(84,0,543,729),2022=>array(43,0,531,729),2023=>array(43,0,531,729),2027=>array(95,668,403,760),2028=>array(63,638,438,777),2029=>array(185,654,319,774),2030=>array(65,616,433,800),2031=>array(33,616,438,803),2032=>array(63,638,438,777),2033=>array(33,616,438,803),2034=>array(183,-212,317,-92),2035=>array(96,654,404,774),2036=>array(63,418,278,729),2037=>array(103,418,318,729),2040=>array(84,0,607,562),2041=>array(84,0,607,564),2042=>array(-10,0,425,125),3647=>array(62,-147,638,760),3713=>array(43,-14,706,560),3714=>array(43,-14,723,560),3716=>array(43,-14,704,560),3719=>array(21,-241,521,561),3720=>array(42,0,705,560),3722=>array(40,-269,768,560),3725=>array(40,-24,713,610),3732=>array(42,-14,647,560),3733=>array(42,-19,647,561),3734=>array(-22,-240,684,560),3735=>array(20,-14,768,560),3737=>array(37,-15,681,560),3738=>array(38,-15,664,561),3739=>array(38,-15,664,760),3740=>array(60,-12,910,626),3741=>array(64,-14,762,760),3742=>array(76,-14,773,560),3743=>array(76,-14,773,760),3745=>array(24,-14,771,547),3746=>array(40,-23,713,760),3747=>array(48,-10,733,615),3749=>array(41,-33,693,560),3751=>array(33,-33,640,561),3754=>array(51,-21,819,724),3755=>array(44,-21,935,620),3757=>array(53,-20,662,606),3758=>array(48,-14,825,698),3759=>array(43,-259,897,648),3760=>array(36,-16,658,567),3761=>array(-653,610,-31,896),3762=>array(39,0,563,593),3763=>array(-479,0,563,875),3764=>array(-654,622,-62,950),3765=>array(-654,633,13,962),3766=>array(-654,622,-62,950),3767=>array(-654,633,13,962),3768=>array(-426,-385,-165,-55),3769=>array(-473,-316,-174,-28),3771=>array(-653,610,-31,896),3772=>array(-682,-311,15,-48),3773=>array(39,-220,691,776),3776=>array(83,-13,444,561),3777=>array(83,-13,818,561),3778=>array(-37,-14,458,936),3779=>array(23,-14,595,879),3780=>array(-15,-35,585,809),3782=>array(70,-240,688,582),3784=>array(-413,659,-297,844),3785=>array(-627,622,-22,918),3786=>array(-667,621,39,965),3787=>array(-521,612,-187,917),3788=>array(-682,603,15,866),3789=>array(-479,668,-229,875),3792=>array(66,-29,723,563),3793=>array(25,-139,721,586),3794=>array(31,-80,603,711),3795=>array(24,-14,882,981),3796=>array(48,-156,696,711),3797=>array(48,-156,696,711),3798=>array(64,-14,894,950),3799=>array(43,-240,706,560),3800=>array(72,-269,774,582),3801=>array(58,-14,858,564),3804=>array(44,-21,1301,620),3805=>array(44,-21,1305,620),4256=>array(47,-14,827,819),4257=>array(39,-0,719,819),4258=>array(37,-138,667,828),4259=>array(41,-15,793,819),4260=>array(29,0,572,828),4261=>array(24,0,729,828),4262=>array(15,-14,709,819),4263=>array(49,-14,890,828),4264=>array(4,0,415,862),4265=>array(39,0,581,819),4266=>array(18,-14,796,820),4267=>array(48,-14,837,819),4268=>array(43,0,586,819),4269=>array(37,-157,817,829),4270=>array(11,-14,731,822),4271=>array(20,0,585,823),4272=>array(43,-15,863,820),4273=>array(43,-15,587,820),4274=>array(43,-0,586,828),4275=>array(37,-170,817,828),4276=>array(37,0,828,825),4277=>array(28,0,695,820),4278=>array(44,0,586,828),4279=>array(34,0,577,820),4280=>array(39,-14,582,820),4281=>array(43,0,586,819),4282=>array(45,-14,778,827),4283=>array(46,-15,822,820),4284=>array(43,-0,586,819),4285=>array(29,-15,594,828),4286=>array(43,-0,586,819),4287=>array(15,0,726,819),4288=>array(18,-14,796,820),4289=>array(43,0,586,820),4290=>array(37,-15,652,828),4291=>array(9,0,552,820),4292=>array(33,0,561,820),4293=>array(24,-14,714,828),4304=>array(49,-14,505,599),4305=>array(49,-14,515,823),4306=>array(44,-232,578,561),4307=>array(49,-225,786,557),4308=>array(49,-232,496,557),4309=>array(49,-232,505,557),4310=>array(25,-14,502,828),4311=>array(49,-14,779,557),4312=>array(49,0,515,557),4313=>array(49,-232,506,542),4314=>array(49,-225,1025,562),4315=>array(49,-14,505,828),4316=>array(63,-14,520,819),4317=>array(49,-0,765,557),4318=>array(49,-14,505,818),4319=>array(49,-232,504,560),4320=>array(49,0,774,830),4321=>array(63,-14,520,818),4322=>array(49,-232,651,670),4323=>array(29,-232,533,604),4324=>array(49,-232,792,558),4325=>array(49,-232,496,818),4326=>array(49,-225,766,557),4327=>array(49,-232,505,549),4328=>array(20,-14,489,828),4329=>array(63,0,520,828),4330=>array(49,-232,573,548),4331=>array(49,-14,504,818),4332=>array(64,-15,534,828),4333=>array(49,-232,517,818),4334=>array(63,-14,520,818),4335=>array(24,-232,516,580),4336=>array(49,-15,505,823),4337=>array(49,-14,505,823),4338=>array(49,-146,504,557),4339=>array(49,-232,505,558),4340=>array(49,-232,504,828),4341=>array(49,-14,558,828),4342=>array(49,-232,803,557),4343=>array(49,-232,556,557),4344=>array(49,-232,505,549),4345=>array(44,-232,578,561),4346=>array(49,-111,505,557),4347=>array(49,0,399,500),4348=>array(24,400,294,828),5121=>array(5,0,769,729),5122=>array(5,0,769,1056),5123=>array(5,0,769,729),5124=>array(5,0,769,928),5125=>array(92,0,821,729),5126=>array(92,0,821,928),5127=>array(92,0,821,927),5129=>array(92,0,821,729),5130=>array(84,0,813,729),5131=>array(84,0,813,928),5132=>array(92,0,1013,729),5133=>array(5,0,925,729),5134=>array(92,0,1013,729),5135=>array(5,0,925,729),5136=>array(92,0,1013,928),5137=>array(5,0,925,928),5138=>array(92,0,1065,729),5139=>array(92,0,1056,729),5140=>array(92,0,1065,928),5141=>array(92,0,1056,928),5142=>array(92,0,821,928),5143=>array(92,0,1057,729),5144=>array(84,0,1058,729),5145=>array(92,0,1057,928),5146=>array(84,0,1058,928),5147=>array(84,0,813,928),5149=>array(92,607,226,728),5150=>array(60,326,473,734),5151=>array(31,338,379,722),5152=>array(31,338,379,722),5153=>array(60,392,338,711),5154=>array(60,352,338,670),5155=>array(60,392,338,670),5156=>array(60,392,338,670),5157=>array(31,327,518,749),5158=>array(60,326,414,734),5159=>array(92,304,226,424),5160=>array(60,494,338,569),5161=>array(60,392,338,670),5162=>array(60,392,338,693),5163=>array(5,0,1167,729),5164=>array(5,0,940,729),5165=>array(92,0,1170,729),5166=>array(84,0,1251,729),5167=>array(5,0,769,729),5168=>array(5,0,769,1056),5169=>array(5,0,769,729),5170=>array(5,0,769,928),5171=>array(73,0,802,729),5172=>array(73,0,802,928),5173=>array(73,0,802,927),5175=>array(73,0,802,729),5176=>array(73,0,802,729),5177=>array(73,0,802,928),5178=>array(92,0,1013,729),5179=>array(5,0,925,729),5180=>array(92,0,1013,729),5181=>array(5,0,925,729),5182=>array(92,0,1013,928),5183=>array(5,0,925,928),5184=>array(92,0,1046,729),5185=>array(73,0,1056,729),5186=>array(92,0,1046,928),5187=>array(73,0,1056,928),5188=>array(92,0,1046,729),5189=>array(73,0,1058,729),5190=>array(92,0,1046,928),5191=>array(73,0,1058,928),5192=>array(73,0,802,927),5193=>array(60,326,520,727),5194=>array(60,326,172,734),5196=>array(92,-14,720,729),5197=>array(92,0,720,1056),5198=>array(92,0,720,743),5199=>array(92,0,720,928),5200=>array(73,0,759,729),5201=>array(73,0,759,928),5202=>array(73,0,759,927),5204=>array(73,0,759,729),5205=>array(56,0,742,729),5206=>array(56,0,742,928),5207=>array(92,-14,964,729),5208=>array(92,-14,964,729),5209=>array(92,0,964,743),5210=>array(92,0,964,743),5211=>array(92,0,964,928),5212=>array(92,0,964,928),5213=>array(92,0,1003,729),5214=>array(73,0,970,729),5215=>array(92,0,1003,928),5216=>array(73,0,970,928),5217=>array(92,0,986,729),5218=>array(56,0,968,729),5219=>array(92,0,986,928),5220=>array(56,0,968,928),5221=>array(92,0,986,729),5222=>array(60,326,427,733),5223=>array(92,-14,949,734),5224=>array(92,0,949,743),5225=>array(73,0,967,734),5226=>array(56,0,960,734),5227=>array(41,0,651,743),5228=>array(92,0,702,1056),5229=>array(92,0,702,743),5230=>array(92,0,702,928),5231=>array(41,-14,651,729),5232=>array(41,-14,651,928),5233=>array(41,-14,708,927),5234=>array(92,-14,702,729),5235=>array(92,-14,702,928),5236=>array(92,0,937,743),5237=>array(41,0,891,743),5238=>array(92,0,939,743),5239=>array(92,0,891,743),5240=>array(92,0,939,928),5241=>array(92,0,891,928),5242=>array(92,-14,937,729),5243=>array(41,-14,891,729),5244=>array(92,-14,937,928),5245=>array(41,-14,891,928),5246=>array(92,-14,939,729),5247=>array(92,-14,891,729),5248=>array(92,-14,939,928),5249=>array(92,-14,891,928),5250=>array(92,-14,939,729),5251=>array(60,319,445,734),5252=>array(60,319,445,734),5253=>array(41,0,881,743),5254=>array(92,0,881,743),5255=>array(41,-14,881,734),5256=>array(92,-14,881,734),5257=>array(41,0,651,743),5258=>array(92,0,702,1056),5259=>array(92,0,702,743),5260=>array(92,0,702,928),5261=>array(41,-14,651,729),5262=>array(41,-14,651,928),5263=>array(41,-14,714,927),5264=>array(92,-14,702,729),5265=>array(92,-14,702,928),5266=>array(92,0,937,743),5267=>array(41,0,891,743),5268=>array(92,0,988,743),5269=>array(92,0,891,743),5270=>array(92,0,988,928),5271=>array(92,0,891,928),5272=>array(92,-14,937,729),5273=>array(41,-14,891,729),5274=>array(92,-14,937,928),5275=>array(41,-14,891,928),5276=>array(92,-14,988,729),5277=>array(92,-14,891,729),5278=>array(92,-14,988,928),5279=>array(92,-14,891,928),5280=>array(92,-14,988,729),5281=>array(60,319,445,734),5282=>array(60,319,445,734),5283=>array(27,0,535,729),5284=>array(92,0,599,1056),5285=>array(92,0,599,729),5286=>array(92,0,599,928),5287=>array(27,0,535,729),5288=>array(27,0,535,928),5289=>array(27,0,598,927),5290=>array(92,0,599,729),5291=>array(92,0,599,928),5292=>array(92,0,790,729),5293=>array(27,0,771,729),5294=>array(92,0,836,729),5295=>array(92,0,790,729),5296=>array(92,0,836,928),5297=>array(92,0,790,928),5298=>array(92,0,790,729),5299=>array(27,0,790,729),5300=>array(92,0,790,928),5301=>array(27,0,790,928),5302=>array(92,0,836,729),5303=>array(92,0,790,729),5304=>array(92,0,836,928),5305=>array(92,0,790,928),5306=>array(92,0,836,729),5307=>array(60,326,380,734),5308=>array(60,326,492,733),5309=>array(60,326,380,734),5312=>array(84,-14,947,468),5313=>array(41,-14,904,786),5314=>array(41,-14,904,468),5315=>array(41,-14,904,667),5316=>array(27,0,890,482),5317=>array(27,0,890,667),5318=>array(27,0,890,667),5319=>array(41,0,904,482),5320=>array(41,0,904,667),5321=>array(92,-14,1197,468),5322=>array(84,-14,1163,468),5323=>array(92,0,1172,482),5324=>array(41,0,1144,482),5325=>array(92,0,1172,667),5326=>array(41,0,1144,667),5327=>array(41,0,904,667),5328=>array(60,477,604,742),5329=>array(60,319,440,734),5330=>array(60,477,604,742),5331=>array(84,0,947,468),5332=>array(41,0,904,786),5333=>array(41,0,904,468),5334=>array(41,0,904,667),5335=>array(27,0,890,468),5336=>array(27,0,890,667),5337=>array(27,0,890,667),5338=>array(41,0,904,468),5339=>array(41,0,904,667),5340=>array(92,0,1190,468),5341=>array(84,0,1163,468),5342=>array(92,0,1199,468),5343=>array(41,0,1144,468),5344=>array(92,0,1199,667),5345=>array(41,0,1144,667),5346=>array(92,0,1187,468),5347=>array(27,0,1130,468),5348=>array(92,0,1187,667),5349=>array(27,0,1130,667),5350=>array(92,0,1199,468),5351=>array(41,0,1144,468),5352=>array(92,0,1199,667),5353=>array(41,0,1144,667),5354=>array(60,477,604,734),5356=>array(73,0,802,729),5357=>array(41,0,638,729),5358=>array(92,0,736,1056),5359=>array(92,0,689,729),5360=>array(92,0,689,928),5361=>array(41,0,638,729),5362=>array(41,0,638,928),5363=>array(41,0,694,927),5364=>array(92,0,689,729),5365=>array(92,0,689,928),5366=>array(92,0,906,729),5367=>array(41,0,875,729),5368=>array(92,0,926,729),5369=>array(92,0,905,729),5370=>array(92,0,926,928),5371=>array(92,0,905,928),5372=>array(92,0,906,729),5373=>array(41,0,875,729),5374=>array(92,0,906,928),5375=>array(41,0,875,928),5376=>array(92,0,926,729),5377=>array(92,0,905,729),5378=>array(92,0,926,928),5379=>array(92,0,905,928),5380=>array(92,0,926,729),5381=>array(60,326,437,734),5382=>array(60,319,404,742),5383=>array(60,326,437,734),5392=>array(41,-14,882,743),5393=>array(41,-14,882,743),5394=>array(41,-14,882,928),5395=>array(41,-14,1095,482),5396=>array(41,-14,1095,667),5397=>array(41,-14,1095,482),5398=>array(41,-14,1095,667),5399=>array(92,-14,1168,743),5400=>array(41,-14,1118,743),5401=>array(92,-14,1168,743),5402=>array(41,-14,1118,743),5403=>array(92,-14,1168,928),5404=>array(41,-14,1118,928),5405=>array(92,-14,1390,482),5406=>array(41,-14,1336,482),5407=>array(92,-14,1390,667),5408=>array(41,-14,1336,667),5409=>array(92,-14,1390,482),5410=>array(41,-14,1336,482),5411=>array(92,-14,1390,667),5412=>array(41,-14,1336,667),5413=>array(60,469,690,747),5414=>array(84,0,684,729),5415=>array(92,0,692,1056),5416=>array(92,0,692,729),5417=>array(92,0,692,928),5418=>array(84,0,684,729),5419=>array(84,0,684,928),5420=>array(84,0,750,927),5421=>array(92,0,692,729),5422=>array(92,0,692,928),5423=>array(92,0,911,729),5424=>array(84,0,919,729),5425=>array(92,0,929,729),5426=>array(92,0,912,729),5427=>array(92,0,929,928),5428=>array(92,0,912,928),5429=>array(92,0,911,729),5430=>array(84,0,919,729),5431=>array(92,0,911,928),5432=>array(84,0,919,928),5433=>array(92,0,929,729),5434=>array(92,0,912,729),5435=>array(92,0,929,928),5436=>array(92,0,912,928),5437=>array(92,0,929,928),5438=>array(60,326,438,734),5440=>array(60,392,338,670),5441=>array(60,326,454,734),5442=>array(92,-14,949,468),5443=>array(84,-14,941,468),5444=>array(27,0,884,482),5445=>array(92,0,949,786),5446=>array(92,0,949,482),5447=>array(92,0,949,667),5448=>array(92,0,692,729),5449=>array(92,0,692,928),5450=>array(92,0,692,729),5451=>array(41,0,641,729),5452=>array(41,0,641,928),5453=>array(41,0,641,729),5454=>array(92,0,911,928),5455=>array(41,0,875,928),5456=>array(60,326,438,727),5458=>array(73,0,802,729),5459=>array(51,0,769,743),5460=>array(51,-14,769,1056),5461=>array(51,-14,769,729),5462=>array(51,-14,769,928),5463=>array(73,0,844,663),5464=>array(73,0,844,928),5465=>array(84,0,855,663),5466=>array(84,0,855,928),5467=>array(92,0,1099,928),5468=>array(84,0,1058,928),5469=>array(60,311,546,675),5470=>array(92,-14,720,743),5471=>array(92,-14,720,743),5472=>array(92,-14,720,743),5473=>array(92,-14,720,743),5474=>array(92,-14,720,928),5475=>array(92,-14,720,928),5476=>array(54,0,759,729),5477=>array(54,0,759,928),5478=>array(56,0,762,729),5479=>array(56,0,762,928),5480=>array(92,0,1006,928),5481=>array(56,0,968,928),5482=>array(60,326,512,733),5492=>array(41,0,893,743),5493=>array(84,0,936,743),5494=>array(84,0,936,928),5495=>array(41,-14,893,729),5496=>array(41,-14,893,928),5497=>array(84,-14,936,729),5498=>array(84,-14,936,928),5499=>array(60,319,562,734),5500=>array(92,0,745,729),5501=>array(60,326,454,734),5502=>array(60,0,1197,1056),5503=>array(60,0,1197,743),5504=>array(60,0,1197,928),5505=>array(60,-14,1146,729),5506=>array(60,-14,1146,928),5507=>array(60,-14,1197,729),5508=>array(60,-14,1197,928),5509=>array(60,319,939,734),5514=>array(41,0,893,743),5515=>array(84,0,936,743),5516=>array(41,-14,893,729),5517=>array(84,-14,936,729),5518=>array(60,0,1550,1056),5519=>array(60,0,1550,743),5520=>array(60,0,1550,928),5521=>array(60,-14,1203,741),5522=>array(60,-14,1203,928),5523=>array(60,-14,1550,741),5524=>array(60,-14,1550,928),5525=>array(60,335,792,741),5526=>array(60,335,1217,741),5536=>array(41,0,904,709),5537=>array(41,0,904,709),5538=>array(27,-242,890,468),5539=>array(27,-242,890,667),5540=>array(41,-242,904,468),5541=>array(41,-242,904,667),5542=>array(60,344,604,734),5543=>array(84,0,771,729),5544=>array(5,0,692,729),5545=>array(5,0,692,928),5546=>array(84,0,771,729),5547=>array(84,0,771,928),5548=>array(5,0,692,729),5549=>array(5,0,692,928),5550=>array(15,326,438,734),5551=>array(92,-14,702,729),5598=>array(92,0,778,729),5601=>array(52,0,738,729),5702=>array(60,326,439,734),5703=>array(60,240,439,820),5742=>array(10,0,403,306),5743=>array(60,0,1146,743),5744=>array(60,0,1499,743),5745=>array(60,0,1975,743),5746=>array(60,0,1975,928),5747=>array(60,-14,1628,741),5748=>array(60,-14,1586,928),5749=>array(60,-14,1975,741),5750=>array(60,-14,1975,928),5760=>array(-10,219,553,354),5761=>array(-10,-125,646,354),5762=>array(-10,-125,955,354),5763=>array(-10,-125,1264,354),5764=>array(-10,-125,1572,354),5765=>array(-10,-125,1881,354),5766=>array(-10,219,637,697),5767=>array(-10,219,945,697),5768=>array(-10,219,1264,697),5769=>array(-10,219,1569,697),5770=>array(-10,219,1881,697),5771=>array(-10,-125,579,697),5772=>array(-10,-125,888,697),5773=>array(-10,-125,1198,697),5774=>array(-10,-125,1507,697),5775=>array(-10,-125,1817,697),5776=>array(-10,41,646,532),5777=>array(-10,41,955,532),5778=>array(-10,41,1264,532),5779=>array(-10,41,1572,532),5780=>array(-10,41,1881,532),5781=>array(-10,-125,579,697),5782=>array(-10,-125,948,697),5783=>array(-10,-109,798,354),5784=>array(-10,-254,1244,354),5785=>array(-10,219,1569,928),5786=>array(-10,14,750,354),5787=>array(55,-49,648,622),5788=>array(-10,-49,583,622),7424=>array(15,0,637,547),7425=>array(0,0,755,547),7426=>array(43,-14,1000,560),7427=>array(20,0,564,547),7428=>array(43,-14,526,560),7429=>array(84,-1,611,547),7430=>array(20,-1,611,547),7431=>array(92,0,480,547),7432=>array(54,-14,493,560),7433=>array(84,-213,259,547),7434=>array(44,-14,416,547),7435=>array(84,0,684,547),7436=>array(-18,0,499,547),7437=>array(84,0,733,547),7438=>array(84,0,617,547),7439=>array(43,-14,644,560),7440=>array(43,-14,526,560),7441=>array(43,-27,617,573),7442=>array(43,31,617,515),7443=>array(13,-28,653,579),7444=>array(43,-14,1046,560),7446=>array(43,273,644,560),7447=>array(44,-14,646,273),7448=>array(51,0,515,547),7449=>array(21,0,560,547),7450=>array(21,0,560,547),7451=>array(4,0,575,547),7452=>array(84,-14,607,547),7453=>array(85,10,646,560),7454=>array(69,10,857,561),7455=>array(19,-238,651,560),7456=>array(15,0,637,547),7457=>array(35,0,889,547),7458=>array(45,0,534,547),7459=>array(57,-14,581,547),7462=>array(84,0,499,547),7463=>array(15,0,637,547),7464=>array(84,0,607,547),7465=>array(51,0,515,547),7466=>array(84,0,698,547),7467=>array(55,0,648,547),7468=>array(3,326,484,734),7469=>array(0,326,638,734),7470=>array(58,326,436,734),7472=>array(58,326,490,734),7473=>array(58,326,384,734),7474=>array(58,326,384,734),7475=>array(31,318,471,742),7476=>array(58,326,469,734),7477=>array(58,326,176,734),7478=>array(-35,214,176,734),7479=>array(58,326,507,734),7480=>array(58,326,384,734),7481=>array(58,326,569,734),7482=>array(58,326,469,734),7483=>array(58,326,469,734),7484=>array(31,318,504,742),7485=>array(39,318,471,742),7486=>array(58,326,436,734),7487=>array(58,326,473,734),7488=>array(3,326,426,734),7489=>array(58,318,454,734),7490=>array(19,326,675,734),7491=>array(53,318,402,640),7492=>array(53,318,402,640),7493=>array(53,318,423,640),7494=>array(53,318,656,640),7495=>array(53,318,423,751),7496=>array(53,318,423,751),7497=>array(53,318,423,640),7498=>array(53,318,423,640),7499=>array(53,318,330,640),7500=>array(53,318,330,640),7501=>array(53,205,423,639),7502=>array(53,207,164,632),7503=>array(53,326,431,751),7504=>array(53,326,607,640),7505=>array(53,205,399,640),7506=>array(53,318,432,640),7507=>array(53,318,357,640),7508=>array(53,479,432,640),7509=>array(53,318,432,479),7510=>array(53,209,423,640),7511=>array(53,326,332,719),7512=>array(53,318,399,632),7513=>array(53,332,407,640),7514=>array(53,318,607,632),7515=>array(53,326,445,632),7517=>array(53,209,423,759),7518=>array(10,209,420,632),7519=>array(27,318,406,756),7520=>array(41,209,457,635),7521=>array(16,209,391,632),7522=>array(53,0,164,425),7523=>array(54,0,314,313),7524=>array(53,-8,399,306),7525=>array(53,0,445,306),7526=>array(53,-117,423,433),7527=>array(10,-117,420,306),7528=>array(53,-117,423,314),7529=>array(41,-117,457,309),7530=>array(16,-117,391,306),7543=>array(84,-216,671,559),7544=>array(58,326,469,734),7547=>array(84,0,461,547),7549=>array(5,-208,742,560),7557=>array(84,-216,434,760),7579=>array(53,318,423,640),7580=>array(53,318,357,640),7581=>array(53,288,357,640),7582=>array(53,318,432,751),7583=>array(53,318,330,640),7584=>array(53,326,321,751),7585=>array(53,205,292,632),7586=>array(53,205,423,632),7587=>array(53,207,399,632),7588=>array(53,326,291,751),7589=>array(53,326,226,632),7590=>array(53,326,291,632),7591=>array(53,326,291,632),7592=>array(53,205,375,751),7593=>array(53,205,270,751),7594=>array(53,205,274,751),7595=>array(53,326,314,632),7596=>array(53,205,608,640),7597=>array(53,209,607,632),7598=>array(53,205,506,640),7599=>array(53,205,505,640),7600=>array(53,326,393,632),7601=>array(53,318,432,640),7602=>array(53,209,486,751),7603=>array(53,205,366,640),7604=>array(53,205,340,751),7605=>array(53,205,332,719),7606=>array(53,318,527,632),7607=>array(53,298,438,632),7608=>array(53,318,383,632),7609=>array(53,326,395,632),7610=>array(53,326,445,632),7611=>array(53,326,361,632),7612=>array(53,205,468,632),7613=>array(53,288,414,632),7614=>array(53,206,399,632),7615=>array(53,320,370,756),7620=>array(-467,616,-35,800),7621=>array(-467,616,-35,800),7622=>array(-467,616,-35,800),7623=>array(-467,616,-35,800),7624=>array(-513,616,11,800),7625=>array(-513,616,11,800),7680=>array(5,-240,769,729),7681=>array(43,-240,596,560),7682=>array(92,0,692,928),7683=>array(84,-14,671,913),7684=>array(92,-212,692,729),7685=>array(84,-212,671,760),7686=>array(92,-184,692,729),7687=>array(84,-184,671,760),7688=>array(50,-196,670,927),7689=>array(43,-196,526,800),7690=>array(92,0,778,927),7691=>array(45,-14,632,942),7692=>array(92,-212,778,729),7693=>array(45,-212,632,760),7694=>array(92,-184,778,729),7695=>array(45,-184,632,760),7696=>array(92,-192,778,729),7697=>array(45,-196,632,760),7698=>array(92,-240,778,729),7699=>array(45,-240,632,760),7700=>array(92,0,610,1057),7701=>array(43,-14,630,927),7702=>array(92,0,610,1057),7703=>array(43,-14,630,927),7704=>array(92,-203,610,729),7705=>array(43,-203,630,560),7706=>array(92,-195,610,729),7707=>array(43,-195,630,560),7708=>array(92,-196,610,927),7709=>array(43,-196,630,784),7710=>array(92,0,599,928),7711=>array(19,0,444,942),7712=>array(50,-14,747,901),7713=>array(45,-216,632,760),7714=>array(92,0,745,928),7715=>array(84,0,634,913),7716=>array(92,-212,745,729),7717=>array(84,-212,634,760),7718=>array(92,0,745,927),7719=>array(23,0,634,927),7720=>array(45,-196,745,729),7721=>array(38,-196,634,760),7722=>array(92,-236,745,729),7723=>array(84,-236,634,760),7724=>array(16,-195,355,729),7725=>array(1,-195,341,760),7726=>array(40,0,378,1057),7727=>array(16,0,354,917),7728=>array(92,0,805,927),7729=>array(84,0,684,982),7730=>array(92,-212,805,729),7731=>array(84,-212,684,760),7732=>array(92,-184,805,729),7733=>array(84,-184,684,760),7734=>array(92,-212,610,729),7735=>array(83,-212,259,760),7736=>array(32,-212,610,942),7737=>array(18,-212,325,914),7738=>array(92,-184,610,729),7739=>array(20,-184,328,760),7740=>array(92,-240,610,729),7741=>array(-13,-240,355,760),7742=>array(92,0,903,927),7743=>array(83,0,963,800),7744=>array(92,0,903,928),7745=>array(83,0,963,760),7746=>array(92,-212,903,729),7747=>array(83,-212,963,560),7748=>array(92,0,745,928),7749=>array(84,0,634,760),7750=>array(92,-212,745,729),7751=>array(84,-212,634,560),7752=>array(92,-184,745,729),7753=>array(84,-184,634,560),7754=>array(92,-240,745,729),7755=>array(84,-240,634,560),7756=>array(50,-14,800,1057),7757=>array(43,-14,644,916),7758=>array(50,-14,800,1043),7759=>array(43,-14,644,900),7760=>array(50,-14,800,1057),7761=>array(43,-14,644,927),7762=>array(50,-14,800,1057),7763=>array(43,-14,644,927),7764=>array(92,0,692,927),7765=>array(84,-208,671,800),7766=>array(92,0,692,928),7767=>array(84,-208,671,760),7768=>array(92,0,750,928),7769=>array(84,0,490,760),7770=>array(92,-212,750,729),7771=>array(83,-212,490,560),7772=>array(92,-212,750,914),7773=>array(83,-212,490,759),7774=>array(92,-184,750,729),7775=>array(33,-184,490,560),7776=>array(72,-14,647,928),7777=>array(52,-14,548,760),7778=>array(72,-212,647,742),7779=>array(52,-212,548,560),7780=>array(72,-14,647,928),7781=>array(52,-14,548,816),7782=>array(72,-14,647,1053),7783=>array(52,-14,548,1002),7784=>array(72,-212,647,928),7785=>array(52,-212,548,762),7786=>array(5,0,677,927),7787=>array(13,0,455,942),7788=>array(5,-212,677,729),7789=>array(13,-212,455,702),7790=>array(5,-184,677,729),7791=>array(13,-184,455,702),7792=>array(5,-240,677,729),7793=>array(13,-240,455,702),7794=>array(92,-212,720,729),7795=>array(78,-212,628,547),7796=>array(92,-196,720,729),7797=>array(78,-195,628,547),7798=>array(92,-203,720,729),7799=>array(78,-203,628,547),7800=>array(92,-14,720,1057),7801=>array(78,-14,628,916),7802=>array(92,-14,720,1043),7803=>array(78,-14,628,887),7804=>array(5,0,769,928),7805=>array(15,0,637,778),7806=>array(5,-212,769,729),7807=>array(15,-212,637,547),7808=>array(30,0,1072,931),7809=>array(35,0,889,803),7810=>array(30,0,1072,931),7811=>array(35,0,889,803),7812=>array(30,0,1072,927),7813=>array(35,0,889,774),7814=>array(30,0,1072,927),7815=>array(35,0,889,760),7816=>array(30,-212,1072,729),7817=>array(35,-212,889,547),7818=>array(19,0,751,928),7819=>array(15,0,630,760),7820=>array(19,0,751,927),7821=>array(15,0,630,774),7822=>array(-10,0,734,928),7823=>array(12,-216,634,760),7824=>array(45,0,680,927),7825=>array(45,0,534,798),7826=>array(45,-212,680,729),7827=>array(45,-212,534,547),7828=>array(45,-184,680,729),7829=>array(45,-184,534,547),7830=>array(84,-184,634,760),7831=>array(13,0,455,927),7832=>array(35,0,889,888),7833=>array(12,-216,634,888),7834=>array(43,-14,758,760),7835=>array(19,0,444,942),7836=>array(-18,0,444,760),7837=>array(19,0,444,760),7838=>array(92,-14,823,743),7839=>array(43,-14,645,768),7840=>array(5,-212,769,729),7841=>array(43,-212,596,560),7842=>array(5,0,769,1025),7843=>array(43,-14,596,843),7844=>array(5,0,769,1054),7845=>array(43,-14,652,873),7846=>array(5,0,769,1054),7847=>array(43,-14,597,874),7848=>array(5,0,769,1093),7849=>array(43,-14,672,912),7850=>array(5,0,769,1068),7851=>array(43,-14,596,887),7852=>array(5,-212,769,927),7853=>array(43,-212,596,800),7854=>array(5,0,769,1057),7855=>array(43,-14,596,891),7856=>array(5,0,769,1057),7857=>array(43,-14,596,894),7858=>array(5,0,769,1123),7859=>array(43,-14,596,959),7860=>array(5,0,769,1068),7861=>array(43,-14,596,905),7862=>array(5,-212,769,935),7863=>array(43,-212,596,780),7864=>array(92,-212,610,729),7865=>array(43,-212,630,560),7866=>array(92,0,610,1025),7867=>array(43,-14,630,843),7868=>array(92,0,610,928),7869=>array(43,-14,630,778),7870=>array(92,0,684,1054),7871=>array(43,-14,688,873),7872=>array(92,0,621,1054),7873=>array(43,-14,630,874),7874=>array(92,0,686,1093),7875=>array(43,-14,681,912),7876=>array(92,0,610,1068),7877=>array(43,-14,630,887),7878=>array(92,-212,610,927),7879=>array(43,-212,630,800),7880=>array(66,0,313,1025),7881=>array(52,0,300,842),7882=>array(92,-212,280,729),7883=>array(83,-212,259,760),7884=>array(50,-212,800,742),7885=>array(43,-212,644,560),7886=>array(50,-14,800,1025),7887=>array(43,-14,644,843),7888=>array(50,-14,800,1054),7889=>array(43,-14,679,873),7890=>array(50,-14,800,1054),7891=>array(43,-14,644,874),7892=>array(50,-14,800,1093),7893=>array(43,-14,685,912),7894=>array(50,-14,800,1068),7895=>array(43,-14,644,887),7896=>array(50,-212,800,927),7897=>array(43,-212,644,800),7898=>array(53,-14,854,927),7899=>array(46,-14,708,800),7900=>array(53,-14,854,927),7901=>array(46,-14,708,800),7902=>array(53,-14,854,1025),7903=>array(46,-14,708,843),7904=>array(53,-14,854,928),7905=>array(46,-14,708,778),7906=>array(53,-212,854,761),7907=>array(46,-212,708,609),7908=>array(92,-212,720,729),7909=>array(78,-212,628,547),7910=>array(92,-14,720,1025),7911=>array(78,-14,628,843),7912=>array(91,-14,833,927),7913=>array(75,-14,733,800),7914=>array(91,-14,833,927),7915=>array(75,-14,733,800),7916=>array(91,-14,833,1025),7917=>array(75,-14,733,843),7918=>array(91,-14,833,928),7919=>array(75,-14,733,778),7920=>array(91,-212,833,761),7921=>array(75,-212,733,609),7922=>array(-10,0,734,931),7923=>array(12,-216,634,803),7924=>array(-10,-212,734,729),7925=>array(12,-216,634,547),7926=>array(-10,0,734,1029),7927=>array(12,-216,634,843),7928=>array(-10,0,734,928),7929=>array(12,-216,634,778),7930=>array(92,0,925,729),7931=>array(9,0,635,760),7936=>array(48,-13,645,785),7937=>array(48,-13,645,785),7938=>array(48,-13,645,800),7939=>array(48,-13,645,800),7940=>array(48,-13,645,800),7941=>array(48,-13,645,800),7942=>array(48,-13,645,928),7943=>array(48,-13,645,928),7944=>array(5,0,769,785),7945=>array(5,0,769,785),7946=>array(2,0,1036,800),7947=>array(3,0,1039,800),7948=>array(1,0,930,800),7949=>array(2,0,958,800),7950=>array(4,0,831,928),7951=>array(3,0,854,928),7952=>array(54,-14,493,785),7953=>array(54,-14,493,785),7954=>array(54,-14,498,800),7955=>array(54,-14,493,800),7956=>array(54,-14,531,800),7957=>array(54,-14,516,800),7960=>array(3,0,718,785),7961=>array(4,0,721,785),7962=>array(2,0,1026,800),7963=>array(3,0,1023,800),7964=>array(1,0,950,800),7965=>array(2,0,979,800),7968=>array(84,-208,634,785),7969=>array(84,-208,634,785),7970=>array(84,-208,634,800),7971=>array(84,-208,634,800),7972=>array(84,-208,634,800),7973=>array(84,-208,634,800),7974=>array(84,-208,634,928),7975=>array(84,-208,634,928),7976=>array(3,0,854,785),7977=>array(4,0,859,785),7978=>array(2,0,1159,800),7979=>array(3,0,1158,800),7980=>array(1,0,1088,800),7981=>array(2,0,1114,800),7982=>array(4,0,962,928),7983=>array(3,0,971,928),7984=>array(78,-19,348,785),7985=>array(78,-19,348,785),7986=>array(-27,-19,407,800),7987=>array(-58,-19,376,800),7988=>array(31,-19,446,800),7989=>array(-6,-19,438,800),7990=>array(-2,-19,348,928),7991=>array(-5,-19,348,928),7992=>array(3,0,391,785),7993=>array(4,0,397,785),7994=>array(2,0,685,800),7995=>array(3,0,693,800),7996=>array(1,0,620,800),7997=>array(2,0,646,800),7998=>array(4,0,512,928),7999=>array(3,0,512,928),8000=>array(43,-14,644,785),8001=>array(43,-14,644,785),8002=>array(43,-14,644,800),8003=>array(43,-14,644,800),8004=>array(43,-14,644,800),8005=>array(43,-14,644,800),8008=>array(3,-14,841,785),8009=>array(4,-14,883,785),8010=>array(2,-14,1171,800),8011=>array(3,-14,1173,800),8012=>array(1,-14,1002,800),8013=>array(2,-14,1032,800),8016=>array(78,-10,629,785),8017=>array(78,-10,629,785),8018=>array(78,-10,629,800),8019=>array(78,-10,629,800),8020=>array(78,-10,629,800),8021=>array(78,-10,629,800),8022=>array(78,-10,629,928),8023=>array(78,-10,629,928),8025=>array(4,0,940,785),8027=>array(3,0,1194,800),8029=>array(2,0,1208,800),8031=>array(3,0,1059,928),8032=>array(43,-13,826,785),8033=>array(43,-13,826,785),8034=>array(43,-13,826,800),8035=>array(43,-13,826,800),8036=>array(43,-13,826,800),8037=>array(43,-13,826,800),8038=>array(43,-13,826,928),8039=>array(43,-13,826,928),8040=>array(3,0,881,785),8041=>array(4,0,931,785),8042=>array(2,0,1219,800),8043=>array(3,-3,1224,800),8044=>array(1,0,1048,800),8045=>array(2,0,1078,800),8046=>array(4,0,1000,928),8047=>array(3,0,1048,928),8048=>array(48,-13,645,800),8049=>array(48,-13,645,800),8050=>array(54,-14,493,800),8051=>array(54,-14,493,800),8052=>array(84,-208,634,800),8053=>array(84,-208,634,800),8054=>array(-26,-19,348,800),8055=>array(77,-19,353,800),8056=>array(43,-14,644,800),8057=>array(43,-14,644,800),8058=>array(78,-10,629,800),8059=>array(78,-10,629,800),8060=>array(43,-13,826,800),8061=>array(43,-13,826,800),8064=>array(48,-208,645,785),8065=>array(48,-208,645,785),8066=>array(48,-208,645,800),8067=>array(48,-208,645,800),8068=>array(48,-208,645,800),8069=>array(48,-208,645,800),8070=>array(48,-208,645,928),8071=>array(48,-208,645,928),8072=>array(5,-208,769,785),8073=>array(5,-208,769,785),8074=>array(2,-208,1036,800),8075=>array(3,-208,1039,800),8076=>array(1,-208,930,800),8077=>array(2,-208,958,800),8078=>array(4,-208,831,928),8079=>array(3,-208,854,928),8080=>array(84,-208,634,785),8081=>array(84,-208,634,785),8082=>array(84,-208,634,800),8083=>array(84,-208,634,800),8084=>array(84,-208,634,800),8085=>array(84,-208,634,800),8086=>array(84,-208,634,928),8087=>array(84,-208,634,928),8088=>array(3,-208,854,785),8089=>array(4,-208,859,785),8090=>array(2,-208,1159,800),8091=>array(3,-208,1158,800),8092=>array(1,-208,1088,800),8093=>array(2,-208,1114,800),8094=>array(4,-208,962,928),8095=>array(3,-208,971,928),8096=>array(43,-208,826,785),8097=>array(43,-208,826,785),8098=>array(43,-208,826,800),8099=>array(43,-208,826,800),8100=>array(43,-208,826,800),8101=>array(43,-208,826,800),8102=>array(43,-208,826,928),8103=>array(43,-208,826,928),8104=>array(3,-208,881,785),8105=>array(4,-208,931,785),8106=>array(2,-208,1219,800),8107=>array(3,-208,1224,800),8108=>array(1,-208,1048,800),8109=>array(2,-208,1078,800),8110=>array(4,-208,1000,928),8111=>array(3,-208,1048,928),8112=>array(48,-13,645,784),8113=>array(48,-13,645,760),8114=>array(48,-208,645,800),8115=>array(48,-208,645,559),8116=>array(48,-208,645,800),8118=>array(48,-13,645,778),8119=>array(48,-208,645,778),8120=>array(5,0,769,927),8121=>array(5,0,769,914),8122=>array(-1,0,872,800),8123=>array(26,0,792,800),8124=>array(5,-208,769,729),8125=>array(183,595,317,785),8126=>array(202,-208,333,-45),8127=>array(183,595,317,785),8128=>array(80,638,420,778),8129=>array(80,654,420,928),8130=>array(84,-208,634,800),8131=>array(84,-208,634,560),8132=>array(84,-208,634,800),8134=>array(84,-208,634,778),8135=>array(84,-208,634,778),8136=>array(-1,0,856,800),8137=>array(-24,0,771,800),8138=>array(-1,0,988,800),8139=>array(-18,0,915,800),8140=>array(92,-208,745,729),8141=>array(34,595,468,800),8142=>array(63,595,478,800),8143=>array(80,595,420,928),8144=>array(3,-19,348,784),8145=>array(20,-19,348,760),8146=>array(-36,-19,348,978),8147=>array(23,-19,372,978),8150=>array(4,-19,348,778),8151=>array(-6,-19,348,928),8152=>array(21,0,350,927),8153=>array(32,0,339,914),8154=>array(-1,0,529,800),8155=>array(-21,0,450,800),8157=>array(40,595,474,800),8158=>array(45,595,489,800),8159=>array(80,595,420,928),8160=>array(78,-10,629,784),8161=>array(78,-10,629,760),8162=>array(78,-10,629,978),8163=>array(78,-10,629,978),8164=>array(84,-208,671,785),8165=>array(84,-208,671,785),8166=>array(78,-10,629,778),8167=>array(78,-10,629,928),8168=>array(-10,0,734,927),8169=>array(-10,0,734,914),8170=>array(-1,0,1030,800),8171=>array(-27,0,992,800),8172=>array(4,0,797,785),8173=>array(46,654,404,978),8174=>array(96,654,445,978),8175=>array(46,616,322,800),8178=>array(43,-208,826,800),8179=>array(43,-208,826,547),8180=>array(43,-208,826,800),8182=>array(43,-13,826,778),8183=>array(43,-208,826,778),8184=>array(-1,-14,1015,800),8185=>array(-19,-14,836,800),8186=>array(-1,0,1057,800),8187=>array(-30,0,867,800),8188=>array(27,-208,823,742),8189=>array(178,616,454,800),8190=>array(183,595,317,785),8208=>array(54,217,361,359),8209=>array(54,217,361,359),8210=>array(54,211,642,337),8211=>array(54,211,446,337),8212=>array(54,211,946,337),8213=>array(0,211,1000,337),8214=>array(127,-236,399,764),8215=>array(0,-236,500,-9),8216=>array(103,418,318,729),8217=>array(63,418,278,729),8218=>array(72,-122,287,189),8219=>array(63,418,278,729),8220=>array(103,418,565,729),8221=>array(92,418,554,729),8222=>array(72,-122,534,189),8223=>array(92,418,554,729),8224=>array(26,-96,470,729),8225=>array(25,-96,470,729),8226=>array(144,196,495,547),8227=>array(144,157,534,586),8228=>array(79,0,255,189),8229=>array(79,0,588,189),8230=>array(79,0,921,189),8231=>array(86,253,262,442),8240=>array(32,-14,1417,742),8241=>array(32,-14,1864,742),8242=>array(20,547,240,729),8243=>array(20,547,423,729),8244=>array(20,547,606,729),8245=>array(20,547,240,729),8246=>array(20,547,425,729),8247=>array(20,547,606,729),8248=>array(101,-238,632,29),8249=>array(77,67,318,519),8250=>array(94,67,335,519),8251=>array(72,0,900,829),8252=>array(69,0,558,729),8253=>array(69,0,515,742),8254=>array(0,663,500,755),8255=>array(-31,-237,859,-79),8256=>array(-31,769,859,927),8257=>array(-52,-235,296,231),8258=>array(20,-37,1003,832),8259=>array(96,220,404,358),8260=>array(-199,-14,366,742),8261=>array(86,-132,389,760),8262=>array(68,-132,371,760),8263=>array(34,0,996,742),8264=>array(69,0,760,742),8265=>array(69,0,760,742),8266=>array(49,-125,464,546),8267=>array(93,-96,579,729),8268=>array(75,189,425,541),8269=>array(75,189,425,541),8270=>array(20,0,503,464),8271=>array(104,-142,329,547),8272=>array(-31,-237,859,927),8273=>array(53,-14,439,797),8274=>array(30,-93,529,729),8275=>array(49,212,951,415),8276=>array(-31,-240,859,-82),8277=>array(152,98,686,631),8278=>array(110,93,574,645),8279=>array(20,547,789,729),8280=>array(76,21,762,708),8281=>array(126,71,712,657),8282=>array(102,0,280,729),8283=>array(49,-170,822,898),8284=>array(55,0,783,729),8285=>array(102,0,278,683),8286=>array(102,0,278,683),8304=>array(29,319,398,742),8305=>array(53,326,164,751),8308=>array(27,326,397,734),8309=>array(47,319,384,734),8310=>array(38,319,394,742),8311=>array(41,326,378,734),8312=>array(38,319,389,742),8313=>array(32,319,388,742),8314=>array(67,326,461,677),8315=>array(67,469,461,534),8316=>array(67,407,461,596),8317=>array(54,252,237,751),8318=>array(50,252,234,751),8319=>array(54,326,406,640),8320=>array(29,-7,398,416),8321=>array(60,0,382,408),8322=>array(53,0,382,416),8323=>array(44,-7,384,416),8324=>array(27,0,397,408),8325=>array(47,-7,384,408),8326=>array(38,-7,394,416),8327=>array(41,0,378,408),8328=>array(38,-7,389,416),8329=>array(32,-7,388,416),8330=>array(67,0,461,351),8331=>array(67,143,461,208),8332=>array(67,81,461,270),8333=>array(54,-74,237,425),8334=>array(50,-74,234,425),8336=>array(53,-8,402,313),8337=>array(53,-8,423,313),8338=>array(53,-8,432,313),8339=>array(10,0,403,306),8340=>array(53,-8,423,313),8341=>array(54,0,406,425),8342=>array(53,0,431,425),8343=>array(54,0,166,425),8344=>array(53,0,607,313),8345=>array(54,0,406,313),8346=>array(53,-117,423,313),8347=>array(33,-8,351,313),8348=>array(53,0,332,393),8352=>array(38,0,892,729),8353=>array(50,-44,634,778),8354=>array(29,-14,667,742),8355=>array(75,0,663,729),8356=>array(61,0,613,742),8357=>array(83,-93,963,640),8358=>array(43,0,794,729),8359=>array(92,-14,1470,729),8360=>array(92,-14,1157,729),8361=>array(13,0,1088,729),8362=>array(39,-14,859,729),8363=>array(30,-182,692,760),8364=>array(-19,-14,629,742),8365=>array(29,0,695,729),8366=>array(12,0,684,729),8367=>array(92,-223,1247,742),8368=>array(14,-14,648,742),8369=>array(34,0,696,729),8370=>array(50,-81,643,809),8371=>array(5,0,691,729),8372=>array(43,-14,816,742),8373=>array(72,-147,629,760),8376=>array(12,0,684,729),8377=>array(50,0,647,729),8378=>array(5,0,745,729),8400=>array(-498,628,-26,760),8401=>array(-470,628,1,760),8406=>array(-470,560,-26,760),8407=>array(-470,560,-26,760),8411=>array(-501,654,-1,774),8412=>array(-595,654,99,774),8417=>array(-470,560,-26,760),8448=>array(20,-24,1083,752),8449=>array(20,-24,1137,752),8450=>array(50,-14,670,742),8451=>array(87,-14,1147,749),8452=>array(64,0,832,729),8453=>array(20,-24,1064,752),8454=>array(20,-24,1117,752),8455=>array(67,-14,616,742),8456=>array(64,-146,684,611),8457=>array(87,0,1002,749),8459=>array(36,-14,1063,746),8460=>array(6,-125,809,747),8461=>array(100,0,788,729),8462=>array(31,0,654,760),8463=>array(10,0,625,760),8464=>array(36,-14,533,742),8465=>array(52,-14,659,743),8466=>array(37,-14,787,742),8467=>array(-14,-14,401,742),8468=>array(9,-14,936,760),8469=>array(92,0,745,729),8470=>array(34,0,1154,729),8471=>array(138,0,862,725),8472=>array(54,-221,658,495),8473=>array(92,0,709,729),8474=>array(50,-146,800,742),8475=>array(31,-14,904,768),8476=>array(41,-14,803,743),8477=>array(98,0,793,729),8478=>array(37,0,859,729),8479=>array(81,-112,694,887),8480=>array(127,444,792,731),8481=>array(3,0,1249,547),8482=>array(144,447,790,729),8483=>array(11,-113,729,885),8484=>array(45,0,709,729),8485=>array(26,-230,540,777),8486=>array(27,0,823,742),8487=>array(27,-14,823,728),8488=>array(-5,-159,670,729),8489=>array(1,0,271,566),8490=>array(92,0,805,729),8491=>array(5,0,769,928),8492=>array(41,-1,853,772),8493=>array(63,-19,767,742),8494=>array(61,-12,793,647),8495=>array(41,-14,591,533),8496=>array(72,-14,668,742),8497=>array(37,-14,860,773),8498=>array(92,0,599,729),8499=>array(38,-18,1156,751),8500=>array(29,-12,436,420),8501=>array(50,-14,761,742),8502=>array(19,-14,687,742),8503=>array(31,-35,439,742),8504=>array(63,-41,633,742),8505=>array(34,0,355,760),8506=>array(44,-27,932,723),8507=>array(69,0,1352,547),8508=>array(34,-14,765,547),8509=>array(-40,-208,700,561),8510=>array(92,0,627,729),8511=>array(92,0,771,729),8512=>array(12,-192,820,719),8513=>array(25,-14,723,742),8514=>array(9,0,527,729),8515=>array(43,0,561,729),8516=>array(0,0,744,729),8517=>array(21,0,786,729),8518=>array(34,-14,752,760),8519=>array(33,-14,635,560),8520=>array(15,0,353,760),8521=>array(-143,-216,354,760),8523=>array(41,-14,811,742),8526=>array(55,0,470,547),8528=>array(49,-14,983,742),8529=>array(49,-14,993,742),8530=>array(49,-14,1441,742),8531=>array(49,-14,989,742),8532=>array(53,-14,989,742),8533=>array(49,-14,989,742),8534=>array(53,-14,989,742),8535=>array(44,-14,989,742),8536=>array(27,-14,989,742),8537=>array(49,-14,999,742),8538=>array(47,-14,999,742),8539=>array(49,-14,994,742),8540=>array(44,-14,994,742),8541=>array(47,-14,994,742),8542=>array(41,-14,994,742),8543=>array(49,-14,814,742),8544=>array(92,0,280,729),8545=>array(92,0,566,729),8546=>array(92,0,853,729),8547=>array(92,0,1094,729),8548=>array(5,0,769,729),8549=>array(5,0,1007,729),8550=>array(5,0,1293,729),8551=>array(5,0,1580,729),8552=>array(92,0,1101,729),8553=>array(19,0,751,729),8554=>array(19,0,1028,729),8555=>array(19,0,1314,729),8556=>array(92,0,610,729),8557=>array(50,-14,670,742),8558=>array(92,0,778,729),8559=>array(92,0,903,729),8560=>array(84,0,259,760),8561=>array(84,0,523,760),8562=>array(84,0,788,760),8563=>array(84,0,946,760),8564=>array(15,0,637,547),8565=>array(15,0,878,760),8566=>array(15,0,1143,760),8567=>array(15,0,1407,760),8568=>array(84,0,954,760),8569=>array(15,0,630,547),8570=>array(15,0,885,760),8571=>array(15,0,1149,760),8572=>array(84,0,259,760),8573=>array(43,-14,526,560),8574=>array(45,-14,632,760),8575=>array(83,0,963,560),8576=>array(52,0,1236,729),8577=>array(92,0,778,729),8578=>array(52,0,1236,729),8579=>array(50,-14,670,742),8580=>array(43,-14,526,560),8581=>array(50,-208,670,742),8585=>array(29,-14,989,742),8592=>array(49,87,781,540),8593=>array(193,0,646,732),8594=>array(57,87,789,540),8595=>array(193,-3,646,729),8596=>array(49,87,789,540),8597=>array(193,-3,646,732),8598=>array(136,66,720,650),8599=>array(136,66,720,650),8600=>array(136,66,720,650),8601=>array(136,66,720,650),8602=>array(49,87,781,540),8603=>array(57,87,789,540),8604=>array(13,84,833,431),8605=>array(5,84,825,431),8606=>array(49,87,781,540),8607=>array(189,0,641,732),8608=>array(57,87,789,540),8609=>array(194,-3,646,729),8610=>array(49,87,793,540),8611=>array(45,87,789,540),8612=>array(49,87,781,540),8613=>array(193,0,646,732),8614=>array(57,87,789,540),8615=>array(193,0,646,732),8616=>array(193,0,646,732),8617=>array(49,87,781,565),8618=>array(57,87,789,565),8619=>array(49,87,781,565),8620=>array(57,87,789,565),8621=>array(49,87,789,540),8622=>array(49,86,789,541),8623=>array(123,-4,714,733),8624=>array(169,0,646,755),8625=>array(192,0,669,755),8626=>array(169,-26,646,729),8627=>array(192,-26,669,729),8628=>array(233,-3,772,621),8629=>array(49,87,673,626),8630=>array(11,198,816,685),8631=>array(22,198,828,685),8632=>array(118,13,788,729),8633=>array(49,-108,789,735),8634=>array(86,45,767,691),8635=>array(71,45,751,691),8636=>array(49,255,781,540),8637=>array(49,87,781,372),8638=>array(361,0,646,732),8639=>array(193,0,478,732),8640=>array(57,255,789,540),8641=>array(57,87,789,372),8642=>array(361,0,646,732),8643=>array(193,0,478,732),8644=>array(49,-59,789,686),8645=>array(47,-3,792,732),8646=>array(49,-59,789,686),8647=>array(49,-59,781,686),8648=>array(46,0,792,732),8649=>array(57,-59,789,686),8650=>array(46,-3,792,729),8651=>array(49,-5,789,632),8652=>array(49,-5,789,632),8653=>array(49,87,781,540),8654=>array(49,87,789,540),8655=>array(57,87,789,540),8656=>array(49,87,781,540),8657=>array(193,0,645,732),8658=>array(57,87,789,540),8659=>array(193,-3,645,729),8660=>array(49,87,789,540),8661=>array(193,-8,645,732),8662=>array(132,-26,755,596),8663=>array(88,-26,711,597),8664=>array(88,16,711,639),8665=>array(132,16,755,639),8666=>array(49,87,781,540),8667=>array(57,87,789,540),8668=>array(44,87,776,540),8669=>array(57,87,789,540),8670=>array(193,0,646,732),8671=>array(193,-3,646,729),8672=>array(49,87,781,540),8673=>array(193,0,646,732),8674=>array(57,87,789,540),8675=>array(193,-3,646,729),8676=>array(49,87,781,540),8677=>array(57,87,789,540),8678=>array(27,46,781,581),8679=>array(151,0,687,754),8680=>array(35,46,789,581),8681=>array(151,-25,687,729),8682=>array(151,0,687,754),8683=>array(151,0,687,754),8684=>array(151,0,687,754),8685=>array(151,0,687,754),8686=>array(151,0,687,754),8687=>array(151,0,687,754),8688=>array(35,46,789,581),8689=>array(60,0,788,729),8690=>array(60,0,788,729),8691=>array(151,-25,687,754),8692=>array(57,87,789,540),8693=>array(47,-3,792,732),8694=>array(57,-223,789,850),8695=>array(49,87,781,540),8696=>array(57,87,789,540),8697=>array(49,87,789,540),8698=>array(49,87,781,540),8699=>array(57,87,789,540),8700=>array(49,87,789,540),8701=>array(27,96,781,531),8702=>array(57,96,811,531),8703=>array(27,96,811,531),8704=>array(5,0,769,729),8705=>array(48,-14,629,742),8706=>array(29,-14,515,674),8707=>array(92,0,610,729),8708=>array(92,-46,610,775),8709=>array(47,-15,810,715),8710=>array(0,0,697,719),8711=>array(0,0,697,719),8712=>array(73,-2,824,730),8713=>array(73,-46,824,775),8714=>array(106,58,644,568),8715=>array(73,-2,824,730),8716=>array(73,-46,824,775),8717=>array(106,58,644,568),8718=>array(98,0,539,553),8719=>array(73,-192,712,719),8720=>array(73,-193,712,718),8721=>array(20,-192,697,719),8722=>array(106,256,732,371),8723=>array(106,0,732,627),8724=>array(49,0,647,729),8725=>array(0,-93,365,729),8726=>array(165,-49,530,772),8727=>array(118,0,720,626),8728=>array(150,151,475,477),8729=>array(102,253,278,442),8730=>array(37,-20,669,837),8731=>array(37,-20,669,933),8732=>array(36,-20,669,924),8733=>array(92,89,617,505),8734=>array(92,89,741,505),8735=>array(106,67,732,693),8736=>array(77,0,820,729),8737=>array(77,-44,820,729),8738=>array(116,-0,732,726),8739=>array(207,-207,322,773),8740=>array(48,-207,482,773),8741=>array(112,-207,417,773),8742=>array(48,-207,482,773),8743=>array(151,0,661,579),8744=>array(151,0,661,579),8745=>array(151,0,661,579),8746=>array(151,0,661,579),8747=>array(15,-227,548,754),8748=>array(15,-227,914,754),8749=>array(15,-227,1280,754),8750=>array(14,-227,548,754),8751=>array(38,-227,938,754),8752=>array(23,-227,1290,754),8753=>array(15,-227,616,754),8754=>array(14,-227,600,754),8755=>array(14,-227,588,754),8756=>array(60,78,637,647),8757=>array(60,78,637,647),8758=>array(59,79,235,647),8759=>array(60,78,637,647),8760=>array(106,256,732,631),8761=>array(106,45,800,584),8762=>array(106,-4,732,631),8763=>array(106,-34,732,660),8764=>array(106,212,732,415),8765=>array(106,212,732,415),8766=>array(65,131,772,497),8767=>array(106,42,732,584),8768=>array(85,0,289,626),8769=>array(106,76,732,551),8770=>array(106,110,732,482),8771=>array(106,144,732,517),8772=>array(106,0,732,637),8773=>array(106,37,732,628),8774=>array(106,-31,732,628),8775=>array(106,-86,732,726),8776=>array(106,110,732,517),8777=>array(106,8,732,614),8778=>array(106,37,732,628),8779=>array(106,-13,732,628),8780=>array(106,37,732,628),8781=>array(105,105,732,585),8782=>array(106,26,732,656),8783=>array(106,172,732,656),8784=>array(106,144,732,744),8785=>array(106,-117,732,743),8786=>array(105,-92,732,719),8787=>array(104,-92,731,719),8788=>array(98,102,965,520),8789=>array(96,102,966,520),8790=>array(106,144,732,482),8791=>array(106,144,732,839),8792=>array(106,144,732,704),8793=>array(106,144,732,840),8794=>array(106,144,732,840),8795=>array(106,144,732,959),8796=>array(106,144,732,952),8797=>array(106,144,732,762),8798=>array(106,144,732,786),8799=>array(106,144,732,903),8800=>array(106,-5,732,631),8801=>array(106,38,732,588),8802=>array(106,-69,732,695),8803=>array(106,-74,732,700),8804=>array(106,0,732,582),8805=>array(106,0,732,582),8806=>array(106,-106,732,617),8807=>array(106,-106,732,617),8808=>array(106,-185,732,617),8809=>array(106,-185,732,617),8810=>array(72,-34,974,660),8811=>array(72,-34,974,660),8812=>array(86,-132,414,759),8813=>array(105,-10,732,700),8814=>array(106,-4,732,690),8815=>array(106,-63,732,631),8816=>array(106,-112,732,645),8817=>array(106,-112,732,645),8818=>array(106,-84,732,582),8819=>array(106,-84,732,582),8820=>array(106,-112,732,645),8821=>array(106,-112,732,645),8822=>array(102,-119,732,678),8823=>array(102,-119,732,678),8824=>array(102,-221,732,779),8825=>array(102,-221,732,779),8826=>array(106,-55,732,681),8827=>array(106,-55,732,681),8828=>array(106,-177,732,684),8829=>array(106,-177,732,684),8830=>array(106,-132,732,684),8831=>array(106,-132,732,684),8832=>array(106,-89,732,781),8833=>array(106,-89,732,781),8834=>array(99,67,739,559),8835=>array(99,65,739,559),8836=>array(99,-96,739,726),8837=>array(99,-100,739,722),8838=>array(99,0,739,636),8839=>array(99,0,739,635),8840=>array(99,-124,739,759),8841=>array(99,-124,739,759),8842=>array(99,-97,739,636),8843=>array(99,-97,739,635),8844=>array(151,0,661,579),8845=>array(151,0,661,579),8846=>array(151,0,661,579),8847=>array(106,0,732,584),8848=>array(106,0,732,584),8849=>array(106,-115,732,667),8850=>array(106,-115,732,667),8851=>array(106,0,690,626),8852=>array(106,0,690,626),8853=>array(91,-14,747,643),8854=>array(91,-14,747,643),8855=>array(91,-14,747,643),8856=>array(91,-13,747,642),8857=>array(91,-14,747,643),8858=>array(91,-14,747,643),8859=>array(91,-14,747,643),8860=>array(91,-14,747,643),8861=>array(91,-14,747,643),8862=>array(77,-29,761,657),8863=>array(77,-29,761,657),8864=>array(77,-29,761,657),8865=>array(77,-29,761,657),8866=>array(85,0,829,705),8867=>array(85,0,829,705),8868=>array(85,0,829,705),8869=>array(85,0,829,705),8870=>array(85,0,457,705),8871=>array(85,0,457,705),8872=>array(85,0,829,705),8873=>array(85,0,829,705),8874=>array(85,0,829,705),8875=>array(85,0,829,705),8876=>array(85,-100,829,805),8877=>array(85,-100,829,805),8878=>array(85,-100,829,805),8879=>array(85,-100,829,805),8880=>array(106,-54,724,681),8881=>array(114,-54,732,681),8882=>array(106,-1,732,628),8883=>array(106,-1,732,628),8884=>array(106,-80,732,706),8885=>array(106,-80,732,706),8886=>array(60,151,940,477),8887=>array(60,151,940,477),8888=>array(60,151,778,477),8889=>array(43,-63,794,689),8890=>array(63,0,480,705),8891=>array(103,0,709,759),8892=>array(103,0,709,759),8893=>array(103,0,709,759),8894=>array(106,0,732,626),8895=>array(106,0,732,626),8896=>array(0,-192,843,719),8897=>array(0,-192,843,719),8898=>array(48,-192,794,719),8899=>array(48,-192,794,719),8900=>array(3,-233,491,807),8901=>array(102,253,278,442),8902=>array(83,112,543,549),8903=>array(106,-56,732,683),8904=>array(106,-48,894,674),8905=>array(106,-48,894,675),8906=>array(106,-48,894,675),8907=>array(106,-48,894,675),8908=>array(106,-48,894,675),8909=>array(106,144,732,517),8910=>array(49,0,763,579),8911=>array(49,0,763,579),8912=>array(93,-22,732,649),8913=>array(106,-22,745,649),8914=>array(83,0,755,639),8915=>array(83,-14,755,625),8916=>array(186,0,652,729),8917=>array(106,-100,732,729),8918=>array(106,30,732,597),8919=>array(106,30,732,597),8920=>array(72,-34,1350,660),8921=>array(72,-34,1350,660),8922=>array(106,-211,732,837),8923=>array(106,-211,732,837),8924=>array(106,0,732,582),8925=>array(106,0,732,582),8926=>array(106,-177,732,684),8927=>array(106,-177,732,684),8928=>array(106,-197,732,808),8929=>array(106,-263,732,742),8930=>array(106,-191,732,817),8931=>array(106,-191,732,817),8932=>array(106,-146,732,636),8933=>array(106,-146,732,636),8934=>array(106,-168,732,582),8935=>array(106,-168,732,582),8936=>array(106,-216,732,684),8937=>array(106,-216,732,684),8938=>array(106,-138,732,808),8939=>array(106,-138,732,808),8940=>array(106,-224,732,894),8941=>array(106,-224,732,894),8942=>array(412,-40,588,735),8943=>array(79,253,921,442),8944=>array(79,-40,921,735),8945=>array(79,-40,921,735),8946=>array(72,-2,1085,730),8947=>array(73,-2,824,730),8948=>array(106,58,644,568),8949=>array(73,-2,824,984),8950=>array(73,-2,824,919),8951=>array(106,58,644,741),8952=>array(73,-207,824,730),8953=>array(73,-2,824,730),8954=>array(72,-2,1085,730),8955=>array(73,-2,824,730),8956=>array(106,58,644,568),8957=>array(72,-2,824,919),8958=>array(106,58,644,741),8959=>array(106,0,791,732),8960=>array(31,-22,572,519),8961=>array(56,152,540,453),8962=>array(64,0,651,596),8963=>array(193,470,646,732),8964=>array(193,0,646,263),8965=>array(193,-12,646,423),8966=>array(193,-12,646,552),8967=>array(139,-39,349,798),8968=>array(86,-132,389,760),8969=>array(68,-132,371,760),8970=>array(86,-132,389,760),8971=>array(68,-132,371,760),8972=>array(352,-77,759,331),8973=>array(49,-77,457,331),8974=>array(352,226,759,634),8975=>array(49,226,457,634),8976=>array(106,140,732,444),8977=>array(3,113,536,646),8984=>array(84,0,843,759),8985=>array(106,140,732,444),8988=>array(86,425,403,760),8989=>array(65,425,383,760),8990=>array(86,-126,403,208),8991=>array(65,-126,383,208),8992=>array(235,-250,586,926),8993=>array(22,-240,373,940),8996=>array(76,215,1076,575),8997=>array(76,0,1076,575),8998=>array(76,0,1414,760),8999=>array(76,0,1076,760),9000=>array(59,0,1385,729),9003=>array(0,0,1338,760),9004=>array(73,-91,800,748),9075=>array(78,-19,348,547),9076=>array(84,-208,671,562),9077=>array(43,-13,826,547),9082=>array(48,-13,645,559),9085=>array(13,-228,850,99),9095=>array(76,0,1100,743),9108=>array(17,0,856,727),9115=>array(63,-252,438,928),9116=>array(63,-252,205,940),9117=>array(63,-240,438,940),9118=>array(63,-252,438,928),9119=>array(295,-252,438,940),9120=>array(63,-240,438,940),9121=>array(63,-252,438,928),9122=>array(63,-252,205,940),9123=>array(63,-240,438,940),9124=>array(63,-252,438,928),9125=>array(295,-252,438,940),9126=>array(63,-240,438,940),9127=>array(306,-261,668,928),9128=>array(82,-247,444,934),9129=>array(306,-240,668,934),9130=>array(306,-256,444,934),9131=>array(82,-261,444,928),9132=>array(306,-247,668,934),9133=>array(82,-240,444,934),9134=>array(235,-250,373,940),9166=>array(27,46,781,729),9167=>array(91,0,854,596),9187=>array(73,-91,800,748),9189=>array(3,75,766,444),9192=>array(39,-129,665,294),9250=>array(-81,-14,671,760),9251=>array(64,-228,651,99),9312=>array(59,-15,788,715),9313=>array(59,-15,788,715),9314=>array(59,-15,788,715),9315=>array(59,-15,788,715),9316=>array(59,-15,788,715),9317=>array(59,-15,788,715),9318=>array(59,-15,788,715),9319=>array(59,-15,788,715),9320=>array(59,-15,788,715),9321=>array(59,-15,788,715),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,750,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(3,260,766,645),9697=>array(3,-125,766,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(144,196,495,547),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9729=>array(51,-2,949,360),9730=>array(49,0,848,729),9731=>array(83,-0,813,927),9732=>array(64,0,833,880),9733=>array(65,-4,832,723),9734=>array(65,-4,832,723),9735=>array(83,2,490,729),9736=>array(83,0,813,731),9737=>array(83,0,813,730),9738=>array(61,0,828,727),9739=>array(61,0,828,723),9740=>array(61,-1,610,722),9741=>array(61,0,952,723),9742=>array(68,0,1177,729),9743=>array(71,0,1180,729),9744=>array(90,0,807,729),9745=>array(89,0,808,729),9746=>array(89,0,808,729),9747=>array(75,78,457,656),9748=>array(49,0,870,933),9749=>array(74,0,822,731),9750=>array(84,0,813,731),9751=>array(84,0,813,727),9752=>array(78,0,819,729),9753=>array(83,140,813,574),9754=>array(84,113,813,569),9755=>array(84,113,813,569),9756=>array(87,104,810,569),9757=>array(72,0,537,724),9758=>array(86,103,810,569),9759=>array(72,-3,537,720),9760=>array(61,0,835,730),9761=>array(84,0,813,730),9762=>array(83,0,813,730),9763=>array(49,0,848,730),9764=>array(49,-2,620,727),9765=>array(83,0,663,731),9766=>array(83,-1,566,731),9767=>array(83,0,701,911),9768=>array(83,0,462,730),9769=>array(83,-1,813,729),9770=>array(87,0,810,730),9771=>array(83,0,814,731),9772=>array(83,0,627,731),9773=>array(83,0,813,730),9774=>array(83,0,813,730),9775=>array(83,0,813,730),9776=>array(83,0,813,729),9777=>array(83,0,814,729),9778=>array(83,0,813,729),9779=>array(83,0,813,729),9780=>array(83,0,813,729),9781=>array(83,0,813,729),9782=>array(83,0,813,729),9783=>array(83,0,813,729),9784=>array(80,3,817,721),9785=>array(83,-73,959,804),9786=>array(83,-73,959,804),9787=>array(83,-73,959,804),9788=>array(83,0,813,730),9789=>array(358,0,814,730),9790=>array(83,0,539,730),9791=>array(85,-102,528,732),9792=>array(85,-125,647,731),9793=>array(85,-14,647,843),9794=>array(79,-14,831,720),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9800=>array(45,0,851,731),9801=>array(89,0,807,730),9802=>array(94,0,802,731),9803=>array(113,31,784,679),9804=>array(140,0,756,730),9805=>array(53,-180,843,730),9806=>array(83,52,813,653),9807=>array(34,-96,863,730),9808=>array(83,-0,813,730),9809=>array(94,0,802,730),9810=>array(86,153,810,579),9811=>array(157,0,739,730),9812=>array(98,0,798,730),9813=>array(110,0,786,730),9814=>array(167,-1,729,729),9815=>array(214,0,683,730),9816=>array(165,0,732,730),9817=>array(148,-0,748,730),9818=>array(98,0,798,730),9819=>array(110,0,786,730),9820=>array(167,-1,729,729),9821=>array(214,0,683,730),9822=>array(162,0,734,730),9823=>array(148,-0,748,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9832=>array(105,-1,791,729),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),9840=>array(84,0,664,731),9841=>array(64,0,701,731),9842=>array(84,0,813,709),9843=>array(76,16,820,731),9844=>array(76,16,820,731),9845=>array(76,16,820,731),9846=>array(76,16,820,731),9847=>array(76,16,820,731),9848=>array(76,16,820,731),9849=>array(76,16,820,731),9850=>array(76,16,820,731),9851=>array(84,0,812,704),9852=>array(83,0,814,731),9853=>array(83,0,814,731),9854=>array(83,0,814,731),9855=>array(149,1,747,731),9856=>array(73,0,797,725),9857=>array(73,0,797,725),9858=>array(73,0,797,725),9859=>array(73,0,797,725),9860=>array(73,0,797,725),9861=>array(73,0,797,725),9862=>array(83,0,813,731),9863=>array(83,0,813,731),9864=>array(83,0,813,731),9865=>array(83,0,813,731),9866=>array(83,0,813,98),9867=>array(83,0,813,98),9868=>array(83,0,813,413),9869=>array(83,0,813,413),9870=>array(83,0,813,413),9871=>array(83,0,813,413),9872=>array(168,3,728,731),9873=>array(168,3,728,731),9874=>array(52,0,844,731),9875=>array(97,-10,799,732),9876=>array(131,0,765,729),9877=>array(61,-10,479,732),9878=>array(59,-10,837,732),9879=>array(61,0,835,732),9880=>array(145,0,750,732),9881=>array(95,-17,802,727),9882=>array(128,-9,768,733),9883=>array(127,0,769,728),9884=>array(127,0,769,729),9888=>array(49,0,848,729),9889=>array(83,2,619,730),9890=>array(85,-125,919,731),9891=>array(79,-206,1023,720),9892=>array(85,-186,1109,856),9893=>array(85,-125,837,917),9894=>array(131,-14,727,869),9895=>array(101,-170,741,884),9896=>array(188,-14,650,869),9897=>array(4,133,829,596),9898=>array(188,133,650,597),9899=>array(188,133,650,597),9900=>array(249,194,589,536),9901=>array(175,194,663,536),9902=>array(41,169,797,560),9903=>array(5,194,833,536),9904=>array(103,237,757,540),9905=>array(211,42,626,698),9906=>array(85,-125,647,731),9907=>array(168,-125,646,731),9908=>array(86,-125,646,731),9909=>array(86,-125,646,731),9910=>array(59,-118,791,643),9911=>array(194,-104,595,710),9912=>array(158,-125,543,731),9920=>array(42,4,796,553),9921=>array(42,4,796,724),9922=>array(42,4,796,553),9923=>array(42,4,796,724),9954=>array(85,-14,647,843),9985=>array(11,190,803,635),9986=>array(42,141,784,588),9987=>array(11,94,803,539),9988=>array(36,119,824,613),9990=>array(42,-14,796,742),9991=>array(42,-14,796,742),9992=>array(59,21,782,708),9993=>array(64,107,773,622),9996=>array(212,0,561,742),9997=>array(21,83,802,678),9998=>array(89,75,724,710),9999=>array(26,198,819,530),10000=>array(89,75,724,710),10001=>array(43,185,757,544),10002=>array(67,209,757,520),10003=>array(150,97,667,630),10004=>array(116,87,721,631),10005=>array(126,72,711,657),10006=>array(85,31,752,698),10007=>array(118,-9,701,732),10008=>array(123,0,754,739),10009=>array(55,0,783,729),10010=>array(55,0,783,729),10011=>array(55,0,783,729),10012=>array(55,0,783,729),10013=>array(165,0,673,729),10014=>array(131,0,678,729),10015=>array(155,0,683,729),10016=>array(55,0,783,729),10017=>array(91,-13,747,744),10018=>array(41,-14,797,742),10019=>array(42,-12,796,742),10020=>array(41,-14,797,742),10021=>array(41,-13,797,743),10022=>array(42,-14,796,745),10023=>array(42,-14,796,745),10025=>array(23,-9,814,743),10026=>array(42,-14,796,742),10027=>array(23,-9,814,743),10028=>array(23,-9,814,743),10029=>array(23,-9,814,743),10030=>array(23,-9,814,743),10031=>array(23,-9,814,743),10032=>array(24,12,815,714),10033=>array(64,0,773,729),10034=>array(74,0,764,729),10035=>array(55,0,783,729),10036=>array(31,-14,787,742),10037=>array(41,-14,797,742),10038=>array(91,-14,747,742),10039=>array(41,-14,797,742),10040=>array(41,-14,797,742),10041=>array(41,-14,797,742),10042=>array(55,0,783,729),10043=>array(82,-14,756,742),10044=>array(82,-14,756,742),10045=>array(84,-14,753,742),10046=>array(79,-14,759,742),10047=>array(54,0,784,709),10048=>array(54,0,784,709),10049=>array(41,-14,797,742),10050=>array(42,-14,796,742),10051=>array(79,-14,759,742),10052=>array(89,0,749,729),10053=>array(76,0,762,729),10054=>array(63,2,773,729),10055=>array(79,-13,759,742),10056=>array(47,-13,791,730),10057=>array(47,-13,791,730),10058=>array(41,-13,797,743),10059=>array(41,-13,797,743),10061=>array(50,-10,847,738),10063=>array(60,-49,837,729),10064=>array(60,0,837,777),10065=>array(60,-49,837,729),10066=>array(60,0,837,777),10070=>array(83,-2,813,728),10072=>array(377,-240,460,760),10073=>array(336,-240,502,760),10074=>array(253,-240,585,760),10075=>array(85,395,288,729),10076=>array(59,395,262,729),10077=>array(85,395,528,729),10078=>array(59,395,502,729),10081=>array(155,-93,772,851),10082=>array(202,-17,636,742),10083=>array(163,-17,675,742),10084=>array(54,83,784,645),10085=>array(168,-1,729,729),10086=>array(62,21,724,702),10087=>array(78,169,759,564),10088=>array(196,-139,648,769),10089=>array(196,-139,648,769),10090=>array(264,-132,574,758),10091=>array(264,-132,574,758),10092=>array(215,-240,607,760),10093=>array(232,-240,623,760),10094=>array(142,-240,685,760),10095=>array(153,-240,696,760),10096=>array(167,-240,656,760),10097=>array(183,-240,672,760),10098=>array(346,-241,535,760),10099=>array(303,-241,492,760),10100=>array(175,-163,634,760),10101=>array(204,-163,663,760),10102=>array(59,-15,788,715),10103=>array(59,-15,788,715),10104=>array(59,-15,788,715),10105=>array(59,-15,788,715),10106=>array(59,-15,788,715),10107=>array(59,-15,788,715),10108=>array(59,-15,788,715),10109=>array(59,-15,788,715),10110=>array(59,-15,788,715),10111=>array(59,-15,788,715),10112=>array(4,-52,833,780),10113=>array(4,-52,833,780),10114=>array(4,-52,833,780),10115=>array(4,-52,833,780),10116=>array(4,-52,833,780),10117=>array(4,-52,833,780),10118=>array(4,-52,833,780),10119=>array(4,-52,833,780),10120=>array(4,-52,833,780),10121=>array(4,-52,833,780),10122=>array(4,-52,833,780),10123=>array(4,-52,833,780),10124=>array(4,-52,833,780),10125=>array(4,-52,833,780),10126=>array(4,-52,833,780),10127=>array(4,-52,833,780),10128=>array(4,-52,833,780),10129=>array(4,-52,833,780),10130=>array(4,-52,833,780),10131=>array(4,-52,833,780),10132=>array(57,75,789,552),10136=>array(123,55,682,614),10137=>array(57,100,789,527),10138=>array(123,13,682,572),10139=>array(57,129,789,498),10140=>array(57,57,764,570),10141=>array(57,100,789,527),10142=>array(57,100,789,527),10143=>array(57,100,789,527),10144=>array(57,100,789,527),10145=>array(57,46,811,581),10146=>array(111,94,789,533),10147=>array(111,94,789,533),10148=>array(111,-4,789,631),10149=>array(57,100,789,548),10150=>array(57,79,789,527),10151=>array(240,-7,606,634),10152=>array(57,100,789,527),10153=>array(57,75,765,552),10154=>array(57,75,765,552),10155=>array(21,12,794,586),10156=>array(21,12,794,586),10157=>array(135,0,774,574),10158=>array(135,0,774,574),10159=>array(62,49,799,574),10161=>array(62,49,799,574),10162=>array(154,-20,721,585),10163=>array(63,157,789,470),10164=>array(81,55,682,655),10165=>array(57,173,789,454),10166=>array(82,-29,682,572),10167=>array(82,55,682,655),10168=>array(57,172,789,455),10169=>array(82,-28,682,572),10170=>array(56,84,789,543),10171=>array(73,140,779,487),10172=>array(79,167,774,460),10173=>array(79,118,774,509),10174=>array(57,81,789,546),10181=>array(54,-163,405,769),10182=>array(52,-163,403,769),10208=>array(3,-233,491,807),10214=>array(86,-132,419,760),10215=>array(86,-132,419,760),10216=>array(104,-132,377,759),10217=>array(80,-132,353,759),10218=>array(104,-132,641,759),10219=>array(80,-132,616,759),10224=>array(41,0,797,732),10225=>array(42,-3,798,729),10226=>array(9,45,816,685),10227=>array(22,45,830,685),10228=>array(57,-14,1108,643),10229=>array(49,87,1376,540),10230=>array(57,87,1385,540),10231=>array(49,87,1385,540),10232=>array(49,87,1376,540),10233=>array(57,87,1385,540),10234=>array(49,87,1385,540),10235=>array(49,87,1376,540),10236=>array(57,87,1385,540),10237=>array(49,87,1376,540),10238=>array(57,87,1385,540),10239=>array(57,87,1385,540),10241=>array(146,586,342,781),10242=>array(146,325,342,521),10243=>array(146,325,342,781),10244=>array(146,65,342,261),10245=>array(146,65,342,781),10246=>array(146,65,342,521),10247=>array(146,65,342,781),10248=>array(439,586,635,781),10249=>array(146,586,635,781),10250=>array(146,325,635,781),10251=>array(146,325,635,781),10252=>array(146,65,635,781),10253=>array(146,65,635,781),10254=>array(146,65,635,781),10255=>array(146,65,635,781),10256=>array(439,325,635,521),10257=>array(146,325,635,781),10258=>array(146,325,635,521),10259=>array(146,325,635,781),10260=>array(146,65,635,521),10261=>array(146,65,635,781),10262=>array(146,65,635,521),10263=>array(146,65,635,781),10264=>array(439,325,635,781),10265=>array(146,325,635,781),10266=>array(146,325,635,781),10267=>array(146,325,635,781),10268=>array(146,65,635,781),10269=>array(146,65,635,781),10270=>array(146,65,635,781),10271=>array(146,65,635,781),10272=>array(439,65,635,261),10273=>array(146,65,635,781),10274=>array(146,65,635,521),10275=>array(146,65,635,781),10276=>array(146,65,635,261),10277=>array(146,65,635,781),10278=>array(146,65,635,521),10279=>array(146,65,635,781),10280=>array(439,65,635,781),10281=>array(146,65,635,781),10282=>array(146,65,635,781),10283=>array(146,65,635,781),10284=>array(146,65,635,781),10285=>array(146,65,635,781),10286=>array(146,65,635,781),10287=>array(146,65,635,781),10288=>array(439,65,635,521),10289=>array(146,65,635,781),10290=>array(146,65,635,521),10291=>array(146,65,635,781),10292=>array(146,65,635,521),10293=>array(146,65,635,781),10294=>array(146,65,635,521),10295=>array(146,65,635,781),10296=>array(439,65,635,781),10297=>array(146,65,635,781),10298=>array(146,65,635,781),10299=>array(146,65,635,781),10300=>array(146,65,635,781),10301=>array(146,65,635,781),10302=>array(146,65,635,781),10303=>array(146,65,635,781),10304=>array(146,-195,342,0),10305=>array(146,-195,342,781),10306=>array(146,-195,342,521),10307=>array(146,-195,342,781),10308=>array(146,-195,342,261),10309=>array(146,-195,342,781),10310=>array(146,-195,342,521),10311=>array(146,-195,342,781),10312=>array(146,-195,635,781),10313=>array(146,-195,635,781),10314=>array(146,-195,635,781),10315=>array(146,-195,635,781),10316=>array(146,-195,635,781),10317=>array(146,-195,635,781),10318=>array(146,-195,635,781),10319=>array(146,-195,635,781),10320=>array(146,-195,635,521),10321=>array(146,-195,635,781),10322=>array(146,-195,635,521),10323=>array(146,-195,635,781),10324=>array(146,-195,635,521),10325=>array(146,-195,635,781),10326=>array(146,-195,635,521),10327=>array(146,-195,635,781),10328=>array(146,-195,635,781),10329=>array(146,-195,635,781),10330=>array(146,-195,635,781),10331=>array(146,-195,635,781),10332=>array(146,-195,635,781),10333=>array(146,-195,635,781),10334=>array(146,-195,635,781),10335=>array(146,-195,635,781),10336=>array(146,-195,635,261),10337=>array(146,-195,635,781),10338=>array(146,-195,635,521),10339=>array(146,-195,635,781),10340=>array(146,-195,635,261),10341=>array(146,-195,635,781),10342=>array(146,-195,635,521),10343=>array(146,-195,635,781),10344=>array(146,-195,635,781),10345=>array(146,-195,635,781),10346=>array(146,-195,635,781),10347=>array(146,-195,635,781),10348=>array(146,-195,635,781),10349=>array(146,-195,635,781),10350=>array(146,-195,635,781),10351=>array(146,-195,635,781),10352=>array(146,-195,635,521),10353=>array(146,-195,635,781),10354=>array(146,-195,635,521),10355=>array(146,-195,635,781),10356=>array(146,-195,635,521),10357=>array(146,-195,635,781),10358=>array(146,-195,635,521),10359=>array(146,-195,635,781),10360=>array(146,-195,635,781),10361=>array(146,-195,635,781),10362=>array(146,-195,635,781),10363=>array(146,-195,635,781),10364=>array(146,-195,635,781),10365=>array(146,-195,635,781),10366=>array(146,-195,635,781),10367=>array(146,-195,635,781),10368=>array(439,-195,635,0),10369=>array(146,-195,635,781),10370=>array(146,-195,635,521),10371=>array(146,-195,635,781),10372=>array(146,-195,635,261),10373=>array(146,-195,635,781),10374=>array(146,-195,635,521),10375=>array(146,-195,635,781),10376=>array(439,-195,635,781),10377=>array(146,-195,635,781),10378=>array(146,-195,635,781),10379=>array(146,-195,635,781),10380=>array(146,-195,635,781),10381=>array(146,-195,635,781),10382=>array(146,-195,635,781),10383=>array(146,-195,635,781),10384=>array(439,-195,635,521),10385=>array(146,-195,635,781),10386=>array(146,-195,635,521),10387=>array(146,-195,635,781),10388=>array(146,-195,635,521),10389=>array(146,-195,635,781),10390=>array(146,-195,635,521),10391=>array(146,-195,635,781),10392=>array(439,-195,635,781),10393=>array(146,-195,635,781),10394=>array(146,-195,635,781),10395=>array(146,-195,635,781),10396=>array(146,-195,635,781),10397=>array(146,-195,635,781),10398=>array(146,-195,635,781),10399=>array(146,-195,635,781),10400=>array(439,-195,635,261),10401=>array(146,-195,635,781),10402=>array(146,-195,635,521),10403=>array(146,-195,635,781),10404=>array(146,-195,635,261),10405=>array(146,-195,635,781),10406=>array(146,-195,635,521),10407=>array(146,-195,635,781),10408=>array(439,-195,635,781),10409=>array(146,-195,635,781),10410=>array(146,-195,635,781),10411=>array(146,-195,635,781),10412=>array(146,-195,635,781),10413=>array(146,-195,635,781),10414=>array(146,-195,635,781),10415=>array(146,-195,635,781),10416=>array(439,-195,635,521),10417=>array(146,-195,635,781),10418=>array(146,-195,635,521),10419=>array(146,-195,635,781),10420=>array(146,-195,635,521),10421=>array(146,-195,635,781),10422=>array(146,-195,635,521),10423=>array(146,-195,635,781),10424=>array(439,-195,635,781),10425=>array(146,-195,635,781),10426=>array(146,-195,635,781),10427=>array(146,-195,635,781),10428=>array(146,-195,635,781),10429=>array(146,-195,635,781),10430=>array(146,-195,635,781),10431=>array(146,-195,635,781),10432=>array(146,-195,635,0),10433=>array(146,-195,635,781),10434=>array(146,-195,635,521),10435=>array(146,-195,635,781),10436=>array(146,-195,635,261),10437=>array(146,-195,635,781),10438=>array(146,-195,635,521),10439=>array(146,-195,635,781),10440=>array(146,-195,635,781),10441=>array(146,-195,635,781),10442=>array(146,-195,635,781),10443=>array(146,-195,635,781),10444=>array(146,-195,635,781),10445=>array(146,-195,635,781),10446=>array(146,-195,635,781),10447=>array(146,-195,635,781),10448=>array(146,-195,635,521),10449=>array(146,-195,635,781),10450=>array(146,-195,635,521),10451=>array(146,-195,635,781),10452=>array(146,-195,635,521),10453=>array(146,-195,635,781),10454=>array(146,-195,635,521),10455=>array(146,-195,635,781),10456=>array(146,-195,635,781),10457=>array(146,-195,635,781),10458=>array(146,-195,635,781),10459=>array(146,-195,635,781),10460=>array(146,-195,635,781),10461=>array(146,-195,635,781),10462=>array(146,-195,635,781),10463=>array(146,-195,635,781),10464=>array(146,-195,635,261),10465=>array(146,-195,635,781),10466=>array(146,-195,635,521),10467=>array(146,-195,635,781),10468=>array(146,-195,635,261),10469=>array(146,-195,635,781),10470=>array(146,-195,635,521),10471=>array(146,-195,635,781),10472=>array(146,-195,635,781),10473=>array(146,-195,635,781),10474=>array(146,-195,635,781),10475=>array(146,-195,635,781),10476=>array(146,-195,635,781),10477=>array(146,-195,635,781),10478=>array(146,-195,635,781),10479=>array(146,-195,635,781),10480=>array(146,-195,635,521),10481=>array(146,-195,635,781),10482=>array(146,-195,635,521),10483=>array(146,-195,635,781),10484=>array(146,-195,635,521),10485=>array(146,-195,635,781),10486=>array(146,-195,635,521),10487=>array(146,-195,635,781),10488=>array(146,-195,635,781),10489=>array(146,-195,635,781),10490=>array(146,-195,635,781),10491=>array(146,-195,635,781),10492=>array(146,-195,635,781),10493=>array(146,-195,635,781),10494=>array(146,-195,635,781),10495=>array(146,-195,635,781),10502=>array(49,87,781,540),10503=>array(57,87,789,540),10506=>array(132,0,707,732),10507=>array(132,0,707,732),10560=>array(86,45,726,853),10561=>array(86,45,726,853),10627=>array(125,-163,628,760),10628=>array(125,-163,628,760),10702=>array(106,-258,732,800),10703=>array(106,-1,940,628),10704=>array(106,-1,940,628),10705=>array(106,-48,894,674),10706=>array(106,-48,894,674),10707=>array(106,-48,894,674),10708=>array(106,-48,894,675),10709=>array(106,-48,894,675),10731=>array(3,-233,491,807),10746=>array(106,0,732,627),10747=>array(106,0,732,627),10752=>array(28,-211,972,734),10753=>array(28,-211,972,734),10754=>array(28,-211,972,734),10764=>array(15,-227,1646,754),10765=>array(14,-227,548,754),10766=>array(14,-227,548,754),10767=>array(14,-227,548,754),10768=>array(14,-227,548,754),10769=>array(14,-227,576,754),10770=>array(14,-227,548,754),10771=>array(14,-227,548,754),10772=>array(14,-228,651,754),10773=>array(14,-227,548,754),10774=>array(14,-227,548,754),10775=>array(-30,-227,556,754),10776=>array(14,-227,548,754),10777=>array(14,-227,548,754),10778=>array(14,-227,548,754),10779=>array(15,-227,548,898),10780=>array(15,-372,548,754),10799=>array(125,20,713,607),10858=>array(106,212,732,660),10859=>array(106,-34,732,660),10877=>array(106,-150,732,632),10878=>array(106,-150,732,632),10879=>array(106,-150,732,632),10880=>array(106,-150,732,632),10881=>array(106,-150,732,688),10882=>array(106,-150,732,688),10883=>array(106,-150,732,827),10884=>array(106,-150,732,827),10885=>array(106,-217,732,630),10886=>array(106,-217,732,630),10887=>array(106,-124,732,582),10888=>array(106,-124,732,582),10889=>array(106,-281,732,630),10890=>array(106,-281,732,630),10891=>array(106,-303,732,814),10892=>array(106,-303,732,814),10893=>array(106,-183,732,653),10894=>array(106,-183,732,653),10895=>array(106,-245,732,765),10896=>array(106,-245,732,765),10897=>array(106,-278,732,782),10898=>array(106,-278,732,782),10899=>array(106,-263,732,771),10900=>array(106,-263,732,771),10901=>array(106,-50,732,733),10902=>array(106,-50,732,733),10903=>array(106,-50,732,733),10904=>array(106,-50,732,733),10905=>array(106,-45,732,678),10906=>array(106,-45,732,678),10907=>array(106,-81,732,724),10908=>array(106,-81,732,724),10909=>array(106,13,732,680),10910=>array(106,13,732,680),10911=>array(106,-239,732,746),10912=>array(106,-239,732,746),10926=>array(106,22,732,656),10927=>array(106,-83,732,684),10928=>array(106,-83,732,684),10929=>array(106,-246,732,684),10930=>array(106,-246,732,684),10931=>array(106,-205,732,672),10932=>array(106,-205,732,672),10933=>array(106,-304,732,672),10934=>array(106,-304,732,672),10935=>array(106,-252,732,713),10936=>array(106,-252,732,713),10937=>array(106,-316,732,713),10938=>array(106,-316,732,713),11001=>array(106,-195,732,609),11002=>array(106,-195,732,609),11008=>array(123,-23,744,598),11009=>array(94,-23,715,598),11010=>array(123,-23,744,598),11011=>array(94,-23,715,598),11012=>array(27,46,789,581),11013=>array(27,46,781,581),11014=>array(151,0,687,754),11015=>array(151,-25,687,729),11016=>array(123,-23,744,598),11017=>array(94,-23,715,598),11018=>array(123,-23,744,598),11019=>array(94,-23,715,598),11020=>array(27,46,789,581),11021=>array(151,-25,687,754),11022=>array(57,-25,800,372),11023=>array(57,255,800,652),11024=>array(38,-25,781,372),11025=>array(38,255,781,652),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11039=>array(18,-26,852,767),11040=>array(18,-26,852,767),11041=>array(73,-91,800,748),11042=>array(73,-91,800,748),11043=>array(17,-35,856,692),11044=>array(55,-250,1064,770),11091=>array(38,-47,832,788),11092=>array(38,-47,832,788),11360=>array(5,0,610,729),11361=>array(5,0,355,760),11362=>array(-17,0,610,729),11363=>array(6,0,692,729),11364=>array(92,-200,750,729),11365=>array(32,-46,639,594),11366=>array(13,-93,455,822),11367=>array(92,-157,932,729),11368=>array(84,-138,809,760),11369=>array(92,-157,805,729),11370=>array(84,-138,684,760),11371=>array(45,-157,768,729),11372=>array(45,-138,622,547),11373=>array(48,-14,769,741),11374=>array(92,-200,903,729),11375=>array(5,0,769,729),11376=>array(48,-14,769,741),11377=>array(15,0,778,560),11378=>array(30,0,1221,742),11379=>array(35,0,1056,560),11380=>array(38,0,637,586),11381=>array(92,0,606,729),11382=>array(84,0,481,547),11383=>array(64,0,725,552),11385=>array(84,-13,490,760),11386=>array(43,-14,644,560),11387=>array(78,0,467,547),11388=>array(-21,-121,166,425),11389=>array(3,326,484,734),11390=>array(72,-240,670,742),11391=>array(45,-240,680,729),11520=>array(45,-64,609,547),11521=>array(16,-232,625,546),11522=>array(41,-232,629,547),11523=>array(42,-10,585,807),11524=>array(40,-228,613,546),11525=>array(41,-228,988,546),11526=>array(20,-8,668,816),11527=>array(42,-9,974,547),11528=>array(39,0,589,547),11529=>array(41,-227,614,816),11530=>array(39,-9,985,546),11531=>array(42,-8,649,816),11532=>array(39,0,627,816),11533=>array(41,-8,988,546),11534=>array(41,-8,629,546),11535=>array(41,-228,846,816),11536=>array(42,-9,976,816),11537=>array(41,-9,630,816),11538=>array(46,-232,610,546),11539=>array(41,-228,984,661),11540=>array(45,-228,958,546),11541=>array(39,-228,978,816),11542=>array(44,0,628,546),11543=>array(41,-228,630,547),11544=>array(41,-232,627,546),11545=>array(44,-228,628,816),11546=>array(42,-232,610,547),11547=>array(43,-9,658,816),11548=>array(44,-228,989,547),11549=>array(44,-232,619,546),11550=>array(46,-232,639,546),11551=>array(44,-228,615,567),11552=>array(44,-9,1004,546),11553=>array(44,-228,619,816),11554=>array(42,-9,601,626),11555=>array(44,-228,622,816),11556=>array(42,-228,684,546),11557=>array(45,-8,959,816),11568=>array(55,-14,636,380),11569=>array(50,-14,892,742),11570=>array(50,-14,892,742),11571=>array(51,0,674,729),11572=>array(51,0,674,729),11573=>array(56,0,669,729),11574=>array(48,0,627,729),11575=>array(5,0,769,729),11576=>array(5,0,769,729),11577=>array(92,0,610,729),11578=>array(92,0,610,729),11579=>array(73,-14,729,742),11580=>array(73,0,916,729),11581=>array(92,0,754,729),11582=>array(92,0,549,729),11583=>array(92,0,754,729),11584=>array(50,-14,892,742),11585=>array(50,-84,892,815),11586=>array(92,0,281,729),11587=>array(21,0,720,729),11588=>array(92,0,745,729),11589=>array(-30,0,944,729),11590=>array(92,0,598,729),11591=>array(92,0,709,729),11592=>array(73,256,607,445),11593=>array(92,0,610,729),11594=>array(73,0,529,729),11595=>array(64,-14,892,742),11596=>array(82,0,695,729),11597=>array(92,0,745,729),11598=>array(92,0,610,729),11599=>array(92,0,280,729),11600=>array(82,0,695,729),11601=>array(92,0,281,729),11602=>array(42,-14,684,729),11603=>array(55,-14,636,742),11604=>array(50,-14,892,742),11605=>array(50,-95,892,742),11606=>array(92,0,745,729),11607=>array(92,0,281,729),11608=>array(92,0,744,729),11609=>array(50,-14,892,742),11610=>array(50,-14,892,823),11611=>array(50,-14,718,742),11612=>array(79,0,797,729),11613=>array(19,0,751,729),11614=>array(50,-14,718,742),11615=>array(92,0,610,729),11616=>array(5,0,769,729),11617=>array(92,0,745,729),11618=>array(92,0,599,729),11619=>array(50,0,800,729),11620=>array(92,0,654,729),11621=>array(50,0,800,729),11631=>array(64,490,651,729),11800=>array(69,-14,515,728),11807=>array(106,-34,732,415),11810=>array(86,403,389,760),11811=>array(68,403,371,760),11812=>array(86,-132,389,225),11813=>array(68,-132,371,225),11822=>array(69,0,515,742),19904=>array(83,-158,813,729),19905=>array(83,-158,813,729),19906=>array(83,-158,813,729),19907=>array(83,-158,813,729),19908=>array(83,-158,813,729),19909=>array(83,-158,813,729),19910=>array(83,-158,813,729),19911=>array(83,-158,813,729),19912=>array(83,-158,813,729),19913=>array(83,-158,814,729),19914=>array(83,-158,813,729),19915=>array(83,-158,813,729),19916=>array(83,-158,813,729),19917=>array(83,-158,813,729),19918=>array(83,-158,813,729),19919=>array(83,-158,813,729),19920=>array(83,-158,814,729),19921=>array(83,-158,813,729),19922=>array(83,-158,814,729),19923=>array(83,-158,813,729),19924=>array(83,-158,813,729),19925=>array(83,-158,813,729),19926=>array(83,-158,813,729),19927=>array(83,-158,813,729),19928=>array(83,-158,813,729),19929=>array(83,-158,813,729),19930=>array(83,-158,813,729),19931=>array(83,-158,814,729),19932=>array(83,-158,813,729),19933=>array(83,-158,813,729),19934=>array(83,-158,814,729),19935=>array(83,-158,813,729),19936=>array(83,-158,813,729),19937=>array(83,-158,813,729),19938=>array(83,-158,813,729),19939=>array(83,-158,813,729),19940=>array(83,-158,813,729),19941=>array(83,-158,814,729),19942=>array(83,-158,813,729),19943=>array(83,-158,813,729),19944=>array(83,-158,814,729),19945=>array(83,-158,813,729),19946=>array(83,-158,814,729),19947=>array(83,-158,813,729),19948=>array(83,-158,814,729),19949=>array(83,-158,813,729),19950=>array(83,-158,814,729),19951=>array(83,-158,813,729),19952=>array(83,-158,814,729),19953=>array(83,-158,813,729),19954=>array(83,-158,813,729),19955=>array(83,-158,813,729),19956=>array(83,-158,813,729),19957=>array(83,-158,814,729),19958=>array(83,-158,813,729),19959=>array(83,-158,813,729),19960=>array(83,-158,813,729),19961=>array(83,-158,814,729),19962=>array(83,-158,813,729),19963=>array(83,-158,814,729),19964=>array(83,-158,814,729),19965=>array(83,-158,813,729),19966=>array(83,-158,813,729),19967=>array(83,-158,813,729),42192=>array(92,0,692,729),42193=>array(92,0,692,729),42194=>array(41,0,641,729),42195=>array(92,0,778,729),42196=>array(5,0,677,729),42197=>array(5,0,677,729),42198=>array(50,-14,747,742),42199=>array(92,0,805,729),42200=>array(-30,0,683,729),42201=>array(0,-14,439,729),42202=>array(50,-14,670,742),42203=>array(50,-14,670,742),42204=>array(45,0,680,729),42205=>array(92,0,599,729),42206=>array(92,0,599,729),42207=>array(92,0,903,729),42208=>array(92,0,745,729),42209=>array(92,0,610,729),42210=>array(72,-14,647,742),42211=>array(92,0,750,729),42212=>array(20,0,678,729),42213=>array(5,0,769,729),42214=>array(5,0,769,729),42215=>array(92,0,745,729),42216=>array(25,-14,723,742),42217=>array(91,0,530,743),42218=>array(30,0,1072,729),42219=>array(19,0,751,729),42220=>array(-10,0,734,729),42221=>array(70,0,670,729),42222=>array(5,0,769,729),42223=>array(5,0,769,729),42224=>array(92,0,610,729),42225=>array(73,0,591,729),42226=>array(92,0,280,729),42227=>array(50,-14,800,742),42228=>array(92,-14,720,729),42229=>array(92,0,720,743),42230=>array(9,0,527,729),42231=>array(52,0,738,729),42232=>array(73,0,249,189),42233=>array(24,-142,249,189),42234=>array(73,0,601,189),42235=>array(73,-142,601,189),42236=>array(24,-142,249,547),42237=>array(73,0,249,547),42238=>array(73,0,515,405),42239=>array(73,134,515,492),42564=>array(26,-14,601,742),42565=>array(15,-14,511,560),42566=>array(92,0,428,729),42567=>array(83,0,356,547),42572=>array(57,-14,1348,654),42573=>array(47,-13,1126,547),42576=>array(49,0,1142,729),42577=>array(20,0,946,547),42580=>array(55,-14,1082,742),42581=>array(44,-14,888,560),42582=>array(92,0,1088,729),42583=>array(84,-14,880,560),42594=>array(60,-157,1058,729),42595=>array(56,-138,900,547),42596=>array(46,0,1069,729),42597=>array(55,0,888,547),42598=>array(92,0,1233,729),42599=>array(84,0,973,547),42600=>array(50,-14,800,742),42601=>array(43,-14,644,560),42602=>array(50,-14,987,742),42603=>array(43,-14,825,560),42604=>array(50,-14,1356,742),42605=>array(43,-14,1063,560),42606=>array(28,-208,933,743),42634=>array(5,-200,883,729),42635=>array(4,-216,709,547),42636=>array(5,0,677,729),42637=>array(4,0,575,547),42644=>array(81,0,716,729),42645=>array(84,0,634,760),42760=>array(96,0,404,693),42761=>array(96,0,404,693),42762=>array(96,0,404,693),42763=>array(96,0,404,693),42764=>array(96,0,404,693),42765=>array(96,0,404,693),42766=>array(96,0,404,693),42767=>array(96,0,404,693),42768=>array(96,0,404,693),42769=>array(96,0,404,693),42770=>array(96,0,404,693),42771=>array(96,0,404,693),42772=>array(96,0,404,693),42773=>array(96,0,404,693),42774=>array(96,0,404,693),42779=>array(58,326,342,736),42780=>array(58,324,342,734),42781=>array(88,326,199,734),42782=>array(88,326,199,734),42783=>array(88,0,199,408),42786=>array(67,0,409,729),42787=>array(67,0,355,547),42788=>array(56,224,479,742),42789=>array(56,42,479,560),42790=>array(92,-200,745,729),42791=>array(84,-216,634,760),42792=>array(5,-216,986,729),42793=>array(13,-215,810,702),42794=>array(67,-14,616,742),42795=>array(54,-202,493,560),42800=>array(92,0,473,547),42801=>array(52,-14,548,560),42802=>array(5,0,1344,729),42803=>array(43,-14,973,560),42804=>array(5,-14,1234,742),42805=>array(43,-14,1021,560),42806=>array(5,-14,1124,729),42807=>array(43,-14,970,560),42808=>array(5,0,1074,729),42809=>array(43,-14,907,560),42810=>array(5,0,1074,729),42811=>array(43,-14,907,560),42812=>array(5,-216,1030,729),42813=>array(43,-216,907,560),42814=>array(33,-14,653,742),42815=>array(43,-14,526,560),42816=>array(5,0,812,729),42817=>array(6,0,708,760),42822=>array(92,0,822,729),42823=>array(84,0,458,760),42824=>array(41,0,655,729),42825=>array(59,0,473,760),42826=>array(16,-14,902,742),42827=>array(5,-14,809,560),42830=>array(50,-14,1356,742),42831=>array(43,-14,1063,560),42832=>array(16,0,692,729),42833=>array(5,-208,671,560),42834=>array(34,0,907,729),42835=>array(34,-208,892,560),42838=>array(50,-188,800,742),42839=>array(45,-208,711,559),42852=>array(16,0,692,729),42853=>array(5,-208,671,760),42854=>array(16,0,692,729),42855=>array(5,-208,671,760),42880=>array(27,0,545,729),42881=>array(84,-208,259,547),42882=>array(84,-208,730,742),42883=>array(84,-208,634,560),42889=>array(112,0,288,547),42890=>array(83,141,303,405),42891=>array(140,245,316,729),42892=>array(95,458,211,729),42893=>array(81,0,716,729),42894=>array(84,-216,680,760),42896=>array(92,-157,868,729),42897=>array(84,-138,725,560),42912=>array(-11,-14,832,742),42913=>array(-11,-216,727,559),42914=>array(-11,0,805,729),42915=>array(-11,0,684,760),42916=>array(-11,0,848,729),42917=>array(-11,0,723,560),42918=>array(-11,0,781,729),42919=>array(-11,0,504,560),42920=>array(-11,-14,731,742),42921=>array(-11,-14,606,560),42922=>array(-68,0,794,729),43002=>array(84,0,972,547),43003=>array(84,0,591,729),43004=>array(41,0,641,729),43005=>array(92,0,903,729),43006=>array(92,0,280,928),43007=>array(31,0,1294,729),61184=>array(91,602,317,693),61185=>array(48,451,338,693),61186=>array(26,301,363,693),61187=>array(17,150,373,693),61188=>array(13,0,378,693),61189=>array(48,451,338,693),61190=>array(91,451,317,543),61191=>array(48,301,338,543),61192=>array(26,150,363,543),61193=>array(17,0,373,543),61194=>array(26,301,363,693),61195=>array(48,301,338,543),61196=>array(91,301,317,393),61197=>array(48,150,338,393),61198=>array(26,0,363,393),61199=>array(17,150,373,693),61200=>array(26,149,363,542),61201=>array(48,150,338,393),61202=>array(91,150,317,242),61203=>array(48,0,338,242),61204=>array(13,0,378,693),61205=>array(17,0,373,543),61206=>array(26,0,363,393),61207=>array(48,0,338,242),61208=>array(91,0,317,92),61209=>array(96,0,188,693),62464=>array(49,-14,563,819),62465=>array(49,-15,563,823),62466=>array(49,-14,604,828),62467=>array(49,0,853,828),62468=>array(49,-15,563,828),62469=>array(49,-15,563,828),62470=>array(29,-15,612,828),62471=>array(49,-14,846,828),62472=>array(49,0,541,828),62473=>array(49,-14,563,820),62474=>array(49,-6,1114,828),62475=>array(49,-14,563,828),62476=>array(63,-15,578,820),62477=>array(54,0,839,828),62478=>array(49,-15,563,819),62479=>array(49,-15,563,840),62480=>array(49,0,875,828),62481=>array(63,-14,578,819),62482=>array(44,-14,699,828),62483=>array(34,-14,570,828),62484=>array(49,-14,837,828),62485=>array(49,-14,563,819),62486=>array(49,0,858,828),62487=>array(49,-14,563,820),62488=>array(44,-14,558,828),62489=>array(64,0,579,828),62490=>array(50,-15,628,820),62491=>array(49,-14,563,819),62492=>array(63,-14,577,828),62493=>array(49,-14,581,820),62494=>array(63,-14,578,819),62495=>array(24,-14,546,828),62496=>array(49,-15,563,828),62497=>array(63,-15,577,828),62498=>array(49,-73,563,828),62499=>array(49,-15,563,830),62500=>array(49,-15,569,828),62501=>array(49,-14,627,828),62502=>array(49,-14,914,828),62504=>array(45,-228,960,816),62505=>array(54,-223,791,843),62506=>array(54,-14,510,761),62507=>array(54,-14,510,773),62508=>array(54,-14,510,866),62509=>array(54,-14,510,812),62510=>array(54,-14,510,877),62511=>array(54,-14,510,803),62512=>array(54,-232,501,761),62513=>array(54,-232,501,793),62514=>array(54,-232,501,891),62515=>array(54,-232,501,803),62516=>array(54,0,520,761),62517=>array(54,0,520,793),62518=>array(54,0,520,803),62519=>array(54,-0,770,761),62520=>array(54,-0,770,773),62521=>array(54,-0,770,884),62522=>array(54,-0,770,793),62523=>array(54,-0,770,803),62524=>array(54,-232,557,761),62525=>array(54,-232,557,773),62526=>array(54,-232,557,894),62527=>array(54,-232,557,793),62528=>array(54,-232,557,803),62529=>array(54,-232,557,844),63173=>array(43,-14,644,760),64256=>array(19,0,819,760),64257=>array(21,0,657,760),64258=>array(19,0,657,760),64259=>array(19,0,1031,760),64260=>array(19,0,1032,760),64261=>array(19,0,785,760),64262=>array(52,-14,997,742),64275=>array(74,-14,1300,760),64276=>array(78,-14,1301,760),64277=>array(78,-208,1300,760),64278=>array(78,-208,1300,760),64279=>array(78,-208,1629,760),64285=>array(66,32,228,547),64286=>array(182,635,510,780),64287=>array(66,32,500,547),64288=>array(38,0,590,547),64289=>array(85,0,855,547),64290=>array(43,0,731,547),64291=>array(91,0,778,547),64292=>array(43,0,730,547),64293=>array(43,0,730,739),64294=>array(91,0,778,547),64295=>array(43,0,730,547),64296=>array(47,-4,730,547),64297=>array(106,256,732,627),64298=>array(20,0,750,710),64299=>array(20,0,750,723),64300=>array(20,0,750,710),64301=>array(20,0,750,710),64302=>array(84,-171,644,547),64303=>array(84,-217,644,547),64304=>array(84,-171,644,547),64305=>array(43,0,567,547),64306=>array(43,-9,418,547),64307=>array(43,0,545,547),64308=>array(91,0,596,547),64309=>array(43,0,346,547),64310=>array(43,0,442,547),64312=>array(90,-13,624,553),64313=>array(43,164,369,547),64314=>array(43,-240,487,547),64315=>array(43,0,511,547),64316=>array(43,0,527,711),64318=>array(43,0,633,554),64320=>array(43,0,362,547),64321=>array(90,-13,624,547),64323=>array(91,-240,584,547),64324=>array(91,0,603,547),64326=>array(33,0,564,547),64327=>array(91,-240,660,546),64328=>array(43,0,511,547),64329=>array(20,0,750,547),64330=>array(10,-4,592,547),64331=>array(91,0,252,710),64332=>array(43,0,567,710),64333=>array(43,0,511,710),64334=>array(91,0,603,710),64335=>array(43,0,652,729),64338=>array(63,-244,921,327),64339=>array(63,-244,1068,327),64340=>array(-10,-244,292,293),64341=>array(-10,-244,418,293),64342=>array(63,-244,921,327),64343=>array(63,-244,1068,327),64344=>array(-10,-244,302,293),64345=>array(-10,-244,418,293),64346=>array(63,-244,921,327),64347=>array(63,-244,1068,327),64348=>array(-10,-244,302,293),64349=>array(-10,-244,418,293),64350=>array(63,-5,921,566),64351=>array(63,-5,1068,566),64352=>array(-10,0,292,640),64353=>array(-10,0,418,640),64354=>array(63,-5,921,566),64355=>array(63,-5,1068,566),64356=>array(-10,0,302,640),64357=>array(-10,0,418,640),64358=>array(63,-5,921,599),64359=>array(63,-5,1068,599),64360=>array(-10,0,333,672),64361=>array(-10,0,418,672),64362=>array(63,-24,1082,786),64363=>array(63,-29,1201,786),64364=>array(-10,0,575,786),64365=>array(-10,0,729,786),64366=>array(63,-24,1082,786),64367=>array(63,-29,1201,786),64368=>array(-10,0,575,786),64369=>array(-10,0,729,786),64370=>array(77,-244,720,425),64371=>array(77,-244,730,425),64372=>array(-10,-244,628,405),64373=>array(-10,-244,730,405),64374=>array(77,-244,720,425),64375=>array(77,-244,730,425),64376=>array(-10,-117,628,405),64377=>array(-10,-117,730,405),64378=>array(77,-244,720,425),64379=>array(77,-244,730,425),64380=>array(-10,-244,628,405),64381=>array(-10,-244,730,405),64382=>array(77,-244,720,425),64383=>array(77,-244,730,425),64384=>array(-10,-244,628,405),64385=>array(-10,-244,730,405),64386=>array(61,-146,442,415),64387=>array(61,-146,587,415),64388=>array(61,-15,442,586),64389=>array(61,-15,587,586),64390=>array(61,-15,442,708),64391=>array(61,-15,587,708),64392=>array(61,-15,442,746),64393=>array(61,-15,587,746),64394=>array(-42,-244,508,615),64395=>array(-42,-244,632,615),64396=>array(-42,-244,520,648),64397=>array(-42,-244,632,648),64398=>array(63,-39,1024,760),64399=>array(63,-39,1034,760),64400=>array(-10,0,582,760),64401=>array(-10,0,591,760),64402=>array(63,-39,1024,910),64403=>array(63,-39,1034,910),64404=>array(-10,0,582,910),64405=>array(-10,0,591,910),64406=>array(63,-293,1024,910),64407=>array(63,-293,1034,910),64408=>array(-10,-269,582,910),64409=>array(-10,-269,591,910),64410=>array(63,-39,1024,910),64411=>array(63,-39,1034,910),64412=>array(-10,0,582,910),64413=>array(-10,0,591,910),64414=>array(62,-165,779,366),64415=>array(62,-244,910,287),64416=>array(62,-165,779,636),64417=>array(62,-244,910,514),64418=>array(-10,0,333,672),64419=>array(-10,0,418,672),64426=>array(70,-33,877,506),64427=>array(70,-244,890,369),64428=>array(-10,-33,633,506),64429=>array(-10,-244,670,369),64467=>array(70,-27,814,854),64468=>array(70,-27,941,854),64469=>array(-10,0,582,928),64470=>array(-10,0,591,928),64473=>array(-42,-244,547,556),64474=>array(-42,-244,637,556),64488=>array(-10,0,292,293),64489=>array(-10,0,418,293),64508=>array(63,-107,863,462),64509=>array(63,-126,1021,291),64510=>array(-10,-166,302,293),64511=>array(-10,-166,418,293),65056=>array(-419,735,0,880),65057=>array(0,735,419,880),65058=>array(-362,756,0,894),65059=>array(0,756,362,894),65136=>array(28,591,313,825),65137=>array(-10,0,352,825),65138=>array(28,591,313,881),65139=>array(51,0,356,177),65140=>array(28,-239,313,-5),65142=>array(28,591,313,723),65143=>array(-10,0,352,723),65144=>array(28,590,313,881),65145=>array(-10,0,352,881),65146=>array(28,-137,313,-5),65147=>array(-10,-137,352,125),65148=>array(9,599,333,869),65149=>array(-10,0,352,869),65150=>array(36,610,304,878),65151=>array(-10,0,352,878),65152=>array(73,20,437,493),65153=>array(-20,0,362,955),65154=>array(-20,0,385,955),65155=>array(75,0,259,993),65156=>array(75,0,385,993),65157=>array(-42,-244,547,603),65158=>array(-42,-244,637,603),65159=>array(76,-245,259,760),65160=>array(76,-245,385,760),65161=>array(63,-107,863,603),65162=>array(63,-126,1021,480),65163=>array(-10,0,292,627),65164=>array(-10,0,418,627),65165=>array(84,0,259,760),65166=>array(84,0,385,760),65167=>array(63,-149,921,327),65168=>array(63,-149,1068,327),65169=>array(-10,-173,292,293),65170=>array(-10,-173,418,293),65171=>array(48,-30,540,513),65172=>array(65,0,616,513),65173=>array(63,-5,921,415),65174=>array(63,-5,1068,415),65175=>array(-10,0,302,488),65176=>array(-10,0,418,488),65177=>array(63,-5,921,537),65178=>array(63,-5,1068,537),65179=>array(-10,0,302,610),65180=>array(-10,0,418,610),65181=>array(77,-244,720,425),65182=>array(77,-244,730,425),65183=>array(-10,-173,628,405),65184=>array(-10,-173,730,405),65185=>array(77,-244,720,425),65186=>array(77,-244,730,425),65187=>array(-10,0,628,405),65188=>array(-10,0,730,405),65189=>array(77,-244,720,579),65190=>array(77,-244,730,579),65191=>array(-10,0,628,530),65192=>array(-10,0,730,530),65193=>array(61,-15,442,415),65194=>array(61,-15,587,415),65195=>array(61,-15,442,579),65196=>array(61,-15,587,579),65197=>array(-42,-244,508,269),65198=>array(-42,-244,632,269),65199=>array(-42,-244,508,457),65200=>array(-42,-244,632,457),65201=>array(63,-244,1297,366),65202=>array(63,-244,1423,366),65203=>array(-10,-14,901,366),65204=>array(-10,-14,1027,366),65205=>array(63,-244,1297,586),65206=>array(63,-244,1423,586),65207=>array(-10,-14,901,586),65208=>array(-10,-14,1027,586),65209=>array(63,-244,1265,362),65210=>array(63,-244,1374,362),65211=>array(-10,0,886,362),65212=>array(-10,0,995,362),65213=>array(63,-244,1265,457),65214=>array(63,-244,1374,457),65215=>array(-10,0,886,481),65216=>array(-10,0,995,481),65217=>array(70,0,971,760),65218=>array(70,0,1081,760),65219=>array(-10,0,875,760),65220=>array(-10,0,984,760),65221=>array(70,0,971,760),65222=>array(70,0,1081,760),65223=>array(-10,0,875,760),65224=>array(-10,0,984,760),65225=>array(87,-244,720,521),65226=>array(57,-244,693,382),65227=>array(-10,0,583,521),65228=>array(-10,0,574,382),65229=>array(87,-244,720,652),65230=>array(57,-244,693,530),65231=>array(-10,0,583,652),65232=>array(-10,0,574,530),65233=>array(63,-24,1082,627),65234=>array(63,-29,1201,627),65235=>array(-10,0,575,627),65236=>array(-10,0,729,627),65237=>array(52,-215,825,635),65238=>array(52,-244,911,476),65239=>array(-10,0,575,635),65240=>array(-10,0,729,635),65241=>array(70,-27,814,760),65242=>array(70,-27,941,760),65243=>array(-10,0,582,760),65244=>array(-10,0,591,760),65245=>array(70,-142,778,760),65246=>array(70,-142,902,760),65247=>array(-10,0,292,760),65248=>array(-10,0,418,760),65249=>array(68,-244,660,369),65250=>array(68,-244,794,311),65251=>array(-10,-23,546,311),65252=>array(-10,-23,680,311),65253=>array(62,-165,779,457),65254=>array(62,-244,910,383),65255=>array(-10,0,292,481),65256=>array(-10,0,418,481),65257=>array(48,-30,540,358),65258=>array(65,0,616,366),65259=>array(-10,-33,633,506),65260=>array(-10,-244,670,369),65261=>array(-42,-244,547,322),65262=>array(-42,-244,637,322),65263=>array(63,-107,863,462),65264=>array(63,-126,1021,291),65265=>array(63,-244,863,462),65266=>array(63,-244,1021,291),65267=>array(-10,-166,302,293),65268=>array(-10,-166,418,293),65269=>array(-62,-15,643,882),65270=>array(-62,-15,769,882),65271=>array(33,-15,643,944),65272=>array(33,-15,769,944),65273=>array(41,-245,643,760),65274=>array(41,-245,769,760),65275=>array(41,-15,643,760),65276=>array(41,-15,769,760),65533=>array(24,-139,1089,926),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>348,33=>456,34=>521,35=>838,36=>696,37=>1002,38=>872,39=>306,40=>457,41=>457,42=>523,43=>838,44=>380,45=>415,46=>380,47=>365,48=>696,49=>696,50=>696,51=>696,52=>696,53=>696,54=>696,55=>696,56=>696,57=>696,58=>400,59=>400,60=>838,61=>838,62=>838,63=>580,64=>1000,65=>774,66=>762,67=>734,68=>830,69=>683,70=>683,71=>821,72=>837,73=>372,74=>372,75=>775,76=>637,77=>995,78=>837,79=>850,80=>733,81=>850,82=>770,83=>720,84=>682,85=>812,86=>774,87=>1103,88=>771,89=>724,90=>725,91=>457,92=>365,93=>457,94=>838,95=>500,96=>500,97=>675,98=>716,99=>593,100=>716,101=>678,102=>435,103=>716,104=>712,105=>343,106=>343,107=>665,108=>343,109=>1042,110=>712,111=>687,112=>716,113=>716,114=>493,115=>595,116=>478,117=>712,118=>652,119=>924,120=>645,121=>652,122=>582,123=>712,124=>365,125=>712,126=>838,160=>348,161=>456,162=>696,163=>696,164=>636,165=>696,166=>365,167=>500,168=>500,169=>1000,170=>564,171=>646,172=>838,173=>415,174=>1000,175=>500,176=>500,177=>838,178=>438,179=>438,180=>500,181=>736,182=>636,183=>380,184=>500,185=>438,186=>564,187=>646,188=>1035,189=>1035,190=>1035,191=>580,192=>774,193=>774,194=>774,195=>774,196=>774,197=>774,198=>1085,199=>734,200=>683,201=>683,202=>683,203=>683,204=>372,205=>372,206=>372,207=>372,208=>838,209=>837,210=>850,211=>850,212=>850,213=>850,214=>850,215=>838,216=>850,217=>812,218=>812,219=>812,220=>812,221=>724,222=>738,223=>719,224=>675,225=>675,226=>675,227=>675,228=>675,229=>675,230=>1048,231=>593,232=>678,233=>678,234=>678,235=>678,236=>343,237=>343,238=>343,239=>343,240=>687,241=>712,242=>687,243=>687,244=>687,245=>687,246=>687,247=>838,248=>687,249=>712,250=>712,251=>712,252=>712,253=>652,254=>716,255=>652,256=>774,257=>675,258=>774,259=>675,260=>774,261=>675,262=>734,263=>593,264=>734,265=>593,266=>734,267=>593,268=>734,269=>593,270=>830,271=>716,272=>838,273=>716,274=>683,275=>678,276=>683,277=>678,278=>683,279=>678,280=>683,281=>678,282=>683,283=>678,284=>821,285=>716,286=>821,287=>716,288=>821,289=>716,290=>821,291=>716,292=>837,293=>712,294=>974,295=>790,296=>372,297=>343,298=>372,299=>343,300=>372,301=>343,302=>372,303=>343,304=>372,305=>343,306=>744,307=>686,308=>372,309=>343,310=>775,311=>665,312=>665,313=>637,314=>343,315=>637,316=>343,317=>637,318=>479,319=>637,320=>557,321=>642,322=>371,323=>837,324=>712,325=>837,326=>712,327=>837,328=>712,329=>983,330=>837,331=>712,332=>850,333=>687,334=>850,335=>687,336=>850,337=>687,338=>1167,339=>1094,340=>770,341=>493,342=>770,343=>493,344=>770,345=>493,346=>720,347=>595,348=>720,349=>595,350=>720,351=>595,352=>720,353=>595,354=>682,355=>478,356=>682,357=>478,358=>682,359=>478,360=>812,361=>712,362=>812,363=>712,364=>812,365=>712,366=>812,367=>712,368=>812,369=>712,370=>812,371=>712,372=>1103,373=>924,374=>724,375=>652,376=>724,377=>725,378=>582,379=>725,380=>582,381=>725,382=>582,383=>435,384=>716,385=>811,386=>762,387=>716,388=>762,389=>716,390=>734,391=>734,392=>593,393=>838,394=>879,395=>757,396=>716,397=>688,398=>683,399=>849,400=>696,401=>683,402=>435,403=>821,404=>793,405=>1045,406=>436,407=>389,408=>775,409=>665,410=>360,411=>592,412=>1042,413=>837,414=>712,415=>850,416=>874,417=>687,418=>1083,419=>912,420=>782,421=>716,422=>770,423=>720,424=>595,425=>683,426=>552,427=>478,428=>707,429=>478,430=>682,431=>835,432=>712,433=>850,434=>813,435=>797,436=>778,437=>725,438=>582,439=>772,440=>772,441=>641,442=>582,443=>696,444=>772,445=>641,446=>573,447=>716,448=>372,449=>659,450=>544,451=>372,452=>1555,453=>1412,454=>1298,455=>1009,456=>980,457=>686,458=>1209,459=>1180,460=>1055,461=>774,462=>675,463=>372,464=>343,465=>850,466=>687,467=>812,468=>712,469=>812,470=>712,471=>812,472=>712,473=>812,474=>712,475=>812,476=>712,477=>678,478=>774,479=>675,480=>774,481=>675,482=>1085,483=>1048,484=>821,485=>716,486=>821,487=>716,488=>775,489=>665,490=>850,491=>687,492=>850,493=>687,494=>772,495=>582,496=>343,497=>1555,498=>1412,499=>1298,500=>821,501=>716,502=>1289,503=>787,504=>837,505=>712,506=>774,507=>675,508=>1085,509=>1048,510=>850,511=>687,512=>774,513=>675,514=>774,515=>675,516=>683,517=>678,518=>683,519=>678,520=>372,521=>343,522=>372,523=>343,524=>850,525=>687,526=>850,527=>687,528=>770,529=>493,530=>770,531=>493,532=>812,533=>712,534=>812,535=>712,536=>720,537=>595,538=>682,539=>478,540=>690,541=>607,542=>837,543=>712,544=>837,545=>865,546=>809,547=>659,548=>725,549=>582,550=>774,551=>675,552=>683,553=>678,554=>850,555=>687,556=>850,557=>687,558=>850,559=>687,560=>850,561=>687,562=>724,563=>652,564=>492,565=>867,566=>512,567=>343,568=>1088,569=>1088,570=>774,571=>734,572=>593,573=>637,574=>682,575=>595,576=>582,577=>782,578=>614,579=>762,580=>812,581=>774,582=>683,583=>678,584=>372,585=>343,586=>860,587=>791,588=>770,589=>493,590=>724,591=>652,592=>675,593=>716,594=>716,595=>716,596=>593,597=>593,598=>717,599=>792,600=>678,601=>678,602=>876,603=>557,604=>545,605=>815,606=>731,607=>343,608=>792,609=>716,610=>627,611=>644,612=>635,613=>712,614=>712,615=>712,616=>545,617=>440,618=>545,619=>559,620=>693,621=>343,622=>841,623=>1042,624=>1042,625=>1042,626=>712,627=>793,628=>707,629=>687,630=>909,631=>681,632=>796,633=>538,634=>538,635=>650,636=>493,637=>493,638=>596,639=>596,640=>642,641=>642,642=>595,643=>415,644=>435,645=>605,646=>552,647=>478,648=>478,649=>920,650=>772,651=>670,652=>652,653=>924,654=>652,655=>724,656=>694,657=>684,658=>641,659=>641,660=>573,661=>573,662=>573,663=>573,664=>850,665=>633,666=>731,667=>685,668=>691,669=>343,670=>732,671=>539,672=>792,673=>573,674=>573,675=>1156,676=>1214,677=>1155,678=>975,679=>769,680=>929,681=>1026,682=>862,683=>780,684=>591,685=>415,686=>677,687=>789,688=>456,689=>456,690=>219,691=>315,692=>315,693=>315,694=>411,695=>591,696=>417,697=>302,698=>521,699=>380,700=>380,701=>380,702=>366,703=>366,704=>326,705=>326,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>306,713=>500,714=>500,715=>500,716=>306,717=>500,718=>500,719=>500,720=>337,721=>337,722=>366,723=>366,724=>500,725=>500,726=>416,727=>328,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>351,735=>500,736=>412,737=>219,738=>381,739=>413,740=>326,741=>500,742=>500,743=>500,744=>500,745=>500,748=>500,749=>500,750=>657,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>698,881=>565,882=>1022,883=>836,884=>302,885=>302,886=>837,887=>701,890=>500,891=>593,892=>550,893=>549,894=>400,900=>441,901=>500,902=>797,903=>380,904=>846,905=>1009,906=>563,908=>891,910=>980,911=>894,912=>390,913=>774,914=>762,915=>637,916=>774,917=>683,918=>725,919=>837,920=>850,921=>372,922=>775,923=>774,924=>995,925=>837,926=>632,927=>850,928=>837,929=>733,931=>683,932=>682,933=>724,934=>850,935=>771,936=>850,937=>850,938=>372,939=>724,940=>687,941=>557,942=>712,943=>390,944=>675,945=>687,946=>716,947=>681,948=>687,949=>557,950=>591,951=>712,952=>687,953=>390,954=>710,955=>633,956=>736,957=>681,958=>591,959=>687,960=>791,961=>716,962=>593,963=>779,964=>638,965=>675,966=>782,967=>645,968=>794,969=>869,970=>390,971=>675,972=>687,973=>675,974=>869,975=>775,976=>651,977=>661,978=>746,979=>981,980=>746,981=>796,982=>869,983=>744,984=>850,985=>687,986=>734,987=>593,988=>683,989=>494,990=>702,991=>660,992=>919,993=>627,994=>1093,995=>837,996=>832,997=>716,998=>928,999=>744,1000=>733,1001=>650,1002=>789,1003=>671,1004=>752,1005=>716,1006=>682,1007=>590,1008=>744,1009=>716,1010=>593,1011=>343,1012=>850,1013=>645,1014=>644,1015=>738,1016=>716,1017=>734,1018=>995,1019=>732,1020=>716,1021=>698,1022=>734,1023=>698,1024=>683,1025=>683,1026=>878,1027=>637,1028=>734,1029=>720,1030=>372,1031=>372,1032=>372,1033=>1154,1034=>1130,1035=>878,1036=>817,1037=>837,1038=>771,1039=>837,1040=>774,1041=>762,1042=>762,1043=>637,1044=>891,1045=>683,1046=>1224,1047=>710,1048=>837,1049=>837,1050=>817,1051=>831,1052=>995,1053=>837,1054=>850,1055=>837,1056=>733,1057=>734,1058=>682,1059=>771,1060=>992,1061=>771,1062=>928,1063=>808,1064=>1235,1065=>1326,1066=>939,1067=>1036,1068=>762,1069=>734,1070=>1174,1071=>770,1072=>675,1073=>698,1074=>633,1075=>522,1076=>808,1077=>678,1078=>995,1079=>581,1080=>701,1081=>701,1082=>679,1083=>732,1084=>817,1085=>691,1086=>687,1087=>691,1088=>716,1089=>593,1090=>580,1091=>652,1092=>992,1093=>645,1094=>741,1095=>687,1096=>1062,1097=>1105,1098=>751,1099=>904,1100=>632,1101=>593,1102=>972,1103=>642,1104=>678,1105=>678,1106=>714,1107=>522,1108=>593,1109=>595,1110=>343,1111=>343,1112=>343,1113=>991,1114=>956,1115=>734,1116=>679,1117=>701,1118=>652,1119=>691,1120=>1093,1121=>869,1122=>840,1123=>736,1124=>1012,1125=>839,1126=>992,1127=>832,1128=>1358,1129=>1121,1130=>850,1131=>687,1132=>1236,1133=>1007,1134=>696,1135=>557,1136=>1075,1137=>1061,1138=>850,1139=>687,1140=>850,1141=>695,1142=>850,1143=>695,1144=>1148,1145=>1043,1146=>1074,1147=>863,1148=>1405,1149=>1173,1150=>1093,1151=>869,1152=>734,1153=>593,1154=>652,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>418,1161=>418,1162=>957,1163=>807,1164=>762,1165=>611,1166=>733,1167=>716,1168=>637,1169=>522,1170=>666,1171=>543,1172=>808,1173=>669,1174=>1224,1175=>995,1176=>710,1177=>581,1178=>775,1179=>679,1180=>817,1181=>679,1182=>817,1183=>679,1184=>1015,1185=>826,1186=>956,1187=>808,1188=>1103,1189=>874,1190=>1273,1191=>1017,1192=>952,1193=>858,1194=>734,1195=>593,1196=>682,1197=>580,1198=>724,1199=>652,1200=>724,1201=>652,1202=>771,1203=>645,1204=>1112,1205=>1000,1206=>808,1207=>687,1208=>808,1209=>687,1210=>808,1211=>712,1212=>1026,1213=>810,1214=>1026,1215=>810,1216=>372,1217=>1224,1218=>995,1219=>775,1220=>630,1221=>951,1222=>805,1223=>837,1224=>691,1225=>957,1226=>807,1227=>808,1228=>687,1229=>1115,1230=>933,1231=>343,1232=>774,1233=>675,1234=>774,1235=>675,1236=>1085,1237=>1048,1238=>683,1239=>678,1240=>849,1241=>678,1242=>849,1243=>678,1244=>1224,1245=>995,1246=>710,1247=>581,1248=>772,1249=>641,1250=>837,1251=>701,1252=>837,1253=>701,1254=>850,1255=>687,1256=>850,1257=>687,1258=>850,1259=>687,1260=>734,1261=>593,1262=>771,1263=>652,1264=>771,1265=>652,1266=>771,1267=>652,1268=>808,1269=>687,1270=>637,1271=>522,1272=>1036,1273=>904,1274=>666,1275=>543,1276=>771,1277=>645,1278=>771,1279=>645,1280=>762,1281=>608,1282=>1159,1283=>893,1284=>1119,1285=>920,1286=>828,1287=>693,1288=>1242,1289=>1017,1290=>1289,1291=>1013,1292=>839,1293=>638,1294=>938,1295=>803,1296=>696,1297=>557,1298=>831,1299=>732,1300=>1286,1301=>1068,1302=>1065,1303=>979,1304=>1082,1305=>1013,1306=>850,1307=>716,1308=>1103,1309=>924,1310=>817,1311=>679,1312=>1267,1313=>1059,1314=>1273,1315=>1017,1316=>957,1317=>807,1329=>813,1330=>729,1331=>728,1332=>731,1333=>729,1334=>733,1335=>652,1336=>720,1337=>903,1338=>728,1339=>666,1340=>558,1341=>961,1342=>788,1343=>713,1344=>651,1345=>730,1346=>715,1347=>704,1348=>780,1349=>689,1350=>715,1351=>708,1352=>731,1353=>677,1354=>867,1355=>711,1356=>780,1357=>731,1358=>715,1359=>693,1360=>666,1361=>698,1362=>576,1363=>833,1364=>698,1365=>763,1366=>855,1369=>330,1370=>342,1371=>308,1372=>374,1373=>313,1374=>461,1375=>468,1377=>938,1378=>642,1379=>704,1380=>708,1381=>642,1382=>644,1383=>565,1384=>642,1385=>756,1386=>704,1387=>643,1388=>310,1389=>984,1390=>638,1391=>643,1392=>643,1393=>603,1394=>643,1395=>642,1396=>643,1397=>309,1398=>643,1399=>486,1400=>643,1401=>366,1402=>938,1403=>573,1404=>666,1405=>643,1406=>643,1407=>934,1408=>643,1409=>643,1410=>479,1411=>934,1412=>648,1413=>620,1414=>813,1415=>812,1417=>360,1418=>374,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>415,1471=>0,1472=>372,1473=>0,1474=>0,1475=>372,1478=>497,1479=>0,1488=>728,1489=>610,1490=>447,1491=>588,1492=>687,1493=>343,1494=>400,1495=>687,1496=>679,1497=>294,1498=>578,1499=>566,1500=>605,1501=>696,1502=>724,1503=>343,1504=>453,1505=>680,1506=>666,1507=>675,1508=>658,1509=>661,1510=>653,1511=>736,1512=>602,1513=>758,1514=>683,1520=>664,1521=>567,1522=>519,1523=>444,1524=>710,1542=>667,1543=>667,1545=>884,1546=>1157,1548=>380,1557=>0,1563=>400,1567=>580,1569=>511,1570=>343,1571=>343,1572=>622,1573=>343,1574=>917,1575=>343,1576=>1005,1577=>590,1578=>1005,1579=>1005,1580=>721,1581=>721,1582=>721,1583=>513,1584=>513,1585=>576,1586=>576,1587=>1380,1588=>1380,1589=>1345,1590=>1345,1591=>1039,1592=>1039,1593=>683,1594=>683,1600=>342,1601=>1162,1602=>894,1603=>917,1604=>868,1605=>733,1606=>854,1607=>590,1608=>622,1609=>917,1610=>917,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1619=>0,1620=>0,1621=>0,1623=>0,1626=>500,1632=>610,1633=>610,1634=>610,1635=>610,1636=>610,1637=>610,1638=>610,1639=>610,1640=>610,1641=>610,1642=>610,1643=>374,1644=>380,1645=>545,1646=>1005,1647=>894,1648=>0,1652=>292,1657=>1005,1658=>1005,1659=>1005,1660=>1005,1661=>1005,1662=>1005,1663=>1005,1664=>1005,1665=>721,1666=>721,1667=>721,1668=>721,1669=>721,1670=>721,1671=>721,1672=>445,1673=>445,1674=>445,1675=>445,1676=>445,1677=>445,1678=>445,1679=>445,1680=>445,1681=>576,1682=>576,1683=>576,1684=>576,1685=>681,1686=>576,1687=>576,1688=>576,1689=>576,1690=>1380,1691=>1380,1692=>1380,1693=>1345,1694=>1345,1695=>1039,1696=>683,1697=>1162,1698=>1162,1699=>1162,1700=>1162,1701=>1162,1702=>1162,1703=>894,1704=>894,1705=>1024,1706=>1271,1707=>1024,1708=>917,1709=>917,1710=>917,1711=>1024,1712=>1024,1713=>1024,1714=>1024,1715=>1024,1716=>1024,1717=>868,1718=>868,1719=>868,1720=>868,1721=>854,1722=>854,1723=>854,1724=>854,1725=>854,1726=>938,1727=>721,1734=>622,1740=>917,1742=>917,1749=>590,1776=>610,1777=>610,1778=>610,1779=>610,1780=>610,1781=>610,1782=>610,1783=>610,1784=>610,1785=>610,1984=>696,1985=>696,1986=>696,1987=>696,1988=>696,1989=>696,1990=>696,1991=>696,1992=>696,1993=>696,1994=>343,1995=>547,1996=>543,1997=>652,1998=>691,1999=>691,2000=>594,2001=>691,2002=>904,2003=>551,2004=>551,2005=>627,2006=>688,2007=>444,2008=>1022,2009=>506,2010=>826,2011=>691,2012=>652,2013=>912,2014=>627,2015=>707,2016=>506,2017=>652,2018=>574,2019=>627,2020=>627,2021=>627,2022=>574,2023=>574,2027=>0,2028=>0,2029=>0,2030=>0,2031=>0,2032=>0,2033=>0,2034=>0,2035=>0,2036=>380,2037=>380,2040=>691,2041=>691,2042=>415,3647=>696,3713=>790,3714=>748,3716=>749,3719=>569,3720=>742,3722=>744,3725=>761,3732=>706,3733=>704,3734=>747,3735=>819,3737=>730,3738=>727,3739=>727,3740=>922,3741=>827,3742=>866,3743=>866,3745=>836,3746=>761,3747=>770,3749=>769,3751=>713,3754=>827,3755=>1031,3757=>724,3758=>784,3759=>934,3760=>688,3761=>0,3762=>610,3763=>610,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>670,3776=>516,3777=>860,3778=>516,3779=>650,3780=>632,3782=>759,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>771,3793=>771,3794=>693,3795=>836,3796=>729,3797=>729,3798=>849,3799=>790,3800=>759,3801=>910,3804=>1363,3805=>1363,4256=>874,4257=>733,4258=>679,4259=>834,4260=>615,4261=>768,4262=>753,4263=>914,4264=>453,4265=>620,4266=>843,4267=>882,4268=>625,4269=>854,4270=>781,4271=>629,4272=>912,4273=>621,4274=>620,4275=>854,4276=>866,4277=>724,4278=>630,4279=>621,4280=>625,4281=>620,4282=>818,4283=>874,4284=>615,4285=>623,4286=>625,4287=>725,4288=>844,4289=>596,4290=>688,4291=>596,4292=>594,4293=>738,4304=>554,4305=>563,4306=>622,4307=>834,4308=>555,4309=>564,4310=>551,4311=>828,4312=>563,4313=>556,4314=>1074,4315=>568,4316=>568,4317=>814,4318=>554,4319=>563,4320=>823,4321=>568,4322=>700,4323=>591,4324=>852,4325=>560,4326=>814,4327=>563,4328=>553,4329=>568,4330=>622,4331=>568,4332=>553,4333=>566,4334=>568,4335=>540,4336=>554,4337=>559,4338=>553,4339=>554,4340=>553,4341=>587,4342=>853,4343=>604,4344=>563,4345=>622,4346=>554,4347=>448,4348=>324,5121=>774,5122=>774,5123=>774,5124=>774,5125=>905,5126=>905,5127=>905,5129=>905,5130=>905,5131=>905,5132=>1018,5133=>1009,5134=>1018,5135=>1009,5136=>1018,5137=>1009,5138=>1149,5139=>1140,5140=>1149,5141=>1140,5142=>905,5143=>1149,5144=>1142,5145=>1149,5146=>1142,5147=>905,5149=>310,5150=>529,5151=>425,5152=>425,5153=>395,5154=>395,5155=>395,5156=>395,5157=>564,5158=>470,5159=>310,5160=>395,5161=>395,5162=>395,5163=>1213,5164=>986,5165=>1216,5166=>1297,5167=>774,5168=>774,5169=>774,5170=>774,5171=>886,5172=>886,5173=>886,5175=>886,5176=>886,5177=>886,5178=>1018,5179=>1009,5180=>1018,5181=>1009,5182=>1018,5183=>1009,5184=>1149,5185=>1140,5186=>1149,5187=>1140,5188=>1149,5189=>1142,5190=>1149,5191=>1142,5192=>886,5193=>576,5194=>229,5196=>812,5197=>812,5198=>812,5199=>812,5200=>815,5201=>815,5202=>815,5204=>815,5205=>815,5206=>815,5207=>1056,5208=>1048,5209=>1056,5210=>1048,5211=>1056,5212=>1048,5213=>1060,5214=>1054,5215=>1060,5216=>1054,5217=>1060,5218=>1052,5219=>1060,5220=>1052,5221=>1060,5222=>483,5223=>1005,5224=>1005,5225=>1023,5226=>1017,5227=>743,5228=>743,5229=>743,5230=>743,5231=>743,5232=>743,5233=>743,5234=>743,5235=>743,5236=>1029,5237=>975,5238=>980,5239=>975,5240=>980,5241=>975,5242=>1029,5243=>975,5244=>1029,5245=>975,5246=>980,5247=>975,5248=>980,5249=>975,5250=>980,5251=>501,5252=>501,5253=>938,5254=>938,5255=>938,5256=>938,5257=>743,5258=>743,5259=>743,5260=>743,5261=>743,5262=>743,5263=>743,5264=>743,5265=>743,5266=>1029,5267=>975,5268=>1029,5269=>975,5270=>1029,5271=>975,5272=>1029,5273=>975,5274=>1029,5275=>975,5276=>1029,5277=>975,5278=>1029,5279=>975,5280=>1029,5281=>501,5282=>501,5283=>626,5284=>626,5285=>626,5286=>626,5287=>626,5288=>626,5289=>626,5290=>626,5291=>626,5292=>881,5293=>854,5294=>863,5295=>874,5296=>863,5297=>874,5298=>881,5299=>874,5300=>881,5301=>874,5302=>863,5303=>874,5304=>863,5305=>874,5306=>863,5307=>436,5308=>548,5309=>436,5312=>988,5313=>988,5314=>988,5315=>988,5316=>931,5317=>931,5318=>931,5319=>931,5320=>931,5321=>1238,5322=>1247,5323=>1200,5324=>1228,5325=>1200,5326=>1228,5327=>931,5328=>660,5329=>497,5330=>660,5331=>988,5332=>988,5333=>988,5334=>988,5335=>931,5336=>931,5337=>931,5338=>931,5339=>931,5340=>1231,5341=>1247,5342=>1283,5343=>1228,5344=>1283,5345=>1228,5346=>1228,5347=>1214,5348=>1228,5349=>1214,5350=>1283,5351=>1228,5352=>1283,5353=>1228,5354=>660,5356=>886,5357=>730,5358=>730,5359=>730,5360=>730,5361=>730,5362=>730,5363=>730,5364=>730,5365=>730,5366=>998,5367=>958,5368=>967,5369=>989,5370=>967,5371=>989,5372=>998,5373=>958,5374=>998,5375=>958,5376=>967,5377=>989,5378=>967,5379=>989,5380=>967,5381=>493,5382=>460,5383=>493,5392=>923,5393=>923,5394=>923,5395=>1136,5396=>1136,5397=>1136,5398=>1136,5399=>1209,5400=>1202,5401=>1209,5402=>1202,5403=>1209,5404=>1202,5405=>1431,5406=>1420,5407=>1431,5408=>1420,5409=>1431,5410=>1420,5411=>1431,5412=>1420,5413=>746,5414=>776,5415=>776,5416=>776,5417=>776,5418=>776,5419=>776,5420=>776,5421=>776,5422=>776,5423=>1003,5424=>1003,5425=>1013,5426=>996,5427=>1013,5428=>996,5429=>1003,5430=>1003,5431=>1003,5432=>1003,5433=>1013,5434=>996,5435=>1013,5436=>996,5437=>1013,5438=>495,5440=>395,5441=>510,5442=>1033,5443=>1033,5444=>976,5445=>976,5446=>976,5447=>976,5448=>733,5449=>733,5450=>733,5451=>733,5452=>733,5453=>733,5454=>1003,5455=>959,5456=>495,5458=>886,5459=>774,5460=>774,5461=>774,5462=>774,5463=>928,5464=>928,5465=>928,5466=>928,5467=>1172,5468=>1142,5469=>602,5470=>812,5471=>812,5472=>812,5473=>812,5474=>812,5475=>812,5476=>815,5477=>815,5478=>815,5479=>815,5480=>1060,5481=>1052,5482=>548,5492=>977,5493=>977,5494=>977,5495=>977,5496=>977,5497=>977,5498=>977,5499=>618,5500=>837,5501=>510,5502=>1238,5503=>1238,5504=>1238,5505=>1238,5506=>1238,5507=>1238,5508=>1238,5509=>989,5514=>977,5515=>977,5516=>977,5517=>977,5518=>1591,5519=>1591,5520=>1591,5521=>1295,5522=>1295,5523=>1591,5524=>1591,5525=>848,5526=>1273,5536=>988,5537=>988,5538=>931,5539=>931,5540=>931,5541=>931,5542=>660,5543=>776,5544=>776,5545=>776,5546=>776,5547=>776,5548=>776,5549=>776,5550=>495,5551=>743,5598=>830,5601=>830,5702=>496,5703=>496,5742=>413,5743=>1238,5744=>1591,5745=>2016,5746=>2016,5747=>1720,5748=>1678,5749=>2016,5750=>2016,5760=>543,5761=>637,5762=>945,5763=>1254,5764=>1563,5765=>1871,5766=>627,5767=>936,5768=>1254,5769=>1559,5770=>1871,5771=>569,5772=>877,5773=>1187,5774=>1497,5775=>1807,5776=>637,5777=>945,5778=>1240,5779=>1555,5780=>1871,5781=>569,5782=>569,5783=>789,5784=>1234,5785=>1559,5786=>740,5787=>638,5788=>638,7424=>652,7425=>833,7426=>1048,7427=>608,7428=>593,7429=>676,7430=>676,7431=>559,7432=>557,7433=>343,7434=>494,7435=>665,7436=>539,7437=>817,7438=>701,7439=>687,7440=>593,7441=>660,7442=>660,7443=>660,7444=>1094,7446=>687,7447=>687,7448=>556,7449=>642,7450=>642,7451=>580,7452=>634,7453=>737,7454=>948,7455=>695,7456=>652,7457=>924,7458=>582,7459=>646,7462=>539,7463=>652,7464=>691,7465=>556,7466=>781,7467=>732,7468=>487,7469=>683,7470=>480,7472=>523,7473=>430,7474=>430,7475=>517,7476=>527,7477=>234,7478=>234,7479=>488,7480=>401,7481=>626,7482=>527,7483=>527,7484=>535,7485=>509,7486=>461,7487=>485,7488=>430,7489=>511,7490=>695,7491=>458,7492=>458,7493=>479,7494=>712,7495=>479,7496=>479,7497=>479,7498=>479,7499=>386,7500=>386,7501=>479,7502=>219,7503=>487,7504=>664,7505=>456,7506=>488,7507=>414,7508=>488,7509=>488,7510=>479,7511=>388,7512=>456,7513=>462,7514=>664,7515=>501,7517=>451,7518=>429,7519=>433,7520=>493,7521=>406,7522=>219,7523=>315,7524=>456,7525=>501,7526=>451,7527=>429,7528=>451,7529=>493,7530=>406,7543=>716,7544=>527,7547=>545,7549=>747,7557=>514,7579=>479,7580=>414,7581=>414,7582=>488,7583=>386,7584=>377,7585=>348,7586=>479,7587=>456,7588=>347,7589=>281,7590=>347,7591=>347,7592=>431,7593=>326,7594=>330,7595=>370,7596=>664,7597=>664,7598=>562,7599=>562,7600=>448,7601=>488,7602=>542,7603=>422,7604=>396,7605=>388,7606=>583,7607=>494,7608=>399,7609=>451,7610=>501,7611=>417,7612=>523,7613=>470,7614=>455,7615=>425,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>774,7681=>675,7682=>762,7683=>716,7684=>762,7685=>716,7686=>762,7687=>716,7688=>734,7689=>593,7690=>830,7691=>716,7692=>830,7693=>716,7694=>830,7695=>716,7696=>830,7697=>716,7698=>830,7699=>716,7700=>683,7701=>678,7702=>683,7703=>678,7704=>683,7705=>678,7706=>683,7707=>678,7708=>683,7709=>678,7710=>683,7711=>435,7712=>821,7713=>716,7714=>837,7715=>712,7716=>837,7717=>712,7718=>837,7719=>712,7720=>837,7721=>712,7722=>837,7723=>712,7724=>372,7725=>343,7726=>372,7727=>343,7728=>775,7729=>665,7730=>775,7731=>665,7732=>775,7733=>665,7734=>637,7735=>343,7736=>637,7737=>343,7738=>637,7739=>343,7740=>637,7741=>343,7742=>995,7743=>1042,7744=>995,7745=>1042,7746=>995,7747=>1042,7748=>837,7749=>712,7750=>837,7751=>712,7752=>837,7753=>712,7754=>837,7755=>712,7756=>850,7757=>687,7758=>850,7759=>687,7760=>850,7761=>687,7762=>850,7763=>687,7764=>733,7765=>716,7766=>733,7767=>716,7768=>770,7769=>493,7770=>770,7771=>493,7772=>770,7773=>493,7774=>770,7775=>493,7776=>720,7777=>595,7778=>720,7779=>595,7780=>720,7781=>595,7782=>720,7783=>595,7784=>720,7785=>595,7786=>682,7787=>478,7788=>682,7789=>478,7790=>682,7791=>478,7792=>682,7793=>478,7794=>812,7795=>712,7796=>812,7797=>712,7798=>812,7799=>712,7800=>812,7801=>712,7802=>812,7803=>712,7804=>774,7805=>652,7806=>774,7807=>652,7808=>1103,7809=>924,7810=>1103,7811=>924,7812=>1103,7813=>924,7814=>1103,7815=>924,7816=>1103,7817=>924,7818=>771,7819=>645,7820=>771,7821=>645,7822=>724,7823=>652,7824=>725,7825=>582,7826=>725,7827=>582,7828=>725,7829=>582,7830=>712,7831=>478,7832=>924,7833=>652,7834=>675,7835=>435,7836=>435,7837=>435,7838=>896,7839=>687,7840=>774,7841=>675,7842=>774,7843=>675,7844=>774,7845=>675,7846=>774,7847=>675,7848=>774,7849=>675,7850=>774,7851=>675,7852=>774,7853=>675,7854=>774,7855=>675,7856=>774,7857=>675,7858=>774,7859=>675,7860=>774,7861=>675,7862=>774,7863=>675,7864=>683,7865=>678,7866=>683,7867=>678,7868=>683,7869=>678,7870=>683,7871=>678,7872=>683,7873=>678,7874=>683,7875=>678,7876=>683,7877=>678,7878=>683,7879=>678,7880=>372,7881=>343,7882=>372,7883=>343,7884=>850,7885=>687,7886=>850,7887=>687,7888=>850,7889=>687,7890=>850,7891=>687,7892=>850,7893=>687,7894=>850,7895=>687,7896=>850,7897=>687,7898=>874,7899=>687,7900=>874,7901=>687,7902=>874,7903=>687,7904=>874,7905=>687,7906=>874,7907=>687,7908=>812,7909=>712,7910=>812,7911=>712,7912=>835,7913=>712,7914=>835,7915=>712,7916=>835,7917=>712,7918=>835,7919=>712,7920=>835,7921=>712,7922=>724,7923=>652,7924=>724,7925=>652,7926=>724,7927=>652,7928=>724,7929=>652,7930=>953,7931=>644,7936=>687,7937=>687,7938=>687,7939=>687,7940=>687,7941=>687,7942=>687,7943=>687,7944=>774,7945=>774,7946=>1041,7947=>1043,7948=>935,7949=>963,7950=>835,7951=>859,7952=>557,7953=>557,7954=>557,7955=>557,7956=>557,7957=>557,7960=>792,7961=>794,7962=>1100,7963=>1096,7964=>1023,7965=>1052,7968=>712,7969=>712,7970=>712,7971=>712,7972=>712,7973=>712,7974=>712,7975=>712,7976=>945,7977=>951,7978=>1250,7979=>1250,7980=>1180,7981=>1206,7982=>1054,7983=>1063,7984=>390,7985=>390,7986=>390,7987=>390,7988=>390,7989=>390,7990=>390,7991=>390,7992=>483,7993=>489,7994=>777,7995=>785,7996=>712,7997=>738,7998=>604,7999=>604,8000=>687,8001=>687,8002=>687,8003=>687,8004=>687,8005=>687,8008=>892,8009=>933,8010=>1221,8011=>1224,8012=>1053,8013=>1082,8016=>675,8017=>675,8018=>675,8019=>675,8020=>675,8021=>675,8022=>675,8023=>675,8025=>930,8027=>1184,8029=>1199,8031=>1049,8032=>869,8033=>869,8034=>869,8035=>869,8036=>869,8037=>869,8038=>869,8039=>869,8040=>909,8041=>958,8042=>1246,8043=>1251,8044=>1076,8045=>1105,8046=>1028,8047=>1076,8048=>687,8049=>687,8050=>557,8051=>557,8052=>712,8053=>712,8054=>390,8055=>390,8056=>687,8057=>687,8058=>675,8059=>675,8060=>869,8061=>869,8064=>687,8065=>687,8066=>687,8067=>687,8068=>687,8069=>687,8070=>687,8071=>687,8072=>774,8073=>774,8074=>1041,8075=>1043,8076=>935,8077=>963,8078=>835,8079=>859,8080=>712,8081=>712,8082=>712,8083=>712,8084=>712,8085=>712,8086=>712,8087=>712,8088=>945,8089=>951,8090=>1250,8091=>1250,8092=>1180,8093=>1206,8094=>1054,8095=>1063,8096=>869,8097=>869,8098=>869,8099=>869,8100=>869,8101=>869,8102=>869,8103=>869,8104=>909,8105=>958,8106=>1246,8107=>1251,8108=>1076,8109=>1105,8110=>1028,8111=>1076,8112=>687,8113=>687,8114=>687,8115=>687,8116=>687,8118=>687,8119=>687,8120=>774,8121=>774,8122=>876,8123=>797,8124=>774,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>712,8131=>712,8132=>712,8134=>712,8135=>712,8136=>929,8137=>846,8138=>1080,8139=>1009,8140=>837,8141=>500,8142=>500,8143=>500,8144=>390,8145=>390,8146=>390,8147=>390,8150=>390,8151=>390,8152=>372,8153=>372,8154=>621,8155=>563,8157=>500,8158=>500,8159=>500,8160=>675,8161=>675,8162=>675,8163=>675,8164=>716,8165=>716,8166=>675,8167=>675,8168=>724,8169=>724,8170=>1020,8171=>980,8172=>838,8173=>500,8174=>500,8175=>500,8178=>869,8179=>869,8180=>869,8182=>869,8183=>869,8184=>1065,8185=>891,8186=>1084,8187=>894,8188=>850,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>696,8200=>380,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>415,8209=>415,8210=>696,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>380,8217=>380,8218=>380,8219=>380,8220=>657,8221=>657,8222=>657,8223=>657,8224=>500,8225=>500,8226=>639,8227=>639,8228=>333,8229=>667,8230=>1000,8231=>348,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1440,8241=>1887,8242=>264,8243=>447,8244=>630,8245=>264,8246=>447,8247=>630,8248=>733,8249=>412,8250=>412,8251=>972,8252=>627,8253=>580,8254=>500,8255=>828,8256=>828,8257=>329,8258=>1023,8259=>500,8260=>167,8261=>457,8262=>457,8263=>1030,8264=>829,8265=>829,8266=>513,8267=>636,8268=>500,8269=>500,8270=>523,8271=>400,8272=>828,8273=>523,8274=>556,8275=>1000,8276=>828,8277=>838,8278=>684,8279=>813,8280=>838,8281=>838,8282=>380,8283=>872,8284=>838,8285=>380,8286=>380,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>438,8305=>219,8308=>438,8309=>438,8310=>438,8311=>438,8312=>438,8313=>438,8314=>528,8315=>528,8316=>528,8317=>288,8318=>288,8319=>456,8320=>438,8321=>438,8322=>438,8323=>438,8324=>438,8325=>438,8326=>438,8327=>438,8328=>438,8329=>438,8330=>528,8331=>528,8332=>528,8333=>288,8334=>288,8336=>458,8337=>479,8338=>488,8339=>413,8340=>479,8341=>456,8342=>487,8343=>219,8344=>664,8345=>456,8346=>479,8347=>381,8348=>388,8352=>929,8353=>696,8354=>696,8355=>696,8356=>696,8357=>1042,8358=>837,8359=>1518,8360=>1205,8361=>1103,8362=>904,8363=>696,8364=>696,8365=>696,8366=>696,8367=>1392,8368=>696,8369=>696,8370=>696,8371=>696,8372=>859,8373=>696,8376=>696,8377=>696,8378=>769,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>1120,8449=>1170,8450=>734,8451=>1211,8452=>896,8453=>1091,8454=>1144,8455=>614,8456=>698,8457=>1086,8459=>1073,8460=>913,8461=>888,8462=>712,8463=>712,8464=>597,8465=>697,8466=>856,8467=>472,8468=>974,8469=>837,8470=>1203,8471=>1000,8472=>697,8473=>750,8474=>850,8475=>938,8476=>814,8477=>801,8478=>896,8479=>710,8480=>1020,8481=>1281,8482=>1000,8483=>755,8484=>754,8485=>578,8486=>850,8487=>850,8488=>763,8489=>338,8490=>775,8491=>774,8492=>928,8493=>818,8494=>854,8495=>636,8496=>729,8497=>808,8498=>683,8499=>1184,8500=>465,8501=>794,8502=>731,8503=>494,8504=>684,8505=>380,8506=>945,8507=>1348,8508=>790,8509=>737,8510=>654,8511=>863,8512=>840,8513=>775,8514=>557,8515=>637,8516=>760,8517=>830,8518=>716,8519=>678,8520=>343,8521=>343,8523=>872,8526=>547,8528=>1035,8529=>1035,8530=>1483,8531=>1035,8532=>1035,8533=>1035,8534=>1035,8535=>1035,8536=>1035,8537=>1035,8538=>1035,8539=>1035,8540=>1035,8541=>1035,8542=>1035,8543=>615,8544=>372,8545=>659,8546=>945,8547=>1099,8548=>774,8549=>1099,8550=>1386,8551=>1672,8552=>1121,8553=>771,8554=>1120,8555=>1407,8556=>637,8557=>734,8558=>830,8559=>995,8560=>343,8561=>607,8562=>872,8563=>984,8564=>652,8565=>962,8566=>1227,8567=>1491,8568=>969,8569=>645,8570=>969,8571=>1233,8572=>343,8573=>593,8574=>716,8575=>1042,8576=>1289,8577=>830,8578=>1289,8579=>734,8580=>593,8581=>734,8585=>1035,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>838,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>774,8705=>696,8706=>544,8707=>683,8708=>683,8709=>856,8710=>697,8711=>697,8712=>896,8713=>896,8714=>750,8715=>896,8716=>896,8717=>750,8718=>636,8719=>787,8720=>787,8721=>718,8722=>838,8723=>838,8724=>696,8725=>365,8726=>696,8727=>838,8728=>626,8729=>380,8730=>667,8731=>667,8732=>667,8733=>712,8734=>833,8735=>838,8736=>896,8737=>896,8738=>838,8739=>500,8740=>500,8741=>500,8742=>500,8743=>812,8744=>812,8745=>812,8746=>812,8747=>610,8748=>929,8749=>1295,8750=>563,8751=>977,8752=>1313,8753=>563,8754=>563,8755=>563,8756=>696,8757=>696,8758=>294,8759=>696,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8766=>838,8767=>838,8768=>375,8769=>838,8770=>838,8771=>838,8772=>838,8773=>838,8774=>838,8775=>838,8776=>838,8777=>838,8778=>838,8779=>838,8780=>838,8781=>838,8782=>838,8783=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1063,8789=>1063,8790=>838,8791=>838,8792=>838,8793=>838,8794=>838,8795=>838,8796=>838,8797=>838,8798=>838,8799=>838,8800=>838,8801=>838,8802=>838,8803=>838,8804=>838,8805=>838,8806=>838,8807=>838,8808=>841,8809=>841,8810=>1047,8811=>1047,8812=>500,8813=>838,8814=>838,8815=>838,8816=>838,8817=>838,8818=>838,8819=>838,8820=>838,8821=>838,8822=>838,8823=>838,8824=>838,8825=>838,8826=>838,8827=>838,8828=>838,8829=>838,8830=>838,8831=>838,8832=>838,8833=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8840=>838,8841=>838,8842=>838,8843=>838,8844=>812,8845=>812,8846=>812,8847=>838,8848=>838,8849=>838,8850=>838,8851=>796,8852=>796,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>914,8867=>914,8868=>914,8869=>914,8870=>542,8871=>542,8872=>914,8873=>914,8874=>914,8875=>914,8876=>914,8877=>914,8878=>914,8879=>914,8880=>838,8881=>838,8882=>838,8883=>838,8884=>838,8885=>838,8886=>1000,8887=>1000,8888=>838,8889=>838,8890=>542,8891=>812,8892=>812,8893=>812,8894=>838,8895=>838,8896=>843,8897=>843,8898=>843,8899=>843,8900=>494,8901=>380,8902=>626,8903=>838,8904=>1000,8905=>1000,8906=>1000,8907=>1000,8908=>1000,8909=>838,8910=>812,8911=>812,8912=>838,8913=>838,8914=>838,8915=>838,8916=>838,8917=>838,8918=>838,8919=>838,8920=>1422,8921=>1422,8922=>838,8923=>838,8924=>838,8925=>838,8926=>838,8927=>838,8928=>838,8929=>838,8930=>838,8931=>838,8932=>838,8933=>838,8934=>838,8935=>838,8936=>838,8937=>838,8938=>838,8939=>838,8940=>838,8941=>838,8942=>1000,8943=>1000,8944=>1000,8945=>1000,8946=>1158,8947=>896,8948=>750,8949=>896,8950=>896,8951=>750,8952=>896,8953=>896,8954=>1158,8955=>896,8956=>750,8957=>896,8958=>750,8959=>896,8960=>602,8961=>602,8962=>716,8963=>838,8964=>838,8965=>838,8966=>838,8967=>488,8968=>457,8969=>457,8970=>457,8971=>457,8972=>809,8973=>809,8974=>809,8975=>809,8976=>838,8977=>539,8984=>928,8985=>838,8988=>469,8989=>469,8990=>469,8991=>469,8992=>610,8993=>610,8996=>1152,8997=>1152,8998=>1414,8999=>1152,9000=>1443,9003=>1414,9004=>873,9075=>390,9076=>716,9077=>869,9082=>687,9085=>863,9095=>1152,9108=>873,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>610,9166=>838,9167=>945,9187=>873,9189=>769,9192=>696,9250=>716,9251=>716,9312=>847,9313=>847,9314=>847,9315=>847,9316=>847,9317=>847,9318=>847,9319=>847,9320=>847,9321=>847,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>840,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>769,9697=>769,9698=>769,9699=>769,9700=>769,9701=>769,9702=>639,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9729=>1000,9730=>896,9731=>896,9732=>896,9733=>896,9734=>896,9735=>573,9736=>896,9737=>896,9738=>888,9739=>888,9740=>671,9741=>1013,9742=>1246,9743=>1250,9744=>896,9745=>896,9746=>896,9747=>532,9748=>896,9749=>896,9750=>896,9751=>896,9752=>896,9753=>896,9754=>896,9755=>896,9756=>896,9757=>609,9758=>896,9759=>609,9760=>896,9761=>896,9762=>896,9763=>896,9764=>669,9765=>746,9766=>649,9767=>784,9768=>545,9769=>896,9770=>896,9771=>896,9772=>710,9773=>896,9774=>896,9775=>896,9776=>896,9777=>896,9778=>896,9779=>896,9780=>896,9781=>896,9782=>896,9783=>896,9784=>896,9785=>1042,9786=>1042,9787=>1042,9788=>896,9789=>896,9790=>896,9791=>614,9792=>732,9793=>732,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9800=>896,9801=>896,9802=>896,9803=>896,9804=>896,9805=>896,9806=>896,9807=>896,9808=>896,9809=>896,9810=>896,9811=>896,9812=>896,9813=>896,9814=>896,9815=>896,9816=>896,9817=>896,9818=>896,9819=>896,9820=>896,9821=>896,9822=>896,9823=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9832=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,9840=>748,9841=>766,9842=>896,9843=>896,9844=>896,9845=>896,9846=>896,9847=>896,9848=>896,9849=>896,9850=>896,9851=>896,9852=>896,9853=>896,9854=>896,9855=>896,9856=>869,9857=>869,9858=>869,9859=>869,9860=>869,9861=>869,9862=>896,9863=>896,9864=>896,9865=>896,9866=>896,9867=>896,9868=>896,9869=>896,9870=>896,9871=>896,9872=>896,9873=>896,9874=>896,9875=>896,9876=>896,9877=>541,9878=>896,9879=>896,9880=>896,9881=>896,9882=>896,9883=>896,9884=>896,9888=>896,9889=>702,9890=>1004,9891=>1089,9892=>1175,9893=>903,9894=>838,9895=>838,9896=>838,9897=>838,9898=>838,9899=>838,9900=>838,9901=>838,9902=>838,9903=>838,9904=>844,9905=>838,9906=>732,9907=>732,9908=>732,9909=>732,9910=>850,9911=>732,9912=>732,9920=>838,9921=>838,9922=>838,9923=>838,9954=>732,9985=>838,9986=>838,9987=>838,9988=>838,9990=>838,9991=>838,9992=>838,9993=>838,9996=>838,9997=>838,9998=>838,9999=>838,10000=>838,10001=>838,10002=>838,10003=>838,10004=>838,10005=>838,10006=>838,10007=>838,10008=>838,10009=>838,10010=>838,10011=>838,10012=>838,10013=>838,10014=>838,10015=>838,10016=>838,10017=>838,10018=>838,10019=>838,10020=>838,10021=>838,10022=>838,10023=>838,10025=>838,10026=>838,10027=>838,10028=>838,10029=>838,10030=>838,10031=>838,10032=>838,10033=>838,10034=>838,10035=>838,10036=>838,10037=>838,10038=>838,10039=>838,10040=>838,10041=>838,10042=>838,10043=>838,10044=>838,10045=>838,10046=>838,10047=>838,10048=>838,10049=>838,10050=>838,10051=>838,10052=>838,10053=>838,10054=>838,10055=>838,10056=>838,10057=>838,10058=>838,10059=>838,10061=>896,10063=>896,10064=>896,10065=>896,10066=>896,10070=>896,10072=>838,10073=>838,10074=>838,10075=>347,10076=>347,10077=>587,10078=>587,10081=>838,10082=>838,10083=>838,10084=>838,10085=>838,10086=>838,10087=>838,10088=>838,10089=>838,10090=>838,10091=>838,10092=>838,10093=>838,10094=>838,10095=>838,10096=>838,10097=>838,10098=>838,10099=>838,10100=>838,10101=>838,10102=>847,10103=>847,10104=>847,10105=>847,10106=>847,10107=>847,10108=>847,10109=>847,10110=>847,10111=>847,10112=>838,10113=>838,10114=>838,10115=>838,10116=>838,10117=>838,10118=>838,10119=>838,10120=>838,10121=>838,10122=>838,10123=>838,10124=>838,10125=>838,10126=>838,10127=>838,10128=>838,10129=>838,10130=>838,10131=>838,10132=>838,10136=>838,10137=>838,10138=>838,10139=>838,10140=>838,10141=>838,10142=>838,10143=>838,10144=>838,10145=>838,10146=>838,10147=>838,10148=>838,10149=>838,10150=>838,10151=>838,10152=>838,10153=>838,10154=>838,10155=>838,10156=>838,10157=>838,10158=>838,10159=>838,10161=>838,10162=>838,10163=>838,10164=>838,10165=>838,10166=>838,10167=>838,10168=>838,10169=>838,10170=>838,10171=>838,10172=>838,10173=>838,10174=>838,10181=>457,10182=>457,10208=>494,10214=>487,10215=>487,10216=>457,10217=>457,10218=>721,10219=>721,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1157,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>781,10241=>781,10242=>781,10243=>781,10244=>781,10245=>781,10246=>781,10247=>781,10248=>781,10249=>781,10250=>781,10251=>781,10252=>781,10253=>781,10254=>781,10255=>781,10256=>781,10257=>781,10258=>781,10259=>781,10260=>781,10261=>781,10262=>781,10263=>781,10264=>781,10265=>781,10266=>781,10267=>781,10268=>781,10269=>781,10270=>781,10271=>781,10272=>781,10273=>781,10274=>781,10275=>781,10276=>781,10277=>781,10278=>781,10279=>781,10280=>781,10281=>781,10282=>781,10283=>781,10284=>781,10285=>781,10286=>781,10287=>781,10288=>781,10289=>781,10290=>781,10291=>781,10292=>781,10293=>781,10294=>781,10295=>781,10296=>781,10297=>781,10298=>781,10299=>781,10300=>781,10301=>781,10302=>781,10303=>781,10304=>781,10305=>781,10306=>781,10307=>781,10308=>781,10309=>781,10310=>781,10311=>781,10312=>781,10313=>781,10314=>781,10315=>781,10316=>781,10317=>781,10318=>781,10319=>781,10320=>781,10321=>781,10322=>781,10323=>781,10324=>781,10325=>781,10326=>781,10327=>781,10328=>781,10329=>781,10330=>781,10331=>781,10332=>781,10333=>781,10334=>781,10335=>781,10336=>781,10337=>781,10338=>781,10339=>781,10340=>781,10341=>781,10342=>781,10343=>781,10344=>781,10345=>781,10346=>781,10347=>781,10348=>781,10349=>781,10350=>781,10351=>781,10352=>781,10353=>781,10354=>781,10355=>781,10356=>781,10357=>781,10358=>781,10359=>781,10360=>781,10361=>781,10362=>781,10363=>781,10364=>781,10365=>781,10366=>781,10367=>781,10368=>781,10369=>781,10370=>781,10371=>781,10372=>781,10373=>781,10374=>781,10375=>781,10376=>781,10377=>781,10378=>781,10379=>781,10380=>781,10381=>781,10382=>781,10383=>781,10384=>781,10385=>781,10386=>781,10387=>781,10388=>781,10389=>781,10390=>781,10391=>781,10392=>781,10393=>781,10394=>781,10395=>781,10396=>781,10397=>781,10398=>781,10399=>781,10400=>781,10401=>781,10402=>781,10403=>781,10404=>781,10405=>781,10406=>781,10407=>781,10408=>781,10409=>781,10410=>781,10411=>781,10412=>781,10413=>781,10414=>781,10415=>781,10416=>781,10417=>781,10418=>781,10419=>781,10420=>781,10421=>781,10422=>781,10423=>781,10424=>781,10425=>781,10426=>781,10427=>781,10428=>781,10429=>781,10430=>781,10431=>781,10432=>781,10433=>781,10434=>781,10435=>781,10436=>781,10437=>781,10438=>781,10439=>781,10440=>781,10441=>781,10442=>781,10443=>781,10444=>781,10445=>781,10446=>781,10447=>781,10448=>781,10449=>781,10450=>781,10451=>781,10452=>781,10453=>781,10454=>781,10455=>781,10456=>781,10457=>781,10458=>781,10459=>781,10460=>781,10461=>781,10462=>781,10463=>781,10464=>781,10465=>781,10466=>781,10467=>781,10468=>781,10469=>781,10470=>781,10471=>781,10472=>781,10473=>781,10474=>781,10475=>781,10476=>781,10477=>781,10478=>781,10479=>781,10480=>781,10481=>781,10482=>781,10483=>781,10484=>781,10485=>781,10486=>781,10487=>781,10488=>781,10489=>781,10490=>781,10491=>781,10492=>781,10493=>781,10494=>781,10495=>781,10502=>838,10503=>838,10506=>838,10507=>838,10560=>838,10561=>838,10627=>753,10628=>753,10702=>838,10703=>1046,10704=>1046,10705=>1000,10706=>1000,10707=>1000,10708=>1000,10709=>1000,10731=>494,10746=>838,10747=>838,10752=>1000,10753=>1000,10754=>1000,10764=>1661,10765=>563,10766=>563,10767=>563,10768=>563,10769=>563,10770=>563,10771=>563,10772=>563,10773=>563,10774=>563,10775=>563,10776=>563,10777=>563,10778=>563,10779=>563,10780=>563,10799=>838,10858=>838,10859=>838,10877=>838,10878=>838,10879=>838,10880=>838,10881=>838,10882=>838,10883=>838,10884=>838,10885=>838,10886=>838,10887=>838,10888=>838,10889=>838,10890=>838,10891=>838,10892=>838,10893=>838,10894=>838,10895=>838,10896=>838,10897=>838,10898=>838,10899=>838,10900=>838,10901=>838,10902=>838,10903=>838,10904=>838,10905=>838,10906=>838,10907=>838,10908=>838,10909=>838,10910=>838,10911=>838,10912=>838,10926=>838,10927=>838,10928=>838,10929=>838,10930=>838,10931=>838,10932=>838,10933=>838,10934=>838,10935=>838,10936=>838,10937=>838,10938=>838,11001=>838,11002=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>838,11023=>838,11024=>838,11025=>838,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11039=>869,11040=>869,11041=>873,11042=>873,11043=>873,11044=>1119,11091=>869,11092=>869,11360=>637,11361=>360,11362=>637,11363=>733,11364=>770,11365=>675,11366=>478,11367=>956,11368=>712,11369=>775,11370=>665,11371=>725,11372=>582,11373=>860,11374=>995,11375=>774,11376=>860,11377=>778,11378=>1221,11379=>1056,11380=>652,11381=>698,11382=>565,11383=>782,11385=>538,11386=>687,11387=>559,11388=>219,11389=>487,11390=>720,11391=>725,11520=>663,11521=>676,11522=>661,11523=>629,11524=>661,11525=>1032,11526=>718,11527=>1032,11528=>648,11529=>667,11530=>1032,11531=>673,11532=>677,11533=>1036,11534=>680,11535=>886,11536=>1032,11537=>683,11538=>674,11539=>1035,11540=>1033,11541=>1027,11542=>676,11543=>673,11544=>667,11545=>667,11546=>660,11547=>671,11548=>1039,11549=>673,11550=>692,11551=>659,11552=>1048,11553=>660,11554=>654,11555=>670,11556=>733,11557=>1017,11568=>691,11569=>941,11570=>941,11571=>725,11572=>725,11573=>725,11574=>676,11575=>774,11576=>774,11577=>683,11578=>683,11579=>802,11580=>989,11581=>761,11582=>623,11583=>761,11584=>941,11585=>941,11586=>373,11587=>740,11588=>837,11589=>914,11590=>672,11591=>737,11592=>680,11593=>683,11594=>602,11595=>1039,11596=>778,11597=>837,11598=>683,11599=>372,11600=>778,11601=>373,11602=>725,11603=>691,11604=>941,11605=>941,11606=>837,11607=>373,11608=>836,11609=>941,11610=>941,11611=>734,11612=>876,11613=>771,11614=>734,11615=>683,11616=>774,11617=>837,11618=>683,11619=>850,11620=>697,11621=>850,11631=>716,11800=>580,11807=>838,11810=>457,11811=>457,11812=>457,11813=>457,11822=>580,19904=>896,19905=>896,19906=>896,19907=>896,19908=>896,19909=>896,19910=>896,19911=>896,19912=>896,19913=>896,19914=>896,19915=>896,19916=>896,19917=>896,19918=>896,19919=>896,19920=>896,19921=>896,19922=>896,19923=>896,19924=>896,19925=>896,19926=>896,19927=>896,19928=>896,19929=>896,19930=>896,19931=>896,19932=>896,19933=>896,19934=>896,19935=>896,19936=>896,19937=>896,19938=>896,19939=>896,19940=>896,19941=>896,19942=>896,19943=>896,19944=>896,19945=>896,19946=>896,19947=>896,19948=>896,19949=>896,19950=>896,19951=>896,19952=>896,19953=>896,19954=>896,19955=>896,19956=>896,19957=>896,19958=>896,19959=>896,19960=>896,19961=>896,19962=>896,19963=>896,19964=>896,19965=>896,19966=>896,19967=>896,42192=>762,42193=>733,42194=>733,42195=>830,42196=>682,42197=>682,42198=>821,42199=>775,42200=>775,42201=>530,42202=>734,42203=>734,42204=>725,42205=>683,42206=>683,42207=>995,42208=>837,42209=>637,42210=>720,42211=>770,42212=>770,42213=>774,42214=>774,42215=>837,42216=>775,42217=>530,42218=>1103,42219=>771,42220=>724,42221=>762,42222=>774,42223=>774,42224=>683,42225=>683,42226=>372,42227=>850,42228=>812,42229=>812,42230=>557,42231=>830,42232=>322,42233=>322,42234=>674,42235=>674,42236=>322,42237=>322,42238=>588,42239=>588,42564=>720,42565=>595,42566=>436,42567=>440,42572=>1405,42573=>1173,42576=>1234,42577=>1027,42580=>1174,42581=>972,42582=>1093,42583=>958,42594=>1085,42595=>924,42596=>1096,42597=>912,42598=>1260,42599=>997,42600=>850,42601=>687,42602=>1037,42603=>868,42604=>1406,42605=>1106,42606=>961,42634=>963,42635=>787,42636=>682,42637=>580,42644=>808,42645=>712,42760=>500,42761=>500,42762=>500,42763=>500,42764=>500,42765=>500,42766=>500,42767=>500,42768=>500,42769=>500,42770=>500,42771=>500,42772=>500,42773=>500,42774=>500,42779=>400,42780=>400,42781=>287,42782=>287,42783=>287,42786=>444,42787=>390,42788=>540,42789=>540,42790=>837,42791=>712,42792=>1031,42793=>857,42794=>696,42795=>557,42800=>559,42801=>595,42802=>1349,42803=>1052,42804=>1284,42805=>1064,42806=>1216,42807=>1054,42808=>1079,42809=>922,42810=>1079,42811=>922,42812=>1035,42813=>922,42814=>698,42815=>549,42816=>656,42817=>688,42822=>850,42823=>542,42824=>683,42825=>531,42826=>918,42827=>814,42830=>1406,42831=>1106,42832=>733,42833=>716,42834=>948,42835=>937,42838=>850,42839=>716,42852=>738,42853=>716,42854=>738,42855=>716,42880=>637,42881=>343,42882=>837,42883=>712,42889=>400,42890=>386,42891=>456,42892=>306,42893=>808,42894=>693,42896=>928,42897=>768,42912=>821,42913=>716,42914=>775,42915=>665,42916=>837,42917=>712,42918=>770,42919=>493,42920=>720,42921=>595,42922=>886,43002=>1062,43003=>683,43004=>733,43005=>995,43006=>372,43007=>1325,61184=>216,61185=>242,61186=>267,61187=>277,61188=>282,61189=>242,61190=>216,61191=>242,61192=>267,61193=>277,61194=>267,61195=>242,61196=>216,61197=>242,61198=>267,61199=>277,61200=>267,61201=>242,61202=>216,61203=>242,61204=>282,61205=>277,61206=>267,61207=>242,61208=>216,61209=>282,62464=>612,62465=>612,62466=>653,62467=>902,62468=>622,62469=>622,62470=>661,62471=>895,62472=>589,62473=>622,62474=>1163,62475=>626,62476=>627,62477=>893,62478=>612,62479=>626,62480=>924,62481=>627,62482=>744,62483=>634,62484=>886,62485=>626,62486=>907,62487=>626,62488=>621,62489=>628,62490=>677,62491=>626,62492=>621,62493=>630,62494=>627,62495=>571,62496=>622,62497=>631,62498=>612,62499=>611,62500=>618,62501=>671,62502=>963,62504=>1023,62505=>844,62506=>563,62507=>563,62508=>563,62509=>563,62510=>563,62511=>563,62512=>555,62513=>555,62514=>555,62515=>555,62516=>573,62517=>573,62518=>573,62519=>824,62520=>824,62521=>824,62522=>824,62523=>824,62524=>611,62525=>611,62526=>611,62527=>611,62528=>611,62529=>611,63173=>687,64256=>810,64257=>741,64258=>741,64259=>1115,64260=>1116,64261=>808,64262=>1020,64275=>1388,64276=>1384,64277=>1378,64278=>1384,64279=>1713,64285=>294,64286=>0,64287=>519,64288=>665,64289=>939,64290=>788,64291=>920,64292=>786,64293=>857,64294=>869,64295=>821,64296=>890,64297=>838,64298=>758,64299=>758,64300=>758,64301=>758,64302=>728,64303=>728,64304=>728,64305=>610,64306=>447,64307=>588,64308=>687,64309=>437,64310=>485,64312=>679,64313=>435,64314=>578,64315=>566,64316=>605,64318=>724,64320=>453,64321=>680,64323=>675,64324=>658,64326=>653,64327=>736,64328=>602,64329=>758,64330=>683,64331=>343,64332=>610,64333=>566,64334=>658,64335=>710,64338=>1005,64339=>1059,64340=>375,64341=>408,64342=>1005,64343=>1059,64344=>375,64345=>408,64346=>1005,64347=>1059,64348=>375,64349=>408,64350=>1005,64351=>1059,64352=>375,64353=>408,64354=>1005,64355=>1059,64356=>375,64357=>408,64358=>1005,64359=>1059,64360=>375,64361=>408,64362=>1162,64363=>1191,64364=>655,64365=>720,64366=>1162,64367=>1191,64368=>655,64369=>720,64370=>721,64371=>721,64372=>721,64373=>721,64374=>721,64375=>721,64376=>721,64377=>721,64378=>721,64379=>721,64380=>721,64381=>721,64382=>721,64383=>721,64384=>721,64385=>721,64386=>513,64387=>578,64388=>513,64389=>578,64390=>513,64391=>578,64392=>513,64393=>578,64394=>576,64395=>622,64396=>576,64397=>622,64398=>1024,64399=>1024,64400=>582,64401=>582,64402=>1024,64403=>1024,64404=>582,64405=>582,64406=>1024,64407=>1024,64408=>582,64409=>582,64410=>1024,64411=>1024,64412=>582,64413=>582,64414=>854,64415=>900,64416=>854,64417=>900,64418=>375,64419=>408,64426=>938,64427=>880,64428=>693,64429=>660,64467=>824,64468=>843,64469=>476,64470=>552,64473=>622,64474=>627,64488=>375,64489=>408,64508=>917,64509=>1012,64510=>375,64511=>408,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65136=>342,65137=>342,65138=>342,65139=>346,65140=>342,65142=>342,65143=>342,65144=>342,65145=>342,65146=>342,65147=>342,65148=>342,65149=>342,65150=>342,65151=>342,65152=>511,65153=>343,65154=>375,65155=>343,65156=>375,65157=>622,65158=>627,65159=>343,65160=>375,65161=>917,65162=>917,65163=>375,65164=>408,65165=>343,65166=>375,65167=>1005,65168=>1059,65169=>375,65170=>408,65171=>590,65172=>606,65173=>1005,65174=>1059,65175=>375,65176=>408,65177=>1005,65178=>1059,65179=>375,65180=>408,65181=>721,65182=>721,65183=>721,65184=>721,65185=>721,65186=>721,65187=>721,65188=>721,65189=>721,65190=>721,65191=>721,65192=>721,65193=>513,65194=>578,65195=>513,65196=>578,65197=>576,65198=>622,65199=>576,65200=>622,65201=>1380,65202=>1414,65203=>983,65204=>1018,65205=>1380,65206=>1414,65207=>983,65208=>1018,65209=>1345,65210=>1364,65211=>966,65212=>985,65213=>1345,65214=>1364,65215=>966,65216=>985,65217=>1039,65218=>1071,65219=>942,65220=>974,65221=>1039,65222=>1071,65223=>942,65224=>974,65225=>683,65226=>683,65227=>683,65228=>564,65229=>683,65230=>683,65231=>683,65232=>564,65233=>1162,65234=>1191,65235=>655,65236=>720,65237=>894,65238=>901,65239=>655,65240=>720,65241=>917,65242=>931,65243=>582,65244=>582,65245=>868,65246=>893,65247=>375,65248=>408,65249=>733,65250=>784,65251=>619,65252=>670,65253=>854,65254=>900,65255=>375,65256=>408,65257=>590,65258=>606,65259=>693,65260=>660,65261=>622,65262=>627,65263=>917,65264=>1012,65265=>917,65266=>1012,65267=>375,65268=>408,65269=>745,65270=>759,65271=>745,65272=>759,65273=>745,65274=>759,65275=>745,65276=>759,65279=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1113,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansb.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansb.z new file mode 100644 index 0000000..07031ce Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.ctg.z new file mode 100644 index 0000000..23445ef Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.php new file mode 100644 index 0000000..e4a6670 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-1067 -385 1999 1121]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>60,'StemH'=>26,'AvgWidth'=>573,'MaxWidth'=>2016,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(69,0,387,729),34=>array(95,458,426,729),35=>array(65,0,780,718),36=>array(27,-147,630,760),37=>array(55,-14,947,742),38=>array(28,-14,813,742),39=>array(95,458,211,729),40=>array(77,-132,468,759),41=>array(-27,-132,364,759),42=>array(20,278,503,742),43=>array(106,0,732,627),44=>array(-34,-142,256,189),45=>array(25,217,360,359),46=>array(46,0,259,189),47=>array(-96,-93,434,729),48=>array(36,-14,660,742),49=>array(43,0,578,729),50=>array(8,0,640,742),51=>array(0,-14,637,742),52=>array(-1,0,635,729),53=>array(13,-14,644,729),54=>array(50,-15,660,741),55=>array(78,0,694,729),56=>array(22,-14,659,742),57=>array(41,-15,652,741),58=>array(41,0,323,547),59=>array(-35,-142,323,547),60=>array(106,30,732,597),61=>array(106,144,732,482),62=>array(106,30,732,597),63=>array(104,0,554,742),64=>array(45,-172,927,703),65=>array(-65,0,691,729),66=>array(21,0,699,729),67=>array(36,-14,724,742),68=>array(21,0,786,729),69=>array(21,0,670,729),70=>array(21,0,670,729),71=>array(36,-14,778,742),72=>array(21,0,816,729),73=>array(21,0,351,729),74=>array(-166,-200,351,729),75=>array(21,0,837,729),76=>array(21,0,566,729),77=>array(21,0,974,729),78=>array(21,0,816,729),79=>array(36,-14,814,742),80=>array(21,0,719,729),81=>array(36,-146,814,742),82=>array(21,0,685,729),83=>array(15,-14,665,742),84=>array(48,0,748,729),85=>array(68,-14,791,729),86=>array(76,0,840,729),87=>array(107,0,1143,729),88=>array(-51,0,812,729),89=>array(63,0,809,729),90=>array(-26,0,740,729),91=>array(-10,-132,466,760),92=>array(71,-93,276,729),93=>array(-28,-132,448,760),94=>array(101,457,737,729),95=>array(-10,-236,510,-143),96=>array(131,616,371,800),97=>array(17,-14,611,560),98=>array(31,-14,677,760),99=>array(37,-14,581,560),100=>array(36,-14,724,760),101=>array(36,-14,640,560),102=>array(50,0,540,760),103=>array(20,-216,682,559),104=>array(31,0,654,760),105=>array(31,0,354,760),106=>array(-128,-216,354,760),107=>array(31,0,716,760),108=>array(31,0,354,760),109=>array(31,0,984,560),110=>array(31,0,654,560),111=>array(36,-14,651,560),112=>array(-10,-208,677,560),113=>array(36,-208,682,560),114=>array(31,0,545,560),115=>array(10,-14,560,560),116=>array(43,0,509,702),117=>array(60,-14,681,547),118=>array(63,0,678,547),119=>array(87,0,927,547),120=>array(-41,0,671,547),121=>array(0,-216,687,547),122=>array(-9,0,586,547),123=>array(106,-163,669,760),124=>array(127,-236,238,764),125=>array(44,-163,606,760),126=>array(106,212,732,415),161=>array(69,0,387,729),162=>array(67,-153,610,699),163=>array(7,0,691,742),164=>array(36,30,601,596),165=>array(6,0,755,729),166=>array(127,-171,238,699),167=>array(-33,-95,494,742),168=>array(152,654,484,774),169=>array(138,0,862,725),170=>array(43,182,527,742),171=>array(61,67,594,519),172=>array(106,140,732,444),173=>array(25,217,360,359),174=>array(138,0,862,725),175=>array(155,668,481,760),176=>array(87,424,412,749),177=>array(106,0,732,627),178=>array(45,326,431,742),179=>array(40,319,427,742),180=>array(227,616,539,800),181=>array(-27,-209,670,547),182=>array(74,-96,603,729),183=>array(84,253,297,442),184=>array(22,-196,259,0),185=>array(67,326,395,734),186=>array(46,182,545,742),187=>array(57,66,589,519),188=>array(56,-14,948,742),189=>array(56,-14,1036,742),190=>array(47,-14,948,742),191=>array(37,-13,488,729),192=>array(-65,0,691,927),193=>array(-65,0,691,927),194=>array(-65,0,691,927),195=>array(-65,0,691,928),196=>array(-65,0,691,927),197=>array(-65,0,691,928),198=>array(-78,0,1072,729),199=>array(36,-196,724,742),200=>array(21,0,670,927),201=>array(21,0,670,927),202=>array(21,0,670,927),203=>array(21,0,670,927),204=>array(21,0,351,927),205=>array(21,0,448,927),206=>array(21,0,440,927),207=>array(21,0,442,927),208=>array(-2,0,803,729),209=>array(21,0,816,928),210=>array(36,-14,814,927),211=>array(36,-14,814,927),212=>array(36,-14,814,927),213=>array(36,-14,814,928),214=>array(36,-14,814,927),215=>array(125,20,713,607),216=>array(-47,-38,896,771),217=>array(68,-14,791,927),218=>array(68,-14,791,927),219=>array(68,-14,791,927),220=>array(68,-14,791,927),221=>array(63,0,809,927),222=>array(21,0,695,729),223=>array(31,-14,666,760),224=>array(17,-14,611,800),225=>array(17,-14,627,800),226=>array(17,-14,611,800),227=>array(17,-14,611,778),228=>array(17,-14,611,774),229=>array(17,-14,611,883),230=>array(17,-14,1008,560),231=>array(37,-196,581,560),232=>array(36,-14,640,800),233=>array(36,-14,650,800),234=>array(36,-14,640,800),235=>array(36,-14,640,774),236=>array(31,0,313,800),237=>array(31,0,470,800),238=>array(31,0,414,800),239=>array(31,0,415,774),240=>array(36,-14,678,760),241=>array(31,0,654,778),242=>array(36,-14,651,800),243=>array(36,-14,651,800),244=>array(36,-14,651,800),245=>array(36,-14,651,778),246=>array(36,-14,651,774),247=>array(106,42,732,585),248=>array(-17,-50,700,597),249=>array(60,-14,681,800),250=>array(60,-14,681,800),251=>array(60,-14,681,800),252=>array(60,-14,681,774),253=>array(0,-216,687,800),254=>array(-10,-208,677,760),255=>array(0,-216,687,774),256=>array(-65,0,691,914),257=>array(17,-14,611,763),258=>array(-65,0,691,936),259=>array(17,-14,611,772),260=>array(-65,-196,691,729),261=>array(17,-196,611,560),262=>array(36,-14,724,927),263=>array(37,-14,645,800),264=>array(36,-14,724,927),265=>array(37,-14,589,800),266=>array(36,-14,724,927),267=>array(37,-14,581,759),268=>array(36,-14,732,927),269=>array(37,-14,634,800),270=>array(21,0,786,927),271=>array(36,-14,947,760),272=>array(-2,0,803,729),273=>array(36,-14,817,760),274=>array(21,0,670,914),275=>array(36,-14,640,763),276=>array(21,0,670,927),277=>array(36,-14,640,784),278=>array(21,0,670,927),279=>array(36,-14,640,759),280=>array(21,-196,670,729),281=>array(36,-196,640,560),282=>array(21,0,670,927),283=>array(36,-14,640,800),284=>array(36,-14,778,927),285=>array(20,-216,682,800),286=>array(36,-14,778,927),287=>array(20,-216,682,784),288=>array(36,-14,778,927),289=>array(20,-216,682,759),290=>array(36,-224,778,742),291=>array(20,-216,682,765),292=>array(21,0,816,927),293=>array(31,0,654,927),294=>array(89,0,935,729),295=>array(85,0,708,760),296=>array(21,0,456,928),297=>array(31,0,431,778),298=>array(21,0,417,914),299=>array(31,0,402,763),300=>array(21,0,453,927),301=>array(31,0,427,784),302=>array(21,-196,351,729),303=>array(31,-196,354,760),304=>array(21,0,355,927),305=>array(31,0,313,547),306=>array(21,-200,723,729),307=>array(31,-216,697,760),308=>array(-166,-200,453,927),309=>array(-128,-216,428,800),310=>array(21,-209,837,729),311=>array(31,-209,716,760),312=>array(31,0,716,547),313=>array(21,0,566,928),314=>array(31,0,478,928),315=>array(21,-209,566,729),316=>array(-23,-209,354,760),317=>array(21,0,623,729),318=>array(31,0,582,760),319=>array(21,0,624,729),320=>array(31,0,555,760),321=>array(-23,0,603,729),322=>array(-7,0,456,760),323=>array(21,0,816,928),324=>array(31,0,654,803),325=>array(21,-209,816,729),326=>array(31,-209,654,560),327=>array(21,0,816,927),328=>array(31,0,654,800),329=>array(61,0,911,729),330=>array(31,-200,775,742),331=>array(50,-216,673,560),332=>array(36,-14,814,914),333=>array(36,-14,651,763),334=>array(36,-14,814,927),335=>array(36,-14,651,784),336=>array(36,-14,814,927),337=>array(36,-14,657,800),338=>array(42,0,1154,729),339=>array(36,-14,1054,560),340=>array(21,0,685,928),341=>array(31,0,618,803),342=>array(21,-209,685,729),343=>array(-23,-209,545,560),344=>array(21,0,685,927),345=>array(31,0,602,800),346=>array(15,-14,665,928),347=>array(10,-14,618,803),348=>array(15,-14,665,927),349=>array(10,-14,560,800),350=>array(15,-196,665,742),351=>array(10,-196,560,560),352=>array(15,-14,665,927),353=>array(10,-14,576,800),354=>array(48,-196,748,729),355=>array(43,-196,509,702),356=>array(48,0,748,927),357=>array(43,0,615,800),358=>array(48,0,748,729),359=>array(-11,0,493,702),360=>array(68,-14,791,928),361=>array(60,-14,681,778),362=>array(68,-14,791,914),363=>array(60,-14,681,763),364=>array(68,-14,791,927),365=>array(60,-14,681,784),366=>array(68,-14,791,923),367=>array(60,-14,681,873),368=>array(68,-14,791,927),369=>array(60,-14,681,800),370=>array(68,-196,791,729),371=>array(60,-196,681,547),372=>array(107,0,1143,931),373=>array(87,0,927,800),374=>array(63,0,809,931),375=>array(0,-216,687,800),376=>array(63,0,809,927),377=>array(-26,0,740,928),378=>array(-9,0,618,803),379=>array(-26,0,740,918),380=>array(-9,0,586,759),381=>array(-26,0,740,927),382=>array(-9,0,586,800),383=>array(50,0,540,760),384=>array(12,-14,651,760),385=>array(-37,0,744,729),386=>array(21,0,714,729),387=>array(12,-14,662,760),388=>array(61,0,704,729),389=>array(37,-14,677,760),390=>array(-13,-14,675,742),391=>array(32,-14,909,924),392=>array(27,-14,715,724),393=>array(-2,0,803,729),394=>array(-37,0,830,729),395=>array(65,0,763,729),396=>array(25,-14,707,760),397=>array(57,-208,662,548),398=>array(21,0,681,729),399=>array(36,-14,819,742),400=>array(37,-14,652,742),401=>array(-146,-200,689,729),402=>array(-151,-208,538,760),403=>array(32,-14,959,924),404=>array(94,-210,882,729),405=>array(10,-1,980,760),406=>array(74,0,384,729),407=>array(-7,0,397,729),408=>array(20,0,827,742),409=>array(10,0,695,760),410=>array(-10,0,365,760),411=>array(-44,0,536,760),412=>array(55,-13,1035,729),413=>array(-146,-200,835,729),414=>array(50,-208,664,560),415=>array(36,-14,814,742),416=>array(39,-14,907,760),417=>array(40,-14,771,570),418=>array(50,-14,1056,742),419=>array(63,-216,891,560),420=>array(-37,0,765,729),421=>array(-10,-208,670,760),422=>array(35,-146,684,729),423=>array(-1,-14,631,742),424=>array(-7,-14,534,560),425=>array(21,0,670,729),426=>array(34,-217,539,759),427=>array(48,-216,514,702),428=>array(36,0,772,729),429=>array(21,0,512,760),430=>array(67,-200,767,729),431=>array(67,-14,938,761),432=>array(57,-14,795,570),433=>array(42,-14,813,723),434=>array(74,0,764,729),435=>array(60,0,841,742),436=>array(24,-216,822,560),437=>array(-26,0,740,729),438=>array(-8,0,587,547),439=>array(21,-33,743,729),440=>array(10,-33,771,729),441=>array(6,-215,647,547),442=>array(-11,-208,585,547),443=>array(7,0,634,742),444=>array(11,-33,696,729),445=>array(-30,-215,573,547),446=>array(-27,-15,508,702),447=>array(-12,-208,693,560),448=>array(0,-208,371,729),449=>array(0,-208,658,729),450=>array(-23,-208,574,729),451=>array(27,0,346,729),452=>array(21,0,1570,927),453=>array(21,0,1416,800),454=>array(36,-14,1302,800),455=>array(21,-200,988,729),456=>array(21,-216,991,760),457=>array(31,-216,697,760),458=>array(21,-200,1188,729),459=>array(21,-216,1191,760),460=>array(31,-216,1066,760),461=>array(-65,0,691,927),462=>array(17,-14,615,800),463=>array(21,0,473,927),464=>array(31,0,457,800),465=>array(36,-14,814,927),466=>array(36,-14,651,800),467=>array(68,-14,791,927),468=>array(60,-14,681,800),469=>array(68,-14,791,1040),470=>array(60,-14,681,914),471=>array(68,-14,791,1057),472=>array(60,-14,681,917),473=>array(68,-14,791,1058),474=>array(60,-14,681,917),475=>array(68,-14,791,1057),476=>array(60,-14,681,917),477=>array(42,-14,630,560),478=>array(-65,0,691,1040),479=>array(17,-14,611,914),480=>array(-65,0,691,1040),481=>array(17,-14,620,881),482=>array(-78,0,1072,914),483=>array(17,-14,1008,758),484=>array(36,-14,778,742),485=>array(20,-216,682,559),486=>array(36,-14,778,927),487=>array(20,-216,682,799),488=>array(21,0,837,926),489=>array(31,0,716,926),490=>array(36,-196,814,742),491=>array(36,-196,651,560),492=>array(36,-196,814,914),493=>array(36,-196,651,763),494=>array(21,-33,743,927),495=>array(-44,-215,588,793),496=>array(-128,-216,466,800),497=>array(21,0,1570,729),498=>array(21,0,1416,729),499=>array(36,-14,1302,760),500=>array(36,-14,778,928),501=>array(20,-216,682,798),502=>array(22,-14,1222,729),503=>array(-20,-208,775,742),504=>array(21,0,816,927),505=>array(31,0,654,798),506=>array(-65,0,867,986),507=>array(17,-14,814,931),508=>array(-78,0,1072,928),509=>array(17,-14,1008,799),510=>array(-47,-38,896,928),511=>array(-17,-50,700,800),512=>array(-65,0,691,930),513=>array(17,-14,611,800),514=>array(-65,0,691,947),515=>array(17,-14,611,784),516=>array(21,0,670,930),517=>array(36,-14,640,800),518=>array(21,0,670,947),519=>array(36,-14,640,784),520=>array(21,0,437,930),521=>array(31,0,409,799),522=>array(21,0,447,947),523=>array(31,0,417,784),524=>array(36,-14,814,930),525=>array(36,-14,651,800),526=>array(36,-14,814,947),527=>array(36,-14,651,784),528=>array(21,0,685,930),529=>array(31,0,545,800),530=>array(21,0,685,947),531=>array(31,0,545,784),532=>array(68,-14,791,930),533=>array(60,-14,681,800),534=>array(68,-14,791,947),535=>array(60,-14,681,784),536=>array(15,-236,665,742),537=>array(10,-236,560,560),538=>array(48,-236,748,729),539=>array(43,-236,509,702),540=>array(-45,-210,649,742),541=>array(-47,-211,564,560),542=>array(21,0,816,926),543=>array(31,0,654,926),544=>array(32,-208,764,742),545=>array(31,-75,786,760),546=>array(25,-14,769,742),547=>array(22,-14,656,646),548=>array(-5,-216,761,729),549=>array(13,-216,608,547),550=>array(-65,0,691,927),551=>array(17,-14,611,759),552=>array(21,-192,670,729),553=>array(36,-196,640,560),554=>array(36,-14,814,1040),555=>array(36,-14,651,914),556=>array(36,-14,814,1040),557=>array(36,-14,651,914),558=>array(36,-14,814,928),559=>array(36,-14,651,759),560=>array(36,-14,814,1040),561=>array(36,-14,651,914),562=>array(63,0,809,914),563=>array(0,-216,687,763),564=>array(32,-75,413,760),565=>array(37,-75,808,560),566=>array(34,-76,500,702),567=>array(-128,-216,313,547),568=>array(25,-14,1023,760),569=>array(64,-208,1062,560),570=>array(-81,-36,854,765),571=>array(-101,-36,834,765),572=>array(-61,-46,652,594),573=>array(-13,0,566,729),574=>array(-127,-36,809,765),575=>array(33,-240,583,560),576=>array(15,-240,611,547),577=>array(69,0,765,729),578=>array(56,0,582,560),579=>array(-35,0,695,729),580=>array(20,-14,804,729),581=>array(-66,0,698,729),582=>array(21,-93,681,822),583=>array(36,-93,638,640),584=>array(-166,-200,368,729),585=>array(-128,-216,368,760),586=>array(66,-200,863,741),587=>array(64,-216,747,560),588=>array(-12,0,685,729),589=>array(-33,0,543,560),590=>array(30,0,805,729),591=>array(10,-216,708,547),592=>array(66,-14,660,560),593=>array(45,-14,685,560),594=>array(-8,-14,632,560),595=>array(12,-14,651,760),596=>array(-7,-14,537,560),597=>array(48,-69,581,560),598=>array(45,-216,727,760),599=>array(25,-14,876,760),600=>array(22,-14,630,560),601=>array(42,-14,630,560),602=>array(38,-14,890,560),603=>array(27,-14,520,560),604=>array(-50,-11,509,560),605=>array(-50,-11,788,560),606=>array(54,-14,679,560),607=>array(-107,-216,388,547),608=>array(23,-216,896,760),609=>array(44,-216,706,547),610=>array(43,-14,573,546),611=>array(87,-211,692,547),612=>array(80,-21,674,547),613=>array(88,-214,703,546),614=>array(10,0,625,760),615=>array(31,-216,646,760),616=>array(52,0,448,760),617=>array(74,-1,326,547),618=>array(31,0,515,547),619=>array(70,0,488,760),620=>array(93,0,613,760),621=>array(32,-216,356,760),622=>array(31,-215,788,760),623=>array(69,-14,1013,546),624=>array(88,-209,1032,546),625=>array(49,-216,994,560),626=>array(-160,-216,665,560),627=>array(50,-216,749,560),628=>array(-32,0,613,547),629=>array(36,-14,651,560),630=>array(43,-1,871,547),631=>array(-9,0,580,574),632=>array(60,-208,729,760),633=>array(31,-13,544,547),634=>array(10,-13,565,760),635=>array(50,-216,607,547),636=>array(9,-208,563,560),637=>array(51,-216,564,560),638=>array(31,0,583,547),639=>array(99,0,499,547),640=>array(-32,0,509,547),641=>array(-32,0,613,547),642=>array(28,-216,581,560),643=>array(-126,-216,519,760),644=>array(-106,-216,539,760),645=>array(137,-216,486,560),646=>array(-97,-217,655,760),647=>array(-25,-155,441,547),648=>array(48,-216,514,702),649=>array(74,-14,845,547),650=>array(22,-51,690,547),651=>array(74,-1,626,547),652=>array(-38,0,584,547),653=>array(-18,0,836,547),654=>array(-62,0,620,763),655=>array(53,0,648,547),656=>array(13,-216,651,547),657=>array(-1,-69,599,547),658=>array(-23,-215,608,547),659=>array(25,-215,608,547),660=>array(59,0,546,759),661=>array(57,0,592,759),662=>array(-31,0,504,759),663=>array(-5,-208,612,759),664=>array(50,-14,800,742),665=>array(31,0,593,547),666=>array(31,-14,665,560),667=>array(22,0,768,760),668=>array(28,0,658,547),669=>array(-235,-217,354,760),670=>array(73,-213,758,547),671=>array(31,0,473,547),672=>array(44,-208,895,760),673=>array(-3,0,546,759),674=>array(57,0,592,759),675=>array(25,-14,1142,760),676=>array(45,-215,1161,760),677=>array(29,-55,1145,760),678=>array(27,0,926,702),679=>array(42,-216,872,760),680=>array(34,-69,923,702),681=>array(48,-216,990,760),682=>array(10,0,808,760),683=>array(10,0,764,760),684=>array(20,0,631,641),685=>array(-31,86,399,641),686=>array(-18,-214,682,760),687=>array(-16,-216,724,760),688=>array(12,326,401,751),689=>array(12,326,400,751),690=>array(-75,205,219,751),691=>array(23,326,344,640),692=>array(24,319,344,632),693=>array(35,205,392,632),694=>array(-16,326,388,632),695=>array(52,326,599,632),696=>array(22,205,447,632),697=>array(78,557,218,800),698=>array(78,557,437,800),699=>array(113,418,389,729),700=>array(73,418,348,729),701=>array(198,616,347,856),702=>array(168,481,334,760),703=>array(159,481,325,760),704=>array(43,326,348,751),705=>array(35,326,374,751),706=>array(184,517,463,843),707=>array(161,517,440,843),708=>array(125,561,452,800),709=>array(172,561,499,800),710=>array(106,616,483,800),711=>array(151,616,528,800),712=>array(81,488,226,759),713=>array(155,668,481,760),714=>array(227,616,539,800),715=>array(131,616,371,800),716=>array(81,-81,226,190),717=>array(-11,-185,315,-93),718=>array(131,-238,371,-54),719=>array(227,-238,539,-54),720=>array(-8,0,299,547),721=>array(63,361,264,547),722=>array(126,269,292,547),723=>array(118,269,284,547),724=>array(116,238,353,458),725=>array(145,238,382,458),726=>array(46,119,370,427),727=>array(46,229,282,317),728=>array(166,639,496,784),729=>array(239,654,397,774),730=>array(184,605,462,883),731=>array(73,-196,284,0),732=>array(133,638,500,778),733=>array(143,616,563,800),734=>array(-12,213,347,524),735=>array(163,616,474,800),736=>array(36,213,458,637),737=>array(12,326,207,751),738=>array(11,318,355,640),739=>array(-20,326,427,632),740=>array(35,326,374,751),741=>array(146,0,471,693),742=>array(117,0,471,693),743=>array(87,0,471,693),744=>array(58,0,471,693),745=>array(29,0,471,693),748=>array(14,-260,340,-21),749=>array(143,605,492,822),750=>array(73,418,612,729),755=>array(91,-240,369,38),759=>array(88,-221,455,-109),768=>array(-259,616,-19,800),769=>array(-160,616,152,800),770=>array(-287,616,90,800),771=>array(-257,638,110,778),772=>array(-235,668,91,760),773=>array(-346,663,174,755),774=>array(-221,639,109,784),775=>array(-184,617,18,760),776=>array(-238,654,94,774),777=>array(-363,616,-117,843),778=>array(-200,605,78,883),779=>array(-244,616,176,800),780=>array(-236,616,141,800),781=>array(-130,615,4,832),782=>array(-223,615,97,832),783=>array(-279,616,70,800),784=>array(-221,642,109,882),785=>array(-250,639,80,784),786=>array(-264,418,-34,563),787=>array(-313,595,-130,844),788=>array(-288,595,-130,844),789=>array(-102,616,102,800),790=>array(-474,-276,-233,-93),791=>array(-406,-276,-94,-93),792=>array(-388,-240,-188,-6),793=>array(-318,-240,-118,-6),794=>array(-216,658,73,929),795=>array(-132,361,83,570),796=>array(-331,-240,-193,-11),797=>array(-403,-240,-114,-59),798=>array(-389,-240,-100,-59),799=>array(-378,-240,-128,-6),800=>array(-296,-202,-7,-110),801=>array(-514,-216,-105,117),802=>array(-310,-216,13,117),803=>array(-412,-212,-253,-92),804=>array(-442,-212,-110,-92),805=>array(-366,-240,-136,-11),806=>array(-392,-236,-162,-91),807=>array(-478,-196,-241,0),808=>array(-427,-196,-216,0),809=>array(-363,-310,-228,-93),810=>array(-422,-237,-80,-54),811=>array(-477,-239,-75,-94),812=>array(-414,-240,-37,-57),813=>array(-458,-240,-82,-57),814=>array(-424,-239,-94,-94),815=>array(-491,-240,-161,-95),816=>array(-480,-234,-113,-94),817=>array(-440,-185,-114,-93),818=>array(-565,-236,-28,-143),819=>array(-568,-236,-4,-9),820=>array(-625,212,1,415),821=>array(-480,214,-84,309),822=>array(-847,214,-77,309),823=>array(-709,-46,4,594),824=>array(-893,-36,43,765),825=>array(-308,-240,-170,-11),826=>array(-422,-238,-80,-55),827=>array(-355,-241,-75,-6),828=>array(-501,-239,-100,-94),829=>array(-392,562,-110,819),830=>array(-292,595,-101,867),831=>array(-510,528,10,755),832=>array(-259,616,-19,800),833=>array(-160,616,152,800),834=>array(-257,638,110,778),835=>array(-313,595,-130,844),836=>array(-344,654,94,978),837=>array(-365,-208,-244,-45),838=>array(-418,639,-82,786),839=>array(-378,-226,-122,-35),840=>array(-398,-240,-102,-47),841=>array(-363,-240,-111,-21),842=>array(-434,616,-68,800),843=>array(-434,567,-66,850),844=>array(-438,573,-31,835),845=>array(-459,-230,-41,-30),846=>array(-371,-240,-141,-45),849=>array(-321,610,-152,888),850=>array(-250,604,80,882),851=>array(-378,-240,-124,-9),855=>array(-348,610,-179,888),856=>array(0,654,159,774),858=>array(-445,-240,-58,-11),860=>array(-471,-237,419,-79),861=>array(-278,802,613,960),862=>array(-291,797,618,889),863=>array(-481,-185,427,-93),864=>array(-291,756,459,894),865=>array(-278,769,613,927),866=>array(-533,-230,376,-30),880=>array(21,0,623,729),881=>array(31,0,494,547),882=>array(88,0,1001,729),883=>array(88,0,815,729),884=>array(78,557,218,800),885=>array(54,-208,242,35),886=>array(21,0,816,729),887=>array(31,0,670,547),890=>array(132,-208,253,-45),891=>array(-7,-14,537,560),892=>array(37,-14,581,560),893=>array(-7,-14,537,560),894=>array(-35,-142,323,547),900=>array(216,616,528,800),901=>array(152,654,589,978),902=>array(-42,0,714,800),903=>array(84,253,297,442),904=>array(22,0,831,800),905=>array(28,0,986,800),906=>array(25,0,521,800),908=>array(28,-14,851,800),910=>array(20,0,1067,800),911=>array(-1,0,855,800),912=>array(50,-19,516,978),913=>array(-65,0,691,729),914=>array(21,0,699,729),915=>array(21,0,681,729),916=>array(-66,0,698,729),917=>array(21,0,670,729),918=>array(-26,0,740,729),919=>array(21,0,816,729),920=>array(40,-14,810,742),921=>array(21,0,351,729),922=>array(21,0,837,729),923=>array(-66,0,698,729),924=>array(21,0,974,729),925=>array(21,0,816,729),926=>array(27,0,619,729),927=>array(36,-14,814,742),928=>array(21,0,816,729),929=>array(21,0,719,729),931=>array(21,0,670,729),932=>array(48,0,748,729),933=>array(63,0,809,729),934=>array(43,0,806,729),935=>array(-51,0,812,729),936=>array(78,0,866,729),937=>array(-45,0,812,742),938=>array(21,0,450,927),939=>array(63,0,809,927),940=>array(38,-12,692,800),941=>array(27,-14,567,800),942=>array(50,-208,664,800),943=>array(42,-19,436,800),944=>array(54,-10,660,978),945=>array(38,-12,692,559),946=>array(-11,-208,660,773),947=>array(66,-208,740,547),948=>array(16,-14,634,768),949=>array(27,-14,520,560),950=>array(32,-208,627,760),951=>array(50,-208,664,560),952=>array(28,-11,659,768),953=>array(42,-19,313,547),954=>array(31,0,679,547),955=>array(-44,0,529,760),956=>array(-27,-209,670,547),957=>array(68,0,653,547),958=>array(26,-208,627,760),959=>array(36,-14,651,560),960=>array(73,-19,787,547),961=>array(9,-208,699,562),962=>array(55,-208,595,560),963=>array(37,-14,781,547),964=>array(52,-19,667,547),965=>array(54,-10,645,547),966=>array(76,-208,752,552),967=>array(-48,-208,693,547),968=>array(79,-208,797,547),969=>array(33,-13,834,547),970=>array(50,-19,407,774),971=>array(54,-10,645,774),972=>array(36,-14,651,800),973=>array(54,-10,645,800),974=>array(33,-13,834,800),975=>array(41,-208,860,729),976=>array(55,-11,601,768),977=>array(46,-11,612,768),978=>array(63,0,751,729),979=>array(22,0,989,800),980=>array(63,0,751,927),981=>array(60,-208,729,760),982=>array(33,-13,897,547),983=>array(38,-188,743,547),984=>array(68,-208,818,742),985=>array(62,-208,663,560),986=>array(70,-208,769,729),987=>array(63,-208,614,547),988=>array(21,0,670,729),989=>array(-146,-208,525,760),990=>array(21,2,682,729),991=>array(68,0,585,759),992=>array(102,-208,825,742),993=>array(-15,-180,500,559),994=>array(33,-213,1048,729),995=>array(81,-208,797,547),996=>array(37,-208,811,742),997=>array(34,-208,683,560),998=>array(21,-213,861,729),999=>array(-17,-14,736,575),1000=>array(-29,-208,721,745),1001=>array(-16,-208,626,560),1002=>array(-14,0,807,742),1003=>array(-7,0,674,560),1004=>array(26,-14,791,758),1005=>array(75,-14,739,758),1006=>array(23,-208,689,729),1007=>array(42,-208,614,726),1008=>array(19,-6,723,547),1009=>array(50,-216,690,560),1010=>array(37,-14,581,560),1011=>array(-128,-216,354,760),1012=>array(36,-14,814,742),1013=>array(67,-14,602,560),1014=>array(-26,-14,509,560),1015=>array(21,0,695,729),1016=>array(-10,-208,677,760),1017=>array(36,-14,724,742),1018=>array(21,0,974,729),1019=>array(0,-208,723,547),1020=>array(-31,-208,689,560),1021=>array(-13,-14,670,742),1022=>array(36,-14,724,742),1023=>array(-13,-14,670,742),1024=>array(21,0,670,927),1025=>array(21,0,670,927),1026=>array(67,-200,798,729),1027=>array(21,0,681,927),1028=>array(41,-14,733,742),1029=>array(15,-14,665,742),1030=>array(21,0,351,729),1031=>array(21,0,468,927),1032=>array(-166,-200,351,729),1033=>array(-25,0,1081,729),1034=>array(21,0,1039,729),1035=>array(48,0,778,729),1036=>array(21,0,857,927),1037=>array(21,0,816,927),1038=>array(77,0,812,927),1039=>array(36,-157,831,729),1040=>array(-65,0,691,729),1041=>array(21,0,714,729),1042=>array(21,0,699,729),1043=>array(21,0,681,729),1044=>array(-26,-157,813,729),1045=>array(21,0,670,729),1046=>array(-56,0,1249,729),1047=>array(-0,-14,668,742),1048=>array(21,0,816,729),1049=>array(21,0,816,927),1050=>array(21,0,857,729),1051=>array(-25,0,810,729),1052=>array(21,0,974,729),1053=>array(21,0,816,729),1054=>array(36,-14,814,742),1055=>array(21,0,816,729),1056=>array(21,0,719,729),1057=>array(36,-14,724,742),1058=>array(48,0,748,729),1059=>array(77,0,812,729),1060=>array(44,0,950,729),1061=>array(-51,0,812,729),1062=>array(36,-157,840,729),1063=>array(100,0,787,729),1064=>array(21,0,1214,729),1065=>array(36,-157,1238,729),1066=>array(92,0,869,729),1067=>array(21,0,1016,729),1068=>array(21,0,671,729),1069=>array(1,-14,693,742),1070=>array(21,-14,1129,742),1071=>array(-7,0,749,729),1072=>array(17,-14,611,560),1073=>array(24,-14,640,792),1074=>array(31,0,593,547),1075=>array(28,0,549,547),1076=>array(-10,-138,736,547),1077=>array(36,-14,640,560),1078=>array(-39,0,1015,547),1079=>array(-1,-14,535,560),1080=>array(31,0,670,547),1081=>array(31,0,670,765),1082=>array(31,0,698,547),1083=>array(2,0,702,547),1084=>array(28,0,784,547),1085=>array(28,0,658,547),1086=>array(36,-14,651,560),1087=>array(28,0,658,547),1088=>array(-10,-208,677,560),1089=>array(37,-14,581,560),1090=>array(34,0,626,547),1091=>array(0,-216,687,547),1092=>array(46,-208,945,760),1093=>array(-41,0,671,547),1094=>array(44,-138,682,547),1095=>array(80,0,626,547),1096=>array(31,0,1025,547),1097=>array(44,-138,1047,547),1098=>array(52,0,695,547),1099=>array(31,0,877,547),1100=>array(31,0,572,547),1101=>array(17,-14,557,560),1102=>array(31,-14,936,560),1103=>array(-22,0,613,547),1104=>array(36,-14,640,803),1105=>array(36,-14,640,774),1106=>array(52,-216,648,760),1107=>array(28,0,604,803),1108=>array(36,-14,576,560),1109=>array(10,-14,560,560),1110=>array(31,0,354,760),1111=>array(31,0,405,774),1112=>array(-128,-216,354,760),1113=>array(-9,0,926,547),1114=>array(31,0,896,547),1115=>array(31,0,622,760),1116=>array(31,0,698,803),1117=>array(31,0,670,803),1118=>array(0,-216,687,765),1119=>array(44,-138,673,547),1120=>array(33,-14,1048,729),1121=>array(33,-13,834,547),1122=>array(77,0,770,729),1123=>array(36,0,658,731),1124=>array(21,-14,1011,742),1125=>array(31,-14,810,560),1126=>array(-63,0,914,729),1127=>array(-28,0,754,547),1128=>array(21,0,1280,729),1129=>array(31,0,1044,547),1130=>array(-21,0,851,729),1131=>array(-13,0,683,547),1132=>array(21,0,1188,729),1133=>array(28,0,1003,547),1134=>array(-25,-208,640,938),1135=>array(-24,-193,525,756),1136=>array(74,0,1126,729),1137=>array(62,-208,1100,759),1138=>array(36,-14,814,742),1139=>array(36,-14,651,560),1140=>array(75,0,896,742),1141=>array(60,0,732,560),1142=>array(75,0,896,930),1143=>array(60,0,732,800),1144=>array(57,-216,1186,742),1145=>array(63,-216,1098,565),1146=>array(40,-14,1033,742),1147=>array(35,-14,823,560),1148=>array(37,-14,1348,928),1149=>array(31,-13,1129,828),1150=>array(33,-14,1048,910),1151=>array(33,-13,834,746),1152=>array(40,-208,732,742),1153=>array(33,-208,573,560),1154=>array(19,-33,530,488),1155=>array(-608,606,-79,822),1156=>array(-427,638,-12,784),1157=>array(-356,595,-213,785),1158=>array(-384,595,-213,785),1159=>array(-811,592,1,788),1160=>array(-1067,-179,388,928),1161=>array(-973,-280,323,1022),1162=>array(21,-208,890,927),1163=>array(28,-208,748,765),1164=>array(21,0,671,729),1165=>array(27,0,549,702),1166=>array(21,0,717,729),1167=>array(-10,-208,670,560),1168=>array(21,0,710,878),1169=>array(28,0,579,700),1170=>array(17,0,709,729),1171=>array(10,0,572,547),1172=>array(21,-200,708,729),1173=>array(28,-216,554,547),1174=>array(-41,-157,1264,729),1175=>array(-25,-138,1028,547),1176=>array(-0,-196,668,742),1177=>array(-1,-196,535,560),1178=>array(36,-157,873,729),1179=>array(44,-138,711,547),1180=>array(21,0,857,729),1181=>array(31,0,698,547),1182=>array(21,0,857,729),1183=>array(10,0,677,760),1184=>array(68,0,1055,729),1185=>array(52,0,846,547),1186=>array(36,-157,904,729),1187=>array(44,-138,765,547),1188=>array(21,0,1146,729),1189=>array(28,0,897,547),1190=>array(21,-200,1174,729),1191=>array(28,-216,902,547),1192=>array(40,-14,875,743),1193=>array(40,-14,798,560),1194=>array(36,-196,724,742),1195=>array(37,-196,581,560),1196=>array(63,-157,763,729),1197=>array(49,-138,642,547),1198=>array(63,0,809,729),1199=>array(66,-216,688,547),1200=>array(61,0,805,729),1201=>array(63,-216,708,547),1202=>array(-37,-157,827,729),1203=>array(-25,-138,687,547),1204=>array(63,-157,1060,729),1205=>array(49,-138,957,547),1206=>array(129,-157,876,729),1207=>array(103,-138,730,547),1208=>array(114,0,787,729),1209=>array(87,0,624,547),1210=>array(106,0,793,729),1211=>array(31,0,654,760),1212=>array(42,-14,984,742),1213=>array(30,-14,769,560),1214=>array(42,-184,984,742),1215=>array(30,-161,769,560),1216=>array(21,0,351,729),1217=>array(-56,0,1249,927),1218=>array(-39,0,1015,784),1219=>array(21,-200,840,729),1220=>array(31,-216,679,547),1221=>array(-46,-208,885,729),1222=>array(-38,-208,746,547),1223=>array(21,-200,816,729),1224=>array(28,-216,658,547),1225=>array(21,-208,889,729),1226=>array(28,-208,748,547),1227=>array(129,-157,803,729),1228=>array(103,-138,640,547),1229=>array(21,-208,1047,729),1230=>array(28,-208,874,547),1231=>array(31,0,354,760),1232=>array(-65,0,691,936),1233=>array(17,-14,611,772),1234=>array(-65,0,691,927),1235=>array(17,-14,611,774),1236=>array(-78,0,1072,729),1237=>array(17,-14,1008,560),1238=>array(21,0,670,927),1239=>array(36,-14,640,784),1240=>array(36,-14,819,742),1241=>array(42,-14,630,560),1242=>array(36,-14,819,927),1243=>array(42,-14,630,774),1244=>array(-56,0,1249,927),1245=>array(-39,0,1015,774),1246=>array(-0,-14,668,927),1247=>array(-1,-14,540,774),1248=>array(21,-33,743,729),1249=>array(-23,-215,608,547),1250=>array(21,0,816,914),1251=>array(31,0,670,763),1252=>array(21,0,816,927),1253=>array(31,0,670,774),1254=>array(36,-14,814,927),1255=>array(36,-14,651,774),1256=>array(36,-14,814,742),1257=>array(36,-14,651,560),1258=>array(36,-14,814,927),1259=>array(36,-14,651,774),1260=>array(1,-14,693,927),1261=>array(17,-14,557,774),1262=>array(77,0,812,914),1263=>array(0,-216,687,763),1264=>array(77,0,812,927),1265=>array(0,-216,687,774),1266=>array(77,0,812,927),1267=>array(0,-216,687,800),1268=>array(100,0,787,927),1269=>array(80,0,626,774),1270=>array(36,-157,696,729),1271=>array(44,-138,565,547),1272=>array(21,0,1016,927),1273=>array(31,0,877,774),1274=>array(38,-216,730,729),1275=>array(31,-217,593,547),1276=>array(-32,-200,832,729),1277=>array(-17,-216,694,547),1278=>array(-52,0,812,729),1279=>array(-38,0,673,547),1280=>array(37,0,741,729),1281=>array(17,0,575,547),1282=>array(35,-14,1116,729),1283=>array(16,-14,868,547),1284=>array(138,-14,1063,742),1285=>array(104,-14,854,560),1286=>array(138,-208,760,742),1287=>array(104,-208,634,560),1288=>array(-48,-14,1185,729),1289=>array(-38,-14,950,547),1290=>array(22,-14,1222,729),1291=>array(28,-14,957,547),1292=>array(41,-14,783,742),1293=>array(35,-14,573,546),1294=>array(47,-14,881,729),1295=>array(34,-14,727,547),1296=>array(37,-14,652,742),1297=>array(27,-14,520,560),1298=>array(-5,-200,829,729),1299=>array(23,-216,723,547),1300=>array(-25,0,1327,729),1301=>array(2,0,1096,547),1302=>array(21,0,1106,729),1303=>array(-10,-208,1008,560),1304=>array(-7,0,1068,729),1305=>array(-22,-14,965,560),1306=>array(36,-146,814,742),1307=>array(36,-208,682,560),1308=>array(107,0,1143,729),1309=>array(87,0,927,547),1310=>array(21,0,857,729),1311=>array(31,0,698,547),1312=>array(-25,-200,1167,729),1313=>array(2,-216,946,547),1314=>array(21,-200,1173,729),1315=>array(28,-216,902,547),1316=>array(36,-157,905,729),1317=>array(44,-138,764,547),1329=>array(75,-38,849,729),1330=>array(21,0,741,743),1331=>array(50,0,805,743),1332=>array(37,0,809,743),1333=>array(78,-14,763,729),1334=>array(18,0,753,743),1335=>array(21,0,730,729),1336=>array(21,0,741,743),1337=>array(21,-13,1020,742),1338=>array(11,-14,844,729),1339=>array(21,0,705,729),1340=>array(21,0,566,729),1341=>array(21,-14,1021,729),1342=>array(93,-12,864,741),1343=>array(97,0,746,729),1344=>array(-16,-46,694,729),1345=>array(33,-48,753,743),1346=>array(32,0,748,743),1347=>array(-22,0,733,735),1348=>array(78,-14,938,729),1349=>array(42,-14,709,743),1350=>array(46,-14,763,729),1351=>array(49,-14,762,729),1352=>array(21,0,734,743),1353=>array(51,-48,724,743),1354=>array(32,0,890,743),1355=>array(7,0,742,743),1356=>array(21,0,863,743),1357=>array(68,-14,791,729),1358=>array(35,0,748,729),1359=>array(37,-14,703,743),1360=>array(21,0,741,743),1361=>array(42,-14,709,743),1362=>array(21,0,666,729),1363=>array(24,0,901,729),1364=>array(-49,0,741,743),1365=>array(36,-14,813,742),1366=>array(30,-14,909,729),1369=>array(159,481,325,760),1370=>array(73,418,349,729),1371=>array(120,616,500,800),1372=>array(115,595,590,893),1373=>array(-1,616,315,849),1374=>array(117,586,652,878),1375=>array(164,618,622,893),1377=>array(74,-13,1018,547),1378=>array(-10,-208,654,560),1379=>array(43,-208,748,559),1380=>array(31,-208,752,560),1381=>array(59,-14,683,760),1382=>array(38,-208,708,559),1383=>array(31,0,644,760),1384=>array(-10,-208,653,560),1385=>array(-10,-208,843,560),1386=>array(43,-14,830,760),1387=>array(-10,-208,646,760),1388=>array(-10,-208,385,547),1389=>array(-10,-208,1063,760),1390=>array(40,-14,719,760),1391=>array(67,-208,683,760),1392=>array(31,0,646,760),1393=>array(10,-13,593,760),1394=>array(31,-208,711,560),1395=>array(52,-13,729,768),1396=>array(67,-13,871,760),1397=>array(-128,-216,313,547),1398=>array(2,-13,683,760),1399=>array(-60,-208,520,560),1400=>array(31,0,646,560),1401=>array(-67,-208,366,547),1402=>array(59,-208,1012,547),1403=>array(-26,-208,605,560),1404=>array(31,0,665,560),1405=>array(67,-13,683,547),1406=>array(67,-208,724,760),1407=>array(63,-13,975,560),1408=>array(-10,-208,646,560),1409=>array(19,-216,681,559),1410=>array(31,0,498,547),1411=>array(63,-208,975,760),1412=>array(-151,-208,671,560),1413=>array(37,-14,652,560),1414=>array(31,-190,865,760),1415=>array(67,-14,868,760),1417=>array(41,0,323,547),1418=>array(96,179,430,359),1456=>array(275,-229,416,-10),1457=>array(149,-229,523,-10),1458=>array(140,-229,513,-10),1459=>array(127,-229,513,-10),1460=>array(287,-171,404,-73),1461=>array(213,-171,477,-73),1462=>array(237,-229,477,-10),1463=>array(89,-171,451,0),1464=>array(109,-217,446,0),1465=>array(-34,625,83,723),1466=>array(-34,625,83,723),1467=>array(190,-239,525,-5),1468=>array(293,225,411,322),1469=>array(277,-217,413,-22),1470=>array(40,413,375,555),1471=>array(132,547,469,710),1472=>array(26,-98,345,645),1473=>array(816,613,934,710),1474=>array(204,613,321,710),1475=>array(45,0,326,547),1478=>array(25,0,490,547),1479=>array(188,-229,525,-10),1488=>array(104,0,730,547),1489=>array(43,0,590,547),1490=>array(44,-9,428,547),1491=>array(126,0,651,547),1492=>array(100,0,661,547),1493=>array(91,0,359,547),1494=>array(94,0,464,547),1495=>array(91,0,654,547),1496=>array(142,-13,676,553),1497=>array(98,164,334,547),1498=>array(126,-240,549,547),1499=>array(43,0,570,547),1500=>array(126,0,633,711),1501=>array(91,0,663,547),1502=>array(84,0,690,554),1503=>array(44,-240,359,547),1504=>array(43,0,430,547),1505=>array(144,-13,678,547),1506=>array(35,-101,682,547),1507=>array(158,-240,642,547),1508=>array(91,0,656,547),1509=>array(118,-240,649,548),1510=>array(54,0,670,547),1511=>array(51,-240,767,546),1512=>array(126,0,575,547),1513=>array(89,0,856,547),1514=>array(11,-4,650,547),1520=>array(91,0,680,547),1521=>array(98,0,680,547),1522=>array(98,164,655,547),1523=>array(66,361,378,547),1524=>array(66,361,644,547),3647=>array(2,-147,642,760),3713=>array(14,-14,752,560),3714=>array(12,-14,727,560),3716=>array(13,-14,699,558),3719=>array(2,-241,548,593),3720=>array(44,0,711,561),3722=>array(45,-269,747,584),3725=>array(14,-24,767,610),3732=>array(18,-14,671,593),3733=>array(17,-19,670,603),3734=>array(35,-240,729,593),3735=>array(-1,-14,784,560),3737=>array(-9,-33,735,593),3738=>array(13,-15,716,613),3739=>array(-1,-15,739,760),3740=>array(29,-12,952,665),3741=>array(24,-14,837,760),3742=>array(50,-14,825,604),3743=>array(35,-14,848,760),3745=>array(-7,-14,826,547),3746=>array(-0,-23,789,760),3747=>array(18,-10,768,615),3749=>array(9,-33,717,593),3751=>array(5,-33,668,593),3754=>array(8,-21,860,724),3755=>array(32,-21,961,620),3757=>array(27,-20,689,606),3758=>array(15,-14,880,698),3759=>array(79,-259,932,648),3760=>array(5,27,682,606),3761=>array(-649,610,-29,896),3762=>array(51,0,578,593),3763=>array(-479,0,578,875),3764=>array(-656,622,-63,950),3765=>array(-656,633,-1,962),3766=>array(-656,622,-63,950),3767=>array(-656,633,-1,962),3768=>array(-413,-385,-165,-55),3769=>array(-479,-316,-150,-28),3771=>array(-657,610,-33,896),3772=>array(-689,-311,17,-48),3773=>array(-25,-220,758,776),3776=>array(53,-13,469,561),3777=>array(53,-13,843,561),3778=>array(25,-14,486,936),3779=>array(67,-14,640,879),3780=>array(47,-35,552,809),3782=>array(33,-240,731,582),3784=>array(-431,659,-279,844),3785=>array(-636,622,-19,918),3786=>array(-672,621,37,965),3787=>array(-530,612,-178,917),3788=>array(-511,603,194,866),3789=>array(-479,668,-229,875),3792=>array(66,-29,723,563),3793=>array(55,-139,731,586),3794=>array(1,-80,612,711),3795=>array(-49,-14,953,981),3796=>array(31,-156,647,711),3797=>array(31,-156,647,711),3798=>array(5,-14,962,950),3799=>array(36,-240,748,560),3800=>array(86,-269,766,582),3801=>array(38,-14,875,564),3804=>array(32,-21,1356,620),3805=>array(32,-21,1361,620),4256=>array(111,-14,929,819),4257=>array(139,-0,736,819),4258=>array(150,-138,672,828),4259=>array(97,-15,902,819),4260=>array(133,0,665,828),4261=>array(136,0,832,828),4262=>array(144,-14,752,819),4263=>array(117,-14,993,828),4264=>array(127,0,562,862),4265=>array(108,0,653,819),4266=>array(95,-14,834,820),4267=>array(89,-14,942,819),4268=>array(24,0,689,819),4269=>array(106,-157,886,829),4270=>array(141,-14,886,822),4271=>array(141,0,741,823),4272=>array(76,-15,969,820),4273=>array(83,-15,626,820),4274=>array(23,-0,685,828),4275=>array(106,-170,886,828),4276=>array(127,0,918,825),4277=>array(101,0,794,820),4278=>array(24,0,685,828),4279=>array(127,0,731,820),4280=>array(66,-14,736,820),4281=>array(24,0,632,819),4282=>array(113,-14,880,827),4283=>array(89,-15,926,820),4284=>array(23,-0,698,819),4285=>array(75,-15,648,828),4286=>array(23,-0,741,819),4287=>array(27,0,880,819),4288=>array(110,-14,901,820),4289=>array(24,0,647,820),4290=>array(78,-15,692,828),4291=>array(95,0,707,820),4292=>array(131,0,715,820),4293=>array(43,-14,833,828),4304=>array(76,-14,531,599),4305=>array(86,-14,552,823),4306=>array(31,-232,565,561),4307=>array(41,-225,826,557),4308=>array(26,-232,551,557),4309=>array(25,-232,562,557),4310=>array(75,-14,537,828),4311=>array(84,-14,821,557),4312=>array(75,0,556,557),4313=>array(24,-232,554,542),4314=>array(96,-225,1077,562),4315=>array(87,-14,622,828),4316=>array(89,-14,629,819),4317=>array(92,-0,808,557),4318=>array(78,-14,589,818),4319=>array(25,-232,604,560),4320=>array(91,0,816,830),4321=>array(92,-14,560,818),4322=>array(62,-232,664,670),4323=>array(47,-232,591,604),4324=>array(94,-232,844,558),4325=>array(25,-232,650,818),4326=>array(88,-225,815,557),4327=>array(25,-232,602,549),4328=>array(63,-14,609,828),4329=>array(39,0,561,828),4330=>array(65,-232,612,548),4331=>array(86,-14,659,818),4332=>array(91,-15,685,828),4333=>array(35,-232,616,818),4334=>array(95,-14,553,818),4335=>array(-7,-232,542,580),4336=>array(73,-15,602,823),4337=>array(79,-14,609,823),4338=>array(17,-146,543,557),4339=>array(25,-232,604,558),4340=>array(26,-232,618,828),4341=>array(65,-14,656,828),4342=>array(87,-232,842,557),4343=>array(29,-232,551,557),4344=>array(25,-232,548,549),4345=>array(93,-232,627,561),4346=>array(68,-111,558,557),4347=>array(29,0,446,500),4348=>array(124,400,424,828),5121=>array(76,0,840,729),5122=>array(-66,0,698,1050),5123=>array(-66,0,698,729),5124=>array(-66,0,698,928),5125=>array(21,0,843,729),5126=>array(21,0,843,928),5127=>array(21,0,843,927),5129=>array(21,0,843,729),5130=>array(62,0,884,729),5131=>array(62,0,884,928),5132=>array(80,0,1084,729),5133=>array(76,0,937,729),5134=>array(80,0,942,729),5135=>array(-66,0,937,729),5136=>array(80,0,942,928),5137=>array(-66,0,937,928),5138=>array(80,0,1087,729),5139=>array(21,0,1067,729),5140=>array(80,0,1087,928),5141=>array(21,0,1067,928),5142=>array(21,0,843,928),5143=>array(80,0,1128,729),5144=>array(62,0,1070,729),5145=>array(80,0,1128,928),5146=>array(62,0,1070,928),5147=>array(62,0,884,928),5149=>array(80,607,237,728),5150=>array(20,326,434,734),5151=>array(8,338,402,722),5152=>array(54,338,356,722),5153=>array(53,392,370,711),5154=>array(29,352,345,670),5155=>array(33,392,341,670),5156=>array(57,392,341,670),5157=>array(-2,327,552,749),5158=>array(21,326,454,734),5159=>array(80,304,237,424),5160=>array(53,494,346,569),5161=>array(53,392,346,670),5162=>array(75,392,368,693),5163=>array(76,0,1145,729),5164=>array(-66,0,917,729),5165=>array(21,0,1147,729),5166=>array(62,0,1229,729),5167=>array(76,0,840,729),5168=>array(-66,0,698,1050),5169=>array(-66,0,698,729),5170=>array(-66,0,698,928),5171=>array(2,0,824,729),5172=>array(2,0,824,928),5173=>array(2,0,824,927),5175=>array(2,0,824,729),5176=>array(51,0,873,729),5177=>array(51,0,873,928),5178=>array(80,0,1084,729),5179=>array(76,0,937,729),5180=>array(80,0,942,729),5181=>array(-66,0,937,729),5182=>array(80,0,942,928),5183=>array(-66,0,937,928),5184=>array(80,0,1068,729),5185=>array(2,0,1067,729),5186=>array(80,0,1068,928),5187=>array(2,0,1067,928),5188=>array(80,0,1117,729),5189=>array(51,0,1070,729),5190=>array(80,0,1117,928),5191=>array(51,0,1070,928),5192=>array(51,0,873,927),5193=>array(48,326,559,727),5194=>array(20,326,212,734),5196=>array(79,-14,792,729),5197=>array(20,0,733,1050),5198=>array(20,0,733,743),5199=>array(20,0,733,928),5200=>array(2,0,763,729),5201=>array(2,0,763,928),5202=>array(2,0,763,927),5204=>array(2,0,763,729),5205=>array(52,0,813,729),5206=>array(52,0,813,928),5207=>array(80,-14,1037,729),5208=>array(79,-14,976,729),5209=>array(80,0,977,743),5210=>array(20,0,976,743),5211=>array(80,0,977,928),5212=>array(20,0,976,928),5213=>array(80,0,1007,729),5214=>array(2,0,982,729),5215=>array(80,0,1007,928),5216=>array(2,0,982,928),5217=>array(80,0,1057,729),5218=>array(52,0,979,729),5219=>array(80,0,1057,928),5220=>array(52,0,979,928),5221=>array(52,0,1057,729),5222=>array(59,326,466,733),5223=>array(79,-14,989,734),5224=>array(20,0,989,743),5225=>array(2,0,1007,734),5226=>array(52,0,1000,734),5227=>array(64,0,675,743),5228=>array(20,0,726,1050),5229=>array(20,0,726,743),5230=>array(20,0,726,928),5231=>array(18,-14,724,729),5232=>array(18,-14,731,928),5233=>array(18,-14,818,927),5234=>array(68,-14,679,729),5235=>array(68,-14,679,928),5236=>array(80,0,960,743),5237=>array(64,0,902,743),5238=>array(80,0,962,743),5239=>array(20,0,902,743),5240=>array(80,0,962,928),5241=>array(20,0,902,928),5242=>array(80,-14,1009,729),5243=>array(18,-14,902,729),5244=>array(80,-14,1017,928),5245=>array(18,-14,902,928),5246=>array(80,-14,916,729),5247=>array(68,-14,902,729),5248=>array(80,-14,916,928),5249=>array(68,-14,902,928),5250=>array(52,-14,916,729),5251=>array(47,319,432,734),5252=>array(43,319,485,734),5253=>array(64,0,921,743),5254=>array(20,0,921,743),5255=>array(18,-14,921,734),5256=>array(68,-14,921,734),5257=>array(64,0,675,743),5258=>array(20,0,726,1050),5259=>array(20,0,726,743),5260=>array(20,0,726,928),5261=>array(18,-14,724,729),5262=>array(18,-14,737,928),5263=>array(18,-14,824,927),5264=>array(68,-14,679,729),5265=>array(68,-14,679,928),5266=>array(80,0,960,743),5267=>array(64,0,902,743),5268=>array(80,0,1011,743),5269=>array(20,0,902,743),5270=>array(80,0,1011,928),5271=>array(20,0,902,928),5272=>array(80,-14,1009,729),5273=>array(18,-14,902,729),5274=>array(80,-14,1023,928),5275=>array(18,-14,902,928),5276=>array(80,-14,964,729),5277=>array(68,-14,902,729),5278=>array(80,-14,964,928),5279=>array(68,-14,902,928),5280=>array(52,-14,964,729),5281=>array(47,319,432,734),5282=>array(46,319,485,734),5283=>array(71,0,605,729),5284=>array(21,0,670,1050),5285=>array(21,0,670,729),5286=>array(21,0,670,928),5287=>array(-43,0,605,729),5288=>array(-43,0,621,928),5289=>array(-43,0,708,927),5290=>array(21,0,556,729),5291=>array(21,0,556,928),5292=>array(80,0,860,729),5293=>array(71,0,782,729),5294=>array(80,0,907,729),5295=>array(21,0,801,729),5296=>array(80,0,907,928),5297=>array(21,0,801,928),5298=>array(80,0,860,729),5299=>array(-43,0,801,729),5300=>array(80,0,875,928),5301=>array(-43,0,801,928),5302=>array(80,0,792,729),5303=>array(21,0,801,729),5304=>array(80,0,792,928),5305=>array(21,0,801,928),5306=>array(52,0,792,729),5307=>array(21,326,355,734),5308=>array(55,326,532,733),5309=>array(20,326,420,734),5312=>array(103,-14,946,468),5313=>array(41,-14,951,781),5314=>array(41,-14,951,468),5315=>array(41,-14,951,667),5316=>array(-20,0,891,482),5317=>array(-20,0,891,667),5318=>array(-20,0,891,667),5319=>array(42,0,885,482),5320=>array(42,0,885,667),5321=>array(80,-14,1196,468),5322=>array(103,-14,1175,468),5323=>array(80,0,1153,482),5324=>array(42,0,1156,482),5325=>array(80,0,1153,667),5326=>array(42,0,1156,667),5327=>array(42,0,885,667),5328=>array(61,477,593,742),5329=>array(43,319,481,734),5330=>array(34,477,607,742),5331=>array(102,0,945,468),5332=>array(39,0,949,781),5333=>array(39,0,949,468),5334=>array(39,0,949,667),5335=>array(-18,0,892,468),5336=>array(-18,0,892,667),5337=>array(-18,0,892,667),5338=>array(43,0,886,468),5339=>array(43,0,886,667),5340=>array(80,0,1188,468),5341=>array(102,0,1175,468),5342=>array(80,0,1245,468),5343=>array(39,0,1156,468),5344=>array(80,0,1245,667),5345=>array(39,0,1156,667),5346=>array(80,0,1189,468),5347=>array(-18,0,1142,468),5348=>array(80,0,1189,667),5349=>array(-18,0,1142,667),5350=>array(80,0,1181,468),5351=>array(43,0,1156,468),5352=>array(80,0,1181,667),5353=>array(43,0,1156,667),5354=>array(61,477,593,734),5356=>array(26,0,874,729),5357=>array(92,0,643,729),5358=>array(21,0,841,1050),5359=>array(21,0,760,729),5360=>array(21,0,773,928),5361=>array(-30,0,709,729),5362=>array(-30,0,717,928),5363=>array(-30,0,804,927),5364=>array(87,0,638,729),5365=>array(87,0,638,928),5366=>array(80,0,911,729),5367=>array(92,0,886,729),5368=>array(80,0,997,729),5369=>array(21,0,917,729),5370=>array(80,0,1010,928),5371=>array(21,0,917,928),5372=>array(80,0,977,729),5373=>array(-30,0,886,729),5374=>array(80,0,985,928),5375=>array(-30,0,886,928),5376=>array(80,0,875,729),5377=>array(87,0,917,729),5378=>array(80,0,875,928),5379=>array(87,0,917,928),5380=>array(52,0,875,729),5381=>array(57,326,406,734),5382=>array(28,319,413,742),5383=>array(20,326,477,734),5392=>array(65,-14,858,743),5393=>array(7,-14,917,743),5394=>array(7,-14,917,928),5395=>array(33,-14,1103,482),5396=>array(33,-14,1103,667),5397=>array(36,-14,1100,482),5398=>array(36,-14,1100,667),5399=>array(80,-14,1144,743),5400=>array(65,-14,1129,743),5401=>array(80,-14,1202,743),5402=>array(7,-14,1129,743),5403=>array(80,-14,1202,928),5404=>array(7,-14,1129,928),5405=>array(80,-14,1398,482),5406=>array(33,-14,1348,482),5407=>array(80,-14,1398,667),5408=>array(33,-14,1348,667),5409=>array(80,-14,1395,482),5410=>array(36,-14,1348,482),5411=>array(80,-14,1395,667),5412=>array(36,-14,1348,667),5413=>array(58,469,693,747),5414=>array(63,0,689,729),5415=>array(21,0,697,1050),5416=>array(21,0,697,729),5417=>array(21,0,697,928),5418=>array(79,0,755,729),5419=>array(79,0,772,928),5420=>array(79,0,859,927),5421=>array(87,0,713,729),5422=>array(87,0,713,928),5423=>array(80,0,916,729),5424=>array(63,0,931,729),5425=>array(80,0,934,729),5426=>array(21,0,923,729),5427=>array(80,0,934,928),5428=>array(21,0,923,928),5429=>array(80,0,982,729),5430=>array(79,0,931,729),5431=>array(80,0,1000,928),5432=>array(79,0,931,928),5433=>array(80,0,950,729),5434=>array(87,0,923,729),5435=>array(80,0,950,928),5436=>array(87,0,923,928),5437=>array(52,0,950,928),5438=>array(57,326,450,734),5440=>array(53,392,346,670),5441=>array(20,326,487,734),5442=>array(91,-14,996,468),5443=>array(103,-14,988,468),5444=>array(-20,0,885,482),5445=>array(45,0,930,781),5446=>array(45,0,930,482),5447=>array(45,0,930,667),5448=>array(21,0,716,729),5449=>array(21,0,716,928),5450=>array(21,0,667,729),5451=>array(65,0,712,729),5452=>array(65,0,712,928),5453=>array(17,0,712,729),5454=>array(80,0,982,928),5455=>array(65,0,887,928),5456=>array(74,326,478,727),5458=>array(2,0,849,729),5459=>array(99,0,838,743),5460=>array(2,-14,700,1050),5461=>array(2,-14,700,729),5462=>array(2,-14,700,928),5463=>array(51,0,873,663),5464=>array(51,0,873,928),5465=>array(69,0,896,663),5466=>array(69,0,896,928),5467=>array(80,0,1140,928),5468=>array(69,0,1070,928),5469=>array(52,311,568,675),5470=>array(68,-14,791,743),5471=>array(68,-14,772,743),5472=>array(40,-14,744,743),5473=>array(21,-14,744,743),5474=>array(40,-14,744,928),5475=>array(21,-14,744,928),5476=>array(2,0,769,729),5477=>array(2,0,769,928),5478=>array(47,0,811,729),5479=>array(47,0,811,928),5480=>array(80,0,1055,928),5481=>array(47,0,979,928),5482=>array(55,326,540,733),5492=>array(58,0,871,743),5493=>array(62,0,966,743),5494=>array(62,0,966,928),5495=>array(11,-14,915,729),5496=>array(11,-14,915,928),5497=>array(106,-14,919,729),5498=>array(106,-14,919,928),5499=>array(69,319,551,734),5500=>array(21,0,816,729),5501=>array(20,326,487,734),5502=>array(74,0,1220,1050),5503=>array(74,0,1220,743),5504=>array(74,0,1220,928),5505=>array(74,-14,1218,729),5506=>array(74,-14,1226,928),5507=>array(74,-14,1173,729),5508=>array(74,-14,1173,928),5509=>array(74,319,926,734),5514=>array(64,0,871,743),5515=>array(62,0,966,743),5516=>array(11,-14,916,729),5517=>array(106,-14,913,729),5518=>array(77,0,1573,1050),5519=>array(77,0,1573,743),5520=>array(77,0,1573,928),5521=>array(77,-14,1275,741),5522=>array(77,-14,1289,928),5523=>array(77,-14,1526,741),5524=>array(77,-14,1526,928),5525=>array(77,335,795,741),5526=>array(77,335,1220,741),5536=>array(16,0,939,709),5537=>array(16,0,939,709),5538=>array(-8,-242,916,468),5539=>array(-8,-242,916,667),5540=>array(66,-242,910,468),5541=>array(66,-242,910,667),5542=>array(74,344,606,734),5543=>array(62,0,739,729),5544=>array(-49,0,697,729),5545=>array(-49,0,697,928),5546=>array(79,0,825,729),5547=>array(79,0,825,928),5548=>array(37,0,714,729),5549=>array(37,0,714,928),5550=>array(36,326,450,734),5551=>array(22,-14,686,729),5598=>array(21,0,782,729),5601=>array(48,0,809,729),5702=>array(20,326,473,734),5703=>array(20,240,473,820),5742=>array(-20,0,427,306),5743=>array(74,0,1169,743),5744=>array(77,0,1522,743),5745=>array(77,0,1999,743),5746=>array(77,0,1999,928),5747=>array(77,-14,1701,741),5748=>array(77,-14,1672,928),5749=>array(77,-14,1952,741),5750=>array(77,-14,1952,928),7424=>array(-38,0,584,547),7425=>array(-53,0,800,547),7426=>array(42,-14,1021,560),7427=>array(-9,0,565,547),7428=>array(37,-14,581,560),7429=>array(31,-1,614,547),7430=>array(11,-1,611,547),7431=>array(39,0,526,547),7432=>array(27,-14,516,560),7433=>array(10,-213,333,547),7434=>array(-4,-14,471,547),7435=>array(31,0,716,547),7436=>array(-26,0,473,547),7437=>array(28,0,784,547),7438=>array(31,0,670,547),7439=>array(36,-14,651,560),7440=>array(-7,-14,537,560),7441=>array(42,-27,617,573),7442=>array(20,31,603,515),7443=>array(44,-28,619,579),7444=>array(42,-14,1046,560),7446=>array(15,273,616,560),7447=>array(72,-14,673,273),7448=>array(-2,0,533,547),7449=>array(-32,0,613,547),7450=>array(71,0,613,547),7451=>array(34,0,626,547),7452=>array(75,-14,662,547),7453=>array(32,10,685,560),7454=>array(39,11,896,561),7455=>array(-59,-238,715,560),7456=>array(63,0,678,547),7457=>array(87,0,927,547),7458=>array(-9,0,586,547),7459=>array(19,-14,588,547),7462=>array(31,0,552,547),7463=>array(-38,0,584,547),7464=>array(31,0,660,547),7465=>array(-2,0,533,547),7466=>array(98,0,751,547),7467=>array(2,0,702,547),7468=>array(-37,326,445,734),7469=>array(-40,326,670,734),7470=>array(18,326,436,734),7472=>array(18,326,490,734),7473=>array(18,326,417,734),7474=>array(18,326,424,734),7475=>array(31,318,489,742),7476=>array(18,326,509,734),7477=>array(18,326,216,734),7478=>array(-86,214,227,734),7479=>array(18,326,524,734),7480=>array(18,326,360,734),7481=>array(18,326,608,734),7482=>array(18,326,509,734),7483=>array(18,326,509,734),7484=>array(31,318,504,742),7485=>array(21,318,480,742),7486=>array(18,326,450,734),7487=>array(18,326,433,734),7488=>array(27,326,466,734),7489=>array(50,318,494,734),7490=>array(58,326,715,734),7491=>array(37,318,411,640),7492=>array(48,318,415,640),7493=>array(53,318,457,640),7494=>array(53,318,669,640),7495=>array(20,318,427,751),7496=>array(48,318,481,751),7497=>array(49,318,429,640),7498=>array(53,318,423,640),7499=>array(39,318,347,640),7500=>array(37,318,345,640),7501=>array(38,205,455,639),7502=>array(7,207,210,632),7503=>array(20,326,451,751),7504=>array(21,326,621,640),7505=>array(32,205,424,640),7506=>array(49,318,436,640),7507=>array(22,318,357,640),7508=>array(108,479,487,640),7509=>array(108,318,487,479),7510=>array(-6,209,427,640),7511=>array(72,326,365,719),7512=>array(42,318,433,632),7513=>array(55,332,466,640),7514=>array(47,318,642,632),7515=>array(83,326,471,632),7517=>array(-0,209,414,759),7518=>array(39,209,461,632),7519=>array(16,318,395,756),7520=>array(52,209,468,635),7521=>array(-25,209,432,632),7522=>array(12,0,205,425),7523=>array(23,0,344,313),7524=>array(42,-8,433,306),7525=>array(83,0,471,306),7526=>array(-0,-117,414,433),7527=>array(39,-117,461,306),7528=>array(-0,-117,427,314),7529=>array(52,-117,468,309),7530=>array(-25,-117,432,306),7543=>array(11,-216,673,559),7544=>array(18,326,509,734),7547=>array(31,0,515,547),7549=>array(-10,-208,753,560),7557=>array(84,-216,458,760),7579=>array(23,318,423,640),7580=>array(53,318,385,640),7581=>array(56,288,388,640),7582=>array(42,318,432,751),7583=>array(25,318,337,640),7584=>array(58,326,362,751),7585=>array(12,205,288,632),7586=>array(57,205,464,632),7587=>array(58,207,441,632),7588=>array(35,326,283,751),7589=>array(48,326,208,632),7590=>array(23,326,321,632),7591=>array(23,326,321,632),7592=>array(17,205,376,751),7593=>array(23,205,229,751),7594=>array(23,205,258,751),7595=>array(23,326,300,632),7596=>array(35,205,625,640),7597=>array(58,209,648,632),7598=>array(11,205,523,640),7599=>array(35,205,476,640),7600=>array(23,326,422,632),7601=>array(53,318,432,640),7602=>array(53,209,485,751),7603=>array(41,205,382,640),7604=>array(0,205,393,751),7605=>array(73,205,365,719),7606=>array(47,318,532,632),7607=>array(54,298,471,632),7608=>array(47,318,413,632),7609=>array(48,326,395,632),7610=>array(23,326,416,632),7611=>array(23,326,391,632),7612=>array(35,205,439,632),7613=>array(27,288,403,632),7614=>array(16,206,404,632),7615=>array(53,320,370,756),7620=>array(-483,616,-19,800),7621=>array(-451,616,-35,800),7622=>array(-467,616,-51,800),7623=>array(-483,616,-19,800),7624=>array(-495,616,-7,800),7625=>array(-531,616,29,800),7680=>array(-65,-240,691,729),7681=>array(17,-240,611,560),7682=>array(21,0,699,927),7683=>array(31,-14,677,941),7684=>array(21,-212,699,729),7685=>array(31,-212,677,760),7686=>array(21,-185,699,729),7687=>array(31,-185,677,760),7688=>array(36,-196,724,927),7689=>array(37,-196,581,800),7690=>array(21,0,786,927),7691=>array(36,-14,757,941),7692=>array(21,-212,786,729),7693=>array(36,-212,724,760),7694=>array(21,-185,786,729),7695=>array(36,-185,724,760),7696=>array(21,-194,786,729),7697=>array(34,-196,724,760),7698=>array(21,-240,786,729),7699=>array(36,-240,724,760),7700=>array(21,0,670,1057),7701=>array(36,-14,640,898),7702=>array(21,0,670,1057),7703=>array(36,-14,640,900),7704=>array(44,-203,693,729),7705=>array(36,-203,640,560),7706=>array(21,-221,670,729),7707=>array(36,-221,640,560),7708=>array(21,-196,670,927),7709=>array(36,-196,640,783),7710=>array(21,0,670,928),7711=>array(50,0,540,941),7712=>array(36,-14,778,899),7713=>array(20,-216,682,760),7714=>array(21,0,816,928),7715=>array(31,0,654,941),7716=>array(21,-212,816,729),7717=>array(31,-212,654,760),7718=>array(21,0,816,927),7719=>array(31,0,654,927),7720=>array(-61,-196,816,729),7721=>array(-43,-196,654,760),7722=>array(21,-239,816,729),7723=>array(31,-239,654,760),7724=>array(-108,-221,351,729),7725=>array(-108,-221,354,760),7726=>array(21,0,511,1057),7727=>array(31,0,477,903),7728=>array(21,0,837,927),7729=>array(31,0,716,982),7730=>array(21,-212,837,729),7731=>array(31,-212,716,760),7732=>array(21,-185,837,729),7733=>array(31,-185,716,760),7734=>array(21,-212,566,729),7735=>array(10,-212,354,760),7736=>array(21,-212,566,942),7737=>array(10,-212,450,914),7738=>array(21,-185,566,729),7739=>array(-68,-185,354,760),7740=>array(21,-240,566,729),7741=>array(-113,-240,354,760),7742=>array(21,0,974,927),7743=>array(31,0,984,800),7744=>array(21,0,974,928),7745=>array(31,0,984,759),7746=>array(21,-212,974,729),7747=>array(31,-212,984,560),7748=>array(21,0,816,927),7749=>array(31,0,654,759),7750=>array(21,-212,816,729),7751=>array(31,-212,654,560),7752=>array(21,-185,816,729),7753=>array(31,-185,654,560),7754=>array(21,-240,816,729),7755=>array(31,-240,654,560),7756=>array(36,-14,814,1057),7757=>array(36,-14,651,917),7758=>array(36,-14,814,1061),7759=>array(36,-14,651,900),7760=>array(36,-14,814,1057),7761=>array(36,-14,651,898),7762=>array(36,-14,814,1057),7763=>array(36,-14,651,900),7764=>array(21,0,719,927),7765=>array(-10,-208,677,800),7766=>array(21,0,719,928),7767=>array(-10,-208,677,759),7768=>array(21,0,685,928),7769=>array(31,0,545,759),7770=>array(21,-212,685,729),7771=>array(10,-212,545,560),7772=>array(21,-212,685,914),7773=>array(10,-212,545,759),7774=>array(21,-185,685,729),7775=>array(-69,-185,545,560),7776=>array(15,-14,665,928),7777=>array(10,-14,560,759),7778=>array(15,-212,665,742),7779=>array(10,-212,560,560),7780=>array(15,-14,719,928),7781=>array(10,-14,682,816),7782=>array(15,-14,690,1053),7783=>array(10,-14,605,875),7784=>array(15,-212,665,928),7785=>array(10,-212,560,762),7786=>array(48,0,748,928),7787=>array(43,0,509,941),7788=>array(48,-212,748,729),7789=>array(43,-212,509,702),7790=>array(48,-185,748,729),7791=>array(27,-185,509,702),7792=>array(38,-240,748,729),7793=>array(-20,-240,509,702),7794=>array(68,-212,791,729),7795=>array(60,-212,681,547),7796=>array(68,-221,791,729),7797=>array(60,-221,681,547),7798=>array(68,-203,791,729),7799=>array(60,-203,681,547),7800=>array(68,-14,791,1057),7801=>array(60,-14,681,917),7802=>array(68,-14,791,1043),7803=>array(60,-14,681,885),7804=>array(76,0,840,928),7805=>array(63,0,678,778),7806=>array(76,-212,840,729),7807=>array(63,-212,678,547),7808=>array(107,0,1143,931),7809=>array(87,0,927,803),7810=>array(107,0,1143,931),7811=>array(87,0,927,803),7812=>array(107,0,1143,927),7813=>array(87,0,927,774),7814=>array(107,0,1143,927),7815=>array(87,0,927,759),7816=>array(107,-212,1143,729),7817=>array(87,-212,927,547),7818=>array(-51,0,812,927),7819=>array(-41,0,671,759),7820=>array(-51,0,812,927),7821=>array(-41,0,671,774),7822=>array(63,0,809,928),7823=>array(0,-216,687,759),7824=>array(-26,0,740,927),7825=>array(-9,0,586,800),7826=>array(-26,-212,740,729),7827=>array(-9,-212,586,547),7828=>array(-26,-185,740,729),7829=>array(-9,-185,586,547),7830=>array(31,-185,654,760),7831=>array(43,0,509,927),7832=>array(87,0,927,883),7833=>array(0,-216,687,883),7834=>array(17,-14,825,760),7835=>array(50,0,540,941),7836=>array(-39,0,518,760),7837=>array(17,0,518,760),7838=>array(38,-14,808,743),7839=>array(16,-14,634,768),7840=>array(-65,-212,691,729),7841=>array(17,-212,611,560),7842=>array(-65,0,691,1025),7843=>array(17,-14,611,844),7844=>array(-65,0,853,1057),7845=>array(17,-14,795,876),7846=>array(-65,0,759,1057),7847=>array(17,-14,704,876),7848=>array(-65,0,840,1093),7849=>array(17,-14,773,913),7850=>array(-65,0,691,1068),7851=>array(17,-14,631,888),7852=>array(-65,-212,691,927),7853=>array(17,-212,611,800),7854=>array(-65,0,702,1057),7855=>array(17,-14,646,889),7856=>array(-65,0,691,1057),7857=>array(17,-14,611,889),7858=>array(-65,0,691,1121),7859=>array(17,-14,611,953),7860=>array(-65,0,693,1068),7861=>array(17,-14,630,900),7862=>array(-65,-212,691,936),7863=>array(17,-212,611,772),7864=>array(21,-212,670,729),7865=>array(36,-212,640,560),7866=>array(21,0,670,1025),7867=>array(36,-14,640,844),7868=>array(21,0,670,928),7869=>array(36,-14,640,778),7870=>array(21,0,805,1057),7871=>array(36,-14,814,876),7872=>array(21,0,772,1057),7873=>array(36,-14,721,876),7874=>array(21,0,799,1093),7875=>array(36,-14,797,913),7876=>array(21,0,670,1068),7877=>array(36,-14,648,888),7878=>array(21,-212,670,927),7879=>array(36,-212,640,800),7880=>array(21,0,417,1025),7881=>array(31,0,395,844),7882=>array(6,-212,351,729),7883=>array(10,-212,354,760),7884=>array(36,-212,814,742),7885=>array(36,-212,651,560),7886=>array(36,-14,814,1025),7887=>array(36,-14,651,844),7888=>array(36,-14,884,1057),7889=>array(36,-14,815,876),7890=>array(36,-14,814,1057),7891=>array(36,-14,724,876),7892=>array(36,-14,890,1093),7893=>array(36,-14,802,913),7894=>array(36,-14,814,1068),7895=>array(36,-14,655,888),7896=>array(36,-212,814,927),7897=>array(36,-212,651,800),7898=>array(39,-14,907,927),7899=>array(40,-14,771,800),7900=>array(39,-14,907,927),7901=>array(40,-14,771,798),7902=>array(39,-14,907,1025),7903=>array(40,-14,771,844),7904=>array(39,-14,907,928),7905=>array(40,-14,771,778),7906=>array(39,-212,907,760),7907=>array(40,-212,771,570),7908=>array(68,-212,791,729),7909=>array(60,-212,681,547),7910=>array(68,-14,791,1025),7911=>array(60,-14,681,844),7912=>array(67,-14,938,927),7913=>array(57,-14,795,799),7914=>array(67,-14,938,927),7915=>array(57,-14,795,800),7916=>array(67,-14,938,1025),7917=>array(57,-14,795,844),7918=>array(67,-14,938,928),7919=>array(57,-14,795,778),7920=>array(67,-212,938,761),7921=>array(57,-212,795,570),7922=>array(63,0,809,931),7923=>array(0,-216,687,803),7924=>array(63,-212,809,729),7925=>array(0,-216,687,547),7926=>array(63,0,809,1025),7927=>array(0,-216,687,844),7928=>array(63,0,809,928),7929=>array(0,-216,687,778),7930=>array(21,0,882,729),7931=>array(10,0,698,760),7936=>array(38,-12,692,785),7937=>array(38,-12,692,785),7938=>array(38,-12,692,800),7939=>array(38,-12,692,800),7940=>array(38,-12,692,800),7941=>array(38,-12,692,800),7942=>array(38,-12,692,928),7943=>array(38,-12,692,928),7944=>array(-65,0,691,785),7945=>array(-65,0,691,785),7946=>array(29,0,958,800),7947=>array(69,0,960,800),7948=>array(29,0,852,800),7949=>array(67,0,880,800),7950=>array(-3,0,752,928),7951=>array(20,0,776,928),7952=>array(27,-14,520,785),7953=>array(27,-14,520,785),7954=>array(27,-14,547,800),7955=>array(27,-14,541,800),7956=>array(27,-14,616,800),7957=>array(27,-14,601,800),7960=>array(31,0,778,785),7961=>array(69,0,781,785),7962=>array(29,0,1086,800),7963=>array(69,0,1083,800),7964=>array(29,0,1010,800),7965=>array(67,0,1039,800),7968=>array(50,-208,664,785),7969=>array(50,-208,664,785),7970=>array(50,-208,664,800),7971=>array(50,-208,664,800),7972=>array(50,-208,664,800),7973=>array(50,-208,684,800),7974=>array(50,-208,664,928),7975=>array(50,-208,664,928),7976=>array(31,0,924,785),7977=>array(69,0,930,785),7978=>array(29,0,1229,800),7979=>array(69,0,1229,800),7980=>array(29,0,1159,800),7981=>array(67,0,1185,800),7982=>array(98,0,1033,928),7983=>array(97,0,1042,928),7984=>array(42,-19,313,785),7985=>array(42,-19,313,785),7986=>array(0,-19,457,800),7987=>array(7,-19,426,800),7988=>array(42,-19,531,800),7989=>array(42,-19,523,800),7990=>array(42,-19,458,928),7991=>array(42,-19,455,928),7992=>array(31,0,462,785),7993=>array(69,0,468,785),7994=>array(29,0,756,800),7995=>array(69,0,764,800),7996=>array(29,0,691,800),7997=>array(67,0,717,800),7998=>array(98,0,583,928),7999=>array(97,0,583,928),8000=>array(36,-14,651,785),8001=>array(36,-14,651,785),8002=>array(36,-14,651,800),8003=>array(36,-14,651,800),8004=>array(36,-14,667,800),8005=>array(36,-14,680,800),8008=>array(31,-14,855,785),8009=>array(69,-14,897,785),8010=>array(29,-14,1185,800),8011=>array(69,-14,1188,800),8012=>array(29,-14,1017,800),8013=>array(67,-14,1046,800),8016=>array(54,-10,645,785),8017=>array(54,-10,645,785),8018=>array(54,-10,645,800),8019=>array(54,-10,645,800),8020=>array(54,-10,677,800),8021=>array(54,-10,683,800),8022=>array(54,-10,645,928),8023=>array(54,-10,645,928),8025=>array(69,0,1015,785),8027=>array(69,0,1269,800),8029=>array(67,0,1284,800),8031=>array(97,0,1134,928),8032=>array(33,-13,834,785),8033=>array(33,-13,834,785),8034=>array(33,-13,834,800),8035=>array(33,-13,834,800),8036=>array(33,-13,834,800),8037=>array(33,-13,834,800),8038=>array(33,-13,834,928),8039=>array(33,-13,834,928),8040=>array(13,0,870,785),8041=>array(63,0,920,785),8042=>array(29,0,1208,800),8043=>array(69,-3,1213,800),8044=>array(29,0,1037,800),8045=>array(67,0,1066,800),8046=>array(98,0,989,928),8047=>array(97,0,1037,928),8048=>array(38,-12,692,800),8049=>array(38,-12,692,800),8050=>array(27,-14,520,800),8051=>array(27,-14,567,800),8052=>array(50,-208,664,800),8053=>array(50,-208,664,800),8054=>array(42,-19,313,800),8055=>array(42,-19,436,800),8056=>array(36,-14,651,800),8057=>array(36,-14,651,800),8058=>array(54,-10,645,800),8059=>array(54,-10,645,800),8060=>array(33,-13,834,800),8061=>array(33,-13,834,800),8064=>array(38,-208,692,785),8065=>array(38,-208,692,785),8066=>array(38,-208,692,800),8067=>array(38,-208,692,800),8068=>array(38,-208,692,800),8069=>array(38,-208,692,800),8070=>array(38,-208,692,928),8071=>array(38,-208,692,928),8072=>array(-65,-208,691,785),8073=>array(-65,-208,691,785),8074=>array(29,-208,958,800),8075=>array(69,-208,960,800),8076=>array(29,-208,852,800),8077=>array(67,-208,880,800),8078=>array(-3,-208,752,928),8079=>array(20,-208,776,928),8080=>array(50,-208,664,785),8081=>array(50,-208,664,785),8082=>array(50,-208,664,800),8083=>array(50,-208,664,800),8084=>array(50,-208,664,800),8085=>array(50,-208,684,800),8086=>array(50,-208,664,928),8087=>array(50,-208,664,928),8088=>array(31,-208,924,785),8089=>array(69,-208,930,785),8090=>array(29,-208,1229,800),8091=>array(69,-208,1229,800),8092=>array(29,-208,1159,800),8093=>array(67,-208,1185,800),8094=>array(98,-208,1033,928),8095=>array(97,-208,1042,928),8096=>array(33,-208,834,785),8097=>array(33,-208,834,785),8098=>array(33,-208,834,800),8099=>array(33,-208,834,800),8100=>array(33,-208,834,800),8101=>array(33,-208,834,800),8102=>array(33,-208,834,928),8103=>array(33,-208,834,928),8104=>array(13,-208,870,785),8105=>array(63,-208,920,785),8106=>array(29,-208,1208,800),8107=>array(69,-208,1213,800),8108=>array(29,-208,1037,800),8109=>array(67,-208,1066,800),8110=>array(98,-208,989,928),8111=>array(97,-208,1037,928),8112=>array(38,-12,692,784),8113=>array(38,-12,692,760),8114=>array(38,-208,692,800),8115=>array(38,-208,692,559),8116=>array(38,-208,692,800),8118=>array(38,-12,692,778),8119=>array(38,-208,692,778),8120=>array(-65,0,691,927),8121=>array(-65,0,691,914),8122=>array(38,0,793,800),8123=>array(-42,0,714,800),8124=>array(-65,-208,691,729),8125=>array(210,595,381,785),8126=>array(132,-208,253,-45),8127=>array(210,595,381,785),8128=>array(133,638,500,778),8129=>array(152,654,540,928),8130=>array(50,-208,664,800),8131=>array(50,-208,664,560),8132=>array(50,-208,664,800),8134=>array(50,-208,664,778),8135=>array(50,-208,664,778),8136=>array(84,0,916,800),8137=>array(22,0,831,800),8138=>array(84,0,1059,800),8139=>array(28,0,986,800),8140=>array(21,-208,816,729),8141=>array(61,595,518,800),8142=>array(90,595,563,800),8143=>array(174,595,540,928),8144=>array(42,-19,413,784),8145=>array(42,-19,405,760),8146=>array(42,-19,402,978),8147=>array(50,-19,516,978),8150=>array(42,-19,424,778),8151=>array(42,-19,454,928),8152=>array(21,0,424,927),8153=>array(21,0,417,914),8154=>array(84,0,600,800),8155=>array(25,0,521,800),8157=>array(105,595,523,800),8158=>array(111,595,574,800),8159=>array(174,595,540,928),8160=>array(54,-10,645,784),8161=>array(54,-10,645,760),8162=>array(54,-10,645,978),8163=>array(54,-10,660,978),8164=>array(9,-208,699,785),8165=>array(9,-208,699,785),8166=>array(54,-10,645,778),8167=>array(54,-10,645,928),8168=>array(63,0,809,927),8169=>array(63,0,809,914),8170=>array(84,0,1105,800),8171=>array(20,0,1067,800),8172=>array(69,0,825,785),8173=>array(152,654,484,978),8174=>array(152,654,589,978),8175=>array(131,616,371,800),8178=>array(33,-208,834,800),8179=>array(33,-208,834,547),8180=>array(33,-208,834,800),8182=>array(33,-13,834,778),8183=>array(33,-208,834,778),8184=>array(84,-14,1029,800),8185=>array(28,-14,851,800),8186=>array(84,0,1046,800),8187=>array(-1,0,855,800),8188=>array(-45,-208,812,742),8189=>array(227,616,539,800),8190=>array(249,595,392,785),8208=>array(25,217,360,359),8209=>array(25,217,360,359),8210=>array(24,211,637,337),8211=>array(24,211,441,337),8212=>array(24,211,941,337),8213=>array(-30,211,995,337),8214=>array(127,-236,399,764),8215=>array(-10,-236,510,-9),8216=>array(113,418,389,729),8217=>array(73,418,349,729),8218=>array(-34,-122,242,189),8219=>array(107,418,302,729),8220=>array(113,418,652,729),8221=>array(73,418,612,729),8222=>array(-34,-122,505,189),8223=>array(95,418,535,729),8224=>array(38,-96,504,729),8225=>array(-28,-96,504,729),8226=>array(144,196,495,547),8227=>array(144,157,534,586),8228=>array(46,0,259,189),8229=>array(46,0,569,189),8230=>array(46,0,879,189),8231=>array(124,304,282,424),8240=>array(55,-14,1401,742),8241=>array(55,-14,1855,742),8242=>array(2,547,257,729),8243=>array(2,547,440,729),8244=>array(2,547,624,729),8245=>array(161,547,346,729),8246=>array(161,547,532,729),8247=>array(161,547,712,729),8248=>array(101,-238,632,29),8249=>array(61,67,355,519),8250=>array(38,66,331,519),8251=>array(72,0,900,829),8252=>array(-2,0,629,729),8253=>array(98,0,550,742),8254=>array(-10,663,510,755),8255=>array(-31,-237,859,-79),8256=>array(-31,769,859,927),8257=>array(-52,-235,296,231),8258=>array(20,-37,1003,832),8259=>array(102,188,428,325),8260=>array(-278,-14,445,742),8261=>array(-10,-132,466,760),8262=>array(-28,-132,448,760),8263=>array(69,0,1035,742),8264=>array(104,0,831,742),8265=>array(-2,0,799,742),8266=>array(87,-125,530,546),8267=>array(57,-96,666,729),8268=>array(75,189,425,541),8269=>array(75,189,425,541),8270=>array(20,-37,503,427),8271=>array(56,-142,327,547),8272=>array(-31,-237,859,927),8273=>array(68,-3,455,830),8274=>array(3,-93,548,729),8275=>array(49,212,951,415),8276=>array(-31,-351,859,-192),8277=>array(142,98,694,631),8278=>array(95,93,628,645),8279=>array(2,547,807,729),8280=>array(61,21,776,708),8281=>array(80,71,768,657),8282=>array(31,0,350,729),8283=>array(30,-170,839,898),8284=>array(43,0,794,729),8285=>array(31,0,339,683),8286=>array(31,0,339,683),8304=>array(29,319,398,742),8305=>array(12,326,205,751),8308=>array(3,326,388,734),8309=>array(12,319,393,734),8310=>array(37,319,403,742),8311=>array(51,326,418,734),8312=>array(20,319,400,742),8313=>array(23,319,389,742),8314=>array(67,326,461,677),8315=>array(67,469,461,534),8316=>array(67,407,461,596),8317=>array(48,252,282,751),8318=>array(-1,252,232,751),8319=>array(23,326,412,640),8320=>array(29,-7,398,416),8321=>array(67,0,395,408),8322=>array(45,0,431,416),8323=>array(40,-7,427,416),8324=>array(3,0,388,408),8325=>array(12,-7,393,408),8326=>array(37,-7,403,416),8327=>array(51,0,418,408),8328=>array(20,-7,400,416),8329=>array(23,-7,389,416),8330=>array(67,0,461,351),8331=>array(67,143,461,208),8332=>array(67,81,461,270),8333=>array(48,-74,282,425),8334=>array(-1,-74,232,425),8336=>array(37,-8,411,313),8337=>array(49,-8,429,313),8338=>array(49,-8,436,313),8339=>array(-20,0,427,306),8340=>array(53,-8,423,313),8341=>array(12,0,401,425),8342=>array(20,0,451,425),8343=>array(12,0,207,425),8344=>array(21,0,621,313),8345=>array(23,0,412,313),8346=>array(-6,-117,427,313),8347=>array(11,-8,355,313),8348=>array(72,0,365,393),8352=>array(53,0,919,729),8353=>array(36,-44,693,778),8354=>array(36,-14,697,742),8355=>array(3,0,690,729),8356=>array(7,0,691,742),8357=>array(30,-93,975,640),8358=>array(14,0,823,729),8359=>array(21,-14,1453,729),8360=>array(22,-14,1154,729),8361=>array(23,0,1143,729),8362=>array(-32,-14,870,729),8363=>array(36,-185,817,760),8364=>array(-41,-14,687,742),8365=>array(12,0,735,729),8366=>array(55,0,754,729),8367=>array(37,-223,1220,742),8368=>array(1,-14,660,742),8369=>array(21,0,697,729),8370=>array(38,-81,682,809),8371=>array(-66,0,685,729),8372=>array(16,-14,844,742),8373=>array(76,-147,688,760),8376=>array(18,0,754,729),8377=>array(61,0,718,729),8378=>array(-10,0,745,729),8400=>array(-510,628,-26,760),8401=>array(-483,628,-11,760),8406=>array(-470,560,-20,760),8407=>array(-477,560,-26,760),8411=>array(-335,654,190,774),8412=>array(-432,654,287,774),8417=>array(-470,560,-26,760),8448=>array(15,-23,1106,752),8449=>array(15,-23,1106,752),8450=>array(50,-14,670,742),8451=>array(87,-14,1201,749),8452=>array(64,0,832,729),8453=>array(25,-24,1097,752),8454=>array(25,-24,1169,752),8455=>array(37,-14,652,742),8456=>array(1,-146,693,611),8457=>array(87,0,999,749),8459=>array(36,-14,1063,746),8460=>array(6,-125,809,747),8461=>array(100,0,788,729),8462=>array(31,0,654,760),8463=>array(10,0,625,760),8464=>array(36,-14,533,742),8465=>array(52,-14,659,743),8466=>array(37,-14,787,742),8467=>array(-14,-14,401,742),8468=>array(12,-14,935,760),8469=>array(92,0,745,729),8470=>array(-37,0,1156,729),8471=>array(138,0,862,725),8472=>array(54,-221,658,495),8473=>array(92,0,709,729),8474=>array(50,-146,800,742),8475=>array(31,-14,904,768),8476=>array(41,-14,803,743),8477=>array(98,0,793,729),8478=>array(53,0,844,729),8479=>array(53,-112,666,887),8480=>array(126,443,770,730),8481=>array(40,0,1223,547),8482=>array(144,447,790,729),8483=>array(22,-113,877,885),8484=>array(45,0,709,729),8485=>array(-11,-230,648,777),8486=>array(-45,0,812,742),8487=>array(42,-14,813,723),8488=>array(-5,-159,670,729),8489=>array(36,0,306,566),8490=>array(21,0,837,729),8491=>array(-65,0,691,928),8492=>array(41,-1,853,772),8493=>array(63,-19,767,742),8494=>array(61,-12,793,647),8495=>array(41,-14,591,533),8496=>array(72,-14,668,742),8497=>array(37,-14,860,773),8498=>array(21,0,670,729),8499=>array(38,-18,1156,751),8500=>array(29,-12,436,420),8501=>array(50,-14,761,742),8502=>array(19,-14,687,742),8503=>array(31,-35,439,742),8504=>array(63,-41,633,742),8505=>array(34,0,355,760),8506=>array(44,-27,994,723),8507=>array(0,0,1384,547),8508=>array(34,-14,765,547),8509=>array(-40,-208,700,561),8510=>array(92,0,627,729),8511=>array(92,0,771,729),8512=>array(12,-192,820,719),8513=>array(5,-14,747,742),8514=>array(9,0,554,729),8515=>array(11,0,671,729),8516=>array(2,0,749,729),8517=>array(21,0,786,729),8518=>array(34,-14,752,760),8519=>array(33,-14,635,560),8520=>array(15,0,353,760),8521=>array(-143,-216,354,760),8523=>array(60,-14,838,742),8526=>array(1,0,523,547),8528=>array(56,-14,1023,742),8529=>array(56,-14,994,742),8530=>array(56,-14,1441,742),8531=>array(56,-14,1032,742),8532=>array(45,-14,1032,742),8533=>array(56,-14,998,742),8534=>array(45,-14,998,742),8535=>array(40,-14,998,742),8536=>array(3,-14,998,742),8537=>array(56,-14,1008,742),8538=>array(12,-14,1008,742),8539=>array(56,-14,1005,742),8540=>array(40,-14,1005,742),8541=>array(12,-14,1005,742),8542=>array(51,-14,1005,742),8543=>array(56,-14,893,742),8544=>array(21,0,351,729),8545=>array(21,0,638,729),8546=>array(21,0,924,729),8547=>array(21,0,1165,729),8548=>array(76,0,840,729),8549=>array(76,0,1078,729),8550=>array(76,0,1365,729),8551=>array(76,0,1651,729),8552=>array(21,0,1162,729),8553=>array(-51,0,812,729),8554=>array(-51,0,1099,729),8555=>array(-51,0,1386,729),8556=>array(21,0,566,729),8557=>array(36,-14,724,742),8558=>array(21,0,786,729),8559=>array(21,0,974,729),8560=>array(31,0,354,760),8561=>array(31,0,619,760),8562=>array(31,0,883,760),8563=>array(31,0,987,760),8564=>array(63,0,678,547),8565=>array(63,0,973,760),8566=>array(63,0,1238,760),8567=>array(63,0,1502,760),8568=>array(31,0,995,760),8569=>array(-41,0,671,547),8570=>array(-41,0,980,760),8571=>array(-41,0,1245,760),8572=>array(31,0,354,760),8573=>array(37,-14,581,560),8574=>array(36,-14,724,760),8575=>array(31,0,984,560),8576=>array(48,0,1240,729),8577=>array(21,0,782,729),8578=>array(48,0,1240,729),8579=>array(-13,-14,675,742),8580=>array(-7,-14,537,560),8581=>array(68,-208,752,742),8585=>array(29,-14,1032,742),8592=>array(49,87,781,540),8593=>array(193,0,646,732),8594=>array(57,87,789,540),8595=>array(193,-3,646,729),8596=>array(49,87,789,540),8597=>array(193,-3,646,732),8598=>array(136,66,720,650),8599=>array(136,66,720,650),8600=>array(136,66,720,650),8601=>array(136,66,720,650),8602=>array(49,87,781,540),8603=>array(57,87,789,540),8604=>array(13,84,833,431),8605=>array(5,84,825,431),8606=>array(49,87,781,540),8607=>array(189,0,641,732),8608=>array(57,87,789,540),8609=>array(194,-3,646,729),8610=>array(49,87,793,540),8611=>array(45,87,789,540),8612=>array(49,87,781,540),8613=>array(193,0,646,732),8614=>array(57,87,789,540),8615=>array(193,0,646,732),8616=>array(193,0,646,732),8617=>array(49,87,781,565),8618=>array(57,87,789,565),8619=>array(49,87,781,565),8620=>array(57,87,789,565),8621=>array(49,87,789,540),8622=>array(49,86,789,541),8623=>array(123,-4,714,733),8624=>array(169,0,646,755),8625=>array(192,0,669,755),8626=>array(169,-26,646,729),8627=>array(192,-26,669,729),8628=>array(233,-3,772,621),8629=>array(49,87,673,626),8630=>array(11,198,816,685),8631=>array(22,198,828,685),8632=>array(118,13,788,729),8633=>array(49,-108,789,735),8634=>array(86,45,767,691),8635=>array(71,45,751,691),8636=>array(49,255,781,540),8637=>array(49,87,781,372),8638=>array(361,0,646,732),8639=>array(193,0,478,732),8640=>array(57,255,789,540),8641=>array(57,87,789,372),8642=>array(361,0,646,732),8643=>array(193,0,478,732),8644=>array(49,-59,789,686),8645=>array(47,-3,792,732),8646=>array(49,-59,789,686),8647=>array(49,-59,781,686),8648=>array(46,0,792,732),8649=>array(57,-59,789,686),8650=>array(46,-3,792,729),8651=>array(49,-5,789,632),8652=>array(49,-5,789,632),8653=>array(49,87,781,540),8654=>array(49,87,789,540),8655=>array(57,87,789,540),8656=>array(49,87,781,540),8657=>array(193,0,645,732),8658=>array(57,87,789,540),8659=>array(193,-3,645,729),8660=>array(49,87,789,540),8661=>array(193,-8,645,732),8662=>array(132,-26,755,596),8663=>array(88,-26,711,597),8664=>array(88,16,711,639),8665=>array(132,16,755,639),8666=>array(49,87,781,540),8667=>array(57,87,789,540),8668=>array(44,87,776,540),8669=>array(57,87,789,540),8670=>array(193,0,646,732),8671=>array(193,-3,646,729),8672=>array(49,87,781,540),8673=>array(193,0,646,732),8674=>array(57,87,789,540),8675=>array(193,-3,646,729),8676=>array(49,87,781,540),8677=>array(57,87,789,540),8678=>array(27,46,781,581),8679=>array(151,0,687,754),8680=>array(35,46,789,581),8681=>array(151,-25,687,729),8682=>array(151,0,687,754),8683=>array(151,0,687,754),8684=>array(151,0,687,754),8685=>array(151,0,687,754),8686=>array(151,0,687,754),8687=>array(151,0,687,754),8688=>array(35,46,789,581),8689=>array(60,0,788,729),8690=>array(60,0,788,729),8691=>array(151,-25,687,754),8692=>array(57,87,789,540),8693=>array(47,-3,792,732),8694=>array(57,-223,789,850),8695=>array(49,87,781,540),8696=>array(57,87,789,540),8697=>array(49,87,789,540),8698=>array(49,87,781,540),8699=>array(57,87,789,540),8700=>array(49,87,789,540),8701=>array(27,96,781,531),8702=>array(57,96,811,531),8703=>array(27,96,811,531),8704=>array(5,0,769,729),8705=>array(48,-14,629,742),8706=>array(29,-14,515,674),8707=>array(92,0,610,729),8708=>array(92,-46,610,775),8709=>array(47,-15,810,715),8710=>array(0,0,697,719),8711=>array(0,0,697,719),8712=>array(73,-2,824,730),8713=>array(73,-46,824,775),8714=>array(106,58,644,568),8715=>array(73,-2,824,730),8716=>array(73,-46,824,775),8717=>array(106,58,644,568),8718=>array(98,0,539,553),8719=>array(73,-192,712,719),8720=>array(73,-193,712,718),8721=>array(20,-192,697,719),8722=>array(106,256,732,371),8723=>array(106,0,732,627),8724=>array(49,0,647,729),8725=>array(-96,-93,434,729),8726=>array(165,-49,530,772),8727=>array(118,0,720,626),8728=>array(150,151,475,477),8729=>array(102,253,278,442),8730=>array(37,-20,669,837),8731=>array(37,-20,669,933),8732=>array(36,-20,669,924),8733=>array(92,89,617,505),8734=>array(92,89,741,505),8735=>array(106,67,732,693),8736=>array(77,0,820,729),8737=>array(77,-44,820,729),8738=>array(116,-0,732,726),8739=>array(207,-207,322,773),8740=>array(48,-207,482,773),8741=>array(112,-207,417,773),8742=>array(48,-207,482,773),8743=>array(151,0,661,579),8744=>array(151,0,661,579),8745=>array(151,0,661,579),8746=>array(151,0,661,579),8747=>array(15,-227,548,754),8748=>array(15,-227,914,754),8749=>array(15,-227,1280,754),8750=>array(14,-227,548,754),8751=>array(38,-227,938,754),8752=>array(23,-227,1290,754),8753=>array(15,-227,616,754),8754=>array(14,-227,600,754),8755=>array(14,-227,588,754),8756=>array(60,78,637,647),8757=>array(60,78,637,647),8758=>array(59,79,235,647),8759=>array(60,78,637,647),8760=>array(106,256,732,631),8761=>array(106,45,800,584),8762=>array(106,-4,732,631),8763=>array(106,-34,732,660),8764=>array(106,212,732,415),8765=>array(106,212,732,415),8766=>array(65,131,772,497),8767=>array(106,42,732,584),8768=>array(85,0,289,626),8769=>array(106,76,732,551),8770=>array(106,110,732,482),8771=>array(106,144,732,517),8772=>array(106,0,732,637),8773=>array(106,37,732,628),8774=>array(106,-31,732,628),8775=>array(106,-86,732,726),8776=>array(106,110,732,517),8777=>array(106,8,732,614),8778=>array(106,37,732,628),8779=>array(106,-13,732,628),8780=>array(106,37,732,628),8781=>array(105,105,732,585),8782=>array(106,26,732,656),8783=>array(106,172,732,656),8784=>array(106,144,732,744),8785=>array(106,-117,732,743),8786=>array(105,-92,732,719),8787=>array(104,-92,731,719),8788=>array(98,102,965,520),8789=>array(96,102,966,520),8790=>array(106,144,732,482),8791=>array(106,144,732,839),8792=>array(106,144,732,704),8793=>array(106,144,732,840),8794=>array(106,144,732,840),8795=>array(106,144,732,959),8796=>array(106,144,732,952),8797=>array(106,144,732,762),8798=>array(106,144,732,786),8799=>array(106,144,732,903),8800=>array(106,-5,732,631),8801=>array(106,38,732,588),8802=>array(106,-69,732,695),8803=>array(106,-74,732,700),8804=>array(106,0,732,582),8805=>array(106,0,732,582),8806=>array(106,-106,732,617),8807=>array(106,-106,732,617),8808=>array(106,-185,732,617),8809=>array(106,-185,732,617),8810=>array(72,-34,974,660),8811=>array(72,-34,974,660),8812=>array(86,-132,414,759),8813=>array(105,-10,732,700),8814=>array(106,-4,732,690),8815=>array(106,-63,732,631),8816=>array(106,-112,732,645),8817=>array(106,-112,732,645),8818=>array(106,-84,732,582),8819=>array(106,-84,732,582),8820=>array(106,-112,732,645),8821=>array(106,-112,732,645),8822=>array(102,-119,732,678),8823=>array(102,-119,732,678),8824=>array(102,-221,732,779),8825=>array(102,-221,732,779),8826=>array(106,-55,732,681),8827=>array(106,-55,732,681),8828=>array(106,-177,732,684),8829=>array(106,-177,732,684),8830=>array(106,-132,732,684),8831=>array(106,-132,732,684),8832=>array(106,-89,732,781),8833=>array(106,-89,732,781),8834=>array(99,67,739,559),8835=>array(99,65,739,559),8836=>array(99,-96,739,726),8837=>array(99,-100,739,722),8838=>array(99,0,739,636),8839=>array(99,0,739,635),8840=>array(99,-124,739,759),8841=>array(99,-124,739,759),8842=>array(99,-97,739,636),8843=>array(99,-97,739,635),8844=>array(151,0,661,579),8845=>array(151,0,661,579),8846=>array(151,0,661,579),8847=>array(106,0,732,584),8848=>array(106,0,732,584),8849=>array(106,-115,732,667),8850=>array(106,-115,732,667),8851=>array(106,0,690,626),8852=>array(106,0,690,626),8853=>array(91,-14,747,643),8854=>array(91,-14,747,643),8855=>array(91,-14,747,643),8856=>array(91,-13,747,642),8857=>array(91,-14,747,643),8858=>array(91,-14,747,643),8859=>array(91,-14,747,643),8860=>array(91,-14,747,643),8861=>array(91,-14,747,643),8862=>array(77,-29,761,657),8863=>array(77,-29,761,657),8864=>array(77,-29,761,657),8865=>array(77,-29,761,657),8866=>array(85,0,829,705),8867=>array(85,0,829,705),8868=>array(85,0,829,705),8869=>array(85,0,829,705),8870=>array(85,0,457,705),8871=>array(85,0,457,705),8872=>array(85,0,829,705),8873=>array(85,0,829,705),8874=>array(85,0,829,705),8875=>array(85,0,829,705),8876=>array(85,-100,829,805),8877=>array(85,-100,829,805),8878=>array(85,-100,829,805),8879=>array(85,-100,829,805),8880=>array(106,-54,724,681),8881=>array(114,-54,732,681),8882=>array(106,-1,732,628),8883=>array(106,-1,732,628),8884=>array(106,-80,732,706),8885=>array(106,-80,732,706),8886=>array(60,151,940,477),8887=>array(60,151,940,477),8888=>array(60,151,778,477),8889=>array(43,-63,794,689),8890=>array(63,0,480,705),8891=>array(103,0,709,759),8892=>array(103,0,709,759),8893=>array(103,0,709,759),8894=>array(106,0,732,626),8895=>array(106,0,732,626),8896=>array(0,-192,843,719),8897=>array(0,-192,843,719),8898=>array(48,-192,794,719),8899=>array(48,-192,794,719),8900=>array(3,-233,491,807),8901=>array(102,253,278,442),8902=>array(83,112,543,549),8903=>array(106,-56,732,683),8904=>array(106,-48,894,674),8905=>array(106,-48,894,675),8906=>array(106,-48,894,675),8907=>array(106,-48,894,675),8908=>array(106,-48,894,675),8909=>array(106,144,732,517),8910=>array(49,0,763,579),8911=>array(49,0,763,579),8912=>array(93,-22,732,649),8913=>array(106,-22,745,649),8914=>array(83,0,755,639),8915=>array(83,-14,755,625),8916=>array(186,0,652,729),8917=>array(106,-100,732,729),8918=>array(106,30,732,597),8919=>array(106,30,732,597),8920=>array(72,-34,1350,660),8921=>array(72,-34,1350,660),8922=>array(106,-211,732,837),8923=>array(106,-211,732,837),8924=>array(106,0,732,582),8925=>array(106,0,732,582),8926=>array(106,-177,732,684),8927=>array(106,-177,732,684),8928=>array(106,-197,732,808),8929=>array(106,-263,732,742),8930=>array(106,-191,732,817),8931=>array(106,-191,732,817),8932=>array(106,-146,732,636),8933=>array(106,-146,732,636),8934=>array(106,-168,732,582),8935=>array(106,-168,732,582),8936=>array(106,-216,732,684),8937=>array(106,-216,732,684),8938=>array(106,-138,732,808),8939=>array(106,-138,732,808),8940=>array(106,-224,732,894),8941=>array(106,-224,732,894),8942=>array(412,-40,588,735),8943=>array(79,253,921,442),8944=>array(79,-40,921,735),8945=>array(79,-40,921,735),8946=>array(72,-2,1085,730),8947=>array(73,-2,824,730),8948=>array(106,58,644,568),8949=>array(73,-2,824,984),8950=>array(73,-2,824,919),8951=>array(106,58,644,741),8952=>array(73,-207,824,730),8953=>array(73,-2,824,730),8954=>array(72,-2,1085,730),8955=>array(73,-2,824,730),8956=>array(106,58,644,568),8957=>array(72,-2,824,919),8958=>array(106,58,644,741),8959=>array(106,0,791,732),8960=>array(31,-22,572,519),8961=>array(56,152,540,453),8962=>array(64,0,651,596),8963=>array(193,470,646,732),8964=>array(193,0,646,263),8965=>array(193,-12,646,423),8966=>array(193,-12,646,552),8967=>array(194,-42,443,802),8968=>array(-1,-132,476,760),8969=>array(118,-132,458,760),8970=>array(-1,-132,339,760),8971=>array(-19,-132,458,760),8972=>array(352,-77,759,331),8973=>array(49,-77,457,331),8974=>array(352,226,759,634),8975=>array(49,226,457,634),8976=>array(106,140,732,444),8977=>array(3,113,536,646),8984=>array(84,0,843,759),8985=>array(106,140,732,444),8988=>array(86,425,469,760),8989=>array(127,425,469,760),8990=>array(62,-126,403,208),8991=>array(41,-126,423,208),8992=>array(235,-250,586,926),8993=>array(22,-240,373,940),8996=>array(76,215,1076,575),8997=>array(76,0,1076,575),8998=>array(76,0,1414,760),8999=>array(76,0,1076,760),9000=>array(59,0,1385,729),9003=>array(0,0,1338,760),9004=>array(73,-91,800,748),9075=>array(78,-19,348,547),9076=>array(84,-208,671,562),9077=>array(43,-13,826,547),9082=>array(48,-13,645,559),9085=>array(1,-228,862,99),9095=>array(76,0,1100,743),9108=>array(17,0,856,727),9115=>array(63,-252,438,928),9116=>array(63,-252,205,940),9117=>array(63,-240,438,940),9118=>array(63,-252,438,928),9119=>array(295,-252,438,940),9120=>array(63,-240,438,940),9121=>array(63,-252,438,928),9122=>array(63,-252,205,940),9123=>array(63,-240,438,940),9124=>array(63,-252,438,928),9125=>array(295,-252,438,940),9126=>array(63,-240,438,940),9127=>array(306,-261,668,928),9128=>array(82,-247,444,934),9129=>array(306,-240,668,934),9130=>array(306,-256,444,934),9131=>array(82,-261,444,928),9132=>array(306,-247,668,934),9133=>array(82,-240,444,934),9134=>array(235,-250,373,940),9166=>array(27,46,781,729),9167=>array(91,0,854,596),9187=>array(73,-91,800,748),9189=>array(3,75,766,444),9192=>array(-5,-129,623,294),9250=>array(-34,-14,652,760),9251=>array(21,-228,672,99),9312=>array(59,-15,788,715),9313=>array(59,-15,788,715),9314=>array(59,-15,788,715),9315=>array(59,-15,788,715),9316=>array(59,-15,788,715),9317=>array(59,-15,788,715),9318=>array(59,-15,788,715),9319=>array(59,-15,788,715),9320=>array(59,-15,788,715),9321=>array(59,-15,788,715),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,750,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(3,260,766,645),9697=>array(3,-125,766,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(144,196,495,547),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9729=>array(51,-2,949,360),9730=>array(49,0,848,729),9731=>array(83,-0,813,927),9732=>array(64,0,833,880),9733=>array(65,-4,832,723),9734=>array(65,-4,832,723),9735=>array(83,2,490,729),9736=>array(83,0,813,731),9737=>array(83,0,813,730),9738=>array(61,0,828,727),9739=>array(61,0,828,723),9740=>array(61,-1,610,722),9741=>array(61,0,952,723),9742=>array(68,0,1177,729),9743=>array(71,0,1180,729),9744=>array(90,0,807,729),9745=>array(89,0,808,729),9746=>array(89,0,808,729),9747=>array(75,78,457,656),9748=>array(49,0,870,933),9749=>array(74,0,822,731),9750=>array(84,0,813,731),9751=>array(84,0,813,727),9752=>array(78,0,819,729),9753=>array(83,140,813,574),9754=>array(84,113,813,569),9755=>array(84,113,813,569),9756=>array(87,104,810,569),9757=>array(72,0,537,724),9758=>array(86,103,810,569),9759=>array(72,-3,537,720),9760=>array(61,0,835,730),9761=>array(84,0,813,730),9762=>array(83,0,813,730),9763=>array(49,0,848,730),9764=>array(49,-2,620,727),9765=>array(83,0,663,731),9766=>array(83,-1,566,731),9767=>array(83,0,701,911),9768=>array(83,0,462,730),9769=>array(83,-1,813,729),9770=>array(87,0,810,730),9771=>array(83,0,814,731),9772=>array(83,0,627,731),9773=>array(83,0,813,730),9774=>array(83,0,813,730),9775=>array(83,0,813,730),9776=>array(83,0,813,729),9777=>array(83,0,814,729),9778=>array(83,0,813,729),9779=>array(83,0,813,729),9780=>array(83,0,813,729),9781=>array(83,0,813,729),9782=>array(83,0,813,729),9783=>array(83,0,813,729),9784=>array(80,3,817,721),9785=>array(83,-73,959,804),9786=>array(83,-73,959,804),9787=>array(83,-73,959,804),9788=>array(83,0,813,730),9789=>array(358,0,814,730),9790=>array(83,0,539,730),9791=>array(85,-102,528,732),9792=>array(85,-125,647,731),9793=>array(85,-14,647,843),9794=>array(79,-14,831,720),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9800=>array(45,0,851,731),9801=>array(89,0,807,730),9802=>array(94,0,802,731),9803=>array(113,31,784,679),9804=>array(140,0,756,730),9805=>array(53,-180,843,730),9806=>array(83,52,813,653),9807=>array(34,-96,863,730),9808=>array(83,-0,813,730),9809=>array(94,0,802,730),9810=>array(86,153,810,579),9811=>array(157,0,739,730),9812=>array(98,0,798,730),9813=>array(110,0,786,730),9814=>array(167,-1,729,729),9815=>array(214,0,683,730),9816=>array(165,0,732,730),9817=>array(148,-0,748,730),9818=>array(98,0,798,730),9819=>array(110,0,786,730),9820=>array(167,-1,729,729),9821=>array(214,0,683,730),9822=>array(162,0,734,730),9823=>array(148,-0,748,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9832=>array(105,-1,791,729),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),9840=>array(84,0,664,731),9841=>array(64,0,701,731),9842=>array(84,0,813,709),9843=>array(76,16,820,731),9844=>array(76,16,820,731),9845=>array(76,16,820,731),9846=>array(76,16,820,731),9847=>array(76,16,820,731),9848=>array(76,16,820,731),9849=>array(76,16,820,731),9850=>array(76,16,820,731),9851=>array(84,0,812,704),9852=>array(83,0,814,731),9853=>array(83,0,814,731),9854=>array(83,0,814,731),9855=>array(149,1,747,731),9856=>array(73,0,797,725),9857=>array(73,0,797,725),9858=>array(73,0,797,725),9859=>array(73,0,797,725),9860=>array(73,0,797,725),9861=>array(73,0,797,725),9862=>array(83,0,813,731),9863=>array(83,0,813,731),9864=>array(83,0,813,731),9865=>array(83,0,813,731),9866=>array(83,0,813,98),9867=>array(83,0,813,98),9868=>array(83,0,813,413),9869=>array(83,0,813,413),9870=>array(83,0,813,413),9871=>array(83,0,813,413),9872=>array(168,3,728,731),9873=>array(168,3,728,731),9874=>array(52,0,844,731),9875=>array(97,-10,799,732),9876=>array(131,0,765,729),9877=>array(61,-10,479,732),9878=>array(59,-10,837,732),9879=>array(61,0,835,732),9880=>array(145,0,750,732),9881=>array(95,-17,802,727),9882=>array(128,-9,768,733),9883=>array(127,0,769,728),9884=>array(127,0,769,729),9888=>array(49,0,848,729),9889=>array(83,2,619,730),9890=>array(85,-125,919,731),9891=>array(79,-206,1023,720),9892=>array(85,-186,1109,856),9893=>array(85,-125,837,917),9894=>array(131,-14,727,869),9895=>array(101,-170,741,884),9896=>array(188,-14,650,869),9897=>array(4,133,829,596),9898=>array(188,133,650,597),9899=>array(188,133,650,597),9900=>array(249,194,589,536),9901=>array(175,194,663,536),9902=>array(41,169,797,560),9903=>array(5,194,833,536),9904=>array(103,237,757,540),9905=>array(211,42,626,698),9906=>array(85,-125,647,731),9907=>array(168,-125,646,731),9908=>array(86,-125,646,731),9909=>array(86,-125,646,731),9910=>array(59,-118,791,643),9911=>array(194,-104,595,710),9912=>array(158,-125,543,731),9920=>array(42,4,796,553),9921=>array(42,4,796,724),9922=>array(42,4,796,553),9923=>array(42,4,796,724),9954=>array(85,-14,647,843),9985=>array(11,190,803,635),9986=>array(42,141,784,588),9987=>array(11,94,803,539),9988=>array(36,119,824,613),9990=>array(42,-14,796,742),9991=>array(42,-14,796,742),9992=>array(59,21,782,708),9993=>array(64,107,773,622),9996=>array(212,0,561,742),9997=>array(21,83,802,678),9998=>array(89,75,724,710),9999=>array(26,198,819,530),10000=>array(89,75,724,710),10001=>array(43,185,757,544),10002=>array(67,209,757,520),10003=>array(150,97,667,630),10004=>array(116,87,721,631),10005=>array(126,72,711,657),10006=>array(85,31,752,698),10007=>array(118,-9,701,732),10008=>array(123,0,754,739),10009=>array(55,0,783,729),10010=>array(55,0,783,729),10011=>array(55,0,783,729),10012=>array(55,0,783,729),10013=>array(165,0,673,729),10014=>array(131,0,678,729),10015=>array(155,0,683,729),10016=>array(55,0,783,729),10017=>array(91,-13,747,744),10018=>array(41,-14,797,742),10019=>array(42,-12,796,742),10020=>array(41,-14,797,742),10021=>array(41,-13,797,743),10022=>array(42,-14,796,745),10023=>array(42,-14,796,745),10025=>array(23,-9,814,743),10026=>array(42,-14,796,742),10027=>array(23,-9,814,743),10028=>array(23,-9,814,743),10029=>array(23,-9,814,743),10030=>array(23,-9,814,743),10031=>array(23,-9,814,743),10032=>array(24,12,815,714),10033=>array(64,0,773,729),10034=>array(74,0,764,729),10035=>array(55,0,783,729),10036=>array(31,-14,787,742),10037=>array(41,-14,797,742),10038=>array(91,-14,747,742),10039=>array(41,-14,797,742),10040=>array(41,-14,797,742),10041=>array(41,-14,797,742),10042=>array(55,0,783,729),10043=>array(82,-14,756,742),10044=>array(82,-14,756,742),10045=>array(84,-14,753,742),10046=>array(79,-14,759,742),10047=>array(54,0,784,709),10048=>array(54,0,784,709),10049=>array(41,-14,797,742),10050=>array(42,-14,796,742),10051=>array(79,-14,759,742),10052=>array(89,0,749,729),10053=>array(76,0,762,729),10054=>array(63,2,773,729),10055=>array(79,-13,759,742),10056=>array(47,-13,791,730),10057=>array(47,-13,791,730),10058=>array(41,-13,797,743),10059=>array(41,-13,797,743),10061=>array(50,-10,847,738),10063=>array(60,-49,837,729),10064=>array(60,0,837,777),10065=>array(60,-49,837,729),10066=>array(60,0,837,777),10070=>array(83,-2,813,728),10072=>array(377,-240,460,760),10073=>array(336,-240,502,760),10074=>array(253,-240,585,760),10075=>array(85,395,264,729),10076=>array(59,395,237,729),10077=>array(85,395,479,729),10078=>array(59,395,453,729),10081=>array(155,-93,772,851),10082=>array(202,-17,636,742),10083=>array(163,-17,675,742),10084=>array(54,83,784,645),10085=>array(168,-1,729,729),10086=>array(62,21,724,702),10087=>array(78,169,759,564),10088=>array(196,-139,648,769),10089=>array(196,-139,648,769),10090=>array(264,-132,574,758),10091=>array(264,-132,574,758),10092=>array(215,-240,607,760),10093=>array(232,-240,623,760),10094=>array(142,-240,685,760),10095=>array(153,-240,696,760),10096=>array(167,-240,656,760),10097=>array(183,-240,672,760),10098=>array(346,-241,535,760),10099=>array(303,-241,492,760),10100=>array(175,-163,634,760),10101=>array(204,-163,663,760),10102=>array(59,-15,788,715),10103=>array(59,-15,788,715),10104=>array(59,-15,788,715),10105=>array(59,-15,788,715),10106=>array(59,-15,788,715),10107=>array(59,-15,788,715),10108=>array(59,-15,788,715),10109=>array(59,-15,788,715),10110=>array(59,-15,788,715),10111=>array(59,-15,788,715),10112=>array(4,-52,833,780),10113=>array(4,-52,833,780),10114=>array(4,-52,833,780),10115=>array(4,-52,833,780),10116=>array(4,-52,833,780),10117=>array(4,-52,833,780),10118=>array(4,-52,833,780),10119=>array(4,-52,833,780),10120=>array(4,-52,833,780),10121=>array(4,-52,833,780),10122=>array(4,-52,833,780),10123=>array(4,-52,833,780),10124=>array(4,-52,833,780),10125=>array(4,-52,833,780),10126=>array(4,-52,833,780),10127=>array(4,-52,833,780),10128=>array(4,-52,833,780),10129=>array(4,-52,833,780),10130=>array(4,-52,833,780),10131=>array(4,-52,833,780),10132=>array(57,75,789,552),10136=>array(123,55,682,614),10137=>array(57,100,789,527),10138=>array(123,13,682,572),10139=>array(57,129,789,498),10140=>array(57,57,764,570),10141=>array(57,100,789,527),10142=>array(57,100,789,527),10143=>array(57,100,789,527),10144=>array(57,100,789,527),10145=>array(57,46,811,581),10146=>array(111,94,789,533),10147=>array(111,94,789,533),10148=>array(111,-4,789,631),10149=>array(57,100,789,548),10150=>array(57,79,789,527),10151=>array(240,-7,606,634),10152=>array(57,100,789,527),10153=>array(57,75,765,552),10154=>array(57,75,765,552),10155=>array(21,12,794,586),10156=>array(21,12,794,586),10157=>array(135,0,774,574),10158=>array(135,0,774,574),10159=>array(62,49,799,574),10161=>array(62,49,799,574),10162=>array(154,-20,721,585),10163=>array(63,157,789,470),10164=>array(81,55,682,655),10165=>array(57,173,789,454),10166=>array(82,-29,682,572),10167=>array(82,55,682,655),10168=>array(57,172,789,455),10169=>array(82,-28,682,572),10170=>array(56,84,789,543),10171=>array(73,140,779,487),10172=>array(79,167,774,460),10173=>array(79,118,774,509),10174=>array(57,81,789,546),10181=>array(0,-163,438,769),10182=>array(-39,-163,474,769),10208=>array(3,-233,491,807),10214=>array(7,-132,498,760),10215=>array(7,-132,498,760),10216=>array(104,-132,464,759),10217=>array(-7,-132,353,759),10218=>array(104,-132,728,759),10219=>array(-7,-132,616,759),10224=>array(41,0,797,732),10225=>array(42,-3,798,729),10226=>array(9,45,816,685),10227=>array(22,45,830,685),10228=>array(57,-14,1108,643),10229=>array(49,87,1376,540),10230=>array(57,87,1385,540),10231=>array(49,87,1385,540),10232=>array(49,87,1376,540),10233=>array(57,87,1385,540),10234=>array(49,87,1385,540),10235=>array(49,87,1376,540),10236=>array(57,87,1385,540),10237=>array(49,87,1376,540),10238=>array(57,87,1385,540),10239=>array(57,87,1385,540),10241=>array(146,586,342,781),10242=>array(146,325,342,521),10243=>array(146,325,342,781),10244=>array(146,65,342,261),10245=>array(146,65,342,781),10246=>array(146,65,342,521),10247=>array(146,65,342,781),10248=>array(439,586,635,781),10249=>array(146,586,635,781),10250=>array(146,325,635,781),10251=>array(146,325,635,781),10252=>array(146,65,635,781),10253=>array(146,65,635,781),10254=>array(146,65,635,781),10255=>array(146,65,635,781),10256=>array(439,325,635,521),10257=>array(146,325,635,781),10258=>array(146,325,635,521),10259=>array(146,325,635,781),10260=>array(146,65,635,521),10261=>array(146,65,635,781),10262=>array(146,65,635,521),10263=>array(146,65,635,781),10264=>array(439,325,635,781),10265=>array(146,325,635,781),10266=>array(146,325,635,781),10267=>array(146,325,635,781),10268=>array(146,65,635,781),10269=>array(146,65,635,781),10270=>array(146,65,635,781),10271=>array(146,65,635,781),10272=>array(439,65,635,261),10273=>array(146,65,635,781),10274=>array(146,65,635,521),10275=>array(146,65,635,781),10276=>array(146,65,635,261),10277=>array(146,65,635,781),10278=>array(146,65,635,521),10279=>array(146,65,635,781),10280=>array(439,65,635,781),10281=>array(146,65,635,781),10282=>array(146,65,635,781),10283=>array(146,65,635,781),10284=>array(146,65,635,781),10285=>array(146,65,635,781),10286=>array(146,65,635,781),10287=>array(146,65,635,781),10288=>array(439,65,635,521),10289=>array(146,65,635,781),10290=>array(146,65,635,521),10291=>array(146,65,635,781),10292=>array(146,65,635,521),10293=>array(146,65,635,781),10294=>array(146,65,635,521),10295=>array(146,65,635,781),10296=>array(439,65,635,781),10297=>array(146,65,635,781),10298=>array(146,65,635,781),10299=>array(146,65,635,781),10300=>array(146,65,635,781),10301=>array(146,65,635,781),10302=>array(146,65,635,781),10303=>array(146,65,635,781),10304=>array(146,-195,342,0),10305=>array(146,-195,342,781),10306=>array(146,-195,342,521),10307=>array(146,-195,342,781),10308=>array(146,-195,342,261),10309=>array(146,-195,342,781),10310=>array(146,-195,342,521),10311=>array(146,-195,342,781),10312=>array(146,-195,635,781),10313=>array(146,-195,635,781),10314=>array(146,-195,635,781),10315=>array(146,-195,635,781),10316=>array(146,-195,635,781),10317=>array(146,-195,635,781),10318=>array(146,-195,635,781),10319=>array(146,-195,635,781),10320=>array(146,-195,635,521),10321=>array(146,-195,635,781),10322=>array(146,-195,635,521),10323=>array(146,-195,635,781),10324=>array(146,-195,635,521),10325=>array(146,-195,635,781),10326=>array(146,-195,635,521),10327=>array(146,-195,635,781),10328=>array(146,-195,635,781),10329=>array(146,-195,635,781),10330=>array(146,-195,635,781),10331=>array(146,-195,635,781),10332=>array(146,-195,635,781),10333=>array(146,-195,635,781),10334=>array(146,-195,635,781),10335=>array(146,-195,635,781),10336=>array(146,-195,635,261),10337=>array(146,-195,635,781),10338=>array(146,-195,635,521),10339=>array(146,-195,635,781),10340=>array(146,-195,635,261),10341=>array(146,-195,635,781),10342=>array(146,-195,635,521),10343=>array(146,-195,635,781),10344=>array(146,-195,635,781),10345=>array(146,-195,635,781),10346=>array(146,-195,635,781),10347=>array(146,-195,635,781),10348=>array(146,-195,635,781),10349=>array(146,-195,635,781),10350=>array(146,-195,635,781),10351=>array(146,-195,635,781),10352=>array(146,-195,635,521),10353=>array(146,-195,635,781),10354=>array(146,-195,635,521),10355=>array(146,-195,635,781),10356=>array(146,-195,635,521),10357=>array(146,-195,635,781),10358=>array(146,-195,635,521),10359=>array(146,-195,635,781),10360=>array(146,-195,635,781),10361=>array(146,-195,635,781),10362=>array(146,-195,635,781),10363=>array(146,-195,635,781),10364=>array(146,-195,635,781),10365=>array(146,-195,635,781),10366=>array(146,-195,635,781),10367=>array(146,-195,635,781),10368=>array(439,-195,635,0),10369=>array(146,-195,635,781),10370=>array(146,-195,635,521),10371=>array(146,-195,635,781),10372=>array(146,-195,635,261),10373=>array(146,-195,635,781),10374=>array(146,-195,635,521),10375=>array(146,-195,635,781),10376=>array(439,-195,635,781),10377=>array(146,-195,635,781),10378=>array(146,-195,635,781),10379=>array(146,-195,635,781),10380=>array(146,-195,635,781),10381=>array(146,-195,635,781),10382=>array(146,-195,635,781),10383=>array(146,-195,635,781),10384=>array(439,-195,635,521),10385=>array(146,-195,635,781),10386=>array(146,-195,635,521),10387=>array(146,-195,635,781),10388=>array(146,-195,635,521),10389=>array(146,-195,635,781),10390=>array(146,-195,635,521),10391=>array(146,-195,635,781),10392=>array(439,-195,635,781),10393=>array(146,-195,635,781),10394=>array(146,-195,635,781),10395=>array(146,-195,635,781),10396=>array(146,-195,635,781),10397=>array(146,-195,635,781),10398=>array(146,-195,635,781),10399=>array(146,-195,635,781),10400=>array(439,-195,635,261),10401=>array(146,-195,635,781),10402=>array(146,-195,635,521),10403=>array(146,-195,635,781),10404=>array(146,-195,635,261),10405=>array(146,-195,635,781),10406=>array(146,-195,635,521),10407=>array(146,-195,635,781),10408=>array(439,-195,635,781),10409=>array(146,-195,635,781),10410=>array(146,-195,635,781),10411=>array(146,-195,635,781),10412=>array(146,-195,635,781),10413=>array(146,-195,635,781),10414=>array(146,-195,635,781),10415=>array(146,-195,635,781),10416=>array(439,-195,635,521),10417=>array(146,-195,635,781),10418=>array(146,-195,635,521),10419=>array(146,-195,635,781),10420=>array(146,-195,635,521),10421=>array(146,-195,635,781),10422=>array(146,-195,635,521),10423=>array(146,-195,635,781),10424=>array(439,-195,635,781),10425=>array(146,-195,635,781),10426=>array(146,-195,635,781),10427=>array(146,-195,635,781),10428=>array(146,-195,635,781),10429=>array(146,-195,635,781),10430=>array(146,-195,635,781),10431=>array(146,-195,635,781),10432=>array(146,-195,635,0),10433=>array(146,-195,635,781),10434=>array(146,-195,635,521),10435=>array(146,-195,635,781),10436=>array(146,-195,635,261),10437=>array(146,-195,635,781),10438=>array(146,-195,635,521),10439=>array(146,-195,635,781),10440=>array(146,-195,635,781),10441=>array(146,-195,635,781),10442=>array(146,-195,635,781),10443=>array(146,-195,635,781),10444=>array(146,-195,635,781),10445=>array(146,-195,635,781),10446=>array(146,-195,635,781),10447=>array(146,-195,635,781),10448=>array(146,-195,635,521),10449=>array(146,-195,635,781),10450=>array(146,-195,635,521),10451=>array(146,-195,635,781),10452=>array(146,-195,635,521),10453=>array(146,-195,635,781),10454=>array(146,-195,635,521),10455=>array(146,-195,635,781),10456=>array(146,-195,635,781),10457=>array(146,-195,635,781),10458=>array(146,-195,635,781),10459=>array(146,-195,635,781),10460=>array(146,-195,635,781),10461=>array(146,-195,635,781),10462=>array(146,-195,635,781),10463=>array(146,-195,635,781),10464=>array(146,-195,635,261),10465=>array(146,-195,635,781),10466=>array(146,-195,635,521),10467=>array(146,-195,635,781),10468=>array(146,-195,635,261),10469=>array(146,-195,635,781),10470=>array(146,-195,635,521),10471=>array(146,-195,635,781),10472=>array(146,-195,635,781),10473=>array(146,-195,635,781),10474=>array(146,-195,635,781),10475=>array(146,-195,635,781),10476=>array(146,-195,635,781),10477=>array(146,-195,635,781),10478=>array(146,-195,635,781),10479=>array(146,-195,635,781),10480=>array(146,-195,635,521),10481=>array(146,-195,635,781),10482=>array(146,-195,635,521),10483=>array(146,-195,635,781),10484=>array(146,-195,635,521),10485=>array(146,-195,635,781),10486=>array(146,-195,635,521),10487=>array(146,-195,635,781),10488=>array(146,-195,635,781),10489=>array(146,-195,635,781),10490=>array(146,-195,635,781),10491=>array(146,-195,635,781),10492=>array(146,-195,635,781),10493=>array(146,-195,635,781),10494=>array(146,-195,635,781),10495=>array(146,-195,635,781),10502=>array(49,87,781,540),10503=>array(57,87,789,540),10506=>array(132,0,707,732),10507=>array(132,0,707,732),10560=>array(86,45,726,853),10561=>array(86,45,726,853),10627=>array(117,-163,718,760),10628=>array(35,-163,636,760),10702=>array(106,-258,732,800),10703=>array(106,-1,940,628),10704=>array(106,-1,940,628),10705=>array(106,-48,894,674),10706=>array(106,-48,894,674),10707=>array(106,-48,894,674),10708=>array(106,-48,894,675),10709=>array(106,-48,894,675),10731=>array(3,-233,491,807),10746=>array(106,0,732,627),10747=>array(106,0,732,627),10752=>array(28,-211,972,734),10753=>array(28,-211,972,734),10754=>array(28,-211,972,734),10764=>array(15,-227,1646,754),10765=>array(14,-227,548,754),10766=>array(14,-227,548,754),10767=>array(14,-227,548,754),10768=>array(14,-227,548,754),10769=>array(14,-227,576,754),10770=>array(14,-227,548,754),10771=>array(14,-227,548,754),10772=>array(14,-228,651,754),10773=>array(14,-227,548,754),10774=>array(14,-227,548,754),10775=>array(-30,-227,556,754),10776=>array(14,-227,548,754),10777=>array(14,-227,548,754),10778=>array(14,-227,548,754),10779=>array(15,-227,548,898),10780=>array(15,-372,548,754),10799=>array(125,20,713,607),10858=>array(106,212,732,660),10859=>array(106,-34,732,660),10877=>array(106,-150,732,632),10878=>array(106,-150,732,632),10879=>array(106,-150,732,632),10880=>array(106,-150,732,632),10881=>array(106,-150,732,688),10882=>array(106,-150,732,688),10883=>array(106,-150,732,827),10884=>array(106,-150,732,827),10885=>array(106,-217,732,630),10886=>array(106,-217,732,630),10887=>array(106,-124,732,582),10888=>array(106,-124,732,582),10889=>array(106,-281,732,630),10890=>array(106,-281,732,630),10891=>array(106,-303,732,814),10892=>array(106,-303,732,814),10893=>array(106,-183,732,653),10894=>array(106,-183,732,653),10895=>array(106,-245,732,765),10896=>array(106,-245,732,765),10897=>array(106,-278,732,782),10898=>array(106,-278,732,782),10899=>array(106,-263,732,771),10900=>array(106,-263,732,771),10901=>array(106,-50,732,733),10902=>array(106,-50,732,733),10903=>array(106,-50,732,733),10904=>array(106,-50,732,733),10905=>array(106,-45,732,678),10906=>array(106,-45,732,678),10907=>array(106,-81,732,724),10908=>array(106,-81,732,724),10909=>array(106,13,732,680),10910=>array(106,13,732,680),10911=>array(106,-239,732,746),10912=>array(106,-239,732,746),10926=>array(106,22,732,656),10927=>array(106,-83,732,684),10928=>array(106,-83,732,684),10929=>array(106,-246,732,684),10930=>array(106,-246,732,684),10931=>array(106,-205,732,672),10932=>array(106,-205,732,672),10933=>array(106,-304,732,672),10934=>array(106,-304,732,672),10935=>array(106,-252,732,713),10936=>array(106,-252,732,713),10937=>array(106,-316,732,713),10938=>array(106,-316,732,713),11001=>array(106,-195,732,609),11002=>array(106,-195,732,609),11008=>array(123,-23,744,598),11009=>array(94,-23,715,598),11010=>array(123,-23,744,598),11011=>array(94,-23,715,598),11012=>array(27,46,789,581),11013=>array(27,46,781,581),11014=>array(151,0,687,754),11015=>array(151,-25,687,729),11016=>array(123,-23,744,598),11017=>array(94,-23,715,598),11018=>array(123,-23,744,598),11019=>array(94,-23,715,598),11020=>array(27,46,789,581),11021=>array(151,-25,687,754),11022=>array(57,-25,800,372),11023=>array(57,255,800,652),11024=>array(38,-25,781,372),11025=>array(38,255,781,652),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11039=>array(18,-26,852,767),11040=>array(18,-26,852,767),11041=>array(73,-91,800,748),11042=>array(73,-91,800,748),11043=>array(17,-35,856,692),11044=>array(55,-250,1064,770),11091=>array(38,-47,832,788),11092=>array(38,-47,832,788),11360=>array(-24,0,566,729),11361=>array(-35,0,390,760),11362=>array(-28,0,566,729),11363=>array(18,0,716,729),11364=>array(54,-200,708,729),11365=>array(-21,-46,692,594),11366=>array(-6,-93,531,822),11367=>array(36,-157,904,729),11368=>array(23,-138,770,760),11369=>array(36,-157,855,729),11370=>array(23,-138,709,760),11371=>array(-11,-157,755,729),11372=>array(5,-138,606,547),11373=>array(48,-14,840,741),11374=>array(41,-200,993,729),11375=>array(76,0,840,729),11376=>array(-23,-14,780,741),11377=>array(67,0,797,560),11378=>array(99,0,1263,742),11379=>array(87,0,1075,560),11380=>array(44,0,687,586),11381=>array(21,0,623,729),11382=>array(31,0,494,547),11383=>array(64,0,724,552),11385=>array(10,-13,529,760),11386=>array(43,-14,644,560),11387=>array(25,0,520,547),11388=>array(-75,-121,219,425),11389=>array(42,326,524,734),11390=>array(37,-240,688,742),11391=>array(-2,-240,763,729),11520=>array(41,-64,638,547),11521=>array(-12,-232,663,546),11522=>array(28,-232,635,547),11523=>array(42,-10,646,807),11524=>array(29,-228,642,546),11525=>array(21,-228,1017,546),11526=>array(74,-8,697,816),11527=>array(31,-9,1003,547),11528=>array(42,0,617,547),11529=>array(29,-227,643,816),11530=>array(20,-9,1014,546),11531=>array(35,-8,687,816),11532=>array(20,0,656,816),11533=>array(30,-8,1025,546),11534=>array(29,-8,667,546),11535=>array(55,-228,875,816),11536=>array(30,-9,1005,816),11537=>array(29,-9,668,816),11538=>array(26,-232,632,546),11539=>array(29,-228,1024,661),11540=>array(40,-228,980,546),11541=>array(26,-228,1009,816),11542=>array(24,0,657,546),11543=>array(29,-228,668,547),11544=>array(29,-232,665,546),11545=>array(27,-228,657,816),11546=>array(26,-232,632,547),11547=>array(41,-9,695,816),11548=>array(24,-228,1018,547),11549=>array(23,-232,641,546),11550=>array(31,-232,677,546),11551=>array(16,-228,653,567),11552=>array(24,-9,1042,546),11553=>array(31,-228,648,816),11554=>array(38,-9,625,626),11555=>array(40,-228,659,816),11556=>array(30,-228,721,546),11557=>array(40,-8,982,816),11800=>array(37,-13,494,729),11807=>array(106,-34,732,415),11810=>array(77,314,466,760),11811=>array(124,314,448,760),11812=>array(-10,-132,314,314),11813=>array(-28,-132,362,314),11822=>array(104,0,580,742),19904=>array(83,-158,813,729),19905=>array(83,-158,813,729),19906=>array(83,-158,813,729),19907=>array(83,-158,813,729),19908=>array(83,-158,813,729),19909=>array(83,-158,813,729),19910=>array(83,-158,813,729),19911=>array(83,-158,813,729),19912=>array(83,-158,813,729),19913=>array(83,-158,814,729),19914=>array(83,-158,813,729),19915=>array(83,-158,813,729),19916=>array(83,-158,813,729),19917=>array(83,-158,813,729),19918=>array(83,-158,813,729),19919=>array(83,-158,813,729),19920=>array(83,-158,814,729),19921=>array(83,-158,813,729),19922=>array(83,-158,814,729),19923=>array(83,-158,813,729),19924=>array(83,-158,813,729),19925=>array(83,-158,813,729),19926=>array(83,-158,813,729),19927=>array(83,-158,813,729),19928=>array(83,-158,813,729),19929=>array(83,-158,813,729),19930=>array(83,-158,813,729),19931=>array(83,-158,814,729),19932=>array(83,-158,813,729),19933=>array(83,-158,813,729),19934=>array(83,-158,814,729),19935=>array(83,-158,813,729),19936=>array(83,-158,813,729),19937=>array(83,-158,813,729),19938=>array(83,-158,813,729),19939=>array(83,-158,813,729),19940=>array(83,-158,813,729),19941=>array(83,-158,814,729),19942=>array(83,-158,813,729),19943=>array(83,-158,813,729),19944=>array(83,-158,814,729),19945=>array(83,-158,813,729),19946=>array(83,-158,814,729),19947=>array(83,-158,813,729),19948=>array(83,-158,814,729),19949=>array(83,-158,813,729),19950=>array(83,-158,814,729),19951=>array(83,-158,813,729),19952=>array(83,-158,814,729),19953=>array(83,-158,813,729),19954=>array(83,-158,813,729),19955=>array(83,-158,813,729),19956=>array(83,-158,813,729),19957=>array(83,-158,814,729),19958=>array(83,-158,813,729),19959=>array(83,-158,813,729),19960=>array(83,-158,813,729),19961=>array(83,-158,814,729),19962=>array(83,-158,813,729),19963=>array(83,-158,814,729),19964=>array(83,-158,814,729),19965=>array(83,-158,813,729),19966=>array(83,-158,813,729),19967=>array(83,-158,813,729),42192=>array(21,0,699,729),42193=>array(21,0,719,729),42194=>array(17,0,712,729),42195=>array(21,0,786,729),42196=>array(48,0,748,729),42197=>array(-65,0,634,729),42198=>array(36,-14,778,742),42199=>array(21,0,837,729),42200=>array(-65,0,754,729),42201=>array(7,-14,581,729),42202=>array(36,-14,724,742),42203=>array(-13,-14,675,742),42204=>array(-26,0,740,729),42205=>array(21,0,670,729),42206=>array(21,0,670,729),42207=>array(21,0,974,729),42208=>array(21,0,816,729),42209=>array(21,0,566,729),42210=>array(15,-14,665,742),42211=>array(21,0,685,729),42212=>array(81,0,749,729),42213=>array(-66,0,698,729),42214=>array(76,0,840,729),42215=>array(21,0,816,729),42216=>array(5,-14,747,742),42217=>array(19,0,592,743),42218=>array(107,0,1143,729),42219=>array(-51,0,812,729),42220=>array(63,0,809,729),42221=>array(67,0,741,729),42222=>array(-65,0,691,729),42223=>array(76,0,840,729),42224=>array(21,0,670,729),42225=>array(13,0,662,729),42226=>array(21,0,351,729),42227=>array(36,-14,814,742),42228=>array(68,-14,791,729),42229=>array(20,0,733,743),42230=>array(9,0,554,729),42231=>array(48,0,809,729),42232=>array(17,0,230,189),42233=>array(-63,-142,227,189),42234=>array(17,0,582,189),42235=>array(17,-142,579,189),42236=>array(-74,-142,284,547),42237=>array(2,0,284,547),42238=>array(88,0,554,405),42239=>array(39,134,549,492),42564=>array(-1,-14,631,742),42565=>array(-7,-14,534,560),42566=>array(74,0,384,729),42567=>array(74,-1,326,547),42572=>array(37,-14,1348,654),42573=>array(31,-13,1129,547),42576=>array(92,0,1213,729),42577=>array(52,0,1000,547),42580=>array(45,-14,1153,742),42581=>array(37,-14,941,560),42582=>array(21,0,1017,729),42583=>array(31,-14,905,560),42594=>array(-26,-157,1144,729),42595=>array(-10,-138,967,547),42596=>array(-25,0,1140,729),42597=>array(2,0,941,547),42598=>array(21,0,1304,729),42599=>array(28,0,1023,547),42600=>array(36,-14,814,742),42601=>array(36,-14,651,560),42602=>array(50,-14,987,742),42603=>array(43,-14,825,560),42604=>array(50,-14,1356,742),42605=>array(43,-14,1063,560),42606=>array(28,-208,933,743),42634=>array(48,-200,863,729),42635=>array(34,-216,672,547),42636=>array(48,0,748,729),42637=>array(34,0,626,547),42644=>array(106,0,793,729),42645=>array(10,0,625,760),42760=>array(146,0,471,693),42761=>array(117,0,471,693),42762=>array(87,0,471,693),42763=>array(58,0,471,693),42764=>array(29,0,471,693),42765=>array(29,0,471,693),42766=>array(29,0,442,693),42767=>array(29,0,413,693),42768=>array(29,0,383,693),42769=>array(29,0,354,693),42770=>array(29,0,471,693),42771=>array(29,0,442,693),42772=>array(29,0,413,693),42773=>array(29,0,383,693),42774=>array(29,0,354,693),42779=>array(180,326,464,736),42780=>array(142,324,426,734),42781=>array(152,326,342,734),42782=>array(152,326,342,734),42783=>array(88,0,278,408),42786=>array(30,0,432,729),42787=>array(38,0,369,547),42788=>array(55,224,530,742),42789=>array(55,42,530,560),42790=>array(41,-200,835,729),42791=>array(31,-216,646,760),42792=>array(69,-216,984,729),42793=>array(48,-215,810,702),42794=>array(37,-14,652,742),42795=>array(-2,-202,517,560),42800=>array(39,0,526,547),42801=>array(10,-14,560,560),42802=>array(-66,0,1273,729),42803=>array(22,-14,981,560),42804=>array(-65,-14,1249,742),42805=>array(17,-14,1029,560),42806=>array(-65,-14,1224,729),42807=>array(17,-14,1021,560),42808=>array(-66,0,1145,729),42809=>array(22,-14,960,560),42810=>array(-66,0,1145,729),42811=>array(22,-14,960,560),42812=>array(-45,-216,1122,729),42813=>array(42,-216,979,560),42814=>array(-13,-14,670,742),42815=>array(-7,-14,537,560),42816=>array(21,0,837,729),42817=>array(31,0,716,760),42822=>array(81,0,779,729),42823=>array(68,0,472,760),42824=>array(65,0,612,729),42825=>array(81,0,520,760),42826=>array(4,-14,915,742),42827=>array(-4,-14,821,560),42830=>array(50,-14,1356,742),42831=>array(43,-14,1063,560),42832=>array(-42,0,723,729),42833=>array(-81,-208,679,560),42834=>array(-1,0,938,729),42835=>array(0,-208,900,560),42838=>array(40,-188,811,742),42839=>array(34,-208,682,559),42852=>array(21,0,698,729),42853=>array(-11,-208,678,760),42854=>array(-50,0,698,729),42855=>array(-82,-208,678,760),42880=>array(71,0,616,729),42881=>array(11,-208,332,547),42882=>array(-8,-208,776,742),42883=>array(-10,-208,654,560),42889=>array(41,0,323,547),42890=>array(63,141,333,405),42891=>array(142,245,387,729),42892=>array(69,458,237,729),42893=>array(100,0,787,729),42894=>array(93,-216,613,760),42896=>array(21,-157,824,729),42897=>array(31,-138,695,560),42912=>array(-17,-14,837,742),42913=>array(-19,-216,735,559),42914=>array(-16,0,837,729),42915=>array(-18,0,716,760),42916=>array(-17,0,854,729),42917=>array(-19,0,731,560),42918=>array(-15,0,785,729),42919=>array(-15,0,545,560),42920=>array(-14,-14,734,742),42921=>array(-17,-14,612,560),42922=>array(-37,0,865,729),43002=>array(31,0,1025,547),43003=>array(92,0,662,729),43004=>array(65,0,712,729),43005=>array(21,0,974,729),43006=>array(1,0,370,928),43007=>array(-40,0,1365,729),61184=>array(141,602,384,693),61185=>array(83,451,406,693),61186=>array(29,301,430,693),61187=>array(-12,150,440,693),61188=>array(-47,0,446,693),61189=>array(100,451,376,693),61190=>array(112,451,355,543),61191=>array(54,301,376,543),61192=>array(0,150,401,543),61193=>array(-41,0,411,543),61194=>array(82,301,372,693),61195=>array(71,301,347,543),61196=>array(83,301,326,393),61197=>array(25,150,347,393),61198=>array(-29,0,372,393),61199=>array(75,150,353,693),61200=>array(53,149,342,542),61201=>array(42,150,318,393),61202=>array(53,150,296,242),61203=>array(-4,0,318,242),61204=>array(73,0,329,693),61205=>array(46,0,323,543),61206=>array(23,0,313,393),61207=>array(12,0,289,242),61208=>array(24,0,268,92),61209=>array(29,0,255,693),62464=>array(84,-14,614,819),62465=>array(90,-15,610,823),62466=>array(86,-14,652,828),62467=>array(124,0,954,828),62468=>array(80,-15,679,828),62469=>array(81,-15,657,828),62470=>array(129,-15,677,828),62471=>array(92,-14,949,828),62472=>array(98,0,644,828),62473=>array(80,-14,684,820),62474=>array(139,-6,1218,828),62475=>array(81,-14,674,828),62476=>array(88,-15,675,820),62477=>array(107,0,938,828),62478=>array(78,-15,654,819),62479=>array(87,-15,722,840),62480=>array(99,0,938,828),62481=>array(99,-14,618,819),62482=>array(97,-14,785,828),62483=>array(80,-14,680,828),62484=>array(136,-14,947,828),62485=>array(79,-14,717,819),62486=>array(113,0,963,828),62487=>array(74,-14,717,820),62488=>array(72,-14,672,828),62489=>array(40,0,626,828),62490=>array(100,-15,715,820),62491=>array(86,-14,717,819),62492=>array(90,-14,729,828),62493=>array(79,-14,719,820),62494=>array(94,-14,619,819),62495=>array(29,-14,623,828),62496=>array(81,-15,658,828),62497=>array(88,-15,677,828),62498=>array(14,-73,658,828),62499=>array(77,-15,719,830),62500=>array(78,-15,726,828),62501=>array(76,-14,732,828),62502=>array(126,-14,1016,828),62504=>array(40,-228,982,816),62505=>array(48,-223,821,843),62506=>array(81,-14,565,761),62507=>array(81,-14,567,773),62508=>array(81,-14,586,866),62509=>array(81,-14,623,812),62510=>array(81,-14,604,877),62511=>array(81,-14,577,803),62512=>array(31,-232,574,761),62513=>array(31,-232,631,793),62514=>array(31,-232,649,891),62515=>array(31,-232,601,803),62516=>array(80,0,589,761),62517=>array(80,0,637,793),62518=>array(80,0,601,803),62519=>array(97,-0,813,761),62520=>array(97,-0,813,773),62521=>array(97,-0,813,884),62522=>array(97,-0,813,793),62523=>array(97,-0,813,803),62524=>array(76,-232,621,761),62525=>array(76,-232,621,773),62526=>array(76,-232,630,894),62527=>array(76,-232,636,793),62528=>array(76,-232,621,803),62529=>array(76,-232,621,844),62917=>array(16,-14,648,760),64256=>array(50,0,916,760),64257=>array(50,0,798,760),64258=>array(50,0,798,760),64259=>array(50,0,1128,760),64260=>array(50,0,1129,760),64261=>array(45,0,836,760),64262=>array(8,-14,1047,742),64275=>array(47,-14,1334,760),64276=>array(47,-14,1335,760),64277=>array(65,-208,1311,760),64278=>array(65,-208,1353,760),64279=>array(65,-208,1682,760),64285=>array(98,38,334,547),64286=>array(194,635,524,780),64287=>array(98,36,655,547),64288=>array(38,0,697,547),64289=>array(120,0,926,547),64290=>array(126,0,838,547),64291=>array(100,0,840,547),64292=>array(43,0,791,547),64293=>array(126,0,837,739),64294=>array(91,0,842,547),64295=>array(126,0,794,547),64296=>array(48,-4,798,547),64297=>array(155,256,804,627),64298=>array(89,0,857,710),64299=>array(89,0,856,723),64300=>array(89,0,856,710),64301=>array(89,0,856,710),64302=>array(104,-171,730,547),64303=>array(104,-217,730,547),64304=>array(104,-171,730,547),64305=>array(43,0,590,547),64306=>array(44,-9,428,547),64307=>array(126,0,651,547),64308=>array(100,0,661,547),64309=>array(73,0,452,547),64310=>array(73,0,548,547),64312=>array(142,-13,676,553),64313=>array(101,164,476,547),64314=>array(126,-240,549,547),64315=>array(43,0,570,547),64316=>array(126,0,633,711),64318=>array(84,0,690,554),64320=>array(43,0,430,547),64321=>array(144,-13,678,547),64323=>array(158,-240,642,547),64324=>array(91,0,656,547),64326=>array(54,0,670,547),64327=>array(51,-240,767,546),64328=>array(126,0,575,547),64329=>array(89,0,856,547),64330=>array(11,-4,650,547),64331=>array(91,0,359,710),64332=>array(43,0,590,710),64333=>array(43,0,570,710),64334=>array(91,0,656,710),64335=>array(47,0,732,729),65056=>array(-276,735,171,880),65057=>array(157,735,564,880),65058=>array(-215,756,169,894),65059=>array(152,756,536,894),65533=>array(100,-139,1164,926),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>348,33=>456,34=>521,35=>696,36=>696,37=>1002,38=>872,39=>306,40=>457,41=>457,42=>523,43=>838,44=>380,45=>415,46=>380,47=>365,48=>696,49=>696,50=>696,51=>696,52=>696,53=>696,54=>696,55=>696,56=>696,57=>696,58=>400,59=>400,60=>838,61=>838,62=>838,63=>580,64=>1000,65=>774,66=>762,67=>734,68=>830,69=>683,70=>683,71=>821,72=>837,73=>372,74=>372,75=>775,76=>637,77=>995,78=>837,79=>850,80=>733,81=>850,82=>770,83=>720,84=>682,85=>812,86=>774,87=>1103,88=>771,89=>724,90=>725,91=>457,92=>365,93=>457,94=>838,95=>500,96=>500,97=>675,98=>716,99=>593,100=>716,101=>678,102=>435,103=>716,104=>712,105=>343,106=>343,107=>665,108=>343,109=>1042,110=>712,111=>687,112=>716,113=>716,114=>493,115=>595,116=>478,117=>712,118=>652,119=>924,120=>645,121=>652,122=>582,123=>712,124=>365,125=>712,126=>838,160=>348,161=>456,162=>696,163=>696,164=>636,165=>696,166=>365,167=>500,168=>500,169=>1000,170=>564,171=>650,172=>838,173=>415,174=>1000,175=>500,176=>500,177=>838,178=>438,179=>438,180=>500,181=>736,182=>636,183=>380,184=>500,185=>438,186=>564,187=>650,188=>1035,189=>1035,190=>1035,191=>580,192=>774,193=>774,194=>774,195=>774,196=>774,197=>774,198=>1085,199=>734,200=>683,201=>683,202=>683,203=>683,204=>372,205=>372,206=>372,207=>372,208=>845,209=>837,210=>850,211=>850,212=>850,213=>850,214=>850,215=>838,216=>850,217=>812,218=>812,219=>812,220=>812,221=>724,222=>742,223=>719,224=>675,225=>675,226=>675,227=>675,228=>675,229=>675,230=>1048,231=>593,232=>678,233=>678,234=>678,235=>678,236=>343,237=>343,238=>343,239=>343,240=>687,241=>712,242=>687,243=>687,244=>687,245=>687,246=>687,247=>838,248=>687,249=>712,250=>712,251=>712,252=>712,253=>652,254=>716,255=>652,256=>774,257=>675,258=>774,259=>675,260=>774,261=>675,262=>734,263=>593,264=>734,265=>593,266=>734,267=>593,268=>734,269=>593,270=>830,271=>716,272=>845,273=>716,274=>683,275=>678,276=>683,277=>678,278=>683,279=>678,280=>683,281=>678,282=>683,283=>678,284=>821,285=>716,286=>821,287=>716,288=>821,289=>716,290=>821,291=>716,292=>837,293=>712,294=>974,295=>790,296=>372,297=>343,298=>372,299=>343,300=>372,301=>343,302=>372,303=>343,304=>372,305=>343,306=>744,307=>686,308=>372,309=>343,310=>775,311=>665,312=>665,313=>637,314=>343,315=>637,316=>343,317=>637,318=>343,319=>637,320=>343,321=>660,322=>375,323=>837,324=>712,325=>837,326=>712,327=>837,328=>712,329=>983,330=>837,331=>712,332=>850,333=>687,334=>850,335=>687,336=>850,337=>687,338=>1167,339=>1094,340=>770,341=>493,342=>770,343=>493,344=>770,345=>493,346=>720,347=>595,348=>720,349=>595,350=>720,351=>595,352=>720,353=>595,354=>682,355=>478,356=>682,357=>478,358=>682,359=>478,360=>812,361=>712,362=>812,363=>712,364=>812,365=>712,366=>812,367=>712,368=>812,369=>712,370=>812,371=>712,372=>1103,373=>924,374=>724,375=>652,376=>724,377=>725,378=>582,379=>725,380=>582,381=>725,382=>582,383=>435,384=>716,385=>811,386=>762,387=>716,388=>762,389=>716,390=>734,391=>734,392=>593,393=>845,394=>879,395=>762,396=>716,397=>687,398=>683,399=>850,400=>696,401=>683,402=>435,403=>821,404=>793,405=>1045,406=>436,407=>389,408=>775,409=>665,410=>360,411=>592,412=>1042,413=>837,414=>712,415=>850,416=>850,417=>687,418=>1114,419=>962,420=>782,421=>716,422=>770,423=>720,424=>595,425=>683,426=>552,427=>478,428=>707,429=>478,430=>682,431=>812,432=>712,433=>769,434=>813,435=>797,436=>778,437=>725,438=>582,439=>772,440=>772,441=>641,442=>582,443=>696,444=>772,445=>641,446=>573,447=>716,448=>372,449=>659,450=>544,451=>372,452=>1548,453=>1450,454=>1307,455=>977,456=>979,457=>670,458=>1193,459=>1213,460=>1063,461=>774,462=>675,463=>372,464=>343,465=>850,466=>687,467=>812,468=>712,469=>812,470=>712,471=>812,472=>712,473=>812,474=>712,475=>812,476=>712,477=>678,478=>774,479=>675,480=>774,481=>675,482=>1085,483=>1048,484=>821,485=>716,486=>821,487=>716,488=>775,489=>665,490=>850,491=>687,492=>850,493=>687,494=>772,495=>582,496=>343,497=>1548,498=>1450,499=>1307,500=>821,501=>716,502=>1289,503=>787,504=>837,505=>712,506=>774,507=>675,508=>1085,509=>1048,510=>850,511=>687,512=>774,513=>675,514=>774,515=>675,516=>683,517=>678,518=>683,519=>678,520=>372,521=>343,522=>372,523=>343,524=>850,525=>687,526=>850,527=>687,528=>770,529=>493,530=>770,531=>493,532=>812,533=>712,534=>812,535=>712,536=>720,537=>595,538=>682,539=>478,540=>690,541=>607,542=>837,543=>712,544=>837,545=>865,546=>809,547=>659,548=>725,549=>582,550=>774,551=>675,552=>683,553=>678,554=>850,555=>687,556=>850,557=>687,558=>850,559=>687,560=>850,561=>687,562=>724,563=>652,564=>492,565=>867,566=>512,567=>343,568=>1088,569=>1088,570=>774,571=>734,572=>593,573=>637,574=>682,575=>595,576=>582,577=>782,578=>614,579=>762,580=>812,581=>774,582=>683,583=>678,584=>372,585=>343,586=>860,587=>791,588=>770,589=>493,590=>724,591=>652,592=>675,593=>716,594=>716,595=>716,596=>593,597=>593,598=>791,599=>792,600=>678,601=>678,602=>876,603=>557,604=>545,605=>774,606=>731,607=>343,608=>792,609=>716,610=>627,611=>735,612=>635,613=>712,614=>712,615=>712,616=>545,617=>440,618=>545,619=>559,620=>693,621=>343,622=>841,623=>1042,624=>1042,625=>1042,626=>712,627=>793,628=>642,629=>687,630=>909,631=>682,632=>796,633=>538,634=>538,635=>650,636=>493,637=>493,638=>596,639=>596,640=>642,641=>642,642=>595,643=>415,644=>435,645=>605,646=>552,647=>478,648=>478,649=>920,650=>769,651=>670,652=>652,653=>924,654=>652,655=>724,656=>694,657=>684,658=>641,659=>641,660=>573,661=>573,662=>573,663=>573,664=>850,665=>633,666=>731,667=>685,668=>691,669=>343,670=>732,671=>539,672=>792,673=>573,674=>573,675=>1156,676=>1214,677=>1155,678=>975,679=>769,680=>929,681=>1026,682=>862,683=>780,684=>591,685=>415,686=>677,687=>789,688=>456,689=>456,690=>219,691=>315,692=>315,693=>315,694=>411,695=>591,696=>417,697=>302,698=>521,699=>380,700=>380,701=>380,702=>366,703=>366,704=>326,705=>326,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>306,713=>500,714=>500,715=>500,716=>306,717=>500,718=>500,719=>500,720=>337,721=>337,722=>366,723=>366,724=>500,725=>500,726=>416,727=>328,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>351,735=>500,736=>412,737=>219,738=>381,739=>413,740=>326,741=>500,742=>500,743=>500,744=>500,745=>500,748=>500,749=>500,750=>644,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>698,881=>565,882=>1022,883=>836,884=>302,885=>302,886=>837,887=>701,890=>500,891=>593,892=>550,893=>549,894=>400,900=>441,901=>500,902=>797,903=>380,904=>846,905=>1009,906=>563,908=>891,910=>980,911=>894,912=>390,913=>774,914=>762,915=>637,916=>774,917=>683,918=>725,919=>837,920=>850,921=>372,922=>775,923=>774,924=>995,925=>837,926=>632,927=>850,928=>837,929=>733,931=>683,932=>682,933=>724,934=>850,935=>771,936=>850,937=>850,938=>372,939=>724,940=>687,941=>557,942=>712,943=>390,944=>675,945=>687,946=>716,947=>681,948=>687,949=>557,950=>591,951=>712,952=>687,953=>390,954=>710,955=>633,956=>736,957=>681,958=>591,959=>687,960=>791,961=>716,962=>593,963=>779,964=>638,965=>675,966=>782,967=>645,968=>794,969=>869,970=>390,971=>675,972=>687,973=>675,974=>869,975=>775,976=>651,977=>661,978=>746,979=>981,980=>746,981=>796,982=>869,983=>744,984=>850,985=>687,986=>734,987=>593,988=>683,989=>494,990=>702,991=>660,992=>919,993=>627,994=>1093,995=>837,996=>832,997=>716,998=>928,999=>744,1000=>733,1001=>650,1002=>789,1003=>671,1004=>752,1005=>716,1006=>682,1007=>590,1008=>744,1009=>716,1010=>593,1011=>343,1012=>850,1013=>645,1014=>645,1015=>742,1016=>716,1017=>734,1018=>995,1019=>732,1020=>716,1021=>734,1022=>734,1023=>698,1024=>683,1025=>683,1026=>878,1027=>637,1028=>734,1029=>720,1030=>372,1031=>372,1032=>372,1033=>1154,1034=>1130,1035=>878,1036=>817,1037=>837,1038=>771,1039=>837,1040=>774,1041=>762,1042=>762,1043=>637,1044=>891,1045=>683,1046=>1224,1047=>710,1048=>837,1049=>837,1050=>817,1051=>831,1052=>995,1053=>837,1054=>850,1055=>837,1056=>733,1057=>734,1058=>682,1059=>771,1060=>992,1061=>771,1062=>928,1063=>808,1064=>1235,1065=>1326,1066=>939,1067=>1036,1068=>762,1069=>734,1070=>1174,1071=>770,1072=>675,1073=>698,1074=>633,1075=>522,1076=>808,1077=>678,1078=>995,1079=>581,1080=>701,1081=>701,1082=>679,1083=>732,1084=>817,1085=>691,1086=>687,1087=>691,1088=>716,1089=>593,1090=>580,1091=>652,1092=>992,1093=>645,1094=>741,1095=>687,1096=>1062,1097=>1105,1098=>751,1099=>904,1100=>632,1101=>593,1102=>972,1103=>642,1104=>678,1105=>678,1106=>714,1107=>522,1108=>593,1109=>595,1110=>343,1111=>343,1112=>343,1113=>991,1114=>956,1115=>734,1116=>679,1117=>701,1118=>652,1119=>691,1120=>1093,1121=>869,1122=>840,1123=>736,1124=>1012,1125=>839,1126=>992,1127=>832,1128=>1358,1129=>1121,1130=>850,1131=>687,1132=>1236,1133=>1007,1134=>696,1135=>557,1136=>1075,1137=>1061,1138=>850,1139=>687,1140=>850,1141=>695,1142=>850,1143=>695,1144=>1148,1145=>1043,1146=>1074,1147=>863,1148=>1405,1149=>1173,1150=>1093,1151=>869,1152=>734,1153=>593,1154=>652,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>418,1161=>418,1162=>938,1163=>806,1164=>762,1165=>611,1166=>736,1167=>718,1168=>637,1169=>522,1170=>666,1171=>543,1172=>789,1173=>522,1174=>1224,1175=>995,1176=>710,1177=>581,1178=>775,1179=>679,1180=>817,1181=>679,1182=>817,1183=>679,1184=>1015,1185=>826,1186=>837,1187=>691,1188=>1103,1189=>871,1190=>1254,1191=>979,1192=>946,1193=>859,1194=>734,1195=>593,1196=>682,1197=>580,1198=>724,1199=>652,1200=>724,1201=>652,1202=>771,1203=>645,1204=>1104,1205=>1001,1206=>808,1207=>687,1208=>808,1209=>687,1210=>808,1211=>712,1212=>1026,1213=>810,1214=>1026,1215=>810,1216=>372,1217=>1224,1218=>995,1219=>778,1220=>629,1221=>933,1222=>804,1223=>837,1224=>691,1225=>938,1226=>806,1227=>808,1228=>687,1229=>1096,1230=>932,1231=>343,1232=>774,1233=>675,1234=>774,1235=>675,1236=>1085,1237=>1048,1238=>683,1239=>678,1240=>850,1241=>678,1242=>850,1243=>678,1244=>1224,1245=>995,1246=>710,1247=>581,1248=>772,1249=>641,1250=>837,1251=>701,1252=>837,1253=>701,1254=>850,1255=>687,1256=>850,1257=>687,1258=>850,1259=>687,1260=>734,1261=>593,1262=>771,1263=>652,1264=>771,1265=>652,1266=>771,1267=>652,1268=>808,1269=>687,1270=>637,1271=>522,1272=>1036,1273=>904,1274=>666,1275=>543,1276=>771,1277=>645,1278=>771,1279=>645,1280=>762,1281=>608,1282=>1159,1283=>893,1284=>1119,1285=>920,1286=>828,1287=>693,1288=>1242,1289=>1017,1290=>1289,1291=>1013,1292=>839,1293=>638,1294=>938,1295=>803,1296=>696,1297=>557,1298=>831,1299=>732,1300=>1286,1301=>1070,1302=>1065,1303=>982,1304=>1082,1305=>960,1306=>850,1307=>716,1308=>1103,1309=>924,1310=>817,1311=>679,1312=>1248,1313=>1022,1314=>1254,1315=>979,1316=>957,1317=>807,1329=>904,1330=>810,1331=>809,1332=>813,1333=>810,1334=>815,1335=>724,1336=>800,1337=>1004,1338=>809,1339=>740,1340=>620,1341=>1068,1342=>875,1343=>792,1344=>723,1345=>811,1346=>794,1347=>782,1348=>867,1349=>766,1350=>794,1351=>787,1352=>812,1353=>752,1354=>963,1355=>790,1356=>867,1357=>812,1358=>794,1359=>771,1360=>740,1361=>775,1362=>640,1363=>926,1364=>775,1365=>848,1366=>951,1369=>366,1370=>380,1371=>342,1372=>415,1373=>348,1374=>513,1375=>521,1377=>1043,1378=>713,1379=>782,1380=>786,1381=>713,1382=>715,1383=>628,1384=>713,1385=>840,1386=>782,1387=>714,1388=>344,1389=>1094,1390=>708,1391=>714,1392=>714,1393=>670,1394=>714,1395=>713,1396=>714,1397=>343,1398=>714,1399=>541,1400=>714,1401=>407,1402=>1043,1403=>636,1404=>740,1405=>714,1406=>714,1407=>1038,1408=>714,1409=>714,1410=>532,1411=>1038,1412=>720,1413=>689,1414=>904,1415=>902,1417=>400,1418=>415,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>415,1471=>0,1472=>372,1473=>0,1474=>0,1475=>372,1478=>497,1479=>0,1488=>728,1489=>610,1490=>447,1491=>588,1492=>687,1493=>343,1494=>400,1495=>687,1496=>679,1497=>294,1498=>578,1499=>566,1500=>605,1501=>696,1502=>724,1503=>343,1504=>453,1505=>680,1506=>666,1507=>675,1508=>658,1509=>661,1510=>653,1511=>736,1512=>602,1513=>749,1514=>683,1520=>664,1521=>664,1522=>663,1523=>444,1524=>710,3647=>696,3713=>815,3714=>748,3716=>749,3719=>569,3720=>742,3722=>744,3725=>761,3732=>706,3733=>704,3734=>747,3735=>819,3737=>730,3738=>727,3739=>727,3740=>922,3741=>827,3742=>866,3743=>866,3745=>836,3746=>761,3747=>770,3749=>769,3751=>713,3754=>827,3755=>1031,3757=>724,3758=>784,3759=>934,3760=>688,3761=>0,3762=>610,3763=>610,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>670,3776=>516,3777=>860,3778=>516,3779=>650,3780=>632,3782=>759,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>771,3793=>771,3794=>693,3795=>836,3796=>729,3797=>729,3798=>849,3799=>790,3800=>759,3801=>910,3804=>1363,3805=>1363,4256=>874,4257=>733,4258=>679,4259=>834,4260=>615,4261=>768,4262=>753,4263=>914,4264=>453,4265=>620,4266=>843,4267=>882,4268=>625,4269=>854,4270=>781,4271=>629,4272=>912,4273=>621,4274=>620,4275=>854,4276=>866,4277=>724,4278=>630,4279=>621,4280=>625,4281=>620,4282=>818,4283=>874,4284=>615,4285=>623,4286=>625,4287=>725,4288=>844,4289=>596,4290=>688,4291=>596,4292=>594,4293=>738,4304=>554,4305=>563,4306=>622,4307=>834,4308=>550,4309=>559,4310=>546,4311=>828,4312=>563,4313=>556,4314=>1074,4315=>563,4316=>563,4317=>814,4318=>554,4319=>559,4320=>823,4321=>563,4322=>700,4323=>582,4324=>847,4325=>555,4326=>814,4327=>559,4328=>543,4329=>563,4330=>622,4331=>563,4332=>543,4333=>566,4334=>563,4335=>530,4336=>554,4337=>554,4338=>553,4339=>554,4340=>553,4341=>583,4342=>853,4343=>604,4344=>559,4345=>632,4346=>554,4347=>448,4348=>324,5121=>774,5122=>774,5123=>774,5124=>774,5125=>905,5126=>905,5127=>905,5129=>905,5130=>905,5131=>905,5132=>1018,5133=>1009,5134=>1018,5135=>1009,5136=>1018,5137=>1009,5138=>1149,5139=>1140,5140=>1149,5141=>1140,5142=>905,5143=>1149,5144=>1142,5145=>1149,5146=>1142,5147=>905,5149=>310,5150=>529,5151=>425,5152=>425,5153=>395,5154=>395,5155=>395,5156=>395,5157=>564,5158=>470,5159=>310,5160=>395,5161=>395,5162=>395,5163=>1213,5164=>986,5165=>1216,5166=>1297,5167=>774,5168=>774,5169=>774,5170=>774,5171=>886,5172=>886,5173=>886,5175=>886,5176=>886,5177=>886,5178=>1018,5179=>1009,5180=>1018,5181=>1009,5182=>1018,5183=>1009,5184=>1149,5185=>1140,5186=>1149,5187=>1140,5188=>1149,5189=>1142,5190=>1149,5191=>1142,5192=>886,5193=>576,5194=>229,5196=>812,5197=>812,5198=>812,5199=>812,5200=>815,5201=>815,5202=>815,5204=>815,5205=>815,5206=>815,5207=>1056,5208=>1048,5209=>1056,5210=>1048,5211=>1056,5212=>1048,5213=>1060,5214=>1054,5215=>1060,5216=>1054,5217=>1060,5218=>1052,5219=>1060,5220=>1052,5221=>1060,5222=>483,5223=>1005,5224=>1005,5225=>1023,5226=>1017,5227=>743,5228=>743,5229=>743,5230=>743,5231=>743,5232=>743,5233=>743,5234=>743,5235=>743,5236=>1029,5237=>975,5238=>980,5239=>975,5240=>980,5241=>975,5242=>1029,5243=>975,5244=>1029,5245=>975,5246=>980,5247=>975,5248=>980,5249=>975,5250=>980,5251=>501,5252=>501,5253=>938,5254=>938,5255=>938,5256=>938,5257=>743,5258=>743,5259=>743,5260=>743,5261=>743,5262=>743,5263=>743,5264=>743,5265=>743,5266=>1029,5267=>975,5268=>1029,5269=>975,5270=>1029,5271=>975,5272=>1029,5273=>975,5274=>1029,5275=>975,5276=>1029,5277=>975,5278=>1029,5279=>975,5280=>1029,5281=>501,5282=>501,5283=>626,5284=>626,5285=>626,5286=>626,5287=>626,5288=>626,5289=>626,5290=>626,5291=>626,5292=>881,5293=>854,5294=>863,5295=>874,5296=>863,5297=>874,5298=>881,5299=>874,5300=>881,5301=>874,5302=>863,5303=>874,5304=>863,5305=>874,5306=>863,5307=>436,5308=>548,5309=>436,5312=>988,5313=>988,5314=>988,5315=>988,5316=>931,5317=>931,5318=>931,5319=>931,5320=>931,5321=>1238,5322=>1247,5323=>1200,5324=>1228,5325=>1200,5326=>1228,5327=>931,5328=>660,5329=>497,5330=>660,5331=>988,5332=>988,5333=>988,5334=>988,5335=>931,5336=>931,5337=>931,5338=>931,5339=>931,5340=>1231,5341=>1247,5342=>1283,5343=>1228,5344=>1283,5345=>1228,5346=>1228,5347=>1214,5348=>1228,5349=>1214,5350=>1283,5351=>1228,5352=>1283,5353=>1228,5354=>660,5356=>886,5357=>730,5358=>730,5359=>730,5360=>730,5361=>730,5362=>730,5363=>730,5364=>730,5365=>730,5366=>998,5367=>958,5368=>967,5369=>989,5370=>967,5371=>989,5372=>998,5373=>958,5374=>998,5375=>958,5376=>967,5377=>989,5378=>967,5379=>989,5380=>967,5381=>493,5382=>460,5383=>493,5392=>923,5393=>923,5394=>923,5395=>1136,5396=>1136,5397=>1136,5398=>1136,5399=>1209,5400=>1202,5401=>1209,5402=>1202,5403=>1209,5404=>1202,5405=>1431,5406=>1420,5407=>1431,5408=>1420,5409=>1431,5410=>1420,5411=>1431,5412=>1420,5413=>746,5414=>776,5415=>776,5416=>776,5417=>776,5418=>776,5419=>776,5420=>776,5421=>776,5422=>776,5423=>1003,5424=>1003,5425=>1013,5426=>996,5427=>1013,5428=>996,5429=>1003,5430=>1003,5431=>1003,5432=>1003,5433=>1013,5434=>996,5435=>1013,5436=>996,5437=>1013,5438=>495,5440=>395,5441=>510,5442=>1033,5443=>1033,5444=>976,5445=>976,5446=>976,5447=>976,5448=>733,5449=>733,5450=>733,5451=>733,5452=>733,5453=>733,5454=>1003,5455=>959,5456=>495,5458=>886,5459=>774,5460=>774,5461=>774,5462=>774,5463=>928,5464=>928,5465=>928,5466=>928,5467=>1172,5468=>1142,5469=>602,5470=>812,5471=>812,5472=>812,5473=>812,5474=>812,5475=>812,5476=>815,5477=>815,5478=>815,5479=>815,5480=>1060,5481=>1052,5482=>548,5492=>977,5493=>977,5494=>977,5495=>977,5496=>977,5497=>977,5498=>977,5499=>618,5500=>837,5501=>510,5502=>1238,5503=>1238,5504=>1238,5505=>1238,5506=>1238,5507=>1238,5508=>1238,5509=>989,5514=>977,5515=>977,5516=>977,5517=>977,5518=>1591,5519=>1591,5520=>1591,5521=>1295,5522=>1295,5523=>1591,5524=>1591,5525=>848,5526=>1273,5536=>988,5537=>988,5538=>931,5539=>931,5540=>931,5541=>931,5542=>660,5543=>776,5544=>776,5545=>776,5546=>776,5547=>776,5548=>776,5549=>776,5550=>495,5551=>743,5598=>830,5601=>830,5702=>496,5703=>496,5742=>413,5743=>1238,5744=>1591,5745=>2016,5746=>2016,5747=>1720,5748=>1678,5749=>2016,5750=>2016,7424=>652,7425=>833,7426=>1048,7427=>608,7428=>593,7429=>676,7430=>676,7431=>559,7432=>557,7433=>343,7434=>494,7435=>665,7436=>539,7437=>817,7438=>701,7439=>687,7440=>593,7441=>660,7442=>660,7443=>660,7444=>1094,7446=>687,7447=>687,7448=>556,7449=>642,7450=>642,7451=>580,7452=>634,7453=>737,7454=>948,7455=>695,7456=>652,7457=>924,7458=>582,7459=>646,7462=>539,7463=>652,7464=>691,7465=>556,7466=>781,7467=>732,7468=>487,7469=>683,7470=>480,7472=>523,7473=>430,7474=>430,7475=>517,7476=>527,7477=>234,7478=>234,7479=>488,7480=>401,7481=>626,7482=>527,7483=>527,7484=>535,7485=>509,7486=>461,7487=>485,7488=>430,7489=>511,7490=>695,7491=>458,7492=>458,7493=>479,7494=>712,7495=>479,7496=>479,7497=>479,7498=>479,7499=>386,7500=>386,7501=>479,7502=>219,7503=>487,7504=>664,7505=>456,7506=>488,7507=>414,7508=>488,7509=>488,7510=>479,7511=>388,7512=>456,7513=>462,7514=>664,7515=>501,7517=>451,7518=>429,7519=>433,7520=>493,7521=>406,7522=>219,7523=>315,7524=>456,7525=>501,7526=>451,7527=>429,7528=>451,7529=>493,7530=>406,7543=>716,7544=>527,7547=>545,7549=>747,7557=>514,7579=>479,7580=>414,7581=>414,7582=>488,7583=>386,7584=>377,7585=>348,7586=>479,7587=>456,7588=>347,7589=>281,7590=>347,7591=>347,7592=>431,7593=>326,7594=>330,7595=>370,7596=>664,7597=>664,7598=>562,7599=>562,7600=>448,7601=>488,7602=>542,7603=>422,7604=>396,7605=>388,7606=>583,7607=>494,7608=>399,7609=>451,7610=>501,7611=>417,7612=>523,7613=>470,7614=>455,7615=>425,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>774,7681=>675,7682=>762,7683=>716,7684=>762,7685=>716,7686=>762,7687=>716,7688=>734,7689=>593,7690=>830,7691=>716,7692=>830,7693=>716,7694=>830,7695=>716,7696=>830,7697=>716,7698=>830,7699=>716,7700=>683,7701=>678,7702=>683,7703=>678,7704=>683,7705=>678,7706=>683,7707=>678,7708=>683,7709=>678,7710=>683,7711=>435,7712=>821,7713=>716,7714=>837,7715=>712,7716=>837,7717=>712,7718=>837,7719=>712,7720=>837,7721=>712,7722=>837,7723=>712,7724=>372,7725=>343,7726=>372,7727=>343,7728=>775,7729=>665,7730=>775,7731=>665,7732=>775,7733=>665,7734=>637,7735=>343,7736=>637,7737=>343,7738=>637,7739=>343,7740=>637,7741=>343,7742=>995,7743=>1042,7744=>995,7745=>1042,7746=>995,7747=>1042,7748=>837,7749=>712,7750=>837,7751=>712,7752=>837,7753=>712,7754=>837,7755=>712,7756=>850,7757=>687,7758=>850,7759=>687,7760=>850,7761=>687,7762=>850,7763=>687,7764=>733,7765=>716,7766=>733,7767=>716,7768=>770,7769=>493,7770=>770,7771=>493,7772=>770,7773=>493,7774=>770,7775=>493,7776=>720,7777=>595,7778=>720,7779=>595,7780=>720,7781=>595,7782=>720,7783=>595,7784=>720,7785=>595,7786=>682,7787=>478,7788=>682,7789=>478,7790=>682,7791=>478,7792=>682,7793=>478,7794=>812,7795=>712,7796=>812,7797=>712,7798=>812,7799=>712,7800=>812,7801=>712,7802=>812,7803=>712,7804=>774,7805=>652,7806=>774,7807=>652,7808=>1103,7809=>924,7810=>1103,7811=>924,7812=>1103,7813=>924,7814=>1103,7815=>924,7816=>1103,7817=>924,7818=>771,7819=>645,7820=>771,7821=>645,7822=>724,7823=>652,7824=>725,7825=>582,7826=>725,7827=>582,7828=>725,7829=>582,7830=>712,7831=>478,7832=>924,7833=>652,7834=>675,7835=>435,7836=>435,7837=>435,7838=>896,7839=>687,7840=>774,7841=>675,7842=>774,7843=>675,7844=>774,7845=>675,7846=>774,7847=>675,7848=>774,7849=>675,7850=>774,7851=>675,7852=>774,7853=>675,7854=>774,7855=>675,7856=>774,7857=>675,7858=>774,7859=>675,7860=>774,7861=>675,7862=>774,7863=>675,7864=>683,7865=>678,7866=>683,7867=>678,7868=>683,7869=>678,7870=>683,7871=>678,7872=>683,7873=>678,7874=>683,7875=>678,7876=>683,7877=>678,7878=>683,7879=>678,7880=>372,7881=>343,7882=>372,7883=>343,7884=>850,7885=>687,7886=>850,7887=>687,7888=>850,7889=>687,7890=>850,7891=>687,7892=>850,7893=>687,7894=>850,7895=>687,7896=>850,7897=>687,7898=>850,7899=>687,7900=>850,7901=>687,7902=>850,7903=>687,7904=>850,7905=>687,7906=>850,7907=>687,7908=>812,7909=>712,7910=>812,7911=>712,7912=>812,7913=>712,7914=>812,7915=>712,7916=>812,7917=>712,7918=>812,7919=>712,7920=>812,7921=>712,7922=>724,7923=>652,7924=>724,7925=>652,7926=>724,7927=>652,7928=>724,7929=>652,7930=>953,7931=>644,7936=>687,7937=>687,7938=>687,7939=>687,7940=>687,7941=>687,7942=>687,7943=>687,7944=>774,7945=>774,7946=>1041,7947=>1043,7948=>935,7949=>963,7950=>835,7951=>859,7952=>557,7953=>557,7954=>557,7955=>557,7956=>557,7957=>557,7960=>792,7961=>794,7962=>1100,7963=>1096,7964=>1023,7965=>1052,7968=>712,7969=>712,7970=>712,7971=>712,7972=>712,7973=>712,7974=>712,7975=>712,7976=>945,7977=>951,7978=>1250,7979=>1250,7980=>1180,7981=>1206,7982=>1054,7983=>1063,7984=>390,7985=>390,7986=>390,7987=>390,7988=>390,7989=>390,7990=>390,7991=>390,7992=>483,7993=>489,7994=>777,7995=>785,7996=>712,7997=>738,7998=>604,7999=>604,8000=>687,8001=>687,8002=>687,8003=>687,8004=>687,8005=>687,8008=>892,8009=>933,8010=>1221,8011=>1224,8012=>1053,8013=>1082,8016=>675,8017=>675,8018=>675,8019=>675,8020=>675,8021=>675,8022=>675,8023=>675,8025=>930,8027=>1184,8029=>1199,8031=>1049,8032=>869,8033=>869,8034=>869,8035=>869,8036=>869,8037=>869,8038=>869,8039=>869,8040=>909,8041=>958,8042=>1246,8043=>1251,8044=>1076,8045=>1105,8046=>1028,8047=>1076,8048=>687,8049=>687,8050=>557,8051=>557,8052=>712,8053=>712,8054=>390,8055=>390,8056=>687,8057=>687,8058=>675,8059=>675,8060=>869,8061=>869,8064=>687,8065=>687,8066=>687,8067=>687,8068=>687,8069=>687,8070=>687,8071=>687,8072=>774,8073=>774,8074=>1041,8075=>1043,8076=>935,8077=>963,8078=>835,8079=>859,8080=>712,8081=>712,8082=>712,8083=>712,8084=>712,8085=>712,8086=>712,8087=>712,8088=>945,8089=>951,8090=>1250,8091=>1250,8092=>1180,8093=>1206,8094=>1054,8095=>1063,8096=>869,8097=>869,8098=>869,8099=>869,8100=>869,8101=>869,8102=>869,8103=>869,8104=>909,8105=>958,8106=>1246,8107=>1251,8108=>1076,8109=>1105,8110=>1028,8111=>1076,8112=>687,8113=>687,8114=>687,8115=>687,8116=>687,8118=>687,8119=>687,8120=>774,8121=>774,8122=>876,8123=>797,8124=>774,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>712,8131=>712,8132=>712,8134=>712,8135=>712,8136=>929,8137=>846,8138=>1080,8139=>1009,8140=>837,8141=>500,8142=>500,8143=>500,8144=>390,8145=>390,8146=>390,8147=>390,8150=>390,8151=>390,8152=>372,8153=>372,8154=>621,8155=>563,8157=>500,8158=>500,8159=>500,8160=>675,8161=>675,8162=>675,8163=>675,8164=>716,8165=>716,8166=>675,8167=>675,8168=>724,8169=>724,8170=>1020,8171=>980,8172=>838,8173=>500,8174=>500,8175=>500,8178=>869,8179=>869,8180=>869,8182=>869,8183=>869,8184=>1065,8185=>891,8186=>1084,8187=>894,8188=>850,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>696,8200=>380,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>415,8209=>415,8210=>696,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>380,8217=>380,8218=>380,8219=>380,8220=>644,8221=>644,8222=>644,8223=>657,8224=>500,8225=>500,8226=>639,8227=>639,8228=>380,8229=>685,8230=>1000,8231=>348,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1454,8241=>1908,8242=>264,8243=>447,8244=>630,8245=>264,8246=>447,8247=>630,8248=>733,8249=>412,8250=>412,8251=>972,8252=>627,8253=>580,8254=>500,8255=>828,8256=>828,8257=>329,8258=>1023,8259=>500,8260=>167,8261=>457,8262=>457,8263=>1030,8264=>829,8265=>829,8266=>513,8267=>687,8268=>500,8269=>500,8270=>523,8271=>400,8272=>828,8273=>523,8274=>556,8275=>838,8276=>828,8277=>838,8278=>684,8279=>813,8280=>838,8281=>838,8282=>380,8283=>872,8284=>838,8285=>380,8286=>380,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>438,8305=>219,8308=>438,8309=>438,8310=>438,8311=>438,8312=>438,8313=>438,8314=>528,8315=>528,8316=>528,8317=>288,8318=>288,8319=>456,8320=>438,8321=>438,8322=>438,8323=>438,8324=>438,8325=>438,8326=>438,8327=>438,8328=>438,8329=>438,8330=>528,8331=>528,8332=>528,8333=>288,8334=>288,8336=>458,8337=>479,8338=>488,8339=>413,8340=>479,8341=>456,8342=>487,8343=>219,8344=>664,8345=>456,8346=>479,8347=>381,8348=>388,8352=>929,8353=>696,8354=>696,8355=>696,8356=>696,8357=>1042,8358=>837,8359=>1488,8360=>1205,8361=>1103,8362=>854,8363=>696,8364=>696,8365=>696,8366=>696,8367=>1392,8368=>696,8369=>696,8370=>696,8371=>696,8372=>859,8373=>696,8376=>696,8377=>696,8378=>769,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>1106,8449=>1106,8450=>734,8451=>1211,8452=>896,8453=>1114,8454=>1148,8455=>696,8456=>698,8457=>952,8459=>1073,8460=>913,8461=>888,8462=>712,8463=>712,8464=>597,8465=>697,8466=>856,8467=>472,8468=>974,8469=>837,8470=>1203,8471=>1000,8472=>697,8473=>750,8474=>850,8475=>938,8476=>814,8477=>801,8478=>896,8479=>710,8480=>1020,8481=>1239,8482=>1000,8483=>834,8484=>754,8485=>622,8486=>850,8487=>769,8488=>763,8489=>303,8490=>775,8491=>774,8492=>928,8493=>818,8494=>854,8495=>636,8496=>729,8497=>808,8498=>683,8499=>1184,8500=>465,8501=>794,8502=>731,8503=>494,8504=>684,8505=>380,8506=>945,8507=>1370,8508=>790,8509=>737,8510=>654,8511=>863,8512=>840,8513=>786,8514=>576,8515=>637,8516=>760,8517=>830,8518=>716,8519=>678,8520=>343,8521=>343,8523=>872,8526=>547,8528=>1035,8529=>1035,8530=>1483,8531=>1035,8532=>1035,8533=>1035,8534=>1035,8535=>1035,8536=>1035,8537=>1035,8538=>1035,8539=>1035,8540=>1035,8541=>1035,8542=>1035,8543=>615,8544=>372,8545=>659,8546=>945,8547=>1099,8548=>774,8549=>1099,8550=>1386,8551=>1672,8552=>1121,8553=>771,8554=>1120,8555=>1407,8556=>637,8557=>734,8558=>830,8559=>995,8560=>343,8561=>607,8562=>872,8563=>984,8564=>652,8565=>962,8566=>1227,8567=>1491,8568=>969,8569=>645,8570=>969,8571=>1233,8572=>343,8573=>593,8574=>716,8575=>1042,8576=>1289,8577=>830,8578=>1289,8579=>734,8580=>593,8581=>734,8585=>1035,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>838,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>774,8705=>696,8706=>544,8707=>683,8708=>683,8709=>856,8710=>697,8711=>697,8712=>896,8713=>896,8714=>750,8715=>896,8716=>896,8717=>750,8718=>636,8719=>787,8720=>787,8721=>718,8722=>838,8723=>838,8724=>696,8725=>365,8726=>696,8727=>838,8728=>626,8729=>380,8730=>667,8731=>667,8732=>667,8733=>712,8734=>833,8735=>838,8736=>896,8737=>896,8738=>838,8739=>500,8740=>500,8741=>500,8742=>500,8743=>812,8744=>812,8745=>812,8746=>812,8747=>610,8748=>929,8749=>1295,8750=>563,8751=>977,8752=>1313,8753=>563,8754=>563,8755=>563,8756=>696,8757=>696,8758=>294,8759=>696,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8766=>838,8767=>838,8768=>375,8769=>838,8770=>838,8771=>838,8772=>838,8773=>838,8774=>838,8775=>838,8776=>838,8777=>838,8778=>838,8779=>838,8780=>838,8781=>838,8782=>838,8783=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1063,8789=>1063,8790=>838,8791=>838,8792=>838,8793=>838,8794=>838,8795=>838,8796=>838,8797=>838,8798=>838,8799=>838,8800=>838,8801=>838,8802=>838,8803=>838,8804=>838,8805=>838,8806=>838,8807=>838,8808=>841,8809=>841,8810=>1047,8811=>1047,8812=>500,8813=>838,8814=>838,8815=>838,8816=>838,8817=>838,8818=>838,8819=>838,8820=>838,8821=>838,8822=>838,8823=>838,8824=>838,8825=>838,8826=>838,8827=>838,8828=>838,8829=>838,8830=>838,8831=>838,8832=>838,8833=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8840=>838,8841=>838,8842=>838,8843=>838,8844=>812,8845=>812,8846=>812,8847=>838,8848=>838,8849=>838,8850=>838,8851=>796,8852=>796,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>914,8867=>914,8868=>914,8869=>914,8870=>542,8871=>542,8872=>914,8873=>914,8874=>914,8875=>914,8876=>914,8877=>914,8878=>914,8879=>914,8880=>838,8881=>838,8882=>838,8883=>838,8884=>838,8885=>838,8886=>1000,8887=>1000,8888=>838,8889=>838,8890=>542,8891=>812,8892=>812,8893=>812,8894=>838,8895=>838,8896=>843,8897=>843,8898=>843,8899=>843,8900=>494,8901=>380,8902=>626,8903=>838,8904=>1000,8905=>1000,8906=>1000,8907=>1000,8908=>1000,8909=>838,8910=>812,8911=>812,8912=>838,8913=>838,8914=>838,8915=>838,8916=>838,8917=>838,8918=>838,8919=>838,8920=>1422,8921=>1422,8922=>838,8923=>838,8924=>838,8925=>838,8926=>838,8927=>838,8928=>838,8929=>838,8930=>838,8931=>838,8932=>838,8933=>838,8934=>838,8935=>838,8936=>838,8937=>838,8938=>838,8939=>838,8940=>838,8941=>838,8942=>1000,8943=>1000,8944=>1000,8945=>1000,8946=>1158,8947=>896,8948=>750,8949=>896,8950=>896,8951=>750,8952=>896,8953=>896,8954=>1158,8955=>896,8956=>750,8957=>896,8958=>750,8959=>896,8960=>602,8961=>602,8962=>716,8963=>838,8964=>838,8965=>838,8966=>838,8967=>488,8968=>457,8969=>457,8970=>457,8971=>457,8972=>809,8973=>809,8974=>809,8975=>809,8976=>838,8977=>539,8984=>928,8985=>838,8988=>469,8989=>469,8990=>469,8991=>469,8992=>610,8993=>610,8996=>1152,8997=>1152,8998=>1414,8999=>1152,9000=>1443,9003=>1414,9004=>873,9075=>390,9076=>716,9077=>869,9082=>687,9085=>863,9095=>1152,9108=>873,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>610,9166=>838,9167=>945,9187=>873,9189=>769,9192=>696,9250=>716,9251=>716,9312=>847,9313=>847,9314=>847,9315=>847,9316=>847,9317=>847,9318=>847,9319=>847,9320=>847,9321=>847,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>840,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>769,9697=>769,9698=>769,9699=>769,9700=>769,9701=>769,9702=>639,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9729=>1000,9730=>896,9731=>896,9732=>896,9733=>896,9734=>896,9735=>573,9736=>896,9737=>896,9738=>888,9739=>888,9740=>671,9741=>1013,9742=>1246,9743=>1250,9744=>896,9745=>896,9746=>896,9747=>532,9748=>896,9749=>896,9750=>896,9751=>896,9752=>896,9753=>896,9754=>896,9755=>896,9756=>896,9757=>609,9758=>896,9759=>609,9760=>896,9761=>896,9762=>896,9763=>896,9764=>669,9765=>746,9766=>649,9767=>784,9768=>545,9769=>896,9770=>896,9771=>896,9772=>710,9773=>896,9774=>896,9775=>896,9776=>896,9777=>896,9778=>896,9779=>896,9780=>896,9781=>896,9782=>896,9783=>896,9784=>896,9785=>1042,9786=>1042,9787=>1042,9788=>896,9789=>896,9790=>896,9791=>614,9792=>732,9793=>732,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9800=>896,9801=>896,9802=>896,9803=>896,9804=>896,9805=>896,9806=>896,9807=>896,9808=>896,9809=>896,9810=>896,9811=>896,9812=>896,9813=>896,9814=>896,9815=>896,9816=>896,9817=>896,9818=>896,9819=>896,9820=>896,9821=>896,9822=>896,9823=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9832=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,9840=>748,9841=>766,9842=>896,9843=>896,9844=>896,9845=>896,9846=>896,9847=>896,9848=>896,9849=>896,9850=>896,9851=>896,9852=>896,9853=>896,9854=>896,9855=>896,9856=>869,9857=>869,9858=>869,9859=>869,9860=>869,9861=>869,9862=>896,9863=>896,9864=>896,9865=>896,9866=>896,9867=>896,9868=>896,9869=>896,9870=>896,9871=>896,9872=>896,9873=>896,9874=>896,9875=>896,9876=>896,9877=>541,9878=>896,9879=>896,9880=>896,9881=>896,9882=>896,9883=>896,9884=>896,9888=>896,9889=>702,9890=>1004,9891=>1089,9892=>1175,9893=>903,9894=>838,9895=>838,9896=>838,9897=>838,9898=>838,9899=>838,9900=>838,9901=>838,9902=>838,9903=>838,9904=>844,9905=>838,9906=>732,9907=>732,9908=>732,9909=>732,9910=>850,9911=>732,9912=>732,9920=>838,9921=>838,9922=>838,9923=>838,9954=>732,9985=>838,9986=>838,9987=>838,9988=>838,9990=>838,9991=>838,9992=>838,9993=>838,9996=>838,9997=>838,9998=>838,9999=>838,10000=>838,10001=>838,10002=>838,10003=>838,10004=>838,10005=>838,10006=>838,10007=>838,10008=>838,10009=>838,10010=>838,10011=>838,10012=>838,10013=>838,10014=>838,10015=>838,10016=>838,10017=>838,10018=>838,10019=>838,10020=>838,10021=>838,10022=>838,10023=>838,10025=>838,10026=>838,10027=>838,10028=>838,10029=>838,10030=>838,10031=>838,10032=>838,10033=>838,10034=>838,10035=>838,10036=>838,10037=>838,10038=>838,10039=>838,10040=>838,10041=>838,10042=>838,10043=>838,10044=>838,10045=>838,10046=>838,10047=>838,10048=>838,10049=>838,10050=>838,10051=>838,10052=>838,10053=>838,10054=>838,10055=>838,10056=>838,10057=>838,10058=>838,10059=>838,10061=>896,10063=>896,10064=>896,10065=>896,10066=>896,10070=>896,10072=>838,10073=>838,10074=>838,10075=>322,10076=>322,10077=>538,10078=>538,10081=>838,10082=>838,10083=>838,10084=>838,10085=>838,10086=>838,10087=>838,10088=>838,10089=>838,10090=>838,10091=>838,10092=>838,10093=>838,10094=>838,10095=>838,10096=>838,10097=>838,10098=>838,10099=>838,10100=>838,10101=>838,10102=>847,10103=>847,10104=>847,10105=>847,10106=>847,10107=>847,10108=>847,10109=>847,10110=>847,10111=>847,10112=>838,10113=>838,10114=>838,10115=>838,10116=>838,10117=>838,10118=>838,10119=>838,10120=>838,10121=>838,10122=>838,10123=>838,10124=>838,10125=>838,10126=>838,10127=>838,10128=>838,10129=>838,10130=>838,10131=>838,10132=>838,10136=>838,10137=>838,10138=>838,10139=>838,10140=>838,10141=>838,10142=>838,10143=>838,10144=>838,10145=>838,10146=>838,10147=>838,10148=>838,10149=>838,10150=>838,10151=>838,10152=>838,10153=>838,10154=>838,10155=>838,10156=>838,10157=>838,10158=>838,10159=>838,10161=>838,10162=>838,10163=>838,10164=>838,10165=>838,10166=>838,10167=>838,10168=>838,10169=>838,10170=>838,10171=>838,10172=>838,10173=>838,10174=>838,10181=>457,10182=>457,10208=>494,10214=>487,10215=>487,10216=>457,10217=>457,10218=>721,10219=>721,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1157,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>781,10241=>781,10242=>781,10243=>781,10244=>781,10245=>781,10246=>781,10247=>781,10248=>781,10249=>781,10250=>781,10251=>781,10252=>781,10253=>781,10254=>781,10255=>781,10256=>781,10257=>781,10258=>781,10259=>781,10260=>781,10261=>781,10262=>781,10263=>781,10264=>781,10265=>781,10266=>781,10267=>781,10268=>781,10269=>781,10270=>781,10271=>781,10272=>781,10273=>781,10274=>781,10275=>781,10276=>781,10277=>781,10278=>781,10279=>781,10280=>781,10281=>781,10282=>781,10283=>781,10284=>781,10285=>781,10286=>781,10287=>781,10288=>781,10289=>781,10290=>781,10291=>781,10292=>781,10293=>781,10294=>781,10295=>781,10296=>781,10297=>781,10298=>781,10299=>781,10300=>781,10301=>781,10302=>781,10303=>781,10304=>781,10305=>781,10306=>781,10307=>781,10308=>781,10309=>781,10310=>781,10311=>781,10312=>781,10313=>781,10314=>781,10315=>781,10316=>781,10317=>781,10318=>781,10319=>781,10320=>781,10321=>781,10322=>781,10323=>781,10324=>781,10325=>781,10326=>781,10327=>781,10328=>781,10329=>781,10330=>781,10331=>781,10332=>781,10333=>781,10334=>781,10335=>781,10336=>781,10337=>781,10338=>781,10339=>781,10340=>781,10341=>781,10342=>781,10343=>781,10344=>781,10345=>781,10346=>781,10347=>781,10348=>781,10349=>781,10350=>781,10351=>781,10352=>781,10353=>781,10354=>781,10355=>781,10356=>781,10357=>781,10358=>781,10359=>781,10360=>781,10361=>781,10362=>781,10363=>781,10364=>781,10365=>781,10366=>781,10367=>781,10368=>781,10369=>781,10370=>781,10371=>781,10372=>781,10373=>781,10374=>781,10375=>781,10376=>781,10377=>781,10378=>781,10379=>781,10380=>781,10381=>781,10382=>781,10383=>781,10384=>781,10385=>781,10386=>781,10387=>781,10388=>781,10389=>781,10390=>781,10391=>781,10392=>781,10393=>781,10394=>781,10395=>781,10396=>781,10397=>781,10398=>781,10399=>781,10400=>781,10401=>781,10402=>781,10403=>781,10404=>781,10405=>781,10406=>781,10407=>781,10408=>781,10409=>781,10410=>781,10411=>781,10412=>781,10413=>781,10414=>781,10415=>781,10416=>781,10417=>781,10418=>781,10419=>781,10420=>781,10421=>781,10422=>781,10423=>781,10424=>781,10425=>781,10426=>781,10427=>781,10428=>781,10429=>781,10430=>781,10431=>781,10432=>781,10433=>781,10434=>781,10435=>781,10436=>781,10437=>781,10438=>781,10439=>781,10440=>781,10441=>781,10442=>781,10443=>781,10444=>781,10445=>781,10446=>781,10447=>781,10448=>781,10449=>781,10450=>781,10451=>781,10452=>781,10453=>781,10454=>781,10455=>781,10456=>781,10457=>781,10458=>781,10459=>781,10460=>781,10461=>781,10462=>781,10463=>781,10464=>781,10465=>781,10466=>781,10467=>781,10468=>781,10469=>781,10470=>781,10471=>781,10472=>781,10473=>781,10474=>781,10475=>781,10476=>781,10477=>781,10478=>781,10479=>781,10480=>781,10481=>781,10482=>781,10483=>781,10484=>781,10485=>781,10486=>781,10487=>781,10488=>781,10489=>781,10490=>781,10491=>781,10492=>781,10493=>781,10494=>781,10495=>781,10502=>838,10503=>838,10506=>838,10507=>838,10560=>838,10561=>838,10627=>753,10628=>753,10702=>838,10703=>1046,10704=>1046,10705=>1000,10706=>1000,10707=>1000,10708=>1000,10709=>1000,10731=>494,10746=>838,10747=>838,10752=>1000,10753=>1000,10754=>1000,10764=>1661,10765=>563,10766=>563,10767=>563,10768=>563,10769=>563,10770=>563,10771=>563,10772=>563,10773=>563,10774=>563,10775=>563,10776=>563,10777=>563,10778=>563,10779=>563,10780=>563,10799=>838,10858=>838,10859=>838,10877=>838,10878=>838,10879=>838,10880=>838,10881=>838,10882=>838,10883=>838,10884=>838,10885=>838,10886=>838,10887=>838,10888=>838,10889=>838,10890=>838,10891=>838,10892=>838,10893=>838,10894=>838,10895=>838,10896=>838,10897=>838,10898=>838,10899=>838,10900=>838,10901=>838,10902=>838,10903=>838,10904=>838,10905=>838,10906=>838,10907=>838,10908=>838,10909=>838,10910=>838,10911=>838,10912=>838,10926=>838,10927=>838,10928=>838,10929=>838,10930=>838,10931=>838,10932=>838,10933=>838,10934=>838,10935=>838,10936=>838,10937=>838,10938=>838,11001=>838,11002=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>838,11023=>838,11024=>838,11025=>838,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11039=>869,11040=>869,11041=>873,11042=>873,11043=>873,11044=>1119,11091=>869,11092=>869,11360=>637,11361=>360,11362=>637,11363=>733,11364=>770,11365=>675,11366=>478,11367=>956,11368=>712,11369=>775,11370=>665,11371=>725,11372=>582,11373=>860,11374=>995,11375=>774,11376=>860,11377=>778,11378=>1221,11379=>1056,11380=>652,11381=>698,11382=>565,11383=>782,11385=>538,11386=>687,11387=>559,11388=>219,11389=>487,11390=>720,11391=>725,11520=>663,11521=>676,11522=>661,11523=>629,11524=>661,11525=>1032,11526=>718,11527=>1032,11528=>648,11529=>667,11530=>1032,11531=>673,11532=>677,11533=>1036,11534=>680,11535=>886,11536=>1032,11537=>683,11538=>674,11539=>1035,11540=>1033,11541=>1027,11542=>676,11543=>673,11544=>667,11545=>667,11546=>660,11547=>671,11548=>1039,11549=>673,11550=>692,11551=>659,11552=>1048,11553=>660,11554=>654,11555=>670,11556=>733,11557=>1017,11800=>586,11807=>838,11810=>457,11811=>457,11812=>457,11813=>457,11822=>580,19904=>896,19905=>896,19906=>896,19907=>896,19908=>896,19909=>896,19910=>896,19911=>896,19912=>896,19913=>896,19914=>896,19915=>896,19916=>896,19917=>896,19918=>896,19919=>896,19920=>896,19921=>896,19922=>896,19923=>896,19924=>896,19925=>896,19926=>896,19927=>896,19928=>896,19929=>896,19930=>896,19931=>896,19932=>896,19933=>896,19934=>896,19935=>896,19936=>896,19937=>896,19938=>896,19939=>896,19940=>896,19941=>896,19942=>896,19943=>896,19944=>896,19945=>896,19946=>896,19947=>896,19948=>896,19949=>896,19950=>896,19951=>896,19952=>896,19953=>896,19954=>896,19955=>896,19956=>896,19957=>896,19958=>896,19959=>896,19960=>896,19961=>896,19962=>896,19963=>896,19964=>896,19965=>896,19966=>896,19967=>896,42192=>762,42193=>733,42194=>733,42195=>830,42196=>682,42197=>682,42198=>821,42199=>775,42200=>775,42201=>530,42202=>734,42203=>734,42204=>725,42205=>683,42206=>683,42207=>995,42208=>837,42209=>637,42210=>720,42211=>770,42212=>770,42213=>774,42214=>774,42215=>837,42216=>786,42217=>530,42218=>1103,42219=>771,42220=>724,42221=>762,42222=>774,42223=>774,42224=>683,42225=>683,42226=>372,42227=>850,42228=>812,42229=>812,42230=>576,42231=>830,42232=>322,42233=>322,42234=>674,42235=>674,42236=>322,42237=>322,42238=>588,42239=>588,42564=>720,42565=>595,42566=>436,42567=>440,42572=>1405,42573=>1173,42576=>1234,42577=>1027,42580=>1174,42581=>972,42582=>1100,42583=>969,42594=>1100,42595=>940,42596=>1096,42597=>915,42598=>1260,42599=>997,42600=>850,42601=>687,42602=>1037,42603=>868,42604=>1406,42605=>1106,42606=>961,42634=>944,42635=>749,42636=>682,42637=>580,42644=>808,42645=>712,42760=>500,42761=>500,42762=>500,42763=>500,42764=>500,42765=>500,42766=>500,42767=>500,42768=>500,42769=>500,42770=>500,42771=>500,42772=>500,42773=>500,42774=>500,42779=>400,42780=>400,42781=>287,42782=>287,42783=>287,42786=>444,42787=>390,42788=>540,42789=>540,42790=>837,42791=>712,42792=>1031,42793=>857,42794=>696,42795=>557,42800=>559,42801=>595,42802=>1349,42803=>1052,42804=>1285,42805=>1065,42806=>1245,42807=>1052,42808=>1079,42809=>922,42810=>1079,42811=>922,42812=>1035,42813=>922,42814=>698,42815=>549,42816=>656,42817=>579,42822=>850,42823=>542,42824=>683,42825=>531,42826=>918,42827=>814,42830=>1406,42831=>1106,42832=>733,42833=>716,42834=>948,42835=>937,42838=>850,42839=>716,42852=>738,42853=>716,42854=>738,42855=>716,42880=>637,42881=>343,42882=>837,42883=>712,42889=>400,42890=>396,42891=>456,42892=>306,42893=>808,42894=>693,42896=>928,42897=>768,42912=>821,42913=>716,42914=>775,42915=>665,42916=>837,42917=>712,42918=>770,42919=>493,42920=>720,42921=>595,42922=>886,43002=>1062,43003=>683,43004=>733,43005=>995,43006=>372,43007=>1325,61184=>216,61185=>242,61186=>267,61187=>277,61188=>282,61189=>242,61190=>216,61191=>242,61192=>267,61193=>277,61194=>267,61195=>242,61196=>216,61197=>242,61198=>267,61199=>277,61200=>267,61201=>242,61202=>216,61203=>242,61204=>282,61205=>277,61206=>267,61207=>242,61208=>216,61209=>282,62464=>612,62465=>612,62466=>653,62467=>902,62468=>617,62469=>617,62470=>680,62471=>904,62472=>599,62473=>617,62474=>1163,62475=>621,62476=>622,62477=>893,62478=>612,62479=>622,62480=>924,62481=>622,62482=>754,62483=>624,62484=>886,62485=>622,62486=>907,62487=>621,62488=>611,62489=>624,62490=>677,62491=>621,62492=>611,62493=>630,62494=>622,62495=>561,62496=>612,62497=>626,62498=>612,62499=>611,62500=>618,62501=>667,62502=>963,62504=>1023,62505=>844,62506=>563,62507=>563,62508=>563,62509=>563,62510=>563,62511=>563,62512=>555,62513=>555,62514=>555,62515=>555,62516=>573,62517=>573,62518=>573,62519=>824,62520=>824,62521=>824,62522=>824,62523=>824,62524=>611,62525=>611,62526=>611,62527=>611,62528=>611,62529=>611,62917=>687,64256=>833,64257=>787,64258=>787,64259=>1138,64260=>1139,64261=>808,64262=>1020,64275=>1388,64276=>1384,64277=>1378,64278=>1384,64279=>1713,64285=>294,64286=>0,64287=>663,64288=>665,64289=>939,64290=>788,64291=>920,64292=>786,64293=>857,64294=>869,64295=>821,64296=>890,64297=>838,64298=>749,64299=>749,64300=>749,64301=>749,64302=>728,64303=>728,64304=>728,64305=>610,64306=>447,64307=>588,64308=>687,64309=>343,64310=>400,64311=>1000,64312=>679,64313=>436,64314=>578,64315=>566,64316=>605,64317=>1000,64318=>724,64319=>1000,64320=>453,64321=>680,64322=>1000,64323=>675,64324=>658,64325=>1000,64326=>653,64327=>736,64328=>602,64329=>749,64330=>683,64331=>343,64332=>610,64333=>566,64334=>658,64335=>710,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1113,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.z new file mode 100644 index 0000000..ff50412 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.ctg.z new file mode 100644 index 0000000..df25b64 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.php b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.php new file mode 100644 index 0000000..e257e55 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-918 -415 1513 1167]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>34,'StemH'=>15,'AvgWidth'=>456,'MaxWidth'=>1562,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(136,0,225,729),34=>array(86,458,328,729),35=>array(69,0,686,718),36=>array(75,-147,498,760),37=>array(49,-14,806,742),38=>array(57,-14,674,742),39=>array(86,458,162,729),40=>array(77,-132,279,759),41=>array(72,-132,274,759),42=>array(26,286,423,742),43=>array(95,0,659,627),44=>array(69,-116,198,124),45=>array(44,234,281,314),46=>array(96,0,189,124),47=>array(0,-93,303,729),48=>array(59,-14,513,742),49=>array(99,0,490,729),50=>array(66,0,483,742),51=>array(68,-14,501,742),52=>array(44,0,522,729),53=>array(69,-14,494,729),54=>array(63,-14,516,742),55=>array(74,0,496,729),56=>array(61,-14,511,742),57=>array(57,-14,510,742),58=>array(105,0,198,517),59=>array(69,-116,198,517),60=>array(95,46,659,581),61=>array(95,172,659,454),62=>array(95,46,659,581),63=>array(64,0,415,742),64=>array(59,-174,837,704),65=>array(7,0,608,729),66=>array(88,0,554,729),67=>array(50,-14,580,742),68=>array(88,0,640,729),69=>array(88,0,511,729),70=>array(88,0,466,729),71=>array(50,-14,624,742),72=>array(88,0,589,729),73=>array(88,0,177,729),74=>array(-47,-200,177,729),75=>array(88,0,609,729),76=>array(88,0,497,729),77=>array(88,0,689,729),78=>array(88,0,585,729),79=>array(50,-14,658,742),80=>array(88,0,512,729),81=>array(50,-129,658,742),82=>array(88,0,600,729),83=>array(59,-14,521,742),84=>array(-3,0,553,729),85=>array(78,-14,581,729),86=>array(7,0,608,729),87=>array(30,0,861,729),88=>array(26,0,589,729),89=>array(-2,0,552,729),90=>array(40,0,576,729),91=>array(77,-132,264,760),92=>array(0,-93,303,729),93=>array(87,-132,274,760),94=>array(95,457,659,729),95=>array(-9,-236,459,-166),96=>array(75,617,286,800),97=>array(54,-14,470,560),98=>array(82,-14,522,760),99=>array(49,-14,439,560),100=>array(49,-14,490,760),101=>array(49,-14,506,560),102=>array(21,0,334,760),103=>array(49,-208,490,560),104=>array(82,0,494,760),105=>array(84,0,166,760),106=>array(-17,-208,166,760),107=>array(82,0,519,760),108=>array(84,0,166,760),109=>array(82,0,800,560),110=>array(82,0,494,560),111=>array(49,-14,501,560),112=>array(82,-208,522,560),113=>array(49,-208,490,560),114=>array(82,0,370,560),115=>array(48,-14,425,560),116=>array(24,0,332,702),117=>array(76,-14,489,560),118=>array(26,0,506,547),119=>array(38,0,699,547),120=>array(26,0,503,547),121=>array(26,-208,506,547),122=>array(39,0,434,547),123=>array(112,-163,460,760),124=>array(114,-236,189,764),125=>array(112,-163,460,760),126=>array(95,228,659,399),161=>array(136,0,225,729),162=>array(75,-153,466,699),163=>array(57,0,493,742),164=>array(41,40,533,587),165=>array(36,0,536,729),166=>array(114,-171,189,699),167=>array(40,-95,409,742),168=>array(94,659,356,758),169=>array(124,0,776,725),170=>array(50,229,364,742),171=>array(69,69,466,517),172=>array(95,140,659,421),173=>array(44,234,281,314),174=>array(124,0,776,725),175=>array(93,673,356,745),176=>array(85,432,365,742),177=>array(95,0,659,627),178=>array(41,326,304,742),179=>array(43,319,315,742),180=>array(163,616,374,800),181=>array(76,-208,551,547),182=>array(69,-96,475,729),183=>array(96,285,189,409),184=>array(127,-193,310,0),185=>array(60,326,312,734),186=>array(42,229,382,742),187=>array(84,69,482,517),188=>array(60,-14,844,742),189=>array(60,-14,815,742),190=>array(43,-14,844,742),191=>array(63,-14,413,729),192=>array(7,0,608,927),193=>array(7,0,608,927),194=>array(7,0,608,928),195=>array(7,0,608,921),196=>array(7,0,608,913),197=>array(7,0,608,928),198=>array(3,0,819,729),199=>array(50,-193,580,742),200=>array(88,0,511,927),201=>array(88,0,511,927),202=>array(88,0,511,928),203=>array(88,0,511,913),204=>array(26,0,194,927),205=>array(71,0,239,927),206=>array(-1,0,268,928),207=>array(2,0,264,913),208=>array(4,0,645,729),209=>array(88,0,585,921),210=>array(50,-14,658,927),211=>array(50,-14,658,927),212=>array(50,-14,658,928),213=>array(50,-14,658,921),214=>array(50,-14,658,913),215=>array(123,31,631,596),216=>array(44,-34,664,761),217=>array(78,-14,581,927),218=>array(78,-14,581,927),219=>array(78,-14,581,928),220=>array(78,-14,581,913),221=>array(-2,0,552,927),222=>array(88,0,512,729),223=>array(82,-14,526,760),224=>array(54,-14,470,800),225=>array(54,-14,470,800),226=>array(54,-14,470,800),227=>array(54,-14,470,777),228=>array(54,-14,470,758),229=>array(54,-14,470,878),230=>array(54,-14,836,560),231=>array(49,-193,439,560),232=>array(49,-14,506,800),233=>array(49,-14,506,800),234=>array(49,-14,506,800),235=>array(49,-14,506,758),236=>array(-25,0,186,800),237=>array(63,0,274,800),238=>array(-15,0,266,800),239=>array(-5,0,256,758),240=>array(49,-14,501,760),241=>array(82,0,494,777),242=>array(49,-14,501,800),243=>array(49,-14,501,800),244=>array(49,-14,501,800),245=>array(49,-14,501,777),246=>array(49,-14,501,758),247=>array(95,73,659,554),248=>array(31,-46,519,592),249=>array(76,-14,489,800),250=>array(76,-14,489,800),251=>array(76,-14,489,800),252=>array(76,-14,489,758),253=>array(26,-208,506,800),254=>array(82,-208,522,760),255=>array(26,-208,506,758),256=>array(7,0,608,899),257=>array(54,-14,470,745),258=>array(7,0,608,946),259=>array(54,-14,470,765),260=>array(7,-193,635,729),261=>array(54,-193,506,560),262=>array(50,-14,580,927),263=>array(49,-14,439,800),264=>array(50,-14,580,928),265=>array(49,-14,439,800),266=>array(50,-14,580,914),267=>array(49,-14,439,760),268=>array(50,-14,580,928),269=>array(49,-14,439,800),270=>array(88,0,640,928),271=>array(49,-14,659,760),272=>array(4,0,645,729),273=>array(49,-14,558,760),274=>array(88,0,511,900),275=>array(49,-14,506,745),276=>array(88,0,511,928),277=>array(49,-14,506,785),278=>array(88,0,511,914),279=>array(49,-14,506,760),280=>array(88,-193,512,729),281=>array(49,-193,506,560),282=>array(88,0,511,925),283=>array(49,-14,506,797),284=>array(50,-14,624,928),285=>array(49,-208,490,800),286=>array(50,-14,624,928),287=>array(49,-208,490,785),288=>array(50,-14,624,914),289=>array(49,-208,490,760),290=>array(50,-250,624,742),291=>array(49,-208,490,775),292=>array(88,0,589,928),293=>array(-12,0,494,928),294=>array(88,0,736,729),295=>array(53,0,520,760),296=>array(-13,0,278,921),297=>array(-20,0,271,777),298=>array(1,0,264,899),299=>array(-6,0,257,745),300=>array(-5,0,271,928),301=>array(-13,0,263,785),302=>array(77,-193,242,729),303=>array(66,-193,230,760),304=>array(88,0,178,914),305=>array(84,0,166,560),306=>array(88,-200,443,729),307=>array(84,-208,416,760),308=>array(-47,-200,267,928),309=>array(-17,-208,266,800),310=>array(88,-235,609,729),311=>array(82,-235,519,760),312=>array(82,0,519,547),313=>array(88,0,497,928),314=>array(84,0,258,928),315=>array(88,-235,497,729),316=>array(60,-235,189,760),317=>array(88,0,497,729),318=>array(84,0,338,760),319=>array(88,0,497,729),320=>array(84,0,283,760),321=>array(-6,0,501,729),322=>array(0,0,257,760),323=>array(88,0,585,928),324=>array(82,0,494,803),325=>array(88,-235,585,729),326=>array(82,-235,494,560),327=>array(88,0,585,921),328=>array(82,0,494,800),329=>array(90,0,644,729),330=>array(88,-208,574,742),331=>array(82,-208,494,560),332=>array(50,-14,658,899),333=>array(49,-14,501,745),334=>array(50,-14,658,928),335=>array(49,-14,501,785),336=>array(50,-14,658,927),337=>array(49,-14,501,800),338=>array(50,0,905,729),339=>array(49,-14,874,560),340=>array(88,0,600,928),341=>array(82,0,403,803),342=>array(88,-235,600,729),343=>array(57,-235,370,560),344=>array(88,0,600,921),345=>array(82,0,377,800),346=>array(59,-14,521,928),347=>array(48,-14,425,803),348=>array(59,-14,521,928),349=>array(48,-14,425,800),350=>array(59,-193,521,742),351=>array(48,-193,425,560),352=>array(59,-14,521,928),353=>array(48,-14,425,800),354=>array(-3,-193,553,729),355=>array(24,-193,332,702),356=>array(-3,0,553,921),357=>array(24,0,337,813),358=>array(-3,0,553,729),359=>array(24,0,332,702),360=>array(78,-14,581,921),361=>array(76,-14,489,777),362=>array(78,-14,581,899),363=>array(76,-14,489,745),364=>array(78,-14,581,928),365=>array(76,-14,489,785),366=>array(78,-14,581,929),367=>array(76,-14,489,849),368=>array(78,-14,581,927),369=>array(76,-14,492,800),370=>array(78,-193,581,729),371=>array(76,-193,552,560),372=>array(30,0,861,932),373=>array(38,0,699,803),374=>array(-2,0,552,932),375=>array(26,-208,506,803),376=>array(-2,0,552,913),377=>array(40,0,576,928),378=>array(39,0,434,803),379=>array(40,0,576,914),380=>array(39,0,434,760),381=>array(40,0,576,928),382=>array(39,0,434,800),383=>array(21,0,334,760),384=>array(14,-14,522,760),385=>array(-46,0,598,729),386=>array(88,0,554,729),387=>array(82,-14,522,760),388=>array(0,0,554,729),389=>array(0,-14,522,760),390=>array(50,-14,580,742),391=>array(50,-14,715,924),392=>array(49,-14,540,760),393=>array(4,0,645,729),394=>array(-46,0,684,729),395=>array(88,0,554,729),396=>array(49,-14,490,760),397=>array(49,-208,501,548),398=>array(57,0,480,729),399=>array(51,-14,658,742),400=>array(72,-14,504,742),401=>array(-47,-200,466,729),402=>array(-57,-208,334,760),403=>array(50,-14,742,924),404=>array(3,-210,615,729),405=>array(82,0,819,760),406=>array(88,0,312,729),407=>array(4,0,261,729),408=>array(88,0,671,742),409=>array(81,0,519,760),410=>array(4,0,244,760),411=>array(26,0,506,760),412=>array(78,-14,805,729),413=>array(-47,-200,585,729),414=>array(82,-208,494,560),415=>array(50,-14,658,742),416=>array(45,-14,688,760),417=>array(52,-14,543,615),418=>array(50,-14,766,742),419=>array(49,-208,602,560),420=>array(-46,0,556,729),421=>array(81,-208,522,760),422=>array(88,-129,600,729),423=>array(50,-14,512,742),424=>array(44,-14,420,560),425=>array(88,0,511,729),426=>array(-119,-208,320,760),427=>array(24,-208,332,702),428=>array(10,0,553,729),429=>array(24,0,332,760),430=>array(-3,-200,553,729),431=>array(76,-4,717,760),432=>array(77,-14,609,615),433=>array(34,-14,654,724),434=>array(88,-15,615,729),435=>array(-2,0,668,742),436=>array(26,-208,658,560),437=>array(40,0,576,729),438=>array(39,0,434,547),439=>array(70,-31,559,729),440=>array(40,-31,529,729),441=>array(45,-213,478,547),442=>array(49,-208,439,547),443=>array(66,0,483,742),444=>array(41,-31,560,729),445=>array(45,-213,478,547),446=>array(39,-14,410,702),447=>array(82,-208,522,560),448=>array(88,-208,177,729),449=>array(88,-208,355,729),450=>array(9,-208,406,729),451=>array(88,0,178,729),452=>array(88,0,1217,928),453=>array(88,0,1090,800),454=>array(49,-14,964,800),455=>array(88,-200,691,729),456=>array(88,-208,660,760),457=>array(84,-208,330,760),458=>array(88,-200,782,729),459=>array(88,-208,756,760),460=>array(82,-208,660,760),461=>array(7,0,608,928),462=>array(54,-14,470,800),463=>array(-1,0,268,928),464=>array(-14,0,267,800),465=>array(50,-14,658,928),466=>array(49,-14,501,800),467=>array(78,-14,581,928),468=>array(76,-14,489,800),469=>array(78,-14,581,1025),470=>array(76,-14,489,899),471=>array(78,-14,581,1044),472=>array(76,-14,489,892),473=>array(78,-14,581,1044),474=>array(76,-14,489,892),475=>array(78,-14,581,1047),476=>array(76,-14,489,892),477=>array(49,-14,506,560),478=>array(7,0,608,1025),479=>array(54,-14,470,899),480=>array(7,0,608,1025),481=>array(54,-14,470,869),482=>array(3,0,819,900),483=>array(54,-14,836,743),484=>array(50,-14,677,742),485=>array(49,-208,560,560),486=>array(50,-14,624,928),487=>array(49,-208,490,798),488=>array(88,0,609,928),489=>array(-10,0,519,928),490=>array(50,-193,658,742),491=>array(49,-193,501,560),492=>array(50,-193,658,899),493=>array(49,-193,501,745),494=>array(70,-31,559,928),495=>array(39,-213,471,800),496=>array(-17,-208,269,800),497=>array(88,0,1217,729),498=>array(88,0,1090,729),499=>array(49,-14,964,760),500=>array(50,-14,624,928),501=>array(49,-208,490,798),502=>array(88,-14,920,729),503=>array(88,-208,563,742),504=>array(88,0,585,927),505=>array(82,0,494,799),506=>array(7,0,608,931),507=>array(54,-14,547,931),508=>array(3,0,819,928),509=>array(54,-14,836,798),510=>array(44,-34,664,928),511=>array(31,-46,519,798),512=>array(7,0,608,930),513=>array(54,-14,470,799),514=>array(7,0,608,901),515=>array(54,-14,470,785),516=>array(88,0,511,930),517=>array(49,-14,506,798),518=>array(88,0,511,901),519=>array(49,-14,506,785),520=>array(-40,0,276,930),521=>array(-27,0,282,798),522=>array(2,0,277,901),523=>array(-13,0,263,785),524=>array(50,-14,658,930),525=>array(49,-14,501,799),526=>array(50,-14,658,901),527=>array(49,-14,501,785),528=>array(87,0,600,930),529=>array(57,0,370,798),530=>array(88,0,600,901),531=>array(82,0,379,785),532=>array(78,-14,581,930),533=>array(76,-14,489,799),534=>array(78,-14,581,901),535=>array(76,-14,489,785),536=>array(59,-240,521,742),537=>array(48,-240,425,560),538=>array(-3,-240,553,729),539=>array(24,-240,332,702),540=>array(68,-210,501,742),541=>array(31,-211,420,560),542=>array(88,0,589,928),543=>array(-7,0,494,928),544=>array(88,-208,574,742),545=>array(49,-70,705,760),546=>array(49,-14,579,742),547=>array(49,-14,500,632),548=>array(40,-208,576,729),549=>array(39,-208,434,547),550=>array(7,0,608,914),551=>array(54,-14,470,760),552=>array(88,-193,511,729),553=>array(49,-193,506,560),554=>array(50,-14,658,1025),555=>array(49,-14,501,899),556=>array(50,-14,658,1025),557=>array(49,-14,501,864),558=>array(50,-14,658,914),559=>array(49,-14,501,760),560=>array(50,-14,658,1025),561=>array(49,-14,501,899),562=>array(-2,0,552,899),563=>array(26,-208,506,745),564=>array(61,-70,378,757),565=>array(82,-70,709,560),566=>array(24,-70,380,702),567=>array(-17,-208,166,547),568=>array(49,-14,849,760),569=>array(49,-208,849,560),570=>array(-1,-34,617,761),571=>array(5,-34,624,761),572=>array(4,-46,491,592),573=>array(4,0,497,729),574=>array(-35,-34,584,761),575=>array(48,-242,461,560),576=>array(39,-242,473,547),577=>array(35,0,512,729),578=>array(35,0,400,560),579=>array(4,0,554,729),580=>array(5,-14,653,729),581=>array(7,0,608,729),582=>array(88,-93,511,822),583=>array(49,-93,506,640),584=>array(-47,-200,261,729),585=>array(-17,-208,237,760),586=>array(50,-200,752,743),587=>array(49,-208,591,560),588=>array(4,0,600,729),589=>array(6,0,370,560),590=>array(-4,0,554,729),591=>array(4,-208,530,547),592=>array(76,-14,492,560),593=>array(49,-14,490,560),594=>array(82,-14,522,560),595=>array(82,-14,522,760),596=>array(56,-14,445,560),597=>array(49,-69,439,560),598=>array(49,-208,591,760),599=>array(49,-14,644,760),600=>array(49,-14,506,560),601=>array(49,-14,506,560),602=>array(54,-14,733,560),603=>array(58,-14,426,561),604=>array(58,-14,426,561),605=>array(58,-14,694,561),606=>array(49,-14,537,561),607=>array(-17,-208,237,547),608=>array(49,-208,644,760),609=>array(49,-208,490,547),610=>array(49,-14,485,560),611=>array(42,-210,494,547),612=>array(42,-14,494,547),613=>array(76,-208,489,547),614=>array(82,0,494,760),615=>array(82,-208,494,760),616=>array(6,0,238,760),617=>array(73,0,273,547),618=>array(51,0,283,547),619=>array(33,0,323,760),620=>array(34,0,375,760),621=>array(84,-208,267,760),622=>array(84,-213,586,760),623=>array(82,-13,800,548),624=>array(82,-208,800,548),625=>array(82,-208,800,560),626=>array(-17,-208,497,560),627=>array(82,-208,595,560),628=>array(79,0,494,547),629=>array(49,-14,501,560),630=>array(49,0,691,547),631=>array(65,-18,590,561),632=>array(49,-208,542,760),633=>array(0,-13,289,547),634=>array(0,-13,289,755),635=>array(0,-208,390,547),636=>array(82,-207,370,560),637=>array(82,-208,370,560),638=>array(58,0,393,560),639=>array(51,0,393,560),640=>array(82,0,517,547),641=>array(82,0,517,547),642=>array(48,-208,425,560),643=>array(-18,-208,320,760),644=>array(-18,-208,320,760),645=>array(24,-208,361,549),646=>array(-119,-208,320,760),647=>array(24,-156,332,546),648=>array(24,-208,333,702),649=>array(0,-14,571,547),650=>array(49,-15,508,547),651=>array(84,0,491,548),652=>array(26,0,506,547),653=>array(38,0,699,547),654=>array(26,0,506,760),655=>array(44,0,497,547),656=>array(39,-208,534,547),657=>array(39,-54,434,547),658=>array(39,-213,471,547),659=>array(48,-213,498,547),660=>array(39,0,410,759),661=>array(39,0,410,759),662=>array(39,0,410,759),663=>array(39,-213,410,760),664=>array(50,-14,658,742),665=>array(82,0,478,547),666=>array(49,-14,537,561),667=>array(49,-14,652,760),668=>array(82,0,507,547),669=>array(-119,-208,246,760),670=>array(82,-213,519,547),671=>array(82,0,444,547),672=>array(49,-208,672,759),673=>array(39,0,410,759),674=>array(39,0,410,759),675=>array(49,-14,874,760),676=>array(49,-213,913,760),677=>array(49,-54,873,760),678=>array(24,0,703,702),679=>array(24,-208,566,760),680=>array(24,-70,651,702),681=>array(21,-208,724,760),682=>array(84,0,591,760),683=>array(84,0,549,760),684=>array(23,-15,440,640),685=>array(23,84,440,640),686=>array(0,-214,514,760),687=>array(0,-208,615,760),688=>array(51,326,312,751),689=>array(51,326,312,751),690=>array(-10,209,105,751),691=>array(51,326,233,640),692=>array(31,319,213,632),693=>array(31,209,277,632),694=>array(14,326,288,632),695=>array(23,326,440,632),696=>array(17,209,319,632),697=>array(70,557,183,800),698=>array(70,557,346,800),699=>array(76,489,206,729),700=>array(78,499,207,729),701=>array(86,616,215,856),702=>array(51,492,172,760),703=>array(51,492,172,760),704=>array(51,326,286,751),705=>array(51,326,286,751),706=>array(117,524,333,836),707=>array(117,524,333,836),708=>array(84,561,365,800),709=>array(84,561,365,800),710=>array(84,616,365,800),711=>array(84,616,365,800),712=>array(94,488,154,759),713=>array(93,673,356,745),714=>array(163,616,374,800),715=>array(75,617,286,800),716=>array(94,-148,154,123),717=>array(93,-156,356,-84),718=>array(75,-236,286,-54),719=>array(163,-236,374,-53),720=>array(48,0,206,517),721=>array(48,356,206,517),722=>array(51,249,172,517),723=>array(51,249,172,517),724=>array(126,229,324,448),725=>array(126,229,324,448),726=>array(44,125,307,417),727=>array(44,234,242,307),728=>array(87,645,363,785),729=>array(180,658,270,758),730=>array(104,610,346,878),731=>array(146,-193,310,0),732=>array(80,639,370,777),733=>array(105,616,414,800),734=>array(-0,233,301,504),735=>array(105,616,345,800),736=>array(51,208,336,632),737=>array(53,326,105,751),738=>array(51,326,289,648),739=>array(51,326,352,632),740=>array(51,326,286,751),741=>array(94,0,351,668),742=>array(94,0,351,668),743=>array(94,0,351,668),744=>array(94,0,351,668),745=>array(94,0,351,668),748=>array(84,-260,365,-21),749=>array(93,610,356,808),750=>array(76,489,386,729),755=>array(104,-240,346,28),759=>array(80,-192,370,-55),768=>array(-376,560,-166,800),769=>array(-288,560,-77,800),770=>array(-365,560,-84,800),771=>array(-371,639,-81,777),772=>array(-355,673,-92,745),773=>array(-459,686,9,755),774=>array(-366,645,-91,785),775=>array(-267,560,-185,760),776=>array(-356,560,-94,758),777=>array(-313,618,-116,810),778=>array(-347,610,-105,878),779=>array(-343,616,-34,800),780=>array(-364,560,-83,800),781=>array(-255,615,-195,832),782=>array(-345,615,-105,832),783=>array(-409,616,-101,800),784=>array(-366,645,-91,917),785=>array(-366,645,-91,785),786=>array(-211,489,-83,645),787=>array(-274,595,-168,844),788=>array(-274,595,-168,844),789=>array(-60,575,60,759),790=>array(-376,-266,-166,-83),791=>array(-288,-267,-77,-83),792=>array(-322,-240,-198,-24),793=>array(-251,-240,-128,-24),794=>array(-188,690,28,930),795=>array(-120,427,54,609),796=>array(-281,-241,-187,-32),797=>array(-333,-240,-117,-87),798=>array(-333,-240,-117,-87),799=>array(-322,-240,-128,-24),800=>array(-333,-184,-117,-117),801=>array(-284,-208,-21,63),802=>array(-286,-208,-22,63),803=>array(-267,-183,-185,-69),804=>array(-356,-183,-95,-84),805=>array(-320,-241,-132,-32),806=>array(-291,-240,-162,-84),807=>array(-322,-193,-140,0),808=>array(-304,-193,-140,0),809=>array(-255,-240,-195,-47),810=>array(-345,-211,-102,-50),811=>array(-407,-222,-45,-82),812=>array(-364,-240,-83,-57),813=>array(-366,-240,-85,-57),814=>array(-366,-222,-91,-82),815=>array(-366,-224,-91,-83),816=>array(-371,-222,-81,-84),817=>array(-355,-156,-92,-84),818=>array(-459,-236,9,-166),819=>array(-459,-236,9,-9),820=>array(-501,240,-36,381),821=>array(-285,221,-53,301),822=>array(-571,221,0,301),823=>array(-517,-46,-30,592),824=>array(-667,-34,-48,761),825=>array(-262,-241,-167,-32),826=>array(-344,-206,-102,-44),827=>array(-323,-240,-125,-21),828=>array(-407,-222,-45,-82),829=>array(-319,619,-124,834),830=>array(-223,595,-98,853),831=>array(-459,528,9,755),832=>array(-376,617,-166,800),833=>array(-288,616,-77,800),834=>array(-371,639,-81,777),835=>array(-274,595,-168,844),836=>array(-349,659,-69,978),837=>array(-250,-208,-154,-45),838=>array(-356,639,-93,786),839=>array(-324,-226,-126,-35),840=>array(-329,-240,-122,-47),841=>array(-324,-240,-126,-21),842=>array(-370,616,-80,800),843=>array(-370,567,-80,850),844=>array(-370,596,-80,820),845=>array(-407,-230,-43,-30),846=>array(-315,-240,-135,-45),849=>array(-285,610,-165,878),850=>array(-366,547,-91,855),851=>array(-319,-240,-124,-24),855=>array(-285,610,-165,878),856=>array(-92,658,-2,758),858=>array(-387,-241,-63,-32),860=>array(-401,-237,401,-60),861=>array(-401,802,401,979),862=>array(-401,855,401,927),863=>array(-401,-156,401,-84),864=>array(-319,756,319,894),865=>array(-401,752,401,929),866=>array(-398,-230,402,-30),880=>array(88,0,500,729),881=>array(84,0,429,547),882=>array(88,0,688,729),883=>array(88,0,495,729),884=>array(70,557,183,800),885=>array(70,-208,183,35),886=>array(88,0,585,729),887=>array(82,0,503,547),890=>array(192,-208,290,-45),891=>array(56,-14,445,560),892=>array(49,-14,439,560),893=>array(56,-14,445,560),894=>array(69,-116,198,517),900=>array(163,616,374,800),901=>array(94,659,374,978),902=>array(7,0,608,800),903=>array(96,285,189,409),904=>array(-11,0,614,800),905=>array(-6,0,689,800),906=>array(-9,0,280,800),908=>array(-6,-14,676,800),910=>array(-14,0,739,800),911=>array(-17,0,677,800),912=>array(2,0,281,978),913=>array(7,0,608,729),914=>array(88,0,554,729),915=>array(88,0,497,729),916=>array(7,0,608,729),917=>array(88,0,511,729),918=>array(40,0,576,729),919=>array(88,0,589,729),920=>array(50,-14,658,742),921=>array(88,0,177,729),922=>array(88,0,609,729),923=>array(7,0,608,729),924=>array(88,0,689,729),925=>array(88,0,585,729),926=>array(88,0,493,729),927=>array(50,-14,658,742),928=>array(88,0,589,729),929=>array(88,0,512,729),931=>array(88,0,511,729),932=>array(-3,0,553,729),933=>array(-2,0,552,729),934=>array(50,0,658,729),935=>array(26,0,589,729),936=>array(50,0,659,729),937=>array(34,0,654,738),938=>array(2,0,264,913),939=>array(-2,0,552,913),940=>array(49,-12,550,800),941=>array(58,-14,426,800),942=>array(82,-208,494,800),943=>array(73,0,292,800),944=>array(65,-14,469,978),945=>array(49,-12,550,559),946=>array(84,-208,510,766),947=>array(14,-208,506,547),948=>array(49,-14,501,742),949=>array(58,-14,426,561),950=>array(47,-210,447,760),951=>array(82,-208,494,560),952=>array(49,-11,501,768),953=>array(73,0,273,547),954=>array(83,0,509,547),955=>array(26,0,506,760),956=>array(76,-208,551,547),957=>array(32,0,461,547),958=>array(47,-210,451,760),959=>array(49,-14,501,560),960=>array(32,-19,517,547),961=>array(82,-208,522,560),962=>array(49,-210,439,560),963=>array(49,-14,544,547),964=>array(44,0,498,547),965=>array(65,-14,469,547),966=>array(49,-208,542,551),967=>array(26,-208,494,547),968=>array(49,-208,542,547),969=>array(59,-14,692,547),970=>array(2,0,280,758),971=>array(65,-14,469,758),972=>array(49,-14,501,800),973=>array(65,-14,469,800),974=>array(59,-14,692,800),975=>array(88,-208,609,729),976=>array(73,-11,484,768),977=>array(49,-11,501,768),978=>array(38,0,598,734),979=>array(-14,0,746,800),980=>array(38,0,598,913),981=>array(49,-208,542,760),982=>array(28,-14,723,547),983=>array(49,-206,541,550),984=>array(50,-207,658,742),985=>array(49,-208,501,560),986=>array(61,-210,525,729),987=>array(49,-210,486,547),988=>array(88,0,466,729),989=>array(-84,-208,369,760),990=>array(79,-2,543,729),991=>array(83,0,510,759),992=>array(50,-208,717,742),993=>array(52,-180,516,559),994=>array(50,-213,790,729),995=>array(59,-208,692,547),996=>array(50,-208,594,742),997=>array(49,-208,512,560),998=>array(88,-213,662,729),999=>array(20,-14,514,575),1000=>array(35,-208,567,745),1001=>array(44,-208,497,560),1002=>array(50,0,643,742),1003=>array(23,0,540,560),1004=>array(50,-14,579,758),1005=>array(49,-14,490,758),1006=>array(19,-208,531,729),1007=>array(24,-208,459,726),1008=>array(49,-7,541,550),1009=>array(82,-208,522,560),1010=>array(49,-14,439,560),1011=>array(-17,-208,166,760),1012=>array(50,-14,658,742),1013=>array(49,-14,433,560),1014=>array(86,-14,469,560),1015=>array(88,0,512,729),1016=>array(82,-208,522,760),1017=>array(50,-14,580,742),1018=>array(88,0,689,729),1019=>array(56,-208,529,547),1020=>array(37,-208,522,560),1021=>array(50,-14,580,742),1022=>array(50,-14,580,742),1023=>array(50,-14,580,742),1024=>array(88,0,511,927),1025=>array(88,0,511,913),1026=>array(-3,-200,638,729),1027=>array(88,0,497,927),1028=>array(50,-14,580,742),1029=>array(59,-14,521,742),1030=>array(88,0,177,729),1031=>array(2,0,264,913),1032=>array(-47,-200,177,729),1033=>array(37,0,921,729),1034=>array(88,0,877,729),1035=>array(-3,0,638,729),1036=>array(88,0,622,927),1037=>array(88,0,585,927),1038=>array(15,0,533,928),1039=>array(88,-157,589,729),1040=>array(7,0,608,729),1041=>array(88,0,554,729),1042=>array(88,0,554,729),1043=>array(88,0,497,729),1044=>array(44,-157,659,729),1045=>array(88,0,511,729),1046=>array(18,0,952,729),1047=>array(59,-14,518,742),1048=>array(88,0,585,729),1049=>array(88,0,585,928),1050=>array(88,0,622,729),1051=>array(37,0,588,729),1052=>array(88,0,689,729),1053=>array(88,0,589,729),1054=>array(50,-14,658,742),1055=>array(88,0,589,729),1056=>array(88,0,512,729),1057=>array(50,-14,580,742),1058=>array(-3,0,553,729),1059=>array(15,0,533,729),1060=>array(53,0,722,729),1061=>array(26,0,589,729),1062=>array(88,-157,664,729),1063=>array(77,0,529,729),1064=>array(88,0,875,729),1065=>array(88,-157,949,729),1066=>array(26,0,686,729),1067=>array(88,0,706,729),1068=>array(88,0,554,729),1069=>array(48,-14,578,742),1070=>array(92,-14,921,742),1071=>array(60,0,537,729),1072=>array(54,-14,470,560),1073=>array(49,-14,506,777),1074=>array(82,0,478,547),1075=>array(82,0,429,547),1076=>array(47,-138,576,547),1077=>array(49,-14,506,560),1078=>array(31,0,780,547),1079=>array(58,-14,426,561),1080=>array(82,0,503,547),1081=>array(82,0,503,760),1082=>array(82,0,514,547),1083=>array(33,0,501,547),1084=>array(82,0,598,547),1085=>array(82,0,507,547),1086=>array(49,-14,501,560),1087=>array(82,0,507,547),1088=>array(82,-208,522,560),1089=>array(49,-14,439,560),1090=>array(26,0,498,547),1091=>array(26,-208,506,547),1092=>array(49,-208,721,729),1093=>array(26,0,503,547),1094=>array(82,-138,571,547),1095=>array(66,0,450,547),1096=>array(82,0,742,547),1097=>array(82,-138,807,547),1098=>array(27,0,583,547),1099=>array(82,0,631,560),1100=>array(82,0,478,547),1101=>array(49,-14,439,560),1102=>array(84,-14,708,560),1103=>array(51,0,465,547),1104=>array(49,-14,506,802),1105=>array(49,-14,506,758),1106=>array(21,-208,514,760),1107=>array(82,0,433,803),1108=>array(49,-14,439,560),1109=>array(48,-14,425,560),1110=>array(84,0,166,760),1111=>array(-5,0,256,758),1112=>array(-17,-208,166,760),1113=>array(33,0,759,547),1114=>array(82,0,756,547),1115=>array(21,0,510,760),1116=>array(82,0,514,803),1117=>array(82,0,503,802),1118=>array(26,-208,506,760),1119=>array(82,-138,507,547),1120=>array(50,-14,790,729),1121=>array(59,-14,692,547),1122=>array(13,0,641,729),1123=>array(13,0,552,760),1124=>array(92,-14,800,742),1125=>array(84,-14,620,560),1126=>array(7,0,784,729),1127=>array(22,0,683,547),1128=>array(88,0,1021,729),1129=>array(84,0,879,547),1130=>array(50,0,658,729),1131=>array(47,0,504,547),1132=>array(88,0,874,729),1133=>array(84,0,695,547),1134=>array(50,-208,501,935),1135=>array(40,-193,426,753),1136=>array(7,0,760,729),1137=>array(22,-208,767,765),1138=>array(50,-14,658,742),1139=>array(49,-14,501,560),1140=>array(7,0,692,742),1141=>array(22,0,576,560),1142=>array(7,0,692,930),1143=>array(22,0,576,800),1144=>array(50,-208,866,742),1145=>array(49,-208,787,560),1146=>array(50,-14,808,742),1147=>array(49,-14,633,560),1148=>array(52,-14,1010,932),1149=>array(66,-14,858,758),1150=>array(50,-14,790,900),1151=>array(59,-14,692,734),1152=>array(50,-208,580,742),1153=>array(49,-208,439,560),1154=>array(26,-44,426,457),1155=>array(-467,608,-83,810),1156=>array(-334,645,4,788),1157=>array(-259,595,-152,797),1158=>array(-259,595,-152,797),1159=>array(-699,606,4,788),1160=>array(-918,-180,369,922),1161=>array(-861,-280,311,1022),1162=>array(88,-208,673,928),1163=>array(84,-208,587,760),1164=>array(14,0,554,729),1165=>array(17,0,480,702),1166=>array(88,0,549,729),1167=>array(82,-208,522,560),1168=>array(88,0,497,878),1169=>array(82,0,429,700),1170=>array(31,0,555,729),1171=>array(24,0,488,547),1172=>array(88,-200,540,729),1173=>array(82,-208,455,547),1174=>array(18,-157,964,729),1175=>array(31,-138,789,547),1176=>array(59,-193,518,742),1177=>array(58,-193,426,561),1178=>array(88,-157,642,729),1179=>array(82,-138,529,547),1180=>array(88,0,622,729),1181=>array(82,0,514,547),1182=>array(14,0,622,729),1183=>array(26,0,514,760),1184=>array(22,0,753,729),1185=>array(18,0,620,547),1186=>array(88,-157,677,729),1187=>array(84,-138,591,547),1188=>array(88,0,908,729),1189=>array(84,0,776,547),1190=>array(88,-200,951,729),1191=>array(84,-208,802,547),1192=>array(50,-14,784,743),1193=>array(49,-14,615,560),1194=>array(50,-193,580,742),1195=>array(49,-193,439,560),1196=>array(-3,-157,553,729),1197=>array(26,-138,498,547),1198=>array(-2,0,552,729),1199=>array(26,-208,506,547),1200=>array(-2,0,552,729),1201=>array(26,-208,506,547),1202=>array(26,-157,589,729),1203=>array(26,-138,503,547),1204=>array(-3,-157,819,729),1205=>array(2,-138,704,547),1206=>array(77,-157,617,729),1207=>array(66,-138,531,547),1208=>array(77,0,529,729),1209=>array(66,0,450,547),1210=>array(77,0,529,729),1211=>array(82,0,494,760),1212=>array(9,-14,796,742),1213=>array(6,-14,607,560),1214=>array(9,-184,796,742),1215=>array(6,-161,607,560),1216=>array(88,0,177,729),1217=>array(18,0,952,928),1218=>array(31,0,780,785),1219=>array(88,-200,586,729),1220=>array(83,-208,510,547),1221=>array(23,-208,677,729),1222=>array(20,-208,582,547),1223=>array(88,-200,589,729),1224=>array(84,-208,510,547),1225=>array(88,-208,677,729),1226=>array(84,-208,591,547),1227=>array(77,-157,529,729),1228=>array(66,-138,450,547),1229=>array(88,-208,777,729),1230=>array(84,-208,675,547),1231=>array(84,0,166,760),1232=>array(7,0,608,946),1233=>array(54,-14,470,765),1234=>array(7,0,608,913),1235=>array(54,-14,470,758),1236=>array(3,0,819,729),1237=>array(54,-14,836,560),1238=>array(88,0,511,928),1239=>array(49,-14,506,785),1240=>array(51,-14,658,742),1241=>array(49,-14,506,560),1242=>array(51,-14,658,913),1243=>array(49,-14,506,758),1244=>array(18,0,952,913),1245=>array(31,0,780,758),1246=>array(59,-14,518,913),1247=>array(58,-14,426,758),1248=>array(70,-31,559,729),1249=>array(39,-213,471,547),1250=>array(88,0,585,899),1251=>array(82,0,503,745),1252=>array(88,0,585,913),1253=>array(82,0,503,758),1254=>array(50,-14,658,913),1255=>array(49,-14,501,758),1256=>array(50,-14,658,742),1257=>array(49,-14,501,560),1258=>array(50,-14,658,913),1259=>array(49,-14,501,758),1260=>array(48,-14,578,913),1261=>array(49,-14,439,758),1262=>array(15,0,533,899),1263=>array(26,-208,506,745),1264=>array(15,0,533,913),1265=>array(26,-208,506,758),1266=>array(15,0,533,927),1267=>array(26,-208,506,800),1268=>array(77,0,529,913),1269=>array(66,0,450,758),1270=>array(88,-157,497,729),1271=>array(82,-138,429,547),1272=>array(88,0,706,913),1273=>array(82,0,631,758),1274=>array(31,-208,555,729),1275=>array(24,-208,488,547),1276=>array(26,-200,581,729),1277=>array(26,-208,494,547),1278=>array(26,0,589,729),1279=>array(26,0,503,547),1280=>array(63,0,529,729),1281=>array(49,0,445,547),1282=>array(63,-14,817,729),1283=>array(49,-14,726,547),1284=>array(88,-14,789,742),1285=>array(75,-14,706,561),1286=>array(88,-208,589,742),1287=>array(75,-208,508,561),1288=>array(23,-14,876,729),1289=>array(20,-14,780,547),1290=>array(88,-14,920,729),1291=>array(84,-14,789,547),1292=>array(50,-14,623,742),1293=>array(49,-14,481,560),1294=>array(-3,-14,607,729),1295=>array(2,-14,558,547),1296=>array(72,-14,504,742),1297=>array(58,-14,426,561),1298=>array(37,-200,588,729),1299=>array(33,-208,501,547),1300=>array(37,0,1025,729),1301=>array(33,0,866,547),1302=>array(88,0,777,729),1303=>array(82,-208,749,560),1304=>array(60,0,870,729),1305=>array(51,-14,840,560),1306=>array(50,-129,658,742),1307=>array(49,-208,490,560),1308=>array(30,0,861,729),1309=>array(38,0,699,547),1310=>array(88,0,622,729),1311=>array(82,0,514,547),1312=>array(37,-200,951,729),1313=>array(33,-208,793,547),1314=>array(88,-200,951,729),1315=>array(82,-208,799,547),1316=>array(88,-157,677,729),1317=>array(82,-138,588,547),1329=>array(78,-29,612,729),1330=>array(78,0,585,743),1331=>array(41,0,656,743),1332=>array(40,0,652,743),1333=>array(78,-14,585,729),1334=>array(78,0,624,744),1335=>array(83,0,554,729),1336=>array(78,0,585,743),1337=>array(78,-14,751,743),1338=>array(41,-14,656,729),1339=>array(83,0,585,729),1340=>array(83,0,480,729),1341=>array(83,-14,765,729),1342=>array(116,-13,687,742),1343=>array(78,0,581,729),1344=>array(31,-26,574,729),1345=>array(74,-23,619,744),1346=>array(44,0,656,743),1347=>array(46,0,644,735),1348=>array(78,-14,690,729),1349=>array(64,-14,602,743),1350=>array(0,-14,612,729),1351=>array(70,-15,616,729),1352=>array(78,0,581,743),1353=>array(53,-28,598,744),1354=>array(40,0,642,743),1355=>array(74,0,618,744),1356=>array(78,0,690,743),1357=>array(78,-14,581,729),1358=>array(44,0,656,729),1359=>array(66,-14,569,741),1360=>array(78,0,581,743),1361=>array(70,-14,608,743),1362=>array(83,0,484,729),1363=>array(53,0,677,729),1364=>array(22,0,611,743),1365=>array(50,-14,658,742),1366=>array(48,-13,672,729),1369=>array(51,492,172,760),1370=>array(78,499,207,729),1371=>array(0,620,211,803),1372=>array(2,618,321,893),1373=>array(-0,617,210,800),1374=>array(3,613,361,866),1375=>array(40,618,416,760),1377=>array(76,-14,795,547),1378=>array(82,-208,494,560),1379=>array(49,-208,583,560),1380=>array(82,-208,588,560),1381=>array(76,-14,493,760),1382=>array(49,-208,583,560),1383=>array(82,0,441,760),1384=>array(82,-208,494,560),1385=>array(82,-208,665,560),1386=>array(49,-14,583,760),1387=>array(82,-208,494,760),1388=>array(82,-208,272,547),1389=>array(82,-208,800,760),1390=>array(49,-14,501,760),1391=>array(76,-208,489,760),1392=>array(82,0,494,760),1393=>array(46,-15,471,760),1394=>array(82,-208,588,560),1395=>array(62,-14,490,768),1396=>array(76,-14,583,760),1397=>array(-20,-208,163,547),1398=>array(-18,-14,489,760),1399=>array(0,-208,392,560),1400=>array(82,0,494,560),1401=>array(4,-208,333,547),1402=>array(76,-208,795,547),1403=>array(48,-208,445,561),1404=>array(82,0,549,560),1405=>array(76,-14,489,560),1406=>array(76,-208,583,760),1407=>array(76,-14,800,560),1408=>array(82,-208,494,560),1409=>array(48,-208,489,560),1410=>array(82,0,404,547),1411=>array(76,-208,800,760),1412=>array(18,-208,522,560),1413=>array(48,-14,501,560),1414=>array(31,-208,690,760),1415=>array(76,-14,730,760),1417=>array(105,0,198,415),1418=>array(44,212,281,314),1456=>array(255,-217,321,-22),1457=>array(75,-217,395,-22),1458=>array(112,-217,409,-22),1459=>array(112,-217,409,-22),1460=>array(255,-159,321,-85),1461=>array(200,-159,376,-85),1462=>array(200,-217,376,-22),1463=>array(156,-159,420,-85),1464=>array(156,-193,420,-46),1465=>array(0,625,66,698),1466=>array(0,625,66,698),1467=>array(133,-237,419,-17),1468=>array(259,237,325,310),1469=>array(255,-217,321,-22),1470=>array(44,472,281,552),1471=>array(156,625,420,698),1472=>array(92,-98,174,645),1473=>array(573,625,640,698),1474=>array(86,625,153,698),1475=>array(92,0,174,547),1478=>array(44,0,322,547),1479=>array(156,-217,420,-22),1488=>array(82,0,520,547),1489=>array(39,0,482,547),1490=>array(39,-5,345,547),1491=>array(39,0,460,547),1492=>array(82,0,506,547),1493=>array(82,0,164,547),1494=>array(39,0,273,547),1495=>array(82,0,506,547),1496=>array(81,-14,534,552),1497=>array(60,204,142,547),1498=>array(39,-208,402,547),1499=>array(39,0,426,547),1500=>array(39,0,443,729),1501=>array(82,0,516,547),1502=>array(39,0,530,555),1503=>array(82,-208,164,547),1504=>array(39,0,278,547),1505=>array(81,-14,534,547),1506=>array(39,-93,482,547),1507=>array(82,-208,494,547),1508=>array(82,0,513,547),1509=>array(39,-208,447,548),1510=>array(39,0,453,547),1511=>array(82,-208,570,546),1512=>array(39,0,426,547),1513=>array(39,0,599,547),1514=>array(9,-4,510,547),1520=>array(82,0,342,547),1521=>array(60,0,299,547),1522=>array(60,204,281,547),1523=>array(82,361,292,547),1524=>array(82,361,499,547),1542=>array(0,-20,547,892),1543=>array(0,-20,547,895),1545=>array(58,0,616,635),1546=>array(58,0,814,635),1548=>array(96,0,225,240),1557=>array(110,624,340,868),1563=>array(96,0,225,633),1567=>array(64,0,415,742),1569=>array(71,42,351,483),1570=>array(-33,0,284,939),1571=>array(47,0,198,999),1572=>array(-38,-244,366,588),1573=>array(47,-244,198,760),1574=>array(57,-131,647,588),1575=>array(84,0,166,760),1576=>array(57,-171,778,327),1577=>array(61,-28,408,513),1578=>array(57,-10,778,391),1579=>array(57,-10,778,513),1580=>array(69,-244,580,425),1581=>array(69,-244,580,425),1582=>array(69,-244,580,586),1583=>array(55,-19,350,415),1584=>array(55,-19,350,586),1585=>array(-38,-244,381,269),1586=>array(-38,-244,381,464),1587=>array(57,-244,1024,366),1588=>array(57,-244,1024,586),1589=>array(57,-244,1021,362),1590=>array(57,-244,1021,464),1591=>array(63,0,772,760),1592=>array(63,0,772,760),1593=>array(51,-244,528,521),1594=>array(51,-244,528,659),1600=>array(-9,0,272,90),1601=>array(57,-45,857,635),1602=>array(47,-215,631,635),1603=>array(63,-27,650,760),1604=>array(63,-152,573,760),1605=>array(62,-240,492,369),1606=>array(64,-162,594,464),1607=>array(61,-28,408,358),1608=>array(-38,-244,366,315),1609=>array(57,-131,647,411),1610=>array(57,-244,647,411),1611=>array(97,591,354,825),1612=>array(97,591,354,874),1613=>array(97,-239,354,-5),1614=>array(97,591,354,708),1615=>array(97,590,354,874),1616=>array(97,-137,354,-20),1617=>array(88,599,362,869),1618=>array(104,610,345,878),1619=>array(66,590,383,719),1620=>array(147,593,298,808),1621=>array(147,-244,298,-29),1623=>array(97,615,354,898),1626=>array(106,616,343,775),1632=>array(193,220,290,342),1633=>array(122,0,308,635),1634=>array(36,0,443,635),1635=>array(33,0,458,635),1636=>array(77,-10,411,641),1637=>array(59,-10,424,643),1638=>array(37,0,444,635),1639=>array(26,0,457,635),1640=>array(26,0,457,635),1641=>array(44,0,444,640),1642=>array(58,0,425,635),1643=>array(0,-110,270,318),1644=>array(78,499,207,729),1645=>array(38,101,453,537),1646=>array(57,-10,778,327),1647=>array(47,-215,631,481),1648=>array(201,602,250,887),1652=>array(53,649,205,864),1657=>array(57,-10,778,575),1658=>array(57,-10,778,513),1659=>array(57,-244,778,327),1660=>array(57,-180,778,391),1661=>array(57,-10,778,464),1662=>array(57,-244,778,327),1663=>array(57,-10,778,513),1664=>array(57,-244,778,327),1665=>array(69,-244,580,710),1666=>array(69,-244,580,708),1667=>array(69,-244,580,425),1668=>array(69,-244,580,425),1669=>array(69,-244,580,708),1670=>array(69,-244,580,425),1671=>array(69,-244,580,425),1672=>array(55,-19,350,746),1673=>array(55,-180,350,415),1674=>array(55,-171,350,415),1675=>array(55,-171,350,746),1676=>array(55,-19,350,586),1677=>array(55,-146,350,415),1678=>array(55,-19,350,708),1679=>array(55,-19,350,684),1680=>array(55,-19,350,708),1681=>array(-38,-244,422,648),1682=>array(-38,-244,426,556),1683=>array(-38,-244,457,269),1684=>array(-38,-244,426,269),1685=>array(-38,-244,571,269),1686=>array(-38,-244,426,269),1687=>array(-38,-244,396,464),1688=>array(-38,-244,396,586),1689=>array(-38,-244,396,586),1690=>array(57,-244,1024,464),1691=>array(57,-244,1024,366),1692=>array(57,-244,1024,586),1693=>array(57,-244,1021,362),1694=>array(57,-244,1021,586),1695=>array(63,0,772,760),1696=>array(51,-244,528,781),1697=>array(57,-45,857,481),1698=>array(57,-171,857,481),1699=>array(57,-171,857,635),1700=>array(57,-45,857,757),1701=>array(57,-293,857,481),1702=>array(57,-45,857,757),1703=>array(47,-215,631,635),1704=>array(47,-215,631,757),1705=>array(57,-43,806,760),1706=>array(57,-43,900,760),1707=>array(57,-43,806,760),1708=>array(63,-27,650,760),1709=>array(63,-27,650,854),1710=>array(63,-293,650,760),1711=>array(57,-43,806,896),1712=>array(57,-43,806,896),1713=>array(57,-43,806,903),1714=>array(57,-171,806,896),1715=>array(57,-293,806,896),1716=>array(57,-43,806,1025),1717=>array(63,-152,651,971),1718=>array(63,-152,573,952),1719=>array(63,-152,615,1025),1720=>array(63,-391,573,760),1721=>array(64,-317,594,464),1722=>array(64,-162,594,366),1723=>array(64,-162,594,636),1724=>array(64,-330,594,464),1725=>array(64,-162,594,586),1726=>array(63,-33,575,487),1727=>array(69,-244,580,586),1734=>array(-38,-244,366,556),1740=>array(57,-131,647,411),1742=>array(57,-131,647,556),1749=>array(61,-28,408,358),1776=>array(193,220,290,342),1777=>array(122,0,308,635),1778=>array(36,0,443,635),1779=>array(33,0,458,635),1780=>array(36,0,424,643),1781=>array(46,-5,437,643),1782=>array(91,0,401,640),1783=>array(26,0,457,635),1784=>array(26,0,457,635),1785=>array(44,0,444,640),1984=>array(59,-14,513,742),1985=>array(99,0,490,729),1986=>array(99,0,477,729),1987=>array(99,0,477,729),1988=>array(99,0,477,729),1989=>array(99,0,477,729),1990=>array(99,0,477,729),1991=>array(94,0,479,729),1992=>array(94,0,479,729),1993=>array(69,0,504,741),1994=>array(84,0,166,729),1995=>array(49,-14,465,447),1996=>array(26,0,355,731),1997=>array(26,0,506,430),1998=>array(82,0,507,430),1999=>array(82,0,507,430),2000=>array(49,0,485,735),2001=>array(82,0,507,581),2002=>array(49,0,664,741),2003=>array(84,0,368,729),2004=>array(26,0,310,729),2005=>array(82,0,454,729),2006=>array(84,0,466,729),2007=>array(26,0,230,729),2008=>array(84,0,778,513),2009=>array(26,0,399,729),2010=>array(26,0,679,729),2011=>array(82,0,507,430),2012=>array(26,0,536,729),2013=>array(84,0,611,729),2014=>array(84,0,393,729),2015=>array(49,0,567,729),2016=>array(26,0,399,729),2017=>array(26,0,536,729),2018=>array(49,0,485,729),2019=>array(84,0,393,729),2020=>array(84,0,393,612),2021=>array(84,0,386,729),2022=>array(49,0,485,729),2023=>array(49,0,485,729),2027=>array(95,673,358,745),2028=>array(29,609,421,800),2029=>array(185,658,274,758),2030=>array(83,616,365,800),2031=>array(40,616,410,800),2032=>array(29,609,421,800),2033=>array(40,616,410,800),2034=>array(180,-184,270,-84),2035=>array(93,659,355,758),2036=>array(88,557,194,760),2037=>array(88,557,194,760),2040=>array(44,0,460,498),2041=>array(44,0,460,483),2042=>array(-9,0,334,72),3647=>array(77,-138,514,769),3713=>array(57,-10,546,560),3714=>array(61,-17,622,568),3716=>array(60,-10,558,568),3719=>array(48,-238,374,568),3720=>array(56,-0,517,575),3722=>array(61,-234,622,568),3725=>array(50,-8,558,573),3732=>array(82,-14,533,560),3733=>array(57,-15,508,579),3734=>array(0,-240,528,560),3735=>array(38,-8,540,571),3737=>array(42,-14,534,568),3738=>array(32,-8,501,561),3739=>array(32,-8,501,760),3740=>array(39,-8,652,614),3741=>array(82,-14,608,760),3742=>array(45,-8,572,561),3743=>array(45,-8,572,760),3745=>array(28,-14,572,547),3746=>array(50,-8,558,760),3747=>array(61,-8,571,568),3749=>array(35,-8,525,568),3751=>array(50,-13,502,560),3754=>array(35,-8,620,679),3755=>array(56,-12,686,575),3757=>array(50,-14,502,560),3758=>array(61,-8,615,605),3759=>array(89,-166,668,579),3760=>array(48,-13,530,563),3761=>array(-521,639,-39,880),3762=>array(54,0,426,560),3763=>array(-382,0,426,806),3764=>array(-535,615,-66,926),3765=>array(-535,615,0,926),3766=>array(-535,615,-66,926),3767=>array(-535,615,0,926),3768=>array(-338,-350,-145,-38),3769=>array(-377,-306,-137,-40),3771=>array(-521,639,-39,880),3772=>array(-550,-278,6,-39),3773=>array(57,-240,558,715),3776=>array(53,-14,292,560),3777=>array(53,-14,538,560),3778=>array(-20,-5,359,896),3779=>array(40,-14,441,892),3780=>array(83,-11,401,886),3782=>array(64,-232,517,557),3784=>array(-330,618,-250,792),3785=>array(-507,609,-41,891),3786=>array(-536,598,21,869),3787=>array(-416,609,-163,890),3788=>array(-550,636,6,875),3789=>array(-382,620,-198,806),3792=>array(59,-14,513,547),3793=>array(43,-75,524,576),3794=>array(43,-66,491,711),3795=>array(9,-9,624,830),3796=>array(43,-83,541,711),3797=>array(43,-83,541,711),3798=>array(39,-8,670,812),3799=>array(57,-240,546,560),3800=>array(66,-210,612,557),3801=>array(46,-4,559,571),3804=>array(56,-12,853,575),3805=>array(56,-12,876,575),4256=>array(53,-15,734,828),4257=>array(48,-0,634,828),4258=>array(48,-148,584,837),4259=>array(48,-15,703,828),4260=>array(44,0,497,837),4261=>array(35,0,643,837),4262=>array(26,-15,625,828),4263=>array(53,-15,796,837),4264=>array(26,0,351,874),4265=>array(53,0,505,828),4266=>array(26,-15,706,828),4267=>array(53,-15,742,828),4268=>array(57,0,510,828),4269=>array(44,-167,725,837),4270=>array(22,-15,646,837),4271=>array(35,0,510,828),4272=>array(48,-15,768,828),4273=>array(57,-15,510,828),4274=>array(57,-0,510,837),4275=>array(44,-182,725,837),4276=>array(44,0,735,834),4277=>array(40,0,612,828),4278=>array(57,-15,510,837),4279=>array(48,0,501,828),4280=>array(53,-15,505,828),4281=>array(57,0,510,828),4282=>array(53,-15,688,837),4283=>array(53,-15,729,828),4284=>array(57,-0,510,828),4285=>array(44,-15,517,837),4286=>array(57,-0,510,828),4287=>array(26,0,626,828),4288=>array(26,-15,707,828),4289=>array(57,0,510,828),4290=>array(48,-15,571,837),4291=>array(26,0,479,828),4292=>array(48,0,486,828),4293=>array(35,-15,629,837),4304=>array(44,-15,413,592),4305=>array(44,-14,422,837),4306=>array(40,-235,483,551),4307=>array(44,-230,684,547),4308=>array(44,-236,404,547),4309=>array(44,-236,413,547),4310=>array(18,-14,407,838),4311=>array(44,-14,677,547),4312=>array(44,0,422,547),4313=>array(40,-236,410,542),4314=>array(44,-230,914,552),4315=>array(44,-15,413,837),4316=>array(57,-15,426,833),4317=>array(44,-0,664,547),4318=>array(44,-15,413,833),4319=>array(44,-236,413,551),4320=>array(44,0,672,833),4321=>array(57,-15,426,827),4322=>array(40,-236,549,680),4323=>array(4,-236,417,571),4324=>array(44,-236,690,547),4325=>array(44,-236,404,828),4326=>array(44,-230,664,546),4327=>array(44,-236,413,538),4328=>array(26,-15,409,837),4329=>array(57,0,426,837),4330=>array(40,-236,475,532),4331=>array(44,-14,413,828),4332=>array(57,-15,439,837),4333=>array(44,-236,424,827),4334=>array(57,-15,426,827),4335=>array(9,-235,400,572),4336=>array(44,-15,413,837),4337=>array(53,-15,422,837),4338=>array(44,-141,413,547),4339=>array(44,-236,413,546),4340=>array(44,-236,413,837),4341=>array(44,-15,464,837),4342=>array(44,-236,700,547),4343=>array(40,-236,457,547),4344=>array(44,-236,413,538),4345=>array(35,-236,479,551),4346=>array(44,-77,413,547),4347=>array(48,-10,355,484),4348=>array(44,420,243,837),5121=>array(7,1,608,730),5122=>array(7,0,608,1037),5123=>array(7,0,608,729),5124=>array(7,0,608,914),5125=>array(88,0,640,729),5126=>array(88,0,640,914),5127=>array(88,0,640,913),5129=>array(88,0,640,729),5130=>array(52,0,604,729),5131=>array(52,0,604,914),5132=>array(88,1,744,730),5133=>array(7,1,699,730),5134=>array(88,0,744,729),5135=>array(7,0,699,729),5136=>array(88,0,744,914),5137=>array(7,0,699,914),5138=>array(88,0,818,729),5139=>array(88,0,818,729),5140=>array(88,0,818,914),5141=>array(88,0,818,914),5142=>array(88,0,640,914),5143=>array(88,0,782,729),5144=>array(52,0,818,729),5145=>array(88,0,782,914),5146=>array(52,0,818,914),5147=>array(52,0,604,914),5149=>array(88,629,178,729),5150=>array(60,326,439,734),5151=>array(41,356,326,714),5152=>array(41,356,326,714),5153=>array(60,398,301,674),5154=>array(60,391,301,667),5155=>array(60,398,305,667),5156=>array(60,398,301,667),5157=>array(31,327,365,733),5158=>array(60,326,298,734),5159=>array(88,312,178,412),5160=>array(60,503,301,563),5161=>array(60,399,301,667),5162=>array(60,399,301,691),5163=>array(7,1,926,730),5164=>array(7,0,763,729),5165=>array(88,0,803,729),5166=>array(52,0,950,729),5167=>array(7,0,608,729),5168=>array(7,0,608,1037),5169=>array(7,0,608,729),5170=>array(7,0,608,914),5171=>array(52,0,604,729),5172=>array(52,0,604,914),5173=>array(52,0,604,913),5175=>array(52,0,604,729),5176=>array(52,0,604,729),5177=>array(52,0,604,914),5178=>array(88,0,744,729),5179=>array(7,0,699,729),5180=>array(88,0,744,729),5181=>array(7,0,699,729),5182=>array(88,0,744,914),5183=>array(7,0,699,914),5184=>array(88,0,782,729),5185=>array(52,0,818,729),5186=>array(88,0,782,914),5187=>array(52,0,818,914),5188=>array(88,0,782,729),5189=>array(52,0,818,729),5190=>array(88,0,782,914),5191=>array(52,0,818,914),5192=>array(52,0,604,913),5193=>array(60,326,408,734),5194=>array(60,326,124,734),5196=>array(78,-14,581,729),5197=>array(78,0,581,1037),5198=>array(78,0,581,743),5199=>array(78,0,581,914),5200=>array(52,0,604,729),5201=>array(52,0,604,914),5202=>array(52,0,604,913),5204=>array(52,0,604,729),5205=>array(53,0,605,729),5206=>array(53,0,605,914),5207=>array(88,-14,751,729),5208=>array(78,-14,748,729),5209=>array(88,0,751,743),5210=>array(78,0,748,743),5211=>array(88,0,751,914),5212=>array(78,0,748,914),5213=>array(88,0,782,729),5214=>array(52,0,758,729),5215=>array(88,0,782,914),5216=>array(52,0,758,914),5217=>array(88,0,800,729),5218=>array(53,0,758,729),5219=>array(88,0,800,914),5220=>array(53,0,758,914),5221=>array(105,0,800,729),5222=>array(60,326,341,734),5223=>array(78,-14,741,734),5224=>array(78,0,741,743),5225=>array(52,0,730,734),5226=>array(53,0,752,734),5227=>array(31,0,478,743),5228=>array(88,0,535,1037),5229=>array(88,0,535,743),5230=>array(88,0,535,914),5231=>array(31,-14,478,729),5232=>array(31,-14,478,914),5233=>array(31,-14,561,913),5234=>array(88,-14,535,729),5235=>array(88,-14,535,914),5236=>array(88,0,686,743),5237=>array(31,0,642,743),5238=>array(88,0,703,743),5239=>array(88,0,683,743),5240=>array(88,0,703,914),5241=>array(88,0,683,914),5242=>array(88,-14,686,729),5243=>array(31,-14,642,729),5244=>array(88,-14,686,914),5245=>array(31,-14,642,914),5246=>array(88,-14,703,729),5247=>array(88,-14,683,729),5248=>array(88,-14,703,914),5249=>array(88,-14,683,914),5250=>array(105,-14,703,729),5251=>array(60,318,342,734),5252=>array(24,318,306,734),5253=>array(31,0,626,743),5254=>array(88,0,648,743),5255=>array(31,-14,626,734),5256=>array(88,-14,648,734),5257=>array(31,0,478,743),5258=>array(88,0,535,1037),5259=>array(88,0,535,743),5260=>array(88,0,535,914),5261=>array(31,-14,478,729),5262=>array(31,-14,478,914),5263=>array(31,-14,561,913),5264=>array(88,-14,535,729),5265=>array(88,-14,535,914),5266=>array(88,0,686,743),5267=>array(31,0,642,743),5268=>array(88,0,703,743),5269=>array(88,0,683,743),5270=>array(88,0,703,914),5271=>array(88,0,683,914),5272=>array(88,-14,686,729),5273=>array(31,-14,642,729),5274=>array(88,-14,686,914),5275=>array(31,-14,642,914),5276=>array(88,-14,703,729),5277=>array(88,-14,683,729),5278=>array(88,-14,703,914),5279=>array(88,-14,683,914),5280=>array(105,-14,703,729),5281=>array(60,318,342,734),5282=>array(60,318,342,734),5283=>array(52,0,461,729),5284=>array(88,0,497,1037),5285=>array(88,0,497,729),5286=>array(88,0,497,914),5287=>array(52,0,461,729),5288=>array(52,0,461,914),5289=>array(52,0,547,913),5290=>array(88,0,497,729),5291=>array(88,0,497,914),5292=>array(88,0,586,729),5293=>array(52,0,640,729),5294=>array(88,0,667,729),5295=>array(88,0,635,729),5296=>array(88,0,667,914),5297=>array(88,0,635,914),5298=>array(88,0,586,729),5299=>array(52,0,640,729),5300=>array(88,0,586,914),5301=>array(52,0,640,914),5302=>array(88,0,667,729),5303=>array(88,0,635,729),5304=>array(88,0,667,914),5305=>array(88,0,635,914),5306=>array(105,0,667,729),5307=>array(60,326,298,734),5308=>array(60,326,408,734),5309=>array(60,326,298,734),5312=>array(52,-14,736,436),5313=>array(31,-14,714,755),5314=>array(31,-14,714,436),5315=>array(4,-14,688,636),5316=>array(52,0,736,450),5317=>array(52,0,736,636),5318=>array(52,0,736,635),5319=>array(31,0,714,450),5320=>array(31,0,714,636),5321=>array(88,-14,932,436),5322=>array(52,-14,879,436),5323=>array(88,0,923,450),5324=>array(31,0,714,450),5325=>array(88,0,923,636),5326=>array(31,0,714,636),5327=>array(31,0,714,635),5328=>array(60,484,491,736),5329=>array(60,318,358,734),5330=>array(60,484,491,736),5331=>array(52,0,736,450),5332=>array(31,0,714,755),5333=>array(31,0,714,450),5334=>array(31,0,714,636),5335=>array(52,0,736,450),5336=>array(52,0,736,636),5337=>array(52,0,736,635),5338=>array(31,0,714,450),5339=>array(31,0,714,636),5340=>array(88,0,932,450),5341=>array(52,0,879,450),5342=>array(88,0,923,450),5343=>array(31,0,875,450),5344=>array(88,0,923,636),5345=>array(31,0,875,636),5346=>array(88,0,932,450),5347=>array(52,0,879,450),5348=>array(88,0,932,636),5349=>array(52,0,879,636),5350=>array(88,0,923,450),5351=>array(31,0,875,450),5352=>array(88,0,923,636),5353=>array(31,0,875,636),5354=>array(60,484,491,736),5356=>array(52,0,604,729),5357=>array(31,0,455,729),5358=>array(88,0,584,1037),5359=>array(88,0,512,729),5360=>array(88,0,512,914),5361=>array(31,0,455,729),5362=>array(31,0,455,914),5363=>array(31,0,540,913),5364=>array(88,0,512,729),5365=>array(88,0,512,914),5366=>array(88,0,663,729),5367=>array(31,0,626,729),5368=>array(88,0,682,729),5369=>array(88,0,642,729),5370=>array(88,0,682,914),5371=>array(88,0,642,914),5372=>array(88,0,663,729),5373=>array(31,0,626,729),5374=>array(88,0,663,914),5375=>array(31,0,626,914),5376=>array(88,0,682,729),5377=>array(88,0,642,729),5378=>array(88,0,682,914),5379=>array(88,0,642,914),5380=>array(105,0,682,729),5381=>array(60,326,327,734),5382=>array(60,318,329,741),5383=>array(60,326,327,734),5392=>array(31,-14,610,743),5393=>array(31,-14,610,743),5394=>array(31,-14,610,914),5395=>array(31,-14,772,464),5396=>array(31,-14,772,636),5397=>array(31,-14,772,464),5398=>array(31,-14,772,636),5399=>array(88,-14,788,743),5400=>array(31,-14,733,743),5401=>array(88,-14,788,743),5402=>array(31,-14,733,743),5403=>array(88,-14,788,914),5404=>array(31,-14,733,914),5405=>array(88,-14,996,464),5406=>array(31,-14,938,464),5407=>array(88,-14,996,636),5408=>array(31,-14,938,636),5409=>array(88,-14,996,464),5410=>array(31,-14,938,464),5411=>array(88,-14,996,636),5412=>array(31,-14,938,636),5413=>array(60,476,527,737),5414=>array(52,0,476,729),5415=>array(88,0,512,1037),5416=>array(88,0,512,729),5417=>array(88,0,512,914),5418=>array(52,0,476,729),5419=>array(52,0,479,914),5420=>array(52,0,564,913),5421=>array(88,0,512,729),5422=>array(88,0,512,914),5423=>array(88,0,672,729),5424=>array(52,0,650,729),5425=>array(88,0,682,729),5426=>array(88,0,685,729),5427=>array(88,0,682,914),5428=>array(88,0,685,914),5429=>array(88,0,672,729),5430=>array(52,0,650,729),5431=>array(88,0,674,914),5432=>array(52,0,650,914),5433=>array(88,0,682,729),5434=>array(88,0,685,729),5435=>array(88,0,682,914),5436=>array(88,0,685,914),5437=>array(105,0,682,729),5438=>array(60,326,327,734),5440=>array(60,399,301,667),5441=>array(60,326,387,734),5442=>array(88,-14,772,436),5443=>array(52,-14,736,436),5444=>array(52,0,736,450),5445=>array(88,0,772,755),5446=>array(88,0,772,450),5447=>array(88,0,772,636),5448=>array(88,0,512,729),5449=>array(88,0,512,914),5450=>array(88,0,512,729),5451=>array(31,0,455,729),5452=>array(31,0,455,914),5453=>array(31,0,455,729),5454=>array(88,0,663,914),5455=>array(31,0,626,914),5456=>array(60,326,327,734),5458=>array(52,0,604,729),5459=>array(66,0,608,744),5460=>array(66,-15,608,1037),5461=>array(66,-15,608,729),5462=>array(66,-15,608,914),5463=>array(34,0,602,662),5464=>array(34,0,602,914),5465=>array(52,0,620,662),5466=>array(52,0,620,914),5467=>array(88,0,798,914),5468=>array(52,0,818,914),5469=>array(60,326,416,695),5470=>array(78,-14,581,743),5471=>array(78,-14,581,743),5472=>array(78,-14,581,743),5473=>array(78,-14,581,743),5474=>array(78,-14,581,914),5475=>array(78,-14,581,914),5476=>array(36,0,604,729),5477=>array(36,0,604,914),5478=>array(53,0,621,729),5479=>array(53,0,621,914),5480=>array(88,0,816,914),5481=>array(53,0,758,914),5482=>array(60,326,421,734),5492=>array(31,0,695,743),5493=>array(52,0,717,743),5494=>array(52,0,717,914),5495=>array(31,-14,695,729),5496=>array(31,-14,695,914),5497=>array(52,-14,717,729),5498=>array(52,-14,717,914),5499=>array(60,318,458,734),5500=>array(88,0,589,729),5501=>array(60,326,387,734),5502=>array(60,0,912,1037),5503=>array(60,0,912,743),5504=>array(60,0,912,914),5505=>array(60,-14,854,734),5506=>array(60,-14,854,914),5507=>array(60,-14,912,734),5508=>array(60,-14,912,914),5509=>array(60,318,718,734),5514=>array(31,0,695,743),5515=>array(52,0,717,743),5516=>array(31,-14,695,729),5517=>array(52,-14,717,729),5518=>array(60,0,1103,1037),5519=>array(60,0,1103,743),5520=>array(60,0,1103,914),5521=>array(60,-14,813,736),5522=>array(60,-14,813,914),5523=>array(60,-14,1103,736),5524=>array(60,-14,1103,914),5525=>array(60,332,580,736),5526=>array(60,332,916,736),5536=>array(31,0,714,692),5537=>array(31,0,714,692),5538=>array(52,-242,736,450),5539=>array(52,-242,736,636),5540=>array(31,-242,714,450),5541=>array(31,-242,714,636),5542=>array(60,338,491,736),5543=>array(52,0,564,729),5544=>array(14,0,527,729),5545=>array(14,0,527,914),5546=>array(52,0,564,729),5547=>array(52,0,564,914),5548=>array(14,0,527,729),5549=>array(14,0,527,914),5550=>array(4,326,327,734),5551=>array(88,-14,535,729),5598=>array(88,0,640,729),5601=>array(50,0,602,729),5702=>array(60,326,372,734),5703=>array(60,240,372,820),5742=>array(51,0,352,306),5743=>array(60,0,854,743),5744=>array(60,0,1090,743),5745=>array(60,0,1438,743),5746=>array(60,0,1438,914),5747=>array(60,-14,1149,736),5748=>array(60,-14,1149,914),5749=>array(60,-14,1438,736),5750=>array(60,-14,1438,914),5760=>array(-9,246,438,328),5761=>array(-9,-125,453,328),5762=>array(-9,-125,650,328),5763=>array(-9,-125,847,328),5764=>array(-9,-125,1044,328),5765=>array(-9,-125,1242,328),5766=>array(-9,246,453,697),5767=>array(-9,246,650,697),5768=>array(-9,246,847,697),5769=>array(-9,246,1044,697),5770=>array(-9,246,1242,697),5771=>array(-9,-125,457,697),5772=>array(-9,-125,655,697),5773=>array(-9,-125,854,697),5774=>array(-9,-125,1052,697),5775=>array(-9,-125,1250,697),5776=>array(-9,41,453,533),5777=>array(-9,41,650,533),5778=>array(-9,41,846,533),5779=>array(-9,41,1043,533),5780=>array(-9,41,1242,533),5781=>array(-9,-125,457,697),5782=>array(-9,-125,686,697),5783=>array(-9,-83,719,328),5784=>array(-9,-240,1093,328),5785=>array(-9,246,1044,902),5786=>array(-9,82,624,328),5787=>array(49,28,466,544),5788=>array(-9,28,407,544),7424=>array(26,0,506,547),7425=>array(4,0,603,547),7426=>array(54,-14,836,560),7427=>array(27,0,478,547),7428=>array(49,-14,439,560),7429=>array(82,0,496,547),7430=>array(16,0,496,547),7431=>array(82,0,399,547),7432=>array(57,-14,424,561),7433=>array(84,-213,166,547),7434=>array(0,-14,279,547),7435=>array(82,0,519,547),7436=>array(0,0,448,560),7437=>array(82,0,598,547),7438=>array(82,0,503,547),7439=>array(49,-14,501,560),7440=>array(56,-14,445,560),7441=>array(49,22,567,524),7442=>array(49,57,567,489),7443=>array(22,2,597,543),7444=>array(49,-14,874,560),7446=>array(49,273,501,560),7447=>array(49,-14,501,273),7448=>array(66,0,427,547),7449=>array(22,0,457,547),7450=>array(22,0,457,547),7451=>array(26,0,498,547),7452=>array(82,-16,459,547),7453=>array(76,37,582,495),7454=>array(76,38,771,496),7455=>array(21,-238,525,560),7456=>array(26,0,506,547),7457=>array(38,0,699,547),7458=>array(39,0,434,547),7459=>array(53,-14,419,547),7462=>array(79,0,448,560),7463=>array(26,0,506,547),7464=>array(66,0,441,547),7465=>array(66,0,427,547),7466=>array(40,0,492,547),7467=>array(33,0,501,547),7468=>array(4,326,383,734),7469=>array(2,326,516,734),7470=>array(56,326,349,734),7472=>array(56,326,403,734),7473=>array(56,326,322,734),7474=>array(36,326,303,734),7475=>array(31,318,393,742),7476=>array(56,326,371,734),7477=>array(56,326,112,734),7478=>array(-30,214,112,734),7479=>array(56,326,384,734),7480=>array(56,326,313,734),7481=>array(56,326,434,734),7482=>array(56,326,369,734),7483=>array(56,326,369,734),7484=>array(31,318,415,742),7485=>array(31,318,365,742),7486=>array(56,326,323,734),7487=>array(56,326,378,734),7488=>array(-2,326,348,734),7489=>array(49,318,366,734),7490=>array(19,326,542,734),7491=>array(34,318,296,640),7492=>array(34,318,296,640),7493=>array(31,318,309,640),7494=>array(34,318,527,640),7495=>array(51,318,329,751),7496=>array(31,318,309,751),7497=>array(31,318,319,640),7498=>array(31,318,319,640),7499=>array(37,318,268,640),7500=>array(36,318,268,640),7501=>array(31,209,309,640),7502=>array(53,207,105,632),7503=>array(51,326,327,751),7504=>array(51,326,504,640),7505=>array(51,209,312,640),7506=>array(31,318,316,640),7507=>array(31,318,277,640),7508=>array(31,479,316,640),7509=>array(31,318,316,479),7510=>array(51,209,329,640),7511=>array(15,326,209,719),7512=>array(48,318,308,632),7513=>array(48,347,366,604),7514=>array(51,319,504,633),7515=>array(17,326,319,632),7517=>array(53,209,321,755),7518=>array(9,209,319,632),7519=>array(31,318,316,742),7520=>array(31,209,342,635),7521=>array(16,209,312,633),7522=>array(53,0,105,425),7523=>array(51,0,233,313),7524=>array(48,-8,308,306),7525=>array(17,0,319,306),7526=>array(53,-117,321,429),7527=>array(9,-117,319,306),7528=>array(53,-117,330,313),7529=>array(31,-117,342,309),7530=>array(16,-117,312,307),7543=>array(82,-208,522,560),7544=>array(56,326,371,734),7547=>array(51,0,283,547),7549=>array(22,-208,579,560),7557=>array(63,-208,246,760),7579=>array(31,318,309,640),7580=>array(31,318,277,640),7581=>array(31,287,277,640),7582=>array(31,318,316,751),7583=>array(37,318,268,640),7584=>array(13,326,211,751),7585=>array(-10,209,153,632),7586=>array(31,209,309,632),7587=>array(48,209,308,632),7588=>array(32,326,179,751),7589=>array(53,326,168,632),7590=>array(32,326,179,632),7591=>array(32,326,179,632),7592=>array(-75,209,155,751),7593=>array(53,209,168,751),7594=>array(40,209,155,751),7595=>array(49,326,283,640),7596=>array(51,209,504,640),7597=>array(51,209,504,633),7598=>array(-10,209,313,640),7599=>array(51,209,375,640),7600=>array(49,326,312,640),7601=>array(31,318,316,640),7602=>array(31,210,316,751),7603=>array(31,209,268,640),7604=>array(-10,209,202,751),7605=>array(15,209,209,719),7606=>array(41,318,401,632),7607=>array(31,318,320,632),7608=>array(51,317,290,632),7609=>array(53,326,309,632),7610=>array(17,326,319,632),7611=>array(24,326,273,632),7612=>array(24,209,336,632),7613=>array(24,296,273,632),7614=>array(24,207,297,632),7615=>array(31,320,316,756),7620=>array(-410,616,-40,800),7621=>array(-410,616,-40,800),7622=>array(-410,616,-40,800),7623=>array(-410,616,-40,800),7624=>array(-421,616,-29,800),7625=>array(-421,616,-29,800),7680=>array(7,-241,608,729),7681=>array(54,-241,470,560),7682=>array(88,0,554,914),7683=>array(81,-14,522,915),7684=>array(88,-183,554,729),7685=>array(82,-183,522,760),7686=>array(88,-156,554,729),7687=>array(82,-156,522,760),7688=>array(50,-193,580,928),7689=>array(49,-193,439,800),7690=>array(88,0,640,914),7691=>array(49,-14,490,942),7692=>array(88,-183,640,729),7693=>array(49,-183,490,760),7694=>array(88,-156,640,729),7695=>array(49,-156,490,760),7696=>array(88,-192,640,729),7697=>array(49,-193,490,760),7698=>array(88,-240,640,729),7699=>array(49,-240,490,760),7700=>array(88,0,511,1044),7701=>array(49,-14,506,921),7702=>array(88,0,511,1044),7703=>array(49,-14,506,921),7704=>array(88,-213,511,729),7705=>array(49,-213,506,560),7706=>array(88,-192,511,729),7707=>array(49,-192,506,560),7708=>array(88,-193,511,928),7709=>array(49,-193,506,785),7710=>array(88,0,466,914),7711=>array(21,0,334,942),7712=>array(50,-14,624,887),7713=>array(49,-208,490,745),7714=>array(88,0,589,913),7715=>array(81,0,494,915),7716=>array(88,-183,589,729),7717=>array(82,-183,494,760),7718=>array(88,0,589,914),7719=>array(-9,0,494,913),7720=>array(7,-193,589,729),7721=>array(0,-193,494,760),7722=>array(88,-222,589,729),7723=>array(82,-222,494,760),7724=>array(0,-192,290,729),7725=>array(-20,-192,271,760),7726=>array(3,0,264,1044),7727=>array(-5,0,256,886),7728=>array(88,0,609,928),7729=>array(82,0,519,928),7730=>array(88,-183,609,729),7731=>array(82,-183,519,760),7732=>array(88,-156,609,729),7733=>array(82,-156,519,760),7734=>array(88,-183,497,729),7735=>array(88,-183,171,760),7736=>array(1,-183,497,927),7737=>array(-1,-183,262,899),7738=>array(88,-156,497,729),7739=>array(-5,-156,258,760),7740=>array(88,-240,497,729),7741=>array(-15,-240,266,760),7742=>array(88,0,689,928),7743=>array(82,0,800,800),7744=>array(88,0,689,914),7745=>array(82,0,800,760),7746=>array(88,-183,689,729),7747=>array(82,-183,800,560),7748=>array(88,0,585,914),7749=>array(82,0,494,760),7750=>array(88,-183,585,729),7751=>array(82,-183,494,560),7752=>array(88,-156,585,729),7753=>array(82,-156,494,560),7754=>array(88,-240,585,729),7755=>array(82,-240,494,560),7756=>array(50,-14,658,1044),7757=>array(49,-14,501,881),7758=>array(50,-14,658,1042),7759=>array(49,-14,501,882),7760=>array(50,-14,658,1044),7761=>array(49,-14,501,921),7762=>array(50,-14,658,1044),7763=>array(49,-14,501,921),7764=>array(88,0,512,928),7765=>array(82,-208,522,800),7766=>array(88,0,512,914),7767=>array(82,-208,522,760),7768=>array(88,0,600,913),7769=>array(82,0,370,760),7770=>array(88,-183,600,729),7771=>array(82,-183,370,560),7772=>array(88,-183,600,899),7773=>array(82,-183,370,745),7774=>array(88,-156,600,729),7775=>array(37,-156,370,560),7776=>array(59,-14,521,914),7777=>array(48,-14,425,760),7778=>array(59,-183,521,742),7779=>array(48,-183,425,560),7780=>array(59,-14,521,928),7781=>array(48,-14,437,800),7782=>array(59,-14,521,1042),7783=>array(48,-14,425,973),7784=>array(59,-183,521,914),7785=>array(48,-183,425,733),7786=>array(-3,0,553,914),7787=>array(24,0,332,942),7788=>array(-3,-183,553,729),7789=>array(24,-183,332,702),7790=>array(-3,-156,553,729),7791=>array(24,-156,352,702),7792=>array(-3,-240,553,729),7793=>array(24,-240,354,702),7794=>array(78,-183,581,729),7795=>array(76,-183,489,560),7796=>array(78,-192,581,729),7797=>array(76,-192,489,560),7798=>array(78,-213,581,729),7799=>array(76,-213,489,560),7800=>array(78,-14,581,1044),7801=>array(76,-14,489,990),7802=>array(78,-14,581,1025),7803=>array(76,-14,489,869),7804=>array(7,0,608,936),7805=>array(26,0,506,777),7806=>array(7,-183,608,729),7807=>array(26,-183,506,547),7808=>array(30,0,861,931),7809=>array(38,0,699,802),7810=>array(30,0,861,931),7811=>array(38,0,699,803),7812=>array(30,0,861,913),7813=>array(38,0,699,758),7814=>array(30,0,861,913),7815=>array(38,0,699,760),7816=>array(30,-183,861,729),7817=>array(38,-183,699,547),7818=>array(26,0,589,914),7819=>array(26,0,503,760),7820=>array(26,0,589,913),7821=>array(26,0,503,758),7822=>array(-2,0,552,914),7823=>array(26,-208,506,760),7824=>array(40,0,576,928),7825=>array(39,0,434,800),7826=>array(40,-183,576,729),7827=>array(39,-183,434,547),7828=>array(40,-156,576,729),7829=>array(39,-156,434,547),7830=>array(82,-156,494,760),7831=>array(1,0,332,913),7832=>array(38,0,699,878),7833=>array(26,-208,506,878),7834=>array(54,-14,605,760),7835=>array(21,0,334,942),7836=>array(0,0,334,760),7837=>array(21,0,334,760),7838=>array(78,-14,642,743),7839=>array(49,-14,501,742),7840=>array(7,-183,608,729),7841=>array(54,-183,470,560),7842=>array(7,0,608,992),7843=>array(54,-14,470,810),7844=>array(7,0,608,1028),7845=>array(54,-14,527,846),7846=>array(7,0,608,1028),7847=>array(54,-14,470,847),7848=>array(7,0,608,1044),7849=>array(54,-14,519,862),7850=>array(7,0,608,1057),7851=>array(54,-14,470,875),7852=>array(7,-183,608,928),7853=>array(54,-183,470,800),7854=>array(7,0,608,1044),7855=>array(54,-14,470,877),7856=>array(7,0,608,1044),7857=>array(54,-14,470,877),7858=>array(7,0,608,1068),7859=>array(54,-14,470,901),7860=>array(7,0,608,1043),7861=>array(54,-14,470,876),7862=>array(7,-183,608,946),7863=>array(54,-183,470,765),7864=>array(88,-183,511,729),7865=>array(49,-183,506,560),7866=>array(88,0,511,992),7867=>array(49,-14,506,810),7868=>array(88,0,511,921),7869=>array(49,-14,506,777),7870=>array(88,0,573,1028),7871=>array(49,-14,552,846),7872=>array(88,0,511,1028),7873=>array(49,-14,506,847),7874=>array(88,0,558,1044),7875=>array(49,-14,545,862),7876=>array(88,0,511,1057),7877=>array(49,-14,506,875),7878=>array(88,-183,511,928),7879=>array(49,-183,506,800),7880=>array(40,0,237,992),7881=>array(30,0,227,811),7882=>array(88,-183,177,729),7883=>array(83,-183,166,760),7884=>array(50,-183,658,742),7885=>array(49,-183,501,560),7886=>array(50,-14,658,992),7887=>array(49,-14,501,810),7888=>array(50,-14,658,1028),7889=>array(49,-14,541,846),7890=>array(50,-14,658,1028),7891=>array(49,-14,501,847),7892=>array(50,-14,658,1044),7893=>array(49,-14,533,862),7894=>array(50,-14,658,1057),7895=>array(49,-14,501,875),7896=>array(50,-183,658,928),7897=>array(49,-183,501,800),7898=>array(45,-14,688,927),7899=>array(52,-14,543,800),7900=>array(45,-14,688,927),7901=>array(52,-14,543,800),7902=>array(45,-14,688,992),7903=>array(52,-14,543,810),7904=>array(45,-14,688,921),7905=>array(52,-14,543,777),7906=>array(45,-183,688,760),7907=>array(52,-183,543,615),7908=>array(78,-183,581,729),7909=>array(76,-183,489,560),7910=>array(78,-14,581,992),7911=>array(76,-14,489,810),7912=>array(76,-4,717,927),7913=>array(77,-14,609,800),7914=>array(76,-4,717,927),7915=>array(77,-14,609,800),7916=>array(76,-4,717,992),7917=>array(77,-14,609,810),7918=>array(76,-4,717,921),7919=>array(77,-14,609,777),7920=>array(76,-183,717,760),7921=>array(77,-183,609,615),7922=>array(-2,0,552,931),7923=>array(26,-208,506,802),7924=>array(-2,-183,552,729),7925=>array(26,-208,506,547),7926=>array(-2,0,552,996),7927=>array(26,-208,506,813),7928=>array(-2,0,552,921),7929=>array(26,-208,506,777),7930=>array(88,0,688,729),7931=>array(14,0,416,760),7936=>array(49,-12,550,797),7937=>array(49,-12,550,797),7938=>array(49,-12,550,800),7939=>array(49,-12,550,800),7940=>array(49,-12,550,800),7941=>array(49,-12,550,800),7942=>array(49,-12,550,928),7943=>array(49,-12,550,928),7944=>array(7,0,608,797),7945=>array(7,0,608,797),7946=>array(2,0,782,800),7947=>array(2,0,782,800),7948=>array(3,0,685,800),7949=>array(2,0,714,800),7950=>array(3,0,630,928),7951=>array(1,0,661,928),7952=>array(58,-14,426,797),7953=>array(58,-14,426,797),7954=>array(58,-14,426,800),7955=>array(58,-14,426,800),7956=>array(58,-14,438,800),7957=>array(58,-14,452,800),7960=>array(3,0,583,797),7961=>array(3,0,583,797),7962=>array(2,0,812,800),7963=>array(2,0,820,800),7964=>array(3,0,751,800),7965=>array(2,0,778,800),7968=>array(82,-208,494,797),7969=>array(82,-208,494,797),7970=>array(82,-208,494,800),7971=>array(82,-208,494,800),7972=>array(82,-208,494,800),7973=>array(82,-208,494,800),7974=>array(82,-208,494,928),7975=>array(82,-208,494,928),7976=>array(3,0,665,797),7977=>array(3,0,664,797),7978=>array(2,0,889,800),7979=>array(2,0,892,800),7980=>array(3,0,836,800),7981=>array(2,0,857,800),7982=>array(3,0,752,928),7983=>array(1,0,764,928),7984=>array(68,0,273,797),7985=>array(63,0,273,797),7986=>array(-35,0,307,800),7987=>array(-31,0,313,800),7988=>array(2,0,326,800),7989=>array(-20,0,330,800),7990=>array(-23,0,273,928),7991=>array(-26,0,273,928),7992=>array(3,0,254,797),7993=>array(3,0,249,797),7994=>array(2,0,483,800),7995=>array(2,0,483,800),7996=>array(3,0,425,800),7997=>array(2,0,452,800),7998=>array(3,0,353,928),7999=>array(1,0,356,928),8000=>array(49,-14,501,797),8001=>array(49,-14,501,797),8002=>array(49,-14,501,800),8003=>array(49,-14,501,800),8004=>array(49,-14,501,800),8005=>array(49,-14,501,800),8008=>array(3,-14,673,797),8009=>array(3,-14,713,797),8010=>array(2,-14,935,800),8011=>array(2,-14,939,800),8012=>array(3,-14,794,800),8013=>array(2,-14,823,800),8016=>array(65,-14,469,797),8017=>array(65,-14,469,797),8018=>array(65,-14,469,800),8019=>array(65,-14,469,800),8020=>array(65,-14,469,800),8021=>array(65,-14,469,800),8022=>array(65,-14,469,928),8023=>array(65,-14,469,928),8025=>array(3,0,708,797),8027=>array(2,0,900,800),8029=>array(2,0,913,800),8031=>array(1,0,810,928),8032=>array(59,-14,692,797),8033=>array(59,-14,692,797),8034=>array(59,-14,692,800),8035=>array(59,-14,692,800),8036=>array(59,-14,692,800),8037=>array(59,-14,692,800),8038=>array(59,-14,692,928),8039=>array(59,-14,692,928),8040=>array(3,0,688,797),8041=>array(3,0,725,797),8042=>array(2,0,946,800),8043=>array(2,0,952,800),8044=>array(3,0,817,800),8045=>array(2,0,841,800),8046=>array(3,0,795,928),8047=>array(1,0,823,928),8048=>array(49,-12,550,800),8049=>array(49,-12,550,800),8050=>array(58,-14,426,800),8051=>array(58,-14,426,800),8052=>array(82,-208,494,800),8053=>array(82,-208,494,800),8054=>array(-51,0,273,800),8055=>array(73,0,292,800),8056=>array(49,-14,501,800),8057=>array(49,-14,501,800),8058=>array(65,-14,469,800),8059=>array(65,-14,469,800),8060=>array(59,-14,692,800),8061=>array(59,-14,692,800),8064=>array(49,-208,550,797),8065=>array(49,-208,550,797),8066=>array(49,-208,550,800),8067=>array(49,-208,550,800),8068=>array(49,-208,550,800),8069=>array(49,-208,550,800),8070=>array(49,-208,550,928),8071=>array(49,-208,550,928),8072=>array(7,-208,608,797),8073=>array(7,-208,608,797),8074=>array(2,-208,782,800),8075=>array(2,-208,782,800),8076=>array(3,-208,685,800),8077=>array(2,-208,714,800),8078=>array(3,-208,630,928),8079=>array(1,-208,661,928),8080=>array(82,-208,494,797),8081=>array(82,-208,494,797),8082=>array(82,-208,494,800),8083=>array(82,-208,494,800),8084=>array(82,-208,494,800),8085=>array(82,-208,494,800),8086=>array(82,-208,494,928),8087=>array(82,-208,494,928),8088=>array(3,-208,665,797),8089=>array(3,-208,664,797),8090=>array(2,-208,889,800),8091=>array(2,-208,892,800),8092=>array(3,-208,836,800),8093=>array(2,-208,857,800),8094=>array(3,-208,752,928),8095=>array(1,-208,764,928),8096=>array(59,-208,692,797),8097=>array(59,-208,692,797),8098=>array(59,-208,692,800),8099=>array(59,-208,692,800),8100=>array(59,-208,692,800),8101=>array(59,-208,692,800),8102=>array(59,-208,692,928),8103=>array(59,-208,692,928),8104=>array(3,-208,688,797),8105=>array(3,-208,725,797),8106=>array(2,-208,946,800),8107=>array(2,-208,952,800),8108=>array(3,-208,817,800),8109=>array(2,-208,841,800),8110=>array(3,-208,795,928),8111=>array(1,-208,823,928),8112=>array(49,-12,550,785),8113=>array(49,-12,550,745),8114=>array(49,-208,550,800),8115=>array(49,-208,550,559),8116=>array(49,-208,550,800),8118=>array(49,-12,550,777),8119=>array(49,-208,550,777),8120=>array(7,0,608,928),8121=>array(7,0,608,899),8122=>array(-2,0,637,800),8123=>array(7,0,608,800),8124=>array(7,-208,608,729),8125=>array(171,595,278,797),8126=>array(192,-208,290,-45),8127=>array(171,595,278,797),8128=>array(80,639,370,777),8129=>array(80,659,370,928),8130=>array(82,-208,494,800),8131=>array(82,-208,494,560),8132=>array(82,-208,494,800),8134=>array(82,-208,494,777),8135=>array(82,-208,494,777),8136=>array(-2,0,667,800),8137=>array(-11,0,614,800),8138=>array(-2,0,750,800),8139=>array(-6,0,689,800),8140=>array(88,-208,589,729),8141=>array(60,595,402,800),8142=>array(79,595,403,800),8143=>array(80,595,370,928),8144=>array(-9,0,273,785),8145=>array(-13,0,273,745),8146=>array(-18,0,273,978),8147=>array(2,0,281,978),8150=>array(-13,0,278,777),8151=>array(-12,0,279,928),8152=>array(-5,0,271,928),8153=>array(1,0,264,899),8154=>array(-2,0,339,800),8155=>array(-9,0,280,800),8157=>array(55,595,399,800),8158=>array(65,595,416,800),8159=>array(80,595,370,928),8160=>array(65,-14,469,785),8161=>array(65,-14,469,745),8162=>array(65,-14,469,978),8163=>array(65,-14,469,978),8164=>array(82,-208,522,797),8165=>array(82,-208,522,797),8166=>array(65,-14,469,777),8167=>array(65,-14,469,928),8168=>array(-2,0,552,928),8169=>array(-2,0,552,899),8170=>array(-2,0,763,800),8171=>array(-14,0,739,800),8172=>array(3,0,586,797),8173=>array(75,659,356,978),8174=>array(94,659,374,978),8175=>array(75,617,286,800),8178=>array(59,-208,692,800),8179=>array(59,-208,692,547),8180=>array(59,-208,692,800),8182=>array(59,-14,692,777),8183=>array(59,-208,692,777),8184=>array(-2,-14,796,800),8185=>array(-6,-14,676,800),8186=>array(-2,0,796,800),8187=>array(-17,0,677,800),8188=>array(34,-208,654,738),8189=>array(163,616,374,800),8190=>array(171,595,278,797),8208=>array(44,234,281,314),8209=>array(44,234,281,314),8210=>array(44,239,529,309),8211=>array(44,239,406,309),8212=>array(44,239,856,309),8213=>array(0,239,900,309),8214=>array(114,-236,334,764),8215=>array(-9,-236,459,-9),8216=>array(76,489,206,729),8217=>array(78,499,207,729),8218=>array(76,-116,206,124),8219=>array(78,499,207,729),8220=>array(76,489,386,729),8221=>array(76,489,386,729),8222=>array(76,-116,386,124),8223=>array(76,489,386,729),8224=>array(25,-96,425,729),8225=>array(25,-96,425,729),8226=>array(135,227,396,516),8227=>array(135,188,431,555),8228=>array(104,0,198,124),8229=>array(104,0,497,124),8230=>array(104,0,796,124),8231=>array(97,302,189,426),8240=>array(49,-14,1159,742),8241=>array(49,-14,1513,742),8242=>array(18,547,183,729),8243=>array(18,547,315,729),8244=>array(18,547,447,729),8245=>array(18,547,183,729),8246=>array(18,547,315,729),8247=>array(18,547,447,729),8248=>array(4,-236,300,-30),8249=>array(69,69,276,517),8250=>array(84,69,291,517),8251=>array(85,2,666,725),8252=>array(64,0,373,729),8253=>array(64,0,415,742),8254=>array(-9,686,459,755),8255=>array(-40,-237,763,-60),8256=>array(-40,752,763,929),8257=>array(-38,-236,257,229),8258=>array(26,-29,874,814),8259=>array(97,313,360,421),8260=>array(-165,-14,315,742),8261=>array(77,-132,264,760),8262=>array(77,-132,264,760),8263=>array(32,0,798,742),8264=>array(64,0,595,742),8265=>array(64,0,595,742),8266=>array(44,-123,404,545),8267=>array(104,-96,510,729),8268=>array(95,220,355,509),8269=>array(95,220,355,509),8270=>array(26,-29,423,427),8271=>array(125,-116,254,517),8272=>array(-40,-237,763,929),8273=>array(26,-7,423,929),8274=>array(63,-93,367,729),8275=>array(44,228,856,399),8276=>array(-40,-240,763,-63),8277=>array(137,98,617,631),8278=>array(110,149,417,589),8279=>array(18,547,579,729),8280=>array(157,125,597,613),8281=>array(157,120,597,608),8282=>array(96,0,189,729),8283=>array(44,-138,674,867),8284=>array(49,0,705,729),8285=>array(96,39,189,655),8286=>array(96,8,189,683),8304=>array(38,319,330,742),8305=>array(53,326,105,751),8308=>array(27,326,333,734),8309=>array(44,319,318,734),8310=>array(40,319,332,742),8311=>array(47,326,319,734),8312=>array(39,319,329,742),8313=>array(36,319,328,742),8314=>array(60,326,415,677),8315=>array(60,479,415,525),8316=>array(60,422,415,581),8317=>array(48,252,176,751),8318=>array(45,252,172,751),8319=>array(51,326,312,640),8320=>array(38,-7,330,416),8321=>array(60,0,312,408),8322=>array(41,0,304,416),8323=>array(43,-7,315,416),8324=>array(27,0,333,408),8325=>array(44,-7,318,408),8326=>array(40,-7,332,416),8327=>array(47,0,319,408),8328=>array(39,-7,329,416),8329=>array(36,-7,328,416),8330=>array(60,0,415,351),8331=>array(60,152,415,199),8332=>array(60,96,415,254),8333=>array(48,-74,176,425),8334=>array(45,-74,172,425),8336=>array(34,-8,296,313),8337=>array(31,-8,319,313),8338=>array(31,-8,316,313),8339=>array(51,0,352,306),8340=>array(31,-8,319,313),8341=>array(51,0,312,425),8342=>array(51,0,327,425),8343=>array(53,0,105,425),8344=>array(51,0,504,313),8345=>array(51,0,312,313),8346=>array(51,-117,329,313),8347=>array(51,0,289,322),8348=>array(15,0,209,393),8352=>array(38,0,751,729),8353=>array(50,-44,534,778),8354=>array(42,-14,529,742),8355=>array(58,0,540,729),8356=>array(57,0,493,742),8357=>array(82,-93,800,640),8358=>array(51,0,622,729),8359=>array(88,-14,1103,729),8360=>array(88,-14,923,729),8361=>array(26,0,864,729),8362=>array(42,-14,668,729),8363=>array(49,-156,558,760),8364=>array(0,-14,513,742),8365=>array(18,0,572,729),8366=>array(9,0,564,729),8367=>array(91,-222,1085,742),8368=>array(20,-14,513,742),8369=>array(30,0,521,729),8370=>array(41,-81,528,809),8371=>array(7,0,565,729),8372=>array(51,-14,646,742),8373=>array(72,-147,500,760),8376=>array(9,0,564,729),8377=>array(46,0,527,729),8378=>array(4,2,584,731),8400=>array(-442,635,-23,760),8401=>array(-423,635,-4,760),8406=>array(-423,560,-23,760),8407=>array(-423,560,-23,760),8411=>array(-442,560,-9,758),8412=>array(-527,560,78,758),8417=>array(-423,560,-23,760),8448=>array(29,-24,883,752),8449=>array(29,-24,899,752),8450=>array(50,-14,580,742),8451=>array(85,-14,948,742),8452=>array(-19,0,573,729),8453=>array(26,-24,888,752),8454=>array(26,-24,934,752),8455=>array(72,-14,504,742),8456=>array(48,-146,578,611),8457=>array(85,0,804,742),8459=>array(32,-14,849,748),8460=>array(0,-128,624,731),8461=>array(88,0,677,729),8462=>array(31,0,510,760),8463=>array(40,0,510,760),8464=>array(26,-15,389,742),8465=>array(46,-14,593,742),8466=>array(30,-14,611,743),8467=>array(-13,-14,317,742),8468=>array(14,-14,687,760),8469=>array(87,0,634,729),8470=>array(23,0,873,729),8471=>array(124,0,776,724),8472=>array(48,-221,592,495),8473=>array(88,0,600,729),8474=>array(50,-129,658,742),8475=>array(29,-9,688,774),8476=>array(36,-14,723,743),8477=>array(88,0,697,729),8478=>array(74,0,733,729),8479=>array(88,-107,600,847),8480=>array(114,443,693,730),8481=>array(-2,0,921,547),8482=>array(129,447,706,729),8483=>array(7,-108,608,846),8484=>array(40,0,630,729),8485=>array(39,-213,471,760),8486=>array(34,0,654,738),8487=>array(34,-14,654,724),8488=>array(10,-149,516,783),8489=>array(30,0,229,547),8490=>array(88,0,609,729),8491=>array(7,0,608,928),8492=>array(40,0,661,772),8493=>array(57,-12,587,742),8494=>array(55,-12,714,647),8495=>array(38,-14,492,533),8496=>array(71,-14,509,742),8497=>array(37,-16,683,755),8498=>array(88,0,466,729),8499=>array(25,-28,929,751),8500=>array(45,-12,370,395),8501=>array(45,-14,641,742),8502=>array(-2,-14,588,743),8503=>array(12,-35,366,742),8504=>array(38,-35,532,742),8505=>array(31,0,320,760),8506=>array(40,-21,824,654),8507=>array(66,0,1046,547),8508=>array(16,-8,616,547),8509=>array(0,-194,602,560),8510=>array(88,0,584,729),8511=>array(88,0,676,729),8512=>array(11,-192,712,719),8513=>array(71,-14,645,742),8514=>array(3,0,412,729),8515=>array(3,0,412,729),8516=>array(-2,0,552,729),8517=>array(38,0,708,729),8518=>array(40,-14,639,760),8519=>array(40,-14,515,560),8520=>array(35,0,282,760),8521=>array(-103,-208,282,760),8523=>array(26,-14,644,742),8526=>array(35,0,397,547),8528=>array(60,-14,830,742),8529=>array(60,-14,839,742),8530=>array(60,-14,1202,742),8531=>array(60,-14,826,742),8532=>array(41,-14,826,742),8533=>array(60,-14,829,742),8534=>array(41,-14,829,742),8535=>array(43,-14,829,742),8536=>array(27,-14,829,742),8537=>array(60,-14,843,742),8538=>array(44,-14,843,742),8539=>array(60,-14,840,742),8540=>array(43,-14,840,742),8541=>array(44,-14,840,742),8542=>array(47,-14,840,742),8543=>array(60,-14,676,742),8544=>array(88,0,177,729),8545=>array(88,0,355,729),8546=>array(88,0,532,729),8547=>array(88,0,823,729),8548=>array(7,0,608,729),8549=>array(7,0,742,729),8550=>array(7,0,919,729),8551=>array(7,0,1097,729),8552=>array(88,0,798,729),8553=>array(26,0,589,729),8554=>array(26,0,751,729),8555=>array(26,0,929,729),8556=>array(88,0,497,729),8557=>array(50,-14,580,742),8558=>array(88,0,640,729),8559=>array(88,0,689,729),8560=>array(84,0,166,760),8561=>array(84,0,328,760),8562=>array(84,0,489,760),8563=>array(84,0,704,760),8564=>array(26,0,506,547),8565=>array(26,0,646,760),8566=>array(26,0,808,760),8567=>array(26,0,969,760),8568=>array(84,0,708,760),8569=>array(26,0,503,547),8570=>array(26,0,656,760),8571=>array(26,0,817,760),8572=>array(84,0,166,760),8573=>array(49,-14,439,560),8574=>array(49,-14,490,760),8575=>array(82,0,800,560),8576=>array(53,0,1068,729),8577=>array(88,0,640,729),8578=>array(53,0,1068,729),8579=>array(50,-14,580,742),8580=>array(56,-14,445,560),8581=>array(50,-208,580,742),8585=>array(38,-14,826,742),8592=>array(44,100,703,527),8593=>array(184,0,569,732),8594=>array(51,100,710,527),8595=>array(184,-3,569,729),8596=>array(44,100,710,527),8597=>array(184,-8,569,732),8598=>array(126,25,633,587),8599=>array(126,25,633,587),8600=>array(126,25,633,587),8601=>array(126,25,633,587),8602=>array(44,100,703,527),8603=>array(51,100,710,527),8604=>array(19,103,745,414),8605=>array(9,103,735,414),8606=>array(44,100,703,527),8607=>array(185,0,570,732),8608=>array(51,100,710,527),8609=>array(185,-3,570,729),8610=>array(44,100,703,527),8611=>array(51,100,710,527),8612=>array(44,100,703,527),8613=>array(185,0,569,732),8614=>array(51,100,710,527),8615=>array(185,-3,569,729),8616=>array(185,0,569,732),8617=>array(44,100,703,565),8618=>array(52,100,710,565),8619=>array(44,100,703,565),8620=>array(52,100,710,565),8621=>array(44,100,710,527),8622=>array(44,93,710,534),8623=>array(131,-2,632,730),8624=>array(152,0,567,743),8625=>array(188,0,603,743),8626=>array(152,-14,567,729),8627=>array(188,-14,603,729),8628=>array(209,-3,684,604),8629=>array(44,100,590,626),8630=>array(20,203,720,668),8631=>array(35,203,734,668),8632=>array(97,25,709,729),8633=>array(49,-46,705,673),8634=>array(92,62,686,680),8635=>array(69,62,663,680),8636=>array(44,272,703,527),8637=>array(44,100,703,355),8638=>array(339,0,569,732),8639=>array(184,0,415,732),8640=>array(51,272,710,527),8641=>array(51,100,710,355),8642=>array(339,0,569,732),8643=>array(184,0,415,732),8644=>array(44,-47,710,674),8645=>array(52,-3,701,732),8646=>array(44,-47,710,674),8647=>array(44,-47,703,674),8648=>array(53,0,702,732),8649=>array(52,-47,711,674),8650=>array(53,-3,702,729),8651=>array(44,7,710,620),8652=>array(44,7,710,620),8653=>array(44,100,703,527),8654=>array(44,94,710,533),8655=>array(51,100,710,527),8656=>array(44,100,703,527),8657=>array(185,0,570,732),8658=>array(51,100,710,527),8659=>array(185,-3,570,729),8660=>array(44,100,710,527),8661=>array(185,-8,570,732),8662=>array(126,-23,677,587),8663=>array(83,-23,633,587),8664=>array(83,25,633,636),8665=>array(126,25,677,636),8666=>array(44,100,703,527),8667=>array(51,100,710,527),8668=>array(44,100,703,527),8669=>array(51,100,710,527),8670=>array(184,0,569,732),8671=>array(184,-3,569,729),8672=>array(44,100,703,527),8673=>array(184,0,570,732),8674=>array(51,100,710,527),8675=>array(184,-3,570,729),8676=>array(47,99,703,528),8677=>array(51,99,708,528),8678=>array(24,65,703,562),8679=>array(154,0,601,754),8680=>array(31,65,710,562),8681=>array(154,-25,601,729),8682=>array(154,0,601,754),8683=>array(154,0,601,754),8684=>array(141,0,614,754),8685=>array(154,0,601,754),8686=>array(154,0,601,754),8687=>array(154,0,601,754),8688=>array(51,65,730,562),8689=>array(53,0,709,729),8690=>array(53,0,709,729),8691=>array(154,-25,601,754),8692=>array(51,100,710,527),8693=>array(52,-3,701,732),8694=>array(51,-193,710,820),8695=>array(44,94,703,533),8696=>array(51,94,710,533),8697=>array(44,94,710,533),8698=>array(44,94,703,533),8699=>array(51,94,710,533),8700=>array(44,94,710,533),8701=>array(24,96,703,531),8702=>array(51,96,730,531),8703=>array(24,96,730,531),8704=>array(7,0,608,729),8705=>array(59,-14,499,742),8706=>array(42,-14,424,662),8707=>array(88,0,511,729),8708=>array(88,-46,511,776),8709=>array(68,-10,716,710),8710=>array(-3,0,605,719),8711=>array(-3,0,605,719),8712=>array(77,-10,708,710),8713=>array(77,-138,708,835),8714=>array(95,76,551,550),8715=>array(77,-10,708,710),8716=>array(77,-138,708,835),8717=>array(95,76,551,550),8718=>array(132,0,441,485),8719=>array(68,-192,612,719),8720=>array(68,-192,612,719),8721=>array(11,-192,589,719),8722=>array(95,272,659,355),8723=>array(95,0,659,627),8724=>array(95,0,659,729),8725=>array(0,-93,303,729),8726=>array(173,-54,477,768),8727=>array(115,0,640,627),8728=>array(142,160,421,470),8729=>array(151,168,413,458),8730=>array(26,-20,574,811),8731=>array(26,-20,574,933),8732=>array(26,-20,574,924),8733=>array(97,112,546,487),8734=>array(97,112,653,487),8735=>array(124,99,630,661),8736=>array(77,0,708,729),8737=>array(77,-53,708,729),8738=>array(104,-3,659,727),8739=>array(189,-214,260,771),8740=>array(44,-214,406,771),8741=>array(119,-214,331,771),8742=>array(44,-214,406,771),8743=>array(116,0,543,579),8744=>array(116,0,543,579),8745=>array(116,0,543,579),8746=>array(116,0,543,579),8747=>array(51,-212,417,757),8748=>array(51,-212,659,757),8749=>array(51,-212,900,757),8750=>array(51,-212,417,757),8751=>array(51,-212,659,757),8752=>array(51,-212,900,757),8753=>array(51,-213,470,757),8754=>array(51,-212,463,757),8755=>array(51,-212,464,757),8756=>array(53,100,520,604),8757=>array(53,100,520,604),8758=>array(70,100,164,604),8759=>array(53,100,520,604),8760=>array(95,272,659,552),8761=>array(95,78,659,552),8762=>array(95,78,659,552),8763=>array(95,78,659,552),8764=>array(95,228,659,399),8765=>array(95,228,659,399),8766=>array(71,149,683,479),8767=>array(95,42,659,584),8768=>array(91,0,246,626),8769=>array(95,77,659,553),8770=>array(95,133,659,454),8771=>array(95,172,659,494),8772=>array(95,48,659,603),8773=>array(95,90,659,594),8774=>array(95,12,659,594),8775=>array(95,-5,659,657),8776=>array(95,133,659,494),8777=>array(95,2,659,625),8778=>array(95,90,659,598),8779=>array(95,59,659,602),8780=>array(95,90,659,594),8781=>array(95,105,659,521),8782=>array(95,26,659,601),8783=>array(95,172,659,601),8784=>array(95,172,659,625),8785=>array(95,1,659,625),8786=>array(95,2,660,625),8787=>array(95,2,660,625),8788=>array(91,151,810,476),8789=>array(90,151,810,475),8790=>array(95,172,659,454),8791=>array(95,172,659,760),8792=>array(95,172,659,662),8793=>array(95,172,659,812),8794=>array(95,172,659,812),8795=>array(95,172,659,849),8796=>array(95,172,659,854),8797=>array(95,172,659,764),8798=>array(95,172,659,760),8799=>array(95,172,659,856),8800=>array(95,19,659,608),8801=>array(95,90,659,537),8802=>array(95,-24,659,650),8803=>array(95,0,659,629),8804=>array(95,0,659,582),8805=>array(95,0,659,582),8806=>array(96,-83,659,638),8807=>array(96,-83,659,638),8808=>array(96,-164,659,638),8809=>array(96,-164,659,638),8810=>array(65,22,877,609),8811=>array(65,22,877,609),8812=>array(77,-132,340,759),8813=>array(95,13,659,613),8814=>array(95,2,659,674),8815=>array(95,-47,659,625),8816=>array(95,-102,659,667),8817=>array(95,-102,659,667),8818=>array(95,-55,659,582),8819=>array(96,-39,659,582),8820=>array(95,-105,659,664),8821=>array(95,-102,659,667),8822=>array(91,-87,659,686),8823=>array(91,-87,659,686),8824=>array(91,-197,659,797),8825=>array(91,-197,659,797),8826=>array(95,-38,659,664),8827=>array(95,-38,659,664),8828=>array(95,-105,659,667),8829=>array(95,-105,659,667),8830=>array(95,-85,659,667),8831=>array(95,-85,659,667),8832=>array(95,-61,659,764),8833=>array(95,-138,659,687),8834=>array(89,80,665,546),8835=>array(89,80,665,546),8836=>array(89,-96,665,726),8837=>array(89,-100,665,722),8838=>array(83,0,659,613),8839=>array(95,0,671,613),8840=>array(83,-116,659,730),8841=>array(95,-116,671,730),8842=>array(83,-73,659,614),8843=>array(83,-73,659,614),8844=>array(116,0,543,579),8845=>array(116,0,543,579),8846=>array(116,2,543,582),8847=>array(95,0,659,568),8848=>array(95,0,659,568),8849=>array(95,-83,659,630),8850=>array(95,-83,659,630),8851=>array(95,0,607,626),8852=>array(95,0,607,626),8853=>array(82,-14,672,643),8854=>array(82,-14,672,643),8855=>array(82,-14,672,643),8856=>array(82,-14,672,643),8857=>array(82,-14,672,643),8858=>array(82,-14,672,643),8859=>array(82,-14,672,643),8860=>array(82,-14,672,643),8861=>array(82,-14,672,643),8862=>array(82,-14,672,643),8863=>array(82,-14,672,643),8864=>array(82,-14,672,643),8865=>array(82,-14,672,643),8866=>array(77,0,708,700),8867=>array(77,0,708,700),8868=>array(77,0,708,700),8869=>array(77,0,708,700),8870=>array(77,0,392,700),8871=>array(77,0,392,700),8872=>array(77,0,708,700),8873=>array(77,0,708,700),8874=>array(77,0,708,700),8875=>array(77,0,708,700),8876=>array(77,-40,708,740),8877=>array(77,-40,708,740),8878=>array(77,-40,708,740),8879=>array(77,-40,708,740),8880=>array(95,-43,652,670),8881=>array(95,-43,652,670),8882=>array(95,15,659,612),8883=>array(95,15,659,612),8884=>array(95,-48,659,674),8885=>array(95,-48,659,674),8886=>array(53,175,847,454),8887=>array(53,175,847,454),8888=>array(43,175,711,454),8889=>array(53,-47,701,674),8890=>array(104,0,364,701),8891=>array(88,0,571,740),8892=>array(88,0,571,740),8893=>array(88,0,571,740),8894=>array(124,0,630,562),8895=>array(124,0,630,562),8896=>array(-3,-192,741,719),8897=>array(-3,-192,741,719),8898=>array(62,-192,677,719),8899=>array(62,-192,677,719),8900=>array(2,-233,442,807),8901=>array(96,285,189,409),8902=>array(109,149,454,512),8903=>array(95,15,659,613),8904=>array(95,-30,805,657),8905=>array(95,-30,805,657),8906=>array(95,-30,805,657),8907=>array(95,-30,805,657),8908=>array(95,-30,805,657),8909=>array(95,172,659,494),8910=>array(43,0,616,579),8911=>array(43,0,616,579),8912=>array(83,-3,659,630),8913=>array(95,-3,671,630),8914=>array(92,0,662,663),8915=>array(92,-14,662,649),8916=>array(167,0,587,729),8917=>array(95,-100,659,729),8918=>array(95,46,659,581),8919=>array(95,46,659,581),8920=>array(65,22,1215,609),8921=>array(65,22,1215,609),8922=>array(95,-228,659,854),8923=>array(95,-228,659,854),8924=>array(95,0,659,582),8925=>array(95,0,659,582),8926=>array(95,-105,659,667),8927=>array(95,-105,659,667),8928=>array(95,-178,659,764),8929=>array(95,-178,659,764),8930=>array(95,-141,659,767),8931=>array(95,-141,659,767),8932=>array(95,-94,659,619),8933=>array(95,-94,659,619),8934=>array(95,-138,659,582),8935=>array(95,-138,659,582),8936=>array(95,-169,659,667),8937=>array(99,-171,663,667),8938=>array(95,-130,659,756),8939=>array(95,-130,659,756),8940=>array(95,-189,659,815),8941=>array(93,-189,657,815),8942=>array(403,-93,497,715),8943=>array(104,249,796,373),8944=>array(104,-93,796,715),8945=>array(104,-93,796,715),8946=>array(39,-10,861,710),8947=>array(77,-10,708,710),8948=>array(95,76,551,550),8949=>array(77,-10,708,910),8950=>array(77,-10,708,853),8951=>array(95,76,551,686),8952=>array(77,-144,708,710),8953=>array(77,-10,708,710),8954=>array(39,-10,861,710),8955=>array(77,-10,708,710),8956=>array(95,76,551,550),8957=>array(77,-10,708,853),8958=>array(95,76,551,686),8959=>array(95,0,689,720),8960=>array(32,-18,510,514),8961=>array(50,162,486,443),8962=>array(64,0,507,596),8963=>array(184,481,569,732),8964=>array(184,0,569,251),8965=>array(184,0,569,406),8966=>array(184,0,569,513),8967=>array(138,-29,301,788),8968=>array(77,-132,264,760),8969=>array(87,-132,274,760),8970=>array(77,-132,264,760),8971=>array(87,-132,274,760),8972=>array(332,-77,684,313),8973=>array(44,-77,396,313),8974=>array(332,243,684,634),8975=>array(44,243,396,634),8976=>array(95,140,659,421),8977=>array(2,126,459,634),8984=>array(108,0,792,759),8985=>array(95,140,659,421),8988=>array(77,425,363,760),8989=>array(59,425,345,760),8990=>array(77,-70,363,264),8991=>array(59,-70,345,264),8992=>array(189,-250,448,928),8993=>array(18,-237,277,942),8996=>array(68,227,969,575),8997=>array(68,0,969,575),8998=>array(68,0,1272,760),8999=>array(68,0,969,760),9000=>array(53,0,1247,729),9003=>array(0,0,1204,760),9004=>array(66,-91,720,748),9075=>array(73,0,273,547),9076=>array(82,-208,522,560),9077=>array(59,-14,692,547),9082=>array(49,-12,550,559),9085=>array(11,-228,670,102),9095=>array(68,0,987,748),9108=>array(15,0,771,727),9115=>array(77,-252,373,946),9116=>array(77,-252,163,942),9117=>array(77,-240,373,942),9118=>array(77,-252,373,946),9119=>array(287,-252,373,942),9120=>array(77,-240,373,942),9121=>array(77,-252,373,928),9122=>array(77,-252,163,942),9123=>array(77,-240,373,942),9124=>array(77,-252,373,928),9125=>array(287,-252,373,935),9126=>array(77,-240,373,935),9127=>array(296,-261,602,928),9128=>array(74,-252,378,940),9129=>array(296,-240,602,940),9130=>array(296,-256,378,943),9131=>array(74,-261,378,928),9132=>array(296,-252,602,940),9133=>array(74,-240,378,940),9134=>array(189,-250,277,942),9166=>array(24,65,703,729),9167=>array(82,0,769,596),9187=>array(66,-91,720,748),9189=>array(2,75,690,444),9192=>array(39,-129,541,294),9250=>array(-56,-14,522,760),9251=>array(64,-228,507,102),9312=>array(66,-10,740,738),9313=>array(66,-10,740,738),9314=>array(66,-10,740,738),9315=>array(66,-10,740,738),9316=>array(66,-10,740,738),9317=>array(66,-10,740,738),9318=>array(66,-10,740,738),9319=>array(66,-10,740,738),9320=>array(66,-10,740,738),9321=>array(66,-10,740,738),9472=>array(-9,242,551,326),9473=>array(-9,200,551,368),9474=>array(235,-302,306,973),9475=>array(200,-302,341,973),9476=>array(-9,242,551,326),9477=>array(-9,200,551,368),9478=>array(235,-302,306,973),9479=>array(200,-302,341,973),9480=>array(-9,242,551,326),9481=>array(-9,200,551,368),9482=>array(235,-302,306,973),9483=>array(200,-302,341,973),9484=>array(235,-302,551,326),9485=>array(235,-302,551,368),9486=>array(200,-302,551,326),9487=>array(200,-302,551,368),9488=>array(-9,-302,306,326),9489=>array(-9,-302,306,368),9490=>array(-9,-302,341,326),9491=>array(-9,-302,341,368),9492=>array(235,242,551,973),9493=>array(235,200,551,973),9494=>array(200,242,551,973),9495=>array(200,200,551,973),9496=>array(-9,242,306,973),9497=>array(-9,200,306,973),9498=>array(-9,242,341,973),9499=>array(-9,200,341,973),9500=>array(235,-302,551,973),9501=>array(235,-302,551,973),9502=>array(200,-302,551,973),9503=>array(200,-302,551,973),9504=>array(200,-302,551,973),9505=>array(200,-302,551,973),9506=>array(200,-302,551,973),9507=>array(200,-302,551,973),9508=>array(-9,-302,306,973),9509=>array(-9,-302,306,973),9510=>array(-9,-302,341,973),9511=>array(-9,-302,341,973),9512=>array(-9,-302,341,973),9513=>array(-9,-302,341,973),9514=>array(-9,-302,341,973),9515=>array(-9,-302,341,973),9516=>array(-9,-302,551,326),9517=>array(-9,-302,551,368),9518=>array(-9,-302,551,368),9519=>array(-9,-302,551,368),9520=>array(-9,-302,551,326),9521=>array(-9,-302,551,368),9522=>array(-9,-302,551,368),9523=>array(-9,-302,551,368),9524=>array(-9,242,551,973),9525=>array(-9,200,551,973),9526=>array(-9,200,551,973),9527=>array(-9,200,551,973),9528=>array(-9,242,551,973),9529=>array(-9,200,551,973),9530=>array(-9,200,551,973),9531=>array(-9,200,551,973),9532=>array(-9,-302,551,973),9533=>array(-9,-302,551,973),9534=>array(-9,-302,551,973),9535=>array(-9,-302,551,973),9536=>array(-9,-302,551,973),9537=>array(-9,-302,551,973),9538=>array(-9,-302,551,973),9539=>array(-9,-302,551,973),9540=>array(-9,-302,551,973),9541=>array(-9,-302,551,973),9542=>array(-9,-302,551,973),9543=>array(-9,-302,551,973),9544=>array(-9,-302,551,973),9545=>array(-9,-302,551,973),9546=>array(-9,-302,551,973),9547=>array(-9,-302,551,973),9548=>array(-9,242,551,326),9549=>array(-9,200,551,368),9550=>array(235,-302,306,973),9551=>array(200,-302,341,973),9552=>array(-9,158,551,410),9553=>array(165,-302,376,973),9554=>array(235,-302,551,410),9555=>array(165,-302,551,326),9556=>array(165,-302,551,410),9557=>array(-9,-302,306,410),9558=>array(-9,-302,376,326),9559=>array(-9,-302,376,410),9560=>array(235,158,551,973),9561=>array(165,242,551,973),9562=>array(165,158,551,973),9563=>array(-9,158,306,973),9564=>array(-9,242,376,973),9565=>array(-9,158,376,973),9566=>array(235,-302,551,973),9567=>array(165,-302,551,973),9568=>array(165,-302,551,973),9569=>array(-9,-302,306,973),9570=>array(-9,-302,376,973),9571=>array(-9,-302,376,973),9572=>array(-9,-302,551,410),9573=>array(-9,-302,551,326),9574=>array(-9,-302,551,410),9575=>array(-9,158,551,973),9576=>array(-9,242,551,973),9577=>array(-9,158,551,973),9578=>array(-9,-302,551,973),9579=>array(-9,-302,551,973),9580=>array(-9,-302,551,973),9581=>array(235,-302,551,326),9582=>array(-9,-302,306,326),9583=>array(-9,242,306,973),9584=>array(235,242,551,973),9585=>array(-48,-302,590,973),9586=>array(-48,-302,590,973),9587=>array(-48,-302,590,973),9588=>array(-9,242,280,326),9589=>array(235,284,306,973),9590=>array(279,242,551,326),9591=>array(235,-302,306,284),9592=>array(-9,200,280,368),9593=>array(200,284,341,973),9594=>array(279,200,551,368),9595=>array(200,-302,341,284),9596=>array(-9,200,551,368),9597=>array(200,-302,341,973),9598=>array(-9,200,551,368),9599=>array(200,-302,341,973),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,698,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-123,769,643),9633=>array(82,-123,769,643),9634=>array(82,-123,769,643),9635=>array(82,-123,769,643),9636=>array(82,-123,769,643),9637=>array(82,-123,769,643),9638=>array(82,-123,769,643),9639=>array(82,-123,769,643),9640=>array(82,-123,769,643),9641=>array(82,-123,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-123,690,643),9651=>array(2,-123,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-123,690,643),9655=>array(2,-123,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-123,690,643),9661=>array(2,-123,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-123,690,643),9665=>array(2,-123,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-123,690,643),9671=>array(2,-123,690,643),9672=>array(2,-123,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,630,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(49,260,736,645),9697=>array(49,-125,736,260),9698=>array(2,-123,690,643),9699=>array(2,-123,690,643),9700=>array(2,-123,690,643),9701=>array(2,-123,690,643),9702=>array(135,227,396,516),9703=>array(82,-123,769,643),9704=>array(82,-123,769,643),9705=>array(82,-123,769,643),9706=>array(82,-123,769,643),9707=>array(82,-123,769,643),9708=>array(2,-123,690,643),9709=>array(2,-123,690,643),9710=>array(2,-123,690,643),9711=>array(49,-250,958,770),9712=>array(82,-123,769,643),9713=>array(82,-123,769,643),9714=>array(82,-123,769,643),9715=>array(82,-123,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-123,690,643),9721=>array(2,-123,690,643),9722=>array(2,-123,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-123,690,643),9728=>array(75,0,731,729),9729=>array(45,-2,854,360),9730=>array(44,0,763,729),9731=>array(75,-0,732,927),9732=>array(57,0,750,880),9733=>array(58,-4,749,723),9734=>array(58,-4,749,723),9735=>array(75,2,441,729),9736=>array(75,0,732,731),9737=>array(75,0,732,730),9738=>array(55,0,745,727),9739=>array(55,0,745,723),9740=>array(55,-1,549,722),9741=>array(55,0,857,723),9742=>array(62,0,1060,729),9743=>array(63,0,1062,729),9744=>array(81,0,727,729),9745=>array(80,0,727,729),9746=>array(80,0,727,729),9747=>array(67,78,411,656),9748=>array(44,0,783,933),9749=>array(66,0,740,731),9750=>array(75,0,732,731),9751=>array(75,0,732,727),9752=>array(70,0,737,729),9753=>array(75,140,732,574),9754=>array(75,113,732,569),9755=>array(75,113,732,569),9756=>array(78,104,729,569),9757=>array(64,0,483,724),9758=>array(78,103,729,569),9759=>array(64,-3,483,720),9760=>array(55,0,752,730),9761=>array(75,0,732,730),9762=>array(75,0,732,730),9763=>array(44,0,763,730),9764=>array(44,-2,558,727),9765=>array(75,0,597,731),9766=>array(75,-1,510,731),9767=>array(75,0,631,911),9768=>array(75,0,416,730),9769=>array(75,-1,732,729),9770=>array(78,0,729,730),9771=>array(75,0,733,731),9772=>array(75,0,565,731),9773=>array(75,0,732,730),9774=>array(75,0,732,730),9775=>array(75,0,732,730),9776=>array(75,0,732,729),9777=>array(75,0,733,729),9778=>array(75,0,732,729),9779=>array(75,0,732,729),9780=>array(75,0,732,729),9781=>array(75,0,732,729),9782=>array(75,0,732,729),9783=>array(75,0,732,729),9784=>array(59,-11,748,735),9785=>array(75,-73,864,804),9786=>array(75,-73,864,804),9787=>array(75,-73,864,804),9788=>array(75,0,732,730),9789=>array(322,0,733,730),9790=>array(75,0,485,730),9791=>array(77,-102,476,732),9792=>array(77,-125,583,731),9793=>array(77,-14,583,843),9794=>array(71,-14,748,720),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9800=>array(41,0,766,731),9801=>array(80,0,727,730),9802=>array(84,0,722,731),9803=>array(101,31,706,679),9804=>array(125,0,681,730),9805=>array(48,-180,759,730),9806=>array(75,52,732,653),9807=>array(30,-96,777,730),9808=>array(74,-0,732,730),9809=>array(84,0,722,730),9810=>array(77,153,729,579),9811=>array(141,0,666,730),9812=>array(88,0,719,730),9813=>array(99,0,708,730),9814=>array(149,-1,657,729),9815=>array(192,0,615,730),9816=>array(148,0,659,730),9817=>array(133,-0,673,730),9818=>array(88,0,719,730),9819=>array(99,0,708,730),9820=>array(149,-1,657,729),9821=>array(192,0,615,730),9822=>array(146,0,661,730),9823=>array(133,-0,673,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9832=>array(95,-1,712,729),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),9840=>array(75,0,598,731),9841=>array(58,0,631,731),9842=>array(75,0,732,709),9843=>array(68,16,738,731),9844=>array(68,16,738,731),9845=>array(68,16,738,731),9846=>array(68,16,738,731),9847=>array(68,16,738,731),9848=>array(68,16,738,731),9849=>array(68,16,738,731),9850=>array(68,16,738,731),9851=>array(75,0,731,704),9852=>array(75,0,733,731),9853=>array(75,0,733,731),9854=>array(75,0,733,731),9855=>array(134,1,672,731),9856=>array(66,0,717,725),9857=>array(66,0,717,725),9858=>array(66,0,717,725),9859=>array(66,0,717,725),9860=>array(66,0,717,725),9861=>array(66,0,717,725),9862=>array(75,0,732,731),9863=>array(75,0,732,731),9864=>array(75,0,732,731),9865=>array(75,0,732,731),9866=>array(75,0,732,98),9867=>array(75,0,732,98),9868=>array(75,0,732,413),9869=>array(75,0,732,413),9870=>array(75,0,732,413),9871=>array(75,0,732,413),9872=>array(151,3,655,731),9873=>array(151,3,655,731),9874=>array(46,0,760,731),9875=>array(87,-10,720,732),9876=>array(118,0,689,729),9877=>array(55,-10,431,732),9878=>array(53,-10,753,732),9879=>array(55,0,751,732),9880=>array(130,0,676,732),9881=>array(85,-17,722,727),9882=>array(115,-9,691,733),9883=>array(114,0,692,728),9884=>array(114,0,692,729),9888=>array(44,0,763,729),9889=>array(75,2,558,730),9890=>array(77,-125,827,731),9891=>array(71,-206,921,720),9892=>array(77,-186,998,856),9893=>array(77,-125,753,917),9894=>array(118,-14,654,869),9895=>array(91,-170,667,884),9896=>array(168,-14,585,869),9897=>array(4,133,746,596),9898=>array(168,133,586,596),9899=>array(168,133,586,596),9900=>array(222,194,532,537),9901=>array(156,194,598,537),9902=>array(37,169,717,560),9903=>array(4,194,750,536),9904=>array(92,237,681,540),9905=>array(190,42,564,698),9906=>array(77,-125,583,731),9907=>array(151,-125,582,731),9908=>array(77,-125,582,731),9909=>array(77,-125,582,731),9910=>array(53,-118,712,643),9911=>array(175,-104,536,710),9912=>array(142,-125,489,731),9920=>array(38,4,716,553),9921=>array(38,4,716,724),9922=>array(38,4,716,553),9923=>array(38,4,716,724),9954=>array(77,-14,583,843),9985=>array(9,190,723,635),9986=>array(38,141,706,588),9987=>array(9,94,723,539),9988=>array(32,119,742,613),9990=>array(38,-14,716,742),9991=>array(38,-14,716,742),9992=>array(53,21,704,708),9993=>array(58,107,696,622),9996=>array(191,0,505,742),9997=>array(19,83,722,678),9998=>array(80,75,652,710),9999=>array(23,198,738,530),10000=>array(80,75,652,710),10001=>array(39,185,681,544),10002=>array(61,209,681,520),10003=>array(135,97,601,630),10004=>array(104,87,649,631),10005=>array(114,72,641,657),10006=>array(77,31,677,698),10007=>array(105,-9,631,732),10008=>array(110,0,679,739),10009=>array(49,0,705,729),10010=>array(49,0,705,729),10011=>array(49,0,705,729),10012=>array(49,0,705,729),10013=>array(148,0,606,729),10014=>array(118,0,610,729),10015=>array(140,0,615,729),10016=>array(49,0,705,729),10017=>array(82,-13,672,744),10018=>array(37,-14,717,742),10019=>array(38,-12,716,742),10020=>array(36,-14,718,742),10021=>array(37,-13,717,743),10022=>array(38,-14,717,745),10023=>array(38,-14,717,745),10025=>array(21,-10,734,744),10026=>array(38,-14,716,742),10027=>array(21,-9,733,743),10028=>array(21,-10,734,744),10029=>array(21,-9,733,743),10030=>array(21,-9,733,743),10031=>array(21,-9,733,743),10032=>array(22,12,734,714),10033=>array(58,0,696,729),10034=>array(66,0,688,729),10035=>array(49,0,705,729),10036=>array(28,-14,708,742),10037=>array(37,-14,717,742),10038=>array(82,-14,672,742),10039=>array(37,-14,717,742),10040=>array(37,-14,717,742),10041=>array(37,-14,717,742),10042=>array(49,0,705,729),10043=>array(73,-14,681,742),10044=>array(73,-14,681,742),10045=>array(70,-14,683,742),10046=>array(70,-14,683,742),10047=>array(48,0,706,709),10048=>array(48,0,706,709),10049=>array(37,-14,717,742),10050=>array(38,-14,716,742),10051=>array(70,-14,683,742),10052=>array(80,0,674,729),10053=>array(68,0,686,729),10054=>array(57,2,696,729),10055=>array(70,-13,684,742),10056=>array(42,-13,712,730),10057=>array(42,-13,712,730),10058=>array(37,-13,717,743),10059=>array(37,-13,717,743),10061=>array(44,-10,762,738),10063=>array(53,-49,753,729),10064=>array(53,0,753,777),10065=>array(53,-49,753,729),10066=>array(53,0,753,777),10070=>array(75,-2,732,728),10072=>array(339,-240,415,760),10073=>array(302,-240,452,760),10074=>array(228,-240,527,760),10075=>array(76,395,237,729),10076=>array(53,395,214,729),10077=>array(76,395,432,729),10078=>array(53,395,408,729),10081=>array(140,-93,695,851),10082=>array(182,-17,572,742),10083=>array(146,-17,607,742),10084=>array(48,83,706,645),10085=>array(151,-1,656,729),10086=>array(55,21,652,702),10087=>array(70,169,684,564),10088=>array(176,-139,583,769),10089=>array(176,-139,583,769),10090=>array(237,-132,517,758),10091=>array(237,-132,517,758),10092=>array(193,-240,546,760),10093=>array(208,-240,561,760),10094=>array(127,-240,617,760),10095=>array(137,-240,626,760),10096=>array(149,-240,590,760),10097=>array(165,-240,605,760),10098=>array(311,-241,482,760),10099=>array(272,-241,443,760),10100=>array(157,-163,571,760),10101=>array(183,-163,597,760),10102=>array(66,-10,740,738),10103=>array(66,-10,740,738),10104=>array(66,-10,740,738),10105=>array(66,-10,740,738),10106=>array(66,-10,740,738),10107=>array(66,-10,740,738),10108=>array(66,-10,740,738),10109=>array(66,-10,740,738),10110=>array(66,-10,740,738),10111=>array(66,-10,740,738),10112=>array(4,-52,750,780),10113=>array(4,-52,750,780),10114=>array(4,-52,750,780),10115=>array(4,-52,750,780),10116=>array(4,-52,750,780),10117=>array(4,-52,750,780),10118=>array(4,-52,750,780),10119=>array(4,-52,750,780),10120=>array(4,-52,750,780),10121=>array(4,-52,750,780),10122=>array(4,-52,750,780),10123=>array(4,-52,750,780),10124=>array(4,-52,750,780),10125=>array(4,-52,750,780),10126=>array(4,-52,750,780),10127=>array(4,-52,750,780),10128=>array(4,-52,750,780),10129=>array(4,-52,750,780),10130=>array(4,-52,750,780),10131=>array(4,-52,750,780),10132=>array(51,75,710,552),10136=>array(110,55,614,614),10137=>array(51,100,710,527),10138=>array(110,13,614,572),10139=>array(51,129,710,498),10140=>array(51,57,688,570),10141=>array(51,100,710,527),10142=>array(51,100,710,527),10143=>array(51,100,710,527),10144=>array(51,100,710,527),10145=>array(51,65,730,562),10146=>array(100,94,710,533),10147=>array(100,94,710,533),10148=>array(100,-4,710,631),10149=>array(51,100,710,548),10150=>array(51,79,710,527),10151=>array(216,-7,545,634),10152=>array(51,100,710,527),10153=>array(51,75,688,552),10154=>array(51,75,688,552),10155=>array(19,12,715,586),10156=>array(19,12,715,586),10157=>array(122,0,697,574),10158=>array(122,0,697,574),10159=>array(56,49,719,574),10161=>array(56,49,719,574),10162=>array(139,-20,649,585),10163=>array(57,157,710,470),10164=>array(72,55,614,655),10165=>array(51,173,710,454),10166=>array(73,-29,614,572),10167=>array(73,55,614,655),10168=>array(51,172,710,455),10169=>array(73,-28,614,572),10170=>array(50,84,710,543),10171=>array(66,140,702,487),10172=>array(71,167,697,460),10173=>array(71,118,697,509),10174=>array(51,81,710,546),10181=>array(48,-163,316,769),10182=>array(35,-163,303,769),10208=>array(2,-233,442,807),10214=>array(77,-132,359,760),10215=>array(77,-132,358,760),10216=>array(80,-132,279,759),10217=>array(72,-132,271,759),10218=>array(80,-132,429,759),10219=>array(72,-132,420,759),10224=>array(40,0,715,732),10225=>array(39,-3,714,729),10226=>array(35,53,733,658),10227=>array(35,61,733,666),10228=>array(51,-14,998,643),10229=>array(44,100,1239,527),10230=>array(51,100,1247,527),10231=>array(44,100,1247,527),10232=>array(44,100,1239,527),10233=>array(51,100,1247,527),10234=>array(44,100,1247,527),10235=>array(44,100,1239,527),10236=>array(51,100,1247,527),10237=>array(44,100,1239,527),10238=>array(51,100,1247,527),10239=>array(51,100,1247,527),10241=>array(132,635,264,781),10242=>array(132,358,264,504),10243=>array(132,358,264,781),10244=>array(132,82,264,228),10245=>array(132,82,264,781),10246=>array(132,82,264,504),10247=>array(132,82,264,781),10248=>array(396,635,527,781),10249=>array(132,635,527,781),10250=>array(132,358,527,781),10251=>array(132,358,527,781),10252=>array(132,82,527,781),10253=>array(132,82,527,781),10254=>array(132,82,527,781),10255=>array(132,82,527,781),10256=>array(396,358,527,504),10257=>array(132,358,527,781),10258=>array(132,358,527,504),10259=>array(132,358,527,781),10260=>array(132,82,527,504),10261=>array(132,82,527,781),10262=>array(132,82,527,504),10263=>array(132,82,527,781),10264=>array(396,358,527,781),10265=>array(132,358,527,781),10266=>array(132,358,527,781),10267=>array(132,358,527,781),10268=>array(132,82,527,781),10269=>array(132,82,527,781),10270=>array(132,82,527,781),10271=>array(132,82,527,781),10272=>array(396,82,527,228),10273=>array(132,82,527,781),10274=>array(132,82,527,504),10275=>array(132,82,527,781),10276=>array(132,82,527,228),10277=>array(132,82,527,781),10278=>array(132,82,527,504),10279=>array(132,82,527,781),10280=>array(396,82,527,781),10281=>array(132,82,527,781),10282=>array(132,82,527,781),10283=>array(132,82,527,781),10284=>array(132,82,527,781),10285=>array(132,82,527,781),10286=>array(132,82,527,781),10287=>array(132,82,527,781),10288=>array(396,82,527,504),10289=>array(132,82,527,781),10290=>array(132,82,527,504),10291=>array(132,82,527,781),10292=>array(132,82,527,504),10293=>array(132,82,527,781),10294=>array(132,82,527,504),10295=>array(132,82,527,781),10296=>array(396,82,527,781),10297=>array(132,82,527,781),10298=>array(132,82,527,781),10299=>array(132,82,527,781),10300=>array(132,82,527,781),10301=>array(132,82,527,781),10302=>array(132,82,527,781),10303=>array(132,82,527,781),10304=>array(132,-195,264,-49),10305=>array(132,-195,264,781),10306=>array(132,-195,264,504),10307=>array(132,-195,264,781),10308=>array(132,-195,264,228),10309=>array(132,-195,264,781),10310=>array(132,-195,264,504),10311=>array(132,-195,264,781),10312=>array(132,-195,527,781),10313=>array(132,-195,527,781),10314=>array(132,-195,527,781),10315=>array(132,-195,527,781),10316=>array(132,-195,527,781),10317=>array(132,-195,527,781),10318=>array(132,-195,527,781),10319=>array(132,-195,527,781),10320=>array(132,-195,527,504),10321=>array(132,-195,527,781),10322=>array(132,-195,527,504),10323=>array(132,-195,527,781),10324=>array(132,-195,527,504),10325=>array(132,-195,527,781),10326=>array(132,-195,527,504),10327=>array(132,-195,527,781),10328=>array(132,-195,527,781),10329=>array(132,-195,527,781),10330=>array(132,-195,527,781),10331=>array(132,-195,527,781),10332=>array(132,-195,527,781),10333=>array(132,-195,527,781),10334=>array(132,-195,527,781),10335=>array(132,-195,527,781),10336=>array(132,-195,527,228),10337=>array(132,-195,527,781),10338=>array(132,-195,527,504),10339=>array(132,-195,527,781),10340=>array(132,-195,527,228),10341=>array(132,-195,527,781),10342=>array(132,-195,527,504),10343=>array(132,-195,527,781),10344=>array(132,-195,527,781),10345=>array(132,-195,527,781),10346=>array(132,-195,527,781),10347=>array(132,-195,527,781),10348=>array(132,-195,527,781),10349=>array(132,-195,527,781),10350=>array(132,-195,527,781),10351=>array(132,-195,527,781),10352=>array(132,-195,527,504),10353=>array(132,-195,527,781),10354=>array(132,-195,527,504),10355=>array(132,-195,527,781),10356=>array(132,-195,527,504),10357=>array(132,-195,527,781),10358=>array(132,-195,527,504),10359=>array(132,-195,527,781),10360=>array(132,-195,527,781),10361=>array(132,-195,527,781),10362=>array(132,-195,527,781),10363=>array(132,-195,527,781),10364=>array(132,-195,527,781),10365=>array(132,-195,527,781),10366=>array(132,-195,527,781),10367=>array(132,-195,527,781),10368=>array(396,-195,527,-49),10369=>array(132,-195,527,781),10370=>array(132,-195,527,504),10371=>array(132,-195,527,781),10372=>array(132,-195,527,228),10373=>array(132,-195,527,781),10374=>array(132,-195,527,504),10375=>array(132,-195,527,781),10376=>array(396,-195,527,781),10377=>array(132,-195,527,781),10378=>array(132,-195,527,781),10379=>array(132,-195,527,781),10380=>array(132,-195,527,781),10381=>array(132,-195,527,781),10382=>array(132,-195,527,781),10383=>array(132,-195,527,781),10384=>array(396,-195,527,504),10385=>array(132,-195,527,781),10386=>array(132,-195,527,504),10387=>array(132,-195,527,781),10388=>array(132,-195,527,504),10389=>array(132,-195,527,781),10390=>array(132,-195,527,504),10391=>array(132,-195,527,781),10392=>array(396,-195,527,781),10393=>array(132,-195,527,781),10394=>array(132,-195,527,781),10395=>array(132,-195,527,781),10396=>array(132,-195,527,781),10397=>array(132,-195,527,781),10398=>array(132,-195,527,781),10399=>array(132,-195,527,781),10400=>array(396,-195,527,228),10401=>array(132,-195,527,781),10402=>array(132,-195,527,504),10403=>array(132,-195,527,781),10404=>array(132,-195,527,228),10405=>array(132,-195,527,781),10406=>array(132,-195,527,504),10407=>array(132,-195,527,781),10408=>array(396,-195,527,781),10409=>array(132,-195,527,781),10410=>array(132,-195,527,781),10411=>array(132,-195,527,781),10412=>array(132,-195,527,781),10413=>array(132,-195,527,781),10414=>array(132,-195,527,781),10415=>array(132,-195,527,781),10416=>array(396,-195,527,504),10417=>array(132,-195,527,781),10418=>array(132,-195,527,504),10419=>array(132,-195,527,781),10420=>array(132,-195,527,504),10421=>array(132,-195,527,781),10422=>array(132,-195,527,504),10423=>array(132,-195,527,781),10424=>array(396,-195,527,781),10425=>array(132,-195,527,781),10426=>array(132,-195,527,781),10427=>array(132,-195,527,781),10428=>array(132,-195,527,781),10429=>array(132,-195,527,781),10430=>array(132,-195,527,781),10431=>array(132,-195,527,781),10432=>array(132,-195,527,-49),10433=>array(132,-195,527,781),10434=>array(132,-195,527,504),10435=>array(132,-195,527,781),10436=>array(132,-195,527,228),10437=>array(132,-195,527,781),10438=>array(132,-195,527,504),10439=>array(132,-195,527,781),10440=>array(132,-195,527,781),10441=>array(132,-195,527,781),10442=>array(132,-195,527,781),10443=>array(132,-195,527,781),10444=>array(132,-195,527,781),10445=>array(132,-195,527,781),10446=>array(132,-195,527,781),10447=>array(132,-195,527,781),10448=>array(132,-195,527,504),10449=>array(132,-195,527,781),10450=>array(132,-195,527,504),10451=>array(132,-195,527,781),10452=>array(132,-195,527,504),10453=>array(132,-195,527,781),10454=>array(132,-195,527,504),10455=>array(132,-195,527,781),10456=>array(132,-195,527,781),10457=>array(132,-195,527,781),10458=>array(132,-195,527,781),10459=>array(132,-195,527,781),10460=>array(132,-195,527,781),10461=>array(132,-195,527,781),10462=>array(132,-195,527,781),10463=>array(132,-195,527,781),10464=>array(132,-195,527,228),10465=>array(132,-195,527,781),10466=>array(132,-195,527,504),10467=>array(132,-195,527,781),10468=>array(132,-195,527,228),10469=>array(132,-195,527,781),10470=>array(132,-195,527,504),10471=>array(132,-195,527,781),10472=>array(132,-195,527,781),10473=>array(132,-195,527,781),10474=>array(132,-195,527,781),10475=>array(132,-195,527,781),10476=>array(132,-195,527,781),10477=>array(132,-195,527,781),10478=>array(132,-195,527,781),10479=>array(132,-195,527,781),10480=>array(132,-195,527,504),10481=>array(132,-195,527,781),10482=>array(132,-195,527,504),10483=>array(132,-195,527,781),10484=>array(132,-195,527,504),10485=>array(132,-195,527,781),10486=>array(132,-195,527,504),10487=>array(132,-195,527,781),10488=>array(132,-195,527,781),10489=>array(132,-195,527,781),10490=>array(132,-195,527,781),10491=>array(132,-195,527,781),10492=>array(132,-195,527,781),10493=>array(132,-195,527,781),10494=>array(132,-195,527,781),10495=>array(132,-195,527,781),10502=>array(44,100,703,527),10503=>array(51,100,710,527),10506=>array(112,0,642,732),10507=>array(112,-3,642,729),10560=>array(35,63,580,838),10561=>array(35,63,580,838),10627=>array(112,-163,548,760),10628=>array(112,-163,548,760),10702=>array(95,-226,659,747),10703=>array(95,15,805,612),10704=>array(95,15,805,612),10705=>array(95,-30,805,657),10706=>array(95,-30,805,657),10707=>array(95,-30,805,657),10708=>array(95,-30,805,657),10709=>array(95,-30,805,657),10731=>array(2,-233,442,807),10746=>array(95,0,659,627),10747=>array(95,0,659,627),10752=>array(25,-198,875,748),10753=>array(25,-198,875,748),10754=>array(25,-198,875,748),10764=>array(51,-212,1142,757),10765=>array(51,-212,417,757),10766=>array(51,-212,417,757),10767=>array(51,-212,417,757),10768=>array(51,-212,417,757),10769=>array(51,-212,470,757),10770=>array(51,-212,417,757),10771=>array(51,-212,417,757),10772=>array(51,-212,500,757),10773=>array(51,-212,417,757),10774=>array(51,-212,417,757),10775=>array(-29,-212,498,757),10776=>array(51,-212,417,757),10777=>array(51,-212,417,757),10778=>array(51,-212,417,757),10779=>array(51,-212,422,872),10780=>array(47,-327,417,757),10799=>array(123,31,631,596),10858=>array(95,228,659,552),10859=>array(95,78,659,552),10877=>array(95,-123,659,581),10878=>array(95,-123,659,581),10879=>array(95,-123,660,581),10880=>array(95,-123,659,581),10881=>array(95,-123,659,644),10882=>array(95,-123,659,644),10883=>array(95,-123,660,759),10884=>array(95,-123,659,756),10885=>array(95,-132,659,663),10886=>array(95,-132,659,663),10887=>array(95,-121,659,582),10888=>array(95,-121,659,582),10889=>array(95,-204,659,663),10890=>array(95,-204,659,663),10891=>array(95,-311,659,791),10892=>array(95,-311,659,791),10893=>array(95,-124,659,663),10894=>array(95,-124,659,663),10895=>array(95,-241,659,756),10896=>array(95,-241,659,756),10897=>array(95,-229,659,730),10898=>array(95,-229,659,730),10899=>array(95,-224,659,741),10900=>array(95,-224,659,741),10901=>array(95,-61,659,644),10902=>array(95,-61,659,644),10903=>array(95,-61,660,644),10904=>array(95,-61,659,644),10905=>array(96,-36,659,685),10906=>array(96,-36,659,685),10907=>array(95,-31,659,725),10908=>array(95,-31,659,725),10909=>array(95,8,659,645),10910=>array(95,23,659,645),10911=>array(95,-176,659,729),10912=>array(95,-176,659,729),10926=>array(95,50,659,601),10927=>array(95,-24,659,667),10928=>array(95,-24,659,667),10929=>array(95,-145,659,667),10930=>array(95,-145,659,667),10931=>array(95,-121,659,662),10932=>array(95,-121,659,662),10933=>array(95,-195,659,662),10934=>array(95,-195,659,662),10935=>array(95,-191,659,693),10936=>array(95,-191,659,693),10937=>array(95,-259,659,693),10938=>array(95,-259,659,693),11001=>array(95,-171,659,585),11002=>array(95,-171,659,585),11008=>array(79,-27,633,587),11009=>array(126,-27,680,587),11010=>array(79,25,633,640),11011=>array(126,25,680,640),11012=>array(24,65,710,562),11013=>array(24,65,703,562),11014=>array(154,0,601,754),11015=>array(154,-25,601,729),11016=>array(79,-27,633,587),11017=>array(126,-27,680,587),11018=>array(79,25,633,640),11019=>array(126,25,680,640),11020=>array(24,65,710,562),11021=>array(154,-25,601,754),11022=>array(51,-3,711,355),11023=>array(51,272,711,630),11024=>array(31,-3,691,355),11025=>array(31,272,691,630),11026=>array(82,-123,769,643),11027=>array(82,-123,769,643),11028=>array(82,-123,769,643),11029=>array(82,-123,769,643),11030=>array(2,-123,690,643),11031=>array(2,-123,690,643),11032=>array(2,-123,690,643),11033=>array(2,-123,690,643),11034=>array(82,-123,769,643),11039=>array(16,-26,767,767),11040=>array(16,-26,767,767),11041=>array(66,-91,720,748),11042=>array(66,-91,720,748),11043=>array(15,-35,771,692),11044=>array(49,-250,958,770),11091=>array(34,-47,749,788),11092=>array(34,-47,749,788),11360=>array(4,0,497,729),11361=>array(4,0,244,760),11362=>array(-18,0,497,729),11363=>array(4,0,512,729),11364=>array(88,-200,600,729),11365=>array(31,-46,519,592),11366=>array(-11,-93,346,822),11367=>array(88,-157,677,729),11368=>array(82,-138,575,760),11369=>array(88,-157,609,729),11370=>array(82,-138,519,760),11371=>array(40,-157,665,729),11372=>array(39,-138,515,547),11373=>array(50,-14,615,743),11374=>array(88,-200,689,729),11375=>array(7,0,608,729),11376=>array(50,-14,615,743),11377=>array(26,0,661,560),11378=>array(30,0,1015,742),11379=>array(38,0,866,560),11380=>array(45,0,506,587),11381=>array(88,0,500,729),11382=>array(84,0,429,547),11383=>array(49,-12,542,551),11385=>array(0,-13,289,760),11386=>array(49,-14,501,560),11387=>array(43,0,360,547),11388=>array(-10,-117,105,425),11389=>array(4,326,383,734),11390=>array(59,-242,538,742),11391=>array(40,-242,576,729),11520=>array(54,-63,490,547),11521=>array(22,-235,500,546),11522=>array(35,-235,482,546),11523=>array(56,-10,515,807),11524=>array(46,-235,483,546),11525=>array(35,-236,776,546),11526=>array(0,-8,518,816),11527=>array(47,0,811,546),11528=>array(62,0,488,546),11529=>array(45,-235,501,816),11530=>array(35,0,813,546),11531=>array(48,-8,536,816),11532=>array(35,0,490,816),11533=>array(45,0,799,546),11534=>array(45,0,500,546),11535=>array(62,-235,690,816),11536=>array(45,0,792,816),11537=>array(45,0,491,816),11538=>array(44,-235,483,546),11539=>array(45,-235,796,661),11540=>array(54,-235,803,546),11541=>array(44,-235,706,816),11542=>array(35,0,491,546),11543=>array(45,-235,500,547),11544=>array(45,-235,496,546),11545=>array(35,-235,487,816),11546=>array(38,-235,479,547),11547=>array(53,-9,537,816),11548=>array(35,-235,783,547),11549=>array(26,-235,491,546),11550=>array(42,-235,493,546),11551=>array(31,-235,492,567),11552=>array(35,0,788,546),11553=>array(44,-235,490,816),11554=>array(53,0,484,626),11555=>array(54,-235,498,816),11556=>array(45,-235,542,546),11557=>array(53,-8,757,816),11568=>array(49,-14,532,380),11569=>array(50,-14,749,742),11570=>array(50,-14,749,742),11571=>array(28,0,586,729),11572=>array(29,0,587,729),11573=>array(28,0,544,729),11574=>array(66,0,439,729),11575=>array(7,0,608,729),11576=>array(7,0,608,729),11577=>array(88,0,511,729),11578=>array(57,0,480,729),11579=>array(66,-14,549,742),11580=>array(96,0,730,729),11581=>array(40,0,599,729),11582=>array(66,0,393,729),11583=>array(40,0,599,729),11584=>array(50,-14,749,742),11585=>array(50,-52,749,781),11586=>array(66,0,178,729),11587=>array(18,0,549,729),11588=>array(88,0,589,729),11589=>array(27,0,589,729),11590=>array(66,0,409,729),11591=>array(40,0,566,729),11592=>array(66,301,514,426),11593=>array(88,0,511,729),11594=>array(48,0,404,729),11595=>array(48,-15,809,742),11596=>array(48,0,652,729),11597=>array(88,0,585,729),11598=>array(89,0,510,729),11599=>array(88,0,177,729),11600=>array(48,0,652,729),11601=>array(88,0,178,729),11602=>array(70,-14,635,729),11603=>array(43,-14,526,742),11604=>array(50,-14,749,742),11605=>array(50,-54,749,742),11606=>array(88,0,589,729),11607=>array(88,0,200,729),11608=>array(66,0,608,729),11609=>array(50,-14,749,742),11610=>array(50,-14,749,780),11611=>array(50,-14,613,742),11612=>array(44,0,647,729),11613=>array(26,0,589,729),11614=>array(50,-14,613,742),11615=>array(88,0,511,729),11616=>array(7,0,608,729),11617=>array(88,0,589,729),11618=>array(88,0,503,729),11619=>array(50,0,659,729),11620=>array(88,0,446,729),11621=>array(50,0,659,729),11631=>array(23,522,440,729),11800=>array(63,-14,413,728),11806=>array(95,78,659,399),11810=>array(77,403,264,760),11811=>array(87,403,274,760),11812=>array(77,-132,264,225),11813=>array(87,-132,274,225),11822=>array(64,0,415,742),19904=>array(75,-158,732,729),19905=>array(75,-158,732,729),19906=>array(75,-158,732,729),19907=>array(75,-158,732,729),19908=>array(75,-158,732,729),19909=>array(75,-158,732,729),19910=>array(75,-158,732,729),19911=>array(75,-158,732,729),19912=>array(75,-158,732,729),19913=>array(75,-158,733,729),19914=>array(75,-158,732,729),19915=>array(75,-158,732,729),19916=>array(75,-158,732,729),19917=>array(75,-158,732,729),19918=>array(75,-158,732,729),19919=>array(75,-158,732,729),19920=>array(75,-158,733,729),19921=>array(75,-158,732,729),19922=>array(75,-158,733,729),19923=>array(75,-158,732,729),19924=>array(75,-158,732,729),19925=>array(75,-158,732,729),19926=>array(75,-158,732,729),19927=>array(75,-158,732,729),19928=>array(75,-158,732,729),19929=>array(75,-158,732,729),19930=>array(75,-158,732,729),19931=>array(75,-158,733,729),19932=>array(75,-158,732,729),19933=>array(75,-158,732,729),19934=>array(75,-158,733,729),19935=>array(75,-158,732,729),19936=>array(75,-158,732,729),19937=>array(75,-158,732,729),19938=>array(75,-158,732,729),19939=>array(75,-158,732,729),19940=>array(75,-158,732,729),19941=>array(75,-158,733,729),19942=>array(75,-158,732,729),19943=>array(75,-158,732,729),19944=>array(75,-158,733,729),19945=>array(75,-158,732,729),19946=>array(75,-158,733,729),19947=>array(75,-158,732,729),19948=>array(75,-158,733,729),19949=>array(75,-158,732,729),19950=>array(75,-158,733,729),19951=>array(75,-158,732,729),19952=>array(75,-158,733,729),19953=>array(75,-158,732,729),19954=>array(75,-158,732,729),19955=>array(75,-158,732,729),19956=>array(75,-158,732,729),19957=>array(75,-158,733,729),19958=>array(75,-158,732,729),19959=>array(75,-158,732,729),19960=>array(75,-158,732,729),19961=>array(75,-158,733,729),19962=>array(75,-158,732,729),19963=>array(75,-158,733,729),19964=>array(75,-158,733,729),19965=>array(75,-158,732,729),19966=>array(75,-158,732,729),19967=>array(75,-158,732,729),42192=>array(88,0,554,729),42193=>array(88,0,512,729),42194=>array(31,0,455,729),42195=>array(88,0,640,729),42196=>array(-3,0,553,729),42197=>array(-3,0,553,729),42198=>array(50,-14,624,742),42199=>array(88,0,609,729),42200=>array(-19,0,502,729),42201=>array(0,-14,373,729),42202=>array(50,-14,580,742),42203=>array(50,-14,580,742),42204=>array(40,0,576,729),42205=>array(88,0,466,729),42206=>array(88,0,466,729),42207=>array(88,0,689,729),42208=>array(88,0,585,729),42209=>array(88,0,497,729),42210=>array(59,-14,521,742),42211=>array(88,0,600,729),42212=>array(26,0,537,729),42213=>array(7,0,608,729),42214=>array(7,0,608,729),42215=>array(88,0,589,729),42216=>array(71,-14,645,742),42217=>array(88,0,461,743),42218=>array(30,0,861,729),42219=>array(26,0,589,729),42220=>array(-2,0,552,729),42221=>array(63,0,529,729),42222=>array(7,0,608,729),42223=>array(7,0,608,729),42224=>array(88,0,511,729),42225=>array(57,0,480,729),42226=>array(88,0,177,729),42227=>array(50,-14,658,742),42228=>array(78,-14,581,729),42229=>array(78,0,581,743),42230=>array(3,0,412,729),42231=>array(50,0,602,729),42232=>array(77,0,193,155),42233=>array(64,-156,193,155),42234=>array(77,0,460,155),42235=>array(77,-156,460,155),42236=>array(64,-156,193,517),42237=>array(77,0,193,517),42238=>array(77,0,453,354),42239=>array(77,172,453,454),42564=>array(50,-14,512,742),42565=>array(44,-14,420,560),42566=>array(88,0,312,729),42567=>array(73,0,273,547),42572=>array(52,-14,1010,645),42573=>array(66,-14,858,471),42576=>array(26,0,838,729),42577=>array(27,0,736,560),42580=>array(50,-14,879,742),42581=>array(49,-14,673,560),42582=>array(92,0,872,729),42583=>array(84,-14,677,560),42594=>array(44,-157,904,729),42595=>array(47,-138,777,547),42596=>array(37,0,908,729),42597=>array(33,0,767,547),42598=>array(88,0,1008,729),42599=>array(82,0,863,547),42600=>array(50,-14,658,742),42601=>array(49,-14,501,560),42602=>array(50,-14,720,742),42603=>array(49,-14,592,560),42604=>array(50,-14,1172,742),42605=>array(49,-14,868,560),42606=>array(25,-208,766,743),42634=>array(-3,-200,682,729),42635=>array(26,-208,594,547),42636=>array(-3,0,553,729),42637=>array(26,0,498,547),42644=>array(77,0,529,729),42645=>array(82,0,494,760),42760=>array(94,0,351,668),42761=>array(94,0,351,668),42762=>array(94,0,351,668),42763=>array(94,0,351,668),42764=>array(94,0,351,668),42765=>array(94,0,351,668),42766=>array(94,0,351,668),42767=>array(94,0,351,668),42768=>array(94,0,351,668),42769=>array(94,0,351,668),42770=>array(94,0,351,668),42771=>array(94,0,351,668),42772=>array(94,0,351,668),42773=>array(94,0,351,668),42774=>array(94,0,351,668),42779=>array(44,326,288,736),42780=>array(44,324,288,734),42781=>array(85,326,142,734),42782=>array(85,326,142,734),42783=>array(85,0,142,408),42786=>array(60,0,315,729),42787=>array(60,0,289,547),42788=>array(50,224,370,742),42789=>array(50,42,370,560),42790=>array(88,-200,589,729),42791=>array(82,-208,494,760),42792=>array(-3,-213,737,729),42793=>array(24,-213,585,702),42794=>array(72,-14,504,742),42795=>array(58,-200,426,561),42800=>array(82,0,393,547),42801=>array(48,-14,425,560),42802=>array(7,0,1117,729),42803=>array(54,-14,805,560),42804=>array(7,-14,1033,742),42805=>array(54,-14,842,560),42806=>array(7,-14,950,729),42807=>array(54,-14,801,560),42808=>array(7,0,867,729),42809=>array(54,-14,709,560),42810=>array(7,0,867,729),42811=>array(54,-14,709,560),42812=>array(7,-208,856,729),42813=>array(54,-208,709,560),42814=>array(50,-14,580,742),42815=>array(56,-14,445,560),42816=>array(4,0,609,729),42817=>array(6,0,522,760),42822=>array(88,0,607,729),42823=>array(84,0,269,760),42824=>array(36,0,519,729),42825=>array(53,0,332,760),42826=>array(4,-14,722,742),42827=>array(4,-14,625,560),42830=>array(50,-14,1172,742),42831=>array(49,-14,868,560),42832=>array(4,0,512,729),42833=>array(-2,-208,522,560),42834=>array(22,0,630,729),42835=>array(22,-208,648,560),42838=>array(50,-178,658,742),42839=>array(49,-208,574,560),42852=>array(4,0,512,729),42853=>array(-2,-208,522,760),42854=>array(4,0,512,729),42855=>array(-2,-208,522,760),42880=>array(4,0,413,729),42881=>array(84,-208,166,560),42882=>array(88,-208,574,742),42883=>array(82,-208,494,560),42889=>array(105,0,198,517),42890=>array(70,161,268,380),42891=>array(136,235,225,729),42892=>array(86,458,162,729),42893=>array(77,0,529,729),42894=>array(34,-208,375,760),42896=>array(88,-157,660,729),42897=>array(82,-138,559,560),42912=>array(1,-14,700,742),42913=>array(1,-208,570,560),42914=>array(1,0,609,729),42915=>array(1,0,520,760),42916=>array(1,0,672,729),42917=>array(1,0,570,560),42918=>array(1,0,624,729),42919=>array(1,0,370,560),42920=>array(1,-14,570,742),42921=>array(1,-14,467,560),42922=>array(-46,0,633,729),43002=>array(82,0,742,547),43003=>array(52,0,430,729),43004=>array(31,0,455,729),43005=>array(88,0,689,729),43006=>array(88,0,177,928),43007=>array(30,0,1050,729),61184=>array(85,602,291,668),61185=>array(62,451,308,668),61186=>array(48,301,325,668),61187=>array(42,150,332,668),61188=>array(40,0,334,668),61189=>array(62,451,308,668),61190=>array(85,451,291,518),61191=>array(62,301,308,518),61192=>array(48,150,325,518),61193=>array(42,0,332,518),61194=>array(48,301,325,668),61195=>array(62,301,308,518),61196=>array(85,301,291,367),61197=>array(62,150,308,367),61198=>array(48,0,325,367),61199=>array(42,150,332,668),61200=>array(48,150,325,518),61201=>array(62,150,308,367),61202=>array(85,150,291,217),61203=>array(62,0,308,217),61204=>array(40,0,334,668),61205=>array(42,0,332,518),61206=>array(48,0,325,367),61207=>array(62,0,308,217),61208=>array(85,0,291,66),61209=>array(94,0,154,668),61440=>array(66,0,813,732),61441=>array(66,0,813,732),61442=>array(66,0,813,732),61443=>array(66,0,813,732),62464=>array(48,-15,474,828),62465=>array(48,-15,474,828),62466=>array(48,-15,513,837),62467=>array(48,0,752,837),62468=>array(48,-15,474,837),62469=>array(48,-15,474,837),62470=>array(48,-15,540,837),62471=>array(48,-15,746,837),62472=>array(48,0,452,837),62473=>array(48,-15,474,828),62474=>array(48,0,1003,837),62475=>array(48,-15,473,837),62476=>array(57,-15,483,828),62477=>array(48,0,734,837),62478=>array(48,-15,474,828),62479=>array(48,-15,474,844),62480=>array(48,0,774,837),62481=>array(57,-15,483,828),62482=>array(48,-15,609,837),62483=>array(22,-15,467,837),62484=>array(48,-15,737,837),62485=>array(48,-15,474,828),62486=>array(48,-15,757,837),62487=>array(48,-15,473,829),62488=>array(48,-15,473,837),62489=>array(57,0,483,837),62490=>array(49,-15,536,828),62491=>array(48,-15,473,828),62492=>array(57,-15,482,837),62493=>array(48,-15,491,828),62494=>array(57,-15,483,828),62495=>array(22,-15,443,837),62496=>array(48,-15,474,837),62497=>array(53,-15,478,837),62498=>array(48,-79,474,837),62499=>array(48,-15,473,838),62500=>array(48,-15,479,838),62501=>array(48,-15,535,837),62502=>array(48,-15,812,838),62504=>array(53,-235,785,816),62505=>array(44,-230,684,853),62506=>array(44,-15,413,765),62507=>array(44,-15,413,777),62508=>array(44,-15,413,875),62509=>array(44,-15,413,818),62510=>array(44,-15,413,887),62511=>array(44,-15,413,809),62512=>array(44,-236,404,765),62513=>array(44,-236,404,799),62514=>array(44,-236,404,901),62515=>array(44,-236,404,809),62516=>array(44,0,422,765),62517=>array(44,0,422,799),62518=>array(44,0,422,809),62519=>array(44,-0,664,765),62520=>array(44,-0,664,777),62521=>array(44,-0,664,895),62522=>array(44,-0,664,799),62523=>array(44,-0,664,809),62524=>array(26,-236,439,765),62525=>array(26,-236,439,777),62526=>array(26,-236,439,904),62527=>array(26,-236,439,799),62528=>array(26,-236,439,809),62529=>array(26,-236,439,852),63173=>array(49,-14,501,760),64256=>array(21,0,637,760),64257=>array(21,0,483,760),64258=>array(21,0,483,760),64259=>array(21,0,786,760),64260=>array(21,0,786,760),64261=>array(21,0,596,760),64262=>array(48,-14,753,742),64275=>array(75,-14,1000,760),64276=>array(76,-14,1000,760),64277=>array(76,-208,1000,760),64278=>array(76,-208,1000,760),64279=>array(76,-208,1306,760),64285=>array(60,44,142,547),64286=>array(150,625,426,765),64287=>array(32,44,296,547),64288=>array(34,0,505,547),64289=>array(76,0,695,547),64290=>array(39,0,646,547),64291=>array(82,0,688,547),64292=>array(39,0,645,547),64293=>array(39,0,645,760),64294=>array(82,0,688,547),64295=>array(39,0,645,547),64296=>array(42,-4,645,547),64297=>array(95,272,659,627),64298=>array(39,0,599,698),64299=>array(34,0,599,698),64300=>array(39,0,599,698),64301=>array(39,0,599,698),64302=>array(82,-159,520,547),64303=>array(82,-193,520,547),64304=>array(82,-159,520,547),64305=>array(39,0,482,547),64306=>array(39,-5,345,547),64307=>array(39,0,460,547),64308=>array(82,0,506,547),64309=>array(39,0,238,547),64310=>array(39,0,327,547),64312=>array(81,-14,534,552),64313=>array(39,204,237,547),64314=>array(39,-208,402,547),64315=>array(39,0,426,547),64316=>array(39,0,443,729),64318=>array(39,0,530,555),64320=>array(39,0,278,547),64321=>array(81,-14,534,547),64323=>array(82,-208,494,547),64324=>array(82,0,513,547),64326=>array(39,0,453,547),64327=>array(82,-208,570,546),64328=>array(39,0,426,547),64329=>array(39,0,599,547),64330=>array(9,-4,510,547),64331=>array(82,0,164,698),64332=>array(39,0,482,698),64333=>array(39,0,426,698),64334=>array(82,0,513,698),64335=>array(39,0,514,760),64338=>array(57,-244,778,327),64339=>array(57,-244,893,327),64340=>array(-9,-244,172,293),64341=>array(-9,-244,281,293),64342=>array(57,-244,778,327),64343=>array(57,-244,893,327),64344=>array(-9,-244,220,293),64345=>array(-9,-244,281,293),64346=>array(57,-244,778,327),64347=>array(57,-244,893,327),64348=>array(-9,-244,220,293),64349=>array(-9,-244,281,293),64350=>array(57,-10,778,513),64351=>array(57,-10,893,513),64352=>array(-9,0,172,610),64353=>array(-9,0,281,610),64354=>array(57,-10,778,513),64355=>array(57,-10,893,513),64356=>array(-9,0,220,610),64357=>array(-9,0,281,610),64358=>array(57,-10,778,575),64359=>array(57,-10,893,575),64360=>array(-9,0,246,672),64361=>array(-9,0,281,672),64362=>array(57,-45,857,757),64363=>array(57,-44,940,659),64364=>array(-9,0,365,757),64365=>array(-9,0,464,684),64366=>array(57,-45,857,757),64367=>array(57,-44,940,659),64368=>array(-9,0,365,757),64369=>array(-9,0,464,684),64370=>array(69,-244,580,425),64371=>array(69,-244,590,425),64372=>array(-9,-220,491,398),64373=>array(-9,-220,590,398),64374=>array(69,-244,580,425),64375=>array(69,-244,590,425),64376=>array(-9,-98,491,398),64377=>array(-9,-98,590,398),64378=>array(69,-244,580,425),64379=>array(69,-244,590,425),64380=>array(-9,-220,491,398),64381=>array(-9,-220,590,398),64382=>array(69,-244,580,425),64383=>array(69,-244,590,425),64384=>array(-9,-220,491,398),64385=>array(-9,-220,590,398),64386=>array(55,-146,350,415),64387=>array(55,-146,481,415),64388=>array(55,-19,350,586),64389=>array(55,-19,481,586),64390=>array(55,-19,350,708),64391=>array(55,-19,481,708),64392=>array(55,-19,350,746),64393=>array(55,-19,481,746),64394=>array(-38,-244,396,586),64395=>array(-38,-244,505,586),64396=>array(-38,-244,422,648),64397=>array(-38,-244,505,648),64398=>array(57,-43,806,760),64399=>array(57,-43,883,760),64400=>array(-9,0,429,760),64401=>array(-9,0,506,760),64402=>array(57,-43,806,896),64403=>array(57,-43,883,896),64404=>array(-9,0,429,896),64405=>array(-9,0,506,896),64406=>array(57,-293,806,896),64407=>array(57,-293,883,896),64408=>array(-9,-269,429,896),64409=>array(-9,-269,506,896),64410=>array(57,-43,806,903),64411=>array(57,-43,883,903),64412=>array(-9,0,429,903),64413=>array(-9,0,506,903),64414=>array(64,-162,594,366),64415=>array(64,-244,694,284),64416=>array(64,-162,594,636),64417=>array(64,-244,694,514),64418=>array(-9,0,246,672),64419=>array(-9,0,281,672),64426=>array(63,-33,575,487),64427=>array(63,-244,578,333),64428=>array(-9,-33,421,487),64429=>array(-9,-244,424,333),64467=>array(63,-27,650,854),64468=>array(63,-27,768,854),64469=>array(-9,0,429,928),64470=>array(-9,0,506,928),64473=>array(-38,-244,366,556),64474=>array(-38,-244,474,556),64488=>array(-9,0,172,293),64489=>array(-9,0,281,293),64508=>array(57,-131,647,411),64509=>array(57,-133,759,251),64510=>array(-9,-146,220,293),64511=>array(-9,-146,281,293),65056=>array(-401,752,0,929),65057=>array(0,752,401,929),65058=>array(-319,756,0,894),65059=>array(0,756,319,894),65136=>array(3,591,260,825),65137=>array(-9,0,272,825),65138=>array(3,591,260,874),65139=>array(46,0,245,177),65140=>array(3,-239,260,-5),65142=>array(3,591,260,708),65143=>array(-9,0,272,708),65144=>array(3,590,260,874),65145=>array(-9,0,272,874),65146=>array(3,-137,260,-20),65147=>array(-9,-137,272,90),65148=>array(-5,599,269,869),65149=>array(-9,0,272,869),65150=>array(10,610,251,878),65151=>array(-9,0,272,878),65152=>array(71,42,351,483),65153=>array(-33,0,284,939),65154=>array(-33,0,284,939),65155=>array(47,0,198,1028),65156=>array(47,0,283,1028),65157=>array(-38,-244,366,588),65158=>array(-38,-244,474,588),65159=>array(47,-244,198,760),65160=>array(47,-244,283,760),65161=>array(57,-131,647,588),65162=>array(57,-133,759,466),65163=>array(-9,0,205,613),65164=>array(-9,0,281,613),65165=>array(84,0,166,760),65166=>array(84,0,283,760),65167=>array(57,-171,778,327),65168=>array(57,-171,893,327),65169=>array(-9,-146,172,293),65170=>array(-9,-146,281,293),65171=>array(61,-28,408,513),65172=>array(63,0,492,513),65173=>array(57,-10,778,391),65174=>array(57,-10,893,391),65175=>array(-9,0,220,488),65176=>array(-9,0,281,488),65177=>array(57,-10,778,513),65178=>array(57,-10,893,513),65179=>array(-9,0,220,610),65180=>array(-9,0,281,610),65181=>array(69,-244,580,425),65182=>array(69,-244,590,425),65183=>array(-9,-146,491,398),65184=>array(-9,-146,590,398),65185=>array(69,-244,580,425),65186=>array(69,-244,590,425),65187=>array(-9,0,491,398),65188=>array(-9,0,590,398),65189=>array(69,-244,580,586),65190=>array(69,-244,590,586),65191=>array(-9,0,491,537),65192=>array(-9,0,590,537),65193=>array(55,-19,350,415),65194=>array(55,-19,481,415),65195=>array(55,-19,350,586),65196=>array(55,-19,481,586),65197=>array(-38,-244,381,269),65198=>array(-38,-244,505,269),65199=>array(-38,-244,381,464),65200=>array(-38,-244,505,464),65201=>array(57,-244,1024,366),65202=>array(57,-244,1156,366),65203=>array(-9,-14,680,366),65204=>array(-9,-14,812,366),65205=>array(57,-244,1024,586),65206=>array(57,-244,1156,586),65207=>array(-9,-14,680,586),65208=>array(-9,-14,812,586),65209=>array(57,-244,1021,362),65210=>array(57,-244,1112,362),65211=>array(-9,0,697,362),65212=>array(-9,0,790,362),65213=>array(57,-244,1021,464),65214=>array(57,-244,1112,464),65215=>array(-9,0,697,464),65216=>array(-9,0,790,464),65217=>array(63,0,772,760),65218=>array(63,0,863,760),65219=>array(-9,0,656,760),65220=>array(-9,0,747,760),65221=>array(63,0,772,760),65222=>array(63,0,863,760),65223=>array(-9,0,656,760),65224=>array(-9,0,747,760),65225=>array(51,-244,528,521),65226=>array(51,-244,528,382),65227=>array(-9,0,447,521),65228=>array(-9,0,443,382),65229=>array(51,-244,528,659),65230=>array(51,-244,528,537),65231=>array(-9,0,447,659),65232=>array(-9,0,443,537),65233=>array(57,-45,857,635),65234=>array(57,-44,940,537),65235=>array(-9,0,365,635),65236=>array(-9,0,464,562),65237=>array(47,-215,631,635),65238=>array(47,-244,760,500),65239=>array(-9,0,365,635),65240=>array(-9,0,464,562),65241=>array(63,-27,650,760),65242=>array(63,-27,768,760),65243=>array(-9,0,429,760),65244=>array(-9,0,506,760),65245=>array(63,-152,573,760),65246=>array(63,-152,690,760),65247=>array(-9,0,189,760),65248=>array(-9,0,307,760),65249=>array(62,-240,492,369),65250=>array(62,-240,608,307),65251=>array(-9,-25,411,303),65252=>array(-9,-24,529,303),65253=>array(64,-162,594,464),65254=>array(64,-244,694,342),65255=>array(-9,0,172,488),65256=>array(-9,0,281,488),65257=>array(61,-28,408,358),65258=>array(63,0,492,366),65259=>array(-9,-33,421,487),65260=>array(-9,-244,424,333),65261=>array(-38,-244,366,315),65262=>array(-38,-244,474,315),65263=>array(57,-131,647,411),65264=>array(57,-133,759,251),65265=>array(57,-244,647,411),65266=>array(57,-244,759,251),65267=>array(-9,-146,220,293),65268=>array(-9,-146,281,293),65269=>array(-92,-10,422,866),65270=>array(-92,-10,546,866),65271=>array(-12,-10,422,955),65272=>array(-12,-10,546,955),65273=>array(10,-244,422,760),65274=>array(10,-244,546,760),65275=>array(37,-10,422,760),65276=>array(37,-10,546,760),65533=>array(13,-84,910,912),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>286,33=>360,34=>414,35=>754,36=>572,37=>855,38=>702,39=>247,40=>351,41=>351,42=>450,43=>754,44=>286,45=>325,46=>286,47=>303,48=>572,49=>572,50=>572,51=>572,52=>572,53=>572,54=>572,55=>572,56=>572,57=>572,58=>303,59=>303,60=>754,61=>754,62=>754,63=>478,64=>900,65=>615,66=>617,67=>628,68=>693,69=>568,70=>518,71=>697,72=>677,73=>265,74=>265,75=>590,76=>501,77=>776,78=>673,79=>708,80=>542,81=>708,82=>625,83=>571,84=>549,85=>659,86=>615,87=>890,88=>616,89=>549,90=>616,91=>351,92=>303,93=>351,94=>754,95=>450,96=>450,97=>551,98=>571,99=>495,100=>571,101=>554,102=>316,103=>571,104=>570,105=>250,106=>250,107=>521,108=>250,109=>876,110=>570,111=>550,112=>571,113=>571,114=>370,115=>469,116=>353,117=>570,118=>532,119=>736,120=>532,121=>532,122=>472,123=>572,124=>303,125=>572,126=>754,160=>286,161=>360,162=>572,163=>572,164=>572,165=>572,166=>303,167=>450,168=>450,169=>900,170=>424,171=>550,172=>754,173=>325,174=>900,175=>450,176=>450,177=>754,178=>360,179=>360,180=>450,181=>572,182=>572,183=>286,184=>450,185=>360,186=>424,187=>550,188=>872,189=>872,190=>872,191=>478,192=>615,193=>615,194=>615,195=>615,196=>615,197=>615,198=>876,199=>628,200=>568,201=>568,202=>568,203=>568,204=>265,205=>265,206=>265,207=>265,208=>697,209=>673,210=>708,211=>708,212=>708,213=>708,214=>708,215=>754,216=>708,217=>659,218=>659,219=>659,220=>659,221=>549,222=>544,223=>567,224=>551,225=>551,226=>551,227=>551,228=>551,229=>551,230=>883,231=>495,232=>554,233=>554,234=>554,235=>554,236=>250,237=>250,238=>250,239=>250,240=>550,241=>570,242=>550,243=>550,244=>550,245=>550,246=>550,247=>754,248=>550,249=>570,250=>570,251=>570,252=>570,253=>532,254=>571,255=>532,256=>615,257=>551,258=>615,259=>551,260=>615,261=>551,262=>628,263=>495,264=>628,265=>495,266=>628,267=>495,268=>628,269=>495,270=>693,271=>571,272=>697,273=>571,274=>568,275=>554,276=>568,277=>554,278=>568,279=>554,280=>568,281=>554,282=>568,283=>554,284=>697,285=>571,286=>697,287=>571,288=>697,289=>571,290=>697,291=>571,292=>677,293=>570,294=>824,295=>625,296=>265,297=>250,298=>265,299=>250,300=>265,301=>250,302=>265,303=>250,304=>265,305=>250,306=>531,307=>500,308=>265,309=>250,310=>590,311=>521,312=>521,313=>501,314=>250,315=>501,316=>250,317=>501,318=>337,319=>501,320=>308,321=>505,322=>255,323=>673,324=>570,325=>673,326=>570,327=>673,328=>570,329=>732,330=>673,331=>570,332=>708,333=>550,334=>708,335=>550,336=>708,337=>550,338=>962,339=>920,340=>625,341=>370,342=>625,343=>370,344=>625,345=>370,346=>571,347=>469,348=>571,349=>469,350=>571,351=>469,352=>571,353=>469,354=>549,355=>353,356=>549,357=>353,358=>549,359=>353,360=>659,361=>570,362=>659,363=>570,364=>659,365=>570,366=>659,367=>570,368=>659,369=>570,370=>659,371=>570,372=>890,373=>736,374=>549,375=>532,376=>549,377=>616,378=>472,379=>616,380=>472,381=>616,382=>472,383=>316,384=>571,385=>661,386=>617,387=>571,388=>617,389=>571,390=>633,391=>628,392=>495,393=>697,394=>737,395=>617,396=>571,397=>550,398=>568,399=>708,400=>553,401=>518,402=>316,403=>697,404=>618,405=>885,406=>318,407=>265,408=>671,409=>521,410=>250,411=>532,412=>876,413=>673,414=>570,415=>708,416=>822,417=>550,418=>854,419=>683,420=>586,421=>571,422=>625,423=>571,424=>469,425=>568,426=>302,427=>353,428=>549,429=>353,430=>549,431=>772,432=>570,433=>688,434=>648,435=>669,436=>657,437=>616,438=>472,439=>599,440=>599,441=>520,442=>472,443=>572,444=>599,445=>520,446=>459,447=>571,448=>265,449=>443,450=>413,451=>266,452=>1279,453=>1169,454=>1039,455=>751,456=>708,457=>411,458=>838,459=>831,460=>717,461=>615,462=>551,463=>265,464=>250,465=>708,466=>550,467=>659,468=>570,469=>659,470=>570,471=>659,472=>570,473=>659,474=>570,475=>659,476=>570,477=>554,478=>615,479=>551,480=>615,481=>551,482=>876,483=>883,484=>697,485=>571,486=>697,487=>571,488=>590,489=>521,490=>708,491=>550,492=>708,493=>550,494=>599,495=>520,496=>250,497=>1279,498=>1169,499=>1039,500=>697,501=>571,502=>1001,503=>614,504=>673,505=>570,506=>615,507=>551,508=>876,509=>883,510=>708,511=>550,512=>615,513=>551,514=>615,515=>551,516=>568,517=>554,518=>568,519=>554,520=>265,521=>250,522=>265,523=>250,524=>708,525=>550,526=>708,527=>550,528=>625,529=>370,530=>625,531=>370,532=>659,533=>570,534=>659,535=>570,536=>571,537=>469,538=>549,539=>353,540=>564,541=>469,542=>677,543=>570,544=>662,545=>754,546=>628,547=>549,548=>616,549=>472,550=>615,551=>551,552=>568,553=>554,554=>708,555=>550,556=>708,557=>550,558=>708,559=>550,560=>708,561=>550,562=>549,563=>532,564=>427,565=>758,566=>429,567=>250,568=>898,569=>898,570=>615,571=>628,572=>495,573=>501,574=>549,575=>469,576=>472,577=>542,578=>431,579=>617,580=>659,581=>615,582=>568,583=>554,584=>265,585=>250,586=>703,587=>571,588=>625,589=>370,590=>549,591=>532,592=>540,593=>571,594=>571,595=>571,596=>494,597=>495,598=>571,599=>626,600=>554,601=>554,602=>737,603=>486,604=>479,605=>698,606=>598,607=>250,608=>626,609=>571,610=>566,611=>536,612=>536,613=>570,614=>570,615=>570,616=>250,617=>304,618=>334,619=>356,620=>438,621=>250,622=>635,623=>876,624=>876,625=>876,626=>581,627=>578,628=>570,629=>550,630=>772,631=>655,632=>593,633=>373,634=>373,635=>372,636=>370,637=>369,638=>477,639=>477,640=>543,641=>543,642=>469,643=>302,644=>302,645=>415,646=>302,647=>353,648=>353,649=>570,650=>556,651=>538,652=>532,653=>736,654=>532,655=>549,656=>472,657=>472,658=>520,659=>520,660=>459,661=>459,662=>459,663=>459,664=>708,665=>521,666=>598,667=>637,668=>588,669=>263,670=>600,671=>456,672=>654,673=>459,674=>459,675=>913,676=>952,677=>911,678=>747,679=>549,680=>700,681=>763,682=>635,683=>589,684=>463,685=>463,686=>595,687=>597,688=>364,689=>359,690=>157,691=>233,692=>266,693=>266,694=>341,695=>463,696=>335,697=>250,698=>414,699=>286,700=>286,701=>286,702=>276,703=>276,704=>333,705=>333,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>247,713=>450,714=>450,715=>450,716=>247,717=>450,718=>450,719=>450,720=>303,721=>303,722=>276,723=>276,724=>450,725=>450,726=>351,727=>286,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>284,735=>450,736=>383,737=>149,738=>335,739=>399,740=>333,741=>444,742=>444,743=>444,744=>444,745=>444,748=>450,749=>450,750=>466,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>589,881=>511,882=>775,883=>583,884=>250,885=>250,886=>673,887=>584,890=>450,891=>494,892=>495,893=>494,894=>303,900=>450,901=>450,902=>623,903=>286,904=>671,905=>784,906=>367,908=>731,910=>742,911=>743,912=>304,913=>615,914=>617,915=>501,916=>615,917=>568,918=>616,919=>677,920=>708,921=>265,922=>590,923=>615,924=>776,925=>673,926=>568,927=>708,928=>677,929=>542,931=>568,932=>549,933=>549,934=>708,935=>616,936=>708,937=>688,938=>265,939=>549,940=>593,941=>486,942=>570,943=>304,944=>521,945=>593,946=>574,947=>532,948=>550,949=>486,950=>489,951=>570,952=>550,953=>304,954=>530,955=>532,956=>572,957=>502,958=>501,959=>550,960=>542,961=>571,962=>528,963=>570,964=>542,965=>521,966=>593,967=>520,968=>593,969=>753,970=>304,971=>521,972=>550,973=>521,974=>753,975=>590,976=>553,977=>557,978=>628,979=>758,980=>628,981=>593,982=>753,983=>597,984=>708,985=>550,986=>583,987=>528,988=>518,989=>413,990=>593,991=>593,992=>778,993=>564,994=>840,995=>753,996=>682,997=>593,998=>712,999=>553,1000=>618,1001=>546,1002=>690,1003=>563,1004=>629,1005=>550,1006=>549,1007=>482,1008=>597,1009=>571,1010=>495,1011=>250,1012=>708,1013=>554,1014=>554,1015=>544,1016=>571,1017=>628,1018=>776,1019=>585,1020=>571,1021=>633,1022=>628,1023=>633,1024=>568,1025=>568,1026=>708,1027=>549,1028=>628,1029=>571,1030=>265,1031=>265,1032=>265,1033=>984,1034=>940,1035=>708,1036=>639,1037=>673,1038=>548,1039=>677,1040=>615,1041=>617,1042=>617,1043=>549,1044=>703,1045=>568,1046=>969,1047=>577,1048=>673,1049=>673,1050=>639,1051=>677,1052=>776,1053=>677,1054=>708,1055=>677,1056=>542,1057=>628,1058=>549,1059=>548,1060=>774,1061=>616,1062=>699,1063=>617,1064=>962,1065=>984,1066=>749,1067=>794,1068=>617,1069=>628,1070=>971,1071=>625,1072=>551,1073=>555,1074=>530,1075=>473,1076=>622,1077=>554,1078=>811,1079=>479,1080=>584,1081=>584,1082=>543,1083=>575,1084=>679,1085=>588,1086=>550,1087=>588,1088=>571,1089=>495,1090=>524,1091=>532,1092=>769,1093=>532,1094=>612,1095=>532,1096=>823,1097=>848,1098=>636,1099=>710,1100=>530,1101=>494,1102=>757,1103=>541,1104=>554,1105=>554,1106=>563,1107=>473,1108=>494,1109=>469,1110=>250,1111=>250,1112=>250,1113=>812,1114=>809,1115=>586,1116=>543,1117=>584,1118=>532,1119=>588,1120=>840,1121=>753,1122=>693,1123=>604,1124=>848,1125=>674,1126=>791,1127=>705,1128=>1043,1129=>901,1130=>708,1131=>550,1132=>924,1133=>742,1134=>572,1135=>486,1136=>771,1137=>789,1138=>708,1139=>550,1140=>703,1141=>598,1142=>703,1143=>598,1144=>893,1145=>813,1146=>857,1147=>682,1148=>1062,1149=>925,1150=>840,1151=>753,1152=>628,1153=>495,1154=>452,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>376,1161=>376,1162=>695,1163=>609,1164=>617,1165=>530,1166=>542,1167=>571,1168=>549,1169=>473,1170=>607,1171=>531,1172=>562,1173=>477,1174=>969,1175=>811,1176=>577,1177=>479,1178=>639,1179=>543,1180=>639,1181=>543,1182=>639,1183=>543,1184=>771,1185=>748,1186=>677,1187=>594,1188=>913,1189=>789,1190=>973,1191=>824,1192=>790,1193=>624,1194=>628,1195=>495,1196=>549,1197=>524,1198=>549,1199=>532,1200=>549,1201=>532,1202=>616,1203=>532,1204=>840,1205=>726,1206=>617,1207=>532,1208=>617,1209=>532,1210=>617,1211=>570,1212=>847,1213=>655,1214=>847,1215=>655,1216=>265,1217=>969,1218=>811,1219=>590,1220=>543,1221=>698,1222=>603,1223=>677,1224=>594,1225=>699,1226=>612,1227=>617,1228=>532,1229=>799,1230=>697,1231=>250,1232=>615,1233=>551,1234=>615,1235=>551,1236=>876,1237=>883,1238=>568,1239=>554,1240=>708,1241=>554,1242=>708,1243=>554,1244=>969,1245=>811,1246=>577,1247=>479,1248=>599,1249=>520,1250=>673,1251=>584,1252=>673,1253=>584,1254=>708,1255=>550,1256=>708,1257=>550,1258=>708,1259=>550,1260=>628,1261=>494,1262=>548,1263=>532,1264=>548,1265=>532,1266=>548,1267=>532,1268=>617,1269=>532,1270=>549,1271=>473,1272=>794,1273=>710,1274=>607,1275=>531,1276=>616,1277=>532,1278=>616,1279=>532,1280=>617,1281=>530,1282=>905,1283=>807,1284=>877,1285=>782,1286=>611,1287=>529,1288=>964,1289=>861,1290=>1001,1291=>870,1292=>697,1293=>593,1294=>695,1295=>640,1296=>553,1297=>486,1298=>677,1299=>575,1300=>1052,1301=>894,1302=>804,1303=>778,1304=>928,1305=>887,1306=>708,1307=>571,1308=>890,1309=>736,1310=>639,1311=>543,1312=>972,1313=>814,1314=>973,1315=>821,1316=>713,1317=>614,1329=>689,1330=>659,1331=>678,1332=>678,1333=>659,1334=>694,1335=>576,1336=>659,1337=>773,1338=>678,1339=>622,1340=>479,1341=>830,1342=>777,1343=>659,1344=>644,1345=>689,1346=>678,1347=>690,1348=>712,1349=>655,1350=>656,1351=>681,1352=>659,1353=>642,1354=>720,1355=>691,1356=>712,1357=>659,1358=>678,1359=>634,1360=>624,1361=>669,1362=>483,1363=>729,1364=>681,1365=>708,1366=>711,1369=>276,1370=>286,1371=>211,1372=>325,1373=>214,1374=>365,1375=>450,1377=>876,1378=>570,1379=>592,1380=>597,1381=>570,1382=>571,1383=>463,1384=>570,1385=>664,1386=>592,1387=>570,1388=>244,1389=>882,1390=>560,1391=>570,1392=>570,1393=>547,1394=>571,1395=>566,1396=>570,1397=>244,1398=>570,1399=>448,1400=>570,1401=>364,1402=>876,1403=>504,1404=>583,1405=>570,1406=>570,1407=>876,1408=>570,1409=>570,1410=>391,1411=>876,1412=>572,1413=>548,1414=>725,1415=>730,1417=>303,1418=>325,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>325,1471=>0,1472=>265,1473=>0,1474=>0,1475=>265,1478=>397,1479=>0,1488=>602,1489=>520,1490=>371,1491=>491,1492=>588,1493=>245,1494=>312,1495=>588,1496=>583,1497=>201,1498=>483,1499=>476,1500=>511,1501=>597,1502=>611,1503=>245,1504=>360,1505=>584,1506=>563,1507=>576,1508=>562,1509=>485,1510=>534,1511=>638,1512=>508,1513=>637,1514=>591,1520=>423,1521=>380,1522=>297,1523=>374,1524=>580,1542=>573,1543=>573,1545=>681,1546=>879,1548=>290,1557=>0,1563=>286,1567=>478,1569=>423,1570=>250,1571=>250,1572=>435,1573=>250,1574=>704,1575=>250,1576=>847,1577=>471,1578=>847,1579=>847,1580=>581,1581=>581,1582=>581,1583=>400,1584=>400,1585=>435,1586=>435,1587=>1099,1588=>1099,1589=>1088,1590=>1088,1591=>832,1592=>832,1593=>537,1594=>537,1600=>264,1601=>933,1602=>698,1603=>742,1604=>654,1605=>557,1606=>661,1607=>471,1608=>435,1609=>704,1610=>704,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1619=>0,1620=>0,1621=>0,1623=>0,1626=>450,1632=>483,1633=>483,1634=>483,1635=>483,1636=>483,1637=>483,1638=>483,1639=>483,1640=>483,1641=>483,1642=>483,1643=>292,1644=>286,1645=>490,1646=>847,1647=>698,1648=>0,1652=>263,1657=>847,1658=>847,1659=>847,1660=>847,1661=>847,1662=>847,1663=>847,1664=>847,1665=>581,1666=>581,1667=>581,1668=>581,1669=>581,1670=>581,1671=>581,1672=>400,1673=>400,1674=>400,1675=>400,1676=>400,1677=>400,1678=>400,1679=>400,1680=>400,1681=>435,1682=>435,1683=>448,1684=>477,1685=>549,1686=>477,1687=>435,1688=>435,1689=>435,1690=>1099,1691=>1099,1692=>1099,1693=>1088,1694=>1088,1695=>832,1696=>537,1697=>933,1698=>933,1699=>933,1700=>933,1701=>933,1702=>933,1703=>698,1704=>698,1705=>805,1706=>948,1707=>805,1708=>742,1709=>742,1710=>742,1711=>805,1712=>805,1713=>805,1714=>805,1715=>805,1716=>805,1717=>654,1718=>654,1719=>654,1720=>654,1721=>661,1722=>661,1723=>661,1724=>661,1725=>661,1726=>628,1727=>581,1734=>435,1740=>704,1742=>704,1749=>471,1776=>483,1777=>483,1778=>483,1779=>483,1780=>483,1781=>483,1782=>483,1783=>483,1784=>483,1785=>483,1984=>572,1985=>572,1986=>572,1987=>572,1988=>572,1989=>572,1990=>572,1991=>572,1992=>572,1993=>572,1994=>250,1995=>514,1996=>381,1997=>532,1998=>588,1999=>588,2000=>534,2001=>588,2002=>746,2003=>394,2004=>394,2005=>502,2006=>550,2007=>315,2008=>863,2009=>425,2010=>705,2011=>588,2012=>563,2013=>660,2014=>477,2015=>651,2016=>425,2017=>563,2018=>534,2019=>477,2020=>477,2021=>470,2022=>534,2023=>534,2027=>0,2028=>0,2029=>0,2030=>0,2031=>0,2032=>0,2033=>0,2034=>0,2035=>0,2036=>282,2037=>282,2040=>504,2041=>504,2042=>325,3647=>572,3713=>603,3714=>615,3716=>619,3719=>434,3720=>565,3722=>615,3725=>619,3732=>602,3733=>577,3734=>580,3735=>589,3737=>593,3738=>563,3739=>563,3740=>670,3741=>690,3742=>618,3743=>618,3745=>631,3746=>619,3747=>615,3749=>584,3751=>569,3754=>633,3755=>737,3757=>569,3758=>615,3759=>708,3760=>569,3761=>0,3762=>485,3763=>485,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>597,3776=>337,3777=>591,3778=>414,3779=>492,3780=>442,3782=>606,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>572,3793=>576,3794=>576,3795=>603,3796=>563,3797=>563,3798=>633,3799=>603,3800=>606,3801=>609,3804=>925,3805=>925,4256=>787,4257=>660,4258=>611,4259=>751,4260=>554,4261=>690,4262=>678,4263=>822,4264=>408,4265=>558,4266=>758,4267=>794,4268=>562,4269=>769,4270=>703,4271=>566,4272=>820,4273=>558,4274=>558,4275=>769,4276=>779,4277=>651,4278=>567,4279=>558,4280=>563,4281=>558,4282=>736,4283=>786,4284=>554,4285=>561,4286=>563,4287=>652,4288=>760,4289=>536,4290=>620,4291=>536,4292=>534,4293=>664,4304=>457,4305=>466,4306=>523,4307=>736,4308=>457,4309=>461,4310=>450,4311=>721,4312=>466,4313=>459,4314=>958,4315=>470,4316=>470,4317=>708,4318=>457,4319=>466,4320=>716,4321=>470,4322=>589,4323=>470,4324=>743,4325=>461,4326=>708,4327=>466,4328=>466,4329=>470,4330=>514,4331=>470,4332=>466,4333=>468,4334=>470,4335=>409,4336=>457,4337=>466,4338=>457,4339=>457,4340=>466,4341=>499,4342=>745,4343=>497,4344=>457,4345=>514,4346=>457,4347=>403,4348=>291,5121=>615,5122=>615,5123=>615,5124=>615,5125=>692,5126=>692,5127=>692,5129=>692,5130=>692,5131=>692,5132=>751,5133=>751,5134=>751,5135=>751,5136=>751,5137=>751,5138=>870,5139=>906,5140=>870,5141=>906,5142=>692,5143=>870,5144=>906,5145=>870,5146=>906,5147=>692,5149=>230,5150=>488,5151=>381,5152=>381,5153=>350,5154=>350,5155=>354,5156=>350,5157=>419,5158=>347,5159=>230,5160=>350,5161=>350,5162=>350,5163=>980,5164=>817,5165=>857,5166=>1005,5167=>615,5168=>615,5169=>615,5170=>615,5171=>656,5172=>656,5173=>656,5175=>656,5176=>656,5177=>656,5178=>751,5179=>615,5180=>751,5181=>751,5182=>751,5183=>751,5184=>870,5185=>906,5186=>870,5187=>906,5188=>870,5189=>906,5190=>870,5191=>906,5192=>656,5193=>457,5194=>172,5196=>659,5197=>659,5198=>659,5199=>659,5200=>657,5201=>657,5202=>657,5204=>657,5205=>657,5206=>657,5207=>829,5208=>800,5209=>829,5210=>800,5211=>829,5212=>800,5213=>835,5214=>810,5215=>835,5216=>810,5217=>853,5218=>810,5219=>853,5220=>810,5221=>853,5222=>391,5223=>790,5224=>790,5225=>779,5226=>801,5227=>565,5228=>565,5229=>565,5230=>565,5231=>565,5232=>565,5233=>565,5234=>565,5235=>565,5236=>773,5237=>693,5238=>733,5239=>734,5240=>733,5241=>734,5242=>773,5243=>693,5244=>773,5245=>693,5246=>733,5247=>734,5248=>733,5249=>734,5250=>733,5251=>366,5252=>366,5253=>675,5254=>697,5255=>675,5256=>697,5257=>565,5258=>565,5259=>565,5260=>565,5261=>565,5262=>565,5263=>565,5264=>565,5265=>565,5266=>773,5267=>693,5268=>733,5269=>734,5270=>733,5271=>734,5272=>773,5273=>693,5274=>773,5275=>693,5276=>733,5277=>734,5278=>733,5279=>734,5280=>733,5281=>391,5282=>391,5283=>549,5284=>501,5285=>501,5286=>501,5287=>549,5288=>549,5289=>549,5290=>501,5291=>501,5292=>674,5293=>691,5294=>671,5295=>687,5296=>671,5297=>687,5298=>674,5299=>691,5300=>674,5301=>691,5302=>671,5303=>687,5304=>671,5305=>687,5306=>671,5307=>347,5308=>457,5309=>347,5312=>766,5313=>766,5314=>766,5315=>766,5316=>766,5317=>766,5318=>766,5319=>766,5320=>766,5321=>962,5322=>931,5323=>953,5324=>766,5325=>953,5326=>766,5327=>766,5328=>540,5329=>407,5330=>540,5331=>766,5332=>766,5333=>766,5334=>766,5335=>766,5336=>766,5337=>766,5338=>766,5339=>766,5340=>962,5341=>931,5342=>953,5343=>927,5344=>953,5345=>927,5346=>962,5347=>931,5348=>962,5349=>931,5350=>975,5351=>927,5352=>975,5353=>927,5354=>540,5356=>656,5357=>542,5358=>542,5359=>542,5360=>542,5361=>542,5362=>542,5363=>542,5364=>542,5365=>542,5366=>751,5367=>678,5368=>712,5369=>694,5370=>712,5371=>694,5372=>751,5373=>678,5374=>751,5375=>678,5376=>712,5377=>694,5378=>712,5379=>694,5380=>712,5381=>376,5382=>378,5383=>376,5392=>641,5393=>641,5394=>641,5395=>802,5396=>802,5397=>802,5398=>802,5399=>818,5400=>785,5401=>818,5402=>785,5403=>818,5404=>785,5405=>1026,5406=>989,5407=>1026,5408=>989,5409=>1026,5410=>989,5411=>1026,5412=>989,5413=>576,5414=>564,5415=>564,5416=>564,5417=>564,5418=>564,5419=>564,5420=>564,5421=>564,5422=>564,5423=>760,5424=>703,5425=>734,5426=>736,5427=>734,5428=>736,5429=>760,5430=>703,5431=>760,5432=>703,5433=>734,5434=>736,5435=>734,5436=>736,5437=>734,5438=>376,5440=>350,5441=>436,5442=>824,5443=>824,5444=>824,5445=>824,5446=>824,5447=>824,5448=>542,5449=>542,5450=>542,5451=>542,5452=>542,5453=>542,5454=>751,5455=>678,5456=>376,5458=>656,5459=>615,5460=>615,5461=>615,5462=>615,5463=>653,5464=>653,5465=>653,5466=>653,5467=>831,5468=>906,5469=>457,5470=>659,5471=>659,5472=>659,5473=>659,5474=>659,5475=>659,5476=>657,5477=>657,5478=>657,5479=>657,5480=>853,5481=>810,5482=>457,5492=>747,5493=>747,5494=>747,5495=>747,5496=>747,5497=>747,5498=>747,5499=>507,5500=>677,5501=>436,5502=>942,5503=>942,5504=>942,5505=>942,5506=>942,5507=>942,5508=>942,5509=>743,5514=>747,5515=>747,5516=>747,5517=>747,5518=>1133,5519=>1133,5520=>1133,5521=>901,5522=>901,5523=>1133,5524=>1133,5525=>629,5526=>965,5536=>766,5537=>766,5538=>766,5539=>766,5540=>766,5541=>766,5542=>540,5543=>579,5544=>579,5545=>579,5546=>579,5547=>579,5548=>579,5549=>579,5550=>376,5551=>565,5598=>693,5601=>690,5702=>421,5703=>421,5742=>399,5743=>942,5744=>1178,5745=>1469,5746=>1469,5747=>1237,5748=>1237,5749=>1469,5750=>1469,5760=>429,5761=>443,5762=>641,5763=>838,5764=>1035,5765=>1232,5766=>443,5767=>641,5768=>838,5769=>1035,5770=>1232,5771=>448,5772=>646,5773=>844,5774=>1042,5775=>1241,5776=>443,5777=>641,5778=>836,5779=>1034,5780=>1232,5781=>448,5782=>677,5783=>709,5784=>1084,5785=>1035,5786=>615,5787=>457,5788=>456,7424=>532,7425=>646,7426=>883,7427=>527,7428=>495,7429=>544,7430=>544,7431=>441,7432=>486,7433=>250,7434=>355,7435=>521,7436=>524,7437=>679,7438=>584,7439=>550,7440=>495,7441=>615,7442=>615,7443=>615,7444=>920,7446=>550,7447=>550,7448=>472,7449=>541,7450=>541,7451=>524,7452=>517,7453=>663,7454=>853,7455=>574,7456=>532,7457=>736,7458=>472,7459=>473,7462=>524,7463=>532,7464=>507,7465=>472,7466=>531,7467=>575,7468=>387,7469=>552,7470=>389,7472=>436,7473=>358,7474=>358,7475=>439,7476=>426,7477=>167,7478=>167,7479=>372,7480=>315,7481=>489,7482=>424,7483=>424,7484=>446,7485=>396,7486=>342,7487=>394,7488=>346,7489=>415,7490=>560,7491=>352,7492=>352,7493=>365,7494=>583,7495=>385,7496=>365,7497=>375,7498=>375,7499=>324,7500=>323,7501=>365,7502=>161,7503=>383,7504=>561,7505=>368,7506=>372,7507=>333,7508=>372,7509=>372,7510=>385,7511=>265,7512=>364,7513=>422,7514=>561,7515=>375,7517=>361,7518=>335,7519=>347,7520=>374,7521=>327,7522=>161,7523=>233,7524=>364,7525=>375,7526=>361,7527=>335,7528=>370,7529=>374,7530=>327,7543=>571,7544=>426,7547=>334,7549=>600,7557=>250,7579=>365,7580=>333,7581=>333,7582=>372,7583=>324,7584=>267,7585=>209,7586=>365,7587=>364,7588=>235,7589=>224,7590=>234,7591=>235,7592=>211,7593=>224,7594=>211,7595=>338,7596=>561,7597=>561,7598=>369,7599=>431,7600=>368,7601=>372,7602=>372,7603=>324,7604=>258,7605=>265,7606=>457,7607=>376,7608=>325,7609=>365,7610=>375,7611=>330,7612=>393,7613=>330,7614=>353,7615=>372,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>615,7681=>551,7682=>617,7683=>571,7684=>617,7685=>571,7686=>617,7687=>571,7688=>628,7689=>495,7690=>693,7691=>571,7692=>693,7693=>571,7694=>693,7695=>571,7696=>693,7697=>571,7698=>693,7699=>571,7700=>568,7701=>554,7702=>568,7703=>554,7704=>568,7705=>554,7706=>568,7707=>554,7708=>568,7709=>554,7710=>518,7711=>316,7712=>697,7713=>571,7714=>677,7715=>570,7716=>677,7717=>570,7718=>677,7719=>570,7720=>677,7721=>570,7722=>677,7723=>570,7724=>265,7725=>250,7726=>265,7727=>250,7728=>590,7729=>521,7730=>590,7731=>521,7732=>590,7733=>521,7734=>501,7735=>259,7736=>501,7737=>259,7738=>501,7739=>250,7740=>501,7741=>250,7742=>776,7743=>876,7744=>776,7745=>876,7746=>776,7747=>876,7748=>673,7749=>570,7750=>673,7751=>570,7752=>673,7753=>570,7754=>673,7755=>570,7756=>708,7757=>550,7758=>708,7759=>550,7760=>708,7761=>550,7762=>708,7763=>550,7764=>542,7765=>571,7766=>542,7767=>571,7768=>625,7769=>370,7770=>625,7771=>370,7772=>625,7773=>370,7774=>625,7775=>370,7776=>571,7777=>469,7778=>571,7779=>469,7780=>571,7781=>469,7782=>571,7783=>469,7784=>571,7785=>469,7786=>549,7787=>353,7788=>549,7789=>353,7790=>549,7791=>353,7792=>549,7793=>353,7794=>659,7795=>570,7796=>659,7797=>570,7798=>659,7799=>570,7800=>659,7801=>570,7802=>659,7803=>570,7804=>615,7805=>532,7806=>615,7807=>532,7808=>890,7809=>736,7810=>890,7811=>736,7812=>890,7813=>736,7814=>890,7815=>736,7816=>890,7817=>736,7818=>616,7819=>532,7820=>616,7821=>532,7822=>549,7823=>532,7824=>616,7825=>472,7826=>616,7827=>472,7828=>616,7829=>472,7830=>570,7831=>353,7832=>736,7833=>532,7834=>551,7835=>316,7836=>316,7837=>316,7838=>691,7839=>550,7840=>615,7841=>551,7842=>615,7843=>551,7844=>615,7845=>551,7846=>615,7847=>551,7848=>615,7849=>551,7850=>615,7851=>551,7852=>615,7853=>551,7854=>615,7855=>551,7856=>615,7857=>551,7858=>615,7859=>551,7860=>615,7861=>551,7862=>615,7863=>551,7864=>568,7865=>554,7866=>568,7867=>554,7868=>568,7869=>554,7870=>568,7871=>554,7872=>568,7873=>554,7874=>568,7875=>554,7876=>568,7877=>554,7878=>568,7879=>554,7880=>265,7881=>250,7882=>265,7883=>250,7884=>708,7885=>550,7886=>708,7887=>550,7888=>708,7889=>550,7890=>708,7891=>550,7892=>708,7893=>550,7894=>708,7895=>550,7896=>708,7897=>550,7898=>822,7899=>550,7900=>822,7901=>550,7902=>822,7903=>550,7904=>822,7905=>550,7906=>822,7907=>550,7908=>659,7909=>570,7910=>659,7911=>570,7912=>772,7913=>570,7914=>772,7915=>570,7916=>772,7917=>570,7918=>772,7919=>570,7920=>772,7921=>570,7922=>549,7923=>532,7924=>549,7925=>532,7926=>549,7927=>532,7928=>549,7929=>532,7930=>692,7931=>429,7936=>593,7937=>593,7938=>593,7939=>593,7940=>593,7941=>593,7942=>593,7943=>593,7944=>615,7945=>615,7946=>790,7947=>790,7948=>692,7949=>721,7950=>637,7951=>668,7952=>486,7953=>486,7954=>486,7955=>486,7956=>486,7957=>486,7960=>640,7961=>640,7962=>869,7963=>877,7964=>809,7965=>835,7968=>570,7969=>570,7970=>570,7971=>570,7972=>570,7973=>570,7974=>570,7975=>570,7976=>753,7977=>751,7978=>977,7979=>980,7980=>924,7981=>945,7982=>840,7983=>852,7984=>304,7985=>304,7986=>304,7987=>304,7988=>304,7989=>304,7990=>304,7991=>304,7992=>342,7993=>336,7994=>571,7995=>571,7996=>513,7997=>540,7998=>440,7999=>443,8000=>550,8001=>550,8002=>550,8003=>550,8004=>550,8005=>550,8008=>724,8009=>763,8010=>985,8011=>989,8012=>844,8013=>873,8016=>521,8017=>521,8018=>521,8019=>521,8020=>521,8021=>521,8022=>521,8023=>521,8025=>705,8027=>897,8029=>911,8031=>808,8032=>753,8033=>753,8034=>753,8035=>753,8036=>753,8037=>753,8038=>753,8039=>753,8040=>722,8041=>759,8042=>980,8043=>985,8044=>851,8045=>875,8046=>829,8047=>857,8048=>593,8049=>593,8050=>486,8051=>493,8052=>570,8053=>589,8054=>304,8055=>304,8056=>550,8057=>550,8058=>521,8059=>521,8060=>753,8061=>753,8064=>593,8065=>593,8066=>593,8067=>593,8068=>593,8069=>593,8070=>593,8071=>593,8072=>615,8073=>615,8074=>790,8075=>790,8076=>692,8077=>721,8078=>637,8079=>668,8080=>570,8081=>570,8082=>570,8083=>570,8084=>570,8085=>570,8086=>570,8087=>570,8088=>753,8089=>751,8090=>977,8091=>980,8092=>924,8093=>945,8094=>840,8095=>852,8096=>753,8097=>753,8098=>753,8099=>753,8100=>753,8101=>753,8102=>753,8103=>753,8104=>722,8105=>759,8106=>980,8107=>985,8108=>851,8109=>875,8110=>829,8111=>857,8112=>593,8113=>593,8114=>593,8115=>593,8116=>593,8118=>593,8119=>593,8120=>615,8121=>615,8122=>645,8123=>623,8124=>615,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>570,8131=>570,8132=>589,8134=>570,8135=>570,8136=>724,8137=>671,8138=>837,8139=>784,8140=>677,8141=>450,8142=>450,8143=>450,8144=>304,8145=>304,8146=>304,8147=>304,8150=>304,8151=>304,8152=>265,8153=>265,8154=>427,8155=>367,8157=>450,8158=>450,8159=>450,8160=>521,8161=>521,8162=>521,8163=>521,8164=>571,8165=>571,8166=>521,8167=>521,8168=>549,8169=>549,8170=>760,8171=>742,8172=>616,8173=>450,8174=>450,8175=>450,8178=>753,8179=>753,8180=>753,8182=>753,8183=>753,8184=>847,8185=>731,8186=>830,8187=>743,8188=>688,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>572,8200=>286,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>325,8209=>325,8210=>572,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>286,8217=>286,8218=>286,8219=>286,8220=>466,8221=>466,8222=>466,8223=>466,8224=>450,8225=>450,8226=>531,8227=>531,8228=>301,8229=>601,8230=>900,8231=>286,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1208,8241=>1562,8242=>204,8243=>336,8244=>468,8245=>204,8246=>336,8247=>468,8248=>305,8249=>360,8250=>360,8251=>754,8252=>437,8253=>478,8254=>450,8255=>723,8256=>723,8257=>225,8258=>900,8259=>450,8260=>150,8261=>351,8262=>351,8263=>830,8264=>659,8265=>659,8266=>447,8267=>572,8268=>450,8269=>450,8270=>450,8271=>303,8272=>723,8273=>450,8274=>404,8275=>900,8276=>723,8277=>754,8278=>527,8279=>597,8280=>754,8281=>754,8282=>286,8283=>717,8284=>754,8285=>286,8286=>286,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>360,8305=>161,8308=>360,8309=>360,8310=>360,8311=>360,8312=>360,8313=>360,8314=>475,8315=>475,8316=>475,8317=>221,8318=>221,8319=>358,8320=>360,8321=>360,8322=>360,8323=>360,8324=>360,8325=>360,8326=>360,8327=>360,8328=>360,8329=>360,8330=>475,8331=>475,8332=>475,8333=>221,8334=>221,8336=>352,8337=>375,8338=>372,8339=>399,8340=>375,8341=>364,8342=>383,8343=>149,8344=>561,8345=>358,8346=>385,8347=>335,8348=>265,8352=>789,8353=>572,8354=>572,8355=>572,8356=>572,8357=>876,8358=>673,8359=>1145,8360=>966,8361=>890,8362=>706,8363=>572,8364=>572,8365=>572,8366=>572,8367=>1145,8368=>572,8369=>572,8370=>572,8371=>572,8372=>696,8373=>572,8376=>572,8377=>572,8378=>611,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>917,8449=>917,8450=>628,8451=>1011,8452=>578,8453=>917,8454=>960,8455=>553,8456=>628,8457=>856,8459=>889,8460=>679,8461=>765,8462=>570,8463=>570,8464=>422,8465=>627,8466=>648,8467=>372,8468=>736,8469=>721,8470=>936,8471=>900,8472=>627,8473=>631,8474=>708,8475=>718,8476=>732,8477=>712,8478=>807,8479=>615,8480=>917,8481=>967,8482=>900,8483=>615,8484=>670,8485=>520,8486=>688,8487=>688,8488=>554,8489=>304,8490=>590,8491=>615,8492=>708,8493=>633,8494=>769,8495=>532,8496=>545,8497=>708,8498=>518,8499=>962,8500=>416,8501=>670,8502=>606,8503=>419,8504=>580,8505=>342,8506=>833,8507=>1074,8508=>632,8509=>655,8510=>589,8511=>764,8512=>729,8513=>697,8514=>501,8515=>501,8516=>549,8517=>737,8518=>637,8519=>554,8520=>316,8521=>316,8523=>702,8526=>474,8528=>872,8529=>872,8530=>1233,8531=>872,8532=>872,8533=>872,8534=>872,8535=>872,8536=>872,8537=>872,8538=>872,8539=>872,8540=>872,8541=>872,8542=>872,8543=>511,8544=>265,8545=>443,8546=>620,8547=>831,8548=>615,8549=>830,8550=>1007,8551=>1185,8552=>826,8553=>616,8554=>839,8555=>1018,8556=>501,8557=>628,8558=>693,8559=>776,8560=>250,8561=>412,8562=>573,8563=>730,8564=>532,8565=>729,8566=>892,8567=>1053,8568=>737,8569=>532,8570=>740,8571=>901,8572=>250,8573=>495,8574=>571,8575=>876,8576=>1121,8577=>693,8578=>1121,8579=>633,8580=>494,8581=>628,8585=>872,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>754,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>615,8705=>572,8706=>465,8707=>568,8708=>568,8709=>784,8710=>602,8711=>602,8712=>784,8713=>784,8714=>646,8715=>784,8716=>784,8717=>646,8718=>572,8719=>681,8720=>681,8721=>606,8722=>754,8723=>754,8724=>754,8725=>303,8726=>573,8727=>754,8728=>563,8729=>563,8730=>573,8731=>573,8732=>573,8733=>643,8734=>750,8735=>754,8736=>807,8737=>807,8738=>754,8739=>450,8740=>450,8741=>450,8742=>450,8743=>659,8744=>659,8745=>659,8746=>659,8747=>469,8748=>710,8749=>951,8750=>469,8751=>710,8752=>951,8753=>469,8754=>469,8755=>469,8756=>572,8757=>572,8758=>234,8759=>572,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8766=>754,8767=>754,8768=>337,8769=>754,8770=>754,8771=>754,8772=>754,8773=>754,8774=>754,8775=>754,8776=>754,8777=>754,8778=>754,8779=>754,8780=>754,8781=>754,8782=>754,8783=>754,8784=>754,8785=>754,8786=>755,8787=>755,8788=>900,8789=>900,8790=>754,8791=>754,8792=>754,8793=>754,8794=>754,8795=>754,8796=>754,8797=>754,8798=>754,8799=>754,8800=>754,8801=>754,8802=>754,8803=>754,8804=>754,8805=>754,8806=>754,8807=>754,8808=>754,8809=>754,8810=>942,8811=>942,8812=>417,8813=>754,8814=>754,8815=>754,8816=>754,8817=>754,8818=>754,8819=>754,8820=>754,8821=>754,8822=>754,8823=>754,8824=>754,8825=>754,8826=>754,8827=>754,8828=>754,8829=>754,8830=>754,8831=>754,8832=>754,8833=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8840=>754,8841=>754,8842=>754,8843=>754,8844=>659,8845=>659,8846=>659,8847=>754,8848=>754,8849=>754,8850=>754,8851=>702,8852=>702,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>784,8867=>784,8868=>784,8869=>784,8870=>468,8871=>468,8872=>784,8873=>784,8874=>784,8875=>784,8876=>784,8877=>784,8878=>784,8879=>784,8880=>754,8881=>754,8882=>754,8883=>754,8884=>754,8885=>754,8886=>900,8887=>900,8888=>754,8889=>754,8890=>468,8891=>659,8892=>659,8893=>659,8894=>754,8895=>754,8896=>738,8897=>738,8898=>738,8899=>738,8900=>444,8901=>286,8902=>563,8903=>754,8904=>900,8905=>900,8906=>900,8907=>900,8908=>900,8909=>754,8910=>659,8911=>659,8912=>754,8913=>754,8914=>754,8915=>754,8916=>754,8917=>754,8918=>754,8919=>754,8920=>1280,8921=>1280,8922=>754,8923=>754,8924=>754,8925=>754,8926=>754,8927=>754,8928=>754,8929=>754,8930=>754,8931=>754,8932=>754,8933=>754,8934=>754,8935=>754,8936=>754,8937=>754,8938=>754,8939=>754,8940=>754,8941=>754,8942=>900,8943=>900,8944=>900,8945=>900,8946=>900,8947=>784,8948=>646,8949=>784,8950=>784,8951=>646,8952=>784,8953=>784,8954=>900,8955=>784,8956=>646,8957=>784,8958=>646,8959=>784,8960=>542,8961=>542,8962=>571,8963=>754,8964=>754,8965=>754,8966=>754,8967=>439,8968=>351,8969=>351,8970=>351,8971=>351,8972=>728,8973=>728,8974=>728,8975=>728,8976=>754,8977=>461,8984=>900,8985=>754,8988=>422,8989=>422,8990=>422,8991=>422,8992=>469,8993=>469,8996=>1037,8997=>1037,8998=>1272,8999=>1037,9000=>1299,9003=>1272,9004=>786,9075=>304,9076=>571,9077=>753,9082=>593,9085=>681,9095=>1037,9108=>786,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>469,9166=>754,9167=>850,9187=>786,9189=>692,9192=>572,9250=>571,9251=>571,9312=>807,9313=>807,9314=>807,9315=>807,9316=>807,9317=>807,9318=>807,9319=>807,9320=>807,9321=>807,9472=>542,9473=>542,9474=>542,9475=>542,9476=>542,9477=>542,9478=>542,9479=>542,9480=>542,9481=>542,9482=>542,9483=>542,9484=>542,9485=>542,9486=>542,9487=>542,9488=>542,9489=>542,9490=>542,9491=>542,9492=>542,9493=>542,9494=>542,9495=>542,9496=>542,9497=>542,9498=>542,9499=>542,9500=>542,9501=>542,9502=>542,9503=>542,9504=>542,9505=>542,9506=>542,9507=>542,9508=>542,9509=>542,9510=>542,9511=>542,9512=>542,9513=>542,9514=>542,9515=>542,9516=>542,9517=>542,9518=>542,9519=>542,9520=>542,9521=>542,9522=>542,9523=>542,9524=>542,9525=>542,9526=>542,9527=>542,9528=>542,9529=>542,9530=>542,9531=>542,9532=>542,9533=>542,9534=>542,9535=>542,9536=>542,9537=>542,9538=>542,9539=>542,9540=>542,9541=>542,9542=>542,9543=>542,9544=>542,9545=>542,9546=>542,9547=>542,9548=>542,9549=>542,9550=>542,9551=>542,9552=>542,9553=>542,9554=>542,9555=>542,9556=>542,9557=>542,9558=>542,9559=>542,9560=>542,9561=>542,9562=>542,9563=>542,9564=>542,9565=>542,9566=>542,9567=>542,9568=>542,9569=>542,9570=>542,9571=>542,9572=>542,9573=>542,9574=>542,9575=>542,9576=>542,9577=>542,9578=>542,9579=>542,9580=>542,9581=>542,9582=>542,9583=>542,9584=>542,9585=>542,9586=>542,9587=>542,9588=>542,9589=>542,9590=>542,9591=>542,9592=>542,9593=>542,9594=>542,9595=>542,9596=>542,9597=>542,9598=>542,9599=>542,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>712,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>785,9697=>785,9698=>692,9699=>692,9700=>692,9701=>692,9702=>531,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9729=>900,9730=>807,9731=>807,9732=>807,9733=>807,9734=>807,9735=>515,9736=>806,9737=>807,9738=>799,9739=>799,9740=>604,9741=>911,9742=>1121,9743=>1125,9744=>807,9745=>807,9746=>807,9747=>479,9748=>807,9749=>807,9750=>807,9751=>807,9752=>807,9753=>807,9754=>807,9755=>807,9756=>807,9757=>548,9758=>807,9759=>548,9760=>807,9761=>807,9762=>807,9763=>807,9764=>602,9765=>671,9766=>584,9767=>705,9768=>490,9769=>807,9770=>807,9771=>807,9772=>639,9773=>807,9774=>807,9775=>807,9776=>807,9777=>807,9778=>807,9779=>807,9780=>807,9781=>807,9782=>807,9783=>807,9784=>807,9785=>938,9786=>938,9787=>938,9788=>807,9789=>807,9790=>807,9791=>552,9792=>659,9793=>659,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9800=>807,9801=>807,9802=>807,9803=>807,9804=>807,9805=>807,9806=>807,9807=>807,9808=>807,9809=>807,9810=>807,9811=>807,9812=>807,9813=>807,9814=>807,9815=>807,9816=>807,9817=>807,9818=>807,9819=>807,9820=>807,9821=>807,9822=>807,9823=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9832=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,9840=>673,9841=>689,9842=>807,9843=>807,9844=>807,9845=>807,9846=>807,9847=>807,9848=>807,9849=>807,9850=>807,9851=>807,9852=>807,9853=>807,9854=>807,9855=>807,9856=>782,9857=>782,9858=>782,9859=>782,9860=>782,9861=>782,9862=>807,9863=>807,9864=>807,9865=>807,9866=>807,9867=>807,9868=>807,9869=>807,9870=>807,9871=>807,9872=>807,9873=>807,9874=>807,9875=>807,9876=>807,9877=>487,9878=>807,9879=>807,9880=>807,9881=>807,9882=>807,9883=>807,9884=>807,9888=>807,9889=>632,9890=>904,9891=>980,9892=>1057,9893=>813,9894=>754,9895=>754,9896=>754,9897=>754,9898=>754,9899=>754,9900=>754,9901=>754,9902=>754,9903=>754,9904=>759,9905=>754,9906=>659,9907=>659,9908=>659,9909=>659,9910=>765,9911=>659,9912=>659,9920=>754,9921=>754,9922=>754,9923=>754,9954=>659,9985=>754,9986=>754,9987=>754,9988=>754,9990=>754,9991=>754,9992=>754,9993=>754,9996=>754,9997=>754,9998=>754,9999=>754,10000=>754,10001=>754,10002=>754,10003=>754,10004=>754,10005=>754,10006=>754,10007=>754,10008=>754,10009=>754,10010=>754,10011=>754,10012=>754,10013=>754,10014=>754,10015=>754,10016=>754,10017=>754,10018=>754,10019=>754,10020=>754,10021=>754,10022=>754,10023=>754,10025=>754,10026=>754,10027=>754,10028=>754,10029=>754,10030=>754,10031=>754,10032=>754,10033=>754,10034=>754,10035=>754,10036=>754,10037=>754,10038=>754,10039=>754,10040=>754,10041=>754,10042=>754,10043=>754,10044=>754,10045=>754,10046=>754,10047=>754,10048=>754,10049=>754,10050=>754,10051=>754,10052=>754,10053=>754,10054=>754,10055=>754,10056=>754,10057=>754,10058=>754,10059=>754,10061=>807,10063=>807,10064=>807,10065=>807,10066=>807,10070=>807,10072=>754,10073=>754,10074=>754,10075=>290,10076=>290,10077=>484,10078=>484,10081=>754,10082=>754,10083=>754,10084=>754,10085=>754,10086=>754,10087=>754,10088=>754,10089=>754,10090=>754,10091=>754,10092=>754,10093=>754,10094=>754,10095=>754,10096=>754,10097=>754,10098=>754,10099=>754,10100=>754,10101=>754,10102=>807,10103=>807,10104=>807,10105=>807,10106=>807,10107=>807,10108=>807,10109=>807,10110=>807,10111=>807,10112=>754,10113=>754,10114=>754,10115=>754,10116=>754,10117=>754,10118=>754,10119=>754,10120=>754,10121=>754,10122=>754,10123=>754,10124=>754,10125=>754,10126=>754,10127=>754,10128=>754,10129=>754,10130=>754,10131=>754,10132=>754,10136=>754,10137=>754,10138=>754,10139=>754,10140=>754,10141=>754,10142=>754,10143=>754,10144=>754,10145=>754,10146=>754,10147=>754,10148=>754,10149=>754,10150=>754,10151=>754,10152=>754,10153=>754,10154=>754,10155=>754,10156=>754,10157=>754,10158=>754,10159=>754,10161=>754,10162=>754,10163=>754,10164=>754,10165=>754,10166=>754,10167=>754,10168=>754,10169=>754,10170=>754,10171=>754,10172=>754,10173=>754,10174=>754,10181=>351,10182=>351,10208=>444,10214=>445,10215=>445,10216=>351,10217=>351,10218=>500,10219=>500,10224=>754,10225=>754,10226=>754,10227=>754,10228=>1042,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>659,10241=>659,10242=>659,10243=>659,10244=>659,10245=>659,10246=>659,10247=>659,10248=>659,10249=>659,10250=>659,10251=>659,10252=>659,10253=>659,10254=>659,10255=>659,10256=>659,10257=>659,10258=>659,10259=>659,10260=>659,10261=>659,10262=>659,10263=>659,10264=>659,10265=>659,10266=>659,10267=>659,10268=>659,10269=>659,10270=>659,10271=>659,10272=>659,10273=>659,10274=>659,10275=>659,10276=>659,10277=>659,10278=>659,10279=>659,10280=>659,10281=>659,10282=>659,10283=>659,10284=>659,10285=>659,10286=>659,10287=>659,10288=>659,10289=>659,10290=>659,10291=>659,10292=>659,10293=>659,10294=>659,10295=>659,10296=>659,10297=>659,10298=>659,10299=>659,10300=>659,10301=>659,10302=>659,10303=>659,10304=>659,10305=>659,10306=>659,10307=>659,10308=>659,10309=>659,10310=>659,10311=>659,10312=>659,10313=>659,10314=>659,10315=>659,10316=>659,10317=>659,10318=>659,10319=>659,10320=>659,10321=>659,10322=>659,10323=>659,10324=>659,10325=>659,10326=>659,10327=>659,10328=>659,10329=>659,10330=>659,10331=>659,10332=>659,10333=>659,10334=>659,10335=>659,10336=>659,10337=>659,10338=>659,10339=>659,10340=>659,10341=>659,10342=>659,10343=>659,10344=>659,10345=>659,10346=>659,10347=>659,10348=>659,10349=>659,10350=>659,10351=>659,10352=>659,10353=>659,10354=>659,10355=>659,10356=>659,10357=>659,10358=>659,10359=>659,10360=>659,10361=>659,10362=>659,10363=>659,10364=>659,10365=>659,10366=>659,10367=>659,10368=>659,10369=>659,10370=>659,10371=>659,10372=>659,10373=>659,10374=>659,10375=>659,10376=>659,10377=>659,10378=>659,10379=>659,10380=>659,10381=>659,10382=>659,10383=>659,10384=>659,10385=>659,10386=>659,10387=>659,10388=>659,10389=>659,10390=>659,10391=>659,10392=>659,10393=>659,10394=>659,10395=>659,10396=>659,10397=>659,10398=>659,10399=>659,10400=>659,10401=>659,10402=>659,10403=>659,10404=>659,10405=>659,10406=>659,10407=>659,10408=>659,10409=>659,10410=>659,10411=>659,10412=>659,10413=>659,10414=>659,10415=>659,10416=>659,10417=>659,10418=>659,10419=>659,10420=>659,10421=>659,10422=>659,10423=>659,10424=>659,10425=>659,10426=>659,10427=>659,10428=>659,10429=>659,10430=>659,10431=>659,10432=>659,10433=>659,10434=>659,10435=>659,10436=>659,10437=>659,10438=>659,10439=>659,10440=>659,10441=>659,10442=>659,10443=>659,10444=>659,10445=>659,10446=>659,10447=>659,10448=>659,10449=>659,10450=>659,10451=>659,10452=>659,10453=>659,10454=>659,10455=>659,10456=>659,10457=>659,10458=>659,10459=>659,10460=>659,10461=>659,10462=>659,10463=>659,10464=>659,10465=>659,10466=>659,10467=>659,10468=>659,10469=>659,10470=>659,10471=>659,10472=>659,10473=>659,10474=>659,10475=>659,10476=>659,10477=>659,10478=>659,10479=>659,10480=>659,10481=>659,10482=>659,10483=>659,10484=>659,10485=>659,10486=>659,10487=>659,10488=>659,10489=>659,10490=>659,10491=>659,10492=>659,10493=>659,10494=>659,10495=>659,10502=>754,10503=>754,10506=>754,10507=>754,10560=>615,10561=>615,10627=>660,10628=>660,10702=>754,10703=>900,10704=>900,10705=>900,10706=>900,10707=>900,10708=>900,10709=>900,10731=>444,10746=>754,10747=>754,10752=>900,10753=>900,10754=>900,10764=>1192,10765=>469,10766=>469,10767=>469,10768=>469,10769=>469,10770=>469,10771=>469,10772=>469,10773=>469,10774=>469,10775=>469,10776=>469,10777=>469,10778=>469,10779=>469,10780=>469,10799=>754,10858=>754,10859=>754,10877=>754,10878=>754,10879=>754,10880=>754,10881=>754,10882=>754,10883=>754,10884=>754,10885=>754,10886=>754,10887=>754,10888=>754,10889=>754,10890=>754,10891=>754,10892=>754,10893=>754,10894=>754,10895=>754,10896=>754,10897=>754,10898=>754,10899=>754,10900=>754,10901=>754,10902=>754,10903=>754,10904=>754,10905=>754,10906=>754,10907=>754,10908=>754,10909=>754,10910=>754,10911=>754,10912=>754,10926=>754,10927=>754,10928=>754,10929=>754,10930=>754,10931=>754,10932=>754,10933=>754,10934=>754,10935=>754,10936=>754,10937=>754,10938=>754,11001=>754,11002=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>752,11023=>752,11024=>752,11025=>752,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11039=>782,11040=>782,11041=>786,11042=>786,11043=>786,11044=>1007,11091=>782,11092=>782,11360=>501,11361=>250,11362=>501,11363=>542,11364=>625,11365=>551,11366=>353,11367=>677,11368=>570,11369=>590,11370=>521,11371=>616,11372=>472,11373=>703,11374=>776,11375=>615,11376=>703,11377=>661,11378=>1015,11379=>865,11380=>532,11381=>589,11382=>511,11383=>593,11385=>373,11386=>550,11387=>441,11388=>157,11389=>387,11390=>571,11391=>616,11520=>532,11521=>535,11522=>508,11523=>541,11524=>528,11525=>819,11526=>563,11527=>856,11528=>536,11529=>546,11530=>858,11531=>558,11532=>536,11533=>833,11534=>535,11535=>725,11536=>838,11537=>526,11538=>533,11539=>831,11540=>857,11541=>745,11542=>536,11543=>535,11544=>531,11545=>532,11546=>532,11547=>558,11548=>828,11549=>530,11550=>527,11551=>523,11552=>822,11553=>536,11554=>535,11555=>533,11556=>577,11557=>811,11568=>582,11569=>799,11570=>799,11571=>614,11572=>615,11573=>571,11574=>505,11575=>615,11576=>615,11577=>568,11578=>568,11579=>614,11580=>787,11581=>616,11582=>441,11583=>616,11584=>799,11585=>799,11586=>270,11587=>564,11588=>677,11589=>590,11590=>475,11591=>616,11592=>580,11593=>568,11594=>452,11595=>857,11596=>700,11597=>673,11598=>558,11599=>265,11600=>700,11601=>265,11602=>677,11603=>569,11604=>799,11605=>799,11606=>677,11607=>288,11608=>674,11609=>799,11610=>799,11611=>628,11612=>690,11613=>616,11614=>628,11615=>560,11616=>615,11617=>677,11618=>568,11619=>709,11620=>510,11621=>709,11631=>463,11800=>478,11806=>754,11810=>351,11811=>351,11812=>351,11813=>351,11822=>478,19904=>807,19905=>807,19906=>807,19907=>807,19908=>807,19909=>807,19910=>807,19911=>807,19912=>807,19913=>807,19914=>807,19915=>807,19916=>807,19917=>807,19918=>807,19919=>807,19920=>807,19921=>807,19922=>807,19923=>807,19924=>807,19925=>807,19926=>807,19927=>807,19928=>807,19929=>807,19930=>807,19931=>807,19932=>807,19933=>807,19934=>807,19935=>807,19936=>807,19937=>807,19938=>807,19939=>807,19940=>807,19941=>807,19942=>807,19943=>807,19944=>807,19945=>807,19946=>807,19947=>807,19948=>807,19949=>807,19950=>807,19951=>807,19952=>807,19953=>807,19954=>807,19955=>807,19956=>807,19957=>807,19958=>807,19959=>807,19960=>807,19961=>807,19962=>807,19963=>807,19964=>807,19965=>807,19966=>807,19967=>807,42192=>617,42193=>542,42194=>542,42195=>693,42196=>549,42197=>549,42198=>697,42199=>590,42200=>590,42201=>460,42202=>628,42203=>633,42204=>616,42205=>518,42206=>518,42207=>776,42208=>673,42209=>501,42210=>571,42211=>625,42212=>625,42213=>615,42214=>615,42215=>677,42216=>697,42217=>460,42218=>890,42219=>616,42220=>549,42221=>617,42222=>615,42223=>615,42224=>568,42225=>568,42226=>265,42227=>708,42228=>659,42229=>659,42230=>501,42231=>690,42232=>270,42233=>270,42234=>536,42235=>536,42236=>270,42237=>270,42238=>529,42239=>529,42564=>571,42565=>469,42566=>318,42567=>304,42572=>1062,42573=>925,42576=>926,42577=>815,42580=>971,42581=>757,42582=>879,42583=>758,42594=>956,42595=>820,42596=>959,42597=>811,42598=>1060,42599=>907,42600=>708,42601=>550,42602=>770,42603=>641,42604=>1222,42605=>917,42606=>791,42634=>704,42635=>616,42636=>549,42637=>524,42644=>617,42645=>570,42760=>444,42761=>444,42762=>444,42763=>444,42764=>444,42765=>444,42766=>444,42767=>444,42768=>444,42769=>444,42770=>444,42771=>444,42772=>444,42773=>444,42774=>444,42779=>332,42780=>332,42781=>227,42782=>227,42783=>227,42786=>347,42787=>320,42788=>424,42789=>424,42790=>677,42791=>570,42792=>790,42793=>638,42794=>553,42795=>486,42800=>441,42801=>469,42802=>1125,42803=>886,42804=>1083,42805=>891,42806=>1028,42807=>883,42808=>874,42809=>736,42810=>874,42811=>736,42812=>863,42813=>736,42814=>633,42815=>494,42816=>590,42817=>524,42822=>612,42823=>353,42824=>523,42825=>384,42826=>726,42827=>633,42830=>1222,42831=>917,42832=>542,42833=>571,42834=>660,42835=>697,42838=>708,42839=>571,42852=>544,42853=>571,42854=>544,42855=>571,42880=>501,42881=>250,42882=>662,42883=>570,42889=>303,42890=>338,42891=>360,42892=>247,42893=>617,42894=>438,42896=>695,42897=>600,42912=>697,42913=>571,42914=>590,42915=>521,42916=>673,42917=>570,42918=>625,42919=>370,42920=>571,42921=>469,42922=>721,43002=>823,43003=>518,43004=>542,43005=>776,43006=>265,43007=>1079,61184=>192,61185=>214,61186=>231,61187=>237,61188=>240,61189=>214,61190=>192,61191=>214,61192=>231,61193=>237,61194=>231,61195=>214,61196=>192,61197=>214,61198=>231,61199=>237,61200=>231,61201=>214,61202=>192,61203=>214,61204=>240,61205=>237,61206=>231,61207=>214,61208=>192,61209=>247,61440=>879,61441=>879,61442=>879,61443=>879,62464=>522,62465=>522,62466=>561,62467=>800,62468=>526,62469=>522,62470=>587,62471=>793,62472=>500,62473=>522,62474=>1051,62475=>530,62476=>531,62477=>782,62478=>522,62479=>530,62480=>822,62481=>531,62482=>658,62483=>524,62484=>785,62485=>530,62486=>805,62487=>530,62488=>530,62489=>531,62490=>584,62491=>530,62492=>530,62493=>539,62494=>531,62495=>464,62496=>521,62497=>525,62498=>522,62499=>522,62500=>522,62501=>574,62502=>859,62504=>838,62505=>727,62506=>457,62507=>457,62508=>457,62509=>457,62510=>457,62511=>457,62512=>457,62513=>457,62514=>457,62515=>457,62516=>466,62517=>466,62518=>466,62519=>708,62520=>708,62521=>708,62522=>708,62523=>708,62524=>492,62525=>492,62526=>492,62527=>492,62528=>492,62529=>492,63173=>550,64256=>620,64257=>567,64258=>567,64259=>870,64260=>870,64261=>617,64262=>774,64275=>1081,64276=>1081,64277=>1076,64278=>1067,64279=>1376,64285=>201,64286=>0,64287=>297,64288=>572,64289=>770,64290=>696,64291=>815,64292=>694,64293=>759,64294=>769,64295=>726,64296=>788,64297=>754,64298=>637,64299=>637,64300=>637,64301=>637,64302=>602,64303=>602,64304=>602,64305=>520,64306=>371,64307=>491,64308=>588,64309=>320,64310=>365,64312=>583,64313=>297,64314=>483,64315=>476,64316=>511,64318=>611,64320=>359,64321=>584,64323=>576,64324=>562,64326=>534,64327=>638,64328=>508,64329=>637,64330=>591,64331=>245,64332=>520,64333=>476,64334=>562,64335=>566,64338=>847,64339=>883,64340=>250,64341=>271,64342=>847,64343=>883,64344=>250,64345=>271,64346=>847,64347=>883,64348=>250,64349=>271,64350=>847,64351=>883,64352=>250,64353=>271,64354=>847,64355=>883,64356=>250,64357=>271,64358=>847,64359=>883,64360=>250,64361=>271,64362=>933,64363=>932,64364=>430,64365=>455,64366=>933,64367=>932,64368=>430,64369=>455,64370=>581,64371=>581,64372=>556,64373=>581,64374=>581,64375=>581,64376=>556,64377=>581,64378=>581,64379=>581,64380=>556,64381=>581,64382=>581,64383=>581,64384=>556,64385=>581,64386=>400,64387=>472,64388=>400,64389=>472,64390=>400,64391=>472,64392=>400,64393=>472,64394=>435,64395=>497,64396=>435,64397=>497,64398=>805,64399=>805,64400=>428,64401=>497,64402=>805,64403=>805,64404=>428,64405=>497,64406=>805,64407=>805,64408=>428,64409=>497,64410=>805,64411=>805,64412=>428,64413=>497,64414=>661,64415=>685,64416=>661,64417=>685,64418=>250,64419=>271,64426=>628,64427=>568,64428=>475,64429=>415,64467=>742,64468=>758,64469=>428,64470=>497,64473=>435,64474=>465,64488=>250,64489=>271,64508=>704,64509=>750,64510=>250,64511=>271,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65136=>264,65137=>264,65138=>264,65139=>235,65140=>264,65142=>264,65143=>264,65144=>264,65145=>264,65146=>264,65147=>264,65148=>264,65149=>264,65150=>264,65151=>264,65152=>423,65153=>250,65154=>274,65155=>250,65156=>274,65157=>435,65158=>465,65159=>250,65160=>274,65161=>704,65162=>750,65163=>250,65164=>271,65165=>250,65166=>274,65167=>847,65168=>883,65169=>250,65170=>271,65171=>471,65172=>482,65173=>847,65174=>883,65175=>250,65176=>271,65177=>847,65178=>883,65179=>250,65180=>271,65181=>581,65182=>581,65183=>556,65184=>581,65185=>581,65186=>581,65187=>556,65188=>581,65189=>581,65190=>581,65191=>556,65192=>581,65193=>400,65194=>472,65195=>400,65196=>472,65197=>435,65198=>497,65199=>435,65200=>497,65201=>1099,65202=>1147,65203=>754,65204=>803,65205=>1099,65206=>1147,65207=>754,65208=>803,65209=>1088,65210=>1103,65211=>764,65212=>780,65213=>1088,65214=>1103,65215=>764,65216=>780,65217=>832,65218=>854,65219=>716,65220=>738,65221=>832,65222=>854,65223=>716,65224=>738,65225=>537,65226=>479,65227=>537,65228=>434,65229=>537,65230=>479,65231=>470,65232=>434,65233=>933,65234=>932,65235=>430,65236=>455,65237=>698,65238=>750,65239=>430,65240=>455,65241=>742,65242=>758,65243=>428,65244=>497,65245=>654,65246=>681,65247=>274,65248=>298,65249=>557,65250=>599,65251=>482,65252=>520,65253=>661,65254=>685,65255=>250,65256=>271,65257=>471,65258=>482,65259=>475,65260=>415,65261=>435,65262=>465,65263=>704,65264=>750,65265=>704,65266=>750,65267=>250,65268=>271,65269=>513,65270=>537,65271=>513,65272=>537,65273=>513,65274=>537,65275=>513,65276=>537,65279=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>923,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.z new file mode 100644 index 0000000..2053dd1 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensed.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.ctg.z new file mode 100644 index 0000000..71cef63 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.php b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.php new file mode 100644 index 0000000..372bbdf --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-962 -415 1778 1174]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>60,'StemH'=>26,'AvgWidth'=>515,'MaxWidth'=>1814,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(126,0,285,729),34=>array(85,458,383,729),35=>array(61,0,693,718),36=>array(70,-147,565,760),37=>array(29,-14,874,742),38=>array(54,-14,747,742),39=>array(85,458,190,729),40=>array(77,-132,339,759),41=>array(72,-132,334,759),42=>array(18,278,453,742),43=>array(95,0,659,627),44=>array(48,-142,250,189),45=>array(48,217,325,359),46=>array(92,0,250,189),47=>array(0,-93,329,729),48=>array(43,-14,583,742),49=>array(101,0,564,729),50=>array(71,0,548,742),51=>array(60,-14,555,742),52=>array(40,0,585,729),53=>array(69,-14,563,729),54=>array(56,-14,578,741),55=>array(60,0,555,729),56=>array(55,-14,571,742),57=>array(46,-14,569,741),58=>array(101,0,259,547),59=>array(57,-142,259,547),60=>array(95,30,659,597),61=>array(95,144,659,482),62=>array(95,30,659,597),63=>array(62,0,464,742),64=>array(59,-174,836,703),65=>array(4,0,692,729),66=>array(83,0,623,729),67=>array(44,-14,603,742),68=>array(83,0,700,729),69=>array(83,0,549,729),70=>array(83,0,540,729),71=>array(44,-14,672,742),72=>array(83,0,671,729),73=>array(83,0,252,729),74=>array(-51,-200,252,729),75=>array(83,0,725,729),76=>array(83,0,549,729),77=>array(83,0,813,729),78=>array(83,0,671,729),79=>array(44,-14,720,742),80=>array(83,0,623,729),81=>array(44,-146,720,742),82=>array(83,0,675,729),83=>array(64,-14,583,742),84=>array(4,0,609,729),85=>array(83,-14,648,729),86=>array(4,0,692,729),87=>array(26,0,965,729),88=>array(17,0,676,729),89=>array(-9,0,661,729),90=>array(40,0,612,729),91=>array(77,-132,351,760),92=>array(0,-93,329,729),93=>array(61,-132,334,760),94=>array(91,457,664,729),95=>array(0,-236,450,-143),96=>array(41,616,290,800),97=>array(39,-14,537,560),98=>array(75,-14,604,760),99=>array(39,-14,474,560),100=>array(40,-14,569,760),101=>array(39,-14,567,560),102=>array(17,0,400,760),103=>array(40,-216,569,559),104=>array(75,0,571,760),105=>array(75,0,233,760),106=>array(-30,-216,233,760),107=>array(75,0,616,760),108=>array(75,0,233,760),109=>array(75,0,867,560),110=>array(75,0,571,560),111=>array(39,-14,580,560),112=>array(75,-208,604,560),113=>array(40,-208,569,559),114=>array(75,0,441,560),115=>array(46,-14,493,560),116=>array(12,0,410,702),117=>array(70,-14,565,547),118=>array(13,0,574,547),119=>array(31,0,800,547),120=>array(13,0,567,547),121=>array(11,-216,571,547),122=>array(40,0,481,547),123=>array(112,-163,528,760),124=>array(114,-236,214,764),125=>array(112,-163,528,760),126=>array(95,212,659,415),161=>array(126,0,285,729),162=>array(76,-153,510,699),163=>array(55,0,552,742),164=>array(32,30,541,596),165=>array(11,0,616,729),166=>array(114,-171,214,699),167=>array(6,-95,447,742),168=>array(86,654,364,774),169=>array(124,0,776,725),170=>array(69,182,440,742),171=>array(69,67,497,519),172=>array(95,140,659,444),173=>array(48,217,325,359),174=>array(124,0,776,725),175=>array(86,668,364,760),176=>array(78,424,371,749),177=>array(95,0,659,627),178=>array(48,326,344,742),179=>array(40,319,346,742),180=>array(160,616,409,800),181=>array(76,-209,634,547),182=>array(57,-96,494,729),183=>array(92,253,250,442),184=>array(115,-196,314,0),185=>array(54,326,344,734),186=>array(51,182,457,742),187=>array(84,67,512,519),188=>array(44,-14,861,742),189=>array(44,-14,888,742),190=>array(45,-14,861,742),191=>array(62,-14,464,729),192=>array(4,0,692,927),193=>array(4,0,692,927),194=>array(4,0,692,927),195=>array(4,0,692,931),196=>array(4,0,692,927),197=>array(4,0,692,928),198=>array(0,0,911,729),199=>array(44,-196,603,742),200=>array(83,0,549,927),201=>array(83,0,549,927),202=>array(83,0,549,927),203=>array(83,0,549,927),204=>array(9,0,252,927),205=>array(83,0,303,927),206=>array(1,0,333,927),207=>array(28,0,306,927),208=>array(14,0,708,729),209=>array(83,0,671,928),210=>array(44,-14,720,927),211=>array(44,-14,720,927),212=>array(44,-14,720,927),213=>array(44,-14,720,928),214=>array(44,-14,720,927),215=>array(112,20,642,607),216=>array(20,-36,741,765),217=>array(83,-14,648,927),218=>array(83,-14,648,927),219=>array(83,-14,648,927),220=>array(83,-14,648,927),221=>array(-9,0,661,927),222=>array(83,0,623,729),223=>array(75,-14,608,760),224=>array(39,-14,537,800),225=>array(39,-14,537,800),226=>array(39,-14,537,800),227=>array(39,-14,537,778),228=>array(39,-14,537,774),229=>array(39,-14,537,888),230=>array(39,-14,900,560),231=>array(39,-196,474,560),232=>array(39,-14,567,800),233=>array(39,-14,567,800),234=>array(39,-14,567,800),235=>array(39,-14,567,774),236=>array(-19,0,233,800),237=>array(75,0,349,800),238=>array(-12,0,320,800),239=>array(15,0,292,774),240=>array(39,-14,580,760),241=>array(75,0,571,778),242=>array(39,-14,580,800),243=>array(39,-14,580,800),244=>array(39,-14,580,800),245=>array(39,-14,580,778),246=>array(39,-14,580,774),247=>array(95,42,659,585),248=>array(34,-46,581,594),249=>array(70,-14,565,800),250=>array(70,-14,565,800),251=>array(70,-14,565,800),252=>array(70,-14,565,774),253=>array(11,-216,571,800),254=>array(75,-208,604,760),255=>array(11,-216,571,774),256=>array(4,0,692,914),257=>array(39,-14,537,763),258=>array(4,0,692,935),259=>array(39,-14,537,780),260=>array(4,-196,692,729),261=>array(39,-196,537,560),262=>array(44,-14,603,927),263=>array(39,-14,501,800),264=>array(44,-14,603,927),265=>array(39,-14,488,800),266=>array(44,-14,603,927),267=>array(39,-14,474,760),268=>array(44,-14,603,927),269=>array(39,-14,483,800),270=>array(83,0,700,927),271=>array(40,-14,784,760),272=>array(14,0,708,729),273=>array(40,-14,637,760),274=>array(83,0,549,914),275=>array(39,-14,567,763),276=>array(83,0,549,927),277=>array(39,-14,567,784),278=>array(83,0,549,927),279=>array(39,-14,567,760),280=>array(83,-196,549,729),281=>array(39,-196,567,560),282=>array(83,0,549,927),283=>array(39,-14,567,800),284=>array(44,-14,672,927),285=>array(40,-216,569,800),286=>array(44,-14,672,927),287=>array(40,-216,569,784),288=>array(44,-14,672,927),289=>array(40,-216,569,760),290=>array(44,-224,672,742),291=>array(40,-216,569,765),292=>array(83,0,671,927),293=>array(-9,0,571,927),294=>array(83,0,794,729),295=>array(73,0,638,760),296=>array(14,0,320,928),297=>array(1,0,308,778),298=>array(28,0,306,914),299=>array(16,0,293,763),300=>array(19,0,315,927),301=>array(6,0,302,784),302=>array(83,-196,330,729),303=>array(75,-196,311,760),304=>array(83,0,252,927),305=>array(75,0,233,547),306=>array(83,-200,586,729),307=>array(75,-216,542,760),308=>array(-51,-200,333,927),309=>array(-30,-216,320,800),310=>array(83,-209,725,729),311=>array(75,-209,616,760),312=>array(75,0,616,547),313=>array(83,0,549,928),314=>array(75,0,321,928),315=>array(83,-209,549,729),316=>array(63,-209,246,760),317=>array(83,0,549,729),318=>array(75,0,432,760),319=>array(83,0,549,729),320=>array(75,0,436,760),321=>array(-41,0,554,729),322=>array(-17,0,352,760),323=>array(83,0,671,928),324=>array(75,0,571,803),325=>array(83,-209,671,729),326=>array(75,-209,571,560),327=>array(83,0,671,927),328=>array(75,0,571,800),329=>array(46,0,802,729),330=>array(75,-200,658,742),331=>array(75,-216,571,560),332=>array(44,-14,720,914),333=>array(39,-14,580,763),334=>array(44,-14,720,927),335=>array(39,-14,580,787),336=>array(44,-14,720,927),337=>array(39,-14,580,800),338=>array(44,-1,985,730),339=>array(39,-14,941,560),340=>array(83,0,675,928),341=>array(75,0,464,803),342=>array(83,-209,675,729),343=>array(63,-209,441,560),344=>array(83,0,675,927),345=>array(75,0,441,800),346=>array(64,-14,583,928),347=>array(46,-14,493,803),348=>array(64,-14,583,927),349=>array(46,-14,493,800),350=>array(64,-196,583,742),351=>array(46,-196,493,560),352=>array(64,-14,583,927),353=>array(46,-14,493,800),354=>array(4,-196,609,729),355=>array(12,-196,410,702),356=>array(4,0,609,930),357=>array(12,0,457,814),358=>array(4,0,609,729),359=>array(12,0,410,702),360=>array(83,-14,648,928),361=>array(70,-14,565,778),362=>array(83,-14,648,914),363=>array(70,-14,565,763),364=>array(83,-14,648,927),365=>array(70,-14,565,784),366=>array(83,-14,648,929),367=>array(70,-14,565,881),368=>array(83,-14,648,927),369=>array(70,-14,565,800),370=>array(83,-196,648,729),371=>array(70,-196,645,547),372=>array(26,0,965,931),373=>array(31,0,800,800),374=>array(-9,0,661,931),375=>array(11,-216,571,800),376=>array(-9,0,661,927),377=>array(40,0,612,928),378=>array(40,0,481,803),379=>array(40,0,612,929),380=>array(40,0,481,760),381=>array(40,0,612,927),382=>array(40,0,481,800),383=>array(17,0,400,760),384=>array(8,-14,604,760),385=>array(-62,0,667,729),386=>array(83,0,623,729),387=>array(75,-14,604,760),388=>array(35,0,659,729),389=>array(22,-14,627,760),390=>array(44,-14,603,742),391=>array(44,-14,736,924),392=>array(39,-14,579,724),393=>array(14,0,708,729),394=>array(-62,0,744,729),395=>array(63,0,603,729),396=>array(40,-14,569,760),397=>array(39,-222,580,560),398=>array(83,0,549,729),399=>array(45,-14,720,742),400=>array(60,-14,555,742),401=>array(-51,-200,540,729),402=>array(-52,-208,400,760),403=>array(44,-14,782,924),404=>array(2,-211,714,730),405=>array(75,0,900,760),406=>array(83,0,385,729),407=>array(4,0,346,729),408=>array(83,0,725,742),409=>array(75,0,616,760),410=>array(4,0,320,760),411=>array(-10,0,506,760),412=>array(75,-13,867,729),413=>array(-51,-200,671,729),414=>array(75,-208,571,560),415=>array(44,-14,720,742),416=>array(47,-14,769,761),417=>array(42,-14,637,609),418=>array(44,-14,906,742),419=>array(39,-216,744,560),420=>array(-62,0,667,729),421=>array(75,-208,604,760),422=>array(83,-146,684,729),423=>array(23,-14,541,742),424=>array(13,-14,460,560),425=>array(83,0,549,729),426=>array(-28,-217,505,760),427=>array(12,-216,410,702),428=>array(13,0,631,729),429=>array(12,0,410,760),430=>array(4,-200,609,729),431=>array(82,-14,750,761),432=>array(67,-14,660,609),433=>array(24,-14,741,728),434=>array(83,0,695,729),435=>array(-9,0,716,742),436=>array(11,-216,701,560),437=>array(40,0,612,729),438=>array(40,0,481,547),439=>array(65,-33,655,729),440=>array(37,-33,627,729),441=>array(33,-215,528,547),442=>array(51,-208,481,547),443=>array(71,0,548,742),444=>array(37,-33,655,729),445=>array(33,-215,528,547),446=>array(32,-15,473,702),447=>array(75,-208,604,560),448=>array(83,-208,252,729),449=>array(83,-208,510,729),450=>array(4,-208,482,729),451=>array(88,0,247,729),452=>array(83,0,1359,927),453=>array(83,0,1228,800),454=>array(40,-14,1125,800),455=>array(83,-200,826,729),456=>array(83,-216,807,760),457=>array(75,-216,542,760),458=>array(83,-200,1005,729),459=>array(83,-216,986,760),460=>array(75,-216,874,760),461=>array(4,0,692,927),462=>array(39,-14,537,800),463=>array(2,0,334,927),464=>array(1,0,333,800),465=>array(44,-14,720,927),466=>array(39,-14,580,800),467=>array(83,-14,648,927),468=>array(70,-14,565,800),469=>array(83,-14,648,1040),470=>array(70,-14,565,914),471=>array(83,-14,648,1114),472=>array(70,-14,565,917),473=>array(83,-14,648,1114),474=>array(70,-14,565,917),475=>array(83,-14,648,1114),476=>array(70,-14,565,917),477=>array(39,-14,567,560),478=>array(4,0,692,1040),479=>array(39,-14,537,914),480=>array(4,0,692,1042),481=>array(39,-14,537,914),482=>array(0,0,911,914),483=>array(39,-14,900,758),484=>array(44,-14,712,742),485=>array(40,-216,607,559),486=>array(44,-14,672,927),487=>array(40,-216,569,800),488=>array(83,0,725,927),489=>array(-5,0,616,927),490=>array(44,-196,720,742),491=>array(39,-196,580,560),492=>array(44,-196,720,914),493=>array(39,-196,580,763),494=>array(65,-33,655,927),495=>array(39,-215,534,793),496=>array(-30,-216,324,800),497=>array(83,0,1359,729),498=>array(83,0,1228,729),499=>array(40,-14,1125,760),500=>array(44,-14,672,928),501=>array(40,-216,569,800),502=>array(83,-14,1067,729),503=>array(83,-208,664,742),504=>array(83,0,671,927),505=>array(75,0,571,800),506=>array(4,0,692,931),507=>array(39,-14,637,931),508=>array(0,0,911,927),509=>array(39,-14,900,800),510=>array(20,-36,741,927),511=>array(34,-46,581,800),512=>array(4,0,692,928),513=>array(39,-14,537,800),514=>array(4,0,692,923),515=>array(39,-14,537,784),516=>array(83,0,549,928),517=>array(39,-14,567,800),518=>array(83,0,549,923),519=>array(39,-14,567,784),520=>array(-37,0,340,928),521=>array(-3,0,343,800),522=>array(21,0,316,923),523=>array(6,0,302,784),524=>array(44,-14,720,928),525=>array(39,-14,580,800),526=>array(44,-14,720,923),527=>array(39,-14,580,784),528=>array(83,0,675,928),529=>array(52,0,441,800),530=>array(83,0,675,923),531=>array(75,0,441,784),532=>array(83,-14,648,928),533=>array(70,-14,565,800),534=>array(83,-14,648,923),535=>array(70,-14,565,784),536=>array(64,-239,583,742),537=>array(46,-239,493,560),538=>array(4,-239,609,729),539=>array(12,-239,410,702),540=>array(60,-210,555,742),541=>array(44,-211,490,560),542=>array(83,0,671,927),543=>array(-11,0,571,927),544=>array(75,-208,658,742),545=>array(40,-75,740,760),546=>array(55,-14,673,742),547=>array(39,-14,554,646),548=>array(40,-216,612,729),549=>array(40,-216,481,547),550=>array(4,0,692,927),551=>array(39,-14,537,760),552=>array(83,-192,549,729),553=>array(39,-196,567,560),554=>array(44,-14,720,1040),555=>array(39,-14,580,914),556=>array(44,-14,720,1040),557=>array(39,-14,580,898),558=>array(44,-14,720,927),559=>array(39,-14,580,760),560=>array(44,-14,720,1042),561=>array(39,-14,580,914),562=>array(-9,0,661,914),563=>array(11,-216,571,763),564=>array(75,-75,404,760),565=>array(75,-75,742,560),566=>array(12,-76,422,702),567=>array(-30,-216,233,547),568=>array(40,-14,939,760),569=>array(40,-208,939,560),570=>array(-13,-36,709,765),571=>array(-31,-36,691,765),572=>array(-6,-46,540,594),573=>array(-1,0,549,729),574=>array(-54,-36,668,765),575=>array(46,-240,536,560),576=>array(40,-240,536,547),577=>array(35,0,667,729),578=>array(38,0,516,560),579=>array(5,0,623,729),580=>array(21,-14,710,729),581=>array(4,0,692,729),582=>array(83,-93,549,822),583=>array(39,-93,567,640),584=>array(-51,-200,324,729),585=>array(-30,-216,325,760),586=>array(43,-200,834,741),587=>array(40,-216,720,560),588=>array(5,0,675,729),589=>array(-19,0,441,560),590=>array(-9,0,661,729),591=>array(-4,-216,590,547),592=>array(70,-14,568,560),593=>array(40,-14,569,560),594=>array(75,-14,604,560),595=>array(75,-14,604,760),596=>array(39,-14,474,560),597=>array(39,-69,474,560),598=>array(40,-216,675,760),599=>array(40,-14,721,760),600=>array(39,-14,567,560),601=>array(39,-14,567,560),602=>array(53,-14,796,560),603=>array(48,-14,444,560),604=>array(48,-14,444,560),605=>array(48,-14,692,560),606=>array(48,-14,598,560),607=>array(-30,-216,325,547),608=>array(40,-216,721,760),609=>array(40,-216,569,547),610=>array(39,-14,491,546),611=>array(22,-211,557,547),612=>array(22,-21,557,547),613=>array(70,-214,565,547),614=>array(75,0,571,760),615=>array(75,-216,571,760),616=>array(75,0,416,760),617=>array(75,0,321,547),618=>array(75,0,416,547),619=>array(75,0,427,760),620=>array(75,0,549,760),621=>array(76,-216,386,760),622=>array(75,-215,714,760),623=>array(71,-14,863,546),624=>array(71,-209,863,546),625=>array(75,-216,868,560),626=>array(-30,-216,571,560),627=>array(75,-216,722,560),628=>array(75,0,561,547),629=>array(39,-14,580,560),630=>array(39,-1,744,547),631=>array(45,0,567,574),632=>array(54,-208,656,760),633=>array(75,-13,441,547),634=>array(75,-13,441,760),635=>array(75,-216,593,547),636=>array(75,-208,441,560),637=>array(75,-216,441,560),638=>array(75,0,477,547),639=>array(75,0,477,547),640=>array(46,0,532,547),641=>array(46,0,532,547),642=>array(46,-216,493,560),643=>array(-30,-216,388,760),644=>array(-10,-216,400,760),645=>array(75,-216,485,560),646=>array(-28,-217,505,760),647=>array(12,-155,410,547),648=>array(12,-216,410,702),649=>array(75,-14,753,547),650=>array(71,-14,624,547),651=>array(75,0,563,547),652=>array(13,0,574,547),653=>array(31,0,800,547),654=>array(11,0,571,763),655=>array(58,0,594,547),656=>array(40,-216,633,547),657=>array(40,-69,556,547),658=>array(39,-215,534,547),659=>array(51,-215,534,547),660=>array(32,0,473,759),661=>array(32,0,473,759),662=>array(32,0,473,759),663=>array(32,-208,473,759),664=>array(44,-14,720,742),665=>array(75,0,530,547),666=>array(48,-14,598,560),667=>array(39,0,624,760),668=>array(75,0,546,547),669=>array(-153,-216,307,760),670=>array(75,-213,616,547),671=>array(75,0,449,547),672=>array(40,-208,721,760),673=>array(32,0,473,759),674=>array(32,0,473,759),675=>array(40,-14,998,760),676=>array(40,-215,1050,760),677=>array(40,-55,997,760),678=>array(12,0,835,702),679=>array(12,-216,700,760),680=>array(12,-69,793,702),681=>array(17,-216,881,760),682=>array(75,0,734,760),683=>array(75,0,659,760),684=>array(20,0,512,641),685=>array(20,86,311,641),686=>array(-80,-214,566,760),687=>array(-80,-216,717,760),688=>array(48,326,365,751),689=>array(48,326,365,751),690=>array(-20,205,149,751),691=>array(48,326,283,640),692=>array(48,319,283,632),693=>array(48,205,379,632),694=>array(12,326,322,632),695=>array(20,326,512,632),696=>array(7,205,365,632),697=>array(70,557,196,800),698=>array(70,557,394,800),699=>array(92,418,286,729),700=>array(57,418,250,729),701=>array(111,616,267,856),702=>array(104,481,230,760),703=>array(104,481,230,760),704=>array(21,326,303,751),705=>array(21,326,303,751),706=>array(117,517,333,843),707=>array(117,517,333,843),708=>array(78,561,372,800),709=>array(78,561,372,800),710=>array(59,616,391,800),711=>array(59,616,391,800),712=>array(96,488,180,759),713=>array(86,668,364,760),714=>array(160,616,409,800),715=>array(41,616,290,800),716=>array(96,-81,180,190),717=>array(86,-184,364,-92),718=>array(41,-236,290,-52),719=>array(160,-236,409,-52),720=>array(41,0,221,547),721=>array(41,361,221,547),722=>array(104,269,230,547),723=>array(104,269,230,547),724=>array(124,238,322,458),725=>array(126,238,325,458),726=>array(48,119,326,427),727=>array(48,229,247,317),728=>array(77,639,373,784),729=>array(165,654,286,774),730=>array(100,610,351,888),731=>array(150,-196,338,0),732=>array(72,638,378,778),733=>array(84,616,431,800),734=>array(0,213,324,524),735=>array(100,616,349,800),736=>array(14,208,351,633),737=>array(48,326,149,751),738=>array(30,318,316,640),739=>array(9,326,363,632),740=>array(21,326,303,751),741=>array(86,0,364,693),742=>array(86,0,364,693),743=>array(86,0,364,693),744=>array(86,0,364,693),745=>array(86,0,364,693),748=>array(79,-260,373,-21),749=>array(86,605,364,822),750=>array(83,418,499,729),755=>array(100,-240,351,38),759=>array(72,-196,378,-84),768=>array(-410,616,-161,800),769=>array(-293,616,-44,800),770=>array(-392,616,-60,800),771=>array(-382,638,-75,778),772=>array(-365,668,-87,760),773=>array(-450,663,0,755),774=>array(-369,639,-73,784),775=>array(-305,617,-147,760),776=>array(-362,654,-84,774),777=>array(-333,616,-110,843),778=>array(-352,610,-101,888),779=>array(-364,616,-17,800),780=>array(-392,616,-60,800),781=>array(-268,615,-185,832),782=>array(-351,615,-101,832),783=>array(-436,616,-89,800),784=>array(-369,639,-73,882),785=>array(-369,639,-73,784),786=>array(-245,418,-62,563),787=>array(-239,595,-119,844),788=>array(-239,595,-119,844),789=>array(-80,616,80,800),790=>array(-410,-276,-161,-93),791=>array(-293,-276,-44,-93),792=>array(-342,-240,-190,-6),793=>array(-266,-240,-114,-6),794=>array(-202,658,42,929),795=>array(-158,400,19,609),796=>array(-298,-240,-194,-11),797=>array(-347,-240,-103,-59),798=>array(-350,-240,-105,-59),799=>array(-333,-240,-123,-6),800=>array(-350,-202,-105,-110),801=>array(-381,-216,-71,117),802=>array(-377,-216,-67,117),803=>array(-305,-212,-147,-70),804=>array(-362,-212,-84,-92),805=>array(-329,-240,-122,-11),806=>array(-294,-239,-112,-93),807=>array(-335,-196,-136,0),808=>array(-300,-196,-111,0),809=>array(-268,-240,-185,-47),810=>array(-365,-237,-87,-54),811=>array(-405,-239,-46,-94),812=>array(-392,-240,-60,-57),813=>array(-392,-240,-60,-57),814=>array(-369,-239,-73,-94),815=>array(-369,-240,-73,-95),816=>array(-382,-234,-75,-94),817=>array(-365,-184,-87,-92),818=>array(-450,-236,0,-143),819=>array(-450,-236,0,-9),820=>array(-563,212,1,415),821=>array(-424,214,-84,309),822=>array(-754,214,-78,309),823=>array(-590,-46,-43,594),824=>array(-743,-36,-21,765),825=>array(-257,-240,-153,-11),826=>array(-365,-238,-87,-55),827=>array(-299,-241,-88,-6),828=>array(-405,-239,-46,-94),829=>array(-342,585,-110,842),830=>array(-240,595,-114,867),831=>array(-450,528,0,755),832=>array(-410,616,-161,800),833=>array(-291,616,-42,800),834=>array(-379,638,-73,778),835=>array(-239,595,-119,844),836=>array(-364,654,-49,978),837=>array(-258,-208,-161,-45),838=>array(-363,639,-87,786),839=>array(-324,-226,-126,-35),840=>array(-342,-240,-108,-47),841=>array(-331,-240,-119,-21),842=>array(-378,616,-72,800),843=>array(-378,567,-72,850),844=>array(-378,573,-72,835),845=>array(-413,-230,-37,-30),846=>array(-322,-240,-128,-45),849=>array(-289,610,-161,888),850=>array(-369,640,-73,882),851=>array(-330,-240,-122,-9),855=>array(-289,610,-161,888),856=>array(-108,654,13,774),858=>array(-400,-240,-52,-11),860=>array(-390,-237,412,-79),861=>array(-390,802,412,960),862=>array(-401,797,401,889),863=>array(-401,-185,401,-93),864=>array(-326,756,326,894),865=>array(-401,769,401,927),866=>array(-404,-230,409,-30),880=>array(83,0,545,729),881=>array(75,0,433,547),882=>array(83,0,837,729),883=>array(83,0,670,729),884=>array(70,557,196,800),885=>array(70,-208,196,35),886=>array(83,0,671,729),887=>array(75,0,555,547),890=>array(182,-208,299,-45),891=>array(39,-14,474,560),892=>array(39,-14,474,560),893=>array(39,-14,474,560),894=>array(57,-142,259,547),900=>array(152,616,401,800),901=>array(86,654,401,978),902=>array(23,0,713,800),903=>array(92,253,250,442),904=>array(-22,0,694,800),905=>array(-17,0,824,800),906=>array(-19,0,405,800),908=>array(-17,-14,753,800),910=>array(-24,0,893,800),911=>array(-27,0,780,800),912=>array(21,-19,335,978),913=>array(4,0,692,729),914=>array(83,0,623,729),915=>array(83,0,549,729),916=>array(4,0,692,729),917=>array(83,0,549,729),918=>array(40,0,612,729),919=>array(83,0,671,729),920=>array(44,-14,720,742),921=>array(83,0,252,729),922=>array(83,0,725,729),923=>array(4,0,692,729),924=>array(83,0,813,729),925=>array(83,0,671,729),926=>array(88,0,493,729),927=>array(44,-14,720,742),928=>array(83,0,671,729),929=>array(83,0,623,729),931=>array(83,0,549,729),932=>array(4,0,609,729),933=>array(-9,0,661,729),934=>array(44,0,720,729),935=>array(17,0,676,729),936=>array(50,0,716,729),937=>array(24,0,741,742),938=>array(31,0,308,927),939=>array(-9,0,661,927),940=>array(43,-13,581,800),941=>array(48,-14,444,800),942=>array(75,-208,571,800),943=>array(69,-19,318,800),944=>array(70,-10,567,978),945=>array(43,-13,581,559),946=>array(75,-208,604,773),947=>array(13,-208,600,547),948=>array(39,-14,580,768),949=>array(48,-14,444,560),950=>array(39,-208,488,760),951=>array(75,-208,571,560),952=>array(39,-11,580,768),953=>array(70,-19,313,547),954=>array(75,0,589,547),955=>array(26,0,543,760),956=>array(76,-209,634,547),957=>array(13,0,571,547),958=>array(39,-208,488,760),959=>array(39,-14,580,560),960=>array(38,-19,659,547),961=>array(75,-208,604,562),962=>array(39,-208,474,560),963=>array(39,-14,654,547),964=>array(19,-19,551,547),965=>array(70,-10,567,547),966=>array(58,-208,652,552),967=>array(22,-208,558,547),968=>array(58,-208,652,547),969=>array(39,-13,744,547),970=>array(17,-19,320,774),971=>array(70,-10,567,774),972=>array(39,-14,580,800),973=>array(70,-10,567,800),974=>array(39,-13,744,800),975=>array(83,-208,725,729),976=>array(49,-11,518,768),977=>array(46,-11,551,768),978=>array(18,0,646,729),979=>array(-22,0,859,800),980=>array(18,0,646,927),981=>array(54,-208,656,760),982=>array(20,-13,759,547),983=>array(49,-205,619,548),984=>array(44,-208,720,742),985=>array(39,-208,580,560),986=>array(44,-208,610,729),987=>array(39,-208,487,547),988=>array(83,0,540,729),989=>array(-51,-208,393,760),990=>array(54,2,582,729),991=>array(73,0,514,759),992=>array(50,-208,759,742),993=>array(20,-180,483,559),994=>array(44,-213,939,729),995=>array(53,-208,698,547),996=>array(44,-208,667,742),997=>array(40,-208,569,560),998=>array(83,-213,791,729),999=>array(18,-14,621,575),1000=>array(38,-208,624,745),1001=>array(41,-208,547,560),1002=>array(47,0,663,742),1003=>array(44,0,560,560),1004=>array(44,-14,644,758),1005=>array(75,-14,604,758),1006=>array(25,-208,589,729),1007=>array(24,-208,507,729),1008=>array(49,-7,619,548),1009=>array(75,-216,604,562),1010=>array(39,-14,474,560),1011=>array(-30,-216,233,760),1012=>array(44,-14,720,742),1013=>array(61,-14,496,560),1014=>array(72,-14,507,560),1015=>array(83,0,623,729),1016=>array(75,-208,604,760),1017=>array(44,-14,603,742),1018=>array(83,0,813,729),1019=>array(66,-208,584,547),1020=>array(30,-208,604,562),1021=>array(30,-14,588,742),1022=>array(44,-14,603,742),1023=>array(30,-14,588,742),1024=>array(83,0,549,927),1025=>array(83,0,549,927),1026=>array(4,-200,718,729),1027=>array(83,0,549,928),1028=>array(44,-14,603,742),1029=>array(64,-14,583,742),1030=>array(83,0,252,729),1031=>array(28,0,306,927),1032=>array(-51,-200,252,729),1033=>array(41,0,992,729),1034=>array(83,0,954,729),1035=>array(4,0,718,729),1036=>array(83,0,723,928),1037=>array(83,0,671,927),1038=>array(26,0,667,927),1039=>array(83,-157,671,729),1040=>array(4,0,692,729),1041=>array(83,0,623,729),1042=>array(83,0,623,729),1043=>array(83,0,549,729),1044=>array(54,-157,748,729),1045=>array(83,0,549,729),1046=>array(13,0,1089,729),1047=>array(59,-14,580,742),1048=>array(83,0,671,729),1049=>array(83,0,671,927),1050=>array(83,0,723,729),1051=>array(41,0,665,729),1052=>array(83,0,813,729),1053=>array(83,0,671,729),1054=>array(44,-14,720,742),1055=>array(83,0,671,729),1056=>array(83,0,623,729),1057=>array(44,-14,603,742),1058=>array(4,0,609,729),1059=>array(26,0,667,729),1060=>array(44,0,848,729),1061=>array(17,0,676,729),1062=>array(83,-157,781,729),1063=>array(72,0,645,729),1064=>array(83,0,1029,729),1065=>array(83,-157,1139,729),1066=>array(44,0,801,729),1067=>array(83,0,850,729),1068=>array(83,0,623,729),1069=>array(57,-14,616,742),1070=>array(83,-14,1007,742),1071=>array(57,0,611,729),1072=>array(39,-14,537,560),1073=>array(39,-14,590,792),1074=>array(75,0,530,547),1075=>array(75,0,449,547),1076=>array(50,-138,677,547),1077=>array(39,-14,567,560),1078=>array(13,0,883,547),1079=>array(44,-14,466,560),1080=>array(75,0,555,547),1081=>array(75,0,555,765),1082=>array(75,0,598,547),1083=>array(49,0,584,547),1084=>array(75,0,660,547),1085=>array(75,0,546,547),1086=>array(39,-14,580,560),1087=>array(75,0,546,547),1088=>array(75,-208,604,560),1089=>array(39,-14,474,560),1090=>array(3,0,518,547),1091=>array(11,-216,571,547),1092=>array(49,-208,844,760),1093=>array(13,0,567,547),1094=>array(75,-138,628,547),1095=>array(58,0,516,547),1096=>array(75,0,875,547),1097=>array(75,-138,957,547),1098=>array(18,0,641,547),1099=>array(75,0,741,547),1100=>array(75,0,530,547),1101=>array(60,-14,495,560),1102=>array(75,-14,835,560),1103=>array(27,0,504,547),1104=>array(39,-14,567,803),1105=>array(39,-14,567,774),1106=>array(18,-216,602,760),1107=>array(75,0,468,803),1108=>array(39,-14,474,560),1109=>array(46,-14,493,560),1110=>array(75,0,233,760),1111=>array(15,0,292,774),1112=>array(-30,-216,233,760),1113=>array(40,0,848,547),1114=>array(75,0,821,547),1115=>array(18,0,591,760),1116=>array(75,0,598,803),1117=>array(75,0,555,803),1118=>array(11,-216,571,765),1119=>array(75,-138,546,547),1120=>array(44,-14,939,729),1121=>array(39,-13,744,547),1122=>array(44,0,712,729),1123=>array(18,0,623,731),1124=>array(83,-14,854,742),1125=>array(75,-14,685,560),1126=>array(7,0,886,729),1127=>array(22,0,727,547),1128=>array(83,0,1216,729),1129=>array(75,0,988,547),1130=>array(44,0,720,729),1131=>array(39,0,580,547),1132=>array(83,0,1023,729),1133=>array(75,0,868,547),1134=>array(48,-208,555,938),1135=>array(35,-193,444,756),1136=>array(8,0,954,729),1137=>array(8,-208,942,759),1138=>array(44,-14,720,742),1139=>array(39,-14,580,560),1140=>array(4,0,743,742),1141=>array(8,0,613,560),1142=>array(4,0,743,928),1143=>array(8,0,613,800),1144=>array(42,-216,1018,742),1145=>array(39,-216,923,560),1146=>array(44,-14,922,742),1147=>array(39,-14,738,560),1148=>array(51,-14,1213,928),1149=>array(42,-13,1014,828),1150=>array(44,-14,939,910),1151=>array(39,-13,744,746),1152=>array(44,-208,603,742),1153=>array(39,-208,474,560),1154=>array(24,-33,469,488),1155=>array(-541,606,-77,822),1156=>array(-372,638,0,784),1157=>array(-329,595,-208,785),1158=>array(-329,595,-208,785),1159=>array(-716,592,4,788),1160=>array(-962,-179,345,928),1161=>array(-896,-280,275,1022),1162=>array(83,-208,839,927),1163=>array(75,-208,704,765),1164=>array(21,0,623,729),1165=>array(0,0,511,702),1166=>array(83,0,632,729),1167=>array(75,-208,604,560),1168=>array(83,0,549,878),1169=>array(75,0,449,700),1170=>array(25,0,575,729),1171=>array(18,0,467,547),1172=>array(83,-200,655,729),1173=>array(75,-216,532,547),1174=>array(13,-157,1089,729),1175=>array(13,-138,883,547),1176=>array(59,-196,580,742),1177=>array(44,-196,466,560),1178=>array(83,-157,723,729),1179=>array(75,-138,598,547),1180=>array(83,0,723,729),1181=>array(75,0,598,547),1182=>array(21,0,723,729),1183=>array(6,0,598,760),1184=>array(22,0,901,729),1185=>array(18,0,730,547),1186=>array(83,-157,839,729),1187=>array(75,-138,705,547),1188=>array(83,0,968,729),1189=>array(75,0,762,547),1190=>array(83,-200,1074,729),1191=>array(75,-216,845,547),1192=>array(50,-14,832,743),1193=>array(49,-14,752,560),1194=>array(44,-196,603,742),1195=>array(39,-196,474,560),1196=>array(4,-157,609,729),1197=>array(3,-138,518,547),1198=>array(-9,0,661,729),1199=>array(11,-216,571,547),1200=>array(-9,0,661,729),1201=>array(11,-216,571,547),1202=>array(17,-157,676,729),1203=>array(13,-138,567,547),1204=>array(4,-157,979,729),1205=>array(3,-138,878,547),1206=>array(72,-157,813,729),1207=>array(58,-138,674,547),1208=>array(72,0,645,729),1209=>array(58,0,516,547),1210=>array(72,0,645,729),1211=>array(75,0,571,760),1212=>array(6,-14,879,742),1213=>array(4,-14,686,560),1214=>array(6,-184,879,742),1215=>array(4,-161,686,560),1216=>array(83,0,252,729),1217=>array(13,0,1089,927),1218=>array(13,0,883,784),1219=>array(83,-200,692,729),1220=>array(75,-216,563,547),1221=>array(23,-208,834,729),1222=>array(19,-208,703,547),1223=>array(83,-200,671,729),1224=>array(75,-216,547,547),1225=>array(83,-208,839,729),1226=>array(75,-208,704,547),1227=>array(72,-157,645,729),1228=>array(58,-138,516,547),1229=>array(83,-208,981,729),1230=>array(75,-208,817,547),1231=>array(75,0,233,760),1232=>array(4,0,692,935),1233=>array(39,-14,537,780),1234=>array(4,0,692,927),1235=>array(39,-14,537,774),1236=>array(0,0,911,729),1237=>array(39,-14,900,560),1238=>array(83,0,549,927),1239=>array(39,-14,567,784),1240=>array(45,-14,720,742),1241=>array(39,-14,567,560),1242=>array(45,-14,720,927),1243=>array(39,-14,567,774),1244=>array(13,0,1089,927),1245=>array(13,0,883,774),1246=>array(59,-14,580,927),1247=>array(44,-14,466,773),1248=>array(65,-33,655,729),1249=>array(39,-215,534,547),1250=>array(83,0,671,914),1251=>array(75,0,555,763),1252=>array(83,0,671,927),1253=>array(75,0,555,774),1254=>array(44,-14,720,927),1255=>array(39,-14,580,774),1256=>array(44,-14,720,742),1257=>array(39,-14,580,560),1258=>array(44,-14,720,927),1259=>array(39,-14,580,774),1260=>array(57,-14,616,927),1261=>array(60,-14,495,774),1262=>array(26,0,667,914),1263=>array(11,-216,571,763),1264=>array(26,0,667,927),1265=>array(11,-216,571,774),1266=>array(26,0,667,927),1267=>array(11,-216,571,800),1268=>array(72,0,645,927),1269=>array(58,0,516,774),1270=>array(83,-157,549,729),1271=>array(75,-138,449,547),1272=>array(83,0,850,927),1273=>array(75,0,741,774),1274=>array(25,-216,575,729),1275=>array(18,-217,467,547),1276=>array(17,-200,676,729),1277=>array(13,-216,558,547),1278=>array(17,0,676,729),1279=>array(13,0,567,547),1280=>array(63,0,604,729),1281=>array(40,0,472,547),1282=>array(63,-14,973,729),1283=>array(40,-14,765,547),1284=>array(88,-14,925,742),1285=>array(70,-14,752,560),1286=>array(88,-208,724,742),1287=>array(70,-208,602,560),1288=>array(23,-14,1035,729),1289=>array(19,-14,839,547),1290=>array(83,-14,1067,729),1291=>array(75,-14,845,547),1292=>array(44,-14,673,742),1293=>array(39,-14,490,546),1294=>array(4,-14,762,729),1295=>array(3,-14,638,547),1296=>array(60,-14,555,742),1297=>array(48,-14,444,560),1298=>array(41,-200,665,729),1299=>array(49,-216,584,547),1300=>array(41,0,1139,729),1301=>array(49,0,948,547),1302=>array(83,0,941,729),1303=>array(75,-208,868,560),1304=>array(57,0,908,729),1305=>array(27,-14,869,560),1306=>array(44,-146,720,742),1307=>array(40,-208,569,559),1308=>array(26,0,965,729),1309=>array(31,0,800,547),1310=>array(83,0,723,729),1311=>array(75,0,598,547),1312=>array(41,-200,1068,729),1313=>array(49,-216,883,547),1314=>array(83,-200,1074,729),1315=>array(75,-216,845,547),1316=>array(83,-157,839,729),1317=>array(75,-138,704,547),1329=>array(74,-38,658,729),1330=>array(74,0,590,743),1331=>array(23,0,655,743),1332=>array(20,0,659,743),1333=>array(74,-14,590,729),1334=>array(59,0,598,743),1335=>array(74,0,563,729),1336=>array(74,0,590,743),1337=>array(74,-13,813,742),1338=>array(23,-14,655,729),1339=>array(74,0,583,729),1340=>array(74,0,494,729),1341=>array(74,-14,799,729),1342=>array(55,-12,650,741),1343=>array(66,0,576,729),1344=>array(4,-46,539,729),1345=>array(59,-48,598,743),1346=>array(16,0,644,743),1347=>array(20,0,594,735),1348=>array(74,-14,702,729),1349=>array(51,-14,581,743),1350=>array(0,-14,628,729),1351=>array(51,-14,590,729),1352=>array(74,0,583,743),1353=>array(35,-48,574,743),1354=>array(16,0,710,743),1355=>array(51,0,589,743),1356=>array(74,0,702,743),1357=>array(83,-14,648,729),1358=>array(16,0,644,729),1359=>array(47,-14,577,743),1360=>array(74,0,583,743),1361=>array(51,-14,581,743),1362=>array(74,0,511,729),1363=>array(20,0,730,729),1364=>array(8,0,581,743),1365=>array(44,-14,720,742),1366=>array(40,-14,750,729),1369=>array(94,481,207,760),1370=>array(51,418,225,729),1371=>array(0,616,279,800),1372=>array(0,595,338,893),1373=>array(-6,614,261,847),1374=>array(0,586,414,878),1375=>array(35,618,391,893),1377=>array(64,-13,777,547),1378=>array(68,-208,514,560),1379=>array(35,-208,630,559),1380=>array(68,-208,633,560),1381=>array(64,-14,510,760),1382=>array(35,-208,630,559),1383=>array(68,0,479,760),1384=>array(68,-208,521,560),1385=>array(68,-208,681,560),1386=>array(35,-14,630,760),1387=>array(68,-208,514,760),1388=>array(68,-208,369,547),1389=>array(68,-208,818,760),1390=>array(35,-14,540,760),1391=>array(64,-208,510,760),1392=>array(68,0,514,760),1393=>array(23,-13,483,760),1394=>array(68,-208,633,560),1395=>array(55,-13,514,768),1396=>array(64,-13,629,760),1397=>array(-27,-216,210,547),1398=>array(-55,-13,510,760),1399=>array(12,-208,410,560),1400=>array(68,0,514,560),1401=>array(4,-208,338,547),1402=>array(64,-208,777,546),1403=>array(40,-208,480,560),1404=>array(68,0,560,560),1405=>array(64,-13,510,547),1406=>array(64,-208,629,760),1407=>array(64,-13,777,560),1408=>array(68,-208,514,560),1409=>array(40,-216,568,559),1410=>array(68,0,427,547),1411=>array(64,-208,777,760),1412=>array(-51,-208,544,560),1413=>array(40,-14,581,560),1414=>array(27,-190,697,760),1415=>array(64,-14,727,760),1417=>array(90,0,233,547),1418=>array(44,180,292,359),1456=>array(267,-229,355,-10),1457=>array(132,-229,452,-10),1458=>array(124,-229,443,-10),1459=>array(113,-229,443,-10),1460=>array(267,-171,355,-73),1461=>array(201,-171,421,-73),1462=>array(211,-229,410,-10),1463=>array(157,-171,465,0),1464=>array(167,-217,454,0),1465=>array(-22,547,66,723),1466=>array(-22,547,66,723),1467=>array(167,-239,476,-5),1468=>array(271,225,359,322),1469=>array(267,-217,355,-22),1470=>array(48,413,325,555),1471=>array(167,547,454,710),1472=>array(88,-98,246,645),1473=>array(677,613,766,710),1474=>array(123,613,211,710),1475=>array(88,0,246,547),1478=>array(70,0,416,547),1479=>array(167,-229,454,-10),1488=>array(75,0,580,547),1489=>array(39,0,510,547),1490=>array(39,-9,376,547),1491=>array(39,0,491,547),1492=>array(82,0,537,547),1493=>array(82,0,228,547),1494=>array(39,0,322,547),1495=>array(82,0,537,547),1496=>array(81,-13,562,553),1497=>array(60,164,206,547),1498=>array(39,-240,438,547),1499=>array(39,0,460,547),1500=>array(39,0,475,711),1501=>array(82,0,545,547),1502=>array(39,0,570,554),1503=>array(82,-240,228,547),1504=>array(39,0,326,547),1505=>array(81,-13,562,547),1506=>array(39,-101,518,547),1507=>array(82,-240,526,547),1508=>array(82,0,542,547),1509=>array(10,-240,489,548),1510=>array(29,0,508,547),1511=>array(82,-240,594,546),1512=>array(39,0,460,547),1513=>array(18,0,675,547),1514=>array(9,-4,533,547),1520=>array(82,0,517,547),1521=>array(60,0,472,547),1522=>array(60,164,450,547),1523=>array(75,361,324,547),1524=>array(75,361,563,547),1542=>array(-2,-20,567,892),1543=>array(-2,-20,567,897),1545=>array(58,0,729,635),1546=>array(58,0,976,635),1548=>array(88,0,290,331),1557=>array(108,612,341,868),1563=>array(88,0,291,689),1567=>array(62,0,464,742),1569=>array(65,20,394,493),1570=>array(-18,0,326,955),1571=>array(68,0,233,993),1572=>array(-38,-244,492,603),1573=>array(68,-245,233,760),1574=>array(57,-107,777,603),1575=>array(75,0,233,760),1576=>array(57,-149,829,327),1577=>array(43,-30,486,513),1578=>array(57,-5,829,415),1579=>array(57,-5,829,537),1580=>array(69,-244,648,425),1581=>array(69,-244,648,425),1582=>array(69,-244,648,579),1583=>array(55,-15,398,415),1584=>array(55,-15,398,579),1585=>array(-38,-244,458,269),1586=>array(-38,-244,458,457),1587=>array(57,-244,1167,366),1588=>array(57,-244,1167,586),1589=>array(57,-244,1138,362),1590=>array(57,-244,1138,457),1591=>array(63,0,875,760),1592=>array(63,0,875,760),1593=>array(79,-244,648,521),1594=>array(79,-244,648,652),1600=>array(-9,0,316,125),1601=>array(57,-24,974,627),1602=>array(47,-215,743,635),1603=>array(63,-27,733,760),1604=>array(63,-142,700,760),1605=>array(62,-244,594,369),1606=>array(55,-165,702,457),1607=>array(43,-30,486,358),1608=>array(-38,-244,492,322),1609=>array(57,-107,777,462),1610=>array(57,-244,777,462),1611=>array(97,591,354,825),1612=>array(97,591,354,881),1613=>array(97,-239,354,-5),1614=>array(97,591,354,723),1615=>array(97,590,354,881),1616=>array(97,-137,354,-5),1617=>array(79,599,371,869),1618=>array(104,610,345,878),1619=>array(53,584,397,735),1620=>array(138,601,302,822),1621=>array(139,-245,303,-23),1623=>array(97,615,354,906),1626=>array(89,616,361,775),1632=>array(196,195,353,366),1633=>array(125,0,388,635),1634=>array(11,0,539,635),1635=>array(11,0,538,635),1636=>array(66,-10,478,646),1637=>array(57,-10,492,643),1638=>array(33,0,517,635),1639=>array(13,0,536,635),1640=>array(13,0,536,635),1641=>array(28,0,532,640),1642=>array(58,0,491,635),1643=>array(0,-118,314,318),1644=>array(57,418,250,729),1645=>array(38,101,453,537),1646=>array(57,-5,829,327),1647=>array(47,-215,743,484),1648=>array(194,600,256,885),1652=>array(46,641,209,863),1657=>array(57,-5,829,599),1658=>array(57,-5,829,566),1659=>array(57,-244,829,327),1660=>array(57,-171,829,415),1661=>array(57,-5,829,566),1662=>array(57,-244,829,327),1663=>array(57,-5,829,566),1664=>array(57,-244,829,327),1665=>array(69,-244,648,725),1666=>array(69,-244,648,737),1667=>array(69,-244,648,425),1668=>array(69,-244,648,425),1669=>array(69,-244,648,737),1670=>array(69,-244,648,425),1671=>array(69,-244,648,425),1672=>array(55,-15,398,746),1673=>array(55,-180,398,415),1674=>array(55,-171,398,415),1675=>array(55,-171,398,746),1676=>array(55,-15,398,586),1677=>array(55,-146,398,415),1678=>array(55,-15,398,708),1679=>array(55,-15,398,684),1680=>array(55,-15,398,708),1681=>array(-38,-244,468,648),1682=>array(-38,-244,488,556),1683=>array(-38,-244,529,269),1684=>array(-38,-244,470,269),1685=>array(-38,-244,678,269),1686=>array(-38,-244,470,269),1687=>array(-38,-244,458,464),1688=>array(-38,-244,458,586),1689=>array(-38,-244,458,586),1690=>array(57,-244,1167,464),1691=>array(57,-244,1167,366),1692=>array(57,-244,1167,586),1693=>array(57,-244,1138,362),1694=>array(57,-244,1138,586),1695=>array(63,0,875,760),1696=>array(79,-244,648,781),1697=>array(57,-24,974,484),1698=>array(57,-171,974,484),1699=>array(57,-171,974,635),1700=>array(57,-24,974,786),1701=>array(57,-293,974,484),1702=>array(57,-24,974,786),1703=>array(47,-215,743,635),1704=>array(47,-215,743,757),1705=>array(57,-39,922,760),1706=>array(57,-39,1075,760),1707=>array(57,-39,922,760),1708=>array(63,-27,733,760),1709=>array(63,-27,733,854),1710=>array(63,-293,733,760),1711=>array(57,-39,922,910),1712=>array(57,-39,922,910),1713=>array(57,-39,922,910),1714=>array(57,-171,922,910),1715=>array(57,-293,922,910),1716=>array(57,-39,922,1025),1717=>array(63,-142,757,971),1718=>array(63,-142,700,952),1719=>array(63,-142,703,1025),1720=>array(63,-391,700,760),1721=>array(55,-317,702,464),1722=>array(55,-165,702,366),1723=>array(55,-165,702,636),1724=>array(55,-330,702,464),1725=>array(55,-165,702,586),1726=>array(63,-33,790,506),1727=>array(69,-244,648,579),1734=>array(-38,-244,492,556),1740=>array(57,-107,777,462),1742=>array(57,-107,777,556),1749=>array(43,-30,486,358),1776=>array(196,195,353,366),1777=>array(125,0,388,635),1778=>array(11,0,539,635),1779=>array(11,0,538,635),1780=>array(11,0,516,650),1781=>array(27,-8,522,643),1782=>array(77,0,463,645),1783=>array(13,0,536,635),1784=>array(13,0,536,635),1785=>array(28,0,532,640),1984=>array(43,-14,583,742),1985=>array(62,0,525,729),1986=>array(71,0,555,729),1987=>array(71,0,555,729),1988=>array(71,0,555,729),1989=>array(71,0,555,729),1990=>array(71,0,555,729),1991=>array(88,0,539,729),1992=>array(88,0,539,729),1993=>array(63,0,563,742),1994=>array(75,0,233,729),1995=>array(39,-14,454,465),1996=>array(13,0,476,729),1997=>array(13,0,574,451),1998=>array(75,0,546,451),1999=>array(75,0,546,451),2000=>array(41,0,493,742),2001=>array(75,0,546,667),2002=>array(39,0,738,742),2003=>array(75,0,421,729),2004=>array(75,0,421,729),2005=>array(75,0,526,729),2006=>array(75,0,543,729),2007=>array(13,0,324,729),2008=>array(75,0,845,532),2009=>array(13,0,442,729),2010=>array(13,0,730,729),2011=>array(75,0,546,451),2012=>array(13,0,574,729),2013=>array(75,0,782,729),2014=>array(75,0,489,729),2015=>array(39,0,623,729),2016=>array(13,0,442,729),2017=>array(13,0,574,729),2018=>array(39,0,479,729),2019=>array(75,0,489,729),2020=>array(75,0,489,581),2021=>array(75,0,489,729),2022=>array(39,0,479,729),2023=>array(39,0,479,729),2027=>array(85,668,363,760),2028=>array(56,638,394,777),2029=>array(167,654,287,774),2030=>array(58,616,390,800),2031=>array(29,616,395,803),2032=>array(56,638,394,777),2033=>array(29,616,395,803),2034=>array(165,-212,286,-92),2035=>array(86,654,364,774),2036=>array(57,418,250,729),2037=>array(92,418,286,729),2040=>array(75,0,546,562),2041=>array(75,0,546,564),2042=>array(-9,0,382,125),3647=>array(56,-147,575,760),3713=>array(39,-14,635,560),3714=>array(39,-14,650,560),3716=>array(39,-14,634,560),3719=>array(18,-241,470,561),3720=>array(38,0,635,560),3722=>array(35,-269,691,560),3725=>array(35,-24,642,610),3732=>array(38,-14,583,560),3733=>array(38,-19,583,561),3734=>array(-20,-240,615,560),3735=>array(18,-14,691,560),3737=>array(33,-15,613,560),3738=>array(34,-15,598,561),3739=>array(34,-15,598,760),3740=>array(54,-12,819,626),3741=>array(58,-14,686,760),3742=>array(68,-14,696,560),3743=>array(68,-14,696,760),3745=>array(22,-14,694,547),3746=>array(35,-23,642,760),3747=>array(43,-10,660,615),3749=>array(37,-33,624,560),3751=>array(29,-33,576,561),3754=>array(46,-21,738,724),3755=>array(40,-21,841,620),3757=>array(47,-20,596,606),3758=>array(43,-14,743,698),3759=>array(39,-259,808,648),3760=>array(32,-16,592,567),3761=>array(-588,610,-27,896),3762=>array(35,0,507,593),3763=>array(-432,0,507,875),3764=>array(-589,622,-55,950),3765=>array(-589,633,12,962),3766=>array(-589,622,-55,950),3767=>array(-589,633,12,962),3768=>array(-383,-385,-148,-55),3769=>array(-426,-316,-156,-28),3771=>array(-588,610,-27,896),3772=>array(-614,-311,13,-48),3773=>array(35,-220,623,776),3776=>array(75,-13,400,561),3777=>array(75,-13,737,561),3778=>array(-34,-14,413,936),3779=>array(21,-14,536,879),3780=>array(-13,-35,527,809),3782=>array(63,-240,620,582),3784=>array(-372,659,-267,844),3785=>array(-565,622,-20,918),3786=>array(-601,621,35,965),3787=>array(-470,612,-167,917),3788=>array(-614,603,13,866),3789=>array(-432,668,-207,875),3792=>array(59,-29,650,563),3793=>array(22,-139,649,586),3794=>array(28,-80,543,711),3795=>array(22,-14,794,981),3796=>array(43,-156,627,711),3797=>array(43,-156,627,711),3798=>array(58,-14,805,950),3799=>array(39,-240,635,560),3800=>array(64,-269,697,582),3801=>array(52,-14,773,564),3804=>array(40,-21,1171,620),3805=>array(40,-21,1174,620),4256=>array(42,-14,745,819),4257=>array(35,-0,647,819),4258=>array(33,-138,600,828),4259=>array(37,-15,714,819),4260=>array(26,0,515,828),4261=>array(22,0,656,828),4262=>array(13,-14,639,819),4263=>array(44,-14,801,828),4264=>array(4,0,374,862),4265=>array(35,0,523,819),4266=>array(16,-14,716,820),4267=>array(43,-14,753,819),4268=>array(39,0,527,819),4269=>array(33,-157,736,829),4270=>array(9,-14,659,822),4271=>array(18,0,527,823),4272=>array(39,-15,777,820),4273=>array(39,-15,528,820),4274=>array(39,-0,528,828),4275=>array(33,-170,736,828),4276=>array(33,0,746,825),4277=>array(25,0,626,820),4278=>array(40,0,528,828),4279=>array(30,0,520,820),4280=>array(35,-14,523,820),4281=>array(39,0,527,819),4282=>array(41,-14,700,827),4283=>array(42,-15,740,820),4284=>array(39,-0,528,819),4285=>array(26,-15,535,828),4286=>array(39,-0,528,819),4287=>array(13,0,654,819),4288=>array(16,-14,717,820),4289=>array(39,0,528,820),4290=>array(33,-15,587,828),4291=>array(8,0,497,820),4292=>array(30,0,505,820),4293=>array(21,-14,643,828),4304=>array(44,-14,455,599),4305=>array(44,-14,463,823),4306=>array(40,-232,521,561),4307=>array(44,-225,708,557),4308=>array(44,-232,447,557),4309=>array(44,-232,455,557),4310=>array(22,-14,452,828),4311=>array(44,-14,702,557),4312=>array(44,0,463,557),4313=>array(44,-232,456,542),4314=>array(44,-225,923,562),4315=>array(44,-14,455,828),4316=>array(57,-14,468,819),4317=>array(44,-0,689,557),4318=>array(44,-14,455,818),4319=>array(44,-232,454,560),4320=>array(44,0,697,830),4321=>array(57,-14,468,818),4322=>array(44,-232,586,670),4323=>array(26,-232,479,604),4324=>array(44,-232,713,558),4325=>array(44,-232,447,818),4326=>array(44,-225,689,557),4327=>array(44,-232,455,549),4328=>array(18,-14,440,828),4329=>array(57,0,468,828),4330=>array(44,-232,516,548),4331=>array(44,-14,454,818),4332=>array(58,-15,480,828),4333=>array(44,-232,466,818),4334=>array(57,-14,468,818),4335=>array(22,-232,464,580),4336=>array(44,-15,455,823),4337=>array(44,-14,455,823),4338=>array(44,-146,454,557),4339=>array(44,-232,455,558),4340=>array(44,-232,454,828),4341=>array(44,-14,502,828),4342=>array(44,-232,723,557),4343=>array(44,-232,500,557),4344=>array(44,-232,455,549),4345=>array(40,-232,521,561),4346=>array(44,-111,455,557),4347=>array(44,0,359,500),4348=>array(22,400,265,828),5121=>array(4,0,692,729),5122=>array(4,0,692,1056),5123=>array(4,0,692,729),5124=>array(4,0,692,928),5125=>array(83,0,739,729),5126=>array(83,0,739,928),5127=>array(83,0,739,927),5129=>array(83,0,739,729),5130=>array(75,0,732,729),5131=>array(75,0,732,928),5132=>array(83,0,912,729),5133=>array(4,0,833,729),5134=>array(83,0,912,729),5135=>array(4,0,833,729),5136=>array(83,0,912,928),5137=>array(4,0,833,928),5138=>array(83,0,958,729),5139=>array(83,0,950,729),5140=>array(83,0,958,928),5141=>array(83,0,950,928),5142=>array(83,0,739,928),5143=>array(83,0,952,729),5144=>array(75,0,953,729),5145=>array(83,0,952,928),5146=>array(75,0,953,928),5147=>array(75,0,732,928),5149=>array(83,607,203,728),5150=>array(54,326,426,734),5151=>array(28,338,341,722),5152=>array(28,338,341,722),5153=>array(54,392,305,711),5154=>array(54,352,305,670),5155=>array(54,392,305,670),5156=>array(54,392,305,670),5157=>array(28,327,466,749),5158=>array(54,326,373,734),5159=>array(83,304,203,424),5160=>array(54,494,305,569),5161=>array(54,392,305,670),5162=>array(54,392,305,693),5163=>array(4,0,1051,729),5164=>array(4,0,847,729),5165=>array(83,0,1054,729),5166=>array(75,0,1126,729),5167=>array(4,0,692,729),5168=>array(4,0,692,1056),5169=>array(4,0,692,729),5170=>array(4,0,692,928),5171=>array(66,0,722,729),5172=>array(66,0,722,928),5173=>array(66,0,722,927),5175=>array(66,0,722,729),5176=>array(66,0,722,729),5177=>array(66,0,722,928),5178=>array(83,0,912,729),5179=>array(4,0,833,729),5180=>array(83,0,912,729),5181=>array(4,0,833,729),5182=>array(83,0,912,928),5183=>array(4,0,833,928),5184=>array(83,0,942,729),5185=>array(66,0,950,729),5186=>array(83,0,942,928),5187=>array(66,0,950,928),5188=>array(83,0,942,729),5189=>array(66,0,953,729),5190=>array(83,0,942,928),5191=>array(66,0,953,928),5192=>array(66,0,722,927),5193=>array(54,326,468,727),5194=>array(54,326,155,734),5196=>array(83,-14,648,729),5197=>array(83,0,648,1056),5198=>array(83,0,648,743),5199=>array(83,0,648,928),5200=>array(66,0,684,729),5201=>array(66,0,684,928),5202=>array(66,0,684,927),5204=>array(66,0,684,729),5205=>array(50,0,668,729),5206=>array(50,0,668,928),5207=>array(83,-14,868,729),5208=>array(83,-14,868,729),5209=>array(83,0,868,743),5210=>array(83,0,868,743),5211=>array(83,0,868,928),5212=>array(83,0,868,928),5213=>array(83,0,903,729),5214=>array(66,0,874,729),5215=>array(83,0,903,928),5216=>array(66,0,874,928),5217=>array(83,0,888,729),5218=>array(50,0,871,729),5219=>array(83,0,888,928),5220=>array(50,0,871,928),5221=>array(83,0,888,729),5222=>array(54,326,384,733),5223=>array(83,-14,854,734),5224=>array(83,0,854,743),5225=>array(66,0,871,734),5226=>array(50,0,865,734),5227=>array(37,0,586,743),5228=>array(83,0,632,1056),5229=>array(83,0,632,743),5230=>array(83,0,632,928),5231=>array(37,-14,586,729),5232=>array(37,-14,586,928),5233=>array(37,-14,637,927),5234=>array(83,-14,632,729),5235=>array(83,-14,632,928),5236=>array(83,0,844,743),5237=>array(37,0,802,743),5238=>array(83,0,845,743),5239=>array(83,0,802,743),5240=>array(83,0,845,928),5241=>array(83,0,802,928),5242=>array(83,-14,844,729),5243=>array(37,-14,802,729),5244=>array(83,-14,844,928),5245=>array(37,-14,802,928),5246=>array(83,-14,845,729),5247=>array(83,-14,802,729),5248=>array(83,-14,845,928),5249=>array(83,-14,802,928),5250=>array(83,-14,845,729),5251=>array(54,319,400,734),5252=>array(54,319,400,734),5253=>array(37,0,793,743),5254=>array(83,0,793,743),5255=>array(37,-14,793,734),5256=>array(83,-14,793,734),5257=>array(37,0,586,743),5258=>array(83,0,632,1056),5259=>array(83,0,632,743),5260=>array(83,0,632,928),5261=>array(37,-14,586,729),5262=>array(37,-14,586,928),5263=>array(37,-14,643,927),5264=>array(83,-14,632,729),5265=>array(83,-14,632,928),5266=>array(83,0,844,743),5267=>array(37,0,802,743),5268=>array(83,0,889,743),5269=>array(83,0,802,743),5270=>array(83,0,889,928),5271=>array(83,0,802,928),5272=>array(83,-14,844,729),5273=>array(37,-14,802,729),5274=>array(83,-14,844,928),5275=>array(37,-14,802,928),5276=>array(83,-14,889,729),5277=>array(83,-14,802,729),5278=>array(83,-14,889,928),5279=>array(83,-14,802,928),5280=>array(83,-14,889,729),5281=>array(54,319,400,734),5282=>array(54,319,400,734),5283=>array(24,0,481,729),5284=>array(83,0,540,1056),5285=>array(83,0,540,729),5286=>array(83,0,540,928),5287=>array(24,0,481,729),5288=>array(24,0,481,928),5289=>array(24,0,539,927),5290=>array(83,0,540,729),5291=>array(83,0,540,928),5292=>array(83,0,711,729),5293=>array(24,0,694,729),5294=>array(83,0,752,729),5295=>array(83,0,711,729),5296=>array(83,0,752,928),5297=>array(83,0,711,928),5298=>array(83,0,711,729),5299=>array(24,0,711,729),5300=>array(83,0,711,928),5301=>array(24,0,711,928),5302=>array(83,0,752,729),5303=>array(83,0,711,729),5304=>array(83,0,752,928),5305=>array(83,0,711,928),5306=>array(83,0,752,729),5307=>array(54,326,342,734),5308=>array(54,326,443,733),5309=>array(54,326,342,734),5312=>array(75,-14,853,468),5313=>array(37,-14,813,786),5314=>array(37,-14,813,468),5315=>array(37,-14,813,667),5316=>array(24,0,801,482),5317=>array(24,0,801,667),5318=>array(24,0,801,667),5319=>array(37,0,813,482),5320=>array(37,0,813,667),5321=>array(83,-14,1077,468),5322=>array(75,-14,1047,468),5323=>array(83,0,1055,482),5324=>array(37,0,1030,482),5325=>array(83,0,1055,667),5326=>array(37,0,1030,667),5327=>array(37,0,813,667),5328=>array(54,477,543,742),5329=>array(54,319,396,734),5330=>array(54,477,543,742),5331=>array(75,0,853,468),5332=>array(37,0,813,786),5333=>array(37,0,813,468),5334=>array(37,0,813,667),5335=>array(24,0,801,468),5336=>array(24,0,801,667),5337=>array(24,0,801,667),5338=>array(37,0,813,468),5339=>array(37,0,813,667),5340=>array(83,0,1071,468),5341=>array(75,0,1047,468),5342=>array(83,0,1080,468),5343=>array(37,0,1030,468),5344=>array(83,0,1080,667),5345=>array(37,0,1030,667),5346=>array(83,0,1068,468),5347=>array(24,0,1018,468),5348=>array(83,0,1068,667),5349=>array(24,0,1018,667),5350=>array(83,0,1080,468),5351=>array(37,0,1030,468),5352=>array(83,0,1080,667),5353=>array(37,0,1030,667),5354=>array(54,477,543,734),5356=>array(66,0,722,729),5357=>array(37,0,575,729),5358=>array(83,0,663,1056),5359=>array(83,0,620,729),5360=>array(83,0,620,928),5361=>array(37,0,575,729),5362=>array(37,0,575,928),5363=>array(37,0,625,927),5364=>array(83,0,620,729),5365=>array(83,0,620,928),5366=>array(83,0,815,729),5367=>array(37,0,787,729),5368=>array(83,0,833,729),5369=>array(83,0,815,729),5370=>array(83,0,833,928),5371=>array(83,0,815,928),5372=>array(83,0,815,729),5373=>array(37,0,787,729),5374=>array(83,0,815,928),5375=>array(37,0,787,928),5376=>array(83,0,833,729),5377=>array(83,0,815,729),5378=>array(83,0,833,928),5379=>array(83,0,815,928),5380=>array(83,0,833,729),5381=>array(54,326,393,734),5382=>array(54,319,364,742),5383=>array(54,326,393,734),5392=>array(37,-14,794,743),5393=>array(37,-14,794,743),5394=>array(37,-14,794,928),5395=>array(37,-14,985,482),5396=>array(37,-14,985,667),5397=>array(37,-14,985,482),5398=>array(37,-14,985,667),5399=>array(83,-14,1051,743),5400=>array(37,-14,1006,743),5401=>array(83,-14,1051,743),5402=>array(37,-14,1006,743),5403=>array(83,-14,1051,928),5404=>array(37,-14,1006,928),5405=>array(83,-14,1251,482),5406=>array(37,-14,1203,482),5407=>array(83,-14,1251,667),5408=>array(37,-14,1203,667),5409=>array(83,-14,1251,482),5410=>array(37,-14,1203,482),5411=>array(83,-14,1251,667),5412=>array(37,-14,1203,667),5413=>array(54,469,621,747),5414=>array(75,0,616,729),5415=>array(83,0,623,1056),5416=>array(83,0,623,729),5417=>array(83,0,623,928),5418=>array(75,0,616,729),5419=>array(75,0,616,928),5420=>array(75,0,675,927),5421=>array(83,0,623,729),5422=>array(83,0,623,928),5423=>array(83,0,820,729),5424=>array(75,0,828,729),5425=>array(83,0,836,729),5426=>array(83,0,821,729),5427=>array(83,0,836,928),5428=>array(83,0,821,928),5429=>array(83,0,820,729),5430=>array(75,0,828,729),5431=>array(83,0,820,928),5432=>array(75,0,828,928),5433=>array(83,0,836,729),5434=>array(83,0,821,729),5435=>array(83,0,836,928),5436=>array(83,0,821,928),5437=>array(83,0,836,928),5438=>array(54,326,395,734),5440=>array(54,392,305,670),5441=>array(54,326,409,734),5442=>array(83,-14,854,468),5443=>array(75,-14,847,468),5444=>array(24,0,796,482),5445=>array(83,0,854,786),5446=>array(83,0,854,482),5447=>array(83,0,854,667),5448=>array(83,0,623,729),5449=>array(83,0,623,928),5450=>array(83,0,623,729),5451=>array(37,0,577,729),5452=>array(37,0,577,928),5453=>array(37,0,577,729),5454=>array(83,0,820,928),5455=>array(37,0,788,928),5456=>array(54,326,395,727),5458=>array(66,0,722,729),5459=>array(45,0,692,743),5460=>array(45,-14,692,1056),5461=>array(45,-14,692,729),5462=>array(45,-14,692,928),5463=>array(66,0,760,663),5464=>array(66,0,760,928),5465=>array(75,0,770,663),5466=>array(75,0,770,928),5467=>array(83,0,989,928),5468=>array(75,0,953,928),5469=>array(54,311,492,675),5470=>array(83,-14,648,743),5471=>array(83,-14,648,743),5472=>array(83,-14,648,743),5473=>array(83,-14,648,743),5474=>array(83,-14,648,928),5475=>array(83,-14,648,928),5476=>array(48,0,684,729),5477=>array(48,0,684,928),5478=>array(50,0,686,729),5479=>array(50,0,686,928),5480=>array(83,0,905,928),5481=>array(50,0,871,928),5482=>array(54,326,461,733),5492=>array(37,0,804,743),5493=>array(75,0,843,743),5494=>array(75,0,843,928),5495=>array(37,-14,804,729),5496=>array(37,-14,804,928),5497=>array(75,-14,843,729),5498=>array(75,-14,843,928),5499=>array(54,319,505,734),5500=>array(83,0,671,729),5501=>array(54,326,409,734),5502=>array(54,0,1077,1056),5503=>array(54,0,1077,743),5504=>array(54,0,1077,928),5505=>array(54,-14,1032,729),5506=>array(54,-14,1032,928),5507=>array(54,-14,1077,729),5508=>array(54,-14,1077,928),5509=>array(54,319,846,734),5514=>array(37,0,804,743),5515=>array(75,0,843,743),5516=>array(37,-14,804,729),5517=>array(75,-14,843,729),5518=>array(54,0,1395,1056),5519=>array(54,0,1395,743),5520=>array(54,0,1395,928),5521=>array(54,-14,1083,741),5522=>array(54,-14,1083,928),5523=>array(54,-14,1395,741),5524=>array(54,-14,1395,928),5525=>array(54,335,712,741),5526=>array(54,335,1095,741),5536=>array(37,0,813,709),5537=>array(37,0,813,709),5538=>array(24,-242,801,468),5539=>array(24,-242,801,667),5540=>array(37,-242,813,468),5541=>array(37,-242,813,667),5542=>array(54,344,543,734),5543=>array(75,0,694,729),5544=>array(4,0,623,729),5545=>array(4,0,623,928),5546=>array(75,0,694,729),5547=>array(75,0,694,928),5548=>array(4,0,623,729),5549=>array(4,0,623,928),5550=>array(13,326,395,734),5551=>array(83,-14,632,729),5598=>array(83,0,700,729),5601=>array(47,0,665,729),5702=>array(54,326,396,734),5703=>array(54,240,396,820),5742=>array(9,0,363,306),5743=>array(54,0,1032,743),5744=>array(54,0,1349,743),5745=>array(54,0,1778,743),5746=>array(54,0,1778,928),5747=>array(54,-14,1466,741),5748=>array(54,-14,1428,928),5749=>array(54,-14,1778,741),5750=>array(54,-14,1778,928),5760=>array(-9,219,498,354),5761=>array(-9,-125,582,354),5762=>array(-9,-125,860,354),5763=>array(-9,-125,1138,354),5764=>array(-9,-125,1415,354),5765=>array(-9,-125,1693,354),5766=>array(-9,219,573,697),5767=>array(-9,219,851,697),5768=>array(-9,219,1138,697),5769=>array(-9,219,1412,697),5770=>array(-9,219,1693,697),5771=>array(-9,-125,521,697),5772=>array(-9,-125,800,697),5773=>array(-9,-125,1078,697),5774=>array(-9,-125,1357,697),5775=>array(-9,-125,1635,697),5776=>array(-9,41,582,532),5777=>array(-9,41,860,532),5778=>array(-9,41,1138,532),5779=>array(-9,41,1415,532),5780=>array(-9,41,1693,532),5781=>array(-9,-125,521,697),5782=>array(-9,-125,854,697),5783=>array(-9,-109,719,354),5784=>array(-9,-254,1120,354),5785=>array(-9,219,1412,928),5786=>array(-9,14,675,354),5787=>array(49,-49,583,622),5788=>array(-9,-49,525,622),7424=>array(13,0,574,547),7425=>array(0,0,680,547),7426=>array(39,-14,900,560),7427=>array(18,0,508,547),7428=>array(39,-14,474,560),7429=>array(75,-1,550,547),7430=>array(18,-1,550,547),7431=>array(83,0,433,547),7432=>array(48,-14,444,560),7433=>array(75,-213,233,547),7434=>array(40,-14,375,547),7435=>array(75,0,616,547),7436=>array(-17,0,449,547),7437=>array(75,0,660,547),7438=>array(75,0,555,547),7439=>array(39,-14,580,560),7440=>array(39,-14,474,560),7441=>array(39,-27,556,573),7442=>array(39,31,556,515),7443=>array(12,-28,588,579),7444=>array(39,-14,941,560),7446=>array(39,273,580,560),7447=>array(40,-14,581,273),7448=>array(45,0,463,547),7449=>array(19,0,504,547),7450=>array(19,0,504,547),7451=>array(3,0,518,547),7452=>array(75,-14,547,547),7453=>array(76,10,582,560),7454=>array(62,10,771,561),7455=>array(17,-238,586,560),7456=>array(13,0,574,547),7457=>array(31,0,800,547),7458=>array(40,0,481,547),7459=>array(51,-14,523,547),7462=>array(75,0,449,547),7463=>array(13,0,574,547),7464=>array(75,0,546,547),7465=>array(45,0,463,547),7466=>array(75,0,628,547),7467=>array(49,0,584,547),7468=>array(2,326,436,734),7469=>array(0,326,574,734),7470=>array(52,326,393,734),7472=>array(52,326,441,734),7473=>array(52,326,346,734),7474=>array(52,326,346,734),7475=>array(28,318,424,742),7476=>array(52,326,422,734),7477=>array(52,326,159,734),7478=>array(-32,214,159,734),7479=>array(52,326,457,734),7480=>array(52,326,346,734),7481=>array(52,326,512,734),7482=>array(52,326,422,734),7483=>array(52,326,422,734),7484=>array(28,318,454,742),7485=>array(35,318,424,742),7486=>array(52,326,393,734),7487=>array(52,326,426,734),7488=>array(2,326,384,734),7489=>array(52,318,409,734),7490=>array(17,326,608,734),7491=>array(48,318,362,640),7492=>array(48,318,362,640),7493=>array(48,318,381,640),7494=>array(48,318,591,640),7495=>array(48,318,381,751),7496=>array(48,318,381,751),7497=>array(48,318,381,640),7498=>array(48,318,381,640),7499=>array(48,318,297,640),7500=>array(48,318,297,640),7501=>array(48,205,381,639),7502=>array(48,207,147,632),7503=>array(48,326,388,751),7504=>array(48,326,547,640),7505=>array(48,205,360,640),7506=>array(48,318,389,640),7507=>array(48,318,322,640),7508=>array(48,479,389,640),7509=>array(48,318,389,479),7510=>array(48,209,381,640),7511=>array(48,326,299,719),7512=>array(48,318,360,632),7513=>array(48,332,366,640),7514=>array(48,318,547,632),7515=>array(48,326,401,632),7517=>array(47,209,381,759),7518=>array(9,209,378,632),7519=>array(24,318,366,756),7520=>array(36,209,411,635),7521=>array(14,209,352,632),7522=>array(48,0,147,425),7523=>array(48,0,283,313),7524=>array(48,-8,360,306),7525=>array(48,0,401,306),7526=>array(47,-117,381,433),7527=>array(9,-117,378,306),7528=>array(47,-117,381,314),7529=>array(36,-117,411,309),7530=>array(14,-117,352,306),7543=>array(75,-216,604,559),7544=>array(52,326,422,734),7547=>array(75,0,416,547),7549=>array(4,-208,668,560),7557=>array(75,-216,391,760),7579=>array(48,318,381,640),7580=>array(48,318,322,640),7581=>array(48,288,322,640),7582=>array(48,318,389,751),7583=>array(48,318,297,640),7584=>array(48,326,289,751),7585=>array(48,205,263,632),7586=>array(48,205,381,632),7587=>array(48,207,360,632),7588=>array(48,326,262,751),7589=>array(48,326,203,632),7590=>array(48,326,262,632),7591=>array(48,326,262,632),7592=>array(48,205,338,751),7593=>array(48,205,243,751),7594=>array(48,205,247,751),7595=>array(48,326,283,632),7596=>array(48,205,548,640),7597=>array(48,209,547,632),7598=>array(48,205,456,640),7599=>array(48,205,455,640),7600=>array(48,326,354,632),7601=>array(48,318,389,640),7602=>array(48,209,438,751),7603=>array(48,205,330,640),7604=>array(48,205,306,751),7605=>array(48,205,299,719),7606=>array(48,318,475,632),7607=>array(48,298,395,632),7608=>array(47,318,345,632),7609=>array(48,326,355,632),7610=>array(48,326,401,632),7611=>array(48,326,325,632),7612=>array(48,205,421,632),7613=>array(48,288,373,632),7614=>array(48,206,360,632),7615=>array(48,320,333,756),7620=>array(-421,616,-31,800),7621=>array(-421,616,-31,800),7622=>array(-421,616,-31,800),7623=>array(-421,616,-31,800),7624=>array(-462,616,10,800),7625=>array(-462,616,10,800),7680=>array(4,-240,692,729),7681=>array(39,-240,537,560),7682=>array(83,0,623,928),7683=>array(75,-14,604,913),7684=>array(83,-212,623,729),7685=>array(75,-212,604,760),7686=>array(83,-184,623,729),7687=>array(75,-184,604,760),7688=>array(44,-196,603,927),7689=>array(39,-196,474,800),7690=>array(83,0,700,927),7691=>array(40,-14,569,942),7692=>array(83,-212,700,729),7693=>array(40,-212,569,760),7694=>array(83,-184,700,729),7695=>array(40,-184,569,760),7696=>array(83,-192,700,729),7697=>array(40,-196,569,760),7698=>array(83,-240,700,729),7699=>array(40,-240,569,760),7700=>array(83,0,549,1057),7701=>array(39,-14,567,927),7702=>array(83,0,549,1057),7703=>array(39,-14,567,927),7704=>array(83,-203,549,729),7705=>array(39,-203,567,560),7706=>array(83,-195,549,729),7707=>array(39,-195,567,560),7708=>array(83,-196,549,927),7709=>array(39,-196,567,784),7710=>array(83,0,540,928),7711=>array(17,0,400,942),7712=>array(44,-14,672,901),7713=>array(40,-216,569,760),7714=>array(83,0,671,928),7715=>array(75,0,571,913),7716=>array(83,-212,671,729),7717=>array(75,-212,571,760),7718=>array(83,0,671,927),7719=>array(21,0,571,927),7720=>array(40,-196,671,729),7721=>array(34,-196,571,760),7722=>array(83,-236,671,729),7723=>array(75,-236,571,760),7724=>array(14,-195,320,729),7725=>array(0,-195,307,760),7726=>array(36,0,341,1057),7727=>array(14,0,319,917),7728=>array(83,0,725,927),7729=>array(75,0,616,982),7730=>array(83,-212,725,729),7731=>array(75,-212,616,760),7732=>array(83,-184,725,729),7733=>array(75,-184,616,760),7734=>array(83,-212,549,729),7735=>array(75,-212,233,760),7736=>array(29,-212,549,942),7737=>array(16,-212,293,914),7738=>array(83,-184,549,729),7739=>array(18,-184,295,760),7740=>array(83,-240,549,729),7741=>array(-12,-240,320,760),7742=>array(83,0,813,927),7743=>array(75,0,867,800),7744=>array(83,0,813,928),7745=>array(75,0,867,760),7746=>array(83,-212,813,729),7747=>array(75,-212,867,560),7748=>array(83,0,671,928),7749=>array(75,0,571,760),7750=>array(83,-212,671,729),7751=>array(75,-212,571,560),7752=>array(83,-184,671,729),7753=>array(75,-184,571,560),7754=>array(83,-240,671,729),7755=>array(75,-240,571,560),7756=>array(44,-14,720,1057),7757=>array(39,-14,580,916),7758=>array(44,-14,720,1043),7759=>array(39,-14,580,900),7760=>array(44,-14,720,1057),7761=>array(39,-14,580,927),7762=>array(44,-14,720,1057),7763=>array(39,-14,580,927),7764=>array(83,0,623,927),7765=>array(75,-208,604,800),7766=>array(83,0,623,928),7767=>array(75,-208,604,760),7768=>array(83,0,675,928),7769=>array(75,0,441,760),7770=>array(83,-212,675,729),7771=>array(75,-212,441,560),7772=>array(83,-212,675,914),7773=>array(75,-212,441,759),7774=>array(83,-184,675,729),7775=>array(30,-184,441,560),7776=>array(64,-14,583,928),7777=>array(46,-14,493,760),7778=>array(64,-212,583,742),7779=>array(46,-212,493,560),7780=>array(64,-14,583,928),7781=>array(46,-14,493,816),7782=>array(64,-14,583,1053),7783=>array(46,-14,493,1002),7784=>array(64,-212,583,928),7785=>array(46,-212,493,762),7786=>array(4,0,609,927),7787=>array(12,0,410,942),7788=>array(4,-212,609,729),7789=>array(12,-212,410,702),7790=>array(4,-184,609,729),7791=>array(12,-184,410,702),7792=>array(4,-240,609,729),7793=>array(12,-240,410,702),7794=>array(83,-212,648,729),7795=>array(70,-212,565,547),7796=>array(83,-196,648,729),7797=>array(70,-195,565,547),7798=>array(83,-203,648,729),7799=>array(70,-203,565,547),7800=>array(83,-14,648,1057),7801=>array(70,-14,565,916),7802=>array(83,-14,648,1043),7803=>array(70,-14,565,887),7804=>array(4,0,692,928),7805=>array(13,0,574,778),7806=>array(4,-212,692,729),7807=>array(13,-212,574,547),7808=>array(26,0,965,931),7809=>array(31,0,800,803),7810=>array(26,0,965,931),7811=>array(31,0,800,803),7812=>array(26,0,965,927),7813=>array(31,0,800,774),7814=>array(26,0,965,927),7815=>array(31,0,800,760),7816=>array(26,-212,965,729),7817=>array(31,-212,800,547),7818=>array(17,0,676,928),7819=>array(13,0,567,760),7820=>array(17,0,676,927),7821=>array(13,0,567,774),7822=>array(-9,0,661,928),7823=>array(11,-216,571,760),7824=>array(40,0,612,927),7825=>array(40,0,481,798),7826=>array(40,-212,612,729),7827=>array(40,-212,481,547),7828=>array(40,-184,612,729),7829=>array(40,-184,481,547),7830=>array(75,-184,571,760),7831=>array(12,0,410,927),7832=>array(31,0,800,888),7833=>array(11,-216,571,888),7834=>array(39,-14,682,760),7835=>array(17,0,400,942),7836=>array(-17,0,400,760),7837=>array(17,0,400,760),7838=>array(83,-14,741,743),7839=>array(39,-14,580,768),7840=>array(4,-212,692,729),7841=>array(39,-212,537,560),7842=>array(4,0,692,1025),7843=>array(39,-14,537,843),7844=>array(4,0,692,1054),7845=>array(39,-14,587,873),7846=>array(4,0,692,1054),7847=>array(39,-14,538,874),7848=>array(4,0,692,1093),7849=>array(39,-14,605,912),7850=>array(4,0,692,1068),7851=>array(39,-14,537,887),7852=>array(4,-212,692,927),7853=>array(39,-212,537,800),7854=>array(4,0,692,1057),7855=>array(39,-14,537,891),7856=>array(4,0,692,1057),7857=>array(39,-14,537,894),7858=>array(4,0,692,1123),7859=>array(39,-14,537,959),7860=>array(4,0,692,1068),7861=>array(39,-14,537,905),7862=>array(4,-212,692,935),7863=>array(39,-212,537,780),7864=>array(83,-212,549,729),7865=>array(39,-212,567,560),7866=>array(83,0,549,1025),7867=>array(39,-14,567,843),7868=>array(83,0,549,928),7869=>array(39,-14,567,778),7870=>array(83,0,616,1054),7871=>array(39,-14,620,873),7872=>array(83,0,559,1054),7873=>array(39,-14,567,874),7874=>array(83,0,618,1093),7875=>array(39,-14,613,912),7876=>array(83,0,549,1068),7877=>array(39,-14,567,887),7878=>array(83,-212,549,927),7879=>array(39,-212,567,800),7880=>array(59,0,282,1025),7881=>array(47,0,270,842),7882=>array(83,-212,252,729),7883=>array(75,-212,233,760),7884=>array(44,-212,720,742),7885=>array(39,-212,580,560),7886=>array(44,-14,720,1025),7887=>array(39,-14,580,843),7888=>array(44,-14,720,1054),7889=>array(39,-14,611,873),7890=>array(44,-14,720,1054),7891=>array(39,-14,580,874),7892=>array(44,-14,720,1093),7893=>array(39,-14,617,912),7894=>array(44,-14,720,1068),7895=>array(39,-14,580,887),7896=>array(44,-212,720,927),7897=>array(39,-212,580,800),7898=>array(47,-14,769,927),7899=>array(42,-14,637,800),7900=>array(47,-14,769,927),7901=>array(42,-14,637,800),7902=>array(47,-14,769,1025),7903=>array(42,-14,637,843),7904=>array(47,-14,769,928),7905=>array(42,-14,637,778),7906=>array(47,-212,769,761),7907=>array(42,-212,637,609),7908=>array(83,-212,648,729),7909=>array(70,-212,565,547),7910=>array(83,-14,648,1025),7911=>array(70,-14,565,843),7912=>array(82,-14,750,927),7913=>array(67,-14,660,800),7914=>array(82,-14,750,927),7915=>array(67,-14,660,800),7916=>array(82,-14,750,1025),7917=>array(67,-14,660,843),7918=>array(82,-14,750,928),7919=>array(67,-14,660,778),7920=>array(82,-212,750,761),7921=>array(67,-212,660,609),7922=>array(-9,0,661,931),7923=>array(11,-216,571,803),7924=>array(-9,-212,661,729),7925=>array(11,-216,571,547),7926=>array(-9,0,661,1029),7927=>array(11,-216,571,843),7928=>array(-9,0,661,928),7929=>array(11,-216,571,778),7930=>array(83,0,833,729),7931=>array(8,0,571,760),7936=>array(43,-13,581,785),7937=>array(43,-13,581,785),7938=>array(43,-13,581,800),7939=>array(43,-13,581,800),7940=>array(43,-13,581,800),7941=>array(43,-13,581,800),7942=>array(43,-13,581,928),7943=>array(43,-13,581,928),7944=>array(4,0,692,785),7945=>array(4,0,692,785),7946=>array(1,0,933,800),7947=>array(3,0,935,800),7948=>array(1,0,837,800),7949=>array(1,0,862,800),7950=>array(3,0,748,928),7951=>array(3,0,769,928),7952=>array(48,-14,444,785),7953=>array(48,-14,444,785),7954=>array(48,-14,448,800),7955=>array(48,-14,444,800),7956=>array(48,-14,479,800),7957=>array(48,-14,465,800),7960=>array(3,0,646,785),7961=>array(3,0,649,785),7962=>array(1,0,924,800),7963=>array(3,0,921,800),7964=>array(1,0,855,800),7965=>array(1,0,881,800),7968=>array(75,-208,571,785),7969=>array(75,-208,571,785),7970=>array(75,-208,571,800),7971=>array(75,-208,571,800),7972=>array(75,-208,571,800),7973=>array(75,-208,571,800),7974=>array(75,-208,571,928),7975=>array(75,-208,571,928),7976=>array(3,0,769,785),7977=>array(3,0,773,785),7978=>array(1,0,1043,800),7979=>array(3,0,1042,800),7980=>array(1,0,979,800),7981=>array(1,0,1003,800),7982=>array(3,0,866,928),7983=>array(3,0,874,928),7984=>array(70,-19,313,785),7985=>array(70,-19,313,785),7986=>array(-25,-19,367,800),7987=>array(-53,-19,339,800),7988=>array(28,-19,401,800),7989=>array(-5,-19,395,800),7990=>array(-2,-19,313,928),7991=>array(-4,-19,313,928),7992=>array(3,0,352,785),7993=>array(3,0,357,785),7994=>array(1,0,616,800),7995=>array(3,0,624,800),7996=>array(1,0,558,800),7997=>array(1,0,582,800),7998=>array(3,0,461,928),7999=>array(3,0,461,928),8000=>array(39,-14,580,785),8001=>array(39,-14,580,785),8002=>array(39,-14,580,800),8003=>array(39,-14,580,800),8004=>array(39,-14,580,800),8005=>array(39,-14,580,800),8008=>array(3,-14,757,785),8009=>array(3,-14,795,785),8010=>array(1,-14,1054,800),8011=>array(3,-14,1056,800),8012=>array(1,-14,902,800),8013=>array(1,-14,929,800),8016=>array(70,-10,567,785),8017=>array(70,-10,567,785),8018=>array(70,-10,567,800),8019=>array(70,-10,567,800),8020=>array(70,-10,567,800),8021=>array(70,-10,567,800),8022=>array(70,-10,567,928),8023=>array(70,-10,567,928),8025=>array(3,0,846,785),8027=>array(3,0,1075,800),8029=>array(1,0,1088,800),8031=>array(3,0,953,928),8032=>array(39,-13,744,785),8033=>array(39,-13,744,785),8034=>array(39,-13,744,800),8035=>array(39,-13,744,800),8036=>array(39,-13,744,800),8037=>array(39,-13,744,800),8038=>array(39,-13,744,928),8039=>array(39,-13,744,928),8040=>array(3,0,793,785),8041=>array(3,0,838,785),8042=>array(1,0,1097,800),8043=>array(3,-3,1102,800),8044=>array(1,0,944,800),8045=>array(1,0,970,800),8046=>array(3,0,901,928),8047=>array(3,0,944,928),8048=>array(43,-13,581,800),8049=>array(43,-13,581,800),8050=>array(48,-14,444,800),8051=>array(48,-14,444,800),8052=>array(75,-208,571,800),8053=>array(75,-208,571,800),8054=>array(-24,-19,313,800),8055=>array(69,-19,318,800),8056=>array(39,-14,580,800),8057=>array(39,-14,580,800),8058=>array(70,-10,567,800),8059=>array(70,-10,567,800),8060=>array(39,-13,744,800),8061=>array(39,-13,744,800),8064=>array(43,-208,581,785),8065=>array(43,-208,581,785),8066=>array(43,-208,581,800),8067=>array(43,-208,581,800),8068=>array(43,-208,581,800),8069=>array(43,-208,581,800),8070=>array(43,-208,581,928),8071=>array(43,-208,581,928),8072=>array(4,-208,692,785),8073=>array(4,-208,692,785),8074=>array(1,-208,933,800),8075=>array(3,-208,935,800),8076=>array(1,-208,837,800),8077=>array(1,-208,862,800),8078=>array(3,-208,748,928),8079=>array(3,-208,769,928),8080=>array(75,-208,571,785),8081=>array(75,-208,571,785),8082=>array(75,-208,571,800),8083=>array(75,-208,571,800),8084=>array(75,-208,571,800),8085=>array(75,-208,571,800),8086=>array(75,-208,571,928),8087=>array(75,-208,571,928),8088=>array(3,-208,769,785),8089=>array(3,-208,773,785),8090=>array(1,-208,1043,800),8091=>array(3,-208,1042,800),8092=>array(1,-208,979,800),8093=>array(1,-208,1003,800),8094=>array(3,-208,866,928),8095=>array(3,-208,874,928),8096=>array(39,-208,744,785),8097=>array(39,-208,744,785),8098=>array(39,-208,744,800),8099=>array(39,-208,744,800),8100=>array(39,-208,744,800),8101=>array(39,-208,744,800),8102=>array(39,-208,744,928),8103=>array(39,-208,744,928),8104=>array(3,-208,793,785),8105=>array(3,-208,838,785),8106=>array(1,-208,1097,800),8107=>array(3,-208,1102,800),8108=>array(1,-208,944,800),8109=>array(1,-208,970,800),8110=>array(3,-208,901,928),8111=>array(3,-208,944,928),8112=>array(43,-13,581,784),8113=>array(43,-13,581,760),8114=>array(43,-208,581,800),8115=>array(43,-208,581,559),8116=>array(43,-208,581,800),8118=>array(43,-13,581,778),8119=>array(43,-208,581,778),8120=>array(4,0,692,927),8121=>array(4,0,692,914),8122=>array(-1,0,785,800),8123=>array(23,0,713,800),8124=>array(4,-208,692,729),8125=>array(165,595,286,785),8126=>array(182,-208,299,-45),8127=>array(165,595,286,785),8128=>array(72,638,378,778),8129=>array(72,654,378,928),8130=>array(75,-208,571,800),8131=>array(75,-208,571,560),8132=>array(75,-208,571,800),8134=>array(75,-208,571,778),8135=>array(75,-208,571,778),8136=>array(-1,0,771,800),8137=>array(-22,0,694,800),8138=>array(-1,0,890,800),8139=>array(-17,0,824,800),8140=>array(83,-208,671,729),8141=>array(30,595,422,800),8142=>array(57,595,430,800),8143=>array(72,595,378,928),8144=>array(2,-19,313,784),8145=>array(18,-19,313,760),8146=>array(-33,-19,313,978),8147=>array(21,-19,335,978),8150=>array(3,-19,313,778),8151=>array(-5,-19,313,928),8152=>array(19,0,315,927),8153=>array(28,0,306,914),8154=>array(-1,0,476,800),8155=>array(-19,0,405,800),8157=>array(35,595,427,800),8158=>array(41,595,440,800),8159=>array(72,595,378,928),8160=>array(70,-10,567,784),8161=>array(70,-10,567,760),8162=>array(70,-10,567,978),8163=>array(70,-10,567,978),8164=>array(75,-208,604,785),8165=>array(75,-208,604,785),8166=>array(70,-10,567,778),8167=>array(70,-10,567,928),8168=>array(-9,0,661,927),8169=>array(-9,0,661,914),8170=>array(-1,0,927,800),8171=>array(-24,0,893,800),8172=>array(3,0,718,785),8173=>array(41,654,364,978),8174=>array(86,654,401,978),8175=>array(41,616,290,800),8178=>array(39,-208,744,800),8179=>array(39,-208,744,547),8180=>array(39,-208,744,800),8182=>array(39,-13,744,778),8183=>array(39,-208,744,778),8184=>array(-1,-14,914,800),8185=>array(-17,-14,753,800),8186=>array(-1,0,952,800),8187=>array(-27,0,780,800),8188=>array(24,-208,741,742),8189=>array(160,616,409,800),8190=>array(165,595,286,785),8208=>array(48,217,325,359),8209=>array(48,217,325,359),8210=>array(48,211,578,337),8211=>array(48,211,402,337),8212=>array(48,211,852,337),8213=>array(0,211,900,337),8214=>array(114,-236,359,764),8215=>array(0,-236,450,-9),8216=>array(92,418,286,729),8217=>array(57,418,250,729),8218=>array(64,-122,259,189),8219=>array(57,418,250,729),8220=>array(92,418,509,729),8221=>array(83,418,499,729),8222=>array(64,-122,481,189),8223=>array(83,418,499,729),8224=>array(23,-96,423,729),8225=>array(22,-96,423,729),8226=>array(129,196,446,547),8227=>array(129,157,481,586),8228=>array(71,0,229,189),8229=>array(71,0,529,189),8230=>array(71,0,829,189),8231=>array(77,253,236,442),8240=>array(29,-14,1275,742),8241=>array(29,-14,1678,742),8242=>array(18,547,216,729),8243=>array(18,547,381,729),8244=>array(18,547,545,729),8245=>array(18,547,216,729),8246=>array(18,547,383,729),8247=>array(18,547,545,729),8248=>array(91,-238,569,29),8249=>array(69,67,286,519),8250=>array(84,67,302,519),8251=>array(65,0,810,829),8252=>array(62,0,502,729),8253=>array(62,0,464,742),8254=>array(0,663,450,755),8255=>array(-28,-237,773,-79),8256=>array(-28,769,773,927),8257=>array(-47,-235,267,231),8258=>array(18,-37,903,832),8259=>array(86,220,364,358),8260=>array(-180,-14,330,742),8261=>array(77,-132,351,760),8262=>array(61,-132,334,760),8263=>array(31,0,896,742),8264=>array(62,0,684,742),8265=>array(62,0,684,742),8266=>array(44,-125,418,546),8267=>array(83,-96,521,729),8268=>array(67,189,382,541),8269=>array(67,189,382,541),8270=>array(18,0,453,464),8271=>array(93,-142,296,547),8272=>array(-28,-237,773,927),8273=>array(47,-14,396,797),8274=>array(26,-93,477,729),8275=>array(44,212,856,415),8276=>array(-28,-240,773,-82),8277=>array(137,98,617,631),8278=>array(99,93,517,645),8279=>array(18,547,710,729),8280=>array(68,21,686,708),8281=>array(113,71,641,657),8282=>array(92,0,252,729),8283=>array(44,-170,740,898),8284=>array(49,0,705,729),8285=>array(92,0,250,683),8286=>array(92,0,250,683),8304=>array(26,319,358,742),8305=>array(48,326,147,751),8308=>array(24,326,358,734),8309=>array(42,319,346,734),8310=>array(34,319,355,742),8311=>array(37,326,341,734),8312=>array(34,319,351,742),8313=>array(28,319,349,742),8314=>array(60,326,415,677),8315=>array(60,469,415,534),8316=>array(60,407,415,596),8317=>array(48,252,214,751),8318=>array(45,252,211,751),8319=>array(48,326,365,640),8320=>array(26,-7,358,416),8321=>array(54,0,344,408),8322=>array(48,0,344,416),8323=>array(40,-7,346,416),8324=>array(24,0,358,408),8325=>array(42,-7,346,408),8326=>array(34,-7,355,416),8327=>array(37,0,341,408),8328=>array(34,-7,351,416),8329=>array(28,-7,349,416),8330=>array(60,0,415,351),8331=>array(60,143,415,208),8332=>array(60,81,415,270),8333=>array(48,-74,214,425),8334=>array(45,-74,211,425),8336=>array(48,-8,362,313),8337=>array(48,-8,381,313),8338=>array(48,-8,389,313),8339=>array(9,0,363,306),8340=>array(48,-8,381,313),8341=>array(48,0,365,425),8342=>array(48,0,388,425),8343=>array(48,0,149,425),8344=>array(48,0,547,313),8345=>array(48,0,365,313),8346=>array(48,-117,381,313),8347=>array(30,-8,316,313),8348=>array(48,0,299,393),8352=>array(34,0,803,729),8353=>array(44,-44,571,778),8354=>array(26,-14,601,742),8355=>array(67,0,597,729),8356=>array(55,0,552,742),8357=>array(75,-93,867,640),8358=>array(39,0,715,729),8359=>array(83,-14,1323,729),8360=>array(83,-14,1042,729),8361=>array(12,0,980,729),8362=>array(35,-14,773,729),8363=>array(27,-182,624,760),8364=>array(-18,-14,566,742),8365=>array(26,0,626,729),8366=>array(10,0,615,729),8367=>array(83,-223,1122,742),8368=>array(12,-14,584,742),8369=>array(31,0,626,729),8370=>array(44,-81,579,809),8371=>array(4,0,622,729),8372=>array(39,-14,735,742),8373=>array(64,-147,566,760),8376=>array(10,0,615,729),8377=>array(45,0,583,729),8378=>array(4,0,670,729),8400=>array(-448,628,-23,760),8401=>array(-423,628,1,760),8406=>array(-423,560,-23,760),8407=>array(-423,560,-23,760),8411=>array(-452,654,-0,774),8412=>array(-536,654,89,774),8417=>array(-423,560,-23,760),8448=>array(18,-24,976,752),8449=>array(18,-24,1024,752),8450=>array(44,-14,603,742),8451=>array(78,-14,1033,749),8452=>array(57,0,749,729),8453=>array(18,-24,958,752),8454=>array(18,-24,1005,752),8455=>array(60,-14,555,742),8456=>array(57,-146,616,611),8457=>array(78,0,902,749),8459=>array(32,-14,957,746),8460=>array(5,-125,729,747),8461=>array(90,0,709,729),8462=>array(27,0,589,760),8463=>array(9,0,563,760),8464=>array(32,-14,480,742),8465=>array(46,-14,593,743),8466=>array(33,-14,708,742),8467=>array(-13,-14,361,742),8468=>array(8,-14,842,760),8469=>array(83,0,671,729),8470=>array(30,0,1039,729),8471=>array(124,0,776,725),8472=>array(48,-221,592,495),8473=>array(83,0,638,729),8474=>array(44,-146,720,742),8475=>array(28,-14,814,768),8476=>array(36,-14,723,743),8477=>array(88,0,714,729),8478=>array(33,0,773,729),8479=>array(73,-112,625,887),8480=>array(114,444,713,731),8481=>array(3,0,1124,547),8482=>array(129,447,711,729),8483=>array(10,-113,656,885),8484=>array(40,0,639,729),8485=>array(23,-230,486,777),8486=>array(24,0,741,742),8487=>array(24,-14,741,728),8488=>array(-5,-159,604,729),8489=>array(0,0,244,566),8490=>array(83,0,725,729),8491=>array(4,0,692,928),8492=>array(37,-1,768,772),8493=>array(57,-19,690,742),8494=>array(55,-12,714,647),8495=>array(37,-14,532,533),8496=>array(65,-14,602,742),8497=>array(33,-14,774,773),8498=>array(83,0,540,729),8499=>array(34,-18,1041,751),8500=>array(26,-12,393,420),8501=>array(45,-14,685,742),8502=>array(17,-14,619,742),8503=>array(27,-35,396,742),8504=>array(57,-41,570,742),8505=>array(31,0,320,760),8506=>array(40,-27,839,723),8507=>array(62,0,1217,547),8508=>array(31,-14,689,547),8509=>array(-36,-208,630,561),8510=>array(83,0,564,729),8511=>array(83,0,694,729),8512=>array(11,-192,738,719),8513=>array(22,-14,650,742),8514=>array(8,0,475,729),8515=>array(39,0,505,729),8516=>array(0,0,670,729),8517=>array(18,0,708,729),8518=>array(31,-14,677,760),8519=>array(29,-14,571,560),8520=>array(13,0,317,760),8521=>array(-129,-216,319,760),8523=>array(37,-14,730,742),8526=>array(49,0,423,547),8528=>array(44,-14,885,742),8529=>array(44,-14,894,742),8530=>array(44,-14,1297,742),8531=>array(44,-14,890,742),8532=>array(48,-14,890,742),8533=>array(44,-14,891,742),8534=>array(48,-14,891,742),8535=>array(40,-14,891,742),8536=>array(24,-14,891,742),8537=>array(44,-14,899,742),8538=>array(42,-14,899,742),8539=>array(44,-14,895,742),8540=>array(40,-14,895,742),8541=>array(42,-14,895,742),8542=>array(37,-14,895,742),8543=>array(44,-14,733,742),8544=>array(83,0,252,729),8545=>array(83,0,510,729),8546=>array(83,0,768,729),8547=>array(83,0,984,729),8548=>array(4,0,692,729),8549=>array(4,0,906,729),8550=>array(4,0,1165,729),8551=>array(4,0,1422,729),8552=>array(83,0,991,729),8553=>array(17,0,676,729),8554=>array(17,0,925,729),8555=>array(17,0,1183,729),8556=>array(83,0,549,729),8557=>array(44,-14,603,742),8558=>array(83,0,700,729),8559=>array(83,0,813,729),8560=>array(75,0,233,760),8561=>array(75,0,471,760),8562=>array(75,0,709,760),8563=>array(75,0,852,760),8564=>array(13,0,574,547),8565=>array(13,0,791,760),8566=>array(13,0,1028,760),8567=>array(13,0,1267,760),8568=>array(75,0,858,760),8569=>array(13,0,567,547),8570=>array(13,0,796,760),8571=>array(13,0,1035,760),8572=>array(75,0,233,760),8573=>array(39,-14,474,560),8574=>array(40,-14,569,760),8575=>array(75,0,867,560),8576=>array(47,0,1113,729),8577=>array(83,0,700,729),8578=>array(47,0,1113,729),8579=>array(44,-14,603,742),8580=>array(39,-14,474,560),8581=>array(44,-208,603,742),8585=>array(26,-14,890,742),8592=>array(44,87,703,540),8593=>array(174,0,581,732),8594=>array(51,87,710,540),8595=>array(174,-3,581,729),8596=>array(44,87,710,540),8597=>array(173,-3,581,732),8598=>array(123,66,648,650),8599=>array(123,66,648,650),8600=>array(123,66,648,650),8601=>array(123,66,648,650),8602=>array(44,87,703,540),8603=>array(51,87,710,540),8604=>array(11,84,750,431),8605=>array(4,84,743,431),8606=>array(44,87,703,540),8607=>array(170,0,577,732),8608=>array(51,87,710,540),8609=>array(174,-3,582,729),8610=>array(44,87,714,540),8611=>array(40,87,710,540),8612=>array(44,87,703,540),8613=>array(174,0,581,732),8614=>array(51,87,710,540),8615=>array(174,0,581,732),8616=>array(174,0,581,732),8617=>array(44,87,703,565),8618=>array(51,87,710,565),8619=>array(44,87,703,565),8620=>array(51,87,710,565),8621=>array(44,87,710,540),8622=>array(44,86,710,541),8623=>array(110,-4,643,733),8624=>array(152,0,582,755),8625=>array(172,0,603,755),8626=>array(152,-26,582,729),8627=>array(172,-26,603,729),8628=>array(209,-3,695,621),8629=>array(44,87,606,626),8630=>array(9,198,734,685),8631=>array(20,198,745,685),8632=>array(105,13,709,729),8633=>array(44,-108,710,735),8634=>array(78,45,690,691),8635=>array(64,45,677,691),8636=>array(44,255,703,540),8637=>array(44,87,703,372),8638=>array(325,0,581,732),8639=>array(174,0,431,732),8640=>array(51,255,710,540),8641=>array(51,87,710,372),8642=>array(325,0,581,732),8643=>array(174,0,431,732),8644=>array(44,-59,710,686),8645=>array(42,-3,713,732),8646=>array(44,-59,710,686),8647=>array(44,-59,703,686),8648=>array(42,0,712,732),8649=>array(51,-59,710,686),8650=>array(42,-3,712,729),8651=>array(44,-5,710,632),8652=>array(44,-5,710,632),8653=>array(44,87,703,540),8654=>array(44,87,710,540),8655=>array(51,87,710,540),8656=>array(44,87,703,540),8657=>array(173,0,581,732),8658=>array(51,87,710,540),8659=>array(173,-3,581,729),8660=>array(44,87,710,540),8661=>array(173,-8,581,732),8662=>array(119,-26,680,596),8663=>array(79,-26,641,597),8664=>array(79,16,641,639),8665=>array(119,16,680,639),8666=>array(44,87,703,540),8667=>array(51,87,710,540),8668=>array(40,87,699,540),8669=>array(51,87,710,540),8670=>array(174,0,581,732),8671=>array(174,-3,581,729),8672=>array(44,87,703,540),8673=>array(174,0,581,732),8674=>array(51,87,710,540),8675=>array(174,-3,581,729),8676=>array(44,87,703,540),8677=>array(51,87,710,540),8678=>array(24,46,703,581),8679=>array(136,0,618,754),8680=>array(31,46,710,581),8681=>array(136,-25,618,729),8682=>array(136,0,618,754),8683=>array(136,0,618,754),8684=>array(136,0,618,754),8685=>array(136,0,618,754),8686=>array(136,0,618,754),8687=>array(136,0,618,754),8688=>array(31,46,710,581),8689=>array(53,0,709,729),8690=>array(53,0,709,729),8691=>array(136,-25,618,754),8692=>array(51,87,710,540),8693=>array(42,-3,713,732),8694=>array(51,-223,710,850),8695=>array(44,87,703,540),8696=>array(51,87,710,540),8697=>array(44,87,710,540),8698=>array(44,87,703,540),8699=>array(51,87,710,540),8700=>array(44,87,710,540),8701=>array(24,96,703,531),8702=>array(51,96,730,531),8703=>array(24,96,730,531),8704=>array(4,0,692,729),8705=>array(43,-14,566,742),8706=>array(26,-14,463,674),8707=>array(83,0,549,729),8708=>array(83,-46,549,775),8709=>array(42,-15,729,715),8710=>array(0,0,627,719),8711=>array(0,0,627,719),8712=>array(65,-2,742,730),8713=>array(65,-46,742,775),8714=>array(95,58,580,568),8715=>array(65,-2,742,730),8716=>array(65,-46,742,775),8717=>array(95,58,580,568),8718=>array(88,0,485,553),8719=>array(66,-192,641,719),8720=>array(66,-193,641,718),8721=>array(18,-192,627,719),8722=>array(95,256,659,371),8723=>array(95,0,659,627),8724=>array(44,0,583,729),8725=>array(0,-93,329,729),8726=>array(148,-49,478,772),8727=>array(106,0,647,626),8728=>array(135,151,428,477),8729=>array(92,253,250,442),8730=>array(33,-20,602,837),8731=>array(33,-20,602,933),8732=>array(32,-20,602,924),8733=>array(83,89,555,505),8734=>array(83,89,667,505),8735=>array(95,67,659,693),8736=>array(69,0,738,729),8737=>array(69,-44,738,729),8738=>array(104,-0,659,726),8739=>array(186,-207,290,773),8740=>array(43,-207,434,773),8741=>array(101,-207,376,773),8742=>array(43,-207,434,773),8743=>array(136,0,595,579),8744=>array(136,0,595,579),8745=>array(136,0,595,579),8746=>array(136,0,595,579),8747=>array(13,-227,493,754),8748=>array(13,-227,823,754),8749=>array(13,-227,1152,754),8750=>array(13,-227,493,754),8751=>array(34,-227,845,754),8752=>array(21,-227,1161,754),8753=>array(13,-227,555,754),8754=>array(13,-227,540,754),8755=>array(13,-227,530,754),8756=>array(53,78,573,647),8757=>array(53,78,573,647),8758=>array(53,79,211,647),8759=>array(53,78,573,647),8760=>array(95,256,659,631),8761=>array(95,45,721,584),8762=>array(95,-4,659,631),8763=>array(95,-34,659,660),8764=>array(95,212,659,415),8765=>array(95,212,659,415),8766=>array(59,131,695,497),8767=>array(95,42,659,584),8768=>array(77,0,260,626),8769=>array(95,76,659,551),8770=>array(95,110,659,482),8771=>array(95,144,659,517),8772=>array(95,0,659,637),8773=>array(95,37,659,628),8774=>array(95,-31,659,628),8775=>array(95,-86,659,726),8776=>array(95,110,659,517),8777=>array(95,8,659,614),8778=>array(95,37,659,628),8779=>array(95,-13,659,628),8780=>array(95,37,659,628),8781=>array(95,105,659,585),8782=>array(95,26,659,656),8783=>array(95,172,659,656),8784=>array(95,144,659,744),8785=>array(95,-117,659,743),8786=>array(94,-92,659,719),8787=>array(94,-92,658,719),8788=>array(88,102,868,520),8789=>array(86,102,870,520),8790=>array(95,144,659,482),8791=>array(95,144,659,839),8792=>array(95,144,659,704),8793=>array(95,144,659,840),8794=>array(95,144,659,840),8795=>array(95,144,659,959),8796=>array(95,144,659,952),8797=>array(95,144,659,762),8798=>array(95,144,659,786),8799=>array(95,144,659,903),8800=>array(95,-5,659,631),8801=>array(95,38,659,588),8802=>array(95,-69,659,695),8803=>array(95,-74,659,700),8804=>array(95,0,659,582),8805=>array(95,0,659,582),8806=>array(96,-106,659,617),8807=>array(96,-106,659,617),8808=>array(96,-185,659,617),8809=>array(96,-185,659,617),8810=>array(65,-34,877,660),8811=>array(65,-34,877,660),8812=>array(77,-132,373,759),8813=>array(95,-10,659,700),8814=>array(95,-4,659,690),8815=>array(95,-63,659,631),8816=>array(95,-112,659,645),8817=>array(95,-112,659,645),8818=>array(95,-84,659,582),8819=>array(95,-84,659,582),8820=>array(95,-112,659,645),8821=>array(95,-112,659,645),8822=>array(91,-119,659,678),8823=>array(91,-119,659,678),8824=>array(91,-221,659,779),8825=>array(91,-221,659,779),8826=>array(95,-55,659,681),8827=>array(95,-55,659,681),8828=>array(95,-177,659,684),8829=>array(95,-177,659,684),8830=>array(95,-132,659,684),8831=>array(95,-132,659,684),8832=>array(95,-89,659,781),8833=>array(95,-89,659,781),8834=>array(89,67,665,559),8835=>array(89,65,665,559),8836=>array(89,-96,665,726),8837=>array(89,-100,665,722),8838=>array(89,0,665,636),8839=>array(89,0,665,635),8840=>array(89,-124,665,759),8841=>array(89,-124,665,759),8842=>array(89,-97,665,636),8843=>array(89,-97,665,635),8844=>array(136,0,595,579),8845=>array(136,0,595,579),8846=>array(136,0,595,579),8847=>array(95,0,659,584),8848=>array(95,0,659,584),8849=>array(95,-115,659,667),8850=>array(95,-115,659,667),8851=>array(95,0,621,626),8852=>array(95,0,621,626),8853=>array(82,-14,672,643),8854=>array(82,-14,672,643),8855=>array(82,-14,672,643),8856=>array(82,-13,672,642),8857=>array(82,-14,672,643),8858=>array(82,-14,672,643),8859=>array(82,-14,672,643),8860=>array(82,-14,672,643),8861=>array(82,-14,672,643),8862=>array(69,-29,686,657),8863=>array(69,-29,686,657),8864=>array(69,-29,686,657),8865=>array(69,-29,686,657),8866=>array(77,0,746,705),8867=>array(77,0,746,705),8868=>array(77,0,746,705),8869=>array(77,0,746,705),8870=>array(77,0,412,705),8871=>array(77,0,412,705),8872=>array(77,0,746,705),8873=>array(77,0,746,705),8874=>array(77,0,746,705),8875=>array(77,0,746,705),8876=>array(77,-100,746,805),8877=>array(77,-100,746,805),8878=>array(77,-100,746,805),8879=>array(77,-100,746,805),8880=>array(95,-54,652,681),8881=>array(102,-54,659,681),8882=>array(95,-1,659,628),8883=>array(95,-1,659,628),8884=>array(95,-80,659,706),8885=>array(95,-80,659,706),8886=>array(54,151,846,477),8887=>array(54,151,846,477),8888=>array(53,151,701,477),8889=>array(39,-63,715,689),8890=>array(56,0,432,705),8891=>array(92,0,639,759),8892=>array(92,0,639,759),8893=>array(92,0,639,759),8894=>array(95,0,659,626),8895=>array(95,0,659,626),8896=>array(0,-192,759,719),8897=>array(0,-192,759,719),8898=>array(43,-192,715,719),8899=>array(43,-192,715,719),8900=>array(2,-233,442,807),8901=>array(92,253,250,442),8902=>array(75,112,489,549),8903=>array(95,-56,659,683),8904=>array(95,-48,805,674),8905=>array(95,-48,805,675),8906=>array(95,-48,805,675),8907=>array(95,-48,805,675),8908=>array(95,-48,805,675),8909=>array(95,144,659,517),8910=>array(44,0,687,579),8911=>array(44,0,687,579),8912=>array(83,-22,659,649),8913=>array(95,-22,671,649),8914=>array(75,0,680,639),8915=>array(75,-14,680,625),8916=>array(167,0,587,729),8917=>array(95,-100,659,729),8918=>array(95,30,659,597),8919=>array(95,30,659,597),8920=>array(65,-34,1215,660),8921=>array(65,-34,1215,660),8922=>array(95,-211,659,837),8923=>array(95,-211,659,837),8924=>array(95,0,659,582),8925=>array(95,0,659,582),8926=>array(95,-177,659,684),8927=>array(95,-177,659,684),8928=>array(95,-197,659,808),8929=>array(95,-263,659,742),8930=>array(95,-191,659,817),8931=>array(95,-191,659,817),8932=>array(95,-146,659,636),8933=>array(95,-146,659,636),8934=>array(95,-168,659,582),8935=>array(95,-168,659,582),8936=>array(95,-216,659,684),8937=>array(95,-216,659,684),8938=>array(95,-138,659,808),8939=>array(95,-138,659,808),8940=>array(95,-224,659,894),8941=>array(95,-224,659,894),8942=>array(371,-40,529,735),8943=>array(71,253,829,442),8944=>array(71,-40,829,735),8945=>array(71,-40,829,735),8946=>array(65,-2,977,730),8947=>array(65,-2,742,730),8948=>array(95,58,580,568),8949=>array(65,-2,742,984),8950=>array(65,-2,742,919),8951=>array(95,58,580,741),8952=>array(65,-207,742,730),8953=>array(65,-2,742,730),8954=>array(65,-2,977,730),8955=>array(65,-2,742,730),8956=>array(95,58,580,568),8957=>array(65,-2,742,919),8958=>array(95,58,580,741),8959=>array(95,0,712,732),8960=>array(28,-22,515,519),8961=>array(50,152,486,453),8962=>array(58,0,586,596),8963=>array(174,470,581,732),8964=>array(174,0,581,263),8965=>array(174,-12,581,423),8966=>array(174,-12,581,552),8967=>array(125,-39,314,798),8968=>array(77,-132,351,760),8969=>array(61,-132,334,760),8970=>array(77,-132,351,760),8971=>array(61,-132,334,760),8972=>array(316,-77,684,331),8973=>array(44,-77,412,331),8974=>array(316,226,684,634),8975=>array(44,226,412,634),8976=>array(95,140,659,444),8977=>array(2,113,482,646),8984=>array(76,0,759,759),8985=>array(95,140,659,444),8988=>array(77,425,363,760),8989=>array(59,425,345,760),8990=>array(77,-126,363,208),8991=>array(59,-126,345,208),8992=>array(211,-250,527,926),8993=>array(20,-240,336,940),8996=>array(68,215,969,575),8997=>array(68,0,969,575),8998=>array(68,0,1272,760),8999=>array(68,0,969,760),9000=>array(53,0,1247,729),9003=>array(0,0,1204,760),9004=>array(66,-91,720,748),9075=>array(70,-19,313,547),9076=>array(75,-208,604,562),9077=>array(39,-13,744,547),9082=>array(43,-13,581,559),9085=>array(11,-228,765,99),9095=>array(68,0,990,743),9108=>array(15,0,771,727),9115=>array(56,-252,394,928),9116=>array(56,-252,185,940),9117=>array(56,-240,394,940),9118=>array(56,-252,394,928),9119=>array(266,-252,394,940),9120=>array(56,-240,394,940),9121=>array(56,-252,394,928),9122=>array(56,-252,185,940),9123=>array(56,-240,394,940),9124=>array(56,-252,394,928),9125=>array(266,-252,394,940),9126=>array(56,-240,394,940),9127=>array(275,-261,602,928),9128=>array(74,-247,400,934),9129=>array(275,-240,602,934),9130=>array(275,-256,400,934),9131=>array(74,-261,400,928),9132=>array(275,-247,602,934),9133=>array(74,-240,400,934),9134=>array(211,-250,336,940),9166=>array(24,46,703,729),9167=>array(82,0,769,596),9187=>array(66,-91,720,748),9189=>array(2,75,690,444),9192=>array(35,-129,599,294),9250=>array(-73,-14,604,760),9251=>array(58,-228,586,99),9312=>array(53,-15,709,715),9313=>array(53,-15,709,715),9314=>array(53,-15,709,715),9315=>array(53,-15,709,715),9316=>array(53,-15,709,715),9317=>array(53,-15,709,715),9318=>array(53,-15,709,715),9319=>array(53,-15,709,715),9320=>array(53,-15,709,715),9321=>array(53,-15,709,715),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,675,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(2,260,690,645),9697=>array(2,-125,690,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(129,196,446,547),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9729=>array(45,-2,854,360),9730=>array(44,0,763,729),9731=>array(75,-0,732,927),9732=>array(57,0,750,880),9733=>array(58,-4,749,723),9734=>array(58,-4,749,723),9735=>array(75,2,441,729),9736=>array(75,0,732,731),9737=>array(75,0,732,730),9738=>array(55,0,745,727),9739=>array(55,0,745,723),9740=>array(55,-1,549,722),9741=>array(55,0,857,723),9742=>array(62,0,1060,729),9743=>array(63,0,1062,729),9744=>array(81,0,727,729),9745=>array(80,0,727,729),9746=>array(80,0,727,729),9747=>array(67,78,411,656),9748=>array(44,0,783,933),9749=>array(66,0,740,731),9750=>array(75,0,732,731),9751=>array(75,0,732,727),9752=>array(70,0,737,729),9753=>array(75,140,732,574),9754=>array(75,113,732,569),9755=>array(75,113,732,569),9756=>array(78,104,729,569),9757=>array(64,0,483,724),9758=>array(78,103,729,569),9759=>array(64,-3,483,720),9760=>array(55,0,752,730),9761=>array(75,0,732,730),9762=>array(75,0,732,730),9763=>array(44,0,763,730),9764=>array(44,-2,558,727),9765=>array(75,0,597,731),9766=>array(75,-1,510,731),9767=>array(75,0,631,911),9768=>array(75,0,416,730),9769=>array(75,-1,732,729),9770=>array(78,0,729,730),9771=>array(75,0,733,731),9772=>array(75,0,565,731),9773=>array(75,0,732,730),9774=>array(75,0,732,730),9775=>array(75,0,732,730),9776=>array(75,0,732,729),9777=>array(75,0,733,729),9778=>array(75,0,732,729),9779=>array(75,0,732,729),9780=>array(75,0,732,729),9781=>array(75,0,732,729),9782=>array(75,0,732,729),9783=>array(75,0,732,729),9784=>array(71,3,735,721),9785=>array(75,-73,864,804),9786=>array(75,-73,864,804),9787=>array(75,-73,864,804),9788=>array(75,0,732,730),9789=>array(322,0,733,730),9790=>array(75,0,485,730),9791=>array(77,-102,476,732),9792=>array(77,-125,583,731),9793=>array(77,-14,583,843),9794=>array(71,-14,748,720),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9800=>array(41,0,766,731),9801=>array(80,0,727,730),9802=>array(84,0,722,731),9803=>array(101,31,706,679),9804=>array(125,0,681,730),9805=>array(48,-180,759,730),9806=>array(75,52,732,653),9807=>array(30,-96,777,730),9808=>array(74,-0,732,730),9809=>array(84,0,722,730),9810=>array(77,153,729,579),9811=>array(141,0,666,730),9812=>array(88,0,719,730),9813=>array(99,0,708,730),9814=>array(149,-1,657,729),9815=>array(192,0,615,730),9816=>array(148,0,659,730),9817=>array(133,-0,673,730),9818=>array(88,0,719,730),9819=>array(99,0,708,730),9820=>array(149,-1,657,729),9821=>array(192,0,615,730),9822=>array(146,0,661,730),9823=>array(133,-0,673,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9832=>array(95,-1,712,729),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),9840=>array(75,0,598,731),9841=>array(58,0,631,731),9842=>array(75,0,732,709),9843=>array(68,16,738,731),9844=>array(68,16,738,731),9845=>array(68,16,738,731),9846=>array(68,16,738,731),9847=>array(68,16,738,731),9848=>array(68,16,738,731),9849=>array(68,16,738,731),9850=>array(68,16,738,731),9851=>array(75,0,731,704),9852=>array(75,0,733,731),9853=>array(75,0,733,731),9854=>array(75,0,733,731),9855=>array(134,1,672,731),9856=>array(66,0,717,725),9857=>array(66,0,717,725),9858=>array(66,0,717,725),9859=>array(66,0,717,725),9860=>array(66,0,717,725),9861=>array(66,0,717,725),9862=>array(75,0,732,731),9863=>array(75,0,732,731),9864=>array(75,0,732,731),9865=>array(75,0,732,731),9866=>array(75,0,732,98),9867=>array(75,0,732,98),9868=>array(75,0,732,413),9869=>array(75,0,732,413),9870=>array(75,0,732,413),9871=>array(75,0,732,413),9872=>array(151,3,655,731),9873=>array(151,3,655,731),9874=>array(46,0,760,731),9875=>array(87,-10,720,732),9876=>array(118,0,689,729),9877=>array(55,-10,431,732),9878=>array(53,-10,753,732),9879=>array(55,0,751,732),9880=>array(130,0,676,732),9881=>array(85,-17,722,727),9882=>array(115,-9,691,733),9883=>array(114,0,692,728),9884=>array(114,0,692,729),9888=>array(44,0,763,729),9889=>array(75,2,558,730),9890=>array(77,-125,827,731),9891=>array(71,-206,921,720),9892=>array(77,-186,998,856),9893=>array(77,-125,753,917),9894=>array(118,-14,654,869),9895=>array(91,-170,667,884),9896=>array(168,-14,585,869),9897=>array(4,133,746,596),9898=>array(168,133,585,597),9899=>array(168,133,585,597),9900=>array(224,194,531,536),9901=>array(158,194,597,536),9902=>array(37,169,717,560),9903=>array(4,194,750,536),9904=>array(92,237,681,540),9905=>array(190,42,564,698),9906=>array(77,-125,583,731),9907=>array(151,-125,582,731),9908=>array(77,-125,582,731),9909=>array(77,-125,582,731),9910=>array(53,-118,712,643),9911=>array(175,-104,536,710),9912=>array(142,-125,489,731),9920=>array(38,4,716,553),9921=>array(38,4,716,724),9922=>array(38,4,716,553),9923=>array(38,4,716,724),9954=>array(77,-14,583,843),9985=>array(9,190,723,635),9986=>array(38,141,706,588),9987=>array(9,94,723,539),9988=>array(32,119,742,613),9990=>array(38,-14,716,742),9991=>array(38,-14,716,742),9992=>array(53,21,704,708),9993=>array(58,107,696,622),9996=>array(191,0,505,742),9997=>array(19,83,722,678),9998=>array(80,75,652,710),9999=>array(23,198,738,530),10000=>array(80,75,652,710),10001=>array(39,185,681,544),10002=>array(61,209,681,520),10003=>array(135,97,601,630),10004=>array(104,87,649,631),10005=>array(114,72,641,657),10006=>array(77,31,677,698),10007=>array(105,-9,631,732),10008=>array(110,0,679,739),10009=>array(49,0,705,729),10010=>array(49,0,705,729),10011=>array(49,0,705,729),10012=>array(49,0,705,729),10013=>array(148,0,606,729),10014=>array(118,0,610,729),10015=>array(140,0,615,729),10016=>array(49,0,705,729),10017=>array(82,-13,672,744),10018=>array(37,-14,717,742),10019=>array(38,-12,716,742),10020=>array(36,-14,718,742),10021=>array(37,-13,717,743),10022=>array(38,-14,717,745),10023=>array(38,-14,717,745),10025=>array(21,-9,733,743),10026=>array(38,-14,716,742),10027=>array(21,-9,733,743),10028=>array(21,-9,733,743),10029=>array(21,-9,733,743),10030=>array(21,-9,733,743),10031=>array(21,-9,733,743),10032=>array(22,12,734,714),10033=>array(58,0,696,729),10034=>array(66,0,688,729),10035=>array(49,0,705,729),10036=>array(28,-14,708,742),10037=>array(37,-14,717,742),10038=>array(82,-14,672,742),10039=>array(37,-14,717,742),10040=>array(37,-14,717,742),10041=>array(37,-14,717,742),10042=>array(49,0,705,729),10043=>array(73,-14,681,742),10044=>array(73,-14,681,742),10045=>array(76,-14,678,742),10046=>array(71,-14,683,742),10047=>array(48,0,706,709),10048=>array(48,0,706,709),10049=>array(37,-14,717,742),10050=>array(38,-14,716,742),10051=>array(71,-14,683,742),10052=>array(80,0,674,729),10053=>array(68,0,686,729),10054=>array(57,2,696,729),10055=>array(70,-13,684,742),10056=>array(42,-13,712,730),10057=>array(42,-13,712,730),10058=>array(37,-13,717,743),10059=>array(37,-13,717,743),10061=>array(44,-10,762,738),10063=>array(53,-49,753,729),10064=>array(53,0,753,777),10065=>array(53,-49,753,729),10066=>array(53,0,753,777),10070=>array(75,-2,732,728),10072=>array(339,-240,415,760),10073=>array(302,-240,452,760),10074=>array(228,-240,527,760),10075=>array(76,395,259,729),10076=>array(53,395,236,729),10077=>array(76,395,476,729),10078=>array(53,395,452,729),10081=>array(140,-93,695,851),10082=>array(182,-17,572,742),10083=>array(146,-17,607,742),10084=>array(48,83,706,645),10085=>array(151,-1,656,729),10086=>array(55,21,652,702),10087=>array(70,169,684,564),10088=>array(176,-139,583,769),10089=>array(176,-139,583,769),10090=>array(237,-132,517,758),10091=>array(237,-132,517,758),10092=>array(193,-240,546,760),10093=>array(208,-240,561,760),10094=>array(127,-240,617,760),10095=>array(137,-240,626,760),10096=>array(149,-240,590,760),10097=>array(165,-240,605,760),10098=>array(311,-241,482,760),10099=>array(272,-241,443,760),10100=>array(157,-163,571,760),10101=>array(183,-163,597,760),10102=>array(53,-15,709,715),10103=>array(53,-15,709,715),10104=>array(53,-15,709,715),10105=>array(53,-15,709,715),10106=>array(53,-15,709,715),10107=>array(53,-15,709,715),10108=>array(53,-15,709,715),10109=>array(53,-15,709,715),10110=>array(53,-15,709,715),10111=>array(53,-15,709,715),10112=>array(4,-52,750,780),10113=>array(4,-52,750,780),10114=>array(4,-52,750,780),10115=>array(4,-52,750,780),10116=>array(4,-52,750,780),10117=>array(4,-52,750,780),10118=>array(4,-52,750,780),10119=>array(4,-52,750,780),10120=>array(4,-52,750,780),10121=>array(4,-52,750,780),10122=>array(4,-52,750,780),10123=>array(4,-52,750,780),10124=>array(4,-52,750,780),10125=>array(4,-52,750,780),10126=>array(4,-52,750,780),10127=>array(4,-52,750,780),10128=>array(4,-52,750,780),10129=>array(4,-52,750,780),10130=>array(4,-52,750,780),10131=>array(4,-52,750,780),10132=>array(51,75,710,552),10136=>array(110,55,614,614),10137=>array(51,100,710,527),10138=>array(110,13,614,572),10139=>array(51,129,710,498),10140=>array(51,57,688,570),10141=>array(51,100,710,527),10142=>array(51,100,710,527),10143=>array(51,100,710,527),10144=>array(51,100,710,527),10145=>array(51,46,730,581),10146=>array(100,94,710,533),10147=>array(100,94,710,533),10148=>array(100,-4,710,631),10149=>array(51,100,710,548),10150=>array(51,79,710,527),10151=>array(216,-7,545,634),10152=>array(51,100,710,527),10153=>array(51,75,688,552),10154=>array(51,75,688,552),10155=>array(19,12,715,586),10156=>array(19,12,715,586),10157=>array(122,0,697,574),10158=>array(122,0,697,574),10159=>array(56,49,719,574),10161=>array(56,49,719,574),10162=>array(139,-20,649,585),10163=>array(57,157,710,470),10164=>array(72,55,614,655),10165=>array(51,173,710,454),10166=>array(73,-29,614,572),10167=>array(73,55,614,655),10168=>array(51,172,710,455),10169=>array(73,-28,614,572),10170=>array(50,84,710,543),10171=>array(66,140,702,487),10172=>array(71,167,697,460),10173=>array(71,118,697,509),10174=>array(51,81,710,546),10181=>array(48,-163,365,769),10182=>array(46,-163,363,769),10208=>array(2,-233,442,807),10214=>array(77,-132,378,760),10215=>array(77,-132,378,760),10216=>array(94,-132,339,759),10217=>array(72,-132,317,759),10218=>array(94,-132,577,759),10219=>array(72,-132,554,759),10224=>array(37,0,717,732),10225=>array(38,-3,718,729),10226=>array(8,45,734,685),10227=>array(20,45,747,685),10228=>array(51,-14,998,643),10229=>array(44,87,1239,540),10230=>array(51,87,1247,540),10231=>array(44,87,1247,540),10232=>array(44,87,1239,540),10233=>array(51,87,1247,540),10234=>array(44,87,1247,540),10235=>array(44,87,1239,540),10236=>array(51,87,1247,540),10237=>array(44,87,1239,540),10238=>array(51,87,1247,540),10239=>array(51,87,1247,540),10241=>array(132,586,308,781),10242=>array(132,325,308,521),10243=>array(132,325,308,781),10244=>array(132,65,308,261),10245=>array(132,65,308,781),10246=>array(132,65,308,521),10247=>array(132,65,308,781),10248=>array(396,586,571,781),10249=>array(132,586,571,781),10250=>array(132,325,571,781),10251=>array(132,325,571,781),10252=>array(132,65,571,781),10253=>array(132,65,571,781),10254=>array(132,65,571,781),10255=>array(132,65,571,781),10256=>array(396,325,571,521),10257=>array(132,325,571,781),10258=>array(132,325,571,521),10259=>array(132,325,571,781),10260=>array(132,65,571,521),10261=>array(132,65,571,781),10262=>array(132,65,571,521),10263=>array(132,65,571,781),10264=>array(396,325,571,781),10265=>array(132,325,571,781),10266=>array(132,325,571,781),10267=>array(132,325,571,781),10268=>array(132,65,571,781),10269=>array(132,65,571,781),10270=>array(132,65,571,781),10271=>array(132,65,571,781),10272=>array(396,65,571,261),10273=>array(132,65,571,781),10274=>array(132,65,571,521),10275=>array(132,65,571,781),10276=>array(132,65,571,261),10277=>array(132,65,571,781),10278=>array(132,65,571,521),10279=>array(132,65,571,781),10280=>array(396,65,571,781),10281=>array(132,65,571,781),10282=>array(132,65,571,781),10283=>array(132,65,571,781),10284=>array(132,65,571,781),10285=>array(132,65,571,781),10286=>array(132,65,571,781),10287=>array(132,65,571,781),10288=>array(396,65,571,521),10289=>array(132,65,571,781),10290=>array(132,65,571,521),10291=>array(132,65,571,781),10292=>array(132,65,571,521),10293=>array(132,65,571,781),10294=>array(132,65,571,521),10295=>array(132,65,571,781),10296=>array(396,65,571,781),10297=>array(132,65,571,781),10298=>array(132,65,571,781),10299=>array(132,65,571,781),10300=>array(132,65,571,781),10301=>array(132,65,571,781),10302=>array(132,65,571,781),10303=>array(132,65,571,781),10304=>array(132,-195,308,0),10305=>array(132,-195,308,781),10306=>array(132,-195,308,521),10307=>array(132,-195,308,781),10308=>array(132,-195,308,261),10309=>array(132,-195,308,781),10310=>array(132,-195,308,521),10311=>array(132,-195,308,781),10312=>array(132,-195,571,781),10313=>array(132,-195,571,781),10314=>array(132,-195,571,781),10315=>array(132,-195,571,781),10316=>array(132,-195,571,781),10317=>array(132,-195,571,781),10318=>array(132,-195,571,781),10319=>array(132,-195,571,781),10320=>array(132,-195,571,521),10321=>array(132,-195,571,781),10322=>array(132,-195,571,521),10323=>array(132,-195,571,781),10324=>array(132,-195,571,521),10325=>array(132,-195,571,781),10326=>array(132,-195,571,521),10327=>array(132,-195,571,781),10328=>array(132,-195,571,781),10329=>array(132,-195,571,781),10330=>array(132,-195,571,781),10331=>array(132,-195,571,781),10332=>array(132,-195,571,781),10333=>array(132,-195,571,781),10334=>array(132,-195,571,781),10335=>array(132,-195,571,781),10336=>array(132,-195,571,261),10337=>array(132,-195,571,781),10338=>array(132,-195,571,521),10339=>array(132,-195,571,781),10340=>array(132,-195,571,261),10341=>array(132,-195,571,781),10342=>array(132,-195,571,521),10343=>array(132,-195,571,781),10344=>array(132,-195,571,781),10345=>array(132,-195,571,781),10346=>array(132,-195,571,781),10347=>array(132,-195,571,781),10348=>array(132,-195,571,781),10349=>array(132,-195,571,781),10350=>array(132,-195,571,781),10351=>array(132,-195,571,781),10352=>array(132,-195,571,521),10353=>array(132,-195,571,781),10354=>array(132,-195,571,521),10355=>array(132,-195,571,781),10356=>array(132,-195,571,521),10357=>array(132,-195,571,781),10358=>array(132,-195,571,521),10359=>array(132,-195,571,781),10360=>array(132,-195,571,781),10361=>array(132,-195,571,781),10362=>array(132,-195,571,781),10363=>array(132,-195,571,781),10364=>array(132,-195,571,781),10365=>array(132,-195,571,781),10366=>array(132,-195,571,781),10367=>array(132,-195,571,781),10368=>array(396,-195,571,0),10369=>array(132,-195,571,781),10370=>array(132,-195,571,521),10371=>array(132,-195,571,781),10372=>array(132,-195,571,261),10373=>array(132,-195,571,781),10374=>array(132,-195,571,521),10375=>array(132,-195,571,781),10376=>array(396,-195,571,781),10377=>array(132,-195,571,781),10378=>array(132,-195,571,781),10379=>array(132,-195,571,781),10380=>array(132,-195,571,781),10381=>array(132,-195,571,781),10382=>array(132,-195,571,781),10383=>array(132,-195,571,781),10384=>array(396,-195,571,521),10385=>array(132,-195,571,781),10386=>array(132,-195,571,521),10387=>array(132,-195,571,781),10388=>array(132,-195,571,521),10389=>array(132,-195,571,781),10390=>array(132,-195,571,521),10391=>array(132,-195,571,781),10392=>array(396,-195,571,781),10393=>array(132,-195,571,781),10394=>array(132,-195,571,781),10395=>array(132,-195,571,781),10396=>array(132,-195,571,781),10397=>array(132,-195,571,781),10398=>array(132,-195,571,781),10399=>array(132,-195,571,781),10400=>array(396,-195,571,261),10401=>array(132,-195,571,781),10402=>array(132,-195,571,521),10403=>array(132,-195,571,781),10404=>array(132,-195,571,261),10405=>array(132,-195,571,781),10406=>array(132,-195,571,521),10407=>array(132,-195,571,781),10408=>array(396,-195,571,781),10409=>array(132,-195,571,781),10410=>array(132,-195,571,781),10411=>array(132,-195,571,781),10412=>array(132,-195,571,781),10413=>array(132,-195,571,781),10414=>array(132,-195,571,781),10415=>array(132,-195,571,781),10416=>array(396,-195,571,521),10417=>array(132,-195,571,781),10418=>array(132,-195,571,521),10419=>array(132,-195,571,781),10420=>array(132,-195,571,521),10421=>array(132,-195,571,781),10422=>array(132,-195,571,521),10423=>array(132,-195,571,781),10424=>array(396,-195,571,781),10425=>array(132,-195,571,781),10426=>array(132,-195,571,781),10427=>array(132,-195,571,781),10428=>array(132,-195,571,781),10429=>array(132,-195,571,781),10430=>array(132,-195,571,781),10431=>array(132,-195,571,781),10432=>array(132,-195,571,0),10433=>array(132,-195,571,781),10434=>array(132,-195,571,521),10435=>array(132,-195,571,781),10436=>array(132,-195,571,261),10437=>array(132,-195,571,781),10438=>array(132,-195,571,521),10439=>array(132,-195,571,781),10440=>array(132,-195,571,781),10441=>array(132,-195,571,781),10442=>array(132,-195,571,781),10443=>array(132,-195,571,781),10444=>array(132,-195,571,781),10445=>array(132,-195,571,781),10446=>array(132,-195,571,781),10447=>array(132,-195,571,781),10448=>array(132,-195,571,521),10449=>array(132,-195,571,781),10450=>array(132,-195,571,521),10451=>array(132,-195,571,781),10452=>array(132,-195,571,521),10453=>array(132,-195,571,781),10454=>array(132,-195,571,521),10455=>array(132,-195,571,781),10456=>array(132,-195,571,781),10457=>array(132,-195,571,781),10458=>array(132,-195,571,781),10459=>array(132,-195,571,781),10460=>array(132,-195,571,781),10461=>array(132,-195,571,781),10462=>array(132,-195,571,781),10463=>array(132,-195,571,781),10464=>array(132,-195,571,261),10465=>array(132,-195,571,781),10466=>array(132,-195,571,521),10467=>array(132,-195,571,781),10468=>array(132,-195,571,261),10469=>array(132,-195,571,781),10470=>array(132,-195,571,521),10471=>array(132,-195,571,781),10472=>array(132,-195,571,781),10473=>array(132,-195,571,781),10474=>array(132,-195,571,781),10475=>array(132,-195,571,781),10476=>array(132,-195,571,781),10477=>array(132,-195,571,781),10478=>array(132,-195,571,781),10479=>array(132,-195,571,781),10480=>array(132,-195,571,521),10481=>array(132,-195,571,781),10482=>array(132,-195,571,521),10483=>array(132,-195,571,781),10484=>array(132,-195,571,521),10485=>array(132,-195,571,781),10486=>array(132,-195,571,521),10487=>array(132,-195,571,781),10488=>array(132,-195,571,781),10489=>array(132,-195,571,781),10490=>array(132,-195,571,781),10491=>array(132,-195,571,781),10492=>array(132,-195,571,781),10493=>array(132,-195,571,781),10494=>array(132,-195,571,781),10495=>array(132,-195,571,781),10502=>array(44,87,703,540),10503=>array(51,87,710,540),10506=>array(119,0,637,732),10507=>array(119,0,637,732),10560=>array(78,45,653,853),10561=>array(78,45,653,853),10627=>array(112,-163,566,760),10628=>array(112,-163,566,760),10702=>array(95,-258,659,800),10703=>array(95,-1,847,628),10704=>array(95,-1,847,628),10705=>array(95,-48,805,674),10706=>array(95,-48,805,674),10707=>array(95,-48,805,674),10708=>array(95,-48,805,675),10709=>array(95,-48,805,675),10731=>array(2,-233,442,807),10746=>array(95,0,659,627),10747=>array(95,0,659,627),10752=>array(25,-211,875,734),10753=>array(25,-211,875,734),10754=>array(25,-211,875,734),10764=>array(13,-227,1482,754),10765=>array(13,-227,493,754),10766=>array(13,-227,493,754),10767=>array(13,-227,493,754),10768=>array(13,-227,493,754),10769=>array(13,-227,519,754),10770=>array(13,-227,493,754),10771=>array(13,-227,493,754),10772=>array(13,-228,586,754),10773=>array(13,-227,493,754),10774=>array(13,-227,493,754),10775=>array(-27,-227,500,754),10776=>array(13,-227,493,754),10777=>array(13,-227,493,754),10778=>array(13,-227,493,754),10779=>array(13,-227,493,898),10780=>array(13,-372,493,754),10799=>array(112,20,642,607),10858=>array(95,212,659,660),10859=>array(95,-34,659,660),10877=>array(95,-150,659,632),10878=>array(95,-150,659,632),10879=>array(95,-150,659,632),10880=>array(95,-150,659,632),10881=>array(95,-150,659,688),10882=>array(95,-150,659,688),10883=>array(95,-150,659,827),10884=>array(95,-150,659,827),10885=>array(95,-217,659,630),10886=>array(95,-217,659,630),10887=>array(95,-124,659,582),10888=>array(95,-124,659,582),10889=>array(95,-281,659,630),10890=>array(95,-281,659,630),10891=>array(95,-303,659,814),10892=>array(95,-303,659,814),10893=>array(95,-183,659,653),10894=>array(95,-183,659,653),10895=>array(95,-245,659,765),10896=>array(95,-245,659,765),10897=>array(96,-278,659,782),10898=>array(96,-278,659,782),10899=>array(95,-263,659,771),10900=>array(95,-263,659,771),10901=>array(95,-50,659,733),10902=>array(95,-50,659,733),10903=>array(95,-50,659,733),10904=>array(95,-50,659,733),10905=>array(96,-45,659,678),10906=>array(96,-45,659,678),10907=>array(95,-81,659,724),10908=>array(95,-81,659,724),10909=>array(95,13,659,680),10910=>array(95,13,659,680),10911=>array(95,-239,659,746),10912=>array(95,-239,659,746),10926=>array(95,22,659,656),10927=>array(95,-83,659,684),10928=>array(95,-83,659,684),10929=>array(95,-246,659,684),10930=>array(95,-246,659,684),10931=>array(95,-205,659,672),10932=>array(95,-205,659,672),10933=>array(95,-304,659,672),10934=>array(95,-304,659,672),10935=>array(95,-252,659,713),10936=>array(95,-252,659,713),10937=>array(95,-316,659,713),10938=>array(95,-316,659,713),11001=>array(95,-195,659,609),11002=>array(95,-195,659,609),11008=>array(110,-23,670,598),11009=>array(84,-23,644,598),11010=>array(110,-23,670,598),11011=>array(84,-23,644,598),11012=>array(24,46,710,581),11013=>array(24,46,703,581),11014=>array(136,0,618,754),11015=>array(136,-25,618,729),11016=>array(110,-23,670,598),11017=>array(84,-23,644,598),11018=>array(110,-23,670,598),11019=>array(84,-23,644,598),11020=>array(24,46,710,581),11021=>array(136,-25,618,754),11022=>array(51,-25,721,372),11023=>array(51,255,721,652),11024=>array(34,-25,703,372),11025=>array(34,255,703,652),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11039=>array(16,-26,767,767),11040=>array(16,-26,767,767),11041=>array(66,-91,720,748),11042=>array(66,-91,720,748),11043=>array(15,-35,771,692),11044=>array(49,-250,958,770),11091=>array(34,-47,749,788),11092=>array(34,-47,749,788),11360=>array(4,0,549,729),11361=>array(4,0,320,760),11362=>array(-16,0,549,729),11363=>array(5,0,623,729),11364=>array(83,-200,675,729),11365=>array(29,-46,576,594),11366=>array(12,-93,410,822),11367=>array(83,-157,839,729),11368=>array(75,-138,729,760),11369=>array(83,-157,725,729),11370=>array(75,-138,616,760),11371=>array(40,-157,691,729),11372=>array(40,-138,560,547),11373=>array(43,-14,692,741),11374=>array(83,-200,813,729),11375=>array(4,0,692,729),11376=>array(43,-14,692,741),11377=>array(13,0,701,560),11378=>array(26,0,1099,742),11379=>array(31,0,951,560),11380=>array(34,0,574,586),11381=>array(83,0,545,729),11382=>array(75,0,433,547),11383=>array(58,0,652,552),11385=>array(75,-13,441,760),11386=>array(39,-14,580,560),11387=>array(70,0,420,547),11388=>array(-20,-121,149,425),11389=>array(2,326,436,734),11390=>array(64,-240,603,742),11391=>array(40,-240,612,729),11520=>array(40,-64,548,547),11521=>array(14,-232,563,546),11522=>array(36,-232,567,547),11523=>array(38,-10,527,807),11524=>array(35,-228,552,546),11525=>array(37,-228,889,546),11526=>array(18,-8,602,816),11527=>array(37,-9,877,547),11528=>array(35,0,531,547),11529=>array(37,-227,553,816),11530=>array(35,-9,887,546),11531=>array(38,-8,584,816),11532=>array(35,0,564,816),11533=>array(37,-8,889,546),11534=>array(37,-8,566,546),11535=>array(37,-228,761,816),11536=>array(38,-9,879,816),11537=>array(37,-9,567,816),11538=>array(41,-232,549,546),11539=>array(37,-228,886,661),11540=>array(40,-228,862,546),11541=>array(35,-228,880,816),11542=>array(40,0,565,546),11543=>array(37,-228,567,547),11544=>array(37,-232,564,546),11545=>array(40,-228,565,816),11546=>array(38,-232,549,547),11547=>array(39,-9,593,816),11548=>array(40,-228,891,547),11549=>array(40,-232,557,546),11550=>array(41,-232,576,546),11551=>array(40,-228,554,567),11552=>array(40,-9,904,546),11553=>array(40,-228,558,816),11554=>array(38,-9,541,626),11555=>array(40,-228,560,816),11556=>array(37,-228,615,546),11557=>array(40,-8,863,816),11568=>array(49,-14,573,380),11569=>array(44,-14,803,742),11570=>array(44,-14,803,742),11571=>array(46,0,606,729),11572=>array(46,0,606,729),11573=>array(50,0,602,729),11574=>array(43,0,565,729),11575=>array(4,0,692,729),11576=>array(4,0,692,729),11577=>array(83,0,549,729),11578=>array(83,0,549,729),11579=>array(66,-14,656,742),11580=>array(66,0,824,729),11581=>array(83,0,679,729),11582=>array(83,0,495,729),11583=>array(83,0,679,729),11584=>array(44,-14,803,742),11585=>array(44,-84,803,815),11586=>array(83,0,253,729),11587=>array(19,0,648,729),11588=>array(83,0,671,729),11589=>array(-27,0,850,729),11590=>array(83,0,539,729),11591=>array(83,0,639,729),11592=>array(66,256,546,445),11593=>array(83,0,549,729),11594=>array(66,0,476,729),11595=>array(57,-14,803,742),11596=>array(74,0,626,729),11597=>array(83,0,671,729),11598=>array(83,0,549,729),11599=>array(83,0,252,729),11600=>array(74,0,626,729),11601=>array(83,0,253,729),11602=>array(38,-14,615,729),11603=>array(49,-14,573,742),11604=>array(44,-14,803,742),11605=>array(44,-95,803,742),11606=>array(83,0,671,729),11607=>array(83,0,253,729),11608=>array(83,0,670,729),11609=>array(44,-14,803,742),11610=>array(44,-14,803,823),11611=>array(44,-14,646,742),11612=>array(71,0,718,729),11613=>array(17,0,676,729),11614=>array(44,-14,646,742),11615=>array(83,0,549,729),11616=>array(4,0,692,729),11617=>array(83,0,671,729),11618=>array(83,0,540,729),11619=>array(44,0,721,729),11620=>array(83,0,589,729),11621=>array(44,0,721,729),11631=>array(58,490,586,729),11800=>array(62,-14,464,728),11807=>array(95,-34,659,415),11810=>array(77,403,351,760),11811=>array(61,403,334,760),11812=>array(77,-132,351,225),11813=>array(61,-132,334,225),11822=>array(62,0,464,742),19904=>array(75,-158,732,729),19905=>array(75,-158,732,729),19906=>array(75,-158,732,729),19907=>array(75,-158,732,729),19908=>array(75,-158,732,729),19909=>array(75,-158,732,729),19910=>array(75,-158,732,729),19911=>array(75,-158,732,729),19912=>array(75,-158,732,729),19913=>array(75,-158,733,729),19914=>array(75,-158,732,729),19915=>array(75,-158,732,729),19916=>array(75,-158,732,729),19917=>array(75,-158,732,729),19918=>array(75,-158,732,729),19919=>array(75,-158,732,729),19920=>array(75,-158,733,729),19921=>array(75,-158,732,729),19922=>array(75,-158,733,729),19923=>array(75,-158,732,729),19924=>array(75,-158,732,729),19925=>array(75,-158,732,729),19926=>array(75,-158,732,729),19927=>array(75,-158,732,729),19928=>array(75,-158,732,729),19929=>array(75,-158,732,729),19930=>array(75,-158,732,729),19931=>array(75,-158,733,729),19932=>array(75,-158,732,729),19933=>array(75,-158,732,729),19934=>array(75,-158,733,729),19935=>array(75,-158,732,729),19936=>array(75,-158,732,729),19937=>array(75,-158,732,729),19938=>array(75,-158,732,729),19939=>array(75,-158,732,729),19940=>array(75,-158,732,729),19941=>array(75,-158,733,729),19942=>array(75,-158,732,729),19943=>array(75,-158,732,729),19944=>array(75,-158,733,729),19945=>array(75,-158,732,729),19946=>array(75,-158,733,729),19947=>array(75,-158,732,729),19948=>array(75,-158,733,729),19949=>array(75,-158,732,729),19950=>array(75,-158,733,729),19951=>array(75,-158,732,729),19952=>array(75,-158,733,729),19953=>array(75,-158,732,729),19954=>array(75,-158,732,729),19955=>array(75,-158,732,729),19956=>array(75,-158,732,729),19957=>array(75,-158,733,729),19958=>array(75,-158,732,729),19959=>array(75,-158,732,729),19960=>array(75,-158,732,729),19961=>array(75,-158,733,729),19962=>array(75,-158,732,729),19963=>array(75,-158,733,729),19964=>array(75,-158,733,729),19965=>array(75,-158,732,729),19966=>array(75,-158,732,729),19967=>array(75,-158,732,729),42192=>array(83,0,623,729),42193=>array(83,0,623,729),42194=>array(37,0,577,729),42195=>array(83,0,700,729),42196=>array(4,0,609,729),42197=>array(4,0,610,729),42198=>array(44,-14,672,742),42199=>array(83,0,725,729),42200=>array(-27,0,615,729),42201=>array(0,-14,396,729),42202=>array(44,-14,603,742),42203=>array(44,-14,603,742),42204=>array(40,0,612,729),42205=>array(83,0,540,729),42206=>array(83,0,540,729),42207=>array(83,0,813,729),42208=>array(83,0,671,729),42209=>array(83,0,549,729),42210=>array(64,-14,583,742),42211=>array(83,0,675,729),42212=>array(18,0,611,729),42213=>array(4,0,692,729),42214=>array(4,0,692,729),42215=>array(83,0,671,729),42216=>array(22,-14,650,742),42217=>array(82,0,477,743),42218=>array(26,0,965,729),42219=>array(17,0,676,729),42220=>array(-9,0,661,729),42221=>array(63,0,604,729),42222=>array(4,0,692,729),42223=>array(4,0,692,729),42224=>array(83,0,549,729),42225=>array(66,0,532,729),42226=>array(83,0,252,729),42227=>array(44,-14,720,742),42228=>array(83,-14,648,729),42229=>array(83,0,648,743),42230=>array(8,0,475,729),42231=>array(47,0,665,729),42232=>array(66,0,224,189),42233=>array(22,-142,224,189),42234=>array(66,0,541,189),42235=>array(66,-142,541,189),42236=>array(21,-142,224,547),42237=>array(65,0,224,547),42238=>array(66,0,463,405),42239=>array(66,134,463,492),42564=>array(23,-14,541,742),42565=>array(13,-14,460,560),42566=>array(83,0,385,729),42567=>array(75,0,321,547),42572=>array(51,-14,1213,654),42573=>array(42,-13,1014,547),42576=>array(44,0,1028,729),42577=>array(18,0,852,547),42580=>array(49,-14,974,742),42581=>array(40,-14,800,560),42582=>array(83,0,979,729),42583=>array(75,-14,792,560),42594=>array(54,-157,952,729),42595=>array(50,-138,811,547),42596=>array(41,0,962,729),42597=>array(49,0,800,547),42598=>array(83,0,1110,729),42599=>array(75,0,876,547),42600=>array(44,-14,720,742),42601=>array(39,-14,580,560),42602=>array(44,-14,889,742),42603=>array(39,-14,743,560),42604=>array(44,-14,1221,742),42605=>array(39,-14,957,560),42606=>array(25,-208,839,743),42634=>array(4,-200,795,729),42635=>array(3,-216,638,547),42636=>array(4,0,609,729),42637=>array(3,0,518,547),42644=>array(72,0,645,729),42645=>array(75,0,571,760),42760=>array(86,0,364,693),42761=>array(86,0,364,693),42762=>array(86,0,364,693),42763=>array(86,0,364,693),42764=>array(86,0,364,693),42765=>array(86,0,364,693),42766=>array(86,0,364,693),42767=>array(86,0,364,693),42768=>array(86,0,364,693),42769=>array(86,0,364,693),42770=>array(86,0,364,693),42771=>array(86,0,364,693),42772=>array(86,0,364,693),42773=>array(86,0,364,693),42774=>array(86,0,364,693),42779=>array(52,326,308,736),42780=>array(52,324,308,734),42781=>array(79,326,180,734),42782=>array(79,326,180,734),42783=>array(79,0,180,408),42786=>array(60,0,368,729),42787=>array(60,0,320,547),42788=>array(50,224,432,742),42789=>array(50,42,432,560),42790=>array(83,-200,671,729),42791=>array(75,-216,571,760),42792=>array(4,-216,888,729),42793=>array(12,-215,729,702),42794=>array(60,-14,555,742),42795=>array(48,-202,444,560),42800=>array(83,0,426,547),42801=>array(46,-14,493,560),42802=>array(4,0,1210,729),42803=>array(39,-14,876,560),42804=>array(4,-14,1111,742),42805=>array(39,-14,919,560),42806=>array(4,-14,1012,729),42807=>array(39,-14,874,560),42808=>array(4,0,967,729),42809=>array(39,-14,817,560),42810=>array(4,0,967,729),42811=>array(39,-14,817,560),42812=>array(4,-216,927,729),42813=>array(39,-216,816,560),42814=>array(30,-14,588,742),42815=>array(39,-14,474,560),42816=>array(4,0,730,729),42817=>array(5,0,637,760),42822=>array(83,0,740,729),42823=>array(75,0,413,760),42824=>array(36,0,590,729),42825=>array(53,0,426,760),42826=>array(14,-14,812,742),42827=>array(4,-14,729,560),42830=>array(44,-14,1221,742),42831=>array(39,-14,957,560),42832=>array(14,0,623,729),42833=>array(4,-208,604,560),42834=>array(31,0,817,729),42835=>array(31,-208,803,560),42838=>array(44,-188,720,742),42839=>array(40,-208,640,559),42852=>array(14,0,623,729),42853=>array(4,-208,604,760),42854=>array(14,0,623,729),42855=>array(4,-208,604,760),42880=>array(24,0,491,729),42881=>array(75,-208,233,547),42882=>array(75,-208,658,742),42883=>array(75,-208,571,560),42889=>array(101,0,259,547),42890=>array(75,141,272,405),42891=>array(126,245,285,729),42892=>array(85,458,190,729),42893=>array(72,0,645,729),42894=>array(75,-216,612,760),42896=>array(83,-157,781,729),42897=>array(75,-138,652,560),42912=>array(-10,-14,749,742),42913=>array(-10,-216,654,559),42914=>array(-10,0,725,729),42915=>array(-10,0,616,760),42916=>array(-10,0,763,729),42917=>array(-10,0,651,560),42918=>array(-10,0,703,729),42919=>array(-10,0,454,560),42920=>array(-10,-14,658,742),42921=>array(-10,-14,545,560),42922=>array(-62,0,715,729),43002=>array(75,0,875,547),43003=>array(75,0,532,729),43004=>array(37,0,577,729),43005=>array(83,0,813,729),43006=>array(83,0,252,928),43007=>array(28,0,1165,729),61184=>array(82,602,286,693),61185=>array(43,451,305,693),61186=>array(23,301,327,693),61187=>array(15,150,336,693),61188=>array(11,0,341,693),61189=>array(43,451,305,693),61190=>array(82,451,286,543),61191=>array(43,301,305,543),61192=>array(23,150,327,543),61193=>array(15,0,336,543),61194=>array(23,301,327,693),61195=>array(43,301,305,543),61196=>array(82,301,286,393),61197=>array(43,150,305,393),61198=>array(23,0,327,393),61199=>array(15,150,336,693),61200=>array(23,149,327,542),61201=>array(43,150,305,393),61202=>array(82,150,286,242),61203=>array(43,0,305,242),61204=>array(11,0,341,693),61205=>array(15,0,336,543),61206=>array(23,0,327,393),61207=>array(43,0,305,242),61208=>array(82,0,286,92),61209=>array(86,0,169,693),62464=>array(44,-14,507,819),62465=>array(44,-15,507,823),62466=>array(44,-14,544,828),62467=>array(44,0,768,828),62468=>array(44,-15,507,828),62469=>array(44,-15,507,828),62470=>array(26,-15,551,828),62471=>array(44,-14,761,828),62472=>array(44,0,487,828),62473=>array(44,-14,507,820),62474=>array(44,-6,1002,828),62475=>array(44,-14,506,828),62476=>array(57,-15,521,820),62477=>array(48,0,755,828),62478=>array(44,-15,507,819),62479=>array(44,-15,507,840),62480=>array(44,0,788,828),62481=>array(57,-14,521,819),62482=>array(40,-14,629,828),62483=>array(31,-14,513,828),62484=>array(44,-14,753,828),62485=>array(44,-14,507,819),62486=>array(44,0,772,828),62487=>array(44,-14,506,820),62488=>array(40,-14,502,828),62489=>array(58,0,521,828),62490=>array(44,-15,566,820),62491=>array(44,-14,506,819),62492=>array(57,-14,520,828),62493=>array(44,-14,523,820),62494=>array(57,-14,521,819),62495=>array(22,-14,492,828),62496=>array(44,-15,507,828),62497=>array(57,-15,520,828),62498=>array(44,-73,507,828),62499=>array(44,-15,506,830),62500=>array(44,-15,513,828),62501=>array(44,-14,565,828),62502=>array(44,-14,823,828),62504=>array(40,-228,864,816),62505=>array(48,-223,712,843),62506=>array(48,-14,459,761),62507=>array(48,-14,459,773),62508=>array(48,-14,459,866),62509=>array(48,-14,459,812),62510=>array(48,-14,459,877),62511=>array(48,-14,459,803),62512=>array(48,-232,451,761),62513=>array(48,-232,451,793),62514=>array(48,-232,451,891),62515=>array(48,-232,451,803),62516=>array(48,0,468,761),62517=>array(48,0,468,793),62518=>array(48,0,468,803),62519=>array(48,-0,693,761),62520=>array(48,-0,693,773),62521=>array(48,-0,693,884),62522=>array(48,-0,693,793),62523=>array(48,-0,693,803),62524=>array(48,-232,501,761),62525=>array(48,-232,501,773),62526=>array(48,-232,501,894),62527=>array(48,-232,501,793),62528=>array(48,-232,501,803),62529=>array(48,-232,501,844),63173=>array(39,-14,580,760),64256=>array(17,0,737,760),64257=>array(19,0,592,760),64258=>array(17,0,592,760),64259=>array(17,0,928,760),64260=>array(17,0,929,760),64261=>array(17,0,707,760),64262=>array(46,-14,897,742),64275=>array(66,-14,1170,760),64276=>array(70,-14,1171,760),64277=>array(70,-208,1170,760),64278=>array(70,-208,1170,760),64279=>array(70,-208,1466,760),64285=>array(60,32,206,547),64286=>array(164,635,459,780),64287=>array(60,32,450,547),64288=>array(34,0,532,547),64289=>array(76,0,770,547),64290=>array(39,0,659,547),64291=>array(82,0,701,547),64292=>array(39,0,658,547),64293=>array(39,0,658,739),64294=>array(82,0,701,547),64295=>array(39,0,658,547),64296=>array(42,-4,658,547),64297=>array(95,256,659,627),64298=>array(18,0,675,710),64299=>array(18,0,675,723),64300=>array(18,0,675,710),64301=>array(18,0,675,710),64302=>array(75,-171,580,547),64303=>array(75,-217,580,547),64304=>array(75,-171,580,547),64305=>array(39,0,510,547),64306=>array(39,-9,376,547),64307=>array(39,0,491,547),64308=>array(82,0,537,547),64309=>array(39,0,312,547),64310=>array(39,0,398,547),64312=>array(81,-13,562,553),64313=>array(39,164,332,547),64314=>array(39,-240,438,547),64315=>array(39,0,460,547),64316=>array(39,0,475,711),64318=>array(39,0,570,554),64320=>array(39,0,326,547),64321=>array(81,-13,562,547),64323=>array(82,-240,526,547),64324=>array(82,0,542,547),64326=>array(29,0,508,547),64327=>array(82,-240,594,546),64328=>array(39,0,460,547),64329=>array(18,0,675,547),64330=>array(9,-4,533,547),64331=>array(82,0,228,710),64332=>array(39,0,510,710),64333=>array(39,0,460,710),64334=>array(82,0,542,710),64335=>array(39,0,587,729),64338=>array(57,-244,829,327),64339=>array(57,-244,962,327),64340=>array(-9,-244,263,293),64341=>array(-9,-244,376,293),64342=>array(57,-244,829,327),64343=>array(57,-244,962,327),64344=>array(-9,-244,272,293),64345=>array(-9,-244,376,293),64346=>array(57,-244,829,327),64347=>array(57,-244,962,327),64348=>array(-9,-244,272,293),64349=>array(-9,-244,376,293),64350=>array(57,-5,829,566),64351=>array(57,-5,962,566),64352=>array(-9,0,263,640),64353=>array(-9,0,376,640),64354=>array(57,-5,829,566),64355=>array(57,-5,962,566),64356=>array(-9,0,272,640),64357=>array(-9,0,376,640),64358=>array(57,-5,829,599),64359=>array(57,-5,962,599),64360=>array(-9,0,300,672),64361=>array(-9,0,376,672),64362=>array(57,-24,974,786),64363=>array(57,-29,1081,786),64364=>array(-9,0,518,786),64365=>array(-9,0,657,786),64366=>array(57,-24,974,786),64367=>array(57,-29,1081,786),64368=>array(-9,0,518,786),64369=>array(-9,0,657,786),64370=>array(69,-244,648,425),64371=>array(69,-244,658,425),64372=>array(-9,-244,566,405),64373=>array(-9,-244,658,405),64374=>array(69,-244,648,425),64375=>array(69,-244,658,425),64376=>array(-9,-117,566,405),64377=>array(-9,-117,658,405),64378=>array(69,-244,648,425),64379=>array(69,-244,658,425),64380=>array(-9,-244,566,405),64381=>array(-9,-244,658,405),64382=>array(69,-244,648,425),64383=>array(69,-244,658,425),64384=>array(-9,-244,566,405),64385=>array(-9,-244,658,405),64386=>array(55,-146,398,415),64387=>array(55,-146,529,415),64388=>array(55,-15,398,586),64389=>array(55,-15,529,586),64390=>array(55,-15,398,708),64391=>array(55,-15,529,708),64392=>array(55,-15,398,746),64393=>array(55,-15,529,746),64394=>array(-38,-244,458,615),64395=>array(-38,-244,569,615),64396=>array(-38,-244,468,648),64397=>array(-38,-244,569,648),64398=>array(57,-39,922,760),64399=>array(57,-39,931,760),64400=>array(-9,0,523,760),64401=>array(-9,0,532,760),64402=>array(57,-39,922,910),64403=>array(57,-39,931,910),64404=>array(-9,0,523,910),64405=>array(-9,0,532,910),64406=>array(57,-293,922,910),64407=>array(57,-293,931,910),64408=>array(-9,-269,523,910),64409=>array(-9,-269,532,910),64410=>array(57,-39,922,910),64411=>array(57,-39,931,910),64412=>array(-9,0,523,910),64413=>array(-9,0,532,910),64414=>array(55,-165,702,366),64415=>array(55,-244,819,287),64416=>array(55,-165,702,636),64417=>array(55,-244,819,514),64418=>array(-9,0,300,672),64419=>array(-9,0,376,672),64426=>array(63,-33,790,506),64427=>array(63,-244,801,369),64428=>array(-9,-33,570,506),64429=>array(-9,-244,603,369),64467=>array(63,-27,733,854),64468=>array(63,-27,847,854),64469=>array(-9,0,523,928),64470=>array(-9,0,532,928),64473=>array(-38,-244,492,556),64474=>array(-38,-244,573,556),64488=>array(-9,0,263,293),64489=>array(-9,0,376,293),64508=>array(57,-107,777,462),64509=>array(57,-126,919,291),64510=>array(-9,-166,272,293),64511=>array(-9,-166,376,293),65056=>array(-377,735,0,880),65057=>array(0,735,377,880),65058=>array(-326,756,0,894),65059=>array(0,756,326,894),65136=>array(25,591,282,825),65137=>array(-9,0,316,825),65138=>array(25,591,282,881),65139=>array(46,0,321,177),65140=>array(25,-239,282,-5),65142=>array(25,591,282,723),65143=>array(-9,0,316,723),65144=>array(25,590,282,881),65145=>array(-9,0,316,881),65146=>array(25,-137,282,-5),65147=>array(-9,-137,316,125),65148=>array(8,599,299,869),65149=>array(-9,0,316,869),65150=>array(32,610,273,878),65151=>array(-9,0,316,878),65152=>array(65,20,394,493),65153=>array(-18,0,326,955),65154=>array(-18,0,347,955),65155=>array(68,0,233,993),65156=>array(68,0,347,993),65157=>array(-38,-244,492,603),65158=>array(-38,-244,573,603),65159=>array(68,-245,233,760),65160=>array(68,-245,347,760),65161=>array(57,-107,777,603),65162=>array(57,-126,919,480),65163=>array(-9,0,263,627),65164=>array(-9,0,376,627),65165=>array(75,0,233,760),65166=>array(75,0,347,760),65167=>array(57,-149,829,327),65168=>array(57,-149,962,327),65169=>array(-9,-173,263,293),65170=>array(-9,-173,376,293),65171=>array(43,-30,486,513),65172=>array(58,0,555,513),65173=>array(57,-5,829,415),65174=>array(57,-5,962,415),65175=>array(-9,0,272,488),65176=>array(-9,0,376,488),65177=>array(57,-5,829,537),65178=>array(57,-5,962,537),65179=>array(-9,0,272,610),65180=>array(-9,0,376,610),65181=>array(69,-244,648,425),65182=>array(69,-244,658,425),65183=>array(-9,-173,566,405),65184=>array(-9,-173,658,405),65185=>array(69,-244,648,425),65186=>array(69,-244,658,425),65187=>array(-9,0,566,405),65188=>array(-9,0,658,405),65189=>array(69,-244,648,579),65190=>array(69,-244,658,579),65191=>array(-9,0,566,530),65192=>array(-9,0,658,530),65193=>array(55,-15,398,415),65194=>array(55,-15,529,415),65195=>array(55,-15,398,579),65196=>array(55,-15,529,579),65197=>array(-38,-244,458,269),65198=>array(-38,-244,569,269),65199=>array(-38,-244,458,457),65200=>array(-38,-244,569,457),65201=>array(57,-244,1167,366),65202=>array(57,-244,1281,366),65203=>array(-9,-14,811,366),65204=>array(-9,-14,925,366),65205=>array(57,-244,1167,586),65206=>array(57,-244,1281,586),65207=>array(-9,-14,811,586),65208=>array(-9,-14,925,586),65209=>array(57,-244,1138,362),65210=>array(57,-244,1237,362),65211=>array(-9,0,797,362),65212=>array(-9,0,896,362),65213=>array(57,-244,1138,457),65214=>array(57,-244,1237,457),65215=>array(-9,0,797,481),65216=>array(-9,0,896,481),65217=>array(63,0,875,760),65218=>array(63,0,973,760),65219=>array(-9,0,787,760),65220=>array(-9,0,886,760),65221=>array(63,0,875,760),65222=>array(63,0,973,760),65223=>array(-9,0,787,760),65224=>array(-9,0,886,760),65225=>array(79,-244,648,521),65226=>array(51,-244,624,382),65227=>array(-9,0,524,521),65228=>array(-9,0,517,382),65229=>array(79,-244,648,652),65230=>array(51,-244,624,530),65231=>array(-9,0,524,652),65232=>array(-9,0,517,530),65233=>array(57,-24,974,627),65234=>array(57,-29,1081,627),65235=>array(-9,0,518,627),65236=>array(-9,0,657,627),65237=>array(47,-215,743,635),65238=>array(47,-244,820,476),65239=>array(-9,0,518,635),65240=>array(-9,0,657,635),65241=>array(63,-27,733,760),65242=>array(63,-27,847,760),65243=>array(-9,0,523,760),65244=>array(-9,0,532,760),65245=>array(63,-142,700,760),65246=>array(63,-142,813,760),65247=>array(-9,0,263,760),65248=>array(-9,0,376,760),65249=>array(62,-244,594,369),65250=>array(62,-244,715,311),65251=>array(-9,-23,491,311),65252=>array(-9,-23,612,311),65253=>array(55,-165,702,457),65254=>array(55,-244,819,383),65255=>array(-9,0,263,481),65256=>array(-9,0,376,481),65257=>array(43,-30,486,358),65258=>array(58,0,555,366),65259=>array(-9,-33,570,506),65260=>array(-9,-244,603,369),65261=>array(-38,-244,492,322),65262=>array(-38,-244,573,322),65263=>array(57,-107,777,462),65264=>array(57,-126,919,291),65265=>array(57,-244,777,462),65266=>array(57,-244,919,291),65267=>array(-9,-166,272,293),65268=>array(-9,-166,376,293),65269=>array(-56,-15,579,882),65270=>array(-56,-15,692,882),65271=>array(30,-15,579,944),65272=>array(30,-15,692,944),65273=>array(37,-245,579,760),65274=>array(37,-245,692,760),65275=>array(37,-15,579,760),65276=>array(37,-15,692,760),65533=>array(22,-139,980,926),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>313,33=>410,34=>469,35=>754,36=>626,37=>901,38=>785,39=>275,40=>411,41=>411,42=>470,43=>754,44=>342,45=>374,46=>342,47=>329,48=>626,49=>626,50=>626,51=>626,52=>626,53=>626,54=>626,55=>626,56=>626,57=>626,58=>360,59=>360,60=>754,61=>754,62=>754,63=>522,64=>900,65=>696,66=>686,67=>660,68=>747,69=>615,70=>615,71=>738,72=>753,73=>334,74=>334,75=>697,76=>573,77=>896,78=>753,79=>765,80=>659,81=>765,82=>693,83=>648,84=>614,85=>730,86=>696,87=>993,88=>694,89=>651,90=>652,91=>411,92=>329,93=>411,94=>754,95=>450,96=>450,97=>607,98=>644,99=>533,100=>644,101=>610,102=>391,103=>644,104=>641,105=>308,106=>308,107=>598,108=>308,109=>938,110=>641,111=>618,112=>644,113=>644,114=>444,115=>536,116=>430,117=>641,118=>586,119=>831,120=>580,121=>586,122=>523,123=>641,124=>329,125=>641,126=>754,160=>313,161=>410,162=>626,163=>626,164=>572,165=>626,166=>329,167=>450,168=>450,169=>900,170=>507,171=>581,172=>754,173=>374,174=>900,175=>450,176=>450,177=>754,178=>394,179=>394,180=>450,181=>662,182=>572,183=>342,184=>450,185=>394,186=>507,187=>581,188=>932,189=>932,190=>932,191=>522,192=>696,193=>696,194=>696,195=>696,196=>696,197=>696,198=>976,199=>660,200=>615,201=>615,202=>615,203=>615,204=>334,205=>334,206=>334,207=>334,208=>754,209=>753,210=>765,211=>765,212=>765,213=>765,214=>765,215=>754,216=>765,217=>730,218=>730,219=>730,220=>730,221=>651,222=>664,223=>647,224=>607,225=>607,226=>607,227=>607,228=>607,229=>607,230=>943,231=>533,232=>610,233=>610,234=>610,235=>610,236=>308,237=>308,238=>308,239=>308,240=>618,241=>641,242=>618,243=>618,244=>618,245=>618,246=>618,247=>754,248=>618,249=>641,250=>641,251=>641,252=>641,253=>586,254=>644,255=>586,256=>696,257=>607,258=>696,259=>607,260=>696,261=>607,262=>660,263=>533,264=>660,265=>533,266=>660,267=>533,268=>660,269=>533,270=>747,271=>644,272=>754,273=>644,274=>615,275=>610,276=>615,277=>610,278=>615,279=>610,280=>615,281=>610,282=>615,283=>610,284=>738,285=>644,286=>738,287=>644,288=>738,289=>644,290=>738,291=>644,292=>753,293=>641,294=>876,295=>711,296=>334,297=>308,298=>334,299=>308,300=>334,301=>308,302=>334,303=>308,304=>334,305=>308,306=>669,307=>617,308=>334,309=>308,310=>697,311=>598,312=>598,313=>573,314=>308,315=>573,316=>308,317=>573,318=>431,319=>573,320=>501,321=>578,322=>334,323=>753,324=>641,325=>753,326=>641,327=>753,328=>641,329=>884,330=>753,331=>641,332=>765,333=>618,334=>765,335=>618,336=>765,337=>618,338=>1050,339=>984,340=>693,341=>444,342=>693,343=>444,344=>693,345=>444,346=>648,347=>536,348=>648,349=>536,350=>648,351=>536,352=>648,353=>536,354=>614,355=>430,356=>614,357=>430,358=>614,359=>430,360=>730,361=>641,362=>730,363=>641,364=>730,365=>641,366=>730,367=>641,368=>730,369=>641,370=>730,371=>641,372=>993,373=>831,374=>651,375=>586,376=>651,377=>652,378=>523,379=>652,380=>523,381=>652,382=>523,383=>391,384=>644,385=>729,386=>686,387=>644,388=>686,389=>644,390=>660,391=>660,392=>533,393=>754,394=>791,395=>681,396=>644,397=>619,398=>615,399=>764,400=>626,401=>615,402=>391,403=>738,404=>713,405=>940,406=>392,407=>350,408=>697,409=>598,410=>324,411=>532,412=>938,413=>753,414=>641,415=>765,416=>786,417=>618,418=>974,419=>821,420=>703,421=>644,422=>693,423=>648,424=>536,425=>615,426=>497,427=>430,428=>636,429=>430,430=>614,431=>751,432=>641,433=>765,434=>732,435=>717,436=>700,437=>652,438=>523,439=>695,440=>695,441=>576,442=>523,443=>626,444=>695,445=>576,446=>515,447=>644,448=>334,449=>593,450=>489,451=>334,452=>1399,453=>1271,454=>1168,455=>908,456=>882,457=>617,458=>1088,459=>1062,460=>949,461=>696,462=>607,463=>334,464=>308,465=>765,466=>618,467=>730,468=>641,469=>730,470=>641,471=>730,472=>641,473=>730,474=>641,475=>730,476=>641,477=>610,478=>696,479=>607,480=>696,481=>607,482=>976,483=>943,484=>738,485=>644,486=>738,487=>644,488=>697,489=>598,490=>765,491=>618,492=>765,493=>618,494=>695,495=>523,496=>308,497=>1399,498=>1271,499=>1168,500=>738,501=>644,502=>1160,503=>708,504=>753,505=>641,506=>696,507=>607,508=>976,509=>943,510=>765,511=>618,512=>696,513=>607,514=>696,515=>607,516=>615,517=>610,518=>615,519=>610,520=>334,521=>308,522=>334,523=>308,524=>765,525=>618,526=>765,527=>618,528=>693,529=>444,530=>693,531=>444,532=>730,533=>641,534=>730,535=>641,536=>648,537=>536,538=>614,539=>430,540=>621,541=>546,542=>753,543=>641,544=>753,545=>778,546=>728,547=>593,548=>652,549=>523,550=>696,551=>607,552=>615,553=>610,554=>765,555=>618,556=>765,557=>618,558=>765,559=>618,560=>765,561=>618,562=>651,563=>586,564=>442,565=>780,566=>460,567=>308,568=>979,569=>979,570=>696,571=>660,572=>533,573=>573,574=>614,575=>536,576=>523,577=>703,578=>553,579=>686,580=>730,581=>696,582=>615,583=>610,584=>334,585=>308,586=>774,587=>712,588=>693,589=>444,590=>651,591=>586,592=>607,593=>644,594=>644,595=>644,596=>533,597=>533,598=>645,599=>712,600=>610,601=>610,602=>788,603=>501,604=>490,605=>733,606=>658,607=>308,608=>712,609=>644,610=>564,611=>579,612=>571,613=>641,614=>641,615=>641,616=>491,617=>396,618=>491,619=>502,620=>624,621=>308,622=>757,623=>938,624=>938,625=>938,626=>641,627=>713,628=>636,629=>618,630=>817,631=>613,632=>716,633=>484,634=>484,635=>584,636=>444,637=>444,638=>536,639=>536,640=>578,641=>578,642=>536,643=>374,644=>391,645=>544,646=>497,647=>430,648=>430,649=>828,650=>695,651=>603,652=>586,653=>831,654=>586,655=>651,656=>624,657=>615,658=>576,659=>576,660=>515,661=>515,662=>515,663=>515,664=>765,665=>569,666=>658,667=>616,668=>622,669=>308,670=>659,671=>485,672=>712,673=>515,674=>515,675=>1040,676=>1093,677=>1039,678=>877,679=>691,680=>836,681=>923,682=>776,683=>702,684=>532,685=>374,686=>609,687=>710,688=>410,689=>410,690=>197,691=>284,692=>284,693=>284,694=>369,695=>532,696=>375,697=>271,698=>469,699=>342,700=>342,701=>342,702=>330,703=>330,704=>293,705=>293,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>275,713=>450,714=>450,715=>450,716=>275,717=>450,718=>450,719=>450,720=>303,721=>303,722=>330,723=>330,724=>450,725=>450,726=>374,727=>295,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>315,735=>450,736=>370,737=>197,738=>343,739=>371,740=>293,741=>450,742=>450,743=>450,744=>450,745=>450,748=>450,749=>450,750=>591,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>628,881=>508,882=>919,883=>752,884=>271,885=>271,886=>753,887=>630,890=>450,891=>533,892=>495,893=>494,894=>360,900=>397,901=>450,902=>717,903=>342,904=>761,905=>908,906=>507,908=>801,910=>882,911=>804,912=>351,913=>696,914=>686,915=>573,916=>696,917=>615,918=>652,919=>753,920=>765,921=>334,922=>697,923=>696,924=>896,925=>753,926=>568,927=>765,928=>753,929=>659,931=>615,932=>614,933=>651,934=>765,935=>694,936=>765,937=>765,938=>334,939=>651,940=>618,941=>501,942=>641,943=>351,944=>607,945=>618,946=>644,947=>613,948=>618,949=>501,950=>532,951=>641,952=>618,953=>351,954=>639,955=>569,956=>662,957=>613,958=>532,959=>618,960=>712,961=>644,962=>533,963=>701,964=>574,965=>607,966=>704,967=>580,968=>714,969=>782,970=>351,971=>607,972=>618,973=>607,974=>782,975=>697,976=>585,977=>594,978=>671,979=>883,980=>671,981=>716,982=>782,983=>669,984=>765,985=>618,986=>660,987=>533,988=>615,989=>444,990=>632,991=>593,992=>827,993=>564,994=>983,995=>753,996=>749,997=>644,998=>835,999=>669,1000=>660,1001=>585,1002=>709,1003=>604,1004=>677,1005=>644,1006=>614,1007=>531,1008=>669,1009=>644,1010=>533,1011=>308,1012=>765,1013=>580,1014=>580,1015=>664,1016=>644,1017=>660,1018=>896,1019=>659,1020=>644,1021=>628,1022=>660,1023=>628,1024=>615,1025=>615,1026=>791,1027=>573,1028=>660,1029=>648,1030=>334,1031=>334,1032=>334,1033=>1039,1034=>1017,1035=>791,1036=>735,1037=>753,1038=>694,1039=>753,1040=>696,1041=>686,1042=>686,1043=>573,1044=>801,1045=>615,1046=>1102,1047=>639,1048=>753,1049=>753,1050=>735,1051=>747,1052=>896,1053=>753,1054=>765,1055=>753,1056=>659,1057=>660,1058=>614,1059=>694,1060=>892,1061=>694,1062=>835,1063=>727,1064=>1112,1065=>1193,1066=>845,1067=>932,1068=>686,1069=>660,1070=>1056,1071=>693,1072=>607,1073=>628,1074=>569,1075=>470,1076=>727,1077=>610,1078=>896,1079=>523,1080=>630,1081=>630,1082=>611,1083=>659,1084=>735,1085=>622,1086=>618,1087=>622,1088=>644,1089=>533,1090=>521,1091=>586,1092=>893,1093=>580,1094=>667,1095=>618,1096=>956,1097=>995,1098=>676,1099=>813,1100=>569,1101=>533,1102=>875,1103=>578,1104=>610,1105=>610,1106=>642,1107=>470,1108=>533,1109=>536,1110=>308,1111=>308,1112=>308,1113=>892,1114=>860,1115=>661,1116=>611,1117=>630,1118=>586,1119=>622,1120=>983,1121=>782,1122=>756,1123=>662,1124=>911,1125=>755,1126=>893,1127=>749,1128=>1222,1129=>1009,1130=>765,1131=>618,1132=>1112,1133=>906,1134=>626,1135=>501,1136=>967,1137=>955,1138=>765,1139=>618,1140=>765,1141=>625,1142=>765,1143=>625,1144=>1033,1145=>939,1146=>967,1147=>776,1148=>1265,1149=>1055,1150=>983,1151=>782,1152=>660,1153=>533,1154=>587,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>376,1161=>376,1162=>861,1163=>726,1164=>686,1165=>550,1166=>659,1167=>644,1168=>573,1169=>470,1170=>599,1171=>488,1172=>727,1173=>602,1174=>1102,1175=>896,1176=>639,1177=>523,1178=>697,1179=>611,1180=>735,1181=>611,1182=>735,1183=>611,1184=>914,1185=>743,1186=>860,1187=>727,1188=>992,1189=>787,1190=>1146,1191=>915,1192=>856,1193=>772,1194=>660,1195=>533,1196=>614,1197=>521,1198=>651,1199=>586,1200=>651,1201=>586,1202=>694,1203=>580,1204=>1001,1205=>900,1206=>727,1207=>618,1208=>727,1209=>618,1210=>727,1211=>641,1212=>923,1213=>729,1214=>923,1215=>729,1216=>334,1217=>1102,1218=>896,1219=>697,1220=>567,1221=>855,1222=>725,1223=>753,1224=>622,1225=>861,1226=>726,1227=>727,1228=>618,1229=>1003,1230=>839,1231=>308,1232=>696,1233=>607,1234=>696,1235=>607,1236=>976,1237=>943,1238=>615,1239=>610,1240=>764,1241=>610,1242=>764,1243=>610,1244=>1102,1245=>896,1246=>639,1247=>523,1248=>695,1249=>576,1250=>753,1251=>630,1252=>753,1253=>630,1254=>765,1255=>618,1256=>765,1257=>618,1258=>765,1259=>618,1260=>660,1261=>533,1262=>694,1263=>586,1264=>694,1265=>586,1266=>694,1267=>586,1268=>727,1269=>618,1270=>573,1271=>470,1272=>932,1273=>813,1274=>599,1275=>488,1276=>694,1277=>580,1278=>694,1279=>580,1280=>686,1281=>547,1282=>1043,1283=>804,1284=>1007,1285=>828,1286=>745,1287=>624,1288=>1117,1289=>915,1290=>1160,1291=>912,1292=>755,1293=>574,1294=>844,1295=>722,1296=>626,1297=>501,1298=>747,1299=>659,1300=>1157,1301=>961,1302=>958,1303=>881,1304=>973,1305=>912,1306=>765,1307=>644,1308=>993,1309=>831,1310=>735,1311=>611,1312=>1140,1313=>953,1314=>1146,1315=>915,1316=>861,1317=>726,1329=>732,1330=>656,1331=>655,1332=>658,1333=>656,1334=>660,1335=>586,1336=>648,1337=>813,1338=>655,1339=>599,1340=>501,1341=>865,1342=>708,1343=>642,1344=>585,1345=>657,1346=>643,1347=>633,1348=>702,1349=>620,1350=>643,1351=>637,1352=>658,1353=>609,1354=>780,1355=>640,1356=>702,1357=>658,1358=>643,1359=>624,1360=>599,1361=>628,1362=>519,1363=>750,1364=>628,1365=>686,1366=>770,1369=>296,1370=>308,1371=>277,1372=>336,1373=>282,1374=>415,1375=>421,1377=>844,1378=>577,1379=>633,1380=>637,1381=>577,1382=>579,1383=>508,1384=>577,1385=>680,1386=>633,1387=>578,1388=>278,1389=>886,1390=>574,1391=>578,1392=>578,1393=>542,1394=>578,1395=>577,1396=>578,1397=>277,1398=>578,1399=>438,1400=>578,1401=>330,1402=>844,1403=>515,1404=>599,1405=>578,1406=>578,1407=>840,1408=>578,1409=>579,1410=>431,1411=>840,1412=>583,1413=>558,1414=>732,1415=>730,1417=>324,1418=>336,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>374,1471=>0,1472=>334,1473=>0,1474=>0,1475=>334,1478=>447,1479=>0,1488=>655,1489=>549,1490=>402,1491=>529,1492=>618,1493=>309,1494=>360,1495=>618,1496=>611,1497=>265,1498=>520,1499=>510,1500=>544,1501=>626,1502=>651,1503=>309,1504=>408,1505=>611,1506=>599,1507=>607,1508=>592,1509=>595,1510=>587,1511=>663,1512=>542,1513=>682,1514=>615,1520=>598,1521=>510,1522=>467,1523=>399,1524=>639,1542=>600,1543=>600,1545=>795,1546=>1042,1548=>342,1557=>0,1563=>360,1567=>522,1569=>460,1570=>308,1571=>308,1572=>559,1573=>308,1574=>825,1575=>308,1576=>904,1577=>531,1578=>904,1579=>904,1580=>648,1581=>648,1582=>648,1583=>461,1584=>461,1585=>518,1586=>518,1587=>1242,1588=>1242,1589=>1210,1590=>1210,1591=>935,1592=>935,1593=>615,1594=>615,1600=>308,1601=>1045,1602=>804,1603=>825,1604=>781,1605=>659,1606=>768,1607=>531,1608=>559,1609=>825,1610=>825,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1619=>0,1620=>0,1621=>0,1623=>0,1626=>450,1632=>549,1633=>549,1634=>549,1635=>549,1636=>549,1637=>549,1638=>549,1639=>549,1640=>549,1641=>549,1642=>549,1643=>336,1644=>342,1645=>490,1646=>904,1647=>804,1648=>0,1652=>263,1657=>904,1658=>904,1659=>904,1660=>904,1661=>904,1662=>904,1663=>904,1664=>904,1665=>648,1666=>648,1667=>648,1668=>648,1669=>648,1670=>648,1671=>648,1672=>400,1673=>400,1674=>400,1675=>400,1676=>400,1677=>400,1678=>400,1679=>400,1680=>400,1681=>518,1682=>518,1683=>518,1684=>518,1685=>613,1686=>518,1687=>518,1688=>518,1689=>518,1690=>1242,1691=>1242,1692=>1242,1693=>1210,1694=>1210,1695=>935,1696=>615,1697=>1045,1698=>1045,1699=>1045,1700=>1045,1701=>1045,1702=>1045,1703=>804,1704=>804,1705=>921,1706=>1144,1707=>921,1708=>825,1709=>825,1710=>825,1711=>921,1712=>921,1713=>921,1714=>921,1715=>921,1716=>921,1717=>781,1718=>781,1719=>781,1720=>781,1721=>768,1722=>768,1723=>768,1724=>768,1725=>768,1726=>844,1727=>648,1734=>559,1740=>825,1742=>825,1749=>531,1776=>549,1777=>549,1778=>549,1779=>549,1780=>549,1781=>549,1782=>549,1783=>549,1784=>549,1785=>549,1984=>626,1985=>626,1986=>626,1987=>626,1988=>626,1989=>626,1990=>626,1991=>626,1992=>626,1993=>626,1994=>308,1995=>492,1996=>489,1997=>586,1998=>622,1999=>622,2000=>534,2001=>622,2002=>813,2003=>496,2004=>496,2005=>564,2006=>619,2007=>399,2008=>920,2009=>456,2010=>743,2011=>622,2012=>586,2013=>821,2014=>564,2015=>636,2016=>456,2017=>586,2018=>517,2019=>564,2020=>564,2021=>564,2022=>517,2023=>517,2027=>0,2028=>0,2029=>0,2030=>0,2031=>0,2032=>0,2033=>0,2034=>0,2035=>0,2036=>342,2037=>342,2040=>622,2041=>622,2042=>374,3647=>626,3713=>710,3714=>673,3716=>674,3719=>512,3720=>668,3722=>669,3725=>685,3732=>635,3733=>633,3734=>672,3735=>737,3737=>657,3738=>654,3739=>654,3740=>830,3741=>744,3742=>779,3743=>779,3745=>752,3746=>685,3747=>692,3749=>691,3751=>642,3754=>744,3755=>928,3757=>651,3758=>705,3759=>840,3760=>620,3761=>0,3762=>549,3763=>549,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>603,3776=>464,3777=>774,3778=>464,3779=>584,3780=>569,3782=>683,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>694,3793=>694,3794=>624,3795=>752,3796=>655,3797=>655,3798=>764,3799=>710,3800=>683,3801=>818,3804=>1227,3805=>1227,4256=>787,4257=>660,4258=>611,4259=>751,4260=>554,4261=>690,4262=>678,4263=>822,4264=>408,4265=>558,4266=>758,4267=>794,4268=>562,4269=>769,4270=>703,4271=>566,4272=>820,4273=>558,4274=>558,4275=>769,4276=>779,4277=>651,4278=>567,4279=>558,4280=>563,4281=>558,4282=>736,4283=>786,4284=>554,4285=>561,4286=>563,4287=>652,4288=>760,4289=>536,4290=>620,4291=>536,4292=>534,4293=>664,4304=>498,4305=>507,4306=>560,4307=>751,4308=>499,4309=>507,4310=>496,4311=>745,4312=>507,4313=>500,4314=>967,4315=>511,4316=>511,4317=>733,4318=>498,4319=>507,4320=>741,4321=>511,4322=>630,4323=>532,4324=>767,4325=>503,4326=>733,4327=>507,4328=>497,4329=>511,4330=>560,4331=>511,4332=>498,4333=>509,4334=>511,4335=>486,4336=>498,4337=>502,4338=>498,4339=>499,4340=>498,4341=>528,4342=>768,4343=>544,4344=>507,4345=>560,4346=>499,4347=>403,4348=>291,5121=>696,5122=>696,5123=>696,5124=>696,5125=>814,5126=>814,5127=>814,5129=>814,5130=>814,5131=>814,5132=>916,5133=>908,5134=>916,5135=>908,5136=>916,5137=>908,5138=>1034,5139=>1025,5140=>1034,5141=>1025,5142=>814,5143=>1034,5144=>1028,5145=>1034,5146=>1028,5147=>814,5149=>278,5150=>476,5151=>382,5152=>382,5153=>355,5154=>355,5155=>355,5156=>355,5157=>507,5158=>423,5159=>278,5160=>355,5161=>355,5162=>355,5163=>1092,5164=>888,5165=>1094,5166=>1167,5167=>696,5168=>696,5169=>696,5170=>696,5171=>797,5172=>797,5173=>797,5175=>797,5176=>797,5177=>797,5178=>916,5179=>908,5180=>916,5181=>908,5182=>916,5183=>908,5184=>1034,5185=>1025,5186=>1034,5187=>1025,5188=>1034,5189=>1028,5190=>1034,5191=>1028,5192=>797,5193=>518,5194=>206,5196=>730,5197=>730,5198=>730,5199=>730,5200=>734,5201=>734,5202=>734,5204=>734,5205=>734,5206=>734,5207=>950,5208=>943,5209=>950,5210=>943,5211=>950,5212=>943,5213=>954,5214=>949,5215=>954,5216=>949,5217=>954,5218=>946,5219=>954,5220=>946,5221=>954,5222=>435,5223=>904,5224=>904,5225=>921,5226=>915,5227=>668,5228=>668,5229=>668,5230=>668,5231=>668,5232=>668,5233=>668,5234=>668,5235=>668,5236=>926,5237=>877,5238=>882,5239=>877,5240=>882,5241=>877,5242=>926,5243=>877,5244=>926,5245=>877,5246=>882,5247=>877,5248=>882,5249=>877,5250=>882,5251=>451,5252=>451,5253=>844,5254=>844,5255=>844,5256=>844,5257=>668,5258=>668,5259=>668,5260=>668,5261=>668,5262=>668,5263=>668,5264=>668,5265=>668,5266=>926,5267=>877,5268=>926,5269=>877,5270=>926,5271=>877,5272=>926,5273=>877,5274=>926,5275=>877,5276=>926,5277=>877,5278=>926,5279=>877,5280=>926,5281=>451,5282=>451,5283=>563,5284=>563,5285=>563,5286=>563,5287=>563,5288=>563,5289=>563,5290=>563,5291=>563,5292=>793,5293=>769,5294=>777,5295=>786,5296=>777,5297=>786,5298=>793,5299=>786,5300=>793,5301=>786,5302=>777,5303=>786,5304=>777,5305=>786,5306=>777,5307=>392,5308=>493,5309=>392,5312=>889,5313=>889,5314=>889,5315=>889,5316=>838,5317=>838,5318=>838,5319=>838,5320=>838,5321=>1114,5322=>1122,5323=>1080,5324=>1105,5325=>1080,5326=>1105,5327=>838,5328=>593,5329=>447,5330=>593,5331=>889,5332=>889,5333=>889,5334=>889,5335=>838,5336=>838,5337=>838,5338=>838,5339=>838,5340=>1107,5341=>1122,5342=>1155,5343=>1105,5344=>1155,5345=>1105,5346=>1105,5347=>1093,5348=>1105,5349=>1093,5350=>1155,5351=>1105,5352=>1155,5353=>1105,5354=>593,5356=>797,5357=>657,5358=>657,5359=>657,5360=>657,5361=>657,5362=>657,5363=>657,5364=>657,5365=>657,5366=>897,5367=>862,5368=>870,5369=>890,5370=>870,5371=>890,5372=>897,5373=>862,5374=>897,5375=>862,5376=>870,5377=>890,5378=>870,5379=>890,5380=>870,5381=>443,5382=>414,5383=>443,5392=>831,5393=>831,5394=>831,5395=>1022,5396=>1022,5397=>1022,5398=>1022,5399=>1088,5400=>1081,5401=>1088,5402=>1081,5403=>1088,5404=>1081,5405=>1288,5406=>1278,5407=>1288,5408=>1278,5409=>1288,5410=>1278,5411=>1288,5412=>1278,5413=>671,5414=>698,5415=>698,5416=>698,5417=>698,5418=>698,5419=>698,5420=>698,5421=>698,5422=>698,5423=>902,5424=>903,5425=>911,5426=>896,5427=>911,5428=>896,5429=>902,5430=>903,5431=>902,5432=>903,5433=>911,5434=>896,5435=>911,5436=>896,5437=>911,5438=>445,5440=>355,5441=>458,5442=>929,5443=>929,5444=>878,5445=>878,5446=>878,5447=>878,5448=>659,5449=>659,5450=>659,5451=>659,5452=>659,5453=>659,5454=>902,5455=>863,5456=>445,5458=>797,5459=>696,5460=>696,5461=>696,5462=>696,5463=>835,5464=>835,5465=>835,5466=>835,5467=>1055,5468=>1028,5469=>542,5470=>730,5471=>730,5472=>730,5473=>730,5474=>730,5475=>730,5476=>734,5477=>734,5478=>734,5479=>734,5480=>954,5481=>946,5482=>493,5492=>879,5493=>879,5494=>879,5495=>879,5496=>879,5497=>879,5498=>879,5499=>556,5500=>753,5501=>458,5502=>1114,5503=>1114,5504=>1114,5505=>1114,5506=>1114,5507=>1114,5508=>1114,5509=>890,5514=>879,5515=>879,5516=>879,5517=>879,5518=>1432,5519=>1432,5520=>1432,5521=>1165,5522=>1165,5523=>1432,5524=>1432,5525=>763,5526=>1146,5536=>889,5537=>889,5538=>838,5539=>838,5540=>838,5541=>838,5542=>593,5543=>698,5544=>698,5545=>698,5546=>698,5547=>698,5548=>698,5549=>698,5550=>445,5551=>668,5598=>747,5601=>747,5702=>446,5703=>446,5742=>371,5743=>1114,5744=>1432,5745=>1814,5746=>1814,5747=>1548,5748=>1510,5749=>1814,5750=>1814,5760=>489,5761=>573,5762=>851,5763=>1128,5764=>1406,5765=>1684,5766=>564,5767=>842,5768=>1128,5769=>1403,5770=>1684,5771=>512,5772=>789,5773=>1068,5774=>1347,5775=>1626,5776=>573,5777=>851,5778=>1116,5779=>1399,5780=>1684,5781=>512,5782=>512,5783=>709,5784=>1110,5785=>1403,5786=>666,5787=>574,5788=>574,7424=>586,7425=>750,7426=>943,7427=>547,7428=>533,7429=>608,7430=>608,7431=>502,7432=>501,7433=>308,7434=>444,7435=>598,7436=>485,7437=>735,7438=>630,7439=>618,7440=>533,7441=>594,7442=>594,7443=>594,7444=>984,7446=>618,7447=>618,7448=>500,7449=>578,7450=>578,7451=>521,7452=>571,7453=>663,7454=>853,7455=>625,7456=>586,7457=>831,7458=>523,7459=>581,7462=>485,7463=>586,7464=>622,7465=>500,7466=>703,7467=>659,7468=>438,7469=>615,7470=>432,7472=>470,7473=>387,7474=>387,7475=>465,7476=>474,7477=>211,7478=>211,7479=>439,7480=>361,7481=>563,7482=>474,7483=>474,7484=>481,7485=>458,7486=>415,7487=>436,7488=>387,7489=>460,7490=>625,7491=>412,7492=>412,7493=>431,7494=>641,7495=>431,7496=>431,7497=>431,7498=>431,7499=>347,7500=>347,7501=>431,7502=>197,7503=>438,7504=>597,7505=>410,7506=>439,7507=>372,7508=>439,7509=>439,7510=>431,7511=>349,7512=>410,7513=>416,7514=>597,7515=>451,7517=>405,7518=>386,7519=>389,7520=>443,7521=>365,7522=>197,7523=>284,7524=>410,7525=>451,7526=>405,7527=>386,7528=>405,7529=>443,7530=>365,7543=>644,7544=>474,7547=>491,7549=>672,7557=>462,7579=>431,7580=>372,7581=>372,7582=>439,7583=>347,7584=>339,7585=>313,7586=>431,7587=>410,7588=>312,7589=>253,7590=>312,7591=>312,7592=>388,7593=>293,7594=>296,7595=>333,7596=>598,7597=>597,7598=>505,7599=>505,7600=>403,7601=>439,7602=>488,7603=>379,7604=>356,7605=>349,7606=>524,7607=>444,7608=>359,7609=>405,7610=>451,7611=>375,7612=>471,7613=>422,7614=>409,7615=>382,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>696,7681=>607,7682=>686,7683=>644,7684=>686,7685=>644,7686=>686,7687=>644,7688=>660,7689=>533,7690=>747,7691=>644,7692=>747,7693=>644,7694=>747,7695=>644,7696=>747,7697=>644,7698=>747,7699=>644,7700=>615,7701=>610,7702=>615,7703=>610,7704=>615,7705=>610,7706=>615,7707=>610,7708=>615,7709=>610,7710=>615,7711=>391,7712=>738,7713=>644,7714=>753,7715=>641,7716=>753,7717=>641,7718=>753,7719=>641,7720=>753,7721=>641,7722=>753,7723=>641,7724=>334,7725=>308,7726=>334,7727=>308,7728=>697,7729=>598,7730=>697,7731=>598,7732=>697,7733=>598,7734=>573,7735=>308,7736=>573,7737=>308,7738=>573,7739=>308,7740=>573,7741=>308,7742=>896,7743=>938,7744=>896,7745=>938,7746=>896,7747=>938,7748=>753,7749=>641,7750=>753,7751=>641,7752=>753,7753=>641,7754=>753,7755=>641,7756=>765,7757=>618,7758=>765,7759=>618,7760=>765,7761=>618,7762=>765,7763=>618,7764=>659,7765=>644,7766=>659,7767=>644,7768=>693,7769=>444,7770=>693,7771=>444,7772=>693,7773=>444,7774=>693,7775=>444,7776=>648,7777=>536,7778=>648,7779=>536,7780=>648,7781=>536,7782=>648,7783=>536,7784=>648,7785=>536,7786=>614,7787=>430,7788=>614,7789=>430,7790=>614,7791=>430,7792=>614,7793=>430,7794=>730,7795=>641,7796=>730,7797=>641,7798=>730,7799=>641,7800=>730,7801=>641,7802=>730,7803=>641,7804=>696,7805=>586,7806=>696,7807=>586,7808=>993,7809=>831,7810=>993,7811=>831,7812=>993,7813=>831,7814=>993,7815=>831,7816=>993,7817=>831,7818=>694,7819=>580,7820=>694,7821=>580,7822=>651,7823=>586,7824=>652,7825=>523,7826=>652,7827=>523,7828=>652,7829=>523,7830=>641,7831=>430,7832=>831,7833=>586,7834=>607,7835=>391,7836=>391,7837=>391,7838=>806,7839=>618,7840=>696,7841=>607,7842=>696,7843=>607,7844=>696,7845=>607,7846=>696,7847=>607,7848=>696,7849=>607,7850=>696,7851=>607,7852=>696,7853=>607,7854=>696,7855=>607,7856=>696,7857=>607,7858=>696,7859=>607,7860=>696,7861=>607,7862=>696,7863=>607,7864=>615,7865=>610,7866=>615,7867=>610,7868=>615,7869=>610,7870=>615,7871=>610,7872=>615,7873=>610,7874=>615,7875=>610,7876=>615,7877=>610,7878=>615,7879=>610,7880=>334,7881=>308,7882=>334,7883=>308,7884=>765,7885=>618,7886=>765,7887=>618,7888=>765,7889=>618,7890=>765,7891=>618,7892=>765,7893=>618,7894=>765,7895=>618,7896=>765,7897=>618,7898=>786,7899=>618,7900=>786,7901=>618,7902=>786,7903=>618,7904=>786,7905=>618,7906=>786,7907=>618,7908=>730,7909=>641,7910=>730,7911=>641,7912=>751,7913=>641,7914=>751,7915=>641,7916=>751,7917=>641,7918=>751,7919=>641,7920=>751,7921=>641,7922=>651,7923=>586,7924=>651,7925=>586,7926=>651,7927=>586,7928=>651,7929=>586,7930=>857,7931=>579,7936=>618,7937=>618,7938=>618,7939=>618,7940=>618,7941=>618,7942=>618,7943=>618,7944=>696,7945=>696,7946=>937,7947=>939,7948=>841,7949=>866,7950=>751,7951=>773,7952=>501,7953=>501,7954=>501,7955=>501,7956=>501,7957=>501,7960=>712,7961=>715,7962=>989,7963=>986,7964=>920,7965=>947,7968=>641,7969=>641,7970=>641,7971=>641,7972=>641,7973=>641,7974=>641,7975=>641,7976=>851,7977=>856,7978=>1125,7979=>1125,7980=>1062,7981=>1085,7982=>948,7983=>956,7984=>351,7985=>351,7986=>351,7987=>351,7988=>351,7989=>351,7990=>351,7991=>351,7992=>435,7993=>440,7994=>699,7995=>707,7996=>641,7997=>664,7998=>544,7999=>544,8000=>618,8001=>618,8002=>618,8003=>618,8004=>618,8005=>618,8008=>802,8009=>839,8010=>1099,8011=>1101,8012=>947,8013=>974,8016=>607,8017=>607,8018=>607,8019=>607,8020=>607,8021=>607,8022=>607,8023=>607,8025=>837,8027=>1065,8029=>1079,8031=>944,8032=>782,8033=>782,8034=>782,8035=>782,8036=>782,8037=>782,8038=>782,8039=>782,8040=>817,8041=>862,8042=>1121,8043=>1126,8044=>968,8045=>994,8046=>925,8047=>968,8048=>618,8049=>618,8050=>501,8051=>501,8052=>641,8053=>641,8054=>351,8055=>351,8056=>618,8057=>618,8058=>607,8059=>607,8060=>782,8061=>782,8064=>618,8065=>618,8066=>618,8067=>618,8068=>618,8069=>618,8070=>618,8071=>618,8072=>696,8073=>696,8074=>937,8075=>939,8076=>841,8077=>866,8078=>751,8079=>773,8080=>641,8081=>641,8082=>641,8083=>641,8084=>641,8085=>641,8086=>641,8087=>641,8088=>851,8089=>856,8090=>1125,8091=>1125,8092=>1062,8093=>1085,8094=>948,8095=>956,8096=>782,8097=>782,8098=>782,8099=>782,8100=>782,8101=>782,8102=>782,8103=>782,8104=>817,8105=>862,8106=>1121,8107=>1126,8108=>968,8109=>994,8110=>925,8111=>968,8112=>618,8113=>618,8114=>618,8115=>618,8116=>618,8118=>618,8119=>618,8120=>696,8121=>696,8122=>789,8123=>717,8124=>696,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>641,8131=>641,8132=>641,8134=>641,8135=>641,8136=>836,8137=>761,8138=>972,8139=>908,8140=>753,8141=>450,8142=>450,8143=>450,8144=>351,8145=>351,8146=>351,8147=>351,8150=>351,8151=>351,8152=>334,8153=>334,8154=>559,8155=>507,8157=>450,8158=>450,8159=>450,8160=>607,8161=>607,8162=>607,8163=>607,8164=>644,8165=>644,8166=>607,8167=>607,8168=>651,8169=>651,8170=>918,8171=>882,8172=>754,8173=>450,8174=>450,8175=>450,8178=>782,8179=>782,8180=>782,8182=>782,8183=>782,8184=>958,8185=>801,8186=>976,8187=>804,8188=>765,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>626,8200=>342,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>374,8209=>374,8210=>626,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>342,8217=>342,8218=>342,8219=>342,8220=>591,8221=>591,8222=>591,8223=>591,8224=>450,8225=>450,8226=>575,8227=>575,8228=>299,8229=>600,8230=>900,8231=>313,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1296,8241=>1698,8242=>237,8243=>402,8244=>567,8245=>237,8246=>402,8247=>567,8248=>659,8249=>371,8250=>371,8251=>875,8252=>564,8253=>522,8254=>450,8255=>745,8256=>745,8257=>296,8258=>920,8259=>450,8260=>150,8261=>411,8262=>411,8263=>927,8264=>746,8265=>746,8266=>461,8267=>572,8268=>450,8269=>450,8270=>470,8271=>360,8272=>745,8273=>470,8274=>500,8275=>900,8276=>745,8277=>754,8278=>615,8279=>731,8280=>754,8281=>754,8282=>342,8283=>784,8284=>754,8285=>342,8286=>342,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>394,8305=>197,8308=>394,8309=>394,8310=>394,8311=>394,8312=>394,8313=>394,8314=>475,8315=>475,8316=>475,8317=>259,8318=>259,8319=>410,8320=>394,8321=>394,8322=>394,8323=>394,8324=>394,8325=>394,8326=>394,8327=>394,8328=>394,8329=>394,8330=>475,8331=>475,8332=>475,8333=>259,8334=>259,8336=>412,8337=>431,8338=>439,8339=>371,8340=>431,8341=>410,8342=>438,8343=>197,8344=>597,8345=>410,8346=>431,8347=>343,8348=>349,8352=>836,8353=>626,8354=>626,8355=>626,8356=>626,8357=>938,8358=>753,8359=>1366,8360=>1084,8361=>993,8362=>813,8363=>626,8364=>626,8365=>626,8366=>626,8367=>1252,8368=>626,8369=>626,8370=>626,8371=>626,8372=>773,8373=>626,8376=>626,8377=>626,8378=>692,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>1007,8449=>1053,8450=>660,8451=>1090,8452=>806,8453=>982,8454=>1029,8455=>553,8456=>628,8457=>978,8459=>965,8460=>822,8461=>799,8462=>641,8463=>641,8464=>537,8465=>627,8466=>771,8467=>424,8468=>876,8469=>753,8470=>1083,8471=>900,8472=>627,8473=>675,8474=>765,8475=>844,8476=>732,8477=>721,8478=>807,8479=>639,8480=>917,8481=>1152,8482=>900,8483=>679,8484=>679,8485=>520,8486=>765,8487=>765,8488=>686,8489=>304,8490=>697,8491=>696,8492=>835,8493=>736,8494=>769,8495=>572,8496=>656,8497=>727,8498=>615,8499=>1065,8500=>418,8501=>714,8502=>658,8503=>444,8504=>615,8505=>342,8506=>851,8507=>1213,8508=>710,8509=>663,8510=>589,8511=>776,8512=>756,8513=>697,8514=>501,8515=>573,8516=>684,8517=>747,8518=>644,8519=>610,8520=>308,8521=>308,8523=>785,8526=>492,8528=>932,8529=>932,8530=>1334,8531=>932,8532=>932,8533=>932,8534=>932,8535=>932,8536=>932,8537=>932,8538=>932,8539=>932,8540=>932,8541=>932,8542=>932,8543=>554,8544=>334,8545=>593,8546=>851,8547=>989,8548=>696,8549=>989,8550=>1247,8551=>1505,8552=>1008,8553=>694,8554=>1008,8555=>1266,8556=>573,8557=>660,8558=>747,8559=>896,8560=>308,8561=>546,8562=>785,8563=>885,8564=>586,8565=>866,8566=>1104,8567=>1342,8568=>872,8569=>580,8570=>872,8571=>1110,8572=>308,8573=>533,8574=>644,8575=>938,8576=>1160,8577=>747,8578=>1160,8579=>660,8580=>533,8581=>660,8585=>932,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>754,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>696,8705=>626,8706=>489,8707=>615,8708=>615,8709=>771,8710=>627,8711=>627,8712=>807,8713=>807,8714=>675,8715=>807,8716=>807,8717=>675,8718=>572,8719=>708,8720=>708,8721=>646,8722=>754,8723=>754,8724=>626,8725=>329,8726=>626,8727=>754,8728=>563,8729=>342,8730=>600,8731=>600,8732=>600,8733=>641,8734=>750,8735=>754,8736=>807,8737=>807,8738=>754,8739=>450,8740=>450,8741=>450,8742=>450,8743=>730,8744=>730,8745=>730,8746=>730,8747=>549,8748=>835,8749=>1165,8750=>506,8751=>879,8752=>1181,8753=>506,8754=>506,8755=>506,8756=>626,8757=>626,8758=>264,8759=>626,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8766=>754,8767=>754,8768=>337,8769=>754,8770=>754,8771=>754,8772=>754,8773=>754,8774=>754,8775=>754,8776=>754,8777=>754,8778=>754,8779=>754,8780=>754,8781=>754,8782=>754,8783=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>956,8789=>956,8790=>754,8791=>754,8792=>754,8793=>754,8794=>754,8795=>754,8796=>754,8797=>754,8798=>754,8799=>754,8800=>754,8801=>754,8802=>754,8803=>754,8804=>754,8805=>754,8806=>754,8807=>754,8808=>756,8809=>756,8810=>942,8811=>942,8812=>450,8813=>754,8814=>754,8815=>754,8816=>754,8817=>754,8818=>754,8819=>754,8820=>754,8821=>754,8822=>754,8823=>754,8824=>754,8825=>754,8826=>754,8827=>754,8828=>754,8829=>754,8830=>754,8831=>754,8832=>754,8833=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8840=>754,8841=>754,8842=>754,8843=>754,8844=>730,8845=>730,8846=>730,8847=>754,8848=>754,8849=>754,8850=>754,8851=>716,8852=>716,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>822,8867=>822,8868=>822,8869=>822,8870=>488,8871=>488,8872=>822,8873=>822,8874=>822,8875=>822,8876=>822,8877=>822,8878=>822,8879=>822,8880=>754,8881=>754,8882=>754,8883=>754,8884=>754,8885=>754,8886=>900,8887=>900,8888=>754,8889=>754,8890=>488,8891=>730,8892=>730,8893=>730,8894=>754,8895=>754,8896=>758,8897=>758,8898=>758,8899=>758,8900=>444,8901=>342,8902=>563,8903=>754,8904=>900,8905=>900,8906=>900,8907=>900,8908=>900,8909=>754,8910=>730,8911=>730,8912=>754,8913=>754,8914=>754,8915=>754,8916=>754,8917=>754,8918=>754,8919=>754,8920=>1280,8921=>1280,8922=>754,8923=>754,8924=>754,8925=>754,8926=>754,8927=>754,8928=>754,8929=>754,8930=>754,8931=>754,8932=>754,8933=>754,8934=>754,8935=>754,8936=>754,8937=>754,8938=>754,8939=>754,8940=>754,8941=>754,8942=>900,8943=>900,8944=>900,8945=>900,8946=>1042,8947=>807,8948=>675,8949=>807,8950=>807,8951=>675,8952=>807,8953=>807,8954=>1042,8955=>807,8956=>675,8957=>807,8958=>675,8959=>807,8960=>542,8961=>542,8962=>644,8963=>754,8964=>754,8965=>754,8966=>754,8967=>439,8968=>411,8969=>411,8970=>411,8971=>411,8972=>728,8973=>728,8974=>728,8975=>728,8976=>754,8977=>484,8984=>835,8985=>754,8988=>422,8989=>422,8990=>422,8991=>422,8992=>549,8993=>549,8996=>1037,8997=>1037,8998=>1272,8999=>1037,9000=>1299,9003=>1272,9004=>786,9075=>351,9076=>644,9077=>782,9082=>618,9085=>776,9095=>1037,9108=>786,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>549,9166=>754,9167=>850,9187=>786,9189=>692,9192=>626,9250=>644,9251=>644,9312=>762,9313=>762,9314=>762,9315=>762,9316=>762,9317=>762,9318=>762,9319=>762,9320=>762,9321=>762,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>756,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>692,9697=>692,9698=>692,9699=>692,9700=>692,9701=>692,9702=>575,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9729=>900,9730=>807,9731=>807,9732=>807,9733=>807,9734=>807,9735=>515,9736=>806,9737=>807,9738=>799,9739=>799,9740=>604,9741=>911,9742=>1121,9743=>1125,9744=>807,9745=>807,9746=>807,9747=>479,9748=>807,9749=>807,9750=>807,9751=>807,9752=>807,9753=>807,9754=>807,9755=>807,9756=>807,9757=>548,9758=>807,9759=>548,9760=>807,9761=>807,9762=>807,9763=>807,9764=>602,9765=>671,9766=>584,9767=>705,9768=>490,9769=>807,9770=>807,9771=>807,9772=>639,9773=>807,9774=>807,9775=>807,9776=>807,9777=>807,9778=>807,9779=>807,9780=>807,9781=>807,9782=>807,9783=>807,9784=>807,9785=>938,9786=>938,9787=>938,9788=>807,9789=>807,9790=>807,9791=>552,9792=>659,9793=>659,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9800=>807,9801=>807,9802=>807,9803=>807,9804=>807,9805=>807,9806=>807,9807=>807,9808=>807,9809=>807,9810=>807,9811=>807,9812=>807,9813=>807,9814=>807,9815=>807,9816=>807,9817=>807,9818=>807,9819=>807,9820=>807,9821=>807,9822=>807,9823=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9832=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,9840=>673,9841=>689,9842=>807,9843=>807,9844=>807,9845=>807,9846=>807,9847=>807,9848=>807,9849=>807,9850=>807,9851=>807,9852=>807,9853=>807,9854=>807,9855=>807,9856=>782,9857=>782,9858=>782,9859=>782,9860=>782,9861=>782,9862=>807,9863=>807,9864=>807,9865=>807,9866=>807,9867=>807,9868=>807,9869=>807,9870=>807,9871=>807,9872=>807,9873=>807,9874=>807,9875=>807,9876=>807,9877=>487,9878=>807,9879=>807,9880=>807,9881=>807,9882=>807,9883=>807,9884=>807,9888=>807,9889=>632,9890=>904,9891=>980,9892=>1057,9893=>813,9894=>754,9895=>754,9896=>754,9897=>754,9898=>754,9899=>754,9900=>754,9901=>754,9902=>754,9903=>754,9904=>759,9905=>754,9906=>659,9907=>659,9908=>659,9909=>659,9910=>765,9911=>659,9912=>659,9920=>754,9921=>754,9922=>754,9923=>754,9954=>659,9985=>754,9986=>754,9987=>754,9988=>754,9990=>754,9991=>754,9992=>754,9993=>754,9996=>754,9997=>754,9998=>754,9999=>754,10000=>754,10001=>754,10002=>754,10003=>754,10004=>754,10005=>754,10006=>754,10007=>754,10008=>754,10009=>754,10010=>754,10011=>754,10012=>754,10013=>754,10014=>754,10015=>754,10016=>754,10017=>754,10018=>754,10019=>754,10020=>754,10021=>754,10022=>754,10023=>754,10025=>754,10026=>754,10027=>754,10028=>754,10029=>754,10030=>754,10031=>754,10032=>754,10033=>754,10034=>754,10035=>754,10036=>754,10037=>754,10038=>754,10039=>754,10040=>754,10041=>754,10042=>754,10043=>754,10044=>754,10045=>754,10046=>754,10047=>754,10048=>754,10049=>754,10050=>754,10051=>754,10052=>754,10053=>754,10054=>754,10055=>754,10056=>754,10057=>754,10058=>754,10059=>754,10061=>807,10063=>807,10064=>807,10065=>807,10066=>807,10070=>807,10072=>754,10073=>754,10074=>754,10075=>312,10076=>312,10077=>528,10078=>528,10081=>754,10082=>754,10083=>754,10084=>754,10085=>754,10086=>754,10087=>754,10088=>754,10089=>754,10090=>754,10091=>754,10092=>754,10093=>754,10094=>754,10095=>754,10096=>754,10097=>754,10098=>754,10099=>754,10100=>754,10101=>754,10102=>762,10103=>762,10104=>762,10105=>762,10106=>762,10107=>762,10108=>762,10109=>762,10110=>762,10111=>762,10112=>754,10113=>754,10114=>754,10115=>754,10116=>754,10117=>754,10118=>754,10119=>754,10120=>754,10121=>754,10122=>754,10123=>754,10124=>754,10125=>754,10126=>754,10127=>754,10128=>754,10129=>754,10130=>754,10131=>754,10132=>754,10136=>754,10137=>754,10138=>754,10139=>754,10140=>754,10141=>754,10142=>754,10143=>754,10144=>754,10145=>754,10146=>754,10147=>754,10148=>754,10149=>754,10150=>754,10151=>754,10152=>754,10153=>754,10154=>754,10155=>754,10156=>754,10157=>754,10158=>754,10159=>754,10161=>754,10162=>754,10163=>754,10164=>754,10165=>754,10166=>754,10167=>754,10168=>754,10169=>754,10170=>754,10171=>754,10172=>754,10173=>754,10174=>754,10181=>411,10182=>411,10208=>444,10214=>438,10215=>438,10216=>411,10217=>411,10218=>648,10219=>648,10224=>754,10225=>754,10226=>754,10227=>754,10228=>1042,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>703,10241=>703,10242=>703,10243=>703,10244=>703,10245=>703,10246=>703,10247=>703,10248=>703,10249=>703,10250=>703,10251=>703,10252=>703,10253=>703,10254=>703,10255=>703,10256=>703,10257=>703,10258=>703,10259=>703,10260=>703,10261=>703,10262=>703,10263=>703,10264=>703,10265=>703,10266=>703,10267=>703,10268=>703,10269=>703,10270=>703,10271=>703,10272=>703,10273=>703,10274=>703,10275=>703,10276=>703,10277=>703,10278=>703,10279=>703,10280=>703,10281=>703,10282=>703,10283=>703,10284=>703,10285=>703,10286=>703,10287=>703,10288=>703,10289=>703,10290=>703,10291=>703,10292=>703,10293=>703,10294=>703,10295=>703,10296=>703,10297=>703,10298=>703,10299=>703,10300=>703,10301=>703,10302=>703,10303=>703,10304=>703,10305=>703,10306=>703,10307=>703,10308=>703,10309=>703,10310=>703,10311=>703,10312=>703,10313=>703,10314=>703,10315=>703,10316=>703,10317=>703,10318=>703,10319=>703,10320=>703,10321=>703,10322=>703,10323=>703,10324=>703,10325=>703,10326=>703,10327=>703,10328=>703,10329=>703,10330=>703,10331=>703,10332=>703,10333=>703,10334=>703,10335=>703,10336=>703,10337=>703,10338=>703,10339=>703,10340=>703,10341=>703,10342=>703,10343=>703,10344=>703,10345=>703,10346=>703,10347=>703,10348=>703,10349=>703,10350=>703,10351=>703,10352=>703,10353=>703,10354=>703,10355=>703,10356=>703,10357=>703,10358=>703,10359=>703,10360=>703,10361=>703,10362=>703,10363=>703,10364=>703,10365=>703,10366=>703,10367=>703,10368=>703,10369=>703,10370=>703,10371=>703,10372=>703,10373=>703,10374=>703,10375=>703,10376=>703,10377=>703,10378=>703,10379=>703,10380=>703,10381=>703,10382=>703,10383=>703,10384=>703,10385=>703,10386=>703,10387=>703,10388=>703,10389=>703,10390=>703,10391=>703,10392=>703,10393=>703,10394=>703,10395=>703,10396=>703,10397=>703,10398=>703,10399=>703,10400=>703,10401=>703,10402=>703,10403=>703,10404=>703,10405=>703,10406=>703,10407=>703,10408=>703,10409=>703,10410=>703,10411=>703,10412=>703,10413=>703,10414=>703,10415=>703,10416=>703,10417=>703,10418=>703,10419=>703,10420=>703,10421=>703,10422=>703,10423=>703,10424=>703,10425=>703,10426=>703,10427=>703,10428=>703,10429=>703,10430=>703,10431=>703,10432=>703,10433=>703,10434=>703,10435=>703,10436=>703,10437=>703,10438=>703,10439=>703,10440=>703,10441=>703,10442=>703,10443=>703,10444=>703,10445=>703,10446=>703,10447=>703,10448=>703,10449=>703,10450=>703,10451=>703,10452=>703,10453=>703,10454=>703,10455=>703,10456=>703,10457=>703,10458=>703,10459=>703,10460=>703,10461=>703,10462=>703,10463=>703,10464=>703,10465=>703,10466=>703,10467=>703,10468=>703,10469=>703,10470=>703,10471=>703,10472=>703,10473=>703,10474=>703,10475=>703,10476=>703,10477=>703,10478=>703,10479=>703,10480=>703,10481=>703,10482=>703,10483=>703,10484=>703,10485=>703,10486=>703,10487=>703,10488=>703,10489=>703,10490=>703,10491=>703,10492=>703,10493=>703,10494=>703,10495=>703,10502=>754,10503=>754,10506=>754,10507=>754,10560=>754,10561=>754,10627=>678,10628=>678,10702=>754,10703=>941,10704=>941,10705=>900,10706=>900,10707=>900,10708=>900,10709=>900,10731=>444,10746=>754,10747=>754,10752=>900,10753=>900,10754=>900,10764=>1495,10765=>506,10766=>506,10767=>506,10768=>506,10769=>506,10770=>506,10771=>506,10772=>506,10773=>506,10774=>506,10775=>506,10776=>506,10777=>506,10778=>506,10779=>506,10780=>506,10799=>754,10858=>754,10859=>754,10877=>754,10878=>754,10879=>754,10880=>754,10881=>754,10882=>754,10883=>754,10884=>754,10885=>754,10886=>754,10887=>754,10888=>754,10889=>754,10890=>754,10891=>754,10892=>754,10893=>754,10894=>754,10895=>754,10896=>754,10897=>754,10898=>754,10899=>754,10900=>754,10901=>754,10902=>754,10903=>754,10904=>754,10905=>754,10906=>754,10907=>754,10908=>754,10909=>754,10910=>754,10911=>754,10912=>754,10926=>754,10927=>754,10928=>754,10929=>754,10930=>754,10931=>754,10932=>754,10933=>754,10934=>754,10935=>754,10936=>754,10937=>754,10938=>754,11001=>754,11002=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>754,11023=>754,11024=>754,11025=>754,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11039=>782,11040=>782,11041=>786,11042=>786,11043=>786,11044=>1007,11091=>782,11092=>782,11360=>573,11361=>324,11362=>573,11363=>659,11364=>693,11365=>607,11366=>430,11367=>860,11368=>641,11369=>697,11370=>598,11371=>652,11372=>523,11373=>774,11374=>896,11375=>696,11376=>774,11377=>700,11378=>1099,11379=>950,11380=>586,11381=>628,11382=>508,11383=>704,11385=>484,11386=>618,11387=>502,11388=>197,11389=>438,11390=>648,11391=>652,11520=>596,11521=>608,11522=>595,11523=>566,11524=>595,11525=>928,11526=>646,11527=>928,11528=>583,11529=>600,11530=>928,11531=>605,11532=>609,11533=>932,11534=>612,11535=>797,11536=>928,11537=>615,11538=>606,11539=>931,11540=>930,11541=>924,11542=>608,11543=>605,11544=>600,11545=>600,11546=>593,11547=>604,11548=>935,11549=>605,11550=>623,11551=>593,11552=>943,11553=>593,11554=>588,11555=>603,11556=>659,11557=>915,11568=>622,11569=>847,11570=>847,11571=>652,11572=>652,11573=>652,11574=>608,11575=>696,11576=>696,11577=>615,11578=>615,11579=>721,11580=>890,11581=>685,11582=>561,11583=>685,11584=>847,11585=>847,11586=>335,11587=>666,11588=>753,11589=>822,11590=>604,11591=>663,11592=>612,11593=>615,11594=>542,11595=>935,11596=>700,11597=>753,11598=>615,11599=>334,11600=>700,11601=>335,11602=>652,11603=>622,11604=>847,11605=>847,11606=>753,11607=>335,11608=>752,11609=>847,11610=>847,11611=>660,11612=>789,11613=>694,11614=>660,11615=>615,11616=>696,11617=>753,11618=>615,11619=>765,11620=>627,11621=>765,11631=>644,11800=>522,11807=>754,11810=>411,11811=>411,11812=>411,11813=>411,11822=>522,19904=>807,19905=>807,19906=>807,19907=>807,19908=>807,19909=>807,19910=>807,19911=>807,19912=>807,19913=>807,19914=>807,19915=>807,19916=>807,19917=>807,19918=>807,19919=>807,19920=>807,19921=>807,19922=>807,19923=>807,19924=>807,19925=>807,19926=>807,19927=>807,19928=>807,19929=>807,19930=>807,19931=>807,19932=>807,19933=>807,19934=>807,19935=>807,19936=>807,19937=>807,19938=>807,19939=>807,19940=>807,19941=>807,19942=>807,19943=>807,19944=>807,19945=>807,19946=>807,19947=>807,19948=>807,19949=>807,19950=>807,19951=>807,19952=>807,19953=>807,19954=>807,19955=>807,19956=>807,19957=>807,19958=>807,19959=>807,19960=>807,19961=>807,19962=>807,19963=>807,19964=>807,19965=>807,19966=>807,19967=>807,42192=>686,42193=>659,42194=>659,42195=>747,42196=>614,42197=>614,42198=>738,42199=>697,42200=>697,42201=>477,42202=>660,42203=>660,42204=>652,42205=>615,42206=>615,42207=>896,42208=>753,42209=>573,42210=>648,42211=>693,42212=>693,42213=>696,42214=>696,42215=>753,42216=>697,42217=>477,42218=>993,42219=>694,42220=>651,42221=>686,42222=>696,42223=>696,42224=>615,42225=>615,42226=>334,42227=>765,42228=>730,42229=>730,42230=>501,42231=>747,42232=>290,42233=>290,42234=>606,42235=>606,42236=>290,42237=>290,42238=>529,42239=>529,42564=>648,42565=>536,42566=>392,42567=>396,42572=>1265,42573=>1055,42576=>1110,42577=>924,42580=>1056,42581=>875,42582=>983,42583=>862,42594=>976,42595=>832,42596=>986,42597=>821,42598=>1134,42599=>897,42600=>765,42601=>618,42602=>933,42603=>781,42604=>1266,42605=>995,42606=>865,42634=>867,42635=>708,42636=>614,42637=>521,42644=>727,42645=>641,42760=>450,42761=>450,42762=>450,42763=>450,42764=>450,42765=>450,42766=>450,42767=>450,42768=>450,42769=>450,42770=>450,42771=>450,42772=>450,42773=>450,42774=>450,42779=>360,42780=>360,42781=>258,42782=>258,42783=>258,42786=>399,42787=>351,42788=>486,42789=>486,42790=>753,42791=>641,42792=>928,42793=>771,42794=>626,42795=>501,42800=>502,42801=>536,42802=>1214,42803=>946,42804=>1156,42805=>958,42806=>1094,42807=>949,42808=>971,42809=>830,42810=>971,42811=>830,42812=>932,42813=>830,42814=>628,42815=>494,42816=>590,42817=>620,42822=>765,42823=>488,42824=>614,42825=>478,42826=>826,42827=>732,42830=>1266,42831=>995,42832=>659,42833=>644,42834=>853,42835=>843,42838=>765,42839=>644,42852=>664,42853=>644,42854=>664,42855=>644,42880=>573,42881=>308,42882=>753,42883=>641,42889=>360,42890=>347,42891=>410,42892=>275,42893=>727,42894=>624,42896=>835,42897=>691,42912=>738,42913=>644,42914=>697,42915=>598,42916=>753,42917=>641,42918=>693,42919=>444,42920=>648,42921=>536,42922=>797,43002=>956,43003=>615,43004=>659,43005=>896,43006=>334,43007=>1192,61184=>194,61185=>218,61186=>240,61187=>249,61188=>254,61189=>218,61190=>194,61191=>218,61192=>240,61193=>249,61194=>240,61195=>218,61196=>194,61197=>218,61198=>240,61199=>249,61200=>240,61201=>218,61202=>194,61203=>218,61204=>254,61205=>249,61206=>240,61207=>218,61208=>194,61209=>254,62464=>551,62465=>551,62466=>587,62467=>812,62468=>560,62469=>560,62470=>594,62471=>805,62472=>530,62473=>560,62474=>1046,62475=>563,62476=>564,62477=>803,62478=>551,62479=>563,62480=>832,62481=>564,62482=>669,62483=>570,62484=>797,62485=>563,62486=>816,62487=>563,62488=>559,62489=>565,62490=>609,62491=>563,62492=>559,62493=>567,62494=>564,62495=>514,62496=>559,62497=>567,62498=>551,62499=>550,62500=>556,62501=>604,62502=>866,62504=>920,62505=>760,62506=>507,62507=>507,62508=>507,62509=>507,62510=>507,62511=>507,62512=>499,62513=>499,62514=>499,62515=>499,62516=>516,62517=>516,62518=>516,62519=>742,62520=>742,62521=>742,62522=>742,62523=>742,62524=>549,62525=>549,62526=>549,62527=>549,62528=>549,62529=>549,63173=>618,64256=>729,64257=>667,64258=>667,64259=>1003,64260=>1004,64261=>727,64262=>917,64275=>1249,64276=>1245,64277=>1240,64278=>1245,64279=>1542,64285=>265,64286=>0,64287=>467,64288=>598,64289=>845,64290=>709,64291=>828,64292=>707,64293=>771,64294=>782,64295=>739,64296=>801,64297=>754,64298=>682,64299=>682,64300=>682,64301=>682,64302=>655,64303=>655,64304=>655,64305=>549,64306=>402,64307=>529,64308=>618,64309=>393,64310=>436,64312=>611,64313=>391,64314=>520,64315=>510,64316=>544,64318=>651,64320=>408,64321=>611,64323=>607,64324=>592,64326=>587,64327=>663,64328=>542,64329=>682,64330=>615,64331=>309,64332=>549,64333=>510,64334=>592,64335=>639,64338=>904,64339=>953,64340=>338,64341=>367,64342=>904,64343=>953,64344=>338,64345=>367,64346=>904,64347=>953,64348=>338,64349=>367,64350=>904,64351=>953,64352=>338,64353=>367,64354=>904,64355=>953,64356=>338,64357=>367,64358=>904,64359=>953,64360=>338,64361=>367,64362=>1045,64363=>1072,64364=>589,64365=>647,64366=>1045,64367=>1072,64368=>589,64369=>647,64370=>648,64371=>648,64372=>648,64373=>648,64374=>648,64375=>648,64376=>648,64377=>648,64378=>648,64379=>648,64380=>648,64381=>648,64382=>648,64383=>648,64384=>648,64385=>648,64386=>461,64387=>520,64388=>461,64389=>520,64390=>461,64391=>520,64392=>461,64393=>520,64394=>518,64395=>560,64396=>518,64397=>560,64398=>921,64399=>921,64400=>523,64401=>523,64402=>921,64403=>921,64404=>523,64405=>523,64406=>921,64407=>921,64408=>523,64409=>523,64410=>921,64411=>921,64412=>523,64413=>523,64414=>768,64415=>810,64416=>768,64417=>810,64418=>338,64419=>367,64426=>844,64427=>792,64428=>624,64429=>594,64467=>742,64468=>758,64469=>428,64470=>497,64473=>559,64474=>564,64488=>338,64489=>367,64508=>825,64509=>910,64510=>338,64511=>367,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65136=>308,65137=>308,65138=>308,65139=>311,65140=>308,65142=>308,65143=>308,65144=>308,65145=>308,65146=>308,65147=>308,65148=>308,65149=>308,65150=>308,65151=>308,65152=>460,65153=>308,65154=>338,65155=>308,65156=>338,65157=>559,65158=>564,65159=>308,65160=>338,65161=>825,65162=>825,65163=>338,65164=>367,65165=>308,65166=>338,65167=>904,65168=>953,65169=>338,65170=>367,65171=>531,65172=>545,65173=>904,65174=>953,65175=>338,65176=>367,65177=>904,65178=>953,65179=>338,65180=>367,65181=>648,65182=>648,65183=>648,65184=>648,65185=>648,65186=>648,65187=>648,65188=>648,65189=>648,65190=>648,65191=>648,65192=>648,65193=>461,65194=>520,65195=>461,65196=>520,65197=>518,65198=>560,65199=>518,65200=>560,65201=>1242,65202=>1272,65203=>885,65204=>916,65205=>1242,65206=>1272,65207=>885,65208=>916,65209=>1210,65210=>1228,65211=>870,65212=>887,65213=>1210,65214=>1228,65215=>870,65216=>887,65217=>935,65218=>963,65219=>848,65220=>876,65221=>935,65222=>963,65223=>848,65224=>876,65225=>615,65226=>615,65227=>615,65228=>508,65229=>615,65230=>615,65231=>615,65232=>508,65233=>1045,65234=>1072,65235=>589,65236=>647,65237=>804,65238=>811,65239=>589,65240=>647,65241=>825,65242=>838,65243=>523,65244=>523,65245=>781,65246=>803,65247=>338,65248=>367,65249=>659,65250=>706,65251=>557,65252=>603,65253=>768,65254=>810,65255=>338,65256=>367,65257=>531,65258=>545,65259=>624,65260=>594,65261=>559,65262=>564,65263=>825,65264=>910,65265=>825,65266=>910,65267=>338,65268=>367,65269=>670,65270=>683,65271=>670,65272=>683,65273=>670,65274=>683,65275=>670,65276=>683,65279=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1002,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.z new file mode 100644 index 0000000..af54a16 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.ctg.z new file mode 100644 index 0000000..23445ef Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.php b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.php new file mode 100644 index 0000000..d0d573d --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-960 -385 1799 1121]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>60,'StemH'=>26,'AvgWidth'=>515,'MaxWidth'=>1814,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(62,0,349,729),34=>array(85,458,383,729),35=>array(58,0,702,718),36=>array(24,-147,567,760),37=>array(49,-14,853,742),38=>array(25,-14,732,742),39=>array(85,458,190,729),40=>array(69,-132,421,759),41=>array(-24,-132,328,759),42=>array(18,278,453,742),43=>array(95,0,659,627),44=>array(-31,-142,230,189),45=>array(22,217,324,359),46=>array(41,0,233,189),47=>array(-87,-93,391,729),48=>array(32,-14,594,742),49=>array(39,0,521,729),50=>array(7,0,576,742),51=>array(0,-14,574,742),52=>array(-1,0,571,729),53=>array(12,-14,580,729),54=>array(44,-15,594,741),55=>array(70,0,625,729),56=>array(20,-14,593,742),57=>array(37,-15,587,741),58=>array(37,0,291,547),59=>array(-32,-142,291,547),60=>array(95,30,659,597),61=>array(95,144,659,482),62=>array(95,30,659,597),63=>array(93,0,499,742),64=>array(40,-172,834,703),65=>array(-59,0,622,729),66=>array(19,0,629,729),67=>array(32,-14,652,742),68=>array(19,0,708,729),69=>array(19,0,603,729),70=>array(19,0,603,729),71=>array(32,-14,700,742),72=>array(19,0,734,729),73=>array(19,0,316,729),74=>array(-149,-200,316,729),75=>array(19,0,753,729),76=>array(19,0,510,729),77=>array(19,0,877,729),78=>array(19,0,734,729),79=>array(32,-14,733,742),80=>array(19,0,647,729),81=>array(32,-146,733,742),82=>array(19,0,617,729),83=>array(13,-14,599,742),84=>array(43,0,673,729),85=>array(61,-14,712,729),86=>array(68,0,756,729),87=>array(96,0,1029,729),88=>array(-46,0,731,729),89=>array(57,0,729,729),90=>array(-23,0,667,729),91=>array(-9,-132,419,760),92=>array(63,-93,249,729),93=>array(-25,-132,404,760),94=>array(91,457,664,729),95=>array(-9,-236,459,-143),96=>array(118,616,334,800),97=>array(15,-14,550,560),98=>array(27,-14,609,760),99=>array(33,-14,523,560),100=>array(32,-14,652,760),101=>array(32,-14,576,560),102=>array(44,0,486,760),103=>array(18,-216,614,559),104=>array(27,0,589,760),105=>array(27,0,319,760),106=>array(-115,-216,319,760),107=>array(27,0,645,760),108=>array(27,0,319,760),109=>array(27,0,886,560),110=>array(27,0,589,560),111=>array(32,-14,586,560),112=>array(-9,-208,609,560),113=>array(32,-208,614,560),114=>array(27,0,491,560),115=>array(9,-14,504,560),116=>array(39,0,458,702),117=>array(54,-14,613,547),118=>array(57,0,611,547),119=>array(78,0,834,547),120=>array(-37,0,604,547),121=>array(0,-216,619,547),122=>array(-8,0,527,547),123=>array(95,-163,602,760),124=>array(114,-236,214,764),125=>array(40,-163,545,760),126=>array(95,212,659,415),161=>array(62,0,349,729),162=>array(60,-153,549,699),163=>array(6,0,622,742),164=>array(32,30,541,596),165=>array(5,0,680,729),166=>array(114,-171,214,699),167=>array(-30,-95,445,742),168=>array(136,654,436,774),169=>array(124,0,776,725),170=>array(39,182,475,742),171=>array(55,67,535,519),172=>array(95,140,659,444),173=>array(22,217,324,359),174=>array(124,0,776,725),175=>array(139,668,433,760),176=>array(78,424,371,749),177=>array(95,0,659,627),178=>array(40,326,388,742),179=>array(36,319,384,742),180=>array(204,616,485,800),181=>array(-24,-209,603,547),182=>array(66,-96,543,729),183=>array(75,253,268,442),184=>array(20,-196,233,0),185=>array(60,326,356,734),186=>array(41,182,491,742),187=>array(51,66,530,519),188=>array(50,-14,853,742),189=>array(50,-14,933,742),190=>array(42,-14,853,742),191=>array(33,-13,439,729),192=>array(-59,0,622,927),193=>array(-59,0,622,927),194=>array(-59,0,622,927),195=>array(-59,0,622,928),196=>array(-59,0,622,927),197=>array(-59,0,622,928),198=>array(-70,0,965,729),199=>array(32,-196,652,742),200=>array(19,0,603,927),201=>array(19,0,603,927),202=>array(19,0,603,927),203=>array(19,0,603,927),204=>array(19,0,316,927),205=>array(19,0,403,927),206=>array(19,0,396,927),207=>array(19,0,398,927),208=>array(-2,0,723,729),209=>array(19,0,734,928),210=>array(32,-14,733,927),211=>array(32,-14,733,927),212=>array(32,-14,733,927),213=>array(32,-14,733,928),214=>array(32,-14,733,927),215=>array(112,20,642,607),216=>array(-42,-38,807,771),217=>array(61,-14,712,927),218=>array(61,-14,712,927),219=>array(61,-14,712,927),220=>array(61,-14,712,927),221=>array(57,0,729,927),222=>array(19,0,625,729),223=>array(27,-14,600,760),224=>array(15,-14,550,800),225=>array(15,-14,564,800),226=>array(15,-14,550,800),227=>array(15,-14,550,778),228=>array(15,-14,550,774),229=>array(15,-14,550,883),230=>array(15,-14,907,560),231=>array(33,-196,523,560),232=>array(32,-14,576,800),233=>array(32,-14,585,800),234=>array(32,-14,576,800),235=>array(32,-14,576,774),236=>array(27,0,282,800),237=>array(27,0,423,800),238=>array(27,0,373,800),239=>array(27,0,374,774),240=>array(32,-14,611,760),241=>array(27,0,589,778),242=>array(32,-14,586,800),243=>array(32,-14,586,800),244=>array(32,-14,586,800),245=>array(32,-14,586,778),246=>array(32,-14,586,774),247=>array(95,42,659,585),248=>array(-16,-50,630,597),249=>array(54,-14,613,800),250=>array(54,-14,613,800),251=>array(54,-14,613,800),252=>array(54,-14,613,774),253=>array(0,-216,619,800),254=>array(-9,-208,609,760),255=>array(0,-216,619,774),256=>array(-59,0,622,914),257=>array(15,-14,550,763),258=>array(-59,0,622,936),259=>array(15,-14,550,772),260=>array(-59,-196,622,729),261=>array(15,-196,550,560),262=>array(32,-14,652,927),263=>array(33,-14,581,800),264=>array(32,-14,652,927),265=>array(33,-14,530,800),266=>array(32,-14,652,927),267=>array(33,-14,523,759),268=>array(32,-14,659,927),269=>array(33,-14,571,800),270=>array(19,0,708,927),271=>array(32,-14,853,760),272=>array(-2,0,723,729),273=>array(32,-14,735,760),274=>array(19,0,603,914),275=>array(32,-14,576,763),276=>array(19,0,603,927),277=>array(32,-14,576,784),278=>array(19,0,603,927),279=>array(32,-14,576,759),280=>array(19,-196,603,729),281=>array(32,-196,576,560),282=>array(19,0,603,927),283=>array(32,-14,576,800),284=>array(32,-14,700,927),285=>array(18,-216,614,800),286=>array(32,-14,700,927),287=>array(18,-216,614,784),288=>array(32,-14,700,927),289=>array(18,-216,614,759),290=>array(32,-224,700,742),291=>array(18,-216,614,765),292=>array(19,0,734,927),293=>array(27,0,589,927),294=>array(80,0,842,729),295=>array(77,0,637,760),296=>array(19,0,411,928),297=>array(27,0,388,778),298=>array(19,0,375,914),299=>array(27,0,362,763),300=>array(19,0,408,927),301=>array(27,0,385,784),302=>array(19,-196,316,729),303=>array(27,-196,319,760),304=>array(19,0,320,927),305=>array(27,0,282,547),306=>array(19,-200,650,729),307=>array(27,-216,627,760),308=>array(-149,-200,408,927),309=>array(-115,-216,385,800),310=>array(19,-209,753,729),311=>array(27,-209,645,760),312=>array(27,0,645,547),313=>array(19,0,510,928),314=>array(27,0,431,928),315=>array(19,-209,510,729),316=>array(-21,-209,319,760),317=>array(19,0,561,729),318=>array(27,0,523,760),319=>array(19,0,562,729),320=>array(27,0,500,760),321=>array(-21,0,543,729),322=>array(-6,0,411,760),323=>array(19,0,734,928),324=>array(27,0,589,803),325=>array(19,-209,734,729),326=>array(27,-209,589,560),327=>array(19,0,734,927),328=>array(27,0,589,800),329=>array(55,0,820,729),330=>array(28,-200,698,742),331=>array(45,-216,606,560),332=>array(32,-14,733,914),333=>array(32,-14,586,763),334=>array(32,-14,733,927),335=>array(32,-14,586,784),336=>array(32,-14,733,927),337=>array(32,-14,592,800),338=>array(38,0,1039,729),339=>array(32,-14,949,560),340=>array(19,0,617,928),341=>array(27,0,556,803),342=>array(19,-209,617,729),343=>array(-21,-209,491,560),344=>array(19,0,617,927),345=>array(27,0,542,800),346=>array(13,-14,599,928),347=>array(9,-14,556,803),348=>array(13,-14,599,927),349=>array(9,-14,504,800),350=>array(13,-196,599,742),351=>array(9,-196,504,560),352=>array(13,-14,599,927),353=>array(9,-14,519,800),354=>array(43,-196,673,729),355=>array(39,-196,458,702),356=>array(43,0,673,927),357=>array(39,0,554,800),358=>array(43,0,673,729),359=>array(-10,0,444,702),360=>array(61,-14,712,928),361=>array(54,-14,613,778),362=>array(61,-14,712,914),363=>array(54,-14,613,763),364=>array(61,-14,712,927),365=>array(54,-14,613,784),366=>array(61,-14,712,923),367=>array(54,-14,613,873),368=>array(61,-14,712,927),369=>array(54,-14,613,800),370=>array(61,-196,712,729),371=>array(54,-196,613,547),372=>array(96,0,1029,931),373=>array(78,0,834,800),374=>array(57,0,729,931),375=>array(0,-216,619,800),376=>array(57,0,729,927),377=>array(-23,0,667,928),378=>array(-8,0,556,803),379=>array(-23,0,667,918),380=>array(-8,0,527,759),381=>array(-23,0,667,927),382=>array(-8,0,527,800),383=>array(44,0,486,760),384=>array(10,-14,586,760),385=>array(-33,0,670,729),386=>array(19,0,643,729),387=>array(10,-14,596,760),388=>array(54,0,634,729),389=>array(33,-14,609,760),390=>array(-12,-14,607,742),391=>array(29,-14,818,924),392=>array(24,-14,644,724),393=>array(-2,0,723,729),394=>array(-33,0,747,729),395=>array(58,0,687,729),396=>array(22,-14,637,760),397=>array(51,-208,596,548),398=>array(19,0,613,729),399=>array(32,-14,737,742),400=>array(33,-14,587,742),401=>array(-132,-200,621,729),402=>array(-136,-208,484,760),403=>array(29,-14,864,924),404=>array(84,-210,794,729),405=>array(9,-1,883,760),406=>array(66,0,346,729),407=>array(-6,0,357,729),408=>array(18,0,744,742),409=>array(9,0,626,760),410=>array(-9,0,329,760),411=>array(-40,0,482,760),412=>array(49,-13,932,729),413=>array(-132,-200,752,729),414=>array(44,-208,598,560),415=>array(32,-14,733,742),416=>array(35,-14,816,760),417=>array(35,-14,693,570),418=>array(44,-14,951,742),419=>array(56,-216,802,560),420=>array(-33,0,689,729),421=>array(-9,-208,604,760),422=>array(31,-146,616,729),423=>array(-1,-14,568,742),424=>array(-6,-14,480,560),425=>array(19,0,603,729),426=>array(31,-217,485,759),427=>array(43,-216,463,702),428=>array(32,0,695,729),429=>array(19,0,461,760),430=>array(61,-200,690,729),431=>array(61,-14,844,761),432=>array(51,-14,716,570),433=>array(37,-14,732,723),434=>array(66,0,688,729),435=>array(54,0,757,742),436=>array(22,-216,740,560),437=>array(-23,0,666,729),438=>array(-8,0,529,547),439=>array(18,-33,669,729),440=>array(9,-33,694,729),441=>array(5,-215,583,547),442=>array(-10,-208,527,547),443=>array(6,0,571,742),444=>array(10,-33,627,729),445=>array(-27,-215,516,547),446=>array(-24,-15,458,702),447=>array(-11,-208,624,560),448=>array(0,-208,334,729),449=>array(0,-208,592,729),450=>array(-21,-208,517,729),451=>array(24,0,312,729),452=>array(19,0,1414,927),453=>array(19,0,1274,800),454=>array(32,-14,1172,800),455=>array(19,-200,890,729),456=>array(19,-216,892,760),457=>array(27,-216,627,760),458=>array(19,-200,1069,729),459=>array(19,-216,1072,760),460=>array(27,-216,959,760),461=>array(-59,0,622,927),462=>array(15,-14,554,800),463=>array(19,0,426,927),464=>array(27,0,411,800),465=>array(32,-14,733,927),466=>array(32,-14,586,800),467=>array(61,-14,712,927),468=>array(54,-14,613,800),469=>array(61,-14,712,1040),470=>array(54,-14,613,914),471=>array(61,-14,712,1057),472=>array(54,-14,613,917),473=>array(61,-14,712,1058),474=>array(54,-14,613,917),475=>array(61,-14,712,1057),476=>array(54,-14,613,917),477=>array(38,-14,567,560),478=>array(-59,0,622,1040),479=>array(15,-14,550,914),480=>array(-59,0,622,1040),481=>array(15,-14,558,881),482=>array(-70,0,965,914),483=>array(15,-14,907,758),484=>array(32,-14,700,742),485=>array(18,-216,614,559),486=>array(32,-14,700,927),487=>array(18,-216,614,799),488=>array(19,0,753,926),489=>array(27,0,645,926),490=>array(32,-196,733,742),491=>array(32,-196,586,560),492=>array(32,-196,733,914),493=>array(32,-196,586,763),494=>array(18,-33,669,927),495=>array(-40,-215,529,793),496=>array(-115,-216,419,800),497=>array(19,0,1414,729),498=>array(19,0,1274,729),499=>array(32,-14,1172,760),500=>array(32,-14,700,928),501=>array(18,-216,614,798),502=>array(20,-14,1100,729),503=>array(-18,-208,698,742),504=>array(19,0,734,927),505=>array(27,0,589,798),506=>array(-59,0,780,986),507=>array(15,-14,733,931),508=>array(-70,0,965,928),509=>array(15,-14,907,799),510=>array(-42,-38,807,928),511=>array(-16,-50,630,800),512=>array(-59,0,622,930),513=>array(15,-14,550,800),514=>array(-59,0,622,947),515=>array(15,-14,550,784),516=>array(19,0,603,930),517=>array(32,-14,576,800),518=>array(19,0,603,947),519=>array(32,-14,576,784),520=>array(19,0,393,930),521=>array(27,0,369,799),522=>array(19,0,402,947),523=>array(27,0,376,784),524=>array(32,-14,733,930),525=>array(32,-14,586,800),526=>array(32,-14,733,947),527=>array(32,-14,586,784),528=>array(19,0,617,930),529=>array(27,0,491,800),530=>array(19,0,617,947),531=>array(27,0,491,784),532=>array(61,-14,712,930),533=>array(54,-14,613,800),534=>array(61,-14,712,947),535=>array(54,-14,613,784),536=>array(13,-236,599,742),537=>array(9,-236,504,560),538=>array(43,-236,673,729),539=>array(39,-236,458,702),540=>array(-41,-210,584,742),541=>array(-43,-211,508,560),542=>array(19,0,734,926),543=>array(27,0,589,926),544=>array(29,-208,688,742),545=>array(28,-75,708,760),546=>array(22,-14,692,742),547=>array(20,-14,591,646),548=>array(-4,-216,685,729),549=>array(11,-216,548,547),550=>array(-59,0,622,927),551=>array(15,-14,550,759),552=>array(19,-192,603,729),553=>array(32,-196,576,560),554=>array(32,-14,733,1040),555=>array(32,-14,586,914),556=>array(32,-14,733,1040),557=>array(32,-14,586,914),558=>array(32,-14,733,928),559=>array(32,-14,586,759),560=>array(32,-14,733,1040),561=>array(32,-14,586,914),562=>array(57,0,729,914),563=>array(0,-216,619,763),564=>array(29,-75,372,760),565=>array(33,-75,727,560),566=>array(31,-76,451,702),567=>array(-115,-216,282,547),568=>array(22,-14,921,760),569=>array(57,-208,956,560),570=>array(-73,-36,769,765),571=>array(-91,-36,751,765),572=>array(-55,-46,587,594),573=>array(-12,0,510,729),574=>array(-114,-36,728,765),575=>array(29,-240,525,560),576=>array(13,-240,550,547),577=>array(62,0,689,729),578=>array(50,0,523,560),579=>array(-31,0,626,729),580=>array(18,-14,724,729),581=>array(-60,0,628,729),582=>array(19,-93,613,822),583=>array(32,-93,574,640),584=>array(-149,-200,332,729),585=>array(-115,-216,331,760),586=>array(60,-200,777,741),587=>array(58,-216,672,560),588=>array(-10,0,617,729),589=>array(-30,0,489,560),590=>array(26,0,725,729),591=>array(9,-216,637,547),592=>array(60,-14,594,560),593=>array(40,-14,617,560),594=>array(-8,-14,569,560),595=>array(10,-14,586,760),596=>array(-7,-14,483,560),597=>array(43,-69,523,560),598=>array(40,-216,655,760),599=>array(22,-14,789,760),600=>array(20,-14,567,560),601=>array(38,-14,567,560),602=>array(34,-14,801,560),603=>array(24,-14,468,560),604=>array(-45,-11,458,560),605=>array(-45,-11,709,560),606=>array(48,-14,611,560),607=>array(-97,-216,349,547),608=>array(21,-216,806,760),609=>array(40,-216,636,547),610=>array(39,-14,516,546),611=>array(78,-211,624,547),612=>array(72,-21,606,547),613=>array(79,-214,633,546),614=>array(9,0,563,760),615=>array(28,-216,581,760),616=>array(46,0,403,760),617=>array(66,-1,293,547),618=>array(27,0,463,547),619=>array(63,0,439,760),620=>array(83,0,552,760),621=>array(29,-216,321,760),622=>array(28,-215,709,760),623=>array(62,-14,912,546),624=>array(79,-209,929,546),625=>array(44,-216,895,560),626=>array(-145,-216,599,560),627=>array(45,-216,674,560),628=>array(-29,0,552,547),629=>array(32,-14,586,560),630=>array(39,-1,784,547),631=>array(-8,0,522,574),632=>array(53,-208,656,760),633=>array(27,-13,490,547),634=>array(9,-13,509,760),635=>array(45,-216,546,547),636=>array(8,-208,507,560),637=>array(46,-216,508,560),638=>array(27,0,525,547),639=>array(89,0,449,547),640=>array(-29,0,458,547),641=>array(-29,0,552,547),642=>array(25,-216,523,560),643=>array(-114,-216,467,760),644=>array(-96,-216,485,760),645=>array(123,-216,438,560),646=>array(-87,-217,590,760),647=>array(-22,-155,397,547),648=>array(43,-216,463,702),649=>array(66,-14,760,547),650=>array(20,-51,621,547),651=>array(66,-1,563,547),652=>array(-35,0,526,547),653=>array(-17,0,752,547),654=>array(-56,0,558,763),655=>array(48,0,583,547),656=>array(11,-216,586,547),657=>array(-1,-69,539,547),658=>array(-21,-215,548,547),659=>array(22,-215,548,547),660=>array(53,0,492,759),661=>array(51,0,533,759),662=>array(-28,0,454,759),663=>array(-4,-208,551,759),664=>array(44,-14,720,742),665=>array(27,0,534,547),666=>array(27,-14,598,560),667=>array(20,0,691,760),668=>array(25,0,592,547),669=>array(-212,-217,318,760),670=>array(65,-213,682,547),671=>array(27,0,426,547),672=>array(40,-208,806,760),673=>array(-3,0,492,759),674=>array(51,0,533,759),675=>array(22,-14,1028,760),676=>array(40,-215,1045,760),677=>array(26,-55,1030,760),678=>array(24,0,833,702),679=>array(38,-216,785,760),680=>array(30,-69,831,702),681=>array(43,-216,892,760),682=>array(9,0,727,760),683=>array(9,0,688,760),684=>array(18,0,568,641),685=>array(-28,86,359,641),686=>array(-16,-214,614,760),687=>array(-15,-216,652,760),688=>array(11,326,361,751),689=>array(11,326,360,751),690=>array(-67,205,197,751),691=>array(21,326,310,640),692=>array(21,319,310,632),693=>array(31,205,353,632),694=>array(-15,326,349,632),695=>array(47,326,539,632),696=>array(20,205,403,632),697=>array(70,557,196,800),698=>array(70,557,394,800),699=>array(101,418,351,729),700=>array(65,418,313,729),701=>array(178,616,312,856),702=>array(151,481,301,760),703=>array(143,481,293,760),704=>array(39,326,313,751),705=>array(31,326,336,751),706=>array(166,517,417,843),707=>array(145,517,396,843),708=>array(113,561,407,800),709=>array(155,561,449,800),710=>array(95,616,435,800),711=>array(136,616,475,800),712=>array(72,488,203,759),713=>array(139,668,433,760),714=>array(204,616,485,800),715=>array(118,616,334,800),716=>array(72,-81,203,190),717=>array(-10,-185,284,-93),718=>array(118,-238,334,-54),719=>array(204,-238,485,-54),720=>array(-7,0,269,547),721=>array(57,361,237,547),722=>array(114,269,264,547),723=>array(106,269,256,547),724=>array(104,238,318,458),725=>array(130,238,344,458),726=>array(41,119,333,427),727=>array(41,229,254,317),728=>array(149,639,447,784),729=>array(215,654,357,774),730=>array(166,605,416,883),731=>array(66,-196,256,0),732=>array(119,638,450,778),733=>array(128,616,507,800),734=>array(-11,213,312,524),735=>array(146,616,427,800),736=>array(32,213,412,637),737=>array(11,326,187,751),738=>array(10,318,320,640),739=>array(-18,326,384,632),740=>array(31,326,336,751),741=>array(131,0,424,693),742=>array(105,0,424,693),743=>array(79,0,424,693),744=>array(52,0,424,693),745=>array(26,0,424,693),748=>array(13,-260,307,-21),749=>array(128,605,443,822),750=>array(66,418,551,729),755=>array(82,-240,333,38),759=>array(79,-221,410,-109),768=>array(-233,616,-17,800),769=>array(-145,616,137,800),770=>array(-259,616,81,800),771=>array(-232,638,99,778),772=>array(-212,668,82,760),773=>array(-312,663,157,755),774=>array(-199,639,98,784),775=>array(-166,617,17,760),776=>array(-215,654,84,774),777=>array(-326,616,-105,843),778=>array(-180,605,70,883),779=>array(-220,616,158,800),780=>array(-213,616,127,800),781=>array(-118,615,4,832),782=>array(-201,615,87,832),783=>array(-251,616,63,800),784=>array(-199,642,98,882),785=>array(-226,639,72,784),786=>array(-238,418,-30,563),787=>array(-282,595,-117,844),788=>array(-259,595,-117,844),789=>array(-92,616,92,800),790=>array(-426,-276,-210,-93),791=>array(-365,-276,-84,-93),792=>array(-350,-240,-169,-6),793=>array(-286,-240,-106,-6),794=>array(-194,658,66,929),795=>array(-119,361,75,570),796=>array(-298,-240,-174,-11),797=>array(-363,-240,-103,-59),798=>array(-351,-240,-90,-59),799=>array(-341,-240,-115,-6),800=>array(-267,-202,-6,-110),801=>array(-463,-216,-95,117),802=>array(-279,-216,11,117),803=>array(-371,-212,-228,-92),804=>array(-398,-212,-99,-92),805=>array(-330,-240,-123,-11),806=>array(-353,-236,-145,-91),807=>array(-431,-196,-217,0),808=>array(-384,-196,-194,0),809=>array(-327,-310,-206,-93),810=>array(-380,-237,-71,-54),811=>array(-429,-239,-67,-94),812=>array(-373,-240,-33,-57),813=>array(-413,-240,-73,-57),814=>array(-382,-239,-84,-94),815=>array(-442,-240,-145,-95),816=>array(-433,-234,-102,-94),817=>array(-396,-185,-102,-93),818=>array(-509,-236,-25,-143),819=>array(-512,-236,-4,-9),820=>array(-563,212,1,415),821=>array(-433,214,-76,309),822=>array(-762,214,-69,309),823=>array(-638,-46,4,594),824=>array(-803,-36,39,765),825=>array(-277,-240,-153,-11),826=>array(-380,-238,-71,-55),827=>array(-320,-241,-67,-6),828=>array(-452,-239,-89,-94),829=>array(-353,562,-99,819),830=>array(-263,595,-91,867),831=>array(-459,528,9,755),832=>array(-233,616,-17,800),833=>array(-145,616,137,800),834=>array(-232,638,99,778),835=>array(-282,595,-117,844),836=>array(-310,654,84,978),837=>array(-328,-208,-219,-45),838=>array(-376,639,-74,786),839=>array(-341,-226,-109,-35),840=>array(-358,-240,-92,-47),841=>array(-327,-240,-100,-21),842=>array(-390,616,-61,800),843=>array(-391,567,-60,850),844=>array(-394,573,-28,835),845=>array(-413,-230,-37,-30),846=>array(-334,-240,-127,-45),849=>array(-289,610,-137,888),850=>array(-226,604,72,882),851=>array(-340,-240,-111,-9),855=>array(-313,610,-161,888),856=>array(0,654,143,774),858=>array(-400,-240,-52,-11),860=>array(-424,-237,378,-79),861=>array(-250,802,552,960),862=>array(-262,797,557,889),863=>array(-434,-185,385,-93),864=>array(-262,756,414,894),865=>array(-250,769,552,927),866=>array(-480,-230,338,-30),880=>array(19,0,561,729),881=>array(27,0,444,547),882=>array(79,0,901,729),883=>array(79,0,734,729),884=>array(70,557,196,800),885=>array(49,-208,217,35),886=>array(19,0,734,729),887=>array(27,0,603,547),890=>array(119,-208,228,-45),891=>array(-7,-14,483,560),892=>array(33,-14,523,560),893=>array(-7,-14,483,560),894=>array(-32,-142,291,547),900=>array(194,616,475,800),901=>array(136,654,531,978),902=>array(-38,0,643,800),903=>array(75,253,268,442),904=>array(21,0,748,800),905=>array(26,0,888,800),906=>array(23,0,469,800),908=>array(25,-14,766,800),910=>array(18,0,960,800),911=>array(-1,0,770,800),912=>array(44,-19,465,978),913=>array(-59,0,622,729),914=>array(19,0,629,729),915=>array(19,0,613,729),916=>array(-60,0,628,729),917=>array(19,0,603,729),918=>array(-23,0,667,729),919=>array(19,0,734,729),920=>array(35,-14,729,742),921=>array(19,0,316,729),922=>array(19,0,753,729),923=>array(-60,0,628,729),924=>array(19,0,877,729),925=>array(19,0,734,729),926=>array(24,0,557,729),927=>array(32,-14,733,742),928=>array(19,0,734,729),929=>array(19,0,647,729),931=>array(19,0,603,729),932=>array(43,0,673,729),933=>array(57,0,729,729),934=>array(39,0,726,729),935=>array(-46,0,731,729),936=>array(70,0,779,729),937=>array(-41,0,730,742),938=>array(19,0,405,927),939=>array(57,0,729,927),940=>array(34,-12,623,800),941=>array(24,-14,510,800),942=>array(44,-208,598,800),943=>array(38,-19,392,800),944=>array(48,-10,594,978),945=>array(34,-12,623,559),946=>array(-10,-208,594,773),947=>array(60,-208,666,547),948=>array(14,-14,571,768),949=>array(24,-14,468,560),950=>array(28,-208,565,760),951=>array(44,-208,598,560),952=>array(25,-11,593,768),953=>array(38,-19,282,547),954=>array(27,0,611,547),955=>array(-40,0,477,760),956=>array(-24,-209,603,547),957=>array(62,0,588,547),958=>array(23,-208,565,760),959=>array(32,-14,586,560),960=>array(65,-19,708,547),961=>array(8,-208,629,562),962=>array(49,-208,536,560),963=>array(33,-14,703,547),964=>array(46,-19,601,547),965=>array(48,-10,580,547),966=>array(68,-208,677,552),967=>array(-43,-208,624,547),968=>array(71,-208,718,547),969=>array(30,-13,751,547),970=>array(44,-19,366,774),971=>array(48,-10,580,774),972=>array(32,-14,586,800),973=>array(48,-10,580,800),974=>array(30,-13,751,800),975=>array(37,-208,774,729),976=>array(49,-11,541,768),977=>array(41,-11,551,768),978=>array(57,0,677,729),979=>array(21,0,890,800),980=>array(57,0,677,927),981=>array(53,-208,656,760),982=>array(30,-13,808,547),983=>array(34,-188,668,547),984=>array(62,-208,737,742),985=>array(56,-208,597,560),986=>array(63,-208,692,729),987=>array(57,-208,553,547),988=>array(19,0,603,729),989=>array(-132,-208,473,760),990=>array(19,2,614,729),991=>array(61,0,527,759),992=>array(92,-208,743,742),993=>array(-13,-180,451,559),994=>array(29,-213,944,729),995=>array(72,-208,718,547),996=>array(33,-208,729,742),997=>array(31,-208,615,560),998=>array(18,-213,775,729),999=>array(-15,-14,663,575),1000=>array(-26,-208,649,745),1001=>array(-14,-208,564,560),1002=>array(-13,0,726,742),1003=>array(-6,0,606,560),1004=>array(23,-14,712,758),1005=>array(67,-14,665,758),1006=>array(21,-208,621,729),1007=>array(38,-208,553,726),1008=>array(17,-6,651,547),1009=>array(44,-216,622,560),1010=>array(33,-14,523,560),1011=>array(-115,-216,319,760),1012=>array(32,-14,733,742),1013=>array(61,-14,542,560),1014=>array(-23,-14,458,560),1015=>array(19,0,625,729),1016=>array(-9,-208,609,760),1017=>array(32,-14,652,742),1018=>array(19,0,876,729),1019=>array(0,-208,650,547),1020=>array(-28,-208,621,560),1021=>array(-12,-14,603,742),1022=>array(32,-14,652,742),1023=>array(-12,-14,603,742),1024=>array(19,0,603,927),1025=>array(19,0,603,927),1026=>array(61,-200,718,729),1027=>array(19,0,613,927),1028=>array(36,-14,660,742),1029=>array(13,-14,599,742),1030=>array(19,0,316,729),1031=>array(19,0,422,927),1032=>array(-149,-200,316,729),1033=>array(-22,0,973,729),1034=>array(19,0,935,729),1035=>array(43,0,701,729),1036=>array(19,0,772,927),1037=>array(19,0,734,927),1038=>array(69,0,731,927),1039=>array(32,-157,748,729),1040=>array(-59,0,622,729),1041=>array(19,0,643,729),1042=>array(19,0,629,729),1043=>array(19,0,613,729),1044=>array(-23,-157,732,729),1045=>array(19,0,603,729),1046=>array(-51,0,1124,729),1047=>array(-0,-14,602,742),1048=>array(19,0,734,729),1049=>array(19,0,734,927),1050=>array(19,0,772,729),1051=>array(-22,0,729,729),1052=>array(19,0,877,729),1053=>array(19,0,734,729),1054=>array(32,-14,733,742),1055=>array(19,0,734,729),1056=>array(19,0,647,729),1057=>array(32,-14,652,742),1058=>array(43,0,673,729),1059=>array(69,0,731,729),1060=>array(40,0,855,729),1061=>array(-46,0,731,729),1062=>array(32,-157,756,729),1063=>array(90,0,708,729),1064=>array(19,0,1093,729),1065=>array(32,-157,1114,729),1066=>array(83,0,782,729),1067=>array(19,0,914,729),1068=>array(19,0,604,729),1069=>array(0,-14,624,742),1070=>array(19,-14,1016,742),1071=>array(-6,0,674,729),1072=>array(15,-14,550,560),1073=>array(21,-14,576,792),1074=>array(27,0,534,547),1075=>array(25,0,495,547),1076=>array(-9,-138,663,547),1077=>array(32,-14,576,560),1078=>array(-35,0,914,547),1079=>array(-1,-14,481,560),1080=>array(27,0,603,547),1081=>array(27,0,603,765),1082=>array(27,0,628,547),1083=>array(1,0,632,547),1084=>array(25,0,706,547),1085=>array(25,0,592,547),1086=>array(32,-14,586,560),1087=>array(25,0,592,547),1088=>array(-9,-208,609,560),1089=>array(33,-14,523,560),1090=>array(30,0,563,547),1091=>array(0,-216,619,547),1092=>array(42,-208,851,760),1093=>array(-37,0,604,547),1094=>array(40,-138,614,547),1095=>array(72,0,564,547),1096=>array(27,0,923,547),1097=>array(40,-138,942,547),1098=>array(46,0,626,547),1099=>array(27,0,790,547),1100=>array(27,0,515,547),1101=>array(15,-14,501,560),1102=>array(27,-14,842,560),1103=>array(-21,0,552,547),1104=>array(32,-14,576,803),1105=>array(32,-14,576,774),1106=>array(46,-216,584,760),1107=>array(25,0,544,803),1108=>array(32,-14,519,560),1109=>array(9,-14,504,560),1110=>array(27,0,319,760),1111=>array(27,0,365,774),1112=>array(-115,-216,319,760),1113=>array(-9,0,834,547),1114=>array(27,0,807,547),1115=>array(28,0,560,760),1116=>array(27,0,628,803),1117=>array(27,0,603,803),1118=>array(0,-216,619,765),1119=>array(40,-138,606,547),1120=>array(29,-14,943,729),1121=>array(30,-13,751,547),1122=>array(69,0,693,729),1123=>array(32,0,593,731),1124=>array(19,-14,910,742),1125=>array(27,-14,729,560),1126=>array(-57,0,822,729),1127=>array(-26,0,679,547),1128=>array(19,0,1152,729),1129=>array(27,0,940,547),1130=>array(-20,0,766,729),1131=>array(-12,0,615,547),1132=>array(18,0,1069,729),1133=>array(25,0,903,547),1134=>array(-22,-208,576,938),1135=>array(-22,-193,473,756),1136=>array(66,0,1014,729),1137=>array(55,-208,990,759),1138=>array(32,-14,733,742),1139=>array(32,-14,586,560),1140=>array(67,0,807,742),1141=>array(53,0,659,560),1142=>array(67,0,807,930),1143=>array(53,0,659,800),1144=>array(51,-216,1067,742),1145=>array(56,-216,989,565),1146=>array(36,-14,930,742),1147=>array(31,-14,741,560),1148=>array(33,-14,1213,928),1149=>array(28,-13,1016,828),1150=>array(29,-14,943,910),1151=>array(30,-13,751,746),1152=>array(36,-208,659,742),1153=>array(30,-208,516,560),1154=>array(17,-33,478,488),1155=>array(-547,606,-70,822),1156=>array(-385,638,-10,784),1157=>array(-321,595,-191,785),1158=>array(-346,595,-191,785),1159=>array(-730,592,1,788),1160=>array(-960,-179,349,928),1161=>array(-876,-280,291,1022),1162=>array(19,-208,801,927),1163=>array(25,-208,673,765),1164=>array(19,0,604,729),1165=>array(24,0,494,702),1166=>array(19,0,646,729),1167=>array(-9,-208,604,560),1168=>array(19,0,639,878),1169=>array(25,0,521,700),1170=>array(15,0,638,729),1171=>array(9,0,515,547),1172=>array(19,-200,638,729),1173=>array(25,-216,499,547),1174=>array(-37,-157,1138,729),1175=>array(-22,-138,925,547),1176=>array(-0,-196,602,742),1177=>array(-1,-196,481,560),1178=>array(32,-157,786,729),1179=>array(40,-138,641,547),1180=>array(19,0,772,729),1181=>array(27,0,628,547),1182=>array(19,0,772,729),1183=>array(9,0,610,760),1184=>array(61,0,950,729),1185=>array(46,0,761,547),1186=>array(32,-157,813,729),1187=>array(40,-138,688,547),1188=>array(19,0,1032,729),1189=>array(25,0,808,547),1190=>array(19,-200,1057,729),1191=>array(25,-216,813,547),1192=>array(35,-14,788,743),1193=>array(35,-14,719,560),1194=>array(32,-196,652,742),1195=>array(33,-196,523,560),1196=>array(57,-157,687,729),1197=>array(44,-138,578,547),1198=>array(57,0,729,729),1199=>array(59,-216,619,547),1200=>array(55,0,725,729),1201=>array(57,-216,637,547),1202=>array(-33,-157,745,729),1203=>array(-22,-138,618,547),1204=>array(57,-157,954,729),1205=>array(44,-138,861,547),1206=>array(116,-157,789,729),1207=>array(92,-138,657,547),1208=>array(102,0,708,729),1209=>array(79,0,562,547),1210=>array(95,0,714,729),1211=>array(27,0,589,760),1212=>array(38,-14,886,742),1213=>array(26,-14,692,560),1214=>array(38,-184,886,742),1215=>array(26,-161,692,560),1216=>array(19,0,316,729),1217=>array(-51,0,1124,927),1218=>array(-35,0,914,784),1219=>array(19,-200,756,729),1220=>array(27,-216,611,547),1221=>array(-42,-208,796,729),1222=>array(-34,-208,672,547),1223=>array(19,-200,734,729),1224=>array(25,-216,592,547),1225=>array(19,-208,800,729),1226=>array(25,-208,673,547),1227=>array(116,-157,722,729),1228=>array(92,-138,576,547),1229=>array(19,-208,943,729),1230=>array(25,-208,787,547),1231=>array(27,0,319,760),1232=>array(-59,0,622,936),1233=>array(15,-14,550,772),1234=>array(-59,0,622,927),1235=>array(15,-14,550,774),1236=>array(-70,0,965,729),1237=>array(15,-14,907,560),1238=>array(19,0,603,927),1239=>array(32,-14,576,784),1240=>array(32,-14,737,742),1241=>array(38,-14,567,560),1242=>array(32,-14,737,927),1243=>array(38,-14,567,774),1244=>array(-51,0,1124,927),1245=>array(-35,0,914,774),1246=>array(-0,-14,602,927),1247=>array(-1,-14,486,774),1248=>array(18,-33,669,729),1249=>array(-21,-215,548,547),1250=>array(19,0,734,914),1251=>array(27,0,603,763),1252=>array(19,0,734,927),1253=>array(27,0,603,774),1254=>array(32,-14,733,927),1255=>array(32,-14,586,774),1256=>array(32,-14,733,742),1257=>array(32,-14,586,560),1258=>array(32,-14,733,927),1259=>array(32,-14,586,774),1260=>array(0,-14,624,927),1261=>array(15,-14,501,774),1262=>array(69,0,731,914),1263=>array(0,-216,619,763),1264=>array(69,0,731,927),1265=>array(0,-216,619,774),1266=>array(69,0,731,927),1267=>array(0,-216,619,800),1268=>array(90,0,708,927),1269=>array(72,0,564,774),1270=>array(32,-157,626,729),1271=>array(40,-138,509,547),1272=>array(19,0,914,927),1273=>array(27,0,790,774),1274=>array(34,-216,657,729),1275=>array(28,-217,534,547),1276=>array(-29,-200,749,729),1277=>array(-16,-216,625,547),1278=>array(-47,0,731,729),1279=>array(-35,0,606,547),1280=>array(33,0,667,729),1281=>array(15,0,518,547),1282=>array(31,-14,1005,729),1283=>array(14,-14,781,547),1284=>array(124,-14,957,742),1285=>array(94,-14,769,560),1286=>array(124,-208,684,742),1287=>array(94,-208,571,560),1288=>array(-43,-14,1067,729),1289=>array(-34,-14,855,547),1290=>array(20,-14,1100,729),1291=>array(25,-14,861,547),1292=>array(36,-14,705,742),1293=>array(31,-14,516,546),1294=>array(42,-14,793,729),1295=>array(30,-14,654,547),1296=>array(33,-14,587,742),1297=>array(24,-14,468,560),1298=>array(-5,-200,747,729),1299=>array(21,-216,650,547),1300=>array(-22,0,1194,729),1301=>array(1,0,987,547),1302=>array(19,0,996,729),1303=>array(-9,-208,907,560),1304=>array(-6,0,962,729),1305=>array(-21,-14,869,560),1306=>array(32,-146,733,742),1307=>array(32,-208,614,560),1308=>array(96,0,1029,729),1309=>array(78,0,834,547),1310=>array(19,0,772,729),1311=>array(27,0,628,547),1312=>array(-22,-200,1051,729),1313=>array(1,-216,852,547),1314=>array(19,-200,1056,729),1315=>array(25,-216,813,547),1316=>array(32,-157,814,729),1317=>array(40,-138,688,547),1329=>array(67,-38,765,729),1330=>array(19,0,667,743),1331=>array(45,0,725,743),1332=>array(33,0,729,743),1333=>array(70,-14,687,729),1334=>array(16,0,678,743),1335=>array(19,0,657,729),1336=>array(19,0,667,743),1337=>array(19,-13,918,742),1338=>array(10,-14,760,729),1339=>array(19,0,634,729),1340=>array(19,0,510,729),1341=>array(19,-14,919,729),1342=>array(83,-12,778,741),1343=>array(87,0,671,729),1344=>array(-15,-46,625,729),1345=>array(29,-48,678,743),1346=>array(28,0,673,743),1347=>array(-20,0,660,735),1348=>array(70,-14,844,729),1349=>array(37,-14,638,743),1350=>array(42,-14,687,729),1351=>array(44,-14,686,729),1352=>array(19,0,661,743),1353=>array(45,-48,652,743),1354=>array(28,0,801,743),1355=>array(6,0,668,743),1356=>array(19,0,777,743),1357=>array(61,-14,712,729),1358=>array(31,0,673,729),1359=>array(33,-14,632,743),1360=>array(19,0,667,743),1361=>array(37,-14,638,743),1362=>array(19,0,599,729),1363=>array(21,0,811,729),1364=>array(-44,0,667,743),1365=>array(32,-14,732,742),1366=>array(27,-14,818,729),1369=>array(143,481,293,760),1370=>array(66,418,314,729),1371=>array(108,616,450,800),1372=>array(104,595,531,893),1373=>array(-1,616,284,849),1374=>array(105,586,587,878),1375=>array(147,618,560,893),1377=>array(66,-13,917,547),1378=>array(-9,-208,589,560),1379=>array(39,-208,673,559),1380=>array(27,-208,677,560),1381=>array(53,-14,615,760),1382=>array(34,-208,637,559),1383=>array(27,0,580,760),1384=>array(-9,-208,588,560),1385=>array(-9,-208,759,560),1386=>array(39,-14,747,760),1387=>array(-9,-208,582,760),1388=>array(-9,-208,347,547),1389=>array(-9,-208,957,760),1390=>array(35,-14,647,760),1391=>array(61,-208,615,760),1392=>array(27,0,582,760),1393=>array(9,-13,534,760),1394=>array(27,-208,641,560),1395=>array(47,-13,656,768),1396=>array(61,-13,784,760),1397=>array(-115,-216,282,547),1398=>array(2,-13,615,760),1399=>array(-54,-208,468,560),1400=>array(27,0,582,560),1401=>array(-61,-208,330,547),1402=>array(53,-208,911,547),1403=>array(-23,-208,545,560),1404=>array(27,0,598,560),1405=>array(61,-13,615,547),1406=>array(61,-208,652,760),1407=>array(56,-13,877,560),1408=>array(-9,-208,582,560),1409=>array(17,-216,613,559),1410=>array(27,0,448,547),1411=>array(56,-208,877,760),1412=>array(-136,-208,604,560),1413=>array(33,-14,587,560),1414=>array(27,-190,779,760),1415=>array(60,-14,782,760),1417=>array(37,0,291,547),1418=>array(86,179,387,359),1456=>array(247,-229,374,-10),1457=>array(135,-229,471,-10),1458=>array(126,-229,462,-10),1459=>array(115,-229,462,-10),1460=>array(258,-171,363,-73),1461=>array(192,-171,429,-73),1462=>array(214,-229,429,-10),1463=>array(81,-171,406,0),1464=>array(99,-217,402,0),1465=>array(-31,625,75,723),1466=>array(-31,625,75,723),1467=>array(171,-239,472,-5),1468=>array(264,225,370,322),1469=>array(250,-217,372,-22),1470=>array(36,413,337,555),1471=>array(119,547,422,710),1472=>array(23,-98,311,645),1473=>array(735,613,840,710),1474=>array(183,613,289,710),1475=>array(40,0,294,547),1478=>array(22,0,441,547),1479=>array(170,-229,473,-10),1488=>array(94,0,657,547),1489=>array(39,0,531,547),1490=>array(40,-9,385,547),1491=>array(114,0,586,547),1492=>array(90,0,595,547),1493=>array(82,0,323,547),1494=>array(84,0,417,547),1495=>array(82,0,588,547),1496=>array(127,-13,608,553),1497=>array(88,164,301,547),1498=>array(114,-240,494,547),1499=>array(39,0,513,547),1500=>array(114,0,570,711),1501=>array(82,0,597,547),1502=>array(76,0,621,554),1503=>array(40,-240,323,547),1504=>array(39,0,387,547),1505=>array(130,-13,610,547),1506=>array(32,-101,614,547),1507=>array(142,-240,577,547),1508=>array(82,0,590,547),1509=>array(106,-240,584,548),1510=>array(48,0,604,547),1511=>array(46,-240,690,546),1512=>array(114,0,517,547),1513=>array(80,0,771,547),1514=>array(10,-4,585,547),1520=>array(82,0,612,547),1521=>array(88,0,612,547),1522=>array(88,164,589,547),1523=>array(59,361,340,547),1524=>array(59,361,580,547),3647=>array(2,-147,578,760),3713=>array(13,-14,677,560),3714=>array(10,-14,654,560),3716=>array(12,-14,629,558),3719=>array(2,-241,493,593),3720=>array(40,0,641,561),3722=>array(40,-269,672,584),3725=>array(13,-24,690,610),3732=>array(16,-14,604,593),3733=>array(15,-19,604,603),3734=>array(31,-240,656,593),3735=>array(-1,-14,706,560),3737=>array(-8,-33,662,593),3738=>array(12,-15,645,613),3739=>array(-1,-15,666,760),3740=>array(26,-12,857,665),3741=>array(21,-14,753,760),3742=>array(45,-14,743,604),3743=>array(31,-14,764,760),3745=>array(-6,-14,744,547),3746=>array(-0,-23,710,760),3747=>array(16,-10,691,615),3749=>array(8,-33,646,593),3751=>array(4,-33,602,593),3754=>array(7,-21,774,724),3755=>array(29,-21,866,620),3757=>array(24,-20,620,606),3758=>array(13,-14,792,698),3759=>array(70,-259,839,648),3760=>array(4,27,614,606),3761=>array(-584,610,-26,896),3762=>array(45,0,520,593),3763=>array(-431,0,520,875),3764=>array(-590,622,-57,950),3765=>array(-590,633,-1,962),3766=>array(-590,622,-57,950),3767=>array(-590,633,-1,962),3768=>array(-372,-385,-148,-55),3769=>array(-431,-316,-135,-28),3771=>array(-591,610,-29,896),3772=>array(-620,-311,15,-48),3773=>array(-23,-220,682,776),3776=>array(47,-13,422,561),3777=>array(47,-13,759,561),3778=>array(22,-14,438,936),3779=>array(61,-14,576,879),3780=>array(42,-35,497,809),3782=>array(29,-240,658,582),3784=>array(-388,659,-251,844),3785=>array(-572,622,-17,918),3786=>array(-605,621,33,965),3787=>array(-478,612,-160,917),3788=>array(-460,603,175,866),3789=>array(-431,668,-206,875),3792=>array(59,-29,650,563),3793=>array(49,-139,659,586),3794=>array(1,-80,551,711),3795=>array(-44,-14,857,981),3796=>array(28,-156,583,711),3797=>array(28,-156,583,711),3798=>array(4,-14,866,950),3799=>array(32,-240,673,560),3800=>array(77,-269,690,582),3801=>array(34,-14,788,564),3804=>array(29,-21,1221,620),3805=>array(29,-21,1226,620),4256=>array(100,-14,836,819),4257=>array(125,-0,663,819),4258=>array(135,-138,605,828),4259=>array(87,-15,813,819),4260=>array(120,0,599,828),4261=>array(122,0,749,828),4262=>array(129,-14,677,819),4263=>array(105,-14,894,828),4264=>array(114,0,506,862),4265=>array(97,0,588,819),4266=>array(85,-14,751,820),4267=>array(80,-14,848,819),4268=>array(21,0,620,819),4269=>array(95,-157,798,829),4270=>array(126,-14,798,822),4271=>array(126,0,667,823),4272=>array(68,-15,872,820),4273=>array(75,-15,563,820),4274=>array(21,-0,616,828),4275=>array(96,-170,798,828),4276=>array(114,0,826,825),4277=>array(90,0,715,820),4278=>array(22,0,617,828),4279=>array(114,0,659,820),4280=>array(59,-14,663,820),4281=>array(21,0,569,819),4282=>array(102,-14,792,827),4283=>array(80,-15,833,820),4284=>array(21,-0,628,819),4285=>array(67,-15,584,828),4286=>array(21,-0,667,819),4287=>array(24,0,792,819),4288=>array(99,-14,811,820),4289=>array(21,0,583,820),4290=>array(70,-15,624,828),4291=>array(85,0,636,820),4292=>array(118,0,644,820),4293=>array(39,-14,750,828),4304=>array(68,-14,479,599),4305=>array(78,-14,497,823),4306=>array(28,-232,509,561),4307=>array(37,-225,744,557),4308=>array(23,-232,496,557),4309=>array(22,-232,506,557),4310=>array(67,-14,483,828),4311=>array(76,-14,739,557),4312=>array(67,0,501,557),4313=>array(22,-232,499,542),4314=>array(86,-225,969,562),4315=>array(78,-14,560,828),4316=>array(80,-14,566,819),4317=>array(83,-0,728,557),4318=>array(70,-14,531,818),4319=>array(22,-232,543,560),4320=>array(82,0,735,830),4321=>array(83,-14,504,818),4322=>array(56,-232,598,670),4323=>array(42,-232,532,604),4324=>array(84,-232,760,558),4325=>array(22,-232,585,818),4326=>array(79,-225,734,557),4327=>array(22,-232,542,549),4328=>array(57,-14,549,828),4329=>array(35,0,505,828),4330=>array(59,-232,551,548),4331=>array(77,-14,593,818),4332=>array(82,-15,617,828),4333=>array(31,-232,554,818),4334=>array(85,-14,498,818),4335=>array(-6,-232,488,580),4336=>array(66,-15,542,823),4337=>array(71,-14,549,823),4338=>array(15,-146,489,557),4339=>array(22,-232,543,558),4340=>array(23,-232,557,828),4341=>array(59,-14,591,828),4342=>array(79,-232,758,557),4343=>array(26,-232,496,557),4344=>array(22,-232,493,549),4345=>array(83,-232,564,561),4346=>array(62,-111,502,557),4347=>array(26,0,401,500),4348=>array(111,400,382,828),5121=>array(68,0,756,729),5122=>array(-60,0,628,1050),5123=>array(-60,0,628,729),5124=>array(-60,0,628,928),5125=>array(19,0,759,729),5126=>array(19,0,759,928),5127=>array(19,0,759,927),5129=>array(19,0,759,729),5130=>array(56,0,795,729),5131=>array(56,0,795,928),5132=>array(72,0,976,729),5133=>array(68,0,843,729),5134=>array(72,0,848,729),5135=>array(-60,0,843,729),5136=>array(72,0,848,928),5137=>array(-60,0,843,928),5138=>array(72,0,979,729),5139=>array(19,0,961,729),5140=>array(72,0,979,928),5141=>array(19,0,961,928),5142=>array(19,0,759,928),5143=>array(72,0,1015,729),5144=>array(56,0,963,729),5145=>array(72,0,1015,928),5146=>array(56,0,963,928),5147=>array(56,0,795,928),5149=>array(72,607,214,728),5150=>array(18,326,391,734),5151=>array(7,338,362,722),5152=>array(49,338,320,722),5153=>array(48,392,333,711),5154=>array(26,352,311,670),5155=>array(29,392,307,670),5156=>array(51,392,307,670),5157=>array(-2,327,497,749),5158=>array(18,326,409,734),5159=>array(72,304,214,424),5160=>array(47,494,312,569),5161=>array(47,392,312,670),5162=>array(67,392,331,693),5163=>array(68,0,1030,729),5164=>array(-60,0,826,729),5165=>array(19,0,1033,729),5166=>array(56,0,1105,729),5167=>array(68,0,756,729),5168=>array(-60,0,628,1050),5169=>array(-60,0,628,729),5170=>array(-60,0,628,928),5171=>array(2,0,742,729),5172=>array(2,0,742,928),5173=>array(2,0,742,927),5175=>array(2,0,742,729),5176=>array(46,0,786,729),5177=>array(46,0,786,928),5178=>array(72,0,976,729),5179=>array(68,0,843,729),5180=>array(72,0,848,729),5181=>array(-60,0,843,729),5182=>array(72,0,848,928),5183=>array(-60,0,843,928),5184=>array(72,0,962,729),5185=>array(2,0,961,729),5186=>array(72,0,962,928),5187=>array(2,0,961,928),5188=>array(72,0,1006,729),5189=>array(46,0,963,729),5190=>array(72,0,1006,928),5191=>array(46,0,963,928),5192=>array(46,0,786,927),5193=>array(43,326,503,727),5194=>array(18,326,191,734),5196=>array(71,-14,713,729),5197=>array(18,0,660,1050),5198=>array(18,0,660,743),5199=>array(18,0,660,928),5200=>array(2,0,687,729),5201=>array(2,0,687,928),5202=>array(2,0,687,927),5204=>array(2,0,687,729),5205=>array(47,0,732,729),5206=>array(47,0,732,928),5207=>array(72,-14,933,729),5208=>array(71,-14,878,729),5209=>array(72,0,879,743),5210=>array(18,0,878,743),5211=>array(72,0,879,928),5212=>array(18,0,878,928),5213=>array(72,0,907,729),5214=>array(2,0,884,729),5215=>array(72,0,907,928),5216=>array(2,0,884,928),5217=>array(72,0,952,729),5218=>array(47,0,882,729),5219=>array(72,0,952,928),5220=>array(47,0,882,928),5221=>array(46,0,952,729),5222=>array(53,326,420,733),5223=>array(71,-14,890,734),5224=>array(18,0,890,743),5225=>array(2,0,906,734),5226=>array(47,0,900,734),5227=>array(58,0,607,743),5228=>array(18,0,653,1050),5229=>array(18,0,653,743),5230=>array(18,0,653,928),5231=>array(16,-14,651,729),5232=>array(16,-14,658,928),5233=>array(16,-14,736,927),5234=>array(62,-14,611,729),5235=>array(62,-14,611,928),5236=>array(72,0,865,743),5237=>array(58,0,813,743),5238=>array(72,0,866,743),5239=>array(18,0,813,743),5240=>array(72,0,866,928),5241=>array(18,0,813,928),5242=>array(72,-14,909,729),5243=>array(16,-14,813,729),5244=>array(72,-14,915,928),5245=>array(16,-14,813,928),5246=>array(72,-14,824,729),5247=>array(62,-14,813,729),5248=>array(72,-14,824,928),5249=>array(62,-14,813,928),5250=>array(46,-14,824,729),5251=>array(42,319,389,734),5252=>array(39,319,437,734),5253=>array(58,0,829,743),5254=>array(18,0,829,743),5255=>array(16,-14,829,734),5256=>array(62,-14,829,734),5257=>array(58,0,607,743),5258=>array(18,0,653,1050),5259=>array(18,0,653,743),5260=>array(18,0,653,928),5261=>array(16,-14,651,729),5262=>array(16,-14,664,928),5263=>array(16,-14,742,927),5264=>array(62,-14,611,729),5265=>array(62,-14,611,928),5266=>array(72,0,865,743),5267=>array(58,0,813,743),5268=>array(72,0,910,743),5269=>array(18,0,813,743),5270=>array(72,0,910,928),5271=>array(18,0,813,928),5272=>array(72,-14,909,729),5273=>array(16,-14,813,729),5274=>array(72,-14,921,928),5275=>array(16,-14,813,928),5276=>array(72,-14,868,729),5277=>array(62,-14,813,729),5278=>array(72,-14,868,928),5279=>array(62,-14,813,928),5280=>array(46,-14,868,729),5281=>array(42,319,389,734),5282=>array(42,319,437,734),5283=>array(63,0,545,729),5284=>array(19,0,603,1050),5285=>array(19,0,603,729),5286=>array(19,0,603,928),5287=>array(-40,0,545,729),5288=>array(-40,0,559,928),5289=>array(-40,0,637,927),5290=>array(19,0,500,729),5291=>array(19,0,500,928),5292=>array(72,0,774,729),5293=>array(63,0,704,729),5294=>array(72,0,816,729),5295=>array(19,0,721,729),5296=>array(72,0,816,928),5297=>array(19,0,721,928),5298=>array(72,0,774,729),5299=>array(-40,0,721,729),5300=>array(72,0,788,928),5301=>array(-40,0,721,928),5302=>array(72,0,713,729),5303=>array(19,0,721,729),5304=>array(72,0,713,928),5305=>array(19,0,721,928),5306=>array(46,0,713,729),5307=>array(18,326,320,734),5308=>array(49,326,479,733),5309=>array(18,326,378,734),5312=>array(92,-14,852,468),5313=>array(36,-14,856,781),5314=>array(36,-14,856,468),5315=>array(36,-14,856,667),5316=>array(-18,0,802,482),5317=>array(-18,0,802,667),5318=>array(-18,0,802,667),5319=>array(37,0,796,482),5320=>array(37,0,796,667),5321=>array(72,-14,1077,468),5322=>array(92,-14,1058,468),5323=>array(72,0,1038,482),5324=>array(37,0,1041,482),5325=>array(72,0,1038,667),5326=>array(37,0,1041,667),5327=>array(37,0,796,667),5328=>array(54,477,534,742),5329=>array(39,319,433,734),5330=>array(31,477,546,742),5331=>array(92,0,851,468),5332=>array(35,0,854,781),5333=>array(35,0,854,468),5334=>array(35,0,854,667),5335=>array(-17,0,803,468),5336=>array(-17,0,803,667),5337=>array(-17,0,803,667),5338=>array(39,0,797,468),5339=>array(39,0,797,667),5340=>array(72,0,1069,468),5341=>array(92,0,1058,468),5342=>array(72,0,1121,468),5343=>array(35,0,1041,468),5344=>array(72,0,1121,667),5345=>array(35,0,1041,667),5346=>array(72,0,1070,468),5347=>array(-17,0,1028,468),5348=>array(72,0,1070,667),5349=>array(-17,0,1028,667),5350=>array(72,0,1063,468),5351=>array(39,0,1041,468),5352=>array(72,0,1063,667),5353=>array(39,0,1041,667),5354=>array(55,477,534,734),5356=>array(23,0,786,729),5357=>array(83,0,579,729),5358=>array(19,0,757,1050),5359=>array(19,0,684,729),5360=>array(19,0,696,928),5361=>array(-27,0,638,729),5362=>array(-27,0,646,928),5363=>array(-27,0,724,927),5364=>array(78,0,574,729),5365=>array(78,0,574,928),5366=>array(72,0,820,729),5367=>array(83,0,798,729),5368=>array(72,0,897,729),5369=>array(19,0,826,729),5370=>array(72,0,910,928),5371=>array(19,0,826,928),5372=>array(72,0,879,729),5373=>array(-27,0,798,729),5374=>array(72,0,887,928),5375=>array(-27,0,798,928),5376=>array(72,0,787,729),5377=>array(78,0,826,729),5378=>array(72,0,787,928),5379=>array(78,0,826,928),5380=>array(46,0,787,729),5381=>array(51,326,366,734),5382=>array(25,319,371,742),5383=>array(18,326,429,734),5392=>array(59,-14,772,743),5393=>array(6,-14,825,743),5394=>array(6,-14,825,928),5395=>array(30,-14,992,482),5396=>array(30,-14,992,667),5397=>array(32,-14,990,482),5398=>array(32,-14,990,667),5399=>array(72,-14,1029,743),5400=>array(59,-14,1017,743),5401=>array(72,-14,1082,743),5402=>array(6,-14,1017,743),5403=>array(72,-14,1082,928),5404=>array(6,-14,1017,928),5405=>array(72,-14,1258,482),5406=>array(30,-14,1213,482),5407=>array(72,-14,1258,667),5408=>array(30,-14,1213,667),5409=>array(72,-14,1256,482),5410=>array(32,-14,1213,482),5411=>array(72,-14,1256,667),5412=>array(32,-14,1213,667),5413=>array(52,469,624,747),5414=>array(56,0,620,729),5415=>array(19,0,627,1050),5416=>array(19,0,627,729),5417=>array(19,0,627,928),5418=>array(71,0,680,729),5419=>array(71,0,695,928),5420=>array(71,0,773,927),5421=>array(78,0,642,729),5422=>array(78,0,642,928),5423=>array(72,0,825,729),5424=>array(56,0,838,729),5425=>array(72,0,840,729),5426=>array(19,0,831,729),5427=>array(72,0,840,928),5428=>array(19,0,831,928),5429=>array(72,0,884,729),5430=>array(71,0,838,729),5431=>array(72,0,900,928),5432=>array(71,0,838,928),5433=>array(72,0,855,729),5434=>array(78,0,831,729),5435=>array(72,0,855,928),5436=>array(78,0,831,928),5437=>array(46,0,855,928),5438=>array(51,326,405,734),5440=>array(47,392,312,670),5441=>array(18,326,438,734),5442=>array(82,-14,896,468),5443=>array(92,-14,889,468),5444=>array(-18,0,796,482),5445=>array(40,0,837,781),5446=>array(40,0,837,482),5447=>array(40,0,837,667),5448=>array(19,0,645,729),5449=>array(19,0,645,928),5450=>array(19,0,601,729),5451=>array(59,0,641,729),5452=>array(59,0,641,928),5453=>array(15,0,641,729),5454=>array(72,0,884,928),5455=>array(59,0,798,928),5456=>array(66,326,430,727),5458=>array(2,0,764,729),5459=>array(88,0,755,743),5460=>array(2,-14,630,1050),5461=>array(2,-14,630,729),5462=>array(2,-14,630,928),5463=>array(45,0,786,663),5464=>array(45,0,786,928),5465=>array(62,0,807,663),5466=>array(62,0,807,928),5467=>array(72,0,1026,928),5468=>array(62,0,963,928),5469=>array(46,311,512,675),5470=>array(61,-14,712,743),5471=>array(61,-14,695,743),5472=>array(36,-14,670,743),5473=>array(19,-14,670,743),5474=>array(36,-14,670,928),5475=>array(19,-14,670,928),5476=>array(2,0,692,729),5477=>array(2,0,692,928),5478=>array(42,0,730,729),5479=>array(42,0,730,928),5480=>array(72,0,950,928),5481=>array(42,0,882,928),5482=>array(49,326,486,733),5492=>array(52,0,784,743),5493=>array(56,0,870,743),5494=>array(56,0,870,928),5495=>array(10,-14,824,729),5496=>array(10,-14,824,928),5497=>array(95,-14,828,729),5498=>array(95,-14,828,928),5499=>array(62,319,497,734),5500=>array(19,0,734,729),5501=>array(18,326,438,734),5502=>array(66,0,1099,1050),5503=>array(66,0,1099,743),5504=>array(66,0,1099,928),5505=>array(66,-14,1097,729),5506=>array(66,-14,1103,928),5507=>array(66,-14,1056,729),5508=>array(66,-14,1056,928),5509=>array(66,319,834,734),5514=>array(58,0,784,743),5515=>array(55,0,869,743),5516=>array(10,-14,824,729),5517=>array(95,-14,822,729),5518=>array(69,0,1416,1050),5519=>array(69,0,1416,743),5520=>array(69,0,1416,928),5521=>array(69,-14,1148,741),5522=>array(69,-14,1160,928),5523=>array(69,-14,1374,741),5524=>array(69,-14,1374,928),5525=>array(69,335,716,741),5526=>array(69,335,1099,741),5536=>array(14,0,846,709),5537=>array(14,0,846,709),5538=>array(-8,-242,824,468),5539=>array(-8,-242,824,667),5540=>array(60,-242,819,468),5541=>array(60,-242,819,667),5542=>array(66,344,546,734),5543=>array(56,0,665,729),5544=>array(-44,0,627,729),5545=>array(-44,0,627,928),5546=>array(71,0,742,729),5547=>array(71,0,742,928),5548=>array(33,0,643,729),5549=>array(33,0,643,928),5550=>array(32,326,405,734),5551=>array(20,-14,617,729),5598=>array(19,0,704,729),5601=>array(43,0,729,729),5702=>array(18,326,425,734),5703=>array(18,240,425,820),5742=>array(-18,0,384,306),5743=>array(66,0,1053,743),5744=>array(69,0,1371,743),5745=>array(69,0,1799,743),5746=>array(69,0,1799,928),5747=>array(69,-14,1531,741),5748=>array(69,-14,1505,928),5749=>array(69,-14,1757,741),5750=>array(69,-14,1757,928),7424=>array(-35,0,526,547),7425=>array(-48,0,721,547),7426=>array(38,-14,919,560),7427=>array(-8,0,509,547),7428=>array(33,-14,523,560),7429=>array(27,-1,553,547),7430=>array(10,-1,550,547),7431=>array(35,0,474,547),7432=>array(24,-14,465,560),7433=>array(9,-213,299,547),7434=>array(-4,-14,424,547),7435=>array(27,0,645,547),7436=>array(-23,0,426,547),7437=>array(25,0,706,547),7438=>array(27,0,603,547),7439=>array(32,-14,586,560),7440=>array(-7,-14,483,560),7441=>array(38,-27,556,573),7442=>array(18,31,543,515),7443=>array(40,-28,557,579),7444=>array(38,-14,941,560),7446=>array(13,273,555,560),7447=>array(65,-14,606,273),7448=>array(-2,0,480,547),7449=>array(-29,0,552,547),7450=>array(64,0,552,547),7451=>array(30,0,563,547),7452=>array(67,-14,596,547),7453=>array(28,10,617,560),7454=>array(35,11,807,561),7455=>array(-53,-238,644,560),7456=>array(57,0,611,547),7457=>array(78,0,834,547),7458=>array(-8,0,527,547),7459=>array(17,-14,530,547),7462=>array(27,0,497,547),7463=>array(-35,0,526,547),7464=>array(27,0,594,547),7465=>array(-2,0,480,547),7466=>array(88,0,676,547),7467=>array(1,0,632,547),7468=>array(-33,326,400,734),7469=>array(-36,326,604,734),7470=>array(16,326,392,734),7472=>array(16,326,441,734),7473=>array(16,326,375,734),7474=>array(16,326,382,734),7475=>array(28,318,440,742),7476=>array(16,326,458,734),7477=>array(16,326,194,734),7478=>array(-78,214,205,734),7479=>array(16,326,472,734),7480=>array(16,326,324,734),7481=>array(16,326,548,734),7482=>array(16,326,458,734),7483=>array(16,326,458,734),7484=>array(28,318,454,742),7485=>array(19,318,432,742),7486=>array(16,326,405,734),7487=>array(16,326,390,734),7488=>array(24,326,419,734),7489=>array(45,318,445,734),7490=>array(52,326,644,734),7491=>array(33,318,370,640),7492=>array(43,318,374,640),7493=>array(48,318,411,640),7494=>array(48,318,603,640),7495=>array(18,318,384,751),7496=>array(43,318,433,751),7497=>array(44,318,387,640),7498=>array(48,318,381,640),7499=>array(35,318,312,640),7500=>array(33,318,311,640),7501=>array(34,205,409,639),7502=>array(6,207,189,632),7503=>array(18,326,406,751),7504=>array(18,326,559,640),7505=>array(29,205,382,640),7506=>array(44,318,393,640),7507=>array(20,318,322,640),7508=>array(97,479,439,640),7509=>array(97,318,439,479),7510=>array(-5,209,384,640),7511=>array(64,326,329,719),7512=>array(38,318,390,632),7513=>array(49,332,420,640),7514=>array(42,318,578,632),7515=>array(75,326,424,632),7517=>array(-0,209,373,759),7518=>array(35,209,415,632),7519=>array(14,318,355,756),7520=>array(46,209,421,635),7521=>array(-22,209,389,632),7522=>array(10,0,185,425),7523=>array(21,0,310,313),7524=>array(38,-8,390,306),7525=>array(75,0,424,306),7526=>array(-0,-117,373,433),7527=>array(35,-117,415,306),7528=>array(-0,-117,384,314),7529=>array(46,-117,421,309),7530=>array(-22,-117,389,306),7543=>array(10,-216,606,559),7544=>array(16,326,458,734),7547=>array(27,0,463,547),7549=>array(-9,-208,678,560),7557=>array(75,-216,413,760),7579=>array(21,318,381,640),7580=>array(48,318,347,640),7581=>array(50,288,350,640),7582=>array(38,318,389,751),7583=>array(22,318,303,640),7584=>array(52,326,326,751),7585=>array(10,205,259,632),7586=>array(51,205,418,632),7587=>array(52,207,397,632),7588=>array(31,326,255,751),7589=>array(43,326,188,632),7590=>array(21,326,289,632),7591=>array(21,326,289,632),7592=>array(15,205,339,751),7593=>array(21,205,207,751),7594=>array(21,205,232,751),7595=>array(21,326,271,632),7596=>array(31,205,563,640),7597=>array(52,209,584,632),7598=>array(10,205,471,640),7599=>array(31,205,428,640),7600=>array(21,326,380,632),7601=>array(48,318,389,640),7602=>array(47,209,437,751),7603=>array(37,205,344,640),7604=>array(0,205,354,751),7605=>array(65,205,329,719),7606=>array(42,318,479,632),7607=>array(48,298,424,632),7608=>array(42,318,372,632),7609=>array(43,326,356,632),7610=>array(21,326,374,632),7611=>array(21,326,352,632),7612=>array(31,205,396,632),7613=>array(24,288,363,632),7614=>array(14,206,364,632),7615=>array(48,320,333,756),7620=>array(-435,616,-17,800),7621=>array(-406,616,-31,800),7622=>array(-421,616,-45,800),7623=>array(-435,616,-17,800),7624=>array(-446,616,-6,800),7625=>array(-479,616,26,800),7680=>array(-59,-240,622,729),7681=>array(15,-240,550,560),7682=>array(19,0,629,927),7683=>array(27,-14,609,941),7684=>array(19,-212,629,729),7685=>array(27,-212,609,760),7686=>array(19,-185,629,729),7687=>array(27,-185,609,760),7688=>array(32,-196,652,927),7689=>array(33,-196,523,800),7690=>array(19,0,708,927),7691=>array(32,-14,682,941),7692=>array(19,-212,708,729),7693=>array(32,-212,652,760),7694=>array(19,-185,708,729),7695=>array(32,-185,652,760),7696=>array(19,-194,708,729),7697=>array(30,-196,652,760),7698=>array(19,-240,708,729),7699=>array(32,-240,652,760),7700=>array(19,0,603,1057),7701=>array(32,-14,576,898),7702=>array(19,0,603,1057),7703=>array(32,-14,576,900),7704=>array(40,-203,624,729),7705=>array(32,-203,576,560),7706=>array(19,-221,603,729),7707=>array(32,-221,576,560),7708=>array(19,-196,603,927),7709=>array(32,-196,576,783),7710=>array(19,0,603,928),7711=>array(44,0,486,941),7712=>array(32,-14,700,899),7713=>array(18,-216,614,760),7714=>array(19,0,734,928),7715=>array(27,0,589,941),7716=>array(19,-212,734,729),7717=>array(27,-212,589,760),7718=>array(19,0,734,927),7719=>array(27,0,589,927),7720=>array(-55,-196,734,729),7721=>array(-40,-196,589,760),7722=>array(19,-239,734,729),7723=>array(27,-239,589,760),7724=>array(-97,-221,316,729),7725=>array(-97,-221,319,760),7726=>array(19,0,460,1057),7727=>array(27,0,430,903),7728=>array(19,0,753,927),7729=>array(27,0,645,982),7730=>array(19,-212,753,729),7731=>array(27,-212,645,760),7732=>array(19,-185,753,729),7733=>array(27,-185,645,760),7734=>array(19,-212,510,729),7735=>array(9,-212,319,760),7736=>array(19,-212,510,942),7737=>array(9,-212,405,914),7738=>array(19,-185,510,729),7739=>array(-62,-185,319,760),7740=>array(19,-240,510,729),7741=>array(-102,-240,319,760),7742=>array(19,0,877,927),7743=>array(27,0,886,800),7744=>array(19,0,877,928),7745=>array(27,0,886,759),7746=>array(19,-212,877,729),7747=>array(27,-212,886,560),7748=>array(19,0,734,927),7749=>array(27,0,589,759),7750=>array(19,-212,734,729),7751=>array(27,-212,589,560),7752=>array(19,-185,734,729),7753=>array(27,-185,589,560),7754=>array(19,-240,734,729),7755=>array(27,-240,589,560),7756=>array(32,-14,733,1057),7757=>array(32,-14,586,917),7758=>array(32,-14,733,1061),7759=>array(32,-14,586,900),7760=>array(32,-14,733,1057),7761=>array(32,-14,586,898),7762=>array(32,-14,733,1057),7763=>array(32,-14,586,900),7764=>array(19,0,647,927),7765=>array(-9,-208,609,800),7766=>array(19,0,647,928),7767=>array(-9,-208,609,759),7768=>array(19,0,617,928),7769=>array(27,0,491,759),7770=>array(19,-212,617,729),7771=>array(9,-212,491,560),7772=>array(19,-212,617,914),7773=>array(9,-212,491,759),7774=>array(19,-185,617,729),7775=>array(-62,-185,491,560),7776=>array(13,-14,599,928),7777=>array(9,-14,504,759),7778=>array(13,-212,599,742),7779=>array(9,-212,504,560),7780=>array(13,-14,647,928),7781=>array(9,-14,614,816),7782=>array(13,-14,621,1053),7783=>array(9,-14,544,875),7784=>array(13,-212,599,928),7785=>array(9,-212,504,762),7786=>array(43,0,673,928),7787=>array(39,0,458,941),7788=>array(43,-212,673,729),7789=>array(39,-212,458,702),7790=>array(43,-185,673,729),7791=>array(24,-185,458,702),7792=>array(35,-240,673,729),7793=>array(-18,-240,458,702),7794=>array(61,-212,712,729),7795=>array(54,-212,613,547),7796=>array(61,-221,712,729),7797=>array(54,-221,613,547),7798=>array(61,-203,712,729),7799=>array(54,-203,613,547),7800=>array(61,-14,712,1057),7801=>array(54,-14,613,917),7802=>array(61,-14,712,1043),7803=>array(54,-14,613,885),7804=>array(68,0,756,928),7805=>array(57,0,611,778),7806=>array(68,-212,756,729),7807=>array(57,-212,611,547),7808=>array(96,0,1029,931),7809=>array(78,0,834,803),7810=>array(96,0,1029,931),7811=>array(78,0,834,803),7812=>array(96,0,1029,927),7813=>array(78,0,834,774),7814=>array(96,0,1029,927),7815=>array(78,0,834,759),7816=>array(96,-212,1029,729),7817=>array(78,-212,834,547),7818=>array(-46,0,731,927),7819=>array(-37,0,604,759),7820=>array(-46,0,731,927),7821=>array(-37,0,604,774),7822=>array(57,0,729,928),7823=>array(0,-216,619,759),7824=>array(-23,0,667,927),7825=>array(-8,0,527,800),7826=>array(-23,-212,667,729),7827=>array(-8,-212,527,547),7828=>array(-23,-185,667,729),7829=>array(-8,-185,527,547),7830=>array(27,-185,589,760),7831=>array(39,0,458,927),7832=>array(78,0,834,883),7833=>array(0,-216,619,883),7834=>array(15,-14,743,760),7835=>array(44,0,486,941),7836=>array(-35,0,466,760),7837=>array(15,0,466,760),7838=>array(34,-14,727,743),7839=>array(14,-14,571,768),7840=>array(-59,-212,622,729),7841=>array(15,-212,550,560),7842=>array(-59,0,622,1025),7843=>array(15,-14,550,844),7844=>array(-59,0,768,1057),7845=>array(15,-14,716,876),7846=>array(-59,0,683,1057),7847=>array(15,-14,634,876),7848=>array(-59,0,756,1093),7849=>array(15,-14,696,913),7850=>array(-59,0,622,1068),7851=>array(15,-14,568,888),7852=>array(-59,-212,622,927),7853=>array(15,-212,550,800),7854=>array(-59,0,632,1057),7855=>array(15,-14,582,889),7856=>array(-59,0,622,1057),7857=>array(15,-14,550,889),7858=>array(-59,0,622,1121),7859=>array(15,-14,550,953),7860=>array(-59,0,624,1068),7861=>array(15,-14,567,900),7862=>array(-59,-212,622,936),7863=>array(15,-212,550,772),7864=>array(19,-212,603,729),7865=>array(32,-212,576,560),7866=>array(19,0,603,1025),7867=>array(32,-14,576,844),7868=>array(19,0,603,928),7869=>array(32,-14,576,778),7870=>array(19,0,725,1057),7871=>array(32,-14,733,876),7872=>array(19,0,695,1057),7873=>array(32,-14,649,876),7874=>array(19,0,720,1093),7875=>array(32,-14,718,913),7876=>array(19,0,603,1068),7877=>array(32,-14,583,888),7878=>array(19,-212,603,927),7879=>array(32,-212,576,800),7880=>array(19,0,375,1025),7881=>array(27,0,355,844),7882=>array(5,-212,316,729),7883=>array(9,-212,319,760),7884=>array(32,-212,733,742),7885=>array(32,-212,586,560),7886=>array(32,-14,733,1025),7887=>array(32,-14,586,844),7888=>array(32,-14,795,1057),7889=>array(32,-14,734,876),7890=>array(32,-14,733,1057),7891=>array(32,-14,651,876),7892=>array(32,-14,801,1093),7893=>array(32,-14,722,913),7894=>array(32,-14,733,1068),7895=>array(32,-14,590,888),7896=>array(32,-212,733,927),7897=>array(32,-212,586,800),7898=>array(35,-14,816,927),7899=>array(35,-14,693,800),7900=>array(35,-14,816,927),7901=>array(35,-14,693,798),7902=>array(35,-14,816,1025),7903=>array(35,-14,693,844),7904=>array(35,-14,816,928),7905=>array(35,-14,693,778),7906=>array(35,-212,816,760),7907=>array(35,-212,693,570),7908=>array(61,-212,712,729),7909=>array(54,-212,613,547),7910=>array(61,-14,712,1025),7911=>array(54,-14,613,844),7912=>array(61,-14,844,927),7913=>array(51,-14,716,799),7914=>array(61,-14,844,927),7915=>array(51,-14,716,800),7916=>array(61,-14,844,1025),7917=>array(51,-14,716,844),7918=>array(61,-14,844,928),7919=>array(51,-14,716,778),7920=>array(61,-212,844,761),7921=>array(51,-212,716,570),7922=>array(57,0,729,931),7923=>array(0,-216,619,803),7924=>array(57,-212,729,729),7925=>array(0,-216,619,547),7926=>array(57,0,729,1025),7927=>array(0,-216,619,844),7928=>array(57,0,729,928),7929=>array(0,-216,619,778),7930=>array(19,0,794,729),7931=>array(9,0,628,760),7936=>array(34,-12,623,785),7937=>array(34,-12,623,785),7938=>array(34,-12,623,800),7939=>array(34,-12,623,800),7940=>array(34,-12,623,800),7941=>array(34,-12,623,800),7942=>array(34,-12,623,928),7943=>array(34,-12,623,928),7944=>array(-59,0,622,785),7945=>array(-59,0,622,785),7946=>array(26,0,862,800),7947=>array(62,0,865,800),7948=>array(26,0,767,800),7949=>array(61,0,792,800),7950=>array(-3,0,677,928),7951=>array(18,0,699,928),7952=>array(24,-14,468,785),7953=>array(24,-14,468,785),7954=>array(24,-14,492,800),7955=>array(24,-14,487,800),7956=>array(24,-14,555,800),7957=>array(24,-14,541,800),7960=>array(27,0,701,785),7961=>array(62,0,703,785),7962=>array(26,0,978,800),7963=>array(62,0,975,800),7964=>array(26,0,909,800),7965=>array(61,0,936,800),7968=>array(44,-208,598,785),7969=>array(44,-208,598,785),7970=>array(44,-208,598,800),7971=>array(44,-208,598,800),7972=>array(44,-208,598,800),7973=>array(44,-208,615,800),7974=>array(44,-208,598,928),7975=>array(44,-208,598,928),7976=>array(27,0,832,785),7977=>array(62,0,837,785),7978=>array(26,0,1107,800),7979=>array(62,0,1106,800),7980=>array(26,0,1043,800),7981=>array(61,0,1067,800),7982=>array(88,0,930,928),7983=>array(87,0,938,928),7984=>array(38,-19,282,785),7985=>array(38,-19,282,785),7986=>array(0,-19,411,800),7987=>array(6,-19,383,800),7988=>array(38,-19,478,800),7989=>array(38,-19,471,800),7990=>array(38,-19,413,928),7991=>array(38,-19,410,928),7992=>array(27,0,417,785),7993=>array(62,0,422,785),7994=>array(26,0,681,800),7995=>array(62,0,688,800),7996=>array(26,0,622,800),7997=>array(61,0,646,800),7998=>array(88,0,525,928),7999=>array(87,0,525,928),8000=>array(32,-14,586,785),8001=>array(32,-14,586,785),8002=>array(32,-14,586,800),8003=>array(32,-14,586,800),8004=>array(32,-14,601,800),8005=>array(32,-14,612,800),8008=>array(27,-14,770,785),8009=>array(62,-14,808,785),8010=>array(26,-14,1067,800),8011=>array(62,-14,1069,800),8012=>array(26,-14,915,800),8013=>array(61,-14,941,800),8016=>array(48,-10,580,785),8017=>array(48,-10,580,785),8018=>array(48,-10,580,800),8019=>array(48,-10,580,800),8020=>array(48,-10,609,800),8021=>array(48,-10,615,800),8022=>array(48,-10,580,928),8023=>array(48,-10,580,928),8025=>array(62,0,914,785),8027=>array(62,0,1143,800),8029=>array(61,0,1156,800),8031=>array(87,0,1021,928),8032=>array(30,-13,751,785),8033=>array(30,-13,751,785),8034=>array(30,-13,751,800),8035=>array(30,-13,751,800),8036=>array(30,-13,751,800),8037=>array(30,-13,751,800),8038=>array(30,-13,751,928),8039=>array(30,-13,751,928),8040=>array(12,0,783,785),8041=>array(57,0,828,785),8042=>array(26,0,1087,800),8043=>array(62,-3,1092,800),8044=>array(26,0,934,800),8045=>array(61,0,960,800),8046=>array(88,0,891,928),8047=>array(87,0,934,928),8048=>array(34,-12,623,800),8049=>array(34,-12,623,800),8050=>array(24,-14,468,800),8051=>array(24,-14,510,800),8052=>array(44,-208,598,800),8053=>array(44,-208,598,800),8054=>array(38,-19,282,800),8055=>array(38,-19,392,800),8056=>array(32,-14,586,800),8057=>array(32,-14,586,800),8058=>array(48,-10,580,800),8059=>array(48,-10,580,800),8060=>array(30,-13,751,800),8061=>array(30,-13,751,800),8064=>array(34,-208,623,785),8065=>array(34,-208,623,785),8066=>array(34,-208,623,800),8067=>array(34,-208,623,800),8068=>array(34,-208,623,800),8069=>array(34,-208,623,800),8070=>array(34,-208,623,928),8071=>array(34,-208,623,928),8072=>array(-59,-208,622,785),8073=>array(-59,-208,622,785),8074=>array(26,-208,862,800),8075=>array(62,-208,865,800),8076=>array(26,-208,767,800),8077=>array(61,-208,792,800),8078=>array(-3,-208,677,928),8079=>array(18,-208,699,928),8080=>array(44,-208,598,785),8081=>array(44,-208,598,785),8082=>array(44,-208,598,800),8083=>array(44,-208,598,800),8084=>array(44,-208,598,800),8085=>array(44,-208,615,800),8086=>array(44,-208,598,928),8087=>array(44,-208,598,928),8088=>array(27,-208,832,785),8089=>array(62,-208,837,785),8090=>array(26,-208,1107,800),8091=>array(62,-208,1106,800),8092=>array(26,-208,1043,800),8093=>array(61,-208,1067,800),8094=>array(88,-208,930,928),8095=>array(87,-208,938,928),8096=>array(30,-208,751,785),8097=>array(30,-208,751,785),8098=>array(30,-208,751,800),8099=>array(30,-208,751,800),8100=>array(30,-208,751,800),8101=>array(30,-208,751,800),8102=>array(30,-208,751,928),8103=>array(30,-208,751,928),8104=>array(12,-208,783,785),8105=>array(57,-208,828,785),8106=>array(26,-208,1087,800),8107=>array(62,-208,1092,800),8108=>array(26,-208,934,800),8109=>array(61,-208,960,800),8110=>array(88,-208,891,928),8111=>array(87,-208,934,928),8112=>array(34,-12,623,784),8113=>array(34,-12,623,760),8114=>array(34,-208,623,800),8115=>array(34,-208,623,559),8116=>array(34,-208,623,800),8118=>array(34,-12,623,778),8119=>array(34,-208,623,778),8120=>array(-59,0,622,927),8121=>array(-59,0,622,914),8122=>array(34,0,714,800),8123=>array(-38,0,643,800),8124=>array(-59,-208,622,729),8125=>array(189,595,343,785),8126=>array(119,-208,228,-45),8127=>array(189,595,343,785),8128=>array(119,638,450,778),8129=>array(136,654,486,928),8130=>array(44,-208,598,800),8131=>array(44,-208,598,560),8132=>array(44,-208,598,800),8134=>array(44,-208,598,778),8135=>array(44,-208,598,778),8136=>array(75,0,825,800),8137=>array(21,0,748,800),8138=>array(75,0,954,800),8139=>array(26,0,888,800),8140=>array(19,-208,734,729),8141=>array(55,595,466,800),8142=>array(81,595,506,800),8143=>array(156,595,486,928),8144=>array(38,-19,372,784),8145=>array(38,-19,365,760),8146=>array(38,-19,362,978),8147=>array(44,-19,465,978),8150=>array(38,-19,382,778),8151=>array(38,-19,409,928),8152=>array(19,0,382,927),8153=>array(19,0,375,914),8154=>array(75,0,541,800),8155=>array(23,0,469,800),8157=>array(94,595,471,800),8158=>array(100,595,517,800),8159=>array(156,595,486,928),8160=>array(48,-10,580,784),8161=>array(48,-10,580,760),8162=>array(48,-10,580,978),8163=>array(48,-10,594,978),8164=>array(8,-208,629,785),8165=>array(8,-208,629,785),8166=>array(48,-10,580,778),8167=>array(48,-10,580,928),8168=>array(57,0,729,927),8169=>array(57,0,729,914),8170=>array(75,0,995,800),8171=>array(18,0,960,800),8172=>array(62,0,743,785),8173=>array(136,654,436,978),8174=>array(136,654,531,978),8175=>array(118,616,334,800),8178=>array(30,-208,751,800),8179=>array(30,-208,751,547),8180=>array(30,-208,751,800),8182=>array(30,-13,751,778),8183=>array(30,-208,751,778),8184=>array(75,-14,926,800),8185=>array(25,-14,766,800),8186=>array(75,0,941,800),8187=>array(-1,0,770,800),8188=>array(-41,-208,730,742),8189=>array(204,616,485,800),8190=>array(224,595,353,785),8208=>array(22,217,324,359),8209=>array(22,217,324,359),8210=>array(21,211,574,337),8211=>array(21,211,397,337),8212=>array(21,211,848,337),8213=>array(-27,211,896,337),8214=>array(114,-236,359,764),8215=>array(-9,-236,459,-9),8216=>array(101,418,351,729),8217=>array(66,418,314,729),8218=>array(-31,-122,218,189),8219=>array(96,418,272,729),8220=>array(101,418,587,729),8221=>array(66,418,551,729),8222=>array(-31,-122,455,189),8223=>array(85,418,482,729),8224=>array(34,-96,454,729),8225=>array(-25,-96,454,729),8226=>array(129,196,446,547),8227=>array(129,157,481,586),8228=>array(41,0,233,189),8229=>array(41,0,512,189),8230=>array(41,0,791,189),8231=>array(111,304,254,424),8240=>array(49,-14,1261,742),8241=>array(49,-14,1670,742),8242=>array(1,547,232,729),8243=>array(1,547,396,729),8244=>array(1,547,562,729),8245=>array(145,547,312,729),8246=>array(145,547,479,729),8247=>array(145,547,642,729),8248=>array(91,-238,569,29),8249=>array(55,67,320,519),8250=>array(34,66,298,519),8251=>array(65,0,810,829),8252=>array(-2,0,567,729),8253=>array(88,0,496,742),8254=>array(-9,663,459,755),8255=>array(-28,-237,773,-79),8256=>array(-28,769,773,927),8257=>array(-47,-235,267,231),8258=>array(18,-37,903,832),8259=>array(92,188,386,325),8260=>array(-250,-14,400,742),8261=>array(-9,-132,419,760),8262=>array(-25,-132,404,760),8263=>array(63,0,932,742),8264=>array(93,0,748,742),8265=>array(-2,0,719,742),8266=>array(79,-125,477,546),8267=>array(51,-96,599,729),8268=>array(67,189,382,541),8269=>array(67,189,382,541),8270=>array(18,-37,453,427),8271=>array(50,-142,294,547),8272=>array(-28,-237,773,927),8273=>array(61,-3,409,830),8274=>array(2,-93,493,729),8275=>array(44,212,856,415),8276=>array(-28,-351,773,-192),8277=>array(127,98,625,631),8278=>array(85,93,565,645),8279=>array(1,547,726,729),8280=>array(55,21,699,708),8281=>array(72,71,691,657),8282=>array(27,0,315,729),8283=>array(27,-170,756,898),8284=>array(39,0,715,729),8285=>array(27,0,306,683),8286=>array(27,0,306,683),8304=>array(26,319,358,742),8305=>array(10,326,185,751),8308=>array(2,326,350,734),8309=>array(11,319,354,734),8310=>array(33,319,362,742),8311=>array(46,326,376,734),8312=>array(18,319,360,742),8313=>array(21,319,350,742),8314=>array(60,326,415,677),8315=>array(60,469,415,534),8316=>array(60,407,415,596),8317=>array(43,252,253,751),8318=>array(-1,252,209,751),8319=>array(21,326,371,640),8320=>array(26,-7,358,416),8321=>array(60,0,356,408),8322=>array(40,0,388,416),8323=>array(36,-7,384,416),8324=>array(2,0,350,408),8325=>array(11,-7,354,408),8326=>array(33,-7,362,416),8327=>array(46,0,376,408),8328=>array(18,-7,360,416),8329=>array(21,-7,350,416),8330=>array(60,0,415,351),8331=>array(60,143,415,208),8332=>array(60,81,415,270),8333=>array(43,-74,253,425),8334=>array(-1,-74,209,425),8336=>array(33,-8,370,313),8337=>array(44,-8,387,313),8338=>array(44,-8,393,313),8339=>array(-18,0,384,306),8340=>array(48,-8,381,313),8341=>array(11,0,361,425),8342=>array(18,0,406,425),8343=>array(11,0,187,425),8344=>array(18,0,559,313),8345=>array(21,0,371,313),8346=>array(-5,-117,384,313),8347=>array(10,-8,320,313),8348=>array(64,0,329,393),8352=>array(48,0,827,729),8353=>array(32,-44,624,778),8354=>array(32,-14,628,742),8355=>array(3,0,621,729),8356=>array(6,0,622,742),8357=>array(26,-93,877,640),8358=>array(12,0,741,729),8359=>array(19,-14,1308,729),8360=>array(20,-14,1039,729),8361=>array(21,0,1029,729),8362=>array(-29,-14,783,729),8363=>array(32,-185,735,760),8364=>array(-37,-14,619,742),8365=>array(11,0,662,729),8366=>array(49,0,679,729),8367=>array(33,-223,1098,742),8368=>array(1,-14,594,742),8369=>array(19,0,628,729),8370=>array(34,-81,614,809),8371=>array(-60,0,616,729),8372=>array(14,-14,760,742),8373=>array(68,-147,620,760),8376=>array(16,0,679,729),8377=>array(54,0,646,729),8378=>array(-9,0,670,729),8400=>array(-459,628,-23,760),8401=>array(-435,628,-10,760),8406=>array(-423,560,-18,760),8407=>array(-429,560,-23,760),8411=>array(-302,654,171,774),8412=>array(-389,654,258,774),8417=>array(-423,560,-23,760),8448=>array(13,-23,996,752),8449=>array(13,-23,996,752),8450=>array(44,-14,603,742),8451=>array(78,-14,1081,749),8452=>array(57,0,749,729),8453=>array(22,-24,988,752),8454=>array(22,-24,1053,752),8455=>array(33,-14,587,742),8456=>array(0,-146,624,611),8457=>array(78,0,899,749),8459=>array(32,-14,957,746),8460=>array(5,-125,729,747),8461=>array(90,0,709,729),8462=>array(27,0,589,760),8463=>array(9,0,563,760),8464=>array(32,-14,480,742),8465=>array(46,-14,593,743),8466=>array(33,-14,708,742),8467=>array(-13,-14,361,742),8468=>array(10,-14,842,760),8469=>array(83,0,671,729),8470=>array(-34,0,1041,729),8471=>array(124,0,776,725),8472=>array(48,-221,592,495),8473=>array(83,0,638,729),8474=>array(44,-146,720,742),8475=>array(28,-14,814,768),8476=>array(36,-14,723,743),8477=>array(88,0,714,729),8478=>array(47,0,760,729),8479=>array(48,-112,600,887),8480=>array(114,443,693,730),8481=>array(36,0,1101,547),8482=>array(129,447,711,729),8483=>array(20,-113,790,885),8484=>array(40,0,639,729),8485=>array(-10,-230,583,777),8486=>array(-41,0,730,742),8487=>array(37,-14,732,723),8488=>array(-5,-159,604,729),8489=>array(32,0,276,566),8490=>array(19,0,753,729),8491=>array(-59,0,622,928),8492=>array(37,-1,768,772),8493=>array(57,-19,690,742),8494=>array(55,-12,714,647),8495=>array(37,-14,532,533),8496=>array(65,-14,602,742),8497=>array(33,-14,774,773),8498=>array(19,0,603,729),8499=>array(34,-18,1041,751),8500=>array(26,-12,393,420),8501=>array(45,-14,685,742),8502=>array(17,-14,619,742),8503=>array(27,-35,396,742),8504=>array(57,-41,570,742),8505=>array(31,0,320,760),8506=>array(40,-27,895,723),8507=>array(0,0,1246,547),8508=>array(31,-14,689,547),8509=>array(-36,-208,630,561),8510=>array(83,0,564,729),8511=>array(83,0,694,729),8512=>array(11,-192,738,719),8513=>array(4,-14,672,742),8514=>array(8,0,499,729),8515=>array(10,0,604,729),8516=>array(2,0,674,729),8517=>array(18,0,708,729),8518=>array(31,-14,677,760),8519=>array(29,-14,571,560),8520=>array(13,0,317,760),8521=>array(-129,-216,319,760),8523=>array(54,-14,754,742),8526=>array(1,0,471,547),8528=>array(50,-14,921,742),8529=>array(50,-14,895,742),8530=>array(50,-14,1297,742),8531=>array(50,-14,929,742),8532=>array(40,-14,929,742),8533=>array(50,-14,898,742),8534=>array(40,-14,898,742),8535=>array(36,-14,898,742),8536=>array(2,-14,898,742),8537=>array(50,-14,907,742),8538=>array(11,-14,907,742),8539=>array(50,-14,905,742),8540=>array(36,-14,905,742),8541=>array(11,-14,905,742),8542=>array(46,-14,905,742),8543=>array(50,-14,804,742),8544=>array(19,0,316,729),8545=>array(19,0,574,729),8546=>array(19,0,832,729),8547=>array(19,0,1048,729),8548=>array(68,0,756,729),8549=>array(68,0,971,729),8550=>array(68,0,1229,729),8551=>array(68,0,1486,729),8552=>array(19,0,1046,729),8553=>array(-46,0,731,729),8554=>array(-46,0,989,729),8555=>array(-46,0,1248,729),8556=>array(19,0,510,729),8557=>array(32,-14,652,742),8558=>array(19,0,708,729),8559=>array(19,0,877,729),8560=>array(27,0,319,760),8561=>array(27,0,557,760),8562=>array(27,0,795,760),8563=>array(27,0,889,760),8564=>array(57,0,611,547),8565=>array(57,0,876,760),8566=>array(57,0,1114,760),8567=>array(57,0,1353,760),8568=>array(27,0,896,760),8569=>array(-37,0,604,547),8570=>array(-37,0,882,760),8571=>array(-37,0,1121,760),8572=>array(27,0,319,760),8573=>array(33,-14,523,560),8574=>array(32,-14,652,760),8575=>array(27,0,886,560),8576=>array(43,0,1116,729),8577=>array(19,0,704,729),8578=>array(43,0,1116,729),8579=>array(-12,-14,607,742),8580=>array(-7,-14,483,560),8581=>array(62,-208,677,742),8585=>array(26,-14,929,742),8592=>array(44,87,703,540),8593=>array(174,0,581,732),8594=>array(51,87,710,540),8595=>array(174,-3,581,729),8596=>array(44,87,710,540),8597=>array(173,-3,581,732),8598=>array(123,66,648,650),8599=>array(123,66,648,650),8600=>array(123,66,648,650),8601=>array(123,66,648,650),8602=>array(44,87,703,540),8603=>array(51,87,710,540),8604=>array(11,84,750,431),8605=>array(4,84,743,431),8606=>array(44,87,703,540),8607=>array(170,0,577,732),8608=>array(51,87,710,540),8609=>array(174,-3,582,729),8610=>array(44,87,714,540),8611=>array(40,87,710,540),8612=>array(44,87,703,540),8613=>array(174,0,581,732),8614=>array(51,87,710,540),8615=>array(174,0,581,732),8616=>array(174,0,581,732),8617=>array(44,87,703,565),8618=>array(51,87,710,565),8619=>array(44,87,703,565),8620=>array(51,87,710,565),8621=>array(44,87,710,540),8622=>array(44,86,710,541),8623=>array(110,-4,643,733),8624=>array(152,0,582,755),8625=>array(172,0,603,755),8626=>array(152,-26,582,729),8627=>array(172,-26,603,729),8628=>array(209,-3,695,621),8629=>array(44,87,606,626),8630=>array(9,198,734,685),8631=>array(20,198,745,685),8632=>array(105,13,709,729),8633=>array(44,-108,710,735),8634=>array(78,45,690,691),8635=>array(64,45,677,691),8636=>array(44,255,703,540),8637=>array(44,87,703,372),8638=>array(325,0,581,732),8639=>array(174,0,431,732),8640=>array(51,255,710,540),8641=>array(51,87,710,372),8642=>array(325,0,581,732),8643=>array(174,0,431,732),8644=>array(44,-59,710,686),8645=>array(42,-3,713,732),8646=>array(44,-59,710,686),8647=>array(44,-59,703,686),8648=>array(42,0,712,732),8649=>array(51,-59,710,686),8650=>array(42,-3,712,729),8651=>array(44,-5,710,632),8652=>array(44,-5,710,632),8653=>array(44,87,703,540),8654=>array(44,87,710,540),8655=>array(51,87,710,540),8656=>array(44,87,703,540),8657=>array(173,0,581,732),8658=>array(51,87,710,540),8659=>array(173,-3,581,729),8660=>array(44,87,710,540),8661=>array(173,-8,581,732),8662=>array(119,-26,680,596),8663=>array(79,-26,641,597),8664=>array(79,16,641,639),8665=>array(119,16,680,639),8666=>array(44,87,703,540),8667=>array(51,87,710,540),8668=>array(40,87,699,540),8669=>array(51,87,710,540),8670=>array(174,0,581,732),8671=>array(174,-3,581,729),8672=>array(44,87,703,540),8673=>array(174,0,581,732),8674=>array(51,87,710,540),8675=>array(174,-3,581,729),8676=>array(44,87,703,540),8677=>array(51,87,710,540),8678=>array(24,46,703,581),8679=>array(136,0,618,754),8680=>array(31,46,710,581),8681=>array(136,-25,618,729),8682=>array(136,0,618,754),8683=>array(136,0,618,754),8684=>array(136,0,618,754),8685=>array(136,0,618,754),8686=>array(136,0,618,754),8687=>array(136,0,618,754),8688=>array(31,46,710,581),8689=>array(53,0,709,729),8690=>array(53,0,709,729),8691=>array(136,-25,618,754),8692=>array(51,87,710,540),8693=>array(42,-3,713,732),8694=>array(51,-223,710,850),8695=>array(44,87,703,540),8696=>array(51,87,710,540),8697=>array(44,87,710,540),8698=>array(44,87,703,540),8699=>array(51,87,710,540),8700=>array(44,87,710,540),8701=>array(24,96,703,531),8702=>array(51,96,730,531),8703=>array(24,96,730,531),8704=>array(4,0,692,729),8705=>array(43,-14,566,742),8706=>array(26,-14,463,674),8707=>array(83,0,549,729),8708=>array(83,-46,549,775),8709=>array(42,-15,729,715),8710=>array(0,0,627,719),8711=>array(0,0,627,719),8712=>array(65,-2,742,730),8713=>array(65,-46,742,775),8714=>array(95,58,580,568),8715=>array(65,-2,742,730),8716=>array(65,-46,742,775),8717=>array(95,58,580,568),8718=>array(88,0,485,553),8719=>array(66,-192,641,719),8720=>array(66,-193,641,718),8721=>array(18,-192,627,719),8722=>array(95,256,659,371),8723=>array(95,0,659,627),8724=>array(44,0,583,729),8725=>array(-87,-93,391,729),8726=>array(148,-49,478,772),8727=>array(106,0,647,626),8728=>array(135,151,428,477),8729=>array(92,253,250,442),8730=>array(33,-20,602,837),8731=>array(33,-20,602,933),8732=>array(32,-20,602,924),8733=>array(83,89,555,505),8734=>array(83,89,667,505),8735=>array(95,67,659,693),8736=>array(69,0,738,729),8737=>array(69,-44,738,729),8738=>array(104,-0,659,726),8739=>array(186,-207,290,773),8740=>array(43,-207,434,773),8741=>array(101,-207,376,773),8742=>array(43,-207,434,773),8743=>array(136,0,595,579),8744=>array(136,0,595,579),8745=>array(136,0,595,579),8746=>array(136,0,595,579),8747=>array(13,-227,493,754),8748=>array(13,-227,823,754),8749=>array(13,-227,1152,754),8750=>array(13,-227,493,754),8751=>array(34,-227,845,754),8752=>array(21,-227,1161,754),8753=>array(13,-227,555,754),8754=>array(13,-227,540,754),8755=>array(13,-227,530,754),8756=>array(53,78,573,647),8757=>array(53,78,573,647),8758=>array(53,79,211,647),8759=>array(53,78,573,647),8760=>array(95,256,659,631),8761=>array(95,45,721,584),8762=>array(95,-4,659,631),8763=>array(95,-34,659,660),8764=>array(95,212,659,415),8765=>array(95,212,659,415),8766=>array(59,131,695,497),8767=>array(95,42,659,584),8768=>array(77,0,260,626),8769=>array(95,76,659,551),8770=>array(95,110,659,482),8771=>array(95,144,659,517),8772=>array(95,0,659,637),8773=>array(95,37,659,628),8774=>array(95,-31,659,628),8775=>array(95,-86,659,726),8776=>array(95,110,659,517),8777=>array(95,8,659,614),8778=>array(95,37,659,628),8779=>array(95,-13,659,628),8780=>array(95,37,659,628),8781=>array(95,105,659,585),8782=>array(95,26,659,656),8783=>array(95,172,659,656),8784=>array(95,144,659,744),8785=>array(95,-117,659,743),8786=>array(94,-92,659,719),8787=>array(94,-92,658,719),8788=>array(88,102,868,520),8789=>array(86,102,870,520),8790=>array(95,144,659,482),8791=>array(95,144,659,839),8792=>array(95,144,659,704),8793=>array(95,144,659,840),8794=>array(95,144,659,840),8795=>array(95,144,659,959),8796=>array(95,144,659,952),8797=>array(95,144,659,762),8798=>array(95,144,659,786),8799=>array(95,144,659,903),8800=>array(95,-5,659,631),8801=>array(95,38,659,588),8802=>array(95,-69,659,695),8803=>array(95,-74,659,700),8804=>array(95,0,659,582),8805=>array(95,0,659,582),8806=>array(96,-106,659,617),8807=>array(96,-106,659,617),8808=>array(96,-185,659,617),8809=>array(96,-185,659,617),8810=>array(65,-34,877,660),8811=>array(65,-34,877,660),8812=>array(77,-132,373,759),8813=>array(95,-10,659,700),8814=>array(95,-4,659,690),8815=>array(95,-63,659,631),8816=>array(95,-112,659,645),8817=>array(95,-112,659,645),8818=>array(95,-84,659,582),8819=>array(95,-84,659,582),8820=>array(95,-112,659,645),8821=>array(95,-112,659,645),8822=>array(91,-119,659,678),8823=>array(91,-119,659,678),8824=>array(91,-221,659,779),8825=>array(91,-221,659,779),8826=>array(95,-55,659,681),8827=>array(95,-55,659,681),8828=>array(95,-177,659,684),8829=>array(95,-177,659,684),8830=>array(95,-132,659,684),8831=>array(95,-132,659,684),8832=>array(95,-89,659,781),8833=>array(95,-89,659,781),8834=>array(89,67,665,559),8835=>array(89,65,665,559),8836=>array(89,-96,665,726),8837=>array(89,-100,665,722),8838=>array(89,0,665,636),8839=>array(89,0,665,635),8840=>array(89,-124,665,759),8841=>array(89,-124,665,759),8842=>array(89,-97,665,636),8843=>array(89,-97,665,635),8844=>array(136,0,595,579),8845=>array(136,0,595,579),8846=>array(136,0,595,579),8847=>array(95,0,659,584),8848=>array(95,0,659,584),8849=>array(95,-115,659,667),8850=>array(95,-115,659,667),8851=>array(95,0,621,626),8852=>array(95,0,621,626),8853=>array(82,-14,672,643),8854=>array(82,-14,672,643),8855=>array(82,-14,672,643),8856=>array(82,-13,672,642),8857=>array(82,-14,672,643),8858=>array(82,-14,672,643),8859=>array(82,-14,672,643),8860=>array(82,-14,672,643),8861=>array(82,-14,672,643),8862=>array(69,-29,686,657),8863=>array(69,-29,686,657),8864=>array(69,-29,686,657),8865=>array(69,-29,686,657),8866=>array(77,0,746,705),8867=>array(77,0,746,705),8868=>array(77,0,746,705),8869=>array(77,0,746,705),8870=>array(77,0,412,705),8871=>array(77,0,412,705),8872=>array(77,0,746,705),8873=>array(77,0,746,705),8874=>array(77,0,746,705),8875=>array(77,0,746,705),8876=>array(77,-100,746,805),8877=>array(77,-100,746,805),8878=>array(77,-100,746,805),8879=>array(77,-100,746,805),8880=>array(95,-54,652,681),8881=>array(102,-54,659,681),8882=>array(95,-1,659,628),8883=>array(95,-1,659,628),8884=>array(95,-80,659,706),8885=>array(95,-80,659,706),8886=>array(54,151,846,477),8887=>array(54,151,846,477),8888=>array(53,151,701,477),8889=>array(39,-63,715,689),8890=>array(56,0,432,705),8891=>array(92,0,639,759),8892=>array(92,0,639,759),8893=>array(92,0,639,759),8894=>array(95,0,659,626),8895=>array(95,0,659,626),8896=>array(0,-192,759,719),8897=>array(0,-192,759,719),8898=>array(43,-192,715,719),8899=>array(43,-192,715,719),8900=>array(2,-233,442,807),8901=>array(92,253,250,442),8902=>array(75,112,489,549),8903=>array(95,-56,659,683),8904=>array(95,-48,805,674),8905=>array(95,-48,805,675),8906=>array(95,-48,805,675),8907=>array(95,-48,805,675),8908=>array(95,-48,805,675),8909=>array(95,144,659,517),8910=>array(44,0,687,579),8911=>array(44,0,687,579),8912=>array(83,-22,659,649),8913=>array(95,-22,671,649),8914=>array(75,0,680,639),8915=>array(75,-14,680,625),8916=>array(167,0,587,729),8917=>array(95,-100,659,729),8918=>array(95,30,659,597),8919=>array(95,30,659,597),8920=>array(65,-34,1215,660),8921=>array(65,-34,1215,660),8922=>array(95,-211,659,837),8923=>array(95,-211,659,837),8924=>array(95,0,659,582),8925=>array(95,0,659,582),8926=>array(95,-177,659,684),8927=>array(95,-177,659,684),8928=>array(95,-197,659,808),8929=>array(95,-263,659,742),8930=>array(95,-191,659,817),8931=>array(95,-191,659,817),8932=>array(95,-146,659,636),8933=>array(95,-146,659,636),8934=>array(95,-168,659,582),8935=>array(95,-168,659,582),8936=>array(95,-216,659,684),8937=>array(95,-216,659,684),8938=>array(95,-138,659,808),8939=>array(95,-138,659,808),8940=>array(95,-224,659,894),8941=>array(95,-224,659,894),8942=>array(371,-40,529,735),8943=>array(71,253,829,442),8944=>array(71,-40,829,735),8945=>array(71,-40,829,735),8946=>array(65,-2,977,730),8947=>array(65,-2,742,730),8948=>array(95,58,580,568),8949=>array(65,-2,742,984),8950=>array(65,-2,742,919),8951=>array(95,58,580,741),8952=>array(65,-207,742,730),8953=>array(65,-2,742,730),8954=>array(65,-2,977,730),8955=>array(65,-2,742,730),8956=>array(95,58,580,568),8957=>array(65,-2,742,919),8958=>array(95,58,580,741),8959=>array(95,0,712,732),8960=>array(28,-22,515,519),8961=>array(50,152,486,453),8962=>array(58,0,586,596),8963=>array(174,470,581,732),8964=>array(174,0,581,263),8965=>array(174,-12,581,423),8966=>array(174,-12,581,552),8967=>array(175,-42,399,802),8968=>array(-1,-132,429,760),8969=>array(106,-132,412,760),8970=>array(-1,-132,305,760),8971=>array(-17,-132,412,760),8972=>array(316,-77,684,331),8973=>array(44,-77,412,331),8974=>array(316,226,684,634),8975=>array(44,226,412,634),8976=>array(95,140,659,444),8977=>array(2,113,482,646),8984=>array(76,0,759,759),8985=>array(95,140,659,444),8988=>array(78,425,422,760),8989=>array(114,425,422,760),8990=>array(55,-126,363,208),8991=>array(37,-126,381,208),8992=>array(211,-250,527,926),8993=>array(20,-240,336,940),8996=>array(68,215,969,575),8997=>array(68,0,969,575),8998=>array(68,0,1272,760),8999=>array(68,0,969,760),9000=>array(53,0,1247,729),9003=>array(0,0,1204,760),9004=>array(66,-91,720,748),9075=>array(70,-19,313,547),9076=>array(75,-208,604,562),9077=>array(39,-13,744,547),9082=>array(43,-13,581,559),9085=>array(1,-228,775,99),9095=>array(68,0,990,743),9108=>array(15,0,771,727),9115=>array(56,-252,394,928),9116=>array(56,-252,185,940),9117=>array(56,-240,394,940),9118=>array(56,-252,394,928),9119=>array(266,-252,394,940),9120=>array(56,-240,394,940),9121=>array(56,-252,394,928),9122=>array(56,-252,185,940),9123=>array(56,-240,394,940),9124=>array(56,-252,394,928),9125=>array(266,-252,394,940),9126=>array(56,-240,394,940),9127=>array(275,-261,602,928),9128=>array(74,-247,400,934),9129=>array(275,-240,602,934),9130=>array(275,-256,400,934),9131=>array(74,-261,400,928),9132=>array(275,-247,602,934),9133=>array(74,-240,400,934),9134=>array(211,-250,336,940),9166=>array(24,46,703,729),9167=>array(82,0,769,596),9187=>array(66,-91,720,748),9189=>array(2,75,690,444),9192=>array(-5,-129,561,294),9250=>array(-31,-14,586,760),9251=>array(20,-228,605,99),9312=>array(53,-15,709,715),9313=>array(53,-15,709,715),9314=>array(53,-15,709,715),9315=>array(53,-15,709,715),9316=>array(53,-15,709,715),9317=>array(53,-15,709,715),9318=>array(53,-15,709,715),9319=>array(53,-15,709,715),9320=>array(53,-15,709,715),9321=>array(53,-15,709,715),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,675,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(2,260,690,645),9697=>array(2,-125,690,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(129,196,446,547),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9729=>array(45,-2,854,360),9730=>array(44,0,763,729),9731=>array(75,-0,732,927),9732=>array(57,0,750,880),9733=>array(58,-4,749,723),9734=>array(58,-4,749,723),9735=>array(75,2,441,729),9736=>array(75,0,732,731),9737=>array(75,0,732,730),9738=>array(55,0,745,727),9739=>array(55,0,745,723),9740=>array(55,-1,549,722),9741=>array(55,0,857,723),9742=>array(62,0,1060,729),9743=>array(63,0,1062,729),9744=>array(81,0,727,729),9745=>array(80,0,727,729),9746=>array(80,0,727,729),9747=>array(67,78,411,656),9748=>array(44,0,783,933),9749=>array(66,0,740,731),9750=>array(75,0,732,731),9751=>array(75,0,732,727),9752=>array(70,0,737,729),9753=>array(75,140,732,574),9754=>array(75,113,732,569),9755=>array(75,113,732,569),9756=>array(78,104,729,569),9757=>array(64,0,483,724),9758=>array(78,103,729,569),9759=>array(64,-3,483,720),9760=>array(55,0,752,730),9761=>array(75,0,732,730),9762=>array(75,0,732,730),9763=>array(44,0,763,730),9764=>array(44,-2,558,727),9765=>array(75,0,597,731),9766=>array(75,-1,510,731),9767=>array(75,0,631,911),9768=>array(75,0,416,730),9769=>array(75,-1,732,729),9770=>array(78,0,729,730),9771=>array(75,0,733,731),9772=>array(75,0,565,731),9773=>array(75,0,732,730),9774=>array(75,0,732,730),9775=>array(75,0,732,730),9776=>array(75,0,732,729),9777=>array(75,0,733,729),9778=>array(75,0,732,729),9779=>array(75,0,732,729),9780=>array(75,0,732,729),9781=>array(75,0,732,729),9782=>array(75,0,732,729),9783=>array(75,0,732,729),9784=>array(71,3,735,721),9785=>array(75,-73,864,804),9786=>array(75,-73,864,804),9787=>array(75,-73,864,804),9788=>array(75,0,732,730),9789=>array(322,0,733,730),9790=>array(75,0,485,730),9791=>array(77,-102,476,732),9792=>array(77,-125,583,731),9793=>array(77,-14,583,843),9794=>array(71,-14,748,720),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9800=>array(41,0,766,731),9801=>array(80,0,727,730),9802=>array(84,0,722,731),9803=>array(101,31,706,679),9804=>array(125,0,681,730),9805=>array(48,-180,759,730),9806=>array(75,52,732,653),9807=>array(30,-96,777,730),9808=>array(74,-0,732,730),9809=>array(84,0,722,730),9810=>array(77,153,729,579),9811=>array(141,0,666,730),9812=>array(88,0,719,730),9813=>array(99,0,708,730),9814=>array(149,-1,657,729),9815=>array(192,0,615,730),9816=>array(148,0,659,730),9817=>array(133,-0,673,730),9818=>array(88,0,719,730),9819=>array(99,0,708,730),9820=>array(149,-1,657,729),9821=>array(192,0,615,730),9822=>array(146,0,661,730),9823=>array(133,-0,673,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9832=>array(95,-1,712,729),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),9840=>array(75,0,598,731),9841=>array(58,0,631,731),9842=>array(75,0,732,709),9843=>array(68,16,738,731),9844=>array(68,16,738,731),9845=>array(68,16,738,731),9846=>array(68,16,738,731),9847=>array(68,16,738,731),9848=>array(68,16,738,731),9849=>array(68,16,738,731),9850=>array(68,16,738,731),9851=>array(75,0,731,704),9852=>array(75,0,733,731),9853=>array(75,0,733,731),9854=>array(75,0,733,731),9855=>array(134,1,672,731),9856=>array(66,0,717,725),9857=>array(66,0,717,725),9858=>array(66,0,717,725),9859=>array(66,0,717,725),9860=>array(66,0,717,725),9861=>array(66,0,717,725),9862=>array(75,0,732,731),9863=>array(75,0,732,731),9864=>array(75,0,732,731),9865=>array(75,0,732,731),9866=>array(75,0,732,98),9867=>array(75,0,732,98),9868=>array(75,0,732,413),9869=>array(75,0,732,413),9870=>array(75,0,732,413),9871=>array(75,0,732,413),9872=>array(151,3,655,731),9873=>array(151,3,655,731),9874=>array(46,0,760,731),9875=>array(87,-10,720,732),9876=>array(118,0,689,729),9877=>array(55,-10,431,732),9878=>array(53,-10,753,732),9879=>array(55,0,751,732),9880=>array(130,0,676,732),9881=>array(85,-17,722,727),9882=>array(115,-9,691,733),9883=>array(114,0,692,728),9884=>array(114,0,692,729),9888=>array(44,0,763,729),9889=>array(75,2,558,730),9890=>array(77,-125,827,731),9891=>array(71,-206,921,720),9892=>array(77,-186,998,856),9893=>array(77,-125,753,917),9894=>array(118,-14,654,869),9895=>array(91,-170,667,884),9896=>array(168,-14,585,869),9897=>array(4,133,746,596),9898=>array(168,133,585,597),9899=>array(168,133,585,597),9900=>array(224,194,531,536),9901=>array(158,194,597,536),9902=>array(37,169,717,560),9903=>array(4,194,750,536),9904=>array(92,237,681,540),9905=>array(190,42,564,698),9906=>array(77,-125,583,731),9907=>array(151,-125,582,731),9908=>array(77,-125,582,731),9909=>array(77,-125,582,731),9910=>array(53,-118,712,643),9911=>array(175,-104,536,710),9912=>array(142,-125,489,731),9920=>array(38,4,716,553),9921=>array(38,4,716,724),9922=>array(38,4,716,553),9923=>array(38,4,716,724),9954=>array(77,-14,583,843),9985=>array(9,190,723,635),9986=>array(38,141,706,588),9987=>array(9,94,723,539),9988=>array(32,119,742,613),9990=>array(38,-14,716,742),9991=>array(38,-14,716,742),9992=>array(53,21,704,708),9993=>array(58,107,696,622),9996=>array(191,0,505,742),9997=>array(19,83,722,678),9998=>array(80,75,652,710),9999=>array(23,198,738,530),10000=>array(80,75,652,710),10001=>array(39,185,681,544),10002=>array(61,209,681,520),10003=>array(135,97,601,630),10004=>array(104,87,649,631),10005=>array(114,72,641,657),10006=>array(77,31,677,698),10007=>array(105,-9,631,732),10008=>array(110,0,679,739),10009=>array(49,0,705,729),10010=>array(49,0,705,729),10011=>array(49,0,705,729),10012=>array(49,0,705,729),10013=>array(148,0,606,729),10014=>array(118,0,610,729),10015=>array(140,0,615,729),10016=>array(49,0,705,729),10017=>array(82,-13,672,744),10018=>array(37,-14,717,742),10019=>array(38,-12,716,742),10020=>array(36,-14,718,742),10021=>array(37,-13,717,743),10022=>array(38,-14,717,745),10023=>array(38,-14,717,745),10025=>array(21,-9,733,743),10026=>array(38,-14,716,742),10027=>array(21,-9,733,743),10028=>array(21,-9,733,743),10029=>array(21,-9,733,743),10030=>array(21,-9,733,743),10031=>array(21,-9,733,743),10032=>array(22,12,734,714),10033=>array(58,0,696,729),10034=>array(66,0,688,729),10035=>array(49,0,705,729),10036=>array(28,-14,708,742),10037=>array(37,-14,717,742),10038=>array(82,-14,672,742),10039=>array(37,-14,717,742),10040=>array(37,-14,717,742),10041=>array(37,-14,717,742),10042=>array(49,0,705,729),10043=>array(73,-14,681,742),10044=>array(73,-14,681,742),10045=>array(76,-14,678,742),10046=>array(71,-14,683,742),10047=>array(48,0,706,709),10048=>array(48,0,706,709),10049=>array(37,-14,717,742),10050=>array(38,-14,716,742),10051=>array(71,-14,683,742),10052=>array(80,0,674,729),10053=>array(68,0,686,729),10054=>array(57,2,696,729),10055=>array(70,-13,684,742),10056=>array(42,-13,712,730),10057=>array(42,-13,712,730),10058=>array(37,-13,717,743),10059=>array(37,-13,717,743),10061=>array(44,-10,762,738),10063=>array(53,-49,753,729),10064=>array(53,0,753,777),10065=>array(53,-49,753,729),10066=>array(53,0,753,777),10070=>array(75,-2,732,728),10072=>array(339,-240,415,760),10073=>array(302,-240,452,760),10074=>array(228,-240,527,760),10075=>array(76,395,237,729),10076=>array(53,395,214,729),10077=>array(76,395,432,729),10078=>array(53,395,408,729),10081=>array(140,-93,695,851),10082=>array(182,-17,572,742),10083=>array(146,-17,607,742),10084=>array(48,83,706,645),10085=>array(151,-1,656,729),10086=>array(55,21,652,702),10087=>array(70,169,684,564),10088=>array(176,-139,583,769),10089=>array(176,-139,583,769),10090=>array(237,-132,517,758),10091=>array(237,-132,517,758),10092=>array(193,-240,546,760),10093=>array(208,-240,561,760),10094=>array(127,-240,617,760),10095=>array(137,-240,626,760),10096=>array(149,-240,590,760),10097=>array(165,-240,605,760),10098=>array(311,-241,482,760),10099=>array(272,-241,443,760),10100=>array(157,-163,571,760),10101=>array(183,-163,597,760),10102=>array(53,-15,709,715),10103=>array(53,-15,709,715),10104=>array(53,-15,709,715),10105=>array(53,-15,709,715),10106=>array(53,-15,709,715),10107=>array(53,-15,709,715),10108=>array(53,-15,709,715),10109=>array(53,-15,709,715),10110=>array(53,-15,709,715),10111=>array(53,-15,709,715),10112=>array(4,-52,750,780),10113=>array(4,-52,750,780),10114=>array(4,-52,750,780),10115=>array(4,-52,750,780),10116=>array(4,-52,750,780),10117=>array(4,-52,750,780),10118=>array(4,-52,750,780),10119=>array(4,-52,750,780),10120=>array(4,-52,750,780),10121=>array(4,-52,750,780),10122=>array(4,-52,750,780),10123=>array(4,-52,750,780),10124=>array(4,-52,750,780),10125=>array(4,-52,750,780),10126=>array(4,-52,750,780),10127=>array(4,-52,750,780),10128=>array(4,-52,750,780),10129=>array(4,-52,750,780),10130=>array(4,-52,750,780),10131=>array(4,-52,750,780),10132=>array(51,75,710,552),10136=>array(110,55,614,614),10137=>array(51,100,710,527),10138=>array(110,13,614,572),10139=>array(51,129,710,498),10140=>array(51,57,688,570),10141=>array(51,100,710,527),10142=>array(51,100,710,527),10143=>array(51,100,710,527),10144=>array(51,100,710,527),10145=>array(51,46,730,581),10146=>array(100,94,710,533),10147=>array(100,94,710,533),10148=>array(100,-4,710,631),10149=>array(51,100,710,548),10150=>array(51,79,710,527),10151=>array(216,-7,545,634),10152=>array(51,100,710,527),10153=>array(51,75,688,552),10154=>array(51,75,688,552),10155=>array(19,12,715,586),10156=>array(19,12,715,586),10157=>array(122,0,697,574),10158=>array(122,0,697,574),10159=>array(56,49,719,574),10161=>array(56,49,719,574),10162=>array(139,-20,649,585),10163=>array(57,157,710,470),10164=>array(72,55,614,655),10165=>array(51,173,710,454),10166=>array(73,-29,614,572),10167=>array(73,55,614,655),10168=>array(51,172,710,455),10169=>array(73,-28,614,572),10170=>array(50,84,710,543),10171=>array(66,140,702,487),10172=>array(71,167,697,460),10173=>array(71,118,697,509),10174=>array(51,81,710,546),10181=>array(0,-163,394,769),10182=>array(-35,-163,427,769),10208=>array(2,-233,442,807),10214=>array(6,-132,448,760),10215=>array(6,-132,448,760),10216=>array(94,-132,417,759),10217=>array(-6,-132,317,759),10218=>array(94,-132,655,759),10219=>array(-6,-132,554,759),10224=>array(37,0,717,732),10225=>array(38,-3,718,729),10226=>array(8,45,734,685),10227=>array(20,45,747,685),10228=>array(51,-14,998,643),10229=>array(44,87,1239,540),10230=>array(51,87,1247,540),10231=>array(44,87,1247,540),10232=>array(44,87,1239,540),10233=>array(51,87,1247,540),10234=>array(44,87,1247,540),10235=>array(44,87,1239,540),10236=>array(51,87,1247,540),10237=>array(44,87,1239,540),10238=>array(51,87,1247,540),10239=>array(51,87,1247,540),10241=>array(132,586,308,781),10242=>array(132,325,308,521),10243=>array(132,325,308,781),10244=>array(132,65,308,261),10245=>array(132,65,308,781),10246=>array(132,65,308,521),10247=>array(132,65,308,781),10248=>array(396,586,571,781),10249=>array(132,586,571,781),10250=>array(132,325,571,781),10251=>array(132,325,571,781),10252=>array(132,65,571,781),10253=>array(132,65,571,781),10254=>array(132,65,571,781),10255=>array(132,65,571,781),10256=>array(396,325,571,521),10257=>array(132,325,571,781),10258=>array(132,325,571,521),10259=>array(132,325,571,781),10260=>array(132,65,571,521),10261=>array(132,65,571,781),10262=>array(132,65,571,521),10263=>array(132,65,571,781),10264=>array(396,325,571,781),10265=>array(132,325,571,781),10266=>array(132,325,571,781),10267=>array(132,325,571,781),10268=>array(132,65,571,781),10269=>array(132,65,571,781),10270=>array(132,65,571,781),10271=>array(132,65,571,781),10272=>array(396,65,571,261),10273=>array(132,65,571,781),10274=>array(132,65,571,521),10275=>array(132,65,571,781),10276=>array(132,65,571,261),10277=>array(132,65,571,781),10278=>array(132,65,571,521),10279=>array(132,65,571,781),10280=>array(396,65,571,781),10281=>array(132,65,571,781),10282=>array(132,65,571,781),10283=>array(132,65,571,781),10284=>array(132,65,571,781),10285=>array(132,65,571,781),10286=>array(132,65,571,781),10287=>array(132,65,571,781),10288=>array(396,65,571,521),10289=>array(132,65,571,781),10290=>array(132,65,571,521),10291=>array(132,65,571,781),10292=>array(132,65,571,521),10293=>array(132,65,571,781),10294=>array(132,65,571,521),10295=>array(132,65,571,781),10296=>array(396,65,571,781),10297=>array(132,65,571,781),10298=>array(132,65,571,781),10299=>array(132,65,571,781),10300=>array(132,65,571,781),10301=>array(132,65,571,781),10302=>array(132,65,571,781),10303=>array(132,65,571,781),10304=>array(132,-195,308,0),10305=>array(132,-195,308,781),10306=>array(132,-195,308,521),10307=>array(132,-195,308,781),10308=>array(132,-195,308,261),10309=>array(132,-195,308,781),10310=>array(132,-195,308,521),10311=>array(132,-195,308,781),10312=>array(132,-195,571,781),10313=>array(132,-195,571,781),10314=>array(132,-195,571,781),10315=>array(132,-195,571,781),10316=>array(132,-195,571,781),10317=>array(132,-195,571,781),10318=>array(132,-195,571,781),10319=>array(132,-195,571,781),10320=>array(132,-195,571,521),10321=>array(132,-195,571,781),10322=>array(132,-195,571,521),10323=>array(132,-195,571,781),10324=>array(132,-195,571,521),10325=>array(132,-195,571,781),10326=>array(132,-195,571,521),10327=>array(132,-195,571,781),10328=>array(132,-195,571,781),10329=>array(132,-195,571,781),10330=>array(132,-195,571,781),10331=>array(132,-195,571,781),10332=>array(132,-195,571,781),10333=>array(132,-195,571,781),10334=>array(132,-195,571,781),10335=>array(132,-195,571,781),10336=>array(132,-195,571,261),10337=>array(132,-195,571,781),10338=>array(132,-195,571,521),10339=>array(132,-195,571,781),10340=>array(132,-195,571,261),10341=>array(132,-195,571,781),10342=>array(132,-195,571,521),10343=>array(132,-195,571,781),10344=>array(132,-195,571,781),10345=>array(132,-195,571,781),10346=>array(132,-195,571,781),10347=>array(132,-195,571,781),10348=>array(132,-195,571,781),10349=>array(132,-195,571,781),10350=>array(132,-195,571,781),10351=>array(132,-195,571,781),10352=>array(132,-195,571,521),10353=>array(132,-195,571,781),10354=>array(132,-195,571,521),10355=>array(132,-195,571,781),10356=>array(132,-195,571,521),10357=>array(132,-195,571,781),10358=>array(132,-195,571,521),10359=>array(132,-195,571,781),10360=>array(132,-195,571,781),10361=>array(132,-195,571,781),10362=>array(132,-195,571,781),10363=>array(132,-195,571,781),10364=>array(132,-195,571,781),10365=>array(132,-195,571,781),10366=>array(132,-195,571,781),10367=>array(132,-195,571,781),10368=>array(396,-195,571,0),10369=>array(132,-195,571,781),10370=>array(132,-195,571,521),10371=>array(132,-195,571,781),10372=>array(132,-195,571,261),10373=>array(132,-195,571,781),10374=>array(132,-195,571,521),10375=>array(132,-195,571,781),10376=>array(396,-195,571,781),10377=>array(132,-195,571,781),10378=>array(132,-195,571,781),10379=>array(132,-195,571,781),10380=>array(132,-195,571,781),10381=>array(132,-195,571,781),10382=>array(132,-195,571,781),10383=>array(132,-195,571,781),10384=>array(396,-195,571,521),10385=>array(132,-195,571,781),10386=>array(132,-195,571,521),10387=>array(132,-195,571,781),10388=>array(132,-195,571,521),10389=>array(132,-195,571,781),10390=>array(132,-195,571,521),10391=>array(132,-195,571,781),10392=>array(396,-195,571,781),10393=>array(132,-195,571,781),10394=>array(132,-195,571,781),10395=>array(132,-195,571,781),10396=>array(132,-195,571,781),10397=>array(132,-195,571,781),10398=>array(132,-195,571,781),10399=>array(132,-195,571,781),10400=>array(396,-195,571,261),10401=>array(132,-195,571,781),10402=>array(132,-195,571,521),10403=>array(132,-195,571,781),10404=>array(132,-195,571,261),10405=>array(132,-195,571,781),10406=>array(132,-195,571,521),10407=>array(132,-195,571,781),10408=>array(396,-195,571,781),10409=>array(132,-195,571,781),10410=>array(132,-195,571,781),10411=>array(132,-195,571,781),10412=>array(132,-195,571,781),10413=>array(132,-195,571,781),10414=>array(132,-195,571,781),10415=>array(132,-195,571,781),10416=>array(396,-195,571,521),10417=>array(132,-195,571,781),10418=>array(132,-195,571,521),10419=>array(132,-195,571,781),10420=>array(132,-195,571,521),10421=>array(132,-195,571,781),10422=>array(132,-195,571,521),10423=>array(132,-195,571,781),10424=>array(396,-195,571,781),10425=>array(132,-195,571,781),10426=>array(132,-195,571,781),10427=>array(132,-195,571,781),10428=>array(132,-195,571,781),10429=>array(132,-195,571,781),10430=>array(132,-195,571,781),10431=>array(132,-195,571,781),10432=>array(132,-195,571,0),10433=>array(132,-195,571,781),10434=>array(132,-195,571,521),10435=>array(132,-195,571,781),10436=>array(132,-195,571,261),10437=>array(132,-195,571,781),10438=>array(132,-195,571,521),10439=>array(132,-195,571,781),10440=>array(132,-195,571,781),10441=>array(132,-195,571,781),10442=>array(132,-195,571,781),10443=>array(132,-195,571,781),10444=>array(132,-195,571,781),10445=>array(132,-195,571,781),10446=>array(132,-195,571,781),10447=>array(132,-195,571,781),10448=>array(132,-195,571,521),10449=>array(132,-195,571,781),10450=>array(132,-195,571,521),10451=>array(132,-195,571,781),10452=>array(132,-195,571,521),10453=>array(132,-195,571,781),10454=>array(132,-195,571,521),10455=>array(132,-195,571,781),10456=>array(132,-195,571,781),10457=>array(132,-195,571,781),10458=>array(132,-195,571,781),10459=>array(132,-195,571,781),10460=>array(132,-195,571,781),10461=>array(132,-195,571,781),10462=>array(132,-195,571,781),10463=>array(132,-195,571,781),10464=>array(132,-195,571,261),10465=>array(132,-195,571,781),10466=>array(132,-195,571,521),10467=>array(132,-195,571,781),10468=>array(132,-195,571,261),10469=>array(132,-195,571,781),10470=>array(132,-195,571,521),10471=>array(132,-195,571,781),10472=>array(132,-195,571,781),10473=>array(132,-195,571,781),10474=>array(132,-195,571,781),10475=>array(132,-195,571,781),10476=>array(132,-195,571,781),10477=>array(132,-195,571,781),10478=>array(132,-195,571,781),10479=>array(132,-195,571,781),10480=>array(132,-195,571,521),10481=>array(132,-195,571,781),10482=>array(132,-195,571,521),10483=>array(132,-195,571,781),10484=>array(132,-195,571,521),10485=>array(132,-195,571,781),10486=>array(132,-195,571,521),10487=>array(132,-195,571,781),10488=>array(132,-195,571,781),10489=>array(132,-195,571,781),10490=>array(132,-195,571,781),10491=>array(132,-195,571,781),10492=>array(132,-195,571,781),10493=>array(132,-195,571,781),10494=>array(132,-195,571,781),10495=>array(132,-195,571,781),10502=>array(44,87,703,540),10503=>array(51,87,710,540),10506=>array(119,0,637,732),10507=>array(119,0,637,732),10560=>array(78,45,653,853),10561=>array(78,45,653,853),10627=>array(105,-163,646,760),10628=>array(31,-163,573,760),10702=>array(95,-258,659,800),10703=>array(95,-1,847,628),10704=>array(95,-1,847,628),10705=>array(95,-48,805,674),10706=>array(95,-48,805,674),10707=>array(95,-48,805,674),10708=>array(95,-48,805,675),10709=>array(95,-48,805,675),10731=>array(2,-233,442,807),10746=>array(95,0,659,627),10747=>array(95,0,659,627),10752=>array(25,-211,875,734),10753=>array(25,-211,875,734),10754=>array(25,-211,875,734),10764=>array(13,-227,1482,754),10765=>array(13,-227,493,754),10766=>array(13,-227,493,754),10767=>array(13,-227,493,754),10768=>array(13,-227,493,754),10769=>array(13,-227,519,754),10770=>array(13,-227,493,754),10771=>array(13,-227,493,754),10772=>array(13,-228,586,754),10773=>array(13,-227,493,754),10774=>array(13,-227,493,754),10775=>array(-27,-227,500,754),10776=>array(13,-227,493,754),10777=>array(13,-227,493,754),10778=>array(13,-227,493,754),10779=>array(13,-227,493,898),10780=>array(13,-372,493,754),10799=>array(112,20,642,607),10858=>array(95,212,659,660),10859=>array(95,-34,659,660),10877=>array(95,-150,659,632),10878=>array(95,-150,659,632),10879=>array(95,-150,659,632),10880=>array(95,-150,659,632),10881=>array(95,-150,659,688),10882=>array(95,-150,659,688),10883=>array(95,-150,659,827),10884=>array(95,-150,659,827),10885=>array(95,-217,659,630),10886=>array(95,-217,659,630),10887=>array(95,-124,659,582),10888=>array(95,-124,659,582),10889=>array(95,-281,659,630),10890=>array(95,-281,659,630),10891=>array(95,-303,659,814),10892=>array(95,-303,659,814),10893=>array(95,-183,659,653),10894=>array(95,-183,659,653),10895=>array(95,-245,659,765),10896=>array(95,-245,659,765),10897=>array(96,-278,659,782),10898=>array(96,-278,659,782),10899=>array(95,-263,659,771),10900=>array(95,-263,659,771),10901=>array(95,-50,659,733),10902=>array(95,-50,659,733),10903=>array(95,-50,659,733),10904=>array(95,-50,659,733),10905=>array(96,-45,659,678),10906=>array(96,-45,659,678),10907=>array(95,-81,659,724),10908=>array(95,-81,659,724),10909=>array(95,13,659,680),10910=>array(95,13,659,680),10911=>array(95,-239,659,746),10912=>array(95,-239,659,746),10926=>array(95,22,659,656),10927=>array(95,-83,659,684),10928=>array(95,-83,659,684),10929=>array(95,-246,659,684),10930=>array(95,-246,659,684),10931=>array(95,-205,659,672),10932=>array(95,-205,659,672),10933=>array(95,-304,659,672),10934=>array(95,-304,659,672),10935=>array(95,-252,659,713),10936=>array(95,-252,659,713),10937=>array(95,-316,659,713),10938=>array(95,-316,659,713),11001=>array(95,-195,659,609),11002=>array(95,-195,659,609),11008=>array(110,-23,670,598),11009=>array(84,-23,644,598),11010=>array(110,-23,670,598),11011=>array(84,-23,644,598),11012=>array(24,46,710,581),11013=>array(24,46,703,581),11014=>array(136,0,618,754),11015=>array(136,-25,618,729),11016=>array(110,-23,670,598),11017=>array(84,-23,644,598),11018=>array(110,-23,670,598),11019=>array(84,-23,644,598),11020=>array(24,46,710,581),11021=>array(136,-25,618,754),11022=>array(51,-25,721,372),11023=>array(51,255,721,652),11024=>array(34,-25,703,372),11025=>array(34,255,703,652),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11039=>array(16,-26,767,767),11040=>array(16,-26,767,767),11041=>array(66,-91,720,748),11042=>array(66,-91,720,748),11043=>array(15,-35,771,692),11044=>array(49,-250,958,770),11091=>array(34,-47,749,788),11092=>array(34,-47,749,788),11360=>array(-22,0,510,729),11361=>array(-31,0,352,760),11362=>array(-25,0,510,729),11363=>array(16,0,645,729),11364=>array(48,-200,638,729),11365=>array(-19,-46,623,594),11366=>array(-5,-93,478,822),11367=>array(32,-157,813,729),11368=>array(21,-138,693,760),11369=>array(32,-157,770,729),11370=>array(21,-138,638,760),11371=>array(-10,-157,680,729),11372=>array(4,-138,545,547),11373=>array(43,-14,756,741),11374=>array(36,-200,894,729),11375=>array(68,0,756,729),11376=>array(-21,-14,702,741),11377=>array(60,0,718,560),11378=>array(89,0,1137,742),11379=>array(78,0,968,560),11380=>array(40,0,618,586),11381=>array(19,0,561,729),11382=>array(27,0,444,547),11383=>array(57,0,652,552),11385=>array(9,-13,476,760),11386=>array(39,-14,580,560),11387=>array(22,0,468,547),11388=>array(-67,-121,197,425),11389=>array(38,326,472,734),11390=>array(33,-240,619,742),11391=>array(-2,-240,687,729),11520=>array(37,-64,574,547),11521=>array(-11,-232,597,546),11522=>array(25,-232,572,547),11523=>array(38,-10,581,807),11524=>array(26,-228,578,546),11525=>array(19,-228,915,546),11526=>array(66,-8,627,816),11527=>array(27,-9,903,547),11528=>array(38,0,556,547),11529=>array(26,-227,579,816),11530=>array(18,-9,913,546),11531=>array(31,-8,619,816),11532=>array(18,0,590,816),11533=>array(27,-8,923,546),11534=>array(26,-8,600,546),11535=>array(49,-228,787,816),11536=>array(27,-9,905,816),11537=>array(26,-9,602,816),11538=>array(23,-232,569,546),11539=>array(26,-228,922,661),11540=>array(36,-228,882,546),11541=>array(23,-228,909,816),11542=>array(22,0,591,546),11543=>array(26,-228,602,547),11544=>array(26,-232,598,546),11545=>array(24,-228,591,816),11546=>array(23,-232,569,547),11547=>array(36,-9,626,816),11548=>array(22,-228,917,547),11549=>array(21,-232,577,546),11550=>array(28,-232,609,546),11551=>array(14,-228,588,567),11552=>array(22,-9,938,546),11553=>array(27,-228,583,816),11554=>array(34,-9,563,626),11555=>array(35,-228,593,816),11556=>array(26,-228,649,546),11557=>array(36,-8,884,816),11800=>array(33,-13,445,729),11807=>array(95,-34,659,415),11810=>array(69,314,419,760),11811=>array(111,314,404,760),11812=>array(-9,-132,283,314),11813=>array(-25,-132,326,314),11822=>array(93,0,522,742),19904=>array(75,-158,732,729),19905=>array(75,-158,732,729),19906=>array(75,-158,732,729),19907=>array(75,-158,732,729),19908=>array(75,-158,732,729),19909=>array(75,-158,732,729),19910=>array(75,-158,732,729),19911=>array(75,-158,732,729),19912=>array(75,-158,732,729),19913=>array(75,-158,733,729),19914=>array(75,-158,732,729),19915=>array(75,-158,732,729),19916=>array(75,-158,732,729),19917=>array(75,-158,732,729),19918=>array(75,-158,732,729),19919=>array(75,-158,732,729),19920=>array(75,-158,733,729),19921=>array(75,-158,732,729),19922=>array(75,-158,733,729),19923=>array(75,-158,732,729),19924=>array(75,-158,732,729),19925=>array(75,-158,732,729),19926=>array(75,-158,732,729),19927=>array(75,-158,732,729),19928=>array(75,-158,732,729),19929=>array(75,-158,732,729),19930=>array(75,-158,732,729),19931=>array(75,-158,733,729),19932=>array(75,-158,732,729),19933=>array(75,-158,732,729),19934=>array(75,-158,733,729),19935=>array(75,-158,732,729),19936=>array(75,-158,732,729),19937=>array(75,-158,732,729),19938=>array(75,-158,732,729),19939=>array(75,-158,732,729),19940=>array(75,-158,732,729),19941=>array(75,-158,733,729),19942=>array(75,-158,732,729),19943=>array(75,-158,732,729),19944=>array(75,-158,733,729),19945=>array(75,-158,732,729),19946=>array(75,-158,733,729),19947=>array(75,-158,732,729),19948=>array(75,-158,733,729),19949=>array(75,-158,732,729),19950=>array(75,-158,733,729),19951=>array(75,-158,732,729),19952=>array(75,-158,733,729),19953=>array(75,-158,732,729),19954=>array(75,-158,732,729),19955=>array(75,-158,732,729),19956=>array(75,-158,732,729),19957=>array(75,-158,733,729),19958=>array(75,-158,732,729),19959=>array(75,-158,732,729),19960=>array(75,-158,732,729),19961=>array(75,-158,733,729),19962=>array(75,-158,732,729),19963=>array(75,-158,733,729),19964=>array(75,-158,733,729),19965=>array(75,-158,732,729),19966=>array(75,-158,732,729),19967=>array(75,-158,732,729),42192=>array(19,0,629,729),42193=>array(19,0,647,729),42194=>array(15,0,641,729),42195=>array(19,0,708,729),42196=>array(43,0,673,729),42197=>array(-59,0,571,729),42198=>array(32,-14,700,742),42199=>array(19,0,753,729),42200=>array(-59,0,679,729),42201=>array(6,-14,523,729),42202=>array(32,-14,652,742),42203=>array(-12,-14,607,742),42204=>array(-23,0,667,729),42205=>array(19,0,603,729),42206=>array(19,0,603,729),42207=>array(19,0,877,729),42208=>array(19,0,734,729),42209=>array(19,0,510,729),42210=>array(13,-14,599,742),42211=>array(19,0,617,729),42212=>array(73,0,674,729),42213=>array(-60,0,628,729),42214=>array(68,0,756,729),42215=>array(19,0,734,729),42216=>array(4,-14,672,742),42217=>array(17,0,533,743),42218=>array(96,0,1029,729),42219=>array(-46,0,731,729),42220=>array(57,0,729,729),42221=>array(60,0,667,729),42222=>array(-59,0,622,729),42223=>array(68,0,756,729),42224=>array(19,0,603,729),42225=>array(12,0,596,729),42226=>array(19,0,316,729),42227=>array(32,-14,733,742),42228=>array(61,-14,712,729),42229=>array(18,0,660,743),42230=>array(8,0,499,729),42231=>array(43,0,729,729),42232=>array(15,0,207,189),42233=>array(-57,-142,205,189),42234=>array(15,0,523,189),42235=>array(15,-142,521,189),42236=>array(-67,-142,256,547),42237=>array(1,0,256,547),42238=>array(79,0,499,405),42239=>array(35,134,495,492),42564=>array(-1,-14,568,742),42565=>array(-6,-14,480,560),42566=>array(66,0,346,729),42567=>array(66,-1,293,547),42572=>array(33,-14,1213,654),42573=>array(28,-13,1016,547),42576=>array(83,0,1092,729),42577=>array(46,0,901,547),42580=>array(40,-14,1038,742),42581=>array(33,-14,848,560),42582=>array(19,0,916,729),42583=>array(27,-14,815,560),42594=>array(-23,-157,1029,729),42595=>array(-9,-138,870,547),42596=>array(-22,0,1026,729),42597=>array(1,0,848,547),42598=>array(19,0,1173,729),42599=>array(25,0,921,547),42600=>array(32,-14,733,742),42601=>array(32,-14,586,560),42602=>array(44,-14,889,742),42603=>array(39,-14,743,560),42604=>array(44,-14,1221,742),42605=>array(39,-14,957,560),42606=>array(25,-208,839,743),42634=>array(43,-200,777,729),42635=>array(30,-216,605,547),42636=>array(43,0,673,729),42637=>array(30,0,563,547),42644=>array(95,0,714,729),42645=>array(9,0,563,760),42760=>array(131,0,424,693),42761=>array(105,0,424,693),42762=>array(79,0,424,693),42763=>array(52,0,424,693),42764=>array(26,0,424,693),42765=>array(26,0,424,693),42766=>array(26,0,398,693),42767=>array(26,0,372,693),42768=>array(26,0,345,693),42769=>array(26,0,319,693),42770=>array(26,0,424,693),42771=>array(26,0,398,693),42772=>array(26,0,372,693),42773=>array(26,0,345,693),42774=>array(26,0,319,693),42779=>array(162,326,418,736),42780=>array(127,324,384,734),42781=>array(136,326,308,734),42782=>array(136,326,308,734),42783=>array(79,0,250,408),42786=>array(27,0,389,729),42787=>array(34,0,333,547),42788=>array(49,224,477,742),42789=>array(49,42,477,560),42790=>array(36,-200,752,729),42791=>array(28,-216,581,760),42792=>array(62,-216,886,729),42793=>array(43,-215,729,702),42794=>array(33,-14,587,742),42795=>array(-2,-202,465,560),42800=>array(35,0,474,547),42801=>array(9,-14,504,560),42802=>array(-60,0,1146,729),42803=>array(20,-14,883,560),42804=>array(-59,-14,1124,742),42805=>array(15,-14,926,560),42806=>array(-59,-14,1102,729),42807=>array(15,-14,919,560),42808=>array(-60,0,1031,729),42809=>array(20,-14,865,560),42810=>array(-60,0,1031,729),42811=>array(20,-14,865,560),42812=>array(-41,-216,1010,729),42813=>array(37,-216,882,560),42814=>array(-12,-14,603,742),42815=>array(-7,-14,483,560),42816=>array(19,0,753,729),42817=>array(27,0,645,760),42822=>array(72,0,701,729),42823=>array(62,0,425,760),42824=>array(59,0,551,729),42825=>array(72,0,468,760),42826=>array(4,-14,823,742),42827=>array(-4,-14,739,560),42830=>array(44,-14,1221,742),42831=>array(39,-14,957,560),42832=>array(-38,0,650,729),42833=>array(-73,-208,611,560),42834=>array(-1,0,844,729),42835=>array(0,-208,810,560),42838=>array(35,-188,729,742),42839=>array(30,-208,614,559),42852=>array(19,0,628,729),42853=>array(-10,-208,611,760),42854=>array(-45,0,628,729),42855=>array(-74,-208,611,760),42880=>array(63,0,555,729),42881=>array(9,-208,299,547),42882=>array(-8,-208,698,742),42883=>array(-9,-208,589,560),42889=>array(37,0,291,547),42890=>array(57,141,300,405),42891=>array(127,245,349,729),42892=>array(62,458,214,729),42893=>array(90,0,708,729),42894=>array(83,-216,552,760),42896=>array(19,-157,742,729),42897=>array(27,-138,626,560),42912=>array(-15,-14,754,742),42913=>array(-18,-216,662,559),42914=>array(-14,0,753,729),42915=>array(-17,0,645,760),42916=>array(-15,0,769,729),42917=>array(-18,0,659,560),42918=>array(-14,0,707,729),42919=>array(-13,0,491,560),42920=>array(-13,-14,661,742),42921=>array(-15,-14,551,560),42922=>array(-33,0,778,729),43002=>array(27,0,923,547),43003=>array(83,0,596,729),43004=>array(59,0,641,729),43005=>array(19,0,876,729),43006=>array(1,0,333,928),43007=>array(-36,0,1229,729),61184=>array(127,602,346,693),61185=>array(75,451,365,693),61186=>array(26,301,387,693),61187=>array(-11,150,396,693),61188=>array(-43,0,401,693),61189=>array(90,451,339,693),61190=>array(101,451,320,543),61191=>array(48,301,339,543),61192=>array(0,150,361,543),61193=>array(-37,0,370,543),61194=>array(74,301,334,693),61195=>array(63,301,313,543),61196=>array(74,301,293,393),61197=>array(22,150,313,393),61198=>array(-26,0,334,393),61199=>array(67,150,317,693),61200=>array(47,149,308,542),61201=>array(37,150,286,393),61202=>array(48,150,267,242),61203=>array(-4,0,286,242),61204=>array(65,0,296,693),61205=>array(41,0,291,543),61206=>array(21,0,282,393),61207=>array(11,0,260,242),61208=>array(22,0,241,92),61209=>array(26,0,230,693),62464=>array(76,-14,553,819),62465=>array(81,-15,549,823),62466=>array(78,-14,587,828),62467=>array(111,0,858,828),62468=>array(71,-15,611,828),62469=>array(73,-15,592,828),62470=>array(116,-15,610,828),62471=>array(83,-14,854,828),62472=>array(88,0,580,828),62473=>array(71,-14,616,820),62474=>array(125,-6,1096,828),62475=>array(73,-14,606,828),62476=>array(79,-15,607,820),62477=>array(97,0,844,828),62478=>array(70,-15,589,819),62479=>array(79,-15,650,840),62480=>array(89,0,844,828),62481=>array(88,-14,556,819),62482=>array(87,-14,707,828),62483=>array(72,-14,612,828),62484=>array(122,-14,853,828),62485=>array(70,-14,646,819),62486=>array(101,0,867,828),62487=>array(66,-14,646,820),62488=>array(65,-14,605,828),62489=>array(36,0,564,828),62490=>array(89,-15,644,820),62491=>array(78,-14,646,819),62492=>array(81,-14,656,828),62493=>array(70,-14,647,820),62494=>array(84,-14,557,819),62495=>array(26,-14,561,828),62496=>array(73,-15,593,828),62497=>array(79,-15,609,828),62498=>array(12,-73,593,828),62499=>array(69,-15,647,830),62500=>array(70,-15,653,828),62501=>array(68,-14,659,828),62502=>array(114,-14,915,828),62504=>array(36,-228,884,816),62505=>array(43,-223,739,843),62506=>array(73,-14,509,761),62507=>array(73,-14,510,773),62508=>array(73,-14,528,866),62509=>array(73,-14,561,812),62510=>array(73,-14,544,877),62511=>array(73,-14,520,803),62512=>array(27,-232,517,761),62513=>array(27,-232,568,793),62514=>array(27,-232,584,891),62515=>array(27,-232,541,803),62516=>array(72,0,531,761),62517=>array(72,0,573,793),62518=>array(72,0,541,803),62519=>array(87,-0,732,761),62520=>array(87,-0,732,773),62521=>array(87,-0,732,884),62522=>array(87,-0,732,793),62523=>array(87,-0,732,803),62524=>array(68,-232,559,761),62525=>array(68,-232,559,773),62526=>array(68,-232,567,894),62527=>array(68,-232,572,793),62528=>array(68,-232,559,803),62529=>array(68,-232,559,844),62917=>array(14,-14,583,760),64256=>array(44,0,824,760),64257=>array(44,0,718,760),64258=>array(44,0,718,760),64259=>array(44,0,1015,760),64260=>array(44,0,1016,760),64261=>array(41,0,752,760),64262=>array(7,-14,943,742),64275=>array(42,-14,1201,760),64276=>array(42,-14,1201,760),64277=>array(59,-208,1180,760),64278=>array(59,-208,1217,760),64279=>array(59,-208,1514,760),64285=>array(88,38,301,547),64286=>array(174,635,472,780),64287=>array(88,36,589,547),64288=>array(34,0,627,547),64289=>array(107,0,834,547),64290=>array(114,0,754,547),64291=>array(90,0,756,547),64292=>array(39,0,711,547),64293=>array(114,0,753,739),64294=>array(82,0,757,547),64295=>array(114,0,714,547),64296=>array(43,-4,718,547),64297=>array(140,256,724,627),64298=>array(80,0,771,710),64299=>array(80,0,771,723),64300=>array(80,0,771,710),64301=>array(80,0,771,710),64302=>array(94,-171,657,547),64303=>array(94,-217,657,547),64304=>array(94,-171,657,547),64305=>array(39,0,531,547),64306=>array(40,-9,385,547),64307=>array(114,0,586,547),64308=>array(90,0,595,547),64309=>array(66,0,407,547),64310=>array(66,0,494,547),64312=>array(127,-13,608,553),64313=>array(90,164,428,547),64314=>array(114,-240,494,547),64315=>array(39,0,513,547),64316=>array(114,0,570,711),64318=>array(76,0,621,554),64320=>array(39,0,387,547),64321=>array(130,-13,610,547),64323=>array(142,-240,577,547),64324=>array(82,0,590,547),64326=>array(48,0,604,547),64327=>array(46,-240,690,546),64328=>array(114,0,517,547),64329=>array(80,0,771,547),64330=>array(10,-4,585,547),64331=>array(82,0,323,710),64332=>array(39,0,531,710),64333=>array(39,0,513,710),64334=>array(82,0,590,710),64335=>array(42,0,659,729),65056=>array(-249,735,154,880),65057=>array(141,735,507,880),65058=>array(-193,756,152,894),65059=>array(136,756,482,894),65533=>array(89,-139,1048,926),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>313,33=>410,34=>469,35=>626,36=>626,37=>901,38=>785,39=>275,40=>411,41=>411,42=>470,43=>754,44=>342,45=>374,46=>342,47=>329,48=>626,49=>626,50=>626,51=>626,52=>626,53=>626,54=>626,55=>626,56=>626,57=>626,58=>360,59=>360,60=>754,61=>754,62=>754,63=>522,64=>900,65=>696,66=>686,67=>660,68=>747,69=>615,70=>615,71=>738,72=>753,73=>334,74=>334,75=>697,76=>573,77=>896,78=>753,79=>765,80=>659,81=>765,82=>693,83=>648,84=>614,85=>730,86=>696,87=>993,88=>694,89=>651,90=>652,91=>411,92=>329,93=>411,94=>754,95=>450,96=>450,97=>607,98=>644,99=>533,100=>644,101=>610,102=>391,103=>644,104=>641,105=>308,106=>308,107=>598,108=>308,109=>938,110=>641,111=>618,112=>644,113=>644,114=>444,115=>536,116=>430,117=>641,118=>586,119=>831,120=>580,121=>586,122=>523,123=>641,124=>329,125=>641,126=>754,160=>313,161=>410,162=>626,163=>626,164=>572,165=>626,166=>329,167=>450,168=>450,169=>900,170=>507,171=>584,172=>754,173=>374,174=>900,175=>450,176=>450,177=>754,178=>394,179=>394,180=>450,181=>662,182=>572,183=>342,184=>450,185=>394,186=>507,187=>584,188=>932,189=>932,190=>932,191=>522,192=>696,193=>696,194=>696,195=>696,196=>696,197=>696,198=>976,199=>660,200=>615,201=>615,202=>615,203=>615,204=>334,205=>334,206=>334,207=>334,208=>760,209=>753,210=>765,211=>765,212=>765,213=>765,214=>765,215=>754,216=>765,217=>730,218=>730,219=>730,220=>730,221=>651,222=>668,223=>647,224=>607,225=>607,226=>607,227=>607,228=>607,229=>607,230=>943,231=>533,232=>610,233=>610,234=>610,235=>610,236=>308,237=>308,238=>308,239=>308,240=>618,241=>641,242=>618,243=>618,244=>618,245=>618,246=>618,247=>754,248=>618,249=>641,250=>641,251=>641,252=>641,253=>586,254=>644,255=>586,256=>696,257=>607,258=>696,259=>607,260=>696,261=>607,262=>660,263=>533,264=>660,265=>533,266=>660,267=>533,268=>660,269=>533,270=>747,271=>644,272=>760,273=>644,274=>615,275=>610,276=>615,277=>610,278=>615,279=>610,280=>615,281=>610,282=>615,283=>610,284=>738,285=>644,286=>738,287=>644,288=>738,289=>644,290=>738,291=>644,292=>753,293=>641,294=>876,295=>711,296=>334,297=>308,298=>334,299=>308,300=>334,301=>308,302=>334,303=>308,304=>334,305=>308,306=>669,307=>617,308=>334,309=>308,310=>697,311=>598,312=>598,313=>573,314=>308,315=>573,316=>308,317=>573,318=>308,319=>573,320=>308,321=>594,322=>337,323=>753,324=>641,325=>753,326=>641,327=>753,328=>641,329=>884,330=>753,331=>641,332=>765,333=>618,334=>765,335=>618,336=>765,337=>618,338=>1050,339=>984,340=>693,341=>444,342=>693,343=>444,344=>693,345=>444,346=>648,347=>536,348=>648,349=>536,350=>648,351=>536,352=>648,353=>536,354=>614,355=>430,356=>614,357=>430,358=>614,359=>430,360=>730,361=>641,362=>730,363=>641,364=>730,365=>641,366=>730,367=>641,368=>730,369=>641,370=>730,371=>641,372=>993,373=>831,374=>651,375=>586,376=>651,377=>652,378=>523,379=>652,380=>523,381=>652,382=>523,383=>391,384=>644,385=>729,386=>686,387=>644,388=>686,389=>644,390=>660,391=>660,392=>533,393=>760,394=>791,395=>686,396=>644,397=>618,398=>615,399=>765,400=>626,401=>615,402=>391,403=>738,404=>713,405=>940,406=>392,407=>350,408=>697,409=>598,410=>324,411=>532,412=>938,413=>753,414=>641,415=>765,416=>765,417=>618,418=>1002,419=>866,420=>703,421=>644,422=>693,423=>648,424=>536,425=>615,426=>497,427=>430,428=>636,429=>430,430=>614,431=>730,432=>641,433=>692,434=>732,435=>717,436=>700,437=>652,438=>523,439=>695,440=>695,441=>576,442=>523,443=>626,444=>695,445=>576,446=>515,447=>644,448=>334,449=>593,450=>489,451=>334,452=>1393,453=>1305,454=>1176,455=>879,456=>881,457=>603,458=>1074,459=>1091,460=>957,461=>696,462=>607,463=>334,464=>308,465=>765,466=>618,467=>730,468=>641,469=>730,470=>641,471=>730,472=>641,473=>730,474=>641,475=>730,476=>641,477=>610,478=>696,479=>607,480=>696,481=>607,482=>976,483=>943,484=>738,485=>644,486=>738,487=>644,488=>697,489=>598,490=>765,491=>618,492=>765,493=>618,494=>695,495=>523,496=>308,497=>1393,498=>1305,499=>1176,500=>738,501=>644,502=>1160,503=>708,504=>753,505=>641,506=>696,507=>607,508=>976,509=>943,510=>765,511=>618,512=>696,513=>607,514=>696,515=>607,516=>615,517=>610,518=>615,519=>610,520=>334,521=>308,522=>334,523=>308,524=>765,525=>618,526=>765,527=>618,528=>693,529=>444,530=>693,531=>444,532=>730,533=>641,534=>730,535=>641,536=>648,537=>536,538=>614,539=>430,540=>621,541=>546,542=>753,543=>641,544=>753,545=>778,546=>728,547=>593,548=>652,549=>523,550=>696,551=>607,552=>615,553=>610,554=>765,555=>618,556=>765,557=>618,558=>765,559=>618,560=>765,561=>618,562=>651,563=>586,564=>442,565=>780,566=>460,567=>308,568=>979,569=>979,570=>696,571=>660,572=>533,573=>573,574=>614,575=>536,576=>523,577=>703,578=>553,579=>686,580=>730,581=>696,582=>615,583=>610,584=>334,585=>308,586=>774,587=>712,588=>693,589=>444,590=>651,591=>586,592=>607,593=>644,594=>644,595=>644,596=>533,597=>533,598=>712,599=>712,600=>610,601=>610,602=>788,603=>501,604=>490,605=>696,606=>658,607=>308,608=>712,609=>644,610=>564,611=>661,612=>571,613=>641,614=>641,615=>641,616=>491,617=>396,618=>491,619=>502,620=>624,621=>308,622=>757,623=>938,624=>938,625=>938,626=>641,627=>713,628=>578,629=>618,630=>817,631=>613,632=>716,633=>484,634=>484,635=>584,636=>444,637=>444,638=>536,639=>536,640=>578,641=>578,642=>536,643=>374,644=>391,645=>544,646=>497,647=>430,648=>430,649=>828,650=>692,651=>603,652=>586,653=>831,654=>586,655=>651,656=>624,657=>615,658=>576,659=>576,660=>515,661=>515,662=>515,663=>515,664=>765,665=>569,666=>658,667=>616,668=>622,669=>308,670=>659,671=>485,672=>712,673=>515,674=>515,675=>1040,676=>1093,677=>1039,678=>877,679=>691,680=>836,681=>923,682=>776,683=>702,684=>532,685=>374,686=>609,687=>710,688=>410,689=>410,690=>197,691=>284,692=>284,693=>284,694=>369,695=>532,696=>375,697=>271,698=>469,699=>342,700=>342,701=>342,702=>330,703=>330,704=>293,705=>293,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>275,713=>450,714=>450,715=>450,716=>275,717=>450,718=>450,719=>450,720=>303,721=>303,722=>330,723=>330,724=>450,725=>450,726=>374,727=>295,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>315,735=>450,736=>370,737=>197,738=>343,739=>371,740=>293,741=>450,742=>450,743=>450,744=>450,745=>450,748=>450,749=>450,750=>580,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>628,881=>508,882=>919,883=>752,884=>271,885=>271,886=>753,887=>630,890=>450,891=>533,892=>495,893=>494,894=>360,900=>397,901=>450,902=>717,903=>342,904=>761,905=>908,906=>507,908=>801,910=>882,911=>804,912=>351,913=>696,914=>686,915=>573,916=>696,917=>615,918=>652,919=>753,920=>765,921=>334,922=>697,923=>696,924=>896,925=>753,926=>568,927=>765,928=>753,929=>659,931=>615,932=>614,933=>651,934=>765,935=>694,936=>765,937=>765,938=>334,939=>651,940=>618,941=>501,942=>641,943=>351,944=>607,945=>618,946=>644,947=>613,948=>618,949=>501,950=>532,951=>641,952=>618,953=>351,954=>639,955=>569,956=>662,957=>613,958=>532,959=>618,960=>712,961=>644,962=>533,963=>701,964=>574,965=>607,966=>704,967=>580,968=>714,969=>782,970=>351,971=>607,972=>618,973=>607,974=>782,975=>697,976=>585,977=>594,978=>671,979=>883,980=>671,981=>716,982=>782,983=>669,984=>765,985=>618,986=>660,987=>533,988=>615,989=>444,990=>632,991=>593,992=>827,993=>564,994=>983,995=>753,996=>749,997=>644,998=>835,999=>669,1000=>660,1001=>585,1002=>709,1003=>604,1004=>677,1005=>644,1006=>614,1007=>531,1008=>669,1009=>644,1010=>533,1011=>308,1012=>765,1013=>580,1014=>580,1015=>668,1016=>644,1017=>660,1018=>896,1019=>659,1020=>644,1021=>660,1022=>660,1023=>628,1024=>615,1025=>615,1026=>791,1027=>573,1028=>660,1029=>648,1030=>334,1031=>334,1032=>334,1033=>1039,1034=>1017,1035=>791,1036=>735,1037=>753,1038=>694,1039=>753,1040=>696,1041=>686,1042=>686,1043=>573,1044=>801,1045=>615,1046=>1102,1047=>639,1048=>753,1049=>753,1050=>735,1051=>747,1052=>896,1053=>753,1054=>765,1055=>753,1056=>659,1057=>660,1058=>614,1059=>694,1060=>892,1061=>694,1062=>835,1063=>727,1064=>1112,1065=>1193,1066=>845,1067=>932,1068=>686,1069=>660,1070=>1056,1071=>693,1072=>607,1073=>628,1074=>569,1075=>470,1076=>727,1077=>610,1078=>896,1079=>523,1080=>630,1081=>630,1082=>611,1083=>659,1084=>735,1085=>622,1086=>618,1087=>622,1088=>644,1089=>533,1090=>521,1091=>586,1092=>893,1093=>580,1094=>667,1095=>618,1096=>956,1097=>995,1098=>676,1099=>813,1100=>569,1101=>533,1102=>875,1103=>578,1104=>610,1105=>610,1106=>642,1107=>470,1108=>533,1109=>536,1110=>308,1111=>308,1112=>308,1113=>892,1114=>860,1115=>661,1116=>611,1117=>630,1118=>586,1119=>622,1120=>983,1121=>782,1122=>756,1123=>662,1124=>911,1125=>755,1126=>893,1127=>749,1128=>1222,1129=>1009,1130=>765,1131=>618,1132=>1112,1133=>906,1134=>626,1135=>501,1136=>967,1137=>955,1138=>765,1139=>618,1140=>765,1141=>625,1142=>765,1143=>625,1144=>1033,1145=>939,1146=>967,1147=>776,1148=>1265,1149=>1055,1150=>983,1151=>782,1152=>660,1153=>533,1154=>587,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>376,1161=>376,1162=>844,1163=>725,1164=>686,1165=>550,1166=>662,1167=>646,1168=>573,1169=>470,1170=>599,1171=>488,1172=>709,1173=>470,1174=>1102,1175=>896,1176=>639,1177=>523,1178=>697,1179=>611,1180=>735,1181=>611,1182=>735,1183=>611,1184=>914,1185=>743,1186=>753,1187=>622,1188=>992,1189=>783,1190=>1129,1191=>880,1192=>851,1193=>773,1194=>660,1195=>533,1196=>614,1197=>521,1198=>651,1199=>586,1200=>651,1201=>586,1202=>694,1203=>580,1204=>993,1205=>901,1206=>727,1207=>618,1208=>727,1209=>618,1210=>727,1211=>641,1212=>923,1213=>729,1214=>923,1215=>729,1216=>334,1217=>1102,1218=>896,1219=>700,1220=>566,1221=>839,1222=>724,1223=>753,1224=>622,1225=>844,1226=>725,1227=>727,1228=>618,1229=>986,1230=>838,1231=>308,1232=>696,1233=>607,1234=>696,1235=>607,1236=>976,1237=>943,1238=>615,1239=>610,1240=>765,1241=>610,1242=>765,1243=>610,1244=>1102,1245=>896,1246=>639,1247=>523,1248=>695,1249=>576,1250=>753,1251=>630,1252=>753,1253=>630,1254=>765,1255=>618,1256=>765,1257=>618,1258=>765,1259=>618,1260=>660,1261=>533,1262=>694,1263=>586,1264=>694,1265=>586,1266=>694,1267=>586,1268=>727,1269=>618,1270=>573,1271=>470,1272=>932,1273=>813,1274=>599,1275=>488,1276=>694,1277=>580,1278=>694,1279=>580,1280=>686,1281=>547,1282=>1043,1283=>804,1284=>1007,1285=>828,1286=>745,1287=>624,1288=>1117,1289=>915,1290=>1160,1291=>912,1292=>755,1293=>574,1294=>844,1295=>722,1296=>626,1297=>501,1298=>747,1299=>659,1300=>1157,1301=>963,1302=>958,1303=>883,1304=>973,1305=>864,1306=>765,1307=>644,1308=>993,1309=>831,1310=>735,1311=>611,1312=>1123,1313=>920,1314=>1128,1315=>880,1316=>861,1317=>726,1329=>813,1330=>729,1331=>728,1332=>731,1333=>729,1334=>733,1335=>651,1336=>720,1337=>903,1338=>728,1339=>666,1340=>558,1341=>961,1342=>787,1343=>713,1344=>650,1345=>729,1346=>715,1347=>704,1348=>780,1349=>689,1350=>715,1351=>708,1352=>730,1353=>677,1354=>867,1355=>711,1356=>780,1357=>730,1358=>715,1359=>693,1360=>666,1361=>698,1362=>576,1363=>833,1364=>698,1365=>763,1366=>855,1369=>330,1370=>342,1371=>308,1372=>374,1373=>313,1374=>461,1375=>468,1377=>938,1378=>642,1379=>704,1380=>708,1381=>642,1382=>643,1383=>565,1384=>642,1385=>756,1386=>704,1387=>642,1388=>309,1389=>984,1390=>637,1391=>642,1392=>642,1393=>603,1394=>642,1395=>642,1396=>642,1397=>308,1398=>642,1399=>486,1400=>642,1401=>366,1402=>938,1403=>572,1404=>666,1405=>642,1406=>642,1407=>934,1408=>642,1409=>643,1410=>479,1411=>934,1412=>647,1413=>620,1414=>813,1415=>812,1417=>360,1418=>374,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>374,1471=>0,1472=>334,1473=>0,1474=>0,1475=>334,1478=>447,1479=>0,1488=>655,1489=>549,1490=>402,1491=>529,1492=>618,1493=>309,1494=>360,1495=>618,1496=>611,1497=>265,1498=>520,1499=>510,1500=>544,1501=>626,1502=>651,1503=>309,1504=>408,1505=>611,1506=>599,1507=>607,1508=>592,1509=>595,1510=>587,1511=>663,1512=>542,1513=>673,1514=>615,1520=>598,1521=>598,1522=>597,1523=>399,1524=>639,3647=>626,3713=>734,3714=>673,3716=>674,3719=>512,3720=>668,3722=>669,3725=>685,3732=>635,3733=>633,3734=>672,3735=>737,3737=>657,3738=>654,3739=>654,3740=>830,3741=>744,3742=>779,3743=>779,3745=>752,3746=>685,3747=>692,3749=>691,3751=>642,3754=>744,3755=>928,3757=>651,3758=>705,3759=>840,3760=>620,3761=>0,3762=>549,3763=>549,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>603,3776=>464,3777=>774,3778=>464,3779=>584,3780=>569,3782=>683,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>694,3793=>694,3794=>624,3795=>752,3796=>655,3797=>655,3798=>764,3799=>710,3800=>683,3801=>818,3804=>1227,3805=>1227,4256=>787,4257=>660,4258=>611,4259=>751,4260=>554,4261=>690,4262=>678,4263=>822,4264=>408,4265=>558,4266=>758,4267=>794,4268=>562,4269=>769,4270=>703,4271=>566,4272=>820,4273=>558,4274=>558,4275=>769,4276=>779,4277=>651,4278=>567,4279=>558,4280=>563,4281=>558,4282=>736,4283=>786,4284=>554,4285=>561,4286=>563,4287=>652,4288=>760,4289=>536,4290=>620,4291=>536,4292=>534,4293=>664,4304=>498,4305=>507,4306=>560,4307=>751,4308=>495,4309=>502,4310=>491,4311=>745,4312=>507,4313=>500,4314=>967,4315=>507,4316=>507,4317=>733,4318=>498,4319=>502,4320=>741,4321=>507,4322=>630,4323=>523,4324=>762,4325=>499,4326=>733,4327=>502,4328=>488,4329=>507,4330=>560,4331=>507,4332=>489,4333=>509,4334=>507,4335=>477,4336=>498,4337=>498,4338=>498,4339=>499,4340=>498,4341=>524,4342=>768,4343=>544,4344=>502,4345=>568,4346=>499,4347=>403,4348=>291,5121=>696,5122=>696,5123=>696,5124=>696,5125=>814,5126=>814,5127=>814,5129=>814,5130=>814,5131=>814,5132=>916,5133=>908,5134=>916,5135=>908,5136=>916,5137=>908,5138=>1034,5139=>1025,5140=>1034,5141=>1025,5142=>814,5143=>1034,5144=>1028,5145=>1034,5146=>1028,5147=>814,5149=>278,5150=>476,5151=>382,5152=>382,5153=>355,5154=>355,5155=>355,5156=>355,5157=>507,5158=>423,5159=>278,5160=>355,5161=>355,5162=>355,5163=>1092,5164=>888,5165=>1094,5166=>1167,5167=>696,5168=>696,5169=>696,5170=>696,5171=>797,5172=>797,5173=>797,5175=>797,5176=>797,5177=>797,5178=>916,5179=>908,5180=>916,5181=>908,5182=>916,5183=>908,5184=>1034,5185=>1025,5186=>1034,5187=>1025,5188=>1034,5189=>1028,5190=>1034,5191=>1028,5192=>797,5193=>518,5194=>206,5196=>730,5197=>730,5198=>730,5199=>730,5200=>734,5201=>734,5202=>734,5204=>734,5205=>734,5206=>734,5207=>950,5208=>943,5209=>950,5210=>943,5211=>950,5212=>943,5213=>954,5214=>949,5215=>954,5216=>949,5217=>954,5218=>946,5219=>954,5220=>946,5221=>954,5222=>435,5223=>904,5224=>904,5225=>921,5226=>915,5227=>668,5228=>668,5229=>668,5230=>668,5231=>668,5232=>668,5233=>668,5234=>668,5235=>668,5236=>926,5237=>877,5238=>882,5239=>877,5240=>882,5241=>877,5242=>926,5243=>877,5244=>926,5245=>877,5246=>882,5247=>877,5248=>882,5249=>877,5250=>882,5251=>451,5252=>451,5253=>844,5254=>844,5255=>844,5256=>844,5257=>668,5258=>668,5259=>668,5260=>668,5261=>668,5262=>668,5263=>668,5264=>668,5265=>668,5266=>926,5267=>877,5268=>926,5269=>877,5270=>926,5271=>877,5272=>926,5273=>877,5274=>926,5275=>877,5276=>926,5277=>877,5278=>926,5279=>877,5280=>926,5281=>451,5282=>451,5283=>563,5284=>563,5285=>563,5286=>563,5287=>563,5288=>563,5289=>563,5290=>563,5291=>563,5292=>793,5293=>769,5294=>777,5295=>786,5296=>777,5297=>786,5298=>793,5299=>786,5300=>793,5301=>786,5302=>777,5303=>786,5304=>777,5305=>786,5306=>777,5307=>392,5308=>493,5309=>392,5312=>889,5313=>889,5314=>889,5315=>889,5316=>838,5317=>838,5318=>838,5319=>838,5320=>838,5321=>1114,5322=>1122,5323=>1080,5324=>1105,5325=>1080,5326=>1105,5327=>838,5328=>593,5329=>447,5330=>593,5331=>889,5332=>889,5333=>889,5334=>889,5335=>838,5336=>838,5337=>838,5338=>838,5339=>838,5340=>1107,5341=>1122,5342=>1155,5343=>1105,5344=>1155,5345=>1105,5346=>1105,5347=>1093,5348=>1105,5349=>1093,5350=>1155,5351=>1105,5352=>1155,5353=>1105,5354=>593,5356=>797,5357=>657,5358=>657,5359=>657,5360=>657,5361=>657,5362=>657,5363=>657,5364=>657,5365=>657,5366=>897,5367=>862,5368=>870,5369=>890,5370=>870,5371=>890,5372=>897,5373=>862,5374=>897,5375=>862,5376=>870,5377=>890,5378=>870,5379=>890,5380=>870,5381=>443,5382=>414,5383=>443,5392=>831,5393=>831,5394=>831,5395=>1022,5396=>1022,5397=>1022,5398=>1022,5399=>1088,5400=>1081,5401=>1088,5402=>1081,5403=>1088,5404=>1081,5405=>1288,5406=>1278,5407=>1288,5408=>1278,5409=>1288,5410=>1278,5411=>1288,5412=>1278,5413=>671,5414=>698,5415=>698,5416=>698,5417=>698,5418=>698,5419=>698,5420=>698,5421=>698,5422=>698,5423=>902,5424=>903,5425=>911,5426=>896,5427=>911,5428=>896,5429=>902,5430=>903,5431=>902,5432=>903,5433=>911,5434=>896,5435=>911,5436=>896,5437=>911,5438=>445,5440=>355,5441=>458,5442=>929,5443=>929,5444=>878,5445=>878,5446=>878,5447=>878,5448=>659,5449=>659,5450=>659,5451=>659,5452=>659,5453=>659,5454=>902,5455=>863,5456=>445,5458=>797,5459=>696,5460=>696,5461=>696,5462=>696,5463=>835,5464=>835,5465=>835,5466=>835,5467=>1055,5468=>1028,5469=>542,5470=>730,5471=>730,5472=>730,5473=>730,5474=>730,5475=>730,5476=>734,5477=>734,5478=>734,5479=>734,5480=>954,5481=>946,5482=>493,5492=>879,5493=>879,5494=>879,5495=>879,5496=>879,5497=>879,5498=>879,5499=>556,5500=>753,5501=>458,5502=>1114,5503=>1114,5504=>1114,5505=>1114,5506=>1114,5507=>1114,5508=>1114,5509=>890,5514=>879,5515=>879,5516=>879,5517=>879,5518=>1432,5519=>1432,5520=>1432,5521=>1165,5522=>1165,5523=>1432,5524=>1432,5525=>763,5526=>1146,5536=>889,5537=>889,5538=>838,5539=>838,5540=>838,5541=>838,5542=>593,5543=>698,5544=>698,5545=>698,5546=>698,5547=>698,5548=>698,5549=>698,5550=>445,5551=>668,5598=>747,5601=>747,5702=>446,5703=>446,5742=>371,5743=>1114,5744=>1432,5745=>1814,5746=>1814,5747=>1548,5748=>1510,5749=>1814,5750=>1814,7424=>586,7425=>750,7426=>943,7427=>547,7428=>533,7429=>608,7430=>608,7431=>502,7432=>501,7433=>308,7434=>444,7435=>598,7436=>485,7437=>735,7438=>630,7439=>618,7440=>533,7441=>594,7442=>594,7443=>594,7444=>984,7446=>618,7447=>618,7448=>500,7449=>578,7450=>578,7451=>521,7452=>571,7453=>663,7454=>853,7455=>625,7456=>586,7457=>831,7458=>523,7459=>581,7462=>485,7463=>586,7464=>622,7465=>500,7466=>703,7467=>659,7468=>438,7469=>615,7470=>432,7472=>470,7473=>387,7474=>387,7475=>465,7476=>474,7477=>211,7478=>211,7479=>439,7480=>361,7481=>563,7482=>474,7483=>474,7484=>481,7485=>458,7486=>415,7487=>436,7488=>387,7489=>460,7490=>625,7491=>412,7492=>412,7493=>431,7494=>641,7495=>431,7496=>431,7497=>431,7498=>431,7499=>347,7500=>347,7501=>431,7502=>197,7503=>438,7504=>597,7505=>410,7506=>439,7507=>372,7508=>439,7509=>439,7510=>431,7511=>349,7512=>410,7513=>416,7514=>597,7515=>451,7517=>405,7518=>386,7519=>389,7520=>443,7521=>365,7522=>197,7523=>284,7524=>410,7525=>451,7526=>405,7527=>386,7528=>405,7529=>443,7530=>365,7543=>644,7544=>474,7547=>491,7549=>672,7557=>462,7579=>431,7580=>372,7581=>372,7582=>439,7583=>347,7584=>339,7585=>313,7586=>431,7587=>410,7588=>312,7589=>253,7590=>312,7591=>312,7592=>388,7593=>293,7594=>296,7595=>333,7596=>598,7597=>597,7598=>505,7599=>505,7600=>403,7601=>439,7602=>488,7603=>379,7604=>356,7605=>349,7606=>524,7607=>444,7608=>359,7609=>405,7610=>451,7611=>375,7612=>471,7613=>422,7614=>409,7615=>382,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>696,7681=>607,7682=>686,7683=>644,7684=>686,7685=>644,7686=>686,7687=>644,7688=>660,7689=>533,7690=>747,7691=>644,7692=>747,7693=>644,7694=>747,7695=>644,7696=>747,7697=>644,7698=>747,7699=>644,7700=>615,7701=>610,7702=>615,7703=>610,7704=>615,7705=>610,7706=>615,7707=>610,7708=>615,7709=>610,7710=>615,7711=>391,7712=>738,7713=>644,7714=>753,7715=>641,7716=>753,7717=>641,7718=>753,7719=>641,7720=>753,7721=>641,7722=>753,7723=>641,7724=>334,7725=>308,7726=>334,7727=>308,7728=>697,7729=>598,7730=>697,7731=>598,7732=>697,7733=>598,7734=>573,7735=>308,7736=>573,7737=>308,7738=>573,7739=>308,7740=>573,7741=>308,7742=>896,7743=>938,7744=>896,7745=>938,7746=>896,7747=>938,7748=>753,7749=>641,7750=>753,7751=>641,7752=>753,7753=>641,7754=>753,7755=>641,7756=>765,7757=>618,7758=>765,7759=>618,7760=>765,7761=>618,7762=>765,7763=>618,7764=>659,7765=>644,7766=>659,7767=>644,7768=>693,7769=>444,7770=>693,7771=>444,7772=>693,7773=>444,7774=>693,7775=>444,7776=>648,7777=>536,7778=>648,7779=>536,7780=>648,7781=>536,7782=>648,7783=>536,7784=>648,7785=>536,7786=>614,7787=>430,7788=>614,7789=>430,7790=>614,7791=>430,7792=>614,7793=>430,7794=>730,7795=>641,7796=>730,7797=>641,7798=>730,7799=>641,7800=>730,7801=>641,7802=>730,7803=>641,7804=>696,7805=>586,7806=>696,7807=>586,7808=>993,7809=>831,7810=>993,7811=>831,7812=>993,7813=>831,7814=>993,7815=>831,7816=>993,7817=>831,7818=>694,7819=>580,7820=>694,7821=>580,7822=>651,7823=>586,7824=>652,7825=>523,7826=>652,7827=>523,7828=>652,7829=>523,7830=>641,7831=>430,7832=>831,7833=>586,7834=>607,7835=>391,7836=>391,7837=>391,7838=>806,7839=>618,7840=>696,7841=>607,7842=>696,7843=>607,7844=>696,7845=>607,7846=>696,7847=>607,7848=>696,7849=>607,7850=>696,7851=>607,7852=>696,7853=>607,7854=>696,7855=>607,7856=>696,7857=>607,7858=>696,7859=>607,7860=>696,7861=>607,7862=>696,7863=>607,7864=>615,7865=>610,7866=>615,7867=>610,7868=>615,7869=>610,7870=>615,7871=>610,7872=>615,7873=>610,7874=>615,7875=>610,7876=>615,7877=>610,7878=>615,7879=>610,7880=>334,7881=>308,7882=>334,7883=>308,7884=>765,7885=>618,7886=>765,7887=>618,7888=>765,7889=>618,7890=>765,7891=>618,7892=>765,7893=>618,7894=>765,7895=>618,7896=>765,7897=>618,7898=>765,7899=>618,7900=>765,7901=>618,7902=>765,7903=>618,7904=>765,7905=>618,7906=>765,7907=>618,7908=>730,7909=>641,7910=>730,7911=>641,7912=>730,7913=>641,7914=>730,7915=>641,7916=>730,7917=>641,7918=>730,7919=>641,7920=>730,7921=>641,7922=>651,7923=>586,7924=>651,7925=>586,7926=>651,7927=>586,7928=>651,7929=>586,7930=>857,7931=>579,7936=>618,7937=>618,7938=>618,7939=>618,7940=>618,7941=>618,7942=>618,7943=>618,7944=>696,7945=>696,7946=>937,7947=>939,7948=>841,7949=>866,7950=>751,7951=>773,7952=>501,7953=>501,7954=>501,7955=>501,7956=>501,7957=>501,7960=>712,7961=>715,7962=>989,7963=>986,7964=>920,7965=>947,7968=>641,7969=>641,7970=>641,7971=>641,7972=>641,7973=>641,7974=>641,7975=>641,7976=>851,7977=>856,7978=>1125,7979=>1125,7980=>1062,7981=>1085,7982=>948,7983=>956,7984=>351,7985=>351,7986=>351,7987=>351,7988=>351,7989=>351,7990=>351,7991=>351,7992=>435,7993=>440,7994=>699,7995=>707,7996=>641,7997=>664,7998=>544,7999=>544,8000=>618,8001=>618,8002=>618,8003=>618,8004=>618,8005=>618,8008=>802,8009=>839,8010=>1099,8011=>1101,8012=>947,8013=>974,8016=>607,8017=>607,8018=>607,8019=>607,8020=>607,8021=>607,8022=>607,8023=>607,8025=>837,8027=>1065,8029=>1079,8031=>944,8032=>782,8033=>782,8034=>782,8035=>782,8036=>782,8037=>782,8038=>782,8039=>782,8040=>817,8041=>862,8042=>1121,8043=>1126,8044=>968,8045=>994,8046=>925,8047=>968,8048=>618,8049=>618,8050=>501,8051=>501,8052=>641,8053=>641,8054=>351,8055=>351,8056=>618,8057=>618,8058=>607,8059=>607,8060=>782,8061=>782,8064=>618,8065=>618,8066=>618,8067=>618,8068=>618,8069=>618,8070=>618,8071=>618,8072=>696,8073=>696,8074=>937,8075=>939,8076=>841,8077=>866,8078=>751,8079=>773,8080=>641,8081=>641,8082=>641,8083=>641,8084=>641,8085=>641,8086=>641,8087=>641,8088=>851,8089=>856,8090=>1125,8091=>1125,8092=>1062,8093=>1085,8094=>948,8095=>956,8096=>782,8097=>782,8098=>782,8099=>782,8100=>782,8101=>782,8102=>782,8103=>782,8104=>817,8105=>862,8106=>1121,8107=>1126,8108=>968,8109=>994,8110=>925,8111=>968,8112=>618,8113=>618,8114=>618,8115=>618,8116=>618,8118=>618,8119=>618,8120=>696,8121=>696,8122=>789,8123=>717,8124=>696,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>641,8131=>641,8132=>641,8134=>641,8135=>641,8136=>836,8137=>761,8138=>972,8139=>908,8140=>753,8141=>450,8142=>450,8143=>450,8144=>351,8145=>351,8146=>351,8147=>351,8150=>351,8151=>351,8152=>334,8153=>334,8154=>559,8155=>507,8157=>450,8158=>450,8159=>450,8160=>607,8161=>607,8162=>607,8163=>607,8164=>644,8165=>644,8166=>607,8167=>607,8168=>651,8169=>651,8170=>918,8171=>882,8172=>754,8173=>450,8174=>450,8175=>450,8178=>782,8179=>782,8180=>782,8182=>782,8183=>782,8184=>958,8185=>801,8186=>976,8187=>804,8188=>765,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>626,8200=>342,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>374,8209=>374,8210=>626,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>342,8217=>342,8218=>342,8219=>342,8220=>580,8221=>580,8222=>580,8223=>591,8224=>450,8225=>450,8226=>575,8227=>575,8228=>342,8229=>616,8230=>900,8231=>313,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1309,8241=>1717,8242=>237,8243=>402,8244=>567,8245=>237,8246=>402,8247=>567,8248=>659,8249=>371,8250=>371,8251=>875,8252=>564,8253=>522,8254=>450,8255=>745,8256=>745,8257=>296,8258=>920,8259=>450,8260=>150,8261=>411,8262=>411,8263=>927,8264=>746,8265=>746,8266=>461,8267=>618,8268=>450,8269=>450,8270=>470,8271=>360,8272=>745,8273=>470,8274=>500,8275=>754,8276=>745,8277=>754,8278=>615,8279=>731,8280=>754,8281=>754,8282=>342,8283=>784,8284=>754,8285=>342,8286=>342,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>394,8305=>197,8308=>394,8309=>394,8310=>394,8311=>394,8312=>394,8313=>394,8314=>475,8315=>475,8316=>475,8317=>259,8318=>259,8319=>410,8320=>394,8321=>394,8322=>394,8323=>394,8324=>394,8325=>394,8326=>394,8327=>394,8328=>394,8329=>394,8330=>475,8331=>475,8332=>475,8333=>259,8334=>259,8336=>412,8337=>431,8338=>439,8339=>371,8340=>431,8341=>410,8342=>438,8343=>197,8344=>597,8345=>410,8346=>431,8347=>343,8348=>349,8352=>836,8353=>626,8354=>626,8355=>626,8356=>626,8357=>938,8358=>753,8359=>1339,8360=>1084,8361=>993,8362=>768,8363=>626,8364=>626,8365=>626,8366=>626,8367=>1252,8368=>626,8369=>626,8370=>626,8371=>626,8372=>773,8373=>626,8376=>626,8377=>626,8378=>692,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>995,8449=>995,8450=>660,8451=>1090,8452=>807,8453=>1002,8454=>1033,8455=>626,8456=>628,8457=>856,8459=>965,8460=>822,8461=>799,8462=>641,8463=>641,8464=>537,8465=>627,8466=>771,8467=>424,8468=>876,8469=>753,8470=>1083,8471=>900,8472=>627,8473=>675,8474=>765,8475=>844,8476=>732,8477=>721,8478=>807,8479=>639,8480=>917,8481=>1115,8482=>900,8483=>751,8484=>679,8485=>560,8486=>765,8487=>692,8488=>686,8489=>272,8490=>697,8491=>696,8492=>835,8493=>736,8494=>769,8495=>572,8496=>656,8497=>727,8498=>615,8499=>1065,8500=>418,8501=>714,8502=>658,8503=>444,8504=>615,8505=>342,8506=>851,8507=>1232,8508=>710,8509=>663,8510=>589,8511=>776,8512=>756,8513=>707,8514=>518,8515=>573,8516=>684,8517=>747,8518=>644,8519=>610,8520=>308,8521=>308,8523=>785,8526=>492,8528=>932,8529=>932,8530=>1334,8531=>932,8532=>932,8533=>932,8534=>932,8535=>932,8536=>932,8537=>932,8538=>932,8539=>932,8540=>932,8541=>932,8542=>932,8543=>554,8544=>334,8545=>593,8546=>851,8547=>989,8548=>696,8549=>989,8550=>1247,8551=>1505,8552=>1008,8553=>694,8554=>1008,8555=>1266,8556=>573,8557=>660,8558=>747,8559=>896,8560=>308,8561=>546,8562=>785,8563=>885,8564=>586,8565=>866,8566=>1104,8567=>1342,8568=>872,8569=>580,8570=>872,8571=>1110,8572=>308,8573=>533,8574=>644,8575=>938,8576=>1160,8577=>747,8578=>1160,8579=>660,8580=>533,8581=>660,8585=>932,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>754,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>696,8705=>626,8706=>489,8707=>615,8708=>615,8709=>771,8710=>627,8711=>627,8712=>807,8713=>807,8714=>675,8715=>807,8716=>807,8717=>675,8718=>572,8719=>708,8720=>708,8721=>646,8722=>754,8723=>754,8724=>626,8725=>329,8726=>626,8727=>754,8728=>563,8729=>342,8730=>600,8731=>600,8732=>600,8733=>641,8734=>750,8735=>754,8736=>807,8737=>807,8738=>754,8739=>450,8740=>450,8741=>450,8742=>450,8743=>730,8744=>730,8745=>730,8746=>730,8747=>549,8748=>835,8749=>1165,8750=>506,8751=>879,8752=>1181,8753=>506,8754=>506,8755=>506,8756=>626,8757=>626,8758=>264,8759=>626,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8766=>754,8767=>754,8768=>337,8769=>754,8770=>754,8771=>754,8772=>754,8773=>754,8774=>754,8775=>754,8776=>754,8777=>754,8778=>754,8779=>754,8780=>754,8781=>754,8782=>754,8783=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>956,8789=>956,8790=>754,8791=>754,8792=>754,8793=>754,8794=>754,8795=>754,8796=>754,8797=>754,8798=>754,8799=>754,8800=>754,8801=>754,8802=>754,8803=>754,8804=>754,8805=>754,8806=>754,8807=>754,8808=>756,8809=>756,8810=>942,8811=>942,8812=>450,8813=>754,8814=>754,8815=>754,8816=>754,8817=>754,8818=>754,8819=>754,8820=>754,8821=>754,8822=>754,8823=>754,8824=>754,8825=>754,8826=>754,8827=>754,8828=>754,8829=>754,8830=>754,8831=>754,8832=>754,8833=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8840=>754,8841=>754,8842=>754,8843=>754,8844=>730,8845=>730,8846=>730,8847=>754,8848=>754,8849=>754,8850=>754,8851=>716,8852=>716,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>822,8867=>822,8868=>822,8869=>822,8870=>488,8871=>488,8872=>822,8873=>822,8874=>822,8875=>822,8876=>822,8877=>822,8878=>822,8879=>822,8880=>754,8881=>754,8882=>754,8883=>754,8884=>754,8885=>754,8886=>900,8887=>900,8888=>754,8889=>754,8890=>488,8891=>730,8892=>730,8893=>730,8894=>754,8895=>754,8896=>758,8897=>758,8898=>758,8899=>758,8900=>444,8901=>342,8902=>563,8903=>754,8904=>900,8905=>900,8906=>900,8907=>900,8908=>900,8909=>754,8910=>730,8911=>730,8912=>754,8913=>754,8914=>754,8915=>754,8916=>754,8917=>754,8918=>754,8919=>754,8920=>1280,8921=>1280,8922=>754,8923=>754,8924=>754,8925=>754,8926=>754,8927=>754,8928=>754,8929=>754,8930=>754,8931=>754,8932=>754,8933=>754,8934=>754,8935=>754,8936=>754,8937=>754,8938=>754,8939=>754,8940=>754,8941=>754,8942=>900,8943=>900,8944=>900,8945=>900,8946=>1042,8947=>807,8948=>675,8949=>807,8950=>807,8951=>675,8952=>807,8953=>807,8954=>1042,8955=>807,8956=>675,8957=>807,8958=>675,8959=>807,8960=>542,8961=>542,8962=>644,8963=>754,8964=>754,8965=>754,8966=>754,8967=>439,8968=>411,8969=>411,8970=>411,8971=>411,8972=>728,8973=>728,8974=>728,8975=>728,8976=>754,8977=>484,8984=>835,8985=>754,8988=>422,8989=>422,8990=>422,8991=>422,8992=>549,8993=>549,8996=>1037,8997=>1037,8998=>1272,8999=>1037,9000=>1299,9003=>1272,9004=>786,9075=>351,9076=>644,9077=>782,9082=>618,9085=>776,9095=>1037,9108=>786,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>549,9166=>754,9167=>850,9187=>786,9189=>692,9192=>626,9250=>644,9251=>644,9312=>762,9313=>762,9314=>762,9315=>762,9316=>762,9317=>762,9318=>762,9319=>762,9320=>762,9321=>762,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>756,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>692,9697=>692,9698=>692,9699=>692,9700=>692,9701=>692,9702=>575,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9729=>900,9730=>807,9731=>807,9732=>807,9733=>807,9734=>807,9735=>515,9736=>806,9737=>807,9738=>799,9739=>799,9740=>604,9741=>911,9742=>1121,9743=>1125,9744=>807,9745=>807,9746=>807,9747=>479,9748=>807,9749=>807,9750=>807,9751=>807,9752=>807,9753=>807,9754=>807,9755=>807,9756=>807,9757=>548,9758=>807,9759=>548,9760=>807,9761=>807,9762=>807,9763=>807,9764=>602,9765=>671,9766=>584,9767=>705,9768=>490,9769=>807,9770=>807,9771=>807,9772=>639,9773=>807,9774=>807,9775=>807,9776=>807,9777=>807,9778=>807,9779=>807,9780=>807,9781=>807,9782=>807,9783=>807,9784=>807,9785=>938,9786=>938,9787=>938,9788=>807,9789=>807,9790=>807,9791=>552,9792=>659,9793=>659,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9800=>807,9801=>807,9802=>807,9803=>807,9804=>807,9805=>807,9806=>807,9807=>807,9808=>807,9809=>807,9810=>807,9811=>807,9812=>807,9813=>807,9814=>807,9815=>807,9816=>807,9817=>807,9818=>807,9819=>807,9820=>807,9821=>807,9822=>807,9823=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9832=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,9840=>673,9841=>689,9842=>807,9843=>807,9844=>807,9845=>807,9846=>807,9847=>807,9848=>807,9849=>807,9850=>807,9851=>807,9852=>807,9853=>807,9854=>807,9855=>807,9856=>782,9857=>782,9858=>782,9859=>782,9860=>782,9861=>782,9862=>807,9863=>807,9864=>807,9865=>807,9866=>807,9867=>807,9868=>807,9869=>807,9870=>807,9871=>807,9872=>807,9873=>807,9874=>807,9875=>807,9876=>807,9877=>487,9878=>807,9879=>807,9880=>807,9881=>807,9882=>807,9883=>807,9884=>807,9888=>807,9889=>632,9890=>904,9891=>980,9892=>1057,9893=>813,9894=>754,9895=>754,9896=>754,9897=>754,9898=>754,9899=>754,9900=>754,9901=>754,9902=>754,9903=>754,9904=>759,9905=>754,9906=>659,9907=>659,9908=>659,9909=>659,9910=>765,9911=>659,9912=>659,9920=>754,9921=>754,9922=>754,9923=>754,9954=>659,9985=>754,9986=>754,9987=>754,9988=>754,9990=>754,9991=>754,9992=>754,9993=>754,9996=>754,9997=>754,9998=>754,9999=>754,10000=>754,10001=>754,10002=>754,10003=>754,10004=>754,10005=>754,10006=>754,10007=>754,10008=>754,10009=>754,10010=>754,10011=>754,10012=>754,10013=>754,10014=>754,10015=>754,10016=>754,10017=>754,10018=>754,10019=>754,10020=>754,10021=>754,10022=>754,10023=>754,10025=>754,10026=>754,10027=>754,10028=>754,10029=>754,10030=>754,10031=>754,10032=>754,10033=>754,10034=>754,10035=>754,10036=>754,10037=>754,10038=>754,10039=>754,10040=>754,10041=>754,10042=>754,10043=>754,10044=>754,10045=>754,10046=>754,10047=>754,10048=>754,10049=>754,10050=>754,10051=>754,10052=>754,10053=>754,10054=>754,10055=>754,10056=>754,10057=>754,10058=>754,10059=>754,10061=>807,10063=>807,10064=>807,10065=>807,10066=>807,10070=>807,10072=>754,10073=>754,10074=>754,10075=>290,10076=>290,10077=>484,10078=>484,10081=>754,10082=>754,10083=>754,10084=>754,10085=>754,10086=>754,10087=>754,10088=>754,10089=>754,10090=>754,10091=>754,10092=>754,10093=>754,10094=>754,10095=>754,10096=>754,10097=>754,10098=>754,10099=>754,10100=>754,10101=>754,10102=>762,10103=>762,10104=>762,10105=>762,10106=>762,10107=>762,10108=>762,10109=>762,10110=>762,10111=>762,10112=>754,10113=>754,10114=>754,10115=>754,10116=>754,10117=>754,10118=>754,10119=>754,10120=>754,10121=>754,10122=>754,10123=>754,10124=>754,10125=>754,10126=>754,10127=>754,10128=>754,10129=>754,10130=>754,10131=>754,10132=>754,10136=>754,10137=>754,10138=>754,10139=>754,10140=>754,10141=>754,10142=>754,10143=>754,10144=>754,10145=>754,10146=>754,10147=>754,10148=>754,10149=>754,10150=>754,10151=>754,10152=>754,10153=>754,10154=>754,10155=>754,10156=>754,10157=>754,10158=>754,10159=>754,10161=>754,10162=>754,10163=>754,10164=>754,10165=>754,10166=>754,10167=>754,10168=>754,10169=>754,10170=>754,10171=>754,10172=>754,10173=>754,10174=>754,10181=>411,10182=>411,10208=>444,10214=>438,10215=>438,10216=>411,10217=>411,10218=>648,10219=>648,10224=>754,10225=>754,10226=>754,10227=>754,10228=>1042,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>703,10241=>703,10242=>703,10243=>703,10244=>703,10245=>703,10246=>703,10247=>703,10248=>703,10249=>703,10250=>703,10251=>703,10252=>703,10253=>703,10254=>703,10255=>703,10256=>703,10257=>703,10258=>703,10259=>703,10260=>703,10261=>703,10262=>703,10263=>703,10264=>703,10265=>703,10266=>703,10267=>703,10268=>703,10269=>703,10270=>703,10271=>703,10272=>703,10273=>703,10274=>703,10275=>703,10276=>703,10277=>703,10278=>703,10279=>703,10280=>703,10281=>703,10282=>703,10283=>703,10284=>703,10285=>703,10286=>703,10287=>703,10288=>703,10289=>703,10290=>703,10291=>703,10292=>703,10293=>703,10294=>703,10295=>703,10296=>703,10297=>703,10298=>703,10299=>703,10300=>703,10301=>703,10302=>703,10303=>703,10304=>703,10305=>703,10306=>703,10307=>703,10308=>703,10309=>703,10310=>703,10311=>703,10312=>703,10313=>703,10314=>703,10315=>703,10316=>703,10317=>703,10318=>703,10319=>703,10320=>703,10321=>703,10322=>703,10323=>703,10324=>703,10325=>703,10326=>703,10327=>703,10328=>703,10329=>703,10330=>703,10331=>703,10332=>703,10333=>703,10334=>703,10335=>703,10336=>703,10337=>703,10338=>703,10339=>703,10340=>703,10341=>703,10342=>703,10343=>703,10344=>703,10345=>703,10346=>703,10347=>703,10348=>703,10349=>703,10350=>703,10351=>703,10352=>703,10353=>703,10354=>703,10355=>703,10356=>703,10357=>703,10358=>703,10359=>703,10360=>703,10361=>703,10362=>703,10363=>703,10364=>703,10365=>703,10366=>703,10367=>703,10368=>703,10369=>703,10370=>703,10371=>703,10372=>703,10373=>703,10374=>703,10375=>703,10376=>703,10377=>703,10378=>703,10379=>703,10380=>703,10381=>703,10382=>703,10383=>703,10384=>703,10385=>703,10386=>703,10387=>703,10388=>703,10389=>703,10390=>703,10391=>703,10392=>703,10393=>703,10394=>703,10395=>703,10396=>703,10397=>703,10398=>703,10399=>703,10400=>703,10401=>703,10402=>703,10403=>703,10404=>703,10405=>703,10406=>703,10407=>703,10408=>703,10409=>703,10410=>703,10411=>703,10412=>703,10413=>703,10414=>703,10415=>703,10416=>703,10417=>703,10418=>703,10419=>703,10420=>703,10421=>703,10422=>703,10423=>703,10424=>703,10425=>703,10426=>703,10427=>703,10428=>703,10429=>703,10430=>703,10431=>703,10432=>703,10433=>703,10434=>703,10435=>703,10436=>703,10437=>703,10438=>703,10439=>703,10440=>703,10441=>703,10442=>703,10443=>703,10444=>703,10445=>703,10446=>703,10447=>703,10448=>703,10449=>703,10450=>703,10451=>703,10452=>703,10453=>703,10454=>703,10455=>703,10456=>703,10457=>703,10458=>703,10459=>703,10460=>703,10461=>703,10462=>703,10463=>703,10464=>703,10465=>703,10466=>703,10467=>703,10468=>703,10469=>703,10470=>703,10471=>703,10472=>703,10473=>703,10474=>703,10475=>703,10476=>703,10477=>703,10478=>703,10479=>703,10480=>703,10481=>703,10482=>703,10483=>703,10484=>703,10485=>703,10486=>703,10487=>703,10488=>703,10489=>703,10490=>703,10491=>703,10492=>703,10493=>703,10494=>703,10495=>703,10502=>754,10503=>754,10506=>754,10507=>754,10560=>754,10561=>754,10627=>678,10628=>678,10702=>754,10703=>941,10704=>941,10705=>900,10706=>900,10707=>900,10708=>900,10709=>900,10731=>444,10746=>754,10747=>754,10752=>900,10753=>900,10754=>900,10764=>1495,10765=>506,10766=>506,10767=>506,10768=>506,10769=>506,10770=>506,10771=>506,10772=>506,10773=>506,10774=>506,10775=>506,10776=>506,10777=>506,10778=>506,10779=>506,10780=>506,10799=>754,10858=>754,10859=>754,10877=>754,10878=>754,10879=>754,10880=>754,10881=>754,10882=>754,10883=>754,10884=>754,10885=>754,10886=>754,10887=>754,10888=>754,10889=>754,10890=>754,10891=>754,10892=>754,10893=>754,10894=>754,10895=>754,10896=>754,10897=>754,10898=>754,10899=>754,10900=>754,10901=>754,10902=>754,10903=>754,10904=>754,10905=>754,10906=>754,10907=>754,10908=>754,10909=>754,10910=>754,10911=>754,10912=>754,10926=>754,10927=>754,10928=>754,10929=>754,10930=>754,10931=>754,10932=>754,10933=>754,10934=>754,10935=>754,10936=>754,10937=>754,10938=>754,11001=>754,11002=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>754,11023=>754,11024=>754,11025=>754,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11039=>782,11040=>782,11041=>786,11042=>786,11043=>786,11044=>1007,11091=>782,11092=>782,11360=>573,11361=>324,11362=>573,11363=>659,11364=>693,11365=>607,11366=>430,11367=>860,11368=>641,11369=>697,11370=>598,11371=>652,11372=>523,11373=>774,11374=>896,11375=>696,11376=>774,11377=>700,11378=>1099,11379=>950,11380=>586,11381=>628,11382=>508,11383=>704,11385=>484,11386=>618,11387=>502,11388=>197,11389=>438,11390=>648,11391=>652,11520=>596,11521=>608,11522=>595,11523=>566,11524=>595,11525=>928,11526=>646,11527=>928,11528=>583,11529=>600,11530=>928,11531=>605,11532=>609,11533=>932,11534=>612,11535=>797,11536=>928,11537=>615,11538=>606,11539=>931,11540=>930,11541=>924,11542=>608,11543=>605,11544=>600,11545=>600,11546=>593,11547=>604,11548=>935,11549=>605,11550=>623,11551=>593,11552=>943,11553=>593,11554=>588,11555=>603,11556=>659,11557=>915,11800=>527,11807=>754,11810=>411,11811=>411,11812=>411,11813=>411,11822=>522,19904=>807,19905=>807,19906=>807,19907=>807,19908=>807,19909=>807,19910=>807,19911=>807,19912=>807,19913=>807,19914=>807,19915=>807,19916=>807,19917=>807,19918=>807,19919=>807,19920=>807,19921=>807,19922=>807,19923=>807,19924=>807,19925=>807,19926=>807,19927=>807,19928=>807,19929=>807,19930=>807,19931=>807,19932=>807,19933=>807,19934=>807,19935=>807,19936=>807,19937=>807,19938=>807,19939=>807,19940=>807,19941=>807,19942=>807,19943=>807,19944=>807,19945=>807,19946=>807,19947=>807,19948=>807,19949=>807,19950=>807,19951=>807,19952=>807,19953=>807,19954=>807,19955=>807,19956=>807,19957=>807,19958=>807,19959=>807,19960=>807,19961=>807,19962=>807,19963=>807,19964=>807,19965=>807,19966=>807,19967=>807,42192=>686,42193=>659,42194=>659,42195=>747,42196=>614,42197=>614,42198=>738,42199=>697,42200=>697,42201=>477,42202=>660,42203=>660,42204=>652,42205=>615,42206=>615,42207=>896,42208=>753,42209=>573,42210=>648,42211=>693,42212=>693,42213=>696,42214=>696,42215=>753,42216=>707,42217=>477,42218=>993,42219=>694,42220=>651,42221=>686,42222=>696,42223=>696,42224=>615,42225=>615,42226=>334,42227=>765,42228=>730,42229=>730,42230=>518,42231=>747,42232=>290,42233=>290,42234=>606,42235=>606,42236=>290,42237=>290,42238=>529,42239=>529,42564=>648,42565=>536,42566=>392,42567=>396,42572=>1265,42573=>1055,42576=>1110,42577=>924,42580=>1056,42581=>875,42582=>990,42583=>872,42594=>990,42595=>846,42596=>986,42597=>823,42598=>1134,42599=>896,42600=>765,42601=>618,42602=>933,42603=>781,42604=>1266,42605=>995,42606=>865,42634=>849,42635=>673,42636=>614,42637=>521,42644=>727,42645=>641,42760=>450,42761=>450,42762=>450,42763=>450,42764=>450,42765=>450,42766=>450,42767=>450,42768=>450,42769=>450,42770=>450,42771=>450,42772=>450,42773=>450,42774=>450,42779=>360,42780=>360,42781=>258,42782=>258,42783=>258,42786=>399,42787=>351,42788=>486,42789=>486,42790=>753,42791=>641,42792=>928,42793=>771,42794=>626,42795=>501,42800=>502,42801=>536,42802=>1214,42803=>946,42804=>1156,42805=>958,42806=>1120,42807=>947,42808=>971,42809=>830,42810=>971,42811=>830,42812=>932,42813=>830,42814=>628,42815=>494,42816=>590,42817=>521,42822=>765,42823=>488,42824=>614,42825=>478,42826=>826,42827=>732,42830=>1266,42831=>995,42832=>659,42833=>644,42834=>853,42835=>843,42838=>765,42839=>644,42852=>664,42853=>644,42854=>664,42855=>644,42880=>573,42881=>308,42882=>753,42883=>641,42889=>360,42890=>356,42891=>410,42892=>275,42893=>727,42894=>624,42896=>835,42897=>691,42912=>738,42913=>644,42914=>697,42915=>598,42916=>753,42917=>641,42918=>693,42919=>444,42920=>648,42921=>536,42922=>797,43002=>956,43003=>615,43004=>659,43005=>896,43006=>334,43007=>1192,61184=>194,61185=>218,61186=>240,61187=>249,61188=>254,61189=>218,61190=>194,61191=>218,61192=>240,61193=>249,61194=>240,61195=>218,61196=>194,61197=>218,61198=>240,61199=>249,61200=>240,61201=>218,61202=>194,61203=>218,61204=>254,61205=>249,61206=>240,61207=>218,61208=>194,61209=>254,62464=>551,62465=>551,62466=>587,62467=>812,62468=>555,62469=>555,62470=>612,62471=>813,62472=>539,62473=>555,62474=>1046,62475=>559,62476=>560,62477=>803,62478=>551,62479=>559,62480=>832,62481=>560,62482=>678,62483=>562,62484=>797,62485=>559,62486=>816,62487=>559,62488=>550,62489=>561,62490=>609,62491=>559,62492=>550,62493=>567,62494=>560,62495=>505,62496=>550,62497=>563,62498=>551,62499=>550,62500=>556,62501=>600,62502=>866,62504=>920,62505=>760,62506=>507,62507=>507,62508=>507,62509=>507,62510=>507,62511=>507,62512=>499,62513=>499,62514=>499,62515=>499,62516=>516,62517=>516,62518=>516,62519=>742,62520=>742,62521=>742,62522=>742,62523=>742,62524=>549,62525=>549,62526=>549,62527=>549,62528=>549,62529=>549,62917=>618,64256=>749,64257=>708,64258=>708,64259=>1024,64260=>1024,64261=>727,64262=>917,64275=>1249,64276=>1245,64277=>1240,64278=>1245,64279=>1542,64285=>265,64286=>0,64287=>597,64288=>598,64289=>845,64290=>709,64291=>828,64292=>707,64293=>771,64294=>782,64295=>739,64296=>801,64297=>754,64298=>673,64299=>673,64300=>673,64301=>673,64302=>655,64303=>655,64304=>655,64305=>549,64306=>402,64307=>529,64308=>618,64309=>309,64310=>360,64311=>900,64312=>611,64313=>392,64314=>520,64315=>510,64316=>544,64317=>900,64318=>651,64319=>900,64320=>408,64321=>611,64322=>900,64323=>607,64324=>592,64325=>900,64326=>587,64327=>663,64328=>542,64329=>673,64330=>615,64331=>309,64332=>549,64333=>510,64334=>592,64335=>639,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1002,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.z new file mode 100644 index 0000000..37da24a Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.ctg.z new file mode 100644 index 0000000..1b98d13 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.php b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.php new file mode 100644 index 0000000..44b9730 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-914 -350 1493 1068]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>34,'StemH'=>15,'AvgWidth'=>456,'MaxWidth'=>1521,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(71,0,288,729),34=>array(86,458,328,729),35=>array(63,0,696,718),36=>array(30,-147,513,760),37=>array(82,-14,773,742),38=>array(42,-14,663,742),39=>array(86,458,162,729),40=>array(69,-132,384,759),41=>array(-56,-132,259,759),42=>array(26,286,423,742),43=>array(95,0,659,627),44=>array(2,-116,174,124),45=>array(40,234,292,314),46=>array(52,0,167,124),47=>array(-66,-93,384,729),48=>array(44,-14,527,742),49=>array(44,0,437,729),50=>array(3,0,517,742),51=>array(1,-14,515,742),52=>array(16,0,509,729),53=>array(18,-14,523,729),54=>array(57,-14,533,742),55=>array(83,0,564,729),56=>array(30,-14,534,742),57=>array(40,-14,517,742),58=>array(46,0,230,517),59=>array(0,-116,241,517),60=>array(95,46,659,581),61=>array(95,172,659,454),62=>array(95,46,659,581),63=>array(110,0,460,742),64=>array(52,-173,855,703),65=>array(-48,0,554,729),66=>array(24,0,563,729),67=>array(38,-14,625,742),68=>array(24,0,650,729),69=>array(24,0,567,729),70=>array(24,0,528,729),71=>array(40,-14,653,742),72=>array(24,0,653,729),73=>array(24,0,242,729),74=>array(-148,-200,240,729),75=>array(24,0,650,729),76=>array(24,0,448,729),77=>array(24,0,752,729),78=>array(24,0,649,729),79=>array(36,-14,672,742),80=>array(24,0,541,729),81=>array(37,-129,672,742),82=>array(24,0,541,729),83=>array(5,-14,543,742),84=>array(39,0,608,729),85=>array(52,-14,642,729),86=>array(70,0,668,729),87=>array(86,0,918,729),88=>array(-39,0,633,729),89=>array(57,0,608,729),90=>array(-20,0,633,729),91=>array(36,-132,378,760),92=>array(76,-93,236,729),93=>array(-35,-132,308,760),94=>array(95,457,659,729),95=>array(-9,-236,459,-166),96=>array(171,617,350,800),97=>array(37,-14,492,560),98=>array(32,-14,528,760),99=>array(41,-14,483,560),100=>array(41,-14,576,760),101=>array(41,-14,514,560),102=>array(61,0,431,760),103=>array(29,-208,537,560),104=>array(31,0,510,760),105=>array(31,0,246,760),106=>array(-102,-208,250,760),107=>array(31,0,551,760),108=>array(31,0,246,760),109=>array(31,0,815,560),110=>array(31,0,510,560),111=>array(41,-14,510,560),112=>array(-3,-208,530,560),113=>array(41,-206,538,560),114=>array(31,0,417,560),115=>array(10,-14,450,560),116=>array(57,0,381,702),117=>array(51,-14,530,547),118=>array(64,0,544,547),119=>array(76,0,737,547),120=>array(-23,0,541,547),121=>array(-22,-208,543,547),122=>array(-3,0,489,547),123=>array(109,-163,545,760),124=>array(114,-236,189,764),125=>array(6,-163,442,760),126=>array(95,228,659,399),161=>array(76,0,294,729),162=>array(66,-153,507,698),163=>array(21,0,574,742),164=>array(41,40,533,587),165=>array(40,0,606,729),166=>array(114,-171,189,699),167=>array(11,-95,437,742),168=>array(166,659,444,758),169=>array(124,0,776,725),170=>array(36,229,401,742),171=>array(56,69,500,517),172=>array(95,140,659,421),173=>array(40,234,292,314),174=>array(124,0,776,725),175=>array(167,673,443,745),176=>array(85,432,365,742),177=>array(95,0,659,627),178=>array(32,326,347,742),179=>array(14,319,332,742),180=>array(227,616,470,800),181=>array(-12,-208,533,547),182=>array(70,-96,516,729),183=>array(102,285,217,409),184=>array(44,-193,241,0),185=>array(59,326,313,734),186=>array(36,229,416,742),187=>array(56,69,499,517),188=>array(59,-14,862,742),189=>array(59,-14,857,742),190=>array(14,-14,862,742),191=>array(33,-13,382,729),192=>array(-48,0,554,927),193=>array(-48,0,554,927),194=>array(-48,0,554,928),195=>array(-48,0,556,921),196=>array(-48,0,554,913),197=>array(-48,0,554,928),198=>array(-41,0,895,729),199=>array(38,-193,625,742),200=>array(24,0,567,927),201=>array(24,0,567,927),202=>array(24,0,567,928),203=>array(24,0,567,913),204=>array(24,0,263,927),205=>array(24,0,345,927),206=>array(24,0,341,928),207=>array(24,0,353,913),208=>array(0,0,655,729),209=>array(24,0,649,921),210=>array(36,-14,672,927),211=>array(36,-14,672,927),212=>array(36,-14,672,928),213=>array(36,-14,672,921),214=>array(36,-14,672,913),215=>array(123,31,631,596),216=>array(-31,-32,729,761),217=>array(52,-14,642,927),218=>array(52,-14,642,927),219=>array(52,-14,642,928),220=>array(52,-14,642,913),221=>array(57,0,608,927),222=>array(24,0,520,729),223=>array(42,-14,531,760),224=>array(37,-14,492,800),225=>array(37,-14,514,800),226=>array(37,-14,492,800),227=>array(37,-14,506,777),228=>array(37,-14,492,758),229=>array(37,-14,492,878),230=>array(37,-14,856,560),231=>array(41,-193,483,560),232=>array(41,-14,514,800),233=>array(41,-14,519,800),234=>array(41,-14,514,800),235=>array(41,-14,514,758),236=>array(31,0,236,800),237=>array(31,0,356,800),238=>array(31,0,316,800),239=>array(31,0,331,758),240=>array(40,-14,528,760),241=>array(31,0,522,777),242=>array(41,-14,510,800),243=>array(41,-14,521,800),244=>array(41,-14,510,800),245=>array(41,-14,513,777),246=>array(41,-14,510,758),247=>array(95,73,659,554),248=>array(-13,-46,560,590),249=>array(51,-14,530,800),250=>array(51,-14,530,800),251=>array(51,-14,530,800),252=>array(51,-14,530,758),253=>array(-22,-208,543,800),254=>array(-3,-208,530,760),255=>array(-22,-208,543,758),256=>array(-48,0,554,899),257=>array(37,-14,492,745),258=>array(-48,0,562,926),259=>array(37,-14,506,761),260=>array(-48,-194,557,729),261=>array(37,-194,492,560),262=>array(38,-14,625,927),263=>array(41,-14,522,800),264=>array(38,-14,625,928),265=>array(41,-14,497,800),266=>array(38,-14,625,914),267=>array(41,-14,483,760),268=>array(38,-14,625,928),269=>array(41,-14,514,800),270=>array(24,0,650,928),271=>array(41,-14,738,760),272=>array(0,0,655,729),273=>array(41,-14,631,760),274=>array(24,0,567,900),275=>array(41,-14,514,745),276=>array(24,0,567,928),277=>array(41,-14,514,785),278=>array(24,0,567,914),279=>array(41,-14,514,760),280=>array(24,-194,567,729),281=>array(41,-194,514,560),282=>array(24,0,567,928),283=>array(41,-14,514,800),284=>array(40,-14,653,928),285=>array(29,-208,537,800),286=>array(40,-14,653,928),287=>array(29,-208,537,785),288=>array(40,-14,653,914),289=>array(29,-208,537,760),290=>array(40,-250,653,742),291=>array(29,-208,537,775),292=>array(24,0,653,928),293=>array(31,0,510,928),294=>array(98,0,781,729),295=>array(41,0,519,760),296=>array(24,0,374,921),297=>array(31,0,349,777),298=>array(24,0,351,899),299=>array(31,0,343,745),300=>array(24,0,360,928),301=>array(31,0,343,785),302=>array(-6,-194,242,729),303=>array(-7,-194,246,760),304=>array(24,0,274,914),305=>array(31,0,209,547),306=>array(24,-200,505,729),307=>array(31,-208,499,760),308=>array(-148,-200,347,928),309=>array(-102,-208,325,800),310=>array(24,-235,650,729),311=>array(31,-235,551,760),312=>array(34,0,556,547),313=>array(24,0,448,928),314=>array(31,0,380,928),315=>array(24,-235,448,729),316=>array(18,-235,246,760),317=>array(24,0,448,729),318=>array(31,0,426,760),319=>array(24,0,448,729),320=>array(31,0,399,760),321=>array(-18,0,452,729),322=>array(15,0,286,760),323=>array(24,0,649,928),324=>array(31,0,510,803),325=>array(24,-235,649,729),326=>array(31,-235,510,560),327=>array(24,0,649,928),328=>array(31,0,514,800),329=>array(67,0,659,729),330=>array(42,-208,614,742),331=>array(31,-208,510,560),332=>array(36,-14,672,899),333=>array(41,-14,510,745),334=>array(36,-14,672,928),335=>array(41,-14,510,785),336=>array(36,-14,696,927),337=>array(41,-14,561,800),338=>array(41,0,960,729),339=>array(41,-14,886,560),340=>array(24,0,541,928),341=>array(31,0,494,803),342=>array(24,-235,541,729),343=>array(18,-235,417,560),344=>array(24,0,541,925),345=>array(31,0,443,800),346=>array(5,-14,543,928),347=>array(10,-14,494,803),348=>array(5,-14,543,928),349=>array(10,-14,450,800),350=>array(5,-193,543,742),351=>array(10,-193,450,560),352=>array(5,-14,543,928),353=>array(10,-14,471,800),354=>array(39,-193,608,729),355=>array(56,-193,381,702),356=>array(39,0,608,928),357=>array(57,0,430,803),358=>array(46,0,616,729),359=>array(14,0,366,702),360=>array(52,-14,642,921),361=>array(51,-14,530,777),362=>array(52,-14,642,899),363=>array(51,-14,530,745),364=>array(52,-14,642,928),365=>array(51,-14,530,785),366=>array(52,-14,642,929),367=>array(51,-14,530,861),368=>array(52,-14,657,927),369=>array(51,-14,557,800),370=>array(52,-194,642,729),371=>array(51,-194,530,547),372=>array(86,0,918,932),373=>array(76,0,737,800),374=>array(57,0,608,932),375=>array(-22,-208,543,800),376=>array(57,0,608,913),377=>array(-20,0,633,928),378=>array(-3,0,494,803),379=>array(-20,0,633,912),380=>array(-3,0,489,760),381=>array(-20,0,633,928),382=>array(-3,0,489,800),383=>array(61,0,431,760),384=>array(17,-14,505,760),385=>array(46,0,667,729),386=>array(24,0,571,729),387=>array(17,-14,521,760),388=>array(38,0,541,729),389=>array(31,-14,520,760),390=>array(56,-14,644,742),391=>array(35,-14,797,924),392=>array(35,-14,605,724),393=>array(0,0,655,729),394=>array(46,0,748,729),395=>array(62,0,618,729),396=>array(32,-14,558,760),397=>array(49,-208,518,548),398=>array(57,0,608,729),399=>array(46,-14,675,742),400=>array(109,-14,609,742),401=>array(-128,-200,547,729),402=>array(-142,-208,419,760),403=>array(35,-14,824,924),404=>array(85,-210,697,729),405=>array(15,0,807,760),406=>array(68,0,263,729),407=>array(0,0,270,729),408=>array(23,0,713,742),409=>array(15,0,537,760),410=>array(-2,0,250,760),411=>array(-40,0,481,760),412=>array(53,-14,870,729),413=>array(-128,-200,667,729),414=>array(51,-208,521,560),415=>array(36,-14,672,742),416=>array(31,-14,741,761),417=>array(43,-14,591,609),418=>array(50,-14,786,742),419=>array(66,-208,632,560),420=>array(46,0,646,729),421=>array(-3,-208,522,760),422=>array(36,-129,533,729),423=>array(1,-14,522,742),424=>array(9,-14,426,560),425=>array(24,0,567,729),426=>array(-53,-208,307,760),427=>array(64,-208,384,702),428=>array(39,0,616,729),429=>array(41,0,386,760),430=>array(64,-200,634,729),431=>array(50,-4,769,761),432=>array(52,-14,648,615),433=>array(38,-14,718,724),434=>array(68,-1,611,729),435=>array(61,0,710,742),436=>array(4,-208,700,560),437=>array(-23,0,630,729),438=>array(-9,0,482,547),439=>array(21,-31,587,729),440=>array(13,-31,596,729),441=>array(19,-213,535,547),442=>array(-8,-208,479,547),443=>array(0,0,508,742),444=>array(14,-31,563,729),445=>array(-15,-213,496,547),446=>array(-18,-14,387,702),447=>array(-5,-208,542,560),448=>array(6,-208,259,729),449=>array(6,-208,437,729),450=>array(-12,-208,436,729),451=>array(23,0,241,729),452=>array(24,0,1326,928),453=>array(24,0,1182,800),454=>array(41,-14,1060,800),455=>array(24,-200,741,729),456=>array(24,-208,751,760),457=>array(31,-208,500,760),458=>array(24,-200,913,729),459=>array(24,-208,923,760),460=>array(31,-208,820,760),461=>array(-48,0,554,928),462=>array(37,-14,501,800),463=>array(24,0,373,928),464=>array(31,0,360,800),465=>array(36,-14,672,928),466=>array(41,-14,538,800),467=>array(52,-14,642,928),468=>array(51,-14,530,800),469=>array(52,-14,642,1025),470=>array(51,-14,530,899),471=>array(52,-14,642,1047),472=>array(51,-14,530,903),473=>array(52,-14,642,1044),474=>array(51,-14,530,906),475=>array(52,-14,642,1044),476=>array(51,-14,530,903),477=>array(45,-14,507,560),478=>array(-48,0,564,1025),479=>array(37,-14,494,899),480=>array(-48,0,565,1025),481=>array(37,-14,516,868),482=>array(-41,0,895,900),483=>array(37,-14,856,743),484=>array(40,-14,669,742),485=>array(29,-208,537,560),486=>array(40,-14,653,928),487=>array(29,-208,537,800),488=>array(24,0,650,928),489=>array(31,0,551,928),490=>array(36,-194,672,742),491=>array(41,-194,510,560),492=>array(36,-194,672,899),493=>array(41,-194,510,745),494=>array(21,-31,587,928),495=>array(-43,-213,478,793),496=>array(-102,-208,353,793),497=>array(24,0,1326,729),498=>array(24,0,1182,729),499=>array(41,-14,1060,760),500=>array(40,-14,653,928),501=>array(29,-208,537,800),502=>array(26,-14,953,729),503=>array(-13,-208,599,742),504=>array(24,0,649,927),505=>array(31,0,510,800),506=>array(-48,0,708,928),507=>array(37,-14,695,928),508=>array(-41,0,895,928),509=>array(37,-14,856,800),510=>array(-31,-32,729,928),511=>array(-13,-46,560,800),512=>array(-48,0,554,930),513=>array(37,-14,492,800),514=>array(-48,0,554,917),515=>array(37,-14,495,785),516=>array(24,0,567,930),517=>array(41,-14,514,800),518=>array(24,0,567,917),519=>array(41,-14,514,785),520=>array(24,0,327,930),521=>array(20,0,329,800),522=>array(24,0,354,917),523=>array(31,0,333,785),524=>array(36,-14,672,930),525=>array(41,-14,510,800),526=>array(36,-14,672,917),527=>array(41,-14,510,785),528=>array(24,0,541,930),529=>array(31,0,417,800),530=>array(24,0,541,917),531=>array(31,0,438,785),532=>array(52,-14,642,930),533=>array(51,-14,530,800),534=>array(52,-14,642,917),535=>array(51,-14,530,785),536=>array(5,-240,543,742),537=>array(10,-240,450,560),538=>array(39,-240,608,729),539=>array(57,-240,381,702),540=>array(-33,-210,534,742),541=>array(-56,-211,440,560),542=>array(24,0,653,928),543=>array(31,0,510,928),544=>array(24,-208,597,742),545=>array(37,-70,670,760),546=>array(17,-14,597,742),547=>array(30,-14,526,648),548=>array(-5,-208,648,729),549=>array(9,-208,500,547),550=>array(-48,0,554,914),551=>array(37,-14,492,760),552=>array(24,-189,567,729),553=>array(41,-193,514,560),554=>array(36,-14,672,1025),555=>array(41,-14,524,899),556=>array(36,-14,672,1025),557=>array(41,-14,521,861),558=>array(36,-14,672,914),559=>array(41,-14,510,760),560=>array(36,-14,672,1029),561=>array(41,-14,510,899),562=>array(57,0,608,899),563=>array(-22,-208,543,745),564=>array(-12,-70,343,757),565=>array(39,-70,691,560),566=>array(-5,-70,372,702),567=>array(-102,-208,211,547),568=>array(32,-14,832,760),569=>array(66,-208,866,560),570=>array(-63,-34,679,761),571=>array(-57,-34,686,761),572=>array(-45,-46,541,592),573=>array(0,0,448,729),574=>array(-97,-34,646,761),575=>array(24,-242,464,560),576=>array(12,-242,503,547),577=>array(141,0,602,729),578=>array(62,0,412,560),579=>array(-28,0,559,729),580=>array(3,-14,666,729),581=>array(-57,0,545,729),582=>array(24,-93,573,822),583=>array(32,-93,516,640),584=>array(-147,-200,264,729),585=>array(-103,-208,249,760),586=>array(66,-200,695,743),587=>array(66,-208,555,560),588=>array(-6,0,541,729),589=>array(-4,0,418,560),590=>array(26,0,615,729),591=>array(5,-208,572,547),592=>array(62,-14,518,560),593=>array(49,-14,538,560),594=>array(1,-14,490,560),595=>array(17,-14,505,760),596=>array(2,-14,444,560),597=>array(54,-70,488,560),598=>array(49,-208,575,760),599=>array(32,-14,739,760),600=>array(25,-14,505,560),601=>array(45,-14,507,560),602=>array(36,-14,737,560),603=>array(35,-14,455,561),604=>array(4,-11,454,560),605=>array(13,-14,700,561),606=>array(49,-14,548,561),607=>array(-83,-208,260,547),608=>array(29,-208,729,760),609=>array(48,-208,556,547),610=>array(49,0,513,574),611=>array(92,-210,561,547),612=>array(91,-14,543,547),613=>array(84,-208,555,547),614=>array(15,0,485,760),615=>array(33,-208,504,760),616=>array(23,0,278,760),617=>array(71,0,232,547),618=>array(3,0,331,547),619=>array(20,0,334,760),620=>array(37,0,375,760),621=>array(35,-208,250,760),622=>array(37,-213,596,760),623=>array(73,-13,850,548),624=>array(90,-208,866,547),625=>array(51,-208,827,560),626=>array(-83,-208,524,560),627=>array(51,-208,541,560),628=>array(31,0,542,547),629=>array(49,-14,501,560),630=>array(49,0,733,547),631=>array(60,-15,592,560),632=>array(48,-208,542,760),633=>array(1,-13,387,547),634=>array(-17,-13,405,755),635=>array(19,-208,404,547),636=>array(-18,-208,404,560),637=>array(17,-208,404,560),638=>array(2,0,442,560),639=>array(86,0,358,560),640=>array(-26,0,409,547),641=>array(-26,0,505,547),642=>array(16,-208,461,560),643=>array(-101,-208,404,760),644=>array(-102,-208,404,760),645=>array(77,-208,308,549),646=>array(-185,-208,404,760),647=>array(-10,-155,310,547),648=>array(35,-208,384,702),649=>array(-8,-14,577,547),650=>array(50,-15,558,547),651=>array(71,0,497,548),652=>array(-21,0,458,547),653=>array(-10,0,650,547),654=>array(-40,0,527,755),655=>array(92,0,545,547),656=>array(9,-208,500,547),657=>array(-4,-54,487,547),658=>array(-22,-213,499,547),659=>array(18,-213,499,547),660=>array(83,0,437,759),661=>array(65,0,470,759),662=>array(-22,0,384,759),663=>array(-7,-213,489,760),664=>array(50,-14,658,742),665=>array(34,0,481,547),666=>array(30,-14,537,561),667=>array(33,0,721,759),668=>array(34,0,555,547),669=>array(-185,-208,250,760),670=>array(63,-213,585,547),671=>array(34,0,408,547),672=>array(49,-208,756,759),673=>array(6,0,437,759),674=>array(65,0,470,759),675=>array(32,-14,904,760),676=>array(49,-213,922,760),677=>array(35,-54,907,760),678=>array(46,0,708,702),679=>array(59,-208,651,760),680=>array(52,-70,688,702),681=>array(49,-208,734,760),682=>array(18,0,591,760),683=>array(18,0,579,760),684=>array(20,-15,497,640),685=>array(-25,84,489,640),686=>array(71,-214,562,760),687=>array(71,-208,561,760),688=>array(14,326,307,751),689=>array(14,326,307,751),690=>array(-58,209,152,751),691=>array(24,326,260,640),692=>array(4,319,241,632),693=>array(14,209,250,632),694=>array(-13,326,315,632),695=>array(50,326,467,632),696=>array(8,209,356,632),697=>array(147,557,303,800),698=>array(147,557,466,800),699=>array(118,489,289,729),700=>array(55,489,227,729),701=>array(161,616,268,856),702=>array(123,492,267,760),703=>array(124,492,268,760),704=>array(77,326,300,751),705=>array(66,326,319,751),706=>array(229,524,479,836),707=>array(209,524,458,836),708=>array(183,561,463,800),709=>array(224,561,505,800),710=>array(148,616,430,800),711=>array(180,616,461,800),712=>array(94,488,154,759),713=>array(167,673,443,745),714=>array(227,616,470,800),715=>array(171,617,350,800),716=>array(94,-148,154,123),717=>array(22,-156,298,-84),718=>array(171,-236,350,-54),719=>array(227,-237,470,-54),720=>array(3,0,251,517),721=>array(63,356,220,517),722=>array(80,249,224,517),723=>array(81,249,225,517),724=>array(106,229,317,448),725=>array(132,229,343,448),726=>array(42,125,318,417),727=>array(42,234,253,307),728=>array(180,645,457,785),729=>array(250,658,358,758),730=>array(188,610,430,878),731=>array(88,-194,251,0),732=>array(147,639,462,777),733=>array(169,616,510,800),734=>array(-4,233,291,504),735=>array(94,616,366,800),736=>array(56,208,374,632),737=>array(14,326,140,751),738=>array(26,326,297,648),739=>array(24,326,374,632),740=>array(66,326,319,751),741=>array(141,0,409,668),742=>array(114,0,409,668),743=>array(88,0,409,668),744=>array(62,0,409,668),745=>array(35,0,409,668),748=>array(86,-260,367,-21),749=>array(156,610,454,808),750=>array(121,489,473,729),755=>array(85,-240,327,28),759=>array(74,-193,389,-83),768=>array(-233,617,-55,800),769=>array(-183,616,61,800),770=>array(-256,616,25,800),771=>array(-259,639,55,777),772=>array(-240,673,36,745),773=>array(-459,686,9,755),774=>array(-224,645,52,785),775=>array(-153,646,-52,760),776=>array(-239,659,40,758),777=>array(-184,618,13,810),778=>array(-216,610,25,878),779=>array(-238,616,104,800),780=>array(-229,616,52,800),781=>array(-274,615,-176,832),782=>array(-364,615,-86,832),783=>array(-298,616,11,800),784=>array(-273,645,3,854),785=>array(-223,645,54,785),786=>array(-170,489,-14,645),787=>array(-296,595,-146,844),788=>array(-274,595,-146,844),789=>array(-72,616,72,800),790=>array(-280,-266,-101,-83),791=>array(-224,-267,19,-83),792=>array(-327,-240,-180,-24),793=>array(-271,-240,-123,-24),794=>array(-179,690,49,930),795=>array(-126,427,62,609),796=>array(-283,-241,-168,-32),797=>array(-346,-240,-119,-87),798=>array(-331,-240,-104,-87),799=>array(-327,-240,-123,-24),800=>array(-238,-184,-11,-117),801=>array(-305,-208,5,63),802=>array(-305,-208,-63,63),803=>array(-299,-184,-198,-70),804=>array(-392,-183,-113,-84),805=>array(-320,-241,-132,-32),806=>array(-305,-240,-148,-84),807=>array(-406,-193,-209,0),808=>array(-362,-194,-199,0),809=>array(-272,-240,-178,-47),810=>array(-359,-211,-88,-50),811=>array(-421,-222,-60,-82),812=>array(-347,-240,-66,-57),813=>array(-386,-240,-105,-57),814=>array(-390,-222,-113,-82),815=>array(-414,-224,-137,-83),816=>array(-419,-222,-105,-84),817=>array(-397,-156,-121,-84),818=>array(-510,-236,-30,-166),819=>array(-500,-236,7,-9),820=>array(-514,240,-24,381),821=>array(-292,221,-46,301),822=>array(-578,221,7,301),823=>array(-566,-46,20,592),824=>array(-729,-34,14,761),825=>array(-280,-241,-166,-32),826=>array(-358,-206,-88,-44),827=>array(-343,-240,-105,-21),828=>array(-446,-222,-84,-82),829=>array(-333,608,-117,825),830=>array(-245,595,-76,853),831=>array(-459,528,9,755),832=>array(-233,617,-55,800),833=>array(-183,616,61,800),834=>array(-259,639,55,777),835=>array(-296,595,-146,844),836=>array(-277,659,55,978),837=>array(-320,-208,-227,-45),838=>array(-370,639,-81,786),839=>array(-341,-226,-109,-35),840=>array(-345,-240,-105,-47),841=>array(-318,-240,-106,-21),842=>array(-382,616,-68,800),843=>array(-382,567,-68,850),844=>array(-382,596,-67,820),845=>array(-407,-230,-43,-30),846=>array(-324,-240,-132,-45),849=>array(-285,610,-142,878),850=>array(-374,633,-97,855),851=>array(-333,-241,-117,-24),855=>array(-309,610,-165,878),856=>array(21,658,128,758),858=>array(-387,-241,-63,-32),860=>array(-435,-237,367,-60),861=>array(-261,802,541,979),862=>array(-268,855,541,927),863=>array(-442,-156,374,-84),864=>array(-187,756,476,894),865=>array(-261,752,541,929),866=>array(-475,-230,330,-30),880=>array(24,0,511,729),881=>array(37,0,438,547),882=>array(85,0,751,729),883=>array(85,0,558,729),884=>array(147,557,303,800),885=>array(24,-208,179,35),886=>array(24,0,649,729),887=>array(34,0,551,547),890=>array(123,-208,216,-45),891=>array(2,-14,444,560),892=>array(41,-14,483,560),893=>array(2,-14,444,560),894=>array(0,-116,241,517),900=>array(227,616,470,800),901=>array(166,659,498,978),902=>array(-48,0,554,800),903=>array(102,285,217,409),904=>array(53,0,688,800),905=>array(58,0,782,800),906=>array(55,0,368,800),908=>array(57,-14,714,800),910=>array(50,0,827,800),911=>array(47,0,746,800),912=>array(66,0,405,978),913=>array(-48,0,554,729),914=>array(24,0,563,729),915=>array(24,0,561,729),916=>array(-57,0,545,729),917=>array(24,0,567,729),918=>array(-20,0,633,729),919=>array(24,0,653,729),920=>array(50,-14,658,742),921=>array(24,0,242,729),922=>array(24,0,650,729),923=>array(-57,0,545,729),924=>array(24,0,752,729),925=>array(24,0,649,729),926=>array(24,0,557,729),927=>array(36,-14,672,742),928=>array(24,0,652,729),929=>array(24,0,541,729),931=>array(24,0,567,729),932=>array(39,0,608,729),933=>array(57,0,608,729),934=>array(44,0,664,729),935=>array(-39,0,633,729),936=>array(79,0,723,729),937=>array(-31,0,650,738),938=>array(24,0,360,913),939=>array(57,0,608,913),940=>array(49,-12,581,800),941=>array(35,-14,505,800),942=>array(51,-208,557,800),943=>array(60,0,388,800),944=>array(53,0,510,978),945=>array(49,-12,581,559),946=>array(-1,-208,515,766),947=>array(66,-208,572,547),948=>array(34,-14,501,742),949=>array(35,-14,455,561),950=>array(44,-210,532,760),951=>array(51,-208,521,560),952=>array(49,-11,501,768),953=>array(60,0,239,547),954=>array(36,0,526,547),955=>array(-40,0,439,760),956=>array(-12,-208,533,547),957=>array(80,0,474,547),958=>array(34,-210,507,760),959=>array(41,-14,510,560),960=>array(49,-19,554,547),961=>array(14,-208,540,560),962=>array(66,-210,501,560),963=>array(51,-14,593,547),964=>array(76,0,546,547),965=>array(53,0,479,547),966=>array(66,-208,560,551),967=>array(-40,-208,560,547),968=>array(60,-208,608,547),969=>array(61,-14,694,547),970=>array(66,0,352,758),971=>array(53,0,479,758),972=>array(41,-14,525,800),973=>array(53,0,485,800),974=>array(61,-14,694,800),975=>array(42,-208,668,729),976=>array(72,-11,481,768),977=>array(59,-11,501,768),978=>array(87,0,631,729),979=>array(50,0,779,800),980=>array(87,0,631,913),981=>array(48,-208,542,760),982=>array(61,-14,772,547),983=>array(25,-188,599,547),984=>array(67,-207,675,742),985=>array(66,-208,519,560),986=>array(79,-210,607,729),987=>array(68,-210,552,547),988=>array(24,0,528,729),989=>array(-166,-208,450,760),990=>array(58,-2,576,729),991=>array(78,0,519,759),992=>array(98,-208,702,742),993=>array(19,-180,457,559),994=>array(32,-213,796,729),995=>array(78,-208,711,547),996=>array(39,-208,658,742),997=>array(40,-208,558,560),998=>array(24,-213,647,729),999=>array(-19,-14,558,575),1000=>array(-31,-208,594,745),1001=>array(-10,-208,513,560),1002=>array(-14,0,707,742),1003=>array(-26,0,584,560),1004=>array(29,-14,644,758),1005=>array(41,-14,526,758),1006=>array(27,-208,563,729),1007=>array(48,-208,505,726),1008=>array(8,-3,581,547),1009=>array(76,-208,540,560),1010=>array(41,-14,483,560),1011=>array(-102,-208,250,760),1012=>array(36,-14,672,742),1013=>array(49,-14,479,560),1014=>array(39,-14,469,560),1015=>array(24,0,520,729),1016=>array(-3,-208,530,760),1017=>array(38,-14,625,742),1018=>array(24,0,752,729),1019=>array(-10,-208,595,547),1020=>array(-21,-208,540,560),1021=>array(56,-14,644,742),1022=>array(38,-14,625,742),1023=>array(56,-14,644,742),1024=>array(24,0,567,927),1025=>array(24,0,567,913),1026=>array(64,-200,634,729),1027=>array(24,0,561,927),1028=>array(41,-14,634,742),1029=>array(5,-14,543,742),1030=>array(24,0,242,729),1031=>array(24,0,347,913),1032=>array(-148,-200,240,729),1033=>array(-27,0,900,729),1034=>array(24,0,856,729),1035=>array(46,0,617,729),1036=>array(24,0,672,927),1037=>array(24,0,649,927),1038=>array(22,0,597,928),1039=>array(38,-157,666,729),1040=>array(-48,0,554,729),1041=>array(24,0,571,729),1042=>array(24,0,563,729),1043=>array(24,0,561,729),1044=>array(-33,-157,662,729),1045=>array(24,0,567,729),1046=>array(-46,0,1000,729),1047=>array(1,-14,536,742),1048=>array(24,0,649,729),1049=>array(24,0,649,928),1050=>array(24,0,672,729),1051=>array(-27,0,652,729),1052=>array(24,0,752,729),1053=>array(24,0,653,729),1054=>array(36,-14,672,742),1055=>array(24,0,652,729),1056=>array(24,0,541,729),1057=>array(38,-14,625,742),1058=>array(39,0,608,729),1059=>array(22,0,597,729),1060=>array(48,0,729,729),1061=>array(-39,0,633,729),1062=>array(38,-157,666,729),1063=>array(98,0,593,729),1064=>array(24,0,938,729),1065=>array(38,-157,952,729),1066=>array(75,0,665,729),1067=>array(24,0,770,729),1068=>array(24,0,533,729),1069=>array(-5,-14,578,742),1070=>array(29,-14,931,742),1071=>array(-4,0,601,729),1072=>array(37,-14,492,560),1073=>array(28,-14,526,777),1074=>array(34,0,481,547),1075=>array(34,0,477,547),1076=>array(-13,-138,571,547),1077=>array(41,-14,514,560),1078=>array(-18,0,803,547),1079=>array(13,-14,439,561),1080=>array(34,0,551,547),1081=>array(34,0,551,760),1082=>array(34,0,538,547),1083=>array(-15,0,549,547),1084=>array(34,0,646,547),1085=>array(34,0,555,547),1086=>array(41,-14,510,560),1087=>array(34,0,555,547),1088=>array(-3,-208,530,560),1089=>array(41,-14,483,560),1090=>array(62,0,546,547),1091=>array(-22,-208,543,547),1092=>array(42,-208,731,729),1093=>array(-23,0,541,547),1094=>array(46,-138,567,547),1095=>array(84,0,498,547),1096=>array(34,0,790,547),1097=>array(46,-138,802,547),1098=>array(62,0,567,547),1099=>array(34,0,674,547),1100=>array(34,0,461,547),1101=>array(5,-14,446,560),1102=>array(37,-14,716,560),1103=>array(3,0,513,547),1104=>array(41,-14,514,802),1105=>array(41,-14,514,758),1106=>array(49,-208,497,760),1107=>array(34,0,529,803),1108=>array(42,-14,483,560),1109=>array(10,-14,450,560),1110=>array(31,0,246,760),1111=>array(31,0,344,758),1112=>array(-102,-208,250,760),1113=>array(-15,0,743,547),1114=>array(34,0,739,547),1115=>array(31,0,478,760),1116=>array(34,0,538,803),1117=>array(34,0,551,802),1118=>array(-22,-208,543,760),1119=>array(46,-138,567,547),1120=>array(32,-14,795,729),1121=>array(61,-14,694,547),1122=>array(44,0,619,729),1123=>array(32,0,520,729),1124=>array(29,-14,854,742),1125=>array(37,-14,664,560),1126=>array(-57,0,721,729),1127=>array(-26,0,635,547),1128=>array(24,0,958,729),1129=>array(37,0,831,547),1130=>array(-14,0,706,729),1131=>array(-0,0,550,547),1132=>array(24,0,921,729),1133=>array(35,0,741,547),1134=>array(-26,-208,523,935),1135=>array(-21,-193,466,753),1136=>array(65,0,819,729),1137=>array(69,-208,814,765),1138=>array(36,-14,672,742),1139=>array(49,-14,501,560),1140=>array(70,0,756,742),1141=>array(67,0,623,560),1142=>array(70,0,756,930),1143=>array(67,0,623,800),1144=>array(55,-208,915,742),1145=>array(60,-208,852,560),1146=>array(42,-14,815,742),1147=>array(41,-14,637,560),1148=>array(32,-14,1009,932),1149=>array(55,-14,862,758),1150=>array(32,-14,795,900),1151=>array(61,-14,694,734),1152=>array(41,-208,633,742),1153=>array(41,-208,481,560),1154=>array(20,-44,436,457),1155=>array(-473,608,-77,810),1156=>array(-347,645,-7,788),1157=>array(-284,595,-161,797),1158=>array(-295,595,-153,797),1159=>array(-711,606,0,788),1160=>array(-914,-180,374,922),1161=>array(-843,-280,319,1022),1162=>array(24,-208,649,928),1163=>array(35,-208,552,760),1164=>array(24,0,533,729),1165=>array(35,0,462,702),1166=>array(24,0,543,729),1167=>array(-3,-208,522,560),1168=>array(11,0,574,878),1169=>array(21,0,490,700),1170=>array(23,0,620,729),1171=>array(19,0,536,547),1172=>array(24,-200,561,729),1173=>array(31,-208,475,547),1174=>array(-33,-157,1014,729),1175=>array(-5,-138,814,547),1176=>array(1,-193,536,742),1177=>array(13,-193,439,561),1178=>array(38,-157,686,729),1179=>array(46,-138,549,547),1180=>array(24,0,672,729),1181=>array(34,0,538,547),1182=>array(24,0,672,729),1183=>array(15,0,519,760),1184=>array(71,0,804,729),1185=>array(53,0,644,547),1186=>array(38,-157,666,729),1187=>array(49,-138,570,547),1188=>array(24,0,972,729),1189=>array(35,0,822,547),1190=>array(24,-200,928,729),1191=>array(35,-208,774,547),1192=>array(40,-14,734,743),1193=>array(40,-14,580,560),1194=>array(38,-193,625,742),1195=>array(41,-193,483,560),1196=>array(60,-157,630,729),1197=>array(47,-138,534,547),1198=>array(57,0,608,729),1199=>array(64,-208,543,547),1200=>array(62,0,615,729),1201=>array(56,-208,572,547),1202=>array(-23,-157,652,729),1203=>array(-10,-138,554,547),1204=>array(60,-157,808,729),1205=>array(47,-138,683,547),1206=>array(127,-157,606,729),1207=>array(105,-138,510,547),1208=>array(114,0,593,729),1209=>array(92,0,496,547),1210=>array(107,0,601,729),1211=>array(31,0,510,760),1212=>array(37,-14,804,742),1213=>array(27,-14,619,560),1214=>array(37,-184,804,742),1215=>array(27,-161,619,560),1216=>array(24,0,242,729),1217=>array(-46,0,1000,928),1218=>array(-18,0,803,785),1219=>array(24,-200,649,729),1220=>array(34,-208,556,547),1221=>array(-42,-208,653,729),1222=>array(-33,-208,546,547),1223=>array(24,-200,653,729),1224=>array(35,-208,556,547),1225=>array(24,-208,653,729),1226=>array(35,-208,556,547),1227=>array(127,-157,606,729),1228=>array(105,-138,510,547),1229=>array(24,-208,752,729),1230=>array(35,-208,640,547),1231=>array(31,0,246,760),1232=>array(-48,0,562,926),1233=>array(37,-14,506,761),1234=>array(-48,0,554,913),1235=>array(37,-14,492,758),1236=>array(-41,0,895,729),1237=>array(37,-14,856,560),1238=>array(24,0,567,928),1239=>array(41,-14,514,785),1240=>array(46,-14,675,742),1241=>array(45,-14,507,560),1242=>array(46,-14,675,913),1243=>array(45,-14,507,758),1244=>array(-46,0,1000,913),1245=>array(-18,0,803,758),1246=>array(1,-14,536,913),1247=>array(13,-14,439,758),1248=>array(21,-31,587,729),1249=>array(-22,-213,499,547),1250=>array(24,0,649,899),1251=>array(34,0,551,745),1252=>array(24,0,649,913),1253=>array(34,0,551,758),1254=>array(36,-14,672,913),1255=>array(41,-14,510,758),1256=>array(36,-14,672,742),1257=>array(49,-14,501,560),1258=>array(36,-14,672,913),1259=>array(49,-14,501,758),1260=>array(-5,-14,578,913),1261=>array(5,-14,446,758),1262=>array(22,0,597,899),1263=>array(-22,-208,543,745),1264=>array(22,0,597,913),1265=>array(-22,-208,543,758),1266=>array(22,0,631,927),1267=>array(-22,-208,543,800),1268=>array(98,0,593,913),1269=>array(84,0,498,758),1270=>array(38,-157,574,729),1271=>array(46,-138,489,547),1272=>array(24,0,770,913),1273=>array(34,0,674,758),1274=>array(42,-208,637,729),1275=>array(38,-208,554,547),1276=>array(-20,-200,656,729),1277=>array(-4,-208,560,547),1278=>array(-37,0,638,729),1279=>array(-22,0,542,547),1280=>array(31,0,593,729),1281=>array(24,0,491,547),1282=>array(32,-14,849,729),1283=>array(23,-14,742,547),1284=>array(133,-14,821,742),1285=>array(104,-14,722,561),1286=>array(133,-208,540,742),1287=>array(104,-208,471,561),1288=>array(-43,-14,908,729),1289=>array(-33,-14,795,547),1290=>array(26,-14,953,729),1291=>array(35,-14,805,547),1292=>array(41,-14,661,742),1293=>array(42,-14,511,560),1294=>array(46,-14,639,729),1295=>array(33,-14,574,547),1296=>array(109,-14,609,742),1297=>array(35,-14,455,561),1298=>array(-9,-200,669,729),1299=>array(4,-208,567,547),1300=>array(-9,0,1092,729),1301=>array(-15,0,905,547),1302=>array(24,0,826,729),1303=>array(-3,-208,788,560),1304=>array(-4,0,926,729),1305=>array(3,-14,851,560),1306=>array(37,-129,672,742),1307=>array(41,-206,538,560),1308=>array(86,0,918,729),1309=>array(76,0,737,547),1310=>array(24,0,672,729),1311=>array(34,0,538,547),1312=>array(-27,-200,928,729),1313=>array(-15,-208,767,547),1314=>array(24,-200,928,729),1315=>array(34,-208,773,547),1316=>array(38,-157,666,729),1317=>array(46,-138,567,547),1329=>array(62,-29,644,729),1330=>array(14,0,596,743),1331=>array(59,0,646,743),1332=>array(50,0,641,743),1333=>array(62,-14,616,729),1334=>array(28,0,640,744),1335=>array(18,0,585,729),1336=>array(14,0,596,743),1337=>array(14,-14,763,743),1338=>array(21,-14,688,729),1339=>array(18,0,573,729),1340=>array(18,0,431,729),1341=>array(18,-14,795,729),1342=>array(100,-13,744,742),1343=>array(88,0,612,729),1344=>array(6,-26,604,729),1345=>array(39,-23,635,744),1346=>array(54,0,607,743),1347=>array(-2,0,644,735),1348=>array(62,-14,754,729),1349=>array(38,-14,593,743),1350=>array(48,-14,601,729),1351=>array(54,-15,638,729),1352=>array(14,0,596,743),1353=>array(63,-28,614,744),1354=>array(50,0,658,743),1355=>array(22,0,634,744),1356=>array(14,0,680,743),1357=>array(52,-14,642,729),1358=>array(54,0,610,729),1359=>array(40,-14,581,741),1360=>array(14,0,596,743),1361=>array(44,-14,600,743),1362=>array(18,0,515,729),1363=>array(50,0,677,729),1364=>array(-30,0,633,743),1365=>array(36,-14,672,742),1366=>array(28,-13,651,729),1369=>array(124,492,268,760),1370=>array(101,499,271,729),1371=>array(64,620,308,803),1372=>array(45,618,413,893),1373=>array(96,617,274,800),1374=>array(47,613,423,866),1375=>array(83,618,470,760),1377=>array(57,-14,840,547),1378=>array(-5,-208,501,560),1379=>array(47,-208,547,560),1380=>array(31,-208,552,560),1381=>array(63,-14,539,760),1382=>array(41,-208,535,560),1383=>array(31,0,487,760),1384=>array(-5,-208,501,560),1385=>array(-5,-208,662,560),1386=>array(41,-14,628,760),1387=>array(-5,-208,501,760),1388=>array(-5,-208,208,547),1389=>array(-5,-208,846,760),1390=>array(41,-14,545,760),1391=>array(63,-208,534,760),1392=>array(31,0,510,760),1393=>array(27,-15,465,760),1394=>array(31,-208,515,560),1395=>array(47,-14,563,768),1396=>array(63,-14,665,760),1397=>array(-104,-208,209,547),1398=>array(52,-14,534,760),1399=>array(-72,-208,403,560),1400=>array(31,0,510,560),1401=>array(-66,-208,305,547),1402=>array(57,-208,840,547),1403=>array(-20,-208,457,561),1404=>array(31,0,530,560),1405=>array(51,-14,530,547),1406=>array(63,-208,571,760),1407=>array(63,-14,808,560),1408=>array(-5,-208,501,560),1409=>array(28,-208,536,560),1410=>array(31,0,368,547),1411=>array(63,-208,808,760),1412=>array(-61,-208,525,560),1413=>array(40,-14,509,560),1414=>array(29,-208,689,760),1415=>array(63,-14,694,760),1417=>array(41,0,207,415),1418=>array(21,212,271,314),1456=>array(238,-217,338,-22),1457=>array(79,-217,412,-22),1458=>array(116,-217,426,-22),1459=>array(116,-217,426,-22),1460=>array(248,-159,328,-85),1461=>array(193,-159,382,-85),1462=>array(204,-217,393,-22),1463=>array(149,-159,426,-85),1464=>array(156,-193,433,-46),1465=>array(-7,625,73,698),1466=>array(-7,625,73,698),1467=>array(139,-237,412,-17),1468=>array(252,237,332,310),1469=>array(238,-217,338,-22),1470=>array(37,472,288,552),1471=>array(149,625,426,698),1472=>array(27,-98,239,645),1473=>array(627,625,707,698),1474=>array(146,625,225,698),1475=>array(44,0,222,547),1478=>array(-3,0,347,547),1479=>array(160,-217,437,-22),1488=>array(82,0,616,547),1489=>array(39,0,494,547),1490=>array(39,-5,345,547),1491=>array(122,0,556,547),1492=>array(91,0,555,547),1493=>array(82,0,259,547),1494=>array(89,0,369,547),1495=>array(82,0,558,547),1496=>array(127,-14,593,552),1497=>array(95,204,237,547),1498=>array(122,-208,458,547),1499=>array(39,0,481,547),1500=>array(122,0,539,729),1501=>array(82,0,576,547),1502=>array(67,0,582,555),1503=>array(45,-208,259,547),1504=>array(39,0,340,547),1505=>array(130,-14,583,547),1506=>array(26,-93,578,547),1507=>array(147,-208,546,547),1508=>array(82,0,561,547),1509=>array(134,-208,543,548),1510=>array(39,0,546,547),1511=>array(56,-208,666,546),1512=>array(122,0,484,547),1513=>array(106,0,695,547),1514=>array(9,-4,571,547),1520=>array(82,0,438,547),1521=>array(95,0,438,547),1522=>array(95,204,416,547),1523=>array(65,361,309,547),1524=>array(65,361,515,547),3647=>array(22,-138,518,769),3713=>array(24,-10,569,560),3714=>array(35,-17,584,568),3716=>array(41,-10,558,568),3719=>array(23,-238,399,568),3720=>array(61,-0,521,575),3722=>array(54,-234,608,568),3725=>array(26,-8,606,573),3732=>array(30,0,530,568),3733=>array(22,-15,530,579),3734=>array(76,-240,594,560),3735=>array(18,-8,568,571),3737=>array(-25,-8,566,568),3738=>array(10,-8,549,571),3739=>array(-6,-8,568,760),3740=>array(12,-8,691,614),3741=>array(41,-14,676,760),3742=>array(22,-8,620,561),3743=>array(5,-8,640,760),3745=>array(-8,-14,622,547),3746=>array(10,-8,625,760),3747=>array(36,-8,602,568),3749=>array(4,-8,543,568),3751=>array(23,-8,527,569),3754=>array(-5,-8,656,679),3755=>array(43,-12,710,575),3757=>array(24,-8,527,568),3758=>array(36,-8,665,605),3759=>array(120,-166,691,579),3760=>array(25,53,557,587),3761=>array(-519,639,-38,880),3762=>array(66,0,440,560),3763=>array(-321,0,440,820),3764=>array(-535,615,-66,926),3765=>array(-534,612,-16,926),3766=>array(-535,615,-66,926),3767=>array(-534,612,-16,926),3768=>array(-327,-350,-144,-38),3769=>array(-382,-306,-116,-40),3771=>array(-523,639,-40,880),3772=>array(-557,-284,9,-39),3773=>array(-4,-240,629,715),3776=>array(31,-14,336,560),3777=>array(31,-14,582,560),3778=>array(44,-5,375,896),3779=>array(91,-14,492,892),3780=>array(145,-11,395,886),3782=>array(25,-232,564,557),3784=>array(-343,632,-237,807),3785=>array(-515,609,-21,891),3786=>array(-536,598,21,869),3787=>array(-422,624,-157,904),3788=>array(-567,630,-2,875),3789=>array(-382,635,-197,820),3792=>array(59,-14,513,547),3793=>array(66,-75,541,576),3794=>array(15,-66,502,711),3795=>array(-51,-9,690,830),3796=>array(17,-83,504,711),3797=>array(17,-83,504,711),3798=>array(-6,-8,729,812),3799=>array(44,-240,589,560),3800=>array(73,-210,611,557),3801=>array(15,-4,607,571),3804=>array(43,-12,901,575),3805=>array(43,-12,925,575),4256=>array(115,-15,828,828),4257=>array(145,-0,646,828),4258=>array(158,-148,586,837),4259=>array(104,-15,804,828),4260=>array(145,0,587,837),4261=>array(143,0,739,837),4262=>array(156,-15,668,828),4263=>array(119,-15,893,837),4264=>array(149,0,489,874),4265=>array(120,0,576,828),4266=>array(106,-15,744,828),4267=>array(92,-15,839,828),4268=>array(44,0,605,828),4269=>array(111,-167,792,837),4270=>array(154,-15,792,837),4271=>array(152,0,655,828),4272=>array(80,-15,865,828),4273=>array(97,-15,549,828),4274=>array(43,-0,605,837),4275=>array(111,-182,792,837),4276=>array(131,0,823,834),4277=>array(114,0,703,828),4278=>array(41,-15,606,837),4279=>array(140,0,646,828),4280=>array(80,-15,650,828),4281=>array(44,0,555,828),4282=>array(119,-15,782,837),4283=>array(95,-15,826,828),4284=>array(43,-0,618,828),4285=>array(84,-15,576,837),4286=>array(43,-0,655,828),4287=>array(60,0,771,828),4288=>array(121,-15,803,828),4289=>array(44,0,564,828),4290=>array(89,-15,611,837),4291=>array(114,0,624,828),4292=>array(143,0,631,828),4293=>array(54,-15,744,837),4304=>array(71,-15,439,592),4305=>array(81,-14,459,837),4306=>array(30,-235,474,551),4307=>array(45,-230,725,547),4308=>array(25,-236,458,547),4309=>array(24,-236,469,547),4310=>array(72,-14,442,836),4311=>array(79,-14,718,547),4312=>array(84,0,463,547),4313=>array(19,-236,459,542),4314=>array(90,-230,964,552),4315=>array(81,-15,527,837),4316=>array(87,-15,534,833),4317=>array(86,-0,706,547),4318=>array(72,-15,496,833),4319=>array(24,-236,505,551),4320=>array(85,0,714,833),4321=>array(90,-15,458,827),4322=>array(55,-236,565,680),4323=>array(27,-236,479,571),4324=>array(88,-236,740,547),4325=>array(24,-236,549,828),4326=>array(89,-230,712,546),4327=>array(24,-236,503,538),4328=>array(74,-15,530,837),4329=>array(44,0,472,837),4330=>array(55,-236,512,532),4331=>array(80,-14,558,828),4332=>array(88,-15,586,837),4333=>array(33,-236,513,827),4334=>array(93,-15,465,827),4335=>array(-14,-235,431,572),4336=>array(68,-15,508,837),4337=>array(83,-15,523,837),4338=>array(21,-141,452,547),4339=>array(24,-236,504,546),4340=>array(25,-236,518,837),4341=>array(61,-15,555,837),4342=>array(82,-236,738,547),4343=>array(23,-236,454,547),4344=>array(25,-236,450,538),4345=>array(76,-236,521,551),4346=>array(69,-77,465,547),4347=>array(33,-10,397,484),4348=>array(139,420,388,837),5121=>array(70,1,672,730),5122=>array(-57,0,545,1037),5123=>array(-57,0,545,729),5124=>array(-57,0,545,914),5125=>array(24,0,650,729),5126=>array(24,0,650,914),5127=>array(24,0,650,913),5129=>array(24,0,650,729),5130=>array(42,0,668,729),5131=>array(42,0,668,914),5132=>array(79,1,808,730),5133=>array(70,1,708,730),5134=>array(79,0,681,729),5135=>array(-57,0,708,729),5136=>array(79,0,681,914),5137=>array(-57,0,708,914),5138=>array(79,0,828,729),5139=>array(24,0,827,729),5140=>array(79,0,828,914),5141=>array(24,0,827,914),5142=>array(24,0,671,914),5143=>array(79,0,846,729),5144=>array(42,0,827,729),5145=>array(79,0,846,914),5146=>array(42,0,827,914),5147=>array(42,0,668,914),5149=>array(80,629,187,729),5150=>array(24,326,404,734),5151=>array(18,356,349,714),5152=>array(64,356,303,714),5153=>array(60,398,325,674),5154=>array(36,391,302,667),5155=>array(37,398,305,667),5156=>array(60,398,301,667),5157=>array(0,327,396,733),5158=>array(24,326,333,734),5159=>array(79,312,187,412),5160=>array(55,503,307,563),5161=>array(55,399,307,667),5162=>array(75,399,327,691),5163=>array(70,1,902,730),5164=>array(-57,0,739,729),5165=>array(24,0,779,729),5166=>array(42,0,927,729),5167=>array(70,0,668,729),5168=>array(-57,0,545,1037),5169=>array(-57,0,545,729),5170=>array(-57,0,545,914),5171=>array(-12,0,614,729),5172=>array(-12,0,614,914),5173=>array(-12,0,614,913),5175=>array(-12,0,614,729),5176=>array(42,0,668,729),5177=>array(42,0,668,914),5178=>array(79,0,804,729),5179=>array(70,0,708,729),5180=>array(79,0,681,729),5181=>array(-57,0,708,729),5182=>array(79,0,681,914),5183=>array(-57,0,708,914),5184=>array(79,0,792,729),5185=>array(-12,0,827,729),5186=>array(79,0,792,914),5187=>array(-12,0,827,914),5188=>array(79,0,846,729),5189=>array(42,0,827,729),5190=>array(79,0,846,914),5191=>array(42,0,827,914),5192=>array(42,0,668,913),5193=>array(55,326,444,734),5194=>array(24,326,159,734),5196=>array(63,-14,646,729),5197=>array(13,0,595,1037),5198=>array(13,0,595,743),5199=>array(13,0,595,914),5200=>array(-12,0,604,729),5201=>array(-12,0,604,914),5202=>array(-12,0,604,913),5204=>array(-12,0,604,729),5205=>array(53,0,668,729),5206=>array(53,0,668,914),5207=>array(79,-14,816,729),5208=>array(63,-14,756,729),5209=>array(79,0,765,743),5210=>array(13,0,756,743),5211=>array(79,0,765,914),5212=>array(13,0,756,914),5213=>array(79,0,782,729),5214=>array(-12,0,767,729),5215=>array(79,0,782,914),5216=>array(-12,0,767,914),5217=>array(79,0,864,729),5218=>array(53,0,767,729),5219=>array(79,0,864,914),5220=>array(53,0,767,914),5221=>array(51,0,864,729),5222=>array(60,326,377,734),5223=>array(63,-14,776,734),5224=>array(13,0,776,743),5225=>array(-12,0,766,734),5226=>array(53,0,788,734),5227=>array(55,0,501,743),5228=>array(23,0,560,1037),5229=>array(23,0,560,743),5230=>array(23,0,560,914),5231=>array(6,-14,542,729),5232=>array(6,-14,591,914),5233=>array(6,-14,676,913),5234=>array(64,-14,510,729),5235=>array(64,-14,510,914),5236=>array(79,0,710,743),5237=>array(55,0,650,743),5238=>array(79,0,728,743),5239=>array(23,0,691,743),5240=>array(79,0,728,914),5241=>array(23,0,691,914),5242=>array(79,-14,751,729),5243=>array(6,-14,650,729),5244=>array(79,-14,799,914),5245=>array(6,-14,650,914),5246=>array(79,-14,678,729),5247=>array(64,-14,691,729),5248=>array(79,-14,678,914),5249=>array(64,-14,691,914),5250=>array(51,-14,678,729),5251=>array(46,318,328,734),5252=>array(8,318,342,734),5253=>array(55,0,662,743),5254=>array(23,0,684,743),5255=>array(6,-14,662,734),5256=>array(64,-14,684,734),5257=>array(55,0,501,743),5258=>array(23,0,560,1037),5259=>array(23,0,560,743),5260=>array(23,0,560,914),5261=>array(6,-14,542,729),5262=>array(6,-14,591,914),5263=>array(6,-14,676,913),5264=>array(64,-14,510,729),5265=>array(64,-14,510,914),5266=>array(79,0,710,743),5267=>array(55,0,650,743),5268=>array(79,0,728,743),5269=>array(23,0,691,743),5270=>array(79,0,728,914),5271=>array(23,0,691,914),5272=>array(79,-14,751,729),5273=>array(6,-14,650,729),5274=>array(79,-14,799,914),5275=>array(6,-14,650,914),5276=>array(79,-14,678,729),5277=>array(64,-14,691,729),5278=>array(79,-14,678,914),5279=>array(64,-14,691,914),5280=>array(51,-14,678,729),5281=>array(46,318,328,734),5282=>array(43,318,378,734),5283=>array(101,0,524,729),5284=>array(24,0,561,1037),5285=>array(24,0,561,729),5286=>array(24,0,561,914),5287=>array(-12,0,524,729),5288=>array(-12,0,577,914),5289=>array(-12,0,662,913),5290=>array(24,0,448,729),5291=>array(24,0,448,914),5292=>array(79,0,650,729),5293=>array(101,0,648,729),5294=>array(79,0,730,729),5295=>array(24,0,644,729),5296=>array(79,0,730,914),5297=>array(24,0,644,914),5298=>array(79,0,650,729),5299=>array(-12,0,648,729),5300=>array(79,0,702,914),5301=>array(-12,0,648,914),5302=>array(79,0,618,729),5303=>array(24,0,644,729),5304=>array(79,0,618,914),5305=>array(24,0,644,914),5306=>array(51,0,618,729),5307=>array(24,326,271,734),5308=>array(55,326,444,734),5309=>array(24,326,333,734),5312=>array(77,-14,743,436),5313=>array(26,-14,754,755),5314=>array(26,-14,754,436),5315=>array(0,-14,728,636),5316=>array(13,0,740,450),5317=>array(13,0,740,636),5318=>array(13,0,740,635),5319=>array(24,0,689,450),5320=>array(24,0,689,636),5321=>array(79,-14,938,436),5322=>array(77,-14,888,436),5323=>array(79,0,898,450),5324=>array(24,0,690,450),5325=>array(79,0,898,636),5326=>array(24,0,690,636),5327=>array(24,0,689,635),5328=>array(59,484,478,736),5329=>array(43,318,395,734),5330=>array(38,484,493,736),5331=>array(77,0,743,450),5332=>array(26,0,754,755),5333=>array(26,0,754,450),5334=>array(26,0,754,636),5335=>array(13,0,740,450),5336=>array(13,0,740,636),5337=>array(13,0,740,635),5338=>array(24,0,689,450),5339=>array(24,0,689,636),5340=>array(79,0,938,450),5341=>array(77,0,888,450),5342=>array(79,0,962,450),5343=>array(26,0,883,450),5344=>array(79,0,962,636),5345=>array(26,0,883,636),5346=>array(79,0,937,450),5347=>array(13,0,888,450),5348=>array(79,0,937,636),5349=>array(13,0,888,636),5350=>array(79,0,898,450),5351=>array(24,0,883,450),5352=>array(79,0,898,636),5353=>array(24,0,883,636),5354=>array(60,484,478,736),5356=>array(15,0,668,729),5357=>array(85,0,457,729),5358=>array(24,0,696,1037),5359=>array(24,0,576,729),5360=>array(24,0,625,914),5361=>array(-33,0,519,729),5362=>array(-33,0,570,914),5363=>array(-33,0,655,913),5364=>array(86,0,458,729),5365=>array(86,0,458,914),5366=>array(79,0,665,729),5367=>array(85,0,635,729),5368=>array(79,0,746,729),5369=>array(24,0,650,729),5370=>array(79,0,795,914),5371=>array(24,0,650,914),5372=>array(79,0,727,729),5373=>array(-33,0,635,729),5374=>array(79,0,778,914),5375=>array(-33,0,635,914),5376=>array(79,0,628,729),5377=>array(86,0,650,729),5378=>array(79,0,628,914),5379=>array(86,0,650,914),5380=>array(51,0,628,729),5381=>array(58,326,299,734),5382=>array(29,318,339,741),5383=>array(24,326,363,734),5392=>array(56,-14,584,743),5393=>array(-5,-14,646,743),5394=>array(-5,-14,646,914),5395=>array(29,-14,774,464),5396=>array(29,-14,774,636),5397=>array(24,-14,779,464),5398=>array(24,-14,779,636),5399=>array(79,-14,763,743),5400=>array(56,-14,742,743),5401=>array(79,-14,824,743),5402=>array(-5,-14,742,743),5403=>array(79,-14,824,914),5404=>array(-5,-14,742,914),5405=>array(79,-14,998,464),5406=>array(29,-14,946,464),5407=>array(79,-14,998,636),5408=>array(29,-14,946,636),5409=>array(79,-14,1002,464),5410=>array(24,-14,946,464),5411=>array(79,-14,1002,636),5412=>array(24,-14,946,636),5413=>array(57,476,531,737),5414=>array(40,0,479,729),5415=>array(24,0,514,1037),5416=>array(24,0,514,729),5417=>array(24,0,514,914),5418=>array(50,0,540,729),5419=>array(50,0,594,914),5420=>array(50,0,679,913),5421=>array(86,0,524,729),5422=>array(86,0,524,914),5423=>array(79,0,674,729),5424=>array(40,0,659,729),5425=>array(79,0,685,729),5426=>array(24,0,693,729),5427=>array(79,0,685,914),5428=>array(24,0,693,914),5429=>array(79,0,735,729),5430=>array(50,0,659,729),5431=>array(79,0,790,914),5432=>array(50,0,659,914),5433=>array(79,0,694,729),5434=>array(86,0,693,729),5435=>array(79,0,694,914),5436=>array(86,0,693,914),5437=>array(51,0,694,729),5438=>array(58,326,334,734),5440=>array(55,399,307,667),5441=>array(24,326,414,734),5442=>array(89,-14,812,436),5443=>array(77,-14,775,436),5444=>array(-35,0,687,450),5445=>array(48,0,747,755),5446=>array(48,0,747,450),5447=>array(48,0,747,636),5448=>array(24,0,538,729),5449=>array(24,0,538,914),5450=>array(24,0,487,729),5451=>array(56,0,519,729),5452=>array(56,0,519,914),5453=>array(5,0,519,729),5454=>array(79,0,727,914),5455=>array(56,0,635,914),5456=>array(75,326,363,734),5458=>array(-12,0,642,729),5459=>array(103,0,671,744),5460=>array(21,-15,546,1037),5461=>array(21,-15,546,729),5462=>array(21,-15,546,914),5463=>array(-8,0,617,662),5464=>array(-8,0,617,914),5465=>array(48,0,658,662),5466=>array(48,0,658,914),5467=>array(79,0,836,914),5468=>array(48,0,827,914),5469=>array(58,326,435,685),5470=>array(54,-14,645,743),5471=>array(54,-14,626,743),5472=>array(33,-14,605,743),5473=>array(14,-14,605,743),5474=>array(33,-14,605,914),5475=>array(14,-14,605,914),5476=>array(-12,0,614,729),5477=>array(-12,0,614,914),5478=>array(43,0,664,729),5479=>array(43,0,664,914),5480=>array(79,0,860,914),5481=>array(43,0,767,914),5482=>array(55,326,444,734),5492=>array(49,0,683,743),5493=>array(40,0,747,743),5494=>array(40,0,747,914),5495=>array(0,-14,708,729),5496=>array(0,-14,708,914),5497=>array(65,-14,699,729),5498=>array(65,-14,699,914),5499=>array(68,318,447,734),5500=>array(24,0,653,729),5501=>array(24,326,414,734),5502=>array(75,0,936,1037),5503=>array(75,0,936,743),5504=>array(75,0,936,914),5505=>array(75,-14,919,734),5506=>array(75,-14,967,914),5507=>array(75,-14,887,734),5508=>array(75,-14,887,914),5509=>array(75,318,705,734),5514=>array(55,0,683,743),5515=>array(40,0,748,743),5516=>array(0,-14,708,729),5517=>array(65,-14,692,729),5518=>array(74,0,1127,1037),5519=>array(74,0,1127,743),5520=>array(74,0,1127,914),5521=>array(74,-14,879,736),5522=>array(74,-14,927,914),5523=>array(74,-14,1078,736),5524=>array(74,-14,1078,914),5525=>array(74,332,582,736),5526=>array(74,332,918,736),5536=>array(11,0,740,692),5537=>array(11,0,740,692),5538=>array(-21,-242,708,450),5539=>array(-21,-242,708,636),5540=>array(50,-242,711,450),5541=>array(50,-242,711,636),5542=>array(73,338,491,736),5543=>array(40,0,534,729),5544=>array(-30,0,529,729),5545=>array(-30,0,529,914),5546=>array(50,0,609,729),5547=>array(50,0,609,914),5548=>array(45,0,539,729),5549=>array(45,0,539,914),5550=>array(21,326,335,734),5551=>array(26,-14,517,729),5598=>array(24,0,640,729),5601=>array(88,0,704,729),5702=>array(24,326,401,734),5703=>array(24,240,401,820),5742=>array(24,0,374,306),5743=>array(75,0,878,743),5744=>array(74,0,1115,743),5745=>array(74,0,1463,743),5746=>array(74,0,1463,914),5747=>array(74,-14,1214,736),5748=>array(74,-14,1263,914),5749=>array(74,-14,1414,736),5750=>array(74,-14,1414,914),7424=>array(-21,0,458,547),7425=>array(-43,0,645,547),7426=>array(50,-14,856,560),7427=>array(0,0,479,547),7428=>array(41,-14,483,560),7429=>array(34,0,496,547),7430=>array(11,0,496,547),7431=>array(34,0,441,547),7432=>array(27,-14,444,561),7433=>array(18,-213,232,547),7434=>array(-42,-14,329,547),7435=>array(34,0,556,547),7436=>array(-8,0,414,560),7437=>array(34,0,646,547),7438=>array(34,0,551,547),7439=>array(41,-14,510,560),7440=>array(2,-14,444,560),7441=>array(49,22,567,524),7442=>array(33,57,557,489),7443=>array(51,2,568,543),7444=>array(45,-14,874,560),7446=>array(24,273,477,560),7447=>array(75,-14,527,273),7448=>array(18,0,447,547),7449=>array(-26,0,505,547),7450=>array(70,0,505,547),7451=>array(62,0,546,547),7452=>array(70,-16,508,547),7453=>array(36,37,609,495),7454=>array(50,38,799,496),7455=>array(-49,-238,583,560),7456=>array(64,0,544,547),7457=>array(76,0,737,547),7458=>array(-3,0,489,547),7459=>array(16,-14,439,547),7462=>array(30,0,497,560),7463=>array(-21,0,458,547),7464=>array(18,0,489,547),7465=>array(18,0,447,547),7466=>array(62,0,540,547),7467=>array(-15,0,549,547),7468=>array(-31,326,348,734),7469=>array(-34,326,546,734),7470=>array(20,326,350,734),7472=>array(20,326,403,734),7473=>array(20,326,353,734),7474=>array(0,326,338,734),7475=>array(31,318,413,742),7476=>array(20,326,407,734),7477=>array(20,326,147,734),7478=>array(-75,214,158,734),7479=>array(20,326,405,734),7480=>array(20,326,286,734),7481=>array(20,326,470,734),7482=>array(20,326,404,734),7483=>array(20,326,404,734),7484=>array(31,318,415,742),7485=>array(16,318,372,742),7486=>array(20,326,337,734),7487=>array(20,326,342,734),7488=>array(26,326,384,734),7489=>array(41,318,402,734),7490=>array(54,326,578,734),7491=>array(22,318,300,640),7492=>array(30,318,307,640),7493=>array(31,318,335,640),7494=>array(31,318,538,640),7495=>array(15,318,319,751),7496=>array(21,318,347,751),7497=>array(31,318,321,640),7498=>array(29,318,319,640),7499=>array(26,318,284,640),7500=>array(21,318,278,640),7501=>array(34,209,345,640),7502=>array(16,207,142,632),7503=>array(14,326,336,751),7504=>array(24,326,509,640),7505=>array(34,209,327,640),7506=>array(31,318,316,640),7507=>array(6,318,277,640),7508=>array(17,479,302,640),7509=>array(45,318,330,479),7510=>array(13,209,338,640),7511=>array(27,326,229,719),7512=>array(43,318,335,632),7513=>array(26,347,381,604),7514=>array(46,319,532,633),7515=>array(43,326,346,632),7517=>array(5,209,321,755),7518=>array(38,209,356,632),7519=>array(22,318,312,742),7520=>array(41,209,352,635),7521=>array(-21,209,348,633),7522=>array(16,0,142,425),7523=>array(24,0,260,313),7524=>array(43,-8,335,306),7525=>array(43,0,346,306),7526=>array(5,-117,321,429),7527=>array(38,-117,356,306),7528=>array(5,-117,334,313),7529=>array(41,-117,352,309),7530=>array(-21,-117,348,307),7543=>array(17,-208,525,560),7544=>array(20,326,407,734),7547=>array(3,0,331,547),7549=>array(-3,-208,587,560),7557=>array(27,-208,299,760),7579=>array(4,318,309,640),7580=>array(31,318,301,640),7581=>array(34,287,304,640),7582=>array(20,318,317,751),7583=>array(11,318,274,640),7584=>array(22,326,248,751),7585=>array(-47,209,144,632),7586=>array(34,209,346,632),7587=>array(53,209,345,632),7588=>array(17,326,171,751),7589=>array(46,326,149,632),7590=>array(5,326,206,632),7591=>array(5,326,206,632),7592=>array(-112,209,152,751),7593=>array(25,209,152,751),7594=>array(-8,209,152,751),7595=>array(22,326,264,640),7596=>array(34,209,520,640),7597=>array(56,209,541,633),7598=>array(-48,209,329,640),7599=>array(34,209,345,640),7600=>array(22,326,338,640),7601=>array(31,318,316,640),7602=>array(31,210,316,751),7603=>array(13,209,286,640),7604=>array(-58,209,249,751),7605=>array(38,209,238,719),7606=>array(37,318,404,632),7607=>array(32,318,348,632),7608=>array(45,317,317,632),7609=>array(46,326,308,632),7610=>array(-10,326,292,632),7611=>array(-3,326,300,632),7612=>array(7,209,311,632),7613=>array(0,296,303,632),7614=>array(-10,207,310,632),7615=>array(31,320,316,756),7620=>array(-407,616,-54,800),7621=>array(-425,616,-25,800),7622=>array(-425,616,-25,800),7623=>array(-396,616,-43,800),7624=>array(-281,616,79,800),7625=>array(-313,616,111,800),7680=>array(-48,-241,554,729),7681=>array(37,-241,492,560),7682=>array(24,0,563,913),7683=>array(32,-14,528,915),7684=>array(24,-184,563,729),7685=>array(32,-184,528,760),7686=>array(24,-157,563,729),7687=>array(32,-157,528,760),7688=>array(38,-193,625,928),7689=>array(41,-193,483,800),7690=>array(24,0,650,914),7691=>array(41,-14,606,942),7692=>array(24,-184,650,729),7693=>array(41,-184,576,760),7694=>array(24,-156,650,729),7695=>array(41,-157,576,760),7696=>array(24,-193,650,729),7697=>array(40,-193,576,760),7698=>array(24,-240,650,729),7699=>array(30,-240,576,760),7700=>array(24,0,567,1044),7701=>array(41,-14,514,887),7702=>array(24,0,567,1044),7703=>array(41,-14,547,887),7704=>array(24,-213,567,729),7705=>array(41,-213,514,560),7706=>array(24,-193,567,729),7707=>array(41,-193,514,560),7708=>array(24,-193,567,928),7709=>array(41,-193,528,780),7710=>array(24,0,528,914),7711=>array(61,0,431,942),7712=>array(40,-14,653,899),7713=>array(29,-208,537,745),7714=>array(24,0,653,914),7715=>array(31,0,510,942),7716=>array(24,-184,653,729),7717=>array(31,-184,510,760),7718=>array(24,0,653,913),7719=>array(31,0,528,913),7720=>array(-71,-193,653,729),7721=>array(-70,-193,510,760),7722=>array(24,-222,653,729),7723=>array(31,-222,510,760),7724=>array(-100,-193,242,729),7725=>array(-115,-193,246,760),7726=>array(24,0,403,1044),7727=>array(31,0,394,883),7728=>array(24,0,650,928),7729=>array(31,0,551,928),7730=>array(24,-184,650,729),7731=>array(31,-184,551,760),7732=>array(24,-157,650,729),7733=>array(31,-157,551,760),7734=>array(24,-184,448,729),7735=>array(-2,-184,246,760),7736=>array(24,-184,448,927),7737=>array(-2,-184,370,899),7738=>array(24,-157,448,729),7739=>array(-83,-157,246,760),7740=>array(24,-240,448,729),7741=>array(-110,-240,246,760),7742=>array(24,0,752,928),7743=>array(31,0,815,800),7744=>array(24,0,752,914),7745=>array(31,0,815,760),7746=>array(24,-184,752,729),7747=>array(31,-184,815,560),7748=>array(24,0,649,913),7749=>array(31,0,510,760),7750=>array(24,-184,649,729),7751=>array(31,-184,510,560),7752=>array(24,-157,649,729),7753=>array(31,-157,510,560),7754=>array(24,-240,649,729),7755=>array(31,-240,510,560),7756=>array(36,-14,672,1044),7757=>array(41,-14,566,883),7758=>array(36,-14,672,1043),7759=>array(41,-14,524,885),7760=>array(36,-14,672,1044),7761=>array(41,-14,510,887),7762=>array(36,-14,672,1045),7763=>array(41,-14,540,886),7764=>array(24,0,541,928),7765=>array(-3,-208,530,800),7766=>array(24,0,541,914),7767=>array(-3,-208,530,760),7768=>array(24,0,541,914),7769=>array(31,0,417,760),7770=>array(24,-184,541,729),7771=>array(-2,-184,417,560),7772=>array(24,-184,541,899),7773=>array(-2,-184,454,745),7774=>array(24,-157,541,729),7775=>array(-83,-157,417,560),7776=>array(5,-14,543,914),7777=>array(10,-14,450,760),7778=>array(5,-184,543,742),7779=>array(10,-184,450,560),7780=>array(5,-14,583,928),7781=>array(10,-14,578,800),7782=>array(5,-14,593,1042),7783=>array(10,-14,514,858),7784=>array(5,-184,543,914),7785=>array(10,-184,450,760),7786=>array(39,0,608,914),7787=>array(57,0,381,942),7788=>array(39,-184,608,729),7789=>array(57,-184,381,702),7790=>array(39,-157,608,729),7791=>array(17,-156,381,702),7792=>array(21,-241,608,729),7793=>array(-9,-240,381,702),7794=>array(52,-183,642,729),7795=>array(51,-183,530,547),7796=>array(52,-193,642,729),7797=>array(25,-193,530,547),7798=>array(52,-213,642,729),7799=>array(51,-213,530,547),7800=>array(52,-14,642,1044),7801=>array(51,-14,558,883),7802=>array(52,-14,642,1025),7803=>array(51,-14,530,867),7804=>array(70,0,668,936),7805=>array(64,0,544,777),7806=>array(70,-182,668,729),7807=>array(64,-184,544,547),7808=>array(86,0,918,931),7809=>array(76,0,737,802),7810=>array(86,0,918,931),7811=>array(76,0,737,803),7812=>array(86,0,918,913),7813=>array(76,0,737,758),7814=>array(86,0,918,913),7815=>array(76,0,737,760),7816=>array(86,-184,918,729),7817=>array(76,-184,737,547),7818=>array(-39,0,633,914),7819=>array(-23,0,541,760),7820=>array(-39,0,633,913),7821=>array(-23,0,541,758),7822=>array(57,0,608,914),7823=>array(-22,-208,543,760),7824=>array(-20,0,633,928),7825=>array(-3,0,489,800),7826=>array(-20,-184,633,729),7827=>array(-3,-184,489,547),7828=>array(-20,-157,633,729),7829=>array(-3,-157,489,547),7830=>array(31,-157,510,760),7831=>array(57,0,381,913),7832=>array(76,0,737,878),7833=>array(-22,-208,543,878),7834=>array(37,-14,700,760),7835=>array(61,0,431,942),7836=>array(-20,0,400,760),7837=>array(25,0,400,760),7838=>array(14,-14,614,743),7839=>array(34,-14,501,742),7840=>array(-48,-184,554,729),7841=>array(37,-184,492,560),7842=>array(-48,0,554,992),7843=>array(37,-14,500,810),7844=>array(-48,0,693,1028),7845=>array(37,-14,641,847),7846=>array(-48,0,554,1028),7847=>array(37,-14,492,847),7848=>array(-48,0,696,1044),7849=>array(37,-14,641,863),7850=>array(-48,0,577,1043),7851=>array(37,-14,521,862),7852=>array(-48,-184,554,928),7853=>array(37,-184,492,800),7854=>array(-48,0,584,1044),7855=>array(37,-14,535,868),7856=>array(-48,0,554,1044),7857=>array(37,-14,502,868),7858=>array(-48,0,554,1068),7859=>array(37,-14,497,895),7860=>array(-48,0,586,1043),7861=>array(37,-14,537,870),7862=>array(-48,-184,562,926),7863=>array(37,-184,506,761),7864=>array(24,-184,567,729),7865=>array(41,-184,514,560),7866=>array(24,0,567,992),7867=>array(41,-14,524,810),7868=>array(24,0,567,921),7869=>array(41,-14,514,777),7870=>array(24,0,684,1028),7871=>array(41,-14,667,847),7872=>array(24,0,567,1028),7873=>array(41,-14,514,847),7874=>array(24,0,688,1044),7875=>array(41,-14,671,863),7876=>array(24,0,568,1043),7877=>array(41,-14,552,862),7878=>array(24,-184,567,928),7879=>array(41,-184,514,800),7880=>array(24,0,331,992),7881=>array(31,0,303,810),7882=>array(-5,-184,242,729),7883=>array(-2,-184,246,760),7884=>array(36,-184,672,742),7885=>array(41,-184,510,560),7886=>array(36,-14,672,992),7887=>array(41,-14,518,810),7888=>array(36,-14,739,1028),7889=>array(41,-14,663,847),7890=>array(36,-14,672,1028),7891=>array(41,-14,510,847),7892=>array(36,-14,742,1044),7893=>array(41,-14,663,863),7894=>array(36,-14,672,1043),7895=>array(41,-14,543,862),7896=>array(36,-184,672,928),7897=>array(41,-184,510,800),7898=>array(31,-14,741,927),7899=>array(43,-14,591,800),7900=>array(31,-14,741,927),7901=>array(43,-14,591,800),7902=>array(31,-14,741,991),7903=>array(43,-14,591,810),7904=>array(31,-14,741,921),7905=>array(43,-14,591,777),7906=>array(31,-184,741,761),7907=>array(43,-184,591,609),7908=>array(52,-184,642,729),7909=>array(51,-184,530,547),7910=>array(52,-14,642,992),7911=>array(51,-14,530,810),7912=>array(50,-4,769,927),7913=>array(52,-14,648,800),7914=>array(50,-4,769,927),7915=>array(52,-14,648,800),7916=>array(50,-4,769,992),7917=>array(52,-14,648,810),7918=>array(50,-4,769,921),7919=>array(52,-14,648,777),7920=>array(50,-184,769,761),7921=>array(52,-184,648,615),7922=>array(57,0,608,931),7923=>array(-22,-208,543,802),7924=>array(57,-184,608,729),7925=>array(-22,-208,543,547),7926=>array(57,0,608,996),7927=>array(-22,-208,543,813),7928=>array(57,0,608,921),7929=>array(-22,-208,543,777),7930=>array(24,0,638,729),7931=>array(18,0,470,760),7936=>array(49,-12,581,797),7937=>array(49,-12,581,797),7938=>array(49,-12,581,800),7939=>array(49,-12,581,800),7940=>array(49,-12,581,800),7941=>array(49,-12,582,800),7942=>array(49,-12,581,928),7943=>array(49,-12,581,928),7944=>array(-48,0,554,797),7945=>array(-48,0,554,797),7946=>array(46,0,728,800),7947=>array(71,0,728,800),7948=>array(28,0,630,800),7949=>array(57,0,659,800),7950=>array(-26,0,576,928),7951=>array(4,0,606,928),7952=>array(35,-14,455,797),7953=>array(35,-14,455,797),7954=>array(35,-14,480,800),7955=>array(35,-14,479,800),7956=>array(35,-14,534,800),7957=>array(35,-14,548,800),7960=>array(47,0,638,797),7961=>array(71,0,638,797),7962=>array(46,0,868,800),7963=>array(71,0,875,800),7964=>array(47,0,807,800),7965=>array(70,0,833,800),7968=>array(51,-208,521,797),7969=>array(51,-208,521,797),7970=>array(51,-208,522,800),7971=>array(51,-208,521,800),7972=>array(51,-208,557,800),7973=>array(51,-208,588,800),7974=>array(51,-208,560,928),7975=>array(51,-208,550,928),7976=>array(47,0,729,797),7977=>array(71,0,728,797),7978=>array(46,0,954,800),7979=>array(71,0,956,800),7980=>array(47,0,900,800),7981=>array(70,0,922,800),7982=>array(100,0,816,928),7983=>array(98,0,828,928),7984=>array(60,0,254,797),7985=>array(60,0,251,797),7986=>array(9,0,371,800),7987=>array(38,0,377,800),7988=>array(46,0,422,800),7989=>array(48,0,426,800),7990=>array(60,0,388,928),7991=>array(60,0,386,928),7992=>array(47,0,318,797),7993=>array(71,0,313,797),7994=>array(46,0,547,800),7995=>array(71,0,547,800),7996=>array(47,0,489,800),7997=>array(70,0,516,800),7998=>array(100,0,417,928),7999=>array(98,0,420,928),8000=>array(41,-14,510,797),8001=>array(41,-14,510,797),8002=>array(41,-14,510,800),8003=>array(41,-14,510,800),8004=>array(41,-14,559,800),8005=>array(41,-14,576,800),8008=>array(47,-14,688,797),8009=>array(71,-14,728,797),8010=>array(46,-14,949,800),8011=>array(71,-14,954,800),8012=>array(47,-14,809,800),8013=>array(70,-14,837,800),8016=>array(53,0,479,797),8017=>array(53,0,479,797),8018=>array(53,0,483,800),8019=>array(53,0,479,800),8020=>array(53,0,541,800),8021=>array(53,0,550,800),8022=>array(53,0,516,928),8023=>array(53,0,501,928),8025=>array(71,0,764,797),8027=>array(71,0,957,800),8029=>array(70,0,970,800),8031=>array(98,0,867,928),8032=>array(61,-14,694,797),8033=>array(61,-14,694,797),8034=>array(61,-14,694,800),8035=>array(61,-14,694,800),8036=>array(61,-14,694,800),8037=>array(61,-14,694,800),8038=>array(61,-14,694,928),8039=>array(61,-14,694,928),8040=>array(4,0,685,797),8041=>array(41,0,722,797),8042=>array(46,0,943,800),8043=>array(71,0,949,800),8044=>array(47,0,814,800),8045=>array(70,0,838,800),8046=>array(100,0,792,928),8047=>array(98,0,820,928),8048=>array(49,-12,581,800),8049=>array(49,-12,581,800),8050=>array(35,-14,455,800),8051=>array(35,-14,505,800),8052=>array(51,-208,521,800),8053=>array(51,-208,557,800),8054=>array(45,0,239,800),8055=>array(60,0,388,800),8056=>array(41,-14,510,800),8057=>array(41,-14,525,800),8058=>array(53,0,479,800),8059=>array(53,0,485,800),8060=>array(61,-14,694,800),8061=>array(61,-14,694,800),8064=>array(49,-208,581,797),8065=>array(49,-208,581,797),8066=>array(49,-208,581,800),8067=>array(49,-208,581,800),8068=>array(49,-208,581,800),8069=>array(49,-208,582,800),8070=>array(49,-208,581,928),8071=>array(49,-208,581,928),8072=>array(-48,-208,554,797),8073=>array(-48,-208,554,797),8074=>array(46,-208,728,800),8075=>array(71,-208,728,800),8076=>array(28,-208,630,800),8077=>array(57,-208,659,800),8078=>array(-26,-208,576,928),8079=>array(4,-208,606,928),8080=>array(35,-208,521,797),8081=>array(35,-208,521,797),8082=>array(35,-208,522,800),8083=>array(35,-208,521,800),8084=>array(35,-208,557,800),8085=>array(35,-208,588,800),8086=>array(35,-208,560,928),8087=>array(35,-208,550,928),8088=>array(47,-208,729,797),8089=>array(71,-208,728,797),8090=>array(46,-208,954,800),8091=>array(71,-208,956,800),8092=>array(47,-208,900,800),8093=>array(70,-208,922,800),8094=>array(100,-208,816,928),8095=>array(98,-208,828,928),8096=>array(61,-208,694,797),8097=>array(61,-208,694,797),8098=>array(61,-208,694,800),8099=>array(61,-208,694,800),8100=>array(61,-208,694,800),8101=>array(61,-208,694,800),8102=>array(61,-208,694,928),8103=>array(61,-208,694,928),8104=>array(4,-208,685,797),8105=>array(41,-208,722,797),8106=>array(46,-208,943,800),8107=>array(71,-208,949,800),8108=>array(47,-208,814,800),8109=>array(70,-208,838,800),8110=>array(100,-208,792,928),8111=>array(98,-208,820,928),8112=>array(49,-12,581,785),8113=>array(49,-12,581,745),8114=>array(49,-208,581,800),8115=>array(49,-208,581,559),8116=>array(49,-208,581,800),8118=>array(49,-12,581,777),8119=>array(49,-208,581,777),8120=>array(-48,0,554,928),8121=>array(-48,0,554,899),8122=>array(-19,0,583,800),8123=>array(-48,0,554,800),8124=>array(-48,-208,554,729),8125=>array(215,595,357,797),8126=>array(123,-208,216,-45),8127=>array(215,595,357,797),8128=>array(147,639,462,777),8129=>array(166,659,491,928),8130=>array(35,-208,521,800),8131=>array(35,-208,521,560),8132=>array(35,-208,557,800),8134=>array(51,-208,525,777),8135=>array(35,-208,525,777),8136=>array(94,0,723,800),8137=>array(53,0,688,800),8138=>array(94,0,813,800),8139=>array(58,0,782,800),8140=>array(24,-208,653,729),8141=>array(104,595,466,800),8142=>array(123,595,499,800),8143=>array(176,595,491,928),8144=>array(60,0,360,785),8145=>array(60,0,337,745),8146=>array(60,0,352,978),8147=>array(66,0,405,978),8150=>array(55,0,370,777),8151=>array(60,0,400,928),8152=>array(24,0,354,928),8153=>array(24,0,352,899),8154=>array(94,0,404,800),8155=>array(55,0,368,800),8157=>array(124,595,463,800),8158=>array(134,595,512,800),8159=>array(176,595,491,928),8160=>array(53,0,479,785),8161=>array(53,0,479,745),8162=>array(53,0,479,978),8163=>array(53,0,510,978),8164=>array(14,-208,540,797),8165=>array(14,-208,540,797),8166=>array(53,0,479,777),8167=>array(53,0,502,928),8168=>array(57,0,608,928),8169=>array(57,0,608,899),8170=>array(94,0,819,800),8171=>array(50,0,827,800),8172=>array(71,0,615,797),8173=>array(166,659,444,978),8174=>array(166,659,498,978),8175=>array(171,617,350,800),8178=>array(61,-208,694,800),8179=>array(61,-208,694,547),8180=>array(61,-208,694,800),8182=>array(61,-14,694,777),8183=>array(61,-208,694,777),8184=>array(94,-14,811,800),8185=>array(57,-14,714,800),8186=>array(94,0,793,800),8187=>array(47,0,746,800),8188=>array(-31,-208,650,738),8189=>array(227,616,470,800),8190=>array(240,595,359,797),8208=>array(40,234,292,314),8209=>array(40,234,292,314),8210=>array(38,239,535,309),8211=>array(38,239,413,309),8212=>array(38,239,862,309),8213=>array(-6,239,906,309),8214=>array(114,-236,334,764),8215=>array(-9,-236,459,-9),8216=>array(118,489,289,729),8217=>array(121,489,293,729),8218=>array(2,-116,174,124),8219=>array(149,489,258,729),8220=>array(118,489,469,729),8221=>array(121,489,473,729),8222=>array(2,-116,354,124),8223=>array(83,489,371,729),8224=>array(38,-96,451,729),8225=>array(-16,-96,457,729),8226=>array(135,227,396,516),8227=>array(135,188,431,555),8228=>array(58,0,173,124),8229=>array(58,0,473,124),8230=>array(58,0,773,124),8231=>array(89,302,204,426),8240=>array(82,-14,1133,742),8241=>array(82,-14,1493,742),8242=>array(1,547,199,729),8243=>array(1,547,331,729),8244=>array(1,547,462,729),8245=>array(81,547,215,729),8246=>array(81,547,347,729),8247=>array(81,547,479,729),8248=>array(4,-236,300,-30),8249=>array(56,69,304,517),8250=>array(56,69,304,517),8251=>array(103,0,646,596),8252=>array(0,0,435,729),8253=>array(104,0,450,742),8254=>array(-9,686,459,755),8255=>array(-40,-237,763,-60),8256=>array(-40,752,763,929),8257=>array(-38,-236,257,229),8258=>array(26,-29,874,814),8259=>array(87,313,370,421),8260=>array(-236,-14,386,742),8261=>array(36,-132,378,760),8262=>array(-35,-132,308,760),8263=>array(78,0,843,742),8264=>array(110,0,658,742),8265=>array(0,0,641,742),8266=>array(88,-123,462,545),8267=>array(48,-96,570,729),8268=>array(101,227,349,516),8269=>array(101,227,349,516),8270=>array(26,-29,423,427),8271=>array(86,-116,259,517),8272=>array(-40,-237,763,929),8273=>array(26,-7,423,876),8274=>array(-8,-93,442,729),8275=>array(44,228,856,399),8276=>array(-40,-237,763,-60),8277=>array(144,98,638,631),8278=>array(116,149,471,589),8279=>array(1,547,594,729),8280=>array(163,125,620,613),8281=>array(139,120,653,608),8282=>array(46,0,267,729),8283=>array(46,-138,699,867),8284=>array(56,0,726,729),8285=>array(53,39,254,655),8286=>array(47,8,259,683),8304=>array(38,319,330,742),8305=>array(16,326,142,751),8308=>array(37,326,352,734),8309=>array(11,319,323,734),8310=>array(40,319,339,742),8311=>array(70,326,354,734),8312=>array(23,319,337,742),8313=>array(29,319,328,742),8314=>array(60,326,415,677),8315=>array(60,479,415,525),8316=>array(60,422,415,581),8317=>array(49,252,221,751),8318=>array(6,252,179,751),8319=>array(24,326,316,640),8320=>array(38,-7,330,416),8321=>array(59,0,313,408),8322=>array(32,0,347,416),8323=>array(14,-7,332,416),8324=>array(37,0,352,408),8325=>array(11,-7,323,408),8326=>array(40,-7,339,416),8327=>array(70,0,354,408),8328=>array(23,-7,337,416),8329=>array(29,-7,328,416),8330=>array(60,0,415,351),8331=>array(60,152,415,199),8332=>array(60,96,415,254),8333=>array(49,-74,221,425),8334=>array(6,-74,179,425),8336=>array(22,-8,300,313),8337=>array(31,-8,321,313),8338=>array(31,-8,316,313),8339=>array(24,0,374,306),8340=>array(29,-8,319,313),8341=>array(14,0,307,425),8342=>array(14,0,336,425),8343=>array(14,0,140,425),8344=>array(24,0,509,313),8345=>array(24,0,316,314),8346=>array(13,-117,338,313),8347=>array(26,0,297,322),8348=>array(27,0,229,393),8352=>array(52,0,778,729),8353=>array(38,-44,572,778),8354=>array(38,-14,572,742),8355=>array(28,0,591,729),8356=>array(21,0,574,742),8357=>array(34,-93,811,640),8358=>array(34,0,639,729),8359=>array(24,-14,1125,729),8360=>array(25,-14,927,729),8361=>array(39,0,924,729),8362=>array(-22,-14,743,729),8363=>array(41,-157,631,760),8364=>array(-18,-14,546,742),8365=>array(17,0,614,729),8366=>array(58,0,628,729),8367=>array(42,-222,1060,742),8368=>array(8,-14,521,742),8369=>array(24,0,589,729),8370=>array(29,-81,567,809),8371=>array(-57,0,569,729),8372=>array(35,-14,662,742),8373=>array(76,-147,550,760),8376=>array(33,0,628,729),8377=>array(50,0,591,729),8378=>array(-18,2,584,731),8400=>array(-453,635,-25,760),8401=>array(-435,635,-15,760),8406=>array(-423,560,-19,760),8407=>array(-428,560,-23,760),8411=>array(-325,659,126,758),8412=>array(-411,659,211,758),8417=>array(-423,560,-23,760),8448=>array(15,-24,846,752),8449=>array(15,-24,846,752),8450=>array(50,-14,580,742),8451=>array(85,-14,994,742),8452=>array(103,0,694,729),8453=>array(20,-24,832,752),8454=>array(20,-24,891,752),8455=>array(109,-14,609,742),8456=>array(-5,-146,578,611),8457=>array(85,0,825,742),8459=>array(32,-14,849,748),8460=>array(0,-128,624,731),8461=>array(88,0,677,729),8462=>array(31,0,510,760),8463=>array(40,0,510,760),8464=>array(26,-15,389,742),8465=>array(46,-14,593,742),8466=>array(30,-14,611,743),8467=>array(-13,-14,317,742),8468=>array(20,-14,686,760),8469=>array(87,0,634,729),8470=>array(-40,0,866,729),8471=>array(124,0,776,724),8472=>array(48,-221,592,495),8473=>array(88,0,600,729),8474=>array(50,-129,658,742),8475=>array(29,-9,688,774),8476=>array(36,-14,723,743),8477=>array(88,0,697,729),8478=>array(74,0,733,729),8479=>array(83,-107,603,847),8480=>array(114,443,693,730),8481=>array(29,0,889,547),8482=>array(129,447,706,729),8483=>array(13,-108,736,846),8484=>array(40,0,630,729),8485=>array(8,-213,565,760),8486=>array(-31,0,650,738),8487=>array(38,-14,718,724),8488=>array(10,-149,516,783),8489=>array(64,0,243,547),8490=>array(24,0,650,729),8491=>array(-48,0,554,928),8492=>array(40,0,661,772),8493=>array(57,-12,587,742),8494=>array(55,-12,714,647),8495=>array(38,-15,493,533),8496=>array(71,-14,509,742),8497=>array(37,-16,683,755),8498=>array(24,0,528,729),8499=>array(25,-28,929,751),8500=>array(45,-12,370,395),8501=>array(45,-14,641,742),8502=>array(-2,-14,588,743),8503=>array(12,-35,366,742),8504=>array(38,-35,532,742),8505=>array(31,0,320,760),8506=>array(40,-21,871,654),8507=>array(18,0,1078,547),8508=>array(16,-8,616,547),8509=>array(0,-194,602,560),8510=>array(88,0,584,729),8511=>array(88,0,676,729),8512=>array(11,-192,712,719),8513=>array(42,-14,655,742),8514=>array(53,0,476,729),8515=>array(3,0,539,729),8516=>array(-59,0,493,729),8517=>array(38,0,708,729),8518=>array(40,-14,639,760),8519=>array(40,-14,515,560),8520=>array(35,0,282,760),8521=>array(-103,-208,282,760),8523=>array(52,-14,668,742),8526=>array(-13,0,445,547),8528=>array(59,-14,866,742),8529=>array(59,-14,839,742),8530=>array(59,-14,1202,742),8531=>array(59,-14,843,742),8532=>array(32,-14,843,742),8533=>array(59,-14,834,742),8534=>array(32,-14,834,742),8535=>array(14,-14,834,742),8536=>array(37,-14,834,742),8537=>array(59,-14,850,742),8538=>array(11,-14,850,742),8539=>array(59,-14,849,742),8540=>array(14,-14,849,742),8541=>array(11,-14,849,742),8542=>array(70,-14,849,742),8543=>array(59,-14,747,742),8544=>array(24,0,242,729),8545=>array(24,0,419,729),8546=>array(24,0,597,729),8547=>array(24,0,883,729),8548=>array(70,0,668,729),8549=>array(70,0,806,729),8550=>array(70,0,984,729),8551=>array(70,0,1161,729),8552=>array(24,0,842,729),8553=>array(-39,0,633,729),8554=>array(-39,0,816,729),8555=>array(-39,0,993,729),8556=>array(24,0,448,729),8557=>array(38,-14,625,742),8558=>array(24,0,650,729),8559=>array(24,0,752,729),8560=>array(31,0,246,760),8561=>array(31,0,408,760),8562=>array(31,0,569,760),8563=>array(31,0,742,760),8564=>array(64,0,544,547),8565=>array(64,0,726,760),8566=>array(64,0,888,760),8567=>array(64,0,1049,760),8568=>array(31,0,745,760),8569=>array(-23,0,541,547),8570=>array(-23,0,736,760),8571=>array(-23,0,897,760),8572=>array(31,0,246,760),8573=>array(41,-14,483,560),8574=>array(41,-14,576,760),8575=>array(31,0,815,560),8576=>array(53,0,1068,729),8577=>array(24,0,640,729),8578=>array(53,0,1068,729),8579=>array(56,-14,644,742),8580=>array(2,-14,444,560),8581=>array(67,-208,651,742),8585=>array(38,-14,843,742),8592=>array(44,100,703,527),8593=>array(184,0,569,732),8594=>array(51,100,710,527),8595=>array(184,-3,569,729),8596=>array(44,100,710,527),8597=>array(184,-8,569,732),8598=>array(126,25,633,587),8599=>array(126,25,633,587),8600=>array(126,25,633,587),8601=>array(126,25,633,587),8602=>array(44,100,703,527),8603=>array(51,100,710,527),8604=>array(19,103,745,414),8605=>array(9,103,735,414),8606=>array(44,100,703,527),8607=>array(185,0,570,732),8608=>array(51,100,710,527),8609=>array(185,-3,570,729),8610=>array(44,100,703,527),8611=>array(51,100,710,527),8612=>array(44,100,703,527),8613=>array(185,0,569,732),8614=>array(51,100,710,527),8615=>array(185,-3,569,729),8616=>array(185,0,569,732),8617=>array(44,100,703,565),8618=>array(52,100,710,565),8619=>array(44,100,703,565),8620=>array(52,100,710,565),8621=>array(44,100,710,527),8622=>array(44,93,710,534),8623=>array(131,-2,632,730),8624=>array(152,0,567,743),8625=>array(188,0,603,743),8626=>array(152,-14,567,729),8627=>array(188,-14,603,729),8628=>array(209,-3,684,604),8629=>array(44,100,590,626),8630=>array(20,203,720,668),8631=>array(35,203,734,668),8632=>array(97,25,709,729),8633=>array(49,-46,705,673),8634=>array(92,62,686,680),8635=>array(69,62,663,680),8636=>array(44,272,703,527),8637=>array(44,100,703,355),8638=>array(339,0,569,732),8639=>array(184,0,415,732),8640=>array(51,272,710,527),8641=>array(51,100,710,355),8642=>array(339,0,569,732),8643=>array(184,0,415,732),8644=>array(44,-47,710,674),8645=>array(52,-3,701,732),8646=>array(44,-47,710,674),8647=>array(44,-47,703,674),8648=>array(53,0,702,732),8649=>array(52,-47,711,674),8650=>array(53,-3,702,729),8651=>array(44,7,710,620),8652=>array(44,7,710,620),8653=>array(44,100,703,527),8654=>array(44,94,710,533),8655=>array(51,100,710,527),8656=>array(44,100,703,527),8657=>array(185,0,570,732),8658=>array(51,100,710,527),8659=>array(185,-3,570,729),8660=>array(44,100,710,527),8661=>array(185,-8,570,732),8662=>array(126,-23,677,587),8663=>array(83,-23,633,587),8664=>array(83,25,633,636),8665=>array(126,25,677,636),8666=>array(44,100,703,527),8667=>array(51,100,710,527),8668=>array(44,100,703,527),8669=>array(51,100,710,527),8670=>array(184,0,569,732),8671=>array(184,-3,569,729),8672=>array(44,100,703,527),8673=>array(184,0,570,732),8674=>array(51,100,710,527),8675=>array(184,-3,570,729),8676=>array(47,99,703,528),8677=>array(51,99,708,528),8678=>array(24,65,703,562),8679=>array(154,0,601,754),8680=>array(31,65,710,562),8681=>array(154,-25,601,729),8682=>array(154,0,601,754),8683=>array(154,0,601,754),8684=>array(141,0,614,754),8685=>array(154,0,601,754),8686=>array(154,0,601,754),8687=>array(154,0,601,754),8688=>array(51,65,730,562),8689=>array(53,0,709,729),8690=>array(53,0,709,729),8691=>array(154,-25,601,754),8692=>array(51,100,710,527),8693=>array(52,-3,701,732),8694=>array(51,-193,710,820),8695=>array(44,94,703,533),8696=>array(51,94,710,533),8697=>array(44,94,710,533),8698=>array(44,94,703,533),8699=>array(51,94,710,533),8700=>array(44,94,710,533),8701=>array(24,96,703,531),8702=>array(51,96,730,531),8703=>array(24,96,730,531),8704=>array(7,0,608,729),8705=>array(59,-14,499,742),8706=>array(42,-14,424,662),8707=>array(88,0,511,729),8708=>array(88,-46,511,776),8709=>array(68,-10,716,710),8710=>array(-3,0,605,719),8711=>array(-3,0,605,719),8712=>array(77,-10,708,710),8713=>array(77,-139,708,836),8714=>array(95,76,551,550),8715=>array(77,-10,708,710),8716=>array(77,-139,708,836),8717=>array(95,76,551,550),8718=>array(132,0,441,485),8719=>array(68,-192,612,719),8720=>array(68,-192,612,719),8721=>array(11,-192,589,719),8722=>array(95,272,659,355),8723=>array(95,0,659,627),8724=>array(95,0,659,729),8725=>array(-66,-93,384,729),8726=>array(173,-54,477,768),8727=>array(115,0,640,627),8728=>array(142,160,421,470),8729=>array(151,168,413,458),8730=>array(26,-20,574,811),8731=>array(26,-20,574,933),8732=>array(26,-20,574,924),8733=>array(97,112,546,487),8734=>array(97,112,653,487),8735=>array(124,99,630,661),8736=>array(77,0,708,729),8737=>array(77,-53,708,729),8738=>array(104,-3,659,727),8739=>array(189,-214,260,771),8740=>array(44,-214,406,771),8741=>array(119,-214,331,771),8742=>array(44,-214,406,771),8743=>array(116,0,543,579),8744=>array(116,0,543,579),8745=>array(116,0,543,579),8746=>array(116,0,543,579),8747=>array(51,-212,417,757),8748=>array(51,-212,659,757),8749=>array(51,-212,900,757),8750=>array(51,-212,418,757),8751=>array(51,-212,659,757),8752=>array(51,-212,900,757),8753=>array(51,-212,470,757),8754=>array(51,-212,463,757),8755=>array(51,-212,464,757),8756=>array(53,100,520,604),8757=>array(53,100,520,604),8758=>array(70,100,164,604),8759=>array(53,100,520,604),8760=>array(95,272,659,552),8761=>array(95,78,659,552),8762=>array(95,78,659,552),8763=>array(95,78,659,552),8764=>array(95,228,659,399),8765=>array(95,228,659,399),8766=>array(71,149,683,479),8767=>array(95,42,659,584),8768=>array(91,0,246,627),8769=>array(95,77,659,553),8770=>array(95,133,659,454),8771=>array(95,172,659,494),8772=>array(95,47,659,603),8773=>array(95,90,659,594),8774=>array(95,11,659,594),8775=>array(95,-5,659,658),8776=>array(95,133,659,494),8777=>array(95,2,659,625),8778=>array(95,90,659,598),8779=>array(95,59,659,602),8780=>array(95,90,659,594),8781=>array(95,105,659,521),8782=>array(95,26,659,601),8783=>array(95,172,659,601),8784=>array(95,172,659,625),8785=>array(95,1,659,625),8786=>array(94,2,659,625),8787=>array(94,2,658,625),8788=>array(90,151,810,476),8789=>array(90,151,810,475),8790=>array(95,172,659,454),8791=>array(95,172,659,760),8792=>array(95,172,659,662),8793=>array(95,172,659,812),8794=>array(95,172,659,812),8795=>array(95,172,659,849),8796=>array(95,172,659,854),8797=>array(95,172,659,764),8798=>array(95,172,659,760),8799=>array(95,172,659,856),8800=>array(95,19,659,608),8801=>array(95,90,659,537),8802=>array(95,-24,659,650),8803=>array(95,0,659,629),8804=>array(95,0,659,582),8805=>array(95,0,659,582),8806=>array(96,-83,659,638),8807=>array(96,-83,659,638),8808=>array(96,-164,659,638),8809=>array(96,-164,659,638),8810=>array(65,22,877,609),8811=>array(65,22,877,609),8812=>array(77,-132,340,759),8813=>array(95,13,659,613),8814=>array(95,2,659,674),8815=>array(95,-47,659,625),8816=>array(95,-102,659,667),8817=>array(95,-102,659,667),8818=>array(95,-55,659,582),8819=>array(95,-40,659,582),8820=>array(95,-105,659,664),8821=>array(95,-102,659,667),8822=>array(91,-87,659,686),8823=>array(91,-87,659,686),8824=>array(91,-197,659,797),8825=>array(91,-197,659,797),8826=>array(95,-38,659,664),8827=>array(95,-38,659,664),8828=>array(95,-105,659,667),8829=>array(95,-105,659,667),8830=>array(95,-85,659,667),8831=>array(95,-85,659,667),8832=>array(95,-61,659,764),8833=>array(95,-138,659,687),8834=>array(89,80,665,546),8835=>array(89,80,665,546),8836=>array(89,-96,665,726),8837=>array(89,-100,665,722),8838=>array(83,0,659,613),8839=>array(95,0,671,613),8840=>array(83,-116,659,730),8841=>array(95,-116,671,730),8842=>array(83,-73,659,613),8843=>array(83,-73,659,613),8844=>array(116,0,543,579),8845=>array(116,0,543,579),8846=>array(116,2,543,582),8847=>array(95,0,659,568),8848=>array(95,0,659,568),8849=>array(95,-83,659,630),8850=>array(95,-83,659,630),8851=>array(95,0,607,626),8852=>array(95,0,607,626),8853=>array(82,-14,672,643),8854=>array(82,-14,672,643),8855=>array(82,-14,672,643),8856=>array(82,-14,672,643),8857=>array(82,-14,672,643),8858=>array(82,-14,672,643),8859=>array(82,-14,672,643),8860=>array(82,-14,672,643),8861=>array(82,-14,672,643),8862=>array(82,-14,672,643),8863=>array(82,-14,672,643),8864=>array(82,-14,672,643),8865=>array(82,-14,672,643),8866=>array(77,0,708,700),8867=>array(77,0,708,700),8868=>array(77,0,708,700),8869=>array(77,0,708,700),8870=>array(77,0,392,700),8871=>array(77,0,392,700),8872=>array(77,0,708,700),8873=>array(77,0,708,700),8874=>array(77,0,708,700),8875=>array(77,0,708,700),8876=>array(77,-40,708,740),8877=>array(77,-40,708,740),8878=>array(77,-40,708,740),8879=>array(77,-40,708,740),8880=>array(95,-43,652,670),8881=>array(95,-43,652,670),8882=>array(95,15,659,612),8883=>array(95,15,659,612),8884=>array(95,-48,659,674),8885=>array(95,-48,659,674),8886=>array(53,175,847,455),8887=>array(53,175,847,455),8888=>array(42,175,711,455),8889=>array(53,-47,701,674),8890=>array(104,0,364,701),8891=>array(88,0,571,740),8892=>array(88,0,571,740),8893=>array(88,0,571,740),8894=>array(124,0,630,562),8895=>array(124,0,630,562),8896=>array(-3,-192,741,719),8897=>array(-3,-192,741,719),8898=>array(62,-192,677,719),8899=>array(62,-192,677,719),8900=>array(2,-233,442,807),8901=>array(96,285,189,409),8902=>array(109,149,454,512),8903=>array(95,15,659,613),8904=>array(95,-30,805,657),8905=>array(95,-30,805,657),8906=>array(95,-30,805,657),8907=>array(95,-30,805,657),8908=>array(95,-30,805,657),8909=>array(95,172,659,494),8910=>array(43,0,616,579),8911=>array(43,0,616,579),8912=>array(83,-3,659,630),8913=>array(95,-3,671,630),8914=>array(92,0,662,663),8915=>array(92,-14,662,649),8916=>array(167,0,587,729),8917=>array(95,-100,659,729),8918=>array(95,46,659,581),8919=>array(95,46,659,581),8920=>array(65,22,1215,609),8921=>array(65,22,1215,609),8922=>array(95,-228,659,854),8923=>array(95,-228,659,854),8924=>array(95,0,659,582),8925=>array(95,0,659,582),8926=>array(95,-105,659,667),8927=>array(95,-105,659,667),8928=>array(95,-178,659,764),8929=>array(95,-178,659,764),8930=>array(95,-141,659,767),8931=>array(95,-141,659,767),8932=>array(95,-94,659,619),8933=>array(95,-94,659,619),8934=>array(95,-138,659,582),8935=>array(95,-138,659,582),8936=>array(95,-169,659,667),8937=>array(95,-171,663,667),8938=>array(95,-130,659,756),8939=>array(95,-130,659,756),8940=>array(95,-189,659,815),8941=>array(93,-189,657,815),8942=>array(403,-93,497,715),8943=>array(104,249,796,373),8944=>array(104,-93,796,715),8945=>array(104,-93,796,715),8946=>array(38,-10,862,710),8947=>array(77,-10,708,710),8948=>array(95,76,551,550),8949=>array(77,-10,708,910),8950=>array(77,-10,708,853),8951=>array(95,76,551,686),8952=>array(77,-144,708,710),8953=>array(77,-10,708,710),8954=>array(38,-10,862,710),8955=>array(77,-10,708,710),8956=>array(95,76,551,550),8957=>array(77,-10,708,853),8958=>array(95,76,551,686),8959=>array(95,0,689,720),8960=>array(56,-18,534,514),8961=>array(50,162,486,443),8962=>array(64,0,507,596),8963=>array(184,481,569,732),8964=>array(184,0,569,251),8965=>array(184,0,569,406),8966=>array(184,0,569,513),8967=>array(187,-31,386,791),8968=>array(-1,-132,342,760),8969=>array(115,-132,352,760),8970=>array(-1,-132,236,760),8971=>array(9,-132,352,760),8972=>array(332,-77,684,313),8973=>array(44,-77,396,313),8974=>array(332,243,684,634),8975=>array(44,243,396,634),8976=>array(95,140,659,421),8977=>array(2,126,459,634),8984=>array(108,0,792,759),8985=>array(95,140,659,421),8988=>array(78,425,422,760),8989=>array(124,425,422,760),8990=>array(65,-70,363,264),8991=>array(46,-70,391,264),8992=>array(189,-250,448,928),8993=>array(18,-237,277,942),8996=>array(68,227,969,575),8997=>array(68,0,969,575),8998=>array(68,0,1272,760),8999=>array(68,0,969,760),9000=>array(53,0,1247,729),9003=>array(0,0,1204,760),9004=>array(66,-91,720,748),9075=>array(73,0,273,547),9076=>array(82,-208,522,560),9077=>array(59,-14,692,547),9082=>array(49,-12,550,559),9085=>array(4,-228,678,102),9095=>array(68,0,987,748),9108=>array(15,0,771,727),9115=>array(77,-252,373,946),9116=>array(77,-252,163,942),9117=>array(77,-240,373,942),9118=>array(77,-252,373,946),9119=>array(287,-252,373,942),9120=>array(77,-240,373,942),9121=>array(77,-252,373,928),9122=>array(77,-252,163,942),9123=>array(77,-240,373,942),9124=>array(77,-252,373,928),9125=>array(287,-252,373,935),9126=>array(77,-240,373,935),9127=>array(296,-261,602,928),9128=>array(74,-252,378,940),9129=>array(296,-240,602,940),9130=>array(296,-256,378,943),9131=>array(74,-261,378,928),9132=>array(296,-252,602,940),9133=>array(74,-240,378,940),9134=>array(189,-250,277,942),9166=>array(24,65,703,729),9167=>array(82,0,769,596),9187=>array(66,-91,720,748),9189=>array(2,75,690,444),9192=>array(14,-129,498,294),9250=>array(-13,-14,505,760),9251=>array(23,-228,524,102),9312=>array(66,-10,740,738),9313=>array(66,-10,740,738),9314=>array(66,-10,740,738),9315=>array(66,-10,740,738),9316=>array(66,-10,740,738),9317=>array(66,-10,740,738),9318=>array(66,-10,740,738),9319=>array(66,-10,740,738),9320=>array(66,-10,740,738),9321=>array(66,-10,740,738),9472=>array(-9,242,551,326),9473=>array(-9,200,551,368),9474=>array(235,-302,306,973),9475=>array(200,-302,341,973),9476=>array(-9,242,551,326),9477=>array(-9,200,551,368),9478=>array(235,-302,306,973),9479=>array(200,-302,341,973),9480=>array(-9,242,551,326),9481=>array(-9,200,551,368),9482=>array(235,-302,306,973),9483=>array(200,-302,341,973),9484=>array(235,-302,551,326),9485=>array(235,-302,551,368),9486=>array(200,-302,551,326),9487=>array(200,-302,551,368),9488=>array(-9,-302,306,326),9489=>array(-9,-302,306,368),9490=>array(-9,-302,341,326),9491=>array(-9,-302,341,368),9492=>array(235,242,551,973),9493=>array(235,200,551,973),9494=>array(200,242,551,973),9495=>array(200,200,551,973),9496=>array(-9,242,306,973),9497=>array(-9,200,306,973),9498=>array(-9,242,341,973),9499=>array(-9,200,341,973),9500=>array(235,-302,551,973),9501=>array(235,-302,551,973),9502=>array(200,-302,551,973),9503=>array(200,-302,551,973),9504=>array(200,-302,551,973),9505=>array(200,-302,551,973),9506=>array(200,-302,551,973),9507=>array(200,-302,551,973),9508=>array(-9,-302,306,973),9509=>array(-9,-302,306,973),9510=>array(-9,-302,341,973),9511=>array(-9,-302,341,973),9512=>array(-9,-302,341,973),9513=>array(-9,-302,341,973),9514=>array(-9,-302,341,973),9515=>array(-9,-302,341,973),9516=>array(-9,-302,551,326),9517=>array(-9,-302,551,368),9518=>array(-9,-302,551,368),9519=>array(-9,-302,551,368),9520=>array(-9,-302,551,326),9521=>array(-9,-302,551,368),9522=>array(-9,-302,551,368),9523=>array(-9,-302,551,368),9524=>array(-9,242,551,973),9525=>array(-9,200,551,973),9526=>array(-9,200,551,973),9527=>array(-9,200,551,973),9528=>array(-9,242,551,973),9529=>array(-9,200,551,973),9530=>array(-9,200,551,973),9531=>array(-9,200,551,973),9532=>array(-9,-302,551,973),9533=>array(-9,-302,551,973),9534=>array(-9,-302,551,973),9535=>array(-9,-302,551,973),9536=>array(-9,-302,551,973),9537=>array(-9,-302,551,973),9538=>array(-9,-302,551,973),9539=>array(-9,-302,551,973),9540=>array(-9,-302,551,973),9541=>array(-9,-302,551,973),9542=>array(-9,-302,551,973),9543=>array(-9,-302,551,973),9544=>array(-9,-302,551,973),9545=>array(-9,-302,551,973),9546=>array(-9,-302,551,973),9547=>array(-9,-302,551,973),9548=>array(-9,242,551,326),9549=>array(-9,200,551,368),9550=>array(235,-302,306,973),9551=>array(200,-302,341,973),9552=>array(-9,158,551,410),9553=>array(165,-302,376,973),9554=>array(235,-302,551,410),9555=>array(165,-302,551,326),9556=>array(165,-302,551,410),9557=>array(-9,-302,306,410),9558=>array(-9,-302,376,326),9559=>array(-9,-302,376,410),9560=>array(235,158,551,973),9561=>array(165,242,551,973),9562=>array(165,158,551,973),9563=>array(-9,158,306,973),9564=>array(-9,242,376,973),9565=>array(-9,158,376,973),9566=>array(235,-302,551,973),9567=>array(165,-302,551,973),9568=>array(165,-302,551,973),9569=>array(-9,-302,306,973),9570=>array(-9,-302,376,973),9571=>array(-9,-302,376,973),9572=>array(-9,-302,551,410),9573=>array(-9,-302,551,326),9574=>array(-9,-302,551,410),9575=>array(-9,158,551,973),9576=>array(-9,242,551,973),9577=>array(-9,158,551,973),9578=>array(-9,-302,551,973),9579=>array(-9,-302,551,973),9580=>array(-9,-302,551,973),9581=>array(235,-302,551,326),9582=>array(-9,-302,306,326),9583=>array(-9,242,306,973),9584=>array(235,242,551,973),9585=>array(-48,-302,590,973),9586=>array(-48,-302,590,973),9587=>array(-48,-302,590,973),9588=>array(-9,242,280,326),9589=>array(235,284,306,973),9590=>array(279,242,551,326),9591=>array(235,-302,306,284),9592=>array(-9,200,280,368),9593=>array(200,284,341,973),9594=>array(279,200,551,368),9595=>array(200,-302,341,284),9596=>array(-9,200,551,368),9597=>array(200,-302,341,973),9598=>array(-9,200,551,368),9599=>array(200,-302,341,973),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,630,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(2,260,690,645),9697=>array(2,-125,690,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(135,227,396,516),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9729=>array(45,-2,854,360),9730=>array(44,0,763,729),9731=>array(75,-0,732,927),9732=>array(57,0,750,880),9733=>array(58,-4,749,723),9734=>array(58,-4,749,723),9735=>array(75,2,441,729),9736=>array(75,0,732,731),9737=>array(75,0,732,730),9738=>array(55,0,745,727),9739=>array(55,0,745,723),9740=>array(55,-1,549,722),9741=>array(55,0,857,723),9742=>array(62,0,1060,729),9743=>array(63,0,1062,729),9744=>array(81,0,727,729),9745=>array(80,0,727,729),9746=>array(80,0,727,729),9747=>array(67,78,411,656),9748=>array(44,0,783,933),9749=>array(66,0,740,731),9750=>array(75,0,732,731),9751=>array(75,0,732,727),9752=>array(70,0,737,729),9753=>array(75,140,732,574),9754=>array(75,113,732,569),9755=>array(75,113,732,569),9756=>array(78,104,729,569),9757=>array(64,0,483,724),9758=>array(78,103,729,569),9759=>array(64,-3,483,720),9760=>array(55,0,752,730),9761=>array(75,0,732,730),9762=>array(75,0,732,730),9763=>array(44,0,763,730),9764=>array(44,-2,558,727),9765=>array(75,0,597,731),9766=>array(75,-1,510,731),9767=>array(75,0,631,911),9768=>array(75,0,416,730),9769=>array(75,-1,732,729),9770=>array(78,0,729,730),9771=>array(75,0,733,731),9772=>array(75,0,565,731),9773=>array(75,0,732,730),9774=>array(75,0,732,730),9775=>array(75,0,732,730),9776=>array(75,0,726,729),9777=>array(75,0,727,729),9778=>array(75,0,726,729),9779=>array(75,0,726,729),9780=>array(75,0,726,729),9781=>array(75,0,726,729),9782=>array(75,0,726,729),9783=>array(75,0,726,729),9784=>array(71,3,735,721),9785=>array(75,-73,864,804),9786=>array(75,-73,864,804),9787=>array(75,-73,864,804),9788=>array(75,0,732,730),9789=>array(322,0,733,730),9790=>array(75,0,485,730),9791=>array(77,-102,476,732),9792=>array(77,-125,583,731),9793=>array(77,-14,583,843),9794=>array(71,-14,748,720),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9800=>array(41,0,766,731),9801=>array(80,0,727,730),9802=>array(84,0,722,731),9803=>array(101,31,706,679),9804=>array(125,0,681,730),9805=>array(48,-180,759,730),9806=>array(75,52,732,653),9807=>array(30,-96,777,730),9808=>array(74,-0,732,730),9809=>array(84,0,722,730),9810=>array(77,153,729,579),9811=>array(141,0,666,730),9812=>array(88,0,719,730),9813=>array(99,0,708,730),9814=>array(149,-1,657,729),9815=>array(192,0,615,730),9816=>array(148,0,659,730),9817=>array(133,-0,673,730),9818=>array(88,0,719,730),9819=>array(99,0,708,730),9820=>array(149,-1,657,729),9821=>array(192,0,615,730),9822=>array(146,0,661,730),9823=>array(133,-0,673,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9832=>array(95,-1,712,729),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),9840=>array(75,0,598,731),9841=>array(58,0,631,731),9842=>array(75,0,732,709),9843=>array(68,16,738,731),9844=>array(68,16,738,731),9845=>array(68,16,738,731),9846=>array(68,16,738,731),9847=>array(68,16,738,731),9848=>array(68,16,738,731),9849=>array(68,16,738,731),9850=>array(68,16,738,731),9851=>array(75,0,731,704),9852=>array(75,0,733,731),9853=>array(75,0,733,731),9854=>array(75,0,733,731),9855=>array(134,1,672,731),9856=>array(66,0,717,725),9857=>array(66,0,717,725),9858=>array(66,0,717,725),9859=>array(66,0,717,725),9860=>array(66,0,717,725),9861=>array(66,0,717,725),9862=>array(75,0,726,724),9863=>array(75,0,727,724),9864=>array(75,0,727,724),9865=>array(75,0,727,724),9866=>array(75,0,726,98),9867=>array(75,0,726,98),9868=>array(75,0,726,411),9869=>array(75,0,726,411),9870=>array(75,0,726,411),9871=>array(75,0,726,411),9872=>array(71,3,571,724),9873=>array(71,3,571,724),9874=>array(47,0,753,724),9875=>array(54,-10,681,725),9876=>array(40,0,605,722),9877=>array(55,-10,428,725),9878=>array(37,-10,730,725),9879=>array(44,0,734,725),9880=>array(38,0,578,725),9881=>array(85,-17,722,727),9882=>array(33,-9,604,726),9883=>array(114,0,687,721),9884=>array(114,0,686,722),9888=>array(44,0,756,721),9889=>array(75,2,558,730),9890=>array(77,-125,827,731),9891=>array(71,-206,921,720),9892=>array(77,-186,998,856),9893=>array(77,-125,753,917),9894=>array(118,-14,654,869),9895=>array(91,-170,667,884),9896=>array(168,-14,585,869),9897=>array(4,133,746,596),9898=>array(168,133,585,597),9899=>array(168,133,585,597),9900=>array(224,194,531,536),9901=>array(158,194,597,536),9902=>array(37,169,717,560),9903=>array(4,194,750,536),9904=>array(92,237,681,540),9905=>array(190,42,564,698),9906=>array(77,-125,583,731),9907=>array(151,-125,582,731),9908=>array(77,-125,582,731),9909=>array(77,-125,582,731),9910=>array(53,-118,712,643),9911=>array(175,-104,536,710),9912=>array(142,-125,489,731),9920=>array(38,4,716,553),9921=>array(38,4,716,724),9922=>array(38,4,716,553),9923=>array(38,4,716,724),9954=>array(77,-14,583,843),9985=>array(9,190,723,635),9986=>array(38,141,706,588),9987=>array(9,94,723,539),9988=>array(32,119,742,613),9990=>array(38,-14,716,742),9991=>array(38,-14,716,742),9992=>array(53,21,704,708),9993=>array(58,107,696,622),9996=>array(191,0,505,742),9997=>array(19,83,722,678),9998=>array(80,75,652,710),9999=>array(23,198,738,530),10000=>array(80,75,652,710),10001=>array(39,185,681,544),10002=>array(61,209,681,520),10003=>array(135,97,601,630),10004=>array(104,87,649,631),10005=>array(114,72,641,657),10006=>array(77,31,677,698),10007=>array(105,-9,631,732),10008=>array(110,0,679,739),10009=>array(49,0,705,729),10010=>array(49,0,705,729),10011=>array(49,0,705,729),10012=>array(49,0,705,729),10013=>array(148,0,606,729),10014=>array(118,0,610,729),10015=>array(140,0,615,729),10016=>array(49,0,705,729),10017=>array(82,-13,672,744),10018=>array(37,-14,717,742),10019=>array(38,-12,716,742),10020=>array(36,-14,718,742),10021=>array(37,-13,717,743),10022=>array(38,-14,717,745),10023=>array(38,-14,717,745),10025=>array(21,-9,733,743),10026=>array(38,-14,716,742),10027=>array(21,-9,733,743),10028=>array(21,-9,733,743),10029=>array(21,-9,733,743),10030=>array(21,-9,733,743),10031=>array(21,-9,733,743),10032=>array(22,12,734,714),10033=>array(58,0,696,729),10034=>array(66,0,688,729),10035=>array(49,0,705,729),10036=>array(28,-14,708,742),10037=>array(37,-14,717,742),10038=>array(82,-14,672,742),10039=>array(37,-14,717,742),10040=>array(37,-14,717,742),10041=>array(37,-14,717,742),10042=>array(49,0,705,729),10043=>array(73,-14,681,742),10044=>array(73,-14,681,742),10045=>array(76,-14,678,742),10046=>array(71,-14,683,742),10047=>array(48,0,706,709),10048=>array(48,0,706,709),10049=>array(37,-14,717,742),10050=>array(38,-14,716,742),10051=>array(71,-14,683,742),10052=>array(80,0,674,729),10053=>array(68,0,686,729),10054=>array(57,2,696,729),10055=>array(70,-13,684,742),10056=>array(42,-13,712,730),10057=>array(42,-13,712,730),10058=>array(37,-13,717,743),10059=>array(37,-13,717,743),10061=>array(44,-10,762,738),10063=>array(53,-49,753,729),10064=>array(53,0,753,777),10065=>array(53,-49,753,729),10066=>array(53,0,753,777),10070=>array(75,-2,732,728),10072=>array(339,-240,415,760),10073=>array(302,-240,452,760),10074=>array(228,-240,527,760),10075=>array(76,395,237,729),10076=>array(53,395,214,729),10077=>array(76,395,432,729),10078=>array(53,395,408,729),10081=>array(140,-93,695,851),10082=>array(182,-17,572,742),10083=>array(146,-17,607,742),10084=>array(48,83,706,645),10085=>array(151,-1,656,729),10086=>array(55,21,652,702),10087=>array(70,169,684,564),10088=>array(176,-139,583,769),10089=>array(176,-139,583,769),10090=>array(237,-132,517,758),10091=>array(237,-132,517,758),10092=>array(193,-240,546,760),10093=>array(208,-240,561,760),10094=>array(127,-240,617,760),10095=>array(137,-240,626,760),10096=>array(149,-240,590,760),10097=>array(165,-240,605,760),10098=>array(311,-241,482,760),10099=>array(272,-241,443,760),10100=>array(157,-163,571,760),10101=>array(183,-163,597,760),10102=>array(66,-10,740,738),10103=>array(66,-10,740,738),10104=>array(66,-10,740,738),10105=>array(66,-10,740,738),10106=>array(66,-10,740,738),10107=>array(66,-10,740,738),10108=>array(66,-10,740,738),10109=>array(66,-10,740,738),10110=>array(66,-10,740,738),10111=>array(66,-10,740,738),10112=>array(4,-52,750,780),10113=>array(4,-52,750,780),10114=>array(4,-52,750,780),10115=>array(4,-52,750,780),10116=>array(4,-52,750,780),10117=>array(4,-52,750,780),10118=>array(4,-52,750,780),10119=>array(4,-52,750,780),10120=>array(4,-52,750,780),10121=>array(4,-52,750,780),10122=>array(4,-52,750,780),10123=>array(4,-52,750,780),10124=>array(4,-52,750,780),10125=>array(4,-52,750,780),10126=>array(4,-52,750,780),10127=>array(4,-52,750,780),10128=>array(4,-52,750,780),10129=>array(4,-52,750,780),10130=>array(4,-52,750,780),10131=>array(4,-52,750,780),10132=>array(51,75,710,552),10136=>array(110,55,614,614),10137=>array(51,100,710,527),10138=>array(110,13,614,572),10139=>array(51,129,710,498),10140=>array(51,57,688,570),10141=>array(51,100,710,527),10142=>array(51,100,710,527),10143=>array(51,100,710,527),10144=>array(51,100,710,527),10145=>array(51,65,730,562),10146=>array(100,94,710,533),10147=>array(100,94,710,533),10148=>array(100,-4,710,631),10149=>array(51,100,710,548),10150=>array(51,79,710,527),10151=>array(216,-7,545,634),10152=>array(51,100,710,527),10153=>array(51,75,688,552),10154=>array(51,75,688,552),10155=>array(19,12,715,586),10156=>array(19,12,715,586),10157=>array(122,0,697,574),10158=>array(122,0,697,574),10159=>array(56,49,719,574),10161=>array(56,49,719,574),10162=>array(139,-20,649,585),10163=>array(57,157,710,470),10164=>array(72,55,614,655),10165=>array(51,173,710,454),10166=>array(73,-29,614,572),10167=>array(73,55,614,655),10168=>array(51,172,710,455),10169=>array(73,-28,614,572),10170=>array(50,84,710,543),10171=>array(66,140,702,487),10172=>array(71,167,697,460),10173=>array(71,118,697,509),10174=>array(51,81,710,546),10181=>array(0,-163,339,769),10182=>array(-47,-163,355,769),10208=>array(2,-233,442,807),10214=>array(-0,-132,437,760),10215=>array(-1,-132,436,760),10216=>array(80,-132,357,759),10217=>array(-6,-132,271,759),10218=>array(80,-132,507,759),10219=>array(-6,-132,420,759),10224=>array(40,0,715,732),10225=>array(39,-3,714,729),10226=>array(-16,53,683,659),10227=>array(35,61,733,666),10228=>array(51,-14,998,643),10229=>array(44,100,1239,527),10230=>array(51,100,1247,527),10231=>array(44,100,1247,527),10232=>array(44,100,1239,527),10233=>array(51,100,1247,527),10234=>array(44,100,1247,527),10235=>array(44,100,1239,527),10236=>array(51,100,1247,527),10237=>array(44,100,1239,527),10238=>array(51,100,1247,527),10239=>array(51,100,1247,527),10241=>array(132,635,264,781),10242=>array(132,358,264,505),10243=>array(132,358,264,781),10244=>array(132,81,264,228),10245=>array(132,81,264,781),10246=>array(132,81,264,505),10247=>array(132,81,264,781),10248=>array(396,635,527,781),10249=>array(132,635,527,781),10250=>array(132,358,527,781),10251=>array(132,358,527,781),10252=>array(132,81,527,781),10253=>array(132,81,527,781),10254=>array(132,81,527,781),10255=>array(132,81,527,781),10256=>array(396,358,527,505),10257=>array(132,358,527,781),10258=>array(132,358,527,505),10259=>array(132,358,527,781),10260=>array(132,81,527,505),10261=>array(132,81,527,781),10262=>array(132,81,527,505),10263=>array(132,81,527,781),10264=>array(396,358,527,781),10265=>array(132,358,527,781),10266=>array(132,358,527,781),10267=>array(132,358,527,781),10268=>array(132,81,527,781),10269=>array(132,81,527,781),10270=>array(132,81,527,781),10271=>array(132,81,527,781),10272=>array(396,81,527,228),10273=>array(132,81,527,781),10274=>array(132,81,527,505),10275=>array(132,81,527,781),10276=>array(132,81,527,228),10277=>array(132,81,527,781),10278=>array(132,81,527,505),10279=>array(132,81,527,781),10280=>array(396,81,527,781),10281=>array(132,81,527,781),10282=>array(132,81,527,781),10283=>array(132,81,527,781),10284=>array(132,81,527,781),10285=>array(132,81,527,781),10286=>array(132,81,527,781),10287=>array(132,81,527,781),10288=>array(396,81,527,505),10289=>array(132,81,527,781),10290=>array(132,81,527,505),10291=>array(132,81,527,781),10292=>array(132,81,527,505),10293=>array(132,81,527,781),10294=>array(132,81,527,505),10295=>array(132,81,527,781),10296=>array(396,81,527,781),10297=>array(132,81,527,781),10298=>array(132,81,527,781),10299=>array(132,81,527,781),10300=>array(132,81,527,781),10301=>array(132,81,527,781),10302=>array(132,81,527,781),10303=>array(132,81,527,781),10304=>array(132,-195,264,-49),10305=>array(132,-195,264,781),10306=>array(132,-195,264,505),10307=>array(132,-195,264,781),10308=>array(132,-195,264,228),10309=>array(132,-195,264,781),10310=>array(132,-195,264,505),10311=>array(132,-195,264,781),10312=>array(132,-195,527,781),10313=>array(132,-195,527,781),10314=>array(132,-195,527,781),10315=>array(132,-195,527,781),10316=>array(132,-195,527,781),10317=>array(132,-195,527,781),10318=>array(132,-195,527,781),10319=>array(132,-195,527,781),10320=>array(132,-195,527,505),10321=>array(132,-195,527,781),10322=>array(132,-195,527,505),10323=>array(132,-195,527,781),10324=>array(132,-195,527,505),10325=>array(132,-195,527,781),10326=>array(132,-195,527,505),10327=>array(132,-195,527,781),10328=>array(132,-195,527,781),10329=>array(132,-195,527,781),10330=>array(132,-195,527,781),10331=>array(132,-195,527,781),10332=>array(132,-195,527,781),10333=>array(132,-195,527,781),10334=>array(132,-195,527,781),10335=>array(132,-195,527,781),10336=>array(132,-195,527,228),10337=>array(132,-195,527,781),10338=>array(132,-195,527,505),10339=>array(132,-195,527,781),10340=>array(132,-195,527,228),10341=>array(132,-195,527,781),10342=>array(132,-195,527,505),10343=>array(132,-195,527,781),10344=>array(132,-195,527,781),10345=>array(132,-195,527,781),10346=>array(132,-195,527,781),10347=>array(132,-195,527,781),10348=>array(132,-195,527,781),10349=>array(132,-195,527,781),10350=>array(132,-195,527,781),10351=>array(132,-195,527,781),10352=>array(132,-195,527,505),10353=>array(132,-195,527,781),10354=>array(132,-195,527,505),10355=>array(132,-195,527,781),10356=>array(132,-195,527,505),10357=>array(132,-195,527,781),10358=>array(132,-195,527,505),10359=>array(132,-195,527,781),10360=>array(132,-195,527,781),10361=>array(132,-195,527,781),10362=>array(132,-195,527,781),10363=>array(132,-195,527,781),10364=>array(132,-195,527,781),10365=>array(132,-195,527,781),10366=>array(132,-195,527,781),10367=>array(132,-195,527,781),10368=>array(396,-195,527,-49),10369=>array(132,-195,527,781),10370=>array(132,-195,527,505),10371=>array(132,-195,527,781),10372=>array(132,-195,527,228),10373=>array(132,-195,527,781),10374=>array(132,-195,527,505),10375=>array(132,-195,527,781),10376=>array(396,-195,527,781),10377=>array(132,-195,527,781),10378=>array(132,-195,527,781),10379=>array(132,-195,527,781),10380=>array(132,-195,527,781),10381=>array(132,-195,527,781),10382=>array(132,-195,527,781),10383=>array(132,-195,527,781),10384=>array(396,-195,527,505),10385=>array(132,-195,527,781),10386=>array(132,-195,527,505),10387=>array(132,-195,527,781),10388=>array(132,-195,527,505),10389=>array(132,-195,527,781),10390=>array(132,-195,527,505),10391=>array(132,-195,527,781),10392=>array(396,-195,527,781),10393=>array(132,-195,527,781),10394=>array(132,-195,527,781),10395=>array(132,-195,527,781),10396=>array(132,-195,527,781),10397=>array(132,-195,527,781),10398=>array(132,-195,527,781),10399=>array(132,-195,527,781),10400=>array(396,-195,527,228),10401=>array(132,-195,527,781),10402=>array(132,-195,527,505),10403=>array(132,-195,527,781),10404=>array(132,-195,527,228),10405=>array(132,-195,527,781),10406=>array(132,-195,527,505),10407=>array(132,-195,527,781),10408=>array(396,-195,527,781),10409=>array(132,-195,527,781),10410=>array(132,-195,527,781),10411=>array(132,-195,527,781),10412=>array(132,-195,527,781),10413=>array(132,-195,527,781),10414=>array(132,-195,527,781),10415=>array(132,-195,527,781),10416=>array(396,-195,527,505),10417=>array(132,-195,527,781),10418=>array(132,-195,527,505),10419=>array(132,-195,527,781),10420=>array(132,-195,527,505),10421=>array(132,-195,527,781),10422=>array(132,-195,527,505),10423=>array(132,-195,527,781),10424=>array(396,-195,527,781),10425=>array(132,-195,527,781),10426=>array(132,-195,527,781),10427=>array(132,-195,527,781),10428=>array(132,-195,527,781),10429=>array(132,-195,527,781),10430=>array(132,-195,527,781),10431=>array(132,-195,527,781),10432=>array(132,-195,527,-49),10433=>array(132,-195,527,781),10434=>array(132,-195,527,505),10435=>array(132,-195,527,781),10436=>array(132,-195,527,228),10437=>array(132,-195,527,781),10438=>array(132,-195,527,505),10439=>array(132,-195,527,781),10440=>array(132,-195,527,781),10441=>array(132,-195,527,781),10442=>array(132,-195,527,781),10443=>array(132,-195,527,781),10444=>array(132,-195,527,781),10445=>array(132,-195,527,781),10446=>array(132,-195,527,781),10447=>array(132,-195,527,781),10448=>array(132,-195,527,505),10449=>array(132,-195,527,781),10450=>array(132,-195,527,505),10451=>array(132,-195,527,781),10452=>array(132,-195,527,505),10453=>array(132,-195,527,781),10454=>array(132,-195,527,505),10455=>array(132,-195,527,781),10456=>array(132,-195,527,781),10457=>array(132,-195,527,781),10458=>array(132,-195,527,781),10459=>array(132,-195,527,781),10460=>array(132,-195,527,781),10461=>array(132,-195,527,781),10462=>array(132,-195,527,781),10463=>array(132,-195,527,781),10464=>array(132,-195,527,228),10465=>array(132,-195,527,781),10466=>array(132,-195,527,505),10467=>array(132,-195,527,781),10468=>array(132,-195,527,228),10469=>array(132,-195,527,781),10470=>array(132,-195,527,505),10471=>array(132,-195,527,781),10472=>array(132,-195,527,781),10473=>array(132,-195,527,781),10474=>array(132,-195,527,781),10475=>array(132,-195,527,781),10476=>array(132,-195,527,781),10477=>array(132,-195,527,781),10478=>array(132,-195,527,781),10479=>array(132,-195,527,781),10480=>array(132,-195,527,505),10481=>array(132,-195,527,781),10482=>array(132,-195,527,505),10483=>array(132,-195,527,781),10484=>array(132,-195,527,505),10485=>array(132,-195,527,781),10486=>array(132,-195,527,505),10487=>array(132,-195,527,781),10488=>array(132,-195,527,781),10489=>array(132,-195,527,781),10490=>array(132,-195,527,781),10491=>array(132,-195,527,781),10492=>array(132,-195,527,781),10493=>array(132,-195,527,781),10494=>array(132,-195,527,781),10495=>array(132,-195,527,781),10502=>array(44,100,703,527),10503=>array(51,100,710,527),10506=>array(112,0,642,732),10507=>array(112,-3,642,729),10560=>array(35,63,580,838),10561=>array(35,63,580,838),10627=>array(106,-163,629,760),10628=>array(31,-163,554,760),10702=>array(95,-226,659,747),10703=>array(95,15,805,612),10704=>array(95,15,805,612),10705=>array(95,-30,805,657),10706=>array(95,-30,805,657),10707=>array(95,-30,805,657),10708=>array(95,-30,805,657),10709=>array(95,-30,805,657),10731=>array(2,-233,442,807),10746=>array(95,0,659,627),10747=>array(95,0,659,627),10752=>array(25,-198,875,748),10753=>array(25,-198,875,748),10754=>array(25,-198,875,748),10764=>array(51,-212,1142,757),10765=>array(51,-212,418,757),10766=>array(51,-212,418,757),10767=>array(51,-212,418,757),10768=>array(51,-212,418,757),10769=>array(51,-212,470,757),10770=>array(51,-212,418,757),10771=>array(51,-212,418,757),10772=>array(51,-212,500,757),10773=>array(51,-212,418,757),10774=>array(51,-212,418,757),10775=>array(-29,-212,498,757),10776=>array(51,-212,418,757),10777=>array(51,-212,418,757),10778=>array(51,-212,418,757),10779=>array(51,-212,422,872),10780=>array(47,-327,417,757),10799=>array(123,31,631,596),10858=>array(95,228,659,552),10859=>array(95,78,659,552),10877=>array(95,-123,659,581),10878=>array(95,-123,659,581),10879=>array(95,-123,660,581),10880=>array(95,-123,659,581),10881=>array(95,-123,659,644),10882=>array(95,-123,659,644),10883=>array(95,-123,660,759),10884=>array(95,-123,659,756),10885=>array(95,-132,659,663),10886=>array(95,-132,659,663),10887=>array(95,-121,659,582),10888=>array(95,-121,659,582),10889=>array(95,-204,659,663),10890=>array(95,-204,659,663),10891=>array(95,-311,659,791),10892=>array(95,-311,659,791),10893=>array(95,-125,659,663),10894=>array(95,-125,659,663),10895=>array(95,-241,659,756),10896=>array(95,-241,659,756),10897=>array(95,-229,659,730),10898=>array(95,-229,659,730),10899=>array(95,-224,659,741),10900=>array(95,-224,659,741),10901=>array(95,-61,659,644),10902=>array(95,-61,659,644),10903=>array(95,-61,660,644),10904=>array(95,-61,659,644),10905=>array(96,-36,659,685),10906=>array(96,-36,659,685),10907=>array(95,-31,659,725),10908=>array(95,-31,659,725),10909=>array(95,8,659,645),10910=>array(95,23,659,645),10911=>array(95,-176,659,729),10912=>array(95,-176,659,729),10926=>array(95,50,659,601),10927=>array(95,-24,659,667),10928=>array(95,-24,659,667),10929=>array(95,-145,659,667),10930=>array(95,-145,659,667),10931=>array(95,-121,659,662),10932=>array(95,-121,659,662),10933=>array(95,-195,659,662),10934=>array(95,-195,659,662),10935=>array(95,-191,659,693),10936=>array(95,-191,659,693),10937=>array(95,-259,659,693),10938=>array(95,-259,659,693),11001=>array(95,-171,659,585),11002=>array(95,-171,659,585),11008=>array(79,-27,633,587),11009=>array(126,-27,680,587),11010=>array(79,25,633,640),11011=>array(126,25,680,640),11012=>array(24,65,710,562),11013=>array(24,65,703,562),11014=>array(154,0,601,754),11015=>array(154,-25,601,729),11016=>array(79,-27,633,587),11017=>array(126,-27,680,587),11018=>array(79,25,633,640),11019=>array(126,25,680,640),11020=>array(24,65,710,562),11021=>array(154,-25,601,754),11022=>array(51,-3,711,355),11023=>array(51,272,711,630),11024=>array(31,-3,691,355),11025=>array(31,272,691,630),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11039=>array(16,-26,767,767),11040=>array(16,-26,767,767),11041=>array(66,-91,720,748),11042=>array(66,-91,720,748),11043=>array(15,-35,771,692),11044=>array(49,-250,958,770),11091=>array(34,-47,749,788),11092=>array(34,-47,749,788),11360=>array(-12,0,448,729),11361=>array(-15,0,262,760),11362=>array(-28,0,448,729),11363=>array(23,0,538,729),11364=>array(51,-200,557,729),11365=>array(-18,-46,568,592),11366=>array(-91,-93,426,822),11367=>array(38,-157,666,729),11368=>array(27,-138,534,760),11369=>array(38,-157,664,729),11370=>array(27,-138,549,760),11371=>array(-10,-157,644,729),11372=>array(3,-138,494,547),11373=>array(50,-14,679,743),11374=>array(42,-200,770,729),11375=>array(134,0,736,729),11376=>array(-13,-14,625,743),11377=>array(123,0,731,560),11378=>array(157,0,1121,742),11379=>array(133,0,936,560),11380=>array(35,0,550,586),11381=>array(24,0,511,729),11382=>array(37,0,438,547),11383=>array(49,-12,543,551),11385=>array(-66,-13,321,760),11386=>array(50,-14,502,560),11387=>array(43,0,456,547),11388=>array(-58,-117,152,425),11389=>array(40,326,419,734),11390=>array(23,-242,562,742),11391=>array(-2,-242,651,729),11520=>array(55,-63,521,547),11521=>array(1,-235,539,546),11522=>array(15,-235,493,546),11523=>array(60,-10,573,807),11524=>array(41,-235,514,546),11525=>array(22,-236,806,546),11526=>array(53,-8,548,816),11527=>array(42,0,841,546),11528=>array(69,0,518,546),11529=>array(40,-235,531,816),11530=>array(22,0,843,546),11531=>array(45,-8,574,816),11532=>array(22,0,521,816),11533=>array(40,0,837,546),11534=>array(40,0,539,546),11535=>array(79,-235,721,816),11536=>array(40,0,823,816),11537=>array(40,0,529,816),11538=>array(31,-235,507,546),11539=>array(40,-235,836,661),11540=>array(55,-235,827,546),11541=>array(37,-235,738,816),11542=>array(22,0,521,546),11543=>array(40,-235,539,547),11544=>array(13,-235,534,546),11545=>array(24,-235,518,816),11546=>array(27,-235,503,547),11547=>array(55,-9,575,816),11548=>array(22,-235,813,547),11549=>array(-6,-235,505,546),11550=>array(33,-235,531,546),11551=>array(9,-235,531,567),11552=>array(22,0,826,546),11553=>array(36,-235,521,816),11554=>array(54,0,511,626),11555=>array(55,-235,536,816),11556=>array(40,-235,581,546),11557=>array(53,-8,789,816),11800=>array(33,-13,383,729),11807=>array(95,78,659,399),11810=>array(114,314,378,760),11811=>array(110,314,308,760),11812=>array(36,-132,234,314),11813=>array(-35,-132,230,314),11822=>array(99,0,470,742),19904=>array(75,-158,726,729),19905=>array(75,-158,726,729),19906=>array(75,-158,726,729),19907=>array(75,-158,726,729),19908=>array(75,-158,726,729),19909=>array(75,-158,726,729),19910=>array(75,-158,726,729),19911=>array(75,-158,726,729),19912=>array(75,-158,726,729),19913=>array(75,-158,727,729),19914=>array(75,-158,726,729),19915=>array(75,-158,726,729),19916=>array(75,-158,726,729),19917=>array(75,-158,726,729),19918=>array(75,-158,726,729),19919=>array(75,-158,726,729),19920=>array(75,-158,727,729),19921=>array(75,-158,726,729),19922=>array(75,-158,727,729),19923=>array(75,-158,726,729),19924=>array(75,-158,726,729),19925=>array(75,-158,726,729),19926=>array(75,-158,726,729),19927=>array(75,-158,726,729),19928=>array(75,-158,726,729),19929=>array(75,-158,726,729),19930=>array(75,-158,726,729),19931=>array(75,-158,727,729),19932=>array(75,-158,726,729),19933=>array(75,-158,726,729),19934=>array(75,-158,727,729),19935=>array(75,-158,726,729),19936=>array(75,-158,726,729),19937=>array(75,-158,726,729),19938=>array(75,-158,726,729),19939=>array(75,-158,726,729),19940=>array(75,-158,726,729),19941=>array(75,-158,727,729),19942=>array(75,-158,726,729),19943=>array(75,-158,726,729),19944=>array(75,-158,727,729),19945=>array(75,-158,726,729),19946=>array(75,-158,727,729),19947=>array(75,-158,726,729),19948=>array(75,-158,727,729),19949=>array(75,-158,726,729),19950=>array(75,-158,727,729),19951=>array(75,-158,726,729),19952=>array(75,-158,727,729),19953=>array(75,-158,726,729),19954=>array(75,-158,726,729),19955=>array(75,-158,726,729),19956=>array(75,-158,726,729),19957=>array(75,-158,727,729),19958=>array(75,-158,726,729),19959=>array(75,-158,726,729),19960=>array(75,-158,726,729),19961=>array(75,-158,727,729),19962=>array(75,-158,726,729),19963=>array(75,-158,727,729),19964=>array(75,-158,727,729),19965=>array(75,-158,726,729),19966=>array(75,-158,726,729),19967=>array(75,-158,726,729),42192=>array(24,0,563,729),42193=>array(24,0,541,729),42194=>array(5,0,519,729),42195=>array(24,0,650,729),42196=>array(39,0,608,729),42197=>array(-66,0,503,729),42198=>array(40,-14,653,742),42199=>array(24,0,650,729),42200=>array(-60,0,566,729),42201=>array(5,-14,500,729),42202=>array(38,-14,625,742),42203=>array(56,-14,644,742),42204=>array(-20,0,633,729),42205=>array(24,0,528,729),42206=>array(24,0,528,729),42207=>array(24,0,752,729),42208=>array(24,0,649,729),42209=>array(24,0,448,729),42210=>array(5,-14,543,742),42211=>array(24,0,541,729),42212=>array(86,0,601,729),42213=>array(-57,0,545,729),42214=>array(70,0,668,729),42215=>array(24,0,653,729),42216=>array(42,-14,655,742),42217=>array(23,0,518,743),42218=>array(86,0,918,729),42219=>array(-39,0,633,729),42220=>array(57,0,608,729),42221=>array(59,0,593,729),42222=>array(-48,0,554,729),42223=>array(134,0,736,729),42224=>array(24,0,567,729),42225=>array(1,0,544,729),42226=>array(24,0,242,729),42227=>array(36,-14,672,742),42228=>array(52,-14,642,729),42229=>array(13,0,595,743),42230=>array(53,0,476,729),42231=>array(50,0,666,729),42232=>array(63,0,207,155),42233=>array(37,-156,220,155),42234=>array(63,0,474,155),42235=>array(63,-156,487,155),42236=>array(5,-156,252,517),42237=>array(31,0,238,517),42238=>array(93,0,483,354),42239=>array(52,172,477,454),42564=>array(1,-14,522,742),42565=>array(9,-14,426,560),42566=>array(68,0,263,729),42567=>array(71,0,232,547),42572=>array(32,-14,1009,645),42573=>array(55,-14,862,471),42576=>array(75,0,902,729),42577=>array(62,0,779,547),42580=>array(41,-14,943,742),42581=>array(41,-14,721,560),42582=>array(29,0,825,729),42583=>array(37,-14,703,560),42594=>array(-33,-157,981,729),42595=>array(-13,-138,837,547),42596=>array(-27,0,971,729),42597=>array(-15,0,814,547),42598=>array(24,0,1072,729),42599=>array(34,0,911,547),42600=>array(36,-14,672,742),42601=>array(41,-14,510,560),42602=>array(50,-14,720,742),42603=>array(49,-14,592,560),42604=>array(50,-14,1172,742),42605=>array(49,-14,868,560),42606=>array(25,-208,766,743),42634=>array(39,-200,651,729),42635=>array(62,-208,568,547),42636=>array(39,0,608,729),42637=>array(62,0,546,547),42644=>array(107,0,601,729),42645=>array(15,0,485,760),42760=>array(141,0,409,668),42761=>array(114,0,409,668),42762=>array(88,0,409,668),42763=>array(62,0,409,668),42764=>array(35,0,409,668),42765=>array(35,0,409,668),42766=>array(35,0,382,668),42767=>array(35,0,356,668),42768=>array(35,0,330,668),42769=>array(35,0,303,668),42770=>array(35,0,409,668),42771=>array(35,0,382,668),42772=>array(35,0,356,668),42773=>array(35,0,330,668),42774=>array(35,0,303,668),42779=>array(62,326,305,736),42780=>array(27,324,271,734),42781=>array(50,326,178,734),42782=>array(50,326,178,734),42783=>array(50,0,178,408),42786=>array(27,0,336,729),42787=>array(34,0,302,547),42788=>array(49,224,416,742),42789=>array(49,42,416,560),42790=>array(42,-200,670,729),42791=>array(33,-208,504,760),42792=>array(65,-213,749,729),42793=>array(65,-213,600,702),42794=>array(109,-14,609,742),42795=>array(8,-199,452,561),42800=>array(34,0,441,547),42801=>array(10,-14,450,560),42802=>array(-57,0,1054,729),42803=>array(34,-14,812,560),42804=>array(-48,-14,1061,742),42805=>array(37,-14,859,560),42806=>array(-48,-14,1022,729),42807=>array(37,-14,856,560),42808=>array(-57,0,931,729),42809=>array(34,-14,757,560),42810=>array(-57,0,931,729),42811=>array(34,-14,757,560),42812=>array(-39,-208,938,729),42813=>array(51,-208,774,560),42814=>array(56,-14,644,742),42815=>array(2,-14,444,560),42816=>array(24,0,650,729),42817=>array(31,0,551,760),42822=>array(83,0,558,729),42823=>array(75,0,276,760),42824=>array(46,0,470,729),42825=>array(81,0,374,760),42826=>array(0,-14,730,742),42827=>array(0,-14,634,560),42830=>array(50,-14,1172,742),42831=>array(49,-14,868,560),42832=>array(-38,0,542,729),42833=>array(-75,-208,530,560),42834=>array(-4,0,660,729),42835=>array(-13,-208,656,560),42838=>array(40,-178,666,742),42839=>array(42,-208,538,560),42852=>array(24,0,521,729),42853=>array(-5,-208,528,760),42854=>array(-51,0,521,729),42855=>array(-77,-208,528,760),42880=>array(54,0,477,729),42881=>array(19,-208,232,560),42882=>array(-13,-208,597,742),42883=>array(-5,-208,510,560),42889=>array(46,0,230,517),42890=>array(55,161,293,380),42891=>array(121,235,288,729),42892=>array(63,458,185,729),42893=>array(98,0,593,729),42894=>array(37,-208,375,760),42896=>array(24,-157,649,729),42897=>array(31,-138,521,560),42912=>array(-8,-14,710,742),42913=>array(-7,-208,578,560),42914=>array(-6,0,650,729),42915=>array(-5,0,551,760),42916=>array(-8,0,681,729),42917=>array(-7,0,578,560),42918=>array(-6,0,632,729),42919=>array(-2,0,417,560),42920=>array(-5,-14,577,742),42921=>array(-4,-14,473,560),42922=>array(46,0,760,729),43002=>array(34,0,790,547),43003=>array(77,0,493,729),43004=>array(56,0,519,729),43005=>array(24,0,752,729),43006=>array(7,0,259,928),43007=>array(-34,0,1114,729),61184=>array(132,602,349,668),61185=>array(92,451,367,668),61186=>array(50,301,384,668),61187=>array(16,150,390,668),61188=>array(-19,0,389,668),61189=>array(110,451,340,668),61190=>array(105,451,323,518),61191=>array(66,301,340,518),61192=>array(23,150,357,518),61193=>array(-11,0,364,518),61194=>array(99,301,331,668),61195=>array(84,301,314,518),61196=>array(79,301,296,367),61197=>array(40,150,314,367),61198=>array(-3,0,331,367),61199=>array(95,150,311,668),61200=>array(73,150,305,518),61201=>array(58,150,288,367),61202=>array(53,150,270,217),61203=>array(13,0,288,217),61204=>array(93,0,288,668),61205=>array(68,0,285,518),61206=>array(46,0,278,367),61207=>array(31,0,261,217),61208=>array(27,0,244,66),61209=>array(35,0,212,668),62464=>array(83,-15,523,828),62465=>array(89,-15,520,828),62466=>array(85,-15,560,837),62467=>array(123,0,850,837),62468=>array(78,-15,586,837),62469=>array(80,-15,565,837),62470=>array(126,-15,584,837),62471=>array(86,-15,841,837),62472=>array(106,0,548,837),62473=>array(79,-15,591,828),62474=>array(137,0,1104,837),62475=>array(80,-15,581,837),62476=>array(86,-15,577,828),62477=>array(101,0,830,837),62478=>array(77,-15,563,828),62479=>array(87,-15,622,844),62480=>array(98,0,835,837),62481=>array(96,-15,518,828),62482=>array(96,-15,688,837),62483=>array(71,-15,579,837),62484=>array(132,-15,844,837),62485=>array(78,-15,619,828),62486=>array(114,-15,859,837),62487=>array(73,-15,618,829),62488=>array(81,-15,589,837),62489=>array(44,0,535,837),62490=>array(86,-15,621,828),62491=>array(85,-15,618,828),62492=>array(92,-15,629,837),62493=>array(78,-15,620,828),62494=>array(92,-15,527,828),62495=>array(30,-15,520,837),62496=>array(80,-15,571,837),62497=>array(82,-15,579,837),62498=>array(20,-79,566,836),62499=>array(77,-15,620,838),62500=>array(77,-15,626,837),62501=>array(75,-15,632,837),62502=>array(124,-15,911,837),62504=>array(54,-235,809,816),62505=>array(46,-230,714,853),62506=>array(69,-15,491,765),62507=>array(69,-15,483,777),62508=>array(69,-15,497,875),62509=>array(69,-15,489,818),62510=>array(69,-15,480,887),62511=>array(69,-15,497,809),62512=>array(25,-236,513,765),62513=>array(25,-236,516,799),62514=>array(25,-236,518,901),62515=>array(25,-236,514,809),62516=>array(84,0,504,765),62517=>array(84,0,516,799),62518=>array(84,0,514,809),62519=>array(86,-0,707,765),62520=>array(86,-0,707,777),62521=>array(86,-0,707,895),62522=>array(86,-0,707,799),62523=>array(86,-0,707,809),62524=>array(49,-236,501,765),62525=>array(49,-236,501,777),62526=>array(49,-236,525,904),62527=>array(49,-236,501,799),62528=>array(49,-236,510,809),62529=>array(49,-236,501,852),63173=>array(24,-14,518,760),64256=>array(61,0,733,760),64257=>array(61,0,577,760),64258=>array(61,0,577,760),64259=>array(61,0,882,760),64260=>array(61,0,882,760),64261=>array(48,0,642,760),64262=>array(2,-14,799,742),64275=>array(49,-14,1030,760),64276=>array(49,-14,1030,760),64277=>array(66,-208,1009,760),64278=>array(66,-208,1047,760),64279=>array(66,-208,1353,760),64285=>array(76,44,237,547),64286=>array(161,625,438,765),64287=>array(71,44,416,547),64288=>array(34,0,601,547),64289=>array(76,0,791,547),64290=>array(122,0,742,547),64291=>array(91,0,743,547),64292=>array(39,0,699,547),64293=>array(122,0,741,760),64294=>array(82,0,745,547),64295=>array(122,0,702,547),64296=>array(42,-4,705,547),64297=>array(143,272,721,627),64298=>array(106,0,714,698),64299=>array(106,0,695,698),64300=>array(106,0,717,698),64301=>array(106,0,695,698),64302=>array(82,-159,616,547),64303=>array(82,-193,616,547),64304=>array(82,-159,616,547),64305=>array(39,0,494,547),64306=>array(39,-5,345,547),64307=>array(122,0,556,547),64308=>array(91,0,555,547),64309=>array(88,0,334,547),64310=>array(75,0,422,547),64312=>array(127,-14,593,552),64313=>array(82,204,333,547),64314=>array(122,-208,458,547),64315=>array(39,0,481,547),64316=>array(122,0,539,729),64318=>array(67,0,582,555),64320=>array(39,0,340,547),64321=>array(130,-14,583,547),64323=>array(97,-208,496,547),64324=>array(82,0,561,547),64326=>array(39,0,546,547),64327=>array(56,-208,666,546),64328=>array(122,0,484,547),64329=>array(106,0,695,547),64330=>array(9,-4,571,547),64331=>array(82,0,277,698),64332=>array(39,0,494,698),64333=>array(39,0,481,698),64334=>array(82,0,561,698),64335=>array(75,0,610,760),65056=>array(-270,752,163,929),65057=>array(149,752,543,929),65058=>array(-187,756,151,894),65059=>array(137,756,476,894),65533=>array(86,-84,983,912),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>286,33=>360,34=>414,35=>754,36=>572,37=>855,38=>702,39=>247,40=>351,41=>351,42=>450,43=>754,44=>286,45=>325,46=>286,47=>303,48=>572,49=>572,50=>572,51=>572,52=>572,53=>572,54=>572,55=>572,56=>572,57=>572,58=>303,59=>303,60=>754,61=>754,62=>754,63=>478,64=>900,65=>615,66=>617,67=>628,68=>693,69=>568,70=>518,71=>697,72=>677,73=>265,74=>265,75=>590,76=>501,77=>776,78=>673,79=>708,80=>542,81=>708,82=>625,83=>571,84=>549,85=>659,86=>615,87=>890,88=>616,89=>549,90=>616,91=>351,92=>303,93=>351,94=>754,95=>450,96=>450,97=>551,98=>571,99=>495,100=>571,101=>554,102=>316,103=>571,104=>570,105=>250,106=>250,107=>521,108=>250,109=>876,110=>570,111=>550,112=>571,113=>571,114=>370,115=>469,116=>353,117=>570,118=>532,119=>736,120=>532,121=>532,122=>472,123=>572,124=>303,125=>572,126=>754,160=>286,161=>360,162=>572,163=>572,164=>572,165=>572,166=>303,167=>450,168=>450,169=>900,170=>424,171=>555,172=>754,173=>325,174=>900,175=>450,176=>450,177=>754,178=>360,179=>360,180=>450,181=>572,182=>572,183=>286,184=>450,185=>360,186=>424,187=>555,188=>872,189=>872,190=>872,191=>478,192=>615,193=>615,194=>615,195=>615,196=>615,197=>615,198=>876,199=>628,200=>568,201=>568,202=>568,203=>568,204=>265,205=>265,206=>265,207=>265,208=>697,209=>673,210=>708,211=>708,212=>708,213=>708,214=>708,215=>754,216=>708,217=>659,218=>659,219=>659,220=>659,221=>549,222=>547,223=>567,224=>551,225=>551,226=>551,227=>551,228=>551,229=>551,230=>896,231=>495,232=>554,233=>554,234=>554,235=>554,236=>250,237=>250,238=>250,239=>250,240=>550,241=>570,242=>550,243=>550,244=>550,245=>550,246=>550,247=>754,248=>550,249=>570,250=>570,251=>570,252=>570,253=>532,254=>571,255=>532,256=>615,257=>551,258=>615,259=>551,260=>615,261=>551,262=>628,263=>495,264=>628,265=>495,266=>628,267=>495,268=>628,269=>495,270=>693,271=>571,272=>697,273=>571,274=>568,275=>554,276=>568,277=>554,278=>568,279=>554,280=>568,281=>554,282=>568,283=>554,284=>697,285=>571,286=>697,287=>571,288=>697,289=>571,290=>697,291=>571,292=>677,293=>570,294=>824,295=>625,296=>265,297=>250,298=>265,299=>250,300=>265,301=>250,302=>265,303=>250,304=>265,305=>250,306=>531,307=>500,308=>265,309=>250,310=>590,311=>521,312=>521,313=>501,314=>250,315=>501,316=>250,317=>501,318=>250,319=>501,320=>250,321=>505,322=>258,323=>673,324=>570,325=>673,326=>570,327=>673,328=>570,329=>732,330=>673,331=>570,332=>708,333=>550,334=>708,335=>550,336=>708,337=>550,338=>962,339=>925,340=>625,341=>370,342=>625,343=>370,344=>625,345=>370,346=>571,347=>469,348=>571,349=>469,350=>571,351=>469,352=>571,353=>469,354=>549,355=>353,356=>549,357=>353,358=>549,359=>353,360=>659,361=>570,362=>659,363=>570,364=>659,365=>570,366=>659,367=>570,368=>659,369=>570,370=>659,371=>570,372=>890,373=>736,374=>549,375=>532,376=>549,377=>616,378=>472,379=>616,380=>472,381=>616,382=>472,383=>316,384=>571,385=>661,386=>617,387=>571,388=>617,389=>571,390=>633,391=>628,392=>495,393=>697,394=>737,395=>617,396=>571,397=>550,398=>568,399=>708,400=>553,401=>518,402=>316,403=>697,404=>618,405=>885,406=>318,407=>265,408=>671,409=>521,410=>250,411=>532,412=>876,413=>673,414=>570,415=>708,416=>822,417=>550,418=>844,419=>663,420=>586,421=>571,422=>625,423=>571,424=>469,425=>568,426=>302,427=>353,428=>549,429=>353,430=>549,431=>754,432=>570,433=>688,434=>648,435=>669,436=>657,437=>616,438=>472,439=>599,440=>599,441=>520,442=>472,443=>572,444=>599,445=>520,446=>459,447=>571,448=>265,449=>443,450=>413,451=>266,452=>1310,453=>1165,454=>1043,455=>767,456=>751,457=>500,458=>938,459=>923,460=>820,461=>615,462=>551,463=>265,464=>250,465=>708,466=>550,467=>659,468=>570,469=>659,470=>570,471=>659,472=>570,473=>659,474=>570,475=>659,476=>570,477=>554,478=>615,479=>551,480=>615,481=>551,482=>876,483=>896,484=>697,485=>571,486=>697,487=>571,488=>590,489=>521,490=>708,491=>550,492=>708,493=>550,494=>599,495=>472,496=>250,497=>1310,498=>1165,499=>1043,500=>697,501=>571,502=>1001,503=>614,504=>673,505=>570,506=>615,507=>551,508=>876,509=>896,510=>708,511=>550,512=>615,513=>551,514=>615,515=>551,516=>568,517=>554,518=>568,519=>554,520=>265,521=>250,522=>265,523=>250,524=>708,525=>550,526=>708,527=>550,528=>625,529=>370,530=>625,531=>370,532=>659,533=>570,534=>659,535=>570,536=>571,537=>469,538=>549,539=>353,540=>564,541=>469,542=>677,543=>570,544=>662,545=>754,546=>628,547=>549,548=>616,549=>472,550=>615,551=>551,552=>568,553=>554,554=>708,555=>550,556=>708,557=>550,558=>708,559=>550,560=>708,561=>550,562=>549,563=>532,564=>427,565=>758,566=>429,567=>250,568=>898,569=>898,570=>615,571=>628,572=>495,573=>501,574=>549,575=>469,576=>472,577=>542,578=>431,579=>617,580=>659,581=>615,582=>568,583=>554,584=>265,585=>250,586=>703,587=>571,588=>625,589=>370,590=>549,591=>532,592=>551,593=>571,594=>571,595=>571,596=>495,597=>495,598=>571,599=>654,600=>554,601=>554,602=>759,603=>490,604=>490,605=>698,606=>598,607=>293,608=>626,609=>571,610=>566,611=>536,612=>536,613=>570,614=>570,615=>570,616=>334,617=>348,618=>334,619=>356,620=>438,621=>250,622=>635,623=>876,624=>876,625=>876,626=>581,627=>578,628=>570,629=>550,630=>772,631=>655,632=>593,633=>422,634=>422,635=>422,636=>422,637=>422,638=>477,639=>477,640=>541,641=>541,642=>469,643=>302,644=>302,645=>415,646=>302,647=>353,648=>353,649=>570,650=>556,651=>538,652=>532,653=>736,654=>532,655=>549,656=>472,657=>472,658=>520,659=>520,660=>459,661=>459,662=>459,663=>459,664=>708,665=>521,666=>598,667=>637,668=>588,669=>263,670=>600,671=>456,672=>654,673=>459,674=>459,675=>913,676=>952,677=>911,678=>747,679=>549,680=>700,681=>763,682=>635,683=>589,684=>463,685=>463,686=>513,687=>597,688=>359,689=>359,690=>157,691=>233,692=>266,693=>266,694=>341,695=>463,696=>335,697=>250,698=>414,699=>286,700=>286,701=>286,702=>276,703=>276,704=>333,705=>333,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>247,713=>450,714=>450,715=>450,716=>247,717=>450,718=>450,719=>450,720=>303,721=>303,722=>276,723=>276,724=>450,725=>450,726=>351,727=>286,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>284,735=>450,736=>383,737=>149,738=>335,739=>399,740=>333,741=>444,742=>444,743=>444,744=>444,745=>444,748=>450,749=>450,750=>466,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>589,881=>511,882=>775,883=>583,884=>250,885=>250,886=>673,887=>584,890=>450,891=>494,892=>495,893=>494,894=>303,900=>450,901=>450,902=>615,903=>286,904=>690,905=>813,906=>391,908=>755,910=>773,911=>814,912=>304,913=>615,914=>617,915=>501,916=>615,917=>568,918=>616,919=>677,920=>708,921=>265,922=>590,923=>615,924=>776,925=>673,926=>568,927=>708,928=>677,929=>542,931=>568,932=>549,933=>549,934=>708,935=>616,936=>708,937=>688,938=>265,939=>549,940=>593,941=>486,942=>570,943=>304,944=>521,945=>593,946=>574,947=>532,948=>550,949=>486,950=>489,951=>570,952=>550,953=>304,954=>530,955=>532,956=>572,957=>502,958=>501,959=>550,960=>542,961=>571,962=>528,963=>570,964=>542,965=>521,966=>593,967=>532,968=>593,969=>753,970=>304,971=>521,972=>550,973=>521,974=>753,975=>590,976=>553,977=>557,978=>628,979=>758,980=>628,981=>593,982=>753,983=>597,984=>708,985=>550,986=>583,987=>528,988=>518,989=>413,990=>593,991=>593,992=>778,993=>564,994=>840,995=>753,996=>682,997=>593,998=>712,999=>553,1000=>618,1001=>546,1002=>690,1003=>563,1004=>629,1005=>550,1006=>549,1007=>482,1008=>597,1009=>571,1010=>495,1011=>250,1012=>708,1013=>554,1014=>554,1015=>547,1016=>571,1017=>628,1018=>776,1019=>585,1020=>571,1021=>633,1022=>628,1023=>633,1024=>568,1025=>568,1026=>708,1027=>501,1028=>628,1029=>571,1030=>265,1031=>265,1032=>265,1033=>984,1034=>940,1035=>708,1036=>639,1037=>673,1038=>548,1039=>677,1040=>615,1041=>617,1042=>617,1043=>501,1044=>703,1045=>568,1046=>969,1047=>577,1048=>673,1049=>673,1050=>639,1051=>677,1052=>776,1053=>677,1054=>708,1055=>677,1056=>542,1057=>628,1058=>549,1059=>548,1060=>774,1061=>616,1062=>699,1063=>617,1064=>962,1065=>984,1066=>749,1067=>736,1068=>617,1069=>628,1070=>971,1071=>625,1072=>551,1073=>555,1074=>530,1075=>473,1076=>622,1077=>554,1078=>811,1079=>479,1080=>584,1081=>584,1082=>543,1083=>575,1084=>679,1085=>588,1086=>550,1087=>588,1088=>571,1089=>495,1090=>524,1091=>532,1092=>769,1093=>532,1094=>612,1095=>532,1096=>823,1097=>848,1098=>636,1099=>710,1100=>530,1101=>494,1102=>757,1103=>541,1104=>554,1105=>554,1106=>563,1107=>473,1108=>494,1109=>469,1110=>250,1111=>250,1112=>250,1113=>812,1114=>809,1115=>586,1116=>543,1117=>584,1118=>532,1119=>588,1120=>840,1121=>753,1122=>693,1123=>604,1124=>848,1125=>674,1126=>791,1127=>705,1128=>1043,1129=>901,1130=>708,1131=>550,1132=>924,1133=>742,1134=>572,1135=>486,1136=>771,1137=>789,1138=>708,1139=>550,1140=>703,1141=>598,1142=>703,1143=>598,1144=>893,1145=>813,1146=>857,1147=>682,1148=>1062,1149=>925,1150=>840,1151=>753,1152=>628,1153=>495,1154=>452,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>376,1161=>376,1162=>673,1163=>591,1164=>617,1165=>530,1166=>542,1167=>571,1168=>549,1169=>473,1170=>607,1171=>500,1172=>501,1173=>441,1174=>969,1175=>811,1176=>577,1177=>479,1178=>639,1179=>543,1180=>639,1181=>543,1182=>639,1183=>543,1184=>771,1185=>748,1186=>677,1187=>594,1188=>913,1189=>789,1190=>1002,1191=>855,1192=>801,1193=>636,1194=>628,1195=>495,1196=>549,1197=>476,1198=>549,1199=>532,1200=>549,1201=>532,1202=>616,1203=>532,1204=>840,1205=>726,1206=>617,1207=>532,1208=>617,1209=>532,1210=>617,1211=>570,1212=>836,1213=>658,1214=>836,1215=>658,1216=>265,1217=>969,1218=>811,1219=>589,1220=>543,1221=>677,1222=>575,1223=>677,1224=>594,1225=>677,1226=>594,1227=>617,1228=>532,1229=>776,1230=>679,1231=>250,1232=>615,1233=>551,1234=>615,1235=>551,1236=>876,1237=>896,1238=>568,1239=>554,1240=>708,1241=>554,1242=>708,1243=>554,1244=>969,1245=>811,1246=>577,1247=>479,1248=>599,1249=>520,1250=>673,1251=>584,1252=>673,1253=>584,1254=>708,1255=>550,1256=>708,1257=>550,1258=>708,1259=>550,1260=>628,1261=>494,1262=>548,1263=>532,1264=>548,1265=>532,1266=>548,1267=>532,1268=>617,1269=>532,1270=>501,1271=>442,1272=>736,1273=>710,1274=>607,1275=>500,1276=>616,1277=>532,1278=>616,1279=>532,1280=>617,1281=>530,1282=>905,1283=>807,1284=>877,1285=>782,1286=>611,1287=>529,1288=>964,1289=>861,1290=>1001,1291=>870,1292=>697,1293=>593,1294=>695,1295=>640,1296=>553,1297=>486,1298=>677,1299=>575,1300=>1076,1301=>896,1302=>810,1303=>780,1304=>927,1305=>890,1306=>708,1307=>571,1308=>890,1309=>736,1310=>639,1311=>543,1312=>1002,1313=>848,1314=>1002,1315=>854,1316=>713,1317=>614,1329=>689,1330=>659,1331=>678,1332=>678,1333=>659,1334=>694,1335=>576,1336=>659,1337=>773,1338=>678,1339=>622,1340=>479,1341=>830,1342=>777,1343=>659,1344=>644,1345=>689,1346=>678,1347=>690,1348=>712,1349=>655,1350=>656,1351=>681,1352=>659,1353=>642,1354=>720,1355=>691,1356=>712,1357=>659,1358=>678,1359=>634,1360=>624,1361=>669,1362=>483,1363=>729,1364=>681,1365=>708,1366=>711,1369=>276,1370=>286,1371=>211,1372=>325,1373=>214,1374=>365,1375=>450,1377=>876,1378=>570,1379=>592,1380=>597,1381=>570,1382=>571,1383=>463,1384=>570,1385=>664,1386=>592,1387=>570,1388=>244,1389=>882,1390=>560,1391=>570,1392=>570,1393=>547,1394=>571,1395=>566,1396=>570,1397=>250,1398=>570,1399=>448,1400=>570,1401=>364,1402=>876,1403=>504,1404=>583,1405=>570,1406=>570,1407=>876,1408=>570,1409=>571,1410=>391,1411=>876,1412=>572,1413=>550,1414=>725,1415=>730,1417=>303,1418=>325,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>325,1471=>0,1472=>265,1473=>0,1474=>0,1475=>265,1478=>410,1479=>0,1488=>602,1489=>520,1490=>371,1491=>491,1492=>588,1493=>245,1494=>312,1495=>588,1496=>583,1497=>201,1498=>483,1499=>476,1500=>511,1501=>597,1502=>611,1503=>245,1504=>360,1505=>584,1506=>563,1507=>576,1508=>562,1509=>485,1510=>534,1511=>638,1512=>508,1513=>637,1514=>591,1520=>423,1521=>409,1522=>423,1523=>374,1524=>580,3647=>572,3713=>603,3714=>615,3716=>619,3719=>434,3720=>565,3722=>615,3725=>619,3732=>577,3733=>577,3734=>605,3735=>589,3737=>576,3738=>533,3739=>533,3740=>670,3741=>690,3742=>618,3743=>618,3745=>631,3746=>619,3747=>615,3749=>584,3751=>569,3754=>633,3755=>737,3757=>569,3758=>615,3759=>708,3760=>569,3761=>0,3762=>485,3763=>485,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>597,3776=>324,3777=>611,3778=>414,3779=>492,3780=>442,3782=>606,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>572,3793=>576,3794=>576,3795=>603,3796=>563,3797=>563,3798=>633,3799=>603,3800=>606,3801=>609,3804=>925,3805=>925,4256=>787,4257=>660,4258=>611,4259=>751,4260=>554,4261=>690,4262=>678,4263=>822,4264=>408,4265=>558,4266=>758,4267=>794,4268=>562,4269=>769,4270=>703,4271=>566,4272=>820,4273=>558,4274=>558,4275=>769,4276=>779,4277=>651,4278=>567,4279=>558,4280=>563,4281=>558,4282=>736,4283=>786,4284=>554,4285=>561,4286=>563,4287=>652,4288=>760,4289=>536,4290=>620,4291=>536,4292=>534,4293=>664,4304=>457,4305=>466,4306=>523,4307=>736,4308=>457,4309=>461,4310=>450,4311=>721,4312=>466,4313=>459,4314=>958,4315=>470,4316=>470,4317=>708,4318=>457,4319=>466,4320=>716,4321=>470,4322=>589,4323=>470,4324=>743,4325=>461,4326=>708,4327=>466,4328=>466,4329=>470,4330=>514,4331=>470,4332=>466,4333=>468,4334=>470,4335=>409,4336=>457,4337=>466,4338=>457,4339=>457,4340=>466,4341=>499,4342=>745,4343=>497,4344=>457,4345=>514,4346=>457,4347=>403,4348=>291,5121=>615,5122=>615,5123=>615,5124=>615,5125=>692,5126=>692,5127=>692,5129=>692,5130=>692,5131=>692,5132=>751,5133=>751,5134=>751,5135=>751,5136=>751,5137=>751,5138=>870,5139=>906,5140=>870,5141=>906,5142=>692,5143=>870,5144=>906,5145=>870,5146=>906,5147=>692,5149=>230,5150=>488,5151=>381,5152=>381,5153=>350,5154=>350,5155=>354,5156=>350,5157=>419,5158=>347,5159=>230,5160=>350,5161=>350,5162=>350,5163=>980,5164=>817,5165=>857,5166=>1005,5167=>615,5168=>615,5169=>615,5170=>615,5171=>656,5172=>656,5173=>656,5175=>656,5176=>656,5177=>656,5178=>751,5179=>615,5180=>751,5181=>751,5182=>751,5183=>751,5184=>870,5185=>906,5186=>870,5187=>906,5188=>870,5189=>906,5190=>870,5191=>906,5192=>656,5193=>457,5194=>172,5196=>659,5197=>659,5198=>659,5199=>659,5200=>657,5201=>657,5202=>657,5204=>657,5205=>657,5206=>657,5207=>829,5208=>800,5209=>829,5210=>800,5211=>829,5212=>800,5213=>835,5214=>810,5215=>835,5216=>810,5217=>853,5218=>810,5219=>853,5220=>810,5221=>853,5222=>391,5223=>790,5224=>790,5225=>779,5226=>801,5227=>565,5228=>565,5229=>565,5230=>565,5231=>565,5232=>565,5233=>565,5234=>565,5235=>565,5236=>773,5237=>693,5238=>733,5239=>734,5240=>733,5241=>734,5242=>773,5243=>693,5244=>773,5245=>693,5246=>733,5247=>734,5248=>733,5249=>734,5250=>733,5251=>366,5252=>366,5253=>675,5254=>697,5255=>675,5256=>697,5257=>565,5258=>565,5259=>565,5260=>565,5261=>565,5262=>565,5263=>565,5264=>565,5265=>565,5266=>773,5267=>693,5268=>733,5269=>734,5270=>733,5271=>734,5272=>773,5273=>693,5274=>773,5275=>693,5276=>733,5277=>734,5278=>733,5279=>734,5280=>733,5281=>391,5282=>391,5283=>549,5284=>501,5285=>501,5286=>501,5287=>549,5288=>549,5289=>549,5290=>501,5291=>501,5292=>674,5293=>691,5294=>671,5295=>687,5296=>671,5297=>687,5298=>674,5299=>691,5300=>674,5301=>691,5302=>671,5303=>687,5304=>671,5305=>687,5306=>671,5307=>347,5308=>457,5309=>347,5312=>766,5313=>766,5314=>766,5315=>766,5316=>766,5317=>766,5318=>766,5319=>766,5320=>766,5321=>962,5322=>931,5323=>953,5324=>766,5325=>953,5326=>766,5327=>766,5328=>540,5329=>407,5330=>540,5331=>766,5332=>766,5333=>766,5334=>766,5335=>766,5336=>766,5337=>766,5338=>766,5339=>766,5340=>962,5341=>931,5342=>953,5343=>927,5344=>953,5345=>927,5346=>962,5347=>931,5348=>962,5349=>931,5350=>975,5351=>927,5352=>975,5353=>927,5354=>540,5356=>656,5357=>542,5358=>542,5359=>542,5360=>542,5361=>542,5362=>542,5363=>542,5364=>542,5365=>542,5366=>751,5367=>678,5368=>712,5369=>694,5370=>712,5371=>694,5372=>751,5373=>678,5374=>751,5375=>678,5376=>712,5377=>694,5378=>712,5379=>694,5380=>712,5381=>376,5382=>378,5383=>376,5392=>641,5393=>641,5394=>641,5395=>802,5396=>802,5397=>802,5398=>802,5399=>818,5400=>785,5401=>818,5402=>785,5403=>818,5404=>785,5405=>1026,5406=>989,5407=>1026,5408=>989,5409=>1026,5410=>989,5411=>1026,5412=>989,5413=>576,5414=>564,5415=>564,5416=>564,5417=>564,5418=>564,5419=>564,5420=>564,5421=>564,5422=>564,5423=>760,5424=>703,5425=>734,5426=>736,5427=>734,5428=>736,5429=>760,5430=>703,5431=>760,5432=>703,5433=>734,5434=>736,5435=>734,5436=>736,5437=>734,5438=>376,5440=>350,5441=>436,5442=>824,5443=>824,5444=>776,5445=>824,5446=>776,5447=>776,5448=>542,5449=>542,5450=>542,5451=>542,5452=>542,5453=>542,5454=>751,5455=>678,5456=>376,5458=>656,5459=>615,5460=>615,5461=>615,5462=>615,5463=>653,5464=>653,5465=>653,5466=>653,5467=>831,5468=>906,5469=>457,5470=>659,5471=>659,5472=>659,5473=>659,5474=>659,5475=>659,5476=>657,5477=>657,5478=>657,5479=>657,5480=>853,5481=>810,5482=>457,5492=>747,5493=>747,5494=>747,5495=>747,5496=>747,5497=>747,5498=>747,5499=>507,5500=>677,5501=>436,5502=>942,5503=>942,5504=>942,5505=>942,5506=>942,5507=>942,5508=>942,5509=>743,5514=>747,5515=>747,5516=>747,5517=>747,5518=>1133,5519=>1133,5520=>1133,5521=>901,5522=>901,5523=>1133,5524=>1133,5525=>629,5526=>965,5536=>766,5537=>766,5538=>719,5539=>719,5540=>719,5541=>719,5542=>540,5543=>579,5544=>579,5545=>579,5546=>579,5547=>579,5548=>579,5549=>579,5550=>376,5551=>565,5598=>693,5601=>693,5702=>421,5703=>421,5742=>399,5743=>942,5744=>1178,5745=>1469,5746=>1469,5747=>1237,5748=>1237,5749=>1469,5750=>1469,7424=>532,7425=>646,7426=>883,7427=>527,7428=>495,7429=>544,7430=>544,7431=>441,7432=>486,7433=>250,7434=>355,7435=>521,7436=>524,7437=>679,7438=>584,7439=>550,7440=>495,7441=>615,7442=>615,7443=>615,7444=>920,7446=>550,7447=>550,7448=>472,7449=>541,7450=>541,7451=>524,7452=>517,7453=>663,7454=>853,7455=>574,7456=>532,7457=>736,7458=>472,7459=>473,7462=>524,7463=>532,7464=>507,7465=>472,7466=>531,7467=>575,7468=>387,7469=>552,7470=>389,7472=>436,7473=>358,7474=>358,7475=>439,7476=>426,7477=>167,7478=>167,7479=>372,7480=>315,7481=>489,7482=>424,7483=>424,7484=>446,7485=>396,7486=>342,7487=>394,7488=>346,7489=>415,7490=>560,7491=>352,7492=>352,7493=>365,7494=>583,7495=>385,7496=>365,7497=>375,7498=>375,7499=>324,7500=>323,7501=>365,7502=>161,7503=>383,7504=>561,7505=>368,7506=>372,7507=>333,7508=>372,7509=>372,7510=>385,7511=>265,7512=>364,7513=>422,7514=>561,7515=>375,7517=>361,7518=>335,7519=>347,7520=>374,7521=>327,7522=>161,7523=>233,7524=>364,7525=>375,7526=>361,7527=>335,7528=>370,7529=>374,7530=>327,7543=>571,7544=>426,7547=>334,7549=>600,7557=>250,7579=>365,7580=>333,7581=>333,7582=>372,7583=>324,7584=>267,7585=>209,7586=>365,7587=>364,7588=>235,7589=>224,7590=>234,7591=>235,7592=>211,7593=>224,7594=>211,7595=>338,7596=>561,7597=>561,7598=>369,7599=>431,7600=>368,7601=>372,7602=>372,7603=>324,7604=>258,7605=>265,7606=>457,7607=>376,7608=>325,7609=>365,7610=>375,7611=>330,7612=>393,7613=>330,7614=>353,7615=>372,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>615,7681=>551,7682=>617,7683=>571,7684=>617,7685=>571,7686=>617,7687=>571,7688=>628,7689=>495,7690=>693,7691=>571,7692=>693,7693=>571,7694=>693,7695=>571,7696=>693,7697=>571,7698=>693,7699=>571,7700=>568,7701=>554,7702=>568,7703=>554,7704=>568,7705=>554,7706=>568,7707=>554,7708=>568,7709=>554,7710=>518,7711=>316,7712=>697,7713=>571,7714=>677,7715=>570,7716=>677,7717=>570,7718=>677,7719=>570,7720=>677,7721=>570,7722=>677,7723=>570,7724=>265,7725=>250,7726=>265,7727=>250,7728=>590,7729=>521,7730=>590,7731=>521,7732=>590,7733=>521,7734=>501,7735=>250,7736=>501,7737=>250,7738=>501,7739=>250,7740=>501,7741=>250,7742=>776,7743=>876,7744=>776,7745=>876,7746=>776,7747=>876,7748=>673,7749=>570,7750=>673,7751=>570,7752=>673,7753=>570,7754=>673,7755=>570,7756=>708,7757=>550,7758=>708,7759=>550,7760=>708,7761=>550,7762=>708,7763=>550,7764=>542,7765=>571,7766=>542,7767=>571,7768=>625,7769=>370,7770=>625,7771=>370,7772=>625,7773=>370,7774=>625,7775=>370,7776=>571,7777=>469,7778=>571,7779=>469,7780=>571,7781=>469,7782=>571,7783=>469,7784=>571,7785=>469,7786=>549,7787=>353,7788=>549,7789=>353,7790=>549,7791=>353,7792=>549,7793=>353,7794=>659,7795=>570,7796=>659,7797=>570,7798=>659,7799=>570,7800=>659,7801=>570,7802=>659,7803=>570,7804=>615,7805=>532,7806=>615,7807=>532,7808=>890,7809=>736,7810=>890,7811=>736,7812=>890,7813=>736,7814=>890,7815=>736,7816=>890,7817=>736,7818=>616,7819=>532,7820=>616,7821=>532,7822=>549,7823=>532,7824=>616,7825=>472,7826=>616,7827=>472,7828=>616,7829=>472,7830=>570,7831=>353,7832=>736,7833=>532,7834=>551,7835=>316,7836=>316,7837=>316,7838=>691,7839=>550,7840=>615,7841=>551,7842=>615,7843=>551,7844=>615,7845=>551,7846=>615,7847=>551,7848=>615,7849=>551,7850=>615,7851=>551,7852=>615,7853=>551,7854=>615,7855=>551,7856=>615,7857=>551,7858=>615,7859=>551,7860=>615,7861=>551,7862=>615,7863=>551,7864=>568,7865=>554,7866=>568,7867=>554,7868=>568,7869=>554,7870=>568,7871=>554,7872=>568,7873=>554,7874=>568,7875=>554,7876=>568,7877=>554,7878=>568,7879=>554,7880=>265,7881=>250,7882=>265,7883=>250,7884=>708,7885=>550,7886=>708,7887=>550,7888=>708,7889=>550,7890=>708,7891=>550,7892=>708,7893=>550,7894=>708,7895=>550,7896=>708,7897=>550,7898=>822,7899=>550,7900=>822,7901=>550,7902=>822,7903=>550,7904=>822,7905=>550,7906=>822,7907=>550,7908=>659,7909=>570,7910=>659,7911=>570,7912=>754,7913=>570,7914=>754,7915=>570,7916=>754,7917=>570,7918=>754,7919=>570,7920=>754,7921=>570,7922=>549,7923=>532,7924=>549,7925=>532,7926=>549,7927=>532,7928=>549,7929=>532,7930=>692,7931=>429,7936=>593,7937=>593,7938=>593,7939=>593,7940=>593,7941=>593,7942=>593,7943=>593,7944=>615,7945=>615,7946=>790,7947=>790,7948=>692,7949=>721,7950=>637,7951=>668,7952=>486,7953=>486,7954=>486,7955=>486,7956=>486,7957=>486,7960=>640,7961=>640,7962=>869,7963=>877,7964=>809,7965=>835,7968=>570,7969=>570,7970=>570,7971=>570,7972=>570,7973=>570,7974=>570,7975=>570,7976=>753,7977=>751,7978=>977,7979=>980,7980=>924,7981=>945,7982=>840,7983=>852,7984=>304,7985=>304,7986=>304,7987=>304,7988=>304,7989=>304,7990=>304,7991=>304,7992=>342,7993=>336,7994=>571,7995=>571,7996=>513,7997=>540,7998=>440,7999=>443,8000=>550,8001=>550,8002=>550,8003=>550,8004=>550,8005=>550,8008=>724,8009=>763,8010=>985,8011=>989,8012=>844,8013=>873,8016=>521,8017=>521,8018=>521,8019=>521,8020=>521,8021=>521,8022=>521,8023=>521,8025=>705,8027=>897,8029=>911,8031=>808,8032=>753,8033=>753,8034=>753,8035=>753,8036=>753,8037=>753,8038=>753,8039=>753,8040=>722,8041=>759,8042=>980,8043=>985,8044=>851,8045=>875,8046=>829,8047=>857,8048=>593,8049=>593,8050=>486,8051=>493,8052=>570,8053=>589,8054=>304,8055=>304,8056=>550,8057=>550,8058=>521,8059=>521,8060=>753,8061=>753,8064=>593,8065=>593,8066=>593,8067=>593,8068=>593,8069=>593,8070=>593,8071=>593,8072=>615,8073=>615,8074=>790,8075=>790,8076=>692,8077=>721,8078=>637,8079=>668,8080=>570,8081=>570,8082=>570,8083=>570,8084=>570,8085=>570,8086=>570,8087=>570,8088=>753,8089=>751,8090=>977,8091=>980,8092=>924,8093=>945,8094=>840,8095=>852,8096=>753,8097=>753,8098=>753,8099=>753,8100=>753,8101=>753,8102=>753,8103=>753,8104=>722,8105=>759,8106=>980,8107=>985,8108=>851,8109=>875,8110=>829,8111=>857,8112=>593,8113=>593,8114=>593,8115=>593,8116=>593,8118=>593,8119=>593,8120=>615,8121=>615,8122=>645,8123=>623,8124=>615,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>570,8131=>570,8132=>589,8134=>570,8135=>570,8136=>724,8137=>671,8138=>837,8139=>784,8140=>677,8141=>450,8142=>450,8143=>450,8144=>304,8145=>304,8146=>304,8147=>304,8150=>304,8151=>304,8152=>265,8153=>265,8154=>427,8155=>367,8157=>450,8158=>450,8159=>450,8160=>521,8161=>521,8162=>521,8163=>521,8164=>571,8165=>571,8166=>521,8167=>521,8168=>549,8169=>549,8170=>760,8171=>742,8172=>616,8173=>450,8174=>450,8175=>450,8178=>753,8179=>753,8180=>753,8182=>753,8183=>753,8184=>847,8185=>731,8186=>830,8187=>743,8188=>688,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>572,8200=>286,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>325,8209=>325,8210=>572,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>286,8217=>286,8218=>286,8219=>286,8220=>466,8221=>466,8222=>466,8223=>466,8224=>450,8225=>450,8226=>531,8227=>531,8228=>299,8229=>600,8230=>900,8231=>286,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1215,8241=>1521,8242=>204,8243=>336,8244=>468,8245=>204,8246=>336,8247=>468,8248=>305,8249=>360,8250=>360,8251=>754,8252=>437,8253=>478,8254=>450,8255=>723,8256=>723,8257=>225,8258=>900,8259=>450,8260=>150,8261=>351,8262=>351,8263=>830,8264=>659,8265=>659,8266=>447,8267=>572,8268=>450,8269=>450,8270=>450,8271=>303,8272=>723,8273=>450,8274=>404,8275=>900,8276=>723,8277=>754,8278=>527,8279=>597,8280=>754,8281=>754,8282=>286,8283=>717,8284=>754,8285=>286,8286=>286,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>360,8305=>161,8308=>360,8309=>360,8310=>360,8311=>360,8312=>360,8313=>360,8314=>475,8315=>475,8316=>475,8317=>221,8318=>221,8319=>359,8320=>360,8321=>360,8322=>360,8323=>360,8324=>360,8325=>360,8326=>360,8327=>360,8328=>360,8329=>360,8330=>475,8331=>475,8332=>475,8333=>221,8334=>221,8336=>352,8337=>375,8338=>372,8339=>399,8340=>375,8341=>359,8342=>383,8343=>149,8344=>561,8345=>359,8346=>385,8347=>335,8348=>265,8352=>789,8353=>572,8354=>572,8355=>572,8356=>572,8357=>876,8358=>673,8359=>1143,8360=>966,8361=>890,8362=>754,8363=>572,8364=>572,8365=>572,8366=>572,8367=>1145,8368=>572,8369=>572,8370=>572,8371=>572,8372=>696,8373=>572,8376=>572,8377=>572,8378=>611,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>873,8449=>873,8450=>628,8451=>1011,8452=>807,8453=>872,8454=>929,8455=>553,8456=>628,8457=>856,8459=>889,8460=>679,8461=>765,8462=>570,8463=>570,8464=>422,8465=>627,8466=>648,8467=>372,8468=>736,8469=>721,8470=>936,8471=>900,8472=>627,8473=>631,8474=>708,8475=>718,8476=>732,8477=>712,8478=>807,8479=>615,8480=>917,8481=>912,8482=>900,8483=>615,8484=>670,8485=>520,8486=>688,8487=>688,8488=>554,8489=>304,8490=>590,8491=>615,8492=>708,8493=>633,8494=>769,8495=>532,8496=>545,8497=>708,8498=>518,8499=>962,8500=>416,8501=>670,8502=>606,8503=>419,8504=>580,8505=>342,8506=>833,8507=>1041,8508=>632,8509=>655,8510=>589,8511=>764,8512=>729,8513=>697,8514=>501,8515=>501,8516=>549,8517=>737,8518=>637,8519=>554,8520=>316,8521=>316,8523=>702,8526=>474,8528=>872,8529=>872,8530=>1233,8531=>872,8532=>872,8533=>872,8534=>872,8535=>872,8536=>872,8537=>872,8538=>872,8539=>872,8540=>872,8541=>872,8542=>872,8543=>511,8544=>265,8545=>443,8546=>620,8547=>831,8548=>615,8549=>830,8550=>1007,8551=>1185,8552=>826,8553=>616,8554=>839,8555=>1018,8556=>501,8557=>628,8558=>693,8559=>776,8560=>250,8561=>412,8562=>573,8563=>730,8564=>532,8565=>729,8566=>892,8567=>1053,8568=>737,8569=>532,8570=>740,8571=>901,8572=>250,8573=>495,8574=>571,8575=>876,8576=>1121,8577=>693,8578=>1121,8579=>633,8580=>494,8581=>628,8585=>872,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>754,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>615,8705=>572,8706=>465,8707=>568,8708=>568,8709=>784,8710=>602,8711=>602,8712=>784,8713=>784,8714=>646,8715=>784,8716=>784,8717=>646,8718=>572,8719=>681,8720=>681,8721=>606,8722=>754,8723=>754,8724=>754,8725=>303,8726=>573,8727=>754,8728=>563,8729=>563,8730=>573,8731=>573,8732=>573,8733=>643,8734=>750,8735=>754,8736=>807,8737=>807,8738=>754,8739=>450,8740=>450,8741=>450,8742=>450,8743=>659,8744=>659,8745=>659,8746=>659,8747=>469,8748=>710,8749=>951,8750=>469,8751=>710,8752=>951,8753=>469,8754=>469,8755=>469,8756=>572,8757=>572,8758=>234,8759=>572,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8766=>754,8767=>754,8768=>337,8769=>754,8770=>754,8771=>754,8772=>754,8773=>754,8774=>754,8775=>754,8776=>754,8777=>754,8778=>754,8779=>754,8780=>754,8781=>754,8782=>754,8783=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>900,8789=>900,8790=>754,8791=>754,8792=>754,8793=>754,8794=>754,8795=>754,8796=>754,8797=>754,8798=>754,8799=>754,8800=>754,8801=>754,8802=>754,8803=>754,8804=>754,8805=>754,8806=>754,8807=>754,8808=>754,8809=>754,8810=>942,8811=>942,8812=>417,8813=>754,8814=>754,8815=>754,8816=>754,8817=>754,8818=>754,8819=>754,8820=>754,8821=>754,8822=>754,8823=>754,8824=>754,8825=>754,8826=>754,8827=>754,8828=>754,8829=>754,8830=>754,8831=>754,8832=>754,8833=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8840=>754,8841=>754,8842=>754,8843=>754,8844=>659,8845=>659,8846=>659,8847=>754,8848=>754,8849=>754,8850=>754,8851=>702,8852=>702,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>784,8867=>784,8868=>784,8869=>784,8870=>468,8871=>468,8872=>784,8873=>784,8874=>784,8875=>784,8876=>784,8877=>784,8878=>784,8879=>784,8880=>754,8881=>754,8882=>754,8883=>754,8884=>754,8885=>754,8886=>900,8887=>900,8888=>754,8889=>754,8890=>468,8891=>659,8892=>659,8893=>659,8894=>754,8895=>754,8896=>738,8897=>738,8898=>738,8899=>738,8900=>444,8901=>286,8902=>563,8903=>754,8904=>900,8905=>900,8906=>900,8907=>900,8908=>900,8909=>754,8910=>659,8911=>659,8912=>754,8913=>754,8914=>754,8915=>754,8916=>754,8917=>754,8918=>754,8919=>754,8920=>1280,8921=>1280,8922=>754,8923=>754,8924=>754,8925=>754,8926=>754,8927=>754,8928=>754,8929=>754,8930=>754,8931=>754,8932=>754,8933=>754,8934=>754,8935=>754,8936=>754,8937=>754,8938=>754,8939=>754,8940=>754,8941=>754,8942=>900,8943=>900,8944=>900,8945=>900,8946=>900,8947=>784,8948=>646,8949=>784,8950=>784,8951=>646,8952=>784,8953=>784,8954=>900,8955=>784,8956=>646,8957=>784,8958=>646,8959=>784,8960=>542,8961=>542,8962=>571,8963=>754,8964=>754,8965=>754,8966=>754,8967=>439,8968=>351,8969=>351,8970=>351,8971=>351,8972=>728,8973=>728,8974=>728,8975=>728,8976=>754,8977=>461,8984=>900,8985=>754,8988=>422,8989=>422,8990=>422,8991=>422,8992=>469,8993=>469,8996=>1037,8997=>1037,8998=>1272,8999=>1037,9000=>1299,9003=>1272,9004=>786,9075=>304,9076=>571,9077=>753,9082=>593,9085=>681,9095=>1037,9108=>786,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>469,9166=>754,9167=>850,9187=>786,9189=>692,9192=>572,9250=>571,9251=>571,9312=>807,9313=>807,9314=>807,9315=>807,9316=>807,9317=>807,9318=>807,9319=>807,9320=>807,9321=>807,9472=>542,9473=>542,9474=>542,9475=>542,9476=>542,9477=>542,9478=>542,9479=>542,9480=>542,9481=>542,9482=>542,9483=>542,9484=>542,9485=>542,9486=>542,9487=>542,9488=>542,9489=>542,9490=>542,9491=>542,9492=>542,9493=>542,9494=>542,9495=>542,9496=>542,9497=>542,9498=>542,9499=>542,9500=>542,9501=>542,9502=>542,9503=>542,9504=>542,9505=>542,9506=>542,9507=>542,9508=>542,9509=>542,9510=>542,9511=>542,9512=>542,9513=>542,9514=>542,9515=>542,9516=>542,9517=>542,9518=>542,9519=>542,9520=>542,9521=>542,9522=>542,9523=>542,9524=>542,9525=>542,9526=>542,9527=>542,9528=>542,9529=>542,9530=>542,9531=>542,9532=>542,9533=>542,9534=>542,9535=>542,9536=>542,9537=>542,9538=>542,9539=>542,9540=>542,9541=>542,9542=>542,9543=>542,9544=>542,9545=>542,9546=>542,9547=>542,9548=>542,9549=>542,9550=>542,9551=>542,9552=>542,9553=>542,9554=>542,9555=>542,9556=>542,9557=>542,9558=>542,9559=>542,9560=>542,9561=>542,9562=>542,9563=>542,9564=>542,9565=>542,9566=>542,9567=>542,9568=>542,9569=>542,9570=>542,9571=>542,9572=>542,9573=>542,9574=>542,9575=>542,9576=>542,9577=>542,9578=>542,9579=>542,9580=>542,9581=>542,9582=>542,9583=>542,9584=>542,9585=>542,9586=>542,9587=>542,9588=>542,9589=>542,9590=>542,9591=>542,9592=>542,9593=>542,9594=>542,9595=>542,9596=>542,9597=>542,9598=>542,9599=>542,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>712,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>692,9697=>692,9698=>692,9699=>692,9700=>692,9701=>692,9702=>531,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9729=>900,9730=>807,9731=>807,9732=>807,9733=>807,9734=>807,9735=>515,9736=>806,9737=>807,9738=>799,9739=>799,9740=>604,9741=>911,9742=>1121,9743=>1125,9744=>807,9745=>807,9746=>807,9747=>479,9748=>807,9749=>807,9750=>807,9751=>807,9752=>807,9753=>807,9754=>807,9755=>807,9756=>807,9757=>548,9758=>807,9759=>548,9760=>807,9761=>807,9762=>807,9763=>807,9764=>602,9765=>671,9766=>584,9767=>705,9768=>490,9769=>807,9770=>807,9771=>807,9772=>639,9773=>807,9774=>807,9775=>807,9776=>800,9777=>800,9778=>800,9779=>800,9780=>800,9781=>800,9782=>800,9783=>800,9784=>807,9785=>938,9786=>938,9787=>938,9788=>807,9789=>807,9790=>807,9791=>552,9792=>659,9793=>659,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9800=>807,9801=>807,9802=>807,9803=>807,9804=>807,9805=>807,9806=>807,9807=>807,9808=>807,9809=>807,9810=>807,9811=>807,9812=>807,9813=>807,9814=>807,9815=>807,9816=>807,9817=>807,9818=>807,9819=>807,9820=>807,9821=>807,9822=>807,9823=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9832=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,9840=>673,9841=>689,9842=>807,9843=>807,9844=>807,9845=>807,9846=>807,9847=>807,9848=>807,9849=>807,9850=>807,9851=>807,9852=>807,9853=>807,9854=>807,9855=>807,9856=>782,9857=>782,9858=>782,9859=>782,9860=>782,9861=>782,9862=>800,9863=>800,9864=>800,9865=>800,9866=>800,9867=>800,9868=>800,9869=>800,9870=>800,9871=>800,9872=>675,9873=>675,9874=>800,9875=>734,9876=>644,9877=>483,9878=>766,9879=>800,9880=>615,9881=>807,9882=>637,9883=>800,9884=>800,9888=>800,9889=>632,9890=>904,9891=>980,9892=>1057,9893=>813,9894=>754,9895=>754,9896=>754,9897=>754,9898=>754,9899=>754,9900=>754,9901=>754,9902=>754,9903=>754,9904=>759,9905=>754,9906=>659,9907=>659,9908=>659,9909=>659,9910=>765,9911=>659,9912=>659,9920=>754,9921=>754,9922=>754,9923=>754,9954=>659,9985=>754,9986=>754,9987=>754,9988=>754,9990=>754,9991=>754,9992=>754,9993=>754,9996=>754,9997=>754,9998=>754,9999=>754,10000=>754,10001=>754,10002=>754,10003=>754,10004=>754,10005=>754,10006=>754,10007=>754,10008=>754,10009=>754,10010=>754,10011=>754,10012=>754,10013=>754,10014=>754,10015=>754,10016=>754,10017=>754,10018=>754,10019=>754,10020=>754,10021=>754,10022=>754,10023=>754,10025=>754,10026=>754,10027=>754,10028=>754,10029=>754,10030=>754,10031=>754,10032=>754,10033=>754,10034=>754,10035=>754,10036=>754,10037=>754,10038=>754,10039=>754,10040=>754,10041=>754,10042=>754,10043=>754,10044=>754,10045=>754,10046=>754,10047=>754,10048=>754,10049=>754,10050=>754,10051=>754,10052=>754,10053=>754,10054=>754,10055=>754,10056=>754,10057=>754,10058=>754,10059=>754,10061=>807,10063=>807,10064=>807,10065=>807,10066=>807,10070=>807,10072=>754,10073=>754,10074=>754,10075=>290,10076=>290,10077=>484,10078=>484,10081=>754,10082=>754,10083=>754,10084=>754,10085=>754,10086=>754,10087=>754,10088=>754,10089=>754,10090=>754,10091=>754,10092=>754,10093=>754,10094=>754,10095=>754,10096=>754,10097=>754,10098=>754,10099=>754,10100=>754,10101=>754,10102=>807,10103=>807,10104=>807,10105=>807,10106=>807,10107=>807,10108=>807,10109=>807,10110=>807,10111=>807,10112=>754,10113=>754,10114=>754,10115=>754,10116=>754,10117=>754,10118=>754,10119=>754,10120=>754,10121=>754,10122=>754,10123=>754,10124=>754,10125=>754,10126=>754,10127=>754,10128=>754,10129=>754,10130=>754,10131=>754,10132=>754,10136=>754,10137=>754,10138=>754,10139=>754,10140=>754,10141=>754,10142=>754,10143=>754,10144=>754,10145=>754,10146=>754,10147=>754,10148=>754,10149=>754,10150=>754,10151=>754,10152=>754,10153=>754,10154=>754,10155=>754,10156=>754,10157=>754,10158=>754,10159=>754,10161=>754,10162=>754,10163=>754,10164=>754,10165=>754,10166=>754,10167=>754,10168=>754,10169=>754,10170=>754,10171=>754,10172=>754,10173=>754,10174=>754,10181=>351,10182=>351,10208=>444,10214=>445,10215=>445,10216=>351,10217=>351,10218=>500,10219=>500,10224=>754,10225=>754,10226=>754,10227=>754,10228=>1042,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>659,10241=>659,10242=>659,10243=>659,10244=>659,10245=>659,10246=>659,10247=>659,10248=>659,10249=>659,10250=>659,10251=>659,10252=>659,10253=>659,10254=>659,10255=>659,10256=>659,10257=>659,10258=>659,10259=>659,10260=>659,10261=>659,10262=>659,10263=>659,10264=>659,10265=>659,10266=>659,10267=>659,10268=>659,10269=>659,10270=>659,10271=>659,10272=>659,10273=>659,10274=>659,10275=>659,10276=>659,10277=>659,10278=>659,10279=>659,10280=>659,10281=>659,10282=>659,10283=>659,10284=>659,10285=>659,10286=>659,10287=>659,10288=>659,10289=>659,10290=>659,10291=>659,10292=>659,10293=>659,10294=>659,10295=>659,10296=>659,10297=>659,10298=>659,10299=>659,10300=>659,10301=>659,10302=>659,10303=>659,10304=>659,10305=>659,10306=>659,10307=>659,10308=>659,10309=>659,10310=>659,10311=>659,10312=>659,10313=>659,10314=>659,10315=>659,10316=>659,10317=>659,10318=>659,10319=>659,10320=>659,10321=>659,10322=>659,10323=>659,10324=>659,10325=>659,10326=>659,10327=>659,10328=>659,10329=>659,10330=>659,10331=>659,10332=>659,10333=>659,10334=>659,10335=>659,10336=>659,10337=>659,10338=>659,10339=>659,10340=>659,10341=>659,10342=>659,10343=>659,10344=>659,10345=>659,10346=>659,10347=>659,10348=>659,10349=>659,10350=>659,10351=>659,10352=>659,10353=>659,10354=>659,10355=>659,10356=>659,10357=>659,10358=>659,10359=>659,10360=>659,10361=>659,10362=>659,10363=>659,10364=>659,10365=>659,10366=>659,10367=>659,10368=>659,10369=>659,10370=>659,10371=>659,10372=>659,10373=>659,10374=>659,10375=>659,10376=>659,10377=>659,10378=>659,10379=>659,10380=>659,10381=>659,10382=>659,10383=>659,10384=>659,10385=>659,10386=>659,10387=>659,10388=>659,10389=>659,10390=>659,10391=>659,10392=>659,10393=>659,10394=>659,10395=>659,10396=>659,10397=>659,10398=>659,10399=>659,10400=>659,10401=>659,10402=>659,10403=>659,10404=>659,10405=>659,10406=>659,10407=>659,10408=>659,10409=>659,10410=>659,10411=>659,10412=>659,10413=>659,10414=>659,10415=>659,10416=>659,10417=>659,10418=>659,10419=>659,10420=>659,10421=>659,10422=>659,10423=>659,10424=>659,10425=>659,10426=>659,10427=>659,10428=>659,10429=>659,10430=>659,10431=>659,10432=>659,10433=>659,10434=>659,10435=>659,10436=>659,10437=>659,10438=>659,10439=>659,10440=>659,10441=>659,10442=>659,10443=>659,10444=>659,10445=>659,10446=>659,10447=>659,10448=>659,10449=>659,10450=>659,10451=>659,10452=>659,10453=>659,10454=>659,10455=>659,10456=>659,10457=>659,10458=>659,10459=>659,10460=>659,10461=>659,10462=>659,10463=>659,10464=>659,10465=>659,10466=>659,10467=>659,10468=>659,10469=>659,10470=>659,10471=>659,10472=>659,10473=>659,10474=>659,10475=>659,10476=>659,10477=>659,10478=>659,10479=>659,10480=>659,10481=>659,10482=>659,10483=>659,10484=>659,10485=>659,10486=>659,10487=>659,10488=>659,10489=>659,10490=>659,10491=>659,10492=>659,10493=>659,10494=>659,10495=>659,10502=>754,10503=>754,10506=>754,10507=>754,10560=>615,10561=>615,10627=>660,10628=>660,10702=>754,10703=>900,10704=>900,10705=>900,10706=>900,10707=>900,10708=>900,10709=>900,10731=>444,10746=>754,10747=>754,10752=>900,10753=>900,10754=>900,10764=>1192,10765=>469,10766=>469,10767=>469,10768=>469,10769=>469,10770=>469,10771=>469,10772=>469,10773=>469,10774=>469,10775=>469,10776=>469,10777=>469,10778=>469,10779=>469,10780=>469,10799=>754,10858=>754,10859=>754,10877=>754,10878=>754,10879=>754,10880=>754,10881=>754,10882=>754,10883=>754,10884=>754,10885=>754,10886=>754,10887=>754,10888=>754,10889=>754,10890=>754,10891=>754,10892=>754,10893=>754,10894=>754,10895=>754,10896=>754,10897=>754,10898=>754,10899=>754,10900=>754,10901=>754,10902=>754,10903=>754,10904=>754,10905=>754,10906=>754,10907=>754,10908=>754,10909=>754,10910=>754,10911=>754,10912=>754,10926=>754,10927=>754,10928=>754,10929=>754,10930=>754,10931=>754,10932=>754,10933=>754,10934=>754,10935=>754,10936=>754,10937=>754,10938=>754,11001=>754,11002=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>752,11023=>752,11024=>752,11025=>752,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11039=>782,11040=>782,11041=>786,11042=>786,11043=>786,11044=>1007,11091=>782,11092=>782,11360=>501,11361=>250,11362=>501,11363=>542,11364=>625,11365=>551,11366=>353,11367=>677,11368=>570,11369=>590,11370=>521,11371=>616,11372=>472,11373=>703,11374=>776,11375=>615,11376=>703,11377=>661,11378=>1015,11379=>865,11380=>532,11381=>589,11382=>511,11383=>593,11385=>373,11386=>550,11387=>441,11388=>157,11389=>387,11390=>571,11391=>616,11520=>532,11521=>535,11522=>508,11523=>541,11524=>528,11525=>819,11526=>563,11527=>856,11528=>536,11529=>546,11530=>858,11531=>558,11532=>536,11533=>833,11534=>535,11535=>725,11536=>838,11537=>526,11538=>533,11539=>831,11540=>857,11541=>745,11542=>536,11543=>535,11544=>531,11545=>532,11546=>532,11547=>558,11548=>828,11549=>530,11550=>527,11551=>523,11552=>822,11553=>536,11554=>535,11555=>533,11556=>577,11557=>811,11800=>478,11807=>754,11810=>351,11811=>351,11812=>351,11813=>351,11822=>478,19904=>807,19905=>807,19906=>807,19907=>807,19908=>807,19909=>807,19910=>807,19911=>807,19912=>807,19913=>807,19914=>807,19915=>807,19916=>807,19917=>807,19918=>807,19919=>807,19920=>807,19921=>807,19922=>807,19923=>807,19924=>807,19925=>807,19926=>807,19927=>807,19928=>807,19929=>807,19930=>807,19931=>807,19932=>807,19933=>807,19934=>807,19935=>807,19936=>807,19937=>807,19938=>807,19939=>807,19940=>807,19941=>807,19942=>807,19943=>807,19944=>807,19945=>807,19946=>807,19947=>807,19948=>807,19949=>807,19950=>807,19951=>807,19952=>807,19953=>807,19954=>807,19955=>807,19956=>807,19957=>807,19958=>807,19959=>807,19960=>807,19961=>807,19962=>807,19963=>807,19964=>807,19965=>807,19966=>807,19967=>807,42192=>617,42193=>542,42194=>542,42195=>693,42196=>549,42197=>549,42198=>697,42199=>590,42200=>590,42201=>460,42202=>628,42203=>633,42204=>616,42205=>518,42206=>518,42207=>776,42208=>673,42209=>501,42210=>571,42211=>625,42212=>625,42213=>615,42214=>615,42215=>677,42216=>697,42217=>460,42218=>890,42219=>616,42220=>549,42221=>617,42222=>615,42223=>615,42224=>568,42225=>568,42226=>265,42227=>708,42228=>659,42229=>659,42230=>501,42231=>690,42232=>270,42233=>270,42234=>536,42235=>536,42236=>270,42237=>270,42238=>529,42239=>529,42564=>571,42565=>469,42566=>318,42567=>304,42572=>1062,42573=>925,42576=>926,42577=>815,42580=>971,42581=>757,42582=>886,42583=>762,42594=>922,42595=>833,42596=>912,42597=>810,42598=>776,42599=>907,42600=>708,42601=>550,42602=>770,42603=>641,42604=>1222,42605=>917,42606=>791,42634=>725,42635=>649,42636=>549,42637=>524,42644=>617,42645=>570,42760=>444,42761=>444,42762=>444,42763=>444,42764=>444,42765=>444,42766=>444,42767=>444,42768=>444,42769=>444,42770=>444,42771=>444,42772=>444,42773=>444,42774=>444,42779=>332,42780=>332,42781=>227,42782=>227,42783=>227,42786=>347,42787=>320,42788=>424,42789=>424,42790=>677,42791=>570,42792=>790,42793=>638,42794=>553,42795=>486,42800=>441,42801=>469,42802=>1125,42803=>886,42804=>1097,42805=>900,42806=>1039,42807=>896,42808=>874,42809=>736,42810=>874,42811=>736,42812=>863,42813=>736,42814=>628,42815=>494,42816=>590,42817=>521,42822=>612,42823=>353,42824=>523,42825=>384,42826=>726,42827=>633,42830=>1222,42831=>917,42832=>542,42833=>571,42834=>660,42835=>697,42838=>708,42839=>571,42852=>544,42853=>571,42854=>544,42855=>571,42880=>501,42881=>250,42882=>662,42883=>570,42889=>303,42890=>338,42891=>360,42892=>247,42893=>617,42894=>438,42896=>695,42897=>600,42912=>697,42913=>571,42914=>590,42915=>521,42916=>673,42917=>570,42918=>625,42919=>370,42920=>571,42921=>469,42922=>784,43002=>823,43003=>518,43004=>542,43005=>776,43006=>265,43007=>1079,61184=>192,61185=>214,61186=>231,61187=>237,61188=>240,61189=>214,61190=>192,61191=>214,61192=>231,61193=>237,61194=>231,61195=>214,61196=>192,61197=>214,61198=>231,61199=>237,61200=>231,61201=>214,61202=>192,61203=>214,61204=>240,61205=>237,61206=>231,61207=>214,61208=>192,61209=>247,62464=>522,62465=>522,62466=>561,62467=>800,62468=>526,62469=>522,62470=>587,62471=>793,62472=>500,62473=>522,62474=>1051,62475=>530,62476=>531,62477=>782,62478=>522,62479=>530,62480=>822,62481=>531,62482=>658,62483=>524,62484=>785,62485=>530,62486=>805,62487=>530,62488=>530,62489=>531,62490=>584,62491=>530,62492=>530,62493=>539,62494=>531,62495=>464,62496=>521,62497=>525,62498=>522,62499=>522,62500=>522,62501=>574,62502=>859,62504=>838,62505=>727,62506=>457,62507=>457,62508=>457,62509=>457,62510=>457,62511=>457,62512=>457,62513=>457,62514=>457,62515=>457,62516=>466,62517=>466,62518=>466,62519=>708,62520=>708,62521=>708,62522=>708,62523=>708,62524=>492,62525=>492,62526=>492,62527=>492,62528=>492,62529=>492,63173=>550,64256=>649,64257=>581,64258=>581,64259=>899,64260=>899,64261=>617,64262=>774,64275=>1081,64276=>1081,64277=>1076,64278=>1067,64279=>1376,64285=>201,64286=>0,64287=>423,64288=>572,64289=>770,64290=>696,64291=>815,64292=>694,64293=>759,64294=>769,64295=>726,64296=>788,64297=>754,64298=>637,64299=>637,64300=>637,64301=>637,64302=>602,64303=>602,64304=>602,64305=>520,64306=>371,64307=>491,64308=>588,64309=>245,64310=>312,64311=>900,64312=>583,64313=>276,64314=>483,64315=>476,64316=>511,64317=>900,64318=>611,64319=>900,64320=>360,64321=>584,64322=>900,64323=>576,64324=>562,64325=>900,64326=>534,64327=>638,64328=>508,64329=>637,64330=>591,64331=>245,64332=>520,64333=>476,64334=>562,64335=>566,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>923,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.z b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.z new file mode 100644 index 0000000..aa35d09 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusanscondensedi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.ctg.z new file mode 100644 index 0000000..d5fff04 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.php new file mode 100644 index 0000000..f916c33 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-733 -269 1659 1104]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>17,'StemH'=>7,'AvgWidth'=>506,'MaxWidth'=>1735,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(177,0,224,729),34=>array(113,458,345,729),35=>array(77,0,761,718),36=>array(83,-147,556,760),37=>array(74,-14,875,742),38=>array(86,-14,718,742),39=>array(113,458,160,729),40=>array(109,-132,287,760),41=>array(109,-132,287,760),42=>array(37,286,461,742),43=>array(106,0,732,627),44=>array(114,-116,183,62),45=>array(49,254,312,294),46=>array(134,0,184,62),47=>array(16,-93,321,729),48=>array(89,-15,543,742),49=>array(110,0,520,729),50=>array(69,0,536,742),51=>array(76,-14,531,742),52=>array(49,0,556,729),53=>array(99,-14,525,729),54=>array(97,-14,549,742),55=>array(82,0,525,729),56=>array(94,-14,542,742),57=>array(97,-14,549,742),58=>array(144,0,193,480),59=>array(125,-116,193,480),60=>array(106,64,732,560),61=>array(106,215,732,412),62=>array(106,64,732,560),63=>array(76,0,439,742),64=>array(108,-186,917,708),65=>array(30,0,651,729),66=>array(123,0,587,729),67=>array(83,-14,644,742),68=>array(122,0,687,729),69=>array(122,0,542,729),70=>array(122,0,492,729),71=>array(83,-14,668,742),72=>array(122,0,628,729),73=>array(121,0,172,729),74=>array(5,-178,171,729),75=>array(173,0,644,729),76=>array(122,0,526,729),77=>array(161,0,702,729),78=>array(121,0,596,729),79=>array(82,-14,706,742),80=>array(122,0,542,729),81=>array(82,-129,706,742),82=>array(123,0,641,729),83=>array(89,-14,553,742),84=>array(22,0,589,729),85=>array(112,-14,620,729),86=>array(30,0,651,729),87=>array(69,0,895,729),88=>array(59,0,629,729),89=>array(22,0,587,729),90=>array(45,0,640,729),91=>array(113,-132,280,760),92=>array(16,-93,321,729),93=>array(113,-132,280,760),94=>array(125,457,713,729),95=>array(-10,-236,510,-198),96=>array(100,617,299,800),97=>array(82,-14,500,560),98=>array(114,-14,555,760),99=>array(68,-14,488,560),100=>array(114,-14,555,760),101=>array(79,-14,540,560),102=>array(45,0,349,760),103=>array(81,-208,521,560),104=>array(113,0,526,760),105=>array(112,0,157,760),106=>array(-18,-208,162,760),107=>array(159,0,547,760),108=>array(113,0,158,760),109=>array(113,0,868,560),110=>array(113,0,526,560),111=>array(79,-17,532,560),112=>array(114,-208,555,560),113=>array(114,-208,555,560),114=>array(114,0,410,560),115=>array(75,-14,449,560),116=>array(50,0,346,702),117=>array(113,-13,526,547),118=>array(63,0,528,547),119=>array(63,0,726,547),120=>array(56,0,536,547),121=>array(54,-189,538,547),122=>array(43,0,482,547),123=>array(169,-163,431,760),124=>array(146,-236,193,764),125=>array(169,-163,431,760),126=>array(106,250,732,382),161=>array(177,0,224,729),162=>array(109,-153,527,699),163=>array(63,0,548,742),164=>array(60,54,577,573),165=>array(62,0,574,729),166=>array(142,-171,190,699),167=>array(46,-85,446,742),168=>array(159,699,342,758),169=>array(138,0,862,725),170=>array(68,249,404,742),171=>array(94,86,535,500),172=>array(105,141,716,399),173=>array(49,254,312,294),174=>array(138,0,862,725),175=>array(104,702,396,745),176=>array(116,451,384,720),177=>array(105,0,732,627),178=>array(46,358,338,742),179=>array(48,345,340,742),180=>array(181,616,380,800),181=>array(107,-208,618,547),182=>array(84,-96,516,729),183=>array(133,306,184,367),184=>array(142,-188,333,0),185=>array(67,359,346,729),186=>array(63,249,408,742),187=>array(94,86,535,500),188=>array(67,-14,923,742),189=>array(67,-14,906,742),190=>array(48,-14,923,742),191=>array(76,-14,439,728),192=>array(30,0,651,927),193=>array(30,0,651,927),194=>array(30,0,651,928),195=>array(30,0,651,914),196=>array(30,0,651,913),197=>array(30,0,651,920),198=>array(27,0,910,729),199=>array(83,-188,644,742),200=>array(122,0,542,927),201=>array(122,0,542,927),202=>array(122,0,542,928),203=>array(122,0,542,913),204=>array(47,0,199,927),205=>array(95,0,246,927),206=>array(7,0,288,928),207=>array(56,0,239,913),208=>array(5,0,687,729),209=>array(121,0,596,914),210=>array(82,-14,706,927),211=>array(82,-14,706,927),212=>array(82,-14,706,928),213=>array(82,-14,706,914),214=>array(82,-14,706,913),215=>array(161,54,677,573),216=>array(59,-29,730,754),217=>array(112,-14,620,927),218=>array(112,-14,620,927),219=>array(112,-14,620,928),220=>array(112,-14,620,913),221=>array(22,0,587,927),222=>array(122,0,543,729),223=>array(133,-14,576,760),224=>array(82,-14,500,800),225=>array(82,-14,500,800),226=>array(82,-14,500,800),227=>array(82,-14,500,767),228=>array(82,-14,500,758),229=>array(82,-14,500,864),230=>array(82,-14,914,561),231=>array(68,-188,488,560),232=>array(79,-14,540,800),233=>array(79,-14,540,800),234=>array(79,-14,540,800),235=>array(79,-14,540,758),236=>array(-11,0,188,800),237=>array(70,0,270,800),238=>array(-0,0,280,800),239=>array(48,0,231,758),240=>array(79,-14,531,760),241=>array(113,0,526,767),242=>array(79,-17,532,800),243=>array(79,-17,532,800),244=>array(79,-17,532,800),245=>array(79,-17,532,767),246=>array(79,-17,532,758),247=>array(105,73,732,554),248=>array(39,-42,569,589),249=>array(113,-13,526,800),250=>array(113,-13,526,800),251=>array(113,-13,526,800),252=>array(113,-13,526,758),253=>array(54,-189,538,800),254=>array(114,-208,555,760),255=>array(54,-189,538,758),256=>array(30,0,651,899),257=>array(82,-14,500,745),258=>array(30,0,651,946),259=>array(82,-14,500,765),260=>array(30,-188,726,729),261=>array(82,-188,604,560),262=>array(83,-14,644,927),263=>array(68,-14,488,800),264=>array(83,-14,644,928),265=>array(68,-14,488,800),266=>array(83,-14,644,876),267=>array(68,-14,488,722),268=>array(83,-14,644,928),269=>array(68,-14,488,800),270=>array(122,0,687,938),271=>array(114,-14,707,760),272=>array(5,0,687,729),273=>array(79,-14,596,760),274=>array(122,0,542,900),275=>array(79,-14,540,745),276=>array(122,0,542,928),277=>array(79,-14,540,785),278=>array(122,0,542,876),279=>array(79,-14,540,722),280=>array(122,-188,589,729),281=>array(79,-188,548,560),282=>array(122,0,542,925),283=>array(79,-14,540,797),284=>array(83,-14,668,928),285=>array(81,-208,521,800),286=>array(83,-14,668,928),287=>array(81,-208,521,785),288=>array(83,-14,668,876),289=>array(81,-208,521,722),290=>array(83,-250,668,742),291=>array(81,-208,521,775),292=>array(122,0,628,928),293=>array(-5,0,526,928),294=>array(121,0,791,729),295=>array(70,0,556,760),296=>array(2,0,291,914),297=>array(-7,0,284,767),298=>array(1,0,293,899),299=>array(-7,0,285,745),300=>array(-5,0,300,928),301=>array(-14,0,292,785),302=>array(97,-188,288,729),303=>array(84,-188,275,760),304=>array(121,0,172,876),305=>array(112,0,157,547),306=>array(121,-178,466,729),307=>array(112,-208,439,760),308=>array(5,-178,287,928),309=>array(-18,-208,280,800),310=>array(173,-235,644,729),311=>array(159,-235,547,760),312=>array(111,0,576,547),313=>array(122,0,526,928),314=>array(113,0,267,928),315=>array(122,-235,526,729),316=>array(82,-235,181,760),317=>array(122,0,526,730),318=>array(113,0,350,761),319=>array(122,0,526,729),320=>array(113,0,288,760),321=>array(-2,0,526,729),322=>array(6,0,279,760),323=>array(121,0,596,928),324=>array(113,0,526,803),325=>array(121,-235,596,729),326=>array(113,-235,526,560),327=>array(121,0,596,921),328=>array(113,0,526,800),329=>array(127,0,693,729),330=>array(131,-178,606,729),331=>array(113,-198,526,560),332=>array(82,-14,706,899),333=>array(79,-17,532,745),334=>array(82,-14,706,928),335=>array(79,-17,532,785),336=>array(82,-14,706,927),337=>array(79,-17,532,800),338=>array(82,0,977,729),339=>array(79,-17,948,561),340=>array(123,0,641,928),341=>array(114,0,413,803),342=>array(123,-235,641,729),343=>array(79,-235,410,560),344=>array(123,0,641,921),345=>array(114,0,410,800),346=>array(89,-14,553,928),347=>array(75,-14,449,803),348=>array(89,-14,553,928),349=>array(75,-14,449,800),350=>array(89,-188,553,742),351=>array(75,-188,449,560),352=>array(89,-14,553,928),353=>array(75,-14,449,800),354=>array(22,-188,589,729),355=>array(50,-188,346,702),356=>array(22,0,589,921),357=>array(50,0,349,814),358=>array(22,0,589,729),359=>array(50,0,346,702),360=>array(112,-14,620,914),361=>array(113,-13,526,767),362=>array(112,-14,620,899),363=>array(113,-13,526,745),364=>array(112,-14,620,928),365=>array(113,-13,526,785),366=>array(112,-14,620,920),367=>array(113,-13,526,835),368=>array(112,-14,620,927),369=>array(113,-13,527,800),370=>array(112,-196,620,729),371=>array(113,-188,633,547),372=>array(69,0,895,932),373=>array(63,0,726,803),374=>array(22,0,587,932),375=>array(54,-189,538,803),376=>array(22,0,587,913),377=>array(45,0,640,928),378=>array(43,0,482,803),379=>array(45,0,640,867),380=>array(43,0,482,722),381=>array(45,0,640,928),382=>array(43,0,482,800),383=>array(45,0,349,760),384=>array(70,-14,555,760),385=>array(-48,0,587,729),386=>array(123,0,587,729),387=>array(114,-14,555,760),390=>array(83,-14,644,742),391=>array(83,-14,779,882),392=>array(68,-14,623,719),393=>array(5,0,687,729),394=>array(-49,0,687,729),395=>array(123,0,587,729),396=>array(114,-14,555,760),397=>array(76,-209,534,547),398=>array(122,0,542,729),399=>array(82,-14,706,742),400=>array(76,-14,531,742),401=>array(5,-178,492,729),402=>array(-3,-208,349,760),403=>array(83,-14,786,882),404=>array(91,-210,612,661),405=>array(113,0,863,760),406=>array(121,0,347,729),407=>array(24,0,271,729),408=>array(173,0,736,729),409=>array(112,0,500,760),410=>array(4,0,271,760),412=>array(113,-13,868,729),413=>array(5,-178,596,729),414=>array(113,-208,526,560),415=>array(82,-14,706,742),416=>array(76,-14,772,758),417=>array(82,-17,677,573),418=>array(82,-14,827,742),419=>array(79,-208,668,560),420=>array(-49,0,542,729),421=>array(114,-208,555,760),422=>array(123,-129,641,729),423=>array(89,-14,553,742),424=>array(75,-14,449,560),425=>array(98,0,568,729),427=>array(50,-208,346,702),428=>array(24,0,589,729),429=>array(50,0,346,760),430=>array(22,-178,589,729),431=>array(109,-4,797,760),432=>array(114,-13,699,573),433=>array(57,-15,707,729),434=>array(121,0,657,729),435=>array(22,0,716,729),436=>array(54,-189,674,560),437=>array(45,0,640,729),438=>array(43,0,482,547),448=>array(123,-208,172,729),449=>array(123,-208,370,729),450=>array(27,-208,434,729),451=>array(124,0,171,729),452=>array(122,0,1352,928),453=>array(122,0,1211,800),454=>array(114,-14,1071,800),455=>array(122,-178,742,729),456=>array(122,-208,711,760),457=>array(113,-208,344,760),458=>array(121,-178,842,729),459=>array(121,-208,817,760),460=>array(113,-208,711,760),461=>array(30,0,651,928),462=>array(82,-14,500,800),463=>array(7,0,288,928),464=>array(0,0,281,800),465=>array(82,-14,706,928),466=>array(79,-17,532,800),467=>array(112,-14,620,928),468=>array(113,-13,526,800),469=>array(112,-14,620,1025),470=>array(113,-13,526,899),471=>array(112,-14,620,1044),472=>array(113,-13,526,892),473=>array(112,-14,620,1044),474=>array(113,-13,526,892),475=>array(112,-14,620,1047),476=>array(113,-13,526,892),477=>array(79,-14,540,560),478=>array(30,0,651,1025),479=>array(82,-14,500,899),480=>array(30,0,651,1025),481=>array(82,-14,500,869),482=>array(27,0,910,900),483=>array(82,-14,914,743),484=>array(83,-14,752,742),485=>array(81,-208,598,560),486=>array(83,-14,668,928),487=>array(81,-208,521,798),488=>array(63,0,644,928),489=>array(42,0,547,928),490=>array(82,-196,706,742),491=>array(79,-196,532,560),492=>array(82,-196,706,899),493=>array(79,-196,532,745),496=>array(-18,-208,281,800),497=>array(122,0,1352,729),498=>array(122,0,1211,729),499=>array(114,-14,1071,760),500=>array(83,-14,668,928),501=>array(81,-208,521,798),504=>array(121,0,596,927),505=>array(113,0,526,799),506=>array(30,0,651,1000),507=>array(82,-14,611,1026),508=>array(27,0,910,928),509=>array(82,-14,914,798),510=>array(59,-29,730,928),511=>array(39,-42,569,798),512=>array(30,0,651,930),513=>array(82,-14,500,799),514=>array(30,0,651,901),515=>array(82,-14,500,785),516=>array(122,0,542,930),517=>array(79,-14,540,798),518=>array(122,0,542,901),519=>array(79,-14,540,785),520=>array(-29,0,287,930),521=>array(-13,0,299,798),522=>array(2,0,308,901),523=>array(-14,0,292,785),524=>array(82,-14,706,930),525=>array(79,-17,532,799),526=>array(82,-14,706,901),527=>array(79,-17,532,785),528=>array(112,0,641,930),529=>array(81,0,410,798),530=>array(123,0,641,901),531=>array(114,0,421,785),532=>array(112,-14,620,930),533=>array(113,-13,526,799),534=>array(112,-14,620,901),535=>array(113,-13,526,785),536=>array(89,-240,553,742),537=>array(75,-240,449,560),538=>array(22,-240,589,729),539=>array(50,-240,346,702),542=>array(122,0,628,928),543=>array(0,0,526,928),548=>array(45,-206,640,729),549=>array(43,-208,482,547),550=>array(30,0,651,878),551=>array(82,-14,500,723),552=>array(122,-188,542,729),553=>array(79,-188,540,560),554=>array(82,-14,706,1025),555=>array(79,-17,532,899),556=>array(82,-14,706,1025),557=>array(79,-17,532,864),558=>array(82,-14,706,876),559=>array(79,-17,532,722),560=>array(82,-14,706,1025),561=>array(79,-17,532,899),562=>array(22,0,587,899),563=>array(54,-189,538,745),567=>array(-18,-208,162,547),568=>array(114,-14,952,760),569=>array(114,-208,952,560),581=>array(30,0,651,729),584=>array(5,-178,290,729),585=>array(-18,-208,264,760),587=>array(114,-208,690,560),588=>array(5,0,641,729),589=>array(8,0,410,560),592=>array(87,-14,505,560),593=>array(114,-14,555,560),594=>array(114,-14,555,560),595=>array(114,-14,555,760),596=>array(68,-14,488,560),598=>array(114,-208,690,760),599=>array(114,-14,690,760),600=>array(79,-14,540,560),601=>array(79,-14,540,560),603=>array(89,-14,473,561),604=>array(89,-14,473,561),607=>array(-18,-208,264,547),608=>array(81,-208,656,719),609=>array(81,-208,521,547),611=>array(126,-210,576,547),613=>array(113,-208,526,547),614=>array(113,0,526,760),615=>array(113,-208,526,760),616=>array(10,0,268,760),617=>array(114,0,271,547),618=>array(57,0,314,547),621=>array(114,-208,271,760),623=>array(113,-13,868,547),624=>array(113,-208,868,547),625=>array(113,-208,868,560),626=>array(-21,-208,526,560),627=>array(113,-208,661,560),628=>array(114,0,523,547),629=>array(79,-17,532,560),632=>array(81,-208,579,754),633=>array(0,-13,296,547),634=>array(0,-13,296,755),635=>array(0,-208,432,547),636=>array(114,-207,410,560),637=>array(114,-208,410,560),638=>array(64,0,437,560),639=>array(94,0,466,560),640=>array(48,0,482,547),641=>array(48,0,482,547),642=>array(75,-208,449,560),643=>array(-3,-208,349,760),645=>array(38,-208,390,547),647=>array(50,-155,346,547),648=>array(50,-208,346,702),649=>array(57,-13,586,547),650=>array(55,-15,564,547),651=>array(114,0,496,547),652=>array(63,0,528,547),653=>array(63,0,726,547),654=>array(54,0,538,736),656=>array(43,-208,593,547),665=>array(113,0,506,547),668=>array(113,0,541,547),670=>array(132,-212,520,548),671=>array(125,0,481,560),672=>array(114,-208,718,760),675=>array(78,-14,946,760),678=>array(69,0,752,702),679=>array(50,-208,623,760),681=>array(45,-198,782,760),682=>array(113,0,634,760),683=>array(113,0,585,760),686=>array(0,-208,548,760),687=>array(0,-208,683,760),699=>array(114,499,183,729),700=>array(114,499,183,729),702=>array(57,492,191,760),710=>array(110,616,391,800),711=>array(110,616,391,800),713=>array(104,702,396,745),714=>array(181,616,380,800),715=>array(100,617,299,800),717=>array(104,-127,396,-84),718=>array(100,-235,299,-53),719=>array(181,-236,380,-53),728=>array(97,645,403,785),729=>array(228,658,272,722),730=>array(130,624,370,864),731=>array(173,-188,364,0),732=>array(104,650,395,767),733=>array(130,615,441,800),741=>array(104,0,372,668),742=>array(104,0,372,668),743=>array(104,0,372,668),744=>array(104,0,372,668),745=>array(104,0,372,668),755=>array(130,-238,370,3),759=>array(104,-170,395,-54),768=>array(-401,617,-202,800),769=>array(-320,616,-121,800),770=>array(-391,616,-110,800),771=>array(-397,650,-106,767),772=>array(-394,702,-102,745),773=>array(-510,686,10,724),774=>array(-407,645,-101,785),775=>array(-268,658,-223,722),776=>array(-342,699,-159,758),777=>array(-340,618,-161,847),778=>array(-371,624,-131,864),779=>array(-368,615,-57,800),780=>array(-388,616,-107,800),781=>array(-271,615,-229,832),782=>array(-383,615,-117,832),783=>array(-438,615,-126,800),784=>array(-407,645,-101,819),785=>array(-407,645,-101,785),786=>array(-210,489,-110,645),787=>array(-278,635,-187,844),788=>array(-305,635,-213,844),789=>array(-48,575,42,760),790=>array(-401,-266,-202,-83),791=>array(-320,-267,-121,-83),795=>array(-123,382,65,573),803=>array(-272,-184,-228,-120),804=>array(-342,-143,-159,-84),805=>array(-355,-241,-146,-32),806=>array(-308,-240,-209,-84),807=>array(-358,-188,-167,0),808=>array(-327,-188,-136,0),812=>array(-388,-269,-107,-85),813=>array(-391,-267,-110,-83),814=>array(-407,-222,-101,-82),815=>array(-407,-224,-101,-83),816=>array(-397,-211,-106,-95),817=>array(-394,-127,-102,-84),818=>array(-510,-236,10,-198),819=>array(-510,-236,10,-41),820=>array(-557,240,-41,343),821=>array(-317,266,-60,306),822=>array(-635,266,0,306),823=>array(-568,-42,-38,589),824=>array(-733,-29,-63,754),831=>array(-510,528,10,724),856=>array(-272,658,-228,722),860=>array(-446,-237,445,-59),861=>array(-446,802,445,980),865=>array(-446,751,446,929),880=>array(122,0,579,729),881=>array(114,0,497,547),882=>array(123,0,739,729),883=>array(121,0,527,729),884=>array(78,557,203,800),885=>array(78,-208,203,35),886=>array(123,0,632,729),887=>array(113,0,545,547),890=>array(210,-208,300,-45),891=>array(68,-14,488,560),892=>array(68,-14,488,560),893=>array(68,-14,488,560),894=>array(125,-116,193,480),900=>array(181,616,380,800),901=>array(159,699,380,978),902=>array(30,0,651,800),903=>array(133,306,184,367),904=>array(-12,0,657,800),905=>array(-6,0,739,800),906=>array(-9,0,286,800),908=>array(-7,-14,725,800),910=>array(-15,0,795,800),911=>array(-18,0,733,800),912=>array(57,0,279,978),913=>array(30,0,651,729),914=>array(123,0,587,729),915=>array(122,0,552,729),916=>array(30,0,651,729),917=>array(122,0,542,729),918=>array(45,0,640,729),919=>array(122,0,628,729),920=>array(82,-14,706,742),921=>array(121,0,172,729),922=>array(173,0,644,729),923=>array(30,0,651,729),924=>array(161,0,702,729),925=>array(121,0,596,729),926=>array(98,0,548,729),927=>array(82,-14,706,742),928=>array(123,0,629,729),929=>array(122,0,542,729),931=>array(98,0,568,729),932=>array(22,0,589,729),933=>array(22,0,587,729),934=>array(83,0,711,729),935=>array(59,0,629,729),936=>array(82,0,706,729),937=>array(57,0,707,744),938=>array(56,0,239,913),939=>array(22,0,587,913),940=>array(80,-12,596,800),941=>array(89,-14,473,800),942=>array(113,-208,526,800),943=>array(90,0,290,800),944=>array(96,0,498,978),945=>array(80,-12,596,559),946=>array(116,-208,542,760),947=>array(16,-208,539,547),948=>array(76,-14,534,742),949=>array(89,-14,473,561),950=>array(67,-210,496,760),951=>array(113,-208,526,560),952=>array(79,-11,534,768),953=>array(114,0,271,547),954=>array(113,0,530,547),955=>array(54,0,538,736),956=>array(107,-208,618,547),957=>array(67,0,491,547),958=>array(68,-210,479,760),959=>array(79,-17,532,560),960=>array(36,-14,574,547),961=>array(113,-208,555,560),962=>array(68,-210,488,560),963=>array(81,-14,581,547),964=>array(59,0,542,547),965=>array(96,0,498,547),966=>array(81,-208,579,556),967=>array(29,-208,549,547),968=>array(74,-208,583,547),969=>array(90,-14,735,547),970=>array(57,0,279,758),971=>array(96,0,498,758),972=>array(79,-17,532,800),973=>array(96,0,498,800),974=>array(90,-14,735,800),975=>array(173,-208,644,729),981=>array(81,-208,579,754),982=>array(56,-14,769,547),984=>array(82,-207,706,742),985=>array(79,-207,532,560),988=>array(122,0,492,729),1009=>array(113,-208,555,560),1010=>array(68,-14,488,560),1011=>array(-18,-208,162,760),1012=>array(82,-14,706,742),1013=>array(68,-14,480,560),1014=>array(95,-14,507,560),1015=>array(122,0,543,729),1016=>array(114,-208,555,760),1017=>array(83,-14,644,742),1020=>array(42,-208,555,560),1021=>array(83,-14,644,742),1022=>array(83,-14,644,742),1023=>array(83,-14,644,742),1024=>array(122,0,542,927),1025=>array(122,0,542,898),1026=>array(21,-178,684,729),1027=>array(122,0,552,927),1028=>array(83,-14,644,742),1029=>array(89,-14,553,742),1030=>array(121,0,172,729),1031=>array(56,0,239,913),1032=>array(5,-178,171,729),1033=>array(51,-14,996,729),1034=>array(122,0,947,729),1035=>array(21,0,684,729),1036=>array(123,0,616,927),1037=>array(123,0,632,927),1038=>array(44,-14,565,928),1039=>array(123,-157,629,729),1040=>array(30,0,651,729),1041=>array(123,0,587,729),1042=>array(123,0,587,729),1043=>array(122,0,552,729),1044=>array(80,-157,696,729),1045=>array(122,0,542,729),1046=>array(58,0,982,729),1047=>array(76,-14,565,742),1048=>array(123,0,632,729),1049=>array(123,0,632,928),1050=>array(123,0,616,729),1051=>array(51,-14,628,729),1052=>array(161,0,702,729),1053=>array(122,0,628,729),1054=>array(82,-14,706,742),1055=>array(123,0,629,729),1056=>array(122,0,542,729),1057=>array(83,-14,644,742),1058=>array(22,0,589,729),1059=>array(44,-14,565,729),1060=>array(93,0,767,729),1061=>array(59,0,629,729),1062=>array(122,-157,696,729),1063=>array(116,0,568,729),1064=>array(122,0,946,729),1065=>array(122,-157,1014,729),1066=>array(25,0,737,729),1067=>array(123,0,759,729),1068=>array(123,0,587,729),1069=>array(83,-14,644,742),1070=>array(121,-14,949,742),1071=>array(84,0,571,729),1072=>array(82,-14,500,560),1073=>array(79,-17,532,777),1074=>array(113,0,506,547),1075=>array(120,0,452,547),1076=>array(73,-138,607,547),1077=>array(79,-14,540,560),1078=>array(63,0,845,547),1079=>array(89,-14,473,561),1080=>array(113,0,545,547),1081=>array(113,0,545,760),1082=>array(113,0,530,547),1083=>array(47,-14,538,547),1084=>array(137,0,617,547),1085=>array(113,0,541,547),1086=>array(79,-17,532,560),1087=>array(113,0,541,547),1088=>array(114,-208,555,560),1089=>array(68,-14,488,560),1090=>array(34,0,515,547),1091=>array(54,-189,538,547),1092=>array(74,-208,781,760),1093=>array(56,0,536,547),1094=>array(112,-138,610,547),1095=>array(97,0,477,547),1096=>array(112,0,800,547),1097=>array(112,-138,868,547),1098=>array(41,0,643,547),1099=>array(113,0,649,547),1100=>array(113,0,506,547),1101=>array(68,-14,479,560),1102=>array(112,-14,734,563),1103=>array(66,0,479,547),1104=>array(79,-14,540,802),1105=>array(79,-14,540,722),1106=>array(41,-208,536,760),1107=>array(120,0,452,803),1108=>array(68,-14,479,560),1109=>array(75,-14,449,560),1110=>array(112,0,157,760),1111=>array(48,0,231,758),1112=>array(-18,-208,162,760),1113=>array(47,-14,818,547),1114=>array(114,0,818,547),1115=>array(41,0,544,760),1116=>array(113,0,530,803),1117=>array(113,0,545,802),1118=>array(54,-189,538,760),1119=>array(116,-138,546,547),1121=>array(90,-14,735,547),1122=>array(20,0,669,729),1123=>array(15,0,583,760),1124=>array(121,-14,890,742),1125=>array(112,-14,688,560),1136=>array(82,0,706,729),1137=>array(74,-208,583,547),1138=>array(82,-14,706,742),1168=>array(122,0,526,879),1169=>array(120,0,452,701),1176=>array(76,-188,565,742),1177=>array(89,-188,473,561),1184=>array(11,0,763,729),1185=>array(22,0,648,547),1188=>array(122,0,1008,729),1189=>array(114,0,829,547),1194=>array(83,-188,644,742),1195=>array(68,-188,488,560),1198=>array(22,0,587,729),1199=>array(54,-211,538,547),1204=>array(22,-157,885,729),1205=>array(22,-138,761,547),1210=>array(116,0,568,729),1211=>array(113,0,526,760),1216=>array(113,0,158,760),1217=>array(58,0,982,928),1218=>array(63,0,845,785),1223=>array(122,-208,628,729),1224=>array(113,-208,541,547),1232=>array(30,0,651,946),1233=>array(82,-14,500,765),1234=>array(30,0,651,913),1235=>array(82,-14,500,758),1236=>array(27,0,910,729),1237=>array(82,-14,914,561),1238=>array(122,0,542,928),1239=>array(79,-14,540,785),1240=>array(82,-14,706,742),1241=>array(79,-14,540,560),1242=>array(82,-14,706,913),1243=>array(79,-14,540,758),1244=>array(58,0,982,913),1245=>array(63,0,845,758),1246=>array(76,-14,565,913),1247=>array(89,-14,473,758),1250=>array(123,0,632,899),1251=>array(113,0,545,745),1252=>array(123,0,632,913),1253=>array(113,0,545,758),1254=>array(82,-14,706,913),1255=>array(79,-17,532,758),1256=>array(82,-14,706,742),1257=>array(79,-17,532,560),1258=>array(82,-14,706,913),1259=>array(79,-17,532,758),1260=>array(83,-14,644,913),1261=>array(68,-14,479,758),1262=>array(44,-14,565,899),1263=>array(54,-189,538,745),1264=>array(44,-14,565,913),1265=>array(54,-189,538,758),1266=>array(44,-14,565,927),1267=>array(54,-189,538,800),1268=>array(116,0,568,913),1269=>array(97,0,477,758),1272=>array(123,0,759,913),1273=>array(113,0,649,758),1278=>array(59,0,629,729),1279=>array(56,0,536,547),1280=>array(99,0,563,729),1281=>array(83,0,477,547),1296=>array(76,-14,531,742),1297=>array(89,-14,473,561),1298=>array(51,-208,628,729),1299=>array(47,-208,538,547),1300=>array(51,-14,1113,729),1301=>array(47,-14,938,547),1306=>array(82,-129,706,742),1307=>array(114,-208,555,560),1308=>array(69,0,895,729),1309=>array(63,0,726,547),1329=>array(112,-29,719,729),1330=>array(112,0,634,743),1331=>array(73,0,716,743),1332=>array(78,0,731,743),1333=>array(112,-14,634,729),1334=>array(103,0,676,743),1335=>array(112,0,596,729),1336=>array(112,0,634,743),1337=>array(112,-15,853,743),1338=>array(78,-14,721,729),1339=>array(112,0,620,729),1340=>array(122,0,526,729),1341=>array(112,-14,929,729),1342=>array(119,-14,781,743),1343=>array(111,0,620,729),1344=>array(44,-12,591,729),1345=>array(93,-21,666,743),1346=>array(78,0,731,743),1347=>array(59,0,746,740),1348=>array(112,-14,765,729),1349=>array(79,-15,649,744),1350=>array(24,-14,677,729),1351=>array(103,-15,677,729),1352=>array(112,0,620,743),1353=>array(88,-15,660,743),1354=>array(73,0,777,743),1355=>array(107,0,685,743),1356=>array(112,0,783,743),1357=>array(112,-14,620,729),1358=>array(78,0,731,729),1359=>array(87,-15,649,744),1360=>array(112,0,620,743),1361=>array(79,-15,649,744),1362=>array(112,0,563,729),1363=>array(78,0,706,729),1364=>array(73,0,669,743),1365=>array(82,-14,706,742),1366=>array(83,-11,711,729),1370=>array(114,499,183,729),1371=>array(17,670,216,853),1372=>array(2,669,346,925),1373=>array(5,670,205,853),1374=>array(16,666,358,872),1375=>array(0,702,366,745),1377=>array(113,-13,868,547),1378=>array(113,-208,526,560),1379=>array(78,-208,678,560),1380=>array(113,-208,718,560),1381=>array(113,-13,526,760),1382=>array(78,-208,677,560),1383=>array(113,0,526,760),1384=>array(113,-208,526,560),1385=>array(113,-208,796,560),1386=>array(78,-13,678,760),1387=>array(113,-208,526,760),1388=>array(113,-208,355,547),1389=>array(113,-208,799,760),1390=>array(79,-17,532,774),1391=>array(113,-208,526,760),1392=>array(113,0,526,760),1393=>array(74,-13,509,760),1394=>array(113,-208,687,560),1395=>array(68,-13,537,789),1396=>array(113,-13,695,760),1397=>array(-18,-208,162,547),1398=>array(0,-13,556,760),1399=>array(62,-208,483,562),1400=>array(113,0,526,560),1401=>array(30,-208,359,563),1402=>array(113,-208,868,547),1403=>array(56,-208,502,562),1404=>array(113,0,602,560),1405=>array(113,-13,526,547),1406=>array(113,-208,676,760),1407=>array(113,-13,895,560),1408=>array(113,-208,526,560),1409=>array(81,-208,521,560),1410=>array(113,0,453,547),1411=>array(113,-208,895,760),1412=>array(59,-208,571,560),1413=>array(79,-17,532,560),1414=>array(69,-208,826,760),1415=>array(113,-13,812,760),1417=>array(144,0,193,480),1418=>array(49,208,312,294),1652=>array(67,810,234,1048),4304=>array(49,0,420,550),4305=>array(49,0,420,770),4306=>array(49,-222,469,511),4307=>array(49,-222,677,511),4308=>array(49,-222,420,511),4309=>array(49,-222,419,511),4310=>array(39,0,419,770),4311=>array(49,0,661,511),4312=>array(49,5,419,511),4313=>array(49,-222,420,510),4314=>array(49,-222,921,513),4315=>array(49,0,420,770),4316=>array(59,0,430,764),4317=>array(49,5,694,511),4318=>array(49,0,420,770),4319=>array(49,-222,420,524),4320=>array(49,5,705,771),4321=>array(59,0,430,770),4322=>array(49,-222,529,604),4323=>array(17,-222,418,511),4324=>array(68,-222,671,511),4325=>array(49,-222,419,770),4326=>array(49,-222,694,511),4327=>array(49,-222,420,506),4328=>array(49,0,420,770),4329=>array(59,5,430,770),4330=>array(49,-222,464,511),4331=>array(49,0,420,770),4332=>array(59,0,430,770),4333=>array(49,-222,419,770),4334=>array(59,0,430,770),4335=>array(49,-222,420,551),4336=>array(49,0,419,770),4337=>array(49,0,419,770),4338=>array(49,-78,420,511),4339=>array(49,-222,420,510),4340=>array(49,-222,420,769),4341=>array(49,0,476,770),4342=>array(49,-222,706,511),4343=>array(49,-222,468,511),4344=>array(49,-222,420,506),4345=>array(49,-222,470,511),4346=>array(49,-37,403,511),4347=>array(49,24,367,486),4348=>array(49,370,255,760),5760=>array(-10,267,487,307),5761=>array(-10,-125,502,307),5762=>array(-10,-125,722,307),5763=>array(-10,-125,941,307),5764=>array(-10,-125,1160,307),5765=>array(-10,-125,1379,307),5766=>array(-10,267,502,697),5767=>array(-10,267,722,697),5768=>array(-10,267,941,697),5769=>array(-10,267,1160,697),5770=>array(-10,267,1379,697),5771=>array(-10,-125,508,697),5772=>array(-10,-125,728,697),5773=>array(-10,-125,948,697),5774=>array(-10,-125,1168,697),5775=>array(-10,-125,1389,697),5776=>array(-10,41,502,533),5777=>array(-10,41,722,533),5778=>array(-10,41,939,533),5779=>array(-10,41,1159,533),5780=>array(-10,41,1379,533),5781=>array(-10,-125,508,697),5782=>array(-10,-125,762,697),5783=>array(-10,-83,798,307),5784=>array(-10,-240,1214,307),5785=>array(-10,267,1160,902),5786=>array(-10,103,693,307),5787=>array(55,49,517,523),5788=>array(-10,49,452,523),7426=>array(82,-14,914,561),7428=>array(68,-14,488,560),7433=>array(112,-213,157,547),7435=>array(111,0,576,547),7437=>array(137,0,617,547),7438=>array(113,0,545,547),7439=>array(79,-18,532,559),7440=>array(68,-14,488,560),7441=>array(55,47,632,500),7442=>array(55,57,629,476),7443=>array(31,9,662,540),7444=>array(79,-17,948,561),7446=>array(79,273,532,559),7447=>array(79,-18,533,269),7449=>array(66,0,479,547),7450=>array(66,0,479,547),7456=>array(63,0,528,547),7457=>array(63,0,726,547),7458=>array(43,0,482,547),7462=>array(120,0,452,547),7463=>array(63,0,528,547),7464=>array(113,0,541,547),7467=>array(47,-14,538,547),7543=>array(81,-208,521,560),7680=>array(30,-241,651,729),7681=>array(82,-241,500,560),7682=>array(123,0,587,875),7683=>array(114,-14,555,877),7684=>array(123,-184,587,729),7685=>array(114,-184,555,760),7686=>array(123,-127,587,729),7687=>array(114,-127,555,760),7688=>array(83,-188,644,928),7689=>array(68,-188,488,800),7690=>array(122,0,687,876),7691=>array(114,-14,555,877),7692=>array(122,-184,687,729),7693=>array(114,-184,555,760),7694=>array(122,-127,687,729),7695=>array(114,-127,555,760),7696=>array(122,-188,687,729),7697=>array(114,-188,555,760),7698=>array(122,-240,687,729),7699=>array(114,-240,555,760),7700=>array(122,0,542,1044),7701=>array(79,-14,540,921),7702=>array(122,0,542,1044),7703=>array(79,-14,540,921),7704=>array(122,-240,542,729),7705=>array(79,-240,540,560),7706=>array(122,-170,542,729),7707=>array(79,-170,540,560),7708=>array(122,-188,542,928),7709=>array(79,-188,540,785),7710=>array(122,0,492,876),7711=>array(45,0,349,878),7712=>array(83,-14,668,887),7713=>array(81,-208,521,745),7714=>array(122,0,628,875),7715=>array(113,0,526,877),7716=>array(122,-184,628,729),7717=>array(113,-184,526,760),7718=>array(122,0,628,914),7719=>array(44,0,526,913),7720=>array(8,-189,628,729),7721=>array(0,-189,526,760),7722=>array(122,-222,628,729),7723=>array(113,-222,526,760),7724=>array(15,-170,306,729),7725=>array(-7,-170,284,760),7726=>array(57,0,272,1044),7727=>array(47,0,263,886),7728=>array(173,0,644,928),7729=>array(116,0,547,928),7730=>array(173,-184,644,729),7731=>array(159,-184,547,760),7732=>array(173,-127,644,729),7733=>array(159,-127,547,760),7734=>array(122,-184,526,729),7735=>array(119,-184,167,760),7736=>array(1,-184,526,927),7737=>array(-1,-184,291,899),7738=>array(122,-127,526,729),7739=>array(-6,-127,286,760),7740=>array(122,-240,526,729),7741=>array(-0,-240,280,760),7742=>array(161,0,702,928),7743=>array(113,0,868,800),7744=>array(161,0,702,876),7745=>array(113,0,868,722),7746=>array(161,-184,702,729),7747=>array(113,-184,868,560),7748=>array(121,0,596,875),7749=>array(113,0,526,722),7750=>array(121,-184,596,729),7751=>array(113,-184,526,560),7752=>array(121,-127,596,729),7753=>array(113,-127,526,560),7754=>array(121,-240,596,729),7755=>array(113,-240,526,560),7756=>array(82,-14,706,1044),7757=>array(79,-17,532,881),7758=>array(82,-14,706,1042),7759=>array(79,-17,532,882),7760=>array(82,-14,706,1044),7761=>array(79,-17,532,921),7762=>array(82,-14,706,1044),7763=>array(79,-17,532,921),7764=>array(122,0,542,928),7765=>array(114,-208,555,800),7766=>array(122,0,542,876),7767=>array(114,-208,555,722),7768=>array(123,0,641,875),7769=>array(114,0,410,722),7770=>array(123,-184,641,729),7771=>array(114,-184,410,560),7772=>array(123,-184,641,899),7773=>array(114,-184,410,745),7774=>array(123,-127,641,729),7775=>array(41,-127,410,560),7776=>array(89,-14,553,876),7777=>array(75,-14,449,722),7778=>array(89,-184,553,742),7779=>array(75,-184,449,560),7780=>array(89,-14,553,928),7781=>array(75,-14,451,800),7782=>array(89,-14,553,1005),7783=>array(75,-14,449,925),7784=>array(89,-184,553,876),7785=>array(75,-184,449,723),7786=>array(22,0,589,876),7787=>array(50,0,346,877),7788=>array(22,-184,589,729),7789=>array(50,-184,346,702),7790=>array(22,-127,589,729),7791=>array(50,-127,390,702),7792=>array(22,-240,589,729),7793=>array(50,-240,379,702),7794=>array(112,-143,620,729),7795=>array(113,-143,526,547),7796=>array(112,-170,620,729),7797=>array(113,-170,526,547),7798=>array(112,-240,620,729),7799=>array(113,-240,526,547),7800=>array(112,-14,620,1044),7801=>array(113,-13,526,990),7802=>array(112,-14,620,1025),7803=>array(113,-13,526,869),7804=>array(30,0,651,926),7805=>array(63,0,528,767),7806=>array(30,-184,651,729),7807=>array(63,-184,528,547),7808=>array(69,0,895,931),7809=>array(63,0,726,802),7810=>array(69,0,895,931),7811=>array(63,0,726,803),7812=>array(69,0,895,913),7813=>array(63,0,726,758),7814=>array(69,0,895,875),7815=>array(63,0,726,722),7816=>array(69,-184,895,729),7817=>array(63,-184,726,547),7818=>array(59,0,629,876),7819=>array(56,0,536,722),7820=>array(59,0,629,913),7821=>array(56,0,536,758),7822=>array(22,0,587,876),7823=>array(54,-189,538,722),7824=>array(45,0,640,928),7825=>array(43,0,482,800),7826=>array(45,-184,640,729),7827=>array(43,-184,482,547),7828=>array(45,-127,640,729),7829=>array(43,-127,482,547),7830=>array(113,-127,526,760),7831=>array(50,0,346,913),7832=>array(63,0,726,864),7833=>array(54,-189,538,864),7834=>array(82,-14,672,760),7835=>array(45,0,349,878),7836=>array(1,0,349,760),7837=>array(45,0,349,760),7838=>array(135,-14,713,743),7839=>array(76,-14,534,742),7840=>array(30,-184,651,729),7841=>array(82,-184,500,560),7842=>array(30,0,651,1029),7843=>array(82,-14,500,847),7844=>array(30,0,651,1028),7845=>array(82,-14,566,846),7846=>array(30,0,651,1028),7847=>array(82,-14,500,847),7848=>array(30,0,651,1081),7849=>array(82,-14,545,899),7850=>array(30,0,651,1050),7851=>array(82,-14,500,868),7852=>array(30,-184,651,928),7853=>array(82,-184,500,800),7854=>array(30,0,651,1044),7855=>array(82,-14,500,877),7856=>array(30,0,651,1044),7857=>array(82,-14,500,877),7858=>array(30,0,651,1104),7859=>array(82,-14,500,938),7860=>array(30,0,651,1037),7861=>array(82,-14,500,870),7862=>array(30,-184,651,946),7863=>array(82,-184,500,765),7864=>array(122,-184,542,729),7865=>array(79,-184,540,560),7866=>array(122,0,542,1029),7867=>array(79,-14,540,847),7868=>array(122,0,542,914),7869=>array(79,-14,540,767),7870=>array(122,0,618,1028),7871=>array(79,-14,594,846),7872=>array(122,0,542,1028),7873=>array(79,-14,540,847),7874=>array(122,0,588,1081),7875=>array(79,-14,574,899),7876=>array(122,0,542,1050),7877=>array(79,-14,540,868),7878=>array(122,-184,542,928),7879=>array(79,-184,540,800),7880=>array(52,0,231,1029),7881=>array(41,0,221,847),7882=>array(121,-184,172,729),7883=>array(112,-184,162,760),7884=>array(82,-184,706,742),7885=>array(79,-184,532,560),7886=>array(82,-14,706,1029),7887=>array(79,-17,532,847),7888=>array(82,-14,706,1028),7889=>array(79,-17,582,846),7890=>array(82,-14,706,1028),7891=>array(79,-17,532,847),7892=>array(82,-14,706,1081),7893=>array(79,-17,561,899),7894=>array(82,-14,706,1050),7895=>array(79,-17,532,868),7896=>array(82,-184,706,928),7897=>array(79,-184,532,800),7898=>array(76,-14,772,927),7899=>array(82,-17,677,800),7900=>array(76,-14,772,927),7901=>array(82,-17,677,800),7902=>array(76,-14,772,1029),7903=>array(82,-17,677,847),7904=>array(76,-14,772,914),7905=>array(82,-17,677,767),7906=>array(76,-184,772,758),7907=>array(82,-184,677,573),7908=>array(112,-184,620,729),7909=>array(113,-184,526,547),7910=>array(112,-14,620,1029),7911=>array(113,-13,526,847),7912=>array(109,-4,797,927),7913=>array(114,-13,699,800),7914=>array(109,-4,797,927),7915=>array(114,-13,699,800),7916=>array(109,-4,797,1029),7917=>array(114,-13,699,847),7918=>array(109,-4,797,914),7919=>array(114,-13,699,767),7920=>array(109,-184,797,760),7921=>array(114,-184,699,573),7922=>array(22,0,587,931),7923=>array(54,-189,538,802),7924=>array(22,-184,587,729),7925=>array(54,-189,538,547),7926=>array(22,0,587,1032),7927=>array(54,-189,538,850),7928=>array(22,0,587,914),7929=>array(54,-189,538,767),7930=>array(122,0,738,729),7931=>array(16,0,462,760),7936=>array(80,-12,596,806),7937=>array(80,-12,596,806),7938=>array(80,-12,596,806),7939=>array(80,-12,596,806),7940=>array(80,-12,596,806),7941=>array(80,-12,596,806),7942=>array(80,-12,596,966),7943=>array(80,-12,596,966),7944=>array(30,0,651,806),7945=>array(30,0,651,806),7946=>array(12,0,844,806),7947=>array(18,0,844,806),7948=>array(13,0,736,806),7949=>array(17,0,768,806),7950=>array(18,0,675,966),7951=>array(17,0,709,966),7952=>array(89,-14,473,806),7953=>array(89,-14,473,806),7954=>array(89,-14,473,806),7955=>array(89,-14,473,806),7956=>array(89,-14,473,806),7957=>array(89,-14,473,806),7960=>array(13,0,622,806),7961=>array(18,0,622,806),7962=>array(12,0,876,806),7963=>array(18,0,885,806),7964=>array(13,0,809,806),7965=>array(17,0,838,806),7968=>array(113,-208,526,806),7969=>array(113,-208,526,806),7970=>array(113,-208,526,806),7971=>array(113,-208,526,806),7972=>array(113,-208,526,806),7973=>array(113,-208,526,806),7974=>array(113,-208,526,966),7975=>array(113,-208,526,966),7976=>array(13,0,713,806),7977=>array(18,0,711,806),7978=>array(12,0,962,806),7979=>array(18,0,965,806),7980=>array(13,0,903,806),7981=>array(17,0,927,806),7982=>array(18,0,810,966),7983=>array(17,0,823,966),7984=>array(85,0,271,806),7985=>array(85,0,271,806),7986=>array(-30,0,322,806),7987=>array(-20,0,329,806),7988=>array(12,0,327,806),7989=>array(-8,0,332,806),7990=>array(-11,0,280,966),7991=>array(-14,0,278,966),7992=>array(13,0,257,806),7993=>array(18,0,251,806),7994=>array(12,0,512,806),7995=>array(18,0,512,806),7996=>array(13,0,447,806),7997=>array(17,0,477,806),7998=>array(18,0,367,966),7999=>array(17,0,370,966),8000=>array(79,-17,532,806),8001=>array(79,-17,532,806),8002=>array(79,-17,532,806),8003=>array(79,-17,532,806),8004=>array(79,-17,532,806),8005=>array(79,-17,532,806),8008=>array(13,-14,723,806),8009=>array(18,-14,767,806),8010=>array(12,-14,1013,806),8011=>array(18,-14,1018,806),8012=>array(13,-14,857,806),8013=>array(17,-14,889,806),8016=>array(96,0,498,806),8017=>array(96,0,498,806),8018=>array(95,0,498,806),8019=>array(92,0,498,806),8020=>array(96,0,498,806),8021=>array(96,0,498,806),8022=>array(96,0,498,966),8023=>array(96,0,498,966),8025=>array(18,0,760,806),8027=>array(18,0,974,806),8029=>array(17,0,989,806),8031=>array(17,0,875,966),8032=>array(90,-14,735,806),8033=>array(90,-14,735,806),8034=>array(90,-14,735,806),8035=>array(90,-14,735,806),8036=>array(90,-14,735,806),8037=>array(90,-14,735,806),8038=>array(90,-14,735,966),8039=>array(90,-14,735,966),8040=>array(13,0,745,806),8041=>array(18,0,786,806),8042=>array(12,0,1032,806),8043=>array(18,0,1038,806),8044=>array(13,0,889,806),8045=>array(17,0,915,806),8046=>array(18,0,864,966),8047=>array(17,0,895,966),8048=>array(80,-12,596,800),8049=>array(80,-12,596,800),8050=>array(89,-14,473,800),8051=>array(89,-14,473,800),8052=>array(113,-208,526,800),8053=>array(113,-208,526,800),8054=>array(-40,0,271,800),8055=>array(90,0,290,800),8056=>array(79,-17,532,800),8057=>array(79,-17,532,800),8058=>array(96,0,498,800),8059=>array(96,0,498,800),8060=>array(90,-14,735,800),8061=>array(90,-14,735,800),8064=>array(80,-208,596,806),8065=>array(80,-208,596,806),8066=>array(80,-208,596,806),8067=>array(80,-208,596,806),8068=>array(80,-208,596,806),8069=>array(80,-208,596,806),8070=>array(80,-208,596,966),8071=>array(80,-208,596,966),8072=>array(30,-208,651,806),8073=>array(30,-208,651,806),8074=>array(12,-208,844,806),8075=>array(18,-208,844,806),8076=>array(13,-208,736,806),8077=>array(17,-208,768,806),8078=>array(18,-208,675,966),8079=>array(17,-208,709,966),8080=>array(113,-208,526,806),8081=>array(113,-208,526,806),8082=>array(113,-208,526,806),8083=>array(113,-208,526,806),8084=>array(113,-208,526,806),8085=>array(113,-208,526,806),8086=>array(113,-208,526,966),8087=>array(113,-208,526,966),8088=>array(13,-208,713,806),8089=>array(18,-208,711,806),8090=>array(12,-208,962,806),8091=>array(18,-208,965,806),8092=>array(13,-208,903,806),8093=>array(17,-208,927,806),8094=>array(18,-208,810,966),8095=>array(17,-208,823,966),8096=>array(90,-208,735,806),8097=>array(90,-208,735,806),8098=>array(90,-208,735,806),8099=>array(90,-208,735,806),8100=>array(90,-208,735,806),8101=>array(90,-208,735,806),8102=>array(90,-208,735,966),8103=>array(90,-208,735,966),8104=>array(13,-208,745,806),8105=>array(18,-208,786,806),8106=>array(12,-208,1032,806),8107=>array(18,-208,1038,806),8108=>array(13,-208,889,806),8109=>array(17,-208,915,806),8110=>array(18,-208,864,966),8111=>array(17,-208,895,966),8112=>array(80,-12,596,785),8113=>array(80,-12,596,745),8114=>array(80,-208,596,800),8115=>array(80,-208,596,559),8116=>array(80,-208,596,800),8118=>array(80,-12,596,767),8119=>array(80,-208,596,767),8120=>array(30,0,651,928),8121=>array(30,0,651,899),8122=>array(15,0,683,800),8123=>array(30,0,651,800),8124=>array(30,-208,651,729),8125=>array(200,597,291,806),8126=>array(210,-208,300,-45),8127=>array(200,597,291,806),8128=>array(104,650,395,767),8129=>array(104,699,395,938),8130=>array(113,-208,526,800),8131=>array(113,-208,526,560),8132=>array(113,-208,526,800),8134=>array(113,-208,526,767),8135=>array(113,-208,526,767),8136=>array(15,0,715,800),8137=>array(-12,0,657,800),8138=>array(15,0,807,800),8139=>array(-6,0,739,800),8140=>array(122,-208,628,729),8141=>array(76,597,428,806),8142=>array(97,597,413,806),8143=>array(104,597,395,966),8144=>array(-10,0,295,785),8145=>array(-14,0,278,745),8146=>array(-3,0,271,978),8147=>array(57,0,279,978),8150=>array(1,0,292,767),8151=>array(2,0,293,938),8152=>array(-5,0,300,928),8153=>array(2,0,294,899),8154=>array(15,0,352,800),8155=>array(-9,0,286,800),8157=>array(76,597,425,806),8158=>array(87,597,427,806),8159=>array(104,597,395,966),8160=>array(96,0,498,785),8161=>array(96,0,498,745),8162=>array(96,0,498,978),8163=>array(96,0,498,978),8164=>array(113,-208,555,806),8165=>array(113,-208,555,806),8166=>array(96,0,498,767),8167=>array(96,0,498,938),8168=>array(22,0,587,928),8169=>array(22,0,587,899),8170=>array(15,0,822,800),8171=>array(-15,0,795,800),8172=>array(18,0,624,806),8173=>array(100,699,342,978),8174=>array(159,699,380,978),8175=>array(100,617,299,800),8178=>array(90,-208,735,800),8179=>array(90,-208,735,547),8180=>array(90,-208,735,800),8182=>array(90,-14,735,767),8183=>array(90,-208,735,767),8184=>array(15,-14,859,800),8185=>array(-7,-14,725,800),8186=>array(15,0,865,800),8187=>array(-18,0,733,800),8188=>array(57,-208,707,744),8189=>array(181,616,380,800),8190=>array(205,597,296,806),8208=>array(49,254,312,294),8209=>array(49,254,312,294),8210=>array(49,254,587,294),8211=>array(49,254,451,294),8212=>array(49,254,951,294),8213=>array(0,254,1000,294),8214=>array(146,-236,354,764),8215=>array(-10,-236,510,-41),8216=>array(114,499,183,729),8217=>array(114,499,183,729),8218=>array(114,-117,183,116),8219=>array(-183,499,-114,729),8220=>array(114,499,385,729),8221=>array(114,499,382,729),8222=>array(114,-118,384,116),8223=>array(-382,499,-114,729),8224=>array(28,-96,472,729),8225=>array(28,-96,472,729),8228=>array(142,0,191,62),8229=>array(142,0,524,63),8230=>array(142,0,857,63),8240=>array(74,-14,1267,742),8241=>array(74,-14,1659,742),8249=>array(77,86,306,500),8250=>array(77,86,306,500),8251=>array(122,2,713,662),8252=>array(98,0,388,729),8253=>array(76,0,439,742),8254=>array(-10,686,510,724),8255=>array(-44,-237,847,-59),8256=>array(-44,751,847,929),8258=>array(37,-29,961,814),8259=>array(108,340,400,395),8260=>array(-169,-14,336,742),8261=>array(113,-132,280,760),8262=>array(113,-132,280,760),8263=>array(40,0,864,742),8264=>array(76,0,635,742),8265=>array(98,0,639,742),8267=>array(121,-96,552,729),8268=>array(105,220,352,509),8269=>array(148,220,395,509),8270=>array(37,-29,461,427),8271=>array(125,-116,193,517),8272=>array(-44,-237,847,929),8273=>array(37,-7,461,929),8274=>array(86,-93,392,729),8275=>array(49,250,951,382),8276=>array(-44,-241,847,-63),8304=>array(53,345,351,742),8305=>array(60,326,116,751),8308=>array(48,359,358,734),8320=>array(53,-14,351,383),8321=>array(67,0,346,370),8322=>array(46,-1,338,383),8323=>array(48,-14,340,383),8324=>array(48,0,358,375),8363=>array(79,-127,596,760),8364=>array(27,-14,573,742),8369=>array(81,0,576,729),8376=>array(35,0,602,729),8377=>array(51,0,583,729),8451=>array(116,-14,1053,742),8457=>array(116,0,868,729),8462=>array(39,0,525,760),8463=>array(40,0,525,760),8470=>array(121,0,1102,742),8471=>array(138,0,862,725),8486=>array(57,0,707,744),8487=>array(57,-15,707,729),8490=>array(173,0,644,729),8491=>array(30,0,651,920),8494=>array(61,-12,793,647),8498=>array(122,0,492,729),8500=>array(52,-13,413,395),8513=>array(106,-14,691,742),8514=>array(31,0,435,729),8515=>array(31,0,435,729),8516=>array(23,0,588,729),8523=>array(86,-14,718,742),8530=>array(67,-14,1319,742),8531=>array(67,-14,908,742),8532=>array(46,-14,908,742),8543=>array(67,-14,737,742),8544=>array(121,0,172,729),8545=>array(121,0,369,729),8546=>array(121,0,566,729),8547=>array(121,0,890,729),8548=>array(30,0,651,729),8549=>array(30,0,799,729),8550=>array(30,0,997,729),8551=>array(30,0,1194,729),8552=>array(121,0,861,729),8553=>array(59,0,629,729),8554=>array(59,0,810,729),8555=>array(59,0,1007,729),8556=>array(122,0,526,729),8557=>array(83,-14,644,742),8558=>array(122,0,687,729),8559=>array(161,0,702,729),8560=>array(112,0,157,760),8561=>array(112,0,337,760),8562=>array(112,0,517,760),8563=>array(112,0,748,760),8564=>array(63,0,528,547),8565=>array(63,0,690,760),8566=>array(63,0,870,760),8567=>array(63,0,1050,760),8568=>array(112,0,763,760),8569=>array(56,0,536,547),8570=>array(56,0,702,760),8571=>array(56,0,881,760),8572=>array(113,0,158,760),8573=>array(68,-14,488,560),8574=>array(114,-14,555,760),8575=>array(113,0,868,560),8576=>array(122,0,1202,729),8577=>array(122,0,687,729),8578=>array(122,0,1202,729),8579=>array(83,-14,644,742),8580=>array(68,-14,488,560),8581=>array(83,-208,644,742),8585=>array(53,-14,908,742),8592=>array(49,112,781,515),8593=>array(217,0,621,732),8594=>array(57,112,789,515),8595=>array(217,-3,621,729),8596=>array(49,112,789,515),8597=>array(217,-8,621,732),8598=>array(149,37,691,580),8599=>array(149,37,691,580),8600=>array(149,37,691,580),8601=>array(149,37,691,580),8644=>array(49,-35,789,662),8645=>array(71,-57,767,684),8646=>array(49,-35,789,662),8647=>array(49,-35,781,661),8648=>array(71,0,767,732),8649=>array(58,-35,790,661),8650=>array(71,0,767,732),8704=>array(30,0,651,729),8707=>array(122,0,542,729),8710=>array(30,0,651,729),8711=>array(30,0,651,729),8722=>array(106,293,732,334),8725=>array(16,-93,321,729),8726=>array(208,-54,514,768),8727=>array(100,85,524,542),8728=>array(179,178,447,447),8756=>array(13,121,440,562),8757=>array(13,121,440,562),8758=>array(13,121,64,563),8759=>array(13,121,441,562),8764=>array(80,283,556,415),9134=>array(234,-236,281,764),9167=>array(91,0,854,596),10731=>array(3,-233,491,807),10799=>array(161,54,677,573),11374=>array(161,-178,702,729),11375=>array(30,0,651,729),11381=>array(122,0,579,729),11382=>array(114,0,497,547),11383=>array(81,-12,579,556),11386=>array(79,-17,532,560),11800=>array(76,-14,439,728),11810=>array(113,403,280,760),11811=>array(113,403,280,760),11812=>array(113,-132,280,225),11813=>array(113,-132,280,225),11822=>array(76,0,439,742),42192=>array(123,0,587,729),42193=>array(122,0,542,729),42194=>array(62,0,481,729),42195=>array(122,0,687,729),42196=>array(22,0,589,729),42197=>array(22,0,589,729),42198=>array(83,-14,668,742),42199=>array(173,0,644,729),42200=>array(12,0,483,729),42201=>array(0,-14,389,729),42202=>array(83,-14,644,742),42203=>array(83,-14,644,742),42204=>array(45,0,640,729),42205=>array(122,0,492,729),42206=>array(122,0,492,729),42207=>array(161,0,702,729),42208=>array(121,0,596,729),42209=>array(122,0,526,729),42210=>array(89,-14,553,742),42211=>array(123,0,641,729),42212=>array(54,0,572,729),42213=>array(30,0,651,729),42214=>array(30,0,651,729),42215=>array(122,0,628,729),42216=>array(106,-14,691,742),42217=>array(123,0,512,743),42218=>array(69,0,895,729),42219=>array(59,0,629,729),42220=>array(22,0,587,729),42221=>array(68,0,532,729),42222=>array(30,0,651,729),42223=>array(30,0,651,729),42224=>array(122,0,542,729),42225=>array(89,0,510,729),42226=>array(121,0,172,729),42227=>array(82,-14,706,742),42228=>array(112,-14,620,729),42229=>array(112,0,620,743),42230=>array(31,0,435,729),42231=>array(83,0,648,729),42232=>array(98,0,202,124),42233=>array(71,-156,202,124),42234=>array(98,0,499,124),42235=>array(98,-156,499,124),42236=>array(71,-156,202,501),42237=>array(98,0,202,501),42238=>array(85,0,502,340),42239=>array(85,187,502,439),42564=>array(89,-14,553,742),42565=>array(75,-14,449,560),42566=>array(121,0,347,729),42567=>array(114,0,271,547),42576=>array(25,0,906,729),42577=>array(41,0,791,547),42580=>array(82,-14,910,742),42581=>array(79,-14,700,563),42582=>array(121,0,894,729),42583=>array(112,-14,701,560),42594=>array(80,-157,1009,729),42595=>array(73,-138,827,547),42596=>array(51,-14,1009,729),42597=>array(47,-14,825,547),42598=>array(161,0,1083,729),42599=>array(137,0,905,547),42600=>array(82,-14,706,742),42601=>array(79,-17,532,560),42602=>array(56,-14,799,742),42603=>array(55,-14,658,560),42604=>array(82,-14,1278,742),42605=>array(79,-17,940,560),42606=>array(28,-208,851,743),42636=>array(22,0,589,729),42637=>array(34,0,515,547),42644=>array(116,0,568,729),42645=>array(113,0,526,760),42760=>array(104,0,372,668),42761=>array(104,0,372,668),42762=>array(104,0,372,668),42763=>array(104,0,372,668),42764=>array(104,0,372,668),42765=>array(104,0,372,668),42766=>array(104,0,372,668),42767=>array(104,0,372,668),42768=>array(104,0,372,668),42769=>array(104,0,372,668),42770=>array(104,0,372,668),42771=>array(104,0,372,668),42772=>array(104,0,372,668),42773=>array(104,0,372,668),42774=>array(104,0,372,668),42779=>array(58,326,312,736),42780=>array(58,324,312,734),42781=>array(111,326,141,734),42782=>array(111,326,141,734),42783=>array(111,0,141,408),42786=>array(77,0,340,729),42787=>array(77,0,311,547),42788=>array(56,224,411,742),42789=>array(56,42,411,560),42790=>array(122,-178,628,729),42791=>array(113,-198,526,760),42800=>array(137,0,437,547),42801=>array(75,-14,449,560),42802=>array(30,0,1220,729),42803=>array(82,-14,873,560),42814=>array(83,-14,644,742),42815=>array(68,-14,488,560),42822=>array(148,0,625,729),42823=>array(139,0,253,760),42830=>array(82,-14,1278,742),42831=>array(79,-17,940,560),42880=>array(31,0,435,729),42881=>array(113,-208,158,560),42891=>array(177,235,224,729),42892=>array(113,458,160,729),42893=>array(116,0,568,729),43002=>array(112,0,800,547),43003=>array(83,0,453,729),43004=>array(62,0,481,729),43005=>array(161,0,702,729),43006=>array(121,0,172,928),43007=>array(80,0,1096,729),62464=>array(49,-7,477,770),62465=>array(49,-7,477,770),62466=>array(49,-7,516,770),62467=>array(49,-2,759,770),62468=>array(49,-7,477,770),62469=>array(49,-7,476,770),62470=>array(49,-7,487,770),62471=>array(49,-7,772,769),62472=>array(49,-7,476,769),62473=>array(49,-7,477,770),62474=>array(49,-2,988,770),62475=>array(49,-8,477,770),62476=>array(59,-7,486,764),62477=>array(49,-2,788,769),62478=>array(49,-7,477,770),62479=>array(49,-7,477,770),62480=>array(49,0,781,770),62481=>array(59,-7,486,770),62482=>array(49,-8,623,780),62483=>array(49,-7,506,770),62484=>array(49,-7,774,770),62485=>array(49,-7,477,770),62486=>array(49,-2,741,770),62487=>array(49,-7,477,770),62488=>array(49,-7,477,770),62489=>array(59,0,486,770),62490=>array(49,-7,554,770),62491=>array(49,-7,476,770),62492=>array(59,-7,486,770),62493=>array(49,-8,476,769),62494=>array(60,-7,486,770),62495=>array(49,-7,477,770),62496=>array(49,-7,476,770),62497=>array(49,-7,476,770),62498=>array(49,-69,477,770),62499=>array(49,-7,477,770),62500=>array(49,-7,476,769),62501=>array(49,-7,538,770),63173=>array(76,-14,534,742),64256=>array(45,0,685,760),64257=>array(45,0,513,760),64258=>array(45,0,513,760),64259=>array(45,0,849,760),64260=>array(45,0,849,760),64297=>array(106,293,732,627),65533=>array(15,-84,1011,912),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>318,33=>401,34=>460,35=>838,36=>636,37=>950,38=>780,39=>275,40=>390,41=>390,42=>500,43=>838,44=>318,45=>361,46=>318,47=>337,48=>636,49=>636,50=>636,51=>636,52=>636,53=>636,54=>636,55=>636,56=>636,57=>636,58=>337,59=>337,60=>838,61=>838,62=>838,63=>531,64=>1000,65=>684,66=>655,67=>698,68=>770,69=>632,70=>575,71=>775,72=>752,73=>295,74=>295,75=>656,76=>557,77=>863,78=>748,79=>787,80=>603,81=>787,82=>695,83=>635,84=>611,85=>732,86=>684,87=>989,88=>685,89=>611,90=>685,91=>390,92=>337,93=>390,94=>838,95=>500,96=>500,97=>613,98=>635,99=>550,100=>635,101=>615,102=>352,103=>600,104=>634,105=>278,106=>278,107=>579,108=>278,109=>974,110=>634,111=>612,112=>635,113=>635,114=>411,115=>521,116=>392,117=>634,118=>592,119=>818,120=>592,121=>592,122=>525,123=>636,124=>337,125=>636,126=>838,160=>318,161=>401,162=>636,163=>636,164=>636,165=>636,166=>337,167=>500,168=>500,169=>1000,170=>471,171=>612,172=>838,173=>361,174=>1000,175=>500,176=>500,177=>838,178=>401,179=>401,180=>483,181=>636,182=>636,183=>318,184=>500,185=>401,186=>471,187=>612,188=>969,189=>969,190=>969,191=>536,192=>684,193=>684,194=>684,195=>684,196=>684,197=>684,198=>974,199=>698,200=>632,201=>632,202=>632,203=>632,204=>295,205=>295,206=>295,207=>295,208=>775,209=>748,210=>787,211=>787,212=>787,213=>787,214=>787,215=>838,216=>787,217=>732,218=>732,219=>732,220=>732,221=>611,222=>605,223=>676,224=>613,225=>613,226=>613,227=>613,228=>613,229=>613,230=>982,231=>550,232=>615,233=>615,234=>615,235=>615,236=>278,237=>278,238=>278,239=>278,240=>612,241=>634,242=>612,243=>612,244=>612,245=>612,246=>612,247=>838,248=>612,249=>634,250=>634,251=>634,252=>634,253=>592,254=>635,255=>592,256=>684,257=>613,258=>684,259=>613,260=>684,261=>613,262=>698,263=>550,264=>698,265=>550,266=>698,267=>550,268=>698,269=>550,270=>770,271=>635,272=>775,273=>635,274=>632,275=>615,276=>632,277=>615,278=>632,279=>615,280=>632,281=>615,282=>632,283=>615,284=>775,285=>600,286=>775,287=>600,288=>775,289=>600,290=>775,291=>600,292=>752,293=>634,294=>916,295=>695,296=>295,297=>278,298=>295,299=>278,300=>295,301=>278,302=>295,303=>278,304=>295,305=>278,306=>590,307=>556,308=>295,309=>278,310=>656,311=>579,312=>579,313=>557,314=>278,315=>557,316=>278,317=>557,318=>375,319=>557,320=>342,321=>562,322=>284,323=>748,324=>634,325=>748,326=>634,327=>748,328=>634,329=>813,330=>757,331=>634,332=>787,333=>612,334=>787,335=>612,336=>787,337=>612,338=>1070,339=>1023,340=>695,341=>411,342=>695,343=>411,344=>695,345=>411,346=>635,347=>521,348=>635,349=>521,350=>635,351=>521,352=>635,353=>521,354=>611,355=>392,356=>611,357=>392,358=>611,359=>392,360=>732,361=>634,362=>732,363=>634,364=>732,365=>634,366=>732,367=>634,368=>732,369=>634,370=>732,371=>634,372=>989,373=>818,374=>611,375=>592,376=>611,377=>685,378=>525,379=>685,380=>525,381=>685,382=>525,383=>352,384=>635,385=>735,386=>686,387=>635,390=>698,391=>698,392=>550,393=>775,394=>824,395=>686,396=>635,397=>612,398=>632,399=>787,400=>585,401=>575,402=>352,403=>775,404=>685,405=>965,406=>354,407=>295,408=>690,409=>526,410=>278,412=>974,413=>748,414=>634,415=>787,416=>934,417=>757,418=>949,419=>759,420=>652,421=>635,422=>695,423=>635,424=>521,425=>632,427=>392,428=>611,429=>392,430=>611,431=>879,432=>779,433=>764,434=>721,435=>696,436=>805,437=>685,438=>525,448=>295,449=>492,450=>459,451=>295,452=>1422,453=>1299,454=>1154,455=>835,456=>787,457=>457,458=>931,459=>924,460=>797,461=>684,462=>613,463=>295,464=>278,465=>787,466=>612,467=>732,468=>634,469=>732,470=>634,471=>732,472=>634,473=>732,474=>634,475=>732,476=>634,477=>615,478=>684,479=>613,480=>684,481=>613,482=>974,483=>982,484=>775,485=>600,486=>775,487=>600,488=>656,489=>579,490=>787,491=>612,492=>787,493=>612,496=>278,497=>1422,498=>1299,499=>1154,500=>775,501=>600,504=>748,505=>634,506=>684,507=>613,508=>974,509=>982,510=>787,511=>612,512=>684,513=>613,514=>684,515=>613,516=>632,517=>615,518=>632,519=>615,520=>295,521=>278,522=>295,523=>278,524=>787,525=>612,526=>787,527=>612,528=>695,529=>411,530=>695,531=>411,532=>732,533=>634,534=>732,535=>634,536=>635,537=>521,538=>611,539=>392,542=>752,543=>634,548=>685,549=>525,550=>684,551=>613,552=>632,553=>615,554=>787,555=>612,556=>787,557=>612,558=>787,559=>612,560=>787,561=>612,562=>611,563=>592,567=>278,568=>1032,569=>1032,581=>684,584=>295,585=>278,587=>635,588=>695,589=>411,592=>614,593=>635,594=>635,595=>635,596=>550,598=>635,599=>727,600=>615,601=>615,603=>541,604=>541,607=>326,608=>637,609=>635,611=>685,613=>634,614=>634,615=>634,616=>278,617=>387,618=>372,621=>387,623=>974,624=>974,625=>974,626=>634,627=>634,628=>634,629=>612,632=>660,633=>411,634=>411,635=>411,636=>411,637=>411,638=>530,639=>530,640=>602,641=>602,642=>521,643=>336,645=>461,647=>392,648=>392,649=>634,650=>618,651=>598,652=>592,653=>818,654=>592,656=>525,665=>580,668=>654,670=>667,671=>583,672=>712,675=>1014,678=>824,679=>610,681=>848,682=>706,683=>654,686=>661,687=>664,699=>318,700=>318,702=>307,710=>500,711=>500,713=>500,714=>483,715=>500,717=>500,718=>500,719=>483,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,741=>493,742=>493,743=>493,744=>493,745=>493,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,795=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,831=>0,847=>0,856=>0,860=>0,861=>0,865=>0,880=>654,881=>568,882=>862,883=>647,884=>278,885=>278,886=>748,887=>650,890=>361,891=>549,892=>550,893=>549,894=>337,900=>483,901=>500,902=>692,903=>318,904=>746,905=>871,906=>408,908=>813,910=>825,911=>826,912=>387,913=>684,914=>655,915=>557,916=>684,917=>632,918=>685,919=>752,920=>787,921=>295,922=>656,923=>684,924=>863,925=>748,926=>632,927=>787,928=>752,929=>603,931=>632,932=>611,933=>611,934=>860,935=>685,936=>787,937=>764,938=>295,939=>611,940=>659,941=>541,942=>634,943=>387,944=>579,945=>659,946=>638,947=>592,948=>612,949=>541,950=>544,951=>634,952=>612,953=>387,954=>594,955=>592,956=>636,957=>559,958=>558,959=>612,960=>602,961=>635,962=>587,963=>634,964=>602,965=>579,966=>660,967=>592,968=>660,969=>837,970=>387,971=>579,972=>612,973=>579,974=>837,975=>656,981=>660,982=>837,984=>787,985=>612,988=>575,1009=>635,1010=>550,1011=>278,1012=>787,1013=>615,1014=>615,1015=>605,1016=>635,1017=>698,1020=>635,1021=>698,1022=>698,1023=>698,1024=>632,1025=>632,1026=>786,1027=>557,1028=>698,1029=>635,1030=>295,1031=>295,1032=>295,1033=>1094,1034=>1045,1035=>786,1036=>674,1037=>755,1038=>609,1039=>752,1040=>684,1041=>686,1042=>655,1043=>557,1044=>776,1045=>632,1046=>1040,1047=>636,1048=>755,1049=>755,1050=>674,1051=>752,1052=>863,1053=>752,1054=>787,1055=>752,1056=>603,1057=>698,1058=>611,1059=>609,1060=>860,1061=>685,1062=>776,1063=>686,1064=>1068,1065=>1094,1066=>833,1067=>882,1068=>686,1069=>698,1070=>1031,1071=>695,1072=>613,1073=>612,1074=>586,1075=>491,1076=>677,1077=>615,1078=>908,1079=>541,1080=>659,1081=>659,1082=>594,1083=>639,1084=>754,1085=>654,1086=>612,1087=>654,1088=>635,1089=>550,1090=>549,1091=>592,1092=>854,1093=>592,1094=>681,1095=>591,1096=>917,1097=>938,1098=>727,1099=>765,1100=>589,1101=>549,1102=>813,1103=>592,1104=>615,1105=>615,1106=>625,1107=>491,1108=>549,1109=>521,1110=>278,1111=>278,1112=>278,1113=>898,1114=>892,1115=>652,1116=>594,1117=>659,1118=>592,1119=>662,1121=>837,1122=>769,1123=>667,1124=>942,1125=>749,1136=>787,1137=>660,1138=>787,1168=>557,1169=>491,1176=>636,1177=>541,1184=>856,1185=>832,1188=>1014,1189=>868,1194=>698,1195=>550,1198=>611,1199=>592,1204=>934,1205=>809,1210=>686,1211=>634,1216=>278,1217=>1040,1218=>908,1223=>752,1224=>654,1232=>684,1233=>613,1234=>684,1235=>613,1236=>974,1237=>982,1238=>632,1239=>615,1240=>787,1241=>615,1242=>787,1243=>615,1244=>1040,1245=>908,1246=>636,1247=>541,1250=>755,1251=>659,1252=>755,1253=>659,1254=>787,1255=>612,1256=>787,1257=>612,1258=>787,1259=>612,1260=>698,1261=>549,1262=>609,1263=>592,1264=>609,1265=>592,1266=>609,1267=>592,1268=>686,1269=>591,1272=>882,1273=>765,1278=>685,1279=>592,1280=>686,1281=>589,1296=>585,1297=>541,1298=>752,1299=>639,1300=>1169,1301=>994,1306=>787,1307=>635,1308=>989,1309=>818,1329=>792,1330=>746,1331=>790,1332=>800,1333=>746,1334=>779,1335=>665,1336=>746,1337=>877,1338=>780,1339=>689,1340=>540,1341=>1040,1342=>858,1343=>744,1344=>684,1345=>774,1346=>800,1347=>794,1348=>789,1349=>728,1350=>755,1351=>755,1352=>732,1353=>739,1354=>889,1355=>792,1356=>833,1357=>732,1358=>790,1359=>737,1360=>732,1361=>728,1362=>557,1363=>784,1364=>767,1365=>787,1366=>833,1370=>318,1371=>224,1372=>359,1373=>213,1374=>370,1375=>366,1377=>974,1378=>634,1379=>702,1380=>742,1381=>634,1382=>702,1383=>567,1384=>634,1385=>832,1386=>702,1387=>634,1388=>280,1389=>894,1390=>645,1391=>634,1392=>634,1393=>606,1394=>702,1395=>649,1396=>709,1397=>278,1398=>669,1399=>581,1400=>634,1401=>419,1402=>974,1403=>581,1404=>671,1405=>634,1406=>701,1407=>1002,1408=>634,1409=>600,1410=>477,1411=>1002,1412=>645,1413=>612,1414=>899,1415=>836,1417=>337,1418=>313,1652=>292,4304=>469,4305=>469,4306=>519,4307=>726,4308=>479,4309=>478,4310=>468,4311=>709,4312=>468,4313=>479,4314=>970,4315=>479,4316=>479,4317=>744,4318=>469,4319=>479,4320=>754,4321=>479,4322=>578,4323=>468,4324=>729,4325=>468,4326=>743,4327=>479,4328=>479,4329=>479,4330=>513,4331=>479,4332=>479,4333=>468,4334=>479,4335=>469,4336=>468,4337=>468,4338=>469,4339=>469,4340=>469,4341=>524,4342=>755,4343=>517,4344=>479,4345=>519,4346=>524,4347=>416,4348=>304,5760=>477,5761=>493,5762=>712,5763=>931,5764=>1150,5765=>1370,5766=>493,5767=>712,5768=>931,5769=>1150,5770=>1370,5771=>498,5772=>718,5773=>938,5774=>1159,5775=>1379,5776=>493,5777=>712,5778=>930,5779=>1149,5780=>1370,5781=>498,5782=>752,5783=>789,5784=>1205,5785=>1150,5786=>683,5787=>507,5788=>507,7426=>982,7428=>550,7433=>278,7435=>604,7437=>754,7438=>650,7439=>612,7440=>550,7441=>684,7442=>684,7443=>684,7444=>1023,7446=>612,7447=>612,7449=>592,7450=>592,7456=>592,7457=>818,7458=>525,7462=>525,7463=>592,7464=>654,7467=>639,7543=>635,7680=>684,7681=>613,7682=>655,7683=>635,7684=>655,7685=>635,7686=>655,7687=>635,7688=>698,7689=>550,7690=>770,7691=>635,7692=>770,7693=>635,7694=>770,7695=>635,7696=>770,7697=>635,7698=>770,7699=>635,7700=>632,7701=>615,7702=>632,7703=>615,7704=>632,7705=>615,7706=>632,7707=>615,7708=>632,7709=>615,7710=>575,7711=>352,7712=>775,7713=>600,7714=>752,7715=>634,7716=>752,7717=>634,7718=>752,7719=>634,7720=>752,7721=>634,7722=>752,7723=>634,7724=>295,7725=>278,7726=>295,7727=>278,7728=>656,7729=>579,7730=>656,7731=>579,7732=>656,7733=>579,7734=>557,7735=>288,7736=>557,7737=>288,7738=>557,7739=>278,7740=>557,7741=>278,7742=>863,7743=>974,7744=>863,7745=>974,7746=>863,7747=>974,7748=>748,7749=>634,7750=>748,7751=>634,7752=>748,7753=>634,7754=>748,7755=>634,7756=>787,7757=>612,7758=>787,7759=>612,7760=>787,7761=>612,7762=>787,7763=>612,7764=>603,7765=>635,7766=>603,7767=>635,7768=>695,7769=>411,7770=>695,7771=>411,7772=>695,7773=>411,7774=>695,7775=>411,7776=>635,7777=>521,7778=>635,7779=>521,7780=>635,7781=>521,7782=>635,7783=>521,7784=>635,7785=>521,7786=>611,7787=>392,7788=>611,7789=>392,7790=>611,7791=>392,7792=>611,7793=>392,7794=>732,7795=>634,7796=>732,7797=>634,7798=>732,7799=>634,7800=>732,7801=>634,7802=>732,7803=>634,7804=>684,7805=>592,7806=>684,7807=>592,7808=>989,7809=>818,7810=>989,7811=>818,7812=>989,7813=>818,7814=>989,7815=>818,7816=>989,7817=>818,7818=>685,7819=>592,7820=>685,7821=>592,7822=>611,7823=>592,7824=>685,7825=>525,7826=>685,7827=>525,7828=>685,7829=>525,7830=>634,7831=>392,7832=>818,7833=>592,7834=>613,7835=>352,7836=>352,7837=>352,7838=>769,7839=>612,7840=>684,7841=>613,7842=>684,7843=>613,7844=>684,7845=>613,7846=>684,7847=>613,7848=>684,7849=>613,7850=>684,7851=>613,7852=>684,7853=>613,7854=>684,7855=>613,7856=>684,7857=>613,7858=>684,7859=>613,7860=>684,7861=>613,7862=>684,7863=>613,7864=>632,7865=>615,7866=>632,7867=>615,7868=>632,7869=>615,7870=>632,7871=>615,7872=>632,7873=>615,7874=>632,7875=>615,7876=>632,7877=>615,7878=>632,7879=>615,7880=>295,7881=>278,7882=>295,7883=>278,7884=>787,7885=>612,7886=>787,7887=>612,7888=>787,7889=>612,7890=>787,7891=>612,7892=>787,7893=>612,7894=>787,7895=>612,7896=>787,7897=>612,7898=>934,7899=>757,7900=>934,7901=>757,7902=>934,7903=>757,7904=>934,7905=>757,7906=>934,7907=>757,7908=>732,7909=>634,7910=>732,7911=>634,7912=>879,7913=>779,7914=>879,7915=>779,7916=>879,7917=>779,7918=>879,7919=>779,7920=>879,7921=>779,7922=>611,7923=>592,7924=>611,7925=>592,7926=>611,7927=>592,7928=>611,7929=>592,7930=>769,7931=>477,7936=>659,7937=>659,7938=>659,7939=>659,7940=>659,7941=>659,7942=>659,7943=>659,7944=>684,7945=>684,7946=>877,7947=>877,7948=>769,7949=>801,7950=>708,7951=>743,7952=>541,7953=>541,7954=>541,7955=>541,7956=>541,7957=>541,7960=>711,7961=>711,7962=>966,7963=>975,7964=>898,7965=>928,7968=>634,7969=>634,7970=>634,7971=>634,7972=>634,7973=>634,7974=>634,7975=>634,7976=>837,7977=>835,7978=>1086,7979=>1089,7980=>1027,7981=>1051,7982=>934,7983=>947,7984=>338,7985=>338,7986=>338,7987=>338,7988=>338,7989=>338,7990=>338,7991=>338,7992=>380,7993=>374,7994=>635,7995=>635,7996=>570,7997=>600,7998=>489,7999=>493,8000=>612,8001=>612,8002=>612,8003=>612,8004=>612,8005=>612,8008=>804,8009=>848,8010=>1095,8011=>1100,8012=>938,8013=>970,8016=>579,8017=>579,8018=>579,8019=>579,8020=>579,8021=>579,8022=>579,8023=>579,8025=>784,8027=>998,8029=>1012,8031=>897,8032=>837,8033=>837,8034=>837,8035=>837,8036=>837,8037=>837,8038=>837,8039=>837,8040=>802,8041=>843,8042=>1089,8043=>1095,8044=>946,8045=>972,8046=>921,8047=>952,8048=>659,8049=>659,8050=>541,8051=>548,8052=>634,8053=>654,8054=>338,8055=>338,8056=>612,8057=>612,8058=>579,8059=>579,8060=>837,8061=>837,8064=>659,8065=>659,8066=>659,8067=>659,8068=>659,8069=>659,8070=>659,8071=>659,8072=>684,8073=>684,8074=>877,8075=>877,8076=>769,8077=>801,8078=>708,8079=>743,8080=>634,8081=>634,8082=>634,8083=>634,8084=>634,8085=>634,8086=>634,8087=>634,8088=>837,8089=>835,8090=>1086,8091=>1089,8092=>1027,8093=>1051,8094=>934,8095=>947,8096=>837,8097=>837,8098=>837,8099=>837,8100=>837,8101=>837,8102=>837,8103=>837,8104=>802,8105=>843,8106=>1089,8107=>1095,8108=>946,8109=>972,8110=>921,8111=>952,8112=>659,8113=>659,8114=>659,8115=>659,8116=>659,8118=>659,8119=>659,8120=>684,8121=>684,8122=>716,8123=>692,8124=>684,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>634,8131=>634,8132=>654,8134=>634,8135=>634,8136=>805,8137=>746,8138=>931,8139=>871,8140=>752,8141=>500,8142=>500,8143=>500,8144=>338,8145=>338,8146=>338,8147=>338,8150=>338,8151=>338,8152=>295,8153=>295,8154=>475,8155=>408,8157=>500,8158=>500,8159=>500,8160=>579,8161=>579,8162=>579,8163=>579,8164=>635,8165=>635,8166=>579,8167=>579,8168=>611,8169=>611,8170=>845,8171=>825,8172=>685,8173=>500,8174=>500,8175=>500,8178=>837,8179=>837,8180=>837,8182=>837,8183=>837,8184=>941,8185=>813,8186=>922,8187=>826,8188=>764,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>636,8200=>318,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>361,8209=>361,8210=>636,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>318,8217=>318,8218=>318,8219=>318,8220=>518,8221=>518,8222=>518,8223=>518,8224=>500,8225=>500,8228=>334,8229=>667,8230=>1000,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1342,8241=>1735,8249=>400,8250=>400,8251=>838,8252=>485,8253=>531,8254=>500,8255=>804,8256=>804,8258=>1000,8259=>500,8260=>167,8261=>390,8262=>390,8263=>922,8264=>733,8265=>733,8267=>636,8268=>500,8269=>500,8270=>500,8271=>337,8272=>804,8273=>500,8274=>450,8275=>1000,8276=>804,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>401,8305=>179,8308=>401,8320=>401,8321=>401,8322=>401,8323=>401,8324=>401,8363=>636,8364=>636,8369=>636,8376=>636,8377=>636,8451=>1123,8457=>952,8462=>634,8463=>634,8470=>1165,8471=>1000,8486=>764,8487=>764,8490=>656,8491=>684,8494=>854,8498=>575,8500=>462,8513=>775,8514=>557,8515=>557,8516=>611,8523=>780,8530=>1370,8531=>969,8532=>969,8543=>568,8544=>295,8545=>492,8546=>689,8547=>923,8548=>684,8549=>922,8550=>1120,8551=>1317,8552=>917,8553=>685,8554=>933,8555=>1131,8556=>557,8557=>698,8558=>770,8559=>863,8560=>278,8561=>458,8562=>637,8563=>812,8564=>592,8565=>811,8566=>991,8567=>1170,8568=>819,8569=>592,8570=>822,8571=>1002,8572=>278,8573=>550,8574=>635,8575=>974,8576=>1285,8577=>770,8578=>1285,8579=>698,8580=>549,8581=>698,8585=>969,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8704=>684,8707=>632,8710=>684,8711=>684,8722=>838,8725=>337,8726=>637,8727=>626,8728=>626,8756=>636,8757=>636,8758=>260,8759=>636,8764=>636,9134=>521,9167=>945,10731=>494,10799=>838,11374=>863,11375=>684,11381=>654,11382=>568,11383=>660,11386=>612,11800=>536,11810=>390,11811=>390,11812=>390,11813=>390,11822=>531,42192=>655,42193=>603,42194=>603,42195=>770,42196=>611,42197=>611,42198=>775,42199=>656,42200=>656,42201=>512,42202=>698,42203=>698,42204=>685,42205=>575,42206=>575,42207=>863,42208=>748,42209=>557,42210=>635,42211=>695,42212=>695,42213=>684,42214=>684,42215=>752,42216=>775,42217=>512,42218=>989,42219=>685,42220=>611,42221=>655,42222=>684,42223=>684,42224=>632,42225=>632,42226=>295,42227=>787,42228=>732,42229=>732,42230=>557,42231=>770,42232=>300,42233=>300,42234=>596,42235=>596,42236=>300,42237=>300,42238=>588,42239=>588,42564=>635,42565=>521,42566=>354,42567=>387,42576=>1029,42577=>906,42580=>1031,42581=>813,42582=>927,42583=>814,42594=>1014,42595=>866,42596=>1015,42597=>864,42598=>1088,42599=>944,42600=>787,42601=>612,42602=>855,42603=>712,42604=>1358,42605=>1019,42606=>879,42636=>611,42637=>549,42644=>686,42645=>634,42760=>493,42761=>493,42762=>493,42763=>493,42764=>493,42765=>493,42766=>493,42767=>493,42768=>493,42769=>493,42770=>493,42771=>493,42772=>493,42773=>493,42774=>493,42779=>369,42780=>369,42781=>252,42782=>252,42783=>252,42786=>385,42787=>356,42788=>472,42789=>472,42790=>752,42791=>634,42800=>491,42801=>521,42802=>1250,42803=>985,42814=>703,42815=>549,42822=>680,42823=>392,42830=>1358,42831=>1019,42880=>557,42881=>278,42891=>401,42892=>275,42893=>686,43002=>917,43003=>575,43004=>603,43005=>863,43006=>295,43007=>1199,62464=>525,62465=>525,62466=>565,62467=>808,62468=>535,62469=>525,62470=>536,62471=>821,62472=>525,62473=>525,62474=>1037,62475=>535,62476=>535,62477=>837,62478=>525,62479=>536,62480=>830,62481=>535,62482=>672,62483=>565,62484=>823,62485=>535,62486=>790,62487=>535,62488=>535,62489=>535,62490=>603,62491=>535,62492=>535,62493=>525,62494=>535,62495=>525,62496=>525,62497=>525,62498=>525,62499=>525,62500=>524,62501=>567,63173=>612,64256=>689,64257=>630,64258=>630,64259=>967,64260=>967,64297=>838,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65533=>1025,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.z new file mode 100644 index 0000000..a966f6d Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansextralight.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansi.ctg.z new file mode 100644 index 0000000..1b98d13 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansi.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansi.php new file mode 100644 index 0000000..07c6fd1 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-1016 -350 1659 1068]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>34,'StemH'=>15,'AvgWidth'=>507,'MaxWidth'=>1690,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(79,0,320,729),34=>array(96,458,364,729),35=>array(70,0,773,718),36=>array(33,-147,570,760),37=>array(91,-14,859,742),38=>array(47,-14,736,742),39=>array(96,458,179,729),40=>array(77,-132,427,759),41=>array(-62,-132,288,759),42=>array(30,286,470,742),43=>array(106,0,732,627),44=>array(3,-116,193,124),45=>array(45,234,324,314),46=>array(58,0,185,124),47=>array(-73,-93,427,729),48=>array(50,-14,586,742),49=>array(49,0,485,729),50=>array(4,0,574,742),51=>array(2,-14,572,742),52=>array(18,0,565,729),53=>array(20,-14,581,729),54=>array(63,-14,592,742),55=>array(93,0,627,729),56=>array(33,-14,593,742),57=>array(44,-14,574,742),58=>array(52,0,256,517),59=>array(1,-116,267,517),60=>array(106,46,732,581),61=>array(106,172,732,454),62=>array(106,46,732,581),63=>array(123,0,511,742),64=>array(58,-173,950,703),65=>array(-53,0,615,729),66=>array(27,0,625,729),67=>array(42,-14,695,742),68=>array(27,0,722,729),69=>array(27,0,630,729),70=>array(27,0,587,729),71=>array(45,-14,725,742),72=>array(27,0,725,729),73=>array(27,0,268,729),74=>array(-164,-200,266,729),75=>array(27,0,722,729),76=>array(27,0,497,729),77=>array(27,0,836,729),78=>array(27,0,721,729),79=>array(40,-14,747,742),80=>array(27,0,601,729),81=>array(41,-129,747,742),82=>array(27,0,600,729),83=>array(6,-14,603,742),84=>array(43,0,676,729),85=>array(58,-14,713,729),86=>array(78,0,742,729),87=>array(96,0,1020,729),88=>array(-43,0,703,729),89=>array(63,0,676,729),90=>array(-22,0,703,729),91=>array(40,-132,420,760),92=>array(85,-93,262,729),93=>array(-38,-132,342,760),94=>array(106,457,732,729),95=>array(-10,-236,510,-166),96=>array(190,617,388,800),97=>array(41,-14,547,560),98=>array(36,-14,587,760),99=>array(46,-14,536,560),100=>array(46,-14,639,760),101=>array(46,-14,571,560),102=>array(68,0,478,760),103=>array(32,-208,596,560),104=>array(35,0,566,760),105=>array(35,0,273,760),106=>array(-113,-208,277,760),107=>array(35,0,612,760),108=>array(35,0,273,760),109=>array(35,0,906,560),110=>array(35,0,566,560),111=>array(46,-14,566,560),112=>array(-3,-208,589,560),113=>array(46,-206,597,560),114=>array(35,0,463,560),115=>array(11,-14,500,560),116=>array(64,0,423,702),117=>array(57,-14,589,547),118=>array(72,0,604,547),119=>array(85,0,819,547),120=>array(-26,0,600,547),121=>array(-25,-208,603,547),122=>array(-3,0,543,547),123=>array(121,-163,605,760),124=>array(127,-236,210,764),125=>array(7,-163,491,760),126=>array(106,228,732,399),161=>array(85,0,326,729),162=>array(74,-153,563,698),163=>array(24,0,637,742),164=>array(46,40,592,587),165=>array(45,0,673,729),166=>array(127,-171,210,699),167=>array(12,-95,485,742),168=>array(184,659,493,758),169=>array(138,0,862,725),170=>array(40,229,446,742),171=>array(62,69,555,517),172=>array(106,140,732,421),173=>array(45,234,324,314),174=>array(138,0,862,725),175=>array(186,673,492,745),176=>array(95,432,405,742),177=>array(106,0,732,627),178=>array(36,326,385,742),179=>array(16,319,368,742),180=>array(252,616,522,800),181=>array(-13,-208,592,547),182=>array(78,-96,573,729),183=>array(114,285,241,409),184=>array(49,-193,267,0),185=>array(66,326,347,734),186=>array(40,229,462,742),187=>array(62,69,554,517),188=>array(66,-14,958,742),189=>array(66,-14,953,742),190=>array(16,-14,958,742),191=>array(37,-13,425,729),192=>array(-53,0,615,927),193=>array(-53,0,615,927),194=>array(-53,0,615,928),195=>array(-53,0,617,921),196=>array(-53,0,615,913),197=>array(-53,0,615,928),198=>array(-45,0,994,729),199=>array(42,-193,695,742),200=>array(27,0,630,927),201=>array(27,0,630,927),202=>array(27,0,630,928),203=>array(27,0,630,913),204=>array(27,0,292,927),205=>array(27,0,383,927),206=>array(27,0,379,928),207=>array(27,0,392,913),208=>array(0,0,727,729),209=>array(27,0,721,921),210=>array(40,-14,747,927),211=>array(40,-14,747,927),212=>array(40,-14,747,928),213=>array(40,-14,747,921),214=>array(40,-14,747,913),215=>array(137,31,701,596),216=>array(-34,-32,809,761),217=>array(58,-14,713,927),218=>array(58,-14,713,927),219=>array(58,-14,713,928),220=>array(58,-14,713,913),221=>array(63,0,676,927),222=>array(27,0,577,729),223=>array(47,-14,590,760),224=>array(41,-14,547,800),225=>array(41,-14,571,800),226=>array(41,-14,547,800),227=>array(41,-14,562,777),228=>array(41,-14,547,758),229=>array(41,-14,547,878),230=>array(41,-14,951,560),231=>array(46,-193,536,560),232=>array(46,-14,571,800),233=>array(46,-14,576,800),234=>array(46,-14,571,800),235=>array(46,-14,571,758),236=>array(35,0,262,800),237=>array(35,0,396,800),238=>array(35,0,351,800),239=>array(35,0,367,758),240=>array(45,-14,587,760),241=>array(35,0,580,777),242=>array(46,-14,566,800),243=>array(46,-14,578,800),244=>array(46,-14,566,800),245=>array(46,-14,569,777),246=>array(46,-14,566,758),247=>array(106,73,732,554),248=>array(-14,-46,622,590),249=>array(57,-14,589,800),250=>array(57,-14,589,800),251=>array(57,-14,589,800),252=>array(57,-14,589,758),253=>array(-25,-208,603,800),254=>array(-3,-208,589,760),255=>array(-25,-208,603,758),256=>array(-53,0,615,899),257=>array(41,-14,547,745),258=>array(-53,0,624,926),259=>array(41,-14,562,761),260=>array(-53,-194,618,729),261=>array(41,-194,547,560),262=>array(42,-14,695,927),263=>array(46,-14,580,800),264=>array(42,-14,695,928),265=>array(46,-14,551,800),266=>array(42,-14,695,914),267=>array(46,-14,536,760),268=>array(42,-14,695,928),269=>array(46,-14,570,800),270=>array(27,0,722,928),271=>array(46,-14,819,760),272=>array(0,0,727,729),273=>array(46,-14,701,760),274=>array(27,0,630,900),275=>array(46,-14,571,745),276=>array(27,0,630,928),277=>array(46,-14,571,785),278=>array(27,0,630,914),279=>array(46,-14,571,760),280=>array(27,-194,630,729),281=>array(46,-194,571,560),282=>array(27,0,630,928),283=>array(46,-14,571,800),284=>array(45,-14,725,928),285=>array(32,-208,596,800),286=>array(45,-14,725,928),287=>array(32,-208,596,785),288=>array(45,-14,725,914),289=>array(32,-208,596,760),290=>array(45,-250,725,742),291=>array(32,-208,596,775),292=>array(27,0,725,928),293=>array(35,0,566,928),294=>array(109,0,868,729),295=>array(46,0,576,760),296=>array(27,0,415,921),297=>array(35,0,387,777),298=>array(27,0,390,899),299=>array(35,0,381,745),300=>array(27,0,400,928),301=>array(35,0,381,785),302=>array(-7,-194,268,729),303=>array(-8,-194,273,760),304=>array(27,0,304,914),305=>array(35,0,232,547),306=>array(27,-200,561,729),307=>array(35,-208,554,760),308=>array(-164,-200,386,928),309=>array(-113,-208,360,800),310=>array(27,-235,722,729),311=>array(35,-235,612,760),312=>array(38,0,617,547),313=>array(27,0,497,928),314=>array(35,0,422,928),315=>array(27,-235,497,729),316=>array(20,-235,273,760),317=>array(27,0,497,729),318=>array(35,0,474,760),319=>array(27,0,497,729),320=>array(35,0,443,760),321=>array(-20,0,502,729),322=>array(17,0,318,760),323=>array(27,0,721,928),324=>array(35,0,566,803),325=>array(27,-235,721,729),326=>array(35,-235,566,560),327=>array(27,0,721,928),328=>array(35,0,570,800),329=>array(75,0,732,729),330=>array(46,-208,682,742),331=>array(35,-208,566,560),332=>array(40,-14,747,899),333=>array(46,-14,566,745),334=>array(40,-14,747,928),335=>array(46,-14,566,785),336=>array(40,-14,773,927),337=>array(46,-14,623,800),338=>array(46,0,1067,729),339=>array(46,-14,984,560),340=>array(27,0,600,928),341=>array(35,0,549,803),342=>array(27,-235,600,729),343=>array(20,-235,463,560),344=>array(27,0,600,925),345=>array(35,0,492,800),346=>array(6,-14,603,928),347=>array(11,-14,549,803),348=>array(6,-14,603,928),349=>array(11,-14,500,800),350=>array(6,-193,603,742),351=>array(11,-193,500,560),352=>array(6,-14,603,928),353=>array(11,-14,523,800),354=>array(43,-193,676,729),355=>array(62,-193,423,702),356=>array(43,0,676,928),357=>array(64,0,477,803),358=>array(52,0,685,729),359=>array(16,0,406,702),360=>array(58,-14,713,921),361=>array(57,-14,589,777),362=>array(58,-14,713,899),363=>array(57,-14,589,745),364=>array(58,-14,713,928),365=>array(57,-14,589,785),366=>array(58,-14,713,929),367=>array(57,-14,589,861),368=>array(58,-14,729,927),369=>array(57,-14,619,800),370=>array(58,-194,713,729),371=>array(57,-194,589,547),372=>array(96,0,1020,932),373=>array(85,0,819,800),374=>array(63,0,676,932),375=>array(-25,-208,603,800),376=>array(63,0,676,913),377=>array(-22,0,703,928),378=>array(-3,0,549,803),379=>array(-22,0,703,912),380=>array(-3,0,543,760),381=>array(-22,0,703,928),382=>array(-3,0,543,800),383=>array(68,0,478,760),384=>array(19,-14,561,760),385=>array(51,0,740,729),386=>array(27,0,635,729),387=>array(19,-14,579,760),388=>array(42,0,601,729),389=>array(35,-14,578,760),390=>array(63,-14,715,742),391=>array(39,-14,885,924),392=>array(39,-14,672,724),393=>array(0,0,727,729),394=>array(51,0,831,729),395=>array(69,0,686,729),396=>array(36,-14,619,760),397=>array(55,-208,575,548),398=>array(64,0,675,729),399=>array(51,-14,750,742),400=>array(121,-14,676,742),401=>array(-142,-200,607,729),402=>array(-157,-208,465,760),403=>array(39,-14,915,924),404=>array(95,-210,774,729),405=>array(17,0,897,760),406=>array(76,0,292,729),407=>array(0,0,299,729),408=>array(26,0,792,742),409=>array(17,0,596,760),410=>array(-2,0,277,760),411=>array(-44,0,535,760),412=>array(60,-14,966,729),413=>array(-142,-200,740,729),414=>array(57,-208,579,560),415=>array(40,-14,747,742),416=>array(34,-14,823,761),417=>array(48,-14,657,609),418=>array(56,-14,873,742),419=>array(74,-208,702,560),420=>array(51,0,717,729),421=>array(-3,-208,580,760),422=>array(40,-129,592,729),423=>array(2,-14,580,742),424=>array(11,-14,473,560),425=>array(27,0,630,729),426=>array(-58,-208,341,760),427=>array(72,-208,426,702),428=>array(43,0,685,729),429=>array(46,0,429,760),430=>array(71,-200,704,729),431=>array(56,-4,854,761),432=>array(58,-14,720,615),433=>array(42,-14,798,724),434=>array(76,-1,678,729),435=>array(67,0,789,742),436=>array(4,-208,777,560),437=>array(-26,0,700,729),438=>array(-10,0,535,547),439=>array(23,-31,652,729),440=>array(15,-31,662,729),441=>array(21,-213,594,547),442=>array(-9,-208,533,547),443=>array(1,0,564,742),444=>array(16,-31,625,729),445=>array(-16,-213,550,547),446=>array(-20,-14,430,702),447=>array(-5,-208,603,560),448=>array(7,-208,288,729),449=>array(7,-208,485,729),450=>array(-13,-208,484,729),451=>array(26,0,267,729),452=>array(27,0,1473,928),453=>array(27,0,1313,800),454=>array(46,-14,1178,800),455=>array(27,-200,823,729),456=>array(27,-208,834,760),457=>array(35,-208,555,760),458=>array(27,-200,1014,729),459=>array(27,-208,1025,760),460=>array(35,-208,911,760),461=>array(-53,0,615,928),462=>array(41,-14,556,800),463=>array(27,0,414,928),464=>array(35,0,400,800),465=>array(40,-14,747,928),466=>array(46,-14,598,800),467=>array(58,-14,713,928),468=>array(57,-14,589,800),469=>array(58,-14,713,1025),470=>array(57,-14,589,899),471=>array(58,-14,713,1047),472=>array(57,-14,589,903),473=>array(58,-14,713,1044),474=>array(57,-14,589,906),475=>array(58,-14,713,1044),476=>array(57,-14,589,903),477=>array(51,-14,563,560),478=>array(-53,0,626,1025),479=>array(41,-14,548,899),480=>array(-53,0,627,1025),481=>array(41,-14,573,868),482=>array(-45,0,994,900),483=>array(41,-14,951,743),484=>array(45,-14,743,742),485=>array(32,-208,596,560),486=>array(45,-14,725,928),487=>array(32,-208,596,800),488=>array(27,0,722,928),489=>array(35,0,612,928),490=>array(40,-194,747,742),491=>array(46,-194,566,560),492=>array(40,-194,747,899),493=>array(46,-194,566,745),494=>array(23,-31,652,928),495=>array(-47,-213,530,793),496=>array(-113,-208,392,793),497=>array(27,0,1473,729),498=>array(27,0,1313,729),499=>array(46,-14,1178,760),500=>array(45,-14,725,928),501=>array(32,-208,596,800),502=>array(29,-14,1059,729),503=>array(-14,-208,666,742),504=>array(27,0,721,927),505=>array(35,0,566,800),506=>array(-53,0,786,928),507=>array(41,-14,772,928),508=>array(-45,0,994,928),509=>array(41,-14,951,800),510=>array(-34,-32,809,928),511=>array(-14,-46,622,800),512=>array(-53,0,615,930),513=>array(41,-14,547,800),514=>array(-53,0,615,917),515=>array(41,-14,549,785),516=>array(27,0,630,930),517=>array(46,-14,571,800),518=>array(27,0,630,917),519=>array(46,-14,571,785),520=>array(27,0,363,930),521=>array(22,0,365,800),522=>array(27,0,393,917),523=>array(35,0,370,785),524=>array(40,-14,747,930),525=>array(46,-14,566,800),526=>array(40,-14,747,917),527=>array(46,-14,566,785),528=>array(27,0,600,930),529=>array(35,0,463,800),530=>array(27,0,600,917),531=>array(35,0,486,785),532=>array(58,-14,713,930),533=>array(57,-14,589,800),534=>array(58,-14,713,917),535=>array(57,-14,589,785),536=>array(6,-240,603,742),537=>array(11,-240,500,560),538=>array(43,-240,676,729),539=>array(64,-240,423,702),540=>array(-36,-210,593,742),541=>array(-62,-211,489,560),542=>array(27,0,725,928),543=>array(35,0,566,928),544=>array(27,-208,663,742),545=>array(41,-70,744,760),546=>array(19,-14,663,742),547=>array(34,-14,584,648),548=>array(-6,-208,720,729),549=>array(10,-208,555,547),550=>array(-53,0,615,914),551=>array(41,-14,547,760),552=>array(27,-189,630,729),553=>array(46,-193,571,560),554=>array(40,-14,747,1025),555=>array(46,-14,582,899),556=>array(40,-14,747,1025),557=>array(46,-14,579,861),558=>array(40,-14,747,914),559=>array(46,-14,566,760),560=>array(40,-14,747,1029),561=>array(46,-14,566,899),562=>array(63,0,676,899),563=>array(-25,-208,603,745),564=>array(-13,-70,381,757),565=>array(43,-70,768,560),566=>array(-5,-70,413,702),567=>array(-113,-208,235,547),568=>array(36,-14,924,760),569=>array(74,-208,962,560),570=>array(-70,-34,754,761),571=>array(-63,-34,762,761),572=>array(-50,-46,600,592),573=>array(0,0,497,729),574=>array(-107,-34,718,761),575=>array(27,-242,515,560),576=>array(13,-242,559,547),577=>array(157,0,668,729),578=>array(69,0,457,560),579=>array(-31,0,621,729),580=>array(4,-14,739,729),581=>array(-63,0,605,729),582=>array(27,-93,636,822),583=>array(36,-93,573,640),584=>array(-163,-200,293,729),585=>array(-114,-208,276,760),586=>array(74,-200,772,743),587=>array(74,-208,616,560),588=>array(-6,0,600,729),589=>array(-5,0,464,560),590=>array(29,0,684,729),591=>array(6,-208,635,547),592=>array(69,-14,575,560),593=>array(55,-14,597,560),594=>array(2,-14,544,560),595=>array(19,-14,561,760),596=>array(2,-14,493,560),597=>array(61,-70,542,560),598=>array(55,-208,638,760),599=>array(36,-14,821,760),600=>array(28,-14,561,560),601=>array(51,-14,563,560),602=>array(41,-14,819,560),603=>array(39,-14,506,561),604=>array(5,-11,504,560),605=>array(14,-14,777,561),606=>array(55,-14,609,561),607=>array(-91,-208,289,547),608=>array(33,-208,809,760),609=>array(53,-208,617,547),610=>array(55,0,569,574),611=>array(103,-210,623,547),612=>array(102,-14,604,547),613=>array(94,-208,616,547),614=>array(17,0,539,760),615=>array(37,-208,560,760),616=>array(26,0,309,760),617=>array(80,0,258,547),618=>array(4,0,368,547),619=>array(22,0,372,760),620=>array(41,0,417,760),621=>array(39,-208,278,760),622=>array(41,-213,662,760),623=>array(81,-13,944,548),624=>array(100,-208,962,547),625=>array(57,-208,919,560),626=>array(-93,-208,582,560),627=>array(57,-208,601,560),628=>array(34,0,602,547),629=>array(55,-14,557,560),630=>array(55,0,814,547),631=>array(66,-15,658,560),632=>array(54,-208,602,760),633=>array(2,-13,430,547),634=>array(-18,-13,450,755),635=>array(21,-208,449,547),636=>array(-20,-208,449,560),637=>array(19,-208,449,560),638=>array(2,0,491,560),639=>array(96,0,397,560),640=>array(-29,0,454,547),641=>array(-29,0,561,547),642=>array(18,-208,512,560),643=>array(-112,-208,449,760),644=>array(-113,-208,449,760),645=>array(86,-208,341,549),646=>array(-206,-208,449,760),647=>array(-11,-155,344,547),648=>array(40,-208,426,702),649=>array(-9,-14,641,547),650=>array(56,-15,619,547),651=>array(80,0,551,548),652=>array(-23,0,509,547),653=>array(-11,0,723,547),654=>array(-43,0,586,755),655=>array(103,0,605,547),656=>array(10,-208,555,547),657=>array(-5,-54,541,547),658=>array(-24,-213,554,547),659=>array(20,-213,554,547),660=>array(93,0,485,759),661=>array(72,0,522,759),662=>array(-24,0,426,759),663=>array(-7,-213,543,760),664=>array(56,-14,731,742),665=>array(38,0,534,547),666=>array(33,-14,596,561),667=>array(37,0,801,759),668=>array(38,0,616,547),669=>array(-205,-208,278,760),670=>array(71,-213,650,547),671=>array(38,0,454,547),672=>array(55,-208,840,759),673=>array(7,0,485,759),674=>array(72,0,522,759),675=>array(36,-14,1004,760),676=>array(55,-213,1024,760),677=>array(40,-54,1007,760),678=>array(51,0,787,702),679=>array(66,-208,723,760),680=>array(58,-70,764,702),681=>array(55,-208,815,760),682=>array(21,0,657,760),683=>array(21,0,643,760),684=>array(22,-15,552,640),685=>array(-28,84,543,640),686=>array(80,-214,624,760),687=>array(79,-208,623,760),688=>array(16,326,340,751),689=>array(16,326,340,751),690=>array(-64,209,168,751),691=>array(27,326,289,640),692=>array(5,319,267,632),693=>array(16,209,277,632),694=>array(-14,326,350,632),695=>array(56,326,519,632),696=>array(9,209,395,632),697=>array(164,557,336,800),698=>array(164,557,518,800),699=>array(131,489,321,729),700=>array(62,489,251,729),701=>array(179,616,298,856),702=>array(136,492,296,760),703=>array(138,492,297,760),704=>array(85,326,333,751),705=>array(74,326,354,751),706=>array(255,524,532,836),707=>array(232,524,509,836),708=>array(203,561,515,800),709=>array(250,561,561,800),710=>array(165,616,477,800),711=>array(200,616,512,800),712=>array(104,488,171,759),713=>array(186,673,492,745),714=>array(252,616,522,800),715=>array(190,617,388,800),716=>array(104,-148,171,123),717=>array(24,-156,331,-84),718=>array(190,-236,388,-54),719=>array(252,-237,522,-54),720=>array(4,0,279,517),721=>array(70,356,244,517),722=>array(89,249,249,517),723=>array(90,249,250,517),724=>array(119,229,353,448),725=>array(147,229,381,448),726=>array(47,125,353,417),727=>array(47,234,281,307),728=>array(200,645,507,785),729=>array(279,658,398,758),730=>array(209,610,477,878),731=>array(98,-194,279,0),732=>array(164,639,513,777),733=>array(188,616,567,800),734=>array(-5,233,323,504),735=>array(104,616,406,800),736=>array(63,208,415,632),737=>array(16,326,155,751),738=>array(30,326,330,648),739=>array(27,326,415,632),740=>array(74,326,354,751),741=>array(157,0,454,668),742=>array(127,0,454,668),743=>array(98,0,454,668),744=>array(69,0,454,668),745=>array(40,0,454,668),748=>array(96,-260,408,-21),749=>array(174,610,504,808),750=>array(135,489,525,729),755=>array(95,-240,363,28),759=>array(83,-193,432,-83),768=>array(-259,617,-61,800),769=>array(-203,616,67,800),770=>array(-284,616,28,800),771=>array(-288,639,61,777),772=>array(-266,673,40,745),773=>array(-510,686,10,755),774=>array(-249,645,58,785),775=>array(-169,646,-58,760),776=>array(-265,659,44,758),777=>array(-204,618,14,810),778=>array(-240,610,28,878),779=>array(-264,616,115,800),780=>array(-255,616,57,800),781=>array(-305,615,-195,832),782=>array(-404,615,-96,832),783=>array(-331,616,12,800),784=>array(-304,645,3,854),785=>array(-247,645,60,785),786=>array(-189,489,-16,645),787=>array(-329,595,-162,844),788=>array(-305,595,-163,844),789=>array(-80,616,80,800),790=>array(-311,-266,-113,-83),791=>array(-249,-267,21,-83),792=>array(-363,-240,-200,-24),793=>array(-300,-240,-137,-24),794=>array(-198,690,54,930),795=>array(-141,427,69,609),796=>array(-315,-241,-188,-32),797=>array(-384,-240,-132,-87),798=>array(-368,-240,-116,-87),799=>array(-363,-240,-137,-24),800=>array(-265,-184,-12,-117),801=>array(-339,-208,6,63),802=>array(-339,-208,-70,63),803=>array(-332,-184,-220,-70),804=>array(-435,-183,-126,-84),805=>array(-355,-241,-146,-32),806=>array(-339,-240,-165,-84),807=>array(-451,-193,-233,0),808=>array(-402,-194,-221,0),809=>array(-302,-240,-198,-47),810=>array(-398,-211,-98,-50),811=>array(-468,-222,-67,-82),812=>array(-386,-240,-74,-57),813=>array(-429,-240,-117,-57),814=>array(-433,-222,-126,-82),815=>array(-459,-224,-153,-83),816=>array(-466,-222,-117,-84),817=>array(-441,-156,-135,-84),818=>array(-566,-236,-33,-166),819=>array(-556,-236,8,-9),820=>array(-570,240,-27,381),821=>array(-325,221,-51,301),822=>array(-642,221,7,301),823=>array(-629,-46,21,592),824=>array(-811,-34,15,761),825=>array(-312,-241,-184,-32),826=>array(-398,-206,-98,-44),827=>array(-380,-240,-118,-21),828=>array(-495,-222,-94,-82),829=>array(-370,608,-130,825),830=>array(-272,595,-84,853),831=>array(-510,528,10,755),832=>array(-259,617,-61,800),833=>array(-203,616,67,800),834=>array(-288,639,61,777),835=>array(-329,595,-162,844),836=>array(-308,659,61,978),837=>array(-356,-208,-252,-45),838=>array(-411,639,-89,786),839=>array(-378,-226,-122,-35),840=>array(-383,-240,-117,-47),841=>array(-353,-240,-119,-21),842=>array(-425,616,-75,800),843=>array(-425,567,-75,850),844=>array(-424,596,-75,820),845=>array(-452,-230,-48,-30),846=>array(-360,-240,-147,-45),849=>array(-316,610,-157,878),850=>array(-415,633,-108,855),851=>array(-370,-241,-130,-24),855=>array(-343,610,-183,878),856=>array(23,658,142,758),858=>array(-430,-241,-71,-32),860=>array(-483,-237,407,-60),861=>array(-290,802,601,979),862=>array(-297,855,600,927),863=>array(-491,-156,415,-84),864=>array(-208,756,528,894),865=>array(-290,752,601,929),866=>array(-528,-230,366,-30),880=>array(27,0,568,729),881=>array(41,0,486,547),882=>array(95,0,834,729),883=>array(95,0,620,729),884=>array(164,557,336,800),885=>array(27,-208,199,35),886=>array(27,0,721,729),887=>array(38,0,612,547),890=>array(136,-208,240,-45),891=>array(2,-14,493,560),892=>array(46,-14,536,560),893=>array(2,-14,493,560),894=>array(1,-116,267,517),900=>array(252,616,522,800),901=>array(184,659,553,978),902=>array(-53,0,615,800),903=>array(114,285,241,409),904=>array(59,0,765,800),905=>array(64,0,869,800),906=>array(62,0,409,800),908=>array(64,-14,793,800),910=>array(56,0,919,800),911=>array(53,0,828,800),912=>array(74,0,450,978),913=>array(-53,0,615,729),914=>array(27,0,625,729),915=>array(27,0,623,729),916=>array(-63,0,605,729),917=>array(27,0,630,729),918=>array(-22,0,703,729),919=>array(27,0,725,729),920=>array(56,-14,731,742),921=>array(27,0,268,729),922=>array(27,0,722,729),923=>array(-63,0,605,729),924=>array(27,0,836,729),925=>array(27,0,721,729),926=>array(27,0,619,729),927=>array(40,-14,747,742),928=>array(27,0,725,729),929=>array(27,0,601,729),931=>array(27,0,630,729),932=>array(43,0,676,729),933=>array(63,0,676,729),934=>array(50,0,737,729),935=>array(-43,0,703,729),936=>array(88,0,803,729),937=>array(-34,0,723,738),938=>array(27,0,399,913),939=>array(63,0,676,913),940=>array(55,-12,645,800),941=>array(39,-14,561,800),942=>array(57,-208,619,800),943=>array(67,0,431,800),944=>array(59,0,566,978),945=>array(55,-12,645,559),946=>array(-1,-208,572,766),947=>array(74,-208,635,547),948=>array(38,-14,557,742),949=>array(39,-14,506,561),950=>array(49,-210,590,760),951=>array(57,-208,579,560),952=>array(55,-11,557,768),953=>array(67,0,265,547),954=>array(40,0,584,547),955=>array(-44,0,488,760),956=>array(-13,-208,592,547),957=>array(89,0,526,547),958=>array(38,-210,563,760),959=>array(46,-14,566,560),960=>array(55,-19,615,547),961=>array(16,-208,599,560),962=>array(74,-210,556,560),963=>array(57,-14,659,547),964=>array(84,0,606,547),965=>array(59,0,533,547),966=>array(74,-208,622,551),967=>array(-44,-208,622,547),968=>array(66,-208,675,547),969=>array(68,-14,771,547),970=>array(74,0,391,758),971=>array(59,0,533,758),972=>array(46,-14,583,800),973=>array(59,0,539,800),974=>array(68,-14,771,800),975=>array(47,-208,742,729),976=>array(81,-11,534,768),977=>array(65,-11,557,768),978=>array(97,0,701,729),979=>array(56,0,865,800),980=>array(97,0,701,913),981=>array(54,-208,602,760),982=>array(68,-14,858,547),983=>array(28,-188,665,547),984=>array(75,-207,750,742),985=>array(74,-208,576,560),986=>array(88,-210,675,729),987=>array(76,-210,613,547),988=>array(27,0,587,729),989=>array(-184,-208,500,760),990=>array(64,-2,639,729),991=>array(87,0,576,759),992=>array(109,-208,779,742),993=>array(21,-180,508,559),994=>array(36,-213,884,729),995=>array(86,-208,790,547),996=>array(43,-208,730,742),997=>array(44,-208,619,560),998=>array(27,-213,719,729),999=>array(-21,-14,620,575),1000=>array(-34,-208,660,745),1001=>array(-11,-208,569,560),1002=>array(-15,0,785,742),1003=>array(-29,0,649,560),1004=>array(33,-14,715,758),1005=>array(46,-14,584,758),1006=>array(31,-208,625,729),1007=>array(53,-208,561,726),1008=>array(9,-3,646,547),1009=>array(84,-208,599,560),1010=>array(46,-14,536,560),1011=>array(-113,-208,277,760),1012=>array(40,-14,747,742),1013=>array(55,-14,532,560),1014=>array(43,-14,521,560),1015=>array(27,0,577,729),1016=>array(-3,-208,589,760),1017=>array(42,-14,695,742),1018=>array(27,0,836,729),1019=>array(-11,-208,661,547),1020=>array(-22,-208,599,560),1021=>array(63,-14,715,742),1022=>array(42,-14,695,742),1023=>array(63,-14,715,742),1024=>array(27,0,630,927),1025=>array(27,0,630,913),1026=>array(71,-200,704,729),1027=>array(27,0,623,927),1028=>array(45,-14,704,742),1029=>array(6,-14,603,742),1030=>array(27,0,268,729),1031=>array(27,0,386,913),1032=>array(-164,-200,266,729),1033=>array(-30,0,1000,729),1034=>array(27,0,951,729),1035=>array(52,0,685,729),1036=>array(27,0,747,927),1037=>array(27,0,721,927),1038=>array(24,0,663,928),1039=>array(42,-157,740,729),1040=>array(-53,0,615,729),1041=>array(27,0,635,729),1042=>array(27,0,625,729),1043=>array(27,0,623,729),1044=>array(-37,-157,735,729),1045=>array(27,0,630,729),1046=>array(-51,0,1111,729),1047=>array(1,-14,595,742),1048=>array(27,0,721,729),1049=>array(27,0,721,928),1050=>array(27,0,747,729),1051=>array(-30,0,724,729),1052=>array(27,0,836,729),1053=>array(27,0,725,729),1054=>array(40,-14,747,742),1055=>array(27,0,725,729),1056=>array(27,0,601,729),1057=>array(42,-14,695,742),1058=>array(43,0,676,729),1059=>array(24,0,663,729),1060=>array(54,0,811,729),1061=>array(-43,0,703,729),1062=>array(42,-157,740,729),1063=>array(109,0,658,729),1064=>array(27,0,1042,729),1065=>array(42,-157,1057,729),1066=>array(84,0,738,729),1067=>array(27,0,855,729),1068=>array(27,0,592,729),1069=>array(-6,-14,642,742),1070=>array(32,-14,1034,742),1071=>array(-4,0,667,729),1072=>array(41,-14,547,560),1073=>array(31,-14,584,777),1074=>array(38,0,534,547),1075=>array(38,0,530,547),1076=>array(-14,-138,634,547),1077=>array(46,-14,571,560),1078=>array(-19,0,892,547),1079=>array(14,-14,488,561),1080=>array(38,0,612,547),1081=>array(38,0,612,760),1082=>array(38,0,597,547),1083=>array(-16,0,609,547),1084=>array(38,0,717,547),1085=>array(38,0,616,547),1086=>array(46,-14,566,560),1087=>array(38,0,616,547),1088=>array(-3,-208,589,560),1089=>array(46,-14,536,560),1090=>array(68,0,606,547),1091=>array(-25,-208,603,547),1092=>array(46,-208,813,729),1093=>array(-26,0,600,547),1094=>array(51,-138,629,547),1095=>array(94,0,553,547),1096=>array(38,0,877,547),1097=>array(51,-138,891,547),1098=>array(69,0,630,547),1099=>array(38,0,749,547),1100=>array(38,0,513,547),1101=>array(6,-14,496,560),1102=>array(41,-14,796,560),1103=>array(3,0,570,547),1104=>array(46,-14,571,802),1105=>array(46,-14,571,758),1106=>array(55,-208,552,760),1107=>array(38,0,587,803),1108=>array(47,-14,537,560),1109=>array(11,-14,500,560),1110=>array(35,0,273,760),1111=>array(35,0,382,758),1112=>array(-113,-208,277,760),1113=>array(-16,0,826,547),1114=>array(38,0,821,547),1115=>array(35,0,530,760),1116=>array(38,0,597,803),1117=>array(38,0,612,802),1118=>array(-25,-208,603,760),1119=>array(51,-138,629,547),1120=>array(36,-14,884,729),1121=>array(68,-14,771,547),1122=>array(49,0,688,729),1123=>array(36,0,578,729),1124=>array(32,-14,948,742),1125=>array(41,-14,737,560),1126=>array(-63,0,800,729),1127=>array(-28,0,705,547),1128=>array(27,0,1064,729),1129=>array(41,0,923,547),1130=>array(-15,0,784,729),1131=>array(-0,0,611,547),1132=>array(27,0,1023,729),1133=>array(39,0,823,547),1134=>array(-29,-208,582,935),1135=>array(-23,-193,518,753),1136=>array(73,0,910,729),1137=>array(77,-208,905,765),1138=>array(40,-14,747,742),1139=>array(55,-14,557,560),1140=>array(78,0,840,742),1141=>array(75,0,692,560),1142=>array(78,0,840,930),1143=>array(75,0,692,800),1144=>array(62,-208,1017,742),1145=>array(66,-208,946,560),1146=>array(47,-14,905,742),1147=>array(46,-14,708,560),1148=>array(35,-14,1121,932),1149=>array(61,-14,958,758),1150=>array(36,-14,884,900),1151=>array(68,-14,771,734),1152=>array(46,-208,704,742),1153=>array(46,-208,534,560),1154=>array(22,-44,484,457),1155=>array(-525,608,-86,810),1156=>array(-385,645,-8,788),1157=>array(-315,595,-179,797),1158=>array(-328,595,-170,797),1159=>array(-790,606,-0,788),1160=>array(-1016,-180,415,922),1161=>array(-936,-280,354,1022),1162=>array(27,-208,721,928),1163=>array(39,-208,613,760),1164=>array(27,0,592,729),1165=>array(39,0,514,702),1166=>array(27,0,604,729),1167=>array(-3,-208,580,560),1168=>array(13,0,637,878),1169=>array(23,0,544,700),1170=>array(26,0,688,729),1171=>array(21,0,595,547),1172=>array(27,-200,623,729),1173=>array(35,-208,527,547),1174=>array(-36,-157,1126,729),1175=>array(-5,-138,905,547),1176=>array(1,-193,595,742),1177=>array(14,-193,488,561),1178=>array(42,-157,762,729),1179=>array(51,-138,610,547),1180=>array(27,0,747,729),1181=>array(38,0,597,547),1182=>array(27,0,747,729),1183=>array(17,0,576,760),1184=>array(79,0,893,729),1185=>array(59,0,715,547),1186=>array(42,-157,740,729),1187=>array(54,-138,633,547),1188=>array(27,0,1080,729),1189=>array(39,0,913,547),1190=>array(27,-200,1031,729),1191=>array(39,-208,860,547),1192=>array(45,-14,815,743),1193=>array(44,-14,644,560),1194=>array(42,-193,695,742),1195=>array(46,-193,536,560),1196=>array(67,-157,700,729),1197=>array(53,-138,593,547),1198=>array(63,0,676,729),1199=>array(72,-208,603,547),1200=>array(69,0,684,729),1201=>array(62,-208,635,547),1202=>array(-26,-157,725,729),1203=>array(-11,-138,616,547),1204=>array(67,-157,898,729),1205=>array(53,-138,759,547),1206=>array(142,-157,674,729),1207=>array(117,-138,567,547),1208=>array(127,0,659,729),1209=>array(102,0,551,547),1210=>array(119,0,667,729),1211=>array(35,0,566,760),1212=>array(41,-14,894,742),1213=>array(31,-14,687,560),1214=>array(41,-184,894,742),1215=>array(31,-161,687,560),1216=>array(27,0,268,729),1217=>array(-51,0,1111,928),1218=>array(-19,0,892,785),1219=>array(27,-200,721,729),1220=>array(38,-208,617,547),1221=>array(-46,-208,726,729),1222=>array(-36,-208,607,547),1223=>array(27,-200,725,729),1224=>array(39,-208,617,547),1225=>array(27,-208,725,729),1226=>array(39,-208,617,547),1227=>array(142,-157,674,729),1228=>array(117,-138,567,547),1229=>array(27,-208,836,729),1230=>array(39,-208,711,547),1231=>array(35,0,273,760),1232=>array(-53,0,624,926),1233=>array(41,-14,562,761),1234=>array(-53,0,615,913),1235=>array(41,-14,547,758),1236=>array(-45,0,994,729),1237=>array(41,-14,951,560),1238=>array(27,0,630,928),1239=>array(46,-14,571,785),1240=>array(51,-14,750,742),1241=>array(51,-14,563,560),1242=>array(51,-14,750,913),1243=>array(51,-14,563,758),1244=>array(-51,0,1111,913),1245=>array(-19,0,892,758),1246=>array(1,-14,595,913),1247=>array(14,-14,488,758),1248=>array(23,-31,652,729),1249=>array(-24,-213,554,547),1250=>array(27,0,721,899),1251=>array(38,0,612,745),1252=>array(27,0,721,913),1253=>array(38,0,612,758),1254=>array(40,-14,747,913),1255=>array(46,-14,566,758),1256=>array(40,-14,747,742),1257=>array(55,-14,557,560),1258=>array(40,-14,747,913),1259=>array(55,-14,557,758),1260=>array(-6,-14,642,913),1261=>array(6,-14,496,758),1262=>array(24,0,663,899),1263=>array(-25,-208,603,745),1264=>array(24,0,663,913),1265=>array(-25,-208,603,758),1266=>array(24,0,701,927),1267=>array(-25,-208,603,800),1268=>array(109,0,658,913),1269=>array(94,0,553,758),1270=>array(42,-157,638,729),1271=>array(51,-138,543,547),1272=>array(27,0,855,913),1273=>array(38,0,749,758),1274=>array(47,-208,708,729),1275=>array(42,-208,615,547),1276=>array(-21,-200,729,729),1277=>array(-4,-208,622,547),1278=>array(-41,0,709,729),1279=>array(-24,0,602,547),1280=>array(35,0,658,729),1281=>array(27,0,545,547),1282=>array(36,-14,943,729),1283=>array(26,-14,824,547),1284=>array(148,-14,912,742),1285=>array(116,-14,802,561),1286=>array(148,-208,599,742),1287=>array(116,-208,523,561),1288=>array(-48,-14,1009,729),1289=>array(-36,-14,884,547),1290=>array(29,-14,1059,729),1291=>array(39,-14,894,547),1292=>array(45,-14,734,742),1293=>array(47,-14,568,560),1294=>array(51,-14,710,729),1295=>array(37,-14,638,547),1296=>array(121,-14,676,742),1297=>array(39,-14,506,561),1298=>array(-10,-200,744,729),1299=>array(4,-208,629,547),1300=>array(-10,0,1213,729),1301=>array(-16,0,1005,547),1302=>array(27,0,918,729),1303=>array(-3,-208,875,560),1304=>array(-4,0,1029,729),1305=>array(3,-14,945,560),1306=>array(41,-129,747,742),1307=>array(46,-206,597,560),1308=>array(96,0,1020,729),1309=>array(85,0,819,547),1310=>array(27,0,747,729),1311=>array(38,0,597,547),1312=>array(-30,-200,1031,729),1313=>array(-16,-208,852,547),1314=>array(27,-200,1031,729),1315=>array(38,-208,859,547),1316=>array(42,-157,740,729),1317=>array(51,-138,629,547),1329=>array(69,-29,715,729),1330=>array(16,0,662,743),1331=>array(66,0,717,743),1332=>array(56,0,712,743),1333=>array(69,-14,685,729),1334=>array(32,0,710,744),1335=>array(21,0,650,729),1336=>array(16,0,662,743),1337=>array(16,-14,847,743),1338=>array(23,-14,764,729),1339=>array(21,0,637,729),1340=>array(21,0,479,729),1341=>array(21,-14,884,729),1342=>array(111,-13,827,742),1343=>array(99,0,680,729),1344=>array(7,-26,671,729),1345=>array(43,-23,706,744),1346=>array(61,0,674,743),1347=>array(-2,0,715,735),1348=>array(69,-14,837,729),1349=>array(42,-14,659,743),1350=>array(53,-14,667,729),1351=>array(61,-15,709,729),1352=>array(16,0,662,743),1353=>array(70,-28,682,744),1354=>array(56,0,730,743),1355=>array(25,0,705,744),1356=>array(16,0,755,743),1357=>array(58,-14,713,729),1358=>array(61,0,677,729),1359=>array(44,-14,645,741),1360=>array(16,0,662,743),1361=>array(49,-14,666,743),1362=>array(21,0,572,729),1363=>array(56,0,752,729),1364=>array(-33,0,703,743),1365=>array(40,-14,747,742),1366=>array(31,-13,724,729),1369=>array(138,492,297,760),1370=>array(112,499,300,729),1371=>array(71,620,341,803),1372=>array(51,618,458,893),1373=>array(106,617,305,800),1374=>array(52,613,470,866),1375=>array(92,618,522,760),1377=>array(64,-14,934,547),1378=>array(-5,-208,557,560),1379=>array(52,-208,607,560),1380=>array(35,-208,613,560),1381=>array(71,-14,598,760),1382=>array(45,-208,594,560),1383=>array(35,0,541,760),1384=>array(-5,-208,557,560),1385=>array(-5,-208,735,560),1386=>array(46,-14,698,760),1387=>array(-5,-208,557,760),1388=>array(-5,-208,231,547),1389=>array(-5,-208,939,760),1390=>array(45,-14,605,760),1391=>array(71,-208,593,760),1392=>array(35,0,566,760),1393=>array(31,-15,516,760),1394=>array(35,-208,572,560),1395=>array(52,-14,625,768),1396=>array(71,-14,739,760),1397=>array(-116,-208,232,547),1398=>array(58,-14,593,760),1399=>array(-80,-208,448,560),1400=>array(35,0,566,560),1401=>array(-73,-208,339,547),1402=>array(64,-208,934,547),1403=>array(-22,-208,508,561),1404=>array(35,0,589,560),1405=>array(57,-14,589,547),1406=>array(71,-208,635,760),1407=>array(71,-14,897,560),1408=>array(-5,-208,557,560),1409=>array(31,-208,595,560),1410=>array(35,0,409,547),1411=>array(71,-208,897,760),1412=>array(-67,-208,583,560),1413=>array(45,-14,565,560),1414=>array(33,-208,765,760),1415=>array(71,-14,771,760),1417=>array(46,0,229,415),1418=>array(23,212,301,314),1456=>array(264,-217,375,-22),1457=>array(88,-217,458,-22),1458=>array(129,-217,473,-22),1459=>array(129,-217,473,-22),1460=>array(276,-159,364,-85),1461=>array(215,-159,425,-85),1462=>array(227,-217,437,-22),1463=>array(166,-159,474,-85),1464=>array(173,-193,481,-46),1465=>array(-7,625,81,698),1466=>array(-7,625,81,698),1467=>array(154,-237,458,-17),1468=>array(281,237,369,310),1469=>array(264,-217,375,-22),1470=>array(41,472,320,552),1471=>array(166,625,474,698),1472=>array(30,-98,265,645),1473=>array(697,625,785,698),1474=>array(162,625,250,698),1475=>array(49,0,246,547),1478=>array(-3,0,385,547),1479=>array(178,-217,485,-22),1488=>array(91,0,684,547),1489=>array(43,0,549,547),1490=>array(43,-5,383,547),1491=>array(135,0,618,547),1492=>array(101,0,617,547),1493=>array(91,0,288,547),1494=>array(99,0,410,547),1495=>array(91,0,620,547),1496=>array(141,-14,659,552),1497=>array(106,204,264,547),1498=>array(135,-208,509,547),1499=>array(43,0,534,547),1500=>array(135,0,599,729),1501=>array(91,0,640,547),1502=>array(75,0,646,555),1503=>array(50,-208,288,547),1504=>array(43,0,377,547),1505=>array(144,-14,647,547),1506=>array(29,-93,642,547),1507=>array(163,-208,606,547),1508=>array(91,0,623,547),1509=>array(149,-208,603,548),1510=>array(43,0,607,547),1511=>array(62,-208,740,546),1512=>array(135,0,538,547),1513=>array(118,0,772,547),1514=>array(10,-4,634,547),1520=>array(91,0,486,547),1521=>array(106,0,486,547),1522=>array(106,204,462,547),1523=>array(73,361,343,547),1524=>array(73,361,572,547),3647=>array(24,-138,575,769),3713=>array(27,-10,632,560),3714=>array(39,-17,648,568),3716=>array(46,-10,620,568),3719=>array(26,-238,443,568),3720=>array(68,-0,579,575),3722=>array(61,-234,676,568),3725=>array(30,-8,673,573),3732=>array(34,0,589,568),3733=>array(25,-15,589,579),3734=>array(85,-240,660,560),3735=>array(20,-8,631,571),3737=>array(-28,-8,629,568),3738=>array(11,-8,610,571),3739=>array(-7,-8,631,760),3740=>array(13,-8,768,614),3741=>array(46,-14,751,760),3742=>array(25,-8,688,561),3743=>array(6,-8,710,760),3745=>array(-8,-14,690,547),3746=>array(12,-8,694,760),3747=>array(41,-8,669,568),3749=>array(5,-8,604,568),3751=>array(26,-8,585,569),3754=>array(-6,-8,729,679),3755=>array(48,-12,789,575),3757=>array(27,-8,585,568),3758=>array(40,-8,739,605),3759=>array(133,-166,768,579),3760=>array(28,53,618,587),3761=>array(-576,639,-42,880),3762=>array(74,0,489,560),3763=>array(-357,0,489,820),3764=>array(-594,615,-73,926),3765=>array(-593,612,-18,926),3766=>array(-594,615,-73,926),3767=>array(-593,612,-18,926),3768=>array(-363,-350,-160,-38),3769=>array(-425,-306,-129,-40),3771=>array(-581,639,-44,880),3772=>array(-618,-284,9,-39),3773=>array(-4,-240,699,715),3776=>array(35,-14,373,560),3777=>array(35,-14,646,560),3778=>array(50,-5,417,896),3779=>array(101,-14,546,892),3780=>array(161,-11,438,886),3782=>array(28,-232,626,557),3784=>array(-380,632,-264,807),3785=>array(-572,609,-23,891),3786=>array(-595,598,23,869),3787=>array(-469,624,-175,904),3788=>array(-630,630,-2,875),3789=>array(-424,635,-219,820),3792=>array(66,-14,570,547),3793=>array(73,-75,601,576),3794=>array(17,-66,558,711),3795=>array(-56,-9,766,830),3796=>array(19,-83,560,711),3797=>array(19,-83,560,711),3798=>array(-6,-8,811,812),3799=>array(49,-240,654,560),3800=>array(82,-210,679,557),3801=>array(17,-4,675,571),3804=>array(48,-12,1001,575),3805=>array(48,-12,1027,575),4256=>array(128,-15,920,828),4257=>array(162,-0,718,828),4258=>array(176,-148,651,837),4259=>array(115,-15,893,828),4260=>array(162,0,652,837),4261=>array(159,0,821,837),4262=>array(174,-15,742,828),4263=>array(132,-15,992,837),4264=>array(167,0,543,874),4265=>array(134,0,639,828),4266=>array(119,-15,827,828),4267=>array(103,-15,932,828),4268=>array(49,0,672,828),4269=>array(124,-167,880,837),4270=>array(171,-15,880,837),4271=>array(169,0,727,828),4272=>array(89,-15,960,828),4273=>array(107,-15,609,828),4274=>array(48,-0,672,837),4275=>array(124,-182,880,837),4276=>array(146,0,914,834),4277=>array(127,0,781,828),4278=>array(46,-15,673,837),4279=>array(155,0,718,828),4280=>array(89,-15,723,828),4281=>array(49,0,616,828),4282=>array(133,-15,869,837),4283=>array(105,-15,917,828),4284=>array(48,-0,687,828),4285=>array(94,-15,639,837),4286=>array(48,-0,728,828),4287=>array(66,0,856,828),4288=>array(135,-15,892,828),4289=>array(49,0,627,828),4290=>array(99,-15,679,837),4291=>array(127,0,693,828),4292=>array(159,0,701,828),4293=>array(60,-15,827,837),4304=>array(79,-15,488,592),4305=>array(90,-14,510,837),4306=>array(33,-235,526,551),4307=>array(50,-230,806,547),4308=>array(28,-236,509,547),4309=>array(27,-236,521,547),4310=>array(80,-14,491,836),4311=>array(88,-14,797,547),4312=>array(94,0,514,547),4313=>array(21,-236,510,542),4314=>array(100,-230,1071,552),4315=>array(90,-15,585,837),4316=>array(97,-15,593,833),4317=>array(96,-0,784,547),4318=>array(80,-15,550,833),4319=>array(27,-236,561,551),4320=>array(95,0,793,833),4321=>array(100,-15,509,827),4322=>array(62,-236,627,680),4323=>array(31,-236,533,571),4324=>array(98,-236,822,547),4325=>array(27,-236,610,828),4326=>array(99,-230,791,546),4327=>array(27,-236,559,538),4328=>array(83,-15,589,837),4329=>array(49,0,524,837),4330=>array(62,-236,569,532),4331=>array(89,-14,620,828),4332=>array(98,-15,651,837),4333=>array(37,-236,569,827),4334=>array(104,-15,516,827),4335=>array(-16,-235,478,572),4336=>array(76,-15,564,837),4337=>array(92,-15,582,837),4338=>array(24,-141,501,547),4339=>array(27,-236,560,546),4340=>array(28,-236,575,837),4341=>array(68,-15,616,837),4342=>array(91,-236,820,547),4343=>array(26,-236,504,547),4344=>array(28,-236,500,538),4345=>array(85,-236,578,551),4346=>array(77,-77,516,547),4347=>array(37,-10,441,484),4348=>array(155,420,431,837),5121=>array(79,1,747,730),5122=>array(-63,0,605,1037),5123=>array(-63,0,605,729),5124=>array(-63,0,605,914),5125=>array(27,0,722,729),5126=>array(27,0,722,914),5127=>array(27,0,722,913),5129=>array(27,0,722,729),5130=>array(47,0,742,729),5131=>array(47,0,742,914),5132=>array(88,1,898,730),5133=>array(79,1,786,730),5134=>array(88,0,756,729),5135=>array(-63,0,786,729),5136=>array(88,0,756,914),5137=>array(-63,0,786,914),5138=>array(88,0,920,729),5139=>array(27,0,918,729),5140=>array(88,0,920,914),5141=>array(27,0,918,914),5142=>array(27,0,746,914),5143=>array(88,0,940,729),5144=>array(47,0,918,729),5145=>array(88,0,940,914),5146=>array(47,0,918,914),5147=>array(47,0,742,914),5149=>array(88,629,208,729),5150=>array(27,326,448,734),5151=>array(20,356,388,714),5152=>array(72,356,336,714),5153=>array(66,398,361,674),5154=>array(40,391,335,667),5155=>array(41,398,339,667),5156=>array(67,398,335,667),5157=>array(0,327,440,733),5158=>array(27,326,370,734),5159=>array(88,312,208,412),5160=>array(61,503,340,563),5161=>array(61,399,340,667),5162=>array(83,399,363,691),5163=>array(79,1,1002,730),5164=>array(-63,0,821,729),5165=>array(27,0,866,729),5166=>array(47,0,1029,729),5167=>array(78,0,742,729),5168=>array(-63,0,605,1037),5169=>array(-63,0,605,729),5170=>array(-63,0,605,914),5171=>array(-13,0,682,729),5172=>array(-13,0,682,914),5173=>array(-13,0,682,913),5175=>array(-13,0,682,729),5176=>array(47,0,742,729),5177=>array(47,0,742,914),5178=>array(88,0,893,729),5179=>array(78,0,786,729),5180=>array(88,0,756,729),5181=>array(-63,0,786,729),5182=>array(88,0,756,914),5183=>array(-63,0,786,914),5184=>array(88,0,880,729),5185=>array(-13,0,918,729),5186=>array(88,0,880,914),5187=>array(-13,0,918,914),5188=>array(88,0,940,729),5189=>array(47,0,918,729),5190=>array(88,0,940,914),5191=>array(47,0,918,914),5192=>array(47,0,742,913),5193=>array(61,326,493,734),5194=>array(27,326,177,734),5196=>array(71,-14,717,729),5197=>array(15,0,661,1037),5198=>array(15,0,661,743),5199=>array(15,0,661,914),5200=>array(-13,0,671,729),5201=>array(-13,0,671,914),5202=>array(-13,0,671,913),5204=>array(-13,0,671,729),5205=>array(59,0,743,729),5206=>array(59,0,743,914),5207=>array(88,-14,906,729),5208=>array(71,-14,840,729),5209=>array(88,0,850,743),5210=>array(15,0,840,743),5211=>array(88,0,850,914),5212=>array(15,0,840,914),5213=>array(88,0,869,729),5214=>array(-13,0,852,729),5215=>array(88,0,869,914),5216=>array(-13,0,852,914),5217=>array(88,0,960,729),5218=>array(59,0,852,729),5219=>array(88,0,960,914),5220=>array(59,0,852,914),5221=>array(57,0,960,729),5222=>array(67,326,419,734),5223=>array(71,-14,863,734),5224=>array(15,0,863,743),5225=>array(-13,0,851,734),5226=>array(59,0,875,734),5227=>array(62,0,557,743),5228=>array(26,0,622,1037),5229=>array(26,0,622,743),5230=>array(26,0,622,914),5231=>array(7,-14,603,729),5232=>array(7,-14,656,914),5233=>array(7,-14,751,913),5234=>array(71,-14,567,729),5235=>array(71,-14,567,914),5236=>array(88,0,789,743),5237=>array(62,0,722,743),5238=>array(88,0,808,743),5239=>array(26,0,768,743),5240=>array(88,0,808,914),5241=>array(26,0,768,914),5242=>array(88,-14,834,729),5243=>array(7,-14,722,729),5244=>array(88,-14,888,914),5245=>array(7,-14,722,914),5246=>array(88,-14,753,729),5247=>array(71,-14,768,729),5248=>array(88,-14,753,914),5249=>array(71,-14,768,914),5250=>array(57,-14,753,729),5251=>array(52,318,364,734),5252=>array(8,318,380,734),5253=>array(62,0,736,743),5254=>array(26,0,760,743),5255=>array(7,-14,736,734),5256=>array(71,-14,760,734),5257=>array(62,0,557,743),5258=>array(26,0,622,1037),5259=>array(26,0,622,743),5260=>array(26,0,622,914),5261=>array(7,-14,603,729),5262=>array(7,-14,656,914),5263=>array(7,-14,751,913),5264=>array(71,-14,567,729),5265=>array(71,-14,567,914),5266=>array(88,0,789,743),5267=>array(62,0,722,743),5268=>array(88,0,808,743),5269=>array(26,0,768,743),5270=>array(88,0,808,914),5271=>array(26,0,768,914),5272=>array(88,-14,834,729),5273=>array(7,-14,722,729),5274=>array(88,-14,888,914),5275=>array(7,-14,722,914),5276=>array(88,-14,753,729),5277=>array(71,-14,768,729),5278=>array(88,-14,753,914),5279=>array(71,-14,768,914),5280=>array(57,-14,753,729),5281=>array(52,318,364,734),5282=>array(48,318,420,734),5283=>array(113,0,583,729),5284=>array(27,0,623,1037),5285=>array(27,0,623,729),5286=>array(27,0,623,914),5287=>array(-13,0,583,729),5288=>array(-13,0,641,914),5289=>array(-13,0,736,913),5290=>array(27,0,497,729),5291=>array(27,0,497,914),5292=>array(88,0,722,729),5293=>array(113,0,720,729),5294=>array(88,0,812,729),5295=>array(27,0,715,729),5296=>array(88,0,812,914),5297=>array(27,0,715,914),5298=>array(88,0,722,729),5299=>array(-13,0,720,729),5300=>array(88,0,780,914),5301=>array(-13,0,720,914),5302=>array(88,0,686,729),5303=>array(27,0,715,729),5304=>array(88,0,686,914),5305=>array(27,0,715,914),5306=>array(57,0,686,729),5307=>array(27,326,301,734),5308=>array(61,326,493,734),5309=>array(27,326,371,734),5312=>array(85,-14,825,436),5313=>array(29,-14,837,755),5314=>array(29,-14,837,436),5315=>array(0,-14,809,636),5316=>array(14,0,823,450),5317=>array(14,0,823,636),5318=>array(14,0,823,635),5319=>array(26,0,766,450),5320=>array(26,0,766,636),5321=>array(88,-14,1043,436),5322=>array(85,-14,986,436),5323=>array(88,0,998,450),5324=>array(26,0,767,450),5325=>array(88,0,998,636),5326=>array(26,0,767,636),5327=>array(26,0,766,635),5328=>array(66,484,531,736),5329=>array(48,318,438,734),5330=>array(42,484,548,736),5331=>array(85,0,825,450),5332=>array(29,0,837,755),5333=>array(29,0,837,450),5334=>array(29,0,837,636),5335=>array(14,0,823,450),5336=>array(14,0,823,636),5337=>array(14,0,823,635),5338=>array(26,0,766,450),5339=>array(26,0,766,636),5340=>array(88,0,1043,450),5341=>array(85,0,986,450),5342=>array(88,0,1069,450),5343=>array(29,0,981,450),5344=>array(88,0,1069,636),5345=>array(29,0,981,636),5346=>array(88,0,1041,450),5347=>array(14,0,986,450),5348=>array(88,0,1041,636),5349=>array(14,0,986,636),5350=>array(88,0,998,450),5351=>array(26,0,981,450),5352=>array(88,0,998,636),5353=>array(26,0,981,636),5354=>array(67,484,531,736),5356=>array(16,0,742,729),5357=>array(95,0,507,729),5358=>array(27,0,774,1037),5359=>array(27,0,640,729),5360=>array(27,0,694,914),5361=>array(-37,0,576,729),5362=>array(-37,0,633,914),5363=>array(-37,0,728,913),5364=>array(96,0,508,729),5365=>array(96,0,508,914),5366=>array(88,0,738,729),5367=>array(95,0,706,729),5368=>array(88,0,829,729),5369=>array(27,0,723,729),5370=>array(88,0,883,914),5371=>array(27,0,723,914),5372=>array(88,0,807,729),5373=>array(-37,0,706,729),5374=>array(88,0,864,914),5375=>array(-37,0,706,914),5376=>array(88,0,697,729),5377=>array(96,0,723,729),5378=>array(88,0,697,914),5379=>array(96,0,723,914),5380=>array(57,0,697,729),5381=>array(65,326,332,734),5382=>array(33,318,377,741),5383=>array(27,326,403,734),5392=>array(63,-14,649,743),5393=>array(-6,-14,718,743),5394=>array(-6,-14,718,914),5395=>array(32,-14,860,464),5396=>array(32,-14,860,636),5397=>array(26,-14,865,464),5398=>array(26,-14,865,636),5399=>array(88,-14,847,743),5400=>array(63,-14,824,743),5401=>array(88,-14,916,743),5402=>array(-6,-14,824,743),5403=>array(88,-14,916,914),5404=>array(-6,-14,824,914),5405=>array(88,-14,1109,464),5406=>array(32,-14,1051,464),5407=>array(88,-14,1109,636),5408=>array(32,-14,1051,636),5409=>array(88,-14,1114,464),5410=>array(26,-14,1051,464),5411=>array(88,-14,1114,636),5412=>array(26,-14,1051,636),5413=>array(63,476,590,737),5414=>array(44,0,531,729),5415=>array(27,0,571,1037),5416=>array(27,0,571,729),5417=>array(27,0,571,914),5418=>array(56,0,600,729),5419=>array(56,0,660,914),5420=>array(56,0,755,913),5421=>array(96,0,583,729),5422=>array(96,0,583,914),5423=>array(88,0,749,729),5424=>array(44,0,732,729),5425=>array(88,0,760,729),5426=>array(27,0,770,729),5427=>array(88,0,760,914),5428=>array(27,0,770,914),5429=>array(88,0,817,729),5430=>array(56,0,732,729),5431=>array(88,0,877,914),5432=>array(56,0,732,914),5433=>array(88,0,771,729),5434=>array(96,0,770,729),5435=>array(88,0,771,914),5436=>array(96,0,770,914),5437=>array(57,0,771,729),5438=>array(65,326,372,734),5440=>array(61,399,340,667),5441=>array(27,326,460,734),5442=>array(100,-14,901,436),5443=>array(86,-14,861,436),5444=>array(-39,0,763,450),5445=>array(54,0,830,755),5446=>array(54,0,830,450),5447=>array(54,0,830,636),5448=>array(27,0,597,729),5449=>array(27,0,597,914),5450=>array(27,0,541,729),5451=>array(63,0,576,729),5452=>array(63,0,576,914),5453=>array(6,0,576,729),5454=>array(88,0,807,914),5455=>array(63,0,706,914),5456=>array(83,326,403,734),5458=>array(-13,0,713,729),5459=>array(114,0,746,744),5460=>array(23,-15,606,1037),5461=>array(23,-15,606,729),5462=>array(23,-15,606,914),5463=>array(-9,0,686,662),5464=>array(-9,0,686,914),5465=>array(54,0,731,662),5466=>array(54,0,731,914),5467=>array(88,0,929,914),5468=>array(54,0,918,914),5469=>array(64,326,483,685),5470=>array(60,-14,716,743),5471=>array(60,-14,695,743),5472=>array(37,-14,672,743),5473=>array(16,-14,672,743),5474=>array(37,-14,672,914),5475=>array(16,-14,672,914),5476=>array(-13,0,682,729),5477=>array(-13,0,682,914),5478=>array(48,0,738,729),5479=>array(48,0,738,914),5480=>array(88,0,955,914),5481=>array(48,0,852,914),5482=>array(61,326,493,734),5492=>array(55,0,758,743),5493=>array(44,0,830,743),5494=>array(44,0,830,914),5495=>array(0,-14,787,729),5496=>array(0,-14,787,914),5497=>array(72,-14,776,729),5498=>array(72,-14,776,914),5499=>array(76,318,497,734),5500=>array(27,0,725,729),5501=>array(27,326,460,734),5502=>array(83,0,1040,1037),5503=>array(83,0,1040,743),5504=>array(83,0,1040,914),5505=>array(83,-14,1021,734),5506=>array(83,-14,1075,914),5507=>array(83,-14,985,734),5508=>array(83,-14,985,914),5509=>array(83,318,783,734),5514=>array(61,0,759,743),5515=>array(44,0,831,743),5516=>array(0,-14,787,729),5517=>array(72,-14,770,729),5518=>array(83,0,1252,1037),5519=>array(83,0,1252,743),5520=>array(83,0,1252,914),5521=>array(83,-14,976,736),5522=>array(83,-14,1030,914),5523=>array(83,-14,1198,736),5524=>array(83,-14,1198,914),5525=>array(83,332,646,736),5526=>array(83,332,1020,736),5536=>array(12,0,822,692),5537=>array(12,0,822,692),5538=>array(-23,-242,787,450),5539=>array(-23,-242,787,636),5540=>array(56,-242,790,450),5541=>array(56,-242,790,636),5542=>array(81,338,545,736),5543=>array(44,0,593,729),5544=>array(-34,0,588,729),5545=>array(-34,0,588,914),5546=>array(55,0,677,729),5547=>array(55,0,677,914),5548=>array(50,0,599,729),5549=>array(50,0,599,914),5550=>array(23,326,372,734),5551=>array(29,-14,574,729),5598=>array(27,0,711,729),5601=>array(98,0,782,729),5702=>array(27,326,446,734),5703=>array(27,240,446,820),5742=>array(27,0,415,306),5743=>array(83,0,976,743),5744=>array(83,0,1238,743),5745=>array(83,0,1625,743),5746=>array(83,0,1625,914),5747=>array(83,-14,1349,736),5748=>array(83,-14,1403,914),5749=>array(83,-14,1571,736),5750=>array(83,-14,1571,914),7424=>array(-23,0,509,547),7425=>array(-48,0,716,547),7426=>array(56,-14,951,560),7427=>array(0,0,531,547),7428=>array(46,-14,536,560),7429=>array(38,0,550,547),7430=>array(12,0,550,547),7431=>array(38,0,490,547),7432=>array(31,-14,493,561),7433=>array(21,-213,258,547),7434=>array(-46,-14,365,547),7435=>array(38,0,617,547),7436=>array(-9,0,460,560),7437=>array(38,0,717,547),7438=>array(38,0,612,547),7439=>array(46,-14,566,560),7440=>array(2,-14,493,560),7441=>array(55,22,629,524),7442=>array(37,57,618,489),7443=>array(57,2,631,543),7444=>array(51,-14,970,560),7446=>array(27,273,529,560),7447=>array(83,-14,585,273),7448=>array(21,0,496,547),7449=>array(-29,0,561,547),7450=>array(78,0,561,547),7451=>array(68,0,606,547),7452=>array(78,-16,564,547),7453=>array(41,37,676,495),7454=>array(56,38,887,496),7455=>array(-55,-238,647,560),7456=>array(72,0,604,547),7457=>array(85,0,819,547),7458=>array(-3,0,543,547),7459=>array(18,-14,488,547),7462=>array(33,0,552,560),7463=>array(-23,0,509,547),7464=>array(21,0,543,547),7465=>array(21,0,496,547),7466=>array(69,0,599,547),7467=>array(-16,0,609,547),7468=>array(-35,326,386,734),7469=>array(-37,326,607,734),7470=>array(22,326,389,734),7472=>array(22,326,448,734),7473=>array(22,326,392,734),7474=>array(1,326,376,734),7475=>array(35,318,458,742),7476=>array(22,326,452,734),7477=>array(22,326,164,734),7478=>array(-83,214,175,734),7479=>array(22,326,450,734),7480=>array(22,326,317,734),7481=>array(22,326,521,734),7482=>array(22,326,449,734),7483=>array(22,326,449,734),7484=>array(35,318,460,742),7485=>array(18,318,413,742),7486=>array(22,326,375,734),7487=>array(22,326,380,734),7488=>array(29,326,426,734),7489=>array(45,318,447,734),7490=>array(61,326,642,734),7491=>array(25,318,333,640),7492=>array(33,318,341,640),7493=>array(35,318,373,640),7494=>array(35,318,598,640),7495=>array(17,318,354,751),7496=>array(24,318,385,751),7497=>array(34,318,356,640),7498=>array(32,318,354,640),7499=>array(29,318,315,640),7500=>array(23,318,309,640),7501=>array(38,209,383,640),7502=>array(18,207,158,632),7503=>array(16,326,374,751),7504=>array(27,326,565,640),7505=>array(38,209,363,640),7506=>array(35,318,351,640),7507=>array(7,318,307,640),7508=>array(19,479,335,640),7509=>array(50,318,367,479),7510=>array(15,209,376,640),7511=>array(31,326,253,719),7512=>array(48,318,373,632),7513=>array(29,347,423,604),7514=>array(52,319,590,633),7515=>array(48,326,384,632),7517=>array(6,209,356,755),7518=>array(42,209,395,632),7519=>array(25,318,347,742),7520=>array(46,209,391,635),7521=>array(-23,209,387,633),7522=>array(18,0,158,425),7523=>array(27,0,289,313),7524=>array(48,-8,373,306),7525=>array(48,0,384,306),7526=>array(6,-117,356,429),7527=>array(42,-117,395,306),7528=>array(6,-117,371,313),7529=>array(46,-117,391,309),7530=>array(-23,-117,387,307),7543=>array(19,-208,583,560),7544=>array(22,326,452,734),7547=>array(3,0,368,547),7549=>array(-3,-208,652,560),7557=>array(30,-208,332,760),7579=>array(5,318,343,640),7580=>array(35,318,334,640),7581=>array(38,287,338,640),7582=>array(22,318,353,751),7583=>array(13,318,304,640),7584=>array(25,326,275,751),7585=>array(-52,209,159,632),7586=>array(38,209,384,632),7587=>array(59,209,383,632),7588=>array(19,326,189,751),7589=>array(51,326,165,632),7590=>array(6,326,228,632),7591=>array(6,326,228,632),7592=>array(-124,209,169,751),7593=>array(28,209,169,751),7594=>array(-8,209,169,751),7595=>array(25,326,292,640),7596=>array(38,209,577,640),7597=>array(63,209,601,633),7598=>array(-53,209,365,640),7599=>array(38,209,383,640),7600=>array(25,326,376,640),7601=>array(35,318,351,640),7602=>array(34,210,351,751),7603=>array(14,209,317,640),7604=>array(-64,209,276,751),7605=>array(42,209,265,719),7606=>array(41,318,449,632),7607=>array(36,318,386,632),7608=>array(50,317,352,632),7609=>array(51,326,341,632),7610=>array(-11,326,324,632),7611=>array(-3,326,333,632),7612=>array(8,209,345,632),7613=>array(0,296,336,632),7614=>array(-11,207,344,632),7615=>array(35,320,351,756),7620=>array(-452,616,-61,800),7621=>array(-472,616,-28,800),7622=>array(-472,616,-28,800),7623=>array(-439,616,-48,800),7624=>array(-313,616,87,800),7625=>array(-348,616,123,800),7680=>array(-53,-241,615,729),7681=>array(41,-241,547,560),7682=>array(27,0,625,913),7683=>array(36,-14,587,915),7684=>array(27,-184,625,729),7685=>array(36,-184,587,760),7686=>array(27,-157,625,729),7687=>array(36,-157,587,760),7688=>array(42,-193,695,928),7689=>array(46,-193,536,800),7690=>array(27,0,722,914),7691=>array(46,-14,674,942),7692=>array(27,-184,722,729),7693=>array(46,-184,639,760),7694=>array(27,-156,722,729),7695=>array(46,-157,639,760),7696=>array(27,-193,722,729),7697=>array(44,-193,639,760),7698=>array(27,-240,722,729),7699=>array(34,-240,639,760),7700=>array(27,0,630,1044),7701=>array(46,-14,571,887),7702=>array(27,0,630,1044),7703=>array(46,-14,608,887),7704=>array(27,-213,630,729),7705=>array(46,-213,571,560),7706=>array(27,-193,630,729),7707=>array(46,-193,571,560),7708=>array(27,-193,630,928),7709=>array(46,-193,586,780),7710=>array(27,0,587,914),7711=>array(68,0,478,942),7712=>array(45,-14,725,899),7713=>array(32,-208,596,745),7714=>array(27,0,725,914),7715=>array(35,0,566,942),7716=>array(27,-184,725,729),7717=>array(35,-184,566,760),7718=>array(27,0,725,913),7719=>array(35,0,587,913),7720=>array(-79,-193,725,729),7721=>array(-77,-193,566,760),7722=>array(27,-222,725,729),7723=>array(35,-222,566,760),7724=>array(-110,-193,268,729),7725=>array(-127,-193,273,760),7726=>array(27,0,447,1044),7727=>array(35,0,437,883),7728=>array(27,0,722,928),7729=>array(35,0,612,928),7730=>array(27,-184,722,729),7731=>array(35,-184,612,760),7732=>array(27,-157,722,729),7733=>array(35,-157,612,760),7734=>array(27,-184,497,729),7735=>array(-2,-184,273,760),7736=>array(27,-184,497,927),7737=>array(-2,-184,411,899),7738=>array(27,-157,497,729),7739=>array(-92,-157,273,760),7740=>array(27,-240,497,729),7741=>array(-123,-240,273,760),7742=>array(27,0,836,928),7743=>array(35,0,906,800),7744=>array(27,0,836,914),7745=>array(35,0,906,760),7746=>array(27,-184,836,729),7747=>array(35,-184,906,560),7748=>array(27,0,721,913),7749=>array(35,0,566,760),7750=>array(27,-184,721,729),7751=>array(35,-184,566,560),7752=>array(27,-157,721,729),7753=>array(35,-157,566,560),7754=>array(27,-240,721,729),7755=>array(35,-240,566,560),7756=>array(40,-14,747,1044),7757=>array(46,-14,629,883),7758=>array(40,-14,747,1043),7759=>array(46,-14,583,885),7760=>array(40,-14,747,1044),7761=>array(46,-14,566,887),7762=>array(40,-14,747,1045),7763=>array(46,-14,600,886),7764=>array(27,0,601,928),7765=>array(-3,-208,589,800),7766=>array(27,0,601,914),7767=>array(-3,-208,589,760),7768=>array(27,0,600,914),7769=>array(35,0,463,760),7770=>array(27,-184,600,729),7771=>array(-2,-184,463,560),7772=>array(27,-184,600,899),7773=>array(-2,-184,504,745),7774=>array(27,-157,600,729),7775=>array(-93,-157,463,560),7776=>array(6,-14,603,914),7777=>array(11,-14,500,760),7778=>array(6,-184,603,742),7779=>array(11,-184,500,560),7780=>array(6,-14,648,928),7781=>array(11,-14,642,800),7782=>array(6,-14,659,1042),7783=>array(11,-14,571,858),7784=>array(6,-184,603,914),7785=>array(11,-184,500,760),7786=>array(43,0,676,914),7787=>array(64,0,423,942),7788=>array(43,-184,676,729),7789=>array(64,-184,423,702),7790=>array(43,-157,676,729),7791=>array(19,-156,423,702),7792=>array(23,-241,676,729),7793=>array(-10,-240,423,702),7794=>array(58,-183,713,729),7795=>array(57,-183,589,547),7796=>array(58,-193,713,729),7797=>array(28,-193,589,547),7798=>array(58,-213,713,729),7799=>array(57,-213,589,547),7800=>array(58,-14,713,1044),7801=>array(57,-14,619,883),7802=>array(58,-14,713,1025),7803=>array(57,-14,589,867),7804=>array(78,0,742,936),7805=>array(72,0,604,777),7806=>array(78,-182,742,729),7807=>array(72,-184,604,547),7808=>array(96,0,1020,931),7809=>array(85,0,819,802),7810=>array(96,0,1020,931),7811=>array(85,0,819,803),7812=>array(96,0,1020,913),7813=>array(85,0,819,758),7814=>array(96,0,1020,913),7815=>array(85,0,819,760),7816=>array(96,-184,1020,729),7817=>array(85,-184,819,547),7818=>array(-43,0,703,914),7819=>array(-26,0,600,760),7820=>array(-43,0,703,913),7821=>array(-26,0,600,758),7822=>array(63,0,676,914),7823=>array(-25,-208,603,760),7824=>array(-22,0,703,928),7825=>array(-3,0,543,800),7826=>array(-22,-184,703,729),7827=>array(-3,-184,543,547),7828=>array(-22,-157,703,729),7829=>array(-3,-157,543,547),7830=>array(35,-157,566,760),7831=>array(64,0,423,913),7832=>array(85,0,819,878),7833=>array(-25,-208,603,878),7834=>array(41,-14,777,760),7835=>array(68,0,478,942),7836=>array(-22,0,445,760),7837=>array(28,0,445,760),7838=>array(16,-14,682,743),7839=>array(38,-14,557,742),7840=>array(-53,-184,615,729),7841=>array(41,-184,547,560),7842=>array(-53,0,615,992),7843=>array(41,-14,555,810),7844=>array(-53,0,770,1028),7845=>array(41,-14,712,847),7846=>array(-53,0,615,1028),7847=>array(41,-14,547,847),7848=>array(-53,0,773,1044),7849=>array(41,-14,711,863),7850=>array(-53,0,641,1043),7851=>array(41,-14,580,862),7852=>array(-53,-184,615,928),7853=>array(41,-184,547,800),7854=>array(-53,0,649,1044),7855=>array(41,-14,594,868),7856=>array(-53,0,615,1044),7857=>array(41,-14,558,868),7858=>array(-53,0,615,1068),7859=>array(41,-14,552,895),7860=>array(-53,0,651,1043),7861=>array(41,-14,596,870),7862=>array(-53,-184,624,926),7863=>array(41,-184,562,761),7864=>array(27,-184,630,729),7865=>array(46,-184,571,560),7866=>array(27,0,630,992),7867=>array(46,-14,583,810),7868=>array(27,0,630,921),7869=>array(46,-14,571,777),7870=>array(27,0,760,1028),7871=>array(46,-14,741,847),7872=>array(27,0,630,1028),7873=>array(46,-14,571,847),7874=>array(27,0,764,1044),7875=>array(46,-14,746,863),7876=>array(27,0,631,1043),7877=>array(46,-14,614,862),7878=>array(27,-184,630,928),7879=>array(46,-184,571,800),7880=>array(27,0,368,992),7881=>array(35,0,336,810),7882=>array(-6,-184,268,729),7883=>array(-2,-184,273,760),7884=>array(40,-184,747,742),7885=>array(46,-184,566,560),7886=>array(40,-14,747,992),7887=>array(46,-14,575,810),7888=>array(40,-14,821,1028),7889=>array(46,-14,736,847),7890=>array(40,-14,747,1028),7891=>array(46,-14,566,847),7892=>array(40,-14,824,1044),7893=>array(46,-14,736,863),7894=>array(40,-14,747,1043),7895=>array(46,-14,604,862),7896=>array(40,-184,747,928),7897=>array(46,-184,566,800),7898=>array(34,-14,823,927),7899=>array(48,-14,657,800),7900=>array(34,-14,823,927),7901=>array(48,-14,657,800),7902=>array(34,-14,823,991),7903=>array(48,-14,657,810),7904=>array(34,-14,823,921),7905=>array(48,-14,657,777),7906=>array(34,-184,823,761),7907=>array(48,-184,657,609),7908=>array(58,-184,713,729),7909=>array(57,-184,589,547),7910=>array(58,-14,713,992),7911=>array(57,-14,589,810),7912=>array(56,-4,854,927),7913=>array(58,-14,720,800),7914=>array(56,-4,854,927),7915=>array(58,-14,720,800),7916=>array(56,-4,854,992),7917=>array(58,-14,720,810),7918=>array(56,-4,854,921),7919=>array(58,-14,720,777),7920=>array(56,-184,854,761),7921=>array(58,-184,720,615),7922=>array(63,0,676,931),7923=>array(-25,-208,603,802),7924=>array(63,-184,676,729),7925=>array(-25,-208,603,547),7926=>array(63,0,676,996),7927=>array(-25,-208,603,813),7928=>array(63,0,676,921),7929=>array(-25,-208,603,777),7930=>array(27,0,709,729),7931=>array(21,0,522,760),7936=>array(55,-12,645,797),7937=>array(55,-12,645,797),7938=>array(55,-12,645,800),7939=>array(55,-12,645,800),7940=>array(55,-12,645,800),7941=>array(55,-12,646,800),7942=>array(55,-12,645,928),7943=>array(55,-12,645,928),7944=>array(-53,0,615,797),7945=>array(-53,0,615,797),7946=>array(51,0,809,800),7947=>array(79,0,809,800),7948=>array(32,0,700,800),7949=>array(64,0,732,800),7950=>array(-29,0,639,928),7951=>array(5,0,674,928),7952=>array(39,-14,506,797),7953=>array(39,-14,506,797),7954=>array(39,-14,533,800),7955=>array(39,-14,532,800),7956=>array(39,-14,593,800),7957=>array(39,-14,608,800),7960=>array(52,0,709,797),7961=>array(79,0,709,797),7962=>array(51,0,964,800),7963=>array(79,0,973,800),7964=>array(52,0,896,800),7965=>array(78,0,926,800),7968=>array(57,-208,579,797),7969=>array(57,-208,579,797),7970=>array(57,-208,580,800),7971=>array(57,-208,579,800),7972=>array(57,-208,619,800),7973=>array(57,-208,653,800),7974=>array(57,-208,622,928),7975=>array(57,-208,611,928),7976=>array(52,0,810,797),7977=>array(79,0,809,797),7978=>array(51,0,1059,800),7979=>array(79,0,1062,800),7980=>array(52,0,1000,800),7981=>array(78,0,1024,800),7982=>array(111,0,907,928),7983=>array(109,0,920,928),7984=>array(67,0,282,797),7985=>array(67,0,279,797),7986=>array(10,0,412,800),7987=>array(42,0,418,800),7988=>array(51,0,469,800),7989=>array(53,0,473,800),7990=>array(67,0,431,928),7991=>array(67,0,428,928),7992=>array(52,0,353,797),7993=>array(79,0,347,797),7994=>array(51,0,608,800),7995=>array(79,0,608,800),7996=>array(52,0,543,800),7997=>array(78,0,573,800),7998=>array(111,0,463,928),7999=>array(109,0,466,928),8000=>array(46,-14,566,797),8001=>array(46,-14,566,797),8002=>array(46,-14,567,800),8003=>array(46,-14,566,800),8004=>array(46,-14,621,800),8005=>array(46,-14,639,800),8008=>array(52,-14,764,797),8009=>array(79,-14,808,797),8010=>array(51,-14,1055,800),8011=>array(79,-14,1060,800),8012=>array(52,-14,898,800),8013=>array(78,-14,930,800),8016=>array(59,0,533,797),8017=>array(59,0,533,797),8018=>array(59,0,537,800),8019=>array(59,0,533,800),8020=>array(59,0,601,800),8021=>array(59,0,611,800),8022=>array(59,0,573,928),8023=>array(59,0,557,928),8025=>array(79,0,849,797),8027=>array(79,0,1063,800),8029=>array(78,0,1077,800),8031=>array(109,0,963,928),8032=>array(68,-14,771,797),8033=>array(68,-14,771,797),8034=>array(68,-14,771,800),8035=>array(68,-14,771,800),8036=>array(68,-14,771,800),8037=>array(68,-14,771,800),8038=>array(68,-14,771,928),8039=>array(68,-14,771,928),8040=>array(4,0,761,797),8041=>array(45,0,802,797),8042=>array(51,0,1048,800),8043=>array(79,0,1054,800),8044=>array(52,0,904,800),8045=>array(78,0,931,800),8046=>array(111,0,880,928),8047=>array(109,0,911,928),8048=>array(55,-12,645,800),8049=>array(55,-12,645,800),8050=>array(39,-14,506,800),8051=>array(39,-14,561,800),8052=>array(57,-208,579,800),8053=>array(57,-208,619,800),8054=>array(51,0,265,800),8055=>array(67,0,431,800),8056=>array(46,-14,566,800),8057=>array(46,-14,583,800),8058=>array(59,0,533,800),8059=>array(59,0,539,800),8060=>array(68,-14,771,800),8061=>array(68,-14,771,800),8064=>array(55,-208,645,797),8065=>array(55,-208,645,797),8066=>array(55,-208,645,800),8067=>array(55,-208,645,800),8068=>array(55,-208,645,800),8069=>array(55,-208,646,800),8070=>array(55,-208,645,928),8071=>array(55,-208,645,928),8072=>array(-53,-208,615,797),8073=>array(-53,-208,615,797),8074=>array(51,-208,809,800),8075=>array(79,-208,809,800),8076=>array(32,-208,700,800),8077=>array(64,-208,732,800),8078=>array(-29,-208,639,928),8079=>array(5,-208,674,928),8080=>array(39,-208,579,797),8081=>array(39,-208,579,797),8082=>array(39,-208,580,800),8083=>array(39,-208,579,800),8084=>array(39,-208,619,800),8085=>array(39,-208,653,800),8086=>array(39,-208,622,928),8087=>array(39,-208,611,928),8088=>array(52,-208,810,797),8089=>array(79,-208,809,797),8090=>array(51,-208,1059,800),8091=>array(79,-208,1062,800),8092=>array(52,-208,1000,800),8093=>array(78,-208,1024,800),8094=>array(111,-208,907,928),8095=>array(109,-208,920,928),8096=>array(68,-208,771,797),8097=>array(68,-208,771,797),8098=>array(68,-208,771,800),8099=>array(68,-208,771,800),8100=>array(68,-208,771,800),8101=>array(68,-208,771,800),8102=>array(68,-208,771,928),8103=>array(68,-208,771,928),8104=>array(4,-208,761,797),8105=>array(45,-208,802,797),8106=>array(51,-208,1048,800),8107=>array(79,-208,1054,800),8108=>array(52,-208,904,800),8109=>array(78,-208,931,800),8110=>array(111,-208,880,928),8111=>array(109,-208,911,928),8112=>array(55,-12,645,785),8113=>array(55,-12,645,745),8114=>array(55,-208,645,800),8115=>array(55,-208,645,559),8116=>array(55,-208,645,800),8118=>array(55,-12,645,777),8119=>array(55,-208,645,777),8120=>array(-53,0,615,928),8121=>array(-53,0,615,899),8122=>array(-21,0,647,800),8123=>array(-53,0,615,800),8124=>array(-53,-208,615,729),8125=>array(239,595,397,797),8126=>array(136,-208,240,-45),8127=>array(239,595,397,797),8128=>array(164,639,513,777),8129=>array(184,659,545,928),8130=>array(39,-208,579,800),8131=>array(39,-208,579,560),8132=>array(39,-208,619,800),8134=>array(57,-208,583,777),8135=>array(39,-208,583,777),8136=>array(105,0,803,800),8137=>array(59,0,765,800),8138=>array(105,0,904,800),8139=>array(64,0,869,800),8140=>array(27,-208,725,729),8141=>array(116,595,518,800),8142=>array(137,595,554,800),8143=>array(196,595,545,928),8144=>array(67,0,399,785),8145=>array(67,0,374,745),8146=>array(67,0,391,978),8147=>array(74,0,450,978),8150=>array(62,0,411,777),8151=>array(67,0,444,928),8152=>array(27,0,394,928),8153=>array(27,0,391,899),8154=>array(105,0,448,800),8155=>array(62,0,409,800),8157=>array(137,595,514,800),8158=>array(148,595,568,800),8159=>array(196,595,545,928),8160=>array(59,0,533,785),8161=>array(59,0,533,745),8162=>array(59,0,533,978),8163=>array(59,0,566,978),8164=>array(16,-208,599,797),8165=>array(16,-208,599,797),8166=>array(59,0,533,777),8167=>array(59,0,558,928),8168=>array(63,0,676,928),8169=>array(63,0,676,899),8170=>array(105,0,910,800),8171=>array(56,0,919,800),8172=>array(79,0,683,797),8173=>array(184,659,493,978),8174=>array(184,659,553,978),8175=>array(190,617,388,800),8178=>array(68,-208,771,800),8179=>array(68,-208,771,547),8180=>array(68,-208,771,800),8182=>array(68,-14,771,777),8183=>array(68,-208,771,777),8184=>array(105,-14,901,800),8185=>array(64,-14,793,800),8186=>array(105,0,881,800),8187=>array(53,0,828,800),8188=>array(-34,-208,723,738),8189=>array(252,616,522,800),8190=>array(266,595,398,797),8208=>array(45,234,324,314),8209=>array(45,234,324,314),8210=>array(42,239,594,309),8211=>array(42,239,458,309),8212=>array(42,239,958,309),8213=>array(-7,239,1007,309),8214=>array(127,-236,371,764),8215=>array(-10,-236,510,-9),8216=>array(131,489,321,729),8217=>array(135,489,325,729),8218=>array(3,-116,193,124),8219=>array(165,489,287,729),8220=>array(131,489,521,729),8221=>array(135,489,525,729),8222=>array(3,-116,393,124),8223=>array(92,489,412,729),8224=>array(42,-96,501,729),8225=>array(-17,-96,508,729),8226=>array(150,227,440,516),8227=>array(150,188,479,555),8228=>array(65,0,192,124),8229=>array(65,0,525,124),8230=>array(65,0,859,124),8231=>array(99,302,226,426),8240=>array(91,-14,1259,742),8241=>array(91,-14,1659,742),8242=>array(2,547,221,729),8243=>array(2,547,367,729),8244=>array(2,547,514,729),8245=>array(90,547,238,729),8246=>array(90,547,385,729),8247=>array(90,547,531,729),8248=>array(5,-236,333,-30),8249=>array(62,69,338,517),8250=>array(62,69,338,517),8251=>array(114,0,717,596),8252=>array(0,0,483,729),8253=>array(115,0,500,742),8254=>array(-10,686,510,755),8255=>array(-43,-237,847,-60),8256=>array(-43,752,847,929),8257=>array(-42,-236,286,229),8258=>array(30,-29,970,814),8259=>array(97,313,411,421),8260=>array(-262,-14,428,742),8261=>array(40,-132,420,760),8262=>array(-39,-132,342,760),8263=>array(87,0,937,742),8264=>array(123,0,731,742),8265=>array(0,0,711,742),8266=>array(98,-123,513,545),8267=>array(54,-96,633,729),8268=>array(112,227,387,516),8269=>array(112,227,387,516),8270=>array(30,-29,470,427),8271=>array(96,-116,287,517),8272=>array(-43,-237,847,929),8273=>array(30,-7,470,876),8274=>array(-9,-93,491,729),8275=>array(49,228,951,399),8276=>array(-43,-237,847,-60),8277=>array(160,98,708,631),8278=>array(129,149,523,589),8279=>array(2,547,660,729),8280=>array(182,125,688,613),8281=>array(154,120,726,608),8282=>array(51,0,296,729),8283=>array(52,-138,776,867),8284=>array(63,0,806,729),8285=>array(59,39,282,655),8286=>array(53,8,287,683),8304=>array(42,319,367,742),8305=>array(18,326,158,751),8308=>array(41,326,390,734),8309=>array(13,319,359,734),8310=>array(45,319,376,742),8311=>array(78,326,394,734),8312=>array(26,319,375,742),8313=>array(33,319,364,742),8314=>array(67,326,461,677),8315=>array(67,479,461,525),8316=>array(67,422,461,581),8317=>array(55,252,246,751),8318=>array(7,252,198,751),8319=>array(26,326,352,640),8320=>array(42,-7,367,416),8321=>array(66,0,347,408),8322=>array(36,0,385,416),8323=>array(16,-7,368,416),8324=>array(41,0,390,408),8325=>array(13,-7,359,408),8326=>array(45,-7,376,416),8327=>array(78,0,394,408),8328=>array(26,-7,375,416),8329=>array(33,-7,364,416),8330=>array(67,0,461,351),8331=>array(67,152,461,199),8332=>array(67,96,461,254),8333=>array(55,-74,246,425),8334=>array(7,-74,198,425),8336=>array(25,-8,333,313),8337=>array(34,-8,356,313),8338=>array(35,-8,351,313),8339=>array(27,0,415,306),8340=>array(32,-8,354,313),8341=>array(16,0,340,425),8342=>array(16,0,374,425),8343=>array(16,0,155,425),8344=>array(27,0,565,313),8345=>array(26,0,352,314),8346=>array(15,-117,376,313),8347=>array(30,0,330,322),8348=>array(31,0,253,393),8352=>array(58,0,864,729),8353=>array(42,-44,636,778),8354=>array(42,-14,636,742),8355=>array(32,0,657,729),8356=>array(24,0,637,742),8357=>array(38,-93,900,640),8358=>array(38,0,710,729),8359=>array(27,-14,1250,729),8360=>array(28,-14,1029,729),8361=>array(43,0,1027,729),8362=>array(-24,-14,826,729),8363=>array(46,-157,701,760),8364=>array(-19,-14,607,742),8365=>array(19,0,682,729),8366=>array(64,0,698,729),8367=>array(47,-222,1178,742),8368=>array(9,-14,578,742),8369=>array(27,0,655,729),8370=>array(32,-81,630,809),8371=>array(-63,0,632,729),8372=>array(38,-14,736,742),8373=>array(84,-147,611,760),8376=>array(37,0,697,729),8377=>array(56,0,656,729),8378=>array(-20,2,649,731),8400=>array(-503,635,-28,760),8401=>array(-482,635,-17,760),8406=>array(-470,560,-21,760),8407=>array(-475,560,-26,760),8411=>array(-360,659,140,758),8412=>array(-456,659,235,758),8417=>array(-470,560,-26,760),8448=>array(17,-24,939,752),8449=>array(17,-24,939,752),8450=>array(56,-14,644,742),8451=>array(95,-14,1104,742),8452=>array(114,0,771,729),8453=>array(22,-24,924,752),8454=>array(22,-24,989,752),8455=>array(121,-14,676,742),8456=>array(-6,-146,642,611),8457=>array(95,0,916,742),8459=>array(36,-14,943,748),8460=>array(1,-128,693,731),8461=>array(98,0,751,729),8462=>array(35,0,566,760),8463=>array(44,0,566,760),8464=>array(29,-15,432,742),8465=>array(52,-14,659,742),8466=>array(33,-14,679,743),8467=>array(-14,-14,353,742),8468=>array(22,-14,762,760),8469=>array(97,0,704,729),8470=>array(-44,0,962,729),8471=>array(138,0,862,724),8472=>array(54,-221,658,495),8473=>array(98,0,666,729),8474=>array(56,-129,731,742),8475=>array(32,-9,764,774),8476=>array(41,-14,803,743),8477=>array(98,0,774,729),8478=>array(83,0,814,729),8479=>array(93,-107,670,847),8480=>array(126,443,770,730),8481=>array(32,0,987,547),8482=>array(144,447,784,729),8483=>array(14,-108,817,846),8484=>array(45,0,700,729),8485=>array(9,-213,627,760),8486=>array(-34,0,723,738),8487=>array(42,-14,798,724),8488=>array(12,-149,573,783),8489=>array(71,0,270,547),8490=>array(27,0,722,729),8491=>array(-53,0,615,928),8492=>array(45,0,734,772),8493=>array(63,-12,652,742),8494=>array(61,-12,793,647),8495=>array(42,-15,547,533),8496=>array(79,-14,565,742),8497=>array(41,-16,758,755),8498=>array(27,0,587,729),8499=>array(28,-28,1032,751),8500=>array(51,-12,411,395),8501=>array(50,-14,712,742),8502=>array(-2,-14,653,743),8503=>array(13,-35,407,742),8504=>array(42,-35,591,742),8505=>array(34,0,355,760),8506=>array(44,-21,967,654),8507=>array(20,0,1198,547),8508=>array(18,-8,685,547),8509=>array(0,-194,669,560),8510=>array(98,0,648,729),8511=>array(98,0,750,729),8512=>array(12,-192,791,719),8513=>array(47,-14,728,742),8514=>array(59,0,529,729),8515=>array(3,0,599,729),8516=>array(-65,0,548,729),8517=>array(42,0,786,729),8518=>array(44,-14,709,760),8519=>array(44,-14,572,560),8520=>array(39,0,313,760),8521=>array(-114,-208,313,760),8523=>array(58,-14,742,742),8526=>array(-14,0,495,547),8528=>array(66,-14,962,742),8529=>array(66,-14,932,742),8530=>array(66,-14,1335,742),8531=>array(66,-14,936,742),8532=>array(36,-14,936,742),8533=>array(66,-14,927,742),8534=>array(36,-14,927,742),8535=>array(16,-14,927,742),8536=>array(41,-14,927,742),8537=>array(66,-14,944,742),8538=>array(13,-14,944,742),8539=>array(66,-14,943,742),8540=>array(16,-14,943,742),8541=>array(13,-14,943,742),8542=>array(78,-14,943,742),8543=>array(66,-14,829,742),8544=>array(27,0,268,729),8545=>array(27,0,465,729),8546=>array(27,0,663,729),8547=>array(27,0,981,729),8548=>array(78,0,742,729),8549=>array(78,0,896,729),8550=>array(78,0,1093,729),8551=>array(78,0,1290,729),8552=>array(27,0,936,729),8553=>array(-43,0,703,729),8554=>array(-43,0,906,729),8555=>array(-43,0,1104,729),8556=>array(27,0,497,729),8557=>array(42,-14,695,742),8558=>array(27,0,722,729),8559=>array(27,0,836,729),8560=>array(35,0,273,760),8561=>array(35,0,453,760),8562=>array(35,0,632,760),8563=>array(35,0,824,760),8564=>array(72,0,604,547),8565=>array(72,0,806,760),8566=>array(72,0,986,760),8567=>array(72,0,1166,760),8568=>array(35,0,827,760),8569=>array(-26,0,600,547),8570=>array(-26,0,817,760),8571=>array(-26,0,997,760),8572=>array(35,0,273,760),8573=>array(46,-14,536,560),8574=>array(46,-14,639,760),8575=>array(35,0,906,560),8576=>array(59,0,1187,729),8577=>array(27,0,711,729),8578=>array(59,0,1187,729),8579=>array(63,-14,715,742),8580=>array(2,-14,493,560),8581=>array(75,-208,723,742),8585=>array(42,-14,936,742),8592=>array(49,100,781,527),8593=>array(205,0,632,732),8594=>array(57,100,789,527),8595=>array(205,-3,632,729),8596=>array(49,100,789,527),8597=>array(205,-8,632,732),8598=>array(141,25,703,587),8599=>array(141,25,703,587),8600=>array(141,25,703,587),8601=>array(141,25,703,587),8602=>array(49,100,781,527),8603=>array(57,100,789,527),8604=>array(21,103,827,414),8605=>array(11,103,816,414),8606=>array(49,100,781,527),8607=>array(206,0,633,732),8608=>array(57,100,789,527),8609=>array(206,-3,633,729),8610=>array(49,100,781,527),8611=>array(57,100,789,527),8612=>array(49,100,781,527),8613=>array(206,0,632,732),8614=>array(57,100,789,527),8615=>array(206,-3,632,729),8616=>array(206,0,632,732),8617=>array(49,100,780,565),8618=>array(58,100,789,565),8619=>array(49,100,780,565),8620=>array(58,100,789,565),8621=>array(49,100,789,527),8622=>array(49,93,789,534),8623=>array(146,-2,702,730),8624=>array(169,0,629,743),8625=>array(209,0,669,743),8626=>array(169,-14,629,729),8627=>array(209,-14,669,729),8628=>array(233,-3,760,604),8629=>array(49,100,656,626),8630=>array(22,203,799,668),8631=>array(39,203,816,668),8632=>array(108,25,788,729),8633=>array(55,-46,783,673),8634=>array(103,62,762,680),8635=>array(77,62,736,680),8636=>array(49,272,781,527),8637=>array(49,100,781,355),8638=>array(377,0,632,732),8639=>array(205,0,460,732),8640=>array(57,272,789,527),8641=>array(57,100,789,355),8642=>array(377,0,632,732),8643=>array(205,0,460,732),8644=>array(49,-47,789,674),8645=>array(58,-3,779,732),8646=>array(49,-47,789,674),8647=>array(49,-47,781,674),8648=>array(59,0,779,732),8649=>array(58,-47,790,674),8650=>array(59,-3,779,729),8651=>array(49,7,789,620),8652=>array(49,7,789,620),8653=>array(49,100,781,527),8654=>array(49,94,789,533),8655=>array(57,100,789,527),8656=>array(49,100,781,527),8657=>array(206,0,633,732),8658=>array(57,100,789,527),8659=>array(206,-3,633,729),8660=>array(49,100,789,527),8661=>array(205,-8,633,732),8662=>array(141,-23,751,587),8663=>array(92,-23,703,587),8664=>array(92,25,703,636),8665=>array(141,25,751,636),8666=>array(49,100,781,527),8667=>array(57,100,789,527),8668=>array(49,100,781,527),8669=>array(57,100,789,527),8670=>array(205,0,632,732),8671=>array(205,-3,632,729),8672=>array(49,100,781,527),8673=>array(205,0,633,732),8674=>array(57,100,789,527),8675=>array(205,-3,633,729),8676=>array(52,99,781,528),8677=>array(57,99,786,528),8678=>array(27,65,781,562),8679=>array(171,0,667,754),8680=>array(35,65,789,562),8681=>array(171,-25,667,729),8682=>array(171,0,667,754),8683=>array(171,0,667,754),8684=>array(156,0,682,754),8685=>array(171,0,667,754),8686=>array(171,0,667,754),8687=>array(171,0,667,754),8688=>array(57,65,811,562),8689=>array(60,0,788,729),8690=>array(60,0,788,729),8691=>array(171,-25,667,754),8692=>array(57,100,789,527),8693=>array(58,-3,779,732),8694=>array(57,-193,789,820),8695=>array(49,94,781,533),8696=>array(57,94,789,533),8697=>array(49,94,789,533),8698=>array(49,94,781,533),8699=>array(57,94,789,533),8700=>array(49,94,789,533),8701=>array(27,96,781,531),8702=>array(57,96,811,531),8703=>array(27,96,811,531),8704=>array(8,0,676,729),8705=>array(66,-14,554,742),8706=>array(46,-14,471,662),8707=>array(98,0,568,729),8708=>array(98,-46,568,776),8709=>array(76,-10,795,710),8710=>array(-3,0,672,719),8711=>array(-3,0,672,719),8712=>array(85,-10,786,710),8713=>array(85,-139,786,836),8714=>array(106,76,612,550),8715=>array(85,-10,786,710),8716=>array(85,-139,786,836),8717=>array(106,76,612,550),8718=>array(146,0,490,485),8719=>array(76,-192,680,719),8720=>array(76,-192,680,719),8721=>array(12,-192,654,719),8722=>array(106,272,732,355),8723=>array(106,0,732,627),8724=>array(106,0,732,729),8725=>array(-73,-93,427,729),8726=>array(192,-54,529,768),8727=>array(127,0,710,627),8728=>array(158,160,468,470),8729=>array(168,168,458,458),8730=>array(30,-20,637,811),8731=>array(30,-20,637,933),8732=>array(30,-20,637,924),8733=>array(107,112,607,487),8734=>array(107,112,726,487),8735=>array(138,99,700,661),8736=>array(85,0,786,729),8737=>array(85,-53,786,729),8738=>array(116,-3,732,727),8739=>array(211,-214,289,771),8740=>array(50,-214,451,771),8741=>array(133,-214,367,771),8742=>array(50,-214,451,771),8743=>array(128,0,604,579),8744=>array(128,0,604,579),8745=>array(128,0,604,579),8746=>array(128,0,604,579),8747=>array(57,-212,464,757),8748=>array(57,-212,732,757),8749=>array(57,-212,1000,757),8750=>array(57,-212,464,757),8751=>array(57,-212,732,757),8752=>array(57,-212,1000,757),8753=>array(57,-212,522,757),8754=>array(57,-212,514,757),8755=>array(57,-212,515,757),8756=>array(59,100,577,604),8757=>array(59,100,577,604),8758=>array(79,100,182,604),8759=>array(59,100,577,604),8760=>array(106,272,732,552),8761=>array(106,78,732,552),8762=>array(105,78,732,552),8763=>array(106,78,732,552),8764=>array(106,228,732,399),8765=>array(106,228,732,399),8766=>array(79,149,759,479),8767=>array(106,42,732,584),8768=>array(102,0,273,627),8769=>array(106,77,732,553),8770=>array(106,133,732,454),8771=>array(106,172,732,494),8772=>array(106,47,732,603),8773=>array(106,90,732,594),8774=>array(106,11,732,594),8775=>array(106,-5,732,658),8776=>array(106,133,732,494),8777=>array(106,2,732,625),8778=>array(106,90,732,598),8779=>array(106,59,732,602),8780=>array(106,90,732,594),8781=>array(105,105,732,521),8782=>array(106,26,732,601),8783=>array(106,172,732,601),8784=>array(106,172,732,625),8785=>array(106,1,732,625),8786=>array(104,2,732,625),8787=>array(104,2,731,625),8788=>array(101,151,899,476),8789=>array(100,151,900,475),8790=>array(106,172,732,454),8791=>array(106,172,732,760),8792=>array(106,172,732,662),8793=>array(106,172,732,812),8794=>array(106,172,732,812),8795=>array(106,172,732,849),8796=>array(106,172,732,854),8797=>array(106,172,732,764),8798=>array(106,172,732,760),8799=>array(106,172,732,856),8800=>array(106,19,732,608),8801=>array(106,90,732,537),8802=>array(106,-24,732,650),8803=>array(106,0,732,629),8804=>array(106,0,732,582),8805=>array(106,0,732,582),8806=>array(106,-83,732,638),8807=>array(106,-83,732,638),8808=>array(106,-164,732,638),8809=>array(106,-164,732,638),8810=>array(72,22,975,609),8811=>array(72,22,975,609),8812=>array(86,-132,378,759),8813=>array(105,13,732,613),8814=>array(106,2,732,674),8815=>array(106,-47,732,625),8816=>array(106,-102,732,667),8817=>array(106,-102,732,667),8818=>array(106,-55,732,582),8819=>array(106,-40,732,582),8820=>array(106,-105,732,664),8821=>array(106,-102,732,667),8822=>array(102,-87,732,686),8823=>array(102,-87,732,686),8824=>array(102,-197,732,797),8825=>array(102,-197,732,797),8826=>array(106,-38,732,664),8827=>array(106,-38,732,664),8828=>array(106,-105,732,667),8829=>array(106,-105,732,667),8830=>array(106,-85,732,667),8831=>array(106,-85,732,667),8832=>array(106,-61,732,764),8833=>array(106,-138,732,687),8834=>array(99,80,739,546),8835=>array(99,80,739,546),8836=>array(99,-96,739,726),8837=>array(99,-100,739,722),8838=>array(93,0,732,613),8839=>array(106,0,745,613),8840=>array(93,-116,732,730),8841=>array(106,-116,745,730),8842=>array(93,-73,732,613),8843=>array(93,-73,732,613),8844=>array(128,0,604,579),8845=>array(128,0,604,579),8846=>array(128,2,604,582),8847=>array(106,0,732,568),8848=>array(106,0,732,568),8849=>array(106,-83,732,630),8850=>array(106,-83,732,630),8851=>array(106,0,674,626),8852=>array(106,0,674,626),8853=>array(91,-14,747,643),8854=>array(91,-14,747,643),8855=>array(91,-14,747,643),8856=>array(91,-14,747,643),8857=>array(91,-14,747,643),8858=>array(91,-14,747,643),8859=>array(91,-14,747,643),8860=>array(91,-14,747,643),8861=>array(91,-14,747,643),8862=>array(91,-14,747,643),8863=>array(91,-14,747,643),8864=>array(91,-14,747,643),8865=>array(91,-14,747,643),8866=>array(85,0,786,700),8867=>array(85,0,786,700),8868=>array(85,0,786,700),8869=>array(85,0,786,700),8870=>array(85,0,436,700),8871=>array(85,0,436,700),8872=>array(85,0,786,700),8873=>array(85,0,786,700),8874=>array(85,0,786,700),8875=>array(85,0,786,700),8876=>array(85,-40,786,740),8877=>array(85,-40,786,740),8878=>array(85,-40,786,740),8879=>array(85,-40,786,740),8880=>array(106,-43,724,670),8881=>array(106,-43,724,670),8882=>array(106,15,732,612),8883=>array(106,15,732,612),8884=>array(106,-48,732,674),8885=>array(106,-48,732,674),8886=>array(59,175,941,455),8887=>array(59,175,941,455),8888=>array(47,175,791,455),8889=>array(59,-47,779,674),8890=>array(116,0,404,701),8891=>array(98,0,634,740),8892=>array(98,0,634,740),8893=>array(98,0,634,740),8894=>array(138,0,700,562),8895=>array(138,0,700,562),8896=>array(-3,-192,823,719),8897=>array(-3,-192,823,719),8898=>array(68,-192,752,719),8899=>array(68,-192,752,719),8900=>array(3,-233,491,807),8901=>array(107,285,210,409),8902=>array(122,149,504,512),8903=>array(106,15,732,613),8904=>array(106,-30,894,657),8905=>array(106,-30,894,657),8906=>array(106,-30,894,657),8907=>array(106,-30,894,657),8908=>array(106,-30,894,657),8909=>array(106,172,732,494),8910=>array(48,0,684,579),8911=>array(48,0,684,579),8912=>array(93,-3,732,630),8913=>array(106,-3,745,630),8914=>array(103,0,735,663),8915=>array(103,-14,735,649),8916=>array(186,0,652,729),8917=>array(106,-100,732,729),8918=>array(106,46,732,581),8919=>array(106,46,732,581),8920=>array(72,22,1350,609),8921=>array(72,22,1350,609),8922=>array(106,-228,732,854),8923=>array(106,-228,732,854),8924=>array(106,0,732,582),8925=>array(106,0,732,582),8926=>array(106,-105,732,667),8927=>array(106,-105,732,667),8928=>array(106,-178,732,764),8929=>array(106,-178,732,764),8930=>array(106,-141,732,767),8931=>array(106,-141,732,767),8932=>array(106,-94,732,619),8933=>array(106,-94,732,619),8934=>array(106,-138,732,582),8935=>array(106,-138,732,582),8936=>array(106,-169,732,667),8937=>array(106,-171,736,667),8938=>array(106,-130,732,756),8939=>array(106,-130,732,756),8940=>array(106,-189,732,815),8941=>array(104,-189,730,815),8942=>array(448,-93,551,715),8943=>array(115,249,884,373),8944=>array(115,-93,884,715),8945=>array(115,-93,884,715),8946=>array(42,-10,958,710),8947=>array(85,-10,786,710),8948=>array(106,76,612,550),8949=>array(85,-10,786,910),8950=>array(85,-10,786,853),8951=>array(106,76,612,686),8952=>array(85,-144,786,710),8953=>array(85,-10,786,710),8954=>array(42,-10,958,710),8955=>array(85,-10,786,710),8956=>array(106,76,612,550),8957=>array(85,-10,786,853),8958=>array(106,76,612,686),8959=>array(106,0,765,720),8960=>array(62,-18,593,514),8961=>array(56,162,540,443),8962=>array(71,0,563,596),8963=>array(205,481,632,732),8964=>array(205,0,632,251),8965=>array(205,0,632,406),8966=>array(205,0,632,513),8967=>array(208,-31,428,791),8968=>array(-1,-132,380,760),8969=>array(127,-132,391,760),8970=>array(-1,-132,263,760),8971=>array(10,-132,391,760),8972=>array(369,-77,759,313),8973=>array(49,-77,439,313),8974=>array(369,243,759,634),8975=>array(49,243,439,634),8976=>array(106,140,732,421),8977=>array(3,126,510,634),8984=>array(121,0,879,759),8985=>array(106,140,732,421),8988=>array(86,425,469,760),8989=>array(138,425,469,760),8990=>array(72,-70,403,264),8991=>array(52,-70,434,264),8992=>array(210,-250,497,928),8993=>array(21,-237,307,942),8996=>array(76,227,1076,575),8997=>array(76,0,1076,575),8998=>array(76,0,1414,760),8999=>array(76,0,1076,760),9000=>array(59,0,1385,729),9003=>array(0,0,1338,760),9004=>array(73,-91,800,748),9075=>array(81,0,304,547),9076=>array(91,-208,580,560),9077=>array(66,-14,769,547),9082=>array(55,-12,611,559),9085=>array(4,-228,753,102),9095=>array(76,0,1096,748),9108=>array(17,0,856,727),9115=>array(86,-252,414,946),9116=>array(86,-252,181,942),9117=>array(86,-240,414,942),9118=>array(86,-252,414,946),9119=>array(319,-252,414,942),9120=>array(86,-240,414,942),9121=>array(86,-252,414,928),9122=>array(86,-252,181,942),9123=>array(86,-240,414,942),9124=>array(86,-252,414,928),9125=>array(319,-252,414,935),9126=>array(86,-240,414,935),9127=>array(330,-261,668,928),9128=>array(82,-252,420,940),9129=>array(330,-240,668,940),9130=>array(330,-256,420,943),9131=>array(82,-261,420,928),9132=>array(330,-252,668,940),9133=>array(82,-240,420,940),9134=>array(210,-250,307,942),9166=>array(27,65,781,729),9167=>array(91,0,854,596),9187=>array(73,-91,800,748),9189=>array(3,75,766,444),9192=>array(16,-129,553,294),9250=>array(-15,-14,561,760),9251=>array(26,-228,583,102),9312=>array(74,-10,822,738),9313=>array(74,-10,822,738),9314=>array(74,-10,822,738),9315=>array(74,-10,822,738),9316=>array(74,-10,822,738),9317=>array(74,-10,822,738),9318=>array(74,-10,822,738),9319=>array(74,-10,822,738),9320=>array(74,-10,822,738),9321=>array(74,-10,822,738),9472=>array(-10,242,612,326),9473=>array(-10,200,612,368),9474=>array(262,-302,340,973),9475=>array(223,-302,379,973),9476=>array(-10,242,612,326),9477=>array(-10,200,612,368),9478=>array(262,-302,340,973),9479=>array(223,-302,379,973),9480=>array(-10,242,612,326),9481=>array(-10,200,612,368),9482=>array(262,-302,340,973),9483=>array(223,-302,379,973),9484=>array(262,-302,612,326),9485=>array(262,-302,612,368),9486=>array(223,-302,612,326),9487=>array(223,-302,612,368),9488=>array(-10,-302,340,326),9489=>array(-10,-302,340,368),9490=>array(-10,-302,379,326),9491=>array(-10,-302,379,368),9492=>array(262,242,612,973),9493=>array(262,200,612,973),9494=>array(223,242,612,973),9495=>array(223,200,612,973),9496=>array(-10,242,340,973),9497=>array(-10,200,340,973),9498=>array(-10,242,379,973),9499=>array(-10,200,379,973),9500=>array(262,-302,612,973),9501=>array(262,-302,612,973),9502=>array(223,-302,612,973),9503=>array(223,-302,612,973),9504=>array(223,-302,612,973),9505=>array(223,-302,612,973),9506=>array(223,-302,612,973),9507=>array(223,-302,612,973),9508=>array(-10,-302,340,973),9509=>array(-10,-302,340,973),9510=>array(-10,-302,379,973),9511=>array(-10,-302,379,973),9512=>array(-10,-302,379,973),9513=>array(-10,-302,379,973),9514=>array(-10,-302,379,973),9515=>array(-10,-302,379,973),9516=>array(-10,-302,612,326),9517=>array(-10,-302,612,368),9518=>array(-10,-302,612,368),9519=>array(-10,-302,612,368),9520=>array(-10,-302,612,326),9521=>array(-10,-302,612,368),9522=>array(-10,-302,612,368),9523=>array(-10,-302,612,368),9524=>array(-10,242,612,973),9525=>array(-10,200,612,973),9526=>array(-10,200,612,973),9527=>array(-10,200,612,973),9528=>array(-10,242,612,973),9529=>array(-10,200,612,973),9530=>array(-10,200,612,973),9531=>array(-10,200,612,973),9532=>array(-10,-302,612,973),9533=>array(-10,-302,612,973),9534=>array(-10,-302,612,973),9535=>array(-10,-302,612,973),9536=>array(-10,-302,612,973),9537=>array(-10,-302,612,973),9538=>array(-10,-302,612,973),9539=>array(-10,-302,612,973),9540=>array(-10,-302,612,973),9541=>array(-10,-302,612,973),9542=>array(-10,-302,612,973),9543=>array(-10,-302,612,973),9544=>array(-10,-302,612,973),9545=>array(-10,-302,612,973),9546=>array(-10,-302,612,973),9547=>array(-10,-302,612,973),9548=>array(-10,242,612,326),9549=>array(-10,200,612,368),9550=>array(262,-302,340,973),9551=>array(223,-302,379,973),9552=>array(-10,158,612,410),9553=>array(184,-302,418,973),9554=>array(262,-302,612,410),9555=>array(184,-302,612,326),9556=>array(184,-302,612,410),9557=>array(-10,-302,340,410),9558=>array(-10,-302,418,326),9559=>array(-10,-302,418,410),9560=>array(262,158,612,973),9561=>array(184,242,612,973),9562=>array(184,158,612,973),9563=>array(-10,158,340,973),9564=>array(-10,242,418,973),9565=>array(-10,158,418,973),9566=>array(262,-302,612,973),9567=>array(184,-302,612,973),9568=>array(184,-302,612,973),9569=>array(-10,-302,340,973),9570=>array(-10,-302,418,973),9571=>array(-10,-302,418,973),9572=>array(-10,-302,612,410),9573=>array(-10,-302,612,326),9574=>array(-10,-302,612,410),9575=>array(-10,158,612,973),9576=>array(-10,242,612,973),9577=>array(-10,158,612,973),9578=>array(-10,-302,612,973),9579=>array(-10,-302,612,973),9580=>array(-10,-302,612,973),9581=>array(262,-302,612,326),9582=>array(-10,-302,340,326),9583=>array(-10,242,340,973),9584=>array(262,242,612,973),9585=>array(-53,-302,655,973),9586=>array(-53,-302,655,973),9587=>array(-53,-302,655,973),9588=>array(-10,242,311,326),9589=>array(262,284,340,973),9590=>array(311,242,612,326),9591=>array(262,-302,340,284),9592=>array(-10,200,311,368),9593=>array(223,284,379,973),9594=>array(311,200,612,368),9595=>array(223,-302,379,284),9596=>array(-10,200,612,368),9597=>array(223,-302,379,973),9598=>array(-10,200,612,368),9599=>array(223,-302,379,973),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,700,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(3,260,766,645),9697=>array(3,-125,766,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(150,227,440,516),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9729=>array(51,-2,949,360),9730=>array(49,0,848,729),9731=>array(83,-0,813,927),9732=>array(64,0,833,880),9733=>array(65,-4,832,723),9734=>array(65,-4,832,723),9735=>array(83,2,490,729),9736=>array(83,0,813,731),9737=>array(83,0,813,730),9738=>array(61,0,828,727),9739=>array(61,0,828,723),9740=>array(61,-1,610,722),9741=>array(61,0,952,723),9742=>array(68,0,1177,729),9743=>array(71,0,1180,729),9744=>array(90,0,807,729),9745=>array(89,0,808,729),9746=>array(89,0,808,729),9747=>array(75,78,457,656),9748=>array(49,0,870,933),9749=>array(74,0,822,731),9750=>array(84,0,813,731),9751=>array(84,0,813,727),9752=>array(78,0,819,729),9753=>array(83,140,813,574),9754=>array(84,113,813,569),9755=>array(84,113,813,569),9756=>array(87,104,810,569),9757=>array(72,0,537,724),9758=>array(86,103,810,569),9759=>array(72,-3,537,720),9760=>array(61,0,835,730),9761=>array(84,0,813,730),9762=>array(83,0,813,730),9763=>array(49,0,848,730),9764=>array(49,-2,620,727),9765=>array(83,0,663,731),9766=>array(83,-1,566,731),9767=>array(83,0,701,911),9768=>array(83,0,462,730),9769=>array(83,-1,813,729),9770=>array(87,0,810,730),9771=>array(83,0,814,731),9772=>array(83,0,627,731),9773=>array(83,0,813,730),9774=>array(83,0,813,730),9775=>array(83,0,813,730),9776=>array(83,0,807,729),9777=>array(83,0,807,729),9778=>array(83,0,807,729),9779=>array(83,0,807,729),9780=>array(83,0,807,729),9781=>array(83,0,807,729),9782=>array(83,0,807,729),9783=>array(83,0,807,729),9784=>array(80,3,817,721),9785=>array(83,-73,959,804),9786=>array(83,-73,959,804),9787=>array(83,-73,959,804),9788=>array(83,0,813,730),9789=>array(358,0,814,730),9790=>array(83,0,539,730),9791=>array(85,-102,528,732),9792=>array(85,-125,647,731),9793=>array(85,-14,647,843),9794=>array(79,-14,831,720),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9800=>array(45,0,851,731),9801=>array(89,0,807,730),9802=>array(94,0,802,731),9803=>array(113,31,784,679),9804=>array(140,0,756,730),9805=>array(53,-180,843,730),9806=>array(83,52,813,653),9807=>array(34,-96,863,730),9808=>array(83,-0,813,730),9809=>array(94,0,802,730),9810=>array(86,153,810,579),9811=>array(157,0,739,730),9812=>array(98,0,798,730),9813=>array(110,0,786,730),9814=>array(167,-1,729,729),9815=>array(214,0,683,730),9816=>array(165,0,732,730),9817=>array(148,-0,748,730),9818=>array(98,0,798,730),9819=>array(110,0,786,730),9820=>array(167,-1,729,729),9821=>array(214,0,683,730),9822=>array(162,0,734,730),9823=>array(148,-0,748,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9832=>array(105,-1,791,729),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),9840=>array(84,0,664,731),9841=>array(64,0,701,731),9842=>array(84,0,813,709),9843=>array(76,16,820,731),9844=>array(76,16,820,731),9845=>array(76,16,820,731),9846=>array(76,16,820,731),9847=>array(76,16,820,731),9848=>array(76,16,820,731),9849=>array(76,16,820,731),9850=>array(76,16,820,731),9851=>array(84,0,812,704),9852=>array(83,0,814,731),9853=>array(83,0,814,731),9854=>array(83,0,814,731),9855=>array(149,1,747,731),9856=>array(73,0,797,725),9857=>array(73,0,797,725),9858=>array(73,0,797,725),9859=>array(73,0,797,725),9860=>array(73,0,797,725),9861=>array(73,0,797,725),9862=>array(83,0,807,724),9863=>array(84,0,808,724),9864=>array(84,0,808,724),9865=>array(84,0,808,724),9866=>array(83,0,807,98),9867=>array(83,0,807,98),9868=>array(83,0,807,411),9869=>array(83,0,807,411),9870=>array(83,0,807,411),9871=>array(83,0,807,411),9872=>array(80,3,634,724),9873=>array(80,3,634,724),9874=>array(52,0,837,724),9875=>array(61,-10,756,725),9876=>array(44,0,672,722),9877=>array(62,-10,476,725),9878=>array(41,-10,811,725),9879=>array(49,0,815,725),9880=>array(42,0,642,725),9881=>array(95,-17,802,727),9882=>array(37,-9,671,726),9883=>array(127,0,763,721),9884=>array(127,0,762,722),9888=>array(49,0,840,721),9889=>array(83,2,619,730),9890=>array(85,-125,919,731),9891=>array(79,-206,1023,720),9892=>array(85,-186,1109,856),9893=>array(85,-125,837,917),9894=>array(131,-14,727,869),9895=>array(101,-170,741,884),9896=>array(188,-14,650,869),9897=>array(4,133,829,596),9898=>array(188,133,650,597),9899=>array(188,133,650,597),9900=>array(249,194,589,536),9901=>array(175,194,663,536),9902=>array(41,169,797,560),9903=>array(5,194,833,536),9904=>array(103,237,757,540),9905=>array(211,42,626,698),9906=>array(85,-125,647,731),9907=>array(168,-125,646,731),9908=>array(86,-125,646,731),9909=>array(86,-125,646,731),9910=>array(59,-118,791,643),9911=>array(194,-104,595,710),9912=>array(158,-125,543,731),9920=>array(42,4,796,553),9921=>array(42,4,796,724),9922=>array(42,4,796,553),9923=>array(42,4,796,724),9954=>array(85,-14,647,843),9985=>array(11,190,803,635),9986=>array(42,141,784,588),9987=>array(11,94,803,539),9988=>array(36,119,824,613),9990=>array(42,-14,796,742),9991=>array(42,-14,796,742),9992=>array(59,21,782,708),9993=>array(64,107,773,622),9996=>array(212,0,561,742),9997=>array(21,83,802,678),9998=>array(89,75,724,710),9999=>array(26,198,819,530),10000=>array(89,75,724,710),10001=>array(43,185,757,544),10002=>array(67,209,757,520),10003=>array(150,97,667,630),10004=>array(116,87,721,631),10005=>array(126,72,711,657),10006=>array(85,31,752,698),10007=>array(118,-9,701,732),10008=>array(123,0,754,739),10009=>array(55,0,783,729),10010=>array(55,0,783,729),10011=>array(55,0,783,729),10012=>array(55,0,783,729),10013=>array(165,0,673,729),10014=>array(131,0,678,729),10015=>array(155,0,683,729),10016=>array(55,0,783,729),10017=>array(91,-13,747,744),10018=>array(41,-14,797,742),10019=>array(42,-12,796,742),10020=>array(41,-14,797,742),10021=>array(41,-13,797,743),10022=>array(42,-14,796,745),10023=>array(42,-14,796,745),10025=>array(23,-9,814,743),10026=>array(42,-14,796,742),10027=>array(23,-9,814,743),10028=>array(23,-9,814,743),10029=>array(23,-9,814,743),10030=>array(23,-9,814,743),10031=>array(23,-9,814,743),10032=>array(24,12,815,714),10033=>array(64,0,773,729),10034=>array(74,0,764,729),10035=>array(55,0,783,729),10036=>array(31,-14,787,742),10037=>array(41,-14,797,742),10038=>array(91,-14,747,742),10039=>array(41,-14,797,742),10040=>array(41,-14,797,742),10041=>array(41,-14,797,742),10042=>array(55,0,783,729),10043=>array(82,-14,756,742),10044=>array(82,-14,756,742),10045=>array(84,-14,753,742),10046=>array(79,-14,759,742),10047=>array(54,0,784,709),10048=>array(54,0,784,709),10049=>array(41,-14,797,742),10050=>array(42,-14,796,742),10051=>array(79,-14,759,742),10052=>array(89,0,749,729),10053=>array(76,0,762,729),10054=>array(63,2,773,729),10055=>array(79,-13,759,742),10056=>array(47,-13,791,730),10057=>array(47,-13,791,730),10058=>array(41,-13,797,743),10059=>array(41,-13,797,743),10061=>array(50,-10,847,738),10063=>array(60,-49,837,729),10064=>array(60,0,837,777),10065=>array(60,-49,837,729),10066=>array(60,0,837,777),10070=>array(83,-2,813,728),10072=>array(377,-240,460,760),10073=>array(336,-240,502,760),10074=>array(253,-240,585,760),10075=>array(85,395,264,729),10076=>array(59,395,237,729),10077=>array(85,395,479,729),10078=>array(59,395,453,729),10081=>array(155,-93,772,851),10082=>array(202,-17,636,742),10083=>array(163,-17,675,742),10084=>array(54,83,784,645),10085=>array(168,-1,729,729),10086=>array(62,21,724,702),10087=>array(78,169,759,564),10088=>array(196,-139,648,769),10089=>array(196,-139,648,769),10090=>array(264,-132,574,758),10091=>array(264,-132,574,758),10092=>array(215,-240,607,760),10093=>array(232,-240,623,760),10094=>array(142,-240,685,760),10095=>array(153,-240,696,760),10096=>array(167,-240,656,760),10097=>array(183,-240,672,760),10098=>array(346,-241,535,760),10099=>array(303,-241,492,760),10100=>array(175,-163,634,760),10101=>array(204,-163,663,760),10102=>array(74,-10,822,738),10103=>array(74,-10,822,738),10104=>array(74,-10,822,738),10105=>array(74,-10,822,738),10106=>array(74,-10,822,738),10107=>array(74,-10,822,738),10108=>array(74,-10,822,738),10109=>array(74,-10,822,738),10110=>array(74,-10,822,738),10111=>array(74,-10,822,738),10112=>array(4,-52,833,780),10113=>array(4,-52,833,780),10114=>array(4,-52,833,780),10115=>array(4,-52,833,780),10116=>array(4,-52,833,780),10117=>array(4,-52,833,780),10118=>array(4,-52,833,780),10119=>array(4,-52,833,780),10120=>array(4,-52,833,780),10121=>array(4,-52,833,780),10122=>array(4,-52,833,780),10123=>array(4,-52,833,780),10124=>array(4,-52,833,780),10125=>array(4,-52,833,780),10126=>array(4,-52,833,780),10127=>array(4,-52,833,780),10128=>array(4,-52,833,780),10129=>array(4,-52,833,780),10130=>array(4,-52,833,780),10131=>array(4,-52,833,780),10132=>array(57,75,789,552),10136=>array(123,55,682,614),10137=>array(57,100,789,527),10138=>array(123,13,682,572),10139=>array(57,129,789,498),10140=>array(57,57,764,570),10141=>array(57,100,789,527),10142=>array(57,100,789,527),10143=>array(57,100,789,527),10144=>array(57,100,789,527),10145=>array(57,65,811,562),10146=>array(111,94,789,533),10147=>array(111,94,789,533),10148=>array(111,-4,789,631),10149=>array(57,100,789,548),10150=>array(57,79,789,527),10151=>array(240,-7,606,634),10152=>array(57,100,789,527),10153=>array(57,75,765,552),10154=>array(57,75,765,552),10155=>array(21,12,794,586),10156=>array(21,12,794,586),10157=>array(135,0,774,574),10158=>array(135,0,774,574),10159=>array(62,49,799,574),10161=>array(62,49,799,574),10162=>array(154,-20,721,585),10163=>array(63,157,789,470),10164=>array(81,55,682,655),10165=>array(57,173,789,454),10166=>array(82,-29,682,572),10167=>array(82,55,682,655),10168=>array(57,172,789,455),10169=>array(82,-28,682,572),10170=>array(56,84,789,543),10171=>array(73,140,779,487),10172=>array(79,167,774,460),10173=>array(79,118,774,509),10174=>array(57,81,789,546),10181=>array(0,-163,377,769),10182=>array(-52,-163,395,769),10208=>array(3,-233,491,807),10214=>array(-0,-132,485,760),10215=>array(-1,-132,484,760),10216=>array(89,-132,397,759),10217=>array(-7,-132,301,759),10218=>array(89,-132,563,759),10219=>array(-7,-132,467,759),10224=>array(44,0,794,732),10225=>array(43,-3,793,729),10226=>array(-17,53,759,659),10227=>array(39,61,814,666),10228=>array(57,-14,1108,643),10229=>array(49,100,1376,527),10230=>array(57,100,1385,527),10231=>array(49,100,1385,527),10232=>array(49,100,1376,527),10233=>array(57,100,1385,527),10234=>array(49,100,1385,527),10235=>array(49,100,1376,527),10236=>array(57,100,1385,527),10237=>array(49,100,1376,527),10238=>array(57,100,1385,527),10239=>array(57,100,1385,527),10241=>array(146,635,293,781),10242=>array(146,358,293,505),10243=>array(146,358,293,781),10244=>array(146,81,293,228),10245=>array(146,81,293,781),10246=>array(146,81,293,505),10247=>array(146,81,293,781),10248=>array(439,635,586,781),10249=>array(146,635,586,781),10250=>array(146,358,586,781),10251=>array(146,358,586,781),10252=>array(146,81,586,781),10253=>array(146,81,586,781),10254=>array(146,81,586,781),10255=>array(146,81,586,781),10256=>array(439,358,586,505),10257=>array(146,358,586,781),10258=>array(146,358,586,505),10259=>array(146,358,586,781),10260=>array(146,81,586,505),10261=>array(146,81,586,781),10262=>array(146,81,586,505),10263=>array(146,81,586,781),10264=>array(439,358,586,781),10265=>array(146,358,586,781),10266=>array(146,358,586,781),10267=>array(146,358,586,781),10268=>array(146,81,586,781),10269=>array(146,81,586,781),10270=>array(146,81,586,781),10271=>array(146,81,586,781),10272=>array(439,81,586,228),10273=>array(146,81,586,781),10274=>array(146,81,586,505),10275=>array(146,81,586,781),10276=>array(146,81,586,228),10277=>array(146,81,586,781),10278=>array(146,81,586,505),10279=>array(146,81,586,781),10280=>array(439,81,586,781),10281=>array(146,81,586,781),10282=>array(146,81,586,781),10283=>array(146,81,586,781),10284=>array(146,81,586,781),10285=>array(146,81,586,781),10286=>array(146,81,586,781),10287=>array(146,81,586,781),10288=>array(439,81,586,505),10289=>array(146,81,586,781),10290=>array(146,81,586,505),10291=>array(146,81,586,781),10292=>array(146,81,586,505),10293=>array(146,81,586,781),10294=>array(146,81,586,505),10295=>array(146,81,586,781),10296=>array(439,81,586,781),10297=>array(146,81,586,781),10298=>array(146,81,586,781),10299=>array(146,81,586,781),10300=>array(146,81,586,781),10301=>array(146,81,586,781),10302=>array(146,81,586,781),10303=>array(146,81,586,781),10304=>array(146,-195,293,-49),10305=>array(146,-195,293,781),10306=>array(146,-195,293,505),10307=>array(146,-195,293,781),10308=>array(146,-195,293,228),10309=>array(146,-195,293,781),10310=>array(146,-195,293,505),10311=>array(146,-195,293,781),10312=>array(146,-195,586,781),10313=>array(146,-195,586,781),10314=>array(146,-195,586,781),10315=>array(146,-195,586,781),10316=>array(146,-195,586,781),10317=>array(146,-195,586,781),10318=>array(146,-195,586,781),10319=>array(146,-195,586,781),10320=>array(146,-195,586,505),10321=>array(146,-195,586,781),10322=>array(146,-195,586,505),10323=>array(146,-195,586,781),10324=>array(146,-195,586,505),10325=>array(146,-195,586,781),10326=>array(146,-195,586,505),10327=>array(146,-195,586,781),10328=>array(146,-195,586,781),10329=>array(146,-195,586,781),10330=>array(146,-195,586,781),10331=>array(146,-195,586,781),10332=>array(146,-195,586,781),10333=>array(146,-195,586,781),10334=>array(146,-195,586,781),10335=>array(146,-195,586,781),10336=>array(146,-195,586,228),10337=>array(146,-195,586,781),10338=>array(146,-195,586,505),10339=>array(146,-195,586,781),10340=>array(146,-195,586,228),10341=>array(146,-195,586,781),10342=>array(146,-195,586,505),10343=>array(146,-195,586,781),10344=>array(146,-195,586,781),10345=>array(146,-195,586,781),10346=>array(146,-195,586,781),10347=>array(146,-195,586,781),10348=>array(146,-195,586,781),10349=>array(146,-195,586,781),10350=>array(146,-195,586,781),10351=>array(146,-195,586,781),10352=>array(146,-195,586,505),10353=>array(146,-195,586,781),10354=>array(146,-195,586,505),10355=>array(146,-195,586,781),10356=>array(146,-195,586,505),10357=>array(146,-195,586,781),10358=>array(146,-195,586,505),10359=>array(146,-195,586,781),10360=>array(146,-195,586,781),10361=>array(146,-195,586,781),10362=>array(146,-195,586,781),10363=>array(146,-195,586,781),10364=>array(146,-195,586,781),10365=>array(146,-195,586,781),10366=>array(146,-195,586,781),10367=>array(146,-195,586,781),10368=>array(439,-195,586,-49),10369=>array(146,-195,586,781),10370=>array(146,-195,586,505),10371=>array(146,-195,586,781),10372=>array(146,-195,586,228),10373=>array(146,-195,586,781),10374=>array(146,-195,586,505),10375=>array(146,-195,586,781),10376=>array(439,-195,586,781),10377=>array(146,-195,586,781),10378=>array(146,-195,586,781),10379=>array(146,-195,586,781),10380=>array(146,-195,586,781),10381=>array(146,-195,586,781),10382=>array(146,-195,586,781),10383=>array(146,-195,586,781),10384=>array(439,-195,586,505),10385=>array(146,-195,586,781),10386=>array(146,-195,586,505),10387=>array(146,-195,586,781),10388=>array(146,-195,586,505),10389=>array(146,-195,586,781),10390=>array(146,-195,586,505),10391=>array(146,-195,586,781),10392=>array(439,-195,586,781),10393=>array(146,-195,586,781),10394=>array(146,-195,586,781),10395=>array(146,-195,586,781),10396=>array(146,-195,586,781),10397=>array(146,-195,586,781),10398=>array(146,-195,586,781),10399=>array(146,-195,586,781),10400=>array(439,-195,586,228),10401=>array(146,-195,586,781),10402=>array(146,-195,586,505),10403=>array(146,-195,586,781),10404=>array(146,-195,586,228),10405=>array(146,-195,586,781),10406=>array(146,-195,586,505),10407=>array(146,-195,586,781),10408=>array(439,-195,586,781),10409=>array(146,-195,586,781),10410=>array(146,-195,586,781),10411=>array(146,-195,586,781),10412=>array(146,-195,586,781),10413=>array(146,-195,586,781),10414=>array(146,-195,586,781),10415=>array(146,-195,586,781),10416=>array(439,-195,586,505),10417=>array(146,-195,586,781),10418=>array(146,-195,586,505),10419=>array(146,-195,586,781),10420=>array(146,-195,586,505),10421=>array(146,-195,586,781),10422=>array(146,-195,586,505),10423=>array(146,-195,586,781),10424=>array(439,-195,586,781),10425=>array(146,-195,586,781),10426=>array(146,-195,586,781),10427=>array(146,-195,586,781),10428=>array(146,-195,586,781),10429=>array(146,-195,586,781),10430=>array(146,-195,586,781),10431=>array(146,-195,586,781),10432=>array(146,-195,586,-49),10433=>array(146,-195,586,781),10434=>array(146,-195,586,505),10435=>array(146,-195,586,781),10436=>array(146,-195,586,228),10437=>array(146,-195,586,781),10438=>array(146,-195,586,505),10439=>array(146,-195,586,781),10440=>array(146,-195,586,781),10441=>array(146,-195,586,781),10442=>array(146,-195,586,781),10443=>array(146,-195,586,781),10444=>array(146,-195,586,781),10445=>array(146,-195,586,781),10446=>array(146,-195,586,781),10447=>array(146,-195,586,781),10448=>array(146,-195,586,505),10449=>array(146,-195,586,781),10450=>array(146,-195,586,505),10451=>array(146,-195,586,781),10452=>array(146,-195,586,505),10453=>array(146,-195,586,781),10454=>array(146,-195,586,505),10455=>array(146,-195,586,781),10456=>array(146,-195,586,781),10457=>array(146,-195,586,781),10458=>array(146,-195,586,781),10459=>array(146,-195,586,781),10460=>array(146,-195,586,781),10461=>array(146,-195,586,781),10462=>array(146,-195,586,781),10463=>array(146,-195,586,781),10464=>array(146,-195,586,228),10465=>array(146,-195,586,781),10466=>array(146,-195,586,505),10467=>array(146,-195,586,781),10468=>array(146,-195,586,228),10469=>array(146,-195,586,781),10470=>array(146,-195,586,505),10471=>array(146,-195,586,781),10472=>array(146,-195,586,781),10473=>array(146,-195,586,781),10474=>array(146,-195,586,781),10475=>array(146,-195,586,781),10476=>array(146,-195,586,781),10477=>array(146,-195,586,781),10478=>array(146,-195,586,781),10479=>array(146,-195,586,781),10480=>array(146,-195,586,505),10481=>array(146,-195,586,781),10482=>array(146,-195,586,505),10483=>array(146,-195,586,781),10484=>array(146,-195,586,505),10485=>array(146,-195,586,781),10486=>array(146,-195,586,505),10487=>array(146,-195,586,781),10488=>array(146,-195,586,781),10489=>array(146,-195,586,781),10490=>array(146,-195,586,781),10491=>array(146,-195,586,781),10492=>array(146,-195,586,781),10493=>array(146,-195,586,781),10494=>array(146,-195,586,781),10495=>array(146,-195,586,781),10502=>array(49,100,781,527),10503=>array(57,100,789,527),10506=>array(125,0,713,732),10507=>array(125,-3,713,729),10560=>array(39,63,644,838),10561=>array(39,63,644,838),10627=>array(118,-163,699,760),10628=>array(35,-163,616,760),10702=>array(106,-226,732,747),10703=>array(106,15,894,612),10704=>array(106,15,894,612),10705=>array(106,-30,894,657),10706=>array(106,-30,894,657),10707=>array(106,-30,894,657),10708=>array(106,-30,894,657),10709=>array(106,-30,894,657),10731=>array(3,-233,491,807),10746=>array(106,0,732,627),10747=>array(106,0,732,627),10752=>array(28,-198,972,748),10753=>array(28,-198,972,748),10754=>array(28,-198,972,748),10764=>array(57,-212,1268,757),10765=>array(57,-212,464,757),10766=>array(57,-212,464,757),10767=>array(57,-212,464,757),10768=>array(57,-212,464,757),10769=>array(57,-212,522,757),10770=>array(57,-212,464,757),10771=>array(57,-212,464,757),10772=>array(57,-212,555,757),10773=>array(57,-212,464,757),10774=>array(57,-212,464,757),10775=>array(-33,-212,553,757),10776=>array(57,-212,464,757),10777=>array(57,-212,464,757),10778=>array(57,-212,464,757),10779=>array(57,-212,469,872),10780=>array(52,-327,464,757),10799=>array(137,31,701,596),10858=>array(106,228,732,552),10859=>array(106,78,732,552),10877=>array(106,-123,732,581),10878=>array(106,-123,732,581),10879=>array(106,-123,733,581),10880=>array(106,-123,732,581),10881=>array(106,-123,732,644),10882=>array(106,-123,732,644),10883=>array(106,-123,733,759),10884=>array(106,-123,732,756),10885=>array(106,-132,732,663),10886=>array(106,-132,732,663),10887=>array(106,-121,732,582),10888=>array(106,-121,732,582),10889=>array(106,-204,732,663),10890=>array(106,-204,732,663),10891=>array(106,-311,732,791),10892=>array(106,-311,732,791),10893=>array(106,-125,732,663),10894=>array(106,-125,732,663),10895=>array(106,-241,732,756),10896=>array(106,-241,732,756),10897=>array(106,-229,732,730),10898=>array(106,-229,732,730),10899=>array(106,-224,732,741),10900=>array(106,-224,732,741),10901=>array(106,-61,732,644),10902=>array(106,-61,732,644),10903=>array(106,-61,733,644),10904=>array(106,-61,732,644),10905=>array(106,-36,732,685),10906=>array(106,-36,732,685),10907=>array(106,-31,732,725),10908=>array(106,-31,732,725),10909=>array(106,8,732,645),10910=>array(106,23,732,645),10911=>array(106,-176,732,729),10912=>array(106,-176,732,729),10926=>array(106,50,732,601),10927=>array(106,-24,732,667),10928=>array(106,-24,732,667),10929=>array(106,-145,732,667),10930=>array(106,-145,732,667),10931=>array(106,-121,732,662),10932=>array(106,-121,732,662),10933=>array(106,-195,732,662),10934=>array(106,-195,732,662),10935=>array(106,-191,732,693),10936=>array(106,-191,732,693),10937=>array(106,-259,732,693),10938=>array(106,-259,732,693),11001=>array(106,-171,732,585),11002=>array(106,-171,732,585),11008=>array(88,-27,703,587),11009=>array(141,-27,755,587),11010=>array(88,25,703,640),11011=>array(141,25,755,640),11012=>array(27,65,789,562),11013=>array(27,65,781,562),11014=>array(171,0,667,754),11015=>array(171,-25,667,729),11016=>array(88,-27,703,587),11017=>array(141,-27,755,587),11018=>array(88,25,703,640),11019=>array(141,25,755,640),11020=>array(27,65,789,562),11021=>array(171,-25,667,754),11022=>array(57,-3,790,355),11023=>array(57,272,790,630),11024=>array(35,-3,768,355),11025=>array(35,272,768,630),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11039=>array(18,-26,852,767),11040=>array(18,-26,852,767),11041=>array(73,-91,800,748),11042=>array(73,-91,800,748),11043=>array(17,-35,856,692),11044=>array(55,-250,1064,770),11091=>array(38,-47,832,788),11092=>array(38,-47,832,788),11360=>array(-13,0,497,729),11361=>array(-16,0,291,760),11362=>array(-31,0,497,729),11363=>array(26,0,597,729),11364=>array(57,-200,618,729),11365=>array(-20,-46,631,592),11366=>array(-101,-93,473,822),11367=>array(42,-157,740,729),11368=>array(30,-138,593,760),11369=>array(42,-157,737,729),11370=>array(30,-138,610,760),11371=>array(-11,-157,715,729),11372=>array(3,-138,548,547),11373=>array(56,-14,754,743),11374=>array(47,-200,855,729),11375=>array(149,0,817,729),11376=>array(-15,-14,694,743),11377=>array(136,0,813,560),11378=>array(175,0,1245,742),11379=>array(148,0,1040,560),11380=>array(39,0,611,586),11381=>array(27,0,568,729),11382=>array(41,0,486,547),11383=>array(55,-12,603,551),11385=>array(-74,-13,357,760),11386=>array(55,-14,558,560),11387=>array(48,0,506,547),11388=>array(-64,-117,168,425),11389=>array(44,326,465,734),11390=>array(26,-242,624,742),11391=>array(-2,-242,723,729),11520=>array(61,-63,578,547),11521=>array(1,-235,598,546),11522=>array(17,-235,547,546),11523=>array(66,-10,637,807),11524=>array(45,-235,570,546),11525=>array(24,-236,896,546),11526=>array(59,-8,609,816),11527=>array(47,0,934,546),11528=>array(77,0,575,546),11529=>array(44,-235,590,816),11530=>array(24,0,937,546),11531=>array(51,-8,638,816),11532=>array(24,0,578,816),11533=>array(45,0,930,546),11534=>array(45,0,598,546),11535=>array(88,-235,801,816),11536=>array(45,0,914,816),11537=>array(45,0,588,816),11538=>array(34,-235,563,546),11539=>array(45,-235,929,661),11540=>array(61,-235,918,546),11541=>array(41,-235,820,816),11542=>array(24,0,579,546),11543=>array(45,-235,598,547),11544=>array(15,-235,593,546),11545=>array(27,-235,575,816),11546=>array(31,-235,559,547),11547=>array(62,-9,638,816),11548=>array(24,-235,904,547),11549=>array(-6,-235,562,546),11550=>array(37,-235,590,546),11551=>array(10,-235,589,567),11552=>array(24,0,917,546),11553=>array(41,-235,578,816),11554=>array(61,0,568,626),11555=>array(62,-235,595,816),11556=>array(45,-235,645,546),11557=>array(60,-8,876,816),11800=>array(37,-13,425,729),11807=>array(106,78,732,399),11810=>array(126,314,420,760),11811=>array(122,314,342,760),11812=>array(40,-132,260,314),11813=>array(-38,-132,255,314),11822=>array(110,0,522,742),19904=>array(83,-158,807,729),19905=>array(83,-158,807,729),19906=>array(83,-158,807,729),19907=>array(83,-158,807,729),19908=>array(83,-158,807,729),19909=>array(83,-158,807,729),19910=>array(83,-158,807,729),19911=>array(83,-158,807,729),19912=>array(83,-158,807,729),19913=>array(83,-158,807,729),19914=>array(83,-158,807,729),19915=>array(83,-158,807,729),19916=>array(83,-158,807,729),19917=>array(83,-158,807,729),19918=>array(83,-158,807,729),19919=>array(83,-158,807,729),19920=>array(83,-158,807,729),19921=>array(83,-158,807,729),19922=>array(83,-158,807,729),19923=>array(83,-158,807,729),19924=>array(83,-158,807,729),19925=>array(83,-158,807,729),19926=>array(83,-158,807,729),19927=>array(83,-158,807,729),19928=>array(83,-158,807,729),19929=>array(83,-158,807,729),19930=>array(83,-158,807,729),19931=>array(83,-158,807,729),19932=>array(83,-158,807,729),19933=>array(83,-158,807,729),19934=>array(83,-158,807,729),19935=>array(83,-158,807,729),19936=>array(83,-158,807,729),19937=>array(83,-158,807,729),19938=>array(83,-158,807,729),19939=>array(83,-158,807,729),19940=>array(83,-158,807,729),19941=>array(83,-158,807,729),19942=>array(83,-158,807,729),19943=>array(83,-158,807,729),19944=>array(83,-158,807,729),19945=>array(83,-158,807,729),19946=>array(83,-158,807,729),19947=>array(83,-158,807,729),19948=>array(83,-158,807,729),19949=>array(83,-158,807,729),19950=>array(83,-158,807,729),19951=>array(83,-158,807,729),19952=>array(83,-158,807,729),19953=>array(83,-158,807,729),19954=>array(83,-158,807,729),19955=>array(83,-158,807,729),19956=>array(83,-158,807,729),19957=>array(83,-158,807,729),19958=>array(83,-158,807,729),19959=>array(83,-158,807,729),19960=>array(83,-158,807,729),19961=>array(83,-158,807,729),19962=>array(83,-158,807,729),19963=>array(83,-158,807,729),19964=>array(83,-158,807,729),19965=>array(83,-158,807,729),19966=>array(83,-158,807,729),19967=>array(83,-158,807,729),42192=>array(27,0,625,729),42193=>array(27,0,601,729),42194=>array(6,0,576,729),42195=>array(27,0,722,729),42196=>array(43,0,676,729),42197=>array(-74,0,559,729),42198=>array(45,-14,725,742),42199=>array(27,0,722,729),42200=>array(-66,0,628,729),42201=>array(5,-14,556,729),42202=>array(42,-14,695,742),42203=>array(63,-14,715,742),42204=>array(-22,0,703,729),42205=>array(27,0,587,729),42206=>array(27,0,587,729),42207=>array(27,0,836,729),42208=>array(27,0,721,729),42209=>array(27,0,497,729),42210=>array(6,-14,603,742),42211=>array(27,0,600,729),42212=>array(96,0,667,729),42213=>array(-63,0,605,729),42214=>array(78,0,742,729),42215=>array(27,0,725,729),42216=>array(47,-14,728,742),42217=>array(26,0,575,743),42218=>array(96,0,1020,729),42219=>array(-43,0,703,729),42220=>array(63,0,676,729),42221=>array(65,0,659,729),42222=>array(-53,0,615,729),42223=>array(149,0,817,729),42224=>array(27,0,630,729),42225=>array(2,0,604,729),42226=>array(27,0,268,729),42227=>array(40,-14,747,742),42228=>array(58,-14,713,729),42229=>array(15,0,661,743),42230=>array(59,0,529,729),42231=>array(56,0,740,729),42232=>array(70,0,229,155),42233=>array(41,-156,245,155),42234=>array(70,0,526,155),42235=>array(70,-156,541,155),42236=>array(6,-156,280,517),42237=>array(35,0,265,517),42238=>array(104,0,537,354),42239=>array(58,172,530,454),42564=>array(2,-14,580,742),42565=>array(11,-14,473,560),42566=>array(76,0,292,729),42567=>array(80,0,258,547),42572=>array(35,-14,1121,645),42573=>array(61,-14,958,471),42576=>array(84,0,1002,729),42577=>array(69,0,865,547),42580=>array(45,-14,1047,742),42581=>array(46,-14,801,560),42582=>array(32,0,916,729),42583=>array(41,-14,781,560),42594=>array(-37,-157,1090,729),42595=>array(-14,-138,930,547),42596=>array(-30,0,1079,729),42597=>array(-16,0,905,547),42598=>array(27,0,1190,729),42599=>array(38,0,1012,547),42600=>array(40,-14,747,742),42601=>array(46,-14,566,560),42602=>array(56,-14,799,742),42603=>array(55,-14,658,560),42604=>array(56,-14,1302,742),42605=>array(55,-14,964,560),42606=>array(28,-208,851,743),42634=>array(43,-200,723,729),42635=>array(68,-208,631,547),42636=>array(43,0,676,729),42637=>array(68,0,606,547),42644=>array(119,0,667,729),42645=>array(17,0,539,760),42760=>array(157,0,454,668),42761=>array(127,0,454,668),42762=>array(98,0,454,668),42763=>array(69,0,454,668),42764=>array(40,0,454,668),42765=>array(40,0,454,668),42766=>array(40,0,425,668),42767=>array(40,0,396,668),42768=>array(40,0,366,668),42769=>array(40,0,337,668),42770=>array(40,0,454,668),42771=>array(40,0,425,668),42772=>array(40,0,396,668),42773=>array(40,0,366,668),42774=>array(40,0,337,668),42779=>array(69,326,338,736),42780=>array(31,324,300,734),42781=>array(56,326,197,734),42782=>array(56,326,197,734),42783=>array(56,0,197,408),42786=>array(30,0,374,729),42787=>array(38,0,335,547),42788=>array(55,224,461,742),42789=>array(55,42,461,560),42790=>array(47,-200,744,729),42791=>array(37,-208,560,760),42792=>array(72,-213,832,729),42793=>array(72,-213,666,702),42794=>array(121,-14,676,742),42795=>array(9,-199,502,561),42800=>array(38,0,490,547),42801=>array(11,-14,500,560),42802=>array(-63,0,1170,729),42803=>array(38,-14,902,560),42804=>array(-53,-14,1179,742),42805=>array(41,-14,954,560),42806=>array(-53,-14,1136,729),42807=>array(41,-14,951,560),42808=>array(-63,0,1034,729),42809=>array(38,-14,841,560),42810=>array(-63,0,1034,729),42811=>array(38,-14,841,560),42812=>array(-43,-208,1042,729),42813=>array(57,-208,860,560),42814=>array(63,-14,715,742),42815=>array(2,-14,493,560),42816=>array(27,0,722,729),42817=>array(35,0,612,760),42822=>array(92,0,620,729),42823=>array(84,0,307,760),42824=>array(52,0,521,729),42825=>array(90,0,415,760),42826=>array(0,-14,811,742),42827=>array(1,-14,704,560),42830=>array(56,-14,1302,742),42831=>array(55,-14,964,560),42832=>array(-42,0,603,729),42833=>array(-83,-208,589,560),42834=>array(-5,0,733,729),42835=>array(-15,-208,729,560),42838=>array(44,-178,740,742),42839=>array(46,-208,597,560),42852=>array(27,0,579,729),42853=>array(-5,-208,586,760),42854=>array(-57,0,579,729),42855=>array(-85,-208,586,760),42880=>array(60,0,530,729),42881=>array(21,-208,257,560),42882=>array(-14,-208,663,742),42883=>array(-5,-208,566,560),42889=>array(52,0,256,517),42890=>array(62,161,325,380),42891=>array(135,235,320,729),42892=>array(70,458,206,729),42893=>array(109,0,658,729),42894=>array(41,-208,417,760),42896=>array(27,-157,721,729),42897=>array(35,-138,579,560),42912=>array(-9,-14,789,742),42913=>array(-7,-208,642,560),42914=>array(-6,0,722,729),42915=>array(-6,0,612,760),42916=>array(-8,0,756,729),42917=>array(-7,0,642,560),42918=>array(-7,0,702,729),42919=>array(-2,0,463,560),42920=>array(-6,-14,641,742),42921=>array(-4,-14,525,560),42922=>array(51,0,845,729),43002=>array(38,0,877,547),43003=>array(86,0,548,729),43004=>array(63,0,576,729),43005=>array(27,0,836,729),43006=>array(8,0,287,928),43007=>array(-38,0,1237,729),61184=>array(147,602,388,668),61185=>array(103,451,407,668),61186=>array(56,301,426,668),61187=>array(18,150,433,668),61188=>array(-21,0,432,668),61189=>array(123,451,378,668),61190=>array(118,451,358,518),61191=>array(73,301,378,518),61192=>array(26,150,397,518),61193=>array(-12,0,404,518),61194=>array(110,301,368,668),61195=>array(94,301,349,518),61196=>array(88,301,329,367),61197=>array(44,150,349,367),61198=>array(-3,0,368,367),61199=>array(105,150,345,668),61200=>array(81,150,338,518),61201=>array(64,150,319,367),61202=>array(59,150,300,217),61203=>array(15,0,319,217),61204=>array(104,0,319,668),61205=>array(76,0,316,518),61206=>array(52,0,309,367),61207=>array(35,0,290,217),61208=>array(30,0,271,66),61209=>array(40,0,236,668),62464=>array(93,-15,582,828),62465=>array(99,-15,577,828),62466=>array(95,-15,622,837),62467=>array(137,0,944,837),62468=>array(87,-15,651,837),62469=>array(89,-15,627,837),62470=>array(141,-15,649,837),62471=>array(96,-15,935,837),62472=>array(118,0,608,837),62473=>array(87,-15,656,828),62474=>array(152,0,1227,837),62475=>array(89,-15,646,837),62476=>array(96,-15,641,828),62477=>array(112,0,922,837),62478=>array(85,-15,625,828),62479=>array(97,-15,690,844),62480=>array(109,0,928,837),62481=>array(107,-15,575,828),62482=>array(106,-15,764,837),62483=>array(80,-15,643,837),62484=>array(147,-15,937,837),62485=>array(86,-15,687,828),62486=>array(126,-15,955,837),62487=>array(82,-15,687,829),62488=>array(90,-15,654,837),62489=>array(49,0,594,837),62490=>array(96,-15,689,828),62491=>array(95,-15,687,828),62492=>array(103,-15,699,837),62493=>array(86,-15,688,828),62494=>array(103,-15,586,828),62495=>array(34,-15,578,837),62496=>array(89,-15,634,837),62497=>array(91,-15,643,837),62498=>array(22,-79,629,836),62499=>array(85,-15,688,838),62500=>array(86,-15,695,837),62501=>array(83,-15,702,837),62502=>array(138,-15,1012,837),62504=>array(61,-235,898,816),62505=>array(51,-230,793,853),62506=>array(77,-15,545,765),62507=>array(77,-15,537,777),62508=>array(77,-15,552,875),62509=>array(77,-15,543,818),62510=>array(77,-15,533,887),62511=>array(77,-15,552,809),62512=>array(28,-236,570,765),62513=>array(28,-236,573,799),62514=>array(28,-236,575,901),62515=>array(28,-236,571,809),62516=>array(94,0,560,765),62517=>array(94,0,573,799),62518=>array(94,0,571,809),62519=>array(96,-0,785,765),62520=>array(96,-0,785,777),62521=>array(96,-0,785,895),62522=>array(96,-0,785,799),62523=>array(96,-0,785,809),62524=>array(55,-236,557,765),62525=>array(55,-236,557,777),62526=>array(55,-236,583,904),62527=>array(55,-236,557,799),62528=>array(55,-236,566,809),62529=>array(55,-236,557,852),63173=>array(27,-14,575,760),64256=>array(68,0,814,760),64257=>array(68,0,641,760),64258=>array(68,0,641,760),64259=>array(68,0,979,760),64260=>array(68,0,979,760),64261=>array(53,0,713,760),64262=>array(2,-14,888,742),64275=>array(54,-14,1145,760),64276=>array(54,-14,1145,760),64277=>array(73,-208,1122,760),64278=>array(73,-208,1164,760),64279=>array(73,-208,1503,760),64285=>array(84,44,264,547),64286=>array(179,625,486,765),64287=>array(80,44,462,547),64288=>array(38,0,668,547),64289=>array(85,0,878,547),64290=>array(135,0,824,547),64291=>array(101,0,825,547),64292=>array(43,0,777,547),64293=>array(135,0,823,760),64294=>array(91,0,828,547),64295=>array(135,0,780,547),64296=>array(47,-4,784,547),64297=>array(159,272,801,627),64298=>array(118,0,793,698),64299=>array(118,0,772,698),64300=>array(118,0,797,698),64301=>array(118,0,772,698),64302=>array(91,-159,684,547),64303=>array(91,-193,684,547),64304=>array(91,-159,684,547),64305=>array(43,0,549,547),64306=>array(43,-5,383,547),64307=>array(135,0,618,547),64308=>array(101,0,617,547),64309=>array(98,0,371,547),64310=>array(83,0,469,547),64312=>array(141,-14,659,552),64313=>array(91,204,370,547),64314=>array(135,-208,509,547),64315=>array(43,0,534,547),64316=>array(135,0,599,729),64318=>array(75,0,646,555),64320=>array(43,0,377,547),64321=>array(144,-14,647,547),64323=>array(108,-208,551,547),64324=>array(91,0,623,547),64326=>array(43,0,607,547),64327=>array(62,-208,740,546),64328=>array(135,0,538,547),64329=>array(118,0,772,547),64330=>array(10,-4,634,547),64331=>array(91,0,308,698),64332=>array(43,0,549,698),64333=>array(43,0,534,698),64334=>array(91,0,623,698),64335=>array(84,0,677,760),65056=>array(-299,752,181,929),65057=>array(166,752,604,929),65058=>array(-208,756,168,894),65059=>array(153,756,528,894),65533=>array(96,-84,1092,912),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>318,33=>401,34=>460,35=>838,36=>636,37=>950,38=>780,39=>275,40=>390,41=>390,42=>500,43=>838,44=>318,45=>361,46=>318,47=>337,48=>636,49=>636,50=>636,51=>636,52=>636,53=>636,54=>636,55=>636,56=>636,57=>636,58=>337,59=>337,60=>838,61=>838,62=>838,63=>531,64=>1000,65=>684,66=>686,67=>698,68=>770,69=>632,70=>575,71=>775,72=>752,73=>295,74=>295,75=>656,76=>557,77=>863,78=>748,79=>787,80=>603,81=>787,82=>695,83=>635,84=>611,85=>732,86=>684,87=>989,88=>685,89=>611,90=>685,91=>390,92=>337,93=>390,94=>838,95=>500,96=>500,97=>613,98=>635,99=>550,100=>635,101=>615,102=>352,103=>635,104=>634,105=>278,106=>278,107=>579,108=>278,109=>974,110=>634,111=>612,112=>635,113=>635,114=>411,115=>521,116=>392,117=>634,118=>592,119=>818,120=>592,121=>592,122=>525,123=>636,124=>337,125=>636,126=>838,160=>318,161=>401,162=>636,163=>636,164=>636,165=>636,166=>337,167=>500,168=>500,169=>1000,170=>471,171=>617,172=>838,173=>361,174=>1000,175=>500,176=>500,177=>838,178=>401,179=>401,180=>500,181=>636,182=>636,183=>318,184=>500,185=>401,186=>471,187=>617,188=>969,189=>969,190=>969,191=>531,192=>684,193=>684,194=>684,195=>684,196=>684,197=>684,198=>974,199=>698,200=>632,201=>632,202=>632,203=>632,204=>295,205=>295,206=>295,207=>295,208=>775,209=>748,210=>787,211=>787,212=>787,213=>787,214=>787,215=>838,216=>787,217=>732,218=>732,219=>732,220=>732,221=>611,222=>608,223=>630,224=>613,225=>613,226=>613,227=>613,228=>613,229=>613,230=>995,231=>550,232=>615,233=>615,234=>615,235=>615,236=>278,237=>278,238=>278,239=>278,240=>612,241=>634,242=>612,243=>612,244=>612,245=>612,246=>612,247=>838,248=>612,249=>634,250=>634,251=>634,252=>634,253=>592,254=>635,255=>592,256=>684,257=>613,258=>684,259=>613,260=>684,261=>613,262=>698,263=>550,264=>698,265=>550,266=>698,267=>550,268=>698,269=>550,270=>770,271=>635,272=>775,273=>635,274=>632,275=>615,276=>632,277=>615,278=>632,279=>615,280=>632,281=>615,282=>632,283=>615,284=>775,285=>635,286=>775,287=>635,288=>775,289=>635,290=>775,291=>635,292=>752,293=>634,294=>916,295=>695,296=>295,297=>278,298=>295,299=>278,300=>295,301=>278,302=>295,303=>278,304=>295,305=>278,306=>590,307=>556,308=>295,309=>278,310=>656,311=>579,312=>579,313=>557,314=>278,315=>557,316=>278,317=>557,318=>278,319=>557,320=>278,321=>562,322=>287,323=>748,324=>634,325=>748,326=>634,327=>748,328=>634,329=>813,330=>748,331=>634,332=>787,333=>612,334=>787,335=>612,336=>787,337=>612,338=>1070,339=>1028,340=>695,341=>411,342=>695,343=>411,344=>695,345=>411,346=>635,347=>521,348=>635,349=>521,350=>635,351=>521,352=>635,353=>521,354=>611,355=>392,356=>611,357=>392,358=>611,359=>392,360=>732,361=>634,362=>732,363=>634,364=>732,365=>634,366=>732,367=>634,368=>732,369=>634,370=>732,371=>634,372=>989,373=>818,374=>611,375=>592,376=>611,377=>685,378=>525,379=>685,380=>525,381=>685,382=>525,383=>352,384=>635,385=>735,386=>686,387=>635,388=>686,389=>635,390=>703,391=>698,392=>550,393=>775,394=>819,395=>686,396=>635,397=>612,398=>632,399=>787,400=>614,401=>575,402=>352,403=>775,404=>687,405=>984,406=>354,407=>295,408=>746,409=>579,410=>278,411=>592,412=>974,413=>748,414=>634,415=>787,416=>913,417=>612,418=>938,419=>737,420=>652,421=>635,422=>695,423=>635,424=>521,425=>632,426=>336,427=>392,428=>611,429=>392,430=>611,431=>838,432=>634,433=>764,434=>721,435=>744,436=>730,437=>685,438=>525,439=>666,440=>666,441=>578,442=>525,443=>636,444=>666,445=>578,446=>510,447=>635,448=>295,449=>492,450=>459,451=>295,452=>1455,453=>1295,454=>1160,455=>852,456=>835,457=>556,458=>1043,459=>1026,460=>912,461=>684,462=>613,463=>295,464=>278,465=>787,466=>612,467=>732,468=>634,469=>732,470=>634,471=>732,472=>634,473=>732,474=>634,475=>732,476=>634,477=>615,478=>684,479=>613,480=>684,481=>613,482=>974,483=>995,484=>775,485=>635,486=>775,487=>635,488=>656,489=>579,490=>787,491=>612,492=>787,493=>612,494=>666,495=>525,496=>278,497=>1455,498=>1295,499=>1160,500=>775,501=>635,502=>1113,503=>682,504=>748,505=>634,506=>684,507=>613,508=>974,509=>995,510=>787,511=>612,512=>684,513=>613,514=>684,515=>613,516=>632,517=>615,518=>632,519=>615,520=>295,521=>278,522=>295,523=>278,524=>787,525=>612,526=>787,527=>612,528=>695,529=>411,530=>695,531=>411,532=>732,533=>634,534=>732,535=>634,536=>635,537=>521,538=>611,539=>392,540=>627,541=>521,542=>752,543=>634,544=>735,545=>838,546=>698,547=>610,548=>685,549=>525,550=>684,551=>613,552=>632,553=>615,554=>787,555=>612,556=>787,557=>612,558=>787,559=>612,560=>787,561=>612,562=>611,563=>592,564=>475,565=>843,566=>477,567=>278,568=>998,569=>998,570=>684,571=>698,572=>550,573=>557,574=>611,575=>521,576=>525,577=>603,578=>479,579=>686,580=>732,581=>684,582=>632,583=>615,584=>295,585=>278,586=>781,587=>635,588=>695,589=>411,590=>611,591=>592,592=>613,593=>635,594=>635,595=>635,596=>550,597=>550,598=>635,599=>727,600=>615,601=>615,602=>844,603=>545,604=>545,605=>775,606=>664,607=>326,608=>696,609=>635,610=>629,611=>596,612=>596,613=>634,614=>634,615=>634,616=>372,617=>387,618=>372,619=>396,620=>487,621=>278,622=>706,623=>974,624=>974,625=>974,626=>646,627=>642,628=>634,629=>612,630=>858,631=>728,632=>660,633=>469,634=>469,635=>469,636=>469,637=>469,638=>530,639=>530,640=>602,641=>602,642=>521,643=>336,644=>336,645=>461,646=>336,647=>392,648=>392,649=>634,650=>618,651=>598,652=>592,653=>818,654=>592,655=>611,656=>525,657=>525,658=>578,659=>578,660=>510,661=>510,662=>510,663=>510,664=>787,665=>580,666=>664,667=>708,668=>654,669=>292,670=>667,671=>507,672=>727,673=>510,674=>510,675=>1014,676=>1058,677=>1013,678=>830,679=>610,680=>778,681=>848,682=>706,683=>654,684=>515,685=>515,686=>570,687=>664,688=>399,689=>399,690=>175,691=>259,692=>295,693=>296,694=>379,695=>515,696=>373,697=>278,698=>460,699=>318,700=>318,701=>318,702=>307,703=>307,704=>370,705=>370,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>275,713=>500,714=>500,715=>500,716=>275,717=>500,718=>500,719=>500,720=>337,721=>337,722=>307,723=>307,724=>500,725=>500,726=>390,727=>317,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>315,735=>500,736=>426,737=>166,738=>373,739=>444,740=>370,741=>493,742=>493,743=>493,744=>493,745=>493,748=>500,749=>500,750=>518,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,849=>0,850=>0,851=>0,855=>0,856=>0,858=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,880=>654,881=>568,882=>862,883=>647,884=>278,885=>278,886=>748,887=>650,890=>500,891=>549,892=>550,893=>549,894=>337,900=>500,901=>500,902=>684,903=>318,904=>767,905=>903,906=>435,908=>839,910=>860,911=>905,912=>338,913=>684,914=>686,915=>557,916=>684,917=>632,918=>685,919=>752,920=>787,921=>295,922=>656,923=>684,924=>863,925=>748,926=>632,927=>787,928=>752,929=>603,931=>632,932=>611,933=>611,934=>787,935=>685,936=>787,937=>764,938=>295,939=>611,940=>659,941=>541,942=>634,943=>338,944=>579,945=>659,946=>638,947=>592,948=>612,949=>541,950=>544,951=>634,952=>612,953=>338,954=>589,955=>592,956=>636,957=>559,958=>558,959=>612,960=>602,961=>635,962=>587,963=>634,964=>602,965=>579,966=>660,967=>592,968=>660,969=>837,970=>338,971=>579,972=>612,973=>579,974=>837,975=>656,976=>614,977=>619,978=>699,979=>842,980=>699,981=>660,982=>837,983=>664,984=>787,985=>612,986=>648,987=>587,988=>575,989=>458,990=>660,991=>660,992=>865,993=>627,994=>934,995=>837,996=>758,997=>659,998=>792,999=>615,1000=>687,1001=>607,1002=>768,1003=>625,1004=>699,1005=>612,1006=>611,1007=>536,1008=>664,1009=>635,1010=>550,1011=>278,1012=>787,1013=>615,1014=>615,1015=>608,1016=>635,1017=>698,1018=>863,1019=>651,1020=>635,1021=>703,1022=>698,1023=>703,1024=>632,1025=>632,1026=>786,1027=>557,1028=>698,1029=>635,1030=>295,1031=>295,1032=>295,1033=>1094,1034=>1045,1035=>786,1036=>710,1037=>748,1038=>609,1039=>752,1040=>684,1041=>686,1042=>686,1043=>557,1044=>781,1045=>632,1046=>1077,1047=>641,1048=>748,1049=>748,1050=>710,1051=>752,1052=>863,1053=>752,1054=>787,1055=>752,1056=>603,1057=>698,1058=>611,1059=>609,1060=>861,1061=>685,1062=>776,1063=>686,1064=>1069,1065=>1094,1066=>833,1067=>818,1068=>686,1069=>698,1070=>1080,1071=>695,1072=>613,1073=>617,1074=>589,1075=>525,1076=>691,1077=>615,1078=>901,1079=>532,1080=>650,1081=>650,1082=>604,1083=>639,1084=>754,1085=>654,1086=>612,1087=>654,1088=>635,1089=>550,1090=>583,1091=>592,1092=>855,1093=>592,1094=>681,1095=>591,1096=>915,1097=>942,1098=>707,1099=>790,1100=>589,1101=>549,1102=>842,1103=>602,1104=>615,1105=>615,1106=>625,1107=>525,1108=>549,1109=>521,1110=>278,1111=>278,1112=>278,1113=>902,1114=>898,1115=>652,1116=>604,1117=>650,1118=>592,1119=>654,1120=>934,1121=>837,1122=>771,1123=>672,1124=>942,1125=>749,1126=>879,1127=>783,1128=>1160,1129=>1001,1130=>787,1131=>612,1132=>1027,1133=>824,1134=>636,1135=>541,1136=>856,1137=>876,1138=>787,1139=>612,1140=>781,1141=>665,1142=>781,1143=>665,1144=>992,1145=>904,1146=>953,1147=>758,1148=>1180,1149=>1028,1150=>934,1151=>837,1152=>698,1153=>550,1154=>502,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>418,1161=>418,1162=>748,1163=>657,1164=>686,1165=>589,1166=>603,1167=>635,1168=>610,1169=>525,1170=>675,1171=>556,1172=>557,1173=>491,1174=>1077,1175=>901,1176=>641,1177=>532,1178=>710,1179=>604,1180=>710,1181=>604,1182=>710,1183=>604,1184=>856,1185=>832,1186=>752,1187=>661,1188=>1014,1189=>877,1190=>1113,1191=>950,1192=>890,1193=>707,1194=>698,1195=>550,1196=>611,1197=>529,1198=>611,1199=>592,1200=>611,1201=>592,1202=>685,1203=>592,1204=>934,1205=>807,1206=>686,1207=>591,1208=>686,1209=>591,1210=>686,1211=>634,1212=>929,1213=>731,1214=>929,1215=>731,1216=>295,1217=>1077,1218=>901,1219=>655,1220=>604,1221=>752,1222=>639,1223=>752,1224=>661,1225=>752,1226=>661,1227=>686,1228=>591,1229=>863,1230=>754,1231=>278,1232=>684,1233=>613,1234=>684,1235=>613,1236=>974,1237=>995,1238=>632,1239=>615,1240=>787,1241=>615,1242=>787,1243=>615,1244=>1077,1245=>901,1246=>641,1247=>532,1248=>666,1249=>578,1250=>748,1251=>650,1252=>748,1253=>650,1254=>787,1255=>612,1256=>787,1257=>612,1258=>787,1259=>612,1260=>698,1261=>549,1262=>609,1263=>592,1264=>609,1265=>592,1266=>609,1267=>592,1268=>686,1269=>591,1270=>557,1271=>491,1272=>818,1273=>790,1274=>675,1275=>556,1276=>685,1277=>592,1278=>685,1279=>592,1280=>686,1281=>589,1282=>1006,1283=>897,1284=>975,1285=>869,1286=>679,1287=>588,1288=>1072,1289=>957,1290=>1113,1291=>967,1292=>775,1293=>660,1294=>773,1295=>711,1296=>614,1297=>541,1298=>752,1299=>639,1300=>1195,1301=>997,1302=>900,1303=>867,1304=>1031,1305=>989,1306=>787,1307=>635,1308=>989,1309=>818,1310=>710,1311=>604,1312=>1113,1313=>942,1314=>1113,1315=>949,1316=>793,1317=>683,1329=>766,1330=>732,1331=>753,1332=>753,1333=>732,1334=>772,1335=>640,1336=>732,1337=>859,1338=>753,1339=>691,1340=>533,1341=>922,1342=>863,1343=>732,1344=>716,1345=>766,1346=>753,1347=>767,1348=>792,1349=>728,1350=>729,1351=>757,1352=>732,1353=>713,1354=>800,1355=>768,1356=>792,1357=>732,1358=>753,1359=>705,1360=>694,1361=>744,1362=>538,1363=>811,1364=>757,1365=>787,1366=>790,1369=>307,1370=>318,1371=>234,1372=>361,1373=>238,1374=>405,1375=>500,1377=>974,1378=>634,1379=>658,1380=>663,1381=>634,1382=>635,1383=>515,1384=>634,1385=>738,1386=>658,1387=>634,1388=>271,1389=>980,1390=>623,1391=>634,1392=>634,1393=>608,1394=>634,1395=>629,1396=>634,1397=>278,1398=>634,1399=>499,1400=>634,1401=>404,1402=>974,1403=>560,1404=>648,1405=>634,1406=>634,1407=>974,1408=>634,1409=>635,1410=>435,1411=>974,1412=>636,1413=>612,1414=>805,1415=>812,1417=>337,1418=>361,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>361,1471=>0,1472=>295,1473=>0,1474=>0,1475=>295,1478=>456,1479=>0,1488=>668,1489=>578,1490=>412,1491=>546,1492=>653,1493=>272,1494=>346,1495=>653,1496=>648,1497=>224,1498=>537,1499=>529,1500=>568,1501=>664,1502=>679,1503=>272,1504=>400,1505=>649,1506=>626,1507=>640,1508=>625,1509=>540,1510=>593,1511=>709,1512=>564,1513=>708,1514=>657,1520=>471,1521=>454,1522=>471,1523=>416,1524=>645,3647=>636,3713=>670,3714=>684,3716=>688,3719=>482,3720=>628,3722=>684,3725=>688,3732=>642,3733=>642,3734=>672,3735=>655,3737=>641,3738=>592,3739=>592,3740=>745,3741=>767,3742=>687,3743=>687,3745=>702,3746=>688,3747=>684,3749=>649,3751=>632,3754=>703,3755=>819,3757=>633,3758=>684,3759=>788,3760=>632,3761=>0,3762=>539,3763=>539,3764=>0,3765=>0,3766=>0,3767=>0,3768=>0,3769=>0,3771=>0,3772=>0,3773=>663,3776=>360,3777=>679,3778=>460,3779=>547,3780=>491,3782=>674,3784=>0,3785=>0,3786=>0,3787=>0,3788=>0,3789=>0,3792=>636,3793=>641,3794=>641,3795=>670,3796=>625,3797=>625,3798=>703,3799=>670,3800=>674,3801=>677,3804=>1028,3805=>1028,4256=>874,4257=>733,4258=>679,4259=>834,4260=>615,4261=>768,4262=>753,4263=>914,4264=>453,4265=>620,4266=>843,4267=>882,4268=>625,4269=>854,4270=>781,4271=>629,4272=>912,4273=>621,4274=>620,4275=>854,4276=>866,4277=>724,4278=>630,4279=>621,4280=>625,4281=>620,4282=>818,4283=>874,4284=>615,4285=>623,4286=>625,4287=>725,4288=>844,4289=>596,4290=>688,4291=>596,4292=>594,4293=>738,4304=>508,4305=>518,4306=>581,4307=>818,4308=>508,4309=>513,4310=>500,4311=>801,4312=>518,4313=>510,4314=>1064,4315=>522,4316=>522,4317=>786,4318=>508,4319=>518,4320=>796,4321=>522,4322=>654,4323=>522,4324=>825,4325=>513,4326=>786,4327=>518,4328=>518,4329=>522,4330=>571,4331=>522,4332=>518,4333=>520,4334=>522,4335=>454,4336=>508,4337=>518,4338=>508,4339=>508,4340=>518,4341=>554,4342=>828,4343=>552,4344=>508,4345=>571,4346=>508,4347=>448,4348=>324,5121=>684,5122=>684,5123=>684,5124=>684,5125=>769,5126=>769,5127=>769,5129=>769,5130=>769,5131=>769,5132=>835,5133=>834,5134=>835,5135=>834,5136=>835,5137=>834,5138=>967,5139=>1007,5140=>967,5141=>1007,5142=>769,5143=>967,5144=>1007,5145=>967,5146=>1007,5147=>769,5149=>256,5150=>543,5151=>423,5152=>423,5153=>389,5154=>389,5155=>393,5156=>389,5157=>466,5158=>385,5159=>256,5160=>389,5161=>389,5162=>389,5163=>1090,5164=>909,5165=>953,5166=>1117,5167=>684,5168=>684,5169=>684,5170=>684,5171=>729,5172=>729,5173=>729,5175=>729,5176=>729,5177=>729,5178=>835,5179=>684,5180=>835,5181=>834,5182=>835,5183=>834,5184=>967,5185=>1007,5186=>967,5187=>1007,5188=>967,5189=>1007,5190=>967,5191=>1007,5192=>729,5193=>508,5194=>192,5196=>732,5197=>732,5198=>732,5199=>732,5200=>730,5201=>730,5202=>730,5204=>730,5205=>730,5206=>730,5207=>921,5208=>889,5209=>921,5210=>889,5211=>921,5212=>889,5213=>928,5214=>900,5215=>928,5216=>900,5217=>947,5218=>900,5219=>947,5220=>900,5221=>947,5222=>434,5223=>877,5224=>877,5225=>866,5226=>890,5227=>628,5228=>628,5229=>628,5230=>628,5231=>628,5232=>628,5233=>628,5234=>628,5235=>628,5236=>860,5237=>771,5238=>815,5239=>816,5240=>815,5241=>816,5242=>860,5243=>771,5244=>860,5245=>771,5246=>815,5247=>816,5248=>815,5249=>816,5250=>815,5251=>407,5252=>407,5253=>750,5254=>775,5255=>750,5256=>775,5257=>628,5258=>628,5259=>628,5260=>628,5261=>628,5262=>628,5263=>628,5264=>628,5265=>628,5266=>860,5267=>771,5268=>815,5269=>816,5270=>815,5271=>816,5272=>860,5273=>771,5274=>860,5275=>771,5276=>815,5277=>816,5278=>815,5279=>816,5280=>815,5281=>435,5282=>435,5283=>610,5284=>557,5285=>557,5286=>557,5287=>610,5288=>610,5289=>610,5290=>557,5291=>557,5292=>749,5293=>769,5294=>746,5295=>764,5296=>746,5297=>764,5298=>749,5299=>769,5300=>749,5301=>769,5302=>746,5303=>764,5304=>746,5305=>764,5306=>746,5307=>386,5308=>508,5309=>386,5312=>852,5313=>852,5314=>852,5315=>852,5316=>852,5317=>852,5318=>852,5319=>852,5320=>852,5321=>1069,5322=>1035,5323=>1059,5324=>852,5325=>1059,5326=>852,5327=>852,5328=>600,5329=>453,5330=>600,5331=>852,5332=>852,5333=>852,5334=>852,5335=>852,5336=>852,5337=>852,5338=>852,5339=>852,5340=>1069,5341=>1035,5342=>1059,5343=>1030,5344=>1059,5345=>1030,5346=>1069,5347=>1035,5348=>1069,5349=>1035,5350=>1083,5351=>1030,5352=>1083,5353=>1030,5354=>600,5356=>729,5357=>603,5358=>603,5359=>603,5360=>603,5361=>603,5362=>603,5363=>603,5364=>603,5365=>603,5366=>834,5367=>754,5368=>792,5369=>771,5370=>792,5371=>771,5372=>834,5373=>754,5374=>834,5375=>754,5376=>792,5377=>771,5378=>792,5379=>771,5380=>792,5381=>418,5382=>420,5383=>418,5392=>712,5393=>712,5394=>712,5395=>892,5396=>892,5397=>892,5398=>892,5399=>910,5400=>872,5401=>910,5402=>872,5403=>910,5404=>872,5405=>1140,5406=>1100,5407=>1140,5408=>1100,5409=>1140,5410=>1100,5411=>1140,5412=>1100,5413=>641,5414=>627,5415=>627,5416=>627,5417=>627,5418=>627,5419=>627,5420=>627,5421=>627,5422=>627,5423=>844,5424=>781,5425=>816,5426=>818,5427=>816,5428=>818,5429=>844,5430=>781,5431=>844,5432=>781,5433=>816,5434=>818,5435=>816,5436=>818,5437=>816,5438=>418,5440=>389,5441=>484,5442=>916,5443=>916,5444=>863,5445=>916,5446=>863,5447=>863,5448=>603,5449=>603,5450=>603,5451=>603,5452=>603,5453=>603,5454=>834,5455=>754,5456=>418,5458=>729,5459=>684,5460=>684,5461=>684,5462=>684,5463=>726,5464=>726,5465=>726,5466=>726,5467=>924,5468=>1007,5469=>508,5470=>732,5471=>732,5472=>732,5473=>732,5474=>732,5475=>732,5476=>730,5477=>730,5478=>730,5479=>730,5480=>947,5481=>900,5482=>508,5492=>831,5493=>831,5494=>831,5495=>831,5496=>831,5497=>831,5498=>831,5499=>563,5500=>752,5501=>484,5502=>1047,5503=>1047,5504=>1047,5505=>1047,5506=>1047,5507=>1047,5508=>1047,5509=>825,5514=>831,5515=>831,5516=>831,5517=>831,5518=>1259,5519=>1259,5520=>1259,5521=>1002,5522=>1002,5523=>1259,5524=>1259,5525=>700,5526=>1073,5536=>852,5537=>852,5538=>799,5539=>799,5540=>799,5541=>799,5542=>600,5543=>643,5544=>643,5545=>643,5546=>643,5547=>643,5548=>643,5549=>643,5550=>418,5551=>628,5598=>770,5601=>770,5702=>468,5703=>468,5742=>444,5743=>1047,5744=>1310,5745=>1632,5746=>1632,5747=>1375,5748=>1375,5749=>1632,5750=>1632,7424=>592,7425=>717,7426=>982,7427=>586,7428=>550,7429=>605,7430=>605,7431=>491,7432=>541,7433=>278,7434=>395,7435=>579,7436=>583,7437=>754,7438=>650,7439=>612,7440=>550,7441=>684,7442=>684,7443=>684,7444=>1023,7446=>612,7447=>612,7448=>524,7449=>602,7450=>602,7451=>583,7452=>574,7453=>737,7454=>948,7455=>638,7456=>592,7457=>818,7458=>525,7459=>526,7462=>583,7463=>592,7464=>564,7465=>524,7466=>590,7467=>639,7468=>431,7469=>613,7470=>432,7472=>485,7473=>398,7474=>398,7475=>488,7476=>474,7477=>186,7478=>186,7479=>413,7480=>351,7481=>543,7482=>471,7483=>471,7484=>496,7485=>439,7486=>380,7487=>438,7488=>385,7489=>461,7490=>623,7491=>392,7492=>392,7493=>405,7494=>648,7495=>428,7496=>405,7497=>417,7498=>417,7499=>360,7500=>359,7501=>405,7502=>179,7503=>426,7504=>623,7505=>409,7506=>414,7507=>370,7508=>414,7509=>414,7510=>428,7511=>295,7512=>405,7513=>470,7514=>623,7515=>417,7517=>402,7518=>373,7519=>385,7520=>416,7521=>364,7522=>179,7523=>259,7524=>405,7525=>417,7526=>402,7527=>373,7528=>412,7529=>416,7530=>364,7543=>635,7544=>474,7547=>372,7549=>667,7557=>278,7579=>405,7580=>370,7581=>370,7582=>414,7583=>360,7584=>296,7585=>233,7586=>405,7587=>405,7588=>261,7589=>250,7590=>261,7591=>261,7592=>234,7593=>250,7594=>235,7595=>376,7596=>623,7597=>623,7598=>411,7599=>479,7600=>409,7601=>414,7602=>414,7603=>360,7604=>287,7605=>295,7606=>508,7607=>418,7608=>361,7609=>406,7610=>417,7611=>366,7612=>437,7613=>366,7614=>392,7615=>414,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>684,7681=>613,7682=>686,7683=>635,7684=>686,7685=>635,7686=>686,7687=>635,7688=>698,7689=>550,7690=>770,7691=>635,7692=>770,7693=>635,7694=>770,7695=>635,7696=>770,7697=>635,7698=>770,7699=>635,7700=>632,7701=>615,7702=>632,7703=>615,7704=>632,7705=>615,7706=>632,7707=>615,7708=>632,7709=>615,7710=>575,7711=>352,7712=>775,7713=>635,7714=>752,7715=>634,7716=>752,7717=>634,7718=>752,7719=>634,7720=>752,7721=>634,7722=>752,7723=>634,7724=>295,7725=>278,7726=>295,7727=>278,7728=>656,7729=>579,7730=>656,7731=>579,7732=>656,7733=>579,7734=>557,7735=>278,7736=>557,7737=>278,7738=>557,7739=>278,7740=>557,7741=>278,7742=>863,7743=>974,7744=>863,7745=>974,7746=>863,7747=>974,7748=>748,7749=>634,7750=>748,7751=>634,7752=>748,7753=>634,7754=>748,7755=>634,7756=>787,7757=>612,7758=>787,7759=>612,7760=>787,7761=>612,7762=>787,7763=>612,7764=>603,7765=>635,7766=>603,7767=>635,7768=>695,7769=>411,7770=>695,7771=>411,7772=>695,7773=>411,7774=>695,7775=>411,7776=>635,7777=>521,7778=>635,7779=>521,7780=>635,7781=>521,7782=>635,7783=>521,7784=>635,7785=>521,7786=>611,7787=>392,7788=>611,7789=>392,7790=>611,7791=>392,7792=>611,7793=>392,7794=>732,7795=>634,7796=>732,7797=>634,7798=>732,7799=>634,7800=>732,7801=>634,7802=>732,7803=>634,7804=>684,7805=>592,7806=>684,7807=>592,7808=>989,7809=>818,7810=>989,7811=>818,7812=>989,7813=>818,7814=>989,7815=>818,7816=>989,7817=>818,7818=>685,7819=>592,7820=>685,7821=>592,7822=>611,7823=>592,7824=>685,7825=>525,7826=>685,7827=>525,7828=>685,7829=>525,7830=>634,7831=>392,7832=>818,7833=>592,7834=>613,7835=>352,7836=>352,7837=>352,7838=>769,7839=>612,7840=>684,7841=>613,7842=>684,7843=>613,7844=>684,7845=>613,7846=>684,7847=>613,7848=>684,7849=>613,7850=>684,7851=>613,7852=>684,7853=>613,7854=>684,7855=>613,7856=>684,7857=>613,7858=>684,7859=>613,7860=>684,7861=>613,7862=>684,7863=>613,7864=>632,7865=>615,7866=>632,7867=>615,7868=>632,7869=>615,7870=>632,7871=>615,7872=>632,7873=>615,7874=>632,7875=>615,7876=>632,7877=>615,7878=>632,7879=>615,7880=>295,7881=>278,7882=>295,7883=>278,7884=>787,7885=>612,7886=>787,7887=>612,7888=>787,7889=>612,7890=>787,7891=>612,7892=>787,7893=>612,7894=>787,7895=>612,7896=>787,7897=>612,7898=>913,7899=>612,7900=>913,7901=>612,7902=>913,7903=>612,7904=>913,7905=>612,7906=>913,7907=>612,7908=>732,7909=>634,7910=>732,7911=>634,7912=>838,7913=>634,7914=>838,7915=>634,7916=>838,7917=>634,7918=>838,7919=>634,7920=>838,7921=>634,7922=>611,7923=>592,7924=>611,7925=>592,7926=>611,7927=>592,7928=>611,7929=>592,7930=>769,7931=>477,7936=>659,7937=>659,7938=>659,7939=>659,7940=>659,7941=>659,7942=>659,7943=>659,7944=>684,7945=>684,7946=>877,7947=>877,7948=>769,7949=>801,7950=>708,7951=>743,7952=>541,7953=>541,7954=>541,7955=>541,7956=>541,7957=>541,7960=>711,7961=>711,7962=>966,7963=>975,7964=>898,7965=>928,7968=>634,7969=>634,7970=>634,7971=>634,7972=>634,7973=>634,7974=>634,7975=>634,7976=>837,7977=>835,7978=>1086,7979=>1089,7980=>1027,7981=>1051,7982=>934,7983=>947,7984=>338,7985=>338,7986=>338,7987=>338,7988=>338,7989=>338,7990=>338,7991=>338,7992=>380,7993=>374,7994=>635,7995=>635,7996=>570,7997=>600,7998=>489,7999=>493,8000=>612,8001=>612,8002=>612,8003=>612,8004=>612,8005=>612,8008=>804,8009=>848,8010=>1095,8011=>1100,8012=>938,8013=>970,8016=>579,8017=>579,8018=>579,8019=>579,8020=>579,8021=>579,8022=>579,8023=>579,8025=>784,8027=>998,8029=>1012,8031=>897,8032=>837,8033=>837,8034=>837,8035=>837,8036=>837,8037=>837,8038=>837,8039=>837,8040=>802,8041=>843,8042=>1089,8043=>1095,8044=>946,8045=>972,8046=>921,8047=>952,8048=>659,8049=>659,8050=>541,8051=>548,8052=>634,8053=>654,8054=>338,8055=>338,8056=>612,8057=>612,8058=>579,8059=>579,8060=>837,8061=>837,8064=>659,8065=>659,8066=>659,8067=>659,8068=>659,8069=>659,8070=>659,8071=>659,8072=>684,8073=>684,8074=>877,8075=>877,8076=>769,8077=>801,8078=>708,8079=>743,8080=>634,8081=>634,8082=>634,8083=>634,8084=>634,8085=>634,8086=>634,8087=>634,8088=>837,8089=>835,8090=>1086,8091=>1089,8092=>1027,8093=>1051,8094=>934,8095=>947,8096=>837,8097=>837,8098=>837,8099=>837,8100=>837,8101=>837,8102=>837,8103=>837,8104=>802,8105=>843,8106=>1089,8107=>1095,8108=>946,8109=>972,8110=>921,8111=>952,8112=>659,8113=>659,8114=>659,8115=>659,8116=>659,8118=>659,8119=>659,8120=>684,8121=>684,8122=>716,8123=>692,8124=>684,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>634,8131=>634,8132=>654,8134=>634,8135=>634,8136=>805,8137=>746,8138=>931,8139=>871,8140=>752,8141=>500,8142=>500,8143=>500,8144=>338,8145=>338,8146=>338,8147=>338,8150=>338,8151=>338,8152=>295,8153=>295,8154=>475,8155=>408,8157=>500,8158=>500,8159=>500,8160=>579,8161=>579,8162=>579,8163=>579,8164=>635,8165=>635,8166=>579,8167=>579,8168=>611,8169=>611,8170=>845,8171=>825,8172=>685,8173=>500,8174=>500,8175=>500,8178=>837,8179=>837,8180=>837,8182=>837,8183=>837,8184=>941,8185=>813,8186=>922,8187=>826,8188=>764,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>636,8200=>318,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>361,8209=>361,8210=>636,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>318,8217=>318,8218=>318,8219=>318,8220=>518,8221=>518,8222=>518,8223=>518,8224=>500,8225=>500,8226=>590,8227=>590,8228=>333,8229=>667,8230=>1000,8231=>318,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1350,8241=>1690,8242=>227,8243=>374,8244=>520,8245=>227,8246=>374,8247=>520,8248=>339,8249=>400,8250=>400,8251=>838,8252=>485,8253=>531,8254=>500,8255=>804,8256=>804,8257=>250,8258=>1000,8259=>500,8260=>167,8261=>390,8262=>390,8263=>922,8264=>733,8265=>733,8266=>497,8267=>636,8268=>500,8269=>500,8270=>500,8271=>337,8272=>804,8273=>500,8274=>450,8275=>1000,8276=>804,8277=>838,8278=>586,8279=>663,8280=>838,8281=>838,8282=>318,8283=>797,8284=>838,8285=>318,8286=>318,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>401,8305=>179,8308=>401,8309=>401,8310=>401,8311=>401,8312=>401,8313=>401,8314=>528,8315=>528,8316=>528,8317=>246,8318=>246,8319=>399,8320=>401,8321=>401,8322=>401,8323=>401,8324=>401,8325=>401,8326=>401,8327=>401,8328=>401,8329=>401,8330=>528,8331=>528,8332=>528,8333=>246,8334=>246,8336=>392,8337=>417,8338=>414,8339=>444,8340=>417,8341=>399,8342=>426,8343=>166,8344=>623,8345=>399,8346=>428,8347=>373,8348=>295,8352=>877,8353=>636,8354=>636,8355=>636,8356=>636,8357=>974,8358=>748,8359=>1271,8360=>1074,8361=>989,8362=>838,8363=>636,8364=>636,8365=>636,8366=>636,8367=>1272,8368=>636,8369=>636,8370=>636,8371=>636,8372=>774,8373=>636,8376=>636,8377=>636,8378=>679,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8417=>0,8448=>970,8449=>970,8450=>698,8451=>1123,8452=>896,8453=>969,8454=>1032,8455=>614,8456=>698,8457=>952,8459=>988,8460=>754,8461=>850,8462=>634,8463=>634,8464=>470,8465=>697,8466=>720,8467=>413,8468=>818,8469=>801,8470=>1040,8471=>1000,8472=>697,8473=>701,8474=>787,8475=>798,8476=>814,8477=>792,8478=>896,8479=>684,8480=>1020,8481=>1014,8482=>1000,8483=>684,8484=>745,8485=>578,8486=>764,8487=>764,8488=>616,8489=>338,8490=>656,8491=>684,8492=>786,8493=>703,8494=>854,8495=>592,8496=>605,8497=>786,8498=>575,8499=>1069,8500=>462,8501=>745,8502=>674,8503=>466,8504=>645,8505=>380,8506=>926,8507=>1157,8508=>702,8509=>728,8510=>654,8511=>849,8512=>811,8513=>775,8514=>557,8515=>557,8516=>611,8517=>819,8518=>708,8519=>615,8520=>351,8521=>351,8523=>780,8526=>526,8528=>969,8529=>969,8530=>1370,8531=>969,8532=>969,8533=>969,8534=>969,8535=>969,8536=>969,8537=>969,8538=>969,8539=>969,8540=>969,8541=>969,8542=>969,8543=>568,8544=>295,8545=>492,8546=>689,8547=>923,8548=>684,8549=>922,8550=>1120,8551=>1317,8552=>917,8553=>685,8554=>933,8555=>1131,8556=>557,8557=>698,8558=>770,8559=>863,8560=>278,8561=>458,8562=>637,8563=>812,8564=>592,8565=>811,8566=>991,8567=>1170,8568=>819,8569=>592,8570=>822,8571=>1002,8572=>278,8573=>550,8574=>635,8575=>974,8576=>1245,8577=>770,8578=>1245,8579=>703,8580=>549,8581=>698,8585=>969,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>838,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>684,8705=>636,8706=>517,8707=>632,8708=>632,8709=>871,8710=>669,8711=>669,8712=>871,8713=>871,8714=>718,8715=>871,8716=>871,8717=>718,8718=>636,8719=>757,8720=>757,8721=>674,8722=>838,8723=>838,8724=>838,8725=>337,8726=>637,8727=>838,8728=>626,8729=>626,8730=>637,8731=>637,8732=>637,8733=>714,8734=>833,8735=>838,8736=>896,8737=>896,8738=>838,8739=>500,8740=>500,8741=>500,8742=>500,8743=>732,8744=>732,8745=>732,8746=>732,8747=>521,8748=>789,8749=>1057,8750=>521,8751=>789,8752=>1057,8753=>521,8754=>521,8755=>521,8756=>636,8757=>636,8758=>260,8759=>636,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8766=>838,8767=>838,8768=>375,8769=>838,8770=>838,8771=>838,8772=>838,8773=>838,8774=>838,8775=>838,8776=>838,8777=>838,8778=>838,8779=>838,8780=>838,8781=>838,8782=>838,8783=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1000,8789=>1000,8790=>838,8791=>838,8792=>838,8793=>838,8794=>838,8795=>838,8796=>838,8797=>838,8798=>838,8799=>838,8800=>838,8801=>838,8802=>838,8803=>838,8804=>838,8805=>838,8806=>838,8807=>838,8808=>838,8809=>838,8810=>1047,8811=>1047,8812=>464,8813=>838,8814=>838,8815=>838,8816=>838,8817=>838,8818=>838,8819=>838,8820=>838,8821=>838,8822=>838,8823=>838,8824=>838,8825=>838,8826=>838,8827=>838,8828=>838,8829=>838,8830=>838,8831=>838,8832=>838,8833=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8840=>838,8841=>838,8842=>838,8843=>838,8844=>732,8845=>732,8846=>732,8847=>838,8848=>838,8849=>838,8850=>838,8851=>780,8852=>780,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>871,8867=>871,8868=>871,8869=>871,8870=>521,8871=>521,8872=>871,8873=>871,8874=>871,8875=>871,8876=>871,8877=>871,8878=>871,8879=>871,8880=>838,8881=>838,8882=>838,8883=>838,8884=>838,8885=>838,8886=>1000,8887=>1000,8888=>838,8889=>838,8890=>521,8891=>732,8892=>732,8893=>732,8894=>838,8895=>838,8896=>820,8897=>820,8898=>820,8899=>820,8900=>494,8901=>318,8902=>626,8903=>838,8904=>1000,8905=>1000,8906=>1000,8907=>1000,8908=>1000,8909=>838,8910=>732,8911=>732,8912=>838,8913=>838,8914=>838,8915=>838,8916=>838,8917=>838,8918=>838,8919=>838,8920=>1422,8921=>1422,8922=>838,8923=>838,8924=>838,8925=>838,8926=>838,8927=>838,8928=>838,8929=>838,8930=>838,8931=>838,8932=>838,8933=>838,8934=>838,8935=>838,8936=>838,8937=>838,8938=>838,8939=>838,8940=>838,8941=>838,8942=>1000,8943=>1000,8944=>1000,8945=>1000,8946=>1000,8947=>871,8948=>718,8949=>871,8950=>871,8951=>718,8952=>871,8953=>871,8954=>1000,8955=>871,8956=>718,8957=>871,8958=>718,8959=>871,8960=>602,8961=>602,8962=>635,8963=>838,8964=>838,8965=>838,8966=>838,8967=>488,8968=>390,8969=>390,8970=>390,8971=>390,8972=>809,8973=>809,8974=>809,8975=>809,8976=>838,8977=>513,8984=>1000,8985=>838,8988=>469,8989=>469,8990=>469,8991=>469,8992=>521,8993=>521,8996=>1152,8997=>1152,8998=>1414,8999=>1152,9000=>1443,9003=>1414,9004=>873,9075=>338,9076=>635,9077=>837,9082=>659,9085=>757,9095=>1152,9108=>873,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>521,9166=>838,9167=>945,9187=>873,9189=>769,9192=>636,9250=>635,9251=>635,9312=>896,9313=>896,9314=>896,9315=>896,9316=>896,9317=>896,9318=>896,9319=>896,9320=>896,9321=>896,9472=>602,9473=>602,9474=>602,9475=>602,9476=>602,9477=>602,9478=>602,9479=>602,9480=>602,9481=>602,9482=>602,9483=>602,9484=>602,9485=>602,9486=>602,9487=>602,9488=>602,9489=>602,9490=>602,9491=>602,9492=>602,9493=>602,9494=>602,9495=>602,9496=>602,9497=>602,9498=>602,9499=>602,9500=>602,9501=>602,9502=>602,9503=>602,9504=>602,9505=>602,9506=>602,9507=>602,9508=>602,9509=>602,9510=>602,9511=>602,9512=>602,9513=>602,9514=>602,9515=>602,9516=>602,9517=>602,9518=>602,9519=>602,9520=>602,9521=>602,9522=>602,9523=>602,9524=>602,9525=>602,9526=>602,9527=>602,9528=>602,9529=>602,9530=>602,9531=>602,9532=>602,9533=>602,9534=>602,9535=>602,9536=>602,9537=>602,9538=>602,9539=>602,9540=>602,9541=>602,9542=>602,9543=>602,9544=>602,9545=>602,9546=>602,9547=>602,9548=>602,9549=>602,9550=>602,9551=>602,9552=>602,9553=>602,9554=>602,9555=>602,9556=>602,9557=>602,9558=>602,9559=>602,9560=>602,9561=>602,9562=>602,9563=>602,9564=>602,9565=>602,9566=>602,9567=>602,9568=>602,9569=>602,9570=>602,9571=>602,9572=>602,9573=>602,9574=>602,9575=>602,9576=>602,9577=>602,9578=>602,9579=>602,9580=>602,9581=>602,9582=>602,9583=>602,9584=>602,9585=>602,9586=>602,9587=>602,9588=>602,9589=>602,9590=>602,9591=>602,9592=>602,9593=>602,9594=>602,9595=>602,9596=>602,9597=>602,9598=>602,9599=>602,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>791,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>769,9697=>769,9698=>769,9699=>769,9700=>769,9701=>769,9702=>590,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9729=>1000,9730=>896,9731=>896,9732=>896,9733=>896,9734=>896,9735=>573,9736=>896,9737=>896,9738=>888,9739=>888,9740=>671,9741=>1013,9742=>1246,9743=>1250,9744=>896,9745=>896,9746=>896,9747=>532,9748=>896,9749=>896,9750=>896,9751=>896,9752=>896,9753=>896,9754=>896,9755=>896,9756=>896,9757=>609,9758=>896,9759=>609,9760=>896,9761=>896,9762=>896,9763=>896,9764=>669,9765=>746,9766=>649,9767=>784,9768=>545,9769=>896,9770=>896,9771=>896,9772=>710,9773=>896,9774=>896,9775=>896,9776=>890,9777=>890,9778=>890,9779=>890,9780=>890,9781=>890,9782=>890,9783=>890,9784=>896,9785=>1042,9786=>1042,9787=>1042,9788=>896,9789=>896,9790=>896,9791=>614,9792=>732,9793=>732,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9800=>896,9801=>896,9802=>896,9803=>896,9804=>896,9805=>896,9806=>896,9807=>896,9808=>896,9809=>896,9810=>896,9811=>896,9812=>896,9813=>896,9814=>896,9815=>896,9816=>896,9817=>896,9818=>896,9819=>896,9820=>896,9821=>896,9822=>896,9823=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9832=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,9840=>748,9841=>766,9842=>896,9843=>896,9844=>896,9845=>896,9846=>896,9847=>896,9848=>896,9849=>896,9850=>896,9851=>896,9852=>896,9853=>896,9854=>896,9855=>896,9856=>869,9857=>869,9858=>869,9859=>869,9860=>869,9861=>869,9862=>890,9863=>890,9864=>890,9865=>890,9866=>890,9867=>890,9868=>890,9869=>890,9870=>890,9871=>890,9872=>750,9873=>750,9874=>890,9875=>816,9876=>716,9877=>537,9878=>852,9879=>890,9880=>684,9881=>896,9882=>708,9883=>890,9884=>890,9888=>890,9889=>702,9890=>1004,9891=>1089,9892=>1175,9893=>903,9894=>838,9895=>838,9896=>838,9897=>838,9898=>838,9899=>838,9900=>838,9901=>838,9902=>838,9903=>838,9904=>844,9905=>838,9906=>732,9907=>732,9908=>732,9909=>732,9910=>850,9911=>732,9912=>732,9920=>838,9921=>838,9922=>838,9923=>838,9954=>732,9985=>838,9986=>838,9987=>838,9988=>838,9990=>838,9991=>838,9992=>838,9993=>838,9996=>838,9997=>838,9998=>838,9999=>838,10000=>838,10001=>838,10002=>838,10003=>838,10004=>838,10005=>838,10006=>838,10007=>838,10008=>838,10009=>838,10010=>838,10011=>838,10012=>838,10013=>838,10014=>838,10015=>838,10016=>838,10017=>838,10018=>838,10019=>838,10020=>838,10021=>838,10022=>838,10023=>838,10025=>838,10026=>838,10027=>838,10028=>838,10029=>838,10030=>838,10031=>838,10032=>838,10033=>838,10034=>838,10035=>838,10036=>838,10037=>838,10038=>838,10039=>838,10040=>838,10041=>838,10042=>838,10043=>838,10044=>838,10045=>838,10046=>838,10047=>838,10048=>838,10049=>838,10050=>838,10051=>838,10052=>838,10053=>838,10054=>838,10055=>838,10056=>838,10057=>838,10058=>838,10059=>838,10061=>896,10063=>896,10064=>896,10065=>896,10066=>896,10070=>896,10072=>838,10073=>838,10074=>838,10075=>322,10076=>322,10077=>538,10078=>538,10081=>838,10082=>838,10083=>838,10084=>838,10085=>838,10086=>838,10087=>838,10088=>838,10089=>838,10090=>838,10091=>838,10092=>838,10093=>838,10094=>838,10095=>838,10096=>838,10097=>838,10098=>838,10099=>838,10100=>838,10101=>838,10102=>896,10103=>896,10104=>896,10105=>896,10106=>896,10107=>896,10108=>896,10109=>896,10110=>896,10111=>896,10112=>838,10113=>838,10114=>838,10115=>838,10116=>838,10117=>838,10118=>838,10119=>838,10120=>838,10121=>838,10122=>838,10123=>838,10124=>838,10125=>838,10126=>838,10127=>838,10128=>838,10129=>838,10130=>838,10131=>838,10132=>838,10136=>838,10137=>838,10138=>838,10139=>838,10140=>838,10141=>838,10142=>838,10143=>838,10144=>838,10145=>838,10146=>838,10147=>838,10148=>838,10149=>838,10150=>838,10151=>838,10152=>838,10153=>838,10154=>838,10155=>838,10156=>838,10157=>838,10158=>838,10159=>838,10161=>838,10162=>838,10163=>838,10164=>838,10165=>838,10166=>838,10167=>838,10168=>838,10169=>838,10170=>838,10171=>838,10172=>838,10173=>838,10174=>838,10181=>390,10182=>390,10208=>494,10214=>495,10215=>495,10216=>390,10217=>390,10218=>556,10219=>556,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1157,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>732,10241=>732,10242=>732,10243=>732,10244=>732,10245=>732,10246=>732,10247=>732,10248=>732,10249=>732,10250=>732,10251=>732,10252=>732,10253=>732,10254=>732,10255=>732,10256=>732,10257=>732,10258=>732,10259=>732,10260=>732,10261=>732,10262=>732,10263=>732,10264=>732,10265=>732,10266=>732,10267=>732,10268=>732,10269=>732,10270=>732,10271=>732,10272=>732,10273=>732,10274=>732,10275=>732,10276=>732,10277=>732,10278=>732,10279=>732,10280=>732,10281=>732,10282=>732,10283=>732,10284=>732,10285=>732,10286=>732,10287=>732,10288=>732,10289=>732,10290=>732,10291=>732,10292=>732,10293=>732,10294=>732,10295=>732,10296=>732,10297=>732,10298=>732,10299=>732,10300=>732,10301=>732,10302=>732,10303=>732,10304=>732,10305=>732,10306=>732,10307=>732,10308=>732,10309=>732,10310=>732,10311=>732,10312=>732,10313=>732,10314=>732,10315=>732,10316=>732,10317=>732,10318=>732,10319=>732,10320=>732,10321=>732,10322=>732,10323=>732,10324=>732,10325=>732,10326=>732,10327=>732,10328=>732,10329=>732,10330=>732,10331=>732,10332=>732,10333=>732,10334=>732,10335=>732,10336=>732,10337=>732,10338=>732,10339=>732,10340=>732,10341=>732,10342=>732,10343=>732,10344=>732,10345=>732,10346=>732,10347=>732,10348=>732,10349=>732,10350=>732,10351=>732,10352=>732,10353=>732,10354=>732,10355=>732,10356=>732,10357=>732,10358=>732,10359=>732,10360=>732,10361=>732,10362=>732,10363=>732,10364=>732,10365=>732,10366=>732,10367=>732,10368=>732,10369=>732,10370=>732,10371=>732,10372=>732,10373=>732,10374=>732,10375=>732,10376=>732,10377=>732,10378=>732,10379=>732,10380=>732,10381=>732,10382=>732,10383=>732,10384=>732,10385=>732,10386=>732,10387=>732,10388=>732,10389=>732,10390=>732,10391=>732,10392=>732,10393=>732,10394=>732,10395=>732,10396=>732,10397=>732,10398=>732,10399=>732,10400=>732,10401=>732,10402=>732,10403=>732,10404=>732,10405=>732,10406=>732,10407=>732,10408=>732,10409=>732,10410=>732,10411=>732,10412=>732,10413=>732,10414=>732,10415=>732,10416=>732,10417=>732,10418=>732,10419=>732,10420=>732,10421=>732,10422=>732,10423=>732,10424=>732,10425=>732,10426=>732,10427=>732,10428=>732,10429=>732,10430=>732,10431=>732,10432=>732,10433=>732,10434=>732,10435=>732,10436=>732,10437=>732,10438=>732,10439=>732,10440=>732,10441=>732,10442=>732,10443=>732,10444=>732,10445=>732,10446=>732,10447=>732,10448=>732,10449=>732,10450=>732,10451=>732,10452=>732,10453=>732,10454=>732,10455=>732,10456=>732,10457=>732,10458=>732,10459=>732,10460=>732,10461=>732,10462=>732,10463=>732,10464=>732,10465=>732,10466=>732,10467=>732,10468=>732,10469=>732,10470=>732,10471=>732,10472=>732,10473=>732,10474=>732,10475=>732,10476=>732,10477=>732,10478=>732,10479=>732,10480=>732,10481=>732,10482=>732,10483=>732,10484=>732,10485=>732,10486=>732,10487=>732,10488=>732,10489=>732,10490=>732,10491=>732,10492=>732,10493=>732,10494=>732,10495=>732,10502=>838,10503=>838,10506=>838,10507=>838,10560=>683,10561=>683,10627=>734,10628=>734,10702=>838,10703=>1000,10704=>1000,10705=>1000,10706=>1000,10707=>1000,10708=>1000,10709=>1000,10731=>494,10746=>838,10747=>838,10752=>1000,10753=>1000,10754=>1000,10764=>1325,10765=>521,10766=>521,10767=>521,10768=>521,10769=>521,10770=>521,10771=>521,10772=>521,10773=>521,10774=>521,10775=>521,10776=>521,10777=>521,10778=>521,10779=>521,10780=>521,10799=>838,10858=>838,10859=>838,10877=>838,10878=>838,10879=>838,10880=>838,10881=>838,10882=>838,10883=>838,10884=>838,10885=>838,10886=>838,10887=>838,10888=>838,10889=>838,10890=>838,10891=>838,10892=>838,10893=>838,10894=>838,10895=>838,10896=>838,10897=>838,10898=>838,10899=>838,10900=>838,10901=>838,10902=>838,10903=>838,10904=>838,10905=>838,10906=>838,10907=>838,10908=>838,10909=>838,10910=>838,10911=>838,10912=>838,10926=>838,10927=>838,10928=>838,10929=>838,10930=>838,10931=>838,10932=>838,10933=>838,10934=>838,10935=>838,10936=>838,10937=>838,10938=>838,11001=>838,11002=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>836,11023=>836,11024=>836,11025=>836,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11039=>869,11040=>869,11041=>873,11042=>873,11043=>873,11044=>1119,11091=>869,11092=>869,11360=>557,11361=>278,11362=>557,11363=>603,11364=>695,11365=>613,11366=>392,11367=>752,11368=>634,11369=>656,11370=>579,11371=>685,11372=>525,11373=>781,11374=>863,11375=>684,11376=>781,11377=>734,11378=>1128,11379=>961,11380=>592,11381=>654,11382=>568,11383=>660,11385=>414,11386=>612,11387=>491,11388=>175,11389=>431,11390=>635,11391=>685,11520=>591,11521=>595,11522=>564,11523=>602,11524=>587,11525=>911,11526=>626,11527=>952,11528=>595,11529=>607,11530=>954,11531=>620,11532=>595,11533=>926,11534=>595,11535=>806,11536=>931,11537=>584,11538=>592,11539=>923,11540=>953,11541=>828,11542=>596,11543=>595,11544=>590,11545=>592,11546=>592,11547=>621,11548=>920,11549=>589,11550=>586,11551=>581,11552=>914,11553=>596,11554=>595,11555=>592,11556=>642,11557=>901,11800=>531,11807=>838,11810=>390,11811=>390,11812=>390,11813=>390,11822=>531,19904=>896,19905=>896,19906=>896,19907=>896,19908=>896,19909=>896,19910=>896,19911=>896,19912=>896,19913=>896,19914=>896,19915=>896,19916=>896,19917=>896,19918=>896,19919=>896,19920=>896,19921=>896,19922=>896,19923=>896,19924=>896,19925=>896,19926=>896,19927=>896,19928=>896,19929=>896,19930=>896,19931=>896,19932=>896,19933=>896,19934=>896,19935=>896,19936=>896,19937=>896,19938=>896,19939=>896,19940=>896,19941=>896,19942=>896,19943=>896,19944=>896,19945=>896,19946=>896,19947=>896,19948=>896,19949=>896,19950=>896,19951=>896,19952=>896,19953=>896,19954=>896,19955=>896,19956=>896,19957=>896,19958=>896,19959=>896,19960=>896,19961=>896,19962=>896,19963=>896,19964=>896,19965=>896,19966=>896,19967=>896,42192=>686,42193=>603,42194=>603,42195=>770,42196=>611,42197=>611,42198=>775,42199=>656,42200=>656,42201=>512,42202=>698,42203=>703,42204=>685,42205=>575,42206=>575,42207=>863,42208=>748,42209=>557,42210=>635,42211=>695,42212=>695,42213=>684,42214=>684,42215=>752,42216=>775,42217=>512,42218=>989,42219=>685,42220=>611,42221=>686,42222=>684,42223=>684,42224=>632,42225=>632,42226=>295,42227=>787,42228=>732,42229=>732,42230=>557,42231=>767,42232=>300,42233=>300,42234=>596,42235=>596,42236=>300,42237=>300,42238=>588,42239=>588,42564=>635,42565=>521,42566=>354,42567=>338,42572=>1180,42573=>1028,42576=>1029,42577=>906,42580=>1080,42581=>842,42582=>985,42583=>847,42594=>1024,42595=>925,42596=>1014,42597=>900,42598=>863,42599=>1008,42600=>787,42601=>612,42602=>855,42603=>712,42604=>1358,42605=>1019,42606=>879,42634=>805,42635=>722,42636=>611,42637=>583,42644=>686,42645=>634,42760=>493,42761=>493,42762=>493,42763=>493,42764=>493,42765=>493,42766=>493,42767=>493,42768=>493,42769=>493,42770=>493,42771=>493,42772=>493,42773=>493,42774=>493,42779=>369,42780=>369,42781=>252,42782=>252,42783=>252,42786=>385,42787=>356,42788=>472,42789=>472,42790=>752,42791=>634,42792=>878,42793=>709,42794=>614,42795=>541,42800=>491,42801=>521,42802=>1250,42803=>985,42804=>1219,42805=>1000,42806=>1155,42807=>996,42808=>971,42809=>818,42810=>971,42811=>818,42812=>959,42813=>818,42814=>698,42815=>549,42816=>656,42817=>579,42822=>680,42823=>392,42824=>582,42825=>427,42826=>807,42827=>704,42830=>1358,42831=>1019,42832=>603,42833=>635,42834=>734,42835=>774,42838=>787,42839=>635,42852=>605,42853=>635,42854=>605,42855=>635,42880=>557,42881=>278,42882=>735,42883=>634,42889=>337,42890=>376,42891=>401,42892=>275,42893=>686,42894=>487,42896=>772,42897=>667,42912=>775,42913=>635,42914=>656,42915=>579,42916=>748,42917=>634,42918=>695,42919=>411,42920=>635,42921=>521,42922=>872,43002=>915,43003=>575,43004=>603,43005=>863,43006=>295,43007=>1199,61184=>213,61185=>238,61186=>257,61187=>264,61188=>267,61189=>238,61190=>213,61191=>238,61192=>257,61193=>264,61194=>257,61195=>238,61196=>213,61197=>238,61198=>257,61199=>264,61200=>257,61201=>238,61202=>213,61203=>238,61204=>267,61205=>264,61206=>257,61207=>238,61208=>213,61209=>275,62464=>580,62465=>580,62466=>624,62467=>889,62468=>585,62469=>580,62470=>653,62471=>882,62472=>555,62473=>580,62474=>1168,62475=>589,62476=>590,62477=>869,62478=>580,62479=>589,62480=>914,62481=>590,62482=>731,62483=>583,62484=>872,62485=>589,62486=>895,62487=>589,62488=>589,62489=>590,62490=>649,62491=>589,62492=>589,62493=>599,62494=>590,62495=>516,62496=>580,62497=>584,62498=>580,62499=>580,62500=>581,62501=>638,62502=>955,62504=>931,62505=>808,62506=>508,62507=>508,62508=>508,62509=>508,62510=>508,62511=>508,62512=>508,62513=>508,62514=>508,62515=>508,62516=>518,62517=>518,62518=>518,62519=>787,62520=>787,62521=>787,62522=>787,62523=>787,62524=>546,62525=>546,62526=>546,62527=>546,62528=>546,62529=>546,63173=>612,64256=>722,64257=>646,64258=>646,64259=>1000,64260=>1000,64261=>686,64262=>861,64275=>1202,64276=>1202,64277=>1196,64278=>1186,64279=>1529,64285=>224,64286=>0,64287=>471,64288=>636,64289=>856,64290=>774,64291=>906,64292=>771,64293=>843,64294=>855,64295=>807,64296=>875,64297=>838,64298=>708,64299=>708,64300=>708,64301=>708,64302=>668,64303=>668,64304=>668,64305=>578,64306=>412,64307=>546,64308=>653,64309=>272,64310=>346,64311=>1000,64312=>648,64313=>307,64314=>537,64315=>529,64316=>568,64317=>1000,64318=>679,64319=>1000,64320=>400,64321=>649,64322=>1000,64323=>640,64324=>625,64325=>1000,64326=>593,64327=>709,64328=>564,64329=>708,64330=>657,64331=>272,64332=>578,64333=>529,64334=>625,64335=>629,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65056=>0,65057=>0,65058=>0,65059=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1025,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansi.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansi.z new file mode 100644 index 0000000..6a1b2b8 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.ctg.z new file mode 100644 index 0000000..209e2d5 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.php new file mode 100644 index 0000000..5e0c537 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.php @@ -0,0 +1,16 @@ +33,'FontBBox'=>'[-558 -375 718 1042]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>34,'StemH'=>15,'AvgWidth'=>602,'MaxWidth'=>602,'MissingWidth'=>602); +$cbbox=array(0=>array(51,-177,551,705),33=>array(252,0,351,729),34=>array(165,458,437,729),35=>array(1,0,600,718),36=>array(93,-147,544,760),37=>array(16,0,586,699),38=>array(28,-14,596,742),39=>array(258,458,343,729),40=>array(208,-132,432,759),41=>array(170,-132,394,759),42=>array(81,286,521,742),43=>array(43,55,559,572),44=>array(197,-140,368,148),45=>array(174,234,428,314),46=>array(239,0,362,149),47=>array(50,-93,527,729),48=>array(65,-14,537,742),49=>array(120,0,534,729),50=>array(74,0,517,742),51=>array(67,-14,527,742),52=>array(50,0,554,729),53=>array(70,-14,522,729),54=>array(65,-14,537,742),55=>array(68,0,527,729),56=>array(64,-14,538,742),57=>array(62,-14,534,742),58=>array(239,0,362,519),59=>array(197,-140,368,519),60=>array(43,69,559,558),61=>array(43,172,559,454),62=>array(43,69,559,558),63=>array(119,0,508,742),64=>array(13,-156,575,681),65=>array(18,0,584,729),66=>array(81,0,555,729),67=>array(68,-14,524,742),68=>array(67,0,540,729),69=>array(96,0,538,729),70=>array(114,0,543,729),71=>array(50,-14,539,742),72=>array(67,0,535,729),73=>array(98,0,503,729),74=>array(53,-14,467,729),75=>array(67,0,598,729),76=>array(105,0,556,729),77=>array(42,0,559,729),78=>array(68,0,534,729),79=>array(57,-14,545,742),80=>array(96,0,557,729),81=>array(57,-132,545,742),82=>array(70,0,602,729),83=>array(68,-14,536,742),84=>array(23,0,579,729),85=>array(72,-14,530,729),86=>array(28,0,574,729),87=>array(0,0,602,729),88=>array(9,0,593,729),89=>array(18,0,584,729),90=>array(76,0,571,729),91=>array(226,-132,433,760),92=>array(50,-93,527,729),93=>array(169,-132,376,760),94=>array(35,457,567,729),95=>array(0,-236,602,-197),96=>array(136,616,370,800),97=>array(65,-14,517,560),98=>array(94,-14,543,760),99=>array(95,-14,518,560),100=>array(60,-14,509,760),101=>array(60,-14,543,560),102=>array(95,0,519,760),103=>array(60,-215,509,560),104=>array(95,0,513,760),105=>array(87,0,533,760),106=>array(91,-208,383,760),107=>array(115,0,587,760),108=>array(78,0,505,765),109=>array(53,0,554,560),110=>array(95,0,513,560),111=>array(67,-14,535,560),112=>array(93,-208,541,560),113=>array(67,-210,515,558),114=>array(177,0,564,560),115=>array(104,-14,503,560),116=>array(64,0,504,702),117=>array(95,-14,513,546),118=>array(49,0,553,547),119=>array(0,0,602,547),120=>array(37,0,565,547),121=>array(51,-208,563,547),122=>array(99,0,508,548),123=>array(108,-163,494,760),124=>array(259,-236,343,764),125=>array(108,-163,494,760),126=>array(43,240,559,381),161=>array(252,0,351,729),162=>array(104,-153,518,699),163=>array(68,0,543,742),164=>array(100,95,537,532),165=>array(18,0,584,729),166=>array(259,-171,343,699),167=>array(97,-95,506,742),168=>array(156,659,446,758),169=>array(0,61,602,663),170=>array(132,229,469,742),171=>array(58,69,509,517),172=>array(43,181,559,421),173=>array(174,234,428,314),174=>array(0,61,602,663),175=>array(155,673,447,745),176=>array(146,432,456,742),177=>array(43,0,559,572),178=>array(157,326,436,742),179=>array(159,319,451,742),180=>array(232,616,466,800),181=>array(95,-209,577,547),182=>array(52,-96,503,729),183=>array(239,273,362,422),184=>array(193,-193,395,0),185=>array(168,326,447,734),186=>array(119,229,483,742),187=>array(94,69,545,517),188=>array(13,-132,544,810),189=>array(13,-132,544,810),190=>array(13,-132,544,818),191=>array(94,-13,483,729),192=>array(18,0,584,927),193=>array(18,0,584,927),194=>array(18,0,584,928),195=>array(18,0,584,921),196=>array(18,0,584,913),197=>array(18,0,584,928),198=>array(0,0,576,729),199=>array(68,-193,524,742),200=>array(96,0,538,927),201=>array(96,0,538,927),202=>array(96,0,538,928),203=>array(96,0,538,913),204=>array(98,0,503,927),205=>array(98,0,503,927),206=>array(98,0,503,928),207=>array(98,0,503,913),208=>array(4,0,538,729),209=>array(68,0,534,923),210=>array(57,-14,545,927),211=>array(57,-14,545,927),212=>array(57,-14,545,928),213=>array(57,-14,545,921),214=>array(57,-14,545,913),215=>array(73,85,529,541),216=>array(4,-34,586,761),217=>array(72,-14,530,927),218=>array(72,-14,530,927),219=>array(72,-14,530,928),220=>array(72,-14,530,913),221=>array(18,0,584,927),222=>array(98,0,569,729),223=>array(92,-14,561,760),224=>array(65,-14,517,800),225=>array(65,-14,517,800),226=>array(65,-14,517,800),227=>array(65,-14,517,777),228=>array(65,-14,517,758),229=>array(65,-14,517,878),230=>array(20,-14,586,560),231=>array(95,-193,518,560),232=>array(60,-14,543,800),233=>array(60,-14,543,800),234=>array(60,-14,543,800),235=>array(60,-14,543,758),236=>array(87,0,533,800),237=>array(87,0,533,800),238=>array(87,0,533,800),239=>array(87,0,533,758),240=>array(67,-14,535,760),241=>array(95,0,513,777),242=>array(67,-14,535,800),243=>array(67,-14,535,800),244=>array(67,-14,535,800),245=>array(67,-14,535,777),246=>array(67,-14,535,758),247=>array(43,73,559,554),248=>array(23,-47,573,592),249=>array(95,-14,513,800),250=>array(95,-14,513,800),251=>array(95,-14,513,800),252=>array(95,-14,513,758),253=>array(51,-208,563,800),254=>array(93,-208,541,765),255=>array(51,-208,563,758),256=>array(18,0,584,898),257=>array(65,-14,517,745),258=>array(18,0,584,928),259=>array(65,-14,517,785),260=>array(18,-193,609,729),261=>array(65,-193,556,560),262=>array(68,-14,524,927),263=>array(95,-14,518,800),264=>array(68,-14,524,932),265=>array(95,-14,518,800),266=>array(68,-14,524,914),267=>array(95,-14,518,758),268=>array(68,-14,524,928),269=>array(95,-14,518,800),270=>array(67,0,540,925),271=>array(60,-14,641,760),272=>array(4,0,538,729),273=>array(60,-14,602,760),274=>array(96,0,538,898),275=>array(60,-14,543,745),276=>array(96,0,538,928),277=>array(60,-14,543,785),278=>array(96,0,538,914),279=>array(60,-14,543,758),280=>array(96,-193,538,729),281=>array(60,-193,543,560),282=>array(96,0,538,925),283=>array(60,-14,543,797),284=>array(50,-14,539,928),285=>array(60,-215,509,800),286=>array(50,-14,539,928),287=>array(60,-215,509,785),288=>array(50,-14,539,914),289=>array(60,-215,509,758),290=>array(50,-280,539,742),291=>array(60,-215,509,788),292=>array(67,0,535,928),293=>array(95,0,513,928),294=>array(1,0,601,729),295=>array(34,0,513,760),296=>array(98,0,503,921),297=>array(87,0,533,777),298=>array(98,0,503,898),299=>array(87,0,533,745),300=>array(98,0,503,928),301=>array(87,0,533,785),302=>array(98,-193,503,729),303=>array(87,-193,533,760),304=>array(98,0,503,914),305=>array(87,0,533,547),306=>array(-0,-13,600,730),307=>array(-2,-213,567,760),308=>array(53,-14,474,928),309=>array(91,-208,457,800),310=>array(67,-266,598,729),311=>array(115,-266,587,760),312=>array(115,0,587,547),313=>array(98,0,556,928),314=>array(78,0,505,928),315=>array(105,-266,556,729),316=>array(78,-266,505,765),317=>array(105,0,556,729),318=>array(78,0,565,765),319=>array(105,0,556,729),320=>array(78,0,592,765),321=>array(-5,0,556,729),322=>array(37,0,505,765),323=>array(68,0,534,927),324=>array(95,0,513,803),325=>array(68,-266,534,729),326=>array(95,-266,513,560),327=>array(68,0,534,928),328=>array(95,0,513,800),329=>array(12,0,573,760),330=>array(72,-208,530,743),331=>array(95,-208,513,560),332=>array(57,-14,545,898),333=>array(67,-14,535,745),334=>array(57,-14,545,928),335=>array(67,-14,535,785),336=>array(57,-14,545,927),337=>array(67,-14,535,800),338=>array(35,0,594,729),339=>array(7,-14,591,560),340=>array(70,0,602,927),341=>array(177,0,566,803),342=>array(70,-266,602,729),343=>array(141,-266,564,560),344=>array(70,0,602,925),345=>array(177,0,564,800),346=>array(68,-14,536,927),347=>array(104,-14,503,803),348=>array(68,-14,536,928),349=>array(104,-14,503,800),350=>array(68,-193,536,742),351=>array(104,-193,503,560),352=>array(68,-14,536,928),353=>array(104,-14,503,800),354=>array(23,-193,579,729),355=>array(64,-193,504,702),356=>array(23,0,579,928),357=>array(64,0,504,812),358=>array(23,0,579,729),359=>array(64,0,504,702),360=>array(72,-14,530,921),361=>array(95,-14,513,777),362=>array(72,-14,530,898),363=>array(95,-14,513,745),364=>array(72,-14,530,928),365=>array(95,-14,513,785),366=>array(72,-14,530,1042),367=>array(95,-14,513,856),368=>array(72,-14,530,927),369=>array(95,-14,513,800),370=>array(72,-201,530,729),371=>array(95,-193,586,546),372=>array(0,0,602,932),373=>array(0,0,602,803),374=>array(18,0,584,932),375=>array(51,-208,563,803),376=>array(18,0,584,913),377=>array(76,0,571,927),378=>array(99,0,508,803),379=>array(76,0,571,914),380=>array(99,0,508,758),381=>array(76,0,571,928),382=>array(99,0,508,800),383=>array(95,0,519,760),384=>array(34,-14,543,760),385=>array(10,0,581,729),386=>array(81,0,555,729),387=>array(94,-14,543,760),388=>array(23,0,579,729),389=>array(29,-14,572,760),390=>array(68,-14,524,742),391=>array(29,-14,573,800),392=>array(46,-14,556,694),393=>array(4,0,538,729),394=>array(4,0,598,729),395=>array(64,0,538,729),396=>array(77,-14,525,760),397=>array(66,-220,535,560),398=>array(96,0,538,729),399=>array(57,-14,545,742),400=>array(67,-14,527,742),401=>array(31,-208,571,729),402=>array(95,-208,519,760),403=>array(25,-14,577,800),404=>array(14,-210,589,661),405=>array(32,0,570,760),406=>array(98,0,528,729),407=>array(98,0,503,729),408=>array(54,0,595,729),409=>array(115,0,587,760),410=>array(78,0,505,765),411=>array(24,0,553,729),412=>array(53,-13,554,729),413=>array(14,-208,512,729),414=>array(95,-210,513,560),415=>array(57,-14,545,742),416=>array(3,-14,582,760),417=>array(16,-14,587,560),418=>array(22,-14,580,742),419=>array(42,-210,583,560),420=>array(27,0,575,729),421=>array(93,-208,541,699),422=>array(70,-129,602,729),423=>array(68,-14,536,742),424=>array(104,-14,503,560),425=>array(59,0,553,729),426=>array(58,-208,544,760),427=>array(64,-208,504,702),428=>array(23,0,579,729),429=>array(64,0,504,760),430=>array(23,-208,579,729),431=>array(4,-14,598,762),432=>array(19,-14,583,555),433=>array(36,0,566,713),434=>array(75,0,521,729),435=>array(8,0,594,730),436=>array(12,-208,598,553),437=>array(76,0,571,729),438=>array(76,0,526,548),439=>array(13,-14,589,729),440=>array(13,-14,589,729),441=>array(61,-213,541,547),442=>array(84,-208,518,547),443=>array(74,0,517,742),444=>array(13,-14,589,729),445=>array(61,-213,541,547),446=>array(95,-14,507,702),447=>array(61,-208,550,560),448=>array(251,0,351,729),449=>array(153,0,449,729),450=>array(80,0,522,729),451=>array(251,0,351,729),461=>array(18,0,584,928),462=>array(65,-14,517,800),463=>array(98,0,503,928),464=>array(87,0,533,800),465=>array(57,-14,545,928),466=>array(67,-14,535,800),467=>array(72,-14,530,928),468=>array(95,-14,513,800),469=>array(72,-14,530,953),470=>array(95,-14,513,899),471=>array(72,-14,530,997),472=>array(95,-14,513,954),473=>array(72,-14,530,998),474=>array(95,-14,513,954),475=>array(72,-14,530,997),476=>array(95,-14,513,954),477=>array(60,-14,542,560),478=>array(18,0,584,953),479=>array(65,-14,517,899),480=>array(18,0,584,953),481=>array(65,-14,517,899),482=>array(0,0,576,898),483=>array(20,-14,586,745),486=>array(50,-14,539,928),487=>array(60,-215,509,800),488=>array(67,0,598,928),489=>array(115,0,587,928),490=>array(57,-201,545,742),491=>array(67,-201,535,560),492=>array(57,-201,545,898),493=>array(67,-201,535,745),494=>array(13,-14,589,928),495=>array(61,-213,541,800),496=>array(91,-208,474,797),500=>array(50,-14,539,927),501=>array(60,-215,509,800),502=>array(30,-14,572,729),504=>array(68,0,534,927),505=>array(95,0,513,800),508=>array(0,0,576,927),509=>array(20,-14,586,800),510=>array(4,-34,586,927),511=>array(23,-47,573,800),512=>array(18,0,584,927),513=>array(65,-14,517,800),514=>array(18,0,584,928),515=>array(65,-14,517,785),516=>array(91,0,538,927),517=>array(60,-14,543,800),518=>array(96,0,538,928),519=>array(60,-14,543,785),520=>array(91,0,503,927),521=>array(87,0,533,800),522=>array(98,0,503,928),523=>array(87,0,533,785),524=>array(57,-14,545,927),525=>array(67,-14,535,800),526=>array(57,-14,545,928),527=>array(67,-14,535,785),528=>array(67,0,602,927),529=>array(176,0,564,800),530=>array(70,0,602,928),531=>array(177,0,564,785),532=>array(72,-14,530,927),533=>array(95,-14,513,800),534=>array(72,-14,530,928),535=>array(95,-14,513,785),536=>array(68,-265,536,742),537=>array(104,-265,503,560),538=>array(23,-265,579,729),539=>array(64,-265,504,702),540=>array(61,-210,541,742),541=>array(85,-211,517,560),542=>array(67,0,535,928),543=>array(95,0,513,928),544=>array(72,-210,530,743),545=>array(9,-72,578,760),548=>array(76,-208,571,729),549=>array(99,-208,508,548),550=>array(18,0,584,914),551=>array(65,-14,517,758),552=>array(96,-193,538,729),553=>array(60,-193,543,560),554=>array(57,-14,545,953),555=>array(67,-14,535,899),556=>array(57,-14,545,953),557=>array(67,-14,535,899),558=>array(57,-14,545,914),559=>array(67,-14,535,758),560=>array(57,-14,545,953),561=>array(67,-14,535,899),562=>array(18,0,584,898),563=>array(51,-208,563,745),564=>array(78,-72,505,765),565=>array(52,-72,550,560),566=>array(64,-72,504,702),567=>array(91,-208,383,547),568=>array(59,-14,543,760),569=>array(59,-214,543,560),570=>array(4,-34,586,761),571=>array(4,-34,586,761),572=>array(23,-47,573,592),573=>array(10,0,592,729),574=>array(16,-34,598,761),575=>array(104,-242,512,560),576=>array(99,-242,508,548),577=>array(27,0,575,729),579=>array(4,0,555,729),580=>array(10,-14,592,729),581=>array(28,0,574,729),588=>array(10,0,602,729),589=>array(69,0,564,560),592=>array(75,-14,527,560),593=>array(60,-14,509,560),594=>array(94,-15,542,559),595=>array(94,-14,543,760),596=>array(90,-14,513,560),597=>array(95,-69,528,560),598=>array(60,-208,527,760),599=>array(60,-14,527,760),600=>array(60,-14,542,560),601=>array(60,-14,542,560),602=>array(15,-14,587,560),603=>array(83,-11,520,560),604=>array(83,-11,520,560),605=>array(27,-11,575,560),606=>array(86,-21,517,559),607=>array(91,-208,555,546),608=>array(60,-215,525,760),609=>array(77,-215,525,546),610=>array(60,0,543,574),611=>array(50,-210,552,546),612=>array(50,0,552,546),613=>array(92,-210,510,546),614=>array(95,0,513,760),615=>array(95,-208,513,760),616=>array(69,0,524,760),617=>array(97,0,505,546),618=>array(78,0,524,546),619=>array(43,0,559,765),620=>array(77,0,525,765),621=>array(78,-208,505,765),622=>array(20,-213,582,765),623=>array(51,0,552,560),624=>array(51,-210,552,560),625=>array(50,-208,551,560),626=>array(87,-208,538,560),627=>array(66,-208,515,560),628=>array(70,0,532,560),629=>array(67,-14,535,560),630=>array(34,0,568,547),631=>array(83,-15,519,560),632=>array(67,-208,535,759),633=>array(74,-13,461,546),634=>array(74,-13,461,765),635=>array(50,-208,563,546),636=>array(177,-208,564,560),637=>array(177,-208,564,560),638=>array(78,0,524,560),639=>array(78,0,524,560),640=>array(60,0,542,546),641=>array(60,0,542,546),642=>array(92,-208,510,560),643=>array(61,-208,541,760),644=>array(61,-208,541,760),645=>array(61,-208,541,546),646=>array(58,-208,544,760),647=>array(81,-155,521,547),648=>array(64,-208,504,702),649=>array(0,-14,602,547),650=>array(46,-15,556,547),651=>array(32,0,558,547),652=>array(35,0,567,547),653=>array(7,0,595,547),654=>array(35,0,567,755),655=>array(50,0,552,561),656=>array(95,-208,507,547),657=>array(82,-54,521,547),658=>array(61,-213,541,547),659=>array(51,-213,551,547),660=>array(95,0,507,759),661=>array(95,0,507,759),662=>array(95,0,507,759),663=>array(95,-214,507,759),664=>array(46,22,556,532),665=>array(102,0,500,561),666=>array(86,-21,517,559),667=>array(26,0,553,759),668=>array(70,0,532,560),669=>array(99,-208,503,760),670=>array(58,-213,544,547),671=>array(120,0,482,560),672=>array(17,-208,561,759),673=>array(95,0,507,759),674=>array(95,0,507,759),675=>array(14,-14,575,760),676=>array(13,-213,588,760),677=>array(26,-54,575,760),678=>array(75,-14,527,702),679=>array(75,-208,525,760),680=>array(88,-70,509,702),681=>array(66,-208,535,760),682=>array(112,-14,490,760),683=>array(107,0,494,760),684=>array(70,-15,532,641),685=>array(70,84,532,640),686=>array(87,-214,515,760),687=>array(96,-208,506,760),688=>array(157,326,445,752),689=>array(157,325,445,751),690=>array(237,209,365,752),691=>array(200,326,402,640),692=>array(200,318,402,633),693=>array(165,209,438,633),694=>array(148,326,454,633),695=>array(70,326,532,633),696=>array(133,209,469,633),697=>array(240,557,365,800),699=>array(226,472,397,760),700=>array(226,472,397,760),701=>array(242,595,360,844),702=>array(234,492,368,760),703=>array(234,492,368,760),704=>array(171,444,431,870),705=>array(171,444,431,870),710=>array(145,616,457,800),711=>array(145,616,457,800),712=>array(268,488,334,759),713=>array(155,673,447,745),716=>array(268,-148,334,123),717=>array(155,-174,447,-102),718=>array(184,-285,418,-102),719=>array(184,-285,418,-102),720=>array(214,0,388,517),721=>array(214,355,388,517),722=>array(234,249,368,517),723=>array(234,249,368,517),726=>array(155,125,447,417),727=>array(191,234,411,307),728=>array(148,645,454,785),729=>array(250,658,351,758),730=>array(167,610,435,878),731=>array(205,-193,387,0),732=>array(140,639,462,777),733=>array(168,616,511,800),734=>array(-171,233,431,504),736=>array(143,208,459,632),737=>array(167,326,436,755),738=>array(169,326,433,648),739=>array(134,326,468,632),740=>array(171,326,431,751),741=>array(146,0,456,668),742=>array(146,0,456,668),743=>array(146,0,456,668),744=>array(146,0,456,668),745=>array(146,0,456,668),750=>array(103,472,498,760),755=>array(194,-245,408,-31),768=>array(136,616,370,800),769=>array(232,616,466,800),770=>array(145,616,457,800),771=>array(140,639,462,777),772=>array(155,673,447,745),773=>array(0,716,602,755),774=>array(148,645,454,785),775=>array(250,658,351,758),776=>array(156,659,446,758),777=>array(200,618,402,847),778=>array(167,610,435,878),779=>array(168,616,511,800),780=>array(145,616,457,800),781=>array(267,616,333,833),782=>array(167,616,433,833),783=>array(103,616,445,800),784=>array(148,645,454,857),785=>array(148,645,454,785),786=>array(229,472,392,641),787=>array(242,595,360,844),788=>array(242,595,360,844),789=>array(232,616,362,800),790=>array(184,-285,418,-102),791=>array(184,-285,418,-102),792=>array(201,-375,354,-135),793=>array(225,-375,377,-135),794=>array(181,690,421,930),795=>array(205,373,397,555),796=>array(247,-245,354,-31),797=>array(173,-288,412,-135),798=>array(171,-288,410,-135),799=>array(171,-375,411,-135),800=>array(181,-202,421,-135),801=>array(245,-208,513,63),802=>array(89,-208,357,63),803=>array(250,-202,351,-102),804=>array(156,-201,446,-103),805=>array(194,-245,408,-31),806=>array(199,-265,362,-96),807=>array(193,-193,395,0),808=>array(210,-193,392,0),809=>array(268,-319,334,-102),810=>array(167,-263,436,-102),811=>array(101,-222,501,-82),812=>array(145,-237,457,-53),813=>array(145,-237,457,-53),814=>array(148,-238,454,-98),815=>array(148,-237,454,-97),816=>array(140,-237,462,-99),817=>array(155,-174,447,-102),818=>array(0,-236,602,-197),819=>array(0,-236,602,-80),820=>array(43,240,559,381),821=>array(69,221,519,301),822=>array(0,221,602,301),823=>array(23,-47,573,592),824=>array(4,-34,586,761),825=>array(247,-245,354,-31),826=>array(167,-188,436,-26),827=>array(167,-371,436,-102),828=>array(101,-222,501,-82),829=>array(193,599,409,816),830=>array(232,595,370,853),831=>array(0,599,602,755),835=>array(242,595,360,844),856=>array(501,658,601,758),865=>array(-116,742,718,902),884=>array(240,557,365,800),885=>array(237,-208,362,35),890=>array(265,-208,372,-45),894=>array(197,-140,368,519),900=>array(232,616,466,800),901=>array(156,659,466,980),902=>array(12,0,584,800),903=>array(239,273,362,422),904=>array(-110,0,538,800),905=>array(-134,0,535,800),906=>array(-110,0,503,800),908=>array(-37,-14,545,800),910=>array(-195,0,584,800),911=>array(-24,0,566,800),912=>array(151,0,476,980),913=>array(18,0,584,729),914=>array(81,0,555,729),915=>array(105,0,556,729),916=>array(18,0,584,729),917=>array(96,0,538,729),918=>array(76,0,571,729),919=>array(67,0,535,729),920=>array(57,-14,545,742),921=>array(98,0,503,729),922=>array(67,0,598,729),923=>array(18,0,584,729),924=>array(42,0,559,729),925=>array(68,0,534,729),926=>array(67,0,535,729),927=>array(57,-14,545,742),928=>array(67,0,535,729),929=>array(96,0,557,729),931=>array(59,0,553,729),932=>array(23,0,579,729),933=>array(18,0,584,729),934=>array(57,0,544,729),935=>array(9,0,593,729),936=>array(57,0,544,729),937=>array(36,0,566,713),938=>array(98,0,503,913),939=>array(18,0,584,913),940=>array(34,-12,573,800),941=>array(83,-11,520,800),942=>array(95,-208,513,800),943=>array(151,0,476,800),944=>array(25,0,551,980),945=>array(34,-12,573,559),946=>array(74,-208,547,766),947=>array(16,-208,553,547),948=>array(67,-14,535,767),949=>array(83,-11,520,560),950=>array(75,-210,519,760),951=>array(95,-208,513,560),952=>array(67,-14,535,732),953=>array(151,0,476,547),954=>array(115,0,587,547),955=>array(33,0,565,760),956=>array(95,-209,577,547),957=>array(57,0,532,547),958=>array(79,-210,527,760),959=>array(67,-14,535,560),960=>array(39,-19,577,547),961=>array(93,-208,541,560),962=>array(95,-210,518,560),963=>array(67,-14,552,547),964=>array(78,0,524,546),965=>array(25,0,551,547),966=>array(37,-208,565,551),967=>array(43,-208,559,547),968=>array(64,-208,538,547),969=>array(34,-14,568,547),970=>array(151,0,476,758),971=>array(25,0,551,758),972=>array(67,-14,535,800),973=>array(25,0,551,800),974=>array(34,-14,568,800),976=>array(73,-11,501,768),977=>array(57,-11,540,768),978=>array(17,0,582,729),979=>array(-195,0,582,800),980=>array(17,0,582,913),981=>array(53,-208,549,729),982=>array(28,0,574,547),983=>array(25,-188,571,547),984=>array(57,-208,545,742),985=>array(67,-208,535,560),986=>array(68,-210,537,729),987=>array(76,-210,520,547),988=>array(114,0,543,729),989=>array(0,-208,503,760),990=>array(47,-2,563,729),991=>array(64,0,538,759),992=>array(16,-208,575,742),993=>array(43,-180,559,559),1008=>array(25,-7,571,550),1009=>array(93,-208,541,560),1010=>array(95,-14,518,560),1011=>array(91,-208,383,760),1012=>array(57,-14,545,742),1013=>array(79,-14,504,560),1014=>array(79,-14,504,560),1015=>array(98,0,569,729),1016=>array(93,-208,541,765),1017=>array(68,-14,524,742),1018=>array(42,0,559,729),1019=>array(62,-208,539,547),1020=>array(42,-208,541,560),1021=>array(68,-14,524,742),1022=>array(68,-14,524,742),1023=>array(68,-14,524,742),1024=>array(96,0,538,927),1025=>array(96,0,538,913),1026=>array(-32,-229,554,730),1027=>array(105,0,556,927),1028=>array(68,-14,524,742),1029=>array(68,-14,536,742),1030=>array(98,0,503,729),1031=>array(98,0,503,913),1032=>array(53,-14,467,729),1033=>array(-9,0,597,729),1034=>array(17,0,597,729),1035=>array(-32,0,554,730),1036=>array(67,0,598,927),1037=>array(68,0,534,927),1038=>array(51,0,563,928),1039=>array(67,-157,535,729),1040=>array(18,0,584,729),1041=>array(81,0,555,729),1042=>array(81,0,555,729),1043=>array(105,0,556,729),1044=>array(16,-157,586,729),1045=>array(96,0,538,729),1046=>array(7,0,595,729),1047=>array(67,-14,527,742),1048=>array(68,0,534,729),1049=>array(68,0,534,928),1050=>array(67,0,598,729),1051=>array(2,0,534,729),1052=>array(42,0,559,729),1053=>array(67,0,535,729),1054=>array(57,-14,545,742),1055=>array(67,0,535,729),1056=>array(96,0,557,729),1057=>array(68,-14,524,742),1058=>array(23,0,579,729),1059=>array(51,0,563,729),1060=>array(32,0,570,729),1061=>array(9,0,593,729),1062=>array(39,-157,573,729),1063=>array(67,0,533,729),1064=>array(56,0,547,729),1065=>array(29,-157,586,729),1066=>array(16,0,557,729),1067=>array(32,0,554,729),1068=>array(96,0,557,729),1069=>array(68,-14,524,742),1070=>array(29,-14,573,742),1071=>array(37,0,553,729),1072=>array(65,-14,517,560),1073=>array(61,-14,535,777),1074=>array(102,0,500,547),1075=>array(125,0,493,547),1076=>array(51,-140,551,547),1077=>array(60,-14,543,560),1078=>array(29,0,574,547),1079=>array(83,-11,520,560),1080=>array(95,0,513,547),1081=>array(95,0,513,785),1082=>array(115,0,587,547),1083=>array(15,0,513,547),1084=>array(30,0,576,547),1085=>array(95,0,513,547),1086=>array(67,-14,535,560),1087=>array(95,0,513,547),1088=>array(93,-208,541,560),1089=>array(95,-14,518,560),1090=>array(110,0,503,547),1091=>array(51,-208,563,547),1092=>array(48,-208,549,760),1093=>array(37,0,565,547),1094=>array(61,-140,546,547),1095=>array(95,0,513,548),1096=>array(61,0,542,547),1097=>array(39,-140,590,547),1098=>array(15,0,568,547),1099=>array(51,0,551,547),1100=>array(95,0,527,547),1101=>array(95,-14,518,560),1102=>array(38,-14,570,560),1103=>array(82,0,480,547),1104=>array(60,-14,543,803),1105=>array(60,-14,543,718),1106=>array(17,-208,541,760),1107=>array(125,0,505,803),1108=>array(95,-14,518,560),1109=>array(104,-14,503,560),1110=>array(87,0,533,760),1111=>array(87,0,533,758),1112=>array(91,-208,383,760),1113=>array(5,0,599,547),1114=>array(32,0,577,547),1115=>array(17,0,528,760),1116=>array(115,0,587,803),1117=>array(95,0,513,803),1118=>array(51,-208,563,785),1119=>array(95,-140,513,547),1122=>array(16,0,557,729),1123=>array(15,0,568,760),1138=>array(57,-14,545,742),1139=>array(67,-14,535,560),1168=>array(105,0,556,878),1169=>array(125,0,493,700),1170=>array(42,0,556,729),1171=>array(62,0,493,547),1172=>array(105,-200,556,729),1173=>array(125,-208,540,547),1174=>array(7,-157,595,729),1175=>array(29,-140,585,547),1176=>array(67,-193,527,742),1177=>array(83,-193,520,560),1178=>array(67,-157,598,729),1179=>array(115,-140,587,547),1186=>array(15,-157,587,729),1187=>array(48,-140,561,547),1188=>array(55,0,590,729),1189=>array(61,0,585,547),1194=>array(68,-193,524,742),1195=>array(95,-193,518,560),1196=>array(23,-157,579,729),1197=>array(110,-140,503,547),1198=>array(18,0,584,729),1199=>array(45,-208,557,547),1200=>array(18,0,584,729),1201=>array(45,-208,557,547),1202=>array(9,-157,593,729),1203=>array(37,-140,565,547),1210=>array(68,0,535,730),1211=>array(95,0,513,760),1216=>array(98,0,503,729),1217=>array(7,0,595,928),1218=>array(29,0,574,785),1219=>array(67,-200,590,729),1220=>array(115,-208,553,547),1223=>array(67,-200,535,729),1224=>array(95,-208,513,547),1227=>array(68,-157,535,730),1228=>array(95,-140,513,548),1231=>array(222,0,312,765),1232=>array(18,0,584,928),1233=>array(65,-14,517,785),1234=>array(18,0,584,913),1235=>array(65,-14,517,758),1236=>array(0,0,576,729),1237=>array(20,-14,586,560),1238=>array(96,0,538,928),1239=>array(60,-14,543,785),1240=>array(57,-14,545,742),1241=>array(60,-14,542,560),1242=>array(57,-14,545,913),1243=>array(60,-14,542,758),1244=>array(7,0,595,913),1245=>array(29,0,574,758),1246=>array(67,-14,527,913),1247=>array(83,-11,520,758),1248=>array(13,-14,589,729),1249=>array(61,-213,541,547),1250=>array(68,0,534,898),1251=>array(95,0,513,745),1252=>array(68,0,534,913),1253=>array(95,0,513,758),1254=>array(57,-14,545,913),1255=>array(67,-14,535,758),1256=>array(57,-14,545,742),1257=>array(67,-14,535,560),1258=>array(57,-14,545,913),1259=>array(67,-14,535,758),1260=>array(68,-14,524,913),1261=>array(95,-14,518,758),1262=>array(51,0,563,898),1263=>array(51,-208,563,745),1264=>array(51,0,563,913),1265=>array(51,-208,563,758),1266=>array(51,0,563,927),1267=>array(51,-208,563,800),1268=>array(67,0,533,913),1269=>array(95,0,513,758),1270=>array(105,-157,556,729),1271=>array(125,-140,493,547),1272=>array(32,0,554,913),1273=>array(51,0,551,758),1296=>array(67,-14,527,742),1297=>array(83,-11,520,560),1306=>array(57,-132,545,742),1307=>array(67,-210,515,558),1308=>array(0,0,602,729),1309=>array(0,0,602,547),1329=>array(58,-29,544,729),1330=>array(63,0,539,742),1331=>array(42,0,561,742),1332=>array(26,0,576,742),1333=>array(63,-14,539,729),1334=>array(47,0,555,742),1335=>array(59,0,543,729),1336=>array(63,0,539,743),1337=>array(21,-14,581,742),1338=>array(42,-14,561,729),1339=>array(72,0,530,729),1340=>array(75,0,526,729),1341=>array(45,-14,557,729),1342=>array(26,-14,575,742),1343=>array(72,0,530,729),1344=>array(44,-26,558,729),1345=>array(46,-23,556,742),1346=>array(26,0,576,742),1347=>array(42,0,560,742),1348=>array(26,-14,576,729),1349=>array(31,-14,571,742),1350=>array(26,-14,576,729),1351=>array(47,-14,555,729),1352=>array(72,0,530,743),1353=>array(47,-28,555,742),1354=>array(32,0,570,742),1355=>array(47,0,555,742),1356=>array(26,0,576,742),1357=>array(72,-14,530,729),1358=>array(16,0,585,729),1359=>array(51,-14,550,742),1360=>array(72,0,530,743),1361=>array(31,-14,571,742),1362=>array(66,0,536,729),1363=>array(34,0,567,729),1364=>array(25,0,577,742),1365=>array(57,-14,545,742),1366=>array(35,-14,567,729),1369=>array(234,492,368,760),1370=>array(229,499,373,729),1371=>array(185,620,418,803),1372=>array(110,618,492,893),1373=>array(184,616,418,800),1374=>array(87,613,515,885),1375=>array(92,618,510,760),1377=>array(50,-13,551,547),1378=>array(89,-208,512,560),1379=>array(36,-208,566,558),1380=>array(56,-208,546,560),1381=>array(80,-14,522,760),1382=>array(36,-208,566,558),1383=>array(101,0,500,760),1384=>array(89,-208,512,560),1385=>array(32,-208,569,560),1386=>array(36,-14,566,760),1387=>array(92,-208,510,760),1388=>array(160,-208,442,547),1389=>array(51,-208,551,760),1390=>array(67,-14,535,771),1391=>array(92,-208,510,760),1392=>array(92,0,510,760),1393=>array(83,-15,518,760),1394=>array(56,-208,546,560),1395=>array(78,-14,524,760),1396=>array(51,-14,551,760),1397=>array(155,-208,447,547),1398=>array(51,-14,551,760),1399=>array(84,-208,517,561),1400=>array(92,0,510,560),1401=>array(118,-208,483,571),1402=>array(50,-208,551,547),1403=>array(82,-208,520,561),1404=>array(64,0,538,560),1405=>array(92,-14,510,546),1406=>array(50,-208,552,760),1407=>array(51,-13,551,560),1408=>array(92,-208,510,560),1409=>array(77,-215,525,560),1410=>array(122,0,480,547),1411=>array(51,-208,551,760),1412=>array(42,-208,560,560),1413=>array(67,-14,535,560),1414=>array(20,-208,582,760),1415=>array(35,-14,566,760),1417=>array(250,0,353,415),1418=>array(174,205,428,314),1542=>array(24,-19,573,892),1543=>array(24,-19,573,895),1545=>array(44,0,558,635),1546=>array(0,0,602,635),1548=>array(229,0,373,240),1557=>array(174,624,428,868),1563=>array(229,0,373,633),1567=>array(106,0,496,742),1569=>array(212,42,522,483),1570=>array(125,0,477,939),1571=>array(217,0,385,999),1572=>array(37,-244,525,588),1573=>array(217,-244,385,760),1574=>array(12,-131,602,544),1575=>array(256,0,346,760),1576=>array(34,-152,586,263),1577=>array(108,-28,494,513),1578=>array(34,-10,586,391),1579=>array(34,-10,586,513),1580=>array(43,-244,584,425),1581=>array(43,-244,584,425),1582=>array(43,-244,584,586),1583=>array(113,-19,488,427),1584=>array(113,-19,488,598),1585=>array(-25,-246,533,267),1586=>array(-25,-246,533,464),1587=>array(-107,-240,574,366),1588=>array(-107,-240,574,586),1589=>array(-117,-240,594,320),1590=>array(-117,-240,594,413),1591=>array(5,0,580,760),1592=>array(5,0,580,760),1593=>array(60,-244,589,521),1594=>array(60,-244,589,659),1600=>array(-10,0,612,90),1601=>array(-36,-45,568,600),1602=>array(15,-189,557,635),1603=>array(4,-27,578,760),1604=>array(33,-152,537,760),1605=>array(63,-240,541,369),1606=>array(26,-162,569,422),1607=>array(108,-28,494,358),1608=>array(37,-244,525,315),1609=>array(12,-131,602,389),1610=>array(12,-244,602,389),1611=>array(158,591,443,825),1612=>array(158,591,443,874),1613=>array(158,-239,443,-5),1614=>array(158,591,443,708),1615=>array(158,590,443,874),1616=>array(158,-137,443,-20),1617=>array(148,599,453,869),1618=>array(167,610,435,878),1619=>array(125,590,477,719),1620=>array(217,593,385,808),1621=>array(217,-244,385,-29),1626=>array(170,616,433,775),1632=>array(247,220,354,342),1633=>array(198,0,404,635),1634=>array(75,0,527,635),1635=>array(65,0,537,635),1636=>array(115,-10,486,641),1637=>array(99,-10,504,643),1638=>array(75,0,527,635),1639=>array(62,0,540,635),1640=>array(62,0,540,635),1641=>array(79,0,523,640),1642=>array(98,0,505,635),1643=>array(151,-110,451,318),1644=>array(229,499,373,729),1645=>array(71,101,531,537),1652=>array(217,649,385,864),1657=>array(34,-10,586,575),1658=>array(34,-10,586,513),1659=>array(34,-244,586,263),1662=>array(34,-244,586,263),1663=>array(34,-10,586,513),1664=>array(34,-244,586,263),1667=>array(43,-244,584,425),1668=>array(43,-244,584,425),1670=>array(43,-244,584,425),1671=>array(43,-244,584,425),1681=>array(-25,-246,602,582),1688=>array(-25,-246,549,555),1700=>array(-36,-45,568,700),1705=>array(5,-43,670,760),1711=>array(5,-43,672,902),1726=>array(0,-33,572,487),1740=>array(12,-131,602,389),1776=>array(247,220,354,342),1777=>array(198,0,404,635),1778=>array(75,0,527,635),1779=>array(65,0,537,635),1780=>array(85,0,517,643),1781=>array(84,-5,518,643),1782=>array(129,0,473,640),1783=>array(62,0,540,635),1784=>array(62,0,540,635),1785=>array(79,0,523,640),3713=>array(30,-10,549,560),3714=>array(53,-17,585,568),3716=>array(59,-10,539,568),3719=>array(120,-238,482,568),3720=>array(61,-0,542,575),3722=>array(47,-238,598,563),3725=>array(56,-8,545,573),3732=>array(60,-14,542,560),3733=>array(73,-15,554,579),3734=>array(13,-240,530,560),3735=>array(52,-14,551,560),3737=>array(37,-14,541,568),3738=>array(61,-8,541,561),3739=>array(61,-8,541,760),3740=>array(48,-8,620,638),3741=>array(48,-8,548,760),3742=>array(49,-8,553,561),3743=>array(49,-8,553,760),3745=>array(8,-14,547,547),3746=>array(56,-8,545,760),3747=>array(49,-8,553,568),3749=>array(47,-8,555,568),3751=>array(54,-13,548,560),3754=>array(48,-8,642,701),3755=>array(10,-12,592,575),3757=>array(58,-8,552,568),3758=>array(42,-8,606,605),3759=>array(23,-106,583,579),3760=>array(44,-13,549,563),3761=>array(-558,639,-53,880),3762=>array(77,0,516,560),3763=>array(-404,0,516,806),3764=>array(41,615,562,926),3765=>array(41,612,634,926),3766=>array(41,615,562,926),3767=>array(41,612,634,926),3768=>array(226,-350,441,-38),3769=>array(184,-306,450,-40),3771=>array(34,639,568,880),3772=>array(-8,-278,610,-39),3784=>array(257,618,345,792),3785=>array(42,609,560,891),3786=>array(46,598,664,869),3787=>array(161,609,441,890),3788=>array(-8,636,610,875),3789=>array(198,620,404,806),4304=>array(78,0,525,560),4305=>array(77,0,525,761),4306=>array(54,-208,547,510),4307=>array(27,-208,575,505),4308=>array(78,-208,525,510),4309=>array(77,-208,524,510),4310=>array(77,0,524,760),4311=>array(27,0,575,505),4312=>array(78,0,524,510),4313=>array(77,-207,525,501),4314=>array(78,-208,524,510),4315=>array(77,0,525,760),4316=>array(78,0,524,748),4317=>array(27,0,575,505),4318=>array(78,0,525,757),4319=>array(78,-207,525,524),4320=>array(27,0,575,760),4321=>array(78,0,525,743),4322=>array(22,-207,580,614),4323=>array(27,-207,536,506),4324=>array(27,-208,577,505),4325=>array(78,-208,524,743),4326=>array(27,-208,575,506),4327=>array(77,-207,524,496),4328=>array(27,0,525,760),4329=>array(77,0,525,760),4330=>array(42,-207,560,518),4331=>array(77,0,525,743),4332=>array(79,0,576,760),4333=>array(78,-207,525,743),4334=>array(78,0,525,743),4335=>array(78,-207,525,605),4336=>array(77,0,525,760),4337=>array(58,-207,525,760),4338=>array(78,-131,525,511),4339=>array(78,-208,525,510),4340=>array(78,-208,525,760),4341=>array(68,0,561,760),4342=>array(27,-207,575,511),4343=>array(52,-207,550,511),4344=>array(79,-207,525,520),4345=>array(54,-208,548,518),4346=>array(78,-66,455,511),4347=>array(142,24,460,486),4348=>array(198,370,404,760),7426=>array(20,-14,586,560),7432=>array(83,-11,520,560),7433=>array(87,-211,533,549),7444=>array(7,-14,591,560),7446=>array(67,273,535,560),7447=>array(66,-14,535,273),7453=>array(21,1,581,419),7454=>array(31,-1,571,417),7455=>array(21,0,581,501),7468=>array(123,326,479,734),7469=>array(120,326,482,734),7470=>array(152,326,450,734),7472=>array(152,326,450,734),7473=>array(162,326,440,734),7474=>array(162,326,440,734),7475=>array(146,318,455,742),7476=>array(153,326,448,734),7477=>array(174,326,429,734),7478=>array(171,318,431,734),7479=>array(134,326,469,734),7480=>array(159,326,443,734),7481=>array(138,326,464,734),7482=>array(154,326,448,734),7483=>array(154,326,448,734),7484=>array(147,318,455,742),7486=>array(156,326,446,734),7487=>array(133,326,469,734),7488=>array(126,326,476,734),7489=>array(157,318,445,734),7490=>array(111,326,491,734),7491=>array(159,318,443,640),7492=>array(159,318,443,640),7493=>array(160,318,442,640),7494=>array(123,318,479,640),7495=>array(160,318,442,751),7496=>array(160,318,442,751),7497=>array(149,318,453,640),7498=>array(149,318,453,640),7499=>array(164,320,438,640),7500=>array(164,320,438,640),7501=>array(160,206,442,640),7502=>array(161,208,441,633),7503=>array(152,326,450,751),7504=>array(143,326,459,640),7505=>array(169,209,433,640),7506=>array(153,318,449,640),7507=>array(168,318,434,640),7508=>array(153,479,449,640),7509=>array(153,318,449,479),7510=>array(160,209,442,640),7511=>array(163,326,439,719),7512=>array(169,318,433,632),7513=>array(125,327,478,561),7514=>array(143,326,459,640),7515=>array(142,326,460,632),7522=>array(160,0,441,425),7523=>array(200,0,402,314),7524=>array(169,-8,433,306),7525=>array(142,0,460,306),7543=>array(60,-215,509,560),7544=>array(153,326,448,734),7547=>array(76,0,526,547),7557=>array(78,-208,505,765),7579=>array(160,318,442,640),7580=>array(168,318,434,640),7581=>array(165,286,438,639),7582=>array(153,318,449,751),7583=>array(164,320,438,640),7584=>array(167,326,435,751),7585=>array(173,209,429,632),7586=>array(160,206,442,631),7587=>array(169,208,433,632),7588=>array(158,326,444,751),7589=>array(172,326,430,632),7590=>array(161,326,441,632),7591=>array(160,326,442,632),7592=>array(174,209,428,751),7593=>array(167,209,436,755),7594=>array(167,209,436,755),7595=>array(187,326,416,640),7596=>array(143,209,458,640),7597=>array(143,208,459,640),7598=>array(167,209,436,640),7599=>array(167,209,436,640),7600=>array(156,326,446,640),7601=>array(153,318,449,640),7602=>array(153,210,449,751),7603=>array(169,209,433,640),7604=>array(184,209,418,751),7605=>array(163,209,439,719),7606=>array(102,318,500,632),7607=>array(141,318,461,632),7609=>array(159,326,443,632),7610=>array(133,326,469,632),7611=>array(172,326,430,633),7612=>array(171,209,431,632),7613=>array(163,296,439,632),7614=>array(150,207,452,632),7615=>array(153,318,449,736),7680=>array(18,-245,584,729),7681=>array(65,-245,517,560),7682=>array(81,0,555,914),7683=>array(94,-14,543,760),7684=>array(81,-202,555,729),7685=>array(94,-202,543,760),7686=>array(81,-174,555,729),7687=>array(94,-174,543,760),7688=>array(68,-193,524,927),7689=>array(95,-193,518,800),7690=>array(67,0,540,914),7691=>array(60,-14,509,760),7692=>array(67,-202,540,729),7693=>array(60,-202,509,760),7694=>array(67,-174,540,729),7695=>array(60,-174,509,760),7696=>array(61,-193,540,729),7697=>array(60,-193,509,760),7698=>array(67,-237,540,729),7699=>array(60,-237,509,760),7704=>array(96,-237,538,729),7705=>array(60,-237,543,560),7706=>array(96,-237,538,729),7707=>array(60,-237,543,560),7708=>array(96,-193,538,928),7709=>array(60,-193,543,785),7710=>array(114,0,543,914),7711=>array(95,0,519,914),7712=>array(50,-14,539,898),7713=>array(60,-215,509,745),7714=>array(67,0,535,914),7715=>array(95,0,513,914),7716=>array(67,-202,535,729),7717=>array(95,-202,513,760),7718=>array(67,0,535,901),7719=>array(95,0,513,918),7720=>array(10,-193,535,729),7721=>array(27,-193,513,760),7722=>array(67,-238,535,729),7723=>array(95,-238,513,760),7724=>array(98,-237,503,729),7725=>array(87,-237,533,760),7728=>array(67,0,598,927),7729=>array(115,0,587,927),7730=>array(67,-202,598,729),7731=>array(115,-202,587,760),7732=>array(67,-174,598,729),7733=>array(115,-174,587,760),7734=>array(105,-202,556,729),7735=>array(78,-202,505,765),7736=>array(105,-202,556,898),7737=>array(78,-202,505,898),7738=>array(105,-174,556,729),7739=>array(78,-174,505,765),7740=>array(105,-237,556,729),7741=>array(78,-237,505,765),7742=>array(42,0,559,927),7743=>array(53,0,554,800),7744=>array(42,0,559,914),7745=>array(53,0,554,758),7746=>array(42,-202,559,729),7747=>array(53,-202,554,560),7748=>array(68,0,534,914),7749=>array(95,0,513,758),7750=>array(68,-202,534,729),7751=>array(95,-202,513,560),7752=>array(68,-174,534,729),7753=>array(95,-174,513,560),7754=>array(68,-237,534,729),7755=>array(95,-237,513,560),7756=>array(57,-14,545,997),7757=>array(67,-14,535,997),7764=>array(96,0,557,931),7765=>array(93,-208,541,800),7766=>array(96,0,557,914),7767=>array(93,-208,541,758),7768=>array(70,0,602,914),7769=>array(177,0,564,758),7770=>array(70,-202,602,729),7771=>array(177,-202,564,560),7772=>array(70,-202,602,898),7773=>array(155,-202,564,745),7774=>array(70,-174,602,729),7775=>array(155,-174,564,560),7776=>array(68,-14,536,914),7777=>array(104,-14,503,758),7778=>array(68,-202,536,742),7779=>array(104,-202,503,560),7784=>array(68,-202,536,914),7785=>array(104,-202,503,758),7786=>array(23,0,579,914),7787=>array(64,0,504,914),7788=>array(23,-202,579,729),7789=>array(64,-202,504,702),7790=>array(23,-174,579,729),7791=>array(64,-174,504,702),7792=>array(23,-237,579,729),7793=>array(64,-237,504,702),7794=>array(72,-201,530,729),7795=>array(95,-201,513,546),7796=>array(72,-237,530,729),7797=>array(95,-237,513,546),7798=>array(72,-237,530,729),7799=>array(95,-237,513,546),7800=>array(72,-14,530,997),7801=>array(95,-14,513,997),7804=>array(28,0,574,909),7805=>array(49,0,553,757),7806=>array(28,-202,574,729),7807=>array(49,-202,553,547),7808=>array(0,0,602,931),7809=>array(0,0,602,803),7810=>array(0,0,602,931),7811=>array(0,0,602,803),7812=>array(0,0,602,900),7813=>array(0,0,602,718),7814=>array(0,0,602,914),7815=>array(0,0,602,758),7816=>array(0,-202,602,729),7817=>array(0,-202,602,547),7818=>array(9,0,593,914),7819=>array(37,0,565,758),7820=>array(9,0,593,901),7821=>array(37,0,565,718),7822=>array(18,0,584,914),7823=>array(51,-208,563,758),7824=>array(76,0,571,932),7825=>array(99,0,508,803),7826=>array(76,-202,571,729),7827=>array(99,-202,508,548),7828=>array(76,-174,571,729),7829=>array(99,-174,508,548),7830=>array(95,-174,513,760),7831=>array(64,0,504,860),7832=>array(0,0,602,888),7833=>array(51,-208,563,888),7835=>array(95,0,519,914),7839=>array(67,-14,535,767),7840=>array(18,-202,584,729),7841=>array(65,-202,517,560),7852=>array(18,-202,584,932),7853=>array(65,-202,517,803),7856=>array(18,0,584,997),7857=>array(65,-14,517,954),7862=>array(18,-202,584,928),7863=>array(65,-202,517,760),7864=>array(96,-202,538,729),7865=>array(60,-202,543,560),7868=>array(96,0,538,921),7869=>array(60,-14,543,777),7878=>array(96,-202,538,932),7879=>array(60,-202,543,803),7882=>array(98,-202,503,729),7883=>array(87,-202,533,760),7884=>array(57,-202,545,742),7885=>array(67,-202,535,560),7896=>array(57,-202,545,932),7897=>array(67,-202,535,803),7898=>array(3,-14,582,927),7899=>array(16,-14,587,800),7900=>array(3,-14,582,927),7901=>array(16,-14,587,800),7904=>array(3,-14,582,921),7905=>array(16,-14,587,777),7906=>array(3,-202,582,760),7907=>array(16,-202,587,560),7908=>array(72,-202,530,729),7909=>array(95,-202,513,546),7912=>array(4,-14,598,927),7913=>array(19,-14,583,800),7914=>array(4,-14,598,927),7915=>array(19,-14,583,800),7918=>array(4,-14,598,921),7919=>array(19,-14,583,777),7920=>array(4,-202,598,762),7921=>array(19,-202,583,555),7922=>array(18,0,584,931),7923=>array(51,-208,563,803),7924=>array(18,-202,584,729),7925=>array(51,-208,563,547),7928=>array(18,0,584,921),7929=>array(51,-208,563,777),7936=>array(34,-12,573,806),7937=>array(34,-12,573,806),7938=>array(34,-12,573,806),7939=>array(34,-12,573,806),7940=>array(34,-12,573,806),7941=>array(34,-12,573,806),7942=>array(34,-12,573,977),7943=>array(34,-12,573,977),7944=>array(18,0,584,806),7945=>array(18,0,584,806),7946=>array(-198,0,584,806),7947=>array(-198,0,584,806),7948=>array(-112,0,584,806),7949=>array(-122,0,584,806),7950=>array(-31,0,584,977),7951=>array(-55,0,584,977),7952=>array(83,-11,520,806),7953=>array(83,-11,520,806),7954=>array(83,-11,520,806),7955=>array(83,-11,520,806),7956=>array(83,-11,520,806),7957=>array(83,-11,520,806),7960=>array(-63,0,538,806),7961=>array(-63,0,538,806),7962=>array(-308,0,538,806),7963=>array(-308,0,538,806),7964=>array(-247,0,538,806),7965=>array(-256,0,538,806),7968=>array(95,-208,513,806),7969=>array(95,-208,513,806),7970=>array(95,-208,513,806),7971=>array(95,-208,513,806),7972=>array(95,-208,515,806),7973=>array(95,-208,515,806),7974=>array(95,-208,513,977),7975=>array(95,-208,513,977),7976=>array(-88,0,535,806),7977=>array(-88,0,535,806),7978=>array(-344,0,535,806),7979=>array(-344,0,535,806),7980=>array(-295,0,535,806),7981=>array(-305,0,535,806),7982=>array(-202,0,535,977),7983=>array(-202,0,535,977),7984=>array(151,0,476,806),7985=>array(151,0,476,806),7986=>array(120,0,492,806),7987=>array(120,0,492,806),7988=>array(144,0,515,806),7989=>array(134,0,515,806),7990=>array(140,0,476,977),7991=>array(140,0,476,977),7992=>array(-63,0,503,806),7993=>array(-63,0,503,806),7994=>array(-295,0,503,806),7995=>array(-295,0,503,806),7996=>array(-247,0,503,806),7997=>array(-256,0,503,806),7998=>array(-165,0,503,977),7999=>array(-165,0,503,977),8000=>array(67,-14,535,806),8001=>array(67,-14,535,806),8002=>array(67,-14,535,806),8003=>array(67,-14,535,806),8004=>array(67,-14,535,806),8005=>array(67,-14,535,806),8008=>array(-27,-14,545,806),8009=>array(-63,-14,545,806),8010=>array(-308,-14,545,806),8011=>array(-308,-14,545,806),8012=>array(-173,-14,545,806),8013=>array(-183,-14,545,806),8016=>array(25,0,551,806),8017=>array(25,0,551,806),8018=>array(25,0,551,806),8019=>array(25,0,551,806),8020=>array(25,0,551,806),8021=>array(25,0,551,806),8022=>array(25,0,551,977),8023=>array(25,0,551,977),8025=>array(-137,0,584,806),8027=>array(-344,0,584,806),8029=>array(-342,0,584,806),8031=>array(-238,0,584,977),8032=>array(34,-14,568,806),8033=>array(34,-14,568,806),8034=>array(34,-14,568,806),8035=>array(34,-14,568,806),8036=>array(34,-14,568,806),8037=>array(34,-14,568,806),8038=>array(34,-14,568,977),8039=>array(34,-14,568,977),8040=>array(-27,0,566,806),8041=>array(-76,0,566,806),8042=>array(-308,0,566,806),8043=>array(-308,0,566,806),8044=>array(-161,0,566,806),8045=>array(-171,0,566,806),8046=>array(-128,0,566,977),8047=>array(-165,0,566,977),8048=>array(34,-12,573,800),8049=>array(34,-12,573,800),8050=>array(83,-11,520,800),8051=>array(83,-11,520,800),8052=>array(95,-208,513,800),8053=>array(95,-208,513,800),8054=>array(136,0,476,800),8055=>array(151,0,476,800),8056=>array(67,-14,535,800),8057=>array(67,-14,535,800),8058=>array(25,0,551,800),8059=>array(25,0,551,800),8060=>array(34,-14,568,800),8061=>array(34,-14,568,800),8064=>array(34,-208,573,806),8065=>array(34,-208,573,806),8066=>array(34,-208,573,806),8067=>array(34,-208,573,806),8068=>array(34,-208,573,806),8069=>array(34,-208,573,806),8070=>array(34,-208,573,977),8071=>array(34,-208,573,977),8072=>array(18,-208,584,806),8073=>array(18,-208,584,806),8074=>array(-198,-208,584,806),8075=>array(-198,-208,584,806),8076=>array(-112,-208,584,806),8077=>array(-122,-208,584,806),8078=>array(-31,-208,584,977),8079=>array(-55,-208,584,977),8080=>array(95,-208,513,806),8081=>array(95,-208,513,806),8082=>array(95,-208,513,806),8083=>array(95,-208,513,806),8084=>array(95,-208,515,806),8085=>array(95,-208,515,806),8086=>array(95,-208,513,977),8087=>array(95,-208,513,977),8088=>array(-88,-208,535,806),8089=>array(-88,-208,535,806),8090=>array(-344,-208,535,806),8091=>array(-344,-208,535,806),8092=>array(-295,-208,535,806),8093=>array(-305,-208,535,806),8094=>array(-202,-208,535,977),8095=>array(-202,-208,535,977),8096=>array(34,-208,568,806),8097=>array(34,-208,568,806),8098=>array(34,-208,568,806),8099=>array(34,-208,568,806),8100=>array(34,-208,568,806),8101=>array(34,-208,568,806),8102=>array(34,-208,568,977),8103=>array(34,-208,568,977),8104=>array(-27,-208,566,806),8105=>array(-76,-208,566,806),8106=>array(-308,-208,566,806),8107=>array(-308,-208,566,806),8108=>array(-161,-208,566,806),8109=>array(-171,-208,566,806),8110=>array(-128,-208,566,977),8111=>array(-165,-208,566,977),8112=>array(34,-12,573,785),8113=>array(34,-12,573,745),8114=>array(34,-208,573,800),8115=>array(34,-208,573,559),8116=>array(34,-208,573,800),8118=>array(34,-12,573,777),8119=>array(34,-208,573,777),8120=>array(18,0,584,928),8121=>array(18,0,584,898),8122=>array(-59,0,584,800),8123=>array(12,0,584,800),8124=>array(18,-208,584,729),8125=>array(242,595,360,806),8126=>array(265,-208,372,-45),8127=>array(242,595,360,806),8128=>array(140,639,462,777),8129=>array(140,659,462,943),8130=>array(95,-208,513,800),8131=>array(95,-208,513,560),8132=>array(95,-208,513,800),8134=>array(95,-208,513,777),8135=>array(95,-208,513,777),8136=>array(-181,0,538,800),8137=>array(-110,0,538,800),8138=>array(-206,0,535,800),8139=>array(-134,0,535,800),8140=>array(67,-208,535,729),8141=>array(120,595,492,806),8142=>array(144,595,515,806),8143=>array(140,595,462,977),8144=>array(148,0,476,785),8145=>array(151,0,476,745),8146=>array(136,0,476,980),8147=>array(151,0,476,980),8150=>array(140,0,476,777),8151=>array(140,0,476,943),8152=>array(98,0,503,928),8153=>array(98,0,503,898),8154=>array(-157,0,503,800),8155=>array(-110,0,503,800),8157=>array(120,595,492,806),8158=>array(134,595,515,806),8159=>array(140,595,462,977),8160=>array(25,0,551,785),8161=>array(25,0,551,745),8162=>array(25,0,551,980),8163=>array(25,0,551,980),8164=>array(93,-208,541,806),8165=>array(93,-208,541,806),8166=>array(25,0,551,777),8167=>array(25,0,551,943),8168=>array(18,0,584,928),8169=>array(18,0,584,898),8170=>array(-206,0,584,800),8171=>array(-195,0,584,800),8172=>array(-63,0,557,806),8173=>array(136,659,446,980),8174=>array(156,659,466,980),8175=>array(136,616,370,800),8178=>array(34,-208,568,800),8179=>array(34,-208,568,547),8180=>array(34,-208,568,800),8182=>array(34,-14,568,777),8183=>array(34,-208,568,777),8184=>array(-169,-14,545,800),8185=>array(-37,-14,545,800),8186=>array(-169,0,566,800),8187=>array(-24,0,566,800),8188=>array(36,-208,566,713),8189=>array(232,616,466,800),8190=>array(242,595,360,806),8208=>array(174,234,428,314),8209=>array(174,234,428,314),8210=>array(0,240,602,309),8211=>array(0,240,602,309),8212=>array(0,240,602,309),8213=>array(0,240,602,309),8214=>array(139,-236,462,764),8215=>array(0,-236,602,-80),8216=>array(226,472,397,760),8217=>array(226,472,397,760),8218=>array(197,-140,368,148),8219=>array(226,472,397,760),8220=>array(103,472,499,760),8221=>array(103,472,498,760),8222=>array(103,-140,498,148),8223=>array(103,472,498,760),8224=>array(79,-96,523,729),8225=>array(79,-96,523,729),8226=>array(156,227,446,516),8227=>array(156,188,485,555),8230=>array(39,0,562,149),8240=>array(0,0,602,699),8241=>array(0,0,602,699),8242=>array(209,547,393,729),8243=>array(136,547,466,729),8244=>array(63,547,539,729),8245=>array(209,547,393,729),8246=>array(136,547,466,729),8247=>array(63,547,539,729),8249=>array(169,69,398,517),8250=>array(205,69,434,517),8252=>array(102,0,501,729),8253=>array(119,0,508,742),8254=>array(0,716,602,755),8261=>array(226,-132,433,760),8262=>array(169,-132,376,760),8263=>array(16,0,586,742),8264=>array(16,0,501,742),8265=>array(102,0,586,742),8267=>array(99,-96,550,729),8304=>array(155,319,448,742),8305=>array(160,326,441,751),8308=>array(131,326,444,734),8309=>array(156,319,436,734),8310=>array(161,319,454,742),8311=>array(155,326,440,734),8312=>array(154,318,448,741),8313=>array(148,319,441,742),8314=>array(139,357,464,646),8315=>array(139,479,464,525),8316=>array(139,422,464,581),8317=>array(230,252,372,751),8318=>array(230,252,372,751),8319=>array(157,326,445,640),8320=>array(155,-7,448,416),8321=>array(168,0,447,408),8322=>array(157,0,436,416),8323=>array(159,-7,451,416),8324=>array(131,0,444,408),8325=>array(156,-7,436,408),8326=>array(161,-7,454,416),8327=>array(155,0,440,408),8328=>array(154,-8,448,415),8329=>array(148,-7,441,416),8330=>array(139,31,464,320),8331=>array(139,152,464,199),8332=>array(139,96,464,254),8333=>array(230,-74,372,425),8334=>array(230,-74,372,425),8336=>array(159,-8,443,313),8337=>array(149,-8,453,313),8338=>array(153,-8,449,313),8339=>array(134,0,468,306),8340=>array(149,-8,453,313),8341=>array(157,0,445,426),8342=>array(152,0,450,425),8343=>array(167,0,436,429),8344=>array(143,0,459,313),8345=>array(157,0,445,314),8346=>array(160,-117,442,313),8347=>array(169,0,433,322),8348=>array(163,0,439,393),8352=>array(5,-11,600,737),8353=>array(60,-44,548,778),8354=>array(46,-14,543,742),8355=>array(0,0,533,729),8356=>array(68,0,553,742),8357=>array(53,-93,554,640),8358=>array(0,0,602,729),8359=>array(5,-14,600,729),8360=>array(5,-14,598,729),8361=>array(0,0,602,729),8362=>array(21,-14,582,729),8363=>array(60,-174,602,760),8364=>array(18,-14,518,742),8365=>array(21,0,582,729),8366=>array(23,0,579,729),8367=>array(15,-222,597,742),8368=>array(22,-14,569,742),8369=>array(52,0,602,729),8370=>array(26,-81,567,809),8371=>array(19,0,583,729),8372=>array(0,-14,602,742),8373=>array(63,-147,539,760),8376=>array(23,0,579,729),8377=>array(51,0,555,729),8450=>array(68,-14,524,742),8453=>array(3,-24,602,752),8461=>array(28,0,577,729),8462=>array(41,0,535,760),8463=>array(41,0,535,760),8469=>array(36,0,565,729),8470=>array(5,0,597,729),8471=>array(0,61,602,663),8473=>array(32,0,575,729),8474=>array(8,-129,592,742),8477=>array(18,0,592,729),8482=>array(0,447,550,729),8484=>array(23,0,575,729),8486=>array(36,0,566,713),8490=>array(67,0,598,729),8491=>array(18,0,584,928),8494=>array(5,-12,597,647),8520=>array(13,0,469,760),8531=>array(13,-139,549,810),8532=>array(13,-139,549,818),8533=>array(13,-139,544,810),8534=>array(13,-139,544,818),8535=>array(13,-139,544,818),8536=>array(5,-139,544,810),8537=>array(13,-139,552,810),8538=>array(13,-139,552,810),8539=>array(13,-140,546,810),8540=>array(13,-140,546,818),8541=>array(13,-140,546,810),8542=>array(13,-140,546,810),8543=>array(13,246,544,810),8592=>array(32,112,570,436),8593=>array(139,0,463,538),8594=>array(32,112,570,436),8595=>array(139,0,463,538),8596=>array(32,112,570,436),8597=>array(139,0,463,538),8598=>array(90,0,512,422),8599=>array(90,0,512,422),8600=>array(90,0,512,422),8601=>array(90,0,512,422),8602=>array(32,112,570,436),8603=>array(32,112,570,436),8604=>array(43,193,559,422),8605=>array(43,193,559,422),8606=>array(32,112,570,436),8607=>array(139,0,463,538),8608=>array(32,112,570,436),8609=>array(139,0,463,538),8610=>array(32,112,570,436),8611=>array(32,112,570,436),8612=>array(32,112,570,436),8613=>array(139,0,463,538),8614=>array(32,112,570,436),8615=>array(139,0,463,538),8616=>array(139,0,463,538),8617=>array(32,112,570,517),8618=>array(32,112,570,517),8619=>array(32,112,570,517),8620=>array(32,112,570,517),8621=>array(32,112,570,436),8622=>array(32,102,570,446),8623=>array(55,0,547,698),8624=>array(89,0,513,674),8625=>array(89,0,513,674),8626=>array(89,0,513,674),8627=>array(89,0,513,674),8628=>array(91,0,511,540),8629=>array(31,0,571,420),8630=>array(40,168,563,487),8631=>array(40,168,563,487),8632=>array(24,0,578,513),8633=>array(32,0,570,604),8634=>array(43,0,559,497),8635=>array(43,0,559,497),8636=>array(32,234,570,436),8637=>array(32,112,570,314),8638=>array(261,0,463,538),8639=>array(139,0,341,538),8640=>array(32,234,570,436),8641=>array(32,112,570,314),8642=>array(261,0,463,538),8643=>array(160,0,362,538),8644=>array(32,0,570,561),8645=>array(21,0,582,538),8646=>array(32,0,570,561),8647=>array(32,0,570,561),8648=>array(21,0,582,538),8649=>array(32,0,570,561),8650=>array(21,0,582,538),8651=>array(32,32,570,516),8652=>array(32,32,570,516),8653=>array(32,112,570,436),8654=>array(32,112,570,460),8655=>array(32,112,570,436),8656=>array(32,112,570,436),8657=>array(139,0,463,538),8658=>array(32,112,570,436),8659=>array(139,0,463,538),8660=>array(32,112,570,436),8661=>array(139,0,463,538),8662=>array(76,-28,526,422),8663=>array(76,-28,526,422),8664=>array(76,0,526,451),8665=>array(76,0,526,451),8666=>array(32,112,570,436),8667=>array(32,112,570,436),8668=>array(32,112,570,436),8669=>array(32,112,570,436),8670=>array(139,0,463,538),8671=>array(139,0,463,538),8672=>array(32,112,570,436),8673=>array(139,0,463,538),8674=>array(32,112,570,436),8675=>array(139,0,463,538),8676=>array(32,112,570,436),8677=>array(32,112,570,436),8678=>array(12,92,570,456),8679=>array(119,0,483,558),8680=>array(32,92,590,456),8681=>array(119,0,483,558),8682=>array(119,0,483,558),8683=>array(119,0,483,558),8684=>array(119,0,483,558),8685=>array(119,0,483,558),8686=>array(119,0,483,558),8687=>array(119,0,483,558),8688=>array(32,92,590,456),8689=>array(34,0,568,534),8690=>array(34,0,568,534),8691=>array(119,0,483,558),8692=>array(32,112,570,436),8693=>array(21,0,582,538),8694=>array(32,-125,570,672),8695=>array(32,112,570,436),8696=>array(32,112,570,436),8697=>array(32,112,570,436),8698=>array(32,112,570,436),8699=>array(32,112,570,436),8700=>array(32,112,570,436),8701=>array(12,92,570,456),8702=>array(32,92,590,456),8703=>array(12,92,590,456),8704=>array(18,0,584,729),8705=>array(57,-14,545,742),8706=>array(89,-14,513,662),8707=>array(87,0,514,729),8708=>array(87,-46,514,776),8709=>array(36,48,567,580),8710=>array(-3,0,606,695),8711=>array(-3,0,606,695),8712=>array(63,0,539,715),8713=>array(63,-86,539,801),8714=>array(63,81,539,545),8715=>array(63,0,539,715),8716=>array(63,-86,539,801),8717=>array(63,81,539,545),8719=>array(74,-213,528,741),8721=>array(70,-213,530,741),8722=>array(43,272,559,355),8723=>array(43,0,559,572),8725=>array(50,-93,527,729),8727=>array(81,85,521,542),8728=>array(146,160,456,470),8729=>array(156,200,446,489),8730=>array(29,-19,578,828),8731=>array(29,-19,578,933),8732=>array(29,-19,578,924),8733=>array(91,122,511,492),8734=>array(20,122,582,492),8735=>array(61,140,541,620),8736=>array(61,140,541,620),8743=>array(80,0,521,579),8744=>array(80,0,521,579),8745=>array(80,0,521,579),8746=>array(80,0,521,579),8747=>array(63,-183,539,871),8748=>array(31,-189,571,877),8749=>array(26,-176,577,864),8756=>array(91,65,512,564),8757=>array(92,65,510,564),8758=>array(238,65,363,564),8759=>array(91,65,512,564),8760=>array(43,272,559,564),8761=>array(36,65,566,564),8762=>array(42,65,561,564),8763=>array(43,65,559,564),8764=>array(43,243,559,384),8765=>array(43,243,559,384),8769=>array(43,85,559,535),8770=>array(43,149,559,454),8771=>array(43,172,559,470),8772=>array(43,48,560,604),8773=>array(43,94,559,570),8774=>array(43,24,559,570),8775=>array(43,0,559,647),8776=>array(43,149,559,470),8777=>array(43,23,559,595),8778=>array(43,94,559,572),8779=>array(43,73,559,572),8780=>array(43,94,559,570),8781=>array(42,108,559,519),8782=>array(43,33,560,593),8783=>array(43,172,560,593),8784=>array(43,172,559,637),8785=>array(43,-11,559,637),8786=>array(43,-10,559,637),8787=>array(42,-10,560,637),8788=>array(36,147,566,479),8789=>array(36,147,566,479),8790=>array(43,172,559,454),8791=>array(43,172,559,760),8792=>array(43,172,559,662),8793=>array(43,172,559,783),8794=>array(43,172,559,783),8795=>array(43,172,559,831),8796=>array(43,172,559,836),8797=>array(34,172,568,764),8798=>array(43,172,559,760),8799=>array(43,172,559,856),8800=>array(43,18,559,608),8801=>array(43,94,559,532),8802=>array(43,5,559,622),8803=>array(43,0,559,616),8804=>array(43,0,559,531),8805=>array(43,0,559,531),8806=>array(42,-84,558,578),8807=>array(42,-84,558,578),8808=>array(42,-162,558,578),8809=>array(42,-162,558,578),8813=>array(42,0,559,627),8814=>array(43,-14,559,641),8815=>array(43,-14,559,641),8816=>array(43,-119,559,629),8817=>array(43,-119,559,629),8818=>array(42,-21,558,531),8819=>array(42,-21,558,531),8820=>array(42,-119,558,629),8821=>array(42,-119,558,629),8822=>array(42,-89,558,603),8823=>array(42,-89,558,603),8824=>array(42,-195,558,711),8825=>array(42,-195,558,711),8826=>array(42,-22,558,648),8827=>array(43,-22,559,648),8828=>array(42,-123,558,711),8829=>array(42,-123,558,711),8830=>array(42,-56,558,711),8831=>array(42,-56,558,711),8832=>array(42,-81,558,707),8833=>array(42,-81,558,707),8834=>array(43,80,559,546),8835=>array(43,80,559,546),8836=>array(43,-29,559,655),8837=>array(43,-29,559,655),8838=>array(43,0,559,625),8839=>array(43,0,559,625),8840=>array(43,-104,559,729),8841=>array(43,-104,559,729),8842=>array(43,-102,559,625),8843=>array(43,-102,559,625),8847=>array(43,58,559,568),8848=>array(43,58,559,568),8849=>array(43,7,559,619),8850=>array(43,7,559,619),8853=>array(39,51,563,577),8854=>array(39,51,563,577),8855=>array(39,51,563,577),8856=>array(39,51,563,577),8857=>array(39,51,563,577),8858=>array(39,51,563,577),8859=>array(39,51,563,577),8860=>array(39,51,563,577),8861=>array(39,51,563,577),8862=>array(39,51,564,576),8863=>array(39,51,564,576),8864=>array(39,51,564,576),8865=>array(39,51,564,576),8866=>array(43,0,559,627),8867=>array(43,0,559,627),8868=>array(43,0,559,627),8869=>array(43,0,559,627),8901=>array(239,273,362,422),8902=>array(129,201,473,527),8909=>array(43,172,559,470),8922=>array(43,-218,559,760),8923=>array(43,-218,559,760),8924=>array(42,0,558,531),8925=>array(43,0,559,531),8926=>array(42,-123,558,711),8927=>array(42,-123,558,711),8928=>array(42,-182,558,770),8929=>array(42,-182,558,770),8930=>array(43,-81,559,707),8931=>array(43,-81,559,707),8932=>array(43,-95,559,619),8933=>array(43,-95,559,619),8934=>array(42,-134,558,531),8935=>array(42,-134,558,531),8936=>array(42,-213,558,711),8937=>array(42,-213,558,711),8943=>array(39,239,562,388),8960=>array(36,48,567,580),8961=>array(56,162,540,443),8962=>array(71,0,531,596),8963=>array(71,406,530,746),8964=>array(71,-132,530,209),8965=>array(71,0,530,444),8966=>array(71,0,530,566),8968=>array(226,-132,433,760),8969=>array(169,-132,376,760),8970=>array(226,-132,433,760),8971=>array(169,-132,376,760),8972=>array(268,73,585,408),8973=>array(6,73,324,408),8974=>array(268,352,585,687),8975=>array(6,352,324,687),8976=>array(43,181,559,421),8977=>array(47,126,555,634),8978=>array(3,211,599,512),8979=>array(3,211,599,512),8980=>array(90,168,512,512),8981=>array(81,112,510,539),8984=>array(35,114,567,646),8985=>array(43,181,559,421),8988=>array(146,352,463,687),8989=>array(139,352,456,687),8990=>array(146,-56,463,279),8991=>array(139,-56,456,279),8992=>array(250,-250,537,928),8993=>array(61,-237,347,942),8997=>array(51,114,551,598),8998=>array(3,145,599,536),8999=>array(61,145,541,536),9000=>array(24,212,578,517),9003=>array(3,145,599,536),9013=>array(35,-22,566,286),9015=>array(125,-100,477,829),9016=>array(3,-100,599,829),9017=>array(3,-100,599,829),9018=>array(3,-100,599,829),9019=>array(3,-100,599,829),9020=>array(3,-100,599,829),9021=>array(3,-171,599,900),9022=>array(3,57,599,658),9025=>array(3,-100,599,829),9026=>array(3,-100,599,829),9027=>array(3,-100,599,829),9028=>array(3,-100,599,829),9031=>array(3,-100,599,829),9032=>array(3,-100,599,829),9033=>array(3,-29,599,729),9035=>array(18,-171,584,900),9036=>array(3,-100,599,829),9037=>array(3,-100,599,829),9040=>array(3,-100,599,829),9042=>array(18,-171,584,900),9043=>array(3,-100,599,829),9044=>array(3,-100,599,829),9047=>array(3,-100,599,829),9048=>array(125,-100,477,729),9049=>array(3,-100,599,729),9050=>array(3,-100,599,656),9051=>array(125,-100,477,489),9052=>array(3,-100,599,658),9054=>array(3,-100,599,829),9055=>array(-10,44,612,671),9056=>array(3,-100,599,829),9059=>array(129,201,473,636),9060=>array(156,229,446,660),9061=>array(3,57,599,831),9064=>array(43,240,559,660),9065=>array(43,69,559,660),9067=>array(18,0,584,729),9068=>array(43,-14,559,742),9069=>array(43,-171,559,900),9070=>array(125,-140,477,519),9071=>array(3,-100,599,829),9072=>array(3,-100,599,829),9075=>array(151,0,476,547),9076=>array(93,-208,541,560),9077=>array(34,-14,568,547),9078=>array(3,-100,599,559),9079=>array(76,-100,526,560),9080=>array(125,-100,477,547),9081=>array(3,-100,599,547),9082=>array(34,-12,573,559),9085=>array(13,-228,589,88),9088=>array(35,-22,566,528),9089=>array(3,106,599,528),9090=>array(3,106,599,528),9091=>array(3,177,599,567),9096=>array(40,27,562,601),9097=>array(34,46,567,579),9098=>array(34,46,567,579),9099=>array(34,46,567,579),9109=>array(3,-100,599,829),9115=>array(137,-258,465,940),9116=>array(137,-252,232,942),9117=>array(137,-240,465,942),9118=>array(137,-258,465,940),9119=>array(370,-252,465,942),9120=>array(137,-240,465,942),9121=>array(137,-252,465,928),9122=>array(137,-252,232,942),9123=>array(137,-240,465,942),9124=>array(137,-252,465,928),9125=>array(370,-252,465,935),9126=>array(137,-240,465,935),9127=>array(256,-261,594,928),9128=>array(8,-252,347,940),9129=>array(256,-240,594,940),9130=>array(256,-256,347,943),9131=>array(8,-261,346,928),9132=>array(255,-252,594,940),9133=>array(8,-240,346,940),9134=>array(250,-250,347,942),9166=>array(12,92,570,558),9167=>array(3,0,599,596),9251=>array(73,-228,528,88),9472=>array(-10,242,612,326),9473=>array(-10,200,612,368),9474=>array(262,-302,340,973),9475=>array(223,-302,379,973),9476=>array(-10,242,612,326),9477=>array(-10,200,612,368),9478=>array(262,-302,340,973),9479=>array(223,-302,379,973),9480=>array(-10,242,612,326),9481=>array(-10,200,612,368),9482=>array(262,-302,340,973),9483=>array(223,-302,379,973),9484=>array(262,-302,612,326),9485=>array(262,-302,612,368),9486=>array(223,-302,612,326),9487=>array(223,-302,612,368),9488=>array(-10,-302,340,326),9489=>array(-10,-302,340,368),9490=>array(-10,-302,379,326),9491=>array(-10,-302,379,368),9492=>array(262,242,612,973),9493=>array(262,200,612,973),9494=>array(223,242,612,973),9495=>array(223,200,612,973),9496=>array(-10,242,340,973),9497=>array(-10,200,340,973),9498=>array(-10,242,379,973),9499=>array(-10,200,379,973),9500=>array(262,-302,612,973),9501=>array(262,-302,612,973),9502=>array(223,-302,612,973),9503=>array(223,-302,612,973),9504=>array(223,-302,612,973),9505=>array(223,-302,612,973),9506=>array(223,-302,612,973),9507=>array(223,-302,612,973),9508=>array(-10,-302,340,973),9509=>array(-10,-302,340,973),9510=>array(-10,-302,379,973),9511=>array(-10,-302,379,973),9512=>array(-10,-302,379,973),9513=>array(-10,-302,379,973),9514=>array(-10,-302,379,973),9515=>array(-10,-302,379,973),9516=>array(-10,-302,612,326),9517=>array(-10,-302,612,368),9518=>array(-10,-302,612,368),9519=>array(-10,-302,612,368),9520=>array(-10,-302,612,326),9521=>array(-10,-302,612,368),9522=>array(-10,-302,612,368),9523=>array(-10,-302,612,368),9524=>array(-10,242,612,973),9525=>array(-10,200,612,973),9526=>array(-10,200,612,973),9527=>array(-10,200,612,973),9528=>array(-10,242,612,973),9529=>array(-10,200,612,973),9530=>array(-10,200,612,973),9531=>array(-10,200,612,973),9532=>array(-10,-302,612,973),9533=>array(-10,-302,612,973),9534=>array(-10,-302,612,973),9535=>array(-10,-302,612,973),9536=>array(-10,-302,612,973),9537=>array(-10,-302,612,973),9538=>array(-10,-302,612,973),9539=>array(-10,-302,612,973),9540=>array(-10,-302,612,973),9541=>array(-10,-302,612,973),9542=>array(-10,-302,612,973),9543=>array(-10,-302,612,973),9544=>array(-10,-302,612,973),9545=>array(-10,-302,612,973),9546=>array(-10,-302,612,973),9547=>array(-10,-302,612,973),9548=>array(-10,242,612,326),9549=>array(-10,200,612,368),9550=>array(262,-302,340,973),9551=>array(223,-302,379,973),9552=>array(-10,158,612,410),9553=>array(184,-302,418,973),9554=>array(262,-302,612,410),9555=>array(184,-302,612,326),9556=>array(184,-302,612,410),9557=>array(-10,-302,340,410),9558=>array(-10,-302,418,326),9559=>array(-10,-302,418,410),9560=>array(262,158,612,973),9561=>array(184,242,612,973),9562=>array(184,158,612,973),9563=>array(-10,158,340,973),9564=>array(-10,242,418,973),9565=>array(-10,158,418,973),9566=>array(262,-302,612,973),9567=>array(184,-302,612,973),9568=>array(184,-302,612,973),9569=>array(-10,-302,340,973),9570=>array(-10,-302,418,973),9571=>array(-10,-302,418,973),9572=>array(-10,-302,612,410),9573=>array(-10,-302,612,326),9574=>array(-10,-302,612,410),9575=>array(-10,158,612,973),9576=>array(-10,242,612,973),9577=>array(-10,158,612,973),9578=>array(-10,-302,612,973),9579=>array(-10,-302,612,973),9580=>array(-10,-302,612,973),9581=>array(262,-302,612,326),9582=>array(-10,-302,340,326),9583=>array(-10,242,340,973),9584=>array(262,242,612,973),9585=>array(-53,-302,655,973),9586=>array(-53,-302,655,973),9587=>array(-53,-302,655,973),9588=>array(-10,242,311,326),9589=>array(262,284,340,973),9590=>array(311,242,612,326),9591=>array(262,-302,340,284),9592=>array(-10,200,311,368),9593=>array(223,284,379,973),9594=>array(311,200,612,368),9595=>array(223,-302,379,284),9596=>array(-10,200,612,368),9597=>array(223,-302,379,973),9598=>array(-10,200,612,368),9599=>array(223,-302,379,973),9600=>array(-10,260,612,770),9601=>array(-10,-250,612,-123),9602=>array(-10,-250,612,5),9603=>array(-10,-250,612,132),9604=>array(-10,-250,612,260),9605=>array(-10,-250,612,387),9606=>array(-10,-250,612,515),9607=>array(-10,-250,612,642),9608=>array(-10,-250,612,770),9609=>array(-10,-250,534,770),9610=>array(-10,-250,457,770),9611=>array(-10,-250,379,770),9612=>array(-10,-250,301,770),9613=>array(-10,-250,223,770),9614=>array(-10,-250,146,770),9615=>array(-10,-250,68,770),9616=>array(301,-250,612,770),9617=>array(-10,-250,534,770),9618=>array(-10,-250,612,770),9619=>array(-10,-250,612,770),9620=>array(-10,642,612,770),9621=>array(534,-250,611,770),9622=>array(-10,-250,301,260),9623=>array(301,-250,612,260),9624=>array(-10,260,301,770),9625=>array(-10,-250,612,770),9626=>array(-10,-250,612,770),9627=>array(-10,-250,612,770),9628=>array(-10,-250,612,770),9629=>array(301,260,612,770),9630=>array(-10,-250,612,770),9631=>array(-10,-250,612,770),9632=>array(3,-39,599,558),9633=>array(3,-39,599,558),9634=>array(3,-39,599,558),9635=>array(3,-39,599,558),9636=>array(3,-39,599,558),9637=>array(3,-39,599,558),9638=>array(3,-39,599,558),9639=>array(3,-39,599,558),9640=>array(3,-39,599,558),9641=>array(3,-39,599,558),9642=>array(107,66,495,454),9643=>array(107,66,495,454),9644=>array(3,117,599,402),9645=>array(3,117,599,402),9646=>array(158,-39,444,558),9647=>array(158,-39,444,558),9648=>array(3,117,599,402),9649=>array(3,117,599,402),9650=>array(3,-39,599,558),9651=>array(3,-39,599,558),9652=>array(107,66,495,454),9653=>array(107,66,495,454),9654=>array(3,-39,599,558),9655=>array(3,-39,599,558),9656=>array(107,66,495,454),9657=>array(107,66,495,454),9658=>array(3,66,599,454),9659=>array(3,66,599,454),9660=>array(3,-39,599,558),9661=>array(3,-39,599,558),9662=>array(107,66,495,454),9663=>array(107,66,495,454),9664=>array(3,-39,599,558),9665=>array(3,-39,599,558),9666=>array(107,66,495,454),9667=>array(107,66,495,454),9668=>array(3,66,599,454),9669=>array(3,66,599,454),9670=>array(3,-39,599,558),9671=>array(3,-39,599,558),9672=>array(3,-39,599,558),9673=>array(3,-41,599,561),9674=>array(57,-233,545,807),9675=>array(3,-41,599,561),9676=>array(3,-41,599,561),9677=>array(3,-41,599,561),9678=>array(3,-41,599,561),9679=>array(3,-41,599,561),9680=>array(3,-41,599,561),9681=>array(3,-41,599,561),9682=>array(3,-41,599,561),9683=>array(3,-41,599,561),9684=>array(3,-41,599,561),9685=>array(3,-41,599,561),9686=>array(152,-41,450,561),9687=>array(152,-41,450,561),9688=>array(-10,-10,612,770),9689=>array(-10,-250,612,770),9690=>array(-10,260,612,770),9691=>array(-10,-250,612,260),9692=>array(152,260,450,561),9693=>array(152,260,450,561),9694=>array(152,-41,450,260),9695=>array(152,-41,450,260),9696=>array(3,260,599,561),9697=>array(3,-41,599,260),9698=>array(3,-39,599,558),9699=>array(3,-39,599,558),9700=>array(3,-39,599,558),9701=>array(3,-39,599,558),9702=>array(156,227,446,516),9703=>array(3,-39,599,558),9704=>array(3,-39,599,558),9705=>array(3,-39,599,558),9706=>array(3,-39,599,558),9707=>array(3,-39,599,558),9708=>array(3,-39,599,558),9709=>array(3,-39,599,558),9710=>array(3,-39,599,558),9711=>array(-10,-54,612,573),9712=>array(3,-39,599,558),9713=>array(3,-39,599,558),9714=>array(3,-39,599,558),9715=>array(3,-39,599,558),9716=>array(3,-41,599,561),9717=>array(3,-41,599,561),9718=>array(3,-41,599,561),9719=>array(3,-41,599,561),9720=>array(3,-39,599,558),9721=>array(3,-39,599,558),9722=>array(3,-39,599,558),9723=>array(47,6,554,513),9724=>array(47,6,554,513),9725=>array(85,44,516,475),9726=>array(85,44,516,475),9727=>array(3,-39,599,558),9728=>array(17,80,585,649),9729=>array(24,4,578,227),9730=>array(17,3,585,522),9731=>array(43,-3,559,708),9732=>array(14,23,588,681),9733=>array(28,7,574,525),9734=>array(28,10,574,528),9735=>array(98,2,504,729),9736=>array(29,0,573,731),9737=>array(21,3,581,563),9738=>array(7,2,595,639),9739=>array(9,-1,593,677),9740=>array(26,0,576,724),9741=>array(22,1,580,724),9742=>array(10,-0,592,598),9743=>array(4,5,598,598),9744=>array(54,2,548,504),9745=>array(48,-1,554,512),9746=>array(65,2,537,481),9747=>array(98,43,504,658),9748=>array(14,-2,588,651),9749=>array(38,3,564,688),9750=>array(27,3,575,734),9751=>array(23,1,579,728),9752=>array(19,3,583,596),9753=>array(23,203,579,557),9754=>array(23,132,579,560),9755=>array(23,132,579,560),9756=>array(7,138,595,516),9757=>array(68,0,534,724),9758=>array(7,138,595,516),9759=>array(68,-3,534,720),9760=>array(6,-1,596,593),9761=>array(4,-2,598,728),9762=>array(4,1,598,595),9763=>array(17,3,585,523),9764=>array(38,-0,564,671),9765=>array(47,-0,555,730),9766=>array(59,-1,543,731),9767=>array(47,3,555,751),9768=>array(100,-2,502,725),9769=>array(27,0,575,549),9770=>array(15,1,587,644),9771=>array(4,0,598,594),9772=>array(50,-3,552,669),9773=>array(7,2,595,642),9774=>array(13,2,589,578),9775=>array(7,2,595,591),9784=>array(13,82,589,642),9785=>array(16,80,586,650),9786=>array(16,80,586,650),9787=>array(16,80,586,650),9788=>array(16,80,586,650),9789=>array(76,2,526,722),9790=>array(73,3,529,734),9791=>array(92,-78,510,708),9792=>array(71,-49,531,655),9793=>array(71,-49,531,655),9794=>array(10,75,592,648),9795=>array(35,21,567,710),9796=>array(85,21,517,710),9797=>array(33,65,569,666),9798=>array(37,65,565,666),9799=>array(105,21,497,710),9800=>array(12,0,590,641),9801=>array(26,-4,576,596),9802=>array(13,6,589,601),9803=>array(25,24,577,632),9804=>array(30,-1,572,641),9805=>array(23,-136,579,562),9806=>array(42,88,561,614),9807=>array(24,-75,578,597),9808=>array(27,3,575,597),9809=>array(10,1,592,601),9810=>array(43,156,559,460),9811=>array(46,2,556,642),9812=>array(33,2,569,563),9813=>array(42,0,560,560),9814=>array(55,0,547,639),9815=>array(108,-4,494,596),9816=>array(70,3,532,597),9817=>array(76,3,526,551),9818=>array(52,-2,550,518),9819=>array(26,2,576,596),9820=>array(72,2,530,596),9821=>array(110,3,492,597),9822=>array(50,1,552,641),9823=>array(58,2,544,597),9824=>array(63,65,540,664),9825=>array(7,65,595,663),9826=>array(71,65,531,664),9827=>array(24,65,578,664),9828=>array(62,65,540,664),9829=>array(5,65,597,664),9830=>array(71,65,531,664),9831=>array(24,65,578,667),9832=>array(22,3,580,597),9833=>array(181,16,421,708),9834=>array(79,16,523,708),9835=>array(52,-79,550,706),9836=>array(8,61,594,664),9837=>array(158,18,444,710),9838=>array(211,21,391,710),9839=>array(152,21,450,710),9840=>array(47,-1,555,639),9841=>array(22,-8,580,632),9842=>array(23,-2,579,538),9843=>array(29,5,573,527),9844=>array(37,4,565,514),9845=>array(33,5,569,521),9846=>array(18,3,584,549),9847=>array(30,4,572,525),9848=>array(37,0,565,509),9849=>array(22,6,580,543),9850=>array(22,0,580,537),9851=>array(28,-0,574,528),9852=>array(22,3,580,561),9853=>array(27,2,575,550),9854=>array(22,3,580,561),9855=>array(39,4,563,643),9856=>array(29,2,573,546),9857=>array(29,2,573,546),9858=>array(29,2,573,546),9859=>array(29,0,573,544),9860=>array(29,2,573,546),9861=>array(29,-2,573,542),9862=>array(22,0,580,557),9863=>array(22,2,580,559),9864=>array(22,0,580,557),9865=>array(22,-5,580,552),9866=>array(40,3,562,73),9867=>array(40,3,562,73),9872=>array(73,-1,529,591),9873=>array(56,2,546,640),9874=>array(19,-0,583,520),9875=>array(15,0,587,603),9876=>array(63,6,539,553),9877=>array(92,-1,510,740),9878=>array(9,1,593,558),9879=>array(11,3,591,552),9880=>array(36,-1,566,640),9881=>array(15,0,587,603),9882=>array(21,6,582,656),9883=>array(40,5,562,597),9884=>array(21,-1,582,638),9888=>array(17,1,585,520),9889=>array(66,4,536,642),9904=>array(119,0,484,730),9905=>array(108,0,494,594),9985=>array(22,181,580,494),9986=>array(22,170,580,505),9987=>array(28,156,574,462),9988=>array(30,161,572,501),9990=>array(25,35,577,588),9991=>array(18,31,584,598),9992=>array(30,29,572,544),9993=>array(31,56,571,448),9996=>array(158,5,444,614),9997=>array(22,73,580,498),9998=>array(42,64,560,581),9999=>array(19,109,583,346),10000=>array(42,91,560,608),10001=>array(29,146,573,420),10002=>array(18,133,584,388),10003=>array(74,94,528,561),10004=>array(36,56,566,532),10005=>array(63,55,539,531),10006=>array(31,92,540,601),10007=>array(64,-10,538,593),10008=>array(25,-1,577,646),10009=>array(31,2,571,542),10010=>array(42,3,560,503),10011=>array(28,3,574,550),10012=>array(23,0,579,556),10013=>array(76,1,520,640),10014=>array(62,0,541,639),10015=>array(70,2,532,595),10016=>array(23,1,579,558),10017=>array(35,1,567,616),10018=>array(15,-10,587,562),10019=>array(14,-8,588,567),10020=>array(13,-9,589,567),10021=>array(11,-13,591,566),10022=>array(21,-12,581,552),10023=>array(18,-13,584,557),10025=>array(20,-8,583,527),10026=>array(33,-13,569,526),10027=>array(20,-13,583,522),10028=>array(17,-11,585,529),10029=>array(20,-8,583,527),10030=>array(30,-2,572,514),10031=>array(20,-5,583,531),10032=>array(22,8,580,502),10033=>array(26,-1,576,563),10034=>array(42,-0,560,547),10035=>array(23,-1,579,554),10036=>array(18,-8,584,560),10037=>array(13,-11,589,565),10038=>array(24,-14,578,625),10039=>array(15,-16,587,556),10040=>array(13,-11,589,565),10041=>array(18,-17,584,551),10042=>array(23,1,579,557),10043=>array(24,-8,578,613),10044=>array(27,-9,575,606),10045=>array(25,-10,573,609),10046=>array(16,-13,586,592),10047=>array(18,0,584,551),10048=>array(11,1,591,565),10049=>array(11,-9,591,572),10050=>array(18,-16,584,552),10051=>array(24,-9,578,653),10052=>array(16,1,586,667),10053=>array(23,-3,579,587),10054=>array(12,2,590,594),10055=>array(24,-9,578,605),10056=>array(20,-10,582,552),10057=>array(16,-14,586,556),10058=>array(11,-11,591,569),10059=>array(17,-11,585,513),10061=>array(18,-5,584,527),10063=>array(34,-31,568,504),10064=>array(30,0,572,542),10065=>array(27,-35,575,512),10066=>array(23,0,579,555),10070=>array(21,-3,581,557),10072=>array(263,-119,339,701),10073=>array(225,-120,377,700),10074=>array(165,-151,438,677),10075=>array(233,476,369,731),10076=>array(228,471,374,722),10077=>array(125,476,477,731),10078=>array(120,471,482,722),10081=>array(50,-80,552,688),10082=>array(125,-19,478,598),10083=>array(93,-14,509,603),10084=>array(22,51,580,507),10085=>array(56,-2,546,637),10086=>array(32,12,570,567),10087=>array(24,150,578,472),10088=>array(117,-49,485,688),10089=>array(117,-49,485,688),10090=>array(175,-59,427,665),10091=>array(179,-59,423,643),10092=>array(158,-64,444,667),10093=>array(158,-64,444,667),10094=>array(103,-83,500,647),10095=>array(103,-83,500,647),10096=>array(100,-93,502,727),10097=>array(101,-93,501,728),10098=>array(223,-138,379,683),10099=>array(223,-135,379,686),10100=>array(137,-160,465,671),10101=>array(122,-164,480,676),10132=>array(41,148,562,487),10136=>array(57,71,545,561),10137=>array(41,204,562,509),10138=>array(57,94,545,583),10139=>array(22,204,580,485),10140=>array(36,145,566,530),10141=>array(41,214,562,519),10142=>array(22,184,580,510),10143=>array(26,182,576,503),10144=>array(41,201,562,505),10145=>array(41,189,562,494),10146=>array(47,182,555,512),10147=>array(60,205,542,518),10148=>array(60,140,542,592),10149=>array(26,193,576,530),10150=>array(26,193,576,529),10151=>array(164,128,438,609),10152=>array(26,179,576,500),10153=>array(49,177,553,516),10154=>array(49,148,553,487),10155=>array(26,89,576,498),10156=>array(47,104,555,458),10157=>array(61,107,541,538),10158=>array(41,63,561,530),10159=>array(24,163,578,557),10161=>array(20,124,582,524),10162=>array(71,92,531,584),10163=>array(43,163,559,386),10164=>array(57,90,545,579),10165=>array(41,227,562,427),10166=>array(57,63,545,552),10167=>array(38,90,564,616),10168=>array(21,192,582,409),10169=>array(57,85,545,574),10170=>array(26,146,576,490),10171=>array(14,179,588,461),10172=>array(19,218,583,456),10173=>array(18,174,583,493),10174=>array(24,131,578,462),10178=>array(43,0,559,627),10181=>array(152,-163,450,769),10182=>array(152,-163,450,769),10208=>array(57,-233,545,807),10214=>array(145,-132,458,760),10215=>array(145,-132,457,760),10216=>array(190,-132,412,759),10217=>array(190,-132,412,759),10731=>array(57,-233,545,807),10746=>array(43,55,559,572),10747=>array(43,55,559,572),10799=>array(73,85,529,541),10858=>array(43,243,559,564),10859=>array(43,65,559,564),11013=>array(41,190,561,494),11014=>array(149,82,453,602),11015=>array(149,82,453,602),11016=>array(68,109,485,526),11017=>array(117,109,534,526),11018=>array(117,109,534,526),11019=>array(68,109,485,526),11020=>array(41,190,561,494),11021=>array(149,82,453,602),11026=>array(3,-39,599,558),11027=>array(3,-39,599,558),11028=>array(3,-39,599,558),11029=>array(3,-39,599,558),11030=>array(3,-39,599,558),11031=>array(3,-39,599,558),11032=>array(3,-39,599,558),11033=>array(3,-39,599,558),11034=>array(3,-39,599,558),11364=>array(70,-213,602,729),11373=>array(52,-14,540,742),11374=>array(42,-208,559,729),11375=>array(18,0,584,729),11376=>array(52,-14,540,742),11381=>array(67,0,535,729),11382=>array(95,0,513,547),11383=>array(37,-12,565,551),11385=>array(74,-13,461,760),11386=>array(67,-14,535,560),11388=>array(237,-117,365,426),11389=>array(129,326,473,734),11390=>array(68,-242,570,742),11391=>array(76,-242,571,729),11800=>array(94,-13,483,729),11807=>array(43,65,559,384),11810=>array(226,403,433,760),11811=>array(169,403,376,760),11812=>array(226,-132,433,225),11813=>array(169,-132,376,225),11822=>array(106,0,496,742),42760=>array(146,0,456,668),42761=>array(146,0,456,668),42762=>array(146,0,456,668),42763=>array(146,0,456,668),42764=>array(146,0,456,668),42765=>array(146,0,456,668),42766=>array(146,0,456,668),42767=>array(146,0,456,668),42768=>array(146,0,456,668),42769=>array(146,0,456,668),42770=>array(146,0,456,668),42771=>array(146,0,456,668),42772=>array(146,0,456,668),42773=>array(146,0,456,668),42774=>array(146,0,456,668),42779=>array(166,326,436,736),42780=>array(166,324,436,734),42781=>array(270,326,332,734),42782=>array(270,326,332,734),42783=>array(270,0,332,408),42786=>array(157,0,464,729),42787=>array(179,0,452,547),42788=>array(115,224,494,742),42789=>array(115,42,494,560),42790=>array(67,-208,535,729),42791=>array(95,-208,513,760),42889=>array(239,0,362,519),42890=>array(191,161,411,380),42891=>array(252,235,351,729),42892=>array(258,458,343,729),42893=>array(67,0,533,729),42894=>array(77,-208,525,765),42896=>array(41,-157,573,729),42897=>array(60,-140,546,560),42922=>array(10,0,585,729),63173=>array(67,-14,535,760),64257=>array(17,0,527,760),64258=>array(17,0,527,760),64338=>array(34,-244,586,263),64339=>array(34,-244,612,264),64340=>array(-10,-244,342,293),64341=>array(-10,-244,612,293),64342=>array(34,-244,586,263),64343=>array(34,-244,612,264),64344=>array(-10,-244,389,293),64345=>array(-10,-244,612,293),64346=>array(34,-244,586,263),64347=>array(34,-244,612,264),64348=>array(-10,-244,380,293),64349=>array(-10,-244,612,293),64350=>array(34,-10,586,467),64351=>array(34,-10,612,470),64352=>array(-10,0,342,559),64353=>array(-10,0,612,553),64354=>array(34,-10,586,513),64355=>array(34,-10,612,513),64356=>array(-10,0,390,559),64357=>array(-10,0,612,561),64358=>array(34,-10,586,542),64359=>array(34,-10,612,535),64360=>array(-10,0,465,620),64361=>array(-10,0,612,627),64362=>array(-36,-45,568,681),64363=>array(-73,-44,612,628),64364=>array(-10,0,406,757),64365=>array(-10,0,612,633),64366=>array(-36,-45,568,687),64367=>array(-73,-44,612,630),64368=>array(-10,0,406,757),64369=>array(-10,0,612,641),64370=>array(43,-244,584,425),64371=>array(43,-244,622,425),64372=>array(-10,-220,545,398),64373=>array(-10,-220,623,398),64374=>array(43,-244,584,425),64375=>array(43,-244,622,425),64376=>array(-10,-98,545,398),64377=>array(-10,-98,623,398),64378=>array(43,-244,584,425),64379=>array(43,-244,622,425),64380=>array(-10,-239,545,398),64381=>array(-10,-220,623,398),64382=>array(43,-244,584,425),64383=>array(43,-244,622,425),64384=>array(-10,-239,545,398),64385=>array(-10,-220,623,398),64394=>array(-25,-246,547,527),64395=>array(-78,-244,612,533),64396=>array(-25,-246,595,576),64397=>array(-78,-244,612,564),64398=>array(5,-43,670,760),64399=>array(-61,-43,638,760),64400=>array(-10,0,521,760),64401=>array(-10,0,612,760),64402=>array(5,-43,673,910),64403=>array(-61,-43,638,911),64404=>array(-10,0,521,903),64405=>array(-10,0,612,903),64414=>array(26,-162,569,336),64415=>array(-21,-244,612,256),64426=>array(0,-33,572,487),64427=>array(0,0,618,487),64428=>array(-10,-33,486,487),64429=>array(-10,0,618,487),64488=>array(-10,0,342,293),64489=>array(-10,0,612,293),64508=>array(12,-131,602,389),64509=>array(-64,-133,612,251),64510=>array(-10,-146,386,293),64511=>array(-10,-146,612,293),65136=>array(158,591,443,825),65137=>array(-10,0,612,825),65138=>array(158,591,443,874),65139=>array(392,0,612,177),65140=>array(158,-239,443,-5),65142=>array(158,591,443,708),65143=>array(-10,0,612,708),65144=>array(158,590,443,874),65145=>array(-10,0,612,874),65146=>array(158,-137,443,-20),65147=>array(-10,-137,612,90),65148=>array(148,599,453,869),65149=>array(-10,0,612,869),65150=>array(167,610,435,878),65151=>array(-10,0,612,878),65152=>array(212,42,522,483),65153=>array(125,0,477,939),65154=>array(125,0,612,939),65155=>array(212,0,380,1028),65156=>array(236,0,612,1028),65157=>array(37,-244,525,588),65158=>array(44,-244,612,588),65159=>array(214,-244,381,760),65160=>array(259,-244,612,760),65161=>array(12,-131,602,542),65162=>array(-64,-133,612,421),65163=>array(-10,0,374,613),65164=>array(-10,0,612,613),65165=>array(256,0,346,760),65166=>array(287,0,612,760),65167=>array(34,-171,586,263),65168=>array(34,-171,612,264),65169=>array(-10,-146,342,293),65170=>array(-10,-146,612,293),65171=>array(108,-28,494,513),65172=>array(118,0,612,513),65173=>array(34,-10,586,391),65174=>array(34,-10,612,391),65175=>array(-10,0,392,488),65176=>array(-10,0,612,488),65177=>array(34,-10,586,513),65178=>array(34,-10,612,513),65179=>array(-10,0,396,610),65180=>array(-10,0,612,592),65181=>array(43,-244,584,425),65182=>array(43,-244,622,425),65183=>array(-10,-146,545,398),65184=>array(-10,-146,623,398),65185=>array(43,-244,584,425),65186=>array(43,-244,622,425),65187=>array(-10,0,545,398),65188=>array(-10,0,623,398),65189=>array(43,-244,584,586),65190=>array(43,-244,622,586),65191=>array(-10,0,545,537),65192=>array(-10,0,623,537),65193=>array(113,-19,488,427),65194=>array(113,-19,612,427),65195=>array(113,-19,488,586),65196=>array(113,-19,612,586),65197=>array(-25,-246,533,267),65198=>array(-78,-244,612,269),65199=>array(-25,-246,533,464),65200=>array(-78,-244,612,464),65201=>array(-107,-240,574,366),65202=>array(-145,-240,612,366),65203=>array(-10,-17,572,363),65204=>array(-10,-17,612,363),65205=>array(-107,-240,574,586),65206=>array(-145,-240,612,586),65207=>array(-10,-17,572,586),65208=>array(-10,-17,612,586),65209=>array(-117,-240,594,320),65210=>array(-154,-240,612,320),65211=>array(-10,0,594,320),65212=>array(-10,0,612,320),65213=>array(-117,-240,594,400),65214=>array(-154,-240,612,400),65215=>array(-10,0,594,433),65216=>array(-10,0,612,426),65217=>array(5,0,580,760),65218=>array(10,0,612,760),65219=>array(-10,0,580,760),65220=>array(-10,0,612,760),65221=>array(5,0,580,760),65222=>array(10,0,612,760),65223=>array(-10,0,580,760),65224=>array(-10,0,612,760),65225=>array(60,-244,589,521),65226=>array(72,-244,619,382),65227=>array(-10,0,497,521),65228=>array(-10,0,612,382),65229=>array(60,-244,589,659),65230=>array(72,-244,619,537),65231=>array(-10,0,497,659),65232=>array(-10,0,612,537),65233=>array(-36,-45,568,594),65234=>array(-73,-44,612,537),65235=>array(-10,0,406,635),65236=>array(-10,0,612,562),65237=>array(15,-189,557,635),65238=>array(-9,-240,612,500),65239=>array(-10,0,406,635),65240=>array(-10,0,612,562),65241=>array(4,-27,578,760),65242=>array(-46,-27,612,760),65243=>array(-10,0,521,760),65244=>array(-10,0,612,760),65245=>array(33,-152,537,760),65246=>array(5,-152,612,760),65247=>array(-10,0,489,760),65248=>array(-10,0,612,760),65249=>array(63,-240,541,369),65250=>array(35,-240,612,307),65251=>array(-10,-24,456,303),65252=>array(-10,-24,612,303),65253=>array(26,-162,569,439),65254=>array(-21,-244,612,335),65255=>array(-10,0,342,488),65256=>array(-10,0,612,488),65257=>array(108,-28,494,358),65258=>array(118,0,612,366),65259=>array(-10,-33,486,487),65260=>array(-10,-244,612,333),65261=>array(37,-244,525,315),65262=>array(44,-244,612,315),65263=>array(12,-131,602,389),65264=>array(-64,-133,612,251),65265=>array(12,-244,602,389),65266=>array(-64,-244,612,251),65267=>array(-10,-146,384,293),65268=>array(-10,-146,612,293),65269=>array(-52,-10,515,866),65270=>array(-94,-10,612,866),65271=>array(41,-10,515,955),65272=>array(-16,-10,612,955),65273=>array(65,-244,515,760),65274=>array(46,-244,612,760),65275=>array(87,-10,515,760),65276=>array(46,-10,612,760),65533=>array(40,-84,562,887),65535=>array(51,-177,551,705)); +$cw=array(0=>602,32=>602,33=>602,34=>602,35=>602,36=>602,37=>602,38=>602,39=>602,40=>602,41=>602,42=>602,43=>602,44=>602,45=>602,46=>602,47=>602,48=>602,49=>602,50=>602,51=>602,52=>602,53=>602,54=>602,55=>602,56=>602,57=>602,58=>602,59=>602,60=>602,61=>602,62=>602,63=>602,64=>602,65=>602,66=>602,67=>602,68=>602,69=>602,70=>602,71=>602,72=>602,73=>602,74=>602,75=>602,76=>602,77=>602,78=>602,79=>602,80=>602,81=>602,82=>602,83=>602,84=>602,85=>602,86=>602,87=>602,88=>602,89=>602,90=>602,91=>602,92=>602,93=>602,94=>602,95=>602,96=>602,97=>602,98=>602,99=>602,100=>602,101=>602,102=>602,103=>602,104=>602,105=>602,106=>602,107=>602,108=>602,109=>602,110=>602,111=>602,112=>602,113=>602,114=>602,115=>602,116=>602,117=>602,118=>602,119=>602,120=>602,121=>602,122=>602,123=>602,124=>602,125=>602,126=>602,160=>602,161=>602,162=>602,163=>602,164=>602,165=>602,166=>602,167=>602,168=>602,169=>602,170=>602,171=>602,172=>602,173=>602,174=>602,175=>602,176=>602,177=>602,178=>602,179=>602,180=>602,181=>602,182=>602,183=>602,184=>602,185=>602,186=>602,187=>602,188=>602,189=>602,190=>602,191=>602,192=>602,193=>602,194=>602,195=>602,196=>602,197=>602,198=>602,199=>602,200=>602,201=>602,202=>602,203=>602,204=>602,205=>602,206=>602,207=>602,208=>602,209=>602,210=>602,211=>602,212=>602,213=>602,214=>602,215=>602,216=>602,217=>602,218=>602,219=>602,220=>602,221=>602,222=>602,223=>602,224=>602,225=>602,226=>602,227=>602,228=>602,229=>602,230=>602,231=>602,232=>602,233=>602,234=>602,235=>602,236=>602,237=>602,238=>602,239=>602,240=>602,241=>602,242=>602,243=>602,244=>602,245=>602,246=>602,247=>602,248=>602,249=>602,250=>602,251=>602,252=>602,253=>602,254=>602,255=>602,256=>602,257=>602,258=>602,259=>602,260=>602,261=>602,262=>602,263=>602,264=>602,265=>602,266=>602,267=>602,268=>602,269=>602,270=>602,271=>602,272=>602,273=>602,274=>602,275=>602,276=>602,277=>602,278=>602,279=>602,280=>602,281=>602,282=>602,283=>602,284=>602,285=>602,286=>602,287=>602,288=>602,289=>602,290=>602,291=>602,292=>602,293=>602,294=>602,295=>602,296=>602,297=>602,298=>602,299=>602,300=>602,301=>602,302=>602,303=>602,304=>602,305=>602,306=>602,307=>602,308=>602,309=>602,310=>602,311=>602,312=>602,313=>602,314=>602,315=>602,316=>602,317=>602,318=>602,319=>602,320=>602,321=>602,322=>602,323=>602,324=>602,325=>602,326=>602,327=>602,328=>602,329=>602,330=>602,331=>602,332=>602,333=>602,334=>602,335=>602,336=>602,337=>602,338=>602,339=>602,340=>602,341=>602,342=>602,343=>602,344=>602,345=>602,346=>602,347=>602,348=>602,349=>602,350=>602,351=>602,352=>602,353=>602,354=>602,355=>602,356=>602,357=>602,358=>602,359=>602,360=>602,361=>602,362=>602,363=>602,364=>602,365=>602,366=>602,367=>602,368=>602,369=>602,370=>602,371=>602,372=>602,373=>602,374=>602,375=>602,376=>602,377=>602,378=>602,379=>602,380=>602,381=>602,382=>602,383=>602,384=>602,385=>602,386=>602,387=>602,388=>602,389=>602,390=>602,391=>602,392=>602,393=>602,394=>602,395=>602,396=>602,397=>602,398=>602,399=>602,400=>602,401=>602,402=>602,403=>602,404=>602,405=>602,406=>602,407=>602,408=>602,409=>602,410=>602,411=>602,412=>602,413=>602,414=>602,415=>602,416=>602,417=>602,418=>602,419=>602,420=>602,421=>602,422=>602,423=>602,424=>602,425=>602,426=>602,427=>602,428=>602,429=>602,430=>602,431=>602,432=>602,433=>602,434=>602,435=>602,436=>602,437=>602,438=>602,439=>602,440=>602,441=>602,442=>602,443=>602,444=>602,445=>602,446=>602,447=>602,448=>602,449=>602,450=>602,451=>602,461=>602,462=>602,463=>602,464=>602,465=>602,466=>602,467=>602,468=>602,469=>602,470=>602,471=>602,472=>602,473=>602,474=>602,475=>602,476=>602,477=>602,478=>602,479=>602,480=>602,481=>602,482=>602,483=>602,486=>602,487=>602,488=>602,489=>602,490=>602,491=>602,492=>602,493=>602,494=>602,495=>602,496=>602,500=>602,501=>602,502=>602,504=>602,505=>602,508=>602,509=>602,510=>602,511=>602,512=>602,513=>602,514=>602,515=>602,516=>602,517=>602,518=>602,519=>602,520=>602,521=>602,522=>602,523=>602,524=>602,525=>602,526=>602,527=>602,528=>602,529=>602,530=>602,531=>602,532=>602,533=>602,534=>602,535=>602,536=>602,537=>602,538=>602,539=>602,540=>602,541=>602,542=>602,543=>602,544=>602,545=>602,548=>602,549=>602,550=>602,551=>602,552=>602,553=>602,554=>602,555=>602,556=>602,557=>602,558=>602,559=>602,560=>602,561=>602,562=>602,563=>602,564=>602,565=>602,566=>602,567=>602,568=>602,569=>602,570=>602,571=>602,572=>602,573=>602,574=>602,575=>602,576=>602,577=>602,579=>602,580=>602,581=>602,588=>602,589=>602,592=>602,593=>602,594=>602,595=>602,596=>602,597=>602,598=>602,599=>602,600=>602,601=>602,602=>602,603=>602,604=>602,605=>602,606=>602,607=>602,608=>602,609=>602,610=>602,611=>602,612=>602,613=>602,614=>602,615=>602,616=>602,617=>602,618=>602,619=>602,620=>602,621=>602,622=>602,623=>602,624=>602,625=>602,626=>602,627=>602,628=>602,629=>602,630=>602,631=>602,632=>602,633=>602,634=>602,635=>602,636=>602,637=>602,638=>602,639=>602,640=>602,641=>602,642=>602,643=>602,644=>602,645=>602,646=>602,647=>602,648=>602,649=>602,650=>602,651=>602,652=>602,653=>602,654=>602,655=>602,656=>602,657=>602,658=>602,659=>602,660=>602,661=>602,662=>602,663=>602,664=>602,665=>602,666=>602,667=>602,668=>602,669=>602,670=>602,671=>602,672=>602,673=>602,674=>602,675=>602,676=>602,677=>602,678=>602,679=>602,680=>602,681=>602,682=>602,683=>602,684=>602,685=>602,686=>602,687=>602,688=>602,689=>602,690=>602,691=>602,692=>602,693=>602,694=>602,695=>602,696=>602,697=>602,699=>602,700=>602,701=>602,702=>602,703=>602,704=>602,705=>602,710=>602,711=>602,712=>602,713=>602,716=>602,717=>602,718=>602,719=>602,720=>602,721=>602,722=>602,723=>602,726=>602,727=>602,728=>602,729=>602,730=>602,731=>602,732=>602,733=>602,734=>602,736=>602,737=>602,738=>602,739=>602,740=>602,741=>602,742=>602,743=>602,744=>602,745=>602,750=>602,755=>602,768=>602,769=>602,770=>602,771=>602,772=>602,773=>602,774=>602,775=>602,776=>602,777=>602,778=>602,779=>602,780=>602,781=>602,782=>602,783=>602,784=>602,785=>602,786=>602,787=>602,788=>602,789=>602,790=>602,791=>602,792=>602,793=>602,794=>602,795=>602,796=>602,797=>602,798=>602,799=>602,800=>602,801=>602,802=>602,803=>602,804=>602,805=>602,806=>602,807=>602,808=>602,809=>602,810=>602,811=>602,812=>602,813=>602,814=>602,815=>602,816=>602,817=>602,818=>602,819=>602,820=>602,821=>602,822=>602,823=>602,824=>602,825=>602,826=>602,827=>602,828=>602,829=>602,830=>602,831=>602,835=>602,856=>602,865=>602,884=>602,885=>602,890=>602,894=>602,900=>602,901=>602,902=>602,903=>602,904=>602,905=>602,906=>602,908=>602,910=>602,911=>602,912=>602,913=>602,914=>602,915=>602,916=>602,917=>602,918=>602,919=>602,920=>602,921=>602,922=>602,923=>602,924=>602,925=>602,926=>602,927=>602,928=>602,929=>602,931=>602,932=>602,933=>602,934=>602,935=>602,936=>602,937=>602,938=>602,939=>602,940=>602,941=>602,942=>602,943=>602,944=>602,945=>602,946=>602,947=>602,948=>602,949=>602,950=>602,951=>602,952=>602,953=>602,954=>602,955=>602,956=>602,957=>602,958=>602,959=>602,960=>602,961=>602,962=>602,963=>602,964=>602,965=>602,966=>602,967=>602,968=>602,969=>602,970=>602,971=>602,972=>602,973=>602,974=>602,976=>602,977=>602,978=>602,979=>602,980=>602,981=>602,982=>602,983=>602,984=>602,985=>602,986=>602,987=>602,988=>602,989=>602,990=>602,991=>602,992=>602,993=>602,1008=>602,1009=>602,1010=>602,1011=>602,1012=>602,1013=>602,1014=>602,1015=>602,1016=>602,1017=>602,1018=>602,1019=>602,1020=>602,1021=>602,1022=>602,1023=>602,1024=>602,1025=>602,1026=>602,1027=>602,1028=>602,1029=>602,1030=>602,1031=>602,1032=>602,1033=>602,1034=>602,1035=>602,1036=>602,1037=>602,1038=>602,1039=>602,1040=>602,1041=>602,1042=>602,1043=>602,1044=>602,1045=>602,1046=>602,1047=>602,1048=>602,1049=>602,1050=>602,1051=>602,1052=>602,1053=>602,1054=>602,1055=>602,1056=>602,1057=>602,1058=>602,1059=>602,1060=>602,1061=>602,1062=>602,1063=>602,1064=>602,1065=>602,1066=>602,1067=>602,1068=>602,1069=>602,1070=>602,1071=>602,1072=>602,1073=>602,1074=>602,1075=>602,1076=>602,1077=>602,1078=>602,1079=>602,1080=>602,1081=>602,1082=>602,1083=>602,1084=>602,1085=>602,1086=>602,1087=>602,1088=>602,1089=>602,1090=>602,1091=>602,1092=>602,1093=>602,1094=>602,1095=>602,1096=>602,1097=>602,1098=>602,1099=>602,1100=>602,1101=>602,1102=>602,1103=>602,1104=>602,1105=>602,1106=>602,1107=>602,1108=>602,1109=>602,1110=>602,1111=>602,1112=>602,1113=>602,1114=>602,1115=>602,1116=>602,1117=>602,1118=>602,1119=>602,1122=>602,1123=>602,1138=>602,1139=>602,1168=>602,1169=>602,1170=>602,1171=>602,1172=>602,1173=>602,1174=>602,1175=>602,1176=>602,1177=>602,1178=>602,1179=>602,1186=>602,1187=>602,1188=>602,1189=>602,1194=>602,1195=>602,1196=>602,1197=>602,1198=>602,1199=>602,1200=>602,1201=>602,1202=>602,1203=>602,1210=>602,1211=>602,1216=>602,1217=>602,1218=>602,1219=>602,1220=>602,1223=>602,1224=>602,1227=>602,1228=>602,1231=>602,1232=>602,1233=>602,1234=>602,1235=>602,1236=>602,1237=>602,1238=>602,1239=>602,1240=>602,1241=>602,1242=>602,1243=>602,1244=>602,1245=>602,1246=>602,1247=>602,1248=>602,1249=>602,1250=>602,1251=>602,1252=>602,1253=>602,1254=>602,1255=>602,1256=>602,1257=>602,1258=>602,1259=>602,1260=>602,1261=>602,1262=>602,1263=>602,1264=>602,1265=>602,1266=>602,1267=>602,1268=>602,1269=>602,1270=>602,1271=>602,1272=>602,1273=>602,1296=>602,1297=>602,1306=>602,1307=>602,1308=>602,1309=>602,1329=>602,1330=>602,1331=>602,1332=>602,1333=>602,1334=>602,1335=>602,1336=>602,1337=>602,1338=>602,1339=>602,1340=>602,1341=>602,1342=>602,1343=>602,1344=>602,1345=>602,1346=>602,1347=>602,1348=>602,1349=>602,1350=>602,1351=>602,1352=>602,1353=>602,1354=>602,1355=>602,1356=>602,1357=>602,1358=>602,1359=>602,1360=>602,1361=>602,1362=>602,1363=>602,1364=>602,1365=>602,1366=>602,1369=>602,1370=>602,1371=>602,1372=>602,1373=>602,1374=>602,1375=>602,1377=>602,1378=>602,1379=>602,1380=>602,1381=>602,1382=>602,1383=>602,1384=>602,1385=>602,1386=>602,1387=>602,1388=>602,1389=>602,1390=>602,1391=>602,1392=>602,1393=>602,1394=>602,1395=>602,1396=>602,1397=>602,1398=>602,1399=>602,1400=>602,1401=>602,1402=>602,1403=>602,1404=>602,1405=>602,1406=>602,1407=>602,1408=>602,1409=>602,1410=>602,1411=>602,1412=>602,1413=>602,1414=>602,1415=>602,1417=>602,1418=>602,1542=>602,1543=>602,1545=>602,1546=>602,1548=>602,1557=>602,1563=>602,1567=>602,1569=>602,1570=>602,1571=>602,1572=>602,1573=>602,1574=>602,1575=>602,1576=>602,1577=>602,1578=>602,1579=>602,1580=>602,1581=>602,1582=>602,1583=>602,1584=>602,1585=>602,1586=>602,1587=>602,1588=>602,1589=>602,1590=>602,1591=>602,1592=>602,1593=>602,1594=>602,1600=>602,1601=>602,1602=>602,1603=>602,1604=>602,1605=>602,1606=>602,1607=>602,1608=>602,1609=>602,1610=>602,1611=>602,1612=>602,1613=>602,1614=>602,1615=>602,1616=>602,1617=>602,1618=>602,1619=>602,1620=>602,1621=>602,1626=>602,1632=>602,1633=>602,1634=>602,1635=>602,1636=>602,1637=>602,1638=>602,1639=>602,1640=>602,1641=>602,1642=>602,1643=>602,1644=>602,1645=>602,1652=>602,1657=>602,1658=>602,1659=>602,1662=>602,1663=>602,1664=>602,1667=>602,1668=>602,1670=>602,1671=>602,1681=>602,1688=>602,1700=>602,1705=>602,1711=>602,1726=>602,1740=>602,1776=>602,1777=>602,1778=>602,1779=>602,1780=>602,1781=>602,1782=>602,1783=>602,1784=>602,1785=>602,3713=>602,3714=>602,3716=>602,3719=>602,3720=>602,3722=>602,3725=>602,3732=>602,3733=>602,3734=>602,3735=>602,3737=>602,3738=>602,3739=>602,3740=>602,3741=>602,3742=>602,3743=>602,3745=>602,3746=>602,3747=>602,3749=>602,3751=>602,3754=>602,3755=>602,3757=>602,3758=>602,3759=>602,3760=>602,3761=>602,3762=>602,3763=>602,3764=>602,3765=>602,3766=>602,3767=>602,3768=>602,3769=>602,3771=>602,3772=>602,3784=>602,3785=>602,3786=>602,3787=>602,3788=>602,3789=>602,4304=>602,4305=>602,4306=>602,4307=>602,4308=>602,4309=>602,4310=>602,4311=>602,4312=>602,4313=>602,4314=>602,4315=>602,4316=>602,4317=>602,4318=>602,4319=>602,4320=>602,4321=>602,4322=>602,4323=>602,4324=>602,4325=>602,4326=>602,4327=>602,4328=>602,4329=>602,4330=>602,4331=>602,4332=>602,4333=>602,4334=>602,4335=>602,4336=>602,4337=>602,4338=>602,4339=>602,4340=>602,4341=>602,4342=>602,4343=>602,4344=>602,4345=>602,4346=>602,4347=>602,4348=>602,7426=>602,7432=>602,7433=>602,7444=>602,7446=>602,7447=>602,7453=>602,7454=>602,7455=>602,7468=>602,7469=>602,7470=>602,7472=>602,7473=>602,7474=>602,7475=>602,7476=>602,7477=>602,7478=>602,7479=>602,7480=>602,7481=>602,7482=>602,7483=>602,7484=>602,7486=>602,7487=>602,7488=>602,7489=>602,7490=>602,7491=>602,7492=>602,7493=>602,7494=>602,7495=>602,7496=>602,7497=>602,7498=>602,7499=>602,7500=>602,7501=>602,7502=>602,7503=>602,7504=>602,7505=>602,7506=>602,7507=>602,7508=>602,7509=>602,7510=>602,7511=>602,7512=>602,7513=>602,7514=>602,7515=>602,7522=>602,7523=>602,7524=>602,7525=>602,7543=>602,7544=>602,7547=>602,7557=>602,7579=>602,7580=>602,7581=>602,7582=>602,7583=>602,7584=>602,7585=>602,7586=>602,7587=>602,7588=>602,7589=>602,7590=>602,7591=>602,7592=>602,7593=>602,7594=>602,7595=>602,7596=>602,7597=>602,7598=>602,7599=>602,7600=>602,7601=>602,7602=>602,7603=>602,7604=>602,7605=>602,7606=>602,7607=>602,7609=>602,7610=>602,7611=>602,7612=>602,7613=>602,7614=>602,7615=>602,7680=>602,7681=>602,7682=>602,7683=>602,7684=>602,7685=>602,7686=>602,7687=>602,7688=>602,7689=>602,7690=>602,7691=>602,7692=>602,7693=>602,7694=>602,7695=>602,7696=>602,7697=>602,7698=>602,7699=>602,7704=>602,7705=>602,7706=>602,7707=>602,7708=>602,7709=>602,7710=>602,7711=>602,7712=>602,7713=>602,7714=>602,7715=>602,7716=>602,7717=>602,7718=>602,7719=>602,7720=>602,7721=>602,7722=>602,7723=>602,7724=>602,7725=>602,7728=>602,7729=>602,7730=>602,7731=>602,7732=>602,7733=>602,7734=>602,7735=>602,7736=>602,7737=>602,7738=>602,7739=>602,7740=>602,7741=>602,7742=>602,7743=>602,7744=>602,7745=>602,7746=>602,7747=>602,7748=>602,7749=>602,7750=>602,7751=>602,7752=>602,7753=>602,7754=>602,7755=>602,7756=>602,7757=>602,7764=>602,7765=>602,7766=>602,7767=>602,7768=>602,7769=>602,7770=>602,7771=>602,7772=>602,7773=>602,7774=>602,7775=>602,7776=>602,7777=>602,7778=>602,7779=>602,7784=>602,7785=>602,7786=>602,7787=>602,7788=>602,7789=>602,7790=>602,7791=>602,7792=>602,7793=>602,7794=>602,7795=>602,7796=>602,7797=>602,7798=>602,7799=>602,7800=>602,7801=>602,7804=>602,7805=>602,7806=>602,7807=>602,7808=>602,7809=>602,7810=>602,7811=>602,7812=>602,7813=>602,7814=>602,7815=>602,7816=>602,7817=>602,7818=>602,7819=>602,7820=>602,7821=>602,7822=>602,7823=>602,7824=>602,7825=>602,7826=>602,7827=>602,7828=>602,7829=>602,7830=>602,7831=>602,7832=>602,7833=>602,7835=>602,7839=>602,7840=>602,7841=>602,7852=>602,7853=>602,7856=>602,7857=>602,7862=>602,7863=>602,7864=>602,7865=>602,7868=>602,7869=>602,7878=>602,7879=>602,7882=>602,7883=>602,7884=>602,7885=>602,7896=>602,7897=>602,7898=>602,7899=>602,7900=>602,7901=>602,7904=>602,7905=>602,7906=>602,7907=>602,7908=>602,7909=>602,7912=>602,7913=>602,7914=>602,7915=>602,7918=>602,7919=>602,7920=>602,7921=>602,7922=>602,7923=>602,7924=>602,7925=>602,7928=>602,7929=>602,7936=>602,7937=>602,7938=>602,7939=>602,7940=>602,7941=>602,7942=>602,7943=>602,7944=>602,7945=>602,7946=>602,7947=>602,7948=>602,7949=>602,7950=>602,7951=>602,7952=>602,7953=>602,7954=>602,7955=>602,7956=>602,7957=>602,7960=>602,7961=>602,7962=>602,7963=>602,7964=>602,7965=>602,7968=>602,7969=>602,7970=>602,7971=>602,7972=>602,7973=>602,7974=>602,7975=>602,7976=>602,7977=>602,7978=>602,7979=>602,7980=>602,7981=>602,7982=>602,7983=>602,7984=>602,7985=>602,7986=>602,7987=>602,7988=>602,7989=>602,7990=>602,7991=>602,7992=>602,7993=>602,7994=>602,7995=>602,7996=>602,7997=>602,7998=>602,7999=>602,8000=>602,8001=>602,8002=>602,8003=>602,8004=>602,8005=>602,8008=>602,8009=>602,8010=>602,8011=>602,8012=>602,8013=>602,8016=>602,8017=>602,8018=>602,8019=>602,8020=>602,8021=>602,8022=>602,8023=>602,8025=>602,8027=>602,8029=>602,8031=>602,8032=>602,8033=>602,8034=>602,8035=>602,8036=>602,8037=>602,8038=>602,8039=>602,8040=>602,8041=>602,8042=>602,8043=>602,8044=>602,8045=>602,8046=>602,8047=>602,8048=>602,8049=>602,8050=>602,8051=>602,8052=>602,8053=>602,8054=>602,8055=>602,8056=>602,8057=>602,8058=>602,8059=>602,8060=>602,8061=>602,8064=>602,8065=>602,8066=>602,8067=>602,8068=>602,8069=>602,8070=>602,8071=>602,8072=>602,8073=>602,8074=>602,8075=>602,8076=>602,8077=>602,8078=>602,8079=>602,8080=>602,8081=>602,8082=>602,8083=>602,8084=>602,8085=>602,8086=>602,8087=>602,8088=>602,8089=>602,8090=>602,8091=>602,8092=>602,8093=>602,8094=>602,8095=>602,8096=>602,8097=>602,8098=>602,8099=>602,8100=>602,8101=>602,8102=>602,8103=>602,8104=>602,8105=>602,8106=>602,8107=>602,8108=>602,8109=>602,8110=>602,8111=>602,8112=>602,8113=>602,8114=>602,8115=>602,8116=>602,8118=>602,8119=>602,8120=>602,8121=>602,8122=>602,8123=>602,8124=>602,8125=>602,8126=>602,8127=>602,8128=>602,8129=>602,8130=>602,8131=>602,8132=>602,8134=>602,8135=>602,8136=>602,8137=>602,8138=>602,8139=>602,8140=>602,8141=>602,8142=>602,8143=>602,8144=>602,8145=>602,8146=>602,8147=>602,8150=>602,8151=>602,8152=>602,8153=>602,8154=>602,8155=>602,8157=>602,8158=>602,8159=>602,8160=>602,8161=>602,8162=>602,8163=>602,8164=>602,8165=>602,8166=>602,8167=>602,8168=>602,8169=>602,8170=>602,8171=>602,8172=>602,8173=>602,8174=>602,8175=>602,8178=>602,8179=>602,8180=>602,8182=>602,8183=>602,8184=>602,8185=>602,8186=>602,8187=>602,8188=>602,8189=>602,8190=>602,8192=>602,8193=>602,8194=>602,8195=>602,8196=>602,8197=>602,8198=>602,8199=>602,8200=>602,8201=>602,8202=>602,8208=>602,8209=>602,8210=>602,8211=>602,8212=>602,8213=>602,8214=>602,8215=>602,8216=>602,8217=>602,8218=>602,8219=>602,8220=>602,8221=>602,8222=>602,8223=>602,8224=>602,8225=>602,8226=>602,8227=>602,8230=>602,8239=>602,8240=>602,8241=>602,8242=>602,8243=>602,8244=>602,8245=>602,8246=>602,8247=>602,8249=>602,8250=>602,8252=>602,8253=>602,8254=>602,8261=>602,8262=>602,8263=>602,8264=>602,8265=>602,8267=>602,8287=>602,8304=>602,8305=>602,8308=>602,8309=>602,8310=>602,8311=>602,8312=>602,8313=>602,8314=>602,8315=>602,8316=>602,8317=>602,8318=>602,8319=>602,8320=>602,8321=>602,8322=>602,8323=>602,8324=>602,8325=>602,8326=>602,8327=>602,8328=>602,8329=>602,8330=>602,8331=>602,8332=>602,8333=>602,8334=>602,8336=>602,8337=>602,8338=>602,8339=>602,8340=>602,8341=>602,8342=>602,8343=>602,8344=>602,8345=>602,8346=>602,8347=>602,8348=>602,8352=>602,8353=>602,8354=>602,8355=>602,8356=>602,8357=>602,8358=>602,8359=>602,8360=>602,8361=>602,8362=>602,8363=>602,8364=>602,8365=>602,8366=>602,8367=>602,8368=>602,8369=>602,8370=>602,8371=>602,8372=>602,8373=>602,8376=>602,8377=>602,8450=>602,8453=>602,8461=>602,8462=>602,8463=>602,8469=>602,8470=>602,8471=>602,8473=>602,8474=>602,8477=>602,8482=>602,8484=>602,8486=>602,8490=>602,8491=>602,8494=>602,8520=>602,8531=>602,8532=>602,8533=>602,8534=>602,8535=>602,8536=>602,8537=>602,8538=>602,8539=>602,8540=>602,8541=>602,8542=>602,8543=>602,8592=>602,8593=>602,8594=>602,8595=>602,8596=>602,8597=>602,8598=>602,8599=>602,8600=>602,8601=>602,8602=>602,8603=>602,8604=>602,8605=>602,8606=>602,8607=>602,8608=>602,8609=>602,8610=>602,8611=>602,8612=>602,8613=>602,8614=>602,8615=>602,8616=>602,8617=>602,8618=>602,8619=>602,8620=>602,8621=>602,8622=>602,8623=>602,8624=>602,8625=>602,8626=>602,8627=>602,8628=>602,8629=>602,8630=>602,8631=>602,8632=>602,8633=>602,8634=>602,8635=>602,8636=>602,8637=>602,8638=>602,8639=>602,8640=>602,8641=>602,8642=>602,8643=>602,8644=>602,8645=>602,8646=>602,8647=>602,8648=>602,8649=>602,8650=>602,8651=>602,8652=>602,8653=>602,8654=>602,8655=>602,8656=>602,8657=>602,8658=>602,8659=>602,8660=>602,8661=>602,8662=>602,8663=>602,8664=>602,8665=>602,8666=>602,8667=>602,8668=>602,8669=>602,8670=>602,8671=>602,8672=>602,8673=>602,8674=>602,8675=>602,8676=>602,8677=>602,8678=>602,8679=>602,8680=>602,8681=>602,8682=>602,8683=>602,8684=>602,8685=>602,8686=>602,8687=>602,8688=>602,8689=>602,8690=>602,8691=>602,8692=>602,8693=>602,8694=>602,8695=>602,8696=>602,8697=>602,8698=>602,8699=>602,8700=>602,8701=>602,8702=>602,8703=>602,8704=>602,8705=>602,8706=>602,8707=>602,8708=>602,8709=>602,8710=>602,8711=>602,8712=>602,8713=>602,8714=>602,8715=>602,8716=>602,8717=>602,8719=>602,8721=>602,8722=>602,8723=>602,8725=>602,8727=>602,8728=>602,8729=>602,8730=>602,8731=>602,8732=>602,8733=>602,8734=>602,8735=>602,8736=>602,8743=>602,8744=>602,8745=>602,8746=>602,8747=>602,8748=>602,8749=>602,8756=>602,8757=>602,8758=>602,8759=>602,8760=>602,8761=>602,8762=>602,8763=>602,8764=>602,8765=>602,8769=>602,8770=>602,8771=>602,8772=>602,8773=>602,8774=>602,8775=>602,8776=>602,8777=>602,8778=>602,8779=>602,8780=>602,8781=>602,8782=>602,8783=>602,8784=>602,8785=>602,8786=>602,8787=>602,8788=>602,8789=>602,8790=>602,8791=>602,8792=>602,8793=>602,8794=>602,8795=>602,8796=>602,8797=>602,8798=>602,8799=>602,8800=>602,8801=>602,8802=>602,8803=>602,8804=>602,8805=>602,8806=>602,8807=>602,8808=>602,8809=>602,8813=>602,8814=>602,8815=>602,8816=>602,8817=>602,8818=>602,8819=>602,8820=>602,8821=>602,8822=>602,8823=>602,8824=>602,8825=>602,8826=>602,8827=>602,8828=>602,8829=>602,8830=>602,8831=>602,8832=>602,8833=>602,8834=>602,8835=>602,8836=>602,8837=>602,8838=>602,8839=>602,8840=>602,8841=>602,8842=>602,8843=>602,8847=>602,8848=>602,8849=>602,8850=>602,8853=>602,8854=>602,8855=>602,8856=>602,8857=>602,8858=>602,8859=>602,8860=>602,8861=>602,8862=>602,8863=>602,8864=>602,8865=>602,8866=>602,8867=>602,8868=>602,8869=>602,8901=>602,8902=>602,8909=>602,8922=>602,8923=>602,8924=>602,8925=>602,8926=>602,8927=>602,8928=>602,8929=>602,8930=>602,8931=>602,8932=>602,8933=>602,8934=>602,8935=>602,8936=>602,8937=>602,8943=>602,8960=>602,8961=>602,8962=>602,8963=>602,8964=>602,8965=>602,8966=>602,8968=>602,8969=>602,8970=>602,8971=>602,8972=>602,8973=>602,8974=>602,8975=>602,8976=>602,8977=>602,8978=>602,8979=>602,8980=>602,8981=>602,8984=>602,8985=>602,8988=>602,8989=>602,8990=>602,8991=>602,8992=>602,8993=>602,8997=>602,8998=>602,8999=>602,9000=>602,9003=>602,9013=>602,9015=>602,9016=>602,9017=>602,9018=>602,9019=>602,9020=>602,9021=>602,9022=>602,9025=>602,9026=>602,9027=>602,9028=>602,9031=>602,9032=>602,9033=>602,9035=>602,9036=>602,9037=>602,9040=>602,9042=>602,9043=>602,9044=>602,9047=>602,9048=>602,9049=>602,9050=>602,9051=>602,9052=>602,9054=>602,9055=>602,9056=>602,9059=>602,9060=>602,9061=>602,9064=>602,9065=>602,9067=>602,9068=>602,9069=>602,9070=>602,9071=>602,9072=>602,9075=>602,9076=>602,9077=>602,9078=>602,9079=>602,9080=>602,9081=>602,9082=>602,9085=>602,9088=>602,9089=>602,9090=>602,9091=>602,9096=>602,9097=>602,9098=>602,9099=>602,9109=>602,9115=>602,9116=>602,9117=>602,9118=>602,9119=>602,9120=>602,9121=>602,9122=>602,9123=>602,9124=>602,9125=>602,9126=>602,9127=>602,9128=>602,9129=>602,9130=>602,9131=>602,9132=>602,9133=>602,9134=>602,9166=>602,9167=>602,9251=>602,9472=>602,9473=>602,9474=>602,9475=>602,9476=>602,9477=>602,9478=>602,9479=>602,9480=>602,9481=>602,9482=>602,9483=>602,9484=>602,9485=>602,9486=>602,9487=>602,9488=>602,9489=>602,9490=>602,9491=>602,9492=>602,9493=>602,9494=>602,9495=>602,9496=>602,9497=>602,9498=>602,9499=>602,9500=>602,9501=>602,9502=>602,9503=>602,9504=>602,9505=>602,9506=>602,9507=>602,9508=>602,9509=>602,9510=>602,9511=>602,9512=>602,9513=>602,9514=>602,9515=>602,9516=>602,9517=>602,9518=>602,9519=>602,9520=>602,9521=>602,9522=>602,9523=>602,9524=>602,9525=>602,9526=>602,9527=>602,9528=>602,9529=>602,9530=>602,9531=>602,9532=>602,9533=>602,9534=>602,9535=>602,9536=>602,9537=>602,9538=>602,9539=>602,9540=>602,9541=>602,9542=>602,9543=>602,9544=>602,9545=>602,9546=>602,9547=>602,9548=>602,9549=>602,9550=>602,9551=>602,9552=>602,9553=>602,9554=>602,9555=>602,9556=>602,9557=>602,9558=>602,9559=>602,9560=>602,9561=>602,9562=>602,9563=>602,9564=>602,9565=>602,9566=>602,9567=>602,9568=>602,9569=>602,9570=>602,9571=>602,9572=>602,9573=>602,9574=>602,9575=>602,9576=>602,9577=>602,9578=>602,9579=>602,9580=>602,9581=>602,9582=>602,9583=>602,9584=>602,9585=>602,9586=>602,9587=>602,9588=>602,9589=>602,9590=>602,9591=>602,9592=>602,9593=>602,9594=>602,9595=>602,9596=>602,9597=>602,9598=>602,9599=>602,9600=>602,9601=>602,9602=>602,9603=>602,9604=>602,9605=>602,9606=>602,9607=>602,9608=>602,9609=>602,9610=>602,9611=>602,9612=>602,9613=>602,9614=>602,9615=>602,9616=>602,9617=>602,9618=>602,9619=>602,9620=>602,9621=>602,9622=>602,9623=>602,9624=>602,9625=>602,9626=>602,9627=>602,9628=>602,9629=>602,9630=>602,9631=>602,9632=>602,9633=>602,9634=>602,9635=>602,9636=>602,9637=>602,9638=>602,9639=>602,9640=>602,9641=>602,9642=>602,9643=>602,9644=>602,9645=>602,9646=>602,9647=>602,9648=>602,9649=>602,9650=>602,9651=>602,9652=>602,9653=>602,9654=>602,9655=>602,9656=>602,9657=>602,9658=>602,9659=>602,9660=>602,9661=>602,9662=>602,9663=>602,9664=>602,9665=>602,9666=>602,9667=>602,9668=>602,9669=>602,9670=>602,9671=>602,9672=>602,9673=>602,9674=>602,9675=>602,9676=>602,9677=>602,9678=>602,9679=>602,9680=>602,9681=>602,9682=>602,9683=>602,9684=>602,9685=>602,9686=>602,9687=>602,9688=>602,9689=>602,9690=>602,9691=>602,9692=>602,9693=>602,9694=>602,9695=>602,9696=>602,9697=>602,9698=>602,9699=>602,9700=>602,9701=>602,9702=>602,9703=>602,9704=>602,9705=>602,9706=>602,9707=>602,9708=>602,9709=>602,9710=>602,9711=>602,9712=>602,9713=>602,9714=>602,9715=>602,9716=>602,9717=>602,9718=>602,9719=>602,9720=>602,9721=>602,9722=>602,9723=>602,9724=>602,9725=>602,9726=>602,9727=>602,9728=>602,9729=>602,9730=>602,9731=>602,9732=>602,9733=>602,9734=>602,9735=>602,9736=>602,9737=>602,9738=>602,9739=>602,9740=>602,9741=>602,9742=>602,9743=>602,9744=>602,9745=>602,9746=>602,9747=>602,9748=>602,9749=>602,9750=>602,9751=>602,9752=>602,9753=>602,9754=>602,9755=>602,9756=>602,9757=>602,9758=>602,9759=>602,9760=>602,9761=>602,9762=>602,9763=>602,9764=>602,9765=>602,9766=>602,9767=>602,9768=>602,9769=>602,9770=>602,9771=>602,9772=>602,9773=>602,9774=>602,9775=>602,9784=>602,9785=>602,9786=>602,9787=>602,9788=>602,9789=>602,9790=>602,9791=>602,9792=>602,9793=>602,9794=>602,9795=>602,9796=>602,9797=>602,9798=>602,9799=>602,9800=>602,9801=>602,9802=>602,9803=>602,9804=>602,9805=>602,9806=>602,9807=>602,9808=>602,9809=>602,9810=>602,9811=>602,9812=>602,9813=>602,9814=>602,9815=>602,9816=>602,9817=>602,9818=>602,9819=>602,9820=>602,9821=>602,9822=>602,9823=>602,9824=>602,9825=>602,9826=>602,9827=>602,9828=>602,9829=>602,9830=>602,9831=>602,9832=>602,9833=>602,9834=>602,9835=>602,9836=>602,9837=>602,9838=>602,9839=>602,9840=>602,9841=>602,9842=>602,9843=>602,9844=>602,9845=>602,9846=>602,9847=>602,9848=>602,9849=>602,9850=>602,9851=>602,9852=>602,9853=>602,9854=>602,9855=>602,9856=>602,9857=>602,9858=>602,9859=>602,9860=>602,9861=>602,9862=>602,9863=>602,9864=>602,9865=>602,9866=>602,9867=>602,9872=>602,9873=>602,9874=>602,9875=>602,9876=>602,9877=>602,9878=>602,9879=>602,9880=>602,9881=>602,9882=>602,9883=>602,9884=>602,9888=>602,9889=>602,9904=>602,9905=>602,9985=>602,9986=>602,9987=>602,9988=>602,9990=>602,9991=>602,9992=>602,9993=>602,9996=>602,9997=>602,9998=>602,9999=>602,10000=>602,10001=>602,10002=>602,10003=>602,10004=>602,10005=>602,10006=>602,10007=>602,10008=>602,10009=>602,10010=>602,10011=>602,10012=>602,10013=>602,10014=>602,10015=>602,10016=>602,10017=>602,10018=>602,10019=>602,10020=>602,10021=>602,10022=>602,10023=>602,10025=>602,10026=>602,10027=>602,10028=>602,10029=>602,10030=>602,10031=>602,10032=>602,10033=>602,10034=>602,10035=>602,10036=>602,10037=>602,10038=>602,10039=>602,10040=>602,10041=>602,10042=>602,10043=>602,10044=>602,10045=>602,10046=>602,10047=>602,10048=>602,10049=>602,10050=>602,10051=>602,10052=>602,10053=>602,10054=>602,10055=>602,10056=>602,10057=>602,10058=>602,10059=>602,10061=>602,10063=>602,10064=>602,10065=>602,10066=>602,10070=>602,10072=>602,10073=>602,10074=>602,10075=>602,10076=>602,10077=>602,10078=>602,10081=>602,10082=>602,10083=>602,10084=>602,10085=>602,10086=>602,10087=>602,10088=>602,10089=>602,10090=>602,10091=>602,10092=>602,10093=>602,10094=>602,10095=>602,10096=>602,10097=>602,10098=>602,10099=>602,10100=>602,10101=>602,10132=>602,10136=>602,10137=>602,10138=>602,10139=>602,10140=>602,10141=>602,10142=>602,10143=>602,10144=>602,10145=>602,10146=>602,10147=>602,10148=>602,10149=>602,10150=>602,10151=>602,10152=>602,10153=>602,10154=>602,10155=>602,10156=>602,10157=>602,10158=>602,10159=>602,10161=>602,10162=>602,10163=>602,10164=>602,10165=>602,10166=>602,10167=>602,10168=>602,10169=>602,10170=>602,10171=>602,10172=>602,10173=>602,10174=>602,10178=>602,10181=>602,10182=>602,10208=>602,10214=>602,10215=>602,10216=>602,10217=>602,10731=>602,10746=>602,10747=>602,10799=>602,10858=>602,10859=>602,11013=>602,11014=>602,11015=>602,11016=>602,11017=>602,11018=>602,11019=>602,11020=>602,11021=>602,11026=>602,11027=>602,11028=>602,11029=>602,11030=>602,11031=>602,11032=>602,11033=>602,11034=>602,11364=>602,11373=>602,11374=>602,11375=>602,11376=>602,11381=>602,11382=>602,11383=>602,11385=>602,11386=>602,11388=>602,11389=>602,11390=>602,11391=>602,11800=>602,11807=>602,11810=>602,11811=>602,11812=>602,11813=>602,11822=>602,42760=>602,42761=>602,42762=>602,42763=>602,42764=>602,42765=>602,42766=>602,42767=>602,42768=>602,42769=>602,42770=>602,42771=>602,42772=>602,42773=>602,42774=>602,42779=>602,42780=>602,42781=>602,42782=>602,42783=>602,42786=>602,42787=>602,42788=>602,42789=>602,42790=>602,42791=>602,42889=>602,42890=>602,42891=>602,42892=>602,42893=>602,42894=>602,42896=>602,42897=>602,42922=>602,63173=>602,64257=>602,64258=>602,64338=>602,64339=>602,64340=>602,64341=>602,64342=>602,64343=>602,64344=>602,64345=>602,64346=>602,64347=>602,64348=>602,64349=>602,64350=>602,64351=>602,64352=>602,64353=>602,64354=>602,64355=>602,64356=>602,64357=>602,64358=>602,64359=>602,64360=>602,64361=>602,64362=>602,64363=>602,64364=>602,64365=>602,64366=>602,64367=>602,64368=>602,64369=>602,64370=>602,64371=>602,64372=>602,64373=>602,64374=>602,64375=>602,64376=>602,64377=>602,64378=>602,64379=>602,64380=>602,64381=>602,64382=>602,64383=>602,64384=>602,64385=>602,64394=>602,64395=>602,64396=>602,64397=>602,64398=>602,64399=>602,64400=>602,64401=>602,64402=>602,64403=>602,64404=>602,64405=>602,64414=>602,64415=>602,64426=>602,64427=>602,64428=>602,64429=>602,64488=>602,64489=>602,64508=>602,64509=>602,64510=>602,64511=>602,65136=>602,65137=>602,65138=>602,65139=>602,65140=>602,65142=>602,65143=>602,65144=>602,65145=>602,65146=>602,65147=>602,65148=>602,65149=>602,65150=>602,65151=>602,65152=>602,65153=>602,65154=>602,65155=>602,65156=>602,65157=>602,65158=>602,65159=>602,65160=>602,65161=>602,65162=>602,65163=>602,65164=>602,65165=>602,65166=>602,65167=>602,65168=>602,65169=>602,65170=>602,65171=>602,65172=>602,65173=>602,65174=>602,65175=>602,65176=>602,65177=>602,65178=>602,65179=>602,65180=>602,65181=>602,65182=>602,65183=>602,65184=>602,65185=>602,65186=>602,65187=>602,65188=>602,65189=>602,65190=>602,65191=>602,65192=>602,65193=>602,65194=>602,65195=>602,65196=>602,65197=>602,65198=>602,65199=>602,65200=>602,65201=>602,65202=>602,65203=>602,65204=>602,65205=>602,65206=>602,65207=>602,65208=>602,65209=>602,65210=>602,65211=>602,65212=>602,65213=>602,65214=>602,65215=>602,65216=>602,65217=>602,65218=>602,65219=>602,65220=>602,65221=>602,65222=>602,65223=>602,65224=>602,65225=>602,65226=>602,65227=>602,65228=>602,65229=>602,65230=>602,65231=>602,65232=>602,65233=>602,65234=>602,65235=>602,65236=>602,65237=>602,65238=>602,65239=>602,65240=>602,65241=>602,65242=>602,65243=>602,65244=>602,65245=>602,65246=>602,65247=>602,65248=>602,65249=>602,65250=>602,65251=>602,65252=>602,65253=>602,65254=>602,65255=>602,65256=>602,65257=>602,65258=>602,65259=>602,65260=>602,65261=>602,65262=>602,65263=>602,65264=>602,65265=>602,65266=>602,65267=>602,65268=>602,65269=>602,65270=>602,65271=>602,65272=>602,65273=>602,65274=>602,65275=>602,65276=>602,65279=>602,65529=>602,65530=>602,65531=>602,65532=>602,65533=>602,65535=>602); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.z new file mode 100644 index 0000000..126cc92 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmono.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.ctg.z new file mode 100644 index 0000000..76b78bc Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.php new file mode 100644 index 0000000..9028c6e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.php @@ -0,0 +1,16 @@ +33,'FontBBox'=>'[-447 -394 731 1052]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>60,'StemH'=>26,'AvgWidth'=>602,'MaxWidth'=>602,'MissingWidth'=>602); +$cbbox=array(0=>array(51,-177,551,705),33=>array(236,0,366,729),34=>array(113,458,488,729),35=>array(1,0,600,718),36=>array(80,-147,533,760),37=>array(16,0,595,699),38=>array(18,-14,603,742),39=>array(238,458,363,729),40=>array(187,-132,451,759),41=>array(151,-132,415,759),42=>array(59,278,541,742),43=>array(32,45,569,582),44=>array(177,-140,378,179),45=>array(147,217,455,359),46=>array(219,0,382,179),47=>array(55,-93,547,729),48=>array(60,-14,542,742),49=>array(92,0,554,729),50=>array(56,0,519,742),51=>array(61,-14,537,742),52=>array(50,0,557,729),53=>array(70,-14,534,729),54=>array(64,-15,548,741),55=>array(66,0,527,729),56=>array(63,-14,539,742),57=>array(54,-19,538,736),58=>array(219,0,382,519),59=>array(181,-140,382,519),60=>array(43,53,559,574),61=>array(43,144,559,482),62=>array(43,53,559,574),63=>array(114,0,520,742),64=>array(3,-156,566,681),65=>array(16,0,586,729),66=>array(61,0,566,730),67=>array(74,-14,528,742),68=>array(67,0,557,729),69=>array(82,0,536,729),70=>array(89,0,543,729),71=>array(57,-14,552,742),72=>array(67,0,535,729),73=>array(84,0,518,729),74=>array(53,-14,492,729),75=>array(57,0,598,729),76=>array(110,0,562,729),77=>array(42,0,560,729),78=>array(58,0,543,729),79=>array(45,-14,557,742),80=>array(79,0,560,729),81=>array(45,-137,557,742),82=>array(65,0,602,729),83=>array(63,-14,542,742),84=>array(44,0,558,729),85=>array(52,-14,550,729),86=>array(28,0,574,729),87=>array(0,0,602,729),88=>array(13,0,589,729),89=>array(4,0,598,729),90=>array(56,0,567,729),91=>array(206,-132,454,760),92=>array(54,-93,547,729),93=>array(148,-132,396,760),94=>array(28,457,574,729),95=>array(0,-236,602,-143),96=>array(97,616,373,800),97=>array(46,-14,541,560),98=>array(73,-14,558,760),99=>array(82,-14,518,561),100=>array(44,-14,529,760),101=>array(45,-14,561,560),102=>array(85,0,529,760),103=>array(48,-207,535,561),104=>array(84,0,523,760),105=>array(70,0,569,813),106=>array(70,-207,415,813),107=>array(85,0,585,760),108=>array(44,0,534,760),109=>array(40,0,564,560),110=>array(84,0,523,560),111=>array(48,-14,554,560),112=>array(73,-208,558,560),113=>array(44,-208,529,560),114=>array(142,0,562,560),115=>array(84,-14,521,560),116=>array(54,0,524,702),117=>array(78,-14,518,547),118=>array(39,0,563,547),119=>array(0,0,602,547),120=>array(27,0,575,547),121=>array(29,-207,574,547),122=>array(79,0,528,547),123=>array(86,-163,514,760),124=>array(245,-236,356,764),125=>array(88,-163,516,760),126=>array(43,226,559,396),161=>array(236,0,366,729),162=>array(72,-153,506,699),163=>array(58,0,548,742),164=>array(91,86,546,541),165=>array(4,0,598,729),166=>array(245,-171,356,699),167=>array(83,-95,518,742),168=>array(147,654,455,774),169=>array(0,61,602,663),170=>array(125,209,479,742),171=>array(58,69,509,517),172=>array(43,177,559,439),173=>array(147,217,455,359),174=>array(0,61,602,663),175=>array(147,668,455,760),176=>array(138,417,463,742),177=>array(43,0,559,627),178=>array(134,326,459,742),179=>array(140,319,470,742),180=>array(229,616,505,800),181=>array(85,-209,580,547),182=>array(34,-96,520,729),183=>array(219,259,382,437),184=>array(179,-196,400,0),185=>array(153,326,469,734),186=>array(134,209,488,742),187=>array(94,69,545,517),188=>array(23,-132,558,810),189=>array(23,-132,558,810),190=>array(23,-132,558,818),191=>array(86,-13,491,729),192=>array(16,0,586,927),193=>array(16,0,586,927),194=>array(16,0,586,927),195=>array(16,0,586,928),196=>array(16,0,586,927),197=>array(16,0,586,928),198=>array(0,0,576,729),199=>array(74,-196,528,742),200=>array(82,0,536,927),201=>array(82,0,536,927),202=>array(82,0,536,927),203=>array(82,0,536,927),204=>array(84,0,518,927),205=>array(84,0,518,927),206=>array(84,0,518,927),207=>array(84,0,518,927),208=>array(0,0,557,729),209=>array(58,0,543,928),210=>array(45,-14,557,927),211=>array(45,-14,557,927),212=>array(45,-14,557,927),213=>array(45,-14,557,928),214=>array(45,-14,557,927),215=>array(58,72,543,556),216=>array(-3,-31,596,761),217=>array(52,-14,550,927),218=>array(52,-14,550,927),219=>array(52,-14,550,927),220=>array(52,-14,550,927),221=>array(4,0,598,927),222=>array(79,0,560,729),223=>array(62,-14,573,760),224=>array(46,-14,541,800),225=>array(46,-14,541,800),226=>array(46,-14,541,800),227=>array(46,-14,541,778),228=>array(46,-14,541,774),229=>array(46,-14,541,888),230=>array(7,-14,580,560),231=>array(82,-196,518,561),232=>array(45,-14,561,800),233=>array(45,-14,561,800),234=>array(45,-14,561,800),235=>array(45,-14,561,774),236=>array(70,0,569,800),237=>array(70,0,569,800),238=>array(70,0,569,800),239=>array(70,0,569,774),240=>array(48,-14,550,765),241=>array(84,0,523,778),242=>array(48,-14,554,801),243=>array(48,-14,554,800),244=>array(48,-14,554,800),245=>array(48,-14,554,762),246=>array(48,-14,554,762),247=>array(32,42,569,585),248=>array(12,-57,587,603),249=>array(78,-14,518,800),250=>array(78,-14,518,800),251=>array(78,-14,518,800),252=>array(78,-14,518,774),253=>array(29,-207,574,800),254=>array(73,-208,558,760),255=>array(29,-207,574,774),256=>array(16,0,586,913),257=>array(46,-14,541,760),258=>array(16,0,586,927),259=>array(46,-14,541,784),260=>array(16,-196,600,729),261=>array(46,-196,553,560),262=>array(74,-14,532,927),263=>array(82,-14,555,800),264=>array(74,-14,561,927),265=>array(82,-14,536,800),266=>array(74,-14,528,927),267=>array(82,-14,518,774),268=>array(74,-14,552,927),269=>array(82,-14,535,800),270=>array(67,0,557,936),271=>array(44,-14,711,760),272=>array(0,0,557,729),273=>array(44,-14,600,760),274=>array(82,0,536,913),275=>array(45,-14,561,760),276=>array(82,0,536,927),277=>array(45,-14,561,784),278=>array(82,0,536,927),279=>array(45,-14,561,774),280=>array(82,-196,537,729),281=>array(45,-196,561,560),282=>array(82,0,536,927),283=>array(45,-14,561,802),284=>array(57,-14,552,927),285=>array(48,-207,535,800),286=>array(57,-14,552,927),287=>array(48,-207,535,784),288=>array(57,-14,552,927),289=>array(48,-207,535,774),290=>array(57,-241,552,742),291=>array(48,-207,535,764),292=>array(67,0,535,927),293=>array(-30,0,523,927),294=>array(1,0,601,729),295=>array(6,0,523,760),296=>array(84,0,518,928),297=>array(70,0,569,778),298=>array(84,0,518,913),299=>array(70,0,569,760),300=>array(84,0,518,927),301=>array(70,0,569,784),302=>array(84,-196,518,729),303=>array(70,-196,569,813),304=>array(84,0,518,927),305=>array(70,0,569,547),306=>array(-4,-13,601,730),307=>array(4,-212,602,813),308=>array(53,-14,516,927),309=>array(70,-207,485,800),310=>array(57,-227,598,729),311=>array(85,-227,585,760),312=>array(85,0,585,547),313=>array(110,0,562,928),314=>array(44,0,534,928),315=>array(110,-227,562,729),316=>array(44,-227,534,760),317=>array(110,0,562,729),318=>array(44,0,581,760),319=>array(110,0,571,729),320=>array(44,0,597,760),321=>array(-19,0,562,729),322=>array(18,0,545,760),323=>array(58,0,543,928),324=>array(84,0,523,803),325=>array(58,-227,543,729),326=>array(84,-227,523,560),327=>array(58,0,543,927),328=>array(84,0,523,800),329=>array(-54,0,601,760),330=>array(52,-208,549,743),331=>array(84,-207,523,560),332=>array(45,-14,557,913),333=>array(48,-14,554,760),334=>array(45,-14,557,927),335=>array(48,-14,554,784),336=>array(45,-14,557,927),337=>array(48,-14,554,800),338=>array(33,0,594,729),339=>array(7,-14,591,560),340=>array(65,0,602,928),341=>array(142,0,580,803),342=>array(65,-227,602,729),343=>array(123,-227,562,560),344=>array(65,0,602,927),345=>array(142,0,562,800),346=>array(63,-14,542,928),347=>array(84,-14,521,803),348=>array(63,-14,542,927),349=>array(84,-14,521,800),350=>array(63,-196,542,742),351=>array(84,-196,521,560),352=>array(63,-14,542,927),353=>array(84,-14,521,800),354=>array(44,-196,558,729),355=>array(54,-196,524,702),356=>array(44,0,558,933),357=>array(54,0,582,824),358=>array(44,0,558,729),359=>array(54,0,524,702),360=>array(52,-14,550,928),361=>array(78,-14,518,778),362=>array(52,-14,550,913),363=>array(78,-14,518,760),364=>array(52,-14,550,927),365=>array(78,-14,518,784),366=>array(52,-14,550,1052),367=>array(78,-14,518,888),368=>array(52,-14,550,927),369=>array(78,-14,530,800),370=>array(52,-204,550,729),371=>array(78,-196,600,547),372=>array(0,0,602,931),373=>array(0,0,602,803),374=>array(4,0,598,931),375=>array(29,-207,574,803),376=>array(4,0,598,927),377=>array(56,0,567,928),378=>array(79,0,528,803),379=>array(56,0,567,927),380=>array(79,0,528,774),381=>array(56,0,567,927),382=>array(79,0,528,800),383=>array(85,0,529,760),384=>array(6,-14,558,760),385=>array(0,0,598,730),386=>array(79,0,560,729),387=>array(73,-14,558,760),388=>array(21,0,581,729),389=>array(22,-14,580,760),390=>array(74,-14,528,742),391=>array(74,-14,624,802),392=>array(82,-14,626,760),393=>array(0,0,557,729),394=>array(-14,0,589,729),395=>array(61,0,566,729),396=>array(73,-14,558,760),397=>array(47,-220,554,560),398=>array(82,0,536,729),399=>array(45,-14,557,742),400=>array(61,-14,537,742),401=>array(53,-207,549,729),402=>array(44,-207,558,760),403=>array(19,-14,583,802),404=>array(16,-142,586,729),405=>array(6,-1,596,760),406=>array(84,0,551,729),407=>array(84,0,518,729),408=>array(9,0,593,729),409=>array(85,0,585,760),410=>array(44,0,534,760),411=>array(39,0,563,760),412=>array(40,-13,564,729),413=>array(15,-208,587,729),414=>array(84,-208,523,560),415=>array(45,-14,557,742),416=>array(2,-14,600,759),417=>array(4,-14,598,570),418=>array(14,-14,588,742),419=>array(9,-208,602,560),420=>array(10,0,592,729),421=>array(73,-208,558,760),422=>array(65,-116,602,729),423=>array(63,-14,542,742),424=>array(84,-14,521,560),425=>array(48,0,559,729),426=>array(29,-207,558,760),427=>array(54,-207,524,702),428=>array(10,0,558,730),429=>array(54,0,524,760),430=>array(44,-208,558,729),431=>array(2,-14,600,759),432=>array(3,-14,599,570),433=>array(44,0,558,713),434=>array(57,0,540,729),435=>array(1,0,601,729),436=>array(14,-207,588,547),437=>array(56,0,567,729),438=>array(77,0,525,547),439=>array(5,-14,597,729),440=>array(5,-14,597,729),441=>array(54,-215,548,547),442=>array(64,-208,536,547),443=>array(56,0,519,742),444=>array(5,-14,597,729),445=>array(54,-215,548,547),446=>array(71,-15,531,702),447=>array(40,-208,556,560),448=>array(236,0,366,729),449=>array(124,0,478,729),450=>array(36,0,566,729),451=>array(236,0,366,729),461=>array(16,0,586,927),462=>array(46,-14,541,800),463=>array(84,0,518,927),464=>array(70,0,569,800),465=>array(45,-14,557,927),466=>array(48,-14,554,800),467=>array(52,-14,550,927),468=>array(78,-14,518,800),469=>array(52,-14,550,985),470=>array(78,-14,518,914),471=>array(52,-14,550,1008),472=>array(78,-14,518,1002),473=>array(52,-14,550,1008),474=>array(78,-14,518,1002),475=>array(52,-14,550,1008),476=>array(78,-14,518,1002),477=>array(45,-14,561,560),478=>array(16,0,586,985),479=>array(46,-14,541,914),480=>array(16,0,586,985),481=>array(46,-14,541,914),482=>array(0,0,576,913),483=>array(7,-14,580,760),486=>array(57,-14,552,927),487=>array(48,-207,535,800),488=>array(57,0,598,927),489=>array(85,0,585,927),490=>array(45,-204,557,742),491=>array(48,-204,554,560),492=>array(45,-204,557,913),493=>array(48,-204,554,760),494=>array(5,-14,597,927),495=>array(54,-215,548,800),496=>array(70,-207,493,802),500=>array(57,-14,552,927),501=>array(48,-207,535,800),502=>array(12,-14,590,729),504=>array(58,0,543,927),505=>array(84,0,523,801),508=>array(0,0,576,927),509=>array(7,-14,580,800),510=>array(-3,-31,596,927),511=>array(12,-57,587,800),512=>array(16,0,586,927),513=>array(46,-14,541,800),514=>array(16,0,586,927),515=>array(46,-14,541,784),516=>array(54,0,536,927),517=>array(45,-14,561,800),518=>array(82,0,536,927),519=>array(45,-14,561,784),520=>array(54,0,518,927),521=>array(69,0,569,800),522=>array(84,0,518,927),523=>array(70,0,569,784),524=>array(45,-14,557,927),525=>array(48,-14,554,800),526=>array(45,-14,557,927),527=>array(48,-14,554,784),528=>array(30,0,602,927),529=>array(118,0,562,800),530=>array(65,0,602,927),531=>array(142,0,562,784),532=>array(52,-14,550,927),533=>array(69,-14,518,800),534=>array(52,-14,550,927),535=>array(78,-14,518,784),536=>array(63,-246,542,742),537=>array(84,-246,521,560),538=>array(44,-246,558,729),539=>array(54,-246,524,702),540=>array(26,-210,576,742),541=>array(54,-211,548,560),542=>array(67,0,535,927),543=>array(84,0,523,927),544=>array(52,-208,549,743),545=>array(4,-68,598,760),548=>array(56,-207,567,729),549=>array(79,-207,528,547),550=>array(16,0,586,927),551=>array(46,-14,541,774),552=>array(82,-196,536,729),553=>array(45,-196,561,560),554=>array(45,-14,557,985),555=>array(48,-14,554,914),556=>array(45,-14,557,985),557=>array(48,-14,554,914),558=>array(45,-14,557,927),559=>array(48,-14,554,774),560=>array(45,-14,557,985),561=>array(48,-14,554,914),562=>array(4,0,598,913),563=>array(29,-207,574,760),564=>array(24,-68,578,760),565=>array(18,-68,584,560),566=>array(54,-68,524,702),567=>array(70,-207,415,547),568=>array(11,-14,591,760),569=>array(11,-214,591,560),570=>array(-3,-31,596,761),571=>array(-3,-31,596,761),572=>array(12,-57,587,603),573=>array(14,0,588,729),574=>array(6,-31,605,761),575=>array(84,-240,521,560),576=>array(79,-240,528,547),577=>array(14,0,588,729),579=>array(0,0,566,730),580=>array(10,-14,592,729),581=>array(28,0,574,729),588=>array(10,0,602,729),589=>array(94,0,562,560),592=>array(54,-14,549,560),593=>array(59,-14,543,560),594=>array(59,-14,543,560),595=>array(73,-14,558,759),596=>array(84,-14,520,561),597=>array(79,-69,523,561),598=>array(38,-162,538,760),599=>array(34,-14,539,759),600=>array(43,-14,559,560),601=>array(45,-14,561,560),602=>array(3,-14,599,560),603=>array(73,-11,510,557),604=>array(50,-11,552,560),605=>array(23,-11,579,560),606=>array(53,-21,549,559),607=>array(70,-207,514,547),608=>array(8,-208,594,760),609=>array(61,-208,542,547),610=>array(75,0,527,546),611=>array(48,-203,554,554),612=>array(48,-59,554,547),613=>array(82,-214,521,546),614=>array(82,0,521,759),615=>array(82,-208,521,759),616=>array(52,0,551,760),617=>array(70,-1,531,547),618=>array(52,0,551,547),619=>array(43,-1,560,759),620=>array(53,0,549,760),621=>array(56,-217,546,760),622=>array(13,-215,589,760),623=>array(39,-13,563,547),624=>array(39,-208,563,547),625=>array(39,-208,563,560),626=>array(31,-216,571,560),627=>array(33,-216,569,560),628=>array(59,0,543,547),629=>array(48,-14,554,560),630=>array(37,-1,565,547),631=>array(40,0,562,574),632=>array(10,-208,592,762),633=>array(91,-13,511,547),634=>array(91,-13,511,759),635=>array(38,-208,564,547),636=>array(91,-208,511,560),637=>array(91,-208,511,560),638=>array(66,0,536,547),639=>array(66,0,536,547),640=>array(51,0,551,547),641=>array(32,0,570,547),642=>array(83,-208,520,560),643=>array(44,-207,558,760),644=>array(44,-207,558,760),645=>array(44,-207,558,760),646=>array(29,-207,558,760),647=>array(66,-155,536,547),648=>array(66,-208,536,702),649=>array(43,-14,559,547),650=>array(42,-51,561,547),651=>array(41,-1,561,547),652=>array(39,0,563,547),653=>array(0,0,602,547),654=>array(28,0,574,754),655=>array(33,0,569,547),656=>array(22,-208,579,547),657=>array(58,-55,544,547),658=>array(54,-215,548,547),659=>array(49,-215,553,547),660=>array(81,0,521,759),661=>array(81,0,521,759),662=>array(81,0,521,759),663=>array(81,-208,521,759),664=>array(27,-28,575,582),665=>array(58,0,544,547),666=>array(53,-21,549,559),667=>array(30,0,572,759),668=>array(59,0,543,547),669=>array(46,-208,557,813),670=>array(51,-208,551,547),671=>array(115,0,487,547),672=>array(34,-208,538,759),673=>array(71,0,531,759),674=>array(71,0,531,759),675=>array(25,-14,577,760),676=>array(11,-219,591,756),677=>array(14,-55,588,760),678=>array(32,-14,570,702),679=>array(67,-207,535,760),680=>array(40,-69,563,702),681=>array(36,-207,566,760),682=>array(25,-14,577,760),683=>array(22,-2,580,760),684=>array(28,0,574,641),685=>array(140,86,462,641),686=>array(27,-214,575,759),687=>array(40,-208,563,759),688=>array(161,326,441,752),689=>array(161,326,441,751),690=>array(190,177,412,748),691=>array(167,326,436,640),692=>array(167,319,436,633),693=>array(132,209,470,632),694=>array(129,326,473,633),695=>array(108,326,494,633),696=>array(126,211,476,633),697=>array(244,557,384,800),699=>array(211,441,412,760),700=>array(211,441,412,760),701=>array(234,595,368,844),702=>array(231,481,371,760),703=>array(231,481,371,760),704=>array(160,326,442,751),705=>array(160,326,442,751),710=>array(117,616,485,800),711=>array(117,616,485,800),712=>array(254,488,348,759),713=>array(147,668,455,760),716=>array(254,-81,348,190),717=>array(147,-198,455,-106),718=>array(145,-285,421,-102),719=>array(181,-285,457,-102),720=>array(201,0,401,547),721=>array(201,361,401,547),722=>array(231,269,371,547),723=>array(231,269,371,547),726=>array(147,119,455,427),727=>array(191,229,411,317),728=>array(137,639,465,784),729=>array(234,654,368,774),730=>array(162,610,440,888),731=>array(218,-196,427,0),732=>array(131,638,471,778),733=>array(145,616,530,800),734=>array(-152,213,453,524),736=>array(139,216,463,640),737=>array(144,326,458,752),738=>array(161,319,441,640),739=>array(125,326,477,633),740=>array(160,326,442,751),741=>array(134,0,468,693),742=>array(134,0,468,693),743=>array(134,0,468,693),744=>array(134,0,468,693),745=>array(134,0,468,693),750=>array(73,441,528,760),755=>array(194,-245,408,-31),768=>array(97,616,373,800),769=>array(229,616,505,800),770=>array(117,616,485,800),771=>array(131,638,471,778),772=>array(147,668,455,760),773=>array(0,663,602,755),774=>array(137,639,465,784),775=>array(234,654,368,774),776=>array(147,654,455,774),777=>array(190,616,412,849),778=>array(162,610,440,888),779=>array(145,616,530,800),780=>array(117,616,485,800),781=>array(255,616,348,833),782=>array(116,616,487,833),783=>array(69,616,454,800),784=>array(137,639,465,879),785=>array(137,639,465,784),786=>array(218,441,399,590),787=>array(234,595,368,844),788=>array(234,595,368,844),789=>array(229,616,404,800),790=>array(163,-290,439,-106),791=>array(163,-290,439,-106),792=>array(179,-394,361,-123),793=>array(230,-394,413,-123),794=>array(166,658,437,929),795=>array(203,361,399,570),796=>array(248,-245,354,-31),797=>array(167,-305,438,-123),798=>array(154,-394,425,-212),799=>array(172,-394,443,-123),800=>array(166,-215,437,-123),801=>array(273,-207,523,82),802=>array(82,-208,332,81),803=>array(234,-226,368,-105),804=>array(147,-226,455,-105),805=>array(194,-245,408,-31),806=>array(182,-246,363,-97),807=>array(179,-196,400,0),808=>array(196,-196,406,0),809=>array(255,-323,347,-106),810=>array(147,-289,455,-106),811=>array(102,-239,500,-94),812=>array(117,-237,485,-53),813=>array(117,-237,485,-53),814=>array(137,-240,465,-95),815=>array(137,-239,465,-94),816=>array(131,-238,471,-98),817=>array(147,-198,455,-106),818=>array(0,-236,602,-143),819=>array(0,-236,602,-9),820=>array(43,226,559,396),821=>array(94,214,472,309),822=>array(0,214,602,309),823=>array(12,-57,587,603),824=>array(-3,-31,596,761),825=>array(248,-245,354,-31),826=>array(147,-254,455,-71),827=>array(161,-386,441,-106),828=>array(102,-239,500,-94),829=>array(172,582,430,839),830=>array(231,595,371,867),831=>array(0,528,602,755),835=>array(234,595,368,844),856=>array(465,654,600,774),865=>array(-118,735,720,880),884=>array(244,557,384,800),885=>array(218,-208,358,35),890=>array(253,-208,383,-45),894=>array(181,-140,382,519),900=>array(229,616,505,800),901=>array(147,654,505,999),902=>array(-40,0,586,800),903=>array(219,259,382,437),904=>array(-171,0,536,800),905=>array(-191,0,535,800),906=>array(-162,0,518,800),908=>array(-83,-14,557,800),910=>array(-242,0,598,800),911=>array(-62,0,558,800),912=>array(132,0,505,999),913=>array(16,0,586,729),914=>array(61,0,566,730),915=>array(89,0,543,729),916=>array(16,0,586,729),917=>array(82,0,536,729),918=>array(56,0,567,729),919=>array(67,0,535,729),920=>array(45,-14,557,742),921=>array(84,0,518,729),922=>array(57,0,598,729),923=>array(16,0,586,729),924=>array(42,0,560,729),925=>array(58,0,543,729),926=>array(67,0,535,729),927=>array(45,-14,557,742),928=>array(67,0,535,729),929=>array(79,0,560,729),931=>array(48,0,559,729),932=>array(44,0,558,729),933=>array(4,0,598,729),934=>array(45,0,557,729),935=>array(13,0,589,729),936=>array(39,0,563,729),937=>array(44,0,558,713),938=>array(84,0,518,927),939=>array(4,0,598,927),940=>array(26,-12,568,800),941=>array(73,-11,510,800),942=>array(84,-208,523,800),943=>array(132,0,505,800),944=>array(37,0,565,999),945=>array(26,-12,568,559),946=>array(64,-208,554,766),947=>array(27,-208,563,547),948=>array(48,-14,554,766),949=>array(73,-11,510,557),950=>array(70,-208,517,760),951=>array(84,-208,523,560),952=>array(47,-12,554,770),953=>array(132,0,478,547),954=>array(85,0,585,547),955=>array(39,0,563,760),956=>array(85,-209,580,547),957=>array(23,0,559,547),958=>array(70,-208,517,760),959=>array(48,-14,554,560),960=>array(7,-19,593,547),961=>array(73,-208,558,560),962=>array(82,-208,521,561),963=>array(48,-14,570,547),964=>array(66,0,536,547),965=>array(37,0,565,547),966=>array(32,-208,570,552),967=>array(35,-208,567,547),968=>array(34,-208,569,547),969=>array(31,-14,571,547),970=>array(132,0,478,774),971=>array(37,0,565,774),972=>array(48,-14,554,800),973=>array(37,0,565,800),974=>array(31,-14,571,800),976=>array(55,-11,508,768),977=>array(51,-11,553,768),978=>array(17,0,582,729),979=>array(-232,0,582,800),980=>array(17,0,582,927),981=>array(28,-208,573,760),982=>array(15,0,587,547),983=>array(25,-188,571,547),984=>array(45,-208,557,742),985=>array(48,-208,554,560),986=>array(47,-222,570,729),987=>array(44,-208,557,547),988=>array(89,0,543,729),989=>array(6,-208,491,760),990=>array(48,-2,566,729),991=>array(56,0,545,759),992=>array(0,-208,581,742),993=>array(22,-180,537,559),1008=>array(25,-3,571,547),1009=>array(73,-213,558,560),1010=>array(82,-14,518,561),1011=>array(70,-207,415,813),1012=>array(45,-14,557,742),1013=>array(78,-14,514,561),1014=>array(82,-14,518,561),1015=>array(79,0,560,729),1016=>array(73,-208,558,760),1017=>array(74,-14,528,742),1018=>array(42,0,560,729),1019=>array(42,-208,560,498),1020=>array(22,-208,558,560),1021=>array(74,-14,528,742),1022=>array(74,-14,528,742),1023=>array(74,-14,528,742),1024=>array(82,0,536,927),1025=>array(82,0,536,927),1026=>array(-17,-207,577,760),1027=>array(89,0,543,927),1028=>array(74,-14,528,742),1029=>array(63,-14,542,742),1030=>array(84,0,518,729),1031=>array(84,0,518,927),1032=>array(53,-14,492,729),1033=>array(-7,0,597,729),1034=>array(10,0,597,729),1035=>array(-17,0,577,760),1036=>array(57,0,598,927),1037=>array(58,0,543,927),1038=>array(14,0,588,927),1039=>array(67,-157,535,729),1040=>array(16,0,586,729),1041=>array(79,0,560,729),1042=>array(61,0,566,730),1043=>array(89,0,543,729),1044=>array(20,-157,582,729),1045=>array(82,0,536,729),1046=>array(6,0,596,729),1047=>array(61,-14,537,742),1048=>array(58,0,543,729),1049=>array(58,0,543,927),1050=>array(57,0,598,729),1051=>array(3,0,535,729),1052=>array(42,0,560,729),1053=>array(67,0,535,729),1054=>array(45,-14,557,742),1055=>array(67,0,535,729),1056=>array(79,0,560,729),1057=>array(74,-14,528,742),1058=>array(44,0,558,729),1059=>array(14,0,588,729),1060=>array(17,0,590,729),1061=>array(13,0,589,729),1062=>array(39,-157,574,729),1063=>array(49,0,550,760),1064=>array(38,0,563,729),1065=>array(38,-157,596,729),1066=>array(10,0,574,729),1067=>array(20,0,583,729),1068=>array(61,0,542,729),1069=>array(74,-14,528,742),1070=>array(0,-14,598,742),1071=>array(41,0,566,729),1072=>array(46,-14,541,560),1073=>array(32,-14,554,787),1074=>array(58,0,544,547),1075=>array(108,0,499,547),1076=>array(31,-140,577,547),1077=>array(45,-14,561,560),1078=>array(7,0,596,547),1079=>array(75,-11,527,560),1080=>array(74,0,533,547),1081=>array(74,0,533,784),1082=>array(85,0,585,547),1083=>array(34,0,551,547),1084=>array(42,0,560,547),1085=>array(84,0,523,547),1086=>array(48,-14,554,560),1087=>array(84,0,523,547),1088=>array(73,-208,558,560),1089=>array(82,-14,518,561),1090=>array(80,0,523,547),1091=>array(29,-207,574,547),1092=>array(39,-208,563,760),1093=>array(27,0,575,547),1094=>array(47,-140,563,547),1095=>array(67,0,518,547),1096=>array(38,0,563,547),1097=>array(28,-140,596,547),1098=>array(20,0,568,547),1099=>array(15,0,586,547),1100=>array(67,0,518,547),1101=>array(82,-14,518,560),1102=>array(27,-14,568,560),1103=>array(47,0,541,547),1104=>array(45,-14,561,800),1105=>array(45,-14,561,774),1106=>array(10,-207,558,760),1107=>array(108,0,505,800),1108=>array(82,-14,518,561),1109=>array(84,-14,521,560),1110=>array(70,0,569,813),1111=>array(70,0,569,774),1112=>array(70,-207,415,813),1113=>array(2,0,599,547),1114=>array(17,0,599,547),1115=>array(10,0,532,760),1116=>array(85,0,585,800),1117=>array(74,0,533,800),1118=>array(29,-207,574,784),1119=>array(83,-140,523,547),1122=>array(10,0,574,729),1123=>array(20,0,568,760),1138=>array(45,-14,557,742),1139=>array(48,-14,554,560),1168=>array(89,0,543,878),1169=>array(108,0,499,700),1170=>array(23,0,543,729),1171=>array(45,0,499,547),1172=>array(89,-207,566,729),1173=>array(108,-207,523,547),1174=>array(6,-157,596,729),1175=>array(7,-140,597,547),1176=>array(61,-196,537,742),1177=>array(75,-196,527,560),1178=>array(57,-157,598,729),1179=>array(85,-140,585,547),1186=>array(18,-157,602,729),1187=>array(14,-140,594,547),1188=>array(38,0,592,729),1189=>array(38,0,590,547),1194=>array(74,-196,528,742),1195=>array(82,-196,518,561),1196=>array(44,-157,558,729),1197=>array(80,-140,523,547),1198=>array(4,0,598,729),1199=>array(28,-208,574,547),1200=>array(4,0,598,729),1201=>array(28,-208,574,547),1202=>array(13,-157,589,729),1203=>array(27,-140,575,547),1210=>array(49,0,550,760),1211=>array(84,0,523,760),1216=>array(84,0,518,729),1217=>array(6,0,596,927),1218=>array(7,0,596,784),1219=>array(57,-207,590,729),1220=>array(85,-207,573,547),1223=>array(67,-207,535,729),1224=>array(84,-207,523,547),1227=>array(49,-157,550,760),1228=>array(67,-140,518,547),1231=>array(189,0,332,760),1232=>array(16,0,586,927),1233=>array(46,-14,541,784),1234=>array(16,0,586,927),1235=>array(46,-14,541,774),1236=>array(0,0,576,729),1237=>array(7,-14,580,560),1238=>array(82,0,536,927),1239=>array(45,-14,561,784),1240=>array(45,-14,557,742),1241=>array(45,-14,561,560),1242=>array(45,-14,557,927),1243=>array(45,-14,561,762),1244=>array(6,0,596,927),1245=>array(7,0,596,762),1246=>array(61,-14,537,927),1247=>array(75,-11,527,762),1248=>array(5,-14,597,729),1249=>array(54,-215,548,547),1250=>array(58,0,543,913),1251=>array(74,0,533,760),1252=>array(58,0,543,927),1253=>array(74,0,533,762),1254=>array(45,-14,557,927),1255=>array(48,-14,554,762),1256=>array(45,-14,557,742),1257=>array(48,-14,554,560),1258=>array(45,-14,557,927),1259=>array(48,-14,554,762),1260=>array(74,-14,528,927),1261=>array(82,-14,518,762),1262=>array(14,0,588,913),1263=>array(29,-207,574,760),1264=>array(14,0,588,927),1265=>array(29,-207,574,762),1266=>array(14,0,588,927),1267=>array(29,-207,574,800),1268=>array(49,0,550,927),1269=>array(67,0,518,762),1270=>array(89,-157,543,729),1271=>array(108,-140,499,547),1272=>array(20,0,583,927),1273=>array(15,0,586,762),1296=>array(61,-14,537,742),1297=>array(73,-11,510,557),1306=>array(45,-137,557,742),1307=>array(44,-208,529,560),1308=>array(0,0,602,729),1309=>array(0,0,602,547),1329=>array(35,-31,567,729),1330=>array(48,0,554,743),1331=>array(16,0,585,743),1332=>array(16,0,585,743),1333=>array(48,-14,561,729),1334=>array(38,0,564,743),1335=>array(55,0,547,729),1336=>array(48,0,554,743),1337=>array(21,-14,581,743),1338=>array(16,-14,585,729),1339=>array(52,0,550,729),1340=>array(75,0,527,729),1341=>array(38,-13,564,729),1342=>array(17,-14,584,742),1343=>array(52,0,550,729),1344=>array(31,-37,571,729),1345=>array(35,-31,567,743),1346=>array(16,0,585,743),1347=>array(35,0,567,741),1348=>array(16,-14,585,729),1349=>array(24,-14,577,741),1350=>array(16,-14,585,729),1351=>array(37,-13,565,729),1352=>array(52,0,550,743),1353=>array(38,-39,564,743),1354=>array(25,0,577,741),1355=>array(35,0,566,741),1356=>array(16,0,585,743),1357=>array(52,-14,550,729),1358=>array(16,0,585,729),1359=>array(51,-14,550,742),1360=>array(52,0,550,743),1361=>array(24,-13,577,741),1362=>array(55,0,547,729),1363=>array(15,0,586,729),1364=>array(25,0,577,741),1365=>array(45,-14,557,742),1366=>array(15,-14,586,729),1369=>array(231,481,371,760),1370=>array(200,411,401,730),1371=>array(133,616,468,800),1372=>array(66,618,535,893),1373=>array(133,616,468,800),1374=>array(33,590,569,906),1375=>array(92,618,510,760),1377=>array(39,-13,563,547),1378=>array(73,-208,529,560),1379=>array(32,-208,570,560),1380=>array(50,-208,552,560),1381=>array(70,-14,532,760),1382=>array(32,-208,570,560),1383=>array(88,0,514,760),1384=>array(73,-208,529,560),1385=>array(26,-208,575,560),1386=>array(32,-14,570,760),1387=>array(82,-208,521,760),1388=>array(160,-208,442,547),1389=>array(39,-208,563,760),1390=>array(48,-14,554,760),1391=>array(81,-208,521,760),1392=>array(82,0,521,760),1393=>array(75,-14,527,760),1394=>array(50,-208,552,560),1395=>array(67,-14,534,741),1396=>array(81,-14,583,760),1397=>array(128,-207,474,547),1398=>array(50,-13,552,760),1399=>array(77,-208,525,559),1400=>array(82,0,521,560),1401=>array(110,-208,492,579),1402=>array(39,-208,563,547),1403=>array(67,-208,535,559),1404=>array(57,0,545,560),1405=>array(81,-14,521,547),1406=>array(47,-208,555,760),1407=>array(40,-13,562,560),1408=>array(82,-208,521,560),1409=>array(57,-207,544,561),1410=>array(92,0,510,547),1411=>array(40,-208,562,760),1412=>array(32,-208,570,560),1413=>array(48,-14,554,560),1414=>array(21,-208,581,760),1415=>array(22,-14,580,760),1417=>array(220,0,382,519),1418=>array(147,188,455,359),1542=>array(29,-19,578,928),1543=>array(29,-19,578,928),1545=>array(0,0,602,635),1546=>array(0,0,602,635),1548=>array(215,0,388,274),1557=>array(168,623,425,896),1563=>array(195,0,368,637),1567=>array(82,0,488,742),1569=>array(203,13,522,483),1570=>array(109,0,492,973),1571=>array(211,0,388,1041),1572=>array(37,-244,572,633),1573=>array(211,-329,388,760),1574=>array(0,-171,602,609),1575=>array(229,0,372,760),1576=>array(13,-172,597,263),1577=>array(86,-28,518,549),1578=>array(13,-18,597,427),1579=>array(13,-18,597,598),1580=>array(43,-244,584,444),1581=>array(43,-244,584,444),1582=>array(43,-244,584,623),1583=>array(113,-19,537,456),1584=>array(113,-19,537,658),1585=>array(-25,-246,565,267),1586=>array(-25,-246,565,481),1587=>array(-96,-240,602,366),1588=>array(-96,-240,602,671),1589=>array(-139,-240,594,319),1590=>array(-139,-240,594,449),1591=>array(5,0,588,760),1592=>array(5,0,588,760),1593=>array(35,-244,589,549),1594=>array(35,-244,589,701),1600=>array(-16,0,618,110),1601=>array(-52,-64,602,619),1602=>array(0,-230,602,696),1603=>array(4,-46,593,760),1604=>array(0,-181,568,760),1605=>array(29,-240,563,357),1606=>array(9,-162,586,464),1607=>array(86,-28,518,358),1608=>array(37,-244,572,330),1609=>array(0,-171,602,432),1610=>array(0,-323,602,432),1611=>array(148,563,453,854),1612=>array(111,552,456,884),1613=>array(148,-295,453,-4),1614=>array(148,563,453,729),1615=>array(146,580,456,884),1616=>array(148,-171,453,-4),1617=>array(124,591,478,869),1618=>array(154,597,448,891),1619=>array(109,580,492,743),1620=>array(211,573,388,820),1621=>array(211,-293,388,-47),1626=>array(152,616,449,775),1632=>array(221,189,382,373),1633=>array(178,0,424,684),1634=>array(61,0,563,684),1635=>array(30,0,583,684),1636=>array(84,-10,486,684),1637=>array(50,-22,553,684),1638=>array(32,0,570,684),1639=>array(44,0,560,684),1640=>array(44,0,560,684),1641=>array(60,0,561,684),1642=>array(66,0,536,635),1643=>array(132,-129,470,318),1644=>array(215,485,388,760),1645=>array(71,101,531,537),1652=>array(211,629,388,876),1657=>array(13,-18,597,604),1658=>array(13,-18,597,549),1659=>array(13,-357,597,263),1662=>array(13,-355,597,263),1663=>array(13,-18,597,600),1664=>array(13,-340,597,263),1667=>array(43,-244,584,444),1668=>array(43,-244,584,444),1670=>array(43,-244,586,444),1671=>array(43,-244,586,444),1681=>array(-25,-246,598,611),1688=>array(-25,-246,598,655),1700=>array(-52,-64,602,785),1705=>array(5,-60,670,803),1711=>array(5,-60,671,991),1726=>array(-46,-42,602,498),1740=>array(0,-171,602,432),1776=>array(221,189,382,373),1777=>array(178,0,424,684),1778=>array(61,0,563,684),1779=>array(30,0,583,684),1780=>array(30,0,550,684),1781=>array(37,-13,564,684),1782=>array(104,0,497,684),1783=>array(44,0,560,684),1784=>array(44,0,560,684),1785=>array(60,0,561,684),3713=>array(30,-10,556,560),3714=>array(53,-39,609,568),3716=>array(59,-10,561,568),3719=>array(70,-238,535,568),3720=>array(37,-0,565,575),3722=>array(35,-238,598,563),3725=>array(50,-14,552,560),3732=>array(60,-14,542,560),3733=>array(26,-15,576,579),3734=>array(13,-240,554,560),3735=>array(41,-8,562,571),3737=>array(37,-14,564,568),3738=>array(61,-8,541,561),3739=>array(61,-8,541,760),3740=>array(41,-8,623,648),3741=>array(41,-8,561,760),3742=>array(35,-8,566,561),3743=>array(35,-8,566,760),3745=>array(8,-14,564,547),3746=>array(50,-14,552,760),3747=>array(49,-8,566,568),3749=>array(30,-8,572,568),3751=>array(39,-13,559,560),3754=>array(30,-8,634,648),3755=>array(15,-12,582,575),3757=>array(43,-8,567,568),3758=>array(26,-8,606,617),3759=>array(0,-126,602,579),3760=>array(40,-6,571,567),3761=>array(40,620,571,896),3762=>array(52,0,550,588),3763=>array(-426,0,550,846),3764=>array(5,622,597,950),3765=>array(-52,633,615,962),3766=>array(4,622,597,950),3767=>array(4,633,671,962),3768=>array(176,-385,437,-55),3769=>array(129,-316,428,-28),3771=>array(-10,610,612,896),3772=>array(-4,-311,606,-48),3784=>array(243,659,359,844),3785=>array(-2,622,604,918),3786=>array(25,619,731,963),3787=>array(133,612,469,917),3788=>array(-4,603,606,866),3789=>array(176,639,426,846),4304=>array(48,0,555,567),4305=>array(49,0,554,758),4306=>array(39,-196,562,521),4307=>array(13,-197,589,516),4308=>array(47,-196,555,521),4309=>array(48,-196,555,521),4310=>array(48,0,555,757),4311=>array(13,0,589,516),4312=>array(48,0,555,521),4313=>array(48,-196,555,512),4314=>array(48,-196,555,521),4315=>array(49,0,555,757),4316=>array(48,0,555,745),4317=>array(13,0,589,516),4318=>array(48,0,555,754),4319=>array(47,-196,555,539),4320=>array(13,0,589,765),4321=>array(47,0,555,741),4322=>array(9,-197,593,656),4323=>array(11,-197,555,531),4324=>array(13,-196,589,521),4325=>array(48,-196,554,741),4326=>array(13,-197,589,521),4327=>array(49,-196,555,506),4328=>array(1,0,558,757),4329=>array(48,0,555,757),4330=>array(28,-196,574,539),4331=>array(48,0,555,741),4332=>array(46,0,602,757),4333=>array(48,-196,554,741),4334=>array(47,0,554,741),4335=>array(47,-196,555,610),4336=>array(48,0,555,757),4337=>array(48,-196,555,757),4338=>array(48,-134,555,521),4339=>array(47,-196,555,521),4340=>array(47,-196,555,757),4341=>array(53,0,575,757),4342=>array(13,-196,589,521),4343=>array(38,-197,564,521),4344=>array(48,-197,555,534),4345=>array(39,-196,563,527),4346=>array(62,-95,541,521),4347=>array(132,24,470,492),4348=>array(187,359,415,758),7426=>array(26,-14,599,560),7432=>array(50,-11,552,560),7433=>array(51,-264,550,549),7444=>array(7,-14,591,560),7446=>array(48,273,554,560),7447=>array(47,-14,554,273),7453=>array(20,0,581,440),7454=>array(20,-2,571,438),7455=>array(21,-0,581,523),7468=>array(121,326,480,734),7469=>array(119,326,482,734),7470=>array(142,326,460,735),7472=>array(146,326,455,734),7473=>array(158,326,444,734),7474=>array(158,326,444,734),7475=>array(146,318,457,742),7476=>array(153,326,448,734),7477=>array(164,326,438,734),7478=>array(163,318,439,734),7479=>array(131,326,472,734),7480=>array(158,326,443,734),7481=>array(138,326,464,734),7482=>array(148,326,454,734),7483=>array(148,326,454,734),7484=>array(140,318,462,742),7486=>array(149,326,452,734),7487=>array(132,326,470,734),7488=>array(139,326,463,734),7489=>array(145,318,458,734),7490=>array(111,326,490,734),7491=>array(145,318,457,640),7492=>array(145,318,457,640),7493=>array(148,318,454,640),7494=>array(121,318,481,640),7495=>array(148,318,454,751),7496=>array(148,318,454,751),7497=>array(139,318,463,640),7498=>array(139,318,463,640),7499=>array(143,320,459,640),7500=>array(143,320,459,640),7501=>array(147,210,455,640),7502=>array(144,178,458,633),7503=>array(144,326,458,751),7504=>array(136,326,466,640),7505=>array(163,210,439,640),7506=>array(142,318,460,640),7507=>array(164,318,438,640),7508=>array(142,479,460,640),7509=>array(142,318,460,479),7510=>array(148,209,454,640),7511=>array(153,326,449,719),7512=>array(163,318,439,632),7513=>array(125,326,478,573),7514=>array(136,319,466,632),7515=>array(136,326,466,632),7522=>array(144,0,458,455),7523=>array(167,0,436,314),7524=>array(163,-8,439,306),7525=>array(136,0,466,306),7543=>array(48,-207,535,561),7544=>array(153,326,448,734),7547=>array(52,0,551,547),7557=>array(44,-207,534,760),7579=>array(148,318,454,640),7580=>array(164,318,438,640),7581=>array(161,288,441,640),7582=>array(143,318,459,755),7583=>array(143,320,459,640),7584=>array(161,326,441,751),7585=>array(182,205,420,632),7586=>array(149,209,453,632),7587=>array(163,207,439,632),7588=>array(144,326,458,751),7589=>array(156,325,446,632),7590=>array(144,326,458,632),7591=>array(144,326,458,632),7592=>array(140,210,462,781),7593=>array(146,205,456,751),7594=>array(146,210,456,751),7595=>array(184,326,418,632),7596=>array(136,209,466,640),7597=>array(136,209,466,632),7598=>array(131,205,471,640),7599=>array(132,205,470,640),7600=>array(148,326,454,632),7601=>array(142,318,460,640),7602=>array(118,209,484,753),7603=>array(164,209,438,640),7604=>array(139,210,463,751),7605=>array(153,210,449,719),7606=>array(139,318,463,632),7607=>array(138,298,464,632),7609=>array(137,326,465,632),7610=>array(136,326,466,632),7611=>array(160,326,442,632),7612=>array(125,209,477,632),7613=>array(147,295,455,632),7614=>array(145,206,457,632),7615=>array(142,319,460,757),7680=>array(16,-245,586,729),7681=>array(46,-245,541,560),7682=>array(61,0,566,927),7683=>array(73,-14,558,774),7684=>array(61,-226,566,730),7685=>array(73,-226,558,760),7686=>array(61,-198,566,730),7687=>array(73,-198,558,760),7688=>array(74,-196,532,927),7689=>array(82,-196,555,800),7690=>array(67,0,557,927),7691=>array(44,-14,529,774),7692=>array(67,-226,557,729),7693=>array(44,-226,529,760),7694=>array(67,-198,557,729),7695=>array(44,-198,529,760),7696=>array(67,-196,557,729),7697=>array(44,-196,529,760),7698=>array(67,-237,557,729),7699=>array(44,-237,529,760),7704=>array(82,-237,536,729),7705=>array(45,-237,561,560),7706=>array(82,-238,536,729),7707=>array(45,-238,561,560),7708=>array(82,-196,536,927),7709=>array(45,-196,561,784),7710=>array(89,0,543,927),7711=>array(85,0,529,927),7712=>array(57,-14,552,913),7713=>array(48,-207,535,760),7714=>array(67,0,535,927),7715=>array(84,0,523,927),7716=>array(67,-226,535,729),7717=>array(84,-226,523,760),7718=>array(67,0,535,927),7719=>array(84,0,523,934),7720=>array(16,-196,535,729),7721=>array(33,-196,523,760),7722=>array(67,-240,535,729),7723=>array(84,-240,523,760),7724=>array(84,-238,518,729),7725=>array(70,-238,569,813),7728=>array(57,0,598,927),7729=>array(85,0,585,927),7730=>array(57,-226,598,729),7731=>array(85,-226,585,760),7732=>array(57,-198,598,729),7733=>array(85,-198,585,760),7734=>array(110,-226,562,729),7735=>array(44,-226,534,760),7736=>array(110,-226,562,913),7737=>array(44,-226,534,913),7738=>array(110,-198,562,729),7739=>array(44,-198,534,760),7740=>array(110,-237,562,729),7741=>array(44,-237,534,760),7742=>array(42,0,560,927),7743=>array(40,0,564,800),7744=>array(42,0,560,927),7745=>array(40,0,564,774),7746=>array(42,-226,560,729),7747=>array(40,-226,564,560),7748=>array(58,0,543,927),7749=>array(84,0,523,774),7750=>array(58,-226,543,729),7751=>array(84,-226,523,560),7752=>array(58,-198,543,729),7753=>array(84,-198,523,560),7754=>array(58,-237,543,729),7755=>array(84,-237,523,560),7756=>array(45,-14,557,997),7757=>array(48,-14,554,997),7764=>array(79,0,560,931),7765=>array(73,-208,558,800),7766=>array(79,0,560,927),7767=>array(73,-208,558,774),7768=>array(65,0,602,927),7769=>array(142,0,562,774),7770=>array(65,-226,602,729),7771=>array(142,-226,562,560),7772=>array(65,-226,602,913),7773=>array(142,-226,562,760),7774=>array(65,-198,602,729),7775=>array(142,-198,562,560),7776=>array(63,-14,542,927),7777=>array(84,-14,521,774),7778=>array(63,-226,542,742),7779=>array(84,-226,521,560),7784=>array(63,-226,542,927),7785=>array(84,-226,521,774),7786=>array(44,0,558,927),7787=>array(54,0,524,927),7788=>array(44,-226,558,729),7789=>array(54,-226,524,702),7790=>array(44,-198,558,729),7791=>array(54,-198,524,702),7792=>array(44,-237,558,729),7793=>array(54,-237,524,702),7794=>array(52,-226,550,729),7795=>array(78,-226,518,547),7796=>array(52,-238,550,729),7797=>array(78,-238,518,547),7798=>array(52,-237,550,729),7799=>array(78,-237,518,547),7800=>array(52,-14,550,997),7801=>array(78,-14,518,997),7804=>array(28,0,574,916),7805=>array(39,0,563,758),7806=>array(28,-226,574,729),7807=>array(39,-226,563,547),7808=>array(0,0,602,931),7809=>array(0,0,602,803),7810=>array(0,0,602,931),7811=>array(0,0,602,803),7812=>array(0,0,602,922),7813=>array(0,0,602,740),7814=>array(0,0,602,927),7815=>array(0,0,602,774),7816=>array(0,-226,602,729),7817=>array(0,-226,602,547),7818=>array(13,0,589,927),7819=>array(27,0,575,774),7820=>array(13,0,589,927),7821=>array(27,0,575,734),7822=>array(4,0,598,927),7823=>array(29,-207,574,774),7824=>array(56,0,567,931),7825=>array(79,0,528,803),7826=>array(56,-226,567,729),7827=>array(79,-226,528,547),7828=>array(56,-198,567,729),7829=>array(79,-198,528,547),7830=>array(84,-198,523,760),7831=>array(54,0,524,876),7832=>array(0,0,602,898),7833=>array(29,-207,574,898),7835=>array(85,0,529,927),7839=>array(48,-14,554,766),7840=>array(16,-226,586,729),7841=>array(46,-226,541,560),7852=>array(16,-226,586,931),7853=>array(46,-226,541,803),7856=>array(16,0,586,997),7857=>array(46,-14,541,954),7862=>array(16,-226,586,927),7863=>array(46,-226,541,759),7864=>array(82,-226,536,729),7865=>array(45,-226,561,560),7868=>array(82,0,536,928),7869=>array(45,-14,561,762),7878=>array(82,-226,536,931),7879=>array(45,-226,561,803),7882=>array(84,-226,518,729),7883=>array(70,-226,569,813),7884=>array(45,-226,557,742),7885=>array(48,-226,554,560),7896=>array(45,-226,557,931),7897=>array(48,-226,554,803),7898=>array(2,-14,600,927),7899=>array(4,-14,598,800),7900=>array(2,-14,600,927),7901=>array(4,-14,598,800),7904=>array(2,-14,600,928),7905=>array(4,-14,598,778),7906=>array(2,-226,600,759),7907=>array(4,-226,598,570),7908=>array(52,-226,550,729),7909=>array(78,-226,518,547),7912=>array(2,-14,600,927),7913=>array(3,-14,599,800),7914=>array(2,-14,600,927),7915=>array(3,-14,599,800),7918=>array(2,-14,600,928),7919=>array(3,-14,599,778),7920=>array(2,-226,600,759),7921=>array(3,-226,599,570),7922=>array(4,0,598,931),7923=>array(29,-207,574,803),7924=>array(4,-226,598,729),7925=>array(29,-226,574,547),7928=>array(4,0,598,928),7929=>array(29,-207,574,762),7936=>array(26,-12,568,806),7937=>array(26,-12,568,806),7938=>array(26,-12,568,806),7939=>array(26,-12,568,806),7940=>array(26,-12,568,806),7941=>array(26,-12,568,806),7942=>array(26,-12,568,978),7943=>array(26,-12,568,978),7944=>array(7,0,586,806),7945=>array(-17,0,586,806),7946=>array(-300,0,586,806),7947=>array(-305,0,586,806),7948=>array(-195,0,586,806),7949=>array(-225,0,586,806),7950=>array(-84,0,586,978),7951=>array(-108,0,586,978),7952=>array(73,-11,510,806),7953=>array(73,-11,510,806),7954=>array(71,-11,524,806),7955=>array(66,-11,529,806),7956=>array(73,-11,559,806),7957=>array(73,-11,568,806),7960=>array(-117,0,536,806),7961=>array(-117,0,536,806),7962=>array(-400,0,536,806),7963=>array(-405,0,536,806),7964=>array(-325,0,536,806),7965=>array(-349,0,536,806),7968=>array(84,-208,523,806),7969=>array(84,-208,523,806),7970=>array(71,-208,524,806),7971=>array(66,-208,529,806),7972=>array(84,-208,559,806),7973=>array(84,-208,568,806),7974=>array(84,-208,523,978),7975=>array(84,-208,523,978),7976=>array(-142,0,535,806),7977=>array(-142,0,535,806),7978=>array(-427,0,535,806),7979=>array(-432,0,535,806),7980=>array(-354,0,535,806),7981=>array(-374,0,535,806),7982=>array(-230,0,535,978),7983=>array(-230,0,535,978),7984=>array(132,0,478,806),7985=>array(132,0,478,806),7986=>array(71,0,524,806),7987=>array(66,0,529,806),7988=>array(120,0,559,806),7989=>array(100,0,568,806),7990=>array(131,0,478,978),7991=>array(131,0,478,978),7992=>array(-117,0,518,806),7993=>array(-117,0,518,806),7994=>array(-388,0,518,806),7995=>array(-403,0,518,806),7996=>array(-320,0,518,806),7997=>array(-344,0,518,806),7998=>array(-208,0,518,978),7999=>array(-208,0,518,978),8000=>array(48,-14,554,806),8001=>array(48,-14,554,806),8002=>array(48,-14,554,806),8003=>array(48,-14,554,806),8004=>array(48,-14,559,806),8005=>array(48,-14,568,806),8008=>array(-81,-14,557,806),8009=>array(-117,-14,557,806),8010=>array(-391,-14,557,806),8011=>array(-396,-14,557,806),8012=>array(-232,-14,557,806),8013=>array(-256,-14,557,806),8016=>array(37,0,565,806),8017=>array(37,0,565,806),8018=>array(37,0,565,806),8019=>array(37,0,565,806),8020=>array(37,0,565,806),8021=>array(37,0,568,806),8022=>array(37,0,565,978),8023=>array(37,0,565,978),8025=>array(-190,0,598,806),8027=>array(-447,0,598,806),8029=>array(-425,0,598,806),8031=>array(-287,0,598,978),8032=>array(31,-14,571,806),8033=>array(31,-14,571,806),8034=>array(31,-14,571,806),8035=>array(31,-14,571,806),8036=>array(31,-14,571,806),8037=>array(31,-14,571,806),8038=>array(31,-14,571,978),8039=>array(31,-14,571,978),8040=>array(-71,0,558,806),8041=>array(-105,0,558,806),8042=>array(-391,0,558,806),8043=>array(-396,0,558,806),8044=>array(-220,0,558,806),8045=>array(-239,0,558,806),8046=>array(-152,0,558,978),8047=>array(-189,0,558,978),8048=>array(26,-12,568,800),8049=>array(26,-12,568,800),8050=>array(73,-11,510,800),8051=>array(73,-11,510,800),8052=>array(84,-208,523,800),8053=>array(84,-208,523,800),8054=>array(97,0,478,800),8055=>array(132,0,505,800),8056=>array(48,-14,554,800),8057=>array(48,-14,554,800),8058=>array(37,0,565,800),8059=>array(37,0,565,800),8060=>array(31,-14,571,800),8061=>array(31,-14,571,800),8064=>array(26,-208,568,806),8065=>array(26,-208,568,806),8066=>array(26,-208,568,806),8067=>array(26,-208,568,806),8068=>array(26,-208,568,806),8069=>array(26,-208,568,806),8070=>array(26,-208,568,978),8071=>array(26,-208,568,978),8072=>array(7,-208,586,806),8073=>array(-17,-208,586,806),8074=>array(-300,-208,586,806),8075=>array(-305,-208,586,806),8076=>array(-195,-208,586,806),8077=>array(-225,-208,586,806),8078=>array(-84,-208,586,978),8079=>array(-108,-208,586,978),8080=>array(84,-208,523,806),8081=>array(84,-208,523,806),8082=>array(71,-208,524,806),8083=>array(66,-208,529,806),8084=>array(84,-208,559,806),8085=>array(84,-208,568,806),8086=>array(84,-208,523,978),8087=>array(84,-208,523,978),8088=>array(-142,-208,535,806),8089=>array(-142,-208,535,806),8090=>array(-427,-208,535,806),8091=>array(-432,-208,535,806),8092=>array(-354,-208,535,806),8093=>array(-374,-208,535,806),8094=>array(-230,-208,535,978),8095=>array(-230,-208,535,978),8096=>array(31,-208,571,806),8097=>array(31,-208,571,806),8098=>array(31,-208,571,806),8099=>array(31,-208,571,806),8100=>array(31,-208,571,806),8101=>array(31,-208,571,806),8102=>array(31,-208,571,978),8103=>array(31,-208,571,978),8104=>array(-71,-208,558,806),8105=>array(-105,-208,558,806),8106=>array(-391,-208,558,806),8107=>array(-396,-208,558,806),8108=>array(-220,-208,558,806),8109=>array(-239,-208,558,806),8110=>array(-152,-208,558,978),8111=>array(-189,-208,558,978),8112=>array(26,-12,568,784),8113=>array(26,-12,568,760),8114=>array(26,-208,568,800),8115=>array(26,-208,568,559),8116=>array(26,-208,568,800),8118=>array(26,-12,568,778),8119=>array(26,-208,568,778),8120=>array(16,0,586,927),8121=>array(16,0,586,913),8122=>array(-132,0,586,800),8123=>array(-40,0,586,800),8124=>array(16,-208,586,729),8125=>array(222,595,379,806),8126=>array(253,-208,383,-45),8127=>array(222,595,379,806),8128=>array(131,638,471,778),8129=>array(131,654,471,944),8130=>array(84,-208,523,800),8131=>array(84,-208,523,560),8132=>array(84,-208,523,800),8134=>array(84,-208,523,778),8135=>array(84,-208,523,778),8136=>array(-245,0,536,800),8137=>array(-171,0,536,800),8138=>array(-259,0,535,800),8139=>array(-191,0,535,800),8140=>array(67,-208,535,729),8141=>array(71,595,524,806),8142=>array(120,595,559,806),8143=>array(131,595,471,978),8144=>array(132,0,478,784),8145=>array(132,0,478,760),8146=>array(97,0,478,980),8147=>array(132,0,505,999),8150=>array(131,0,478,778),8151=>array(131,0,478,944),8152=>array(84,0,518,927),8153=>array(84,0,518,913),8154=>array(-230,0,518,800),8155=>array(-162,0,518,800),8157=>array(66,595,529,806),8158=>array(100,595,568,806),8159=>array(131,595,471,978),8160=>array(37,0,565,784),8161=>array(37,0,565,760),8162=>array(37,0,565,980),8163=>array(37,0,565,999),8164=>array(73,-208,558,806),8165=>array(73,-208,558,806),8166=>array(37,0,565,778),8167=>array(37,0,565,944),8168=>array(4,0,598,927),8169=>array(4,0,598,913),8170=>array(-269,0,598,800),8171=>array(-242,0,598,800),8172=>array(-127,0,560,806),8173=>array(97,654,455,980),8174=>array(147,654,505,999),8175=>array(97,616,373,800),8178=>array(31,-208,571,800),8179=>array(31,-208,571,547),8180=>array(31,-208,571,800),8182=>array(31,-14,571,778),8183=>array(31,-208,571,778),8184=>array(-223,-14,557,800),8185=>array(-83,-14,557,800),8186=>array(-218,0,558,800),8187=>array(-62,0,558,800),8188=>array(44,-208,558,713),8189=>array(229,616,505,800),8190=>array(222,595,379,806),8208=>array(147,217,455,359),8209=>array(147,217,455,359),8210=>array(0,217,602,337),8211=>array(0,217,602,337),8212=>array(0,217,602,337),8213=>array(0,217,602,337),8214=>array(125,-236,476,764),8215=>array(0,-236,602,-9),8216=>array(211,441,412,760),8217=>array(211,441,412,760),8218=>array(177,-140,378,179),8219=>array(211,441,412,760),8220=>array(74,441,528,760),8221=>array(73,441,528,760),8222=>array(73,-140,528,179),8223=>array(73,441,528,760),8224=>array(76,-96,525,729),8225=>array(76,-96,525,729),8226=>array(125,195,477,547),8227=>array(125,156,516,586),8230=>array(28,0,574,179),8240=>array(0,0,602,699),8241=>array(0,0,602,699),8242=>array(191,547,411,729),8243=>array(99,547,503,729),8244=>array(8,547,594,729),8245=>array(191,547,411,729),8246=>array(98,547,504,729),8247=>array(8,547,594,729),8249=>array(169,69,398,517),8250=>array(205,69,434,517),8252=>array(85,0,517,729),8253=>array(114,0,520,742),8254=>array(0,663,602,755),8261=>array(206,-132,454,760),8262=>array(148,-132,396,760),8263=>array(19,0,583,742),8264=>array(19,0,525,742),8265=>array(77,0,583,742),8267=>array(82,-96,568,729),8304=>array(136,319,466,742),8305=>array(144,326,458,781),8308=>array(120,326,456,734),8309=>array(143,319,461,734),8310=>array(140,318,471,742),8311=>array(139,326,454,734),8312=>array(138,319,463,742),8313=>array(130,319,461,742),8314=>array(132,352,470,652),8315=>array(132,469,470,535),8316=>array(139,407,464,596),8317=>array(218,252,384,751),8318=>array(218,252,384,751),8319=>array(161,326,441,640),8320=>array(136,-7,466,416),8321=>array(153,0,469,408),8322=>array(134,0,459,416),8323=>array(140,-7,470,416),8324=>array(120,0,456,408),8325=>array(143,-7,461,408),8326=>array(140,-8,471,416),8327=>array(139,0,454,408),8328=>array(138,-7,463,416),8329=>array(130,-7,461,416),8330=>array(132,25,470,326),8331=>array(132,143,470,208),8332=>array(139,81,464,270),8333=>array(218,-74,384,425),8334=>array(218,-74,384,425),8336=>array(145,-8,457,313),8337=>array(139,-8,463,313),8338=>array(142,-8,460,313),8339=>array(125,0,477,307),8340=>array(139,-8,463,313),8341=>array(161,0,441,426),8342=>array(144,0,458,425),8343=>array(144,0,458,426),8344=>array(136,0,466,313),8345=>array(161,0,441,313),8346=>array(148,-117,454,313),8347=>array(161,-7,441,314),8348=>array(153,0,449,393),8352=>array(0,0,595,729),8353=>array(43,-44,554,778),8354=>array(34,-14,551,742),8355=>array(0,0,544,729),8356=>array(54,0,541,742),8357=>array(19,-93,582,640),8358=>array(0,0,602,729),8359=>array(2,-14,601,729),8360=>array(4,-14,598,729),8361=>array(0,0,602,729),8362=>array(2,-14,601,729),8363=>array(29,-196,585,760),8364=>array(3,-14,526,742),8365=>array(24,0,584,729),8366=>array(2,0,601,729),8367=>array(4,-223,593,742),8368=>array(12,-14,590,742),8369=>array(29,0,602,729),8370=>array(21,-81,573,809),8371=>array(12,0,590,729),8372=>array(0,-14,602,742),8373=>array(22,-147,580,760),8376=>array(44,0,558,729),8377=>array(50,0,560,729),8450=>array(68,-14,524,742),8453=>array(3,-24,598,752),8461=>array(11,0,588,729),8462=>array(29,0,547,760),8463=>array(29,0,547,760),8469=>array(24,0,580,729),8470=>array(0,0,597,729),8471=>array(0,61,602,663),8473=>array(36,0,573,729),8474=>array(0,-146,598,742),8477=>array(4,0,597,729),8482=>array(0,447,550,729),8484=>array(6,0,584,729),8486=>array(44,0,558,713),8490=>array(57,0,598,729),8491=>array(16,0,586,928),8494=>array(0,-12,602,647),8520=>array(-9,0,501,813),8531=>array(23,-139,568,810),8532=>array(8,-139,568,818),8533=>array(23,-139,559,810),8534=>array(8,-139,559,818),8535=>array(14,-139,559,818),8536=>array(-6,-139,559,810),8537=>array(23,-140,569,810),8538=>array(17,-140,569,810),8539=>array(23,-139,562,810),8540=>array(14,-139,562,818),8541=>array(17,-139,562,810),8542=>array(13,-139,562,810),8543=>array(23,244,558,810),8592=>array(32,97,570,451),8593=>array(124,0,478,538),8594=>array(32,97,570,451),8595=>array(124,0,478,538),8596=>array(32,97,570,451),8597=>array(124,0,478,538),8598=>array(75,-10,522,437),8599=>array(80,-10,527,437),8600=>array(80,-15,526,432),8601=>array(75,-15,522,432),8602=>array(32,97,570,451),8603=>array(32,97,570,451),8604=>array(29,178,566,437),8605=>array(36,178,573,437),8606=>array(32,97,570,451),8607=>array(124,0,478,538),8608=>array(32,97,570,451),8609=>array(124,0,478,538),8610=>array(32,97,570,451),8611=>array(32,97,570,451),8612=>array(32,97,570,451),8613=>array(124,0,478,538),8614=>array(32,97,570,451),8615=>array(124,0,478,538),8616=>array(124,0,478,538),8617=>array(32,97,570,509),8618=>array(32,97,570,509),8619=>array(32,97,570,509),8620=>array(32,97,570,509),8621=>array(32,97,570,451),8622=>array(32,87,570,460),8623=>array(28,-2,562,700),8624=>array(89,0,527,689),8625=>array(75,0,513,689),8626=>array(89,-15,527,674),8627=>array(75,-15,513,674),8628=>array(91,0,526,555),8629=>array(31,-15,586,421),8630=>array(24,168,578,506),8631=>array(24,168,578,506),8632=>array(24,-10,578,542),8633=>array(32,-15,570,634),8634=>array(27,-19,575,511),8635=>array(27,-19,575,511),8636=>array(32,219,570,451),8637=>array(32,97,570,329),8638=>array(246,0,478,538),8639=>array(124,0,356,538),8640=>array(32,219,570,451),8641=>array(32,97,570,329),8642=>array(246,0,478,538),8643=>array(124,0,356,538),8644=>array(32,-15,570,575),8645=>array(6,0,596,538),8646=>array(32,-15,570,575),8647=>array(32,-15,570,575),8648=>array(6,0,596,538),8649=>array(32,-15,570,575),8650=>array(6,0,596,538),8651=>array(32,-15,570,575),8652=>array(32,-15,570,575),8653=>array(32,97,570,451),8654=>array(32,97,570,451),8655=>array(32,97,570,451),8656=>array(32,97,570,451),8657=>array(124,0,478,538),8658=>array(32,97,570,451),8659=>array(124,0,478,538),8660=>array(32,97,570,451),8661=>array(124,0,478,538),8662=>array(61,-28,526,437),8663=>array(76,-28,541,437),8664=>array(76,-15,541,451),8665=>array(61,-15,526,451),8666=>array(32,97,570,451),8667=>array(32,97,570,451),8668=>array(32,97,570,451),8669=>array(32,97,570,451),8670=>array(124,0,478,538),8671=>array(124,0,478,538),8672=>array(32,97,570,451),8673=>array(124,0,478,538),8674=>array(32,97,570,451),8675=>array(124,0,478,538),8676=>array(32,97,570,451),8677=>array(32,97,570,451),8678=>array(2,67,570,480),8679=>array(94,0,508,567),8680=>array(32,67,600,480),8681=>array(94,0,508,567),8682=>array(94,0,508,567),8683=>array(94,0,508,567),8684=>array(94,0,508,567),8685=>array(94,0,508,567),8686=>array(94,0,508,567),8687=>array(94,0,508,567),8688=>array(32,70,600,483),8689=>array(19,-10,578,549),8690=>array(21,0,581,559),8691=>array(94,0,508,567),8692=>array(32,97,570,451),8693=>array(6,0,596,538),8694=>array(32,-139,570,687),8695=>array(32,97,570,451),8696=>array(32,97,570,451),8697=>array(32,92,570,451),8698=>array(32,97,570,451),8699=>array(32,97,570,451),8700=>array(32,97,570,457),8701=>array(2,67,570,480),8702=>array(32,67,600,480),8703=>array(2,67,600,480),8704=>array(16,0,586,729),8705=>array(11,-14,592,742),8706=>array(58,-14,544,674),8707=>array(80,0,533,729),8708=>array(80,-46,533,775),8709=>array(31,43,572,584),8710=>array(-3,0,606,695),8711=>array(-3,0,606,695),8712=>array(49,0,553,744),8713=>array(49,-96,558,840),8714=>array(48,63,554,564),8715=>array(49,0,553,744),8716=>array(49,-96,558,840),8717=>array(48,63,554,564),8719=>array(74,-213,528,741),8721=>array(62,-213,539,741),8722=>array(32,256,569,372),8723=>array(43,0,559,627),8725=>array(55,-93,547,729),8727=>array(59,77,541,542),8728=>array(138,182,463,507),8729=>array(125,168,477,520),8730=>array(24,-19,573,843),8731=>array(24,-19,573,933),8732=>array(24,-19,573,924),8733=>array(86,109,516,508),8734=>array(6,109,596,508),8735=>array(43,122,559,638),8736=>array(43,122,559,638),8743=>array(89,0,513,579),8744=>array(89,0,513,579),8745=>array(89,0,513,579),8746=>array(89,0,513,579),8747=>array(71,-204,530,892),8748=>array(0,-204,602,892),8749=>array(-21,-204,623,892),8756=>array(72,51,532,580),8757=>array(72,51,530,580),8758=>array(219,51,383,580),8759=>array(72,51,532,580),8760=>array(32,256,569,619),8761=>array(36,51,578,580),8762=>array(23,26,581,603),8763=>array(43,0,559,624),8764=>array(43,229,559,398),8765=>array(43,229,559,398),8769=>array(43,48,559,577),8770=>array(43,124,559,482),8771=>array(43,144,559,498),8772=>array(43,16,560,637),8773=>array(43,29,559,614),8774=>array(43,-42,559,614),8775=>array(43,-70,559,695),8776=>array(43,124,559,498),8777=>array(43,30,559,596),8778=>array(43,29,559,587),8779=>array(43,12,559,587),8780=>array(43,29,559,614),8781=>array(42,83,559,543),8782=>array(43,10,559,617),8783=>array(43,144,559,617),8784=>array(43,144,559,707),8785=>array(43,-81,559,707),8786=>array(43,-81,559,707),8787=>array(43,-81,560,707),8788=>array(40,124,563,503),8789=>array(40,124,563,503),8790=>array(43,144,559,482),8791=>array(43,144,559,814),8792=>array(43,144,559,715),8793=>array(43,144,559,824),8794=>array(43,144,559,824),8795=>array(43,144,559,935),8796=>array(43,144,559,889),8797=>array(43,144,559,750),8798=>array(42,144,559,801),8799=>array(42,144,559,903),8800=>array(38,-5,564,631),8801=>array(43,29,559,597),8802=>array(43,-55,559,685),8803=>array(43,-47,559,688),8804=>array(43,0,559,582),8805=>array(43,0,559,582),8806=>array(43,-116,559,633),8807=>array(43,-116,559,633),8808=>array(43,-189,559,633),8809=>array(43,-189,559,633),8813=>array(42,-54,559,680),8814=>array(43,-3,559,629),8815=>array(43,-3,559,629),8816=>array(43,-96,559,658),8817=>array(43,-96,559,656),8818=>array(43,-38,559,582),8819=>array(43,-38,559,582),8820=>array(43,-96,559,658),8821=>array(43,-98,559,656),8822=>array(43,-119,559,684),8823=>array(43,-119,559,684),8824=>array(43,-209,559,774),8825=>array(43,-209,559,774),8826=>array(42,-46,558,672),8827=>array(42,-46,558,672),8828=>array(43,-206,559,744),8829=>array(43,-206,559,744),8830=>array(43,-101,559,744),8831=>array(43,-101,559,744),8832=>array(42,-118,558,744),8833=>array(42,-118,558,744),8834=>array(43,67,559,559),8835=>array(43,67,559,559),8836=>array(43,-58,559,684),8837=>array(43,-58,559,684),8838=>array(43,-20,559,645),8839=>array(43,-20,559,645),8840=>array(43,-115,559,729),8841=>array(43,-115,559,729),8842=>array(43,-125,559,645),8843=>array(43,-125,559,645),8847=>array(43,42,559,584),8848=>array(43,42,559,584),8849=>array(43,-10,559,636),8850=>array(43,-10,559,636),8853=>array(13,25,589,604),8854=>array(13,25,589,604),8855=>array(13,25,589,604),8856=>array(13,25,589,604),8857=>array(13,25,589,604),8858=>array(13,25,589,604),8859=>array(13,25,589,604),8860=>array(13,25,589,604),8861=>array(13,25,589,604),8862=>array(24,37,579,591),8863=>array(24,37,579,591),8864=>array(24,37,579,591),8865=>array(24,37,579,591),8866=>array(32,0,569,627),8867=>array(32,0,569,627),8868=>array(32,0,569,627),8869=>array(32,0,569,627),8901=>array(219,259,382,437),8902=>array(110,183,492,545),8909=>array(43,144,559,498),8922=>array(43,-272,559,776),8923=>array(43,-272,559,776),8924=>array(43,0,559,582),8925=>array(43,0,559,582),8926=>array(43,-206,559,744),8927=>array(43,-206,559,744),8928=>array(43,-244,559,803),8929=>array(43,-244,559,803),8930=>array(43,-143,559,769),8931=>array(43,-143,559,769),8932=>array(43,-123,559,636),8933=>array(43,-123,559,636),8934=>array(43,-158,559,582),8935=>array(43,-158,559,582),8936=>array(43,-220,559,744),8937=>array(43,-220,559,744),8943=>array(28,225,574,404),8960=>array(31,43,572,584),8961=>array(56,152,540,453),8962=>array(54,0,548,596),8963=>array(71,406,530,746),8964=>array(71,-132,530,209),8965=>array(71,0,530,459),8966=>array(71,0,530,581),8968=>array(206,-132,454,760),8969=>array(148,-132,396,760),8970=>array(206,-132,454,760),8971=>array(148,-132,396,760),8972=>array(261,73,585,415),8973=>array(6,73,331,415),8974=>array(261,345,585,687),8975=>array(6,345,331,687),8976=>array(43,177,559,439),8977=>array(35,113,567,646),8978=>array(3,211,599,512),8979=>array(3,211,599,512),8980=>array(90,168,512,512),8981=>array(76,107,510,539),8984=>array(17,95,585,664),8985=>array(43,177,559,439),8988=>array(131,352,463,701),8989=>array(139,352,471,701),8990=>array(131,-70,463,279),8991=>array(139,-70,471,279),8992=>array(237,-250,566,925),8993=>array(33,-239,362,940),8997=>array(31,95,571,613),8998=>array(3,145,599,536),8999=>array(46,145,556,536),9000=>array(24,212,578,517),9003=>array(3,145,599,536),9013=>array(25,-33,576,296),9015=>array(125,-114,477,843),9016=>array(3,-114,599,843),9017=>array(3,-114,599,843),9018=>array(3,-114,599,843),9019=>array(3,-114,599,843),9020=>array(3,-114,599,843),9021=>array(3,-171,599,900),9022=>array(3,57,599,658),9025=>array(3,-100,599,829),9026=>array(3,-100,599,829),9027=>array(3,-114,599,843),9028=>array(3,-114,599,843),9031=>array(3,-114,599,843),9032=>array(3,-114,599,843),9033=>array(3,-29,599,729),9035=>array(16,-171,586,900),9036=>array(3,-100,599,829),9037=>array(3,-100,599,829),9040=>array(3,-114,599,843),9042=>array(16,-171,586,900),9043=>array(3,-100,599,829),9044=>array(3,-100,599,829),9047=>array(3,-114,599,843),9048=>array(113,-114,489,729),9049=>array(3,-114,599,729),9050=>array(3,-114,599,655),9051=>array(113,-114,489,496),9052=>array(3,-114,599,658),9054=>array(3,-114,599,843),9055=>array(-10,44,612,671),9056=>array(3,-114,599,843),9059=>array(110,183,492,652),9060=>array(147,222,455,676),9061=>array(3,57,599,847),9064=>array(43,226,559,676),9065=>array(43,53,559,676),9067=>array(16,0,586,729),9068=>array(43,-14,559,742),9069=>array(43,-171,559,900),9070=>array(113,-140,489,519),9071=>array(3,-114,599,843),9072=>array(3,-114,599,843),9075=>array(132,0,478,547),9076=>array(73,-208,558,560),9077=>array(31,-14,571,547),9078=>array(3,-114,599,559),9079=>array(64,-114,538,561),9080=>array(113,-114,489,547),9081=>array(3,-114,599,547),9082=>array(26,-12,568,559),9085=>array(8,-232,594,101),9088=>array(25,-33,576,528),9089=>array(3,92,599,528),9090=>array(3,92,599,528),9091=>array(3,172,599,572),9096=>array(35,27,566,601),9097=>array(34,46,567,579),9098=>array(34,46,567,579),9099=>array(34,46,567,579),9109=>array(3,-114,599,843),9115=>array(113,-252,488,928),9116=>array(113,-252,255,940),9117=>array(113,-240,488,940),9118=>array(114,-252,489,928),9119=>array(347,-252,489,940),9120=>array(114,-240,489,940),9121=>array(113,-252,488,928),9122=>array(113,-252,255,940),9123=>array(113,-240,488,940),9124=>array(113,-252,488,928),9125=>array(346,-252,488,940),9126=>array(113,-240,488,940),9127=>array(232,-261,594,928),9128=>array(8,-247,370,934),9129=>array(232,-240,594,934),9130=>array(232,-256,370,934),9131=>array(8,-261,370,928),9132=>array(232,-247,594,934),9133=>array(8,-240,370,934),9134=>array(237,-250,362,940),9166=>array(2,67,570,567),9167=>array(3,0,599,596),9251=>array(54,-232,548,101),9600=>array(-10,260,612,770),9601=>array(-10,-250,612,-123),9602=>array(-10,-250,612,5),9603=>array(-10,-250,612,132),9604=>array(-10,-250,612,260),9605=>array(-10,-250,612,387),9606=>array(-10,-250,612,515),9607=>array(-10,-250,612,642),9608=>array(-10,-250,612,770),9609=>array(-10,-250,534,770),9610=>array(-10,-250,457,770),9611=>array(-10,-250,379,770),9612=>array(-10,-250,301,770),9613=>array(-10,-250,223,770),9614=>array(-10,-250,146,770),9615=>array(-10,-250,68,770),9616=>array(301,-250,612,770),9617=>array(-10,-250,534,770),9618=>array(-10,-250,612,770),9619=>array(-10,-250,612,770),9620=>array(-10,642,612,770),9621=>array(534,-250,611,770),9622=>array(-10,-250,301,260),9623=>array(301,-250,612,260),9624=>array(-10,260,301,770),9625=>array(-10,-250,612,770),9626=>array(-10,-250,612,770),9627=>array(-10,-250,612,770),9628=>array(-10,-250,612,770),9629=>array(301,260,612,770),9630=>array(-10,-250,612,770),9631=>array(-10,-250,612,770),9632=>array(3,-39,599,558),9633=>array(3,-39,599,558),9634=>array(3,-39,599,558),9635=>array(3,-39,599,558),9636=>array(3,-39,599,558),9637=>array(3,-39,599,558),9638=>array(3,-39,599,558),9639=>array(3,-39,599,558),9640=>array(3,-39,599,558),9641=>array(3,-39,599,558),9642=>array(107,66,495,454),9643=>array(107,66,495,454),9644=>array(3,117,599,402),9645=>array(3,117,599,402),9646=>array(158,-39,444,558),9647=>array(158,-39,444,558),9648=>array(3,117,599,402),9649=>array(3,117,599,402),9650=>array(3,-39,599,558),9651=>array(3,-39,599,558),9652=>array(107,66,495,454),9653=>array(107,66,495,454),9654=>array(3,-39,599,558),9655=>array(3,-39,599,558),9656=>array(107,66,495,454),9657=>array(107,66,495,454),9658=>array(3,66,599,454),9659=>array(3,66,599,454),9660=>array(3,-39,599,558),9661=>array(3,-39,599,558),9662=>array(107,66,495,454),9663=>array(107,66,495,454),9664=>array(3,-39,599,558),9665=>array(3,-39,599,558),9666=>array(107,66,495,454),9667=>array(107,66,495,454),9668=>array(3,66,599,454),9669=>array(3,66,599,454),9670=>array(3,-39,599,558),9671=>array(3,-38,599,558),9672=>array(3,-38,599,558),9673=>array(3,-41,599,561),9674=>array(57,-233,545,807),9675=>array(3,-41,599,561),9676=>array(3,-41,599,561),9677=>array(3,-41,599,561),9678=>array(3,-41,599,561),9679=>array(3,-41,599,561),9680=>array(3,-41,599,561),9681=>array(3,-41,599,561),9682=>array(3,-41,599,561),9683=>array(3,-41,599,561),9684=>array(3,-41,599,561),9685=>array(3,-41,599,561),9686=>array(152,-41,450,561),9687=>array(152,-41,450,561),9688=>array(-10,-10,612,770),9689=>array(-10,-250,612,770),9690=>array(-10,260,612,770),9691=>array(-10,-250,612,260),9692=>array(152,260,450,561),9693=>array(152,260,450,561),9694=>array(152,-41,450,260),9695=>array(152,-41,450,260),9696=>array(3,260,599,561),9697=>array(3,-41,599,260),9698=>array(3,-39,599,558),9699=>array(3,-39,599,558),9700=>array(3,-39,599,558),9701=>array(3,-39,599,558),9702=>array(125,195,477,547),9703=>array(3,-39,599,558),9704=>array(3,-39,599,558),9705=>array(3,-39,599,558),9706=>array(3,-39,599,558),9707=>array(3,-39,599,558),9708=>array(3,-39,599,558),9709=>array(3,-39,599,558),9710=>array(3,-39,599,558),9711=>array(-10,-54,612,573),9712=>array(3,-39,599,558),9713=>array(3,-39,599,558),9714=>array(3,-39,599,558),9715=>array(3,-39,599,558),9716=>array(3,-41,599,561),9717=>array(3,-41,599,561),9718=>array(3,-41,599,561),9719=>array(3,-41,599,561),9720=>array(3,-39,599,558),9721=>array(3,-39,599,558),9722=>array(3,-39,599,558),9723=>array(47,6,554,513),9724=>array(47,6,554,513),9725=>array(85,44,516,475),9726=>array(85,44,516,475),9727=>array(3,-39,599,558),9728=>array(17,80,585,649),9729=>array(26,3,576,225),9730=>array(17,3,585,522),9731=>array(43,-3,559,708),9732=>array(14,23,588,681),9733=>array(28,7,574,525),9734=>array(28,10,574,528),9735=>array(98,2,504,729),9736=>array(29,0,573,731),9737=>array(21,3,581,563),9738=>array(7,2,595,639),9739=>array(9,-1,593,677),9740=>array(26,0,576,724),9741=>array(22,1,580,724),9742=>array(10,-0,592,598),9743=>array(4,5,598,598),9744=>array(54,2,548,504),9745=>array(48,-1,554,512),9746=>array(65,2,537,481),9747=>array(98,43,504,658),9748=>array(14,-2,588,651),9749=>array(38,3,564,688),9750=>array(27,3,575,734),9751=>array(23,1,579,728),9752=>array(19,3,583,596),9753=>array(23,203,579,557),9754=>array(23,132,579,560),9755=>array(23,132,579,560),9756=>array(7,138,595,516),9757=>array(68,0,534,724),9758=>array(7,138,595,516),9759=>array(68,-3,534,720),9760=>array(6,-1,596,593),9761=>array(4,-2,598,728),9762=>array(4,1,598,595),9763=>array(17,3,585,523),9764=>array(38,-0,564,671),9765=>array(47,-0,555,730),9766=>array(59,-1,543,731),9767=>array(47,3,555,751),9768=>array(100,-2,502,725),9769=>array(27,0,575,549),9770=>array(15,1,587,644),9771=>array(4,0,598,594),9772=>array(50,-3,552,669),9773=>array(7,2,595,642),9774=>array(13,2,589,578),9775=>array(7,2,595,591),9784=>array(13,82,589,642),9785=>array(16,80,586,650),9786=>array(16,80,586,650),9787=>array(16,80,586,650),9788=>array(16,80,586,650),9789=>array(76,2,526,722),9790=>array(73,3,529,734),9791=>array(92,-78,510,708),9792=>array(71,-49,531,655),9793=>array(71,-49,531,655),9794=>array(10,75,592,648),9795=>array(35,21,567,710),9796=>array(85,21,517,710),9797=>array(33,65,569,666),9798=>array(37,65,565,666),9799=>array(105,21,497,710),9800=>array(12,0,590,641),9801=>array(26,-4,576,596),9802=>array(13,6,589,601),9803=>array(25,24,577,632),9804=>array(30,-1,572,641),9805=>array(23,-136,579,562),9806=>array(42,88,561,614),9807=>array(24,-75,578,597),9808=>array(27,3,575,597),9809=>array(10,1,592,601),9810=>array(43,156,559,460),9811=>array(46,2,556,642),9812=>array(33,2,569,563),9813=>array(42,0,560,560),9814=>array(55,0,547,639),9815=>array(108,-4,494,596),9816=>array(70,3,532,597),9817=>array(76,3,526,551),9818=>array(52,-2,550,518),9819=>array(26,2,576,596),9820=>array(72,2,530,596),9821=>array(110,3,492,597),9822=>array(50,1,552,641),9823=>array(58,2,544,597),9824=>array(63,65,540,664),9825=>array(7,65,595,663),9826=>array(71,65,531,664),9827=>array(24,65,578,664),9828=>array(62,65,540,664),9829=>array(5,65,597,664),9830=>array(71,65,531,664),9831=>array(24,65,578,667),9832=>array(22,3,580,597),9833=>array(181,16,421,708),9834=>array(79,16,523,708),9835=>array(52,-79,550,706),9836=>array(8,61,594,664),9837=>array(158,18,444,710),9838=>array(211,21,391,710),9839=>array(152,21,450,710),9840=>array(47,-1,555,639),9841=>array(22,-8,580,632),9842=>array(23,-2,579,538),9843=>array(29,5,573,527),9844=>array(37,4,565,514),9845=>array(33,5,569,521),9846=>array(18,3,584,549),9847=>array(30,4,572,525),9848=>array(37,0,565,509),9849=>array(22,6,580,543),9850=>array(22,0,580,537),9851=>array(28,-0,574,528),9852=>array(22,3,580,561),9853=>array(27,2,575,550),9854=>array(22,3,580,561),9855=>array(39,4,563,643),9856=>array(29,2,573,546),9857=>array(29,2,573,546),9858=>array(29,2,573,546),9859=>array(29,0,573,544),9860=>array(29,2,573,546),9861=>array(29,-2,573,542),9862=>array(22,0,580,557),9863=>array(22,2,580,559),9864=>array(22,0,580,557),9865=>array(22,-5,580,552),9866=>array(40,3,562,73),9867=>array(40,3,562,73),9872=>array(73,-1,529,591),9873=>array(56,2,546,640),9874=>array(19,-0,583,520),9875=>array(15,0,587,603),9876=>array(63,6,539,553),9877=>array(92,-1,510,740),9878=>array(9,1,593,558),9879=>array(11,3,591,552),9880=>array(36,-1,566,640),9881=>array(15,0,587,603),9882=>array(21,6,582,656),9883=>array(40,5,562,597),9884=>array(21,-1,582,638),9888=>array(17,1,585,520),9889=>array(66,4,536,642),9904=>array(119,0,484,730),9905=>array(108,0,494,594),9985=>array(22,181,580,494),9986=>array(22,170,580,505),9987=>array(28,156,574,462),9988=>array(30,161,572,501),9990=>array(25,35,577,588),9991=>array(18,31,584,598),9992=>array(30,29,572,544),9993=>array(31,56,571,448),9996=>array(158,5,444,614),9997=>array(22,73,580,498),9998=>array(42,64,560,581),9999=>array(19,109,583,346),10000=>array(42,91,560,608),10001=>array(29,146,573,420),10002=>array(18,133,584,388),10003=>array(74,94,528,561),10004=>array(36,56,566,532),10005=>array(63,55,539,531),10006=>array(31,92,540,601),10007=>array(64,-10,538,593),10008=>array(25,-1,577,646),10009=>array(31,2,571,542),10010=>array(42,3,560,503),10011=>array(28,3,574,550),10012=>array(23,0,579,556),10013=>array(76,1,520,640),10014=>array(62,0,541,639),10015=>array(70,2,532,595),10016=>array(23,1,579,558),10017=>array(35,1,567,616),10018=>array(15,-10,587,562),10019=>array(14,-8,588,567),10020=>array(13,-9,589,567),10021=>array(11,-13,591,566),10022=>array(21,-12,581,552),10023=>array(18,-13,584,557),10025=>array(20,-8,583,527),10026=>array(33,-13,569,526),10027=>array(20,-13,583,522),10028=>array(17,-11,585,529),10029=>array(20,-8,583,527),10030=>array(30,-2,572,514),10031=>array(20,-5,583,531),10032=>array(22,8,580,502),10033=>array(26,-1,576,563),10034=>array(42,-0,560,547),10035=>array(23,-1,579,554),10036=>array(18,-8,584,560),10037=>array(13,-11,589,565),10038=>array(24,-14,578,625),10039=>array(15,-16,587,556),10040=>array(13,-11,589,565),10041=>array(18,-17,584,551),10042=>array(23,1,579,557),10043=>array(24,-8,578,613),10044=>array(27,-9,575,606),10045=>array(25,-10,573,609),10046=>array(16,-13,586,592),10047=>array(18,0,584,551),10048=>array(11,1,591,565),10049=>array(11,-9,591,572),10050=>array(18,-16,584,552),10051=>array(24,-9,578,653),10052=>array(16,1,586,667),10053=>array(23,-3,579,587),10054=>array(12,2,590,594),10055=>array(24,-9,578,605),10056=>array(20,-10,582,552),10057=>array(16,-14,586,556),10058=>array(11,-11,591,569),10059=>array(17,-11,585,513),10061=>array(18,-5,584,527),10063=>array(34,-31,568,504),10064=>array(30,0,572,542),10065=>array(27,-35,575,512),10066=>array(23,0,579,555),10070=>array(21,-3,581,557),10072=>array(263,-119,339,701),10073=>array(225,-120,377,700),10074=>array(165,-151,438,677),10075=>array(233,476,369,731),10076=>array(228,471,374,722),10077=>array(125,476,477,731),10078=>array(120,471,482,722),10081=>array(50,-80,552,688),10082=>array(125,-19,478,598),10083=>array(93,-14,509,603),10084=>array(22,51,580,507),10085=>array(56,-2,546,637),10086=>array(32,12,570,567),10087=>array(24,150,578,472),10088=>array(117,-49,485,688),10089=>array(117,-49,485,688),10090=>array(175,-59,427,665),10091=>array(179,-59,423,643),10092=>array(158,-64,444,667),10093=>array(158,-64,444,667),10094=>array(103,-83,500,647),10095=>array(103,-83,500,647),10096=>array(100,-93,502,727),10097=>array(101,-93,501,728),10098=>array(223,-138,379,683),10099=>array(223,-135,379,686),10100=>array(137,-160,465,671),10101=>array(122,-164,480,676),10132=>array(41,148,562,487),10136=>array(57,71,545,561),10137=>array(41,204,562,509),10138=>array(57,94,545,583),10139=>array(22,204,580,485),10140=>array(36,145,566,530),10141=>array(41,214,562,519),10142=>array(22,184,580,510),10143=>array(26,182,576,503),10144=>array(41,201,562,505),10145=>array(41,189,562,494),10146=>array(47,182,555,512),10147=>array(60,205,542,518),10148=>array(60,140,542,592),10149=>array(26,193,576,530),10150=>array(26,193,576,529),10151=>array(164,128,438,609),10152=>array(26,179,576,500),10153=>array(49,177,553,516),10154=>array(49,148,553,487),10155=>array(26,89,576,498),10156=>array(47,104,555,458),10157=>array(61,107,541,538),10158=>array(41,63,561,530),10159=>array(24,163,578,557),10161=>array(20,124,582,524),10162=>array(71,92,531,584),10163=>array(43,163,559,386),10164=>array(57,90,545,579),10165=>array(41,227,562,427),10166=>array(57,63,545,552),10167=>array(38,90,564,616),10168=>array(21,192,582,409),10169=>array(57,85,545,574),10170=>array(26,146,576,490),10171=>array(14,179,588,461),10172=>array(19,218,583,456),10173=>array(18,174,583,493),10174=>array(24,131,578,462),10175=>array(41,148,562,487),10178=>array(32,0,569,627),10181=>array(125,-163,477,769),10182=>array(125,-163,477,769),10208=>array(57,-233,545,807),10214=>array(145,-132,479,760),10215=>array(124,-132,457,760),10216=>array(165,-132,438,759),10217=>array(165,-132,438,759),10731=>array(57,-233,545,807),10746=>array(32,45,569,582),10747=>array(32,45,569,582),10799=>array(58,72,543,556),10858=>array(43,229,559,624),10859=>array(43,0,559,624),11013=>array(41,190,561,494),11014=>array(149,82,453,602),11015=>array(149,82,453,602),11016=>array(68,109,485,526),11017=>array(117,109,534,526),11018=>array(117,109,534,526),11019=>array(68,109,485,526),11020=>array(41,190,561,494),11021=>array(149,82,453,602),11026=>array(3,-39,599,558),11027=>array(3,-39,599,558),11028=>array(3,-39,599,558),11029=>array(3,-39,599,558),11030=>array(3,-39,599,558),11031=>array(3,-39,599,558),11032=>array(3,-39,599,558),11033=>array(3,-39,599,558),11034=>array(3,-39,599,558),11364=>array(65,-208,602,729),11373=>array(47,-14,562,742),11374=>array(42,-208,560,729),11375=>array(16,0,586,729),11376=>array(47,-14,562,742),11381=>array(67,0,535,729),11382=>array(84,0,523,547),11383=>array(32,0,570,552),11385=>array(91,-13,511,759),11386=>array(48,-14,554,560),11388=>array(190,-149,412,421),11389=>array(129,326,473,734),11390=>array(63,-239,575,742),11391=>array(56,-240,567,729),11800=>array(85,-13,491,729),11807=>array(43,0,559,398),11810=>array(206,403,454,760),11811=>array(148,403,396,760),11812=>array(206,-132,454,225),11813=>array(148,-132,396,225),11822=>array(82,0,488,742),42760=>array(134,0,468,693),42761=>array(134,0,468,693),42762=>array(134,0,468,693),42763=>array(134,0,468,693),42764=>array(134,0,468,693),42765=>array(134,0,468,693),42766=>array(134,0,468,693),42767=>array(134,0,468,693),42768=>array(134,0,468,693),42769=>array(134,0,468,693),42770=>array(134,0,468,693),42771=>array(134,0,468,693),42772=>array(134,0,468,693),42773=>array(134,0,468,693),42774=>array(134,0,468,693),42779=>array(159,326,443,736),42780=>array(159,324,443,734),42781=>array(245,326,356,734),42782=>array(245,326,356,734),42783=>array(245,0,356,408),42786=>array(125,0,492,729),42787=>array(160,0,467,547),42788=>array(90,224,514,742),42789=>array(90,42,514,560),42790=>array(67,-208,535,729),42791=>array(84,-207,523,760),42889=>array(219,0,382,519),42890=>array(191,141,411,405),42891=>array(236,235,366,729),42892=>array(238,458,363,729),42893=>array(49,0,550,760),42894=>array(53,-217,549,760),42896=>array(39,-157,574,729),42897=>array(47,-140,563,560),42922=>array(0,0,601,730),63173=>array(48,-14,554,760),64257=>array(6,0,536,760),64258=>array(6,0,536,760),64338=>array(13,-338,597,263),64339=>array(34,-338,612,264),64340=>array(-18,-324,366,293),64341=>array(-16,-311,618,313),64342=>array(13,-338,597,263),64343=>array(34,-338,612,264),64344=>array(-18,-322,437,293),64345=>array(-16,-322,618,313),64346=>array(13,-352,597,263),64347=>array(34,-328,612,264),64348=>array(-18,-326,420,293),64349=>array(-16,-328,618,313),64350=>array(13,-18,597,574),64351=>array(34,-10,612,565),64352=>array(-18,0,366,634),64353=>array(-16,0,618,650),64354=>array(13,-18,597,600),64355=>array(34,-10,612,604),64356=>array(-18,0,435,654),64357=>array(-16,0,618,671),64358=>array(13,-18,597,608),64359=>array(34,-10,612,628),64360=>array(-18,0,428,658),64361=>array(-16,0,618,656),64362=>array(-52,-64,602,766),64363=>array(-87,-47,612,750),64364=>array(-10,0,430,833),64365=>array(-10,0,612,761),64366=>array(-52,-64,602,774),64367=>array(-87,-47,612,754),64368=>array(-10,0,430,823),64369=>array(-10,0,612,751),64370=>array(43,-244,584,444),64371=>array(0,-350,622,339),64372=>array(-10,-313,545,423),64373=>array(-10,-269,623,423),64374=>array(43,-244,584,444),64375=>array(0,-350,622,339),64376=>array(-10,-152,545,423),64377=>array(-10,-133,623,423),64378=>array(43,-244,584,444),64379=>array(0,-350,622,339),64380=>array(-10,-321,545,423),64381=>array(-10,-312,623,423),64382=>array(43,-244,584,444),64383=>array(0,-350,622,339),64384=>array(-10,-308,545,423),64385=>array(-10,-312,623,423),64394=>array(-25,-246,603,627),64395=>array(-78,-244,612,627),64396=>array(-25,-246,591,612),64397=>array(-78,-244,612,626),64398=>array(5,-60,670,803),64399=>array(-71,-60,626,803),64400=>array(-10,0,521,760),64401=>array(-15,0,620,760),64402=>array(5,-60,673,998),64403=>array(-71,-60,631,1000),64404=>array(-10,0,521,962),64405=>array(-15,0,620,962),64414=>array(9,-162,586,336),64415=>array(-42,-242,612,256),64426=>array(-46,-42,602,498),64427=>array(-46,0,654,498),64428=>array(-10,-42,525,498),64429=>array(-19,0,654,498),64488=>array(-18,0,366,293),64489=>array(-16,0,618,313),64508=>array(0,-171,602,432),64509=>array(-39,-172,612,271),64510=>array(-18,-146,431,293),64511=>array(-16,-146,618,313),65136=>array(148,563,453,854),65137=>array(-16,0,618,854),65138=>array(111,552,456,884),65139=>array(339,0,612,197),65140=>array(148,-295,453,-4),65142=>array(148,563,453,729),65143=>array(-16,0,618,729),65144=>array(146,580,456,884),65145=>array(-16,0,618,884),65146=>array(148,-171,453,-4),65147=>array(-16,-171,618,110),65148=>array(124,591,478,869),65149=>array(-16,0,618,869),65150=>array(154,597,448,891),65151=>array(-16,0,618,891),65152=>array(203,13,522,483),65153=>array(109,0,492,963),65154=>array(109,0,612,963),65155=>array(207,0,383,1040),65156=>array(230,0,612,1040),65157=>array(37,-244,572,620),65158=>array(0,-244,612,618),65159=>array(208,-293,384,760),65160=>array(253,-293,612,760),65161=>array(0,-171,602,599),65162=>array(-39,-172,612,433),65163=>array(-18,0,377,625),65164=>array(-16,0,618,625),65165=>array(229,0,372,760),65166=>array(263,0,612,760),65167=>array(13,-171,597,263),65168=>array(34,-171,612,264),65169=>array(-18,-186,366,293),65170=>array(-16,-195,618,313),65171=>array(86,-28,518,551),65172=>array(42,0,612,622),65173=>array(13,-18,597,427),65174=>array(34,-10,612,427),65175=>array(-18,0,431,525),65176=>array(-16,0,618,525),65177=>array(13,-18,597,598),65178=>array(34,-10,612,598),65179=>array(-18,0,430,696),65180=>array(-16,0,618,677),65181=>array(43,-244,584,444),65182=>array(43,-244,622,444),65183=>array(-10,-146,545,423),65184=>array(-10,-146,623,423),65185=>array(43,-244,584,444),65186=>array(43,-244,622,444),65187=>array(-10,0,545,423),65188=>array(-10,0,623,423),65189=>array(43,-244,584,623),65190=>array(43,-244,622,623),65191=>array(-10,0,545,609),65192=>array(-10,0,623,574),65193=>array(113,-19,537,456),65194=>array(113,-19,612,456),65195=>array(113,-19,537,648),65196=>array(113,-19,612,660),65197=>array(-25,-246,565,267),65198=>array(-78,-244,612,269),65199=>array(-25,-246,565,491),65200=>array(-78,-244,612,499),65201=>array(-96,-240,602,366),65202=>array(-129,-240,614,366),65203=>array(-10,-14,602,366),65204=>array(-10,-14,613,366),65205=>array(-96,-240,602,671),65206=>array(-129,-240,614,671),65207=>array(-10,-14,602,671),65208=>array(-10,-14,613,671),65209=>array(-139,-240,594,319),65210=>array(-166,-240,615,319),65211=>array(-16,0,594,319),65212=>array(-16,0,618,319),65213=>array(-139,-240,594,437),65214=>array(-166,-240,615,437),65215=>array(-16,0,594,469),65216=>array(-16,0,618,462),65217=>array(5,0,588,760),65218=>array(0,0,612,760),65219=>array(-23,0,588,760),65220=>array(-18,0,612,760),65221=>array(5,0,588,760),65222=>array(0,0,612,760),65223=>array(-23,0,588,760),65224=>array(-18,0,612,760),65225=>array(35,-244,589,549),65226=>array(41,-244,619,396),65227=>array(-10,0,497,545),65228=>array(-10,0,612,396),65229=>array(35,-244,589,710),65230=>array(41,-244,619,574),65231=>array(-10,0,497,696),65232=>array(-10,0,612,574),65233=>array(-52,-64,602,630),65234=>array(-87,-47,612,578),65235=>array(-10,0,430,681),65236=>array(-10,0,612,598),65237=>array(0,-230,602,696),65238=>array(-9,-240,612,552),65239=>array(-10,0,430,671),65240=>array(-10,0,612,598),65241=>array(4,-46,593,760),65242=>array(-49,-46,621,760),65243=>array(-10,0,521,760),65244=>array(-15,0,620,760),65245=>array(0,-181,568,760),65246=>array(-37,-181,622,760),65247=>array(-10,0,513,760),65248=>array(-10,0,612,760),65249=>array(29,-240,563,357),65250=>array(0,-240,612,330),65251=>array(-15,-23,519,326),65252=>array(-15,-23,612,326),65253=>array(9,-162,586,480),65254=>array(-42,-242,612,382),65255=>array(-18,0,366,525),65256=>array(-16,0,618,525),65257=>array(86,-28,518,358),65258=>array(42,0,612,436),65259=>array(-10,-42,525,498),65260=>array(-10,-263,612,373),65261=>array(37,-244,572,330),65262=>array(0,-244,612,330),65263=>array(0,-171,602,432),65264=>array(-39,-172,612,271),65265=>array(0,-323,602,432),65266=>array(-39,-326,612,271),65267=>array(-18,-176,430,293),65268=>array(-16,-178,618,313),65269=>array(-67,-10,541,890),65270=>array(-72,-10,612,890),65271=>array(-8,-10,541,966),65272=>array(-21,-10,612,966),65273=>array(53,-320,541,760),65274=>array(53,-333,612,760),65275=>array(53,-10,541,760),65276=>array(53,-10,612,760),65533=>array(22,-138,579,927),65535=>array(51,-177,551,705)); +$cw=array(0=>602,32=>602,33=>602,34=>602,35=>602,36=>602,37=>602,38=>602,39=>602,40=>602,41=>602,42=>602,43=>602,44=>602,45=>602,46=>602,47=>602,48=>602,49=>602,50=>602,51=>602,52=>602,53=>602,54=>602,55=>602,56=>602,57=>602,58=>602,59=>602,60=>602,61=>602,62=>602,63=>602,64=>602,65=>602,66=>602,67=>602,68=>602,69=>602,70=>602,71=>602,72=>602,73=>602,74=>602,75=>602,76=>602,77=>602,78=>602,79=>602,80=>602,81=>602,82=>602,83=>602,84=>602,85=>602,86=>602,87=>602,88=>602,89=>602,90=>602,91=>602,92=>602,93=>602,94=>602,95=>602,96=>602,97=>602,98=>602,99=>602,100=>602,101=>602,102=>602,103=>602,104=>602,105=>602,106=>602,107=>602,108=>602,109=>602,110=>602,111=>602,112=>602,113=>602,114=>602,115=>602,116=>602,117=>602,118=>602,119=>602,120=>602,121=>602,122=>602,123=>602,124=>602,125=>602,126=>602,160=>602,161=>602,162=>602,163=>602,164=>602,165=>602,166=>602,167=>602,168=>602,169=>602,170=>602,171=>602,172=>602,173=>602,174=>602,175=>602,176=>602,177=>602,178=>602,179=>602,180=>602,181=>602,182=>602,183=>602,184=>602,185=>602,186=>602,187=>602,188=>602,189=>602,190=>602,191=>602,192=>602,193=>602,194=>602,195=>602,196=>602,197=>602,198=>602,199=>602,200=>602,201=>602,202=>602,203=>602,204=>602,205=>602,206=>602,207=>602,208=>602,209=>602,210=>602,211=>602,212=>602,213=>602,214=>602,215=>602,216=>602,217=>602,218=>602,219=>602,220=>602,221=>602,222=>602,223=>602,224=>602,225=>602,226=>602,227=>602,228=>602,229=>602,230=>602,231=>602,232=>602,233=>602,234=>602,235=>602,236=>602,237=>602,238=>602,239=>602,240=>602,241=>602,242=>602,243=>602,244=>602,245=>602,246=>602,247=>602,248=>602,249=>602,250=>602,251=>602,252=>602,253=>602,254=>602,255=>602,256=>602,257=>602,258=>602,259=>602,260=>602,261=>602,262=>602,263=>602,264=>602,265=>602,266=>602,267=>602,268=>602,269=>602,270=>602,271=>602,272=>602,273=>602,274=>602,275=>602,276=>602,277=>602,278=>602,279=>602,280=>602,281=>602,282=>602,283=>602,284=>602,285=>602,286=>602,287=>602,288=>602,289=>602,290=>602,291=>602,292=>602,293=>602,294=>602,295=>602,296=>602,297=>602,298=>602,299=>602,300=>602,301=>602,302=>602,303=>602,304=>602,305=>602,306=>602,307=>602,308=>602,309=>602,310=>602,311=>602,312=>602,313=>602,314=>602,315=>602,316=>602,317=>602,318=>602,319=>602,320=>602,321=>602,322=>602,323=>602,324=>602,325=>602,326=>602,327=>602,328=>602,329=>602,330=>602,331=>602,332=>602,333=>602,334=>602,335=>602,336=>602,337=>602,338=>602,339=>602,340=>602,341=>602,342=>602,343=>602,344=>602,345=>602,346=>602,347=>602,348=>602,349=>602,350=>602,351=>602,352=>602,353=>602,354=>602,355=>602,356=>602,357=>602,358=>602,359=>602,360=>602,361=>602,362=>602,363=>602,364=>602,365=>602,366=>602,367=>602,368=>602,369=>602,370=>602,371=>602,372=>602,373=>602,374=>602,375=>602,376=>602,377=>602,378=>602,379=>602,380=>602,381=>602,382=>602,383=>602,384=>602,385=>602,386=>602,387=>602,388=>602,389=>602,390=>602,391=>602,392=>602,393=>602,394=>602,395=>602,396=>602,397=>602,398=>602,399=>602,400=>602,401=>602,402=>602,403=>602,404=>602,405=>602,406=>602,407=>602,408=>602,409=>602,410=>602,411=>602,412=>602,413=>602,414=>602,415=>602,416=>602,417=>602,418=>602,419=>602,420=>602,421=>602,422=>602,423=>602,424=>602,425=>602,426=>602,427=>602,428=>602,429=>602,430=>602,431=>602,432=>602,433=>602,434=>602,435=>602,436=>602,437=>602,438=>602,439=>602,440=>602,441=>602,442=>602,443=>602,444=>602,445=>602,446=>602,447=>602,448=>602,449=>602,450=>602,451=>602,461=>602,462=>602,463=>602,464=>602,465=>602,466=>602,467=>602,468=>602,469=>602,470=>602,471=>602,472=>602,473=>602,474=>602,475=>602,476=>602,477=>602,478=>602,479=>602,480=>602,481=>602,482=>602,483=>602,486=>602,487=>602,488=>602,489=>602,490=>602,491=>602,492=>602,493=>602,494=>602,495=>602,496=>602,500=>602,501=>602,502=>602,504=>602,505=>602,508=>602,509=>602,510=>602,511=>602,512=>602,513=>602,514=>602,515=>602,516=>602,517=>602,518=>602,519=>602,520=>602,521=>602,522=>602,523=>602,524=>602,525=>602,526=>602,527=>602,528=>602,529=>602,530=>602,531=>602,532=>602,533=>602,534=>602,535=>602,536=>602,537=>602,538=>602,539=>602,540=>602,541=>602,542=>602,543=>602,544=>602,545=>602,548=>602,549=>602,550=>602,551=>602,552=>602,553=>602,554=>602,555=>602,556=>602,557=>602,558=>602,559=>602,560=>602,561=>602,562=>602,563=>602,564=>602,565=>602,566=>602,567=>602,568=>602,569=>602,570=>602,571=>602,572=>602,573=>602,574=>602,575=>602,576=>602,577=>602,579=>602,580=>602,581=>602,588=>602,589=>602,592=>602,593=>602,594=>602,595=>602,596=>602,597=>602,598=>602,599=>602,600=>602,601=>602,602=>602,603=>602,604=>602,605=>602,606=>602,607=>602,608=>602,609=>602,610=>602,611=>602,612=>602,613=>602,614=>602,615=>602,616=>602,617=>602,618=>602,619=>602,620=>602,621=>602,622=>602,623=>602,624=>602,625=>602,626=>602,627=>602,628=>602,629=>602,630=>602,631=>602,632=>602,633=>602,634=>602,635=>602,636=>602,637=>602,638=>602,639=>602,640=>602,641=>602,642=>602,643=>602,644=>602,645=>602,646=>602,647=>602,648=>602,649=>602,650=>602,651=>602,652=>602,653=>602,654=>602,655=>602,656=>602,657=>602,658=>602,659=>602,660=>602,661=>602,662=>602,663=>602,664=>602,665=>602,666=>602,667=>602,668=>602,669=>602,670=>602,671=>602,672=>602,673=>602,674=>602,675=>602,676=>602,677=>602,678=>602,679=>602,680=>602,681=>602,682=>602,683=>602,684=>602,685=>602,686=>602,687=>602,688=>602,689=>602,690=>602,691=>602,692=>602,693=>602,694=>602,695=>602,696=>602,697=>602,699=>602,700=>602,701=>602,702=>602,703=>602,704=>602,705=>602,710=>602,711=>602,712=>602,713=>602,716=>602,717=>602,718=>602,719=>602,720=>602,721=>602,722=>602,723=>602,726=>602,727=>602,728=>602,729=>602,730=>602,731=>602,732=>602,733=>602,734=>602,736=>602,737=>602,738=>602,739=>602,740=>602,741=>602,742=>602,743=>602,744=>602,745=>602,750=>602,755=>602,768=>602,769=>602,770=>602,771=>602,772=>602,773=>602,774=>602,775=>602,776=>602,777=>602,778=>602,779=>602,780=>602,781=>602,782=>602,783=>602,784=>602,785=>602,786=>602,787=>602,788=>602,789=>602,790=>602,791=>602,792=>602,793=>602,794=>602,795=>602,796=>602,797=>602,798=>602,799=>602,800=>602,801=>602,802=>602,803=>602,804=>602,805=>602,806=>602,807=>602,808=>602,809=>602,810=>602,811=>602,812=>602,813=>602,814=>602,815=>602,816=>602,817=>602,818=>602,819=>602,820=>602,821=>602,822=>602,823=>602,824=>602,825=>602,826=>602,827=>602,828=>602,829=>602,830=>602,831=>602,835=>602,856=>602,865=>602,884=>602,885=>602,890=>602,894=>602,900=>602,901=>602,902=>602,903=>602,904=>602,905=>602,906=>602,908=>602,910=>602,911=>602,912=>602,913=>602,914=>602,915=>602,916=>602,917=>602,918=>602,919=>602,920=>602,921=>602,922=>602,923=>602,924=>602,925=>602,926=>602,927=>602,928=>602,929=>602,931=>602,932=>602,933=>602,934=>602,935=>602,936=>602,937=>602,938=>602,939=>602,940=>602,941=>602,942=>602,943=>602,944=>602,945=>602,946=>602,947=>602,948=>602,949=>602,950=>602,951=>602,952=>602,953=>602,954=>602,955=>602,956=>602,957=>602,958=>602,959=>602,960=>602,961=>602,962=>602,963=>602,964=>602,965=>602,966=>602,967=>602,968=>602,969=>602,970=>602,971=>602,972=>602,973=>602,974=>602,976=>602,977=>602,978=>602,979=>602,980=>602,981=>602,982=>602,983=>602,984=>602,985=>602,986=>602,987=>602,988=>602,989=>602,990=>602,991=>602,992=>602,993=>602,1008=>602,1009=>602,1010=>602,1011=>602,1012=>602,1013=>602,1014=>602,1015=>602,1016=>602,1017=>602,1018=>602,1019=>602,1020=>602,1021=>602,1022=>602,1023=>602,1024=>602,1025=>602,1026=>602,1027=>602,1028=>602,1029=>602,1030=>602,1031=>602,1032=>602,1033=>602,1034=>602,1035=>602,1036=>602,1037=>602,1038=>602,1039=>602,1040=>602,1041=>602,1042=>602,1043=>602,1044=>602,1045=>602,1046=>602,1047=>602,1048=>602,1049=>602,1050=>602,1051=>602,1052=>602,1053=>602,1054=>602,1055=>602,1056=>602,1057=>602,1058=>602,1059=>602,1060=>602,1061=>602,1062=>602,1063=>602,1064=>602,1065=>602,1066=>602,1067=>602,1068=>602,1069=>602,1070=>602,1071=>602,1072=>602,1073=>602,1074=>602,1075=>602,1076=>602,1077=>602,1078=>602,1079=>602,1080=>602,1081=>602,1082=>602,1083=>602,1084=>602,1085=>602,1086=>602,1087=>602,1088=>602,1089=>602,1090=>602,1091=>602,1092=>602,1093=>602,1094=>602,1095=>602,1096=>602,1097=>602,1098=>602,1099=>602,1100=>602,1101=>602,1102=>602,1103=>602,1104=>602,1105=>602,1106=>602,1107=>602,1108=>602,1109=>602,1110=>602,1111=>602,1112=>602,1113=>602,1114=>602,1115=>602,1116=>602,1117=>602,1118=>602,1119=>602,1122=>602,1123=>602,1138=>602,1139=>602,1168=>602,1169=>602,1170=>602,1171=>602,1172=>602,1173=>602,1174=>602,1175=>602,1176=>602,1177=>602,1178=>602,1179=>602,1186=>602,1187=>602,1188=>602,1189=>602,1194=>602,1195=>602,1196=>602,1197=>602,1198=>602,1199=>602,1200=>602,1201=>602,1202=>602,1203=>602,1210=>602,1211=>602,1216=>602,1217=>602,1218=>602,1219=>602,1220=>602,1223=>602,1224=>602,1227=>602,1228=>602,1231=>602,1232=>602,1233=>602,1234=>602,1235=>602,1236=>602,1237=>602,1238=>602,1239=>602,1240=>602,1241=>602,1242=>602,1243=>602,1244=>602,1245=>602,1246=>602,1247=>602,1248=>602,1249=>602,1250=>602,1251=>602,1252=>602,1253=>602,1254=>602,1255=>602,1256=>602,1257=>602,1258=>602,1259=>602,1260=>602,1261=>602,1262=>602,1263=>602,1264=>602,1265=>602,1266=>602,1267=>602,1268=>602,1269=>602,1270=>602,1271=>602,1272=>602,1273=>602,1296=>602,1297=>602,1306=>602,1307=>602,1308=>602,1309=>602,1329=>602,1330=>602,1331=>602,1332=>602,1333=>602,1334=>602,1335=>602,1336=>602,1337=>602,1338=>602,1339=>602,1340=>602,1341=>602,1342=>602,1343=>602,1344=>602,1345=>602,1346=>602,1347=>602,1348=>602,1349=>602,1350=>602,1351=>602,1352=>602,1353=>602,1354=>602,1355=>602,1356=>602,1357=>602,1358=>602,1359=>602,1360=>602,1361=>602,1362=>602,1363=>602,1364=>602,1365=>602,1366=>602,1369=>602,1370=>602,1371=>602,1372=>602,1373=>602,1374=>602,1375=>602,1377=>602,1378=>602,1379=>602,1380=>602,1381=>602,1382=>602,1383=>602,1384=>602,1385=>602,1386=>602,1387=>602,1388=>602,1389=>602,1390=>602,1391=>602,1392=>602,1393=>602,1394=>602,1395=>602,1396=>602,1397=>602,1398=>602,1399=>602,1400=>602,1401=>602,1402=>602,1403=>602,1404=>602,1405=>602,1406=>602,1407=>602,1408=>602,1409=>602,1410=>602,1411=>602,1412=>602,1413=>602,1414=>602,1415=>602,1417=>602,1418=>602,1542=>602,1543=>602,1545=>602,1546=>602,1548=>602,1557=>602,1563=>602,1567=>602,1569=>602,1570=>602,1571=>602,1572=>602,1573=>602,1574=>602,1575=>602,1576=>602,1577=>602,1578=>602,1579=>602,1580=>602,1581=>602,1582=>602,1583=>602,1584=>602,1585=>602,1586=>602,1587=>602,1588=>602,1589=>602,1590=>602,1591=>602,1592=>602,1593=>602,1594=>602,1600=>602,1601=>602,1602=>602,1603=>602,1604=>602,1605=>602,1606=>602,1607=>602,1608=>602,1609=>602,1610=>602,1611=>602,1612=>602,1613=>602,1614=>602,1615=>602,1616=>602,1617=>602,1618=>602,1619=>602,1620=>602,1621=>602,1626=>602,1632=>602,1633=>602,1634=>602,1635=>602,1636=>602,1637=>602,1638=>602,1639=>602,1640=>602,1641=>602,1642=>602,1643=>602,1644=>602,1645=>602,1652=>602,1657=>602,1658=>602,1659=>602,1662=>602,1663=>602,1664=>602,1667=>602,1668=>602,1670=>602,1671=>602,1681=>602,1688=>602,1700=>602,1705=>602,1711=>602,1726=>602,1740=>602,1776=>602,1777=>602,1778=>602,1779=>602,1780=>602,1781=>602,1782=>602,1783=>602,1784=>602,1785=>602,3713=>602,3714=>602,3716=>602,3719=>602,3720=>602,3722=>602,3725=>602,3732=>602,3733=>602,3734=>602,3735=>602,3737=>602,3738=>602,3739=>602,3740=>602,3741=>602,3742=>602,3743=>602,3745=>602,3746=>602,3747=>602,3749=>602,3751=>602,3754=>602,3755=>602,3757=>602,3758=>602,3759=>602,3760=>602,3761=>602,3762=>602,3763=>602,3764=>602,3765=>602,3766=>602,3767=>602,3768=>602,3769=>602,3771=>602,3772=>602,3784=>602,3785=>602,3786=>602,3787=>602,3788=>602,3789=>602,4304=>602,4305=>602,4306=>602,4307=>602,4308=>602,4309=>602,4310=>602,4311=>602,4312=>602,4313=>602,4314=>602,4315=>602,4316=>602,4317=>602,4318=>602,4319=>602,4320=>602,4321=>602,4322=>602,4323=>602,4324=>602,4325=>602,4326=>602,4327=>602,4328=>602,4329=>602,4330=>602,4331=>602,4332=>602,4333=>602,4334=>602,4335=>602,4336=>602,4337=>602,4338=>602,4339=>602,4340=>602,4341=>602,4342=>602,4343=>602,4344=>602,4345=>602,4346=>602,4347=>602,4348=>602,7426=>602,7432=>602,7433=>602,7444=>602,7446=>602,7447=>602,7453=>602,7454=>602,7455=>602,7468=>602,7469=>602,7470=>602,7472=>602,7473=>602,7474=>602,7475=>602,7476=>602,7477=>602,7478=>602,7479=>602,7480=>602,7481=>602,7482=>602,7483=>602,7484=>602,7486=>602,7487=>602,7488=>602,7489=>602,7490=>602,7491=>602,7492=>602,7493=>602,7494=>602,7495=>602,7496=>602,7497=>602,7498=>602,7499=>602,7500=>602,7501=>602,7502=>602,7503=>602,7504=>602,7505=>602,7506=>602,7507=>602,7508=>602,7509=>602,7510=>602,7511=>602,7512=>602,7513=>602,7514=>602,7515=>602,7522=>602,7523=>602,7524=>602,7525=>602,7543=>602,7544=>602,7547=>602,7557=>602,7579=>602,7580=>602,7581=>602,7582=>602,7583=>602,7584=>602,7585=>602,7586=>602,7587=>602,7588=>602,7589=>602,7590=>602,7591=>602,7592=>602,7593=>602,7594=>602,7595=>602,7596=>602,7597=>602,7598=>602,7599=>602,7600=>602,7601=>602,7602=>602,7603=>602,7604=>602,7605=>602,7606=>602,7607=>602,7609=>602,7610=>602,7611=>602,7612=>602,7613=>602,7614=>602,7615=>602,7680=>602,7681=>602,7682=>602,7683=>602,7684=>602,7685=>602,7686=>602,7687=>602,7688=>602,7689=>602,7690=>602,7691=>602,7692=>602,7693=>602,7694=>602,7695=>602,7696=>602,7697=>602,7698=>602,7699=>602,7704=>602,7705=>602,7706=>602,7707=>602,7708=>602,7709=>602,7710=>602,7711=>602,7712=>602,7713=>602,7714=>602,7715=>602,7716=>602,7717=>602,7718=>602,7719=>602,7720=>602,7721=>602,7722=>602,7723=>602,7724=>602,7725=>602,7728=>602,7729=>602,7730=>602,7731=>602,7732=>602,7733=>602,7734=>602,7735=>602,7736=>602,7737=>602,7738=>602,7739=>602,7740=>602,7741=>602,7742=>602,7743=>602,7744=>602,7745=>602,7746=>602,7747=>602,7748=>602,7749=>602,7750=>602,7751=>602,7752=>602,7753=>602,7754=>602,7755=>602,7756=>602,7757=>602,7764=>602,7765=>602,7766=>602,7767=>602,7768=>602,7769=>602,7770=>602,7771=>602,7772=>602,7773=>602,7774=>602,7775=>602,7776=>602,7777=>602,7778=>602,7779=>602,7784=>602,7785=>602,7786=>602,7787=>602,7788=>602,7789=>602,7790=>602,7791=>602,7792=>602,7793=>602,7794=>602,7795=>602,7796=>602,7797=>602,7798=>602,7799=>602,7800=>602,7801=>602,7804=>602,7805=>602,7806=>602,7807=>602,7808=>602,7809=>602,7810=>602,7811=>602,7812=>602,7813=>602,7814=>602,7815=>602,7816=>602,7817=>602,7818=>602,7819=>602,7820=>602,7821=>602,7822=>602,7823=>602,7824=>602,7825=>602,7826=>602,7827=>602,7828=>602,7829=>602,7830=>602,7831=>602,7832=>602,7833=>602,7835=>602,7839=>602,7840=>602,7841=>602,7852=>602,7853=>602,7856=>602,7857=>602,7862=>602,7863=>602,7864=>602,7865=>602,7868=>602,7869=>602,7878=>602,7879=>602,7882=>602,7883=>602,7884=>602,7885=>602,7896=>602,7897=>602,7898=>602,7899=>602,7900=>602,7901=>602,7904=>602,7905=>602,7906=>602,7907=>602,7908=>602,7909=>602,7912=>602,7913=>602,7914=>602,7915=>602,7918=>602,7919=>602,7920=>602,7921=>602,7922=>602,7923=>602,7924=>602,7925=>602,7928=>602,7929=>602,7936=>602,7937=>602,7938=>602,7939=>602,7940=>602,7941=>602,7942=>602,7943=>602,7944=>602,7945=>602,7946=>602,7947=>602,7948=>602,7949=>602,7950=>602,7951=>602,7952=>602,7953=>602,7954=>602,7955=>602,7956=>602,7957=>602,7960=>602,7961=>602,7962=>602,7963=>602,7964=>602,7965=>602,7968=>602,7969=>602,7970=>602,7971=>602,7972=>602,7973=>602,7974=>602,7975=>602,7976=>602,7977=>602,7978=>602,7979=>602,7980=>602,7981=>602,7982=>602,7983=>602,7984=>602,7985=>602,7986=>602,7987=>602,7988=>602,7989=>602,7990=>602,7991=>602,7992=>602,7993=>602,7994=>602,7995=>602,7996=>602,7997=>602,7998=>602,7999=>602,8000=>602,8001=>602,8002=>602,8003=>602,8004=>602,8005=>602,8008=>602,8009=>602,8010=>602,8011=>602,8012=>602,8013=>602,8016=>602,8017=>602,8018=>602,8019=>602,8020=>602,8021=>602,8022=>602,8023=>602,8025=>602,8027=>602,8029=>602,8031=>602,8032=>602,8033=>602,8034=>602,8035=>602,8036=>602,8037=>602,8038=>602,8039=>602,8040=>602,8041=>602,8042=>602,8043=>602,8044=>602,8045=>602,8046=>602,8047=>602,8048=>602,8049=>602,8050=>602,8051=>602,8052=>602,8053=>602,8054=>602,8055=>602,8056=>602,8057=>602,8058=>602,8059=>602,8060=>602,8061=>602,8064=>602,8065=>602,8066=>602,8067=>602,8068=>602,8069=>602,8070=>602,8071=>602,8072=>602,8073=>602,8074=>602,8075=>602,8076=>602,8077=>602,8078=>602,8079=>602,8080=>602,8081=>602,8082=>602,8083=>602,8084=>602,8085=>602,8086=>602,8087=>602,8088=>602,8089=>602,8090=>602,8091=>602,8092=>602,8093=>602,8094=>602,8095=>602,8096=>602,8097=>602,8098=>602,8099=>602,8100=>602,8101=>602,8102=>602,8103=>602,8104=>602,8105=>602,8106=>602,8107=>602,8108=>602,8109=>602,8110=>602,8111=>602,8112=>602,8113=>602,8114=>602,8115=>602,8116=>602,8118=>602,8119=>602,8120=>602,8121=>602,8122=>602,8123=>602,8124=>602,8125=>602,8126=>602,8127=>602,8128=>602,8129=>602,8130=>602,8131=>602,8132=>602,8134=>602,8135=>602,8136=>602,8137=>602,8138=>602,8139=>602,8140=>602,8141=>602,8142=>602,8143=>602,8144=>602,8145=>602,8146=>602,8147=>602,8150=>602,8151=>602,8152=>602,8153=>602,8154=>602,8155=>602,8157=>602,8158=>602,8159=>602,8160=>602,8161=>602,8162=>602,8163=>602,8164=>602,8165=>602,8166=>602,8167=>602,8168=>602,8169=>602,8170=>602,8171=>602,8172=>602,8173=>602,8174=>602,8175=>602,8178=>602,8179=>602,8180=>602,8182=>602,8183=>602,8184=>602,8185=>602,8186=>602,8187=>602,8188=>602,8189=>602,8190=>602,8192=>602,8193=>602,8194=>602,8195=>602,8196=>602,8197=>602,8198=>602,8199=>602,8200=>602,8201=>602,8202=>602,8208=>602,8209=>602,8210=>602,8211=>602,8212=>602,8213=>602,8214=>602,8215=>602,8216=>602,8217=>602,8218=>602,8219=>602,8220=>602,8221=>602,8222=>602,8223=>602,8224=>602,8225=>602,8226=>602,8227=>602,8230=>602,8239=>602,8240=>602,8241=>602,8242=>602,8243=>602,8244=>602,8245=>602,8246=>602,8247=>602,8249=>602,8250=>602,8252=>602,8253=>602,8254=>602,8261=>602,8262=>602,8263=>602,8264=>602,8265=>602,8267=>602,8287=>602,8304=>602,8305=>602,8308=>602,8309=>602,8310=>602,8311=>602,8312=>602,8313=>602,8314=>602,8315=>602,8316=>602,8317=>602,8318=>602,8319=>602,8320=>602,8321=>602,8322=>602,8323=>602,8324=>602,8325=>602,8326=>602,8327=>602,8328=>602,8329=>602,8330=>602,8331=>602,8332=>602,8333=>602,8334=>602,8336=>602,8337=>602,8338=>602,8339=>602,8340=>602,8341=>602,8342=>602,8343=>602,8344=>602,8345=>602,8346=>602,8347=>602,8348=>602,8352=>602,8353=>602,8354=>602,8355=>602,8356=>602,8357=>602,8358=>602,8359=>602,8360=>602,8361=>602,8362=>602,8363=>602,8364=>602,8365=>602,8366=>602,8367=>602,8368=>602,8369=>602,8370=>602,8371=>602,8372=>602,8373=>602,8376=>602,8377=>602,8450=>602,8453=>602,8461=>602,8462=>602,8463=>602,8469=>602,8470=>602,8471=>602,8473=>602,8474=>602,8477=>602,8482=>602,8484=>602,8486=>602,8490=>602,8491=>602,8494=>602,8520=>602,8531=>602,8532=>602,8533=>602,8534=>602,8535=>602,8536=>602,8537=>602,8538=>602,8539=>602,8540=>602,8541=>602,8542=>602,8543=>602,8592=>602,8593=>602,8594=>602,8595=>602,8596=>602,8597=>602,8598=>602,8599=>602,8600=>602,8601=>602,8602=>602,8603=>602,8604=>602,8605=>602,8606=>602,8607=>602,8608=>602,8609=>602,8610=>602,8611=>602,8612=>602,8613=>602,8614=>602,8615=>602,8616=>602,8617=>602,8618=>602,8619=>602,8620=>602,8621=>602,8622=>602,8623=>602,8624=>602,8625=>602,8626=>602,8627=>602,8628=>602,8629=>602,8630=>602,8631=>602,8632=>602,8633=>602,8634=>602,8635=>602,8636=>602,8637=>602,8638=>602,8639=>602,8640=>602,8641=>602,8642=>602,8643=>602,8644=>602,8645=>602,8646=>602,8647=>602,8648=>602,8649=>602,8650=>602,8651=>602,8652=>602,8653=>602,8654=>602,8655=>602,8656=>602,8657=>602,8658=>602,8659=>602,8660=>602,8661=>602,8662=>602,8663=>602,8664=>602,8665=>602,8666=>602,8667=>602,8668=>602,8669=>602,8670=>602,8671=>602,8672=>602,8673=>602,8674=>602,8675=>602,8676=>602,8677=>602,8678=>602,8679=>602,8680=>602,8681=>602,8682=>602,8683=>602,8684=>602,8685=>602,8686=>602,8687=>602,8688=>602,8689=>602,8690=>602,8691=>602,8692=>602,8693=>602,8694=>602,8695=>602,8696=>602,8697=>602,8698=>602,8699=>602,8700=>602,8701=>602,8702=>602,8703=>602,8704=>602,8705=>602,8706=>602,8707=>602,8708=>602,8709=>602,8710=>602,8711=>602,8712=>602,8713=>602,8714=>602,8715=>602,8716=>602,8717=>602,8719=>602,8721=>602,8722=>602,8723=>602,8725=>602,8727=>602,8728=>602,8729=>602,8730=>602,8731=>602,8732=>602,8733=>602,8734=>602,8735=>602,8736=>602,8743=>602,8744=>602,8745=>602,8746=>602,8747=>602,8748=>602,8749=>602,8756=>602,8757=>602,8758=>602,8759=>602,8760=>602,8761=>602,8762=>602,8763=>602,8764=>602,8765=>602,8769=>602,8770=>602,8771=>602,8772=>602,8773=>602,8774=>602,8775=>602,8776=>602,8777=>602,8778=>602,8779=>602,8780=>602,8781=>602,8782=>602,8783=>602,8784=>602,8785=>602,8786=>602,8787=>602,8788=>602,8789=>602,8790=>602,8791=>602,8792=>602,8793=>602,8794=>602,8795=>602,8796=>602,8797=>602,8798=>602,8799=>602,8800=>602,8801=>602,8802=>602,8803=>602,8804=>602,8805=>602,8806=>602,8807=>602,8808=>602,8809=>602,8813=>602,8814=>602,8815=>602,8816=>602,8817=>602,8818=>602,8819=>602,8820=>602,8821=>602,8822=>602,8823=>602,8824=>602,8825=>602,8826=>602,8827=>602,8828=>602,8829=>602,8830=>602,8831=>602,8832=>602,8833=>602,8834=>602,8835=>602,8836=>602,8837=>602,8838=>602,8839=>602,8840=>602,8841=>602,8842=>602,8843=>602,8847=>602,8848=>602,8849=>602,8850=>602,8853=>602,8854=>602,8855=>602,8856=>602,8857=>602,8858=>602,8859=>602,8860=>602,8861=>602,8862=>602,8863=>602,8864=>602,8865=>602,8866=>602,8867=>602,8868=>602,8869=>602,8901=>602,8902=>602,8909=>602,8922=>602,8923=>602,8924=>602,8925=>602,8926=>602,8927=>602,8928=>602,8929=>602,8930=>602,8931=>602,8932=>602,8933=>602,8934=>602,8935=>602,8936=>602,8937=>602,8943=>602,8960=>602,8961=>602,8962=>602,8963=>602,8964=>602,8965=>602,8966=>602,8968=>602,8969=>602,8970=>602,8971=>602,8972=>602,8973=>602,8974=>602,8975=>602,8976=>602,8977=>602,8978=>602,8979=>602,8980=>602,8981=>602,8984=>602,8985=>602,8988=>602,8989=>602,8990=>602,8991=>602,8992=>602,8993=>602,8997=>602,8998=>602,8999=>602,9000=>602,9003=>602,9013=>602,9015=>602,9016=>602,9017=>602,9018=>602,9019=>602,9020=>602,9021=>602,9022=>602,9025=>602,9026=>602,9027=>602,9028=>602,9031=>602,9032=>602,9033=>602,9035=>602,9036=>602,9037=>602,9040=>602,9042=>602,9043=>602,9044=>602,9047=>602,9048=>602,9049=>602,9050=>602,9051=>602,9052=>602,9054=>602,9055=>602,9056=>602,9059=>602,9060=>602,9061=>602,9064=>602,9065=>602,9067=>602,9068=>602,9069=>602,9070=>602,9071=>602,9072=>602,9075=>602,9076=>602,9077=>602,9078=>602,9079=>602,9080=>602,9081=>602,9082=>602,9085=>602,9088=>602,9089=>602,9090=>602,9091=>602,9096=>602,9097=>602,9098=>602,9099=>602,9109=>602,9115=>602,9116=>602,9117=>602,9118=>602,9119=>602,9120=>602,9121=>602,9122=>602,9123=>602,9124=>602,9125=>602,9126=>602,9127=>602,9128=>602,9129=>602,9130=>602,9131=>602,9132=>602,9133=>602,9134=>602,9166=>602,9167=>602,9251=>602,9600=>602,9601=>602,9602=>602,9603=>602,9604=>602,9605=>602,9606=>602,9607=>602,9608=>602,9609=>602,9610=>602,9611=>602,9612=>602,9613=>602,9614=>602,9615=>602,9616=>602,9617=>602,9618=>602,9619=>602,9620=>602,9621=>602,9622=>602,9623=>602,9624=>602,9625=>602,9626=>602,9627=>602,9628=>602,9629=>602,9630=>602,9631=>602,9632=>602,9633=>602,9634=>602,9635=>602,9636=>602,9637=>602,9638=>602,9639=>602,9640=>602,9641=>602,9642=>602,9643=>602,9644=>602,9645=>602,9646=>602,9647=>602,9648=>602,9649=>602,9650=>602,9651=>602,9652=>602,9653=>602,9654=>602,9655=>602,9656=>602,9657=>602,9658=>602,9659=>602,9660=>602,9661=>602,9662=>602,9663=>602,9664=>602,9665=>602,9666=>602,9667=>602,9668=>602,9669=>602,9670=>602,9671=>602,9672=>602,9673=>602,9674=>602,9675=>602,9676=>602,9677=>602,9678=>602,9679=>602,9680=>602,9681=>602,9682=>602,9683=>602,9684=>602,9685=>602,9686=>602,9687=>602,9688=>602,9689=>602,9690=>602,9691=>602,9692=>602,9693=>602,9694=>602,9695=>602,9696=>602,9697=>602,9698=>602,9699=>602,9700=>602,9701=>602,9702=>602,9703=>602,9704=>602,9705=>602,9706=>602,9707=>602,9708=>602,9709=>602,9710=>602,9711=>602,9712=>602,9713=>602,9714=>602,9715=>602,9716=>602,9717=>602,9718=>602,9719=>602,9720=>602,9721=>602,9722=>602,9723=>602,9724=>602,9725=>602,9726=>602,9727=>602,9728=>602,9729=>602,9730=>602,9731=>602,9732=>602,9733=>602,9734=>602,9735=>602,9736=>602,9737=>602,9738=>602,9739=>602,9740=>602,9741=>602,9742=>602,9743=>602,9744=>602,9745=>602,9746=>602,9747=>602,9748=>602,9749=>602,9750=>602,9751=>602,9752=>602,9753=>602,9754=>602,9755=>602,9756=>602,9757=>602,9758=>602,9759=>602,9760=>602,9761=>602,9762=>602,9763=>602,9764=>602,9765=>602,9766=>602,9767=>602,9768=>602,9769=>602,9770=>602,9771=>602,9772=>602,9773=>602,9774=>602,9775=>602,9784=>602,9785=>602,9786=>602,9787=>602,9788=>602,9789=>602,9790=>602,9791=>602,9792=>602,9793=>602,9794=>602,9795=>602,9796=>602,9797=>602,9798=>602,9799=>602,9800=>602,9801=>602,9802=>602,9803=>602,9804=>602,9805=>602,9806=>602,9807=>602,9808=>602,9809=>602,9810=>602,9811=>602,9812=>602,9813=>602,9814=>602,9815=>602,9816=>602,9817=>602,9818=>602,9819=>602,9820=>602,9821=>602,9822=>602,9823=>602,9824=>602,9825=>602,9826=>602,9827=>602,9828=>602,9829=>602,9830=>602,9831=>602,9832=>602,9833=>602,9834=>602,9835=>602,9836=>602,9837=>602,9838=>602,9839=>602,9840=>602,9841=>602,9842=>602,9843=>602,9844=>602,9845=>602,9846=>602,9847=>602,9848=>602,9849=>602,9850=>602,9851=>602,9852=>602,9853=>602,9854=>602,9855=>602,9856=>602,9857=>602,9858=>602,9859=>602,9860=>602,9861=>602,9862=>602,9863=>602,9864=>602,9865=>602,9866=>602,9867=>602,9872=>602,9873=>602,9874=>602,9875=>602,9876=>602,9877=>602,9878=>602,9879=>602,9880=>602,9881=>602,9882=>602,9883=>602,9884=>602,9888=>602,9889=>602,9904=>602,9905=>602,9985=>602,9986=>602,9987=>602,9988=>602,9990=>602,9991=>602,9992=>602,9993=>602,9996=>602,9997=>602,9998=>602,9999=>602,10000=>602,10001=>602,10002=>602,10003=>602,10004=>602,10005=>602,10006=>602,10007=>602,10008=>602,10009=>602,10010=>602,10011=>602,10012=>602,10013=>602,10014=>602,10015=>602,10016=>602,10017=>602,10018=>602,10019=>602,10020=>602,10021=>602,10022=>602,10023=>602,10025=>602,10026=>602,10027=>602,10028=>602,10029=>602,10030=>602,10031=>602,10032=>602,10033=>602,10034=>602,10035=>602,10036=>602,10037=>602,10038=>602,10039=>602,10040=>602,10041=>602,10042=>602,10043=>602,10044=>602,10045=>602,10046=>602,10047=>602,10048=>602,10049=>602,10050=>602,10051=>602,10052=>602,10053=>602,10054=>602,10055=>602,10056=>602,10057=>602,10058=>602,10059=>602,10061=>602,10063=>602,10064=>602,10065=>602,10066=>602,10070=>602,10072=>602,10073=>602,10074=>602,10075=>602,10076=>602,10077=>602,10078=>602,10081=>602,10082=>602,10083=>602,10084=>602,10085=>602,10086=>602,10087=>602,10088=>602,10089=>602,10090=>602,10091=>602,10092=>602,10093=>602,10094=>602,10095=>602,10096=>602,10097=>602,10098=>602,10099=>602,10100=>602,10101=>602,10132=>602,10136=>602,10137=>602,10138=>602,10139=>602,10140=>602,10141=>602,10142=>602,10143=>602,10144=>602,10145=>602,10146=>602,10147=>602,10148=>602,10149=>602,10150=>602,10151=>602,10152=>602,10153=>602,10154=>602,10155=>602,10156=>602,10157=>602,10158=>602,10159=>602,10161=>602,10162=>602,10163=>602,10164=>602,10165=>602,10166=>602,10167=>602,10168=>602,10169=>602,10170=>602,10171=>602,10172=>602,10173=>602,10174=>602,10175=>602,10178=>602,10181=>602,10182=>602,10208=>602,10214=>602,10215=>602,10216=>602,10217=>602,10731=>602,10746=>602,10747=>602,10799=>602,10858=>602,10859=>602,11013=>602,11014=>602,11015=>602,11016=>602,11017=>602,11018=>602,11019=>602,11020=>602,11021=>602,11026=>602,11027=>602,11028=>602,11029=>602,11030=>602,11031=>602,11032=>602,11033=>602,11034=>602,11364=>602,11373=>602,11374=>602,11375=>602,11376=>602,11381=>602,11382=>602,11383=>602,11385=>602,11386=>602,11388=>602,11389=>602,11390=>602,11391=>602,11800=>602,11807=>602,11810=>602,11811=>602,11812=>602,11813=>602,11822=>602,42760=>602,42761=>602,42762=>602,42763=>602,42764=>602,42765=>602,42766=>602,42767=>602,42768=>602,42769=>602,42770=>602,42771=>602,42772=>602,42773=>602,42774=>602,42779=>602,42780=>602,42781=>602,42782=>602,42783=>602,42786=>602,42787=>602,42788=>602,42789=>602,42790=>602,42791=>602,42889=>602,42890=>602,42891=>602,42892=>602,42893=>602,42894=>602,42896=>602,42897=>602,42922=>602,63173=>602,64257=>602,64258=>602,64338=>602,64339=>602,64340=>602,64341=>602,64342=>602,64343=>602,64344=>602,64345=>602,64346=>602,64347=>602,64348=>602,64349=>602,64350=>602,64351=>602,64352=>602,64353=>602,64354=>602,64355=>602,64356=>602,64357=>602,64358=>602,64359=>602,64360=>602,64361=>602,64362=>602,64363=>602,64364=>602,64365=>602,64366=>602,64367=>602,64368=>602,64369=>602,64370=>602,64371=>602,64372=>602,64373=>602,64374=>602,64375=>602,64376=>602,64377=>602,64378=>602,64379=>602,64380=>602,64381=>602,64382=>602,64383=>602,64384=>602,64385=>602,64394=>602,64395=>602,64396=>602,64397=>602,64398=>602,64399=>602,64400=>602,64401=>602,64402=>602,64403=>602,64404=>602,64405=>602,64414=>602,64415=>602,64426=>602,64427=>602,64428=>602,64429=>602,64488=>602,64489=>602,64508=>602,64509=>602,64510=>602,64511=>602,65136=>602,65137=>602,65138=>602,65139=>602,65140=>602,65142=>602,65143=>602,65144=>602,65145=>602,65146=>602,65147=>602,65148=>602,65149=>602,65150=>602,65151=>602,65152=>602,65153=>602,65154=>602,65155=>602,65156=>602,65157=>602,65158=>602,65159=>602,65160=>602,65161=>602,65162=>602,65163=>602,65164=>602,65165=>602,65166=>602,65167=>602,65168=>602,65169=>602,65170=>602,65171=>602,65172=>602,65173=>602,65174=>602,65175=>602,65176=>602,65177=>602,65178=>602,65179=>602,65180=>602,65181=>602,65182=>602,65183=>602,65184=>602,65185=>602,65186=>602,65187=>602,65188=>602,65189=>602,65190=>602,65191=>602,65192=>602,65193=>602,65194=>602,65195=>602,65196=>602,65197=>602,65198=>602,65199=>602,65200=>602,65201=>602,65202=>602,65203=>602,65204=>602,65205=>602,65206=>602,65207=>602,65208=>602,65209=>602,65210=>602,65211=>602,65212=>602,65213=>602,65214=>602,65215=>602,65216=>602,65217=>602,65218=>602,65219=>602,65220=>602,65221=>602,65222=>602,65223=>602,65224=>602,65225=>602,65226=>602,65227=>602,65228=>602,65229=>602,65230=>602,65231=>602,65232=>602,65233=>602,65234=>602,65235=>602,65236=>602,65237=>602,65238=>602,65239=>602,65240=>602,65241=>602,65242=>602,65243=>602,65244=>602,65245=>602,65246=>602,65247=>602,65248=>602,65249=>602,65250=>602,65251=>602,65252=>602,65253=>602,65254=>602,65255=>602,65256=>602,65257=>602,65258=>602,65259=>602,65260=>602,65261=>602,65262=>602,65263=>602,65264=>602,65265=>602,65266=>602,65267=>602,65268=>602,65269=>602,65270=>602,65271=>602,65272=>602,65273=>602,65274=>602,65275=>602,65276=>602,65279=>602,65529=>602,65530=>602,65531=>602,65532=>602,65533=>602,65535=>602); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.z new file mode 100644 index 0000000..ef5638e Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonob.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.ctg.z new file mode 100644 index 0000000..aa6da41 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.php new file mode 100644 index 0000000..3fb89bd --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.php @@ -0,0 +1,16 @@ +97,'FontBBox'=>'[-425 -394 808 1053]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>60,'StemH'=>26,'AvgWidth'=>602,'MaxWidth'=>602,'MissingWidth'=>602); +$cbbox=array(0=>array(51,-177,551,705),33=>array(165,0,437,729),34=>array(113,458,488,729),35=>array(-20,0,619,718),36=>array(19,-147,533,760),37=>array(16,0,595,699),38=>array(-16,-14,593,742),39=>array(238,458,363,729),40=>array(165,-132,527,759),41=>array(55,-132,417,759),42=>array(59,278,541,742),43=>array(32,45,569,582),44=>array(102,-140,365,179),45=>array(119,217,453,359),46=>array(170,0,367,179),47=>array(0,-93,525,729),48=>array(44,-14,558,742),49=>array(21,0,498,729),50=>array(-14,0,554,742),51=>array(-15,-14,547,742),52=>array(9,0,547,729),53=>array(3,-14,562,729),54=>array(47,-16,571,741),55=>array(53,0,598,729),56=>array(31,-14,555,742),57=>array(27,-15,551,742),58=>array(149,0,412,519),59=>array(83,-140,412,519),60=>array(43,53,559,574),61=>array(43,144,559,482),62=>array(43,53,559,574),63=>array(142,0,557,742),64=>array(-7,-156,600,681),65=>array(-55,0,515,729),66=>array(-10,0,575,730),67=>array(64,-14,595,742),68=>array(-4,0,569,729),69=>array(14,0,610,729),70=>array(23,0,619,729),71=>array(50,-14,582,742),72=>array(-4,0,606,729),73=>array(13,0,589,729),74=>array(-10,-14,563,729),75=>array(-9,0,668,729),76=>array(39,0,516,729),77=>array(-28,0,630,729),78=>array(-12,0,613,729),79=>array(30,-14,572,742),80=>array(8,0,591,729),81=>array(30,-137,572,742),82=>array(4,0,569,729),83=>array(2,-14,566,742),84=>array(88,0,629,729),85=>array(22,-14,621,729),86=>array(99,0,647,729),87=>array(20,0,669,729),88=>array(-70,0,656,729),89=>array(71,0,663,729),90=>array(-16,0,630,729),91=>array(109,-132,531,760),92=>array(166,-93,362,729),93=>array(52,-132,473,760),94=>array(28,457,574,729),95=>array(0,-236,602,-143),96=>array(181,616,422,800),97=>array(23,-14,557,560),98=>array(23,-14,569,760),99=>array(73,-14,565,560),100=>array(32,-14,621,760),101=>array(37,-14,564,561),102=>array(113,0,619,760),103=>array(9,-207,581,562),104=>array(29,0,547,760),105=>array(7,0,527,813),106=>array(-31,-207,512,813),107=>array(40,0,634,760),108=>array(114,0,505,760),109=>array(-16,0,589,560),110=>array(29,0,547,560),111=>array(43,-14,559,561),112=>array(-18,-208,571,560),113=>array(33,-208,579,561),114=>array(75,0,599,560),115=>array(44,-14,534,560),116=>array(80,0,571,702),117=>array(52,-14,569,547),118=>array(84,0,601,547),119=>array(44,0,647,547),120=>array(-37,0,599,547),121=>array(-44,-207,614,547),122=>array(24,0,580,547),123=>array(64,-163,591,760),124=>array(245,-236,356,764),125=>array(-15,-163,512,760),126=>array(43,226,559,396),161=>array(165,0,437,729),162=>array(51,-153,538,699),163=>array(-11,0,608,742),164=>array(91,86,546,541),165=>array(-14,0,656,729),166=>array(245,-171,356,699),167=>array(51,-95,517,742),168=>array(203,654,535,774),169=>array(0,61,602,663),170=>array(103,209,513,742),171=>array(38,69,538,517),172=>array(43,177,559,439),173=>array(119,217,453,359),174=>array(0,61,602,663),175=>array(206,668,532,760),176=>array(138,417,463,742),177=>array(43,0,559,627),178=>array(127,326,502,742),179=>array(135,319,508,742),180=>array(278,616,590,800),181=>array(-27,-209,560,547),182=>array(50,-96,581,729),183=>array(199,259,397,437),184=>array(74,-196,311,0),185=>array(141,326,476,734),186=>array(108,209,521,742),187=>array(40,69,541,517),188=>array(15,-132,558,810),189=>array(15,-132,577,810),190=>array(23,-132,558,818),191=>array(44,-13,459,729),192=>array(-55,0,515,927),193=>array(-55,0,558,927),194=>array(-55,0,556,927),195=>array(-55,0,572,928),196=>array(-55,0,554,927),197=>array(-55,0,515,928),198=>array(-73,0,640,729),199=>array(64,-196,595,742),200=>array(14,0,610,927),201=>array(14,0,610,927),202=>array(14,0,610,927),203=>array(14,0,610,927),204=>array(13,0,589,927),205=>array(13,0,589,927),206=>array(13,0,589,927),207=>array(13,0,589,927),208=>array(-8,0,569,729),209=>array(-12,0,613,928),210=>array(30,-14,572,927),211=>array(30,-14,572,927),212=>array(30,-14,572,927),213=>array(30,-14,572,928),214=>array(30,-14,572,927),215=>array(58,72,543,556),216=>array(-69,-31,662,761),217=>array(22,-14,621,927),218=>array(22,-14,621,927),219=>array(22,-14,621,927),220=>array(22,-14,621,927),221=>array(71,0,663,927),222=>array(8,0,569,729),223=>array(14,-14,565,761),224=>array(23,-14,557,800),225=>array(23,-14,605,800),226=>array(23,-14,557,800),227=>array(23,-14,566,778),228=>array(23,-14,557,774),229=>array(23,-14,557,888),230=>array(-15,-14,601,560),231=>array(73,-196,565,560),232=>array(37,-14,564,800),233=>array(37,-14,590,800),234=>array(37,-14,564,800),235=>array(37,-14,564,774),236=>array(7,0,527,800),237=>array(7,0,568,800),238=>array(7,0,527,800),239=>array(7,0,527,774),240=>array(40,-14,589,760),241=>array(29,0,551,778),242=>array(43,-14,559,800),243=>array(43,-14,590,800),244=>array(43,-14,559,800),245=>array(43,-14,559,778),246=>array(43,-14,559,774),247=>array(32,42,569,585),248=>array(-40,-57,640,603),249=>array(52,-14,569,800),250=>array(52,-14,590,800),251=>array(52,-14,569,800),252=>array(52,-14,569,774),253=>array(-44,-207,614,800),254=>array(-18,-208,571,760),255=>array(-44,-207,614,774),256=>array(-55,0,562,913),257=>array(23,-14,557,760),258=>array(-55,0,575,927),259=>array(23,-14,557,784),260=>array(-55,-196,515,729),261=>array(23,-196,557,560),262=>array(64,-14,627,927),263=>array(73,-14,632,800),264=>array(64,-14,625,927),265=>array(73,-14,576,800),266=>array(64,-14,595,927),267=>array(73,-14,565,774),268=>array(64,-14,650,927),269=>array(73,-14,613,800),270=>array(-4,0,592,927),271=>array(32,-14,808,760),272=>array(-8,0,569,729),273=>array(32,-14,681,760),274=>array(14,0,610,913),275=>array(37,-14,564,760),276=>array(14,0,610,927),277=>array(37,-14,566,784),278=>array(14,0,610,927),279=>array(37,-14,564,774),280=>array(14,-196,610,729),281=>array(37,-196,564,561),282=>array(14,0,610,927),283=>array(37,-14,603,800),284=>array(50,-14,621,927),285=>array(9,-207,581,800),286=>array(50,-14,599,927),287=>array(9,-207,581,784),288=>array(50,-14,582,927),289=>array(9,-207,581,774),290=>array(50,-241,582,742),291=>array(9,-207,581,771),292=>array(-4,0,606,927),293=>array(29,0,547,927),294=>array(-4,0,650,729),295=>array(10,0,527,760),296=>array(13,0,589,928),297=>array(7,0,529,778),298=>array(13,0,589,913),299=>array(7,0,532,760),300=>array(13,0,589,927),301=>array(7,0,547,784),302=>array(32,-196,608,729),303=>array(10,-196,530,813),304=>array(13,0,589,927),305=>array(7,0,527,547),306=>array(8,-16,718,729),307=>array(5,-193,710,827),308=>array(-10,-14,599,927),309=>array(-31,-207,516,800),310=>array(-9,-227,668,729),311=>array(40,-227,634,760),312=>array(32,0,626,547),313=>array(39,0,556,928),314=>array(114,0,556,928),315=>array(39,-227,516,729),316=>array(104,-224,505,760),317=>array(39,0,600,729),318=>array(114,0,641,760),319=>array(39,0,604,729),320=>array(114,0,678,760),321=>array(-34,0,516,729),322=>array(18,0,580,760),323=>array(-12,0,613,928),324=>array(29,0,587,804),325=>array(-12,-227,613,729),326=>array(29,-227,547,560),327=>array(-12,0,618,927),328=>array(29,0,581,800),329=>array(-84,0,625,760),330=>array(-0,-208,587,743),331=>array(50,-207,565,560),332=>array(30,-14,572,913),333=>array(43,-14,559,760),334=>array(30,-14,575,927),335=>array(43,-14,559,784),336=>array(30,-14,658,927),337=>array(43,-14,619,800),338=>array(15,0,660,729),339=>array(-10,-14,616,560),340=>array(4,0,569,928),341=>array(75,0,670,804),342=>array(4,-227,569,729),343=>array(16,-227,599,560),344=>array(4,0,583,927),345=>array(75,0,613,800),346=>array(2,-14,566,928),347=>array(44,-14,587,804),348=>array(2,-14,569,927),349=>array(44,-14,534,800),350=>array(2,-196,566,742),351=>array(44,-196,534,560),352=>array(2,-14,579,927),353=>array(44,-14,571,800),354=>array(74,-196,629,729),355=>array(80,-196,571,702),356=>array(88,0,629,927),357=>array(80,0,681,813),358=>array(88,0,629,729),359=>array(71,0,562,702),360=>array(22,-14,621,928),361=>array(52,-14,569,778),362=>array(22,-14,621,913),363=>array(52,-14,569,760),364=>array(22,-14,621,927),365=>array(52,-14,569,784),366=>array(22,-14,621,1053),367=>array(52,-14,569,891),368=>array(22,-14,658,927),369=>array(52,-14,619,800),370=>array(22,-204,621,729),371=>array(52,-196,569,547),372=>array(20,0,669,931),373=>array(44,0,647,804),374=>array(71,0,663,931),375=>array(-44,-207,614,804),376=>array(71,0,663,927),377=>array(-16,0,630,928),378=>array(24,0,587,804),379=>array(-16,0,630,927),380=>array(24,0,580,774),381=>array(-16,0,630,927),382=>array(24,0,580,800),383=>array(113,0,619,760),384=>array(23,-14,569,760),385=>array(17,0,607,730),386=>array(8,0,604,729),387=>array(0,-14,539,760),388=>array(29,0,555,729),389=>array(22,-14,561,760),390=>array(7,-14,528,742),391=>array(68,-14,704,802),392=>array(63,-14,702,760),393=>array(-8,0,569,729),394=>array(16,0,589,729),395=>array(29,0,637,729),396=>array(54,-14,634,760),397=>array(41,-220,574,560),398=>array(11,0,607,729),399=>array(44,-14,557,742),400=>array(29,-14,583,742),401=>array(-39,-207,641,729),402=>array(-50,-207,652,760),403=>array(12,-14,663,802),404=>array(41,-142,671,729),405=>array(-68,-1,611,760),406=>array(130,0,589,729),407=>array(13,0,589,729),408=>array(-62,0,649,729),409=>array(11,0,606,760),410=>array(86,0,482,760),411=>array(-35,0,489,760),412=>array(4,-13,636,729),413=>array(-77,-208,679,729),414=>array(49,-208,558,560),415=>array(30,-14,557,742),416=>array(-13,-14,661,759),417=>array(-0,-14,607,570),418=>array(-2,-14,659,742),419=>array(27,-208,675,560),420=>array(40,0,619,729),421=>array(-21,-208,558,760),422=>array(5,-116,561,729),423=>array(32,-14,574,742),424=>array(61,-14,544,560),425=>array(-23,0,629,729),426=>array(95,-207,600,760),427=>array(139,-207,630,702),428=>array(40,0,629,730),429=>array(65,0,557,760),430=>array(88,-208,627,729),431=>array(-27,-14,688,759),432=>array(-23,-14,608,570),433=>array(43,0,627,713),434=>array(30,0,538,729),435=>array(72,0,666,729),436=>array(-41,-207,659,547),437=>array(-15,0,631,729),438=>array(23,0,579,547),439=>array(-23,-14,629,729),440=>array(-26,-14,611,729),441=>array(22,-215,610,547),442=>array(-11,-208,585,547),443=>array(-16,0,551,742),444=>array(-23,-14,615,729),445=>array(-14,-215,573,547),446=>array(27,-15,514,702),447=>array(-18,-208,594,560),448=>array(165,0,438,729),449=>array(53,0,549,729),450=>array(8,0,604,729),451=>array(165,0,437,729),461=>array(-55,0,579,927),462=>array(23,-14,571,800),463=>array(13,0,589,927),464=>array(7,0,571,800),465=>array(30,-14,579,927),466=>array(43,-14,571,800),467=>array(22,-14,621,927),468=>array(52,-14,578,800),469=>array(22,-14,621,985),470=>array(52,-14,569,914),471=>array(22,-14,621,1007),472=>array(52,-14,648,1002),473=>array(22,-14,621,1008),474=>array(52,-14,626,1002),475=>array(22,-14,621,1008),476=>array(52,-14,569,1002),477=>array(41,-14,560,560),478=>array(-55,0,578,985),479=>array(23,-14,557,914),480=>array(-55,0,578,985),481=>array(23,-14,557,914),482=>array(-73,0,640,913),483=>array(-15,-14,601,760),486=>array(50,-14,646,927),487=>array(9,-207,581,800),488=>array(-9,0,668,927),489=>array(40,0,634,927),490=>array(30,-204,572,742),491=>array(43,-204,559,561),492=>array(30,-204,572,913),493=>array(43,-204,559,760),494=>array(-23,-14,629,927),495=>array(-14,-215,577,800),500=>array(50,-14,624,927),501=>array(9,-207,590,800),502=>array(-58,-14,608,729),504=>array(-12,0,613,927),505=>array(29,0,547,801),508=>array(-73,0,660,927),509=>array(-15,-14,601,800),510=>array(-69,-31,662,927),511=>array(-40,-57,640,800),512=>array(-55,0,558,927),513=>array(23,-14,557,800),514=>array(-55,0,550,927),515=>array(23,-14,557,784),516=>array(14,0,610,927),517=>array(37,-14,564,800),518=>array(14,0,610,927),519=>array(37,-14,564,784),520=>array(13,0,589,927),521=>array(7,0,527,800),522=>array(13,0,589,927),523=>array(7,0,527,784),524=>array(30,-14,572,927),525=>array(43,-14,559,800),526=>array(30,-14,572,927),527=>array(43,-14,559,784),528=>array(4,0,569,927),529=>array(75,0,599,800),530=>array(4,0,569,927),531=>array(75,0,599,784),532=>array(22,-14,621,927),533=>array(52,-14,569,800),534=>array(22,-14,621,927),535=>array(52,-14,569,784),536=>array(2,-246,566,742),537=>array(44,-246,534,560),538=>array(66,-246,629,729),539=>array(80,-246,571,702),540=>array(-18,-210,677,742),541=>array(9,-211,620,560),542=>array(-4,0,606,927),543=>array(29,0,556,927),545=>array(-10,-68,564,760),548=>array(5,-207,651,729),549=>array(46,-207,602,547),550=>array(-55,0,515,927),551=>array(23,-14,557,774),552=>array(14,-196,610,729),553=>array(37,-196,564,561),554=>array(30,-14,578,985),555=>array(43,-14,559,914),556=>array(30,-14,578,985),557=>array(43,-14,559,914),558=>array(30,-14,572,927),559=>array(43,-14,559,774),560=>array(30,-14,578,985),561=>array(43,-14,559,914),562=>array(71,0,663,913),563=>array(-44,-207,614,760),564=>array(83,-68,544,760),565=>array(-30,-68,569,560),566=>array(77,-68,569,702),567=>array(-31,-207,460,547),568=>array(-13,-14,576,760),569=>array(26,-214,615,560),570=>array(-69,-31,663,761),571=>array(-69,-31,663,761),572=>array(-41,-57,640,603),573=>array(-6,0,542,729),574=>array(-61,-31,671,761),575=>array(65,-240,556,560),576=>array(49,-240,604,547),577=>array(44,0,612,729),579=>array(-39,0,575,730),580=>array(-8,-14,621,729),581=>array(-45,0,503,729),588=>array(-4,0,569,729),589=>array(68,0,599,560),592=>array(46,-14,568,560),593=>array(59,-14,597,560),594=>array(5,-14,543,560),595=>array(-14,-14,524,759),596=>array(35,-14,519,561),597=>array(84,-69,568,561),598=>array(32,-162,569,760),599=>array(15,-14,614,759),600=>array(18,-14,559,560),601=>array(41,-14,560,560),602=>array(-18,-14,604,560),603=>array(22,-11,581,560),604=>array(-0,-11,559,560),605=>array(-27,-11,584,560),606=>array(53,-21,575,559),607=>array(-4,-207,541,547),608=>array(-26,-208,688,760),609=>array(48,-208,615,547),610=>array(75,0,556,546),611=>array(35,-203,628,554),612=>array(102,-59,613,547),613=>array(86,-214,595,546),614=>array(7,0,516,759),615=>array(28,-208,536,759),616=>array(-22,0,499,760),617=>array(102,-1,500,547),618=>array(-1,0,604,547),619=>array(13,-1,562,759),620=>array(53,0,497,760),621=>array(129,-217,472,760),622=>array(86,-215,609,760),623=>array(21,-13,618,547),624=>array(40,-208,637,547),625=>array(4,-208,602,560),626=>array(-44,-216,603,560),627=>array(-0,-216,519,560),628=>array(5,0,597,547),629=>array(48,-14,554,560),630=>array(37,-1,613,547),631=>array(31,0,564,574),632=>array(-10,-208,612,762),633=>array(42,-13,565,547),634=>array(21,-13,586,759),635=>array(7,-208,531,547),636=>array(16,-208,580,560),637=>array(60,-208,580,560),638=>array(13,0,589,547),639=>array(13,0,504,547),640=>array(-2,0,501,547),641=>array(-21,0,624,547),642=>array(61,-208,551,560),643=>array(-50,-207,652,760),644=>array(-50,-207,652,760),645=>array(117,-207,485,760),646=>array(-38,-207,652,760),647=>array(28,-155,520,547),648=>array(103,-208,595,702),649=>array(33,-14,578,547),650=>array(42,-51,619,547),651=>array(73,-1,564,547),652=>array(-14,0,510,547),653=>array(-53,0,554,547),654=>array(-45,0,614,754),655=>array(86,0,622,547),656=>array(-11,-208,545,547),657=>array(10,-55,565,547),658=>array(-14,-215,577,547),659=>array(6,-215,582,547),660=>array(94,0,542,759),661=>array(102,0,588,759),662=>array(14,0,500,759),663=>array(40,-208,608,759),664=>array(26,-28,575,582),665=>array(5,0,545,547),666=>array(27,-21,549,559),667=>array(9,0,646,759),668=>array(5,0,597,547),669=>array(-26,-208,574,813),670=>array(29,-208,625,547),671=>array(62,0,462,547),672=>array(34,-208,632,759),673=>array(15,0,552,759),674=>array(92,0,579,759),675=>array(-5,-14,611,760),676=>array(1,-219,617,756),677=>array(-13,-55,604,760),678=>array(50,-14,584,702),679=>array(98,-207,629,760),680=>array(63,-69,597,702),681=>array(62,-207,587,760),682=>array(77,-14,585,760),683=>array(73,-2,612,760),684=>array(25,0,637,641),685=>array(85,86,517,641),686=>array(100,-214,628,759),687=>array(110,-208,529,759),688=>array(119,326,439,752),689=>array(119,326,439,751),690=>array(135,177,467,748),691=>array(136,326,463,640),692=>array(139,319,466,633),693=>array(115,209,443,632),694=>array(99,326,503,633),695=>array(138,326,524,633),696=>array(107,211,517,633),697=>array(220,557,408,800),699=>array(205,441,468,760),700=>array(180,441,443,760),701=>array(235,595,393,844),702=>array(293,481,460,760),703=>array(264,481,431,760),704=>array(174,326,454,751),705=>array(171,326,480,751),710=>array(164,616,534,800),711=>array(202,616,571,800),712=>array(228,488,374,759),713=>array(206,668,532,760),716=>array(228,-81,374,190),717=>array(38,-198,364,-106),718=>array(229,-285,470,-102),719=>array(230,-285,542,-102),720=>array(147,0,455,547),721=>array(218,361,419,547),722=>array(252,269,418,547),723=>array(223,269,390,547),726=>array(139,119,463,427),727=>array(183,229,419,317),728=>array(218,639,547,784),729=>array(290,654,447,774),730=>array(226,610,504,888),731=>array(125,-196,335,0),732=>array(184,638,551,778),733=>array(182,616,619,800),734=>array(-165,213,440,524),736=>array(135,216,504,640),737=>array(173,326,429,752),738=>array(140,319,445,640),739=>array(96,326,496,633),740=>array(172,326,479,751),741=>array(183,0,536,693),742=>array(154,0,536,693),743=>array(125,0,536,693),744=>array(96,0,536,693),745=>array(66,0,536,693),750=>array(72,441,589,760),755=>array(94,-245,313,-31),768=>array(181,616,422,800),769=>array(278,616,590,800),770=>array(164,616,534,800),771=>array(184,638,551,778),772=>array(206,668,532,760),773=>array(0,663,602,755),774=>array(218,639,547,784),775=>array(290,654,447,774),776=>array(203,654,535,774),777=>array(196,616,419,849),778=>array(226,610,504,888),779=>array(182,616,619,800),780=>array(202,616,571,800),781=>array(233,616,369,833),782=>array(94,616,508,833),783=>array(154,616,503,800),784=>array(218,639,547,879),785=>array(190,639,521,784),786=>array(212,441,422,590),787=>array(209,595,393,844),788=>array(235,595,393,844),789=>array(278,616,500,800),790=>array(247,-290,488,-106),791=>array(212,-290,524,-106),792=>array(151,-394,369,-123),793=>array(179,-394,397,-123),794=>array(174,658,463,929),795=>array(193,361,409,570),796=>array(147,-245,278,-31),797=>array(122,-305,412,-123),798=>array(89,-394,378,-212),799=>array(110,-394,399,-123),800=>array(156,-215,446,-123),801=>array(245,-207,551,82),802=>array(98,-208,325,81),803=>array(119,-226,277,-105),804=>array(32,-226,364,-105),805=>array(94,-245,313,-31),806=>array(66,-246,276,-97),807=>array(74,-196,311,0),808=>array(104,-196,314,0),809=>array(233,-323,369,-106),810=>array(129,-289,473,-106),811=>array(112,-239,515,-94),812=>array(36,-237,404,-53),813=>array(0,-237,368,-53),814=>array(48,-240,377,-95),815=>array(20,-239,351,-94),816=>array(14,-238,381,-98),817=>array(38,-198,364,-106),818=>array(0,-236,602,-143),819=>array(0,-236,602,-9),820=>array(26,226,576,396),821=>array(84,214,481,309),822=>array(-9,214,611,309),823=>array(-41,-57,640,603),824=>array(-69,-31,663,761),825=>array(128,-245,259,-31),826=>array(129,-254,473,-71),827=>array(134,-386,468,-106),828=>array(87,-239,490,-94),829=>array(160,582,442,839),830=>array(206,595,396,867),831=>array(0,528,602,755),835=>array(209,595,393,844),856=>array(592,654,749,774),865=>array(-132,735,706,880),884=>array(220,557,408,800),885=>array(194,-208,382,35),890=>array(185,-208,306,-45),894=>array(83,-140,412,519),900=>array(278,616,590,800),901=>array(203,654,645,999),902=>array(-55,0,515,800),903=>array(199,259,397,437),904=>array(-123,0,610,800),905=>array(-142,0,606,800),906=>array(-113,0,589,800),908=>array(-35,-14,572,800),910=>array(-193,0,663,800),911=>array(-25,0,559,800),912=>array(164,0,645,999),913=>array(-55,0,515,729),914=>array(-10,0,575,730),915=>array(89,0,685,729),916=>array(-55,0,515,729),917=>array(14,0,610,729),918=>array(-16,0,630,729),919=>array(-4,0,606,729),920=>array(44,-14,557,742),921=>array(13,0,589,729),922=>array(-9,0,668,729),923=>array(-55,0,515,729),924=>array(-28,0,630,729),925=>array(-12,0,613,729),926=>array(-4,0,606,729),927=>array(30,-14,572,742),928=>array(67,0,677,729),929=>array(8,0,591,729),931=>array(-23,0,629,729),932=>array(88,0,629,729),933=>array(71,0,663,729),934=>array(44,0,557,729),935=>array(-70,0,656,729),936=>array(77,0,634,729),937=>array(-25,0,559,713),938=>array(13,0,589,927),939=>array(71,0,663,927),940=>array(26,-12,615,800),941=>array(49,-11,590,800),942=>array(49,-208,590,800),943=>array(164,0,590,800),944=>array(69,0,645,999),945=>array(26,-12,615,559),946=>array(-31,-208,563,766),947=>array(32,-208,590,547),948=>array(27,-14,561,766),949=>array(49,-11,540,557),950=>array(66,-208,604,760),951=>array(49,-208,558,560),952=>array(47,-12,554,770),953=>array(164,0,446,547),954=>array(32,0,626,547),955=>array(36,0,560,760),956=>array(-27,-209,560,547),957=>array(76,0,573,547),958=>array(55,-208,604,760),959=>array(43,-14,559,561),960=>array(4,-19,602,547),961=>array(-1,-208,577,560),962=>array(101,-208,585,561),963=>array(21,-14,598,547),964=>array(98,0,589,547),965=>array(69,0,580,547),966=>array(35,-208,574,552),967=>array(-30,-208,632,547),968=>array(56,-208,643,547),969=>array(31,-14,577,547),970=>array(164,0,535,774),971=>array(69,0,580,774),972=>array(43,-14,590,800),973=>array(69,0,590,800),974=>array(31,-14,590,800),976=>array(54,-11,542,768),977=>array(46,-11,553,768),978=>array(12,0,568,729),979=>array(-228,0,568,800),980=>array(12,0,568,927),981=>array(27,-208,573,760),982=>array(9,0,627,547),983=>array(3,-188,632,547),984=>array(63,-208,576,742),985=>array(66,-208,573,560),986=>array(44,-222,639,729),987=>array(36,-208,602,547),988=>array(23,0,619,729),989=>array(-83,-208,581,760),990=>array(9,-2,602,729),991=>array(42,0,560,759),992=>array(52,-208,563,742),993=>array(-15,-180,501,559),1008=>array(-17,-3,613,547),1009=>array(39,-213,578,560),1010=>array(73,-14,565,560),1011=>array(-31,-207,512,813),1012=>array(44,-14,557,742),1013=>array(78,-14,562,561),1014=>array(34,-14,518,561),1015=>array(8,0,569,729),1016=>array(-18,-208,571,760),1017=>array(64,-14,595,742),1018=>array(-29,0,631,729),1019=>array(-27,-208,629,498),1020=>array(-42,-208,577,560),1021=>array(7,-14,528,742),1022=>array(64,-14,595,742),1023=>array(7,-14,528,742),1024=>array(14,0,610,927),1025=>array(14,0,610,927),1026=>array(76,-207,631,760),1027=>array(89,0,685,927),1028=>array(61,-14,595,742),1029=>array(2,-14,566,742),1030=>array(13,0,589,729),1031=>array(13,0,589,927),1032=>array(-10,-14,563,729),1033=>array(-78,0,576,729),1034=>array(-61,0,576,729),1035=>array(76,0,631,760),1036=>array(-9,0,668,927),1037=>array(-13,0,614,927),1038=>array(20,0,659,927),1039=>array(11,-157,621,729),1040=>array(-55,0,515,729),1041=>array(8,0,604,729),1042=>array(-10,0,575,730),1043=>array(89,0,685,729),1044=>array(-66,-157,601,729),1045=>array(14,0,610,729),1046=>array(-64,0,667,729),1047=>array(-15,-14,547,742),1048=>array(-13,0,614,729),1049=>array(-13,0,614,927),1050=>array(-9,0,668,729),1051=>array(-68,0,606,729),1052=>array(-28,0,630,729),1053=>array(-4,0,606,729),1054=>array(30,-14,572,742),1055=>array(67,0,677,729),1056=>array(8,0,591,729),1057=>array(64,-14,595,742),1058=>array(88,0,629,729),1059=>array(20,0,659,729),1060=>array(11,0,599,729),1061=>array(-70,0,656,729),1062=>array(-17,-157,593,729),1063=>array(73,0,624,760),1064=>array(-33,0,634,729),1065=>array(-18,-157,649,729),1066=>array(61,0,553,729),1067=>array(-51,0,653,729),1068=>array(-10,0,521,729),1069=>array(7,-14,542,742),1070=>array(-51,-14,599,742),1071=>array(-30,0,637,729),1072=>array(23,-14,557,560),1073=>array(18,-14,565,787),1074=>array(5,0,548,547),1075=>array(55,0,552,547),1076=>array(-36,-140,583,547),1077=>array(37,-14,564,561),1078=>array(-46,0,647,547),1079=>array(25,-11,538,560),1080=>array(21,0,586,547),1081=>array(21,0,586,784),1082=>array(32,0,626,547),1083=>array(-20,0,604,547),1084=>array(-11,0,613,547),1085=>array(31,0,576,547),1086=>array(43,-14,559,561),1087=>array(31,0,576,547),1088=>array(-18,-208,571,560),1089=>array(73,-14,565,560),1090=>array(112,0,576,547),1091=>array(-44,-207,614,547),1092=>array(30,-208,571,760),1093=>array(-37,0,599,547),1094=>array(8,-140,553,547),1095=>array(145,0,624,547),1096=>array(-15,0,617,547),1097=>array(-11,-140,621,547),1098=>array(51,0,552,547),1099=>array(-38,0,640,547),1100=>array(14,0,501,547),1101=>array(34,-14,526,560),1102=>array(0,-14,655,560),1103=>array(-6,0,594,547),1104=>array(37,-14,564,800),1105=>array(37,-14,564,774),1106=>array(40,-207,543,760),1107=>array(55,0,590,800),1108=>array(135,-14,619,561),1109=>array(44,-14,534,560),1110=>array(7,0,527,813),1111=>array(7,0,554,774),1112=>array(-31,-207,512,813),1113=>array(-51,0,583,547),1114=>array(-36,0,583,547),1115=>array(20,0,502,760),1116=>array(32,0,626,800),1117=>array(21,0,586,800),1118=>array(-44,-207,614,784),1119=>array(44,-140,590,547),1122=>array(45,0,546,729),1123=>array(57,0,548,760),1138=>array(30,-14,557,742),1139=>array(48,-14,554,560),1168=>array(89,0,714,878),1169=>array(41,0,566,700),1170=>array(86,0,685,729),1171=>array(35,0,552,547),1172=>array(89,-207,685,729),1173=>array(108,-207,605,547),1174=>array(-64,-157,667,729),1175=>array(-46,-140,647,547),1176=>array(-15,-196,547,742),1177=>array(25,-196,538,560),1178=>array(-9,-193,668,729),1179=>array(85,-158,680,547),1186=>array(18,-193,628,729),1187=>array(14,-158,614,547),1188=>array(-33,0,663,729),1189=>array(-15,0,644,547),1194=>array(64,-196,595,742),1195=>array(73,-196,565,560),1196=>array(161,-193,700,729),1197=>array(167,-158,629,547),1198=>array(71,0,663,729),1199=>array(69,-208,615,547),1200=>array(62,0,665,729),1201=>array(44,-208,615,547),1202=>array(13,-193,725,729),1203=>array(27,-158,666,547),1210=>array(49,0,610,760),1211=>array(29,0,547,760),1216=>array(13,0,589,729),1217=>array(-64,0,667,927),1218=>array(-46,0,647,784),1219=>array(-9,-207,666,729),1220=>array(85,-207,680,547),1223=>array(-4,-207,606,729),1224=>array(84,-207,629,547),1227=>array(146,-193,698,760),1228=>array(145,-158,624,547),1231=>array(136,0,427,760),1232=>array(-55,0,575,927),1233=>array(23,-14,557,784),1234=>array(-55,0,554,927),1235=>array(23,-14,557,774),1236=>array(-73,0,640,729),1237=>array(-15,-14,601,560),1238=>array(14,0,610,927),1239=>array(37,-14,564,784),1240=>array(44,-14,557,742),1241=>array(41,-14,560,560),1242=>array(44,-14,557,927),1243=>array(41,-14,560,774),1244=>array(-64,0,667,927),1245=>array(-46,0,647,774),1246=>array(-15,-14,547,927),1247=>array(25,-11,582,774),1248=>array(-23,-14,629,729),1249=>array(-14,-215,577,547),1250=>array(-13,0,614,913),1251=>array(21,0,586,760),1252=>array(-13,0,614,927),1253=>array(21,0,586,762),1254=>array(30,-14,572,927),1255=>array(43,-14,559,774),1256=>array(44,-14,557,742),1257=>array(48,-14,554,560),1258=>array(44,-14,557,927),1259=>array(48,-14,554,774),1260=>array(7,-14,596,927),1261=>array(34,-14,563,774),1262=>array(20,0,659,913),1263=>array(-44,-207,614,760),1264=>array(20,0,659,927),1265=>array(-44,-207,614,774),1266=>array(20,0,659,927),1267=>array(-44,-207,619,800),1268=>array(73,0,640,927),1269=>array(145,0,624,774),1270=>array(89,-193,685,729),1271=>array(108,-158,605,547),1272=>array(-51,0,653,927),1273=>array(-38,0,640,774),1296=>array(29,-14,583,742),1297=>array(49,-11,540,557),1306=>array(30,-137,572,742),1307=>array(33,-208,579,561),1308=>array(20,0,669,729),1309=>array(44,0,647,547),1329=>array(9,-31,606,729),1330=>array(-24,0,574,743),1331=>array(27,0,577,743),1332=>array(27,0,577,743),1333=>array(20,-14,583,729),1334=>array(-20,0,584,743),1335=>array(-16,0,583,729),1336=>array(-24,0,574,743),1337=>array(-50,-14,593,743),1338=>array(-13,-14,618,729),1339=>array(-19,0,542,729),1340=>array(3,0,480,729),1341=>array(-31,-13,601,729),1342=>array(18,-14,646,742),1343=>array(59,0,585,729),1344=>array(12,-37,605,729),1345=>array(0,-31,583,743),1346=>array(27,0,542,743),1347=>array(-12,0,639,741),1348=>array(-12,-14,657,729),1349=>array(16,-14,584,741),1350=>array(59,-14,574,729),1351=>array(17,-13,568,729),1352=>array(-20,0,578,743),1353=>array(38,-39,589,743),1354=>array(30,0,601,741),1355=>array(-17,0,589,741),1356=>array(-56,0,577,743),1357=>array(24,-14,622,729),1358=>array(23,0,585,729),1359=>array(22,-14,577,742),1360=>array(-20,0,578,743),1361=>array(16,-13,584,741),1362=>array(-16,0,583,729),1363=>array(2,0,602,729),1364=>array(-32,0,608,741),1365=>array(30,-14,572,742),1366=>array(-13,-14,582,729),1369=>array(264,481,431,760),1370=>array(169,411,432,730),1371=>array(115,616,486,800),1372=>array(40,618,562,893),1373=>array(151,616,450,800),1374=>array(7,590,565,906),1375=>array(78,618,507,760),1377=>array(21,-13,617,547),1378=>array(-1,-208,546,560),1379=>array(40,-208,588,560),1380=>array(16,-208,539,560),1381=>array(34,-14,566,760),1382=>array(40,-208,588,560),1383=>array(14,0,546,760),1384=>array(-1,-208,546,560),1385=>array(-48,-208,594,560),1386=>array(3,-14,604,760),1387=>array(-12,-208,536,760),1388=>array(86,-208,390,547),1389=>array(-55,-208,615,760),1390=>array(22,-14,583,760),1391=>array(64,-208,573,760),1392=>array(27,0,545,760),1393=>array(33,-14,513,760),1394=>array(16,-208,524,560),1395=>array(45,-14,583,741),1396=>array(63,-14,677,760),1397=>array(55,-207,547,547),1398=>array(77,-13,585,760),1399=>array(26,-208,559,559),1400=>array(27,0,545,560),1401=>array(54,-208,502,579),1402=>array(40,-208,636,547),1403=>array(36,-208,570,559),1404=>array(2,0,532,560),1405=>array(55,-14,572,547),1406=>array(31,-208,581,760),1407=>array(21,-13,581,560),1408=>array(7,-208,555,560),1409=>array(18,-207,590,562),1410=>array(39,0,478,547),1411=>array(20,-208,580,760),1412=>array(-36,-208,599,560),1413=>array(43,-14,559,561),1414=>array(-10,-208,592,760),1415=>array(-13,-14,528,760),1417=>array(169,0,433,519),1418=>array(137,217,472,359),3713=>array(-6,-10,581,560),3714=>array(26,-39,574,568),3716=>array(38,-10,562,568),3719=>array(48,-238,563,568),3720=>array(42,-0,570,575),3722=>array(39,-238,601,563),3725=>array(35,-14,605,560),3732=>array(23,-14,567,560),3733=>array(-12,-15,601,579),3734=>array(74,-240,601,560),3735=>array(18,-8,593,571),3737=>array(-20,-14,617,568),3738=>array(38,-8,594,561),3739=>array(19,-8,616,760),3740=>array(7,-8,687,648),3741=>array(-3,-8,636,760),3742=>array(10,-8,619,561),3743=>array(-9,-8,641,760),3745=>array(-32,-14,619,547),3746=>array(16,-14,627,760),3747=>array(22,-8,599,568),3749=>array(-3,-8,592,568),3751=>array(11,-13,586,560),3754=>array(-11,-8,698,648),3755=>array(-7,-12,608,575),3757=>array(18,-8,595,568),3758=>array(-3,-8,661,617),3759=>array(31,-126,636,579),3760=>array(69,-6,656,567),3761=>array(190,620,720,896),3762=>array(126,0,622,588),3763=>array(-425,0,622,846),3764=>array(3,622,595,950),3765=>array(-54,633,601,962),3766=>array(2,622,595,950),3767=>array(3,633,657,962),3768=>array(147,-385,395,-55),3769=>array(90,-316,418,-28),3771=>array(-14,610,610,896),3772=>array(-11,-311,609,-48),3784=>array(225,659,376,844),3785=>array(-10,622,627,918),3786=>array(20,619,729,963),3787=>array(125,612,478,917),3788=>array(167,603,787,866),3789=>array(177,639,427,846),4304=>array(30,0,552,567),4305=>array(18,0,538,758),4306=>array(8,-196,544,521),4307=>array(7,-197,624,516),4308=>array(12,-196,589,521),4309=>array(13,-196,587,521),4310=>array(16,0,538,757),4311=>array(3,0,605,516),4312=>array(37,0,563,521),4313=>array(15,-196,580,512),4314=>array(28,-196,585,521),4315=>array(18,0,596,757),4316=>array(16,0,568,745),4317=>array(0,0,601,516),4318=>array(11,0,567,754),4319=>array(11,-196,626,539),4320=>array(-21,0,580,765),4321=>array(17,0,538,741),4322=>array(-18,-197,590,656),4323=>array(35,-197,589,531),4324=>array(28,-196,625,521),4325=>array(-7,-196,646,741),4326=>array(22,-197,621,521),4327=>array(18,-196,622,506),4328=>array(21,0,604,757),4329=>array(-26,0,538,757),4330=>array(10,-196,590,539),4331=>array(17,0,626,741),4332=>array(16,0,645,757),4333=>array(-9,-196,563,741),4334=>array(21,0,542,741),4335=>array(5,-196,572,610),4336=>array(10,0,584,757),4337=>array(-0,-196,616,757),4338=>array(3,-134,576,521),4339=>array(12,-196,625,521),4340=>array(-8,-196,614,757),4341=>array(9,0,599,757),4342=>array(16,-196,626,521),4343=>array(4,-197,540,521),4344=>array(12,-197,583,534),4345=>array(62,-196,596,527),4346=>array(38,-95,569,521),4347=>array(87,24,481,492),4348=>array(170,359,453,758),7426=>array(5,-14,621,560),7432=>array(21,-11,580,560),7433=>array(93,-264,613,549),7444=>array(-19,-14,607,560),7446=>array(101,273,607,560),7447=>array(100,-14,607,273),7453=>array(20,0,653,440),7454=>array(32,-2,647,438),7455=>array(21,-0,670,523),7468=>array(82,326,441,734),7469=>array(80,326,516,734),7470=>array(102,326,465,735),7472=>array(107,326,462,734),7473=>array(119,326,484,734),7474=>array(119,326,484,734),7475=>array(139,318,477,742),7476=>array(114,326,488,734),7477=>array(125,326,477,734),7478=>array(128,318,480,734),7479=>array(91,326,505,734),7480=>array(119,326,417,734),7481=>array(98,326,503,734),7482=>array(109,326,494,734),7483=>array(109,326,494,734),7484=>array(131,318,470,742),7486=>array(110,326,471,734),7487=>array(92,326,449,734),7488=>array(165,326,502,734),7489=>array(129,318,499,734),7490=>array(128,326,530,734),7491=>array(132,318,467,640),7492=>array(135,318,470,640),7493=>array(143,318,483,640),7494=>array(110,318,497,640),7495=>array(108,318,449,751),7496=>array(132,318,496,751),7497=>array(134,318,469,640),7498=>array(133,318,468,640),7499=>array(126,320,473,640),7500=>array(129,320,476,640),7501=>array(145,210,495,640),7502=>array(176,178,502,633),7503=>array(102,326,469,751),7504=>array(106,326,479,640),7505=>array(144,210,463,640),7506=>array(137,318,465,640),7507=>array(137,318,442,640),7508=>array(126,479,449,640),7509=>array(153,318,476,479),7510=>array(106,209,470,640),7511=>array(162,326,471,719),7512=>array(150,318,470,632),7513=>array(101,326,493,573),7514=>array(123,319,496,632),7515=>array(166,326,496,632),7522=>array(137,0,465,455),7523=>array(136,0,463,314),7524=>array(150,-8,470,306),7525=>array(166,0,496,306),7543=>array(15,-208,587,561),7544=>array(114,326,488,734),7547=>array(52,0,657,547),7557=>array(170,-207,556,760),7579=>array(119,318,459,640),7580=>array(159,318,465,640),7581=>array(160,288,466,640),7582=>array(127,318,472,755),7583=>array(114,320,463,640),7584=>array(167,326,482,751),7585=>array(140,205,416,632),7586=>array(146,209,494,632),7587=>array(162,207,481,632),7588=>array(103,326,429,751),7589=>array(174,325,429,632),7590=>array(114,326,488,632),7591=>array(114,326,488,632),7592=>array(98,210,466,781),7593=>array(188,205,415,751),7594=>array(187,210,438,751),7595=>array(154,326,404,632),7596=>array(117,209,490,640),7597=>array(134,209,507,632),7598=>array(89,205,494,640),7599=>array(114,205,440,640),7600=>array(119,326,483,632),7601=>array(137,318,465,640),7602=>array(112,209,490,753),7603=>array(147,209,454,640),7604=>array(86,210,516,751),7605=>array(173,210,482,719),7606=>array(133,318,472,632),7607=>array(135,298,497,632),7609=>array(155,326,469,632),7610=>array(106,326,436,632),7611=>array(130,326,472,632),7612=>array(107,209,450,632),7613=>array(121,295,463,632),7614=>array(107,206,470,632),7615=>array(134,319,468,757),7680=>array(-55,-245,515,729),7681=>array(23,-245,557,560),7682=>array(-10,0,575,927),7683=>array(23,-14,569,774),7684=>array(-10,-226,575,730),7685=>array(23,-226,569,760),7686=>array(-10,-198,575,730),7687=>array(23,-198,569,760),7688=>array(64,-196,600,927),7689=>array(73,-196,632,800),7690=>array(-4,0,569,927),7691=>array(32,-14,621,774),7692=>array(-4,-226,569,729),7693=>array(32,-226,621,760),7694=>array(-4,-198,569,729),7695=>array(32,-198,621,760),7696=>array(-17,-196,569,729),7697=>array(14,-196,621,760),7698=>array(-24,-237,569,729),7699=>array(0,-237,621,760),7704=>array(14,-237,610,729),7705=>array(19,-237,564,561),7706=>array(14,-238,610,729),7707=>array(33,-238,564,561),7708=>array(14,-196,610,927),7709=>array(37,-196,566,784),7710=>array(23,0,619,927),7711=>array(113,0,619,927),7712=>array(50,-14,586,913),7713=>array(9,-207,581,760),7714=>array(-4,0,606,927),7715=>array(29,0,547,927),7716=>array(-4,-226,606,729),7717=>array(29,-226,547,760),7718=>array(-4,0,606,915),7719=>array(29,0,547,934),7720=>array(-90,-196,606,729),7721=>array(-73,-196,547,760),7722=>array(-4,-240,606,729),7723=>array(29,-240,547,760),7724=>array(13,-238,589,729),7725=>array(7,-238,527,813),7728=>array(-9,0,668,927),7729=>array(40,0,634,927),7730=>array(-9,-226,668,729),7731=>array(40,-226,634,760),7732=>array(-9,-198,668,729),7733=>array(40,-198,634,760),7734=>array(39,-226,516,729),7735=>array(114,-226,505,760),7736=>array(39,-226,562,913),7737=>array(114,-226,562,913),7738=>array(39,-198,516,729),7739=>array(38,-198,505,760),7740=>array(24,-237,516,729),7741=>array(0,-237,505,760),7742=>array(-28,0,630,927),7743=>array(-16,0,590,800),7744=>array(-28,0,630,927),7745=>array(-16,0,589,774),7746=>array(-28,-226,630,729),7747=>array(-16,-226,589,560),7748=>array(-12,0,613,927),7749=>array(29,0,547,774),7750=>array(-12,-226,613,729),7751=>array(29,-226,547,560),7752=>array(-12,-198,613,729),7753=>array(29,-198,547,560),7754=>array(-12,-237,613,729),7755=>array(0,-237,547,560),7756=>array(30,-14,572,997),7757=>array(43,-14,625,997),7764=>array(8,0,591,931),7765=>array(-18,-208,590,800),7766=>array(8,0,591,927),7767=>array(-18,-208,571,774),7768=>array(4,0,569,927),7769=>array(75,0,599,774),7770=>array(4,-226,569,729),7771=>array(75,-226,599,560),7772=>array(4,-226,569,913),7773=>array(75,-226,599,760),7774=>array(4,-198,569,729),7775=>array(38,-198,599,560),7776=>array(2,-14,566,927),7777=>array(44,-14,534,774),7778=>array(2,-226,566,742),7779=>array(44,-226,534,560),7784=>array(2,-226,566,927),7785=>array(44,-226,534,774),7786=>array(88,0,629,927),7787=>array(80,0,571,927),7788=>array(88,-226,629,729),7789=>array(80,-226,571,702),7790=>array(38,-198,629,729),7791=>array(38,-198,571,702),7792=>array(0,-237,629,729),7793=>array(0,-237,571,702),7794=>array(22,-226,621,729),7795=>array(32,-226,569,547),7796=>array(14,-238,621,729),7797=>array(14,-238,569,547),7798=>array(0,-237,621,729),7799=>array(0,-237,569,547),7800=>array(22,-14,621,997),7801=>array(52,-14,625,997),7804=>array(99,0,647,916),7805=>array(84,0,601,758),7806=>array(99,-226,647,729),7807=>array(84,-226,601,547),7808=>array(20,0,669,931),7809=>array(44,0,647,804),7810=>array(20,0,669,931),7811=>array(44,0,647,804),7812=>array(20,0,669,922),7813=>array(44,0,647,741),7814=>array(20,0,669,927),7815=>array(44,0,647,774),7816=>array(20,-226,669,729),7817=>array(44,-226,647,547),7818=>array(-70,0,656,927),7819=>array(-37,0,599,774),7820=>array(-70,0,656,927),7821=>array(-37,0,599,734),7822=>array(71,0,663,927),7823=>array(-44,-207,614,774),7824=>array(-16,0,630,931),7825=>array(24,0,580,803),7826=>array(-16,-226,630,729),7827=>array(24,-226,580,547),7828=>array(-16,-198,630,729),7829=>array(24,-198,580,547),7830=>array(29,-198,547,760),7831=>array(80,0,571,876),7832=>array(44,0,647,898),7833=>array(-44,-207,614,898),7835=>array(113,0,619,927),7839=>array(27,-14,561,766),7840=>array(-55,-226,515,729),7841=>array(23,-226,557,560),7852=>array(-55,-226,531,931),7853=>array(23,-226,557,803),7856=>array(-55,0,575,997),7857=>array(23,-14,557,954),7862=>array(-55,-226,575,927),7863=>array(23,-226,557,759),7864=>array(14,-226,610,729),7865=>array(37,-226,564,561),7868=>array(14,0,610,928),7869=>array(37,-14,564,762),7878=>array(14,-226,610,931),7879=>array(37,-226,564,803),7882=>array(13,-226,589,729),7883=>array(7,-226,527,813),7884=>array(30,-226,572,742),7885=>array(43,-226,559,561),7896=>array(30,-226,572,931),7897=>array(43,-226,559,803),7898=>array(-13,-14,661,927),7899=>array(-0,-14,607,800),7900=>array(-13,-14,661,927),7901=>array(-0,-14,607,800),7904=>array(-13,-14,661,928),7905=>array(-0,-14,607,778),7906=>array(-13,-226,661,759),7907=>array(-0,-226,607,570),7908=>array(22,-226,621,729),7909=>array(52,-226,569,547),7912=>array(-27,-14,688,927),7913=>array(-23,-14,608,800),7914=>array(-27,-14,688,927),7915=>array(-23,-14,608,800),7918=>array(-27,-14,688,928),7919=>array(-23,-14,608,778),7920=>array(-27,-226,688,759),7921=>array(-23,-226,608,570),7922=>array(71,0,663,931),7923=>array(-44,-207,614,804),7924=>array(71,-226,663,729),7925=>array(-44,-226,614,547),7928=>array(71,0,663,928),7929=>array(-44,-207,614,762),7936=>array(26,-12,615,806),7937=>array(26,-12,615,806),7938=>array(26,-12,615,806),7939=>array(26,-12,615,806),7940=>array(26,-12,644,806),7941=>array(26,-12,653,806),7942=>array(26,-12,615,978),7943=>array(26,-12,615,978),7944=>array(-55,0,515,806),7945=>array(-55,0,515,806),7946=>array(-260,0,515,806),7947=>array(-240,0,515,806),7948=>array(-155,0,515,806),7949=>array(-160,0,515,806),7950=>array(-55,0,515,978),7951=>array(-55,0,515,978),7952=>array(49,-11,540,806),7953=>array(49,-11,540,806),7954=>array(49,-11,573,806),7955=>array(49,-11,578,806),7956=>array(49,-11,644,806),7957=>array(49,-11,653,806),7960=>array(-77,0,610,806),7961=>array(-52,0,610,806),7962=>array(-360,0,610,806),7963=>array(-340,0,610,806),7964=>array(-284,0,610,806),7965=>array(-284,0,610,806),7968=>array(49,-208,558,806),7969=>array(49,-208,558,806),7970=>array(49,-208,573,806),7971=>array(49,-208,578,806),7972=>array(49,-208,644,806),7973=>array(49,-208,653,806),7974=>array(49,-208,588,978),7975=>array(49,-208,588,978),7976=>array(-101,0,606,806),7977=>array(-77,0,606,806),7978=>array(-387,0,606,806),7979=>array(-367,0,606,806),7980=>array(-313,0,606,806),7981=>array(-309,0,606,806),7982=>array(-140,0,606,978),7983=>array(-140,0,606,978),7984=>array(164,0,461,806),7985=>array(164,0,461,806),7986=>array(111,0,573,806),7987=>array(131,0,578,806),7988=>array(160,0,644,806),7989=>array(164,0,653,806),7990=>array(164,0,588,978),7991=>array(164,0,588,978),7992=>array(-77,0,589,806),7993=>array(-52,0,589,806),7994=>array(-348,0,589,806),7995=>array(-338,0,589,806),7996=>array(-279,0,589,806),7997=>array(-279,0,589,806),7998=>array(-118,0,589,978),7999=>array(-118,0,589,978),8000=>array(43,-14,559,806),8001=>array(43,-14,559,806),8002=>array(43,-14,573,806),8003=>array(43,-14,578,806),8004=>array(43,-14,644,806),8005=>array(43,-14,653,806),8008=>array(-40,-14,572,806),8009=>array(-52,-14,572,806),8010=>array(-350,-14,572,806),8011=>array(-331,-14,572,806),8012=>array(-191,-14,572,806),8013=>array(-191,-14,572,806),8016=>array(69,0,580,806),8017=>array(69,0,580,806),8018=>array(69,0,580,806),8019=>array(69,0,580,806),8020=>array(69,0,644,806),8021=>array(69,0,653,806),8022=>array(69,0,588,978),8023=>array(69,0,588,978),8025=>array(-125,0,663,806),8027=>array(-382,0,663,806),8029=>array(-360,0,663,806),8031=>array(-196,0,663,978),8032=>array(31,-14,577,806),8033=>array(31,-14,577,806),8034=>array(31,-14,577,806),8035=>array(31,-14,578,806),8036=>array(31,-14,644,806),8037=>array(31,-14,653,806),8038=>array(31,-14,588,978),8039=>array(31,-14,588,978),8040=>array(-30,0,559,806),8041=>array(-40,0,559,806),8042=>array(-350,0,559,806),8043=>array(-331,0,559,806),8044=>array(-179,0,559,806),8045=>array(-174,0,559,806),8046=>array(-62,0,559,978),8047=>array(-98,0,559,978),8048=>array(26,-12,615,800),8049=>array(26,-12,615,800),8050=>array(49,-11,540,800),8051=>array(49,-11,590,800),8052=>array(49,-208,558,800),8053=>array(49,-208,590,800),8054=>array(164,0,446,800),8055=>array(164,0,590,800),8056=>array(43,-14,559,800),8057=>array(43,-14,590,800),8058=>array(69,0,580,800),8059=>array(69,0,590,800),8060=>array(31,-14,577,800),8061=>array(31,-14,590,800),8064=>array(26,-208,615,806),8065=>array(26,-208,615,806),8066=>array(26,-208,615,806),8067=>array(26,-208,615,806),8068=>array(26,-208,644,806),8069=>array(26,-208,653,806),8070=>array(26,-208,615,978),8071=>array(26,-208,615,978),8072=>array(-55,-208,515,806),8073=>array(-55,-208,515,806),8074=>array(-260,-208,515,806),8075=>array(-240,-208,515,806),8076=>array(-155,-208,515,806),8077=>array(-160,-208,515,806),8078=>array(-55,-208,515,978),8079=>array(-55,-208,515,978),8080=>array(33,-208,558,806),8081=>array(33,-208,558,806),8082=>array(33,-208,573,806),8083=>array(33,-208,578,806),8084=>array(33,-208,644,806),8085=>array(33,-208,653,806),8086=>array(33,-208,588,978),8087=>array(33,-208,588,978),8088=>array(-101,-208,606,806),8089=>array(-77,-208,606,806),8090=>array(-387,-208,606,806),8091=>array(-367,-208,606,806),8092=>array(-313,-208,606,806),8093=>array(-309,-208,606,806),8094=>array(-140,-208,606,978),8095=>array(-140,-208,606,978),8096=>array(31,-208,577,806),8097=>array(31,-208,577,806),8098=>array(31,-208,577,806),8099=>array(31,-208,578,806),8100=>array(31,-208,644,806),8101=>array(31,-208,653,806),8102=>array(31,-208,588,978),8103=>array(31,-208,588,978),8104=>array(-30,-208,559,806),8105=>array(-40,-208,559,806),8106=>array(-350,-208,559,806),8107=>array(-331,-208,559,806),8108=>array(-179,-208,559,806),8109=>array(-174,-208,559,806),8110=>array(-62,-208,559,978),8111=>array(-98,-208,559,978),8112=>array(26,-12,615,784),8113=>array(26,-12,615,760),8114=>array(26,-208,615,800),8115=>array(26,-208,615,559),8116=>array(26,-208,615,800),8118=>array(26,-12,615,778),8119=>array(26,-208,615,778),8120=>array(-55,0,575,927),8121=>array(-55,0,562,913),8122=>array(-55,0,515,800),8123=>array(-55,0,515,800),8124=>array(-55,-208,515,729),8125=>array(263,595,461,806),8126=>array(185,-208,306,-45),8127=>array(263,595,461,806),8128=>array(184,638,551,778),8129=>array(203,654,592,944),8130=>array(33,-208,558,800),8131=>array(33,-208,558,560),8132=>array(33,-208,590,800),8134=>array(49,-208,558,778),8135=>array(33,-208,558,778),8136=>array(-161,0,610,800),8137=>array(-123,0,610,800),8138=>array(-175,0,606,800),8139=>array(-142,0,606,800),8140=>array(-4,-208,606,729),8141=>array(111,595,573,806),8142=>array(160,595,644,806),8143=>array(222,595,588,978),8144=>array(164,0,547,784),8145=>array(164,0,532,760),8146=>array(164,0,535,980),8147=>array(164,0,645,999),8150=>array(164,0,551,778),8151=>array(164,0,592,944),8152=>array(13,0,589,927),8153=>array(13,0,589,913),8154=>array(-146,0,589,800),8155=>array(-113,0,589,800),8157=>array(131,595,578,806),8158=>array(165,595,653,806),8159=>array(222,595,588,978),8160=>array(69,0,580,784),8161=>array(69,0,580,760),8162=>array(69,0,580,980),8163=>array(69,0,645,999),8164=>array(-1,-208,577,806),8165=>array(-1,-208,577,806),8166=>array(69,0,580,778),8167=>array(69,0,592,944),8168=>array(71,0,663,927),8169=>array(71,0,663,913),8170=>array(-185,0,663,800),8171=>array(-193,0,663,800),8172=>array(-62,0,591,806),8173=>array(181,654,535,980),8174=>array(203,654,645,999),8175=>array(181,616,422,800),8178=>array(31,-208,577,800),8179=>array(31,-208,577,547),8180=>array(31,-208,590,800),8182=>array(31,-14,577,778),8183=>array(31,-208,577,778),8184=>array(-139,-14,572,800),8185=>array(-35,-14,572,800),8186=>array(-134,0,559,800),8187=>array(-25,0,559,800),8188=>array(-25,-208,559,713),8189=>array(278,616,590,800),8190=>array(287,595,461,806),8208=>array(119,217,453,359),8209=>array(119,217,453,359),8210=>array(-29,217,597,337),8211=>array(-29,217,597,337),8212=>array(-29,217,597,337),8213=>array(-29,217,597,337),8214=>array(125,-236,476,764),8215=>array(0,-236,602,-9),8216=>array(205,441,468,760),8217=>array(205,441,468,760),8218=>array(84,-140,347,179),8219=>array(242,441,422,760),8220=>array(95,441,612,760),8221=>array(72,441,589,760),8222=>array(-38,-140,478,179),8223=>array(108,441,543,760),8224=>array(89,-96,559,729),8225=>array(24,-96,560,729),8226=>array(125,195,477,547),8227=>array(125,156,516,586),8230=>array(-42,0,537,179),8240=>array(0,0,602,699),8241=>array(0,0,602,699),8242=>array(297,547,553,729),8243=>array(206,547,645,729),8244=>array(114,547,736,729),8245=>array(332,547,518,729),8246=>array(239,547,610,729),8247=>array(149,547,701,729),8249=>array(149,69,428,517),8250=>array(155,69,433,517),8252=>array(15,0,587,729),8253=>array(143,0,559,742),8254=>array(0,663,602,755),8261=>array(109,-132,531,760),8262=>array(52,-132,473,760),8263=>array(-17,0,619,742),8264=>array(14,0,587,742),8265=>array(15,0,588,742),8267=>array(2,-96,608,729),8304=>array(148,319,513,742),8305=>array(137,326,465,781),8308=>array(132,326,479,734),8309=>array(116,319,513,734),8310=>array(141,319,513,742),8311=>array(126,326,513,734),8312=>array(141,319,513,742),8313=>array(141,319,513,742),8314=>array(132,352,470,652),8315=>array(132,469,470,535),8316=>array(139,407,464,596),8317=>array(187,252,415,751),8318=>array(187,252,415,751),8319=>array(130,326,450,640),8320=>array(148,-7,513,416),8321=>array(141,0,476,408),8322=>array(127,0,502,416),8323=>array(135,-7,508,416),8324=>array(132,0,479,408),8325=>array(116,-7,513,408),8326=>array(141,-7,513,416),8327=>array(126,0,513,408),8328=>array(141,-7,513,416),8329=>array(141,-7,513,416),8330=>array(132,25,470,326),8331=>array(132,143,470,208),8332=>array(139,81,464,270),8333=>array(187,-74,415,425),8334=>array(187,-74,415,425),8336=>array(132,-8,467,313),8337=>array(134,-8,469,313),8338=>array(137,-8,465,313),8339=>array(96,0,496,307),8340=>array(133,-8,468,313),8341=>array(119,0,439,426),8342=>array(102,0,469,425),8343=>array(173,0,429,426),8344=>array(106,0,479,313),8345=>array(130,0,450,313),8346=>array(106,-117,470,313),8347=>array(140,-7,445,314),8348=>array(162,0,471,393),8352=>array(37,0,641,729),8353=>array(33,-44,630,778),8354=>array(32,-14,619,742),8355=>array(3,0,628,729),8356=>array(-13,0,604,742),8357=>array(-11,-93,580,640),8358=>array(-39,0,641,729),8359=>array(0,-14,658,729),8360=>array(0,-14,597,729),8361=>array(0,0,666,729),8362=>array(-24,-14,655,729),8363=>array(32,-198,681,760),8364=>array(-16,-14,603,742),8365=>array(0,0,625,729),8366=>array(83,0,630,729),8367=>array(0,-223,638,742),8368=>array(1,-14,626,742),8369=>array(8,0,632,729),8370=>array(34,-81,605,809),8371=>array(-57,0,583,729),8372=>array(-29,-14,632,742),8373=>array(26,-147,639,760),8376=>array(54,0,629,729),8377=>array(56,0,630,729),8450=>array(57,-14,590,742),8453=>array(57,-24,602,752),8461=>array(11,0,588,729),8462=>array(29,0,547,760),8463=>array(29,0,547,760),8469=>array(24,0,580,729),8470=>array(-71,0,582,729),8471=>array(0,61,602,663),8473=>array(36,0,573,729),8474=>array(0,-146,598,742),8477=>array(4,0,597,729),8482=>array(0,447,550,729),8484=>array(6,0,584,729),8486=>array(-25,0,559,713),8490=>array(-9,0,668,729),8491=>array(-55,0,515,928),8494=>array(0,-12,602,647),8520=>array(-9,0,501,813),8531=>array(15,-139,575,810),8532=>array(1,-139,575,818),8533=>array(15,-139,580,810),8534=>array(1,-139,580,818),8535=>array(23,-139,580,818),8536=>array(21,-139,580,810),8537=>array(15,-139,580,810),8538=>array(4,-139,580,810),8539=>array(15,-139,580,810),8540=>array(23,-139,580,818),8541=>array(4,-139,580,810),8542=>array(0,-139,580,810),8543=>array(15,244,558,810),8592=>array(32,97,570,451),8593=>array(124,0,478,538),8594=>array(32,97,570,451),8595=>array(124,0,478,538),8596=>array(32,97,570,451),8597=>array(124,0,478,538),8598=>array(75,-10,522,437),8599=>array(80,-10,527,437),8600=>array(80,-15,526,432),8601=>array(75,-15,522,432),8602=>array(32,97,570,451),8603=>array(32,97,570,451),8604=>array(29,178,566,437),8605=>array(36,178,573,437),8606=>array(32,97,570,451),8607=>array(124,0,478,538),8608=>array(32,97,570,451),8609=>array(124,0,478,538),8610=>array(32,97,570,451),8611=>array(32,97,570,451),8612=>array(32,97,570,451),8613=>array(124,0,478,538),8614=>array(32,97,570,451),8615=>array(124,0,478,538),8616=>array(124,0,478,538),8617=>array(32,97,570,509),8618=>array(32,97,570,509),8619=>array(32,97,570,509),8620=>array(32,97,570,509),8621=>array(32,97,570,451),8622=>array(32,87,570,460),8623=>array(28,-2,562,700),8624=>array(89,0,527,689),8625=>array(75,0,513,689),8626=>array(89,-15,527,674),8627=>array(75,-15,513,674),8628=>array(91,0,526,555),8629=>array(31,-15,586,421),8630=>array(24,168,578,506),8631=>array(24,168,578,506),8632=>array(24,-10,578,542),8633=>array(32,-15,570,634),8634=>array(27,-19,575,511),8635=>array(27,-19,575,511),8636=>array(32,219,570,451),8637=>array(32,97,570,329),8638=>array(246,0,478,538),8639=>array(124,0,356,538),8640=>array(32,219,570,451),8641=>array(32,97,570,329),8642=>array(246,0,478,538),8643=>array(124,0,356,538),8644=>array(32,-15,570,575),8645=>array(6,0,596,538),8646=>array(32,-15,570,575),8647=>array(32,-15,570,575),8648=>array(6,0,596,538),8649=>array(32,-15,570,575),8650=>array(6,0,596,538),8651=>array(32,-15,570,575),8652=>array(32,-15,570,575),8653=>array(32,97,570,451),8654=>array(32,97,570,451),8655=>array(32,97,570,451),8656=>array(32,97,570,451),8657=>array(124,0,478,538),8658=>array(32,97,570,451),8659=>array(124,0,478,538),8660=>array(32,97,570,451),8661=>array(124,0,478,538),8662=>array(61,-28,526,437),8663=>array(76,-28,541,437),8664=>array(76,-15,541,451),8665=>array(61,-15,526,451),8666=>array(32,97,570,451),8667=>array(32,97,570,451),8668=>array(32,97,570,451),8669=>array(32,97,570,451),8670=>array(124,0,478,538),8671=>array(124,0,478,538),8672=>array(32,97,570,451),8673=>array(124,0,478,538),8674=>array(32,97,570,451),8675=>array(124,0,478,538),8676=>array(32,97,570,451),8677=>array(32,97,570,451),8678=>array(2,67,570,480),8679=>array(94,0,508,567),8680=>array(32,67,600,480),8681=>array(94,0,508,567),8682=>array(94,0,508,567),8683=>array(94,0,508,567),8684=>array(94,0,508,567),8685=>array(94,0,508,567),8686=>array(94,0,508,567),8687=>array(94,0,508,567),8688=>array(32,70,600,483),8689=>array(19,-10,578,549),8690=>array(21,0,581,559),8691=>array(94,0,508,567),8692=>array(32,97,570,451),8693=>array(6,0,596,538),8694=>array(32,-139,570,687),8695=>array(32,97,570,451),8696=>array(32,97,570,451),8697=>array(32,92,570,451),8698=>array(32,97,570,451),8699=>array(32,97,570,451),8700=>array(32,97,570,457),8701=>array(2,67,570,480),8702=>array(32,67,600,480),8703=>array(2,67,600,480),8704=>array(16,0,586,729),8705=>array(11,-14,592,742),8706=>array(58,-14,544,674),8707=>array(80,0,533,729),8708=>array(80,-46,533,775),8709=>array(31,43,572,584),8710=>array(-3,0,606,695),8711=>array(-3,0,606,695),8712=>array(49,0,553,744),8713=>array(49,-96,558,840),8714=>array(48,63,554,564),8715=>array(49,0,553,744),8716=>array(49,-96,558,840),8717=>array(48,63,554,564),8719=>array(74,-213,528,741),8721=>array(62,-213,539,741),8722=>array(32,256,569,372),8723=>array(43,0,559,627),8725=>array(0,-93,525,729),8727=>array(59,77,541,542),8728=>array(138,182,463,507),8729=>array(125,168,477,520),8730=>array(24,-19,573,843),8731=>array(24,-19,573,933),8732=>array(24,-19,573,924),8733=>array(86,109,516,508),8734=>array(6,109,596,508),8735=>array(43,122,559,638),8736=>array(43,122,559,638),8743=>array(89,0,513,579),8744=>array(89,0,513,579),8745=>array(89,0,513,579),8746=>array(89,0,513,579),8747=>array(71,-204,530,892),8748=>array(0,-204,602,892),8749=>array(-21,-204,623,892),8756=>array(72,51,532,580),8757=>array(72,51,530,580),8758=>array(219,51,383,580),8759=>array(72,51,532,580),8760=>array(32,256,569,619),8761=>array(36,51,578,580),8762=>array(23,26,581,603),8763=>array(43,0,559,624),8764=>array(43,229,559,398),8765=>array(43,229,559,398),8769=>array(43,48,559,577),8770=>array(43,124,559,482),8771=>array(43,144,559,498),8772=>array(43,16,560,637),8773=>array(43,29,559,614),8774=>array(43,-42,559,614),8775=>array(43,-70,559,695),8776=>array(43,124,559,498),8777=>array(43,30,559,596),8778=>array(43,29,559,587),8779=>array(43,12,559,587),8780=>array(43,29,559,614),8781=>array(42,83,559,543),8782=>array(43,10,559,617),8783=>array(43,144,559,617),8784=>array(43,144,559,707),8785=>array(43,-81,559,707),8786=>array(43,-81,559,707),8787=>array(43,-81,560,707),8788=>array(40,124,563,503),8789=>array(40,124,563,503),8790=>array(43,144,559,482),8791=>array(43,144,559,814),8792=>array(43,144,559,715),8793=>array(43,144,559,824),8794=>array(43,144,559,824),8795=>array(43,144,559,935),8796=>array(43,144,559,889),8797=>array(43,144,559,750),8798=>array(42,144,559,801),8799=>array(42,144,559,903),8800=>array(38,-5,564,631),8801=>array(43,29,559,597),8802=>array(43,-55,559,685),8803=>array(43,-47,559,688),8804=>array(43,0,559,582),8805=>array(43,0,559,582),8806=>array(43,-116,559,633),8807=>array(43,-116,559,633),8808=>array(43,-189,559,633),8809=>array(43,-189,559,633),8813=>array(42,-54,559,680),8814=>array(43,-3,559,629),8815=>array(43,53,559,574),8816=>array(43,-96,559,658),8817=>array(43,-96,559,656),8818=>array(43,-38,559,582),8819=>array(43,-38,559,582),8820=>array(43,-96,559,658),8821=>array(43,-98,559,656),8822=>array(43,-119,559,684),8823=>array(43,-119,559,684),8824=>array(43,-209,559,774),8825=>array(43,-209,559,774),8826=>array(42,-46,558,672),8827=>array(42,-46,558,672),8828=>array(43,-206,559,744),8829=>array(43,-206,559,744),8830=>array(43,-101,559,744),8831=>array(43,-101,559,744),8832=>array(42,-118,558,744),8833=>array(42,-118,558,744),8834=>array(43,67,559,559),8835=>array(43,67,559,559),8836=>array(43,-58,559,684),8837=>array(43,-58,559,684),8838=>array(43,-20,559,645),8839=>array(43,-20,559,645),8840=>array(43,-115,559,729),8841=>array(43,-115,559,729),8842=>array(43,-125,559,645),8843=>array(43,-125,559,645),8847=>array(43,42,559,584),8848=>array(43,42,559,584),8849=>array(43,-10,559,636),8850=>array(43,-10,559,636),8853=>array(13,25,589,604),8854=>array(13,25,589,604),8855=>array(13,25,589,604),8856=>array(13,25,589,604),8857=>array(13,25,589,604),8858=>array(13,25,589,604),8859=>array(13,25,589,604),8860=>array(13,25,589,604),8861=>array(13,25,589,604),8862=>array(24,37,579,591),8863=>array(24,37,579,591),8864=>array(24,37,579,591),8865=>array(24,37,579,591),8866=>array(32,0,569,627),8867=>array(32,0,569,627),8868=>array(32,0,569,627),8869=>array(32,0,569,627),8901=>array(219,259,382,437),8902=>array(110,183,492,545),8909=>array(43,144,559,498),8922=>array(43,-272,559,776),8923=>array(43,-272,559,776),8924=>array(43,0,559,582),8925=>array(43,0,559,582),8926=>array(43,-206,559,744),8927=>array(43,-206,559,744),8928=>array(43,-244,559,803),8929=>array(43,-244,559,803),8930=>array(43,-143,559,769),8931=>array(43,-143,559,769),8932=>array(43,-123,559,636),8933=>array(43,-123,559,636),8934=>array(43,-158,559,582),8935=>array(43,-158,559,582),8936=>array(43,-220,559,744),8937=>array(43,-220,559,744),8943=>array(28,225,574,404),8960=>array(31,43,572,584),8961=>array(56,152,540,453),8962=>array(54,0,548,596),8963=>array(71,406,530,746),8964=>array(71,-132,530,209),8965=>array(71,0,530,459),8966=>array(71,0,530,581),8968=>array(119,-132,541,760),8969=>array(179,-132,483,760),8970=>array(119,-132,423,760),8971=>array(61,-132,483,760),8972=>array(261,73,585,415),8973=>array(6,73,331,415),8974=>array(261,345,585,687),8975=>array(6,345,331,687),8976=>array(43,177,559,439),8977=>array(35,113,567,646),8978=>array(3,211,599,512),8979=>array(3,211,599,512),8980=>array(90,168,512,512),8981=>array(76,107,510,539),8984=>array(17,95,585,664),8985=>array(43,177,559,439),8988=>array(131,352,463,701),8989=>array(139,352,471,701),8990=>array(131,-70,463,279),8991=>array(139,-70,471,279),8992=>array(237,-250,566,925),8993=>array(33,-239,362,940),8997=>array(31,95,571,613),8998=>array(3,145,599,536),8999=>array(46,145,556,536),9000=>array(24,212,578,517),9003=>array(3,145,599,536),9013=>array(25,-33,576,296),9015=>array(125,-114,477,843),9016=>array(3,-114,599,843),9017=>array(3,-114,599,843),9018=>array(3,-114,599,843),9019=>array(3,-114,599,843),9020=>array(3,-114,599,843),9021=>array(3,-171,599,900),9022=>array(3,57,599,658),9025=>array(3,-100,599,829),9026=>array(3,-100,599,829),9027=>array(3,-114,599,843),9028=>array(3,-114,599,843),9031=>array(3,-114,599,843),9032=>array(3,-114,599,843),9033=>array(3,-29,599,729),9035=>array(16,-171,586,900),9036=>array(3,-100,599,829),9037=>array(3,-100,599,829),9040=>array(3,-114,599,843),9042=>array(16,-171,586,900),9043=>array(3,-100,599,829),9044=>array(3,-100,599,829),9047=>array(3,-114,599,843),9048=>array(113,-114,489,729),9049=>array(3,-114,599,729),9050=>array(3,-114,599,655),9051=>array(113,-114,489,496),9052=>array(3,-114,599,658),9054=>array(3,-114,599,843),9055=>array(-10,44,612,671),9056=>array(3,-114,599,843),9059=>array(110,183,492,652),9060=>array(147,222,455,676),9061=>array(3,57,599,847),9064=>array(43,226,559,676),9065=>array(43,53,559,676),9067=>array(16,0,586,729),9068=>array(43,-14,559,742),9069=>array(43,-171,559,900),9070=>array(113,-140,489,519),9071=>array(3,-114,599,843),9072=>array(3,-114,599,843),9075=>array(132,0,478,547),9076=>array(73,-208,558,560),9077=>array(31,-14,571,547),9078=>array(3,-114,599,559),9079=>array(64,-114,538,561),9080=>array(113,-114,489,547),9081=>array(3,-114,599,547),9082=>array(26,-12,568,559),9085=>array(8,-232,594,101),9088=>array(25,-33,576,528),9089=>array(3,92,599,528),9090=>array(3,92,599,528),9091=>array(3,172,599,572),9096=>array(35,27,566,601),9097=>array(34,46,567,579),9098=>array(34,46,567,579),9099=>array(34,46,567,579),9109=>array(3,-114,599,843),9115=>array(113,-252,488,928),9116=>array(113,-252,255,940),9117=>array(113,-240,488,940),9118=>array(114,-252,489,928),9119=>array(347,-252,489,940),9120=>array(114,-240,489,940),9121=>array(113,-252,488,928),9122=>array(113,-252,255,940),9123=>array(113,-240,488,940),9124=>array(113,-252,488,928),9125=>array(346,-252,488,940),9126=>array(113,-240,488,940),9127=>array(232,-261,594,928),9128=>array(8,-247,370,934),9129=>array(232,-240,594,934),9130=>array(232,-256,370,934),9131=>array(8,-261,370,928),9132=>array(232,-247,594,934),9133=>array(8,-240,370,934),9134=>array(237,-250,362,940),9166=>array(2,67,570,567),9167=>array(3,0,599,596),9251=>array(14,-232,574,101),9600=>array(-10,260,612,770),9601=>array(-10,-250,612,-123),9602=>array(-10,-250,612,5),9603=>array(-10,-250,612,132),9604=>array(-10,-250,612,260),9605=>array(-10,-250,612,387),9606=>array(-10,-250,612,515),9607=>array(-10,-250,612,642),9608=>array(-10,-250,612,770),9609=>array(-10,-250,534,770),9610=>array(-10,-250,457,770),9611=>array(-10,-250,379,770),9612=>array(-10,-250,301,770),9613=>array(-10,-250,223,770),9614=>array(-10,-250,146,770),9615=>array(-10,-250,68,770),9616=>array(301,-250,612,770),9617=>array(-10,-250,534,770),9618=>array(-10,-250,612,770),9619=>array(-10,-250,612,770),9620=>array(-10,642,612,770),9621=>array(534,-250,611,770),9622=>array(-10,-250,301,260),9623=>array(301,-250,612,260),9624=>array(-10,260,301,770),9625=>array(-10,-250,612,770),9626=>array(-10,-250,612,770),9627=>array(-10,-250,612,770),9628=>array(-10,-250,612,770),9629=>array(301,260,612,770),9630=>array(-10,-250,612,770),9631=>array(-10,-250,612,770),9632=>array(3,-39,599,558),9633=>array(3,-39,599,558),9634=>array(3,-39,599,558),9635=>array(3,-39,599,558),9636=>array(3,-39,599,558),9637=>array(3,-39,599,558),9638=>array(3,-39,599,558),9639=>array(3,-39,599,558),9640=>array(3,-39,599,558),9641=>array(3,-39,599,558),9642=>array(107,66,495,454),9643=>array(107,66,495,454),9644=>array(3,117,599,402),9645=>array(3,117,599,402),9646=>array(158,-39,444,558),9647=>array(158,-39,444,558),9648=>array(3,117,599,402),9649=>array(3,117,599,402),9650=>array(3,-39,599,558),9651=>array(3,-39,599,558),9652=>array(107,66,495,454),9653=>array(107,66,495,454),9654=>array(3,-39,599,558),9655=>array(3,-39,599,558),9656=>array(107,66,495,454),9657=>array(107,66,495,454),9658=>array(3,66,599,454),9659=>array(3,66,599,454),9660=>array(3,-39,599,558),9661=>array(3,-39,599,558),9662=>array(107,66,495,454),9663=>array(107,66,495,454),9664=>array(3,-39,599,558),9665=>array(3,-39,599,558),9666=>array(107,66,495,454),9667=>array(107,66,495,454),9668=>array(3,66,599,454),9669=>array(3,66,599,454),9670=>array(3,-39,599,558),9671=>array(3,-38,599,558),9672=>array(3,-39,599,558),9673=>array(3,-41,599,561),9674=>array(57,-233,545,807),9675=>array(3,-41,599,561),9676=>array(3,-41,599,561),9677=>array(3,-41,599,561),9678=>array(3,-41,599,561),9679=>array(3,-41,599,561),9680=>array(3,-41,599,561),9681=>array(3,-41,599,561),9682=>array(3,-41,599,561),9683=>array(3,-41,599,561),9684=>array(3,-41,599,561),9685=>array(3,-41,599,561),9686=>array(152,-41,450,561),9687=>array(152,-41,450,561),9688=>array(-10,-10,612,770),9689=>array(-10,-250,612,770),9690=>array(-10,260,612,770),9691=>array(-10,-250,612,260),9692=>array(152,260,450,561),9693=>array(152,260,450,561),9694=>array(152,-41,450,260),9695=>array(152,-41,450,260),9696=>array(3,260,599,561),9697=>array(3,-41,599,260),9698=>array(3,-39,599,558),9699=>array(3,-39,599,558),9700=>array(3,-39,599,558),9701=>array(3,-39,599,558),9702=>array(125,195,477,547),9703=>array(3,-39,599,558),9704=>array(3,-39,599,558),9705=>array(3,-39,599,558),9706=>array(3,-39,599,558),9707=>array(3,-39,599,558),9708=>array(3,-39,599,558),9709=>array(3,-39,599,558),9710=>array(3,-39,599,558),9711=>array(-10,-54,612,573),9712=>array(3,-39,599,558),9713=>array(3,-39,599,558),9714=>array(3,-39,599,558),9715=>array(3,-39,599,558),9716=>array(3,-41,599,561),9717=>array(3,-41,599,561),9718=>array(3,-41,599,561),9719=>array(3,-41,599,561),9720=>array(3,-39,599,558),9721=>array(3,-39,599,558),9722=>array(3,-39,599,558),9723=>array(47,6,554,513),9724=>array(47,6,554,513),9725=>array(85,44,516,475),9726=>array(85,44,516,475),9727=>array(3,-39,599,558),9728=>array(17,80,585,649),9784=>array(13,82,589,642),9785=>array(16,80,586,650),9786=>array(16,80,586,650),9787=>array(16,80,586,650),9788=>array(16,80,586,650),9791=>array(92,-78,510,708),9792=>array(71,-49,531,655),9793=>array(71,-49,531,655),9794=>array(10,75,592,648),9795=>array(35,21,567,710),9796=>array(85,21,517,710),9797=>array(33,65,569,666),9798=>array(37,65,565,666),9799=>array(105,21,497,710),9824=>array(63,65,540,664),9825=>array(7,65,595,663),9826=>array(71,65,531,664),9827=>array(24,65,578,664),9828=>array(62,65,540,664),9829=>array(5,65,597,664),9830=>array(71,65,531,664),9831=>array(24,65,578,667),9833=>array(181,16,421,708),9834=>array(79,16,523,708),9835=>array(52,-79,550,706),9836=>array(8,61,594,664),9837=>array(158,18,444,710),9838=>array(211,21,391,710),9839=>array(152,21,450,710),10178=>array(32,0,569,627),10181=>array(76,-163,509,769),10182=>array(35,-163,547,769),10208=>array(57,-233,545,807),10214=>array(59,-132,565,760),10215=>array(37,-132,543,760),10216=>array(165,-132,524,759),10217=>array(78,-132,438,759),10731=>array(57,-233,545,807),10746=>array(32,45,569,582),10747=>array(32,45,569,582),10799=>array(58,72,543,556),10858=>array(43,229,559,624),10859=>array(43,0,559,624),11013=>array(41,190,561,494),11014=>array(149,82,453,602),11015=>array(149,82,453,602),11016=>array(68,109,485,526),11017=>array(117,109,534,526),11018=>array(117,109,534,526),11019=>array(68,109,485,526),11020=>array(41,190,561,494),11021=>array(149,82,453,602),11026=>array(3,-39,599,558),11027=>array(3,-39,599,558),11028=>array(3,-39,599,558),11029=>array(3,-39,599,558),11030=>array(3,-39,599,558),11031=>array(3,-39,599,558),11032=>array(3,-39,599,558),11033=>array(3,-39,599,558),11034=>array(3,-39,599,558),11364=>array(-3,-208,583,729),11373=>array(30,-14,632,742),11374=>array(-28,-208,632,729),11375=>array(158,0,728,729),11376=>array(-24,-14,579,742),11381=>array(-4,0,552,729),11382=>array(31,0,540,547),11383=>array(31,0,570,552),11385=>array(94,-13,614,759),11386=>array(48,-14,554,560),11388=>array(135,-149,467,421),11389=>array(271,326,616,734),11390=>array(2,-239,566,742),11391=>array(9,-240,654,729),11800=>array(42,-13,458,729),11807=>array(43,0,559,398),11810=>array(196,314,531,760),11811=>array(207,314,473,760),11812=>array(109,-132,375,314),11813=>array(52,-132,386,314),11822=>array(121,0,550,742),42760=>array(183,0,536,693),42761=>array(154,0,536,693),42762=>array(125,0,536,693),42763=>array(96,0,536,693),42764=>array(66,0,536,693),42765=>array(66,0,536,693),42766=>array(66,0,506,693),42767=>array(66,0,477,693),42768=>array(66,0,448,693),42769=>array(66,0,419,693),42770=>array(66,0,536,693),42771=>array(66,0,506,693),42772=>array(66,0,477,693),42773=>array(66,0,448,693),42774=>array(66,0,419,693),42779=>array(178,326,462,736),42780=>array(140,324,424,734),42781=>array(206,326,396,734),42782=>array(206,326,396,734),42783=>array(142,0,333,408),42786=>array(89,0,515,729),42787=>array(131,0,481,547),42788=>array(89,224,564,742),42789=>array(89,42,564,560),42790=>array(-4,-208,606,729),42791=>array(29,-207,547,760),42889=>array(149,0,412,519),42890=>array(167,141,436,405),42891=>array(228,235,437,729),42892=>array(211,458,389,729),42893=>array(73,0,624,760),42894=>array(54,-217,475,760),42896=>array(-17,-157,608,729),42897=>array(8,-140,544,560),42922=>array(17,1,705,730),63173=>array(20,-14,604,760),64257=>array(32,0,625,760),64258=>array(32,0,625,760),65533=>array(-56,-138,599,927),65535=>array(51,-177,551,705)); +$cw=array(0=>602,32=>602,33=>602,34=>602,35=>602,36=>602,37=>602,38=>602,39=>602,40=>602,41=>602,42=>602,43=>602,44=>602,45=>602,46=>602,47=>602,48=>602,49=>602,50=>602,51=>602,52=>602,53=>602,54=>602,55=>602,56=>602,57=>602,58=>602,59=>602,60=>602,61=>602,62=>602,63=>602,64=>602,65=>602,66=>602,67=>602,68=>602,69=>602,70=>602,71=>602,72=>602,73=>602,74=>602,75=>602,76=>602,77=>602,78=>602,79=>602,80=>602,81=>602,82=>602,83=>602,84=>602,85=>602,86=>602,87=>602,88=>602,89=>602,90=>602,91=>602,92=>602,93=>602,94=>602,95=>602,96=>602,97=>602,98=>602,99=>602,100=>602,101=>602,102=>602,103=>602,104=>602,105=>602,106=>602,107=>602,108=>602,109=>602,110=>602,111=>602,112=>602,113=>602,114=>602,115=>602,116=>602,117=>602,118=>602,119=>602,120=>602,121=>602,122=>602,123=>602,124=>602,125=>602,126=>602,160=>602,161=>602,162=>602,163=>602,164=>602,165=>602,166=>602,167=>602,168=>602,169=>602,170=>602,171=>602,172=>602,173=>602,174=>602,175=>602,176=>602,177=>602,178=>602,179=>602,180=>602,181=>602,182=>602,183=>602,184=>602,185=>602,186=>602,187=>602,188=>602,189=>602,190=>602,191=>602,192=>602,193=>602,194=>602,195=>602,196=>602,197=>602,198=>602,199=>602,200=>602,201=>602,202=>602,203=>602,204=>602,205=>602,206=>602,207=>602,208=>602,209=>602,210=>602,211=>602,212=>602,213=>602,214=>602,215=>602,216=>602,217=>602,218=>602,219=>602,220=>602,221=>602,222=>602,223=>602,224=>602,225=>602,226=>602,227=>602,228=>602,229=>602,230=>602,231=>602,232=>602,233=>602,234=>602,235=>602,236=>602,237=>602,238=>602,239=>602,240=>602,241=>602,242=>602,243=>602,244=>602,245=>602,246=>602,247=>602,248=>602,249=>602,250=>602,251=>602,252=>602,253=>602,254=>602,255=>602,256=>602,257=>602,258=>602,259=>602,260=>602,261=>602,262=>602,263=>602,264=>602,265=>602,266=>602,267=>602,268=>602,269=>602,270=>602,271=>602,272=>602,273=>602,274=>602,275=>602,276=>602,277=>602,278=>602,279=>602,280=>602,281=>602,282=>602,283=>602,284=>602,285=>602,286=>602,287=>602,288=>602,289=>602,290=>602,291=>602,292=>602,293=>602,294=>602,295=>602,296=>602,297=>602,298=>602,299=>602,300=>602,301=>602,302=>602,303=>602,304=>602,305=>602,306=>602,307=>602,308=>602,309=>602,310=>602,311=>602,312=>602,313=>602,314=>602,315=>602,316=>602,317=>602,318=>602,319=>602,320=>602,321=>602,322=>602,323=>602,324=>602,325=>602,326=>602,327=>602,328=>602,329=>602,330=>602,331=>602,332=>602,333=>602,334=>602,335=>602,336=>602,337=>602,338=>602,339=>602,340=>602,341=>602,342=>602,343=>602,344=>602,345=>602,346=>602,347=>602,348=>602,349=>602,350=>602,351=>602,352=>602,353=>602,354=>602,355=>602,356=>602,357=>602,358=>602,359=>602,360=>602,361=>602,362=>602,363=>602,364=>602,365=>602,366=>602,367=>602,368=>602,369=>602,370=>602,371=>602,372=>602,373=>602,374=>602,375=>602,376=>602,377=>602,378=>602,379=>602,380=>602,381=>602,382=>602,383=>602,384=>602,385=>602,386=>602,387=>602,388=>602,389=>602,390=>602,391=>602,392=>602,393=>602,394=>602,395=>602,396=>602,397=>602,398=>602,399=>602,400=>602,401=>602,402=>602,403=>602,404=>602,405=>602,406=>602,407=>602,408=>602,409=>602,410=>602,411=>602,412=>602,413=>602,414=>602,415=>602,416=>602,417=>602,418=>602,419=>602,420=>602,421=>602,422=>602,423=>602,424=>602,425=>602,426=>602,427=>602,428=>602,429=>602,430=>602,431=>602,432=>602,433=>602,434=>602,435=>602,436=>602,437=>602,438=>602,439=>602,440=>602,441=>602,442=>602,443=>602,444=>602,445=>602,446=>602,447=>602,448=>602,449=>602,450=>602,451=>602,461=>602,462=>602,463=>602,464=>602,465=>602,466=>602,467=>602,468=>602,469=>602,470=>602,471=>602,472=>602,473=>602,474=>602,475=>602,476=>602,477=>602,478=>602,479=>602,480=>602,481=>602,482=>602,483=>602,486=>602,487=>602,488=>602,489=>602,490=>602,491=>602,492=>602,493=>602,494=>602,495=>602,500=>602,501=>602,502=>602,504=>602,505=>602,508=>602,509=>602,510=>602,511=>602,512=>602,513=>602,514=>602,515=>602,516=>602,517=>602,518=>602,519=>602,520=>602,521=>602,522=>602,523=>602,524=>602,525=>602,526=>602,527=>602,528=>602,529=>602,530=>602,531=>602,532=>602,533=>602,534=>602,535=>602,536=>602,537=>602,538=>602,539=>602,540=>602,541=>602,542=>602,543=>602,545=>602,548=>602,549=>602,550=>602,551=>602,552=>602,553=>602,554=>602,555=>602,556=>602,557=>602,558=>602,559=>602,560=>602,561=>602,562=>602,563=>602,564=>602,565=>602,566=>602,567=>602,568=>602,569=>602,570=>602,571=>602,572=>602,573=>602,574=>602,575=>602,576=>602,577=>602,579=>602,580=>602,581=>602,588=>602,589=>602,592=>602,593=>602,594=>602,595=>602,596=>602,597=>602,598=>602,599=>602,600=>602,601=>602,602=>602,603=>602,604=>602,605=>602,606=>602,607=>602,608=>602,609=>602,610=>602,611=>602,612=>602,613=>602,614=>602,615=>602,616=>602,617=>602,618=>602,619=>602,620=>602,621=>602,622=>602,623=>602,624=>602,625=>602,626=>602,627=>602,628=>602,629=>602,630=>602,631=>602,632=>602,633=>602,634=>602,635=>602,636=>602,637=>602,638=>602,639=>602,640=>602,641=>602,642=>602,643=>602,644=>602,645=>602,646=>602,647=>602,648=>602,649=>602,650=>602,651=>602,652=>602,653=>602,654=>602,655=>602,656=>602,657=>602,658=>602,659=>602,660=>602,661=>602,662=>602,663=>602,664=>602,665=>602,666=>602,667=>602,668=>602,669=>602,670=>602,671=>602,672=>602,673=>602,674=>602,675=>602,676=>602,677=>602,678=>602,679=>602,680=>602,681=>602,682=>602,683=>602,684=>602,685=>602,686=>602,687=>602,688=>602,689=>602,690=>602,691=>602,692=>602,693=>602,694=>602,695=>602,696=>602,697=>602,699=>602,700=>602,701=>602,702=>602,703=>602,704=>602,705=>602,710=>602,711=>602,712=>602,713=>602,716=>602,717=>602,718=>602,719=>602,720=>602,721=>602,722=>602,723=>602,726=>602,727=>602,728=>602,729=>602,730=>602,731=>602,732=>602,733=>602,734=>602,736=>602,737=>602,738=>602,739=>602,740=>602,741=>602,742=>602,743=>602,744=>602,745=>602,750=>602,755=>602,768=>602,769=>602,770=>602,771=>602,772=>602,773=>602,774=>602,775=>602,776=>602,777=>602,778=>602,779=>602,780=>602,781=>602,782=>602,783=>602,784=>602,785=>602,786=>602,787=>602,788=>602,789=>602,790=>602,791=>602,792=>602,793=>602,794=>602,795=>602,796=>602,797=>602,798=>602,799=>602,800=>602,801=>602,802=>602,803=>602,804=>602,805=>602,806=>602,807=>602,808=>602,809=>602,810=>602,811=>602,812=>602,813=>602,814=>602,815=>602,816=>602,817=>602,818=>602,819=>602,820=>602,821=>602,822=>602,823=>602,824=>602,825=>602,826=>602,827=>602,828=>602,829=>602,830=>602,831=>602,835=>602,856=>602,865=>602,884=>602,885=>602,890=>602,894=>602,900=>602,901=>602,902=>602,903=>602,904=>602,905=>602,906=>602,908=>602,910=>602,911=>602,912=>602,913=>602,914=>602,915=>602,916=>602,917=>602,918=>602,919=>602,920=>602,921=>602,922=>602,923=>602,924=>602,925=>602,926=>602,927=>602,928=>602,929=>602,931=>602,932=>602,933=>602,934=>602,935=>602,936=>602,937=>602,938=>602,939=>602,940=>602,941=>602,942=>602,943=>602,944=>602,945=>602,946=>602,947=>602,948=>602,949=>602,950=>602,951=>602,952=>602,953=>602,954=>602,955=>602,956=>602,957=>602,958=>602,959=>602,960=>602,961=>602,962=>602,963=>602,964=>602,965=>602,966=>602,967=>602,968=>602,969=>602,970=>602,971=>602,972=>602,973=>602,974=>602,976=>602,977=>602,978=>602,979=>602,980=>602,981=>602,982=>602,983=>602,984=>602,985=>602,986=>602,987=>602,988=>602,989=>602,990=>602,991=>602,992=>602,993=>602,1008=>602,1009=>602,1010=>602,1011=>602,1012=>602,1013=>602,1014=>602,1015=>602,1016=>602,1017=>602,1018=>602,1019=>602,1020=>602,1021=>602,1022=>602,1023=>602,1024=>602,1025=>602,1026=>602,1027=>602,1028=>602,1029=>602,1030=>602,1031=>602,1032=>602,1033=>602,1034=>602,1035=>602,1036=>602,1037=>602,1038=>602,1039=>602,1040=>602,1041=>602,1042=>602,1043=>602,1044=>602,1045=>602,1046=>602,1047=>602,1048=>602,1049=>602,1050=>602,1051=>602,1052=>602,1053=>602,1054=>602,1055=>602,1056=>602,1057=>602,1058=>602,1059=>602,1060=>602,1061=>602,1062=>602,1063=>602,1064=>602,1065=>602,1066=>602,1067=>602,1068=>602,1069=>602,1070=>602,1071=>602,1072=>602,1073=>602,1074=>602,1075=>602,1076=>602,1077=>602,1078=>602,1079=>602,1080=>602,1081=>602,1082=>602,1083=>602,1084=>602,1085=>602,1086=>602,1087=>602,1088=>602,1089=>602,1090=>602,1091=>602,1092=>602,1093=>602,1094=>602,1095=>602,1096=>602,1097=>602,1098=>602,1099=>602,1100=>602,1101=>602,1102=>602,1103=>602,1104=>602,1105=>602,1106=>602,1107=>602,1108=>602,1109=>602,1110=>602,1111=>602,1112=>602,1113=>602,1114=>602,1115=>602,1116=>602,1117=>602,1118=>602,1119=>602,1122=>602,1123=>602,1138=>602,1139=>602,1168=>602,1169=>602,1170=>602,1171=>602,1172=>602,1173=>602,1174=>602,1175=>602,1176=>602,1177=>602,1178=>602,1179=>602,1186=>602,1187=>602,1188=>602,1189=>602,1194=>602,1195=>602,1196=>602,1197=>602,1198=>602,1199=>602,1200=>602,1201=>602,1202=>602,1203=>602,1210=>602,1211=>602,1216=>602,1217=>602,1218=>602,1219=>602,1220=>602,1223=>602,1224=>602,1227=>602,1228=>602,1231=>602,1232=>602,1233=>602,1234=>602,1235=>602,1236=>602,1237=>602,1238=>602,1239=>602,1240=>602,1241=>602,1242=>602,1243=>602,1244=>602,1245=>602,1246=>602,1247=>602,1248=>602,1249=>602,1250=>602,1251=>602,1252=>602,1253=>602,1254=>602,1255=>602,1256=>602,1257=>602,1258=>602,1259=>602,1260=>602,1261=>602,1262=>602,1263=>602,1264=>602,1265=>602,1266=>602,1267=>602,1268=>602,1269=>602,1270=>602,1271=>602,1272=>602,1273=>602,1296=>602,1297=>602,1306=>602,1307=>602,1308=>602,1309=>602,1329=>602,1330=>602,1331=>602,1332=>602,1333=>602,1334=>602,1335=>602,1336=>602,1337=>602,1338=>602,1339=>602,1340=>602,1341=>602,1342=>602,1343=>602,1344=>602,1345=>602,1346=>602,1347=>602,1348=>602,1349=>602,1350=>602,1351=>602,1352=>602,1353=>602,1354=>602,1355=>602,1356=>602,1357=>602,1358=>602,1359=>602,1360=>602,1361=>602,1362=>602,1363=>602,1364=>602,1365=>602,1366=>602,1369=>602,1370=>602,1371=>602,1372=>602,1373=>602,1374=>602,1375=>602,1377=>602,1378=>602,1379=>602,1380=>602,1381=>602,1382=>602,1383=>602,1384=>602,1385=>602,1386=>602,1387=>602,1388=>602,1389=>602,1390=>602,1391=>602,1392=>602,1393=>602,1394=>602,1395=>602,1396=>602,1397=>602,1398=>602,1399=>602,1400=>602,1401=>602,1402=>602,1403=>602,1404=>602,1405=>602,1406=>602,1407=>602,1408=>602,1409=>602,1410=>602,1411=>602,1412=>602,1413=>602,1414=>602,1415=>602,1417=>602,1418=>602,3713=>602,3714=>602,3716=>602,3719=>602,3720=>602,3722=>602,3725=>602,3732=>602,3733=>602,3734=>602,3735=>602,3737=>602,3738=>602,3739=>602,3740=>602,3741=>602,3742=>602,3743=>602,3745=>602,3746=>602,3747=>602,3749=>602,3751=>602,3754=>602,3755=>602,3757=>602,3758=>602,3759=>602,3760=>602,3761=>602,3762=>602,3763=>602,3764=>602,3765=>602,3766=>602,3767=>602,3768=>602,3769=>602,3771=>602,3772=>602,3784=>602,3785=>602,3786=>602,3787=>602,3788=>602,3789=>602,4304=>602,4305=>602,4306=>602,4307=>602,4308=>602,4309=>602,4310=>602,4311=>602,4312=>602,4313=>602,4314=>602,4315=>602,4316=>602,4317=>602,4318=>602,4319=>602,4320=>602,4321=>602,4322=>602,4323=>602,4324=>602,4325=>602,4326=>602,4327=>602,4328=>602,4329=>602,4330=>602,4331=>602,4332=>602,4333=>602,4334=>602,4335=>602,4336=>602,4337=>602,4338=>602,4339=>602,4340=>602,4341=>602,4342=>602,4343=>602,4344=>602,4345=>602,4346=>602,4347=>602,4348=>602,7426=>602,7432=>602,7433=>602,7444=>602,7446=>602,7447=>602,7453=>602,7454=>602,7455=>602,7468=>602,7469=>602,7470=>602,7472=>602,7473=>602,7474=>602,7475=>602,7476=>602,7477=>602,7478=>602,7479=>602,7480=>602,7481=>602,7482=>602,7483=>602,7484=>602,7486=>602,7487=>602,7488=>602,7489=>602,7490=>602,7491=>602,7492=>602,7493=>602,7494=>602,7495=>602,7496=>602,7497=>602,7498=>602,7499=>602,7500=>602,7501=>602,7502=>602,7503=>602,7504=>602,7505=>602,7506=>602,7507=>602,7508=>602,7509=>602,7510=>602,7511=>602,7512=>602,7513=>602,7514=>602,7515=>602,7522=>602,7523=>602,7524=>602,7525=>602,7543=>602,7544=>602,7547=>602,7557=>602,7579=>602,7580=>602,7581=>602,7582=>602,7583=>602,7584=>602,7585=>602,7586=>602,7587=>602,7588=>602,7589=>602,7590=>602,7591=>602,7592=>602,7593=>602,7594=>602,7595=>602,7596=>602,7597=>602,7598=>602,7599=>602,7600=>602,7601=>602,7602=>602,7603=>602,7604=>602,7605=>602,7606=>602,7607=>602,7609=>602,7610=>602,7611=>602,7612=>602,7613=>602,7614=>602,7615=>602,7680=>602,7681=>602,7682=>602,7683=>602,7684=>602,7685=>602,7686=>602,7687=>602,7688=>602,7689=>602,7690=>602,7691=>602,7692=>602,7693=>602,7694=>602,7695=>602,7696=>602,7697=>602,7698=>602,7699=>602,7704=>602,7705=>602,7706=>602,7707=>602,7708=>602,7709=>602,7710=>602,7711=>602,7712=>602,7713=>602,7714=>602,7715=>602,7716=>602,7717=>602,7718=>602,7719=>602,7720=>602,7721=>602,7722=>602,7723=>602,7724=>602,7725=>602,7728=>602,7729=>602,7730=>602,7731=>602,7732=>602,7733=>602,7734=>602,7735=>602,7736=>602,7737=>602,7738=>602,7739=>602,7740=>602,7741=>602,7742=>602,7743=>602,7744=>602,7745=>602,7746=>602,7747=>602,7748=>602,7749=>602,7750=>602,7751=>602,7752=>602,7753=>602,7754=>602,7755=>602,7756=>602,7757=>602,7764=>602,7765=>602,7766=>602,7767=>602,7768=>602,7769=>602,7770=>602,7771=>602,7772=>602,7773=>602,7774=>602,7775=>602,7776=>602,7777=>602,7778=>602,7779=>602,7784=>602,7785=>602,7786=>602,7787=>602,7788=>602,7789=>602,7790=>602,7791=>602,7792=>602,7793=>602,7794=>602,7795=>602,7796=>602,7797=>602,7798=>602,7799=>602,7800=>602,7801=>602,7804=>602,7805=>602,7806=>602,7807=>602,7808=>602,7809=>602,7810=>602,7811=>602,7812=>602,7813=>602,7814=>602,7815=>602,7816=>602,7817=>602,7818=>602,7819=>602,7820=>602,7821=>602,7822=>602,7823=>602,7824=>602,7825=>602,7826=>602,7827=>602,7828=>602,7829=>602,7830=>602,7831=>602,7832=>602,7833=>602,7835=>602,7839=>602,7840=>602,7841=>602,7852=>602,7853=>602,7856=>602,7857=>602,7862=>602,7863=>602,7864=>602,7865=>602,7868=>602,7869=>602,7878=>602,7879=>602,7882=>602,7883=>602,7884=>602,7885=>602,7896=>602,7897=>602,7898=>602,7899=>602,7900=>602,7901=>602,7904=>602,7905=>602,7906=>602,7907=>602,7908=>602,7909=>602,7912=>602,7913=>602,7914=>602,7915=>602,7918=>602,7919=>602,7920=>602,7921=>602,7922=>602,7923=>602,7924=>602,7925=>602,7928=>602,7929=>602,7936=>602,7937=>602,7938=>602,7939=>602,7940=>602,7941=>602,7942=>602,7943=>602,7944=>602,7945=>602,7946=>602,7947=>602,7948=>602,7949=>602,7950=>602,7951=>602,7952=>602,7953=>602,7954=>602,7955=>602,7956=>602,7957=>602,7960=>602,7961=>602,7962=>602,7963=>602,7964=>602,7965=>602,7968=>602,7969=>602,7970=>602,7971=>602,7972=>602,7973=>602,7974=>602,7975=>602,7976=>602,7977=>602,7978=>602,7979=>602,7980=>602,7981=>602,7982=>602,7983=>602,7984=>602,7985=>602,7986=>602,7987=>602,7988=>602,7989=>602,7990=>602,7991=>602,7992=>602,7993=>602,7994=>602,7995=>602,7996=>602,7997=>602,7998=>602,7999=>602,8000=>602,8001=>602,8002=>602,8003=>602,8004=>602,8005=>602,8008=>602,8009=>602,8010=>602,8011=>602,8012=>602,8013=>602,8016=>602,8017=>602,8018=>602,8019=>602,8020=>602,8021=>602,8022=>602,8023=>602,8025=>602,8027=>602,8029=>602,8031=>602,8032=>602,8033=>602,8034=>602,8035=>602,8036=>602,8037=>602,8038=>602,8039=>602,8040=>602,8041=>602,8042=>602,8043=>602,8044=>602,8045=>602,8046=>602,8047=>602,8048=>602,8049=>602,8050=>602,8051=>602,8052=>602,8053=>602,8054=>602,8055=>602,8056=>602,8057=>602,8058=>602,8059=>602,8060=>602,8061=>602,8064=>602,8065=>602,8066=>602,8067=>602,8068=>602,8069=>602,8070=>602,8071=>602,8072=>602,8073=>602,8074=>602,8075=>602,8076=>602,8077=>602,8078=>602,8079=>602,8080=>602,8081=>602,8082=>602,8083=>602,8084=>602,8085=>602,8086=>602,8087=>602,8088=>602,8089=>602,8090=>602,8091=>602,8092=>602,8093=>602,8094=>602,8095=>602,8096=>602,8097=>602,8098=>602,8099=>602,8100=>602,8101=>602,8102=>602,8103=>602,8104=>602,8105=>602,8106=>602,8107=>602,8108=>602,8109=>602,8110=>602,8111=>602,8112=>602,8113=>602,8114=>602,8115=>602,8116=>602,8118=>602,8119=>602,8120=>602,8121=>602,8122=>602,8123=>602,8124=>602,8125=>602,8126=>602,8127=>602,8128=>602,8129=>602,8130=>602,8131=>602,8132=>602,8134=>602,8135=>602,8136=>602,8137=>602,8138=>602,8139=>602,8140=>602,8141=>602,8142=>602,8143=>602,8144=>602,8145=>602,8146=>602,8147=>602,8150=>602,8151=>602,8152=>602,8153=>602,8154=>602,8155=>602,8157=>602,8158=>602,8159=>602,8160=>602,8161=>602,8162=>602,8163=>602,8164=>602,8165=>602,8166=>602,8167=>602,8168=>602,8169=>602,8170=>602,8171=>602,8172=>602,8173=>602,8174=>602,8175=>602,8178=>602,8179=>602,8180=>602,8182=>602,8183=>602,8184=>602,8185=>602,8186=>602,8187=>602,8188=>602,8189=>602,8190=>602,8192=>602,8193=>602,8194=>602,8195=>602,8196=>602,8197=>602,8198=>602,8199=>602,8200=>602,8201=>602,8202=>602,8208=>602,8209=>602,8210=>602,8211=>602,8212=>602,8213=>602,8214=>602,8215=>602,8216=>602,8217=>602,8218=>602,8219=>602,8220=>602,8221=>602,8222=>602,8223=>602,8224=>602,8225=>602,8226=>602,8227=>602,8230=>602,8239=>602,8240=>602,8241=>602,8242=>602,8243=>602,8244=>602,8245=>602,8246=>602,8247=>602,8249=>602,8250=>602,8252=>602,8253=>602,8254=>602,8261=>602,8262=>602,8263=>602,8264=>602,8265=>602,8267=>602,8287=>602,8304=>602,8305=>602,8308=>602,8309=>602,8310=>602,8311=>602,8312=>602,8313=>602,8314=>602,8315=>602,8316=>602,8317=>602,8318=>602,8319=>602,8320=>602,8321=>602,8322=>602,8323=>602,8324=>602,8325=>602,8326=>602,8327=>602,8328=>602,8329=>602,8330=>602,8331=>602,8332=>602,8333=>602,8334=>602,8336=>602,8337=>602,8338=>602,8339=>602,8340=>602,8341=>602,8342=>602,8343=>602,8344=>602,8345=>602,8346=>602,8347=>602,8348=>602,8352=>602,8353=>602,8354=>602,8355=>602,8356=>602,8357=>602,8358=>602,8359=>602,8360=>602,8361=>602,8362=>602,8363=>602,8364=>602,8365=>602,8366=>602,8367=>602,8368=>602,8369=>602,8370=>602,8371=>602,8372=>602,8373=>602,8376=>602,8377=>602,8450=>602,8453=>602,8461=>602,8462=>602,8463=>602,8469=>602,8470=>602,8471=>602,8473=>602,8474=>602,8477=>602,8482=>602,8484=>602,8486=>602,8490=>602,8491=>602,8494=>602,8520=>602,8531=>602,8532=>602,8533=>602,8534=>602,8535=>602,8536=>602,8537=>602,8538=>602,8539=>602,8540=>602,8541=>602,8542=>602,8543=>602,8592=>602,8593=>602,8594=>602,8595=>602,8596=>602,8597=>602,8598=>602,8599=>602,8600=>602,8601=>602,8602=>602,8603=>602,8604=>602,8605=>602,8606=>602,8607=>602,8608=>602,8609=>602,8610=>602,8611=>602,8612=>602,8613=>602,8614=>602,8615=>602,8616=>602,8617=>602,8618=>602,8619=>602,8620=>602,8621=>602,8622=>602,8623=>602,8624=>602,8625=>602,8626=>602,8627=>602,8628=>602,8629=>602,8630=>602,8631=>602,8632=>602,8633=>602,8634=>602,8635=>602,8636=>602,8637=>602,8638=>602,8639=>602,8640=>602,8641=>602,8642=>602,8643=>602,8644=>602,8645=>602,8646=>602,8647=>602,8648=>602,8649=>602,8650=>602,8651=>602,8652=>602,8653=>602,8654=>602,8655=>602,8656=>602,8657=>602,8658=>602,8659=>602,8660=>602,8661=>602,8662=>602,8663=>602,8664=>602,8665=>602,8666=>602,8667=>602,8668=>602,8669=>602,8670=>602,8671=>602,8672=>602,8673=>602,8674=>602,8675=>602,8676=>602,8677=>602,8678=>602,8679=>602,8680=>602,8681=>602,8682=>602,8683=>602,8684=>602,8685=>602,8686=>602,8687=>602,8688=>602,8689=>602,8690=>602,8691=>602,8692=>602,8693=>602,8694=>602,8695=>602,8696=>602,8697=>602,8698=>602,8699=>602,8700=>602,8701=>602,8702=>602,8703=>602,8704=>602,8705=>602,8706=>602,8707=>602,8708=>602,8709=>602,8710=>602,8711=>602,8712=>602,8713=>602,8714=>602,8715=>602,8716=>602,8717=>602,8719=>602,8721=>602,8722=>602,8723=>602,8725=>602,8727=>602,8728=>602,8729=>602,8730=>602,8731=>602,8732=>602,8733=>602,8734=>602,8735=>602,8736=>602,8743=>602,8744=>602,8745=>602,8746=>602,8747=>602,8748=>602,8749=>602,8756=>602,8757=>602,8758=>602,8759=>602,8760=>602,8761=>602,8762=>602,8763=>602,8764=>602,8765=>602,8769=>602,8770=>602,8771=>602,8772=>602,8773=>602,8774=>602,8775=>602,8776=>602,8777=>602,8778=>602,8779=>602,8780=>602,8781=>602,8782=>602,8783=>602,8784=>602,8785=>602,8786=>602,8787=>602,8788=>602,8789=>602,8790=>602,8791=>602,8792=>602,8793=>602,8794=>602,8795=>602,8796=>602,8797=>602,8798=>602,8799=>602,8800=>602,8801=>602,8802=>602,8803=>602,8804=>602,8805=>602,8806=>602,8807=>602,8808=>602,8809=>602,8813=>602,8814=>602,8815=>602,8816=>602,8817=>602,8818=>602,8819=>602,8820=>602,8821=>602,8822=>602,8823=>602,8824=>602,8825=>602,8826=>602,8827=>602,8828=>602,8829=>602,8830=>602,8831=>602,8832=>602,8833=>602,8834=>602,8835=>602,8836=>602,8837=>602,8838=>602,8839=>602,8840=>602,8841=>602,8842=>602,8843=>602,8847=>602,8848=>602,8849=>602,8850=>602,8853=>602,8854=>602,8855=>602,8856=>602,8857=>602,8858=>602,8859=>602,8860=>602,8861=>602,8862=>602,8863=>602,8864=>602,8865=>602,8866=>602,8867=>602,8868=>602,8869=>602,8901=>602,8902=>602,8909=>602,8922=>602,8923=>602,8924=>602,8925=>602,8926=>602,8927=>602,8928=>602,8929=>602,8930=>602,8931=>602,8932=>602,8933=>602,8934=>602,8935=>602,8936=>602,8937=>602,8943=>602,8960=>602,8961=>602,8962=>602,8963=>602,8964=>602,8965=>602,8966=>602,8968=>602,8969=>602,8970=>602,8971=>602,8972=>602,8973=>602,8974=>602,8975=>602,8976=>602,8977=>602,8978=>602,8979=>602,8980=>602,8981=>602,8984=>602,8985=>602,8988=>602,8989=>602,8990=>602,8991=>602,8992=>602,8993=>602,8997=>602,8998=>602,8999=>602,9000=>602,9003=>602,9013=>602,9015=>602,9016=>602,9017=>602,9018=>602,9019=>602,9020=>602,9021=>602,9022=>602,9025=>602,9026=>602,9027=>602,9028=>602,9031=>602,9032=>602,9033=>602,9035=>602,9036=>602,9037=>602,9040=>602,9042=>602,9043=>602,9044=>602,9047=>602,9048=>602,9049=>602,9050=>602,9051=>602,9052=>602,9054=>602,9055=>602,9056=>602,9059=>602,9060=>602,9061=>602,9064=>602,9065=>602,9067=>602,9068=>602,9069=>602,9070=>602,9071=>602,9072=>602,9075=>602,9076=>602,9077=>602,9078=>602,9079=>602,9080=>602,9081=>602,9082=>602,9085=>602,9088=>602,9089=>602,9090=>602,9091=>602,9096=>602,9097=>602,9098=>602,9099=>602,9109=>602,9115=>602,9116=>602,9117=>602,9118=>602,9119=>602,9120=>602,9121=>602,9122=>602,9123=>602,9124=>602,9125=>602,9126=>602,9127=>602,9128=>602,9129=>602,9130=>602,9131=>602,9132=>602,9133=>602,9134=>602,9166=>602,9167=>602,9251=>602,9600=>602,9601=>602,9602=>602,9603=>602,9604=>602,9605=>602,9606=>602,9607=>602,9608=>602,9609=>602,9610=>602,9611=>602,9612=>602,9613=>602,9614=>602,9615=>602,9616=>602,9617=>602,9618=>602,9619=>602,9620=>602,9621=>602,9622=>602,9623=>602,9624=>602,9625=>602,9626=>602,9627=>602,9628=>602,9629=>602,9630=>602,9631=>602,9632=>602,9633=>602,9634=>602,9635=>602,9636=>602,9637=>602,9638=>602,9639=>602,9640=>602,9641=>602,9642=>602,9643=>602,9644=>602,9645=>602,9646=>602,9647=>602,9648=>602,9649=>602,9650=>602,9651=>602,9652=>602,9653=>602,9654=>602,9655=>602,9656=>602,9657=>602,9658=>602,9659=>602,9660=>602,9661=>602,9662=>602,9663=>602,9664=>602,9665=>602,9666=>602,9667=>602,9668=>602,9669=>602,9670=>602,9671=>602,9672=>602,9673=>602,9674=>602,9675=>602,9676=>602,9677=>602,9678=>602,9679=>602,9680=>602,9681=>602,9682=>602,9683=>602,9684=>602,9685=>602,9686=>602,9687=>602,9688=>602,9689=>602,9690=>602,9691=>602,9692=>602,9693=>602,9694=>602,9695=>602,9696=>602,9697=>602,9698=>602,9699=>602,9700=>602,9701=>602,9702=>602,9703=>602,9704=>602,9705=>602,9706=>602,9707=>602,9708=>602,9709=>602,9710=>602,9711=>602,9712=>602,9713=>602,9714=>602,9715=>602,9716=>602,9717=>602,9718=>602,9719=>602,9720=>602,9721=>602,9722=>602,9723=>602,9724=>602,9725=>602,9726=>602,9727=>602,9728=>602,9784=>602,9785=>602,9786=>602,9787=>602,9788=>602,9791=>602,9792=>602,9793=>602,9794=>602,9795=>602,9796=>602,9797=>602,9798=>602,9799=>602,9824=>602,9825=>602,9826=>602,9827=>602,9828=>602,9829=>602,9830=>602,9831=>602,9833=>602,9834=>602,9835=>602,9836=>602,9837=>602,9838=>602,9839=>602,10178=>602,10181=>602,10182=>602,10208=>602,10214=>602,10215=>602,10216=>602,10217=>602,10731=>602,10746=>602,10747=>602,10799=>602,10858=>602,10859=>602,11013=>602,11014=>602,11015=>602,11016=>602,11017=>602,11018=>602,11019=>602,11020=>602,11021=>602,11026=>602,11027=>602,11028=>602,11029=>602,11030=>602,11031=>602,11032=>602,11033=>602,11034=>602,11364=>602,11373=>602,11374=>602,11375=>602,11376=>602,11381=>602,11382=>602,11383=>602,11385=>602,11386=>602,11388=>602,11389=>602,11390=>602,11391=>602,11800=>602,11807=>602,11810=>602,11811=>602,11812=>602,11813=>602,11822=>602,42760=>602,42761=>602,42762=>602,42763=>602,42764=>602,42765=>602,42766=>602,42767=>602,42768=>602,42769=>602,42770=>602,42771=>602,42772=>602,42773=>602,42774=>602,42779=>602,42780=>602,42781=>602,42782=>602,42783=>602,42786=>602,42787=>602,42788=>602,42789=>602,42790=>602,42791=>602,42889=>602,42890=>602,42891=>602,42892=>602,42893=>602,42894=>602,42896=>602,42897=>602,42922=>602,63173=>602,64257=>602,64258=>602,65529=>602,65530=>602,65531=>602,65532=>602,65533=>602,65535=>602); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.z new file mode 100644 index 0000000..a866f79 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonobi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.ctg.z new file mode 100644 index 0000000..0fa53ab Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.php b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.php new file mode 100644 index 0000000..753fa9a --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.php @@ -0,0 +1,16 @@ +97,'FontBBox'=>'[-403 -375 746 1028]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>547,'StemV'=>34,'StemH'=>15,'AvgWidth'=>602,'MaxWidth'=>602,'MissingWidth'=>602); +$cbbox=array(0=>array(51,-177,551,705),33=>array(181,0,422,729),34=>array(165,458,437,729),35=>array(-3,0,602,718),36=>array(15,-147,529,760),37=>array(16,0,586,699),38=>array(-10,-14,581,742),39=>array(258,458,343,729),40=>array(182,-132,509,759),41=>array(73,-132,400,759),42=>array(81,286,521,742),43=>array(43,55,559,572),44=>array(99,-140,326,148),45=>array(148,234,419,314),46=>array(173,0,325,148),47=>array(8,-93,517,729),48=>array(48,-14,554,742),49=>array(60,0,478,729),50=>array(3,0,550,742),51=>array(-9,-14,538,742),52=>array(12,0,531,729),53=>array(2,-14,541,729),54=>array(45,-14,551,742),55=>array(85,0,592,729),56=>array(20,-14,550,742),57=>array(31,-14,537,742),58=>array(168,0,392,518),59=>array(99,-140,392,519),60=>array(43,69,559,558),61=>array(43,172,559,454),62=>array(43,69,559,558),63=>array(159,0,547,742),64=>array(-14,-155,593,682),65=>array(-52,0,513,729),66=>array(11,0,570,729),67=>array(56,-14,592,742),68=>array(-4,0,552,729),69=>array(26,0,600,729),70=>array(45,0,616,729),71=>array(38,-14,574,742),72=>array(-4,0,606,729),73=>array(28,0,574,729),74=>array(-12,-14,538,729),75=>array(-4,0,661,729),76=>array(38,0,505,729),77=>array(-29,0,631,729),78=>array(-3,0,605,729),79=>array(40,-14,562,742),80=>array(25,0,588,729),81=>array(40,-132,562,742),82=>array(6,0,562,729),83=>array(12,-14,560,742),84=>array(78,0,651,729),85=>array(39,-14,601,729),86=>array(97,0,646,729),87=>array(40,0,672,729),88=>array(-62,0,653,729),89=>array(95,0,658,729),90=>array(-3,0,622,729),91=>array(129,-132,510,760),92=>array(174,-93,354,729),93=>array(72,-132,453,760),94=>array(35,457,567,729),95=>array(0,-236,602,-197),96=>array(221,616,414,800),97=>array(35,-14,531,560),98=>array(29,-14,541,760),99=>array(76,-14,555,560),100=>array(58,-14,612,760),101=>array(48,-14,550,561),102=>array(129,0,608,760),103=>array(29,-215,559,560),104=>array(41,0,535,760),105=>array(30,0,490,760),106=>array(2,-208,482,760),107=>array(44,0,588,760),108=>array(152,0,477,765),109=>array(-7,0,575,560),110=>array(41,0,535,560),111=>array(57,-14,544,560),112=>array(-1,-208,551,560),113=>array(48,-208,560,560),114=>array(106,0,595,560),115=>array(56,-14,526,560),116=>array(95,0,549,702),117=>array(61,-13,553,547),118=>array(89,0,593,547),119=>array(45,0,642,547),120=>array(-34,0,590,547),121=>array(-19,-208,598,547),122=>array(38,0,553,547),123=>array(90,-163,574,760),124=>array(259,-236,343,764),125=>array(-7,-163,477,760),126=>array(43,240,559,381),161=>array(190,0,431,729),162=>array(60,-153,531,699),163=>array(-4,0,600,742),164=>array(100,95,537,532),165=>array(23,0,621,729),166=>array(259,-171,343,699),167=>array(49,-98,522,738),168=>array(213,659,522,758),169=>array(0,61,602,663),170=>array(109,229,506,742),171=>array(36,69,540,517),172=>array(43,181,559,421),173=>array(148,234,419,314),174=>array(0,61,602,663),175=>array(215,673,521,745),176=>array(146,432,456,742),177=>array(43,0,559,572),178=>array(150,326,484,742),179=>array(140,319,480,742),180=>array(281,616,550,800),181=>array(-19,-208,566,547),182=>array(61,-96,557,729),183=>array(222,273,374,422),184=>array(89,-193,306,0),185=>array(170,326,450,734),186=>array(109,229,520,742),187=>array(40,69,544,517),188=>array(23,-132,553,810),189=>array(23,-132,559,810),190=>array(23,-132,553,818),191=>array(70,-13,458,729),192=>array(-52,0,513,927),193=>array(-52,0,534,927),194=>array(-52,0,525,928),195=>array(-52,0,565,921),196=>array(-52,0,537,913),197=>array(-52,0,513,928),198=>array(-71,0,638,729),199=>array(56,-193,592,742),200=>array(26,0,600,927),201=>array(26,0,600,927),202=>array(26,0,600,928),203=>array(26,0,600,913),204=>array(28,0,574,927),205=>array(28,0,574,927),206=>array(28,0,574,928),207=>array(28,0,574,913),208=>array(-4,0,552,729),209=>array(-3,0,605,921),210=>array(40,-14,562,927),211=>array(40,-14,562,927),212=>array(40,-14,562,928),213=>array(40,-14,562,921),214=>array(40,-14,562,913),215=>array(73,85,529,541),216=>array(7,-34,586,761),217=>array(39,-14,601,927),218=>array(39,-14,601,927),219=>array(39,-14,601,928),220=>array(39,-14,601,913),221=>array(95,0,658,927),222=>array(25,0,566,729),223=>array(27,-14,550,760),224=>array(35,-14,531,800),225=>array(35,-14,552,800),226=>array(35,-14,531,800),227=>array(35,-14,544,777),228=>array(35,-14,531,758),229=>array(35,-14,531,913),230=>array(-23,-14,593,560),231=>array(76,-193,555,560),232=>array(48,-14,550,800),233=>array(48,-14,550,800),234=>array(48,-14,550,800),235=>array(48,-14,550,758),236=>array(30,0,490,800),237=>array(30,0,536,800),238=>array(30,0,490,800),239=>array(30,0,508,758),240=>array(58,-14,552,760),241=>array(41,0,542,777),242=>array(57,-14,544,800),243=>array(57,-14,550,800),244=>array(57,-14,544,800),245=>array(57,-14,544,777),246=>array(57,-14,544,758),247=>array(43,73,559,554),248=>array(23,-47,573,592),249=>array(61,-13,553,800),250=>array(61,-13,553,800),251=>array(61,-13,553,800),252=>array(61,-13,553,758),253=>array(-19,-208,598,800),254=>array(-1,-208,551,765),255=>array(-19,-208,598,758),256=>array(-52,0,551,898),257=>array(35,-14,531,745),258=>array(-52,0,564,928),259=>array(35,-14,536,785),260=>array(-52,-193,522,729),261=>array(35,-193,531,560),262=>array(56,-14,594,927),263=>array(76,-14,594,800),264=>array(56,-14,605,928),265=>array(76,-14,555,800),266=>array(56,-14,592,914),267=>array(76,-14,555,758),268=>array(56,-14,611,928),269=>array(76,-14,582,800),270=>array(-4,0,552,928),271=>array(58,-14,738,760),272=>array(-4,0,552,729),273=>array(58,-14,691,760),274=>array(26,0,600,898),275=>array(48,-14,550,745),276=>array(26,0,600,928),277=>array(48,-14,550,785),278=>array(26,0,600,914),279=>array(48,-14,550,758),280=>array(26,-193,600,729),281=>array(48,-193,550,561),282=>array(26,0,600,928),283=>array(48,-14,565,800),284=>array(38,-14,574,928),285=>array(29,-215,559,800),286=>array(38,-14,589,928),287=>array(29,-215,559,785),288=>array(38,-14,574,914),289=>array(29,-215,559,758),290=>array(38,-280,574,742),291=>array(29,-215,559,788),292=>array(-4,0,606,928),293=>array(41,0,535,928),294=>array(-4,0,650,729),295=>array(21,0,514,760),296=>array(28,0,574,921),297=>array(30,0,528,777),298=>array(28,0,574,898),299=>array(30,0,521,745),300=>array(28,0,574,928),301=>array(30,0,536,785),302=>array(45,-193,592,729),303=>array(32,-193,493,760),304=>array(28,0,574,914),305=>array(30,0,490,547),306=>array(1,-14,705,729),307=>array(2,-209,737,760),308=>array(-12,-14,566,928),309=>array(2,-208,488,800),310=>array(-4,-266,661,729),311=>array(44,-266,588,760),312=>array(62,0,606,547),313=>array(38,0,536,928),314=>array(152,0,536,928),315=>array(38,-266,505,729),316=>array(152,-266,477,765),317=>array(38,0,540,729),318=>array(152,0,604,766),319=>array(38,0,548,729),320=>array(152,0,653,765),321=>array(-14,0,507,728),322=>array(43,0,544,765),323=>array(-3,0,605,931),324=>array(41,0,546,803),325=>array(-3,-266,605,729),326=>array(41,-266,535,560),327=>array(-3,0,605,928),328=>array(41,0,562,800),329=>array(-17,0,595,760),330=>array(20,-208,573,743),331=>array(61,-208,554,560),332=>array(40,-14,562,898),333=>array(57,-14,544,745),334=>array(40,-14,564,928),335=>array(57,-14,544,785),336=>array(40,-14,621,927),337=>array(57,-14,598,800),338=>array(17,0,660,729),339=>array(-3,-14,621,560),340=>array(6,0,562,928),341=>array(106,0,651,803),342=>array(6,-266,562,729),343=>array(25,-266,595,560),344=>array(6,0,562,928),345=>array(106,0,595,800),346=>array(12,-14,560,931),347=>array(56,-14,546,803),348=>array(12,-14,560,928),349=>array(56,-14,536,813),350=>array(12,-193,560,742),351=>array(56,-193,526,560),352=>array(12,-14,560,928),353=>array(56,-14,538,800),354=>array(78,-193,651,729),355=>array(95,-193,549,702),356=>array(78,0,651,928),357=>array(95,0,626,820),358=>array(78,0,650,729),359=>array(87,0,542,702),360=>array(39,-14,601,921),361=>array(61,-13,553,777),362=>array(39,-14,601,898),363=>array(61,-13,553,745),364=>array(39,-14,601,928),365=>array(61,-13,553,785),366=>array(39,-14,601,1028),367=>array(61,-13,553,847),368=>array(39,-14,621,927),369=>array(61,-13,598,800),370=>array(39,-201,601,729),371=>array(61,-194,553,547),372=>array(40,0,672,932),373=>array(45,0,642,803),374=>array(95,0,658,932),375=>array(-19,-208,598,803),376=>array(95,0,658,913),377=>array(-3,0,622,931),378=>array(38,0,553,803),379=>array(-3,0,622,914),380=>array(38,0,553,758),381=>array(-3,0,622,928),382=>array(38,0,553,800),383=>array(129,0,608,760),384=>array(29,-14,541,760),385=>array(41,0,598,729),386=>array(10,0,593,729),387=>array(21,-14,537,760),388=>array(33,0,547,729),389=>array(51,-14,554,760),390=>array(2,-14,524,742),391=>array(23,-14,652,800),392=>array(33,-14,625,694),393=>array(-4,0,552,729),394=>array(35,0,598,729),395=>array(49,0,626,729),396=>array(32,0,609,729),397=>array(58,-14,601,760),398=>array(25,0,609,729),399=>array(57,-14,545,742),400=>array(35,-14,573,742),401=>array(-61,-208,663,729),402=>array(35,-208,613,760),403=>array(19,-14,656,800),404=>array(35,-210,673,661),405=>array(-42,0,579,760),406=>array(153,0,574,729),407=>array(27,0,574,729),408=>array(-17,0,640,729),409=>array(41,0,586,760),410=>array(93,0,446,765),411=>array(-22,0,549,729),412=>array(18,-13,626,729),413=>array(-77,-208,604,729),414=>array(61,-210,545,560),415=>array(57,-14,545,742),416=>array(-20,-14,634,760),417=>array(5,-14,595,560),418=>array(21,-14,651,742),419=>array(61,-210,650,560),420=>array(59,0,609,729),421=>array(4,-208,546,699),422=>array(11,-129,544,729),423=>array(36,-14,568,742),424=>array(82,-14,525,560),425=>array(-13,0,625,729),426=>array(131,-208,530,760),427=>array(108,-208,563,702),428=>array(54,0,650,729),429=>array(83,0,552,760),430=>array(78,-208,651,729),431=>array(-29,-14,652,760),432=>array(-15,-13,592,555),433=>array(38,0,635,713),434=>array(43,0,520,729),435=>array(79,0,658,730),436=>array(-13,-208,669,547),437=>array(5,0,631,729),438=>array(43,0,559,548),439=>array(-16,-14,602,729),440=>array(-16,-14,619,729),441=>array(1,-213,679,547),442=>array(-9,-208,533,547),443=>array(2,0,544,742),444=>array(-16,-14,628,729),445=>array(-6,-213,567,547),446=>array(32,-14,482,702),447=>array(-15,-208,593,560),448=>array(181,0,421,729),449=>array(82,0,520,729),450=>array(58,0,555,729),451=>array(181,0,422,729),461=>array(-52,0,554,928),462=>array(35,-14,553,800),463=>array(28,0,574,928),464=>array(30,0,538,800),465=>array(40,-14,571,928),466=>array(57,-14,563,800),467=>array(39,-14,601,928),468=>array(61,-13,553,800),469=>array(39,-14,601,953),470=>array(61,-13,553,899),471=>array(39,-14,601,997),472=>array(61,-13,585,954),473=>array(39,-14,601,998),474=>array(61,-13,579,954),475=>array(39,-14,601,997),476=>array(61,-13,553,954),477=>array(55,-14,542,560),479=>array(35,-14,559,899),480=>array(-52,0,556,953),481=>array(35,-14,559,899),482=>array(-71,0,638,898),483=>array(-23,-14,593,745),486=>array(38,-14,574,928),487=>array(29,-215,559,800),488=>array(-4,0,661,928),489=>array(44,0,588,928),490=>array(40,-201,562,742),491=>array(57,-201,544,560),492=>array(40,-201,562,898),493=>array(57,-201,544,745),494=>array(-16,-14,602,928),495=>array(-6,-213,572,800),500=>array(38,-14,574,927),501=>array(29,-215,559,800),502=>array(-40,-14,586,729),504=>array(-3,0,605,927),505=>array(41,0,535,800),508=>array(-71,0,654,927),509=>array(-23,-14,593,800),510=>array(7,-34,586,927),511=>array(23,-47,573,800),512=>array(-52,0,519,927),513=>array(35,-14,531,800),514=>array(-52,0,542,928),515=>array(35,-14,531,785),516=>array(26,0,600,927),517=>array(48,-14,550,800),518=>array(26,0,600,928),519=>array(48,-14,550,785),520=>array(28,0,574,927),521=>array(30,0,495,800),522=>array(28,0,574,928),523=>array(30,0,511,785),524=>array(40,-14,562,927),525=>array(57,-14,544,800),526=>array(40,-14,562,928),527=>array(57,-14,544,785),528=>array(6,0,562,927),529=>array(106,0,595,800),530=>array(6,0,562,928),531=>array(106,0,595,785),532=>array(39,-14,601,927),533=>array(61,-13,553,800),534=>array(39,-14,601,928),535=>array(61,-13,553,785),536=>array(12,-265,560,742),537=>array(56,-265,526,560),538=>array(78,-265,651,729),539=>array(95,-265,549,702),540=>array(17,-210,646,742),541=>array(40,-211,591,560),542=>array(-4,0,606,928),543=>array(41,0,535,928),545=>array(-5,-72,538,760),548=>array(25,-208,651,729),549=>array(66,-208,582,548),550=>array(-52,0,513,914),551=>array(35,-14,531,758),552=>array(26,-193,600,729),553=>array(48,-193,550,561),554=>array(40,-14,562,953),555=>array(57,-14,544,899),556=>array(40,-14,562,953),557=>array(57,-14,544,899),558=>array(40,-14,562,914),559=>array(57,-14,544,758),560=>array(40,-14,562,953),561=>array(57,-14,544,899),562=>array(95,0,658,898),563=>array(-19,-208,598,745),564=>array(146,-72,465,765),565=>array(4,-72,531,560),566=>array(95,-72,549,702),567=>array(2,-208,441,547),568=>array(32,-14,531,760),569=>array(71,-214,570,560),570=>array(-67,-34,656,761),571=>array(-67,-34,656,761),572=>array(-32,-47,628,592),573=>array(-6,0,537,729),574=>array(-55,-34,668,761),575=>array(77,-242,547,560),576=>array(69,-242,585,548),577=>array(59,0,604,729),579=>array(-32,0,570,729),580=>array(-4,-14,601,729),581=>array(-44,0,505,729),588=>array(-0,0,562,729),589=>array(58,0,595,560),592=>array(54,-14,549,560),593=>array(77,-14,579,560),594=>array(23,-14,525,560),595=>array(4,-14,507,760),596=>array(42,-14,513,560),597=>array(90,-72,572,558),598=>array(67,-208,556,760),599=>array(40,-14,601,760),600=>array(33,-14,542,560),601=>array(55,-14,542,560),602=>array(-3,-14,595,560),603=>array(60,-11,551,560),604=>array(32,-11,532,560),605=>array(-23,-11,582,560),606=>array(86,-21,542,559),607=>array(-5,-208,559,547),608=>array(36,-215,620,760),609=>array(69,-215,600,545),610=>array(59,0,574,574),611=>array(52,-210,626,547),612=>array(103,0,605,547),613=>array(100,-210,583,546),614=>array(18,0,502,760),615=>array(38,-208,522,760),616=>array(4,0,503,760),617=>array(136,0,466,547),618=>array(24,0,578,547),619=>array(15,0,559,765),620=>array(79,0,466,765),621=>array(168,-208,435,765),622=>array(101,-213,601,765),623=>array(33,0,606,560),624=>array(53,-210,626,560),625=>array(16,-208,589,560),626=>array(12,-208,568,560),627=>array(32,-208,484,560),628=>array(16,0,586,560),629=>array(67,-14,535,560),630=>array(34,0,616,547),631=>array(72,-15,523,560),632=>array(48,-208,561,759),633=>array(87,-13,516,547),634=>array(67,-13,536,755),635=>array(50,-208,479,547),636=>array(66,-208,535,560),637=>array(104,-208,535,560),638=>array(23,0,579,560),639=>array(23,0,483,560),640=>array(6,0,490,547),641=>array(6,0,596,547),642=>array(56,-208,550,560),643=>array(20,-208,582,760),644=>array(-33,-208,635,760),645=>array(173,-208,429,549),646=>array(-16,-208,639,760),647=>array(81,-155,535,547),648=>array(156,-208,610,702),649=>array(-25,-14,625,547),650=>array(47,-15,610,547),651=>array(71,0,555,547),652=>array(-19,0,514,547),653=>array(-46,0,542,547),654=>array(-39,0,591,755),655=>array(104,0,607,561),656=>array(62,-208,509,547),657=>array(33,-54,579,547),658=>array(-6,-213,572,547),659=>array(17,-213,552,547),660=>array(144,0,537,759),661=>array(124,0,575,759),662=>array(27,0,478,759),663=>array(44,-214,595,759),664=>array(46,22,556,532),665=>array(47,0,504,561),666=>array(60,-21,517,559),667=>array(8,0,627,759),668=>array(16,0,586,560),669=>array(25,-208,509,760),670=>array(38,-213,618,547),671=>array(65,0,444,560),672=>array(17,-208,654,759),673=>array(59,0,537,759),674=>array(124,0,575,759),675=>array(-7,-14,609,760),676=>array(10,-213,615,760),677=>array(8,-54,612,760),678=>array(79,-14,546,702),679=>array(105,-208,620,760),680=>array(98,-70,550,702),681=>array(64,-208,550,760),682=>array(40,-14,499,760),683=>array(33,0,527,760),684=>array(65,-15,596,641),685=>array(16,84,586,640),686=>array(160,-214,568,760),687=>array(147,-208,491,760),688=>array(115,318,440,744),689=>array(115,317,440,743),690=>array(185,202,417,744),691=>array(169,318,432,632),692=>array(170,311,433,625),693=>array(146,202,408,625),694=>array(119,318,483,625),695=>array(100,318,562,625),696=>array(123,202,510,625),697=>array(216,557,389,800),699=>array(226,472,453,760),700=>array(198,472,425,760),701=>array(242,595,384,844),702=>array(300,492,460,760),703=>array(292,492,452,760),704=>array(199,437,448,862),705=>array(187,437,469,862),710=>array(194,616,502,800),711=>array(230,616,538,800),712=>array(241,488,361,759),713=>array(215,673,521,745),716=>array(241,-148,361,123),717=>array(51,-174,357,-102),718=>array(269,-285,462,-102),719=>array(233,-285,502,-102),720=>array(164,0,438,517),721=>array(229,355,404,517),722=>array(252,249,413,517),723=>array(245,249,405,517),726=>array(148,125,455,417),727=>array(184,234,418,307),728=>array(229,645,536,785),729=>array(308,658,428,758),730=>array(246,645,514,913),731=>array(113,-193,293,0),732=>array(196,638,542,777),733=>array(215,616,598,800),734=>array(-176,233,420,504),736=>array(148,208,500,632),737=>array(201,326,402,755),738=>array(142,326,442,648),739=>array(104,326,491,632),740=>array(188,326,469,751),741=>array(199,0,521,668),742=>array(169,0,521,668),743=>array(140,0,521,668),744=>array(111,0,521,668),745=>array(82,0,521,668),750=>array(108,472,559,760),755=>array(94,-245,313,-31),768=>array(221,616,414,800),769=>array(281,616,550,800),770=>array(194,616,502,800),771=>array(196,638,542,777),772=>array(215,673,521,745),773=>array(0,716,602,755),774=>array(229,645,536,785),775=>array(308,658,428,758),776=>array(213,659,522,758),777=>array(207,618,408,847),778=>array(246,645,514,913),779=>array(215,616,598,800),780=>array(230,616,538,800),781=>array(245,616,354,833),782=>array(146,616,454,833),783=>array(188,616,495,800),784=>array(229,645,536,857),785=>array(203,645,511,785),786=>array(229,472,424,641),787=>array(218,595,384,844),788=>array(242,595,384,844),789=>array(281,616,458,800),790=>array(269,-285,462,-102),791=>array(233,-285,502,-102),792=>array(188,-375,370,-135),793=>array(229,-375,412,-135),794=>array(191,690,444,930),795=>array(197,373,406,555),796=>array(147,-245,278,-31),797=>array(178,-288,430,-135),798=>array(204,-288,456,-135),799=>array(183,-375,435,-135),800=>array(175,-202,427,-135),801=>array(151,-208,472,63),802=>array(39,-208,284,63),803=>array(141,-202,261,-102),804=>array(46,-201,356,-103),805=>array(94,-245,313,-31),806=>array(85,-265,280,-96),807=>array(89,-193,306,0),808=>array(118,-193,298,0),809=>array(247,-319,355,-102),810=>array(150,-263,452,-102),811=>array(114,-222,515,-82),812=>array(64,-237,376,-53),813=>array(28,-237,341,-53),814=>array(57,-238,365,-98),815=>array(31,-237,340,-97),816=>array(23,-238,370,-99),817=>array(51,-174,357,-102),818=>array(0,-236,602,-197),819=>array(0,-236,602,-80),820=>array(29,240,573,381),821=>array(69,221,519,301),822=>array(0,221,602,301),823=>array(-32,-47,628,592),824=>array(-67,-34,656,761),825=>array(129,-245,260,-31),826=>array(150,-188,452,-26),827=>array(140,-371,462,-102),828=>array(87,-222,488,-82),829=>array(181,599,421,816),830=>array(207,595,395,853),831=>array(0,599,602,755),835=>array(218,595,384,844),856=>array(626,658,746,758),865=>array(-131,742,702,902),884=>array(216,557,389,800),885=>array(213,-208,386,35),890=>array(197,-208,293,-45),894=>array(99,-140,392,519),900=>array(281,616,550,800),901=>array(213,659,601,980),902=>array(-52,0,513,800),903=>array(222,273,374,422),904=>array(-61,0,600,800),905=>array(-85,0,606,800),906=>array(-61,0,574,800),908=>array(12,-14,562,800),910=>array(-146,0,658,800),911=>array(-33,0,564,800),912=>array(191,0,601,980),913=>array(-52,0,513,729),914=>array(11,0,570,729),915=>array(34,0,627,729),916=>array(-53,0,513,729),917=>array(26,0,600,729),918=>array(-3,0,622,729),919=>array(-4,0,606,729),920=>array(57,-14,545,742),921=>array(28,0,574,729),922=>array(-4,0,661,729),923=>array(-53,0,513,729),924=>array(-29,0,631,729),925=>array(-3,0,605,729),926=>array(-4,0,606,729),927=>array(40,-14,562,742),928=>array(-4,0,606,729),929=>array(25,0,588,729),931=>array(-13,0,625,729),932=>array(78,0,651,729),933=>array(95,0,658,729),934=>array(57,0,544,729),935=>array(-62,0,653,729),936=>array(95,0,615,729),937=>array(-33,0,564,713),938=>array(28,0,574,913),939=>array(95,0,658,913),940=>array(34,-12,606,800),941=>array(64,-15,550,800),942=>array(61,-208,550,800),943=>array(191,0,550,800),944=>array(64,0,601,980),945=>array(34,-12,606,559),946=>array(-21,-208,553,766),947=>array(32,-208,584,547),948=>array(46,-14,535,767),949=>array(64,-15,536,553),950=>array(72,-210,613,760),951=>array(61,-208,545,560),952=>array(67,-14,535,732),953=>array(191,0,438,547),954=>array(62,0,606,547),955=>array(27,0,560,760),956=>array(-19,-208,566,547),957=>array(109,0,547,547),958=>array(68,-210,591,760),959=>array(57,-14,544,560),960=>array(35,-19,596,547),961=>array(18,-208,560,560),962=>array(114,-210,585,560),963=>array(60,-14,599,547),964=>array(113,0,578,547),965=>array(64,0,564,547),966=>array(57,-208,585,551),967=>array(0,-208,602,547),968=>array(76,-208,612,547),969=>array(24,-14,574,547),970=>array(191,0,522,758),971=>array(64,0,564,758),972=>array(57,-14,550,800),973=>array(64,0,564,800),974=>array(24,-14,574,800),976=>array(72,-11,526,768),977=>array(66,-11,540,768),978=>array(28,0,583,729),979=>array(-186,0,583,800),980=>array(28,0,583,913),981=>array(55,-208,551,729),982=>array(12,0,607,547),983=>array(-1,-188,636,547),984=>array(76,-208,564,742),985=>array(85,-208,554,560),986=>array(63,-210,604,729),987=>array(96,-210,594,547),988=>array(45,0,616,729),989=>array(-90,-208,594,760),990=>array(24,-2,599,729),991=>array(58,0,547,759),992=>array(80,-208,558,742),993=>array(6,-180,494,559),1008=>array(-21,-3,617,547),1009=>array(87,-208,560,560),1010=>array(76,-14,555,560),1011=>array(2,-208,482,760),1012=>array(57,-14,545,742),1013=>array(79,-14,557,560),1014=>array(27,-14,504,560),1015=>array(25,0,566,729),1016=>array(-1,-208,551,765),1017=>array(56,-14,592,742),1018=>array(-29,0,630,729),1019=>array(-12,-208,612,547),1020=>array(-23,-208,560,560),1021=>array(2,-14,524,742),1022=>array(56,-14,592,742),1023=>array(2,-14,524,742),1024=>array(26,0,600,985),1025=>array(26,0,600,900),1026=>array(39,-229,552,730),1027=>array(34,0,627,985),1028=>array(55,-14,590,742),1029=>array(12,-14,560,742),1030=>array(28,0,574,729),1031=>array(28,0,574,900),1032=>array(-12,-14,538,729),1033=>array(-80,0,575,729),1034=>array(-54,0,577,729),1035=>array(17,0,530,730),1036=>array(37,0,702,985),1037=>array(-3,0,605,985),1038=>array(19,0,634,928),1039=>array(11,-157,621,729),1040=>array(-52,0,513,729),1041=>array(10,0,593,729),1042=>array(11,0,570,729),1043=>array(34,0,627,729),1044=>array(-70,-157,613,729),1045=>array(26,0,600,729),1046=>array(-63,0,657,729),1047=>array(-9,-14,538,742),1048=>array(-3,0,605,729),1049=>array(-3,0,605,928),1050=>array(-4,0,661,729),1051=>array(-69,0,605,729),1052=>array(-29,0,631,729),1053=>array(-4,0,606,729),1054=>array(40,-14,562,742),1055=>array(-4,0,606,729),1056=>array(25,0,588,729),1057=>array(56,-14,592,742),1058=>array(78,0,651,729),1059=>array(19,0,634,729),1060=>array(23,0,583,729),1061=>array(-62,0,653,729),1062=>array(-17,-157,593,729),1063=>array(82,0,604,729),1064=>array(-15,0,618,729),1065=>array(-26,-157,606,729),1066=>array(70,0,529,729),1067=>array(-40,0,625,729),1068=>array(25,0,529,729),1069=>array(2,-14,537,742),1070=>array(-0,-14,621,742),1071=>array(-34,0,624,729),1072=>array(35,-14,531,560),1073=>array(35,-14,556,777),1074=>array(49,0,507,547),1075=>array(72,0,546,547),1076=>array(-16,-140,559,547),1077=>array(48,-14,550,561),1078=>array(-24,0,617,547),1079=>array(32,-11,532,560),1080=>array(42,0,566,547),1081=>array(42,0,566,785),1082=>array(62,0,606,547),1083=>array(-39,0,566,547),1084=>array(-23,0,629,547),1085=>array(42,0,566,547),1086=>array(57,-14,544,560),1087=>array(42,0,566,547),1088=>array(-1,-208,551,560),1089=>array(76,-14,555,560),1090=>array(149,0,557,547),1091=>array(-19,-208,598,547),1092=>array(36,-208,562,760),1093=>array(-34,0,590,547),1094=>array(21,-140,544,547),1095=>array(108,0,566,548),1096=>array(8,0,595,547),1097=>array(-0,-140,586,547),1098=>array(54,0,550,547),1099=>array(-2,0,604,547),1100=>array(43,0,507,547),1101=>array(47,-14,526,560),1102=>array(-15,-14,582,560),1103=>array(29,0,534,547),1104=>array(48,-14,550,803),1105=>array(48,-14,550,718),1106=>array(56,-208,526,760),1107=>array(72,0,589,803),1108=>array(95,-14,566,560),1109=>array(56,-14,526,560),1110=>array(30,0,490,760),1111=>array(30,0,500,718),1112=>array(2,-208,482,760),1113=>array(-48,0,582,547),1114=>array(-21,0,559,547),1115=>array(36,0,494,760),1116=>array(62,0,606,803),1117=>array(42,0,566,803),1118=>array(-19,-208,598,785),1119=>array(56,-140,580,547),1122=>array(50,0,529,729),1123=>array(54,0,547,760),1138=>array(57,-14,545,742),1139=>array(67,-14,535,560),1168=>array(34,0,656,878),1169=>array(72,0,576,700),1170=>array(34,0,627,729),1171=>array(56,0,546,547),1172=>array(34,-200,627,729),1173=>array(72,-208,546,547),1174=>array(-63,-157,657,729),1175=>array(-24,-140,617,547),1176=>array(-9,-193,538,742),1177=>array(32,-193,532,560),1178=>array(-4,-152,661,729),1179=>array(62,-135,606,547),1186=>array(-4,-152,606,729),1187=>array(42,-135,566,547),1188=>array(-15,0,662,729),1189=>array(8,0,639,547),1194=>array(56,-193,592,742),1195=>array(76,-193,555,560),1196=>array(78,-152,651,729),1197=>array(146,-135,557,547),1198=>array(95,0,658,729),1199=>array(86,-208,598,547),1200=>array(95,0,661,729),1201=>array(74,-208,598,547),1202=>array(-63,-152,648,729),1203=>array(-16,-135,599,547),1210=>array(-3,0,511,730),1211=>array(41,0,535,760),1216=>array(28,0,574,729),1217=>array(-63,0,657,928),1218=>array(-24,0,617,785),1219=>array(-4,-200,661,729),1220=>array(62,-208,606,547),1223=>array(-4,-200,606,729),1224=>array(42,-208,566,547),1227=>array(34,-152,627,729),1228=>array(72,-135,546,547),1231=>array(171,0,410,765),1232=>array(-52,0,564,928),1233=>array(35,-14,536,785),1234=>array(-52,0,537,913),1235=>array(35,-14,531,758),1236=>array(-71,0,638,729),1237=>array(-23,-14,593,560),1238=>array(26,0,600,928),1239=>array(48,-14,550,785),1240=>array(57,-14,545,742),1241=>array(55,-14,542,560),1242=>array(57,-14,545,913),1243=>array(55,-14,542,758),1244=>array(-63,0,657,913),1245=>array(-24,0,617,758),1246=>array(-9,-14,538,913),1247=>array(32,-11,532,758),1248=>array(-16,-14,602,729),1249=>array(-6,-213,572,547),1250=>array(-3,0,605,898),1251=>array(42,0,566,745),1252=>array(-3,0,605,913),1253=>array(42,0,566,758),1254=>array(40,-14,562,913),1255=>array(57,-14,544,758),1256=>array(57,-14,545,742),1257=>array(67,-14,535,560),1258=>array(57,-14,545,913),1259=>array(67,-14,535,758),1260=>array(2,-14,537,913),1261=>array(47,-14,526,758),1262=>array(19,0,634,898),1263=>array(-19,-208,598,745),1264=>array(19,0,634,913),1265=>array(-19,-208,598,758),1266=>array(19,0,634,927),1267=>array(-19,-208,598,800),1268=>array(82,0,604,913),1269=>array(108,0,566,758),1270=>array(95,-152,606,730),1271=>array(123,-135,567,548),1272=>array(-40,0,625,913),1273=>array(-2,0,604,758),1296=>array(35,-14,573,742),1297=>array(64,-15,536,553),1306=>array(40,-132,562,742),1307=>array(48,-208,560,560),1308=>array(40,0,672,729),1309=>array(45,0,642,547),1329=>array(28,-29,589,729),1330=>array(-9,0,551,742),1331=>array(56,0,547,742),1332=>array(37,0,562,742),1333=>array(31,-14,576,729),1334=>array(-3,0,575,742),1335=>array(-12,0,579,729),1336=>array(-9,0,551,743),1337=>array(-49,-14,593,742),1338=>array(15,-14,597,729),1339=>array(0,0,526,729),1340=>array(4,0,471,729),1341=>array(-24,-14,593,729),1342=>array(24,-14,640,742),1343=>array(75,0,565,729),1344=>array(23,-26,594,729),1345=>array(8,-23,577,742),1346=>array(37,0,520,742),1347=>array(-8,0,631,742),1348=>array(-5,-14,647,729),1349=>array(27,-14,578,742),1350=>array(82,-14,564,729),1351=>array(27,-14,551,729),1352=>array(0,0,561,743),1353=>array(53,-28,578,742),1354=>array(42,0,596,742),1355=>array(-4,0,577,742),1356=>array(-45,0,562,742),1357=>array(41,-14,602,729),1358=>array(20,0,545,729),1359=>array(22,-14,558,742),1360=>array(0,0,561,743),1361=>array(27,-14,578,742),1362=>array(-5,0,571,729),1363=>array(21,0,583,729),1364=>array(-24,0,610,742),1365=>array(40,-14,562,742),1366=>array(4,-14,563,729),1369=>array(292,492,452,760),1370=>array(207,499,395,729),1371=>array(233,620,502,803),1372=>array(83,618,518,893),1373=>array(269,616,462,800),1374=>array(61,613,511,885),1375=>array(78,618,507,760),1377=>array(26,-13,605,547),1378=>array(15,-208,539,560),1379=>array(45,-208,556,558),1380=>array(21,-208,525,560),1381=>array(48,-14,556,760),1382=>array(45,-208,556,558),1383=>array(27,0,533,760),1384=>array(15,-208,539,560),1385=>array(-42,-208,588,560),1386=>array(7,-14,600,760),1387=>array(-2,-208,522,760),1388=>array(86,-208,382,547),1389=>array(-43,-208,603,760),1390=>array(36,-14,566,771),1391=>array(78,-208,562,760),1392=>array(38,0,532,760),1393=>array(45,-15,503,760),1394=>array(21,-208,505,560),1395=>array(54,-14,586,760),1396=>array(19,-14,626,760),1397=>array(81,-208,520,547),1398=>array(101,-14,584,760),1399=>array(26,-208,553,561),1400=>array(38,0,532,560),1401=>array(58,-208,487,571),1402=>array(45,-208,625,547),1403=>array(28,-208,557,561),1404=>array(10,0,516,560),1405=>array(58,-13,550,547),1406=>array(36,-208,562,760),1407=>array(22,-13,579,560),1408=>array(17,-208,541,560),1409=>array(45,-215,576,560),1410=>array(68,0,440,547),1411=>array(21,-208,579,760),1412=>array(-22,-208,577,560),1413=>array(57,-14,544,560),1414=>array(-14,-208,591,760),1415=>array(3,-14,507,760),1417=>array(209,0,393,415),1418=>array(170,205,439,314),3713=>array(-6,-10,574,560),3714=>array(24,-17,572,568),3716=>array(38,-10,540,568),3719=>array(94,-238,510,568),3720=>array(66,-0,546,575),3722=>array(51,-238,588,563),3725=>array(30,-8,599,573),3732=>array(23,-14,567,560),3733=>array(35,-15,579,579),3734=>array(74,-240,578,560),3735=>array(30,-14,583,560),3737=>array(-20,-14,593,568),3738=>array(38,-8,594,561),3739=>array(19,-8,616,760),3740=>array(16,-8,664,638),3741=>array(4,-8,622,760),3742=>array(24,-8,604,561),3743=>array(5,-8,627,760),3745=>array(-32,-14,602,547),3746=>array(12,-8,620,760),3747=>array(22,-8,586,568),3749=>array(14,-8,575,568),3751=>array(27,-13,575,560),3754=>array(1,-8,679,701),3755=>array(-12,-12,619,575),3757=>array(33,-8,579,568),3758=>array(14,-8,662,605),3759=>array(52,-106,615,579),3760=>array(73,-13,640,563),3761=>array(199,639,702,880),3762=>array(145,0,586,560),3763=>array(-403,0,586,806),3764=>array(41,615,562,926),3765=>array(41,612,616,926),3766=>array(41,615,562,926),3767=>array(41,612,616,926),3768=>array(201,-350,404,-38),3769=>array(144,-306,440,-40),3771=>array(31,639,567,880),3772=>array(-15,-278,612,-39),3784=>array(240,618,362,792),3785=>array(34,609,582,891),3786=>array(46,598,664,869),3787=>array(154,609,448,890),3788=>array(-15,636,612,875),3789=>array(199,620,404,806),4304=>array(60,0,522,560),4305=>array(46,0,510,761),4306=>array(21,-208,528,510),4307=>array(42,-208,609,505),4308=>array(41,-208,562,510),4309=>array(41,-208,559,510),4310=>array(43,0,507,760),4311=>array(17,0,591,505),4312=>array(72,0,535,510),4313=>array(42,-207,553,501),4314=>array(62,-208,557,510),4315=>array(44,0,568,760),4316=>array(43,0,538,748),4317=>array(17,0,588,505),4318=>array(40,0,541,757),4319=>array(37,-207,596,524),4320=>array(-7,0,567,760),4321=>array(46,0,506,743),4322=>array(-3,-207,580,614),4323=>array(53,-207,579,506),4324=>array(38,-208,614,505),4325=>array(20,-208,616,743),4326=>array(37,-208,611,506),4327=>array(42,-207,592,496),4328=>array(45,0,573,760),4329=>array(3,0,509,760),4330=>array(25,-207,578,518),4331=>array(44,0,597,743),4332=>array(45,0,624,760),4333=>array(19,-207,532,743),4334=>array(46,0,512,743),4335=>array(35,-207,533,605),4336=>array(37,0,558,760),4337=>array(2,-207,590,760),4338=>array(36,-131,547,511),4339=>array(41,-208,595,510),4340=>array(17,-208,578,760),4341=>array(22,0,582,760),4342=>array(30,-207,615,511),4343=>array(17,-207,525,511),4344=>array(40,-207,554,520),4345=>array(78,-208,583,518),4346=>array(56,-66,551,511),4347=>array(97,24,470,486),4348=>array(181,370,441,760),7426=>array(13,-14,629,560),7432=>array(51,-11,542,560),7433=>array(130,-211,590,549),7444=>array(-23,-14,601,560),7446=>array(120,273,588,560),7447=>array(119,-14,588,273),7453=>array(21,1,648,419),7454=>array(42,-1,643,417),7455=>array(21,0,666,501),7468=>array(83,326,440,734),7469=>array(80,326,516,734),7470=>array(112,326,457,734),7472=>array(112,326,457,734),7473=>array(123,326,474,734),7474=>array(123,326,480,734),7475=>array(140,318,475,742),7476=>array(114,326,488,734),7477=>array(134,326,468,734),7478=>array(135,318,472,734),7479=>array(94,326,502,734),7480=>array(119,326,413,734),7481=>array(99,326,503,734),7482=>array(115,326,487,734),7483=>array(115,326,487,734),7484=>array(139,318,463,742),7486=>array(116,326,465,734),7487=>array(94,326,437,734),7488=>array(157,326,516,734),7489=>array(139,318,486,734),7490=>array(140,326,530,734),7491=>array(145,318,457,640),7492=>array(144,318,458,640),7493=>array(140,318,462,640),7494=>array(107,318,495,640),7495=>array(140,318,462,751),7496=>array(126,318,476,751),7497=>array(143,318,459,640),7498=>array(143,318,459,640),7499=>array(146,320,457,640),7500=>array(146,320,457,640),7501=>array(134,206,468,640),7502=>array(156,208,446,633),7503=>array(130,326,472,751),7504=>array(118,326,484,640),7505=>array(146,209,456,640),7506=>array(147,318,455,640),7507=>array(150,318,452,640),7508=>array(150,479,452,640),7509=>array(150,318,452,479),7510=>array(127,209,475,640),7511=>array(158,326,444,719),7512=>array(146,319,456,632),7513=>array(104,327,499,561),7514=>array(119,326,483,640),7515=>array(142,326,460,632),7522=>array(156,0,446,425),7523=>array(169,-8,432,306),7524=>array(146,-7,456,306),7525=>array(142,0,460,306),7543=>array(36,-215,566,560),7544=>array(114,326,488,734),7547=>array(78,0,630,547),7557=>array(196,-208,520,765),7579=>array(140,318,462,640),7580=>array(150,318,452,640),7581=>array(147,286,455,639),7582=>array(146,318,457,751),7583=>array(143,320,459,640),7584=>array(150,326,452,751),7585=>array(155,209,447,632),7586=>array(134,206,468,631),7587=>array(146,208,456,632),7588=>array(144,326,458,751),7589=>array(197,326,405,632),7590=>array(127,326,475,632),7591=>array(127,326,475,632),7592=>array(148,209,454,751),7593=>array(217,209,385,755),7594=>array(199,209,403,755),7595=>array(182,326,420,640),7596=>array(119,209,483,640),7597=>array(119,208,483,640),7598=>array(130,209,472,640),7599=>array(169,209,433,640),7600=>array(122,326,480,640),7601=>array(147,318,455,640),7602=>array(140,210,462,751),7603=>array(143,209,459,640),7604=>array(124,209,478,751),7605=>array(188,209,472,719),7606=>array(97,318,505,632),7607=>array(122,318,480,632),7609=>array(151,326,451,632),7610=>array(133,326,469,632),7611=>array(139,326,463,632),7612=>array(164,209,438,632),7613=>array(129,296,473,632),7614=>array(119,207,483,632),7615=>array(143,318,459,736),7680=>array(-52,-245,513,729),7681=>array(35,-245,531,560),7682=>array(11,0,570,914),7683=>array(29,-14,541,760),7684=>array(11,-202,570,729),7685=>array(29,-202,541,760),7686=>array(11,-174,570,729),7687=>array(29,-174,541,760),7688=>array(56,-193,594,927),7689=>array(76,-193,594,800),7690=>array(-4,0,552,914),7691=>array(58,-14,612,760),7692=>array(-4,-202,552,729),7693=>array(58,-202,612,760),7694=>array(-4,-174,552,729),7695=>array(51,-174,612,760),7696=>array(-43,-193,552,729),7697=>array(58,-193,612,760),7698=>array(-4,-237,552,729),7699=>array(28,-237,612,760),7704=>array(26,-237,600,729),7705=>array(35,-237,550,561),7706=>array(26,-238,600,729),7707=>array(30,-238,550,561),7708=>array(26,-193,600,928),7709=>array(48,-193,550,785),7710=>array(45,0,616,914),7711=>array(129,0,608,914),7712=>array(38,-14,576,898),7713=>array(29,-215,559,745),7714=>array(-4,0,606,914),7715=>array(41,0,535,914),7716=>array(-4,-202,606,729),7717=>array(41,-202,535,760),7718=>array(-4,0,606,913),7719=>array(41,0,535,918),7720=>array(-94,-193,606,729),7721=>array(-77,-193,535,760),7722=>array(-4,-238,606,729),7723=>array(41,-238,535,760),7724=>array(23,-238,574,729),7725=>array(23,-238,490,760),7728=>array(-4,0,661,927),7729=>array(44,0,588,927),7730=>array(-4,-202,661,729),7731=>array(44,-202,588,760),7732=>array(-4,-174,661,729),7733=>array(44,-174,588,760),7734=>array(38,-202,505,729),7735=>array(141,-202,477,765),7736=>array(38,-202,551,898),7737=>array(141,-202,551,898),7738=>array(38,-174,505,729),7739=>array(51,-174,477,765),7740=>array(38,-237,505,729),7741=>array(28,-237,477,765),7742=>array(-29,0,631,927),7743=>array(-7,0,575,800),7744=>array(-29,0,631,914),7745=>array(-7,0,575,758),7746=>array(-29,-202,631,729),7747=>array(-7,-202,575,560),7748=>array(-3,0,605,914),7749=>array(41,0,535,758),7750=>array(-3,-202,605,729),7751=>array(41,-202,535,560),7752=>array(-3,-174,605,729),7753=>array(41,-174,535,560),7754=>array(-3,-237,605,729),7755=>array(28,-237,535,560),7756=>array(40,-14,562,997),7757=>array(57,-14,585,997),7764=>array(25,0,588,931),7765=>array(-1,-208,551,800),7766=>array(25,0,588,914),7767=>array(-1,-208,551,758),7768=>array(6,0,562,914),7769=>array(106,0,595,758),7770=>array(6,-202,562,729),7771=>array(106,-202,595,560),7772=>array(6,-202,562,898),7773=>array(106,-202,595,745),7774=>array(6,-174,562,729),7775=>array(51,-174,595,560),7776=>array(12,-14,560,914),7777=>array(56,-14,526,758),7778=>array(12,-202,560,742),7779=>array(56,-202,526,560),7784=>array(12,-202,560,914),7785=>array(56,-202,526,758),7786=>array(78,0,651,914),7787=>array(95,0,549,914),7788=>array(78,-202,651,729),7789=>array(95,-202,549,702),7790=>array(51,-174,651,729),7791=>array(51,-174,549,702),7792=>array(28,-237,651,729),7793=>array(28,-237,549,702),7794=>array(39,-201,601,729),7795=>array(46,-201,553,547),7796=>array(23,-238,601,729),7797=>array(23,-238,553,547),7798=>array(28,-237,601,729),7799=>array(28,-237,553,547),7800=>array(39,-14,601,997),7801=>array(61,-13,585,997),7804=>array(97,0,646,909),7805=>array(89,0,593,757),7806=>array(97,-202,646,729),7807=>array(89,-202,593,547),7808=>array(40,0,672,931),7809=>array(45,0,642,803),7810=>array(40,0,672,931),7811=>array(45,0,642,803),7812=>array(40,0,672,900),7813=>array(45,0,642,718),7814=>array(40,0,672,914),7815=>array(45,0,642,758),7816=>array(40,-202,672,729),7817=>array(45,-202,642,547),7818=>array(-62,0,653,914),7819=>array(-34,0,590,758),7820=>array(-62,0,653,913),7821=>array(-34,0,590,718),7822=>array(95,0,658,914),7823=>array(-19,-208,598,758),7824=>array(-3,0,622,932),7825=>array(38,0,553,803),7826=>array(-3,-202,622,729),7827=>array(38,-202,553,547),7828=>array(-3,-174,622,729),7829=>array(38,-174,553,547),7830=>array(41,-174,535,760),7831=>array(95,0,549,860),7832=>array(45,0,642,923),7833=>array(-19,-208,598,923),7835=>array(129,0,608,914),7839=>array(46,-14,535,767),7840=>array(-52,-202,513,729),7841=>array(35,-202,531,560),7852=>array(-52,-202,513,932),7853=>array(35,-202,531,803),7856=>array(-52,0,564,997),7857=>array(35,-14,536,954),7862=>array(-52,-202,564,928),7863=>array(35,-202,531,760),7864=>array(26,-202,600,729),7865=>array(48,-202,550,561),7868=>array(26,0,600,921),7869=>array(48,-14,550,777),7878=>array(26,-202,600,932),7879=>array(48,-202,550,803),7882=>array(28,-202,574,729),7883=>array(30,-202,490,760),7884=>array(40,-202,562,742),7885=>array(57,-202,544,560),7896=>array(40,-202,562,932),7897=>array(57,-202,544,803),7898=>array(-20,-14,634,927),7899=>array(5,-14,595,800),7900=>array(-20,-14,634,927),7901=>array(5,-14,595,800),7904=>array(-20,-14,634,921),7905=>array(5,-14,595,777),7906=>array(-20,-202,634,760),7907=>array(5,-202,595,560),7908=>array(39,-202,601,729),7909=>array(61,-202,553,547),7912=>array(-29,-14,652,927),7913=>array(-15,-13,592,800),7914=>array(-29,-14,652,927),7915=>array(-15,-13,592,800),7918=>array(-29,-14,652,921),7919=>array(-15,-13,592,777),7920=>array(-29,-202,652,760),7921=>array(-15,-202,592,555),7922=>array(95,0,658,931),7923=>array(-19,-208,598,803),7924=>array(95,-202,658,729),7925=>array(-19,-208,598,547),7928=>array(95,0,658,921),7929=>array(-19,-208,598,777),7936=>array(34,-12,606,806),7937=>array(34,-12,606,806),7938=>array(34,-12,606,806),7939=>array(34,-12,606,806),7940=>array(34,-12,606,806),7941=>array(34,-12,606,806),7942=>array(34,-12,606,977),7943=>array(34,-12,606,977),7944=>array(-52,0,513,806),7945=>array(-52,0,513,806),7946=>array(-165,0,513,806),7947=>array(-141,0,513,806),7948=>array(-80,0,513,806),7949=>array(-65,0,513,806),7950=>array(-52,0,513,977),7951=>array(-52,0,513,977),7952=>array(64,-15,536,806),7953=>array(64,-15,536,806),7954=>array(64,-15,536,806),7955=>array(64,-15,536,806),7956=>array(64,-15,599,806),7957=>array(64,-15,599,806),7960=>array(-31,0,600,806),7961=>array(-6,0,600,806),7962=>array(-275,0,600,806),7963=>array(-250,0,600,806),7964=>array(-214,0,600,806),7965=>array(-199,0,600,806),7968=>array(61,-208,545,806),7969=>array(61,-208,545,806),7970=>array(61,-208,545,806),7971=>array(61,-208,545,806),7972=>array(61,-208,599,806),7973=>array(61,-208,599,806),7974=>array(61,-208,576,977),7975=>array(61,-208,572,977),7976=>array(-55,0,606,806),7977=>array(-31,0,606,806),7978=>array(-312,0,606,806),7979=>array(-287,0,606,806),7980=>array(-263,0,606,806),7981=>array(-248,0,606,806),7982=>array(-112,0,606,977),7983=>array(-116,0,606,977),7984=>array(191,0,438,806),7985=>array(191,0,438,806),7986=>array(152,0,536,806),7987=>array(177,0,536,806),7988=>array(177,0,599,806),7989=>array(191,0,599,806),7990=>array(191,0,576,977),7991=>array(191,0,572,977),7992=>array(-31,0,574,806),7993=>array(-6,0,574,806),7994=>array(-263,0,574,806),7995=>array(-238,0,574,806),7996=>array(-214,0,574,806),7997=>array(-199,0,574,806),7998=>array(-75,0,574,977),7999=>array(-79,0,574,977),8000=>array(57,-14,544,806),8001=>array(57,-14,544,806),8002=>array(57,-14,544,806),8003=>array(57,-14,544,806),8004=>array(57,-14,599,806),8005=>array(57,-14,599,806),8008=>array(6,-14,562,806),8009=>array(-6,-14,562,806),8010=>array(-275,-14,562,806),8011=>array(-250,-14,562,806),8012=>array(-141,-14,562,806),8013=>array(-126,-14,562,806),8016=>array(64,0,564,806),8017=>array(64,0,564,806),8018=>array(64,0,564,806),8019=>array(64,0,564,806),8020=>array(64,0,599,806),8021=>array(64,0,599,806),8022=>array(64,0,576,977),8023=>array(64,0,572,977),8025=>array(-80,0,658,806),8027=>array(-287,0,658,806),8029=>array(-285,0,658,806),8031=>array(-152,0,658,977),8032=>array(24,-14,574,806),8033=>array(24,-14,574,806),8034=>array(24,-14,574,806),8035=>array(24,-14,574,806),8036=>array(24,-14,599,806),8037=>array(24,-14,599,806),8038=>array(24,-14,576,977),8039=>array(24,-14,574,977),8040=>array(-33,0,564,806),8041=>array(-33,0,564,806),8042=>array(-275,0,564,806),8043=>array(-250,0,564,806),8044=>array(-128,0,564,806),8045=>array(-114,0,564,806),8046=>array(-39,0,564,977),8047=>array(-79,0,564,977),8048=>array(34,-12,606,800),8049=>array(34,-12,606,800),8050=>array(64,-15,536,800),8051=>array(64,-15,550,800),8052=>array(61,-208,545,800),8053=>array(61,-208,550,800),8054=>array(191,0,438,800),8055=>array(191,0,550,800),8056=>array(57,-14,544,800),8057=>array(57,-14,550,800),8058=>array(64,0,564,800),8059=>array(64,0,564,800),8060=>array(24,-14,574,800),8061=>array(24,-14,574,800),8064=>array(34,-208,606,806),8065=>array(34,-208,606,806),8066=>array(34,-208,606,806),8067=>array(34,-208,606,806),8068=>array(34,-208,606,806),8069=>array(34,-208,606,806),8070=>array(34,-208,606,977),8071=>array(34,-208,606,977),8072=>array(-52,-208,513,806),8073=>array(-52,-208,513,806),8074=>array(-165,-208,513,806),8075=>array(-141,-208,513,806),8076=>array(-80,-208,513,806),8077=>array(-65,-208,513,806),8078=>array(-52,-208,513,977),8079=>array(-52,-208,513,977),8080=>array(44,-208,545,806),8081=>array(44,-208,545,806),8082=>array(44,-208,545,806),8083=>array(44,-208,545,806),8084=>array(44,-208,599,806),8085=>array(44,-208,599,806),8086=>array(44,-208,576,977),8087=>array(44,-208,572,977),8088=>array(-55,-208,606,806),8089=>array(-31,-208,606,806),8090=>array(-312,-208,606,806),8091=>array(-287,-208,606,806),8092=>array(-263,-208,606,806),8093=>array(-248,-208,606,806),8094=>array(-112,-208,606,977),8095=>array(-116,-208,606,977),8096=>array(24,-208,574,806),8097=>array(24,-208,574,806),8098=>array(24,-208,574,806),8099=>array(24,-208,574,806),8100=>array(24,-208,599,806),8101=>array(24,-208,599,806),8102=>array(24,-208,576,977),8103=>array(24,-208,574,977),8104=>array(-33,-208,564,806),8105=>array(-33,-208,564,806),8106=>array(-275,-208,564,806),8107=>array(-250,-208,564,806),8108=>array(-128,-208,564,806),8109=>array(-114,-208,564,806),8110=>array(-39,-208,564,977),8111=>array(-79,-208,564,977),8112=>array(34,-12,606,785),8113=>array(34,-12,606,745),8114=>array(34,-208,606,800),8115=>array(34,-208,606,559),8116=>array(34,-208,606,800),8118=>array(34,-12,606,777),8119=>array(34,-208,606,777),8120=>array(-52,0,564,928),8121=>array(-52,0,551,898),8122=>array(-52,0,513,800),8123=>array(-52,0,513,800),8124=>array(-52,-208,513,729),8125=>array(274,595,434,806),8126=>array(197,-208,293,-45),8127=>array(274,595,434,806),8128=>array(196,638,542,777),8129=>array(213,659,580,943),8130=>array(44,-208,545,800),8131=>array(44,-208,545,560),8132=>array(44,-208,550,800),8134=>array(61,-208,545,777),8135=>array(44,-208,545,777),8136=>array(-96,0,600,800),8137=>array(-61,0,600,800),8138=>array(-121,0,606,800),8139=>array(-85,0,606,800),8140=>array(-4,-208,606,729),8141=>array(152,595,536,806),8142=>array(177,595,599,806),8143=>array(230,595,576,977),8144=>array(191,0,536,785),8145=>array(191,0,521,745),8146=>array(191,0,522,980),8147=>array(191,0,601,980),8150=>array(191,0,542,777),8151=>array(191,0,580,943),8152=>array(28,0,574,928),8153=>array(28,0,574,898),8154=>array(-72,0,574,800),8155=>array(-61,0,574,800),8157=>array(177,595,536,806),8158=>array(191,595,599,806),8159=>array(226,595,572,977),8160=>array(64,0,564,785),8161=>array(64,0,564,745),8162=>array(64,0,564,980),8163=>array(64,0,601,980),8164=>array(18,-208,560,806),8165=>array(18,-208,560,806),8166=>array(64,0,564,777),8167=>array(64,0,580,943),8168=>array(95,0,658,928),8169=>array(95,0,658,898),8170=>array(-121,0,658,800),8171=>array(-146,0,658,800),8172=>array(-6,0,588,806),8173=>array(213,659,522,980),8174=>array(213,659,601,980),8175=>array(221,616,414,800),8178=>array(24,-208,574,800),8179=>array(24,-208,574,547),8180=>array(24,-208,574,800),8182=>array(24,-14,574,777),8183=>array(24,-208,574,777),8184=>array(-84,-14,562,800),8185=>array(12,-14,562,800),8186=>array(-84,0,564,800),8187=>array(-33,0,564,800),8188=>array(-33,-208,564,713),8189=>array(281,616,550,800),8190=>array(299,595,434,806),8208=>array(148,234,419,314),8209=>array(148,234,419,314),8210=>array(-25,240,591,309),8211=>array(-25,240,591,309),8212=>array(-25,240,591,309),8213=>array(-25,240,591,309),8214=>array(139,-236,462,764),8215=>array(0,-236,602,-80),8216=>array(226,472,453,760),8217=>array(226,472,453,760),8218=>array(99,-140,326,148),8219=>array(263,472,407,760),8220=>array(120,472,571,760),8221=>array(108,472,559,760),8222=>array(-8,-140,443,148),8223=>array(145,472,513,760),8224=>array(95,-96,554,729),8225=>array(29,-96,554,729),8226=>array(156,227,446,516),8227=>array(156,188,485,555),8230=>array(-32,0,520,148),8240=>array(0,0,602,699),8241=>array(0,0,602,699),8242=>array(315,547,534,729),8243=>array(242,547,607,729),8244=>array(169,547,681,729),8245=>array(351,547,499,729),8246=>array(277,547,572,729),8247=>array(204,547,646,729),8249=>array(151,69,428,517),8250=>array(155,69,431,517),8252=>array(31,0,572,729),8253=>array(163,0,546,742),8254=>array(0,716,602,755),8261=>array(129,-132,510,760),8262=>array(72,-132,453,760),8263=>array(-13,0,615,743),8264=>array(59,0,587,743),8265=>array(31,0,603,743),8267=>array(19,-96,590,729),8304=>array(172,319,513,742),8305=>array(156,326,446,751),8308=>array(135,326,458,734),8309=>array(150,319,513,734),8310=>array(173,319,513,742),8311=>array(172,326,513,734),8312=>array(157,319,513,742),8313=>array(172,319,513,742),8314=>array(139,357,464,646),8315=>array(139,479,464,525),8316=>array(139,422,464,581),8317=>array(198,252,404,751),8318=>array(198,252,404,751),8319=>array(126,326,456,640),8320=>array(172,-7,513,416),8321=>array(170,0,450,408),8322=>array(150,0,484,416),8323=>array(140,-7,480,416),8324=>array(135,0,458,408),8325=>array(150,-7,513,408),8326=>array(173,-7,513,416),8327=>array(172,0,513,408),8328=>array(157,-7,513,416),8329=>array(172,-7,513,416),8330=>array(139,31,464,320),8331=>array(139,152,464,199),8332=>array(139,96,464,254),8333=>array(198,-74,404,425),8334=>array(198,-74,404,425),8336=>array(145,-8,457,313),8337=>array(143,-8,459,314),8338=>array(147,-8,455,313),8339=>array(104,0,491,306),8340=>array(143,-8,459,313),8341=>array(115,-8,440,418),8342=>array(130,0,472,425),8343=>array(201,0,402,429),8344=>array(118,0,484,313),8345=>array(126,0,456,313),8346=>array(127,-117,475,313),8347=>array(142,0,442,322),8348=>array(158,0,444,393),8352=>array(40,0,594,729),8353=>array(38,-44,579,778),8354=>array(38,-14,579,742),8355=>array(28,0,574,729),8356=>array(22,0,587,742),8357=>array(22,-93,536,640),8358=>array(-19,0,621,729),8359=>array(2,-14,595,729),8360=>array(4,-14,579,729),8361=>array(2,0,646,729),8362=>array(-19,-14,659,729),8363=>array(58,-175,691,760),8364=>array(-5,-14,582,742),8365=>array(16,0,650,729),8366=>array(78,0,648,729),8367=>array(5,-231,593,753),8368=>array(8,-14,526,742),8369=>array(25,0,641,729),8370=>array(29,-81,573,809),8371=>array(-28,0,604,729),8372=>array(-19,-14,621,742),8373=>array(65,-147,592,760),8376=>array(50,0,650,729),8377=>array(55,0,626,729),8450=>array(57,-14,590,742),8453=>array(0,-24,598,752),8461=>array(28,0,577,729),8462=>array(41,0,535,760),8463=>array(41,0,535,760),8469=>array(36,0,565,729),8470=>array(-66,0,581,729),8471=>array(0,61,602,663),8473=>array(32,0,575,729),8474=>array(8,-129,592,742),8477=>array(18,0,592,729),8482=>array(0,447,550,729),8484=>array(23,0,575,729),8486=>array(-33,0,564,713),8490=>array(-4,0,661,729),8491=>array(-52,0,513,928),8494=>array(5,-12,597,647),8520=>array(13,0,469,760),8531=>array(23,-139,553,810),8532=>array(23,-139,553,818),8533=>array(23,-139,580,810),8534=>array(23,-139,580,818),8535=>array(23,-139,580,818),8536=>array(23,-139,580,810),8537=>array(23,-139,580,810),8538=>array(23,-139,580,810),8539=>array(23,-139,580,810),8540=>array(23,-139,580,818),8541=>array(23,-139,580,810),8542=>array(23,-139,580,810),8543=>array(23,246,553,810),8592=>array(32,112,570,436),8593=>array(139,0,463,538),8594=>array(32,112,570,436),8595=>array(139,0,463,538),8596=>array(32,112,570,436),8597=>array(139,0,463,538),8598=>array(90,0,512,422),8599=>array(90,0,512,422),8600=>array(90,0,512,422),8601=>array(90,0,512,422),8602=>array(32,112,570,436),8603=>array(32,112,570,436),8604=>array(43,193,559,422),8605=>array(43,193,559,422),8606=>array(32,112,570,436),8607=>array(139,0,463,538),8608=>array(32,112,570,436),8609=>array(139,0,463,538),8610=>array(32,112,570,436),8611=>array(32,112,570,436),8612=>array(32,112,570,436),8613=>array(139,0,463,538),8614=>array(32,112,570,436),8615=>array(139,0,463,538),8616=>array(139,0,463,538),8617=>array(32,112,570,517),8618=>array(32,112,570,517),8619=>array(32,112,570,517),8620=>array(32,112,570,517),8621=>array(32,112,570,436),8622=>array(32,102,570,446),8623=>array(55,0,547,698),8624=>array(89,0,513,674),8625=>array(89,0,513,674),8626=>array(89,0,513,674),8627=>array(89,0,513,674),8628=>array(91,0,511,540),8629=>array(31,0,571,420),8630=>array(40,168,563,487),8631=>array(40,168,563,487),8632=>array(24,0,578,513),8633=>array(32,0,570,604),8634=>array(43,0,559,497),8635=>array(43,0,559,497),8636=>array(32,234,570,436),8637=>array(32,112,570,314),8638=>array(261,0,463,538),8639=>array(139,0,341,538),8640=>array(32,234,570,436),8641=>array(32,112,570,314),8642=>array(261,0,463,538),8643=>array(160,0,362,538),8644=>array(32,0,570,561),8645=>array(21,0,582,538),8646=>array(32,0,570,561),8647=>array(32,0,570,561),8648=>array(21,0,582,538),8649=>array(32,0,570,561),8650=>array(21,0,582,538),8651=>array(32,32,570,516),8652=>array(32,32,570,516),8653=>array(32,112,570,436),8654=>array(32,112,570,460),8655=>array(32,112,570,436),8656=>array(32,112,570,436),8657=>array(139,0,463,538),8658=>array(32,112,570,436),8659=>array(139,0,463,538),8660=>array(32,112,570,436),8661=>array(139,0,463,538),8662=>array(76,-28,526,422),8663=>array(76,-28,526,422),8664=>array(76,0,526,451),8665=>array(76,0,526,451),8666=>array(32,112,570,436),8667=>array(32,112,570,436),8668=>array(32,112,570,436),8669=>array(32,112,570,436),8670=>array(139,0,463,538),8671=>array(139,0,463,538),8672=>array(32,112,570,436),8673=>array(139,0,463,538),8674=>array(32,112,570,436),8675=>array(139,0,463,538),8676=>array(32,112,570,436),8677=>array(32,112,570,436),8678=>array(12,92,570,456),8679=>array(119,0,483,558),8680=>array(32,92,590,456),8681=>array(119,0,483,558),8682=>array(119,0,483,558),8683=>array(119,0,483,558),8684=>array(119,0,483,558),8685=>array(119,0,483,558),8686=>array(119,0,483,558),8687=>array(119,0,483,558),8688=>array(32,92,590,456),8689=>array(34,0,568,534),8690=>array(34,0,568,534),8691=>array(119,0,483,558),8692=>array(32,112,570,436),8693=>array(21,0,582,538),8694=>array(32,-125,570,672),8695=>array(32,112,570,436),8696=>array(32,112,570,436),8697=>array(32,112,570,436),8698=>array(32,112,570,436),8699=>array(32,112,570,436),8700=>array(32,112,570,436),8701=>array(12,92,570,456),8702=>array(32,92,590,456),8703=>array(12,92,590,456),8704=>array(18,0,584,729),8705=>array(57,-14,545,742),8706=>array(89,-14,513,662),8707=>array(87,0,514,729),8708=>array(87,-46,514,776),8709=>array(36,48,567,580),8710=>array(-3,0,606,695),8711=>array(-3,0,606,695),8712=>array(63,0,539,715),8713=>array(63,-86,539,801),8714=>array(63,81,539,545),8715=>array(63,0,539,715),8716=>array(63,-86,539,801),8717=>array(63,81,539,545),8719=>array(74,-213,528,741),8721=>array(70,-213,530,741),8722=>array(43,272,559,355),8723=>array(43,0,559,572),8725=>array(8,-93,517,729),8727=>array(81,85,521,542),8728=>array(146,160,456,470),8729=>array(156,200,446,489),8730=>array(29,-19,578,828),8731=>array(29,-19,578,933),8732=>array(29,-19,578,924),8733=>array(91,122,511,492),8734=>array(20,122,582,492),8735=>array(61,140,541,620),8736=>array(61,140,541,620),8743=>array(80,0,521,579),8744=>array(80,0,521,579),8745=>array(80,0,521,579),8746=>array(80,0,521,579),8747=>array(63,-183,539,871),8748=>array(31,-189,571,877),8749=>array(26,-176,577,864),8756=>array(91,65,512,564),8757=>array(92,65,510,564),8758=>array(238,65,363,564),8759=>array(91,65,512,564),8760=>array(43,272,559,564),8761=>array(36,65,566,564),8762=>array(42,65,561,564),8763=>array(43,65,559,564),8764=>array(43,243,559,384),8765=>array(43,243,559,384),8769=>array(43,85,559,535),8770=>array(43,149,559,454),8771=>array(43,172,559,470),8772=>array(43,48,560,604),8773=>array(43,94,559,570),8774=>array(43,24,559,570),8775=>array(43,0,559,647),8776=>array(43,149,559,470),8777=>array(43,23,559,595),8778=>array(43,94,559,572),8779=>array(43,73,559,572),8780=>array(43,94,559,570),8781=>array(42,108,559,519),8782=>array(43,33,560,593),8783=>array(43,172,560,593),8784=>array(43,172,559,637),8785=>array(43,-11,559,637),8786=>array(43,-10,559,637),8787=>array(42,-10,560,637),8788=>array(36,147,566,479),8789=>array(36,147,566,479),8790=>array(43,172,559,454),8791=>array(43,172,559,760),8792=>array(43,172,559,662),8793=>array(43,172,559,783),8794=>array(43,172,559,783),8795=>array(43,172,559,831),8796=>array(43,172,559,836),8797=>array(34,172,568,764),8798=>array(43,172,559,760),8799=>array(43,172,559,856),8800=>array(43,18,559,608),8801=>array(43,94,559,532),8802=>array(43,5,559,622),8803=>array(43,0,559,616),8804=>array(42,0,558,531),8805=>array(43,0,559,531),8806=>array(42,-84,558,578),8807=>array(42,-84,558,578),8808=>array(42,-162,558,578),8809=>array(42,-162,558,578),8813=>array(42,0,559,627),8814=>array(43,-14,559,641),8815=>array(43,-14,559,641),8816=>array(43,-119,559,629),8817=>array(43,-119,559,629),8818=>array(42,-21,558,531),8819=>array(42,-21,558,531),8820=>array(42,-119,558,629),8821=>array(42,-119,558,629),8822=>array(42,-89,558,603),8823=>array(42,-89,558,603),8824=>array(42,-195,558,711),8825=>array(42,-195,558,711),8826=>array(42,-22,558,648),8827=>array(43,-22,559,648),8828=>array(42,-123,558,711),8829=>array(42,-123,558,711),8830=>array(42,-56,558,711),8831=>array(42,-56,558,711),8832=>array(42,-81,558,707),8833=>array(42,-81,558,707),8834=>array(43,80,559,546),8835=>array(43,80,559,546),8836=>array(43,-29,559,655),8837=>array(43,-29,559,655),8838=>array(43,0,559,625),8839=>array(43,0,559,625),8840=>array(43,-104,559,729),8841=>array(43,-104,559,729),8842=>array(43,-102,559,625),8843=>array(43,-102,559,625),8847=>array(43,58,559,568),8848=>array(43,58,559,568),8849=>array(43,7,559,619),8850=>array(43,7,559,619),8853=>array(39,51,563,577),8854=>array(39,51,563,577),8855=>array(39,51,563,577),8856=>array(39,51,563,577),8857=>array(39,51,563,577),8858=>array(39,51,563,577),8859=>array(39,51,563,577),8860=>array(39,51,563,577),8861=>array(39,52,563,577),8862=>array(39,51,564,576),8863=>array(39,51,564,576),8864=>array(39,51,564,576),8865=>array(39,51,564,576),8866=>array(43,0,559,627),8867=>array(43,0,559,627),8868=>array(43,0,559,627),8869=>array(43,0,559,627),8901=>array(239,273,362,422),8902=>array(129,201,473,527),8909=>array(43,172,559,470),8922=>array(43,-218,559,760),8923=>array(43,-218,559,760),8924=>array(42,0,558,531),8925=>array(43,0,559,531),8926=>array(42,-123,558,711),8927=>array(42,-123,558,711),8928=>array(42,-182,558,770),8929=>array(42,-182,558,770),8930=>array(43,-81,559,707),8931=>array(43,-81,559,707),8932=>array(43,-95,559,619),8933=>array(43,-95,559,619),8934=>array(42,-134,558,531),8935=>array(42,-134,558,531),8936=>array(42,-213,558,711),8937=>array(42,-213,558,711),8943=>array(39,239,562,388),8960=>array(36,48,567,580),8961=>array(56,162,540,443),8962=>array(71,0,531,596),8963=>array(71,406,530,746),8964=>array(71,-132,530,209),8965=>array(71,0,530,444),8966=>array(71,0,530,566),8968=>array(139,-132,520,760),8969=>array(199,-132,463,760),8970=>array(139,-132,403,760),8971=>array(82,-132,463,760),8972=>array(268,73,585,408),8973=>array(6,73,324,408),8974=>array(268,352,585,687),8975=>array(6,352,324,687),8976=>array(43,181,559,421),8977=>array(47,126,555,634),8978=>array(3,211,599,512),8979=>array(3,211,599,512),8980=>array(90,168,512,512),8981=>array(81,112,510,539),8984=>array(35,114,567,646),8985=>array(43,181,559,421),8988=>array(146,352,463,687),8989=>array(139,352,456,687),8990=>array(146,-56,463,279),8991=>array(139,-56,456,279),8992=>array(250,-250,537,928),8993=>array(61,-237,347,942),8997=>array(51,114,551,598),8998=>array(3,145,599,536),8999=>array(61,145,541,536),9000=>array(24,212,578,517),9003=>array(3,145,599,536),9013=>array(35,-22,566,286),9015=>array(125,-100,477,829),9016=>array(3,-100,599,829),9017=>array(3,-100,599,829),9018=>array(3,-100,599,829),9019=>array(3,-100,599,829),9020=>array(3,-100,599,829),9021=>array(3,-171,599,900),9022=>array(3,57,599,658),9025=>array(3,-100,599,829),9026=>array(3,-100,599,829),9027=>array(3,-100,599,829),9028=>array(3,-100,599,829),9031=>array(3,-100,599,829),9032=>array(3,-100,599,829),9033=>array(3,-29,599,729),9035=>array(18,-171,584,900),9036=>array(3,-100,599,829),9037=>array(3,-100,599,829),9040=>array(3,-100,599,829),9042=>array(18,-171,584,900),9043=>array(3,-100,599,829),9044=>array(3,-100,599,829),9047=>array(3,-100,599,829),9048=>array(125,-100,477,729),9049=>array(3,-100,599,729),9050=>array(3,-100,599,656),9051=>array(125,-100,477,489),9052=>array(3,-100,599,658),9054=>array(3,-100,599,829),9055=>array(-10,44,612,671),9056=>array(3,-100,599,829),9059=>array(129,201,473,636),9060=>array(156,229,446,660),9061=>array(3,57,599,831),9064=>array(43,240,559,660),9065=>array(43,69,559,660),9067=>array(18,0,584,729),9068=>array(43,-14,559,742),9069=>array(43,-171,559,900),9070=>array(125,-140,477,519),9071=>array(3,-100,599,829),9072=>array(3,-100,599,829),9075=>array(151,0,476,547),9076=>array(93,-208,541,560),9077=>array(34,-14,568,547),9078=>array(3,-100,599,559),9079=>array(76,-100,526,560),9080=>array(125,-100,477,547),9081=>array(3,-100,599,547),9082=>array(34,-12,573,559),9085=>array(13,-228,589,88),9088=>array(35,-22,566,528),9089=>array(3,106,599,528),9090=>array(3,106,599,528),9091=>array(3,177,599,567),9096=>array(40,27,562,601),9097=>array(34,46,567,579),9098=>array(34,46,567,579),9099=>array(34,46,567,579),9109=>array(3,-100,599,829),9115=>array(137,-258,465,940),9116=>array(137,-252,232,942),9117=>array(137,-240,465,942),9118=>array(137,-258,465,940),9119=>array(370,-252,465,942),9120=>array(137,-240,465,942),9121=>array(137,-252,465,928),9122=>array(137,-252,232,942),9123=>array(137,-240,465,942),9124=>array(137,-252,465,928),9125=>array(370,-252,465,935),9126=>array(137,-240,465,935),9127=>array(256,-261,594,928),9128=>array(8,-252,347,940),9129=>array(256,-240,594,940),9130=>array(256,-256,347,943),9131=>array(8,-261,346,928),9132=>array(255,-252,594,940),9133=>array(8,-240,346,940),9134=>array(250,-250,347,942),9166=>array(12,92,570,558),9167=>array(3,0,599,596),9251=>array(28,-228,545,88),9472=>array(-10,242,612,326),9473=>array(-10,200,612,368),9474=>array(262,-302,340,973),9475=>array(223,-302,379,973),9476=>array(-10,242,612,326),9477=>array(-10,200,612,368),9478=>array(262,-302,340,973),9479=>array(223,-302,379,973),9480=>array(-10,242,612,326),9481=>array(-10,200,612,368),9482=>array(262,-302,340,973),9483=>array(223,-302,379,973),9484=>array(262,-302,612,326),9485=>array(262,-302,612,368),9486=>array(223,-302,612,326),9487=>array(223,-302,612,368),9488=>array(-10,-302,340,326),9489=>array(-10,-302,340,368),9490=>array(-10,-302,379,326),9491=>array(-10,-302,379,368),9492=>array(262,242,612,973),9493=>array(262,200,612,973),9494=>array(223,242,612,973),9495=>array(223,200,612,973),9496=>array(-10,242,340,973),9497=>array(-10,200,340,973),9498=>array(-10,242,379,973),9499=>array(-10,200,379,973),9500=>array(262,-302,612,973),9501=>array(262,-302,612,973),9502=>array(223,-302,612,973),9503=>array(223,-302,612,973),9504=>array(223,-302,612,973),9505=>array(223,-302,612,973),9506=>array(223,-302,612,973),9507=>array(223,-302,612,973),9508=>array(-10,-302,340,973),9509=>array(-10,-302,340,973),9510=>array(-10,-302,379,973),9511=>array(-10,-302,379,973),9512=>array(-10,-302,379,973),9513=>array(-10,-302,379,973),9514=>array(-10,-302,379,973),9515=>array(-10,-302,379,973),9516=>array(-10,-302,612,326),9517=>array(-10,-302,612,368),9518=>array(-10,-302,612,368),9519=>array(-10,-302,612,368),9520=>array(-10,-302,612,326),9521=>array(-10,-302,612,368),9522=>array(-10,-302,612,368),9523=>array(-10,-302,612,368),9524=>array(-10,242,612,973),9525=>array(-10,200,612,973),9526=>array(-10,200,612,973),9527=>array(-10,200,612,973),9528=>array(-10,242,612,973),9529=>array(-10,200,612,973),9530=>array(-10,200,612,973),9531=>array(-10,200,612,973),9532=>array(-10,-302,612,973),9533=>array(-10,-302,612,973),9534=>array(-10,-302,612,973),9535=>array(-10,-302,612,973),9536=>array(-10,-302,612,973),9537=>array(-10,-302,612,973),9538=>array(-10,-302,612,973),9539=>array(-10,-302,612,973),9540=>array(-10,-302,612,973),9541=>array(-10,-302,612,973),9542=>array(-10,-302,612,973),9543=>array(-10,-302,612,973),9544=>array(-10,-302,612,973),9545=>array(-10,-302,612,973),9546=>array(-10,-302,612,973),9547=>array(-10,-302,612,973),9548=>array(-10,242,612,326),9549=>array(-10,200,612,368),9550=>array(262,-302,340,973),9551=>array(223,-302,379,973),9552=>array(-10,158,612,410),9553=>array(184,-302,418,973),9554=>array(262,-302,612,410),9555=>array(184,-302,612,326),9556=>array(184,-302,612,410),9557=>array(-10,-302,340,410),9558=>array(-10,-302,418,326),9559=>array(-10,-302,418,410),9560=>array(262,158,612,973),9561=>array(184,242,612,973),9562=>array(184,158,612,973),9563=>array(-10,158,340,973),9564=>array(-10,242,418,973),9565=>array(-10,158,418,973),9566=>array(262,-302,612,973),9567=>array(184,-302,612,973),9568=>array(184,-302,612,973),9569=>array(-10,-302,340,973),9570=>array(-10,-302,418,973),9571=>array(-10,-302,418,973),9572=>array(-10,-302,612,410),9573=>array(-10,-302,612,326),9574=>array(-10,-302,612,410),9575=>array(-10,158,612,973),9576=>array(-10,242,612,973),9577=>array(-10,158,612,973),9578=>array(-10,-302,612,973),9579=>array(-10,-302,612,973),9580=>array(-10,-302,612,973),9581=>array(262,-302,612,326),9582=>array(-10,-302,340,326),9583=>array(-10,242,340,973),9584=>array(262,242,612,973),9585=>array(-53,-302,655,973),9586=>array(-53,-302,655,973),9587=>array(-53,-302,655,973),9588=>array(-10,242,311,326),9589=>array(262,284,340,973),9590=>array(311,242,612,326),9591=>array(262,-302,340,284),9592=>array(-10,200,311,368),9593=>array(223,284,379,973),9594=>array(311,200,612,368),9595=>array(223,-302,379,284),9596=>array(-10,200,612,368),9597=>array(223,-302,379,973),9598=>array(-10,200,612,368),9599=>array(223,-302,379,973),9600=>array(-10,260,612,770),9601=>array(-10,-250,612,-123),9602=>array(-10,-250,612,5),9603=>array(-10,-250,612,132),9604=>array(-10,-250,612,260),9605=>array(-10,-250,612,387),9606=>array(-10,-250,612,515),9607=>array(-10,-250,612,642),9608=>array(-10,-250,612,770),9609=>array(-10,-250,534,770),9610=>array(-10,-250,457,770),9611=>array(-10,-250,379,770),9612=>array(-10,-250,301,770),9613=>array(-10,-250,223,770),9614=>array(-10,-250,146,770),9615=>array(-10,-250,68,770),9616=>array(301,-250,612,770),9617=>array(-10,-250,534,770),9618=>array(-10,-250,612,770),9619=>array(-10,-250,612,770),9620=>array(-10,642,612,770),9621=>array(534,-250,611,770),9622=>array(-10,-250,301,260),9623=>array(301,-250,612,260),9624=>array(-10,260,301,770),9625=>array(-10,-250,612,770),9626=>array(-10,-250,612,770),9627=>array(-10,-250,612,770),9628=>array(-10,-250,612,770),9629=>array(301,260,612,770),9630=>array(-10,-250,612,770),9631=>array(-10,-250,612,770),9632=>array(3,-39,599,558),9633=>array(3,-39,599,558),9634=>array(3,-39,599,558),9635=>array(3,-39,599,558),9636=>array(3,-39,599,558),9637=>array(3,-39,599,558),9638=>array(3,-39,599,558),9639=>array(3,-39,599,558),9640=>array(3,-39,599,558),9641=>array(3,-39,599,558),9642=>array(107,66,495,454),9643=>array(107,66,495,454),9644=>array(3,117,599,402),9645=>array(3,117,599,402),9646=>array(158,-39,444,558),9647=>array(158,-39,444,558),9648=>array(3,117,599,402),9649=>array(3,117,599,402),9650=>array(3,-39,599,558),9651=>array(3,-39,599,558),9652=>array(107,66,495,454),9653=>array(107,66,495,454),9654=>array(3,-39,599,558),9655=>array(3,-39,599,558),9656=>array(107,66,495,454),9657=>array(107,66,495,454),9658=>array(3,66,599,454),9659=>array(3,66,599,454),9660=>array(3,-39,599,558),9661=>array(3,-39,599,558),9662=>array(107,66,495,454),9663=>array(107,66,495,454),9664=>array(3,-39,599,558),9665=>array(3,-39,599,558),9666=>array(107,66,495,454),9667=>array(107,66,495,454),9668=>array(3,66,599,454),9669=>array(3,66,599,454),9670=>array(3,-39,599,558),9671=>array(3,-39,599,558),9672=>array(3,-38,599,558),9673=>array(3,-41,599,561),9674=>array(57,-233,545,807),9675=>array(3,-41,599,561),9676=>array(3,-41,599,561),9677=>array(3,-41,599,561),9678=>array(3,-41,599,561),9679=>array(3,-41,599,561),9680=>array(3,-41,599,561),9681=>array(3,-41,599,561),9682=>array(3,-41,599,561),9683=>array(3,-41,599,561),9684=>array(3,-41,599,561),9685=>array(3,-41,599,561),9686=>array(152,-41,450,561),9687=>array(152,-41,450,561),9688=>array(-10,-10,612,770),9689=>array(-10,-250,612,770),9690=>array(-10,260,612,770),9691=>array(-10,-250,612,260),9692=>array(152,260,450,561),9693=>array(152,260,450,561),9694=>array(152,-41,450,260),9695=>array(152,-41,450,260),9696=>array(3,260,599,561),9697=>array(3,-41,599,260),9698=>array(3,-39,599,558),9699=>array(3,-39,599,558),9700=>array(3,-39,599,558),9701=>array(3,-39,599,558),9702=>array(156,227,446,516),9703=>array(3,-39,599,558),9704=>array(3,-39,599,558),9705=>array(3,-39,599,558),9706=>array(3,-39,599,558),9707=>array(3,-39,599,558),9708=>array(3,-39,599,558),9709=>array(3,-39,599,558),9710=>array(3,-39,599,558),9711=>array(-10,-54,612,573),9712=>array(3,-39,599,558),9713=>array(3,-39,599,558),9714=>array(3,-39,599,558),9715=>array(3,-39,599,558),9716=>array(3,-41,599,561),9717=>array(3,-41,599,561),9718=>array(3,-41,599,561),9719=>array(3,-41,599,561),9720=>array(3,-39,599,558),9721=>array(3,-39,599,558),9722=>array(3,-39,599,558),9723=>array(47,6,554,513),9724=>array(47,6,554,513),9725=>array(85,44,516,475),9726=>array(85,44,516,475),9727=>array(3,-39,599,558),9728=>array(17,80,585,649),9784=>array(13,82,589,642),9785=>array(16,80,586,650),9786=>array(16,80,586,650),9787=>array(16,80,586,650),9788=>array(16,80,586,650),9791=>array(92,-78,510,708),9792=>array(71,-49,531,655),9793=>array(71,-49,531,655),9794=>array(10,75,592,648),9795=>array(35,21,567,710),9796=>array(85,21,517,710),9797=>array(33,65,569,666),9798=>array(37,65,565,666),9799=>array(105,21,497,710),9824=>array(63,65,540,664),9825=>array(7,65,595,663),9826=>array(71,65,531,664),9827=>array(24,65,578,664),9828=>array(62,65,540,664),9829=>array(5,65,597,664),9830=>array(71,65,531,664),9831=>array(24,65,578,667),9833=>array(181,16,421,708),9834=>array(79,16,523,708),9835=>array(52,-79,550,706),9836=>array(8,61,594,664),9837=>array(158,18,444,710),9838=>array(211,21,391,710),9839=>array(152,21,450,710),10178=>array(43,0,559,627),10181=>array(103,-163,472,769),10182=>array(62,-163,508,769),10208=>array(57,-233,545,807),10214=>array(59,-132,544,760),10215=>array(58,-132,543,760),10216=>array(190,-132,498,759),10217=>array(104,-132,412,759),10731=>array(57,-233,545,807),10746=>array(43,55,559,572),10747=>array(43,55,559,572),10799=>array(73,85,529,541),10858=>array(43,243,559,564),10859=>array(43,65,559,564),11013=>array(41,190,561,494),11014=>array(149,82,453,602),11015=>array(149,82,453,602),11016=>array(68,109,485,526),11017=>array(117,109,534,526),11018=>array(117,109,534,526),11019=>array(68,109,485,526),11020=>array(41,190,561,494),11021=>array(149,82,453,602),11026=>array(3,-39,599,558),11027=>array(3,-39,599,558),11028=>array(3,-39,599,558),11029=>array(3,-39,599,558),11030=>array(3,-39,599,558),11031=>array(3,-39,599,558),11032=>array(3,-39,599,558),11033=>array(3,-39,599,558),11034=>array(3,-39,599,558),11364=>array(-4,-213,563,729),11373=>array(37,-14,611,742),11374=>array(-29,-208,630,729),11375=>array(89,0,655,729),11376=>array(-19,-14,555,742),11381=>array(-4,0,548,729),11382=>array(42,0,522,547),11383=>array(38,-12,566,551),11385=>array(6,-13,502,760),11386=>array(67,-14,535,560),11388=>array(185,-125,417,418),11389=>array(168,326,513,734),11390=>array(12,-242,560,742),11391=>array(-3,-242,622,729),11800=>array(73,-13,457,729),11807=>array(43,65,559,384),11810=>array(216,314,510,760),11811=>array(232,314,453,760),11812=>array(129,-132,350,314),11813=>array(72,-132,366,314),11822=>array(145,0,557,742),42760=>array(199,0,521,668),42761=>array(169,0,521,668),42762=>array(140,0,521,668),42763=>array(111,0,521,668),42764=>array(82,0,521,668),42765=>array(82,0,521,668),42766=>array(82,0,491,668),42767=>array(82,0,462,668),42768=>array(82,0,433,668),42769=>array(82,0,403,668),42770=>array(82,0,521,668),42771=>array(82,0,491,668),42772=>array(82,0,462,668),42773=>array(82,0,433,668),42774=>array(82,0,403,668),42779=>array(185,326,455,736),42780=>array(147,324,417,734),42781=>array(230,326,372,734),42782=>array(230,326,372,734),42783=>array(167,0,308,408),42786=>array(120,0,488,729),42787=>array(150,0,466,547),42788=>array(113,224,544,742),42789=>array(113,42,544,560),42790=>array(-4,-208,606,729),42791=>array(41,-208,535,760),42889=>array(168,0,392,518),42890=>array(169,161,433,380),42891=>array(237,235,422,729),42892=>array(231,458,369,729),42893=>array(82,0,604,729),42894=>array(80,-208,455,765),42896=>array(-5,-157,603,729),42897=>array(20,-140,521,560),42922=>array(41,0,704,729),63173=>array(47,-14,576,760),64257=>array(48,0,613,760),64258=>array(48,0,613,760),65533=>array(-16,-84,601,887),65535=>array(51,-177,551,705)); +$cw=array(0=>602,32=>602,33=>602,34=>602,35=>602,36=>602,37=>602,38=>602,39=>602,40=>602,41=>602,42=>602,43=>602,44=>602,45=>602,46=>602,47=>602,48=>602,49=>602,50=>602,51=>602,52=>602,53=>602,54=>602,55=>602,56=>602,57=>602,58=>602,59=>602,60=>602,61=>602,62=>602,63=>602,64=>602,65=>602,66=>602,67=>602,68=>602,69=>602,70=>602,71=>602,72=>602,73=>602,74=>602,75=>602,76=>602,77=>602,78=>602,79=>602,80=>602,81=>602,82=>602,83=>602,84=>602,85=>602,86=>602,87=>602,88=>602,89=>602,90=>602,91=>602,92=>602,93=>602,94=>602,95=>602,96=>602,97=>602,98=>602,99=>602,100=>602,101=>602,102=>602,103=>602,104=>602,105=>602,106=>602,107=>602,108=>602,109=>602,110=>602,111=>602,112=>602,113=>602,114=>602,115=>602,116=>602,117=>602,118=>602,119=>602,120=>602,121=>602,122=>602,123=>602,124=>602,125=>602,126=>602,160=>602,161=>602,162=>602,163=>602,164=>602,165=>602,166=>602,167=>602,168=>602,169=>602,170=>602,171=>602,172=>602,173=>602,174=>602,175=>602,176=>602,177=>602,178=>602,179=>602,180=>602,181=>602,182=>602,183=>602,184=>602,185=>602,186=>602,187=>602,188=>602,189=>602,190=>602,191=>602,192=>602,193=>602,194=>602,195=>602,196=>602,197=>602,198=>602,199=>602,200=>602,201=>602,202=>602,203=>602,204=>602,205=>602,206=>602,207=>602,208=>602,209=>602,210=>602,211=>602,212=>602,213=>602,214=>602,215=>602,216=>602,217=>602,218=>602,219=>602,220=>602,221=>602,222=>602,223=>602,224=>602,225=>602,226=>602,227=>602,228=>602,229=>602,230=>602,231=>602,232=>602,233=>602,234=>602,235=>602,236=>602,237=>602,238=>602,239=>602,240=>602,241=>602,242=>602,243=>602,244=>602,245=>602,246=>602,247=>602,248=>602,249=>602,250=>602,251=>602,252=>602,253=>602,254=>602,255=>602,256=>602,257=>602,258=>602,259=>602,260=>602,261=>602,262=>602,263=>602,264=>602,265=>602,266=>602,267=>602,268=>602,269=>602,270=>602,271=>602,272=>602,273=>602,274=>602,275=>602,276=>602,277=>602,278=>602,279=>602,280=>602,281=>602,282=>602,283=>602,284=>602,285=>602,286=>602,287=>602,288=>602,289=>602,290=>602,291=>602,292=>602,293=>602,294=>602,295=>602,296=>602,297=>602,298=>602,299=>602,300=>602,301=>602,302=>602,303=>602,304=>602,305=>602,306=>602,307=>602,308=>602,309=>602,310=>602,311=>602,312=>602,313=>602,314=>602,315=>602,316=>602,317=>602,318=>602,319=>602,320=>602,321=>602,322=>602,323=>602,324=>602,325=>602,326=>602,327=>602,328=>602,329=>602,330=>602,331=>602,332=>602,333=>602,334=>602,335=>602,336=>602,337=>602,338=>602,339=>602,340=>602,341=>602,342=>602,343=>602,344=>602,345=>602,346=>602,347=>602,348=>602,349=>602,350=>602,351=>602,352=>602,353=>602,354=>602,355=>602,356=>602,357=>602,358=>602,359=>602,360=>602,361=>602,362=>602,363=>602,364=>602,365=>602,366=>602,367=>602,368=>602,369=>602,370=>602,371=>602,372=>602,373=>602,374=>602,375=>602,376=>602,377=>602,378=>602,379=>602,380=>602,381=>602,382=>602,383=>602,384=>602,385=>602,386=>602,387=>602,388=>602,389=>602,390=>602,391=>602,392=>602,393=>602,394=>602,395=>602,396=>602,397=>602,398=>602,399=>602,400=>602,401=>602,402=>602,403=>602,404=>602,405=>602,406=>602,407=>602,408=>602,409=>602,410=>602,411=>602,412=>602,413=>602,414=>602,415=>602,416=>602,417=>602,418=>602,419=>602,420=>602,421=>602,422=>602,423=>602,424=>602,425=>602,426=>602,427=>602,428=>602,429=>602,430=>602,431=>602,432=>602,433=>602,434=>602,435=>602,436=>602,437=>602,438=>602,439=>602,440=>602,441=>602,442=>602,443=>602,444=>602,445=>602,446=>602,447=>602,448=>602,449=>602,450=>602,451=>602,461=>602,462=>602,463=>602,464=>602,465=>602,466=>602,467=>602,468=>602,469=>602,470=>602,471=>602,472=>602,473=>602,474=>602,475=>602,476=>602,477=>602,479=>602,480=>602,481=>602,482=>602,483=>602,486=>602,487=>602,488=>602,489=>602,490=>602,491=>602,492=>602,493=>602,494=>602,495=>602,500=>602,501=>602,502=>602,504=>602,505=>602,508=>602,509=>602,510=>602,511=>602,512=>602,513=>602,514=>602,515=>602,516=>602,517=>602,518=>602,519=>602,520=>602,521=>602,522=>602,523=>602,524=>602,525=>602,526=>602,527=>602,528=>602,529=>602,530=>602,531=>602,532=>602,533=>602,534=>602,535=>602,536=>602,537=>602,538=>602,539=>602,540=>602,541=>602,542=>602,543=>602,545=>602,548=>602,549=>602,550=>602,551=>602,552=>602,553=>602,554=>602,555=>602,556=>602,557=>602,558=>602,559=>602,560=>602,561=>602,562=>602,563=>602,564=>602,565=>602,566=>602,567=>602,568=>602,569=>602,570=>602,571=>602,572=>602,573=>602,574=>602,575=>602,576=>602,577=>602,579=>602,580=>602,581=>602,588=>602,589=>602,592=>602,593=>602,594=>602,595=>602,596=>602,597=>602,598=>602,599=>602,600=>602,601=>602,602=>602,603=>602,604=>602,605=>602,606=>602,607=>602,608=>602,609=>602,610=>602,611=>602,612=>602,613=>602,614=>602,615=>602,616=>602,617=>602,618=>602,619=>602,620=>602,621=>602,622=>602,623=>602,624=>602,625=>602,626=>602,627=>602,628=>602,629=>602,630=>602,631=>602,632=>602,633=>602,634=>602,635=>602,636=>602,637=>602,638=>602,639=>602,640=>602,641=>602,642=>602,643=>602,644=>602,645=>602,646=>602,647=>602,648=>602,649=>602,650=>602,651=>602,652=>602,653=>602,654=>602,655=>602,656=>602,657=>602,658=>602,659=>602,660=>602,661=>602,662=>602,663=>602,664=>602,665=>602,666=>602,667=>602,668=>602,669=>602,670=>602,671=>602,672=>602,673=>602,674=>602,675=>602,676=>602,677=>602,678=>602,679=>602,680=>602,681=>602,682=>602,683=>602,684=>602,685=>602,686=>602,687=>602,688=>602,689=>602,690=>602,691=>602,692=>602,693=>602,694=>602,695=>602,696=>602,697=>602,699=>602,700=>602,701=>602,702=>602,703=>602,704=>602,705=>602,710=>602,711=>602,712=>602,713=>602,716=>602,717=>602,718=>602,719=>602,720=>602,721=>602,722=>602,723=>602,726=>602,727=>602,728=>602,729=>602,730=>602,731=>602,732=>602,733=>602,734=>602,736=>602,737=>602,738=>602,739=>602,740=>602,741=>602,742=>602,743=>602,744=>602,745=>602,750=>602,755=>602,768=>602,769=>602,770=>602,771=>602,772=>602,773=>602,774=>602,775=>602,776=>602,777=>602,778=>602,779=>602,780=>602,781=>602,782=>602,783=>602,784=>602,785=>602,786=>602,787=>602,788=>602,789=>602,790=>602,791=>602,792=>602,793=>602,794=>602,795=>602,796=>602,797=>602,798=>602,799=>602,800=>602,801=>602,802=>602,803=>602,804=>602,805=>602,806=>602,807=>602,808=>602,809=>602,810=>602,811=>602,812=>602,813=>602,814=>602,815=>602,816=>602,817=>602,818=>602,819=>602,820=>602,821=>602,822=>602,823=>602,824=>602,825=>602,826=>602,827=>602,828=>602,829=>602,830=>602,831=>602,835=>602,856=>602,865=>602,884=>602,885=>602,890=>602,894=>602,900=>602,901=>602,902=>602,903=>602,904=>602,905=>602,906=>602,908=>602,910=>602,911=>602,912=>602,913=>602,914=>602,915=>602,916=>602,917=>602,918=>602,919=>602,920=>602,921=>602,922=>602,923=>602,924=>602,925=>602,926=>602,927=>602,928=>602,929=>602,931=>602,932=>602,933=>602,934=>602,935=>602,936=>602,937=>602,938=>602,939=>602,940=>602,941=>602,942=>602,943=>602,944=>602,945=>602,946=>602,947=>602,948=>602,949=>602,950=>602,951=>602,952=>602,953=>602,954=>602,955=>602,956=>602,957=>602,958=>602,959=>602,960=>602,961=>602,962=>602,963=>602,964=>602,965=>602,966=>602,967=>602,968=>602,969=>602,970=>602,971=>602,972=>602,973=>602,974=>602,976=>602,977=>602,978=>602,979=>602,980=>602,981=>602,982=>602,983=>602,984=>602,985=>602,986=>602,987=>602,988=>602,989=>602,990=>602,991=>602,992=>602,993=>602,1008=>602,1009=>602,1010=>602,1011=>602,1012=>602,1013=>602,1014=>602,1015=>602,1016=>602,1017=>602,1018=>602,1019=>602,1020=>602,1021=>602,1022=>602,1023=>602,1024=>602,1025=>602,1026=>602,1027=>602,1028=>602,1029=>602,1030=>602,1031=>602,1032=>602,1033=>602,1034=>602,1035=>602,1036=>602,1037=>602,1038=>602,1039=>602,1040=>602,1041=>602,1042=>602,1043=>602,1044=>602,1045=>602,1046=>602,1047=>602,1048=>602,1049=>602,1050=>602,1051=>602,1052=>602,1053=>602,1054=>602,1055=>602,1056=>602,1057=>602,1058=>602,1059=>602,1060=>602,1061=>602,1062=>602,1063=>602,1064=>602,1065=>602,1066=>602,1067=>602,1068=>602,1069=>602,1070=>602,1071=>602,1072=>602,1073=>602,1074=>602,1075=>602,1076=>602,1077=>602,1078=>602,1079=>602,1080=>602,1081=>602,1082=>602,1083=>602,1084=>602,1085=>602,1086=>602,1087=>602,1088=>602,1089=>602,1090=>602,1091=>602,1092=>602,1093=>602,1094=>602,1095=>602,1096=>602,1097=>602,1098=>602,1099=>602,1100=>602,1101=>602,1102=>602,1103=>602,1104=>602,1105=>602,1106=>602,1107=>602,1108=>602,1109=>602,1110=>602,1111=>602,1112=>602,1113=>602,1114=>602,1115=>602,1116=>602,1117=>602,1118=>602,1119=>602,1122=>602,1123=>602,1138=>602,1139=>602,1168=>602,1169=>602,1170=>602,1171=>602,1172=>602,1173=>602,1174=>602,1175=>602,1176=>602,1177=>602,1178=>602,1179=>602,1186=>602,1187=>602,1188=>602,1189=>602,1194=>602,1195=>602,1196=>602,1197=>602,1198=>602,1199=>602,1200=>602,1201=>602,1202=>602,1203=>602,1210=>602,1211=>602,1216=>602,1217=>602,1218=>602,1219=>602,1220=>602,1223=>602,1224=>602,1227=>602,1228=>602,1231=>602,1232=>602,1233=>602,1234=>602,1235=>602,1236=>602,1237=>602,1238=>602,1239=>602,1240=>602,1241=>602,1242=>602,1243=>602,1244=>602,1245=>602,1246=>602,1247=>602,1248=>602,1249=>602,1250=>602,1251=>602,1252=>602,1253=>602,1254=>602,1255=>602,1256=>602,1257=>602,1258=>602,1259=>602,1260=>602,1261=>602,1262=>602,1263=>602,1264=>602,1265=>602,1266=>602,1267=>602,1268=>602,1269=>602,1270=>602,1271=>602,1272=>602,1273=>602,1296=>602,1297=>602,1306=>602,1307=>602,1308=>602,1309=>602,1329=>602,1330=>602,1331=>602,1332=>602,1333=>602,1334=>602,1335=>602,1336=>602,1337=>602,1338=>602,1339=>602,1340=>602,1341=>602,1342=>602,1343=>602,1344=>602,1345=>602,1346=>602,1347=>602,1348=>602,1349=>602,1350=>602,1351=>602,1352=>602,1353=>602,1354=>602,1355=>602,1356=>602,1357=>602,1358=>602,1359=>602,1360=>602,1361=>602,1362=>602,1363=>602,1364=>602,1365=>602,1366=>602,1369=>602,1370=>602,1371=>602,1372=>602,1373=>602,1374=>602,1375=>602,1377=>602,1378=>602,1379=>602,1380=>602,1381=>602,1382=>602,1383=>602,1384=>602,1385=>602,1386=>602,1387=>602,1388=>602,1389=>602,1390=>602,1391=>602,1392=>602,1393=>602,1394=>602,1395=>602,1396=>602,1397=>602,1398=>602,1399=>602,1400=>602,1401=>602,1402=>602,1403=>602,1404=>602,1405=>602,1406=>602,1407=>602,1408=>602,1409=>602,1410=>602,1411=>602,1412=>602,1413=>602,1414=>602,1415=>602,1417=>602,1418=>602,3713=>602,3714=>602,3716=>602,3719=>602,3720=>602,3722=>602,3725=>602,3732=>602,3733=>602,3734=>602,3735=>602,3737=>602,3738=>602,3739=>602,3740=>602,3741=>602,3742=>602,3743=>602,3745=>602,3746=>602,3747=>602,3749=>602,3751=>602,3754=>602,3755=>602,3757=>602,3758=>602,3759=>602,3760=>602,3761=>602,3762=>602,3763=>602,3764=>602,3765=>602,3766=>602,3767=>602,3768=>602,3769=>602,3771=>602,3772=>602,3784=>602,3785=>602,3786=>602,3787=>602,3788=>602,3789=>602,4304=>602,4305=>602,4306=>602,4307=>602,4308=>602,4309=>602,4310=>602,4311=>602,4312=>602,4313=>602,4314=>602,4315=>602,4316=>602,4317=>602,4318=>602,4319=>602,4320=>602,4321=>602,4322=>602,4323=>602,4324=>602,4325=>602,4326=>602,4327=>602,4328=>602,4329=>602,4330=>602,4331=>602,4332=>602,4333=>602,4334=>602,4335=>602,4336=>602,4337=>602,4338=>602,4339=>602,4340=>602,4341=>602,4342=>602,4343=>602,4344=>602,4345=>602,4346=>602,4347=>602,4348=>602,7426=>602,7432=>602,7433=>602,7444=>602,7446=>602,7447=>602,7453=>602,7454=>602,7455=>602,7468=>602,7469=>602,7470=>602,7472=>602,7473=>602,7474=>602,7475=>602,7476=>602,7477=>602,7478=>602,7479=>602,7480=>602,7481=>602,7482=>602,7483=>602,7484=>602,7485=>602,7486=>602,7487=>602,7488=>602,7489=>602,7490=>602,7491=>602,7492=>602,7493=>602,7494=>602,7495=>602,7496=>602,7497=>602,7498=>602,7499=>602,7500=>602,7501=>602,7502=>602,7503=>602,7504=>602,7505=>602,7506=>602,7507=>602,7508=>602,7509=>602,7510=>602,7511=>602,7512=>602,7513=>602,7514=>602,7515=>602,7522=>602,7523=>602,7524=>602,7525=>602,7543=>602,7544=>602,7547=>602,7557=>602,7579=>602,7580=>602,7581=>602,7582=>602,7583=>602,7584=>602,7585=>602,7586=>602,7587=>602,7588=>602,7589=>602,7590=>602,7591=>602,7592=>602,7593=>602,7594=>602,7595=>602,7596=>602,7597=>602,7598=>602,7599=>602,7600=>602,7601=>602,7602=>602,7603=>602,7604=>602,7605=>602,7606=>602,7607=>602,7609=>602,7610=>602,7611=>602,7612=>602,7613=>602,7614=>602,7615=>602,7680=>602,7681=>602,7682=>602,7683=>602,7684=>602,7685=>602,7686=>602,7687=>602,7688=>602,7689=>602,7690=>602,7691=>602,7692=>602,7693=>602,7694=>602,7695=>602,7696=>602,7697=>602,7698=>602,7699=>602,7704=>602,7705=>602,7706=>602,7707=>602,7708=>602,7709=>602,7710=>602,7711=>602,7712=>602,7713=>602,7714=>602,7715=>602,7716=>602,7717=>602,7718=>602,7719=>602,7720=>602,7721=>602,7722=>602,7723=>602,7724=>602,7725=>602,7728=>602,7729=>602,7730=>602,7731=>602,7732=>602,7733=>602,7734=>602,7735=>602,7736=>602,7737=>602,7738=>602,7739=>602,7740=>602,7741=>602,7742=>602,7743=>602,7744=>602,7745=>602,7746=>602,7747=>602,7748=>602,7749=>602,7750=>602,7751=>602,7752=>602,7753=>602,7754=>602,7755=>602,7756=>602,7757=>602,7764=>602,7765=>602,7766=>602,7767=>602,7768=>602,7769=>602,7770=>602,7771=>602,7772=>602,7773=>602,7774=>602,7775=>602,7776=>602,7777=>602,7778=>602,7779=>602,7784=>602,7785=>602,7786=>602,7787=>602,7788=>602,7789=>602,7790=>602,7791=>602,7792=>602,7793=>602,7794=>602,7795=>602,7796=>602,7797=>602,7798=>602,7799=>602,7800=>602,7801=>602,7804=>602,7805=>602,7806=>602,7807=>602,7808=>602,7809=>602,7810=>602,7811=>602,7812=>602,7813=>602,7814=>602,7815=>602,7816=>602,7817=>602,7818=>602,7819=>602,7820=>602,7821=>602,7822=>602,7823=>602,7824=>602,7825=>602,7826=>602,7827=>602,7828=>602,7829=>602,7830=>602,7831=>602,7832=>602,7833=>602,7835=>602,7839=>602,7840=>602,7841=>602,7852=>602,7853=>602,7856=>602,7857=>602,7862=>602,7863=>602,7864=>602,7865=>602,7868=>602,7869=>602,7878=>602,7879=>602,7882=>602,7883=>602,7884=>602,7885=>602,7896=>602,7897=>602,7898=>602,7899=>602,7900=>602,7901=>602,7904=>602,7905=>602,7906=>602,7907=>602,7908=>602,7909=>602,7912=>602,7913=>602,7914=>602,7915=>602,7918=>602,7919=>602,7920=>602,7921=>602,7922=>602,7923=>602,7924=>602,7925=>602,7928=>602,7929=>602,7936=>602,7937=>602,7938=>602,7939=>602,7940=>602,7941=>602,7942=>602,7943=>602,7944=>602,7945=>602,7946=>602,7947=>602,7948=>602,7949=>602,7950=>602,7951=>602,7952=>602,7953=>602,7954=>602,7955=>602,7956=>602,7957=>602,7960=>602,7961=>602,7962=>602,7963=>602,7964=>602,7965=>602,7968=>602,7969=>602,7970=>602,7971=>602,7972=>602,7973=>602,7974=>602,7975=>602,7976=>602,7977=>602,7978=>602,7979=>602,7980=>602,7981=>602,7982=>602,7983=>602,7984=>602,7985=>602,7986=>602,7987=>602,7988=>602,7989=>602,7990=>602,7991=>602,7992=>602,7993=>602,7994=>602,7995=>602,7996=>602,7997=>602,7998=>602,7999=>602,8000=>602,8001=>602,8002=>602,8003=>602,8004=>602,8005=>602,8008=>602,8009=>602,8010=>602,8011=>602,8012=>602,8013=>602,8016=>602,8017=>602,8018=>602,8019=>602,8020=>602,8021=>602,8022=>602,8023=>602,8025=>602,8027=>602,8029=>602,8031=>602,8032=>602,8033=>602,8034=>602,8035=>602,8036=>602,8037=>602,8038=>602,8039=>602,8040=>602,8041=>602,8042=>602,8043=>602,8044=>602,8045=>602,8046=>602,8047=>602,8048=>602,8049=>602,8050=>602,8051=>602,8052=>602,8053=>602,8054=>602,8055=>602,8056=>602,8057=>602,8058=>602,8059=>602,8060=>602,8061=>602,8064=>602,8065=>602,8066=>602,8067=>602,8068=>602,8069=>602,8070=>602,8071=>602,8072=>602,8073=>602,8074=>602,8075=>602,8076=>602,8077=>602,8078=>602,8079=>602,8080=>602,8081=>602,8082=>602,8083=>602,8084=>602,8085=>602,8086=>602,8087=>602,8088=>602,8089=>602,8090=>602,8091=>602,8092=>602,8093=>602,8094=>602,8095=>602,8096=>602,8097=>602,8098=>602,8099=>602,8100=>602,8101=>602,8102=>602,8103=>602,8104=>602,8105=>602,8106=>602,8107=>602,8108=>602,8109=>602,8110=>602,8111=>602,8112=>602,8113=>602,8114=>602,8115=>602,8116=>602,8118=>602,8119=>602,8120=>602,8121=>602,8122=>602,8123=>602,8124=>602,8125=>602,8126=>602,8127=>602,8128=>602,8129=>602,8130=>602,8131=>602,8132=>602,8134=>602,8135=>602,8136=>602,8137=>602,8138=>602,8139=>602,8140=>602,8141=>602,8142=>602,8143=>602,8144=>602,8145=>602,8146=>602,8147=>602,8150=>602,8151=>602,8152=>602,8153=>602,8154=>602,8155=>602,8157=>602,8158=>602,8159=>602,8160=>602,8161=>602,8162=>602,8163=>602,8164=>602,8165=>602,8166=>602,8167=>602,8168=>602,8169=>602,8170=>602,8171=>602,8172=>602,8173=>602,8174=>602,8175=>602,8178=>602,8179=>602,8180=>602,8182=>602,8183=>602,8184=>602,8185=>602,8186=>602,8187=>602,8188=>602,8189=>602,8190=>602,8192=>602,8193=>602,8194=>602,8195=>602,8196=>602,8197=>602,8198=>602,8199=>602,8200=>602,8201=>602,8202=>602,8208=>602,8209=>602,8210=>602,8211=>602,8212=>602,8213=>602,8214=>602,8215=>602,8216=>602,8217=>602,8218=>602,8219=>602,8220=>602,8221=>602,8222=>602,8223=>602,8224=>602,8225=>602,8226=>602,8227=>602,8230=>602,8239=>602,8240=>602,8241=>602,8242=>602,8243=>602,8244=>602,8245=>602,8246=>602,8247=>602,8249=>602,8250=>602,8252=>602,8253=>602,8254=>602,8261=>602,8262=>602,8263=>602,8264=>602,8265=>602,8267=>602,8287=>602,8304=>602,8305=>602,8308=>602,8309=>602,8310=>602,8311=>602,8312=>602,8313=>602,8314=>602,8315=>602,8316=>602,8317=>602,8318=>602,8319=>602,8320=>602,8321=>602,8322=>602,8323=>602,8324=>602,8325=>602,8326=>602,8327=>602,8328=>602,8329=>602,8330=>602,8331=>602,8332=>602,8333=>602,8334=>602,8336=>602,8337=>602,8338=>602,8339=>602,8340=>602,8341=>602,8342=>602,8343=>602,8344=>602,8345=>602,8346=>602,8347=>602,8348=>602,8352=>602,8353=>602,8354=>602,8355=>602,8356=>602,8357=>602,8358=>602,8359=>602,8360=>602,8361=>602,8362=>602,8363=>602,8364=>602,8365=>602,8366=>602,8367=>602,8368=>602,8369=>602,8370=>602,8371=>602,8372=>602,8373=>602,8376=>602,8377=>602,8450=>602,8453=>602,8461=>602,8462=>602,8463=>602,8469=>602,8470=>602,8471=>602,8473=>602,8474=>602,8477=>602,8482=>602,8484=>602,8486=>602,8490=>602,8491=>602,8494=>602,8520=>602,8531=>602,8532=>602,8533=>602,8534=>602,8535=>602,8536=>602,8537=>602,8538=>602,8539=>602,8540=>602,8541=>602,8542=>602,8543=>602,8592=>602,8593=>602,8594=>602,8595=>602,8596=>602,8597=>602,8598=>602,8599=>602,8600=>602,8601=>602,8602=>602,8603=>602,8604=>602,8605=>602,8606=>602,8607=>602,8608=>602,8609=>602,8610=>602,8611=>602,8612=>602,8613=>602,8614=>602,8615=>602,8616=>602,8617=>602,8618=>602,8619=>602,8620=>602,8621=>602,8622=>602,8623=>602,8624=>602,8625=>602,8626=>602,8627=>602,8628=>602,8629=>602,8630=>602,8631=>602,8632=>602,8633=>602,8634=>602,8635=>602,8636=>602,8637=>602,8638=>602,8639=>602,8640=>602,8641=>602,8642=>602,8643=>602,8644=>602,8645=>602,8646=>602,8647=>602,8648=>602,8649=>602,8650=>602,8651=>602,8652=>602,8653=>602,8654=>602,8655=>602,8656=>602,8657=>602,8658=>602,8659=>602,8660=>602,8661=>602,8662=>602,8663=>602,8664=>602,8665=>602,8666=>602,8667=>602,8668=>602,8669=>602,8670=>602,8671=>602,8672=>602,8673=>602,8674=>602,8675=>602,8676=>602,8677=>602,8678=>602,8679=>602,8680=>602,8681=>602,8682=>602,8683=>602,8684=>602,8685=>602,8686=>602,8687=>602,8688=>602,8689=>602,8690=>602,8691=>602,8692=>602,8693=>602,8694=>602,8695=>602,8696=>602,8697=>602,8698=>602,8699=>602,8700=>602,8701=>602,8702=>602,8703=>602,8704=>602,8705=>602,8706=>602,8707=>602,8708=>602,8709=>602,8710=>602,8711=>602,8712=>602,8713=>602,8714=>602,8715=>602,8716=>602,8717=>602,8719=>602,8721=>602,8722=>602,8723=>602,8725=>602,8727=>602,8728=>602,8729=>602,8730=>602,8731=>602,8732=>602,8733=>602,8734=>602,8735=>602,8736=>602,8743=>602,8744=>602,8745=>602,8746=>602,8747=>602,8748=>602,8749=>602,8756=>602,8757=>602,8758=>602,8759=>602,8760=>602,8761=>602,8762=>602,8763=>602,8764=>602,8765=>602,8769=>602,8770=>602,8771=>602,8772=>602,8773=>602,8774=>602,8775=>602,8776=>602,8777=>602,8778=>602,8779=>602,8780=>602,8781=>602,8782=>602,8783=>602,8784=>602,8785=>602,8786=>602,8787=>602,8788=>602,8789=>602,8790=>602,8791=>602,8792=>602,8793=>602,8794=>602,8795=>602,8796=>602,8797=>602,8798=>602,8799=>602,8800=>602,8801=>602,8802=>602,8803=>602,8804=>602,8805=>602,8806=>602,8807=>602,8808=>602,8809=>602,8813=>602,8814=>602,8815=>602,8816=>602,8817=>602,8818=>602,8819=>602,8820=>602,8821=>602,8822=>602,8823=>602,8824=>602,8825=>602,8826=>602,8827=>602,8828=>602,8829=>602,8830=>602,8831=>602,8832=>602,8833=>602,8834=>602,8835=>602,8836=>602,8837=>602,8838=>602,8839=>602,8840=>602,8841=>602,8842=>602,8843=>602,8847=>602,8848=>602,8849=>602,8850=>602,8853=>602,8854=>602,8855=>602,8856=>602,8857=>602,8858=>602,8859=>602,8860=>602,8861=>602,8862=>602,8863=>602,8864=>602,8865=>602,8866=>602,8867=>602,8868=>602,8869=>602,8901=>602,8902=>602,8909=>602,8922=>602,8923=>602,8924=>602,8925=>602,8926=>602,8927=>602,8928=>602,8929=>602,8930=>602,8931=>602,8932=>602,8933=>602,8934=>602,8935=>602,8936=>602,8937=>602,8943=>602,8960=>602,8961=>602,8962=>602,8963=>602,8964=>602,8965=>602,8966=>602,8968=>602,8969=>602,8970=>602,8971=>602,8972=>602,8973=>602,8974=>602,8975=>602,8976=>602,8977=>602,8978=>602,8979=>602,8980=>602,8981=>602,8984=>602,8985=>602,8988=>602,8989=>602,8990=>602,8991=>602,8992=>602,8993=>602,8997=>602,8998=>602,8999=>602,9000=>602,9003=>602,9013=>602,9015=>602,9016=>602,9017=>602,9018=>602,9019=>602,9020=>602,9021=>602,9022=>602,9025=>602,9026=>602,9027=>602,9028=>602,9031=>602,9032=>602,9033=>602,9035=>602,9036=>602,9037=>602,9040=>602,9042=>602,9043=>602,9044=>602,9047=>602,9048=>602,9049=>602,9050=>602,9051=>602,9052=>602,9054=>602,9055=>602,9056=>602,9059=>602,9060=>602,9061=>602,9064=>602,9065=>602,9067=>602,9068=>602,9069=>602,9070=>602,9071=>602,9072=>602,9075=>602,9076=>602,9077=>602,9078=>602,9079=>602,9080=>602,9081=>602,9082=>602,9085=>602,9088=>602,9089=>602,9090=>602,9091=>602,9096=>602,9097=>602,9098=>602,9099=>602,9109=>602,9115=>602,9116=>602,9117=>602,9118=>602,9119=>602,9120=>602,9121=>602,9122=>602,9123=>602,9124=>602,9125=>602,9126=>602,9127=>602,9128=>602,9129=>602,9130=>602,9131=>602,9132=>602,9133=>602,9134=>602,9166=>602,9167=>602,9251=>602,9472=>602,9473=>602,9474=>602,9475=>602,9476=>602,9477=>602,9478=>602,9479=>602,9480=>602,9481=>602,9482=>602,9483=>602,9484=>602,9485=>602,9486=>602,9487=>602,9488=>602,9489=>602,9490=>602,9491=>602,9492=>602,9493=>602,9494=>602,9495=>602,9496=>602,9497=>602,9498=>602,9499=>602,9500=>602,9501=>602,9502=>602,9503=>602,9504=>602,9505=>602,9506=>602,9507=>602,9508=>602,9509=>602,9510=>602,9511=>602,9512=>602,9513=>602,9514=>602,9515=>602,9516=>602,9517=>602,9518=>602,9519=>602,9520=>602,9521=>602,9522=>602,9523=>602,9524=>602,9525=>602,9526=>602,9527=>602,9528=>602,9529=>602,9530=>602,9531=>602,9532=>602,9533=>602,9534=>602,9535=>602,9536=>602,9537=>602,9538=>602,9539=>602,9540=>602,9541=>602,9542=>602,9543=>602,9544=>602,9545=>602,9546=>602,9547=>602,9548=>602,9549=>602,9550=>602,9551=>602,9552=>602,9553=>602,9554=>602,9555=>602,9556=>602,9557=>602,9558=>602,9559=>602,9560=>602,9561=>602,9562=>602,9563=>602,9564=>602,9565=>602,9566=>602,9567=>602,9568=>602,9569=>602,9570=>602,9571=>602,9572=>602,9573=>602,9574=>602,9575=>602,9576=>602,9577=>602,9578=>602,9579=>602,9580=>602,9581=>602,9582=>602,9583=>602,9584=>602,9585=>602,9586=>602,9587=>602,9588=>602,9589=>602,9590=>602,9591=>602,9592=>602,9593=>602,9594=>602,9595=>602,9596=>602,9597=>602,9598=>602,9599=>602,9600=>602,9601=>602,9602=>602,9603=>602,9604=>602,9605=>602,9606=>602,9607=>602,9608=>602,9609=>602,9610=>602,9611=>602,9612=>602,9613=>602,9614=>602,9615=>602,9616=>602,9617=>602,9618=>602,9619=>602,9620=>602,9621=>602,9622=>602,9623=>602,9624=>602,9625=>602,9626=>602,9627=>602,9628=>602,9629=>602,9630=>602,9631=>602,9632=>602,9633=>602,9634=>602,9635=>602,9636=>602,9637=>602,9638=>602,9639=>602,9640=>602,9641=>602,9642=>602,9643=>602,9644=>602,9645=>602,9646=>602,9647=>602,9648=>602,9649=>602,9650=>602,9651=>602,9652=>602,9653=>602,9654=>602,9655=>602,9656=>602,9657=>602,9658=>602,9659=>602,9660=>602,9661=>602,9662=>602,9663=>602,9664=>602,9665=>602,9666=>602,9667=>602,9668=>602,9669=>602,9670=>602,9671=>602,9672=>602,9673=>602,9674=>602,9675=>602,9676=>602,9677=>602,9678=>602,9679=>602,9680=>602,9681=>602,9682=>602,9683=>602,9684=>602,9685=>602,9686=>602,9687=>602,9688=>602,9689=>602,9690=>602,9691=>602,9692=>602,9693=>602,9694=>602,9695=>602,9696=>602,9697=>602,9698=>602,9699=>602,9700=>602,9701=>602,9702=>602,9703=>602,9704=>602,9705=>602,9706=>602,9707=>602,9708=>602,9709=>602,9710=>602,9711=>602,9712=>602,9713=>602,9714=>602,9715=>602,9716=>602,9717=>602,9718=>602,9719=>602,9720=>602,9721=>602,9722=>602,9723=>602,9724=>602,9725=>602,9726=>602,9727=>602,9728=>602,9784=>602,9785=>602,9786=>602,9787=>602,9788=>602,9791=>602,9792=>602,9793=>602,9794=>602,9795=>602,9796=>602,9797=>602,9798=>602,9799=>602,9824=>602,9825=>602,9826=>602,9827=>602,9828=>602,9829=>602,9830=>602,9831=>602,9833=>602,9834=>602,9835=>602,9836=>602,9837=>602,9838=>602,9839=>602,10178=>602,10181=>602,10182=>602,10208=>602,10214=>602,10215=>602,10216=>602,10217=>602,10731=>602,10746=>602,10747=>602,10799=>602,10858=>602,10859=>602,11013=>602,11014=>602,11015=>602,11016=>602,11017=>602,11018=>602,11019=>602,11020=>602,11021=>602,11026=>602,11027=>602,11028=>602,11029=>602,11030=>602,11031=>602,11032=>602,11033=>602,11034=>602,11364=>602,11373=>602,11374=>602,11375=>602,11376=>602,11381=>602,11382=>602,11383=>602,11385=>602,11386=>602,11388=>602,11389=>602,11390=>602,11391=>602,11800=>602,11807=>602,11810=>602,11811=>602,11812=>602,11813=>602,11822=>602,42760=>602,42761=>602,42762=>602,42763=>602,42764=>602,42765=>602,42766=>602,42767=>602,42768=>602,42769=>602,42770=>602,42771=>602,42772=>602,42773=>602,42774=>602,42779=>602,42780=>602,42781=>602,42782=>602,42783=>602,42786=>602,42787=>602,42788=>602,42789=>602,42790=>602,42791=>602,42889=>602,42890=>602,42891=>602,42892=>602,42893=>602,42894=>602,42896=>602,42897=>602,42922=>602,63173=>602,64257=>602,64258=>602,65529=>602,65530=>602,65531=>602,65532=>602,65533=>602,65535=>602); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.z b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.z new file mode 100644 index 0000000..14be5c1 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavusansmonoi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserif.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserif.ctg.z new file mode 100644 index 0000000..c502e3b Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserif.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserif.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserif.php new file mode 100644 index 0000000..2e98ff9 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserif.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-770 -347 1679 1109]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>34,'StemH'=>15,'AvgWidth'=>513,'MaxWidth'=>1734,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(136,-14,266,729),34=>array(98,458,362,729),35=>array(77,0,761,718),36=>array(85,-147,553,760),37=>array(55,-14,895,742),38=>array(72,-14,843,742),39=>array(98,458,176,729),40=>array(79,-156,319,760),41=>array(71,-156,311,760),42=>array(16,287,484,742),43=>array(106,0,732,627),44=>array(36,-136,221,111),45=>array(44,230,294,306),46=>array(94,-14,224,116),47=>array(0,-93,337,729),48=>array(66,-14,570,742),49=>array(122,0,494,742),50=>array(68,0,538,742),51=>array(76,-14,562,742),52=>array(31,0,586,742),53=>array(85,-14,559,729),54=>array(67,-14,573,742),55=>array(84,0,564,729),56=>array(67,-14,569,742),57=>array(63,-14,569,742),58=>array(104,-14,234,434),59=>array(36,-136,236,434),60=>array(106,46,732,581),61=>array(106,175,732,452),62=>array(106,46,732,581),63=>array(68,-14,488,742),64=>array(66,-174,929,704),65=>array(-6,0,732,729),66=>array(55,0,674,729),67=>array(56,-14,705,742),68=>array(55,0,744,729),69=>array(55,0,650,729),70=>array(55,0,652,729),71=>array(56,-14,720,742),72=>array(55,0,817,729),73=>array(55,0,340,729),74=>array(-84,-208,355,729),75=>array(55,0,762,729),76=>array(55,0,640,729),77=>array(50,0,973,729),78=>array(49,-14,831,729),79=>array(56,-14,764,742),80=>array(55,0,637,729),81=>array(56,-160,764,742),82=>array(55,0,777,729),83=>array(84,-14,612,742),84=>array(10,0,657,729),85=>array(47,-14,798,729),86=>array(-10,0,737,729),87=>array(5,0,1025,729),88=>array(6,0,707,729),89=>array(-11,0,669,729),90=>array(45,0,656,729),91=>array(86,-132,313,760),92=>array(0,-93,337,729),93=>array(77,-132,304,760),94=>array(106,457,732,729),95=>array(0,-236,500,-197),96=>array(83,615,306,799),97=>array(50,-14,568,533),98=>array(29,-14,590,760),99=>array(50,-14,514,533),100=>array(50,-14,611,760),101=>array(50,-14,542,533),102=>array(36,0,430,760),103=>array(50,-222,611,533),104=>array(36,0,616,760),105=>array(36,0,297,736),106=>array(-96,-222,212,736),107=>array(29,0,613,760),108=>array(29,0,290,760),109=>array(36,0,921,533),110=>array(36,0,616,533),111=>array(50,-14,552,533),112=>array(29,-208,590,533),113=>array(50,-208,611,533),114=>array(36,0,478,533),115=>array(56,-14,462,533),116=>array(29,-14,394,680),117=>array(27,-14,607,519),118=>array(-3,0,562,519),119=>array(16,0,843,519),120=>array(12,0,552,519),121=>array(-3,-222,562,519),122=>array(40,0,490,519),123=>array(125,-163,511,760),124=>array(129,-236,208,764),125=>array(125,-163,511,760),126=>array(106,233,732,394),161=>array(136,0,266,743),162=>array(75,-145,539,662),163=>array(67,0,549,742),164=>array(51,45,588,582),165=>array(-8,0,639,729),166=>array(129,-171,208,699),167=>array(45,-95,455,742),168=>array(98,652,402,766),169=>array(138,0,862,725),170=>array(61,261,448,742),171=>array(77,69,518,517),172=>array(106,140,732,421),173=>array(44,230,294,306),174=>array(138,0,862,725),175=>array(104,673,396,745),176=>array(95,432,405,742),177=>array(106,0,732,627),178=>array(44,326,338,742),179=>array(49,319,350,742),180=>array(192,616,415,800),181=>array(29,-208,614,519),182=>array(77,-96,572,729),183=>array(93,282,223,412),184=>array(142,-193,344,0),185=>array(72,326,323,734),186=>array(46,261,424,742),187=>array(94,69,535,517),188=>array(72,-14,938,742),189=>array(72,-14,906,742),190=>array(49,-14,938,742),191=>array(68,-13,488,743),192=>array(-6,0,732,927),193=>array(-6,0,732,927),194=>array(-6,0,732,927),195=>array(-6,0,732,921),196=>array(-6,0,732,920),197=>array(-6,0,732,928),198=>array(-17,0,949,729),199=>array(56,-193,705,742),200=>array(55,0,650,927),201=>array(55,0,650,927),202=>array(55,0,650,927),203=>array(55,0,650,920),204=>array(55,0,340,927),205=>array(55,0,340,927),206=>array(42,0,354,927),207=>array(46,0,350,920),208=>array(55,0,749,729),209=>array(49,-14,831,921),210=>array(56,-14,764,927),211=>array(56,-14,764,927),212=>array(56,-14,764,927),213=>array(56,-14,764,921),214=>array(56,-14,764,920),215=>array(138,33,700,594),216=>array(49,-28,769,757),217=>array(47,-14,798,927),218=>array(47,-14,798,927),219=>array(47,-14,798,927),220=>array(47,-14,798,920),221=>array(-11,0,669,927),222=>array(55,0,637,729),223=>array(29,-14,624,760),224=>array(50,-14,568,799),225=>array(50,-14,568,800),226=>array(50,-14,568,800),227=>array(50,-14,568,777),228=>array(50,-14,568,766),229=>array(50,-14,568,878),230=>array(50,-14,890,533),231=>array(50,-193,514,533),232=>array(50,-14,542,799),233=>array(50,-14,542,800),234=>array(50,-14,542,800),235=>array(50,-14,542,766),236=>array(-7,0,297,799),237=>array(36,0,325,800),238=>array(4,0,316,800),239=>array(8,0,312,766),240=>array(50,-14,552,760),241=>array(36,0,616,777),242=>array(50,-14,552,799),243=>array(50,-14,552,800),244=>array(50,-14,552,800),245=>array(50,-14,552,777),246=>array(50,-14,552,766),247=>array(106,68,732,559),248=>array(37,-46,561,565),249=>array(27,-14,607,799),250=>array(27,-14,607,800),251=>array(27,-14,607,800),252=>array(27,-14,607,766),253=>array(-3,-222,562,800),254=>array(29,-208,590,760),255=>array(-3,-222,562,766),256=>array(-6,0,732,899),257=>array(50,-14,568,745),258=>array(-6,0,732,926),259=>array(50,-14,568,772),260=>array(-6,-192,732,729),261=>array(50,-192,568,533),262=>array(56,-14,705,927),263=>array(50,-14,514,800),264=>array(56,-14,705,927),265=>array(50,-14,514,800),266=>array(56,-14,705,921),267=>array(50,-14,514,766),268=>array(56,-14,705,927),269=>array(50,-14,514,800),270=>array(55,0,744,927),271=>array(50,-14,738,760),272=>array(55,0,749,729),273=>array(50,-14,611,760),274=>array(55,0,650,899),275=>array(50,-14,542,746),276=>array(55,0,650,928),277=>array(50,-14,542,785),278=>array(55,0,650,921),279=>array(50,-14,542,766),280=>array(55,-192,650,729),281=>array(50,-192,542,533),282=>array(55,0,650,927),283=>array(50,-14,542,800),284=>array(56,-14,720,927),285=>array(50,-222,611,800),286=>array(56,-14,720,928),287=>array(50,-222,611,785),288=>array(56,-14,720,921),289=>array(50,-222,611,766),290=>array(56,-224,720,742),291=>array(50,-222,611,741),292=>array(55,0,817,927),293=>array(-30,0,616,927),294=>array(55,0,817,729),295=>array(36,0,616,760),296=>array(36,0,358,921),297=>array(-1,0,321,777),298=>array(51,0,344,899),299=>array(-22,0,297,745),300=>array(45,0,349,928),301=>array(7,0,313,785),302=>array(55,-192,340,729),303=>array(36,-192,297,736),304=>array(55,0,340,921),305=>array(36,0,297,519),306=>array(55,-208,755,729),307=>array(36,-222,497,736),308=>array(-84,-208,358,927),309=>array(-96,-222,284,800),310=>array(55,-209,762,729),311=>array(29,-209,613,760),312=>array(29,0,613,518),313=>array(55,0,640,928),314=>array(29,0,290,928),315=>array(55,-209,640,729),316=>array(29,-207,290,760),317=>array(55,0,640,729),318=>array(29,0,418,760),319=>array(55,0,640,729),320=>array(29,0,409,760),321=>array(42,0,645,729),322=>array(22,0,310,760),323=>array(49,-14,831,928),324=>array(36,0,616,776),325=>array(49,-216,831,729),326=>array(36,-209,616,533),327=>array(49,-14,831,932),328=>array(36,0,616,800),329=>array(55,0,811,742),330=>array(47,-208,705,743),331=>array(36,-222,536,533),332=>array(56,-14,764,899),333=>array(50,-14,552,745),334=>array(56,-14,764,928),335=>array(50,-14,552,785),336=>array(56,-14,764,927),337=>array(50,-14,552,800),338=>array(58,0,1057,729),339=>array(50,-14,939,533),340=>array(55,0,777,928),341=>array(36,0,478,776),342=>array(55,-209,777,729),343=>array(36,-209,478,533),344=>array(55,0,777,927),345=>array(36,0,478,800),346=>array(84,-14,612,928),347=>array(56,-14,462,776),348=>array(84,-14,612,927),349=>array(56,-14,462,800),350=>array(84,-193,612,742),351=>array(56,-193,462,533),352=>array(84,-14,612,927),353=>array(56,-14,462,800),354=>array(10,-193,657,729),355=>array(29,-193,394,680),356=>array(10,0,657,927),357=>array(29,-14,394,788),358=>array(10,0,657,729),359=>array(29,-14,394,680),360=>array(47,-14,798,921),361=>array(27,-14,607,777),362=>array(47,-14,798,899),363=>array(27,-14,607,745),364=>array(47,-14,798,928),365=>array(27,-14,607,785),366=>array(47,-14,798,1051),367=>array(27,-14,607,868),368=>array(47,-14,798,927),369=>array(27,-14,607,800),370=>array(47,-200,798,729),371=>array(27,-192,645,519),372=>array(5,0,1025,931),373=>array(16,0,843,800),374=>array(-11,0,669,931),375=>array(-3,-222,562,800),376=>array(-11,0,669,920),377=>array(45,0,656,928),378=>array(40,0,490,776),379=>array(45,0,656,930),380=>array(40,0,490,734),381=>array(45,0,656,927),382=>array(40,0,490,800),383=>array(36,0,430,760),384=>array(29,-14,590,760),385=>array(-94,0,674,729),386=>array(55,0,674,729),387=>array(29,-14,590,760),388=>array(55,0,674,729),389=>array(29,-14,590,760),390=>array(56,-14,705,742),391=>array(56,-14,903,796),392=>array(50,-14,715,639),393=>array(55,0,749,729),394=>array(-94,0,744,729),395=>array(55,0,674,729),396=>array(29,-14,590,760),397=>array(50,-246,552,533),398=>array(55,0,650,729),399=>array(56,-14,764,742),400=>array(61,-14,569,742),401=>array(-99,-208,652,729),402=>array(-96,-185,430,760),403=>array(56,-14,913,796),404=>array(9,-92,674,729),405=>array(36,-3,883,760),406=>array(55,0,340,729),407=>array(50,0,344,729),408=>array(55,0,821,741),409=>array(34,0,613,760),410=>array(29,0,290,760),411=>array(41,0,606,765),412=>array(36,-14,921,730),413=>array(-100,-208,831,729),414=>array(36,-208,616,533),415=>array(56,-14,764,742),416=>array(54,-14,789,760),417=>array(48,-14,646,533),418=>array(56,-157,1012,742),419=>array(50,-208,778,533),420=>array(-94,0,637,729),421=>array(29,-208,590,716),422=>array(55,-159,777,729),423=>array(84,-14,612,742),424=>array(56,-14,462,533),425=>array(41,0,640,729),426=>array(-96,-222,385,761),427=>array(29,-222,394,680),428=>array(42,0,657,729),429=>array(29,-14,416,760),430=>array(10,-208,657,729),431=>array(44,-14,987,802),432=>array(21,-14,688,532),433=>array(61,-14,769,729),434=>array(55,0,700,729),435=>array(-11,0,798,729),436=>array(-3,-222,663,530),437=>array(45,0,656,729),438=>array(40,0,490,519),439=>array(50,-14,536,729),440=>array(50,-14,536,729),441=>array(50,-224,536,519),442=>array(63,-224,522,519),443=>array(68,0,548,742),444=>array(55,-14,612,729),445=>array(19,-224,536,519),446=>array(108,-15,428,680),447=>array(29,-208,580,560),448=>array(108,0,187,729),449=>array(108,0,384,729),450=>array(9,0,450,729),451=>array(108,0,187,729),452=>array(55,0,1458,927),453=>array(55,0,1292,800),454=>array(50,-14,1130,800),455=>array(55,-208,1019,729),456=>array(55,-222,876,736),457=>array(29,-222,532,760),458=>array(49,-208,1230,729),459=>array(49,-222,1087,736),460=>array(36,-222,856,736),461=>array(-6,0,732,927),462=>array(50,-14,568,800),463=>array(42,0,354,927),464=>array(4,0,315,800),465=>array(56,-14,764,927),466=>array(50,-14,552,800),467=>array(47,-14,798,927),468=>array(27,-14,607,800),469=>array(47,-14,798,1025),470=>array(27,-14,607,886),471=>array(47,-14,798,1044),472=>array(27,-14,607,905),473=>array(47,-14,798,1043),474=>array(27,-14,607,904),475=>array(47,-14,798,1044),476=>array(27,-14,607,905),477=>array(50,-14,542,533),478=>array(-6,0,732,1025),479=>array(50,-14,568,886),480=>array(-6,0,732,1025),481=>array(50,-14,568,888),482=>array(-17,0,949,899),483=>array(50,-14,890,745),484=>array(56,-14,818,742),485=>array(50,-222,611,533),486=>array(56,-14,720,927),487=>array(50,-222,611,800),488=>array(55,0,762,927),489=>array(6,0,613,961),490=>array(56,-200,764,742),491=>array(50,-200,552,533),492=>array(56,-200,764,899),493=>array(50,-200,552,745),494=>array(50,-14,536,927),495=>array(50,-224,536,800),496=>array(-96,-222,315,800),497=>array(55,0,1458,729),498=>array(55,0,1292,729),499=>array(50,-14,1130,760),500=>array(56,-14,720,927),501=>array(50,-222,611,800),502=>array(55,-14,1109,729),503=>array(55,-208,652,742),504=>array(49,-14,831,927),505=>array(36,0,616,799),506=>array(-6,0,732,927),507=>array(50,-14,568,927),508=>array(-17,0,949,927),509=>array(50,-14,890,802),510=>array(49,-28,769,927),511=>array(37,-46,561,800),512=>array(-6,0,732,927),513=>array(50,-14,568,800),514=>array(-6,0,732,967),515=>array(50,-14,568,785),516=>array(55,0,650,927),517=>array(50,-14,542,800),518=>array(55,0,650,967),519=>array(50,-14,542,785),520=>array(-19,0,340,927),521=>array(-60,0,297,800),522=>array(45,0,351,967),523=>array(7,0,313,785),524=>array(56,-14,764,927),525=>array(50,-14,552,800),526=>array(56,-14,764,967),527=>array(50,-14,552,785),528=>array(55,0,777,927),529=>array(36,0,478,800),530=>array(55,0,777,967),531=>array(36,0,478,785),532=>array(47,-14,798,927),533=>array(27,-14,607,800),534=>array(47,-14,798,967),535=>array(27,-14,607,785),536=>array(84,-225,612,742),537=>array(56,-225,462,533),538=>array(10,-225,657,729),539=>array(29,-225,394,680),540=>array(76,-210,556,742),541=>array(35,-211,467,530),542=>array(55,0,817,927),543=>array(6,0,616,961),544=>array(47,-208,798,744),545=>array(50,-73,797,760),546=>array(40,-14,544,742),547=>array(50,-14,502,760),548=>array(45,-187,656,729),549=>array(40,-195,490,519),550=>array(-6,0,732,921),551=>array(50,-14,568,766),552=>array(55,-193,650,729),553=>array(50,-193,542,533),554=>array(56,-14,764,1025),555=>array(50,-14,552,886),556=>array(56,-14,764,1025),557=>array(50,-14,552,862),558=>array(56,-14,764,920),559=>array(50,-14,552,766),560=>array(56,-14,764,1025),561=>array(50,-14,552,887),562=>array(-11,0,669,899),563=>array(-3,-222,562,745),564=>array(29,-107,483,760),565=>array(36,-107,814,533),566=>array(29,-107,477,680),567=>array(-96,-222,212,519),568=>array(50,-14,910,760),569=>array(50,-208,910,533),570=>array(-6,-28,732,757),571=>array(22,-28,743,757),572=>array(18,-46,542,565),573=>array(50,0,640,729),574=>array(-27,-28,694,757),575=>array(56,-222,462,533),576=>array(40,-222,527,519),577=>array(37,0,548,729),578=>array(37,0,428,533),579=>array(50,0,674,729),580=>array(42,-14,803,729),581=>array(-6,0,732,729),582=>array(55,-54,650,783),583=>array(50,-54,542,579),584=>array(-84,-208,360,729),585=>array(-96,-222,297,736),586=>array(56,-208,892,742),587=>array(50,-222,743,533),588=>array(50,0,777,729),589=>array(36,0,478,533),590=>array(-11,0,669,729),591=>array(-3,-222,562,519),592=>array(50,-14,568,533),593=>array(50,-14,611,533),594=>array(50,-14,611,533),595=>array(29,-14,590,760),596=>array(50,-14,514,533),597=>array(50,-107,497,533),598=>array(50,-222,743,760),599=>array(50,-14,743,760),600=>array(50,-14,542,533),601=>array(50,-14,542,533),602=>array(59,-14,903,533),603=>array(49,-19,472,524),604=>array(51,-19,472,524),605=>array(49,-19,833,524),606=>array(50,-18,568,533),607=>array(-96,-222,297,519),608=>array(50,-222,743,760),609=>array(50,-222,611,519),610=>array(50,-18,515,529),611=>array(12,-223,587,519),612=>array(70,-17,504,532),613=>array(27,-208,607,519),614=>array(41,0,616,760),615=>array(41,-222,536,760),616=>array(36,0,297,736),617=>array(36,0,298,519),618=>array(36,0,297,519),619=>array(36,0,358,760),620=>array(36,0,431,760),621=>array(29,-222,423,760),622=>array(29,-224,675,760),623=>array(36,0,921,533),624=>array(36,-208,921,533),625=>array(36,-222,840,533),626=>array(-96,-222,616,533),627=>array(36,-222,754,533),628=>array(34,-14,624,519),629=>array(50,-14,552,533),630=>array(50,0,761,519),631=>array(50,-14,602,530),632=>array(50,-208,552,760),633=>array(36,-14,478,519),634=>array(36,-14,478,759),635=>array(36,-222,611,519),636=>array(36,-207,478,533),637=>array(36,-222,478,533),638=>array(41,0,430,530),639=>array(41,0,430,530),640=>array(35,0,582,519),641=>array(35,0,582,519),642=>array(56,-222,462,533),643=>array(-96,-222,332,761),644=>array(-96,-222,430,760),645=>array(36,-222,464,530),646=>array(-96,-222,385,761),647=>array(29,-161,394,533),648=>array(29,-208,394,680),649=>array(27,-14,607,519),650=>array(50,-14,570,519),651=>array(36,-3,559,519),652=>array(-3,0,562,519),653=>array(16,0,843,519),654=>array(-3,0,562,741),655=>array(41,0,620,519),656=>array(40,-222,708,519),657=>array(40,-93,493,519),658=>array(50,-224,536,519),659=>array(63,-224,536,519),660=>array(114,0,434,761),661=>array(114,0,434,761),662=>array(114,0,434,761),663=>array(56,-222,364,759),664=>array(56,-14,764,742),665=>array(36,0,521,519),666=>array(50,-18,568,533),667=>array(50,-18,714,760),668=>array(34,0,614,519),669=>array(-96,-222,275,736),670=>array(29,-209,614,519),671=>array(41,0,518,519),672=>array(50,-208,743,760),673=>array(114,0,434,761),674=>array(114,0,434,761),675=>array(50,-14,959,760),676=>array(50,-224,997,760),677=>array(50,-93,960,760),678=>array(29,0,772,680),679=>array(29,-222,658,761),680=>array(29,-14,783,680),681=>array(36,-222,856,760),682=>array(29,0,668,760),683=>array(29,0,639,760),684=>array(35,-15,547,625),685=>array(35,105,392,625),686=>array(29,-207,745,760),687=>array(29,-222,877,760),688=>array(22,326,382,751),689=>array(22,326,379,751),690=>array(22,202,213,739),691=>array(22,327,296,625),692=>array(22,318,296,617),693=>array(22,202,379,617),694=>array(22,327,341,617),695=>array(22,327,535,617),696=>array(22,202,373,617),697=>array(78,557,203,800),698=>array(78,557,384,800),699=>array(102,495,268,742),700=>array(102,495,268,742),701=>array(102,495,268,742),702=>array(57,492,191,760),703=>array(57,492,191,760),704=>array(22,347,230,772),705=>array(22,347,230,772),706=>array(130,524,370,836),707=>array(130,524,370,836),708=>array(94,561,406,800),709=>array(94,561,406,800),710=>array(94,616,406,800),711=>array(94,616,406,800),712=>array(104,526,176,759),713=>array(104,673,396,745),714=>array(192,616,415,800),715=>array(83,615,306,799),716=>array(104,-124,176,110),717=>array(104,-156,396,-84),720=>array(105,0,231,434),721=>array(105,303,231,434),722=>array(57,249,191,517),723=>array(57,249,191,517),726=>array(44,153,277,387),727=>array(44,234,277,306),728=>array(97,645,403,785),729=>array(193,652,307,766),730=>array(116,610,384,878),731=>array(162,-192,344,0),732=>array(89,639,411,777),733=>array(119,616,459,800),734=>array(1,307,419,508),736=>array(8,201,370,617),737=>array(22,326,192,751),738=>array(27,318,291,625),739=>array(22,326,373,617),740=>array(22,347,230,772),741=>array(104,0,389,668),742=>array(104,0,389,668),743=>array(104,0,389,668),744=>array(104,0,389,668),745=>array(104,0,389,668),748=>array(94,-281,406,-42),750=>array(102,495,434,742),751=>array(94,-241,406,-58),752=>array(94,-281,406,-42),755=>array(116,-240,384,28),759=>array(89,-192,411,-55),768=>array(-414,615,-191,799),769=>array(-308,616,-85,800),770=>array(-406,616,-94,800),771=>array(-414,639,-92,777),772=>array(-396,673,-104,745),773=>array(-500,716,0,755),774=>array(-403,645,-97,785),775=>array(-307,652,-193,766),776=>array(-405,652,-101,766),777=>array(-343,616,-141,852),778=>array(-390,610,-122,878),779=>array(-381,616,-41,800),780=>array(-406,616,-94,800),781=>array(-285,616,-213,803),782=>array(-394,616,-104,803),783=>array(-468,616,-128,800),784=>array(-403,645,-97,874),785=>array(-403,645,-97,785),786=>array(-283,495,-135,644),787=>array(-310,606,-179,829),788=>array(-323,606,-192,829),789=>array(-64,616,64,800),790=>array(-412,-260,-189,-76),791=>array(-308,-259,-84,-76),792=>array(-331,-340,-178,-107),793=>array(-322,-340,-169,-107),794=>array(-195,698,38,932),795=>array(-148,350,44,532),796=>array(-311,-347,-177,-79),797=>array(-366,-251,-132,-99),798=>array(-366,-260,-132,-107),799=>array(-365,-340,-131,-107),800=>array(-366,-179,-132,-107),801=>array(-418,-222,-110,63),802=>array(-392,-222,-84,63),803=>array(-307,-191,-193,-77),804=>array(-403,-191,-99,-77),805=>array(-355,-241,-146,-32),806=>array(-348,-225,-200,-76),807=>array(-358,-193,-156,0),808=>array(-338,-192,-156,0),809=>array(-286,-263,-214,-76),810=>array(-396,-259,-104,-75),811=>array(-405,-217,-95,-77),812=>array(-406,-241,-94,-58),813=>array(-406,-240,-94,-57),814=>array(-403,-217,-97,-77),815=>array(-403,-216,-97,-76),816=>array(-414,-213,-92,-76),817=>array(-396,-147,-104,-75),818=>array(-500,-236,0,-197),819=>array(-500,-236,0,-80),820=>array(-737,212,-95,415),821=>array(-291,227,-30,278),822=>array(-616,227,-36,278),823=>array(-559,-46,-35,565),824=>array(-770,-28,-49,757),825=>array(-313,-344,-179,-76),826=>array(-398,-256,-106,-72),827=>array(-385,-344,-116,-75),828=>array(-405,-217,-95,-77),829=>array(-359,575,-142,792),830=>array(-312,592,-174,850),831=>array(-500,599,0,755),835=>array(-310,606,-179,829),856=>array(-110,652,4,766),864=>array(-430,723,430,859),865=>array(-445,729,445,869),880=>array(55,0,685,729),881=>array(34,0,479,519),882=>array(10,0,657,729),883=>array(41,0,515,519),884=>array(78,557,203,800),885=>array(78,-208,203,35),886=>array(49,-14,831,743),887=>array(34,0,614,519),890=>array(213,-208,336,-60),891=>array(50,-14,514,533),892=>array(50,-14,514,533),893=>array(50,-14,514,533),894=>array(36,-136,236,434),900=>array(192,616,415,800),901=>array(98,652,415,996),902=>array(-6,0,732,800),903=>array(93,282,223,412),904=>array(7,0,820,800),905=>array(7,0,984,800),906=>array(7,0,507,800),908=>array(7,-14,780,800),910=>array(7,0,906,800),911=>array(7,0,792,800),912=>array(8,22,336,996),913=>array(-6,0,732,729),914=>array(55,0,674,729),915=>array(55,0,652,729),916=>array(38,0,680,729),917=>array(55,0,650,729),918=>array(45,0,656,729),919=>array(55,0,817,729),920=>array(56,-14,764,742),921=>array(55,0,340,729),922=>array(55,0,762,729),923=>array(-6,0,732,729),924=>array(50,0,973,729),925=>array(49,-14,831,729),926=>array(55,0,642,729),927=>array(56,-14,764,742),928=>array(55,0,817,729),929=>array(55,0,637,729),931=>array(41,0,640,729),932=>array(10,0,657,729),933=>array(-11,0,669,729),934=>array(56,0,765,729),935=>array(6,0,707,729),936=>array(47,0,838,729),937=>array(61,0,769,742),938=>array(48,0,352,920),939=>array(-11,0,669,920),940=>array(50,-12,648,800),941=>array(49,-19,472,800),942=>array(36,-208,536,800),943=>array(36,22,336,800),944=>array(36,-3,559,996),945=>array(50,-12,648,533),946=>array(63,-208,528,765),947=>array(36,-209,548,519),948=>array(50,-14,552,765),949=>array(49,-19,472,524),950=>array(41,-208,500,760),951=>array(36,-208,536,533),952=>array(50,-11,551,771),953=>array(36,22,336,519),954=>array(34,0,613,519),955=>array(41,0,606,765),956=>array(34,-208,614,519),957=>array(36,0,555,519),958=>array(41,-208,500,760),959=>array(50,-14,552,533),960=>array(36,0,621,519),961=>array(63,-208,538,533),962=>array(50,-208,500,533),963=>array(50,-14,653,519),964=>array(41,22,515,519),965=>array(36,-3,559,519),966=>array(44,-208,656,521),967=>array(12,-222,584,533),968=>array(63,-208,722,519),969=>array(44,-3,767,519),970=>array(10,22,336,766),971=>array(36,-3,559,766),972=>array(50,-14,552,800),973=>array(36,-3,559,800),974=>array(44,-3,767,800),975=>array(55,-240,724,729),976=>array(50,-11,532,771),977=>array(34,-11,678,771),978=>array(30,0,650,731),979=>array(7,0,838,800),980=>array(30,0,650,920),981=>array(38,-208,643,760),982=>array(21,-3,788,519),983=>array(47,-222,573,533),984=>array(56,-208,764,742),985=>array(50,-208,552,533),986=>array(56,-208,685,742),987=>array(50,-208,500,616),988=>array(55,0,652,729),989=>array(-90,-211,431,742),990=>array(52,0,528,729),991=>array(93,0,566,759),992=>array(76,-208,726,742),993=>array(45,-208,535,533),1008=>array(47,-4,573,533),1009=>array(63,-210,538,533),1010=>array(50,-14,514,533),1011=>array(-96,-222,212,736),1012=>array(56,-14,764,742),1013=>array(50,-14,514,533),1014=>array(50,-14,514,533),1015=>array(55,0,637,729),1016=>array(29,-208,590,760),1017=>array(56,-14,705,742),1018=>array(50,0,973,729),1019=>array(47,-208,671,519),1020=>array(42,-208,565,533),1021=>array(56,-14,705,742),1022=>array(56,-14,705,742),1023=>array(56,-14,705,742),1024=>array(55,0,650,927),1025=>array(55,0,650,920),1026=>array(-39,-216,724,729),1027=>array(55,0,620,927),1028=>array(56,-14,705,742),1029=>array(84,-14,612,742),1030=>array(55,0,340,729),1031=>array(46,0,350,920),1032=>array(-84,-208,355,729),1033=>array(25,-14,1033,729),1034=>array(55,0,1066,729),1035=>array(-39,0,817,729),1036=>array(55,0,762,927),1037=>array(55,0,817,927),1038=>array(12,-14,711,957),1039=>array(55,-157,817,729),1040=>array(12,0,750,729),1041=>array(55,0,674,729),1042=>array(55,0,674,729),1043=>array(55,0,620,729),1044=>array(50,-157,762,729),1045=>array(55,0,650,729),1046=>array(12,0,1112,729),1047=>array(54,-14,562,742),1048=>array(55,0,817,729),1049=>array(55,0,817,957),1050=>array(55,0,762,729),1051=>array(25,-14,784,729),1052=>array(50,0,973,729),1053=>array(55,0,817,729),1054=>array(56,-14,764,742),1055=>array(55,0,817,729),1056=>array(55,0,637,729),1057=>array(56,-14,705,742),1058=>array(10,0,657,729),1059=>array(12,-14,711,729),1060=>array(57,0,773,729),1061=>array(6,0,707,729),1062=>array(55,-157,837,729),1063=>array(10,0,722,729),1064=>array(55,0,1086,729),1065=>array(55,-157,1086,729),1066=>array(34,0,759,729),1067=>array(55,0,929,729),1068=>array(55,0,638,729),1069=>array(56,-14,705,742),1070=>array(55,-14,1128,742),1071=>array(34,0,752,729),1072=>array(50,-14,568,533),1073=>array(42,-14,551,776),1074=>array(36,0,521,519),1075=>array(29,0,480,519),1076=>array(36,-138,575,519),1077=>array(50,-14,542,533),1078=>array(12,0,908,519),1079=>array(44,-14,496,533),1080=>array(34,0,614,519),1081=>array(34,0,614,746),1082=>array(34,0,613,519),1083=>array(18,-14,599,519),1084=>array(36,0,742,519),1085=>array(34,0,614,519),1086=>array(50,-14,552,533),1087=>array(34,0,614,519),1088=>array(29,-208,590,533),1089=>array(50,-14,514,533),1090=>array(41,0,515,519),1091=>array(12,-222,577,519),1092=>array(39,-208,745,760),1093=>array(12,0,552,519),1094=>array(36,-138,616,519),1095=>array(34,0,608,519),1096=>array(36,0,902,519),1097=>array(36,-138,902,519),1098=>array(29,0,594,519),1099=>array(29,0,760,519),1100=>array(29,0,502,519),1101=>array(50,-14,514,533),1102=>array(29,-14,825,533),1103=>array(32,0,578,519),1104=>array(50,-14,542,799),1105=>array(50,-14,542,766),1106=>array(21,-222,573,760),1107=>array(29,0,480,800),1108=>array(50,-14,514,533),1109=>array(56,-14,462,533),1110=>array(36,0,297,736),1111=>array(8,0,312,766),1112=>array(-96,-222,212,736),1113=>array(18,-14,816,519),1114=>array(34,0,830,519),1115=>array(21,0,616,760),1116=>array(34,0,613,800),1117=>array(34,0,614,799),1118=>array(12,-222,577,746),1119=>array(29,-138,620,519),1122=>array(34,0,726,729),1123=>array(29,0,561,760),1124=>array(55,-14,1069,742),1125=>array(29,-14,788,533),1130=>array(12,0,1112,729),1131=>array(12,0,908,519),1132=>array(55,0,1347,729),1133=>array(29,0,1101,519),1136=>array(12,0,932,729),1137=>array(-21,-208,891,760),1138=>array(56,-14,764,742),1139=>array(50,-11,502,533),1140=>array(12,0,848,742),1141=>array(12,0,667,533),1142=>array(12,0,848,927),1143=>array(12,0,667,800),1164=>array(24,0,671,729),1165=>array(18,0,502,760),1168=>array(55,0,630,872),1169=>array(29,0,485,668),1170=>array(50,0,620,729),1171=>array(29,0,480,519),1172=>array(55,-216,673,729),1173=>array(29,-222,555,519),1174=>array(12,-157,1112,729),1175=>array(12,-138,908,519),1176=>array(54,-193,562,742),1177=>array(44,-193,496,533),1178=>array(55,-157,762,729),1179=>array(29,-138,619,519),1182=>array(49,0,762,729),1183=>array(24,0,613,760),1184=>array(34,0,883,729),1185=>array(29,0,705,519),1186=>array(55,-157,817,729),1187=>array(34,-138,614,519),1188=>array(55,0,1097,729),1189=>array(34,0,809,519),1190=>array(55,-216,1150,729),1191=>array(29,-222,882,519),1194=>array(56,-193,705,742),1195=>array(50,-193,514,533),1196=>array(10,-157,657,729),1197=>array(41,-138,515,519),1198=>array(-11,0,669,729),1199=>array(-3,-208,562,519),1200=>array(-11,0,669,729),1201=>array(-3,-208,562,519),1202=>array(6,-157,717,729),1203=>array(12,-138,555,519),1204=>array(10,-157,917,729),1205=>array(41,-138,680,519),1206=>array(-27,-157,683,729),1207=>array(34,-138,614,519),1210=>array(-27,0,697,729),1211=>array(36,0,616,760),1216=>array(55,0,340,729),1217=>array(12,0,1112,928),1218=>array(12,0,908,785),1219=>array(55,-216,724,729),1220=>array(29,-222,584,519),1223=>array(55,-216,817,729),1224=>array(34,-222,614,519),1227=>array(-27,-157,697,729),1228=>array(34,-138,614,519),1231=>array(29,0,293,760),1232=>array(12,0,750,926),1233=>array(50,-14,568,772),1234=>array(12,0,750,920),1235=>array(50,-14,568,766),1236=>array(-17,0,949,729),1237=>array(50,-14,890,533),1238=>array(55,0,650,928),1239=>array(50,-14,542,785),1240=>array(56,-14,764,742),1241=>array(50,-14,542,533),1242=>array(56,-14,764,920),1243=>array(50,-14,542,766),1244=>array(12,0,1112,920),1245=>array(12,0,908,766),1246=>array(54,-14,562,920),1247=>array(44,-14,496,766),1248=>array(50,-14,536,729),1249=>array(50,-224,536,519),1250=>array(55,0,817,899),1251=>array(34,0,614,745),1252=>array(55,0,817,920),1253=>array(34,0,614,766),1254=>array(56,-14,764,920),1255=>array(50,-14,552,766),1256=>array(56,-14,764,742),1257=>array(50,-14,552,533),1258=>array(56,-14,764,920),1259=>array(50,-14,552,766),1260=>array(56,-14,705,920),1261=>array(50,-14,514,766),1262=>array(12,-14,711,899),1263=>array(12,-222,577,745),1264=>array(12,-14,711,920),1265=>array(12,-222,577,766),1266=>array(12,-14,711,927),1267=>array(12,-222,577,800),1268=>array(10,0,722,920),1269=>array(34,0,608,766),1270=>array(55,-157,620,729),1271=>array(29,-138,480,519),1272=>array(55,0,929,920),1273=>array(29,0,760,766),1296=>array(61,-14,569,742),1297=>array(50,-14,501,533),1298=>array(25,-216,784,729),1299=>array(18,-222,599,519),1300=>array(25,-14,1193,729),1301=>array(18,-14,907,519),1306=>array(56,-160,764,742),1307=>array(50,-208,611,533),1308=>array(5,0,1025,729),1309=>array(16,0,843,519),1329=>array(34,-14,765,729),1330=>array(34,0,757,743),1331=>array(49,0,826,743),1332=>array(20,0,847,743),1333=>array(34,-14,757,729),1334=>array(115,-45,743,743),1335=>array(78,-45,761,729),1336=>array(34,-45,757,743),1337=>array(34,-14,987,743),1338=>array(49,-14,826,729),1339=>array(78,0,763,729),1340=>array(78,-45,702,729),1341=>array(78,-14,1087,729),1342=>array(93,-13,771,742),1343=>array(10,0,740,729),1344=>array(53,-66,650,729),1345=>array(99,-32,725,743),1346=>array(30,-45,833,743),1347=>array(77,0,779,764),1348=>array(47,-14,896,729),1349=>array(64,-14,696,742),1350=>array(-24,-14,779,774),1351=>array(83,-14,703,729),1352=>array(34,0,765,743),1353=>array(96,-45,712,743),1354=>array(10,0,840,743),1355=>array(111,-45,737,744),1356=>array(34,0,884,743),1357=>array(34,-14,765,729),1358=>array(10,-45,812,729),1359=>array(55,-14,669,742),1360=>array(34,0,765,743),1361=>array(53,-14,701,742),1362=>array(78,0,692,729),1363=>array(63,0,782,729),1364=>array(0,0,797,743),1365=>array(63,-14,771,742),1366=>array(60,-14,777,729),1369=>array(57,492,191,760),1370=>array(44,482,229,729),1371=>array(0,615,231,799),1372=>array(2,618,384,893),1373=>array(83,615,306,799),1374=>array(10,618,378,856),1375=>array(44,618,462,760),1377=>array(28,-14,913,519),1378=>array(36,-208,556,533),1379=>array(50,-208,705,533),1380=>array(36,-208,705,533),1381=>array(23,-14,603,760),1382=>array(50,-208,705,533),1383=>array(28,0,510,760),1384=>array(28,-208,608,533),1385=>array(28,-208,805,533),1386=>array(50,-14,705,760),1387=>array(28,-208,607,760),1388=>array(23,-208,393,519),1389=>array(28,-208,937,760),1390=>array(59,-14,561,770),1391=>array(28,-208,600,760),1392=>array(28,0,608,760),1393=>array(68,-14,607,773),1394=>array(28,-208,697,533),1395=>array(78,-14,618,767),1396=>array(28,-14,648,773),1397=>array(-27,-208,211,519),1398=>array(53,-14,608,773),1399=>array(-15,-208,436,534),1400=>array(41,0,621,533),1401=>array(18,-208,365,544),1402=>array(28,-208,905,519),1403=>array(54,-208,517,534),1404=>array(41,0,631,533),1405=>array(28,-14,608,519),1406=>array(28,-208,705,760),1407=>array(28,-14,902,533),1408=>array(36,-208,616,533),1409=>array(54,-222,615,533),1410=>array(41,0,503,519),1411=>array(28,-208,902,760),1412=>array(12,-208,627,533),1413=>array(54,-14,556,533),1414=>array(20,-208,760,760),1415=>array(28,-14,808,760),1417=>array(104,-14,234,434),1418=>array(44,203,294,306),4256=>array(54,0,679,847),4257=>array(54,0,807,847),4258=>array(54,-58,784,848),4259=>array(64,1,795,847),4260=>array(54,0,679,847),4261=>array(54,0,969,847),4262=>array(13,0,846,847),4263=>array(64,0,1088,847),4264=>array(13,0,512,847),4265=>array(54,0,696,847),4266=>array(43,0,893,847),4267=>array(69,0,923,847),4268=>array(54,0,689,847),4269=>array(59,-37,1057,847),4270=>array(13,0,842,847),4271=>array(13,0,775,847),4272=>array(54,0,996,847),4273=>array(54,0,679,847),4274=>array(54,0,615,847),4275=>array(59,-37,997,847),4276=>array(54,0,882,847),4277=>array(33,0,986,847),4278=>array(54,0,677,847),4279=>array(54,0,679,847),4280=>array(54,0,678,847),4281=>array(54,0,679,847),4282=>array(54,-25,846,847),4283=>array(54,0,903,847),4284=>array(54,1,660,847),4285=>array(54,1,701,847),4286=>array(54,0,679,847),4287=>array(54,0,914,847),4288=>array(43,0,947,847),4289=>array(54,0,679,847),4290=>array(54,1,794,847),4291=>array(54,0,680,847),4292=>array(54,0,783,847),4293=>array(69,0,897,848),4304=>array(54,0,487,571),4305=>array(54,0,518,829),4306=>array(39,-225,550,542),4307=>array(54,-220,780,531),4308=>array(34,-225,498,532),4309=>array(39,-225,503,532),4310=>array(20,0,564,831),4311=>array(54,0,807,531),4312=>array(54,0,506,532),4313=>array(24,-225,492,532),4314=>array(54,-220,1013,537),4315=>array(54,0,518,829),4316=>array(68,0,532,840),4317=>array(54,-98,771,532),4318=>array(54,1,516,829),4319=>array(54,-225,517,531),4320=>array(54,-0,770,822),4321=>array(-15,0,553,829),4322=>array(44,-225,704,681),4323=>array(20,-225,634,532),4324=>array(54,-225,761,532),4325=>array(54,-225,517,831),4326=>array(54,-220,804,532),4327=>array(39,-225,504,531),4328=>array(10,0,525,830),4329=>array(68,-5,532,831),4330=>array(54,-225,626,531),4331=>array(54,0,519,829),4332=>array(49,-229,547,830),4333=>array(44,-225,532,829),4334=>array(-15,0,558,830),4335=>array(24,-225,659,532),4336=>array(54,0,518,829),4337=>array(54,0,549,830),4338=>array(54,-91,518,532),4339=>array(54,-225,518,585),4340=>array(54,-225,517,831),4341=>array(54,0,595,829),4342=>array(54,-225,833,672),4343=>array(54,-225,573,542),4344=>array(63,-225,528,532),4345=>array(54,-225,565,537),4346=>array(54,-69,517,532),4347=>array(44,0,393,486),4348=>array(44,341,310,845),7424=>array(-3,0,562,519),7425=>array(-21,0,717,519),7426=>array(50,-14,890,533),7427=>array(36,0,550,519),7428=>array(50,-14,497,533),7429=>array(36,0,543,519),7430=>array(36,0,543,519),7431=>array(29,0,496,519),7432=>array(50,-18,463,533),7433=>array(36,-214,297,522),7434=>array(14,-14,453,519),7435=>array(34,0,613,519),7436=>array(23,0,518,519),7437=>array(36,0,742,519),7438=>array(34,-14,614,519),7439=>array(50,-14,552,533),7440=>array(63,-14,510,533),7441=>array(50,9,597,511),7442=>array(49,27,597,492),7443=>array(18,-0,628,523),7444=>array(50,-14,939,533),7445=>array(29,-14,476,533),7446=>array(50,260,552,533),7447=>array(50,-14,552,259),7448=>array(53,0,518,519),7449=>array(12,0,559,519),7450=>array(12,0,559,519),7451=>array(41,0,515,519),7452=>array(3,-14,582,519),7453=>array(64,-29,597,551),7454=>array(77,-29,857,551),7455=>array(65,-205,599,680),7456=>array(-3,0,562,519),7457=>array(16,0,843,519),7458=>array(40,0,490,519),7459=>array(51,-14,492,519),7460=>array(49,-14,482,742),7461=>array(29,-14,714,533),7462=>array(29,0,480,519),7463=>array(-3,0,562,519),7464=>array(36,0,621,519),7465=>array(53,0,518,519),7466=>array(37,0,678,520),7467=>array(18,-14,599,519),7468=>array(-4,326,461,734),7469=>array(-11,326,598,734),7470=>array(35,326,424,734),7471=>array(32,334,449,742),7472=>array(35,326,469,734),7473=>array(35,326,410,734),7474=>array(35,326,410,734),7475=>array(35,318,454,742),7476=>array(35,326,515,734),7477=>array(35,326,214,734),7478=>array(-53,209,224,734),7479=>array(35,326,480,734),7480=>array(35,326,403,734),7481=>array(31,326,613,734),7482=>array(31,318,523,734),7483=>array(31,318,523,734),7484=>array(35,318,481,742),7485=>array(25,326,343,750),7486=>array(35,326,401,734),7487=>array(35,326,489,734),7488=>array(6,326,414,734),7489=>array(29,318,502,734),7490=>array(3,326,646,734),7491=>array(31,318,358,625),7492=>array(31,318,358,625),7493=>array(31,318,385,625),7494=>array(31,318,561,625),7495=>array(18,318,372,751),7496=>array(31,318,385,751),7497=>array(31,318,341,625),7498=>array(31,318,341,625),7499=>array(31,316,292,625),7500=>array(31,316,292,625),7501=>array(31,202,385,625),7502=>array(23,207,187,619),7503=>array(18,326,386,751),7504=>array(23,326,580,625),7505=>array(23,202,338,625),7506=>array(31,318,348,625),7507=>array(31,318,324,625),7508=>array(31,472,348,625),7509=>array(31,318,348,471),7510=>array(18,209,372,625),7511=>array(18,318,248,707),7512=>array(17,318,382,617),7513=>array(41,310,376,635),7514=>array(23,326,580,625),7515=>array(-2,326,354,617),7516=>array(19,326,450,633),7517=>array(40,217,333,763),7518=>array(23,217,345,625),7519=>array(31,326,348,763),7520=>array(28,217,414,626),7521=>array(8,209,368,633),7522=>array(23,0,187,412),7523=>array(22,0,296,299),7524=>array(17,-8,382,291),7525=>array(-2,0,354,291),7526=>array(40,-109,333,437),7527=>array(23,-109,345,298),7528=>array(40,-117,339,299),7529=>array(28,-109,414,300),7530=>array(8,-117,368,307),7531=>array(27,-14,924,533),7543=>array(50,-222,611,533),7544=>array(35,326,515,734),7547=>array(36,0,297,519),7548=>array(36,0,298,519),7549=>array(29,-208,649,533),7550=>array(3,-14,582,519),7551=>array(-16,-14,636,519),7557=>array(-18,-222,290,760),7579=>array(31,318,385,625),7580=>array(31,318,324,625),7581=>array(31,266,313,625),7582=>array(31,318,348,751),7583=>array(31,316,292,625),7584=>array(23,326,271,751),7585=>array(-61,202,184,617),7586=>array(31,202,385,617),7587=>array(17,209,382,617),7588=>array(23,326,187,738),7589=>array(23,326,188,617),7590=>array(23,326,187,617),7591=>array(35,326,199,617),7592=>array(-61,202,173,738),7593=>array(18,202,267,751),7594=>array(-11,202,183,751),7595=>array(26,326,326,624),7596=>array(23,202,529,625),7597=>array(23,209,580,625),7598=>array(-61,202,388,625),7599=>array(23,202,475,625),7600=>array(26,318,388,624),7601=>array(31,318,348,625),7602=>array(31,209,348,751),7603=>array(35,202,291,625),7604=>array(-61,202,209,752),7605=>array(18,202,248,707),7606=>array(17,318,382,617),7607=>array(31,324,359,626),7608=>array(2,326,367,625),7609=>array(23,324,352,617),7610=>array(-2,326,354,617),7611=>array(25,326,309,617),7612=>array(25,202,446,617),7613=>array(25,274,311,617),7614=>array(31,201,337,617),7615=>array(31,320,347,758),7620=>array(-396,616,-13,800),7621=>array(-487,616,-104,800),7622=>array(-396,616,-13,800),7623=>array(-487,616,-104,800),7624=>array(-476,616,-24,800),7625=>array(-476,616,-24,800),7680=>array(-6,-241,732,729),7681=>array(50,-241,568,533),7682=>array(55,0,674,921),7683=>array(29,-14,590,920),7684=>array(55,-191,674,729),7685=>array(29,-191,590,760),7686=>array(55,-147,674,729),7687=>array(29,-147,590,760),7688=>array(56,-193,705,927),7689=>array(50,-193,514,800),7690=>array(55,0,744,921),7691=>array(50,-14,611,920),7692=>array(55,-191,744,729),7693=>array(50,-191,611,760),7694=>array(55,-147,744,729),7695=>array(50,-147,611,760),7696=>array(55,-187,744,729),7697=>array(50,-193,611,760),7698=>array(55,-240,744,729),7699=>array(50,-240,611,760),7700=>array(55,0,650,1044),7701=>array(50,-14,542,919),7702=>array(55,0,650,1044),7703=>array(50,-14,542,919),7704=>array(55,-240,650,729),7705=>array(50,-240,542,533),7706=>array(55,-213,650,729),7707=>array(50,-213,542,533),7708=>array(55,-193,650,928),7709=>array(50,-193,542,785),7710=>array(55,0,652,921),7711=>array(36,0,430,920),7712=>array(56,-14,720,927),7713=>array(50,-222,611,745),7714=>array(55,0,817,921),7715=>array(36,0,616,920),7716=>array(55,-191,817,729),7717=>array(36,-191,616,760),7718=>array(55,0,817,920),7719=>array(5,0,616,921),7720=>array(55,-193,817,729),7721=>array(36,-193,616,760),7722=>array(55,-217,817,729),7723=>array(36,-217,616,760),7724=>array(34,-213,356,729),7725=>array(-4,-213,318,736),7726=>array(45,0,350,1044),7727=>array(8,0,312,886),7728=>array(55,0,762,931),7729=>array(29,0,613,961),7730=>array(55,-191,762,729),7731=>array(29,-191,613,760),7732=>array(55,-147,762,729),7733=>array(29,-147,613,760),7734=>array(55,-191,640,729),7735=>array(29,-191,290,760),7736=>array(51,-191,640,899),7737=>array(13,-191,305,900),7738=>array(55,-147,640,729),7739=>array(14,-147,306,760),7740=>array(55,-240,640,729),7741=>array(4,-240,316,760),7742=>array(50,0,973,927),7743=>array(36,0,921,800),7744=>array(50,0,973,921),7745=>array(36,0,921,766),7746=>array(50,-191,973,729),7747=>array(36,-191,921,533),7748=>array(49,-14,831,921),7749=>array(36,0,616,766),7750=>array(49,-191,831,729),7751=>array(36,-191,616,533),7752=>array(49,-147,831,729),7753=>array(36,-147,616,533),7754=>array(49,-240,831,729),7755=>array(36,-240,616,533),7756=>array(56,-14,764,1044),7757=>array(50,-14,552,881),7758=>array(56,-14,764,1049),7759=>array(50,-14,552,891),7760=>array(56,-14,764,1044),7761=>array(50,-14,552,919),7762=>array(56,-14,764,1044),7763=>array(50,-14,552,919),7764=>array(55,0,637,927),7765=>array(29,-208,590,800),7766=>array(55,0,637,921),7767=>array(29,-208,590,766),7768=>array(55,0,777,921),7769=>array(36,0,478,766),7770=>array(55,-191,777,729),7771=>array(36,-191,478,533),7772=>array(55,-191,777,899),7773=>array(36,-191,478,745),7774=>array(55,-147,777,729),7775=>array(14,-147,478,533),7776=>array(84,-14,612,921),7777=>array(56,-14,462,766),7778=>array(84,-191,612,742),7779=>array(56,-191,462,533),7780=>array(84,-14,612,943),7781=>array(56,-14,462,760),7782=>array(84,-14,612,1049),7783=>array(56,-14,462,867),7784=>array(84,-191,612,921),7785=>array(56,-191,462,766),7786=>array(10,0,657,921),7787=>array(29,-14,394,920),7788=>array(10,-191,657,729),7789=>array(29,-191,394,680),7790=>array(10,-147,657,729),7791=>array(29,-147,397,680),7792=>array(10,-240,657,729),7793=>array(29,-240,407,680),7794=>array(47,-191,798,729),7795=>array(27,-191,607,519),7796=>array(47,-213,798,729),7797=>array(27,-213,607,519),7798=>array(47,-240,798,729),7799=>array(27,-240,607,519),7800=>array(47,-14,798,1044),7801=>array(27,-14,607,881),7802=>array(47,-14,798,1032),7803=>array(27,-14,607,908),7804=>array(-10,0,737,927),7805=>array(-3,0,562,777),7806=>array(-10,-191,737,729),7807=>array(-3,-191,562,519),7808=>array(5,0,1025,927),7809=>array(16,0,843,799),7810=>array(5,0,1025,927),7811=>array(16,0,843,800),7812=>array(5,0,1025,920),7813=>array(16,0,843,766),7814=>array(5,0,1025,921),7815=>array(16,0,843,766),7816=>array(5,-191,1025,729),7817=>array(16,-191,843,519),7818=>array(6,0,707,921),7819=>array(12,0,552,766),7820=>array(6,0,707,920),7821=>array(12,0,552,766),7822=>array(-11,0,669,921),7823=>array(-3,-222,562,766),7824=>array(45,0,656,927),7825=>array(40,0,490,800),7826=>array(45,-191,656,729),7827=>array(40,-191,490,519),7828=>array(45,-147,656,729),7829=>array(40,-147,490,519),7830=>array(36,-147,616,760),7831=>array(-2,-14,394,921),7832=>array(16,0,843,878),7833=>array(-3,-222,562,878),7834=>array(50,-14,787,760),7835=>array(36,0,430,920),7836=>array(25,0,430,760),7837=>array(36,0,430,760),7838=>array(47,-14,756,743),7839=>array(50,-14,552,765),7840=>array(-6,-191,732,729),7841=>array(50,-191,568,533),7842=>array(-6,0,732,1034),7843=>array(50,-14,568,852),7844=>array(-6,0,732,1028),7845=>array(50,-14,595,846),7846=>array(-6,0,732,1028),7847=>array(50,-14,568,847),7848=>array(-6,0,732,1086),7849=>array(50,-14,568,904),7850=>array(-6,0,732,1057),7851=>array(50,-14,568,875),7852=>array(-6,-191,732,982),7853=>array(50,-191,568,800),7854=>array(-6,0,732,1044),7855=>array(50,-14,568,877),7856=>array(-6,0,732,1044),7857=>array(50,-14,568,877),7858=>array(-6,0,732,1109),7859=>array(50,-14,568,942),7860=>array(-6,0,732,1043),7861=>array(50,-14,568,876),7862=>array(-6,-191,732,967),7863=>array(50,-191,568,785),7864=>array(55,-191,650,729),7865=>array(50,-191,542,533),7866=>array(55,0,650,1034),7867=>array(50,-14,542,852),7868=>array(55,0,650,927),7869=>array(50,-14,542,777),7870=>array(55,0,670,1028),7871=>array(50,-14,623,846),7872=>array(55,0,650,1028),7873=>array(50,-14,542,847),7874=>array(55,0,650,1086),7875=>array(50,-14,594,904),7876=>array(55,0,650,1057),7877=>array(50,-14,542,875),7878=>array(55,-191,650,927),7879=>array(50,-191,542,800),7880=>array(55,0,340,1034),7881=>array(36,0,297,852),7882=>array(55,-191,340,729),7883=>array(36,-191,297,736),7884=>array(56,-191,764,742),7885=>array(50,-191,552,533),7886=>array(56,-14,764,1034),7887=>array(50,-14,552,852),7888=>array(56,-14,764,1028),7889=>array(50,-14,610,846),7890=>array(56,-14,764,1028),7891=>array(50,-14,552,846),7892=>array(56,-14,764,1086),7893=>array(50,-14,581,904),7894=>array(56,-14,764,1057),7895=>array(50,-14,552,875),7896=>array(56,-191,764,927),7897=>array(50,-191,552,800),7898=>array(54,-14,789,927),7899=>array(48,-14,646,800),7900=>array(54,-14,789,927),7901=>array(48,-14,646,799),7902=>array(54,-14,789,1034),7903=>array(48,-14,646,852),7904=>array(54,-14,789,921),7905=>array(48,-14,646,777),7906=>array(54,-191,789,760),7907=>array(48,-191,646,533),7908=>array(47,-191,798,729),7909=>array(27,-191,607,519),7910=>array(47,-14,798,1034),7911=>array(27,-14,607,852),7912=>array(44,-14,987,927),7913=>array(21,-14,688,800),7914=>array(44,-14,987,927),7915=>array(21,-14,688,799),7916=>array(44,-14,987,1034),7917=>array(21,-14,688,852),7918=>array(44,-14,987,921),7919=>array(21,-14,688,777),7920=>array(44,-191,987,802),7921=>array(21,-191,688,532),7922=>array(-11,0,669,931),7923=>array(-3,-222,562,776),7924=>array(-11,-191,669,729),7925=>array(-3,-222,562,519),7926=>array(-11,0,669,1037),7927=>array(-3,-222,562,852),7928=>array(-11,0,669,927),7929=>array(-3,-222,562,777),7930=>array(55,0,925,729),7931=>array(29,0,551,760),7936=>array(50,-12,648,829),7937=>array(50,-12,648,829),7938=>array(50,-12,648,829),7939=>array(50,-12,648,829),7940=>array(50,-12,648,829),7941=>array(50,-12,648,829),7942=>array(50,-12,648,994),7943=>array(50,-12,648,994),7944=>array(-6,0,732,829),7945=>array(-6,0,732,829),7946=>array(4,0,878,829),7947=>array(5,0,878,829),7948=>array(6,0,744,829),7949=>array(6,0,773,829),7950=>array(-6,0,732,994),7951=>array(-6,0,732,994),7952=>array(49,-19,472,829),7953=>array(49,-19,472,829),7954=>array(49,-19,472,829),7955=>array(49,-19,472,829),7956=>array(49,-19,472,829),7957=>array(49,-19,485,829),7960=>array(6,0,773,829),7961=>array(6,0,761,829),7962=>array(4,0,987,829),7963=>array(5,0,997,829),7964=>array(6,0,928,829),7965=>array(6,0,955,829),7968=>array(36,-208,536,829),7969=>array(36,-208,536,829),7970=>array(36,-208,536,829),7971=>array(36,-208,536,829),7972=>array(36,-208,536,829),7973=>array(36,-208,536,829),7974=>array(36,-208,536,994),7975=>array(36,-208,536,994),7976=>array(6,0,943,829),7977=>array(6,0,937,829),7978=>array(4,0,1157,829),7979=>array(5,0,1168,829),7980=>array(6,0,1104,829),7981=>array(6,0,1127,829),7982=>array(7,0,1042,994),7983=>array(7,0,1040,994),7984=>array(36,22,336,829),7985=>array(36,22,336,829),7986=>array(-6,22,367,829),7987=>array(-10,22,366,829),7988=>array(31,22,373,829),7989=>array(12,22,380,829),7990=>array(1,22,336,994),7991=>array(2,22,336,994),7992=>array(6,0,466,829),7993=>array(6,0,457,829),7994=>array(4,0,680,829),7995=>array(5,0,683,829),7996=>array(6,0,624,829),7997=>array(6,0,650,829),7998=>array(7,0,568,994),7999=>array(7,0,560,994),8000=>array(50,-14,552,829),8001=>array(50,-14,552,829),8002=>array(50,-14,552,829),8003=>array(50,-14,552,829),8004=>array(50,-14,552,829),8005=>array(50,-14,552,829),8008=>array(6,-14,764,829),8009=>array(6,-14,804,829),8010=>array(4,-14,1064,829),8011=>array(5,-14,1072,829),8012=>array(6,-14,881,829),8013=>array(6,-14,908,829),8016=>array(36,-3,559,829),8017=>array(36,-3,559,829),8018=>array(36,-3,559,829),8019=>array(36,-3,559,829),8020=>array(36,-3,559,829),8021=>array(36,-3,559,829),8022=>array(36,-3,559,994),8023=>array(36,-3,559,994),8025=>array(6,0,859,829),8027=>array(5,0,1088,829),8029=>array(6,0,1053,829),8031=>array(7,0,962,994),8032=>array(44,-3,767,829),8033=>array(44,-3,767,829),8034=>array(44,-3,767,829),8035=>array(44,-3,767,829),8036=>array(44,-3,767,829),8037=>array(44,-3,767,829),8038=>array(44,-3,767,994),8039=>array(44,-3,767,994),8040=>array(6,0,769,829),8041=>array(6,0,810,829),8042=>array(4,0,1071,829),8043=>array(5,0,1077,829),8044=>array(6,0,886,829),8045=>array(6,0,916,829),8046=>array(7,0,877,994),8047=>array(7,0,910,994),8048=>array(50,-12,648,799),8049=>array(50,-12,648,800),8050=>array(49,-19,472,799),8051=>array(49,-19,472,800),8052=>array(36,-208,536,799),8053=>array(36,-208,536,800),8054=>array(1,22,336,799),8055=>array(36,22,336,800),8056=>array(50,-14,552,799),8057=>array(50,-14,552,800),8058=>array(36,-3,559,799),8059=>array(36,-3,559,800),8060=>array(44,-3,767,799),8061=>array(44,-3,767,800),8064=>array(50,-208,648,829),8065=>array(50,-208,648,829),8066=>array(50,-208,648,829),8067=>array(50,-208,648,829),8068=>array(50,-208,648,829),8069=>array(50,-208,648,829),8070=>array(50,-208,648,994),8071=>array(50,-208,648,994),8072=>array(-6,-208,732,829),8073=>array(-6,-208,732,829),8074=>array(4,-208,878,829),8075=>array(5,-208,878,829),8076=>array(6,-208,744,829),8077=>array(6,-208,773,829),8078=>array(-6,-208,732,994),8079=>array(-6,-208,732,994),8080=>array(36,-208,536,829),8081=>array(36,-208,536,829),8082=>array(36,-208,536,829),8083=>array(36,-208,536,829),8084=>array(36,-208,536,829),8085=>array(36,-208,536,829),8086=>array(36,-208,536,994),8087=>array(36,-208,536,994),8088=>array(6,-208,943,829),8089=>array(6,-208,937,829),8090=>array(4,-208,1157,829),8091=>array(5,-208,1168,829),8092=>array(6,-208,1104,829),8093=>array(6,-208,1127,829),8094=>array(7,-208,1042,994),8095=>array(7,-208,1040,994),8096=>array(44,-208,767,829),8097=>array(44,-208,767,829),8098=>array(44,-208,767,829),8099=>array(44,-208,767,829),8100=>array(44,-208,767,829),8101=>array(44,-208,767,829),8102=>array(44,-208,767,994),8103=>array(44,-208,767,994),8104=>array(6,-208,769,829),8105=>array(6,-208,810,829),8106=>array(4,-208,1071,829),8107=>array(5,-208,1077,829),8108=>array(6,-208,886,829),8109=>array(6,-208,916,829),8110=>array(7,-208,877,994),8111=>array(7,-208,910,994),8112=>array(50,-12,648,785),8113=>array(50,-12,648,745),8114=>array(50,-208,648,799),8115=>array(50,-208,648,533),8116=>array(50,-208,648,800),8118=>array(50,-12,648,777),8119=>array(50,-208,648,777),8120=>array(-6,0,732,926),8121=>array(-6,0,732,899),8122=>array(-6,0,732,799),8123=>array(-6,0,732,800),8124=>array(-6,-208,732,729),8125=>array(188,606,318,829),8126=>array(213,-208,336,-60),8127=>array(188,606,318,829),8128=>array(89,639,411,777),8129=>array(89,652,411,944),8130=>array(36,-208,536,799),8131=>array(36,-208,536,533),8132=>array(36,-208,536,800),8134=>array(36,-208,536,777),8135=>array(36,-208,536,777),8136=>array(4,0,832,799),8137=>array(7,0,820,800),8138=>array(4,0,1007,799),8139=>array(7,0,984,800),8140=>array(55,-208,817,729),8141=>array(69,606,442,829),8142=>array(83,606,424,829),8143=>array(89,606,411,994),8144=>array(14,22,336,785),8145=>array(16,22,336,745),8146=>array(-2,22,336,996),8147=>array(8,22,336,996),8150=>array(13,22,336,777),8151=>array(13,22,336,944),8152=>array(45,0,349,928),8153=>array(51,0,344,899),8154=>array(4,0,533,799),8155=>array(7,0,507,800),8157=>array(66,606,442,829),8158=>array(65,606,433,829),8159=>array(89,606,411,994),8160=>array(36,-3,559,785),8161=>array(36,-3,559,745),8162=>array(36,-3,559,996),8163=>array(36,-3,559,996),8164=>array(63,-208,538,829),8165=>array(63,-208,538,829),8166=>array(36,-3,559,777),8167=>array(36,-3,559,944),8168=>array(-11,0,669,926),8169=>array(-11,0,669,899),8170=>array(4,0,930,799),8171=>array(7,0,906,800),8172=>array(6,0,754,829),8173=>array(83,652,402,996),8174=>array(98,652,415,996),8175=>array(83,615,306,799),8178=>array(44,-208,767,799),8179=>array(44,-208,767,519),8180=>array(44,-208,767,800),8182=>array(44,-3,767,730),8183=>array(44,-208,767,730),8184=>array(4,-14,906,799),8185=>array(7,-14,780,800),8186=>array(4,0,924,799),8187=>array(7,0,792,800),8188=>array(61,-208,769,742),8189=>array(192,616,415,800),8190=>array(188,606,318,829),8208=>array(44,230,294,306),8209=>array(44,230,294,306),8210=>array(44,233,592,298),8211=>array(44,233,456,298),8212=>array(44,233,956,298),8213=>array(0,233,1000,298),8214=>array(129,-236,369,764),8215=>array(0,-236,500,-80),8216=>array(102,495,268,742),8217=>array(71,482,238,729),8218=>array(44,-136,229,111),8219=>array(71,482,238,729),8220=>array(102,495,461,742),8221=>array(71,482,431,729),8222=>array(44,-136,422,111),8223=>array(71,482,431,729),8224=>array(28,-96,472,729),8225=>array(28,-96,472,729),8226=>array(150,227,440,516),8227=>array(150,188,479,555),8228=>array(102,-14,232,116),8229=>array(102,-14,565,116),8230=>array(102,-14,898,116),8240=>array(55,-14,1287,742),8241=>array(55,-14,1679,742),8242=>array(20,547,203,729),8243=>array(20,547,350,729),8244=>array(20,547,496,729),8245=>array(20,547,203,729),8246=>array(20,547,350,729),8247=>array(20,547,496,729),8248=>array(5,-236,333,-30),8249=>array(77,69,306,517),8250=>array(94,69,323,517),8252=>array(68,-14,459,729),8253=>array(68,-14,488,742),8254=>array(0,716,500,755),8258=>array(16,-28,984,814),8260=>array(-183,-14,350,742),8261=>array(86,-132,313,760),8262=>array(77,-132,304,760),8263=>array(34,-14,942,742),8264=>array(68,-14,686,742),8265=>array(68,-14,686,742),8267=>array(64,-96,559,729),8268=>array(105,220,395,509),8269=>array(105,220,395,509),8270=>array(16,-28,484,427),8271=>array(101,-136,301,434),8273=>array(16,-6,484,929),8274=>array(71,-93,418,729),8275=>array(49,233,951,394),8279=>array(20,547,643,729),8304=>array(25,319,375,742),8305=>array(23,326,187,738),8308=>array(26,326,370,734),8309=>array(33,319,362,734),8310=>array(20,319,371,742),8311=>array(39,326,372,734),8312=>array(26,319,375,742),8313=>array(25,319,376,742),8314=>array(67,326,461,677),8315=>array(67,479,461,524),8316=>array(67,424,461,580),8317=>array(50,239,201,751),8318=>array(44,239,196,751),8319=>array(22,326,382,625),8320=>array(25,-7,375,416),8321=>array(72,0,323,408),8322=>array(44,0,338,416),8323=>array(49,-7,350,416),8324=>array(26,0,370,408),8325=>array(33,-7,362,408),8326=>array(20,-7,371,416),8327=>array(39,0,372,408),8328=>array(26,-7,375,416),8329=>array(25,-7,376,416),8330=>array(67,0,461,351),8331=>array(67,153,461,198),8332=>array(67,98,461,253),8333=>array(50,-87,201,425),8334=>array(44,-87,196,425),8336=>array(31,-8,358,299),8337=>array(31,-8,341,299),8338=>array(31,-8,348,299),8339=>array(22,0,373,291),8340=>array(31,-8,341,299),8341=>array(22,0,382,425),8342=>array(18,0,386,425),8343=>array(22,0,192,425),8344=>array(23,0,580,299),8345=>array(22,0,382,299),8346=>array(18,-117,372,299),8347=>array(27,-8,291,299),8348=>array(18,-8,248,381),8358=>array(40,-14,625,729),8364=>array(-4,-14,555,742),8367=>array(13,-193,1044,723),8369=>array(55,0,670,729),8372=>array(40,-14,745,742),8373=>array(84,-147,555,760),8376=>array(10,0,657,729),8377=>array(46,0,589,729),8450=>array(42,-14,745,742),8451=>array(46,-14,1059,742),8457=>array(46,0,1005,742),8461=>array(47,0,900,729),8462=>array(48,0,553,760),8463=>array(48,0,552,760),8469=>array(44,0,874,729),8470=>array(37,-14,896,729),8473=>array(47,0,727,729),8474=>array(42,-180,828,742),8477=>array(47,0,837,729),8482=>array(118,447,826,729),8484=>array(37,0,694,729),8486=>array(61,0,769,742),8487=>array(61,-13,769,729),8490=>array(55,0,762,729),8491=>array(-6,0,732,928),8498=>array(42,0,639,729),8508=>array(34,0,698,519),8509=>array(24,-209,615,519),8510=>array(47,0,697,729),8511=>array(47,0,899,729),8512=>array(26,-192,688,719),8513=>array(80,-14,716,742),8514=>array(4,0,458,729),8515=>array(3,0,457,729),8516=>array(-2,0,613,729),8517=>array(-24,0,835,729),8518=>array(11,-14,677,760),8519=>array(33,-14,593,533),8520=>array(-40,0,336,760),8521=>array(-166,-222,353,760),8523=>array(47,-14,818,742),8526=>array(24,0,485,519),8528=>array(72,-14,940,742),8529=>array(72,-14,944,742),8530=>array(72,-14,1344,742),8531=>array(72,-14,918,742),8532=>array(44,-14,918,742),8533=>array(72,-14,930,742),8534=>array(44,-14,930,742),8535=>array(49,-14,930,742),8536=>array(26,-14,930,742),8537=>array(72,-14,939,742),8538=>array(33,-14,939,742),8539=>array(72,-14,942,742),8540=>array(49,-14,942,742),8541=>array(33,-14,942,742),8542=>array(39,-14,942,742),8543=>array(72,-14,751,742),8544=>array(55,0,340,729),8545=>array(55,0,535,729),8546=>array(55,0,730,729),8547=>array(55,0,981,729),8548=>array(-10,0,737,729),8549=>array(-10,0,926,729),8550=>array(-10,0,1121,729),8551=>array(-10,0,1316,729),8552=>array(55,0,927,729),8553=>array(6,0,707,729),8554=>array(6,0,877,729),8555=>array(6,0,1072,729),8556=>array(55,0,640,729),8557=>array(56,-14,705,742),8558=>array(55,0,744,729),8559=>array(50,0,973,729),8560=>array(36,0,297,736),8561=>array(36,0,617,736),8562=>array(36,0,937,736),8563=>array(36,0,882,736),8564=>array(-3,0,562,519),8565=>array(-3,0,862,736),8566=>array(-3,0,1182,736),8567=>array(-3,0,1501,736),8568=>array(36,0,872,736),8569=>array(12,0,552,519),8570=>array(12,0,861,736),8571=>array(12,0,1181,736),8572=>array(29,0,290,760),8573=>array(50,-14,514,533),8574=>array(50,-14,611,760),8575=>array(36,0,921,533),8576=>array(55,0,1148,729),8577=>array(55,0,744,729),8578=>array(55,0,1148,729),8579=>array(56,-14,705,742),8580=>array(50,-14,514,533),8581=>array(56,-208,705,742),8585=>array(25,-14,918,742),8592=>array(37,119,781,527),8593=>array(215,0,623,744),8594=>array(57,119,801,527),8595=>array(215,-20,623,724),8596=>array(37,119,801,527),8597=>array(215,-20,623,744),8598=>array(147,40,703,595),8599=>array(135,39,690,595),8600=>array(135,52,690,607),8601=>array(147,52,703,607),8602=>array(37,116,781,531),8603=>array(57,116,801,531),8604=>array(56,159,800,453),8605=>array(38,159,782,453),8606=>array(37,119,781,527),8607=>array(215,0,623,744),8608=>array(57,119,801,527),8609=>array(215,-20,623,724),8610=>array(37,119,784,527),8611=>array(54,119,801,527),8612=>array(37,119,781,527),8613=>array(215,0,623,744),8614=>array(57,119,801,527),8615=>array(215,-20,623,724),8616=>array(215,0,623,744),8617=>array(37,119,781,548),8618=>array(57,119,801,548),8619=>array(37,119,781,548),8620=>array(57,119,801,548),8621=>array(37,119,801,527),8622=>array(37,116,801,531),8623=>array(172,-13,688,730),8624=>array(232,0,593,744),8625=>array(245,0,605,744),8626=>array(232,-20,593,724),8627=>array(245,-20,605,724),8628=>array(130,102,728,609),8629=>array(159,53,667,650),8630=>array(44,145,769,540),8631=>array(69,145,794,540),8632=>array(132,40,706,717),8633=>array(57,-52,781,698),8634=>array(93,71,754,604),8635=>array(83,71,745,604),8636=>array(34,284,781,527),8637=>array(34,119,781,363),8638=>array(379,0,623,747),8639=>array(215,0,458,747),8640=>array(57,284,804,527),8641=>array(57,119,804,363),8642=>array(379,-23,623,724),8643=>array(215,-23,458,724),8644=>array(37,-52,801,698),8645=>array(44,-20,794,744),8646=>array(37,-52,801,698),8647=>array(37,-101,781,747),8648=>array(-5,0,843,744),8649=>array(57,-101,801,747),8650=>array(-5,-20,843,724),8651=>array(34,21,804,625),8652=>array(34,21,804,625),8653=>array(37,83,781,563),8654=>array(37,83,801,563),8655=>array(57,83,801,563),8656=>array(37,119,781,527),8657=>array(215,0,623,744),8658=>array(57,119,801,527),8659=>array(215,-20,623,724),8660=>array(37,119,801,527),8661=>array(215,-20,623,744),8662=>array(147,-21,763,595),8663=>array(75,-21,690,595),8664=>array(75,52,690,667),8665=>array(147,52,763,667),8666=>array(37,70,781,576),8667=>array(57,70,801,576),8668=>array(37,119,781,527),8669=>array(57,119,801,527),8670=>array(215,0,623,744),8671=>array(215,-20,623,724),8672=>array(37,119,781,527),8673=>array(215,0,623,744),8674=>array(57,119,801,527),8675=>array(215,-20,623,724),8676=>array(57,119,781,527),8677=>array(57,119,781,527),8678=>array(37,119,781,527),8679=>array(215,0,623,744),8680=>array(57,119,801,527),8681=>array(215,-20,623,724),8682=>array(215,0,623,744),8683=>array(192,0,646,744),8684=>array(192,0,646,744),8685=>array(192,0,646,744),8686=>array(215,0,623,744),8687=>array(192,0,646,744),8688=>array(57,96,801,550),8689=>array(82,0,767,689),8690=>array(71,0,756,689),8691=>array(215,-20,623,744),8692=>array(57,119,801,527),8693=>array(44,-20,794,744),8694=>array(57,-140,801,786),8695=>array(37,119,781,527),8696=>array(57,119,801,527),8697=>array(37,119,801,527),8698=>array(37,119,781,527),8699=>array(57,119,801,527),8700=>array(37,119,801,527),8701=>array(37,119,781,527),8702=>array(57,119,801,527),8703=>array(37,119,801,527),8704=>array(4,0,599,729),8706=>array(51,-12,469,647),8707=>array(61,0,464,729),8708=>array(61,-116,464,845),8710=>array(25,0,667,729),8711=>array(25,0,667,729),8712=>array(106,0,634,627),8713=>array(106,-132,634,759),8715=>array(106,0,634,627),8716=>array(106,-132,634,759),8719=>array(26,-192,769,719),8720=>array(26,-192,769,719),8721=>array(8,-192,701,719),8722=>array(106,274,732,353),8723=>array(106,0,732,627),8724=>array(106,0,732,659),8725=>array(0,-93,337,729),8727=>array(106,85,574,541),8728=>array(106,175,384,454),8729=>array(106,175,384,454),8730=>array(30,-20,637,811),8731=>array(30,-20,637,938),8732=>array(30,-20,637,929),8733=>array(108,108,569,491),8734=>array(108,108,726,491),8735=>array(138,99,700,661),8736=>array(138,99,700,661),8739=>array(106,-98,185,827),8740=>array(86,-98,392,827),8741=>array(106,-98,356,827),8742=>array(86,-98,547,827),8743=>array(128,0,604,584),8744=>array(128,0,604,584),8745=>array(105,0,732,627),8746=>array(105,-12,732,615),8747=>array(23,-181,497,757),8748=>array(23,-181,828,757),8749=>array(23,-181,1158,757),8760=>array(106,274,732,559),8761=>array(106,68,732,559),8762=>array(106,68,732,559),8763=>array(106,68,732,559),8764=>array(106,233,732,394),8765=>array(106,233,732,394),8770=>array(106,138,732,452),8771=>array(106,175,732,489),8776=>array(106,138,732,489),8784=>array(106,175,732,658),8785=>array(106,-31,732,658),8786=>array(106,-31,732,658),8787=>array(106,-31,732,658),8788=>array(106,149,927,478),8789=>array(106,149,927,478),8800=>array(106,19,732,608),8801=>array(106,93,732,534),8804=>array(106,0,732,582),8805=>array(106,0,732,582),8834=>array(106,0,732,627),8835=>array(106,0,732,627),8836=>array(106,-132,732,759),8837=>array(106,-132,732,759),8838=>array(106,-73,732,700),8839=>array(106,-73,732,700),8844=>array(105,-12,732,615),8845=>array(105,-12,732,615),8846=>array(105,-12,732,615),8847=>array(106,0,740,627),8848=>array(106,0,740,627),8849=>array(106,-73,740,700),8850=>array(106,-73,740,700),8851=>array(105,0,732,635),8852=>array(105,0,732,635),8853=>array(105,0,732,627),8854=>array(105,0,732,627),8855=>array(105,0,732,627),8856=>array(105,0,732,627),8857=>array(105,0,732,627),8858=>array(105,0,732,627),8859=>array(105,0,732,627),8860=>array(105,0,732,627),8861=>array(105,0,732,627),8862=>array(105,0,732,627),8863=>array(105,0,732,627),8864=>array(105,0,732,627),8865=>array(105,0,732,627),8866=>array(106,0,754,729),8867=>array(106,0,754,729),8868=>array(106,0,834,688),8869=>array(106,0,834,688),8870=>array(106,0,461,729),8871=>array(106,0,461,729),8872=>array(106,0,754,729),8873=>array(106,0,754,729),8874=>array(106,0,754,729),8875=>array(106,0,925,729),8876=>array(106,-115,754,844),8877=>array(106,-115,754,844),8878=>array(106,-115,754,844),8879=>array(106,-115,925,844),8901=>array(106,282,236,412),8962=>array(71,0,692,596),8968=>array(86,-132,313,760),8969=>array(77,-132,304,760),8970=>array(86,-132,313,760),8971=>array(77,-132,304,760),8976=>array(106,140,732,421),8977=>array(3,126,510,634),8984=>array(121,0,879,759),8985=>array(106,140,732,421),8992=>array(210,-250,497,928),8993=>array(21,-237,307,942),8997=>array(84,0,916,723),9000=>array(59,0,1385,729),9085=>array(13,-228,906,101),9115=>array(86,-252,414,946),9116=>array(86,-252,181,942),9117=>array(86,-240,414,942),9118=>array(86,-252,414,946),9119=>array(319,-252,414,942),9120=>array(86,-240,414,942),9121=>array(86,-252,414,928),9122=>array(86,-252,181,942),9123=>array(86,-240,414,942),9124=>array(86,-252,414,928),9125=>array(319,-252,414,935),9126=>array(86,-240,414,935),9127=>array(330,-261,668,928),9128=>array(82,-252,420,940),9129=>array(330,-240,668,940),9130=>array(330,-256,420,943),9131=>array(82,-261,420,928),9132=>array(330,-252,668,940),9133=>array(82,-240,420,940),9134=>array(210,-250,307,942),9167=>array(91,0,854,596),9251=>array(71,-228,692,101),9472=>array(-10,242,612,326),9473=>array(-10,200,612,368),9474=>array(262,-302,340,973),9475=>array(223,-302,379,973),9476=>array(-10,242,612,326),9477=>array(-10,200,612,368),9478=>array(262,-302,340,973),9479=>array(223,-302,379,973),9480=>array(-10,242,612,326),9481=>array(-10,200,612,368),9482=>array(262,-302,340,973),9483=>array(223,-302,379,973),9484=>array(262,-302,612,326),9485=>array(262,-302,612,368),9486=>array(223,-302,612,326),9487=>array(223,-302,612,368),9488=>array(-10,-302,340,326),9489=>array(-10,-302,340,368),9490=>array(-10,-302,379,326),9491=>array(-10,-302,379,368),9492=>array(262,242,612,973),9493=>array(262,200,612,973),9494=>array(223,242,612,973),9495=>array(223,200,612,973),9496=>array(-10,242,340,973),9497=>array(-10,200,340,973),9498=>array(-10,242,379,973),9499=>array(-10,200,379,973),9500=>array(262,-302,612,973),9501=>array(262,-302,612,973),9502=>array(223,-302,612,973),9503=>array(223,-302,612,973),9504=>array(223,-302,612,973),9505=>array(223,-302,612,973),9506=>array(223,-302,612,973),9507=>array(223,-302,612,973),9508=>array(-10,-302,340,973),9509=>array(-10,-302,340,973),9510=>array(-10,-302,379,973),9511=>array(-10,-302,379,973),9512=>array(-10,-302,379,973),9513=>array(-10,-302,379,973),9514=>array(-10,-302,379,973),9515=>array(-10,-302,379,973),9516=>array(-10,-302,612,326),9517=>array(-10,-302,612,368),9518=>array(-10,-302,612,368),9519=>array(-10,-302,612,368),9520=>array(-10,-302,612,326),9521=>array(-10,-302,612,368),9522=>array(-10,-302,612,368),9523=>array(-10,-302,612,368),9524=>array(-10,242,612,973),9525=>array(-10,200,612,973),9526=>array(-10,200,612,973),9527=>array(-10,200,612,973),9528=>array(-10,242,612,973),9529=>array(-10,200,612,973),9530=>array(-10,200,612,973),9531=>array(-10,200,612,973),9532=>array(-10,-302,612,973),9533=>array(-10,-302,612,973),9534=>array(-10,-302,612,973),9535=>array(-10,-302,612,973),9536=>array(-10,-302,612,973),9537=>array(-10,-302,612,973),9538=>array(-10,-302,612,973),9539=>array(-10,-302,612,973),9540=>array(-10,-302,612,973),9541=>array(-10,-302,612,973),9542=>array(-10,-302,612,973),9543=>array(-10,-302,612,973),9544=>array(-10,-302,612,973),9545=>array(-10,-302,612,973),9546=>array(-10,-302,612,973),9547=>array(-10,-302,612,973),9548=>array(-10,242,612,326),9549=>array(-10,200,612,368),9550=>array(262,-302,340,973),9551=>array(223,-302,379,973),9552=>array(-10,158,612,410),9553=>array(184,-302,418,973),9554=>array(262,-302,612,410),9555=>array(184,-302,612,326),9556=>array(184,-302,612,410),9557=>array(-10,-302,340,410),9558=>array(-10,-302,418,326),9559=>array(-10,-302,418,410),9560=>array(262,158,612,973),9561=>array(184,242,612,973),9562=>array(184,158,612,973),9563=>array(-10,158,340,973),9564=>array(-10,242,418,973),9565=>array(-10,158,418,973),9566=>array(262,-302,612,973),9567=>array(184,-302,612,973),9568=>array(184,-302,612,973),9569=>array(-10,-302,340,973),9570=>array(-10,-302,418,973),9571=>array(-10,-302,418,973),9572=>array(-10,-302,612,410),9573=>array(-10,-302,612,326),9574=>array(-10,-302,612,410),9575=>array(-10,158,612,973),9576=>array(-10,242,612,973),9577=>array(-10,158,612,973),9578=>array(-10,-302,612,973),9579=>array(-10,-302,612,973),9580=>array(-10,-302,612,973),9581=>array(262,-302,612,326),9582=>array(-10,-302,340,326),9583=>array(-10,242,340,973),9584=>array(262,242,612,973),9585=>array(-53,-302,655,973),9586=>array(-53,-302,655,973),9587=>array(-53,-302,655,973),9588=>array(-10,242,311,326),9589=>array(262,284,340,973),9590=>array(311,242,612,326),9591=>array(262,-302,340,284),9592=>array(-10,200,311,368),9593=>array(223,284,379,973),9594=>array(311,200,612,368),9595=>array(223,-302,379,284),9596=>array(-10,200,612,368),9597=>array(223,-302,379,973),9598=>array(-10,200,612,368),9599=>array(223,-302,379,973),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,700,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(55,260,818,645),9697=>array(55,-125,818,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(150,227,440,516),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9784=>array(80,3,817,721),9785=>array(83,0,813,730),9786=>array(83,0,813,730),9787=>array(83,0,813,730),9788=>array(83,0,813,730),9791=>array(85,-102,528,732),9792=>array(85,-125,646,731),9793=>array(85,-125,646,731),9794=>array(85,-5,831,729),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),10145=>array(57,119,801,527),10181=>array(54,-163,352,769),10182=>array(54,-163,352,769),10208=>array(3,-233,491,807),10216=>array(89,-132,310,759),10217=>array(80,-132,301,759),10224=>array(68,0,770,744),10225=>array(68,-20,770,724),10226=>array(49,53,774,613),10227=>array(63,53,789,613),10228=>array(57,10,996,637),10229=>array(37,119,1376,527),10230=>array(57,119,1396,527),10231=>array(37,119,1396,527),10232=>array(37,119,1376,527),10233=>array(57,119,1396,527),10234=>array(37,119,1396,527),10235=>array(37,119,1376,527),10236=>array(57,119,1396,527),10237=>array(37,119,1376,527),10238=>array(57,119,1396,527),10239=>array(57,119,1396,527),10241=>array(139,627,300,789),10242=>array(139,351,300,512),10243=>array(139,351,300,789),10244=>array(139,74,300,236),10245=>array(139,74,300,789),10246=>array(139,74,300,512),10247=>array(139,74,300,789),10248=>array(432,627,593,789),10249=>array(139,627,593,789),10250=>array(139,351,593,789),10251=>array(139,351,593,789),10252=>array(139,74,593,789),10253=>array(139,74,593,789),10254=>array(139,74,593,789),10255=>array(139,74,593,789),10256=>array(432,351,593,512),10257=>array(139,351,593,789),10258=>array(139,351,593,512),10259=>array(139,351,593,789),10260=>array(139,74,593,512),10261=>array(139,74,593,789),10262=>array(139,74,593,512),10263=>array(139,74,593,789),10264=>array(432,351,593,789),10265=>array(139,351,593,789),10266=>array(139,351,593,789),10267=>array(139,351,593,789),10268=>array(139,74,593,789),10269=>array(139,74,593,789),10270=>array(139,74,593,789),10271=>array(139,74,593,789),10272=>array(432,74,593,236),10273=>array(139,74,593,789),10274=>array(139,74,593,512),10275=>array(139,74,593,789),10276=>array(139,74,593,236),10277=>array(139,74,593,789),10278=>array(139,74,593,512),10279=>array(139,74,593,789),10280=>array(432,74,593,789),10281=>array(139,74,593,789),10282=>array(139,74,593,789),10283=>array(139,74,593,789),10284=>array(139,74,593,789),10285=>array(139,74,593,789),10286=>array(139,74,593,789),10287=>array(139,74,593,789),10288=>array(432,74,593,512),10289=>array(139,74,593,789),10290=>array(139,74,593,512),10291=>array(139,74,593,789),10292=>array(139,74,593,512),10293=>array(139,74,593,789),10294=>array(139,74,593,512),10295=>array(139,74,593,789),10296=>array(432,74,593,789),10297=>array(139,74,593,789),10298=>array(139,74,593,789),10299=>array(139,74,593,789),10300=>array(139,74,593,789),10301=>array(139,74,593,789),10302=>array(139,74,593,789),10303=>array(139,74,593,789),10304=>array(139,-203,300,-41),10305=>array(139,-203,300,789),10306=>array(139,-203,300,512),10307=>array(139,-203,300,789),10308=>array(139,-203,300,236),10309=>array(139,-203,300,789),10310=>array(139,-203,300,512),10311=>array(139,-203,300,789),10312=>array(139,-203,593,789),10313=>array(139,-203,593,789),10314=>array(139,-203,593,789),10315=>array(139,-203,593,789),10316=>array(139,-203,593,789),10317=>array(139,-203,593,789),10318=>array(139,-203,593,789),10319=>array(139,-203,593,789),10320=>array(139,-203,593,512),10321=>array(139,-203,593,789),10322=>array(139,-203,593,512),10323=>array(139,-203,593,789),10324=>array(139,-203,593,512),10325=>array(139,-203,593,789),10326=>array(139,-203,593,512),10327=>array(139,-203,593,789),10328=>array(139,-203,593,789),10329=>array(139,-203,593,789),10330=>array(139,-203,593,789),10331=>array(139,-203,593,789),10332=>array(139,-203,593,789),10333=>array(139,-203,593,789),10334=>array(139,-203,593,789),10335=>array(139,-203,593,789),10336=>array(139,-203,593,236),10337=>array(139,-203,593,789),10338=>array(139,-203,593,512),10339=>array(139,-203,593,789),10340=>array(139,-203,593,236),10341=>array(139,-203,593,789),10342=>array(139,-203,593,512),10343=>array(139,-203,593,789),10344=>array(139,-203,593,789),10345=>array(139,-203,593,789),10346=>array(139,-203,593,789),10347=>array(139,-203,593,789),10348=>array(139,-203,593,789),10349=>array(139,-203,593,789),10350=>array(139,-203,593,789),10351=>array(139,-203,593,789),10352=>array(139,-203,593,512),10353=>array(139,-203,593,789),10354=>array(139,-203,593,512),10355=>array(139,-203,593,789),10356=>array(139,-203,593,512),10357=>array(139,-203,593,789),10358=>array(139,-203,593,512),10359=>array(139,-203,593,789),10360=>array(139,-203,593,789),10361=>array(139,-203,593,789),10362=>array(139,-203,593,789),10363=>array(139,-203,593,789),10364=>array(139,-203,593,789),10365=>array(139,-203,593,789),10366=>array(139,-203,593,789),10367=>array(139,-203,593,789),10368=>array(432,-203,593,-41),10369=>array(139,-203,593,789),10370=>array(139,-203,593,512),10371=>array(139,-203,593,789),10372=>array(139,-203,593,236),10373=>array(139,-203,593,789),10374=>array(139,-203,593,512),10375=>array(139,-203,593,789),10376=>array(432,-203,593,789),10377=>array(139,-203,593,789),10378=>array(139,-203,593,789),10379=>array(139,-203,593,789),10380=>array(139,-203,593,789),10381=>array(139,-203,593,789),10382=>array(139,-203,593,789),10383=>array(139,-203,593,789),10384=>array(432,-203,593,512),10385=>array(139,-203,593,789),10386=>array(139,-203,593,512),10387=>array(139,-203,593,789),10388=>array(139,-203,593,512),10389=>array(139,-203,593,789),10390=>array(139,-203,593,512),10391=>array(139,-203,593,789),10392=>array(432,-203,593,789),10393=>array(139,-203,593,789),10394=>array(139,-203,593,789),10395=>array(139,-203,593,789),10396=>array(139,-203,593,789),10397=>array(139,-203,593,789),10398=>array(139,-203,593,789),10399=>array(139,-203,593,789),10400=>array(432,-203,593,236),10401=>array(139,-203,593,789),10402=>array(139,-203,593,512),10403=>array(139,-203,593,789),10404=>array(139,-203,593,236),10405=>array(139,-203,593,789),10406=>array(139,-203,593,512),10407=>array(139,-203,593,789),10408=>array(432,-203,593,789),10409=>array(139,-203,593,789),10410=>array(139,-203,593,789),10411=>array(139,-203,593,789),10412=>array(139,-203,593,789),10413=>array(139,-203,593,789),10414=>array(139,-203,593,789),10415=>array(139,-203,593,789),10416=>array(432,-203,593,512),10417=>array(139,-203,593,789),10418=>array(139,-203,593,512),10419=>array(139,-203,593,789),10420=>array(139,-203,593,512),10421=>array(139,-203,593,789),10422=>array(139,-203,593,512),10423=>array(139,-203,593,789),10424=>array(432,-203,593,789),10425=>array(139,-203,593,789),10426=>array(139,-203,593,789),10427=>array(139,-203,593,789),10428=>array(139,-203,593,789),10429=>array(139,-203,593,789),10430=>array(139,-203,593,789),10431=>array(139,-203,593,789),10432=>array(139,-203,593,-41),10433=>array(139,-203,593,789),10434=>array(139,-203,593,512),10435=>array(139,-203,593,789),10436=>array(139,-203,593,236),10437=>array(139,-203,593,789),10438=>array(139,-203,593,512),10439=>array(139,-203,593,789),10440=>array(139,-203,593,789),10441=>array(139,-203,593,789),10442=>array(139,-203,593,789),10443=>array(139,-203,593,789),10444=>array(139,-203,593,789),10445=>array(139,-203,593,789),10446=>array(139,-203,593,789),10447=>array(139,-203,593,789),10448=>array(139,-203,593,512),10449=>array(139,-203,593,789),10450=>array(139,-203,593,512),10451=>array(139,-203,593,789),10452=>array(139,-203,593,512),10453=>array(139,-203,593,789),10454=>array(139,-203,593,512),10455=>array(139,-203,593,789),10456=>array(139,-203,593,789),10457=>array(139,-203,593,789),10458=>array(139,-203,593,789),10459=>array(139,-203,593,789),10460=>array(139,-203,593,789),10461=>array(139,-203,593,789),10462=>array(139,-203,593,789),10463=>array(139,-203,593,789),10464=>array(139,-203,593,236),10465=>array(139,-203,593,789),10466=>array(139,-203,593,512),10467=>array(139,-203,593,789),10468=>array(139,-203,593,236),10469=>array(139,-203,593,789),10470=>array(139,-203,593,512),10471=>array(139,-203,593,789),10472=>array(139,-203,593,789),10473=>array(139,-203,593,789),10474=>array(139,-203,593,789),10475=>array(139,-203,593,789),10476=>array(139,-203,593,789),10477=>array(139,-203,593,789),10478=>array(139,-203,593,789),10479=>array(139,-203,593,789),10480=>array(139,-203,593,512),10481=>array(139,-203,593,789),10482=>array(139,-203,593,512),10483=>array(139,-203,593,789),10484=>array(139,-203,593,512),10485=>array(139,-203,593,789),10486=>array(139,-203,593,512),10487=>array(139,-203,593,789),10488=>array(139,-203,593,789),10489=>array(139,-203,593,789),10490=>array(139,-203,593,789),10491=>array(139,-203,593,789),10492=>array(139,-203,593,789),10493=>array(139,-203,593,789),10494=>array(139,-203,593,789),10495=>array(139,-203,593,789),10496=>array(57,119,801,527),10497=>array(57,119,801,527),10498=>array(37,119,781,527),10499=>array(57,119,801,527),10500=>array(37,119,801,527),10501=>array(57,119,801,527),10502=>array(37,119,781,527),10503=>array(57,119,801,527),10504=>array(215,-20,623,724),10505=>array(215,0,623,744),10506=>array(166,0,672,744),10507=>array(166,-20,672,724),10508=>array(37,119,781,527),10509=>array(57,119,801,527),10510=>array(37,119,781,527),10511=>array(57,119,801,527),10512=>array(54,119,801,527),10513=>array(54,119,801,527),10514=>array(215,0,623,724),10515=>array(215,0,623,724),10516=>array(54,119,801,527),10517=>array(54,119,801,527),10518=>array(54,119,801,527),10519=>array(54,119,801,527),10520=>array(54,119,801,527),10521=>array(57,119,784,527),10522=>array(54,119,781,527),10523=>array(57,119,784,527),10524=>array(54,119,781,527),10525=>array(37,119,781,527),10526=>array(57,119,801,527),10527=>array(37,119,781,527),10528=>array(57,119,801,527),10529=>array(147,51,691,595),10530=>array(147,51,690,595),10531=>array(147,-37,648,595),10532=>array(189,-38,690,595),10533=>array(189,52,690,684),10534=>array(147,52,648,684),10535=>array(135,40,703,595),10536=>array(135,40,691,607),10537=>array(135,52,703,607),10538=>array(147,40,703,607),10539=>array(135,40,703,607),10540=>array(135,40,703,607),10541=>array(135,40,691,607),10542=>array(135,40,691,607),10543=>array(135,40,703,607),10544=>array(135,40,703,607),10545=>array(135,40,703,595),10546=>array(135,40,703,595),10547=>array(37,119,801,527),10548=>array(146,98,706,610),10549=>array(147,90,707,602),10550=>array(159,70,671,629),10551=>array(167,70,679,629),10552=>array(292,-0,586,732),10553=>array(251,-0,545,732),10554=>array(56,197,789,491),10555=>array(51,156,784,450),10556=>array(49,82,782,491),10557=>array(56,0,789,491),10558=>array(145,30,678,609),10559=>array(160,30,693,609),10560=>array(139,53,699,778),10561=>array(139,53,699,778),10562=>array(37,-52,801,698),10563=>array(37,-52,801,698),10564=>array(37,-52,801,698),10565=>array(57,0,801,527),10566=>array(37,0,781,527),10567=>array(57,119,801,527),10568=>array(37,119,801,527),10569=>array(215,-10,623,744),10570=>array(34,119,804,527),10571=>array(34,119,804,527),10572=>array(215,-23,623,747),10573=>array(215,-23,623,747),10574=>array(34,284,804,527),10575=>array(379,-23,623,747),10576=>array(34,119,804,363),10577=>array(215,-23,458,747),10578=>array(57,131,781,527),10579=>array(57,131,781,527),10580=>array(227,0,623,724),10581=>array(227,0,623,724),10582=>array(57,119,781,515),10583=>array(57,119,781,515),10584=>array(215,0,611,724),10585=>array(215,0,611,724),10586=>array(34,131,781,527),10587=>array(57,131,804,527),10588=>array(227,0,623,747),10589=>array(227,-23,623,724),10590=>array(34,119,781,515),10591=>array(57,119,804,515),10592=>array(215,0,611,747),10593=>array(215,-23,611,724),10594=>array(34,21,781,625),10595=>array(117,0,721,747),10596=>array(57,21,804,625),10597=>array(117,-23,721,724),10598=>array(34,186,804,625),10599=>array(34,21,804,460),10600=>array(34,186,804,625),10601=>array(34,21,804,460),10602=>array(34,203,781,608),10603=>array(34,38,781,444),10604=>array(57,203,804,608),10605=>array(57,38,804,444),10606=>array(117,-23,721,747),10607=>array(117,-23,721,747),10608=>array(57,191,781,456),10609=>array(57,119,801,680),10610=>array(57,119,801,572),10611=>array(37,74,781,527),10612=>array(57,74,801,527),10613=>array(57,-71,801,527),10614=>array(37,-76,781,776),10615=>array(37,56,924,591),10616=>array(57,-76,801,776),10617=>array(57,-76,801,723),10618=>array(37,10,927,637),10619=>array(37,-76,781,723),10620=>array(169,21,682,625),10621=>array(156,21,669,625),10622=>array(117,67,721,580),10623=>array(117,59,721,571),10731=>array(3,-233,491,807),10764=>array(23,-181,1489,757),10765=>array(23,-181,497,757),10766=>array(23,-181,497,757),10799=>array(138,33,700,594),10858=>array(106,233,732,559),10859=>array(106,68,732,559),11008=>array(71,-28,690,591),11009=>array(148,-28,767,591),11010=>array(71,52,690,671),11011=>array(148,52,767,671),11012=>array(37,119,801,527),11013=>array(37,119,781,527),11014=>array(215,0,623,744),11015=>array(215,-20,623,724),11016=>array(71,-28,690,591),11017=>array(148,-28,767,591),11018=>array(71,52,690,671),11019=>array(148,52,767,671),11020=>array(37,119,801,527),11021=>array(215,-20,623,744),11022=>array(57,137,801,498),11023=>array(57,149,801,510),11024=>array(37,137,781,498),11025=>array(37,149,781,510),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11360=>array(50,0,640,729),11361=>array(18,0,303,760),11363=>array(50,0,637,729),11364=>array(55,-208,777,729),11367=>array(55,-157,817,729),11368=>array(36,-138,616,760),11369=>array(55,-157,762,729),11370=>array(29,-138,613,760),11371=>array(45,-157,656,729),11372=>array(40,-138,490,519),11373=>array(56,-14,738,742),11374=>array(50,-208,973,729),11375=>array(-6,0,732,729),11376=>array(56,-14,738,742),11377=>array(-3,0,663,530),11378=>array(5,0,1130,729),11379=>array(16,0,939,530),11381=>array(55,0,685,729),11382=>array(34,0,503,519),11383=>array(44,-15,656,521),11385=>array(36,-14,478,760),11386=>array(50,-14,552,533),11387=>array(57,0,524,519),11388=>array(22,-124,213,413),11389=>array(-6,326,464,734),11390=>array(84,-208,612,742),11391=>array(45,-208,695,729),11520=>array(59,-54,714,512),11521=>array(59,-221,576,512),11522=>array(9,-221,574,512),11523=>array(92,-1,590,760),11524=>array(55,-221,583,512),11525=>array(59,-220,903,512),11526=>array(59,0,697,760),11527=>array(59,0,902,511),11528=>array(68,0,559,512),11529=>array(59,-220,587,729),11530=>array(52,0,897,512),11531=>array(96,-1,605,760),11532=>array(59,0,587,760),11533=>array(59,-1,904,512),11534=>array(59,0,586,512),11535=>array(56,-221,807,760),11536=>array(59,0,902,760),11537=>array(59,0,586,760),11538=>array(59,-220,569,511),11539=>array(59,-224,901,636),11540=>array(85,-220,851,553),11541=>array(59,-221,805,760),11542=>array(59,0,585,512),11543=>array(59,-220,587,512),11544=>array(59,-221,586,512),11545=>array(82,-220,591,760),11546=>array(100,-220,629,512),11547=>array(85,0,607,760),11548=>array(101,-220,923,512),11549=>array(59,-220,623,512),11550=>array(90,-220,618,512),11551=>array(59,-221,793,515),11552=>array(63,0,908,512),11553=>array(59,-220,576,760),11554=>array(76,-2,559,578),11555=>array(59,-220,588,760),11556=>array(59,-220,690,512),11557=>array(96,-2,822,760),11800=>array(68,-13,488,743),11807=>array(106,68,732,394),11810=>array(86,403,313,760),11811=>array(77,403,304,760),11812=>array(86,-132,313,225),11813=>array(77,-132,304,225),11822=>array(68,-14,488,742),42564=>array(84,-14,612,742),42565=>array(56,-14,462,533),42566=>array(55,0,340,729),42567=>array(36,0,298,519),42576=>array(34,0,1049,729),42577=>array(29,0,852,519),42580=>array(65,-14,1138,742),42581=>array(45,-14,842,533),42582=>array(55,0,1149,729),42583=>array(29,-14,871,533),42760=>array(104,0,389,668),42761=>array(104,0,389,668),42762=>array(104,0,389,668),42763=>array(104,0,389,668),42764=>array(104,0,389,668),42765=>array(104,0,389,668),42766=>array(104,0,389,668),42767=>array(104,0,389,668),42768=>array(104,0,389,668),42769=>array(104,0,389,668),42770=>array(104,0,389,668),42771=>array(104,0,389,668),42772=>array(104,0,389,668),42773=>array(104,0,389,668),42774=>array(104,0,389,668),42779=>array(56,326,313,743),42780=>array(56,315,313,731),42781=>array(86,318,167,734),42782=>array(86,326,167,742),42783=>array(86,0,167,416),42790=>array(55,-208,817,729),42791=>array(36,-222,536,760),42792=>array(10,-224,814,729),42793=>array(29,-224,726,680),42794=>array(43,-14,538,742),42795=>array(50,-14,504,742),42796=>array(31,-14,524,729),42797=>array(31,-222,507,519),42798=>array(31,-92,604,729),42799=>array(31,-242,585,519),42800=>array(29,0,490,519),42801=>array(56,-14,462,533),42802=>array(-6,0,1205,729),42803=>array(50,-14,916,533),42804=>array(-6,-14,1170,742),42805=>array(50,-14,900,533),42806=>array(-17,-14,1104,729),42807=>array(50,-14,897,533),42808=>array(-6,0,983,729),42809=>array(50,-14,781,533),42810=>array(-6,0,983,729),42811=>array(50,-14,781,533),42812=>array(-6,-208,977,729),42813=>array(50,-222,821,533),42814=>array(56,-14,705,742),42815=>array(50,-14,514,533),42816=>array(49,0,762,729),42817=>array(24,0,613,760),42822=>array(55,0,763,729),42823=>array(29,0,404,760),42826=>array(-5,-14,937,742),42827=>array(-5,-14,716,533),42830=>array(56,-14,1360,742),42831=>array(50,-14,949,533),42856=>array(55,-208,652,729),42857=>array(29,-208,555,519),42875=>array(54,-208,570,743),42876=>array(36,-208,478,533),42880=>array(24,0,609,729),42881=>array(29,-240,290,519),42882=>array(54,-208,792,743),42883=>array(36,-208,623,533),42884=>array(54,-208,570,743),42885=>array(36,-208,478,533),42886=>array(32,-14,715,729),42887=>array(25,-14,524,519),42891=>array(138,205,264,729),42892=>array(98,458,176,729),42893=>array(10,0,722,729),42896=>array(49,-157,831,729),42897=>array(36,-138,617,533),42922=>array(-94,0,817,729),43002=>array(36,0,921,519),43003=>array(42,0,639,729),43004=>array(36,0,618,729),43005=>array(50,0,973,729),43006=>array(55,0,340,928),43007=>array(-6,0,1198,729),62464=>array(53,-20,601,848),62465=>array(59,-20,606,847),62466=>array(54,-20,660,846),62467=>array(62,-19,885,847),62468=>array(53,-20,589,847),62469=>array(53,-20,601,848),62470=>array(26,-20,665,847),62471=>array(63,-19,923,846),62472=>array(59,-20,606,847),62473=>array(59,-20,606,847),62474=>array(66,-20,1190,847),62475=>array(59,-20,607,847),62476=>array(75,-20,624,848),62477=>array(63,-125,890,847),62478=>array(59,-20,606,847),62479=>array(59,-20,606,848),62480=>array(63,-20,936,837),62481=>array(4,-20,686,847),62482=>array(60,-20,738,847),62483=>array(32,-20,671,847),62484=>array(62,-20,882,847),62485=>array(59,-20,606,834),62486=>array(62,-20,874,846),62487=>array(59,-20,605,846),62488=>array(25,-20,612,847),62489=>array(75,-20,624,847),62490=>array(60,-20,669,841),62491=>array(59,-20,606,847),62492=>array(76,-20,663,847),62493=>array(59,-20,607,852),62494=>array(4,-20,669,847),62495=>array(57,-29,829,845),62496=>array(59,-20,606,851),62497=>array(59,-20,646,847),62498=>array(59,-60,606,847),62499=>array(59,-20,606,859),62500=>array(59,-20,606,847),62501=>array(59,-20,663,847),62502=>array(63,-19,898,847),62504=>array(82,-220,817,760),63173=>array(50,-14,552,747),63185=>array(61,625,439,775),63188=>array(97,670,403,800),64256=>array(36,-0,771,760),64257=>array(36,0,644,760),64258=>array(36,0,637,760),64259=>array(35,0,1005,760),64260=>array(34,0,996,760),64261=>array(39,-15,733,760),64262=>array(49,-14,884,737),65533=>array(15,-84,1011,912),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>318,33=>402,34=>460,35=>838,36=>636,37=>950,38=>890,39=>275,40=>390,41=>390,42=>500,43=>838,44=>318,45=>338,46=>318,47=>337,48=>636,49=>636,50=>636,51=>636,52=>636,53=>636,54=>636,55=>636,56=>636,57=>636,58=>337,59=>337,60=>838,61=>838,62=>838,63=>536,64=>1000,65=>722,66=>735,67=>765,68=>802,69=>730,70=>694,71=>799,72=>872,73=>395,74=>401,75=>747,76=>664,77=>1024,78=>875,79=>820,80=>673,81=>820,82=>753,83=>685,84=>667,85=>843,86=>722,87=>1028,88=>712,89=>660,90=>695,91=>390,92=>337,93=>390,94=>838,95=>500,96=>500,97=>596,98=>640,99=>560,100=>640,101=>592,102=>370,103=>640,104=>644,105=>320,106=>310,107=>606,108=>320,109=>948,110=>644,111=>602,112=>640,113=>640,114=>478,115=>513,116=>402,117=>644,118=>565,119=>856,120=>564,121=>565,122=>527,123=>636,124=>337,125=>636,126=>838,160=>318,161=>402,162=>636,163=>636,164=>636,165=>636,166=>337,167=>500,168=>500,169=>1000,170=>475,171=>612,172=>838,173=>338,174=>1000,175=>500,176=>500,177=>838,178=>401,179=>401,180=>500,181=>650,182=>636,183=>318,184=>500,185=>401,186=>470,187=>612,188=>969,189=>969,190=>969,191=>536,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1001,199=>765,200=>730,201=>730,202=>730,203=>730,204=>395,205=>395,206=>395,207=>395,208=>807,209=>875,210=>820,211=>820,212=>820,213=>820,214=>820,215=>838,216=>820,217=>843,218=>843,219=>843,220=>843,221=>660,222=>676,223=>668,224=>596,225=>596,226=>596,227=>596,228=>596,229=>596,230=>940,231=>560,232=>592,233=>592,234=>592,235=>592,236=>320,237=>320,238=>320,239=>320,240=>602,241=>644,242=>602,243=>602,244=>602,245=>602,246=>602,247=>838,248=>602,249=>644,250=>644,251=>644,252=>644,253=>565,254=>640,255=>565,256=>722,257=>596,258=>722,259=>596,260=>722,261=>596,262=>765,263=>560,264=>765,265=>560,266=>765,267=>560,268=>765,269=>560,270=>802,271=>640,272=>807,273=>640,274=>730,275=>592,276=>730,277=>592,278=>730,279=>592,280=>730,281=>592,282=>730,283=>592,284=>799,285=>640,286=>799,287=>640,288=>799,289=>640,290=>799,291=>640,292=>872,293=>644,294=>872,295=>644,296=>395,297=>320,298=>395,299=>320,300=>395,301=>320,302=>395,303=>320,304=>395,305=>320,306=>801,307=>533,308=>401,309=>310,310=>747,311=>606,312=>606,313=>664,314=>320,315=>664,316=>320,317=>664,318=>320,319=>664,320=>320,321=>669,322=>324,323=>875,324=>644,325=>875,326=>644,327=>875,328=>644,329=>866,330=>843,331=>644,332=>820,333=>602,334=>820,335=>602,336=>820,337=>602,338=>1137,339=>989,340=>753,341=>478,342=>753,343=>478,344=>753,345=>478,346=>685,347=>513,348=>685,349=>513,350=>685,351=>513,352=>685,353=>513,354=>667,355=>402,356=>667,357=>402,358=>667,359=>402,360=>843,361=>644,362=>843,363=>644,364=>843,365=>644,366=>843,367=>644,368=>843,369=>644,370=>843,371=>644,372=>1028,373=>856,374=>660,375=>565,376=>660,377=>695,378=>527,379=>695,380=>527,381=>695,382=>527,383=>370,384=>640,385=>735,386=>735,387=>640,388=>735,389=>640,390=>765,391=>765,392=>560,393=>807,394=>802,395=>735,396=>640,397=>602,398=>730,399=>820,400=>623,401=>694,402=>370,403=>799,404=>712,405=>932,406=>395,407=>395,408=>747,409=>606,410=>320,411=>634,412=>948,413=>875,414=>644,415=>820,416=>820,417=>602,418=>1040,419=>807,420=>673,421=>640,422=>753,423=>685,424=>513,425=>707,426=>324,427=>402,428=>667,429=>402,430=>667,431=>843,432=>644,433=>829,434=>760,435=>738,436=>663,437=>695,438=>527,439=>564,440=>564,441=>564,442=>564,443=>636,444=>687,445=>564,446=>536,447=>635,448=>295,449=>492,450=>459,451=>295,452=>1497,453=>1329,454=>1167,455=>1065,456=>974,457=>630,458=>1276,459=>1185,460=>954,461=>722,462=>596,463=>395,464=>320,465=>820,466=>602,467=>843,468=>644,469=>843,470=>644,471=>843,472=>644,473=>843,474=>644,475=>843,476=>644,477=>592,478=>722,479=>596,480=>722,481=>596,482=>1001,483=>940,484=>848,485=>640,486=>799,487=>640,488=>747,489=>606,490=>820,491=>602,492=>820,493=>602,494=>564,495=>564,496=>320,497=>1497,498=>1329,499=>1167,500=>799,501=>640,502=>1154,503=>707,504=>875,505=>644,506=>722,507=>596,508=>1001,509=>940,510=>820,511=>602,512=>722,513=>596,514=>722,515=>596,516=>730,517=>592,518=>730,519=>592,520=>395,521=>320,522=>395,523=>320,524=>820,525=>602,526=>820,527=>602,528=>753,529=>478,530=>753,531=>478,532=>843,533=>644,534=>843,535=>644,536=>685,537=>513,538=>667,539=>402,540=>627,541=>521,542=>872,543=>644,544=>843,545=>814,546=>572,547=>552,548=>695,549=>527,550=>722,551=>596,552=>730,553=>592,554=>820,555=>602,556=>820,557=>602,558=>820,559=>602,560=>820,561=>602,562=>660,563=>565,564=>500,565=>832,566=>494,567=>310,568=>960,569=>960,570=>722,571=>765,572=>560,573=>664,574=>667,575=>513,576=>527,577=>583,578=>464,579=>735,580=>843,581=>722,582=>730,583=>592,584=>401,585=>315,586=>782,587=>640,588=>753,589=>478,590=>660,591=>565,592=>596,593=>640,594=>640,595=>640,596=>560,597=>560,598=>647,599=>683,600=>592,601=>592,602=>843,603=>518,604=>509,605=>773,606=>613,607=>315,608=>683,609=>640,610=>544,611=>599,612=>564,613=>644,614=>644,615=>644,616=>320,617=>392,618=>320,619=>380,620=>454,621=>363,622=>704,623=>948,624=>948,625=>948,626=>644,627=>694,628=>646,629=>602,630=>790,631=>647,632=>602,633=>501,634=>501,635=>551,636=>478,637=>478,638=>453,639=>453,640=>594,641=>594,642=>513,643=>271,644=>370,645=>487,646=>324,647=>402,648=>402,649=>644,650=>620,651=>608,652=>565,653=>856,654=>565,655=>655,656=>597,657=>560,658=>564,659=>560,660=>536,661=>536,662=>536,663=>513,664=>820,665=>563,666=>613,667=>654,668=>667,669=>366,670=>606,671=>543,672=>683,673=>536,674=>536,675=>996,676=>1033,677=>998,678=>823,679=>598,680=>825,681=>894,682=>725,683=>676,684=>598,685=>443,686=>781,687=>767,688=>433,689=>430,690=>264,691=>347,692=>347,693=>430,694=>392,695=>585,696=>423,697=>278,698=>460,699=>318,700=>318,701=>318,702=>307,703=>307,704=>280,705=>281,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>275,713=>500,714=>500,715=>500,716=>275,717=>500,720=>337,721=>337,722=>307,723=>307,726=>329,727=>329,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>417,736=>377,737=>243,738=>337,739=>424,740=>281,741=>493,742=>493,743=>493,744=>493,745=>493,748=>500,750=>484,751=>500,752=>500,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>740,881=>531,882=>667,883=>553,884=>278,885=>278,886=>875,887=>667,890=>500,891=>560,892=>560,893=>560,894=>337,900=>500,901=>500,902=>722,903=>318,904=>900,905=>1039,906=>562,908=>835,910=>897,911=>853,912=>392,913=>722,914=>735,915=>694,916=>722,917=>730,918=>695,919=>872,920=>820,921=>395,922=>747,923=>722,924=>1024,925=>875,926=>704,927=>820,928=>872,929=>673,931=>707,932=>667,933=>660,934=>820,935=>712,936=>877,937=>829,938=>395,939=>660,940=>675,941=>518,942=>599,943=>392,944=>608,945=>675,946=>578,947=>598,948=>602,949=>518,950=>542,951=>599,952=>602,953=>392,954=>625,955=>634,956=>650,957=>608,958=>551,959=>602,960=>657,961=>588,962=>560,963=>683,964=>553,965=>608,966=>700,967=>606,968=>784,969=>815,970=>392,971=>608,972=>602,973=>608,974=>815,975=>747,976=>583,977=>715,978=>687,979=>874,980=>687,981=>682,982=>815,983=>624,984=>820,985=>602,986=>765,987=>560,988=>694,989=>463,990=>590,991=>660,992=>782,993=>577,1008=>624,1009=>588,1010=>560,1011=>310,1012=>820,1013=>560,1014=>560,1015=>676,1016=>640,1017=>765,1018=>1024,1019=>708,1020=>588,1021=>765,1022=>765,1023=>765,1024=>730,1025=>730,1026=>799,1027=>662,1028=>765,1029=>685,1030=>395,1031=>395,1032=>401,1033=>1084,1034=>1118,1035=>872,1036=>774,1037=>872,1038=>723,1039=>872,1040=>757,1041=>735,1042=>735,1043=>662,1044=>813,1045=>730,1046=>1124,1047=>623,1048=>872,1049=>872,1050=>774,1051=>834,1052=>1024,1053=>872,1054=>820,1055=>872,1056=>673,1057=>765,1058=>667,1059=>723,1060=>830,1061=>712,1062=>872,1063=>773,1064=>1141,1065=>1141,1066=>794,1067=>984,1068=>674,1069=>765,1070=>1193,1071=>808,1072=>596,1073=>602,1074=>563,1075=>524,1076=>616,1077=>592,1078=>920,1079=>545,1080=>667,1081=>667,1082=>625,1083=>635,1084=>778,1085=>667,1086=>602,1087=>667,1088=>640,1089=>560,1090=>553,1091=>588,1092=>783,1093=>564,1094=>643,1095=>661,1096=>930,1097=>930,1098=>636,1099=>796,1100=>544,1101=>560,1102=>871,1103=>631,1104=>592,1105=>592,1106=>624,1107=>524,1108=>560,1109=>513,1110=>320,1111=>320,1112=>310,1113=>843,1114=>860,1115=>644,1116=>625,1117=>667,1118=>588,1119=>656,1122=>762,1123=>603,1124=>1129,1125=>834,1130=>1124,1131=>920,1132=>1359,1133=>1113,1136=>944,1137=>902,1138=>820,1139=>552,1140=>859,1141=>678,1142=>859,1143=>678,1164=>707,1165=>544,1168=>672,1169=>529,1170=>662,1171=>523,1172=>728,1173=>614,1174=>1124,1175=>920,1176=>636,1177=>537,1178=>774,1179=>606,1182=>774,1183=>625,1184=>891,1185=>717,1186=>872,1187=>641,1188=>1139,1189=>852,1190=>1205,1191=>941,1194=>765,1195=>560,1196=>667,1197=>553,1198=>660,1199=>565,1200=>660,1201=>565,1202=>712,1203=>564,1204=>952,1205=>732,1206=>749,1207=>690,1210=>749,1211=>644,1216=>395,1217=>1124,1218=>920,1219=>747,1220=>606,1223=>872,1224=>667,1227=>749,1228=>667,1231=>320,1232=>757,1233=>596,1234=>757,1235=>596,1236=>1001,1237=>940,1238=>730,1239=>592,1240=>820,1241=>592,1242=>820,1243=>592,1244=>1124,1245=>920,1246=>623,1247=>545,1248=>564,1249=>564,1250=>872,1251=>667,1252=>872,1253=>667,1254=>820,1255=>602,1256=>820,1257=>602,1258=>820,1259=>602,1260=>765,1261=>560,1262=>723,1263=>588,1264=>723,1265=>588,1266=>723,1267=>588,1268=>773,1269=>661,1270=>662,1271=>524,1272=>984,1273=>796,1296=>623,1297=>545,1298=>834,1299=>635,1300=>1198,1301=>919,1306=>820,1307=>640,1308=>1028,1309=>856,1329=>810,1330=>811,1331=>826,1332=>847,1333=>806,1334=>826,1335=>761,1336=>811,1337=>968,1338=>816,1339=>772,1340=>682,1341=>1097,1342=>845,1343=>804,1344=>719,1345=>810,1346=>833,1347=>843,1348=>897,1349=>763,1350=>794,1351=>754,1352=>799,1353=>797,1354=>875,1355=>830,1356=>884,1357=>799,1358=>802,1359=>731,1360=>774,1361=>749,1362=>633,1363=>845,1364=>843,1365=>835,1366=>821,1369=>307,1370=>264,1371=>229,1372=>391,1373=>364,1374=>386,1375=>500,1377=>949,1378=>618,1379=>695,1380=>695,1381=>628,1382=>688,1383=>510,1384=>636,1385=>791,1386=>671,1387=>635,1388=>305,1389=>973,1390=>614,1391=>628,1392=>636,1393=>630,1394=>636,1395=>654,1396=>644,1397=>309,1398=>636,1399=>461,1400=>649,1401=>365,1402=>940,1403=>562,1404=>657,1405=>644,1406=>630,1407=>930,1408=>644,1409=>643,1410=>483,1411=>930,1412=>636,1413=>609,1414=>809,1415=>789,1417=>340,1418=>334,4256=>723,4257=>850,4258=>828,4259=>859,4260=>733,4261=>981,4262=>916,4263=>1101,4264=>566,4265=>750,4266=>962,4267=>941,4268=>743,4269=>1075,4270=>896,4271=>829,4272=>1040,4273=>733,4274=>669,4275=>1015,4276=>937,4277=>1020,4278=>731,4279=>733,4280=>732,4281=>733,4282=>879,4283=>937,4284=>714,4285=>755,4286=>733,4287=>958,4288=>1000,4289=>702,4290=>864,4291=>734,4292=>837,4293=>951,4304=>541,4305=>571,4306=>589,4307=>833,4308=>561,4309=>557,4310=>618,4311=>861,4312=>560,4313=>546,4314=>1066,4315=>586,4316=>586,4317=>825,4318=>570,4319=>581,4320=>824,4321=>607,4322=>748,4323=>698,4324=>815,4325=>585,4326=>858,4327=>568,4328=>594,4329=>586,4330=>675,4331=>587,4332=>582,4333=>576,4334=>612,4335=>683,4336=>572,4337=>603,4338=>571,4339=>572,4340=>570,4341=>649,4342=>886,4343=>626,4344=>582,4345=>619,4346=>571,4347=>437,4348=>354,7424=>565,7425=>774,7426=>940,7427=>563,7428=>560,7429=>585,7430=>585,7431=>553,7432=>509,7433=>320,7434=>499,7435=>625,7436=>543,7437=>778,7438=>667,7439=>602,7440=>560,7441=>647,7442=>647,7443=>647,7444=>989,7445=>512,7446=>602,7447=>602,7448=>553,7449=>594,7450=>594,7451=>553,7452=>585,7453=>664,7454=>923,7455=>655,7456=>565,7457=>856,7458=>527,7459=>527,7460=>531,7461=>743,7462=>524,7463=>565,7464=>657,7465=>553,7466=>703,7467=>635,7468=>455,7469=>630,7470=>463,7471=>463,7472=>505,7473=>459,7474=>459,7475=>503,7476=>549,7477=>249,7478=>252,7479=>470,7480=>418,7481=>645,7482=>551,7483=>551,7484=>516,7485=>369,7486=>424,7487=>474,7488=>420,7489=>531,7490=>647,7491=>386,7492=>386,7493=>400,7494=>618,7495=>400,7496=>400,7497=>387,7498=>387,7499=>340,7500=>340,7501=>400,7502=>175,7503=>365,7504=>613,7505=>399,7506=>385,7507=>346,7508=>385,7509=>385,7510=>400,7511=>247,7512=>399,7513=>418,7514=>613,7515=>373,7516=>468,7517=>364,7518=>376,7519=>379,7520=>441,7521=>381,7522=>201,7523=>347,7524=>399,7525=>373,7526=>364,7527=>376,7528=>370,7529=>441,7530=>381,7531=>974,7543=>640,7544=>549,7547=>320,7548=>392,7549=>640,7550=>585,7551=>620,7557=>320,7579=>400,7580=>346,7581=>346,7582=>385,7583=>340,7584=>222,7585=>229,7586=>400,7587=>399,7588=>234,7589=>244,7590=>234,7591=>234,7592=>230,7593=>175,7594=>175,7595=>367,7596=>613,7597=>613,7598=>407,7599=>404,7600=>399,7601=>385,7602=>385,7603=>328,7604=>211,7605=>247,7606=>399,7607=>389,7608=>368,7609=>376,7610=>373,7611=>331,7612=>331,7613=>331,7614=>364,7615=>385,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>722,7681=>596,7682=>735,7683=>640,7684=>735,7685=>640,7686=>735,7687=>640,7688=>765,7689=>560,7690=>802,7691=>640,7692=>802,7693=>640,7694=>802,7695=>640,7696=>802,7697=>640,7698=>802,7699=>640,7700=>730,7701=>592,7702=>730,7703=>592,7704=>730,7705=>592,7706=>730,7707=>592,7708=>730,7709=>592,7710=>694,7711=>370,7712=>799,7713=>640,7714=>872,7715=>644,7716=>872,7717=>644,7718=>872,7719=>644,7720=>872,7721=>644,7722=>872,7723=>644,7724=>395,7725=>320,7726=>395,7727=>320,7728=>747,7729=>606,7730=>747,7731=>606,7732=>747,7733=>606,7734=>664,7735=>320,7736=>664,7737=>320,7738=>664,7739=>320,7740=>664,7741=>320,7742=>1024,7743=>948,7744=>1024,7745=>948,7746=>1024,7747=>948,7748=>875,7749=>644,7750=>875,7751=>644,7752=>875,7753=>644,7754=>875,7755=>644,7756=>820,7757=>602,7758=>820,7759=>602,7760=>820,7761=>602,7762=>820,7763=>602,7764=>673,7765=>640,7766=>673,7767=>640,7768=>753,7769=>478,7770=>753,7771=>478,7772=>753,7773=>478,7774=>753,7775=>478,7776=>685,7777=>513,7778=>685,7779=>513,7780=>685,7781=>513,7782=>685,7783=>521,7784=>685,7785=>513,7786=>667,7787=>402,7788=>667,7789=>402,7790=>667,7791=>402,7792=>667,7793=>402,7794=>843,7795=>644,7796=>843,7797=>644,7798=>843,7799=>644,7800=>843,7801=>644,7802=>843,7803=>644,7804=>722,7805=>565,7806=>722,7807=>565,7808=>1028,7809=>856,7810=>1028,7811=>856,7812=>1028,7813=>856,7814=>1028,7815=>856,7816=>1028,7817=>856,7818=>712,7819=>564,7820=>712,7821=>564,7822=>660,7823=>565,7824=>695,7825=>527,7826=>695,7827=>527,7828=>695,7829=>527,7830=>644,7831=>402,7832=>856,7833=>565,7834=>903,7835=>370,7836=>370,7837=>370,7838=>829,7839=>602,7840=>722,7841=>596,7842=>722,7843=>596,7844=>722,7845=>613,7846=>722,7847=>613,7848=>722,7849=>613,7850=>722,7851=>613,7852=>722,7853=>596,7854=>722,7855=>596,7856=>722,7857=>596,7858=>722,7859=>596,7860=>722,7861=>596,7862=>722,7863=>596,7864=>730,7865=>592,7866=>730,7867=>592,7868=>730,7869=>592,7870=>730,7871=>615,7872=>730,7873=>615,7874=>730,7875=>615,7876=>730,7877=>615,7878=>730,7879=>592,7880=>395,7881=>320,7882=>395,7883=>320,7884=>820,7885=>602,7886=>820,7887=>602,7888=>820,7889=>612,7890=>820,7891=>612,7892=>820,7893=>612,7894=>820,7895=>612,7896=>820,7897=>602,7898=>820,7899=>602,7900=>820,7901=>602,7902=>820,7903=>602,7904=>820,7905=>602,7906=>820,7907=>602,7908=>843,7909=>644,7910=>843,7911=>644,7912=>843,7913=>644,7914=>843,7915=>644,7916=>843,7917=>644,7918=>843,7919=>644,7920=>843,7921=>644,7922=>660,7923=>565,7924=>660,7925=>565,7926=>660,7927=>565,7928=>660,7929=>565,7930=>949,7931=>581,7936=>675,7937=>675,7938=>675,7939=>675,7940=>675,7941=>675,7942=>675,7943=>675,7944=>722,7945=>722,7946=>869,7947=>869,7948=>734,7949=>763,7950=>722,7951=>722,7952=>537,7953=>537,7954=>537,7955=>537,7956=>537,7957=>537,7960=>853,7961=>841,7962=>1067,7963=>1077,7964=>1008,7965=>1035,7968=>599,7969=>599,7970=>599,7971=>599,7972=>599,7973=>599,7974=>599,7975=>599,7976=>998,7977=>992,7978=>1212,7979=>1224,7980=>1159,7981=>1183,7982=>1098,7983=>1095,7984=>392,7985=>392,7986=>392,7987=>392,7988=>392,7989=>392,7990=>392,7991=>392,7992=>521,7993=>512,7994=>735,7995=>738,7996=>679,7997=>706,7998=>624,7999=>615,8000=>602,8001=>602,8002=>602,8003=>602,8004=>602,8005=>602,8008=>820,8009=>859,8010=>1120,8011=>1127,8012=>937,8013=>964,8016=>608,8017=>608,8018=>608,8019=>608,8020=>608,8021=>608,8022=>608,8023=>608,8025=>851,8027=>1079,8029=>1044,8031=>953,8032=>815,8033=>815,8034=>815,8035=>815,8036=>815,8037=>815,8038=>815,8039=>815,8040=>829,8041=>870,8042=>1131,8043=>1137,8044=>946,8045=>976,8046=>938,8047=>970,8048=>675,8049=>675,8050=>537,8051=>537,8052=>599,8053=>599,8054=>392,8055=>392,8056=>602,8057=>602,8058=>608,8059=>608,8060=>815,8061=>815,8064=>675,8065=>675,8066=>675,8067=>675,8068=>675,8069=>675,8070=>675,8071=>675,8072=>722,8073=>722,8074=>869,8075=>869,8076=>734,8077=>763,8078=>722,8079=>722,8080=>599,8081=>599,8082=>599,8083=>599,8084=>599,8085=>599,8086=>599,8087=>599,8088=>998,8089=>992,8090=>1212,8091=>1224,8092=>1159,8093=>1183,8094=>1098,8095=>1095,8096=>815,8097=>815,8098=>815,8099=>815,8100=>815,8101=>815,8102=>815,8103=>815,8104=>829,8105=>870,8106=>1131,8107=>1137,8108=>946,8109=>976,8110=>938,8111=>970,8112=>675,8113=>675,8114=>675,8115=>675,8116=>675,8118=>675,8119=>675,8120=>722,8121=>722,8122=>722,8123=>722,8124=>722,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>599,8131=>599,8132=>599,8134=>599,8135=>599,8136=>912,8137=>900,8138=>1063,8139=>1039,8140=>872,8141=>500,8142=>500,8143=>500,8144=>392,8145=>392,8146=>392,8147=>392,8150=>392,8151=>392,8152=>395,8153=>395,8154=>588,8155=>562,8157=>500,8158=>500,8159=>500,8160=>608,8161=>608,8162=>608,8163=>608,8164=>588,8165=>588,8166=>608,8167=>608,8168=>660,8169=>660,8170=>921,8171=>897,8172=>790,8173=>500,8174=>500,8175=>500,8178=>815,8179=>815,8180=>815,8182=>815,8183=>815,8184=>961,8185=>835,8186=>984,8187=>853,8188=>829,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>636,8200=>318,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>338,8209=>338,8210=>636,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>318,8217=>318,8218=>318,8219=>318,8220=>511,8221=>511,8222=>518,8223=>511,8224=>500,8225=>500,8226=>590,8227=>590,8228=>334,8229=>667,8230=>1000,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1342,8241=>1734,8242=>227,8243=>374,8244=>520,8245=>227,8246=>374,8247=>520,8248=>339,8249=>400,8250=>400,8252=>527,8253=>536,8254=>500,8258=>1000,8260=>167,8261=>390,8262=>390,8263=>976,8264=>753,8265=>753,8267=>636,8268=>500,8269=>500,8270=>500,8271=>337,8273=>500,8274=>450,8275=>1000,8279=>663,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>401,8305=>201,8308=>401,8309=>401,8310=>401,8311=>401,8312=>401,8313=>401,8314=>528,8315=>528,8316=>528,8317=>246,8318=>246,8319=>433,8320=>401,8321=>401,8322=>401,8323=>401,8324=>401,8325=>401,8326=>401,8327=>401,8328=>401,8329=>401,8330=>528,8331=>528,8332=>528,8333=>246,8334=>246,8336=>386,8337=>387,8338=>385,8339=>424,8340=>387,8341=>433,8342=>365,8343=>243,8344=>613,8345=>433,8346=>400,8347=>337,8348=>247,8358=>660,8364=>636,8367=>1057,8369=>706,8372=>780,8373=>636,8376=>667,8377=>636,8450=>796,8451=>1119,8457=>1047,8461=>945,8462=>644,8463=>644,8469=>914,8470=>946,8473=>752,8474=>871,8477=>831,8482=>1000,8484=>730,8486=>829,8487=>829,8490=>747,8491=>722,8498=>694,8508=>732,8509=>660,8510=>710,8511=>944,8512=>714,8513=>775,8514=>557,8515=>557,8516=>611,8517=>867,8518=>699,8519=>636,8520=>380,8521=>362,8523=>890,8526=>514,8528=>969,8529=>969,8530=>1370,8531=>969,8532=>969,8533=>969,8534=>969,8535=>969,8536=>969,8537=>969,8538=>969,8539=>969,8540=>969,8541=>969,8542=>969,8543=>568,8544=>395,8545=>590,8546=>786,8547=>966,8548=>722,8549=>981,8550=>1176,8551=>1372,8552=>932,8553=>712,8554=>932,8555=>1127,8556=>664,8557=>765,8558=>802,8559=>1024,8560=>320,8561=>640,8562=>959,8563=>885,8564=>565,8565=>885,8566=>1205,8567=>1524,8568=>884,8569=>564,8570=>884,8571=>1204,8572=>320,8573=>560,8574=>640,8575=>948,8576=>1206,8577=>802,8578=>1206,8579=>765,8580=>560,8581=>765,8585=>969,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>838,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>604,8706=>517,8707=>542,8708=>542,8710=>698,8711=>698,8712=>740,8713=>740,8715=>740,8716=>740,8719=>796,8720=>796,8721=>714,8722=>838,8723=>838,8724=>838,8725=>337,8727=>680,8728=>490,8729=>490,8730=>637,8731=>637,8732=>637,8733=>677,8734=>833,8735=>838,8736=>838,8739=>291,8740=>479,8741=>462,8742=>634,8743=>732,8744=>732,8745=>838,8746=>838,8747=>521,8748=>852,8749=>1182,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8770=>838,8771=>838,8776=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1033,8789=>1033,8800=>838,8801=>838,8804=>838,8805=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8844=>838,8845=>838,8846=>838,8847=>846,8848=>846,8849=>846,8850=>846,8851=>838,8852=>838,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>860,8867=>860,8868=>940,8869=>940,8870=>567,8871=>567,8872=>860,8873=>860,8874=>860,8875=>1031,8876=>860,8877=>860,8878=>860,8879=>1031,8901=>342,8962=>764,8968=>390,8969=>390,8970=>390,8971=>390,8976=>838,8977=>513,8984=>1000,8985=>838,8992=>521,8993=>521,8997=>1000,9000=>1443,9085=>919,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>521,9167=>945,9251=>764,9472=>602,9473=>602,9474=>602,9475=>602,9476=>602,9477=>602,9478=>602,9479=>602,9480=>602,9481=>602,9482=>602,9483=>602,9484=>602,9485=>602,9486=>602,9487=>602,9488=>602,9489=>602,9490=>602,9491=>602,9492=>602,9493=>602,9494=>602,9495=>602,9496=>602,9497=>602,9498=>602,9499=>602,9500=>602,9501=>602,9502=>602,9503=>602,9504=>602,9505=>602,9506=>602,9507=>602,9508=>602,9509=>602,9510=>602,9511=>602,9512=>602,9513=>602,9514=>602,9515=>602,9516=>602,9517=>602,9518=>602,9519=>602,9520=>602,9521=>602,9522=>602,9523=>602,9524=>602,9525=>602,9526=>602,9527=>602,9528=>602,9529=>602,9530=>602,9531=>602,9532=>602,9533=>602,9534=>602,9535=>602,9536=>602,9537=>602,9538=>602,9539=>602,9540=>602,9541=>602,9542=>602,9543=>602,9544=>602,9545=>602,9546=>602,9547=>602,9548=>602,9549=>602,9550=>602,9551=>602,9552=>602,9553=>602,9554=>602,9555=>602,9556=>602,9557=>602,9558=>602,9559=>602,9560=>602,9561=>602,9562=>602,9563=>602,9564=>602,9565=>602,9566=>602,9567=>602,9568=>602,9569=>602,9570=>602,9571=>602,9572=>602,9573=>602,9574=>602,9575=>602,9576=>602,9577=>602,9578=>602,9579=>602,9580=>602,9581=>602,9582=>602,9583=>602,9584=>602,9585=>602,9586=>602,9587=>602,9588=>602,9589=>602,9590=>602,9591=>602,9592=>602,9593=>602,9594=>602,9595=>602,9596=>602,9597=>602,9598=>602,9599=>602,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>791,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>873,9697=>873,9698=>769,9699=>769,9700=>769,9701=>769,9702=>590,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9784=>896,9785=>896,9786=>896,9787=>896,9788=>896,9791=>614,9792=>731,9793=>731,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,10145=>838,10181=>390,10182=>390,10208=>494,10216=>390,10217=>390,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1033,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>732,10241=>732,10242=>732,10243=>732,10244=>732,10245=>732,10246=>732,10247=>732,10248=>732,10249=>732,10250=>732,10251=>732,10252=>732,10253=>732,10254=>732,10255=>732,10256=>732,10257=>732,10258=>732,10259=>732,10260=>732,10261=>732,10262=>732,10263=>732,10264=>732,10265=>732,10266=>732,10267=>732,10268=>732,10269=>732,10270=>732,10271=>732,10272=>732,10273=>732,10274=>732,10275=>732,10276=>732,10277=>732,10278=>732,10279=>732,10280=>732,10281=>732,10282=>732,10283=>732,10284=>732,10285=>732,10286=>732,10287=>732,10288=>732,10289=>732,10290=>732,10291=>732,10292=>732,10293=>732,10294=>732,10295=>732,10296=>732,10297=>732,10298=>732,10299=>732,10300=>732,10301=>732,10302=>732,10303=>732,10304=>732,10305=>732,10306=>732,10307=>732,10308=>732,10309=>732,10310=>732,10311=>732,10312=>732,10313=>732,10314=>732,10315=>732,10316=>732,10317=>732,10318=>732,10319=>732,10320=>732,10321=>732,10322=>732,10323=>732,10324=>732,10325=>732,10326=>732,10327=>732,10328=>732,10329=>732,10330=>732,10331=>732,10332=>732,10333=>732,10334=>732,10335=>732,10336=>732,10337=>732,10338=>732,10339=>732,10340=>732,10341=>732,10342=>732,10343=>732,10344=>732,10345=>732,10346=>732,10347=>732,10348=>732,10349=>732,10350=>732,10351=>732,10352=>732,10353=>732,10354=>732,10355=>732,10356=>732,10357=>732,10358=>732,10359=>732,10360=>732,10361=>732,10362=>732,10363=>732,10364=>732,10365=>732,10366=>732,10367=>732,10368=>732,10369=>732,10370=>732,10371=>732,10372=>732,10373=>732,10374=>732,10375=>732,10376=>732,10377=>732,10378=>732,10379=>732,10380=>732,10381=>732,10382=>732,10383=>732,10384=>732,10385=>732,10386=>732,10387=>732,10388=>732,10389=>732,10390=>732,10391=>732,10392=>732,10393=>732,10394=>732,10395=>732,10396=>732,10397=>732,10398=>732,10399=>732,10400=>732,10401=>732,10402=>732,10403=>732,10404=>732,10405=>732,10406=>732,10407=>732,10408=>732,10409=>732,10410=>732,10411=>732,10412=>732,10413=>732,10414=>732,10415=>732,10416=>732,10417=>732,10418=>732,10419=>732,10420=>732,10421=>732,10422=>732,10423=>732,10424=>732,10425=>732,10426=>732,10427=>732,10428=>732,10429=>732,10430=>732,10431=>732,10432=>732,10433=>732,10434=>732,10435=>732,10436=>732,10437=>732,10438=>732,10439=>732,10440=>732,10441=>732,10442=>732,10443=>732,10444=>732,10445=>732,10446=>732,10447=>732,10448=>732,10449=>732,10450=>732,10451=>732,10452=>732,10453=>732,10454=>732,10455=>732,10456=>732,10457=>732,10458=>732,10459=>732,10460=>732,10461=>732,10462=>732,10463=>732,10464=>732,10465=>732,10466=>732,10467=>732,10468=>732,10469=>732,10470=>732,10471=>732,10472=>732,10473=>732,10474=>732,10475=>732,10476=>732,10477=>732,10478=>732,10479=>732,10480=>732,10481=>732,10482=>732,10483=>732,10484=>732,10485=>732,10486=>732,10487=>732,10488=>732,10489=>732,10490=>732,10491=>732,10492=>732,10493=>732,10494=>732,10495=>732,10496=>838,10497=>838,10498=>838,10499=>838,10500=>838,10501=>838,10502=>838,10503=>838,10504=>838,10505=>838,10506=>838,10507=>838,10508=>838,10509=>838,10510=>838,10511=>838,10512=>838,10513=>838,10514=>838,10515=>838,10516=>838,10517=>838,10518=>838,10519=>838,10520=>838,10521=>838,10522=>838,10523=>838,10524=>838,10525=>838,10526=>838,10527=>838,10528=>838,10529=>838,10530=>838,10531=>838,10532=>838,10533=>838,10534=>838,10535=>838,10536=>838,10537=>838,10538=>838,10539=>838,10540=>838,10541=>838,10542=>838,10543=>838,10544=>838,10545=>838,10546=>838,10547=>838,10548=>838,10549=>838,10550=>838,10551=>838,10552=>838,10553=>838,10554=>838,10555=>838,10556=>838,10557=>838,10558=>838,10559=>838,10560=>838,10561=>838,10562=>838,10563=>838,10564=>838,10565=>838,10566=>838,10567=>838,10568=>838,10569=>838,10570=>838,10571=>838,10572=>838,10573=>838,10574=>838,10575=>838,10576=>838,10577=>838,10578=>838,10579=>838,10580=>838,10581=>838,10582=>838,10583=>838,10584=>838,10585=>838,10586=>838,10587=>838,10588=>838,10589=>838,10590=>838,10591=>838,10592=>838,10593=>838,10594=>838,10595=>838,10596=>838,10597=>838,10598=>838,10599=>838,10600=>838,10601=>838,10602=>838,10603=>838,10604=>838,10605=>838,10606=>838,10607=>838,10608=>838,10609=>838,10610=>838,10611=>838,10612=>838,10613=>838,10614=>838,10615=>981,10616=>838,10617=>838,10618=>984,10619=>838,10620=>838,10621=>838,10622=>838,10623=>838,10731=>494,10764=>1513,10765=>521,10766=>521,10799=>838,10858=>838,10859=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>838,11023=>838,11024=>838,11025=>838,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11360=>664,11361=>320,11363=>673,11364=>753,11367=>872,11368=>644,11369=>747,11370=>606,11371=>695,11372=>527,11373=>782,11374=>1024,11375=>722,11376=>782,11377=>663,11378=>1130,11379=>939,11381=>740,11382=>556,11383=>700,11385=>501,11386=>602,11387=>553,11388=>264,11389=>455,11390=>685,11391=>695,11520=>773,11521=>635,11522=>633,11523=>658,11524=>631,11525=>962,11526=>756,11527=>960,11528=>617,11529=>646,11530=>962,11531=>632,11532=>646,11533=>962,11534=>645,11535=>866,11536=>961,11537=>645,11538=>645,11539=>959,11540=>945,11541=>863,11542=>644,11543=>646,11544=>645,11545=>649,11546=>688,11547=>634,11548=>982,11549=>681,11550=>676,11551=>852,11552=>957,11553=>632,11554=>645,11555=>646,11556=>749,11557=>914,11800=>536,11807=>838,11810=>390,11811=>390,11812=>390,11813=>390,11822=>536,42564=>685,42565=>513,42566=>395,42567=>392,42576=>1104,42577=>888,42580=>1193,42581=>871,42582=>1140,42583=>899,42760=>493,42761=>493,42762=>493,42763=>493,42764=>493,42765=>493,42766=>493,42767=>493,42768=>493,42769=>493,42770=>493,42771=>493,42772=>493,42773=>493,42774=>493,42779=>369,42780=>369,42781=>253,42782=>253,42783=>253,42790=>872,42791=>634,42792=>843,42793=>754,42794=>612,42795=>560,42796=>548,42797=>531,42798=>629,42799=>610,42800=>514,42801=>513,42802=>1195,42803=>944,42804=>1226,42805=>950,42806=>1149,42807=>934,42808=>968,42809=>784,42810=>968,42811=>784,42812=>962,42813=>824,42814=>765,42815=>560,42816=>774,42817=>625,42822=>787,42823=>434,42826=>932,42827=>711,42830=>1416,42831=>999,42856=>707,42857=>610,42875=>612,42876=>478,42880=>664,42881=>320,42882=>843,42883=>644,42884=>612,42885=>478,42886=>765,42887=>560,42891=>402,42892=>275,42893=>773,42896=>875,42897=>644,42922=>872,43002=>957,43003=>694,43004=>673,43005=>1024,43006=>395,43007=>1201,62464=>654,62465=>665,62466=>714,62467=>947,62468=>665,62469=>659,62470=>725,62471=>986,62472=>665,62473=>665,62474=>1257,62475=>683,62476=>682,62477=>953,62478=>665,62479=>682,62480=>999,62481=>746,62482=>798,62483=>748,62484=>944,62485=>681,62486=>936,62487=>680,62488=>688,62489=>682,62490=>729,62491=>682,62492=>688,62493=>666,62494=>729,62495=>884,62496=>665,62497=>706,62498=>666,62499=>665,62500=>665,62501=>722,62502=>961,62504=>904,63173=>602,63185=>500,63188=>500,64256=>710,64257=>667,64258=>667,64259=>1028,64260=>1030,64261=>771,64262=>933,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1025,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserif.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserif.z new file mode 100644 index 0000000..cfdcb45 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserif.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.ctg.z new file mode 100644 index 0000000..eff351b Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.php new file mode 100644 index 0000000..7014607 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-836 -389 1796 1145]','ItalicAngle'=>0,'Ascent'=>939,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>60,'StemH'=>26,'AvgWidth'=>566,'MaxWidth'=>1820,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(127,-14,312,729),34=>array(95,458,426,729),35=>array(68,0,770,718),36=>array(89,-146,613,761),37=>array(24,-14,926,742),38=>array(40,-14,885,742),39=>array(95,458,211,729),40=>array(94,-156,421,760),41=>array(51,-156,378,760),42=>array(22,278,501,742),43=>array(106,1,732,627),44=>array(13,-165,251,156),45=>array(54,202,361,334),46=>array(81,-14,267,172),47=>array(0,-93,365,729),48=>array(47,-14,649,742),49=>array(122,0,596,742),50=>array(67,0,606,742),51=>array(70,-14,632,742),52=>array(41,0,655,742),53=>array(82,-14,620,729),54=>array(63,-14,642,742),55=>array(79,0,613,729),56=>array(52,-14,642,742),57=>array(54,-14,633,742),58=>array(92,-14,277,490),59=>array(26,-161,277,490),60=>array(106,32,732,595),61=>array(106,147,732,480),62=>array(106,32,732,595),63=>array(65,-14,541,742),64=>array(66,-174,929,703),65=>array(-8,0,787,729),66=>array(47,0,790,729),67=>array(42,-14,745,742),68=>array(47,0,825,729),69=>array(47,0,711,729),70=>array(47,0,697,729),71=>array(42,-14,775,742),72=>array(47,0,900,729),73=>array(47,0,422,729),74=>array(-73,-208,435,729),75=>array(47,0,900,729),76=>array(47,0,681,729),77=>array(42,0,1060,729),78=>array(44,0,874,729),79=>array(42,-14,828,742),80=>array(47,0,727,729),81=>array(42,-180,828,742),82=>array(47,0,837,729),83=>array(66,-14,662,742),84=>array(11,0,734,729),85=>array(34,-14,850,729),86=>array(-6,0,790,729),87=>array(-9,0,1135,729),88=>array(5,0,775,729),89=>array(-9,0,723,729),90=>array(37,0,694,729),91=>array(125,-132,402,760),92=>array(0,-93,365,729),93=>array(71,-132,348,760),94=>array(101,457,737,729),95=>array(0,-236,500,-143),96=>array(69,616,331,800),97=>array(41,-14,625,533),98=>array(23,-14,659,760),99=>array(41,-14,564,533),100=>array(41,-14,676,760),101=>array(41,-14,591,533),102=>array(31,0,484,760),103=>array(41,-222,676,533),104=>array(31,0,704,760),105=>array(34,0,355,760),106=>array(-74,-222,280,760),107=>array(34,0,710,760),108=>array(34,0,355,760),109=>array(34,0,1035,533),110=>array(34,0,704,533),111=>array(41,-14,627,533),112=>array(23,-208,659,533),113=>array(41,-208,676,533),114=>array(29,0,537,533),115=>array(43,-14,522,533),116=>array(24,-14,457,680),117=>array(23,-14,693,519),118=>array(-18,0,606,519),119=>array(-9,0,881,519),120=>array(0,0,603,519),121=>array(-13,-222,605,519),122=>array(35,0,534,519),123=>array(84,-163,553,760),124=>array(129,-236,234,764),125=>array(91,-163,559,760),126=>array(106,221,732,406),161=>array(127,0,312,742),162=>array(78,-146,602,662),163=>array(72,0,623,742),164=>array(37,30,601,596),165=>array(19,0,665,729),166=>array(129,-171,234,699),167=>array(31,-95,492,742),168=>array(69,645,431,788),169=>array(138,0,862,725),170=>array(30,246,469,742),171=>array(77,64,531,522),172=>array(106,140,732,441),173=>array(54,202,361,334),174=>array(138,0,862,725),175=>array(96,664,404,756),176=>array(87,424,412,749),177=>array(106,0,732,627),178=>array(42,334,382,742),179=>array(44,326,398,742),180=>array(169,616,431,800),181=>array(28,-208,698,519),182=>array(72,-96,575,729),183=>array(81,255,267,440),184=>array(128,-196,349,0),185=>array(70,334,369,742),186=>array(30,246,470,742),187=>array(94,64,548,522),188=>array(70,-14,1009,742),189=>array(70,-14,987,742),190=>array(44,-14,1009,742),191=>array(45,-14,521,742),192=>array(-8,0,787,927),193=>array(-8,0,787,927),194=>array(-8,0,787,927),195=>array(-8,0,787,929),196=>array(-8,0,787,939),197=>array(-8,0,787,928),198=>array(-31,0,982,729),199=>array(42,-196,745,742),200=>array(47,0,711,927),201=>array(47,0,711,927),202=>array(47,0,711,927),203=>array(47,0,711,939),204=>array(47,0,422,927),205=>array(47,0,422,927),206=>array(47,0,422,927),207=>array(47,0,422,939),208=>array(43,0,831,729),209=>array(44,0,874,929),210=>array(42,-14,828,927),211=>array(42,-14,828,927),212=>array(42,-14,828,927),213=>array(42,-14,828,929),214=>array(42,-14,828,939),215=>array(129,23,709,604),216=>array(33,-38,837,766),217=>array(34,-14,850,927),218=>array(34,-14,850,927),219=>array(34,-14,850,927),220=>array(34,-14,850,939),221=>array(-9,0,723,927),222=>array(47,0,727,729),223=>array(34,-14,725,760),224=>array(41,-14,625,800),225=>array(41,-14,625,800),226=>array(41,-14,625,800),227=>array(41,-14,625,792),228=>array(41,-14,625,788),229=>array(41,-14,625,888),230=>array(41,-14,929,533),231=>array(41,-196,564,533),232=>array(41,-14,591,800),233=>array(41,-14,591,800),234=>array(41,-14,591,800),235=>array(41,-14,591,788),236=>array(9,0,355,800),237=>array(34,0,371,800),238=>array(6,0,374,800),239=>array(9,0,371,788),240=>array(41,-14,627,764),241=>array(34,0,704,792),242=>array(41,-14,627,800),243=>array(41,-14,627,800),244=>array(41,-14,627,800),245=>array(41,-14,627,792),246=>array(41,-14,627,788),247=>array(106,60,732,567),248=>array(25,-50,642,567),249=>array(23,-14,693,800),250=>array(23,-14,693,800),251=>array(23,-14,693,800),252=>array(23,-14,693,788),253=>array(-13,-222,605,800),254=>array(23,-208,659,760),255=>array(-13,-222,605,788),256=>array(-8,0,787,914),257=>array(41,-14,625,763),258=>array(-8,0,787,936),259=>array(41,-14,625,776),260=>array(-8,-196,787,729),261=>array(41,-196,625,533),262=>array(42,-14,745,927),263=>array(41,-14,564,800),264=>array(42,-14,745,927),265=>array(41,-14,564,800),266=>array(42,-14,745,939),267=>array(41,-14,564,788),268=>array(42,-14,745,927),269=>array(41,-14,564,800),270=>array(47,0,825,927),271=>array(41,-14,852,760),272=>array(43,0,831,729),273=>array(41,-14,686,760),274=>array(47,0,711,914),275=>array(41,-14,591,763),276=>array(47,0,711,927),277=>array(41,-14,591,776),278=>array(47,0,711,939),279=>array(41,-14,591,788),280=>array(47,-196,712,729),281=>array(41,-196,591,533),282=>array(47,0,711,930),283=>array(41,-14,591,800),284=>array(42,-14,775,927),285=>array(41,-222,676,800),286=>array(42,-14,775,927),287=>array(41,-222,676,776),288=>array(42,-14,775,939),289=>array(41,-222,676,788),290=>array(42,-240,775,742),291=>array(41,-222,676,753),292=>array(47,0,900,927),293=>array(-26,0,704,927),294=>array(47,0,900,729),295=>array(31,0,704,760),296=>array(47,0,422,929),297=>array(15,0,365,792),298=>array(47,0,422,914),299=>array(3,0,355,763),300=>array(47,0,422,927),301=>array(23,0,357,776),302=>array(47,-196,422,729),303=>array(34,-196,368,760),304=>array(47,0,422,939),305=>array(34,0,355,519),306=>array(47,-208,904,729),307=>array(34,-222,668,760),308=>array(-73,-208,435,927),309=>array(-74,-222,340,800),310=>array(47,-226,900,729),311=>array(34,-226,710,760),312=>array(34,0,710,518),313=>array(47,0,681,928),314=>array(34,0,362,928),315=>array(47,-226,681,729),316=>array(34,-226,355,760),317=>array(47,0,681,729),318=>array(34,0,516,760),319=>array(47,0,693,729),320=>array(34,0,515,760),321=>array(8,0,688,729),322=>array(4,0,390,760),323=>array(44,0,874,928),324=>array(34,0,704,776),325=>array(44,-226,874,729),326=>array(34,-226,704,533),327=>array(44,0,874,927),328=>array(34,0,704,800),329=>array(46,0,962,742),330=>array(34,-208,757,743),331=>array(34,-222,630,533),332=>array(42,-14,828,914),333=>array(41,-14,627,763),334=>array(42,-14,828,927),335=>array(41,-14,627,776),336=>array(42,-14,828,927),337=>array(41,-14,627,800),338=>array(42,0,1129,729),339=>array(41,-14,984,533),340=>array(47,0,837,928),341=>array(29,0,537,776),342=>array(47,-226,837,729),343=>array(29,-226,537,533),344=>array(47,0,837,927),345=>array(29,0,537,800),346=>array(66,-14,662,928),347=>array(43,-14,522,776),348=>array(66,-14,662,927),349=>array(43,-14,522,800),350=>array(66,-196,662,742),351=>array(43,-196,522,533),352=>array(66,-14,662,927),353=>array(43,-14,522,800),354=>array(11,-196,734,729),355=>array(24,-196,457,680),356=>array(11,0,734,927),357=>array(24,-14,496,780),358=>array(11,0,734,729),359=>array(24,-14,457,680),360=>array(34,-14,850,929),361=>array(23,-14,693,792),362=>array(34,-14,850,914),363=>array(23,-14,693,763),364=>array(34,-14,850,927),365=>array(23,-14,693,776),366=>array(34,-14,850,1057),367=>array(23,-14,693,854),368=>array(34,-14,850,927),369=>array(23,-14,693,800),370=>array(34,-204,850,729),371=>array(23,-196,727,519),372=>array(-9,0,1135,931),373=>array(-9,0,881,800),374=>array(-9,0,723,931),375=>array(-13,-222,605,800),376=>array(-9,0,723,939),377=>array(37,0,694,928),378=>array(35,0,534,776),379=>array(37,0,694,952),380=>array(35,0,534,759),381=>array(37,0,694,927),382=>array(35,0,534,800),383=>array(31,0,484,760),384=>array(20,-14,659,760),385=>array(-120,0,790,729),386=>array(47,0,799,729),387=>array(23,-14,659,760),388=>array(0,0,799,729),389=>array(0,-14,659,760),390=>array(42,-14,745,742),391=>array(42,-14,906,840),392=>array(41,-14,728,709),393=>array(43,0,831,729),394=>array(-120,0,825,729),395=>array(47,0,799,729),396=>array(23,-14,659,760),397=>array(41,-246,627,533),398=>array(47,0,711,729),399=>array(42,-14,828,742),400=>array(47,-14,667,742),401=>array(-86,-208,697,729),402=>array(-95,-190,484,760),403=>array(42,-14,931,840),404=>array(17,-92,749,729),405=>array(31,-1,1003,760),406=>array(47,0,422,729),407=>array(36,0,432,729),408=>array(47,0,905,729),409=>array(34,0,710,760),410=>array(34,0,355,760),411=>array(36,0,660,739),412=>array(34,-14,1035,729),413=>array(-89,-208,874,729),414=>array(34,-208,704,533),415=>array(42,-14,828,742),416=>array(42,-14,871,758),417=>array(42,-14,745,548),418=>array(42,-171,1153,742),419=>array(42,-208,920,533),420=>array(-120,0,727,729),421=>array(23,-208,659,709),422=>array(45,-142,837,729),423=>array(66,-14,662,742),424=>array(43,-14,522,533),425=>array(41,0,640,729),426=>array(-64,-223,385,760),427=>array(24,-222,457,680),428=>array(18,0,734,729),429=>array(24,-14,457,760),430=>array(11,-208,734,729),431=>array(37,-14,1049,816),432=>array(25,-14,805,548),433=>array(45,-14,845,729),434=>array(79,0,845,729),435=>array(-9,0,817,730),436=>array(-13,-222,709,533),437=>array(37,0,694,729),438=>array(35,0,534,519),439=>array(35,-14,597,729),440=>array(60,-14,622,729),441=>array(60,-203,622,519),442=>array(51,-220,597,519),443=>array(67,0,637,742),444=>array(47,-14,697,729),445=>array(34,-203,597,519),446=>array(22,-15,376,680),447=>array(23,-208,682,560),448=>array(95,0,200,729),449=>array(95,0,397,729),450=>array(9,0,450,729),451=>array(95,0,200,729),452=>array(47,0,1561,927),453=>array(47,0,1401,800),454=>array(41,-14,1233,800),455=>array(47,-208,1138,729),456=>array(47,-222,983,760),457=>array(34,-222,660,760),458=>array(44,-208,1349,729),459=>array(44,-222,1194,760),460=>array(34,-222,1007,760),461=>array(-8,0,787,927),462=>array(41,-14,625,800),463=>array(47,0,422,927),464=>array(6,0,375,800),465=>array(42,-14,828,927),466=>array(41,-14,627,800),467=>array(34,-14,850,927),468=>array(23,-14,693,800),469=>array(34,-14,850,1036),470=>array(23,-14,693,899),471=>array(34,-14,850,1057),472=>array(23,-14,693,920),473=>array(34,-14,850,1057),474=>array(23,-14,693,920),475=>array(34,-14,850,1057),476=>array(23,-14,693,920),477=>array(41,-14,591,533),478=>array(-8,0,787,1036),479=>array(41,-14,625,899),480=>array(-8,0,787,1036),481=>array(41,-14,625,899),482=>array(-31,0,982,914),483=>array(41,-14,929,763),484=>array(42,-14,872,742),485=>array(41,-222,676,533),486=>array(42,-14,775,927),487=>array(41,-222,676,800),488=>array(47,0,900,927),489=>array(-24,0,710,927),490=>array(42,-204,828,742),491=>array(41,-204,627,533),492=>array(42,-204,828,914),493=>array(41,-204,627,763),494=>array(35,-14,597,927),495=>array(35,-203,597,800),496=>array(-74,-222,375,800),497=>array(47,0,1561,729),498=>array(47,0,1401,729),499=>array(41,-14,1233,760),500=>array(42,-14,775,928),501=>array(41,-222,676,800),502=>array(47,-14,1187,729),503=>array(47,-208,781,742),504=>array(44,0,874,927),505=>array(34,0,704,800),506=>array(-8,0,787,928),507=>array(41,-14,625,928),508=>array(-31,0,982,928),509=>array(41,-14,929,800),510=>array(33,-38,837,928),511=>array(25,-50,642,800),512=>array(-8,0,787,930),513=>array(41,-14,625,800),514=>array(-8,0,787,958),515=>array(41,-14,625,776),516=>array(47,0,711,930),517=>array(41,-14,591,800),518=>array(47,0,711,958),519=>array(41,-14,591,776),520=>array(1,0,422,930),521=>array(-47,0,355,801),522=>array(47,0,422,958),523=>array(19,0,355,767),524=>array(42,-14,828,930),525=>array(41,-14,627,800),526=>array(42,-14,828,958),527=>array(41,-14,627,776),528=>array(47,0,837,930),529=>array(29,0,537,800),530=>array(47,0,837,958),531=>array(29,0,537,776),532=>array(34,-14,850,930),533=>array(23,-14,693,800),534=>array(34,-14,850,958),535=>array(23,-14,693,776),536=>array(66,-230,662,742),537=>array(43,-230,522,533),538=>array(11,-230,734,729),539=>array(24,-230,457,680),540=>array(67,-210,616,742),541=>array(49,-211,544,531),542=>array(47,0,900,927),543=>array(-23,0,704,927),544=>array(34,-208,850,743),545=>array(41,-48,773,760),546=>array(40,-14,650,742),547=>array(50,-14,565,760),548=>array(37,-263,694,729),549=>array(35,-263,534,519),550=>array(-8,0,787,939),551=>array(41,-14,625,788),552=>array(47,-196,711,729),553=>array(41,-196,591,533),554=>array(42,-14,828,1036),555=>array(41,-14,627,899),556=>array(42,-14,828,1036),557=>array(41,-14,627,894),558=>array(42,-14,828,939),559=>array(41,-14,627,788),560=>array(42,-14,828,1036),561=>array(41,-14,627,899),562=>array(-9,0,723,914),563=>array(-13,-222,605,763),564=>array(34,-113,556,760),565=>array(34,-113,905,533),566=>array(24,-113,547,680),567=>array(-74,-222,280,519),568=>array(41,-14,991,760),569=>array(40,-208,990,533),570=>array(-14,-38,790,766),571=>array(-4,-38,800,766),572=>array(-4,-50,613,567),573=>array(36,0,681,729),574=>array(-29,-38,775,766),575=>array(43,-217,522,533),576=>array(35,-222,568,519),577=>array(47,0,635,729),578=>array(47,0,522,533),579=>array(37,0,790,729),580=>array(29,-14,855,729),581=>array(-8,0,787,729),582=>array(47,-57,711,785),583=>array(41,-56,591,581),584=>array(-73,-208,445,729),585=>array(-74,-222,355,760),586=>array(42,-208,936,742),587=>array(41,-222,783,533),588=>array(36,0,837,729),589=>array(29,0,537,533),590=>array(-9,0,723,729),591=>array(-13,-222,605,519),592=>array(41,-14,625,533),593=>array(41,-14,676,533),594=>array(41,-14,676,533),595=>array(23,-14,659,760),596=>array(41,-14,564,533),597=>array(37,-113,559,527),598=>array(41,-222,783,760),599=>array(41,-14,784,760),600=>array(41,-14,591,533),601=>array(41,-14,591,533),602=>array(54,-14,907,533),603=>array(48,-12,554,533),604=>array(41,-12,547,526),605=>array(41,-12,907,526),606=>array(41,-18,675,533),607=>array(-74,-222,355,519),608=>array(41,-222,784,760),609=>array(41,-222,676,519),610=>array(63,-4,570,520),611=>array(12,-219,588,519),612=>array(41,-38,605,521),613=>array(23,-208,696,519),614=>array(34,0,704,760),615=>array(34,-222,630,760),616=>array(34,0,355,760),617=>array(36,0,367,519),618=>array(34,0,355,519),619=>array(32,0,382,760),620=>array(32,0,487,760),621=>array(34,-222,462,760),622=>array(34,-203,824,760),623=>array(23,-14,1024,519),624=>array(23,-208,1024,519),625=>array(34,-222,961,533),626=>array(-74,-222,704,533),627=>array(34,-222,810,533),628=>array(63,0,656,519),629=>array(41,-14,627,533),630=>array(63,0,1005,521),631=>array(41,-14,704,530),632=>array(-3,-213,671,760),633=>array(29,-14,537,519),634=>array(29,-14,537,760),635=>array(29,-222,640,519),636=>array(29,-207,537,533),637=>array(29,-222,537,533),638=>array(34,0,462,533),639=>array(34,0,462,533),640=>array(63,0,745,519),641=>array(63,0,745,519),642=>array(43,-222,522,533),643=>array(-74,-223,385,760),644=>array(-74,-222,484,760),645=>array(41,-222,500,527),646=>array(-64,-223,385,760),647=>array(34,-161,467,533),648=>array(24,-222,453,680),649=>array(23,-14,693,519),650=>array(41,-14,640,519),651=>array(34,-1,654,519),652=>array(34,0,658,519),653=>array(34,0,924,519),654=>array(34,0,652,741),655=>array(63,0,670,520),656=>array(35,-222,716,519),657=>array(35,-89,534,519),658=>array(35,-203,597,519),659=>array(51,-203,597,519),660=>array(124,0,478,761),661=>array(124,0,478,761),662=>array(124,0,478,761),663=>array(124,-223,478,761),664=>array(42,-14,828,742),665=>array(34,0,655,519),666=>array(41,-18,675,533),667=>array(63,-4,734,760),668=>array(34,0,698,519),669=>array(-42,-223,390,760),670=>array(41,-208,717,519),671=>array(63,0,589,519),672=>array(41,-208,783,760),673=>array(124,0,478,761),674=>array(124,0,478,761),675=>array(41,-14,1083,760),676=>array(41,-203,1146,760),677=>array(41,-89,1083,760),678=>array(24,0,896,680),679=>array(24,-223,769,760),680=>array(24,-20,899,680),681=>array(31,-222,1005,760),682=>array(34,0,829,760),683=>array(34,0,762,760),684=>array(44,0,623,625),685=>array(44,120,401,625),686=>array(-84,-208,696,760),687=>array(-84,-222,800,760),688=>array(44,334,481,759),689=>array(44,337,479,762),690=>array(44,210,274,760),691=>array(44,334,375,632),692=>array(44,329,375,627),693=>array(44,209,441,625),694=>array(44,334,487,625),695=>array(44,302,622,592),696=>array(44,177,446,592),697=>array(78,557,218,800),698=>array(78,557,437,800),699=>array(69,456,290,742),700=>array(69,456,290,742),701=>array(69,456,290,742),702=>array(116,481,255,760),703=>array(116,481,255,760),704=>array(44,334,274,760),705=>array(44,334,274,760),706=>array(130,517,370,843),707=>array(130,517,370,843),708=>array(87,561,413,800),709=>array(87,561,413,800),710=>array(66,616,434,800),711=>array(66,616,434,800),712=>array(95,513,187,759),713=>array(96,664,404,756),714=>array(169,616,431,800),715=>array(69,616,331,800),716=>array(95,-90,187,156),717=>array(96,-188,404,-96),720=>array(109,0,260,434),721=>array(109,303,260,434),722=>array(116,269,255,547),723=>array(116,269,255,547),726=>array(54,165,300,411),727=>array(54,242,300,334),728=>array(83,624,417,776),729=>array(178,645,322,788),730=>array(111,610,389,888),731=>array(155,-196,365,0),732=>array(75,638,425,792),733=>array(110,616,496,800),734=>array(0,299,418,500),736=>array(8,211,371,625),737=>array(44,334,252,759),738=>array(44,335,355,641),739=>array(44,334,436,625),740=>array(44,334,274,760),741=>array(96,0,404,693),742=>array(96,0,404,693),743=>array(96,0,404,693),744=>array(96,0,404,693),745=>array(96,0,404,693),748=>array(87,-281,413,-42),750=>array(69,456,495,742),751=>array(66,-241,434,-58),752=>array(87,-281,413,-42),755=>array(111,-240,389,38),759=>array(75,-193,425,-40),768=>array(-432,616,-169,800),769=>array(-332,616,-69,800),770=>array(-435,616,-66,800),771=>array(-425,638,-76,792),772=>array(-404,664,-97,756),773=>array(-500,663,0,755),774=>array(-417,624,-83,776),775=>array(-322,645,-179,788),776=>array(-432,645,-69,788),777=>array(-346,616,-125,866),778=>array(-390,610,-111,888),779=>array(-391,616,-4,800),780=>array(-435,616,-66,800),781=>array(-297,616,-205,813),782=>array(-389,616,-113,813),783=>array(-484,616,-98,800),784=>array(-417,624,-83,903),785=>array(-417,624,-83,776),786=>array(-308,456,-129,617),787=>array(-322,606,-171,847),788=>array(-322,606,-171,847),789=>array(-85,616,85,800),790=>array(-431,-253,-169,-69),791=>array(-331,-251,-69,-67),792=>array(-327,-357,-158,-111),793=>array(-342,-357,-173,-111),794=>array(-200,684,46,930),795=>array(-118,338,78,548),796=>array(-319,-389,-180,-111),797=>array(-371,-280,-125,-111),798=>array(-374,-280,-127,-111),799=>array(-371,-357,-125,-111),800=>array(-374,-203,-127,-111),801=>array(-451,-222,-97,139),802=>array(-434,-222,-80,139),803=>array(-322,-213,-178,-70),804=>array(-434,-213,-72,-70),805=>array(-366,-240,-136,-11),806=>array(-345,-230,-166,-69),807=>array(-372,-196,-151,0),808=>array(-345,-196,-135,0),809=>array(-292,-266,-200,-69),810=>array(-404,-253,-96,-69),811=>array(-426,-221,-73,-69),812=>array(-434,-251,-66,-67),813=>array(-434,-253,-66,-69),814=>array(-417,-221,-83,-69),815=>array(-417,-221,-83,-69),816=>array(-428,-222,-78,-68),817=>array(-404,-161,-96,-69),818=>array(-500,-236,0,-143),819=>array(-500,-236,0,-9),820=>array(-742,210,-98,417),821=>array(-344,234,-23,293),822=>array(-694,234,-41,293),823=>array(-647,-50,-30,567),824=>array(-836,-38,-32,766),825=>array(-303,-378,-164,-100),826=>array(-404,-242,-96,-59),827=>array(-391,-350,-110,-69),828=>array(-426,-221,-73,-69),829=>array(-369,581,-129,820),830=>array(-323,598,-169,877),831=>array(-500,528,0,755),835=>array(-322,606,-171,847),856=>array(-125,645,19,788),864=>array(-430,723,430,898),865=>array(-445,729,445,902),880=>array(47,0,734,729),881=>array(34,0,542,519),882=>array(11,0,775,729),883=>array(32,0,730,519),884=>array(78,557,218,800),885=>array(78,-208,218,35),886=>array(44,0,923,729),887=>array(34,0,704,519),890=>array(202,-208,348,-60),891=>array(41,-14,564,533),892=>array(41,-14,564,533),893=>array(41,-14,564,533),894=>array(26,-161,277,490),900=>array(169,616,431,800),901=>array(69,645,440,996),902=>array(-8,0,787,800),903=>array(81,255,267,440),904=>array(-16,0,893,800),905=>array(-16,0,1084,800),906=>array(-16,0,606,800),908=>array(-16,-14,844,800),910=>array(-16,0,960,800),911=>array(-16,0,869,800),912=>array(8,16,444,996),913=>array(-8,0,787,729),914=>array(47,0,790,729),915=>array(47,0,697,729),916=>array(29,0,741,729),917=>array(47,0,711,729),918=>array(37,0,694,729),919=>array(47,0,900,729),920=>array(42,-14,828,742),921=>array(47,0,422,729),922=>array(47,0,900,729),923=>array(-8,0,787,729),924=>array(42,0,1060,729),925=>array(44,0,874,729),926=>array(55,0,642,729),927=>array(42,-14,828,742),928=>array(47,0,899,729),929=>array(47,0,727,729),931=>array(41,0,640,729),932=>array(11,0,734,729),933=>array(-9,0,723,729),934=>array(42,0,828,729),935=>array(5,0,775,729),936=>array(7,0,907,729),937=>array(45,0,845,742),938=>array(47,0,422,939),939=>array(-9,0,723,939),940=>array(41,-14,746,800),941=>array(48,-12,554,800),942=>array(34,-208,630,800),943=>array(34,16,444,800),944=>array(34,-1,654,996),945=>array(41,-14,746,532),946=>array(63,-208,609,769),947=>array(24,-209,615,519),948=>array(41,-14,627,765),949=>array(48,-12,554,533),950=>array(34,-208,542,760),951=>array(34,-208,630,533),952=>array(41,-17,627,771),953=>array(34,16,444,519),954=>array(34,0,710,519),955=>array(36,0,660,739),956=>array(28,-208,698,519),957=>array(34,0,654,519),958=>array(34,-208,542,760),959=>array(41,-14,627,533),960=>array(34,0,698,519),961=>array(63,-208,625,533),962=>array(41,-208,547,533),963=>array(41,-14,686,519),964=>array(34,16,622,519),965=>array(34,-1,654,519),966=>array(47,-208,857,519),967=>array(12,-222,636,533),968=>array(42,-208,897,519),969=>array(40,-1,911,519),970=>array(13,16,444,788),971=>array(34,-1,654,788),972=>array(41,-14,627,800),973=>array(34,-1,654,800),974=>array(40,-1,911,800),975=>array(47,-240,831,729),976=>array(41,-17,626,771),977=>array(34,-17,809,771),978=>array(30,0,724,729),979=>array(-16,0,929,800),980=>array(30,0,724,939),981=>array(41,-208,898,760),982=>array(34,-1,923,519),983=>array(49,-222,605,521),984=>array(42,-207,828,742),985=>array(41,-207,627,533),986=>array(42,-208,725,742),987=>array(41,-208,547,616),988=>array(47,0,697,729),989=>array(-93,-211,477,742),990=>array(52,0,528,729),991=>array(93,0,566,759),992=>array(60,-209,745,742),993=>array(45,-208,619,533),1008=>array(49,-5,605,521),1009=>array(63,-210,625,533),1010=>array(41,-14,564,533),1011=>array(-74,-222,280,760),1012=>array(42,-14,828,742),1013=>array(41,-14,563,533),1014=>array(42,-14,564,533),1015=>array(47,0,727,729),1016=>array(23,-208,659,760),1017=>array(42,-14,745,742),1018=>array(42,0,1060,729),1019=>array(71,-208,815,519),1020=>array(42,-208,652,533),1021=>array(42,-14,745,742),1022=>array(42,-14,745,742),1023=>array(42,-14,745,742),1024=>array(47,0,711,927),1025=>array(47,0,711,939),1026=>array(-46,-214,816,729),1027=>array(47,0,677,927),1028=>array(42,-14,745,742),1029=>array(66,-14,662,742),1030=>array(47,0,422,729),1031=>array(47,0,422,939),1032=>array(-73,-208,435,729),1033=>array(22,-14,1154,729),1034=>array(47,0,1214,729),1035=>array(-46,0,909,729),1036=>array(47,0,900,927),1037=>array(47,0,900,927),1038=>array(24,-14,800,997),1039=>array(47,-157,900,729),1040=>array(10,0,805,729),1041=>array(47,0,799,729),1042=>array(47,0,790,729),1043=>array(47,0,677,729),1044=>array(47,-157,842,729),1045=>array(47,0,711,729),1046=>array(10,0,1302,729),1047=>array(47,-14,666,742),1048=>array(47,0,900,729),1049=>array(47,0,900,999),1050=>array(47,0,900,729),1051=>array(22,-14,839,729),1052=>array(42,0,1060,729),1053=>array(47,0,900,729),1054=>array(42,-14,828,742),1055=>array(47,0,899,729),1056=>array(47,0,727,729),1057=>array(42,-14,745,742),1058=>array(11,0,734,729),1059=>array(24,-14,800,729),1060=>array(42,0,906,729),1061=>array(5,0,775,729),1062=>array(47,-157,919,729),1063=>array(31,0,861,729),1064=>array(42,0,1226,729),1065=>array(42,-157,1246,729),1066=>array(6,0,910,729),1067=>array(47,0,1156,729),1068=>array(47,0,778,729),1069=>array(42,-14,745,742),1070=>array(47,-14,1228,742),1071=>array(22,0,837,729),1072=>array(41,-14,625,533),1073=>array(34,-14,627,776),1074=>array(34,0,655,519),1075=>array(34,0,549,519),1076=>array(34,-138,632,519),1077=>array(41,-14,591,533),1078=>array(12,0,998,519),1079=>array(34,-14,598,533),1080=>array(34,0,708,519),1081=>array(34,0,708,817),1082=>array(34,0,710,519),1083=>array(18,-14,671,519),1084=>array(34,0,834,519),1085=>array(34,0,698,519),1086=>array(41,-14,627,533),1087=>array(34,0,698,519),1088=>array(23,-208,659,533),1089=>array(41,-14,564,533),1090=>array(32,0,573,519),1091=>array(12,-222,630,519),1092=>array(41,-208,862,760),1093=>array(0,0,603,519),1094=>array(34,-138,705,519),1095=>array(34,0,698,519),1096=>array(34,0,1041,519),1097=>array(34,-138,1048,519),1098=>array(15,0,728,519),1099=>array(42,0,964,519),1100=>array(42,0,639,519),1101=>array(42,-14,564,533),1102=>array(53,-14,981,533),1103=>array(24,0,705,519),1104=>array(41,-14,591,800),1105=>array(41,-14,591,788),1106=>array(15,-222,679,760),1107=>array(34,0,549,800),1108=>array(41,-14,563,533),1109=>array(43,-14,522,533),1110=>array(34,0,355,760),1111=>array(9,0,371,788),1112=>array(-74,-222,280,760),1113=>array(18,-14,948,519),1114=>array(34,0,975,519),1115=>array(20,0,704,760),1116=>array(34,0,710,800),1117=>array(34,0,708,800),1118=>array(12,-222,630,823),1119=>array(34,-138,698,519),1122=>array(15,0,833,729),1123=>array(10,0,663,760),1124=>array(47,-14,1145,742),1125=>array(53,-14,917,533),1130=>array(10,0,1302,729),1131=>array(12,0,998,519),1132=>array(47,0,1621,729),1133=>array(53,0,1285,519),1136=>array(12,0,1109,729),1137=>array(12,-208,1094,760),1138=>array(42,-14,828,742),1139=>array(41,-14,612,533),1140=>array(10,0,906,742),1141=>array(12,0,736,533),1142=>array(10,0,906,927),1143=>array(12,0,736,800),1164=>array(15,0,799,729),1165=>array(12,0,633,760),1168=>array(47,0,687,872),1169=>array(34,0,554,668),1170=>array(42,0,677,729),1171=>array(29,0,549,519),1172=>array(47,-214,782,729),1173=>array(34,-222,631,519),1174=>array(10,-157,1302,729),1175=>array(12,-138,998,519),1176=>array(47,-196,666,742),1177=>array(34,-196,598,533),1178=>array(47,-157,900,729),1179=>array(34,-138,710,519),1182=>array(36,0,900,729),1183=>array(31,0,710,760),1184=>array(6,0,1031,729),1185=>array(15,0,807,520),1186=>array(47,-157,919,729),1187=>array(34,-138,705,519),1188=>array(47,0,1154,729),1189=>array(34,0,892,519),1190=>array(47,-214,1259,729),1191=>array(34,-222,973,519),1194=>array(42,-196,745,742),1195=>array(41,-196,564,533),1196=>array(11,-157,734,729),1197=>array(32,-138,573,519),1198=>array(-9,0,723,729),1199=>array(-13,-208,605,519),1200=>array(-9,0,723,729),1201=>array(-13,-208,605,519),1202=>array(5,-157,819,729),1203=>array(0,-138,615,519),1204=>array(11,-157,975,729),1205=>array(39,-138,773,519),1206=>array(31,-157,881,729),1207=>array(34,-138,705,519),1210=>array(31,0,858,729),1211=>array(31,0,704,760),1216=>array(47,0,422,729),1217=>array(10,0,1302,927),1218=>array(12,0,998,776),1219=>array(47,-214,831,729),1220=>array(34,-222,665,519),1223=>array(47,-214,900,729),1224=>array(34,-222,698,519),1227=>array(31,-157,861,729),1228=>array(34,-138,698,519),1231=>array(34,0,355,760),1232=>array(10,0,805,936),1233=>array(41,-14,625,776),1234=>array(10,0,805,939),1235=>array(41,-14,625,788),1236=>array(-31,0,982,729),1237=>array(41,-14,929,533),1238=>array(47,0,711,927),1239=>array(41,-14,591,776),1240=>array(42,-14,828,742),1241=>array(41,-14,591,533),1242=>array(42,-14,828,939),1243=>array(41,-14,591,788),1244=>array(10,0,1302,939),1245=>array(12,0,998,788),1246=>array(47,-14,666,939),1247=>array(34,-14,598,788),1248=>array(35,-14,597,729),1249=>array(35,-203,597,519),1250=>array(47,0,900,914),1251=>array(34,0,708,763),1252=>array(47,0,900,939),1253=>array(34,0,708,788),1254=>array(42,-14,828,939),1255=>array(41,-14,627,788),1256=>array(42,-14,828,742),1257=>array(41,-14,627,533),1258=>array(42,-14,828,939),1259=>array(41,-14,627,788),1260=>array(42,-14,745,939),1261=>array(42,-14,564,788),1262=>array(24,-14,800,914),1263=>array(12,-222,630,763),1264=>array(24,-14,800,939),1265=>array(12,-222,630,788),1266=>array(24,-14,800,927),1267=>array(12,-222,630,800),1268=>array(31,0,861,939),1269=>array(34,0,698,788),1270=>array(47,-157,677,729),1271=>array(34,-138,549,519),1272=>array(47,0,1156,939),1273=>array(42,0,964,788),1296=>array(47,-14,667,742),1297=>array(40,-14,604,533),1298=>array(22,-208,839,729),1299=>array(18,-222,671,519),1300=>array(22,-14,1247,729),1301=>array(18,-14,952,519),1306=>array(42,-180,828,742),1307=>array(41,-208,676,533),1308=>array(-9,0,1135,729),1309=>array(-9,0,881,519),1329=>array(34,-14,879,729),1330=>array(34,0,832,743),1331=>array(44,0,942,743),1332=>array(20,0,958,743),1333=>array(34,-14,832,729),1334=>array(73,-72,782,743),1335=>array(34,-72,766,729),1336=>array(34,-72,832,743),1337=>array(34,-10,1174,743),1338=>array(44,-14,942,729),1339=>array(49,0,803,729),1340=>array(49,-72,742,729),1341=>array(49,-14,1140,729),1342=>array(78,-13,858,743),1343=>array(20,0,822,729),1344=>array(-24,-66,659,729),1345=>array(73,-32,805,743),1346=>array(20,-72,943,743),1347=>array(25,0,836,739),1348=>array(34,-14,1006,729),1349=>array(49,-14,794,742),1350=>array(-29,-14,894,801),1351=>array(83,-14,770,729),1352=>array(34,0,837,743),1353=>array(73,-84,759,743),1354=>array(20,0,1000,743),1355=>array(83,-72,788,744),1356=>array(34,0,1013,743),1357=>array(34,-14,837,729),1358=>array(20,-72,943,729),1359=>array(49,-14,764,742),1360=>array(34,0,788,743),1361=>array(10,-14,778,742),1362=>array(34,0,783,729),1363=>array(44,0,911,729),1364=>array(-73,0,878,743),1365=>array(42,-14,828,742),1366=>array(39,-14,934,729),1369=>array(116,481,255,760),1370=>array(13,408,251,729),1371=>array(3,615,306,799),1372=>array(2,618,392,893),1373=>array(13,615,316,799),1374=>array(5,605,435,854),1375=>array(44,618,462,760),1377=>array(20,-14,1021,519),1378=>array(44,-208,651,533),1379=>array(59,-208,791,533),1380=>array(49,-208,816,533),1381=>array(24,-14,694,760),1382=>array(59,-208,791,533),1383=>array(44,0,613,760),1384=>array(44,-208,714,533),1385=>array(44,-208,909,532),1386=>array(59,-14,782,760),1387=>array(29,-208,699,760),1388=>array(44,-208,477,519),1389=>array(34,-208,1053,760),1390=>array(59,-14,668,789),1391=>array(24,-208,675,760),1392=>array(44,0,717,760),1393=>array(59,-14,664,783),1394=>array(49,-208,816,533),1395=>array(78,-14,684,771),1396=>array(20,-14,715,771),1397=>array(-83,-208,271,519),1398=>array(63,-14,684,771),1399=>array(-12,-208,463,538),1400=>array(49,0,719,533),1401=>array(18,-208,415,540),1402=>array(20,-208,1010,519),1403=>array(59,-208,629,537),1404=>array(49,0,724,533),1405=>array(20,-14,689,519),1406=>array(20,-208,787,760),1407=>array(20,-14,1021,533),1408=>array(34,-208,704,533),1409=>array(59,-222,693,533),1410=>array(49,0,518,519),1411=>array(20,-208,1021,760),1412=>array(44,-208,680,533),1413=>array(54,-14,640,533),1414=>array(30,-208,917,760),1415=>array(24,-14,858,760),1417=>array(104,-14,234,434),1418=>array(44,203,347,365),4256=>array(57,0,698,848),4257=>array(57,0,899,847),4258=>array(57,-81,825,848),4259=>array(57,-0,817,847),4260=>array(57,-0,724,848),4261=>array(57,-0,1021,848),4262=>array(42,-1,947,847),4263=>array(67,-1,1156,847),4264=>array(42,-0,586,847),4265=>array(57,-0,761,847),4266=>array(57,-0,979,847),4267=>array(72,-0,994,847),4268=>array(57,-0,740,847),4269=>array(67,-35,1093,847),4270=>array(42,-0,912,847),4271=>array(42,-0,845,846),4272=>array(57,-0,1052,846),4273=>array(57,-0,735,846),4274=>array(57,-0,699,847),4275=>array(67,-58,1034,846),4276=>array(57,-0,919,846),4277=>array(42,-0,1025,846),4278=>array(57,-0,753,846),4279=>array(57,-0,776,846),4280=>array(67,-0,765,847),4281=>array(57,-0,776,846),4282=>array(16,-1,852,848),4283=>array(72,-0,1020,847),4284=>array(57,-0,712,847),4285=>array(67,-0,754,847),4286=>array(57,-0,756,846),4287=>array(57,-0,1054,846),4288=>array(57,-0,1066,846),4289=>array(57,-0,745,846),4290=>array(57,-0,835,847),4291=>array(57,-1,745,846),4292=>array(57,-0,823,846),4293=>array(72,-0,1006,847),4304=>array(54,0,541,596),4305=>array(54,0,571,853),4306=>array(39,-225,604,566),4307=>array(54,-220,833,556),4308=>array(34,-225,551,556),4309=>array(39,-225,557,556),4310=>array(15,0,613,855),4311=>array(54,0,861,556),4312=>array(54,0,560,556),4313=>array(24,-225,546,556),4314=>array(54,-220,1066,562),4315=>array(54,0,571,854),4316=>array(68,0,586,877),4317=>array(54,-123,825,556),4318=>array(54,1,570,854),4319=>array(54,-225,571,555),4320=>array(54,-0,824,846),4321=>array(-10,0,612,854),4322=>array(17,-225,736,706),4323=>array(20,-225,688,556),4324=>array(54,-225,815,556),4325=>array(54,-225,570,855),4326=>array(54,-220,858,556),4327=>array(39,-225,558,556),4328=>array(10,0,579,854),4329=>array(68,-5,586,855),4330=>array(54,-225,680,556),4331=>array(54,0,573,854),4332=>array(44,-229,596,854),4333=>array(44,-225,587,854),4334=>array(-10,0,617,854),4335=>array(24,-225,722,556),4336=>array(54,0,572,854),4337=>array(54,0,603,863),4338=>array(54,-94,571,556),4339=>array(54,-225,572,615),4340=>array(54,-225,570,855),4341=>array(54,0,649,854),4342=>array(54,-225,886,699),4343=>array(54,-225,626,566),4344=>array(63,-225,582,556),4345=>array(54,-225,619,561),4346=>array(54,-69,571,556),4347=>array(77,-14,564,575),4348=>array(17,341,336,882),7424=>array(34,0,658,519),7425=>array(34,0,861,519),7426=>array(11,-14,898,533),7427=>array(34,0,678,519),7428=>array(41,-14,547,533),7429=>array(34,0,645,519),7430=>array(34,0,645,519),7431=>array(29,0,586,519),7432=>array(-26,-18,472,533),7433=>array(-22,-238,299,522),7434=>array(15,-14,523,519),7435=>array(34,0,710,519),7436=>array(17,0,589,519),7437=>array(34,0,834,519),7438=>array(34,0,704,519),7439=>array(41,-14,627,533),7440=>array(62,-14,568,533),7441=>array(41,-33,588,553),7442=>array(41,-2,588,521),7443=>array(25,-50,642,567),7444=>array(5,-14,948,533),7445=>array(29,-14,562,534),7446=>array(41,260,627,533),7447=>array(41,-14,627,259),7448=>array(34,0,569,519),7449=>array(56,0,738,519),7450=>array(56,0,738,519),7451=>array(32,0,573,519),7452=>array(23,-14,634,519),7453=>array(64,-74,597,596),7454=>array(55,-74,857,596),7455=>array(65,-240,599,761),7456=>array(-18,0,606,519),7457=>array(-9,0,881,519),7458=>array(35,0,534,519),7459=>array(41,-14,547,519),7460=>array(37,-14,552,742),7461=>array(29,-14,772,533),7462=>array(34,0,549,519),7463=>array(34,0,658,519),7464=>array(34,0,698,519),7465=>array(34,0,569,519),7466=>array(37,0,830,519),7467=>array(18,-14,671,519),7468=>array(-5,334,496,735),7469=>array(-20,334,619,735),7470=>array(29,334,498,735),7471=>array(23,334,518,742),7472=>array(29,334,520,735),7473=>array(29,334,448,735),7474=>array(29,334,448,735),7475=>array(26,326,488,742),7476=>array(29,334,567,735),7477=>array(29,334,266,735),7478=>array(-46,220,274,735),7479=>array(29,334,567,735),7480=>array(29,334,429,735),7481=>array(26,334,668,735),7482=>array(28,334,551,735),7483=>array(28,326,582,734),7484=>array(26,326,521,742),7485=>array(25,326,410,750),7486=>array(29,334,458,735),7487=>array(29,334,527,735),7488=>array(42,326,417,742),7489=>array(7,334,462,735),7490=>array(21,326,536,735),7491=>array(42,326,410,627),7492=>array(42,326,410,627),7493=>array(42,326,442,627),7494=>array(42,326,601,627),7495=>array(42,326,443,752),7496=>array(42,326,442,752),7497=>array(42,326,388,627),7498=>array(42,326,388,627),7499=>array(42,324,355,627),7500=>array(42,324,355,627),7501=>array(42,212,442,627),7502=>array(42,203,244,621),7503=>array(42,334,468,752),7504=>array(42,334,673,627),7505=>array(42,212,417,627),7506=>array(42,326,411,627),7507=>array(42,326,372,627),7508=>array(42,477,411,627),7509=>array(42,326,411,477),7510=>array(42,220,443,627),7511=>array(42,326,315,708),7512=>array(42,326,464,620),7513=>array(41,285,376,660),7514=>array(42,326,673,620),7515=>array(42,334,435,620),7516=>array(19,326,487,633),7517=>array(40,217,384,765),7518=>array(16,217,387,625),7519=>array(26,326,395,763),7520=>array(29,217,540,625),7521=>array(8,209,400,633),7522=>array(21,0,224,418),7523=>array(44,0,375,298),7524=>array(42,-8,464,286),7525=>array(42,0,435,286),7526=>array(40,-117,384,431),7527=>array(16,-117,387,291),7528=>array(40,-117,394,299),7529=>array(29,-117,540,291),7530=>array(8,-125,400,299),7531=>array(23,-14,996,533),7543=>array(-15,-222,620,533),7544=>array(29,334,567,735),7547=>array(34,0,355,519),7548=>array(36,0,367,519),7549=>array(23,-208,704,533),7550=>array(23,-14,634,519),7551=>array(-18,-14,697,519),7557=>array(1,-222,355,760),7579=>array(42,326,442,627),7580=>array(42,326,372,627),7581=>array(42,272,371,624),7582=>array(42,326,411,754),7583=>array(42,324,355,627),7584=>array(42,334,328,752),7585=>array(42,212,317,620),7586=>array(42,212,442,620),7587=>array(42,220,466,620),7588=>array(42,334,244,752),7589=>array(42,334,250,620),7590=>array(42,334,244,620),7591=>array(42,334,244,620),7592=>array(42,211,314,752),7593=>array(42,212,312,752),7594=>array(42,212,265,752),7595=>array(42,334,374,621),7596=>array(42,212,626,627),7597=>array(42,220,673,620),7598=>array(42,212,532,627),7599=>array(42,212,531,627),7600=>array(42,334,416,621),7601=>array(42,326,411,627),7602=>array(42,217,466,752),7603=>array(42,212,344,627),7604=>array(42,211,331,752),7605=>array(42,211,315,708),7606=>array(42,326,464,620),7607=>array(42,332,419,628),7608=>array(15,326,399,625),7609=>array(42,333,433,620),7610=>array(42,334,435,620),7611=>array(42,334,356,620),7612=>array(42,212,471,620),7613=>array(42,285,356,620),7614=>array(42,222,396,620),7615=>array(42,325,411,758),7620=>array(-403,616,-14,800),7621=>array(-486,616,-97,800),7622=>array(-403,616,-14,800),7623=>array(-486,616,-97,800),7624=>array(-516,616,16,800),7625=>array(-516,616,16,800),7680=>array(-8,-240,787,729),7681=>array(41,-240,625,533),7682=>array(47,0,790,939),7683=>array(23,-14,659,939),7684=>array(47,-213,790,729),7685=>array(23,-213,659,760),7686=>array(47,-161,790,729),7687=>array(23,-161,659,760),7688=>array(42,-196,745,927),7689=>array(41,-196,564,800),7690=>array(47,0,825,939),7691=>array(41,-14,676,939),7692=>array(47,-213,825,729),7693=>array(41,-213,676,760),7694=>array(47,-161,825,729),7695=>array(41,-161,676,760),7696=>array(47,-196,825,729),7697=>array(41,-196,676,760),7698=>array(47,-240,825,729),7699=>array(41,-240,676,760),7700=>array(47,0,711,1057),7701=>array(41,-14,591,926),7702=>array(47,0,711,1057),7703=>array(41,-14,591,926),7704=>array(47,-240,711,729),7705=>array(41,-240,591,533),7706=>array(47,-222,711,729),7707=>array(41,-222,591,533),7708=>array(47,-196,711,927),7709=>array(41,-196,591,776),7710=>array(47,0,697,939),7711=>array(31,0,484,939),7712=>array(42,-14,775,938),7713=>array(41,-222,676,756),7714=>array(47,0,900,939),7715=>array(31,0,704,939),7716=>array(47,-213,900,729),7717=>array(31,-213,704,760),7718=>array(47,0,900,939),7719=>array(-23,0,704,939),7720=>array(47,-196,900,729),7721=>array(31,-196,704,760),7722=>array(47,-221,900,729),7723=>array(31,-221,704,760),7724=>array(47,-222,422,729),7725=>array(8,-222,358,760),7726=>array(47,0,422,1057),7727=>array(9,0,371,917),7728=>array(47,0,900,931),7729=>array(34,0,710,931),7730=>array(47,-213,900,729),7731=>array(34,-213,710,760),7732=>array(47,-161,900,729),7733=>array(34,-161,710,760),7734=>array(47,-213,681,729),7735=>array(34,-213,355,760),7736=>array(47,-213,681,914),7737=>array(34,-213,355,914),7738=>array(47,-161,681,729),7739=>array(32,-161,355,760),7740=>array(47,-241,681,729),7741=>array(10,-240,379,760),7742=>array(42,0,1060,931),7743=>array(34,0,1035,800),7744=>array(42,0,1060,937),7745=>array(34,0,1035,788),7746=>array(42,-213,1060,729),7747=>array(34,-213,1035,533),7748=>array(44,0,874,939),7749=>array(34,0,704,788),7750=>array(44,-213,874,729),7751=>array(34,-213,704,533),7752=>array(44,-161,874,729),7753=>array(34,-161,704,533),7754=>array(44,-240,874,729),7755=>array(34,-240,704,533),7756=>array(42,-14,828,1057),7757=>array(41,-14,627,916),7758=>array(42,-14,828,1055),7759=>array(41,-14,627,912),7760=>array(42,-14,828,1057),7761=>array(41,-14,627,926),7762=>array(42,-14,828,1057),7763=>array(41,-14,627,926),7764=>array(47,0,727,927),7765=>array(23,-208,659,800),7766=>array(47,0,727,939),7767=>array(23,-208,659,788),7768=>array(47,0,837,939),7769=>array(29,0,537,788),7770=>array(47,-213,837,729),7771=>array(29,-213,537,533),7772=>array(47,-213,837,914),7773=>array(29,-213,537,756),7774=>array(47,-161,837,729),7775=>array(29,-161,537,533),7776=>array(66,-14,662,939),7777=>array(43,-14,522,788),7778=>array(66,-213,662,742),7779=>array(43,-213,522,533),7780=>array(66,-14,662,959),7781=>array(43,-14,522,777),7782=>array(66,-14,662,1065),7783=>array(43,-14,522,883),7784=>array(66,-213,662,939),7785=>array(43,-213,522,788),7786=>array(11,0,734,939),7787=>array(24,-14,457,939),7788=>array(11,-213,734,729),7789=>array(24,-213,457,680),7790=>array(11,-161,734,729),7791=>array(24,-161,457,680),7792=>array(11,-240,734,729),7793=>array(24,-240,460,680),7794=>array(34,-213,850,729),7795=>array(23,-213,693,519),7796=>array(34,-222,850,729),7797=>array(23,-222,693,519),7798=>array(34,-240,850,729),7799=>array(23,-240,693,519),7800=>array(34,-14,850,1057),7801=>array(23,-14,693,915),7802=>array(34,-14,850,1055),7803=>array(23,-14,693,930),7804=>array(-6,0,790,929),7805=>array(-18,0,606,792),7806=>array(-6,-213,790,729),7807=>array(-18,-213,606,519),7808=>array(-9,0,1135,927),7809=>array(-9,0,881,800),7810=>array(-9,0,1135,927),7811=>array(-9,0,881,800),7812=>array(-9,0,1135,939),7813=>array(-9,0,881,760),7814=>array(-9,0,1135,939),7815=>array(-9,0,881,788),7816=>array(-9,-211,1135,729),7817=>array(-9,-213,881,519),7818=>array(5,0,775,939),7819=>array(0,0,603,788),7820=>array(5,0,775,939),7821=>array(0,0,603,788),7822=>array(-9,0,723,939),7823=>array(-13,-222,605,788),7824=>array(37,0,694,927),7825=>array(35,0,534,800),7826=>array(37,-213,694,729),7827=>array(35,-213,534,519),7828=>array(37,-161,694,729),7829=>array(35,-161,534,519),7830=>array(31,-161,704,760),7831=>array(4,-14,457,939),7832=>array(-9,0,881,888),7833=>array(-13,-222,605,888),7834=>array(41,-14,903,760),7835=>array(31,0,484,939),7836=>array(2,0,484,760),7837=>array(31,0,484,760),7838=>array(34,-14,887,743),7839=>array(41,-14,627,765),7840=>array(-8,-213,787,729),7841=>array(41,-213,625,533),7842=>array(-8,0,787,1048),7843=>array(41,-14,625,866),7844=>array(-8,0,787,1054),7845=>array(41,-14,625,872),7846=>array(-8,0,787,1054),7847=>array(41,-14,625,872),7848=>array(-8,0,787,1116),7849=>array(41,-14,630,934),7850=>array(-8,0,787,1069),7851=>array(41,-14,625,887),7852=>array(-8,-213,787,927),7853=>array(41,-213,625,800),7854=>array(-8,0,787,1057),7855=>array(41,-14,625,901),7856=>array(-8,0,787,1057),7857=>array(41,-14,625,901),7858=>array(-8,0,787,1145),7859=>array(41,-14,625,989),7860=>array(-8,0,787,1069),7861=>array(41,-14,625,913),7862=>array(-8,-213,787,958),7863=>array(41,-213,625,776),7864=>array(47,-213,711,729),7865=>array(41,-213,591,533),7866=>array(47,0,711,1048),7867=>array(41,-14,591,866),7868=>array(47,0,711,950),7869=>array(41,-14,591,792),7870=>array(47,0,717,1054),7871=>array(41,-14,637,872),7872=>array(47,0,711,1054),7873=>array(41,-14,597,872),7874=>array(47,0,735,1116),7875=>array(41,-14,655,934),7876=>array(47,0,711,1069),7877=>array(41,-14,591,887),7878=>array(47,-213,711,927),7879=>array(41,-213,591,800),7880=>array(47,0,422,1048),7881=>array(34,0,355,864),7882=>array(47,-213,422,729),7883=>array(34,-213,355,760),7884=>array(42,-213,828,742),7885=>array(41,-213,627,533),7886=>array(42,-14,828,1048),7887=>array(41,-14,627,866),7888=>array(42,-14,828,1054),7889=>array(41,-14,653,872),7890=>array(42,-14,828,1054),7891=>array(41,-14,627,872),7892=>array(42,-14,828,1116),7893=>array(41,-14,671,934),7894=>array(42,-14,828,1069),7895=>array(41,-14,627,887),7896=>array(42,-213,828,982),7897=>array(41,-213,627,800),7898=>array(42,-14,871,927),7899=>array(42,-14,745,800),7900=>array(42,-14,871,927),7901=>array(42,-14,745,800),7902=>array(42,-14,871,1048),7903=>array(42,-14,745,866),7904=>array(42,-14,871,929),7905=>array(42,-14,745,792),7906=>array(42,-213,871,758),7907=>array(42,-213,745,548),7908=>array(34,-213,850,729),7909=>array(23,-213,693,519),7910=>array(34,-14,850,1048),7911=>array(23,-14,693,866),7912=>array(37,-14,1049,927),7913=>array(25,-14,805,800),7914=>array(37,-14,1049,927),7915=>array(25,-14,805,800),7916=>array(37,-14,1049,1048),7917=>array(25,-14,805,866),7918=>array(37,-14,1049,929),7919=>array(25,-14,805,792),7920=>array(37,-213,1049,816),7921=>array(25,-213,805,548),7922=>array(-9,0,723,931),7923=>array(-13,-222,605,776),7924=>array(-9,-213,723,729),7925=>array(-13,-222,605,519),7926=>array(-9,0,723,1051),7927=>array(-13,-222,605,866),7928=>array(-9,0,723,929),7929=>array(-13,-222,605,792),7930=>array(47,0,1056,729),7931=>array(34,0,676,760),7936=>array(41,-14,746,837),7937=>array(41,-14,746,837),7938=>array(41,-14,746,837),7939=>array(41,-14,746,837),7940=>array(41,-14,746,837),7941=>array(41,-14,746,837),7942=>array(41,-14,746,1009),7943=>array(41,-14,746,1009),7944=>array(-8,0,787,837),7945=>array(-8,0,787,837),7946=>array(2,0,989,837),7947=>array(1,0,989,837),7948=>array(1,0,843,837),7949=>array(3,0,860,837),7950=>array(-8,0,787,1009),7951=>array(-8,0,787,1009),7952=>array(48,-12,554,837),7953=>array(48,-12,554,837),7954=>array(48,-12,554,837),7955=>array(48,-12,554,837),7956=>array(48,-12,554,837),7957=>array(48,-12,554,837),7960=>array(3,0,866,837),7961=>array(2,0,857,837),7962=>array(2,0,1118,837),7963=>array(1,0,1118,837),7964=>array(1,0,1042,837),7965=>array(3,0,1068,837),7968=>array(34,-208,630,837),7969=>array(34,-208,630,837),7970=>array(34,-208,630,837),7971=>array(34,-208,630,837),7972=>array(34,-208,630,837),7973=>array(34,-208,630,837),7974=>array(34,-208,630,1009),7975=>array(34,-208,630,1009),7976=>array(3,0,1055,837),7977=>array(2,0,1049,837),7978=>array(2,0,1313,837),7979=>array(1,0,1316,837),7980=>array(1,0,1234,837),7981=>array(3,0,1263,837),7982=>array(3,0,1152,1009),7983=>array(3,0,1149,1009),7984=>array(34,16,444,837),7985=>array(34,16,444,837),7986=>array(-14,16,444,837),7987=>array(-14,16,444,837),7988=>array(13,16,444,837),7989=>array(-2,16,444,837),7990=>array(28,16,444,1009),7991=>array(24,16,444,1009),7992=>array(3,0,583,837),7993=>array(2,0,571,837),7994=>array(2,0,832,837),7995=>array(1,0,835,837),7996=>array(1,0,753,837),7997=>array(3,0,785,837),7998=>array(3,0,677,1009),7999=>array(3,0,668,1009),8000=>array(41,-14,627,837),8001=>array(41,-14,627,837),8002=>array(41,-14,627,837),8003=>array(41,-14,627,837),8004=>array(41,-14,627,837),8005=>array(41,-14,627,837),8008=>array(3,-14,857,837),8009=>array(2,-14,892,837),8010=>array(2,-14,1197,837),8011=>array(1,-14,1194,837),8012=>array(1,-14,992,837),8013=>array(3,-14,1023,837),8016=>array(34,-1,654,837),8017=>array(34,-1,654,837),8018=>array(34,-1,654,837),8019=>array(34,-1,654,837),8020=>array(34,-1,654,837),8021=>array(34,-1,654,837),8022=>array(34,-1,654,1009),8023=>array(34,-1,654,1009),8025=>array(2,0,931,837),8027=>array(1,0,1195,837),8029=>array(3,0,1142,837),8031=>array(3,0,1028,1009),8032=>array(40,-1,911,837),8033=>array(40,-1,911,837),8034=>array(40,-1,911,837),8035=>array(40,-1,911,837),8036=>array(40,-1,911,837),8037=>array(40,-1,911,837),8038=>array(40,-1,911,1009),8039=>array(40,-1,911,1009),8040=>array(3,0,886,837),8041=>array(2,0,918,837),8042=>array(2,0,1223,837),8043=>array(1,0,1229,837),8044=>array(1,0,1009,837),8045=>array(3,0,1043,837),8046=>array(3,0,978,1009),8047=>array(3,0,1015,1009),8048=>array(41,-14,746,800),8049=>array(41,-14,746,800),8050=>array(48,-12,554,800),8051=>array(48,-12,554,800),8052=>array(34,-208,630,800),8053=>array(34,-208,630,800),8054=>array(14,16,444,800),8055=>array(34,16,444,800),8056=>array(41,-14,627,800),8057=>array(41,-14,627,800),8058=>array(34,-1,654,800),8059=>array(34,-1,654,800),8060=>array(40,-1,911,800),8061=>array(40,-1,911,800),8064=>array(41,-208,746,837),8065=>array(41,-208,746,837),8066=>array(41,-208,746,837),8067=>array(41,-208,746,837),8068=>array(41,-208,746,837),8069=>array(41,-208,746,837),8070=>array(41,-208,746,1009),8071=>array(41,-208,746,1009),8072=>array(-8,-208,787,837),8073=>array(-8,-208,787,837),8074=>array(2,-208,989,837),8075=>array(1,-208,989,837),8076=>array(1,-208,843,837),8077=>array(3,-208,860,837),8078=>array(-8,-208,787,1009),8079=>array(-8,-208,787,1009),8080=>array(34,-208,630,837),8081=>array(34,-208,630,837),8082=>array(34,-208,630,837),8083=>array(34,-208,630,837),8084=>array(34,-208,630,837),8085=>array(34,-208,630,837),8086=>array(34,-208,630,1009),8087=>array(34,-208,630,1009),8088=>array(3,-208,1055,837),8089=>array(2,-208,1049,837),8090=>array(2,-208,1313,837),8091=>array(1,-208,1316,837),8092=>array(1,-208,1234,837),8093=>array(3,-208,1263,837),8094=>array(3,-208,1152,1009),8095=>array(3,-208,1149,1009),8096=>array(40,-208,911,837),8097=>array(40,-208,911,837),8098=>array(40,-208,911,837),8099=>array(40,-208,911,837),8100=>array(40,-208,911,837),8101=>array(40,-208,911,837),8102=>array(40,-208,911,1009),8103=>array(40,-208,911,1009),8104=>array(3,-208,886,837),8105=>array(2,-208,918,837),8106=>array(2,-208,1223,837),8107=>array(1,-208,1229,837),8108=>array(1,-208,1009,837),8109=>array(3,-208,1043,837),8110=>array(3,-208,978,1009),8111=>array(3,-208,1015,1009),8112=>array(41,-14,746,776),8113=>array(41,-14,746,756),8114=>array(41,-208,746,800),8115=>array(41,-208,746,532),8116=>array(41,-208,746,800),8118=>array(41,-14,746,792),8119=>array(41,-208,746,792),8120=>array(-8,0,787,936),8121=>array(-8,0,787,914),8122=>array(1,0,822,800),8123=>array(-8,0,787,800),8124=>array(-8,-208,787,729),8125=>array(167,596,318,837),8126=>array(202,-208,348,-60),8127=>array(167,596,318,837),8128=>array(75,638,425,792),8129=>array(69,645,431,959),8130=>array(34,-208,630,800),8131=>array(34,-208,630,533),8132=>array(34,-208,630,800),8134=>array(34,-208,630,792),8135=>array(34,-208,630,792),8136=>array(1,0,948,800),8137=>array(-16,0,893,800),8138=>array(1,0,1146,800),8139=>array(-16,0,1084,800),8140=>array(47,-208,900,729),8141=>array(43,596,472,837),8142=>array(57,596,445,837),8143=>array(75,596,425,1009),8144=>array(31,16,444,776),8145=>array(34,16,444,756),8146=>array(3,16,444,997),8147=>array(8,16,444,996),8150=>array(19,16,444,792),8151=>array(13,16,444,959),8152=>array(47,0,422,927),8153=>array(47,0,422,914),8154=>array(1,0,668,800),8155=>array(-16,0,606,800),8157=>array(42,596,472,837),8158=>array(41,596,454,837),8159=>array(75,596,425,1009),8160=>array(34,-1,654,776),8161=>array(34,-1,654,756),8162=>array(34,-1,654,997),8163=>array(34,-1,654,996),8164=>array(63,-208,625,837),8165=>array(63,-208,625,837),8166=>array(34,-1,654,792),8167=>array(34,-1,654,959),8168=>array(-9,0,723,927),8169=>array(-9,0,723,914),8170=>array(1,0,1028,800),8171=>array(-16,0,960,800),8172=>array(2,0,885,837),8173=>array(59,645,431,997),8174=>array(69,645,440,996),8175=>array(69,616,331,800),8178=>array(40,-208,911,800),8179=>array(40,-208,911,519),8180=>array(40,-208,911,800),8182=>array(40,-1,911,746),8183=>array(40,-208,911,746),8184=>array(1,-14,1026,800),8185=>array(-16,-14,844,800),8186=>array(1,0,1056,800),8187=>array(-16,0,869,800),8188=>array(45,-208,845,742),8189=>array(169,616,431,800),8190=>array(169,596,320,837),8208=>array(54,202,361,334),8209=>array(54,202,361,334),8210=>array(54,207,642,324),8211=>array(54,207,446,324),8212=>array(54,207,946,324),8213=>array(0,207,1000,324),8214=>array(129,-236,395,764),8215=>array(0,-236,500,-9),8216=>array(69,456,290,742),8217=>array(48,443,269,729),8218=>array(30,-130,251,156),8219=>array(48,443,269,729),8220=>array(69,456,517,742),8221=>array(48,443,496,729),8222=>array(30,-130,478,156),8223=>array(48,443,496,729),8224=>array(28,-96,495,729),8225=>array(28,-96,495,729),8226=>array(144,196,495,547),8227=>array(144,157,534,586),8228=>array(81,-14,267,172),8229=>array(81,-14,593,172),8230=>array(81,-14,919,172),8240=>array(24,-14,1361,742),8241=>array(24,-14,1796,742),8242=>array(20,547,240,729),8243=>array(20,547,423,729),8244=>array(20,547,606,729),8245=>array(20,547,240,729),8246=>array(20,547,425,729),8247=>array(20,547,606,729),8248=>array(101,-238,632,29),8249=>array(77,64,306,522),8250=>array(94,64,323,522),8252=>array(65,-14,562,729),8253=>array(65,-14,541,742),8254=>array(0,663,500,755),8258=>array(22,-37,1001,832),8260=>array(-186,-14,353,742),8261=>array(125,-132,402,760),8262=>array(71,-132,348,760),8263=>array(32,-14,1050,742),8264=>array(65,-14,791,742),8265=>array(65,-14,791,742),8267=>array(72,-96,575,729),8268=>array(75,189,425,541),8269=>array(75,189,425,541),8270=>array(22,0,501,464),8271=>array(26,-161,277,490),8273=>array(53,-14,439,797),8274=>array(9,-93,519,729),8275=>array(49,221,951,406),8279=>array(20,547,789,729),8304=>array(30,326,410,742),8305=>array(21,334,224,752),8308=>array(24,334,404,742),8309=>array(52,326,392,742),8310=>array(40,326,406,742),8311=>array(50,334,387,742),8312=>array(33,326,406,742),8313=>array(34,326,400,742),8314=>array(67,334,461,679),8315=>array(67,475,461,537),8316=>array(67,415,461,598),8317=>array(60,249,265,752),8318=>array(32,249,238,752),8319=>array(46,334,481,632),8320=>array(30,0,410,416),8321=>array(70,8,369,416),8322=>array(42,8,382,416),8323=>array(44,0,398,416),8324=>array(24,8,404,416),8325=>array(52,0,392,416),8326=>array(40,0,406,416),8327=>array(50,8,387,416),8328=>array(33,0,406,416),8329=>array(34,0,400,416),8330=>array(67,8,461,353),8331=>array(67,149,461,211),8332=>array(67,89,461,272),8333=>array(60,-78,265,426),8334=>array(32,-78,238,426),8336=>array(42,0,410,301),8337=>array(42,0,388,301),8338=>array(42,0,411,301),8339=>array(44,8,436,298),8340=>array(42,0,388,301),8341=>array(44,8,481,433),8342=>array(42,8,468,426),8343=>array(44,8,252,433),8344=>array(42,8,673,301),8345=>array(46,8,481,306),8346=>array(42,-106,443,301),8347=>array(44,9,355,315),8348=>array(42,0,315,382),8358=>array(21,0,675,729),8364=>array(-4,-14,649,742),8367=>array(20,-193,1135,723),8369=>array(47,0,760,729),8372=>array(21,-14,855,742),8373=>array(81,-146,649,761),8376=>array(11,0,734,729),8377=>array(45,0,656,729),8451=>array(38,-14,1147,749),8457=>array(38,0,1099,749),8462=>array(34,0,642,760),8463=>array(34,0,642,760),8470=>array(39,-14,1040,731),8482=>array(116,447,840,729),8486=>array(45,0,845,742),8487=>array(45,-13,845,729),8490=>array(47,0,900,729),8491=>array(-8,0,787,928),8498=>array(13,0,663,729),8513=>array(25,-14,723,742),8514=>array(9,0,527,729),8515=>array(43,0,561,729),8516=>array(0,0,744,729),8523=>array(16,-14,860,742),8526=>array(12,0,563,519),8528=>array(59,-14,992,742),8529=>array(59,-14,1005,742),8530=>array(59,-14,1453,742),8531=>array(59,-14,1003,742),8532=>array(42,-14,1003,742),8533=>array(59,-14,997,742),8534=>array(42,-14,997,742),8535=>array(44,-14,997,742),8536=>array(24,-14,997,742),8537=>array(59,-14,1011,742),8538=>array(52,-14,1011,742),8539=>array(59,-14,1011,742),8540=>array(44,-14,1011,742),8541=>array(52,-14,1011,742),8542=>array(50,-14,1011,742),8543=>array(59,-14,801,742),8544=>array(47,0,422,729),8545=>array(47,0,690,729),8546=>array(47,0,959,729),8547=>array(47,0,1107,729),8548=>array(-6,0,790,729),8549=>array(-6,0,1081,729),8550=>array(-6,0,1350,729),8551=>array(-6,0,1618,729),8552=>array(47,0,1068,729),8553=>array(5,0,775,729),8554=>array(5,0,1032,729),8555=>array(5,0,1301,729),8556=>array(47,0,681,729),8557=>array(42,-14,745,742),8558=>array(47,0,825,729),8559=>array(42,0,1060,729),8560=>array(34,0,355,760),8561=>array(34,0,735,760),8562=>array(34,0,1115,760),8563=>array(34,0,986,760),8564=>array(-18,0,606,519),8565=>array(-18,0,936,760),8566=>array(-18,0,1316,760),8567=>array(-18,0,1696,760),8568=>array(34,0,983,760),8569=>array(0,0,603,519),8570=>array(0,0,951,760),8571=>array(0,0,1331,760),8572=>array(34,0,355,760),8573=>array(41,-14,564,533),8574=>array(41,-14,676,760),8575=>array(34,0,1035,533),8576=>array(47,0,1229,729),8577=>array(47,0,825,729),8578=>array(47,0,1229,729),8579=>array(42,-14,745,742),8580=>array(41,-14,564,533),8581=>array(42,-208,745,742),8585=>array(30,-14,1003,742),8592=>array(37,119,781,527),8593=>array(215,0,623,744),8594=>array(57,119,801,527),8595=>array(215,-20,623,724),8596=>array(37,119,801,527),8597=>array(215,-20,623,744),8598=>array(147,29,713,595),8599=>array(125,29,690,595),8600=>array(125,52,690,617),8601=>array(147,52,713,617),8602=>array(37,88,781,558),8603=>array(57,88,801,558),8604=>array(54,191,795,499),8605=>array(42,191,784,499),8606=>array(37,119,781,527),8607=>array(215,0,623,744),8608=>array(57,119,801,527),8609=>array(215,-20,623,724),8610=>array(37,118,789,529),8611=>array(49,118,801,529),8612=>array(37,119,781,527),8613=>array(215,0,623,744),8614=>array(57,119,801,527),8615=>array(215,-20,623,724),8616=>array(215,0,623,744),8617=>array(37,119,781,571),8618=>array(57,119,801,571),8619=>array(37,119,781,571),8620=>array(57,119,801,571),8621=>array(37,119,801,527),8622=>array(37,88,801,558),8623=>array(171,-17,699,730),8624=>array(208,0,610,744),8625=>array(228,0,630,744),8626=>array(208,-20,610,724),8627=>array(228,-20,630,724),8628=>array(130,90,728,614),8629=>array(147,53,671,650),8630=>array(76,141,747,569),8631=>array(91,141,762,569),8632=>array(132,29,713,736),8633=>array(57,-52,781,698),8634=>array(115,48,733,600),8635=>array(104,48,723,600),8636=>array(34,270,781,527),8637=>array(34,119,781,377),8638=>array(365,0,623,747),8639=>array(215,0,473,747),8640=>array(57,270,804,527),8641=>array(57,119,804,377),8642=>array(365,-23,623,724),8643=>array(215,-23,473,724),8644=>array(37,-52,801,698),8645=>array(44,-20,794,744),8646=>array(37,-52,801,698),8647=>array(37,-101,781,747),8648=>array(-5,0,843,744),8649=>array(57,-101,801,747),8650=>array(-5,-20,843,724),8651=>array(34,21,804,625),8652=>array(34,21,804,625),8653=>array(37,88,781,558),8654=>array(37,88,801,558),8655=>array(57,88,801,558),8656=>array(37,119,781,527),8657=>array(215,0,623,744),8658=>array(57,119,801,527),8659=>array(215,-20,623,724),8660=>array(37,119,801,527),8661=>array(215,-20,623,744),8662=>array(147,-31,773,595),8663=>array(65,-31,690,595),8664=>array(65,52,690,677),8665=>array(147,52,773,677),8666=>array(37,70,781,576),8667=>array(57,70,801,576),8668=>array(37,119,781,527),8669=>array(57,119,801,527),8670=>array(215,0,623,744),8671=>array(215,-20,623,724),8672=>array(37,119,781,527),8673=>array(215,0,623,744),8674=>array(57,119,801,527),8675=>array(215,-20,623,724),8676=>array(57,119,781,527),8677=>array(57,119,781,527),8678=>array(37,119,781,527),8679=>array(215,0,623,744),8680=>array(57,119,801,527),8681=>array(215,-20,623,724),8682=>array(215,0,623,744),8683=>array(192,0,646,744),8684=>array(192,0,646,744),8685=>array(192,0,646,744),8686=>array(215,0,623,744),8687=>array(192,0,646,744),8688=>array(57,96,801,550),8689=>array(77,0,767,694),8690=>array(71,0,761,694),8691=>array(215,-20,623,744),8692=>array(57,119,801,527),8693=>array(44,-20,794,744),8694=>array(57,-140,801,786),8695=>array(37,119,781,527),8696=>array(57,119,801,527),8697=>array(37,119,801,527),8698=>array(37,119,781,527),8699=>array(57,119,801,527),8700=>array(37,119,801,527),8701=>array(37,119,781,527),8702=>array(57,119,801,527),8703=>array(37,119,801,527),8704=>array(4,0,637,729),8706=>array(37,-12,499,659),8707=>array(70,0,532,729),8708=>array(70,-120,532,849),8710=>array(20,0,734,729),8711=>array(20,0,734,729),8712=>array(106,0,634,627),8713=>array(106,-138,634,765),8715=>array(106,0,634,627),8716=>array(106,-138,634,765),8719=>array(23,-192,816,719),8720=>array(23,-192,816,719),8721=>array(10,-192,734,719),8722=>array(106,257,732,369),8723=>array(106,0,732,627),8724=>array(106,0,732,681),8725=>array(0,-93,365,729),8727=>array(106,82,585,546),8728=>array(106,161,413,468),8729=>array(106,161,413,468),8730=>array(35,-20,658,827),8731=>array(35,-20,658,940),8732=>array(32,-20,658,928),8733=>array(100,97,572,499),8734=>array(100,97,734,499),8735=>array(118,79,720,681),8736=>array(118,79,720,681),8739=>array(106,-98,218,827),8740=>array(86,-98,521,827),8741=>array(106,-98,423,827),8742=>array(86,-98,687,827),8743=>array(151,0,661,584),8744=>array(151,0,661,584),8745=>array(105,0,732,627),8746=>array(105,-12,732,615),8747=>array(24,-182,555,759),8748=>array(24,-182,946,759),8749=>array(24,-182,1336,759),8760=>array(106,258,732,567),8761=>array(106,60,732,567),8762=>array(106,60,732,567),8763=>array(106,60,732,567),8764=>array(106,222,732,406),8765=>array(106,222,732,406),8770=>array(106,119,732,480),8771=>array(106,147,732,508),8776=>array(106,119,732,508),8784=>array(106,147,732,717),8785=>array(106,-90,732,717),8786=>array(106,-90,732,717),8787=>array(106,-90,732,717),8788=>array(106,110,976,518),8789=>array(106,110,976,518),8800=>array(106,-5,732,631),8801=>array(106,91,732,536),8804=>array(106,0,732,580),8805=>array(106,0,732,580),8834=>array(106,0,732,627),8835=>array(106,0,732,627),8836=>array(106,-138,732,765),8837=>array(106,-138,732,765),8838=>array(106,-85,732,712),8839=>array(106,-85,732,712),8844=>array(105,-12,732,615),8845=>array(105,-12,732,615),8846=>array(105,-12,732,615),8847=>array(106,1,732,627),8848=>array(106,1,732,627),8849=>array(106,-85,732,712),8850=>array(106,-85,732,712),8851=>array(106,0,732,627),8852=>array(106,0,732,627),8853=>array(105,0,732,627),8854=>array(105,0,732,627),8855=>array(105,0,732,627),8856=>array(105,0,732,627),8857=>array(105,0,732,627),8858=>array(105,0,732,627),8859=>array(105,0,732,627),8860=>array(105,0,732,627),8861=>array(105,0,732,627),8862=>array(106,1,732,627),8863=>array(106,1,732,627),8864=>array(106,1,732,627),8865=>array(106,1,732,627),8866=>array(106,0,778,729),8867=>array(106,0,778,729),8868=>array(106,0,854,688),8869=>array(106,0,854,688),8870=>array(106,0,510,729),8871=>array(106,0,510,729),8872=>array(106,0,778,729),8873=>array(106,0,778,729),8874=>array(106,0,778,729),8875=>array(106,0,974,729),8876=>array(106,-123,778,852),8877=>array(106,-123,778,852),8878=>array(106,-123,778,852),8879=>array(106,-123,974,852),8901=>array(106,255,292,440),8962=>array(71,0,763,596),8968=>array(125,-132,402,760),8969=>array(71,-132,348,760),8970=>array(125,-132,402,760),8971=>array(71,-132,348,760),8976=>array(106,140,732,441),8977=>array(3,113,536,646),8984=>array(84,0,843,759),8985=>array(106,140,732,441),8992=>array(226,-250,555,925),8993=>array(22,-239,351,940),8997=>array(84,0,916,723),9000=>array(59,0,1385,729),9085=>array(13,-228,995,85),9115=>array(63,-252,438,928),9116=>array(63,-252,205,940),9117=>array(63,-240,438,940),9118=>array(63,-252,438,928),9119=>array(295,-252,438,940),9120=>array(63,-240,438,940),9121=>array(63,-252,438,928),9122=>array(63,-252,205,940),9123=>array(63,-240,438,940),9124=>array(63,-252,438,928),9125=>array(295,-252,438,940),9126=>array(63,-240,438,940),9127=>array(306,-261,668,928),9128=>array(82,-247,444,934),9129=>array(306,-240,668,934),9130=>array(306,-256,444,934),9131=>array(82,-261,444,928),9132=>array(306,-247,668,934),9133=>array(82,-240,444,934),9134=>array(226,-250,351,940),9167=>array(91,0,854,596),9251=>array(71,-228,763,85),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,700,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(55,260,818,645),9697=>array(55,-125,818,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(150,227,440,516),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9784=>array(80,3,817,721),9785=>array(83,0,813,730),9786=>array(83,0,813,730),9787=>array(83,0,813,730),9788=>array(83,0,813,730),9791=>array(85,-102,528,732),9792=>array(85,-125,646,731),9793=>array(85,-125,646,731),9794=>array(85,-5,831,729),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),10145=>array(57,119,801,527),10181=>array(54,-163,405,769),10182=>array(54,-163,405,769),10208=>array(3,-233,491,807),10216=>array(104,-132,377,759),10217=>array(80,-132,353,759),10224=>array(68,0,770,744),10225=>array(68,-20,770,724),10226=>array(76,48,747,618),10227=>array(91,48,762,618),10228=>array(57,39,996,608),10229=>array(37,119,1376,527),10230=>array(57,119,1396,527),10231=>array(37,119,1396,527),10232=>array(37,119,1376,527),10233=>array(57,119,1396,527),10234=>array(37,119,1396,527),10235=>array(37,119,1376,527),10236=>array(57,119,1396,527),10237=>array(37,119,1376,527),10238=>array(57,119,1396,527),10239=>array(57,119,1396,527),10241=>array(146,586,342,781),10242=>array(146,325,342,521),10243=>array(146,325,342,781),10244=>array(146,65,342,260),10245=>array(146,65,342,781),10246=>array(146,65,342,521),10247=>array(146,65,342,781),10248=>array(439,586,635,781),10249=>array(146,586,635,781),10250=>array(146,325,635,781),10251=>array(146,325,635,781),10252=>array(146,65,635,781),10253=>array(146,65,635,781),10254=>array(146,65,635,781),10255=>array(146,65,635,781),10256=>array(439,325,635,521),10257=>array(146,325,635,781),10258=>array(146,325,635,521),10259=>array(146,325,635,781),10260=>array(146,65,635,521),10261=>array(146,65,635,781),10262=>array(146,65,635,521),10263=>array(146,65,635,781),10264=>array(439,325,635,781),10265=>array(146,325,635,781),10266=>array(146,325,635,781),10267=>array(146,325,635,781),10268=>array(146,65,635,781),10269=>array(146,65,635,781),10270=>array(146,65,635,781),10271=>array(146,65,635,781),10272=>array(439,65,635,260),10273=>array(146,65,635,781),10274=>array(146,65,635,521),10275=>array(146,65,635,781),10276=>array(146,65,635,260),10277=>array(146,65,635,781),10278=>array(146,65,635,521),10279=>array(146,65,635,781),10280=>array(439,65,635,781),10281=>array(146,65,635,781),10282=>array(146,65,635,781),10283=>array(146,65,635,781),10284=>array(146,65,635,781),10285=>array(146,65,635,781),10286=>array(146,65,635,781),10287=>array(146,65,635,781),10288=>array(439,65,635,521),10289=>array(146,65,635,781),10290=>array(146,65,635,521),10291=>array(146,65,635,781),10292=>array(146,65,635,521),10293=>array(146,65,635,781),10294=>array(146,65,635,521),10295=>array(146,65,635,781),10296=>array(439,65,635,781),10297=>array(146,65,635,781),10298=>array(146,65,635,781),10299=>array(146,65,635,781),10300=>array(146,65,635,781),10301=>array(146,65,635,781),10302=>array(146,65,635,781),10303=>array(146,65,635,781),10304=>array(146,-195,342,0),10305=>array(146,-195,342,781),10306=>array(146,-195,342,521),10307=>array(146,-195,342,781),10308=>array(146,-195,342,260),10309=>array(146,-195,342,781),10310=>array(146,-195,342,521),10311=>array(146,-195,342,781),10312=>array(146,-195,635,781),10313=>array(146,-195,635,781),10314=>array(146,-195,635,781),10315=>array(146,-195,635,781),10316=>array(146,-195,635,781),10317=>array(146,-195,635,781),10318=>array(146,-195,635,781),10319=>array(146,-195,635,781),10320=>array(146,-195,635,521),10321=>array(146,-195,635,781),10322=>array(146,-195,635,521),10323=>array(146,-195,635,781),10324=>array(146,-195,635,521),10325=>array(146,-195,635,781),10326=>array(146,-195,635,521),10327=>array(146,-195,635,781),10328=>array(146,-195,635,781),10329=>array(146,-195,635,781),10330=>array(146,-195,635,781),10331=>array(146,-195,635,781),10332=>array(146,-195,635,781),10333=>array(146,-195,635,781),10334=>array(146,-195,635,781),10335=>array(146,-195,635,781),10336=>array(146,-195,635,260),10337=>array(146,-195,635,781),10338=>array(146,-195,635,521),10339=>array(146,-195,635,781),10340=>array(146,-195,635,260),10341=>array(146,-195,635,781),10342=>array(146,-195,635,521),10343=>array(146,-195,635,781),10344=>array(146,-195,635,781),10345=>array(146,-195,635,781),10346=>array(146,-195,635,781),10347=>array(146,-195,635,781),10348=>array(146,-195,635,781),10349=>array(146,-195,635,781),10350=>array(146,-195,635,781),10351=>array(146,-195,635,781),10352=>array(146,-195,635,521),10353=>array(146,-195,635,781),10354=>array(146,-195,635,521),10355=>array(146,-195,635,781),10356=>array(146,-195,635,521),10357=>array(146,-195,635,781),10358=>array(146,-195,635,521),10359=>array(146,-195,635,781),10360=>array(146,-195,635,781),10361=>array(146,-195,635,781),10362=>array(146,-195,635,781),10363=>array(146,-195,635,781),10364=>array(146,-195,635,781),10365=>array(146,-195,635,781),10366=>array(146,-195,635,781),10367=>array(146,-195,635,781),10368=>array(439,-195,635,0),10369=>array(146,-195,635,781),10370=>array(146,-195,635,521),10371=>array(146,-195,635,781),10372=>array(146,-195,635,260),10373=>array(146,-195,635,781),10374=>array(146,-195,635,521),10375=>array(146,-195,635,781),10376=>array(439,-195,635,781),10377=>array(146,-195,635,781),10378=>array(146,-195,635,781),10379=>array(146,-195,635,781),10380=>array(146,-195,635,781),10381=>array(146,-195,635,781),10382=>array(146,-195,635,781),10383=>array(146,-195,635,781),10384=>array(439,-195,635,521),10385=>array(146,-195,635,781),10386=>array(146,-195,635,521),10387=>array(146,-195,635,781),10388=>array(146,-195,635,521),10389=>array(146,-195,635,781),10390=>array(146,-195,635,521),10391=>array(146,-195,635,781),10392=>array(439,-195,635,781),10393=>array(146,-195,635,781),10394=>array(146,-195,635,781),10395=>array(146,-195,635,781),10396=>array(146,-195,635,781),10397=>array(146,-195,635,781),10398=>array(146,-195,635,781),10399=>array(146,-195,635,781),10400=>array(439,-195,635,260),10401=>array(146,-195,635,781),10402=>array(146,-195,635,521),10403=>array(146,-195,635,781),10404=>array(146,-195,635,260),10405=>array(146,-195,635,781),10406=>array(146,-195,635,521),10407=>array(146,-195,635,781),10408=>array(439,-195,635,781),10409=>array(146,-195,635,781),10410=>array(146,-195,635,781),10411=>array(146,-195,635,781),10412=>array(146,-195,635,781),10413=>array(146,-195,635,781),10414=>array(146,-195,635,781),10415=>array(146,-195,635,781),10416=>array(439,-195,635,521),10417=>array(146,-195,635,781),10418=>array(146,-195,635,521),10419=>array(146,-195,635,781),10420=>array(146,-195,635,521),10421=>array(146,-195,635,781),10422=>array(146,-195,635,521),10423=>array(146,-195,635,781),10424=>array(439,-195,635,781),10425=>array(146,-195,635,781),10426=>array(146,-195,635,781),10427=>array(146,-195,635,781),10428=>array(146,-195,635,781),10429=>array(146,-195,635,781),10430=>array(146,-195,635,781),10431=>array(146,-195,635,781),10432=>array(146,-195,635,0),10433=>array(146,-195,635,781),10434=>array(146,-195,635,521),10435=>array(146,-195,635,781),10436=>array(146,-195,635,260),10437=>array(146,-195,635,781),10438=>array(146,-195,635,521),10439=>array(146,-195,635,781),10440=>array(146,-195,635,781),10441=>array(146,-195,635,781),10442=>array(146,-195,635,781),10443=>array(146,-195,635,781),10444=>array(146,-195,635,781),10445=>array(146,-195,635,781),10446=>array(146,-195,635,781),10447=>array(146,-195,635,781),10448=>array(146,-195,635,521),10449=>array(146,-195,635,781),10450=>array(146,-195,635,521),10451=>array(146,-195,635,781),10452=>array(146,-195,635,521),10453=>array(146,-195,635,781),10454=>array(146,-195,635,521),10455=>array(146,-195,635,781),10456=>array(146,-195,635,781),10457=>array(146,-195,635,781),10458=>array(146,-195,635,781),10459=>array(146,-195,635,781),10460=>array(146,-195,635,781),10461=>array(146,-195,635,781),10462=>array(146,-195,635,781),10463=>array(146,-195,635,781),10464=>array(146,-195,635,260),10465=>array(146,-195,635,781),10466=>array(146,-195,635,521),10467=>array(146,-195,635,781),10468=>array(146,-195,635,260),10469=>array(146,-195,635,781),10470=>array(146,-195,635,521),10471=>array(146,-195,635,781),10472=>array(146,-195,635,781),10473=>array(146,-195,635,781),10474=>array(146,-195,635,781),10475=>array(146,-195,635,781),10476=>array(146,-195,635,781),10477=>array(146,-195,635,781),10478=>array(146,-195,635,781),10479=>array(146,-195,635,781),10480=>array(146,-195,635,521),10481=>array(146,-195,635,781),10482=>array(146,-195,635,521),10483=>array(146,-195,635,781),10484=>array(146,-195,635,521),10485=>array(146,-195,635,781),10486=>array(146,-195,635,521),10487=>array(146,-195,635,781),10488=>array(146,-195,635,781),10489=>array(146,-195,635,781),10490=>array(146,-195,635,781),10491=>array(146,-195,635,781),10492=>array(146,-195,635,781),10493=>array(146,-195,635,781),10494=>array(146,-195,635,781),10495=>array(146,-195,635,781),10496=>array(57,119,801,527),10497=>array(57,119,801,527),10498=>array(37,119,781,527),10499=>array(57,119,801,527),10500=>array(37,119,801,527),10501=>array(57,119,801,527),10502=>array(37,119,781,527),10503=>array(57,119,801,527),10504=>array(215,-20,623,724),10505=>array(215,0,623,744),10506=>array(166,0,672,744),10507=>array(166,-20,672,724),10508=>array(37,119,781,527),10509=>array(57,119,801,527),10510=>array(37,119,781,527),10511=>array(57,119,801,527),10512=>array(49,118,801,529),10513=>array(54,119,801,527),10514=>array(215,0,623,724),10515=>array(215,0,623,724),10516=>array(49,118,801,529),10517=>array(49,118,801,529),10518=>array(49,118,801,529),10519=>array(49,118,801,529),10520=>array(49,118,801,529),10521=>array(57,118,789,529),10522=>array(49,118,781,529),10523=>array(57,118,789,529),10524=>array(49,118,781,529),10525=>array(37,119,781,527),10526=>array(57,119,801,527),10527=>array(37,119,781,527),10528=>array(57,119,801,527),10529=>array(147,52,690,595),10530=>array(147,52,690,595),10531=>array(147,-45,650,595),10532=>array(188,-45,690,595),10533=>array(188,52,690,692),10534=>array(147,52,650,692),10535=>array(125,29,713,595),10536=>array(125,29,690,617),10537=>array(125,52,713,617),10538=>array(147,29,713,617),10539=>array(125,29,713,617),10540=>array(125,29,713,617),10541=>array(125,29,690,617),10542=>array(125,29,690,617),10543=>array(125,29,713,617),10544=>array(125,29,713,617),10545=>array(125,29,713,595),10546=>array(125,29,713,595),10547=>array(42,119,801,527),10548=>array(146,94,708,623),10549=>array(146,80,708,608),10550=>array(147,70,675,632),10551=>array(163,70,691,632),10552=>array(284,-13,591,735),10553=>array(247,-13,554,735),10554=>array(51,188,799,495),10555=>array(39,151,787,459),10556=>array(39,78,787,495),10557=>array(51,0,799,495),10558=>array(140,58,691,593),10559=>array(146,58,698,593),10560=>array(134,48,704,719),10561=>array(134,48,704,719),10562=>array(37,-52,801,698),10563=>array(37,-52,801,698),10564=>array(37,-52,801,698),10565=>array(57,0,801,527),10566=>array(37,0,781,527),10567=>array(57,119,801,527),10568=>array(37,119,801,527),10569=>array(215,-12,623,744),10570=>array(34,119,804,527),10571=>array(34,119,804,527),10572=>array(215,-23,623,747),10573=>array(215,-23,623,747),10574=>array(34,270,804,527),10575=>array(365,-23,623,747),10576=>array(34,119,804,377),10577=>array(215,-23,473,747),10578=>array(57,131,781,527),10579=>array(57,131,781,527),10580=>array(227,0,623,724),10581=>array(227,0,623,724),10582=>array(57,119,781,515),10583=>array(57,119,781,515),10584=>array(215,0,611,724),10585=>array(215,0,611,724),10586=>array(34,131,781,527),10587=>array(57,131,804,527),10588=>array(227,0,623,747),10589=>array(227,-23,623,724),10590=>array(34,119,781,515),10591=>array(57,119,804,515),10592=>array(215,0,611,747),10593=>array(215,-23,611,724),10594=>array(34,21,781,625),10595=>array(117,0,721,747),10596=>array(57,21,804,625),10597=>array(117,-23,721,724),10598=>array(34,172,804,625),10599=>array(34,21,804,475),10600=>array(34,172,804,625),10601=>array(34,21,804,475),10602=>array(34,184,781,613),10603=>array(34,34,781,462),10604=>array(57,184,804,613),10605=>array(57,34,804,462),10606=>array(117,-23,721,747),10607=>array(117,-23,721,747),10608=>array(57,270,781,571),10609=>array(57,119,801,757),10610=>array(57,119,801,610),10611=>array(37,36,781,527),10612=>array(57,36,801,527),10613=>array(57,-138,801,527),10614=>array(37,-76,781,791),10615=>array(37,42,975,604),10616=>array(57,-76,801,791),10617=>array(57,-76,801,748),10618=>array(37,10,903,637),10619=>array(37,-76,781,748),10620=>array(164,11,687,636),10621=>array(151,11,674,636),10622=>array(106,62,731,584),10623=>array(106,54,731,576),10731=>array(3,-233,491,807),10764=>array(24,-182,1727,759),10765=>array(25,-182,586,760),10766=>array(25,-182,586,760),10799=>array(129,23,709,604),10858=>array(106,222,732,567),10859=>array(106,60,732,567),11008=>array(71,-28,690,591),11009=>array(148,-28,767,591),11010=>array(71,52,690,671),11011=>array(148,52,767,671),11012=>array(37,119,801,527),11013=>array(37,119,781,527),11014=>array(215,0,623,744),11015=>array(215,-20,623,724),11016=>array(71,-28,690,591),11017=>array(148,-28,767,591),11018=>array(71,52,690,671),11019=>array(148,52,767,671),11020=>array(37,119,801,527),11021=>array(215,-20,623,744),11022=>array(57,112,801,514),11023=>array(57,132,801,534),11024=>array(37,112,781,514),11025=>array(37,132,781,534),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11360=>array(36,0,681,729),11361=>array(4,0,385,760),11363=>array(36,0,727,729),11364=>array(47,-208,837,729),11367=>array(47,-157,900,729),11368=>array(31,-138,704,760),11369=>array(47,-157,900,729),11370=>array(34,-138,710,760),11371=>array(37,-157,694,729),11372=>array(35,-138,534,519),11373=>array(42,-14,808,742),11374=>array(42,-208,1060,729),11375=>array(-8,0,787,729),11376=>array(42,-14,808,742),11377=>array(-18,0,709,533),11378=>array(-9,0,1221,730),11379=>array(-9,0,984,533),11381=>array(47,0,734,729),11382=>array(34,0,567,519),11383=>array(47,-14,857,533),11385=>array(29,-14,537,760),11386=>array(41,-14,627,533),11387=>array(30,0,588,519),11388=>array(44,-124,274,426),11389=>array(-4,326,498,734),11390=>array(66,-208,662,742),11391=>array(37,-208,730,729),11520=>array(43,-53,730,514),11521=>array(42,-218,593,514),11522=>array(48,-218,761,514),11523=>array(67,-2,606,759),11524=>array(48,-217,745,514),11525=>array(44,-217,918,514),11526=>array(44,0,713,759),11527=>array(44,0,917,514),11528=>array(52,0,576,514),11529=>array(42,-217,604,729),11530=>array(38,0,912,514),11531=>array(68,-4,588,759),11532=>array(42,0,604,759),11533=>array(44,-2,918,514),11534=>array(44,0,802,514),11535=>array(44,-218,821,759),11536=>array(44,0,917,759),11537=>array(42,0,603,759),11538=>array(43,-217,588,515),11539=>array(44,-221,915,675),11540=>array(64,-217,875,555),11541=>array(43,-218,820,759),11542=>array(42,0,602,514),11543=>array(42,-217,604,514),11544=>array(42,-217,603,514),11545=>array(58,-217,607,759),11546=>array(80,-217,646,514),11547=>array(64,0,859,759),11548=>array(77,-217,938,514),11549=>array(43,-217,639,515),11550=>array(72,-217,634,514),11551=>array(44,-218,809,518),11552=>array(46,0,1068,514),11553=>array(43,-217,590,759),11554=>array(57,-3,577,579),11555=>array(42,-217,604,759),11556=>array(42,-217,707,514),11557=>array(73,-4,841,759),11800=>array(45,-14,521,742),11807=>array(106,60,732,406),11810=>array(125,403,402,760),11811=>array(71,403,348,760),11812=>array(125,-132,402,225),11813=>array(71,-132,348,225),11822=>array(65,-14,541,742),42564=>array(66,-14,662,742),42565=>array(43,-14,522,533),42566=>array(47,0,422,729),42567=>array(36,0,367,519),42576=>array(6,0,1287,729),42577=>array(15,0,1054,519),42580=>array(59,-14,1240,742),42581=>array(44,-14,973,533),42582=>array(47,0,1298,729),42583=>array(53,-14,1016,533),42760=>array(96,0,404,693),42761=>array(96,0,404,693),42762=>array(96,0,404,693),42763=>array(96,0,404,693),42764=>array(96,0,404,693),42765=>array(96,0,404,693),42766=>array(96,0,404,693),42767=>array(96,0,404,693),42768=>array(96,0,404,693),42769=>array(96,0,404,693),42770=>array(96,0,404,693),42771=>array(96,0,404,693),42772=>array(96,0,404,693),42773=>array(96,0,404,693),42774=>array(96,0,404,693),42779=>array(63,326,321,743),42780=>array(63,315,321,731),42781=>array(80,318,197,734),42782=>array(80,326,197,742),42783=>array(80,0,197,416),42790=>array(47,-208,900,729),42791=>array(31,-222,630,760),42792=>array(11,-203,970,729),42793=>array(24,-203,874,680),42794=>array(35,-14,656,742),42795=>array(45,-12,578,742),42796=>array(41,-14,609,729),42797=>array(41,-222,574,519),42798=>array(41,-104,717,729),42799=>array(41,-240,682,519),42800=>array(29,0,581,519),42801=>array(43,-14,522,533),42802=>array(-8,0,1312,729),42803=>array(41,-14,963,533),42804=>array(-8,-14,1218,742),42805=>array(41,-14,964,533),42806=>array(-31,-14,1146,729),42807=>array(41,-14,974,533),42808=>array(-8,0,1030,729),42809=>array(41,-14,838,533),42810=>array(-8,0,1030,729),42811=>array(41,-14,838,533),42812=>array(-8,-208,1008,729),42813=>array(41,-222,871,533),42814=>array(42,-14,745,742),42815=>array(41,-14,564,533),42816=>array(36,0,900,729),42817=>array(31,0,710,760),42822=>array(47,0,894,729),42823=>array(34,0,556,760),42826=>array(-5,-14,1015,742),42827=>array(-5,-14,774,533),42830=>array(42,-14,1405,742),42831=>array(41,-14,1020,533),42856=>array(47,-208,781,729),42857=>array(23,-208,682,519),42875=>array(53,-208,681,742),42876=>array(29,-208,537,533),42880=>array(22,0,656,729),42881=>array(25,-240,346,519),42882=>array(53,-208,843,743),42883=>array(34,-208,716,533),42884=>array(53,-208,681,742),42885=>array(29,-208,537,533),42886=>array(18,-14,755,729),42887=>array(17,-14,574,519),42891=>array(128,225,311,729),42892=>array(95,458,211,729),42893=>array(31,0,861,729),42896=>array(44,-157,894,729),42897=>array(34,-138,710,533),42922=>array(-120,0,900,729),43002=>array(34,0,1035,519),43003=>array(13,0,663,729),43004=>array(25,0,705,729),43005=>array(47,0,1065,729),43006=>array(47,0,422,928),43007=>array(-8,0,1297,729),62464=>array(50,-21,655,871),62465=>array(56,-21,660,870),62466=>array(50,-21,715,869),62467=>array(56,-21,943,870),62468=>array(50,-21,644,870),62469=>array(50,-21,655,871),62470=>array(22,-21,720,870),62471=>array(56,-20,981,870),62472=>array(56,-21,660,870),62473=>array(56,-21,660,870),62474=>array(56,-27,1252,870),62475=>array(56,-21,661,870),62476=>array(73,-21,677,882),62477=>array(56,-152,947,870),62478=>array(56,-21,660,870),62479=>array(56,-21,660,871),62480=>array(56,-21,994,854),62481=>array(0,-21,741,870),62482=>array(56,-21,793,870),62483=>array(28,-21,727,870),62484=>array(56,-21,940,870),62485=>array(56,-21,660,846),62486=>array(56,-21,932,870),62487=>array(56,-21,659,869),62488=>array(22,-21,667,870),62489=>array(73,-21,677,870),62490=>array(56,-21,724,864),62491=>array(56,-21,660,870),62492=>array(73,-21,717,870),62493=>array(56,-21,661,904),62494=>array(0,-21,725,870),62495=>array(51,-31,885,869),62496=>array(56,-21,660,876),62497=>array(73,-21,770,873),62498=>array(56,-63,660,870),62499=>array(56,-21,660,889),62500=>array(56,-21,660,870),62501=>array(56,-21,717,870),62502=>array(56,-20,956,870),62504=>array(63,-217,836,759),63173=>array(41,-14,627,756),63185=>array(57,616,443,816),63188=>array(75,624,425,840),64256=>array(31,0,875,760),64257=>array(31,0,704,760),64258=>array(31,0,702,760),64259=>array(31,0,1095,760),64260=>array(31,0,1092,760),64261=>array(32,-14,839,760),64262=>array(43,-14,967,748),65533=>array(24,-108,1089,956),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>348,33=>439,34=>521,35=>838,36=>696,37=>950,38=>903,39=>306,40=>473,41=>473,42=>523,43=>838,44=>348,45=>415,46=>348,47=>365,48=>696,49=>696,50=>696,51=>696,52=>696,53=>696,54=>696,55=>696,56=>696,57=>696,58=>369,59=>369,60=>838,61=>838,62=>838,63=>586,64=>1000,65=>776,66=>845,67=>796,68=>867,69=>762,70=>710,71=>854,72=>945,73=>468,74=>473,75=>869,76=>703,77=>1107,78=>914,79=>871,80=>752,81=>871,82=>831,83=>722,84=>744,85=>872,86=>776,87=>1123,88=>776,89=>714,90=>730,91=>473,92=>365,93=>473,94=>838,95=>500,96=>500,97=>648,98=>699,99=>609,100=>699,101=>636,102=>430,103=>699,104=>727,105=>380,106=>362,107=>693,108=>380,109=>1058,110=>727,111=>667,112=>699,113=>699,114=>527,115=>563,116=>462,117=>727,118=>581,119=>861,120=>596,121=>581,122=>568,123=>643,124=>364,125=>643,126=>838,160=>348,161=>439,162=>696,163=>696,164=>636,165=>696,166=>364,167=>523,168=>500,169=>1000,170=>487,171=>625,172=>838,173=>415,174=>1000,175=>500,176=>500,177=>838,178=>438,179=>438,180=>500,181=>732,182=>636,183=>348,184=>500,185=>438,186=>500,187=>625,188=>1043,189=>1043,190=>1043,191=>586,192=>776,193=>776,194=>776,195=>776,196=>776,197=>776,198=>1034,199=>796,200=>762,201=>762,202=>762,203=>762,204=>468,205=>468,206=>468,207=>468,208=>874,209=>914,210=>871,211=>871,212=>871,213=>871,214=>871,215=>838,216=>871,217=>872,218=>872,219=>872,220=>872,221=>714,222=>757,223=>760,224=>648,225=>648,226=>648,227=>648,228=>648,229=>648,230=>975,231=>609,232=>636,233=>636,234=>636,235=>636,236=>380,237=>380,238=>380,239=>380,240=>667,241=>727,242=>667,243=>667,244=>667,245=>667,246=>667,247=>838,248=>667,249=>727,250=>727,251=>727,252=>727,253=>581,254=>699,255=>581,256=>776,257=>648,258=>776,259=>648,260=>776,261=>648,262=>796,263=>609,264=>796,265=>609,266=>796,267=>609,268=>796,269=>609,270=>867,271=>699,272=>874,273=>699,274=>762,275=>636,276=>762,277=>636,278=>762,279=>636,280=>762,281=>636,282=>762,283=>636,284=>854,285=>699,286=>854,287=>699,288=>854,289=>699,290=>854,291=>699,292=>945,293=>727,294=>945,295=>727,296=>468,297=>380,298=>468,299=>380,300=>468,301=>380,302=>468,303=>380,304=>468,305=>380,306=>942,307=>751,308=>473,309=>362,310=>869,311=>693,312=>693,313=>703,314=>380,315=>703,316=>380,317=>703,318=>380,319=>703,320=>380,321=>710,322=>385,323=>914,324=>727,325=>914,326=>727,327=>914,328=>727,329=>1008,330=>872,331=>727,332=>871,333=>667,334=>871,335=>667,336=>871,337=>667,338=>1180,339=>1028,340=>831,341=>527,342=>831,343=>527,344=>831,345=>527,346=>722,347=>563,348=>722,349=>563,350=>722,351=>563,352=>722,353=>563,354=>744,355=>462,356=>744,357=>462,358=>744,359=>462,360=>872,361=>727,362=>872,363=>727,364=>872,365=>727,366=>872,367=>727,368=>872,369=>727,370=>872,371=>727,372=>1123,373=>861,374=>714,375=>581,376=>714,377=>730,378=>568,379=>730,380=>568,381=>730,382=>568,383=>430,384=>699,385=>845,386=>854,387=>699,388=>854,389=>699,390=>796,391=>796,392=>609,393=>874,394=>867,395=>854,396=>699,397=>667,398=>762,399=>871,400=>721,401=>710,402=>430,403=>854,404=>771,405=>1043,406=>468,407=>468,408=>869,409=>693,410=>380,411=>701,412=>1058,413=>914,414=>727,415=>871,416=>871,417=>667,418=>1200,419=>943,420=>752,421=>699,422=>831,423=>722,424=>563,425=>707,426=>331,427=>462,428=>744,429=>462,430=>744,431=>872,432=>727,433=>890,434=>890,435=>714,436=>708,437=>730,438=>568,439=>657,440=>657,441=>657,442=>657,443=>696,444=>754,445=>568,446=>536,447=>716,448=>295,449=>492,450=>459,451=>295,452=>1597,453=>1435,454=>1267,455=>1176,456=>1065,457=>742,458=>1387,459=>1276,460=>1089,461=>776,462=>648,463=>468,464=>380,465=>871,466=>667,467=>872,468=>727,469=>872,470=>727,471=>872,472=>727,473=>872,474=>727,475=>872,476=>727,477=>636,478=>776,479=>648,480=>776,481=>648,482=>1034,483=>975,484=>896,485=>699,486=>854,487=>699,488=>869,489=>693,490=>871,491=>667,492=>871,493=>667,494=>657,495=>568,496=>380,497=>1597,498=>1435,499=>1267,500=>854,501=>699,502=>1221,503=>787,504=>914,505=>727,506=>776,507=>648,508=>1034,509=>975,510=>871,511=>667,512=>776,513=>648,514=>776,515=>648,516=>762,517=>636,518=>762,519=>636,520=>468,521=>380,522=>468,523=>380,524=>871,525=>667,526=>871,527=>667,528=>831,529=>527,530=>831,531=>527,532=>872,533=>727,534=>872,535=>727,536=>722,537=>563,538=>744,539=>462,540=>690,541=>607,542=>945,543=>727,544=>872,545=>791,546=>703,547=>616,548=>730,549=>568,550=>776,551=>648,552=>762,553=>636,554=>871,555=>667,556=>871,557=>667,558=>871,559=>667,560=>871,561=>667,562=>714,563=>581,564=>573,565=>922,566=>564,567=>362,568=>1031,569=>1031,570=>776,571=>796,572=>609,573=>703,574=>744,575=>563,576=>568,577=>660,578=>547,579=>845,580=>872,581=>776,582=>762,583=>636,584=>473,585=>387,586=>848,587=>699,588=>831,589=>527,590=>714,591=>581,592=>648,593=>699,594=>699,595=>699,596=>609,597=>609,598=>699,599=>730,600=>636,601=>636,602=>907,603=>608,604=>562,605=>907,606=>720,607=>387,608=>699,609=>699,610=>626,611=>601,612=>627,613=>727,614=>727,615=>727,616=>380,617=>380,618=>380,619=>409,620=>514,621=>380,622=>795,623=>1058,624=>1058,625=>1058,626=>727,627=>727,628=>712,629=>667,630=>1061,631=>749,632=>667,633=>571,634=>571,635=>571,636=>527,637=>527,638=>452,639=>487,640=>801,641=>801,642=>563,643=>331,644=>430,645=>540,646=>331,647=>492,648=>462,649=>727,650=>679,651=>694,652=>641,653=>907,654=>635,655=>727,656=>568,657=>568,658=>568,659=>568,660=>536,661=>536,662=>536,663=>545,664=>871,665=>695,666=>720,667=>626,668=>732,669=>384,670=>740,671=>646,672=>699,673=>536,674=>536,675=>1117,676=>1179,677=>1117,678=>938,679=>715,680=>946,681=>1039,682=>870,683=>795,684=>662,685=>443,686=>613,687=>717,688=>521,689=>519,690=>313,691=>414,692=>414,693=>480,694=>527,695=>662,696=>485,697=>302,698=>521,699=>348,700=>348,701=>348,702=>366,703=>366,704=>313,705=>313,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>282,713=>500,714=>500,715=>500,716=>282,717=>500,720=>369,721=>369,722=>366,723=>366,726=>392,727=>392,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>417,736=>378,737=>292,738=>395,739=>475,740=>313,741=>500,742=>500,743=>500,744=>500,745=>500,748=>500,750=>553,751=>500,752=>500,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>779,881=>576,882=>803,883=>777,884=>302,885=>302,886=>963,887=>737,890=>500,891=>609,892=>609,893=>609,894=>369,900=>500,901=>500,902=>776,903=>348,904=>947,905=>1118,906=>662,908=>887,910=>953,911=>911,912=>484,913=>776,914=>845,915=>710,916=>776,917=>762,918=>730,919=>945,920=>871,921=>468,922=>869,923=>776,924=>1107,925=>914,926=>704,927=>871,928=>944,929=>752,931=>707,932=>744,933=>714,934=>871,935=>776,936=>913,937=>890,938=>468,939=>714,940=>770,941=>608,942=>727,943=>484,944=>694,945=>770,946=>664,947=>660,948=>667,949=>608,950=>592,951=>727,952=>667,953=>484,954=>750,955=>701,956=>732,957=>694,958=>592,959=>667,960=>732,961=>665,962=>609,963=>737,964=>673,965=>694,966=>905,967=>658,968=>941,969=>952,970=>484,971=>694,972=>667,973=>694,974=>952,975=>869,976=>667,977=>849,978=>764,979=>969,980=>764,981=>941,982=>952,983=>655,984=>871,985=>667,986=>796,987=>609,988=>710,989=>527,990=>590,991=>660,992=>796,993=>667,1008=>655,1009=>665,1010=>609,1011=>362,1012=>871,1013=>609,1014=>609,1015=>757,1016=>699,1017=>796,1018=>1107,1019=>860,1020=>692,1021=>796,1022=>796,1023=>796,1024=>762,1025=>762,1026=>901,1027=>690,1028=>795,1029=>722,1030=>468,1031=>468,1032=>473,1033=>1202,1034=>1262,1035=>963,1036=>910,1037=>945,1038=>812,1039=>945,1040=>814,1041=>854,1042=>845,1043=>690,1044=>889,1045=>762,1046=>1312,1047=>721,1048=>945,1049=>945,1050=>910,1051=>884,1052=>1107,1053=>945,1054=>871,1055=>944,1056=>752,1057=>796,1058=>744,1059=>812,1060=>949,1061=>776,1062=>966,1063=>913,1064=>1268,1065=>1293,1066=>957,1067=>1202,1068=>825,1069=>795,1070=>1287,1071=>882,1072=>648,1073=>667,1074=>695,1075=>613,1076=>667,1077=>636,1078=>1010,1079=>638,1080=>742,1081=>742,1082=>722,1083=>705,1084=>869,1085=>732,1086=>667,1087=>732,1088=>699,1089=>609,1090=>620,1091=>640,1092=>902,1093=>596,1094=>739,1095=>732,1096=>1075,1097=>1082,1098=>767,1099=>1002,1100=>679,1101=>609,1102=>1025,1103=>739,1104=>636,1105=>636,1106=>719,1107=>613,1108=>609,1109=>563,1110=>380,1111=>380,1112=>362,1113=>988,1114=>1015,1115=>727,1116=>722,1117=>742,1118=>640,1119=>732,1122=>880,1123=>703,1124=>1195,1125=>963,1130=>1312,1131=>1010,1132=>1630,1133=>1297,1136=>1096,1137=>1105,1138=>871,1139=>652,1140=>916,1141=>749,1142=>916,1143=>749,1164=>846,1165=>673,1168=>700,1169=>618,1170=>690,1171=>613,1172=>868,1173=>716,1174=>1312,1175=>1010,1176=>721,1177=>638,1178=>947,1179=>744,1182=>910,1183=>722,1184=>1041,1185=>827,1186=>966,1187=>739,1188=>1167,1189=>956,1190=>1345,1191=>1059,1194=>796,1195=>609,1196=>744,1197=>620,1198=>714,1199=>581,1200=>714,1201=>581,1202=>866,1203=>649,1204=>1022,1205=>807,1206=>928,1207=>739,1210=>910,1211=>727,1216=>468,1217=>1312,1218=>1010,1219=>869,1220=>693,1223=>945,1224=>732,1227=>913,1228=>732,1231=>380,1232=>814,1233=>648,1234=>814,1235=>648,1236=>1034,1237=>975,1238=>762,1239=>636,1240=>871,1241=>636,1242=>871,1243=>636,1244=>1312,1245=>1010,1246=>721,1247=>638,1248=>657,1249=>568,1250=>945,1251=>742,1252=>945,1253=>742,1254=>871,1255=>667,1256=>871,1257=>667,1258=>871,1259=>667,1260=>795,1261=>609,1262=>812,1263=>640,1264=>812,1265=>640,1266=>812,1267=>640,1268=>913,1269=>732,1270=>690,1271=>613,1272=>1202,1273=>1002,1296=>721,1297=>638,1298=>884,1299=>705,1300=>1248,1301=>945,1306=>820,1307=>640,1308=>1028,1309=>856,1329=>942,1330=>832,1331=>894,1332=>909,1333=>822,1334=>821,1335=>747,1336=>832,1337=>1125,1338=>894,1339=>803,1340=>722,1341=>1188,1342=>887,1343=>842,1344=>737,1345=>863,1346=>918,1347=>851,1348=>977,1349=>833,1350=>914,1351=>843,1352=>871,1353=>818,1354=>1034,1355=>846,1356=>964,1357=>871,1358=>914,1359=>808,1360=>808,1361=>836,1362=>710,1363=>955,1364=>891,1365=>871,1366=>963,1369=>307,1370=>264,1371=>293,1372=>391,1373=>323,1374=>439,1375=>500,1377=>1055,1378=>695,1379=>776,1380=>801,1381=>729,1382=>742,1383=>599,1384=>733,1385=>909,1386=>768,1387=>724,1388=>398,1389=>1087,1390=>695,1391=>719,1392=>737,1393=>684,1394=>738,1395=>703,1396=>724,1397=>359,1398=>719,1399=>496,1400=>738,1401=>428,1402=>1059,1403=>668,1404=>744,1405=>724,1406=>724,1407=>1040,1408=>724,1409=>713,1410=>493,1411=>1040,1412=>734,1413=>693,1414=>956,1415=>833,1417=>340,1418=>388,4256=>755,4257=>936,4258=>866,4259=>874,4260=>781,4261=>1078,4262=>1014,4263=>1213,4264=>643,4265=>818,4266=>1051,4267=>1051,4268=>796,4269=>1135,4270=>969,4271=>902,4272=>1109,4273=>792,4274=>756,4275=>1076,4276=>976,4277=>1066,4278=>811,4279=>833,4280=>821,4281=>833,4282=>908,4283=>1077,4284=>769,4285=>822,4286=>813,4287=>1111,4288=>1123,4289=>802,4290=>892,4291=>802,4292=>880,4293=>1063,4304=>594,4305=>625,4306=>643,4307=>887,4308=>615,4309=>611,4310=>667,4311=>915,4312=>613,4313=>600,4314=>1120,4315=>640,4316=>640,4317=>879,4318=>624,4319=>634,4320=>877,4321=>666,4322=>780,4323=>751,4324=>869,4325=>639,4326=>912,4327=>622,4328=>647,4329=>640,4330=>729,4331=>641,4332=>630,4333=>629,4334=>670,4335=>753,4336=>625,4337=>657,4338=>625,4339=>625,4340=>624,4341=>670,4342=>940,4343=>680,4344=>636,4345=>672,4346=>625,4347=>588,4348=>354,7424=>641,7425=>892,7426=>940,7427=>695,7428=>609,7429=>675,7430=>675,7431=>617,7432=>509,7433=>320,7434=>561,7435=>722,7436=>617,7437=>869,7438=>737,7439=>667,7440=>609,7441=>628,7442=>628,7443=>667,7444=>989,7445=>598,7446=>667,7447=>667,7448=>586,7449=>801,7450=>801,7451=>620,7452=>647,7453=>664,7454=>923,7455=>655,7456=>581,7457=>861,7458=>568,7459=>568,7460=>588,7461=>802,7462=>586,7463=>641,7464=>732,7465=>586,7466=>854,7467=>705,7468=>489,7469=>651,7470=>532,7471=>532,7472=>546,7473=>480,7474=>480,7475=>538,7476=>595,7477=>294,7478=>298,7479=>547,7480=>443,7481=>697,7482=>576,7483=>606,7484=>548,7485=>442,7486=>474,7487=>523,7488=>455,7489=>469,7490=>549,7491=>466,7492=>466,7493=>498,7494=>657,7495=>499,7496=>498,7497=>444,7498=>444,7499=>412,7500=>412,7501=>498,7502=>300,7503=>523,7504=>729,7505=>473,7506=>467,7507=>427,7508=>467,7509=>467,7510=>499,7511=>371,7512=>520,7513=>418,7514=>729,7515=>491,7516=>505,7517=>418,7518=>416,7519=>420,7520=>570,7521=>414,7522=>239,7523=>414,7524=>520,7525=>491,7526=>418,7527=>416,7528=>419,7529=>570,7530=>414,7531=>1041,7543=>640,7544=>595,7547=>380,7548=>380,7549=>699,7550=>647,7551=>679,7557=>380,7579=>498,7580=>427,7581=>427,7582=>467,7583=>412,7584=>383,7585=>373,7586=>498,7587=>522,7588=>300,7589=>307,7590=>300,7591=>300,7592=>370,7593=>368,7594=>321,7595=>430,7596=>682,7597=>729,7598=>588,7599=>587,7600=>472,7601=>467,7602=>522,7603=>400,7604=>387,7605=>371,7606=>520,7607=>475,7608=>408,7609=>489,7610=>491,7611=>412,7612=>527,7613=>412,7614=>452,7615=>467,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>776,7681=>648,7682=>845,7683=>699,7684=>845,7685=>699,7686=>845,7687=>699,7688=>796,7689=>609,7690=>867,7691=>699,7692=>867,7693=>699,7694=>867,7695=>699,7696=>867,7697=>699,7698=>867,7699=>699,7700=>762,7701=>636,7702=>762,7703=>636,7704=>762,7705=>636,7706=>762,7707=>636,7708=>762,7709=>636,7710=>710,7711=>430,7712=>854,7713=>699,7714=>945,7715=>727,7716=>945,7717=>727,7718=>945,7719=>727,7720=>945,7721=>727,7722=>945,7723=>727,7724=>468,7725=>380,7726=>468,7727=>380,7728=>869,7729=>693,7730=>869,7731=>693,7732=>869,7733=>693,7734=>703,7735=>380,7736=>703,7737=>380,7738=>703,7739=>380,7740=>703,7741=>380,7742=>1107,7743=>1058,7744=>1107,7745=>1058,7746=>1107,7747=>1058,7748=>914,7749=>727,7750=>914,7751=>727,7752=>914,7753=>727,7754=>914,7755=>727,7756=>871,7757=>667,7758=>871,7759=>667,7760=>871,7761=>667,7762=>871,7763=>667,7764=>752,7765=>699,7766=>752,7767=>699,7768=>831,7769=>527,7770=>831,7771=>527,7772=>831,7773=>527,7774=>831,7775=>527,7776=>722,7777=>563,7778=>722,7779=>563,7780=>722,7781=>563,7782=>722,7783=>563,7784=>722,7785=>563,7786=>744,7787=>462,7788=>744,7789=>462,7790=>744,7791=>462,7792=>744,7793=>462,7794=>872,7795=>727,7796=>872,7797=>727,7798=>872,7799=>727,7800=>872,7801=>727,7802=>872,7803=>727,7804=>776,7805=>581,7806=>776,7807=>581,7808=>1123,7809=>861,7810=>1123,7811=>861,7812=>1123,7813=>861,7814=>1123,7815=>861,7816=>1123,7817=>861,7818=>776,7819=>596,7820=>776,7821=>596,7822=>714,7823=>581,7824=>730,7825=>568,7826=>730,7827=>568,7828=>730,7829=>568,7830=>727,7831=>462,7832=>861,7833=>581,7834=>1014,7835=>430,7836=>430,7837=>430,7838=>947,7839=>667,7840=>776,7841=>648,7842=>776,7843=>648,7844=>776,7845=>648,7846=>776,7847=>648,7848=>776,7849=>648,7850=>776,7851=>648,7852=>776,7853=>648,7854=>776,7855=>648,7856=>776,7857=>648,7858=>776,7859=>648,7860=>776,7861=>648,7862=>776,7863=>648,7864=>762,7865=>636,7866=>762,7867=>636,7868=>762,7869=>636,7870=>762,7871=>636,7872=>762,7873=>636,7874=>762,7875=>636,7876=>762,7877=>636,7878=>762,7879=>636,7880=>468,7881=>380,7882=>468,7883=>380,7884=>871,7885=>667,7886=>871,7887=>667,7888=>871,7889=>667,7890=>871,7891=>667,7892=>871,7893=>667,7894=>871,7895=>667,7896=>871,7897=>667,7898=>871,7899=>667,7900=>871,7901=>667,7902=>871,7903=>667,7904=>871,7905=>667,7906=>871,7907=>667,7908=>872,7909=>727,7910=>872,7911=>727,7912=>872,7913=>727,7914=>872,7915=>727,7916=>872,7917=>727,7918=>872,7919=>727,7920=>872,7921=>727,7922=>714,7923=>581,7924=>714,7925=>581,7926=>714,7927=>581,7928=>714,7929=>581,7930=>1078,7931=>701,7936=>770,7937=>770,7938=>770,7939=>770,7940=>770,7941=>770,7942=>770,7943=>770,7944=>776,7945=>776,7946=>978,7947=>978,7948=>832,7949=>849,7950=>776,7951=>776,7952=>608,7953=>608,7954=>608,7955=>608,7956=>608,7957=>608,7960=>917,7961=>909,7962=>1169,7963=>1169,7964=>1093,7965=>1120,7968=>727,7969=>727,7970=>727,7971=>727,7972=>727,7973=>727,7974=>727,7975=>727,7976=>1100,7977=>1094,7978=>1358,7979=>1361,7980=>1279,7981=>1308,7982=>1197,7983=>1194,7984=>484,7985=>484,7986=>484,7987=>484,7988=>484,7989=>484,7990=>484,7991=>484,7992=>629,7993=>617,7994=>878,7995=>881,7996=>799,7997=>831,7998=>723,7999=>714,8000=>667,8001=>667,8002=>667,8003=>667,8004=>667,8005=>667,8008=>900,8009=>935,8010=>1240,8011=>1237,8012=>1035,8013=>1066,8016=>694,8017=>694,8018=>694,8019=>694,8020=>694,8021=>694,8022=>694,8023=>694,8025=>922,8027=>1186,8029=>1133,8031=>1019,8032=>952,8033=>952,8034=>952,8035=>952,8036=>952,8037=>952,8038=>952,8039=>952,8040=>931,8041=>963,8042=>1268,8043=>1274,8044=>1054,8045=>1088,8046=>1023,8047=>1060,8048=>770,8049=>770,8050=>608,8051=>608,8052=>727,8053=>727,8054=>484,8055=>484,8056=>667,8057=>667,8058=>694,8059=>694,8060=>952,8061=>952,8064=>770,8065=>770,8066=>770,8067=>770,8068=>770,8069=>770,8070=>770,8071=>770,8072=>776,8073=>776,8074=>978,8075=>978,8076=>832,8077=>849,8078=>776,8079=>776,8080=>727,8081=>727,8082=>727,8083=>727,8084=>727,8085=>727,8086=>727,8087=>727,8088=>1100,8089=>1094,8090=>1358,8091=>1361,8092=>1279,8093=>1308,8094=>1197,8095=>1194,8096=>952,8097=>952,8098=>952,8099=>952,8100=>952,8101=>952,8102=>952,8103=>952,8104=>931,8105=>963,8106=>1268,8107=>1274,8108=>1054,8109=>1088,8110=>1023,8111=>1060,8112=>770,8113=>770,8114=>770,8115=>770,8116=>770,8118=>770,8119=>770,8120=>776,8121=>776,8122=>811,8123=>776,8124=>776,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>727,8131=>727,8132=>727,8134=>727,8135=>727,8136=>1000,8137=>947,8138=>1191,8139=>1118,8140=>945,8141=>500,8142=>500,8143=>500,8144=>484,8145=>484,8146=>484,8147=>484,8150=>484,8151=>484,8152=>468,8153=>468,8154=>714,8155=>662,8157=>500,8158=>500,8159=>500,8160=>694,8161=>694,8162=>694,8163=>694,8164=>665,8165=>665,8166=>694,8167=>694,8168=>714,8169=>714,8170=>1019,8171=>953,8172=>910,8173=>500,8174=>500,8175=>500,8178=>952,8179=>952,8180=>952,8182=>952,8183=>952,8184=>1069,8185=>887,8186=>1101,8187=>911,8188=>890,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>696,8200=>348,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>415,8209=>415,8210=>696,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>348,8217=>348,8218=>348,8219=>348,8220=>575,8221=>575,8222=>575,8223=>575,8224=>523,8225=>523,8226=>639,8227=>639,8228=>348,8229=>674,8230=>1000,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1385,8241=>1820,8242=>264,8243=>447,8244=>630,8245=>264,8246=>447,8247=>630,8248=>733,8249=>400,8250=>400,8252=>629,8253=>586,8254=>500,8258=>1023,8260=>167,8261=>473,8262=>473,8263=>1082,8264=>856,8265=>856,8267=>636,8268=>500,8269=>500,8270=>523,8271=>369,8273=>523,8274=>556,8275=>1000,8279=>813,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>438,8305=>239,8308=>438,8309=>438,8310=>438,8311=>438,8312=>438,8313=>438,8314=>528,8315=>528,8316=>528,8317=>298,8318=>298,8319=>519,8320=>438,8321=>438,8322=>438,8323=>438,8324=>438,8325=>438,8326=>438,8327=>438,8328=>438,8329=>438,8330=>528,8331=>528,8332=>528,8333=>298,8334=>298,8336=>466,8337=>444,8338=>467,8339=>475,8340=>444,8341=>521,8342=>523,8343=>292,8344=>729,8345=>519,8346=>499,8347=>395,8348=>371,8358=>696,8364=>696,8367=>1155,8369=>790,8372=>876,8373=>696,8376=>744,8377=>696,8451=>1198,8457=>1112,8462=>727,8463=>727,8470=>1087,8482=>1000,8486=>890,8487=>890,8490=>869,8491=>776,8498=>710,8513=>775,8514=>557,8515=>637,8516=>760,8523=>903,8526=>592,8528=>1035,8529=>1035,8530=>1473,8531=>1035,8532=>1035,8533=>1035,8534=>1035,8535=>1035,8536=>1035,8537=>1035,8538=>1035,8539=>1035,8540=>1035,8541=>1035,8542=>1035,8543=>615,8544=>468,8545=>736,8546=>1005,8547=>1093,8548=>776,8549=>1127,8550=>1396,8551=>1664,8552=>1069,8553=>776,8554=>1078,8555=>1347,8556=>703,8557=>796,8558=>867,8559=>1107,8560=>380,8561=>760,8562=>1140,8563=>961,8564=>581,8565=>961,8566=>1341,8567=>1721,8568=>976,8569=>596,8570=>976,8571=>1356,8572=>380,8573=>609,8574=>699,8575=>1058,8576=>1255,8577=>867,8578=>1268,8579=>796,8580=>609,8581=>796,8585=>1035,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>850,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>641,8706=>534,8707=>620,8708=>620,8710=>753,8711=>753,8712=>740,8713=>740,8715=>740,8716=>740,8719=>842,8720=>842,8721=>753,8722=>838,8723=>838,8724=>838,8725=>365,8727=>691,8728=>519,8729=>519,8730=>657,8731=>657,8732=>657,8733=>672,8734=>833,8735=>838,8736=>838,8739=>324,8740=>607,8741=>529,8742=>773,8743=>812,8744=>812,8745=>838,8746=>838,8747=>579,8748=>1000,8749=>1391,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8770=>838,8771=>838,8776=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1082,8789=>1082,8800=>838,8801=>838,8804=>838,8805=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8844=>838,8845=>838,8846=>838,8847=>838,8848=>838,8849=>838,8850=>838,8851=>838,8852=>838,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>884,8867=>884,8868=>960,8869=>960,8870=>616,8871=>616,8872=>884,8873=>884,8874=>884,8875=>1080,8876=>884,8877=>884,8878=>884,8879=>1080,8901=>398,8962=>834,8968=>473,8969=>473,8970=>473,8971=>473,8976=>838,8977=>539,8984=>928,8985=>838,8992=>579,8993=>579,8997=>1000,9000=>1443,9085=>1008,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>579,9167=>945,9251=>834,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>791,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>873,9697=>873,9698=>769,9699=>769,9700=>769,9701=>769,9702=>590,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9784=>896,9785=>896,9786=>896,9787=>896,9788=>896,9791=>614,9792=>731,9793=>731,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,10145=>838,10181=>457,10182=>457,10208=>494,10216=>457,10217=>457,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1033,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>781,10241=>781,10242=>781,10243=>781,10244=>781,10245=>781,10246=>781,10247=>781,10248=>781,10249=>781,10250=>781,10251=>781,10252=>781,10253=>781,10254=>781,10255=>781,10256=>781,10257=>781,10258=>781,10259=>781,10260=>781,10261=>781,10262=>781,10263=>781,10264=>781,10265=>781,10266=>781,10267=>781,10268=>781,10269=>781,10270=>781,10271=>781,10272=>781,10273=>781,10274=>781,10275=>781,10276=>781,10277=>781,10278=>781,10279=>781,10280=>781,10281=>781,10282=>781,10283=>781,10284=>781,10285=>781,10286=>781,10287=>781,10288=>781,10289=>781,10290=>781,10291=>781,10292=>781,10293=>781,10294=>781,10295=>781,10296=>781,10297=>781,10298=>781,10299=>781,10300=>781,10301=>781,10302=>781,10303=>781,10304=>781,10305=>781,10306=>781,10307=>781,10308=>781,10309=>781,10310=>781,10311=>781,10312=>781,10313=>781,10314=>781,10315=>781,10316=>781,10317=>781,10318=>781,10319=>781,10320=>781,10321=>781,10322=>781,10323=>781,10324=>781,10325=>781,10326=>781,10327=>781,10328=>781,10329=>781,10330=>781,10331=>781,10332=>781,10333=>781,10334=>781,10335=>781,10336=>781,10337=>781,10338=>781,10339=>781,10340=>781,10341=>781,10342=>781,10343=>781,10344=>781,10345=>781,10346=>781,10347=>781,10348=>781,10349=>781,10350=>781,10351=>781,10352=>781,10353=>781,10354=>781,10355=>781,10356=>781,10357=>781,10358=>781,10359=>781,10360=>781,10361=>781,10362=>781,10363=>781,10364=>781,10365=>781,10366=>781,10367=>781,10368=>781,10369=>781,10370=>781,10371=>781,10372=>781,10373=>781,10374=>781,10375=>781,10376=>781,10377=>781,10378=>781,10379=>781,10380=>781,10381=>781,10382=>781,10383=>781,10384=>781,10385=>781,10386=>781,10387=>781,10388=>781,10389=>781,10390=>781,10391=>781,10392=>781,10393=>781,10394=>781,10395=>781,10396=>781,10397=>781,10398=>781,10399=>781,10400=>781,10401=>781,10402=>781,10403=>781,10404=>781,10405=>781,10406=>781,10407=>781,10408=>781,10409=>781,10410=>781,10411=>781,10412=>781,10413=>781,10414=>781,10415=>781,10416=>781,10417=>781,10418=>781,10419=>781,10420=>781,10421=>781,10422=>781,10423=>781,10424=>781,10425=>781,10426=>781,10427=>781,10428=>781,10429=>781,10430=>781,10431=>781,10432=>781,10433=>781,10434=>781,10435=>781,10436=>781,10437=>781,10438=>781,10439=>781,10440=>781,10441=>781,10442=>781,10443=>781,10444=>781,10445=>781,10446=>781,10447=>781,10448=>781,10449=>781,10450=>781,10451=>781,10452=>781,10453=>781,10454=>781,10455=>781,10456=>781,10457=>781,10458=>781,10459=>781,10460=>781,10461=>781,10462=>781,10463=>781,10464=>781,10465=>781,10466=>781,10467=>781,10468=>781,10469=>781,10470=>781,10471=>781,10472=>781,10473=>781,10474=>781,10475=>781,10476=>781,10477=>781,10478=>781,10479=>781,10480=>781,10481=>781,10482=>781,10483=>781,10484=>781,10485=>781,10486=>781,10487=>781,10488=>781,10489=>781,10490=>781,10491=>781,10492=>781,10493=>781,10494=>781,10495=>781,10496=>838,10497=>838,10498=>838,10499=>838,10500=>838,10501=>838,10502=>838,10503=>838,10504=>838,10505=>838,10506=>838,10507=>838,10508=>838,10509=>838,10510=>838,10511=>838,10512=>838,10513=>838,10514=>838,10515=>838,10516=>838,10517=>838,10518=>838,10519=>838,10520=>838,10521=>838,10522=>838,10523=>838,10524=>838,10525=>838,10526=>838,10527=>838,10528=>838,10529=>838,10530=>838,10531=>838,10532=>838,10533=>838,10534=>838,10535=>838,10536=>838,10537=>838,10538=>838,10539=>838,10540=>838,10541=>838,10542=>838,10543=>838,10544=>838,10545=>838,10546=>838,10547=>838,10548=>838,10549=>838,10550=>838,10551=>838,10552=>838,10553=>838,10554=>838,10555=>838,10556=>838,10557=>838,10558=>838,10559=>838,10560=>838,10561=>838,10562=>838,10563=>838,10564=>838,10565=>838,10566=>838,10567=>838,10568=>838,10569=>838,10570=>838,10571=>838,10572=>838,10573=>838,10574=>838,10575=>838,10576=>838,10577=>838,10578=>838,10579=>838,10580=>838,10581=>838,10582=>838,10583=>838,10584=>838,10585=>838,10586=>838,10587=>838,10588=>838,10589=>838,10590=>838,10591=>838,10592=>838,10593=>838,10594=>838,10595=>838,10596=>838,10597=>838,10598=>838,10599=>838,10600=>838,10601=>838,10602=>838,10603=>838,10604=>838,10605=>838,10606=>838,10607=>838,10608=>838,10609=>838,10610=>838,10611=>838,10612=>838,10613=>838,10614=>838,10615=>1032,10616=>838,10617=>838,10618=>960,10619=>838,10620=>838,10621=>838,10622=>838,10623=>838,10731=>494,10764=>1782,10765=>610,10766=>610,10799=>838,10858=>838,10859=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>838,11023=>838,11024=>838,11025=>838,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11360=>703,11361=>380,11363=>752,11364=>831,11367=>945,11368=>727,11369=>869,11370=>693,11371=>730,11372=>568,11373=>848,11374=>1107,11375=>776,11376=>848,11377=>709,11378=>1221,11379=>984,11381=>779,11382=>601,11383=>905,11385=>571,11386=>667,11387=>617,11388=>313,11389=>489,11390=>722,11391=>730,11520=>773,11521=>635,11522=>804,11523=>658,11524=>788,11525=>962,11526=>756,11527=>960,11528=>617,11529=>646,11530=>962,11531=>631,11532=>646,11533=>962,11534=>846,11535=>866,11536=>961,11537=>645,11538=>645,11539=>959,11540=>945,11541=>863,11542=>644,11543=>646,11544=>645,11545=>649,11546=>688,11547=>936,11548=>982,11549=>681,11550=>676,11551=>852,11552=>1113,11553=>632,11554=>645,11555=>646,11556=>749,11557=>914,11800=>586,11807=>838,11810=>473,11811=>473,11812=>473,11813=>473,11822=>586,42564=>722,42565=>563,42566=>468,42567=>380,42576=>1333,42577=>1092,42580=>1287,42581=>1025,42582=>1287,42583=>1039,42760=>500,42761=>500,42762=>500,42763=>500,42764=>500,42765=>500,42766=>500,42767=>500,42768=>500,42769=>500,42770=>500,42771=>500,42772=>500,42773=>500,42774=>500,42779=>384,42780=>384,42781=>276,42782=>276,42783=>276,42790=>945,42791=>712,42792=>1003,42793=>909,42794=>696,42795=>609,42796=>634,42797=>598,42798=>741,42799=>706,42800=>592,42801=>563,42802=>1301,42803=>986,42804=>1261,42805=>1004,42806=>1168,42807=>1008,42808=>1016,42809=>813,42810=>1016,42811=>813,42812=>994,42813=>847,42814=>796,42815=>609,42816=>910,42817=>722,42822=>916,42823=>581,42826=>1010,42827=>770,42830=>1448,42831=>1060,42856=>787,42857=>716,42875=>694,42876=>527,42880=>703,42881=>380,42882=>872,42883=>727,42884=>694,42885=>527,42886=>796,42887=>609,42891=>439,42892=>306,42893=>913,42896=>914,42897=>727,42922=>945,43002=>1069,43003=>710,43004=>752,43005=>1107,43006=>468,43007=>1286,62464=>705,62465=>716,62466=>765,62467=>999,62468=>716,62469=>710,62470=>776,62471=>1038,62472=>716,62473=>716,62474=>1309,62475=>734,62476=>733,62477=>1004,62478=>716,62479=>733,62480=>1050,62481=>797,62482=>850,62483=>799,62484=>996,62485=>732,62486=>987,62487=>731,62488=>739,62489=>733,62490=>780,62491=>733,62492=>739,62493=>717,62494=>780,62495=>936,62496=>716,62497=>826,62498=>717,62499=>716,62500=>716,62501=>773,62502=>1013,62504=>904,63173=>667,63185=>500,63188=>500,64256=>821,64257=>727,64258=>727,64259=>1120,64260=>1117,64261=>871,64262=>971,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1113,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.z new file mode 100644 index 0000000..0250fcd Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.ctg.z new file mode 100644 index 0000000..c1b7143 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.php new file mode 100644 index 0000000..510059e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-906 -389 1754 1145]','ItalicAngle'=>-11,'Ascent'=>939,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>60,'StemH'=>26,'AvgWidth'=>566,'MaxWidth'=>1813,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(73,-14,383,729),34=>array(95,458,426,729),35=>array(68,0,770,718),36=>array(41,-146,632,761),37=>array(59,-14,891,742),38=>array(7,-14,892,742),39=>array(95,458,211,729),40=>array(94,-156,510,760),41=>array(-39,-156,378,760),42=>array(22,278,501,742),43=>array(106,1,732,627),44=>array(-5,-165,282,156),45=>array(41,202,374,334),46=>array(81,-14,268,172),47=>array(-80,-93,445,729),48=>array(46,-14,649,742),49=>array(65,0,536,742),50=>array(-5,0,635,742),51=>array(4,-14,641,742),52=>array(6,0,632,742),53=>array(18,-14,636,729),54=>array(58,-14,672,742),55=>array(104,0,684,729),56=>array(19,-14,655,742),57=>array(24,-14,638,742),58=>array(61,-14,308,490),59=>array(-24,-161,322,490),60=>array(106,32,732,595),61=>array(106,147,732,480),62=>array(106,32,732,595),63=>array(103,-14,574,742),64=>array(64,-174,942,703),65=>array(-79,0,728,729),66=>array(-24,0,782,729),67=>array(42,-14,787,742),68=>array(-24,0,826,729),69=>array(-24,0,773,729),70=>array(-24,0,768,729),71=>array(42,-14,812,742),72=>array(-24,0,971,729),73=>array(-24,0,493,729),74=>array(-158,-208,526,729),75=>array(-24,0,902,729),76=>array(-24,0,646,729),77=>array(-29,0,1131,729),78=>array(-27,0,945,729),79=>array(42,-14,828,742),80=>array(-24,0,757,729),81=>array(49,-196,856,742),82=>array(-24,0,778,729),83=>array(13,-14,682,742),84=>array(46,0,805,729),85=>array(95,-14,922,729),86=>array(53,0,861,729),87=>array(50,0,1206,729),88=>array(-53,0,808,729),89=>array(50,0,794,729),90=>array(-34,0,760,729),91=>array(38,-132,489,760),92=>array(80,-93,286,729),93=>array(-16,-132,435,760),94=>array(101,457,737,729),95=>array(0,-236,500,-143),96=>array(128,616,354,800),97=>array(34,-14,577,533),98=>array(24,-14,646,760),99=>array(34,-14,592,533),100=>array(10,-14,678,760),101=>array(33,-14,593,533),102=>array(-59,-190,573,760),103=>array(22,-222,667,533),104=>array(34,0,642,760),105=>array(34,0,337,760),106=>array(-166,-222,354,760),107=>array(34,0,648,760),108=>array(34,0,355,760),109=>array(56,0,995,533),110=>array(56,0,664,533),111=>array(34,-14,634,533),112=>array(25,-208,687,533),113=>array(52,-208,665,533),114=>array(56,0,587,533),115=>array(-0,-14,542,533),116=>array(48,-14,453,680),117=>array(63,-14,671,519),118=>array(21,0,589,521),119=>array(30,0,890,519),120=>array(-19,0,605,519),121=>array(-20,-222,638,519),122=>array(-16,-41,585,560),123=>array(78,-163,643,760),124=>array(129,-236,234,764),125=>array(1,-163,565,760),126=>array(106,221,732,406),161=>array(56,0,366,742),162=>array(78,-146,631,662),163=>array(-0,0,678,742),164=>array(37,30,601,596),165=>array(28,0,736,729),166=>array(129,-171,234,699),167=>array(-1,-95,515,742),168=>array(164,645,526,788),169=>array(138,0,862,725),170=>array(6,246,438,745),171=>array(69,64,576,522),172=>array(106,140,732,441),173=>array(41,202,374,334),174=>array(138,0,862,725),175=>array(156,664,481,756),176=>array(87,424,412,749),177=>array(106,0,732,627),178=>array(2,334,397,742),179=>array(7,326,401,742),180=>array(227,616,525,800),181=>array(31,-208,695,519),182=>array(112,-96,656,729),183=>array(81,255,267,440),184=>array(112,-196,347,0),185=>array(39,334,339,742),186=>array(7,246,481,742),187=>array(49,64,556,522),188=>array(39,-14,935,742),189=>array(39,-14,938,742),190=>array(7,-14,935,742),191=>array(12,-14,483,742),192=>array(-79,0,728,927),193=>array(-79,0,728,927),194=>array(-79,0,728,927),195=>array(-79,0,728,929),196=>array(-79,0,728,939),197=>array(-98,0,708,928),198=>array(-102,0,1044,729),199=>array(42,-196,787,742),200=>array(-24,0,773,927),201=>array(-24,0,773,927),202=>array(-24,0,773,927),203=>array(-24,0,773,939),204=>array(-24,0,493,927),205=>array(-24,0,495,927),206=>array(-24,0,498,927),207=>array(-24,0,502,939),208=>array(-18,0,832,729),209=>array(-27,0,945,929),210=>array(42,-14,828,927),211=>array(42,-14,828,927),212=>array(42,-14,828,927),213=>array(42,-14,828,929),214=>array(42,-14,828,939),215=>array(129,23,709,604),216=>array(-37,-38,907,766),217=>array(95,-14,922,927),218=>array(95,-14,922,927),219=>array(95,-14,922,927),220=>array(95,-14,922,939),221=>array(50,0,794,927),222=>array(-24,0,729,729),223=>array(-76,-190,683,760),224=>array(34,-14,577,800),225=>array(34,-14,577,800),226=>array(34,-14,577,800),227=>array(34,-14,577,792),228=>array(34,-14,577,788),229=>array(34,-14,577,888),230=>array(27,-14,889,533),231=>array(34,-196,592,533),232=>array(33,-14,593,800),233=>array(33,-14,593,800),234=>array(33,-14,593,800),235=>array(33,-14,594,788),236=>array(57,0,332,800),237=>array(57,0,465,800),238=>array(45,0,414,800),239=>array(57,0,466,788),240=>array(16,-14,633,764),241=>array(56,0,664,792),242=>array(34,-14,634,800),243=>array(34,-14,634,800),244=>array(34,-14,634,800),245=>array(34,-14,634,792),246=>array(34,-14,634,788),247=>array(106,60,732,567),248=>array(-27,-50,694,567),249=>array(63,-14,671,800),250=>array(63,-14,671,800),251=>array(63,-14,671,800),252=>array(63,-14,671,788),253=>array(-20,-222,638,800),254=>array(3,-208,665,760),255=>array(-20,-222,638,788),256=>array(-79,0,728,914),257=>array(34,-14,577,763),258=>array(-79,0,728,936),259=>array(34,-14,577,776),260=>array(-79,-196,728,729),261=>array(34,-196,577,533),262=>array(42,-14,787,927),263=>array(34,-14,600,800),264=>array(42,-14,787,927),265=>array(34,-14,592,800),266=>array(42,-14,787,939),267=>array(34,-14,592,788),268=>array(42,-14,787,927),269=>array(34,-14,594,800),270=>array(-24,0,826,927),271=>array(10,-14,928,760),272=>array(-18,0,832,729),273=>array(10,-14,741,760),274=>array(-24,0,773,914),275=>array(33,-14,593,763),276=>array(-24,0,773,927),277=>array(33,-14,593,776),278=>array(-24,0,773,939),279=>array(33,-14,593,788),280=>array(-24,-196,773,729),281=>array(33,-196,593,533),282=>array(-24,0,773,930),283=>array(33,-14,594,800),284=>array(42,-14,812,927),285=>array(22,-222,667,800),286=>array(42,-14,812,927),287=>array(22,-222,667,776),288=>array(42,-14,812,939),289=>array(22,-222,667,788),290=>array(42,-240,812,742),291=>array(22,-222,667,753),292=>array(-24,0,971,927),293=>array(34,0,642,927),294=>array(-24,0,971,729),295=>array(34,0,642,760),296=>array(-24,0,521,929),297=>array(57,0,453,792),298=>array(-24,0,496,914),299=>array(57,0,390,763),300=>array(-24,0,516,927),301=>array(57,0,444,776),302=>array(-5,-196,512,729),303=>array(53,-196,356,760),304=>array(-24,0,493,939),305=>array(57,0,332,519),306=>array(-24,-208,995,729),307=>array(34,-222,742,760),308=>array(-158,-208,526,927),309=>array(-143,-222,379,800),310=>array(-24,-226,902,729),311=>array(34,-226,648,760),312=>array(57,0,671,518),313=>array(-24,0,646,928),314=>array(34,0,479,928),315=>array(-24,-226,646,729),316=>array(34,-226,355,760),317=>array(-24,0,686,729),318=>array(34,0,590,760),319=>array(-24,0,710,729),320=>array(34,0,532,760),321=>array(-18,0,653,729),322=>array(-7,0,411,760),323=>array(-27,0,945,928),324=>array(56,0,664,776),325=>array(-27,-226,945,729),326=>array(56,-226,664,533),327=>array(-27,0,945,927),328=>array(56,0,664,800),329=>array(75,0,902,742),330=>array(34,-208,858,743),331=>array(78,-222,671,533),332=>array(42,-14,828,914),333=>array(34,-14,634,763),334=>array(42,-14,828,927),335=>array(34,-14,634,776),336=>array(42,-14,828,927),337=>array(34,-14,652,800),338=>array(42,0,1191,729),339=>array(34,-14,983,533),340=>array(-24,0,778,928),341=>array(56,0,595,776),342=>array(-24,-226,778,729),343=>array(56,-226,587,533),344=>array(-24,0,778,927),345=>array(56,0,594,800),346=>array(13,-14,693,928),347=>array(-0,-14,595,776),348=>array(13,-14,682,927),349=>array(-0,-14,542,800),350=>array(13,-196,682,742),351=>array(-0,-196,542,533),352=>array(13,-14,682,927),353=>array(-0,-14,552,800),354=>array(46,-196,805,729),355=>array(48,-196,453,680),356=>array(46,0,805,927),357=>array(48,-14,583,780),358=>array(47,0,805,729),359=>array(11,-14,452,680),360=>array(95,-14,922,929),361=>array(63,-14,671,792),362=>array(95,-14,922,914),363=>array(63,-14,671,763),364=>array(95,-14,922,927),365=>array(63,-14,671,776),366=>array(95,-14,922,1057),367=>array(63,-14,671,854),368=>array(95,-14,922,927),369=>array(63,-14,671,800),370=>array(95,-204,922,729),371=>array(63,-196,671,519),372=>array(50,0,1206,931),373=>array(30,0,890,800),374=>array(50,0,794,931),375=>array(-20,-222,638,800),376=>array(50,0,794,939),377=>array(-34,0,760,928),378=>array(-16,-41,595,776),379=>array(-34,0,760,952),380=>array(-16,-41,585,759),381=>array(-34,0,760,927),382=>array(-16,-41,585,800),383=>array(-59,-190,573,760),384=>array(24,-14,646,760),385=>array(-96,0,782,729),386=>array(-24,0,826,729),387=>array(-50,-14,638,760),388=>array(-24,0,770,729),389=>array(-50,-14,637,760),390=>array(0,-14,746,742),391=>array(32,-14,986,840),392=>array(24,-14,795,709),393=>array(-18,0,832,729),394=>array(-96,0,826,729),395=>array(17,0,871,729),396=>array(1,-14,734,760),397=>array(39,-246,650,533),398=>array(-24,0,782,729),399=>array(42,-14,828,742),400=>array(81,-14,774,742),401=>array(-171,-208,788,729),402=>array(-184,-190,573,760),403=>array(32,-14,1011,840),404=>array(83,-92,829,729),405=>array(34,-1,979,760),406=>array(101,0,493,729),407=>array(-24,0,493,729),408=>array(-24,0,972,729),409=>array(34,0,647,760),410=>array(6,0,354,760),411=>array(-37,0,600,739),412=>array(75,-14,1107,729),413=>array(-174,-208,965,729),414=>array(76,-208,663,533),415=>array(42,-14,828,742),416=>array(41,-14,937,760),417=>array(34,-14,755,548),418=>array(57,-171,1102,742),419=>array(60,-208,878,533),420=>array(-96,0,757,729),421=>array(8,-208,661,709),422=>array(-12,-142,764,729),423=>array(36,-14,691,742),424=>array(23,-14,543,533),425=>array(-31,0,711,729),426=>array(-53,-223,460,760),427=>array(63,-222,517,680),428=>array(42,0,805,729),429=>array(41,-14,525,760),430=>array(67,-208,825,729),431=>array(98,-14,1127,816),432=>array(65,-14,815,548),433=>array(40,-14,913,729),434=>array(133,0,841,729),435=>array(50,0,885,730),436=>array(-21,-222,779,533),437=>array(-34,0,760,729),438=>array(-15,-41,584,560),439=>array(-30,-14,606,729),440=>array(3,-14,647,729),441=>array(5,-203,651,519),442=>array(-2,-220,606,519),443=>array(-5,0,645,742),444=>array(63,-14,769,729),445=>array(-28,-203,643,519),446=>array(-38,-15,379,680),447=>array(22,-208,721,560),448=>array(24,0,271,729),449=>array(24,0,468,729),450=>array(-17,0,476,729),451=>array(24,0,271,729),452=>array(-24,0,1627,927),453=>array(-24,-41,1452,800),454=>array(10,-41,1284,800),455=>array(-24,-208,1229,729),456=>array(-24,-222,1057,760),457=>array(33,-222,734,760),458=>array(-27,-208,1440,729),459=>array(-27,-222,1268,760),460=>array(55,-222,1081,760),461=>array(-79,0,728,927),462=>array(34,-14,577,800),463=>array(-24,0,526,927),464=>array(57,0,451,800),465=>array(42,-14,828,927),466=>array(34,-14,634,800),467=>array(95,-14,922,927),468=>array(63,-14,671,800),469=>array(95,-14,922,1036),470=>array(63,-14,671,899),471=>array(95,-14,922,1057),472=>array(63,-14,671,920),473=>array(95,-14,922,1058),474=>array(63,-14,671,921),475=>array(95,-14,922,1057),476=>array(63,-14,671,920),477=>array(45,-14,591,533),478=>array(-79,0,728,1036),479=>array(34,-14,577,899),480=>array(-79,0,728,1036),481=>array(34,-14,577,899),482=>array(-102,0,1044,914),483=>array(27,-14,889,763),484=>array(42,-14,842,742),485=>array(22,-222,702,533),486=>array(21,-17,791,927),487=>array(-4,-222,640,800),488=>array(-42,0,885,927),489=>array(17,0,631,927),490=>array(42,-204,828,742),491=>array(34,-204,634,533),492=>array(42,-204,828,914),493=>array(34,-204,634,763),494=>array(-30,-14,606,927),495=>array(-28,-203,604,800),496=>array(-143,-222,472,800),497=>array(-24,0,1627,729),498=>array(-24,-41,1452,729),499=>array(10,-41,1284,760),500=>array(23,-14,793,928),501=>array(-4,-222,640,776),502=>array(-23,-14,1219,729),503=>array(-45,-208,834,742),504=>array(-44,0,928,927),505=>array(-44,0,638,800),506=>array(-98,0,708,928),507=>array(34,-14,597,928),508=>array(-102,0,1044,928),509=>array(27,-14,889,800),510=>array(-36,-38,907,928),511=>array(-27,-50,694,800),512=>array(-79,0,728,928),513=>array(34,-14,577,800),514=>array(-79,0,728,958),515=>array(34,-14,577,776),516=>array(-24,0,773,928),517=>array(33,-14,593,800),518=>array(-24,0,773,958),519=>array(33,-14,593,776),520=>array(-24,0,493,928),521=>array(16,0,366,801),522=>array(-24,0,501,958),523=>array(33,0,389,767),524=>array(42,-14,828,928),525=>array(33,-14,634,800),526=>array(42,-14,828,958),527=>array(33,-14,634,776),528=>array(-24,0,778,928),529=>array(55,0,587,800),530=>array(-24,0,778,958),531=>array(55,0,587,776),532=>array(95,-14,922,928),533=>array(63,-14,671,800),534=>array(95,-14,922,958),535=>array(63,-14,671,776),536=>array(13,-230,682,742),537=>array(-0,-230,542,533),538=>array(46,-230,805,729),539=>array(48,-230,453,680),540=>array(-26,-210,655,742),541=>array(-23,-211,571,531),542=>array(-24,0,971,927),543=>array(33,0,642,927),544=>array(34,-208,858,743),545=>array(22,-48,723,760),546=>array(4,-14,616,742),547=>array(13,-14,563,760),548=>array(-8,-263,786,729),549=>array(10,-263,610,519),550=>array(-79,0,728,939),551=>array(34,-14,577,788),552=>array(-24,-196,773,729),553=>array(33,-196,593,533),554=>array(42,-14,828,1036),555=>array(34,-14,634,899),556=>array(42,-14,828,1036),557=>array(34,-14,634,894),558=>array(42,-14,828,939),559=>array(34,-14,634,788),560=>array(42,-14,828,1036),561=>array(34,-14,634,899),562=>array(50,0,794,914),563=>array(-20,-222,638,763),564=>array(83,-113,509,760),565=>array(67,-113,880,533),566=>array(58,-113,508,680),567=>array(-143,-222,352,519),568=>array(19,-14,969,760),569=>array(59,-208,1009,533),570=>array(-84,-38,860,766),571=>array(-74,-38,870,766),572=>array(-56,-50,665,567),573=>array(-24,0,646,729),574=>array(-99,-38,845,766),575=>array(19,-217,562,533),576=>array(6,-222,606,519),577=>array(-1,0,665,729),578=>array(74,0,533,533),579=>array(-24,0,782,729),580=>array(27,-14,922,729),581=>array(-79,0,728,729),582=>array(-24,-57,773,785),583=>array(33,-56,593,581),584=>array(-158,-208,526,729),585=>array(-143,-222,383,760),586=>array(61,-208,897,742),587=>array(53,-222,733,533),588=>array(-24,0,777,729),589=>array(22,0,587,533),590=>array(21,0,794,729),591=>array(-19,-222,658,519),592=>array(71,-14,613,533),593=>array(41,-14,747,532),594=>array(23,-14,729,531),595=>array(25,-14,637,760),596=>array(13,-14,564,533),597=>array(46,-113,600,527),598=>array(39,-222,712,760),599=>array(19,-14,855,760),600=>array(34,-14,591,533),601=>array(45,-14,591,533),602=>array(40,-14,921,533),603=>array(25,-12,587,526),604=>array(-6,-12,547,526),605=>array(-6,-12,921,526),606=>array(41,-18,700,533),607=>array(-143,-222,383,519),608=>array(0,-222,875,760),609=>array(24,-222,748,519),610=>array(62,-4,595,520),611=>array(50,-219,599,519),612=>array(71,-37,650,520),613=>array(82,-208,690,519),614=>array(34,0,642,760),615=>array(56,-222,642,760),616=>array(6,0,338,760),617=>array(75,0,332,519),618=>array(-17,0,406,519),619=>array(24,0,403,760),620=>array(37,0,487,760),621=>array(44,-222,392,760),622=>array(54,-203,809,760),623=>array(63,-14,1002,519),624=>array(82,-208,1021,519),625=>array(78,-222,995,533),626=>array(-144,-222,686,533),627=>array(78,-222,762,533),628=>array(12,0,707,519),629=>array(41,-14,627,533),630=>array(63,0,1047,521),631=>array(29,-14,696,530),632=>array(-5,-213,668,760),633=>array(-21,-14,510,519),634=>array(-45,-14,533,760),635=>array(-1,-222,593,519),636=>array(36,-207,607,533),637=>array(65,-222,609,533),638=>array(56,0,510,533),639=>array(61,0,409,533),640=>array(12,0,706,519),641=>array(12,0,795,519),642=>array(5,-222,563,533),643=>array(-167,-223,477,760),644=>array(-166,-222,576,760),645=>array(88,-222,456,527),646=>array(-139,-223,477,760),647=>array(39,-161,443,533),648=>array(42,-222,473,680),649=>array(30,-14,696,519),650=>array(38,-14,691,519),651=>array(73,-1,653,519),652=>array(21,0,588,520),653=>array(30,0,890,519),654=>array(1,0,658,741),655=>array(101,0,721,520),656=>array(6,-222,669,519),657=>array(-7,-89,594,519),658=>array(-28,-203,604,519),659=>array(63,-203,604,519),660=>array(52,0,513,761),661=>array(80,0,544,761),662=>array(57,0,521,761),663=>array(66,-223,565,761),664=>array(42,-14,828,742),665=>array(-16,0,644,519),666=>array(15,-18,675,533),667=>array(39,-4,805,760),668=>array(-17,0,749,519),669=>array(-119,-223,375,760),670=>array(101,-208,714,519),671=>array(12,0,575,519),672=>array(38,-208,874,760),673=>array(52,0,513,761),674=>array(80,0,544,761),675=>array(19,-41,1130,760),676=>array(38,-203,1130,760),677=>array(26,-89,1119,760),678=>array(47,0,901,680),679=>array(61,-223,861,760),680=>array(49,-20,914,680),681=>array(-56,-222,1017,760),682=>array(34,0,825,760),683=>array(34,-41,807,760),684=>array(33,0,683,625),685=>array(-5,120,451,625),686=>array(-16,-208,667,760),687=>array(-14,-222,730,760),688=>array(53,326,446,751),689=>array(50,329,444,754),690=>array(-8,202,313,752),691=>array(65,334,403,632),692=>array(16,321,354,620),693=>array(27,202,415,617),694=>array(16,326,516,617),695=>array(19,334,561,620),696=>array(-12,212,401,620),697=>array(54,557,242,800),698=>array(54,557,461,800),699=>array(41,456,305,742),700=>array(41,456,305,742),701=>array(96,456,275,742),702=>array(153,481,319,760),703=>array(159,481,326,760),704=>array(4,327,293,752),705=>array(22,327,311,752),706=>array(122,517,401,843),707=>array(99,517,378,843),708=>array(63,561,390,800),709=>array(110,561,437,800),710=>array(105,616,474,800),711=>array(151,616,520,800),712=>array(71,513,211,759),713=>array(156,664,481,756),714=>array(227,616,525,800),715=>array(128,616,354,800),716=>array(71,-90,211,156),717=>array(-10,-189,315,-97),720=>array(66,0,303,434),721=>array(122,303,273,434),722=>array(111,269,278,547),723=>array(118,269,284,547),726=>array(45,165,310,411),727=>array(45,242,309,334),728=>array(170,624,504,776),729=>array(254,645,398,788),730=>array(189,610,467,888),731=>array(152,-196,363,0),732=>array(134,638,513,792),733=>array(146,616,568,800),734=>array(-19,299,405,500),736=>array(31,204,377,617),737=>array(50,326,246,751),738=>array(20,327,365,633),739=>array(-12,334,381,620),740=>array(22,327,311,752),741=>array(146,0,471,693),742=>array(117,0,471,693),743=>array(87,0,471,693),744=>array(58,0,471,693),745=>array(29,0,471,693),748=>array(79,-281,405,-42),750=>array(54,456,523,742),751=>array(55,-241,423,-58),752=>array(32,-281,359,-42),755=>array(111,-240,389,38),759=>array(61,-193,439,-40),768=>array(-405,616,-179,800),769=>array(-307,616,-8,800),770=>array(-428,616,-60,800),771=>array(-400,638,-21,792),772=>array(-378,664,-53,756),773=>array(-500,663,0,755),774=>array(-364,624,-30,776),775=>array(-279,645,-136,788),776=>array(-370,645,-8,788),777=>array(-441,616,-217,866),778=>array(-345,610,-66,888),779=>array(-388,616,34,800),780=>array(-382,616,-14,800),781=>array(-418,616,-287,813),782=>array(-510,616,-195,813),783=>array(-421,616,-70,800),784=>array(-432,624,-98,903),785=>array(-366,624,-32,776),786=>array(-297,456,-94,617),787=>array(-282,606,-126,847),788=>array(-277,606,-123,847),789=>array(-103,616,103,800),790=>array(-414,-253,-188,-69),791=>array(-350,-251,-52,-67),792=>array(-336,-357,-134,-111),793=>array(-366,-357,-164,-111),794=>array(-194,684,70,930),795=>array(-126,338,88,548),796=>array(-319,-389,-153,-111),797=>array(-388,-280,-124,-111),798=>array(-375,-280,-111,-111),799=>array(-380,-357,-116,-111),800=>array(-383,-203,-118,-111),801=>array(-548,-222,-127,139),802=>array(-407,-222,-59,139),803=>array(-397,-213,-254,-70),804=>array(-434,-213,-72,-70),805=>array(-366,-240,-136,-11),806=>array(-354,-230,-150,-69),807=>array(-388,-196,-153,0),808=>array(-348,-196,-137,0),809=>array(-312,-266,-181,-69),810=>array(-422,-253,-78,-69),811=>array(-411,-221,-59,-69),812=>array(-416,-251,-48,-67),813=>array(-452,-253,-84,-69),814=>array(-402,-221,-68,-69),815=>array(-432,-221,-98,-69),816=>array(-442,-222,-63,-68),817=>array(-413,-161,-87,-69),818=>array(-500,-236,0,-143),819=>array(-500,-236,0,-9),820=>array(-762,210,-78,417),821=>array(-350,234,-17,293),822=>array(-700,234,-35,293),823=>array(-699,-50,22,567),824=>array(-906,-38,38,766),825=>array(-331,-378,-164,-100),826=>array(-422,-242,-79,-59),827=>array(-418,-350,-83,-69),828=>array(-441,-221,-88,-69),829=>array(-481,581,-221,820),830=>array(-312,598,-105,877),831=>array(-500,528,0,755),835=>array(-282,606,-126,847),856=>array(13,645,157,788),864=>array(-293,723,567,898),865=>array(-310,729,582,902),880=>array(-24,0,764,729),881=>array(58,0,551,519),882=>array(18,0,846,729),883=>array(34,0,781,519),884=>array(54,557,242,800),885=>array(34,-208,221,35),886=>array(66,0,900,729),887=>array(51,0,680,519),890=>array(204,-208,343,-60),891=>array(22,-14,571,533),892=>array(34,-14,592,533),893=>array(22,-14,571,533),894=>array(-24,-161,322,490),900=>array(227,616,525,800),901=>array(164,645,606,996),902=>array(-79,0,728,800),903=>array(81,255,267,440),904=>array(42,0,955,800),905=>array(42,0,1156,800),906=>array(42,0,678,800),908=>array(42,-14,844,800),910=>array(42,0,1032,800),911=>array(1,0,875,800),912=>array(74,16,545,996),913=>array(-79,0,728,729),914=>array(-24,0,782,729),915=>array(-24,0,768,729),916=>array(-42,0,670,729),917=>array(-24,0,773,729),918=>array(-34,0,760,729),919=>array(-24,0,971,729),920=>array(42,-14,828,742),921=>array(-24,0,493,729),922=>array(-24,0,902,729),923=>array(-79,0,728,729),924=>array(-29,0,1131,729),925=>array(-27,0,945,729),926=>array(-16,0,713,729),927=>array(42,-14,828,742),928=>array(-24,0,971,729),929=>array(-24,0,757,729),931=>array(-31,0,711,729),932=>array(46,0,805,729),933=>array(50,0,794,729),934=>array(42,0,828,729),935=>array(-53,0,808,729),936=>array(66,0,978,729),937=>array(-22,0,851,742),938=>array(-24,0,508,939),939=>array(50,0,794,939),940=>array(41,-14,747,800),941=>array(25,-12,606,800),942=>array(76,-208,663,800),943=>array(74,16,477,800),944=>array(73,-1,701,996),945=>array(41,-14,747,532),946=>array(-32,-208,632,769),947=>array(85,-209,667,519),948=>array(18,-14,629,765),949=>array(25,-12,587,526),950=>array(38,-208,636,760),951=>array(76,-208,663,533),952=>array(41,-17,627,771),953=>array(74,16,413,519),954=>array(-17,0,716,519),955=>array(-37,0,600,739),956=>array(31,-208,695,519),957=>array(57,0,671,519),958=>array(27,-208,636,760),959=>array(34,-14,634,533),960=>array(-17,0,749,519),961=>array(-9,-208,644,533),962=>array(60,-208,611,533),963=>array(42,-14,738,519),964=>array(58,16,674,519),965=>array(73,-1,658,519),966=>array(68,-208,879,519),967=>array(-59,-222,707,533),968=>array(108,-208,968,519),969=>array(42,-1,914,519),970=>array(74,16,470,788),971=>array(73,-1,658,788),972=>array(34,-14,634,800),973=>array(73,-1,658,800),974=>array(42,-1,914,800),975=>array(-0,-240,925,729),976=>array(41,-17,606,771),977=>array(50,-17,814,771),978=>array(89,0,774,729),979=>array(42,0,979,800),980=>array(89,0,774,939),981=>array(38,-208,896,760),982=>array(42,-1,974,519),983=>array(29,-222,667,521),984=>array(61,-207,847,742),985=>array(60,-207,646,533),986=>array(61,-208,806,742),987=>array(52,-208,627,616),988=>array(-24,0,768,729),989=>array(-181,-211,565,742),990=>array(17,0,574,729),991=>array(80,0,587,759),992=>array(8,-209,750,742),993=>array(25,-208,637,533),1008=>array(9,-5,646,521),1009=>array(22,-210,645,533),1010=>array(34,-14,592,533),1011=>array(-166,-222,354,760),1012=>array(42,-14,828,742),1013=>array(34,-14,593,533),1014=>array(22,-14,564,533),1015=>array(-24,0,729,729),1016=>array(3,-208,665,760),1017=>array(42,-14,787,742),1018=>array(-29,0,1131,729),1019=>array(0,-208,886,519),1020=>array(-20,-208,671,533),1021=>array(12,-14,754,742),1022=>array(42,-14,787,742),1023=>array(12,-14,754,742),1024=>array(-24,0,773,927),1025=>array(-24,0,773,939),1026=>array(10,-214,808,729),1027=>array(-24,0,748,927),1028=>array(42,-14,786,742),1029=>array(13,-14,682,742),1030=>array(-24,0,493,729),1031=>array(-24,0,544,939),1032=>array(-158,-208,526,729),1033=>array(-43,-14,1129,729),1034=>array(-24,0,1188,729),1035=>array(-11,0,850,729),1036=>array(-24,0,921,927),1037=>array(-24,0,971,927),1038=>array(39,-14,873,997),1039=>array(-9,-157,986,729),1040=>array(-62,0,746,729),1041=>array(-24,0,826,729),1042=>array(-24,0,782,729),1043=>array(-24,0,748,729),1044=>array(-39,-157,908,729),1045=>array(-24,0,773,729),1046=>array(-61,0,1324,729),1047=>array(1,-14,678,742),1048=>array(-24,0,971,729),1049=>array(-24,0,971,999),1050=>array(-24,0,921,729),1051=>array(-43,-14,912,729),1052=>array(-29,0,1131,729),1053=>array(-24,0,971,729),1054=>array(42,-14,828,742),1055=>array(-24,0,971,729),1056=>array(-24,0,757,729),1057=>array(42,-14,787,742),1058=>array(46,0,805,729),1059=>array(39,-14,873,729),1060=>array(38,0,912,729),1061=>array(-53,0,808,729),1062=>array(-9,-157,985,729),1063=>array(90,0,932,729),1064=>array(-29,0,1297,729),1065=>array(-14,-157,1312,729),1066=>array(42,0,884,729),1067=>array(-24,0,1227,729),1068=>array(-24,0,753,729),1069=>array(12,-14,754,742),1070=>array(-24,-14,1238,742),1071=>array(-48,0,908,729),1072=>array(34,-14,577,533),1073=>array(39,-14,695,786),1074=>array(33,-14,611,533),1075=>array(56,-14,553,534),1076=>array(34,-14,663,760),1077=>array(33,-14,593,533),1078=>array(10,-14,1325,533),1079=>array(24,-14,593,533),1080=>array(63,-14,671,519),1081=>array(63,-14,671,817),1082=>array(56,-14,682,533),1083=>array(10,-14,676,519),1084=>array(10,-14,895,519),1085=>array(56,0,673,519),1086=>array(34,-14,634,533),1087=>array(56,0,664,533),1088=>array(25,-208,687,533),1089=>array(34,-14,592,533),1090=>array(56,0,995,533),1091=>array(-20,-222,638,519),1092=>array(30,-208,866,760),1093=>array(-19,0,605,519),1094=>array(63,-217,748,519),1095=>array(63,0,659,519),1096=>array(63,-14,1002,519),1097=>array(63,-217,1079,519),1098=>array(18,-14,690,534),1099=>array(63,-14,961,519),1100=>array(63,-14,623,519),1101=>array(34,-14,612,533),1102=>array(56,-14,969,533),1103=>array(10,-14,740,519),1104=>array(33,-14,593,800),1105=>array(33,-14,594,788),1106=>array(30,-222,642,760),1107=>array(56,-14,579,800),1108=>array(34,-14,593,533),1109=>array(-0,-14,542,533),1110=>array(34,0,337,760),1111=>array(57,0,466,788),1112=>array(-166,-222,354,760),1113=>array(10,-14,978,519),1114=>array(56,-14,975,519),1115=>array(34,0,642,760),1116=>array(56,-14,682,800),1117=>array(63,-14,671,800),1118=>array(-20,-222,638,823),1119=>array(63,-220,671,519),1122=>array(31,0,809,729),1123=>array(56,-14,1013,534),1124=>array(-24,-14,1186,742),1125=>array(76,-14,948,533),1130=>array(10,0,1314,729),1131=>array(28,-14,1021,519),1132=>array(-24,0,1561,729),1133=>array(76,-14,1259,519),1136=>array(61,0,1169,729),1137=>array(48,-208,1141,760),1138=>array(42,-14,828,742),1139=>array(34,-14,619,533),1140=>array(68,0,974,742),1141=>array(50,0,785,533),1142=>array(68,0,974,927),1143=>array(50,0,785,800),1164=>array(29,0,807,729),1165=>array(49,-14,633,760),1168=>array(-24,0,786,872),1169=>array(58,0,633,668),1170=>array(-24,0,748,729),1171=>array(56,-14,553,534),1172=>array(-24,-214,768,729),1173=>array(-17,-222,624,519),1174=>array(-61,-157,1324,729),1175=>array(10,-217,1325,533),1176=>array(1,-196,678,742),1177=>array(24,-196,593,533),1178=>array(-24,-157,921,729),1179=>array(56,-217,682,533),1182=>array(-24,0,921,729),1183=>array(56,-14,682,760),1184=>array(42,0,1053,729),1185=>array(21,-14,765,533),1186=>array(-24,-157,971,729),1187=>array(56,-217,745,519),1188=>array(-24,0,1225,729),1189=>array(56,0,941,519),1190=>array(-24,-214,1230,729),1191=>array(-17,-222,945,519),1194=>array(42,-196,787,742),1195=>array(34,-196,592,533),1196=>array(46,-157,804,729),1197=>array(56,-217,1081,533),1198=>array(50,0,794,729),1199=>array(47,-208,628,519),1200=>array(50,0,793,729),1201=>array(47,-208,628,519),1202=>array(-53,-157,808,729),1203=>array(-18,-217,636,519),1204=>array(22,-157,1029,729),1205=>array(35,-217,777,519),1206=>array(90,-157,932,729),1207=>array(63,-217,731,519),1210=>array(-41,0,799,729),1211=>array(34,0,642,760),1216=>array(-24,0,493,729),1217=>array(-61,0,1324,927),1218=>array(10,-14,1325,776),1219=>array(-24,-214,902,729),1220=>array(-17,-222,716,519),1223=>array(-24,-214,971,729),1224=>array(-17,-222,749,519),1227=>array(161,-157,1003,729),1228=>array(73,-162,749,519),1231=>array(-40,0,429,760),1232=>array(-62,0,746,936),1233=>array(34,-14,577,776),1234=>array(-62,0,746,939),1235=>array(34,-14,577,788),1236=>array(-102,0,1044,729),1237=>array(27,-14,889,533),1238=>array(-24,0,773,927),1239=>array(33,-14,593,776),1240=>array(42,-14,828,742),1241=>array(45,-14,591,533),1242=>array(42,-14,828,939),1243=>array(45,-14,596,788),1244=>array(-61,0,1324,939),1245=>array(10,-14,1325,788),1246=>array(1,-14,678,939),1247=>array(24,-14,593,788),1248=>array(-30,-14,606,729),1249=>array(-28,-203,604,519),1250=>array(-24,0,971,914),1251=>array(63,-14,671,763),1252=>array(-24,0,971,939),1253=>array(63,-14,671,788),1254=>array(42,-14,828,939),1255=>array(34,-14,634,788),1256=>array(42,-14,828,742),1257=>array(41,-14,627,533),1258=>array(42,-14,828,939),1259=>array(41,-14,627,788),1260=>array(12,-14,754,939),1261=>array(34,-14,615,788),1262=>array(39,-14,873,914),1263=>array(-20,-222,638,763),1264=>array(39,-14,873,939),1265=>array(-20,-222,638,788),1266=>array(39,-14,873,927),1267=>array(-20,-222,638,800),1268=>array(90,0,932,939),1269=>array(63,0,659,788),1270=>array(-24,-157,748,729),1271=>array(56,-217,553,534),1272=>array(-24,0,1227,939),1273=>array(63,-14,961,788),1296=>array(81,-14,774,742),1297=>array(17,-14,629,533),1298=>array(-24,-208,931,729),1299=>array(10,-222,676,519),1300=>array(-43,-14,1281,729),1301=>array(10,-14,1014,519),1306=>array(49,-196,856,742),1307=>array(52,-208,665,533),1308=>array(50,0,1206,729),1309=>array(30,0,890,519),1329=>array(95,-14,951,729),1330=>array(-38,0,802,743),1331=>array(56,0,913,743),1332=>array(20,0,928,743),1333=>array(95,-14,854,729),1334=>array(25,-72,788,743),1335=>array(-29,-72,795,729),1336=>array(-31,-72,807,743),1337=>array(-37,-10,1181,743),1338=>array(16,-14,965,729),1339=>array(-22,0,775,729),1340=>array(-15,-72,683,729),1341=>array(-21,-14,1171,729),1342=>array(82,-13,923,743),1343=>array(79,0,803,729),1344=>array(-43,-66,695,729),1345=>array(28,-32,799,743),1346=>array(27,-72,882,743),1347=>array(-37,0,815,739),1348=>array(95,-14,1070,729),1349=>array(20,-14,787,742),1350=>array(31,-14,886,801),1351=>array(63,-14,805,729),1352=>array(-38,0,776,743),1353=>array(92,-84,787,743),1354=>array(20,0,939,743),1355=>array(30,-72,803,744),1356=>array(-38,0,983,743),1357=>array(95,-14,909,729),1358=>array(45,-72,884,729),1359=>array(20,-14,752,742),1360=>array(-38,0,800,743),1361=>array(17,-14,771,742),1362=>array(-37,0,805,729),1363=>array(39,0,919,729),1364=>array(-111,0,839,743),1365=>array(32,-14,837,742),1366=>array(10,-14,919,729),1369=>array(159,481,326,760),1370=>array(-4,408,282,729),1371=>array(-15,615,324,799),1372=>array(-24,618,418,893),1373=>array(30,615,298,799),1374=>array(-17,605,436,854),1375=>array(30,618,458,760),1377=>array(60,-14,999,519),1378=>array(-28,-208,679,533),1379=>array(69,-208,771,533),1380=>array(17,-208,795,533),1381=>array(56,-14,686,760),1382=>array(69,-208,762,533),1383=>array(-30,0,640,760),1384=>array(-28,-208,693,533),1385=>array(-28,-208,931,532),1386=>array(28,-14,811,760),1387=>array(-64,-208,657,760),1388=>array(-26,-208,417,519),1389=>array(-60,-208,1026,760),1390=>array(26,-14,693,789),1391=>array(76,-208,658,760),1392=>array(-26,0,655,760),1393=>array(14,-14,601,783),1394=>array(17,-208,755,533),1395=>array(35,-14,694,771),1396=>array(35,-14,787,771),1397=>array(-153,-208,341,519),1398=>array(44,-14,637,771),1399=>array(-75,-208,505,538),1400=>array(-3,0,678,533),1401=>array(-42,-208,440,540),1402=>array(79,-208,1017,519),1403=>array(1,-208,665,537),1404=>array(-3,0,686,533),1405=>array(60,-14,667,519),1406=>array(55,-208,709,760),1407=>array(58,-14,981,533),1408=>array(-38,-208,684,533),1409=>array(40,-222,764,533),1410=>array(-1,0,479,519),1411=>array(55,-208,978,760),1412=>array(-17,-208,707,533),1413=>array(46,-14,646,533),1414=>array(21,-208,918,760),1415=>array(56,-14,797,760),1417=>array(71,-14,266,434),1418=>array(34,203,364,365),4256=>array(9,0,749,848),4257=>array(131,0,831,847),4258=>array(59,-81,811,848),4259=>array(21,-0,875,847),4260=>array(63,-0,811,848),4261=>array(59,-0,981,848),4262=>array(116,-1,934,847),4263=>array(46,-1,1121,847),4264=>array(116,-0,634,847),4265=>array(97,-0,709,847),4266=>array(63,-0,970,847),4267=>array(11,-0,926,847),4268=>array(-36,-0,758,847),4269=>array(43,-35,1057,847),4270=>array(116,-0,960,847),4271=>array(116,-0,932,846),4272=>array(62,-0,1018,846),4273=>array(60,-0,755,846),4274=>array(9,-0,747,847),4275=>array(45,-58,941,846),4276=>array(61,-0,949,846),4277=>array(80,-0,990,846),4278=>array(-36,-0,734,846),4279=>array(131,-0,863,846),4280=>array(49,-0,852,847),4281=>array(-36,-0,708,846),4282=>array(-11,-1,849,848),4283=>array(15,-0,952,847),4284=>array(-36,-0,766,847),4285=>array(10,-0,796,847),4286=>array(9,-0,843,846),4287=>array(-36,-0,1078,846),4288=>array(63,-0,1083,846),4289=>array(-36,-0,740,846),4290=>array(41,-0,812,847),4291=>array(99,-1,832,846),4292=>array(62,-0,910,846),4293=>array(13,-0,1066,847),4304=>array(20,0,528,596),4305=>array(36,0,583,853),4306=>array(-48,-225,563,566),4307=>array(27,-220,848,556),4308=>array(-57,-225,579,556),4309=>array(-57,-225,580,556),4310=>array(74,0,710,855),4311=>array(35,0,874,556),4312=>array(35,0,571,556),4313=>array(-73,-225,533,556),4314=>array(34,-220,1090,562),4315=>array(34,0,688,854),4316=>array(39,0,705,877),4317=>array(39,-123,837,556),4318=>array(19,1,644,854),4319=>array(-47,-225,644,555),4320=>array(43,-0,837,846),4321=>array(83,0,590,854),4322=>array(3,-225,724,706),4323=>array(59,-225,719,556),4324=>array(52,-225,836,556),4325=>array(-38,-225,729,855),4326=>array(21,-220,881,556),4327=>array(-68,-225,629,556),4328=>array(46,0,696,854),4329=>array(-16,-5,597,855),4330=>array(16,-225,687,556),4331=>array(32,0,683,854),4332=>array(20,-229,736,854),4333=>array(-45,-225,636,854),4334=>array(83,0,632,854),4335=>array(-93,-225,741,556),4336=>array(20,0,677,854),4337=>array(27,0,704,863),4338=>array(-56,-94,584,556),4339=>array(-39,-225,645,615),4340=>array(-38,-225,633,855),4341=>array(17,0,739,854),4342=>array(31,-225,900,699),4343=>array(-33,-225,569,566),4344=>array(-27,-225,583,556),4345=>array(27,-225,636,561),4346=>array(42,-69,594,556),4347=>array(-42,0,418,511),4348=>array(68,341,507,882),7424=>array(-16,0,619,519),7425=>array(-16,0,906,519),7426=>array(43,-14,904,533),7427=>array(-16,0,688,519),7428=>array(41,-14,592,533),7429=>array(-16,0,645,519),7430=>array(-16,0,645,519),7431=>array(-21,0,631,519),7432=>array(-42,-18,498,533),7433=>array(-4,-238,299,522),7434=>array(-31,-14,575,519),7435=>array(-16,0,715,519),7436=>array(-3,0,574,519),7437=>array(-16,0,885,519),7438=>array(51,0,754,519),7439=>array(34,-14,634,533),7440=>array(17,-14,568,533),7441=>array(41,-33,588,553),7442=>array(35,-2,584,521),7443=>array(61,-50,608,567),7444=>array(45,-14,994,533),7445=>array(3,-14,541,534),7446=>array(91,260,678,533),7447=>array(91,-14,678,259),7448=>array(-16,0,593,519),7449=>array(6,0,789,519),7450=>array(95,0,789,519),7451=>array(55,0,624,519),7452=>array(63,-14,686,519),7453=>array(-1,-74,648,596),7454=>array(31,-74,908,596),7455=>array(-32,-240,682,761),7456=>array(21,0,656,519),7457=>array(30,0,931,519),7458=>array(-15,0,584,519),7459=>array(-5,-14,586,519),7460=>array(-1,-14,590,742),7461=>array(-16,-14,755,533),7462=>array(-16,0,599,519),7463=>array(-16,0,619,519),7464=>array(-16,0,749,519),7465=>array(-16,0,593,519),7466=>array(76,0,880,519),7467=>array(-28,-14,723,519),7468=>array(-49,334,458,735),7469=>array(-64,334,658,735),7470=>array(-15,334,493,735),7471=>array(-10,334,525,742),7472=>array(-15,334,520,735),7473=>array(-15,334,487,735),7474=>array(29,334,537,735),7475=>array(26,326,511,742),7476=>array(-15,334,612,735),7477=>array(-15,334,311,735),7478=>array(-100,220,332,735),7479=>array(-15,334,568,735),7480=>array(-15,334,407,735),7481=>array(-18,334,712,735),7482=>array(-17,334,595,735),7483=>array(47,326,621,734),7484=>array(26,326,521,742),7485=>array(5,326,390,750),7486=>array(-15,334,477,735),7487=>array(-15,334,490,735),7488=>array(29,334,507,735),7489=>array(60,326,581,735),7490=>array(32,334,760,735),7491=>array(21,318,363,625),7492=>array(45,318,386,625),7493=>array(26,318,470,624),7494=>array(27,318,570,625),7495=>array(43,326,434,752),7496=>array(23,326,443,752),7497=>array(37,326,390,627),7498=>array(45,326,388,627),7499=>array(26,324,366,627),7500=>array(32,324,372,627),7501=>array(30,212,486,627),7502=>array(54,203,244,621),7503=>array(42,334,428,752),7504=>array(56,334,647,627),7505=>array(69,212,443,627),7506=>array(38,326,416,627),7507=>array(24,326,372,627),7508=>array(74,477,443,627),7509=>array(74,326,443,477),7510=>array(43,220,460,627),7511=>array(58,326,312,708),7512=>array(67,326,450,620),7513=>array(4,285,404,660),7514=>array(67,326,658,620),7515=>array(66,334,429,620),7516=>array(-7,326,477,633),7517=>array(-14,217,394,765),7518=>array(49,217,417,625),7519=>array(13,326,391,763),7520=>array(42,217,552,625),7521=>array(-32,209,440,633),7522=>array(21,0,212,418),7523=>array(65,0,403,298),7524=>array(67,-8,450,286),7525=>array(66,0,429,286),7526=>array(-14,-117,394,431),7527=>array(49,-117,417,291),7528=>array(-1,-117,404,299),7529=>array(42,-117,552,291),7530=>array(-32,-125,440,299),7531=>array(63,-14,1000,533),7543=>array(-12,-222,638,533),7544=>array(-15,334,612,735),7547=>array(-16,0,405,519),7548=>array(31,0,374,519),7549=>array(25,-208,729,533),7550=>array(20,-14,686,519),7551=>array(-21,-14,705,519),7557=>array(-39,-222,428,760),7579=>array(15,326,459,631),7580=>array(38,326,389,627),7581=>array(48,272,396,624),7582=>array(26,326,415,754),7583=>array(27,324,372,627),7584=>array(-37,229,361,752),7585=>array(-1,212,311,620),7586=>array(31,212,487,620),7587=>array(79,220,462,620),7588=>array(24,334,233,752),7589=>array(66,334,228,620),7590=>array(10,334,276,620),7591=>array(42,334,308,620),7592=>array(-5,211,304,752),7593=>array(48,212,268,752),7594=>array(17,212,312,752),7595=>array(10,334,364,621),7596=>array(69,212,647,627),7597=>array(79,220,671,620),7598=>array(-2,212,520,627),7599=>array(69,212,500,627),7600=>array(10,334,448,621),7601=>array(42,326,411,627),7602=>array(41,217,465,752),7603=>array(18,212,369,627),7604=>array(-16,211,389,752),7605=>array(67,212,353,708),7606=>array(47,326,466,620),7607=>array(40,332,421,628),7608=>array(37,326,428,625),7609=>array(66,333,432,620),7610=>array(13,334,371,620),7611=>array(-10,312,368,642),7612=>array(24,212,441,620),7613=>array(16,285,394,620),7614=>array(2,222,401,620),7615=>array(42,325,411,758),7620=>array(-423,616,6,800),7621=>array(-467,616,-97,800),7622=>array(-403,616,-33,800),7623=>array(-506,616,-77,800),7624=>array(-496,616,-4,800),7625=>array(-535,616,35,800),7680=>array(-79,-240,728,729),7681=>array(34,-240,577,533),7682=>array(-24,0,782,939),7683=>array(24,-14,645,939),7684=>array(-24,-213,782,729),7685=>array(24,-213,645,760),7686=>array(-24,-161,782,729),7687=>array(24,-161,645,760),7688=>array(42,-196,787,927),7689=>array(34,-196,600,800),7690=>array(-24,0,826,939),7691=>array(10,-14,677,939),7692=>array(-24,-213,826,729),7693=>array(10,-213,678,760),7694=>array(-24,-161,826,729),7695=>array(10,-161,677,760),7696=>array(-24,-196,826,729),7697=>array(10,-196,677,760),7698=>array(-24,-240,826,729),7699=>array(10,-240,678,760),7700=>array(-24,0,773,1057),7701=>array(33,-14,593,926),7702=>array(-24,0,773,1057),7703=>array(33,-14,642,926),7704=>array(-24,-240,773,729),7705=>array(33,-240,593,533),7706=>array(-24,-222,773,729),7707=>array(33,-222,593,533),7708=>array(-24,-196,773,927),7709=>array(33,-196,593,776),7710=>array(-24,0,768,939),7711=>array(-59,-190,573,939),7712=>array(42,-14,812,938),7713=>array(22,-222,667,756),7714=>array(-24,0,971,939),7715=>array(33,0,642,939),7716=>array(-24,-213,971,729),7717=>array(34,-213,642,760),7718=>array(-24,0,971,939),7719=>array(33,0,642,939),7720=>array(-24,-196,971,729),7721=>array(33,-196,642,760),7722=>array(-24,-221,971,729),7723=>array(33,-221,642,760),7724=>array(-58,-222,493,729),7725=>array(-108,-222,336,760),7726=>array(-24,0,534,1057),7727=>array(57,0,483,917),7728=>array(-24,0,902,927),7729=>array(33,0,647,927),7730=>array(-24,-213,902,729),7731=>array(33,-213,647,760),7732=>array(-24,-161,902,729),7733=>array(33,-161,647,760),7734=>array(-24,-213,646,729),7735=>array(22,-213,355,760),7736=>array(-24,-213,646,914),7737=>array(22,-213,457,914),7738=>array(-24,-161,646,729),7739=>array(-73,-161,354,760),7740=>array(-24,-240,646,729),7741=>array(-110,-240,355,760),7742=>array(-29,0,1131,927),7743=>array(55,0,995,800),7744=>array(-29,0,1131,937),7745=>array(56,0,995,788),7746=>array(-29,-213,1131,729),7747=>array(56,-213,995,533),7748=>array(-27,0,945,939),7749=>array(56,0,664,788),7750=>array(-27,-213,945,729),7751=>array(56,-213,664,533),7752=>array(-27,-161,945,729),7753=>array(55,-161,664,533),7754=>array(-27,-257,945,729),7755=>array(56,-243,664,533),7756=>array(42,-14,828,1057),7757=>array(34,-14,689,916),7758=>array(42,-14,828,1055),7759=>array(34,-14,651,912),7760=>array(42,-14,828,1057),7761=>array(34,-14,634,926),7762=>array(42,-14,828,1057),7763=>array(34,-14,658,926),7764=>array(-24,0,757,927),7765=>array(25,-208,687,800),7766=>array(-24,0,757,939),7767=>array(25,-208,687,788),7768=>array(-24,0,778,939),7769=>array(55,0,587,788),7770=>array(-24,-213,778,729),7771=>array(47,-213,587,533),7772=>array(-24,-213,778,914),7773=>array(47,-213,587,756),7774=>array(-24,-161,778,729),7775=>array(-51,-161,587,533),7776=>array(13,-14,682,939),7777=>array(-0,-14,542,788),7778=>array(13,-213,682,742),7779=>array(-0,-213,542,533),7780=>array(13,-14,697,959),7781=>array(-0,-14,592,777),7782=>array(13,-14,682,1065),7783=>array(-0,-14,561,883),7784=>array(13,-213,682,939),7785=>array(-0,-213,542,788),7786=>array(46,0,805,939),7787=>array(48,-14,452,939),7788=>array(46,-213,805,729),7789=>array(48,-213,453,680),7790=>array(46,-161,805,729),7791=>array(22,-161,452,680),7792=>array(46,-240,805,729),7793=>array(-20,-240,453,680),7794=>array(95,-213,922,729),7795=>array(63,-213,671,519),7796=>array(95,-222,922,729),7797=>array(63,-222,671,519),7798=>array(95,-240,922,729),7799=>array(63,-240,671,519),7800=>array(95,-14,922,1057),7801=>array(63,-14,702,915),7802=>array(95,-14,922,1055),7803=>array(63,-14,671,930),7804=>array(53,0,861,929),7805=>array(20,0,588,792),7806=>array(53,-213,861,729),7807=>array(21,-213,589,521),7808=>array(50,0,1206,931),7809=>array(30,0,890,800),7810=>array(50,0,1206,931),7811=>array(30,0,890,800),7812=>array(50,0,1206,945),7813=>array(30,0,890,736),7814=>array(50,0,1206,974),7815=>array(29,0,890,788),7816=>array(50,-211,1206,729),7817=>array(30,-213,890,519),7818=>array(-53,0,808,939),7819=>array(-19,0,605,788),7820=>array(-53,0,808,939),7821=>array(-19,0,605,788),7822=>array(50,0,794,942),7823=>array(-20,-222,638,788),7824=>array(-34,0,760,982),7825=>array(-16,-41,585,800),7826=>array(-34,-213,760,729),7827=>array(-16,-213,585,560),7828=>array(-34,-161,760,729),7829=>array(-16,-161,585,560),7830=>array(33,-161,642,760),7831=>array(48,-14,477,939),7832=>array(29,0,890,888),7833=>array(-20,-222,638,888),7834=>array(34,-14,967,760),7835=>array(-59,-190,573,939),7836=>array(-59,-190,573,760),7837=>array(-59,-190,573,760),7838=>array(-39,-14,896,743),7839=>array(18,-14,629,765),7840=>array(-79,-213,728,729),7841=>array(34,-213,577,533),7842=>array(-79,0,728,1048),7843=>array(34,-14,577,866),7844=>array(-79,0,831,1054),7845=>array(34,-14,731,872),7846=>array(-79,0,765,1054),7847=>array(34,-14,666,872),7848=>array(-79,0,845,1116),7849=>array(34,-14,746,934),7850=>array(-79,0,728,1069),7851=>array(34,-14,591,887),7852=>array(-79,-213,728,982),7853=>array(34,-213,577,800),7854=>array(-79,0,728,1057),7855=>array(34,-14,598,901),7856=>array(-79,0,728,1057),7857=>array(34,-14,577,901),7858=>array(-79,0,728,1145),7859=>array(34,-14,577,989),7860=>array(-79,0,728,1069),7861=>array(34,-14,611,913),7862=>array(-79,-213,728,958),7863=>array(34,-213,577,776),7864=>array(-24,-213,773,729),7865=>array(33,-213,593,533),7866=>array(-24,0,773,1048),7867=>array(33,-14,593,866),7868=>array(-24,0,773,929),7869=>array(33,-14,593,792),7870=>array(-24,0,851,1054),7871=>array(33,-14,756,872),7872=>array(-24,0,786,1054),7873=>array(33,-14,691,872),7874=>array(-24,0,866,1116),7875=>array(33,-14,771,934),7876=>array(-24,0,773,1069),7877=>array(33,-14,616,887),7878=>array(-24,-213,773,982),7879=>array(33,-213,593,800),7880=>array(-24,0,493,1048),7881=>array(33,0,465,1106),7882=>array(-24,-213,493,729),7883=>array(31,-213,337,760),7884=>array(42,-213,828,742),7885=>array(34,-213,634,533),7886=>array(42,-14,828,1048),7887=>array(33,-14,634,866),7888=>array(42,-14,889,1054),7889=>array(34,-14,772,872),7890=>array(42,-14,828,1054),7891=>array(34,-14,707,872),7892=>array(42,-14,904,1116),7893=>array(34,-14,787,934),7894=>array(42,-14,828,1069),7895=>array(34,-14,634,887),7896=>array(42,-213,828,982),7897=>array(33,-213,634,800),7898=>array(41,-14,937,927),7899=>array(34,-14,755,800),7900=>array(41,-14,937,927),7901=>array(34,-14,755,800),7902=>array(41,-14,937,1048),7903=>array(34,-14,755,866),7904=>array(41,-14,937,929),7905=>array(34,-14,755,792),7906=>array(41,-213,937,760),7907=>array(34,-213,755,548),7908=>array(95,-213,922,729),7909=>array(63,-213,671,519),7910=>array(95,-14,922,1048),7911=>array(63,-14,671,866),7912=>array(98,-14,1127,927),7913=>array(65,-14,815,800),7914=>array(98,-14,1127,927),7915=>array(65,-14,815,800),7916=>array(98,-14,1127,1048),7917=>array(65,-14,815,866),7918=>array(98,-14,1127,929),7919=>array(65,-14,815,792),7920=>array(98,-213,1127,816),7921=>array(65,-213,815,548),7922=>array(50,0,794,931),7923=>array(-20,-222,638,776),7924=>array(50,-213,794,729),7925=>array(-20,-222,638,519),7926=>array(50,0,794,1051),7927=>array(-20,-222,638,866),7928=>array(50,0,794,929),7929=>array(-20,-222,638,792),7930=>array(-24,0,1021,729),7931=>array(34,0,726,760),7936=>array(41,-14,747,837),7937=>array(41,-14,747,837),7938=>array(41,-14,747,837),7939=>array(41,-14,747,837),7940=>array(41,-14,747,837),7941=>array(41,-14,747,837),7942=>array(41,-14,747,1009),7943=>array(41,-14,747,1009),7944=>array(-79,0,728,837),7945=>array(-79,0,728,837),7946=>array(61,0,930,837),7947=>array(71,0,930,837),7948=>array(-23,0,784,837),7949=>array(-6,0,801,837),7950=>array(-79,0,728,1009),7951=>array(-79,0,728,1009),7952=>array(25,-12,587,837),7953=>array(25,-12,587,837),7954=>array(25,-12,587,837),7955=>array(25,-12,587,837),7956=>array(25,-12,629,837),7957=>array(25,-12,633,837),7960=>array(69,0,929,837),7961=>array(69,0,920,837),7962=>array(61,0,1181,837),7963=>array(71,0,1181,837),7964=>array(57,0,1104,837),7965=>array(63,0,1131,837),7968=>array(76,-208,663,837),7969=>array(76,-208,663,837),7970=>array(76,-208,663,837),7971=>array(76,-208,663,837),7972=>array(76,-208,678,837),7973=>array(76,-208,673,837),7974=>array(76,-208,681,1009),7975=>array(76,-208,670,1009),7976=>array(69,0,1126,837),7977=>array(69,0,1121,837),7978=>array(61,0,1384,837),7979=>array(71,0,1387,837),7980=>array(57,0,1305,837),7981=>array(63,0,1334,837),7982=>array(106,0,1223,1009),7983=>array(103,0,1220,1009),7984=>array(74,16,413,837),7985=>array(74,16,413,837),7986=>array(44,16,462,837),7987=>array(55,16,472,837),7988=>array(68,16,497,837),7989=>array(59,16,498,837),7990=>array(74,16,510,1009),7991=>array(74,16,502,1009),7992=>array(69,0,654,837),7993=>array(69,0,643,837),7994=>array(61,0,903,837),7995=>array(71,0,906,837),7996=>array(57,0,824,837),7997=>array(63,0,856,837),7998=>array(106,0,748,1009),7999=>array(103,0,739,1009),8000=>array(34,-14,634,837),8001=>array(34,-14,634,837),8002=>array(34,-14,634,837),8003=>array(34,-14,634,837),8004=>array(34,-14,667,837),8005=>array(34,-14,656,837),8008=>array(69,-14,857,837),8009=>array(69,-14,892,837),8010=>array(61,-14,1197,837),8011=>array(71,-14,1194,837),8012=>array(57,-14,992,837),8013=>array(63,-14,1023,837),8016=>array(73,-1,658,837),8017=>array(73,-1,658,837),8018=>array(73,-1,658,837),8019=>array(73,-1,658,837),8020=>array(73,-1,669,837),8021=>array(73,-1,667,837),8022=>array(73,-1,658,1009),8023=>array(73,-1,658,1009),8025=>array(69,0,1002,837),8027=>array(71,0,1266,837),8029=>array(63,0,1213,837),8031=>array(103,0,1099,1009),8032=>array(42,-1,914,837),8033=>array(42,-1,914,837),8034=>array(42,-1,914,837),8035=>array(42,-1,914,837),8036=>array(42,-1,914,837),8037=>array(42,-1,914,837),8038=>array(42,-1,914,1009),8039=>array(42,-1,914,1009),8040=>array(19,0,892,837),8041=>array(51,0,924,837),8042=>array(61,0,1229,837),8043=>array(71,0,1235,837),8044=>array(57,0,1015,837),8045=>array(63,0,1049,837),8046=>array(106,0,984,1009),8047=>array(103,0,1021,1009),8048=>array(41,-14,747,800),8049=>array(41,-14,747,800),8050=>array(25,-12,587,800),8051=>array(25,-12,606,800),8052=>array(76,-208,663,800),8053=>array(76,-208,663,800),8054=>array(73,16,413,800),8055=>array(74,16,477,800),8056=>array(34,-14,634,800),8057=>array(34,-14,634,800),8058=>array(73,-1,658,800),8059=>array(73,-1,658,800),8060=>array(42,-1,914,800),8061=>array(42,-1,914,800),8064=>array(41,-208,747,837),8065=>array(41,-208,747,837),8066=>array(41,-208,747,837),8067=>array(41,-208,747,837),8068=>array(41,-208,747,837),8069=>array(41,-208,747,837),8070=>array(41,-208,747,1009),8071=>array(41,-208,747,1009),8072=>array(-79,-208,728,837),8073=>array(-79,-208,728,837),8074=>array(61,-208,930,837),8075=>array(71,-208,930,837),8076=>array(-23,-208,784,837),8077=>array(-6,-208,801,837),8078=>array(-79,-208,728,1009),8079=>array(-79,-208,728,1009),8080=>array(76,-208,663,837),8081=>array(76,-208,663,837),8082=>array(76,-208,663,837),8083=>array(76,-208,663,837),8084=>array(76,-208,678,837),8085=>array(76,-208,673,837),8086=>array(76,-208,681,1009),8087=>array(76,-208,670,1009),8088=>array(69,-208,1126,837),8089=>array(69,-208,1121,837),8090=>array(61,-208,1384,837),8091=>array(71,-208,1387,837),8092=>array(57,-208,1305,837),8093=>array(63,-208,1334,837),8094=>array(106,-208,1223,1009),8095=>array(103,-208,1220,1009),8096=>array(42,-208,914,837),8097=>array(42,-208,914,837),8098=>array(42,-208,914,837),8099=>array(42,-208,914,837),8100=>array(42,-208,914,837),8101=>array(42,-208,914,837),8102=>array(42,-208,914,1009),8103=>array(42,-208,914,1009),8104=>array(19,-208,892,837),8105=>array(51,-208,924,837),8106=>array(61,-208,1229,837),8107=>array(71,-208,1235,837),8108=>array(57,-208,1015,837),8109=>array(63,-208,1049,837),8110=>array(106,-208,984,1009),8111=>array(103,-208,1021,1009),8112=>array(41,-14,747,776),8113=>array(41,-14,747,756),8114=>array(41,-208,747,800),8115=>array(41,-208,747,532),8116=>array(41,-208,747,800),8118=>array(41,-14,747,792),8119=>array(41,-208,747,792),8120=>array(-79,0,728,936),8121=>array(-79,0,728,914),8122=>array(-44,0,763,800),8123=>array(-79,0,728,800),8124=>array(-79,-208,728,729),8125=>array(233,596,389,837),8126=>array(204,-208,343,-60),8127=>array(233,596,389,837),8128=>array(134,638,513,792),8129=>array(164,645,578,959),8130=>array(76,-208,663,800),8131=>array(76,-208,663,533),8132=>array(76,-208,663,800),8134=>array(76,-208,663,792),8135=>array(76,-208,663,792),8136=>array(61,0,1011,800),8137=>array(42,0,955,800),8138=>array(61,0,1217,800),8139=>array(42,0,1156,800),8140=>array(-24,-208,971,729),8141=>array(102,596,520,837),8142=>array(112,596,541,837),8143=>array(178,596,557,1009),8144=>array(74,16,452,776),8145=>array(74,16,434,756),8146=>array(74,16,470,997),8147=>array(74,16,545,996),8150=>array(74,16,456,792),8151=>array(74,16,522,959),8152=>array(-24,0,493,927),8153=>array(-24,0,493,914),8154=>array(61,0,739,800),8155=>array(42,0,678,800),8157=>array(112,596,528,837),8158=>array(102,596,541,837),8159=>array(175,596,554,1009),8160=>array(73,-1,658,776),8161=>array(73,-1,658,756),8162=>array(73,-1,658,997),8163=>array(73,-1,701,996),8164=>array(-9,-208,644,837),8165=>array(-9,-208,644,837),8166=>array(73,-1,658,792),8167=>array(73,-1,671,959),8168=>array(50,0,794,927),8169=>array(50,0,794,914),8170=>array(61,0,1099,800),8171=>array(42,0,1032,800),8172=>array(69,0,915,837),8173=>array(164,645,526,997),8174=>array(164,645,606,996),8175=>array(128,616,354,800),8178=>array(42,-208,914,800),8179=>array(42,-208,914,519),8180=>array(42,-208,914,800),8182=>array(42,-1,914,746),8183=>array(42,-208,914,746),8184=>array(61,-14,1026,800),8185=>array(42,-14,844,800),8186=>array(61,0,1062,800),8187=>array(1,0,875,800),8188=>array(-22,-208,851,742),8189=>array(227,616,525,800),8190=>array(236,596,391,837),8208=>array(41,202,374,334),8209=>array(41,202,374,334),8210=>array(42,207,653,324),8211=>array(42,207,458,324),8212=>array(42,207,958,324),8213=>array(-12,207,1012,324),8214=>array(129,-236,395,764),8215=>array(0,-236,500,-9),8216=>array(41,456,305,742),8217=>array(33,443,297,729),8218=>array(15,-130,279,156),8219=>array(83,443,266,729),8220=>array(41,456,532,742),8221=>array(33,443,524,729),8222=>array(15,-130,506,156),8223=>array(83,443,493,729),8224=>array(49,-96,537,729),8225=>array(-14,-96,537,729),8226=>array(144,196,495,547),8227=>array(144,157,534,586),8228=>array(81,-14,268,172),8229=>array(81,-14,593,172),8230=>array(81,-14,919,172),8240=>array(59,-14,1326,742),8241=>array(59,-14,1754,742),8242=>array(2,547,257,729),8243=>array(2,547,440,729),8244=>array(2,547,624,729),8245=>array(161,547,346,729),8246=>array(161,547,532,729),8247=>array(161,547,712,729),8248=>array(101,-238,632,29),8249=>array(69,64,351,522),8250=>array(49,64,332,522),8252=>array(11,-14,633,729),8253=>array(103,-14,574,742),8254=>array(0,663,500,755),8258=>array(22,-37,1001,832),8260=>array(-260,-14,427,742),8261=>array(39,-132,488,760),8262=>array(-16,-132,435,760),8263=>array(70,-14,1083,742),8264=>array(103,-14,862,742),8265=>array(11,-14,824,742),8267=>array(47,-96,615,729),8268=>array(75,189,425,541),8269=>array(75,189,425,541),8270=>array(22,0,501,464),8271=>array(38,-161,256,490),8273=>array(53,-14,439,797),8274=>array(3,-93,528,729),8275=>array(49,221,951,406),8279=>array(2,547,807,729),8304=>array(24,326,404,742),8305=>array(21,334,212,752),8308=>array(4,334,394,742),8309=>array(11,326,402,742),8310=>array(21,326,409,742),8311=>array(35,334,402,742),8312=>array(12,326,414,742),8313=>array(15,326,403,742),8314=>array(67,334,461,679),8315=>array(67,475,461,537),8316=>array(67,415,461,598),8317=>array(60,249,321,752),8318=>array(-24,249,238,752),8319=>array(35,334,418,627),8320=>array(24,0,404,416),8321=>array(39,8,339,416),8322=>array(2,8,397,416),8323=>array(7,0,401,416),8324=>array(4,8,394,416),8325=>array(11,0,402,416),8326=>array(21,0,409,416),8327=>array(35,8,402,416),8328=>array(12,0,414,416),8329=>array(15,0,403,416),8330=>array(67,8,461,353),8331=>array(67,149,461,211),8332=>array(67,89,461,272),8333=>array(60,-78,321,426),8334=>array(-24,-78,238,426),8336=>array(21,-8,363,299),8337=>array(37,0,390,301),8338=>array(38,0,416,301),8339=>array(-12,8,381,293),8340=>array(45,0,388,301),8341=>array(53,0,446,425),8342=>array(42,8,428,426),8343=>array(50,0,246,425),8344=>array(56,8,647,301),8345=>array(35,8,418,301),8346=>array(43,-106,460,301),8347=>array(20,1,365,307),8348=>array(58,0,312,382),8358=>array(-18,0,713,729),8364=>array(-24,-14,696,742),8367=>array(-19,-193,1168,723),8369=>array(-24,0,806,729),8372=>array(3,-14,875,742),8373=>array(83,-146,689,761),8376=>array(42,0,805,729),8377=>array(54,0,727,729),8451=>array(87,-14,1189,749),8457=>array(87,0,1170,749),8462=>array(34,0,642,760),8463=>array(34,0,642,760),8470=>array(-34,-14,1042,731),8482=>array(116,447,840,729),8486=>array(-22,0,851,742),8487=>array(40,-13,913,729),8490=>array(-24,0,902,729),8491=>array(-98,0,708,928),8498=>array(-58,0,734,729),8513=>array(5,-14,747,742),8514=>array(9,0,554,729),8515=>array(11,0,671,729),8516=>array(2,0,749,729),8523=>array(46,-14,931,742),8526=>array(-39,0,614,519),8528=>array(28,-14,1007,742),8529=>array(28,-14,1008,742),8530=>array(28,-14,1447,742),8531=>array(28,-14,1006,742),8532=>array(2,-14,1006,742),8533=>array(28,-14,1007,742),8534=>array(2,-14,1007,742),8535=>array(7,-14,1007,742),8536=>array(4,-14,1007,742),8537=>array(28,-14,1014,742),8538=>array(11,-14,1014,742),8539=>array(28,-14,1019,742),8540=>array(7,-14,1019,742),8541=>array(11,-14,1019,742),8542=>array(35,-14,1019,742),8543=>array(28,-14,875,742),8544=>array(-24,0,493,729),8545=>array(-24,0,762,729),8546=>array(-24,0,1030,729),8547=>array(-24,0,1179,729),8548=>array(53,0,861,729),8549=>array(53,0,1152,729),8550=>array(53,0,1421,729),8551=>array(53,0,1689,729),8552=>array(-24,0,1101,729),8553=>array(-53,0,808,729),8554=>array(-53,0,1104,729),8555=>array(-53,0,1372,729),8556=>array(-24,0,646,729),8557=>array(42,-14,787,742),8558=>array(-24,0,826,729),8559=>array(-29,0,1131,729),8560=>array(34,0,337,760),8561=>array(34,0,717,760),8562=>array(34,0,1097,760),8563=>array(34,0,969,760),8564=>array(21,0,589,521),8565=>array(21,0,918,760),8566=>array(21,0,1298,760),8567=>array(21,0,1678,760),8568=>array(34,0,985,760),8569=>array(-19,0,605,519),8570=>array(-19,0,933,760),8571=>array(-19,0,1313,760),8572=>array(34,0,355,760),8573=>array(34,-14,592,533),8574=>array(10,-14,678,760),8575=>array(56,0,995,533),8576=>array(37,0,1239,729),8577=>array(-24,0,835,729),8578=>array(37,0,1239,729),8579=>array(12,-14,754,742),8580=>array(22,-14,571,533),8581=>array(61,-208,805,742),8585=>array(24,-14,1006,742),8592=>array(37,119,781,527),8593=>array(215,0,623,744),8594=>array(57,119,801,527),8595=>array(215,-20,623,724),8596=>array(37,119,801,527),8597=>array(215,-20,623,744),8598=>array(147,29,713,595),8599=>array(125,29,690,595),8600=>array(125,52,690,617),8601=>array(147,52,713,617),8602=>array(37,88,781,558),8603=>array(57,88,801,558),8604=>array(54,191,795,499),8605=>array(42,191,784,499),8606=>array(37,119,781,527),8607=>array(215,0,623,744),8608=>array(57,119,801,527),8609=>array(215,-20,623,724),8610=>array(37,118,789,529),8611=>array(49,118,801,529),8612=>array(37,119,781,527),8613=>array(215,0,623,744),8614=>array(57,119,801,527),8615=>array(215,-20,623,724),8616=>array(215,0,623,744),8617=>array(37,119,781,571),8618=>array(57,119,801,571),8619=>array(37,119,781,571),8620=>array(57,119,801,571),8621=>array(37,119,801,527),8622=>array(37,88,801,558),8623=>array(171,-17,699,730),8624=>array(208,0,610,744),8625=>array(228,0,630,744),8626=>array(208,-20,610,724),8627=>array(228,-20,630,724),8628=>array(130,90,728,614),8629=>array(147,53,671,650),8630=>array(76,141,747,569),8631=>array(91,141,762,569),8632=>array(132,29,713,736),8633=>array(57,-52,781,698),8634=>array(115,48,733,600),8635=>array(104,48,723,600),8636=>array(34,270,781,527),8637=>array(34,119,781,377),8638=>array(365,0,623,747),8639=>array(215,0,473,747),8640=>array(57,270,804,527),8641=>array(57,119,804,377),8642=>array(365,-23,623,724),8643=>array(215,-23,473,724),8644=>array(37,-52,801,698),8645=>array(44,-20,794,744),8646=>array(37,-52,801,698),8647=>array(37,-101,781,747),8648=>array(-5,0,843,744),8649=>array(57,-101,801,747),8650=>array(-5,-20,843,724),8651=>array(34,21,804,625),8652=>array(34,21,804,625),8653=>array(37,88,781,558),8654=>array(37,88,801,558),8655=>array(57,88,801,558),8656=>array(37,119,781,527),8657=>array(215,0,623,744),8658=>array(57,119,801,527),8659=>array(215,-20,623,724),8660=>array(37,119,801,527),8661=>array(215,-20,623,744),8662=>array(147,-31,773,595),8663=>array(65,-31,690,595),8664=>array(65,52,690,677),8665=>array(147,52,773,677),8666=>array(37,70,781,576),8667=>array(57,70,801,576),8668=>array(37,119,781,527),8669=>array(57,119,801,527),8670=>array(215,0,623,744),8671=>array(215,-20,623,724),8672=>array(37,119,781,527),8673=>array(215,0,623,744),8674=>array(57,119,801,527),8675=>array(215,-20,623,724),8676=>array(57,119,781,527),8677=>array(57,119,781,527),8678=>array(37,119,781,527),8679=>array(215,0,623,744),8680=>array(57,119,801,527),8681=>array(215,-20,623,724),8682=>array(215,0,623,744),8683=>array(192,0,646,744),8684=>array(192,0,646,744),8685=>array(192,0,646,744),8686=>array(215,0,623,744),8687=>array(192,0,646,744),8688=>array(57,96,801,550),8689=>array(77,0,767,694),8690=>array(71,0,761,694),8691=>array(215,-20,623,744),8692=>array(57,119,801,527),8693=>array(44,-20,794,744),8694=>array(57,-140,801,786),8695=>array(37,119,781,527),8696=>array(57,119,801,527),8697=>array(37,119,801,527),8698=>array(37,119,781,527),8699=>array(57,119,801,527),8700=>array(37,119,801,527),8701=>array(37,119,781,527),8702=>array(57,119,801,527),8703=>array(37,119,801,527),8704=>array(4,0,637,729),8706=>array(37,-12,499,659),8707=>array(70,0,532,729),8708=>array(70,-120,532,849),8710=>array(20,0,734,729),8711=>array(20,0,734,729),8712=>array(106,0,634,627),8713=>array(106,-138,634,765),8715=>array(106,0,634,627),8716=>array(106,-138,634,765),8719=>array(23,-192,816,719),8720=>array(23,-192,816,719),8721=>array(10,-192,734,719),8722=>array(106,257,732,369),8723=>array(106,0,732,627),8724=>array(106,0,732,681),8725=>array(-80,-93,445,729),8727=>array(106,82,585,546),8728=>array(106,161,413,468),8729=>array(106,161,413,468),8730=>array(35,-20,658,827),8731=>array(35,-20,658,940),8732=>array(32,-20,658,928),8733=>array(100,97,572,499),8734=>array(100,97,734,499),8735=>array(118,79,720,681),8736=>array(118,79,720,681),8739=>array(106,-98,218,827),8740=>array(86,-98,521,827),8741=>array(106,-98,423,827),8742=>array(86,-98,687,827),8743=>array(151,0,661,584),8744=>array(151,0,661,584),8745=>array(105,0,732,627),8746=>array(105,-12,732,615),8747=>array(24,-182,555,759),8748=>array(24,-182,946,759),8749=>array(24,-182,1336,759),8760=>array(106,258,732,567),8761=>array(106,60,732,567),8762=>array(106,60,732,567),8763=>array(106,60,732,567),8764=>array(106,222,732,406),8765=>array(106,222,732,406),8770=>array(106,119,732,480),8771=>array(106,147,732,508),8776=>array(106,119,732,508),8784=>array(106,147,732,717),8785=>array(106,-90,732,717),8786=>array(106,-90,732,717),8787=>array(106,-90,732,717),8788=>array(106,110,976,518),8789=>array(106,110,976,518),8800=>array(106,-5,732,631),8801=>array(106,91,732,536),8804=>array(106,0,732,580),8805=>array(106,0,732,580),8834=>array(106,0,732,627),8835=>array(106,0,732,627),8836=>array(106,-138,732,765),8837=>array(106,-138,732,765),8838=>array(106,-85,732,712),8839=>array(106,-85,732,712),8844=>array(105,-12,732,615),8845=>array(105,-12,732,615),8846=>array(105,-12,732,615),8847=>array(106,1,732,627),8848=>array(106,1,732,627),8849=>array(106,-85,732,712),8850=>array(106,-85,732,712),8851=>array(106,0,732,627),8852=>array(106,0,732,627),8853=>array(105,0,732,627),8854=>array(105,0,732,627),8855=>array(105,0,732,627),8856=>array(105,0,732,627),8857=>array(105,0,732,627),8858=>array(105,0,732,627),8859=>array(105,0,732,627),8860=>array(105,0,732,627),8861=>array(105,0,732,627),8862=>array(106,1,732,627),8863=>array(106,1,732,627),8864=>array(106,1,732,627),8865=>array(106,1,732,627),8866=>array(106,0,778,729),8867=>array(106,0,778,729),8868=>array(106,0,854,688),8869=>array(106,0,854,688),8870=>array(106,0,510,729),8871=>array(106,0,510,729),8872=>array(106,0,778,729),8873=>array(106,0,778,729),8874=>array(106,0,778,729),8875=>array(106,0,974,729),8876=>array(106,-123,778,852),8877=>array(106,-123,778,852),8878=>array(106,-123,778,852),8879=>array(106,-123,974,852),8901=>array(106,255,292,440),8962=>array(71,0,763,596),8968=>array(38,-132,489,760),8969=>array(88,-132,435,760),8970=>array(38,-132,385,760),8971=>array(-16,-132,435,760),8976=>array(106,140,732,441),8977=>array(3,113,536,646),8984=>array(84,0,843,759),8985=>array(106,140,732,441),8992=>array(226,-250,555,925),8993=>array(22,-239,351,940),8997=>array(84,0,916,723),9000=>array(59,0,1385,729),9085=>array(1,-228,1006,85),9115=>array(63,-252,438,928),9116=>array(63,-252,205,940),9117=>array(63,-240,438,940),9118=>array(63,-252,438,928),9119=>array(295,-252,438,940),9120=>array(63,-240,438,940),9121=>array(63,-252,438,928),9122=>array(63,-252,205,940),9123=>array(63,-240,438,940),9124=>array(63,-252,438,928),9125=>array(295,-252,438,940),9126=>array(63,-240,438,940),9127=>array(306,-261,668,928),9128=>array(82,-247,444,934),9129=>array(306,-240,668,934),9130=>array(306,-256,444,934),9131=>array(82,-261,444,928),9132=>array(306,-247,668,934),9133=>array(82,-240,444,934),9134=>array(226,-250,351,940),9167=>array(91,0,854,596),9251=>array(27,-228,780,85),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,700,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(55,260,818,645),9697=>array(55,-125,818,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(150,227,440,516),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9784=>array(80,3,817,721),9785=>array(83,0,813,730),9786=>array(83,0,813,730),9787=>array(83,0,813,730),9788=>array(83,0,813,730),9791=>array(85,-102,528,732),9792=>array(85,-125,646,731),9793=>array(85,-125,646,731),9794=>array(85,-5,831,729),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),10145=>array(57,119,801,527),10181=>array(4,-163,438,769),10182=>array(-37,-163,476,769),10208=>array(3,-233,491,807),10216=>array(104,-132,464,759),10217=>array(-7,-132,353,759),10224=>array(68,0,770,744),10225=>array(68,-20,770,724),10226=>array(76,48,747,618),10227=>array(91,48,762,618),10228=>array(57,39,996,608),10229=>array(37,119,1376,527),10230=>array(57,119,1396,527),10231=>array(37,119,1396,527),10232=>array(37,119,1376,527),10233=>array(57,119,1396,527),10234=>array(37,119,1396,527),10235=>array(37,119,1376,527),10236=>array(57,119,1396,527),10237=>array(37,119,1376,527),10238=>array(57,119,1396,527),10239=>array(57,119,1396,527),10241=>array(146,586,342,781),10242=>array(146,325,342,521),10243=>array(146,325,342,781),10244=>array(146,65,342,260),10245=>array(146,65,342,781),10246=>array(146,65,342,521),10247=>array(146,65,342,781),10248=>array(439,586,635,781),10249=>array(146,586,635,781),10250=>array(146,325,635,781),10251=>array(146,325,635,781),10252=>array(146,65,635,781),10253=>array(146,65,635,781),10254=>array(146,65,635,781),10255=>array(146,65,635,781),10256=>array(439,325,635,521),10257=>array(146,325,635,781),10258=>array(146,325,635,521),10259=>array(146,325,635,781),10260=>array(146,65,635,521),10261=>array(146,65,635,781),10262=>array(146,65,635,521),10263=>array(146,65,635,781),10264=>array(439,325,635,781),10265=>array(146,325,635,781),10266=>array(146,325,635,781),10267=>array(146,325,635,781),10268=>array(146,65,635,781),10269=>array(146,65,635,781),10270=>array(146,65,635,781),10271=>array(146,65,635,781),10272=>array(439,65,635,260),10273=>array(146,65,635,781),10274=>array(146,65,635,521),10275=>array(146,65,635,781),10276=>array(146,65,635,260),10277=>array(146,65,635,781),10278=>array(146,65,635,521),10279=>array(146,65,635,781),10280=>array(439,65,635,781),10281=>array(146,65,635,781),10282=>array(146,65,635,781),10283=>array(146,65,635,781),10284=>array(146,65,635,781),10285=>array(146,65,635,781),10286=>array(146,65,635,781),10287=>array(146,65,635,781),10288=>array(439,65,635,521),10289=>array(146,65,635,781),10290=>array(146,65,635,521),10291=>array(146,65,635,781),10292=>array(146,65,635,521),10293=>array(146,65,635,781),10294=>array(146,65,635,521),10295=>array(146,65,635,781),10296=>array(439,65,635,781),10297=>array(146,65,635,781),10298=>array(146,65,635,781),10299=>array(146,65,635,781),10300=>array(146,65,635,781),10301=>array(146,65,635,781),10302=>array(146,65,635,781),10303=>array(146,65,635,781),10304=>array(146,-195,342,0),10305=>array(146,-195,342,781),10306=>array(146,-195,342,521),10307=>array(146,-195,342,781),10308=>array(146,-195,342,260),10309=>array(146,-195,342,781),10310=>array(146,-195,342,521),10311=>array(146,-195,342,781),10312=>array(146,-195,635,781),10313=>array(146,-195,635,781),10314=>array(146,-195,635,781),10315=>array(146,-195,635,781),10316=>array(146,-195,635,781),10317=>array(146,-195,635,781),10318=>array(146,-195,635,781),10319=>array(146,-195,635,781),10320=>array(146,-195,635,521),10321=>array(146,-195,635,781),10322=>array(146,-195,635,521),10323=>array(146,-195,635,781),10324=>array(146,-195,635,521),10325=>array(146,-195,635,781),10326=>array(146,-195,635,521),10327=>array(146,-195,635,781),10328=>array(146,-195,635,781),10329=>array(146,-195,635,781),10330=>array(146,-195,635,781),10331=>array(146,-195,635,781),10332=>array(146,-195,635,781),10333=>array(146,-195,635,781),10334=>array(146,-195,635,781),10335=>array(146,-195,635,781),10336=>array(146,-195,635,260),10337=>array(146,-195,635,781),10338=>array(146,-195,635,521),10339=>array(146,-195,635,781),10340=>array(146,-195,635,260),10341=>array(146,-195,635,781),10342=>array(146,-195,635,521),10343=>array(146,-195,635,781),10344=>array(146,-195,635,781),10345=>array(146,-195,635,781),10346=>array(146,-195,635,781),10347=>array(146,-195,635,781),10348=>array(146,-195,635,781),10349=>array(146,-195,635,781),10350=>array(146,-195,635,781),10351=>array(146,-195,635,781),10352=>array(146,-195,635,521),10353=>array(146,-195,635,781),10354=>array(146,-195,635,521),10355=>array(146,-195,635,781),10356=>array(146,-195,635,521),10357=>array(146,-195,635,781),10358=>array(146,-195,635,521),10359=>array(146,-195,635,781),10360=>array(146,-195,635,781),10361=>array(146,-195,635,781),10362=>array(146,-195,635,781),10363=>array(146,-195,635,781),10364=>array(146,-195,635,781),10365=>array(146,-195,635,781),10366=>array(146,-195,635,781),10367=>array(146,-195,635,781),10368=>array(439,-195,635,0),10369=>array(146,-195,635,781),10370=>array(146,-195,635,521),10371=>array(146,-195,635,781),10372=>array(146,-195,635,260),10373=>array(146,-195,635,781),10374=>array(146,-195,635,521),10375=>array(146,-195,635,781),10376=>array(439,-195,635,781),10377=>array(146,-195,635,781),10378=>array(146,-195,635,781),10379=>array(146,-195,635,781),10380=>array(146,-195,635,781),10381=>array(146,-195,635,781),10382=>array(146,-195,635,781),10383=>array(146,-195,635,781),10384=>array(439,-195,635,521),10385=>array(146,-195,635,781),10386=>array(146,-195,635,521),10387=>array(146,-195,635,781),10388=>array(146,-195,635,521),10389=>array(146,-195,635,781),10390=>array(146,-195,635,521),10391=>array(146,-195,635,781),10392=>array(439,-195,635,781),10393=>array(146,-195,635,781),10394=>array(146,-195,635,781),10395=>array(146,-195,635,781),10396=>array(146,-195,635,781),10397=>array(146,-195,635,781),10398=>array(146,-195,635,781),10399=>array(146,-195,635,781),10400=>array(439,-195,635,260),10401=>array(146,-195,635,781),10402=>array(146,-195,635,521),10403=>array(146,-195,635,781),10404=>array(146,-195,635,260),10405=>array(146,-195,635,781),10406=>array(146,-195,635,521),10407=>array(146,-195,635,781),10408=>array(439,-195,635,781),10409=>array(146,-195,635,781),10410=>array(146,-195,635,781),10411=>array(146,-195,635,781),10412=>array(146,-195,635,781),10413=>array(146,-195,635,781),10414=>array(146,-195,635,781),10415=>array(146,-195,635,781),10416=>array(439,-195,635,521),10417=>array(146,-195,635,781),10418=>array(146,-195,635,521),10419=>array(146,-195,635,781),10420=>array(146,-195,635,521),10421=>array(146,-195,635,781),10422=>array(146,-195,635,521),10423=>array(146,-195,635,781),10424=>array(439,-195,635,781),10425=>array(146,-195,635,781),10426=>array(146,-195,635,781),10427=>array(146,-195,635,781),10428=>array(146,-195,635,781),10429=>array(146,-195,635,781),10430=>array(146,-195,635,781),10431=>array(146,-195,635,781),10432=>array(146,-195,635,0),10433=>array(146,-195,635,781),10434=>array(146,-195,635,521),10435=>array(146,-195,635,781),10436=>array(146,-195,635,260),10437=>array(146,-195,635,781),10438=>array(146,-195,635,521),10439=>array(146,-195,635,781),10440=>array(146,-195,635,781),10441=>array(146,-195,635,781),10442=>array(146,-195,635,781),10443=>array(146,-195,635,781),10444=>array(146,-195,635,781),10445=>array(146,-195,635,781),10446=>array(146,-195,635,781),10447=>array(146,-195,635,781),10448=>array(146,-195,635,521),10449=>array(146,-195,635,781),10450=>array(146,-195,635,521),10451=>array(146,-195,635,781),10452=>array(146,-195,635,521),10453=>array(146,-195,635,781),10454=>array(146,-195,635,521),10455=>array(146,-195,635,781),10456=>array(146,-195,635,781),10457=>array(146,-195,635,781),10458=>array(146,-195,635,781),10459=>array(146,-195,635,781),10460=>array(146,-195,635,781),10461=>array(146,-195,635,781),10462=>array(146,-195,635,781),10463=>array(146,-195,635,781),10464=>array(146,-195,635,260),10465=>array(146,-195,635,781),10466=>array(146,-195,635,521),10467=>array(146,-195,635,781),10468=>array(146,-195,635,260),10469=>array(146,-195,635,781),10470=>array(146,-195,635,521),10471=>array(146,-195,635,781),10472=>array(146,-195,635,781),10473=>array(146,-195,635,781),10474=>array(146,-195,635,781),10475=>array(146,-195,635,781),10476=>array(146,-195,635,781),10477=>array(146,-195,635,781),10478=>array(146,-195,635,781),10479=>array(146,-195,635,781),10480=>array(146,-195,635,521),10481=>array(146,-195,635,781),10482=>array(146,-195,635,521),10483=>array(146,-195,635,781),10484=>array(146,-195,635,521),10485=>array(146,-195,635,781),10486=>array(146,-195,635,521),10487=>array(146,-195,635,781),10488=>array(146,-195,635,781),10489=>array(146,-195,635,781),10490=>array(146,-195,635,781),10491=>array(146,-195,635,781),10492=>array(146,-195,635,781),10493=>array(146,-195,635,781),10494=>array(146,-195,635,781),10495=>array(146,-195,635,781),10496=>array(57,119,801,527),10497=>array(57,119,801,527),10498=>array(37,119,781,527),10499=>array(57,119,801,527),10500=>array(37,119,801,527),10501=>array(57,119,801,527),10502=>array(37,119,781,527),10503=>array(57,119,801,527),10504=>array(215,-20,623,724),10505=>array(215,0,623,744),10506=>array(166,0,672,744),10507=>array(166,-20,672,724),10508=>array(37,119,781,527),10509=>array(57,119,801,527),10510=>array(37,119,781,527),10511=>array(57,119,801,527),10512=>array(49,118,801,529),10513=>array(54,119,801,527),10514=>array(215,0,623,724),10515=>array(215,0,623,724),10516=>array(49,118,801,529),10517=>array(49,118,801,529),10518=>array(49,118,801,529),10519=>array(49,118,801,529),10520=>array(49,118,801,529),10521=>array(57,118,789,529),10522=>array(49,118,781,529),10523=>array(57,118,789,529),10524=>array(49,118,781,529),10525=>array(37,119,781,527),10526=>array(57,119,801,527),10527=>array(37,119,781,527),10528=>array(57,119,801,527),10529=>array(147,52,690,595),10530=>array(147,52,690,595),10531=>array(147,-45,650,595),10532=>array(188,-45,690,595),10533=>array(188,52,690,692),10534=>array(147,52,650,692),10535=>array(125,29,713,595),10536=>array(125,29,690,617),10537=>array(125,52,713,617),10538=>array(147,29,713,617),10539=>array(125,29,713,617),10540=>array(125,29,713,617),10541=>array(125,29,690,617),10542=>array(125,29,690,617),10543=>array(125,29,713,617),10544=>array(125,29,713,617),10545=>array(125,29,713,595),10546=>array(125,29,713,595),10547=>array(42,119,801,527),10548=>array(146,94,708,623),10549=>array(146,80,708,608),10550=>array(147,70,675,632),10551=>array(163,70,691,632),10552=>array(284,-13,591,735),10553=>array(247,-13,554,735),10554=>array(51,188,799,495),10555=>array(39,151,787,459),10556=>array(39,78,787,495),10557=>array(51,0,799,495),10558=>array(140,58,691,593),10559=>array(146,58,698,593),10560=>array(134,48,704,719),10561=>array(134,48,704,719),10562=>array(37,-52,801,698),10563=>array(37,-52,801,698),10564=>array(37,-52,801,698),10565=>array(57,0,801,527),10566=>array(37,0,781,527),10567=>array(57,119,801,527),10568=>array(37,119,801,527),10569=>array(215,-12,623,744),10570=>array(34,119,804,527),10571=>array(34,119,804,527),10572=>array(215,-23,623,747),10573=>array(215,-23,623,747),10574=>array(34,270,804,527),10575=>array(365,-23,623,747),10576=>array(34,119,804,377),10577=>array(215,-23,473,747),10578=>array(57,131,781,527),10579=>array(57,131,781,527),10580=>array(227,0,623,724),10581=>array(227,0,623,724),10582=>array(57,119,781,515),10583=>array(57,119,781,515),10584=>array(215,0,611,724),10585=>array(215,0,611,724),10586=>array(34,131,781,527),10587=>array(57,131,804,527),10588=>array(227,0,623,747),10589=>array(227,-23,623,724),10590=>array(34,119,781,515),10591=>array(57,119,804,515),10592=>array(215,0,611,747),10593=>array(215,-23,611,724),10594=>array(34,21,781,625),10595=>array(117,0,721,747),10596=>array(57,21,804,625),10597=>array(117,-23,721,724),10598=>array(34,172,804,625),10599=>array(34,21,804,475),10600=>array(34,172,804,625),10601=>array(34,21,804,475),10602=>array(34,184,781,613),10603=>array(34,34,781,462),10604=>array(57,184,804,613),10605=>array(57,34,804,462),10606=>array(117,-23,721,747),10607=>array(117,-23,721,747),10608=>array(57,270,781,571),10609=>array(57,119,801,757),10610=>array(57,119,801,610),10611=>array(37,36,781,527),10612=>array(57,36,801,527),10613=>array(57,-138,801,527),10614=>array(37,-76,781,791),10615=>array(37,42,975,604),10616=>array(57,-76,801,791),10617=>array(57,-76,801,748),10618=>array(37,10,903,637),10619=>array(37,-76,781,748),10620=>array(164,11,687,636),10621=>array(151,11,674,636),10622=>array(106,62,731,584),10623=>array(106,54,731,576),10731=>array(3,-233,491,807),10764=>array(24,-182,1727,759),10765=>array(25,-182,586,760),10766=>array(25,-182,586,760),10799=>array(129,23,709,604),10858=>array(106,222,732,567),10859=>array(106,60,732,567),11008=>array(71,-28,690,591),11009=>array(148,-28,767,591),11010=>array(71,52,690,671),11011=>array(148,52,767,671),11012=>array(37,119,801,527),11013=>array(37,119,781,527),11014=>array(215,0,623,744),11015=>array(215,-20,623,724),11016=>array(71,-28,690,591),11017=>array(148,-28,767,591),11018=>array(71,52,690,671),11019=>array(148,52,767,671),11020=>array(37,119,801,527),11021=>array(215,-20,623,744),11022=>array(57,112,801,514),11023=>array(57,132,801,534),11024=>array(37,112,781,514),11025=>array(37,132,781,534),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11360=>array(-24,0,646,729),11361=>array(-18,0,407,760),11363=>array(-24,0,756,729),11364=>array(144,-208,849,729),11367=>array(-9,-157,986,729),11368=>array(34,-217,728,760),11369=>array(-9,-157,917,729),11370=>array(34,-217,660,760),11371=>array(-19,-157,775,729),11372=>array(-15,-214,584,560),11373=>array(29,-14,879,742),11374=>array(42,-208,1202,729),11375=>array(123,0,929,729),11376=>array(-29,-14,821,742),11377=>array(20,0,757,533),11378=>array(50,0,1288,730),11379=>array(29,0,1033,533),11381=>array(-24,0,764,729),11382=>array(58,0,551,519),11383=>array(50,-14,860,533),11385=>array(-45,-14,499,760),11386=>array(91,-14,678,533),11387=>array(-20,0,638,519),11388=>array(-8,-132,313,418),11389=>array(132,326,640,734),11390=>array(32,-208,700,742),11391=>array(-14,-208,780,729),11520=>array(96,-53,802,514),11521=>array(32,-218,665,514),11522=>array(93,-218,833,514),11523=>array(83,-2,712,759),11524=>array(102,-217,816,514),11525=>array(44,-217,990,514),11526=>array(121,0,785,759),11527=>array(44,0,988,514),11528=>array(99,0,647,514),11529=>array(42,-217,676,729),11530=>array(38,0,984,514),11531=>array(83,-4,691,759),11532=>array(42,0,676,759),11533=>array(43,-2,990,514),11534=>array(106,0,874,514),11535=>array(90,-218,928,759),11536=>array(44,0,989,759),11537=>array(42,0,675,759),11538=>array(32,-217,654,515),11539=>array(44,-221,1009,675),11540=>array(78,-217,929,555),11541=>array(64,-218,880,759),11542=>array(42,0,674,514),11543=>array(42,-217,676,514),11544=>array(42,-217,675,514),11545=>array(61,-217,679,759),11546=>array(74,-217,717,514),11547=>array(78,0,913,759),11548=>array(79,-217,1010,514),11549=>array(32,-217,711,515),11550=>array(67,-217,706,514),11551=>array(26,-218,881,518),11552=>array(98,0,1140,514),11553=>array(53,-217,662,759),11554=>array(66,-3,636,579),11555=>array(42,-217,710,759),11556=>array(42,-217,778,514),11557=>array(87,-4,909,759),11800=>array(11,-14,483,742),11807=>array(106,60,732,406),11810=>array(125,314,489,760),11811=>array(146,314,435,760),11812=>array(38,-132,327,314),11813=>array(-16,-132,348,314),11822=>array(98,-14,608,742),42564=>array(36,-14,691,742),42565=>array(23,-14,543,533),42566=>array(101,0,493,729),42567=>array(75,0,332,519),42576=>array(42,0,1358,729),42577=>array(18,-14,1029,534),42580=>array(59,-14,1311,742),42581=>array(44,-14,949,533),42582=>array(-24,0,1239,729),42583=>array(76,-14,958,533),42760=>array(146,0,471,693),42761=>array(117,0,471,693),42762=>array(87,0,471,693),42763=>array(58,0,471,693),42764=>array(29,0,471,693),42765=>array(29,0,471,693),42766=>array(29,0,442,693),42767=>array(29,0,413,693),42768=>array(29,0,383,693),42769=>array(29,0,354,693),42770=>array(29,0,471,693),42771=>array(29,0,442,693),42772=>array(29,0,413,693),42773=>array(29,0,383,693),42774=>array(29,0,354,693),42779=>array(79,326,339,743),42780=>array(45,315,305,731),42781=>array(50,318,236,734),42782=>array(40,326,227,742),42783=>array(-23,0,164,416),42790=>array(-4,-208,991,729),42791=>array(56,-222,642,760),42792=>array(66,-203,957,729),42793=>array(67,-203,866,680),42794=>array(2,-14,698,742),42795=>array(13,-12,609,742),42796=>array(12,-14,593,729),42797=>array(12,-222,572,519),42798=>array(21,-104,709,729),42799=>array(14,-240,667,519),42800=>array(-21,0,631,519),42801=>array(-0,-14,542,533),42802=>array(-79,0,1252,729),42803=>array(35,-14,912,533),42804=>array(-79,-14,1218,742),42805=>array(35,-14,971,533),42806=>array(-100,-14,1218,729),42807=>array(35,-14,951,533),42808=>array(-79,0,1101,729),42809=>array(35,-14,839,533),42810=>array(-79,0,1101,729),42811=>array(20,-14,851,533),42812=>array(-59,-208,1100,729),42813=>array(35,-222,803,533),42814=>array(12,-14,754,742),42815=>array(22,-14,571,533),42816=>array(-24,0,902,729),42817=>array(34,0,647,760),42822=>array(106,0,858,729),42823=>array(92,0,496,760),42826=>array(-12,-14,1022,742),42827=>array(-10,-14,781,533),42830=>array(42,-14,1405,742),42831=>array(41,-14,1020,533),42856=>array(-44,-208,835,729),42857=>array(26,-208,725,519),42875=>array(35,-208,771,742),42876=>array(36,-208,607,533),42880=>array(58,0,727,729),42881=>array(25,-240,345,519),42882=>array(35,-208,800,743),42883=>array(36,-208,694,533),42884=>array(35,-208,771,742),42885=>array(36,-208,607,533),42886=>array(43,-14,827,729),42887=>array(42,-14,625,519),42891=>array(159,225,383,729),42892=>array(69,458,237,729),42893=>array(90,0,932,729),42896=>array(-27,-157,945,729),42897=>array(56,-217,751,533),42922=>array(-96,0,971,729),43002=>array(-18,0,1084,519),43003=>array(51,0,734,729),43004=>array(54,0,776,729),43005=>array(-24,0,1136,729),43006=>array(-43,0,512,928),43007=>array(-79,0,1368,729),62464=>array(7,-15,633,876),62465=>array(21,-15,644,876),62466=>array(12,-15,695,875),62467=>array(81,-15,993,876),62468=>array(6,-15,712,876),62469=>array(-1,-15,701,876),62470=>array(83,-15,750,876),62471=>array(37,-14,1026,875),62472=>array(45,-15,697,876),62473=>array(7,-15,696,876),62474=>array(83,-21,1308,876),62475=>array(22,-15,732,876),62476=>array(33,-15,756,888),62477=>array(47,-146,989,876),62478=>array(13,-15,704,876),62479=>array(6,-15,780,877),62480=>array(25,-15,986,860),62481=>array(66,-15,716,876),62482=>array(33,-15,792,876),62483=>array(80,-15,803,876),62484=>array(91,-15,1006,876),62485=>array(-1,-15,776,864),62486=>array(90,-16,995,875),62487=>array(4,-15,775,875),62488=>array(26,-15,744,876),62489=>array(-26,-15,666,876),62490=>array(28,-15,752,870),62491=>array(21,-15,730,876),62492=>array(33,-15,793,876),62493=>array(1,-15,687,910),62494=>array(72,-15,712,876),62495=>array(-21,-25,961,875),62496=>array(1,-15,719,882),62497=>array(34,-15,824,879),62498=>array(-28,-57,701,876),62499=>array(4,-15,780,895),62500=>array(4,-15,718,876),62501=>array(-0,-15,766,876),62502=>array(74,-14,1009,876),62504=>array(72,-217,898,759),63172=>array(57,0,390,763),63173=>array(13,-14,663,756),63174=>array(22,-222,667,533),63175=>array(63,-14,715,731),63176=>array(63,-14,1042,731),63185=>array(60,616,448,816),63188=>array(80,624,451,840),64256=>array(-59,-190,972,760),64257=>array(-59,-190,679,760),64258=>array(-59,-190,720,760),64259=>array(-59,-190,1076,760),64260=>array(-59,-190,1115,760),64261=>array(-59,-190,878,760),64262=>array(-0,-14,976,748),65533=>array(104,-108,1169,956),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>348,33=>439,34=>521,35=>838,36=>696,37=>950,38=>903,39=>306,40=>473,41=>473,42=>523,43=>838,44=>348,45=>415,46=>348,47=>365,48=>696,49=>696,50=>696,51=>696,52=>696,53=>696,54=>696,55=>696,56=>696,57=>696,58=>369,59=>369,60=>838,61=>838,62=>838,63=>586,64=>1000,65=>776,66=>845,67=>796,68=>867,69=>762,70=>710,71=>854,72=>945,73=>468,74=>473,75=>869,76=>703,77=>1107,78=>914,79=>871,80=>752,81=>871,82=>831,83=>722,84=>744,85=>872,86=>776,87=>1123,88=>776,89=>714,90=>730,91=>473,92=>365,93=>473,94=>838,95=>500,96=>500,97=>648,98=>699,99=>609,100=>699,101=>636,102=>430,103=>699,104=>727,105=>380,106=>362,107=>693,108=>380,109=>1058,110=>727,111=>667,112=>699,113=>699,114=>527,115=>563,116=>462,117=>727,118=>581,119=>861,120=>596,121=>581,122=>568,123=>643,124=>364,125=>643,126=>838,160=>348,161=>439,162=>696,163=>696,164=>636,165=>696,166=>364,167=>523,168=>500,169=>1000,170=>487,171=>625,172=>838,173=>415,174=>1000,175=>500,176=>500,177=>838,178=>438,179=>438,180=>500,181=>732,182=>636,183=>348,184=>500,185=>438,186=>500,187=>625,188=>1043,189=>1043,190=>1043,191=>586,192=>776,193=>776,194=>776,195=>776,196=>776,197=>776,198=>1034,199=>796,200=>762,201=>762,202=>762,203=>762,204=>468,205=>468,206=>468,207=>468,208=>874,209=>914,210=>871,211=>871,212=>871,213=>871,214=>871,215=>838,216=>871,217=>872,218=>872,219=>872,220=>872,221=>714,222=>757,223=>760,224=>648,225=>648,226=>648,227=>648,228=>648,229=>648,230=>932,231=>609,232=>636,233=>636,234=>636,235=>636,236=>380,237=>380,238=>380,239=>380,240=>667,241=>727,242=>667,243=>667,244=>667,245=>667,246=>667,247=>838,248=>667,249=>727,250=>727,251=>727,252=>727,253=>581,254=>699,255=>581,256=>776,257=>648,258=>776,259=>648,260=>776,261=>648,262=>796,263=>609,264=>796,265=>609,266=>796,267=>609,268=>796,269=>609,270=>867,271=>699,272=>874,273=>699,274=>762,275=>636,276=>762,277=>636,278=>762,279=>636,280=>762,281=>636,282=>762,283=>636,284=>854,285=>699,286=>854,287=>699,288=>854,289=>699,290=>854,291=>699,292=>945,293=>727,294=>945,295=>727,296=>468,297=>380,298=>468,299=>380,300=>468,301=>380,302=>468,303=>380,304=>468,305=>380,306=>942,307=>751,308=>473,309=>362,310=>869,311=>693,312=>693,313=>703,314=>380,315=>703,316=>380,317=>703,318=>508,319=>703,320=>557,321=>710,322=>385,323=>914,324=>727,325=>914,326=>727,327=>914,328=>727,329=>1008,330=>872,331=>727,332=>871,333=>667,334=>871,335=>667,336=>871,337=>667,338=>1180,339=>1028,340=>831,341=>527,342=>831,343=>527,344=>831,345=>527,346=>722,347=>563,348=>722,349=>563,350=>722,351=>563,352=>722,353=>563,354=>744,355=>462,356=>744,357=>462,358=>744,359=>462,360=>872,361=>727,362=>872,363=>727,364=>872,365=>727,366=>872,367=>727,368=>872,369=>727,370=>872,371=>727,372=>1123,373=>861,374=>714,375=>581,376=>714,377=>730,378=>568,379=>730,380=>568,381=>730,382=>568,383=>430,384=>699,385=>845,386=>854,387=>699,388=>854,389=>699,390=>796,391=>796,392=>609,393=>874,394=>867,395=>854,396=>699,397=>667,398=>762,399=>871,400=>721,401=>710,402=>430,403=>854,404=>771,405=>1043,406=>468,407=>468,408=>869,409=>693,410=>380,411=>701,412=>1058,413=>914,414=>727,415=>871,416=>871,417=>667,418=>1200,419=>943,420=>752,421=>699,422=>831,423=>722,424=>563,425=>707,426=>331,427=>462,428=>744,429=>462,430=>744,431=>872,432=>727,433=>890,434=>890,435=>714,436=>699,437=>730,438=>568,439=>657,440=>657,441=>657,442=>657,443=>696,444=>754,445=>568,446=>536,447=>716,448=>295,449=>492,450=>459,451=>295,452=>1597,453=>1435,454=>1267,455=>1176,456=>1065,457=>742,458=>1387,459=>1276,460=>1089,461=>776,462=>648,463=>468,464=>380,465=>871,466=>667,467=>872,468=>727,469=>872,470=>727,471=>872,472=>727,473=>872,474=>727,475=>872,476=>727,477=>636,478=>776,479=>648,480=>776,481=>648,482=>1034,483=>975,484=>896,485=>699,486=>854,487=>699,488=>869,489=>693,490=>871,491=>667,492=>871,493=>667,494=>657,495=>568,496=>362,497=>1597,498=>1435,499=>1267,500=>854,501=>699,502=>1221,503=>787,504=>914,505=>727,506=>776,507=>648,508=>1034,509=>932,510=>871,511=>667,512=>776,513=>648,514=>776,515=>648,516=>762,517=>636,518=>762,519=>636,520=>468,521=>380,522=>468,523=>380,524=>871,525=>667,526=>871,527=>667,528=>831,529=>527,530=>831,531=>527,532=>872,533=>727,534=>872,535=>727,536=>722,537=>563,538=>744,539=>462,540=>690,541=>607,542=>945,543=>727,544=>872,545=>791,546=>703,547=>616,548=>730,549=>568,550=>776,551=>648,552=>762,553=>636,554=>871,555=>667,556=>871,557=>667,558=>871,559=>667,560=>871,561=>667,562=>714,563=>581,564=>573,565=>922,566=>564,567=>362,568=>1031,569=>1031,570=>776,571=>796,572=>609,573=>703,574=>744,575=>563,576=>568,577=>660,578=>547,579=>845,580=>872,581=>776,582=>762,583=>636,584=>473,585=>387,586=>848,587=>699,588=>831,589=>527,590=>714,591=>581,592=>648,593=>770,594=>770,595=>699,596=>609,597=>609,598=>699,599=>730,600=>636,601=>636,602=>907,603=>608,604=>562,605=>907,606=>720,607=>387,608=>699,609=>699,610=>626,611=>601,612=>627,613=>727,614=>727,615=>727,616=>380,617=>380,618=>380,619=>409,620=>514,621=>380,622=>795,623=>1058,624=>1058,625=>1058,626=>727,627=>727,628=>712,629=>667,630=>1061,631=>749,632=>667,633=>571,634=>571,635=>571,636=>527,637=>527,638=>452,639=>487,640=>801,641=>801,642=>563,643=>331,644=>430,645=>540,646=>331,647=>492,648=>462,649=>727,650=>679,651=>694,652=>581,653=>861,654=>635,655=>727,656=>568,657=>568,658=>568,659=>568,660=>536,661=>536,662=>536,663=>545,664=>871,665=>695,666=>720,667=>626,668=>732,669=>384,670=>740,671=>617,672=>699,673=>536,674=>536,675=>1117,676=>1179,677=>1117,678=>938,679=>715,680=>946,681=>1039,682=>870,683=>795,684=>662,685=>443,686=>613,687=>717,688=>521,689=>519,690=>313,691=>414,692=>414,693=>480,694=>527,695=>542,696=>366,697=>302,698=>521,699=>348,700=>348,701=>348,702=>366,703=>366,704=>313,705=>313,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>282,713=>500,714=>500,715=>500,716=>282,717=>500,720=>369,721=>369,722=>366,723=>366,726=>392,727=>392,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>417,736=>378,737=>292,738=>395,739=>375,740=>313,741=>500,742=>500,743=>500,744=>500,745=>500,748=>500,750=>553,751=>500,752=>500,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>779,881=>576,882=>803,883=>777,884=>302,885=>302,886=>963,887=>737,890=>500,891=>609,892=>609,893=>609,894=>369,900=>500,901=>500,902=>776,903=>348,904=>947,905=>1136,906=>662,908=>887,910=>953,911=>911,912=>484,913=>776,914=>845,915=>710,916=>776,917=>762,918=>730,919=>945,920=>871,921=>468,922=>869,923=>776,924=>1107,925=>914,926=>704,927=>871,928=>945,929=>752,931=>707,932=>744,933=>714,934=>871,935=>776,936=>913,937=>890,938=>468,939=>714,940=>770,941=>608,942=>727,943=>484,944=>694,945=>770,946=>664,947=>660,948=>667,949=>608,950=>592,951=>727,952=>667,953=>484,954=>750,955=>701,956=>732,957=>694,958=>592,959=>667,960=>732,961=>665,962=>609,963=>737,964=>673,965=>694,966=>905,967=>658,968=>941,969=>952,970=>484,971=>694,972=>667,973=>694,974=>952,975=>869,976=>667,977=>849,978=>764,979=>969,980=>764,981=>941,982=>952,983=>655,984=>871,985=>667,986=>796,987=>609,988=>710,989=>527,990=>590,991=>660,992=>796,993=>667,1008=>655,1009=>665,1010=>609,1011=>362,1012=>871,1013=>609,1014=>609,1015=>757,1016=>699,1017=>796,1018=>1107,1019=>860,1020=>692,1021=>796,1022=>796,1023=>796,1024=>762,1025=>762,1026=>901,1027=>690,1028=>795,1029=>722,1030=>468,1031=>468,1032=>473,1033=>1202,1034=>1262,1035=>963,1036=>910,1037=>945,1038=>812,1039=>945,1040=>814,1041=>854,1042=>845,1043=>690,1044=>889,1045=>762,1046=>1312,1047=>721,1048=>945,1049=>945,1050=>910,1051=>884,1052=>1107,1053=>945,1054=>871,1055=>945,1056=>752,1057=>796,1058=>744,1059=>812,1060=>949,1061=>776,1062=>966,1063=>913,1064=>1268,1065=>1293,1066=>957,1067=>1202,1068=>825,1069=>795,1070=>1287,1071=>882,1072=>648,1073=>722,1074=>657,1075=>563,1076=>695,1077=>636,1078=>1306,1079=>638,1080=>727,1081=>727,1082=>677,1083=>732,1084=>951,1085=>729,1086=>667,1087=>727,1088=>699,1089=>609,1090=>1058,1091=>598,1092=>902,1093=>596,1094=>803,1095=>715,1096=>1058,1097=>1134,1098=>727,1099=>1018,1100=>660,1101=>645,1102=>1001,1103=>796,1104=>636,1105=>636,1106=>719,1107=>563,1108=>609,1109=>563,1110=>380,1111=>380,1112=>362,1113=>1014,1114=>1011,1115=>727,1116=>677,1117=>727,1118=>598,1119=>727,1122=>880,1123=>1050,1124=>1195,1125=>963,1130=>1312,1131=>1010,1132=>1630,1133=>1247,1136=>1096,1137=>1105,1138=>871,1139=>652,1140=>916,1141=>749,1142=>916,1143=>749,1164=>846,1165=>673,1168=>700,1169=>618,1170=>690,1171=>563,1172=>854,1173=>705,1174=>1312,1175=>1306,1176=>721,1177=>638,1178=>902,1179=>703,1182=>910,1183=>677,1184=>1041,1185=>760,1186=>952,1187=>805,1188=>1167,1189=>955,1190=>1324,1191=>1013,1194=>796,1195=>609,1196=>744,1197=>1142,1198=>714,1199=>572,1200=>713,1201=>572,1202=>789,1203=>596,1204=>1010,1205=>833,1206=>913,1207=>792,1210=>910,1211=>727,1216=>468,1217=>1312,1218=>1306,1219=>869,1220=>693,1223=>945,1224=>732,1227=>984,1228=>732,1231=>380,1232=>814,1233=>648,1234=>814,1235=>648,1236=>1034,1237=>975,1238=>762,1239=>636,1240=>871,1241=>636,1242=>871,1243=>636,1244=>1312,1245=>1306,1246=>721,1247=>638,1248=>657,1249=>568,1250=>945,1251=>727,1252=>945,1253=>727,1254=>871,1255=>667,1256=>871,1257=>667,1258=>871,1259=>667,1260=>795,1261=>645,1262=>812,1263=>598,1264=>812,1265=>598,1266=>812,1267=>598,1268=>913,1269=>715,1270=>690,1271=>563,1272=>1202,1273=>1018,1296=>721,1297=>638,1298=>884,1299=>732,1300=>1248,1301=>1005,1306=>820,1307=>640,1308=>1028,1309=>856,1329=>942,1330=>832,1331=>894,1332=>909,1333=>822,1334=>821,1335=>747,1336=>832,1337=>1125,1338=>894,1339=>803,1340=>722,1341=>1188,1342=>887,1343=>842,1344=>737,1345=>863,1346=>918,1347=>851,1348=>977,1349=>833,1350=>914,1351=>843,1352=>871,1353=>818,1354=>1034,1355=>846,1356=>964,1357=>871,1358=>914,1359=>808,1360=>808,1361=>836,1362=>710,1363=>955,1364=>891,1365=>871,1366=>963,1369=>307,1370=>264,1371=>293,1372=>391,1373=>323,1374=>439,1375=>500,1377=>1055,1378=>695,1379=>776,1380=>801,1381=>729,1382=>742,1383=>599,1384=>733,1385=>909,1386=>768,1387=>724,1388=>398,1389=>1087,1390=>695,1391=>719,1392=>737,1393=>684,1394=>738,1395=>703,1396=>724,1397=>359,1398=>719,1399=>496,1400=>738,1401=>428,1402=>1059,1403=>668,1404=>744,1405=>724,1406=>724,1407=>1040,1408=>724,1409=>713,1410=>493,1411=>1040,1412=>734,1413=>693,1414=>956,1415=>833,1417=>340,1418=>388,4256=>765,4257=>945,4258=>876,4259=>884,4260=>791,4261=>1087,4262=>1024,4263=>1223,4264=>653,4265=>828,4266=>1061,4267=>1061,4268=>806,4269=>1145,4270=>979,4271=>912,4272=>1119,4273=>802,4274=>766,4275=>1085,4276=>986,4277=>1076,4278=>820,4279=>843,4280=>831,4281=>843,4282=>918,4283=>1086,4284=>779,4285=>832,4286=>822,4287=>1121,4288=>1132,4289=>812,4290=>902,4291=>812,4292=>890,4293=>1073,4304=>594,4305=>625,4306=>643,4307=>887,4308=>615,4309=>611,4310=>666,4311=>915,4312=>613,4313=>600,4314=>1120,4315=>654,4316=>640,4317=>879,4318=>624,4319=>634,4320=>877,4321=>657,4322=>802,4323=>751,4324=>869,4325=>639,4326=>912,4327=>622,4328=>647,4329=>640,4330=>729,4331=>641,4332=>639,4333=>629,4334=>674,4335=>737,4336=>625,4337=>657,4338=>625,4339=>625,4340=>624,4341=>670,4342=>940,4343=>680,4344=>636,4345=>672,4346=>625,4347=>446,4348=>363,7424=>641,7425=>892,7426=>932,7427=>695,7428=>609,7429=>675,7430=>675,7431=>617,7432=>509,7433=>320,7434=>561,7435=>722,7436=>617,7437=>869,7438=>737,7439=>667,7440=>609,7441=>628,7442=>628,7443=>667,7444=>1028,7445=>598,7446=>667,7447=>667,7448=>586,7449=>801,7450=>801,7451=>620,7452=>647,7453=>664,7454=>923,7455=>655,7456=>581,7457=>861,7458=>568,7459=>568,7460=>588,7461=>802,7462=>586,7463=>641,7464=>732,7465=>586,7466=>854,7467=>705,7468=>489,7469=>651,7470=>532,7471=>532,7472=>546,7473=>480,7474=>480,7475=>538,7476=>595,7477=>294,7478=>298,7479=>547,7480=>443,7481=>697,7482=>576,7483=>606,7484=>548,7485=>442,7486=>474,7487=>523,7488=>469,7489=>549,7490=>708,7491=>408,7492=>408,7493=>484,7494=>587,7495=>499,7496=>498,7497=>444,7498=>444,7499=>412,7500=>412,7501=>498,7502=>300,7503=>523,7504=>729,7505=>473,7506=>467,7507=>427,7508=>467,7509=>467,7510=>499,7511=>371,7512=>520,7513=>418,7514=>729,7515=>491,7516=>505,7517=>418,7518=>416,7519=>420,7520=>570,7521=>414,7522=>239,7523=>414,7524=>520,7525=>491,7526=>418,7527=>416,7528=>419,7529=>570,7530=>414,7531=>1042,7543=>640,7544=>595,7547=>380,7548=>380,7549=>699,7550=>647,7551=>679,7557=>380,7579=>484,7580=>427,7581=>427,7582=>467,7583=>412,7584=>271,7585=>373,7586=>498,7587=>522,7588=>300,7589=>307,7590=>300,7591=>300,7592=>370,7593=>368,7594=>321,7595=>430,7596=>682,7597=>729,7598=>588,7599=>587,7600=>472,7601=>467,7602=>522,7603=>400,7604=>387,7605=>371,7606=>520,7607=>475,7608=>408,7609=>489,7610=>366,7611=>357,7612=>527,7613=>412,7614=>452,7615=>467,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>776,7681=>648,7682=>845,7683=>699,7684=>845,7685=>699,7686=>845,7687=>699,7688=>796,7689=>609,7690=>867,7691=>699,7692=>867,7693=>699,7694=>867,7695=>699,7696=>867,7697=>699,7698=>867,7699=>699,7700=>762,7701=>636,7702=>762,7703=>636,7704=>762,7705=>636,7706=>762,7707=>636,7708=>762,7709=>636,7710=>710,7711=>430,7712=>854,7713=>699,7714=>945,7715=>727,7716=>945,7717=>727,7718=>945,7719=>727,7720=>945,7721=>727,7722=>945,7723=>727,7724=>468,7725=>380,7726=>468,7727=>380,7728=>869,7729=>693,7730=>869,7731=>693,7732=>869,7733=>693,7734=>703,7735=>380,7736=>703,7737=>380,7738=>703,7739=>380,7740=>703,7741=>380,7742=>1107,7743=>1058,7744=>1107,7745=>1058,7746=>1107,7747=>1058,7748=>914,7749=>727,7750=>914,7751=>727,7752=>914,7753=>727,7754=>914,7755=>727,7756=>871,7757=>667,7758=>871,7759=>667,7760=>871,7761=>667,7762=>871,7763=>667,7764=>752,7765=>699,7766=>752,7767=>699,7768=>831,7769=>527,7770=>831,7771=>527,7772=>831,7773=>527,7774=>831,7775=>527,7776=>722,7777=>563,7778=>722,7779=>563,7780=>722,7781=>563,7782=>722,7783=>563,7784=>722,7785=>563,7786=>744,7787=>462,7788=>744,7789=>462,7790=>744,7791=>462,7792=>744,7793=>462,7794=>872,7795=>727,7796=>872,7797=>727,7798=>872,7799=>727,7800=>872,7801=>727,7802=>872,7803=>727,7804=>776,7805=>581,7806=>776,7807=>581,7808=>1123,7809=>861,7810=>1123,7811=>861,7812=>1123,7813=>861,7814=>1123,7815=>861,7816=>1123,7817=>861,7818=>776,7819=>596,7820=>776,7821=>596,7822=>714,7823=>581,7824=>730,7825=>568,7826=>730,7827=>568,7828=>730,7829=>568,7830=>727,7831=>462,7832=>861,7833=>581,7834=>1014,7835=>430,7836=>430,7837=>430,7838=>947,7839=>667,7840=>776,7841=>648,7842=>776,7843=>648,7844=>776,7845=>648,7846=>776,7847=>648,7848=>776,7849=>648,7850=>776,7851=>648,7852=>776,7853=>648,7854=>776,7855=>648,7856=>776,7857=>648,7858=>776,7859=>648,7860=>776,7861=>648,7862=>776,7863=>648,7864=>762,7865=>636,7866=>762,7867=>636,7868=>762,7869=>636,7870=>762,7871=>636,7872=>762,7873=>636,7874=>762,7875=>636,7876=>762,7877=>636,7878=>762,7879=>636,7880=>468,7881=>380,7882=>468,7883=>380,7884=>871,7885=>667,7886=>871,7887=>667,7888=>871,7889=>667,7890=>871,7891=>667,7892=>871,7893=>667,7894=>871,7895=>667,7896=>871,7897=>667,7898=>871,7899=>667,7900=>871,7901=>667,7902=>871,7903=>667,7904=>871,7905=>667,7906=>871,7907=>667,7908=>872,7909=>727,7910=>872,7911=>727,7912=>872,7913=>727,7914=>872,7915=>727,7916=>872,7917=>727,7918=>872,7919=>727,7920=>872,7921=>727,7922=>714,7923=>581,7924=>714,7925=>581,7926=>714,7927=>581,7928=>714,7929=>581,7930=>1078,7931=>701,7936=>770,7937=>770,7938=>770,7939=>770,7940=>770,7941=>770,7942=>770,7943=>770,7944=>776,7945=>776,7946=>978,7947=>978,7948=>832,7949=>849,7950=>776,7951=>776,7952=>608,7953=>608,7954=>608,7955=>608,7956=>608,7957=>608,7960=>917,7961=>909,7962=>1169,7963=>1169,7964=>1093,7965=>1120,7968=>727,7969=>727,7970=>727,7971=>727,7972=>727,7973=>727,7974=>727,7975=>727,7976=>1100,7977=>1094,7978=>1358,7979=>1361,7980=>1279,7981=>1308,7982=>1197,7983=>1194,7984=>484,7985=>484,7986=>484,7987=>484,7988=>484,7989=>484,7990=>484,7991=>484,7992=>629,7993=>617,7994=>878,7995=>881,7996=>799,7997=>831,7998=>723,7999=>714,8000=>667,8001=>667,8002=>667,8003=>667,8004=>667,8005=>667,8008=>900,8009=>935,8010=>1240,8011=>1237,8012=>1035,8013=>1066,8016=>694,8017=>694,8018=>694,8019=>694,8020=>694,8021=>694,8022=>694,8023=>694,8025=>922,8027=>1186,8029=>1133,8031=>1019,8032=>952,8033=>952,8034=>952,8035=>952,8036=>952,8037=>952,8038=>952,8039=>952,8040=>931,8041=>963,8042=>1268,8043=>1274,8044=>1054,8045=>1088,8046=>1023,8047=>1060,8048=>770,8049=>770,8050=>608,8051=>608,8052=>727,8053=>727,8054=>484,8055=>484,8056=>667,8057=>667,8058=>694,8059=>694,8060=>952,8061=>952,8064=>770,8065=>770,8066=>770,8067=>770,8068=>770,8069=>770,8070=>770,8071=>770,8072=>776,8073=>776,8074=>978,8075=>978,8076=>832,8077=>849,8078=>776,8079=>776,8080=>727,8081=>727,8082=>727,8083=>727,8084=>727,8085=>727,8086=>727,8087=>727,8088=>1100,8089=>1094,8090=>1358,8091=>1361,8092=>1279,8093=>1308,8094=>1197,8095=>1194,8096=>952,8097=>952,8098=>952,8099=>952,8100=>952,8101=>952,8102=>952,8103=>952,8104=>931,8105=>963,8106=>1268,8107=>1274,8108=>1054,8109=>1088,8110=>1023,8111=>1060,8112=>770,8113=>770,8114=>770,8115=>770,8116=>770,8118=>770,8119=>770,8120=>776,8121=>776,8122=>811,8123=>776,8124=>776,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>727,8131=>727,8132=>727,8134=>727,8135=>727,8136=>1000,8137=>947,8138=>1191,8139=>1118,8140=>945,8141=>500,8142=>500,8143=>500,8144=>484,8145=>484,8146=>484,8147=>484,8150=>484,8151=>484,8152=>468,8153=>468,8154=>714,8155=>662,8157=>500,8158=>500,8159=>500,8160=>694,8161=>694,8162=>694,8163=>694,8164=>665,8165=>665,8166=>694,8167=>694,8168=>714,8169=>714,8170=>1019,8171=>953,8172=>910,8173=>500,8174=>500,8175=>500,8178=>952,8179=>952,8180=>952,8182=>952,8183=>952,8184=>1069,8185=>887,8186=>1101,8187=>911,8188=>890,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>696,8200=>348,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>415,8209=>415,8210=>696,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>348,8217=>348,8218=>348,8219=>348,8220=>575,8221=>575,8222=>575,8223=>575,8224=>523,8225=>523,8226=>639,8227=>639,8228=>348,8229=>674,8230=>1000,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1385,8241=>1813,8242=>264,8243=>447,8244=>630,8245=>264,8246=>447,8247=>630,8248=>733,8249=>400,8250=>400,8252=>629,8253=>586,8254=>500,8258=>1023,8260=>167,8261=>473,8262=>473,8263=>1082,8264=>856,8265=>856,8267=>636,8268=>500,8269=>500,8270=>523,8271=>369,8273=>523,8274=>556,8275=>1000,8279=>813,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>438,8305=>239,8308=>438,8309=>438,8310=>438,8311=>438,8312=>438,8313=>438,8314=>528,8315=>528,8316=>528,8317=>298,8318=>298,8319=>458,8320=>438,8321=>438,8322=>438,8323=>438,8324=>438,8325=>438,8326=>438,8327=>438,8328=>438,8329=>438,8330=>528,8331=>528,8332=>528,8333=>298,8334=>298,8336=>408,8337=>444,8338=>467,8339=>375,8340=>444,8341=>521,8342=>523,8343=>292,8344=>729,8345=>458,8346=>499,8347=>395,8348=>371,8358=>696,8364=>696,8367=>1155,8369=>790,8372=>876,8373=>696,8376=>744,8377=>696,8451=>1198,8457=>1112,8462=>727,8463=>727,8470=>1087,8482=>1000,8486=>890,8487=>890,8490=>869,8491=>776,8498=>710,8513=>786,8514=>576,8515=>637,8516=>760,8523=>903,8526=>592,8528=>1035,8529=>1035,8530=>1473,8531=>1035,8532=>1035,8533=>1035,8534=>1035,8535=>1035,8536=>1035,8537=>1035,8538=>1035,8539=>1035,8540=>1035,8541=>1035,8542=>1035,8543=>615,8544=>468,8545=>736,8546=>1005,8547=>1093,8548=>776,8549=>1127,8550=>1396,8551=>1664,8552=>1069,8553=>776,8554=>1078,8555=>1347,8556=>703,8557=>796,8558=>867,8559=>1107,8560=>380,8561=>760,8562=>1140,8563=>961,8564=>581,8565=>961,8566=>1341,8567=>1721,8568=>976,8569=>596,8570=>976,8571=>1356,8572=>380,8573=>609,8574=>699,8575=>1058,8576=>1255,8577=>867,8578=>1268,8579=>796,8580=>609,8581=>796,8585=>1035,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>850,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>641,8706=>534,8707=>620,8708=>620,8710=>753,8711=>753,8712=>740,8713=>740,8715=>740,8716=>740,8719=>842,8720=>842,8721=>753,8722=>838,8723=>838,8724=>838,8725=>365,8727=>691,8728=>519,8729=>519,8730=>657,8731=>657,8732=>657,8733=>672,8734=>833,8735=>838,8736=>838,8739=>324,8740=>607,8741=>529,8742=>773,8743=>812,8744=>812,8745=>838,8746=>838,8747=>579,8748=>1000,8749=>1391,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8770=>838,8771=>838,8776=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1082,8789=>1082,8800=>838,8801=>838,8804=>838,8805=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8844=>838,8845=>838,8846=>838,8847=>838,8848=>838,8849=>838,8850=>838,8851=>838,8852=>838,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>884,8867=>884,8868=>960,8869=>960,8870=>616,8871=>616,8872=>884,8873=>884,8874=>884,8875=>1080,8876=>884,8877=>884,8878=>884,8879=>1080,8901=>398,8962=>834,8968=>473,8969=>473,8970=>473,8971=>473,8976=>838,8977=>539,8984=>928,8985=>838,8992=>579,8993=>579,8997=>1000,9000=>1443,9085=>1008,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>579,9167=>945,9251=>834,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>791,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>873,9697=>873,9698=>769,9699=>769,9700=>769,9701=>769,9702=>590,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9784=>896,9785=>896,9786=>896,9787=>896,9788=>896,9791=>614,9792=>731,9793=>731,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,10145=>838,10181=>457,10182=>457,10208=>494,10216=>457,10217=>457,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1033,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>781,10241=>781,10242=>781,10243=>781,10244=>781,10245=>781,10246=>781,10247=>781,10248=>781,10249=>781,10250=>781,10251=>781,10252=>781,10253=>781,10254=>781,10255=>781,10256=>781,10257=>781,10258=>781,10259=>781,10260=>781,10261=>781,10262=>781,10263=>781,10264=>781,10265=>781,10266=>781,10267=>781,10268=>781,10269=>781,10270=>781,10271=>781,10272=>781,10273=>781,10274=>781,10275=>781,10276=>781,10277=>781,10278=>781,10279=>781,10280=>781,10281=>781,10282=>781,10283=>781,10284=>781,10285=>781,10286=>781,10287=>781,10288=>781,10289=>781,10290=>781,10291=>781,10292=>781,10293=>781,10294=>781,10295=>781,10296=>781,10297=>781,10298=>781,10299=>781,10300=>781,10301=>781,10302=>781,10303=>781,10304=>781,10305=>781,10306=>781,10307=>781,10308=>781,10309=>781,10310=>781,10311=>781,10312=>781,10313=>781,10314=>781,10315=>781,10316=>781,10317=>781,10318=>781,10319=>781,10320=>781,10321=>781,10322=>781,10323=>781,10324=>781,10325=>781,10326=>781,10327=>781,10328=>781,10329=>781,10330=>781,10331=>781,10332=>781,10333=>781,10334=>781,10335=>781,10336=>781,10337=>781,10338=>781,10339=>781,10340=>781,10341=>781,10342=>781,10343=>781,10344=>781,10345=>781,10346=>781,10347=>781,10348=>781,10349=>781,10350=>781,10351=>781,10352=>781,10353=>781,10354=>781,10355=>781,10356=>781,10357=>781,10358=>781,10359=>781,10360=>781,10361=>781,10362=>781,10363=>781,10364=>781,10365=>781,10366=>781,10367=>781,10368=>781,10369=>781,10370=>781,10371=>781,10372=>781,10373=>781,10374=>781,10375=>781,10376=>781,10377=>781,10378=>781,10379=>781,10380=>781,10381=>781,10382=>781,10383=>781,10384=>781,10385=>781,10386=>781,10387=>781,10388=>781,10389=>781,10390=>781,10391=>781,10392=>781,10393=>781,10394=>781,10395=>781,10396=>781,10397=>781,10398=>781,10399=>781,10400=>781,10401=>781,10402=>781,10403=>781,10404=>781,10405=>781,10406=>781,10407=>781,10408=>781,10409=>781,10410=>781,10411=>781,10412=>781,10413=>781,10414=>781,10415=>781,10416=>781,10417=>781,10418=>781,10419=>781,10420=>781,10421=>781,10422=>781,10423=>781,10424=>781,10425=>781,10426=>781,10427=>781,10428=>781,10429=>781,10430=>781,10431=>781,10432=>781,10433=>781,10434=>781,10435=>781,10436=>781,10437=>781,10438=>781,10439=>781,10440=>781,10441=>781,10442=>781,10443=>781,10444=>781,10445=>781,10446=>781,10447=>781,10448=>781,10449=>781,10450=>781,10451=>781,10452=>781,10453=>781,10454=>781,10455=>781,10456=>781,10457=>781,10458=>781,10459=>781,10460=>781,10461=>781,10462=>781,10463=>781,10464=>781,10465=>781,10466=>781,10467=>781,10468=>781,10469=>781,10470=>781,10471=>781,10472=>781,10473=>781,10474=>781,10475=>781,10476=>781,10477=>781,10478=>781,10479=>781,10480=>781,10481=>781,10482=>781,10483=>781,10484=>781,10485=>781,10486=>781,10487=>781,10488=>781,10489=>781,10490=>781,10491=>781,10492=>781,10493=>781,10494=>781,10495=>781,10496=>838,10497=>838,10498=>838,10499=>838,10500=>838,10501=>838,10502=>838,10503=>838,10504=>838,10505=>838,10506=>838,10507=>838,10508=>838,10509=>838,10510=>838,10511=>838,10512=>838,10513=>838,10514=>838,10515=>838,10516=>838,10517=>838,10518=>838,10519=>838,10520=>838,10521=>838,10522=>838,10523=>838,10524=>838,10525=>838,10526=>838,10527=>838,10528=>838,10529=>838,10530=>838,10531=>838,10532=>838,10533=>838,10534=>838,10535=>838,10536=>838,10537=>838,10538=>838,10539=>838,10540=>838,10541=>838,10542=>838,10543=>838,10544=>838,10545=>838,10546=>838,10547=>838,10548=>838,10549=>838,10550=>838,10551=>838,10552=>838,10553=>838,10554=>838,10555=>838,10556=>838,10557=>838,10558=>838,10559=>838,10560=>838,10561=>838,10562=>838,10563=>838,10564=>838,10565=>838,10566=>838,10567=>838,10568=>838,10569=>838,10570=>838,10571=>838,10572=>838,10573=>838,10574=>838,10575=>838,10576=>838,10577=>838,10578=>838,10579=>838,10580=>838,10581=>838,10582=>838,10583=>838,10584=>838,10585=>838,10586=>838,10587=>838,10588=>838,10589=>838,10590=>838,10591=>838,10592=>838,10593=>838,10594=>838,10595=>838,10596=>838,10597=>838,10598=>838,10599=>838,10600=>838,10601=>838,10602=>838,10603=>838,10604=>838,10605=>838,10606=>838,10607=>838,10608=>838,10609=>838,10610=>838,10611=>838,10612=>838,10613=>838,10614=>838,10615=>1032,10616=>838,10617=>838,10618=>960,10619=>838,10620=>838,10621=>838,10622=>838,10623=>838,10731=>494,10764=>1782,10765=>610,10766=>610,10799=>838,10858=>838,10859=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>838,11023=>838,11024=>838,11025=>838,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11360=>703,11361=>380,11363=>752,11364=>831,11367=>945,11368=>727,11369=>869,11370=>693,11371=>730,11372=>568,11373=>848,11374=>1107,11375=>776,11376=>848,11377=>709,11378=>1221,11379=>984,11381=>779,11382=>576,11383=>905,11385=>571,11386=>667,11387=>617,11388=>313,11389=>489,11390=>722,11391=>730,11520=>773,11521=>635,11522=>804,11523=>658,11524=>788,11525=>962,11526=>756,11527=>960,11528=>617,11529=>646,11530=>962,11531=>631,11532=>646,11533=>962,11534=>846,11535=>866,11536=>961,11537=>645,11538=>645,11539=>959,11540=>945,11541=>863,11542=>644,11543=>646,11544=>645,11545=>649,11546=>688,11547=>936,11548=>982,11549=>681,11550=>676,11551=>852,11552=>1113,11553=>632,11554=>645,11555=>646,11556=>749,11557=>914,11800=>586,11807=>838,11810=>473,11811=>473,11812=>473,11813=>473,11822=>586,42564=>722,42565=>563,42566=>468,42567=>380,42576=>1333,42577=>1085,42580=>1287,42581=>1025,42582=>1287,42583=>1029,42760=>500,42761=>500,42762=>500,42763=>500,42764=>500,42765=>500,42766=>500,42767=>500,42768=>500,42769=>500,42770=>500,42771=>500,42772=>500,42773=>500,42774=>500,42779=>384,42780=>384,42781=>276,42782=>276,42783=>276,42790=>945,42791=>712,42792=>1003,42793=>909,42794=>696,42795=>609,42796=>634,42797=>598,42798=>741,42799=>706,42800=>592,42801=>563,42802=>1301,42803=>983,42804=>1261,42805=>985,42806=>1168,42807=>1007,42808=>1016,42809=>832,42810=>1016,42811=>832,42812=>994,42813=>746,42814=>796,42815=>609,42816=>869,42817=>693,42822=>916,42823=>581,42826=>1010,42827=>770,42830=>1448,42831=>1060,42856=>787,42857=>716,42875=>694,42876=>527,42880=>703,42881=>380,42882=>872,42883=>727,42884=>694,42885=>527,42886=>796,42887=>609,42891=>439,42892=>306,42893=>913,42896=>914,42897=>812,42922=>945,43002=>1068,43003=>710,43004=>752,43005=>1107,43006=>468,43007=>1286,62464=>726,62465=>737,62466=>786,62467=>1019,62468=>737,62469=>731,62470=>796,62471=>1058,62472=>737,62473=>737,62474=>1329,62475=>754,62476=>753,62477=>1024,62478=>737,62479=>753,62480=>1070,62481=>818,62482=>870,62483=>819,62484=>1016,62485=>753,62486=>1008,62487=>752,62488=>760,62489=>753,62490=>800,62491=>753,62492=>760,62493=>738,62494=>801,62495=>956,62496=>736,62497=>847,62498=>737,62499=>737,62500=>737,62501=>793,62502=>1033,62504=>904,63172=>380,63173=>667,63174=>699,63175=>727,63176=>1058,63185=>500,63188=>500,64256=>827,64257=>727,64258=>727,64259=>1108,64260=>1146,64261=>879,64262=>971,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1113,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.z new file mode 100644 index 0000000..c27ff39 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.ctg.z new file mode 100644 index 0000000..c502e3b Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.php new file mode 100644 index 0000000..fdbfb35 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-693 -347 1512 1109]','ItalicAngle'=>0,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>34,'StemH'=>15,'AvgWidth'=>461,'MaxWidth'=>1560,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(123,-14,240,729),34=>array(88,458,326,729),35=>array(69,0,686,718),36=>array(76,-147,498,760),37=>array(49,-14,806,742),38=>array(64,-14,759,742),39=>array(88,458,158,729),40=>array(71,-156,287,760),41=>array(63,-156,280,760),42=>array(14,287,436,742),43=>array(95,0,659,627),44=>array(32,-136,199,111),45=>array(40,230,265,306),46=>array(84,-14,202,116),47=>array(0,-93,303,729),48=>array(59,-14,513,742),49=>array(110,0,445,742),50=>array(61,0,484,742),51=>array(68,-14,506,742),52=>array(27,0,527,742),53=>array(76,-14,503,729),54=>array(60,-14,516,742),55=>array(75,0,508,729),56=>array(60,-14,512,742),57=>array(57,-14,512,742),58=>array(93,-14,211,434),59=>array(32,-136,212,434),60=>array(95,46,659,581),61=>array(95,175,659,452),62=>array(95,46,659,581),63=>array(61,-14,439,742),64=>array(59,-174,836,704),65=>array(-5,0,659,729),66=>array(49,0,606,729),67=>array(50,-14,635,742),68=>array(49,0,670,729),69=>array(49,0,585,729),70=>array(49,0,587,729),71=>array(50,-14,648,742),72=>array(49,0,735,729),73=>array(49,0,306,729),74=>array(-76,-208,320,729),75=>array(49,0,686,729),76=>array(49,0,576,729),77=>array(44,0,876,729),78=>array(44,-14,748,729),79=>array(50,-14,688,742),80=>array(49,0,574,729),81=>array(50,-160,688,742),82=>array(49,0,699,729),83=>array(75,-14,551,742),84=>array(9,0,592,729),85=>array(42,-14,718,729),86=>array(-9,0,664,729),87=>array(4,0,923,729),88=>array(5,0,637,729),89=>array(-10,0,602,729),90=>array(40,0,590,729),91=>array(77,-132,282,760),92=>array(0,-93,303,729),93=>array(69,-132,274,760),94=>array(95,457,659,729),95=>array(0,-236,450,-197),96=>array(75,615,276,799),97=>array(44,-14,511,533),98=>array(26,-14,531,760),99=>array(44,-14,463,533),100=>array(44,-14,550,760),101=>array(44,-14,488,533),102=>array(32,0,387,760),103=>array(44,-222,550,533),104=>array(32,0,555,760),105=>array(32,0,268,736),106=>array(-87,-222,191,736),107=>array(26,0,552,760),108=>array(26,0,261,760),109=>array(32,0,829,533),110=>array(32,0,555,533),111=>array(44,-14,497,533),112=>array(26,-208,531,533),113=>array(44,-208,550,533),114=>array(32,0,431,533),115=>array(50,-14,416,533),116=>array(26,-14,355,680),117=>array(24,-14,546,519),118=>array(-3,0,506,519),119=>array(14,0,759,519),120=>array(11,0,497,519),121=>array(-3,-222,506,519),122=>array(36,0,441,519),123=>array(112,-163,460,760),124=>array(116,-236,188,764),125=>array(112,-163,460,760),126=>array(95,233,659,394),161=>array(123,0,240,743),162=>array(67,-145,485,662),163=>array(60,0,494,742),164=>array(45,45,529,582),165=>array(-7,0,576,729),166=>array(116,-171,188,699),167=>array(40,-95,410,742),168=>array(88,652,362,766),169=>array(124,0,776,725),170=>array(55,261,404,742),171=>array(69,69,466,517),172=>array(95,140,659,421),173=>array(40,230,265,306),174=>array(124,0,776,725),175=>array(93,673,356,745),176=>array(85,432,365,742),177=>array(95,0,659,627),178=>array(40,326,304,742),179=>array(44,319,315,742),180=>array(172,616,374,800),181=>array(26,-208,553,519),182=>array(69,-96,515,729),183=>array(83,282,201,412),184=>array(127,-193,310,0),185=>array(64,326,291,734),186=>array(41,261,382,742),187=>array(84,69,482,517),188=>array(64,-14,844,742),189=>array(64,-14,815,742),190=>array(44,-14,844,742),191=>array(61,-13,439,743),192=>array(-5,0,659,927),193=>array(-5,0,659,927),194=>array(-5,0,659,927),195=>array(-5,0,659,921),196=>array(-5,0,659,920),197=>array(-5,0,659,928),198=>array(-16,0,854,729),199=>array(50,-193,635,742),200=>array(49,0,585,927),201=>array(49,0,585,927),202=>array(49,0,585,927),203=>array(49,0,585,920),204=>array(49,0,306,927),205=>array(49,0,306,927),206=>array(38,0,319,927),207=>array(42,0,315,920),208=>array(49,0,674,729),209=>array(44,-14,748,921),210=>array(50,-14,688,927),211=>array(50,-14,688,927),212=>array(50,-14,688,927),213=>array(50,-14,688,921),214=>array(50,-14,688,920),215=>array(124,33,630,594),216=>array(44,-28,692,757),217=>array(42,-14,718,927),218=>array(42,-14,718,927),219=>array(42,-14,718,927),220=>array(42,-14,718,920),221=>array(-10,0,602,927),222=>array(49,0,574,729),223=>array(26,-14,562,760),224=>array(44,-14,511,799),225=>array(44,-14,511,800),226=>array(44,-14,511,800),227=>array(44,-14,511,777),228=>array(44,-14,511,766),229=>array(44,-14,511,878),230=>array(44,-14,801,533),231=>array(44,-193,463,533),232=>array(44,-14,488,799),233=>array(44,-14,488,800),234=>array(44,-14,488,800),235=>array(44,-14,488,766),236=>array(-6,0,268,799),237=>array(32,0,293,800),238=>array(4,0,285,800),239=>array(7,0,281,766),240=>array(44,-14,497,760),241=>array(32,0,555,777),242=>array(44,-14,497,799),243=>array(44,-14,497,800),244=>array(44,-14,497,800),245=>array(44,-14,497,777),246=>array(44,-14,497,766),247=>array(95,68,659,559),248=>array(33,-46,505,565),249=>array(24,-14,546,799),250=>array(24,-14,546,800),251=>array(24,-14,546,800),252=>array(24,-14,546,766),253=>array(-3,-222,506,800),254=>array(26,-208,531,760),255=>array(-3,-222,506,766),256=>array(-5,0,659,899),257=>array(44,-14,511,745),258=>array(-5,0,659,926),259=>array(44,-14,511,772),260=>array(-5,-192,659,729),261=>array(44,-192,511,533),262=>array(50,-14,635,927),263=>array(44,-14,463,800),264=>array(50,-14,635,927),265=>array(44,-14,463,800),266=>array(50,-14,635,921),267=>array(44,-14,463,766),268=>array(50,-14,635,927),269=>array(44,-14,463,800),270=>array(49,0,670,927),271=>array(44,-14,665,760),272=>array(49,0,674,729),273=>array(44,-14,550,760),274=>array(49,0,585,899),275=>array(44,-14,488,746),276=>array(49,0,585,928),277=>array(44,-14,488,785),278=>array(49,0,585,921),279=>array(44,-14,488,766),280=>array(49,-192,585,729),281=>array(44,-192,488,533),282=>array(49,0,585,927),283=>array(44,-14,488,800),284=>array(50,-14,648,927),285=>array(44,-222,550,800),286=>array(50,-14,648,928),287=>array(44,-222,550,785),288=>array(50,-14,648,921),289=>array(44,-222,550,766),290=>array(50,-224,648,742),291=>array(44,-222,550,741),292=>array(49,0,735,927),293=>array(-27,0,555,927),294=>array(49,0,735,729),295=>array(32,0,555,760),296=>array(32,0,323,921),297=>array(-1,0,289,777),298=>array(46,0,310,899),299=>array(-20,0,268,745),300=>array(41,0,314,928),301=>array(6,0,281,785),302=>array(49,-192,306,729),303=>array(32,-192,268,736),304=>array(49,0,306,921),305=>array(32,0,268,519),306=>array(49,-208,680,729),307=>array(32,-222,448,736),308=>array(-76,-208,322,927),309=>array(-87,-222,255,800),310=>array(49,-209,686,729),311=>array(26,-209,552,760),312=>array(26,0,552,518),313=>array(49,0,576,928),314=>array(26,0,261,928),315=>array(49,-209,576,729),316=>array(26,-207,261,760),317=>array(49,0,576,729),318=>array(26,0,376,760),319=>array(49,0,576,729),320=>array(26,0,368,760),321=>array(38,0,581,729),322=>array(20,0,279,760),323=>array(44,-14,748,928),324=>array(32,0,555,776),325=>array(44,-216,748,729),326=>array(32,-209,555,533),327=>array(44,-14,748,932),328=>array(32,0,555,800),329=>array(49,0,730,742),330=>array(42,-208,635,743),331=>array(32,-222,483,533),332=>array(50,-14,688,899),333=>array(44,-14,497,745),334=>array(50,-14,688,928),335=>array(44,-14,497,785),336=>array(50,-14,688,927),337=>array(44,-14,497,800),338=>array(52,0,952,729),339=>array(44,-14,845,533),340=>array(49,0,699,928),341=>array(32,0,431,776),342=>array(49,-209,699,729),343=>array(32,-209,431,533),344=>array(49,0,699,927),345=>array(32,0,431,800),346=>array(75,-14,551,928),347=>array(50,-14,416,776),348=>array(75,-14,551,927),349=>array(50,-14,416,800),350=>array(75,-193,551,742),351=>array(50,-193,416,533),352=>array(75,-14,551,927),353=>array(50,-14,416,800),354=>array(9,-193,592,729),355=>array(26,-193,355,680),356=>array(9,0,592,927),357=>array(26,-14,355,788),358=>array(9,0,592,729),359=>array(26,-14,355,680),360=>array(42,-14,718,921),361=>array(24,-14,546,777),362=>array(42,-14,718,899),363=>array(24,-14,546,745),364=>array(42,-14,718,928),365=>array(24,-14,546,785),366=>array(42,-14,718,1051),367=>array(24,-14,546,868),368=>array(42,-14,718,927),369=>array(24,-14,546,800),370=>array(42,-200,718,729),371=>array(24,-192,581,519),372=>array(4,0,923,931),373=>array(14,0,759,800),374=>array(-10,0,602,931),375=>array(-3,-222,506,800),376=>array(-10,0,602,920),377=>array(40,0,590,928),378=>array(36,0,441,776),379=>array(40,0,590,930),380=>array(36,0,441,734),381=>array(40,0,590,927),382=>array(36,0,441,800),383=>array(32,0,387,760),384=>array(26,-14,531,760),385=>array(-84,0,606,729),386=>array(49,0,606,729),387=>array(26,-14,531,760),388=>array(49,0,606,729),389=>array(26,-14,531,760),390=>array(50,-14,635,742),391=>array(50,-14,813,796),392=>array(44,-14,644,639),393=>array(49,0,674,729),394=>array(-84,0,670,729),395=>array(49,0,606,729),396=>array(26,-14,531,760),397=>array(44,-246,497,533),398=>array(49,0,585,729),399=>array(50,-14,688,742),400=>array(55,-14,512,742),401=>array(-89,-208,587,729),402=>array(-87,-185,387,760),403=>array(50,-14,822,796),404=>array(8,-92,606,729),405=>array(32,-3,795,760),406=>array(49,0,306,729),407=>array(45,0,310,729),408=>array(49,0,739,741),409=>array(31,0,552,760),410=>array(26,0,261,760),411=>array(37,0,545,765),412=>array(32,-14,829,730),413=>array(-90,-208,748,729),414=>array(32,-208,555,533),415=>array(50,-14,688,742),416=>array(48,-14,710,760),417=>array(43,-14,582,533),418=>array(50,-157,911,742),419=>array(44,-208,700,533),420=>array(-84,0,574,729),421=>array(26,-208,531,716),422=>array(49,-159,699,729),423=>array(75,-14,551,742),424=>array(50,-14,416,533),425=>array(36,0,576,729),426=>array(-87,-222,346,761),427=>array(26,-222,355,680),428=>array(38,0,592,729),429=>array(26,-14,375,760),430=>array(9,-208,592,729),431=>array(40,-14,889,802),432=>array(19,-14,620,532),433=>array(55,-14,692,729),434=>array(49,0,630,729),435=>array(-10,0,719,729),436=>array(-3,-222,597,530),437=>array(40,0,590,729),438=>array(36,0,441,519),439=>array(44,-14,482,729),440=>array(44,-14,482,729),441=>array(44,-224,482,519),442=>array(57,-224,470,519),443=>array(61,0,493,742),444=>array(49,-14,551,729),445=>array(17,-224,482,519),446=>array(97,-15,385,680),447=>array(26,-208,522,560),448=>array(97,0,168,729),449=>array(97,0,346,729),450=>array(8,0,405,729),451=>array(97,0,168,729),452=>array(49,0,1312,927),453=>array(49,0,1163,800),454=>array(44,-14,1018,800),455=>array(49,-208,917,729),456=>array(49,-222,789,736),457=>array(26,-222,479,760),458=>array(44,-208,1107,729),459=>array(44,-222,979,736),460=>array(32,-222,771,736),461=>array(-5,0,659,927),462=>array(44,-14,511,800),463=>array(38,0,318,927),464=>array(3,0,284,800),465=>array(50,-14,688,927),466=>array(44,-14,497,800),467=>array(42,-14,718,927),468=>array(24,-14,546,800),469=>array(42,-14,718,1025),470=>array(24,-14,546,886),471=>array(42,-14,718,1044),472=>array(24,-14,546,905),473=>array(42,-14,718,1043),474=>array(24,-14,546,904),475=>array(42,-14,718,1044),476=>array(24,-14,546,905),477=>array(44,-14,488,533),478=>array(-5,0,659,1025),479=>array(44,-14,511,886),480=>array(-5,0,659,1025),481=>array(44,-14,511,888),482=>array(-16,0,854,899),483=>array(44,-14,801,745),484=>array(50,-14,737,742),485=>array(44,-222,550,533),486=>array(50,-14,648,927),487=>array(44,-222,550,800),488=>array(49,0,686,927),489=>array(5,0,552,961),490=>array(50,-200,688,742),491=>array(44,-200,497,533),492=>array(50,-200,688,899),493=>array(44,-200,497,745),494=>array(44,-14,482,927),495=>array(44,-224,482,800),496=>array(-87,-222,284,800),497=>array(49,0,1312,729),498=>array(49,0,1163,729),499=>array(44,-14,1018,760),500=>array(50,-14,648,927),501=>array(44,-222,550,800),502=>array(49,-14,999,729),503=>array(49,-208,587,742),504=>array(44,-14,748,927),505=>array(32,0,555,799),506=>array(-5,0,659,927),507=>array(44,-14,511,927),508=>array(-16,0,854,927),509=>array(44,-14,801,802),510=>array(44,-28,692,927),511=>array(33,-46,505,800),512=>array(-5,0,659,927),513=>array(44,-14,511,800),514=>array(-5,0,659,967),515=>array(44,-14,511,785),516=>array(49,0,585,927),517=>array(44,-14,488,800),518=>array(49,0,585,967),519=>array(44,-14,488,785),520=>array(-17,0,306,927),521=>array(-54,0,268,800),522=>array(41,0,316,967),523=>array(6,0,282,785),524=>array(50,-14,688,927),525=>array(44,-14,497,800),526=>array(50,-14,688,967),527=>array(44,-14,497,785),528=>array(49,0,699,927),529=>array(32,0,431,800),530=>array(49,0,699,967),531=>array(32,0,431,785),532=>array(42,-14,718,927),533=>array(24,-14,546,800),534=>array(42,-14,718,967),535=>array(24,-14,546,785),536=>array(75,-225,551,742),537=>array(50,-225,416,533),538=>array(9,-225,592,729),539=>array(26,-225,355,680),540=>array(68,-210,501,742),541=>array(31,-211,420,530),542=>array(49,0,735,927),543=>array(5,0,555,961),544=>array(42,-208,718,744),545=>array(44,-73,717,760),546=>array(36,-14,490,742),547=>array(44,-14,452,760),548=>array(40,-187,590,729),549=>array(36,-195,441,519),550=>array(-5,0,659,921),551=>array(44,-14,511,766),552=>array(49,-193,585,729),553=>array(44,-193,488,533),554=>array(50,-14,688,1025),555=>array(44,-14,497,886),556=>array(50,-14,688,1025),557=>array(44,-14,497,862),558=>array(50,-14,688,920),559=>array(44,-14,497,766),560=>array(50,-14,688,1025),561=>array(44,-14,497,887),562=>array(-10,0,602,899),563=>array(-3,-222,506,745),564=>array(26,-107,435,760),565=>array(32,-107,733,533),566=>array(26,-107,429,680),567=>array(-87,-222,191,519),568=>array(44,-14,819,760),569=>array(44,-208,819,533),570=>array(-5,-28,659,757),571=>array(20,-28,668,757),572=>array(16,-46,488,565),573=>array(45,0,576,729),574=>array(-24,-28,625,757),575=>array(50,-222,416,533),576=>array(36,-222,475,519),577=>array(33,0,493,729),578=>array(33,0,386,533),579=>array(45,0,606,729),580=>array(38,-14,723,729),581=>array(-5,0,659,729),582=>array(49,-54,585,783),583=>array(44,-54,488,579),584=>array(-76,-208,324,729),585=>array(-87,-222,268,736),586=>array(50,-208,803,742),587=>array(44,-222,669,533),588=>array(45,0,699,729),589=>array(32,0,431,533),590=>array(-10,0,602,729),591=>array(-3,-222,506,519),592=>array(44,-14,511,533),593=>array(44,-14,550,533),594=>array(44,-14,550,533),595=>array(26,-14,531,760),596=>array(44,-14,463,533),597=>array(44,-107,448,533),598=>array(44,-222,669,760),599=>array(44,-14,668,760),600=>array(44,-14,488,533),601=>array(44,-14,488,533),602=>array(53,-14,813,533),603=>array(44,-19,425,524),604=>array(45,-19,425,524),605=>array(44,-19,750,524),606=>array(44,-18,511,533),607=>array(-87,-222,268,519),608=>array(44,-222,669,760),609=>array(44,-222,550,519),610=>array(44,-18,463,529),611=>array(11,-223,528,519),612=>array(63,-17,454,532),613=>array(24,-208,546,519),614=>array(37,0,555,760),615=>array(37,-222,483,760),616=>array(32,0,268,736),617=>array(32,0,269,519),618=>array(32,0,268,519),619=>array(32,0,322,760),620=>array(32,0,388,760),621=>array(26,-222,381,760),622=>array(26,-224,608,760),623=>array(32,0,829,533),624=>array(32,-208,829,533),625=>array(32,-222,756,533),626=>array(-87,-222,554,533),627=>array(32,-222,679,533),628=>array(30,-14,562,519),629=>array(44,-14,497,533),630=>array(44,0,686,519),631=>array(44,-14,542,530),632=>array(44,-208,497,760),633=>array(32,-14,431,519),634=>array(32,-14,431,759),635=>array(32,-222,550,519),636=>array(32,-207,431,533),637=>array(32,-222,431,533),638=>array(37,0,387,530),639=>array(37,0,387,530),640=>array(31,0,524,519),641=>array(31,0,524,519),642=>array(50,-222,416,533),643=>array(-87,-222,299,761),644=>array(-87,-222,387,760),645=>array(32,-222,417,530),646=>array(-87,-222,346,761),647=>array(26,-161,355,533),648=>array(26,-208,355,680),649=>array(24,-14,546,519),650=>array(44,-14,514,519),651=>array(32,-3,503,519),652=>array(-3,0,506,519),653=>array(14,0,759,519),654=>array(-3,0,506,741),655=>array(37,0,558,519),656=>array(36,-222,637,519),657=>array(36,-93,444,519),658=>array(44,-224,482,519),659=>array(57,-224,482,519),660=>array(103,0,391,761),661=>array(103,0,391,761),662=>array(103,0,391,761),663=>array(50,-222,328,759),664=>array(50,-14,688,742),665=>array(32,0,469,519),666=>array(44,-18,511,533),667=>array(44,-18,643,760),668=>array(31,0,553,519),669=>array(-87,-222,248,736),670=>array(26,-209,553,519),671=>array(37,0,466,519),672=>array(44,-208,669,760),673=>array(103,0,391,761),674=>array(103,0,391,761),675=>array(44,-14,863,760),676=>array(44,-224,897,760),677=>array(44,-93,865,760),678=>array(26,0,695,680),679=>array(26,-222,592,761),680=>array(26,-14,705,680),681=>array(32,-222,771,760),682=>array(26,0,602,760),683=>array(26,0,576,760),684=>array(31,-15,492,625),685=>array(31,105,353,625),686=>array(26,-207,670,760),687=>array(26,-222,790,760),688=>array(20,326,344,751),689=>array(20,326,341,751),690=>array(20,202,192,739),691=>array(20,327,267,625),692=>array(20,318,267,617),693=>array(20,202,342,617),694=>array(20,327,307,617),695=>array(20,327,481,617),696=>array(20,202,335,617),697=>array(70,557,183,800),698=>array(70,557,346,800),699=>array(92,495,242,742),700=>array(92,495,242,742),701=>array(92,495,242,742),702=>array(51,492,172,760),703=>array(51,492,172,760),704=>array(20,347,207,772),705=>array(20,347,207,772),706=>array(117,524,333,836),707=>array(117,524,333,836),708=>array(84,561,365,800),709=>array(84,561,365,800),710=>array(84,616,365,800),711=>array(84,616,365,800),712=>array(93,526,158,759),713=>array(93,673,356,745),714=>array(172,616,374,800),715=>array(75,615,276,799),716=>array(93,-124,158,110),717=>array(93,-156,356,-84),720=>array(95,0,208,434),721=>array(95,303,208,434),722=>array(51,249,172,517),723=>array(51,249,172,517),726=>array(40,153,250,387),727=>array(40,234,250,306),728=>array(87,645,363,785),729=>array(173,652,277,766),730=>array(104,610,346,878),731=>array(146,-192,310,0),732=>array(80,639,370,777),733=>array(107,616,413,800),734=>array(0,307,377,508),736=>array(7,201,333,617),737=>array(20,326,173,751),738=>array(24,318,262,625),739=>array(20,326,336,617),740=>array(20,347,207,772),741=>array(94,0,351,668),742=>array(94,0,351,668),743=>array(94,0,351,668),744=>array(94,0,351,668),745=>array(94,0,351,668),748=>array(84,-281,365,-42),750=>array(92,495,391,742),751=>array(84,-241,365,-58),752=>array(84,-281,365,-42),755=>array(104,-240,346,28),759=>array(80,-192,370,-55),768=>array(-373,615,-171,799),769=>array(-277,616,-76,800),770=>array(-365,616,-84,800),771=>array(-373,639,-83,777),772=>array(-356,673,-93,745),773=>array(-450,716,0,755),774=>array(-363,645,-87,785),775=>array(-277,652,-173,766),776=>array(-365,652,-91,766),777=>array(-309,616,-126,852),778=>array(-351,610,-110,878),779=>array(-343,616,-37,800),780=>array(-365,616,-84,800),781=>array(-257,616,-191,803),782=>array(-354,616,-94,803),783=>array(-422,616,-115,800),784=>array(-363,645,-87,874),785=>array(-363,645,-87,785),786=>array(-255,495,-121,644),787=>array(-278,606,-161,829),788=>array(-291,606,-173,829),789=>array(-58,616,58,800),790=>array(-371,-260,-170,-76),791=>array(-277,-259,-76,-76),792=>array(-298,-340,-160,-107),793=>array(-290,-340,-152,-107),794=>array(-176,698,35,932),795=>array(-134,350,40,532),796=>array(-280,-347,-159,-79),797=>array(-330,-251,-119,-99),798=>array(-330,-260,-119,-107),799=>array(-329,-340,-118,-107),800=>array(-330,-179,-119,-107),801=>array(-377,-222,-99,63),802=>array(-353,-222,-75,63),803=>array(-277,-191,-173,-77),804=>array(-363,-191,-89,-77),805=>array(-320,-241,-132,-32),806=>array(-313,-225,-180,-76),807=>array(-322,-193,-140,0),808=>array(-304,-192,-140,0),809=>array(-258,-263,-192,-76),810=>array(-356,-259,-93,-75),811=>array(-365,-217,-85,-77),812=>array(-365,-241,-84,-58),813=>array(-365,-240,-84,-57),814=>array(-363,-217,-87,-77),815=>array(-363,-216,-87,-76),816=>array(-373,-213,-83,-76),817=>array(-356,-147,-93,-75),818=>array(-450,-236,0,-197),819=>array(-450,-236,0,-80),820=>array(-663,212,-85,415),821=>array(-262,227,-26,278),822=>array(-554,227,-32,278),823=>array(-503,-46,-31,565),824=>array(-693,-28,-44,757),825=>array(-282,-344,-161,-76),826=>array(-359,-256,-96,-72),827=>array(-346,-344,-104,-75),828=>array(-365,-217,-85,-77),829=>array(-323,575,-128,792),830=>array(-281,592,-157,850),831=>array(-450,599,0,755),835=>array(-278,606,-161,829),856=>array(-99,652,4,766),864=>array(-387,723,387,859),865=>array(-401,729,401,869),880=>array(49,0,617,729),881=>array(31,0,431,519),882=>array(9,0,592,729),883=>array(36,0,464,519),884=>array(70,557,183,800),885=>array(70,-208,183,35),886=>array(44,-14,748,743),887=>array(31,0,553,519),890=>array(192,-208,303,-60),891=>array(44,-14,463,533),892=>array(44,-14,463,533),893=>array(44,-14,463,533),894=>array(32,-136,212,434),900=>array(172,616,374,800),901=>array(88,652,374,996),902=>array(-5,0,659,800),903=>array(83,282,201,412),904=>array(6,0,738,800),905=>array(6,0,886,800),906=>array(6,0,457,800),908=>array(6,-14,702,800),910=>array(6,0,816,800),911=>array(6,0,713,800),912=>array(7,22,303,996),913=>array(-5,0,659,729),914=>array(49,0,606,729),915=>array(49,0,587,729),916=>array(34,0,612,729),917=>array(49,0,585,729),918=>array(40,0,590,729),919=>array(49,0,735,729),920=>array(50,-14,688,742),921=>array(49,0,306,729),922=>array(49,0,686,729),923=>array(-5,0,659,729),924=>array(44,0,876,729),925=>array(44,-14,748,729),926=>array(49,0,578,729),927=>array(50,-14,688,742),928=>array(49,0,735,729),929=>array(49,0,574,729),931=>array(36,0,576,729),932=>array(9,0,592,729),933=>array(-10,0,602,729),934=>array(50,0,688,729),935=>array(5,0,637,729),936=>array(42,0,755,729),937=>array(55,0,692,742),938=>array(43,0,316,920),939=>array(-10,0,602,920),940=>array(44,-12,584,800),941=>array(44,-19,425,800),942=>array(32,-208,483,800),943=>array(32,22,303,800),944=>array(32,-3,503,996),945=>array(44,-12,584,533),946=>array(57,-208,475,765),947=>array(32,-209,494,519),948=>array(44,-14,497,765),949=>array(44,-19,425,524),950=>array(36,-208,450,760),951=>array(32,-208,483,533),952=>array(44,-11,497,771),953=>array(32,22,303,519),954=>array(31,0,552,519),955=>array(37,0,545,765),956=>array(31,-208,553,519),957=>array(32,0,500,519),958=>array(36,-208,450,760),959=>array(44,-14,497,533),960=>array(32,0,559,519),961=>array(57,-208,484,533),962=>array(44,-208,450,533),963=>array(44,-14,588,519),964=>array(36,22,464,519),965=>array(32,-3,503,519),966=>array(40,-208,591,521),967=>array(11,-222,526,533),968=>array(57,-208,649,519),969=>array(40,-3,690,519),970=>array(9,22,303,766),971=>array(32,-3,503,766),972=>array(44,-14,497,800),973=>array(32,-3,503,800),974=>array(40,-3,690,800),975=>array(49,-240,652,729),976=>array(44,-11,479,771),977=>array(31,-11,610,771),978=>array(26,0,585,731),979=>array(6,0,754,800),980=>array(26,0,585,920),981=>array(34,-208,579,760),982=>array(19,-3,709,519),983=>array(42,-222,516,533),984=>array(50,-208,688,742),985=>array(44,-208,497,533),986=>array(50,-208,617,742),987=>array(44,-208,450,616),988=>array(49,0,587,729),989=>array(-82,-211,388,742),990=>array(47,0,476,729),991=>array(83,0,510,759),992=>array(68,-208,653,742),993=>array(40,-208,482,533),1008=>array(42,-4,516,533),1009=>array(57,-210,484,533),1010=>array(44,-14,463,533),1011=>array(-87,-222,191,736),1012=>array(50,-14,688,742),1013=>array(44,-14,463,533),1014=>array(44,-14,463,533),1015=>array(49,0,574,729),1016=>array(26,-208,531,760),1017=>array(50,-14,635,742),1018=>array(44,0,876,729),1019=>array(42,-208,604,519),1020=>array(37,-208,509,533),1021=>array(50,-14,635,742),1022=>array(50,-14,635,742),1023=>array(50,-14,635,742),1024=>array(49,0,585,927),1025=>array(49,0,585,920),1026=>array(-35,-216,652,729),1027=>array(49,0,558,927),1028=>array(50,-14,635,742),1029=>array(75,-14,551,742),1030=>array(49,0,306,729),1031=>array(42,0,315,920),1032=>array(-76,-208,320,729),1033=>array(22,-14,930,729),1034=>array(49,0,960,729),1035=>array(-35,0,735,729),1036=>array(49,0,686,927),1037=>array(49,0,735,927),1038=>array(10,-14,640,957),1039=>array(49,-157,735,729),1040=>array(10,0,675,729),1041=>array(49,0,606,729),1042=>array(49,0,606,729),1043=>array(49,0,558,729),1044=>array(44,-157,686,729),1045=>array(49,0,585,729),1046=>array(10,0,1001,729),1047=>array(48,-14,506,742),1048=>array(49,0,735,729),1049=>array(49,0,735,957),1050=>array(49,0,686,729),1051=>array(22,-14,706,729),1052=>array(44,0,876,729),1053=>array(49,0,735,729),1054=>array(50,-14,688,742),1055=>array(49,0,735,729),1056=>array(49,0,574,729),1057=>array(50,-14,635,742),1058=>array(9,0,592,729),1059=>array(10,-14,640,729),1060=>array(51,0,696,729),1061=>array(5,0,637,729),1062=>array(49,-157,753,729),1063=>array(9,0,650,729),1064=>array(49,0,978,729),1065=>array(49,-157,978,729),1066=>array(31,0,683,729),1067=>array(49,0,836,729),1068=>array(49,0,575,729),1069=>array(50,-14,635,742),1070=>array(49,-14,1015,742),1071=>array(31,0,677,729),1072=>array(44,-14,511,533),1073=>array(38,-14,497,776),1074=>array(32,0,469,519),1075=>array(26,0,433,519),1076=>array(32,-138,518,519),1077=>array(44,-14,488,533),1078=>array(11,0,817,519),1079=>array(40,-14,446,533),1080=>array(31,0,553,519),1081=>array(31,0,553,746),1082=>array(31,0,552,519),1083=>array(16,-14,540,519),1084=>array(32,0,668,519),1085=>array(31,0,553,519),1086=>array(44,-14,497,533),1087=>array(31,0,553,519),1088=>array(26,-208,531,533),1089=>array(44,-14,463,533),1090=>array(36,0,464,519),1091=>array(10,-222,519,519),1092=>array(35,-208,670,760),1093=>array(11,0,497,519),1094=>array(32,-138,554,519),1095=>array(31,0,547,519),1096=>array(32,0,813,519),1097=>array(32,-138,813,519),1098=>array(26,0,535,519),1099=>array(26,0,685,519),1100=>array(26,0,453,519),1101=>array(44,-14,463,533),1102=>array(26,-14,743,533),1103=>array(28,0,521,519),1104=>array(44,-14,488,799),1105=>array(44,-14,488,766),1106=>array(19,-222,516,760),1107=>array(26,0,433,800),1108=>array(44,-14,463,533),1109=>array(50,-14,416,533),1110=>array(32,0,268,736),1111=>array(7,0,281,766),1112=>array(-87,-222,191,736),1113=>array(16,-14,734,519),1114=>array(31,0,747,519),1115=>array(19,0,555,760),1116=>array(31,0,552,800),1117=>array(31,0,553,799),1118=>array(10,-222,519,746),1119=>array(26,-138,558,519),1122=>array(31,0,654,729),1123=>array(26,0,505,760),1124=>array(49,-14,962,742),1125=>array(26,-14,709,533),1130=>array(10,0,1001,729),1131=>array(11,0,817,519),1132=>array(49,0,1213,729),1133=>array(26,0,991,519),1136=>array(10,0,839,729),1137=>array(-19,-208,802,760),1138=>array(50,-14,688,742),1139=>array(44,-11,452,533),1140=>array(10,0,763,742),1141=>array(10,0,600,533),1142=>array(10,0,763,927),1143=>array(10,0,600,800),1164=>array(22,0,604,729),1165=>array(16,0,453,760),1168=>array(49,0,567,872),1169=>array(26,0,437,668),1170=>array(45,0,558,729),1171=>array(26,0,432,519),1172=>array(49,-216,606,729),1173=>array(26,-222,500,519),1174=>array(10,-157,1001,729),1175=>array(11,-138,817,519),1176=>array(48,-193,506,742),1177=>array(40,-193,446,533),1178=>array(49,-157,686,729),1179=>array(26,-138,558,519),1182=>array(44,0,686,729),1183=>array(22,0,552,760),1184=>array(31,0,795,729),1185=>array(26,0,634,519),1186=>array(49,-157,735,729),1187=>array(31,-138,553,519),1188=>array(49,0,988,729),1189=>array(31,0,728,519),1190=>array(49,-216,1035,729),1191=>array(26,-222,794,519),1194=>array(50,-193,635,742),1195=>array(44,-193,463,533),1196=>array(9,-157,592,729),1197=>array(36,-138,464,519),1198=>array(-10,0,602,729),1199=>array(-3,-208,506,519),1200=>array(-10,0,602,729),1201=>array(-3,-208,506,519),1202=>array(5,-157,646,729),1203=>array(11,-138,500,519),1204=>array(9,-157,825,729),1205=>array(36,-138,612,519),1206=>array(-25,-157,615,729),1207=>array(31,-138,553,519),1210=>array(-25,0,628,729),1211=>array(32,0,555,760),1216=>array(49,0,306,729),1217=>array(10,0,1001,928),1218=>array(11,0,817,785),1219=>array(49,-216,652,729),1220=>array(26,-222,526,519),1223=>array(49,-216,735,729),1224=>array(31,-222,553,519),1227=>array(-25,-157,628,729),1228=>array(31,-138,553,519),1231=>array(26,0,264,760),1232=>array(10,0,675,926),1233=>array(44,-14,511,772),1234=>array(10,0,675,920),1235=>array(44,-14,511,766),1236=>array(-16,0,854,729),1237=>array(44,-14,801,533),1238=>array(49,0,585,928),1239=>array(44,-14,488,785),1240=>array(50,-14,688,742),1241=>array(44,-14,488,533),1242=>array(50,-14,688,920),1243=>array(44,-14,488,766),1244=>array(10,0,1001,920),1245=>array(11,0,817,766),1246=>array(48,-14,506,920),1247=>array(40,-14,446,766),1248=>array(44,-14,482,729),1249=>array(44,-224,482,519),1250=>array(49,0,735,899),1251=>array(31,0,553,745),1252=>array(49,0,735,920),1253=>array(31,0,553,766),1254=>array(50,-14,688,920),1255=>array(44,-14,497,766),1256=>array(50,-14,688,742),1257=>array(44,-14,497,533),1258=>array(50,-14,688,920),1259=>array(44,-14,497,766),1260=>array(50,-14,635,920),1261=>array(44,-14,463,766),1262=>array(10,-14,640,899),1263=>array(10,-222,519,745),1264=>array(10,-14,640,920),1265=>array(10,-222,519,766),1266=>array(10,-14,640,927),1267=>array(10,-222,519,800),1268=>array(9,0,650,920),1269=>array(31,0,547,766),1270=>array(49,-157,558,729),1271=>array(26,-138,433,519),1272=>array(49,0,836,920),1273=>array(26,0,685,766),1296=>array(55,-14,512,742),1297=>array(44,-14,452,533),1298=>array(22,-216,706,729),1299=>array(16,-222,540,519),1300=>array(22,-14,1074,729),1301=>array(16,-14,816,519),1306=>array(50,-160,688,742),1307=>array(44,-208,550,533),1308=>array(4,0,923,729),1309=>array(14,0,759,519),1329=>array(31,-14,688,729),1330=>array(31,0,682,743),1331=>array(44,0,743,743),1332=>array(18,0,763,743),1333=>array(31,-14,682,729),1334=>array(104,-45,669,743),1335=>array(70,-45,686,729),1336=>array(31,-45,682,743),1337=>array(31,-14,889,743),1338=>array(44,-14,743,729),1339=>array(70,0,687,729),1340=>array(70,-45,632,729),1341=>array(70,-14,979,729),1342=>array(83,-13,694,742),1343=>array(9,0,667,729),1344=>array(48,-66,585,729),1345=>array(89,-32,653,743),1346=>array(26,-45,750,743),1347=>array(69,0,702,764),1348=>array(42,-14,807,729),1349=>array(57,-14,627,742),1350=>array(-22,-14,702,774),1351=>array(75,-14,633,729),1352=>array(31,0,688,743),1353=>array(86,-45,641,743),1354=>array(9,0,756,743),1355=>array(100,-45,664,744),1356=>array(31,0,795,743),1357=>array(31,-14,688,729),1358=>array(9,-45,730,729),1359=>array(49,-14,603,742),1360=>array(31,0,688,743),1361=>array(47,-14,631,742),1362=>array(70,0,623,729),1363=>array(57,0,704,729),1364=>array(0,0,718,743),1365=>array(57,-14,694,742),1366=>array(54,-14,699,729),1369=>array(51,492,172,760),1370=>array(40,482,207,729),1371=>array(0,615,208,799),1372=>array(2,618,346,893),1373=>array(75,615,276,799),1374=>array(9,618,341,856),1375=>array(40,618,416,760),1377=>array(25,-14,822,519),1378=>array(32,-208,500,533),1379=>array(44,-208,635,533),1380=>array(32,-208,635,533),1381=>array(21,-14,543,760),1382=>array(44,-208,635,533),1383=>array(25,0,459,760),1384=>array(25,-208,547,533),1385=>array(25,-208,725,533),1386=>array(44,-14,635,760),1387=>array(25,-208,546,760),1388=>array(21,-208,354,519),1389=>array(25,-208,843,760),1390=>array(53,-14,505,770),1391=>array(25,-208,541,760),1392=>array(25,0,547,760),1393=>array(62,-14,547,773),1394=>array(25,-208,627,533),1395=>array(70,-14,556,767),1396=>array(25,-14,583,773),1397=>array(-25,-208,190,519),1398=>array(48,-14,547,773),1399=>array(-13,-208,393,534),1400=>array(37,0,559,533),1401=>array(16,-208,329,544),1402=>array(25,-208,814,519),1403=>array(48,-208,466,534),1404=>array(37,0,568,533),1405=>array(25,-14,547,519),1406=>array(25,-208,635,760),1407=>array(25,-14,812,533),1408=>array(32,-208,555,533),1409=>array(48,-222,554,533),1410=>array(37,0,453,519),1411=>array(25,-208,812,760),1412=>array(10,-208,565,533),1413=>array(48,-14,500,533),1414=>array(18,-208,685,760),1415=>array(25,-14,728,760),1417=>array(93,-14,211,434),1418=>array(40,203,265,306),4256=>array(48,0,611,847),4257=>array(48,0,726,847),4258=>array(48,-58,706,848),4259=>array(57,1,716,847),4260=>array(48,0,611,847),4261=>array(48,0,872,847),4262=>array(11,0,762,847),4263=>array(57,0,979,847),4264=>array(11,0,461,847),4265=>array(48,0,626,847),4266=>array(39,0,804,847),4267=>array(62,0,831,847),4268=>array(48,0,620,847),4269=>array(53,-37,951,847),4270=>array(11,0,758,847),4271=>array(11,0,698,847),4272=>array(48,0,896,847),4273=>array(48,0,611,847),4274=>array(48,0,554,847),4275=>array(53,-37,897,847),4276=>array(48,0,794,847),4277=>array(30,0,888,847),4278=>array(48,0,610,847),4279=>array(48,0,611,847),4280=>array(48,0,611,847),4281=>array(48,0,611,847),4282=>array(48,-25,762,847),4283=>array(48,0,813,847),4284=>array(48,1,594,847),4285=>array(48,1,631,847),4286=>array(48,0,611,847),4287=>array(48,0,823,847),4288=>array(39,0,853,847),4289=>array(48,0,611,847),4290=>array(48,1,715,847),4291=>array(48,0,612,847),4292=>array(48,0,705,847),4293=>array(62,0,808,848),4304=>array(48,0,438,571),4305=>array(48,0,466,829),4306=>array(35,-225,496,542),4307=>array(48,-220,702,531),4308=>array(31,-225,448,532),4309=>array(35,-225,453,532),4310=>array(18,0,508,831),4311=>array(48,0,727,531),4312=>array(48,0,456,532),4313=>array(22,-225,443,532),4314=>array(48,-220,912,537),4315=>array(48,0,466,829),4316=>array(62,0,479,840),4317=>array(48,-98,694,532),4318=>array(48,1,465,829),4319=>array(48,-225,466,531),4320=>array(48,-0,693,822),4321=>array(-13,0,498,829),4322=>array(40,-225,634,681),4323=>array(18,-225,571,532),4324=>array(48,-225,686,532),4325=>array(48,-225,465,831),4326=>array(48,-220,724,532),4327=>array(35,-225,454,531),4328=>array(9,0,473,830),4329=>array(62,-5,479,831),4330=>array(48,-225,564,531),4331=>array(48,0,467,829),4332=>array(44,-229,493,830),4333=>array(40,-225,479,829),4334=>array(-13,0,502,830),4335=>array(22,-225,593,532),4336=>array(48,0,466,829),4337=>array(48,0,495,830),4338=>array(48,-91,466,532),4339=>array(48,-225,466,585),4340=>array(48,-225,465,831),4341=>array(48,0,536,829),4342=>array(48,-225,750,672),4343=>array(48,-225,516,542),4344=>array(57,-225,476,532),4345=>array(48,-225,509,537),4346=>array(48,-69,466,532),4347=>array(40,0,354,486),4348=>array(40,341,279,845),7424=>array(-3,0,506,519),7425=>array(-19,0,646,519),7426=>array(44,-14,801,533),7427=>array(32,0,496,519),7428=>array(44,-14,448,533),7429=>array(32,0,489,519),7430=>array(32,0,489,519),7431=>array(26,0,447,519),7432=>array(44,-18,417,533),7433=>array(32,-214,268,522),7434=>array(12,-14,408,519),7435=>array(31,0,552,519),7436=>array(21,0,466,519),7437=>array(32,0,668,519),7438=>array(31,-14,553,519),7439=>array(44,-14,497,533),7440=>array(57,-14,459,533),7441=>array(44,9,537,511),7442=>array(44,27,537,492),7443=>array(16,-0,566,523),7444=>array(44,-14,845,533),7445=>array(26,-14,428,533),7446=>array(44,260,497,533),7447=>array(44,-14,497,259),7448=>array(47,0,466,519),7449=>array(10,0,503,519),7450=>array(10,0,503,519),7451=>array(36,0,464,519),7452=>array(2,-14,524,519),7453=>array(57,-29,538,551),7454=>array(69,-29,771,551),7455=>array(59,-205,539,680),7456=>array(-3,0,506,519),7457=>array(14,0,759,519),7458=>array(36,0,441,519),7459=>array(45,-14,443,519),7460=>array(44,-14,434,742),7461=>array(26,-14,643,533),7462=>array(26,0,433,519),7463=>array(-3,0,506,519),7464=>array(32,0,559,519),7465=>array(47,0,466,519),7466=>array(33,0,611,520),7467=>array(16,-14,540,519),7468=>array(-4,326,415,734),7469=>array(-10,326,539,734),7470=>array(31,326,382,734),7471=>array(28,334,404,742),7472=>array(31,326,422,734),7473=>array(31,326,369,734),7474=>array(31,326,369,734),7475=>array(31,318,409,742),7476=>array(31,326,463,734),7477=>array(31,326,193,734),7478=>array(-48,209,202,734),7479=>array(31,326,432,734),7480=>array(31,326,363,734),7481=>array(28,326,552,734),7482=>array(27,318,471,734),7483=>array(27,318,471,734),7484=>array(31,318,434,742),7485=>array(22,326,309,750),7486=>array(31,326,361,734),7487=>array(31,326,440,734),7488=>array(5,326,373,734),7489=>array(26,318,453,734),7490=>array(2,326,581,734),7491=>array(28,318,322,625),7492=>array(28,318,322,625),7493=>array(28,318,347,625),7494=>array(28,318,505,625),7495=>array(16,318,334,751),7496=>array(28,318,347,751),7497=>array(28,318,308,625),7498=>array(28,318,308,625),7499=>array(28,316,263,625),7500=>array(28,316,263,625),7501=>array(28,202,347,625),7502=>array(21,207,168,619),7503=>array(16,326,348,751),7504=>array(21,326,522,625),7505=>array(21,202,304,625),7506=>array(28,318,313,625),7507=>array(28,318,292,625),7508=>array(28,472,313,625),7509=>array(28,318,313,471),7510=>array(16,209,334,625),7511=>array(16,318,224,707),7512=>array(15,318,344,617),7513=>array(36,310,338,635),7514=>array(21,326,522,625),7515=>array(-2,326,319,617),7516=>array(17,326,405,633),7517=>array(35,217,299,763),7518=>array(21,217,311,625),7519=>array(28,326,313,763),7520=>array(25,217,373,626),7521=>array(7,209,331,633),7522=>array(21,0,168,412),7523=>array(20,0,267,299),7524=>array(15,-8,344,291),7525=>array(-2,0,319,291),7526=>array(35,-109,299,437),7527=>array(21,-109,311,298),7528=>array(35,-117,305,299),7529=>array(25,-109,373,300),7530=>array(7,-117,331,307),7531=>array(24,-14,832,533),7543=>array(44,-222,550,533),7544=>array(31,326,463,734),7547=>array(32,0,268,519),7548=>array(32,0,269,519),7549=>array(26,-208,584,533),7550=>array(2,-14,524,519),7551=>array(-14,-14,572,519),7557=>array(-17,-222,261,760),7579=>array(28,318,347,625),7580=>array(28,318,292,625),7581=>array(28,266,282,625),7582=>array(28,318,313,751),7583=>array(28,316,263,625),7584=>array(21,326,244,751),7585=>array(-55,202,166,617),7586=>array(28,202,347,617),7587=>array(15,209,344,617),7588=>array(21,326,168,738),7589=>array(21,326,169,617),7590=>array(21,326,168,617),7591=>array(31,326,180,617),7592=>array(-55,202,156,738),7593=>array(16,202,240,751),7594=>array(-10,202,165,751),7595=>array(23,326,294,624),7596=>array(21,202,477,625),7597=>array(21,209,522,625),7598=>array(-55,202,349,625),7599=>array(21,202,428,625),7600=>array(23,318,350,624),7601=>array(28,318,313,625),7602=>array(28,209,313,751),7603=>array(31,202,262,625),7604=>array(-55,202,188,752),7605=>array(16,202,224,707),7606=>array(15,318,344,617),7607=>array(28,324,324,626),7608=>array(1,326,330,625),7609=>array(21,324,317,617),7610=>array(-2,326,319,617),7611=>array(22,326,278,617),7612=>array(22,202,402,617),7613=>array(22,274,280,617),7614=>array(28,201,304,617),7615=>array(28,320,313,758),7620=>array(-356,616,-12,800),7621=>array(-438,616,-93,800),7622=>array(-356,616,-12,800),7623=>array(-438,616,-93,800),7624=>array(-428,616,-22,800),7625=>array(-428,616,-22,800),7680=>array(-5,-241,659,729),7681=>array(44,-241,511,533),7682=>array(49,0,606,921),7683=>array(26,-14,531,920),7684=>array(49,-191,606,729),7685=>array(26,-191,531,760),7686=>array(49,-147,606,729),7687=>array(26,-147,531,760),7688=>array(50,-193,635,927),7689=>array(44,-193,463,800),7690=>array(49,0,670,921),7691=>array(44,-14,550,920),7692=>array(49,-191,670,729),7693=>array(44,-191,550,760),7694=>array(49,-147,670,729),7695=>array(44,-147,550,760),7696=>array(49,-187,670,729),7697=>array(44,-193,550,760),7698=>array(49,-240,670,729),7699=>array(44,-240,550,760),7700=>array(49,0,585,1044),7701=>array(44,-14,488,919),7702=>array(49,0,585,1044),7703=>array(44,-14,488,919),7704=>array(49,-240,585,729),7705=>array(44,-240,488,533),7706=>array(49,-213,585,729),7707=>array(44,-213,488,533),7708=>array(49,-193,585,928),7709=>array(44,-193,488,785),7710=>array(49,0,587,921),7711=>array(32,0,387,920),7712=>array(50,-14,648,927),7713=>array(44,-222,550,745),7714=>array(49,0,735,921),7715=>array(32,0,555,920),7716=>array(49,-191,735,729),7717=>array(32,-191,555,760),7718=>array(49,0,735,920),7719=>array(4,0,555,921),7720=>array(49,-193,735,729),7721=>array(32,-193,555,760),7722=>array(49,-217,735,729),7723=>array(32,-217,555,760),7724=>array(31,-213,321,729),7725=>array(-4,-213,287,736),7726=>array(41,0,315,1044),7727=>array(7,0,281,886),7728=>array(49,0,686,931),7729=>array(26,0,552,961),7730=>array(49,-191,686,729),7731=>array(26,-191,552,760),7732=>array(49,-147,686,729),7733=>array(26,-147,552,760),7734=>array(49,-191,576,729),7735=>array(26,-191,261,760),7736=>array(46,-191,576,899),7737=>array(12,-191,275,900),7738=>array(49,-147,576,729),7739=>array(13,-147,276,760),7740=>array(49,-240,576,729),7741=>array(4,-240,285,760),7742=>array(44,0,876,927),7743=>array(32,0,829,800),7744=>array(44,0,876,921),7745=>array(32,0,829,766),7746=>array(44,-191,876,729),7747=>array(32,-191,829,533),7748=>array(44,-14,748,921),7749=>array(32,0,555,766),7750=>array(44,-191,748,729),7751=>array(32,-191,555,533),7752=>array(44,-147,748,729),7753=>array(32,-147,555,533),7754=>array(44,-240,748,729),7755=>array(32,-240,555,533),7756=>array(50,-14,688,1044),7757=>array(44,-14,497,881),7758=>array(50,-14,688,1049),7759=>array(44,-14,497,891),7760=>array(50,-14,688,1044),7761=>array(44,-14,497,919),7762=>array(50,-14,688,1044),7763=>array(44,-14,497,919),7764=>array(49,0,574,927),7765=>array(26,-208,531,800),7766=>array(49,0,574,921),7767=>array(26,-208,531,766),7768=>array(49,0,699,921),7769=>array(32,0,431,766),7770=>array(49,-191,699,729),7771=>array(32,-191,431,533),7772=>array(49,-191,699,899),7773=>array(32,-191,431,745),7774=>array(49,-147,699,729),7775=>array(13,-147,431,533),7776=>array(75,-14,551,921),7777=>array(50,-14,416,766),7778=>array(75,-191,551,742),7779=>array(50,-191,416,533),7780=>array(75,-14,551,943),7781=>array(50,-14,416,760),7782=>array(75,-14,551,1049),7783=>array(50,-14,416,867),7784=>array(75,-191,551,921),7785=>array(50,-191,416,766),7786=>array(9,0,592,921),7787=>array(26,-14,355,920),7788=>array(9,-191,592,729),7789=>array(26,-191,355,680),7790=>array(9,-147,592,729),7791=>array(26,-147,357,680),7792=>array(9,-240,592,729),7793=>array(26,-240,366,680),7794=>array(42,-191,718,729),7795=>array(24,-191,546,519),7796=>array(42,-213,718,729),7797=>array(24,-213,546,519),7798=>array(42,-240,718,729),7799=>array(24,-240,546,519),7800=>array(42,-14,718,1044),7801=>array(24,-14,546,881),7802=>array(42,-14,718,1032),7803=>array(24,-14,546,908),7804=>array(-9,0,664,927),7805=>array(-3,0,506,777),7806=>array(-9,-191,664,729),7807=>array(-3,-191,506,519),7808=>array(4,0,923,927),7809=>array(14,0,759,799),7810=>array(4,0,923,927),7811=>array(14,0,759,800),7812=>array(4,0,923,920),7813=>array(14,0,759,766),7814=>array(4,0,923,921),7815=>array(14,0,759,766),7816=>array(4,-191,923,729),7817=>array(14,-191,759,519),7818=>array(5,0,637,921),7819=>array(11,0,497,766),7820=>array(5,0,637,920),7821=>array(11,0,497,766),7822=>array(-10,0,602,921),7823=>array(-3,-222,506,766),7824=>array(40,0,590,927),7825=>array(36,0,441,800),7826=>array(40,-191,590,729),7827=>array(36,-191,441,519),7828=>array(40,-147,590,729),7829=>array(36,-147,441,519),7830=>array(32,-147,555,760),7831=>array(-2,-14,355,921),7832=>array(14,0,759,878),7833=>array(-3,-222,506,878),7834=>array(44,-14,708,760),7835=>array(32,0,387,920),7836=>array(22,0,387,760),7837=>array(32,0,387,760),7838=>array(42,-14,681,743),7839=>array(44,-14,497,765),7840=>array(-5,-191,659,729),7841=>array(44,-191,511,533),7842=>array(-5,0,659,1034),7843=>array(44,-14,511,852),7844=>array(-5,0,659,1028),7845=>array(44,-14,536,846),7846=>array(-5,0,659,1028),7847=>array(44,-14,511,847),7848=>array(-5,0,659,1086),7849=>array(44,-14,511,904),7850=>array(-5,0,659,1057),7851=>array(44,-14,511,875),7852=>array(-5,-191,659,982),7853=>array(44,-191,511,800),7854=>array(-5,0,659,1044),7855=>array(44,-14,511,877),7856=>array(-5,0,659,1044),7857=>array(44,-14,511,877),7858=>array(-5,0,659,1109),7859=>array(44,-14,511,942),7860=>array(-5,0,659,1043),7861=>array(44,-14,511,876),7862=>array(-5,-191,659,967),7863=>array(44,-191,511,785),7864=>array(49,-191,585,729),7865=>array(44,-191,488,533),7866=>array(49,0,585,1034),7867=>array(44,-14,488,852),7868=>array(49,0,585,927),7869=>array(44,-14,488,777),7870=>array(49,0,603,1028),7871=>array(44,-14,561,846),7872=>array(49,0,585,1028),7873=>array(44,-14,488,847),7874=>array(49,0,585,1086),7875=>array(44,-14,535,904),7876=>array(49,0,585,1057),7877=>array(44,-14,488,875),7878=>array(49,-191,585,927),7879=>array(44,-191,488,800),7880=>array(49,0,306,1034),7881=>array(32,0,268,852),7882=>array(49,-191,306,729),7883=>array(32,-191,268,736),7884=>array(50,-191,688,742),7885=>array(44,-191,497,533),7886=>array(50,-14,688,1034),7887=>array(44,-14,497,852),7888=>array(50,-14,688,1028),7889=>array(44,-14,549,846),7890=>array(50,-14,688,1028),7891=>array(44,-14,497,846),7892=>array(50,-14,688,1086),7893=>array(44,-14,523,904),7894=>array(50,-14,688,1057),7895=>array(44,-14,497,875),7896=>array(50,-191,688,927),7897=>array(44,-191,497,800),7898=>array(48,-14,710,927),7899=>array(43,-14,582,800),7900=>array(48,-14,710,927),7901=>array(43,-14,582,799),7902=>array(48,-14,710,1034),7903=>array(43,-14,582,852),7904=>array(48,-14,710,921),7905=>array(43,-14,582,777),7906=>array(48,-191,710,760),7907=>array(43,-191,582,533),7908=>array(42,-191,718,729),7909=>array(24,-191,546,519),7910=>array(42,-14,718,1034),7911=>array(24,-14,546,852),7912=>array(40,-14,889,927),7913=>array(19,-14,620,800),7914=>array(40,-14,889,927),7915=>array(19,-14,620,799),7916=>array(40,-14,889,1034),7917=>array(19,-14,620,852),7918=>array(40,-14,889,921),7919=>array(19,-14,620,777),7920=>array(40,-191,889,802),7921=>array(19,-191,620,532),7922=>array(-10,0,602,931),7923=>array(-3,-222,506,776),7924=>array(-10,-191,602,729),7925=>array(-3,-222,506,519),7926=>array(-10,0,602,1037),7927=>array(-3,-222,506,852),7928=>array(-10,0,602,927),7929=>array(-3,-222,506,777),7930=>array(49,0,833,729),7931=>array(26,0,497,760),7936=>array(44,-12,584,829),7937=>array(44,-12,584,829),7938=>array(44,-12,584,829),7939=>array(44,-12,584,829),7940=>array(44,-12,584,829),7941=>array(44,-12,584,829),7942=>array(44,-12,584,994),7943=>array(44,-12,584,994),7944=>array(-5,0,659,829),7945=>array(-5,0,659,829),7946=>array(4,0,791,829),7947=>array(4,0,791,829),7948=>array(5,0,669,829),7949=>array(6,0,696,829),7950=>array(-5,0,659,994),7951=>array(-5,0,659,994),7952=>array(44,-19,425,829),7953=>array(44,-19,425,829),7954=>array(44,-19,425,829),7955=>array(44,-19,425,829),7956=>array(44,-19,425,829),7957=>array(44,-19,437,829),7960=>array(6,0,696,829),7961=>array(6,0,686,829),7962=>array(4,0,888,829),7963=>array(4,0,897,829),7964=>array(6,0,835,829),7965=>array(6,0,859,829),7968=>array(32,-208,483,829),7969=>array(32,-208,483,829),7970=>array(32,-208,483,829),7971=>array(32,-208,483,829),7972=>array(32,-208,483,829),7973=>array(32,-208,483,829),7974=>array(32,-208,483,994),7975=>array(32,-208,483,994),7976=>array(6,0,849,829),7977=>array(6,0,844,829),7978=>array(4,0,1042,829),7979=>array(4,0,1052,829),7980=>array(6,0,994,829),7981=>array(6,0,1015,829),7982=>array(6,0,938,994),7983=>array(6,0,936,994),7984=>array(32,22,303,829),7985=>array(32,22,303,829),7986=>array(-5,22,331,829),7987=>array(-9,22,330,829),7988=>array(28,22,335,829),7989=>array(11,22,342,829),7990=>array(0,22,303,994),7991=>array(2,22,303,994),7992=>array(6,0,419,829),7993=>array(6,0,412,829),7994=>array(4,0,612,829),7995=>array(4,0,615,829),7996=>array(6,0,562,829),7997=>array(6,0,585,829),7998=>array(6,0,512,994),7999=>array(6,0,504,994),8000=>array(44,-14,497,829),8001=>array(44,-14,497,829),8002=>array(44,-14,497,829),8003=>array(44,-14,497,829),8004=>array(44,-14,497,829),8005=>array(44,-14,497,829),8008=>array(6,-14,688,829),8009=>array(6,-14,724,829),8010=>array(4,-14,958,829),8011=>array(4,-14,965,829),8012=>array(6,-14,793,829),8013=>array(6,-14,817,829),8016=>array(32,-3,503,829),8017=>array(32,-3,503,829),8018=>array(32,-3,503,829),8019=>array(32,-3,503,829),8020=>array(32,-3,503,829),8021=>array(32,-3,503,829),8022=>array(32,-3,503,994),8023=>array(32,-3,503,994),8025=>array(6,0,773,829),8027=>array(4,0,979,829),8029=>array(6,0,948,829),8031=>array(6,0,866,994),8032=>array(40,-3,690,829),8033=>array(40,-3,690,829),8034=>array(40,-3,690,829),8035=>array(40,-3,690,829),8036=>array(40,-3,690,829),8037=>array(40,-3,690,829),8038=>array(40,-3,690,994),8039=>array(40,-3,690,994),8040=>array(6,0,692,829),8041=>array(6,0,729,829),8042=>array(4,0,964,829),8043=>array(4,0,969,829),8044=>array(6,0,798,829),8045=>array(6,0,824,829),8046=>array(6,0,790,994),8047=>array(6,0,819,994),8048=>array(44,-12,584,799),8049=>array(44,-12,584,800),8050=>array(44,-19,425,799),8051=>array(44,-19,425,800),8052=>array(32,-208,483,799),8053=>array(32,-208,483,800),8054=>array(0,22,303,799),8055=>array(32,22,303,800),8056=>array(44,-14,497,799),8057=>array(44,-14,497,800),8058=>array(32,-3,503,799),8059=>array(32,-3,503,800),8060=>array(40,-3,690,799),8061=>array(40,-3,690,800),8064=>array(44,-208,584,829),8065=>array(44,-208,584,829),8066=>array(44,-208,584,829),8067=>array(44,-208,584,829),8068=>array(44,-208,584,829),8069=>array(44,-208,584,829),8070=>array(44,-208,584,994),8071=>array(44,-208,584,994),8072=>array(-5,-208,659,829),8073=>array(-5,-208,659,829),8074=>array(4,-208,791,829),8075=>array(4,-208,791,829),8076=>array(5,-208,669,829),8077=>array(6,-208,696,829),8078=>array(-5,-208,659,994),8079=>array(-5,-208,659,994),8080=>array(32,-208,483,829),8081=>array(32,-208,483,829),8082=>array(32,-208,483,829),8083=>array(32,-208,483,829),8084=>array(32,-208,483,829),8085=>array(32,-208,483,829),8086=>array(32,-208,483,994),8087=>array(32,-208,483,994),8088=>array(6,-208,849,829),8089=>array(6,-208,844,829),8090=>array(4,-208,1042,829),8091=>array(4,-208,1052,829),8092=>array(6,-208,994,829),8093=>array(6,-208,1015,829),8094=>array(6,-208,938,994),8095=>array(6,-208,936,994),8096=>array(40,-208,690,829),8097=>array(40,-208,690,829),8098=>array(40,-208,690,829),8099=>array(40,-208,690,829),8100=>array(40,-208,690,829),8101=>array(40,-208,690,829),8102=>array(40,-208,690,994),8103=>array(40,-208,690,994),8104=>array(6,-208,692,829),8105=>array(6,-208,729,829),8106=>array(4,-208,964,829),8107=>array(4,-208,969,829),8108=>array(6,-208,798,829),8109=>array(6,-208,824,829),8110=>array(6,-208,790,994),8111=>array(6,-208,819,994),8112=>array(44,-12,584,785),8113=>array(44,-12,584,745),8114=>array(44,-208,584,799),8115=>array(44,-208,584,533),8116=>array(44,-208,584,800),8118=>array(44,-12,584,777),8119=>array(44,-208,584,777),8120=>array(-5,0,659,926),8121=>array(-5,0,659,899),8122=>array(-5,0,659,799),8123=>array(-5,0,659,800),8124=>array(-5,-208,659,729),8125=>array(169,606,287,829),8126=>array(192,-208,303,-60),8127=>array(169,606,287,829),8128=>array(80,639,370,777),8129=>array(80,652,370,944),8130=>array(32,-208,483,799),8131=>array(32,-208,483,533),8132=>array(32,-208,483,800),8134=>array(32,-208,483,777),8135=>array(32,-208,483,777),8136=>array(3,0,749,799),8137=>array(6,0,738,800),8138=>array(3,0,907,799),8139=>array(6,0,886,800),8140=>array(49,-208,735,729),8141=>array(62,606,398,829),8142=>array(74,606,382,829),8143=>array(80,606,370,994),8144=>array(12,22,303,785),8145=>array(14,22,303,745),8146=>array(-2,22,303,996),8147=>array(7,22,303,996),8150=>array(11,22,303,777),8151=>array(11,22,303,944),8152=>array(41,0,314,928),8153=>array(46,0,310,899),8154=>array(3,0,480,799),8155=>array(6,0,457,800),8157=>array(60,606,398,829),8158=>array(59,606,390,829),8159=>array(80,606,370,994),8160=>array(32,-3,503,785),8161=>array(32,-3,503,745),8162=>array(32,-3,503,996),8163=>array(32,-3,503,996),8164=>array(57,-208,484,829),8165=>array(57,-208,484,829),8166=>array(32,-3,503,777),8167=>array(32,-3,503,944),8168=>array(-10,0,602,926),8169=>array(-10,0,602,899),8170=>array(3,0,837,799),8171=>array(6,0,816,800),8172=>array(6,0,679,829),8173=>array(75,652,362,996),8174=>array(88,652,374,996),8175=>array(75,615,276,799),8178=>array(40,-208,690,799),8179=>array(40,-208,690,519),8180=>array(40,-208,690,800),8182=>array(40,-3,690,730),8183=>array(40,-208,690,730),8184=>array(3,-14,815,799),8185=>array(6,-14,702,800),8186=>array(3,0,832,799),8187=>array(6,0,713,800),8188=>array(55,-208,692,742),8189=>array(172,616,374,800),8190=>array(169,606,287,829),8208=>array(40,230,265,306),8209=>array(40,230,265,306),8210=>array(40,233,533,298),8211=>array(40,233,411,298),8212=>array(40,233,861,298),8213=>array(0,233,900,298),8214=>array(116,-236,333,764),8215=>array(0,-236,450,-80),8216=>array(92,495,242,742),8217=>array(63,482,214,729),8218=>array(40,-136,207,111),8219=>array(63,482,214,729),8220=>array(92,495,415,742),8221=>array(63,482,388,729),8222=>array(40,-136,380,111),8223=>array(63,482,388,729),8224=>array(25,-96,425,729),8225=>array(25,-96,425,729),8226=>array(135,227,396,516),8227=>array(135,188,431,555),8228=>array(92,-14,209,116),8229=>array(92,-14,509,116),8230=>array(92,-14,809,116),8240=>array(49,-14,1159,742),8241=>array(49,-14,1512,742),8242=>array(18,547,183,729),8243=>array(18,547,315,729),8244=>array(18,547,447,729),8245=>array(18,547,183,729),8246=>array(18,547,315,729),8247=>array(18,547,447,729),8248=>array(4,-236,300,-30),8249=>array(69,69,276,517),8250=>array(84,69,291,517),8252=>array(61,-14,414,729),8253=>array(61,-14,439,742),8254=>array(0,716,450,755),8258=>array(14,-28,886,814),8260=>array(-165,-14,315,742),8261=>array(77,-132,282,760),8262=>array(69,-132,274,760),8263=>array(30,-14,848,742),8264=>array(61,-14,617,742),8265=>array(61,-14,617,742),8267=>array(58,-96,503,729),8268=>array(95,220,355,509),8269=>array(95,220,355,509),8270=>array(14,-28,436,427),8271=>array(91,-136,271,434),8273=>array(14,-6,436,929),8274=>array(63,-93,377,729),8275=>array(44,233,856,394),8279=>array(18,547,579,729),8304=>array(22,319,338,742),8305=>array(21,326,168,738),8308=>array(23,326,333,734),8309=>array(30,319,326,734),8310=>array(18,319,334,742),8311=>array(35,326,335,734),8312=>array(23,319,337,742),8313=>array(22,319,338,742),8314=>array(60,326,415,677),8315=>array(60,479,415,524),8316=>array(60,424,415,580),8317=>array(44,239,181,751),8318=>array(40,239,176,751),8319=>array(20,326,344,625),8320=>array(22,-7,338,416),8321=>array(64,0,291,408),8322=>array(40,0,304,416),8323=>array(44,-7,315,416),8324=>array(23,0,333,408),8325=>array(30,-7,326,408),8326=>array(18,-7,334,416),8327=>array(35,0,335,408),8328=>array(23,-7,337,416),8329=>array(22,-7,338,416),8330=>array(60,0,415,351),8331=>array(60,153,415,198),8332=>array(60,98,415,253),8333=>array(44,-87,181,425),8334=>array(40,-87,176,425),8336=>array(28,-8,322,299),8337=>array(28,-8,308,299),8338=>array(28,-8,313,299),8339=>array(20,0,336,291),8340=>array(28,-8,308,299),8341=>array(20,0,344,425),8342=>array(16,0,348,425),8343=>array(20,0,173,425),8344=>array(21,0,522,299),8345=>array(20,0,344,299),8346=>array(16,-117,334,299),8347=>array(24,-8,262,299),8348=>array(16,-8,224,381),8358=>array(36,-14,563,729),8364=>array(-4,-14,500,742),8367=>array(12,-193,939,723),8369=>array(49,0,604,729),8372=>array(36,-14,671,742),8373=>array(75,-147,500,760),8376=>array(9,0,592,729),8377=>array(41,0,531,729),8450=>array(38,-14,671,742),8451=>array(42,-14,953,742),8457=>array(42,0,905,742),8461=>array(42,0,810,729),8462=>array(43,0,498,760),8463=>array(43,0,497,760),8469=>array(40,0,787,729),8470=>array(33,-14,807,729),8473=>array(42,0,655,729),8474=>array(38,-180,746,742),8477=>array(42,0,753,729),8482=>array(106,447,744,729),8484=>array(33,0,625,729),8486=>array(55,0,692,742),8487=>array(55,-13,692,729),8490=>array(49,0,686,729),8491=>array(-5,0,659,928),8498=>array(38,0,575,729),8508=>array(31,0,628,519),8509=>array(22,-209,554,519),8510=>array(42,0,627,729),8511=>array(42,0,810,729),8512=>array(23,-192,620,719),8513=>array(71,-14,645,742),8514=>array(3,0,412,729),8515=>array(3,0,412,729),8516=>array(-2,0,552,729),8517=>array(-22,0,751,729),8518=>array(9,-14,610,760),8519=>array(30,-14,534,533),8520=>array(-36,0,303,760),8521=>array(-149,-222,318,760),8523=>array(42,-14,737,742),8526=>array(21,0,437,519),8528=>array(64,-14,846,742),8529=>array(64,-14,850,742),8530=>array(64,-14,1209,742),8531=>array(64,-14,826,742),8532=>array(40,-14,826,742),8533=>array(64,-14,837,742),8534=>array(40,-14,837,742),8535=>array(44,-14,837,742),8536=>array(23,-14,837,742),8537=>array(64,-14,845,742),8538=>array(30,-14,845,742),8539=>array(64,-14,848,742),8540=>array(44,-14,848,742),8541=>array(30,-14,848,742),8542=>array(35,-14,848,742),8543=>array(64,-14,676,742),8544=>array(49,0,306,729),8545=>array(49,0,482,729),8546=>array(49,0,658,729),8547=>array(49,0,883,729),8548=>array(-9,0,664,729),8549=>array(-9,0,833,729),8550=>array(-9,0,1009,729),8551=>array(-9,0,1185,729),8552=>array(49,0,834,729),8553=>array(5,0,637,729),8554=>array(5,0,790,729),8555=>array(5,0,965,729),8556=>array(49,0,576,729),8557=>array(50,-14,635,742),8558=>array(49,0,670,729),8559=>array(44,0,876,729),8560=>array(32,0,268,736),8561=>array(32,0,555,736),8562=>array(32,0,843,736),8563=>array(32,0,794,736),8564=>array(-3,0,506,519),8565=>array(-3,0,776,736),8566=>array(-3,0,1063,736),8567=>array(-3,0,1352,736),8568=>array(32,0,785,736),8569=>array(11,0,497,519),8570=>array(11,0,775,736),8571=>array(11,0,1063,736),8572=>array(26,0,261,760),8573=>array(44,-14,463,533),8574=>array(44,-14,550,760),8575=>array(32,0,829,533),8576=>array(49,0,1034,729),8577=>array(49,0,670,729),8578=>array(49,0,1034,729),8579=>array(50,-14,635,742),8580=>array(44,-14,463,533),8581=>array(50,-208,635,742),8585=>array(22,-14,826,742),8592=>array(33,119,703,527),8593=>array(193,0,561,744),8594=>array(51,119,721,527),8595=>array(193,-20,561,724),8596=>array(33,119,721,527),8597=>array(193,-20,561,744),8598=>array(132,40,633,595),8599=>array(121,39,622,595),8600=>array(121,52,622,607),8601=>array(132,52,633,607),8602=>array(33,116,703,531),8603=>array(51,116,721,531),8604=>array(50,159,720,453),8605=>array(34,159,704,453),8606=>array(33,119,703,527),8607=>array(193,0,561,744),8608=>array(51,119,721,527),8609=>array(193,-20,561,724),8610=>array(33,119,706,527),8611=>array(48,119,721,527),8612=>array(33,119,703,527),8613=>array(193,0,561,744),8614=>array(51,119,721,527),8615=>array(193,-20,561,724),8616=>array(193,0,561,744),8617=>array(33,119,703,548),8618=>array(51,119,721,548),8619=>array(33,119,703,548),8620=>array(51,119,721,548),8621=>array(33,119,721,527),8622=>array(33,116,721,531),8623=>array(154,-13,620,730),8624=>array(209,0,534,744),8625=>array(220,0,545,744),8626=>array(209,-20,534,724),8627=>array(220,-20,545,724),8628=>array(117,102,655,609),8629=>array(143,53,600,650),8630=>array(40,145,692,540),8631=>array(62,145,715,540),8632=>array(119,40,635,717),8633=>array(51,-52,703,698),8634=>array(83,71,679,604),8635=>array(75,71,671,604),8636=>array(31,284,703,527),8637=>array(31,119,703,363),8638=>array(341,0,561,747),8639=>array(193,0,413,747),8640=>array(51,284,724,527),8641=>array(51,119,724,363),8642=>array(341,-23,561,724),8643=>array(193,-23,413,724),8644=>array(33,-52,721,698),8645=>array(40,-20,715,744),8646=>array(33,-52,721,698),8647=>array(33,-101,703,747),8648=>array(-4,0,759,744),8649=>array(51,-101,721,747),8650=>array(-4,-20,759,724),8651=>array(31,21,724,625),8652=>array(31,21,724,625),8653=>array(33,83,703,563),8654=>array(33,83,721,563),8655=>array(51,83,721,563),8656=>array(33,119,703,527),8657=>array(193,0,561,744),8658=>array(51,119,721,527),8659=>array(193,-20,561,724),8660=>array(33,119,721,527),8661=>array(193,-20,561,744),8662=>array(132,-21,687,595),8663=>array(67,-21,622,595),8664=>array(67,52,622,667),8665=>array(132,52,687,667),8666=>array(33,70,703,576),8667=>array(51,70,721,576),8668=>array(33,119,703,527),8669=>array(51,119,721,527),8670=>array(193,0,561,744),8671=>array(193,-20,561,724),8672=>array(33,119,703,527),8673=>array(193,0,561,744),8674=>array(51,119,721,527),8675=>array(193,-20,561,724),8676=>array(51,119,703,527),8677=>array(51,119,703,527),8678=>array(33,119,703,527),8679=>array(193,0,561,744),8680=>array(51,119,721,527),8681=>array(193,-20,561,724),8682=>array(193,0,561,744),8683=>array(172,0,582,744),8684=>array(172,0,582,744),8685=>array(172,0,582,744),8686=>array(193,0,561,744),8687=>array(172,0,582,744),8688=>array(51,96,721,550),8689=>array(73,0,690,689),8690=>array(64,0,681,689),8691=>array(193,-20,561,744),8692=>array(51,119,721,527),8693=>array(40,-20,715,744),8694=>array(51,-140,721,786),8695=>array(33,119,703,527),8696=>array(51,119,721,527),8697=>array(33,119,721,527),8698=>array(33,119,703,527),8699=>array(51,119,721,527),8700=>array(33,119,721,527),8701=>array(33,119,703,527),8702=>array(51,119,721,527),8703=>array(33,119,721,527),8704=>array(4,0,540,729),8706=>array(45,-12,422,647),8707=>array(54,0,418,729),8708=>array(54,-116,418,845),8710=>array(22,0,601,729),8711=>array(22,0,601,729),8712=>array(95,0,571,627),8713=>array(95,-132,571,759),8715=>array(95,0,571,627),8716=>array(95,-132,571,759),8719=>array(23,-192,692,719),8720=>array(23,-192,692,719),8721=>array(7,-192,631,719),8722=>array(95,274,659,353),8723=>array(95,0,659,627),8724=>array(95,0,659,659),8725=>array(0,-93,303,729),8727=>array(95,85,517,541),8728=>array(95,175,346,454),8729=>array(95,175,346,454),8730=>array(26,-20,574,811),8731=>array(26,-20,574,938),8732=>array(26,-20,574,929),8733=>array(97,108,512,491),8734=>array(97,108,654,491),8735=>array(124,99,630,661),8736=>array(124,99,630,661),8739=>array(95,-98,167,827),8740=>array(78,-98,353,827),8741=>array(95,-98,321,827),8742=>array(78,-98,493,827),8743=>array(116,0,543,584),8744=>array(116,0,543,584),8745=>array(95,0,659,627),8746=>array(95,-12,659,615),8747=>array(21,-181,448,757),8748=>array(21,-181,745,757),8749=>array(21,-181,1042,757),8760=>array(95,274,659,559),8761=>array(95,68,659,559),8762=>array(95,68,659,559),8763=>array(95,68,659,559),8764=>array(95,233,659,394),8765=>array(95,233,659,394),8770=>array(95,138,659,452),8771=>array(95,175,659,489),8776=>array(95,138,659,489),8784=>array(95,175,659,658),8785=>array(95,-31,659,658),8786=>array(95,-31,659,658),8787=>array(95,-31,659,658),8788=>array(95,149,835,478),8789=>array(95,149,835,478),8800=>array(95,19,659,608),8801=>array(95,93,659,534),8804=>array(95,0,659,582),8805=>array(95,0,659,582),8834=>array(95,0,659,627),8835=>array(95,0,659,627),8836=>array(95,-132,659,759),8837=>array(95,-132,659,759),8838=>array(95,-73,659,700),8839=>array(95,-73,659,700),8844=>array(95,-12,659,615),8845=>array(95,-12,659,615),8846=>array(95,-12,659,615),8847=>array(95,0,667,627),8848=>array(95,0,667,627),8849=>array(95,-73,667,700),8850=>array(95,-73,667,700),8851=>array(95,0,659,635),8852=>array(95,0,659,635),8853=>array(95,0,659,627),8854=>array(95,0,659,627),8855=>array(95,0,659,627),8856=>array(95,0,659,627),8857=>array(95,0,659,627),8858=>array(95,0,659,627),8859=>array(95,0,659,627),8860=>array(95,0,659,627),8861=>array(95,0,659,627),8862=>array(95,0,659,627),8863=>array(95,0,659,627),8864=>array(95,0,659,627),8865=>array(95,0,659,627),8866=>array(95,0,679,729),8867=>array(95,0,679,729),8868=>array(95,0,751,688),8869=>array(95,0,751,688),8870=>array(95,0,415,729),8871=>array(95,0,415,729),8872=>array(95,0,679,729),8873=>array(95,0,679,729),8874=>array(95,0,679,729),8875=>array(95,0,833,729),8876=>array(95,-115,679,844),8877=>array(95,-115,679,844),8878=>array(95,-115,679,844),8879=>array(95,-115,833,844),8901=>array(95,282,213,412),8962=>array(64,0,624,596),8968=>array(77,-132,282,760),8969=>array(69,-132,274,760),8970=>array(77,-132,282,760),8971=>array(69,-132,274,760),8976=>array(95,140,659,421),8977=>array(2,126,459,634),8984=>array(108,0,792,759),8985=>array(95,140,659,421),8992=>array(189,-250,448,928),8993=>array(18,-237,277,942),8997=>array(76,0,824,723),9000=>array(53,0,1247,729),9085=>array(11,-228,816,101),9115=>array(77,-252,373,946),9116=>array(77,-252,163,942),9117=>array(77,-240,373,942),9118=>array(77,-252,373,946),9119=>array(287,-252,373,942),9120=>array(77,-240,373,942),9121=>array(77,-252,373,928),9122=>array(77,-252,163,942),9123=>array(77,-240,373,942),9124=>array(77,-252,373,928),9125=>array(287,-252,373,935),9126=>array(77,-240,373,935),9127=>array(296,-261,602,928),9128=>array(74,-252,378,940),9129=>array(296,-240,602,940),9130=>array(296,-256,378,943),9131=>array(74,-261,378,928),9132=>array(296,-252,602,940),9133=>array(74,-240,378,940),9134=>array(189,-250,277,942),9167=>array(82,0,769,596),9251=>array(64,-228,624,101),9472=>array(-9,242,551,326),9473=>array(-9,200,551,368),9474=>array(235,-302,306,973),9475=>array(200,-302,341,973),9476=>array(-9,242,551,326),9477=>array(-9,200,551,368),9478=>array(235,-302,306,973),9479=>array(200,-302,341,973),9480=>array(-9,242,551,326),9481=>array(-9,200,551,368),9482=>array(235,-302,306,973),9483=>array(200,-302,341,973),9484=>array(235,-302,551,326),9485=>array(235,-302,551,368),9486=>array(200,-302,551,326),9487=>array(200,-302,551,368),9488=>array(-9,-302,306,326),9489=>array(-9,-302,306,368),9490=>array(-9,-302,341,326),9491=>array(-9,-302,341,368),9492=>array(235,242,551,973),9493=>array(235,200,551,973),9494=>array(200,242,551,973),9495=>array(200,200,551,973),9496=>array(-9,242,306,973),9497=>array(-9,200,306,973),9498=>array(-9,242,341,973),9499=>array(-9,200,341,973),9500=>array(235,-302,551,973),9501=>array(235,-302,551,973),9502=>array(200,-302,551,973),9503=>array(200,-302,551,973),9504=>array(200,-302,551,973),9505=>array(200,-302,551,973),9506=>array(200,-302,551,973),9507=>array(200,-302,551,973),9508=>array(-9,-302,306,973),9509=>array(-9,-302,306,973),9510=>array(-9,-302,341,973),9511=>array(-9,-302,341,973),9512=>array(-9,-302,341,973),9513=>array(-9,-302,341,973),9514=>array(-9,-302,341,973),9515=>array(-9,-302,341,973),9516=>array(-9,-302,551,326),9517=>array(-9,-302,551,368),9518=>array(-9,-302,551,368),9519=>array(-9,-302,551,368),9520=>array(-9,-302,551,326),9521=>array(-9,-302,551,368),9522=>array(-9,-302,551,368),9523=>array(-9,-302,551,368),9524=>array(-9,242,551,973),9525=>array(-9,200,551,973),9526=>array(-9,200,551,973),9527=>array(-9,200,551,973),9528=>array(-9,242,551,973),9529=>array(-9,200,551,973),9530=>array(-9,200,551,973),9531=>array(-9,200,551,973),9532=>array(-9,-302,551,973),9533=>array(-9,-302,551,973),9534=>array(-9,-302,551,973),9535=>array(-9,-302,551,973),9536=>array(-9,-302,551,973),9537=>array(-9,-302,551,973),9538=>array(-9,-302,551,973),9539=>array(-9,-302,551,973),9540=>array(-9,-302,551,973),9541=>array(-9,-302,551,973),9542=>array(-9,-302,551,973),9543=>array(-9,-302,551,973),9544=>array(-9,-302,551,973),9545=>array(-9,-302,551,973),9546=>array(-9,-302,551,973),9547=>array(-9,-302,551,973),9548=>array(-9,242,551,326),9549=>array(-9,200,551,368),9550=>array(235,-302,306,973),9551=>array(200,-302,341,973),9552=>array(-9,158,551,410),9553=>array(165,-302,376,973),9554=>array(235,-302,551,410),9555=>array(165,-302,551,326),9556=>array(165,-302,551,410),9557=>array(-9,-302,306,410),9558=>array(-9,-302,376,326),9559=>array(-9,-302,376,410),9560=>array(235,158,551,973),9561=>array(165,242,551,973),9562=>array(165,158,551,973),9563=>array(-9,158,306,973),9564=>array(-9,242,376,973),9565=>array(-9,158,376,973),9566=>array(235,-302,551,973),9567=>array(165,-302,551,973),9568=>array(165,-302,551,973),9569=>array(-9,-302,306,973),9570=>array(-9,-302,376,973),9571=>array(-9,-302,376,973),9572=>array(-9,-302,551,410),9573=>array(-9,-302,551,326),9574=>array(-9,-302,551,410),9575=>array(-9,158,551,973),9576=>array(-9,242,551,973),9577=>array(-9,158,551,973),9578=>array(-9,-302,551,973),9579=>array(-9,-302,551,973),9580=>array(-9,-302,551,973),9581=>array(235,-302,551,326),9582=>array(-9,-302,306,326),9583=>array(-9,242,306,973),9584=>array(235,242,551,973),9585=>array(-48,-302,590,973),9586=>array(-48,-302,590,973),9587=>array(-48,-302,590,973),9588=>array(-9,242,280,326),9589=>array(235,284,306,973),9590=>array(279,242,551,326),9591=>array(235,-302,306,284),9592=>array(-9,200,280,368),9593=>array(200,284,341,973),9594=>array(279,200,551,368),9595=>array(200,-302,341,284),9596=>array(-9,200,551,368),9597=>array(200,-302,341,973),9598=>array(-9,200,551,368),9599=>array(200,-302,341,973),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,630,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(49,260,736,645),9697=>array(49,-125,736,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(135,227,396,516),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9784=>array(71,3,735,721),9785=>array(75,0,732,730),9786=>array(75,0,732,730),9787=>array(75,0,732,730),9788=>array(75,0,732,730),9791=>array(77,-102,476,732),9792=>array(77,-125,581,731),9793=>array(77,-125,581,731),9794=>array(77,-5,748,729),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),10145=>array(51,119,721,527),10181=>array(48,-163,316,769),10182=>array(48,-163,316,769),10208=>array(2,-233,442,807),10216=>array(80,-132,279,759),10217=>array(72,-132,271,759),10224=>array(62,0,693,744),10225=>array(62,-20,693,724),10226=>array(44,53,697,613),10227=>array(57,53,710,613),10228=>array(51,10,896,637),10229=>array(33,119,1239,527),10230=>array(51,119,1257,527),10231=>array(33,119,1257,527),10232=>array(33,119,1239,527),10233=>array(51,119,1257,527),10234=>array(33,119,1257,527),10235=>array(33,119,1239,527),10236=>array(51,119,1257,527),10237=>array(33,119,1239,527),10238=>array(51,119,1257,527),10239=>array(51,119,1257,527),10241=>array(125,627,271,789),10242=>array(125,351,271,512),10243=>array(125,351,271,789),10244=>array(125,74,271,236),10245=>array(125,74,271,789),10246=>array(125,74,271,512),10247=>array(125,74,271,789),10248=>array(389,627,534,789),10249=>array(125,627,534,789),10250=>array(125,351,534,789),10251=>array(125,351,534,789),10252=>array(125,74,534,789),10253=>array(125,74,534,789),10254=>array(125,74,534,789),10255=>array(125,74,534,789),10256=>array(389,351,534,512),10257=>array(125,351,534,789),10258=>array(125,351,534,512),10259=>array(125,351,534,789),10260=>array(125,74,534,512),10261=>array(125,74,534,789),10262=>array(125,74,534,512),10263=>array(125,74,534,789),10264=>array(389,351,534,789),10265=>array(125,351,534,789),10266=>array(125,351,534,789),10267=>array(125,351,534,789),10268=>array(125,74,534,789),10269=>array(125,74,534,789),10270=>array(125,74,534,789),10271=>array(125,74,534,789),10272=>array(389,74,534,236),10273=>array(125,74,534,789),10274=>array(125,74,534,512),10275=>array(125,74,534,789),10276=>array(125,74,534,236),10277=>array(125,74,534,789),10278=>array(125,74,534,512),10279=>array(125,74,534,789),10280=>array(389,74,534,789),10281=>array(125,74,534,789),10282=>array(125,74,534,789),10283=>array(125,74,534,789),10284=>array(125,74,534,789),10285=>array(125,74,534,789),10286=>array(125,74,534,789),10287=>array(125,74,534,789),10288=>array(389,74,534,512),10289=>array(125,74,534,789),10290=>array(125,74,534,512),10291=>array(125,74,534,789),10292=>array(125,74,534,512),10293=>array(125,74,534,789),10294=>array(125,74,534,512),10295=>array(125,74,534,789),10296=>array(389,74,534,789),10297=>array(125,74,534,789),10298=>array(125,74,534,789),10299=>array(125,74,534,789),10300=>array(125,74,534,789),10301=>array(125,74,534,789),10302=>array(125,74,534,789),10303=>array(125,74,534,789),10304=>array(125,-203,271,-41),10305=>array(125,-203,271,789),10306=>array(125,-203,271,512),10307=>array(125,-203,271,789),10308=>array(125,-203,271,236),10309=>array(125,-203,271,789),10310=>array(125,-203,271,512),10311=>array(125,-203,271,789),10312=>array(125,-203,534,789),10313=>array(125,-203,534,789),10314=>array(125,-203,534,789),10315=>array(125,-203,534,789),10316=>array(125,-203,534,789),10317=>array(125,-203,534,789),10318=>array(125,-203,534,789),10319=>array(125,-203,534,789),10320=>array(125,-203,534,512),10321=>array(125,-203,534,789),10322=>array(125,-203,534,512),10323=>array(125,-203,534,789),10324=>array(125,-203,534,512),10325=>array(125,-203,534,789),10326=>array(125,-203,534,512),10327=>array(125,-203,534,789),10328=>array(125,-203,534,789),10329=>array(125,-203,534,789),10330=>array(125,-203,534,789),10331=>array(125,-203,534,789),10332=>array(125,-203,534,789),10333=>array(125,-203,534,789),10334=>array(125,-203,534,789),10335=>array(125,-203,534,789),10336=>array(125,-203,534,236),10337=>array(125,-203,534,789),10338=>array(125,-203,534,512),10339=>array(125,-203,534,789),10340=>array(125,-203,534,236),10341=>array(125,-203,534,789),10342=>array(125,-203,534,512),10343=>array(125,-203,534,789),10344=>array(125,-203,534,789),10345=>array(125,-203,534,789),10346=>array(125,-203,534,789),10347=>array(125,-203,534,789),10348=>array(125,-203,534,789),10349=>array(125,-203,534,789),10350=>array(125,-203,534,789),10351=>array(125,-203,534,789),10352=>array(125,-203,534,512),10353=>array(125,-203,534,789),10354=>array(125,-203,534,512),10355=>array(125,-203,534,789),10356=>array(125,-203,534,512),10357=>array(125,-203,534,789),10358=>array(125,-203,534,512),10359=>array(125,-203,534,789),10360=>array(125,-203,534,789),10361=>array(125,-203,534,789),10362=>array(125,-203,534,789),10363=>array(125,-203,534,789),10364=>array(125,-203,534,789),10365=>array(125,-203,534,789),10366=>array(125,-203,534,789),10367=>array(125,-203,534,789),10368=>array(389,-203,534,-41),10369=>array(125,-203,534,789),10370=>array(125,-203,534,512),10371=>array(125,-203,534,789),10372=>array(125,-203,534,236),10373=>array(125,-203,534,789),10374=>array(125,-203,534,512),10375=>array(125,-203,534,789),10376=>array(389,-203,534,789),10377=>array(125,-203,534,789),10378=>array(125,-203,534,789),10379=>array(125,-203,534,789),10380=>array(125,-203,534,789),10381=>array(125,-203,534,789),10382=>array(125,-203,534,789),10383=>array(125,-203,534,789),10384=>array(389,-203,534,512),10385=>array(125,-203,534,789),10386=>array(125,-203,534,512),10387=>array(125,-203,534,789),10388=>array(125,-203,534,512),10389=>array(125,-203,534,789),10390=>array(125,-203,534,512),10391=>array(125,-203,534,789),10392=>array(389,-203,534,789),10393=>array(125,-203,534,789),10394=>array(125,-203,534,789),10395=>array(125,-203,534,789),10396=>array(125,-203,534,789),10397=>array(125,-203,534,789),10398=>array(125,-203,534,789),10399=>array(125,-203,534,789),10400=>array(389,-203,534,236),10401=>array(125,-203,534,789),10402=>array(125,-203,534,512),10403=>array(125,-203,534,789),10404=>array(125,-203,534,236),10405=>array(125,-203,534,789),10406=>array(125,-203,534,512),10407=>array(125,-203,534,789),10408=>array(389,-203,534,789),10409=>array(125,-203,534,789),10410=>array(125,-203,534,789),10411=>array(125,-203,534,789),10412=>array(125,-203,534,789),10413=>array(125,-203,534,789),10414=>array(125,-203,534,789),10415=>array(125,-203,534,789),10416=>array(389,-203,534,512),10417=>array(125,-203,534,789),10418=>array(125,-203,534,512),10419=>array(125,-203,534,789),10420=>array(125,-203,534,512),10421=>array(125,-203,534,789),10422=>array(125,-203,534,512),10423=>array(125,-203,534,789),10424=>array(389,-203,534,789),10425=>array(125,-203,534,789),10426=>array(125,-203,534,789),10427=>array(125,-203,534,789),10428=>array(125,-203,534,789),10429=>array(125,-203,534,789),10430=>array(125,-203,534,789),10431=>array(125,-203,534,789),10432=>array(125,-203,534,-41),10433=>array(125,-203,534,789),10434=>array(125,-203,534,512),10435=>array(125,-203,534,789),10436=>array(125,-203,534,236),10437=>array(125,-203,534,789),10438=>array(125,-203,534,512),10439=>array(125,-203,534,789),10440=>array(125,-203,534,789),10441=>array(125,-203,534,789),10442=>array(125,-203,534,789),10443=>array(125,-203,534,789),10444=>array(125,-203,534,789),10445=>array(125,-203,534,789),10446=>array(125,-203,534,789),10447=>array(125,-203,534,789),10448=>array(125,-203,534,512),10449=>array(125,-203,534,789),10450=>array(125,-203,534,512),10451=>array(125,-203,534,789),10452=>array(125,-203,534,512),10453=>array(125,-203,534,789),10454=>array(125,-203,534,512),10455=>array(125,-203,534,789),10456=>array(125,-203,534,789),10457=>array(125,-203,534,789),10458=>array(125,-203,534,789),10459=>array(125,-203,534,789),10460=>array(125,-203,534,789),10461=>array(125,-203,534,789),10462=>array(125,-203,534,789),10463=>array(125,-203,534,789),10464=>array(125,-203,534,236),10465=>array(125,-203,534,789),10466=>array(125,-203,534,512),10467=>array(125,-203,534,789),10468=>array(125,-203,534,236),10469=>array(125,-203,534,789),10470=>array(125,-203,534,512),10471=>array(125,-203,534,789),10472=>array(125,-203,534,789),10473=>array(125,-203,534,789),10474=>array(125,-203,534,789),10475=>array(125,-203,534,789),10476=>array(125,-203,534,789),10477=>array(125,-203,534,789),10478=>array(125,-203,534,789),10479=>array(125,-203,534,789),10480=>array(125,-203,534,512),10481=>array(125,-203,534,789),10482=>array(125,-203,534,512),10483=>array(125,-203,534,789),10484=>array(125,-203,534,512),10485=>array(125,-203,534,789),10486=>array(125,-203,534,512),10487=>array(125,-203,534,789),10488=>array(125,-203,534,789),10489=>array(125,-203,534,789),10490=>array(125,-203,534,789),10491=>array(125,-203,534,789),10492=>array(125,-203,534,789),10493=>array(125,-203,534,789),10494=>array(125,-203,534,789),10495=>array(125,-203,534,789),10496=>array(51,119,721,527),10497=>array(51,119,721,527),10498=>array(33,119,703,527),10499=>array(51,119,721,527),10500=>array(33,119,721,527),10501=>array(51,119,721,527),10502=>array(33,119,703,527),10503=>array(51,119,721,527),10504=>array(193,-20,561,724),10505=>array(193,0,561,744),10506=>array(149,0,605,744),10507=>array(149,-20,605,724),10508=>array(33,119,703,527),10509=>array(51,119,721,527),10510=>array(33,119,703,527),10511=>array(51,119,721,527),10512=>array(48,119,721,527),10513=>array(48,119,721,527),10514=>array(193,0,561,724),10515=>array(193,0,561,724),10516=>array(48,119,721,527),10517=>array(48,119,721,527),10518=>array(48,119,721,527),10519=>array(48,119,721,527),10520=>array(48,119,721,527),10521=>array(51,119,706,527),10522=>array(48,119,703,527),10523=>array(51,119,706,527),10524=>array(48,119,703,527),10525=>array(33,119,703,527),10526=>array(51,119,721,527),10527=>array(33,119,703,527),10528=>array(51,119,721,527),10529=>array(132,51,623,595),10530=>array(132,51,622,595),10531=>array(132,-37,583,595),10532=>array(170,-38,622,595),10533=>array(170,52,622,684),10534=>array(132,52,584,684),10535=>array(122,40,633,595),10536=>array(122,40,622,607),10537=>array(122,52,633,607),10538=>array(132,40,633,607),10539=>array(122,40,633,607),10540=>array(122,40,633,607),10541=>array(122,40,622,607),10542=>array(122,40,622,607),10543=>array(122,40,633,607),10544=>array(122,40,633,607),10545=>array(122,40,633,595),10546=>array(122,40,633,595),10547=>array(33,119,721,527),10548=>array(132,98,636,610),10549=>array(132,90,637,602),10550=>array(143,70,604,629),10551=>array(150,70,611,629),10552=>array(263,-0,528,732),10553=>array(226,-0,491,732),10554=>array(50,197,710,491),10555=>array(45,156,706,450),10556=>array(44,82,704,491),10557=>array(50,0,710,491),10558=>array(130,30,611,609),10559=>array(144,30,624,609),10560=>array(125,53,629,778),10561=>array(125,53,629,778),10562=>array(33,-52,721,698),10563=>array(33,-52,721,698),10564=>array(33,-52,721,698),10565=>array(51,0,721,527),10566=>array(33,0,703,527),10567=>array(51,119,721,527),10568=>array(33,119,721,527),10569=>array(193,-10,561,744),10570=>array(31,119,724,527),10571=>array(31,119,724,527),10572=>array(193,-23,561,747),10573=>array(193,-23,561,747),10574=>array(31,284,724,527),10575=>array(341,-23,561,747),10576=>array(31,119,724,363),10577=>array(193,-23,413,747),10578=>array(51,131,703,527),10579=>array(51,131,703,527),10580=>array(204,0,561,724),10581=>array(204,0,561,724),10582=>array(51,119,703,515),10583=>array(51,119,703,515),10584=>array(193,0,550,724),10585=>array(193,0,550,724),10586=>array(31,131,703,527),10587=>array(51,131,724,527),10588=>array(204,0,561,747),10589=>array(204,-23,561,724),10590=>array(31,119,703,515),10591=>array(51,119,724,515),10592=>array(193,0,550,747),10593=>array(193,-23,550,724),10594=>array(31,21,703,625),10595=>array(105,0,649,747),10596=>array(51,21,724,625),10597=>array(105,-23,649,724),10598=>array(31,186,724,625),10599=>array(31,21,724,460),10600=>array(31,186,724,625),10601=>array(31,21,724,460),10602=>array(31,203,703,608),10603=>array(31,38,703,444),10604=>array(51,203,724,608),10605=>array(51,38,724,444),10606=>array(105,-23,649,747),10607=>array(105,-23,649,747),10608=>array(51,191,703,456),10609=>array(51,119,721,680),10610=>array(51,119,721,572),10611=>array(33,74,703,527),10612=>array(51,74,721,527),10613=>array(51,-71,721,527),10614=>array(33,-76,703,776),10615=>array(33,56,832,591),10616=>array(51,-76,721,776),10617=>array(51,-76,721,723),10618=>array(33,10,835,637),10619=>array(33,-76,703,723),10620=>array(152,21,614,625),10621=>array(141,21,602,625),10622=>array(105,67,649,580),10623=>array(105,59,649,571),10731=>array(2,-233,442,807),10764=>array(21,-181,1340,757),10765=>array(21,-181,448,757),10766=>array(21,-181,448,757),10799=>array(124,33,630,594),10858=>array(95,233,659,559),10859=>array(95,68,659,559),11008=>array(64,-28,621,591),11009=>array(133,-28,690,591),11010=>array(64,52,621,671),11011=>array(133,52,690,671),11012=>array(33,119,721,527),11013=>array(33,119,703,527),11014=>array(193,0,561,744),11015=>array(193,-20,561,724),11016=>array(64,-28,621,591),11017=>array(133,-28,690,591),11018=>array(64,52,621,671),11019=>array(133,52,690,671),11020=>array(33,119,721,527),11021=>array(193,-20,561,744),11022=>array(51,137,721,498),11023=>array(51,149,721,510),11024=>array(33,137,703,498),11025=>array(33,149,703,510),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11360=>array(45,0,576,729),11361=>array(16,0,272,760),11363=>array(45,0,574,729),11364=>array(49,-208,699,729),11367=>array(49,-157,735,729),11368=>array(32,-138,555,760),11369=>array(49,-157,686,729),11370=>array(26,-138,552,760),11371=>array(40,-157,590,729),11372=>array(36,-138,441,519),11373=>array(50,-14,665,742),11374=>array(44,-208,876,729),11375=>array(-5,0,659,729),11376=>array(50,-14,665,742),11377=>array(-3,0,597,530),11378=>array(4,0,1017,729),11379=>array(14,0,846,530),11381=>array(49,0,617,729),11382=>array(31,0,453,519),11383=>array(40,-15,591,521),11385=>array(32,-14,431,760),11386=>array(44,-14,497,533),11387=>array(51,0,472,519),11388=>array(20,-124,192,413),11389=>array(-6,326,418,734),11390=>array(75,-208,551,742),11391=>array(40,-208,625,729),11520=>array(53,-54,643,512),11521=>array(53,-221,519,512),11522=>array(8,-221,517,512),11523=>array(83,-1,532,760),11524=>array(49,-221,524,512),11525=>array(53,-220,813,512),11526=>array(53,0,628,760),11527=>array(53,0,812,511),11528=>array(62,0,503,512),11529=>array(53,-220,529,729),11530=>array(47,0,808,512),11531=>array(86,-1,545,760),11532=>array(53,0,529,760),11533=>array(53,-1,813,512),11534=>array(53,0,528,512),11535=>array(50,-221,727,760),11536=>array(53,0,813,760),11537=>array(53,0,528,760),11538=>array(53,-220,513,511),11539=>array(53,-224,811,636),11540=>array(76,-220,766,553),11541=>array(53,-221,725,760),11542=>array(53,0,527,512),11543=>array(53,-220,529,512),11544=>array(53,-221,528,512),11545=>array(74,-220,532,760),11546=>array(90,-220,566,512),11547=>array(77,0,547,760),11548=>array(91,-220,831,512),11549=>array(53,-220,561,512),11550=>array(81,-220,556,512),11551=>array(53,-221,714,515),11552=>array(57,0,817,512),11553=>array(53,-220,519,760),11554=>array(68,-2,503,578),11555=>array(53,-220,529,760),11556=>array(53,-220,622,512),11557=>array(86,-2,740,760),11800=>array(61,-13,439,743),11807=>array(95,68,659,394),11810=>array(77,403,282,760),11811=>array(69,403,274,760),11812=>array(77,-132,282,225),11813=>array(69,-132,274,225),11822=>array(61,-14,439,742),42564=>array(75,-14,551,742),42565=>array(50,-14,416,533),42566=>array(49,0,306,729),42567=>array(32,0,269,519),42576=>array(31,0,945,729),42577=>array(26,0,767,519),42580=>array(59,-14,1024,742),42581=>array(41,-14,758,533),42582=>array(49,0,1035,729),42583=>array(26,-14,784,533),42760=>array(94,0,351,668),42761=>array(94,0,351,668),42762=>array(94,0,351,668),42763=>array(94,0,351,668),42764=>array(94,0,351,668),42765=>array(94,0,351,668),42766=>array(94,0,351,668),42767=>array(94,0,351,668),42768=>array(94,0,351,668),42769=>array(94,0,351,668),42770=>array(94,0,351,668),42771=>array(94,0,351,668),42772=>array(94,0,351,668),42773=>array(94,0,351,668),42774=>array(94,0,351,668),42779=>array(50,326,282,743),42780=>array(50,315,282,731),42781=>array(77,318,151,734),42782=>array(77,326,151,742),42783=>array(77,0,151,416),42790=>array(49,-208,735,729),42791=>array(32,-222,483,760),42792=>array(9,-224,733,729),42793=>array(26,-224,653,680),42794=>array(39,-14,484,742),42795=>array(44,-14,454,742),42796=>array(27,-14,472,729),42797=>array(27,-222,457,519),42798=>array(27,-92,544,729),42799=>array(27,-242,527,519),42800=>array(26,0,441,519),42801=>array(50,-14,416,533),42802=>array(-5,0,1084,729),42803=>array(44,-14,825,533),42804=>array(-5,-14,1054,742),42805=>array(44,-14,810,533),42806=>array(-16,-14,994,729),42807=>array(44,-14,808,533),42808=>array(-5,0,885,729),42809=>array(44,-14,703,533),42810=>array(-5,0,885,729),42811=>array(44,-14,703,533),42812=>array(-5,-208,879,729),42813=>array(44,-222,739,533),42814=>array(50,-14,635,742),42815=>array(44,-14,463,533),42816=>array(44,0,686,729),42817=>array(22,0,552,760),42822=>array(49,0,687,729),42823=>array(26,0,364,760),42826=>array(-4,-14,843,742),42827=>array(-4,-14,645,533),42830=>array(50,-14,1225,742),42831=>array(44,-14,854,533),42856=>array(49,-208,587,729),42857=>array(26,-208,500,519),42875=>array(48,-208,513,743),42876=>array(32,-208,431,533),42880=>array(21,0,548,729),42881=>array(26,-240,261,519),42882=>array(48,-208,712,743),42883=>array(32,-208,561,533),42884=>array(48,-208,513,743),42885=>array(32,-208,431,533),42886=>array(28,-14,644,729),42887=>array(22,-14,472,519),42891=>array(124,205,238,729),42892=>array(88,458,158,729),42893=>array(9,0,650,729),42896=>array(44,-157,748,729),42897=>array(32,-138,556,533),42922=>array(-84,0,735,729),43002=>array(32,0,829,519),43003=>array(38,0,575,729),43004=>array(32,0,556,729),43005=>array(44,0,876,729),43006=>array(49,0,306,928),43007=>array(-5,0,1078,729),62464=>array(47,-20,541,848),62465=>array(53,-20,546,847),62466=>array(48,-20,594,846),62467=>array(56,-19,797,847),62468=>array(47,-20,531,847),62469=>array(47,-20,541,848),62470=>array(23,-20,599,847),62471=>array(56,-19,831,846),62472=>array(53,-20,546,847),62473=>array(53,-20,546,847),62474=>array(60,-20,1072,847),62475=>array(53,-20,546,847),62476=>array(67,-20,562,848),62477=>array(57,-125,801,847),62478=>array(53,-20,546,847),62479=>array(53,-20,546,848),62480=>array(57,-20,842,837),62481=>array(4,-20,617,847),62482=>array(54,-20,665,847),62483=>array(28,-20,604,847),62484=>array(56,-20,794,847),62485=>array(53,-20,545,834),62486=>array(56,-20,787,846),62487=>array(53,-20,545,846),62488=>array(22,-20,551,847),62489=>array(67,-20,562,847),62490=>array(54,-20,602,841),62491=>array(53,-20,546,847),62492=>array(68,-20,597,847),62493=>array(53,-20,546,852),62494=>array(3,-20,602,847),62495=>array(51,-29,746,845),62496=>array(53,-20,545,851),62497=>array(53,-20,582,847),62498=>array(53,-60,546,847),62499=>array(53,-20,546,859),62500=>array(53,-20,546,847),62501=>array(53,-20,597,847),62502=>array(56,-19,809,847),62504=>array(74,-220,736,760),63173=>array(44,-14,497,747),63185=>array(55,625,396,775),63188=>array(87,670,363,800),64256=>array(32,-0,694,760),64257=>array(32,0,580,760),64258=>array(32,0,574,760),64259=>array(31,0,905,760),64260=>array(31,0,896,760),64261=>array(35,-15,660,760),64262=>array(44,-14,795,737),65533=>array(13,-84,910,912),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>286,33=>361,34=>414,35=>754,36=>572,37=>855,38=>801,39=>247,40=>351,41=>351,42=>450,43=>754,44=>286,45=>304,46=>286,47=>303,48=>572,49=>572,50=>572,51=>572,52=>572,53=>572,54=>572,55=>572,56=>572,57=>572,58=>303,59=>303,60=>754,61=>754,62=>754,63=>482,64=>900,65=>650,66=>661,67=>688,68=>721,69=>657,70=>624,71=>719,72=>785,73=>355,74=>360,75=>672,76=>598,77=>921,78=>787,79=>738,80=>605,81=>738,82=>677,83=>616,84=>600,85=>758,86=>650,87=>925,88=>641,89=>594,90=>625,91=>351,92=>303,93=>351,94=>754,95=>450,96=>450,97=>536,98=>576,99=>504,100=>576,101=>532,102=>333,103=>576,104=>580,105=>288,106=>279,107=>545,108=>288,109=>853,110=>580,111=>542,112=>576,113=>576,114=>430,115=>461,116=>361,117=>580,118=>508,119=>770,120=>507,121=>508,122=>474,123=>572,124=>303,125=>572,126=>754,160=>286,161=>361,162=>572,163=>572,164=>572,165=>572,166=>303,167=>450,168=>450,169=>900,170=>427,171=>550,172=>754,173=>304,174=>900,175=>450,176=>450,177=>754,178=>360,179=>360,180=>450,181=>584,182=>572,183=>286,184=>450,185=>360,186=>423,187=>550,188=>872,189=>872,190=>872,191=>482,192=>650,193=>650,194=>650,195=>650,196=>650,197=>650,198=>901,199=>688,200=>657,201=>657,202=>657,203=>657,204=>355,205=>355,206=>355,207=>355,208=>726,209=>787,210=>738,211=>738,212=>738,213=>738,214=>738,215=>754,216=>738,217=>758,218=>758,219=>758,220=>758,221=>594,222=>608,223=>601,224=>536,225=>536,226=>536,227=>536,228=>536,229=>536,230=>846,231=>504,232=>532,233=>532,234=>532,235=>532,236=>288,237=>288,238=>288,239=>288,240=>542,241=>580,242=>542,243=>542,244=>542,245=>542,246=>542,247=>754,248=>542,249=>580,250=>580,251=>580,252=>580,253=>508,254=>576,255=>508,256=>650,257=>536,258=>650,259=>536,260=>650,261=>536,262=>688,263=>504,264=>688,265=>504,266=>688,267=>504,268=>688,269=>504,270=>721,271=>576,272=>726,273=>576,274=>657,275=>532,276=>657,277=>532,278=>657,279=>532,280=>657,281=>532,282=>657,283=>532,284=>719,285=>576,286=>719,287=>576,288=>719,289=>576,290=>719,291=>576,292=>785,293=>580,294=>785,295=>580,296=>355,297=>288,298=>355,299=>288,300=>355,301=>288,302=>355,303=>288,304=>355,305=>288,306=>721,307=>479,308=>360,309=>279,310=>672,311=>545,312=>545,313=>598,314=>288,315=>598,316=>288,317=>598,318=>288,319=>598,320=>288,321=>602,322=>292,323=>787,324=>580,325=>787,326=>580,327=>787,328=>580,329=>779,330=>758,331=>580,332=>738,333=>542,334=>738,335=>542,336=>738,337=>542,338=>1023,339=>890,340=>677,341=>430,342=>677,343=>430,344=>677,345=>430,346=>616,347=>461,348=>616,349=>461,350=>616,351=>461,352=>616,353=>461,354=>600,355=>361,356=>600,357=>361,358=>600,359=>361,360=>758,361=>580,362=>758,363=>580,364=>758,365=>580,366=>758,367=>580,368=>758,369=>580,370=>758,371=>580,372=>925,373=>770,374=>594,375=>508,376=>594,377=>625,378=>474,379=>625,380=>474,381=>625,382=>474,383=>333,384=>576,385=>661,386=>661,387=>576,388=>661,389=>576,390=>688,391=>688,392=>504,393=>726,394=>721,395=>661,396=>576,397=>542,398=>657,399=>738,400=>561,401=>624,402=>333,403=>719,404=>641,405=>839,406=>355,407=>355,408=>672,409=>545,410=>288,411=>570,412=>853,413=>787,414=>580,415=>738,416=>738,417=>542,418=>936,419=>726,420=>605,421=>576,422=>677,423=>616,424=>461,425=>636,426=>292,427=>361,428=>600,429=>361,430=>600,431=>758,432=>580,433=>746,434=>684,435=>664,436=>596,437=>625,438=>474,439=>508,440=>508,441=>508,442=>508,443=>572,444=>618,445=>508,446=>482,447=>571,448=>265,449=>443,450=>413,451=>265,452=>1347,453=>1195,454=>1050,455=>958,456=>876,457=>567,458=>1148,459=>1066,460=>858,461=>650,462=>536,463=>355,464=>288,465=>738,466=>542,467=>758,468=>580,469=>758,470=>580,471=>758,472=>580,473=>758,474=>580,475=>758,476=>580,477=>532,478=>650,479=>536,480=>650,481=>536,482=>901,483=>846,484=>763,485=>576,486=>719,487=>576,488=>672,489=>545,490=>738,491=>542,492=>738,493=>542,494=>508,495=>508,496=>288,497=>1347,498=>1195,499=>1050,500=>719,501=>576,502=>1038,503=>636,504=>787,505=>580,506=>650,507=>536,508=>901,509=>846,510=>738,511=>542,512=>650,513=>536,514=>650,515=>536,516=>657,517=>532,518=>657,519=>532,520=>355,521=>288,522=>355,523=>288,524=>738,525=>542,526=>738,527=>542,528=>677,529=>430,530=>677,531=>430,532=>758,533=>580,534=>758,535=>580,536=>616,537=>461,538=>600,539=>361,540=>564,541=>469,542=>785,543=>580,544=>758,545=>732,546=>514,547=>497,548=>625,549=>474,550=>650,551=>536,552=>657,553=>532,554=>738,555=>542,556=>738,557=>542,558=>738,559=>542,560=>738,561=>542,562=>594,563=>508,564=>450,565=>748,566=>444,567=>279,568=>864,569=>864,570=>650,571=>688,572=>504,573=>598,574=>600,575=>461,576=>474,577=>525,578=>417,579=>661,580=>758,581=>650,582=>657,583=>532,584=>360,585=>283,586=>704,587=>576,588=>677,589=>430,590=>594,591=>508,592=>536,593=>576,594=>576,595=>576,596=>504,597=>504,598=>582,599=>614,600=>532,601=>532,602=>759,603=>466,604=>458,605=>695,606=>552,607=>283,608=>615,609=>576,610=>489,611=>539,612=>507,613=>580,614=>580,615=>580,616=>288,617=>353,618=>288,619=>342,620=>409,621=>326,622=>633,623=>853,624=>853,625=>853,626=>579,627=>624,628=>581,629=>542,630=>711,631=>583,632=>542,633=>451,634=>451,635=>496,636=>430,637=>430,638=>407,639=>407,640=>534,641=>534,642=>461,643=>244,644=>333,645=>438,646=>292,647=>361,648=>361,649=>580,650=>558,651=>547,652=>508,653=>770,654=>508,655=>589,656=>537,657=>504,658=>508,659=>504,660=>482,661=>482,662=>482,663=>461,664=>738,665=>506,666=>552,667=>588,668=>600,669=>329,670=>545,671=>488,672=>615,673=>482,674=>482,675=>896,676=>930,677=>898,678=>741,679=>538,680=>743,681=>804,682=>652,683=>608,684=>538,685=>398,686=>703,687=>690,688=>389,689=>387,690=>237,691=>312,692=>312,693=>387,694=>352,695=>527,696=>381,697=>250,698=>414,699=>286,700=>286,701=>286,702=>276,703=>276,704=>252,705=>252,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>247,713=>450,714=>450,715=>450,716=>247,717=>450,720=>303,721=>303,722=>276,723=>276,726=>295,727=>295,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>375,736=>339,737=>218,738=>303,739=>381,740=>252,741=>444,742=>444,743=>444,744=>444,745=>444,748=>450,750=>435,751=>450,752=>450,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>666,881=>478,882=>600,883=>498,884=>250,885=>250,886=>787,887=>600,890=>450,891=>504,892=>504,893=>504,894=>303,900=>450,901=>450,902=>650,903=>286,904=>810,905=>935,906=>505,908=>751,910=>808,911=>767,912=>353,913=>650,914=>661,915=>624,916=>650,917=>657,918=>625,919=>785,920=>738,921=>355,922=>672,923=>650,924=>921,925=>787,926=>633,927=>738,928=>785,929=>605,931=>636,932=>600,933=>594,934=>738,935=>641,936=>789,937=>746,938=>355,939=>594,940=>607,941=>466,942=>539,943=>353,944=>547,945=>607,946=>520,947=>538,948=>542,949=>466,950=>488,951=>539,952=>542,953=>353,954=>563,955=>570,956=>584,957=>547,958=>496,959=>542,960=>591,961=>529,962=>504,963=>614,964=>498,965=>547,966=>630,967=>545,968=>706,969=>734,970=>353,971=>547,972=>542,973=>547,974=>734,975=>672,976=>524,977=>643,978=>618,979=>787,980=>618,981=>613,982=>734,983=>561,984=>738,985=>542,986=>688,987=>504,988=>624,989=>417,990=>531,991=>593,992=>704,993=>519,1008=>561,1009=>529,1010=>504,1011=>279,1012=>738,1013=>504,1014=>504,1015=>608,1016=>576,1017=>688,1018=>921,1019=>637,1020=>529,1021=>688,1022=>688,1023=>688,1024=>657,1025=>657,1026=>719,1027=>596,1028=>688,1029=>616,1030=>355,1031=>355,1032=>360,1033=>976,1034=>1006,1035=>785,1036=>696,1037=>785,1038=>650,1039=>785,1040=>681,1041=>661,1042=>661,1043=>596,1044=>731,1045=>657,1046=>1011,1047=>561,1048=>785,1049=>785,1050=>696,1051=>751,1052=>921,1053=>785,1054=>738,1055=>785,1056=>605,1057=>688,1058=>600,1059=>650,1060=>747,1061=>641,1062=>785,1063=>695,1064=>1027,1065=>1027,1066=>715,1067=>885,1068=>606,1069=>688,1070=>1074,1071=>727,1072=>536,1073=>542,1074=>506,1075=>471,1076=>554,1077=>532,1078=>828,1079=>491,1080=>600,1081=>600,1082=>563,1083=>571,1084=>700,1085=>600,1086=>542,1087=>600,1088=>576,1089=>504,1090=>498,1091=>529,1092=>704,1093=>507,1094=>579,1095=>595,1096=>836,1097=>836,1098=>572,1099=>716,1100=>490,1101=>504,1102=>783,1103=>567,1104=>532,1105=>532,1106=>561,1107=>471,1108=>504,1109=>461,1110=>288,1111=>288,1112=>279,1113=>759,1114=>774,1115=>580,1116=>563,1117=>600,1118=>529,1119=>590,1122=>686,1123=>542,1124=>1016,1125=>750,1130=>1011,1131=>828,1132=>1223,1133=>1001,1136=>849,1137=>812,1138=>738,1139=>497,1140=>773,1141=>610,1142=>773,1143=>610,1164=>636,1165=>490,1168=>604,1169=>476,1170=>596,1171=>471,1172=>655,1173=>552,1174=>1011,1175=>828,1176=>572,1177=>483,1178=>696,1179=>545,1182=>696,1183=>563,1184=>801,1185=>645,1186=>785,1187=>577,1188=>1025,1189=>767,1190=>1084,1191=>847,1194=>688,1195=>504,1196=>600,1197=>498,1198=>594,1199=>508,1200=>594,1201=>508,1202=>641,1203=>507,1204=>856,1205=>659,1206=>674,1207=>621,1210=>674,1211=>580,1216=>355,1217=>1011,1218=>828,1219=>672,1220=>545,1223=>785,1224=>600,1227=>674,1228=>600,1231=>288,1232=>681,1233=>536,1234=>681,1235=>536,1236=>901,1237=>846,1238=>657,1239=>532,1240=>738,1241=>532,1242=>738,1243=>532,1244=>1011,1245=>828,1246=>561,1247=>491,1248=>508,1249=>508,1250=>785,1251=>600,1252=>785,1253=>600,1254=>738,1255=>542,1256=>738,1257=>542,1258=>738,1259=>542,1260=>688,1261=>504,1262=>650,1263=>529,1264=>650,1265=>529,1266=>650,1267=>529,1268=>695,1269=>595,1270=>596,1271=>471,1272=>885,1273=>716,1296=>561,1297=>491,1298=>751,1299=>571,1300=>1078,1301=>827,1306=>738,1307=>576,1308=>925,1309=>770,1329=>729,1330=>729,1331=>743,1332=>762,1333=>725,1334=>743,1335=>685,1336=>729,1337=>871,1338=>734,1339=>695,1340=>614,1341=>987,1342=>760,1343=>723,1344=>647,1345=>729,1346=>750,1347=>759,1348=>808,1349=>687,1350=>714,1351=>678,1352=>719,1353=>717,1354=>787,1355=>747,1356=>795,1357=>719,1358=>721,1359=>658,1360=>697,1361=>674,1362=>570,1363=>760,1364=>759,1365=>751,1366=>738,1369=>276,1370=>237,1371=>207,1372=>352,1373=>328,1374=>347,1375=>450,1377=>854,1378=>556,1379=>625,1380=>625,1381=>565,1382=>619,1383=>458,1384=>572,1385=>711,1386=>604,1387=>571,1388=>274,1389=>875,1390=>553,1391=>565,1392=>572,1393=>567,1394=>572,1395=>588,1396=>580,1397=>278,1398=>572,1399=>415,1400=>584,1401=>329,1402=>846,1403=>505,1404=>591,1405=>580,1406=>567,1407=>836,1408=>580,1409=>578,1410=>435,1411=>836,1412=>572,1413=>548,1414=>728,1415=>709,1417=>306,1418=>300,4256=>650,4257=>765,4258=>745,4259=>773,4260=>659,4261=>883,4262=>824,4263=>991,4264=>510,4265=>675,4266=>866,4267=>847,4268=>668,4269=>967,4270=>807,4271=>746,4272=>936,4273=>660,4274=>602,4275=>914,4276=>843,4277=>917,4278=>658,4279=>659,4280=>659,4281=>660,4282=>791,4283=>843,4284=>642,4285=>679,4286=>660,4287=>862,4288=>900,4289=>632,4290=>777,4291=>660,4292=>753,4293=>855,4304=>486,4305=>514,4306=>530,4307=>750,4308=>505,4309=>501,4310=>556,4311=>774,4312=>503,4313=>491,4314=>959,4315=>527,4316=>527,4317=>743,4318=>513,4319=>522,4320=>741,4321=>546,4322=>673,4323=>628,4324=>733,4325=>526,4326=>772,4327=>511,4328=>534,4329=>527,4330=>607,4331=>528,4332=>523,4333=>518,4334=>550,4335=>615,4336=>514,4337=>542,4338=>514,4339=>514,4340=>513,4341=>584,4342=>797,4343=>563,4344=>523,4345=>557,4346=>514,4347=>393,4348=>318,7424=>508,7425=>697,7426=>846,7427=>506,7428=>504,7429=>527,7430=>527,7431=>498,7432=>458,7433=>288,7434=>448,7435=>563,7436=>488,7437=>700,7438=>600,7439=>542,7440=>504,7441=>582,7442=>582,7443=>582,7444=>890,7445=>461,7446=>542,7447=>542,7448=>498,7449=>534,7450=>534,7451=>498,7452=>526,7453=>597,7454=>831,7455=>589,7456=>508,7457=>770,7458=>474,7459=>474,7460=>478,7461=>668,7462=>471,7463=>508,7464=>591,7465=>498,7466=>632,7467=>571,7468=>409,7469=>567,7470=>417,7471=>417,7472=>454,7473=>413,7474=>413,7475=>453,7476=>494,7477=>224,7478=>227,7479=>423,7480=>376,7481=>580,7482=>496,7483=>496,7484=>464,7485=>332,7486=>381,7487=>426,7488=>378,7489=>478,7490=>583,7491=>347,7492=>347,7493=>360,7494=>556,7495=>360,7496=>360,7497=>348,7498=>348,7499=>306,7500=>306,7501=>360,7502=>157,7503=>328,7504=>552,7505=>359,7506=>347,7507=>312,7508=>347,7509=>347,7510=>360,7511=>222,7512=>359,7513=>376,7514=>552,7515=>335,7516=>421,7517=>327,7518=>338,7519=>341,7520=>396,7521=>343,7522=>181,7523=>312,7524=>359,7525=>335,7526=>327,7527=>338,7528=>333,7529=>396,7530=>343,7531=>876,7543=>576,7544=>494,7547=>288,7548=>353,7549=>576,7550=>526,7551=>558,7557=>288,7579=>360,7580=>312,7581=>312,7582=>347,7583=>306,7584=>199,7585=>206,7586=>360,7587=>359,7588=>210,7589=>219,7590=>210,7591=>210,7592=>207,7593=>158,7594=>157,7595=>330,7596=>552,7597=>552,7598=>366,7599=>364,7600=>359,7601=>347,7602=>347,7603=>295,7604=>190,7605=>222,7606=>359,7607=>350,7608=>331,7609=>338,7610=>335,7611=>297,7612=>297,7613=>297,7614=>327,7615=>347,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>650,7681=>536,7682=>661,7683=>576,7684=>661,7685=>576,7686=>661,7687=>576,7688=>688,7689=>504,7690=>721,7691=>576,7692=>721,7693=>576,7694=>721,7695=>576,7696=>721,7697=>576,7698=>721,7699=>576,7700=>657,7701=>532,7702=>657,7703=>532,7704=>657,7705=>532,7706=>657,7707=>532,7708=>657,7709=>532,7710=>624,7711=>333,7712=>719,7713=>576,7714=>785,7715=>580,7716=>785,7717=>580,7718=>785,7719=>580,7720=>785,7721=>580,7722=>785,7723=>580,7724=>355,7725=>288,7726=>355,7727=>288,7728=>672,7729=>545,7730=>672,7731=>545,7732=>672,7733=>545,7734=>598,7735=>288,7736=>598,7737=>288,7738=>598,7739=>288,7740=>598,7741=>288,7742=>921,7743=>853,7744=>921,7745=>853,7746=>921,7747=>853,7748=>787,7749=>580,7750=>787,7751=>580,7752=>787,7753=>580,7754=>787,7755=>580,7756=>738,7757=>542,7758=>738,7759=>542,7760=>738,7761=>542,7762=>738,7763=>542,7764=>605,7765=>576,7766=>605,7767=>576,7768=>677,7769=>430,7770=>677,7771=>430,7772=>677,7773=>430,7774=>677,7775=>430,7776=>616,7777=>461,7778=>616,7779=>461,7780=>616,7781=>461,7782=>616,7783=>469,7784=>616,7785=>461,7786=>600,7787=>361,7788=>600,7789=>361,7790=>600,7791=>361,7792=>600,7793=>361,7794=>758,7795=>580,7796=>758,7797=>580,7798=>758,7799=>580,7800=>758,7801=>580,7802=>758,7803=>580,7804=>650,7805=>508,7806=>650,7807=>508,7808=>925,7809=>770,7810=>925,7811=>770,7812=>925,7813=>770,7814=>925,7815=>770,7816=>925,7817=>770,7818=>641,7819=>507,7820=>641,7821=>507,7822=>594,7823=>508,7824=>625,7825=>474,7826=>625,7827=>474,7828=>625,7829=>474,7830=>580,7831=>361,7832=>770,7833=>508,7834=>813,7835=>333,7836=>333,7837=>333,7838=>746,7839=>542,7840=>650,7841=>536,7842=>650,7843=>536,7844=>650,7845=>551,7846=>650,7847=>551,7848=>650,7849=>551,7850=>650,7851=>551,7852=>650,7853=>536,7854=>650,7855=>536,7856=>650,7857=>536,7858=>650,7859=>536,7860=>650,7861=>536,7862=>650,7863=>536,7864=>657,7865=>532,7866=>657,7867=>532,7868=>657,7869=>532,7870=>657,7871=>554,7872=>657,7873=>554,7874=>657,7875=>554,7876=>657,7877=>554,7878=>657,7879=>532,7880=>355,7881=>288,7882=>355,7883=>288,7884=>738,7885=>542,7886=>738,7887=>542,7888=>738,7889=>550,7890=>738,7891=>550,7892=>738,7893=>550,7894=>738,7895=>550,7896=>738,7897=>542,7898=>738,7899=>542,7900=>738,7901=>542,7902=>738,7903=>542,7904=>738,7905=>542,7906=>738,7907=>542,7908=>758,7909=>580,7910=>758,7911=>580,7912=>758,7913=>580,7914=>758,7915=>580,7916=>758,7917=>580,7918=>758,7919=>580,7920=>758,7921=>580,7922=>594,7923=>508,7924=>594,7925=>508,7926=>594,7927=>508,7928=>594,7929=>508,7930=>854,7931=>523,7936=>607,7937=>607,7938=>607,7939=>607,7940=>607,7941=>607,7942=>607,7943=>607,7944=>650,7945=>650,7946=>782,7947=>782,7948=>660,7949=>687,7950=>650,7951=>650,7952=>483,7953=>483,7954=>483,7955=>483,7956=>483,7957=>483,7960=>768,7961=>757,7962=>960,7963=>969,7964=>907,7965=>931,7968=>539,7969=>539,7970=>539,7971=>539,7972=>539,7973=>539,7974=>539,7975=>539,7976=>898,7977=>893,7978=>1090,7979=>1101,7980=>1043,7981=>1064,7982=>988,7983=>985,7984=>353,7985=>353,7986=>353,7987=>353,7988=>353,7989=>353,7990=>353,7991=>353,7992=>469,7993=>461,7994=>661,7995=>664,7996=>611,7997=>635,7998=>561,7999=>553,8000=>542,8001=>542,8002=>542,8003=>542,8004=>542,8005=>542,8008=>738,8009=>773,8010=>1008,8011=>1015,8012=>843,8013=>867,8016=>547,8017=>547,8018=>547,8019=>547,8020=>547,8021=>547,8022=>547,8023=>547,8025=>765,8027=>971,8029=>939,8031=>857,8032=>734,8033=>734,8034=>734,8035=>734,8036=>734,8037=>734,8038=>734,8039=>734,8040=>746,8041=>783,8042=>1018,8043=>1023,8044=>852,8045=>878,8046=>844,8047=>873,8048=>607,8049=>607,8050=>483,8051=>483,8052=>539,8053=>539,8054=>353,8055=>353,8056=>542,8057=>542,8058=>547,8059=>547,8060=>734,8061=>734,8064=>607,8065=>607,8066=>607,8067=>607,8068=>607,8069=>607,8070=>607,8071=>607,8072=>650,8073=>650,8074=>782,8075=>782,8076=>660,8077=>687,8078=>650,8079=>650,8080=>539,8081=>539,8082=>539,8083=>539,8084=>539,8085=>539,8086=>539,8087=>539,8088=>898,8089=>893,8090=>1090,8091=>1101,8092=>1043,8093=>1064,8094=>988,8095=>985,8096=>734,8097=>734,8098=>734,8099=>734,8100=>734,8101=>734,8102=>734,8103=>734,8104=>746,8105=>783,8106=>1018,8107=>1023,8108=>852,8109=>878,8110=>844,8111=>873,8112=>607,8113=>607,8114=>607,8115=>607,8116=>607,8118=>607,8119=>607,8120=>650,8121=>650,8122=>650,8123=>650,8124=>650,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>539,8131=>539,8132=>539,8134=>539,8135=>539,8136=>820,8137=>810,8138=>956,8139=>935,8140=>785,8141=>450,8142=>450,8143=>450,8144=>353,8145=>353,8146=>353,8147=>353,8150=>353,8151=>353,8152=>355,8153=>355,8154=>529,8155=>505,8157=>450,8158=>450,8159=>450,8160=>547,8161=>547,8162=>547,8163=>547,8164=>529,8165=>529,8166=>547,8167=>547,8168=>594,8169=>594,8170=>829,8171=>808,8172=>711,8173=>450,8174=>450,8175=>450,8178=>734,8179=>734,8180=>734,8182=>734,8183=>734,8184=>865,8185=>751,8186=>886,8187=>767,8188=>746,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>572,8200=>286,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>304,8209=>304,8210=>572,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>286,8217=>286,8218=>286,8219=>286,8220=>460,8221=>460,8222=>466,8223=>460,8224=>450,8225=>450,8226=>531,8227=>531,8228=>300,8229=>600,8230=>900,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1208,8241=>1560,8242=>204,8243=>336,8244=>468,8245=>204,8246=>336,8247=>468,8248=>305,8249=>360,8250=>360,8252=>475,8253=>482,8254=>450,8258=>900,8260=>150,8261=>351,8262=>351,8263=>878,8264=>678,8265=>678,8267=>572,8268=>450,8269=>450,8270=>450,8271=>303,8273=>450,8274=>404,8275=>900,8279=>597,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>360,8305=>181,8308=>360,8309=>360,8310=>360,8311=>360,8312=>360,8313=>360,8314=>475,8315=>475,8316=>475,8317=>221,8318=>221,8319=>389,8320=>360,8321=>360,8322=>360,8323=>360,8324=>360,8325=>360,8326=>360,8327=>360,8328=>360,8329=>360,8330=>475,8331=>475,8332=>475,8333=>221,8334=>221,8336=>347,8337=>348,8338=>347,8339=>381,8340=>348,8341=>389,8342=>328,8343=>218,8344=>552,8345=>389,8346=>360,8347=>303,8348=>222,8358=>594,8364=>572,8367=>951,8369=>635,8372=>702,8373=>572,8376=>600,8377=>572,8450=>716,8451=>1006,8457=>942,8461=>850,8462=>580,8463=>580,8469=>822,8470=>852,8473=>677,8474=>784,8477=>748,8482=>900,8484=>657,8486=>746,8487=>746,8490=>672,8491=>650,8498=>624,8508=>659,8509=>594,8510=>639,8511=>850,8512=>642,8513=>697,8514=>501,8515=>501,8516=>549,8517=>780,8518=>629,8519=>572,8520=>342,8521=>325,8523=>801,8526=>462,8528=>872,8529=>872,8530=>1233,8531=>872,8532=>872,8533=>872,8534=>872,8535=>872,8536=>872,8537=>872,8538=>872,8539=>872,8540=>872,8541=>872,8542=>872,8543=>511,8544=>355,8545=>531,8546=>707,8547=>870,8548=>650,8549=>883,8550=>1059,8551=>1234,8552=>838,8553=>641,8554=>839,8555=>1015,8556=>598,8557=>688,8558=>721,8559=>921,8560=>288,8561=>576,8562=>863,8563=>796,8564=>508,8565=>796,8566=>1084,8567=>1372,8568=>795,8569=>507,8570=>795,8571=>1083,8572=>288,8573=>504,8574=>576,8575=>853,8576=>1085,8577=>721,8578=>1085,8579=>688,8580=>504,8581=>688,8585=>872,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>754,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>543,8706=>465,8707=>488,8708=>488,8710=>628,8711=>628,8712=>666,8713=>666,8715=>666,8716=>666,8719=>716,8720=>716,8721=>642,8722=>754,8723=>754,8724=>754,8725=>303,8727=>611,8728=>441,8729=>441,8730=>573,8731=>573,8732=>573,8733=>609,8734=>750,8735=>754,8736=>754,8739=>262,8740=>431,8741=>416,8742=>570,8743=>659,8744=>659,8745=>754,8746=>754,8747=>469,8748=>766,8749=>1063,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8770=>754,8771=>754,8776=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>930,8789=>930,8800=>754,8801=>754,8804=>754,8805=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8844=>754,8845=>754,8846=>754,8847=>761,8848=>761,8849=>761,8850=>761,8851=>754,8852=>754,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>773,8867=>773,8868=>846,8869=>846,8870=>510,8871=>510,8872=>773,8873=>773,8874=>773,8875=>927,8876=>773,8877=>773,8878=>773,8879=>927,8901=>308,8962=>687,8968=>351,8969=>351,8970=>351,8971=>351,8976=>754,8977=>461,8984=>900,8985=>754,8992=>469,8993=>469,8997=>900,9000=>1299,9085=>827,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>469,9167=>850,9251=>687,9472=>542,9473=>542,9474=>542,9475=>542,9476=>542,9477=>542,9478=>542,9479=>542,9480=>542,9481=>542,9482=>542,9483=>542,9484=>542,9485=>542,9486=>542,9487=>542,9488=>542,9489=>542,9490=>542,9491=>542,9492=>542,9493=>542,9494=>542,9495=>542,9496=>542,9497=>542,9498=>542,9499=>542,9500=>542,9501=>542,9502=>542,9503=>542,9504=>542,9505=>542,9506=>542,9507=>542,9508=>542,9509=>542,9510=>542,9511=>542,9512=>542,9513=>542,9514=>542,9515=>542,9516=>542,9517=>542,9518=>542,9519=>542,9520=>542,9521=>542,9522=>542,9523=>542,9524=>542,9525=>542,9526=>542,9527=>542,9528=>542,9529=>542,9530=>542,9531=>542,9532=>542,9533=>542,9534=>542,9535=>542,9536=>542,9537=>542,9538=>542,9539=>542,9540=>542,9541=>542,9542=>542,9543=>542,9544=>542,9545=>542,9546=>542,9547=>542,9548=>542,9549=>542,9550=>542,9551=>542,9552=>542,9553=>542,9554=>542,9555=>542,9556=>542,9557=>542,9558=>542,9559=>542,9560=>542,9561=>542,9562=>542,9563=>542,9564=>542,9565=>542,9566=>542,9567=>542,9568=>542,9569=>542,9570=>542,9571=>542,9572=>542,9573=>542,9574=>542,9575=>542,9576=>542,9577=>542,9578=>542,9579=>542,9580=>542,9581=>542,9582=>542,9583=>542,9584=>542,9585=>542,9586=>542,9587=>542,9588=>542,9589=>542,9590=>542,9591=>542,9592=>542,9593=>542,9594=>542,9595=>542,9596=>542,9597=>542,9598=>542,9599=>542,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>712,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>785,9697=>785,9698=>692,9699=>692,9700=>692,9701=>692,9702=>531,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9784=>807,9785=>807,9786=>807,9787=>807,9788=>807,9791=>552,9792=>658,9793=>658,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,10145=>754,10181=>351,10182=>351,10208=>444,10216=>351,10217=>351,10224=>754,10225=>754,10226=>754,10227=>754,10228=>930,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>659,10241=>659,10242=>659,10243=>659,10244=>659,10245=>659,10246=>659,10247=>659,10248=>659,10249=>659,10250=>659,10251=>659,10252=>659,10253=>659,10254=>659,10255=>659,10256=>659,10257=>659,10258=>659,10259=>659,10260=>659,10261=>659,10262=>659,10263=>659,10264=>659,10265=>659,10266=>659,10267=>659,10268=>659,10269=>659,10270=>659,10271=>659,10272=>659,10273=>659,10274=>659,10275=>659,10276=>659,10277=>659,10278=>659,10279=>659,10280=>659,10281=>659,10282=>659,10283=>659,10284=>659,10285=>659,10286=>659,10287=>659,10288=>659,10289=>659,10290=>659,10291=>659,10292=>659,10293=>659,10294=>659,10295=>659,10296=>659,10297=>659,10298=>659,10299=>659,10300=>659,10301=>659,10302=>659,10303=>659,10304=>659,10305=>659,10306=>659,10307=>659,10308=>659,10309=>659,10310=>659,10311=>659,10312=>659,10313=>659,10314=>659,10315=>659,10316=>659,10317=>659,10318=>659,10319=>659,10320=>659,10321=>659,10322=>659,10323=>659,10324=>659,10325=>659,10326=>659,10327=>659,10328=>659,10329=>659,10330=>659,10331=>659,10332=>659,10333=>659,10334=>659,10335=>659,10336=>659,10337=>659,10338=>659,10339=>659,10340=>659,10341=>659,10342=>659,10343=>659,10344=>659,10345=>659,10346=>659,10347=>659,10348=>659,10349=>659,10350=>659,10351=>659,10352=>659,10353=>659,10354=>659,10355=>659,10356=>659,10357=>659,10358=>659,10359=>659,10360=>659,10361=>659,10362=>659,10363=>659,10364=>659,10365=>659,10366=>659,10367=>659,10368=>659,10369=>659,10370=>659,10371=>659,10372=>659,10373=>659,10374=>659,10375=>659,10376=>659,10377=>659,10378=>659,10379=>659,10380=>659,10381=>659,10382=>659,10383=>659,10384=>659,10385=>659,10386=>659,10387=>659,10388=>659,10389=>659,10390=>659,10391=>659,10392=>659,10393=>659,10394=>659,10395=>659,10396=>659,10397=>659,10398=>659,10399=>659,10400=>659,10401=>659,10402=>659,10403=>659,10404=>659,10405=>659,10406=>659,10407=>659,10408=>659,10409=>659,10410=>659,10411=>659,10412=>659,10413=>659,10414=>659,10415=>659,10416=>659,10417=>659,10418=>659,10419=>659,10420=>659,10421=>659,10422=>659,10423=>659,10424=>659,10425=>659,10426=>659,10427=>659,10428=>659,10429=>659,10430=>659,10431=>659,10432=>659,10433=>659,10434=>659,10435=>659,10436=>659,10437=>659,10438=>659,10439=>659,10440=>659,10441=>659,10442=>659,10443=>659,10444=>659,10445=>659,10446=>659,10447=>659,10448=>659,10449=>659,10450=>659,10451=>659,10452=>659,10453=>659,10454=>659,10455=>659,10456=>659,10457=>659,10458=>659,10459=>659,10460=>659,10461=>659,10462=>659,10463=>659,10464=>659,10465=>659,10466=>659,10467=>659,10468=>659,10469=>659,10470=>659,10471=>659,10472=>659,10473=>659,10474=>659,10475=>659,10476=>659,10477=>659,10478=>659,10479=>659,10480=>659,10481=>659,10482=>659,10483=>659,10484=>659,10485=>659,10486=>659,10487=>659,10488=>659,10489=>659,10490=>659,10491=>659,10492=>659,10493=>659,10494=>659,10495=>659,10496=>754,10497=>754,10498=>754,10499=>754,10500=>754,10501=>754,10502=>754,10503=>754,10504=>754,10505=>754,10506=>754,10507=>754,10508=>754,10509=>754,10510=>754,10511=>754,10512=>754,10513=>754,10514=>754,10515=>754,10516=>754,10517=>754,10518=>754,10519=>754,10520=>754,10521=>754,10522=>754,10523=>754,10524=>754,10525=>754,10526=>754,10527=>754,10528=>754,10529=>754,10530=>754,10531=>754,10532=>754,10533=>754,10534=>754,10535=>754,10536=>754,10537=>754,10538=>754,10539=>754,10540=>754,10541=>754,10542=>754,10543=>754,10544=>754,10545=>754,10546=>754,10547=>754,10548=>754,10549=>754,10550=>754,10551=>754,10552=>754,10553=>754,10554=>754,10555=>754,10556=>754,10557=>754,10558=>754,10559=>754,10560=>754,10561=>754,10562=>754,10563=>754,10564=>754,10565=>754,10566=>754,10567=>754,10568=>754,10569=>754,10570=>754,10571=>754,10572=>754,10573=>754,10574=>754,10575=>754,10576=>754,10577=>754,10578=>754,10579=>754,10580=>754,10581=>754,10582=>754,10583=>754,10584=>754,10585=>754,10586=>754,10587=>754,10588=>754,10589=>754,10590=>754,10591=>754,10592=>754,10593=>754,10594=>754,10595=>754,10596=>754,10597=>754,10598=>754,10599=>754,10600=>754,10601=>754,10602=>754,10603=>754,10604=>754,10605=>754,10606=>754,10607=>754,10608=>754,10609=>754,10610=>754,10611=>754,10612=>754,10613=>754,10614=>754,10615=>883,10616=>754,10617=>754,10618=>886,10619=>754,10620=>754,10621=>754,10622=>754,10623=>754,10731=>444,10764=>1361,10765=>469,10766=>469,10799=>754,10858=>754,10859=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>754,11023=>754,11024=>754,11025=>754,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11360=>598,11361=>288,11363=>605,11364=>677,11367=>785,11368=>580,11369=>672,11370=>545,11371=>625,11372=>474,11373=>704,11374=>921,11375=>650,11376=>704,11377=>596,11378=>1017,11379=>845,11381=>666,11382=>500,11383=>630,11385=>451,11386=>542,11387=>498,11388=>237,11389=>409,11390=>616,11391=>625,11520=>695,11521=>571,11522=>569,11523=>592,11524=>568,11525=>866,11526=>680,11527=>864,11528=>555,11529=>581,11530=>866,11531=>568,11532=>581,11533=>866,11534=>580,11535=>779,11536=>865,11537=>580,11538=>580,11539=>863,11540=>851,11541=>777,11542=>580,11543=>581,11544=>580,11545=>584,11546=>619,11547=>571,11548=>883,11549=>613,11550=>608,11551=>766,11552=>861,11553=>569,11554=>580,11555=>582,11556=>674,11557=>822,11800=>482,11807=>754,11810=>351,11811=>351,11812=>351,11813=>351,11822=>482,42564=>616,42565=>461,42566=>355,42567=>353,42576=>994,42577=>799,42580=>1074,42581=>783,42582=>1025,42583=>809,42760=>444,42761=>444,42762=>444,42763=>444,42764=>444,42765=>444,42766=>444,42767=>444,42768=>444,42769=>444,42770=>444,42771=>444,42772=>444,42773=>444,42774=>444,42779=>332,42780=>332,42781=>228,42782=>228,42783=>228,42790=>785,42791=>571,42792=>758,42793=>679,42794=>550,42795=>504,42796=>493,42797=>478,42798=>566,42799=>549,42800=>462,42801=>461,42802=>1075,42803=>850,42804=>1103,42805=>855,42806=>1034,42807=>840,42808=>871,42809=>705,42810=>871,42811=>705,42812=>866,42813=>742,42814=>688,42815=>504,42816=>696,42817=>563,42822=>708,42823=>391,42826=>838,42827=>640,42830=>1274,42831=>899,42856=>636,42857=>549,42875=>550,42876=>430,42880=>598,42881=>288,42882=>758,42883=>580,42884=>550,42885=>430,42886=>688,42887=>504,42891=>361,42892=>247,42893=>695,42896=>787,42897=>580,42922=>785,43002=>861,43003=>624,43004=>605,43005=>921,43006=>355,43007=>1081,62464=>588,62465=>598,62466=>642,62467=>853,62468=>598,62469=>593,62470=>652,62471=>888,62472=>598,62473=>598,62474=>1131,62475=>614,62476=>613,62477=>857,62478=>598,62479=>613,62480=>898,62481=>671,62482=>718,62483=>672,62484=>850,62485=>613,62486=>842,62487=>612,62488=>619,62489=>613,62490=>655,62491=>613,62492=>619,62493=>599,62494=>656,62495=>795,62496=>598,62497=>635,62498=>599,62499=>598,62500=>598,62501=>649,62502=>865,62504=>813,63173=>542,63185=>450,63188=>450,64256=>639,64257=>600,64258=>600,64259=>925,64260=>927,64261=>694,64262=>839,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>923,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.z new file mode 100644 index 0000000..ca69dae Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensed.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.ctg.z new file mode 100644 index 0000000..eff351b Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.php new file mode 100644 index 0000000..9f2bda3 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-752 -389 1617 1145]','ItalicAngle'=>0,'Ascent'=>939,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>60,'StemH'=>26,'AvgWidth'=>509,'MaxWidth'=>1638,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(114,-14,281,729),34=>array(85,458,383,729),35=>array(61,0,693,718),36=>array(80,-146,552,761),37=>array(21,-14,833,742),38=>array(36,-14,796,742),39=>array(85,458,190,729),40=>array(84,-156,379,760),41=>array(45,-156,340,760),42=>array(20,278,451,742),43=>array(95,1,659,627),44=>array(12,-165,226,156),45=>array(48,202,325,334),46=>array(73,-14,241,172),47=>array(0,-93,329,729),48=>array(42,-14,584,742),49=>array(110,0,537,742),50=>array(60,0,545,742),51=>array(63,-14,569,742),52=>array(37,0,589,742),53=>array(74,-14,558,729),54=>array(57,-14,578,742),55=>array(71,0,552,729),56=>array(46,-14,578,742),57=>array(48,-14,570,742),58=>array(83,-14,250,490),59=>array(23,-161,250,490),60=>array(95,32,659,595),61=>array(95,147,659,480),62=>array(95,32,659,595),63=>array(58,-14,487,742),64=>array(59,-174,836,703),65=>array(-7,0,708,729),66=>array(42,0,711,729),67=>array(38,-14,671,742),68=>array(42,0,743,729),69=>array(42,0,640,729),70=>array(42,0,627,729),71=>array(38,-14,698,742),72=>array(42,0,810,729),73=>array(42,0,380,729),74=>array(-66,-208,392,729),75=>array(42,0,810,729),76=>array(42,0,613,729),77=>array(38,0,954,729),78=>array(40,0,787,729),79=>array(38,-14,746,742),80=>array(42,0,655,729),81=>array(38,-180,746,742),82=>array(42,0,753,729),83=>array(59,-14,596,742),84=>array(10,0,661,729),85=>array(31,-14,765,729),86=>array(-5,0,711,729),87=>array(-8,0,1021,729),88=>array(4,0,698,729),89=>array(-8,0,651,729),90=>array(33,0,625,729),91=>array(112,-132,362,760),92=>array(0,-93,329,729),93=>array(63,-132,313,760),94=>array(91,457,664,729),95=>array(0,-236,450,-143),96=>array(62,616,298,800),97=>array(37,-14,563,533),98=>array(21,-14,593,760),99=>array(37,-14,508,533),100=>array(37,-14,608,760),101=>array(37,-14,532,533),102=>array(27,0,436,760),103=>array(37,-222,608,533),104=>array(27,0,634,760),105=>array(31,0,320,760),106=>array(-67,-222,252,760),107=>array(31,0,639,760),108=>array(31,0,320,760),109=>array(31,0,932,533),110=>array(31,0,634,533),111=>array(37,-14,564,533),112=>array(21,-208,593,533),113=>array(37,-208,608,533),114=>array(26,0,483,533),115=>array(39,-14,470,533),116=>array(21,-14,412,680),117=>array(21,-14,624,519),118=>array(-17,0,545,519),119=>array(-8,0,793,519),120=>array(0,0,543,519),121=>array(-12,-222,545,519),122=>array(31,0,481,519),123=>array(75,-163,498,760),124=>array(116,-236,211,764),125=>array(82,-163,503,760),126=>array(95,221,659,406),161=>array(114,0,281,742),162=>array(70,-146,542,662),163=>array(64,0,561,742),164=>array(33,30,541,596),165=>array(17,0,599,729),166=>array(116,-171,211,699),167=>array(27,-95,443,742),168=>array(62,645,388,788),169=>array(124,0,776,725),170=>array(26,246,422,742),171=>array(69,64,478,522),172=>array(95,140,659,441),173=>array(48,202,325,334),174=>array(124,0,776,725),175=>array(86,664,364,756),176=>array(78,424,371,749),177=>array(95,0,659,627),178=>array(38,334,344,742),179=>array(40,326,358,742),180=>array(152,616,388,800),181=>array(25,-208,628,519),182=>array(64,-96,518,729),183=>array(73,255,241,440),184=>array(115,-196,314,0),185=>array(63,334,333,742),186=>array(26,246,423,742),187=>array(84,64,493,522),188=>array(63,-14,908,742),189=>array(63,-14,888,742),190=>array(40,-14,908,742),191=>array(40,-14,469,742),192=>array(-7,0,708,927),193=>array(-7,0,708,927),194=>array(-7,0,708,927),195=>array(-7,0,708,929),196=>array(-7,0,708,939),197=>array(-7,0,708,928),198=>array(-28,0,884,729),199=>array(38,-196,671,742),200=>array(42,0,640,927),201=>array(42,0,640,927),202=>array(42,0,640,927),203=>array(42,0,640,939),204=>array(42,0,380,927),205=>array(42,0,380,927),206=>array(42,0,380,927),207=>array(42,0,380,939),208=>array(39,0,748,729),209=>array(40,0,787,929),210=>array(38,-14,746,927),211=>array(38,-14,746,927),212=>array(38,-14,746,927),213=>array(38,-14,746,929),214=>array(38,-14,746,939),215=>array(116,23,638,604),216=>array(30,-38,753,766),217=>array(31,-14,765,927),218=>array(31,-14,765,927),219=>array(31,-14,765,927),220=>array(31,-14,765,939),221=>array(-8,0,651,927),222=>array(42,0,655,729),223=>array(31,-14,653,760),224=>array(37,-14,563,800),225=>array(37,-14,563,800),226=>array(37,-14,563,800),227=>array(37,-14,563,792),228=>array(37,-14,563,788),229=>array(37,-14,563,888),230=>array(37,-14,836,533),231=>array(37,-196,508,533),232=>array(37,-14,532,800),233=>array(37,-14,532,800),234=>array(37,-14,532,800),235=>array(37,-14,532,788),236=>array(8,0,320,800),237=>array(31,0,334,800),238=>array(5,0,337,800),239=>array(8,0,334,788),240=>array(37,-14,564,764),241=>array(31,0,634,792),242=>array(37,-14,564,800),243=>array(37,-14,564,800),244=>array(37,-14,564,800),245=>array(37,-14,564,792),246=>array(37,-14,564,788),247=>array(95,60,659,567),248=>array(22,-50,578,567),249=>array(21,-14,624,800),250=>array(21,-14,624,800),251=>array(21,-14,624,800),252=>array(21,-14,624,788),253=>array(-12,-222,545,800),254=>array(21,-208,593,760),255=>array(-12,-222,545,788),256=>array(-7,0,708,914),257=>array(37,-14,563,763),258=>array(-7,0,708,936),259=>array(37,-14,563,776),260=>array(-7,-196,708,729),261=>array(37,-196,563,533),262=>array(38,-14,671,927),263=>array(37,-14,508,800),264=>array(38,-14,671,927),265=>array(37,-14,508,800),266=>array(38,-14,671,939),267=>array(37,-14,508,788),268=>array(38,-14,671,927),269=>array(37,-14,508,800),270=>array(42,0,743,927),271=>array(37,-14,767,760),272=>array(39,0,748,729),273=>array(37,-14,618,760),274=>array(42,0,640,914),275=>array(37,-14,532,763),276=>array(42,0,640,927),277=>array(37,-14,532,776),278=>array(42,0,640,939),279=>array(37,-14,532,788),280=>array(42,-196,641,729),281=>array(37,-196,532,533),282=>array(42,0,640,930),283=>array(37,-14,532,800),284=>array(38,-14,698,927),285=>array(37,-222,608,800),286=>array(38,-14,698,927),287=>array(37,-222,608,776),288=>array(38,-14,698,939),289=>array(37,-222,608,788),290=>array(38,-240,698,742),291=>array(37,-222,608,753),292=>array(42,0,810,927),293=>array(-23,0,634,927),294=>array(42,0,810,729),295=>array(27,0,634,760),296=>array(42,0,380,929),297=>array(13,0,329,792),298=>array(42,0,380,914),299=>array(3,0,320,763),300=>array(42,0,380,927),301=>array(21,0,321,776),302=>array(42,-196,380,729),303=>array(31,-196,332,760),304=>array(42,0,380,939),305=>array(31,0,320,519),306=>array(42,-208,813,729),307=>array(31,-222,602,760),308=>array(-66,-208,392,927),309=>array(-67,-222,306,800),310=>array(42,-226,810,729),311=>array(31,-226,639,760),312=>array(31,0,639,518),313=>array(42,0,613,928),314=>array(31,0,326,928),315=>array(42,-226,613,729),316=>array(31,-226,320,760),317=>array(42,0,613,729),318=>array(31,0,465,760),319=>array(42,0,624,729),320=>array(31,0,464,760),321=>array(7,0,620,729),322=>array(3,0,352,760),323=>array(40,0,787,928),324=>array(31,0,634,776),325=>array(40,-226,787,729),326=>array(31,-226,634,533),327=>array(40,0,787,927),328=>array(31,0,634,800),329=>array(41,0,866,742),330=>array(31,-208,681,743),331=>array(31,-222,567,533),332=>array(38,-14,746,914),333=>array(37,-14,564,763),334=>array(38,-14,746,927),335=>array(37,-14,564,776),336=>array(38,-14,746,927),337=>array(37,-14,564,800),338=>array(38,0,1016,729),339=>array(37,-14,886,533),340=>array(42,0,753,928),341=>array(26,0,483,776),342=>array(42,-226,753,729),343=>array(26,-226,483,533),344=>array(42,0,753,927),345=>array(26,0,483,800),346=>array(59,-14,596,928),347=>array(39,-14,470,776),348=>array(59,-14,596,927),349=>array(39,-14,470,800),350=>array(59,-196,596,742),351=>array(39,-196,470,533),352=>array(59,-14,596,927),353=>array(39,-14,470,800),354=>array(10,-196,661,729),355=>array(21,-196,412,680),356=>array(10,0,661,927),357=>array(21,-14,446,780),358=>array(10,0,661,729),359=>array(21,-14,412,680),360=>array(31,-14,765,929),361=>array(21,-14,624,792),362=>array(31,-14,765,914),363=>array(21,-14,624,763),364=>array(31,-14,765,927),365=>array(21,-14,624,776),366=>array(31,-14,765,1057),367=>array(21,-14,624,854),368=>array(31,-14,765,927),369=>array(21,-14,624,800),370=>array(31,-204,765,729),371=>array(21,-196,655,519),372=>array(-8,0,1021,931),373=>array(-8,0,793,800),374=>array(-8,0,651,931),375=>array(-12,-222,545,800),376=>array(-8,0,651,939),377=>array(33,0,625,928),378=>array(31,0,481,776),379=>array(33,0,625,952),380=>array(31,0,481,759),381=>array(33,0,625,927),382=>array(31,0,481,800),383=>array(27,0,436,760),384=>array(18,-14,593,760),385=>array(-108,0,711,729),386=>array(42,0,720,729),387=>array(21,-14,593,760),388=>array(0,0,720,729),389=>array(0,-14,593,760),390=>array(38,-14,671,742),391=>array(38,-14,816,840),392=>array(37,-14,655,709),393=>array(39,0,748,729),394=>array(-108,0,743,729),395=>array(42,0,720,729),396=>array(21,-14,593,760),397=>array(37,-246,564,533),398=>array(42,0,640,729),399=>array(38,-14,746,742),400=>array(42,-14,601,742),401=>array(-78,-208,627,729),402=>array(-86,-190,436,760),403=>array(38,-14,838,840),404=>array(15,-92,674,729),405=>array(27,-1,903,760),406=>array(42,0,380,729),407=>array(32,0,389,729),408=>array(42,0,814,729),409=>array(31,0,639,760),410=>array(31,0,320,760),411=>array(32,0,594,739),412=>array(31,-14,932,729),413=>array(-80,-208,787,729),414=>array(31,-208,633,533),415=>array(38,-14,746,742),416=>array(37,-14,784,758),417=>array(37,-14,671,548),418=>array(37,-171,1038,742),419=>array(37,-208,828,533),420=>array(-108,0,655,729),421=>array(21,-208,593,709),422=>array(40,-142,753,729),423=>array(59,-14,596,742),424=>array(39,-14,470,533),425=>array(36,0,576,729),426=>array(-58,-223,347,760),427=>array(21,-222,412,680),428=>array(16,0,661,729),429=>array(21,-14,412,760),430=>array(10,-208,661,729),431=>array(33,-14,944,816),432=>array(22,-14,725,548),433=>array(40,-14,761,729),434=>array(71,0,761,729),435=>array(-8,0,736,730),436=>array(-12,-222,638,533),437=>array(33,0,625,729),438=>array(31,0,481,519),439=>array(31,-14,537,729),440=>array(54,-14,560,729),441=>array(54,-203,560,519),442=>array(45,-220,537,519),443=>array(60,0,573,742),444=>array(42,-14,627,729),445=>array(30,-203,537,519),446=>array(20,-15,339,680),447=>array(21,-208,614,560),448=>array(85,0,180,729),449=>array(85,0,358,729),450=>array(8,0,405,729),451=>array(85,0,180,729),452=>array(42,0,1405,927),453=>array(42,0,1261,800),454=>array(37,-14,1110,800),455=>array(42,-208,1024,729),456=>array(42,-222,885,760),457=>array(31,-222,594,760),458=>array(40,-208,1214,729),459=>array(40,-222,1075,760),460=>array(31,-222,906,760),461=>array(-7,0,708,927),462=>array(37,-14,563,800),463=>array(42,0,380,927),464=>array(5,0,337,800),465=>array(38,-14,746,927),466=>array(37,-14,564,800),467=>array(31,-14,765,927),468=>array(21,-14,624,800),469=>array(31,-14,765,1036),470=>array(21,-14,624,899),471=>array(31,-14,765,1057),472=>array(21,-14,624,920),473=>array(31,-14,765,1057),474=>array(21,-14,624,920),475=>array(31,-14,765,1057),476=>array(21,-14,624,920),477=>array(37,-14,532,533),478=>array(-7,0,708,1036),479=>array(37,-14,563,899),480=>array(-7,0,708,1036),481=>array(37,-14,563,899),482=>array(-28,0,884,914),483=>array(37,-14,836,763),484=>array(38,-14,785,742),485=>array(37,-222,608,533),486=>array(38,-14,698,927),487=>array(37,-222,608,800),488=>array(42,0,810,927),489=>array(-22,0,639,927),490=>array(38,-204,746,742),491=>array(37,-204,564,533),492=>array(38,-204,746,914),493=>array(37,-204,564,763),494=>array(31,-14,537,927),495=>array(31,-203,537,800),496=>array(-67,-222,337,800),497=>array(42,0,1405,729),498=>array(42,0,1261,729),499=>array(37,-14,1110,760),500=>array(38,-14,698,928),501=>array(37,-222,608,800),502=>array(42,-14,1068,729),503=>array(42,-208,703,742),504=>array(40,0,787,927),505=>array(31,0,634,800),506=>array(-7,0,708,928),507=>array(37,-14,563,928),508=>array(-28,0,884,928),509=>array(37,-14,836,800),510=>array(30,-38,753,928),511=>array(22,-50,578,800),512=>array(-7,0,708,930),513=>array(37,-14,563,800),514=>array(-7,0,708,958),515=>array(37,-14,563,776),516=>array(42,0,640,930),517=>array(37,-14,532,800),518=>array(42,0,640,958),519=>array(37,-14,532,776),520=>array(1,0,380,930),521=>array(-43,0,320,801),522=>array(42,0,380,958),523=>array(17,0,320,767),524=>array(38,-14,746,930),525=>array(37,-14,564,800),526=>array(38,-14,746,958),527=>array(37,-14,564,776),528=>array(42,0,753,930),529=>array(26,0,483,800),530=>array(42,0,753,958),531=>array(26,0,483,776),532=>array(31,-14,765,930),533=>array(21,-14,624,800),534=>array(31,-14,765,958),535=>array(21,-14,624,776),536=>array(59,-230,596,742),537=>array(39,-230,470,533),538=>array(10,-230,661,729),539=>array(21,-230,412,680),540=>array(60,-210,555,742),541=>array(44,-211,490,531),542=>array(42,0,810,927),543=>array(-21,0,634,927),544=>array(31,-208,765,743),545=>array(37,-48,696,760),546=>array(36,-14,585,742),547=>array(44,-14,509,760),548=>array(33,-263,625,729),549=>array(31,-263,481,519),550=>array(-7,0,708,939),551=>array(37,-14,563,788),552=>array(42,-196,640,729),553=>array(37,-196,532,533),554=>array(38,-14,746,1036),555=>array(37,-14,564,899),556=>array(38,-14,746,1036),557=>array(37,-14,564,894),558=>array(38,-14,746,939),559=>array(37,-14,564,788),560=>array(38,-14,746,1036),561=>array(37,-14,564,899),562=>array(-8,0,651,914),563=>array(-12,-222,545,763),564=>array(31,-113,500,760),565=>array(31,-113,814,533),566=>array(21,-113,492,680),567=>array(-67,-222,252,519),568=>array(37,-14,892,760),569=>array(36,-208,892,533),570=>array(-13,-38,711,766),571=>array(-4,-38,720,766),572=>array(-4,-50,552,567),573=>array(32,0,613,729),574=>array(-26,-38,698,766),575=>array(39,-217,470,533),576=>array(31,-222,511,519),577=>array(42,0,572,729),578=>array(42,0,470,533),579=>array(33,0,711,729),580=>array(26,-14,770,729),581=>array(-7,0,708,729),582=>array(42,-57,640,785),583=>array(37,-56,532,581),584=>array(-66,-208,401,729),585=>array(-67,-222,320,760),586=>array(38,-208,842,742),587=>array(37,-222,705,533),588=>array(32,0,753,729),589=>array(26,0,483,533),590=>array(-8,0,651,729),591=>array(-12,-222,545,519),592=>array(37,-14,563,533),593=>array(37,-14,608,533),594=>array(37,-14,608,533),595=>array(21,-14,593,760),596=>array(37,-14,508,533),597=>array(34,-113,503,527),598=>array(37,-222,705,760),599=>array(37,-14,706,760),600=>array(37,-14,532,533),601=>array(37,-14,532,533),602=>array(48,-14,817,533),603=>array(43,-12,499,533),604=>array(37,-12,492,526),605=>array(37,-12,816,526),606=>array(37,-18,607,533),607=>array(-67,-222,320,519),608=>array(37,-222,706,760),609=>array(37,-222,608,519),610=>array(56,-4,514,520),611=>array(11,-219,530,519),612=>array(37,-38,545,521),613=>array(21,-208,627,519),614=>array(31,0,634,760),615=>array(31,-222,567,760),616=>array(31,0,320,760),617=>array(32,0,331,519),618=>array(31,0,320,519),619=>array(29,0,344,760),620=>array(29,0,439,760),621=>array(31,-222,417,760),622=>array(31,-203,742,760),623=>array(21,-14,922,519),624=>array(21,-208,922,519),625=>array(31,-222,865,533),626=>array(-66,-222,634,533),627=>array(31,-222,729,533),628=>array(56,0,591,519),629=>array(37,-14,564,533),630=>array(56,0,905,521),631=>array(37,-14,634,530),632=>array(-3,-213,604,760),633=>array(26,-14,483,519),634=>array(26,-14,483,760),635=>array(26,-222,576,519),636=>array(26,-207,483,533),637=>array(26,-222,483,533),638=>array(31,0,416,533),639=>array(31,0,416,533),640=>array(56,0,670,519),641=>array(56,0,670,519),642=>array(39,-222,470,533),643=>array(-67,-223,347,760),644=>array(-67,-222,436,760),645=>array(37,-222,450,527),646=>array(-58,-223,347,760),647=>array(31,-161,421,533),648=>array(21,-222,408,680),649=>array(21,-14,624,519),650=>array(37,-14,576,519),651=>array(31,-1,589,519),652=>array(31,0,593,519),653=>array(31,0,832,519),654=>array(31,0,587,741),655=>array(56,0,604,520),656=>array(31,-222,645,519),657=>array(31,-89,481,519),658=>array(31,-203,537,519),659=>array(45,-203,537,519),660=>array(111,0,430,761),661=>array(111,0,430,761),662=>array(111,0,430,761),663=>array(111,-223,430,761),664=>array(38,-14,746,742),665=>array(31,0,589,519),666=>array(37,-18,607,533),667=>array(56,-4,661,760),668=>array(31,0,628,519),669=>array(-39,-223,351,760),670=>array(37,-208,646,519),671=>array(56,0,531,519),672=>array(37,-208,705,760),673=>array(111,0,430,761),674=>array(111,0,430,761),675=>array(37,-14,975,760),676=>array(37,-203,1031,760),677=>array(37,-89,975,760),678=>array(21,0,807,680),679=>array(21,-223,692,760),680=>array(21,-20,810,680),681=>array(27,-222,905,760),682=>array(31,0,746,760),683=>array(31,0,686,760),684=>array(40,0,560,625),685=>array(40,120,361,625),686=>array(-76,-208,627,760),687=>array(-76,-222,721,760),688=>array(40,334,434,759),689=>array(40,337,432,762),690=>array(40,210,247,760),691=>array(40,334,337,632),692=>array(40,329,337,627),693=>array(40,209,397,625),694=>array(40,334,439,625),695=>array(40,302,560,592),696=>array(40,177,401,592),697=>array(70,557,196,800),698=>array(70,557,394,800),699=>array(62,456,261,742),700=>array(62,456,261,742),701=>array(62,456,261,742),702=>array(104,481,230,760),703=>array(104,481,230,760),704=>array(40,334,247,760),705=>array(40,334,247,760),706=>array(117,517,333,843),707=>array(117,517,333,843),708=>array(78,561,372,800),709=>array(78,561,372,800),710=>array(59,616,391,800),711=>array(59,616,391,800),712=>array(85,513,168,759),713=>array(86,664,364,756),714=>array(152,616,388,800),715=>array(62,616,298,800),716=>array(85,-90,168,156),717=>array(86,-188,364,-96),720=>array(98,0,234,434),721=>array(98,303,234,434),722=>array(104,269,230,547),723=>array(104,269,230,547),726=>array(48,165,271,411),727=>array(48,242,271,334),728=>array(75,624,375,776),729=>array(160,645,290,788),730=>array(100,610,351,888),731=>array(139,-196,329,0),732=>array(67,638,382,792),733=>array(99,616,447,800),734=>array(0,299,376,500),736=>array(7,211,334,625),737=>array(40,334,228,759),738=>array(40,335,320,641),739=>array(40,334,393,625),740=>array(40,334,247,760),741=>array(86,0,364,693),742=>array(86,0,364,693),743=>array(86,0,364,693),744=>array(86,0,364,693),745=>array(86,0,364,693),748=>array(78,-281,372,-42),750=>array(62,456,446,742),751=>array(59,-241,391,-58),752=>array(78,-281,372,-42),755=>array(100,-240,351,38),759=>array(67,-193,382,-40),768=>array(-389,616,-152,800),769=>array(-299,616,-62,800),770=>array(-391,616,-60,800),771=>array(-383,638,-68,792),772=>array(-364,664,-87,756),773=>array(-450,663,0,755),774=>array(-376,624,-75,776),775=>array(-290,645,-161,788),776=>array(-389,645,-62,788),777=>array(-312,616,-112,866),778=>array(-351,610,-100,888),779=>array(-352,616,-4,800),780=>array(-391,616,-60,800),781=>array(-268,616,-185,813),782=>array(-350,616,-102,813),783=>array(-436,616,-88,800),784=>array(-376,624,-75,903),785=>array(-376,624,-75,776),786=>array(-277,456,-116,617),787=>array(-290,606,-154,847),788=>array(-290,606,-154,847),789=>array(-77,616,77,800),790=>array(-388,-253,-152,-69),791=>array(-298,-251,-62,-67),792=>array(-294,-357,-142,-111),793=>array(-308,-357,-155,-111),794=>array(-180,684,42,930),795=>array(-106,338,70,548),796=>array(-288,-389,-162,-111),797=>array(-334,-280,-112,-111),798=>array(-336,-280,-114,-111),799=>array(-334,-357,-112,-111),800=>array(-336,-203,-114,-111),801=>array(-406,-222,-87,139),802=>array(-391,-222,-72,139),803=>array(-290,-213,-160,-70),804=>array(-391,-213,-64,-70),805=>array(-330,-240,-123,-11),806=>array(-311,-230,-149,-69),807=>array(-335,-196,-136,0),808=>array(-311,-196,-121,0),809=>array(-263,-266,-180,-69),810=>array(-364,-253,-86,-69),811=>array(-383,-221,-66,-69),812=>array(-391,-251,-59,-67),813=>array(-391,-253,-59,-69),814=>array(-375,-221,-75,-69),815=>array(-375,-221,-75,-69),816=>array(-385,-222,-70,-68),817=>array(-364,-161,-86,-69),818=>array(-450,-236,0,-143),819=>array(-450,-236,0,-9),820=>array(-667,210,-88,417),821=>array(-310,234,-21,293),822=>array(-625,234,-37,293),823=>array(-583,-50,-26,567),824=>array(-752,-38,-29,766),825=>array(-273,-378,-147,-100),826=>array(-364,-242,-86,-59),827=>array(-352,-350,-99,-69),828=>array(-383,-221,-66,-69),829=>array(-332,581,-116,820),830=>array(-291,598,-152,877),831=>array(-450,528,0,755),835=>array(-290,606,-154,847),856=>array(-112,645,18,788),864=>array(-387,723,387,898),865=>array(-401,729,401,902),880=>array(42,0,661,729),881=>array(31,0,488,519),882=>array(10,0,698,729),883=>array(29,0,658,519),884=>array(70,557,196,800),885=>array(70,-208,196,35),886=>array(40,0,831,729),887=>array(31,0,633,519),890=>array(182,-208,313,-60),891=>array(37,-14,508,533),892=>array(37,-14,508,533),893=>array(37,-14,508,533),894=>array(23,-161,250,490),900=>array(152,616,388,800),901=>array(62,645,396,996),902=>array(-7,0,708,800),903=>array(73,255,241,440),904=>array(-14,0,804,800),905=>array(-14,0,976,800),906=>array(-14,0,546,800),908=>array(-14,-14,760,800),910=>array(-14,0,865,800),911=>array(-14,0,782,800),912=>array(7,16,400,996),913=>array(-7,0,708,729),914=>array(42,0,711,729),915=>array(42,0,627,729),916=>array(26,0,667,729),917=>array(42,0,640,729),918=>array(33,0,625,729),919=>array(42,0,810,729),920=>array(38,-14,746,742),921=>array(42,0,380,729),922=>array(42,0,810,729),923=>array(-7,0,708,729),924=>array(38,0,954,729),925=>array(40,0,787,729),926=>array(49,0,578,729),927=>array(38,-14,746,742),928=>array(42,0,810,729),929=>array(42,0,655,729),931=>array(36,0,576,729),932=>array(10,0,661,729),933=>array(-8,0,651,729),934=>array(38,0,745,729),935=>array(4,0,698,729),936=>array(6,0,816,729),937=>array(40,0,761,742),938=>array(42,0,380,939),939=>array(-8,0,651,939),940=>array(37,-14,671,800),941=>array(43,-12,499,800),942=>array(31,-208,567,800),943=>array(31,16,400,800),944=>array(31,-1,589,996),945=>array(37,-14,671,532),946=>array(57,-208,548,769),947=>array(22,-209,554,519),948=>array(37,-14,564,765),949=>array(43,-12,499,533),950=>array(31,-208,488,760),951=>array(31,-208,567,533),952=>array(37,-17,564,771),953=>array(31,16,400,519),954=>array(31,0,639,519),955=>array(32,0,594,739),956=>array(25,-208,628,519),957=>array(31,0,589,519),958=>array(31,-208,488,760),959=>array(37,-14,564,533),960=>array(31,0,628,519),961=>array(57,-208,563,533),962=>array(37,-208,492,533),963=>array(37,-14,617,519),964=>array(31,16,560,519),965=>array(31,-1,589,519),966=>array(42,-208,772,519),967=>array(11,-222,572,533),968=>array(38,-208,808,519),969=>array(35,-1,820,519),970=>array(11,16,400,788),971=>array(31,-1,589,788),972=>array(37,-14,564,800),973=>array(31,-1,589,800),974=>array(35,-1,820,800),975=>array(42,-240,748,729),976=>array(37,-17,563,771),977=>array(31,-17,728,771),978=>array(26,0,652,729),979=>array(-14,0,836,800),980=>array(26,0,652,939),981=>array(37,-208,809,760),982=>array(31,-1,831,519),983=>array(44,-222,545,521),984=>array(38,-207,746,742),985=>array(37,-207,564,533),986=>array(38,-208,653,742),987=>array(37,-208,492,616),988=>array(42,0,627,729),989=>array(-83,-211,429,742),990=>array(47,0,476,729),991=>array(83,0,510,759),992=>array(54,-209,671,742),993=>array(40,-208,558,533),1008=>array(44,-5,545,521),1009=>array(57,-210,563,533),1010=>array(37,-14,508,533),1011=>array(-67,-222,252,760),1012=>array(38,-14,746,742),1013=>array(37,-14,506,533),1014=>array(38,-14,508,533),1015=>array(42,0,655,729),1016=>array(21,-208,593,760),1017=>array(38,-14,671,742),1018=>array(38,0,954,729),1019=>array(63,-208,734,519),1020=>array(37,-208,587,533),1021=>array(38,-14,671,742),1022=>array(38,-14,671,742),1023=>array(38,-14,671,742),1024=>array(42,0,640,927),1025=>array(42,0,640,939),1026=>array(-42,-214,734,729),1027=>array(42,0,610,927),1028=>array(38,-14,671,742),1029=>array(59,-14,596,742),1030=>array(42,0,380,729),1031=>array(42,0,380,939),1032=>array(-66,-208,392,729),1033=>array(20,-14,1039,729),1034=>array(42,0,1093,729),1035=>array(-42,0,818,729),1036=>array(42,0,810,927),1037=>array(42,0,810,927),1038=>array(22,-14,721,997),1039=>array(42,-157,810,729),1040=>array(9,0,725,729),1041=>array(42,0,720,729),1042=>array(42,0,711,729),1043=>array(42,0,610,729),1044=>array(42,-157,758,729),1045=>array(42,0,640,729),1046=>array(9,0,1172,729),1047=>array(42,-14,600,742),1048=>array(42,0,810,729),1049=>array(42,0,810,999),1050=>array(42,0,810,729),1051=>array(20,-14,756,729),1052=>array(38,0,954,729),1053=>array(42,0,810,729),1054=>array(38,-14,746,742),1055=>array(42,0,810,729),1056=>array(42,0,655,729),1057=>array(38,-14,671,742),1058=>array(10,0,661,729),1059=>array(22,-14,721,729),1060=>array(38,0,815,729),1061=>array(4,0,698,729),1062=>array(42,-157,828,729),1063=>array(27,0,775,729),1064=>array(38,0,1104,729),1065=>array(38,-157,1122,729),1066=>array(5,0,819,729),1067=>array(42,0,1041,729),1068=>array(42,0,701,729),1069=>array(38,-14,671,742),1070=>array(42,-14,1105,742),1071=>array(20,0,753,729),1072=>array(37,-14,563,533),1073=>array(30,-14,564,776),1074=>array(31,0,589,519),1075=>array(31,0,494,519),1076=>array(31,-138,569,519),1077=>array(37,-14,532,533),1078=>array(11,0,898,519),1079=>array(31,-14,539,533),1080=>array(31,0,637,519),1081=>array(31,0,637,817),1082=>array(31,0,639,519),1083=>array(16,-14,604,519),1084=>array(31,0,751,519),1085=>array(31,0,628,519),1086=>array(37,-14,564,533),1087=>array(31,0,628,519),1088=>array(21,-208,593,533),1089=>array(37,-14,508,533),1090=>array(29,0,516,519),1091=>array(11,-222,567,519),1092=>array(36,-208,776,760),1093=>array(0,0,543,519),1094=>array(31,-138,634,519),1095=>array(31,0,628,519),1096=>array(31,0,937,519),1097=>array(31,-138,943,519),1098=>array(13,0,655,519),1099=>array(37,0,868,519),1100=>array(37,0,575,519),1101=>array(38,-14,508,533),1102=>array(47,-14,883,533),1103=>array(22,0,634,519),1104=>array(37,-14,532,800),1105=>array(37,-14,532,788),1106=>array(13,-222,611,760),1107=>array(31,0,494,800),1108=>array(37,-14,506,533),1109=>array(39,-14,470,533),1110=>array(31,0,320,760),1111=>array(8,0,334,788),1112=>array(-67,-222,252,760),1113=>array(16,-14,853,519),1114=>array(31,0,877,519),1115=>array(18,0,634,760),1116=>array(31,0,639,800),1117=>array(31,0,637,800),1118=>array(11,-222,567,823),1119=>array(31,-138,628,519),1122=>array(13,0,750,729),1123=>array(9,0,597,760),1124=>array(42,-14,1031,742),1125=>array(47,-14,826,533),1130=>array(9,0,1172,729),1131=>array(11,0,898,519),1132=>array(42,0,1459,729),1133=>array(47,0,1157,519),1136=>array(10,0,999,729),1137=>array(11,-208,985,760),1138=>array(38,-14,746,742),1139=>array(37,-14,551,533),1140=>array(9,0,815,742),1141=>array(11,0,663,533),1142=>array(9,0,815,927),1143=>array(11,0,663,800),1164=>array(13,0,719,729),1165=>array(11,0,570,760),1168=>array(42,0,619,872),1169=>array(31,0,499,668),1170=>array(38,0,610,729),1171=>array(26,0,494,519),1172=>array(42,-214,704,729),1173=>array(31,-222,568,519),1174=>array(9,-157,1172,729),1175=>array(11,-138,898,519),1176=>array(42,-196,600,742),1177=>array(31,-196,539,533),1178=>array(42,-157,810,729),1179=>array(31,-138,639,519),1182=>array(32,0,810,729),1183=>array(27,0,639,760),1184=>array(5,0,928,729),1185=>array(13,0,726,520),1186=>array(42,-157,828,729),1187=>array(31,-138,634,519),1188=>array(42,0,1039,729),1189=>array(31,0,803,519),1190=>array(42,-214,1134,729),1191=>array(31,-222,876,519),1194=>array(38,-196,671,742),1195=>array(37,-196,508,533),1196=>array(10,-157,661,729),1197=>array(29,-138,516,519),1198=>array(-8,0,651,729),1199=>array(-12,-208,545,519),1200=>array(-8,0,651,729),1201=>array(-12,-208,545,519),1202=>array(4,-157,738,729),1203=>array(0,-138,554,519),1204=>array(10,-157,878,729),1205=>array(35,-138,696,519),1206=>array(27,-157,793,729),1207=>array(31,-138,634,519),1210=>array(27,0,773,729),1211=>array(27,0,634,760),1216=>array(42,0,380,729),1217=>array(9,0,1172,927),1218=>array(11,0,898,776),1219=>array(42,-214,748,729),1220=>array(31,-222,599,519),1223=>array(42,-214,810,729),1224=>array(31,-222,628,519),1227=>array(27,-157,775,729),1228=>array(31,-138,628,519),1231=>array(31,0,320,760),1232=>array(9,0,725,936),1233=>array(37,-14,563,776),1234=>array(9,0,725,939),1235=>array(37,-14,563,788),1236=>array(-28,0,884,729),1237=>array(37,-14,836,533),1238=>array(42,0,640,927),1239=>array(37,-14,532,776),1240=>array(38,-14,746,742),1241=>array(37,-14,532,533),1242=>array(38,-14,746,939),1243=>array(37,-14,532,788),1244=>array(9,0,1172,939),1245=>array(11,0,898,788),1246=>array(42,-14,600,939),1247=>array(31,-14,539,788),1248=>array(31,-14,537,729),1249=>array(31,-203,537,519),1250=>array(42,0,810,914),1251=>array(31,0,637,763),1252=>array(42,0,810,939),1253=>array(31,0,637,788),1254=>array(38,-14,746,939),1255=>array(37,-14,564,788),1256=>array(38,-14,746,742),1257=>array(37,-14,564,533),1258=>array(38,-14,746,939),1259=>array(37,-14,564,788),1260=>array(38,-14,671,939),1261=>array(38,-14,508,788),1262=>array(22,-14,721,914),1263=>array(11,-222,567,763),1264=>array(22,-14,721,939),1265=>array(11,-222,567,788),1266=>array(22,-14,721,927),1267=>array(11,-222,567,800),1268=>array(27,0,775,939),1269=>array(31,0,628,788),1270=>array(42,-157,610,729),1271=>array(31,-138,494,519),1272=>array(42,0,1041,939),1273=>array(37,0,868,788),1296=>array(42,-14,601,742),1297=>array(36,-14,544,533),1298=>array(20,-208,756,729),1299=>array(16,-222,604,519),1300=>array(20,-14,1123,729),1301=>array(16,-14,857,519),1306=>array(38,-180,746,742),1307=>array(37,-208,608,533),1308=>array(-8,0,1021,729),1309=>array(-8,0,793,519),1329=>array(31,-14,791,729),1330=>array(31,0,749,743),1331=>array(40,0,848,743),1332=>array(18,0,862,743),1333=>array(31,-14,749,729),1334=>array(66,-72,704,743),1335=>array(31,-72,690,729),1336=>array(31,-72,749,743),1337=>array(31,-10,1057,743),1338=>array(40,-14,848,729),1339=>array(44,0,723,729),1340=>array(44,-72,668,729),1341=>array(44,-14,1026,729),1342=>array(70,-13,772,743),1343=>array(18,0,740,729),1344=>array(-22,-66,593,729),1345=>array(66,-32,725,743),1346=>array(18,-72,849,743),1347=>array(22,0,753,739),1348=>array(31,-14,906,729),1349=>array(44,-14,715,742),1350=>array(-26,-14,805,801),1351=>array(75,-14,693,729),1352=>array(31,0,753,743),1353=>array(66,-84,684,743),1354=>array(18,0,900,743),1355=>array(75,-72,709,744),1356=>array(31,0,912,743),1357=>array(31,-14,753,729),1358=>array(18,-72,849,729),1359=>array(44,-14,688,742),1360=>array(31,0,709,743),1361=>array(9,-14,700,742),1362=>array(31,0,705,729),1363=>array(40,0,820,729),1364=>array(-66,0,791,743),1365=>array(38,-14,746,742),1366=>array(35,-14,841,729),1369=>array(104,481,230,760),1370=>array(12,408,226,729),1371=>array(2,615,276,799),1372=>array(1,618,353,893),1373=>array(11,615,285,799),1374=>array(4,605,392,854),1375=>array(40,618,416,760),1377=>array(18,-14,918,519),1378=>array(40,-208,586,533),1379=>array(53,-208,712,533),1380=>array(44,-208,734,533),1381=>array(22,-14,625,760),1382=>array(53,-208,712,533),1383=>array(40,0,552,760),1384=>array(40,-208,643,533),1385=>array(40,-208,818,532),1386=>array(53,-14,704,760),1387=>array(26,-208,629,760),1388=>array(40,-208,429,519),1389=>array(31,-208,948,760),1390=>array(53,-14,602,789),1391=>array(22,-208,607,760),1392=>array(40,0,646,760),1393=>array(53,-14,598,783),1394=>array(44,-208,734,533),1395=>array(70,-14,615,771),1396=>array(18,-14,644,771),1397=>array(-75,-208,244,519),1398=>array(56,-14,615,771),1399=>array(-11,-208,417,538),1400=>array(44,0,647,533),1401=>array(16,-208,374,540),1402=>array(18,-208,910,519),1403=>array(53,-208,566,537),1404=>array(44,0,652,533),1405=>array(18,-14,621,519),1406=>array(18,-208,708,760),1407=>array(18,-14,918,533),1408=>array(31,-208,634,533),1409=>array(53,-222,624,533),1410=>array(44,0,466,519),1411=>array(18,-208,918,760),1412=>array(40,-208,612,533),1413=>array(48,-14,576,533),1414=>array(26,-208,825,760),1415=>array(22,-14,772,760),1417=>array(93,-14,211,434),1418=>array(40,203,313,365),4256=>array(51,0,628,848),4257=>array(51,0,810,847),4258=>array(51,-81,743,848),4259=>array(51,-0,736,847),4260=>array(51,-0,652,848),4261=>array(51,-0,918,848),4262=>array(37,-1,853,847),4263=>array(61,-1,1041,847),4264=>array(37,-0,527,847),4265=>array(51,-0,685,847),4266=>array(51,-0,881,847),4267=>array(65,-0,895,847),4268=>array(51,-0,666,847),4269=>array(61,-35,984,847),4270=>array(37,-0,821,847),4271=>array(37,-0,760,846),4272=>array(51,-0,947,846),4273=>array(51,-0,662,846),4274=>array(51,-0,629,847),4275=>array(61,-58,931,846),4276=>array(51,-0,828,846),4277=>array(37,-0,923,846),4278=>array(51,-0,678,846),4279=>array(51,-0,699,846),4280=>array(61,-0,688,847),4281=>array(51,-0,699,846),4282=>array(14,-1,767,848),4283=>array(65,-0,918,847),4284=>array(51,-0,642,847),4285=>array(61,-0,679,847),4286=>array(51,-0,681,846),4287=>array(51,-0,949,846),4288=>array(51,-0,959,846),4289=>array(51,-0,670,846),4290=>array(51,-0,752,847),4291=>array(51,-1,671,846),4292=>array(51,-0,741,846),4293=>array(65,-0,906,847),4304=>array(48,0,487,596),4305=>array(48,0,514,853),4306=>array(35,-225,544,566),4307=>array(48,-220,750,556),4308=>array(31,-225,497,556),4309=>array(35,-225,501,556),4310=>array(13,0,552,855),4311=>array(48,0,775,556),4312=>array(48,0,504,556),4313=>array(22,-225,492,556),4314=>array(48,-220,960,562),4315=>array(48,0,514,854),4316=>array(62,0,527,877),4317=>array(48,-123,743,556),4318=>array(48,1,513,854),4319=>array(48,-225,514,555),4320=>array(48,-0,742,846),4321=>array(-9,0,551,854),4322=>array(15,-225,663,706),4323=>array(18,-225,620,556),4324=>array(48,-225,734,556),4325=>array(48,-225,514,855),4326=>array(48,-220,772,556),4327=>array(35,-225,502,556),4328=>array(9,0,521,854),4329=>array(62,-5,527,855),4330=>array(48,-225,612,556),4331=>array(48,0,516,854),4332=>array(40,-229,537,854),4333=>array(40,-225,528,854),4334=>array(-9,0,555,854),4335=>array(22,-225,650,556),4336=>array(48,0,515,854),4337=>array(48,0,543,863),4338=>array(48,-94,514,556),4339=>array(48,-225,515,615),4340=>array(48,-225,514,855),4341=>array(48,0,584,854),4342=>array(48,-225,798,699),4343=>array(48,-225,564,566),4344=>array(57,-225,524,556),4345=>array(48,-225,557,561),4346=>array(48,-69,514,556),4347=>array(69,-14,508,575),4348=>array(15,341,303,882),7424=>array(31,0,593,519),7425=>array(31,0,775,519),7426=>array(9,-14,809,533),7427=>array(31,0,611,519),7428=>array(37,-14,492,533),7429=>array(31,0,580,519),7430=>array(31,0,580,519),7431=>array(26,0,528,519),7432=>array(-24,-18,425,533),7433=>array(-20,-238,269,522),7434=>array(13,-14,471,519),7435=>array(31,0,639,519),7436=>array(15,0,531,519),7437=>array(31,0,751,519),7438=>array(31,0,633,519),7439=>array(37,-14,564,533),7440=>array(56,-14,511,533),7441=>array(37,-33,529,553),7442=>array(37,-2,530,521),7443=>array(22,-50,578,567),7444=>array(4,-14,853,533),7445=>array(26,-14,505,534),7446=>array(37,260,564,533),7447=>array(37,-14,564,259),7448=>array(31,0,513,519),7449=>array(50,0,665,519),7450=>array(50,0,665,519),7451=>array(29,0,516,519),7452=>array(21,-14,571,519),7453=>array(57,-74,538,596),7454=>array(49,-74,771,596),7455=>array(59,-240,539,761),7456=>array(-17,0,545,519),7457=>array(-8,0,793,519),7458=>array(31,0,481,519),7459=>array(37,-14,492,519),7460=>array(33,-14,497,742),7461=>array(26,-14,695,533),7462=>array(31,0,494,519),7463=>array(31,0,593,519),7464=>array(31,0,628,519),7465=>array(31,0,513,519),7466=>array(33,0,747,519),7467=>array(16,-14,604,519),7468=>array(-4,334,447,735),7469=>array(-18,334,557,735),7470=>array(26,334,448,735),7471=>array(21,334,466,742),7472=>array(26,334,468,735),7473=>array(26,334,403,735),7474=>array(26,334,403,735),7475=>array(23,326,439,742),7476=>array(26,334,510,735),7477=>array(26,334,239,735),7478=>array(-42,220,247,735),7479=>array(26,334,510,735),7480=>array(26,334,387,735),7481=>array(23,334,602,735),7482=>array(25,334,496,735),7483=>array(25,326,523,734),7484=>array(23,326,470,742),7485=>array(22,326,369,750),7486=>array(26,334,413,735),7487=>array(26,334,475,735),7488=>array(37,326,375,742),7489=>array(6,334,417,735),7490=>array(19,326,482,735),7491=>array(38,326,369,627),7492=>array(38,326,369,627),7493=>array(38,326,398,627),7494=>array(38,326,541,627),7495=>array(38,326,399,752),7496=>array(38,326,398,752),7497=>array(38,326,350,627),7498=>array(38,326,350,627),7499=>array(38,324,320,627),7500=>array(38,324,320,627),7501=>array(38,212,398,627),7502=>array(38,203,220,621),7503=>array(38,334,421,752),7504=>array(38,334,606,627),7505=>array(38,212,376,627),7506=>array(38,326,370,627),7507=>array(38,326,334,627),7508=>array(38,477,370,627),7509=>array(38,326,370,477),7510=>array(38,220,399,627),7511=>array(38,326,284,708),7512=>array(38,326,417,620),7513=>array(36,285,338,660),7514=>array(38,326,606,620),7515=>array(38,334,392,620),7516=>array(17,326,438,633),7517=>array(35,217,346,765),7518=>array(14,217,349,625),7519=>array(23,326,356,763),7520=>array(26,217,486,625),7521=>array(7,209,360,633),7522=>array(19,0,202,418),7523=>array(40,0,337,298),7524=>array(38,-8,417,286),7525=>array(38,0,392,286),7526=>array(35,-117,346,431),7527=>array(14,-117,349,291),7528=>array(35,-117,354,299),7529=>array(26,-117,486,291),7530=>array(7,-125,360,299),7531=>array(21,-14,896,533),7543=>array(-14,-222,558,533),7544=>array(26,334,510,735),7547=>array(31,0,320,519),7548=>array(32,0,331,519),7549=>array(21,-208,634,533),7550=>array(21,-14,571,519),7551=>array(-16,-14,627,519),7557=>array(0,-222,320,760),7579=>array(38,326,398,627),7580=>array(38,326,334,627),7581=>array(38,272,334,624),7582=>array(38,326,370,754),7583=>array(38,324,320,627),7584=>array(38,334,295,752),7585=>array(38,212,286,620),7586=>array(38,212,398,620),7587=>array(38,220,420,620),7588=>array(38,334,220,752),7589=>array(38,334,226,620),7590=>array(38,334,220,620),7591=>array(38,334,220,620),7592=>array(38,211,283,752),7593=>array(38,212,281,752),7594=>array(38,212,239,752),7595=>array(38,334,337,621),7596=>array(38,212,563,627),7597=>array(38,220,606,620),7598=>array(38,212,479,627),7599=>array(38,212,478,627),7600=>array(38,334,375,621),7601=>array(38,326,370,627),7602=>array(38,217,420,752),7603=>array(38,212,310,627),7604=>array(38,211,298,752),7605=>array(38,211,284,708),7606=>array(38,326,417,620),7607=>array(38,332,377,628),7608=>array(13,326,360,625),7609=>array(38,333,390,620),7610=>array(38,334,392,620),7611=>array(38,334,321,620),7612=>array(38,212,424,620),7613=>array(38,285,321,620),7614=>array(38,222,356,620),7615=>array(38,325,370,758),7620=>array(-363,616,-12,800),7621=>array(-438,616,-87,800),7622=>array(-363,616,-12,800),7623=>array(-438,616,-87,800),7624=>array(-464,616,14,800),7625=>array(-464,616,14,800),7680=>array(-7,-240,708,729),7681=>array(37,-240,563,533),7682=>array(42,0,711,939),7683=>array(21,-14,593,939),7684=>array(42,-213,711,729),7685=>array(21,-213,593,760),7686=>array(42,-161,711,729),7687=>array(21,-161,593,760),7688=>array(38,-196,671,927),7689=>array(37,-196,508,800),7690=>array(42,0,743,939),7691=>array(37,-14,608,939),7692=>array(42,-213,743,729),7693=>array(37,-213,608,760),7694=>array(42,-161,743,729),7695=>array(37,-161,608,760),7696=>array(42,-196,743,729),7697=>array(37,-196,608,760),7698=>array(42,-240,743,729),7699=>array(37,-240,608,760),7700=>array(42,0,640,1057),7701=>array(37,-14,532,926),7702=>array(42,0,640,1057),7703=>array(37,-14,532,926),7704=>array(42,-240,640,729),7705=>array(37,-240,532,533),7706=>array(42,-222,640,729),7707=>array(37,-222,532,533),7708=>array(42,-196,640,927),7709=>array(37,-196,532,776),7710=>array(42,0,627,939),7711=>array(27,0,436,939),7712=>array(38,-14,698,938),7713=>array(37,-222,608,756),7714=>array(42,0,810,939),7715=>array(27,0,634,939),7716=>array(42,-213,810,729),7717=>array(27,-213,634,760),7718=>array(42,0,810,939),7719=>array(-21,0,634,939),7720=>array(42,-196,810,729),7721=>array(27,-196,634,760),7722=>array(42,-221,810,729),7723=>array(27,-221,634,760),7724=>array(42,-222,380,729),7725=>array(7,-222,322,760),7726=>array(42,0,380,1057),7727=>array(8,0,334,917),7728=>array(42,0,810,931),7729=>array(31,0,639,931),7730=>array(42,-213,810,729),7731=>array(31,-213,639,760),7732=>array(42,-161,810,729),7733=>array(31,-161,639,760),7734=>array(42,-213,613,729),7735=>array(31,-213,320,760),7736=>array(42,-213,613,914),7737=>array(31,-213,320,914),7738=>array(42,-161,613,729),7739=>array(29,-161,320,760),7740=>array(42,-241,613,729),7741=>array(9,-240,341,760),7742=>array(38,0,954,931),7743=>array(31,0,932,800),7744=>array(38,0,954,937),7745=>array(31,0,932,788),7746=>array(38,-213,954,729),7747=>array(31,-213,932,533),7748=>array(40,0,787,939),7749=>array(31,0,634,788),7750=>array(40,-213,787,729),7751=>array(31,-213,634,533),7752=>array(40,-161,787,729),7753=>array(31,-161,634,533),7754=>array(40,-240,787,729),7755=>array(31,-240,634,533),7756=>array(38,-14,746,1057),7757=>array(37,-14,564,916),7758=>array(38,-14,746,1055),7759=>array(37,-14,564,912),7760=>array(38,-14,746,1057),7761=>array(37,-14,564,926),7762=>array(38,-14,746,1057),7763=>array(37,-14,564,926),7764=>array(42,0,655,927),7765=>array(21,-208,593,800),7766=>array(42,0,655,939),7767=>array(21,-208,593,788),7768=>array(42,0,753,939),7769=>array(26,0,483,788),7770=>array(42,-213,753,729),7771=>array(26,-213,483,533),7772=>array(42,-213,753,914),7773=>array(26,-213,483,756),7774=>array(42,-161,753,729),7775=>array(26,-161,483,533),7776=>array(59,-14,596,939),7777=>array(39,-14,470,788),7778=>array(59,-213,596,742),7779=>array(39,-213,470,533),7780=>array(59,-14,596,959),7781=>array(39,-14,470,777),7782=>array(59,-14,596,1065),7783=>array(39,-14,470,883),7784=>array(59,-213,596,939),7785=>array(39,-213,470,788),7786=>array(10,0,661,939),7787=>array(21,-14,412,939),7788=>array(10,-213,661,729),7789=>array(21,-213,412,680),7790=>array(10,-161,661,729),7791=>array(21,-161,412,680),7792=>array(10,-240,661,729),7793=>array(21,-240,414,680),7794=>array(31,-213,765,729),7795=>array(21,-213,624,519),7796=>array(31,-222,765,729),7797=>array(21,-222,624,519),7798=>array(31,-240,765,729),7799=>array(21,-240,624,519),7800=>array(31,-14,765,1057),7801=>array(21,-14,624,915),7802=>array(31,-14,765,1055),7803=>array(21,-14,624,930),7804=>array(-5,0,711,929),7805=>array(-17,0,545,792),7806=>array(-5,-213,711,729),7807=>array(-17,-213,545,519),7808=>array(-8,0,1021,927),7809=>array(-8,0,793,800),7810=>array(-8,0,1021,927),7811=>array(-8,0,793,800),7812=>array(-8,0,1021,939),7813=>array(-8,0,793,760),7814=>array(-8,0,1021,939),7815=>array(-8,0,793,788),7816=>array(-8,-211,1021,729),7817=>array(-8,-213,793,519),7818=>array(4,0,698,939),7819=>array(0,0,543,788),7820=>array(4,0,698,939),7821=>array(0,0,543,788),7822=>array(-8,0,651,939),7823=>array(-12,-222,545,788),7824=>array(33,0,625,927),7825=>array(31,0,481,800),7826=>array(33,-213,625,729),7827=>array(31,-213,481,519),7828=>array(33,-161,625,729),7829=>array(31,-161,481,519),7830=>array(27,-161,634,760),7831=>array(4,-14,412,939),7832=>array(-8,0,793,888),7833=>array(-12,-222,545,888),7834=>array(37,-14,813,760),7835=>array(27,0,436,939),7836=>array(1,0,436,760),7837=>array(27,0,436,760),7838=>array(31,-14,798,743),7839=>array(37,-14,564,765),7840=>array(-7,-213,708,729),7841=>array(37,-213,563,533),7842=>array(-7,0,708,1048),7843=>array(37,-14,563,866),7844=>array(-7,0,708,1054),7845=>array(37,-14,563,872),7846=>array(-7,0,708,1054),7847=>array(37,-14,563,872),7848=>array(-7,0,708,1116),7849=>array(37,-14,567,934),7850=>array(-7,0,708,1069),7851=>array(37,-14,563,887),7852=>array(-7,-213,708,927),7853=>array(37,-213,563,800),7854=>array(-7,0,708,1057),7855=>array(37,-14,563,901),7856=>array(-7,0,708,1057),7857=>array(37,-14,563,901),7858=>array(-7,0,708,1145),7859=>array(37,-14,563,989),7860=>array(-7,0,708,1069),7861=>array(37,-14,563,913),7862=>array(-7,-213,708,958),7863=>array(37,-213,563,776),7864=>array(42,-213,640,729),7865=>array(37,-213,532,533),7866=>array(42,0,640,1048),7867=>array(37,-14,532,866),7868=>array(42,0,640,950),7869=>array(37,-14,532,792),7870=>array(42,0,646,1054),7871=>array(37,-14,573,872),7872=>array(42,0,640,1054),7873=>array(37,-14,537,872),7874=>array(42,0,662,1116),7875=>array(37,-14,589,934),7876=>array(42,0,640,1069),7877=>array(37,-14,532,887),7878=>array(42,-213,640,927),7879=>array(37,-213,532,800),7880=>array(42,0,380,1048),7881=>array(31,0,320,864),7882=>array(42,-213,380,729),7883=>array(31,-213,320,760),7884=>array(38,-213,746,742),7885=>array(37,-213,564,533),7886=>array(38,-14,746,1048),7887=>array(37,-14,564,866),7888=>array(38,-14,746,1054),7889=>array(37,-14,588,872),7890=>array(38,-14,746,1054),7891=>array(37,-14,564,872),7892=>array(38,-14,746,1116),7893=>array(37,-14,604,934),7894=>array(38,-14,746,1069),7895=>array(37,-14,564,887),7896=>array(38,-213,746,982),7897=>array(37,-213,564,800),7898=>array(37,-14,784,927),7899=>array(37,-14,671,800),7900=>array(37,-14,784,927),7901=>array(37,-14,671,800),7902=>array(37,-14,784,1048),7903=>array(37,-14,671,866),7904=>array(37,-14,784,929),7905=>array(37,-14,671,792),7906=>array(37,-213,784,758),7907=>array(37,-213,671,548),7908=>array(31,-213,765,729),7909=>array(21,-213,624,519),7910=>array(31,-14,765,1048),7911=>array(21,-14,624,866),7912=>array(33,-14,944,927),7913=>array(22,-14,725,800),7914=>array(33,-14,944,927),7915=>array(22,-14,725,800),7916=>array(33,-14,944,1048),7917=>array(22,-14,725,866),7918=>array(33,-14,944,929),7919=>array(22,-14,725,792),7920=>array(33,-213,944,816),7921=>array(22,-213,725,548),7922=>array(-8,0,651,931),7923=>array(-12,-222,545,776),7924=>array(-8,-213,651,729),7925=>array(-12,-222,545,519),7926=>array(-8,0,651,1051),7927=>array(-12,-222,545,866),7928=>array(-8,0,651,929),7929=>array(-12,-222,545,792),7930=>array(42,0,951,729),7931=>array(31,0,608,760),7936=>array(37,-14,671,837),7937=>array(37,-14,671,837),7938=>array(37,-14,671,837),7939=>array(37,-14,671,837),7940=>array(37,-14,671,837),7941=>array(37,-14,671,837),7942=>array(37,-14,671,1009),7943=>array(37,-14,671,1009),7944=>array(-7,0,708,837),7945=>array(-7,0,708,837),7946=>array(2,0,891,837),7947=>array(1,0,891,837),7948=>array(1,0,759,837),7949=>array(2,0,774,837),7950=>array(-7,0,708,1009),7951=>array(-7,0,708,1009),7952=>array(43,-12,499,837),7953=>array(43,-12,499,837),7954=>array(43,-12,499,837),7955=>array(43,-12,499,837),7956=>array(43,-12,499,837),7957=>array(43,-12,499,837),7960=>array(3,0,780,837),7961=>array(2,0,772,837),7962=>array(2,0,1006,837),7963=>array(1,0,1006,837),7964=>array(1,0,938,837),7965=>array(2,0,962,837),7968=>array(31,-208,567,837),7969=>array(31,-208,567,837),7970=>array(31,-208,567,837),7971=>array(31,-208,567,837),7972=>array(31,-208,567,837),7973=>array(31,-208,567,837),7974=>array(31,-208,567,1009),7975=>array(31,-208,567,1009),7976=>array(3,0,950,837),7977=>array(2,0,945,837),7978=>array(2,0,1182,837),7979=>array(1,0,1185,837),7980=>array(1,0,1111,837),7981=>array(2,0,1137,837),7982=>array(2,0,1037,1009),7983=>array(3,0,1034,1009),7984=>array(31,16,400,837),7985=>array(31,16,400,837),7986=>array(-13,16,400,837),7987=>array(-13,16,400,837),7988=>array(12,16,400,837),7989=>array(-2,16,400,837),7990=>array(25,16,400,1009),7991=>array(21,16,400,1009),7992=>array(3,0,525,837),7993=>array(2,0,514,837),7994=>array(2,0,749,837),7995=>array(1,0,751,837),7996=>array(1,0,678,837),7997=>array(2,0,707,837),7998=>array(2,0,609,1009),7999=>array(3,0,602,1009),8000=>array(37,-14,564,837),8001=>array(37,-14,564,837),8002=>array(37,-14,564,837),8003=>array(37,-14,564,837),8004=>array(37,-14,564,837),8005=>array(37,-14,564,837),8008=>array(3,-14,772,837),8009=>array(2,-14,803,837),8010=>array(2,-14,1077,837),8011=>array(1,-14,1075,837),8012=>array(1,-14,893,837),8013=>array(2,-14,921,837),8016=>array(31,-1,589,837),8017=>array(31,-1,589,837),8018=>array(31,-1,589,837),8019=>array(31,-1,589,837),8020=>array(31,-1,589,837),8021=>array(31,-1,589,837),8022=>array(31,-1,589,1009),8023=>array(31,-1,589,1009),8025=>array(2,0,838,837),8027=>array(1,0,1076,837),8029=>array(2,0,1028,837),8031=>array(3,0,925,1009),8032=>array(35,-1,820,837),8033=>array(35,-1,820,837),8034=>array(35,-1,820,837),8035=>array(35,-1,820,837),8036=>array(35,-1,820,837),8037=>array(35,-1,820,837),8038=>array(35,-1,820,1009),8039=>array(35,-1,820,1009),8040=>array(3,0,798,837),8041=>array(2,0,827,837),8042=>array(2,0,1101,837),8043=>array(1,0,1106,837),8044=>array(1,0,909,837),8045=>array(2,0,939,837),8046=>array(2,0,880,1009),8047=>array(3,0,914,1009),8048=>array(37,-14,671,800),8049=>array(37,-14,671,800),8050=>array(43,-12,499,800),8051=>array(43,-12,499,800),8052=>array(31,-208,567,800),8053=>array(31,-208,567,800),8054=>array(12,16,400,800),8055=>array(31,16,400,800),8056=>array(37,-14,564,800),8057=>array(37,-14,564,800),8058=>array(31,-1,589,800),8059=>array(31,-1,589,800),8060=>array(35,-1,820,800),8061=>array(35,-1,820,800),8064=>array(37,-208,671,837),8065=>array(37,-208,671,837),8066=>array(37,-208,671,837),8067=>array(37,-208,671,837),8068=>array(37,-208,671,837),8069=>array(37,-208,671,837),8070=>array(37,-208,671,1009),8071=>array(37,-208,671,1009),8072=>array(-7,-208,708,837),8073=>array(-7,-208,708,837),8074=>array(2,-208,891,837),8075=>array(1,-208,891,837),8076=>array(1,-208,759,837),8077=>array(2,-208,774,837),8078=>array(-7,-208,708,1009),8079=>array(-7,-208,708,1009),8080=>array(31,-208,567,837),8081=>array(31,-208,567,837),8082=>array(31,-208,567,837),8083=>array(31,-208,567,837),8084=>array(31,-208,567,837),8085=>array(31,-208,567,837),8086=>array(31,-208,567,1009),8087=>array(31,-208,567,1009),8088=>array(3,-208,950,837),8089=>array(2,-208,945,837),8090=>array(2,-208,1182,837),8091=>array(1,-208,1185,837),8092=>array(1,-208,1111,837),8093=>array(2,-208,1137,837),8094=>array(2,-208,1037,1009),8095=>array(3,-208,1034,1009),8096=>array(35,-208,820,837),8097=>array(35,-208,820,837),8098=>array(35,-208,820,837),8099=>array(35,-208,820,837),8100=>array(35,-208,820,837),8101=>array(35,-208,820,837),8102=>array(35,-208,820,1009),8103=>array(35,-208,820,1009),8104=>array(3,-208,798,837),8105=>array(2,-208,827,837),8106=>array(2,-208,1101,837),8107=>array(1,-208,1106,837),8108=>array(1,-208,909,837),8109=>array(2,-208,939,837),8110=>array(2,-208,880,1009),8111=>array(3,-208,914,1009),8112=>array(37,-14,671,776),8113=>array(37,-14,671,756),8114=>array(37,-208,671,800),8115=>array(37,-208,671,532),8116=>array(37,-208,671,800),8118=>array(37,-14,671,792),8119=>array(37,-208,671,792),8120=>array(-7,0,708,936),8121=>array(-7,0,708,914),8122=>array(1,0,740,800),8123=>array(-7,0,708,800),8124=>array(-7,-208,708,729),8125=>array(150,596,287,837),8126=>array(182,-208,313,-60),8127=>array(150,596,287,837),8128=>array(67,638,382,792),8129=>array(62,645,388,959),8130=>array(31,-208,567,800),8131=>array(31,-208,567,533),8132=>array(31,-208,567,800),8134=>array(31,-208,567,792),8135=>array(31,-208,567,792),8136=>array(1,0,854,800),8137=>array(-14,0,804,800),8138=>array(1,0,1032,800),8139=>array(-14,0,976,800),8140=>array(42,-208,810,729),8141=>array(39,596,425,837),8142=>array(51,596,400,837),8143=>array(67,596,382,1009),8144=>array(28,16,400,776),8145=>array(31,16,400,756),8146=>array(2,16,400,997),8147=>array(7,16,400,996),8150=>array(17,16,400,792),8151=>array(12,16,400,959),8152=>array(42,0,380,927),8153=>array(42,0,380,914),8154=>array(1,0,602,800),8155=>array(-14,0,546,800),8157=>array(38,596,425,837),8158=>array(37,596,409,837),8159=>array(67,596,382,1009),8160=>array(31,-1,589,776),8161=>array(31,-1,589,756),8162=>array(31,-1,589,997),8163=>array(31,-1,589,996),8164=>array(57,-208,563,837),8165=>array(57,-208,563,837),8166=>array(31,-1,589,792),8167=>array(31,-1,589,959),8168=>array(-8,0,651,927),8169=>array(-8,0,651,914),8170=>array(1,0,925,800),8171=>array(-14,0,865,800),8172=>array(2,0,797,837),8173=>array(53,645,388,997),8174=>array(62,645,396,996),8175=>array(62,616,298,800),8178=>array(35,-208,820,800),8179=>array(35,-208,820,519),8180=>array(35,-208,820,800),8182=>array(35,-1,820,746),8183=>array(35,-208,820,746),8184=>array(1,-14,923,800),8185=>array(-14,-14,760,800),8186=>array(1,0,951,800),8187=>array(-14,0,782,800),8188=>array(40,-208,761,742),8189=>array(152,616,388,800),8190=>array(152,596,289,837),8208=>array(48,202,325,334),8209=>array(48,202,325,334),8210=>array(48,207,578,324),8211=>array(48,207,402,324),8212=>array(48,207,852,324),8213=>array(0,207,900,324),8214=>array(116,-236,356,764),8215=>array(0,-236,450,-9),8216=>array(62,456,261,742),8217=>array(43,443,242,729),8218=>array(26,-130,226,156),8219=>array(43,443,242,729),8220=>array(62,456,466,742),8221=>array(43,443,447,729),8222=>array(26,-130,431,156),8223=>array(43,443,447,729),8224=>array(25,-96,446,729),8225=>array(25,-96,446,729),8226=>array(129,196,446,547),8227=>array(129,157,481,586),8228=>array(73,-14,241,172),8229=>array(73,-14,534,172),8230=>array(73,-14,827,172),8240=>array(21,-14,1225,742),8241=>array(21,-14,1617,742),8242=>array(18,547,216,729),8243=>array(18,547,381,729),8244=>array(18,547,545,729),8245=>array(18,547,216,729),8246=>array(18,547,383,729),8247=>array(18,547,545,729),8248=>array(91,-238,569,29),8249=>array(69,64,276,522),8250=>array(84,64,291,522),8252=>array(58,-14,506,729),8253=>array(58,-14,487,742),8254=>array(0,663,450,755),8258=>array(20,-37,901,832),8260=>array(-167,-14,318,742),8261=>array(112,-132,362,760),8262=>array(63,-132,313,760),8263=>array(29,-14,945,742),8264=>array(58,-14,712,742),8265=>array(58,-14,712,742),8267=>array(64,-96,518,729),8268=>array(67,189,382,541),8269=>array(67,189,382,541),8270=>array(20,0,451,464),8271=>array(23,-161,250,490),8273=>array(47,-14,396,797),8274=>array(8,-93,467,729),8275=>array(44,221,856,406),8279=>array(18,547,710,729),8304=>array(26,326,369,742),8305=>array(19,334,202,752),8308=>array(21,334,364,742),8309=>array(46,326,353,742),8310=>array(36,326,365,742),8311=>array(44,334,349,742),8312=>array(29,326,365,742),8313=>array(31,326,360,742),8314=>array(60,334,415,679),8315=>array(60,475,415,537),8316=>array(60,415,415,598),8317=>array(53,249,239,752),8318=>array(29,249,215,752),8319=>array(42,334,434,632),8320=>array(26,0,369,416),8321=>array(63,8,333,416),8322=>array(38,8,344,416),8323=>array(40,0,358,416),8324=>array(21,8,364,416),8325=>array(46,0,353,416),8326=>array(36,0,365,416),8327=>array(44,8,349,416),8328=>array(29,0,365,416),8329=>array(31,0,360,416),8330=>array(60,8,415,353),8331=>array(60,149,415,211),8332=>array(60,89,415,272),8333=>array(53,-78,239,426),8334=>array(29,-78,215,426),8336=>array(38,0,369,301),8337=>array(38,0,350,301),8338=>array(38,0,370,301),8339=>array(40,8,393,298),8340=>array(38,0,350,301),8341=>array(40,8,434,433),8342=>array(38,8,421,426),8343=>array(40,8,228,433),8344=>array(38,8,606,301),8345=>array(42,8,434,306),8346=>array(38,-106,399,301),8347=>array(40,9,320,315),8348=>array(38,0,284,382),8358=>array(19,0,607,729),8364=>array(-4,-14,584,742),8367=>array(18,-193,1022,723),8369=>array(42,0,685,729),8372=>array(19,-14,770,742),8373=>array(73,-146,584,761),8376=>array(10,0,661,729),8377=>array(41,0,590,729),8451=>array(34,-14,1033,749),8457=>array(34,0,989,749),8462=>array(30,0,578,760),8463=>array(31,0,578,760),8470=>array(35,-14,936,731),8482=>array(104,447,756,729),8486=>array(40,0,761,742),8487=>array(40,-13,761,729),8490=>array(42,0,810,729),8491=>array(-7,0,708,928),8498=>array(12,0,597,729),8513=>array(22,-14,650,742),8514=>array(8,0,475,729),8515=>array(39,0,505,729),8516=>array(0,0,670,729),8523=>array(14,-14,774,742),8526=>array(10,0,507,519),8528=>array(53,-14,893,742),8529=>array(53,-14,905,742),8530=>array(53,-14,1308,742),8531=>array(53,-14,903,742),8532=>array(38,-14,903,742),8533=>array(53,-14,897,742),8534=>array(38,-14,897,742),8535=>array(40,-14,897,742),8536=>array(21,-14,897,742),8537=>array(53,-14,910,742),8538=>array(46,-14,910,742),8539=>array(53,-14,910,742),8540=>array(40,-14,910,742),8541=>array(46,-14,910,742),8542=>array(44,-14,910,742),8543=>array(53,-14,721,742),8544=>array(42,0,380,729),8545=>array(42,0,622,729),8546=>array(42,0,863,729),8547=>array(42,0,997,729),8548=>array(-5,0,711,729),8549=>array(-5,0,973,729),8550=>array(-5,0,1215,729),8551=>array(-5,0,1457,729),8552=>array(42,0,961,729),8553=>array(4,0,698,729),8554=>array(4,0,929,729),8555=>array(4,0,1171,729),8556=>array(42,0,613,729),8557=>array(38,-14,671,742),8558=>array(42,0,743,729),8559=>array(38,0,954,729),8560=>array(31,0,320,760),8561=>array(31,0,662,760),8562=>array(31,0,1003,760),8563=>array(31,0,888,760),8564=>array(-17,0,545,519),8565=>array(-17,0,843,760),8566=>array(-17,0,1185,760),8567=>array(-17,0,1526,760),8568=>array(31,0,885,760),8569=>array(0,0,543,519),8570=>array(0,0,856,760),8571=>array(0,0,1198,760),8572=>array(31,0,320,760),8573=>array(37,-14,508,533),8574=>array(37,-14,608,760),8575=>array(31,0,932,533),8576=>array(42,0,1106,729),8577=>array(42,0,743,729),8578=>array(42,0,1106,729),8579=>array(38,-14,671,742),8580=>array(37,-14,508,533),8581=>array(38,-208,671,742),8585=>array(26,-14,903,742),8592=>array(33,119,703,527),8593=>array(193,0,561,744),8594=>array(51,119,721,527),8595=>array(193,-20,561,724),8596=>array(33,119,721,527),8597=>array(193,-20,561,744),8598=>array(132,29,642,595),8599=>array(112,29,622,595),8600=>array(112,52,622,617),8601=>array(132,52,642,617),8602=>array(33,88,703,558),8603=>array(51,88,721,558),8604=>array(48,191,716,499),8605=>array(38,191,706,499),8606=>array(33,119,703,527),8607=>array(193,0,561,744),8608=>array(51,119,721,527),8609=>array(193,-20,561,724),8610=>array(33,118,710,529),8611=>array(44,118,721,529),8612=>array(33,119,703,527),8613=>array(193,0,561,744),8614=>array(51,119,721,527),8615=>array(193,-20,561,724),8616=>array(193,0,561,744),8617=>array(33,119,703,571),8618=>array(51,119,721,571),8619=>array(33,119,703,571),8620=>array(51,119,721,571),8621=>array(33,119,721,527),8622=>array(33,88,721,558),8623=>array(154,-17,629,730),8624=>array(187,0,549,744),8625=>array(205,0,567,744),8626=>array(187,-20,549,724),8627=>array(205,-20,567,724),8628=>array(117,90,655,614),8629=>array(132,53,604,650),8630=>array(68,141,672,569),8631=>array(82,141,686,569),8632=>array(119,29,642,736),8633=>array(51,-52,703,698),8634=>array(103,48,660,600),8635=>array(94,48,651,600),8636=>array(31,270,703,527),8637=>array(31,119,703,377),8638=>array(329,0,561,747),8639=>array(193,0,426,747),8640=>array(51,270,724,527),8641=>array(51,119,724,377),8642=>array(329,-23,561,724),8643=>array(193,-23,426,724),8644=>array(33,-52,721,698),8645=>array(40,-20,715,744),8646=>array(33,-52,721,698),8647=>array(33,-101,703,747),8648=>array(-4,0,759,744),8649=>array(51,-101,721,747),8650=>array(-4,-20,759,724),8651=>array(31,21,724,625),8652=>array(31,21,724,625),8653=>array(33,88,703,558),8654=>array(33,88,721,558),8655=>array(51,88,721,558),8656=>array(33,119,703,527),8657=>array(193,0,561,744),8658=>array(51,119,721,527),8659=>array(193,-20,561,724),8660=>array(33,119,721,527),8661=>array(193,-20,561,744),8662=>array(132,-31,696,595),8663=>array(58,-31,622,595),8664=>array(58,52,622,677),8665=>array(132,52,696,677),8666=>array(33,70,703,576),8667=>array(51,70,721,576),8668=>array(33,119,703,527),8669=>array(51,119,721,527),8670=>array(193,0,561,744),8671=>array(193,-20,561,724),8672=>array(33,119,703,527),8673=>array(193,0,561,744),8674=>array(51,119,721,527),8675=>array(193,-20,561,724),8676=>array(51,119,703,527),8677=>array(51,119,703,527),8678=>array(33,119,703,527),8679=>array(193,0,561,744),8680=>array(51,119,721,527),8681=>array(193,-20,561,724),8682=>array(193,0,561,744),8683=>array(172,0,582,744),8684=>array(172,0,582,744),8685=>array(172,0,582,744),8686=>array(193,0,561,744),8687=>array(172,0,582,744),8688=>array(51,96,721,550),8689=>array(69,0,690,694),8690=>array(64,0,686,694),8691=>array(193,-20,561,744),8692=>array(51,119,721,527),8693=>array(40,-20,715,744),8694=>array(51,-140,721,786),8695=>array(33,119,703,527),8696=>array(51,119,721,527),8697=>array(33,119,721,527),8698=>array(33,119,703,527),8699=>array(51,119,721,527),8700=>array(33,119,721,527),8701=>array(33,119,703,527),8702=>array(51,119,721,527),8703=>array(33,119,721,527),8704=>array(4,0,573,729),8706=>array(33,-12,449,659),8707=>array(63,0,479,729),8708=>array(63,-120,479,849),8710=>array(18,0,661,729),8711=>array(18,0,661,729),8712=>array(95,0,571,627),8713=>array(95,-138,571,765),8715=>array(95,0,571,627),8716=>array(95,-138,571,765),8719=>array(21,-192,734,719),8720=>array(21,-192,734,719),8721=>array(9,-192,661,719),8722=>array(95,257,659,369),8723=>array(95,0,659,627),8724=>array(95,0,659,681),8725=>array(0,-93,329,729),8727=>array(95,82,527,546),8728=>array(95,161,372,468),8729=>array(95,161,372,468),8730=>array(31,-20,593,827),8731=>array(31,-20,593,940),8732=>array(29,-20,593,928),8733=>array(90,97,515,499),8734=>array(90,97,661,499),8735=>array(106,79,648,681),8736=>array(106,79,648,681),8739=>array(95,-98,197,827),8740=>array(78,-98,469,827),8741=>array(95,-98,381,827),8742=>array(78,-98,619,827),8743=>array(136,0,595,584),8744=>array(136,0,595,584),8745=>array(95,0,659,627),8746=>array(95,-12,659,615),8747=>array(21,-182,500,759),8748=>array(21,-182,852,759),8749=>array(21,-182,1203,759),8760=>array(95,258,659,567),8761=>array(95,60,659,567),8762=>array(95,60,659,567),8763=>array(95,60,659,567),8764=>array(95,222,659,406),8765=>array(95,222,659,406),8770=>array(95,119,659,480),8771=>array(95,147,659,508),8776=>array(95,119,659,508),8784=>array(95,147,659,717),8785=>array(95,-90,659,717),8786=>array(95,-90,659,717),8787=>array(95,-90,659,717),8788=>array(95,110,879,518),8789=>array(95,110,879,518),8800=>array(95,-5,659,631),8801=>array(95,91,659,536),8804=>array(95,0,659,580),8805=>array(95,0,659,580),8834=>array(95,0,659,627),8835=>array(95,0,659,627),8836=>array(95,-138,659,765),8837=>array(95,-138,659,765),8838=>array(95,-85,659,712),8839=>array(95,-85,659,712),8844=>array(95,-12,659,615),8845=>array(95,-12,659,615),8846=>array(95,-12,659,615),8847=>array(95,1,659,627),8848=>array(95,1,659,627),8849=>array(95,-85,659,712),8850=>array(95,-85,659,712),8851=>array(95,0,659,627),8852=>array(95,0,659,627),8853=>array(95,0,659,627),8854=>array(95,0,659,627),8855=>array(95,0,659,627),8856=>array(95,0,659,627),8857=>array(95,0,659,627),8858=>array(95,0,659,627),8859=>array(95,0,659,627),8860=>array(95,0,659,627),8861=>array(95,0,659,627),8862=>array(95,1,659,627),8863=>array(95,1,659,627),8864=>array(95,1,659,627),8865=>array(95,1,659,627),8866=>array(95,0,701,729),8867=>array(95,0,701,729),8868=>array(95,0,769,688),8869=>array(95,0,769,688),8870=>array(95,0,459,729),8871=>array(95,0,459,729),8872=>array(95,0,701,729),8873=>array(95,0,701,729),8874=>array(95,0,701,729),8875=>array(95,0,876,729),8876=>array(95,-123,701,852),8877=>array(95,-123,701,852),8878=>array(95,-123,701,852),8879=>array(95,-123,876,852),8901=>array(95,255,263,440),8962=>array(64,0,687,596),8968=>array(112,-132,362,760),8969=>array(63,-132,313,760),8970=>array(112,-132,362,760),8971=>array(63,-132,313,760),8976=>array(95,140,659,441),8977=>array(2,113,482,646),8984=>array(76,0,759,759),8985=>array(95,140,659,441),8992=>array(203,-250,500,925),8993=>array(20,-239,316,940),8997=>array(76,0,824,723),9000=>array(53,0,1247,729),9085=>array(11,-228,896,85),9115=>array(56,-252,394,928),9116=>array(56,-252,185,940),9117=>array(56,-240,394,940),9118=>array(56,-252,394,928),9119=>array(266,-252,394,940),9120=>array(56,-240,394,940),9121=>array(56,-252,394,928),9122=>array(56,-252,185,940),9123=>array(56,-240,394,940),9124=>array(56,-252,394,928),9125=>array(266,-252,394,940),9126=>array(56,-240,394,940),9127=>array(275,-261,602,928),9128=>array(74,-247,400,934),9129=>array(275,-240,602,934),9130=>array(275,-256,400,934),9131=>array(74,-261,400,928),9132=>array(275,-247,602,934),9133=>array(74,-240,400,934),9134=>array(203,-250,316,940),9167=>array(82,0,769,596),9251=>array(64,-228,687,85),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,630,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(49,260,736,645),9697=>array(49,-125,736,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(135,227,396,516),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9784=>array(71,3,735,721),9785=>array(75,0,732,730),9786=>array(75,0,732,730),9787=>array(75,0,732,730),9788=>array(75,0,732,730),9791=>array(77,-102,476,732),9792=>array(77,-125,581,731),9793=>array(77,-125,581,731),9794=>array(77,-5,748,729),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),10145=>array(51,119,721,527),10181=>array(48,-163,365,769),10182=>array(48,-163,365,769),10208=>array(2,-233,442,807),10216=>array(94,-132,339,759),10217=>array(72,-132,317,759),10224=>array(62,0,693,744),10225=>array(62,-20,693,724),10226=>array(68,48,672,618),10227=>array(82,48,686,618),10228=>array(51,39,896,608),10229=>array(33,119,1239,527),10230=>array(51,119,1257,527),10231=>array(33,119,1257,527),10232=>array(33,119,1239,527),10233=>array(51,119,1257,527),10234=>array(33,119,1257,527),10235=>array(33,119,1239,527),10236=>array(51,119,1257,527),10237=>array(33,119,1239,527),10238=>array(51,119,1257,527),10239=>array(51,119,1257,527),10241=>array(132,586,308,781),10242=>array(132,325,308,521),10243=>array(132,325,308,781),10244=>array(132,65,308,260),10245=>array(132,65,308,781),10246=>array(132,65,308,521),10247=>array(132,65,308,781),10248=>array(396,586,571,781),10249=>array(132,586,571,781),10250=>array(132,325,571,781),10251=>array(132,325,571,781),10252=>array(132,65,571,781),10253=>array(132,65,571,781),10254=>array(132,65,571,781),10255=>array(132,65,571,781),10256=>array(396,325,571,521),10257=>array(132,325,571,781),10258=>array(132,325,571,521),10259=>array(132,325,571,781),10260=>array(132,65,571,521),10261=>array(132,65,571,781),10262=>array(132,65,571,521),10263=>array(132,65,571,781),10264=>array(396,325,571,781),10265=>array(132,325,571,781),10266=>array(132,325,571,781),10267=>array(132,325,571,781),10268=>array(132,65,571,781),10269=>array(132,65,571,781),10270=>array(132,65,571,781),10271=>array(132,65,571,781),10272=>array(396,65,571,260),10273=>array(132,65,571,781),10274=>array(132,65,571,521),10275=>array(132,65,571,781),10276=>array(132,65,571,260),10277=>array(132,65,571,781),10278=>array(132,65,571,521),10279=>array(132,65,571,781),10280=>array(396,65,571,781),10281=>array(132,65,571,781),10282=>array(132,65,571,781),10283=>array(132,65,571,781),10284=>array(132,65,571,781),10285=>array(132,65,571,781),10286=>array(132,65,571,781),10287=>array(132,65,571,781),10288=>array(396,65,571,521),10289=>array(132,65,571,781),10290=>array(132,65,571,521),10291=>array(132,65,571,781),10292=>array(132,65,571,521),10293=>array(132,65,571,781),10294=>array(132,65,571,521),10295=>array(132,65,571,781),10296=>array(396,65,571,781),10297=>array(132,65,571,781),10298=>array(132,65,571,781),10299=>array(132,65,571,781),10300=>array(132,65,571,781),10301=>array(132,65,571,781),10302=>array(132,65,571,781),10303=>array(132,65,571,781),10304=>array(132,-195,308,0),10305=>array(132,-195,308,781),10306=>array(132,-195,308,521),10307=>array(132,-195,308,781),10308=>array(132,-195,308,260),10309=>array(132,-195,308,781),10310=>array(132,-195,308,521),10311=>array(132,-195,308,781),10312=>array(132,-195,571,781),10313=>array(132,-195,571,781),10314=>array(132,-195,571,781),10315=>array(132,-195,571,781),10316=>array(132,-195,571,781),10317=>array(132,-195,571,781),10318=>array(132,-195,571,781),10319=>array(132,-195,571,781),10320=>array(132,-195,571,521),10321=>array(132,-195,571,781),10322=>array(132,-195,571,521),10323=>array(132,-195,571,781),10324=>array(132,-195,571,521),10325=>array(132,-195,571,781),10326=>array(132,-195,571,521),10327=>array(132,-195,571,781),10328=>array(132,-195,571,781),10329=>array(132,-195,571,781),10330=>array(132,-195,571,781),10331=>array(132,-195,571,781),10332=>array(132,-195,571,781),10333=>array(132,-195,571,781),10334=>array(132,-195,571,781),10335=>array(132,-195,571,781),10336=>array(132,-195,571,260),10337=>array(132,-195,571,781),10338=>array(132,-195,571,521),10339=>array(132,-195,571,781),10340=>array(132,-195,571,260),10341=>array(132,-195,571,781),10342=>array(132,-195,571,521),10343=>array(132,-195,571,781),10344=>array(132,-195,571,781),10345=>array(132,-195,571,781),10346=>array(132,-195,571,781),10347=>array(132,-195,571,781),10348=>array(132,-195,571,781),10349=>array(132,-195,571,781),10350=>array(132,-195,571,781),10351=>array(132,-195,571,781),10352=>array(132,-195,571,521),10353=>array(132,-195,571,781),10354=>array(132,-195,571,521),10355=>array(132,-195,571,781),10356=>array(132,-195,571,521),10357=>array(132,-195,571,781),10358=>array(132,-195,571,521),10359=>array(132,-195,571,781),10360=>array(132,-195,571,781),10361=>array(132,-195,571,781),10362=>array(132,-195,571,781),10363=>array(132,-195,571,781),10364=>array(132,-195,571,781),10365=>array(132,-195,571,781),10366=>array(132,-195,571,781),10367=>array(132,-195,571,781),10368=>array(396,-195,571,0),10369=>array(132,-195,571,781),10370=>array(132,-195,571,521),10371=>array(132,-195,571,781),10372=>array(132,-195,571,260),10373=>array(132,-195,571,781),10374=>array(132,-195,571,521),10375=>array(132,-195,571,781),10376=>array(396,-195,571,781),10377=>array(132,-195,571,781),10378=>array(132,-195,571,781),10379=>array(132,-195,571,781),10380=>array(132,-195,571,781),10381=>array(132,-195,571,781),10382=>array(132,-195,571,781),10383=>array(132,-195,571,781),10384=>array(396,-195,571,521),10385=>array(132,-195,571,781),10386=>array(132,-195,571,521),10387=>array(132,-195,571,781),10388=>array(132,-195,571,521),10389=>array(132,-195,571,781),10390=>array(132,-195,571,521),10391=>array(132,-195,571,781),10392=>array(396,-195,571,781),10393=>array(132,-195,571,781),10394=>array(132,-195,571,781),10395=>array(132,-195,571,781),10396=>array(132,-195,571,781),10397=>array(132,-195,571,781),10398=>array(132,-195,571,781),10399=>array(132,-195,571,781),10400=>array(396,-195,571,260),10401=>array(132,-195,571,781),10402=>array(132,-195,571,521),10403=>array(132,-195,571,781),10404=>array(132,-195,571,260),10405=>array(132,-195,571,781),10406=>array(132,-195,571,521),10407=>array(132,-195,571,781),10408=>array(396,-195,571,781),10409=>array(132,-195,571,781),10410=>array(132,-195,571,781),10411=>array(132,-195,571,781),10412=>array(132,-195,571,781),10413=>array(132,-195,571,781),10414=>array(132,-195,571,781),10415=>array(132,-195,571,781),10416=>array(396,-195,571,521),10417=>array(132,-195,571,781),10418=>array(132,-195,571,521),10419=>array(132,-195,571,781),10420=>array(132,-195,571,521),10421=>array(132,-195,571,781),10422=>array(132,-195,571,521),10423=>array(132,-195,571,781),10424=>array(396,-195,571,781),10425=>array(132,-195,571,781),10426=>array(132,-195,571,781),10427=>array(132,-195,571,781),10428=>array(132,-195,571,781),10429=>array(132,-195,571,781),10430=>array(132,-195,571,781),10431=>array(132,-195,571,781),10432=>array(132,-195,571,0),10433=>array(132,-195,571,781),10434=>array(132,-195,571,521),10435=>array(132,-195,571,781),10436=>array(132,-195,571,260),10437=>array(132,-195,571,781),10438=>array(132,-195,571,521),10439=>array(132,-195,571,781),10440=>array(132,-195,571,781),10441=>array(132,-195,571,781),10442=>array(132,-195,571,781),10443=>array(132,-195,571,781),10444=>array(132,-195,571,781),10445=>array(132,-195,571,781),10446=>array(132,-195,571,781),10447=>array(132,-195,571,781),10448=>array(132,-195,571,521),10449=>array(132,-195,571,781),10450=>array(132,-195,571,521),10451=>array(132,-195,571,781),10452=>array(132,-195,571,521),10453=>array(132,-195,571,781),10454=>array(132,-195,571,521),10455=>array(132,-195,571,781),10456=>array(132,-195,571,781),10457=>array(132,-195,571,781),10458=>array(132,-195,571,781),10459=>array(132,-195,571,781),10460=>array(132,-195,571,781),10461=>array(132,-195,571,781),10462=>array(132,-195,571,781),10463=>array(132,-195,571,781),10464=>array(132,-195,571,260),10465=>array(132,-195,571,781),10466=>array(132,-195,571,521),10467=>array(132,-195,571,781),10468=>array(132,-195,571,260),10469=>array(132,-195,571,781),10470=>array(132,-195,571,521),10471=>array(132,-195,571,781),10472=>array(132,-195,571,781),10473=>array(132,-195,571,781),10474=>array(132,-195,571,781),10475=>array(132,-195,571,781),10476=>array(132,-195,571,781),10477=>array(132,-195,571,781),10478=>array(132,-195,571,781),10479=>array(132,-195,571,781),10480=>array(132,-195,571,521),10481=>array(132,-195,571,781),10482=>array(132,-195,571,521),10483=>array(132,-195,571,781),10484=>array(132,-195,571,521),10485=>array(132,-195,571,781),10486=>array(132,-195,571,521),10487=>array(132,-195,571,781),10488=>array(132,-195,571,781),10489=>array(132,-195,571,781),10490=>array(132,-195,571,781),10491=>array(132,-195,571,781),10492=>array(132,-195,571,781),10493=>array(132,-195,571,781),10494=>array(132,-195,571,781),10495=>array(132,-195,571,781),10496=>array(51,119,721,527),10497=>array(51,119,721,527),10498=>array(33,119,703,527),10499=>array(51,119,721,527),10500=>array(33,119,721,527),10501=>array(51,119,721,527),10502=>array(33,119,703,527),10503=>array(51,119,721,527),10504=>array(193,-20,561,724),10505=>array(193,0,561,744),10506=>array(149,0,605,744),10507=>array(149,-20,605,724),10508=>array(33,119,703,527),10509=>array(51,119,721,527),10510=>array(33,119,703,527),10511=>array(51,119,721,527),10512=>array(44,118,721,529),10513=>array(48,119,721,527),10514=>array(193,0,561,724),10515=>array(193,0,561,724),10516=>array(44,118,721,529),10517=>array(44,118,721,529),10518=>array(44,118,721,529),10519=>array(44,118,721,529),10520=>array(44,118,721,529),10521=>array(51,118,710,529),10522=>array(44,118,703,529),10523=>array(51,118,710,529),10524=>array(44,118,703,529),10525=>array(33,119,703,527),10526=>array(51,119,721,527),10527=>array(33,119,703,527),10528=>array(51,119,721,527),10529=>array(132,52,622,595),10530=>array(132,52,622,595),10531=>array(132,-45,585,595),10532=>array(168,-45,622,595),10533=>array(168,52,622,692),10534=>array(132,52,585,692),10535=>array(112,29,642,595),10536=>array(112,29,622,617),10537=>array(112,52,642,617),10538=>array(132,29,642,617),10539=>array(112,29,642,617),10540=>array(112,29,642,617),10541=>array(112,29,622,617),10542=>array(112,29,622,617),10543=>array(112,29,642,617),10544=>array(112,29,642,617),10545=>array(112,29,642,595),10546=>array(112,29,642,595),10547=>array(38,119,721,527),10548=>array(131,94,637,623),10549=>array(131,80,637,608),10550=>array(132,70,608,632),10551=>array(146,70,622,632),10552=>array(255,-13,532,735),10553=>array(222,-13,499,735),10554=>array(46,188,720,495),10555=>array(35,151,708,459),10556=>array(35,78,708,495),10557=>array(46,0,720,495),10558=>array(126,58,623,593),10559=>array(132,58,628,593),10560=>array(121,48,633,719),10561=>array(121,48,633,719),10562=>array(33,-52,721,698),10563=>array(33,-52,721,698),10564=>array(33,-52,721,698),10565=>array(51,0,721,527),10566=>array(33,0,703,527),10567=>array(51,119,721,527),10568=>array(33,119,721,527),10569=>array(193,-12,561,744),10570=>array(31,119,724,527),10571=>array(31,119,724,527),10572=>array(193,-23,561,747),10573=>array(193,-23,561,747),10574=>array(31,270,724,527),10575=>array(329,-23,561,747),10576=>array(31,119,724,377),10577=>array(193,-23,426,747),10578=>array(51,131,703,527),10579=>array(51,131,703,527),10580=>array(204,0,561,724),10581=>array(204,0,561,724),10582=>array(51,119,703,515),10583=>array(51,119,703,515),10584=>array(193,0,550,724),10585=>array(193,0,550,724),10586=>array(31,131,703,527),10587=>array(51,131,724,527),10588=>array(204,0,561,747),10589=>array(204,-23,561,724),10590=>array(31,119,703,515),10591=>array(51,119,724,515),10592=>array(193,0,550,747),10593=>array(193,-23,550,724),10594=>array(31,21,703,625),10595=>array(105,0,649,747),10596=>array(51,21,724,625),10597=>array(105,-23,649,724),10598=>array(31,172,724,625),10599=>array(31,21,724,475),10600=>array(31,172,724,625),10601=>array(31,21,724,475),10602=>array(31,184,703,613),10603=>array(31,34,703,462),10604=>array(51,184,724,613),10605=>array(51,34,724,462),10606=>array(105,-23,649,747),10607=>array(105,-23,649,747),10608=>array(51,270,703,571),10609=>array(51,119,721,757),10610=>array(51,119,721,610),10611=>array(33,36,703,527),10612=>array(51,36,721,527),10613=>array(51,-138,721,527),10614=>array(33,-76,703,791),10615=>array(33,42,878,604),10616=>array(51,-76,721,791),10617=>array(51,-76,721,748),10618=>array(33,10,813,637),10619=>array(33,-76,703,748),10620=>array(147,11,618,636),10621=>array(136,11,606,636),10622=>array(96,62,659,584),10623=>array(96,54,659,576),10731=>array(2,-233,442,807),10764=>array(21,-182,1555,759),10765=>array(22,-182,527,760),10766=>array(22,-182,527,760),10799=>array(116,23,638,604),10858=>array(95,222,659,567),10859=>array(95,60,659,567),11008=>array(64,-28,621,591),11009=>array(133,-28,690,591),11010=>array(64,52,621,671),11011=>array(133,52,690,671),11012=>array(33,119,721,527),11013=>array(33,119,703,527),11014=>array(193,0,561,744),11015=>array(193,-20,561,724),11016=>array(64,-28,621,591),11017=>array(133,-28,690,591),11018=>array(64,52,621,671),11019=>array(133,52,690,671),11020=>array(33,119,721,527),11021=>array(193,-20,561,744),11022=>array(51,112,721,514),11023=>array(51,132,721,534),11024=>array(33,112,703,514),11025=>array(33,132,703,534),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11360=>array(32,0,613,729),11361=>array(3,0,347,760),11363=>array(32,0,655,729),11364=>array(42,-208,753,729),11367=>array(42,-157,810,729),11368=>array(27,-138,634,760),11369=>array(42,-157,810,729),11370=>array(31,-138,639,760),11371=>array(33,-157,625,729),11372=>array(31,-138,481,519),11373=>array(38,-14,728,742),11374=>array(38,-208,954,729),11375=>array(-7,0,708,729),11376=>array(38,-14,728,742),11377=>array(-17,0,638,533),11378=>array(-8,0,1099,730),11379=>array(-8,0,886,533),11381=>array(42,0,661,729),11382=>array(31,0,510,519),11383=>array(42,-14,772,533),11385=>array(26,-14,483,760),11386=>array(37,-14,564,533),11387=>array(27,0,529,519),11388=>array(40,-124,247,426),11389=>array(-4,326,448,734),11390=>array(59,-208,596,742),11391=>array(33,-208,657,729),11520=>array(39,-53,657,514),11521=>array(38,-218,534,514),11522=>array(43,-218,685,514),11523=>array(61,-2,545,759),11524=>array(43,-217,670,514),11525=>array(40,-217,826,514),11526=>array(40,0,642,759),11527=>array(40,0,825,514),11528=>array(47,0,519,514),11529=>array(38,-217,544,729),11530=>array(34,0,821,514),11531=>array(61,-4,530,759),11532=>array(38,0,544,759),11533=>array(40,-2,827,514),11534=>array(40,0,722,514),11535=>array(40,-218,739,759),11536=>array(40,0,826,759),11537=>array(38,0,543,759),11538=>array(39,-217,530,515),11539=>array(40,-221,823,675),11540=>array(57,-217,787,555),11541=>array(39,-218,738,759),11542=>array(38,0,542,514),11543=>array(38,-217,544,514),11544=>array(38,-217,543,514),11545=>array(52,-217,547,759),11546=>array(71,-217,581,514),11547=>array(58,0,773,759),11548=>array(69,-217,844,514),11549=>array(39,-217,575,515),11550=>array(64,-217,571,514),11551=>array(40,-218,728,518),11552=>array(41,0,961,514),11553=>array(39,-217,532,759),11554=>array(51,-3,520,579),11555=>array(38,-217,543,759),11556=>array(38,-217,636,514),11557=>array(65,-4,757,759),11800=>array(40,-14,469,742),11807=>array(95,60,659,406),11810=>array(112,403,362,760),11811=>array(63,403,313,760),11812=>array(112,-132,362,225),11813=>array(63,-132,313,225),11822=>array(58,-14,487,742),42564=>array(59,-14,596,742),42565=>array(39,-14,470,533),42566=>array(42,0,380,729),42567=>array(32,0,331,519),42576=>array(5,0,1159,729),42577=>array(13,0,949,519),42580=>array(53,-14,1116,742),42581=>array(40,-14,875,533),42582=>array(42,0,1169,729),42583=>array(47,-14,914,533),42760=>array(86,0,364,693),42761=>array(86,0,364,693),42762=>array(86,0,364,693),42763=>array(86,0,364,693),42764=>array(86,0,364,693),42765=>array(86,0,364,693),42766=>array(86,0,364,693),42767=>array(86,0,364,693),42768=>array(86,0,364,693),42769=>array(86,0,364,693),42770=>array(86,0,364,693),42771=>array(86,0,364,693),42772=>array(86,0,364,693),42773=>array(86,0,364,693),42774=>array(86,0,364,693),42779=>array(57,326,289,743),42780=>array(57,315,289,731),42781=>array(72,318,177,734),42782=>array(72,326,177,742),42783=>array(72,0,177,416),42790=>array(42,-208,810,729),42791=>array(27,-222,567,760),42792=>array(10,-203,873,729),42793=>array(21,-203,787,680),42794=>array(31,-14,591,742),42795=>array(41,-12,521,742),42796=>array(37,-14,549,729),42797=>array(37,-222,517,519),42798=>array(37,-104,646,729),42799=>array(37,-240,614,519),42800=>array(26,0,523,519),42801=>array(39,-14,470,533),42802=>array(-7,0,1181,729),42803=>array(37,-14,867,533),42804=>array(-7,-14,1096,742),42805=>array(37,-14,868,533),42806=>array(-28,-14,1032,729),42807=>array(37,-14,876,533),42808=>array(-7,0,927,729),42809=>array(37,-14,754,533),42810=>array(-7,0,927,729),42811=>array(37,-14,754,533),42812=>array(-7,-208,908,729),42813=>array(37,-222,784,533),42814=>array(38,-14,671,742),42815=>array(37,-14,508,533),42816=>array(32,0,810,729),42817=>array(27,0,639,760),42822=>array(42,0,804,729),42823=>array(31,0,501,760),42826=>array(-4,-14,914,742),42827=>array(-4,-14,697,533),42830=>array(38,-14,1265,742),42831=>array(37,-14,918,533),42856=>array(42,-208,703,729),42857=>array(21,-208,614,519),42875=>array(48,-208,613,742),42876=>array(26,-208,483,533),42880=>array(20,0,591,729),42881=>array(22,-240,312,519),42882=>array(48,-208,759,743),42883=>array(31,-208,645,533),42884=>array(48,-208,613,742),42885=>array(26,-208,483,533),42886=>array(16,-14,680,729),42887=>array(15,-14,517,519),42891=>array(115,225,280,729),42892=>array(85,458,190,729),42893=>array(27,0,775,729),42896=>array(40,-157,805,729),42897=>array(31,-138,640,533),42922=>array(-108,0,810,729),43002=>array(31,0,932,519),43003=>array(12,0,597,729),43004=>array(22,0,635,729),43005=>array(42,0,958,729),43006=>array(42,0,380,928),43007=>array(-7,0,1168,729),62464=>array(45,-21,589,871),62465=>array(50,-21,594,870),62466=>array(45,-21,644,869),62467=>array(50,-21,849,870),62468=>array(45,-21,580,870),62469=>array(45,-21,589,871),62470=>array(20,-21,648,870),62471=>array(50,-20,883,870),62472=>array(50,-21,594,870),62473=>array(50,-21,594,870),62474=>array(50,-27,1127,870),62475=>array(50,-21,595,870),62476=>array(65,-21,610,882),62477=>array(50,-152,853,870),62478=>array(50,-21,594,870),62479=>array(50,-21,594,871),62480=>array(50,-21,895,854),62481=>array(0,-21,667,870),62482=>array(50,-21,714,870),62483=>array(25,-21,654,870),62484=>array(50,-21,846,870),62485=>array(50,-21,594,846),62486=>array(50,-21,839,870),62487=>array(50,-21,593,869),62488=>array(20,-21,600,870),62489=>array(65,-21,610,870),62490=>array(50,-21,652,864),62491=>array(50,-21,594,870),62492=>array(65,-21,646,870),62493=>array(50,-21,595,904),62494=>array(0,-21,652,870),62495=>array(46,-31,797,869),62496=>array(50,-21,594,876),62497=>array(65,-21,693,873),62498=>array(50,-63,594,870),62499=>array(50,-21,594,889),62500=>array(50,-21,594,870),62501=>array(50,-21,646,870),62502=>array(50,-20,861,870),62504=>array(57,-217,753,759),63173=>array(37,-14,564,756),63185=>array(51,616,399,816),63188=>array(67,624,382,840),64256=>array(27,0,787,760),64257=>array(27,0,634,760),64258=>array(27,0,632,760),64259=>array(28,0,985,760),64260=>array(27,0,983,760),64261=>array(28,-14,755,760),64262=>array(39,-14,870,748),65533=>array(22,-108,980,956),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>313,33=>395,34=>469,35=>754,36=>626,37=>855,38=>813,39=>275,40=>426,41=>426,42=>470,43=>754,44=>313,45=>374,46=>313,47=>329,48=>626,49=>626,50=>626,51=>626,52=>626,53=>626,54=>626,55=>626,56=>626,57=>626,58=>332,59=>332,60=>754,61=>754,62=>754,63=>527,64=>900,65=>698,66=>760,67=>716,68=>780,69=>686,70=>639,71=>769,72=>850,73=>421,74=>426,75=>782,76=>633,77=>996,78=>822,79=>784,80=>677,81=>784,82=>748,83=>650,84=>669,85=>785,86=>698,87=>1011,88=>698,89=>642,90=>657,91=>426,92=>329,93=>426,94=>754,95=>450,96=>450,97=>583,98=>629,99=>548,100=>629,101=>572,102=>387,103=>629,104=>654,105=>342,106=>325,107=>624,108=>342,109=>952,110=>654,111=>600,112=>629,113=>629,114=>474,115=>506,116=>416,117=>654,118=>523,119=>774,120=>536,121=>523,122=>511,123=>579,124=>327,125=>579,126=>754,160=>313,161=>395,162=>626,163=>626,164=>572,165=>626,166=>327,167=>470,168=>450,169=>900,170=>438,171=>563,172=>754,173=>374,174=>900,175=>450,176=>450,177=>754,178=>394,179=>394,180=>450,181=>659,182=>572,183=>313,184=>450,185=>394,186=>450,187=>563,188=>938,189=>938,190=>938,191=>527,192=>698,193=>698,194=>698,195=>698,196=>698,197=>698,198=>931,199=>716,200=>686,201=>686,202=>686,203=>686,204=>421,205=>421,206=>421,207=>421,208=>787,209=>822,210=>784,211=>784,212=>784,213=>784,214=>784,215=>754,216=>784,217=>785,218=>785,219=>785,220=>785,221=>642,222=>681,223=>684,224=>583,225=>583,226=>583,227=>583,228=>583,229=>583,230=>877,231=>548,232=>572,233=>572,234=>572,235=>572,236=>342,237=>342,238=>342,239=>342,240=>600,241=>654,242=>600,243=>600,244=>600,245=>600,246=>600,247=>754,248=>600,249=>654,250=>654,251=>654,252=>654,253=>523,254=>629,255=>523,256=>698,257=>583,258=>698,259=>583,260=>698,261=>583,262=>716,263=>548,264=>716,265=>548,266=>716,267=>548,268=>716,269=>548,270=>780,271=>629,272=>787,273=>629,274=>686,275=>572,276=>686,277=>572,278=>686,279=>572,280=>686,281=>572,282=>686,283=>572,284=>769,285=>629,286=>769,287=>629,288=>769,289=>629,290=>769,291=>629,292=>850,293=>654,294=>850,295=>654,296=>421,297=>342,298=>421,299=>342,300=>421,301=>342,302=>421,303=>342,304=>421,305=>342,306=>848,307=>676,308=>426,309=>325,310=>782,311=>624,312=>624,313=>633,314=>342,315=>633,316=>342,317=>633,318=>342,319=>633,320=>342,321=>639,322=>346,323=>822,324=>654,325=>822,326=>654,327=>822,328=>654,329=>907,330=>785,331=>654,332=>784,333=>600,334=>784,335=>600,336=>784,337=>600,338=>1062,339=>925,340=>748,341=>474,342=>748,343=>474,344=>748,345=>474,346=>650,347=>506,348=>650,349=>506,350=>650,351=>506,352=>650,353=>506,354=>669,355=>416,356=>669,357=>416,358=>669,359=>416,360=>785,361=>654,362=>785,363=>654,364=>785,365=>654,366=>785,367=>654,368=>785,369=>654,370=>785,371=>654,372=>1011,373=>774,374=>642,375=>523,376=>642,377=>657,378=>511,379=>657,380=>511,381=>657,382=>511,383=>387,384=>629,385=>760,386=>769,387=>629,388=>769,389=>629,390=>716,391=>716,392=>548,393=>787,394=>780,395=>769,396=>629,397=>600,398=>686,399=>784,400=>649,401=>639,402=>387,403=>769,404=>693,405=>938,406=>421,407=>421,408=>782,409=>624,410=>342,411=>631,412=>952,413=>822,414=>654,415=>784,416=>784,417=>600,418=>1080,419=>849,420=>677,421=>629,422=>748,423=>650,424=>506,425=>636,426=>298,427=>416,428=>669,429=>416,430=>669,431=>785,432=>654,433=>801,434=>801,435=>642,436=>637,437=>657,438=>511,439=>591,440=>591,441=>591,442=>591,443=>626,444=>678,445=>511,446=>482,447=>644,448=>265,449=>443,450=>413,451=>265,452=>1437,453=>1292,454=>1140,455=>1059,456=>958,457=>667,458=>1248,459=>1148,460=>980,461=>698,462=>583,463=>421,464=>342,465=>784,466=>600,467=>785,468=>654,469=>785,470=>654,471=>785,472=>654,473=>785,474=>654,475=>785,476=>654,477=>572,478=>698,479=>583,480=>698,481=>583,482=>931,483=>877,484=>806,485=>629,486=>769,487=>629,488=>782,489=>624,490=>784,491=>600,492=>784,493=>600,494=>591,495=>511,496=>342,497=>1437,498=>1292,499=>1140,500=>769,501=>629,502=>1099,503=>708,504=>822,505=>654,506=>698,507=>583,508=>931,509=>877,510=>784,511=>600,512=>698,513=>583,514=>698,515=>583,516=>686,517=>572,518=>686,519=>572,520=>421,521=>342,522=>421,523=>342,524=>784,525=>600,526=>784,527=>600,528=>748,529=>474,530=>748,531=>474,532=>785,533=>654,534=>785,535=>654,536=>650,537=>506,538=>669,539=>416,540=>621,541=>546,542=>850,543=>654,544=>785,545=>711,546=>632,547=>554,548=>657,549=>511,550=>698,551=>583,552=>686,553=>572,554=>784,555=>600,556=>784,557=>600,558=>784,559=>600,560=>784,561=>600,562=>642,563=>523,564=>516,565=>830,566=>508,567=>325,568=>928,569=>928,570=>698,571=>716,572=>548,573=>633,574=>669,575=>506,576=>511,577=>594,578=>492,579=>760,580=>785,581=>698,582=>686,583=>572,584=>426,585=>348,586=>763,587=>629,588=>748,589=>474,590=>642,591=>523,592=>583,593=>629,594=>629,595=>629,596=>548,597=>548,598=>629,599=>657,600=>572,601=>572,602=>816,603=>547,604=>505,605=>816,606=>647,607=>348,608=>629,609=>629,610=>563,611=>541,612=>564,613=>654,614=>654,615=>654,616=>342,617=>342,618=>342,619=>368,620=>462,621=>342,622=>716,623=>952,624=>952,625=>952,626=>654,627=>654,628=>641,629=>600,630=>955,631=>674,632=>600,633=>514,634=>514,635=>514,636=>474,637=>474,638=>406,639=>438,640=>721,641=>721,642=>506,643=>298,644=>387,645=>486,646=>298,647=>443,648=>416,649=>654,650=>611,651=>624,652=>577,653=>816,654=>571,655=>654,656=>511,657=>511,658=>511,659=>511,660=>482,661=>482,662=>482,663=>490,664=>784,665=>625,666=>647,667=>563,668=>659,669=>345,670=>666,671=>581,672=>629,673=>482,674=>482,675=>1005,676=>1061,677=>1005,678=>844,679=>643,680=>851,681=>935,682=>782,683=>716,684=>596,685=>398,686=>552,687=>646,688=>469,689=>466,690=>282,691=>372,692=>372,693=>432,694=>474,695=>595,696=>436,697=>271,698=>469,699=>313,700=>313,701=>313,702=>330,703=>330,704=>282,705=>282,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>254,713=>450,714=>450,715=>450,716=>254,717=>450,720=>332,721=>332,722=>330,723=>330,726=>353,727=>353,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>375,736=>340,737=>263,738=>355,739=>427,740=>282,741=>450,742=>450,743=>450,744=>450,745=>450,748=>450,750=>498,751=>450,752=>450,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>701,881=>519,882=>722,883=>699,884=>271,885=>271,886=>866,887=>664,890=>450,891=>548,892=>548,893=>548,894=>332,900=>450,901=>450,902=>698,903=>313,904=>852,905=>1006,906=>595,908=>798,910=>857,911=>820,912=>435,913=>698,914=>760,915=>639,916=>698,917=>686,918=>657,919=>850,920=>784,921=>421,922=>782,923=>698,924=>996,925=>822,926=>633,927=>784,928=>850,929=>677,931=>636,932=>669,933=>642,934=>784,935=>698,936=>822,937=>801,938=>421,939=>642,940=>692,941=>547,942=>654,943=>435,944=>624,945=>692,946=>598,947=>594,948=>600,949=>547,950=>533,951=>654,952=>600,953=>435,954=>674,955=>631,956=>659,957=>624,958=>533,959=>600,960=>659,961=>598,962=>548,963=>664,964=>605,965=>624,966=>814,967=>592,968=>847,969=>857,970=>435,971=>624,972=>600,973=>624,974=>857,975=>782,976=>600,977=>764,978=>687,979=>872,980=>687,981=>847,982=>857,983=>589,984=>784,985=>600,986=>716,987=>548,988=>639,989=>475,990=>531,991=>593,992=>716,993=>600,1008=>589,1009=>598,1010=>548,1011=>325,1012=>784,1013=>548,1014=>548,1015=>681,1016=>629,1017=>716,1018=>996,1019=>774,1020=>623,1021=>716,1022=>716,1023=>716,1024=>686,1025=>686,1026=>811,1027=>621,1028=>716,1029=>650,1030=>421,1031=>421,1032=>426,1033=>1081,1034=>1135,1035=>866,1036=>818,1037=>850,1038=>730,1039=>850,1040=>733,1041=>769,1042=>760,1043=>621,1044=>800,1045=>686,1046=>1181,1047=>649,1048=>850,1049=>850,1050=>818,1051=>795,1052=>996,1053=>850,1054=>784,1055=>850,1056=>677,1057=>716,1058=>669,1059=>730,1060=>854,1061=>698,1062=>870,1063=>822,1064=>1141,1065=>1164,1066=>861,1067=>1081,1068=>743,1069=>716,1070=>1158,1071=>793,1072=>583,1073=>600,1074=>625,1075=>551,1076=>600,1077=>572,1078=>909,1079=>574,1080=>667,1081=>667,1082=>650,1083=>634,1084=>782,1085=>659,1086=>600,1087=>659,1088=>629,1089=>548,1090=>558,1091=>576,1092=>812,1093=>536,1094=>665,1095=>659,1096=>967,1097=>974,1098=>690,1099=>902,1100=>611,1101=>548,1102=>923,1103=>665,1104=>572,1105=>572,1106=>646,1107=>551,1108=>548,1109=>506,1110=>342,1111=>342,1112=>325,1113=>889,1114=>913,1115=>654,1116=>650,1117=>667,1118=>576,1119=>659,1122=>792,1123=>633,1124=>1076,1125=>867,1130=>1181,1131=>909,1132=>1467,1133=>1167,1136=>986,1137=>995,1138=>784,1139=>587,1140=>824,1141=>673,1142=>824,1143=>673,1164=>761,1165=>606,1168=>630,1169=>556,1170=>621,1171=>551,1172=>781,1173=>645,1174=>1181,1175=>909,1176=>649,1177=>574,1178=>852,1179=>669,1182=>818,1183=>650,1184=>937,1185=>744,1186=>870,1187=>665,1188=>1050,1189=>860,1190=>1210,1191=>953,1194=>716,1195=>548,1196=>669,1197=>558,1198=>642,1199=>523,1200=>642,1201=>523,1202=>779,1203=>584,1204=>919,1205=>726,1206=>835,1207=>665,1210=>819,1211=>654,1216=>421,1217=>1181,1218=>909,1219=>782,1220=>624,1223=>850,1224=>659,1227=>822,1228=>659,1231=>342,1232=>733,1233=>583,1234=>733,1235=>583,1236=>931,1237=>877,1238=>686,1239=>572,1240=>784,1241=>572,1242=>784,1243=>572,1244=>1181,1245=>909,1246=>649,1247=>574,1248=>591,1249=>511,1250=>850,1251=>667,1252=>850,1253=>667,1254=>784,1255=>600,1256=>784,1257=>600,1258=>784,1259=>600,1260=>716,1261=>548,1262=>730,1263=>576,1264=>730,1265=>576,1266=>730,1267=>576,1268=>822,1269=>659,1270=>621,1271=>551,1272=>1081,1273=>902,1296=>649,1297=>574,1298=>795,1299=>634,1300=>1123,1301=>851,1306=>738,1307=>576,1308=>925,1309=>770,1329=>848,1330=>748,1331=>804,1332=>817,1333=>739,1334=>738,1335=>672,1336=>748,1337=>1013,1338=>804,1339=>722,1340=>650,1341=>1069,1342=>798,1343=>757,1344=>663,1345=>777,1346=>826,1347=>766,1348=>879,1349=>750,1350=>822,1351=>759,1352=>784,1353=>736,1354=>931,1355=>761,1356=>867,1357=>784,1358=>822,1359=>727,1360=>727,1361=>752,1362=>639,1363=>859,1364=>802,1365=>784,1366=>867,1369=>276,1370=>237,1371=>264,1372=>352,1373=>290,1374=>396,1375=>450,1377=>949,1378=>625,1379=>699,1380=>721,1381=>655,1382=>668,1383=>539,1384=>660,1385=>818,1386=>690,1387=>651,1388=>358,1389=>978,1390=>625,1391=>647,1392=>663,1393=>615,1394=>664,1395=>633,1396=>651,1397=>323,1398=>647,1399=>446,1400=>664,1401=>385,1402=>953,1403=>602,1404=>669,1405=>651,1406=>651,1407=>936,1408=>651,1409=>642,1410=>444,1411=>936,1412=>660,1413=>624,1414=>860,1415=>750,1417=>306,1418=>349,4256=>680,4257=>842,4258=>779,4259=>787,4260=>703,4261=>970,4262=>913,4263=>1091,4264=>579,4265=>736,4266=>946,4267=>945,4268=>716,4269=>1021,4270=>872,4271=>812,4272=>998,4273=>712,4274=>680,4275=>968,4276=>878,4277=>959,4278=>729,4279=>750,4280=>739,4281=>750,4282=>817,4283=>969,4284=>692,4285=>739,4286=>731,4287=>1000,4288=>1010,4289=>721,4290=>803,4291=>722,4292=>792,4293=>957,4304=>535,4305=>563,4306=>579,4307=>798,4308=>553,4309=>549,4310=>600,4311=>823,4312=>552,4313=>540,4314=>1008,4315=>576,4316=>576,4317=>791,4318=>561,4319=>571,4320=>790,4321=>599,4322=>702,4323=>676,4324=>782,4325=>575,4326=>820,4327=>559,4328=>583,4329=>576,4330=>656,4331=>577,4332=>567,4333=>566,4334=>603,4335=>678,4336=>563,4337=>591,4338=>563,4339=>563,4340=>562,4341=>603,4342=>846,4343=>612,4344=>572,4345=>605,4346=>562,4347=>529,4348=>318,7424=>577,7425=>802,7426=>846,7427=>625,7428=>548,7429=>607,7430=>607,7431=>555,7432=>458,7433=>288,7434=>505,7435=>650,7436=>555,7437=>782,7438=>664,7439=>600,7440=>548,7441=>565,7442=>565,7443=>600,7444=>890,7445=>538,7446=>600,7447=>600,7448=>527,7449=>721,7450=>721,7451=>558,7452=>583,7453=>597,7454=>831,7455=>589,7456=>523,7457=>774,7458=>511,7459=>511,7460=>529,7461=>721,7462=>527,7463=>577,7464=>659,7465=>527,7466=>769,7467=>634,7468=>439,7469=>586,7470=>479,7471=>479,7472=>491,7473=>432,7474=>432,7475=>483,7476=>536,7477=>265,7478=>268,7479=>492,7480=>398,7481=>627,7482=>518,7483=>545,7484=>493,7485=>398,7486=>426,7487=>471,7488=>409,7489=>422,7490=>494,7491=>419,7492=>419,7493=>448,7494=>591,7495=>448,7496=>448,7497=>400,7498=>400,7499=>370,7500=>370,7501=>448,7502=>270,7503=>471,7504=>655,7505=>426,7506=>420,7507=>384,7508=>420,7509=>420,7510=>448,7511=>333,7512=>468,7513=>376,7514=>655,7515=>442,7516=>454,7517=>376,7518=>374,7519=>378,7520=>513,7521=>373,7522=>215,7523=>372,7524=>468,7525=>442,7526=>376,7527=>374,7528=>377,7529=>513,7530=>373,7531=>937,7543=>576,7544=>536,7547=>342,7548=>342,7549=>629,7550=>583,7551=>611,7557=>342,7579=>448,7580=>384,7581=>384,7582=>420,7583=>370,7584=>345,7585=>335,7586=>448,7587=>470,7588=>270,7589=>276,7590=>270,7591=>270,7592=>333,7593=>331,7594=>289,7595=>387,7596=>613,7597=>655,7598=>529,7599=>528,7600=>425,7601=>420,7602=>470,7603=>360,7604=>348,7605=>333,7606=>468,7607=>427,7608=>367,7609=>439,7610=>442,7611=>371,7612=>474,7613=>371,7614=>407,7615=>420,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>698,7681=>583,7682=>760,7683=>629,7684=>760,7685=>629,7686=>760,7687=>629,7688=>716,7689=>548,7690=>780,7691=>629,7692=>780,7693=>629,7694=>780,7695=>629,7696=>780,7697=>629,7698=>780,7699=>629,7700=>686,7701=>572,7702=>686,7703=>572,7704=>686,7705=>572,7706=>686,7707=>572,7708=>686,7709=>572,7710=>639,7711=>387,7712=>769,7713=>629,7714=>850,7715=>654,7716=>850,7717=>654,7718=>850,7719=>654,7720=>850,7721=>654,7722=>850,7723=>654,7724=>421,7725=>342,7726=>421,7727=>342,7728=>782,7729=>624,7730=>782,7731=>624,7732=>782,7733=>624,7734=>633,7735=>342,7736=>633,7737=>342,7738=>633,7739=>342,7740=>633,7741=>342,7742=>996,7743=>952,7744=>996,7745=>952,7746=>996,7747=>952,7748=>822,7749=>654,7750=>822,7751=>654,7752=>822,7753=>654,7754=>822,7755=>654,7756=>784,7757=>600,7758=>784,7759=>600,7760=>784,7761=>600,7762=>784,7763=>600,7764=>677,7765=>629,7766=>677,7767=>629,7768=>748,7769=>474,7770=>748,7771=>474,7772=>748,7773=>474,7774=>748,7775=>474,7776=>650,7777=>506,7778=>650,7779=>506,7780=>650,7781=>506,7782=>650,7783=>506,7784=>650,7785=>506,7786=>669,7787=>416,7788=>669,7789=>416,7790=>669,7791=>416,7792=>669,7793=>416,7794=>785,7795=>654,7796=>785,7797=>654,7798=>785,7799=>654,7800=>785,7801=>654,7802=>785,7803=>654,7804=>698,7805=>523,7806=>698,7807=>523,7808=>1011,7809=>774,7810=>1011,7811=>774,7812=>1011,7813=>774,7814=>1011,7815=>774,7816=>1011,7817=>774,7818=>698,7819=>536,7820=>698,7821=>536,7822=>642,7823=>523,7824=>657,7825=>511,7826=>657,7827=>511,7828=>657,7829=>511,7830=>654,7831=>416,7832=>774,7833=>523,7834=>913,7835=>387,7836=>387,7837=>387,7838=>852,7839=>600,7840=>698,7841=>583,7842=>698,7843=>583,7844=>698,7845=>583,7846=>698,7847=>583,7848=>698,7849=>583,7850=>698,7851=>583,7852=>698,7853=>583,7854=>698,7855=>583,7856=>698,7857=>583,7858=>698,7859=>583,7860=>698,7861=>583,7862=>698,7863=>583,7864=>686,7865=>572,7866=>686,7867=>572,7868=>686,7869=>572,7870=>686,7871=>572,7872=>686,7873=>572,7874=>686,7875=>572,7876=>686,7877=>572,7878=>686,7879=>572,7880=>421,7881=>342,7882=>421,7883=>342,7884=>784,7885=>600,7886=>784,7887=>600,7888=>784,7889=>600,7890=>784,7891=>600,7892=>784,7893=>600,7894=>784,7895=>600,7896=>784,7897=>600,7898=>784,7899=>600,7900=>784,7901=>600,7902=>784,7903=>600,7904=>784,7905=>600,7906=>784,7907=>600,7908=>785,7909=>654,7910=>785,7911=>654,7912=>785,7913=>654,7914=>785,7915=>654,7916=>785,7917=>654,7918=>785,7919=>654,7920=>785,7921=>654,7922=>642,7923=>523,7924=>642,7925=>523,7926=>642,7927=>523,7928=>642,7929=>523,7930=>970,7931=>630,7936=>692,7937=>692,7938=>692,7939=>692,7940=>692,7941=>692,7942=>692,7943=>692,7944=>698,7945=>698,7946=>880,7947=>880,7948=>748,7949=>764,7950=>698,7951=>698,7952=>547,7953=>547,7954=>547,7955=>547,7956=>547,7957=>547,7960=>826,7961=>817,7962=>1052,7963=>1052,7964=>984,7965=>1007,7968=>654,7969=>654,7970=>654,7971=>654,7972=>654,7973=>654,7974=>654,7975=>654,7976=>990,7977=>984,7978=>1222,7979=>1225,7980=>1151,7981=>1177,7982=>1077,7983=>1074,7984=>435,7985=>435,7986=>435,7987=>435,7988=>435,7989=>435,7990=>435,7991=>435,7992=>566,7993=>555,7994=>790,7995=>792,7996=>719,7997=>748,7998=>650,7999=>642,8000=>600,8001=>600,8002=>600,8003=>600,8004=>600,8005=>600,8008=>810,8009=>841,8010=>1116,8011=>1113,8012=>931,8013=>959,8016=>624,8017=>624,8018=>624,8019=>624,8020=>624,8021=>624,8022=>624,8023=>624,8025=>830,8027=>1067,8029=>1020,8031=>917,8032=>857,8033=>857,8034=>857,8035=>857,8036=>857,8037=>857,8038=>857,8039=>857,8040=>838,8041=>867,8042=>1141,8043=>1146,8044=>949,8045=>979,8046=>920,8047=>954,8048=>692,8049=>692,8050=>547,8051=>547,8052=>654,8053=>654,8054=>435,8055=>435,8056=>600,8057=>600,8058=>624,8059=>624,8060=>857,8061=>857,8064=>692,8065=>692,8066=>692,8067=>692,8068=>692,8069=>692,8070=>692,8071=>692,8072=>698,8073=>698,8074=>880,8075=>880,8076=>748,8077=>764,8078=>698,8079=>698,8080=>654,8081=>654,8082=>654,8083=>654,8084=>654,8085=>654,8086=>654,8087=>654,8088=>990,8089=>984,8090=>1222,8091=>1225,8092=>1151,8093=>1177,8094=>1077,8095=>1074,8096=>857,8097=>857,8098=>857,8099=>857,8100=>857,8101=>857,8102=>857,8103=>857,8104=>838,8105=>867,8106=>1141,8107=>1146,8108=>949,8109=>979,8110=>920,8111=>954,8112=>692,8113=>692,8114=>692,8115=>692,8116=>692,8118=>692,8119=>692,8120=>698,8121=>698,8122=>729,8123=>698,8124=>698,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>654,8131=>654,8132=>654,8134=>654,8135=>654,8136=>899,8137=>852,8138=>1072,8139=>1006,8140=>850,8141=>450,8142=>450,8143=>450,8144=>435,8145=>435,8146=>435,8147=>435,8150=>435,8151=>435,8152=>421,8153=>421,8154=>642,8155=>595,8157=>450,8158=>450,8159=>450,8160=>624,8161=>624,8162=>624,8163=>624,8164=>598,8165=>598,8166=>624,8167=>624,8168=>642,8169=>642,8170=>917,8171=>857,8172=>819,8173=>450,8174=>450,8175=>450,8178=>857,8179=>857,8180=>857,8182=>857,8183=>857,8184=>962,8185=>798,8186=>991,8187=>820,8188=>801,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>626,8200=>313,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>374,8209=>374,8210=>626,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>313,8217=>313,8218=>313,8219=>313,8220=>518,8221=>518,8222=>518,8223=>518,8224=>470,8225=>470,8226=>575,8227=>575,8228=>313,8229=>606,8230=>900,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1246,8241=>1638,8242=>237,8243=>402,8244=>567,8245=>237,8246=>402,8247=>567,8248=>659,8249=>360,8250=>360,8252=>566,8253=>527,8254=>450,8258=>920,8260=>150,8261=>426,8262=>426,8263=>974,8264=>770,8265=>770,8267=>572,8268=>450,8269=>450,8270=>470,8271=>332,8273=>470,8274=>500,8275=>900,8279=>731,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>394,8305=>215,8308=>394,8309=>394,8310=>394,8311=>394,8312=>394,8313=>394,8314=>475,8315=>475,8316=>475,8317=>268,8318=>268,8319=>467,8320=>394,8321=>394,8322=>394,8323=>394,8324=>394,8325=>394,8326=>394,8327=>394,8328=>394,8329=>394,8330=>475,8331=>475,8332=>475,8333=>268,8334=>268,8336=>419,8337=>400,8338=>420,8339=>427,8340=>400,8341=>469,8342=>471,8343=>263,8344=>655,8345=>467,8346=>448,8347=>355,8348=>333,8358=>626,8364=>626,8367=>1039,8369=>710,8372=>788,8373=>626,8376=>669,8377=>626,8451=>1078,8457=>1001,8462=>654,8463=>654,8470=>978,8482=>900,8486=>801,8487=>801,8490=>782,8491=>698,8498=>639,8513=>697,8514=>501,8515=>573,8516=>684,8523=>813,8526=>533,8528=>932,8529=>932,8530=>1326,8531=>932,8532=>932,8533=>932,8534=>932,8535=>932,8536=>932,8537=>932,8538=>932,8539=>932,8540=>932,8541=>932,8542=>932,8543=>554,8544=>421,8545=>663,8546=>904,8547=>984,8548=>698,8549=>1014,8550=>1256,8551=>1498,8552=>962,8553=>698,8554=>970,8555=>1212,8556=>633,8557=>716,8558=>780,8559=>996,8560=>342,8561=>684,8562=>1025,8563=>865,8564=>523,8565=>865,8566=>1207,8567=>1548,8568=>878,8569=>536,8570=>878,8571=>1220,8572=>342,8573=>548,8574=>629,8575=>952,8576=>1129,8577=>780,8578=>1141,8579=>716,8580=>548,8581=>716,8585=>932,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>765,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>577,8706=>480,8707=>558,8708=>558,8710=>677,8711=>677,8712=>666,8713=>666,8715=>666,8716=>666,8719=>757,8720=>757,8721=>677,8722=>754,8723=>754,8724=>754,8725=>329,8727=>622,8728=>466,8729=>466,8730=>591,8731=>591,8732=>591,8733=>604,8734=>750,8735=>754,8736=>754,8739=>292,8740=>546,8741=>476,8742=>696,8743=>730,8744=>730,8745=>754,8746=>754,8747=>521,8748=>900,8749=>1252,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8770=>754,8771=>754,8776=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>974,8789=>974,8800=>754,8801=>754,8804=>754,8805=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8844=>754,8845=>754,8846=>754,8847=>754,8848=>754,8849=>754,8850=>754,8851=>754,8852=>754,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>795,8867=>795,8868=>864,8869=>864,8870=>554,8871=>554,8872=>795,8873=>795,8874=>795,8875=>971,8876=>795,8877=>795,8878=>795,8879=>971,8901=>358,8962=>751,8968=>426,8969=>426,8970=>426,8971=>426,8976=>754,8977=>484,8984=>835,8985=>754,8992=>521,8993=>521,8997=>900,9000=>1299,9085=>907,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>521,9167=>850,9251=>751,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>712,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>785,9697=>785,9698=>692,9699=>692,9700=>692,9701=>692,9702=>531,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9784=>807,9785=>807,9786=>807,9787=>807,9788=>807,9791=>552,9792=>658,9793=>658,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,10145=>754,10181=>411,10182=>411,10208=>444,10216=>411,10217=>411,10224=>754,10225=>754,10226=>754,10227=>754,10228=>930,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>703,10241=>703,10242=>703,10243=>703,10244=>703,10245=>703,10246=>703,10247=>703,10248=>703,10249=>703,10250=>703,10251=>703,10252=>703,10253=>703,10254=>703,10255=>703,10256=>703,10257=>703,10258=>703,10259=>703,10260=>703,10261=>703,10262=>703,10263=>703,10264=>703,10265=>703,10266=>703,10267=>703,10268=>703,10269=>703,10270=>703,10271=>703,10272=>703,10273=>703,10274=>703,10275=>703,10276=>703,10277=>703,10278=>703,10279=>703,10280=>703,10281=>703,10282=>703,10283=>703,10284=>703,10285=>703,10286=>703,10287=>703,10288=>703,10289=>703,10290=>703,10291=>703,10292=>703,10293=>703,10294=>703,10295=>703,10296=>703,10297=>703,10298=>703,10299=>703,10300=>703,10301=>703,10302=>703,10303=>703,10304=>703,10305=>703,10306=>703,10307=>703,10308=>703,10309=>703,10310=>703,10311=>703,10312=>703,10313=>703,10314=>703,10315=>703,10316=>703,10317=>703,10318=>703,10319=>703,10320=>703,10321=>703,10322=>703,10323=>703,10324=>703,10325=>703,10326=>703,10327=>703,10328=>703,10329=>703,10330=>703,10331=>703,10332=>703,10333=>703,10334=>703,10335=>703,10336=>703,10337=>703,10338=>703,10339=>703,10340=>703,10341=>703,10342=>703,10343=>703,10344=>703,10345=>703,10346=>703,10347=>703,10348=>703,10349=>703,10350=>703,10351=>703,10352=>703,10353=>703,10354=>703,10355=>703,10356=>703,10357=>703,10358=>703,10359=>703,10360=>703,10361=>703,10362=>703,10363=>703,10364=>703,10365=>703,10366=>703,10367=>703,10368=>703,10369=>703,10370=>703,10371=>703,10372=>703,10373=>703,10374=>703,10375=>703,10376=>703,10377=>703,10378=>703,10379=>703,10380=>703,10381=>703,10382=>703,10383=>703,10384=>703,10385=>703,10386=>703,10387=>703,10388=>703,10389=>703,10390=>703,10391=>703,10392=>703,10393=>703,10394=>703,10395=>703,10396=>703,10397=>703,10398=>703,10399=>703,10400=>703,10401=>703,10402=>703,10403=>703,10404=>703,10405=>703,10406=>703,10407=>703,10408=>703,10409=>703,10410=>703,10411=>703,10412=>703,10413=>703,10414=>703,10415=>703,10416=>703,10417=>703,10418=>703,10419=>703,10420=>703,10421=>703,10422=>703,10423=>703,10424=>703,10425=>703,10426=>703,10427=>703,10428=>703,10429=>703,10430=>703,10431=>703,10432=>703,10433=>703,10434=>703,10435=>703,10436=>703,10437=>703,10438=>703,10439=>703,10440=>703,10441=>703,10442=>703,10443=>703,10444=>703,10445=>703,10446=>703,10447=>703,10448=>703,10449=>703,10450=>703,10451=>703,10452=>703,10453=>703,10454=>703,10455=>703,10456=>703,10457=>703,10458=>703,10459=>703,10460=>703,10461=>703,10462=>703,10463=>703,10464=>703,10465=>703,10466=>703,10467=>703,10468=>703,10469=>703,10470=>703,10471=>703,10472=>703,10473=>703,10474=>703,10475=>703,10476=>703,10477=>703,10478=>703,10479=>703,10480=>703,10481=>703,10482=>703,10483=>703,10484=>703,10485=>703,10486=>703,10487=>703,10488=>703,10489=>703,10490=>703,10491=>703,10492=>703,10493=>703,10494=>703,10495=>703,10496=>754,10497=>754,10498=>754,10499=>754,10500=>754,10501=>754,10502=>754,10503=>754,10504=>754,10505=>754,10506=>754,10507=>754,10508=>754,10509=>754,10510=>754,10511=>754,10512=>754,10513=>754,10514=>754,10515=>754,10516=>754,10517=>754,10518=>754,10519=>754,10520=>754,10521=>754,10522=>754,10523=>754,10524=>754,10525=>754,10526=>754,10527=>754,10528=>754,10529=>754,10530=>754,10531=>754,10532=>754,10533=>754,10534=>754,10535=>754,10536=>754,10537=>754,10538=>754,10539=>754,10540=>754,10541=>754,10542=>754,10543=>754,10544=>754,10545=>754,10546=>754,10547=>754,10548=>754,10549=>754,10550=>754,10551=>754,10552=>754,10553=>754,10554=>754,10555=>754,10556=>754,10557=>754,10558=>754,10559=>754,10560=>754,10561=>754,10562=>754,10563=>754,10564=>754,10565=>754,10566=>754,10567=>754,10568=>754,10569=>754,10570=>754,10571=>754,10572=>754,10573=>754,10574=>754,10575=>754,10576=>754,10577=>754,10578=>754,10579=>754,10580=>754,10581=>754,10582=>754,10583=>754,10584=>754,10585=>754,10586=>754,10587=>754,10588=>754,10589=>754,10590=>754,10591=>754,10592=>754,10593=>754,10594=>754,10595=>754,10596=>754,10597=>754,10598=>754,10599=>754,10600=>754,10601=>754,10602=>754,10603=>754,10604=>754,10605=>754,10606=>754,10607=>754,10608=>754,10609=>754,10610=>754,10611=>754,10612=>754,10613=>754,10614=>754,10615=>929,10616=>754,10617=>754,10618=>864,10619=>754,10620=>754,10621=>754,10622=>754,10623=>754,10731=>444,10764=>1604,10765=>549,10766=>549,10799=>754,10858=>754,10859=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>754,11023=>754,11024=>754,11025=>754,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11360=>633,11361=>342,11363=>677,11364=>748,11367=>850,11368=>654,11369=>782,11370=>624,11371=>657,11372=>511,11373=>763,11374=>996,11375=>698,11376=>763,11377=>638,11378=>1099,11379=>886,11381=>701,11382=>541,11383=>814,11385=>514,11386=>600,11387=>555,11388=>282,11389=>439,11390=>650,11391=>657,11520=>695,11521=>571,11522=>723,11523=>592,11524=>708,11525=>866,11526=>680,11527=>864,11528=>555,11529=>581,11530=>866,11531=>567,11532=>581,11533=>866,11534=>761,11535=>779,11536=>865,11537=>580,11538=>580,11539=>863,11540=>851,11541=>777,11542=>580,11543=>581,11544=>580,11545=>584,11546=>619,11547=>842,11548=>883,11549=>613,11550=>608,11551=>766,11552=>1002,11553=>569,11554=>580,11555=>582,11556=>674,11557=>822,11800=>527,11807=>754,11810=>426,11811=>426,11812=>426,11813=>426,11822=>527,42564=>650,42565=>506,42566=>421,42567=>342,42576=>1200,42577=>982,42580=>1158,42581=>923,42582=>1158,42583=>935,42760=>450,42761=>450,42762=>450,42763=>450,42764=>450,42765=>450,42766=>450,42767=>450,42768=>450,42769=>450,42770=>450,42771=>450,42772=>450,42773=>450,42774=>450,42779=>346,42780=>346,42781=>249,42782=>249,42783=>249,42790=>850,42791=>641,42792=>903,42793=>817,42794=>626,42795=>548,42796=>570,42797=>538,42798=>667,42799=>635,42800=>533,42801=>506,42802=>1170,42803=>887,42804=>1134,42805=>903,42806=>1051,42807=>907,42808=>914,42809=>731,42810=>914,42811=>731,42812=>895,42813=>762,42814=>716,42815=>548,42816=>818,42817=>650,42822=>824,42823=>523,42826=>909,42827=>692,42830=>1303,42831=>954,42856=>708,42857=>644,42875=>625,42876=>474,42880=>633,42881=>342,42882=>785,42883=>654,42884=>625,42885=>474,42886=>716,42887=>548,42891=>395,42892=>275,42893=>822,42896=>822,42897=>654,42922=>850,43002=>962,43003=>639,43004=>677,43005=>996,43006=>421,43007=>1157,62464=>634,62465=>645,62466=>688,62467=>898,62468=>645,62469=>639,62470=>698,62471=>934,62472=>645,62473=>645,62474=>1178,62475=>660,62476=>659,62477=>903,62478=>645,62479=>659,62480=>945,62481=>717,62482=>765,62483=>719,62484=>896,62485=>659,62486=>888,62487=>658,62488=>665,62489=>659,62490=>702,62491=>659,62492=>665,62493=>646,62494=>702,62495=>842,62496=>644,62497=>743,62498=>645,62499=>645,62500=>645,62501=>695,62502=>911,62504=>813,63173=>600,63185=>450,63188=>450,64256=>738,64257=>654,64258=>654,64259=>1007,64260=>1005,64261=>784,64262=>874,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1002,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.z new file mode 100644 index 0000000..dd6abfc Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.ctg.z new file mode 100644 index 0000000..c1b7143 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.php new file mode 100644 index 0000000..0ef81c9 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-815 -389 1579 1145]','ItalicAngle'=>-11,'Ascent'=>939,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>60,'StemH'=>26,'AvgWidth'=>509,'MaxWidth'=>1631,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(65,-14,345,729),34=>array(85,458,383,729),35=>array(61,0,693,718),36=>array(37,-146,568,761),37=>array(53,-14,802,742),38=>array(6,-14,803,742),39=>array(85,458,190,729),40=>array(84,-156,459,760),41=>array(-35,-156,340,760),42=>array(20,278,451,742),43=>array(95,1,659,627),44=>array(-4,-165,254,156),45=>array(37,202,336,334),46=>array(73,-14,241,172),47=>array(-72,-93,401,729),48=>array(42,-14,584,742),49=>array(58,0,482,742),50=>array(-5,0,571,742),51=>array(3,-14,576,742),52=>array(5,0,569,742),53=>array(16,-14,573,729),54=>array(52,-14,605,742),55=>array(93,0,616,729),56=>array(17,-14,589,742),57=>array(21,-14,574,742),58=>array(55,-14,277,490),59=>array(-22,-161,290,490),60=>array(95,32,659,595),61=>array(95,147,659,480),62=>array(95,32,659,595),63=>array(92,-14,517,742),64=>array(58,-174,848,703),65=>array(-71,0,655,729),66=>array(-22,0,704,729),67=>array(38,-14,708,742),68=>array(-22,0,743,729),69=>array(-22,0,696,729),70=>array(-22,0,691,729),71=>array(38,-14,730,742),72=>array(-22,0,874,729),73=>array(-22,0,444,729),74=>array(-142,-208,474,729),75=>array(-22,0,812,729),76=>array(-22,0,582,729),77=>array(-26,0,1018,729),78=>array(-24,0,851,729),79=>array(38,-14,746,742),80=>array(-22,0,681,729),81=>array(44,-196,771,742),82=>array(-22,0,700,729),83=>array(12,-14,613,742),84=>array(42,0,725,729),85=>array(85,-14,831,729),86=>array(48,0,775,729),87=>array(45,0,1085,729),88=>array(-48,0,727,729),89=>array(45,0,715,729),90=>array(-31,0,684,729),91=>array(34,-132,440,760),92=>array(72,-93,257,729),93=>array(-15,-132,392,760),94=>array(91,457,664,729),95=>array(0,-236,450,-143),96=>array(115,616,319,800),97=>array(31,-14,519,533),98=>array(22,-14,581,760),99=>array(30,-14,533,533),100=>array(9,-14,610,760),101=>array(30,-14,534,533),102=>array(-53,-190,516,760),103=>array(20,-222,600,533),104=>array(30,0,578,760),105=>array(30,0,303,760),106=>array(-149,-222,318,760),107=>array(30,0,583,760),108=>array(30,0,319,760),109=>array(50,0,896,533),110=>array(50,0,598,533),111=>array(30,-14,571,533),112=>array(22,-208,618,533),113=>array(47,-208,599,533),114=>array(50,0,529,533),115=>array(-0,-14,488,533),116=>array(43,-14,407,680),117=>array(57,-14,604,519),118=>array(19,0,530,521),119=>array(27,0,801,519),120=>array(-17,0,545,519),121=>array(-18,-222,574,519),122=>array(-14,-41,526,560),123=>array(70,-163,579,760),124=>array(116,-236,211,764),125=>array(1,-163,509,760),126=>array(95,221,659,406),161=>array(50,0,330,742),162=>array(70,-146,568,662),163=>array(-0,0,610,742),164=>array(33,30,541,596),165=>array(25,0,663,729),166=>array(116,-171,211,699),167=>array(-1,-95,464,742),168=>array(147,645,474,788),169=>array(124,0,776,725),170=>array(6,246,395,745),171=>array(62,64,518,522),172=>array(95,140,659,441),173=>array(37,202,336,334),174=>array(124,0,776,725),175=>array(140,664,433,756),176=>array(78,424,371,749),177=>array(95,0,659,627),178=>array(2,334,357,742),179=>array(6,326,361,742),180=>array(204,616,473,800),181=>array(28,-208,625,519),182=>array(101,-96,590,729),183=>array(73,255,241,440),184=>array(101,-196,313,0),185=>array(35,334,305,742),186=>array(6,246,433,742),187=>array(44,64,500,522),188=>array(35,-14,842,742),189=>array(35,-14,845,742),190=>array(6,-14,842,742),191=>array(10,-14,435,742),192=>array(-71,0,655,927),193=>array(-71,0,655,927),194=>array(-71,0,655,927),195=>array(-71,0,655,929),196=>array(-71,0,655,939),197=>array(-88,0,638,928),198=>array(-92,0,940,729),199=>array(38,-196,708,742),200=>array(-22,0,696,927),201=>array(-22,0,696,927),202=>array(-22,0,696,927),203=>array(-22,0,696,939),204=>array(-22,0,444,927),205=>array(-22,0,445,927),206=>array(-22,0,448,927),207=>array(-22,0,452,939),208=>array(-16,0,749,729),209=>array(-24,0,851,929),210=>array(38,-14,746,927),211=>array(38,-14,746,927),212=>array(38,-14,746,927),213=>array(38,-14,746,929),214=>array(38,-14,746,939),215=>array(116,23,638,604),216=>array(-33,-38,816,766),217=>array(85,-14,831,927),218=>array(85,-14,831,927),219=>array(85,-14,831,927),220=>array(85,-14,831,939),221=>array(45,0,715,927),222=>array(-22,0,656,729),223=>array(-69,-190,614,760),224=>array(31,-14,519,800),225=>array(31,-14,519,800),226=>array(31,-14,519,800),227=>array(31,-14,519,792),228=>array(31,-14,519,788),229=>array(31,-14,519,888),230=>array(24,-14,800,533),231=>array(30,-196,533,533),232=>array(30,-14,534,800),233=>array(30,-14,534,800),234=>array(30,-14,534,800),235=>array(30,-14,535,788),236=>array(51,0,298,800),237=>array(51,0,419,800),238=>array(41,0,373,800),239=>array(51,0,419,788),240=>array(15,-14,570,764),241=>array(50,0,598,792),242=>array(30,-14,571,800),243=>array(30,-14,571,800),244=>array(30,-14,571,800),245=>array(30,-14,571,792),246=>array(30,-14,571,788),247=>array(95,60,659,567),248=>array(-24,-50,625,567),249=>array(57,-14,604,800),250=>array(57,-14,604,800),251=>array(57,-14,604,800),252=>array(57,-14,604,788),253=>array(-18,-222,574,800),254=>array(2,-208,598,760),255=>array(-18,-222,574,788),256=>array(-71,0,655,914),257=>array(31,-14,519,763),258=>array(-71,0,655,936),259=>array(31,-14,519,776),260=>array(-71,-196,655,729),261=>array(31,-196,519,533),262=>array(38,-14,708,927),263=>array(30,-14,540,800),264=>array(38,-14,708,927),265=>array(30,-14,533,800),266=>array(38,-14,708,939),267=>array(30,-14,533,788),268=>array(38,-14,708,927),269=>array(30,-14,535,800),270=>array(-22,0,743,927),271=>array(9,-14,835,760),272=>array(-16,0,749,729),273=>array(9,-14,667,760),274=>array(-22,0,696,914),275=>array(30,-14,534,763),276=>array(-22,0,696,927),277=>array(30,-14,534,776),278=>array(-22,0,696,939),279=>array(30,-14,534,788),280=>array(-22,-196,696,729),281=>array(30,-196,534,533),282=>array(-22,0,696,930),283=>array(30,-14,535,800),284=>array(38,-14,730,927),285=>array(20,-222,600,800),286=>array(38,-14,730,927),287=>array(20,-222,600,776),288=>array(38,-14,730,939),289=>array(20,-222,600,788),290=>array(38,-240,730,742),291=>array(20,-222,600,753),292=>array(-22,0,874,927),293=>array(30,0,578,927),294=>array(-22,0,874,729),295=>array(30,0,578,760),296=>array(-22,0,468,929),297=>array(51,0,408,792),298=>array(-22,0,447,914),299=>array(51,0,351,763),300=>array(-22,0,464,927),301=>array(51,0,400,776),302=>array(-5,-196,461,729),303=>array(47,-196,320,760),304=>array(-22,0,444,939),305=>array(51,0,298,519),306=>array(-22,-208,896,729),307=>array(30,-222,668,760),308=>array(-142,-208,474,927),309=>array(-128,-222,342,800),310=>array(-22,-226,812,729),311=>array(30,-226,583,760),312=>array(52,0,604,518),313=>array(-22,0,582,928),314=>array(30,0,431,928),315=>array(-22,-226,582,729),316=>array(30,-226,319,760),317=>array(-22,0,617,729),318=>array(30,0,531,760),319=>array(-22,0,639,729),320=>array(30,0,479,760),321=>array(-16,0,587,729),322=>array(-7,0,370,760),323=>array(-24,0,851,928),324=>array(50,0,598,776),325=>array(-24,-226,851,729),326=>array(50,-226,598,533),327=>array(-24,0,851,927),328=>array(50,0,598,800),329=>array(67,0,812,742),330=>array(31,-208,772,743),331=>array(70,-222,604,533),332=>array(38,-14,746,914),333=>array(30,-14,571,763),334=>array(38,-14,746,927),335=>array(30,-14,571,776),336=>array(38,-14,746,927),337=>array(30,-14,587,800),338=>array(38,0,1072,729),339=>array(31,-14,885,533),340=>array(-22,0,700,928),341=>array(50,0,536,776),342=>array(-22,-226,700,729),343=>array(50,-226,529,533),344=>array(-22,0,700,927),345=>array(50,0,535,800),346=>array(12,-14,624,928),347=>array(-0,-14,536,776),348=>array(12,-14,613,927),349=>array(-0,-14,488,800),350=>array(12,-196,613,742),351=>array(-0,-196,488,533),352=>array(12,-14,613,927),353=>array(-0,-14,497,800),354=>array(42,-196,725,729),355=>array(43,-196,407,680),356=>array(42,0,725,927),357=>array(43,-14,524,780),358=>array(42,0,725,729),359=>array(9,-14,407,680),360=>array(85,-14,831,929),361=>array(57,-14,604,792),362=>array(85,-14,831,914),363=>array(57,-14,604,763),364=>array(85,-14,831,927),365=>array(57,-14,604,776),366=>array(85,-14,831,1057),367=>array(57,-14,604,854),368=>array(85,-14,831,927),369=>array(57,-14,604,800),370=>array(85,-204,831,729),371=>array(57,-196,604,519),372=>array(45,0,1085,931),373=>array(27,0,801,800),374=>array(45,0,715,931),375=>array(-18,-222,574,800),376=>array(45,0,715,939),377=>array(-31,0,684,928),378=>array(-14,-41,536,776),379=>array(-31,0,684,952),380=>array(-14,-41,526,759),381=>array(-31,0,684,927),382=>array(-14,-41,526,800),383=>array(-53,-190,516,760),384=>array(22,-14,581,760),385=>array(-86,0,704,729),386=>array(-22,0,743,729),387=>array(-45,-14,574,760),388=>array(-22,0,693,729),389=>array(-45,-14,574,760),390=>array(0,-14,671,742),391=>array(29,-14,887,840),392=>array(21,-14,715,709),393=>array(-16,0,749,729),394=>array(-86,0,743,729),395=>array(15,0,783,729),396=>array(0,-14,661,760),397=>array(35,-246,585,533),398=>array(-22,0,704,729),399=>array(38,-14,746,742),400=>array(72,-14,697,742),401=>array(-154,-208,709,729),402=>array(-166,-190,516,760),403=>array(29,-14,910,840),404=>array(75,-92,746,729),405=>array(31,-1,881,760),406=>array(91,0,444,729),407=>array(-22,0,444,729),408=>array(-22,0,875,729),409=>array(31,0,583,760),410=>array(5,0,319,760),411=>array(-33,0,540,739),412=>array(68,-14,997,729),413=>array(-156,-208,869,729),414=>array(68,-208,597,533),415=>array(38,-14,746,742),416=>array(37,-14,844,760),417=>array(31,-14,680,548),418=>array(51,-171,992,742),419=>array(54,-208,790,533),420=>array(-86,0,681,729),421=>array(7,-208,595,709),422=>array(-11,-142,688,729),423=>array(32,-14,622,742),424=>array(21,-14,489,533),425=>array(-27,0,640,729),426=>array(-47,-223,414,760),427=>array(57,-222,465,680),428=>array(38,0,725,729),429=>array(37,-14,473,760),430=>array(60,-208,743,729),431=>array(88,-14,1015,816),432=>array(59,-14,734,548),433=>array(35,-14,822,729),434=>array(120,0,757,729),435=>array(45,0,796,730),436=>array(-19,-222,701,533),437=>array(-31,0,684,729),438=>array(-14,-41,526,560),439=>array(-27,-14,546,729),440=>array(3,-14,583,729),441=>array(5,-203,586,519),442=>array(-2,-220,545,519),443=>array(-5,0,581,742),444=>array(57,-14,692,729),445=>array(-25,-203,579,519),446=>array(-34,-15,341,680),447=>array(20,-208,649,560),448=>array(21,0,244,729),449=>array(21,0,421,729),450=>array(-15,0,428,729),451=>array(21,0,244,729),452=>array(-22,0,1464,927),453=>array(-22,-41,1307,800),454=>array(9,-41,1156,800),455=>array(-22,-208,1106,729),456=>array(-22,-222,951,760),457=>array(30,-222,660,760),458=>array(-24,-208,1296,729),459=>array(-24,-222,1141,760),460=>array(50,-222,973,760),461=>array(-71,0,655,927),462=>array(31,-14,519,800),463=>array(-22,0,473,927),464=>array(51,0,406,800),465=>array(38,-14,746,927),466=>array(30,-14,571,800),467=>array(85,-14,831,927),468=>array(57,-14,604,800),469=>array(85,-14,831,1036),470=>array(57,-14,604,899),471=>array(85,-14,831,1057),472=>array(57,-14,604,920),473=>array(85,-14,831,1058),474=>array(57,-14,604,921),475=>array(85,-14,831,1057),476=>array(57,-14,604,920),477=>array(41,-14,532,533),478=>array(-71,0,655,1036),479=>array(31,-14,519,899),480=>array(-71,0,655,1036),481=>array(31,-14,519,899),482=>array(-92,0,940,914),483=>array(24,-14,800,763),484=>array(38,-14,758,742),485=>array(20,-222,632,533),486=>array(19,-17,711,927),487=>array(-3,-222,576,800),488=>array(-37,0,796,927),489=>array(15,0,568,927),490=>array(38,-204,746,742),491=>array(30,-204,571,533),492=>array(38,-204,746,914),493=>array(30,-204,571,763),494=>array(-27,-14,546,927),495=>array(-25,-203,544,800),496=>array(-128,-222,425,800),497=>array(-22,0,1464,729),498=>array(-22,-41,1307,729),499=>array(9,-41,1156,760),500=>array(21,-14,714,928),501=>array(-3,-222,576,776),502=>array(-21,-14,1097,729),503=>array(-41,-208,751,742),504=>array(-40,0,835,927),505=>array(-40,0,574,800),506=>array(-88,0,638,928),507=>array(31,-14,537,928),508=>array(-92,0,940,928),509=>array(24,-14,800,800),510=>array(-33,-38,816,928),511=>array(-24,-50,625,800),512=>array(-71,0,655,928),513=>array(30,-14,519,800),514=>array(-71,0,655,958),515=>array(30,-14,519,776),516=>array(-22,0,696,928),517=>array(30,-14,534,800),518=>array(-22,0,696,958),519=>array(30,-14,534,776),520=>array(-22,0,444,928),521=>array(14,0,330,801),522=>array(-22,0,451,958),523=>array(30,0,351,767),524=>array(38,-14,746,928),525=>array(30,-14,570,800),526=>array(38,-14,746,958),527=>array(30,-14,570,776),528=>array(-22,0,700,928),529=>array(50,0,528,800),530=>array(-22,0,700,958),531=>array(50,0,528,776),532=>array(85,-14,831,928),533=>array(56,-14,604,800),534=>array(85,-14,831,958),535=>array(56,-14,604,776),536=>array(12,-230,613,742),537=>array(-0,-230,488,533),538=>array(42,-230,725,729),539=>array(43,-230,407,680),540=>array(-23,-210,589,742),541=>array(-21,-211,514,531),542=>array(-22,0,874,927),543=>array(30,0,577,927),544=>array(31,-208,772,743),545=>array(20,-48,650,760),546=>array(4,-14,555,742),547=>array(12,-14,506,760),548=>array(-8,-263,707,729),549=>array(9,-263,549,519),550=>array(-71,0,655,939),551=>array(30,-14,519,788),552=>array(-22,-196,696,729),553=>array(30,-196,534,533),554=>array(38,-14,746,1036),555=>array(30,-14,571,899),556=>array(38,-14,746,1036),557=>array(30,-14,571,894),558=>array(38,-14,746,939),559=>array(30,-14,571,788),560=>array(38,-14,746,1036),561=>array(30,-14,571,899),562=>array(45,0,715,914),563=>array(-18,-222,574,763),564=>array(74,-113,458,760),565=>array(60,-113,792,533),566=>array(52,-113,458,680),567=>array(-128,-222,317,519),568=>array(17,-14,873,760),569=>array(53,-208,908,533),570=>array(-75,-38,774,766),571=>array(-66,-38,783,766),572=>array(-51,-50,599,567),573=>array(-22,0,581,729),574=>array(-89,-38,760,766),575=>array(17,-217,506,533),576=>array(5,-222,546,519),577=>array(-1,0,599,729),578=>array(66,0,479,533),579=>array(-22,0,704,729),580=>array(24,-14,831,729),581=>array(-71,0,655,729),582=>array(-22,-57,696,785),583=>array(30,-56,534,581),584=>array(-142,-208,474,729),585=>array(-128,-222,345,760),586=>array(55,-208,808,742),587=>array(47,-222,660,533),588=>array(-22,0,700,729),589=>array(20,0,529,533),590=>array(18,0,715,729),591=>array(-18,-222,593,519),592=>array(64,-14,552,533),593=>array(37,-14,672,532),594=>array(21,-14,656,531),595=>array(22,-14,574,760),596=>array(11,-14,508,533),597=>array(42,-113,540,527),598=>array(35,-222,641,760),599=>array(17,-14,770,760),600=>array(30,-14,532,533),601=>array(41,-14,532,533),602=>array(36,-14,829,533),603=>array(22,-12,529,526),604=>array(-5,-12,492,526),605=>array(-5,-12,829,526),606=>array(37,-18,630,533),607=>array(-128,-222,345,519),608=>array(0,-222,788,760),609=>array(21,-222,673,519),610=>array(56,-4,536,520),611=>array(44,-219,540,519),612=>array(64,-37,585,520),613=>array(74,-208,621,519),614=>array(31,0,578,760),615=>array(50,-222,578,760),616=>array(5,0,304,760),617=>array(67,0,298,519),618=>array(-15,0,365,519),619=>array(21,0,363,760),620=>array(33,0,439,760),621=>array(40,-222,353,760),622=>array(48,-203,728,760),623=>array(57,-14,902,519),624=>array(74,-208,919,519),625=>array(70,-222,896,533),626=>array(-129,-222,617,533),627=>array(70,-222,686,533),628=>array(11,0,636,519),629=>array(37,-14,564,533),630=>array(56,0,942,521),631=>array(26,-14,626,530),632=>array(-5,-213,602,760),633=>array(-20,-14,459,519),634=>array(-41,-14,480,760),635=>array(-1,-222,534,519),636=>array(32,-207,547,533),637=>array(59,-222,548,533),638=>array(50,0,459,533),639=>array(55,0,368,533),640=>array(11,0,635,519),641=>array(11,0,716,519),642=>array(4,-222,506,533),643=>array(-150,-223,429,760),644=>array(-149,-222,519,760),645=>array(80,-222,410,527),646=>array(-125,-223,429,760),647=>array(35,-161,398,533),648=>array(38,-222,425,680),649=>array(27,-14,626,519),650=>array(34,-14,623,519),651=>array(66,-1,588,519),652=>array(19,0,530,520),653=>array(27,0,801,519),654=>array(1,0,593,741),655=>array(91,0,649,520),656=>array(5,-222,603,519),657=>array(-6,-89,534,519),658=>array(-25,-203,544,519),659=>array(57,-203,544,519),660=>array(47,0,461,761),661=>array(72,0,490,761),662=>array(51,0,469,761),663=>array(60,-223,509,761),664=>array(38,-14,746,742),665=>array(-15,0,580,519),666=>array(14,-18,607,533),667=>array(35,-4,724,760),668=>array(-15,0,674,519),669=>array(-107,-223,338,760),670=>array(90,-208,643,519),671=>array(11,0,517,519),672=>array(34,-208,786,760),673=>array(47,0,461,761),674=>array(72,0,490,761),675=>array(17,-41,1017,760),676=>array(34,-203,1017,760),677=>array(23,-89,1007,760),678=>array(42,0,811,680),679=>array(55,-223,775,760),680=>array(44,-20,823,680),681=>array(-50,-222,916,760),682=>array(31,0,743,760),683=>array(31,-41,726,760),684=>array(30,0,615,625),685=>array(-5,120,406,625),686=>array(-14,-208,600,760),687=>array(-13,-222,657,760),688=>array(47,326,402,751),689=>array(45,329,400,754),690=>array(-7,202,282,752),691=>array(58,334,363,632),692=>array(14,321,318,620),693=>array(24,202,374,617),694=>array(14,326,464,617),695=>array(17,334,505,620),696=>array(-11,212,361,620),697=>array(49,557,217,800),698=>array(49,557,415,800),699=>array(37,456,275,742),700=>array(37,456,275,742),701=>array(87,456,248,742),702=>array(138,481,288,760),703=>array(143,481,293,760),704=>array(4,327,264,752),705=>array(20,327,280,752),706=>array(110,517,361,843),707=>array(88,517,340,843),708=>array(57,561,351,800),709=>array(99,561,393,800),710=>array(95,616,426,800),711=>array(136,616,468,800),712=>array(64,513,190,759),713=>array(140,664,433,756),714=>array(204,616,473,800),715=>array(115,616,319,800),716=>array(64,-90,190,156),717=>array(-9,-189,284,-97),720=>array(60,0,272,434),721=>array(109,303,246,434),722=>array(100,269,250,547),723=>array(106,269,256,547),726=>array(41,165,278,411),727=>array(41,242,278,334),728=>array(153,624,454,776),729=>array(229,645,358,788),730=>array(170,610,421,888),731=>array(137,-196,327,0),732=>array(120,638,461,792),733=>array(131,616,511,800),734=>array(-17,299,364,500),736=>array(28,204,340,617),737=>array(45,326,221,751),738=>array(18,327,328,633),739=>array(-11,334,343,620),740=>array(20,327,280,752),741=>array(131,0,424,693),742=>array(105,0,424,693),743=>array(79,0,424,693),744=>array(52,0,424,693),745=>array(26,0,424,693),748=>array(71,-281,365,-42),750=>array(48,456,471,742),751=>array(49,-241,381,-58),752=>array(29,-281,323,-42),755=>array(100,-240,351,38),759=>array(54,-193,396,-40),768=>array(-365,616,-161,800),769=>array(-276,616,-7,800),770=>array(-386,616,-54,800),771=>array(-360,638,-19,792),772=>array(-340,664,-47,756),773=>array(-450,663,0,755),774=>array(-328,624,-26,776),775=>array(-251,645,-122,788),776=>array(-333,645,-7,788),777=>array(-397,616,-195,866),778=>array(-311,610,-60,888),779=>array(-350,616,31,800),780=>array(-344,616,-13,800),781=>array(-376,616,-258,813),782=>array(-458,616,-176,813),783=>array(-379,616,-63,800),784=>array(-389,624,-88,903),785=>array(-330,624,-28,776),786=>array(-268,456,-84,617),787=>array(-254,606,-113,847),788=>array(-250,606,-111,847),789=>array(-93,616,93,800),790=>array(-373,-253,-168,-69),791=>array(-315,-251,-46,-67),792=>array(-303,-357,-121,-111),793=>array(-330,-357,-147,-111),794=>array(-174,684,63,930),795=>array(-114,338,79,548),796=>array(-288,-389,-138,-111),797=>array(-349,-280,-111,-111),798=>array(-338,-280,-100,-111),799=>array(-342,-357,-104,-111),800=>array(-344,-203,-106,-111),801=>array(-493,-222,-114,139),802=>array(-367,-222,-53,139),803=>array(-358,-213,-229,-70),804=>array(-391,-213,-64,-70),805=>array(-330,-240,-123,-11),806=>array(-318,-230,-135,-69),807=>array(-350,-196,-138,0),808=>array(-313,-196,-123,0),809=>array(-280,-266,-163,-69),810=>array(-380,-253,-70,-69),811=>array(-370,-221,-53,-69),812=>array(-375,-251,-43,-67),813=>array(-407,-253,-75,-69),814=>array(-362,-221,-62,-69),815=>array(-389,-221,-88,-69),816=>array(-398,-222,-57,-68),817=>array(-372,-161,-79,-69),818=>array(-450,-236,0,-143),819=>array(-450,-236,0,-9),820=>array(-686,210,-70,417),821=>array(-315,234,-15,293),822=>array(-630,234,-32,293),823=>array(-629,-50,20,567),824=>array(-815,-38,34,766),825=>array(-297,-378,-147,-100),826=>array(-380,-242,-71,-59),827=>array(-376,-350,-75,-69),828=>array(-397,-221,-80,-69),829=>array(-433,581,-199,820),830=>array(-280,598,-94,877),831=>array(-450,528,0,755),835=>array(-254,606,-113,847),856=>array(12,645,141,788),864=>array(-264,723,510,898),865=>array(-278,729,523,902),880=>array(-22,0,688,729),881=>array(52,0,497,519),882=>array(16,0,762,729),883=>array(31,0,703,519),884=>array(49,557,217,800),885=>array(30,-208,199,35),886=>array(60,0,811,729),887=>array(45,0,612,519),890=>array(184,-208,309,-60),891=>array(20,-14,514,533),892=>array(30,-14,533,533),893=>array(20,-14,514,533),894=>array(-22,-161,290,490),900=>array(204,616,473,800),901=>array(147,645,545,996),902=>array(-71,0,655,800),903=>array(73,255,241,440),904=>array(38,0,859,800),905=>array(38,0,1040,800),906=>array(38,0,610,800),908=>array(38,-14,760,800),910=>array(38,0,928,800),911=>array(1,0,787,800),912=>array(66,16,491,996),913=>array(-71,0,655,729),914=>array(-22,0,704,729),915=>array(-22,0,691,729),916=>array(-38,0,604,729),917=>array(-22,0,696,729),918=>array(-31,0,684,729),919=>array(-22,0,874,729),920=>array(38,-14,746,742),921=>array(-22,0,444,729),922=>array(-22,0,812,729),923=>array(-71,0,655,729),924=>array(-26,0,1018,729),925=>array(-24,0,851,729),926=>array(-14,0,642,729),927=>array(38,-14,746,742),928=>array(-22,0,874,729),929=>array(-22,0,681,729),931=>array(-27,0,640,729),932=>array(42,0,725,729),933=>array(45,0,715,729),934=>array(38,0,745,729),935=>array(-48,0,727,729),936=>array(60,0,880,729),937=>array(-21,0,766,742),938=>array(-22,0,457,939),939=>array(45,0,715,939),940=>array(37,-14,672,800),941=>array(22,-12,545,800),942=>array(68,-208,596,800),943=>array(66,16,430,800),944=>array(66,-1,631,996),945=>array(37,-14,672,532),946=>array(-29,-208,569,769),947=>array(76,-209,601,519),948=>array(17,-14,566,765),949=>array(22,-12,529,526),950=>array(34,-208,573,760),951=>array(68,-208,596,533),952=>array(37,-17,564,771),953=>array(66,16,371,519),954=>array(-15,0,644,519),955=>array(-33,0,540,739),956=>array(28,-208,625,519),957=>array(51,0,604,519),958=>array(24,-208,573,760),959=>array(30,-14,571,533),960=>array(-15,0,674,519),961=>array(-8,-208,580,533),962=>array(54,-208,550,533),963=>array(38,-14,664,519),964=>array(52,16,606,519),965=>array(66,-1,592,519),966=>array(62,-208,792,519),967=>array(-53,-222,636,533),968=>array(97,-208,872,519),969=>array(38,-1,822,519),970=>array(66,16,423,788),971=>array(66,-1,592,788),972=>array(30,-14,571,800),973=>array(66,-1,592,800),974=>array(38,-1,822,800),975=>array(-0,-240,833,729),976=>array(37,-17,545,771),977=>array(45,-17,733,771),978=>array(80,0,697,729),979=>array(38,0,881,800),980=>array(80,0,697,939),981=>array(34,-208,806,760),982=>array(38,-1,876,519),983=>array(26,-222,600,521),984=>array(54,-207,762,742),985=>array(54,-207,582,533),986=>array(55,-208,725,742),987=>array(46,-208,564,616),988=>array(-22,0,691,729),989=>array(-163,-211,508,742),990=>array(15,0,517,729),991=>array(72,0,528,759),992=>array(7,-209,675,742),993=>array(22,-208,574,533),1008=>array(8,-5,581,521),1009=>array(20,-210,580,533),1010=>array(30,-14,533,533),1011=>array(-149,-222,318,760),1012=>array(38,-14,746,742),1013=>array(30,-14,534,533),1014=>array(20,-14,508,533),1015=>array(-22,0,656,729),1016=>array(2,-208,598,760),1017=>array(38,-14,708,742),1018=>array(-26,0,1018,729),1019=>array(0,-208,797,519),1020=>array(-18,-208,604,533),1021=>array(10,-14,679,742),1022=>array(38,-14,708,742),1023=>array(10,-14,679,742),1024=>array(-22,0,696,927),1025=>array(-22,0,696,939),1026=>array(9,-214,727,729),1027=>array(-22,0,673,927),1028=>array(38,-14,708,742),1029=>array(12,-14,613,742),1030=>array(-22,0,444,729),1031=>array(-22,0,490,939),1032=>array(-142,-208,474,729),1033=>array(-39,-14,1017,729),1034=>array(-22,0,1070,729),1035=>array(-10,0,765,729),1036=>array(-22,0,830,927),1037=>array(-22,0,874,927),1038=>array(35,-14,786,997),1039=>array(-8,-157,888,729),1040=>array(-55,0,671,729),1041=>array(-22,0,743,729),1042=>array(-22,0,704,729),1043=>array(-22,0,673,729),1044=>array(-35,-157,817,729),1045=>array(-22,0,696,729),1046=>array(-55,0,1191,729),1047=>array(1,-14,611,742),1048=>array(-22,0,874,729),1049=>array(-22,0,874,999),1050=>array(-22,0,830,729),1051=>array(-39,-14,821,729),1052=>array(-26,0,1018,729),1053=>array(-22,0,874,729),1054=>array(38,-14,746,742),1055=>array(-22,0,874,729),1056=>array(-22,0,681,729),1057=>array(38,-14,708,742),1058=>array(42,0,725,729),1059=>array(35,-14,786,729),1060=>array(34,0,821,729),1061=>array(-48,0,727,729),1062=>array(-8,-157,887,729),1063=>array(81,0,839,729),1064=>array(-26,0,1167,729),1065=>array(-13,-157,1181,729),1066=>array(37,0,796,729),1067=>array(-22,0,1104,729),1068=>array(-22,0,678,729),1069=>array(10,-14,679,742),1070=>array(-22,-14,1114,742),1071=>array(-44,0,817,729),1072=>array(31,-14,519,533),1073=>array(35,-14,625,786),1074=>array(30,-14,550,533),1075=>array(50,-14,498,534),1076=>array(31,-14,597,760),1077=>array(30,-14,534,533),1078=>array(9,-14,1192,533),1079=>array(21,-14,534,533),1080=>array(57,-14,604,519),1081=>array(57,-14,604,817),1082=>array(50,-14,614,533),1083=>array(9,-14,608,519),1084=>array(9,-14,805,519),1085=>array(50,0,606,519),1086=>array(30,-14,571,533),1087=>array(50,0,598,533),1088=>array(22,-208,618,533),1089=>array(30,-14,533,533),1090=>array(50,0,896,533),1091=>array(-18,-222,574,519),1092=>array(27,-208,779,760),1093=>array(-17,0,545,519),1094=>array(57,-217,673,519),1095=>array(57,0,593,519),1096=>array(57,-14,902,519),1097=>array(57,-217,971,519),1098=>array(16,-14,622,534),1099=>array(57,-14,866,519),1100=>array(57,-14,561,519),1101=>array(31,-14,551,533),1102=>array(50,-14,872,533),1103=>array(9,-14,666,519),1104=>array(30,-14,534,800),1105=>array(30,-14,535,788),1106=>array(27,-222,578,760),1107=>array(50,-14,521,800),1108=>array(30,-14,534,533),1109=>array(-0,-14,488,533),1110=>array(30,0,303,760),1111=>array(51,0,419,788),1112=>array(-149,-222,318,760),1113=>array(9,-14,880,519),1114=>array(50,-14,877,519),1115=>array(31,0,578,760),1116=>array(50,-14,614,800),1117=>array(57,-14,604,800),1118=>array(-18,-222,574,823),1119=>array(57,-220,604,519),1122=>array(28,0,728,729),1123=>array(50,-14,912,534),1124=>array(-22,-14,1068,742),1125=>array(68,-14,853,533),1130=>array(9,0,1183,729),1131=>array(25,-14,919,519),1132=>array(-22,0,1405,729),1133=>array(68,-14,1133,519),1136=>array(55,0,1052,729),1137=>array(43,-208,1027,760),1138=>array(38,-14,746,742),1139=>array(31,-14,558,533),1140=>array(61,0,877,742),1141=>array(44,0,707,533),1142=>array(61,0,877,927),1143=>array(44,0,707,800),1164=>array(26,0,726,729),1165=>array(44,-14,570,760),1168=>array(-22,0,708,872),1169=>array(52,0,570,668),1170=>array(-22,0,673,729),1171=>array(50,-14,498,534),1172=>array(-22,-214,691,729),1173=>array(-15,-222,562,519),1174=>array(-55,-157,1191,729),1175=>array(9,-217,1192,533),1176=>array(1,-196,611,742),1177=>array(21,-196,534,533),1178=>array(-22,-157,830,729),1179=>array(50,-217,614,533),1182=>array(-22,0,830,729),1183=>array(50,-14,614,760),1184=>array(37,0,948,729),1185=>array(19,-14,688,533),1186=>array(-22,-157,874,729),1187=>array(50,-217,670,519),1188=>array(-22,0,1103,729),1189=>array(50,0,848,519),1190=>array(-22,-214,1107,729),1191=>array(-15,-222,851,519),1194=>array(38,-196,708,742),1195=>array(30,-196,533,533),1196=>array(42,-157,724,729),1197=>array(50,-217,973,533),1198=>array(45,0,715,729),1199=>array(42,-208,566,519),1200=>array(45,0,714,729),1201=>array(42,-208,566,519),1202=>array(-48,-157,727,729),1203=>array(-17,-217,572,519),1204=>array(20,-157,926,729),1205=>array(31,-217,700,519),1206=>array(81,-157,839,729),1207=>array(57,-217,658,519),1210=>array(-36,0,719,729),1211=>array(30,0,578,760),1216=>array(-22,0,444,729),1217=>array(-55,0,1191,927),1218=>array(9,-14,1192,776),1219=>array(-22,-214,812,729),1220=>array(-15,-222,644,519),1223=>array(-22,-214,874,729),1224=>array(-15,-222,674,519),1227=>array(145,-157,903,729),1228=>array(65,-162,674,519),1231=>array(-36,0,386,760),1232=>array(-55,0,671,936),1233=>array(31,-14,519,776),1234=>array(-55,0,671,939),1235=>array(31,-14,519,788),1236=>array(-92,0,940,729),1237=>array(24,-14,800,533),1238=>array(-22,0,696,927),1239=>array(30,-14,534,776),1240=>array(38,-14,746,742),1241=>array(41,-14,532,533),1242=>array(38,-14,746,939),1243=>array(41,-14,536,788),1244=>array(-55,0,1191,939),1245=>array(9,-14,1192,788),1246=>array(1,-14,611,939),1247=>array(21,-14,534,788),1248=>array(-27,-14,546,729),1249=>array(-25,-203,544,519),1250=>array(-22,0,874,914),1251=>array(57,-14,604,763),1252=>array(-22,0,874,939),1253=>array(57,-14,604,788),1254=>array(38,-14,746,939),1255=>array(30,-14,571,788),1256=>array(38,-14,746,742),1257=>array(37,-14,564,533),1258=>array(38,-14,746,939),1259=>array(37,-14,564,788),1260=>array(10,-14,679,939),1261=>array(31,-14,554,788),1262=>array(35,-14,786,914),1263=>array(-18,-222,574,763),1264=>array(35,-14,786,939),1265=>array(-18,-222,574,788),1266=>array(35,-14,786,927),1267=>array(-18,-222,574,800),1268=>array(81,0,839,939),1269=>array(57,0,593,788),1270=>array(-22,-157,673,729),1271=>array(50,-217,498,534),1272=>array(-22,0,1104,939),1273=>array(57,-14,866,788),1296=>array(72,-14,697,742),1297=>array(15,-14,567,533),1298=>array(-22,-208,838,729),1299=>array(9,-222,609,519),1300=>array(-39,-14,1153,729),1301=>array(9,-14,913,519),1306=>array(44,-196,771,742),1307=>array(47,-208,599,533),1308=>array(45,0,1085,729),1309=>array(27,0,801,519),1329=>array(85,-14,856,729),1330=>array(-34,0,722,743),1331=>array(50,0,822,743),1332=>array(18,0,835,743),1333=>array(85,-14,769,729),1334=>array(22,-72,709,743),1335=>array(-26,-72,716,729),1336=>array(-28,-72,727,743),1337=>array(-33,-10,1063,743),1338=>array(14,-14,869,729),1339=>array(-20,0,698,729),1340=>array(-13,-72,615,729),1341=>array(-19,-14,1054,729),1342=>array(74,-13,831,743),1343=>array(70,0,723,729),1344=>array(-40,-66,625,729),1345=>array(25,-32,720,743),1346=>array(24,-72,794,743),1347=>array(-33,0,734,739),1348=>array(85,-14,963,729),1349=>array(18,-14,708,742),1350=>array(27,-14,797,801),1351=>array(57,-14,725,729),1352=>array(-34,0,699,743),1353=>array(83,-84,708,743),1354=>array(18,0,845,743),1355=>array(27,-72,723,744),1356=>array(-34,0,885,743),1357=>array(85,-14,818,729),1358=>array(41,-72,795,729),1359=>array(18,-14,677,742),1360=>array(-34,0,721,743),1361=>array(15,-14,694,742),1362=>array(-33,0,725,729),1363=>array(35,0,827,729),1364=>array(-100,0,756,743),1365=>array(28,-14,754,742),1366=>array(9,-14,828,729),1369=>array(143,481,293,760),1370=>array(-4,408,254,729),1371=>array(-13,615,292,799),1372=>array(-22,618,377,893),1373=>array(27,615,268,799),1374=>array(-15,605,393,854),1375=>array(26,618,413,760),1377=>array(53,-14,899,519),1378=>array(-25,-208,611,533),1379=>array(62,-208,694,533),1380=>array(15,-208,716,533),1381=>array(50,-14,617,760),1382=>array(62,-208,686,533),1383=>array(-27,0,576,760),1384=>array(-25,-208,624,533),1385=>array(-25,-208,838,532),1386=>array(25,-14,729,760),1387=>array(-58,-208,591,760),1388=>array(-24,-208,375,519),1389=>array(-54,-208,923,760),1390=>array(23,-14,624,789),1391=>array(68,-208,593,760),1392=>array(-24,0,589,760),1393=>array(13,-14,541,783),1394=>array(15,-208,680,533),1395=>array(31,-14,625,771),1396=>array(31,-14,708,771),1397=>array(-138,-208,308,519),1398=>array(40,-14,573,771),1399=>array(-67,-208,455,538),1400=>array(-3,0,611,533),1401=>array(-38,-208,396,540),1402=>array(70,-208,916,519),1403=>array(0,-208,598,537),1404=>array(-3,0,617,533),1405=>array(53,-14,601,519),1406=>array(49,-208,639,760),1407=>array(52,-14,883,533),1408=>array(-34,-208,615,533),1409=>array(36,-222,688,533),1410=>array(-1,0,431,519),1411=>array(49,-208,880,760),1412=>array(-16,-208,637,533),1413=>array(42,-14,582,533),1414=>array(19,-208,826,760),1415=>array(50,-14,717,760),1417=>array(64,-14,240,434),1418=>array(31,203,328,365),4256=>array(8,0,674,848),4257=>array(118,0,748,847),4258=>array(53,-81,729,848),4259=>array(18,-0,787,847),4260=>array(56,-0,730,848),4261=>array(53,-0,883,848),4262=>array(104,-1,840,847),4263=>array(42,-1,1009,847),4264=>array(104,-0,571,847),4265=>array(87,-0,638,847),4266=>array(57,-0,873,847),4267=>array(10,-0,834,847),4268=>array(-33,-0,682,847),4269=>array(39,-35,952,847),4270=>array(104,-0,865,847),4271=>array(104,-0,839,846),4272=>array(56,-0,916,846),4273=>array(53,-0,680,846),4274=>array(8,-0,672,847),4275=>array(41,-58,848,846),4276=>array(55,-0,854,846),4277=>array(72,-0,891,846),4278=>array(-33,-0,661,846),4279=>array(118,-0,777,846),4280=>array(44,-0,767,847),4281=>array(-32,-0,637,846),4282=>array(-10,-1,764,848),4283=>array(13,-0,857,847),4284=>array(-33,-0,690,847),4285=>array(9,-0,717,847),4286=>array(8,-0,759,846),4287=>array(-33,-0,971,846),4288=>array(57,-0,976,846),4289=>array(-33,-0,667,846),4290=>array(36,-0,730,847),4291=>array(89,-1,749,846),4292=>array(56,-0,819,846),4293=>array(12,-0,960,847),4304=>array(18,0,475,596),4305=>array(32,0,525,853),4306=>array(-44,-225,507,566),4307=>array(24,-220,763,556),4308=>array(-51,-225,521,556),4309=>array(-51,-225,522,556),4310=>array(66,0,639,855),4311=>array(31,0,787,556),4312=>array(31,0,514,556),4313=>array(-66,-225,479,556),4314=>array(31,-220,981,562),4315=>array(31,0,619,854),4316=>array(35,0,634,877),4317=>array(35,-123,754,556),4318=>array(17,1,580,854),4319=>array(-42,-225,580,555),4320=>array(39,-0,754,846),4321=>array(75,0,532,854),4322=>array(3,-225,651,706),4323=>array(53,-225,647,556),4324=>array(47,-225,752,556),4325=>array(-35,-225,656,855),4326=>array(19,-220,793,556),4327=>array(-62,-225,566,556),4328=>array(42,0,627,854),4329=>array(-14,-5,538,855),4330=>array(14,-225,618,556),4331=>array(28,0,615,854),4332=>array(18,-229,663,854),4333=>array(-41,-225,573,854),4334=>array(75,0,569,854),4335=>array(-84,-225,667,556),4336=>array(18,0,609,854),4337=>array(24,0,633,863),4338=>array(-51,-94,526,556),4339=>array(-35,-225,581,615),4340=>array(-35,-225,570,855),4341=>array(15,0,666,854),4342=>array(27,-225,810,699),4343=>array(-30,-225,512,566),4344=>array(-24,-225,524,556),4345=>array(24,-225,572,561),4346=>array(38,-69,535,556),4347=>array(-39,0,377,511),4348=>array(62,341,457,882),7424=>array(-15,0,558,519),7425=>array(-15,0,815,519),7426=>array(39,-14,814,533),7427=>array(-15,0,620,519),7428=>array(37,-14,533,533),7429=>array(-15,0,580,519),7430=>array(-15,0,580,519),7431=>array(-20,0,568,519),7432=>array(-39,-18,448,533),7433=>array(-3,-238,270,522),7434=>array(-28,-14,518,519),7435=>array(-15,0,644,519),7436=>array(-3,0,517,519),7437=>array(-15,0,796,519),7438=>array(45,0,679,519),7439=>array(30,-14,571,533),7440=>array(15,-14,511,533),7441=>array(37,-33,529,553),7442=>array(31,-2,526,521),7443=>array(54,-50,548,567),7444=>array(40,-14,895,533),7445=>array(2,-14,487,534),7446=>array(82,260,610,533),7447=>array(82,-14,610,259),7448=>array(-15,0,534,519),7449=>array(5,0,710,519),7450=>array(85,0,710,519),7451=>array(49,0,562,519),7452=>array(57,-14,617,519),7453=>array(-1,-74,583,596),7454=>array(28,-74,817,596),7455=>array(-29,-240,614,761),7456=>array(19,0,591,519),7457=>array(27,0,838,519),7458=>array(-14,0,526,519),7459=>array(-5,-14,527,519),7460=>array(-1,-14,532,742),7461=>array(-15,-14,680,533),7462=>array(-15,0,540,519),7463=>array(-15,0,558,519),7464=>array(-15,0,674,519),7465=>array(-15,0,534,519),7466=>array(68,0,792,519),7467=>array(-26,-14,650,519),7468=>array(-44,334,413,735),7469=>array(-58,334,592,735),7470=>array(-14,334,444,735),7471=>array(-9,334,473,742),7472=>array(-14,334,468,735),7473=>array(-14,334,438,735),7474=>array(26,334,483,735),7475=>array(23,326,460,742),7476=>array(-14,334,551,735),7477=>array(-14,334,280,735),7478=>array(-90,220,299,735),7479=>array(-14,334,512,735),7480=>array(-14,334,366,735),7481=>array(-17,334,642,735),7482=>array(-16,334,536,735),7483=>array(42,326,559,734),7484=>array(23,326,470,742),7485=>array(4,326,351,750),7486=>array(-14,334,429,735),7487=>array(-14,334,441,735),7488=>array(26,334,457,735),7489=>array(53,326,523,735),7490=>array(28,334,684,735),7491=>array(19,318,327,625),7492=>array(40,318,348,625),7493=>array(23,318,423,624),7494=>array(24,318,513,625),7495=>array(39,326,391,752),7496=>array(21,326,399,752),7497=>array(33,326,352,627),7498=>array(40,326,350,627),7499=>array(23,324,330,627),7500=>array(28,324,334,627),7501=>array(27,212,438,627),7502=>array(48,203,220,621),7503=>array(38,334,386,752),7504=>array(50,334,583,627),7505=>array(62,212,399,627),7506=>array(34,326,374,627),7507=>array(22,326,334,627),7508=>array(66,477,399,627),7509=>array(66,326,399,477),7510=>array(39,220,414,627),7511=>array(52,326,281,708),7512=>array(61,326,405,620),7513=>array(3,285,364,660),7514=>array(61,326,593,620),7515=>array(60,334,387,620),7516=>array(-6,326,430,633),7517=>array(-13,217,354,765),7518=>array(44,217,375,625),7519=>array(12,326,352,763),7520=>array(37,217,497,625),7521=>array(-29,209,396,633),7522=>array(19,0,191,418),7523=>array(58,0,363,298),7524=>array(61,-8,405,286),7525=>array(60,0,387,286),7526=>array(-13,-117,354,431),7527=>array(44,-117,375,291),7528=>array(-1,-117,364,299),7529=>array(37,-117,497,291),7530=>array(-29,-125,396,299),7531=>array(57,-14,900,533),7543=>array(-11,-222,575,533),7544=>array(-14,334,551,735),7547=>array(-15,0,365,519),7548=>array(28,0,336,519),7549=>array(22,-208,657,533),7550=>array(18,-14,617,519),7551=>array(-19,-14,634,519),7557=>array(-35,-222,386,760),7579=>array(13,326,413,631),7580=>array(34,326,351,627),7581=>array(43,272,357,624),7582=>array(23,326,374,754),7583=>array(24,324,334,627),7584=>array(-34,229,325,752),7585=>array(-1,212,280,620),7586=>array(28,212,439,620),7587=>array(71,220,416,620),7588=>array(21,334,210,752),7589=>array(60,334,206,620),7590=>array(9,334,249,620),7591=>array(38,334,277,620),7592=>array(-4,211,273,752),7593=>array(43,212,241,752),7594=>array(15,212,281,752),7595=>array(9,334,328,621),7596=>array(62,212,583,627),7597=>array(71,220,604,620),7598=>array(-2,212,468,627),7599=>array(62,212,451,627),7600=>array(9,334,403,621),7601=>array(38,326,370,627),7602=>array(36,217,418,752),7603=>array(16,212,333,627),7604=>array(-14,211,351,752),7605=>array(60,212,317,708),7606=>array(42,326,419,620),7607=>array(36,332,379,628),7608=>array(33,326,386,625),7609=>array(60,333,389,620),7610=>array(12,334,334,620),7611=>array(-9,312,332,642),7612=>array(21,212,397,620),7613=>array(14,285,354,620),7614=>array(2,222,361,620),7615=>array(38,325,370,758),7620=>array(-381,616,5,800),7621=>array(-420,616,-87,800),7622=>array(-363,616,-30,800),7623=>array(-456,616,-69,800),7624=>array(-447,616,-3,800),7625=>array(-482,616,32,800),7680=>array(-71,-240,655,729),7681=>array(30,-240,519,533),7682=>array(-22,0,704,939),7683=>array(21,-14,581,939),7684=>array(-22,-213,704,729),7685=>array(21,-213,581,760),7686=>array(-22,-161,704,729),7687=>array(21,-161,581,760),7688=>array(38,-196,708,927),7689=>array(30,-196,540,800),7690=>array(-22,0,743,939),7691=>array(9,-14,609,939),7692=>array(-22,-213,743,729),7693=>array(9,-213,610,760),7694=>array(-22,-161,743,729),7695=>array(9,-161,609,760),7696=>array(-22,-196,743,729),7697=>array(9,-196,609,760),7698=>array(-22,-240,743,729),7699=>array(9,-240,610,760),7700=>array(-22,0,696,1057),7701=>array(30,-14,534,926),7702=>array(-22,0,696,1057),7703=>array(30,-14,578,926),7704=>array(-22,-240,696,729),7705=>array(30,-240,534,533),7706=>array(-22,-222,696,729),7707=>array(30,-222,534,533),7708=>array(-22,-196,696,927),7709=>array(30,-196,534,776),7710=>array(-22,0,691,939),7711=>array(-53,-190,516,939),7712=>array(38,-14,730,938),7713=>array(20,-222,600,756),7714=>array(-22,0,874,939),7715=>array(30,0,577,939),7716=>array(-22,-213,874,729),7717=>array(30,-213,578,760),7718=>array(-22,0,874,939),7719=>array(30,0,577,939),7720=>array(-22,-196,874,729),7721=>array(30,-196,577,760),7722=>array(-22,-221,874,729),7723=>array(30,-221,577,760),7724=>array(-52,-222,444,729),7725=>array(-98,-222,303,760),7726=>array(-22,0,481,1057),7727=>array(51,0,435,917),7728=>array(-22,0,812,927),7729=>array(30,0,583,927),7730=>array(-22,-213,812,729),7731=>array(30,-213,583,760),7732=>array(-22,-161,812,729),7733=>array(30,-161,583,760),7734=>array(-22,-213,582,729),7735=>array(20,-213,319,760),7736=>array(-22,-213,582,914),7737=>array(20,-213,411,914),7738=>array(-22,-161,582,729),7739=>array(-66,-161,319,760),7740=>array(-22,-240,582,729),7741=>array(-100,-240,319,760),7742=>array(-26,0,1018,927),7743=>array(50,0,895,800),7744=>array(-26,0,1018,937),7745=>array(50,0,896,788),7746=>array(-26,-213,1018,729),7747=>array(50,-213,896,533),7748=>array(-24,0,851,939),7749=>array(50,0,598,788),7750=>array(-24,-213,851,729),7751=>array(50,-213,598,533),7752=>array(-24,-161,851,729),7753=>array(50,-161,597,533),7754=>array(-24,-257,851,729),7755=>array(50,-243,598,533),7756=>array(38,-14,746,1057),7757=>array(30,-14,620,916),7758=>array(38,-14,746,1055),7759=>array(30,-14,586,912),7760=>array(38,-14,746,1057),7761=>array(30,-14,571,926),7762=>array(38,-14,746,1057),7763=>array(30,-14,593,926),7764=>array(-22,0,681,927),7765=>array(22,-208,618,800),7766=>array(-22,0,681,939),7767=>array(22,-208,618,788),7768=>array(-22,0,700,939),7769=>array(50,0,528,788),7770=>array(-22,-213,700,729),7771=>array(42,-213,529,533),7772=>array(-22,-213,700,914),7773=>array(42,-213,529,756),7774=>array(-22,-161,700,729),7775=>array(-46,-161,528,533),7776=>array(12,-14,613,939),7777=>array(-0,-14,488,788),7778=>array(12,-213,613,742),7779=>array(-0,-213,488,533),7780=>array(12,-14,628,959),7781=>array(-0,-14,533,777),7782=>array(12,-14,613,1065),7783=>array(-0,-14,505,883),7784=>array(12,-213,613,939),7785=>array(-0,-213,488,788),7786=>array(42,0,725,939),7787=>array(43,-14,407,939),7788=>array(42,-213,725,729),7789=>array(43,-213,407,680),7790=>array(42,-161,724,729),7791=>array(20,-161,407,680),7792=>array(42,-240,725,729),7793=>array(-18,-240,407,680),7794=>array(85,-213,831,729),7795=>array(56,-213,604,519),7796=>array(85,-222,831,729),7797=>array(56,-222,604,519),7798=>array(85,-240,831,729),7799=>array(56,-240,604,519),7800=>array(85,-14,831,1057),7801=>array(57,-14,632,915),7802=>array(85,-14,831,1055),7803=>array(57,-14,604,930),7804=>array(47,0,774,929),7805=>array(18,0,529,792),7806=>array(48,-213,775,729),7807=>array(19,-213,530,521),7808=>array(45,0,1085,931),7809=>array(27,0,801,800),7810=>array(45,0,1085,931),7811=>array(27,0,801,800),7812=>array(45,0,1085,945),7813=>array(27,0,801,736),7814=>array(45,0,1085,974),7815=>array(26,0,801,788),7816=>array(45,-211,1085,729),7817=>array(27,-213,801,519),7818=>array(-48,0,727,939),7819=>array(-17,0,545,788),7820=>array(-48,0,727,939),7821=>array(-17,0,545,788),7822=>array(45,0,715,942),7823=>array(-18,-222,574,788),7824=>array(-31,0,684,982),7825=>array(-14,-41,526,800),7826=>array(-31,-213,684,729),7827=>array(-14,-213,526,560),7828=>array(-31,-161,684,729),7829=>array(-14,-161,526,560),7830=>array(30,-161,577,760),7831=>array(43,-14,430,939),7832=>array(26,0,801,888),7833=>array(-18,-222,574,888),7834=>array(30,-14,870,760),7835=>array(-53,-190,516,939),7836=>array(-53,-190,516,760),7837=>array(-53,-190,516,760),7838=>array(-35,-14,807,743),7839=>array(17,-14,566,765),7840=>array(-71,-213,655,729),7841=>array(30,-213,519,533),7842=>array(-71,0,655,1048),7843=>array(30,-14,519,866),7844=>array(-71,0,748,1054),7845=>array(31,-14,658,872),7846=>array(-71,0,688,1054),7847=>array(31,-14,599,872),7848=>array(-71,0,761,1116),7849=>array(31,-14,671,934),7850=>array(-71,0,655,1069),7851=>array(31,-14,532,887),7852=>array(-71,-213,655,982),7853=>array(30,-213,519,800),7854=>array(-71,0,655,1057),7855=>array(31,-14,539,901),7856=>array(-71,0,655,1057),7857=>array(31,-14,519,901),7858=>array(-71,0,655,1145),7859=>array(31,-14,519,989),7860=>array(-71,0,655,1069),7861=>array(31,-14,550,913),7862=>array(-71,-213,655,958),7863=>array(30,-213,519,776),7864=>array(-22,-213,696,729),7865=>array(30,-213,534,533),7866=>array(-22,0,696,1048),7867=>array(30,-14,534,866),7868=>array(-22,0,696,929),7869=>array(30,-14,534,792),7870=>array(-22,0,766,1054),7871=>array(30,-14,681,872),7872=>array(-22,0,708,1054),7873=>array(30,-14,622,872),7874=>array(-22,0,779,1116),7875=>array(30,-14,694,934),7876=>array(-22,0,696,1069),7877=>array(30,-14,554,887),7878=>array(-22,-213,696,982),7879=>array(30,-213,534,800),7880=>array(-22,0,444,1048),7881=>array(30,0,418,1106),7882=>array(-22,-213,444,729),7883=>array(28,-213,303,760),7884=>array(38,-213,746,742),7885=>array(30,-213,571,533),7886=>array(38,-14,746,1048),7887=>array(30,-14,570,866),7888=>array(38,-14,800,1054),7889=>array(30,-14,695,872),7890=>array(38,-14,746,1054),7891=>array(30,-14,636,872),7892=>array(38,-14,813,1116),7893=>array(30,-14,708,934),7894=>array(38,-14,746,1069),7895=>array(30,-14,571,887),7896=>array(38,-213,746,982),7897=>array(30,-213,570,800),7898=>array(37,-14,844,927),7899=>array(31,-14,680,800),7900=>array(37,-14,844,927),7901=>array(31,-14,680,800),7902=>array(37,-14,844,1048),7903=>array(31,-14,680,866),7904=>array(37,-14,844,929),7905=>array(31,-14,680,792),7906=>array(37,-213,844,760),7907=>array(31,-213,680,548),7908=>array(85,-213,831,729),7909=>array(57,-213,604,519),7910=>array(85,-14,831,1048),7911=>array(56,-14,604,866),7912=>array(88,-14,1015,927),7913=>array(59,-14,734,800),7914=>array(88,-14,1015,927),7915=>array(59,-14,734,800),7916=>array(88,-14,1015,1048),7917=>array(59,-14,734,866),7918=>array(88,-14,1015,929),7919=>array(59,-14,734,792),7920=>array(88,-213,1015,816),7921=>array(59,-213,734,548),7922=>array(45,0,715,931),7923=>array(-18,-222,574,776),7924=>array(45,-213,714,729),7925=>array(-18,-222,574,519),7926=>array(45,0,714,1051),7927=>array(-18,-222,574,866),7928=>array(45,0,714,929),7929=>array(-18,-222,574,792),7930=>array(-22,0,918,729),7931=>array(31,0,653,760),7936=>array(37,-14,672,837),7937=>array(37,-14,672,837),7938=>array(37,-14,672,837),7939=>array(37,-14,672,837),7940=>array(37,-14,672,837),7941=>array(37,-14,672,837),7942=>array(37,-14,672,1009),7943=>array(37,-14,672,1009),7944=>array(-71,0,655,837),7945=>array(-71,0,655,837),7946=>array(55,0,837,837),7947=>array(63,0,837,837),7948=>array(-21,0,705,837),7949=>array(-5,0,721,837),7950=>array(-71,0,655,1009),7951=>array(-71,0,655,1009),7952=>array(22,-12,529,837),7953=>array(22,-12,529,837),7954=>array(22,-12,529,837),7955=>array(22,-12,529,837),7956=>array(22,-12,567,837),7957=>array(22,-12,570,837),7960=>array(62,0,835,837),7961=>array(63,0,828,837),7962=>array(55,0,1063,837),7963=>array(63,0,1063,837),7964=>array(51,0,994,837),7965=>array(57,0,1018,837),7968=>array(68,-208,596,837),7969=>array(68,-208,596,837),7970=>array(68,-208,596,837),7971=>array(68,-208,596,837),7972=>array(68,-208,610,837),7973=>array(68,-208,606,837),7974=>array(68,-208,613,1009),7975=>array(68,-208,604,1009),7976=>array(62,0,1014,837),7977=>array(63,0,1008,837),7978=>array(55,0,1246,837),7979=>array(63,0,1249,837),7980=>array(51,0,1174,837),7981=>array(57,0,1201,837),7982=>array(95,0,1101,1009),7983=>array(92,0,1098,1009),7984=>array(66,16,371,837),7985=>array(66,16,371,837),7986=>array(40,16,417,837),7987=>array(50,16,425,837),7988=>array(62,16,448,837),7989=>array(53,16,448,837),7990=>array(66,16,459,1009),7991=>array(66,16,453,1009),7992=>array(62,0,589,837),7993=>array(63,0,578,837),7994=>array(55,0,813,837),7995=>array(63,0,815,837),7996=>array(51,0,742,837),7997=>array(57,0,771,837),7998=>array(95,0,673,1009),7999=>array(92,0,665,1009),8000=>array(30,-14,571,837),8001=>array(30,-14,571,837),8002=>array(30,-14,571,837),8003=>array(30,-14,571,837),8004=>array(30,-14,601,837),8005=>array(30,-14,591,837),8008=>array(62,-14,772,837),8009=>array(63,-14,803,837),8010=>array(55,-14,1077,837),8011=>array(63,-14,1075,837),8012=>array(51,-14,893,837),8013=>array(57,-14,921,837),8016=>array(66,-1,592,837),8017=>array(66,-1,592,837),8018=>array(66,-1,592,837),8019=>array(66,-1,592,837),8020=>array(66,-1,603,837),8021=>array(66,-1,600,837),8022=>array(66,-1,592,1009),8023=>array(66,-1,592,1009),8025=>array(63,0,902,837),8027=>array(63,0,1139,837),8029=>array(57,0,1092,837),8031=>array(92,0,989,1009),8032=>array(38,-1,822,837),8033=>array(38,-1,822,837),8034=>array(38,-1,822,837),8035=>array(38,-1,822,837),8036=>array(38,-1,822,837),8037=>array(38,-1,822,837),8038=>array(38,-1,822,1009),8039=>array(38,-1,822,1009),8040=>array(17,0,803,837),8041=>array(45,0,832,837),8042=>array(55,0,1106,837),8043=>array(63,0,1111,837),8044=>array(51,0,914,837),8045=>array(57,0,944,837),8046=>array(95,0,885,1009),8047=>array(92,0,919,1009),8048=>array(37,-14,672,800),8049=>array(37,-14,672,800),8050=>array(22,-12,529,800),8051=>array(22,-12,545,800),8052=>array(68,-208,596,800),8053=>array(68,-208,596,800),8054=>array(66,16,371,800),8055=>array(66,16,430,800),8056=>array(30,-14,571,800),8057=>array(30,-14,571,800),8058=>array(66,-1,592,800),8059=>array(66,-1,592,800),8060=>array(38,-1,822,800),8061=>array(38,-1,822,800),8064=>array(37,-208,672,837),8065=>array(37,-208,672,837),8066=>array(37,-208,672,837),8067=>array(37,-208,672,837),8068=>array(37,-208,672,837),8069=>array(37,-208,672,837),8070=>array(37,-208,672,1009),8071=>array(37,-208,672,1009),8072=>array(-71,-208,655,837),8073=>array(-71,-208,655,837),8074=>array(55,-208,837,837),8075=>array(63,-208,837,837),8076=>array(-21,-208,705,837),8077=>array(-5,-208,721,837),8078=>array(-71,-208,655,1009),8079=>array(-71,-208,655,1009),8080=>array(68,-208,596,837),8081=>array(68,-208,596,837),8082=>array(68,-208,596,837),8083=>array(68,-208,596,837),8084=>array(68,-208,610,837),8085=>array(68,-208,606,837),8086=>array(68,-208,613,1009),8087=>array(68,-208,604,1009),8088=>array(62,-208,1014,837),8089=>array(63,-208,1008,837),8090=>array(55,-208,1246,837),8091=>array(63,-208,1249,837),8092=>array(51,-208,1174,837),8093=>array(57,-208,1201,837),8094=>array(95,-208,1101,1009),8095=>array(92,-208,1098,1009),8096=>array(38,-208,822,837),8097=>array(38,-208,822,837),8098=>array(38,-208,822,837),8099=>array(38,-208,822,837),8100=>array(38,-208,822,837),8101=>array(38,-208,822,837),8102=>array(38,-208,822,1009),8103=>array(38,-208,822,1009),8104=>array(17,-208,803,837),8105=>array(45,-208,832,837),8106=>array(55,-208,1106,837),8107=>array(63,-208,1111,837),8108=>array(51,-208,914,837),8109=>array(57,-208,944,837),8110=>array(95,-208,885,1009),8111=>array(92,-208,919,1009),8112=>array(37,-14,672,776),8113=>array(37,-14,672,756),8114=>array(37,-208,672,800),8115=>array(37,-208,672,532),8116=>array(37,-208,672,800),8118=>array(37,-14,672,792),8119=>array(37,-208,672,792),8120=>array(-71,0,655,936),8121=>array(-71,0,655,914),8122=>array(-40,0,687,800),8123=>array(-71,0,655,800),8124=>array(-71,-208,655,729),8125=>array(210,596,350,837),8126=>array(184,-208,309,-60),8127=>array(210,596,350,837),8128=>array(120,638,461,792),8129=>array(147,645,520,959),8130=>array(68,-208,596,800),8131=>array(68,-208,596,533),8132=>array(68,-208,596,800),8134=>array(68,-208,596,792),8135=>array(68,-208,596,792),8136=>array(55,0,910,800),8137=>array(38,0,859,800),8138=>array(55,0,1095,800),8139=>array(38,0,1040,800),8140=>array(-22,-208,874,729),8141=>array(92,596,468,837),8142=>array(101,596,487,837),8143=>array(160,596,501,1009),8144=>array(66,16,407,776),8145=>array(66,16,391,756),8146=>array(66,16,423,997),8147=>array(66,16,491,996),8150=>array(66,16,411,792),8151=>array(66,16,470,959),8152=>array(-22,0,444,927),8153=>array(-22,0,444,914),8154=>array(55,0,665,800),8155=>array(38,0,610,800),8157=>array(101,596,476,837),8158=>array(91,596,487,837),8159=>array(157,596,499,1009),8160=>array(66,-1,592,776),8161=>array(66,-1,592,756),8162=>array(66,-1,592,997),8163=>array(66,-1,631,996),8164=>array(-8,-208,580,837),8165=>array(-8,-208,580,837),8166=>array(66,-1,592,792),8167=>array(66,-1,604,959),8168=>array(45,0,715,927),8169=>array(45,0,715,914),8170=>array(55,0,989,800),8171=>array(38,0,928,800),8172=>array(63,0,824,837),8173=>array(147,645,474,997),8174=>array(147,645,545,996),8175=>array(115,616,319,800),8178=>array(38,-208,822,800),8179=>array(38,-208,822,519),8180=>array(38,-208,822,800),8182=>array(38,-1,822,746),8183=>array(38,-208,822,746),8184=>array(55,-14,923,800),8185=>array(38,-14,760,800),8186=>array(55,0,956,800),8187=>array(1,0,787,800),8188=>array(-21,-208,766,742),8189=>array(204,616,473,800),8190=>array(212,596,352,837),8208=>array(37,202,336,334),8209=>array(37,202,336,334),8210=>array(38,207,588,324),8211=>array(38,207,412,324),8212=>array(38,207,862,324),8213=>array(-10,207,911,324),8214=>array(116,-236,356,764),8215=>array(0,-236,450,-9),8216=>array(37,456,275,742),8217=>array(29,443,268,729),8218=>array(13,-130,251,156),8219=>array(75,443,239,729),8220=>array(37,456,479,742),8221=>array(29,443,472,729),8222=>array(13,-130,456,156),8223=>array(75,443,444,729),8224=>array(44,-96,483,729),8225=>array(-13,-96,483,729),8226=>array(129,196,446,547),8227=>array(129,157,481,586),8228=>array(73,-14,241,172),8229=>array(73,-14,534,172),8230=>array(73,-14,827,172),8240=>array(53,-14,1194,742),8241=>array(53,-14,1579,742),8242=>array(1,547,232,729),8243=>array(1,547,396,729),8244=>array(1,547,562,729),8245=>array(145,547,312,729),8246=>array(145,547,479,729),8247=>array(145,547,642,729),8248=>array(91,-238,569,29),8249=>array(62,64,316,522),8250=>array(44,64,298,522),8252=>array(9,-14,570,729),8253=>array(92,-14,517,742),8254=>array(0,663,450,755),8258=>array(20,-37,901,832),8260=>array(-234,-14,384,742),8261=>array(35,-132,439,760),8262=>array(-14,-132,391,760),8263=>array(63,-14,975,742),8264=>array(92,-14,776,742),8265=>array(9,-14,742,742),8267=>array(42,-96,554,729),8268=>array(67,189,382,541),8269=>array(67,189,382,541),8270=>array(20,0,451,464),8271=>array(34,-161,231,490),8273=>array(47,-14,396,797),8274=>array(2,-93,476,729),8275=>array(44,221,856,406),8279=>array(1,547,726,729),8304=>array(21,326,364,742),8305=>array(19,334,191,752),8308=>array(4,334,354,742),8309=>array(10,326,362,742),8310=>array(19,326,368,742),8311=>array(31,334,362,742),8312=>array(10,326,373,742),8313=>array(13,326,363,742),8314=>array(60,334,415,679),8315=>array(60,475,415,537),8316=>array(60,415,415,598),8317=>array(53,249,290,752),8318=>array(-22,249,215,752),8319=>array(31,334,376,627),8320=>array(21,0,364,416),8321=>array(35,8,305,416),8322=>array(2,8,357,416),8323=>array(6,0,361,416),8324=>array(4,8,354,416),8325=>array(10,0,362,416),8326=>array(19,0,368,416),8327=>array(31,8,362,416),8328=>array(10,0,373,416),8329=>array(13,0,363,416),8330=>array(60,8,415,353),8331=>array(60,149,415,211),8332=>array(60,89,415,272),8333=>array(53,-78,290,426),8334=>array(-22,-78,215,426),8336=>array(19,-8,327,299),8337=>array(33,0,352,301),8338=>array(34,0,374,301),8339=>array(-11,8,343,293),8340=>array(40,0,350,301),8341=>array(47,0,402,425),8342=>array(38,8,386,426),8343=>array(45,0,221,425),8344=>array(50,8,583,301),8345=>array(31,8,376,301),8346=>array(39,-106,414,301),8347=>array(18,1,328,307),8348=>array(52,0,281,382),8358=>array(-16,0,642,729),8364=>array(-22,-14,626,742),8367=>array(-17,-193,1051,723),8369=>array(-22,0,726,729),8372=>array(3,-14,788,742),8373=>array(74,-146,620,761),8376=>array(37,0,725,729),8377=>array(48,0,654,729),8451=>array(78,-14,1070,749),8457=>array(78,0,1053,749),8462=>array(30,0,578,760),8463=>array(31,0,578,760),8470=>array(-31,-14,938,731),8482=>array(104,447,756,729),8486=>array(-21,0,766,742),8487=>array(35,-13,822,729),8490=>array(-22,0,812,729),8491=>array(-88,0,638,928),8498=>array(-52,0,661,729),8513=>array(4,-14,672,742),8514=>array(8,0,499,729),8515=>array(10,0,604,729),8516=>array(2,0,674,729),8523=>array(42,-14,838,742),8526=>array(-35,0,553,519),8528=>array(25,-14,906,742),8529=>array(25,-14,907,742),8530=>array(25,-14,1303,742),8531=>array(25,-14,905,742),8532=>array(2,-14,905,742),8533=>array(25,-14,906,742),8534=>array(2,-14,906,742),8535=>array(6,-14,906,742),8536=>array(4,-14,906,742),8537=>array(25,-14,913,742),8538=>array(10,-14,913,742),8539=>array(25,-14,917,742),8540=>array(6,-14,917,742),8541=>array(10,-14,917,742),8542=>array(31,-14,917,742),8543=>array(25,-14,788,742),8544=>array(-22,0,444,729),8545=>array(-22,0,686,729),8546=>array(-22,0,927,729),8547=>array(-22,0,1061,729),8548=>array(48,0,775,729),8549=>array(48,0,1037,729),8550=>array(48,0,1279,729),8551=>array(48,0,1521,729),8552=>array(-22,0,991,729),8553=>array(-48,0,727,729),8554=>array(-48,0,993,729),8555=>array(-48,0,1235,729),8556=>array(-22,0,582,729),8557=>array(38,-14,708,742),8558=>array(-22,0,743,729),8559=>array(-26,0,1018,729),8560=>array(30,0,303,760),8561=>array(30,0,645,760),8562=>array(30,0,987,760),8563=>array(30,0,872,760),8564=>array(19,0,530,521),8565=>array(19,0,826,760),8566=>array(19,0,1168,760),8567=>array(19,0,1510,760),8568=>array(30,0,887,760),8569=>array(-17,0,545,519),8570=>array(-17,0,840,760),8571=>array(-17,0,1182,760),8572=>array(30,0,319,760),8573=>array(30,-14,533,533),8574=>array(9,-14,610,760),8575=>array(50,0,896,533),8576=>array(33,0,1115,729),8577=>array(-22,0,751,729),8578=>array(33,0,1115,729),8579=>array(10,-14,679,742),8580=>array(20,-14,514,533),8581=>array(54,-208,725,742),8585=>array(21,-14,905,742),8592=>array(33,119,703,527),8593=>array(193,0,561,744),8594=>array(51,119,721,527),8595=>array(193,-20,561,724),8596=>array(33,119,721,527),8597=>array(193,-20,561,744),8598=>array(132,29,642,595),8599=>array(112,29,622,595),8600=>array(112,52,622,617),8601=>array(132,52,642,617),8602=>array(33,88,703,558),8603=>array(51,88,721,558),8604=>array(48,191,716,499),8605=>array(38,191,706,499),8606=>array(33,119,703,527),8607=>array(193,0,561,744),8608=>array(51,119,721,527),8609=>array(193,-20,561,724),8610=>array(33,118,710,529),8611=>array(44,118,721,529),8612=>array(33,119,703,527),8613=>array(193,0,561,744),8614=>array(51,119,721,527),8615=>array(193,-20,561,724),8616=>array(193,0,561,744),8617=>array(33,119,703,571),8618=>array(51,119,721,571),8619=>array(33,119,703,571),8620=>array(51,119,721,571),8621=>array(33,119,721,527),8622=>array(33,88,721,558),8623=>array(154,-17,629,730),8624=>array(187,0,549,744),8625=>array(205,0,567,744),8626=>array(187,-20,549,724),8627=>array(205,-20,567,724),8628=>array(117,90,655,614),8629=>array(132,53,604,650),8630=>array(68,141,672,569),8631=>array(82,141,686,569),8632=>array(119,29,642,736),8633=>array(51,-52,703,698),8634=>array(103,48,660,600),8635=>array(94,48,651,600),8636=>array(31,270,703,527),8637=>array(31,119,703,377),8638=>array(329,0,561,747),8639=>array(193,0,426,747),8640=>array(51,270,724,527),8641=>array(51,119,724,377),8642=>array(329,-23,561,724),8643=>array(193,-23,426,724),8644=>array(33,-52,721,698),8645=>array(40,-20,715,744),8646=>array(33,-52,721,698),8647=>array(33,-101,703,747),8648=>array(-4,0,759,744),8649=>array(51,-101,721,747),8650=>array(-4,-20,759,724),8651=>array(31,21,724,625),8652=>array(31,21,724,625),8653=>array(33,88,703,558),8654=>array(33,88,721,558),8655=>array(51,88,721,558),8656=>array(33,119,703,527),8657=>array(193,0,561,744),8658=>array(51,119,721,527),8659=>array(193,-20,561,724),8660=>array(33,119,721,527),8661=>array(193,-20,561,744),8662=>array(132,-31,696,595),8663=>array(58,-31,622,595),8664=>array(58,52,622,677),8665=>array(132,52,696,677),8666=>array(33,70,703,576),8667=>array(51,70,721,576),8668=>array(33,119,703,527),8669=>array(51,119,721,527),8670=>array(193,0,561,744),8671=>array(193,-20,561,724),8672=>array(33,119,703,527),8673=>array(193,0,561,744),8674=>array(51,119,721,527),8675=>array(193,-20,561,724),8676=>array(51,119,703,527),8677=>array(51,119,703,527),8678=>array(33,119,703,527),8679=>array(193,0,561,744),8680=>array(51,119,721,527),8681=>array(193,-20,561,724),8682=>array(193,0,561,744),8683=>array(172,0,582,744),8684=>array(172,0,582,744),8685=>array(172,0,582,744),8686=>array(193,0,561,744),8687=>array(172,0,582,744),8688=>array(51,96,721,550),8689=>array(69,0,690,694),8690=>array(64,0,686,694),8691=>array(193,-20,561,744),8692=>array(51,119,721,527),8693=>array(40,-20,715,744),8694=>array(51,-140,721,786),8695=>array(33,119,703,527),8696=>array(51,119,721,527),8697=>array(33,119,721,527),8698=>array(33,119,703,527),8699=>array(51,119,721,527),8700=>array(33,119,721,527),8701=>array(33,119,703,527),8702=>array(51,119,721,527),8703=>array(33,119,721,527),8704=>array(4,0,573,729),8706=>array(33,-12,449,659),8707=>array(63,0,479,729),8708=>array(63,-120,479,849),8710=>array(18,0,661,729),8711=>array(18,0,661,729),8712=>array(95,0,571,627),8713=>array(95,-138,571,765),8715=>array(95,0,571,627),8716=>array(95,-138,571,765),8719=>array(21,-192,734,719),8720=>array(21,-192,734,719),8721=>array(9,-192,661,719),8722=>array(95,257,659,369),8723=>array(95,0,659,627),8724=>array(95,0,659,681),8725=>array(-72,-93,401,729),8727=>array(95,82,527,546),8728=>array(95,161,372,468),8729=>array(95,161,372,468),8730=>array(31,-20,593,827),8731=>array(31,-20,593,940),8732=>array(29,-20,593,928),8733=>array(90,97,515,499),8734=>array(90,97,661,499),8735=>array(106,79,648,681),8736=>array(106,79,648,681),8739=>array(95,-98,197,827),8740=>array(78,-98,469,827),8741=>array(95,-98,381,827),8742=>array(78,-98,619,827),8743=>array(136,0,595,584),8744=>array(136,0,595,584),8745=>array(95,0,659,627),8746=>array(95,-12,659,615),8747=>array(21,-182,500,759),8748=>array(21,-182,852,759),8749=>array(21,-182,1203,759),8760=>array(95,258,659,567),8761=>array(95,60,659,567),8762=>array(95,60,659,567),8763=>array(95,60,659,567),8764=>array(95,222,659,406),8765=>array(95,222,659,406),8770=>array(95,119,659,480),8771=>array(95,147,659,508),8776=>array(95,119,659,508),8784=>array(95,147,659,717),8785=>array(95,-90,659,717),8786=>array(95,-90,659,717),8787=>array(95,-90,659,717),8788=>array(95,110,879,518),8789=>array(95,110,879,518),8800=>array(95,-5,659,631),8801=>array(95,91,659,536),8804=>array(95,0,659,580),8805=>array(95,0,659,580),8834=>array(95,0,659,627),8835=>array(95,0,659,627),8836=>array(95,-138,659,765),8837=>array(95,-138,659,765),8838=>array(95,-85,659,712),8839=>array(95,-85,659,712),8844=>array(95,-12,659,615),8845=>array(95,-12,659,615),8846=>array(95,-12,659,615),8847=>array(95,1,659,627),8848=>array(95,1,659,627),8849=>array(95,-85,659,712),8850=>array(95,-85,659,712),8851=>array(95,0,659,627),8852=>array(95,0,659,627),8853=>array(95,0,659,627),8854=>array(95,0,659,627),8855=>array(95,0,659,627),8856=>array(95,0,659,627),8857=>array(95,0,659,627),8858=>array(95,0,659,627),8859=>array(95,0,659,627),8860=>array(95,0,659,627),8861=>array(95,0,659,627),8862=>array(95,1,659,627),8863=>array(95,1,659,627),8864=>array(95,1,659,627),8865=>array(95,1,659,627),8866=>array(95,0,701,729),8867=>array(95,0,701,729),8868=>array(95,0,769,688),8869=>array(95,0,769,688),8870=>array(95,0,459,729),8871=>array(95,0,459,729),8872=>array(95,0,701,729),8873=>array(95,0,701,729),8874=>array(95,0,701,729),8875=>array(95,0,876,729),8876=>array(95,-123,701,852),8877=>array(95,-123,701,852),8878=>array(95,-123,701,852),8879=>array(95,-123,876,852),8901=>array(95,255,263,440),8962=>array(64,0,687,596),8968=>array(34,-132,440,760),8969=>array(79,-132,391,760),8970=>array(34,-132,346,760),8971=>array(-15,-132,391,760),8976=>array(95,140,659,441),8977=>array(2,113,482,646),8984=>array(76,0,759,759),8985=>array(95,140,659,441),8992=>array(203,-250,500,925),8993=>array(20,-239,316,940),8997=>array(76,0,824,723),9000=>array(53,0,1247,729),9085=>array(1,-228,906,85),9115=>array(56,-252,394,928),9116=>array(56,-252,185,940),9117=>array(56,-240,394,940),9118=>array(56,-252,394,928),9119=>array(266,-252,394,940),9120=>array(56,-240,394,940),9121=>array(56,-252,394,928),9122=>array(56,-252,185,940),9123=>array(56,-240,394,940),9124=>array(56,-252,394,928),9125=>array(266,-252,394,940),9126=>array(56,-240,394,940),9127=>array(275,-261,602,928),9128=>array(74,-247,400,934),9129=>array(275,-240,602,934),9130=>array(275,-256,400,934),9131=>array(74,-261,400,928),9132=>array(275,-247,602,934),9133=>array(74,-240,400,934),9134=>array(203,-250,316,940),9167=>array(82,0,769,596),9251=>array(24,-228,702,85),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,630,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(49,260,736,645),9697=>array(49,-125,736,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(135,227,396,516),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9784=>array(71,3,735,721),9785=>array(75,0,732,730),9786=>array(75,0,732,730),9787=>array(75,0,732,730),9788=>array(75,0,732,730),9791=>array(77,-102,476,732),9792=>array(77,-125,581,731),9793=>array(77,-125,581,731),9794=>array(77,-5,748,729),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),10145=>array(51,119,721,527),10181=>array(4,-163,394,769),10182=>array(-33,-163,429,769),10208=>array(2,-233,442,807),10216=>array(94,-132,417,759),10217=>array(-6,-132,317,759),10224=>array(62,0,693,744),10225=>array(62,-20,693,724),10226=>array(68,48,672,618),10227=>array(82,48,686,618),10228=>array(51,39,896,608),10229=>array(33,119,1239,527),10230=>array(51,119,1257,527),10231=>array(33,119,1257,527),10232=>array(33,119,1239,527),10233=>array(51,119,1257,527),10234=>array(33,119,1257,527),10235=>array(33,119,1239,527),10236=>array(51,119,1257,527),10237=>array(33,119,1239,527),10238=>array(51,119,1257,527),10239=>array(51,119,1257,527),10241=>array(132,586,308,781),10242=>array(132,325,308,521),10243=>array(132,325,308,781),10244=>array(132,65,308,260),10245=>array(132,65,308,781),10246=>array(132,65,308,521),10247=>array(132,65,308,781),10248=>array(396,586,571,781),10249=>array(132,586,571,781),10250=>array(132,325,571,781),10251=>array(132,325,571,781),10252=>array(132,65,571,781),10253=>array(132,65,571,781),10254=>array(132,65,571,781),10255=>array(132,65,571,781),10256=>array(396,325,571,521),10257=>array(132,325,571,781),10258=>array(132,325,571,521),10259=>array(132,325,571,781),10260=>array(132,65,571,521),10261=>array(132,65,571,781),10262=>array(132,65,571,521),10263=>array(132,65,571,781),10264=>array(396,325,571,781),10265=>array(132,325,571,781),10266=>array(132,325,571,781),10267=>array(132,325,571,781),10268=>array(132,65,571,781),10269=>array(132,65,571,781),10270=>array(132,65,571,781),10271=>array(132,65,571,781),10272=>array(396,65,571,260),10273=>array(132,65,571,781),10274=>array(132,65,571,521),10275=>array(132,65,571,781),10276=>array(132,65,571,260),10277=>array(132,65,571,781),10278=>array(132,65,571,521),10279=>array(132,65,571,781),10280=>array(396,65,571,781),10281=>array(132,65,571,781),10282=>array(132,65,571,781),10283=>array(132,65,571,781),10284=>array(132,65,571,781),10285=>array(132,65,571,781),10286=>array(132,65,571,781),10287=>array(132,65,571,781),10288=>array(396,65,571,521),10289=>array(132,65,571,781),10290=>array(132,65,571,521),10291=>array(132,65,571,781),10292=>array(132,65,571,521),10293=>array(132,65,571,781),10294=>array(132,65,571,521),10295=>array(132,65,571,781),10296=>array(396,65,571,781),10297=>array(132,65,571,781),10298=>array(132,65,571,781),10299=>array(132,65,571,781),10300=>array(132,65,571,781),10301=>array(132,65,571,781),10302=>array(132,65,571,781),10303=>array(132,65,571,781),10304=>array(132,-195,308,0),10305=>array(132,-195,308,781),10306=>array(132,-195,308,521),10307=>array(132,-195,308,781),10308=>array(132,-195,308,260),10309=>array(132,-195,308,781),10310=>array(132,-195,308,521),10311=>array(132,-195,308,781),10312=>array(132,-195,571,781),10313=>array(132,-195,571,781),10314=>array(132,-195,571,781),10315=>array(132,-195,571,781),10316=>array(132,-195,571,781),10317=>array(132,-195,571,781),10318=>array(132,-195,571,781),10319=>array(132,-195,571,781),10320=>array(132,-195,571,521),10321=>array(132,-195,571,781),10322=>array(132,-195,571,521),10323=>array(132,-195,571,781),10324=>array(132,-195,571,521),10325=>array(132,-195,571,781),10326=>array(132,-195,571,521),10327=>array(132,-195,571,781),10328=>array(132,-195,571,781),10329=>array(132,-195,571,781),10330=>array(132,-195,571,781),10331=>array(132,-195,571,781),10332=>array(132,-195,571,781),10333=>array(132,-195,571,781),10334=>array(132,-195,571,781),10335=>array(132,-195,571,781),10336=>array(132,-195,571,260),10337=>array(132,-195,571,781),10338=>array(132,-195,571,521),10339=>array(132,-195,571,781),10340=>array(132,-195,571,260),10341=>array(132,-195,571,781),10342=>array(132,-195,571,521),10343=>array(132,-195,571,781),10344=>array(132,-195,571,781),10345=>array(132,-195,571,781),10346=>array(132,-195,571,781),10347=>array(132,-195,571,781),10348=>array(132,-195,571,781),10349=>array(132,-195,571,781),10350=>array(132,-195,571,781),10351=>array(132,-195,571,781),10352=>array(132,-195,571,521),10353=>array(132,-195,571,781),10354=>array(132,-195,571,521),10355=>array(132,-195,571,781),10356=>array(132,-195,571,521),10357=>array(132,-195,571,781),10358=>array(132,-195,571,521),10359=>array(132,-195,571,781),10360=>array(132,-195,571,781),10361=>array(132,-195,571,781),10362=>array(132,-195,571,781),10363=>array(132,-195,571,781),10364=>array(132,-195,571,781),10365=>array(132,-195,571,781),10366=>array(132,-195,571,781),10367=>array(132,-195,571,781),10368=>array(396,-195,571,0),10369=>array(132,-195,571,781),10370=>array(132,-195,571,521),10371=>array(132,-195,571,781),10372=>array(132,-195,571,260),10373=>array(132,-195,571,781),10374=>array(132,-195,571,521),10375=>array(132,-195,571,781),10376=>array(396,-195,571,781),10377=>array(132,-195,571,781),10378=>array(132,-195,571,781),10379=>array(132,-195,571,781),10380=>array(132,-195,571,781),10381=>array(132,-195,571,781),10382=>array(132,-195,571,781),10383=>array(132,-195,571,781),10384=>array(396,-195,571,521),10385=>array(132,-195,571,781),10386=>array(132,-195,571,521),10387=>array(132,-195,571,781),10388=>array(132,-195,571,521),10389=>array(132,-195,571,781),10390=>array(132,-195,571,521),10391=>array(132,-195,571,781),10392=>array(396,-195,571,781),10393=>array(132,-195,571,781),10394=>array(132,-195,571,781),10395=>array(132,-195,571,781),10396=>array(132,-195,571,781),10397=>array(132,-195,571,781),10398=>array(132,-195,571,781),10399=>array(132,-195,571,781),10400=>array(396,-195,571,260),10401=>array(132,-195,571,781),10402=>array(132,-195,571,521),10403=>array(132,-195,571,781),10404=>array(132,-195,571,260),10405=>array(132,-195,571,781),10406=>array(132,-195,571,521),10407=>array(132,-195,571,781),10408=>array(396,-195,571,781),10409=>array(132,-195,571,781),10410=>array(132,-195,571,781),10411=>array(132,-195,571,781),10412=>array(132,-195,571,781),10413=>array(132,-195,571,781),10414=>array(132,-195,571,781),10415=>array(132,-195,571,781),10416=>array(396,-195,571,521),10417=>array(132,-195,571,781),10418=>array(132,-195,571,521),10419=>array(132,-195,571,781),10420=>array(132,-195,571,521),10421=>array(132,-195,571,781),10422=>array(132,-195,571,521),10423=>array(132,-195,571,781),10424=>array(396,-195,571,781),10425=>array(132,-195,571,781),10426=>array(132,-195,571,781),10427=>array(132,-195,571,781),10428=>array(132,-195,571,781),10429=>array(132,-195,571,781),10430=>array(132,-195,571,781),10431=>array(132,-195,571,781),10432=>array(132,-195,571,0),10433=>array(132,-195,571,781),10434=>array(132,-195,571,521),10435=>array(132,-195,571,781),10436=>array(132,-195,571,260),10437=>array(132,-195,571,781),10438=>array(132,-195,571,521),10439=>array(132,-195,571,781),10440=>array(132,-195,571,781),10441=>array(132,-195,571,781),10442=>array(132,-195,571,781),10443=>array(132,-195,571,781),10444=>array(132,-195,571,781),10445=>array(132,-195,571,781),10446=>array(132,-195,571,781),10447=>array(132,-195,571,781),10448=>array(132,-195,571,521),10449=>array(132,-195,571,781),10450=>array(132,-195,571,521),10451=>array(132,-195,571,781),10452=>array(132,-195,571,521),10453=>array(132,-195,571,781),10454=>array(132,-195,571,521),10455=>array(132,-195,571,781),10456=>array(132,-195,571,781),10457=>array(132,-195,571,781),10458=>array(132,-195,571,781),10459=>array(132,-195,571,781),10460=>array(132,-195,571,781),10461=>array(132,-195,571,781),10462=>array(132,-195,571,781),10463=>array(132,-195,571,781),10464=>array(132,-195,571,260),10465=>array(132,-195,571,781),10466=>array(132,-195,571,521),10467=>array(132,-195,571,781),10468=>array(132,-195,571,260),10469=>array(132,-195,571,781),10470=>array(132,-195,571,521),10471=>array(132,-195,571,781),10472=>array(132,-195,571,781),10473=>array(132,-195,571,781),10474=>array(132,-195,571,781),10475=>array(132,-195,571,781),10476=>array(132,-195,571,781),10477=>array(132,-195,571,781),10478=>array(132,-195,571,781),10479=>array(132,-195,571,781),10480=>array(132,-195,571,521),10481=>array(132,-195,571,781),10482=>array(132,-195,571,521),10483=>array(132,-195,571,781),10484=>array(132,-195,571,521),10485=>array(132,-195,571,781),10486=>array(132,-195,571,521),10487=>array(132,-195,571,781),10488=>array(132,-195,571,781),10489=>array(132,-195,571,781),10490=>array(132,-195,571,781),10491=>array(132,-195,571,781),10492=>array(132,-195,571,781),10493=>array(132,-195,571,781),10494=>array(132,-195,571,781),10495=>array(132,-195,571,781),10496=>array(51,119,721,527),10497=>array(51,119,721,527),10498=>array(33,119,703,527),10499=>array(51,119,721,527),10500=>array(33,119,721,527),10501=>array(51,119,721,527),10502=>array(33,119,703,527),10503=>array(51,119,721,527),10504=>array(193,-20,561,724),10505=>array(193,0,561,744),10506=>array(149,0,605,744),10507=>array(149,-20,605,724),10508=>array(33,119,703,527),10509=>array(51,119,721,527),10510=>array(33,119,703,527),10511=>array(51,119,721,527),10512=>array(44,118,721,529),10513=>array(48,119,721,527),10514=>array(193,0,561,724),10515=>array(193,0,561,724),10516=>array(44,118,721,529),10517=>array(44,118,721,529),10518=>array(44,118,721,529),10519=>array(44,118,721,529),10520=>array(44,118,721,529),10521=>array(51,118,710,529),10522=>array(44,118,703,529),10523=>array(51,118,710,529),10524=>array(44,118,703,529),10525=>array(33,119,703,527),10526=>array(51,119,721,527),10527=>array(33,119,703,527),10528=>array(51,119,721,527),10529=>array(132,52,622,595),10530=>array(132,52,622,595),10531=>array(132,-45,585,595),10532=>array(168,-45,622,595),10533=>array(168,52,622,692),10534=>array(132,52,585,692),10535=>array(112,29,642,595),10536=>array(112,29,622,617),10537=>array(112,52,642,617),10538=>array(132,29,642,617),10539=>array(112,29,642,617),10540=>array(112,29,642,617),10541=>array(112,29,622,617),10542=>array(112,29,622,617),10543=>array(112,29,642,617),10544=>array(112,29,642,617),10545=>array(112,29,642,595),10546=>array(112,29,642,595),10547=>array(38,119,721,527),10548=>array(131,94,637,623),10549=>array(131,80,637,608),10550=>array(132,70,608,632),10551=>array(146,70,622,632),10552=>array(255,-13,532,735),10553=>array(222,-13,499,735),10554=>array(46,188,720,495),10555=>array(35,151,708,459),10556=>array(35,78,708,495),10557=>array(46,0,720,495),10558=>array(126,58,623,593),10559=>array(132,58,628,593),10560=>array(121,48,633,719),10561=>array(121,48,633,719),10562=>array(33,-52,721,698),10563=>array(33,-52,721,698),10564=>array(33,-52,721,698),10565=>array(51,0,721,527),10566=>array(33,0,703,527),10567=>array(51,119,721,527),10568=>array(33,119,721,527),10569=>array(193,-12,561,744),10570=>array(31,119,724,527),10571=>array(31,119,724,527),10572=>array(193,-23,561,747),10573=>array(193,-23,561,747),10574=>array(31,270,724,527),10575=>array(329,-23,561,747),10576=>array(31,119,724,377),10577=>array(193,-23,426,747),10578=>array(51,131,703,527),10579=>array(51,131,703,527),10580=>array(204,0,561,724),10581=>array(204,0,561,724),10582=>array(51,119,703,515),10583=>array(51,119,703,515),10584=>array(193,0,550,724),10585=>array(193,0,550,724),10586=>array(31,131,703,527),10587=>array(51,131,724,527),10588=>array(204,0,561,747),10589=>array(204,-23,561,724),10590=>array(31,119,703,515),10591=>array(51,119,724,515),10592=>array(193,0,550,747),10593=>array(193,-23,550,724),10594=>array(31,21,703,625),10595=>array(105,0,649,747),10596=>array(51,21,724,625),10597=>array(105,-23,649,724),10598=>array(31,172,724,625),10599=>array(31,21,724,475),10600=>array(31,172,724,625),10601=>array(31,21,724,475),10602=>array(31,184,703,613),10603=>array(31,34,703,462),10604=>array(51,184,724,613),10605=>array(51,34,724,462),10606=>array(105,-23,649,747),10607=>array(105,-23,649,747),10608=>array(51,270,703,571),10609=>array(51,119,721,757),10610=>array(51,119,721,610),10611=>array(33,36,703,527),10612=>array(51,36,721,527),10613=>array(51,-138,721,527),10614=>array(33,-76,703,791),10615=>array(33,42,878,604),10616=>array(51,-76,721,791),10617=>array(51,-76,721,748),10618=>array(33,10,813,637),10619=>array(33,-76,703,748),10620=>array(147,11,618,636),10621=>array(136,11,606,636),10622=>array(96,62,659,584),10623=>array(96,54,659,576),10731=>array(2,-233,442,807),10764=>array(21,-182,1555,759),10765=>array(22,-182,527,760),10766=>array(22,-182,527,760),10799=>array(116,23,638,604),10858=>array(95,222,659,567),10859=>array(95,60,659,567),11008=>array(64,-28,621,591),11009=>array(133,-28,690,591),11010=>array(64,52,621,671),11011=>array(133,52,690,671),11012=>array(33,119,721,527),11013=>array(33,119,703,527),11014=>array(193,0,561,744),11015=>array(193,-20,561,724),11016=>array(64,-28,621,591),11017=>array(133,-28,690,591),11018=>array(64,52,621,671),11019=>array(133,52,690,671),11020=>array(33,119,721,527),11021=>array(193,-20,561,744),11022=>array(51,112,721,514),11023=>array(51,132,721,534),11024=>array(33,112,703,514),11025=>array(33,132,703,534),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11360=>array(-22,0,581,729),11361=>array(-16,0,366,760),11363=>array(-22,0,681,729),11364=>array(129,-208,764,729),11367=>array(-8,-157,888,729),11368=>array(31,-217,655,760),11369=>array(-8,-157,826,729),11370=>array(31,-217,594,760),11371=>array(-17,-157,698,729),11372=>array(-14,-214,526,560),11373=>array(26,-14,791,742),11374=>array(38,-208,1082,729),11375=>array(110,0,836,729),11376=>array(-26,-14,739,742),11377=>array(18,0,682,533),11378=>array(45,0,1160,730),11379=>array(26,0,930,533),11381=>array(-22,0,688,729),11382=>array(52,0,497,519),11383=>array(44,-14,774,533),11385=>array(-41,-14,449,760),11386=>array(82,-14,610,533),11387=>array(-18,0,575,519),11388=>array(-7,-132,282,418),11389=>array(119,326,576,734),11390=>array(29,-208,630,742),11391=>array(-13,-208,703,729),11520=>array(86,-53,722,514),11521=>array(28,-218,598,514),11522=>array(83,-218,750,514),11523=>array(75,-2,642,759),11524=>array(92,-217,735,514),11525=>array(40,-217,891,514),11526=>array(108,0,707,759),11527=>array(40,0,890,514),11528=>array(88,0,583,514),11529=>array(38,-217,608,729),11530=>array(34,0,886,514),11531=>array(74,-4,622,759),11532=>array(38,0,608,759),11533=>array(39,-2,892,514),11534=>array(96,0,787,514),11535=>array(81,-218,835,759),11536=>array(40,0,890,759),11537=>array(38,0,607,759),11538=>array(29,-217,589,515),11539=>array(40,-221,909,675),11540=>array(70,-217,836,555),11541=>array(57,-218,792,759),11542=>array(38,0,606,514),11543=>array(38,-217,608,514),11544=>array(38,-217,607,514),11545=>array(54,-217,611,759),11546=>array(66,-217,646,514),11547=>array(70,0,822,759),11548=>array(71,-217,909,514),11549=>array(29,-217,640,515),11550=>array(61,-217,636,514),11551=>array(23,-218,793,518),11552=>array(88,0,1026,514),11553=>array(48,-217,596,759),11554=>array(60,-3,572,579),11555=>array(38,-217,639,759),11556=>array(38,-217,701,514),11557=>array(79,-4,818,759),11800=>array(10,-14,435,742),11807=>array(95,60,659,406),11810=>array(112,314,440,760),11811=>array(131,314,392,760),11812=>array(34,-132,294,314),11813=>array(-15,-132,313,314),11822=>array(88,-14,547,742),42564=>array(32,-14,622,742),42565=>array(21,-14,489,533),42566=>array(91,0,444,729),42567=>array(67,0,298,519),42576=>array(37,0,1222,729),42577=>array(16,-14,926,534),42580=>array(53,-14,1180,742),42581=>array(40,-14,854,533),42582=>array(-22,0,1115,729),42583=>array(68,-14,862,533),42760=>array(131,0,424,693),42761=>array(105,0,424,693),42762=>array(79,0,424,693),42763=>array(52,0,424,693),42764=>array(26,0,424,693),42765=>array(26,0,424,693),42766=>array(26,0,398,693),42767=>array(26,0,372,693),42768=>array(26,0,345,693),42769=>array(26,0,319,693),42770=>array(26,0,424,693),42771=>array(26,0,398,693),42772=>array(26,0,372,693),42773=>array(26,0,345,693),42774=>array(26,0,319,693),42779=>array(71,326,305,743),42780=>array(41,315,275,731),42781=>array(44,318,213,734),42782=>array(36,326,205,742),42783=>array(-21,0,147,416),42790=>array(-4,-208,892,729),42791=>array(50,-222,578,760),42792=>array(60,-203,861,729),42793=>array(60,-203,780,680),42794=>array(2,-14,628,742),42795=>array(11,-12,549,742),42796=>array(11,-14,534,729),42797=>array(11,-222,515,519),42798=>array(19,-104,638,729),42799=>array(13,-240,601,519),42800=>array(-20,0,568,519),42801=>array(-0,-14,488,533),42802=>array(-71,0,1127,729),42803=>array(31,-14,821,533),42804=>array(-71,-14,1096,742),42805=>array(31,-14,875,533),42806=>array(-90,-14,1097,729),42807=>array(31,-14,856,533),42808=>array(-71,0,991,729),42809=>array(31,-14,756,533),42810=>array(-71,0,991,729),42811=>array(18,-14,766,533),42812=>array(-53,-208,990,729),42813=>array(31,-222,723,533),42814=>array(10,-14,679,742),42815=>array(20,-14,514,533),42816=>array(-22,0,812,729),42817=>array(31,0,583,760),42822=>array(96,0,772,729),42823=>array(83,0,446,760),42826=>array(-11,-14,920,742),42827=>array(-9,-14,703,533),42830=>array(38,-14,1265,742),42831=>array(37,-14,918,533),42856=>array(-40,-208,752,729),42857=>array(23,-208,653,519),42875=>array(31,-208,694,742),42876=>array(32,-208,547,533),42880=>array(52,0,655,729),42881=>array(22,-240,311,519),42882=>array(31,-208,721,743),42883=>array(32,-208,625,533),42884=>array(31,-208,694,742),42885=>array(32,-208,547,533),42886=>array(39,-14,745,729),42887=>array(38,-14,563,519),42891=>array(143,225,345,729),42892=>array(62,458,214,729),42893=>array(81,0,839,729),42896=>array(-24,-157,851,729),42897=>array(50,-217,676,533),42922=>array(-86,0,874,729),43002=>array(-16,0,976,519),43003=>array(45,0,661,729),43004=>array(48,0,699,729),43005=>array(-22,0,1022,729),43006=>array(-40,0,461,928),43007=>array(-71,0,1231,729),62464=>array(6,-15,570,876),62465=>array(19,-15,579,876),62466=>array(11,-15,625,875),62467=>array(73,-15,894,876),62468=>array(5,-15,642,876),62469=>array(-1,-15,631,876),62470=>array(75,-15,676,876),62471=>array(33,-14,924,875),62472=>array(41,-15,627,876),62473=>array(6,-15,626,876),62474=>array(75,-21,1177,876),62475=>array(20,-15,659,876),62476=>array(29,-15,681,888),62477=>array(42,-146,891,876),62478=>array(12,-15,633,876),62479=>array(5,-15,702,877),62480=>array(22,-15,888,860),62481=>array(59,-15,645,876),62482=>array(29,-15,712,876),62483=>array(72,-15,723,876),62484=>array(82,-15,906,876),62485=>array(-1,-15,699,864),62486=>array(81,-16,896,875),62487=>array(4,-15,698,875),62488=>array(23,-15,669,876),62489=>array(-24,-15,600,876),62490=>array(25,-15,677,870),62491=>array(19,-15,658,876),62492=>array(29,-15,714,876),62493=>array(1,-15,618,910),62494=>array(64,-15,641,876),62495=>array(-19,-25,866,875),62496=>array(1,-15,647,882),62497=>array(31,-15,742,879),62498=>array(-26,-57,631,876),62499=>array(3,-15,702,895),62500=>array(3,-15,646,876),62501=>array(-0,-15,690,876),62502=>array(66,-14,908,876),62504=>array(64,-217,809,759),63172=>array(51,0,351,763),63173=>array(11,-14,597,756),63174=>array(20,-222,600,533),63175=>array(57,-14,644,731),63176=>array(57,-14,938,731),63185=>array(53,616,404,816),63188=>array(72,624,406,840),64256=>array(-53,-190,875,760),64257=>array(-53,-190,611,760),64258=>array(-53,-190,648,760),64259=>array(-53,-190,968,760),64260=>array(-53,-190,1003,760),64261=>array(-53,-190,791,760),64262=>array(-0,-14,878,748),65533=>array(94,-108,1052,956),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>313,33=>395,34=>469,35=>754,36=>626,37=>855,38=>813,39=>275,40=>426,41=>426,42=>470,43=>754,44=>313,45=>374,46=>313,47=>329,48=>626,49=>626,50=>626,51=>626,52=>626,53=>626,54=>626,55=>626,56=>626,57=>626,58=>332,59=>332,60=>754,61=>754,62=>754,63=>527,64=>900,65=>698,66=>760,67=>716,68=>780,69=>686,70=>639,71=>769,72=>850,73=>421,74=>426,75=>782,76=>633,77=>996,78=>822,79=>784,80=>677,81=>784,82=>748,83=>650,84=>669,85=>785,86=>698,87=>1011,88=>698,89=>642,90=>657,91=>426,92=>329,93=>426,94=>754,95=>450,96=>450,97=>583,98=>629,99=>548,100=>629,101=>572,102=>387,103=>629,104=>654,105=>342,106=>325,107=>624,108=>342,109=>952,110=>654,111=>600,112=>629,113=>629,114=>474,115=>506,116=>416,117=>654,118=>523,119=>774,120=>536,121=>523,122=>511,123=>579,124=>327,125=>579,126=>754,160=>313,161=>395,162=>626,163=>626,164=>572,165=>626,166=>327,167=>470,168=>450,169=>900,170=>438,171=>563,172=>754,173=>374,174=>900,175=>450,176=>450,177=>754,178=>394,179=>394,180=>450,181=>659,182=>572,183=>313,184=>450,185=>394,186=>450,187=>563,188=>938,189=>938,190=>938,191=>527,192=>698,193=>698,194=>698,195=>698,196=>698,197=>698,198=>931,199=>716,200=>686,201=>686,202=>686,203=>686,204=>421,205=>421,206=>421,207=>421,208=>787,209=>822,210=>784,211=>784,212=>784,213=>784,214=>784,215=>754,216=>784,217=>785,218=>785,219=>785,220=>785,221=>642,222=>681,223=>684,224=>583,225=>583,226=>583,227=>583,228=>583,229=>583,230=>838,231=>548,232=>572,233=>572,234=>572,235=>572,236=>342,237=>342,238=>342,239=>342,240=>600,241=>654,242=>600,243=>600,244=>600,245=>600,246=>600,247=>754,248=>600,249=>654,250=>654,251=>654,252=>654,253=>523,254=>629,255=>523,256=>698,257=>583,258=>698,259=>583,260=>698,261=>583,262=>716,263=>548,264=>716,265=>548,266=>716,267=>548,268=>716,269=>548,270=>780,271=>629,272=>787,273=>629,274=>686,275=>572,276=>686,277=>572,278=>686,279=>572,280=>686,281=>572,282=>686,283=>572,284=>769,285=>629,286=>769,287=>629,288=>769,289=>629,290=>769,291=>629,292=>850,293=>654,294=>850,295=>654,296=>421,297=>342,298=>421,299=>342,300=>421,301=>342,302=>421,303=>342,304=>421,305=>342,306=>848,307=>676,308=>426,309=>325,310=>782,311=>624,312=>624,313=>633,314=>342,315=>633,316=>342,317=>633,318=>457,319=>633,320=>501,321=>639,322=>346,323=>822,324=>654,325=>822,326=>654,327=>822,328=>654,329=>907,330=>785,331=>654,332=>784,333=>600,334=>784,335=>600,336=>784,337=>600,338=>1062,339=>925,340=>748,341=>474,342=>748,343=>474,344=>748,345=>474,346=>650,347=>506,348=>650,349=>506,350=>650,351=>506,352=>650,353=>506,354=>669,355=>416,356=>669,357=>416,358=>669,359=>416,360=>785,361=>654,362=>785,363=>654,364=>785,365=>654,366=>785,367=>654,368=>785,369=>654,370=>785,371=>654,372=>1011,373=>774,374=>642,375=>523,376=>642,377=>657,378=>511,379=>657,380=>511,381=>657,382=>511,383=>387,384=>629,385=>760,386=>769,387=>629,388=>769,389=>629,390=>716,391=>716,392=>548,393=>787,394=>780,395=>769,396=>629,397=>600,398=>686,399=>784,400=>649,401=>639,402=>387,403=>769,404=>693,405=>938,406=>421,407=>421,408=>782,409=>624,410=>342,411=>631,412=>952,413=>822,414=>654,415=>784,416=>784,417=>600,418=>1080,419=>849,420=>677,421=>629,422=>748,423=>650,424=>506,425=>636,426=>298,427=>416,428=>669,429=>416,430=>669,431=>785,432=>654,433=>801,434=>801,435=>642,436=>628,437=>657,438=>511,439=>591,440=>591,441=>591,442=>591,443=>626,444=>678,445=>511,446=>482,447=>644,448=>265,449=>443,450=>413,451=>265,452=>1437,453=>1292,454=>1140,455=>1059,456=>958,457=>667,458=>1248,459=>1148,460=>980,461=>698,462=>583,463=>421,464=>342,465=>784,466=>600,467=>785,468=>654,469=>785,470=>654,471=>785,472=>654,473=>785,474=>654,475=>785,476=>654,477=>572,478=>698,479=>583,480=>698,481=>583,482=>931,483=>877,484=>806,485=>629,486=>769,487=>629,488=>782,489=>624,490=>784,491=>600,492=>784,493=>600,494=>591,495=>511,496=>325,497=>1437,498=>1292,499=>1140,500=>769,501=>629,502=>1099,503=>708,504=>822,505=>654,506=>698,507=>583,508=>931,509=>838,510=>784,511=>600,512=>698,513=>583,514=>698,515=>583,516=>686,517=>572,518=>686,519=>572,520=>421,521=>342,522=>421,523=>342,524=>784,525=>600,526=>784,527=>600,528=>748,529=>474,530=>748,531=>474,532=>785,533=>654,534=>785,535=>654,536=>650,537=>506,538=>669,539=>416,540=>621,541=>546,542=>850,543=>654,544=>785,545=>711,546=>632,547=>554,548=>657,549=>511,550=>698,551=>583,552=>686,553=>572,554=>784,555=>600,556=>784,557=>600,558=>784,559=>600,560=>784,561=>600,562=>642,563=>523,564=>516,565=>830,566=>508,567=>325,568=>928,569=>928,570=>698,571=>716,572=>548,573=>633,574=>669,575=>506,576=>511,577=>594,578=>492,579=>760,580=>785,581=>698,582=>686,583=>572,584=>426,585=>348,586=>763,587=>629,588=>748,589=>474,590=>642,591=>523,592=>583,593=>692,594=>692,595=>629,596=>548,597=>548,598=>629,599=>657,600=>572,601=>572,602=>816,603=>547,604=>505,605=>816,606=>647,607=>348,608=>629,609=>629,610=>563,611=>541,612=>564,613=>654,614=>654,615=>654,616=>342,617=>342,618=>342,619=>368,620=>462,621=>342,622=>716,623=>952,624=>952,625=>952,626=>654,627=>654,628=>641,629=>600,630=>955,631=>674,632=>600,633=>514,634=>514,635=>514,636=>474,637=>474,638=>406,639=>438,640=>721,641=>721,642=>506,643=>298,644=>387,645=>486,646=>298,647=>443,648=>416,649=>654,650=>611,651=>624,652=>523,653=>774,654=>571,655=>654,656=>511,657=>511,658=>511,659=>511,660=>482,661=>482,662=>482,663=>490,664=>784,665=>625,666=>647,667=>563,668=>659,669=>345,670=>666,671=>555,672=>629,673=>482,674=>482,675=>1005,676=>1061,677=>1005,678=>844,679=>643,680=>851,681=>935,682=>782,683=>716,684=>596,685=>398,686=>552,687=>646,688=>469,689=>466,690=>282,691=>372,692=>372,693=>432,694=>474,695=>488,696=>329,697=>271,698=>469,699=>313,700=>313,701=>313,702=>330,703=>330,704=>282,705=>282,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>254,713=>450,714=>450,715=>450,716=>254,717=>450,720=>332,721=>332,722=>330,723=>330,726=>353,727=>353,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>375,736=>340,737=>263,738=>355,739=>338,740=>282,741=>450,742=>450,743=>450,744=>450,745=>450,748=>450,750=>498,751=>450,752=>450,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>701,881=>519,882=>722,883=>699,884=>271,885=>271,886=>866,887=>664,890=>450,891=>548,892=>548,893=>548,894=>332,900=>450,901=>450,902=>698,903=>313,904=>852,905=>1022,906=>595,908=>798,910=>857,911=>820,912=>435,913=>698,914=>760,915=>639,916=>698,917=>686,918=>657,919=>850,920=>784,921=>421,922=>782,923=>698,924=>996,925=>822,926=>633,927=>784,928=>850,929=>677,931=>636,932=>669,933=>642,934=>784,935=>698,936=>822,937=>801,938=>421,939=>642,940=>692,941=>547,942=>654,943=>435,944=>624,945=>692,946=>598,947=>594,948=>600,949=>547,950=>533,951=>654,952=>600,953=>435,954=>674,955=>631,956=>659,957=>624,958=>533,959=>600,960=>659,961=>598,962=>548,963=>664,964=>605,965=>624,966=>814,967=>592,968=>847,969=>857,970=>435,971=>624,972=>600,973=>624,974=>857,975=>782,976=>600,977=>764,978=>687,979=>872,980=>687,981=>847,982=>857,983=>589,984=>784,985=>600,986=>716,987=>548,988=>639,989=>475,990=>531,991=>593,992=>716,993=>600,1008=>589,1009=>598,1010=>548,1011=>325,1012=>784,1013=>548,1014=>548,1015=>681,1016=>629,1017=>716,1018=>996,1019=>774,1020=>623,1021=>716,1022=>716,1023=>716,1024=>686,1025=>686,1026=>811,1027=>621,1028=>716,1029=>650,1030=>421,1031=>421,1032=>426,1033=>1081,1034=>1135,1035=>866,1036=>818,1037=>850,1038=>730,1039=>850,1040=>733,1041=>769,1042=>760,1043=>621,1044=>800,1045=>686,1046=>1181,1047=>649,1048=>850,1049=>850,1050=>818,1051=>795,1052=>996,1053=>850,1054=>784,1055=>850,1056=>677,1057=>716,1058=>669,1059=>730,1060=>854,1061=>698,1062=>870,1063=>822,1064=>1141,1065=>1164,1066=>861,1067=>1081,1068=>743,1069=>716,1070=>1158,1071=>793,1072=>583,1073=>650,1074=>591,1075=>506,1076=>625,1077=>572,1078=>1175,1079=>574,1080=>654,1081=>654,1082=>609,1083=>659,1084=>855,1085=>656,1086=>600,1087=>654,1088=>629,1089=>548,1090=>952,1091=>538,1092=>812,1093=>536,1094=>723,1095=>643,1096=>952,1097=>1021,1098=>654,1099=>916,1100=>593,1101=>580,1102=>901,1103=>716,1104=>572,1105=>572,1106=>646,1107=>506,1108=>548,1109=>506,1110=>342,1111=>342,1112=>325,1113=>913,1114=>910,1115=>654,1116=>609,1117=>654,1118=>538,1119=>654,1122=>792,1123=>945,1124=>1076,1125=>867,1130=>1181,1131=>909,1132=>1467,1133=>1122,1136=>986,1137=>995,1138=>784,1139=>587,1140=>824,1141=>673,1142=>824,1143=>673,1164=>761,1165=>606,1168=>630,1169=>556,1170=>621,1171=>506,1172=>768,1173=>634,1174=>1181,1175=>1175,1176=>649,1177=>574,1178=>812,1179=>633,1182=>818,1183=>609,1184=>937,1185=>684,1186=>856,1187=>725,1188=>1050,1189=>859,1190=>1191,1191=>911,1194=>716,1195=>548,1196=>669,1197=>1028,1198=>642,1199=>515,1200=>642,1201=>515,1202=>709,1203=>536,1204=>909,1205=>749,1206=>822,1207=>712,1210=>819,1211=>654,1216=>421,1217=>1181,1218=>1175,1219=>782,1220=>624,1223=>850,1224=>659,1227=>885,1228=>659,1231=>342,1232=>733,1233=>583,1234=>733,1235=>583,1236=>931,1237=>877,1238=>686,1239=>572,1240=>784,1241=>572,1242=>784,1243=>572,1244=>1181,1245=>1175,1246=>649,1247=>574,1248=>591,1249=>511,1250=>850,1251=>654,1252=>850,1253=>654,1254=>784,1255=>600,1256=>784,1257=>600,1258=>784,1259=>600,1260=>716,1261=>580,1262=>730,1263=>538,1264=>730,1265=>538,1266=>730,1267=>538,1268=>822,1269=>643,1270=>621,1271=>506,1272=>1081,1273=>916,1296=>649,1297=>574,1298=>795,1299=>659,1300=>1123,1301=>904,1306=>738,1307=>576,1308=>925,1309=>770,1329=>848,1330=>748,1331=>804,1332=>817,1333=>739,1334=>738,1335=>672,1336=>748,1337=>1013,1338=>804,1339=>722,1340=>650,1341=>1069,1342=>798,1343=>757,1344=>663,1345=>777,1346=>826,1347=>766,1348=>879,1349=>750,1350=>822,1351=>759,1352=>784,1353=>736,1354=>931,1355=>761,1356=>867,1357=>784,1358=>822,1359=>727,1360=>727,1361=>752,1362=>639,1363=>859,1364=>802,1365=>784,1366=>867,1369=>276,1370=>237,1371=>264,1372=>352,1373=>290,1374=>396,1375=>450,1377=>949,1378=>625,1379=>699,1380=>721,1381=>655,1382=>668,1383=>539,1384=>660,1385=>818,1386=>690,1387=>651,1388=>358,1389=>978,1390=>625,1391=>647,1392=>663,1393=>615,1394=>664,1395=>633,1396=>651,1397=>323,1398=>647,1399=>446,1400=>664,1401=>385,1402=>953,1403=>602,1404=>669,1405=>651,1406=>651,1407=>936,1408=>651,1409=>642,1410=>444,1411=>936,1412=>660,1413=>624,1414=>860,1415=>750,1417=>306,1418=>349,4256=>688,4257=>851,4258=>788,4259=>795,4260=>712,4261=>979,4262=>921,4263=>1100,4264=>587,4265=>745,4266=>955,4267=>954,4268=>725,4269=>1030,4270=>880,4271=>820,4272=>1007,4273=>721,4274=>689,4275=>977,4276=>887,4277=>968,4278=>738,4279=>758,4280=>748,4281=>759,4282=>826,4283=>978,4284=>701,4285=>748,4286=>740,4287=>1008,4288=>1019,4289=>730,4290=>812,4291=>730,4292=>801,4293=>965,4304=>535,4305=>563,4306=>579,4307=>798,4308=>553,4309=>549,4310=>599,4311=>823,4312=>552,4313=>540,4314=>1008,4315=>589,4316=>576,4317=>791,4318=>561,4319=>571,4320=>790,4321=>591,4322=>721,4323=>676,4324=>782,4325=>575,4326=>820,4327=>559,4328=>583,4329=>576,4330=>656,4331=>577,4332=>575,4333=>566,4334=>606,4335=>663,4336=>563,4337=>591,4338=>563,4339=>563,4340=>562,4341=>603,4342=>846,4343=>612,4344=>572,4345=>605,4346=>562,4347=>401,4348=>327,7424=>577,7425=>802,7426=>838,7427=>625,7428=>548,7429=>607,7430=>607,7431=>555,7432=>458,7433=>288,7434=>505,7435=>650,7436=>555,7437=>782,7438=>664,7439=>600,7440=>548,7441=>565,7442=>565,7443=>600,7444=>925,7445=>538,7446=>600,7447=>600,7448=>527,7449=>721,7450=>721,7451=>558,7452=>583,7453=>597,7454=>831,7455=>589,7456=>523,7457=>774,7458=>511,7459=>511,7460=>529,7461=>721,7462=>527,7463=>577,7464=>659,7465=>527,7466=>769,7467=>634,7468=>439,7469=>586,7470=>479,7471=>479,7472=>491,7473=>432,7474=>432,7475=>483,7476=>536,7477=>265,7478=>268,7479=>492,7480=>398,7481=>627,7482=>518,7483=>545,7484=>493,7485=>398,7486=>426,7487=>471,7488=>422,7489=>494,7490=>637,7491=>367,7492=>367,7493=>436,7494=>528,7495=>448,7496=>448,7497=>400,7498=>400,7499=>370,7500=>370,7501=>448,7502=>270,7503=>471,7504=>655,7505=>426,7506=>420,7507=>384,7508=>420,7509=>420,7510=>448,7511=>333,7512=>468,7513=>376,7514=>655,7515=>442,7516=>454,7517=>376,7518=>374,7519=>378,7520=>513,7521=>373,7522=>215,7523=>372,7524=>468,7525=>442,7526=>376,7527=>374,7528=>377,7529=>513,7530=>373,7531=>938,7543=>576,7544=>536,7547=>342,7548=>342,7549=>629,7550=>583,7551=>611,7557=>342,7579=>436,7580=>384,7581=>384,7582=>420,7583=>370,7584=>244,7585=>335,7586=>448,7587=>470,7588=>270,7589=>276,7590=>270,7591=>270,7592=>333,7593=>331,7594=>289,7595=>387,7596=>613,7597=>655,7598=>529,7599=>528,7600=>425,7601=>420,7602=>470,7603=>360,7604=>348,7605=>333,7606=>468,7607=>427,7608=>367,7609=>439,7610=>329,7611=>321,7612=>474,7613=>371,7614=>407,7615=>420,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>698,7681=>583,7682=>760,7683=>629,7684=>760,7685=>629,7686=>760,7687=>629,7688=>716,7689=>548,7690=>780,7691=>629,7692=>780,7693=>629,7694=>780,7695=>629,7696=>780,7697=>629,7698=>780,7699=>629,7700=>686,7701=>572,7702=>686,7703=>572,7704=>686,7705=>572,7706=>686,7707=>572,7708=>686,7709=>572,7710=>639,7711=>387,7712=>769,7713=>629,7714=>850,7715=>654,7716=>850,7717=>654,7718=>850,7719=>654,7720=>850,7721=>654,7722=>850,7723=>654,7724=>421,7725=>342,7726=>421,7727=>342,7728=>782,7729=>624,7730=>782,7731=>624,7732=>782,7733=>624,7734=>633,7735=>342,7736=>633,7737=>342,7738=>633,7739=>342,7740=>633,7741=>342,7742=>996,7743=>952,7744=>996,7745=>952,7746=>996,7747=>952,7748=>822,7749=>654,7750=>822,7751=>654,7752=>822,7753=>654,7754=>822,7755=>654,7756=>784,7757=>600,7758=>784,7759=>600,7760=>784,7761=>600,7762=>784,7763=>600,7764=>677,7765=>629,7766=>677,7767=>629,7768=>748,7769=>474,7770=>748,7771=>474,7772=>748,7773=>474,7774=>748,7775=>474,7776=>650,7777=>506,7778=>650,7779=>506,7780=>650,7781=>506,7782=>650,7783=>506,7784=>650,7785=>506,7786=>669,7787=>416,7788=>669,7789=>416,7790=>669,7791=>416,7792=>669,7793=>416,7794=>785,7795=>654,7796=>785,7797=>654,7798=>785,7799=>654,7800=>785,7801=>654,7802=>785,7803=>654,7804=>698,7805=>523,7806=>698,7807=>523,7808=>1011,7809=>774,7810=>1011,7811=>774,7812=>1011,7813=>774,7814=>1011,7815=>774,7816=>1011,7817=>774,7818=>698,7819=>536,7820=>698,7821=>536,7822=>642,7823=>523,7824=>657,7825=>511,7826=>657,7827=>511,7828=>657,7829=>511,7830=>654,7831=>416,7832=>774,7833=>523,7834=>913,7835=>387,7836=>387,7837=>387,7838=>852,7839=>600,7840=>698,7841=>583,7842=>698,7843=>583,7844=>698,7845=>583,7846=>698,7847=>583,7848=>698,7849=>583,7850=>698,7851=>583,7852=>698,7853=>583,7854=>698,7855=>583,7856=>698,7857=>583,7858=>698,7859=>583,7860=>698,7861=>583,7862=>698,7863=>583,7864=>686,7865=>572,7866=>686,7867=>572,7868=>686,7869=>572,7870=>686,7871=>572,7872=>686,7873=>572,7874=>686,7875=>572,7876=>686,7877=>572,7878=>686,7879=>572,7880=>421,7881=>342,7882=>421,7883=>342,7884=>784,7885=>600,7886=>784,7887=>600,7888=>784,7889=>600,7890=>784,7891=>600,7892=>784,7893=>600,7894=>784,7895=>600,7896=>784,7897=>600,7898=>784,7899=>600,7900=>784,7901=>600,7902=>784,7903=>600,7904=>784,7905=>600,7906=>784,7907=>600,7908=>785,7909=>654,7910=>785,7911=>654,7912=>785,7913=>654,7914=>785,7915=>654,7916=>785,7917=>654,7918=>785,7919=>654,7920=>785,7921=>654,7922=>642,7923=>523,7924=>642,7925=>523,7926=>642,7927=>523,7928=>642,7929=>523,7930=>970,7931=>630,7936=>692,7937=>692,7938=>692,7939=>692,7940=>692,7941=>692,7942=>692,7943=>692,7944=>698,7945=>698,7946=>880,7947=>880,7948=>748,7949=>764,7950=>698,7951=>698,7952=>547,7953=>547,7954=>547,7955=>547,7956=>547,7957=>547,7960=>826,7961=>817,7962=>1052,7963=>1052,7964=>984,7965=>1007,7968=>654,7969=>654,7970=>654,7971=>654,7972=>654,7973=>654,7974=>654,7975=>654,7976=>990,7977=>984,7978=>1222,7979=>1225,7980=>1151,7981=>1177,7982=>1077,7983=>1074,7984=>435,7985=>435,7986=>435,7987=>435,7988=>435,7989=>435,7990=>435,7991=>435,7992=>566,7993=>555,7994=>790,7995=>792,7996=>719,7997=>748,7998=>650,7999=>642,8000=>600,8001=>600,8002=>600,8003=>600,8004=>600,8005=>600,8008=>810,8009=>841,8010=>1116,8011=>1113,8012=>931,8013=>959,8016=>624,8017=>624,8018=>624,8019=>624,8020=>624,8021=>624,8022=>624,8023=>624,8025=>830,8027=>1067,8029=>1020,8031=>917,8032=>857,8033=>857,8034=>857,8035=>857,8036=>857,8037=>857,8038=>857,8039=>857,8040=>838,8041=>867,8042=>1141,8043=>1146,8044=>949,8045=>979,8046=>920,8047=>954,8048=>692,8049=>692,8050=>547,8051=>547,8052=>654,8053=>654,8054=>435,8055=>435,8056=>600,8057=>600,8058=>624,8059=>624,8060=>857,8061=>857,8064=>692,8065=>692,8066=>692,8067=>692,8068=>692,8069=>692,8070=>692,8071=>692,8072=>698,8073=>698,8074=>880,8075=>880,8076=>748,8077=>764,8078=>698,8079=>698,8080=>654,8081=>654,8082=>654,8083=>654,8084=>654,8085=>654,8086=>654,8087=>654,8088=>990,8089=>984,8090=>1222,8091=>1225,8092=>1151,8093=>1177,8094=>1077,8095=>1074,8096=>857,8097=>857,8098=>857,8099=>857,8100=>857,8101=>857,8102=>857,8103=>857,8104=>838,8105=>867,8106=>1141,8107=>1146,8108=>949,8109=>979,8110=>920,8111=>954,8112=>692,8113=>692,8114=>692,8115=>692,8116=>692,8118=>692,8119=>692,8120=>698,8121=>698,8122=>729,8123=>698,8124=>698,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>654,8131=>654,8132=>654,8134=>654,8135=>654,8136=>899,8137=>852,8138=>1072,8139=>1006,8140=>850,8141=>450,8142=>450,8143=>450,8144=>435,8145=>435,8146=>435,8147=>435,8150=>435,8151=>435,8152=>421,8153=>421,8154=>642,8155=>595,8157=>450,8158=>450,8159=>450,8160=>624,8161=>624,8162=>624,8163=>624,8164=>598,8165=>598,8166=>624,8167=>624,8168=>642,8169=>642,8170=>917,8171=>857,8172=>819,8173=>450,8174=>450,8175=>450,8178=>857,8179=>857,8180=>857,8182=>857,8183=>857,8184=>962,8185=>798,8186=>991,8187=>820,8188=>801,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>626,8200=>313,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>374,8209=>374,8210=>626,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>313,8217=>313,8218=>313,8219=>313,8220=>518,8221=>518,8222=>518,8223=>518,8224=>470,8225=>470,8226=>575,8227=>575,8228=>313,8229=>606,8230=>900,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1246,8241=>1631,8242=>237,8243=>402,8244=>567,8245=>237,8246=>402,8247=>567,8248=>659,8249=>360,8250=>360,8252=>566,8253=>527,8254=>450,8258=>920,8260=>150,8261=>426,8262=>426,8263=>974,8264=>770,8265=>770,8267=>572,8268=>450,8269=>450,8270=>470,8271=>332,8273=>470,8274=>500,8275=>900,8279=>731,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>394,8305=>215,8308=>394,8309=>394,8310=>394,8311=>394,8312=>394,8313=>394,8314=>475,8315=>475,8316=>475,8317=>268,8318=>268,8319=>412,8320=>394,8321=>394,8322=>394,8323=>394,8324=>394,8325=>394,8326=>394,8327=>394,8328=>394,8329=>394,8330=>475,8331=>475,8332=>475,8333=>268,8334=>268,8336=>367,8337=>400,8338=>420,8339=>338,8340=>400,8341=>469,8342=>471,8343=>263,8344=>655,8345=>412,8346=>448,8347=>355,8348=>333,8358=>626,8364=>626,8367=>1039,8369=>710,8372=>788,8373=>626,8376=>669,8377=>626,8451=>1078,8457=>1001,8462=>654,8463=>654,8470=>978,8482=>900,8486=>801,8487=>801,8490=>782,8491=>698,8498=>639,8513=>707,8514=>518,8515=>573,8516=>684,8523=>813,8526=>533,8528=>932,8529=>932,8530=>1326,8531=>932,8532=>932,8533=>932,8534=>932,8535=>932,8536=>932,8537=>932,8538=>932,8539=>932,8540=>932,8541=>932,8542=>932,8543=>554,8544=>421,8545=>663,8546=>904,8547=>984,8548=>698,8549=>1014,8550=>1256,8551=>1498,8552=>962,8553=>698,8554=>970,8555=>1212,8556=>633,8557=>716,8558=>780,8559=>996,8560=>342,8561=>684,8562=>1025,8563=>865,8564=>523,8565=>865,8566=>1207,8567=>1548,8568=>878,8569=>536,8570=>878,8571=>1220,8572=>342,8573=>548,8574=>629,8575=>952,8576=>1129,8577=>780,8578=>1141,8579=>716,8580=>548,8581=>716,8585=>932,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>765,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>577,8706=>480,8707=>558,8708=>558,8710=>677,8711=>677,8712=>666,8713=>666,8715=>666,8716=>666,8719=>757,8720=>757,8721=>677,8722=>754,8723=>754,8724=>754,8725=>329,8727=>622,8728=>466,8729=>466,8730=>591,8731=>591,8732=>591,8733=>604,8734=>750,8735=>754,8736=>754,8739=>292,8740=>546,8741=>476,8742=>696,8743=>730,8744=>730,8745=>754,8746=>754,8747=>521,8748=>900,8749=>1252,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8770=>754,8771=>754,8776=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>974,8789=>974,8800=>754,8801=>754,8804=>754,8805=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8844=>754,8845=>754,8846=>754,8847=>754,8848=>754,8849=>754,8850=>754,8851=>754,8852=>754,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>795,8867=>795,8868=>864,8869=>864,8870=>554,8871=>554,8872=>795,8873=>795,8874=>795,8875=>971,8876=>795,8877=>795,8878=>795,8879=>971,8901=>358,8962=>751,8968=>426,8969=>426,8970=>426,8971=>426,8976=>754,8977=>484,8984=>835,8985=>754,8992=>521,8993=>521,8997=>900,9000=>1299,9085=>907,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>521,9167=>850,9251=>751,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>712,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>785,9697=>785,9698=>692,9699=>692,9700=>692,9701=>692,9702=>531,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9784=>807,9785=>807,9786=>807,9787=>807,9788=>807,9791=>552,9792=>658,9793=>658,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,10145=>754,10181=>411,10182=>411,10208=>444,10216=>411,10217=>411,10224=>754,10225=>754,10226=>754,10227=>754,10228=>930,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>703,10241=>703,10242=>703,10243=>703,10244=>703,10245=>703,10246=>703,10247=>703,10248=>703,10249=>703,10250=>703,10251=>703,10252=>703,10253=>703,10254=>703,10255=>703,10256=>703,10257=>703,10258=>703,10259=>703,10260=>703,10261=>703,10262=>703,10263=>703,10264=>703,10265=>703,10266=>703,10267=>703,10268=>703,10269=>703,10270=>703,10271=>703,10272=>703,10273=>703,10274=>703,10275=>703,10276=>703,10277=>703,10278=>703,10279=>703,10280=>703,10281=>703,10282=>703,10283=>703,10284=>703,10285=>703,10286=>703,10287=>703,10288=>703,10289=>703,10290=>703,10291=>703,10292=>703,10293=>703,10294=>703,10295=>703,10296=>703,10297=>703,10298=>703,10299=>703,10300=>703,10301=>703,10302=>703,10303=>703,10304=>703,10305=>703,10306=>703,10307=>703,10308=>703,10309=>703,10310=>703,10311=>703,10312=>703,10313=>703,10314=>703,10315=>703,10316=>703,10317=>703,10318=>703,10319=>703,10320=>703,10321=>703,10322=>703,10323=>703,10324=>703,10325=>703,10326=>703,10327=>703,10328=>703,10329=>703,10330=>703,10331=>703,10332=>703,10333=>703,10334=>703,10335=>703,10336=>703,10337=>703,10338=>703,10339=>703,10340=>703,10341=>703,10342=>703,10343=>703,10344=>703,10345=>703,10346=>703,10347=>703,10348=>703,10349=>703,10350=>703,10351=>703,10352=>703,10353=>703,10354=>703,10355=>703,10356=>703,10357=>703,10358=>703,10359=>703,10360=>703,10361=>703,10362=>703,10363=>703,10364=>703,10365=>703,10366=>703,10367=>703,10368=>703,10369=>703,10370=>703,10371=>703,10372=>703,10373=>703,10374=>703,10375=>703,10376=>703,10377=>703,10378=>703,10379=>703,10380=>703,10381=>703,10382=>703,10383=>703,10384=>703,10385=>703,10386=>703,10387=>703,10388=>703,10389=>703,10390=>703,10391=>703,10392=>703,10393=>703,10394=>703,10395=>703,10396=>703,10397=>703,10398=>703,10399=>703,10400=>703,10401=>703,10402=>703,10403=>703,10404=>703,10405=>703,10406=>703,10407=>703,10408=>703,10409=>703,10410=>703,10411=>703,10412=>703,10413=>703,10414=>703,10415=>703,10416=>703,10417=>703,10418=>703,10419=>703,10420=>703,10421=>703,10422=>703,10423=>703,10424=>703,10425=>703,10426=>703,10427=>703,10428=>703,10429=>703,10430=>703,10431=>703,10432=>703,10433=>703,10434=>703,10435=>703,10436=>703,10437=>703,10438=>703,10439=>703,10440=>703,10441=>703,10442=>703,10443=>703,10444=>703,10445=>703,10446=>703,10447=>703,10448=>703,10449=>703,10450=>703,10451=>703,10452=>703,10453=>703,10454=>703,10455=>703,10456=>703,10457=>703,10458=>703,10459=>703,10460=>703,10461=>703,10462=>703,10463=>703,10464=>703,10465=>703,10466=>703,10467=>703,10468=>703,10469=>703,10470=>703,10471=>703,10472=>703,10473=>703,10474=>703,10475=>703,10476=>703,10477=>703,10478=>703,10479=>703,10480=>703,10481=>703,10482=>703,10483=>703,10484=>703,10485=>703,10486=>703,10487=>703,10488=>703,10489=>703,10490=>703,10491=>703,10492=>703,10493=>703,10494=>703,10495=>703,10496=>754,10497=>754,10498=>754,10499=>754,10500=>754,10501=>754,10502=>754,10503=>754,10504=>754,10505=>754,10506=>754,10507=>754,10508=>754,10509=>754,10510=>754,10511=>754,10512=>754,10513=>754,10514=>754,10515=>754,10516=>754,10517=>754,10518=>754,10519=>754,10520=>754,10521=>754,10522=>754,10523=>754,10524=>754,10525=>754,10526=>754,10527=>754,10528=>754,10529=>754,10530=>754,10531=>754,10532=>754,10533=>754,10534=>754,10535=>754,10536=>754,10537=>754,10538=>754,10539=>754,10540=>754,10541=>754,10542=>754,10543=>754,10544=>754,10545=>754,10546=>754,10547=>754,10548=>754,10549=>754,10550=>754,10551=>754,10552=>754,10553=>754,10554=>754,10555=>754,10556=>754,10557=>754,10558=>754,10559=>754,10560=>754,10561=>754,10562=>754,10563=>754,10564=>754,10565=>754,10566=>754,10567=>754,10568=>754,10569=>754,10570=>754,10571=>754,10572=>754,10573=>754,10574=>754,10575=>754,10576=>754,10577=>754,10578=>754,10579=>754,10580=>754,10581=>754,10582=>754,10583=>754,10584=>754,10585=>754,10586=>754,10587=>754,10588=>754,10589=>754,10590=>754,10591=>754,10592=>754,10593=>754,10594=>754,10595=>754,10596=>754,10597=>754,10598=>754,10599=>754,10600=>754,10601=>754,10602=>754,10603=>754,10604=>754,10605=>754,10606=>754,10607=>754,10608=>754,10609=>754,10610=>754,10611=>754,10612=>754,10613=>754,10614=>754,10615=>929,10616=>754,10617=>754,10618=>864,10619=>754,10620=>754,10621=>754,10622=>754,10623=>754,10731=>444,10764=>1604,10765=>549,10766=>549,10799=>754,10858=>754,10859=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>754,11023=>754,11024=>754,11025=>754,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11360=>633,11361=>342,11363=>677,11364=>748,11367=>850,11368=>654,11369=>782,11370=>624,11371=>657,11372=>511,11373=>763,11374=>996,11375=>698,11376=>763,11377=>638,11378=>1099,11379=>886,11381=>701,11382=>519,11383=>814,11385=>514,11386=>600,11387=>555,11388=>282,11389=>439,11390=>650,11391=>657,11520=>695,11521=>571,11522=>723,11523=>592,11524=>708,11525=>866,11526=>680,11527=>864,11528=>555,11529=>581,11530=>866,11531=>567,11532=>581,11533=>866,11534=>761,11535=>779,11536=>865,11537=>580,11538=>580,11539=>863,11540=>851,11541=>777,11542=>580,11543=>581,11544=>580,11545=>584,11546=>619,11547=>842,11548=>883,11549=>613,11550=>608,11551=>766,11552=>1002,11553=>569,11554=>580,11555=>582,11556=>674,11557=>822,11800=>527,11807=>754,11810=>426,11811=>426,11812=>426,11813=>426,11822=>527,42564=>650,42565=>506,42566=>421,42567=>342,42576=>1200,42577=>976,42580=>1158,42581=>923,42582=>1158,42583=>926,42760=>450,42761=>450,42762=>450,42763=>450,42764=>450,42765=>450,42766=>450,42767=>450,42768=>450,42769=>450,42770=>450,42771=>450,42772=>450,42773=>450,42774=>450,42779=>346,42780=>346,42781=>249,42782=>249,42783=>249,42790=>850,42791=>641,42792=>903,42793=>817,42794=>626,42795=>548,42796=>570,42797=>538,42798=>667,42799=>635,42800=>533,42801=>506,42802=>1170,42803=>885,42804=>1134,42805=>886,42806=>1051,42807=>906,42808=>914,42809=>749,42810=>914,42811=>749,42812=>895,42813=>671,42814=>716,42815=>548,42816=>782,42817=>624,42822=>824,42823=>523,42826=>909,42827=>692,42830=>1303,42831=>954,42856=>708,42857=>644,42875=>625,42876=>474,42880=>633,42881=>342,42882=>785,42883=>654,42884=>625,42885=>474,42886=>716,42887=>548,42891=>395,42892=>275,42893=>822,42896=>822,42897=>730,42922=>850,43002=>961,43003=>639,43004=>677,43005=>996,43006=>421,43007=>1157,62464=>653,62465=>663,62466=>707,62467=>917,62468=>663,62469=>658,62470=>716,62471=>952,62472=>663,62473=>663,62474=>1196,62475=>679,62476=>678,62477=>922,62478=>663,62479=>678,62480=>963,62481=>736,62482=>783,62483=>737,62484=>914,62485=>677,62486=>907,62487=>677,62488=>684,62489=>678,62490=>720,62491=>678,62492=>684,62493=>664,62494=>721,62495=>860,62496=>663,62497=>762,62498=>664,62499=>663,62500=>663,62501=>714,62502=>930,62504=>813,63172=>342,63173=>600,63174=>629,63175=>654,63176=>952,63185=>450,63188=>450,64256=>744,64257=>654,64258=>654,64259=>998,64260=>1031,64261=>791,64262=>874,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1002,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.z new file mode 100644 index 0000000..f72fcba Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.ctg.z new file mode 100644 index 0000000..aa9dc33 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.php new file mode 100644 index 0000000..7edf115 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-755 -347 1480 1109]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>34,'StemH'=>15,'AvgWidth'=>461,'MaxWidth'=>1560,'MissingWidth'=>540); +$cbbox=array(0=>array(44,-177,495,705),33=>array(69,-14,303,729),34=>array(88,458,326,729),35=>array(69,0,686,718),36=>array(30,-147,517,760),37=>array(81,-14,774,742),38=>array(35,-14,751,742),39=>array(88,458,158,729),40=>array(71,-156,367,760),41=>array(-17,-156,280,760),42=>array(14,287,436,742),43=>array(95,0,659,627),44=>array(18,-136,221,111),45=>array(33,230,271,306),46=>array(84,-14,202,116),47=>array(-72,-93,375,729),48=>array(59,-14,513,742),49=>array(63,0,396,742),50=>array(-4,0,504,742),51=>array(11,-14,515,742),52=>array(-3,0,506,742),53=>array(20,-14,518,729),54=>array(56,-14,543,742),55=>array(109,0,572,729),56=>array(31,-14,524,742),57=>array(30,-14,516,742),58=>array(65,-14,239,434),59=>array(-11,-136,251,434),60=>array(95,46,659,581),61=>array(95,175,659,452),62=>array(95,46,659,581),63=>array(97,-14,472,742),64=>array(58,-174,851,704),65=>array(-69,0,604,729),66=>array(-14,0,606,729),67=>array(47,-14,672,742),68=>array(-14,0,670,729),69=>array(-14,0,642,729),70=>array(-14,0,651,729),71=>array(50,-14,682,742),72=>array(-14,0,799,729),73=>array(-14,0,370,729),74=>array(-152,-208,402,729),75=>array(-14,0,716,729),76=>array(-14,0,544,729),77=>array(-14,0,940,729),78=>array(-19,-14,813,729),79=>array(46,-14,688,742),80=>array(-14,0,602,729),81=>array(54,-160,709,742),82=>array(-14,0,645,729),83=>array(26,-14,577,742),84=>array(42,0,655,729),85=>array(98,-14,783,729),86=>array(45,0,727,729),87=>array(59,0,986,729),88=>array(-59,0,670,729),89=>array(44,0,666,729),90=>array(-23,0,638,729),91=>array(-1,-132,360,760),92=>array(72,-93,231,729),93=>array(-9,-132,352,760),94=>array(95,457,659,729),95=>array(0,-236,450,-197),96=>array(161,615,330,799),97=>array(30,-14,477,534),98=>array(38,-14,519,760),99=>array(38,-14,487,533),100=>array(18,-14,541,760),101=>array(38,-14,492,533),102=>array(-56,-208,466,760),103=>array(32,-222,538,533),104=>array(43,0,498,760),105=>array(45,0,243,736),106=>array(-165,-222,265,736),107=>array(37,0,494,760),108=>array(37,0,251,760),109=>array(63,0,792,533),110=>array(63,0,517,533),111=>array(38,-14,503,533),112=>array(39,-208,555,533),113=>array(81,-208,535,533),114=>array(63,0,475,533),115=>array(10,-14,431,533),116=>array(49,-14,363,680),117=>array(62,-14,517,519),118=>array(34,0,499,519),119=>array(50,0,752,519),120=>array(2,0,495,519),121=>array(-34,-222,518,519),122=>array(-10,-25,479,544),123=>array(108,-163,541,760),124=>array(116,-236,188,764),125=>array(32,-163,465,760),126=>array(95,233,659,394),161=>array(59,0,293,743),162=>array(68,-145,510,662),163=>array(-5,0,545,742),164=>array(45,45,529,582),165=>array(41,0,639,729),166=>array(116,-171,188,699),167=>array(1,-95,433,742),168=>array(173,652,447,766),169=>array(124,0,776,725),170=>array(31,261,389,734),171=>array(66,69,506,517),172=>array(95,140,659,421),173=>array(33,230,271,306),174=>array(124,0,776,725),175=>array(162,673,437,745),176=>array(85,432,365,742),177=>array(95,0,659,627),178=>array(3,326,317,742),179=>array(11,319,317,742),180=>array(231,616,465,800),181=>array(40,-208,540,519),182=>array(105,-96,587,729),183=>array(83,282,201,412),184=>array(113,-193,308,0),185=>array(42,326,263,734),186=>array(18,261,390,742),187=>array(45,69,485,517),188=>array(42,-14,777,742),189=>array(42,-14,771,742),190=>array(11,-14,777,742),191=>array(28,-13,403,743),192=>array(-69,0,604,927),193=>array(-69,0,604,927),194=>array(-69,0,604,927),195=>array(-69,0,604,921),196=>array(-69,0,604,920),197=>array(-87,0,587,928),198=>array(-80,0,911,729),199=>array(47,-193,672,742),200=>array(-14,0,642,927),201=>array(-14,0,642,927),202=>array(-14,0,642,927),203=>array(-14,0,642,920),204=>array(-14,0,370,927),205=>array(-14,0,402,927),206=>array(-14,0,405,927),207=>array(-14,0,403,920),208=>array(-10,0,674,729),209=>array(-19,-14,813,921),210=>array(46,-14,688,927),211=>array(46,-14,688,927),212=>array(46,-14,688,927),213=>array(46,-14,688,921),214=>array(46,-14,688,920),215=>array(124,33,630,594),216=>array(-19,-28,755,757),217=>array(98,-14,783,927),218=>array(98,-14,783,927),219=>array(98,-14,783,927),220=>array(98,-14,783,920),221=>array(44,0,666,927),222=>array(-14,0,574,729),223=>array(-77,-208,525,760),224=>array(30,-14,477,799),225=>array(30,-14,490,800),226=>array(30,-14,477,800),227=>array(30,-14,500,777),228=>array(30,-14,477,766),229=>array(30,-14,477,878),230=>array(30,-15,806,533),231=>array(38,-193,487,533),232=>array(38,-14,492,799),233=>array(38,-14,506,800),234=>array(38,-14,492,800),235=>array(38,-14,492,766),236=>array(64,0,249,799),237=>array(64,0,384,800),238=>array(64,0,353,800),239=>array(64,0,366,766),240=>array(23,-14,518,760),241=>array(63,0,517,777),242=>array(38,-14,503,799),243=>array(38,-14,510,800),244=>array(38,-14,503,800),245=>array(38,-14,521,777),246=>array(38,-14,503,766),247=>array(95,68,659,559),248=>array(-15,-46,553,565),249=>array(62,-14,517,799),250=>array(62,-14,517,800),251=>array(62,-14,517,800),252=>array(62,-14,517,766),253=>array(-34,-222,518,800),254=>array(19,-208,536,760),255=>array(-34,-222,518,766),256=>array(-69,0,604,899),257=>array(30,-14,477,745),258=>array(-69,0,604,926),259=>array(30,-14,477,772),260=>array(-69,-192,604,729),261=>array(30,-192,477,534),262=>array(47,-14,672,927),263=>array(38,-14,506,800),264=>array(47,-14,672,927),265=>array(38,-14,487,800),266=>array(47,-14,672,921),267=>array(38,-14,487,766),268=>array(47,-14,672,927),269=>array(38,-14,506,800),270=>array(-14,0,670,927),271=>array(18,-14,732,760),272=>array(-10,0,674,729),273=>array(18,-14,599,760),274=>array(-14,0,642,899),275=>array(38,-14,492,746),276=>array(-14,0,642,928),277=>array(38,-14,497,785),278=>array(-14,0,642,921),279=>array(38,-14,492,766),280=>array(-14,-192,642,729),281=>array(38,-192,492,533),282=>array(-14,0,642,927),283=>array(38,-14,506,800),284=>array(50,-14,682,927),285=>array(32,-222,538,800),286=>array(50,-14,682,928),287=>array(32,-222,538,785),288=>array(50,-14,682,921),289=>array(32,-222,538,766),290=>array(50,-224,682,742),291=>array(32,-222,538,741),292=>array(-14,0,799,927),293=>array(43,0,498,927),294=>array(-14,0,799,729),295=>array(43,0,498,760),296=>array(-14,0,417,921),297=>array(48,0,362,777),298=>array(-14,0,406,899),299=>array(48,0,324,745),300=>array(-14,0,415,928),301=>array(64,0,366,785),302=>array(2,-192,387,729),303=>array(26,-192,260,736),304=>array(-14,0,370,921),305=>array(64,0,236,519),306=>array(-14,-208,762,729),307=>array(45,-222,522,736),308=>array(-152,-208,409,927),309=>array(-146,-222,324,800),310=>array(-14,-209,716,729),311=>array(37,-209,494,760),312=>array(58,0,516,518),313=>array(-14,0,544,928),314=>array(37,0,337,928),315=>array(-14,-209,544,729),316=>array(37,-209,251,760),317=>array(-14,0,544,729),318=>array(37,0,443,760),319=>array(-14,0,568,729),320=>array(37,0,379,760),321=>array(-10,0,549,729),322=>array(10,0,294,760),323=>array(-19,-14,813,928),324=>array(63,0,517,776),325=>array(-19,-224,813,729),326=>array(63,-209,517,533),327=>array(-19,-14,813,932),328=>array(63,0,517,800),329=>array(35,0,692,742),330=>array(42,-208,724,743),331=>array(83,-222,521,533),332=>array(46,-14,688,899),333=>array(38,-14,503,745),334=>array(46,-14,688,928),335=>array(38,-14,503,785),336=>array(46,-14,708,927),337=>array(38,-14,583,800),338=>array(52,0,1008,729),339=>array(38,-15,850,533),340=>array(-14,0,645,928),341=>array(63,0,494,776),342=>array(-14,-209,645,729),343=>array(63,-209,475,533),344=>array(-14,0,645,927),345=>array(63,0,488,800),346=>array(26,-14,577,928),347=>array(10,-14,494,776),348=>array(26,-14,577,927),349=>array(10,-14,439,800),350=>array(26,-193,577,742),351=>array(10,-193,431,533),352=>array(26,-14,577,927),353=>array(10,-14,471,800),354=>array(42,-193,655,729),355=>array(34,-193,363,680),356=>array(42,0,655,927),357=>array(49,-14,428,788),358=>array(42,0,655,729),359=>array(20,-14,363,680),360=>array(98,-14,783,921),361=>array(62,-14,517,777),362=>array(98,-14,783,899),363=>array(62,-14,517,745),364=>array(98,-14,783,928),365=>array(62,-14,517,785),366=>array(98,-14,783,1051),367=>array(62,-14,517,868),368=>array(98,-14,783,927),369=>array(62,-14,559,800),370=>array(98,-200,783,729),371=>array(62,-192,517,519),372=>array(59,0,986,931),373=>array(50,0,752,800),374=>array(44,0,666,931),375=>array(-34,-222,518,800),376=>array(44,0,666,920),377=>array(-23,0,638,928),378=>array(-10,-25,494,776),379=>array(-23,0,638,930),380=>array(-10,-25,479,734),381=>array(-23,0,638,927),382=>array(-10,-25,479,800),383=>array(-56,-208,466,760),384=>array(38,-14,519,760),385=>array(-62,0,606,729),386=>array(-14,0,642,729),387=>array(-40,-14,513,760),388=>array(-14,0,580,729),389=>array(-40,-14,511,760),390=>array(13,-14,639,742),391=>array(42,-14,878,796),392=>array(35,-14,695,639),393=>array(-10,0,674,729),394=>array(-61,0,670,729),395=>array(22,0,670,729),396=>array(6,-14,599,760),397=>array(41,-246,517,533),398=>array(-14,0,649,729),399=>array(47,-14,688,742),400=>array(84,-14,626,742),401=>array(-166,-208,669,729),402=>array(-165,-185,466,760),403=>array(45,-14,887,796),404=>array(70,-92,678,729),405=>array(43,-3,772,760),406=>array(99,0,370,729),407=>array(-14,0,370,729),408=>array(-15,0,798,741),409=>array(37,0,494,760),410=>array(-0,0,251,760),411=>array(-30,0,488,765),412=>array(76,-14,890,730),413=>array(-167,-208,830,729),414=>array(81,-208,512,533),415=>array(46,-14,688,742),416=>array(44,-14,774,760),417=>array(37,-14,616,533),418=>array(59,-157,864,742),419=>array(62,-208,655,533),420=>array(-61,0,602,729),421=>array(22,-208,532,716),422=>array(-0,-159,631,729),423=>array(46,-14,583,742),424=>array(30,-14,437,533),425=>array(-27,0,640,729),426=>array(-18,-222,377,761),427=>array(44,-222,421,680),428=>array(61,0,655,729),429=>array(42,-14,437,760),430=>array(61,-208,674,729),431=>array(95,-14,958,802),432=>array(57,-14,654,532),433=>array(50,-14,756,729),434=>array(99,0,626,729),435=>array(44,0,777,729),436=>array(-34,-222,710,530),437=>array(-23,0,638,729),438=>array(-9,-25,479,544),439=>array(-11,-14,505,729),440=>array(21,-14,536,729),441=>array(21,-224,535,519),442=>array(8,-224,505,519),443=>array(-4,0,504,742),444=>array(57,-14,592,729),445=>array(-11,-224,501,519),446=>array(52,-15,365,680),447=>array(36,-208,557,560),448=>array(33,0,232,729),449=>array(33,0,410,729),450=>array(-15,0,428,729),451=>array(33,0,232,729),452=>array(-14,0,1360,927),453=>array(-14,-25,1200,800),454=>array(18,-25,1055,800),455=>array(-14,-208,1000,729),456=>array(-14,-222,863,736),457=>array(37,-222,553,760),458=>array(-19,-208,1189,729),459=>array(-19,-222,1053,736),460=>array(63,-222,845,736),461=>array(-69,0,604,927),462=>array(30,-14,478,800),463=>array(-14,0,419,927),464=>array(64,0,379,800),465=>array(46,-14,688,927),466=>array(38,-14,509,800),467=>array(98,-14,783,927),468=>array(62,-14,517,800),469=>array(98,-14,783,1025),470=>array(62,-14,517,886),471=>array(98,-14,783,1044),472=>array(62,-14,517,905),473=>array(98,-14,783,1043),474=>array(62,-14,517,904),475=>array(98,-14,783,1044),476=>array(62,-14,517,905),477=>array(46,-14,488,533),478=>array(-69,0,604,1025),479=>array(30,-14,489,886),480=>array(-69,0,604,1025),481=>array(30,-14,480,888),482=>array(-80,0,911,899),483=>array(30,-15,806,745),484=>array(42,-14,709,742),485=>array(31,-222,573,533),486=>array(50,-14,682,927),487=>array(32,-222,538,800),488=>array(-14,0,716,927),489=>array(37,0,494,964),490=>array(46,-200,688,742),491=>array(38,-200,503,533),492=>array(46,-200,688,899),493=>array(38,-200,503,745),494=>array(-11,-14,506,927),495=>array(-11,-224,505,800),496=>array(-146,-222,397,800),497=>array(-14,0,1360,729),498=>array(-14,-25,1200,729),499=>array(18,-25,1055,760),500=>array(50,-14,682,928),501=>array(32,-222,538,800),502=>array(-13,-14,1027,729),503=>array(-34,-208,635,742),504=>array(-19,-14,813,927),505=>array(63,0,517,799),506=>array(-86,0,587,927),507=>array(30,-14,505,927),508=>array(-80,0,911,928),509=>array(30,-15,806,802),510=>array(-19,-28,755,928),511=>array(-15,-46,553,800),512=>array(-69,0,604,927),513=>array(29,-14,476,800),514=>array(-69,0,604,967),515=>array(29,-14,476,785),516=>array(-14,0,642,927),517=>array(38,-14,492,800),518=>array(-14,0,642,967),519=>array(38,-14,492,785),520=>array(-14,0,382,927),521=>array(13,0,319,799),522=>array(-14,0,403,967),523=>array(43,0,329,757),524=>array(46,-14,688,927),525=>array(38,-14,503,800),526=>array(46,-14,688,967),527=>array(38,-14,503,785),528=>array(-14,0,645,927),529=>array(63,0,474,800),530=>array(-14,0,645,967),531=>array(63,0,474,785),532=>array(98,-14,783,927),533=>array(62,-14,517,800),534=>array(98,-14,783,967),535=>array(62,-14,517,785),536=>array(26,-225,577,742),537=>array(10,-225,431,533),538=>array(42,-225,655,729),539=>array(49,-225,363,680),540=>array(-15,-210,536,742),541=>array(-34,-211,446,530),542=>array(-14,0,799,927),543=>array(42,0,497,964),544=>array(42,-208,724,743),545=>array(30,-73,662,760),546=>array(4,-14,492,742),547=>array(12,-14,464,760),548=>array(-7,-187,655,729),549=>array(7,-195,496,519),550=>array(-69,0,604,921),551=>array(29,-14,476,766),552=>array(-14,-193,642,729),553=>array(38,-193,492,533),554=>array(46,-14,688,1025),555=>array(38,-14,510,886),556=>array(46,-14,688,1025),557=>array(38,-14,510,862),558=>array(46,-14,688,921),559=>array(38,-14,503,766),560=>array(46,-14,688,1025),561=>array(38,-14,503,887),562=>array(44,0,666,899),563=>array(-34,-222,518,745),564=>array(72,-107,393,760),565=>array(72,-107,710,533),566=>array(57,-107,394,680),567=>array(-146,-222,256,519),568=>array(25,-14,799,760),569=>array(62,-208,836,533),570=>array(-69,-28,712,757),571=>array(-43,-28,731,757),572=>array(-32,-46,536,565),573=>array(-14,0,544,729),574=>array(-87,-28,687,757),575=>array(28,-222,450,533),576=>array(10,-222,498,519),577=>array(21,0,521,729),578=>array(56,0,396,533),579=>array(-14,0,606,729),580=>array(37,-14,783,729),581=>array(-69,0,604,729),582=>array(-14,-54,642,783),583=>array(38,-54,492,579),584=>array(-152,-208,402,729),585=>array(-146,-222,290,736),586=>array(67,-208,746,742),587=>array(81,-222,626,533),588=>array(-14,0,645,729),589=>array(25,0,475,533),590=>array(17,0,666,729),591=>array(-34,-222,557,519),592=>array(60,-14,506,533),593=>array(38,-12,590,533),594=>array(25,-12,570,533),595=>array(39,-14,511,760),596=>array(20,-14,463,533),597=>array(46,-107,496,533),598=>array(43,-222,607,760),599=>array(25,-14,730,760),600=>array(35,-14,488,533),601=>array(46,-14,488,533),602=>array(38,-14,826,533),603=>array(23,-19,449,524),604=>array(4,-19,425,524),605=>array(3,-19,765,524),606=>array(44,-18,534,533),607=>array(-146,-222,290,519),608=>array(10,-222,750,760),609=>array(32,-222,615,519),610=>array(44,-18,488,529),611=>array(67,-223,530,519),612=>array(85,-16,497,532),613=>array(79,-208,534,519),614=>array(43,0,497,760),615=>array(63,-222,493,760),616=>array(8,0,251,736),617=>array(68,0,236,519),618=>array(-13,0,313,519),619=>array(17,0,331,760),620=>array(22,0,370,760),621=>array(47,-222,319,760),622=>array(57,-224,609,760),623=>array(70,-14,798,519),624=>array(88,-208,817,533),625=>array(83,-222,787,533),626=>array(-147,-222,513,533),627=>array(83,-222,637,533),628=>array(-14,-14,608,519),629=>array(44,-14,497,533),630=>array(45,0,726,519),631=>array(34,-14,537,530),632=>array(42,-208,494,760),633=>array(-12,-14,400,519),634=>array(-33,-14,421,759),635=>array(6,-222,510,519),636=>array(45,-207,493,533),637=>array(72,-222,494,533),638=>array(63,0,428,530),639=>array(59,0,331,530),640=>array(-15,0,487,519),641=>array(-15,0,568,519),642=>array(14,-222,450,533),643=>array(-167,-222,379,761),644=>array(-167,-222,469,760),645=>array(74,-222,376,530),646=>array(-156,-222,426,761),647=>array(17,-161,332,533),648=>array(46,-208,380,680),649=>array(20,-14,551,519),650=>array(42,-14,560,519),651=>array(69,-3,501,519),652=>array(34,0,499,519),653=>array(50,0,752,519),654=>array(-15,0,537,741),655=>array(73,0,603,519),656=>array(10,-222,597,519),657=>array(-1,-93,487,519),658=>array(-11,-224,505,519),659=>array(28,-224,505,519),660=>array(36,0,422,761),661=>array(89,0,441,761),662=>array(51,0,404,761),663=>array(-6,-222,408,759),664=>array(47,-14,688,742),665=>array(-13,0,470,519),666=>array(21,-18,511,533),667=>array(24,-18,705,760),668=>array(-15,0,598,519),669=>array(-155,-222,316,736),670=>array(81,-209,538,519),671=>array(-9,0,453,519),672=>array(42,-208,748,760),673=>array(36,0,422,761),674=>array(89,0,441,761),675=>array(18,-25,895,760),676=>array(43,-224,898,760),677=>array(32,-93,887,760),678=>array(48,0,696,680),679=>array(60,-222,672,761),680=>array(49,-14,729,680),681=>array(-53,-222,781,760),682=>array(37,0,596,760),683=>array(37,-25,606,760),684=>array(21,-15,548,625),685=>array(-15,105,398,625),686=>array(86,-207,636,760),687=>array(87,-222,728,760),688=>array(31,326,312,751),689=>array(28,326,309,751),690=>array(-24,202,233,739),691=>array(40,327,292,625),692=>array(-4,318,247,617),693=>array(5,202,319,617),694=>array(-5,327,333,617),695=>array(32,326,474,617),696=>array(-21,202,326,617),697=>array(49,557,204,800),698=>array(49,557,367,800),699=>array(70,495,256,742),700=>array(77,495,263,742),701=>array(113,495,227,742),702=>array(106,492,250,760),703=>array(109,492,254,760),704=>array(-18,347,225,772),705=>array(17,347,235,772),706=>array(111,524,360,836),707=>array(90,524,339,836),708=>array(63,561,344,800),709=>array(105,561,387,800),710=>array(153,616,434,800),711=>array(185,616,465,800),712=>array(64,513,190,759),713=>array(162,673,437,745),714=>array(231,616,465,800),715=>array(161,615,330,799),716=>array(64,-90,190,156),717=>array(17,-156,292,-84),720=>array(57,0,247,434),721=>array(106,303,220,434),722=>array(64,249,208,517),723=>array(67,249,211,517),726=>array(41,165,278,411),727=>array(41,242,278,334),728=>array(180,645,455,785),729=>array(257,652,360,766),730=>array(188,610,429,878),731=>array(144,-192,306,0),732=>array(161,639,475,777),733=>array(170,616,509,800),734=>array(-7,307,365,508),736=>array(42,202,334,617),737=>array(33,326,161,751),738=>array(1,318,268,625),739=>array(1,326,312,617),740=>array(17,347,235,772),741=>array(141,0,409,668),742=>array(114,0,409,668),743=>array(88,0,409,668),744=>array(62,0,409,668),745=>array(35,0,409,668),748=>array(77,-281,358,-42),750=>array(77,495,413,742),751=>array(75,-241,355,-58),752=>array(36,-281,316,-42),755=>array(104,-240,346,28),759=>array(68,-192,382,-55),768=>array(-339,615,-171,799),769=>array(-270,616,-36,800),770=>array(-348,616,-67,800),771=>array(-340,639,-26,777),772=>array(-339,673,-63,745),773=>array(-450,716,0,755),774=>array(-321,645,-45,785),775=>array(-244,652,-141,766),776=>array(-327,652,-53,766),777=>array(-255,616,-73,852),778=>array(-313,610,-71,878),779=>array(-331,616,8,800),780=>array(-316,616,-35,800),781=>array(-234,616,-136,803),782=>array(-332,616,-38,803),783=>array(-388,616,-82,800),784=>array(-321,645,-45,874),785=>array(-343,645,-67,785),786=>array(-208,495,-52,644),787=>array(-212,606,-83,829),788=>array(-214,606,-95,829),789=>array(-74,616,74,800),790=>array(-355,-260,-186,-76),791=>array(-294,-259,-61,-76),792=>array(-304,-340,-139,-107),793=>array(-311,-340,-146,-107),794=>array(-168,698,55,932),795=>array(-112,350,74,532),796=>array(-280,-347,-135,-79),797=>array(-343,-251,-120,-99),798=>array(-329,-260,-105,-107),799=>array(-335,-340,-112,-107),800=>array(-336,-179,-112,-107),801=>array(-396,-222,-74,63),802=>array(-348,-222,-76,63),803=>array(-193,-191,-90,-77),804=>array(-363,-191,-89,-77),805=>array(-320,-241,-132,-32),806=>array(-313,-225,-180,-76),807=>array(-337,-193,-142,0),808=>array(-307,-192,-145,0),809=>array(-274,-263,-176,-76),810=>array(-373,-259,-77,-75),811=>array(-353,-217,-73,-77),812=>array(-349,-261,-68,-77),813=>array(-382,-260,-101,-76),814=>array(-350,-217,-74,-77),815=>array(-374,-216,-99,-76),816=>array(-385,-213,-71,-76),817=>array(-362,-147,-87,-75),818=>array(-450,-236,0,-197),819=>array(-450,-236,0,-80),820=>array(-681,212,-68,415),821=>array(-266,227,-22,278),822=>array(-559,227,-27,278),823=>array(-551,-46,17,565),824=>array(-755,-28,19,757),825=>array(-305,-344,-161,-76),826=>array(-375,-256,-80,-72),827=>array(-370,-344,-81,-75),828=>array(-377,-217,-98,-77),829=>array(-301,575,-86,792),830=>array(-234,592,-64,850),831=>array(-450,599,0,755),835=>array(-212,606,-83,829),856=>array(21,652,125,766),864=>array(-261,723,515,859),865=>array(-295,729,506,869),880=>array(-14,0,643,729),881=>array(58,0,440,519),882=>array(14,0,655,729),883=>array(38,0,509,519),884=>array(49,557,204,800),885=>array(49,-208,204,35),886=>array(66,-14,726,743),887=>array(58,0,525,519),890=>array(194,-208,298,-60),891=>array(26,-14,470,533),892=>array(38,-14,487,533),893=>array(26,-14,470,533),894=>array(-11,-136,251,434),900=>array(231,616,465,800),901=>array(173,652,523,996),902=>array(-69,0,604,800),903=>array(83,282,201,412),904=>array(65,0,795,800),905=>array(65,0,950,800),906=>array(65,0,520,800),908=>array(61,-14,702,800),910=>array(65,0,879,800),911=>array(12,0,718,800),912=>array(69,22,442,996),913=>array(-69,0,604,729),914=>array(-14,0,606,729),915=>array(-14,0,650,729),916=>array(-30,0,548,729),917=>array(-14,0,642,729),918=>array(-23,0,638,729),919=>array(-14,0,799,729),920=>array(46,-14,688,742),921=>array(-14,0,370,729),922=>array(-14,0,716,729),923=>array(-69,0,604,729),924=>array(-14,0,940,729),925=>array(-19,-14,813,729),926=>array(-14,0,642,729),927=>array(46,-14,688,742),928=>array(-14,0,799,729),929=>array(-14,0,602,729),931=>array(-27,0,640,729),932=>array(42,0,655,729),933=>array(44,0,666,729),934=>array(50,0,688,729),935=>array(-59,0,670,729),936=>array(97,0,818,729),937=>array(-9,0,697,742),938=>array(-14,0,409,920),939=>array(44,0,666,920),940=>array(38,-12,590,800),941=>array(23,-19,465,800),942=>array(81,-208,512,800),943=>array(69,22,384,800),944=>array(69,-3,562,996),945=>array(38,-12,590,533),946=>array(-29,-208,475,765),947=>array(87,-209,535,519),948=>array(24,-14,500,765),949=>array(23,-19,449,524),950=>array(44,-208,532,760),951=>array(81,-208,512,533),952=>array(44,-11,497,771),953=>array(69,22,272,519),954=>array(-9,0,577,519),955=>array(-30,0,488,765),956=>array(40,-208,540,519),957=>array(64,0,516,519),958=>array(31,-208,532,760),959=>array(38,-14,503,533),960=>array(-9,0,604,519),961=>array(-8,-208,501,533),962=>array(62,-208,504,533),963=>array(46,-14,635,519),964=>array(60,22,510,519),965=>array(69,-3,503,519),966=>array(49,-208,609,521),967=>array(-53,-222,589,533),968=>array(115,-208,713,519),969=>array(31,-3,690,519),970=>array(69,22,368,766),971=>array(69,-3,503,766),972=>array(38,-14,514,800),973=>array(69,-3,503,800),974=>array(31,-3,690,800),975=>array(7,-240,737,729),976=>array(44,-11,484,771),977=>array(46,-11,615,771),978=>array(81,0,630,731),979=>array(65,0,799,800),980=>array(81,0,630,920),981=>array(31,-208,576,760),982=>array(31,-3,755,519),983=>array(17,-222,579,533),984=>array(63,-208,705,742),985=>array(62,-208,514,533),986=>array(63,-208,689,742),987=>array(54,-208,519,616),988=>array(-14,0,650,729),989=>array(-161,-211,467,742),990=>array(22,0,508,729),991=>array(78,0,520,759),992=>array(27,-208,666,742),993=>array(23,-208,456,533),1008=>array(-2,-4,560,533),1009=>array(20,-210,501,533),1010=>array(38,-14,487,533),1011=>array(-165,-222,265,736),1012=>array(46,-14,688,742),1013=>array(38,-14,487,533),1014=>array(26,-14,463,533),1015=>array(-14,0,574,729),1016=>array(19,-208,536,760),1017=>array(47,-14,672,742),1018=>array(-14,0,940,729),1019=>array(-21,-208,663,519),1020=>array(-18,-208,526,533),1021=>array(21,-14,644,742),1022=>array(47,-14,672,742),1023=>array(21,-14,644,742),1024=>array(-14,0,642,927),1025=>array(-14,0,642,920),1026=>array(18,-216,646,729),1027=>array(-14,0,622,927),1028=>array(50,-14,672,742),1029=>array(26,-14,577,742),1030=>array(-14,0,370,729),1031=>array(-14,0,423,920),1032=>array(-152,-208,402,729),1033=>array(-37,-14,909,729),1034=>array(-14,0,933,729),1035=>array(-1,0,681,729),1036=>array(-14,0,716,927),1037=>array(-14,0,799,927),1038=>array(26,-14,705,970),1039=>array(-0,-157,813,729),1040=>array(-53,0,620,729),1041=>array(-14,0,642,729),1042=>array(-14,0,606,729),1043=>array(-14,0,622,729),1044=>array(-33,-157,746,729),1045=>array(-14,0,642,729),1046=>array(-53,0,1030,729),1047=>array(8,-14,519,742),1048=>array(-14,0,799,729),1049=>array(-14,0,799,966),1050=>array(-14,0,716,729),1051=>array(-37,-14,771,729),1052=>array(-14,0,940,729),1053=>array(-14,0,799,729),1054=>array(46,-14,688,742),1055=>array(-14,0,799,729),1056=>array(-14,0,602,729),1057=>array(47,-14,672,742),1058=>array(42,0,655,729),1059=>array(26,-14,705,729),1060=>array(48,0,701,729),1061=>array(-59,0,670,729),1062=>array(-0,-157,813,729),1063=>array(63,0,713,729),1064=>array(-14,0,1042,729),1065=>array(-0,-157,1055,729),1066=>array(66,0,662,729),1067=>array(-14,0,900,729),1068=>array(-14,0,553,729),1069=>array(21,-14,644,742),1070=>array(-14,-14,1015,742),1071=>array(-33,0,741,729),1072=>array(30,-14,477,534),1073=>array(44,-14,553,786),1074=>array(38,-14,483,533),1075=>array(65,-14,443,534),1076=>array(38,-14,533,760),1077=>array(38,-14,492,533),1078=>array(10,-14,1013,533),1079=>array(23,-14,447,533),1080=>array(62,-14,517,519),1081=>array(62,-14,517,752),1082=>array(63,-14,538,533),1083=>array(11,-14,513,519),1084=>array(11,-14,686,519),1085=>array(63,0,530,519),1086=>array(38,-14,503,533),1087=>array(63,0,517,533),1088=>array(39,-208,555,533),1089=>array(38,-14,487,533),1090=>array(63,0,792,533),1091=>array(-34,-222,518,519),1092=>array(25,-208,674,760),1093=>array(2,0,495,519),1094=>array(62,-208,579,519),1095=>array(63,0,498,519),1096=>array(62,-14,790,519),1097=>array(62,-208,852,519),1098=>array(35,-14,559,534),1099=>array(62,-14,670,519),1100=>array(62,-14,448,519),1101=>array(21,-14,470,533),1102=>array(63,-14,754,533),1103=>array(11,-14,533,519),1104=>array(38,-14,492,799),1105=>array(38,-14,492,766),1106=>array(34,-222,485,760),1107=>array(65,-14,483,800),1108=>array(38,-14,487,533),1109=>array(10,-14,431,533),1110=>array(45,0,243,736),1111=>array(64,0,366,766),1112=>array(-165,-222,265,736),1113=>array(11,-14,732,519),1114=>array(63,-14,749,519),1115=>array(34,0,497,760),1116=>array(63,-14,538,800),1117=>array(62,-14,517,799),1118=>array(-34,-222,518,750),1119=>array(62,-211,517,519),1122=>array(52,0,632,729),1123=>array(63,-14,752,534),1124=>array(-14,-14,999,742),1125=>array(58,-14,734,533),1130=>array(10,0,1010,729),1131=>array(30,-14,835,519),1132=>array(-14,0,1158,729),1133=>array(58,-14,964,519),1136=>array(56,0,891,729),1137=>array(15,-208,841,760),1138=>array(46,-14,688,742),1139=>array(38,-14,459,533),1140=>array(64,0,822,742),1141=>array(45,0,641,533),1142=>array(64,0,822,927),1143=>array(45,0,641,800),1164=>array(15,0,582,729),1165=>array(31,-14,429,760),1168=>array(-14,0,656,872),1169=>array(58,0,509,668),1170=>array(-14,0,622,729),1171=>array(65,-14,443,534),1172=>array(-14,-216,651,729),1173=>array(-15,-222,490,519),1174=>array(-53,-157,1030,729),1175=>array(10,-208,1013,533),1176=>array(8,-193,519,742),1177=>array(23,-193,447,533),1178=>array(-0,-157,729,729),1179=>array(63,-208,538,533),1182=>array(-14,0,716,729),1183=>array(63,-14,538,760),1184=>array(66,0,824,729),1185=>array(35,-14,602,533),1186=>array(-14,-157,799,729),1187=>array(63,-208,592,519),1188=>array(-14,0,1051,729),1189=>array(63,0,778,519),1190=>array(-14,-216,1011,729),1191=>array(-15,-222,764,519),1194=>array(47,-193,672,742),1195=>array(38,-193,487,533),1196=>array(42,-157,655,729),1197=>array(63,-208,862,533),1198=>array(44,0,666,729),1199=>array(53,-208,523,519),1200=>array(44,0,666,729),1201=>array(53,-208,523,519),1202=>array(-59,-157,670,729),1203=>array(2,-208,518,519),1204=>array(42,-157,870,729),1205=>array(31,-208,610,519),1206=>array(63,-157,712,729),1207=>array(63,-208,560,519),1210=>array(-76,0,573,729),1211=>array(43,0,498,760),1216=>array(-14,0,370,729),1217=>array(-53,0,1030,928),1218=>array(10,-14,1013,785),1219=>array(-14,-216,716,729),1220=>array(-15,-222,571,519),1223=>array(-14,-216,799,729),1224=>array(-15,-222,598,519),1227=>array(63,-157,712,729),1228=>array(67,-138,598,519),1231=>array(-41,0,331,760),1232=>array(-53,0,620,926),1233=>array(30,-14,477,772),1234=>array(-53,0,620,920),1235=>array(30,-14,477,766),1236=>array(-80,0,911,729),1237=>array(30,-15,806,533),1238=>array(-14,0,642,928),1239=>array(38,-14,497,785),1240=>array(47,-14,688,742),1241=>array(46,-14,488,533),1242=>array(47,-14,688,920),1243=>array(46,-14,488,766),1244=>array(-53,0,1030,920),1245=>array(10,-14,1013,766),1246=>array(8,-14,519,920),1247=>array(23,-14,457,766),1248=>array(-11,-14,505,729),1249=>array(-11,-224,505,519),1250=>array(-14,0,799,899),1251=>array(62,-14,517,745),1252=>array(-14,0,799,920),1253=>array(62,-14,517,766),1254=>array(46,-14,688,920),1255=>array(38,-14,503,766),1256=>array(46,-14,688,742),1257=>array(44,-14,497,533),1258=>array(46,-14,688,920),1259=>array(44,-14,497,766),1260=>array(21,-14,644,920),1261=>array(21,-14,470,766),1262=>array(26,-14,705,899),1263=>array(-34,-222,518,745),1264=>array(26,-14,705,920),1265=>array(-34,-222,518,766),1266=>array(26,-14,705,927),1267=>array(-34,-222,539,800),1268=>array(63,0,713,920),1269=>array(63,0,498,766),1270=>array(-0,-157,636,729),1271=>array(65,-208,443,534),1272=>array(-14,0,900,920),1273=>array(62,-14,670,766),1296=>array(84,-14,626,742),1297=>array(23,-14,475,533),1298=>array(-37,-208,771,729),1299=>array(11,-222,513,519),1300=>array(-37,-14,1109,729),1301=>array(11,-14,833,519),1306=>array(54,-160,709,742),1307=>array(81,-208,535,533),1308=>array(59,0,986,729),1309=>array(50,0,752,519),1329=>array(86,-14,753,729),1330=>array(-34,0,657,743),1331=>array(61,0,716,743),1332=>array(18,0,735,743),1333=>array(86,-14,702,729),1334=>array(44,-45,677,743),1335=>array(10,-45,708,729),1336=>array(-30,-45,659,743),1337=>array(-33,-14,893,743),1338=>array(25,-14,763,729),1339=>array(6,0,666,729),1340=>array(10,-45,574,729),1341=>array(7,-14,1007,729),1342=>array(85,-13,752,742),1343=>array(63,0,651,729),1344=>array(28,-66,604,729),1345=>array(44,-32,672,743),1346=>array(29,-45,691,743),1347=>array(13,0,695,739),1348=>array(98,-14,864,729),1349=>array(31,-14,623,742),1350=>array(37,-14,699,774),1351=>array(62,-14,671,729),1352=>array(-34,0,632,743),1353=>array(97,-45,658,743),1354=>array(9,0,700,743),1355=>array(38,-45,671,743),1356=>array(-34,0,769,743),1357=>array(86,-14,753,729),1358=>array(30,-45,693,729),1359=>array(25,-14,603,742),1360=>array(-34,0,688,743),1361=>array(37,-14,627,742),1362=>array(6,0,642,729),1363=>array(58,0,706,729),1364=>array(-32,0,690,743),1365=>array(53,-14,698,742),1366=>array(31,-14,682,729),1369=>array(109,492,254,760),1370=>array(24,482,228,729),1371=>array(-16,615,224,799),1372=>array(-22,618,370,893),1373=>array(90,615,259,799),1374=>array(-12,618,339,856),1375=>array(26,618,413,760),1377=>array(62,-14,791,519),1378=>array(-28,-208,512,533),1379=>array(56,-208,615,533),1380=>array(8,-208,615,533),1381=>array(60,-14,542,760),1382=>array(56,-208,612,533),1383=>array(-42,0,483,760),1384=>array(-35,-208,527,533),1385=>array(-35,-208,744,533),1386=>array(20,-14,660,760),1387=>array(-56,-208,507,760),1388=>array(-43,-208,299,519),1389=>array(-56,-208,808,760),1390=>array(28,-14,527,770),1391=>array(82,-208,512,760),1392=>array(-37,0,490,760),1393=>array(26,-14,489,773),1394=>array(0,-208,571,533),1395=>array(38,-14,570,767),1396=>array(40,-14,646,773),1397=>array(-88,-208,253,519),1398=>array(63,-14,494,773),1399=>array(-67,-208,426,533),1400=>array(-5,0,521,533),1401=>array(-39,-208,343,544),1402=>array(79,-208,808,519),1403=>array(5,-208,498,533),1404=>array(-6,0,537,533),1405=>array(62,-14,517,519),1406=>array(58,-208,559,760),1407=>array(61,-14,775,533),1408=>array(-28,-208,535,533),1409=>array(34,-222,617,533),1410=>array(-9,0,417,519),1411=>array(58,-208,772,760),1412=>array(-42,-208,546,533),1413=>array(44,-14,503,533),1414=>array(16,-208,683,760),1415=>array(64,-14,671,760),1417=>array(65,-14,239,434),1418=>array(36,202,274,306),4256=>array(22,0,674,847),4257=>array(136,0,709,847),4258=>array(72,-58,709,848),4259=>array(43,1,784,847),4260=>array(72,0,709,847),4261=>array(72,0,856,847),4262=>array(100,0,772,847),4263=>array(57,0,963,847),4264=>array(100,0,524,847),4265=>array(106,0,601,847),4266=>array(63,0,810,847),4267=>array(25,0,788,847),4268=>array(-16,0,638,847),4269=>array(54,-37,934,847),4270=>array(100,0,826,847),4271=>array(100,0,795,847),4272=>array(74,0,880,847),4273=>array(67,0,649,847),4274=>array(31,0,633,847),4275=>array(56,-37,836,847),4276=>array(75,0,845,847),4277=>array(83,0,876,847),4278=>array(-16,0,614,847),4279=>array(132,0,709,847),4280=>array(65,0,708,847),4281=>array(-15,0,557,847),4282=>array(45,-25,769,847),4283=>array(12,0,769,847),4284=>array(-16,1,672,847),4285=>array(14,1,688,847),4286=>array(22,0,709,847),4287=>array(-16,0,865,847),4288=>array(63,0,886,847),4289=>array(-16,0,623,847),4290=>array(57,1,720,847),4291=>array(106,0,710,847),4292=>array(72,0,803,847),4293=>array(26,0,882,848),4304=>array(25,0,436,571),4305=>array(40,0,485,829),4306=>array(-36,-225,466,542),4307=>array(32,-220,723,531),4308=>array(-44,-225,480,532),4309=>array(-43,-225,481,532),4310=>array(72,0,593,831),4311=>array(39,0,746,531),4312=>array(38,0,474,532),4313=>array(-57,-225,439,532),4314=>array(39,-220,940,537),4315=>array(38,0,578,829),4316=>array(42,0,593,840),4317=>array(42,-98,713,532),4318=>array(24,1,539,829),4319=>array(-35,-225,536,531),4320=>array(45,-0,713,822),4321=>array(77,0,490,829),4322=>array(10,-225,611,681),4323=>array(55,-225,602,532),4324=>array(55,-225,712,532),4325=>array(-27,-225,612,831),4326=>array(28,-220,752,532),4327=>array(-53,-225,522,531),4328=>array(49,0,586,830),4329=>array(-4,-5,497,831),4330=>array(22,-225,579,531),4331=>array(36,0,575,829),4332=>array(18,-229,610,830),4333=>array(-33,-225,530,829),4334=>array(77,0,523,830),4335=>array(-78,-225,626,532),4336=>array(25,0,568,829),4337=>array(32,0,594,830),4338=>array(-40,-91,485,532),4339=>array(-27,-225,537,585),4340=>array(-26,-225,530,831),4341=>array(23,0,612,829),4342=>array(34,-225,770,672),4343=>array(-22,-225,471,542),4344=>array(-17,-225,484,532),4345=>array(33,-225,532,537),4346=>array(43,-69,494,532),4347=>array(-7,0,360,486),4348=>array(93,341,434,845),7424=>array(-48,0,470,519),7425=>array(-64,0,686,519),7426=>array(40,-14,816,533),7427=>array(-13,0,504,519),7428=>array(44,-14,487,533),7429=>array(-13,0,489,519),7430=>array(-13,0,489,519),7431=>array(-20,0,487,519),7432=>array(29,-18,440,533),7433=>array(57,-214,254,522),7434=>array(-29,-14,454,519),7435=>array(-15,0,571,519),7436=>array(-9,0,453,519),7437=>array(-13,0,713,519),7438=>array(57,-14,599,519),7439=>array(38,-14,503,533),7440=>array(17,-14,459,533),7441=>array(44,9,537,511),7442=>array(41,27,534,492),7443=>array(44,-0,537,523),7444=>array(40,-14,852,533),7445=>array(2,-14,429,533),7446=>array(90,260,542,533),7447=>array(90,-14,542,259),7448=>array(7,0,486,519),7449=>array(-35,0,549,519),7450=>array(47,0,548,519),7451=>array(57,0,509,519),7452=>array(40,-14,571,519),7453=>array(7,-29,576,551),7454=>array(46,-29,809,551),7455=>array(-19,-205,604,680),7456=>array(34,0,551,519),7457=>array(51,0,804,519),7458=>array(-9,0,479,519),7459=>array(5,-14,479,519),7460=>array(4,-14,469,742),7461=>array(-13,-14,626,533),7462=>array(-15,0,478,519),7463=>array(-48,0,470,519),7464=>array(-9,0,604,519),7465=>array(7,0,486,519),7466=>array(69,0,656,520),7467=>array(-26,-14,586,519),7468=>array(-44,326,381,734),7469=>array(-50,326,574,734),7470=>array(-9,326,382,734),7471=>array(-4,334,411,742),7472=>array(-9,326,422,734),7473=>array(-9,326,404,734),7474=>array(-9,326,409,734),7475=>array(31,318,430,742),7476=>array(-9,326,503,734),7477=>array(-9,326,233,734),7478=>array(-96,209,253,734),7479=>array(-9,326,451,734),7480=>array(-9,326,343,734),7481=>array(-9,326,592,734),7482=>array(-12,318,512,734),7483=>array(47,318,508,734),7484=>array(29,318,434,742),7485=>array(4,326,308,750),7486=>array(-9,326,379,734),7487=>array(-9,326,406,734),7488=>array(26,326,413,734),7489=>array(62,318,494,734),7490=>array(37,326,622,734),7491=>array(19,318,300,625),7492=>array(38,318,319,625),7493=>array(23,327,372,632),7494=>array(25,318,514,625),7495=>array(16,318,319,751),7496=>array(28,318,357,751),7497=>array(28,318,315,625),7498=>array(28,318,315,625),7499=>array(91,316,352,625),7500=>array(28,316,289,625),7501=>array(28,202,396,625),7502=>array(21,207,145,619),7503=>array(16,326,304,751),7504=>array(21,326,479,625),7505=>array(21,202,297,625),7506=>array(28,318,321,625),7507=>array(28,318,312,625),7508=>array(28,472,317,625),7509=>array(28,318,317,471),7510=>array(16,209,342,625),7511=>array(16,318,214,707),7512=>array(15,318,302,617),7513=>array(8,310,359,635),7514=>array(21,326,479,625),7515=>array(-2,326,292,617),7516=>array(-6,326,396,633),7517=>array(-13,217,295,763),7518=>array(51,217,334,625),7519=>array(17,326,311,763),7520=>array(31,217,382,626),7521=>array(-29,209,367,633),7522=>array(28,0,153,412),7523=>array(40,0,292,299),7524=>array(15,-8,302,291),7525=>array(-2,0,292,291),7526=>array(-13,-109,295,437),7527=>array(51,-109,334,298),7528=>array(-1,-117,314,299),7529=>array(31,-109,382,300),7530=>array(-29,-117,367,307),7531=>array(61,-14,837,533),7543=>array(58,-222,564,533),7544=>array(-9,326,503,734),7547=>array(-13,0,313,519),7548=>array(28,0,272,519),7549=>array(39,-208,606,533),7550=>array(-0,-14,571,519),7551=>array(-18,-14,579,519),7557=>array(-50,-222,317,760),7579=>array(16,327,359,632),7580=>array(18,318,300,625),7581=>array(18,266,300,625),7582=>array(59,318,371,751),7583=>array(61,316,323,625),7584=>array(-35,209,294,751),7585=>array(16,202,269,617),7586=>array(36,202,403,617),7587=>array(36,209,323,617),7588=>array(26,326,180,738),7589=>array(38,326,144,617),7590=>array(-12,326,193,617),7591=>array(-12,326,193,617),7592=>array(-4,202,291,738),7593=>array(34,202,206,751),7594=>array(2,202,234,751),7595=>array(60,326,350,624),7596=>array(75,202,519,625),7597=>array(46,209,505,625),7598=>array(7,202,438,625),7599=>array(70,202,419,625),7600=>array(26,318,412,624),7601=>array(26,318,320,625),7602=>array(70,209,355,751),7603=>array(11,202,279,625),7604=>array(-38,202,307,752),7605=>array(31,202,270,707),7606=>array(12,318,347,617),7607=>array(64,324,367,626),7608=>array(22,326,356,625),7609=>array(71,324,344,617),7610=>array(21,326,314,617),7611=>array(-6,312,302,631),7612=>array(3,202,374,617),7613=>array(35,274,342,617),7614=>array(41,201,366,617),7615=>array(70,320,355,758),7620=>array(-374,616,6,800),7621=>array(-421,616,-97,800),7622=>array(-353,616,-29,800),7623=>array(-456,616,-76,800),7624=>array(-411,616,-40,800),7625=>array(-446,616,-4,800),7680=>array(-69,-241,604,729),7681=>array(29,-241,476,534),7682=>array(-14,0,606,921),7683=>array(38,-14,518,920),7684=>array(-14,-191,606,729),7685=>array(38,-187,519,760),7686=>array(-14,-147,606,729),7687=>array(38,-143,518,760),7688=>array(47,-193,672,927),7689=>array(38,-193,510,800),7690=>array(-14,0,670,921),7691=>array(18,-14,575,920),7692=>array(-14,-191,670,729),7693=>array(18,-191,541,760),7694=>array(-14,-147,670,729),7695=>array(18,-147,541,760),7696=>array(-14,-193,670,729),7697=>array(18,-193,541,760),7698=>array(-14,-240,670,729),7699=>array(-1,-240,541,760),7700=>array(-14,0,642,1044),7701=>array(38,-14,492,919),7702=>array(-14,0,642,1044),7703=>array(38,-14,519,919),7704=>array(-14,-240,642,729),7705=>array(38,-240,492,533),7706=>array(-14,-213,642,729),7707=>array(35,-213,492,533),7708=>array(-14,-193,642,928),7709=>array(38,-193,497,785),7710=>array(-14,0,651,921),7711=>array(-56,-208,466,921),7712=>array(50,-14,682,927),7713=>array(32,-222,538,745),7714=>array(-14,0,799,921),7715=>array(42,0,497,920),7716=>array(-14,-191,799,729),7717=>array(43,-191,498,760),7718=>array(-14,0,799,920),7719=>array(42,0,497,920),7720=>array(-14,-193,799,729),7721=>array(42,-193,497,760),7722=>array(-14,-217,799,729),7723=>array(42,-217,497,760),7724=>array(-71,-213,370,729),7725=>array(-106,-213,243,736),7726=>array(-14,0,434,1044),7727=>array(64,0,391,886),7728=>array(-14,0,716,927),7729=>array(37,0,494,961),7730=>array(-14,-191,716,729),7731=>array(37,-191,494,760),7732=>array(-14,-147,716,729),7733=>array(37,-147,494,760),7734=>array(-14,-191,544,729),7735=>array(21,-191,251,760),7736=>array(-14,-191,544,899),7737=>array(21,-191,382,900),7738=>array(-14,-147,544,729),7739=>array(-80,-147,251,760),7740=>array(-14,-240,544,729),7741=>array(-105,-240,251,760),7742=>array(-14,0,940,927),7743=>array(63,0,791,800),7744=>array(-14,0,940,921),7745=>array(63,0,792,766),7746=>array(-14,-191,940,729),7747=>array(63,-191,792,533),7748=>array(-19,-14,813,920),7749=>array(63,0,517,766),7750=>array(-19,-191,813,729),7751=>array(63,-191,517,533),7752=>array(-19,-147,813,729),7753=>array(63,-147,517,533),7754=>array(-19,-240,813,729),7755=>array(63,-240,517,533),7756=>array(46,-14,688,1044),7757=>array(38,-14,537,881),7758=>array(46,-14,688,1050),7759=>array(38,-14,503,891),7760=>array(46,-14,688,1044),7761=>array(38,-14,503,919),7762=>array(46,-14,688,1044),7763=>array(38,-14,523,919),7764=>array(-14,0,602,931),7765=>array(39,-208,568,800),7766=>array(-14,0,602,921),7767=>array(39,-208,555,766),7768=>array(-14,0,645,921),7769=>array(63,0,474,766),7770=>array(-14,-191,645,729),7771=>array(34,-191,475,533),7772=>array(-14,-191,645,899),7773=>array(34,-191,475,745),7774=>array(-14,-147,645,729),7775=>array(-60,-147,474,533),7776=>array(26,-14,577,921),7777=>array(10,-14,431,766),7778=>array(26,-191,577,742),7779=>array(10,-191,431,533),7780=>array(26,-14,578,939),7781=>array(10,-14,492,757),7782=>array(26,-14,577,1049),7783=>array(10,-14,457,867),7784=>array(26,-191,577,921),7785=>array(10,-191,431,766),7786=>array(42,0,655,921),7787=>array(49,-14,363,920),7788=>array(42,-191,655,729),7789=>array(49,-191,363,680),7790=>array(42,-147,655,729),7791=>array(10,-147,363,680),7792=>array(42,-240,655,729),7793=>array(-16,-240,363,680),7794=>array(98,-191,783,729),7795=>array(55,-191,517,519),7796=>array(98,-213,783,729),7797=>array(31,-213,517,519),7798=>array(98,-240,783,729),7799=>array(35,-240,517,519),7800=>array(98,-14,783,1044),7801=>array(62,-14,521,881),7802=>array(98,-14,783,1032),7803=>array(62,-14,517,908),7804=>array(45,0,727,921),7805=>array(33,0,504,777),7806=>array(45,-191,727,729),7807=>array(34,-191,499,519),7808=>array(59,0,986,927),7809=>array(50,0,752,776),7810=>array(59,0,986,927),7811=>array(50,0,752,776),7812=>array(59,0,986,920),7813=>array(50,0,752,766),7814=>array(59,0,986,921),7815=>array(50,0,752,766),7816=>array(59,-191,986,729),7817=>array(50,-191,752,519),7818=>array(-59,0,670,921),7819=>array(2,0,494,766),7820=>array(-59,0,670,920),7821=>array(2,0,494,766),7822=>array(44,0,666,921),7823=>array(-33,-222,519,766),7824=>array(-23,0,638,927),7825=>array(-10,-25,479,800),7826=>array(-23,-191,638,729),7827=>array(-10,-191,479,544),7828=>array(-23,-147,638,729),7829=>array(-10,-147,479,544),7830=>array(42,-147,497,760),7831=>array(49,-14,374,920),7832=>array(50,0,752,878),7833=>array(-33,-222,519,878),7834=>array(29,-14,787,760),7835=>array(-56,-208,466,921),7836=>array(-56,-208,466,760),7837=>array(-56,-208,466,760),7838=>array(-23,-14,694,743),7839=>array(24,-14,500,765),7840=>array(-69,-191,604,729),7841=>array(29,-191,476,534),7842=>array(-69,0,604,1034),7843=>array(29,-14,476,852),7844=>array(-69,0,688,1028),7845=>array(30,-14,627,846),7846=>array(-69,0,604,1028),7847=>array(30,-14,519,847),7848=>array(-69,0,667,1086),7849=>array(30,-14,608,904),7850=>array(-69,0,604,1043),7851=>array(30,-14,516,861),7852=>array(-69,-191,604,982),7853=>array(29,-191,476,800),7854=>array(-69,0,604,1044),7855=>array(30,-14,491,877),7856=>array(-69,0,604,1044),7857=>array(30,-14,482,877),7858=>array(-69,0,604,1109),7859=>array(30,-14,482,942),7860=>array(-69,0,604,1043),7861=>array(30,-14,503,876),7862=>array(-69,-191,604,967),7863=>array(29,-191,480,785),7864=>array(-14,-191,642,729),7865=>array(38,-191,492,533),7866=>array(-14,0,642,1034),7867=>array(38,-14,492,852),7868=>array(-14,0,642,921),7869=>array(38,-14,516,777),7870=>array(-14,0,708,1028),7871=>array(38,-14,652,846),7872=>array(-14,0,642,1028),7873=>array(38,-14,545,846),7874=>array(-14,0,688,1086),7875=>array(38,-14,633,904),7876=>array(-14,0,642,1043),7877=>array(38,-14,541,861),7878=>array(-14,-191,642,927),7879=>array(38,-191,492,800),7880=>array(-14,0,392,1034),7881=>array(43,0,315,852),7882=>array(-14,-191,370,729),7883=>array(23,-191,243,736),7884=>array(46,-191,688,742),7885=>array(38,-191,503,533),7886=>array(46,-14,688,1034),7887=>array(38,-14,503,852),7888=>array(46,-14,749,1028),7889=>array(38,-14,641,846),7890=>array(46,-14,688,1028),7891=>array(38,-14,534,846),7892=>array(46,-14,729,1086),7893=>array(38,-14,622,904),7894=>array(46,-14,688,1043),7895=>array(38,-14,530,861),7896=>array(46,-191,688,982),7897=>array(38,-191,503,800),7898=>array(44,-14,774,927),7899=>array(37,-14,616,800),7900=>array(44,-14,774,927),7901=>array(37,-14,616,799),7902=>array(44,-14,774,1034),7903=>array(37,-14,616,852),7904=>array(44,-14,774,921),7905=>array(37,-14,616,777),7906=>array(44,-191,774,760),7907=>array(37,-191,616,533),7908=>array(98,-191,783,729),7909=>array(62,-191,517,519),7910=>array(98,-14,783,1034),7911=>array(62,-14,517,852),7912=>array(95,-14,958,927),7913=>array(57,-14,654,800),7914=>array(95,-14,958,927),7915=>array(57,-14,654,799),7916=>array(95,-14,958,1034),7917=>array(57,-14,654,852),7918=>array(95,-14,958,921),7919=>array(57,-14,654,777),7920=>array(95,-191,958,802),7921=>array(57,-191,654,532),7922=>array(44,0,666,927),7923=>array(-34,-222,518,776),7924=>array(44,-191,666,729),7925=>array(-33,-222,519,519),7926=>array(44,0,666,1037),7927=>array(-33,-222,519,852),7928=>array(44,0,666,921),7929=>array(-33,-222,519,777),7930=>array(-14,0,800,729),7931=>array(37,0,539,760),7936=>array(38,-12,590,829),7937=>array(38,-12,590,829),7938=>array(38,-12,590,829),7939=>array(38,-12,590,829),7940=>array(38,-12,590,829),7941=>array(38,-12,590,829),7942=>array(38,-12,590,994),7943=>array(38,-12,590,994),7944=>array(-69,0,604,829),7945=>array(-69,0,604,829),7946=>array(51,0,736,829),7947=>array(59,0,736,829),7948=>array(-59,0,615,829),7949=>array(-32,0,641,829),7950=>array(-69,0,604,994),7951=>array(-69,0,604,994),7952=>array(23,-19,449,829),7953=>array(23,-19,449,829),7954=>array(23,-19,449,829),7955=>array(23,-19,449,829),7956=>array(23,-19,480,829),7957=>array(23,-19,501,829),7960=>array(53,0,752,829),7961=>array(60,0,742,829),7962=>array(51,0,945,829),7963=>array(59,0,954,829),7964=>array(53,0,893,829),7965=>array(60,0,916,829),7968=>array(81,-208,512,829),7969=>array(81,-208,512,829),7970=>array(81,-208,512,829),7971=>array(81,-208,512,829),7972=>array(81,-208,517,829),7973=>array(81,-208,519,829),7974=>array(81,-208,527,994),7975=>array(81,-208,527,994),7976=>array(53,0,913,829),7977=>array(60,0,907,829),7978=>array(51,0,1105,829),7979=>array(59,0,1116,829),7980=>array(53,0,1058,829),7981=>array(60,0,1079,829),7982=>array(87,0,1002,994),7983=>array(87,0,1000,994),7984=>array(69,22,272,829),7985=>array(69,22,272,829),7986=>array(42,22,364,829),7987=>array(46,22,362,829),7988=>array(69,22,405,829),7989=>array(65,22,407,829),7990=>array(69,22,396,994),7991=>array(69,22,397,994),7992=>array(53,0,483,829),7993=>array(60,0,475,829),7994=>array(51,0,676,829),7995=>array(59,0,678,829),7996=>array(53,0,625,829),7997=>array(60,0,649,829),7998=>array(87,0,576,994),7999=>array(87,0,567,994),8000=>array(38,-14,503,829),8001=>array(38,-14,503,829),8002=>array(38,-14,503,829),8003=>array(38,-14,503,829),8004=>array(38,-14,525,829),8005=>array(38,-14,516,829),8008=>array(46,-14,688,829),8009=>array(60,-14,724,829),8010=>array(51,-14,958,829),8011=>array(59,-14,965,829),8012=>array(53,-14,793,829),8013=>array(60,-14,817,829),8016=>array(69,-3,503,829),8017=>array(69,-3,503,829),8018=>array(69,-3,503,829),8019=>array(69,-3,503,829),8020=>array(69,-3,505,829),8021=>array(69,-3,519,829),8022=>array(69,-3,510,994),8023=>array(69,-3,505,994),8025=>array(60,0,837,829),8027=>array(59,0,1043,829),8029=>array(60,0,1011,829),8031=>array(87,0,930,994),8032=>array(31,-3,690,829),8033=>array(31,-3,690,829),8034=>array(31,-3,690,829),8035=>array(31,-3,690,829),8036=>array(31,-3,690,829),8037=>array(31,-3,690,829),8038=>array(31,-3,690,994),8039=>array(31,-3,690,994),8040=>array(-9,0,697,829),8041=>array(27,0,734,829),8042=>array(51,0,969,829),8043=>array(59,0,974,829),8044=>array(53,0,803,829),8045=>array(60,0,829,829),8046=>array(87,0,795,994),8047=>array(87,0,824,994),8048=>array(38,-12,590,799),8049=>array(38,-12,590,800),8050=>array(23,-19,449,799),8051=>array(23,-19,465,800),8052=>array(81,-208,512,799),8053=>array(81,-208,512,800),8054=>array(69,22,272,799),8055=>array(69,22,384,800),8056=>array(38,-14,503,799),8057=>array(38,-14,514,800),8058=>array(69,-3,503,799),8059=>array(69,-3,503,800),8060=>array(31,-3,690,799),8061=>array(31,-3,690,800),8064=>array(38,-208,590,829),8065=>array(38,-208,590,829),8066=>array(38,-208,590,829),8067=>array(38,-208,590,829),8068=>array(38,-208,590,829),8069=>array(38,-208,590,829),8070=>array(38,-208,590,994),8071=>array(38,-208,590,994),8072=>array(-69,-208,604,829),8073=>array(-69,-208,604,829),8074=>array(51,-208,736,829),8075=>array(59,-208,736,829),8076=>array(-59,-208,615,829),8077=>array(-32,-208,641,829),8078=>array(-69,-208,604,994),8079=>array(-69,-208,604,994),8080=>array(75,-208,512,829),8081=>array(75,-208,512,829),8082=>array(75,-208,512,829),8083=>array(75,-208,512,829),8084=>array(75,-208,517,829),8085=>array(75,-208,519,829),8086=>array(75,-208,527,994),8087=>array(75,-208,527,994),8088=>array(53,-208,913,829),8089=>array(60,-208,907,829),8090=>array(51,-208,1105,829),8091=>array(59,-208,1116,829),8092=>array(53,-208,1058,829),8093=>array(60,-208,1079,829),8094=>array(87,-208,1002,994),8095=>array(87,-208,1000,994),8096=>array(31,-208,690,829),8097=>array(31,-208,690,829),8098=>array(31,-208,690,829),8099=>array(31,-208,690,829),8100=>array(31,-208,690,829),8101=>array(31,-208,690,829),8102=>array(31,-208,690,994),8103=>array(31,-208,690,994),8104=>array(-9,-208,697,829),8105=>array(27,-208,734,829),8106=>array(51,-208,969,829),8107=>array(59,-208,974,829),8108=>array(53,-208,803,829),8109=>array(60,-208,829,829),8110=>array(87,-208,795,994),8111=>array(87,-208,824,994),8112=>array(38,-12,590,785),8113=>array(38,-12,590,745),8114=>array(38,-208,590,799),8115=>array(38,-208,590,533),8116=>array(38,-208,590,800),8118=>array(38,-12,590,777),8119=>array(38,-208,590,777),8120=>array(-69,0,604,926),8121=>array(-69,0,604,899),8122=>array(-69,0,604,799),8123=>array(-69,0,604,800),8124=>array(-69,-208,604,729),8125=>array(216,606,345,829),8126=>array(194,-208,298,-60),8127=>array(216,606,345,829),8128=>array(161,639,475,777),8129=>array(173,652,512,944),8130=>array(75,-208,512,799),8131=>array(75,-208,512,533),8132=>array(75,-208,512,800),8134=>array(81,-208,527,777),8135=>array(75,-208,527,777),8136=>array(90,0,805,799),8137=>array(65,0,795,800),8138=>array(90,0,971,799),8139=>array(65,0,950,800),8140=>array(-14,-208,799,729),8141=>array(109,606,431,829),8142=>array(121,606,452,829),8143=>array(161,606,475,994),8144=>array(69,22,380,785),8145=>array(69,22,358,745),8146=>array(69,22,371,996),8147=>array(69,22,442,996),8150=>array(69,22,406,777),8151=>array(69,22,443,944),8152=>array(-14,0,370,729),8153=>array(-14,0,390,899),8154=>array(90,0,544,799),8155=>array(65,0,520,800),8157=>array(114,606,431,829),8158=>array(113,606,454,829),8159=>array(161,606,475,994),8160=>array(69,-3,503,785),8161=>array(69,-3,503,745),8162=>array(69,-3,503,996),8163=>array(69,-3,562,996),8164=>array(-8,-208,501,829),8165=>array(-8,-208,501,829),8166=>array(69,-3,506,777),8167=>array(69,-3,538,944),8168=>array(44,0,666,926),8169=>array(44,0,666,899),8170=>array(90,0,901,799),8171=>array(65,0,879,800),8172=>array(60,0,707,829),8173=>array(173,652,447,996),8174=>array(173,652,523,996),8175=>array(161,615,330,799),8178=>array(31,-208,690,799),8179=>array(31,-208,690,519),8180=>array(31,-208,690,800),8182=>array(31,-3,690,730),8183=>array(31,-208,690,730),8184=>array(90,-14,815,799),8185=>array(61,-14,702,800),8186=>array(90,0,837,799),8187=>array(12,0,718,800),8188=>array(-9,-208,697,742),8189=>array(231,616,465,800),8190=>array(224,606,343,829),8208=>array(33,230,271,306),8209=>array(33,230,271,306),8210=>array(34,233,539,298),8211=>array(34,233,417,298),8212=>array(34,233,866,298),8213=>array(-6,233,906,298),8214=>array(116,-236,333,764),8215=>array(0,-236,450,-80),8216=>array(70,495,256,742),8217=>array(49,482,236,729),8218=>array(24,-136,228,111),8219=>array(86,482,205,729),8220=>array(70,495,430,742),8221=>array(49,482,410,729),8222=>array(24,-136,401,111),8223=>array(86,482,379,729),8224=>array(47,-96,462,729),8225=>array(-12,-96,462,729),8226=>array(135,227,396,516),8227=>array(135,188,431,555),8228=>array(92,-14,209,116),8229=>array(92,-14,509,116),8230=>array(92,-14,809,116),8240=>array(81,-14,1127,742),8241=>array(81,-14,1480,742),8242=>array(1,547,199,729),8243=>array(1,547,331,729),8244=>array(1,547,462,729),8245=>array(81,547,215,729),8246=>array(81,547,347,729),8247=>array(81,547,479,729),8248=>array(4,-236,300,-30),8249=>array(66,69,315,517),8250=>array(45,69,294,517),8252=>array(7,-14,477,729),8253=>array(97,-14,472,742),8254=>array(0,716,450,755),8258=>array(14,-28,886,814),8260=>array(-231,-14,381,742),8261=>array(-0,-132,360,760),8262=>array(-9,-132,352,760),8263=>array(66,-14,880,742),8264=>array(97,-14,681,742),8265=>array(7,-14,649,742),8267=>array(38,-96,540,729),8268=>array(95,220,355,509),8269=>array(95,220,355,509),8270=>array(14,-28,436,427),8271=>array(97,-136,247,434),8273=>array(14,-6,436,929),8274=>array(-14,-93,434,729),8275=>array(44,233,856,394),8279=>array(1,547,594,729),8304=>array(21,319,327,742),8305=>array(28,326,153,738),8308=>array(6,326,324,734),8309=>array(13,319,349,727),8310=>array(15,319,343,742),8311=>array(38,326,349,734),8312=>array(13,319,346,742),8313=>array(7,319,335,742),8314=>array(60,326,415,677),8315=>array(60,479,415,524),8316=>array(60,424,415,580),8317=>array(44,239,231,751),8318=>array(-10,239,176,751),8319=>array(40,326,326,625),8320=>array(21,-7,327,416),8321=>array(42,0,263,408),8322=>array(3,0,317,416),8323=>array(11,-7,317,416),8324=>array(6,0,324,408),8325=>array(13,-7,349,401),8326=>array(15,-7,343,416),8327=>array(38,0,349,408),8328=>array(13,-7,346,416),8329=>array(7,-7,335,416),8330=>array(60,0,415,351),8331=>array(60,153,415,198),8332=>array(60,98,415,253),8333=>array(44,-87,231,425),8334=>array(-10,-87,176,425),8336=>array(19,-8,300,299),8337=>array(28,-8,315,299),8338=>array(28,-8,321,299),8339=>array(1,0,312,291),8340=>array(28,-8,315,299),8341=>array(31,0,312,425),8342=>array(16,0,304,425),8343=>array(33,0,161,425),8344=>array(21,0,479,299),8345=>array(40,0,326,299),8346=>array(16,-117,342,298),8347=>array(1,-8,268,299),8348=>array(16,-8,214,381),8358=>array(-10,-14,606,729),8364=>array(-21,-14,544,742),8367=>array(-23,-193,970,723),8369=>array(-14,0,646,729),8372=>array(23,-14,688,742),8373=>array(77,-147,536,760),8376=>array(38,0,655,729),8377=>array(46,0,594,729),8451=>array(85,-14,990,742),8457=>array(85,0,969,742),8462=>array(43,0,498,760),8463=>array(43,0,497,760),8470=>array(-32,-14,801,729),8482=>array(106,447,744,729),8486=>array(-9,0,697,742),8487=>array(50,-13,756,729),8490=>array(-14,0,716,729),8491=>array(-87,0,587,928),8498=>array(-26,0,639,729),8513=>array(42,-14,655,742),8514=>array(53,0,476,729),8515=>array(3,0,539,729),8516=>array(-59,0,493,729),8523=>array(57,-14,773,742),8526=>array(-24,0,482,519),8528=>array(42,-14,860,742),8529=>array(42,-14,846,742),8530=>array(42,-14,1199,742),8531=>array(42,-14,829,742),8532=>array(3,-14,829,742),8533=>array(42,-14,860,742),8534=>array(3,-14,860,742),8535=>array(11,-14,860,742),8536=>array(6,-14,860,742),8537=>array(42,-14,854,742),8538=>array(13,-14,854,742),8539=>array(42,-14,857,742),8540=>array(11,-14,857,742),8541=>array(13,-14,857,742),8542=>array(38,-14,857,742),8543=>array(42,-14,742,742),8544=>array(-14,0,370,729),8545=>array(-14,0,545,729),8546=>array(-14,0,721,729),8547=>array(-14,0,947,729),8548=>array(45,0,727,729),8549=>array(45,0,897,729),8550=>array(45,0,1073,729),8551=>array(45,0,1249,729),8552=>array(-14,0,868,729),8553=>array(-59,0,670,729),8554=>array(-59,0,853,729),8555=>array(-59,0,1029,729),8556=>array(-14,0,544,729),8557=>array(47,-14,672,742),8558=>array(-14,0,670,729),8559=>array(-14,0,940,729),8560=>array(45,0,243,736),8561=>array(45,0,531,736),8562=>array(45,0,819,736),8563=>array(45,0,787,736),8564=>array(34,0,499,519),8565=>array(34,0,751,736),8566=>array(34,0,1040,736),8567=>array(34,0,1327,736),8568=>array(45,0,783,736),8569=>array(2,0,495,519),8570=>array(2,0,750,736),8571=>array(2,0,1039,736),8572=>array(37,0,251,760),8573=>array(38,-14,487,533),8574=>array(18,-14,541,760),8575=>array(63,0,792,533),8576=>array(41,0,1042,729),8577=>array(-14,0,678,729),8578=>array(41,0,1042,729),8579=>array(21,-14,644,742),8580=>array(26,-14,470,533),8581=>array(63,-208,689,742),8585=>array(21,-14,829,742),8592=>array(33,119,703,527),8593=>array(193,0,561,744),8594=>array(51,119,721,527),8595=>array(193,-20,561,724),8596=>array(33,119,721,527),8597=>array(193,-20,561,744),8598=>array(132,40,633,595),8599=>array(121,39,622,595),8600=>array(121,52,622,607),8601=>array(132,52,633,607),8602=>array(33,116,703,531),8603=>array(51,116,721,531),8604=>array(50,159,720,453),8605=>array(34,159,704,453),8606=>array(33,119,703,527),8607=>array(193,0,561,744),8608=>array(51,119,721,527),8609=>array(193,-20,561,724),8610=>array(33,119,706,527),8611=>array(48,119,721,527),8612=>array(33,119,703,527),8613=>array(193,0,561,744),8614=>array(51,119,721,527),8615=>array(193,-20,561,724),8616=>array(193,0,561,744),8617=>array(33,119,703,548),8618=>array(51,119,721,548),8619=>array(33,119,703,548),8620=>array(51,119,721,548),8621=>array(33,119,721,527),8622=>array(33,116,721,531),8623=>array(154,-13,620,730),8624=>array(209,0,534,744),8625=>array(220,0,545,744),8626=>array(209,-20,534,724),8627=>array(220,-20,545,724),8628=>array(117,102,655,609),8629=>array(143,53,600,650),8630=>array(40,145,692,540),8631=>array(62,145,715,540),8632=>array(119,40,635,717),8633=>array(51,-52,703,698),8634=>array(83,71,679,604),8635=>array(75,71,671,604),8636=>array(31,284,703,527),8637=>array(31,119,703,363),8638=>array(341,0,561,747),8639=>array(193,0,413,747),8640=>array(51,284,724,527),8641=>array(51,119,724,363),8642=>array(341,-23,561,724),8643=>array(193,-23,413,724),8644=>array(33,-52,721,698),8645=>array(40,-20,715,744),8646=>array(33,-52,721,698),8647=>array(33,-101,703,747),8648=>array(-4,0,759,744),8649=>array(51,-101,721,747),8650=>array(-4,-20,759,724),8651=>array(31,21,724,625),8652=>array(31,21,724,625),8653=>array(33,83,703,563),8654=>array(33,83,721,563),8655=>array(51,83,721,563),8656=>array(33,119,703,527),8657=>array(193,0,561,744),8658=>array(51,119,721,527),8659=>array(193,-20,561,724),8660=>array(33,119,721,527),8661=>array(193,-20,561,744),8662=>array(132,-21,687,595),8663=>array(67,-21,622,595),8664=>array(67,52,622,667),8665=>array(132,52,687,667),8666=>array(33,70,703,576),8667=>array(51,70,721,576),8668=>array(33,119,703,527),8669=>array(51,119,721,527),8670=>array(193,0,561,744),8671=>array(193,-20,561,724),8672=>array(33,119,703,527),8673=>array(193,0,561,744),8674=>array(51,119,721,527),8675=>array(193,-20,561,724),8676=>array(51,119,703,527),8677=>array(51,119,703,527),8678=>array(33,119,703,527),8679=>array(193,0,561,744),8680=>array(51,119,721,527),8681=>array(193,-20,561,724),8682=>array(193,0,561,744),8683=>array(172,0,582,744),8684=>array(172,0,582,744),8685=>array(172,0,582,744),8686=>array(193,0,561,744),8687=>array(172,0,582,744),8688=>array(51,96,721,550),8689=>array(73,0,690,689),8690=>array(64,0,681,689),8691=>array(193,-20,561,744),8692=>array(51,119,721,527),8693=>array(40,-20,715,744),8694=>array(51,-140,721,786),8695=>array(33,119,703,527),8696=>array(51,119,721,527),8697=>array(33,119,721,527),8698=>array(33,119,703,527),8699=>array(51,119,721,527),8700=>array(33,119,721,527),8701=>array(33,119,703,527),8702=>array(51,119,721,527),8703=>array(33,119,721,527),8704=>array(4,0,540,729),8706=>array(45,-12,422,647),8707=>array(54,0,418,729),8708=>array(54,-116,418,845),8710=>array(22,0,601,729),8711=>array(22,0,601,729),8712=>array(95,0,571,627),8713=>array(95,-132,571,759),8715=>array(95,0,571,627),8716=>array(95,-132,571,759),8719=>array(23,-192,692,719),8720=>array(23,-192,692,719),8721=>array(7,-192,631,719),8722=>array(95,274,659,353),8723=>array(95,0,659,627),8724=>array(95,0,659,659),8725=>array(-72,-93,375,729),8727=>array(95,85,517,541),8728=>array(95,175,346,454),8729=>array(95,175,346,454),8730=>array(26,-20,574,811),8731=>array(26,-20,574,938),8732=>array(26,-20,574,929),8733=>array(97,108,512,491),8734=>array(97,108,654,491),8735=>array(124,99,630,661),8736=>array(124,99,630,661),8739=>array(95,-98,167,827),8740=>array(78,-98,353,827),8741=>array(95,-98,321,827),8742=>array(78,-98,493,827),8743=>array(116,0,543,584),8744=>array(116,0,543,584),8745=>array(95,0,659,627),8746=>array(95,-12,659,615),8747=>array(21,-181,448,757),8748=>array(21,-181,745,757),8749=>array(21,-181,1042,757),8760=>array(95,274,659,559),8761=>array(95,68,659,559),8762=>array(95,68,659,559),8763=>array(95,68,659,559),8764=>array(95,233,659,394),8765=>array(95,233,659,394),8770=>array(95,138,659,452),8771=>array(95,175,659,489),8776=>array(95,138,659,489),8784=>array(95,175,659,658),8785=>array(95,-31,659,658),8786=>array(95,-31,659,658),8787=>array(95,-31,659,658),8788=>array(95,149,835,478),8789=>array(95,149,835,478),8800=>array(95,19,659,608),8801=>array(95,93,659,534),8804=>array(95,0,659,582),8805=>array(95,0,659,582),8834=>array(95,0,659,627),8835=>array(95,0,659,627),8836=>array(95,-132,659,759),8837=>array(95,-132,659,759),8838=>array(95,-73,659,700),8839=>array(95,-73,659,700),8844=>array(95,-12,659,615),8845=>array(95,-12,659,615),8846=>array(95,-12,659,615),8847=>array(95,0,667,627),8848=>array(95,0,667,627),8849=>array(95,-73,667,700),8850=>array(95,-73,667,700),8851=>array(95,0,659,635),8852=>array(95,0,659,635),8853=>array(95,0,659,627),8854=>array(95,0,659,627),8855=>array(95,0,659,627),8856=>array(95,0,659,627),8857=>array(95,0,659,627),8858=>array(95,0,659,627),8859=>array(95,0,659,627),8860=>array(95,0,659,627),8861=>array(95,0,659,627),8862=>array(95,0,659,627),8863=>array(95,0,659,627),8864=>array(95,0,659,627),8865=>array(95,0,659,627),8866=>array(95,0,679,729),8867=>array(95,0,679,729),8868=>array(95,0,751,688),8869=>array(95,0,751,688),8870=>array(95,0,415,729),8871=>array(95,0,415,729),8872=>array(95,0,679,729),8873=>array(95,0,679,729),8874=>array(95,0,679,729),8875=>array(95,0,833,729),8876=>array(95,-115,679,844),8877=>array(95,-115,679,844),8878=>array(95,-115,679,844),8879=>array(95,-115,833,844),8901=>array(95,282,213,412),8962=>array(64,0,624,596),8968=>array(-1,-132,360,760),8969=>array(112,-132,352,760),8970=>array(-1,-132,240,760),8971=>array(-9,-132,352,760),8976=>array(95,140,659,421),8977=>array(2,126,459,634),8984=>array(108,0,792,759),8985=>array(95,140,659,421),8992=>array(189,-250,448,928),8993=>array(18,-237,277,942),8997=>array(76,0,824,723),9000=>array(53,0,1247,729),9085=>array(4,-228,823,101),9115=>array(77,-252,373,946),9116=>array(77,-252,163,942),9117=>array(77,-240,373,942),9118=>array(77,-252,373,946),9119=>array(287,-252,373,942),9120=>array(77,-240,373,942),9121=>array(77,-252,373,928),9122=>array(77,-252,163,942),9123=>array(77,-240,373,942),9124=>array(77,-252,373,928),9125=>array(287,-252,373,935),9126=>array(77,-240,373,935),9127=>array(296,-261,602,928),9128=>array(74,-252,378,940),9129=>array(296,-240,602,940),9130=>array(296,-256,378,943),9131=>array(74,-261,378,928),9132=>array(296,-252,602,940),9133=>array(74,-240,378,940),9134=>array(189,-250,277,942),9167=>array(82,0,769,596),9251=>array(23,-228,640,101),9472=>array(-9,242,551,326),9473=>array(-9,200,551,368),9474=>array(235,-302,306,973),9475=>array(200,-302,341,973),9476=>array(-9,242,551,326),9477=>array(-9,200,551,368),9478=>array(235,-302,306,973),9479=>array(200,-302,341,973),9480=>array(-9,242,551,326),9481=>array(-9,200,551,368),9482=>array(235,-302,306,973),9483=>array(200,-302,341,973),9484=>array(235,-302,551,326),9485=>array(235,-302,551,368),9486=>array(200,-302,551,326),9487=>array(200,-302,551,368),9488=>array(-9,-302,306,326),9489=>array(-9,-302,306,368),9490=>array(-9,-302,341,326),9491=>array(-9,-302,341,368),9492=>array(235,242,551,973),9493=>array(235,200,551,973),9494=>array(200,242,551,973),9495=>array(200,200,551,973),9496=>array(-9,242,306,973),9497=>array(-9,200,306,973),9498=>array(-9,242,341,973),9499=>array(-9,200,341,973),9500=>array(235,-302,551,973),9501=>array(235,-302,551,973),9502=>array(200,-302,551,973),9503=>array(200,-302,551,973),9504=>array(200,-302,551,973),9505=>array(200,-302,551,973),9506=>array(200,-302,551,973),9507=>array(200,-302,551,973),9508=>array(-9,-302,306,973),9509=>array(-9,-302,306,973),9510=>array(-9,-302,341,973),9511=>array(-9,-302,341,973),9512=>array(-9,-302,341,973),9513=>array(-9,-302,341,973),9514=>array(-9,-302,341,973),9515=>array(-9,-302,341,973),9516=>array(-9,-302,551,326),9517=>array(-9,-302,551,368),9518=>array(-9,-302,551,368),9519=>array(-9,-302,551,368),9520=>array(-9,-302,551,326),9521=>array(-9,-302,551,368),9522=>array(-9,-302,551,368),9523=>array(-9,-302,551,368),9524=>array(-9,242,551,973),9525=>array(-9,200,551,973),9526=>array(-9,200,551,973),9527=>array(-9,200,551,973),9528=>array(-9,242,551,973),9529=>array(-9,200,551,973),9530=>array(-9,200,551,973),9531=>array(-9,200,551,973),9532=>array(-9,-302,551,973),9533=>array(-9,-302,551,973),9534=>array(-9,-302,551,973),9535=>array(-9,-302,551,973),9536=>array(-9,-302,551,973),9537=>array(-9,-302,551,973),9538=>array(-9,-302,551,973),9539=>array(-9,-302,551,973),9540=>array(-9,-302,551,973),9541=>array(-9,-302,551,973),9542=>array(-9,-302,551,973),9543=>array(-9,-302,551,973),9544=>array(-9,-302,551,973),9545=>array(-9,-302,551,973),9546=>array(-9,-302,551,973),9547=>array(-9,-302,551,973),9548=>array(-9,242,551,326),9549=>array(-9,200,551,368),9550=>array(235,-302,306,973),9551=>array(200,-302,341,973),9552=>array(-9,158,551,410),9553=>array(165,-302,376,973),9554=>array(235,-302,551,410),9555=>array(165,-302,551,326),9556=>array(165,-302,551,410),9557=>array(-9,-302,306,410),9558=>array(-9,-302,376,326),9559=>array(-9,-302,376,410),9560=>array(235,158,551,973),9561=>array(165,242,551,973),9562=>array(165,158,551,973),9563=>array(-9,158,306,973),9564=>array(-9,242,376,973),9565=>array(-9,158,376,973),9566=>array(235,-302,551,973),9567=>array(165,-302,551,973),9568=>array(165,-302,551,973),9569=>array(-9,-302,306,973),9570=>array(-9,-302,376,973),9571=>array(-9,-302,376,973),9572=>array(-9,-302,551,410),9573=>array(-9,-302,551,326),9574=>array(-9,-302,551,410),9575=>array(-9,158,551,973),9576=>array(-9,242,551,973),9577=>array(-9,158,551,973),9578=>array(-9,-302,551,973),9579=>array(-9,-302,551,973),9580=>array(-9,-302,551,973),9581=>array(235,-302,551,326),9582=>array(-9,-302,306,326),9583=>array(-9,242,306,973),9584=>array(235,242,551,973),9585=>array(-48,-302,590,973),9586=>array(-48,-302,590,973),9587=>array(-48,-302,590,973),9588=>array(-9,242,280,326),9589=>array(235,284,306,973),9590=>array(279,242,551,326),9591=>array(235,-302,306,284),9592=>array(-9,200,280,368),9593=>array(200,284,341,973),9594=>array(279,200,551,368),9595=>array(200,-302,341,284),9596=>array(-9,200,551,368),9597=>array(200,-302,341,973),9598=>array(-9,200,551,368),9599=>array(200,-302,341,973),9600=>array(-9,260,701,770),9601=>array(-9,-250,701,-123),9602=>array(-9,-250,701,-5),9603=>array(-9,-250,701,132),9604=>array(-9,-250,701,260),9605=>array(-9,-250,701,387),9606=>array(-9,-250,701,515),9607=>array(-9,-250,701,642),9608=>array(-9,-250,701,770),9609=>array(-9,-250,612,770),9610=>array(-9,-250,523,770),9611=>array(-9,-250,435,770),9612=>array(-9,-250,346,770),9613=>array(-9,-250,257,770),9614=>array(-9,-250,168,770),9615=>array(-9,-250,80,770),9616=>array(346,-250,701,770),9617=>array(-9,-250,612,770),9618=>array(-9,-250,701,770),9619=>array(-9,-250,701,770),9620=>array(-9,642,701,770),9621=>array(612,-250,701,770),9622=>array(-9,-250,347,260),9623=>array(346,-250,701,260),9624=>array(-9,260,347,770),9625=>array(-9,-250,701,770),9626=>array(-9,-250,701,770),9627=>array(-9,-250,701,770),9628=>array(-9,-250,701,770),9629=>array(346,260,701,770),9630=>array(-9,-250,701,770),9631=>array(-9,-250,701,770),9632=>array(82,-124,769,643),9633=>array(82,-124,769,643),9634=>array(82,-124,769,643),9635=>array(82,-124,769,643),9636=>array(82,-124,769,643),9637=>array(82,-124,769,643),9638=>array(82,-124,769,643),9639=>array(82,-124,769,643),9640=>array(82,-124,769,643),9641=>array(82,-124,769,643),9642=>array(82,11,528,509),9643=>array(82,11,528,509),9644=>array(82,75,769,444),9645=>array(82,75,769,444),9646=>array(82,-122,414,642),9647=>array(82,-122,414,642),9648=>array(2,75,690,444),9649=>array(2,75,690,444),9650=>array(2,-124,690,643),9651=>array(2,-124,690,643),9652=>array(2,11,449,509),9653=>array(2,11,449,509),9654=>array(2,-124,690,643),9655=>array(2,-124,690,643),9656=>array(2,11,449,509),9657=>array(2,11,449,509),9658=>array(2,11,690,509),9659=>array(2,11,690,509),9660=>array(2,-124,690,643),9661=>array(2,-124,690,643),9662=>array(2,11,449,509),9663=>array(2,11,449,509),9664=>array(2,-124,690,643),9665=>array(2,-124,690,643),9666=>array(2,11,449,509),9667=>array(2,11,449,509),9668=>array(2,11,690,509),9669=>array(2,11,690,509),9670=>array(2,-124,690,643),9671=>array(2,-124,690,643),9672=>array(2,-124,690,643),9673=>array(49,-125,736,645),9674=>array(2,-233,442,807),9675=>array(49,-125,736,645),9676=>array(50,-125,735,644),9677=>array(49,-125,736,645),9678=>array(49,-125,736,645),9679=>array(49,-123,736,641),9680=>array(49,-123,736,641),9681=>array(49,-123,736,641),9682=>array(49,-123,736,641),9683=>array(49,-123,736,641),9684=>array(49,-123,736,641),9685=>array(49,-123,736,641),9686=>array(49,-125,393,645),9687=>array(82,-125,425,645),9688=>array(82,-10,630,770),9689=>array(82,-250,792,770),9690=>array(82,260,792,770),9691=>array(82,-250,792,260),9692=>array(2,260,346,645),9693=>array(2,260,346,645),9694=>array(2,-125,346,260),9695=>array(2,-125,346,260),9696=>array(49,260,736,645),9697=>array(49,-125,736,260),9698=>array(2,-124,690,643),9699=>array(2,-124,690,643),9700=>array(2,-124,690,643),9701=>array(2,-124,690,643),9702=>array(135,227,396,516),9703=>array(82,-124,769,643),9704=>array(82,-124,769,643),9705=>array(82,-124,769,643),9706=>array(82,-124,769,643),9707=>array(82,-124,769,643),9708=>array(2,-124,690,643),9709=>array(2,-124,690,643),9710=>array(2,-124,690,643),9711=>array(49,-250,958,770),9712=>array(82,-124,769,643),9713=>array(82,-124,769,643),9714=>array(82,-124,769,643),9715=>array(82,-124,769,643),9716=>array(49,-123,736,641),9717=>array(49,-123,736,641),9718=>array(49,-123,736,641),9719=>array(49,-123,736,641),9720=>array(2,-124,690,643),9721=>array(2,-124,690,643),9722=>array(2,-124,690,643),9723=>array(82,-66,666,585),9724=>array(82,-66,666,585),9725=>array(82,-17,578,537),9726=>array(82,-17,578,537),9727=>array(2,-124,690,643),9728=>array(75,0,731,729),9784=>array(71,3,735,721),9785=>array(75,0,732,730),9786=>array(75,0,732,730),9787=>array(75,0,732,730),9788=>array(75,0,732,730),9791=>array(77,-102,476,732),9792=>array(77,-125,581,731),9793=>array(77,-125,581,731),9794=>array(77,-5,748,729),9795=>array(149,0,657,730),9796=>array(197,0,609,730),9797=>array(109,0,697,730),9798=>array(114,0,692,730),9799=>array(216,0,590,730),9824=>array(142,0,665,729),9825=>array(81,0,726,727),9826=>array(151,0,655,729),9827=>array(100,0,707,729),9828=>array(141,0,666,729),9829=>array(80,0,728,729),9830=>array(151,0,655,729),9831=>array(100,0,707,732),9833=>array(75,-5,306,729),9834=>array(75,-5,499,729),9835=>array(165,-102,642,729),9836=>array(83,-5,724,729),9837=>array(79,-3,353,731),9838=>array(75,0,246,731),9839=>array(76,0,360,731),10145=>array(51,119,721,527),10181=>array(4,-163,337,769),10182=>array(-33,-163,369,769),10208=>array(2,-233,442,807),10216=>array(80,-132,357,759),10217=>array(-6,-132,271,759),10224=>array(62,0,693,744),10225=>array(62,-20,693,724),10226=>array(44,53,697,613),10227=>array(57,53,710,613),10228=>array(51,10,896,637),10229=>array(33,119,1239,527),10230=>array(51,119,1257,527),10231=>array(33,119,1257,527),10232=>array(33,119,1239,527),10233=>array(51,119,1257,527),10234=>array(33,119,1257,527),10235=>array(33,119,1239,527),10236=>array(51,119,1257,527),10237=>array(33,119,1239,527),10238=>array(51,119,1257,527),10239=>array(51,119,1257,527),10241=>array(125,627,271,789),10242=>array(125,351,271,512),10243=>array(125,351,271,789),10244=>array(125,74,271,236),10245=>array(125,74,271,789),10246=>array(125,74,271,512),10247=>array(125,74,271,789),10248=>array(389,627,534,789),10249=>array(125,627,534,789),10250=>array(125,351,534,789),10251=>array(125,351,534,789),10252=>array(125,74,534,789),10253=>array(125,74,534,789),10254=>array(125,74,534,789),10255=>array(125,74,534,789),10256=>array(389,351,534,512),10257=>array(125,351,534,789),10258=>array(125,351,534,512),10259=>array(125,351,534,789),10260=>array(125,74,534,512),10261=>array(125,74,534,789),10262=>array(125,74,534,512),10263=>array(125,74,534,789),10264=>array(389,351,534,789),10265=>array(125,351,534,789),10266=>array(125,351,534,789),10267=>array(125,351,534,789),10268=>array(125,74,534,789),10269=>array(125,74,534,789),10270=>array(125,74,534,789),10271=>array(125,74,534,789),10272=>array(389,74,534,236),10273=>array(125,74,534,789),10274=>array(125,74,534,512),10275=>array(125,74,534,789),10276=>array(125,74,534,236),10277=>array(125,74,534,789),10278=>array(125,74,534,512),10279=>array(125,74,534,789),10280=>array(389,74,534,789),10281=>array(125,74,534,789),10282=>array(125,74,534,789),10283=>array(125,74,534,789),10284=>array(125,74,534,789),10285=>array(125,74,534,789),10286=>array(125,74,534,789),10287=>array(125,74,534,789),10288=>array(389,74,534,512),10289=>array(125,74,534,789),10290=>array(125,74,534,512),10291=>array(125,74,534,789),10292=>array(125,74,534,512),10293=>array(125,74,534,789),10294=>array(125,74,534,512),10295=>array(125,74,534,789),10296=>array(389,74,534,789),10297=>array(125,74,534,789),10298=>array(125,74,534,789),10299=>array(125,74,534,789),10300=>array(125,74,534,789),10301=>array(125,74,534,789),10302=>array(125,74,534,789),10303=>array(125,74,534,789),10304=>array(125,-203,271,-41),10305=>array(125,-203,271,789),10306=>array(125,-203,271,512),10307=>array(125,-203,271,789),10308=>array(125,-203,271,236),10309=>array(125,-203,271,789),10310=>array(125,-203,271,512),10311=>array(125,-203,271,789),10312=>array(125,-203,534,789),10313=>array(125,-203,534,789),10314=>array(125,-203,534,789),10315=>array(125,-203,534,789),10316=>array(125,-203,534,789),10317=>array(125,-203,534,789),10318=>array(125,-203,534,789),10319=>array(125,-203,534,789),10320=>array(125,-203,534,512),10321=>array(125,-203,534,789),10322=>array(125,-203,534,512),10323=>array(125,-203,534,789),10324=>array(125,-203,534,512),10325=>array(125,-203,534,789),10326=>array(125,-203,534,512),10327=>array(125,-203,534,789),10328=>array(125,-203,534,789),10329=>array(125,-203,534,789),10330=>array(125,-203,534,789),10331=>array(125,-203,534,789),10332=>array(125,-203,534,789),10333=>array(125,-203,534,789),10334=>array(125,-203,534,789),10335=>array(125,-203,534,789),10336=>array(125,-203,534,236),10337=>array(125,-203,534,789),10338=>array(125,-203,534,512),10339=>array(125,-203,534,789),10340=>array(125,-203,534,236),10341=>array(125,-203,534,789),10342=>array(125,-203,534,512),10343=>array(125,-203,534,789),10344=>array(125,-203,534,789),10345=>array(125,-203,534,789),10346=>array(125,-203,534,789),10347=>array(125,-203,534,789),10348=>array(125,-203,534,789),10349=>array(125,-203,534,789),10350=>array(125,-203,534,789),10351=>array(125,-203,534,789),10352=>array(125,-203,534,512),10353=>array(125,-203,534,789),10354=>array(125,-203,534,512),10355=>array(125,-203,534,789),10356=>array(125,-203,534,512),10357=>array(125,-203,534,789),10358=>array(125,-203,534,512),10359=>array(125,-203,534,789),10360=>array(125,-203,534,789),10361=>array(125,-203,534,789),10362=>array(125,-203,534,789),10363=>array(125,-203,534,789),10364=>array(125,-203,534,789),10365=>array(125,-203,534,789),10366=>array(125,-203,534,789),10367=>array(125,-203,534,789),10368=>array(389,-203,534,-41),10369=>array(125,-203,534,789),10370=>array(125,-203,534,512),10371=>array(125,-203,534,789),10372=>array(125,-203,534,236),10373=>array(125,-203,534,789),10374=>array(125,-203,534,512),10375=>array(125,-203,534,789),10376=>array(389,-203,534,789),10377=>array(125,-203,534,789),10378=>array(125,-203,534,789),10379=>array(125,-203,534,789),10380=>array(125,-203,534,789),10381=>array(125,-203,534,789),10382=>array(125,-203,534,789),10383=>array(125,-203,534,789),10384=>array(389,-203,534,512),10385=>array(125,-203,534,789),10386=>array(125,-203,534,512),10387=>array(125,-203,534,789),10388=>array(125,-203,534,512),10389=>array(125,-203,534,789),10390=>array(125,-203,534,512),10391=>array(125,-203,534,789),10392=>array(389,-203,534,789),10393=>array(125,-203,534,789),10394=>array(125,-203,534,789),10395=>array(125,-203,534,789),10396=>array(125,-203,534,789),10397=>array(125,-203,534,789),10398=>array(125,-203,534,789),10399=>array(125,-203,534,789),10400=>array(389,-203,534,236),10401=>array(125,-203,534,789),10402=>array(125,-203,534,512),10403=>array(125,-203,534,789),10404=>array(125,-203,534,236),10405=>array(125,-203,534,789),10406=>array(125,-203,534,512),10407=>array(125,-203,534,789),10408=>array(389,-203,534,789),10409=>array(125,-203,534,789),10410=>array(125,-203,534,789),10411=>array(125,-203,534,789),10412=>array(125,-203,534,789),10413=>array(125,-203,534,789),10414=>array(125,-203,534,789),10415=>array(125,-203,534,789),10416=>array(389,-203,534,512),10417=>array(125,-203,534,789),10418=>array(125,-203,534,512),10419=>array(125,-203,534,789),10420=>array(125,-203,534,512),10421=>array(125,-203,534,789),10422=>array(125,-203,534,512),10423=>array(125,-203,534,789),10424=>array(389,-203,534,789),10425=>array(125,-203,534,789),10426=>array(125,-203,534,789),10427=>array(125,-203,534,789),10428=>array(125,-203,534,789),10429=>array(125,-203,534,789),10430=>array(125,-203,534,789),10431=>array(125,-203,534,789),10432=>array(125,-203,534,-41),10433=>array(125,-203,534,789),10434=>array(125,-203,534,512),10435=>array(125,-203,534,789),10436=>array(125,-203,534,236),10437=>array(125,-203,534,789),10438=>array(125,-203,534,512),10439=>array(125,-203,534,789),10440=>array(125,-203,534,789),10441=>array(125,-203,534,789),10442=>array(125,-203,534,789),10443=>array(125,-203,534,789),10444=>array(125,-203,534,789),10445=>array(125,-203,534,789),10446=>array(125,-203,534,789),10447=>array(125,-203,534,789),10448=>array(125,-203,534,512),10449=>array(125,-203,534,789),10450=>array(125,-203,534,512),10451=>array(125,-203,534,789),10452=>array(125,-203,534,512),10453=>array(125,-203,534,789),10454=>array(125,-203,534,512),10455=>array(125,-203,534,789),10456=>array(125,-203,534,789),10457=>array(125,-203,534,789),10458=>array(125,-203,534,789),10459=>array(125,-203,534,789),10460=>array(125,-203,534,789),10461=>array(125,-203,534,789),10462=>array(125,-203,534,789),10463=>array(125,-203,534,789),10464=>array(125,-203,534,236),10465=>array(125,-203,534,789),10466=>array(125,-203,534,512),10467=>array(125,-203,534,789),10468=>array(125,-203,534,236),10469=>array(125,-203,534,789),10470=>array(125,-203,534,512),10471=>array(125,-203,534,789),10472=>array(125,-203,534,789),10473=>array(125,-203,534,789),10474=>array(125,-203,534,789),10475=>array(125,-203,534,789),10476=>array(125,-203,534,789),10477=>array(125,-203,534,789),10478=>array(125,-203,534,789),10479=>array(125,-203,534,789),10480=>array(125,-203,534,512),10481=>array(125,-203,534,789),10482=>array(125,-203,534,512),10483=>array(125,-203,534,789),10484=>array(125,-203,534,512),10485=>array(125,-203,534,789),10486=>array(125,-203,534,512),10487=>array(125,-203,534,789),10488=>array(125,-203,534,789),10489=>array(125,-203,534,789),10490=>array(125,-203,534,789),10491=>array(125,-203,534,789),10492=>array(125,-203,534,789),10493=>array(125,-203,534,789),10494=>array(125,-203,534,789),10495=>array(125,-203,534,789),10496=>array(51,119,721,527),10497=>array(51,119,721,527),10498=>array(33,119,703,527),10499=>array(51,119,721,527),10500=>array(33,119,721,527),10501=>array(51,119,721,527),10502=>array(33,119,703,527),10503=>array(51,119,721,527),10504=>array(193,-20,561,724),10505=>array(193,0,561,744),10506=>array(149,0,605,744),10507=>array(149,-20,605,724),10508=>array(33,119,703,527),10509=>array(51,119,721,527),10510=>array(33,119,703,527),10511=>array(51,119,721,527),10512=>array(48,119,721,527),10513=>array(48,119,721,527),10514=>array(193,0,561,724),10515=>array(193,0,561,724),10516=>array(48,119,721,527),10517=>array(48,119,721,527),10518=>array(48,119,721,527),10519=>array(48,119,721,527),10520=>array(48,119,721,527),10521=>array(51,119,706,527),10522=>array(48,119,703,527),10523=>array(51,119,706,527),10524=>array(48,119,703,527),10525=>array(33,119,703,527),10526=>array(51,119,721,527),10527=>array(33,119,703,527),10528=>array(51,119,721,527),10529=>array(132,51,623,595),10530=>array(132,51,622,595),10531=>array(132,-37,583,595),10532=>array(170,-38,622,595),10533=>array(170,52,622,684),10534=>array(132,52,584,684),10535=>array(122,40,633,595),10536=>array(122,40,622,607),10537=>array(122,52,633,607),10538=>array(132,40,633,607),10539=>array(122,40,633,607),10540=>array(122,40,633,607),10541=>array(122,40,622,607),10542=>array(122,40,622,607),10543=>array(122,40,633,607),10544=>array(122,40,633,607),10545=>array(122,40,633,595),10546=>array(122,40,633,595),10547=>array(33,119,721,527),10548=>array(132,98,636,610),10549=>array(132,90,637,602),10550=>array(143,70,604,629),10551=>array(150,70,611,629),10552=>array(263,-0,528,732),10553=>array(226,-0,491,732),10554=>array(50,197,710,491),10555=>array(45,156,706,450),10556=>array(44,82,704,491),10557=>array(50,0,710,491),10558=>array(130,30,611,609),10559=>array(144,30,624,609),10560=>array(125,53,629,778),10561=>array(125,53,629,778),10562=>array(33,-52,721,698),10563=>array(33,-52,721,698),10564=>array(33,-52,721,698),10565=>array(51,0,721,527),10566=>array(33,0,703,527),10567=>array(51,119,721,527),10568=>array(33,119,721,527),10569=>array(193,-10,561,744),10570=>array(31,119,724,527),10571=>array(31,119,724,527),10572=>array(193,-23,561,747),10573=>array(193,-23,561,747),10574=>array(31,284,724,527),10575=>array(341,-23,561,747),10576=>array(31,119,724,363),10577=>array(193,-23,413,747),10578=>array(51,131,703,527),10579=>array(51,131,703,527),10580=>array(204,0,561,724),10581=>array(204,0,561,724),10582=>array(51,119,703,515),10583=>array(51,119,703,515),10584=>array(193,0,550,724),10585=>array(193,0,550,724),10586=>array(31,131,703,527),10587=>array(51,131,724,527),10588=>array(204,0,561,747),10589=>array(204,-23,561,724),10590=>array(31,119,703,515),10591=>array(51,119,724,515),10592=>array(193,0,550,747),10593=>array(193,-23,550,724),10594=>array(31,21,703,625),10595=>array(105,0,649,747),10596=>array(51,21,724,625),10597=>array(105,-23,649,724),10598=>array(31,186,724,625),10599=>array(31,21,724,460),10600=>array(31,186,724,625),10601=>array(31,21,724,460),10602=>array(31,203,703,608),10603=>array(31,38,703,444),10604=>array(51,203,724,608),10605=>array(51,38,724,444),10606=>array(105,-23,649,747),10607=>array(105,-23,649,747),10608=>array(51,191,703,456),10609=>array(51,119,721,680),10610=>array(51,119,721,572),10611=>array(33,74,703,527),10612=>array(51,74,721,527),10613=>array(51,-71,721,527),10614=>array(33,-76,703,776),10615=>array(33,56,832,591),10616=>array(51,-76,721,776),10617=>array(51,-76,721,723),10618=>array(33,10,835,637),10619=>array(33,-76,703,723),10620=>array(152,21,614,625),10621=>array(141,21,602,625),10622=>array(105,67,649,580),10623=>array(105,59,649,571),10731=>array(2,-233,442,807),10764=>array(21,-181,1340,757),10765=>array(21,-181,448,757),10766=>array(21,-181,448,757),10799=>array(124,33,630,594),10858=>array(95,233,659,559),10859=>array(95,68,659,559),11008=>array(64,-28,621,591),11009=>array(133,-28,690,591),11010=>array(64,52,621,671),11011=>array(133,52,690,671),11012=>array(33,119,721,527),11013=>array(33,119,703,527),11014=>array(193,0,561,744),11015=>array(193,-20,561,724),11016=>array(64,-28,621,591),11017=>array(133,-28,690,591),11018=>array(64,52,621,671),11019=>array(133,52,690,671),11020=>array(33,119,721,527),11021=>array(193,-20,561,744),11022=>array(51,137,721,498),11023=>array(51,149,721,510),11024=>array(33,137,703,498),11025=>array(33,149,703,510),11026=>array(82,-124,769,643),11027=>array(82,-124,769,643),11028=>array(82,-124,769,643),11029=>array(82,-124,769,643),11030=>array(2,-124,690,643),11031=>array(2,-124,690,643),11032=>array(2,-124,690,643),11033=>array(2,-124,690,643),11034=>array(82,-124,769,643),11360=>array(-14,0,544,729),11361=>array(-2,0,291,760),11363=>array(-14,0,602,729),11364=>array(91,-208,663,729),11367=>array(-0,-157,813,729),11368=>array(43,-208,569,760),11369=>array(-0,-157,729,729),11370=>array(37,-208,513,760),11371=>array(-10,-157,652,729),11372=>array(-9,-208,479,544),11373=>array(40,-14,722,742),11374=>array(4,-208,958,729),11375=>array(49,0,723,729),11376=>array(-7,-14,676,742),11377=>array(32,0,640,530),11378=>array(59,0,1075,729),11379=>array(49,0,889,530),11381=>array(-14,0,643,729),11382=>array(58,0,440,519),11383=>array(32,-15,592,521),11385=>array(-33,-14,391,760),11386=>array(44,-14,497,533),11387=>array(6,0,518,519),11388=>array(-24,-124,233,413),11389=>array(25,326,454,734),11390=>array(43,-208,593,742),11391=>array(-5,-208,657,729),11520=>array(101,-54,708,512),11521=>array(42,-221,583,512),11522=>array(-3,-221,582,512),11523=>array(106,-1,627,760),11524=>array(49,-221,589,512),11525=>array(53,-220,878,512),11526=>array(123,0,692,760),11527=>array(53,0,876,511),11528=>array(104,0,567,512),11529=>array(53,-220,593,729),11530=>array(47,0,873,512),11531=>array(110,-1,611,760),11532=>array(53,0,593,760),11533=>array(52,-1,878,512),11534=>array(53,0,593,512),11535=>array(76,-221,822,760),11536=>array(53,0,877,760),11537=>array(53,0,593,760),11538=>array(42,-220,569,511),11539=>array(53,-224,891,636),11540=>array(97,-220,804,553),11541=>array(71,-221,778,760),11542=>array(53,0,592,512),11543=>array(53,-220,593,512),11544=>array(53,-221,593,512),11545=>array(85,-220,597,760),11546=>array(89,-220,631,512),11547=>array(96,0,612,760),11548=>array(104,-220,896,512),11549=>array(42,-220,625,512),11550=>array(81,-220,621,512),11551=>array(36,-221,779,515),11552=>array(57,0,882,512),11553=>array(61,-220,581,760),11554=>array(80,-2,554,578),11555=>array(53,-220,625,760),11556=>array(53,-220,686,512),11557=>array(109,-2,805,760),11800=>array(28,-13,403,743),11807=>array(95,68,659,394),11810=>array(77,314,360,760),11811=>array(138,314,352,760),11812=>array(-1,-132,213,314),11813=>array(-9,-132,274,314),11822=>array(93,-14,497,742),42564=>array(46,-14,583,742),42565=>array(30,-14,437,533),42566=>array(99,0,370,729),42567=>array(68,0,236,519),42576=>array(66,0,1008,729),42577=>array(35,-14,782,534),42580=>array(59,-14,1088,742),42581=>array(41,-14,725,533),42582=>array(-14,0,980,729),42583=>array(63,-14,728,533),42760=>array(141,0,409,668),42761=>array(114,0,409,668),42762=>array(88,0,409,668),42763=>array(62,0,409,668),42764=>array(35,0,409,668),42765=>array(35,0,409,668),42766=>array(35,0,382,668),42767=>array(35,0,356,668),42768=>array(35,0,330,668),42769=>array(35,0,303,668),42770=>array(35,0,409,668),42771=>array(35,0,382,668),42772=>array(35,0,356,668),42773=>array(35,0,330,668),42774=>array(35,0,303,668),42779=>array(160,326,392,743),42780=>array(125,315,357,731),42781=>array(139,318,278,734),42782=>array(135,326,274,742),42783=>array(78,0,217,416),42790=>array(4,-208,817,729),42791=>array(63,-222,493,760),42792=>array(62,-224,737,729),42793=>array(67,-224,662,680),42794=>array(7,-14,528,742),42795=>array(15,-14,479,742),42796=>array(1,-14,455,729),42797=>array(1,-222,445,519),42798=>array(9,-92,535,729),42799=>array(3,-242,512,519),42800=>array(-20,0,487,519),42801=>array(10,-14,431,533),42802=>array(-69,0,1029,729),42803=>array(30,-14,789,533),42804=>array(-69,-14,1054,742),42805=>array(30,-14,817,533),42806=>array(-78,-14,1059,729),42807=>array(30,-14,777,533),42808=>array(-69,0,949,729),42809=>array(30,-14,718,533),42810=>array(-69,0,949,729),42811=>array(26,-14,714,533),42812=>array(-51,-208,962,729),42813=>array(30,-222,693,533),42814=>array(21,-14,644,742),42815=>array(26,-14,470,533),42816=>array(-14,0,716,729),42817=>array(37,0,494,760),42822=>array(96,0,655,729),42823=>array(83,0,307,760),42826=>array(-9,-14,849,742),42827=>array(-9,-14,649,533),42830=>array(47,-14,1225,742),42831=>array(44,-14,854,533),42856=>array(-33,-208,637,729),42857=>array(40,-208,530,519),42875=>array(43,-208,594,743),42876=>array(44,-208,493,533),42880=>array(53,0,612,729),42881=>array(37,-240,251,519),42882=>array(43,-208,676,743),42883=>array(44,-208,541,533),42884=>array(43,-208,594,743),42885=>array(44,-208,493,533),42886=>array(48,-14,708,729),42887=>array(46,-14,519,519),42891=>array(127,205,303,729),42892=>array(64,458,182,729),42893=>array(63,0,713,729),42896=>array(-6,-157,826,729),42897=>array(63,-208,589,533),42922=>array(-62,0,799,729),43002=>array(-13,0,875,519),43003=>array(73,0,639,729),43004=>array(60,0,620,729),43005=>array(-19,0,935,729),43006=>array(-32,0,387,928),43007=>array(-69,0,1142,729),62464=>array(-0,0,518,866),62465=>array(10,0,526,865),62466=>array(6,0,570,864),62467=>array(72,0,835,865),62468=>array(-4,0,590,865),62469=>array(-7,0,576,866),62470=>array(68,0,621,865),62471=>array(32,1,866,865),62472=>array(36,0,573,865),62473=>array(2,0,571,865),62474=>array(79,0,1113,865),62475=>array(13,0,609,865),62476=>array(26,0,626,867),62477=>array(41,-107,831,865),62478=>array(3,0,580,865),62479=>array(-1,0,646,866),62480=>array(22,-0,829,843),62481=>array(54,0,591,865),62482=>array(25,0,656,865),62483=>array(63,0,667,865),62484=>array(81,0,849,865),62485=>array(-5,0,642,852),62486=>array(77,0,837,865),62487=>array(-3,0,642,864),62488=>array(18,0,616,865),62489=>array(-29,0,543,865),62490=>array(19,0,623,859),62491=>array(15,0,607,865),62492=>array(22,0,659,865),62493=>array(-4,0,562,872),62494=>array(59,0,585,865),62495=>array(-22,-10,806,863),62496=>array(-2,0,593,869),62497=>array(28,0,689,866),62498=>array(-30,-40,576,865),62499=>array(0,0,646,878),62500=>array(-5,0,591,865),62501=>array(-8,0,631,865),62502=>array(63,0,849,865),62504=>array(85,-220,786,760),63172=>array(48,0,324,745),63173=>array(19,-14,526,747),63174=>array(32,-222,538,533),63175=>array(62,-14,547,691),63176=>array(62,-14,819,691),63185=>array(99,625,400,785),63188=>array(100,670,358,806),64256=>array(-56,-208,766,760),64257=>array(-56,-208,549,760),64258=>array(-56,-208,580,760),64259=>array(-56,-208,845,760),64260=>array(-56,-208,886,760),64261=>array(-56,-208,668,760),64262=>array(10,-14,823,737),65533=>array(85,-84,982,912),65535=>array(44,-177,495,705)); +$cw=array(0=>540,32=>286,33=>361,34=>414,35=>754,36=>572,37=>855,38=>801,39=>247,40=>351,41=>351,42=>450,43=>754,44=>286,45=>304,46=>286,47=>303,48=>572,49=>572,50=>572,51=>572,52=>572,53=>572,54=>572,55=>572,56=>572,57=>572,58=>303,59=>303,60=>754,61=>754,62=>754,63=>482,64=>900,65=>650,66=>661,67=>688,68=>721,69=>657,70=>624,71=>719,72=>785,73=>355,74=>360,75=>672,76=>598,77=>921,78=>787,79=>738,80=>605,81=>738,82=>677,83=>616,84=>600,85=>758,86=>650,87=>925,88=>641,89=>594,90=>625,91=>351,92=>303,93=>351,94=>754,95=>450,96=>450,97=>536,98=>576,99=>504,100=>576,101=>532,102=>333,103=>576,104=>580,105=>288,106=>279,107=>545,108=>288,109=>853,110=>580,111=>542,112=>576,113=>576,114=>430,115=>461,116=>361,117=>580,118=>508,119=>770,120=>507,121=>508,122=>474,123=>572,124=>303,125=>572,126=>754,160=>286,161=>361,162=>572,163=>572,164=>572,165=>572,166=>303,167=>450,168=>450,169=>900,170=>427,171=>550,172=>754,173=>304,174=>900,175=>450,176=>450,177=>754,178=>360,179=>360,180=>450,181=>584,182=>572,183=>286,184=>450,185=>360,186=>423,187=>550,188=>872,189=>872,190=>872,191=>482,192=>650,193=>650,194=>650,195=>650,196=>650,197=>650,198=>901,199=>688,200=>657,201=>657,202=>657,203=>657,204=>355,205=>355,206=>355,207=>355,208=>726,209=>787,210=>738,211=>738,212=>738,213=>738,214=>738,215=>754,216=>738,217=>758,218=>758,219=>758,220=>758,221=>594,222=>608,223=>601,224=>536,225=>536,226=>536,227=>536,228=>536,229=>536,230=>846,231=>504,232=>532,233=>532,234=>532,235=>532,236=>288,237=>288,238=>288,239=>288,240=>542,241=>580,242=>542,243=>542,244=>542,245=>542,246=>542,247=>754,248=>542,249=>580,250=>580,251=>580,252=>580,253=>508,254=>576,255=>508,256=>650,257=>536,258=>650,259=>536,260=>650,261=>536,262=>688,263=>504,264=>688,265=>504,266=>688,267=>504,268=>688,269=>504,270=>721,271=>576,272=>726,273=>576,274=>657,275=>532,276=>657,277=>532,278=>657,279=>532,280=>657,281=>532,282=>657,283=>532,284=>719,285=>576,286=>719,287=>576,288=>719,289=>576,290=>719,291=>576,292=>785,293=>580,294=>785,295=>580,296=>355,297=>288,298=>355,299=>288,300=>355,301=>288,302=>355,303=>288,304=>355,305=>288,306=>721,307=>479,308=>360,309=>279,310=>672,311=>545,312=>545,313=>598,314=>288,315=>598,316=>288,317=>598,318=>360,319=>604,320=>418,321=>602,322=>292,323=>787,324=>580,325=>787,326=>580,327=>787,328=>580,329=>779,330=>758,331=>580,332=>738,333=>542,334=>738,335=>542,336=>738,337=>542,338=>1023,339=>890,340=>677,341=>430,342=>677,343=>430,344=>677,345=>430,346=>616,347=>461,348=>616,349=>461,350=>616,351=>461,352=>616,353=>461,354=>600,355=>361,356=>600,357=>361,358=>600,359=>361,360=>758,361=>580,362=>758,363=>580,364=>758,365=>580,366=>758,367=>580,368=>758,369=>580,370=>758,371=>580,372=>925,373=>770,374=>594,375=>508,376=>594,377=>625,378=>474,379=>625,380=>474,381=>625,382=>474,383=>333,384=>576,385=>661,386=>661,387=>576,388=>661,389=>576,390=>688,391=>688,392=>504,393=>726,394=>721,395=>661,396=>576,397=>542,398=>657,399=>738,400=>561,401=>624,402=>333,403=>719,404=>641,405=>839,406=>355,407=>355,408=>672,409=>545,410=>288,411=>570,412=>853,413=>787,414=>580,415=>738,416=>738,417=>542,418=>936,419=>726,420=>605,421=>576,422=>677,423=>616,424=>461,425=>636,426=>292,427=>361,428=>600,429=>361,430=>600,431=>758,432=>580,433=>746,434=>684,435=>664,436=>670,437=>625,438=>474,439=>508,440=>508,441=>508,442=>508,443=>572,444=>618,445=>508,446=>482,447=>571,448=>265,449=>443,450=>413,451=>265,452=>1347,453=>1195,454=>1050,455=>958,456=>876,457=>567,458=>1148,459=>1066,460=>858,461=>650,462=>536,463=>355,464=>288,465=>738,466=>542,467=>758,468=>580,469=>758,470=>580,471=>758,472=>580,473=>758,474=>580,475=>758,476=>580,477=>532,478=>650,479=>536,480=>650,481=>536,482=>901,483=>846,484=>763,485=>576,486=>719,487=>576,488=>672,489=>545,490=>738,491=>542,492=>738,493=>542,494=>508,495=>508,496=>288,497=>1347,498=>1195,499=>1050,500=>719,501=>576,502=>1038,503=>636,504=>787,505=>580,506=>650,507=>536,508=>901,509=>846,510=>738,511=>542,512=>650,513=>536,514=>650,515=>536,516=>657,517=>532,518=>657,519=>532,520=>355,521=>288,522=>355,523=>288,524=>738,525=>542,526=>738,527=>542,528=>677,529=>430,530=>677,531=>430,532=>758,533=>580,534=>758,535=>580,536=>616,537=>461,538=>600,539=>361,540=>564,541=>469,542=>785,543=>580,544=>758,545=>732,546=>514,547=>497,548=>625,549=>474,550=>650,551=>536,552=>657,553=>532,554=>738,555=>542,556=>738,557=>542,558=>738,559=>542,560=>738,561=>542,562=>594,563=>508,564=>450,565=>748,566=>444,567=>279,568=>864,569=>864,570=>650,571=>688,572=>504,573=>598,574=>600,575=>461,576=>474,577=>525,578=>417,579=>661,580=>758,581=>650,582=>657,583=>532,584=>360,585=>283,586=>704,587=>576,588=>677,589=>430,590=>594,591=>508,592=>536,593=>607,594=>607,595=>576,596=>504,597=>504,598=>582,599=>614,600=>532,601=>532,602=>759,603=>483,604=>458,605=>695,606=>552,607=>283,608=>615,609=>576,610=>489,611=>539,612=>507,613=>580,614=>580,615=>580,616=>288,617=>353,618=>288,619=>342,620=>409,621=>326,622=>633,623=>853,624=>853,625=>853,626=>579,627=>624,628=>581,629=>542,630=>711,631=>583,632=>542,633=>451,634=>451,635=>496,636=>430,637=>430,638=>407,639=>407,640=>534,641=>534,642=>461,643=>244,644=>333,645=>438,646=>292,647=>361,648=>361,649=>580,650=>558,651=>547,652=>508,653=>770,654=>508,655=>589,656=>537,657=>504,658=>508,659=>504,660=>482,661=>482,662=>482,663=>461,664=>738,665=>506,666=>552,667=>588,668=>600,669=>329,670=>545,671=>488,672=>615,673=>482,674=>482,675=>896,676=>930,677=>898,678=>741,679=>538,680=>743,681=>804,682=>652,683=>608,684=>538,685=>398,686=>703,687=>690,688=>389,689=>387,690=>237,691=>312,692=>312,693=>387,694=>352,695=>485,696=>320,697=>250,698=>414,699=>286,700=>286,701=>286,702=>276,703=>276,704=>252,705=>252,706=>450,707=>450,708=>450,709=>450,710=>450,711=>450,712=>254,713=>450,714=>450,715=>450,716=>254,717=>450,720=>303,721=>303,722=>276,723=>276,726=>353,727=>353,728=>450,729=>450,730=>450,731=>450,732=>450,733=>450,734=>375,736=>339,737=>218,738=>303,739=>319,740=>252,741=>444,742=>444,743=>444,744=>444,745=>444,748=>450,750=>435,751=>450,752=>450,755=>450,759=>450,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>666,881=>478,882=>600,883=>498,884=>250,885=>250,886=>787,887=>600,890=>450,891=>504,892=>504,893=>504,894=>303,900=>450,901=>450,902=>650,903=>286,904=>810,905=>935,906=>505,908=>751,910=>808,911=>767,912=>353,913=>650,914=>661,915=>624,916=>650,917=>657,918=>625,919=>785,920=>738,921=>355,922=>672,923=>650,924=>921,925=>787,926=>633,927=>738,928=>785,929=>605,931=>636,932=>600,933=>594,934=>738,935=>641,936=>789,937=>746,938=>355,939=>594,940=>607,941=>483,942=>539,943=>353,944=>547,945=>607,946=>520,947=>538,948=>542,949=>483,950=>488,951=>539,952=>542,953=>353,954=>590,955=>570,956=>584,957=>547,958=>496,959=>542,960=>591,961=>529,962=>504,963=>614,964=>498,965=>547,966=>630,967=>545,968=>706,969=>734,970=>353,971=>547,972=>542,973=>547,974=>734,975=>672,976=>524,977=>643,978=>618,979=>787,980=>618,981=>613,982=>734,983=>561,984=>738,985=>542,986=>688,987=>504,988=>624,989=>417,990=>531,991=>593,992=>704,993=>519,1008=>561,1009=>529,1010=>504,1011=>279,1012=>738,1013=>504,1014=>504,1015=>608,1016=>576,1017=>688,1018=>921,1019=>637,1020=>529,1021=>688,1022=>688,1023=>688,1024=>657,1025=>657,1026=>719,1027=>596,1028=>688,1029=>616,1030=>355,1031=>355,1032=>360,1033=>976,1034=>1006,1035=>785,1036=>696,1037=>785,1038=>650,1039=>785,1040=>681,1041=>661,1042=>661,1043=>596,1044=>731,1045=>657,1046=>1011,1047=>561,1048=>785,1049=>785,1050=>696,1051=>751,1052=>921,1053=>785,1054=>738,1055=>785,1056=>605,1057=>688,1058=>600,1059=>650,1060=>747,1061=>641,1062=>785,1063=>695,1064=>1027,1065=>1027,1066=>715,1067=>885,1068=>606,1069=>688,1070=>1074,1071=>727,1072=>536,1073=>549,1074=>523,1075=>455,1076=>570,1077=>532,1078=>1023,1079=>491,1080=>580,1081=>580,1082=>537,1083=>573,1084=>746,1085=>593,1086=>542,1087=>580,1088=>576,1089=>504,1090=>853,1091=>522,1092=>704,1093=>507,1094=>628,1095=>560,1096=>853,1097=>901,1098=>600,1099=>733,1100=>490,1101=>504,1102=>792,1103=>596,1104=>532,1105=>532,1106=>561,1107=>455,1108=>504,1109=>461,1110=>288,1111=>288,1112=>279,1113=>773,1114=>790,1115=>580,1116=>537,1117=>580,1118=>522,1119=>580,1122=>686,1123=>794,1124=>1016,1125=>750,1130=>1011,1131=>828,1132=>1223,1133=>956,1136=>849,1137=>812,1138=>738,1139=>497,1140=>773,1141=>610,1142=>773,1143=>610,1164=>636,1165=>490,1168=>604,1169=>476,1170=>596,1171=>455,1172=>657,1173=>552,1174=>1011,1175=>1023,1176=>561,1177=>491,1178=>696,1179=>544,1182=>696,1183=>537,1184=>803,1185=>602,1186=>785,1187=>641,1188=>1025,1189=>771,1190=>1085,1191=>848,1194=>688,1195=>504,1196=>600,1197=>911,1198=>594,1199=>514,1200=>594,1201=>514,1202=>641,1203=>566,1204=>842,1205=>659,1206=>674,1207=>609,1210=>674,1211=>580,1216=>355,1217=>1011,1218=>1023,1219=>672,1220=>545,1223=>785,1224=>600,1227=>674,1228=>600,1231=>288,1232=>681,1233=>536,1234=>681,1235=>536,1236=>901,1237=>846,1238=>657,1239=>532,1240=>738,1241=>532,1242=>738,1243=>532,1244=>1011,1245=>1023,1246=>561,1247=>491,1248=>508,1249=>508,1250=>785,1251=>580,1252=>785,1253=>580,1254=>738,1255=>542,1256=>738,1257=>542,1258=>738,1259=>542,1260=>688,1261=>504,1262=>650,1263=>522,1264=>650,1265=>522,1266=>650,1267=>522,1268=>695,1269=>560,1270=>596,1271=>455,1272=>885,1273=>733,1296=>561,1297=>491,1298=>751,1299=>573,1300=>1079,1301=>845,1306=>738,1307=>576,1308=>925,1309=>770,1329=>729,1330=>729,1331=>725,1332=>745,1333=>725,1334=>743,1335=>685,1336=>729,1337=>871,1338=>734,1339=>695,1340=>614,1341=>987,1342=>760,1343=>723,1344=>647,1345=>729,1346=>750,1347=>748,1348=>808,1349=>687,1350=>714,1351=>678,1352=>719,1353=>717,1354=>787,1355=>747,1356=>778,1357=>719,1358=>721,1359=>658,1360=>697,1361=>674,1362=>570,1363=>760,1364=>759,1365=>751,1366=>738,1369=>276,1370=>237,1371=>207,1372=>352,1373=>328,1374=>347,1375=>450,1377=>854,1378=>556,1379=>625,1380=>625,1381=>565,1382=>619,1383=>458,1384=>572,1385=>711,1386=>604,1387=>571,1388=>274,1389=>875,1390=>553,1391=>565,1392=>572,1393=>567,1394=>572,1395=>588,1396=>580,1397=>278,1398=>572,1399=>415,1400=>584,1401=>329,1402=>846,1403=>505,1404=>591,1405=>580,1406=>567,1407=>836,1408=>580,1409=>578,1410=>435,1411=>836,1412=>572,1413=>548,1414=>728,1415=>709,1417=>306,1418=>300,4256=>659,4257=>773,4258=>753,4259=>782,4260=>668,4261=>892,4262=>833,4263=>1000,4264=>519,4265=>684,4266=>875,4267=>856,4268=>677,4269=>976,4270=>815,4271=>754,4272=>944,4273=>668,4274=>611,4275=>922,4276=>852,4277=>926,4278=>667,4279=>668,4280=>668,4281=>668,4282=>800,4283=>852,4284=>651,4285=>688,4286=>668,4287=>871,4288=>909,4289=>641,4290=>786,4291=>669,4292=>762,4293=>864,4304=>495,4305=>523,4306=>539,4307=>759,4308=>514,4309=>510,4310=>558,4311=>783,4312=>512,4313=>500,4314=>968,4315=>536,4316=>536,4317=>751,4318=>521,4319=>531,4320=>750,4321=>546,4322=>682,4323=>631,4324=>742,4325=>535,4326=>781,4327=>520,4328=>543,4329=>536,4330=>616,4331=>537,4332=>501,4333=>527,4334=>562,4335=>624,4336=>523,4337=>551,4338=>523,4339=>523,4340=>522,4341=>593,4342=>806,4343=>572,4344=>532,4345=>565,4346=>522,4347=>410,4348=>335,7424=>508,7425=>697,7426=>846,7427=>506,7428=>504,7429=>527,7430=>527,7431=>498,7432=>458,7433=>288,7434=>448,7435=>537,7436=>488,7437=>700,7438=>600,7439=>542,7440=>504,7441=>582,7442=>582,7443=>582,7444=>890,7445=>461,7446=>542,7447=>542,7448=>498,7449=>534,7450=>534,7451=>498,7452=>526,7453=>597,7454=>831,7455=>589,7456=>508,7457=>770,7458=>474,7459=>474,7460=>478,7461=>668,7462=>471,7463=>508,7464=>591,7465=>498,7466=>632,7467=>571,7468=>409,7469=>567,7470=>417,7471=>417,7472=>454,7473=>413,7474=>413,7475=>453,7476=>494,7477=>224,7478=>227,7479=>423,7480=>376,7481=>580,7482=>496,7483=>496,7484=>464,7485=>332,7486=>381,7487=>426,7488=>378,7489=>478,7490=>583,7491=>338,7492=>338,7493=>382,7494=>532,7495=>360,7496=>360,7497=>348,7498=>348,7499=>385,7500=>306,7501=>360,7502=>157,7503=>328,7504=>552,7505=>359,7506=>347,7507=>312,7508=>347,7509=>347,7510=>360,7511=>222,7512=>359,7513=>376,7514=>552,7515=>335,7516=>421,7517=>327,7518=>338,7519=>341,7520=>396,7521=>343,7522=>181,7523=>312,7524=>359,7525=>335,7526=>327,7527=>338,7528=>333,7529=>396,7530=>343,7531=>876,7543=>576,7544=>494,7547=>288,7548=>353,7549=>576,7550=>526,7551=>558,7557=>288,7579=>382,7580=>317,7581=>317,7582=>426,7583=>385,7584=>209,7585=>285,7586=>439,7587=>359,7588=>181,7589=>181,7590=>181,7591=>181,7592=>286,7593=>237,7594=>236,7595=>409,7596=>552,7597=>552,7598=>445,7599=>443,7600=>438,7601=>347,7602=>426,7603=>295,7604=>269,7605=>301,7606=>359,7607=>429,7608=>331,7609=>417,7610=>320,7611=>298,7612=>376,7613=>376,7614=>406,7615=>426,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>650,7681=>536,7682=>661,7683=>576,7684=>661,7685=>576,7686=>661,7687=>576,7688=>688,7689=>504,7690=>721,7691=>576,7692=>721,7693=>576,7694=>721,7695=>576,7696=>721,7697=>576,7698=>721,7699=>576,7700=>657,7701=>532,7702=>657,7703=>532,7704=>657,7705=>532,7706=>657,7707=>532,7708=>657,7709=>532,7710=>624,7711=>333,7712=>719,7713=>576,7714=>785,7715=>580,7716=>785,7717=>580,7718=>785,7719=>580,7720=>785,7721=>580,7722=>785,7723=>580,7724=>355,7725=>288,7726=>355,7727=>288,7728=>672,7729=>545,7730=>672,7731=>545,7732=>672,7733=>545,7734=>598,7735=>288,7736=>598,7737=>288,7738=>598,7739=>288,7740=>598,7741=>288,7742=>921,7743=>853,7744=>921,7745=>853,7746=>921,7747=>857,7748=>787,7749=>580,7750=>787,7751=>580,7752=>787,7753=>580,7754=>787,7755=>580,7756=>738,7757=>542,7758=>738,7759=>542,7760=>738,7761=>542,7762=>738,7763=>542,7764=>605,7765=>576,7766=>605,7767=>576,7768=>677,7769=>430,7770=>677,7771=>430,7772=>677,7773=>430,7774=>677,7775=>430,7776=>616,7777=>461,7778=>616,7779=>461,7780=>616,7781=>461,7782=>616,7783=>469,7784=>616,7785=>461,7786=>600,7787=>361,7788=>600,7789=>361,7790=>600,7791=>361,7792=>600,7793=>361,7794=>758,7795=>580,7796=>758,7797=>580,7798=>758,7799=>580,7800=>758,7801=>580,7802=>758,7803=>580,7804=>650,7805=>508,7806=>650,7807=>508,7808=>925,7809=>770,7810=>925,7811=>770,7812=>925,7813=>770,7814=>925,7815=>770,7816=>925,7817=>770,7818=>641,7819=>507,7820=>641,7821=>507,7822=>594,7823=>508,7824=>625,7825=>474,7826=>625,7827=>474,7828=>625,7829=>474,7830=>580,7831=>361,7832=>770,7833=>508,7834=>813,7835=>333,7836=>333,7837=>333,7838=>746,7839=>542,7840=>650,7841=>536,7842=>650,7843=>536,7844=>650,7845=>551,7846=>650,7847=>551,7848=>650,7849=>551,7850=>650,7851=>551,7852=>650,7853=>536,7854=>650,7855=>536,7856=>650,7857=>536,7858=>650,7859=>536,7860=>650,7861=>536,7862=>650,7863=>536,7864=>657,7865=>532,7866=>657,7867=>532,7868=>657,7869=>532,7870=>657,7871=>554,7872=>657,7873=>554,7874=>657,7875=>554,7876=>657,7877=>554,7878=>657,7879=>532,7880=>355,7881=>288,7882=>355,7883=>288,7884=>738,7885=>542,7886=>738,7887=>542,7888=>738,7889=>550,7890=>738,7891=>550,7892=>738,7893=>550,7894=>738,7895=>550,7896=>738,7897=>542,7898=>738,7899=>542,7900=>738,7901=>542,7902=>738,7903=>542,7904=>738,7905=>542,7906=>738,7907=>542,7908=>758,7909=>580,7910=>758,7911=>580,7912=>758,7913=>580,7914=>758,7915=>580,7916=>758,7917=>580,7918=>758,7919=>580,7920=>758,7921=>580,7922=>594,7923=>508,7924=>594,7925=>508,7926=>594,7927=>508,7928=>594,7929=>508,7930=>854,7931=>523,7936=>607,7937=>607,7938=>607,7939=>607,7940=>607,7941=>607,7942=>607,7943=>607,7944=>650,7945=>650,7946=>782,7947=>782,7948=>660,7949=>687,7950=>650,7951=>650,7952=>483,7953=>483,7954=>483,7955=>483,7956=>483,7957=>483,7960=>768,7961=>757,7962=>960,7963=>969,7964=>907,7965=>931,7968=>539,7969=>539,7970=>539,7971=>539,7972=>539,7973=>539,7974=>539,7975=>539,7976=>898,7977=>893,7978=>1090,7979=>1101,7980=>1043,7981=>1064,7982=>988,7983=>985,7984=>353,7985=>353,7986=>353,7987=>353,7988=>353,7989=>353,7990=>353,7991=>353,7992=>469,7993=>461,7994=>661,7995=>664,7996=>611,7997=>635,7998=>561,7999=>553,8000=>542,8001=>542,8002=>542,8003=>542,8004=>542,8005=>542,8008=>738,8009=>773,8010=>1008,8011=>1015,8012=>843,8013=>867,8016=>547,8017=>547,8018=>547,8019=>547,8020=>547,8021=>547,8022=>547,8023=>547,8025=>765,8027=>971,8029=>939,8031=>857,8032=>734,8033=>734,8034=>734,8035=>734,8036=>734,8037=>734,8038=>734,8039=>734,8040=>746,8041=>783,8042=>1018,8043=>1023,8044=>852,8045=>878,8046=>844,8047=>873,8048=>607,8049=>607,8050=>483,8051=>483,8052=>539,8053=>539,8054=>353,8055=>353,8056=>542,8057=>542,8058=>547,8059=>547,8060=>734,8061=>734,8064=>607,8065=>607,8066=>607,8067=>607,8068=>607,8069=>607,8070=>607,8071=>607,8072=>650,8073=>650,8074=>782,8075=>782,8076=>660,8077=>687,8078=>650,8079=>650,8080=>539,8081=>539,8082=>539,8083=>539,8084=>539,8085=>539,8086=>539,8087=>539,8088=>898,8089=>893,8090=>1090,8091=>1101,8092=>1043,8093=>1064,8094=>988,8095=>985,8096=>734,8097=>734,8098=>734,8099=>734,8100=>734,8101=>734,8102=>734,8103=>734,8104=>746,8105=>783,8106=>1018,8107=>1023,8108=>852,8109=>878,8110=>844,8111=>873,8112=>607,8113=>607,8114=>607,8115=>607,8116=>607,8118=>607,8119=>607,8120=>650,8121=>650,8122=>650,8123=>650,8124=>650,8125=>450,8126=>450,8127=>450,8128=>450,8129=>450,8130=>539,8131=>539,8132=>539,8134=>539,8135=>539,8136=>820,8137=>810,8138=>956,8139=>935,8140=>785,8141=>450,8142=>450,8143=>450,8144=>353,8145=>353,8146=>353,8147=>353,8150=>353,8151=>353,8152=>355,8153=>355,8154=>529,8155=>505,8157=>450,8158=>450,8159=>450,8160=>547,8161=>547,8162=>547,8163=>547,8164=>529,8165=>529,8166=>547,8167=>547,8168=>594,8169=>594,8170=>829,8171=>808,8172=>711,8173=>450,8174=>450,8175=>450,8178=>734,8179=>734,8180=>734,8182=>734,8183=>734,8184=>865,8185=>751,8186=>886,8187=>767,8188=>746,8189=>450,8190=>450,8192=>450,8193=>900,8194=>450,8195=>900,8196=>296,8197=>225,8198=>150,8199=>572,8200=>286,8201=>180,8202=>89,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>304,8209=>304,8210=>572,8211=>450,8212=>900,8213=>900,8214=>450,8215=>450,8216=>286,8217=>286,8218=>286,8219=>286,8220=>460,8221=>460,8222=>466,8223=>460,8224=>450,8225=>450,8226=>531,8227=>531,8228=>301,8229=>600,8230=>900,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>180,8240=>1208,8241=>1560,8242=>204,8243=>336,8244=>468,8245=>204,8246=>336,8247=>468,8248=>305,8249=>360,8250=>360,8252=>475,8253=>482,8254=>450,8258=>900,8260=>150,8261=>351,8262=>351,8263=>878,8264=>678,8265=>678,8267=>572,8268=>450,8269=>450,8270=>450,8271=>303,8273=>450,8274=>404,8275=>900,8279=>597,8287=>200,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>360,8305=>181,8308=>360,8309=>360,8310=>360,8311=>360,8312=>360,8313=>360,8314=>475,8315=>475,8316=>475,8317=>221,8318=>221,8319=>365,8320=>360,8321=>360,8322=>360,8323=>360,8324=>360,8325=>360,8326=>360,8327=>360,8328=>360,8329=>360,8330=>475,8331=>475,8332=>475,8333=>221,8334=>221,8336=>338,8337=>348,8338=>347,8339=>319,8340=>348,8341=>389,8342=>328,8343=>218,8344=>552,8345=>365,8346=>360,8347=>303,8348=>222,8358=>594,8364=>572,8367=>951,8369=>635,8372=>702,8373=>572,8376=>600,8377=>572,8451=>1006,8457=>942,8462=>580,8463=>580,8470=>852,8482=>900,8486=>746,8487=>746,8490=>672,8491=>650,8498=>624,8513=>697,8514=>501,8515=>501,8516=>549,8523=>801,8526=>462,8528=>872,8529=>872,8530=>1233,8531=>872,8532=>872,8533=>872,8534=>872,8535=>872,8536=>872,8537=>872,8538=>872,8539=>872,8540=>872,8541=>872,8542=>872,8543=>511,8544=>355,8545=>531,8546=>707,8547=>870,8548=>650,8549=>883,8550=>1059,8551=>1234,8552=>838,8553=>641,8554=>839,8555=>1015,8556=>598,8557=>688,8558=>721,8559=>921,8560=>288,8561=>576,8562=>863,8563=>796,8564=>508,8565=>796,8566=>1084,8567=>1372,8568=>795,8569=>507,8570=>795,8571=>1083,8572=>288,8573=>504,8574=>576,8575=>853,8576=>1085,8577=>721,8578=>1085,8579=>688,8580=>504,8581=>688,8585=>872,8592=>754,8593=>754,8594=>754,8595=>754,8596=>754,8597=>754,8598=>754,8599=>754,8600=>754,8601=>754,8602=>754,8603=>754,8604=>754,8605=>754,8606=>754,8607=>754,8608=>754,8609=>754,8610=>754,8611=>754,8612=>754,8613=>754,8614=>754,8615=>754,8616=>754,8617=>754,8618=>754,8619=>754,8620=>754,8621=>754,8622=>754,8623=>754,8624=>754,8625=>754,8626=>754,8627=>754,8628=>754,8629=>754,8630=>754,8631=>754,8632=>754,8633=>754,8634=>754,8635=>754,8636=>754,8637=>754,8638=>754,8639=>754,8640=>754,8641=>754,8642=>754,8643=>754,8644=>754,8645=>754,8646=>754,8647=>754,8648=>754,8649=>754,8650=>754,8651=>754,8652=>754,8653=>754,8654=>754,8655=>754,8656=>754,8657=>754,8658=>754,8659=>754,8660=>754,8661=>754,8662=>754,8663=>754,8664=>754,8665=>754,8666=>754,8667=>754,8668=>754,8669=>754,8670=>754,8671=>754,8672=>754,8673=>754,8674=>754,8675=>754,8676=>754,8677=>754,8678=>754,8679=>754,8680=>754,8681=>754,8682=>754,8683=>754,8684=>754,8685=>754,8686=>754,8687=>754,8688=>754,8689=>754,8690=>754,8691=>754,8692=>754,8693=>754,8694=>754,8695=>754,8696=>754,8697=>754,8698=>754,8699=>754,8700=>754,8701=>754,8702=>754,8703=>754,8704=>543,8706=>465,8707=>488,8708=>488,8710=>628,8711=>628,8712=>666,8713=>666,8715=>666,8716=>666,8719=>716,8720=>716,8721=>642,8722=>754,8723=>754,8724=>754,8725=>303,8727=>611,8728=>441,8729=>441,8730=>573,8731=>573,8732=>573,8733=>609,8734=>750,8735=>754,8736=>754,8739=>262,8740=>431,8741=>416,8742=>570,8743=>659,8744=>659,8745=>754,8746=>754,8747=>469,8748=>766,8749=>1063,8760=>754,8761=>754,8762=>754,8763=>754,8764=>754,8765=>754,8770=>754,8771=>754,8776=>754,8784=>754,8785=>754,8786=>754,8787=>754,8788=>930,8789=>930,8800=>754,8801=>754,8804=>754,8805=>754,8834=>754,8835=>754,8836=>754,8837=>754,8838=>754,8839=>754,8844=>754,8845=>754,8846=>754,8847=>761,8848=>761,8849=>761,8850=>761,8851=>754,8852=>754,8853=>754,8854=>754,8855=>754,8856=>754,8857=>754,8858=>754,8859=>754,8860=>754,8861=>754,8862=>754,8863=>754,8864=>754,8865=>754,8866=>773,8867=>773,8868=>846,8869=>846,8870=>510,8871=>510,8872=>773,8873=>773,8874=>773,8875=>927,8876=>773,8877=>773,8878=>773,8879=>927,8901=>308,8962=>687,8968=>351,8969=>351,8970=>351,8971=>351,8976=>754,8977=>461,8984=>900,8985=>754,8992=>469,8993=>469,8997=>900,9000=>1299,9085=>827,9115=>450,9116=>450,9117=>450,9118=>450,9119=>450,9120=>450,9121=>450,9122=>450,9123=>450,9124=>450,9125=>450,9126=>450,9127=>675,9128=>675,9129=>675,9130=>675,9131=>675,9132=>675,9133=>675,9134=>469,9167=>850,9251=>687,9472=>542,9473=>542,9474=>542,9475=>542,9476=>542,9477=>542,9478=>542,9479=>542,9480=>542,9481=>542,9482=>542,9483=>542,9484=>542,9485=>542,9486=>542,9487=>542,9488=>542,9489=>542,9490=>542,9491=>542,9492=>542,9493=>542,9494=>542,9495=>542,9496=>542,9497=>542,9498=>542,9499=>542,9500=>542,9501=>542,9502=>542,9503=>542,9504=>542,9505=>542,9506=>542,9507=>542,9508=>542,9509=>542,9510=>542,9511=>542,9512=>542,9513=>542,9514=>542,9515=>542,9516=>542,9517=>542,9518=>542,9519=>542,9520=>542,9521=>542,9522=>542,9523=>542,9524=>542,9525=>542,9526=>542,9527=>542,9528=>542,9529=>542,9530=>542,9531=>542,9532=>542,9533=>542,9534=>542,9535=>542,9536=>542,9537=>542,9538=>542,9539=>542,9540=>542,9541=>542,9542=>542,9543=>542,9544=>542,9545=>542,9546=>542,9547=>542,9548=>542,9549=>542,9550=>542,9551=>542,9552=>542,9553=>542,9554=>542,9555=>542,9556=>542,9557=>542,9558=>542,9559=>542,9560=>542,9561=>542,9562=>542,9563=>542,9564=>542,9565=>542,9566=>542,9567=>542,9568=>542,9569=>542,9570=>542,9571=>542,9572=>542,9573=>542,9574=>542,9575=>542,9576=>542,9577=>542,9578=>542,9579=>542,9580=>542,9581=>542,9582=>542,9583=>542,9584=>542,9585=>542,9586=>542,9587=>542,9588=>542,9589=>542,9590=>542,9591=>542,9592=>542,9593=>542,9594=>542,9595=>542,9596=>542,9597=>542,9598=>542,9599=>542,9600=>692,9601=>692,9602=>692,9603=>692,9604=>692,9605=>692,9606=>692,9607=>692,9608=>692,9609=>692,9610=>692,9611=>692,9612=>692,9613=>692,9614=>692,9615=>692,9616=>692,9617=>692,9618=>692,9619=>692,9620=>692,9621=>692,9622=>692,9623=>692,9624=>692,9625=>692,9626=>692,9627=>692,9628=>692,9629=>692,9630=>692,9631=>692,9632=>850,9633=>850,9634=>850,9635=>850,9636=>850,9637=>850,9638=>850,9639=>850,9640=>850,9641=>850,9642=>610,9643=>610,9644=>850,9645=>850,9646=>495,9647=>495,9648=>692,9649=>692,9650=>692,9651=>692,9652=>452,9653=>452,9654=>692,9655=>692,9656=>452,9657=>452,9658=>692,9659=>692,9660=>692,9661=>692,9662=>452,9663=>452,9664=>692,9665=>692,9666=>452,9667=>452,9668=>692,9669=>692,9670=>692,9671=>692,9672=>692,9673=>785,9674=>444,9675=>785,9676=>785,9677=>785,9678=>785,9679=>785,9680=>785,9681=>785,9682=>785,9683=>785,9684=>785,9685=>785,9686=>474,9687=>474,9688=>712,9689=>873,9690=>873,9691=>873,9692=>348,9693=>348,9694=>348,9695=>348,9696=>785,9697=>785,9698=>692,9699=>692,9700=>692,9701=>692,9702=>531,9703=>850,9704=>850,9705=>850,9706=>850,9707=>850,9708=>692,9709=>692,9710=>692,9711=>1007,9712=>850,9713=>850,9714=>850,9715=>850,9716=>785,9717=>785,9718=>785,9719=>785,9720=>692,9721=>692,9722=>692,9723=>747,9724=>747,9725=>659,9726=>659,9727=>692,9728=>807,9784=>807,9785=>807,9786=>807,9787=>807,9788=>807,9791=>552,9792=>658,9793=>658,9794=>807,9795=>807,9796=>807,9797=>807,9798=>807,9799=>807,9824=>807,9825=>807,9826=>807,9827=>807,9828=>807,9829=>807,9830=>807,9831=>807,9833=>424,9834=>574,9835=>807,9836=>807,9837=>424,9838=>321,9839=>435,10145=>754,10181=>351,10182=>351,10208=>444,10216=>351,10217=>351,10224=>754,10225=>754,10226=>754,10227=>754,10228=>930,10229=>1290,10230=>1290,10231=>1290,10232=>1290,10233=>1290,10234=>1290,10235=>1290,10236=>1290,10237=>1290,10238=>1290,10239=>1290,10240=>659,10241=>659,10242=>659,10243=>659,10244=>659,10245=>659,10246=>659,10247=>659,10248=>659,10249=>659,10250=>659,10251=>659,10252=>659,10253=>659,10254=>659,10255=>659,10256=>659,10257=>659,10258=>659,10259=>659,10260=>659,10261=>659,10262=>659,10263=>659,10264=>659,10265=>659,10266=>659,10267=>659,10268=>659,10269=>659,10270=>659,10271=>659,10272=>659,10273=>659,10274=>659,10275=>659,10276=>659,10277=>659,10278=>659,10279=>659,10280=>659,10281=>659,10282=>659,10283=>659,10284=>659,10285=>659,10286=>659,10287=>659,10288=>659,10289=>659,10290=>659,10291=>659,10292=>659,10293=>659,10294=>659,10295=>659,10296=>659,10297=>659,10298=>659,10299=>659,10300=>659,10301=>659,10302=>659,10303=>659,10304=>659,10305=>659,10306=>659,10307=>659,10308=>659,10309=>659,10310=>659,10311=>659,10312=>659,10313=>659,10314=>659,10315=>659,10316=>659,10317=>659,10318=>659,10319=>659,10320=>659,10321=>659,10322=>659,10323=>659,10324=>659,10325=>659,10326=>659,10327=>659,10328=>659,10329=>659,10330=>659,10331=>659,10332=>659,10333=>659,10334=>659,10335=>659,10336=>659,10337=>659,10338=>659,10339=>659,10340=>659,10341=>659,10342=>659,10343=>659,10344=>659,10345=>659,10346=>659,10347=>659,10348=>659,10349=>659,10350=>659,10351=>659,10352=>659,10353=>659,10354=>659,10355=>659,10356=>659,10357=>659,10358=>659,10359=>659,10360=>659,10361=>659,10362=>659,10363=>659,10364=>659,10365=>659,10366=>659,10367=>659,10368=>659,10369=>659,10370=>659,10371=>659,10372=>659,10373=>659,10374=>659,10375=>659,10376=>659,10377=>659,10378=>659,10379=>659,10380=>659,10381=>659,10382=>659,10383=>659,10384=>659,10385=>659,10386=>659,10387=>659,10388=>659,10389=>659,10390=>659,10391=>659,10392=>659,10393=>659,10394=>659,10395=>659,10396=>659,10397=>659,10398=>659,10399=>659,10400=>659,10401=>659,10402=>659,10403=>659,10404=>659,10405=>659,10406=>659,10407=>659,10408=>659,10409=>659,10410=>659,10411=>659,10412=>659,10413=>659,10414=>659,10415=>659,10416=>659,10417=>659,10418=>659,10419=>659,10420=>659,10421=>659,10422=>659,10423=>659,10424=>659,10425=>659,10426=>659,10427=>659,10428=>659,10429=>659,10430=>659,10431=>659,10432=>659,10433=>659,10434=>659,10435=>659,10436=>659,10437=>659,10438=>659,10439=>659,10440=>659,10441=>659,10442=>659,10443=>659,10444=>659,10445=>659,10446=>659,10447=>659,10448=>659,10449=>659,10450=>659,10451=>659,10452=>659,10453=>659,10454=>659,10455=>659,10456=>659,10457=>659,10458=>659,10459=>659,10460=>659,10461=>659,10462=>659,10463=>659,10464=>659,10465=>659,10466=>659,10467=>659,10468=>659,10469=>659,10470=>659,10471=>659,10472=>659,10473=>659,10474=>659,10475=>659,10476=>659,10477=>659,10478=>659,10479=>659,10480=>659,10481=>659,10482=>659,10483=>659,10484=>659,10485=>659,10486=>659,10487=>659,10488=>659,10489=>659,10490=>659,10491=>659,10492=>659,10493=>659,10494=>659,10495=>659,10496=>754,10497=>754,10498=>754,10499=>754,10500=>754,10501=>754,10502=>754,10503=>754,10504=>754,10505=>754,10506=>754,10507=>754,10508=>754,10509=>754,10510=>754,10511=>754,10512=>754,10513=>754,10514=>754,10515=>754,10516=>754,10517=>754,10518=>754,10519=>754,10520=>754,10521=>754,10522=>754,10523=>754,10524=>754,10525=>754,10526=>754,10527=>754,10528=>754,10529=>754,10530=>754,10531=>754,10532=>754,10533=>754,10534=>754,10535=>754,10536=>754,10537=>754,10538=>754,10539=>754,10540=>754,10541=>754,10542=>754,10543=>754,10544=>754,10545=>754,10546=>754,10547=>754,10548=>754,10549=>754,10550=>754,10551=>754,10552=>754,10553=>754,10554=>754,10555=>754,10556=>754,10557=>754,10558=>754,10559=>754,10560=>754,10561=>754,10562=>754,10563=>754,10564=>754,10565=>754,10566=>754,10567=>754,10568=>754,10569=>754,10570=>754,10571=>754,10572=>754,10573=>754,10574=>754,10575=>754,10576=>754,10577=>754,10578=>754,10579=>754,10580=>754,10581=>754,10582=>754,10583=>754,10584=>754,10585=>754,10586=>754,10587=>754,10588=>754,10589=>754,10590=>754,10591=>754,10592=>754,10593=>754,10594=>754,10595=>754,10596=>754,10597=>754,10598=>754,10599=>754,10600=>754,10601=>754,10602=>754,10603=>754,10604=>754,10605=>754,10606=>754,10607=>754,10608=>754,10609=>754,10610=>754,10611=>754,10612=>754,10613=>754,10614=>754,10615=>883,10616=>754,10617=>754,10618=>886,10619=>754,10620=>754,10621=>754,10622=>754,10623=>754,10731=>444,10764=>1361,10765=>469,10766=>469,10799=>754,10858=>754,10859=>754,11008=>754,11009=>754,11010=>754,11011=>754,11012=>754,11013=>754,11014=>754,11015=>754,11016=>754,11017=>754,11018=>754,11019=>754,11020=>754,11021=>754,11022=>754,11023=>754,11024=>754,11025=>754,11026=>850,11027=>850,11028=>850,11029=>850,11030=>692,11031=>692,11032=>692,11033=>692,11034=>850,11360=>598,11361=>288,11363=>605,11364=>677,11367=>785,11368=>580,11369=>672,11370=>545,11371=>625,11372=>474,11373=>704,11374=>921,11375=>650,11376=>704,11377=>596,11378=>1017,11379=>845,11381=>666,11382=>478,11383=>630,11385=>451,11386=>542,11387=>498,11388=>237,11389=>409,11390=>616,11391=>625,11520=>695,11521=>571,11522=>569,11523=>592,11524=>568,11525=>866,11526=>680,11527=>864,11528=>555,11529=>581,11530=>866,11531=>568,11532=>581,11533=>866,11534=>580,11535=>779,11536=>865,11537=>580,11538=>580,11539=>863,11540=>851,11541=>777,11542=>580,11543=>581,11544=>580,11545=>584,11546=>619,11547=>571,11548=>883,11549=>613,11550=>608,11551=>766,11552=>861,11553=>569,11554=>580,11555=>582,11556=>674,11557=>822,11800=>482,11807=>754,11810=>351,11811=>351,11812=>351,11813=>351,11822=>482,42564=>616,42565=>461,42566=>355,42567=>353,42576=>994,42577=>845,42580=>1074,42581=>783,42582=>1025,42583=>787,42760=>444,42761=>444,42762=>444,42763=>444,42764=>444,42765=>444,42766=>444,42767=>444,42768=>444,42769=>444,42770=>444,42771=>444,42772=>444,42773=>444,42774=>444,42779=>332,42780=>332,42781=>228,42782=>228,42783=>228,42790=>785,42791=>571,42792=>758,42793=>679,42794=>550,42795=>504,42796=>493,42797=>478,42798=>566,42799=>549,42800=>462,42801=>461,42802=>1075,42803=>848,42804=>1103,42805=>855,42806=>1034,42807=>839,42808=>871,42809=>705,42810=>871,42811=>705,42812=>866,42813=>683,42814=>688,42815=>504,42816=>672,42817=>545,42822=>708,42823=>391,42826=>838,42827=>640,42830=>1274,42831=>899,42856=>636,42857=>549,42875=>550,42876=>430,42880=>598,42881=>288,42882=>758,42883=>580,42884=>550,42885=>430,42886=>688,42887=>504,42891=>361,42892=>247,42893=>695,42896=>787,42897=>628,42922=>785,43002=>861,43003=>624,43004=>605,43005=>921,43006=>355,43007=>1081,62464=>598,62465=>607,62466=>651,62467=>861,62468=>607,62469=>602,62470=>661,62471=>896,62472=>607,62473=>607,62474=>1141,62475=>624,62476=>623,62477=>866,62478=>607,62479=>623,62480=>908,62481=>681,62482=>728,62483=>682,62484=>859,62485=>622,62486=>852,62487=>621,62488=>628,62489=>623,62490=>665,62491=>623,62492=>628,62493=>608,62494=>665,62495=>805,62496=>607,62497=>707,62498=>608,62499=>607,62500=>607,62501=>659,62502=>875,62504=>813,63172=>288,63173=>542,63174=>576,63175=>580,63176=>853,63185=>450,63188=>450,64256=>637,64257=>600,64258=>600,64259=>847,64260=>887,64261=>669,64262=>824,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>923,65535=>540); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.z new file mode 100644 index 0000000..2449994 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifcondensedi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.ctg.z new file mode 100644 index 0000000..aa9dc33 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.php b/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.php new file mode 100644 index 0000000..15124fc --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-839 -347 1645 1109]','ItalicAngle'=>-11,'Ascent'=>928,'Descent'=>-236,'Leading'=>0,'CapHeight'=>729,'XHeight'=>519,'StemV'=>34,'StemH'=>15,'AvgWidth'=>513,'MaxWidth'=>1734,'MissingWidth'=>600); +$cbbox=array(0=>array(50,-177,550,705),33=>array(76,-14,336,729),34=>array(98,458,362,729),35=>array(77,0,761,718),36=>array(33,-147,575,760),37=>array(90,-14,860,742),38=>array(39,-14,835,742),39=>array(98,458,176,729),40=>array(79,-156,408,760),41=>array(-19,-156,311,760),42=>array(16,287,484,742),43=>array(106,0,732,627),44=>array(20,-136,246,111),45=>array(36,230,302,306),46=>array(94,-14,224,116),47=>array(-80,-93,417,729),48=>array(65,-14,570,742),49=>array(70,0,439,742),50=>array(-4,0,561,742),51=>array(12,-14,572,742),52=>array(-4,0,562,742),53=>array(22,-14,575,729),54=>array(62,-14,603,742),55=>array(122,0,635,729),56=>array(35,-14,582,742),57=>array(33,-14,574,742),58=>array(73,-14,265,434),59=>array(-12,-136,279,434),60=>array(106,46,732,581),61=>array(106,175,732,452),62=>array(106,46,732,581),63=>array(107,-14,524,742),64=>array(64,-174,945,704),65=>array(-77,0,671,729),66=>array(-16,0,673,729),67=>array(52,-14,747,742),68=>array(-16,0,745,729),69=>array(-16,0,713,729),70=>array(-16,0,723,729),71=>array(56,-14,757,742),72=>array(-16,0,888,729),73=>array(-16,0,411,729),74=>array(-169,-208,446,729),75=>array(-16,0,795,729),76=>array(-16,0,605,729),77=>array(-16,0,1044,729),78=>array(-21,-14,903,729),79=>array(52,-14,764,742),80=>array(-16,0,668,729),81=>array(60,-160,789,742),82=>array(-16,0,716,729),83=>array(29,-14,641,742),84=>array(47,0,729,729),85=>array(109,-14,870,729),86=>array(51,0,808,729),87=>array(65,0,1096,729),88=>array(-65,0,745,729),89=>array(49,0,740,729),90=>array(-26,0,709,729),91=>array(-1,-132,400,760),92=>array(80,-93,257,729),93=>array(-10,-132,391,760),94=>array(106,457,732,729),95=>array(0,-236,500,-197),96=>array(179,615,366,799),97=>array(33,-14,530,534),98=>array(42,-14,576,760),99=>array(42,-14,542,533),100=>array(20,-14,601,760),101=>array(42,-14,547,533),102=>array(-63,-208,518,760),103=>array(35,-222,597,533),104=>array(48,0,553,760),105=>array(50,0,270,736),106=>array(-183,-222,294,736),107=>array(41,0,549,760),108=>array(41,0,279,760),109=>array(70,0,879,533),110=>array(70,0,575,533),111=>array(42,-14,560,533),112=>array(43,-208,617,533),113=>array(90,-208,594,533),114=>array(70,0,527,533),115=>array(11,-14,479,533),116=>array(55,-14,404,680),117=>array(68,-14,574,519),118=>array(38,0,554,519),119=>array(56,0,836,519),120=>array(2,0,550,519),121=>array(-37,-222,575,519),122=>array(-11,-25,532,544),123=>array(120,-163,601,760),124=>array(129,-236,208,764),125=>array(35,-163,517,760),126=>array(106,233,732,394),161=>array(66,0,326,743),162=>array(75,-145,566,662),163=>array(-5,0,606,742),164=>array(51,45,588,582),165=>array(45,0,710,729),166=>array(129,-171,208,699),167=>array(2,-95,481,742),168=>array(193,652,497,766),169=>array(138,0,862,725),170=>array(35,261,432,734),171=>array(73,69,562,517),172=>array(106,140,732,421),173=>array(36,230,302,306),174=>array(138,0,862,725),175=>array(180,673,485,745),176=>array(95,432,405,742),177=>array(106,0,732,627),178=>array(3,326,352,742),179=>array(13,319,353,742),180=>array(257,616,516,800),181=>array(44,-208,600,519),182=>array(117,-96,652,729),183=>array(93,282,223,412),184=>array(125,-193,342,0),185=>array(46,326,292,734),186=>array(20,261,434,742),187=>array(50,69,539,517),188=>array(46,-14,864,742),189=>array(46,-14,857,742),190=>array(13,-14,864,742),191=>array(32,-13,448,743),192=>array(-77,0,671,927),193=>array(-77,0,671,927),194=>array(-77,0,671,927),195=>array(-77,0,671,921),196=>array(-77,0,671,920),197=>array(-96,0,652,928),198=>array(-88,0,1012,729),199=>array(52,-193,747,742),200=>array(-16,0,713,927),201=>array(-16,0,713,927),202=>array(-16,0,713,927),203=>array(-16,0,713,920),204=>array(-16,0,411,927),205=>array(-16,0,447,927),206=>array(-16,0,450,927),207=>array(-16,0,448,920),208=>array(-11,0,750,729),209=>array(-21,-14,903,921),210=>array(52,-14,764,927),211=>array(52,-14,764,927),212=>array(52,-14,764,927),213=>array(52,-14,764,921),214=>array(52,-14,764,920),215=>array(138,33,700,594),216=>array(-21,-28,839,757),217=>array(109,-14,870,927),218=>array(109,-14,870,927),219=>array(109,-14,870,927),220=>array(109,-14,870,920),221=>array(49,0,740,927),222=>array(-16,0,638,729),223=>array(-85,-208,583,760),224=>array(33,-14,530,799),225=>array(33,-14,544,800),226=>array(33,-14,530,800),227=>array(33,-14,555,777),228=>array(33,-14,530,766),229=>array(33,-14,530,878),230=>array(34,-15,895,533),231=>array(42,-193,542,533),232=>array(42,-14,547,799),233=>array(42,-14,562,800),234=>array(42,-14,547,800),235=>array(42,-14,547,766),236=>array(72,0,276,799),237=>array(72,0,426,800),238=>array(72,0,392,800),239=>array(72,0,407,766),240=>array(26,-14,576,760),241=>array(70,0,575,777),242=>array(42,-14,560,799),243=>array(42,-14,567,800),244=>array(42,-14,560,800),245=>array(42,-14,578,777),246=>array(42,-14,560,766),247=>array(106,68,732,559),248=>array(-17,-46,615,565),249=>array(68,-14,574,799),250=>array(68,-14,574,800),251=>array(68,-14,574,800),252=>array(68,-14,574,766),253=>array(-37,-222,575,800),254=>array(21,-208,595,760),255=>array(-37,-222,575,766),256=>array(-77,0,671,899),257=>array(33,-14,530,745),258=>array(-77,0,671,926),259=>array(33,-14,530,772),260=>array(-77,-192,671,729),261=>array(33,-192,530,534),262=>array(52,-14,747,927),263=>array(42,-14,562,800),264=>array(52,-14,747,927),265=>array(42,-14,542,800),266=>array(52,-14,747,921),267=>array(42,-14,542,766),268=>array(52,-14,747,927),269=>array(42,-14,563,800),270=>array(-16,0,745,927),271=>array(20,-14,814,760),272=>array(-11,0,750,729),273=>array(20,-14,665,760),274=>array(-16,0,713,899),275=>array(42,-14,547,746),276=>array(-16,0,713,928),277=>array(42,-14,551,785),278=>array(-16,0,713,921),279=>array(42,-14,547,766),280=>array(-16,-192,713,729),281=>array(42,-192,547,533),282=>array(-16,0,713,927),283=>array(42,-14,563,800),284=>array(56,-14,757,927),285=>array(35,-222,597,800),286=>array(56,-14,757,928),287=>array(35,-222,597,785),288=>array(56,-14,757,921),289=>array(35,-222,597,766),290=>array(56,-224,757,742),291=>array(35,-222,597,741),292=>array(-16,0,888,927),293=>array(48,0,553,927),294=>array(-16,0,888,729),295=>array(48,0,553,760),296=>array(-16,0,463,921),297=>array(53,0,402,777),298=>array(-16,0,451,899),299=>array(54,0,359,745),300=>array(-16,0,461,928),301=>array(72,0,406,785),302=>array(3,-192,430,729),303=>array(29,-192,289,736),304=>array(-16,0,411,921),305=>array(72,0,262,519),306=>array(-16,-208,847,729),307=>array(50,-222,580,736),308=>array(-169,-208,454,927),309=>array(-162,-222,359,800),310=>array(-16,-209,795,729),311=>array(41,-209,549,760),312=>array(64,0,573,518),313=>array(-16,0,605,928),314=>array(41,0,375,928),315=>array(-16,-209,605,729),316=>array(41,-209,279,760),317=>array(-16,0,605,729),318=>array(41,0,492,760),319=>array(-16,0,631,729),320=>array(41,0,421,760),321=>array(-11,0,610,729),322=>array(12,0,327,760),323=>array(-21,-14,903,928),324=>array(70,0,575,776),325=>array(-21,-224,903,729),326=>array(70,-209,575,533),327=>array(-21,-14,903,932),328=>array(70,0,575,800),329=>array(39,0,770,742),330=>array(47,-208,804,743),331=>array(92,-222,579,533),332=>array(52,-14,764,899),333=>array(42,-14,560,745),334=>array(52,-14,764,928),335=>array(42,-14,560,785),336=>array(52,-14,787,927),337=>array(42,-14,647,800),338=>array(58,0,1120,729),339=>array(42,-15,944,533),340=>array(-16,0,716,928),341=>array(70,0,548,776),342=>array(-16,-209,716,729),343=>array(70,-209,527,533),344=>array(-16,0,716,927),345=>array(70,0,542,800),346=>array(29,-14,641,928),347=>array(11,-14,548,776),348=>array(29,-14,641,927),349=>array(11,-14,488,800),350=>array(29,-193,641,742),351=>array(11,-193,479,533),352=>array(29,-14,641,927),353=>array(11,-14,523,800),354=>array(47,-193,729,729),355=>array(38,-193,404,680),356=>array(47,0,729,927),357=>array(55,-14,476,788),358=>array(47,0,728,729),359=>array(22,-14,403,680),360=>array(109,-14,870,921),361=>array(68,-14,574,777),362=>array(109,-14,870,899),363=>array(68,-14,574,745),364=>array(109,-14,870,928),365=>array(68,-14,574,785),366=>array(109,-14,870,1051),367=>array(68,-14,574,868),368=>array(109,-14,870,927),369=>array(68,-14,621,800),370=>array(109,-200,870,729),371=>array(68,-192,574,519),372=>array(65,0,1096,931),373=>array(56,0,836,800),374=>array(49,0,740,931),375=>array(-37,-222,575,800),376=>array(49,0,740,920),377=>array(-26,0,709,928),378=>array(-11,-25,548,776),379=>array(-26,0,709,930),380=>array(-11,-25,532,734),381=>array(-26,0,709,927),382=>array(-11,-25,532,800),383=>array(-62,-208,518,760),384=>array(42,-14,576,760),385=>array(-68,0,673,729),386=>array(-16,0,712,729),387=>array(-44,-14,570,760),388=>array(-16,0,644,729),389=>array(-44,-14,568,760),390=>array(15,-14,709,742),391=>array(47,-14,976,796),392=>array(40,-14,772,639),393=>array(-11,0,750,729),394=>array(-68,0,745,729),395=>array(25,0,745,729),396=>array(7,-14,666,760),397=>array(46,-246,575,533),398=>array(-16,0,721,729),399=>array(52,-14,764,742),400=>array(94,-14,696,742),401=>array(-184,-208,743,729),402=>array(-184,-185,518,760),403=>array(51,-14,985,796),404=>array(79,-92,753,729),405=>array(48,-3,858,760),406=>array(110,0,411,729),407=>array(-16,0,411,729),408=>array(-17,0,887,741),409=>array(42,0,549,760),410=>array(-0,0,279,760),411=>array(-34,0,542,765),412=>array(84,-14,989,730),413=>array(-185,-208,922,729),414=>array(90,-208,569,533),415=>array(52,-14,764,742),416=>array(49,-14,860,760),417=>array(41,-14,684,533),418=>array(65,-157,959,742),419=>array(68,-208,728,533),420=>array(-68,0,668,729),421=>array(25,-208,591,716),422=>array(-0,-159,701,729),423=>array(52,-14,647,742),424=>array(34,-14,485,533),425=>array(-31,0,711,729),426=>array(-20,-222,419,761),427=>array(49,-222,468,680),428=>array(67,0,729,729),429=>array(47,-14,485,760),430=>array(67,-208,749,729),431=>array(106,-14,1064,802),432=>array(63,-14,726,532),433=>array(56,-14,840,729),434=>array(110,0,696,729),435=>array(49,0,863,729),436=>array(-38,-222,789,530),437=>array(-26,0,709,729),438=>array(-10,-25,531,544),439=>array(-12,-14,561,729),440=>array(23,-14,596,729),441=>array(23,-224,594,519),442=>array(9,-224,561,519),443=>array(-4,0,560,742),444=>array(63,-14,657,729),445=>array(-12,-224,557,519),446=>array(58,-15,406,680),447=>array(41,-208,618,560),448=>array(37,0,258,729),449=>array(37,0,456,729),450=>array(-17,0,476,729),451=>array(37,0,258,729),452=>array(-16,0,1511,927),453=>array(-16,-25,1333,800),454=>array(20,-25,1172,800),455=>array(-16,-208,1110,729),456=>array(-16,-222,958,736),457=>array(41,-222,614,760),458=>array(-21,-208,1321,729),459=>array(-21,-222,1169,736),460=>array(70,-222,938,736),461=>array(-77,0,671,927),462=>array(33,-14,531,800),463=>array(-16,0,466,927),464=>array(72,0,421,800),465=>array(52,-14,764,927),466=>array(42,-14,565,800),467=>array(109,-14,870,927),468=>array(68,-14,574,800),469=>array(109,-14,870,1025),470=>array(68,-14,574,886),471=>array(109,-14,870,1044),472=>array(68,-14,574,905),473=>array(109,-14,870,1043),474=>array(68,-14,574,904),475=>array(109,-14,870,1044),476=>array(68,-14,574,905),477=>array(51,-14,542,533),478=>array(-77,0,671,1025),479=>array(33,-14,543,886),480=>array(-77,0,671,1025),481=>array(33,-14,534,888),482=>array(-88,0,1012,899),483=>array(34,-15,895,745),484=>array(46,-14,789,742),485=>array(35,-222,636,533),486=>array(56,-14,757,927),487=>array(35,-222,597,800),488=>array(-16,0,795,927),489=>array(41,0,549,964),490=>array(52,-200,764,742),491=>array(42,-200,560,533),492=>array(52,-200,764,899),493=>array(42,-200,560,745),494=>array(-12,-14,563,927),495=>array(-12,-224,561,800),496=>array(-162,-222,441,800),497=>array(-16,0,1511,729),498=>array(-16,-25,1333,729),499=>array(20,-25,1172,760),500=>array(56,-14,757,928),501=>array(35,-222,597,800),502=>array(-15,-14,1141,729),503=>array(-37,-208,706,742),504=>array(-21,-14,903,927),505=>array(69,0,574,799),506=>array(-96,0,652,927),507=>array(33,-14,561,927),508=>array(-88,0,1012,928),509=>array(34,-15,895,802),510=>array(-21,-28,839,928),511=>array(-17,-46,615,800),512=>array(-77,0,671,927),513=>array(33,-14,529,800),514=>array(-77,0,671,967),515=>array(33,-14,529,785),516=>array(-16,0,713,927),517=>array(42,-14,546,800),518=>array(-16,0,713,967),519=>array(42,-14,546,785),520=>array(-16,0,425,927),521=>array(14,0,355,799),522=>array(-16,0,448,967),523=>array(48,0,365,757),524=>array(51,-14,764,927),525=>array(42,-14,559,800),526=>array(51,-14,764,967),527=>array(42,-14,559,785),528=>array(-16,0,716,927),529=>array(69,0,527,800),530=>array(-16,0,716,967),531=>array(69,0,527,785),532=>array(109,-14,870,927),533=>array(68,-14,574,800),534=>array(109,-14,870,967),535=>array(68,-14,574,785),536=>array(29,-225,641,742),537=>array(11,-225,479,533),538=>array(47,-225,729,729),539=>array(55,-225,404,680),540=>array(-17,-210,595,742),541=>array(-38,-211,496,530),542=>array(-16,0,888,927),543=>array(47,0,552,964),544=>array(47,-208,804,743),545=>array(33,-73,735,760),546=>array(4,-14,546,742),547=>array(13,-14,515,760),548=>array(-8,-187,728,729),549=>array(8,-195,551,519),550=>array(-77,0,671,921),551=>array(33,-14,529,766),552=>array(-16,-193,713,729),553=>array(42,-193,546,533),554=>array(52,-14,764,1025),555=>array(42,-14,566,886),556=>array(52,-14,764,1025),557=>array(42,-14,566,862),558=>array(52,-14,764,921),559=>array(42,-14,560,766),560=>array(52,-14,764,1025),561=>array(42,-14,560,887),562=>array(49,0,740,899),563=>array(-37,-222,575,745),564=>array(80,-107,437,760),565=>array(81,-107,789,533),566=>array(63,-107,437,680),567=>array(-162,-222,284,519),568=>array(28,-14,888,760),569=>array(68,-208,929,533),570=>array(-77,-28,791,757),571=>array(-47,-28,813,757),572=>array(-36,-46,596,565),573=>array(-16,0,604,729),574=>array(-97,-28,763,757),575=>array(31,-222,500,533),576=>array(11,-222,553,519),577=>array(24,0,579,729),578=>array(62,0,440,533),579=>array(-16,0,673,729),580=>array(41,-14,870,729),581=>array(-77,0,671,729),582=>array(-16,-54,713,783),583=>array(42,-54,547,579),584=>array(-168,-208,446,729),585=>array(-162,-222,322,736),586=>array(75,-208,829,742),587=>array(90,-222,696,533),588=>array(-16,0,716,729),589=>array(28,0,527,533),590=>array(19,0,740,729),591=>array(-37,-222,618,519),592=>array(67,-14,563,533),593=>array(42,-12,655,533),594=>array(28,-12,633,533),595=>array(43,-14,568,760),596=>array(22,-14,514,533),597=>array(52,-107,550,533),598=>array(48,-222,675,760),599=>array(28,-14,812,760),600=>array(39,-14,542,533),601=>array(51,-14,542,533),602=>array(42,-14,917,533),603=>array(25,-19,499,524),604=>array(4,-19,472,524),605=>array(3,-19,850,524),606=>array(50,-18,594,533),607=>array(-162,-222,322,519),608=>array(12,-222,833,760),609=>array(35,-222,683,519),610=>array(50,-18,542,529),611=>array(75,-223,589,519),612=>array(94,-16,552,532),613=>array(87,-208,593,519),614=>array(48,0,552,760),615=>array(70,-222,548,760),616=>array(9,0,279,736),617=>array(76,0,263,519),618=>array(-15,0,348,519),619=>array(19,0,368,760),620=>array(25,0,411,760),621=>array(52,-222,354,760),622=>array(63,-224,677,760),623=>array(78,-14,887,519),624=>array(98,-208,907,533),625=>array(92,-222,874,533),626=>array(-164,-222,569,533),627=>array(92,-222,708,533),628=>array(-15,-14,675,519),629=>array(50,-14,552,533),630=>array(50,0,806,519),631=>array(38,-14,596,530),632=>array(46,-208,549,760),633=>array(-13,-14,444,519),634=>array(-37,-14,467,759),635=>array(7,-222,566,519),636=>array(50,-207,547,533),637=>array(80,-222,549,533),638=>array(70,0,475,530),639=>array(65,0,368,530),640=>array(-16,0,542,519),641=>array(-16,0,632,519),642=>array(16,-222,500,533),643=>array(-186,-222,421,761),644=>array(-186,-222,521,760),645=>array(82,-222,418,530),646=>array(-173,-222,474,761),647=>array(19,-161,368,533),648=>array(51,-208,422,680),649=>array(21,-14,612,519),650=>array(47,-14,622,519),651=>array(77,-3,557,519),652=>array(38,0,554,519),653=>array(56,0,835,519),654=>array(-16,0,596,741),655=>array(81,0,670,519),656=>array(11,-222,663,519),657=>array(-1,-93,541,519),658=>array(-12,-224,561,519),659=>array(31,-224,561,519),660=>array(40,0,469,761),661=>array(99,0,490,761),662=>array(57,0,449,761),663=>array(-7,-222,453,759),664=>array(52,-14,764,742),665=>array(-15,0,522,519),666=>array(24,-18,568,533),667=>array(27,-18,783,760),668=>array(-16,0,664,519),669=>array(-172,-222,351,736),670=>array(90,-209,597,519),671=>array(-9,0,502,519),672=>array(46,-208,831,760),673=>array(40,0,469,761),674=>array(99,0,490,761),675=>array(20,-25,994,760),676=>array(48,-224,998,760),677=>array(35,-93,985,760),678=>array(53,0,773,680),679=>array(67,-222,747,761),680=>array(55,-14,809,680),681=>array(-59,-222,868,760),682=>array(42,0,662,760),683=>array(41,-25,673,760),684=>array(23,-15,609,625),685=>array(-16,105,443,625),686=>array(96,-207,706,760),687=>array(97,-222,809,760),688=>array(34,326,346,751),689=>array(31,326,343,751),690=>array(-26,202,259,739),691=>array(44,327,324,625),692=>array(-5,318,274,617),693=>array(6,202,354,617),694=>array(-6,327,369,617),695=>array(36,326,526,617),696=>array(-23,202,362,617),697=>array(54,557,227,800),698=>array(54,557,408,800),699=>array(78,495,285,742),700=>array(85,495,292,742),701=>array(126,495,252,742),702=>array(118,492,278,760),703=>array(122,492,282,760),704=>array(-19,347,250,772),705=>array(19,347,261,772),706=>array(124,524,400,836),707=>array(100,524,376,836),708=>array(71,561,382,800),709=>array(118,561,429,800),710=>array(170,616,481,800),711=>array(205,616,517,800),712=>array(71,513,211,759),713=>array(180,673,485,745),714=>array(257,616,516,800),715=>array(179,615,366,799),716=>array(71,-90,211,156),717=>array(19,-156,324,-84),720=>array(63,0,274,434),721=>array(118,303,245,434),722=>array(71,249,231,517),723=>array(74,249,235,517),726=>array(45,165,310,411),727=>array(45,242,309,334),728=>array(200,645,505,785),729=>array(286,652,400,766),730=>array(209,610,477,878),731=>array(159,-192,339,0),732=>array(179,639,527,777),733=>array(189,616,565,800),734=>array(-8,307,406,508),736=>array(47,202,371,617),737=>array(37,326,179,751),738=>array(1,318,298,625),739=>array(2,326,346,617),740=>array(19,347,261,772),741=>array(157,0,454,668),742=>array(127,0,454,668),743=>array(98,0,454,668),744=>array(69,0,454,668),745=>array(40,0,454,668),748=>array(86,-281,398,-42),750=>array(85,495,458,742),751=>array(83,-241,395,-58),752=>array(40,-281,352,-42),755=>array(116,-240,384,28),759=>array(76,-192,424,-55),768=>array(-377,615,-190,799),769=>array(-299,616,-40,800),770=>array(-386,616,-75,800),771=>array(-377,639,-29,777),772=>array(-376,673,-71,745),773=>array(-500,716,0,755),774=>array(-356,645,-51,785),775=>array(-271,652,-156,766),776=>array(-363,652,-60,766),777=>array(-283,616,-82,852),778=>array(-347,610,-80,878),779=>array(-367,616,9,800),780=>array(-351,616,-40,800),781=>array(-260,616,-151,803),782=>array(-368,616,-42,803),783=>array(-431,616,-91,800),784=>array(-356,645,-51,874),785=>array(-380,645,-75,785),786=>array(-231,495,-58,644),787=>array(-235,606,-92,829),788=>array(-238,606,-105,829),789=>array(-82,616,82,800),790=>array(-394,-260,-207,-76),791=>array(-327,-259,-67,-76),792=>array(-338,-340,-155,-107),793=>array(-345,-340,-162,-107),794=>array(-187,698,61,932),795=>array(-125,350,82,532),796=>array(-311,-347,-150,-79),797=>array(-381,-251,-133,-99),798=>array(-365,-260,-117,-107),799=>array(-372,-340,-124,-107),800=>array(-373,-179,-125,-107),801=>array(-440,-222,-83,63),802=>array(-387,-222,-84,63),803=>array(-214,-191,-100,-77),804=>array(-403,-191,-99,-77),805=>array(-355,-241,-146,-32),806=>array(-348,-225,-200,-76),807=>array(-375,-193,-158,0),808=>array(-341,-192,-161,0),809=>array(-305,-263,-195,-76),810=>array(-414,-259,-86,-75),811=>array(-392,-217,-81,-77),812=>array(-388,-261,-76,-77),813=>array(-424,-260,-112,-76),814=>array(-388,-217,-83,-77),815=>array(-416,-216,-110,-76),816=>array(-428,-213,-79,-76),817=>array(-402,-147,-97,-75),818=>array(-500,-236,0,-197),819=>array(-500,-236,0,-80),820=>array(-756,212,-76,415),821=>array(-296,227,-24,278),822=>array(-621,227,-30,278),823=>array(-612,-46,19,565),824=>array(-839,-28,21,757),825=>array(-339,-344,-179,-76),826=>array(-417,-256,-88,-72),827=>array(-411,-344,-89,-75),828=>array(-419,-217,-108,-77),829=>array(-334,575,-96,792),830=>array(-260,592,-71,850),831=>array(-500,599,0,755),835=>array(-235,606,-92,829),856=>array(24,652,138,766),864=>array(-290,723,572,859),865=>array(-329,729,563,869),880=>array(-16,0,714,729),881=>array(65,0,489,519),882=>array(16,0,728,729),883=>array(42,0,565,519),884=>array(54,557,227,800),885=>array(54,-208,227,35),886=>array(73,-14,807,743),887=>array(65,0,583,519),890=>array(215,-208,331,-60),891=>array(30,-14,522,533),892=>array(42,-14,542,533),893=>array(30,-14,522,533),894=>array(-12,-136,279,434),900=>array(257,616,516,800),901=>array(193,652,581,996),902=>array(-77,0,671,800),903=>array(93,282,223,412),904=>array(72,0,883,800),905=>array(72,0,1055,800),906=>array(72,0,578,800),908=>array(67,-14,780,800),910=>array(72,0,978,800),911=>array(13,0,798,800),912=>array(77,22,491,996),913=>array(-77,0,671,729),914=>array(-16,0,673,729),915=>array(-16,0,723,729),916=>array(-33,0,609,729),917=>array(-16,0,713,729),918=>array(-26,0,709,729),919=>array(-16,0,888,729),920=>array(52,-14,764,742),921=>array(-16,0,411,729),922=>array(-16,0,795,729),923=>array(-77,0,671,729),924=>array(-16,0,1044,729),925=>array(-21,-14,903,729),926=>array(-16,0,713,729),927=>array(52,-14,764,742),928=>array(-16,0,888,729),929=>array(-16,0,668,729),931=>array(-31,0,711,729),932=>array(47,0,729,729),933=>array(49,0,740,729),934=>array(56,0,765,729),935=>array(-65,0,745,729),936=>array(107,0,909,729),937=>array(-10,0,775,742),938=>array(-16,0,455,920),939=>array(49,0,740,920),940=>array(42,-12,655,800),941=>array(25,-19,516,800),942=>array(90,-208,569,800),943=>array(77,22,426,800),944=>array(77,-3,624,996),945=>array(42,-12,655,533),946=>array(-32,-208,528,765),947=>array(97,-209,594,519),948=>array(27,-14,556,765),949=>array(25,-19,499,524),950=>array(49,-208,591,760),951=>array(90,-208,569,533),952=>array(50,-11,552,771),953=>array(77,22,302,519),954=>array(-10,0,642,519),955=>array(-34,0,542,765),956=>array(44,-208,600,519),957=>array(71,0,573,519),958=>array(34,-208,591,760),959=>array(42,-14,560,533),960=>array(-10,0,672,519),961=>array(-9,-208,557,533),962=>array(68,-208,561,533),963=>array(51,-14,706,519),964=>array(66,22,566,519),965=>array(77,-3,559,519),966=>array(54,-208,676,521),967=>array(-59,-222,655,533),968=>array(128,-208,792,519),969=>array(35,-3,767,519),970=>array(77,22,409,766),971=>array(77,-3,559,766),972=>array(42,-14,570,800),973=>array(77,-3,559,800),974=>array(35,-3,767,800),975=>array(8,-240,818,729),976=>array(50,-11,539,771),977=>array(51,-11,683,771),978=>array(90,0,700,731),979=>array(72,0,888,800),980=>array(90,0,700,920),981=>array(34,-208,640,760),982=>array(35,-3,839,519),983=>array(19,-222,643,533),984=>array(71,-208,783,742),985=>array(68,-208,571,533),986=>array(71,-208,766,742),987=>array(61,-208,577,616),988=>array(-16,0,723,729),989=>array(-179,-211,519,742),990=>array(25,0,564,729),991=>array(86,0,578,759),992=>array(30,-208,740,742),993=>array(25,-208,506,533),1008=>array(-2,-4,622,533),1009=>array(22,-210,557,533),1010=>array(42,-14,542,533),1011=>array(-183,-222,294,736),1012=>array(52,-14,764,742),1013=>array(42,-14,541,533),1014=>array(29,-14,515,533),1015=>array(-16,0,638,729),1016=>array(21,-208,595,760),1017=>array(52,-14,747,742),1018=>array(-16,0,1044,729),1019=>array(-24,-208,736,519),1020=>array(-20,-208,584,533),1021=>array(23,-14,715,742),1022=>array(52,-14,747,742),1023=>array(23,-14,715,742),1024=>array(-16,0,713,927),1025=>array(-16,0,713,920),1026=>array(20,-216,718,729),1027=>array(-16,0,691,927),1028=>array(56,-14,746,742),1029=>array(29,-14,641,742),1030=>array(-16,0,411,729),1031=>array(-16,0,470,920),1032=>array(-169,-208,446,729),1033=>array(-41,-14,1009,729),1034=>array(-16,0,1037,729),1035=>array(-1,0,756,729),1036=>array(-16,0,795,927),1037=>array(-16,0,888,927),1038=>array(29,-14,783,970),1039=>array(-0,-157,903,729),1040=>array(-60,0,689,729),1041=>array(-16,0,712,729),1042=>array(-16,0,673,729),1043=>array(-16,0,691,729),1044=>array(-36,-157,828,729),1045=>array(-16,0,713,729),1046=>array(-59,0,1145,729),1047=>array(9,-14,576,742),1048=>array(-16,0,888,729),1049=>array(-16,0,888,966),1050=>array(-16,0,795,729),1051=>array(-41,-14,856,729),1052=>array(-16,0,1044,729),1053=>array(-16,0,888,729),1054=>array(52,-14,764,742),1055=>array(-16,0,888,729),1056=>array(-16,0,668,729),1057=>array(52,-14,747,742),1058=>array(47,0,729,729),1059=>array(29,-14,783,729),1060=>array(54,0,779,729),1061=>array(-65,0,745,729),1062=>array(-0,-157,903,729),1063=>array(70,0,792,729),1064=>array(-16,0,1157,729),1065=>array(-0,-157,1172,729),1066=>array(74,0,735,729),1067=>array(-16,0,1000,729),1068=>array(-16,0,614,729),1069=>array(23,-14,715,742),1070=>array(-16,-14,1128,742),1071=>array(-37,0,823,729),1072=>array(33,-14,530,534),1073=>array(49,-14,614,786),1074=>array(42,-14,537,533),1075=>array(72,-14,492,534),1076=>array(42,-14,592,760),1077=>array(42,-14,547,533),1078=>array(11,-14,1125,533),1079=>array(26,-14,497,533),1080=>array(68,-14,574,519),1081=>array(68,-14,574,752),1082=>array(70,-14,597,533),1083=>array(12,-14,570,519),1084=>array(12,-14,762,519),1085=>array(70,0,588,519),1086=>array(42,-14,560,533),1087=>array(70,0,575,533),1088=>array(43,-208,617,533),1089=>array(42,-14,542,533),1090=>array(70,0,879,533),1091=>array(-37,-222,575,519),1092=>array(28,-208,749,760),1093=>array(2,0,550,519),1094=>array(68,-208,643,519),1095=>array(70,0,553,519),1096=>array(68,-14,877,519),1097=>array(68,-208,946,519),1098=>array(39,-14,621,534),1099=>array(68,-14,744,519),1100=>array(68,-14,498,519),1101=>array(23,-14,522,533),1102=>array(70,-14,837,533),1103=>array(12,-14,592,519),1104=>array(42,-14,547,799),1105=>array(42,-14,547,766),1106=>array(38,-222,539,760),1107=>array(72,-14,537,800),1108=>array(42,-14,541,533),1109=>array(11,-14,479,533),1110=>array(50,0,270,736),1111=>array(72,0,407,766),1112=>array(-183,-222,294,736),1113=>array(12,-14,813,519),1114=>array(70,-14,832,519),1115=>array(38,0,552,760),1116=>array(70,-14,597,800),1117=>array(68,-14,574,799),1118=>array(-37,-222,575,750),1119=>array(68,-211,574,519),1122=>array(58,0,702,729),1123=>array(70,-14,836,534),1124=>array(-16,-14,1110,742),1125=>array(65,-14,815,533),1130=>array(12,0,1122,729),1131=>array(34,-14,928,519),1132=>array(-16,0,1286,729),1133=>array(65,-14,1071,519),1136=>array(63,0,989,729),1137=>array(17,-208,935,760),1138=>array(52,-14,764,742),1139=>array(42,-14,510,533),1140=>array(71,0,914,742),1141=>array(51,0,712,533),1142=>array(71,0,914,927),1143=>array(51,0,712,800),1164=>array(17,0,646,729),1165=>array(35,-14,476,760),1168=>array(-16,0,729,872),1169=>array(65,0,565,668),1170=>array(-16,0,691,729),1171=>array(72,-14,492,534),1172=>array(-16,-216,723,729),1173=>array(-17,-222,545,519),1174=>array(-59,-157,1145,729),1175=>array(11,-208,1125,533),1176=>array(9,-193,576,742),1177=>array(26,-193,497,533),1178=>array(-0,-157,810,729),1179=>array(70,-208,597,533),1182=>array(-16,0,795,729),1183=>array(70,-14,597,760),1184=>array(74,0,916,729),1185=>array(40,-14,669,533),1186=>array(-16,-157,888,729),1187=>array(70,-208,658,519),1188=>array(-16,0,1168,729),1189=>array(70,0,864,519),1190=>array(-16,-216,1123,729),1191=>array(-17,-222,849,519),1194=>array(52,-193,747,742),1195=>array(42,-193,542,533),1196=>array(47,-157,729,729),1197=>array(70,-208,958,533),1198=>array(49,0,740,729),1199=>array(59,-208,581,519),1200=>array(49,0,740,729),1201=>array(59,-208,581,519),1202=>array(-65,-157,745,729),1203=>array(3,-208,575,519),1204=>array(47,-157,967,729),1205=>array(35,-208,677,519),1206=>array(70,-157,791,729),1207=>array(70,-208,622,519),1210=>array(-84,0,637,729),1211=>array(48,0,553,760),1216=>array(-16,0,411,729),1217=>array(-59,0,1145,928),1218=>array(11,-14,1125,785),1219=>array(-16,-216,795,729),1220=>array(-17,-222,635,519),1223=>array(-16,-216,888,729),1224=>array(-17,-222,665,519),1227=>array(70,-157,791,729),1228=>array(75,-138,665,519),1231=>array(-45,0,367,760),1232=>array(-60,0,689,926),1233=>array(33,-14,530,772),1234=>array(-60,0,689,920),1235=>array(33,-14,530,766),1236=>array(-88,0,1012,729),1237=>array(34,-15,895,533),1238=>array(-16,0,713,928),1239=>array(42,-14,551,785),1240=>array(52,-14,764,742),1241=>array(51,-14,542,533),1242=>array(52,-14,764,920),1243=>array(51,-14,542,766),1244=>array(-59,0,1145,920),1245=>array(11,-14,1125,766),1246=>array(9,-14,576,920),1247=>array(26,-14,507,766),1248=>array(-12,-14,561,729),1249=>array(-12,-224,561,519),1250=>array(-16,0,888,899),1251=>array(68,-14,574,745),1252=>array(-16,0,888,920),1253=>array(68,-14,574,766),1254=>array(52,-14,764,920),1255=>array(42,-14,560,766),1256=>array(52,-14,764,742),1257=>array(50,-14,552,533),1258=>array(52,-14,764,920),1259=>array(50,-14,552,766),1260=>array(23,-14,715,920),1261=>array(23,-14,522,766),1262=>array(29,-14,783,899),1263=>array(-37,-222,575,745),1264=>array(29,-14,783,920),1265=>array(-37,-222,575,766),1266=>array(29,-14,783,927),1267=>array(-37,-222,598,800),1268=>array(70,0,792,920),1269=>array(70,0,553,766),1270=>array(-0,-157,706,729),1271=>array(72,-208,492,534),1272=>array(-16,0,1000,920),1273=>array(68,-14,744,766),1296=>array(94,-14,696,742),1297=>array(26,-14,528,533),1298=>array(-41,-208,856,729),1299=>array(12,-222,570,519),1300=>array(-41,-14,1232,729),1301=>array(12,-14,925,519),1306=>array(60,-160,789,742),1307=>array(90,-208,594,533),1308=>array(65,0,1096,729),1309=>array(56,0,836,519),1329=>array(96,-14,836,729),1330=>array(-38,0,729,743),1331=>array(67,0,795,743),1332=>array(20,0,817,743),1333=>array(96,-14,779,729),1334=>array(49,-45,752,743),1335=>array(11,-45,786,729),1336=>array(-33,-45,732,743),1337=>array(-37,-14,992,743),1338=>array(28,-14,848,729),1339=>array(7,0,739,729),1340=>array(11,-45,638,729),1341=>array(8,-14,1119,729),1342=>array(94,-13,835,742),1343=>array(70,0,724,729),1344=>array(31,-66,671,729),1345=>array(49,-32,747,743),1346=>array(33,-45,768,743),1347=>array(14,0,772,739),1348=>array(109,-14,959,729),1349=>array(35,-14,691,742),1350=>array(41,-14,776,774),1351=>array(68,-14,745,729),1352=>array(-38,0,702,743),1353=>array(108,-45,731,743),1354=>array(10,0,778,743),1355=>array(42,-45,745,743),1356=>array(-38,0,854,743),1357=>array(96,-14,836,729),1358=>array(34,-45,770,729),1359=>array(28,-14,670,742),1360=>array(-38,0,764,743),1361=>array(42,-14,696,742),1362=>array(7,0,713,729),1363=>array(64,0,784,729),1364=>array(-35,0,767,743),1365=>array(59,-14,775,742),1366=>array(34,-14,757,729),1369=>array(122,492,282,760),1370=>array(27,482,253,729),1371=>array(-18,615,249,799),1372=>array(-24,618,411,893),1373=>array(101,615,288,799),1374=>array(-13,618,376,856),1375=>array(30,618,458,760),1377=>array(69,-14,878,519),1378=>array(-31,-208,568,533),1379=>array(63,-208,684,533),1380=>array(9,-208,684,533),1381=>array(67,-14,602,760),1382=>array(63,-208,680,533),1383=>array(-46,0,537,760),1384=>array(-39,-208,586,533),1385=>array(-39,-208,827,533),1386=>array(22,-14,733,760),1387=>array(-62,-208,563,760),1388=>array(-47,-208,332,519),1389=>array(-62,-208,897,760),1390=>array(32,-14,585,770),1391=>array(91,-208,569,760),1392=>array(-41,0,544,760),1393=>array(29,-14,543,773),1394=>array(1,-208,635,533),1395=>array(42,-14,633,767),1396=>array(44,-14,718,773),1397=>array(-98,-208,281,519),1398=>array(71,-14,549,773),1399=>array(-75,-208,473,533),1400=>array(-6,0,579,533),1401=>array(-42,-208,380,544),1402=>array(88,-208,897,519),1403=>array(6,-208,553,533),1404=>array(-6,0,596,533),1405=>array(69,-14,574,519),1406=>array(65,-208,621,760),1407=>array(68,-14,861,533),1408=>array(-31,-208,594,533),1409=>array(38,-222,685,533),1410=>array(-9,0,462,519),1411=>array(65,-208,858,760),1412=>array(-46,-208,607,533),1413=>array(49,-14,560,533),1414=>array(18,-208,758,760),1415=>array(72,-14,746,760),1417=>array(73,-14,265,434),1418=>array(40,202,305,306),4256=>array(24,0,749,847),4257=>array(152,0,788,847),4258=>array(80,-58,788,848),4259=>array(48,1,871,847),4260=>array(81,0,788,847),4261=>array(81,0,951,847),4262=>array(111,0,858,847),4263=>array(63,0,1070,847),4264=>array(111,0,582,847),4265=>array(118,0,667,847),4266=>array(70,0,900,847),4267=>array(28,0,875,847),4268=>array(-17,0,708,847),4269=>array(60,-37,1038,847),4270=>array(111,0,917,847),4271=>array(111,0,884,847),4272=>array(83,0,978,847),4273=>array(75,0,721,847),4274=>array(35,0,704,847),4275=>array(63,-37,929,847),4276=>array(84,0,938,847),4277=>array(92,0,973,847),4278=>array(-17,0,682,847),4279=>array(147,0,788,847),4280=>array(72,0,787,847),4281=>array(-16,0,619,847),4282=>array(50,-25,854,847),4283=>array(13,0,854,847),4284=>array(-17,1,747,847),4285=>array(16,1,764,847),4286=>array(24,0,788,847),4287=>array(-17,0,960,847),4288=>array(70,0,984,847),4289=>array(-17,0,692,847),4290=>array(63,1,800,847),4291=>array(118,0,789,847),4292=>array(81,0,892,847),4293=>array(29,0,980,848),4304=>array(28,0,484,571),4305=>array(44,0,539,829),4306=>array(-40,-225,518,542),4307=>array(36,-220,803,531),4308=>array(-48,-225,534,532),4309=>array(-48,-225,535,532),4310=>array(81,0,659,831),4311=>array(43,0,829,531),4312=>array(42,0,526,532),4313=>array(-63,-225,487,532),4314=>array(43,-220,1044,537),4315=>array(42,0,642,829),4316=>array(47,0,659,840),4317=>array(47,-98,792,532),4318=>array(27,1,599,829),4319=>array(-38,-225,595,531),4320=>array(51,-0,792,822),4321=>array(86,0,544,829),4322=>array(12,-225,679,681),4323=>array(62,-225,668,532),4324=>array(61,-225,791,532),4325=>array(-30,-225,680,831),4326=>array(31,-220,835,532),4327=>array(-59,-225,580,531),4328=>array(55,0,651,830),4329=>array(-4,-5,552,831),4330=>array(24,-225,643,531),4331=>array(41,0,639,829),4332=>array(20,-229,677,830),4333=>array(-36,-225,589,829),4334=>array(86,0,581,830),4335=>array(-86,-225,695,532),4336=>array(28,0,631,829),4337=>array(36,0,660,830),4338=>array(-43,-91,539,532),4339=>array(-30,-225,596,585),4340=>array(-29,-225,588,831),4341=>array(26,0,680,829),4342=>array(38,-225,855,672),4343=>array(-24,-225,523,542),4344=>array(-19,-225,538,532),4345=>array(37,-225,590,537),4346=>array(48,-69,549,532),4347=>array(-8,0,400,486),4348=>array(104,341,481,845),7424=>array(-53,0,521,519),7425=>array(-71,0,762,519),7426=>array(45,-14,906,533),7427=>array(-15,0,560,519),7428=>array(50,-14,541,533),7429=>array(-15,0,543,519),7430=>array(-15,0,543,519),7431=>array(-21,0,541,519),7432=>array(32,-18,489,533),7433=>array(63,-214,283,522),7434=>array(-32,-14,504,519),7435=>array(-16,0,634,519),7436=>array(-9,0,502,519),7437=>array(-14,0,792,519),7438=>array(63,-14,666,519),7439=>array(42,-14,560,533),7440=>array(19,-14,510,533),7441=>array(50,9,597,511),7442=>array(46,27,593,492),7443=>array(49,-0,596,523),7444=>array(45,-14,946,533),7445=>array(3,-14,477,533),7446=>array(100,260,603,533),7447=>array(100,-14,603,259),7448=>array(8,0,540,519),7449=>array(-39,0,609,519),7450=>array(52,0,608,519),7451=>array(63,0,565,519),7452=>array(44,-14,634,519),7453=>array(8,-29,639,551),7454=>array(52,-29,899,551),7455=>array(-21,-205,670,680),7456=>array(38,0,612,519),7457=>array(57,0,893,519),7458=>array(-10,0,531,519),7459=>array(6,-14,533,519),7460=>array(5,-14,521,742),7461=>array(-15,-14,695,533),7462=>array(-16,0,531,519),7463=>array(-53,0,521,519),7464=>array(-9,0,671,519),7465=>array(8,0,540,519),7466=>array(77,0,729,520),7467=>array(-28,-14,651,519),7468=>array(-48,326,423,734),7469=>array(-55,326,637,734),7470=>array(-10,326,424,734),7471=>array(-5,334,456,742),7472=>array(-10,326,469,734),7473=>array(-10,326,449,734),7474=>array(-10,326,454,734),7475=>array(35,318,477,742),7476=>array(-10,326,559,734),7477=>array(-10,326,259,734),7478=>array(-106,209,281,734),7479=>array(-10,326,501,734),7480=>array(-10,326,381,734),7481=>array(-10,326,658,734),7482=>array(-13,318,569,734),7483=>array(52,318,564,734),7484=>array(33,318,481,742),7485=>array(5,326,341,750),7486=>array(-10,326,421,734),7487=>array(-10,326,451,734),7488=>array(30,326,458,734),7489=>array(69,318,548,734),7490=>array(42,326,690,734),7491=>array(21,318,333,625),7492=>array(42,318,354,625),7493=>array(26,327,413,632),7494=>array(28,318,571,625),7495=>array(18,318,354,751),7496=>array(31,318,397,751),7497=>array(31,318,350,625),7498=>array(31,318,350,625),7499=>array(101,316,391,625),7500=>array(31,316,321,625),7501=>array(31,202,439,625),7502=>array(23,207,161,619),7503=>array(18,326,338,751),7504=>array(23,326,533,625),7505=>array(23,202,330,625),7506=>array(31,318,357,625),7507=>array(31,318,346,625),7508=>array(31,472,353,625),7509=>array(31,318,352,471),7510=>array(18,209,379,625),7511=>array(18,318,238,707),7512=>array(17,318,335,617),7513=>array(9,310,399,635),7514=>array(23,326,533,625),7515=>array(-2,326,324,617),7516=>array(-6,326,439,633),7517=>array(-14,217,328,763),7518=>array(57,217,371,625),7519=>array(19,326,345,763),7520=>array(34,217,424,626),7521=>array(-32,209,407,633),7522=>array(32,0,170,412),7523=>array(44,0,324,299),7524=>array(17,-8,335,291),7525=>array(-2,0,324,291),7526=>array(-14,-109,328,437),7527=>array(57,-109,371,298),7528=>array(-1,-117,350,299),7529=>array(34,-109,424,300),7530=>array(-32,-117,407,307),7531=>array(67,-14,930,533),7543=>array(65,-222,627,533),7544=>array(-10,326,559,734),7547=>array(-14,0,347,519),7548=>array(31,0,303,519),7549=>array(43,-208,673,533),7550=>array(-0,-14,634,519),7551=>array(-19,-14,643,519),7557=>array(-55,-222,353,760),7579=>array(18,327,399,632),7580=>array(20,318,333,625),7581=>array(20,266,333,625),7582=>array(66,318,412,751),7583=>array(68,316,358,625),7584=>array(-39,209,326,751),7585=>array(18,202,299,617),7586=>array(40,202,448,617),7587=>array(41,209,358,617),7588=>array(29,326,200,738),7589=>array(42,326,159,617),7590=>array(-13,326,214,617),7591=>array(-13,326,214,617),7592=>array(-4,202,323,738),7593=>array(38,202,228,751),7594=>array(3,202,260,751),7595=>array(66,326,389,624),7596=>array(83,202,576,625),7597=>array(52,209,562,625),7598=>array(8,202,486,625),7599=>array(78,202,465,625),7600=>array(30,318,457,624),7601=>array(30,318,355,625),7602=>array(79,209,395,751),7603=>array(13,202,310,625),7604=>array(-42,202,341,752),7605=>array(35,202,299,707),7606=>array(14,318,385,617),7607=>array(72,324,408,626),7608=>array(25,326,396,625),7609=>array(80,324,382,617),7610=>array(24,326,349,617),7611=>array(-6,312,335,631),7612=>array(4,202,415,617),7613=>array(39,274,380,617),7614=>array(45,201,406,617),7615=>array(79,320,395,758),7620=>array(-416,616,6,800),7621=>array(-467,616,-108,800),7622=>array(-392,616,-33,800),7623=>array(-506,616,-84,800),7624=>array(-456,616,-44,800),7625=>array(-495,616,-5,800),7680=>array(-77,-241,671,729),7681=>array(33,-241,529,534),7682=>array(-16,0,673,921),7683=>array(42,-14,576,920),7684=>array(-16,-191,673,729),7685=>array(42,-187,576,760),7686=>array(-16,-147,673,729),7687=>array(42,-143,576,760),7688=>array(52,-193,747,927),7689=>array(42,-193,567,800),7690=>array(-16,0,745,921),7691=>array(20,-14,639,920),7692=>array(-16,-191,745,729),7693=>array(20,-191,601,760),7694=>array(-16,-147,745,729),7695=>array(20,-147,601,760),7696=>array(-16,-193,745,729),7697=>array(20,-193,601,760),7698=>array(-16,-240,745,729),7699=>array(-1,-240,601,760),7700=>array(-16,0,713,1044),7701=>array(42,-14,547,919),7702=>array(-16,0,713,1044),7703=>array(42,-14,576,919),7704=>array(-16,-240,713,729),7705=>array(42,-240,546,533),7706=>array(-16,-213,713,729),7707=>array(39,-213,546,533),7708=>array(-16,-193,713,928),7709=>array(42,-193,551,785),7710=>array(-16,0,723,921),7711=>array(-62,-208,518,921),7712=>array(56,-14,757,927),7713=>array(35,-222,597,745),7714=>array(-16,0,888,921),7715=>array(47,0,552,920),7716=>array(-16,-191,888,729),7717=>array(48,-191,553,760),7718=>array(-16,0,888,920),7719=>array(47,0,552,920),7720=>array(-16,-193,888,729),7721=>array(47,-193,552,760),7722=>array(-16,-217,888,729),7723=>array(47,-217,552,760),7724=>array(-79,-213,411,729),7725=>array(-118,-213,270,736),7726=>array(-16,0,482,1044),7727=>array(72,0,434,886),7728=>array(-16,0,795,927),7729=>array(41,0,549,961),7730=>array(-16,-191,795,729),7731=>array(41,-191,549,760),7732=>array(-16,-147,795,729),7733=>array(41,-147,549,760),7734=>array(-16,-191,605,729),7735=>array(23,-191,279,760),7736=>array(-16,-191,605,899),7737=>array(23,-191,425,900),7738=>array(-16,-147,605,729),7739=>array(-88,-147,279,760),7740=>array(-16,-240,605,729),7741=>array(-117,-240,279,760),7742=>array(-16,0,1044,927),7743=>array(69,0,879,800),7744=>array(-16,0,1044,921),7745=>array(70,0,879,766),7746=>array(-16,-191,1044,729),7747=>array(70,-191,879,533),7748=>array(-21,-14,903,920),7749=>array(70,0,575,766),7750=>array(-21,-191,903,729),7751=>array(70,-191,575,533),7752=>array(-21,-147,903,729),7753=>array(69,-147,574,533),7754=>array(-21,-240,903,729),7755=>array(70,-240,575,533),7756=>array(52,-14,764,1044),7757=>array(42,-14,597,881),7758=>array(52,-14,764,1050),7759=>array(42,-14,560,891),7760=>array(52,-14,764,1044),7761=>array(42,-14,560,919),7762=>array(52,-14,764,1044),7763=>array(42,-14,581,919),7764=>array(-16,0,668,931),7765=>array(43,-208,631,800),7766=>array(-16,0,668,921),7767=>array(43,-208,617,766),7768=>array(-16,0,716,921),7769=>array(69,0,527,766),7770=>array(-16,-191,716,729),7771=>array(38,-191,527,533),7772=>array(-16,-191,716,899),7773=>array(38,-191,527,745),7774=>array(-16,-147,716,729),7775=>array(-66,-147,527,533),7776=>array(29,-14,641,921),7777=>array(11,-14,479,766),7778=>array(29,-191,641,742),7779=>array(11,-191,479,533),7780=>array(29,-14,642,939),7781=>array(11,-14,547,757),7782=>array(29,-14,641,1049),7783=>array(11,-14,507,867),7784=>array(29,-191,641,921),7785=>array(11,-191,479,766),7786=>array(47,0,729,921),7787=>array(55,-14,404,920),7788=>array(47,-191,729,729),7789=>array(55,-191,404,680),7790=>array(46,-147,728,729),7791=>array(12,-147,404,680),7792=>array(47,-240,729,729),7793=>array(-18,-240,404,680),7794=>array(109,-191,870,729),7795=>array(62,-191,574,519),7796=>array(109,-213,870,729),7797=>array(35,-213,574,519),7798=>array(109,-240,870,729),7799=>array(39,-240,574,519),7800=>array(109,-14,870,1044),7801=>array(68,-14,579,881),7802=>array(109,-14,870,1032),7803=>array(68,-14,574,908),7804=>array(51,0,808,921),7805=>array(37,0,560,777),7806=>array(51,-191,808,729),7807=>array(38,-191,554,519),7808=>array(65,0,1096,927),7809=>array(56,0,836,776),7810=>array(65,0,1096,927),7811=>array(56,0,836,776),7812=>array(65,0,1096,920),7813=>array(56,0,836,766),7814=>array(65,0,1096,921),7815=>array(56,0,835,766),7816=>array(65,-191,1096,729),7817=>array(56,-191,835,519),7818=>array(-65,0,745,921),7819=>array(2,0,549,766),7820=>array(-65,0,745,920),7821=>array(2,0,549,766),7822=>array(49,0,740,921),7823=>array(-37,-222,576,766),7824=>array(-26,0,709,927),7825=>array(-11,-25,532,800),7826=>array(-26,-191,709,729),7827=>array(-11,-191,532,544),7828=>array(-26,-147,709,729),7829=>array(-11,-147,532,544),7830=>array(47,-147,552,760),7831=>array(55,-14,416,920),7832=>array(56,0,835,878),7833=>array(-37,-222,576,878),7834=>array(33,-14,874,760),7835=>array(-62,-208,518,921),7836=>array(-62,-208,518,760),7837=>array(-62,-208,518,760),7838=>array(-26,-14,771,743),7839=>array(27,-14,556,765),7840=>array(-77,-191,671,729),7841=>array(33,-191,529,534),7842=>array(-77,0,671,1034),7843=>array(33,-14,529,852),7844=>array(-77,0,764,1028),7845=>array(33,-14,697,846),7846=>array(-77,0,671,1028),7847=>array(33,-14,577,847),7848=>array(-77,0,742,1086),7849=>array(33,-14,675,904),7850=>array(-77,0,671,1043),7851=>array(33,-14,573,861),7852=>array(-77,-191,671,982),7853=>array(33,-191,529,800),7854=>array(-77,0,671,1044),7855=>array(33,-14,545,877),7856=>array(-77,0,671,1044),7857=>array(33,-14,536,877),7858=>array(-77,0,671,1109),7859=>array(33,-14,536,942),7860=>array(-77,0,671,1043),7861=>array(33,-14,559,876),7862=>array(-77,-191,671,967),7863=>array(33,-191,533,785),7864=>array(-16,-191,713,729),7865=>array(42,-191,547,533),7866=>array(-16,0,713,1034),7867=>array(42,-14,546,852),7868=>array(-16,0,713,921),7869=>array(42,-14,573,777),7870=>array(-16,0,786,1028),7871=>array(42,-14,725,846),7872=>array(-16,0,713,1028),7873=>array(42,-14,605,846),7874=>array(-16,0,765,1086),7875=>array(42,-14,703,904),7876=>array(-16,0,713,1043),7877=>array(42,-14,601,861),7878=>array(-16,-191,713,927),7879=>array(42,-191,546,800),7880=>array(-16,0,435,1034),7881=>array(48,0,350,852),7882=>array(-16,-191,411,729),7883=>array(25,-191,270,736),7884=>array(52,-191,764,742),7885=>array(42,-191,560,533),7886=>array(51,-14,764,1034),7887=>array(42,-14,559,852),7888=>array(52,-14,832,1028),7889=>array(42,-14,712,846),7890=>array(52,-14,764,1028),7891=>array(42,-14,593,846),7892=>array(52,-14,810,1086),7893=>array(42,-14,690,904),7894=>array(52,-14,764,1043),7895=>array(42,-14,588,861),7896=>array(51,-191,764,982),7897=>array(42,-191,559,800),7898=>array(49,-14,860,927),7899=>array(41,-14,684,800),7900=>array(49,-14,860,927),7901=>array(41,-14,684,799),7902=>array(49,-14,860,1034),7903=>array(41,-14,684,852),7904=>array(49,-14,860,921),7905=>array(41,-14,684,777),7906=>array(49,-191,860,760),7907=>array(41,-191,684,533),7908=>array(109,-191,870,729),7909=>array(68,-191,574,519),7910=>array(109,-14,870,1034),7911=>array(68,-14,574,852),7912=>array(106,-14,1064,927),7913=>array(63,-14,726,800),7914=>array(106,-14,1064,927),7915=>array(63,-14,726,799),7916=>array(106,-14,1064,1034),7917=>array(63,-14,726,852),7918=>array(106,-14,1064,921),7919=>array(63,-14,726,777),7920=>array(106,-191,1064,802),7921=>array(63,-191,726,532),7922=>array(49,0,740,927),7923=>array(-37,-222,575,776),7924=>array(49,-191,740,729),7925=>array(-37,-222,576,519),7926=>array(49,0,740,1037),7927=>array(-37,-222,576,852),7928=>array(49,0,740,921),7929=>array(-37,-222,576,777),7930=>array(-16,0,889,729),7931=>array(42,0,599,760),7936=>array(42,-12,655,829),7937=>array(42,-12,655,829),7938=>array(42,-12,655,829),7939=>array(42,-12,655,829),7940=>array(42,-12,655,829),7941=>array(42,-12,655,829),7942=>array(42,-12,655,994),7943=>array(42,-12,655,994),7944=>array(-77,0,671,829),7945=>array(-77,0,671,829),7946=>array(57,0,818,829),7947=>array(65,0,818,829),7948=>array(-65,0,683,829),7949=>array(-36,0,712,829),7950=>array(-77,0,671,994),7951=>array(-77,0,671,994),7952=>array(25,-19,499,829),7953=>array(25,-19,499,829),7954=>array(25,-19,499,829),7955=>array(25,-19,499,829),7956=>array(25,-19,534,829),7957=>array(25,-19,557,829),7960=>array(59,0,836,829),7961=>array(67,0,825,829),7962=>array(57,0,1050,829),7963=>array(65,0,1060,829),7964=>array(59,0,992,829),7965=>array(67,0,1018,829),7968=>array(90,-208,569,829),7969=>array(90,-208,569,829),7970=>array(90,-208,569,829),7971=>array(90,-208,569,829),7972=>array(90,-208,574,829),7973=>array(90,-208,577,829),7974=>array(90,-208,586,994),7975=>array(90,-208,586,994),7976=>array(59,0,1014,829),7977=>array(67,0,1008,829),7978=>array(57,0,1228,829),7979=>array(65,0,1240,829),7980=>array(59,0,1175,829),7981=>array(67,0,1199,829),7982=>array(97,0,1114,994),7983=>array(97,0,1111,994),7984=>array(77,22,302,829),7985=>array(77,22,302,829),7986=>array(46,22,404,829),7987=>array(51,22,402,829),7988=>array(77,22,450,829),7989=>array(73,22,452,829),7990=>array(77,22,439,994),7991=>array(77,22,441,994),7992=>array(59,0,537,829),7993=>array(67,0,528,829),7994=>array(57,0,751,829),7995=>array(65,0,754,829),7996=>array(59,0,695,829),7997=>array(67,0,722,829),7998=>array(97,0,640,994),7999=>array(97,0,631,994),8000=>array(42,-14,560,829),8001=>array(42,-14,560,829),8002=>array(42,-14,560,829),8003=>array(42,-14,560,829),8004=>array(42,-14,583,829),8005=>array(42,-14,573,829),8008=>array(52,-14,764,829),8009=>array(67,-14,804,829),8010=>array(57,-14,1064,829),8011=>array(65,-14,1072,829),8012=>array(59,-14,881,829),8013=>array(67,-14,908,829),8016=>array(77,-3,559,829),8017=>array(77,-3,559,829),8018=>array(77,-3,559,829),8019=>array(77,-3,559,829),8020=>array(77,-3,562,829),8021=>array(77,-3,576,829),8022=>array(77,-3,567,994),8023=>array(77,-3,561,994),8025=>array(67,0,931,829),8027=>array(65,0,1159,829),8029=>array(67,0,1124,829),8031=>array(97,0,1033,994),8032=>array(35,-3,767,829),8033=>array(35,-3,767,829),8034=>array(35,-3,767,829),8035=>array(35,-3,767,829),8036=>array(35,-3,767,829),8037=>array(35,-3,767,829),8038=>array(35,-3,767,994),8039=>array(35,-3,767,994),8040=>array(-10,0,775,829),8041=>array(31,0,816,829),8042=>array(57,0,1077,829),8043=>array(65,0,1083,829),8044=>array(59,0,892,829),8045=>array(67,0,921,829),8046=>array(97,0,883,994),8047=>array(97,0,916,994),8048=>array(42,-12,655,799),8049=>array(42,-12,655,800),8050=>array(25,-19,499,799),8051=>array(25,-19,516,800),8052=>array(90,-208,569,799),8053=>array(90,-208,569,800),8054=>array(77,22,302,799),8055=>array(77,22,426,800),8056=>array(42,-14,560,799),8057=>array(42,-14,570,800),8058=>array(77,-3,559,799),8059=>array(77,-3,559,800),8060=>array(35,-3,767,799),8061=>array(35,-3,767,800),8064=>array(42,-208,655,829),8065=>array(42,-208,655,829),8066=>array(42,-208,655,829),8067=>array(42,-208,655,829),8068=>array(42,-208,655,829),8069=>array(42,-208,655,829),8070=>array(42,-208,655,994),8071=>array(42,-208,655,994),8072=>array(-77,-208,671,829),8073=>array(-77,-208,671,829),8074=>array(57,-208,818,829),8075=>array(65,-208,818,829),8076=>array(-65,-208,683,829),8077=>array(-36,-208,712,829),8078=>array(-77,-208,671,994),8079=>array(-77,-208,671,994),8080=>array(83,-208,569,829),8081=>array(83,-208,569,829),8082=>array(83,-208,569,829),8083=>array(83,-208,569,829),8084=>array(83,-208,574,829),8085=>array(83,-208,577,829),8086=>array(83,-208,586,994),8087=>array(83,-208,586,994),8088=>array(59,-208,1014,829),8089=>array(67,-208,1008,829),8090=>array(57,-208,1228,829),8091=>array(65,-208,1240,829),8092=>array(59,-208,1175,829),8093=>array(67,-208,1199,829),8094=>array(97,-208,1114,994),8095=>array(97,-208,1111,994),8096=>array(35,-208,767,829),8097=>array(35,-208,767,829),8098=>array(35,-208,767,829),8099=>array(35,-208,767,829),8100=>array(35,-208,767,829),8101=>array(35,-208,767,829),8102=>array(35,-208,767,994),8103=>array(35,-208,767,994),8104=>array(-10,-208,775,829),8105=>array(31,-208,816,829),8106=>array(57,-208,1077,829),8107=>array(65,-208,1083,829),8108=>array(59,-208,892,829),8109=>array(67,-208,921,829),8110=>array(97,-208,883,994),8111=>array(97,-208,916,994),8112=>array(42,-12,655,785),8113=>array(42,-12,655,745),8114=>array(42,-208,655,799),8115=>array(42,-208,655,533),8116=>array(42,-208,655,800),8118=>array(42,-12,655,777),8119=>array(42,-208,655,777),8120=>array(-77,0,671,926),8121=>array(-77,0,671,899),8122=>array(-77,0,671,799),8123=>array(-77,0,671,800),8124=>array(-77,-208,671,729),8125=>array(240,606,383,829),8126=>array(215,-208,331,-60),8127=>array(240,606,383,829),8128=>array(179,639,527,777),8129=>array(193,652,568,944),8130=>array(83,-208,569,799),8131=>array(83,-208,569,533),8132=>array(83,-208,569,800),8134=>array(90,-208,586,777),8135=>array(83,-208,586,777),8136=>array(100,0,895,799),8137=>array(72,0,883,800),8138=>array(100,0,1079,799),8139=>array(72,0,1055,800),8140=>array(-16,-208,888,729),8141=>array(121,606,479,829),8142=>array(135,606,501,829),8143=>array(179,606,527,994),8144=>array(77,22,422,785),8145=>array(77,22,397,745),8146=>array(77,22,412,996),8147=>array(77,22,491,996),8150=>array(77,22,451,777),8151=>array(77,22,492,944),8152=>array(-16,0,411,729),8153=>array(-16,0,433,899),8154=>array(100,0,604,799),8155=>array(72,0,578,800),8157=>array(127,606,479,829),8158=>array(125,606,504,829),8159=>array(179,606,527,994),8160=>array(77,-3,559,785),8161=>array(77,-3,559,745),8162=>array(77,-3,559,996),8163=>array(77,-3,624,996),8164=>array(-9,-208,557,829),8165=>array(-9,-208,557,829),8166=>array(77,-3,563,777),8167=>array(77,-3,598,944),8168=>array(49,0,740,926),8169=>array(49,0,740,899),8170=>array(100,0,1001,799),8171=>array(72,0,978,800),8172=>array(67,0,786,829),8173=>array(193,652,497,996),8174=>array(193,652,581,996),8175=>array(179,615,366,799),8178=>array(35,-208,767,799),8179=>array(35,-208,767,519),8180=>array(35,-208,767,800),8182=>array(35,-3,767,730),8183=>array(35,-208,767,730),8184=>array(100,-14,906,799),8185=>array(67,-14,780,800),8186=>array(100,0,930,799),8187=>array(13,0,798,800),8188=>array(-10,-208,775,742),8189=>array(257,616,516,800),8190=>array(249,606,380,829),8208=>array(36,230,302,306),8209=>array(36,230,302,306),8210=>array(38,233,599,298),8211=>array(38,233,462,298),8212=>array(38,233,962,298),8213=>array(-6,233,1006,298),8214=>array(129,-236,369,764),8215=>array(0,-236,500,-80),8216=>array(78,495,285,742),8217=>array(54,482,262,729),8218=>array(27,-136,253,111),8219=>array(96,482,228,729),8220=>array(78,495,478,742),8221=>array(54,482,455,729),8222=>array(27,-136,446,111),8223=>array(96,482,421,729),8224=>array(53,-96,513,729),8225=>array(-13,-96,513,729),8226=>array(150,227,440,516),8227=>array(150,188,479,555),8228=>array(102,-14,232,116),8229=>array(102,-14,565,116),8230=>array(102,-14,898,116),8240=>array(90,-14,1252,742),8241=>array(90,-14,1645,742),8242=>array(2,547,221,729),8243=>array(2,547,367,729),8244=>array(2,547,514,729),8245=>array(90,547,238,729),8246=>array(90,547,385,729),8247=>array(90,547,531,729),8248=>array(5,-236,333,-30),8249=>array(73,69,350,517),8250=>array(50,69,327,517),8252=>array(8,-14,530,729),8253=>array(108,-14,524,742),8254=>array(0,716,500,755),8258=>array(16,-28,984,814),8260=>array(-257,-14,424,742),8261=>array(-0,-132,399,760),8262=>array(-9,-132,391,760),8263=>array(74,-14,978,742),8264=>array(107,-14,756,742),8265=>array(8,-14,722,742),8267=>array(42,-96,599,729),8268=>array(105,220,395,509),8269=>array(105,220,395,509),8270=>array(16,-28,484,427),8271=>array(108,-136,274,434),8273=>array(16,-6,484,929),8274=>array(-16,-93,481,729),8275=>array(49,233,951,394),8279=>array(2,547,660,729),8304=>array(23,319,363,742),8305=>array(32,326,170,738),8308=>array(7,326,359,734),8309=>array(15,319,388,727),8310=>array(17,319,381,742),8311=>array(42,326,388,734),8312=>array(15,319,384,742),8313=>array(8,319,372,742),8314=>array(67,326,461,677),8315=>array(67,479,461,524),8316=>array(67,424,461,580),8317=>array(50,239,257,751),8318=>array(-11,239,196,751),8319=>array(44,326,362,625),8320=>array(23,-7,363,416),8321=>array(46,0,292,408),8322=>array(3,0,352,416),8323=>array(13,-7,353,416),8324=>array(7,0,359,408),8325=>array(15,-7,388,401),8326=>array(17,-7,381,416),8327=>array(42,0,388,408),8328=>array(15,-7,384,416),8329=>array(8,-7,372,416),8330=>array(67,0,461,351),8331=>array(67,153,461,198),8332=>array(67,98,461,253),8333=>array(50,-87,257,425),8334=>array(-11,-87,196,425),8336=>array(21,-8,333,299),8337=>array(31,-8,350,299),8338=>array(31,-8,357,299),8339=>array(2,0,346,291),8340=>array(31,-8,350,299),8341=>array(34,0,346,425),8342=>array(18,0,338,425),8343=>array(37,0,179,425),8344=>array(23,0,533,299),8345=>array(44,0,362,299),8346=>array(18,-117,379,298),8347=>array(1,-8,298,299),8348=>array(18,-8,238,381),8358=>array(-11,-14,674,729),8364=>array(-24,-14,604,742),8367=>array(-26,-193,1077,723),8369=>array(-16,0,717,729),8372=>array(25,-14,765,742),8373=>array(85,-147,596,760),8376=>array(42,0,728,729),8377=>array(52,0,660,729),8451=>array(95,-14,1100,742),8457=>array(95,0,1077,742),8462=>array(48,0,553,760),8463=>array(48,0,552,760),8470=>array(-35,-14,890,729),8482=>array(118,447,826,729),8486=>array(-10,0,775,742),8487=>array(56,-13,840,729),8490=>array(-16,0,795,729),8491=>array(-96,0,652,928),8498=>array(-29,0,709,729),8513=>array(47,-14,728,742),8514=>array(59,0,529,729),8515=>array(3,0,599,729),8516=>array(-65,0,548,729),8523=>array(63,-14,859,742),8526=>array(-26,0,536,519),8528=>array(46,-14,956,742),8529=>array(46,-14,940,742),8530=>array(46,-14,1332,742),8531=>array(46,-14,921,742),8532=>array(3,-14,921,742),8533=>array(46,-14,956,742),8534=>array(3,-14,956,742),8535=>array(13,-14,956,742),8536=>array(7,-14,956,742),8537=>array(46,-14,949,742),8538=>array(15,-14,949,742),8539=>array(46,-14,952,742),8540=>array(13,-14,952,742),8541=>array(15,-14,952,742),8542=>array(42,-14,952,742),8543=>array(46,-14,825,742),8544=>array(-16,0,411,729),8545=>array(-16,0,606,729),8546=>array(-16,0,802,729),8547=>array(-16,0,1052,729),8548=>array(51,0,808,729),8549=>array(51,0,997,729),8550=>array(51,0,1192,729),8551=>array(51,0,1388,729),8552=>array(-16,0,965,729),8553=>array(-65,0,745,729),8554=>array(-65,0,948,729),8555=>array(-65,0,1144,729),8556=>array(-16,0,605,729),8557=>array(52,-14,747,742),8558=>array(-16,0,745,729),8559=>array(-16,0,1044,729),8560=>array(50,0,270,736),8561=>array(50,0,590,736),8562=>array(50,0,910,736),8563=>array(50,0,874,736),8564=>array(38,0,554,519),8565=>array(38,0,835,736),8566=>array(38,0,1155,736),8567=>array(38,0,1475,736),8568=>array(50,0,870,736),8569=>array(2,0,550,519),8570=>array(2,0,834,736),8571=>array(2,0,1154,736),8572=>array(41,0,279,760),8573=>array(42,-14,542,533),8574=>array(20,-14,601,760),8575=>array(70,0,879,533),8576=>array(46,0,1158,729),8577=>array(-16,0,754,729),8578=>array(46,0,1158,729),8579=>array(23,-14,715,742),8580=>array(30,-14,522,533),8581=>array(71,-208,765,742),8585=>array(23,-14,921,742),8592=>array(37,119,781,527),8593=>array(215,0,623,744),8594=>array(57,119,801,527),8595=>array(215,-20,623,724),8596=>array(37,119,801,527),8597=>array(215,-20,623,744),8598=>array(147,40,703,595),8599=>array(135,39,690,595),8600=>array(135,52,690,607),8601=>array(147,52,703,607),8602=>array(37,116,781,531),8603=>array(57,116,801,531),8604=>array(56,159,800,453),8605=>array(38,159,782,453),8606=>array(37,119,781,527),8607=>array(215,0,623,744),8608=>array(57,119,801,527),8609=>array(215,-20,623,724),8610=>array(37,119,784,527),8611=>array(54,119,801,527),8612=>array(37,119,781,527),8613=>array(215,0,623,744),8614=>array(57,119,801,527),8615=>array(215,-20,623,724),8616=>array(215,0,623,744),8617=>array(37,119,781,548),8618=>array(57,119,801,548),8619=>array(37,119,781,548),8620=>array(57,119,801,548),8621=>array(37,119,801,527),8622=>array(37,116,801,531),8623=>array(172,-13,688,730),8624=>array(232,0,593,744),8625=>array(245,0,605,744),8626=>array(232,-20,593,724),8627=>array(245,-20,605,724),8628=>array(130,102,728,609),8629=>array(159,53,667,650),8630=>array(44,145,769,540),8631=>array(69,145,794,540),8632=>array(132,40,706,717),8633=>array(57,-52,781,698),8634=>array(93,71,754,604),8635=>array(83,71,745,604),8636=>array(34,284,781,527),8637=>array(34,119,781,363),8638=>array(379,0,623,747),8639=>array(215,0,458,747),8640=>array(57,284,804,527),8641=>array(57,119,804,363),8642=>array(379,-23,623,724),8643=>array(215,-23,458,724),8644=>array(37,-52,801,698),8645=>array(44,-20,794,744),8646=>array(37,-52,801,698),8647=>array(37,-101,781,747),8648=>array(-5,0,843,744),8649=>array(57,-101,801,747),8650=>array(-5,-20,843,724),8651=>array(34,21,804,625),8652=>array(34,21,804,625),8653=>array(37,83,781,563),8654=>array(37,83,801,563),8655=>array(57,83,801,563),8656=>array(37,119,781,527),8657=>array(215,0,623,744),8658=>array(57,119,801,527),8659=>array(215,-20,623,724),8660=>array(37,119,801,527),8661=>array(215,-20,623,744),8662=>array(147,-21,763,595),8663=>array(75,-21,690,595),8664=>array(75,52,690,667),8665=>array(147,52,763,667),8666=>array(37,70,781,576),8667=>array(57,70,801,576),8668=>array(37,119,781,527),8669=>array(57,119,801,527),8670=>array(215,0,623,744),8671=>array(215,-20,623,724),8672=>array(37,119,781,527),8673=>array(215,0,623,744),8674=>array(57,119,801,527),8675=>array(215,-20,623,724),8676=>array(57,119,781,527),8677=>array(57,119,781,527),8678=>array(37,119,781,527),8679=>array(215,0,623,744),8680=>array(57,119,801,527),8681=>array(215,-20,623,724),8682=>array(215,0,623,744),8683=>array(192,0,646,744),8684=>array(192,0,646,744),8685=>array(192,0,646,744),8686=>array(215,0,623,744),8687=>array(192,0,646,744),8688=>array(57,96,801,550),8689=>array(82,0,767,689),8690=>array(71,0,756,689),8691=>array(215,-20,623,744),8692=>array(57,119,801,527),8693=>array(44,-20,794,744),8694=>array(57,-140,801,786),8695=>array(37,119,781,527),8696=>array(57,119,801,527),8697=>array(37,119,801,527),8698=>array(37,119,781,527),8699=>array(57,119,801,527),8700=>array(37,119,801,527),8701=>array(37,119,781,527),8702=>array(57,119,801,527),8703=>array(37,119,801,527),8704=>array(4,0,599,729),8706=>array(51,-12,469,647),8707=>array(61,0,464,729),8708=>array(61,-116,464,845),8710=>array(25,0,667,729),8711=>array(25,0,667,729),8712=>array(106,0,634,627),8713=>array(106,-132,634,759),8715=>array(106,0,634,627),8716=>array(106,-132,634,759),8719=>array(26,-192,769,719),8720=>array(26,-192,769,719),8721=>array(8,-192,701,719),8722=>array(106,274,732,353),8723=>array(106,0,732,627),8724=>array(106,0,732,659),8725=>array(-80,-93,417,729),8727=>array(106,85,574,541),8728=>array(106,175,384,454),8729=>array(106,175,384,454),8730=>array(30,-20,637,811),8731=>array(30,-20,637,938),8732=>array(30,-20,637,929),8733=>array(108,108,569,491),8734=>array(108,108,726,491),8735=>array(138,99,700,661),8736=>array(138,99,700,661),8739=>array(106,-98,185,827),8740=>array(86,-98,392,827),8741=>array(106,-98,356,827),8742=>array(86,-98,547,827),8743=>array(128,0,604,584),8744=>array(128,0,604,584),8745=>array(105,0,732,627),8746=>array(105,-12,732,615),8747=>array(23,-181,497,757),8748=>array(23,-181,828,757),8749=>array(23,-181,1158,757),8760=>array(106,274,732,559),8761=>array(106,68,732,559),8762=>array(106,68,732,559),8763=>array(106,68,732,559),8764=>array(106,233,732,394),8765=>array(106,233,732,394),8770=>array(106,138,732,452),8771=>array(106,175,732,489),8776=>array(106,138,732,489),8784=>array(106,175,732,658),8785=>array(106,-31,732,658),8786=>array(106,-31,732,658),8787=>array(106,-31,732,658),8788=>array(106,149,927,478),8789=>array(106,149,927,478),8800=>array(106,19,732,608),8801=>array(106,93,732,534),8804=>array(106,0,732,582),8805=>array(106,0,732,582),8834=>array(106,0,732,627),8835=>array(106,0,732,627),8836=>array(106,-132,732,759),8837=>array(106,-132,732,759),8838=>array(106,-73,732,700),8839=>array(106,-73,732,700),8844=>array(105,-12,732,615),8845=>array(105,-12,732,615),8846=>array(105,-12,732,615),8847=>array(106,0,740,627),8848=>array(106,0,740,627),8849=>array(106,-73,740,700),8850=>array(106,-73,740,700),8851=>array(105,0,732,635),8852=>array(105,0,732,635),8853=>array(105,0,732,627),8854=>array(105,0,732,627),8855=>array(105,0,732,627),8856=>array(105,0,732,627),8857=>array(105,0,732,627),8858=>array(105,0,732,627),8859=>array(105,0,732,627),8860=>array(105,0,732,627),8861=>array(105,0,732,627),8862=>array(105,0,732,627),8863=>array(105,0,732,627),8864=>array(105,0,732,627),8865=>array(105,0,732,627),8866=>array(106,0,754,729),8867=>array(106,0,754,729),8868=>array(106,0,834,688),8869=>array(106,0,834,688),8870=>array(106,0,461,729),8871=>array(106,0,461,729),8872=>array(106,0,754,729),8873=>array(106,0,754,729),8874=>array(106,0,754,729),8875=>array(106,0,925,729),8876=>array(106,-115,754,844),8877=>array(106,-115,754,844),8878=>array(106,-115,754,844),8879=>array(106,-115,925,844),8901=>array(106,282,236,412),8962=>array(71,0,692,596),8968=>array(-1,-132,400,760),8969=>array(124,-132,391,760),8970=>array(-1,-132,266,760),8971=>array(-10,-132,391,760),8976=>array(106,140,732,421),8977=>array(3,126,510,634),8984=>array(121,0,879,759),8985=>array(106,140,732,421),8992=>array(210,-250,497,928),8993=>array(21,-237,307,942),8997=>array(84,0,916,723),9000=>array(59,0,1385,729),9085=>array(5,-228,914,101),9115=>array(86,-252,414,946),9116=>array(86,-252,181,942),9117=>array(86,-240,414,942),9118=>array(86,-252,414,946),9119=>array(319,-252,414,942),9120=>array(86,-240,414,942),9121=>array(86,-252,414,928),9122=>array(86,-252,181,942),9123=>array(86,-240,414,942),9124=>array(86,-252,414,928),9125=>array(319,-252,414,935),9126=>array(86,-240,414,935),9127=>array(330,-261,668,928),9128=>array(82,-252,420,940),9129=>array(330,-240,668,940),9130=>array(330,-256,420,943),9131=>array(82,-261,420,928),9132=>array(330,-252,668,940),9133=>array(82,-240,420,940),9134=>array(210,-250,307,942),9167=>array(91,0,854,596),9251=>array(26,-228,711,101),9472=>array(-10,242,612,326),9473=>array(-10,200,612,368),9474=>array(262,-302,340,973),9475=>array(223,-302,379,973),9476=>array(-10,242,612,326),9477=>array(-10,200,612,368),9478=>array(262,-302,340,973),9479=>array(223,-302,379,973),9480=>array(-10,242,612,326),9481=>array(-10,200,612,368),9482=>array(262,-302,340,973),9483=>array(223,-302,379,973),9484=>array(262,-302,612,326),9485=>array(262,-302,612,368),9486=>array(223,-302,612,326),9487=>array(223,-302,612,368),9488=>array(-10,-302,340,326),9489=>array(-10,-302,340,368),9490=>array(-10,-302,379,326),9491=>array(-10,-302,379,368),9492=>array(262,242,612,973),9493=>array(262,200,612,973),9494=>array(223,242,612,973),9495=>array(223,200,612,973),9496=>array(-10,242,340,973),9497=>array(-10,200,340,973),9498=>array(-10,242,379,973),9499=>array(-10,200,379,973),9500=>array(262,-302,612,973),9501=>array(262,-302,612,973),9502=>array(223,-302,612,973),9503=>array(223,-302,612,973),9504=>array(223,-302,612,973),9505=>array(223,-302,612,973),9506=>array(223,-302,612,973),9507=>array(223,-302,612,973),9508=>array(-10,-302,340,973),9509=>array(-10,-302,340,973),9510=>array(-10,-302,379,973),9511=>array(-10,-302,379,973),9512=>array(-10,-302,379,973),9513=>array(-10,-302,379,973),9514=>array(-10,-302,379,973),9515=>array(-10,-302,379,973),9516=>array(-10,-302,612,326),9517=>array(-10,-302,612,368),9518=>array(-10,-302,612,368),9519=>array(-10,-302,612,368),9520=>array(-10,-302,612,326),9521=>array(-10,-302,612,368),9522=>array(-10,-302,612,368),9523=>array(-10,-302,612,368),9524=>array(-10,242,612,973),9525=>array(-10,200,612,973),9526=>array(-10,200,612,973),9527=>array(-10,200,612,973),9528=>array(-10,242,612,973),9529=>array(-10,200,612,973),9530=>array(-10,200,612,973),9531=>array(-10,200,612,973),9532=>array(-10,-302,612,973),9533=>array(-10,-302,612,973),9534=>array(-10,-302,612,973),9535=>array(-10,-302,612,973),9536=>array(-10,-302,612,973),9537=>array(-10,-302,612,973),9538=>array(-10,-302,612,973),9539=>array(-10,-302,612,973),9540=>array(-10,-302,612,973),9541=>array(-10,-302,612,973),9542=>array(-10,-302,612,973),9543=>array(-10,-302,612,973),9544=>array(-10,-302,612,973),9545=>array(-10,-302,612,973),9546=>array(-10,-302,612,973),9547=>array(-10,-302,612,973),9548=>array(-10,242,612,326),9549=>array(-10,200,612,368),9550=>array(262,-302,340,973),9551=>array(223,-302,379,973),9552=>array(-10,158,612,410),9553=>array(184,-302,418,973),9554=>array(262,-302,612,410),9555=>array(184,-302,612,326),9556=>array(184,-302,612,410),9557=>array(-10,-302,340,410),9558=>array(-10,-302,418,326),9559=>array(-10,-302,418,410),9560=>array(262,158,612,973),9561=>array(184,242,612,973),9562=>array(184,158,612,973),9563=>array(-10,158,340,973),9564=>array(-10,242,418,973),9565=>array(-10,158,418,973),9566=>array(262,-302,612,973),9567=>array(184,-302,612,973),9568=>array(184,-302,612,973),9569=>array(-10,-302,340,973),9570=>array(-10,-302,418,973),9571=>array(-10,-302,418,973),9572=>array(-10,-302,612,410),9573=>array(-10,-302,612,326),9574=>array(-10,-302,612,410),9575=>array(-10,158,612,973),9576=>array(-10,242,612,973),9577=>array(-10,158,612,973),9578=>array(-10,-302,612,973),9579=>array(-10,-302,612,973),9580=>array(-10,-302,612,973),9581=>array(262,-302,612,326),9582=>array(-10,-302,340,326),9583=>array(-10,242,340,973),9584=>array(262,242,612,973),9585=>array(-53,-302,655,973),9586=>array(-53,-302,655,973),9587=>array(-53,-302,655,973),9588=>array(-10,242,311,326),9589=>array(262,284,340,973),9590=>array(311,242,612,326),9591=>array(262,-302,340,284),9592=>array(-10,200,311,368),9593=>array(223,284,379,973),9594=>array(311,200,612,368),9595=>array(223,-302,379,284),9596=>array(-10,200,612,368),9597=>array(223,-302,379,973),9598=>array(-10,200,612,368),9599=>array(223,-302,379,973),9600=>array(-10,260,779,770),9601=>array(-10,-250,779,-123),9602=>array(-10,-250,779,-5),9603=>array(-10,-250,779,132),9604=>array(-10,-250,779,260),9605=>array(-10,-250,779,387),9606=>array(-10,-250,779,515),9607=>array(-10,-250,779,642),9608=>array(-10,-250,779,770),9609=>array(-10,-250,680,770),9610=>array(-10,-250,582,770),9611=>array(-10,-250,483,770),9612=>array(-10,-250,384,770),9613=>array(-10,-250,286,770),9614=>array(-10,-250,187,770),9615=>array(-10,-250,88,770),9616=>array(384,-250,778,770),9617=>array(-10,-250,680,770),9618=>array(-10,-250,779,770),9619=>array(-10,-250,779,770),9620=>array(-10,642,779,770),9621=>array(680,-250,778,770),9622=>array(-10,-250,385,260),9623=>array(384,-250,779,260),9624=>array(-10,260,385,770),9625=>array(-10,-250,779,770),9626=>array(-10,-250,779,770),9627=>array(-10,-250,779,770),9628=>array(-10,-250,779,770),9629=>array(384,260,779,770),9630=>array(-10,-250,779,770),9631=>array(-10,-250,779,770),9632=>array(91,-124,854,643),9633=>array(91,-124,854,643),9634=>array(91,-124,854,643),9635=>array(91,-124,854,643),9636=>array(91,-124,854,643),9637=>array(91,-124,854,643),9638=>array(91,-124,854,643),9639=>array(91,-124,854,643),9640=>array(91,-124,854,643),9641=>array(91,-124,854,643),9642=>array(91,11,587,509),9643=>array(91,11,587,509),9644=>array(91,75,854,444),9645=>array(91,75,854,444),9646=>array(91,-122,459,642),9647=>array(91,-122,459,642),9648=>array(3,75,766,444),9649=>array(3,75,766,444),9650=>array(3,-124,766,643),9651=>array(3,-124,766,643),9652=>array(3,11,499,509),9653=>array(3,11,499,509),9654=>array(3,-124,766,643),9655=>array(3,-124,766,643),9656=>array(3,11,499,509),9657=>array(3,11,499,509),9658=>array(3,11,766,509),9659=>array(3,11,766,509),9660=>array(3,-124,766,643),9661=>array(3,-124,766,643),9662=>array(3,11,499,509),9663=>array(3,11,499,509),9664=>array(3,-124,766,643),9665=>array(3,-124,766,643),9666=>array(3,11,499,509),9667=>array(3,11,499,509),9668=>array(3,11,766,509),9669=>array(3,11,766,509),9670=>array(3,-124,766,643),9671=>array(3,-124,766,643),9672=>array(3,-124,766,643),9673=>array(55,-125,818,645),9674=>array(3,-233,491,807),9675=>array(55,-125,818,645),9676=>array(56,-125,817,644),9677=>array(55,-125,818,645),9678=>array(55,-125,818,645),9679=>array(55,-123,818,641),9680=>array(55,-123,818,641),9681=>array(55,-123,818,641),9682=>array(55,-123,818,641),9683=>array(55,-123,818,641),9684=>array(55,-123,818,641),9685=>array(55,-123,818,641),9686=>array(55,-125,436,645),9687=>array(91,-125,472,645),9688=>array(91,-10,700,770),9689=>array(91,-250,879,770),9690=>array(91,260,879,770),9691=>array(91,-250,879,260),9692=>array(3,260,385,645),9693=>array(3,260,384,645),9694=>array(3,-125,384,260),9695=>array(3,-125,385,260),9696=>array(55,260,818,645),9697=>array(55,-125,818,260),9698=>array(3,-124,766,643),9699=>array(3,-124,766,643),9700=>array(3,-124,766,643),9701=>array(3,-124,766,643),9702=>array(150,227,440,516),9703=>array(91,-124,854,643),9704=>array(91,-124,854,643),9705=>array(91,-124,854,643),9706=>array(91,-124,854,643),9707=>array(91,-124,854,643),9708=>array(3,-124,766,643),9709=>array(3,-124,766,643),9710=>array(3,-124,766,643),9711=>array(55,-250,1064,770),9712=>array(91,-124,854,643),9713=>array(91,-124,854,643),9714=>array(91,-124,854,643),9715=>array(91,-124,854,643),9716=>array(55,-123,818,641),9717=>array(55,-123,818,641),9718=>array(55,-123,818,641),9719=>array(55,-123,818,641),9720=>array(3,-124,766,643),9721=>array(3,-124,766,643),9722=>array(3,-124,766,643),9723=>array(91,-66,739,585),9724=>array(91,-66,739,585),9725=>array(91,-17,642,537),9726=>array(91,-17,642,537),9727=>array(3,-124,766,643),9728=>array(83,0,813,729),9784=>array(80,3,817,721),9785=>array(83,0,813,730),9786=>array(83,0,813,730),9787=>array(83,0,813,730),9788=>array(83,0,813,730),9791=>array(85,-102,528,732),9792=>array(85,-125,646,731),9793=>array(85,-125,646,731),9794=>array(85,-5,831,729),9795=>array(166,0,730,730),9796=>array(219,0,677,730),9797=>array(121,0,774,730),9798=>array(127,0,769,730),9799=>array(240,0,656,730),9824=>array(158,0,738,729),9825=>array(90,0,806,727),9826=>array(168,0,728,729),9827=>array(111,0,785,729),9828=>array(157,0,739,729),9829=>array(89,0,808,729),9830=>array(168,0,728,729),9831=>array(111,0,785,732),9833=>array(84,-5,339,729),9834=>array(84,-5,554,729),9835=>array(184,-102,712,729),9836=>array(92,-5,804,729),9837=>array(88,-3,392,731),9838=>array(84,0,273,731),9839=>array(84,0,400,731),10145=>array(57,119,801,527),10181=>array(4,-163,374,769),10182=>array(-37,-163,410,769),10208=>array(3,-233,491,807),10216=>array(89,-132,397,759),10217=>array(-7,-132,301,759),10224=>array(68,0,770,744),10225=>array(68,-20,770,724),10226=>array(49,53,774,613),10227=>array(63,53,789,613),10228=>array(57,10,996,637),10229=>array(37,119,1376,527),10230=>array(57,119,1396,527),10231=>array(37,119,1396,527),10232=>array(37,119,1376,527),10233=>array(57,119,1396,527),10234=>array(37,119,1396,527),10235=>array(37,119,1376,527),10236=>array(57,119,1396,527),10237=>array(37,119,1376,527),10238=>array(57,119,1396,527),10239=>array(57,119,1396,527),10241=>array(139,627,300,789),10242=>array(139,351,300,512),10243=>array(139,351,300,789),10244=>array(139,74,300,236),10245=>array(139,74,300,789),10246=>array(139,74,300,512),10247=>array(139,74,300,789),10248=>array(432,627,593,789),10249=>array(139,627,593,789),10250=>array(139,351,593,789),10251=>array(139,351,593,789),10252=>array(139,74,593,789),10253=>array(139,74,593,789),10254=>array(139,74,593,789),10255=>array(139,74,593,789),10256=>array(432,351,593,512),10257=>array(139,351,593,789),10258=>array(139,351,593,512),10259=>array(139,351,593,789),10260=>array(139,74,593,512),10261=>array(139,74,593,789),10262=>array(139,74,593,512),10263=>array(139,74,593,789),10264=>array(432,351,593,789),10265=>array(139,351,593,789),10266=>array(139,351,593,789),10267=>array(139,351,593,789),10268=>array(139,74,593,789),10269=>array(139,74,593,789),10270=>array(139,74,593,789),10271=>array(139,74,593,789),10272=>array(432,74,593,236),10273=>array(139,74,593,789),10274=>array(139,74,593,512),10275=>array(139,74,593,789),10276=>array(139,74,593,236),10277=>array(139,74,593,789),10278=>array(139,74,593,512),10279=>array(139,74,593,789),10280=>array(432,74,593,789),10281=>array(139,74,593,789),10282=>array(139,74,593,789),10283=>array(139,74,593,789),10284=>array(139,74,593,789),10285=>array(139,74,593,789),10286=>array(139,74,593,789),10287=>array(139,74,593,789),10288=>array(432,74,593,512),10289=>array(139,74,593,789),10290=>array(139,74,593,512),10291=>array(139,74,593,789),10292=>array(139,74,593,512),10293=>array(139,74,593,789),10294=>array(139,74,593,512),10295=>array(139,74,593,789),10296=>array(432,74,593,789),10297=>array(139,74,593,789),10298=>array(139,74,593,789),10299=>array(139,74,593,789),10300=>array(139,74,593,789),10301=>array(139,74,593,789),10302=>array(139,74,593,789),10303=>array(139,74,593,789),10304=>array(139,-203,300,-41),10305=>array(139,-203,300,789),10306=>array(139,-203,300,512),10307=>array(139,-203,300,789),10308=>array(139,-203,300,236),10309=>array(139,-203,300,789),10310=>array(139,-203,300,512),10311=>array(139,-203,300,789),10312=>array(139,-203,593,789),10313=>array(139,-203,593,789),10314=>array(139,-203,593,789),10315=>array(139,-203,593,789),10316=>array(139,-203,593,789),10317=>array(139,-203,593,789),10318=>array(139,-203,593,789),10319=>array(139,-203,593,789),10320=>array(139,-203,593,512),10321=>array(139,-203,593,789),10322=>array(139,-203,593,512),10323=>array(139,-203,593,789),10324=>array(139,-203,593,512),10325=>array(139,-203,593,789),10326=>array(139,-203,593,512),10327=>array(139,-203,593,789),10328=>array(139,-203,593,789),10329=>array(139,-203,593,789),10330=>array(139,-203,593,789),10331=>array(139,-203,593,789),10332=>array(139,-203,593,789),10333=>array(139,-203,593,789),10334=>array(139,-203,593,789),10335=>array(139,-203,593,789),10336=>array(139,-203,593,236),10337=>array(139,-203,593,789),10338=>array(139,-203,593,512),10339=>array(139,-203,593,789),10340=>array(139,-203,593,236),10341=>array(139,-203,593,789),10342=>array(139,-203,593,512),10343=>array(139,-203,593,789),10344=>array(139,-203,593,789),10345=>array(139,-203,593,789),10346=>array(139,-203,593,789),10347=>array(139,-203,593,789),10348=>array(139,-203,593,789),10349=>array(139,-203,593,789),10350=>array(139,-203,593,789),10351=>array(139,-203,593,789),10352=>array(139,-203,593,512),10353=>array(139,-203,593,789),10354=>array(139,-203,593,512),10355=>array(139,-203,593,789),10356=>array(139,-203,593,512),10357=>array(139,-203,593,789),10358=>array(139,-203,593,512),10359=>array(139,-203,593,789),10360=>array(139,-203,593,789),10361=>array(139,-203,593,789),10362=>array(139,-203,593,789),10363=>array(139,-203,593,789),10364=>array(139,-203,593,789),10365=>array(139,-203,593,789),10366=>array(139,-203,593,789),10367=>array(139,-203,593,789),10368=>array(432,-203,593,-41),10369=>array(139,-203,593,789),10370=>array(139,-203,593,512),10371=>array(139,-203,593,789),10372=>array(139,-203,593,236),10373=>array(139,-203,593,789),10374=>array(139,-203,593,512),10375=>array(139,-203,593,789),10376=>array(432,-203,593,789),10377=>array(139,-203,593,789),10378=>array(139,-203,593,789),10379=>array(139,-203,593,789),10380=>array(139,-203,593,789),10381=>array(139,-203,593,789),10382=>array(139,-203,593,789),10383=>array(139,-203,593,789),10384=>array(432,-203,593,512),10385=>array(139,-203,593,789),10386=>array(139,-203,593,512),10387=>array(139,-203,593,789),10388=>array(139,-203,593,512),10389=>array(139,-203,593,789),10390=>array(139,-203,593,512),10391=>array(139,-203,593,789),10392=>array(432,-203,593,789),10393=>array(139,-203,593,789),10394=>array(139,-203,593,789),10395=>array(139,-203,593,789),10396=>array(139,-203,593,789),10397=>array(139,-203,593,789),10398=>array(139,-203,593,789),10399=>array(139,-203,593,789),10400=>array(432,-203,593,236),10401=>array(139,-203,593,789),10402=>array(139,-203,593,512),10403=>array(139,-203,593,789),10404=>array(139,-203,593,236),10405=>array(139,-203,593,789),10406=>array(139,-203,593,512),10407=>array(139,-203,593,789),10408=>array(432,-203,593,789),10409=>array(139,-203,593,789),10410=>array(139,-203,593,789),10411=>array(139,-203,593,789),10412=>array(139,-203,593,789),10413=>array(139,-203,593,789),10414=>array(139,-203,593,789),10415=>array(139,-203,593,789),10416=>array(432,-203,593,512),10417=>array(139,-203,593,789),10418=>array(139,-203,593,512),10419=>array(139,-203,593,789),10420=>array(139,-203,593,512),10421=>array(139,-203,593,789),10422=>array(139,-203,593,512),10423=>array(139,-203,593,789),10424=>array(432,-203,593,789),10425=>array(139,-203,593,789),10426=>array(139,-203,593,789),10427=>array(139,-203,593,789),10428=>array(139,-203,593,789),10429=>array(139,-203,593,789),10430=>array(139,-203,593,789),10431=>array(139,-203,593,789),10432=>array(139,-203,593,-41),10433=>array(139,-203,593,789),10434=>array(139,-203,593,512),10435=>array(139,-203,593,789),10436=>array(139,-203,593,236),10437=>array(139,-203,593,789),10438=>array(139,-203,593,512),10439=>array(139,-203,593,789),10440=>array(139,-203,593,789),10441=>array(139,-203,593,789),10442=>array(139,-203,593,789),10443=>array(139,-203,593,789),10444=>array(139,-203,593,789),10445=>array(139,-203,593,789),10446=>array(139,-203,593,789),10447=>array(139,-203,593,789),10448=>array(139,-203,593,512),10449=>array(139,-203,593,789),10450=>array(139,-203,593,512),10451=>array(139,-203,593,789),10452=>array(139,-203,593,512),10453=>array(139,-203,593,789),10454=>array(139,-203,593,512),10455=>array(139,-203,593,789),10456=>array(139,-203,593,789),10457=>array(139,-203,593,789),10458=>array(139,-203,593,789),10459=>array(139,-203,593,789),10460=>array(139,-203,593,789),10461=>array(139,-203,593,789),10462=>array(139,-203,593,789),10463=>array(139,-203,593,789),10464=>array(139,-203,593,236),10465=>array(139,-203,593,789),10466=>array(139,-203,593,512),10467=>array(139,-203,593,789),10468=>array(139,-203,593,236),10469=>array(139,-203,593,789),10470=>array(139,-203,593,512),10471=>array(139,-203,593,789),10472=>array(139,-203,593,789),10473=>array(139,-203,593,789),10474=>array(139,-203,593,789),10475=>array(139,-203,593,789),10476=>array(139,-203,593,789),10477=>array(139,-203,593,789),10478=>array(139,-203,593,789),10479=>array(139,-203,593,789),10480=>array(139,-203,593,512),10481=>array(139,-203,593,789),10482=>array(139,-203,593,512),10483=>array(139,-203,593,789),10484=>array(139,-203,593,512),10485=>array(139,-203,593,789),10486=>array(139,-203,593,512),10487=>array(139,-203,593,789),10488=>array(139,-203,593,789),10489=>array(139,-203,593,789),10490=>array(139,-203,593,789),10491=>array(139,-203,593,789),10492=>array(139,-203,593,789),10493=>array(139,-203,593,789),10494=>array(139,-203,593,789),10495=>array(139,-203,593,789),10496=>array(57,119,801,527),10497=>array(57,119,801,527),10498=>array(37,119,781,527),10499=>array(57,119,801,527),10500=>array(37,119,801,527),10501=>array(57,119,801,527),10502=>array(37,119,781,527),10503=>array(57,119,801,527),10504=>array(215,-20,623,724),10505=>array(215,0,623,744),10506=>array(166,0,672,744),10507=>array(166,-20,672,724),10508=>array(37,119,781,527),10509=>array(57,119,801,527),10510=>array(37,119,781,527),10511=>array(57,119,801,527),10512=>array(54,119,801,527),10513=>array(54,119,801,527),10514=>array(215,0,623,724),10515=>array(215,0,623,724),10516=>array(54,119,801,527),10517=>array(54,119,801,527),10518=>array(54,119,801,527),10519=>array(54,119,801,527),10520=>array(54,119,801,527),10521=>array(57,119,784,527),10522=>array(54,119,781,527),10523=>array(57,119,784,527),10524=>array(54,119,781,527),10525=>array(37,119,781,527),10526=>array(57,119,801,527),10527=>array(37,119,781,527),10528=>array(57,119,801,527),10529=>array(147,51,691,595),10530=>array(147,51,690,595),10531=>array(147,-37,648,595),10532=>array(189,-38,690,595),10533=>array(189,52,690,684),10534=>array(147,52,648,684),10535=>array(135,40,703,595),10536=>array(135,40,691,607),10537=>array(135,52,703,607),10538=>array(147,40,703,607),10539=>array(135,40,703,607),10540=>array(135,40,703,607),10541=>array(135,40,691,607),10542=>array(135,40,691,607),10543=>array(135,40,703,607),10544=>array(135,40,703,607),10545=>array(135,40,703,595),10546=>array(135,40,703,595),10547=>array(37,119,801,527),10548=>array(146,98,706,610),10549=>array(147,90,707,602),10550=>array(159,70,671,629),10551=>array(167,70,679,629),10552=>array(292,-0,586,732),10553=>array(251,-0,545,732),10554=>array(56,197,789,491),10555=>array(51,156,784,450),10556=>array(49,82,782,491),10557=>array(56,0,789,491),10558=>array(145,30,678,609),10559=>array(160,30,693,609),10560=>array(139,53,699,778),10561=>array(139,53,699,778),10562=>array(37,-52,801,698),10563=>array(37,-52,801,698),10564=>array(37,-52,801,698),10565=>array(57,0,801,527),10566=>array(37,0,781,527),10567=>array(57,119,801,527),10568=>array(37,119,801,527),10569=>array(215,-10,623,744),10570=>array(34,119,804,527),10571=>array(34,119,804,527),10572=>array(215,-23,623,747),10573=>array(215,-23,623,747),10574=>array(34,284,804,527),10575=>array(379,-23,623,747),10576=>array(34,119,804,363),10577=>array(215,-23,458,747),10578=>array(57,131,781,527),10579=>array(57,131,781,527),10580=>array(227,0,623,724),10581=>array(227,0,623,724),10582=>array(57,119,781,515),10583=>array(57,119,781,515),10584=>array(215,0,611,724),10585=>array(215,0,611,724),10586=>array(34,131,781,527),10587=>array(57,131,804,527),10588=>array(227,0,623,747),10589=>array(227,-23,623,724),10590=>array(34,119,781,515),10591=>array(57,119,804,515),10592=>array(215,0,611,747),10593=>array(215,-23,611,724),10594=>array(34,21,781,625),10595=>array(117,0,721,747),10596=>array(57,21,804,625),10597=>array(117,-23,721,724),10598=>array(34,186,804,625),10599=>array(34,21,804,460),10600=>array(34,186,804,625),10601=>array(34,21,804,460),10602=>array(34,203,781,608),10603=>array(34,38,781,444),10604=>array(57,203,804,608),10605=>array(57,38,804,444),10606=>array(117,-23,721,747),10607=>array(117,-23,721,747),10608=>array(57,191,781,456),10609=>array(57,119,801,680),10610=>array(57,119,801,572),10611=>array(37,74,781,527),10612=>array(57,74,801,527),10613=>array(57,-71,801,527),10614=>array(37,-76,781,776),10615=>array(37,56,924,591),10616=>array(57,-76,801,776),10617=>array(57,-76,801,723),10618=>array(37,10,927,637),10619=>array(37,-76,781,723),10620=>array(169,21,682,625),10621=>array(156,21,669,625),10622=>array(117,67,721,580),10623=>array(117,59,721,571),10731=>array(3,-233,491,807),10764=>array(23,-181,1489,757),10765=>array(23,-181,497,757),10766=>array(23,-181,497,757),10799=>array(138,33,700,594),10858=>array(106,233,732,559),10859=>array(106,68,732,559),11008=>array(71,-28,690,591),11009=>array(148,-28,767,591),11010=>array(71,52,690,671),11011=>array(148,52,767,671),11012=>array(37,119,801,527),11013=>array(37,119,781,527),11014=>array(215,0,623,744),11015=>array(215,-20,623,724),11016=>array(71,-28,690,591),11017=>array(148,-28,767,591),11018=>array(71,52,690,671),11019=>array(148,52,767,671),11020=>array(37,119,801,527),11021=>array(215,-20,623,744),11022=>array(57,137,801,498),11023=>array(57,149,801,510),11024=>array(37,137,781,498),11025=>array(37,149,781,510),11026=>array(91,-124,854,643),11027=>array(91,-124,854,643),11028=>array(91,-124,854,643),11029=>array(91,-124,854,643),11030=>array(3,-124,766,643),11031=>array(3,-124,766,643),11032=>array(3,-124,766,643),11033=>array(3,-124,766,643),11034=>array(91,-124,854,643),11360=>array(-16,0,604,729),11361=>array(-2,0,323,760),11363=>array(-16,0,668,729),11364=>array(101,-208,736,729),11367=>array(-0,-157,903,729),11368=>array(48,-208,632,760),11369=>array(-0,-157,810,729),11370=>array(42,-208,569,760),11371=>array(-11,-157,724,729),11372=>array(-10,-208,531,544),11373=>array(44,-14,802,742),11374=>array(4,-208,1064,729),11375=>array(55,0,803,729),11376=>array(-7,-14,750,742),11377=>array(36,0,711,530),11378=>array(65,0,1194,729),11379=>array(55,0,988,530),11381=>array(-16,0,714,729),11382=>array(65,0,489,519),11383=>array(36,-15,657,521),11385=>array(-37,-14,434,760),11386=>array(50,-14,552,533),11387=>array(7,0,575,519),11388=>array(-26,-124,259,413),11389=>array(28,326,504,734),11390=>array(48,-208,659,742),11391=>array(-6,-208,729,729),11520=>array(112,-54,786,512),11521=>array(46,-221,648,512),11522=>array(-3,-221,646,512),11523=>array(118,-1,697,760),11524=>array(55,-221,654,512),11525=>array(59,-220,975,512),11526=>array(136,0,769,760),11527=>array(59,0,974,511),11528=>array(116,0,630,512),11529=>array(59,-220,659,729),11530=>array(52,0,969,512),11531=>array(123,-1,679,760),11532=>array(59,0,659,760),11533=>array(58,-1,976,512),11534=>array(59,0,658,512),11535=>array(85,-221,914,760),11536=>array(59,0,974,760),11537=>array(59,0,658,760),11538=>array(47,-220,632,511),11539=>array(59,-224,990,636),11540=>array(107,-220,893,553),11541=>array(80,-221,865,760),11542=>array(59,0,657,512),11543=>array(59,-220,659,512),11544=>array(59,-221,658,512),11545=>array(95,-220,663,760),11546=>array(100,-220,701,512),11547=>array(106,0,680,760),11548=>array(116,-220,995,512),11549=>array(47,-220,694,512),11550=>array(90,-220,689,512),11551=>array(40,-221,865,515),11552=>array(63,0,980,512),11553=>array(68,-220,646,760),11554=>array(89,-2,616,578),11555=>array(59,-220,694,760),11556=>array(59,-220,762,512),11557=>array(121,-2,895,760),11800=>array(32,-13,448,743),11807=>array(106,68,732,394),11810=>array(85,314,400,760),11811=>array(153,314,391,760),11812=>array(-1,-132,237,314),11813=>array(-10,-132,304,314),11822=>array(104,-14,552,742),42564=>array(52,-14,647,742),42565=>array(34,-14,485,533),42566=>array(110,0,411,729),42567=>array(76,0,263,519),42576=>array(74,0,1121,729),42577=>array(39,-14,869,534),42580=>array(65,-14,1209,742),42581=>array(45,-14,806,533),42582=>array(-16,0,1088,729),42583=>array(70,-14,808,533),42760=>array(157,0,454,668),42761=>array(127,0,454,668),42762=>array(98,0,454,668),42763=>array(69,0,454,668),42764=>array(40,0,454,668),42765=>array(40,0,454,668),42766=>array(40,0,425,668),42767=>array(40,0,396,668),42768=>array(40,0,366,668),42769=>array(40,0,337,668),42770=>array(40,0,454,668),42771=>array(40,0,425,668),42772=>array(40,0,396,668),42773=>array(40,0,366,668),42774=>array(40,0,337,668),42779=>array(178,326,435,743),42780=>array(140,315,397,731),42781=>array(155,318,309,734),42782=>array(150,326,305,742),42783=>array(87,0,241,416),42790=>array(4,-208,908,729),42791=>array(70,-222,548,760),42792=>array(69,-224,818,729),42793=>array(75,-224,735,680),42794=>array(8,-14,587,742),42795=>array(17,-14,533,742),42796=>array(2,-14,505,729),42797=>array(2,-222,494,519),42798=>array(10,-92,594,729),42799=>array(4,-242,569,519),42800=>array(-21,0,541,519),42801=>array(11,-14,479,533),42802=>array(-77,0,1144,729),42803=>array(34,-14,876,533),42804=>array(-77,-14,1170,742),42805=>array(34,-14,907,533),42806=>array(-86,-14,1177,729),42807=>array(34,-14,863,533),42808=>array(-77,0,1054,729),42809=>array(34,-14,797,533),42810=>array(-77,0,1054,729),42811=>array(30,-14,793,533),42812=>array(-57,-208,1068,729),42813=>array(34,-222,770,533),42814=>array(23,-14,715,742),42815=>array(30,-14,522,533),42816=>array(-16,0,795,729),42817=>array(42,0,549,760),42822=>array(107,0,727,729),42823=>array(93,0,340,760),42826=>array(-10,-14,943,742),42827=>array(-10,-14,721,533),42830=>array(52,-14,1360,742),42831=>array(50,-14,949,533),42856=>array(-36,-208,707,729),42857=>array(44,-208,588,519),42875=>array(48,-208,660,743),42876=>array(50,-208,547,533),42880=>array(60,0,680,729),42881=>array(42,-240,279,519),42882=>array(48,-208,751,743),42883=>array(50,-208,601,533),42884=>array(48,-208,660,743),42885=>array(50,-208,547,533),42886=>array(53,-14,787,729),42887=>array(51,-14,576,519),42891=>array(141,205,336,729),42892=>array(72,458,202,729),42893=>array(70,0,792,729),42896=>array(-7,-157,917,729),42897=>array(70,-208,654,533),42922=>array(-68,0,888,729),43002=>array(-14,0,971,519),43003=>array(82,0,709,729),43004=>array(66,0,688,729),43005=>array(-21,0,1039,729),43006=>array(-35,0,430,928),43007=>array(-77,0,1269,729),62464=>array(-0,0,575,866),62465=>array(12,0,584,865),62466=>array(7,0,633,864),62467=>array(80,0,928,865),62468=>array(-4,0,655,865),62469=>array(-8,0,640,866),62470=>array(76,0,690,865),62471=>array(36,1,961,865),62472=>array(40,0,636,865),62473=>array(2,0,634,865),62474=>array(88,0,1236,865),62475=>array(14,0,677,865),62476=>array(29,0,696,867),62477=>array(45,-107,923,865),62478=>array(4,0,644,865),62479=>array(-1,0,717,866),62480=>array(24,-0,921,843),62481=>array(60,0,657,865),62482=>array(28,0,729,865),62483=>array(71,0,741,865),62484=>array(90,0,943,865),62485=>array(-6,0,713,852),62486=>array(85,0,930,865),62487=>array(-3,0,712,864),62488=>array(20,0,685,865),62489=>array(-32,0,604,865),62490=>array(21,0,692,859),62491=>array(17,0,674,865),62492=>array(25,0,732,865),62493=>array(-5,0,624,872),62494=>array(66,0,650,865),62495=>array(-24,-10,895,863),62496=>array(-2,0,659,869),62497=>array(31,0,766,866),62498=>array(-33,-40,639,865),62499=>array(1,0,717,878),62500=>array(-6,0,657,865),62501=>array(-9,0,701,865),62502=>array(70,0,943,865),62504=>array(95,-220,873,760),63172=>array(54,0,359,745),63173=>array(21,-14,584,747),63174=>array(35,-222,597,533),63175=>array(68,-14,608,691),63176=>array(68,-14,910,691),63185=>array(110,625,445,785),63188=>array(111,670,398,806),64256=>array(-62,-208,851,760),64257=>array(-62,-208,610,760),64258=>array(-62,-208,644,760),64259=>array(-62,-208,938,760),64260=>array(-62,-208,984,760),64261=>array(-62,-208,743,760),64262=>array(11,-14,915,737),65533=>array(95,-84,1091,912),65535=>array(50,-177,550,705)); +$cw=array(0=>600,32=>318,33=>402,34=>460,35=>838,36=>636,37=>950,38=>890,39=>275,40=>390,41=>390,42=>500,43=>838,44=>318,45=>338,46=>318,47=>337,48=>636,49=>636,50=>636,51=>636,52=>636,53=>636,54=>636,55=>636,56=>636,57=>636,58=>337,59=>337,60=>838,61=>838,62=>838,63=>536,64=>1000,65=>722,66=>735,67=>765,68=>802,69=>730,70=>694,71=>799,72=>872,73=>395,74=>401,75=>747,76=>664,77=>1024,78=>875,79=>820,80=>673,81=>820,82=>753,83=>685,84=>667,85=>843,86=>722,87=>1028,88=>712,89=>660,90=>695,91=>390,92=>337,93=>390,94=>838,95=>500,96=>500,97=>596,98=>640,99=>560,100=>640,101=>592,102=>370,103=>640,104=>644,105=>320,106=>310,107=>606,108=>320,109=>948,110=>644,111=>602,112=>640,113=>640,114=>478,115=>513,116=>402,117=>644,118=>565,119=>856,120=>564,121=>565,122=>527,123=>636,124=>337,125=>636,126=>838,160=>318,161=>402,162=>636,163=>636,164=>636,165=>636,166=>337,167=>500,168=>500,169=>1000,170=>475,171=>612,172=>838,173=>338,174=>1000,175=>500,176=>500,177=>838,178=>401,179=>401,180=>500,181=>650,182=>636,183=>318,184=>500,185=>401,186=>470,187=>612,188=>969,189=>969,190=>969,191=>536,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1001,199=>765,200=>730,201=>730,202=>730,203=>730,204=>395,205=>395,206=>395,207=>395,208=>807,209=>875,210=>820,211=>820,212=>820,213=>820,214=>820,215=>838,216=>820,217=>843,218=>843,219=>843,220=>843,221=>660,222=>676,223=>668,224=>596,225=>596,226=>596,227=>596,228=>596,229=>596,230=>940,231=>560,232=>592,233=>592,234=>592,235=>592,236=>320,237=>320,238=>320,239=>320,240=>602,241=>644,242=>602,243=>602,244=>602,245=>602,246=>602,247=>838,248=>602,249=>644,250=>644,251=>644,252=>644,253=>565,254=>640,255=>565,256=>722,257=>596,258=>722,259=>596,260=>722,261=>596,262=>765,263=>560,264=>765,265=>560,266=>765,267=>560,268=>765,269=>560,270=>802,271=>640,272=>807,273=>640,274=>730,275=>592,276=>730,277=>592,278=>730,279=>592,280=>730,281=>592,282=>730,283=>592,284=>799,285=>640,286=>799,287=>640,288=>799,289=>640,290=>799,291=>640,292=>872,293=>644,294=>872,295=>644,296=>395,297=>320,298=>395,299=>320,300=>395,301=>320,302=>395,303=>320,304=>395,305=>320,306=>801,307=>533,308=>401,309=>310,310=>747,311=>606,312=>606,313=>664,314=>320,315=>664,316=>320,317=>664,318=>400,319=>671,320=>465,321=>669,322=>324,323=>875,324=>644,325=>875,326=>644,327=>875,328=>644,329=>866,330=>843,331=>644,332=>820,333=>602,334=>820,335=>602,336=>820,337=>602,338=>1137,339=>989,340=>753,341=>478,342=>753,343=>478,344=>753,345=>478,346=>685,347=>513,348=>685,349=>513,350=>685,351=>513,352=>685,353=>513,354=>667,355=>402,356=>667,357=>402,358=>667,359=>402,360=>843,361=>644,362=>843,363=>644,364=>843,365=>644,366=>843,367=>644,368=>843,369=>644,370=>843,371=>644,372=>1028,373=>856,374=>660,375=>565,376=>660,377=>695,378=>527,379=>695,380=>527,381=>695,382=>527,383=>370,384=>640,385=>735,386=>735,387=>640,388=>735,389=>640,390=>765,391=>765,392=>560,393=>807,394=>802,395=>735,396=>640,397=>602,398=>730,399=>820,400=>623,401=>694,402=>370,403=>799,404=>712,405=>932,406=>395,407=>395,408=>747,409=>606,410=>320,411=>634,412=>948,413=>875,414=>644,415=>820,416=>820,417=>602,418=>1040,419=>807,420=>673,421=>640,422=>753,423=>685,424=>513,425=>707,426=>324,427=>402,428=>667,429=>402,430=>667,431=>843,432=>644,433=>829,434=>760,435=>738,436=>745,437=>695,438=>527,439=>564,440=>564,441=>564,442=>564,443=>636,444=>687,445=>564,446=>536,447=>635,448=>295,449=>492,450=>459,451=>295,452=>1497,453=>1329,454=>1167,455=>1065,456=>974,457=>630,458=>1276,459=>1185,460=>954,461=>722,462=>596,463=>395,464=>320,465=>820,466=>602,467=>843,468=>644,469=>843,470=>644,471=>843,472=>644,473=>843,474=>644,475=>843,476=>644,477=>592,478=>722,479=>596,480=>722,481=>596,482=>1001,483=>940,484=>848,485=>640,486=>799,487=>640,488=>747,489=>606,490=>820,491=>602,492=>820,493=>602,494=>564,495=>564,496=>320,497=>1497,498=>1329,499=>1167,500=>799,501=>640,502=>1154,503=>707,504=>875,505=>644,506=>722,507=>596,508=>1001,509=>940,510=>820,511=>602,512=>722,513=>596,514=>722,515=>596,516=>730,517=>592,518=>730,519=>592,520=>395,521=>320,522=>395,523=>320,524=>820,525=>602,526=>820,527=>602,528=>753,529=>478,530=>753,531=>478,532=>843,533=>644,534=>843,535=>644,536=>685,537=>513,538=>667,539=>402,540=>627,541=>521,542=>872,543=>644,544=>843,545=>814,546=>572,547=>552,548=>695,549=>527,550=>722,551=>596,552=>730,553=>592,554=>820,555=>602,556=>820,557=>602,558=>820,559=>602,560=>820,561=>602,562=>660,563=>565,564=>500,565=>832,566=>494,567=>310,568=>960,569=>960,570=>722,571=>765,572=>560,573=>664,574=>667,575=>513,576=>527,577=>583,578=>464,579=>735,580=>843,581=>722,582=>730,583=>592,584=>401,585=>315,586=>782,587=>640,588=>753,589=>478,590=>660,591=>565,592=>596,593=>675,594=>675,595=>640,596=>560,597=>560,598=>647,599=>683,600=>592,601=>592,602=>843,603=>537,604=>509,605=>773,606=>613,607=>315,608=>683,609=>640,610=>544,611=>599,612=>564,613=>644,614=>644,615=>644,616=>320,617=>392,618=>320,619=>380,620=>454,621=>363,622=>704,623=>948,624=>948,625=>948,626=>644,627=>694,628=>646,629=>602,630=>790,631=>647,632=>602,633=>501,634=>501,635=>551,636=>478,637=>478,638=>453,639=>453,640=>594,641=>594,642=>513,643=>271,644=>370,645=>487,646=>324,647=>402,648=>402,649=>644,650=>620,651=>608,652=>565,653=>856,654=>565,655=>655,656=>597,657=>560,658=>564,659=>560,660=>536,661=>536,662=>536,663=>513,664=>820,665=>563,666=>613,667=>654,668=>667,669=>366,670=>606,671=>543,672=>683,673=>536,674=>536,675=>996,676=>1033,677=>998,678=>823,679=>598,680=>825,681=>894,682=>725,683=>676,684=>598,685=>443,686=>781,687=>767,688=>433,689=>430,690=>264,691=>347,692=>347,693=>430,694=>392,695=>539,696=>355,697=>278,698=>460,699=>318,700=>318,701=>318,702=>307,703=>307,704=>280,705=>281,706=>500,707=>500,708=>500,709=>500,710=>500,711=>500,712=>282,713=>500,714=>500,715=>500,716=>282,717=>500,720=>337,721=>337,722=>307,723=>307,726=>392,727=>392,728=>500,729=>500,730=>500,731=>500,732=>500,733=>500,734=>417,736=>377,737=>243,738=>337,739=>355,740=>281,741=>493,742=>493,743=>493,744=>493,745=>493,748=>500,750=>484,751=>500,752=>500,755=>500,759=>500,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,835=>0,847=>0,856=>0,864=>0,865=>0,880=>740,881=>531,882=>667,883=>553,884=>278,885=>278,886=>875,887=>667,890=>500,891=>560,892=>560,893=>560,894=>337,900=>500,901=>500,902=>722,903=>318,904=>900,905=>1039,906=>562,908=>835,910=>897,911=>853,912=>392,913=>722,914=>735,915=>694,916=>722,917=>730,918=>695,919=>872,920=>820,921=>395,922=>747,923=>722,924=>1024,925=>875,926=>704,927=>820,928=>872,929=>673,931=>707,932=>667,933=>660,934=>820,935=>712,936=>877,937=>829,938=>395,939=>660,940=>675,941=>537,942=>599,943=>392,944=>608,945=>675,946=>578,947=>598,948=>602,949=>537,950=>542,951=>599,952=>602,953=>392,954=>656,955=>634,956=>650,957=>608,958=>551,959=>602,960=>657,961=>588,962=>560,963=>683,964=>553,965=>608,966=>700,967=>606,968=>784,969=>815,970=>392,971=>608,972=>602,973=>608,974=>815,975=>747,976=>583,977=>715,978=>687,979=>874,980=>687,981=>682,982=>815,983=>624,984=>820,985=>602,986=>765,987=>560,988=>694,989=>463,990=>590,991=>660,992=>782,993=>577,1008=>624,1009=>588,1010=>560,1011=>310,1012=>820,1013=>560,1014=>560,1015=>676,1016=>640,1017=>765,1018=>1024,1019=>708,1020=>588,1021=>765,1022=>765,1023=>765,1024=>730,1025=>730,1026=>799,1027=>662,1028=>765,1029=>685,1030=>395,1031=>395,1032=>401,1033=>1084,1034=>1118,1035=>872,1036=>774,1037=>872,1038=>723,1039=>872,1040=>757,1041=>735,1042=>735,1043=>662,1044=>813,1045=>730,1046=>1124,1047=>623,1048=>872,1049=>872,1050=>774,1051=>834,1052=>1024,1053=>872,1054=>820,1055=>872,1056=>673,1057=>765,1058=>667,1059=>723,1060=>830,1061=>712,1062=>872,1063=>773,1064=>1141,1065=>1141,1066=>794,1067=>984,1068=>674,1069=>765,1070=>1193,1071=>808,1072=>596,1073=>610,1074=>582,1075=>505,1076=>634,1077=>592,1078=>1137,1079=>545,1080=>644,1081=>644,1082=>597,1083=>637,1084=>829,1085=>659,1086=>602,1087=>644,1088=>640,1089=>560,1090=>948,1091=>580,1092=>783,1093=>564,1094=>698,1095=>622,1096=>947,1097=>1001,1098=>667,1099=>814,1100=>544,1101=>560,1102=>880,1103=>662,1104=>592,1105=>592,1106=>624,1107=>505,1108=>560,1109=>513,1110=>320,1111=>320,1112=>310,1113=>859,1114=>878,1115=>644,1116=>597,1117=>644,1118=>580,1119=>644,1122=>762,1123=>882,1124=>1129,1125=>834,1130=>1124,1131=>920,1132=>1359,1133=>1063,1136=>944,1137=>902,1138=>820,1139=>552,1140=>859,1141=>678,1142=>859,1143=>678,1164=>707,1165=>544,1168=>672,1169=>529,1170=>662,1171=>505,1172=>730,1173=>614,1174=>1124,1175=>1137,1176=>623,1177=>545,1178=>774,1179=>604,1182=>774,1183=>597,1184=>892,1185=>669,1186=>872,1187=>712,1188=>1139,1189=>857,1190=>1206,1191=>943,1194=>765,1195=>560,1196=>667,1197=>1013,1198=>660,1199=>571,1200=>660,1201=>571,1202=>712,1203=>629,1204=>936,1205=>732,1206=>749,1207=>677,1210=>749,1211=>644,1216=>395,1217=>1124,1218=>1137,1219=>747,1220=>606,1223=>872,1224=>667,1227=>749,1228=>667,1231=>320,1232=>757,1233=>596,1234=>757,1235=>596,1236=>1001,1237=>940,1238=>730,1239=>592,1240=>820,1241=>592,1242=>820,1243=>592,1244=>1124,1245=>1137,1246=>623,1247=>545,1248=>564,1249=>564,1250=>872,1251=>644,1252=>872,1253=>644,1254=>820,1255=>602,1256=>820,1257=>602,1258=>820,1259=>602,1260=>765,1261=>560,1262=>723,1263=>580,1264=>723,1265=>580,1266=>723,1267=>580,1268=>773,1269=>622,1270=>662,1271=>505,1272=>984,1273=>814,1296=>623,1297=>545,1298=>834,1299=>637,1300=>1199,1301=>939,1306=>820,1307=>640,1308=>1028,1309=>856,1329=>810,1330=>811,1331=>806,1332=>828,1333=>806,1334=>826,1335=>761,1336=>811,1337=>968,1338=>816,1339=>772,1340=>682,1341=>1097,1342=>845,1343=>804,1344=>719,1345=>810,1346=>833,1347=>831,1348=>897,1349=>763,1350=>794,1351=>754,1352=>799,1353=>797,1354=>875,1355=>830,1356=>864,1357=>799,1358=>802,1359=>731,1360=>774,1361=>749,1362=>633,1363=>845,1364=>843,1365=>835,1366=>821,1369=>307,1370=>264,1371=>229,1372=>391,1373=>364,1374=>386,1375=>500,1377=>949,1378=>618,1379=>695,1380=>695,1381=>628,1382=>688,1383=>510,1384=>636,1385=>791,1386=>671,1387=>635,1388=>305,1389=>973,1390=>614,1391=>628,1392=>636,1393=>630,1394=>636,1395=>654,1396=>644,1397=>309,1398=>636,1399=>461,1400=>649,1401=>365,1402=>940,1403=>562,1404=>657,1405=>644,1406=>630,1407=>930,1408=>644,1409=>643,1410=>483,1411=>930,1412=>636,1413=>609,1414=>809,1415=>789,1417=>340,1418=>334,4256=>732,4257=>860,4258=>837,4259=>869,4260=>743,4261=>991,4262=>925,4263=>1111,4264=>576,4265=>760,4266=>972,4267=>951,4268=>753,4269=>1084,4270=>906,4271=>838,4272=>1049,4273=>743,4274=>679,4275=>1025,4276=>946,4277=>1029,4278=>741,4279=>743,4280=>742,4281=>743,4282=>889,4283=>946,4284=>724,4285=>765,4286=>743,4287=>968,4288=>1010,4289=>712,4290=>874,4291=>744,4292=>847,4293=>960,4304=>550,4305=>581,4306=>599,4307=>843,4308=>571,4309=>567,4310=>620,4311=>871,4312=>569,4313=>556,4314=>1076,4315=>596,4316=>596,4317=>835,4318=>580,4319=>590,4320=>833,4321=>607,4322=>758,4323=>701,4324=>825,4325=>595,4326=>868,4327=>578,4328=>604,4329=>596,4330=>685,4331=>597,4332=>557,4333=>585,4334=>625,4335=>693,4336=>582,4337=>613,4338=>581,4339=>582,4340=>580,4341=>659,4342=>896,4343=>636,4344=>592,4345=>628,4346=>581,4347=>456,4348=>373,7424=>565,7425=>774,7426=>940,7427=>563,7428=>560,7429=>585,7430=>585,7431=>553,7432=>509,7433=>320,7434=>499,7435=>597,7436=>543,7437=>778,7438=>667,7439=>602,7440=>560,7441=>647,7442=>647,7443=>647,7444=>989,7445=>512,7446=>602,7447=>602,7448=>553,7449=>594,7450=>594,7451=>553,7452=>585,7453=>664,7454=>923,7455=>655,7456=>565,7457=>856,7458=>527,7459=>527,7460=>531,7461=>743,7462=>524,7463=>565,7464=>657,7465=>553,7466=>703,7467=>635,7468=>455,7469=>630,7470=>463,7471=>463,7472=>505,7473=>459,7474=>459,7475=>503,7476=>549,7477=>249,7478=>252,7479=>470,7480=>418,7481=>645,7482=>551,7483=>551,7484=>516,7485=>369,7486=>424,7487=>474,7488=>420,7489=>531,7490=>647,7491=>375,7492=>375,7493=>425,7494=>592,7495=>400,7496=>400,7497=>387,7498=>387,7499=>428,7500=>340,7501=>400,7502=>175,7503=>365,7504=>613,7505=>399,7506=>385,7507=>346,7508=>385,7509=>385,7510=>400,7511=>247,7512=>399,7513=>418,7514=>613,7515=>373,7516=>468,7517=>364,7518=>376,7519=>379,7520=>441,7521=>381,7522=>201,7523=>347,7524=>399,7525=>373,7526=>364,7527=>376,7528=>370,7529=>441,7530=>381,7531=>974,7543=>640,7544=>549,7547=>320,7548=>392,7549=>640,7550=>585,7551=>620,7557=>320,7579=>425,7580=>353,7581=>353,7582=>473,7583=>428,7584=>233,7585=>316,7586=>488,7587=>399,7588=>201,7589=>201,7590=>201,7591=>201,7592=>318,7593=>263,7594=>263,7595=>455,7596=>613,7597=>613,7598=>495,7599=>492,7600=>487,7601=>385,7602=>473,7603=>328,7604=>299,7605=>334,7606=>399,7607=>477,7608=>368,7609=>464,7610=>355,7611=>332,7612=>418,7613=>418,7614=>452,7615=>473,7620=>0,7621=>0,7622=>0,7623=>0,7624=>0,7625=>0,7680=>722,7681=>596,7682=>735,7683=>640,7684=>735,7685=>640,7686=>735,7687=>640,7688=>765,7689=>560,7690=>802,7691=>640,7692=>802,7693=>640,7694=>802,7695=>640,7696=>802,7697=>640,7698=>802,7699=>640,7700=>730,7701=>592,7702=>730,7703=>592,7704=>730,7705=>592,7706=>730,7707=>592,7708=>730,7709=>592,7710=>694,7711=>370,7712=>799,7713=>640,7714=>872,7715=>644,7716=>872,7717=>644,7718=>872,7719=>644,7720=>872,7721=>644,7722=>872,7723=>644,7724=>395,7725=>320,7726=>395,7727=>320,7728=>747,7729=>606,7730=>747,7731=>606,7732=>747,7733=>606,7734=>664,7735=>320,7736=>664,7737=>320,7738=>664,7739=>320,7740=>664,7741=>320,7742=>1024,7743=>948,7744=>1024,7745=>948,7746=>1024,7747=>953,7748=>875,7749=>644,7750=>875,7751=>644,7752=>875,7753=>644,7754=>875,7755=>644,7756=>820,7757=>602,7758=>820,7759=>602,7760=>820,7761=>602,7762=>820,7763=>602,7764=>673,7765=>640,7766=>673,7767=>640,7768=>753,7769=>478,7770=>753,7771=>478,7772=>753,7773=>478,7774=>753,7775=>478,7776=>685,7777=>513,7778=>685,7779=>513,7780=>685,7781=>513,7782=>685,7783=>521,7784=>685,7785=>513,7786=>667,7787=>402,7788=>667,7789=>402,7790=>667,7791=>402,7792=>667,7793=>402,7794=>843,7795=>644,7796=>843,7797=>644,7798=>843,7799=>644,7800=>843,7801=>644,7802=>843,7803=>644,7804=>722,7805=>565,7806=>722,7807=>565,7808=>1028,7809=>856,7810=>1028,7811=>856,7812=>1028,7813=>856,7814=>1028,7815=>856,7816=>1028,7817=>856,7818=>712,7819=>564,7820=>712,7821=>564,7822=>660,7823=>565,7824=>695,7825=>527,7826=>695,7827=>527,7828=>695,7829=>527,7830=>644,7831=>402,7832=>856,7833=>565,7834=>903,7835=>370,7836=>370,7837=>370,7838=>829,7839=>602,7840=>722,7841=>596,7842=>722,7843=>596,7844=>722,7845=>613,7846=>722,7847=>613,7848=>722,7849=>613,7850=>722,7851=>613,7852=>722,7853=>596,7854=>722,7855=>596,7856=>722,7857=>596,7858=>722,7859=>596,7860=>722,7861=>596,7862=>722,7863=>596,7864=>730,7865=>592,7866=>730,7867=>592,7868=>730,7869=>592,7870=>730,7871=>615,7872=>730,7873=>615,7874=>730,7875=>615,7876=>730,7877=>615,7878=>730,7879=>592,7880=>395,7881=>320,7882=>395,7883=>320,7884=>820,7885=>602,7886=>820,7887=>602,7888=>820,7889=>612,7890=>820,7891=>612,7892=>820,7893=>612,7894=>820,7895=>612,7896=>820,7897=>602,7898=>820,7899=>602,7900=>820,7901=>602,7902=>820,7903=>602,7904=>820,7905=>602,7906=>820,7907=>602,7908=>843,7909=>644,7910=>843,7911=>644,7912=>843,7913=>644,7914=>843,7915=>644,7916=>843,7917=>644,7918=>843,7919=>644,7920=>843,7921=>644,7922=>660,7923=>565,7924=>660,7925=>565,7926=>660,7927=>565,7928=>660,7929=>565,7930=>949,7931=>581,7936=>675,7937=>675,7938=>675,7939=>675,7940=>675,7941=>675,7942=>675,7943=>675,7944=>722,7945=>722,7946=>869,7947=>869,7948=>734,7949=>763,7950=>722,7951=>722,7952=>537,7953=>537,7954=>537,7955=>537,7956=>537,7957=>537,7960=>853,7961=>841,7962=>1067,7963=>1077,7964=>1008,7965=>1035,7968=>599,7969=>599,7970=>599,7971=>599,7972=>599,7973=>599,7974=>599,7975=>599,7976=>998,7977=>992,7978=>1212,7979=>1224,7980=>1159,7981=>1183,7982=>1098,7983=>1095,7984=>392,7985=>392,7986=>392,7987=>392,7988=>392,7989=>392,7990=>392,7991=>392,7992=>521,7993=>512,7994=>735,7995=>738,7996=>679,7997=>706,7998=>624,7999=>615,8000=>602,8001=>602,8002=>602,8003=>602,8004=>602,8005=>602,8008=>820,8009=>859,8010=>1120,8011=>1127,8012=>937,8013=>964,8016=>608,8017=>608,8018=>608,8019=>608,8020=>608,8021=>608,8022=>608,8023=>608,8025=>851,8027=>1079,8029=>1044,8031=>953,8032=>815,8033=>815,8034=>815,8035=>815,8036=>815,8037=>815,8038=>815,8039=>815,8040=>829,8041=>870,8042=>1131,8043=>1137,8044=>946,8045=>976,8046=>938,8047=>970,8048=>675,8049=>675,8050=>537,8051=>537,8052=>599,8053=>599,8054=>392,8055=>392,8056=>602,8057=>602,8058=>608,8059=>608,8060=>815,8061=>815,8064=>675,8065=>675,8066=>675,8067=>675,8068=>675,8069=>675,8070=>675,8071=>675,8072=>722,8073=>722,8074=>869,8075=>869,8076=>734,8077=>763,8078=>722,8079=>722,8080=>599,8081=>599,8082=>599,8083=>599,8084=>599,8085=>599,8086=>599,8087=>599,8088=>998,8089=>992,8090=>1212,8091=>1224,8092=>1159,8093=>1183,8094=>1098,8095=>1095,8096=>815,8097=>815,8098=>815,8099=>815,8100=>815,8101=>815,8102=>815,8103=>815,8104=>829,8105=>870,8106=>1131,8107=>1137,8108=>946,8109=>976,8110=>938,8111=>970,8112=>675,8113=>675,8114=>675,8115=>675,8116=>675,8118=>675,8119=>675,8120=>722,8121=>722,8122=>722,8123=>722,8124=>722,8125=>500,8126=>500,8127=>500,8128=>500,8129=>500,8130=>599,8131=>599,8132=>599,8134=>599,8135=>599,8136=>912,8137=>900,8138=>1063,8139=>1039,8140=>872,8141=>500,8142=>500,8143=>500,8144=>392,8145=>392,8146=>392,8147=>392,8150=>392,8151=>392,8152=>395,8153=>395,8154=>588,8155=>562,8157=>500,8158=>500,8159=>500,8160=>608,8161=>608,8162=>608,8163=>608,8164=>588,8165=>588,8166=>608,8167=>608,8168=>660,8169=>660,8170=>921,8171=>897,8172=>790,8173=>500,8174=>500,8175=>500,8178=>815,8179=>815,8180=>815,8182=>815,8183=>815,8184=>961,8185=>835,8186=>984,8187=>853,8188=>829,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>330,8197=>250,8198=>167,8199=>636,8200=>318,8201=>200,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>338,8209=>338,8210=>636,8211=>500,8212=>1000,8213=>1000,8214=>500,8215=>500,8216=>318,8217=>318,8218=>318,8219=>318,8220=>511,8221=>511,8222=>518,8223=>511,8224=>500,8225=>500,8226=>590,8227=>590,8228=>334,8229=>667,8230=>1000,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>200,8240=>1342,8241=>1734,8242=>227,8243=>374,8244=>520,8245=>227,8246=>374,8247=>520,8248=>339,8249=>400,8250=>400,8252=>527,8253=>536,8254=>500,8258=>1000,8260=>167,8261=>390,8262=>390,8263=>976,8264=>753,8265=>753,8267=>636,8268=>500,8269=>500,8270=>500,8271=>337,8273=>500,8274=>450,8275=>1000,8279=>663,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8298=>0,8299=>0,8300=>0,8301=>0,8302=>0,8303=>0,8304=>401,8305=>201,8308=>401,8309=>401,8310=>401,8311=>401,8312=>401,8313=>401,8314=>528,8315=>528,8316=>528,8317=>246,8318=>246,8319=>405,8320=>401,8321=>401,8322=>401,8323=>401,8324=>401,8325=>401,8326=>401,8327=>401,8328=>401,8329=>401,8330=>528,8331=>528,8332=>528,8333=>246,8334=>246,8336=>375,8337=>387,8338=>385,8339=>355,8340=>387,8341=>433,8342=>365,8343=>243,8344=>613,8345=>405,8346=>400,8347=>337,8348=>247,8358=>660,8364=>636,8367=>1057,8369=>706,8372=>780,8373=>636,8376=>667,8377=>636,8451=>1119,8457=>1047,8462=>644,8463=>644,8470=>946,8482=>1000,8486=>829,8487=>829,8490=>747,8491=>722,8498=>694,8513=>775,8514=>557,8515=>557,8516=>611,8523=>890,8526=>514,8528=>969,8529=>969,8530=>1370,8531=>969,8532=>969,8533=>969,8534=>969,8535=>969,8536=>969,8537=>969,8538=>969,8539=>969,8540=>969,8541=>969,8542=>969,8543=>568,8544=>395,8545=>590,8546=>786,8547=>966,8548=>722,8549=>981,8550=>1176,8551=>1372,8552=>932,8553=>712,8554=>932,8555=>1127,8556=>664,8557=>765,8558=>802,8559=>1024,8560=>320,8561=>640,8562=>959,8563=>885,8564=>565,8565=>885,8566=>1205,8567=>1524,8568=>884,8569=>564,8570=>884,8571=>1204,8572=>320,8573=>560,8574=>640,8575=>948,8576=>1206,8577=>802,8578=>1206,8579=>765,8580=>560,8581=>765,8585=>969,8592=>838,8593=>838,8594=>838,8595=>838,8596=>838,8597=>838,8598=>838,8599=>838,8600=>838,8601=>838,8602=>838,8603=>838,8604=>838,8605=>838,8606=>838,8607=>838,8608=>838,8609=>838,8610=>838,8611=>838,8612=>838,8613=>838,8614=>838,8615=>838,8616=>838,8617=>838,8618=>838,8619=>838,8620=>838,8621=>838,8622=>838,8623=>838,8624=>838,8625=>838,8626=>838,8627=>838,8628=>838,8629=>838,8630=>838,8631=>838,8632=>838,8633=>838,8634=>838,8635=>838,8636=>838,8637=>838,8638=>838,8639=>838,8640=>838,8641=>838,8642=>838,8643=>838,8644=>838,8645=>838,8646=>838,8647=>838,8648=>838,8649=>838,8650=>838,8651=>838,8652=>838,8653=>838,8654=>838,8655=>838,8656=>838,8657=>838,8658=>838,8659=>838,8660=>838,8661=>838,8662=>838,8663=>838,8664=>838,8665=>838,8666=>838,8667=>838,8668=>838,8669=>838,8670=>838,8671=>838,8672=>838,8673=>838,8674=>838,8675=>838,8676=>838,8677=>838,8678=>838,8679=>838,8680=>838,8681=>838,8682=>838,8683=>838,8684=>838,8685=>838,8686=>838,8687=>838,8688=>838,8689=>838,8690=>838,8691=>838,8692=>838,8693=>838,8694=>838,8695=>838,8696=>838,8697=>838,8698=>838,8699=>838,8700=>838,8701=>838,8702=>838,8703=>838,8704=>604,8706=>517,8707=>542,8708=>542,8710=>698,8711=>698,8712=>740,8713=>740,8715=>740,8716=>740,8719=>796,8720=>796,8721=>714,8722=>838,8723=>838,8724=>838,8725=>337,8727=>680,8728=>490,8729=>490,8730=>637,8731=>637,8732=>637,8733=>677,8734=>833,8735=>838,8736=>838,8739=>291,8740=>479,8741=>462,8742=>634,8743=>732,8744=>732,8745=>838,8746=>838,8747=>521,8748=>852,8749=>1182,8760=>838,8761=>838,8762=>838,8763=>838,8764=>838,8765=>838,8770=>838,8771=>838,8776=>838,8784=>838,8785=>838,8786=>838,8787=>838,8788=>1033,8789=>1033,8800=>838,8801=>838,8804=>838,8805=>838,8834=>838,8835=>838,8836=>838,8837=>838,8838=>838,8839=>838,8844=>838,8845=>838,8846=>838,8847=>846,8848=>846,8849=>846,8850=>846,8851=>838,8852=>838,8853=>838,8854=>838,8855=>838,8856=>838,8857=>838,8858=>838,8859=>838,8860=>838,8861=>838,8862=>838,8863=>838,8864=>838,8865=>838,8866=>860,8867=>860,8868=>940,8869=>940,8870=>567,8871=>567,8872=>860,8873=>860,8874=>860,8875=>1031,8876=>860,8877=>860,8878=>860,8879=>1031,8901=>342,8962=>764,8968=>390,8969=>390,8970=>390,8971=>390,8976=>838,8977=>513,8984=>1000,8985=>838,8992=>521,8993=>521,8997=>1000,9000=>1443,9085=>919,9115=>500,9116=>500,9117=>500,9118=>500,9119=>500,9120=>500,9121=>500,9122=>500,9123=>500,9124=>500,9125=>500,9126=>500,9127=>750,9128=>750,9129=>750,9130=>750,9131=>750,9132=>750,9133=>750,9134=>521,9167=>945,9251=>764,9472=>602,9473=>602,9474=>602,9475=>602,9476=>602,9477=>602,9478=>602,9479=>602,9480=>602,9481=>602,9482=>602,9483=>602,9484=>602,9485=>602,9486=>602,9487=>602,9488=>602,9489=>602,9490=>602,9491=>602,9492=>602,9493=>602,9494=>602,9495=>602,9496=>602,9497=>602,9498=>602,9499=>602,9500=>602,9501=>602,9502=>602,9503=>602,9504=>602,9505=>602,9506=>602,9507=>602,9508=>602,9509=>602,9510=>602,9511=>602,9512=>602,9513=>602,9514=>602,9515=>602,9516=>602,9517=>602,9518=>602,9519=>602,9520=>602,9521=>602,9522=>602,9523=>602,9524=>602,9525=>602,9526=>602,9527=>602,9528=>602,9529=>602,9530=>602,9531=>602,9532=>602,9533=>602,9534=>602,9535=>602,9536=>602,9537=>602,9538=>602,9539=>602,9540=>602,9541=>602,9542=>602,9543=>602,9544=>602,9545=>602,9546=>602,9547=>602,9548=>602,9549=>602,9550=>602,9551=>602,9552=>602,9553=>602,9554=>602,9555=>602,9556=>602,9557=>602,9558=>602,9559=>602,9560=>602,9561=>602,9562=>602,9563=>602,9564=>602,9565=>602,9566=>602,9567=>602,9568=>602,9569=>602,9570=>602,9571=>602,9572=>602,9573=>602,9574=>602,9575=>602,9576=>602,9577=>602,9578=>602,9579=>602,9580=>602,9581=>602,9582=>602,9583=>602,9584=>602,9585=>602,9586=>602,9587=>602,9588=>602,9589=>602,9590=>602,9591=>602,9592=>602,9593=>602,9594=>602,9595=>602,9596=>602,9597=>602,9598=>602,9599=>602,9600=>769,9601=>769,9602=>769,9603=>769,9604=>769,9605=>769,9606=>769,9607=>769,9608=>769,9609=>769,9610=>769,9611=>769,9612=>769,9613=>769,9614=>769,9615=>769,9616=>769,9617=>769,9618=>769,9619=>769,9620=>769,9621=>769,9622=>769,9623=>769,9624=>769,9625=>769,9626=>769,9627=>769,9628=>769,9629=>769,9630=>769,9631=>769,9632=>945,9633=>945,9634=>945,9635=>945,9636=>945,9637=>945,9638=>945,9639=>945,9640=>945,9641=>945,9642=>678,9643=>678,9644=>945,9645=>945,9646=>550,9647=>550,9648=>769,9649=>769,9650=>769,9651=>769,9652=>502,9653=>502,9654=>769,9655=>769,9656=>502,9657=>502,9658=>769,9659=>769,9660=>769,9661=>769,9662=>502,9663=>502,9664=>769,9665=>769,9666=>502,9667=>502,9668=>769,9669=>769,9670=>769,9671=>769,9672=>769,9673=>873,9674=>494,9675=>873,9676=>873,9677=>873,9678=>873,9679=>873,9680=>873,9681=>873,9682=>873,9683=>873,9684=>873,9685=>873,9686=>527,9687=>527,9688=>791,9689=>970,9690=>970,9691=>970,9692=>387,9693=>387,9694=>387,9695=>387,9696=>873,9697=>873,9698=>769,9699=>769,9700=>769,9701=>769,9702=>590,9703=>945,9704=>945,9705=>945,9706=>945,9707=>945,9708=>769,9709=>769,9710=>769,9711=>1119,9712=>945,9713=>945,9714=>945,9715=>945,9716=>873,9717=>873,9718=>873,9719=>873,9720=>769,9721=>769,9722=>769,9723=>830,9724=>830,9725=>732,9726=>732,9727=>769,9728=>896,9784=>896,9785=>896,9786=>896,9787=>896,9788=>896,9791=>614,9792=>731,9793=>731,9794=>896,9795=>896,9796=>896,9797=>896,9798=>896,9799=>896,9824=>896,9825=>896,9826=>896,9827=>896,9828=>896,9829=>896,9830=>896,9831=>896,9833=>472,9834=>638,9835=>896,9836=>896,9837=>472,9838=>357,9839=>484,10145=>838,10181=>390,10182=>390,10208=>494,10216=>390,10217=>390,10224=>838,10225=>838,10226=>838,10227=>838,10228=>1033,10229=>1434,10230=>1434,10231=>1434,10232=>1434,10233=>1434,10234=>1434,10235=>1434,10236=>1434,10237=>1434,10238=>1434,10239=>1434,10240=>732,10241=>732,10242=>732,10243=>732,10244=>732,10245=>732,10246=>732,10247=>732,10248=>732,10249=>732,10250=>732,10251=>732,10252=>732,10253=>732,10254=>732,10255=>732,10256=>732,10257=>732,10258=>732,10259=>732,10260=>732,10261=>732,10262=>732,10263=>732,10264=>732,10265=>732,10266=>732,10267=>732,10268=>732,10269=>732,10270=>732,10271=>732,10272=>732,10273=>732,10274=>732,10275=>732,10276=>732,10277=>732,10278=>732,10279=>732,10280=>732,10281=>732,10282=>732,10283=>732,10284=>732,10285=>732,10286=>732,10287=>732,10288=>732,10289=>732,10290=>732,10291=>732,10292=>732,10293=>732,10294=>732,10295=>732,10296=>732,10297=>732,10298=>732,10299=>732,10300=>732,10301=>732,10302=>732,10303=>732,10304=>732,10305=>732,10306=>732,10307=>732,10308=>732,10309=>732,10310=>732,10311=>732,10312=>732,10313=>732,10314=>732,10315=>732,10316=>732,10317=>732,10318=>732,10319=>732,10320=>732,10321=>732,10322=>732,10323=>732,10324=>732,10325=>732,10326=>732,10327=>732,10328=>732,10329=>732,10330=>732,10331=>732,10332=>732,10333=>732,10334=>732,10335=>732,10336=>732,10337=>732,10338=>732,10339=>732,10340=>732,10341=>732,10342=>732,10343=>732,10344=>732,10345=>732,10346=>732,10347=>732,10348=>732,10349=>732,10350=>732,10351=>732,10352=>732,10353=>732,10354=>732,10355=>732,10356=>732,10357=>732,10358=>732,10359=>732,10360=>732,10361=>732,10362=>732,10363=>732,10364=>732,10365=>732,10366=>732,10367=>732,10368=>732,10369=>732,10370=>732,10371=>732,10372=>732,10373=>732,10374=>732,10375=>732,10376=>732,10377=>732,10378=>732,10379=>732,10380=>732,10381=>732,10382=>732,10383=>732,10384=>732,10385=>732,10386=>732,10387=>732,10388=>732,10389=>732,10390=>732,10391=>732,10392=>732,10393=>732,10394=>732,10395=>732,10396=>732,10397=>732,10398=>732,10399=>732,10400=>732,10401=>732,10402=>732,10403=>732,10404=>732,10405=>732,10406=>732,10407=>732,10408=>732,10409=>732,10410=>732,10411=>732,10412=>732,10413=>732,10414=>732,10415=>732,10416=>732,10417=>732,10418=>732,10419=>732,10420=>732,10421=>732,10422=>732,10423=>732,10424=>732,10425=>732,10426=>732,10427=>732,10428=>732,10429=>732,10430=>732,10431=>732,10432=>732,10433=>732,10434=>732,10435=>732,10436=>732,10437=>732,10438=>732,10439=>732,10440=>732,10441=>732,10442=>732,10443=>732,10444=>732,10445=>732,10446=>732,10447=>732,10448=>732,10449=>732,10450=>732,10451=>732,10452=>732,10453=>732,10454=>732,10455=>732,10456=>732,10457=>732,10458=>732,10459=>732,10460=>732,10461=>732,10462=>732,10463=>732,10464=>732,10465=>732,10466=>732,10467=>732,10468=>732,10469=>732,10470=>732,10471=>732,10472=>732,10473=>732,10474=>732,10475=>732,10476=>732,10477=>732,10478=>732,10479=>732,10480=>732,10481=>732,10482=>732,10483=>732,10484=>732,10485=>732,10486=>732,10487=>732,10488=>732,10489=>732,10490=>732,10491=>732,10492=>732,10493=>732,10494=>732,10495=>732,10496=>838,10497=>838,10498=>838,10499=>838,10500=>838,10501=>838,10502=>838,10503=>838,10504=>838,10505=>838,10506=>838,10507=>838,10508=>838,10509=>838,10510=>838,10511=>838,10512=>838,10513=>838,10514=>838,10515=>838,10516=>838,10517=>838,10518=>838,10519=>838,10520=>838,10521=>838,10522=>838,10523=>838,10524=>838,10525=>838,10526=>838,10527=>838,10528=>838,10529=>838,10530=>838,10531=>838,10532=>838,10533=>838,10534=>838,10535=>838,10536=>838,10537=>838,10538=>838,10539=>838,10540=>838,10541=>838,10542=>838,10543=>838,10544=>838,10545=>838,10546=>838,10547=>838,10548=>838,10549=>838,10550=>838,10551=>838,10552=>838,10553=>838,10554=>838,10555=>838,10556=>838,10557=>838,10558=>838,10559=>838,10560=>838,10561=>838,10562=>838,10563=>838,10564=>838,10565=>838,10566=>838,10567=>838,10568=>838,10569=>838,10570=>838,10571=>838,10572=>838,10573=>838,10574=>838,10575=>838,10576=>838,10577=>838,10578=>838,10579=>838,10580=>838,10581=>838,10582=>838,10583=>838,10584=>838,10585=>838,10586=>838,10587=>838,10588=>838,10589=>838,10590=>838,10591=>838,10592=>838,10593=>838,10594=>838,10595=>838,10596=>838,10597=>838,10598=>838,10599=>838,10600=>838,10601=>838,10602=>838,10603=>838,10604=>838,10605=>838,10606=>838,10607=>838,10608=>838,10609=>838,10610=>838,10611=>838,10612=>838,10613=>838,10614=>838,10615=>981,10616=>838,10617=>838,10618=>984,10619=>838,10620=>838,10621=>838,10622=>838,10623=>838,10731=>494,10764=>1513,10765=>521,10766=>521,10799=>838,10858=>838,10859=>838,11008=>838,11009=>838,11010=>838,11011=>838,11012=>838,11013=>838,11014=>838,11015=>838,11016=>838,11017=>838,11018=>838,11019=>838,11020=>838,11021=>838,11022=>838,11023=>838,11024=>838,11025=>838,11026=>945,11027=>945,11028=>945,11029=>945,11030=>769,11031=>769,11032=>769,11033=>769,11034=>945,11360=>664,11361=>320,11363=>673,11364=>753,11367=>872,11368=>644,11369=>747,11370=>606,11371=>695,11372=>527,11373=>782,11374=>1024,11375=>722,11376=>782,11377=>663,11378=>1130,11379=>939,11381=>740,11382=>531,11383=>700,11385=>501,11386=>602,11387=>553,11388=>264,11389=>455,11390=>685,11391=>695,11520=>773,11521=>635,11522=>633,11523=>658,11524=>631,11525=>962,11526=>756,11527=>960,11528=>617,11529=>646,11530=>962,11531=>632,11532=>646,11533=>962,11534=>645,11535=>866,11536=>961,11537=>645,11538=>645,11539=>959,11540=>945,11541=>863,11542=>644,11543=>646,11544=>645,11545=>649,11546=>688,11547=>634,11548=>982,11549=>681,11550=>676,11551=>852,11552=>957,11553=>632,11554=>645,11555=>646,11556=>749,11557=>914,11800=>536,11807=>838,11810=>390,11811=>390,11812=>390,11813=>390,11822=>536,42564=>685,42565=>513,42566=>395,42567=>392,42576=>1104,42577=>939,42580=>1193,42581=>871,42582=>1140,42583=>875,42760=>493,42761=>493,42762=>493,42763=>493,42764=>493,42765=>493,42766=>493,42767=>493,42768=>493,42769=>493,42770=>493,42771=>493,42772=>493,42773=>493,42774=>493,42779=>369,42780=>369,42781=>253,42782=>253,42783=>253,42790=>872,42791=>634,42792=>843,42793=>754,42794=>612,42795=>560,42796=>548,42797=>531,42798=>629,42799=>610,42800=>514,42801=>513,42802=>1195,42803=>943,42804=>1226,42805=>950,42806=>1149,42807=>933,42808=>968,42809=>784,42810=>968,42811=>784,42812=>962,42813=>759,42814=>765,42815=>560,42816=>747,42817=>606,42822=>787,42823=>434,42826=>932,42827=>711,42830=>1416,42831=>999,42856=>707,42857=>610,42875=>612,42876=>478,42880=>664,42881=>320,42882=>843,42883=>644,42884=>612,42885=>478,42886=>765,42887=>560,42891=>402,42892=>275,42893=>773,42896=>875,42897=>698,42922=>872,43002=>957,43003=>694,43004=>673,43005=>1024,43006=>395,43007=>1201,62464=>664,62465=>675,62466=>724,62467=>958,62468=>675,62469=>669,62470=>735,62471=>997,62472=>675,62473=>675,62474=>1268,62475=>693,62476=>692,62477=>963,62478=>675,62479=>692,62480=>1009,62481=>756,62482=>809,62483=>758,62484=>955,62485=>691,62486=>946,62487=>690,62488=>698,62489=>692,62490=>739,62491=>692,62492=>698,62493=>676,62494=>739,62495=>895,62496=>675,62497=>785,62498=>676,62499=>675,62500=>675,62501=>732,62502=>972,62504=>904,63172=>320,63173=>602,63174=>640,63175=>644,63176=>947,63185=>500,63188=>500,64256=>708,64257=>667,64258=>667,64259=>941,64260=>986,64261=>744,64262=>916,65024=>0,65025=>0,65026=>0,65027=>0,65028=>0,65029=>0,65030=>0,65031=>0,65032=>0,65033=>0,65034=>0,65035=>0,65036=>0,65037=>0,65038=>0,65039=>0,65529=>0,65530=>0,65531=>0,65532=>0,65533=>1025,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.z b/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.z new file mode 100644 index 0000000..7051936 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/dejavuserifi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/AUTHORS b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/AUTHORS new file mode 100644 index 0000000..d369db6 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/AUTHORS @@ -0,0 +1,235 @@ +-*- mode:text; coding:utf-8; -*- + GNU FreeFont Authors + ==================== + +The FreeFont collection is being maintained by + Steve White +The folowing list cites the other contributors that contributed to +particular ISO 10646 blocks. + +* URW++ Design & Development GmbH + + Basic Latin (U+0041-U+007A) + Latin-1 Supplement (U+00C0-U+00FF) (most) + Latin Extended-A (U+0100-U+017F) + Spacing Modifier Letters (U+02B0-U+02FF) + Mathematical Operators (U+2200-U+22FF) (parts) + Block Elements (U+2580-U+259F) + Dingbats (U+2700-U+27BF) + +* Yannis Haralambous and John + Plaice + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + Greek (U+0370-U+03FF) + Armenian (U+0530-U+058F) + Hebrew (U+0590-U+05FF) + Arabic (U+0600-U+06FF) + Currency Symbols (U+20A0-U+20CF) + Arabic Presentation Forms-A (U+FB50-U+FDFF) + Arabic Presentation Forms-B (U+FE70-U+FEFF) + +* Yannis Haralambous and Wellcome Institute + + Sinhala (U+0D80-U+0DFF) + +* Young U. Ryu + + Arrows (U+2190-U+21FF) + Mathematical Symbols (U+2200-U+22FF) + Mathematical Alphanumeric Symbols (U+1D400-U+1D7FF) + +* Valek Filippov + + Cyrillic (U+0400-U+04FF) + +* Wadalab Kanji Comittee + + Hiragana (U+3040-U+309F) + Katakana (U+30A0-U+30FF) + +* Angelo Haritsis + + Greek (U+0370-U+03FF) + +* Yannis Haralambous and Virach Sornlertlamvanich + + Thai (U+0E00-U+0E7F) + +* Shaheed R. Haque + + Bengali (U+0980-U+09FF) + +* Sam Stepanyan + + Armenian (U+0530-U+058F) + +* Mohamed Ishan + + Thaana (U+0780-U+07BF) + +* Sushant Kumar Dash + + Oriya (U+0B00-U+0B7F) + +* Harsh Kumar + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + +* Prasad A. Chodavarapu + + Telugu (U+0C00-U+0C7F) + +* Frans Velthuis and Anshuman Pandey + + + Devanagari (U+0900-U+097F) + +* Hardip Singh Pannu + + Gurmukhi (U+0A00-U+0A7F) + +* Jeroen Hellingman + + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + +* Thomas Ridgeway + + Tamil (U+0B80-U+0BFF) + +* Berhanu Beyene <1beyene AT informatik.uni-hamburg.de>, + Prof. Dr. Manfred Kudlek , Olaf + Kummer , and Jochen Metzinger + + Ethiopic (U+1200-U+137F) + +* Maxim Iorsh + + Hebrew (U+0590-U+05FF) + +* Vyacheslav Dikonov + + Syriac (U+0700-U+074A) + Braille (U+2800-U+28FF) + +* Panayotis Katsaloulis + + Greek Extended (U+1F00-U+1FFF) + +* M.S. Sridhar + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Tamil (U+0B80-U+0BFF) + Telugu (U+0C00-U+0C7F) + Kannada (U+0C80-U+0CFF) + Malayalam (U+0D00-U+0D7F) + +* DMS Electronics, The Sri Lanka Tipitaka Project, and Noah Levitt + + + Sinhala (U+0D80-U+0DFF) + +* Dan Shurovich Chirkov + + Cyrillic (U+0400-U+04FF) + +* Abbas Izad + + Arabic (U+0600-U+06FF) + Arabic Presentation Forms-A (U+FB50-U+FDFF) + Arabic Presentation Forms-B (U+FE70-U+FEFF) + +* Denis Jacquerye + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + +* K.H. Hussain and R. Chitrajan + + Malayalam (U+0D00-U+0D7F) + +* Solaiman Karim and Omi Azad + + Bengali (U+0980-U+09FF) + +* Sonali Sonania and Monika Shah + + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + +* Pravin Satpute , Bageshri Salvi + , Rahul Bhalerao and Sandeep Shedmake + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + Tamil (U+0B80-U+0BFF) + +* Kulbir Singh Thind + + Gurmukhi (U+0A00-U+0A7F) + +* Gia Shervashidze + + Georgian (U+10A0-U+10FF) + +* Daniel Johnson + + Armenian (serif) (U+0530-U+058F) + Cherokee (U+13A0-U+13FF) + Unified Canadian Aboriginal Syllabics (U+1400-U+167F) + UCAS Extended (U+18B0-U+18F5) + Tifinagh (U+2D30-U+2D7F) + Vai (U+A500-U+A62B) + Latin Extended-D (Mayanist letters) (U+A720-U+A7FF) + Kayah Li (U+A900-U+A92F) + Osmanya (U+10480-U+104a7) + +* George Douros + + Gothic (U+10330-U+1034F) + Phoenecian (U+10900-U+1091F) + Byzantine Musical Symbols (U+1D000-U+1D0FF) + Western Musical Symbols (U+1D100-U+1D1DF) + Mathematical Alphanumeric Symbols (U+1D400-U+1D7FF) + Mah Jong Tiles (U+1F000-U+1F02B) + Dominoes (U+1F030-U+1F093) + +* Steve White + Glagolitic (U+2C00-U+2C5F) + Coptic (U+2C80-U+2CFF) + +* Pavel Skrylev is responsible for + Cyrillic Extended-A (U+2DEO-U+2DFF) + as well as many of the additions to + Cyrillic Extended-B (U+A640-U+A65F) + +* Mark Williamson + Made the MPH 2 Damase font, from which + Hanunóo (U+1720-U+173F) + Buginese (U+1A00-U+1A1F) + Tai Le (U+1950-U+197F) + Ugaritic (U+10380-U+1039F) + Old Persian (U+103A0-U+103DF) + + +* Primož Peterlin + maintained FreeFont for several years, and is thanked for all his work. + +Please see the CREDITS file for details on who contributed particular +subsets of the glyphs in font files. + +-------------------------------------------------------------------------- +$Id: AUTHORS,v 1.23 2010/09/11 13:24:11 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/COPYING b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/CREDITS b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/CREDITS new file mode 100644 index 0000000..0b69784 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/CREDITS @@ -0,0 +1,581 @@ +-*- mode:text; coding:utf-8; -*- + GNU FreeFont Credits + ==================== + +This file lists contributors and contributions to the GNU FreeFont project. + + +* URW++ Design & Development GmbH + +URW++ donated a set of 35 core PostScript Type 1 fonts to the +Ghostscript project , to be available +under the terms of GNU General Public License (GPL). + + Basic Latin (U+0041-U+007A) + Latin-1 Supplement (U+00C0-U+00FF) + Latin Extended-A (U+0100-U+017F) + Spacing Modifier Letters (U+02B0-U+02FF) + Mathematical Operators (U+2200-U+22FF) + Block Elements (U+2580-U+259F) + Dingbats (U+2700-U+27BF) + + +* Yannis Haralambous and John + Plaice + +Yannis Haralambous and John Plaice are the authors of Omega typesetting +system, . Omega is an extension of TeX. +Its first release, aims primarily at improving TeX's multilingual abilities. +In Omega all characters and pointers into data-structures are 16-bit wide, +instead of 8-bit, thereby eliminating many of the trivial limitations of TeX. +Omega also allows multiple input and output character sets, and uses +programmable filters to translate from one encoding to another, to perform +contextual analysis, etc. Internally, Omega uses the universal 16-bit Unicode +standard character set, based on ISO-10646. These improvements not only make +it a lot easier for TeX users to cope with multiple or complex languages, +like Arabic, Indic, Khmer, Chinese, Japanese or Korean, in one document, but +will also form the basis for future developments in other areas, such as +native color support and hypertext features. ... Fonts for UT1 (omlgc family) +and UT2 (omah family) are under development: these fonts are in PostScript +format and visually close to Times and Helvetica font families. +Omega fonts are available subject to GPL + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + Greek (U+0370-U+03FF) + Armenian (U+0530-U+058F) + Hebrew (U+0590-U+05FF) + Arabic (U+0600-U+06FF) + Currency Symbols (U+20A0-U+20CF) + Arabic Presentation Forms-A (U+FB50-U+FDFF) + Arabic Presentation Forms-B (U+FE70-U+FEFF) + +Current info: + +* Valek Filippov + +Valek Filippov added Cyrillic glyphs and composite Latin Extended A to +the whole set of the abovementioned URW set of 35 PostScript core fonts, +. The fonts are available under GPL. + + Latin Extended-A (U+0100-U+017F) + Cyrillic (U+0400-U+04FF) + + +* Wadalab Kanji Comittee + +Between April 1990 and March 1992, Wadalab Kanji Comittee put together +a series of scalable font files with Japanese scripts, in four forms: +Sai Micho, Chu Mincho, Cho Kaku and Saimaru. The font files are +written in custom file format, while tools for conversion into +Metafont and PostScript Type 1 are also supplied. The Wadalab Kanji +Comittee has later been dismissed, and the resulting files can be now +found on the FTP server of the Depertment of Mathematical Engineering +and Information Physics, Faculty of Engineering, University of Tokyo +. + + Hiragana (U+3040-U+309F) + Katakana (U+30A0-U+30FF) + + +* Young U. Ryu + +Young Ryu is the author of Txfonts, a set of mathematical symbols +designed to accompany text typeset in Times or its variants. In the +documentation, Young adresses the design of mathematical symbols: "The +Adobe Times fonts are thicker than the CM fonts. Designing math fonts +for Times based on the rule thickness of Times = , , + , / , < , +etc. would result in too thick math symbols, in my opinion. In the TX +fonts, these glyphs are thinner than those of original Times +fonts. That is, the rule thickness of these glyphs is around 85% of +that of the Times fonts, but still thicker than that of the CM fonts." +TX fonts are are distributed under the GNU public license (GPL). +. + + Arrows (U+2190-U+21FF) + Mathematical Symbols (U+2200-U+22FF) + + +* Angelo Haritsis + +Angelo Haritsis has compiled a set of Greek Type 1 fonts, available on +. +The glyphs from this source has been used to compose Greek glyphs in +FreeSans and FreeMono. + +Angelo's licence says: "You can enjoy free use of these fonts for +educational or commercial purposes. All derived works should include +this paragraph. If you want to change something please let me have +your changes (via email) so that they can go into the next +version. You can also send comments etc to the above address." + + Greek (U+0370-U+03FF) + + +* Yannis Haralambous and Virach Sornlertlamvanich + +In 1999, Yannis Haralambous and Virach Sornlertlamvanich made a set of +glyphs covering the Thai national standard Nf3, in both upright and +slanted shape. The collection of glyphs have been made part of GNU +intlfonts 1.2 package and is available under the GPL at +. + + Thai (U+0E00-U+0E7F) + +* Shaheed R. Haque + +Shaheed Haque has developed a basic set of basic Bengali glyphs +(without ligatures), using ISO10646 encoding. They are available under +the XFree86 license at . + +Copyright (C) 2001 S.R.Haque . All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL S.R.HAQUE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of S.R.Haque shall not be +used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from +S.R.Haque. + + Bengali (U+0980-U+09FF) + + +* Sam Stepanyan + +Sam Stepanyan created a set of Armenian sans serif glyphs visually +compatible with Helvetica or Arial. Available on +. On +2002-01-24, Sam writes: "Arial Armenian font is free for +non-commercial use, so it is OK to use under GPL license." + + Armenian (U+0530-U+058F) + + +* Mohamed Ishan + +Mohamed Ishan has started a Thaana Unicode Project + and among other things created a +couple of Thaana fonts, available under FDL or BDF license. + + Thaana (U+0780-U+07BF) + + +* Sushant Kumar Dash (*) + +Sushant Dash has created a font in his mother tongue, Oriya. As he +states on his web page : +"Please feel free to foreword this mail to your Oriya friends. No +copyright law is applied for this font. It is totally free!!! Feel +free to modify this using any font editing tools. This is designed for +people like me, who are away from Orissa and want to write letters +home using Computers, but suffer due to unavailability of Oriya +fonts.(Or the cost of the available packages are too much)." + + Oriya (U+0B00-U+0B7F) + + +* Harsh Kumar + +Harsh Kumar has started BharatBhasha - +an effort to provide "FREE software, Tutorial, Source Codes +etc. available for working in Hindi, Marathi, Gujarati, Gurmukhi and +Bangla. You can type text, write Web pages or develop Indian Languages +Applications on Windows and on Linux. We also offer FREE help to +users, enthusiasts and software developers for their work in Indian +languages." + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + + +* Prasad A. Chodavarapu + +Prasad A. Chodavarapu created Tikkana, a Telugu font available in Type +1 and TrueType format on . +Tikkana exceeds the Unicode Telugu range with some composite glyphs. +Available under the GNU General Public License. + + Telugu (U+0C00-U+0C7F) + + +* Frans Velthuis and Anshuman Pandey + + +In 1991, Frans Velthuis from the Groningen University, The +Netherlands, released a Devanagari font as Metafont source, available +under the terms of GNU GPL. Later, Anshuman Pandey from the Washington +University, Seattle, USA, took over the maintenance of font. Fonts can +be found on CTAN, . I +converted the font to Type 1 format using Péter Szabó's TeXtrace +program and removed some +redundant control points with PfaEdit. + + Devanagari (U+0900-U+097F) + + +* Hardip Singh Pannu + +In 1991, Hardip Singh Pannu has created a free Gurmukhi TrueType font, +available as regular, bold, oblique and bold oblique form. Its license +says "Please remember that these fonts are copyrighted (by me) and are +for non-profit use only." + + Gurmukhi (U+0A00-U+0A7F) + + +* Jeroen Hellingman + +Jeroen Hellingman created a set of Malayalam metafonts in 1994, and a +set of Oriya metafonts in 1996. Malayalam fonts were created as +uniform stroke only, while Oriya metafonts exist in both uniform and +modulated stroke. From private communication: "It is my intention to +release the fonts under GPL, but not all copies around have this +notice on them." Metafonts can be found on CTAN, + and +. + + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + + +* Thomas Ridgeway <> (*) + +Thomas Ridgeway, then at the Humanities And Arts Computing Center, +Washington University, Seattle, USA, (now defunct), created a Tamil +metafont in 1990. Anshuman Pandey from the same university took over +the maintenance of font. Fonts can be found at CTAN, +. + + Tamil (U+0B80-U+0BFF) + + +* Berhanu Beyene <1beyene AT informatik.uni-hamburg.de>, + Prof. Dr. Manfred Kudlek , Olaf + Kummer , and Jochen Metzinger + +Beyene, Kudlek, Kummer and Metzinger from the Theoretical Foundations +of Computer Science, University of Hamburg, prepared a set of Ethiopic +metafonts, found on +. They also +maintain home page on the Ethiopic font project, +, +and can be reached at . The current +version of fonts is 0.7 (1998), and they are released under GNU GPL. I +converted the fonts to Type 1 format using Péter Szabó's TeXtrace-A +program and removed some +redundant control points with PfaEdit. + + Ethiopic (U+1200-U+137F) + + +* Maxim Iorsh + +In 2002, Maxim Iorsh started the Culmus project, aiming at providing +Hebrew-speaking Linux and Unix community with a basic collection of +Hebrew fonts for X Windows. The fonts are visually compatible with +URW++ Century Schoolbook L, URW++ Nimbus Sans L and URW++ Nimbus Mono +L families, respectively, and are released under GNU GPL license. See +also . + + Hebrew (U+0590-U+05FF) + + +* Panayotis Katsaloulis + +Panayotis Katsaloulis helped fixing Greek accents in the Greek +Extended area. + + Greek Extended (U+1F00-U+1FFF) + + +* Vyacheslav Dikonov + +Vyacheslav Dikonov made a Braille unicode font that could be merged +with the UCS fonts to fill the 2800-28FF range completely. (uniform +scaling is possible to adapt it to any cell size). He also contributed +a free syriac font, whose glyphs (about half of them) are borrowed +from the "Carlo Ator" font freely downloadable from +. Vyacheslav also filled in a few missing +spots in the U+2000-U+27FF area, e.g. the box drawing section, sets of +subscript and superscript digits and capital Roman numbers. + + Syriac (U+0700-U+074A) + Box Drawing (U+2500-U+257F) + Braille (U+2800-U+28FF) + + +* M.S. Sridhar + +M/S Cyberscape Multimedia Limited, Mumbai, developers of Akruti +Software for Indian Languages (http://www.akruti.com/), have released +a set of TTF fonts for nine Indian scripts (Devanagari, Gujarati, +Telugu, Tamil, Malayalam, Kannada, Bengali, Oriya, and Gurumukhi) +under the GNU General Public License (GPL). You can download the fonts +from the Free Software Foundation of India WWW site +(http://www.gnu.org.in/akruti-fonts/) or from the Akruti website. + +For any further information or assistance regarding these fonts, +please contact mssridhar AT vsnl.com. + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Tamil (U+0B80-U+0BFF) + Telugu (U+0C00-U+0C7F) + Kannada (U+0C80-U+0CFF) + Malayalam (U+0D00-U+0D7F) + + +* DMS Electronics, The Sri Lanka Tipitaka Project, and Noah Levitt + + +Noah Levitt found out that the Sinhalese fonts available on the site + are released under GNU GPL, or, +precisely, "Public Domain under GNU Licence Produced by DMS +Electronics for The Sri Lanka Tipitaka Project" (taken from the font +comment), and took the effort of recoding the font to Unicode. + +These glyphs were later replaced by those from the LKLUG font + + +Finally the range was completely replaced by glyphs from the sinh TeX +font, with much help and advice from Harshula Jayasuriya. + + Sinhala (U+0D80-U+0DFF) + + +* Daniel Shurovich Chirkov + +Dan Chirkov updated the FreeSerif font with the missing Cyrillic +glyphs needed for conformance to Unicode 3.2. The effort is part of +the Slavjanskij package for Mac OS X, +. + + Cyrillic (U+0400-U+04FF) + + +* Denis Jacquerye + +Denis Jacquerye added new glyphs and corrected existing ones in the +Latin Extended-B and IPA Extensions ranges. + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + + +* K.H. Hussain and R. Chitrajan + +`Rachana' in Malayalam means `to write', `to create'. Rachana Akshara Vedi, +a team of socially committed information technology professionals and +philologists, has applied developments in computer technology and desktop +publishing to resurrect the Malayalam language from the disorder, +fragmentation and degeneration it had suffered since the attempt to adapt +the Malayalam script for using with a regular mechanical typewriter, which +took place in 1967-69. K.H. Hussein at the Kerala Forest Research Institute +has released "Rachana Normal" fonts with approximately 900 glyphs required +to typeset traditional Malayalam. R. Chitrajan apparently encoded the +glyphs in the OpenType table. + +In 2008, the Malayalam ranges in FreeSerif were updated under the advise +and supervision of Hiran Venugopalan of Swathanthra Malayalam Computing, +to reflect the revised edition Rachana_04. + + Malayalam (U+0D00-U+0D7F) + + +* Solaiman Karim + + Bengali (U+0980-U+09FF) + +Solaiman Karim has developed several OpenType Bangla fonts and +released them under GNU GPL on . + + +* Sonali Sonania and Monika Shah + + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + +Glyphs were drawn by Cyberscape Multimedia Ltd., #101,Mahalakshmi +Mansion 21st Main 22nd "A" Cross Banashankari 2nd stage Banglore +560070, India. Converted to OTF by IndicTrans Team, Powai, Mumbai, +lead by Prof. Jitendra Shah. Maintained by Monika Shah and Sonali +Sonania of janabhaaratii Team, C-DAC, Mumbai. This font is released +under GPL by Dr. Alka Irani and Prof Jitendra Shah, janabhaaratii +Team, C-DAC, Mumabi. janabhaaratii is localisation project at C-DAC +Mumbai (formerly National Centre for Software Technology); funded by +TDIL, Govt. of India. Contact:monika_shah AT lycos.com, +sonalisonania AT yahoo.com, jitendras AT vsnl.com, alka AT ncst.ernet.in. +website: www.janabhaaratii.org.in. + + +* Pravin Satpute , Bageshri Salvi + , Rahul Bhalerao and Sandeep Shedmake + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + Tamil (U+0B80-U+0BFF) + +In December 2005 the team at www.gnowledge.org released a set of two +Unicode pan-Indic fonts: "Samyak" and "Samyak Sans". "Samyak" font +belongs to serif style and is an original work of the team; "Samyak +Sans" font belongs to sans serif style and is actually a compilation +of already released Indic fonts (Gargi, Padma, Mukti, Utkal, Akruti +and ThendralUni). Both fonts are based on Unicode standard. You can +download the font files (released under GNU/GPL License) from +http://www.gnowledge.org/Gnoware/localization/font.htm + + +* Kulbir Singh Thind + + Gurmukhi (U+0A00-U+0A7F) + +Dr. Kulbir Singh Thind designed a set of Gurmukhi Unicode fonts, +AnmolUni and AnmolUni-Bold, which are available under the terms of GNU +Generel Public Licens from the Punjabu Computing Resource Center, +http://guca.sourceforge.net/typography/fonts/anmoluni/. + + +* Gia Shervashidze + + Georgian (U+10A0-U+10FF) + +Starting in mid-1990s, Gia Shervashidze designed many +Unicode-compliant Georgian fonts: Times New Roman Georgian, Arial +Georgian, Courier New Georgian. His work on Georgian localization can +be reached at http://www.gia.ge/. + + +* Primož Peterlin + +Primož Peterlin filled in missing glyphs here and there (e.g. Latin +Extended-B and IPA Extensions ranges in the FreeMono familiy), and +created the following UCS blocks: + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + Arrows (U+2190-U+21FF) + Box Drawing (U+2500-U+257F) + Block Elements (U+2580-U+259F) + Geometrical Shapes (U+25A0-U+25FF) + +* Mark Williamson + +Made the MPH 2 Damase font, from which + Hanunóo (U+1720-U+173F) + Buginese (U+1A00-U+1A1F) + Tai Le (U+1950-U+197F) + Ugaritic (U+10380-U+1039F) + Old Persian (U+103A0-U+103DF) + +* Jacob Poon + +Submitted a very thorough survey of glyph problems and other suggestions. + +* Alexey Kryukov + +Made the TemporaLCGUni fonts, based on the URW++ fonts, from which at one +point FreeSerif Cyrillic, and some of the Greek, was drawn. He also provided +valuable direction about Cyrillic and Greek typesetting. + +* George Douros + +The creator of several fonts focusing on ancient scripts and symbols. +Many of the glyphs are created by making outlines from scanned images +of ancient sources. + + Aegean: Phoenecian + Analecta: Gothic (U+10330-U+1034F) + Musical: Byzantine & Western + Unicode: many Miscellaneous Symbols, Miscellaneous Technical, + supplemental Symbols, and Mathematical Alphanumeric symbols, + Mah Jong, and the outline of the Domino. + +* Daniel Johnson + +Created by hand a Cherokee range specially for FreeFont to be "in line with +the classic Cherokee typefaces used in 19th century printing", but also to +fit well with ranges previously in FreeFont. Then he made Unified Canadian +Syllabics in Sans, and a Cherokee and Kayah Li in Mono! And never to be +outdone by himself, then did UCAS Extended and Osmanya.... What next? + + Armenian (serif) (U+0530-U+058F) + Cherokee (U+13A0-U+13FF) + Unified Canadian Aboriginal Syllabics (U+1400-U+167F) + UCAS Extended (U+18B0-U+18F5) + Kayah Li (U+A900-U+A92F) + Tifinagh (U+2D30-U+2D7F) + Vai (U+A500-U+A62B) + Latin Extended-D (Mayanist letters) (U+A720-U+A7FF) + Osmanya (U+10480-U+104a7) + +* Yannis Haralambous and Wellcome Institute + +In 1994, The Wellcome Library + The Wellcome Institute for the History of Medicine + 183 Euston Road, London NW1 2BE, England. +commissioned Mr. Haralambous to produce a Sinhalese font for them. + +We have received 03/09 official notice from Robert Kiley, Head of e-Strategy +for the Wellcome Library, that Yannis' font could be included in GNU +FreeFont under its GNU license. + +Thanks to Dominik Wujastyk, for providing us with feedback and contacts +to repsonsible people at the Trust. + + Sinhala (U+0D80-U+0DFF) + +* The Sinhala font project http://sinhala.sourceforge.net/ + +The Sinhala font project has taken the glyphs from Yannis Haralambous' +Sinhala font, to produce a Unicode TrueType font, LKLUG. These glyphs +were for a while included in FreeFont. + + Sinhala (U+0D80-U+0DFF) + +* Steve White + +Filled in a lot of missing characters, got some font features working, +left fingerprints almost everywhere, and is responsible for these blocks: + + Glagolitic (U+2C00-U+2C5F) + Coptic (U+2C80-U+2CFF) + +* Pavel Skrylev is responsible for + Cyrillic Extended-A (U+2DEO-U+2DFF) + as well as many of the additions to + Cyrillic Extended-B (U+A640-U+A65F) + +Notes: + +*: The glyph collection looks license-compatible, but its author has + not yet replied and agreed on their work being used in part of + this glyph collection. + +-------------------------------------------------------------------------- +$Id: CREDITS,v 1.28 2010/09/11 13:24:11 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/ChangeLog b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/ChangeLog new file mode 100644 index 0000000..1140327 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/ChangeLog @@ -0,0 +1,6325 @@ +$Id: ChangeLog,v 1.257 2010/09/19 13:15:07 Stevan_White Exp $ +2010-09-19 Stevan_White + * FreeSerif.sfd: + + Sinhala: Fixed one lookup table mistake, and a couple of glpyh + omissions, that Harshula pointed out. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Sans: Applied Daniel Johnsons improvement to capital Eng to Sans, as + described in previous commits. + + * FreeSerif.sfd, FreeSerifBold.sfd: + + Coptic: added alphabet to bold. Accent marks not working -- a mystery. + Some tweeks in medium face as well. + + glyph cleanup -- points too close, some glyphs outside bounding boxes. + +2010-09-17 Stevan_White + * FreeSerif.sfd: + + Sinhala: tightened up left side of na and derivatives. + tighened up left sides of u, lla, na, dha, ndha, nya, jnya + tightened up some of the vowel conjuncts, and left side of nna. + +2010-09-16 Stevan_White + * FreeSerif.sfd: + + Coptic: fiddled about with letter forms, striving for a kind of + consistency. + + Sinhala: Harshula noticed four incorrect combined forms. Fixed these. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Latin Extended-A: Applied Daniel Johnson's patch that made two versions + of capital Eng. His explanation: + ' + http://en.wikipedia.org/wiki/%C5%8A + + The form of capital Eng currently in all three FreeFont faces + is that used by the Sami people, resembling a capital N with a + hooked right descender. + However, the form preferred for African and Amerindian + languages resembles a tall lowercase n with a hook that almost + meets the left vertical. (See wikipedia link above for a + visual.) + + Recommend moving the existing Sami-style Eng to a PUA or + non-Unicode slot, creating African-style Eng at U+014A, and + adding a LOCL table with substitution rules for + Inari Sami (ISM), Lule Sami (LSM), + Northern Sami (NSM) and Skolt Sami (SKS). + ' + Latin Extended-B: Also in his patch: + added U+0220 (Latin Capital Letter N with long leg) + +2010-09-15 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin for Sami: Daniel Johnson's patch added alternative form of Eng for + African languages and a 'local' table for the Sami form. + + * FreeSerif.sfd: + + Sinhala: regularized kundaliya a bit. + re-named a few more ligature glyphs, for consistency + + * FreeSans.sfd: + + Put stray lookup into its proper subtable. + + Gurmukhi: improved some names of ligature glyphs, and found one + apparently doubled table entry (kagurmukhi_nuktagurmukhi.nukt now + gur_ka.nukt) + + * FreeSans.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + Various measures to fix problems FontForge Find Problems reports under + ATT, including a mass glyph rename of Sinhala ligatures. + +2010-09-15 Stevan_White + * to0ls/GenerateTrueType: + + prev. commit had one space too many + +2010-09-14 Stevan_White + * tools-- GenerateMacTT, GenerateOpenType, GenerateTrueType, checkGlyphNumbers.py, findBackLayers.py, hex_range.py, isMonoMono.py, ligatureLookups.py, nameBySlot.py, range_report.py, ranges.py, validate.py, OpenType.py: + + Added license and other tags to python files. + +2010-09-13 Stevan_White + * tools/OpenType.py: + + updated some Web links. + + * FreeMono.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Cyrillic: A few more old letters. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Supplemental Punctuation: One character for consistency with other faces. + +2010-09-12 Stevan_White + * FreeMono.sfd, FreeSans.sfd: + + Control Pictures: Added because it was easy. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Alphabetic Presentation Forms: filled out range in sans faces. + + * FreeMono.sfd, FreeMonoBoldOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBoldItalic.sfd: + + Cleared hints. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBoldOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Dozens of measures to pass general validation tests, including + . cleanup of many glyphs for extrema and self-intersection problmes + . re-naming glyphs whose PS names are too long. + . removing blank glyphs + . giving Unicode points to glyphs missing them. + + There are still a few lookup table issues in FreeSerif and FreeSans though. + + * FreeSerif.sfd: + + Re-named some of the Sinhala lookups in somewhat better way. + Control Pictures: added a bunch (but... is it worth it?) + + * tools/nameBySlot.py: + + Corrected output for high Unicode. + + * tools/checkGlyphNumbers.py: + + Made aware of special TrueType slots. + + * tools/range_report.py: + + Added a Private Use total and better explanation of totals generally. + Some code clean-up. + +2010-09-11 Stevan_White + * tools/OpenType.py: + + made not to complain about extra TrueType characters. + + * FreeSerif.sfd: + + Coptic: Widened bowl of Khei. + Deepened descenders of small letters to same depth as in Latin + Expanded bowl of Fei and fei to resemble other samples. + +2010-09-10 Stevan_White + * FreeSerif.sfd: + + Cyrillic: mostly positioning of marks for old Cyrillic alphabets + + Coptic: Replaced acoptic with something more dramatic, fiddled with + kerning, tidied some other letters + +2010-09-09 Stevan_White + * FreeSerifBold.sfd, FreeSans.sfd, FreeSerif.sfd: + + Block Elements: replaced long-missing shade blocks + +2010-09-08 Stevan_White + * tools/range_report.py: + + More explanation in output. + + * tools/range_report.py, OpenType.py: + + another consistency check + added UCAS Extended range + +2010-09-07 Stevan_White + * FreeSerif.sfd: + + Buginese: lookup tables and glyphs to re-order vowels, courtesy of + Mohammad Anwari. + + Sinhala: complete replacement of range with glyphs extracted more + directly from Yannis Haralambous' sinha TeX font (last version was + also derived from this font, but had undergone detrimental processing). + Implements "rak" glyphs using three GSUB lookup steps. + + * FreeSans.sfd: + + Osmanya: courtesy of Daniel Johnson. + + Note this script is slanted in every sample I've seen. That is + justification enough that the glyphs in this range look slated, + although the face isn't oblique. + + UCAS Extended: by Daniel Johnson + +2010-09-05 Stevan_White + * FreeSerif.sfd: + + Fix for FontForge warning (v 20090923) + + "On Windows many apps will have problems with this font's kerning, + because because 58 of its glyph kern pairs cannot be mapped to + unicode-BMP kern pairs" + + This was due to kern tables for the Musical Symbols range, which isn't + in the Unicode Basic Multilingual Plane. + + Removed this lookup. Might consider another way to position these + symbols. + +2010-08-30 Stevan_White + * FreeSerif.sfd: + + Sinhala: patch by Harshula Jayasuriya to correct the writing system + direction in some lookups. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Currency Symbols: additions and tweeking + +2010-08-24 Stevan_White + * FreeSerif.sfd: + + Sinhala: added one ligature glyph, from Harshula Jayasuriya + +2010-08-20 Stevan_White + * FreeSerif.sfd: + + Resolves class of validation problems in Sinhala: Bad Glyph Name. + + This is a FontForge bug, that appears when certain types of problems + occur in the glyph contours. Probably an arithmetic error causes some + corruption. + + Corrected missing extrema in recent Latin Extended-D range + + Sinhala: re-did previous patch using a more recent one. + Un-did some other glyph changes that didn't help much anyway. + + * FreeMono.sfd: + + Named letters in several ranges... should write a script for this... + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added full GNU copyright announcement to TT Names. + Updated Copyright date. + + * FreeSerif.sfd: + + Sinhala: Applied a patch from Harshula Jayasuriya, improving glyph + names. + I tried to tidy up some of the glyphs, but it's a big job... + + Latin Extended B: fixed one case of missing extrema + +2010-08-18 Stevan_White + * FreeSerif.sfd: + + Latin Extended-D: yet a few more easily made letters + + Latin Extended-D: made a few more letters + +2010-08-09 Stevan_White + * FreeSerif.sfd: + + Supplemental Arrows-A: completed + + Arrows: completed + +2010-08-04 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd: + + Combining Diacritics: some additions in BoldOblique, corrections in + other faces. + Several improvements to Greek letter forms in BoldOblique + +2010-08-03 Stevan_White + * FreeMonoBold.sfd: + + Arrows, a few math operators, and one more combining diacritical + + * FreeMono.sfd, FreeMonoBold.sfd: + + Added some combining diacriticals to bold, touched up some spacing + modifiers. + Minor corrections to roman. + + * FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Marks, spacing modifier letters: corrected placement of marks, + added some spacing modifier letters and combining marks. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Better Vietnamese support, using 'ccmp' and 'mark' lookup tables. + MonoBoldOblique: added Extended Latin ranges + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Vietnamese: Much adjustment of horn letters, + also general adjustement of marks + +2010-08-02 Stevan_White + * FreeSerif.sfd: + + Vietnamese: inadvertently broke the main face. This fixes it. + + * FreeMono.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Vietamese: In roman and sans, lookups are basically functional now. + Used 'ccmp' Ligature Substitution to form stacked marks (inasmuch as + glyphs for the stacked Unicode codepoints are available) + Adjusted positioning of some marks. + Named many letters and combining marks. + + roman italic. Re-designed horn of O and U. Other roman faces could also + benefit from a horn job. + + * FreeMono.sfd, FreeSerif.sfd: + + roman: correction to one math operator + mono: Mathematical Operators complete (up to some pre-5.2 Unicode version) + + * FreeMono.sfd: + + Mathematical Symbols: range nearly finished + + * tools/OpenType.py: + + Correction regarding NKo range. + + * tools/range_report.py: + + made not to complain about special TrueType slots 0x00, 0x01, 0x0D + +2010-08-01 Stevan_White + * FreeMono.sfd, FreeSerif.sfd: + + roman: corrected direction of 2 math operators + mono: added several math operators + + Worked on mark positioning for Vietnamese, Cyrillic + +2010-07-30 Stevan_White + * FreeMono.sfd: + + Reduced height of two-part Summation symbols + https://savannah.gnu.org/bugs/?23064 + + Corrected U+2626 Orthodox Cross + https://savannah.gnu.org/bugs/?27579#discussion + + * FreeSerif.sfd: + + Added some Miscellaneous Technical Symbols + +2010-07-29 Stevan_White + * FreeSerif.sfd: + + Put in some scan lines 23BA-23BD, based on 2500, as discussed in + https://savannah.gnu.org/bugs/?23064 + I still have no idea what the application for these glyphs would be... + +2010-07-17 Stevan_White + * FreeSerif.sfd: + + added mark anchors for acute, grave in cyrillic (other faces already + had them) + +2010-07-13 Stevan_White + * FreeMono.sfd: + + Made germandbls (ess-zet) a bit wider, moved a bit to left + +2010-07-10 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Resolves bug 30344: "Greek Final Sigma could be shortened" + https://savannah.gnu.org/bugs/index.php?30344 + Problem only affected roman, but touched up other faces anyway. + +2010-05-30 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin-extended-B: fiddled with some of the horizontal strokes + +2010-05-29 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin: accents on ogonek letters (for Navaho) + a little adjustment of apostrophe (Navaho, Hawaiian) + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin mark problems + * low dots in bold uneven + * ring in bold smaller than in roman, and not heavier + * apostrophe in italic too far to right (Navaho, Hawaiian) + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin: fixed problems with various marks: ogonek, hook, comma below, + some kerning, esp. of non-ascii characters + + * FreeSans.sfd, FreeSerif.sfd: + + Sans: made dot accents same height as i-dot, kerned y with comma + Both: made low comma accent lower, smaller (esp. for Romanian) + +2010-05-27 Stevan_White + * FreeSans.sfd: + + Latin: make caron of more uniform height + + Latin: i was somehow displaced, dotlessi was much too wide for Turkish + + * FreeSans.sfd, FreeSansOblique.sfd: + + Latin: made ring accent heavier, esp. for Swedish + + +2010-05-10 Stevan_White + * FreeSans.sfd, FreeSerif.sfd: + + Latin: kerning tweeks + +2010-05-09 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + As discussed in freefont-bugs mailing list, Thu, May 6, 2010 + "FreeMono affected by OS X 10.6 nested character references bug" + reduced reference nesting in multiple quote characters, as a courtesy + to Mac OS 10.6 users, who suffer from a bug. + +2010-05-04 Stevan_White + * FreeSerif.sfd: + + Latin: kerning tweeks + +2010-05-03 Stevan_White + * FreeSerifBold.sfd: + + Latin: spacing of round small letters, kerning tweeks, fiddled with + ligatures + +2010-04-17 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Daniel Johnson improved Cherokee Da + +2010-04-10 Stevan_White + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Emboldened underscore and related glyphs. Resolves issue 22999 + https://savannah.gnu.org/bugs/index.php?22999 + Low line (005F) in bold fonts do not have heavier weight + +2010-04-09 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Serif: Added Thai TTF names + +2010-04-08 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSerif.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Corrected some language names + A bit o kerning + + * FreeSerifBold.sfd: + + Fixed problem with name. This should be the same as before the revision + except for the fix. + The KDE font installer was saying this face was incorrectly named + Free Serif Bold Italic, but this wasn't quite correct. One of the other + language names said it was named Free Serif Halvfett Kursiv, which + conflicted with that language name for the real Free Serif Bold Italic. + + Regression: for some unknown reason, previous release gets built so + that my system thinks it is Free Serif Bold Italic. + This is a mystery. There is nothing about Italic in the file. + +2010-04-06 Stevan_White + * Makefile: + + Made graceful in absence of Fontforge + +2010-03-29 Stevan_White + * FreeSerifBold.sfd: + + Adjusted some accent marks, named a few characters + +2010-03-25 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + added Ukrainian TTF names + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + added bahasa indonesian TTF names + +2010-03-21 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added several TTF Names. (Need to check with native speakers.) + +2010-03-20 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Fill out TTF Names tables regarding font names + +2010-03-19 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Removed TTF Names for 'sample text' and all 'license URL' except English, + 1) in response to FontForge complain that large names tables conflict + with recent Windows patches + 2) because they are redundant and inappropriate + (Hope to post the list of sample texts elsewhere, because I like the idea.) + +2010-03-02 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Latin standard ligatures: in non-bold, promoted dlig to liga. + Put standard Dutch IJ in all; Adjusted spacing a bit + +2010-02-28 Stevan_White + * FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Cyrillic: further revision of spacing, in direction of loosening. + bold ze was strangely thin; made bolder. + +2010-02-27 Stevan_White + * FreeSerif.sfd: + + Cyrillic: reviewed spacing of whole range, generally loosened slightly + tidied a couple of ugly glyphs + +2010-02-09 Stevan_White + * FreeSerifBoldItalic.sfd: + + tweeks to kerning in Latin + + * FreeSerifBold.sfd: + + Tweeks to kerning in Latin + +2010-01-28 Stevan_White + * tools/isMonoMono.py: + + Implement FontForge handling of magic characters + .notdef, .null, nonmarkingreturn + at + 0x0000 0x0001 0x000D + +2010-01-27 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Improved magic characters for FreeMono, inserted them for other faces + https://savannah.gnu.org/bugs/index.php?28742 + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Added at 0x0000 0x0001 0x000D characters + .notdef .null nonmarkingreturn + These are NOT UNICODE they are to satisfy an essentially undocumented + "feature" of FontForge, ( in source tottf.c, AssignNotdefNull() ) + And a funny strong suggestion of TrueType fonts, that they begin with + three special characters (evidently different from encoding slots) + http://www.microsoft.com/typography/otspec/recom.htm + + FontForge looks for these glyphs in certain places and copies them. + Otherwise, apparently, it will find a glyph elsewhere (unclear how) and + copy it there, possibly resulting in something quite wrong + (such as a non-monospace font). + + The three are copied to the end of TTF fonts (only one to the end of OTF + fonts) + +2009-12-31 Stevan_White + * FreeSans.sfd: + + Tamil: deletd Unicode range due to absence of necessary ligatures + + * FreeSerifBold.sfd: + + Cyrillic tweek to spacing + +2009-12-29 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd: + + Gurmukhi: added 2 characters to complete range + + * FreeSans.sfd, FreeSerif.sfd: + + Devanagari: filled out sans, some corrections in serif + + * FreeSerif.sfd: + + Devanagari: Drew and constructed glyphs to complete range. + +2009-12-28 Stevan_White + * OpenType.py: + + Added/corrected some ranges + +2009-12-27 Stevan_White + * tools -- CheckConformance.pl, GenerateTrueType, MES-1.lst, MES-1.txt, MES-2.lst, MES-2.txt, MES-3B.lst, MES-3B.txt, WGL4.lst, mes-list-expand.pl: + + disabled build of Mac TT + + * tools/ligatureLookups.py: + + better sanity check + + * tools/range_report.py: + + more generic title + + * tools/OpenType.py: + + correction to Tamil + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Resolves bug #23049 + Replacement character (U+FFFD) not properly styled + https://savannah.gnu.org/bugs/index.php?23049 + + * FreeSerif.sfd: + + Devanagari: added letters, completing Unicode range + + * FreeSerif.sfd: + + Tamil: added 2 monster glyphs, completing range + (0bc1-2 still questionable) + +2009-12-26 Stevan_White + * FreeSerif.sfd: + + Indic ranges: named lots of characters + Tamil: corrected and added a few letters + + Tamil: added digits + + Tamil: a few more symbols. Only a couple of monster signs still + missing, and a couple of marks seem just wrong... + + Malayalam: completed Unicode range, also moving some Chillu letters from + Private Use area to Unicode, and re-establishing ligatures + + * FreeSans.sfd: + + Tamil: completed digits, added some other chars + +2009-12-25 Stevan_White + * FreeSans.sfd: + + Indic ranges, esp. + Devanagari: added several new Unicode (not yet complete) + tidied letters + Bengali: tidying, made some refs + +2009-12-24 Stevan_White + * FreeSans.sfd: + + Indic ranges: named most of the Unicode characters + Tried to improve a few bad names for ligatures + in Private Use Area + Made a few references: not clearly an improvement. + This stuff is still a mess... + + Devanagari: added an obviously missing nukta ligature + + Gujarati: added some subvocalic letters for Sanskrit. Quality is low. + + Filled out Geometric Shapes. + + * tools/ligatureLookups.py: + + fixed syntax error + + * tools/LigatureList.pl: + + no longer relevant. + +2009-12-23 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + cosmetic re-name and re-order of lookups + + * tools/OpenType.py: + + removed links to disappeared web pages + +2009-12-22 Stevan_White + * FreeMonoOblique.sfd: + + Diagonal Fractions lookup didn't make much sense in mono anyway, + much less in just one style. + +2009-12-20 Stevan_White + * FreeSerif.sfd: + + split Diagonal Fractions lookup into two tables + + re-encoded some characters + adjusted some marks + corrected two wrongly-placed glyphs in Phonetic Extensions Supplement + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + General Punctuation: Got rid of deprecated subrange 0x206A-0x206F + + * tools/range_report.py: + + corrected script name + + * tools/OpenType.py: + + numerous changes, some reflecting changes to Unicode standard + +2009-12-14 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Unicode 5.2 corrections of Abkhasian letters from Daniel Johnson. + Got rid of some old glyph names. + +2009-12-06 Stevan_White + * FreeSans.sfd, FreeSansOblique.sfd: + + Cherokee: fixed previous commit of a partial, and old range in + medium weight + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Cherokee, courtesy of Daniel Johnson. + +2009-11-20 Stevan_White + * FreeSans.sfd: + + New glyphs for Unified Canadian Aboriginal Syllabics as defined in Unicode 5.2 + by Daniel Johnson + +2009-11-14 Stevan_White + * FreeSerif.sfd: + + Resolves bug #27842: FreeSerif U+1F016 (Mahjong Tile Seven of Bamboos) Wrong + https://savannah.gnu.org/bugs/?27842 + has one extra bamboo in it for a total of eight. + The bamboo on the top left needs to be removed + + Resolves bug #27579: Orthodox cross has wrong glyph + http://savannah.gnu.org/bugs/?27579 + U+2626 Orthodox Cross should slope downwards from left to right. + +2009-11-13 Stevan_White + * FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Cyrillic: corrections to Abkhazian letters by Daniel Johnson + +2009-11-05 Stevan_White + * FreeSerif.sfd: + + Cyrillic: corrections to Abkhazian letters by Daniel Johnson + +2009-10-16 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Cyrillic: tweeks to brev, based on Unicode 5.2 samples + +2009-10-08 Stevan_White + * FreeSerif.sfd: + + Currency Symbols: tidied + + Number Forms: three new vulgar fractions + + Currency Symbols: added "Tenga" of Kazakhstan + + Latin Extended: corrected a couple of wrong bearings + some fiddling with Vienamese letters with hook + +2009-10-01 Stevan_White + * FreeSerif.sfd: + + added missing accent + +2009-09-17 Stevan_White + * FreeSerif.sfd: + + Latin kerning: gave qj positive kerning (it must happen sometimes) + + Latin kerning: differentiated grave and dieresis vowels in some combos. + (also, adieresis hadn't been kerned at all...) + + Made ref of one Sinhala letter + +2009-07-30 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSerif.sfd: + + kerning + +2009-07-26 Stevan_White + * FreeSansBold.sfd: + + kerning + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + added some space in diaeresis + did some kerning + + * FreeSansBold.sfd: + + Revert serious mistake with previous commit: had somehow set splines + quadratic. + Here, the GaspTable from that commit is preserved, + However there were evidently numerous other changes that weren't + documented, and these are lost. + +2009-07-12 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added GASP tables for control of hinting/smoothing (anti-alising) of + TrueType. + Now the values are better suited to the EM size of the fonts. + Further adjustment (based say on stem width) might still be profitable. + + * FreeSans.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + More tweeks on accents, especially Maltese letters. + +2009-07-11 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Maltese Hbar, hbar, Improved, made more consistent. + + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin: various corrections and tweeks for consistency in accented letters. + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + more space to accent on lcaron + tightened DZ etc ligatures + in SerifItalic faces made references etc in Spacing Modifiers and Combining + further kerning + + * FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + kerning + Sans: decided dots and some other marks needed more room. + +2009-07-10 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + IPA. Phonetics: tweeks + + * FreeSerif.sfd: + + Tweeked some math symbols + + * FreeSans.sfd, FreeSansOblique.sfd: + + Letterlike: additions + + * FreeMonoOblique.sfd: + + IPA + + * FreeSerifBoldItalic.sfd: + + Another IPA symbol + + * FreeSerifBoldItalic.sfd: + + IPA and Spacing Modifier Letters: added a few + +2009-07-09 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Latin: various horizontal spacing and positioning issues + Replaced Tz and tz ligatures with the originals of Danial Johnson. + (range is "Mayanist" and despite Unicode samples, current usage + uses normal z in glyph) + Put stylized Tz tz in a discretionary ligature lookup. + +2009-07-08 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Cyrillic yi_yi Ukrainian ligature + Latin various pointwise cleanup, made some references, horizontal adjustments + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Cyrillic: Special ligature for Ukrainian yi_yi, also some kerning + +2009-07-07 Stevan_White + * FreeSerif.sfd: + + Latin: kerning; made accents on i tighter to avoid collisions + +2009-07-05 Stevan_White + * FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + Made lookup tables for Dutch IJ + + Re-did Dutch digraph IJ in bold faces as "broken-U", because I + thought it was cool and nobody was there to stop me. + + * FreeSerif.sfd: + + Corrected ligatures Tz tz; put them in special lookup + Latin Extended Additional: added medevalist letters, completing range + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Cyrillic: added yi_yi ligature for Ukrainian in roman. Not sure + if it's right. + Latin: kerning. Added longs_t ligature, and historic ligature tables + IPA: in bolditalic, added a letter or two + + * FreeSerif.sfd: + + Kerning for hbar + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Kerning for Western Slavic languages + Added a couple of IPA to BI + +2009-07-04 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Combined letters ae, oe, ij had incorrect horizontal spacing + + * FreeMono.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Combining Diacritical Marks for Symbols: additions and fiddling. + Also related circles, arrows. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Letterlike Symbols: various additions and adjustments + Number Forms: Completed range in serif roman. Adjusted spacing + of Latin numerals in serif faces. + Diacritics for Symbols: various additions + Geometric shapes: thought it best for circle to be round even in + oblique faces. It's a choice of course. + Added to several faces. + Made all to pass tests (except Sinhala) + +2009-07-02 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Letterlike Symbols: more additions, adjustments + Also fiddled with some math symbols in Sans faces + + * FreeSans.sfd, FreeSansOblique.sfd: + + Letterlike Symbols; additions and adjustments + Note: Pango is rendering very strangely: many glyphs in the font are + being stolen from some other fonts instead: All the script in + blackletter, and some others as well. Is there a cache in the system + somewhere? Or what? + +2009-06-28 Stevan_White + * FreeSerif.sfd: + + Modified glyph. From patch by Pavel Skrylev. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Superscritps and Subscripts: made glyphs to complete range in all faces + + * FreeSans.sfd, FreeSansOblique.sfd: + + Added some combining marks for symbols and Blackboard Bold letters to + letterlike symbols + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Various adjustments regarding superscript and subscript characters in + several ranges. + +2009-06-27 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + More fiddling with super/subscripts + Tidied points in Serif to make fontforge "wrong direction" complaint + in scaled reference go away. + Made some other references in basic latin ranges. + + * FreeSerif.sfd: + + Superscripts and subscripts (in various ranges): tried to systematize + sizing and vertical placement. Note: most letters are still simply + scaled. + This is practical maintenance-wise, but isn't typographically optimal. + + * FreeSerif.sfd: + + Cyrillic Extended A: altered mark positions + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Phonetic Extensions: various corrections and fiddling + Changed Blues values in FreeSerifBoldItalic + +2009-06-25 Stevan_White + * FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + Combining Diacritical Marks for Symbols: added to bold oblique + added placement mark to many + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + IPA Extensions: completed in bold and boldoblique, completing range for face. + + All faces: deleted 'cvt', 'prep', 'fpgm' TrueType tables, because + FontForge was complaining about them (legacy hinting that could + interfere, possibly lower quality code, etc) + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + IPA Extensions: made several characters + + * FreeSerif.sfd, FreeSerifBold.sfd: + + IPA Extensions: completed range in bold + +2009-06-23 Stevan_White + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Spacing Modifiers: added a couple + Combining Diacriticals: brought range to par with FreeSans + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Same correction as for FreeSerif + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Corrected descender of 027f + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + IPA and related: made lots of additional glyphs + +2009-06-22 Stevan_White + * FreeSerif.sfd: + + Latin: further clean-up + +2009-06-21 Stevan_White + * FreeSerif.sfd: + + General pointwise clean-up of Latin and Latin Extended. + No visible changes were intended besides changed policy on + horizontal placement of some horned letters + + * FreeSerif.sfd: + + Latin Extended-C: constructed glyphs to complete range. + Latin Extended-D: constructed a bunch of glyphs; some related changes elsewhere. + +2009-06-20 Stevan_White + * FreeSerif.sfd: + + Latin Extended-C: added most of range + + Modifier Tone Letters: added glyphs to complete range. + This should also complete all the IPA/Phonetic extenseions ranges. + + Phonetic Extensions Supplement: added letters completing range + Note the superscript ones are simply scaled, so stem width is + not quite right... + +2009-06-19 Stevan_White + * FreeSerif.sfd: + + Phonetic Extensions: made letters to complete range + +2009-06-18 Stevan_White + * FreeSans.sfd: + + IPA Extensions: clean-up, fix some horizontal spacing issues + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Some glyph problems clean-up, made to pass validate (BlueValues) + +2009-06-17 Stevan_White + * FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + IPA Extensions: Improved spacing and horizontal positioning + + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Georgian: added missing letter + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + IPA: made curls on some glyphs more distinct. + note horizontal placement in BO is chaotic--needs work + +2009-06-14 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: various experiments with lookups. + calt: should have allowed isolatef forms of combining marks, + (but can't see application support...) + aalt, hist: for alterntative characters + Added some historical glyphs + Math Alphanumeric: some clean-up. + +2009-06-11 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: various tweeks. Failed attempt to use 'isol' + lookup to put isolated combining marks above the baseline. + + More fiddling with mark placement, strengthened ornamental endings + + mkmk positioning of augmentation dot + +2009-06-10 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: combining marks above and below notes now working + somewhat + +2009-06-08 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: more adjustments of size and placement + +2009-06-07 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: mostly work on lookups. Made tablature symbols + thinner. + +2009-06-06 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: more fiddling with sizes and positions + + Byzantine Musical Symbols: minor clean-ups + + Fixed some ATT problems with 'kern' lookups for Cyrillic + +2009-06-05 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: many changes to glyph positions and shapes + +2009-05-28 Stevan_White + * FreeSerif.sfd: + + Cyrillic: additions and re-naming by Pavel Skrylev. + * Added Cyrillic-B Ext glyphs, and Cyrillic-A Ext glyphs. + * Added cyr_above anchor to all cyrillic glyphs, some glyphs + was changed + * To all Cyrillic letters I've given proper names based on old + Slavic language which is source of all modern slavic languages. + + (the naming is contentious, and there are a couple of technical + problems...under consideration) + +2009-05-27 Stevan_White + * FreeSerif.sfd: + + Musical Symbols: + Scaled up accidentals a bit. + Reduced width of repeated figure marks + Reduced width of caesura even more + Tried to implement mark positioning...not working everywhere + made references + +2009-05-26 Stevan_White + * FreeSerif.sfd: + + Made all letterlike glyph parts more like those from Serif and + Serif Italic. + (Except for Ped. U+1d1ae) + +2009-05-20 Stevan_White + * FreeSerif.sfd: + + Corrected DPOS lookup for Music range to be in script 'musi' + + Western Musical Symbols: fiddling + Miscellaneous Symbols: re-design of musical flat symbol. + +2009-05-19 Stevan_White + * FreeSerif.sfd: + + Western Musical Symbols: Revised horizontal placement of notes. + Altered many combining symbols to be more like Unicode sample. + Corrected many symbols that should be spacing but had 0 width. + Raised many symbols that were far lower than in Unicode + samples. + +2009-05-18 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + U+0354 and U+0355 (combining left/right arrowhead below) were switched + +2009-05-11 Stevan_White + * FreeSans.sfd, FreeSerif.sfd: + + Hebrew: Moved vowel below mark for esh (05e8) and dalet (05d3) as + recommended in bug report #25887 + "FreeSans Hebrew most nonspacing marks are spacing" + https://savannah.gnu.org/bugs/?25887 + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Put PS Private BlueScale back to default. (Was really experiment to + alleviate excessive overshoot. Didn't work and FontForge complained.) + + * FreeSerif.sfd: + + Geometric Shapes: made two 'bullet' shapes to be consistent with 'bullet' + Blues values: put Std VH W into Stem Snap values + + * FreeSans.sfd: + + More Geometric Shapes. also worked on character widths. + +2009-05-09 Stevan_White + * FreeSans.sfd: + + More Geometric Shapes + +2009-05-02 Stevan_White + * FreeSansOblique.sfd: + + Had misplaced Tifinagh range. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + The rest of Tifinagh, courtesy of Daniel Johnson. + + a few adjustments. + +2009-05-01 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Explicitly disabled PS Private dictionary entry BlueFuzz + as recommended in Adobe Type 1 Font Format, sect. 5.8. + + * FreeSans.sfd: + + Tifinagh range, courtesy of Daniel Johnson. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Adjusted PS Private values according to understanding of + Adobe Type 1 Font Format (Ch. 5, Private Dictionary) + + Not completely clear on BlueScale, and StemSnap values are still a + mystery. (FontForge 'guess' seems to do little or nothing, and I + don't know where these values came from) + + Original hope was to improve appearance of overshoot in Sans, but it + seems that my renderers ignore this information. + + * tools/ranges.py: + + Corrections for Georgian and Tifinagh ranges + +2009-04-28 Stevan_White + * FreeSans.sfd: + + More Geometric Shapes + +2009-04-27 Stevan_White + * FreeSans.sfd: + + Added U+25D0-3 (half-black circles) + Note the Geometric Shapes range is still in poor shape in Sans. + +2009-04-25 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Serif: fiddled with mark positioning in Cyrillic and Glagolitic + Non-roman faces: Added 'mark' positioning for Cyrillic + +2009-04-14 Stevan_White + * FreeSerif.sfd: + + Cyrillic Extended-B more additions. Now has all except payerok + punctuation and Old Abkhasian letters. + +2009-04-13 Stevan_White + * FreeSerif.sfd: + + Cyrillic Extended-B a few more letters + + * FreeSans.sfd, FreeSerif.sfd: + + kerning: tweeks + +2009-04-11 Stevan_White + * FreeMono.sfd, FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Georgian: additions and improvements. + Serif now has full compliment. + Note uppercase is questionable, being a simple scaling... + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Latin Extended-D added u+a788-c + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin Extended-D + corrected slots for Mayanist letters in roman + added modifier letters u+a788-c + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Latin Extended-D Mayanist letters by Daniel Johnson + + * tools/ranges.py: + + Corrected Vai range + +2009-04-10 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Letterlike Symbols: additions and improvements + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Letterlike Symbols: additions, improvements + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Reconsidered numeral 1. Made angle more like other angles in font. + +2009-04-09 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Increased angle of hook on numeral 'one', to improve distinction from + letter 'l' at small point sizes. (Noticed that on some systems, even + at 12 point the distinction had not been obvious.) + +2009-03-29 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + General Punctuation: Adjust position, shape of quotes, fiddle with + others. + + * FreeSans.sfd: + + Kerning: Had grouped letters with round bowls on left (e,c,0,d,q) + together, but now see the original Nimbus fonts had left bounds that + vary by 10 EM or more, which is quite visible. I am correcting a + flaw in the original font in a very difficult and complex way. + It would be much better to make the bounds of these similar letters + to be equal. + To do: same for punctuation, copy to other styles of Sans. + + * FreeSerif.sfd: + + Kerning tweeks. + +2009-03-22 Stevan_White + * FreeMono.sfd: + + clean-up of some of the basic Nimbus glyphs + + * FreeSans.sfd, FreeSerif.sfd: + + Hebrew: more work on lookups regarding vowel marks + + * FreeSans.sfd: + + Hebrew: vowel mark positioning + +2009-03-16 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + re-named some lookup tables (Sinhala, Hebrew) + +2009-03-15 Stevan_White + * FreeSerif.sfd: + + Georgian: point-wise cleanup + note: doubts about spacing and glyph bounds in capitals + + * FreeSerif.sfd: + + Greek Extended: corrected u+1fd3 + +2009-03-13 Stevan_White + * FreeSerif.sfd: + + Cyrillic (and extensions) various tweeks to old Cyrillic letters, + spacing. + +2009-03-07 Stevan_White + * FreeMonoBoldOblique.sfd: + + correct direction braceleft + + * FreeSerif.sfd: + + Glagolitic: tweeks + + * FreeMonoBold.sfd: + + correct direction of braceleft + +2009-03-05 Stevan_White + * FreeSerif.sfd: + + Glagolitic: more fiddling. Raised small letters so their tops are + even with the tops of the big letters, which is more in line with + their "hanging" nature, and with most manuscripts. + +2009-03-04 Stevan_White + * tools/ranges.py: + + ranges for Sinhala + +2009-03-03 Stevan_White + * FreeSerif.sfd: + + Glagolitic: More tweeks. Added Djervi (I think) + +2009-03-02 Stevan_White + * FreeSerif.sfd: + + Glagolitic: tweeks + +2009-02-28 Stevan_White + * FreeSerif.sfd: + + Sinhala: replaced U+0DD0-1 with ones from sinha font + + Glagolitic: Additions, improvements (Note: the characters still missing + I simply haven't yet recognized in a manuscript or found in an on-line + HTML encoded text. I would like to see real ones rather than copying + out of the Unicode samples.) + + Cyrillic Extended-B: Assembled Monograph Uk, uk. See discussion + http://en.wikipedia.org/wiki/Uk_(Cyrillic) + +2009-02-27 Stevan_White + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made braces more distinctive. + +2009-02-26 Stevan_White + * FreeMono.sfd: + + ASCII: Accentuated braces (for better readability in terminals) + +2009-02-24 Stevan_White + * FreeSerif.sfd: + + Cherokee: Daniel improved U+13d2 + + Sinhala: Copied most Unicode glyphs directly from Yannis Haralambous + sinhala MetaFont files. These are: all but 0dd0 0dd1 0df4. + Gave Unicode characters names, based on a transliteration scheme from + Harshula. + The auxiliary Sinhala are all from the LKLUG font. + +2009-02-23 Stevan_White + * FreeSerif.sfd: + + Copied glyphs from LKLUG font, as discussed with Harshula Jayasuriya. + http://sinhala.cvs.sourceforge.net/viewvc/sinhala/sinhala/fonts/ + + This font is derived from a Metafont font: This package was + originally developed by Yannis Haralambous (Yannis.Haralambous at + univ-lille1 fr), with funding from the Wellcome Institute for the + History of Medicine, 183 Euston Road, London NW1 2BE, England (Contact + person: Dominik Wujastyk (D.Wujastyk at ucl ac uk)), which is using + the font in its Catalogue of Sinhala Manuscript. The original package + was available by ftp at ftp.bcc.ac.uk in: + /pub/users/ucgadkw/indology/software/sinhala1-TeX.zip + + The hope is to eventually pull glyphs directly from the original MF + files. + +2009-02-21 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + tidying previous commits + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Serif: Revised letter spacing in Armenian. + Serif roman: Added initial version of Glagolitic (by me) + +2009-02-18 Stevan_White + * FreeSerif.sfd: + + Armenian: spacing changes + Sinhala: deleted range, for usual reasons: + It doesn't even contain the full set of Unicode letters, and Sinhala + requires auxiliary characters and lookup tables for proper + representation. + (Found what I think are the originals at + http://www.mettanet.org/fonts/ ) + +2009-02-12 Stevan_White + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + SerifBoldItalic - Armenian oblique from Daniel Johnson's bold version + Added ligatures (by Daniel) and lookup tables. + + * FreeSerifItalic.sfd: + + Armenian: Made oblique version of Daniel Johnson's range + + * FreeSerifBold.sfd: + + Armenian by Daniel Johnson + + * FreeSerif.sfd: + + Improvements of a couple of Armenian characters, from Daniel Johnson. + + * tools-- GenerateOpenType, GenerateTrueType, checkGlyphNumbers.py, findBackLayers.py, isMonoMono.py, range_report.py, ranges.py, validate.py: + + Changed /usr/local/bin/fontforge to /usr/bin/fontforge + (to work with the update-alternatives mechanism, whereby a link is made + /usr/bin/fontforge -> /etc/alternatives/fontforge -> preferred binary ) + +2009-02-07 Stevan_White + * FreeSerifItalic.sfd: + + Latin: Kerning. Fixed some missing extrema + Made some more delicate italic IPA letters + +2009-02-06 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Latin: kerning + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Adjusted ff etc ligatures in Italic + +2009-02-05 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Thai sample text (means something like + Mr Sangkapan who sells bottles was picked up by the police because he + stole the wash of ms. .....) + +2009-02-04 Stevan_White + * FreeSans.sfd: + + Vai range, by Daniel Johnson + + * FreeSerifBoldItalic.sfd: + + Latin: kerning + +2009-02-03 Stevan_White + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Latin: kerning + +2009-01-26 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made nu distinct from v. + Remedies bug #25376: https://savannah.gnu.org/bugs/?25376 + greek letter 'nu' [U+03bd] same as latin 'v' [U+0076] in FreeMono + +2009-01-22 Stevan_White + * FreeSans.sfd: + + Kerning. Need to copy to other faces + + Arabic ligatures: turned on "ignore combining marks" on advice of + Khaled Hosny. + +2009-01-20 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Drew U+1e9C-F in Latin Extended Additional (including capital ess-zet) + +2009-01-19 Stevan_White + * FreeMono.sfd: + + Update of Kayah Li from Daniel Johnson + +2009-01-18 Stevan_White + * FreeSerif.sfd: + + Latin: kerning + + Coptic: Laula to be same height as Phi Psi (higher than other letters). + Dei and dei also to be higher letters, adjusted widths too. + + Unified Canadian Aboriginal Syllabics: moved the non-Unicode letter + part glyphs ucas.ring ucas.horizline ucas.shortvert ucas.righttack + ucas.lefttack to the Private Use area + 59664-59668 + Technique was to edit the SFD file directly: It seems the encoding + slot for the glyph is the first field of the "Encoding:" line for + the character. + + * FreeMono.sfd: + + Cherokee: improvements from D. Johnson. + +2009-01-17 Stevan_White + * FreeSerif.sfd: + + Cyrillic: Kerning. + + Re-linked Ezh/Yogh and re-made reversed Ezh. + +2009-01-16 Stevan_White + * FreeSerif.sfd: + + Fiddled with Coptic glyphs: Longer tail on Shei, less droopy Alfa. + Made Armenian Aiw to be a link to Phi (on Daniel Johnson's advice ) + + * FreeMono.sfd: + + Kayah Li by Daniel Johnson + + Cherokee, by Daniel Johnson + + Made references of some Armenian punctuation, + Made primereversed to be really the reverse of prime. + + Removed hints + + * tools/ranges.py: + + corrected Unified Canadian Aboriginal Syllabics + +2009-01-13 Stevan_White + * FreeSans.sfd: + + named some Armenian letters + + * FreeSerif.sfd: + + Armenian range by Daniel Johnson, with ligatures. + +2009-01-12 Stevan_White + * FreeSerif.sfd: + + Coptic: Raised top of laula above common top, as it appears in most + other fonts. Makes it easier to distinguish from alfa. + A little more space around Iauda and iauda. + Kerned Dei. + +2009-01-11 Stevan_White + * FreeSerif.sfd: + + Coptic: Made capital Alpha is distinct in printed form. + Made more angular vida with flattened top and bottom. + Made small hori more curvy. + More fiddling with Hori, made Kapa much wider. + + Reduced width of small letter straight stems to match small letters + in Latin. + Kerning for capitals. + + Revised: + Added a few dialectic letters and kai symbol + Removed many "ear" serifs, preferring a slashing continuation of + long decenders and diagonals as in some manuscripts + Made Kai and kai not to go below baseline + Made Psi a little broader + Made small khei distinct from cap, + Revised Hori and hori. + Some of this toward https://savannah.gnu.org/bugs/?25289 + + Greek: Made archaic letters u+0370-3 (understand are used for + old numbering) + +2009-01-08 Stevan_White + * FreeSerif.sfd: + + Various alterations to Coptic: Re-worked K and M, added kern table. + +2009-01-07 Stevan_White + * FreeSans.sfd: + + Daniel Johnson's fix of TT reference transformation bug in + Unified Canadian Aboriginal Syllabics, + +2009-01-06 Stevan_White + * FreeSans.sfd: + + Unified Canadian Aboriginal Syllabics range, courtesy of Daniel Johnson. + +2009-01-04 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added 2009 to copyright dates + + * FreeSans.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added some TrueType names + +2009-01-04 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added 2009 to copyright dates + + * AUTHORS, CREDITS: + + Removed Glagolitic range author + + * FreeSans.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added some TrueType names + +2009-01-01 Stevan_White + * FreeSerif.sfd: + + Removed Glagolitic range, since have not (yet) received OK from author. + + Added some TrueType Names + +2008-12-31 Stevan_White + * COPYING: + + Updated license to GPL v3 + +2008-12-30 Stevan_White + * FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Oblique versions of Daniel Johnson's Cherokee. + + * FreeSerifBold.sfd: + + Cherokee Bold range from Daniel Johnson. + +2008-12-27 Stevan_White + * isMonoMono.py: + + 900 EM -> 800 + + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd: + + Made glyphs to lie between -200 and 800 EM + + * isMonoMono.py: + + check that glyphs lie in vertical bounding boxes + + * FreeMono.sfd, FreeSerif.sfd: + + Extensible bracket characters didn't exactly line up. Fixed. + Mono: a couple of glyphs had gotten out of their bounding boxes again. + + * tools/isMonoMono.py: + + 900 EM -> 800 + + check that glyphs lie in vertical bounding boxes + +2008-12-26 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Final pre-release cleanup + + * FreeSerif.sfd: + + Buginese vowel u was misnamed + + * FreeMono.sfd: + + Yatcyrillic somehow was a mark character ... fixed + + * FreeSans.sfd, FreeSansOblique.sfd: + + Had to un-link references in + Sans: uni02B2, uni02B5 + SansOblique: uni0363 + because validation of the TTF file said the glyph + "is drawn in wrong direction" + I would have preferred to have understand this... + + * Makefile: + + Added quick test for FontForge version. + + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd: + + Removed kerning tables (?? what were they doing here anyway??) + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Kerning tables for Thai. + Handles one common case: short letter followed by a tall one with + an overhang to the left. + + * tools/ranges.py: + + some changes to explanatory text + +2008-12-25 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + More putzing with kerning tables + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Copied kerning classes + Serif -> SerifBold + SerifItalic -> SerifBoldItalic + Sans -> SansOblique SansBold SansBoldOblique + Some associated naming of characters, etc + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Additions and correction in Spacing Modifier letters and IPA Extensions + +2008-12-23 Stevan_White + * FreeSerif.sfd: + + Applied patch to Cherokee range + +2008-12-20 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Fixed kern classes that end in space (crashes FontForge) + + * FreeSerifItalic.sfd, FreeSerif.sfd: + + kerning + +2008-12-19 Stevan_White + * FreeSerifItalic.sfd: + + kerning + + * FreeSerif.sfd: + + kerning + Some adjustments to Glagolitc spacing, mark positioning + +2008-12-18 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + kerning + +2008-12-17 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + kerning + +2008-12-11 Stevan_White + * FreeSans.sfd, FreeSerif.sfd: + + kerning + +2008-12-10 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd: + + kerning + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd: + + kerning + +2008-12-09 Stevan_White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + kerning + +2008-12-08 Stevan_White + * FreeSansOblique.sfd: + + Slanted small final sigma. Remedies + bug #24993: U+03C2 "Greek small letter final sigma" not slanted in + Free Sans Oblique + https://savannah.gnu.org/bugs/index.php?24993 + +2008-12-07 Stevan_White + * FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + kerning, etc + +2008-12-06 Stevan_White + * FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd: + + kerning + Tweek in Sans having to do with addition of Latin Extended + +2008-12-05 Stevan_White + * FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + Tweeks to Latin Extended Additional + + * FreeSansBoldOblique.sfd: + + Added Latin Extended Additional range + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Extra space at end of kern class names has bad effect on FornForge + script that try to run through kern classes. Some FontForge call + corrupts memory. + Got rid of extra space. + +2008-12-02 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Replaced U+0387 GREEK ANO TELEIA with top dot of colon. + See bug #24987: U+0387 GREEK ANO TELEIA too low + https://savannah.gnu.org/bugs/index.php?24987 + + * FreeSerif.sfd: + + more kerning in Cyrillic (broke into two tables of classes) + +2008-12-01 Stevan_White + * FreeSerif.sfd: + + tweeks to kernin + + * FreeSerifBoldItalic.sfd: + + kerning + +2008-11-30 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Kerning for Latin and Cyrillic fairly complete in Serif faces. + Complete in sense that it looks pretty good under Pango for + English French German Spanish Polish Czech Latvian + But have not done Vietnamese (will require many more entries). + I adjust roman and italic, then copy tables by hand to bold and + bolditalic. + Misgiving: bolditalic is much too crammed + Overall, I may have over-kerned. (A difficult temptation to master.) + + * FreeSerif.sfd, FreeSerifItalic.sfd: + + kerning + + * FreeSans.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + kerning + In Serif, modified widths of some extended latin glyphs + +2008-11-29 Stevan_White + * FreeSerif.sfd: + + Broke Latin kerning subtable into four, hoping it will be easier to + understand and maintain. + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerif.sfd, + FreeSerifItalic.sfd, FreeSerifBold.sfd, FreeSansOblique.sfd, + FreeSans.sfd: + + kerninig + +2008-11-28 Stevan_White + * FreeSans.sfd, FreeSerif.sfd: + + more kerning; + made guillemot narrower + + * FreeSansOblique.sfd, FreeSerif.sfd: + + previous commit was incomplete + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Adjusted width of single quotes (and apostrophe) to be "punctuation width" + More fiddling with kerning. + +2008-11-27 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd: + + much fiddling with kerning + +2008-11-26 Stevan_White + * FreeSerifBold.sfd: + + Basic kerning, named main Cyrillic letters + + * FreeSerifItalic.sfd: + + Basic Cyrillic kerning + + * FreeSerif.sfd: + + Tweeks to Cyrillic kerning + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd, Makefile: + + Much fiddling with kerning, tables, and generating fonts whose kerning + tables work with OpenOffice. + + * tools/GenerateTrueType: + + Made to include old-style kerning + Converted to Python + +2008-11-24 Stevan_White + * FreeSerif.sfd: + + regularized padding in Miscellaneous symbols. + At least within related ranges tried to make similar. + Made to validate + +2008-11-23 Stevan_White + * FreeSerif.sfd: + + Filled out Miscellaneous Symbols. Used George Douros' Unicode font. + Completed Miscellaneous Symbols, with some drawings from George Douros' + Unicode Symbols, and some of mine. + + * FreeMono.sfd, FreeMonoOblique.sfd: + + Replaced Greek Exteded psili and dasia with scaled versions of the + "bent quote" mark. I think it's distinctive enough, but not so silly. + + Remedies bug #22997: Mono: Greek Extended psili is ugly + https://savannah.gnu.org/bugs/?22997 + + * FreeSerif.sfd: + + Made some recycling symbols + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Finished with Hebrew Pointed letters in all faces. + + * tools/range_report: + + preferred to keep the file ending + +2008-11-22 Stevan_White + * FreeSans.sfd: + + Fiddled with Hebrew Pointed letters + + * FreeSerifItalic.sfd: + + Marks for Vietnamese + + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Letter pe had strange thick middle ear that looked awful. lamed had ben + bumped at some point. Fixed. Adjusted some of the points. + +2008-11-21 Stevan_White + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + repairs to Pointed Hebrew + + * FreeSerif.sfd: + + Numeral line positioning marks for Gothic + + * FreeSerifItalic.sfd: + + Added Combining Marks for Symbols (some question about obliqueness of + some symbols) + Cleaned up some empty glyphs in Pointed Hebrew. + +2008-11-20 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Provided Hebrew pointed letters, with lookups, for all Serif faces. + +2008-11-19 Stevan_White + * FreeSerifBoldItalic.sfd: + + renamed Hebrew lookups + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Completed Hebrew in Bold faces. + + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + More tweeks to Hebrew points + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + Adjustments corrections and additions to Hebrew points + +2008-11-18 Stevan_White + * FreeSansBold.sfd: + + Cleaned out a lot of ridiculous kernings + +2008-11-17 Stevan_White + * FreeSansBoldOblique.sfd: + + fiddled with Armenian ligatures + + * FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Added Armenian (with ligatures) to BoldOblique + Fiddled with character spacing + +2008-11-16 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added U+01f9 and paragraph end marker to Georgian + Fiddled with Armenian ligatures + +2008-11-15 Stevan_White + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Another pass at letter spacing in Cyrillic. + Also went through ancient letters. + + Added Georgian paragraph separator 10FB + Added Georgian turned gan 10F9 (because it was easy) + + Re-worked letter spacing through modern Cyrillic range. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSerif.sfd: + + Letter spacing + +2008-11-14 Stevan_White + * FreeSerif.sfd: + + Added several characters to Cyrillic Extended-B + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + Made Cyrillic hooked e U+04BC-F to look less goofy. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Based on assertion on Pechatnyj Dvor's web site, Cyrillic Fita + U+0472-3 and "Barred O" U+04E8-9 are different styles the same letter, + and the fact that the tilde in the O never looked good in Sans, I + made them all barred O's. + + * FreeSerif.sfd: + + Added Cyrillic Yn, yn (U+a65e-f) + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Synced up Cyrillic and Combining Diacritics ranges, + Couple of tweeks in Gujarati to make TT validate + + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Changes to older Cyrillic letters, in response to further information. + Made omegas, omegas with titlo, and OT to all be of the same size and + shape in Serif. + Un-linked Cyrillic Psi and psi from Greek, made squarer versions. + + Some more Cyrillic diacritical marks in Sans. Re-worked U+04bc-f . + Experimenting with mark positioning for Cyrillic + +2008-11-12 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Strove to make Euro look more like the EC logo design, while making + glyph fit better with the design of its face. Bug #3576: Euro design + https://savannah.gnu.org/bugs/?23576 + + * FreeSans.sfd, FreeSerif.sfd: + + Adjustments mostly to GPOS tables having to do with Vietnamese marks. + The WAZU Vietnamese test page looks pretty good in Sans now. + Still not thrilled with below-dot when it appears with a mark over + e.g. U+0102. Pango positions one or the other but not both. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Extensive modification of GPOS lookup tables for mark positioning. + I think they're now all functional (except styled Mono faces have none). + Also added lots of marks to faces that didn't have them, and also + fiddled with Combining Diacritical Marks. + +2008-11-10 Stevan_White + * FreeSerif.sfd: + + Made one combining mark really combining + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made a few combining characters to be zero-width in Mono, + Added them to other styles. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Figured out why below marks in Thai weren't working in the lowest + letters. I think Pango and other font renderers ignore 'blwm'. + However, 'mark' works. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Tweeks to Thai marks + +2008-11-09 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Several bugfixes in Thai, mostly having to do with mark placement and + ligatures. Implemented ru-saraaa and lu-saraaa with ligatures. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + added and named dottedcircle (used by Pango to render + combining mark base) + + * FreeSerif.sfd: + + Tweeks to Coptic, after viewing more papyrus samples and web pages. + + * FreeSerif.sfd: + + Weight of Coptic small letters made to match that of Latin and Greek ones. + +2008-11-08 Stevan_White + * FreeSerif.sfd: + + Made Coptic to comply better with + http://www.wazu.jp/gallery/Test_Coptic.html + Made a flourish at foot of letters with long diagonal. + + More tweeks to Coptic; put in a mark lookup table. + + Note: for small letters I made scaled references to captials. + Results in those letters looking quite light next to the capitals and + next to small Latin letters. Also, there are a few variant forms for + capitals (Unicode samples don't show this). It would be good to + re-work + + Added Coptic alphabet in u+2C80-2CB1 and u+03E2-u+03EF, drawn/built by + me, based on Unicode samples, TeX font copte, and scans at WikiPedia. + +2008-11-07 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Further tweeks to dieresis in Greek and Cyrillic + + * FreeSerif.sfd: + + replaced Greek I dieresis with references, tweeked height of dieresis. + +2008-11-04 Stevan_White + * FreeSerif.sfd: + + Added a few Cyrillic Extended-B letters seen in web pages while looking + for Glagolitic text. + + * FreeMono.sfd, FreeMonoOblique.sfd: + + Added a few old Cyrillic characters. + + * FreeSerif.sfd: + + Several corrections and tweeks to Glagolitic. + Still missing six slots from Unicode, but don't see them in the TeX + fonts. + On the other hand, several on-line Glagolitic pages (bibles etc) don't + seem to use these. Maybe it's OK as-is. + +2008-11-03 Stevan_White + * FreeSerif.sfd: + + Added lowercase range to Glagolitic, as a facile scaling of the + uppercase. + + Added letter to Glagolitic, scaled range. + +2008-11-02 Stevan_White + * FreeSerif.sfd: + + Replaced fraktur bold from Mathematical Alphanumeric Symbols with that + from TX Fonts by Young Ryu. + One concern: letter k is damaged (in both medium and bold). I just + hacked something up. + + Added Glagolitic "round type" font (Croation capitols only) from the + collection of Croatian fonts for LaTeX by Darko Zubrinić + ftp://ftp.dante.de/tex-archive/languages/croatian/ + http://www.tug.org/TUGboat/Articles/tb17-1/tb50zubr.pdf + + Several letters are missing besides the small letters. + + * FreeSerifBoldItalic.sfd: + + A couple of Thai references got obliqued twice. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + By popular demand, removed 'ears' from Greek Upsilon and Psi. + Copied resulting glyphs to Serif Mathematical Alphanumeric Symbols. + + * FreeSerif.sfd: + + Some pointwise cleanup of main Tamil range + + Tried some things with lookups. Didn't make much headway. + +2008-11-01 Stevan_White + * FreeMono.sfd: + + somehow made a letter with wrong width + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added similar lookups and ligatures to Thai ranges. + + * FreeSerif.sfd: + + Lookups now work no worse than those for other Thai fonts, at least + in Pango. Still perplexed by behaviour of "Required" lookups. + + For Thai, made ligatures and lookups for yoying and thothan combined + with a lower vowel. These work well. + Attempted looksups for saraaa with ru and lu, and for saraam. + Not working. + + Cleaned up a few of the Bengali ligatures + + * FreeSerifBold.sfd: + + Tweek Thai + +2008-10-31 Stevan_White + * FreeSerif.sfd: + + Fixed ligatures and mark positioning for Hanunóo. + Problem with ligatures: Gnome pango doesn't do 'rlig', only 'liga' + + * FreeSerifItalic.sfd: + + Changed lookup table scripts for Devanagari and Bengali. + Find Problems -> ATT found several problems showing lookups acting on + glyphs that weren't listed in the script ranges, including dev2, bng2 + (why not deva and beng, I don't know). + + danda and doubledanda of Devanagari I understand are to be shared among + Indic scripts. So included bng2 and dev2 in the 'aalt' table for those. + + The 'init' and 'half' tables for Bengali made active for bng2. + + The 'locl' table for Bengali didn't do anything I could see: It mapped + the Devanagari danda to itself, and the doubledanda to itself. Deleted. + + Cleaned up some kern tables. + adjustments of under 5 EM are invisible. Some others I just didn't like. + Some were putting a letter beneath another, with is wrong. + + * FreeSerifBoldItalic.sfd: + + Added Thai + + * FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Changes to mark positioning lookups, esp. in Italic. + Widened numerals in Bold + +2008-10-27 Stevan_White + * FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Tweeks regarding Armenian and lookups + + * FreeSansBold.sfd: + + Added Armenian ligatures FB13-FB17 with lookups + Also made a historical ligature ('hlig') table for u+0587. + + Toward bug #15183: missing characters from Armenian range + https://savannah.gnu.org/bugs/index.php?15183 + + * FreeSansOblique.sfd: + + Added Armenian ligatures, lookups. Cleaned up contours. + + * FreeSans.sfd: + + Added 5 Armenian ligatures to U+FB13 – FB17, and made corresponding + 'liga' lookup. Found there one ligature u+0587 that according to + http://en.wikipedia.org/wiki/Armenian_alphabet + + "in new orthography the և character is not a typographical ligature anymore, and must never be treated as such. It is a distinct letter and has its place in the new alphabetic sequence." + So moved this out of the 'liga' lookup and into a new 'hlig' lookup. + +2008-10-26 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Lots of improvements to Thai. + Completely revised letter spacing in Italic, and fiddled with combining + marks in all. + Still aren't working quite right, especially in Italic. + Still need to work over digits (in Bold they aren't even bold yet) + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Bold Thai : added (painstakingly) constructed glyphs, lookups + roman Thai: tweeks + Italic Thai: tweeks (Note this still has multiple problems) + +2008-10-25 Stevan_White + * FreeSerif.sfd: + + WAZU says + http://www.wazu.jp/gallery/Fonts_Hanunoo.html + + MPH 2B Damase doesn't support the consonant-vowel ligatures necessary + to render Buhid writing. + + OK, so I made 'mark' lookups for combining marks and a bunch of + ligatures in an 'rlig' lookup. The latter still not working: + don't know why. + + Made page to match the example of the combining forms at + http://www.omniglot.com/writing/hanunoo.htm + +2008-10-24 Stevan_White + * FreeSerif.sfd: + + Removed some marks from Mathematical Alphanumeric Symbols + + * FreeSerif.sfd: + + Tweeked combining marks for Vietnamese. Made to satisfy + WAZU JAPAN Comprehensive Unicode Test Page for Vietnamese + http://www.wazu.jp/gallery/Test_Vietnamese.html + Could still use some tweeking... + + * FreeSerif.sfd: + + Added marks for composition of Vietnamese + + * FreeMono.sfd, FreeSerif.sfd: + + Put "below" combining mark on lots of vowels and derivatives, + for Vietnamese. + Named a bunch of composit Latin, expecting to make substitutions. + +2008-10-23 Stevan_White + * FreeSerif.sfd: + + Thai spacing alterations based on advice of a native speaker. + +2008-10-22 Stevan_White + * FreeSerif.sfd: + + re-named Thai lookups according to order + +2008-10-21 Stevan_White + * FreeSans.sfd: + + Cleanup of glyphs in Gujarati, Devanagari. + + Note: Serious problem with Sans GPOS abvm in Devanagari + "'abvm' Above Base Mark in Devanagari subtable" "gujr-0" + But all the characters that list gujr-0 are in Gujarati. + Not sure how this got broken or how to fix it. + + * FreeSerif.sfd: + + Fiddled with Thai mark positioning: passes my tests now OK. + Made a few more references in Math Symbols; more regularization of + stroke. + + * FreeSerif.sfd: + + Added mark class for Vietnamese "horn" + Several references made in General Punctuation, Arrows + + * FreeMono.sfd: + + added some Combining Diacritical Marks + +2008-10-20 Stevan_White + * FreeSerif.sfd: + + Made some references from serifed Latin capitals to Greek counterparts. + + * FreeSerif.sfd: + + Made a few repeated glyphs into references in Musical Symbols + + * tools/ranges.py, tools/validate.py: + + tweeked some ranges, format of output + +2008-10-19 Stevan_White + * FreeSerif.sfd: + + Moved several glypns from Mathematical Alphanumeric Symbols to + Letterlike Symbols. + Couple tweeks in Mathematical Symbols. + + * FreeMono.sfd, FreeSerif.sfd: + + Fiddling with Mathematical Symbols. + In Serif, trying to make stroke width more consistent. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd: + + Added some Greek symbols in Mono and Sans to make a little more regular + and correspond better with TeX. + Tweek of serif. + + * FreeSansBold.sfd: + + a few more improvements. + + One problem with the Mathematical Alphanumeric area is, one must + remember to change it any time another face is altered... + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerifBold.sfd: + + Several improvements and additions to Sans faces (mostly in Greek) from + experience of pasting into FreeSerif Mathematical Alphanumeric Symbols. + + * FreeSerif.sfd: + + Replaced most of Mathematical Alphanumeric Symbols + roman italic bold (latin and greek) + gothic italic bold (latin and greek) + typewriter + and numerals + with glyphs from FreeFont. These were scaled to uniform height. + + Remains: Blackboard Bold, Fraktur, Calligraphic, Script + + * FreeSerif.sfd: + + Tidied lookup table names for Malayalam + + * FreeSerif.sfd: + + Applied Malayalam patch from Hiran Venugopalan + + * FreeMono.sfd: + + Added/corrected many Mathematical Symbols + + * FreeSansOblique.sfd: + + more IPA + +2008-10-18 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Made lots more IPA and Phonetic Extensions + Note: fontforge is reporting an error in a few glyphs made by scaling + another, that the glyphs are drawn in the wrong direction--only in + TrueType though. Suspect a FontForge bug. + + Added several Combining Diacritical Marks + +2008-10-17 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Made several Spacing Modifier Letters, Combining Diacritical Marks, + and IPA and Phonetic Extensions + +2008-10-16 Stevan_White + * tools/ranges.py: + + un-grayed totals rows + + Fiddled Cyrillic + made output prettier + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added some Superscripts and Subscripts + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Finished off Superscripts and subscripts + + Completed General Punctuation for Mono faces + + Added some General Punctuation + +2008-10-15 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + more Letterlike Symbols, Currency Symbols + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Made some Combining Diacritical Marks for Symbols, Letterlike Symbols + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Added some General Punctuation + +2008-10-14 Stevan_White + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Added double slanted hyphen, made General Punctuaton Supplement like + Serif's + + * FreeSansBoldOblique.sfd: + + Filled out Greek Extended + + * FreeMono.sfd, FreeSerifItalic.sfd: + + fixes to last 2 commits + + * FreeSerifItalic.sfd: + + Last character to General Punctuation + + * FreeMono.sfd: + + Built some Enclosed Alphanumerics (1-10) + + * FreeSerif.sfd: + + Copied in Daniel Johnson's changes to Cherokee. + +2008-10-12 Stevan_White + * FreeSerif.sfd: + + Included Daniel Johnson's Cherokee glyphs. + +2008-10-05 Stevan_White + * FreeMono.sfd: + + Further corrections to diaresis in Cyrillic -- legibility in small sizes + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoOblique.sfd, FreeSerif.sfd: + + Regularized placement of diaresis in Cyrillic + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added same set of glyphs to Cyrillic Supplement + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Added some of the easier letters from Cyrillic Supplement + +2008-10-04 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeSerifItalic.sfd: + + Finished high Cyrillic range for MonoBold and MonoBoldOblique. + (Remaining: historic ranges, Cyrillic extensions) + Tweeked others. + + * FreeMonoBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Serif*Italic: Added last Abkhazian letters to Cyrillic + MonoBold: tweek + +2008-10-03 Stevan_White + * FreeMono.sfd, FreeMonoOblique.sfd, FreeSerif.sfd, FreeSerifBoldItalic.sfd: + + Mono: Some additions to historic letters + + * FreeSerif.sfd: + + Added some punctuation and combining numeric marks from + Cyrillic Extended B + + * FreeMono.sfd, FreeMonoBold.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Various technical tweeks, mostly concerning recent additions. + Also did a bit more "Points too close" and "irrelevant control points". + Cyrillic millions redesign meant could not maintain use of refrences + for it. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More high Cyrillic + Included old Cyrillic millions combining mark in Sans, changed design + in Serif + +2008-10-02 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + More high Cyrillic + + * FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBoldItalic.sfd: + + More high Cyrillic glyphs + + * FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More glyphs in high Cyrillic. Remains only some whose form I'm unsure + of in italic. + + * FreeSerifBoldItalic.sfd: + + More glyphs in higher Cyrillic range + + * FreeSerifItalic.sfd: + + Same process of tightening el, em, ge (but a P.S. to previous commit: + also did ya, ze for SerifBold.) + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + BoldItalic: Tightened up spacing on left of el, em, ge (could go + farther, but it is partly a problem with glyph design... + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More additions to Cyrillic. Finished SerifBold except for Nivkh + additions. + Used references on number combining forms. + +2008-09-30 Stevan_White + * FreeSerif.sfd: + + Added four (obsolete) Chuvash letters to Cyrillic Supplement + - completing it. + +2008-09-29 Stevan_White + * FreeSerif.sfd: + + Greek adjustments + Adjusted spacing of kappa slightly + Got rid of ears on Psi, following similar request for Upsilon. + +2008-09-28 Stevan_White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Adding and fiddling with Spacing Modifiers and Combining Diacriticals + + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Revisions of several Combining Diacritical marks + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + A few Combining Diacriticals and Spacing Modifiers + + MonoBoldOblique: Primarily filling out Spacing Modifier Letters + others: little fixes found along the way + +2008-09-27 Stevan_White + * FreeSerif.sfd: + + Replaced Malayalam range with that from Rachana_04 found on + Swathanthra Malayalam Computing project page + http://savannah.nongnu.org/projects/smc/ + Besides scaling and converting to cubic, performed much clean-up of + glyphs, added an r2 character, and re-named a bunch of characters. + +2008-09-23 Stevan_White + * tools/ranges.py: + + Corrections and additions to several ranges, + put extra row in table with character totals + +2008-09-22 Stevan_White + * FreeSerif.sfd: + + Filled in as much of Phonetic Extensions as I could without artistic + abilities. + Note 1D48-9 are not references due to apparent FontForge bug, that says + scaled references go in wrong direction. + + * FreeSerif.sfd: + + Cleaup of some Bengali glyphs. + Note many of the ligatures remain very very messy. + + * Makefile: + + added more validations + made to work with GenerateOpenType + + * FreeSerif.sfd: + + Built two more easy Phonetic Extensions + + * FreeSerif.sfd: + + Built some Phonetic Extensions letters, those with middle tilde + + * tools/GenerateOpenType: + + Replaced bash version with Python + +2008-09-21 Stevan_White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Added lots of Spacing Modifier Letters and Combining Diacritical Marks. + + * FreeMono.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSerif.sfd: + + Wrote script to check if glyph encodings were in stated ranges, fixed + most discrepancies. + + There were a bunch of incompletely deleted characters in several faces. + + Sans: found several other problems in the process + # Tamil + Four slots labelled 0BDA-D have glyphs, not in Unicode. also 0BE1 + I think they are misplaced; added 0010 to each of them + + # Devanagari + Slot labelled U+093B is not in Unicode--can't find glyph: deleted + likewise 094F (may have been meant to be 0954) + 0955, 0973-0976 + + 0954 should be a combining mark, but it appears on the wrong side of 0. + 0971 was just wrong--made into simple dot. + 0972 is also wrong--made my own Candra A. + + # Gujarati + Slots labelled 0AE4-5 are not in Unicode; seem not to belong at all. + Deleted. 2800 is a dup of 2790. Deleted + + Serif: phillipine_double u1736 was misplaced + + A bunch of the Math Alphanumeric symbols are empty in the standard, + because they're represented elsewhere. These should be deleted + First need to make style consistent with existing symbols. + + * FreeSerif.sfd: + + Applied patch from Daniel J + Remedies bug + FreeSerif: Missing glyphs with palatal hook + https://savannah.gnu.org/bugs/index.php?24298 + Adding several letters to Phoenetic Extensions range U+1D80-BF + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made four characters U+200C-F to be zero-width + Remedy to bug #23593: Mono 0-width chars: zero-width or space? + https://savannah.gnu.org/bugs/index.php?23593 + + * FreeSerif.sfd: + + Made Mahjong tiles to take up less space using references + Cleaned up several validation problems + +2008-09-20 Stevan_White + * tools/checkGlyphNumbers.py: + + included other Private Use Ranges + +2008-09-19 Stevan_White + * FreeSerif.sfd: + + Added several Hebrew Alphabetic Presentation Forms (some easy ones), to + make its coverage the same as Serif Bold. + + * FreeSerifBold.sfd: + + Re-encoded. + Deleted several glyphs in Hebrew Alphabetic Presentation Forms that + didn't correspond valid Unicode + + * FreeMonoBold.sfd, FreeSans.sfd, FreeSerifItalic.sfd: + + Ran script to find mis-numbered glyphs. Several were simply typos, + some offset by one. + + * FreeSansOblique.sfd: + + Numerous cases of glyphs in Private Use area incorrectly assigned + Unicode numbers and names. Gave all -1 for Unicode and named like + "slot.XXXX". + + * FreeSerif.sfd: + + Adapted Mahjong Tiles from George Douros' Unicode Symbols font. + + * FreeSerif.sfd: + + Added Domino Tiles. Domino outline is copied from George Douros' + Unicode Symbols, but the rest I preferred to do with references. + +2008-09-19 Stevan_White + * tools/ranges.py: + + corrected and simplified calculation of whether OS/2 bit is set. + Now works mostly perfectly, except for some high Unicode ranges... + + * tools/GenerateOpenType: + + Made to output old-style kerning tables for Windows + (FontForge complains though) + + * tools/GenerateTrueType: + + Made to hint before instructing: FontForge bases TT instructions on hints + although hints are not put into TrueType fonts. + + * tools/hex_range.py: + + cosmetic tweek + + * tools/isMonoMono.py: + + re-worked to take a list of files as input + + * tools/ranges.py: + + re-structured code and corrected a few ranges + +2008-09-18 Stevan_White + * FreeSerif.sfd: + + Adapted Mathematical Alphanumeric Symbols from George Douros' Unicode + Symbols font. + + * FreeMonoBoldOblique.sfd: + + This one got away from me--I don't know what I did. + Looks like some small contour edits. + + * FreeSansBoldOblique.sfd: + + Fixed one mis-numberd character in Latin Extended-B + + * FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Fixed several mis-numbered characters. + + * FreeSansBold.sfd: + + SansBold: one Georgian letter with no name, one Zapf Dingbat was + unnumbered + ATT test shows a bunch of problems with Gurmukhi and 'blwf' table + indeed shows those letters at 0x10000+ + Sans names them like uni0A30_uni0A4D.blwf: they are in range + ECC6 to ED06 + + I meant to move this range into Private Use in last release, and + missed it. So now it is moved, into same range as Sans. + + Both Sans and SansBold in nukt table for Gurmukhi have duplicate + entries for uni0A15 uni0A3C. Deleted dups. + + * FreeMonoOblique.sfd: + + fixed a number of Unassigned Code Points in Greek Extended + + * FreeSansOblique.sfd: + + mis-numbered Combining Diacritics + + * FreeSansOblique.sfd: + + Several chars in Latin Extended hadn't been named. + One spurious letter in Letterlike Symbols + +2008-09-16 Stevan_White + * FreeMono.sfd, FreeSans.sfd, FreeSerif.sfd: + + Lots of additions: unless otherwise noted, they are from George Duros' + fonts Analecta, Music, and Unicode (haven't got final confirmation of + the eligibility of these glyphs, so this is just for testing.) + + Added some combining marks, fiddled a bit. In both Serif & Mono, tried + to get a key symbol characters to fit inside the key combining mark + + Serif + Got rid of ears on Upsilon + Added: + # Gothic + # Western & Byzantine Musical Symbols + + # Misc Symbols, Misc Technical Symbols (drew many myself) + # Supplemental Symbols and Arrows + + Mono + Added: + # lotsa Misc Technical Symbols + # OCR Symbols + # drew many Supplemental Symbols and Arrows, Misc Technical + + Sans + Added # Phoenecian + Made a few Letterlike Symbols; Made Re and Im to be sans-serif. + +2008-09-11 Stevan_White + * FreeSerif.sfd: + + Removed pointless entries from Latin kern table + + Tidied points in Sinhala + +2008-09-07 Stevan_White + * FreeSerif.sfd: + + Tidied up Tamil ligatures EEA8-EEAB to fix TT build warning + "MonotonicFindAlong: Never found our spline." + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, Makefile: + + + Added APL characters to FreeMono (why?...) + + Fixed several last-minute problems, including + + Serif: Tweeked GPOS mark table for Cyrillic + Sans: Added a GPOS table for Cyrillic (but several diacritics missing) + + Serif, Mono: tweeked some bugs in extensible brackets & integrals + + Serif: Vietnamese o circumflex: accent was a bit high. fixed. + + MonoBoldOblique OTF build + uni213b intersects self + + Generation of TT fonts complains about several things to stderr, + including: + + SerifBold: "There exists a 'fpgm' code that seems incompatible with FontForge's. Instructions generated will be of lower quality. If legacy hinting is to be scrapped, it is suggested to clear the `fpgm` and repeat autoinstructing. It will be then possible to append user's code to FontForge's 'fpgm', but due to possible future updates, it is extremely advised to use high numbers for user's functions." + Probably has been there since I first copied the TT instructions in. + Just repeated the copying process carefully, and the warning went away. + + Serif: "FindMatchingHVEdge fell into an impossible position" + fixed a bunch of point too close + + REMAINING PROBLEM in Serif TT build + "MonotonicFindAlong: Never found our spline." + fixed several bad TT matrices-- there are several more + fixed many "control points too close" no luck + +2008-09-03 Stevan_White + * FreeSans.sfd, FreeSansOblique.sfd: + + Added/corrected some Misc. Symbols by copying from Serif. + Note this is only a stopgap solution. Want real sans-serif symbols. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added minimal Miscellaneous Symbols: card suites and some musical notes. + Note not happy with shapes...some I just drew. Sans isn't really sans. + + Fixed one APL symbol in Mono so it verified in OTF version + +2008-08-31 Stevan_White + * FreeMono.sfd: + + Built set of APL symbols. + +2008-08-30 Stevan_White + * FreeSans.sfd: + + Un-linked references in uni02B2 and uni02B5, because when validating the + TrueType version, FontForge gave an error "is drawn in wrong direction". + I suspect a bug in FontForge. Other similar glyphs make no errors. + + Fixed missing extrema in TrueType. + These were the last cases being reported by validate in all the faces. + + * FreeSerifItalic.sfd: + + fixed last missing extrema in TrueType + + * Makefile: + + restructured validation to look in a directory + + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd: + + Fixed missing extrema in TrueType versions + + * isMonoMono.py, validate.py: + + restructured validation to look in a directory + +2008-08-15 Stevan_White + * FreeSans.sfd: + + Same problem with uni0A83 as with bn_llikaar. Just made zero-width. + +2008-08-14 Stevan_White + * FreeSans.sfd, FreeSansOblique.sfd: + + Glyph bn_llikaar, U+09E3 BENGALI VOWEL SIGN VOCALIC LL, + has right bound positioned far into the negative. Causes a warning in + FontForge when opening OTF version. + Comparing with other fonts supporting Bengali, found no others that + do this. + Serif makes glyph width 0 (which sounds right according to Unicode) + and puts glyph wholly to left of 0. But, I haven't found this letter + in text anywhere. I wonder if it is really used in writing. + + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + Further TrueType validation fixes. + Sans still has two glyps in wrong direction. + + * FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Fixed more TrueType problems...all missing extrema in TTF validation + +2008-08-13 Stevan_White + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + fixed all the TrueType validation problems of type "intersects itself" + and all but two of the "wrong directions", as well as a lot of + "missing extrema". But there remain hundreds of missing extrema in the + TrueType version. + Also, bn_llikaar in Sans and Oblique still has a problem in OTF version. + + * FreeMono.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd: + + Made .ttf files to validate. Other faces have many more problems still. + +2008-08-12 Stevan_White + * FreeMonoOblique.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + Continuing to make OTF versions validate. + + * FreeMonoOblique.sfd: + lots of missing points at extrema + * FreeSerif.sfd: + 12 wrong directions, 1 missing extrema + * FreeSerifItalic.sfd: + many missing points at extrema, 1 self-intersecting + + What was wrong: in several oblique cases, an already-italic glyph was + made more italic, thereby fouling up extrema (although why it passed + validation in the SFD I don't know). Some glyphs were + overly-complicated with many near points. Cleaned up, rounded to int. + + Remaining problem: OTF FreeSansOblique FreeSans. one Bengali glyph in + each whose advance width and htmx don't match. + + Moral of story: validate the OTF and TTF versions too before a release. + + * FreeSansOblique.sfd: + + Reverse a mistake from last commit: somehow this file was converted to + quadratic, or something. + + * tools/GenerateTrueType: + + For TrueType, one puts in Instructions, not Hints. + This vastly improves look of TrueType fonts in Windows. + +2008-08-11 Stevan_White + * FreeMonoBoldOblique.sfd, FreeSans.sfd, FreeSansOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Found that SFD files that validated produced OpenType files that don't. + These represent the easy fixes. Some were result of conversion to + quadratic; some shouldn't have validated in the SFD... + + * MonoBoldOblique: uni0250 missing pts at extrema [reference glyph rotated...] + * Sans: uni0AC4 wrong direction [simplified, rounded to int] + * SansOblique: uni01EA wrong direction [rounded to int] + * SerifBold: uni023f wrong direction [round to int] + * SerifBoldItalic: uni0245 missing pts at extrema [ungrouped ref, added extrema] + +2008-08-06 Stevan_White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoOblique.sfd: + + Re-set font metrics, which were somehow making uneven vertical spacing. + +2008-06-22 Steve White + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Made to validate + + * ranges.py: + + Brought more into line with OpenType + Added some ranges + Fixed bug with ranges outside of font + + * CREDITS: + + 3 new ranges + + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Cyrillic: tweeked accents for consistency, and for readability in small + sizes. + + * FreeSerif.sfd: + + Thanna range: tweeking + + Thaana range: Scaled up by about 15%, raised by 100EM, tightened + some of the diacritics to get inside 900 to -300 EM limits. + + * FreeSans.sfd: + + Added Old Persian and Ugaritic from MPH2BDamase font. + +2008-06-21 Steve White + * FreeSerif.sfd: + + Added Tai Le range adapted from MPH2BDamase font. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Added some ancient Greek numerals from Tempora to high Unicode area, + (partly just to show it can now be done.) + + * FreeSerifItalic.sfd: + + Couple of tweeks putting glyphs above -300EM. + + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Surgery to Thai letter 'tho than', u+0e10, to push it above -300 EM. + This makes Thai range completely between 900 and -300 EM. + + * FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + Many auxilary characters (esp. for Malayalam, Bengla, and Tamil) + representing ligatures and alternative forms without their own Unicode, + were moved from + ranges above 0xFFFF (which ought to have been slots for other defined + Unicode ranges) into the Private Use area. + + In Serif, I segregated the scripts, in Sans it was hard to see where one + began and another ended, so I moved them en masse. + + Note several problems with wrongly-named characters: + I already re-named glyph570 and glyph582. + But there are others with names starting with A... + + * FreeSansBold.sfd, FreeSansOblique.sfd: + + Fixed (I hope the last) problem with scripts in lookups + Find Problems -> ATT (all selected) finds multiple issues, + + * FreeSansBold.sfd: + In addition to script 'guru', added 'gur2' to the scripts for these + lookups + 'nukt' Nukta forms in Gurmukhi + 'blwf' Below Base Forms in Gurmukhi + 'pstf' Post Base Forms in Gurmukhi + 'blws' Below Base Substitutions in Gurmukhi + 'abvs' Above Base Substitutions in Gurmukhi + 'psts' Post Base Substitutions in Gurmukhi + + * FreeSansOblique.sfd: + In addition to script 'beng', added 'bng2' to the scripts for the lookup + 'half' Half Forms in Bengali + + Moreover, the lookup + 'aalt' Access All Alternates in Latin + contains only Bengali letters. + Re-named as Bengali, made to work on beng, bng2 scripts + +2008-06-20 Steve White + * FreeSerif.sfd: + + Scaled Sinhala range. + Remedies bug #23656: Sinhala letters over-sized + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Mostly messing with Greek Extended accents again. + re-positioned ypogegrammani on advice of Alexey Kryukov + Put prosgegrammani beneath main letters in Mono, to make narrower glyphs + Implemented more distinction between tonos and acute. + +2008-06-19 Steve White + * FreeMonoBoldOblique.sfd: + + Completed fit of Mono to 800 to -200 EM. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoOblique.sfd: + + Set Metrics to recommended values + + * FreeMonoOblique.sfd: + + Now Mono Oblique, as well as roman and Bold, are within 800 to -200 EM. + Just BoldOblique to go. + + * FreeMono.sfd, FreeMonoBold.sfd: + + More toward fitting to 800 to -200 EM. + Basically, reduced Georgian by 92%. + Also made an over-all offset, so Georgian is somehow centered (Bold...I + guess I already did this in roman). + Want to also do an emboldening to make stroke like rest of font, but + current FontForge has a nasty crash that loses data on this function. + + * FreeMono.sfd: + + In effort to make fit in 800 to -200 EM, + Scaled Georgian by 92%, centered on 600 wide box. + Next: Embolden a bit. + +2008-06-18 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Toward making all glyphs lie between -200 and 800 EM. + Numerous small changes, especially raising descenders of some Hebrew + letters. + Georgian remains a problem + +2008-06-13 Steve White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Moved prosgegrammeni up to baseline, + (and then moved all references down to baseline) + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added Control Picture "blank" to all faces. + Switched U+0222-3 from TemporaLGCUni + +2008-06-11 Steve White + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More fiddling with Greek Extended accents + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Tweeks to accents etc in Greek Extended and Cyrillic + +2008-06-10 Steve White + * FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Fixed a few big horizontal spacing problems + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Implemented TemporaLCGUni glyphs in Cyrillic ranges. + Added a breve_cyrillic for the moustache breve mark. + +2008-06-08 Steve White + * FreeSerif.sfd: + + Replaced most of Cyrillic range with TemporaLGCUni. + Remodelled many of the derived Cyrillic characters after these. + Fiddled globally with spacing of small letters. + Unclear on diacritics 485-6, unhappy with breve. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Started implementing TemporaLCGUni in Greek ranges. + + Replaced 3DC-3E1 from Tempora, because I thought they looked nicer and + more like the other existing FreeFont glyphs. + Replaced 3DA-B from Tempora, because they look more like Unicode + samples, and nicer. + Added 03f3-4, 03F7-F. + Prefer my own lunate epsilon. + Replaced Phi and Omega from Tempora. + These plainly fit the other FreeFont glyphs better than the origninals. + (How did this happen?) + + In bold, replaced U+03D7 + + Copied lbbar u+2114 + + Small italic greek--replaced most except phi, psi, omega + + Based on new information, broke the identification of oxia with Latin + acute. + +2008-06-07 Steve White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Efforts to control heights of characters + +2008-06-06 Steve White + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made to validate + +2008-06-05 Steve White + * FreeSans.sfd: + + Fixed undefined character in kerning classes + +2008-06-04 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + tweeks and additions to General Punctuation + +2008-06-03 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSansOblique.sfd: + + Completed/tweeked Number Forms + + * FreeMono.sfd, FreeSerif.sfd: + + Added some Miscellaneous Technical symbols + +2008-06-02 Steve White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Tweeks...mostly Letterlike + +2008-06-01 Steve White + * FreeMono.sfd, FreeSerif.sfd: + + Added Box Drawing characters to Serif. + Tweeked a glyph in Mono + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Added several glyphs to Letterlike Characters + +2008-05-31 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Validation pass + + SansOblique and SansBoldOblique had validation problem with BlueValues + Private Dictionary + Elements in BlueValues/OtherBlues array are disordered + Elements in BlueValues/OtherBlues array are too close + (Change BlueFuzz) + StemSnapV does not contain StdVW value. + So I ordered the array, and based on other slanted fonts, + removed StemSnapV. + + Note however, I still think the two top Blues lines are too close + But I don't even know what the second-to-top line is meant to do. + + * FreeSerif.sfd: + + Added to Block Elements, Geometric Shapes + Made to validate + +2008-05-29 Steve White + * FreeMono.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Looking at special symbols. + Drew several Miscellaneous Symbols in Mono and Serif + > Completed/corrected planetary symbols, added Dice, + some other easy ones + > Completed Dingbats in Serif (using URW Dingbats) + Added some Block Elements to Serif + +2008-05-26 Steve White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More changes stemming from J. Poon's report. + +2008-05-25 Steve White + * FreeSerif.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Height surgery on SerifBoldItalic. + More fiddling with accents in others. + + * FreeSerifItalic.sfd: + + More height surgery. Only a few left in Benglai and Thai + + * FreeSerifBold.sfd: + + Re-applied surgery to make glyphs between 900 and -300EM + + *** Regression + Inadvertently un-linked all references in SerifBold in r1.83. + This reverses that error (but also un-does the surgery mentioned there) + + * FreeSerifBold.sfd, FreeSerifItalic.sfd: + + Applied surgery to make Latin letters go under 900EM. + One exception yet... + +2008-05-24 Steve White + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Serif: much fiddling with accents in Latin ranges. + Re-thought some glyphs (there are still a few messy ones, especially + in bold) + Checked horizontal spacing...fixed a number of problems. + +2008-05-23 Steve White + * FreeSansBold.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Made Latin Extended-B coverage consistent across Serif; cleaned up some + glyphs + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Filled more of General Punctuation in Sans and Serif + Made all agree on coverage of Latin Extended Additional + +2008-05-22 Steve White + * FreeSans.sfd, FreeSansBold.sfd, FreeSansOblique.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Added Latin Extended Additional to SansOblique. + Made Latin Extended Additional coverage consistent across Sans, B, I + Made Latin Extended-B coverage same in SerifBold. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeSansBold.sfd: + + Mono* made Latin-B coverage consistent across faces + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Made set of Latin Extended-B consistent across Sans faces + + * FreeSans.sfd, FreeSansBold.sfd: + + More filling in General Punctuation + + * FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Another bunch of J. Poon's reports + also, filling in some Combining Diacriticals, Spacing Modifiers, and + General Punctuation in bold faces + +2008-05-21 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Mucking about with mark tables in Thai (Serif) + Other faces: Making changes from J. Poon's report + +2008-05-20 Steve White + * CREDITS: + + Mark Williamson + Jacob Poon + + * Makefile: + + added tests target + +2008-05-18 Steve White + * ranges.py: + + Put table explanation back in + + Improved behaviour for high Unicode + + * FreeSans.sfd: + + Revision of kerning + + * FreeSerif.sfd: + + Made Latin kerning a little more reasonable: + reduced many excessive kerns (some had letters apparently + overlapping, which shouldn't happen) + made kerns increment by 5EM for ease of reading + got rid of kerns too small to be seen + + * FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSerifBold.sfd: + + Made to verify + +2008-05-13 Steve White + * FreeSerif.sfd: + + Made to validate + + * FreeSerif.sfd: + + Gurmukhi: filled range in Serif, taking glyphs from the original + Punjabi font by Hardip Singh Pannu + http://members.aol.com/hspannu/punjabi.html (file pb_win95.exe) + +2008-05-12 Steve White + * FreeSans.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Hebrew, basic. Some faces missing punctuation marks, added. + + * FreeMono.sfd, FreeSans.sfd: + + Armenian: Sans tried to make verticals and horizontals of more uniform + width both, finddled with punctuation + + * FreeMonoOblique.sfd: + + made to validate + + * FreeMonoBold.sfd: + + made to validate + + * FreeSans.sfd, FreeSansBold.sfd: + + Armenian in Sans: regularized letter spacing + + * FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd: + + Armenian: fill out ranges and clean up + SansBold especially had a lot of incorrect references. + Now all the ranges with Armenian at least share the same set of + characters. + + * FreeMono.sfd: + + Fixed glyph with wrong width. + +2008-05-11 Steve White + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerifItalic.sfd: + + 1) made to validate + 2) Mono: copied in Spacing Modifier Letters (glyphs not yet named) + 3) SerifItalic: Filled in General Punctuation + + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made to validate, and pass all other FontForge tests. + Expedient: rounded everything to int + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Made to have the same Greek Symbols, + Made to validate + + * FreeSans.sfd, FreeSansBold.sfd: + + Made Greek Symbols as full as rest of Sans. Changed a name in Sans. + + * FreeMonoOblique.sfd: + + Made Greek as full as other faces + Made to validate + + * FreeSansBold.sfd: + + Deleted seven orphaned Arabic characters; looks like somebody started, + didn't get very far, putting Arabic in bold. + + Deleted orphaned Arabic glyph from Arabic Presentation forms-B + + * FreeSerifBold.sfd: + + Deleted the single Arabic character: it was clearly there by mistake. + + * FreeSansOblique.sfd: + + Made Greek Symbols as full as rest of Sans + + Tweeks to Armenian + + Comment from previous commit of FreeSans was meant for FreeSansOblique. + In FreeSans, only tweeked a few letters during putting more characters + in this face. + + Filled in Spacing Modifier Letters, increased General Punctuation. + + * FreeSans.sfd: + + Filled in Spacing Modifier Letters, increased General Punctuation + + * FreeMono.sfd: + + Made Armenian as full as other roman faces. + + Completed Spacing Modifier Letters + Added a couple of Greek Punctuation + + added more Spacing Modifier Letters + +2008-05-10 Steve White + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Did same process of scaling and sizing for Thai in Sans as in Serif. + Added mark tables to Sans. Improvement, but there are questions... + + * FreeSans.sfd: + + Tidied some Gurmukhi glyphs, validated. + + Deleted ranges for Oriya, Kannada, on account of + 1) they only contained a subset of the consonant glyphs of the scripts, + few if any vowels, and had no ligature lookups as required + 2) Kannada was based on the Akurti fonts, which have copyright issues. + + See + bug #23225: Oriya range only partial + bug #23224: Kannada range only partial + + * FreeMonoBoldOblique.sfd: + + Made metrics like rest of Mono + +2008-05-09 Steve White + * ranges.py: + + More info on range intervals + + * FreeSerif.sfd: + + Deleted Telugu range. + It didn't represent a complete writing system for the language. + + See notes at https://savannah.gnu.org/bugs/index.php?23202 + Serif: Telugu range missing many characters; many wrong + + Got a copy of the original Tikkana font, + Copied in remaining consonants and vowels that I could find there. + I think one vowel 0C55 is missing according to unicode). + Strangely, the Telugu digits are alo missing. + In Tikkana, the default "checkmark" structural mark is missing from many + consonants, according to Unicode, but is a separate glyph. I put + the checkmark on. + This, and scaled up by 150% and cleaned up intersecting glyphs and + many unnecessary points. + +2008-05-08 Steve White + * FreeSerif.sfd: + + Filled out Telugu consonants. + Vowels still need to be done + +2008-05-07 Steve White + * FreeSerif.sfd: + + Operated on Latin glyphs with stacked accents to make them fit under + 900EM. + Scaled Telugu bu 150%. + +2008-05-06 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeSansBold.sfd, FreeSerif.sfd: + + Corrected further fontforge "find problems" + Added some math characters to FreeSerif + +2008-05-05 Steve White + * FreeSansBold.sfd: + + Made to validate, and fixed bad TT transformations + +2008-05-04 Steve White + * FreeMono.sfd, FreeSerif.sfd: + + Mainly TeX additions trying to satisfy Markus Kuhn's TeX-as-Unicode page + + * FreeMono.sfd: + + Adjusted heights of extensible brackets + + Fixed problems with extensible brackets, thanks to Markus Kuhn's page + http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt + + * ranges.py: + + fiddled with ranges, doc + + made some ranges more correct? + + fixed some bugs in ranges + better error reporting + + Got rid of Unicode 1.1 references + + made to use OpenType table + + * FreeMono.sfd, FreeSans.sfd, FreeSerif.sfd: + + made to validate + +2008-05-03 Steve White + * FreeMono.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Removed digits from Private Use Area. + See bug 23050. + + * FreeMono.sfd, FreeSans.sfd: + + Completed General Punctuation + + * FreeSans.sfd: + + Completed IPA Extensions + + * FreeMono.sfd, FreeSans.sfd, FreeSerif.sfd: + + More work on Superscripts and Subscripts, Spacing Modifiers. + Sans is now complete in both. + Added Pfennig to Sans and Mono. + + * ranges.py: + + Restructure text output + Rearrangement and cosmetic ...except I had broken it. now fixed + Seems to be in a useful form at this point. + More docs, date + + * FreeSerif.sfd: + + Added a hand-drawn old German Pfennig to Currency Symbols + + * FreeMono.sfd, FreeSans.sfd, FreeSerif.sfd, FreeSerifItalic.sfd: + + Further additions to General Punctuation, Super and Sub Scripts, + Spacing Modifiers, etc. + +2008-05-02 Steve White + * FreeSans.sfd: + + additions to Spacing Modifiers, IPA + + * FreeSerifItalic.sfd: + + Shortening stacked accents to maintain readability when clipped + +2008-05-01 Steve White + * FreeSans.sfd: + + Additions to Spacing Modifiers and changes to Combining Diacritics + + * FreeSerif.sfd: + + Made sure all the half rings in Combining Diacriticals and Spacing + Modifiers were really half rings (J. Poon had complained about this) + + Filled out General Punctuation + Some work on Spacing Modifiers + + Filled out Mathematical Operators + still needs lots of work + Made to validate + + Filled out Latin Extended B + Added some letters with curls to Latin Extended B + More fiddling with Latin Extended B accents + +2008-04-30 Steve White + * FreeSerif.sfd: + + Added Hanunóo script, with characters based on those in + font MPH2BDamase, on request from the maintainer of that font, + http://packages.debian.org/sid/ttf-mph-2b-damase + + Glyphs are simple vector strokes. Could be a little more uniform. + + Added Buginese script "Lontara", with characters based on those in + font MPH2BDamase, on request from the maintainer of that font, + http://packages.debian.org/sid/ttf-mph-2b-damase + + Note the glyphs are pretty rough, clearly a digitization of handwriting. + I just cleaned them up, and corrected discrepancies with Unicode, + and compared with some pictorial samples of the script I could find. + +2008-04-29 Steve White + * ranges.py: + + Improved look a lot--still unhappy with some ranges + OS/2 seems sometimes bang-on, sometimes unrelated to anything (including + fontforge's OS/2 listing) + + * FreeSerif.sfd: + + Much fiddling with Tamil range. + First scaled to 78% (avoiding the references) + This gets it in the ballpark height-wise. [A bit taller than the Latin + letters, but the stroke is narrower, but then the glyphs are busier.] + Then had to re-align combined references, the trickiest being the + halants. + Checked with other fonts with Tamil text. + +2008-04-28 Steve White + * FreeSans.sfd, FreeSerif.sfd: + + Cleanup of control points in Arabic and Thaana + + * FreeSerif.sfd: + + Cleanup of missing extrema in Arabic and Thaana + + Many changes to Thai, trying to make the script fit between some lines, + so accents won't get clipped, etc. + Also, stroke weight was heavier than that of Latin. + + Scaled whole thing by 93%. + Shrank the tallest letters 0E42-4 to get them under 900EM. + Shaved off top of maiek. + Fiddled with positioning of all accents. + Made positioning tables for accents. + Note: unclear these are working correctly + + Fixed a bug having to do with character replacements for characters + named 'ng' and 'nj'; these names had been taken on by other characters. + + Made to validate + + Unicode positions of two Cyrillic Extended characters were switched. + Fiddled with a couple of Cyrillic combining diacritics + +2008-04-27 Steve White + * FreeSans.sfd: + + bugfix: a left harpoon mysteriously appeared to the left of letter p! + +2008-04-26 Steve White + * FreeMono.sfd: + + Made to validate + + * FreeSans.sfd: + + Made to validate + + Toward J. Poons report + Made 032B more like proper double-arches (and distinct fro 033C seagull) + Made 032b more like a seagull + + * FreeSans.sfd, FreeSansBold.sfd: + + Sans: fiddling with widths and terminators of math symbols, + toward J. Poon's report + R & B: removed u+2741 because it didn't match the Unicode description + + * FreeMono.sfd: + + Extensible parenthesis symbols weight/terminators + Toward bug # 23064: https://savannah.gnu.org/bugs/index.php?23064 + Rounded a bunch of terminators + +2008-04-22 Steve White + * FreeSerif.sfd: + + Small alignment problem in Greek Extended + + One more tweek to spacing in Cyrillic Extended + + Corrected spacing in Cyrillic Supplement + + Added Cyrillic Supplement letters for + Enets, Khanty, Chukchi, Itelmen, Mordvin, Kurdish, Aleut + + Added Cyrillic letters for Nivkh (completing Cyrillic range) + More tightening of accents in Latin Extended. + + * FreeSans.sfd: + + Fiddled with math--consequences of changing the "similar" operator + + More tightening of accents + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Adjustments to h and k with caron and cedilla in Latin A and B + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd: + + FreeSerifBold: deleted 3 dotted Hebrew letters in Private/Corporate use + (E801-3). They weren't ligatures or in any other lookup, and they + weren't present in FreeSerif. + + * FreeSansBold: + Unlinked and deleted F6C3, which called itself commaaccent. + Made some new spacing and non-spacing accents to make up for it. + + * FreeSansBoldOblique: + Made references of many Latin Extended. + Also corrected several wrong ones. + + * Freeserif: + Re-named commaaccent + +2008-04-21 Steve White + * FreeMono.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSerif.sfd, FreeSerifBold.sfd: + + Deleted Hiragana and Katakana ranges, as discussed on bugs list. + Cleaned up some encoding issues, unnamed glyphs + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Roman: added 'sine' -- not beautiful, but I liked drawing it + All: Made special lookup for Dutch ligatures 'IJ' and 'ij' + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Roman: ffi etc Latin ligatures from 'liga' to 'dlig' (these weren't + really ligatures anyway, and only looked very bad when used. + Retain for condensed type. + Others: deleted Latin 'liga' table altogether + BoldOblique : added j to ij ligature + + Toward J. Poon's Report: + Except for issues of terminators not always vertical or horizontal, + and a few things that were too hard or I was unsure of. + +2008-04-20 Steve White + * FreeSerif.sfd: + + Futzing with accents in Latin Extended Additional and Latin Extended-B + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Added primemod character, referenced by Greek number sign + + * FreeMono.sfd, FreeMonoOblique.sfd: + + Following J. Poon's report, disconnected NJ (01CA) + +2008-04-19 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + First pass throught J. Poon's bug list. + See bug reports for details. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made underscore slanted in Oblique faces, made all to be width of + space character. + Towards J. Poon's report. + Disturbed that xterm and some other apps put small space between + characters when none was called for. + + * FreeMono.sfd, FreeMonoBold.sfd, FreeSans.sfd, FreeSansOblique.sfd: + + Corrections on Currency Symbols + + * FreeMono.sfd, FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More corrections, additions to Currency Symbols + + * FreeSans.sfd, FreeSerif.sfd: + + Filled out and corrected Currency Symbols + +2008-04-18 Steve White + * FreeSans.sfd, FreeSerif.sfd: + + Adjustments to Combining Marks for Symbols + Additions to range in Sans, and re-structured its marks table so that + "middle" can apply to any range + + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Made reference between combining koronis and lenis of Greek Extended. + In Serif, re-worked combining marks lookup tables, added anchors in + Latin, moved so without marks they work in kedit (but now I'm doubting + kedit does a reasonable thing...what is a better application for + testing this?) + +2008-04-16 Steve White + * FreeSerifItalic.sfd: + + Adjusting of spacing and accents in Greek + + * FreeMono.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansOblique.sfd, FreeSerif.sfd: + + Much futzing with Greek letter spacing and accents. + Added lenis to FreeMono. + + * FreeMono.sfd, FreeSerif.sfd: + + Adjusted spacing of dots of Greek dieresistonons in Serif + Whipped up something for Greek kappascript in Mono (could use revision) + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Raised dots on double-dotted Cyrillic i, to match that of i and j. + +2008-04-14 Steve White + * FreeMono.sfd: + + Corrected 27e6-7 "white bracket" + Note it is probably a FontForge bug these symbols aren't showing up. + FontForge thinks they are in Supplemental Arrows, but they should be + in Supplemental Math-A + + Named some Greek characters + + * FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd: + + Spacing of some Cyrillic characters + +2008-04-13 Steve White + * FreeSerif.sfd: + + Some fiddling with accents + 'yogh' was too wide + + * FreeSansBold.sfd, FreeSansOblique.sfd: + + Character spacing was chaos--tried to improve. BoldOblique also needs + it. + + * FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd: + + Completed the fix of bug #12798, Greek glyphs with accents to side + Much mucking with accents here, and fixed a few things that were just + wrong. + +2008-04-12 Steve White + * FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Made Mono curly quotes "bent" + + * FreeMono.sfd: + + More fiddling with Greek accents + Made quotes "bent" + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Adjustments on Greek diaresistonos etc. + Adjustments in Serif on combining marks for symbols + + * FreeSerif.sfd: + + More additions to Combining marks for Symbols + + Additions to Combining marks for Symbols -- now mostly full. + Lots of adjustments to middle anchor point in Latin to make big circle + (nearly) encircle preceding latter + +2008-04-11 Steve White + * FreeMono.sfd: + + Bugfix: + Had indroduce a glyph of width other than 600, making kterminal not + recognize it as a monospace font. + +2008-04-10 Steve White + * FreeSans.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More messing with accents. + Further to bug #12798, Greek glyphs with accents to side + Much messing with glyphs in Greek Extended range + +2008-04-09 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSerif.sfd: + + Revisited Latin-1 and Latin-A accents. + Glyph B7 was called "periodcentered", but Unicode callse it Mid Dot, + and the description doesn't refer to the period. I made it like the + dot accent. throughout, and referred L-dot to it. + + Also double-checked "commaaccent" characters (some in Unicode called + cedilla, but the Unicode example shows a comma...mystery) + + Also the funny IPA upside-down f often had two bars, incorrectly. + + To do: go through rest of Serif, and Sans + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Completed re-structuring of stacked Latin accents in Mono. + Also: lots of associated adjustments of Greek Extended accents. + (Trying to at least center extremely wide characters on their box) + Repaired some victems of "find overlaps" sweeps + Worked on glyphs with apostrope/comma parts + Corrected a few wrong glyphs. + + Trying out a "bent quotes" solution to making primes distinct from + quotes. + +2008-04-08 Steve White + * FreeMonoOblique.sfd: + + Toward reducing overall height + Did similar process as for Mono, fixing a few errors along the way. + Also the Greek Extended range was very messed up vertical and + horizontally. + Horizonal spacing of the heavily accented Greek is a real problem in + Mono... + To do: + revisit "commaaccent" characters in all faces: do some have + edillas? + some Hebrew glyphs are a little low + Georgian generally is way out of bounds + +2008-04-07 Steve White + * INSTALL: + + Various updates and corrections, tweeked formatting + + * FreeMonoBold.sfd: + + Tweeking of accents + +2008-04-06 Steve White + * FreeMono.sfd, FreeMonoBold.sfd: + + Re-worked accents in FreeMonoBold.sfd to make Latin ranges lie between + 800 and -200 EM, as with FreeMono. + + * FreeMono.sfd: + + Latin Extended ranges: Implemented new policy of shortening the letters + of the characters with the highest-stacked accents. + + At this point all the Latin glyphs lie betweeen 800 and -200 EM. + + Also checked for readability of all the Latin extended letters in xterm. + (Issue: it chops letters outside their bounding boxes; many accents had + been a bit outside. Made sure that if they were chopped, they were at + least still recognizable.) + +2008-04-05 Steve White + * FreeMono.sfd: + + Following exchange about Mono on freefont-bugs with Joe Wells, who + > doesn't like the curly quote marks + > wants combining diacritics to work + > wants tight line spacing + + Trying to reduce font height: + > exclamdown was below -200 + > Throughout Extended Greek, ypogegrammeni were too low. Shortened + glyph, and raised all references. + > Lots of messing with Latin Extended ranges to make glyphs mostly + fit into 800 height. Mostly succeeded. A couple will get chopped. + > Messed with "commaaccent" glyphs, which were very low + > Cyrillic 04B1 had a tail that was incorrectly low + > Much mucking with Georgian range. Moved up by 95 (read that Georgian + is written as though centered between two horizontal lines, rather than + as sitting on a baseline) There are still a few very high glyphs. + + FontForge U+0122 called Gcommaaccent, glyph looks like that, but + Unicode says it's Gcedilla. Made the ones called cedilla by Unicode + to be cedillas + + Note bug in Unicode: standard for 0122, 0123, 0136, 0137, 013B, 013C, + 0145, 0146, 0156, 0157 all talk about cedilla, say to make it with + cedilla, but example shows comma. + + By the way: + > Got rid of commaaccent and dotlessj in Corporate Use + > Replaced shadedark, with little squares now not overlapping. + > Corrected IPA symbol 'ts' 02A6, added 02a8, 02a9, 02aa, 02ab, 02ac, + 02ad, 02ae, 02af + + (so many changes...the CVS server was down...) + + * FreeSerif.sfd: + + Re-named arabic and hebrew characters + Big adjustment to comma-accents. Mostly effects Greek Extended. + Made such accents to be like comma, rather than like Russian apostrophe + (and de-referenced that symbol) + +2008-04-04 Steve White + * FreeMono.sfd, FreeSerif.sfd: + + Raised dot on superscript i (2071) -- more distinct at small sizes + + * FreeMono.sfd: + + added two IPA symbols + +2008-04-02 Steve White + * FreeSerif.sfd: + + fixed a few more control points too close + + Fixed names of languages in ligature table for latn "w/i". + This fixes a crash when FontForge opened the ttf table + + Motivated by bug crashing FontForge when opening ttf file, + started cleanup of useless control points. Not finished. + Got partway through Sinhala + +2008-03-31 Steve White + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Fixed various "Find Problems", including glyphs with mixed-up names, + and bad TT matrices. (lots more bad TT matrices remain) + + * FreeSerif.sfd: + + Re-named a bunch of Cyrillic letters + + * FreeSerif.sfd: + + Put above mark on Cyrillic i and double-dot i for Slavonic number forms + +2008-03-30 Steve White + * FreeSans.sfd: + + Tightened spacing on glyphs of last commit + + * FreeSans.sfd, FreeSerif.sfd: + + Concerning bug #16120, Include upper case Wynn and upper case Yogh + Adapted Herman Miller's Thyromanes letters 01F7 021C 021D for Serif + Drew my own versions for Sans. + + * FreeSerif.sfd: + + Added 04F6,7 + + * FreeSerif.sfd, FreeSerifItalic.sfd: + + Made more Cyrillic diacritics really combine. + Made a mark lookup just for Cyrillic diacritics, + Marked most of the unadorned Cyrillic alphabet. + + Still not clear on correct shapes for some of the marks. + + * FreeMono.sfd, FreeMonoOblique.sfd: + + Tweeks to accents + +2008-03-29 Steve White + * FreeSans.sfd, FreeSerifItalic.sfd: + + Small adjustments in Cyrillic + + * FreeSerif.sfd: + + Corrected small palochka + Made Cyrillic combining hundred-thousands and millions really combine + Named some combining diacriticals + + * FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd: + + Mostly adjusted horizontal spacing of mono oblique faces + + * FreeMono.sfd, FreeMonoBold.sfd, FreeMonoBoldOblique.sfd, FreeMonoOblique.sfd, FreeSansBold.sfd, FreeSansBoldOblique.sfd, FreeSansOblique.sfd, FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + More cleanup of Cyrillic ranges + + Completely re-did horizontal spacing of SerifItalic and SerifBoldItalic. + See bug #17912, poor kerning in Cyrillic oblique... + https://savannah.gnu.org/bugs/index.php?17912 + It looked like chaos to me. + Only so much can be done: the font is flawed. + But I think the changes make text readable in these faces. + + There were dozens of incorrect glyphs in higher-numbered characters. + I deleted all those I found. No glyph is better than a wrong glyph. + + Futzt with accents, shooting for consistency and readability. + + A maintenance thing: making correct references (acyrillic vs a, + although they may be the same glyph) I made a lot of headway, but + it isn't finished. + + Likewise, a large fraction of these are compound characters, which can + be made with references, resulting in easier maintenance, reduced + likelihood of errors, and smaller files. I replaced many. + + * FreeSerif.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Cyrillic italic + Added italic, bolditalic + 0493, 04a7, 04AD + because their form clearly varies in italic. But was just guessing... + + * FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Cyrillic italic + + Added italic, bolditalic + 0493, 04AD + because their form clearly varies in italic. + But was just guessing as to exact form. + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Overhaul of Cyrillic + + Italic, BoldItalic + added small yat for bug #22588 (note Times New Roman doesn't use + alternate form in Italic) + + All forms of Serif have big problems in Cyrillic. + + The ugliest is in roman. The letters, even of the Russian alphabet, are + of inconsistent height (awfully, small 0438 (ii) 0446 (tse)) + and they vary from the height of Latin + and they vary from the height of italic and bold. + They are a mish-mash of letters from several fonts, of similar (but not + quite identical) weight, and similar, (but not quite identical) size. + + I think the best solution would be to identify the face that best + matches Latin, and fill the range with that. I think this is possible + because the rarer letters seem to be better: the common letters are the + ones that are wrong. + + For now, I just increased the sized of 0438 and 0446, and 048a, 048b, + also 0459 (lje) 045A (nje) 0464 (dje) + + Other issues + +2008-03-27 Steve White + * FreeSerifBoldItalic.sfd: + + Moving all Greek capitals with accent so they don't cover previous + letter. Remedies bug #12798 + + * FreeSerif.sfd, FreeSerifBold.sfd, FreeSerifBoldItalic.sfd, FreeSerifItalic.sfd: + + Various tweeks to accented Latin letters. + Connected O-ogonek correctly + + * FreeSerifItalic.sfd: + + Accents of numerous accented Latin letters got shifted in a previous + commit. This fixes it. + + * FreeSerif.sfd: + + Adjusted combining tack left and right (0318-0319) to be above -300 EM. + + * FreeSans.sfd, FreeSerif.sfd: + + Added some "middle" marks for positioning of diacritics + + * FreeSans.sfd: + + Copied 4 enclosing combining diacriticals from Serif 20DD - 20E0 + + * FreeSerif.sfd: + + Adjusted and added some enclosing diacritics 20DD - 20E0 + In response to Debian bug #472566 + ttf-freefont: U+20DD COMBINING ENCOLSING CIRCLE doesn't combine + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472566 + +2008-03-26 Steve White + * FreeSerif.sfd: + + Lowered a few over-high Latin accents + + * FreeSansBold: + + Devangari--only digits 1 and 2, and nothing else. Deleted + + * FreeMonoBold, FreeMonoOblique, + FreeSerifBold, FreeSeriftalic, FreeSerifBoldItalic, + FreeSansOblique, FreeSansBold, FreeSansBoldOblique: + + Got rid of dotlessj, comma in Corporate Use + Single Substitution lookup, ccmp table + Made proper dotlessj, re-linked j-circumflex + + Note: + FreeSansBold has a commaaccent in Corporate Use, used by several other + characers. Haven't done anything about this. + +2008-03-25 Steve White + * FreeSerif.sfd: + + Added/corrected glyphs for yeh hamza in Arabic, + Added init and medi lookups for yeh hamza. + +2008-03-24 Steve White + * FreeSerif.sfd: + + Added isolated and final forms for + 0629 teh marbuta + 0624 waw hamza + 0626 yeh hamza + 0649 alef maksura + A previous commit had added lookups that referred to these, + + More fiddling with super/subscripts + + * Makefile, Makefile, GenerateTrueType: + + Scripts and Make targets to generate OpenType fonts and zip file + + * maintenance.txt: + + Added gnupload and info about tagging + +2008-03-23 Steve White + * FreeSerif.sfd: + + Last of Find Problems -> ATT + 'mark' Latin lookup: afii10026 is in 'cyrl', also afii10074 + Upper and lower Cyrillic i. Just removed mark from both letters. + + 'half' Bengali lookup Khanda_Ta is in 'bng2'. Added bng2 to lookup + Added TtTable etc + + Clean-up of Points too Close through to end of font. + This episode completes the paths/points clean-up of Serif. + But note: many ranges, esp. Ethiopic, Japanese, and Indic, have way + too many points, resulting in lumpiness. + + At this point, FontForge can convert splines to quadratic, auto-hint, + and auto-instrument without segfault. + + * Makefile, sfd/Makefile, tools/GenerateTrueType: + + Alterations to build process: added a Makefile, and made to work + on my system. Now auto-hints before generating TrueType. + +2008-03-22 Steve White + * sfd/FreeSans.sfd: + Lots of additions of math characters. Should complete for + LaTeX 2e, except for extensible brackets. + +2008-03-21 Steve White + * *.sfd: + + Regularized stacking of accents in Latin Extended Additional + Changed name of 00B5 from 'mu' to 'micro', + 2206 from 'Delta' to 'Delta.math', + 0308 from 'diaerisis' to 'diaerisiscomb' + + * FreeMono.sfd: + + additions to IPA + + * FreeMonoBoldOblique.sfd: + + Moved dotlessj from Corporate Use, + Deleted commaaccent there + Fixed mis-named glyphs tcommaaccent, Tcommaaccent + Changed name of 030A from 'dieresis' to 'ringcomb' + + * FreeSans.sfd: + + Added some arrows, and a couple of blackboard bold characters + + Several characters in U+F600 Corporate Use range + dotlessj, onefitted, commaaccent + + dotlessj referred to by: jcircumflex, uni01F0: + renamed it to uFFFF, re-linked others by hand + + commaaccent + http://diacritics.typo.cz/index.php?id=9 + should be u+0326 but wasn't linked to anything + + * FreeSansBold.sfd: + + U+0617 etc: read glyphs "4GWglm". It should be Arabic. Deleted + + * FreeSansBold.sfd, FreeSansOblique.sfd, FreeSansBoldOblique.sfd: + + Removed bogus glyphs for 200C 200D, ZWJ and ZWNJ + + * FreeSerif.sfd: + + Split lookup for ligatures in latin into two classes; + ff, ffl, fl which are appropriate for all languages, + and fi, ffi, which are not appropriate in Turkish (due to distinction + between short and long i) + Needs to be done for other faces. + + Filled set of extensible brackets in Miscellaneous Technical + + Think IPA is now complete. + +2008-03-18 Steve White + * FreeSans.sfd: + + clean-up of all path issues and points too close + +2008-03-18 Steve White + * FreeSans.sfd: + + Something was causing crashing effects in Windows. Cleanup of + problems eventually made it go away. Now works well. + + Cleaned up many "points too close" + + Cleaned up all ATT problems, of which there were many and various. + + # Incorrectly labelled zero-width joiner used in a ligature + + # Incorrect substitution of dotlessi and dotlessj with i and j was + somehow connected with FontForge crash. Attemts to remove the + substitution would damage a 'ccmp' table; subsequent changes would + result in FontForge crashing on save, and truncating the sfd file. + Surgically removed with vi. + + # A couple of Indic lookups had incorrect script DFLT; one had 'latn'. + + # Don't understand why there are scripts named + dev2 bng2 grj2 gur2 when there are already deva beng gurj guru + But anyway, lots of 'vatu' 'pres' 'haln' and 'liga' lookups contained + characters in the '2' scripts but were lablled only for the 'non-2' + ones. Added the '2' scripts to all these lookups. Suspect a mistake. + + Note: several of these problems are repeated in other Sans faces. + +2008-03-16 Steve White + * FreeMono.sfd: + + Cleanup of many path problems "points too close" + + Strove to make accents Latin Extended range legible at small sizes + + Named some unnamed characters; removed a duplicate + + At this point, all fonts are passing FontForge Validate. + +2008-03-15 Steve White + * FreeSerif.sfd: + + CJK punctuation: made some of the very high glyphs smaller (under 900EM) + The brackets in Sans were very ugly, and not even Sans-serif. + Serif: added extensible square brackets, diddled with integral + corrected direction of some added glyphs + + Several bugs having to do with missing glyphs in Tamil range. + Also a buggy ligature in Devangari. + + Shortened names of many lookup tables + + Futzt with some combining diacriticals + + Added extensible square brackets. + + * FreeSans.sfd: + + Changed names of a bunch of glyphs with invalid + TrueType names, in range 0x1025f+ (not real Unicode). + Took pains to retain information contained in the names. + Wonder if these glyphs have ever been of any use. + + CJK Punctuation: brackets were hand-drawn and very ugly. Improved. + + * *.sfd: + + Set OS/2 Metrics back to absolute 900/300. Offsets are not + interpreted uniformly. + + Cleanup of many path problems up to extrema and self-intersecting + + Ordered PS Blue values. + +2008-03-14 Steve White + * FreeSerif.sfd: + + Got rid of mixed references and contours + Cleanup of many path problems "points too close" + + Started clean-up to satisfy FontForge Validate + + Changed names of three glyphs in the + Tamil ligatures range...all clearly bugs. + + * FreeSans.sfd: + + Added slanted-hyphen + + * *.sfd: + + Unified OS/2 Metrics + Added Grid Fit + +2008-03-13 Steve White + * FreeSans.sfd: + + Rearranged PS BluesValues so they were in increasing order, + Made all 20 in width. + +2008-03-12 Steve White + * FreeSans.sfd, FreeMono.sfd: + + Added TrueType hinting tables. + Fixed glyphs that didn't convert well to quadratics + Got rid of mixed contours and refs + + * FreeSerifBold.sfd: + + Cleanup of path problems + +2008-03-11 Steve White + * FreeMonoOblique.sfd: + + Cleanup of path problems + +2008-03-09 Steve White + * FreeSerif.sfd: + + Corrected L-dot + Further cleanup of path/ref problems + + Found several ligatures that referred to a missing glyph "ZWJ". + Took this to mean the "zero width joiner" u+200D + + * *.sfd: + + Changed OS/2 metrics to be absolute 900/300 + + * FreeSerifItalic.sfd: + + Added Greek lunate epsilon + + * FreeMono.sfd: + + Many additions in math range + Reduced size of binary union, intersection, vee, wedge + Corrected empty set + Corrected logical 'assert' relations, etc. 22a2-22af + Efforts to make Math glyphs legible at small point sizes + + * FreeSans.sfd: + + Added Greek lunate epsilon and rho symbol + Unstacked more stacked diacriticals + + Further cleanup of path/reference problems + +2008-03-08 Steve White + * FreeSans.sfd, FreeSerif.sfd: + + Added some "n-ary" Math operators + + * FreeSerif.sfd: + + Further clean-up of path problems...up to Ethiopic + > Started adding and correcting Math operators for LaTeX 2e + > Corrected n-ary union, intersection, and spikes to be larger + than the binary operators + > Made (many of) the operators based on + - = to use those + symbols directly (by reference or copying). + > Added lunate epsilon + > Corrected empty set + > Tightened up spacing of some other technical characters + > Worked on some more math operators involving = + > triangle + > Several arrows + > Supplemental Arrows-A + + * FreeSans.sfd: + + Clean-up of font paths + Open self-intersecting outermost-clockwise missing-extrema + also flipped references (unlinked) + + Added Greek lunate epsilon and rho symbol + +2008-03-06 Steve White + * sfd/FreeSerif.sfd: Shortened and thickened the combining hook mark, + U+0309, to make more like Unicode samples. + Also see (bug #22499) un-stacked incorrectly stacked accents + +2008-03-05 Steve White + * sfd/FreeSerif.sfd: vertical lines: combining diacritical marks + corrected 0300 030D 0329 0348 (were rendered as straight apostrophes) + Spacing Modifier letters added 02C8 02CC + 02B9 02Ba prime and double-prime + Fixed positioning U+1EC8, 9, I with hook above + +2008-03-03 Steve White + * sfd/FreeSerif.sfd: TT strings updates. + updated Copyright to 2008 + Added Vendor URL as the Savannah freefont site + * sfd/FreeMono.sfd: A standard pangram as the Sample Text for Russian + It reads: In the thickets of the South once there was a citrus + ...--yes, but a fake specimen! + * sfd/*.sfd: Set the OS/2 Sup/Sub settings, which by default looked + like random trash. + +2008-03-02 Steve White + * sfd/FreeSerif.sfd: began cleanup of problems given by FontForge + "Find Problems" feature. (bug #22454) + +2008-03-01 Steve White + * sfd/FreeSerif.sfd: made Arabic work for text display (bug #22329) + Added required contextual replacement tables, + Made a few missing characters, + * sfd/*.sfd: Removde all back layers from glyphs that had them. + +2008-02-27 Steve White + * sfd/FreeSans.sfd: filled in Combining Diacriticals + * sfd/FreeSerif.sfd: shifted whole Arabic range down by 200EM. + +2008-02-26 Steve White + * sfd/FreeSerif.sfd: enabled DPOS table. + +2008-02-24 Steve White + * sfd/*.sfd: Much fiddling with the "combining diacriticals" + range 0300-036F. Made to align with medium-size lowercase + preceding character if not using DPOS table. + +2008-02-23 Steve White + * sfd/FreeSerif.sfd, FreeSans.sfd, FreeMono.sfd: (bug #21784) Filled + in set of HTML 4 Character Entities. + + * sfd/FreeSerif.sfd, FreeSans.sfd, FreeMono.sfd: (bug #18413) + undertie too low -- went on to tidy other similar characters in + Combining Diacriticals range. + +2008-02-21 Steve White + * sfd/*.sfd: Moved capital Greek letters with tonos so tonos doesn't + cover preceding letter (bug #12798) + + * sfd/FreeSerif.sfd, FreeSans.sfd: (bug #13370) made extended + integrals to line up. + +2008-02-20 Steve White + * sfd/*.sfd: started removing glyphs with back layers (printing bug) + * sfd/*.sfd: adjusted vulgar fractions (bug #17756) + * sfd/*.sfd: adjusted numerical superscripts (bug #20278) + +2008-02-18 Steve White + * sfd/FreeSerif.sfd: Offset Hiragana and Katakana ranges (bug #22326) + * sfd/FreeSerif.sfd: U+30FB, KATAKANA MIDDLE DOT to be full width + (bug #18326) + + * sfd/FreeSerif.sfd: Re-promoted + ff ffi ffl fi fl + as standard ligatures in Latin. + +2008-02-17 Steve White + * sfd/*.sfd: committed to FontForge Spline Font Database (SFD) 2 + format. + +2008-02-10 Steve White + * sfd/*.sfd: brought into line with Debian ttf-freefont + Deleted a couple of patches, and applied those applied to Debian. + +2006-09-20 Primoz Peterlin + + * INSTALL: added installation procedure for MacOS X, courtesy + Philipp Kempgen. + +2006-05-04 Primoz Peterlin + + * sfd/FreeMono.sfd: deleted Russian sample text, which did not + conform to UTF-7. + +2006-04-15 Primoz Peterlin + + * sfd/FreeSerif.sfd: corrected U+10D3. + + * sfd/FreeSans.sfd: ligature U+FB06 (LATIN SMALL LIGATURE S T) + changed from mandatory ("liga") to discretionary ("dlig") (bug + #16253). + + * sfd/FreeMono.sfd: deleted incomplete glyph U+FB06 (LATIN SMALL + LIGATURE S T); deleted U+FB00, U+FB01, U+FB02, U+FB05 as + ligatures (bug #16253). + + * sfd/FreeMonoOblique.sfd, sfd/FreeMonoBoldOblique.sfd: added + U+FB00; deleted U+FB01, U+FB02 as ligatures (bug #16253). + + * sfd/FreeMonoBold.sfd: deleted U+FB00, U+FB01, U+FB02 as + ligatures (bug #16253). + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd: added Georgian letters, donated by + Gia Shervashidze + +2006-02-22 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd: ligature U+FB4F + changed from mandatory ("liga") to discretionary ("dlig"). This is + respons to Bug#349657: [bug #15792] Freefont Alef and Lamed + combine + +2006-02-21 Primoz Peterlin + + * sfd/FreeSerifBold.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBoldOblique.sfd, + sfd/FreeSansBold.sfd: ligature U+FB4F changed from mandatory + ("liga") to discretionary ("dlig"). This is respons to Bug#349657: + [bug #15792] Freefont Alef and Lamed combine + + * sfd/FreeSerif.sfd: corrected bug#275759: [bug #15790] FreeSerif + glyphs for U+2198/U+2199 were reversed. + +2006-02-15 Denis Jacquerye + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeMonoBold.sfd: removed ij + and IJ ligatures. + +2006-02-10 Primoz Peterlin + + * sfd/FreeSerif.sfd: added small Georgian letters (mkhedruli), + donated by Gia Shervashidze + + * AUTHORS: Added Gia Shervashidze + + * CREDITS: Added Gia Shervashidze + +2006-01-26 Primoz Peterlin + + * notes/maintenance.txt: Added information on the Makefile now + used; username for FTP login is anonymous. + + * sfd/FreeSansBold.sfd: added U+0569, U+0571, U+0579, U+057B, + U+0586. Armenian small letters completed. + + * sfd/FreeSerif.sfd: added U+0297, U+02AD-02AF. IPA Extensions + section is now complete. Copied a dozen of glyphs from Omega IPA + to Phonetic Extension section. + +2006-01-25 Primoz Peterlin + + * sfd/FreeSans.sfd: added U+01A, U+01A3, U+01A6, U+01B2, U+01BA, + U+01BB, U+01BE, U+01BF. + + * sfd/FreeSans.sfd: aligned small Armenian letters to x-height in + response to bug #15480. Armenian in Free Sans needs a major + cleanup. + +2006-01-24 Primoz Peterlin + + * sfd/FreeSerif.sfd: changed U+0452, U+045B. Cleanup: U+0460, + U+0461, U+04Bc, U+04BD, U+0508. + + * sfd/FreeSansOblique.sfd: replaced accented chars in Latin-1 and + Latin Extended-B sections with references, where possible. + + * sfd/FreeSerif.sfd: changed U+0285. + +2006-01-23 Primoz Peterlin + + * sfd/FreeSans.sfd: added U+0195, U+01AA, U+0297, U+03D7, + U+03F0. Several flipped references replaced by outlines. + + * sfd/FreeSansOblique.sfd: Latin Extended-B section more or less + brought in sync with FreeSans. + + * sfd/FreeMonoBoldOblique.sfd: added glyphs from FreeMonoBold in + the Latin Extended-B and IPA Extensions sections. + + * sfd/FreeSerifBold.sfd: Added U+0224, U+0225. Changed U+01B7, + U+01B8, U+04E0, U+0452, U+045B. Replaced accented characters in + the Cyrillic region with references. + +2006-01-21 Primoz Peterlin + + * sfd/FreeSans.sfd: added U+0255, U+0264, U+0277, U+0286, + U+029D. Changed U+0261. Deleted spurious glyphs in the control + code area. + +2006-01-19 Primoz Peterlin + + * sfd/FreeSans.sfd: replaced Hardip Pannu Singh's Gurmukhi with + AnmolUni by Kulbir Singh Thind. + +2006-01-17 Primoz Peterlin + + * sfd/FreeSansBold.sfd: Added U+018D, U+0194, U+01B5, U+01B6, + U+01BE, U+0262, U+02A2. + + * sfd/FreeSansBold.sfd: Changed U+0261 in order to distinguish it + from U+0067. Changed U+0251, U+0252. + + * sfd/FreeSerifBold.sfd: Small changes in the Cyrillic + section. Added U+0183, U+018C. + + * sfd/FreeSans.sfd: Added U+2045, U+2046. + + * sfd/FreeSansBold.sfd: Filled in the Gurkmukhi part with the + AnmolUni-Bold by Kulbir Singh Thind. Also some minor corrections + in the Cyrillic part. + + * CREDITS: Added Kulbir Singh Thind. + + * AUTHORS: Added Kulbir Singh Thind. + +2006-01-14 Primoz Peterlin + + * sfd/FreeSerif.sfd: Thomas Ridgeway's Tamil characters replaced + by the ones released by the Samyak font project. + + * CREDITS: Added Pravin Satpute, Bageshri Salvi, Rahul Bhalerao + and Sandeep Shedmake + + * AUTHORS: Added Pravin Satpute, Bageshri Salvi, Rahul Bhalerao + and Sandeep Shedmake + +2006-01-08 Primoz Peterlin + + * sfd/FreeSansBold.sfd, sfd/FreeMonoBoldOblique.sfd: minor changes. + +2006-01-05 Denis Jacquerye + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd: added cedi sign U+20B5, Ghanaian + currency + +2005-12-29 Primoz Peterlin + + * sfd/FreeSans.sfd: minor cleanup in the Gujarati part. + +2005-12-22 Primoz Peterlin + + * sfd/FreeSans.sfd: Devanagari and Gujarati parts cleared; once + again merged with Gargi 1.9 and Padmaa 0.6, this time correctly so + that the anchor points survived the merger. + +2005-12-16 Primoz Peterlin + + * sfd/FreeSans.sfd: added U+0577. + +2005-12-15 Primoz Peterlin + + * sfd/FreeSans.sfd: added U+0559, U+055F, U+2024. + + * sfd/FreeSansBold.sfd: added U+056E, U+0573. + +2005-12-14 Primoz Peterlin + + * sfd/FreeSans.sfd: Merged with Gargi 1.9 and Padmaa 0.6, + courtesy Monika Shah and Sonali Sonania from C-DAC, Mumbai. + + * CREDITS: Added Monika Shah and Sonali Sonania. + + * AUTHORS: Added Monika Shah and Sonali Sonania. + +2005-12-13 Primoz Peterlin + + * sfd/FreeSans.sfd - Removed Sinhala glyphs. + + * sfd/FreeSerif.sfd - Added Sinhala glyphs, formerly in FreeSans. + +2005-12-09 Primoz Peterlin + + * sfd/FreeSerif.sfd: added U+20AF, U+211E. Changed U+20AC (EURO + SIGN). + + * tools/freefont-ttf.spec: Added specification file for building + RPM package, courtesy Rok Papez. + + * sfd/FreeSerifBold.sfd: added more glyphs from Txfonts to the + Arrows and Mathematical Symbols ranges. + + * sfd/FreeSerifBoldItalic.sfd: added U+03F5 from Txfonts. + +2005-12-08 Primoz Peterlin + + * sfd/FreeSans.sfd: added U+0567, U+056A, U+056C, U+0582. + + * sfd/FreeSerifBold.sfd: copied Box Drawing range from FreeSans. + + * sfd/FreeSerifBold.sfd: added glyphs from Txfonts to the Arrows + and Mathematical Symbols ranges. + + * sfd/FreeSerif.sfd: added U+2259-225A, U+22BA, U+2308-230B, + U+2322-2323. Cyrillic composite characters replaced with + references. + +2005-12-07 Primoz Peterlin + + * sfd/FreeSerifBold.sfd: added U+025A, U+025D, U+026B, U+029B, + U+02AE, U+02AF, U+02DE. + + * sfd/FreeSerifBold.sfd: updated Hebrew part with Drugulin font + from the Culmus project. + + * sfd/FreeSerif.sfd: added U+207A-207C, U+208A-208C, U+2215-2216. + + * sfd/FreeSans.sfd: added U+2320 TOP HALF INTEGRAL, U+23AE + INTEGRAL EXTENSION, U+2321 BOTTOM HALF INTEGRAL (bug #13370). + +2005-12-07 Primoz Peterlin + + * sfd/FreeSerifBold.sfd: added U+0294-0296, U+02A1-02A2. Started + adding "below" anchors. Performed hinting on characters that were + not hinted "en masse". + +2005-12-06 Primoz Peterlin + + * sfd/FreeSans.sfd: fixed some more metrics problems in the + Extended Greek area; performed hinting on characters that were not + hinted "en masse". + + * Makefile: clean also signature files. + + * sfd/FreeMonoBoldOblique.sfd, sfd/FreeMonoBold.sfd: cosmetic + changes; cleaning background of referenced composed characters. + +2005-12-05 Panayotis Katsaloulis + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd: Some changes to the greek glyphs, + mostly having to do with "tonos" (accent) + +2005-12-05 Primoz Peterlin + + * sfd/FreeSans.sfd: minor cosmetic changes. + + * sfd/FreeSans.sfd: adjusted widths of characters in the Extended + Greek range; accents are not any more considerably overhanging on + the left side. Added U+1EDA-1EE3, U+1EE8-1EF1. + + * sfd/FreeSans.sfd: continued working on Extended Greek range; + metrics still not finished. + +2005-12-03 Primoz Peterlin + + * sfd/FreeSans.sfd: fixed combined Greek accents (bug + #12800). Width of characters still need to be adjusted as in + FreeSerif. + + * sfd/FreeSerif.sfd: fixed positions of Greek accents (bug #12798). + + * CREDITS: Added Panayotis Katsaloulis. + + * AUTHORS: Added Panayotis Katsaloulis. + + * Makefile: minor changes; now creating also a tarfile with sfds. + +2005-12-01 Primoz Peterlin + + * sfd/FreeSerifItalic.sfd: added U+0183, U+018C, U+01C0, U+01C1, + U+01C3, U+01E0, U+01E1, U+01F8, U+01F9. + + * Makefile: created a Makefile to assist building. + + * README: an update. + + * COPYING: added GNU General Public License, version 2. + + * tools/GenerateTrueType: wrote a FontForge script for conversion + to TrueType. + + * sfd/FreeSerif.sfd: merged with SolaimanLipi Bangla OpenType font + from www.ekushey.org, courtesy Solaiman Karim. + + * sfd/FreeSerifItalic.sfd: merged with SolaimanLipi Bangla + OpenType font from www.ekushey.org, slanted by 15.5 degrees. + + * sfd/FreeSans.sfd: merged with Rupali Bangla OpenType font from + www.ekushey.org + + * sfd/FreeSansOblique.sfd: merged with Rupali Bangla OpenType font from + www.ekushey.org, slanted by 12 degrees. + + * CREDITS: added Solaiman Karim + + * AUTHORS: added Solaiman Karim + +2005-11-30 Primoz Peterlin + + * sfd/FreeSerif.sfd: merged with the Rachana Normal. + + * AUTHORS: added K.H. Hussain and R. Chitrajan + + * CREDITS: added K.H. Hussain and R. Chitrajan + +2005-11-23 Primoz Peterlin + + * sfd/FreeSans.sfd - cleaned some background images. + + * sfd/FreeSans.sfd - added U+01A0-01A1, U+01AF-01B0, U+026E, + U+028F, U+0291, U+02A3-02A5, U+031B. Modified U+0198. + +2005-11-22 Primoz Peterlin + + * sfd/FreeSans.sfd - added U+2504-250B. + + * sfd/FreeSans.sfd - added U+2591-25A1, U+25A3-25A5, U+25AA, U+25AC. + + * sfd/FreeSans.sfd, sfd/FreeSansBold.sfd - added U+0263. + +2005-11-21 Primoz Peterlin + + * sfd/FreeMono.sfd - corrected positions of some Greek diacritics + on page 0x1F. + + * sfd/FreeMonoOblique.sfd - working on bringing it in sync with + FreeMono.sfd. + + * sfd/FreeSerifBoldItalic.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Added a couple of + glyphs in the IPA Extensions region. + + * sfd/FreeSansBold.sfd - added U+0574, U+0576. Removed overlaps. + +2005-11-20 Primoz Peterlin + + * sfd/FreeSerif.sfd - added U+02AA-02AC, U+02B0-02B2. + +2005-11-19 Primoz Peterlin + + * sfd/FreeSans.sfd - added U+01B7-01B9, U+0196, U+019A, U+01C3, + U+0224-0225, U+025E, U+029A, U+2422. Changed U+0184-0185, U+0192, + U+01B4, U+0282, U+0284. + +2005-11-18 Primoz Peterlin + + * sfd/FreeSerif.sfd - added U+02EE, U+207F. + + * sfd/FreeSans.sfd - started Box Drawing area. + +2005-11-17 Primoz Peterlin + + * sfd/FreeSerifBold.sfd - added glyphs from the Omega project to + Latin Extended-B, IPA Extensions and Greek ranges. + + * sfd/FreeSerifBoldItalic.sfd - added glyphs from the Omega + project to Latin Extended-B, IPA Extensions and Greek ranges. + + * sfd/FreeSerifItalic.sfd - added glyphs from the Omega + project to Latin Extended-B, IPA Extensions and Greek ranges. + + * sfd/FreeSerifItalic.sfd - added U+018B, U+025C, U+0265, U+026F, + U+0279, U+0287, U+028C-028E, U+029E. + + * sfd/FreeSerifBoldItalic.sfd - added U+1EDA-1EE3, U+1EE8-1EF1, + U+2190-219B, U+219E-21A8, U+21B9-21BA, U+21C4-21CA, U+21E4-21E5, + U+2669-266F. MES-1 compliant. + + * sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSansOblique.sfd, + sfd/FreeSansBold.sfd, sfd/FreeSansBoldOblique.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - added U+FFFD. + + * sfd/FreeSerif.sfd - removed overlaps in Latin Extended-B and IPA + Extensions ranges. + +2005-11-16 Primoz Peterlin + + * sfd/FreeSerifItalic.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. + + * sfd/papers/eurotex2003/freefont.tex, + sfd/papers/eurotex2003/freefont.bib - Revised version, sent back + by Karl Berry on 20050110, that should match the one published in + TUGboat. + + * sfd/FreeSerifItalic.sfd - started added accent anchors. Added a + handful of Greek letters from Omega font collection. + + * sfd/FreeSerif.sfd - added a handful of letters in the Latin + Extended-B and IPA Extension ranges from the Omega font collection. + +2005-11-16 Denis Jacquerye + + * sfd/FreeSerif.sfd - moved U+0263 to U+0264; added U+0263 + + * sfd/FreeSerifItalic.sfd - fixe U+01EE; added U+01B7-U+01B9 + +2005-11-16 Primoz Peterlin + + * sfd/FreeSans.sfd - Made small Greek letters the same height as + Latin and Cyrillic ones and replaced them with references, where + applicable. + + * sfd/FreeSerif.sfd - replaced Greek letters with references, + where applicable. Added U+03D7, U+03F0-03F2. + + * sfd/FreeSerif.sfd - added U+0255, U+025A, U+025D, U+025F, + U+0262-0263, U+026B-026C, U+0274, U+0276-0277, U+028F, U+0291, + U+029D. + + * sfd/FreeMonoOblique.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Added U+F6BE. + + * sfd/FreeSansOblique.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. + + * sfd/FreeSans.sfd - changed U+01A5. + +2005-11-16 Primoz Peterlin + + * sfd/FreeSans.sfd - applied the sequence suggested by Werner + Lemberg for reducing redundant points. Replaced accented glyphs in + the Latin-1 and Latin Extended-A areas with references. Made + capital Greek letters the same height as Latin and Cyrillic ones + and replaced them with references, where applicable. + +2005-11-15 Denis Jacquerye + + * sfd/FreeSans.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSansOblique.sfd - fixed + U+026A, it was a dotlessi and therefore like U+0069 when + accented. + +2005-11-15 Primoz Peterlin + + * sfd/FreeMonoBold.sfd - corrected Greek tonos (slanted instead of + a vertical line). + + * sfd/FreeMonoBoldOblique.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Replaced accented + glyphs in the Latin-1 and Latin Extended-A areas with references. + +2005-11-14 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - Added 2005 in copyright info. + + * sfd/FreeSansBoldOblique.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Replaced accented + glyphs in the Latin-1 area with references. + + * sfd/FreeSansBoldOblique.sfd - added U+0180, U+0184, U+0185, + U+0195, U+01A0-01A2, U+01AF-01B0, U+025E, U+026E, U+0292, + U+0294-0296, U+029A, U+02A1, U+2126-2127, U+2190-219B, + U+219E-21A8, U+21C4-21CA, U+2669-266F. MES-1 compliant. + + * sfd/FreeMono.sfd - Replaced accented glyphs in the Greek and + Cyrillic areas with references. + + * sfd/FreeMonoBold.sfd - applied the sequence suggested by Werner + Lemberg for reducing redundant points. Replaced accented glyphs in + the Latin-1 and Latin Extended-A areas with references. + +2005-11-14 Primoz Peterlin + + * sfd/FreeSerif.sfd - applied the sequence suggested by Werner + Lemberg for reducing redundant points. + + * sfd/FreeSansBold.sfd - added U+219A, U+219B, U+2669-266F. + + * sfd/FreeSerifBold.sfd - added U+2669-266F. + +2005-11-12 Primoz Peterlin + + * sfd/FreeSansBold.sfd - added U+0180, U+0181, U+0183, U+0187, + U+0188, U+018A, U+018C, U+018D, U+0193, U+019C, U+01A0, U+01A1, + U+01AC, U+01AF, U+01B0, U+025C, U+0260, U+026E, U+0277, U+0281, + U+0284. + +2005-11-11 Primoz Peterlin + + * sfd/FreeSansBold.sfd - added U+195, U+1A6, U+025E, U+026E, + U+029A, U+0313, U+0314, U+0342, U+0344, U+0345. Started adding + accent anchors. + + * sfd/FreeMono.sfd - applied the sequence for reducing redundant + points, suggested by Werner Lemberg. + + * sfd/FreeMono.sfd - corrected Greek letters (using tonos instead + of a vertical line). Added U+026E, U+F6BE. Accented characters in + Latin 1, Latin Extended A and partly Latin Extended B replaced by + references. + + * sfd/FreeSerifBold.sfd - applied the sequence for reducing + redundant points, suggested by Werner Lemberg. Added U+01A5, + U+02A0, U+2190-219B, U+219E-21A8, U+21B8, U+21B9, U+21C4-21CA, + U+21E4, U+21E5. + +2005-11-10 Primoz Peterlin + + * sfd/FreeSansOblique - changed U+0192, U+01A5; added U+01C0-01C3. + + * sfd/FreeSansBold.sfd - replaced glyphs with references in the + Cyrillic area. Removed U+04A8, U+04A9. Added U+04C5, U+04C6, + U+04C9, U+04CA, U+04CD, U+04CE, U+0535, U+053F, U+0546, U+0565, + U+0584, U+0587, U+0589. + +2005-11-10 Denis Jacquerye + + * sfd/FreeSans.sfd - added U+028A-U+028B + + * sfd/FreeSansOblique - added U+028A-U+028B, U+0276, + U+0292, U+0294-U+0296, U+0298-U+0299 and U+029B; fixed some + other glyphs + +2005-11-10 Primoz Peterlin + + * sfd/FreeSerif.sfd - added U+01A6. Simplified outlines in the + ASCII range. + + * sfd/FreeSansBold.sfd - added U+00A0, U+00AD, U+0531, U+2126, + U+2190-2199, U+219E-21A8, U+21C4-21CA. + + * sfd/FreeSansBold.sfd - applied the sequence for reducing + redundant points, suggested by Werner Lemberg. Added automatically + constructed accented characters in page 0x1E. + +2005-11-09 Primoz Peterlin + + * sfd/FreeSerif.sfd - added U+0183, U+018C. + + * sfd/FreeSans.sfd - added U+1EA2, U+1EA3, U+1EA8, U+1EA9, U+1EB2, + U+1EB3, U+1EBA, U+1EBB, U+1EC2, U+1EC3, U+1EC8, U+1EC9, U+1ECE, + U+1ECF, U+1ED4, U+1ED5, U+1EE6, U+1EE7, U+1EF6, U+1EF7, U+220A, + U+220B, U+220D, U+2272, U+2273, U+2282, U+2283. + + * sfd/FreeSerifItalic.sfd - changed U+03D5. + + * sfd/FreeSerifBoldItalic.sfd - changed U+03C6; added U+2070, + U+2075-2079, U+207F, U+2080, U+2085-2089, U+2155-217F. + + * sfd/FreeSerif.sfd - added U+0184, U+0185, U+018D, U+0195, + U+0197, U+019A, U+019B, U+01A0, U+01A1, U+01AC, U+01B5, U+01B6, + U+01C0, U+01C1, U+01C3, U+01F6, U+0294-0296, U+1E9A, U+1EDA-1EE3, + U+1EE8-1EF1. + +2005-11-07 Primoz Peterlin + + * sfd/FreeSansBold.sfd - added U+0562, U+056D. U+0575. + + * sfd/FreeMono.sfd - added U+0589. + +2005-11-06 Primoz Peterlin + + * sfd/FreeSans.sfd - added U+0278, U+03D5, U+2248. Corrected + U+2071, U+222E, U+2242, U+2243 in response to bug reports + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276118 + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276120 + + * sfd/FreeMono.sfd - added U+2227, U+2228, U+2262. Corrected + U+2299-229D in response to bug report + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276121 + + * sfd/FreeMonoBold.sfd - added U+2010, U+2012 in response to bug + report http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=289032 + Swapped U+03C6 (Greek small letter phi) and U+03D5 (Greek phi + symbol) in order to conform to Unicode standard. Simplified glyph + shapes in ASCII range. Started adding "above" and "below" anchors. + +2005-11-05 Primoz Peterlin + + * sfd/FreeSerif.sfd - accented letters in Latin Extended-A + replaced by references wherever possible. + + * sfd/FreeSerif.sfd - added U+0180, U+0181, U+0187, U+0188, + U+018A, U+0193, U+019C, U+01A4, U+01A5, U+01A7, U+01A8, U+01AF, + U+01B0, U+026E, U+0270, U+0278, U+0280, U+0281, U+028B, U+0299, + U+029C, U+029F. + +2005-11-03 Primoz Peterlin + + * sfd/FreeSansBold.sfd - added U+0180, U+0184, U+0185, U+0192, + U+019B, U+01A0-01A2, U+01AF, U+01B0, U+01EE, U+01EF, U+0292, + U+0294-0296, U+02A1, U+0532, U+054C, U+057C, U+222B. Changed + U+014B, U+01A5, U+01B4, U+03BB. + + * sfd/FreeSans.sfd - added U+04C5, U+04C6, U+04C9, U+04CA, U+04D, + U+04CE. + + * sfd/FreeSansBold.sfd - cleaner Arabic outlines. Added U+01E4, + U+01E5. + +2005-11-02 Primoz Peterlin + + * sfd/FreeSansBold.sfd - started Armenian; added U+0538, U+0542, + U+0544, U+0548, U+054D, U+054F, U+0550, U+0553, U+0555, U+0561, + U+0563, U+0564, U+0566, U+0568 U+056B, U+056F, U+0570, U+0572, + U+0578, U+057A, U+057D-057F, U+0580, U+0581, U+0583, U+0585. + + * sfd/FreeMono.sfd - swapped U+03C6 (Greek small letter phi) and + U+03D5 (Greek phi symbol) in order to conform to Unicode standard. + Added U+04C5, U+04C6, U+04C9, U+04CA, U+04D, U+04CE. + +2005-11-01 Primoz Peterlin + + * sfd/FreeSansBold.sfd - modified U+019C. + + * sfd/FreeSansBoldOblique.sfd - added U+00A0, U+00AD, U+019C, + U+01B7, U+01B8, U+0275, U+0278, U+0298, U+2012, U+2015, + U+2070-207F, U+2080-208E, U+2153-217F, U+2213, U+2215. + +2005-10-31 Primoz Peterlin + + * sfd/FreeSerif.sfd - added U+0199, U+01AB, U+0265, U+0282, + U+0288, U+028C-028E, U+0290, U+029E, U+02A0. + +2005-10-28 Primoz Peterlin + + * sfd/FreeSerifBold.sfd - added U+019E, U+01AB, U+01AD, U+01B1, + U+0256, U+025F, U+0265, U+0269, U+026F, U+0270, U+0279-027F, + U+0282, U+0287, U+0288, U+028C-028E, U+0290. + + * sfd/FreeSerifBold.sfd - added U+2070, U+2075-2079, U+2080, + U+2085-2089, U+2153-215E, U+2113-2115, U+2119. + + * sfd/FreeSerifBold.sfd - added U+0199, U+019B, U+01B8, U+01B9, + U+01BE, U+01C0, U+0262, U+0274, U+0278, U+0280, U+028F, U+0298, + U+0299, U+029C, U+029E, U+029F, U+2012, U+2015, U+2016, U+2129, + U+2217. + +2005-10-27 Primoz Peterlin + + * sfd/FreeSans.sfd - added U+018D, U+0194, U+019B, U+019C, U+01B5, + U+01B6, U+0295, U+0296, U+029B, U+02A2, U+0472, U+0473, U+2114, + U+2119. + + * sfd/FreeSerifItalic.sfd - minor cleanup in the superscript range + (U+2070-2079). + + * sfd/FreeSansBold.sfd - added subscripts and superscripts + (U+2070-208F), completed fractions (U+2152-215F) and Roman + numerals (U+2160-217F). + + * sfd/FreeSerifBold.sfd - added U+018B, U+018E, U+018F, U+0191, + U+019D, U+01A7, U+01A8, U+01AE, U+0253, U+0266, U+0267, U+026A, + U+0271-0273, U+0283, U+0285. + +2005-10-26 Primoz Peterlin + + * sfd/FreeSans.sfd - added "above" anchors to selected Cyrillic + characters. Added U+0294, U+02A1. + + * sfd/FreeMono.sfd - added U+2011, U+2012, U+203B, U+204A, U+2071, + U+2129, U+2232, U+2233. Changed and/or corrected U+2106, U+211E, + U+2126, U+2127, U+2153-215F, U+2202. + + * sfd/FreeMono.sfd - a try to imitate Denis' work on adding + anchors by adding "above" anchor to a couple of basic Latin + characters. + + * sfd/FreeSansBold.sfd - added U+0278, U+0298. Cleaned up outlines + of most Greek letters. + + * sfd/FreeSansBold.sfd - Added U+2010-2012, U+2015, U+2032, + U+203C, U+2047-2049. + + * sfd/FreeSans.sfd - Added U+01C0-01C2, U+0276, U+0292, + U+0298. Changed U+0251, U+0294, U+02A1. + +2005-10-25 Primoz Peterlin + + * sfd/FreeSerifItalic.sfd - added U+00A0, U+00AD, U+2010-2012, + U+2015, U+2126, U+2127, U+2153-215E, U+2160-217F, U+2190-2193, + U+2669-266F. FreeSerifItalic is now MES-1 compliant. + + * sfd/FreeSerif.sfd - added U+0191, U+019D, U+01AE, U+027E, + U+027F, U+0283, U+0285. + + * sfd/FreeSerif.sfd - added U+019E, U+01AD, U+01B8, U+01B9, + U+0253, U+0256, U+0257, U+025C, U+0260, U+0266, U+0267, U+0269, + U+026D, U+0271-0273, U+0279-027D. + + * sfd/FreeSerifBoldItalic.sfd - added U+00A0, U+00AD, U+2010-2012, + U+2015, U+2032-2034, U+203C, U+2047-204A, U+2074, U+2081-2084, + U+2126, U+2153, U+2154, U+215F, U+2215. Corrected positions of + diacritics on U+0200-0217. + + * sfd/FreeSansOblique.sfd, sfd/FreeSans.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeMonoBoldOblique.sfd, + sfd/FreeMonoBold.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBold.sfd sfd/FreeSerifBoldItalic.sfd - brought in + sync with Valek Filipov's urw-fonts-1.0.7pre41. + + * sfd/FreeSansOblique.sfd - added U+00A0, U+2011-2012, U+2015, + U+2070, U+2071, U+2074-2079, U+2080-2089, U+2126, U+2153-215F, + U+2190-2195, U+2215, U+266A. FreeSansOblique is now MES-1 + compliant. + +2005-10-24 Denis Jacquerye + + * sfd/FreeSans.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBoldOblique.sfd - added + ccmp for i and j to be substituted with dotless i or j when + followed by above diacritic + +2005-10-24 Primoz Peterlin + + * sfd/FreeSans.sfd - added U+2011, U+2012, U+2015. FreeSans is now + MES-1 conformant. + +2005-10-23 Denis Jacquerye + + * sfd/FreeSans.sfd - added above, below, abovemk and belowmk + anchors for diacritics placement to many Basic Latin characters, + some Latin Extented A and B, and some IPA characters; fixed a + couple of precomposed characters to have diacritics at the same + height as similar characters. + +2005-10-21 Primoz Peterlin + + * sfd/FreeSerif.sfd - added U+02B9, U+02BA, U+02CD, U+2017, + U+2036, U+2037, U+203C, U+203E, U+2047-204A. + +2005-10-20 Primoz Peterlin + + * sfd/FreeSerifBold.sfd - added U+0182, U+0189, U+0192, U+019F, + U+01A9, U+01B7, U+01C4-01CC, U+01E0-1E2, U+01F0-01F3, U+F6BE. + Corrected position of diacritics on U+0200-0217. + + * sfd/FreeSerif.sfd - added U+00A0, U+00AD, U+0182, U+0189, + U+018B, U+018E, U+018F, U+0192, U+019F, U+01A9, U+01B1, U+01B7, + U+01DD, U+2010-2013, U+2015. FreeSerif is now MES-1 conformant. + +2005-10-19 Denis Jacquerye + + * sfd/FreeSerif.sfd - added U+0268, U+026A, U+0289, U+0292; and + anchor "above" to more base glyphs. + + * sfd/FreeSerifBold.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBoldItalic.sfd - added U+0250-0252, U+0258-0259, + U+0261, U+0268, U+026A, U+0279, U+0289 + + * sfd/FreeSerifBold.sfd - added anchor "above" to marks + U+0300-0314, and to base glyphs (vowels). + +2005-10-18 Denis Jacquerye + + * sfd/FreeSerif.sfd - added anchor "above" to marks U+0300-0314, + and bases vowel of the U+0041-007A range, U+00E6, U+0186, U+0190, + U+0254 and U+025B; fixed Latin-1 Supplement block accented glyphs + to use references. + +2005-10-17 Primoz Peterlin + + * sfd/FreeSansBold.sfd - added U+01B7, U+01B8, U+0275. + +2005-10-16 Denis Jacquerye + * sfd/FreeSans.sfd, sfd/FreeSansOblique.sfd - added some Latin + Extended-B African letters: U+0181, U+018A, U+0197-0198, U+01A4, + U+01AC, U+01B1, U+01B3-01B4; + + * sfd/FreeSansBold.sfd, sfd/FreeSansBoldOblique.sfd - added Latin + Extended-B U+0187, 018E-018F, U+0191, U+0193, U+0197-0199, + U+019D-019F, U+01AB-01AE; correcting width of non-space + Combining Diacrtical Marks; added more glyphs to IPA Extensions + to match non Bold + + * sfd/FreeSansBoldOblique.sfd - added many accented glyphs to + Latin Extended-B + +2005-10-15 Denis Jacquerye + * sfd/FreeSans.sfd, sfd/FreeSansOblique.sfd - added IPA Extensions + U+0262,U+0274,U+0280-0281, U+0299, U+029F, and Spacing Modifier + Letters U+02C9-02CB; fixed U+0287,029E height to baseline; added + stroke to U+0268 + + * sfd/FreeSansOblique.sfd - fixed skew on U+027F + + * sfd/FreeSansBold.sfd, sfd/FreeSansBoldOblique.sfd - added to Latin + Extended-B U+01A7-01A8, IPA Extensions U+0251-0253, U+0256-0257, + U+0261, U+0265-026A, U+026F-0273, U+0289, U+028C-028E + + * sfd/FreeSansBoldOblique.sfd - added to Latin extended-B U+0189, + U+01A8, U+01B1, U+0283, U+02C9 and Spacing Modifiers U+02C9-02CB + +2005-10-14 Primoz Peterlin + + * sfd/FreeSansBold.sfd - Added a couple of composite glyphs, + mostly in the IPA and Latin Extended B ranges. + +2005-10-13 Denis Jacquerye + + * FreeSans.sfd - removed overlap and simplified U+0187, 0191, + 0193, 01A5, 01AE, 0260, 0271, 0272, 0273, 027B; fixed diacritics + placement on U+0200-0217; fixed glyph for U+0283 to correct esh + without stroke; added U+025F and fixed U+025F from it; fixed + height of glyph at U+0285; arranged U+027E,027F to make more + distinguishable from U+0072. + + * FreeSansOblique.sfd - added the corrected or new glyphs from + FreeSans; diacritics on U+200-0217 will need height readjustements. + + * FreeSansBold.sfd, FreeSansBoldOblique.sfd - added U+0186, 0190, + 0250, 0254, 0258, 0259, 025B, 025C + +2005-10-13 Primoz Peterlin + + * sfd/FreeSerif.sfd - Minor changes: U+22A2, U+22A3, U+22A6, U+23AE. + Added U+0250, U+0251, U+0258, U+0259, U+0275. + + * sfd/FreeSerifItalic.sfd - Added glyphs U+222B-U+222F, U+2320, + U+2321. Fixed diacritics on U+0200-U+0217. + +2005-10-12 Denis Jacquerye + + * sfd/FreeSerif.sfd - Corrected diacritics position on + U+01D5-01D9,01DB,01EA-01ED,0200-0217 and U+022A. + + * sfd/FreeSerif.sfd, sfd/FreeSerifBold.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBoldItalic.sfd - added U+0186,0190,0254 and U+025B. + +2005-10-11 Primoz Peterlin + + * sfd/FreeSerif.sfd - Fixed bug #13399 (glyphs for U+0360 and + U+0361 were swapped). + + * sfd/FreeSerif.sfd - Attempt to correct bug #13370: INTEGRAL + EXTENSION does not align with TOP/BOTTOM HALF INTEGRAL; added + glyph U+23AE. + +2005-05-16 Primoz Peterlin + + * sfd/FreeMono.sfd - Corrected shapes for Cross of Lorraine and + Cross of Jerusalem. + +2005-04-07 Primoz Peterlin + + * sfd/FreeSansBold.sfd - Added some combining accents, just to + test the a version of FontForge. + +2003-12-05 Primoz Peterlin + + * sfd/FreeMono.sfd - Some composite Latin characters rebuilt, as + they had accents 600 points to the left due to changes on October + 2. Some other minor changes in the mathematics area. + +2003-10-08 Primoz Peterlin + + * sfd/FreeMonoOblique.sfd, sfd/FreeSerifBoldItalic.sfd, + FreeSerifItalic.sfd - applied Josef Segur's corrections from + Oct. 5. + +2003-10-02 Primoz Peterlin + + * sfd/FreeSerif.sfd - Abbas Izad's contributed Arabic/Farsi + characters added. + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - Combining characters (U+0300 - + U+036F) moved left, so that they have negative horizontal values + and zero advance width. + +2003-09-15 Primoz Peterlin + + * sfd/FreeSerifBold.sfd, sfd/FreeSerifItalic.sfd - Started working + on super- and subscripts. + +2003-09-12 Primoz Peterlin + + * sfd/FreeSans.sfd, sfd/FreeSerif.sfd - Added some missing + Hiragana and Katakana characters. + + * sfd/FreeSansBold.sfd - Cleared background characters in Latin + Extended-A. Added some automatically constructed characters in + Latin Extended-B. Started with superscripts and subscripts. + + * sfd/FreeSans.sfd - Subscript numerals (U+2080-U+2089) completed. + +2003-05-19 Primoz Peterlin + + * sfd/FreeSerif.sfd - Thai characters po pla and bo baimai + swapped; Thai character fongman corrected; all courtesy Theppitak + Karoonboonyanan. + +2003-05-17 Panayotis Katsaloulis + + * sfd/FreeSerif.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBold.sfd, sfd/FreeSerifBoldItalic.sfd - Full support + of all ancient greek glyphs + +2003-05-15 Primoz Peterlin + + * tools/KerningNumerals.pl - A Perl script for moving kerning + information from ASCII numerals (U+0030...) to characters in the + Adobe corporate use area (U+F6xx). + + * sfd/FreeSansBold.sfd, sfd/FreeSansOblique.sfd, + sfd/FreeSansBoldOblique.sfd - Created kerned numerals in the Adobe + corporate use area (U+F6xx) and moved kerning information from + ASCII numerals to the kerned numerals. + +2003-05-14 Primoz Peterlin + + * sfd/FreeSans.sfd - First approximation of super- and subscript + numerals and vulgar fractions. + + * sfd/FreeSerif.sfd - Super- and subscript numerals complete, + vulgar fractions completed and redone as references rather than + outlines. + +2003-05-12 Primoz Peterlin + + * sfd/FreeSerif.sfd - Clean-up of the Cyrillic letters added on + March 27; super- and subscripts, vulgar fractions. + +2003-05-09 Primoz Peterlin + + * sfd/FreeMonoBold.sfd - Added a couple of characters to + the Latin Extended-B area and the IPA extensions area. + +2003-05-08 Primoz Peterlin + + * sfd/FreeSerifBoldItalic.sfd - Added a couple of characters to + the Latin Extended-B area. + + * sfd/FreeSerif.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBold.sfd, sfd/FreeSerifBoldItalic.sfd - ASCII + numerals now monospaced; kerned numerals moved to Adobe corporate + use area + (U+F6xx). + +2003-05-07 Primoz Peterlin + + * sfd/FreeSerif.sfd - Roman numerals now more complete. + + * sfd/FreeSansOblique.sfd, sfd/FreeSansBoldOblique.sfd - Accented + characters added in the Latin Extended-B area. + + * sfd/FreeSans.sfd - Greek accents added in the Greek Extended + area, characters added in the Latin Extended-B area, Roman + numerals added. + + * sfd/FreeMonoOblique.sfd - Kerning pairs removed (what were they + doing in a monospaced font, anyway?). + + * sfd/FreeMonoBoldOblique.sfd - Additions in Latin Extended-B and + Basic Greek. + + * sfd/FreeMono.sfd, sfd/FreeMonoBold.sfd, sfd/FreeMonoOblique.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansBold.sfd, sfd/FreeSansOblique.sfd, + sfd/FreeSansBoldOblique.sfd - Major cleanup (fixed widths, open + paths, path directions (clockwise/counter-clockwise), points + rounded to integer values; outlines simplified etc.) + +2003-05-06 Primoz Peterlin + + * tools/OS2UnicodeRange - A simple script to display OS/2 Unicode + range table in TrueType fonts. + + * sfd/FreeSans.sfd, sfd/FreeSansBold.sfd - ASCII numerals now + monospaced; kerned numerals moved to Adobe corporate use area + (U+F6xx). FreeSans is done, FreeSansBold half-way. + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - Added 2003 in copyright info. + +2003-03-27 Primoz Peterlin + + * sfd/FreeSerif.sfd - Cyrillic and Cyrillic Supplement blocks + brought to conformance with Unicode 3.2, courtesy Daniel Shurovich + Chirkov. + +2003-03-19 Primoz Peterlin + + * sfd/FreeSans.sfd, sfd/FreeSansOblique.sfd - somewhat wider + germandbls (U+00DF), due to complaints by Walter Schmidt. + +2003-03-18 Primoz Peterlin + + * sfd/FreeSans.sfd - Added Sinhala glyphs from the Tipitaka + project , recoded to Unicode by Noah Levitt. + +2003-02-19 Primoz Peterlin + + * sfd/FreeSans.sfd - Minor changes on mathematical operators. + +2003-02-18 Primoz Peterlin + + * sfd/FreeMono.sfd - minor cleanup of glyph backgrounds; changed + integral signs (U+222B - U+2230) + +2003-02-05 Primoz Peterlin + + * sfd/FreeSans.sfd - added a couple of glyphs in the IPA and + African Latin ranges. + +2003-01-30 Primoz Peterlin + + * sfd/FreeSans.sfd, sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd - Corrected Maltese Hbar (U+0126) + and/or hbar (U+0127). + +2003-01-28 Primoz Peterlin + + * sfd/FreeSerifItalic.sfd - Corrected Maltese hbar (U+0127). + +2002-12-18 Primoz Peterlin + + * tools/ConvertFont - PfaEdit script for converting SFD files to + TrueType fonts. + + * sfd/FreeSans.sfd - Added Tamil and Kannada glyphs from the + Akruti Indic fonts. + +2002-12-17 Primoz Peterlin + + * sfd/FreeSans.sfd - Added Devanagari and Gujarati glyphs from the + Akruti Indic fonts. + + * www/index.html - Added information on Rogier van Dalen's tools. + + * AUTHORS - Added M.S. Sridhar. + + * CREDITS - Correct spelling of Culmus project. Added M.S. Sridhar. + +2002-12-06 Primoz Peterlin + + * sfd/FreeMono.sfd - Added Braille glyphs, courtesy Vyacheslav + Dikonov. + + * sfd/FreeSans.sfd - Added Unicode Syriac glyphs, courtesy + Vyacheslav Dikonov. + +2002-10-11 Primoz Peterlin + + * www/index.html - Added information on the availability of the + Debian GNU/Linux package. + + * sfd/FreeSerif.sfd, sfd/FreeSans.sfd - added some kern pairs + beyond Latin-1 area. + + * sfd/FreeSerif.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBold.sfd, sfd/FreeSerifBoldItalic.sfd - re-introduced + all the emtpy glyph slots (changes from Sep 23 made PfaEdit + crash). + +2002-09-23 Primoz Peterlin + + * sfd/FreeSerif.sfd, sfd/FreeSerifItalic.sfd, + sfd/FreeSerifBold.sfd, sfd/FreeSerifBoldItalic.sfd - imported + kerning information from the URW++ AFM files + +2002-09-11 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoOblique.sfd - updated Hebrew parts to comply with + Culmus v0.6. + + * sfd/FreeSans.sfd, sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansOblique.sfd - Added Danilo Segan's Serbian Cyrillic + glyphs; updated Hebrew parts to comply with Culmus v0.6. + +2002-09-09 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansOblique.sfd - Updated Cyrillic part to match + Filippov's 1.0.7pre14 + + * sfd/FreeSansOblique.sfd - added Sam Stepanyan's Armenian glyphs + from FreeSans (skewed for 12 degrees). + +2002-09-06 Primoz Peterlin + + * sfd/FreeSans.sfd, sfd/FreeSansOblique.sfd, + sfd/FreeSansBold.sfd, sfd/FreeSansOblique.sfd - Added Maxim + Iorsh's Hebrew characters. + +2002-08-29 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, + sfd/FreeMonoBold.sfd, sfd/FreeMonoOblique.sfd - Added Maxim + Iorsh's Hebrew characters. + + * AUTHORS, CREDITS - Added Maxim Iorsh as author. + +2002-08-28 Primoz Peterlin + + * www/index.html - Added information of Microsoft's withdrawal of + freely available Unicode TrueType fonts + + * www/resources.html - Added link to Maxim Iorsh's Culmus project. + +2002-07-26 Primoz Peterlin + + * sfd/FreeMono.sfd - Added a couple of characters (Arrows area). + +2002-06-11 Primoz Peterlin + + * sfd/FreeMono.sfd - Applied Michalis Kabrianis's patch concerning + perispomeni in Greek politoniko. + +2002-05-23 Primoz Peterlin + + * sfd/FreeMono.sfd - Applied Michalis Kabrianis's patch concerning + psili in Greek politoniko. Also added two working variants of + chars in the IPA range. + +2002-05-15 Primoz Peterlin + + * sfd/FreeSans.sfd, sfd/FreeSansBold.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifBold.sfd - Deleted explicit ".notdef" character with + no contours. + +2002-05-14 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - The new version of PfaEdit saves + correctly formed Panose and LineGap lines. + + * sfd/FreeSansBoldOblique.sfd - Filled-in the missing TTFWidth and + TTFWeight values. + +2002-05-09 Primoz Peterlin + + * sfd/FreeSans.sfd - Added diacritics to the Spacing Modifier + Letters and Combining Diacritical Marks areas. Added composed + glyphs to the Latin Extended-B area. + +2002-05-07 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - Updated Panose information with data + provided by Josef W. Segur. Updated TTF headers with English and + Slovenian text. + +2002-04-30 Primoz Peterlin + + * sfd/FreeMonoBold.sfd - Working on Greek small letters. Several + minor changes (lower carons etc.) + +2002-04-29 Primoz Peterlin + + * FreeMonoBoldOblique.sfd - Started adding Greek. + + * sfd/FreeMonoBold.sfd - Added glyphs in the Geometrical Shapes + and Miscellaneous Symbols area. Harmonizing Greek with Latin. Done + with capitals. + + * sfd/FreeMono.sfd - Deleted the explicit .notdef character. Added + one glyph to the Geometrical Shapes area, which is now completed; + added three glyphs to the Miscellaneous Symbols area. Harmonizing + Greek with Latin. Done with the capitals. + +2002-04-26 Primoz Peterlin + + * sfd/FreeSans.sfd - Adjusted accent positions on several glyphs + in the Latin Extended-A area. + +2002-04-25 Primoz Peterlin + + * sfd/FreeMonoBold.sfd - Box Drawing area completed. Added a + couple of glyphs in the Geometrical Shapes area. + + * sfd/FreeMono.sfd - Small corrections in the Box Drawing area. + +2002-04-24 Primoz Peterlin + + * sfd/FreeMono.sfd - Box Drawing area completed. + +2002-04-23 Primoz Peterlin + + * tools/WGL4.lst - corrected. + + * sfd/FreeMono.sfd, sfd/FreeMonoBold.sfd - Working on Box Drawing + area. + +2002-04-22 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoBold.sfd - Working on Latin + Extended-B and Greek. + +2002-04-19 Primoz Peterlin + + * sfd/FreeSerif.sfd - Somewhat cleaner chess figures. + + * tools/MES-2.txt, tools/MES-2.lst - Corrected list (it is not + 203C-203E, it is 203C and 203E). + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd, sfd/FreeSans.sfd, + sfd/FreeSansOblique.sfd, sfd/FreeSansBold.sfd, + sfd/FreeSansBoldOblique.sfd, sfd/FreeSerif.sfd, + sfd/FreeSerifItalic.sfd, sfd/FreeSerifBold.sfd, + sfd/FreeSerifBoldItalic.sfd - Changed "Family Name" from Free to + FreeSerif, FreeSans and FreeMono, as appropriate. Changed Font + Modifiers from MonoBold etc. to Bold, Italic, Oblique, BoldOblique + and BoldItalic. + +2002-04-18 Primoz Peterlin + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd, sfd/FreeMonoBold.sfd, + sfd/FreeMonoBoldOblique.sfd - Corrected metrics; now all character + widths are set to 600. + +2002-04-17 Primoz Peterlin + + * sfd/FreeSerif.sfd - Corrected glyphs in the Box Drawing area and + Block Elements area, which should extend through the ascender *and + descender* height. + + * sfd/FreeMonoBold.sfd - Continued working on harmonizing Greek + letters with Latin and Cyrillic. + + * sfd/FreeMonoBold.sfd - Added some box drawing characters. + +2002-04-16 Primoz Peterlin + + * www/design-notes.html - Updated notes on stroke width for + symbols in Free Mono Bold. + + * sfd/FreeMono.sfd - Added a handful of characters in the + Miscellaneous Symbols area. + + * sfd/FreeMonoBoldOblique.sfd - Added subscripts, superscripts and + vulgar fractions. + + * sfd/FreeMonoBold.sfd - Started harmonizing Greek letters with + Latin and Cyrillic. + + * sfd/FreeMonoBold.sfd - Added subscripts, superscripts and vulgar + fractions. + +2002-04-15 Primoz Peterlin + + * www/design-notes.html - Updated notes on super-/subscripts in + Free Mono Bold. Separate subsections for Free Mono regular and + Free Mono Bold. + +2002-04-12 Primoz Peterlin + + * sfd/FreeSerif.sfd - Added Ethiopian glyphs, converted from the + Metafont sources from TGI, Universität Hamburg (authors Berhanu + Beyene, Prof. Dr. Manfred Kudlek, Olaf Kummer, and Jochen + Metzinger) using Szabo's TeXtrace and retouched using + PfaEdit. Ethiopian metafonts are released under GNU GPL, + . + + * sfd/FreeMonoBold.sfd - Added 40 characters, mostly in the Latin + Extended-B and IPA Extensions areas. + +2002-04-11 Primoz Peterlin + + * sfd/FreeMono.sfd - Added a handful of characters in the Latin + Extended-B, IPA Extensions, Currency Symbols and Miscellaneous + Symbols areas. + +2002-04-09 Primoz Peterlin + + * sfd/FreeMono.sfd - Correcting accent positioning in the Extended + Greek area; adding a couple of characters here and there. Still 20 + characters short of MES-2 conformance. + +2002-04-08 Primoz Peterlin + + * sfd/FreeMono.sfd - Added some characters in the Arrows area; + more or less completed Extended Greek area (accents still need to + be fine-tuned). + +2002-04-05 Primoz Peterlin + + * sfd/FreeMono.sfd - Modern non-Russian Cyrilic mostly completed. + + * sfd/FreeMonoOblique.sfd - Synchronized with FreeMono. + + * sfd/FreeSerif.sfd - Added Thomas Ridgeway's Tamil characters + (converted from Metafont and edited somehwat). + +2002-04-04 Primoz Peterlin + + * sfd/FreeMonoOblique.sfd - Armenian letters added. + + * sfd/FreeMonoBold.sfd - Serbian Cyrillic letters dje, tshe, lje + and nje corrected. + + * sfd/FreeMono.sfd - Serbian Cyrillic letters dje and tshe + corrected. Some other non-Russian Cyrillic letters modified and + "welded together". + +2002-04-03 Primoz Peterlin + + * sfd/FreeMono.sfd - Added more or less complete Armenian + area. The glyphs are a tidied-up version based on the Armenian + Courier on the . Now we have + 1673 characters. + +2002-03-28 Primoz Peterlin + + * sfd/FreeMono.sfd - Added some mathematical symbols. + +2002-03-26 Primoz Peterlin + + * sfd/FreeSans.sfd - took H.S. Pannu's Gurmukhi from FreeSerif. It + actually fits to FreeSans much better. It seems I'll have to look + for another Gurmukhi font with modulated stroke for FreeSerif. + + * sfd/FreeSerifItalic.sfd - replaced existing Hebrew glyphs by + those from FreeSerif (slanted for 15.5 degrees). + + * sfd/FreeSerif.sfd - Added dotted Hebrew letters. Changed barred H. + + * sfd/FreeMono.sfd - Completed vulgar fractions; minor changes in + Greek; added some mathematical operators. + + * sfd/FreeMonoBold.sfd - added 12 characters to Latin Extended-B + and IPA Extensions areas (total 984). + +2002-03-25 Primoz Peterlin + + * sfd/FreeMonoBold.sfd - started adding Latin Extended-B and IPA + Extensions. + + * sfd/FreeMono.sfd - Minor cosmetic changes; cleaning up Greek + (removing redundant control points), added some non-European + Cyrillic glyphs as a test. + +2002-03-22 Primoz Peterlin + + * sfd/FreeMono.sfd - Some minor modifications; letters in Latin + Extended-B area "welded" together. + +2002-03-20 Primoz Peterlin + + * www/index.html - finally linked the resources and design notes + pages. + + * www/design-notes.html - added scaling information for super- and + subscript numerals in FreeMono. + +2002-03-19 Primoz Peterlin + + * sfd/FreeMono.sfd - the Latin Extended-B and IPA Extension area + characters moved from FreeMono and skewed for 12 degrees. + +2002-03-18 Primoz Peterlin + + * sfd/FreeMono.sfd - added a dozen or two of new characters, in + particular in the Latin Extended-B and IPA Extension area. + +2002-03-15 Primoz Peterlin + + * sfd/FreeMono.sfd - added a dozen of two of new characters, in + particular in the IPA Extension area. + + * www/design-notes.html - Corrected data for x-height in FreeMono; + information on constructing small caps. + +2002-03-14 Primoz Peterlin + + * sfd/FreeMono.sfd - added three smiley characters to the + Miscallaneous Symbols area. + +2002-03-10 Primoz Peterlin + + * sfd/FreeSerif.sfd - Anshuman Pandey has only converted Gurmukhi + from TrueType to Metafont; the original author of Gurkmukhi font + is Hardip Singh Pannu . + Got the permission from him to include the Gurmukhi glyph set. + +2002-03-08 Primoz Peterlin + + * sfd/FreeSerif.sfd - Added some more glyphs in the Mathematical + Symbols area to a total number of 3374. + +2002-03-06 Primoz Peterlin + + * sfd/FreeSerif.sfd - Added a basic Gurmukhi set. + + * www/design-notes.html - started a page on design notes + + * sfd/FreeMono.sfd - realized that glyphs in the Box Drawing area + and Block Elements area should extend through the ascender *and + descender* height, and corrected it. + + * sfd/FreeMono.sfd, sfd/FreeMonoOblique.sfd - added some musical + glyphs, linking "no-break space" to space, "soft hyphen" to + hyphen-minus etc. + +2002-03-05 Primoz Peterlin + + * tools/WGL4.lst - Added Windows Glyph List 4.0 + + * tools/LigatureList.pl - Wrote a Perl script, which lists the + GSUB list (ligature list) of a OpenType font. + + * sfd/FreeSerifBold.sfd, sfd/FreeSerifBoldItalic.sfd, + sfd/FreeSerifItalic.sfd - auxilliary Hebrew glyphs added. They are + too light compared with Latin and will be substituted with better + ones. + +2002-03-04 Primoz Peterlin + + * sfd/FreeSerif.sfd - Added some more glyphs to the Mathematical + Operators area (page 0x22). + + * sfd/FreeSerif.sfd - Incomplete and fragmentary support for + Devanagari, originating from Harsh Kumar's Shusha fonts was + replaced by Frans Velthuis' Devanagari metafont, now maintained by + Anshuman Pandey and available under + GPL. Until I figure out how to provide glyph substitution table in + OpenType, only the Unicode part is there. + +2002-02-28 Primoz Peterlin + + * ChangeLog file created + + * sfd/FreeSerif.sfd - Added some Telugu glyphs to page 0x0C, + courtesy Prasad A. Chodavarapu + + * sfd/FreeSerif.sfd - Added some glyphs to the Miscellaneous + Symbols page (0x26). + +2002-02-26 Primoz Peterlin + + * mailing lists freefont-announce and freefont-bugs created + +2002-02-25 Primoz Peterlin + + * sfd/FreeSerif.sfd - Added a couple of glyphs in Mathematics + Operators area. + + * sfd/FreeMono.sfd + - Added some more glyphs, in particular in the Mathematical + Operators section. + - Changed FamilyName to Free, FontName to FreeMono, and Full name + to "Free Monospaced". + +2002-02-20 Primoz Peterlin + + * sfd/ directory added containing FreeSerif, FreeSans and FreeMono + families. + + * tools/ directory added containing lists with characters required + for MES (Multilinguag European Subset) compliance. + + * tools/mes-list-expand.pl created - a Perl script for expanding MES + ranges into simple one-char-per-line format + + * tools/CheckConformance.pl created - a Perl script for checking + conformance of a font file with a given coded character set + + * homepage created + +2002-02-19 Primoz Peterlin + + * freefont (Free UCS Scalable Fonts) project approved on + savannah.gnu.org: diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/INSTALL b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/INSTALL new file mode 100644 index 0000000..fbbbe80 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/INSTALL @@ -0,0 +1,86 @@ + Installing GNU FreeFont + ======================= + +GNU FreeFont can be used in any modern operating system. + +This document explains how to install FreeFont on some common systems. + +UNIX/GNU/Linux/BSD Systems +-------------------------- + +FreeFont works with any system using the free font rasterizer FreeType +. + +* Debian GNU/Linux + +Users of Debian GNU/Linux system will probably want to use the Debian package, +available from the Debian site, + + , + +or any of its mirrors. + +Install them by issuing the command + apt-get install ttf-freefont + + +* KDE local installation + +Users of KDE can install .ttf files on a per-user basis using the KDE +Control Center module "kcmfontinst", which may appear in the menu as + + Settings -> System Administration -> Font Installer + +This is especially helpful for developers and testers. + + +* Generic X-windows + + 1) Fetch the freefont-ttf.tar.gz package with Free UCS outline fonts + in the TrueType format. + + 2) Unpack TrueType fonts into a suitable directory, + e.g. /usr/local/share/fonts/default/TrueType/ + + 3) If you have chosen any other directory, make sure the directory you + used to install the fonts is listed in the path searched by the X + Font Server by editing the config file in /etc/X11/. + + In some systems, you list the directory in the item "catalogue=" + in the file /etc/X11/fs/config. + + 4) Run ttmkfdir in the directory where you unpacked the fonts. + + +Windows 95/98/NT/2000/XP; Vista +------------------------------- + +Note that in at least Vista, XP and 2000, the OpenType versions perform much +better than, and are recommended over, the TrueType ones. + +* Vista: + 1) From the Start menu, open Control Panels + 2) Drag-n-drop font files onto Fonts control panel + You may get a dialog saying + "Windows needs your permission to continue" + a) Click Continue + +* 95/98/NT: + The font installation is similar to Vista. + + In order to use OpenType, users of Windows 95, 98 and NT 4.0 can + install Adobe's 'Type Manager Light'. It is available for download + without cost from Adobe's web site. + + Otherwise, use the TrueType versions. + +Mac OS X +-------- + +Installing on Mac OS X consists of moving the .ttf files to either + /Library/Fonts/ or ~/Library/Fonts/ +depending on whether they should be available to all users on your system +or just to yourself. + +-------------------------------------------------------------------------- +$Id: INSTALL,v 1.7 2008/12/26 12:33:31 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/README b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/README new file mode 100644 index 0000000..8c970cb --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20100919/README @@ -0,0 +1,108 @@ +-*-text-*- + GNU FreeFont + +The GNU FreeFont project aims to provide a useful set of free scalable +(i.e., OpenType) fonts covering as much as possible of the ISO 10646/Unicode +UCS (Universal Character Set). + +Statement of Purpose +-------------------- + +The practical reason for putting glyphs together in a single font face is +to conveniently mix symbols and characters from different writing systems, +without having to switch fonts. + +Coverage +-------- + +FreeFont covers the following character sets + +* ISO 8859 parts 1-15 +* CEN MES-3 European Unicode Subset + http://www.evertype.com/standards/iso10646/pdf/cwa13873.pdf +* IBM/Microsoft code pages 437, 850, 852, 1250, 1252 and more +* Microsoft/Adobe Windows Glyph List 4 (WGL4) + http://www.microsoft.com/typography/otspec/WGL4.htm +* KOI8-R and KOI8-RU +* DEC VT100 graphics symbols +* International Phonetic Alphabet +* Arabic, Hebrew, Armenian, Georgian, Ethiopian and Thai alphabets, + including Arabic presentation forms A/B +* mathematical symbols, including the whole TeX repertoire of symbols +* APL symbols + etc. + +Editing +------- + +The free outline font editor, George Williams's FontForge + is used for editing the fonts. + +Design Issues +------------- + +Which font shapes should be made? Historical style terms like Renaissance +or Baroque letterforms cannot be applied beyond Latin/Cyrillic/Greek +scripts to any greater extent than Kufi or Nashki can be applied beyond +Arabic script; "italic" is really only meaningful for Latin letters. + +However, most modern writing systems have typographic formulations for +contrasting uniform and modulated character stroke widths, and have some +history with "oblique", faces. Since the advent of the typewriter, most +have developed a typographic style with uniform-width characters. + +Accordingly, the FreeFont family has one monospaced - FreeMono - and two +proportional faces (one with uniform stroke - FreeSans - and one with +modulated stroke - FreeSerif). + +To make text from different writing systems look good side-by-side, each +FreeFont face is meant to contain characters of similar style and weight. + +Licensing +--------- + +Free UCS scalable fonts is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published +by the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +The fonts are distributed in the hope that they will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +As a special exception, if you create a document which uses this font, and +embed this font or unaltered portions of this font into the document, this +font does not by itself cause the resulting document to be covered by the +GNU General Public License. This exception does not however invalidate any +other reasons why the document might be covered by the GNU General Public +License. If you modify this font, you may extend this exception to your +version of the font, but you are not obligated to do so. If you do not +wish to do so, delete this exception statement from your version. + + +Files and their suffixes +------------------------ + +The files with .sfd (Spline Font Database) are in FontForge's native format. +Please use these if you plan to modify the font files. + +TrueType fonts for immediate consumption are the files with the .ttf +(TrueType Font) suffix. These are ready to use in Xwindows based +systems using FreeType, on Mac OS, and on older Windows systems. + +OpenType fonts (with suffix .otf) are for use in Windows Vista. +Note that although they can be installed on Linux, but many applications +in Linux still don't support them. + + +-------------------------------------------------------------------------- +Primoz Peterlin, +Steve White + +Free UCS scalable fonts: http://savannah.gnu.org/projects/freefont/ +$Id: README,v 1.7 2009/01/13 08:43:23 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/AUTHORS b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/AUTHORS new file mode 100644 index 0000000..e7f7575 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/AUTHORS @@ -0,0 +1,242 @@ +-*- mode:text; coding:utf-8; -*- + GNU FreeFont Authors + ==================== + +The FreeFont collection is being maintained by + Steve White +The folowing list cites the other contributors that contributed to +particular ISO 10646 blocks. + +* URW++ Design & Development GmbH + + Basic Latin (U+0041-U+007A) + Latin-1 Supplement (U+00C0-U+00FF) (most) + Latin Extended-A (U+0100-U+017F) + Spacing Modifier Letters (U+02B0-U+02FF) + Mathematical Operators (U+2200-U+22FF) (parts) + Block Elements (U+2580-U+259F) + Dingbats (U+2700-U+27BF) + +* Yannis Haralambous and John + Plaice + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + Greek (U+0370-U+03FF) + Armenian (U+0530-U+058F) + Hebrew (U+0590-U+05FF) + Arabic (U+0600-U+06FF) + Currency Symbols (U+20A0-U+20CF) + Arabic Presentation Forms-A (U+FB50-U+FDFF) + Arabic Presentation Forms-B (U+FE70-U+FEFF) + +* Yannis Haralambous and Wellcome Institute + + Sinhala (U+0D80-U+0DFF) + +* Young U. Ryu + + Arrows (U+2190-U+21FF) + Mathematical Symbols (U+2200-U+22FF) + Mathematical Alphanumeric Symbols (U+1D400-U+1D7FF) + +* Valek Filippov + + Cyrillic (U+0400-U+04FF) + +* Wadalab Kanji Comittee + + Hiragana (U+3040-U+309F) + Katakana (U+30A0-U+30FF) + +* Angelo Haritsis + + Greek (U+0370-U+03FF) + +* Yannis Haralambous and Virach Sornlertlamvanich + + Thai (U+0E00-U+0E7F) + +* Shaheed R. Haque + + Bengali (U+0980-U+09FF) + +* Sam Stepanyan + + Armenian (U+0530-U+058F) + +* Mohamed Ishan + + Thaana (U+0780-U+07BF) + +* Sushant Kumar Dash + + Oriya (U+0B00-U+0B7F) + +* Harsh Kumar + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + +* Prasad A. Chodavarapu + + Telugu (U+0C00-U+0C7F) + +* Frans Velthuis and Anshuman Pandey + + + Devanagari (U+0900-U+097F) + +* Hardip Singh Pannu + + Gurmukhi (U+0A00-U+0A7F) + +* Jeroen Hellingman + + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + +* Thomas Ridgeway + + Tamil (U+0B80-U+0BFF) + +* Berhanu Beyene <1beyene AT informatik.uni-hamburg.de>, + Prof. Dr. Manfred Kudlek , Olaf + Kummer , and Jochen Metzinger + + Ethiopic (U+1200-U+137F) + +* Maxim Iorsh + + Hebrew (U+0590-U+05FF) + +* Vyacheslav Dikonov + + Syriac (U+0700-U+074A) + Braille (U+2800-U+28FF) + +* Panayotis Katsaloulis + + Greek Extended (U+1F00-U+1FFF) + +* M.S. Sridhar + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Tamil (U+0B80-U+0BFF) + Telugu (U+0C00-U+0C7F) + Kannada (U+0C80-U+0CFF) + Malayalam (U+0D00-U+0D7F) + +* DMS Electronics, The Sri Lanka Tipitaka Project, and Noah Levitt + + + Sinhala (U+0D80-U+0DFF) + +* Dan Shurovich Chirkov + + Cyrillic (U+0400-U+04FF) + +* Abbas Izad + + Arabic (U+0600-U+06FF) + Arabic Presentation Forms-A (U+FB50-U+FDFF) + Arabic Presentation Forms-B (U+FE70-U+FEFF) + +* Denis Jacquerye + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + +* K.H. Hussain and R. Chitrajan + + Malayalam (U+0D00-U+0D7F) + +* Solaiman Karim and Omi Azad + + Bengali (U+0980-U+09FF) + +* Sonali Sonania and Monika Shah + + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + +* Pravin Satpute , Bageshri Salvi + , Rahul Bhalerao and + Sandeep Shedmake + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + Tamil (U+0B80-U+0BFF) + +* Kulbir Singh Thind + + Gurmukhi (U+0A00-U+0A7F) + +* Gia Shervashidze + + Georgian (U+10A0-U+10FF) + +* Daniel Johnson + + Armenian (serif) (U+0530-U+058F) + Cherokee (U+13A0-U+13FF) + Unified Canadian Aboriginal Syllabics (U+1400-U+167F) + UCAS Extended (U+18B0-U+18F5) + Tifinagh (U+2D30-U+2D7F) + Vai (U+A500-U+A62B) + Latin Extended-D (Mayanist letters) (U+A720-U+A7FF) + Kayah Li (U+A900-U+A92F) + Osmanya (U+10480-U+104a7) + +* George Douros + + Gothic (U+10330-U+1034F) + Phoenecian (U+10900-U+1091F) + Byzantine Musical Symbols (U+1D000-U+1D0FF) + Western Musical Symbols (U+1D100-U+1D1DF) + Mathematical Alphanumeric Symbols (U+1D400-U+1D7FF) + Mah Jong Tiles (U+1F000-U+1F02B) + Dominoes (U+1F030-U+1F093) + +* Steve White + Glagolitic (U+2C00-U+2C5F) + Coptic (U+2C80-U+2CFF) + Arabic (U+0600-U+06FF) (Mono) + Old Italic (U+10300-U+1032F) + +* Pavel Skrylev is responsible for + Cyrillic Extended-A (U+2DEO-U+2DFF) + as well as many of the additions to + Cyrillic Extended-B (U+A640-U+A65F) + +* Mark Williamson + Made the MPH 2 Damase font, from which + Hanunóo (U+1720-U+173F) + Buginese (U+1A00-U+1A1F) + Tai Le (U+1950-U+197F) + Ugaritic (U+10380-U+1039F) + Old Persian (U+103A0-U+103DF) + +* Masoud Pourmoosa + Arabic (U+0600-U+06FF) + +* Emmanuel Vallois + Python scripts, support + +* Primož Peterlin + maintained FreeFont for several years, and is thanked for all his work. + +Please see the CREDITS file for details on who contributed particular +subsets of the glyphs in font files. + +-------------------------------------------------------------------------- +$Id: AUTHORS,v 1.23 2010-09-11 13:24:11 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/COPYING b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/CREDITS b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/CREDITS new file mode 100644 index 0000000..f4430ec --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/CREDITS @@ -0,0 +1,597 @@ +-*- mode:text; coding:utf-8; -*- + GNU FreeFont Credits + ==================== + +This file lists contributors and contributions to the GNU FreeFont project. + + +* URW++ Design & Development GmbH + +URW++ donated a set of 35 core PostScript Type 1 fonts to the +Ghostscript project , to be available +under the terms of GNU General Public License (GPL). + + Basic Latin (U+0041-U+007A) + Latin-1 Supplement (U+00C0-U+00FF) + Latin Extended-A (U+0100-U+017F) + Spacing Modifier Letters (U+02B0-U+02FF) + Mathematical Operators (U+2200-U+22FF) + Block Elements (U+2580-U+259F) + Dingbats (U+2700-U+27BF) + + +* Yannis Haralambous and John + Plaice + +Yannis Haralambous and John Plaice are the authors of Omega typesetting +system, . Omega is an extension of TeX. +Its first release, aims primarily at improving TeX's multilingual abilities. +In Omega all characters and pointers into data-structures are 16-bit wide, +instead of 8-bit, thereby eliminating many of the trivial limitations of TeX. +Omega also allows multiple input and output character sets, and uses +programmable filters to translate from one encoding to another, to perform +contextual analysis, etc. Internally, Omega uses the universal 16-bit Unicode +standard character set, based on ISO-10646. These improvements not only make +it a lot easier for TeX users to cope with multiple or complex languages, +like Arabic, Indic, Khmer, Chinese, Japanese or Korean, in one document, but +will also form the basis for future developments in other areas, such as +native color support and hypertext features. ... Fonts for UT1 (omlgc family) +and UT2 (omah family) are under development: these fonts are in PostScript +format and visually close to Times and Helvetica font families. +Omega fonts are available subject to GPL + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + Greek (U+0370-U+03FF) + Armenian (U+0530-U+058F) + Hebrew (U+0590-U+05FF) + Arabic (U+0600-U+06FF) + Currency Symbols (U+20A0-U+20CF) + Arabic Presentation Forms-A (U+FB50-U+FDFF) + Arabic Presentation Forms-B (U+FE70-U+FEFF) + +Current info: + +* Valek Filippov + +Valek Filippov added Cyrillic glyphs and composite Latin Extended A to +the whole set of the abovementioned URW set of 35 PostScript core fonts, +. The fonts are available under GPL. +(The Cyrillic range was since replaced by another font.) + + Latin Extended-A (U+0100-U+017F) + + +* Wadalab Kanji Comittee + +Between April 1990 and March 1992, Wadalab Kanji Comittee put together a +series of scalable font files with Japanese scripts, in four forms: +Sai Micho, Chu Mincho, Cho Kaku and Saimaru. +The font files are written in custom file format, while tools for conversion +into Metafont and PostScript Type 1 are also supplied. The Wadalab Kanji +Comittee was later dismissed. The resulting files were once found on the FTP +server of the Department of Mathematical Engineering and Information Physics, +Faculty of Engineering, University of Tokyo. Some of these are available at + + + Hiragana (U+3040-U+309F) + Katakana (U+30A0-U+30FF) + + +* Young U. Ryu + +Young Ryu is the author of Txfonts, a set of mathematical symbols +designed to accompany text typeset in Times or its variants. In the +documentation, Young adresses the design of mathematical symbols: "The +Adobe Times fonts are thicker than the CM fonts. Designing math fonts +for Times based on the rule thickness of Times = , , + , / , < , +etc. would result in too thick math symbols, in my opinion. In the TX +fonts, these glyphs are thinner than those of original Times +fonts. That is, the rule thickness of these glyphs is around 85% of +that of the Times fonts, but still thicker than that of the CM fonts." +TX fonts are are distributed under the GNU public license (GPL). +. + + Arrows (U+2190-U+21FF) + Mathematical Symbols (U+2200-U+22FF) + + +* Angelo Haritsis + +Angelo Haritsis has compiled a set of Greek Type 1 fonts, once available as +as a tarball named greekXfonts-Type1-1.1.tgz. +The glyphs from this source have been used to compose Greek glyphs in +FreeSans and FreeMono. + +Angelo's licence says: "You can enjoy free use of these fonts for +educational or commercial purposes. All derived works should include +this paragraph. If you want to change something please let me have +your changes (via email) so that they can go into the next +version. You can also send comments etc to the above address." + + Greek (U+0370-U+03FF) + + +* Yannis Haralambous and Virach Sornlertlamvanich + +In 1999, Yannis Haralambous and Virach Sornlertlamvanich made a set of +glyphs covering the Thai national standard Nf3, in both upright and +slanted shape. The collection of glyphs have been made part of GNU +intlfonts 1.2 package and is available under the GPL at +. + + Thai (U+0E00-U+0E7F) + +* Shaheed R. Haque + +Shaheed Haque has developed a basic set of basic Bengali glyphs +(without ligatures), using ISO10646 encoding. They are available under +the XFree86 license at . + +Copyright (C) 2001 S.R.Haque . All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL S.R.HAQUE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of S.R.Haque shall not be +used in advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization from +S.R.Haque. + + Bengali (U+0980-U+09FF) + + +* Sam Stepanyan + +Sam Stepanyan created a set of Armenian sans serif glyphs visually +compatible with Helvetica or Arial. Available on +. On +2002-01-24, Sam writes: "Arial Armenian font is free for +non-commercial use, so it is OK to use under GPL license." + +Armenian (U+0530-U+058F) + + +* Mohamed Ishan <> + +Mohamed Ishan started the Thaana Unicode Project and among other things +created a couple of Thaana fonts, available under FDL or BDF license. + + Thaana (U+0780-U+07BF) + + +* Sushant Kumar Dash (*) + +Sushant Dash has created a font in his mother tongue, Oriya. As he +states on his web page : +"Please feel free to foreword this mail to your Oriya friends. No +copyright law is applied for this font. It is totally free!!! Feel +free to modify this using any font editing tools. This is designed for +people like me, who are away from Orissa and want to write letters +home using Computers, but suffer due to unavailability of Oriya +fonts.(Or the cost of the available packages are too much)." + + Oriya (U+0B00-U+0B7F) + + +* Harsh Kumar + +Harsh Kumar has started BharatBhasha - +an effort to provide "FREE software, Tutorial, Source Codes +etc. available for working in Hindi, Marathi, Gujarati, Gurmukhi and +Bangla. You can type text, write Web pages or develop Indian Languages +Applications on Windows and on Linux. We also offer FREE help to +users, enthusiasts and software developers for their work in Indian +languages." + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + + +* Prasad A. Chodavarapu + +Prasad A. Chodavarapu created Tikkana, a Telugu font available in Type +1 and TrueType format on . +Tikkana exceeds the Unicode Telugu range with some composite glyphs. +Available under the GNU General Public License. + + Telugu (U+0C00-U+0C7F) + + +* Frans Velthuis and Anshuman Pandey + + +In 1991, Frans Velthuis from the Groningen University, The Netherlands, +released a Devanagari font as Metafont source, available under the terms of +GNU GPL. Later, Anshuman Pandey from the Washington University, Seattle, USA, +took over the maintenance of font. Zdeněk Wagner has provided a huge amount +of expert advice regarding the implementation of the font in FreeSerif. +Fonts can be found on CTAN, +. + + Devanagari (U+0900-U+097F) + + +* Hardip Singh Pannu + +In 1991, Hardip Singh Pannu has created a free Gurmukhi TrueType font, +available as regular, bold, oblique and bold oblique form. Its license +says "Please remember that these fonts are copyrighted (by me) and are +for non-profit use only." + + Gurmukhi (U+0A00-U+0A7F) + + +* Jeroen Hellingman + +Jeroen Hellingman created a set of Malayalam metafonts in 1994, and a +set of Oriya metafonts in 1996. Malayalam fonts were created as +uniform stroke only, while Oriya metafonts exist in both uniform and +modulated stroke. From private communication: "It is my intention to +release the fonts under GPL, but not all copies around have this +notice on them." Metafonts can be found on CTAN, + and +. + + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + + +* Thomas Ridgeway <> (*) + +Thomas Ridgeway, then at the Humanities And Arts Computing Center, +Washington University, Seattle, USA, (now defunct), created a Tamil +metafont in 1990. Anshuman Pandey from the same university took over +the maintenance of font. Fonts can be found at CTAN, +. + + Tamil (U+0B80-U+0BFF) + + +* Berhanu Beyene <1beyene AT informatik.uni-hamburg.de>, + Prof. Dr. Manfred Kudlek , Olaf + Kummer , and Jochen Metzinger + +Beyene, Kudlek, Kummer and Metzinger from the Theoretical Foundations +of Computer Science, University of Hamburg, prepared a set of Ethiopic +metafonts, found on +. They also +maintain home page on the Ethiopic font project, +, +and can be reached at . The current +version of fonts is 0.7 (1998), and they are released under GNU GPL. I +converted the fonts to Type 1 format using Péter Szabó's TeXtrace-A +program and removed some +redundant control points with PfaEdit. + + Ethiopic (U+1200-U+137F) + + +* Maxim Iorsh + +In 2002, Maxim Iorsh started the Culmus project, aiming at providing +Hebrew-speaking Linux and Unix community with a basic collection of +Hebrew fonts for X Windows. The fonts are visually compatible with +URW++ Century Schoolbook L, URW++ Nimbus Sans L and URW++ Nimbus Mono +L families, respectively, and are released under GNU GPL license. See +also . + + Hebrew (U+0590-U+05FF) + + +* Panayotis Katsaloulis + +Panayotis Katsaloulis helped fixing Greek accents in the Greek +Extended area. + + Greek Extended (U+1F00-U+1FFF) + + +* Vyacheslav Dikonov + +Vyacheslav Dikonov made a Braille unicode font that could be merged +with the UCS fonts to fill the 2800-28FF range completely. (uniform +scaling is possible to adapt it to any cell size). He also contributed +a free syriac font, whose glyphs (about half of them) are borrowed +from the "Carlo Ator" font by Tim Erickson. +Vyacheslav also filled in a few missing +spots in the U+2000-U+27FF area, e.g. the box drawing section, sets of +subscript and superscript digits and capital Roman numbers. + + Syriac (U+0700-U+074A) + Box Drawing (U+2500-U+257F) + Braille (U+2800-U+28FF) + +* Tim Erickson + +Is the author of several Eurasian fonts, including "Carlo Ator". +He has given his written permission for glyphs from this font to be +included in FreeFont. + Syriac (U+0700-U+074A) + + +* M.S. Sridhar + +M/S Cyberscape Multimedia Limited, Mumbai, developers of Akruti +Software for Indian Languages (http://www.akruti.com/), have released +a set of TTF fonts for nine Indian scripts (Devanagari, Gujarati, +Telugu, Tamil, Malayalam, Kannada, Bengali, Oriya, and Gurumukhi) +under the GNU General Public License (GPL). You can download the fonts +from the Free Software Foundation of India WWW site +(http://www.gnu.org.in/akruti-fonts/) or from the Akruti website. + +For any further information or assistance regarding these fonts, +please contact mssridhar AT vsnl.com. + + Devanagari (U+0900-U+097F) + Bengali (U+0980-U+09FF) + Gurmukhi (U+0A00-U+0A7F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Tamil (U+0B80-U+0BFF) + Telugu (U+0C00-U+0C7F) + Kannada (U+0C80-U+0CFF) + Malayalam (U+0D00-U+0D7F) + + +* DMS Electronics, The Sri Lanka Tipitaka Project, and Noah Levitt + + +Noah Levitt found out that the Sinhalese fonts available on the site + are released under GNU GPL, or, +precisely, "Public Domain under GNU Licence Produced by DMS +Electronics for The Sri Lanka Tipitaka Project" (taken from the font +comment), and took the effort of recoding the font to Unicode. + +These glyphs were later replaced by those from the LKLUG font + + +Finally the range was completely replaced by glyphs from the sinh TeX +font, with much help and advice from Harshula Jayasuriya. + + Sinhala (U+0D80-U+0DFF) + + +* Daniel Shurovich Chirkov + +Dan Chirkov updated the FreeSerif font with the missing Cyrillic +glyphs needed for conformance to Unicode 3.2. The effort is part of +the Slavjanskij package for Mac OS X, +. + + Cyrillic (U+0400-U+04FF) + + +* Denis Jacquerye + +Denis Jacquerye added new glyphs and corrected existing ones in the +Latin Extended-B and IPA Extensions ranges. + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + + +* K.H. Hussain and R. Chitrajan + +`Rachana' in Malayalam means `to write', `to create'. Rachana Akshara Vedi, +a team of socially committed information technology professionals and +philologists, has applied developments in computer technology and desktop +publishing to resurrect the Malayalam language from the disorder, +fragmentation and degeneration it had suffered since the attempt to adapt +the Malayalam script for using with a regular mechanical typewriter, which +took place in 1967-69. K.H. Hussein at the Kerala Forest Research Institute +has released "Rachana Normal" fonts with approximately 900 glyphs required +to typeset traditional Malayalam. R. Chitrajan apparently encoded the +glyphs in the OpenType table. + +In 2008, the Malayalam ranges in FreeSerif were updated under the advise +and supervision of Hiran Venugopalan of Swathanthra Malayalam Computing, +to reflect the revised edition Rachana_04. + + Malayalam (U+0D00-U+0D7F) + + +* Solaiman Karim + + Bengali (U+0980-U+09FF) + +Solaiman Karim has developed several OpenType Bangla fonts and +released them under GNU GPL on . + + +* Sonali Sonania and Monika Shah + + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + +Glyphs were drawn by Cyberscape Multimedia Ltd., #101,Mahalakshmi +Mansion 21st Main 22nd "A" Cross Banashankari 2nd stage Banglore +560070, India. Converted to OTF by IndicTrans Team, Powai, Mumbai, +lead by Prof. Jitendra Shah. Maintained by Monika Shah and Sonali +Sonania of janabhaaratii Team, C-DAC, Mumbai. This font is released +under GPL by Dr. Alka Irani and Prof Jitendra Shah, janabhaaratii +Team, C-DAC, Mumabi. janabhaaratii is localisation project at C-DAC +Mumbai (formerly National Centre for Software Technology); funded by +TDIL, Govt. of India. Contact:monika_shah AT lycos.com, +sonalisonania AT yahoo.com, jitendras AT vsnl.com, alka AT ncst.ernet.in. +website: www.janabhaaratii.org.in. + + +* Pravin Satpute , Bageshri Salvi + , Rahul Bhalerao and Sandeep Shedmake + + Devanagari (U+0900-U+097F) + Gujarati (U+0A80-U+0AFF) + Oriya (U+0B00-U+0B7F) + Malayalam (U+0D00-U+0D7F) + Tamil (U+0B80-U+0BFF) + +In December 2005 the team at www.gnowledge.org released a set of two +Unicode pan-Indic fonts: "Samyak" and "Samyak Sans". "Samyak" font +belongs to serif style and is an original work of the team; "Samyak +Sans" font belongs to sans serif style and is actually a compilation +of already released Indic fonts (Gargi, Padma, Mukti, Utkal, Akruti +and ThendralUni). Both fonts are based on Unicode standard. +The fonts are now hosted at Sarovar.org: +http://sarovar.org/projects/samyak/ + + +* Kulbir Singh Thind + + Gurmukhi (U+0A00-U+0A7F) + +Dr. Kulbir Singh Thind designed a set of Gurmukhi Unicode fonts, +AnmolUni and AnmolUni-Bold, which are available under the terms of GNU +Generel Public License from the Punjabu Computing Resource Center, +http://guca.sourceforge.net/typography/fonts/anmoluni/. + + +* Gia Shervashidze + + Georgian (U+10A0-U+10FF) + +Starting in mid-1990s, Gia Shervashidze designed many +Unicode-compliant Georgian fonts: Times New Roman Georgian, Arial +Georgian, Courier New Georgian. His work on Georgian localization can +be reached at http://www.gia.ge/. + + +* Primož Peterlin + +Primož Peterlin filled in missing glyphs here and there (e.g. Latin +Extended-B and IPA Extensions ranges in the FreeMono familiy), and +created the following UCS blocks: + + Latin Extended-B (U+0180-U+024F) + IPA Extensions (U+0250-U+02AF) + Arrows (U+2190-U+21FF) + Box Drawing (U+2500-U+257F) + Block Elements (U+2580-U+259F) + Geometrical Shapes (U+25A0-U+25FF) + +* Mark Williamson + +Made the MPH 2 Damase font, from which + Hanunóo (U+1720-U+173F) + Buginese (U+1A00-U+1A1F) + Tai Le (U+1950-U+197F) + Ugaritic (U+10380-U+1039F) + Old Persian (U+103A0-U+103DF) + +* Jacob Poon + +Submitted a very thorough survey of glyph problems and other suggestions. + +* Alexey Kryukov + +Made the TemporaLCGUni fonts, based on the URW++ fonts, from which at one +point FreeSerif Cyrillic, and some of the Greek, was drawn. He also provided +valuable direction about Cyrillic and Greek typesetting. + + Cyrillic (U+0400-U+04FF) + +* George Douros + +The creator of several fonts focusing on ancient scripts and symbols. +Many of the glyphs are created by making outlines from scanned images +of ancient sources. + + Aegean: Phoenecian + Analecta: Gothic (U+10330-U+1034F) + Musical: Byzantine & Western + Unicode: many Miscellaneous Symbols, Miscellaneous Technical, OCR, + supplemental Symbols, and Mathematical Alphanumeric symbols, + Mah Jong, and the outline of the Domino. + +* Daniel Johnson + +Created by hand a Cherokee range specially for FreeFont to be "in line with +the classic Cherokee typefaces used in 19th century printing", but also to +fit well with ranges previously in FreeFont. Then he made Unified Canadian +Syllabics in Sans, and a Cherokee and Kayah Li in Mono! And never to be +outdone by himself, then did UCAS Extended and Osmanya.... What next? + + Armenian (serif) (U+0530-U+058F) + Cherokee (U+13A0-U+13FF) + Unified Canadian Aboriginal Syllabics (U+1400-U+167F) + UCAS Extended (U+18B0-U+18F5) + Kayah Li (U+A900-U+A92F) + Tifinagh (U+2D30-U+2D7F) + Vai (U+A500-U+A62B) + Latin Extended-D (Mayanist letters) (U+A720-U+A7FF) + Osmanya (U+10480-U+104a7) + +* Yannis Haralambous and Wellcome Institute + +In 1994, The Wellcome Library + The Wellcome Institute for the History of Medicine + 183 Euston Road, London NW1 2BE, England. +commissioned Mr. Haralambous to produce a Sinhalese font for them. + +We have received 03/09 official notice from Robert Kiley, Head of e-Strategy +for the Wellcome Library, that Yannis' font could be included in GNU +FreeFont under its GNU license. + +Thanks to Dominik Wujastyk, for providing us with feedback and contacts +to repsonsible people at the Trust. + + Sinhala (U+0D80-U+0DFF) + +* The Sinhala font project http://sinhala.sourceforge.net/ + +The Sinhala font project has taken the glyphs from Yannis Haralambous' +Sinhala font, to produce a Unicode TrueType font, LKLUG. These glyphs +were for a while included in FreeFont. + + Sinhala (U+0D80-U+0DFF) + +* Steve White + +Filled in a lot of missing characters, got some font features working, +left fingerprints almost everywhere, and is responsible for these blocks: + + Runic (U+16A0-U+16F0) + Glagolitic (U+2C00-U+2C5F) + Coptic (U+2C80-U+2CFF) + Old Italic (U+10300-U+1032F) +(The design of Runic is based roughly on one originally submitted by +Vyacheslav Dikonov) + + +* Pavel Skrylev is responsible for + Cyrillic Extended-A (U+2DEO-U+2DFF) + as well as many of the additions to + Cyrillic Extended-B (U+A640-U+A65F) + + +* Masoud Pourmoosa corrected several letters in Arabic for Persian: + Arabic (U+0600-U+06FF) + +Notes: + +*: The glyph collection looks license-compatible, but its author has + not yet replied and agreed on their work being used in part of + this glyph collection. + +-------------------------------------------------------------------------- +$Id: CREDITS,v 1.28 2010/09/11 13:24:11 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/ChangeLog b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/ChangeLog new file mode 100644 index 0000000..2d7ec40 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/ChangeLog @@ -0,0 +1,14707 @@ +2012-04-22 16:18 +0000 [r2239-2240] Stevan_White: + + * INSTALL: Improved info on Debian install. + + * notes/troubleshooting.txt: More info on the blurry + text in Windows issue. + +2012-04-22 11:43 +0000 [r2238] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: + Regularized abbreviatons of supplement, extended + +2012-04-22 11:06 +0000 [r2237] Stevan_White: + + * FreeSerifBold.sfd: Arabic: added 3 graphical + marks to complete the range. + +2012-04-22 10:51 +0000 [r2236] Stevan_White: + + * FreeSerif.sfd: Fixed problems turned up by + tests. Somehow alefmaksurainitialarabic hadn't been re-named. Two + new Combining Diacritics hadn't been given Unicode. + +2012-04-21 17:11 +0000 [r2235] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeMonoBoldOblique.sfd: Revision of German + TTF Names. + +2012-04-21 16:52 +0000 [r2231-2234] Stevan_White: + + * INSTALL: More info for Windows. + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd: PS Private: put in extra + blues line, adjusted to numerals. + + * tools/report/OpenType/UnicodeRanges.py: Corrected + one range + + * tools/generate/TrueType, + tools/generate/WOFF, + tools/generate/OpenType, + tools/generate/MacTT: all: removed launch line + WOFF: made quadratic, and autoinstructed TrueType: turned off + saving of hints + +2012-04-21 11:17 +0000 [r2230] Stevan_White: + + * FreeSerifBold.sfd: Vietnamese: small + adjustment of accents + +2012-04-20 12:57 +0000 [r2228-2229] Stevan_White: + + * AUTHORS, CREDITS: Various + corrections, doing the best I could with stale URLs. + + * ChangeLog: Some typos + +2012-04-20 11:06 +0000 [r2227] Stevan_White: + + * ChangeLog: Summary of changes since late last + year. + +2012-04-19 21:07 +0000 [r2226] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: re-named + alefmaksurainitialarabic and alefmaksuramedialarabic as + alefmaksurainitialarabic and alefmaksuramedialarabic to avoid a + confusing FontForge warning. This was discussed on the FontForge + list, and a partial remedy was agreed upon. + +2012-04-19 21:02 +0000 [r2225] Stevan_White: + + * FreeSerif.sfd: GPOS table: removed the + Cyrillic kerns with non-Unicode "alternative" Cyrillic, because + FontForge warns that Windows apps will have *problems* with + mappings that aren't Unicode-Unicode. Most of the kerns were + rather small anyway. + +2012-04-19 20:39 +0000 [r2224] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBoldOblique.sfd: TTF Names: Fixes bug + #36232: Windows 7 strange bug with installation/font control + panel. Also improved French names. (Thanks to Emmanuel Vallois) + +2012-04-18 07:31 +0000 [r2223] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: Regularized + overlap of horizontal. Cleaned up numerous other letters. + +2012-04-17 07:37 +0000 [r2222] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Currency Symbols: + Added/corrected/adjusted Indian Rupee. + +2012-04-16 22:45 +0000 [r2221] Stevan_White: + + * notes/maintenance.txt, + notes/usage.txt, + notes/troubleshooting.txt, + notes/webfont_guidelines.txt, + notes/features.txt: Added section about where + letters are to usage.txt Made sure svn properties are set for + others. + +2012-04-16 22:26 +0000 [r2220] Stevan_White: + + * README: Updated information about file types + +2012-04-16 22:17 +0000 [r2219] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: resolves bug + #36195: Arabic semicolon doesn't match with others + +2012-04-15 23:16 +0000 [r2218] Stevan_White: + + * FreeSerifBold.sfd: Arabic: this was meant to + be in previous commit. + +2012-04-15 18:30 +0000 [r2217] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: Remedies bug + #36196: Arabic ba and teh isolated and final. Also applied + similar alteration to some similar letters. Bold: there were some + missing ligatures of superscript marks. + +2012-04-15 17:52 +0000 [r2216] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: Remedies bug + #36198: dots for Arabic letter jeh Also revised placement dots + over some other letters. + +2012-04-15 13:24 +0000 [r2215] Stevan_White: + + * FreeSerif.sfd: Arabic: remedies bug #36191, + Arabic character DAD final form + +2012-04-15 12:23 +0000 [r2214] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: toward bug #36189: + discrepancy in different forms of ک and گ + +2012-04-15 12:02 +0000 [r2213] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: remedies bug + #36190, Arabic question mark too small + +2012-04-15 11:16 +0000 [r2212] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: anchors for + recently added letters. Thanks, Zdenek. + +2012-04-15 10:44 +0000 [r2211] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: adjusted height of + dots on a few glyphs + +2012-04-15 10:31 +0000 [r2210] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: remedies bug + #36181: initial and final form of heh (U+0647) + https://savannah.gnu.org/bugs/?36181 + +2012-04-14 13:35 +0000 [r2209] Stevan_White: + + * tools/test/ranges/Arabic/arabic_test.py (added), + tools/test/ranges/Arabic/unicode_joining.py + (added), + tools/test/ranges/Arabic/generate_arabic_shaping.py + (added), tools/test/ranges (added), + tools/test/ranges/Arabic (added): Scripts to + generate comprehensive Arabic tests in HTML, courtesy of Emmanuel + Vallois. + +2012-04-13 09:56 +0000 [r2208] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd: Devanagari: serif: corrected + OpenType glyph type of ru, ruu ligatures to be base ligatures, + not marks. sans, sans bold: added ka-ra "vatu" ligature at + Zdenek's suggestion. sans: removed empty lookup. + +2012-04-10 20:33 +0000 [r2207] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: several mark + placement issues, pointed out by Zdenek. + +2012-04-09 21:58 +0000 [r2206] Stevan_White: + + * sfd/Makefile, FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: made Arabic and + Persion digits 500EM wide. + +2012-04-09 18:35 +0000 [r2205] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: Arabic: messed with digits. + Overall, had been building with GIT version of FontForge. found + that older distro version 22-Feb-2011-ML shows warning dialogs + Internal Error: EITOfNextMajor failed! on Clockwise Test + (cleverly omitting the crucial info). Turns out, just rounding to + int on certain characters fixes it. + +2012-04-09 11:34 +0000 [r2204] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: More kerning: tried + to synch up normal and bold. Altered letters especially for + Seraiki. Lots of fiddling with heh and heh-doachashmee. Seems the + letter transforms very differently for different languages. This + is not there yet. + +2012-04-08 12:53 +0000 [r2203] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: made 'ccmp' table + and some combining marks to handle cases of letters that don't + have positional forms in Unicode. Only did a few -- more are + needed. Lots of kerning. Fiddled with shapes of several letters. + +2012-04-07 19:21 +0000 [r2202] Stevan_White: + + * FreeSerif.sfd: Arabic: more alterations toward + bug #36115: Various little problems with Arabic/Persian glyphs + More kerning. Some forms from Pashto are missing. + +2012-04-06 17:45 +0000 [r2201] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: made medial form of + loop-letters more distinctive from initial forms. (toward bug bug + #36115: Various little problems with Arabic/Persian glyphs) + +2012-04-05 16:43 +0000 [r2200] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: improvements to + digits (Persian primarily) based on patch from Masoud Pourmoosa. + +2012-04-04 17:10 +0000 [r2199] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Arabic; (for Farsi) toward + bug 34700: made farsi yeh final more like the Unicode samples. + https://savannah.gnu.org/bugs/?34700 Arabic/Persian in FreeSerif: + ending "Yeh" is annoying + +2012-04-04 14:34 +0000 [r2198] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Various attempts to make + web fonts work/look better. Sans Devanagari: made relation + between overhang and horizontal more consistent for half-forms. + Corrected metrics in FreeSansOblique. Some kerning overall, after + looking again at sample pages + +2012-04-02 13:30 +0000 [r2197] Stevan_White: + + * FreeSansBold.sfd: Devanagari: toward more + consistent spacing, especialy of half-forms + +2012-04-02 12:57 +0000 [r2196] Stevan_White: + + * FreeSans.sfd: Devanagri: better connection of + horizontals, especially half forms. + +2012-04-01 13:45 +0000 [r2195] Stevan_White: + + * FreeSerif.sfd: Combining Diacritical Marks + Supplement: made glyphs for large part of range. Latin + Extended-D: made Latin con and US glyphs. + +2012-03-30 13:34 +0000 [r2193-2194] Stevan_White: + + * tools/generate/OpenType: Turn on PS rounding for + Type1 glyphs + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Pointwise cleanup + toward validation with PS rounding turned on for OpenType. + +2012-03-30 11:16 +0000 [r2192] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: bold, italic, + re-considered vowel naming to avoid FF warnings. Latin: a bit of + kerning + +2012-03-29 20:39 +0000 [r2191] Stevan_White: + + * notes/troubleshooting.txt: corrections about + recent changes + +2012-03-28 19:59 +0000 [r2190] Stevan_White: + + * notes/troubleshooting.txt: Remarks about + LibreOffice's challenges with OpenType features. + +2012-03-28 19:38 +0000 [r2189] Stevan_White: + + * notes/README-downloads.txt: brought up to date, + regarding perferred format in various systems, and the WOFF files + +2012-03-28 19:31 +0000 [r2185-2188] Stevan_White: + + * AUTHORS, INSTALL, + COPYING: changed SVN keywords + + * ChangeLog: corrections, addition + + * CREDITS: correctons, additions + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: simplified dist + lookup criteria + +2012-03-28 19:24 +0000 [r2184] Stevan_White: + + * tools/report/ligatureLookups.py: better error + handling, doc + +2012-03-28 19:20 +0000 [r2183] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: cleaned up a + bunch of excess GPOS anchors; tidied lookups. + +2012-03-28 09:17 +0000 [r2180-2182] Stevan_White: + + * Makefile: insert troubleshooting doc + + * notes/troubleshooting.txt (added): A doc + explaining how to troubleshoot font problems. + + * notes/usage.txt: Tidied, more explanation of the + doc as a whole. + +2012-03-26 10:43 +0000 [r2179] Stevan_White: + + * FreeSerif.sfd: Devanagari: much experimenting + with lookups to center western punctuation between words + (resulted in several bug reports on firefox and xetex). + Currently, uses GSUB 'locl'. GPOS are too problematic in apps to + use. + +2012-03-25 09:49 +0000 [r2178] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: added + positioning for western punctuation + +2012-03-25 09:40 +0000 [r2177] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari, Bengali: small + tweeks to dots + +2012-03-24 21:34 +0000 [r2176] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBoldOblique.sfd: TTF Names: Hindi + hyphenated term + +2012-03-24 10:20 +0000 [r2175] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: regarding + horizontal spacing, on advice of Zdenek. o, au -- stems were too + close. danda, dbldanda: much too near preceding word. Made so + that danda-space would space the mark evenly between the words. + Made lookups for similarly-spaced question and exclamation marks. + Kerning (or dist?): Experiments -- problems include: Firefox + doesn't seem to support "dist". Xetex doesn't turn kerning on by + default. Fontforge complains Windows doesn't like to kern + auxiliaries with Unicode ranges. Nonetheless, it does pack words + rather tighter. My own advice: made ra glyph more narrow. It was + the worst, spacing wise, on the un-kerned page. Oriya: made + similar spacing for its danda. + +2012-03-23 12:56 +0000 [r2174] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: efforts to + improve horizontal spacing, that Zdenek complains about. 1) + medium: o, au vowels: stems too close 2) danda, dbldanda, should + be widely separated from words, centred between them. 3) bold: on + horizontal, bevels extend rather more than they should (reduced + in Unicode and through first set of half marks in the + auxiliaries... willl complete later.) 4) made special localized + forms of question, exclamation mark. + +2012-03-22 23:25 +0000 [r2172-2173] Stevan_White: + + * tools/generate/TrueType, + tools/generate/WOFF, + tools/generate/OpenType: Set the encoding to + UnicodeFull before build (a bit wasteful for faces with no high + Unicode, but couldn't think of a better way.) + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd: More re-thinking of OS/2 + weights. In sans, again adjusted OS/2 Windows metrics to stop + clipping. (I'm just sure this will mess up line spacing in + OpenOffice, but didn't have time to check. Something has a bug.) + +2012-03-22 19:17 +0000 [r2171] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Font Info: filled out + TTF Names Fullname for Hindi + +2012-03-22 19:00 +0000 [r2170] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added Hindi term for + Font Style in TTF Names (courtesy of Monika Shah) + +2012-03-22 18:49 +0000 [r2169] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: FontInfo: + re-considered OS/2 and Panose weight descriptions + +2012-03-22 15:02 +0000 [r2168] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: Replaced a + 'pres' table that got zeroed by a crash. More adjustments to mark + placement. + +2012-03-22 12:51 +0000 [r2167] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: Replaced lost + 'pres' lookup tables. + +2012-03-22 10:35 +0000 [r2166] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Overall: Several + measures toward reducing warnings from Font Validator. In "roman" + faces, change TTF Name: SubFamily to "Regular". (FontForge binds + this to PSNames:Weight --? so changed that.) Experimenting with + General:Name For Humans (Fiddled with Family Name too...but + changed it back.) Changes to OS/2:Sub/Super Subscript Offset -- + made positive. Some fiddling with Panose info. Also: previously + OS/2 Charsets missed 708, Arabic ASMO 708. (Bug in + FontForge-patch reported.) In sans and mono oblique, bold, and + boldoblique, added some math operators to fill an Apple codepage. + Sinhala: FreeSerifBold -- implemented same change moving 'ccmp' + to 'akhn' as in roman face. Has to do with bug in OpenOffice/ICU. + +2012-03-20 08:25 +0000 [r2165] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: OS/2 small tweeks: + set "weight, width, slope only" + +2012-03-19 18:34 +0000 [r2164] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: OS/2 Charsets: made serif, + serifbold, mono to support ASMO 708 MS Codepage for Arabic (small + bug in FontForge) OS/2 Version: changed from Automatic to 3 for + all, only to satisfy old MS Font Validator, which chokes on + higher versions. + +2012-03-19 09:45 +0000 [r2163] Stevan_White: + + * FreeMono.sfd: correction-something went wrong + with the encoding two commits ago. (I switched encoding from + custom to BMP and back again.) This should encorporate the recent + changes and fix the problem. + +2012-03-19 09:07 +0000 [r2162] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: comments + containing new Unicode ranges without ulUnicodeRange bits + +2012-03-19 08:41 +0000 [r2161] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: OS/2 version: set to + 3 (was "Automatic") mostly for MS Font Validator. Arabic + Presentation Forms B: (regular) made lam-alif ligatures, + completing range. + +2012-03-18 15:57 +0000 [r2160] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Devanagari: more toward + positioning of marks. + +2012-03-18 15:09 +0000 [r2159] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: resolved some + dfficult cases reported by Zdenek. (esp. that esign and reph + could come in either order.) + +2012-03-18 06:37 +0000 [r2158] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd: Devanagari: More toward proper + mark placement. + +2012-03-16 17:39 +0000 [r2157] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: more issues + regarding mark placement. + +2012-03-15 23:39 +0000 [r2156] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: toward fixing + mark positioning problems Zdenek pointed out. + +2012-03-15 10:28 +0000 [r2155] Stevan_White: + + * FreeSerif.sfd: Latin: got i-ogonek-acute to + remove dot over i again (for Navaho). Problem was evidently a + DFLT{dflt} entry in lookup language tags. + +2012-03-15 10:03 +0000 [r2153-2154] Stevan_White: + + * FreeSans.sfd: Devanagari: fixes for some mark + issues pointed out by Zdenek. + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: corrected + longstanding problem that made stacked Vietnamese accents fail. + Had to do with long list of languages filter of default ligature + lookup, excluding Turkish, and rendering logic I don't + understand. Devanagari: toward correcting marks stacked below + rakaar. + +2012-03-13 16:29 +0000 [r2152] Stevan_White: + + * FreeSerif.sfd: Mathematical Alphanumeric + Symbols (especially) named some characters + +2012-03-13 10:46 +0000 [r2151] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: ha-rrvocalic + and improved ha-rakaar, as in medium + +2012-03-12 21:59 +0000 [r2150] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Mathematical Operators: + reduced horizontal spacing of complement operator + +2012-03-12 21:28 +0000 [r2149] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Mathematical Operators: + re-thought dimensions of "complement" symbol (after seeing it in + Dieudonné's analysis book) + +2012-03-12 18:49 +0000 [r2148] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Devanagari: various adjustments + to marks. serif: added ha-llvocalic, rplaced ha_ra conjunct, + positioned virama separately from fowels. + +2012-03-11 22:39 +0000 [r2147] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Bengali: adjustments to marks; + GPOS tables to position them. + +2012-03-11 16:37 +0000 [r2146] Stevan_White: + + * FreeSansOblique.sfd: Bengali: fixed some + horizontal spacing issues + +2012-03-11 00:56 +0000 [r2145] Stevan_White: + + * FreeSansBold.sfd, + FreeSerif.sfd: Made to pass tests -- mostly + little pointwise tweeks. One range of auxiliaries had wandered + out of the Private Use area. + +2012-03-10 23:55 +0000 [r2144] Stevan_White: + + * FreeMonoOblique.sfd: Armenian: corrected width + of one glyph + +2012-03-10 18:53 +0000 [r2143] Stevan_White: + + * FreeSans.sfd: Bengali: completed pointwise + clean-up of auxiliaries. Found a couple more with quite wrong + rignt bounds. + +2012-03-10 13:15 +0000 [r2142] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: OS/2 vertical metrics: + another change of heart: made vertical metrics like other fonts I + looked at, and tightened line spacing. Bengali: (sans) point-wise + clean-up down to bn_l_dd_ra (before I pooped out) Fixed right + bound of several auxiliaries, such as bn_p_ma, bn_m_p_la + +2012-03-09 19:04 +0000 [r2141] Stevan_White: + + * FreeSerifItalic.sfd: Removed some unintended + empty contours. Pointwise clean-up of points too close (but gave + up on Bengali range.) + +2012-03-09 18:45 +0000 [r2139-2140] Stevan_White: + + * tools/generate/TrueType: Made splines quadratic + + * FreeMonoOblique.sfd: Pointwise cleanup of + "points too close" problems. + +2012-03-09 18:35 +0000 [r2138] Stevan_White: + + * FreeSerifBold.sfd: Removed an unintended empty + contour + +2012-03-09 16:52 +0000 [r2137] Stevan_White: + + * tools/generate/TrueType, + tools/generate/WOFF, + tools/generate/OpenType, + tools/generate/buildutils.py, + tools/generate/MacTT: Updated copyrights + +2012-03-09 16:49 +0000 [r2136] Stevan_White: + + * sfd/Makefile: Made to properly report progress for + OpenType target + +2012-03-09 16:08 +0000 [r2135] Stevan_White: + + * FreeSerif.sfd: Mahjong Tiles: The previous + commit didn't quite do it. Sometimes, but starting the generate + process from scratch, it still crashed. But this "circle" glyph + was excessively elaborate anyway. Made it simpler, cleaned it up, + and now the crash isn't happening. + +2012-03-09 13:12 +0000 [r2134] Stevan_White: + + * FreeSerif.sfd: Mahjong Tiles: work-around for + FontForge crash, by use of references. Crash: Select All, + AutoHint. Generate Fonts, OpenType Options, check Postscript + Hints. Generate. segfault. + +2012-03-09 12:04 +0000 [r2133] Stevan_White: + + * FreeSerif.sfd: Mahjong Tiles: named the glyphs + +2012-03-09 01:17 +0000 [r2132] Stevan_White: + + * FreeSans.sfd: Corrected mixed reference and + contour. Overall point-wise cleanup "points too close" + +2012-03-07 23:27 +0000 [r2131] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Font Info General: + changed copyright 2011 to 2012 since no public release was made + last year. + +2012-03-07 21:06 +0000 [r2130] Stevan_White: + + * Makefile: Source tarball now includes all build + scripts etc. + +2012-03-07 14:50 +0000 [r2129] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: .notdef: made clearer + that something is missing... + +2012-03-06 19:07 +0000 [r2128] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: mostly + adjustments to mark placement. + +2012-03-06 11:22 +0000 [r2127] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: various + alterations toward ligatures as in Velthuis manual, and for + legibility. + +2012-03-05 21:18 +0000 [r2126] Stevan_White: + + * FreeSansBold.sfd: Devanagari: made half-na a + bit wider on Monika Shah's recommendation. Tweeked several other + auxiliaries for legibility. + +2012-03-05 20:25 +0000 [r2125] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: Several issues + reported by Monika Shah, including rakaar being placed + improperly, and some Sanskrit ligatures leaking into Hindi. + +2012-03-05 16:41 +0000 [r2124] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Devanagari: combined + half-form issues, reported by Zdenek Wagner. + +2012-03-05 15:07 +0000 [r2123] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: Several + alterations based on a report by Zdenek Wagner. Anusvara in + conjunction with other above marks, u and uumatra in conjunction + with ha and nuktas. + +2012-03-05 01:22 +0000 [r2122] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Bengali: Several + ligatures with ba had lost the holes in their ba. (bn_k_ba, etc); + also bn_asamib_r_ukaar. Copied holes from similar glyphs. A + similar thing may have happend to a couple of other ligs + (bn_ss_tta1, bn_ss_tt_ra1). I don't know how these should look, + but they seem to be unused anyway. + +2012-03-04 18:24 +0000 [r2121] Stevan_White: + + * FreeSerifItalic.sfd: general clean-up of + points too close. Bogged down on Bengali. + +2012-03-04 18:01 +0000 [r2120] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Currency Symbols: added + Rupee to italic. general clean-up of points too close. + +2012-03-04 13:18 +0000 [r2119] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Gurmukhi: adjusted + placement of dots. re-named tables and rounded to int in bold. + +2012-03-04 12:25 +0000 [r2118] Stevan_White: + + * FreeSerif.sfd: Devanagari Extended: completed + range + +2012-03-04 11:25 +0000 [r2117] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Armenian: added dhahma + (and ran clear hints) + +2012-03-04 11:21 +0000 [r2116] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Armenian: added drahma + +2012-03-04 10:45 +0000 [r2115] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: completed main + Unicode range. + +2012-03-04 10:17 +0000 [r2114] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Gurmukhi: Added range in + bold. Serif: Many point-wise cleanups, in Gurmukhi and other + ranges. + +2012-03-02 22:19 +0000 [r2113] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: starting to + converge. In serif, added ra-u and ra-uu and tables, raised + anusvara. Various small alterations to sans letters. + +2012-03-02 15:18 +0000 [r2112] Stevan_White: + + * FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: corrected + rakaar on letter da + +2012-03-02 14:56 +0000 [r2111] Stevan_White: + + * FreeSansBold.sfd: Devanagari: glyph clean-up + pass through auxiliaries. + +2012-03-02 12:22 +0000 [r2110] Stevan_White: + + * FreeSansBold.sfd: Devanagari: clean-up pass + through Unicode range. Added a few ligatures. + +2012-03-02 03:35 +0000 [r2107-2109] Stevan_White: + + * FreeSansBold.sfd: Devanagari: implemented by + increasing weight of letters from Sans. Subset of auxiliaries in + Sans: plan is to do more with tables. + + * FreeSans.sfd: Devanagari: re-instated + dev_ha_rvocalic.blws + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: corrected table + having to do with rakaar on round consonants + +2012-03-01 19:50 +0000 [r2106] Stevan_White: + + * FreeSans.sfd: Devanagari: Regularized + horizontal bar height and width, as well as size and shape of dot + marks (made all diamonds). More use of references. (With GPOS + tables, most of the nuktas and halents would go away.) Latin: + made comma a bit less spindly, and likewise with derived marks. + +2012-02-29 22:29 +0000 [r2105] Stevan_White: + + * FreeSerif.sfd: Bengali: some insignificant + clean-up. what to do about these glyphs? + +2012-02-29 19:12 +0000 [r2104] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: Various small corrections + to get test suite to run + +2012-02-29 17:02 +0000 [r2103] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: corrected table + tag for style sets. Made substitutions for Marathi more like + those for Hindi than Sanskrit. + +2012-02-29 11:21 +0000 [r2102] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: should now have + same coverage as regular face. + +2012-02-29 07:10 +0000 [r2101] Stevan_White: + + * FreeSerif.sfd: Devanagari: replaced + auxiliaries; added positioning anchors. + +2012-02-25 13:52 +0000 [r2100] Stevan_White: + + * Makefile: include usage notes in packages + +2012-02-25 10:40 +0000 [r2099] Stevan_White: + + * notes/usage.txt: Further notes + +2012-02-25 10:30 +0000 [r2098] Stevan_White: + + * notes/usage.txt (added), + notes/features.txt: Usage notes -- primarily about + discretionary and language-specific features, what they're for + and how to use them. + +2012-02-24 15:58 +0000 [r2097] Stevan_White: + + * FreeSerif.sfd: Oriya: Special form for ukar + under some consonants, ligatures for several consonants with + aakar, with lookups. + +2012-02-24 12:21 +0000 [r2096] Stevan_White: + + * FreeSerif.sfd: Oriya: found auxiliaries that + had excaped clean-up. + +2012-02-24 11:47 +0000 [r2095] Stevan_White: + + * FreeSerif.sfd: Oriya: Switched yophola and + yyophola for about the 3rd time. This time, following doc for + ortex. Clean-up of "points too close". + +2012-02-23 23:37 +0000 [r2094] Stevan_White: + + * FreeSerif.sfd: Oriya: removed overlap of + components, validated. + +2012-02-23 23:25 +0000 [r2093] Stevan_White: + + * FreeSerif.sfd: Oriya: glyph cleanup of + auxiliaries complete. + +2012-02-23 19:55 +0000 [r2092] Stevan_White: + + * FreeSerif.sfd: Oriya: one removed glyph had + stowed away in a chaining lookup list + +2012-02-23 18:09 +0000 [r2091] Stevan_White: + + * FreeSerif.sfd: Oriya: Corrected lookup tag for + 'haln' form for 'no'. More glyph cleanup in auxiliaries. + +2012-02-23 16:19 +0000 [r2090] daniel_j: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Set correct codepoint + and Unicode name for uniA7AA (hooked H) in sans bold and + bold-oblique + +2012-02-23 14:52 +0000 [r2089] Stevan_White: + + * FreeSerif.sfd: Oriya: corrected blown-out + letter in main range, renamed an auxiliary. + +2012-02-23 14:11 +0000 [r2088] Stevan_White: + + * FreeSerif.sfd: Oriya: worked on vowels. + adjusted ii and ai_length to improve connections. Made table for + i sign beneath tho, dho. + +2012-02-23 13:35 +0000 [r2087] Stevan_White: + + * FreeSerif.sfd: Oriya: in auxiliary glyphs, a + bit more clean-up, regularizing stem widths. Moved previous + 'half' to 'haln', as 'half' isn't recognized by Pango. + +2012-02-23 12:46 +0000 [r2086] Stevan_White: + + * FreeSerif.sfd: Oriya: Re-shaped a few letters + with over-thick round parts. Made vowels a bit closer to base + letter. + +2012-02-23 11:53 +0000 [r2085] Stevan_White: + + * FreeSerif.sfd: Oriya: made verticals in main + range of more consistent width. + +2012-02-22 22:32 +0000 [r2084] Stevan_White: + + * FreeSerif.sfd: Oriya: more lookups seem to be + working, but there is a big question about why the halent + switches position. Is this the shaping engine, or something I've + done with the tables? + +2012-02-22 19:44 +0000 [r2083] Stevan_White: + + * FreeSerif.sfd: Oriya: regularized glyph + bearings + +2012-02-22 19:18 +0000 [r2082] Stevan_White: + + * FreeSerif.sfd: Oriya: enabled lookups for lots + more ligatures. Still concerned that akhans aren't activating. + Some adjustment of stem widths, etc. + +2012-02-22 09:38 +0000 [r2081] Stevan_White: + + * FreeSerif.sfd: Oriya: made anusvara a spacing + mark, made tables and spacing versions of below base marks to + avoid collisions with subscripted consonants, adjusted vowel e to + be less angular and a bit lighter. + +2012-02-22 00:44 +0000 [r2080] Stevan_White: + + * FreeSerif.sfd: Oriya: a lot of work with + tables getting examples on MS Typography pages on Oriya to work. + Glyph clean-up, mark adjustments. + +2012-02-21 10:39 +0000 [r2079] Stevan_White: + + * FreeSerif.sfd: Oriya: completed Unicode range; + more glyph clean-up. yophola and zophola were exchanged -- fixed. + made look-up for reph+canrabindu. + +2012-02-20 22:39 +0000 [r2078] Stevan_White: + + * FreeSans.sfd: Devanagari: better use of + references in auxiliary range + +2012-02-20 08:41 +0000 [r2077] Stevan_White: + + * FreeSerif.sfd: Oriya: more glyph clean-up + +2012-02-19 20:52 +0000 [r2076] Stevan_White: + + * FreeMono.sfd, + FreeSerifBold.sfd: Currency Symbols: New + Indian Rupee. + +2012-02-19 20:27 +0000 [r2075] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Currency Symbols: Rupee ought + to be shaped as a Devanagari ra with two horizontals, as pointed + out by Santhosh Thottingal. + +2012-02-19 20:05 +0000 [r2074] Stevan_White: + + * FreeSans.sfd: Malayalam: corrected l_voc_mal + and ll_voc_mal, which were completely wrong, as pointed out by + Santhosh Thottingal. + +2012-02-19 19:37 +0000 [r2073] Stevan_White: + + * FreeSerif.sfd: Oriya: Made vowels combine more + correctly. More glyph clean-up. + +2012-02-19 11:03 +0000 [r2072] Stevan_White: + + * FreeSerif.sfd: Oriya: more glyph clean-up + +2012-02-19 00:51 +0000 [r2071] Stevan_White: + + * FreeSerif.sfd: Oriya: clean-up, glyph + validation of main Unicode range. + +2012-02-18 21:50 +0000 [r2070] Stevan_White: + + * FreeSerif.sfd: Gujarati: Removed overlaps, + cleaned up resulting issues. + +2012-02-18 19:34 +0000 [r2069] Stevan_White: + + * FreeSerif.sfd: Gujarati: main glyph clean-up + done. some mods to glyph shapes . added a few i-widening table + entries. + +2012-02-18 18:16 +0000 [r2068] Stevan_White: + + * FreeSans.sfd: Malayalam: positioning tables + for below marks l_voc_mal and ll_voc_mal, as well as for reph. + (consult latest development version of Meera). Currency: made + indian Rupee sign a bit wider + +2012-02-18 00:02 +0000 [r2067] Stevan_White: + + * FreeSerif.sfd: Gujarati: further glyph + clean-up (almost there!). Adjusted marks. Made new lookups to + pick letter i based on width of the letter it goes over. + +2012-02-17 14:42 +0000 [r2066] Stevan_White: + + * FreeSerif.sfd: Gujarati: mostly messing with + mark positioning: got rid of carat-reph forms. + +2012-02-17 11:28 +0000 [r2065] Stevan_White: + + * FreeSerif.sfd: Gujarati: further glyph + clean-up, adjustments to mark placement. + +2012-02-17 01:44 +0000 [r2064] Stevan_White: + + * FreeSerif.sfd: Gujarati: replaced ha_half, + added some lookups for above marks. + +2012-02-17 00:14 +0000 [r2062-2063] Stevan_White: + + * FreeSerif.sfd: Correction: kerning tables were + blown out in commit 2056. There were several bad crashes about + that time. The effect seems to be: all kern table entries are set + to 0. + + * sfd/Makefile, FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: kerning tables restored. + Problem happened in commit 2096 + +2012-02-16 23:41 +0000 [r2061] Stevan_White: + + * FreeSerif.sfd: Gujarati: more glyph clean-up, + mostly in auxiliaries. Just noticed all kern tables have been + zeroed again (thank you, FontForge). + +2012-02-16 21:11 +0000 [r2060] Stevan_White: + + * FreeSerif.sfd: Gujarati: glyph clean-up of + Unicode range, some of auxiliary glyphs. + +2012-02-15 20:16 +0000 [r2059] Stevan_White: + + * FreeSerif.sfd: Gujarati: more glyph clean-up, + re-naming. much more to do. + +2012-02-15 17:12 +0000 [r2058] Stevan_White: + + * FreeSerif.sfd: Gujurati: removed anusvara and + nukta lookups in preference of positioning. general glyph + clean-up. deleted a bunch of unused characters. Oriya: general + glyph clean-up. + +2012-02-14 23:59 +0000 [r2057] Stevan_White: + + * FreeSerif.sfd: Gujarati: Again, from Samak + Gujarati font (full GPL 3.0 with font exception) Scaled slightly + to fit bounds, moved some letters, renamed a few. Lots more to + do. + +2012-02-14 22:35 +0000 [r2056] Stevan_White: + + * FreeSerif.sfd: reverting previous commit. + lookup tables somehow got damaged + +2012-02-14 20:40 +0000 [r2055] Stevan_White: + + * FreeSerif.sfd: Gujarati: From Samak Gujarati + font (full GPL 3.0 with font exception) Scaled slightly to fit + bounds, moved some letters, renamed a few. Lots more to do. + +2012-02-14 19:37 +0000 [r2054] Stevan_White: + + * FreeSans.sfd: Gujarati: Deleted range, over + questions of its provenance. Tut mir leid. + +2012-02-13 23:16 +0000 [r2052-2053] Stevan_White: + + * FreeSerif.sfd: Tamil: cleaned up 'virama' + glyph. + + * FreeSerif.sfd: Gurmukhi: cleaned up 'aa' + glyph. + +2012-02-13 23:11 +0000 [r2051] Stevan_White: + + * FreeSerif.sfd: Gurmukhi: cleaned up 'a' glyph. + +2012-02-13 23:06 +0000 [r2049-2050] Stevan_White: + + * FreeSerif.sfd: Oriya: compacted auxiliary + glyphs a bit. + + * FreeSerif.sfd: Oriya: removed most holonto and + nukta forms in preference for positioning lookups + +2012-02-13 21:08 +0000 [r2048] Stevan_White: + + * FreeSans.sfd: Gujarati: made to validate + +2012-02-13 20:55 +0000 [r2047] Stevan_White: + + * FreeSans.sfd: Gujarati: regularized horizontal + placement and spacing, mostly increasing spacing a bit. Got rid + of nukta substitution table in favor of positioning lookup; + likewise with all anusvara lookups. The glyphs of this range are + still very erratic, and the weight is substantially greater than + that of the rest of the face. + +2012-02-13 13:56 +0000 [r2046] Stevan_White: + + * FreeSans.sfd: Gujarati: shifted entire range + up by 44EM, so it didn't dangle so. Fiddled with mark placement. + +2012-02-13 00:01 +0000 [r2045] Stevan_White: + + * FreeSerif.sfd: Gurmukhi: improved vowel a. + +2012-02-12 23:29 +0000 [r2044] Stevan_White: + + * FreeSerif.sfd: Gurmukhi: replaced range with + glyphs from 'singh' metafont by Amarjit Singh + http://www.tex.ac.uk/tex-archive/language/gurmukhi/ The 'singh' + font is properly GPL. And the overall look is much more like + serif than what had been there. Status: added a few letters and + tables. Two marks were unrepresented in 'singh', and are + leftovers. I made a ya_halant and a ra below-form. Also made + substitution and positioning tables. Worst: the vowel 'a' is very + messed up -- much too heavy; hand-drawn. Will have to replace it. + Also need to review the missing marks. Pity there's no bold... + +2012-02-12 22:02 +0000 [r2043] Stevan_White: + + * tools/utility/metafont/bulk_eps_import.py (added), + tools/utility/metafont (added): Tools for + extracting glyphs from metafont files + +2012-02-10 23:22 +0000 [r2042] Stevan_White: + + * FreeSansBold.sfd: Gurmukhi: more of same. + +2012-02-10 23:18 +0000 [r2041] Stevan_White: + + * FreeSansBold.sfd: Gurmukhi: adjusted GPOS + entries + +2012-02-10 22:58 +0000 [r2040] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Gurmukhi: various tweeks to + ligatures. Gujarati: various tweeks to ligatures. + +2012-02-10 19:01 +0000 [r2039] Stevan_White: + + * FreeSansBold.sfd: Gurmukhi: toward version in + medium. Geometric Shapes: made dotted circle. + +2012-02-10 17:57 +0000 [r2038] Stevan_White: + + * FreeSerif.sfd: Oriya: added letters to + complete range. re-named letters for consistency with other indic + languages. fixed a broken table. + +2012-02-10 16:46 +0000 [r2037] daniel_j: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Unicode 6.1 addition in + FreeSerif: H-hook (U+A7AA) for Chadian languages + +2012-02-10 15:46 +0000 [r2036] Stevan_White: + + * FreeSerif.sfd: Oriya: Re-introduced, using + Samak Oriya, a GPL v.3 + font exception. + http://sarovar.org/projects/samyak/ Already the original is + altered in several ways. The glyphs need a lot of work. + +2012-02-10 12:03 +0000 [r2035] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: corrected + Private Use range + +2012-02-09 18:50 +0000 [r2034] Stevan_White: + + * FreeSans.sfd: Gujarati: added abbreviation + character + +2012-02-09 18:29 +0000 [r2033] Stevan_White: + + * FreeSans.sfd: Gurmukhi: named glyphs better. + Malayalam: corrected problems caused by recent inconsistent + naming. + +2012-02-09 16:36 +0000 [r2032] Stevan_White: + + * FreeSans.sfd: Gujurati: named characters + better -- makes it easier to see table problems. Found one error + in tables, fixed. There are others. + +2012-02-08 19:55 +0000 [r2031] Stevan_White: + + * FreeSerif.sfd: Tamil: several new tables in + effort to resolve spacing bug. + +2012-02-08 15:37 +0000 [r2030] Stevan_White: + + * FreeSerif.sfd: Tamil: fixed shrii ligature + +2012-02-08 15:15 +0000 [r2029] Stevan_White: + + * FreeSerif.sfd: Tamil: Toward resolution of bug + #35479: Tamil in FreeSerif: some ligatures wrong + https://savannah.gnu.org/bugs/index.php?35479 Removed GSUB tables + about positioning the virama; implemented this with a GPOS table + and anchor points. Corrected tables for sshri, kss ligatures. + Toward resolution of bug #35480: Tamil in FreeSerif: placement of + vowel marks poor https://savannah.gnu.org/bugs/index.php?35480 + Made a vertical ii sign, made a contextual chain that replaces + the normal ii with this one for certain letters. + +2012-02-08 01:41 +0000 [r2028] Stevan_White: + + * FreeSerif.sfd: Malayalam: Added subtable for + nta (mal_n1rh), Separated 'psts' subtable into u and uu ones, and + everything else, hoping somehow to deal with the orthographic + reform. + +2012-02-07 23:52 +0000 [r2026-2027] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Malayalam: some additions from + recent Unicode (historical letters) Rearranged akhan lookups. + + * tools/report/OpenType/UnicodeRanges.py: Recent + Unicode additions + +2012-02-06 19:24 +0000 [r2025] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Latin: Fixed broken + kerning. Problem was: there was an entry for 'f' as the first + letter in two subtables of the same lookup. The second subtable + was ignored, even though there was no match for the second letter + in the first lookup. That is, within a kern lookup, the first + letters of the pairs should be unique. + +2012-02-06 14:41 +0000 [r2023-2024] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: put dflt back in + Standard Ligature language list + + * FreeSerif.sfd: Devanagari: added glyphs for + Bompay, Calcutta, Nepali styles from velthuis. made Style Set + lookups for them. Latin: put dflt back in the Standard Ligatures + language list + +2012-02-05 23:59 +0000 [r2022] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: named more + Unicode glyphs, tried to make tables more like latest Serif. Know + of one inconsistency remaining. + +2012-02-05 12:18 +0000 [r2021] Stevan_White: + + * FreeSerif.sfd: Devanagari: re-worked overlarge + reph-anudatta. Regularized table naming. + +2012-02-04 21:50 +0000 [r2019-2020] Stevan_White: + + * FreeSerif.sfd: Devanagari: lookup tables -- + for the first time, test matches big table of ligatures in + velthuis (wrt Sanskrit and Hindi). + + * FreeSans.sfd: Devanagari: named a bunch of + Unicode glyphs + +2012-02-03 15:09 +0000 [r2018] Stevan_White: + + * FreeSerif.sfd: Devanagari: another + re-arrangement of tables for velthuis compliance. problems + persist. + +2012-02-01 20:59 +0000 [r2017] Stevan_White: + + * FreeSerif.sfd: Devanagari: complete + re-structuring of tables in attempt to resemble better the specs + about Indic tables, and produce ligatures of the velthuis font. + Hebrew: Support raising of Yiddish vowel marks. + +2012-02-01 19:29 +0000 [r2016] daniel_j: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Unicode 6.1 additions + in FreeSans: - Tifinagh Ye, Yo - Armenian dram - African H with + hook + +2012-01-31 12:02 +0000 [r2015] Stevan_White: + + * FreeSansBoldOblique.sfd: Hebrew: last commit + accidentlly widened right side of many letters + +2012-01-31 11:51 +0000 [r2014] Stevan_White: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Hebrew: more + adjustment of points: bold--shifted letters to right + +2012-01-31 11:08 +0000 [r2013] Stevan_White: + + * FreeSansOblique.sfd: Hebrew: some adjustment + of mark positioning + +2012-01-31 10:58 +0000 [r2012] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Hebrew: adjustments to + positioning marks; italic moved letter yod + +2012-01-31 10:33 +0000 [r2011] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Hebrew: deleted incorrect + ligature lookup + +2012-01-31 10:24 +0000 [r2010] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Hebrew: deleted + incorrect ligature lookup + +2012-01-31 10:13 +0000 [r2009] Stevan_White: + + * FreeSansBold.sfd: Hebrew: adjustments to mark + positioning, a bit of tidying of letters. Latin: deleted a + mistakenly copied table. + +2012-01-31 09:47 +0000 [r2008] Stevan_White: + + * FreeSansBold.sfd: Hebrew: added mark + positioning + +2012-01-31 00:15 +0000 [r2007] Stevan_White: + + * FreeSans.sfd: Hebrew: should rememdy bug + #35409: Incorrect placement of khirik-yud for Yiddish in FreeSans + (At least for FreeSans medium) + +2012-01-28 14:26 +0000 [r2006] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Devanagari: roman--adjusted + auxiliary glyph names to better fit bold bold: several + corrections + +2012-01-28 12:37 +0000 [r2005] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: various repairs + to glyphs and tables + +2012-01-28 01:36 +0000 [r2004] Stevan_White: + + * FreeSerifBold.sfd: Devanagari: added glyphs + from velthuis font's dvngb10.pfb, added subtables from FreeSerif. + Still plenty missing. + +2012-01-27 22:13 +0000 [r2003] Stevan_White: + + * FreeSerif.sfd: Devanagari: a couple more + tables to handle velthuis corner cases. + +2012-01-26 22:52 +0000 [r2002] Stevan_White: + + * FreeSerif.sfd: Devanagari: fixed a few lookup + problems. several more remain. + +2012-01-25 14:24 +0000 [r2000-2001] Stevan_White: + + * FreeSerif.sfd: Devanagari: adjustments to mark + positioning + + * FreeSans.sfd: Latin: adjustments to accents + Devanagari: re-working tables for better support of Hindi vs + Sanskrit + +2012-01-25 12:09 +0000 [r1999] Stevan_White: + + * FreeSerif.sfd: Devanagari: Named some letters; + some table clean-up. Devanagari Extended: Added combining + cantillation marks. + +2012-01-24 15:02 +0000 [r1998] Stevan_White: + + * FreeSerif.sfd: Devanagari: Most of the + previous commits about Hindi were in error: two columns of the + velthuis manual for Modern Hindi and Old Hindi were swapped. This + now implements Modern Hindi, except for one conjunct. Old Hindi + conjuncts are moved to separate tables, but Old Hindi is not + specifically supported. + +2012-01-23 18:48 +0000 [r1997] Stevan_White: + + * FreeSerif.sfd: Devanagari: several table + corrections, based on new tests. + +2012-01-23 10:18 +0000 [r1996] Stevan_White: + + * FreeSerif.sfd: Devanagari: table for + consonants that don't take half-form, other conjunct table + tweeks. + +2012-01-21 23:20 +0000 [r1995] Stevan_White: + + * FreeSerif.sfd: Devanagari: many small + corrections to GSUB. + +2012-01-20 13:44 +0000 [r1994] Stevan_White: + + * FreeSerif.sfd: Devanagari: Sanskrit/Hindi + distinction now seems to be working. (Was order of two 'akhn' + tables, one specialized for Sanskrit. Don't understand--thought + always all matching tables were executed.) + +2012-01-20 01:41 +0000 [r1993] Stevan_White: + + * FreeSerif.sfd: Devanagari: some clean-up, + split the akhn table into general (modern Hindi) and Sanskrit. + But not the Sanskrit doesn't activate in any environment, with + lang='sa'. However, seems to work for Hindi. + +2012-01-19 16:00 +0000 [r1992] Stevan_White: + + * FreeSerif.sfd: Devanagari: more tweeks to + rakaar slash + +2012-01-19 15:30 +0000 [r1991] Stevan_White: + + * FreeSerif.sfd: Devanagari: corrected simple + Rakaar forms again + +2012-01-19 13:52 +0000 [r1990] Stevan_White: + + * FreeSerif.sfd: Devanagari: corrected spacing + problem with combining rakaar slash. + +2012-01-19 00:52 +0000 [r1989] Stevan_White: + + * FreeSerif.sfd: Devanagari: fixed last + consonant-virama-ra conjuncts + +2012-01-19 00:32 +0000 [r1988] Stevan_White: + + * FreeSerif.sfd: Devanagari: fixed + consonant-virama-consonant-virama conjuncts + +2012-01-19 00:04 +0000 [r1987] Stevan_White: + + * FreeSerif.sfd: Devanagari: much done on tables + for compound letters. a couple of compounds were corrected. + +2012-01-18 14:40 +0000 [r1986] Stevan_White: + + * FreeSerif.sfd: Devanagari: Much messing with + combined forms for vowels+rakh, finally got features going for + distinction of Rakaar slash vs Rakaar below mark. + +2012-01-16 00:36 +0000 [r1985] Stevan_White: + + * FreeSerif.sfd: Devanagari: more lookups + working. Still a couple of letters wrong. + +2012-01-14 22:43 +0000 [r1984] Stevan_White: + + * FreeSerif.sfd: Devanagari: with help of Z. + Wagner, and a TeX cmap file making the connection betwen + conjuncts in the Velthuis font and Unicode, inserted the Velthuis + au auxiliary glyphs and made lookup tables Mostly working. + +2012-01-13 12:08 +0000 [r1983] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Devanagari: (sans) better names + for a couple of characters, (serif) made names more like sans, + added Kashmiri letters to complete Unicode 6.0 range + +2012-01-13 00:25 +0000 [r1982] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: PS: Added UniqueId TT + Names: Added UniqueID Devanagari: (serif) added ABVM, BLWM tables + and anchors Devanagari: (sans) small tweaks mostly regarding mark + placement + +2012-01-10 17:17 +0000 [r1981] Stevan_White: + + * FreeSans.sfd: Devanagari: a couple of + touch-ups: corrected 'abvs' entry for ausign-anusvera. + +2012-01-10 16:12 +0000 [r1980] Stevan_White: + + * FreeSans.sfd: Devanagari: re-named most + auxiliary glyphs to make tables more sensible. + +2012-01-10 12:56 +0000 [r1979] Stevan_White: + + * FreeSans.sfd: Devanagari: simplified and + regularized some glyph names + +2012-01-10 02:07 +0000 [r1978] Stevan_White: + + * FreeSans.sfd: Gurmukhi: tried to get marks + under control. Added GPOS tables, anchors. + +2012-01-10 00:48 +0000 [r1977] Stevan_White: + + * FreeSans.sfd: Devanagari: copied a few + ligatures that were in gargi but not in FreeSans. There are still + a few more, but I'm not clear about them. Tables: moved auxiliary + letters for Indic around a bit. + +2012-01-09 20:56 +0000 [r1976] Stevan_White: + + * FreeSans.sfd: Indic tables: rearranged + Devanagari: re-named the GPOS anchors Lagin: iogonek lookup had + gotten somehow fouled up + +2012-01-08 01:32 +0000 [r1975] Stevan_White: + + * FreeSerif.sfd: Devanagari: copied in rest of + Unicode chars from velthuis font dvng10.pfb with advice from + Zdeněk Wagner. Next plan: copy in ligatures from same file and + use a cmap file provided by Zdeněk to construct a basic GSUB + table. + +2012-01-08 00:25 +0000 [r1974] Stevan_White: + + * FreeSerif.sfd: Latin, Cyrillic: tweeks to + accent marks. Devanagari: beginning to replace range with + Velthuis font. + +2012-01-07 19:42 +0000 [r1973] Stevan_White: + + * FreeSans.sfd: Devanagari: widened space + between verticals in U+0906 by request. Made a lot of references + in range. Added Kashmiri letters from latest Unicode version. + +2012-01-03 20:17 +0000 [r1972] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Combining Diacritics: + forgot to add Cyrillic mark for previous commit + +2012-01-03 20:08 +0000 [r1971] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Cyrillic: Added mark + for diacriticals on capital letters. toward bug #35225: Combining + Diacritical Marks improperly positioned for Cyrillic capital + letters https://savannah.gnu.org/bugs/?35225 Latin: re-thought + spacing in bold, bold oblique, and re-positioned many accents for + legibility + +2011-12-31 20:09 +0000 [r1970] Stevan_White: + + * FreeSans.sfd: Miscellaneous Symbols: hammer + and sickle, smileface, frown face, courtesy Sander van Geloven + +2011-12-28 14:05 +0000 [r1969] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Mathematical Operators: + revision of v. and h. placement and spacing. Reduced height of + partialdiff in some faces. + +2011-12-28 13:40 +0000 [r1968] Stevan_White: + + * FreeSerif.sfd: Mathematical Operators: lowered + nabla, made partialdiff of normal height + +2011-12-25 13:54 +0000 [r1967] Stevan_White: + + * FreeSans.sfd: Miscellaneous Symbols: uni2639 + -- a (first) contribution by Sander van Geloven + +2011-12-25 13:37 +0000 [r1966] Stevan_White: + + * FreeSerif.sfd: Mathematical Operators: + improved symbols having vertical lines + +2011-12-19 13:55 +0000 [r1965] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: General Punctuation: + regularize width of bullet chars Geometrical Shapes: made new and + regularized width of bullet chars Mathematical Operators: messed + with bullet-lige operators + +2011-12-18 17:35 +0000 [r1964] Stevan_White: + + * FreeSerif.sfd: Mathematical Operators: fixed + some spacing issues. + +2011-12-18 13:52 +0000 [r1963] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Latin, Punctuation: + slash and some vertical lines were wrongly spaced. + +2011-12-17 01:39 +0000 [r1962] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Mathematical Operators: in + sans, added some angle glyphs by request. General vertical + metrecs: fixed some mistakes, re-thought overall. + +2011-12-16 12:17 +0000 [r1961] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Technical Symbols: made + extensible mathematical symbol pieces for sans, adjusted + horizontal bracket in serif. + +2011-12-16 00:10 +0000 [r1960] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Sans: glyphwise same + vertical adjustments as with Serif, same caveats. All faces: + re-thought metrics. Hope they make better sense now. + +2011-12-15 18:02 +0000 [r1959] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: General alterations to make + fit in vertical bounds (-300,900). Problems remain in Sinhala and + Malayalam. Esp. note two Bengali "vocalic" glyphs, used only for + transcription of Sanskrit, were altered and moved. + +2011-12-14 22:31 +0000 [r1958] Stevan_White: + + * FreeSerif.sfd: Malayalam: some glyph clean-up + +2011-12-14 21:49 +0000 [r1957] Stevan_White: + + * FreeSerif.sfd: Changed ascent and descent of a + number of letters out of bounds (several in Arabic, also + Devnagari). The worst are in Malayalam though, and they remain. + +2011-12-14 15:59 +0000 [r1956] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Supplementary + Punctuation: made a few new ones + +2011-12-12 20:52 +0000 [r1955] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Latin Extended-B: + Same with tz ligature as in roman + +2011-12-12 18:42 +0000 [r1954] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Latin Extended-B: + re-thought replacement for tz ligature in German. Note: the + Unicode tz character is used in Mayanist texts. + +2011-12-11 23:25 +0000 [r1953] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Complete set of lowercse + latin super/subscripts for normal and bold, with 'subs' and + 'sups' lookups. + +2011-12-11 20:59 +0000 [r1952] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: (roman) re-thought + tz ligature Number Forms: adjusted vulgar fractions table, to + make all work in xelatex + +2011-12-09 11:22 +0000 [r1951] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: avoid fi, fl etc + ligatures in Turkish. Re-thought TZ, tz ligatures. + +2011-12-09 00:08 +0000 [r1950] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Proportional Numbers, + Slashed Zero + +2011-12-08 23:57 +0000 [r1948-1949] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Greek: added digamma + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Serif faces: lots of work + on numeric substitutions 'onum' Oldstyle Figures 'pnum' + Proportional Numbers 'tnum' Tabular Numbers 'lnum' Lining Figures + 'zero' Slashed Zero Cyrillic for Bulgarian: activated new-style + forms with 'ss01' Style Set 1 Cyrillic regular: Bit of kerning. + (FontForge still complains about non-Unicode glyphs) + +2011-12-06 22:40 +0000 [r1947] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More additions to 'sups' + table in roman, bold. Added a few Phonetic Extensions to + italic... but this should wait for a set of small caps. + +2011-12-06 21:47 +0000 [r1945-1946] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Changed Bulgarian lookup + tag from cv00 to ss01 bold: adjusted some superscript letter + spacings, minute, prime spacing normal: added proportional + numerals, tables tnum, lnum, pnum adjusted widths of some + superscript letters, tweeked some others added tables sups, subs + + * FreeSans.sfd: Latin: some kerning + +2011-12-05 18:50 +0000 [r1944] Stevan_White: + + * FreeSansBold.sfd: Latin etc: re-spaced, + re-kerned letter a + +2011-12-05 13:19 +0000 [r1943] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Cyrillic: tweeks to glyphs, + spacing for alternate Bulgarian letters. + +2011-12-05 12:47 +0000 [r1942] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Cyrillic: kerning and spacing. + +2011-12-05 10:27 +0000 [r1941] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic: more work on + alternative letters for Bulgarian, Serbian + +2011-12-04 23:46 +0000 [r1939-1940] Stevan_White: + + * FreeSerif.sfd: Cyrillic: adjust spacing of + some Bulgarin letters + + * FreeSerifBold.sfd: Latin: bit o kerning + +2011-12-04 14:00 +0000 [r1938] Stevan_White: + + * FreeSerif.sfd: Cyrillic: expanded/corrected + letters for Bulgarian alternate forms. + +2011-12-03 22:45 +0000 [r1937] Stevan_White: + + * FreeSerif.sfd: Cyrillic: alternative small + letters for Bulgarian, with lookup table. + +2011-12-03 18:04 +0000 [r1936] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBoldOblique.sfd: glyph clean-ups + related to recent commits, toward validation + +2011-12-03 17:29 +0000 [r1935] Stevan_White: + + * FreeSansBoldOblique.sfd: Mathematical + Operators: two were out of place + +2011-12-03 17:25 +0000 [r1934] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Arrows: made new + ones, corrected others + +2011-12-03 15:48 +0000 [r1933] Stevan_White: + + * FreeSerif.sfd: Currency Symbols: added + spesmilo + +2011-12-03 15:04 +0000 [r1932] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerifBold.sfd: Arrows: lots of additions, + corrections + +2011-12-03 13:32 +0000 [r1931] Stevan_White: + + * FreeSansOblique.sfd: Arrows: made glyphs so + range is similar to rest of Sans. + +2011-12-03 12:59 +0000 [r1930] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Geometric Shapes: + made minimal set. Mathematical Operators: made a few more glyphs, + corrected a couple. Number Forms: deleted range in bold faces -- + can't properly represent all. + +2011-12-03 01:02 +0000 [r1929] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoOblique.sfd: Miscellaneous Technical + Symbols: made a few important ones. + +2011-12-03 00:33 +0000 [r1928] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Mathematical + Operators: made a few more glyphs. some clean-up. + +2011-12-02 19:12 +0000 [r1927] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Mathematical + Operators: revised a few glyphs in medium, got a sort of minimal + set into other styles + +2011-12-02 15:03 +0000 [r1926] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Mathematical + Operators: made yet more. + +2011-12-02 13:57 +0000 [r1925] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Mathematical Operators: + revised a few in medium (weight and spacing), made a lot of new + characters for other styles. + +2011-12-02 10:53 +0000 [r1924] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Mathematical Operators + (etc): more operators (bold), revisions (medium) + +2011-12-02 02:32 +0000 [r1923] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Mathematical Operators: + tried to make of more uniform weight (medium) made several new + (bold) + +2011-12-01 20:22 +0000 [r1921-1922] Stevan_White: + + * FreeSerif.sfd: Combining Half Marks: adjusted + mark anchors + + * FreeMono.sfd: Cyrillic: fix to old letter + Arabic: hah_final made all contours- no refs + +2011-12-01 19:34 +0000 [r1919-1920] Stevan_White: + + * tools/generate/TrueType, + tools/generate/OpenType, + tools/generate/MacTT: vim-style file type comment + + * tools/generate/buildutils.py: Version string to + comply with OpenType recommendation. + +2011-12-01 18:37 +0000 [r1918] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBoldOblique.sfd: Misc. Math. Symbols: + made reverse logical not (req. for some MS codepages) Math. + Operators: made a few while I was around + +2011-11-30 20:50 +0000 [r1917] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Cyrillic: made uk letters + digraph, due to complaint by user + +2011-11-30 13:20 +0000 [r1916] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: Corrected + Combining Half Marks + +2011-11-30 13:15 +0000 [r1915] Stevan_White: + + * FreeSerif.sfd: Combining Half Marks: made + letters, filled range, added mark anchors + +2011-11-30 12:26 +0000 [r1914] Stevan_White: + + * Makefile: targets for woff packages + +2011-11-30 12:15 +0000 [r1913] Stevan_White: + + * README: Added lines on WOFF format. + +2011-11-30 12:05 +0000 [r1912] Stevan_White: + + * notes/webfont_guidelines.txt: added WOFF + +2011-11-28 11:41 +0000 [r1911] Stevan_White: + + * FreeSerif.sfd: Latin: some light kerning + +2011-11-28 00:17 +0000 [r1910] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Grid Fitting: made + uniformly Version 1 ("Optimized for Cleartype" won't stay on in + FontForge ?) + +2011-11-27 20:52 +0000 [r1909] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: general glyph alterations + toward validation. some of these are due to some bug in FontForge + algorithms -- nothing was apparently wrong with the glyphs. + +2011-11-27 00:34 +0000 [r1907-1908] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: some kerning + + * sfd/Makefile, + tools/test/checkGlyphNumbers.py: Made to function + either from directory or from Makefile. + +2011-11-25 11:38 +0000 [r1906] Stevan_White: + + * FreeSerifBold.sfd: correction to 'ccmp' table + for Vietnamese 2 + +2011-11-25 11:29 +0000 [r1905] Stevan_White: + + * FreeSerif.sfd: Added some fractions to the + 'frac' lookup + +2011-11-25 11:17 +0000 [r1904] Stevan_White: + + * FreeSerif.sfd: corrected some entries in + 'frac' lookup + +2011-11-25 11:08 +0000 [r1903] Stevan_White: + + * FreeSerif.sfd: Number Forms: adjusted diagonal + fractions Cyrillic: clean-up of Ksi contour + +2011-11-25 10:36 +0000 [r1901-1902] Stevan_White: + + * tools/report/kernclasses.py (added): Tabular + report of kerning classes in fonts + + * FreeSerifBoldItalic.sfd: Latin: named 2 glyphs + referred to in kern tables + +2011-11-25 10:16 +0000 [r1900] Stevan_White: + + * tools/test/checkGlyphNumbers.py: corrected for + directory move + +2011-11-24 18:35 +0000 [r1899] Stevan_White: + + * FreeSans.sfd: Cyrillic: made Ksi, ksi + +2011-11-24 17:58 +0000 [r1898] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Latin: for f and + other hooked letters: special punctuation lookup + +2011-11-24 17:39 +0000 [r1896-1897] Stevan_White: + + * FreeSerif.sfd: General Punctuation: adjusted, + regularized spacing of primes + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Latin: f and other + hooked letters: put more of hook into kerning + +2011-11-24 16:51 +0000 [r1895] Stevan_White: + + * FreeSerif.sfd: Cyrillic: improve spacing of + Ksi + +2011-11-24 15:05 +0000 [r1894] Stevan_White: + + * FreeSans.sfd: Cyrillic: Made some Old Church + Slavonic letters, by request. + +2011-11-23 15:12 +0000 [r1893] Stevan_White: + + * FreeSans.sfd: Malayalam: glyph clean-up toward + validation + +2011-11-23 01:19 +0000 [r1892] Stevan_White: + + * FreeSans.sfd: Malayalam conjuncts: numerous + contour improvements toward validation + +2011-11-22 00:25 +0000 [r1890-1891] Stevan_White: + + * tools/utility/log2changelog_CVS.pl (removed): This + is what I meant to do in the previous commit + + * tools/utility/log2changelog.pl (removed), + tools/utility/log2changelog_CVS.pl (added): No + need for this script now the VC is changed to SVN; there are + other tools for SVN that perform the same task. + +2011-11-21 19:01 +0000 [r1889] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More individual glyph + tweeks toward validation. (Discovered trigger to one FontForge + bug: contour 1st node at sharp point.) + +2011-11-21 11:15 +0000 [r1888] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Overall glyph tweeks + to improve FontForge validation. Note some of these can be called + messy node problems, others are due to some malfunction of + FontForge. + +2011-11-20 14:36 +0000 [r1887] Stevan_White: + + * ChangeLog: brought up to date + +2011-11-18 09:55 +0000 [r1886] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Unfortunately several + unrelated changes got balled up in this commit. Generally, slight + re-wording of license (program ->font) Serif, Sans: Latin, Greek, + Cyrillic and phonetic: substantial changes to glyph bearings, + attempt to normalize; re-did kerning angled slightly + hungarianumlaut and double-grave accents toward one another. + lcaron, dcaron, tcaron: prefer an acute accent to apostrophe. + Note this messes up some letters d, l, t with acute, for + languages using IPA. Serif: Cyrillic Ouk: fixed bug #34687: Bad + shape of Cyrillic U+0478 & u+0479 Cyrillic Extended-A: increased + hight of combining marks slightly (regular face only) Italic + Cyrillic: re-did Serbian sha and te with longer line. Bengali, + Tamil, Thai, Ethiopic, Georgian, Cyrillic Extended-B, Latin + Extended-D, Arabic Presentation forms, Letterlike and + Miscellaneous Math Symbols: glyph clean-ups longs: fixed bug + #34841: U+017F LONG S upright a bit wrong Sans: acute, grave, + hungarianumlaut and double-grave accents on capitals somewhat + shorter to better fit in the line, + +2011-11-18 09:46 +0000 [r1885] Stevan_White: + + * FreeMono.sfd: Arabic: positional + substitutions; added a couple of characters + +2011-11-12 14:48 +0000 [r1883-1884] Stevan_White: + + * sfd/Makefile: target for making WOFF files + + * tools/generate/WOFF: removed one unused package + better documentation + +2011-11-12 14:37 +0000 [r1882] Stevan_White: + + * tools/generate/WOFF: removed debug strings + +2011-11-12 14:34 +0000 [r1881] Stevan_White: + + * tools/generate/WOFF (added): Generator for Web + Open Font Format files + +2011-11-05 16:43 +0000 [r1880] Stevan_White: + + * FreeMono.sfd: Arabic: addded three letters + +2011-11-05 15:06 +0000 [r1879] Stevan_White: + + * FreeMono.sfd: Arabic: Many incorrectly 0-width + chars made full width. Implemented marks, mostly for vertical + mark placement. + +2011-11-04 22:28 +0000 [r1878] Stevan_White: + + * FreeMono.sfd: Arabic: added several + characters. nearing functionality of serif version. + +2011-11-04 14:55 +0000 [r1877] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: fixed several + substitution and glyph problems. See discussion + https://savannah.gnu.org/bugs/?34190 + +2011-11-03 17:55 +0000 [r1876] Stevan_White: + + * FreeSerifBold.sfd: Arabic: improved meemfinal + +2011-11-03 16:07 +0000 [r1875] Stevan_White: + + * FreeSerif.sfd: Punctuation Suppl: a few + additions. Geometrical Shapes, Math Suppl: mostly spacing. + +2011-11-03 13:18 +0000 [r1873-1874] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: typo in + doc + + * FreeSerif.sfd: Removed excess entry for + uni29b4. + +2011-11-03 12:55 +0000 [r1872] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: Added to + Supplemental Punctuation + +2011-11-03 12:15 +0000 [r1871] Stevan_White: + + * FreeSerif.sfd: Punctuation: named some glyphs, + re-sized some spaces, added some Supplemental + +2011-11-03 09:48 +0000 [r1870] Stevan_White: + + * tools/utility/fontforge-interp.sh: more doc + +2011-11-03 01:40 +0000 [r1869] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Glyph clean-up, and change + of problematic glyph names + +2011-11-03 01:21 +0000 [r1868] Stevan_White: + + * tools/test/validate.py: Better exception handling + +2011-11-03 01:09 +0000 [r1867] Stevan_White: + + * FreeSerifBold.sfd: Some glyph clean-up + +2011-11-03 00:59 +0000 [r1866] Stevan_White: + + * FreeSerif.sfd: Some glyph clean-up. + +2011-11-03 00:51 +0000 [r1862-1865] Stevan_White: + + * tools/utility/fontforge-interp.sh (added): Wrapper + for fontforge. + + * tools/test/findBackLayers.py, + tools/test/validate.py, + tools/test/checkGlyphNumbers.py, + tools/test/isMonoMono.py: Call wrapper for + fontforge rather than calling a specific instance. + + * tools/generate/TrueType, + tools/generate/OpenType, + tools/generate/MacTT: Call wrapper for fontforge + rather than calling specific instance + + * tools/report/private_use.py, + tools/report/range_report.py, + tools/report/ligatureLookups.py: Use wrapper for + fontforge rather than calling explicit instance. + +2011-11-03 00:45 +0000 [r1861] Stevan_White: + + * sfd/Makefile: Made to execute fontforge from any + instance in PATH + +2011-11-02 18:32 +0000 [r1859-1860] Stevan_White: + + * FreeSerif.sfd: Arabic: named some glyphs + + * FreeMono.sfd: Arabic: corrected slot for one + letter. + +2011-11-02 00:56 +0000 [r1858] Stevan_White: + + * FreeMono.sfd: Arabic: most of intermediate + forms with lookups: A and B. Some general contour cleanup. + +2011-10-31 22:12 +0000 [r1857] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Cyrillic: added + 'locl' lookup for Serbian/Macedonian 'be' + +2011-10-31 19:34 +0000 [r1855-1856] Stevan_White: + + * FreeSerif.sfd: Spacing Modifier Letters: + horizontal space adjustments + + * FreeSans.sfd: Latin, Diacritics, etc: + hungarian umlaut, double grave adjustments + +2011-10-31 19:27 +0000 [r1854] Stevan_White: + + * FreeMono.sfd: Arabic: Drew most of main range. + +2011-10-31 17:22 +0000 [r1853] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin, Diacriticals, etc: + adjustment on hungarian umlaut, double grave + +2011-10-30 16:25 +0000 [r1852] Stevan_White: + + * FreeSerif.sfd: Arabic: removed Arabic-only + ligatures lookup, as it seems to confuse Pango. + +2011-10-30 12:51 +0000 [r1851] Stevan_White: + + * FreeSerif.sfd: Arabic: changed size of tatweel + +2011-10-30 11:07 +0000 [r1850] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Cyrillic: cursive + Macedonian gje. See bug 34688. + https://savannah.gnu.org/bugs/?34688 + +2011-10-29 23:12 +0000 [r1849] Stevan_White: + + * FreeSerif.sfd: Arabic Presentation Forms-B: + adjustment to meem-final. + +2011-10-29 22:01 +0000 [r1848] Stevan_White: + + * FreeSerif.sfd: Spacing Modifier/Combining + Diacritics: double-gramve and Hungarian umlaut, to make them less + extremely wide and hard to accommodate. Made less steep, at + slightly different angles, following advice at + http://typophile.com/node/78623 + http://diacritics.typo.cz/index.php?id=24 + +2011-10-29 18:53 +0000 [r1847] Stevan_White: + + * FreeSerif.sfd: Arabic: Re-worked final meem. + Put Arabic-only ligatures in Arabic-only lookup. Put Allah in a + 'dlig' lookup. Made tatweel shorter. + +2011-10-29 12:09 +0000 [r1846] Stevan_White: + + * FreeSerif.sfd: Arabic: marked some ending + ligatures as Arabic-language only, on advice from a Persan + speaker (comments to bug #34190) + +2011-10-29 06:18 +0000 [r1845] Stevan_White: + + * FreeSerif.sfd: General Punctuation: made + bullet-bullets same width as bullet + +2011-10-29 04:44 +0000 [r1844] Stevan_White: + + * FreeSerif.sfd: Punctuation, Geometric Shapes, + Miscellaneous Symbols, etc.: regularize bullet-like characters + somewhat in width and weight + +2011-10-28 23:51 +0000 [r1843] Stevan_White: + + * FreeSerifBold.sfd: Arabic Extended-A: Added 2 + ligatures + +2011-10-28 22:53 +0000 [r1842] Stevan_White: + + * FreeSans.sfd: Cyrillic Supplement: letters for + Abkhaz and Azerbaijani, and Nivkh. + +2011-10-28 22:16 +0000 [r1841] Stevan_White: + + * FreeMono.sfd: Cyrillic Supplement: letters for + Abkhaz and Azerbaijani + +2011-10-28 21:53 +0000 [r1840] Stevan_White: + + * FreeMono.sfd: Cyrillic: Added Nivkh letters + +2011-10-28 18:10 +0000 [r1839] Stevan_White: + + * tools/utility/special-purpose/makeBraille.py + (added), tools/utility/special-purpose (added), + tools/utility/makeBraille.py (removed): + special-purpose directory for one-shot scripts, included as + examples. + +2011-10-28 12:29 +0000 [r1838] Stevan_White: + + * FreeSansBold.sfd: Latin: small adjustment to + letter spacing + +2011-10-28 11:50 +0000 [r1837] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: several lookup + corrections thanks to Emmanuel Vallois, see comments to [bug + #34190] Persian characters in FreeSerif not connecting right In + bold, lots of re-namings to make lookups copied from roman work. + +2011-10-27 22:01 +0000 [r1836] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeMono.sfd: Latin (Vietnamese): adjusted + some marks. Latin: SansBold attempts to regularize spacing. + +2011-10-27 16:34 +0000 [r1834-1835] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: kerning, a bit of + letter spacing + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Latin: much messing + with accents for Vietnamese, some kerning + +2011-10-26 22:42 +0000 [r1833] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: efforts to limit + height of accents: Making shorter glyphs for some accents for + capital letters. Some compacting of taller stacked glyphs. Made + all lowercase letters' accents fall in the bounds. + +2011-10-26 14:44 +0000 [r1832] Stevan_White: + + * FreeSerifBold.sfd: Combining Diacritics: + adjustments for Serbian Cyrillic + +2011-10-26 14:36 +0000 [r1830-1831] Stevan_White: + + * FreeSans.sfd: Latin, General Punctuation: + attempts to regularize widths and spaces + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Combinind + Diacriticals: corrections to mark placement for Cyrillic Serbian + +2011-10-26 12:39 +0000 [r1829] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Latin: Replaced d-, l-, t-caron + mark with one distinguishable from punctuation Sans: implemented + shorter acute, grave, circumflex, caron for caps + +2011-10-26 10:20 +0000 [r1828] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Cyrillic: adjusted + mark anchors + +2011-10-26 02:16 +0000 [r1827] Stevan_White: + + * FreeSansBoldOblique.sfd: General Punctuation: + got rid of minor build warning + +2011-10-26 02:13 +0000 [r1826] Stevan_White: + + * FreeMono.sfd: Greek: got rid of build warning + +2011-10-26 01:56 +0000 [r1825] Stevan_White: + + * FreeSerif.sfd: Punctuation, Spacing + Diacritical Marks: worked on widths + +2011-10-25 21:28 +0000 [r1822-1824] Stevan_White: + + * tools/generate/TrueType, + tools/generate/OpenType, + tools/generate/buildutils.py, + tools/generate/MacTT: Again trying to set keywords + + * tools/generate/TrueType, + tools/generate/OpenType, + tools/generate/buildutils.py, + tools/generate/MacTT: Added Date svn keyword + + * tools/generate/TrueType, + tools/generate/OpenType, + tools/generate/buildutils.py, + tools/generate/MacTT: Added Revision keyword + +2011-10-25 21:13 +0000 [r1821] Stevan_White: + + * tools/generate/TrueType, + tools/generate/OpenType, + tools/generate/buildutils.py (added), + tools/generate/MacTT: Implemented cleaned-up + Revision string + +2011-10-25 20:10 +0000 [r1820] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic: added marks for + Serbian; adjusted others + +2011-10-25 19:19 +0000 [r1819] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Cyrillic: added marks + for Serbian to roman, added mark positioning to non-roman + +2011-10-25 19:02 +0000 [r1818] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Adjusted the font family + class. some kerning adjusted some marks. + +2011-10-25 18:42 +0000 [r1817] Stevan_White: + + * FreeSerifItalic.sfd: Spacing + Modifiers/Diacritics: regularized spacing some + +2011-10-25 14:42 +0000 [r1816] Stevan_White: + + * FreeSerifItalic.sfd: Latin: shifted grave and + acute accents so they could be used independently. Lots more + kerning, More adjustment of extreme characters. + +2011-10-24 20:16 +0000 [r1815] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Cyrillic: for Serbian + 'salt' form for italic 'sha' with line below + +2011-10-24 15:02 +0000 [r1814] Stevan_White: + + * FreeSerifItalic.sfd: Cyrillic: removed lookup + for supposed Serbian gje, leaving only the Macedonian form. + +2011-10-23 12:06 +0000 [r1812-1813] Stevan_White: + + * FreeSerif.sfd: Latin, IPA: kerning + + * FreeSerifItalic.sfd: Latin, IPA: horizontal + positioning, kerning Greek, extended: re-positioning of all marks + +2011-10-22 18:24 +0000 [r1811] Stevan_White: + + * FreeSerifItalic.sfd: Cyrillic: re-kerned a bit + +2011-10-21 22:53 +0000 [r1810] Stevan_White: + + * FreeSerifItalic.sfd: Greek, Cyrillic: working + on fallout from re-spacing of Latin + +2011-10-21 20:18 +0000 [r1809] Stevan_White: + + * FreeSerifItalic.sfd: Latin: kerning + +2011-10-20 17:13 +0000 [r1808] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd: Greek, Cyrillic: made Phi, + Ef more distinct, made some overwide glyphs narrower + +2011-10-20 16:44 +0000 [r1806-1807] Stevan_White: + + * FreeSerifItalic.sfd: Latin: starting to mess + with spacing of extreme letters: f g j y + + * FreeMono.sfd: Greek, Cyrillic: make Phi, Ef + more distinct + +2011-10-19 17:24 +0000 [r1805] Stevan_White: + + * FreeSerif.sfd: Diacriticals: corrected + acutecmb placement + +2011-10-19 14:56 +0000 [r1804] Stevan_White: + + * FreeSerif.sfd: Latin/IPA: Reduced size of + hooks on many letters. Reduced spacing of grave, acute (big + overhaul). kerning in IPA for African, Americanist alphabets + +2011-10-18 23:35 +0000 [r1802-1803] Stevan_White: + + * notes/webfont_guidelines.txt: Propset id + + * notes/webfont_guidelines.txt: formatting, propset + ID + +2011-10-18 23:19 +0000 [r1801] Stevan_White: + + * notes/README-downloads.txt, + notes/webfont_guidelines.txt (added), + notes/features.txt: updates added webfont + guidelines + +2011-10-18 22:22 +0000 [r1800] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Latin: more fiddling with + kerning. Fixed longstanding bug with "equals" (had mysterious + mkmk anchors) + +2011-10-18 00:03 +0000 [r1799] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Latin: more fiddling with + kerning + +2011-10-17 23:36 +0000 [r1798] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Latin: More with j and f. + Got rid of small caps kerning, which didn't make much sense + anyway. Tried to space small caps letters a bit better. + +2011-10-17 19:13 +0000 [r1797] Stevan_White: + + * FreeSerif.sfd: Latin: a bit experimental: got + rid of overlap of tails on f and j, compensating with kerning. + More kerning. Increased width of quotesingle. + +2011-10-17 18:10 +0000 [r1796] Stevan_White: + + * FreeSerif.sfd: Latin kerning: added letters to + classes. Have not yet done Latin Extended Additional + +2011-10-17 12:40 +0000 [r1795] Stevan_White: + + * FreeSerifBold.sfd: Latin: kerning re-done + +2011-10-15 18:28 +0000 [r1794] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Latin: more adjustments to + spacing, and re-introduced kerning, completely re-done since the + disappearance of the tables. Improvement all around. + +2011-10-15 15:28 +0000 [r1793] Stevan_White: + + * FreeSerif.sfd: Latin, Greek, Cyrillic: changes + to L and R bearings to most characters. + +2011-10-15 12:01 +0000 [r1792] Stevan_White: + + * FreeSerifItalic.sfd: Latin, Cyrillic: spacing + of a couple of letters + +2011-10-15 11:24 +0000 [r1791] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Latin, Cyrillic: + spacing and kerning of a few letters + +2011-10-15 09:38 +0000 [r1790] Stevan_White: + + * FreeSerifItalic.sfd: Cyrillic: some kerning, + esp. of Serbian letters + +2011-10-15 01:40 +0000 [r1789] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Cyrillic: adjusted + boundaries of alternate te + +2011-10-14 11:59 +0000 [r1788] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerifBold.sfd: Cyrillic: Made + Serb/Macedonian 'be' and lookups for it + +2011-10-13 11:20 +0000 [r1787] Stevan_White: + + * FreeSans.sfd: Latin, Greek, Cyrillic: attempt + to make capitals with straight sides spaced even Some clean-up of + Greek letterforms + +2011-10-13 10:18 +0000 [r1786] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Cyrillic: made special 'be' for + Serbian/Macedonian lookup for gje for italic + +2011-10-12 22:29 +0000 [r1785] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Cyrillic: more tweeks + to Serbian Cyrillic glyphs and similar, re-named Cyrillic + auxiliary glyphs. + +2011-10-12 18:40 +0000 [r1784] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic: Lookups for + localized forms for Serbian/Macedonian. Remedies bug #34537: + Serbian Localized Glyphs https://savannah.gnu.org/bugs/?34537 + Most look-ups were for existing glyphs. In italic also made glyph + for te, like a rotated m with macron. Re-named cyrillic auxiliary + glyphs. + +2011-10-12 12:31 +0000 [r1783] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin, Diacriticals: + adjustments for Kwak̕wala + +2011-10-11 20:48 +0000 [r1782] Stevan_White: + + * CREDITS: to myself, for Old Italic + +2011-10-11 17:55 +0000 [r1781] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: Update for + Old Italic + +2011-10-11 17:00 +0000 [r1780] Stevan_White: + + * FreeMono.sfd: Old Italic: I made letters for + this alphabet based on bits of existing ones. + +2011-10-11 09:55 +0000 [r1779] Stevan_White: + + * FreeSerif.sfd: IPA: adjustment to kerning, + named a few marked letters + +2011-10-11 09:45 +0000 [r1778] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Phonetic Extensions: + additions for Saanich/Musqueam + +2011-10-11 09:40 +0000 [r1777] Stevan_White: + + * FreeMono.sfd: Runic: completely re-did range, + to make stem width like rest of font. (ends are still square or + angular rather than round...) Consulted many inscriptions, and + changed form where seemed appropriate. + +2011-10-09 15:26 +0000 [r1776] Stevan_White: + + * FreeSerif.sfd: Kerning of IPA symbols for + Saanich/Musqueam + +2011-10-09 14:03 +0000 [r1775] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Latin, IPA + Extensions, Diacriticals: toward Sannich/Musqueam + +2011-10-09 10:52 +0000 [r1774] Stevan_White: + + * notes/maintenance.txt: about adding binaries to + cvs for web pages + +2011-10-08 22:48 +0000 [r1773] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin/IPA: further tweeks + to letter forms + +2011-10-08 19:36 +0000 [r1772] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin, Phonetic symbols, + Diacriticals: tweeks for Musqueam/Saanich + +2011-10-08 17:33 +0000 [r1771] Stevan_White: + + * FreeSans.sfd: couple of validation issues + +2011-10-08 16:47 +0000 [r1770] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin, Combining Marks, + IPA: lots of changes for Saanich/Musqueam. + +2011-10-08 01:28 +0000 [r1769] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Latin/IPA: tweeks for + Saanich/Musqueam + +2011-10-07 12:13 +0000 [r1768] Stevan_White: + + * FreeSerif.sfd: Latin and IPA, Phonetic + Extensions: For display of Saanich language, 1) made for + combining right comma on small Latin, some IPA letters, and on + the c-hacek. 2) made ligatures for d, l, and t combined with + U+0313, 3) Adjusted the widths of some of the IPA letters. + +2011-09-30 23:31 +0000 [r1767] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: more kerning, + re-think letter ae + +2011-09-30 19:50 +0000 [r1766] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerifBold.sfd: Basic Latin: emboldened + commercial at sign, to remedy bug #23574: Serif Bold: some + symbols not bold https://savannah.gnu.org/bugs/index.php?23574 + +2011-09-30 18:59 +0000 [r1765] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: Bengali: made a Ganda mark, to + remedy bug #33983: Bengali Ganda mark is missing + https://savannah.gnu.org/bugs/index.php?33983 + +2011-09-30 18:17 +0000 [r1764] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: more work on + connecting letters. Re-thought tatween. + +2011-09-30 13:00 +0000 [r1763] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: un-linking more + auxiliary dependencies. Re-thought 'v' decoration. Hebrew: dagesh + was a little small in bold. + +2011-09-29 22:39 +0000 [r1762] Stevan_White: + + * FreeSerifBold.sfd: Arabic: removed more + unnecessary auxiliary references + +2011-09-29 20:59 +0000 [r1761] Stevan_White: + + * FreeSerifBold.sfd: Arabic: emboldended the + last of the letters (I hope) un-linked some auxiliaries that were + represented by unicode + +2011-09-29 13:37 +0000 [r1760] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: alterations to + kaf/keheh, kerning to improve spacing + +2011-09-29 10:43 +0000 [r1759] Stevan_White: + + * FreeSerifBold.sfd: Arabic: lots of alterations + to letter shapes, spacing + +2011-09-28 23:03 +0000 [r1758] Stevan_White: + + * FreeSerifBold.sfd: Arabic: moved a lot of + improvements from roman to bold + +2011-09-28 14:13 +0000 [r1757] Stevan_White: + + * FreeSerif.sfd: Arabic: reduced awful space on + left side of free-standing letters + +2011-09-28 00:10 +0000 [r1756] Stevan_White: + + * FreeSerif.sfd: Arabic: regularized alef + variants, maddah, etc. + +2011-09-27 20:47 +0000 [r1755] Stevan_White: + + * FreeSerif.sfd: Arabic: More ligatures, a + couple alternative parentheses, re-worked hah medial + +2011-09-27 09:11 +0000 [r1754] Stevan_White: + + * FreeSerif.sfd: Arabic: added a few ligatures, + re-thought jeem medial, touched up some other letters + +2011-09-26 15:28 +0000 [r1753] Stevan_White: + + * FreeSerif.sfd: Arabic: more small stem width + adjustments + +2011-09-26 14:51 +0000 [r1752] Stevan_White: + + * FreeSerif.sfd: Arabic: kerning was in wrong + direction. + +2011-09-26 13:01 +0000 [r1751] Stevan_White: + + * tools/report/range_report.py, + tools/report/OpenType/UnicodeRanges.py: updated + copyright + +2011-09-26 07:06 +0000 [r1750] Stevan_White: + + * FreeSerif.sfd: Arabic: trying to regularize + stem widths + +2011-09-25 22:33 +0000 [r1749] Stevan_White: + + * FreeSerif.sfd: Arabic: more adjustment, + kerning + +2011-09-25 15:45 +0000 [r1748] Stevan_White: + + * FreeSerif.sfd: Arabic: more tweeks to shapes, + kerning + +2011-09-25 15:16 +0000 [r1747] Stevan_White: + + * FreeSerif.sfd: Arabic: tweeks to letter + shapes, spacing, mark placement + +2011-09-25 01:13 +0000 [r1746] Stevan_White: + + * FreeSerif.sfd: Arabic: shape adjustments to + dal and noon + +2011-09-24 14:58 +0000 [r1745] Stevan_White: + + * FreeSerif.sfd: Arabic: further adjustment of + letter shapes, dot placement + +2011-09-22 21:28 +0000 [r1744] Stevan_White: + + * CREDITS: Credit to Tim Erickson for Syriac glyphs. + Marked many links as being broken with FIXMEs + +2011-09-22 20:48 +0000 [r1743] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Thaana: made bold version, + adjusted spacing + +2011-09-22 20:41 +0000 [r1742] Stevan_White: + + * FreeSerif.sfd: Thaana: made new character from + parts + +2011-09-22 20:28 +0000 [r1741] Stevan_White: + + * tools/report/OpenType/UnicodeRanges.py: correct + Runic + +2011-09-22 18:54 +0000 [r1740] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Arabic: numerous tweeks to + letter shapes. In roman, some more kerning + +2011-09-22 18:16 +0000 [r1739] Stevan_White: + + * FreeSans.sfd: Syriac: filled in some missing + Unicode using Tim Erikson's Carlo Ator font (by his written + permission!) + +2011-09-21 10:13 +0000 [r1738] Stevan_White: + + * FreeSerif.sfd: Arabic: fixed lam-alef ligature + (again) (I think) Made most dots of uniform size adjusted height + of final, isolated hah started on a kerning table + +2011-09-20 17:52 +0000 [r1737] Stevan_White: + + * FreeSerif.sfd: Arabic: made a few more + low-numbered glypys, to finish off the range. + +2011-09-20 12:47 +0000 [r1736] Stevan_White: + + * tools/report/OpenType/OpenType.py (removed), + tools/report/range_report.py, + tools/report/ranges (removed), + tools/report/OpenType/UnicodeRanges.py (added), + tools/report/OpenType (added): Better naming of + packages + +2011-09-19 23:23 +0000 [r1735] Stevan_White: + + * FreeSerif.sfd: Arabic: added some low-numbered + characters: Subtending marks, Arabic ray, Poetic marks + +2011-09-19 17:54 +0000 [r1734] Stevan_White: + + * FreeSerif.sfd: Arabic: drew some more Koranic + annotations. re-thought sizing and placement of some others + +2011-09-19 13:55 +0000 [r1733] Stevan_White: + + * FreeSerif.sfd: Arabic: raised letter noon more + attempts to regularize placement of marks + +2011-09-18 21:22 +0000 [r1732] Stevan_White: + + * FreeSerif.sfd: Arabic: many adjustments, + mostly of marks + +2011-09-18 14:30 +0000 [r1731] Stevan_White: + + * FreeSerif.sfd: Arabic: adjusted marks, added + anchor points for new marks, made a couple of new letters got + ligatures working again replaced Allah and Rial ligatures + +2011-09-17 18:51 +0000 [r1730] Stevan_White: + + * FreeSerif.sfd: Arabic: mostly messing with + marks: shadda combinations seem to be working. + +2011-09-16 19:45 +0000 [r1729] Stevan_White: + + * FreeSerif.sfd: Arabic: corrected some + diacriticals in Presentation Forms-B especially FBBC-FBC1 were + messed up, unfortunately so were a lot of references to those + +2011-09-16 18:36 +0000 [r1728] Stevan_White: + + * FreeSerif.sfd: Arabic: small spacing issues, + tweeks to shapes of medial letters + +2011-09-16 17:56 +0000 [r1727] Stevan_White: + + * FreeSerif.sfd: Arabic: re-did several + combining forms (which I think I drew myself) added some + diacriticals to main range and finished Presentation Forms-B + +2011-09-16 13:54 +0000 [r1726] Stevan_White: + + * FreeSerif.sfd: Arabic: more fussing with marks + +2011-09-16 13:35 +0000 [r1725] Stevan_White: + + * FreeSerif.sfd: Arabic: more fiddling with + marks + +2011-09-16 13:23 +0000 [r1724] Stevan_White: + + * FreeSerif.sfd: Arabic: much fussing with mark + placement. horizontal spacing of waw + +2011-09-16 12:07 +0000 [r1723] Stevan_White: + + * FreeSerif.sfd: Arabic: added mark positioning. + will need to re-think some of the marks. + +2011-09-16 10:18 +0000 [r1722] Stevan_White: + + * notes/maintenance.txt: Changed some CVS info to + SVN info. Still need to test and describe tagging in SVN. + +2011-09-16 09:42 +0000 [r1721] Stevan_White: + + * README: Replaced list of character sets with + character ranges, which makes more sense at this time. + +2011-09-15 23:22 +0000 [r1720] Stevan_White: + + * FreeSerif.sfd: Arabic: big experiment + adjusting baselines of many of the deeper characters. from + looking at "Arabic Calligraphy, Nash script for beginners". Also + shortened reh. + +2011-09-15 21:32 +0000 [r1719] Stevan_White: + + * FreeSerif.sfd: Arabic: a couple more + positional forms, a couple of lookups + +2011-09-15 19:22 +0000 [r1718] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Arabic Supplement: populated + +2011-09-15 14:12 +0000 [r1717] Stevan_White: + + * FreeSerif.sfd: Arabic: much concern over + proper old Arabic kah U+0643 vs the more modern "Persian" keheh + U+06a9. Fiddling with hamzas. + +2011-09-15 11:53 +0000 [r1716] Stevan_White: + + * FreeSerif.sfd: Arabic: added a few obsolete or + unexplained characters. much adjustment of combining marks and + dots for better consistency. + +2011-09-14 23:24 +0000 [r1715] Stevan_White: + + * FreeSerif.sfd: Arabic: much fiddling with + medial forms, a bit with lookups (seems ligatures are failing + altogether) + +2011-09-14 19:40 +0000 [r1714] Stevan_White: + + * FreeSerif.sfd: Arabic: added 2 radical signs + Seems the digits in Arabic have been all along the Indo-Persian + forms. Now there is a separate range for those. So I movde the + old letters, and drew new Arabic versions of those that differed. + +2011-09-14 17:26 +0000 [r1713] Stevan_White: + + * tools/report/ranges/OpenType.py: Brought Arabic up + to date + +2011-09-14 09:37 +0000 [r1712] Stevan_White: + + * FreeSerif.sfd: Arabic: further clean-up; made + swash kaf to connect as initial form + +2011-09-14 08:52 +0000 [r1711] Stevan_White: + + * FreeSerif.sfd: Arabic: further cleanup, added + pedagogical symbols (dots, etc) + +2011-09-14 01:04 +0000 [r1710] Stevan_White: + + * FreeSerif.sfd: Arabic: added letters for Malay + Big clean-up of glyphs. Still to do one section of presentation + forms. + +2011-09-13 20:46 +0000 [r1709] Stevan_White: + + * FreeSerif.sfd: Arabic: made letters for + Parkari. Added lookups init, fina, medi for letters with forms + that vary in the font. + +2011-09-13 19:43 +0000 [r1708] Stevan_White: + + * FreeSerif.sfd: Arabic: made main Arabic area + characters and presentation forms for Uighur, Kazakh, Kirghiz, + Sindhi, and Lahnda, as well as the kaf swash + +2011-09-13 19:40 +0000 [r1707] Stevan_White: + + * tools/report/range_report.py: corrected font paths + +2011-09-13 18:10 +0000 [r1706] Stevan_White: + + * FreeSerif.sfd: Arabic: added more presentation + forms mostly for Urdu and Sindhi + +2011-09-13 13:34 +0000 [r1705] Stevan_White: + + * FreeSerif.sfd: Arabic: made some presentation + forms for Urdu + +2011-09-13 11:05 +0000 [r1704] Stevan_White: + + * tools/utility/hex_range.py: doc + +2011-09-13 09:37 +0000 [r1703] Stevan_White: + + * tools/ranges.py (removed), + tools/report/range_report.py (added), + tools/report/ranges (added), + tools/range_report.py (removed), + tools/ranges (removed): rearrangement, got rid of + duplicate script + +2011-09-13 09:29 +0000 [r1702] Stevan_White: + + * tools/ranges/OpenType.py: documented, removed + copied text + +2011-09-13 09:20 +0000 [r1701] Stevan_White: + + * tools/freefont-ttf.spec (removed), + tools/utility/freefont-ttf.spec (added): + Rearranged, added a little doc + +2011-09-13 09:15 +0000 [r1700] Stevan_White: + + * tools/OS2UnicodeRange (removed), + tools/KerningNumerals.pl (removed), + tools/utility/KerningNumerals.pl (added), + tools/report/OS2UnicodeRange (added): Rearranged + some old utilities. Put in some doc of who wrote what. + +2011-09-12 23:37 +0000 [r1699] Stevan_White: + + * tools/script-menu (added), + tools/hex_range.py (removed), + tools/report/private_use.py (added), + tools/utility/log2changelog.pl (added), + tools/script-menu/nameBySlot.py (added), + tools/utility/hex_range.py (added), + tools/script-menu/unnameBySlot.py (added), + tools/utility/makeBraille.py (added), + tools/utility (added), + tools/nameBySlot.py (removed): Added some scripts, + reorganized + +2011-09-12 22:12 +0000 [r1698] Stevan_White: + + * tools/ranges/OpenType.py: Brought a few ranges up + to date + +2011-09-12 22:06 +0000 [r1697] Stevan_White: + + * FreeSerif.sfd: Arabic, etc: Added a lot of + letters, mostly following existing patterns. Especially a lot of + combinations for Urdu, Sindhi, Pashto, Kazakh, Kurdish, Kirghiz, + Turkic, Uighur Berber, Maghrib Arabic, Tunisian Arabic, Moroccan + Arabic, Not all forms are there yet. Very few lookups were + added...this has to be done too. + +2011-09-12 15:13 +0000 [r1696] Stevan_White: + + * FreeSerif.sfd: Arabic: added some Urdu letters + (drawn by myself, with apologies) + +2011-09-12 13:07 +0000 [r1695] Stevan_White: + + * FreeSerif.sfd: Arabic: added keheh and + presentation forms, added lookup entries for them. + +2011-09-12 12:25 +0000 [r1694] Stevan_White: + + * tools/test/findBackLayers.py (added), + sfd/Makefile, + tools/test/MES-Conformance (added), + tools/test/MES-Conformance/CheckConformance.pl, + tools/test/validate.py (added), + tools/generate/MacTT (added), + tools/findBackLayers.py (removed), + tools/test/MES-Conformance/WGL4.lst, + tools/report (added), + tools/generate/TrueType (added), + tools/MES-Conformance (removed), + FreeSansOblique.sfd, tools/test + (added), tools/ligatureLookups.py (removed), + tools/validate.py (removed), + FreeMonoOblique.sfd, + FreeSerifItalic.sfd, + tools/hex_range.py, + FreeSerifBoldItalic.sfd, + tools/generate (added), + tools/test/MES-Conformance/MES-1.txt, + tools/report/ligatureLookups.py (added), + tools/test/MES-Conformance/MES-2.txt, + tools/GenerateTrueType (removed), + tools/freefont-ttf.spec, + tools/generate/OpenType (added), + FreeSansBold.sfd, + tools/test/MES-Conformance/MES-3B.txt, + FreeMono.sfd, + FreeSerifBold.sfd, + FreeMonoBold.sfd, + tools/test/isMonoMono.py (added), + tools/checkGlyphNumbers.py (removed), + tools/ranges/__init__.py, + tools/ranges/OpenType.py, + tools/GenerateOpenType (removed), + tools/KerningNumerals.pl, + tools/test/MES-Conformance/MES-1.lst, + FreeSansBoldOblique.sfd, + tools/test/MES-Conformance/MES-2.lst, + tools/test/MES-Conformance/mes-list-expand.pl, + tools/test/MES-Conformance/MES-3B.lst, + FreeMonoBoldOblique.sfd, + tools/GenerateMacTT (removed), + tools/test/checkGlyphNumbers.py (added), + tools/isMonoMono.py (removed): Rearranged tools/ + directory. Made paths in sfd/Makefile agree with changes. + +2011-09-12 12:10 +0000 [r1693] Stevan_White: + + * FreeSerif.sfd: Latin Extended-B: adjusted + Hungarian umlauts Dingbats: drew several characters to fill out + range for Unicode 6 + +2011-09-12 11:40 +0000 [r1692] Stevan_White: + + * FreeSans.sfd: Osmanya: corrected Unicode + values Letterlike symbols: added one, made some references + +2011-09-02 12:07 +0000 [r1691] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: Control Pictures: U+2404 and + U+2405 glyphs are reversed. This is due to the icons for them in + FontForge being also reversed. in response to + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632746 + +2011-09-02 01:15 +0000 [r1690] Stevan_White: + + * FreeSerif.sfd: Arabic: (really Persian) lookup + tables added init, medi, fina lookups peh, tcheh, gaf and fina + lookup for jeh In response to ubuntu bug report + https://bugs.launchpad.net/ubuntu/+source/ttf-freefont/+bug/730770 + Not sure if this completely resolves the issue. + +2011-08-31 18:16 +0000 [r1689] Stevan_White: + + * FreeSerif.sfd: Letterlike Symbols: added a + few, made better use of small caps for others + +2011-08-31 17:24 +0000 [r1688] Stevan_White: + + * tools/ranges/OpenType.py: mostly revised some + comments + +2011-08-31 17:19 +0000 [r1687] Stevan_White: + + * FreeSerif.sfd: Miscellaneous Technical: + several additions Supplemental Punctuation: several additions + +2011-08-29 23:44 +0000 [r1686] Stevan_White: + + * tools/ranges/OpenType.py: typos + +2011-08-27 20:23 +0000 [r1685] Stevan_White: + + * FreeSans.sfd: Osmanya: resolves bug #34155: + FreeSans: Osmanya digits shifted two code positions + https://savannah.gnu.org/bugs/index.php?34155 + +2011-08-27 20:08 +0000 [r1684] Stevan_White: + + * FreeSans.sfd: Greek: added lunate letters + +2011-08-24 21:40 +0000 [r1683] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Mathematical Operators: added a + few in sans, named a few in serif + +2011-08-24 11:30 +0000 [r1682] Stevan_White: + + * FreeSerifBold.sfd: Phonetic Extensions: more + +2011-08-24 10:11 +0000 [r1681] Stevan_White: + + * FreeSerifBold.sfd: Public Use: script-size + latin Sup-sub: implemented with script-size letters Phonetic + Extensions: filled in many of them + +2011-08-24 01:09 +0000 [r1680] daniel_j: + + * FreeSans.sfd: Added U+1400. Fixes bug #34008 + +2011-08-17 20:05 +0000 [r1679] Stevan_White: + + * FreeSerifItalic.sfd: named a few characters + +2011-08-14 08:55 +0000 [r1677-1678] Stevan_White: + + * tools/ranges/OpenType.py: some changes to Latin + Extended ranges + + * tools/ranges/OpenType.py: added point for Bengali + gandha mark + +2011-08-13 23:15 +0000 [r1676] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Currency Symbols: + added a few more + +2011-08-13 19:53 +0000 [r1675] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Currency Symbols: + added several + +2011-08-13 14:10 +0000 [r1674] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: Control Pictures: filled out + range + +2011-08-12 08:59 +0000 [r1673] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Specials: filled out + range + +2011-08-12 08:21 +0000 [r1672] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd: Cyrillic, Extensions: + added a few archaic letters, messed with accents + +2011-08-10 22:13 +0000 [r1671] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Super/Subscripts (mono and + serif roman) re-design of super numerals. Phonetic ranges: + fiddled a lot with superscript letters. Cyrillic: adjusted some + marks especially on antiquated letters. + +2011-08-05 16:52 +0000 [r1670] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: Phonetic Extensions: some + tweeks to small caps letters Subscripts and superscripts: tweeks + +2011-08-04 21:27 +0000 [r1669] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: superscripts, + subscripts, diagonal fractions: all faces Re-thought and + regularized positioning, fixed a few bugs. All the "superior" + numerals and a few superscript latin letters got positioned so + they go over the em height. Latin ordinals are positioned + parallel to em height, and now both a and o are underlined in all + faces. Diagonal fractions are likewise regularized. + +2011-07-31 13:42 +0000 [r1668] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: General Punctuation: remedy + bug #33905: NARROW NO-BREAK SPACE too wide In one face u+202F was + zero width, in others much too wide. Also: set both it and + thinspace to 1/6 em. + +2011-07-23 21:38 +0000 [r1667] Stevan_White: + + * FreeSerif.sfd: Sinhala: further simplification + of ccmp tables + +2011-07-23 09:58 +0000 [r1666] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Latin: Better optical + centering of j + +2011-07-22 20:25 +0000 [r1665] Stevan_White: + + * FreeSerif.sfd: Indic ranges, mostly Sinhala: + attempts to get it working in Windows. Problem: some of the + ligature lookups map to things that by themselves could not + render properly. e, o and O vowels around consonents, especially. + Seems layout engine in Linux is responsible for making it work in + the past... Cleaned up some lookups. In other ranges, added + script ranges for MS "new layout engine", e.g. dev2, bng2. Note: + Malayalam is mlm2, not mly2 as in Fontforge. + +2011-07-18 20:45 +0000 [r1664] Stevan_White: + + * FreeSerif.sfd: Greek: filled out range for + Unicode 6 special mark lookups for Greek re-named some characters + +2011-07-18 19:02 +0000 [r1663] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Made more to validate + Corrected one more wrong unicode in small caps + +2011-07-18 18:11 +0000 [r1662] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Private Use: + corrected small caps unicode SansBoldOblique: made to validate + +2011-07-18 17:58 +0000 [r1661] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic Extended: finished + 4 new letters (normal face) Combining Diacritical Marks: lots of + small tweeks. Latin: fiddled with a few accent marks Private Use: + small caps glyphs corrected unicode Added missing single-digit + diagonal fractions, with lookups Added lookup to remove longs + from end of words. Still isn't right. + +2011-07-16 11:24 +0000 [r1660] Stevan_White: + + * notes/features.txt (added): Initial document about + OpenType features used in FreeFont. + +2011-07-16 11:12 +0000 [r1659] Stevan_White: + + * FreeSerif.sfd: Non-unicode vulgar fractions + (2/7, 5/9, etc) with 'frac' table entries + +2011-07-16 10:28 +0000 [r1658] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Added glyph for zeroslash, + and lookup 'zero' for it. Mono: added 'frac' lookup. + +2011-07-16 09:45 +0000 [r1657] Stevan_White: + + * FreeSerifItalic.sfd: Correction to ccmp table + for iogonek + +2011-07-16 08:38 +0000 [r1656] Stevan_White: + + * notes/maintenance.txt: put a title on it, a little + re-wording of new paragraphs + +2011-07-16 08:33 +0000 [r1655] Stevan_White: + + * notes/maintenance.txt: Added section on doing + tests. + +2011-07-15 12:34 +0000 [r1654] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Serif: Made the diacritical + lookups previously reserved for Latin to be generic, removed + special marks lookup for Greek/Coptic, use instead generic one. + Added a couple of new letters to Latin Extended-D Bold: Fiddling + with diactitics and marks. Something has gone very wrong with the + lookups... still not clear what. + +2011-07-13 09:20 +0000 [r1653] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Combining Diacritical + Marks: a bugfix and a few positioning tweeks + +2011-07-12 14:24 +0000 [r1652] Stevan_White: + + * FreeSans.sfd: *** empty log message *** + +2011-07-12 14:17 +0000 [r1651] Stevan_White: + + * FreeSans.sfd: Latin: all letters now have + 'above' mark. + +2011-07-12 14:04 +0000 [r1650] Stevan_White: + + * FreeSerif.sfd: Combining diacritical marks: + fiddled with positioning + +2011-07-01 10:56 +0000 [r1648-1649] Stevan_White: + + * FreeSans.sfd: Hebrew: tweeks to vowel points + + * FreeMono.sfd: Alphabetic Presentation Forms: + widened Hebrew wide letters + +2011-07-01 07:59 +0000 [r1647] Stevan_White: + + * FreeSerif.sfd: Hebrew: tweaks to absolute + placement of marks + +2011-06-30 22:47 +0000 [r1646] Stevan_White: + + * FreeSerif.sfd: Hebrew: small tweeks to + cantillation marks, etc + +2011-06-30 11:47 +0000 [r1645] Stevan_White: + + * FreeSerif.sfd: Hebrew: lower cantillation + marks to left of vowels + +2011-06-27 00:20 +0000 [r1644] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Hebrew: got rid of spurious + tables. + +2011-06-27 00:06 +0000 [r1643] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Hebrew: got yidddish CCMP with + yod and yodyod working in Serif + +2011-06-26 22:32 +0000 [r1642] Stevan_White: + + * FreeSans.sfd: Hebrew: issue with Yiddish vs + std. Hebrew scripts for MARK lookups. Somehow gets very confused + by specific ranges, in different ways on different systems. + Disabled distinction between scripts. + +2011-06-26 18:20 +0000 [r1641] Stevan_White: + + * FreeSans.sfd: Hebrew: corrected side of above + vowel. More vowel marks. + +2011-06-26 17:56 +0000 [r1640] Stevan_White: + + * FreeSerif.sfd: Hebrew: corrected placement of + top vowel. fiddled with cantellatin marks. + +2011-06-25 17:27 +0000 [r1639] Stevan_White: + + * FreeSerif.sfd: Hebrew: further fiddling with + points + +2011-06-25 14:49 +0000 [r1638] Stevan_White: + + * FreeSerif.sfd: Hebrew: more fiddling with + vowel and cantillation points + +2011-06-25 11:12 +0000 [r1637] Stevan_White: + + * FreeSerif.sfd: Hebrew: more vowel and + cantillation point marks + +2011-06-25 09:01 +0000 [r1636] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Hebrew: disabled distinction + between Yiddish and Std. vowel marks + +2011-06-24 14:57 +0000 [r1635] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Removed angle + brackets from licence text, because it caused some trouble for + some buggy software, and the offsetting could be done better with + a newline. + +2011-06-24 13:17 +0000 [r1634] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Hebrew: worked on MARK + tables in Sans and Serif in response to further mails regarding + bug 25887. Split one table up so lookups wre properly executed in + both Yiddish and regular Hebrew. Some adjustment of letter + spacing and punctuation in other faces. + +2011-06-12 07:14 +0000 [r1633] Stevan_White: + + * INSTALL, README: Fixed a couple of + goofs + +2011-06-11 08:12 +0000 [r1632] Stevan_White: + + * INSTALL: General update: Esp. concerning OpenType + support using FreeType2, and on Win 7 and Mac OS X. + +2011-06-11 08:07 +0000 [r1631] Stevan_White: + + * README: Removed remarks about how to install + (better for INSTALL file) General re-phrasing and tidying. + +2011-06-10 09:34 +0000 [r1630] Stevan_White: + + * INSTALL: Correct name of X Windows system. Also + added Microsoft and Apple to their product names for clarity and + consistency. + +2011-06-10 09:31 +0000 [r1629] Stevan_White: + + * README: Correct name of X Window system. Added web + page and contact info. Removed Primoz' e-mail. + +2011-06-08 11:34 +0000 [r1628] Stevan_White: + + * INSTALL: Removed remark about "cost", slight + rewording, pursuant to discussion in bug #33449: INSTALL file not + conform to FSF's policy + +2011-05-04 16:13 +0000 [r1627] Stevan_White: + + * tools/ranges/OpenType.py: new letters to Cyrillic + Supplement + +2011-04-29 10:33 +0000 [r1626] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: a few more small + adjustments to accents + +2011-04-29 10:13 +0000 [r1625] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: small adjustments to + some accents + +2011-04-29 09:48 +0000 [r1624] Stevan_White: + + * notes/maintenance.txt: info about ssh keys on + Savannah + +2011-02-03 21:13 +0000 [r1623] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Latin ^ Extensions: + various fiddling with spacing and accents for greater uniformity. + Also fixed a couple of errors. + +2011-02-02 21:33 +0000 [r1622] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Remedies bug #32326, about + alignment for combining diacritics on dottedcircle Just put main + 'mark' anchors on the dottedcircle character. + +2011-01-30 13:28 +0000 [r1621] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Latin: Much fiddling + with accents, also with width of accented i letters + +2011-01-29 18:19 +0000 [r1620] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Accents macron, + acute, grave: made more consistent + +2011-01-29 17:37 +0000 [r1619] Stevan_White: + + * FreeSerif.sfd: Chess pieces: made all same + width, and in a square + +2011-01-28 21:05 +0000 [r1618] Stevan_White: + + * FreeSans.sfd: Made grave, acute, and macron a + little more consistent + +2011-01-26 20:28 +0000 [r1617] Stevan_White: + + * FreeSerifBold.sfd: Made a few accents more + consistent, re bug #32220 + +2011-01-25 22:03 +0000 [r1616] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Latin, Cyrillic, Greek: more + toward bug #32220 + +2011-01-24 22:54 +0000 [r1615] Stevan_White: + + * FreeSerif.sfd: Latin, Cyrillic: preferred + acute, grave and dieresis to the spacing modifier versions, + somewhat in response to bug #32220 + http://savannah.gnu.org/bugs/?32220 + +2011-01-21 22:12 +0000 [r1614] Stevan_White: + + * FreeSerifBold.sfd: Sinhala: various tweeking + of auxiliary glyphs to avoid self-intersection + +2011-01-19 00:21 +0000 [r1613] Stevan_White: + + * FreeSerifBold.sfd: as prev. + +2011-01-19 00:14 +0000 [r1612] Stevan_White: + + * FreeSerifBold.sfd: Sinhala: trying to make + widths like those of normal + +2011-01-18 23:26 +0000 [r1610-1611] Stevan_White: + + * FreeSerifBold.sfd: Geometric Shapes: re-did + dotted circle, made some triangles bigger. Singhala: slight + modification to widths, to make it more like normal. + + * FreeSerif.sfd: Geometric Shapes: felt some + triangles were over-large. Scaled, and fiddled with their + references + +2011-01-18 08:53 +0000 [r1609] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Copyright: corrected + on Karl Berry's advice. + +2011-01-18 08:41 +0000 [r1608] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: kerning + +2011-01-16 13:24 +0000 [r1606-1607] Stevan_White: + + * FreeSerif.sfd: Sinhala: fixed one + self-intersection + + * FreeSerifBold.sfd: Sinhala: Now ccmp tables + are working. Improved many gloppy self-intersections in the main + Unicode range, but many remain in the replacement area. + +2011-01-16 11:35 +0000 [r1605] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Copyright notice: + included 2011 + +2011-01-15 21:35 +0000 [r1604] Stevan_White: + + * FreeSerifBold.sfd: Sinhala: mostly emboldened + the FreeSerif glphs by 30 en. Many glyphs are pretty gloppy. Also + the rak descender isn't connecting properly. + +2011-01-15 17:24 +0000 [r1603] Stevan_White: + + * FreeSerif.sfd: Miscellaneous Mathematical + Symbols-A Mathematical Operators: a few more additions + +2011-01-09 15:08 +0000 [r1602] Stevan_White: + + * tools/ranges/OpenType.py: corrected/updated a + couple of OpenType ranges + +2011-01-09 12:58 +0000 [r1601] Stevan_White: + + * FreeSerif.sfd: Mathematical Symbols: replaced + some outlines with references Miscellaneous Mathematical + Symbols-A: added a few + +2011-01-08 23:56 +0000 [r1600] Stevan_White: + + * FreeSerif.sfd: Miscellaneous Mathematical + Symbols A & B: more + +2011-01-08 14:24 +0000 [r1599] Stevan_White: + + * FreeSerif.sfd: Miscellaneous Mathematical + Symbols-A Miscellaneous Mathematical Symbols-B Supplemental + Mathematical Operators: a few more characters + +2011-01-08 13:02 +0000 [r1598] Stevan_White: + + * FreeSerif.sfd: Miscellaneous Math Symbols-A: + added a few easy symbols + +2011-01-08 00:21 +0000 [r1597] Stevan_White: + + * FreeSerif.sfd: Supplemental Mathematical + Operators: Miscellaneous Mathematical Operators-B: a few more + symbols + +2011-01-06 22:03 +0000 [r1596] Stevan_White: + + * FreeSerif.sfd: Miscellaneous Mathematical + Symbols-B: added some easy ones + +2011-01-03 20:50 +0000 [r1595] Stevan_White: + + * FreeSerifBold.sfd: Greek Extended: U+1FC3 + should not have had a tilde resolves bug #32041: Error in + FreeSerifBold.ttf character U+1FC3 (8131) + +2010-10-31 23:35 +0000 [r1594] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Added c2sc tables, and smcp + tables for Turkish (dotted vs dotted i distinction) + +2010-10-29 06:57 +0000 [r1593] Stevan_White: + + * FreeSerif.sfd: Currency: Indian Rupee courtesy + of Daniel Johnson Named some of the other characters. + +2010-10-19 23:01 +0000 [r1592] Stevan_White: + + * FreeSansBoldOblique.sfd: Latin: a bit + o'kerning + +2010-10-19 19:25 +0000 [r1591] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Filled in IBM + Classifications + +2010-10-19 07:27 +0000 [r1590] Stevan_White: + + * FreeSansBold.sfd, + FreeSerif.sfd: roman: Mahjong made dot rounder + sans: corrected missing extrema on ssharp + +2010-10-18 19:02 +0000 [r1589] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Combining Diacritical + Marks: completed range + +2010-10-17 10:16 +0000 [r1588] Stevan_White: + + * FreeMono.sfd: Combining Diacritical Marks: + completed range + +2010-10-12 21:50 +0000 [r1587] Stevan_White: + + * FreeMono.sfd: Miscellaneous Symbols: drew a + few more. + +2010-10-12 18:27 +0000 [r1586] Stevan_White: + + * FreeMono.sfd: Miscellaneous Symbols: Corrected + comet, drew a snowman. Solves bug #31315 + (https://savannah.gnu.org/bugs/?31315) + +2010-10-11 22:01 +0000 [r1585] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Malayalam: mass rename of + auxiliary glyphs in Public Use Area + +2010-10-11 21:14 +0000 [r1584] Stevan_White: + + * FreeSerif.sfd: Adjusted spacing of some + conjunct letter parts. + +2010-10-10 23:22 +0000 [r1583] Stevan_White: + + * FreeSerif.sfd: Malayalam: Corrected a couple + of glyph names. + +2010-10-10 08:58 +0000 [r1582] Stevan_White: + + * FreeSans.sfd: Incorporated the Meera_04 font, + of the GPL project Swathanthra Malayalam Computing + http://savannah.nongnu.org/projects/smc/ Copyright (c) 2007, + Hussain K H, Suresh P, Swathanthra Malayalam Computing Drew + several additions for the modern Unicode standard. Cleaned up + many glyphs, and re-named those in the Unicode range. + Re-connected the lookups for Chillu letters to point to those in + Unicode, and deleted the counterparts in the auxiliary range. + +2010-10-10 08:48 +0000 [r1581] Stevan_White: + + * FreeSerif.sfd: Malayalam: Re-named some glyphs + so the commonly used ones were shorter. pba_mal renamed to ba_mal + chandrakkala renamed to candrakala Cleared NameMe_195551 as it + did nothing Raised ascenders on both i_sign_mal and ii_sign_mal, + and made the latter go over preceding letter, based on other + fonts and samples. + +2010-10-07 06:21 +0000 [r1580] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Armenian: Changed U+FB13-7 + to 'dlig' lookup, based on a native speaker telling me this is + not normally seen in printed form, and on the last lines of sect + 7.7 of the Unicode standard. (sans face too will follow) + +2010-10-06 20:34 +0000 [r1579] Stevan_White: + + * FreeSerif.sfd: Bengali: cleaned up a few + conjunct glyphs + +2010-10-06 18:59 +0000 [r1578] Stevan_White: + + * FreeSerif.sfd: Phonetic Extensions Supplement: + Corrected AD9B, raised all superscripts to capital height. + (Thanks to Emmanuel Vallois for noticing!) + +2010-10-06 18:43 +0000 [r1577] Stevan_White: + + * FreeSerif.sfd: Cyrillic Extended-B: Corrected + Payerok (pajerok) A67D. (Thanks to Emmanuel Valois for pointing + it out!) + +2010-10-06 18:28 +0000 [r1576] Stevan_White: + + * FreeSerif.sfd: Tamil: Corrected position of + pulli over some letters. (Thanks to Emmanuel Valois for pointing + it out!) + +2010-10-05 21:58 +0000 [r1575] Stevan_White: + + * FreeSerif.sfd: Arabic: added some Pashto + letters. Need init, final, medial forms. + +2010-10-05 19:40 +0000 [r1574] Stevan_White: + + * FreeSerif.sfd: Buginese: On advice of Emmanuel + Vallois, corrected iya ligature per + http://www.unicode.org/versions/Unicode5.2.0/ch11.pd + +2010-10-05 07:34 +0000 [r1573] Stevan_White: + + * FreeSerif.sfd: Buginese: added iya ligature + based on WAZU test page + http://www.wazu.jp/gallery/Test_Buginese.html + +2010-10-03 16:31 +0000 [r1572] Stevan_White: + + * FreeSerif.sfd: old-style numerals and lookup + +2010-10-03 15:47 +0000 [r1571] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: combining diacritical + marks: More corrections, making dots on i and j to be replaced by + mark. + +2010-10-03 10:19 +0000 [r1570] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: combining diacritical + marks: in serif, made more marks to remove dot on i, j. Filled + out range in nono-roman faces. + +2010-10-02 22:05 +0000 [r1569] Stevan_White: + + * FreeSerif.sfd: small-caps: tweeks + +2010-10-02 21:39 +0000 [r1568] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: ssharp: made thinner, + deeper, and renamed + +2010-10-02 20:31 +0000 [r1567] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: small-caps: kerning + +2010-09-30 21:37 +0000 [r1566] Stevan_White: + + * FreeSerif.sfd: Tamil: rounded to int on the + Private Use ligatures + +2010-09-30 18:55 +0000 [r1565] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Latin: a touch of kerning + +2010-09-29 22:16 +0000 [r1564] Stevan_White: + + * FreeMono.sfd: Braille Patterns: made the dots + bigger + +2010-09-29 21:38 +0000 [r1563] Stevan_White: + + * FreeMono.sfd: Braille Patterns: Replaced to + conform better to the Unicode Standard, sect. 15.10 and the + Unicode glyph samples: like it or not, the dots are meant to be + hollow and filled, representing 'off' and 'on'. All now reference + auxiliary characters, for consistency and flexibility. + +2010-09-28 23:16 +0000 [r1562] Stevan_White: + + * FreeSansBold.sfd: small caps + +2010-09-28 08:21 +0000 [r1561] Stevan_White: + + * FreeSerifBold.sfd: small caps: Touch-ups + +2010-09-27 20:02 +0000 [r1560] Stevan_White: + + * FreeSerifBold.sfd: small caps + +2010-09-26 16:50 +0000 [r1559] Stevan_White: + + * FreeSerifBold.sfd: Added PS Private OtherBlues + +2010-09-26 10:55 +0000 [r1558] Stevan_White: + + * FreeSerifItalic.sfd: Latin: tweeked a couple + of stacked accents + +2010-09-26 09:52 +0000 [r1557] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: More revision of + spacing and letter forms. Still lots to do. + +2010-09-25 23:13 +0000 [r1556] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: kerning for African + characters + +2010-09-25 22:54 +0000 [r1555] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd: Latin: spacing and glyph form + tweeks in Extended-C and IPA for African scripts. Re-worked + upsilonlatin in serif roman. + +2010-09-25 18:36 +0000 [r1554] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Latin Extended-B: + re-worked Oi, oi, and yhook; kerning and other tweeks for African + scripts. + +2010-09-25 14:04 +0000 [r1553] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: lookups for Latin as + in serif, to deal with accented i and the dot. + +2010-09-25 13:39 +0000 [r1552] Stevan_White: + + * FreeSerifItalic.sfd: Latin: tweeked kerning + and spacing, especially of apostrophe and quotes. + +2010-09-25 12:22 +0000 [r1551] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: IPA Extensions: Completed + range in bold italic. bold: characters with low right hook, made + not so extreme yhook: made narrower by bending right arm in a + bit. replacement lookups for i with accents and i-ogonek with + accents, so that accents replace the dot rather than floating + over it. + +2010-09-23 22:17 +0000 [r1550] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Latin: more fiddling with + letter forms and spacing + +2010-09-23 20:24 +0000 [r1549] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: blues values: made descender + value a bit wider (also did this in previous commit to bold + italic. Latin: more adjustments and corrections of hastily drawn + glyphs. + +2010-09-23 19:27 +0000 [r1548] Stevan_White: + + * FreeSerif.sfd: Latin: Addressed several issues + pointed out by Daniel Johnson concerning African and Navaho + samples. + +2010-09-23 08:25 +0000 [r1547] Stevan_White: + + * FreeSerifBoldItalic.sfd: Latin: Re-worked + various glyphs for consistency (mostly they appeared to have been + skewed versions from bold--or worse). Still more to be done here. + +2010-09-22 22:20 +0000 [r1546] Stevan_White: + + * FreeSerifItalic.sfd: Latin: some marks for + African languages + +2010-09-22 22:04 +0000 [r1545] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: various measures to + improve the look of African-language samples. Kerned several + letters in IPA Extensions range. Adjusted spacing of several + letters. Re-worked Eng a bit, as well as gammalatin. Put some new + letters in bold italic. + +2010-09-22 08:42 +0000 [r1544] Stevan_White: + + * FreeSans.sfd: Latin Extended Additional: added + four letters small caps: made basic set and smcp lookup table + +2010-09-22 06:09 +0000 [r1543] Stevan_White: + + * Makefile: Was putting ttf files into the otf + tarball. One character fixes it. + +2010-09-21 19:34 +0000 [r1541-1542] Stevan_White: + + * FreeSerif.sfd: Latin Extended-C: three new + letters; two are additions for Shona + + * tools/ranges/OpenType.py: three new letters in + Latin Extended-C range + +2010-09-21 19:16 +0000 [r1540] Stevan_White: + + * FreeSerif.sfd: small caps: forms for + Vietnamese lookup tables for accessing alternate forms in Greek + and in Latin + +2010-09-21 08:29 +0000 [r1539] Stevan_White: + + * FreeSerif.sfd: small caps: tweeked spacing + +2010-09-20 22:45 +0000 [r1538] Stevan_White: + + * FreeSerif.sfd: Small caps replacements for + Latin, with the smcp table to do it. (Haven't seen this actually + function yet... ) + +2010-09-19 13:22 +0000 [r1536] Stevan_White: + + * FreeSerifBold.sfd: Fixed validation problem. + +2010-09-19 13:15 +0000 [r1535] Stevan_White: + + * ChangeLog: today's commits + +2010-09-19 12:40 +0000 [r1534] Stevan_White: + + * FreeSerif.sfd: Sinhala: Fixed one lookup table + mistake, and a couple of glpyh omissions, that Harshula pointed + out. + +2010-09-19 11:48 +0000 [r1533] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Sans: Applied Daniel + Johnsons improvement to capital Eng to Sans, as described in + previous commits. + +2010-09-19 10:32 +0000 [r1532] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Coptic: added alphabet to + bold. Accent marks not working -- a mystery. Some tweeks in + medium face as well. glyph cleanup -- points too close, some + glyphs outside bounding boxes. + +2010-09-18 08:50 +0000 [r1531] Stevan_White: + + * tools/ligatureLookups.py: mostly code style + improvements + +2010-09-18 07:54 +0000 [r1529-1530] Stevan_White: + + * tools/ligatureLookups.py: mostly code tidying + + * ChangeLog: added latest changes, and also changes + to the tools/ directory since 2008 + +2010-09-17 18:38 +0000 [r1528] Stevan_White: + + * FreeSerif.sfd: Sinhala: tightened up left side + of na and derivatives. + +2010-09-17 08:27 +0000 [r1527] Stevan_White: + + * FreeSerif.sfd: Sinhala: tighened up left sides + of u, lla, na, dha, ndha, nya, jnya + +2010-09-17 08:09 +0000 [r1526] Stevan_White: + + * FreeSerif.sfd: Sinhala: tightened up some of + the vowel conjuncts, and left side of nna. + +2010-09-16 20:05 +0000 [r1525] Stevan_White: + + * FreeSerif.sfd: Coptic: fiddled about with + letter forms, striving for a kind of consistency. Sinhala: + Harshula noticed four incorrect combined forms. Fixed these. + +2010-09-16 08:09 +0000 [r1524] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Latin Extended-A: + Applied Daniel Johnson's patch that made two versions of capital + Eng. His explanation: ' http://en.wikipedia.org/wiki/%C5%8A The + form of capital Eng currently in all three FreeFont faces is that + used by the Sami people, resembling a capital N with a hooked + right descender. However, the form preferred for African and + Amerindian languages resembles a tall lowercase n with a hook + that almost meets the left vertical. (See wikipedia link above + for a visual.) Recommend moving the existing Sami-style Eng to a + PUA or non-Unicode slot, creating African-style Eng at U+014A, + and adding a LOCL table with substitution rules for Inari Sami + (ISM), Lule Sami (LSM), Northern Sami (NSM) and Skolt Sami (SKS). + ' Latin Extended-B: Also in his patch: added U+0220 (Latin + Capital Letter N with long leg) + +2010-09-15 17:02 +0000 [r1523] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin for Sami: Daniel + Johnson's patch added alternative form of Eng for African + languages and a 'local' table for the Sami form. + +2010-09-15 16:23 +0000 [r1522] Stevan_White: + + * notes/maintenance.txt: Updated upload and release + procedures. + +2010-09-15 08:05 +0000 [r1521] Stevan_White: + + * FreeSerif.sfd: Sinhala: regularized kundaliya + a bit. + +2010-09-15 07:24 +0000 [r1520] Stevan_White: + + * FreeSans.sfd: Put stray lookup into its proper + subtable. + +2010-09-14 23:24 +0000 [r1519] Stevan_White: + + * FreeSerif.sfd: Sinhala: re-named a few more + ligature glyphs, for consistency + +2010-09-14 22:50 +0000 [r1518] Stevan_White: + + * FreeSans.sfd: Gurmukhi: improved some names of + ligature glyphs, and found one apparently doubled table entry + (kagurmukhi_nuktagurmukhi.nukt now gur_ka.nukt) + +2010-09-14 22:17 +0000 [r1517] Stevan_White: + + * tools/GenerateTrueType: prev. commit had one space + too many + +2010-09-14 22:08 +0000 [r1516] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd: Various measures to fix + problems FontForge Find Problems reports under ATT, including a + mass glyph rename of Sinhala ligatures. + +2010-09-14 13:02 +0000 [r1514-1515] Stevan_White: + + * tools/ranges.py, + tools/hex_range.py, + tools/findBackLayers.py, + tools/ranges/OpenType.py, + tools/GenerateTrueType, + tools/GenerateOpenType, + tools/range_report.py, + tools/ligatureLookups.py, + tools/validate.py, + tools/GenerateMacTT, + tools/checkGlyphNumbers.py, + tools/isMonoMono.py, + tools/nameBySlot.py: Added license and other tags + to python files. + + * Makefile: target for tarball for OpenType + +2010-09-13 19:21 +0000 [r1513] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoOblique.sfd: Cyrillic: A few more old + letters. + +2010-09-13 08:25 +0000 [r1512] Stevan_White: + + * tools/ranges/OpenType.py: updated some Web links. + +2010-09-12 22:57 +0000 [r1511] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Supplemental + Punctuation: One character for consistency with other faces. + +2010-09-12 21:18 +0000 [r1510] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd: + Control Pictures: Added because it was easy. + +2010-09-12 20:49 +0000 [r1509] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Alphabetic + Presentation Forms: filled out range in sans faces. + +2010-09-12 19:55 +0000 [r1508] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBoldOblique.sfd: Cleared hints. + +2010-09-12 19:43 +0000 [r1507] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Dozens of measures to + pass general validation tests, including . cleanup of many glyphs + for extrema and self-intersection problmes . re-naming glyphs + whose PS names are too long. . removing blank glyphs . giving + Unicode points to glyphs missing them. There are still a few + lookup table issues in FreeSerif and FreeSans though. + +2010-09-12 18:42 +0000 [r1505-1506] Stevan_White: + + * tools/nameBySlot.py: Corrected output for high + Unicode. + + * tools/checkGlyphNumbers.py: Made aware of special + TrueType slots. + +2010-09-12 16:50 +0000 [r1504] Stevan_White: + + * FreeSerif.sfd: Re-named some of the Sinhala + lookups in somewhat better way. Control Pictures: added a bunch + (but... is it worth it?) + +2010-09-12 15:01 +0000 [r1503] Stevan_White: + + * tools/range_report.py: Added a Private Use total + and better explanation of totals generally. Some code clean-up. + +2010-09-11 13:24 +0000 [r1500-1502] Stevan_White: + + * ChangeLog: The sfd changes since the last release + + * AUTHORS, CREDITS: Added some recent + contributors + + * tools/ranges/OpenType.py: made not to complain + about extra TrueType characters. + +2010-09-11 09:52 +0000 [r1499] Stevan_White: + + * FreeSerif.sfd: Coptic: Widened bowl of Khei. + +2010-09-11 09:48 +0000 [r1498] Stevan_White: + + * FreeSerif.sfd: Coptic: deepened descenders of + small letters to same depth as in Latin Expanded bowl of Fei and + fei to resemble other samples. + +2010-09-10 21:38 +0000 [r1497] Stevan_White: + + * FreeSerif.sfd: Cyrillic: mostly positioning of + marks for old Cyrillic alphabets + +2010-09-10 08:05 +0000 [r1496] Stevan_White: + + * FreeSerif.sfd: Coptic: Replaced acoptic with + something more dramatic, fiddled with kerning, tidied some other + letters + +2010-09-08 22:50 +0000 [r1495] Stevan_White: + + * AUTHORS, CREDITS: mention of recent + additions + +2010-09-08 22:18 +0000 [r1494] Stevan_White: + + * FreeSerifBold.sfd: Block Elements: replaced + long-missing shade blocks + +2010-09-08 22:12 +0000 [r1493] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Block Elements: replaced + long-missing shade blocks + +2010-09-08 08:18 +0000 [r1492] Stevan_White: + + * tools/range_report.py: More explanation in output. + +2010-09-08 07:41 +0000 [r1491] Stevan_White: + + * tools/ranges/OpenType.py, + tools/range_report.py: another consistency check + added UCAS Extended range + +2010-09-07 18:30 +0000 [r1490] Stevan_White: + + * FreeSerif.sfd: Buginese: lookup tables and + glyphs to re-order vowels, courtesy of Mohammad Anwari. + +2010-09-07 17:39 +0000 [r1489] Stevan_White: + + * FreeSans.sfd: Osmanya: courtesy of Daniel + Johnson. Note this script is slanted in every sample I've seen. + That is justification enough that the glyphs in this range look + slated, although the face isn't oblique. + +2010-09-07 17:19 +0000 [r1488] Stevan_White: + + * FreeSans.sfd: UCAS Extended: by Daniel Johnson + +2010-09-07 16:43 +0000 [r1487] Stevan_White: + + * FreeSerif.sfd: Sinhala: complete replacement + of range with glyphs extracted more directly from Yannis + Haralambous' sinha TeX font (last version was also derived from + this font, but had undergone detrimental processing). Implements + "rak" glyphs using three GSUB lookup steps. + +2010-09-04 23:52 +0000 [r1486] Stevan_White: + + * FreeSerif.sfd: Fix for FontForge warning (v + 20090923) "On Windows many apps will have problems with this + font's kerning, because because 58 of its glyph kern pairs cannot + be mapped to unicode-BMP kern pairs" This was due to kern tables + for the Musical Symbols range, which isn't in the Unicode Basic + Multilingual Plane. Removed this lookup. Might consider another + way to position these symbols. + +2010-08-29 22:59 +0000 [r1485] Stevan_White: + + * FreeSerif.sfd: Sinhala: patch by Harshula + Jayasuriya to correct the writing system direction in some + lookups. + +2010-08-29 22:52 +0000 [r1484] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Currency Symbols: additions + and tweeking + +2010-08-24 19:15 +0000 [r1483] Stevan_White: + + * FreeSerif.sfd: Sinhala: added one ligature + glyph, from Harshula Jayasuriya + +2010-08-20 20:19 +0000 [r1482] Stevan_White: + + * FreeSerif.sfd: Resolves class of validation + problems in Sinhala: Bad Glyph Name. This is a FontForge bug, + that appears when certain types of problems occur in the glyph + contours. Probably an arithmetic error causes some corruption. + +2010-08-20 18:17 +0000 [r1481] Stevan_White: + + * FreeSerif.sfd: corrected missing extrema in + recent Latin Extended-D range + +2010-08-20 17:56 +0000 [r1480] Stevan_White: + + * FreeSerif.sfd: Sinhala: re-did previous patch + using a more recent one. Un-did some other glyph changes that + didn't help much anyway. + +2010-08-20 11:05 +0000 [r1479] Stevan_White: + + * FreeMono.sfd: Named letters in several + ranges... should write a script for this... + +2010-08-20 09:52 +0000 [r1478] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added full GNU + copyright announcement to TT Names. Updated Copyright date. + +2010-08-20 09:16 +0000 [r1477] Stevan_White: + + * FreeSerif.sfd: Sinhala: Applied a patch from + Harshula Jayasuriya, improving glyph names. I tried to tidy up + some of the glyphs, but it's a big job... Latin Extended B: fixed + one case of missing extrema + +2010-08-18 09:48 +0000 [r1476] Stevan_White: + + * FreeSerif.sfd: Latin Extended-D: yet a few + more easily made letters + +2010-08-18 09:32 +0000 [r1475] Stevan_White: + + * FreeSerif.sfd: Latin Extended-D: made a few + more letters + +2010-08-09 06:34 +0000 [r1474] Stevan_White: + + * FreeSerif.sfd: Supplemental Arrows-A: + completed + +2010-08-09 05:50 +0000 [r1473] Stevan_White: + + * FreeSerif.sfd: Arrows: completed + +2010-08-08 22:38 +0000 [r1472] Stevan_White: + + * FreeSerif.sfd: Added more Arrows + +2010-08-04 17:43 +0000 [r1471] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Combining Diacritics: + some additions in BoldOblique, corrections in other faces. + Several improvements to Greek letter forms in BoldOblique + +2010-08-03 21:59 +0000 [r1470] Stevan_White: + + * FreeMonoBold.sfd: Arrows, a few math + operators, and one more combining diacritical + +2010-08-03 16:03 +0000 [r1469] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd: Added some combining + diacriticals to bold, touched up some spacing modifiers. Minor + corrections to roman. + +2010-08-03 15:06 +0000 [r1468] Stevan_White: + + * FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Marks, spacing + modifier letters: corrected placement of marks, added some + spacing modifier letters and combining marks. + +2010-08-03 12:53 +0000 [r1467] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Better Vietnamese + support, using 'ccmp' and 'mark' lookup tables. MonoBoldOblique: + added Extended Latin ranges + +2010-08-03 09:12 +0000 [r1466] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Vietnamese: Much adjustment + of horn letters, also general adjustemen of marks + +2010-08-02 21:49 +0000 [r1465] Stevan_White: + + * FreeSerif.sfd: Vietnamese: inadvertently broke + the main face. This fixes it. + +2010-08-02 18:25 +0000 [r1464] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Vietamese: In roman and + sans, lookups are basically functional now. Used 'ccmp' Ligature + Substitution to form stacked marks (inasmuch as glyphs for the + stacked Unicode codepoints are available) Adjusted positioning of + some marks. Named many letters and combining marks. roman italic. + Re-designed horn of O and U. Other roman faces could also benefit + from a horn job. + +2010-08-02 09:43 +0000 [r1462-1463] Stevan_White: + + * tools/ranges/OpenType.py: Correction regarding NKo + range. + + * tools/range_report.py: made not to complain about + special TrueType slots 0x00, 0x01, 0x0D + +2010-08-02 08:38 +0000 [r1461] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: roman: correction to one math + operator mono: Mathematical Operators complete (up to some + pre-5.2 Unicode version) + +2010-08-01 22:01 +0000 [r1460] Stevan_White: + + * FreeMono.sfd: Mathematical Symbols: range + nearly finished + +2010-08-01 17:17 +0000 [r1459] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: roman: corrected direction of 2 + math operators mono: added several math operators + +2010-08-01 14:04 +0000 [r1458] Stevan_White: + + * FreeSerif.sfd: more improvements to marks for + Vietnamese + +2010-08-01 13:25 +0000 [r1457] Stevan_White: + + * FreeSerif.sfd: Worked on mark positioning for + Vietnamese, Cyrillic + +2010-07-30 11:59 +0000 [r1456] Stevan_White: + + * FreeMono.sfd: Reduced height of two-part + Summation symbols https://savannah.gnu.org/bugs/?23064 + +2010-07-30 10:53 +0000 [r1455] Stevan_White: + + * FreeSerif.sfd: Added some Miscellaneous + Technical Symbols + +2010-07-30 09:24 +0000 [r1454] Stevan_White: + + * FreeMono.sfd: Corrected U+2626 Orthodox Cross + https://savannah.gnu.org/bugs/?27579#discussion + +2010-07-29 19:29 +0000 [r1453] Stevan_White: + + * FreeSerif.sfd: Put in some scan lines + 23BA-23BD, based on 2500, as discussed in + https://savannah.gnu.org/bugs/?23064 I still have no idea what + the application for these glyphs would be... + +2010-07-17 20:07 +0000 [r1452] Stevan_White: + + * FreeSerif.sfd: added mark anchors for acute, + grave in cyrillic (other faces already had them) + +2010-07-13 12:30 +0000 [r1451] Stevan_White: + + * FreeMono.sfd: Made germandbls (ess-zet) a bit + wider, moved a bit to left + +2010-07-10 20:42 +0000 [r1450] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Resolves bug 30344: "Greek + Final Sigma could be shortened" + https://savannah.gnu.org/bugs/index.php?30344 Problem only + affected roman, but touched up other faces anyway. + +2010-05-30 16:20 +0000 [r1449] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin-extended-B: fiddled + with some of the horizontal strokes + +2010-05-29 16:22 +0000 [r1448] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: accents on ogonek + letters (for Navaho) a little adjustment of apostrophe (Navaho, + Hawaiian) + +2010-05-29 15:05 +0000 [r1447] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin mark problems * low + dots in bold uneven * ring in bold smaller than in roman, and not + heavier * apostrophe in italic too far to right (Navaho, + Hawaiian) + +2010-05-29 09:19 +0000 [r1446] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: fixed problems with + various marks: ogonek, hook, comma below, some kerning, esp. of + non-ascii characters + +2010-05-29 07:39 +0000 [r1445] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Sans: made dot accents same + height as i-dot, kerned y with comma Both: made low comma accent + lower, smaller (esp. for Romanian) + +2010-05-27 19:13 +0000 [r1444] Stevan_White: + + * FreeSans.sfd: Latin: make caron of more + uniform height + +2010-05-27 18:58 +0000 [r1443] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Latin: made ring accent + heavier, esp. for Swedish + +2010-05-27 18:41 +0000 [r1442] Stevan_White: + + * FreeSans.sfd: Latin: i was somehow displaced, + dotlessi was much too wide for Turkish + +2010-05-10 20:17 +0000 [r1441] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Latin: kerning tweeks + +2010-05-09 18:54 +0000 [r1440] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: As discussed in + freefont-bugs mailing list, Thu, May 6, 2010 "FreeMono affected + by OS X 10.6 nested character references bug" reduced reference + nesting in multiple quote characters, as a courtesy to Mac OS + 10.6 users, who suffer from a bug. + +2010-05-03 22:52 +0000 [r1439] Stevan_White: + + * FreeSerif.sfd: Latin: kerning tweeks + +2010-05-03 20:51 +0000 [r1438] Stevan_White: + + * FreeSerifBold.sfd: Latin: spacing of round + small letters, kerning tweeks, fiddled with ligatures + +2010-04-17 19:38 +0000 [r1437] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Daniel Johnson improved + Cherokee Da + +2010-04-10 12:03 +0000 [r1436] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Emboldened underscore + and related glyphs. Resolves issue 22999 + https://savannah.gnu.org/bugs/index.php?22999 Low line (005F) in + bold fonts do not have heavier weight + +2010-04-09 18:55 +0000 [r1435] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Serif: Added Thai TTF names + +2010-04-08 20:44 +0000 [r1434] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Corrected some + language names A bit o kerning + +2010-04-08 20:20 +0000 [r1433] Stevan_White: + + * FreeSerifBold.sfd: Fixed problem with name. + This should be the same as before the revision except for the + fix. The KDE font installer was saying this face was incorrectly + named Free Serif Bold Italic, but this wasn't quite correct. One + of the other language names said it was named Free Serif Halvfett + Kursiv, which conflicted with that language name for the real + Free Serif Bold Italic. + +2010-04-08 17:26 +0000 [r1432] Stevan_White: + + * FreeSerifBold.sfd: regression: for some + unknown reason, previous release gets built so that my system + thinks it is Free Serif Bold Italic. This is a mystery. There is + nothing about Italic in the file. + +2010-04-06 19:33 +0000 [r1431] Stevan_White: + + * sfd/Makefile: Made graceful in absence of + Fontforge + +2010-03-29 20:47 +0000 [r1430] Stevan_White: + + * FreeSerifBold.sfd: Adjusted some accent marks, + named a few characters + +2010-03-25 21:05 +0000 [r1429] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: added Ukrainian TTF + names + +2010-03-24 23:40 +0000 [r1428] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: added bahasa + indonesian TTF names + +2010-03-21 12:27 +0000 [r1427] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added several TTF + Names. (Need to check with native speakers.) + +2010-03-20 11:39 +0000 [r1426] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Fill out TTF Names tables + regarding font names + +2010-03-19 08:37 +0000 [r1425] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Removed TTF Names for + 'sample text' and all 'license URL' except English, 1) in + response to FontForge complain that large names tables conflict + with recent Windows patches 2) because they are redundant and + inappropriate (Hope to post the list of sample texts elsewhere, + because I like the idea.) + +2010-03-02 08:13 +0000 [r1424] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Latin standard + ligatures: in non-bold, promoted dlig to liga. Put standard Dutch + IJ in all; Adjusted spacing a bit + +2010-02-28 13:04 +0000 [r1423] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBold.sfd: Cyrillic: further revision + of spacing, in direction of loosening. bold ze was strangely + thin; made bolder. + +2010-02-27 11:45 +0000 [r1422] Stevan_White: + + * FreeSerif.sfd: Cyrillic: reviewed spacing of + whole range, generally loosened slightly tidied a couple of ugly + glyphs + +2010-02-09 19:34 +0000 [r1421] Stevan_White: + + * FreeSerifBoldItalic.sfd: tweeks to kerning in + Latin + +2010-02-09 18:40 +0000 [r1420] Stevan_White: + + * FreeSerifBold.sfd: Tweeks to kerning in Latin + +2010-01-28 08:20 +0000 [r1419] Stevan_White: + + * tools/isMonoMono.py: Implement FontForge handling + of magic characters .notdef, .null, nonmarkingreturn at 0x0000 + 0x0001 0x000D + +2010-01-27 22:48 +0000 [r1418] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Improved magic + characters for FreeMono, inserted them for other faces + https://savannah.gnu.org/bugs/index.php?28742 + +2010-01-27 21:24 +0000 [r1417] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Added at 0x0000 + 0x0001 0x000D characters .notdef .null nonmarkingreturn These are + NOT UNICODE they are to satisfy an essentially undocumented + "feature" of FontForge, ( in source tottf.c, AssignNotdefNull() ) + And a funny strong suggestion of TrueType fonts, that they begin + with three special characters (evidently different from encoding + slots) http://www.microsoft.com/typography/otspec/recom.htm + FontForge looks for these glyphs in certain places and copies + them. Otherwise, apparently, it will find a glyph elsewhere + (unclear how) and copy it there, possibly resulting in something + quite wrong (such as a non-monospace font). The three are copied + to the end of TTF fonts (only one to the end of OTF fonts) + +2009-12-30 23:25 +0000 [r1416] Stevan_White: + + * FreeSans.sfd: Tamil: deletd Unicode range due + to absence of necessary ligatures + +2009-12-30 23:01 +0000 [r1415] Stevan_White: + + * FreeSerifBold.sfd: Cyrillic tweek to spacing + +2009-12-29 21:01 +0000 [r1414] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Gurmukhi: added 2 characters + to complete range + +2009-12-29 20:40 +0000 [r1413] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Devanagari: filled out sans, + some corrections in serif + +2009-12-29 01:42 +0000 [r1412] Stevan_White: + + * FreeSerif.sfd: Devanagari: Drew and + constructed glyphs to complete range. + +2009-12-28 19:00 +0000 [r1411] Stevan_White: + + * AUTHORS, CREDITS: added credits for + recent additions + +2009-12-28 18:36 +0000 [r1410] Stevan_White: + + * tools/ranges/OpenType.py: Added/corrected some + ranges + +2009-12-27 16:25 +0000 [r1405-1409] Stevan_White: + + * tools/MES-Conformance/WGL4.lst (added), + tools/MES-Conformance (added), + tools/MES-Conformance/MES-1.txt (added), + tools/MES-Conformance/MES-2.txt (added), + tools/MES-Conformance/CheckConformance.pl (added), + tools/MES-Conformance/MES-1.lst (added), + tools/MES-Conformance/MES-2.lst (added), + tools/MES-Conformance/MES-3B.txt (added), + tools/MES-Conformance/mes-list-expand.pl (added), + tools/MES-Conformance/MES-3B.lst (added): Moved + Primoz' conformance tools (dated 2002) to a more comfortalbe + directory. + + * tools/MES-3B.lst (removed), + tools/GenerateTrueType, + tools/WGL4.lst (removed), + tools/MES-1.txt (removed), + tools/MES-2.txt (removed), + tools/CheckConformance.pl (removed), + tools/MES-1.lst (removed), + tools/MES-2.lst (removed), + tools/MES-3B.txt (removed), + tools/mes-list-expand.pl (removed): disabled build + of Mac TT + + * tools/ligatureLookups.py: better sanity check + + * tools/range_report.py: more generic title + + * tools/ranges/OpenType.py: correction to Tamil + +2009-12-27 13:56 +0000 [r1404] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Resolves bug #23049 + Replacement character (U+FFFD) not properly styled + https://savannah.gnu.org/bugs/index.php?23049 + +2009-12-27 01:47 +0000 [r1403] Stevan_White: + + * FreeSerif.sfd: Devanagari: added letters, + completing Unicode range + +2009-12-27 01:06 +0000 [r1402] Stevan_White: + + * FreeSerif.sfd: Tamil: added 2 monster glyphs, + completing range (0bc1-2 still questionable) + +2009-12-26 18:14 +0000 [r1401] Stevan_White: + + * FreeSerif.sfd: Tamil: a few more symbols. Only + a couple of monster signs still missing, and a couple of marks + seem just wrong... + +2009-12-26 17:03 +0000 [r1400] Stevan_White: + + * FreeSerif.sfd: Tamil: added digits + +2009-12-26 15:40 +0000 [r1399] Stevan_White: + + * FreeSans.sfd: Tamil: completed digits, added + some other chars + +2009-12-26 14:12 +0000 [r1398] Stevan_White: + + * FreeSerif.sfd: Malayalam: completed Unicode + range, also moving some Chillu letters from Private Use area to + Unicode, and re-establishing ligatures + +2009-12-26 00:38 +0000 [r1397] Stevan_White: + + * FreeSerif.sfd: Indic ranges: named lots of + characters Tamil: corrected and added a few letters + +2009-12-24 23:56 +0000 [r1396] Stevan_White: + + * FreeSans.sfd: Indic ranges, esp. Devanagari: + added several new Unicode (not yet complete) tidied letters + Bengali: tidying, made some refs + +2009-12-24 18:29 +0000 [r1395] Stevan_White: + + * FreeSans.sfd: Indic ranges: named most of the + Unicode characters Tried to improve a few bad names for ligatures + in Private Use Area Made a few references: not clearly an + improvement. This stuff is still a mess... + +2009-12-24 15:19 +0000 [r1394] Stevan_White: + + * FreeSans.sfd: Devanagari: added an obviously + missing nukta ligature + +2009-12-24 14:36 +0000 [r1393] Stevan_White: + + * FreeSans.sfd: Gujarati: added some subvocalic + letters for Sanskrit. Quality is low. + +2009-12-24 13:26 +0000 [r1392] Stevan_White: + + * FreeSans.sfd: Filled out Geometric Shapes. + +2009-12-24 10:23 +0000 [r1391] Stevan_White: + + * tools/ligatureLookups.py: fixed syntax error + +2009-12-23 23:06 +0000 [r1390] Stevan_White: + + * tools/LigatureList.pl (removed): no longer + relevant. + +2009-12-23 22:58 +0000 [r1389] Stevan_White: + + * tools/ligatureLookups.py (added): Replacement for + the LigatureList.pl script, which relied on an external utility + to produce a list of replacement lookups. + +2009-12-22 23:56 +0000 [r1388] Stevan_White: + + * tools/ranges/OpenType.py: removed links to + disappeared web pages + +2009-12-22 23:45 +0000 [r1387] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: cosmetic re-name and + re-order of lookups + +2009-12-22 22:51 +0000 [r1386] Stevan_White: + + * FreeMonoOblique.sfd: Diagonal Fractions lookup + didn't make much sense in mono anyway, much less in just one + style. + +2009-12-20 13:33 +0000 [r1385] Stevan_White: + + * FreeSerif.sfd: split Diagonal Fractions lookup + into two tables + +2009-12-19 23:20 +0000 [r1382-1384] Stevan_White: + + * tools/range_report.py: corrected script name + + * tools/ranges/OpenType.py: numerous changes, some + reflecting changes to Unicode standard + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: General Punctuation: + Got rid of deprecated subrange 0x206A-0x206F + +2009-12-19 23:13 +0000 [r1381] Stevan_White: + + * FreeSerif.sfd: re-encoded some characters + adjusted some marks corrected two wrongly-placed glyphs in + Phonetic Extensions Supplement + +2009-12-14 08:22 +0000 [r1380] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Unicode 5.2 + corrections of Abkhasian letters from Daniel Johnson. Got rid of + some old glyph names. + +2009-12-06 15:07 +0000 [r1379] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Cherokee: fixed previous + commit of a partial, and old range in medium weight + +2009-12-06 14:57 +0000 [r1378] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Cherokee, courtesy of + Daniel Johnson. + +2009-11-20 13:28 +0000 [r1377] Stevan_White: + + * FreeSans.sfd: New glyphs for Unified Canadian + Aboriginal Syllabics as defined in Unicode 5.2 by Daniel Johnson + +2009-11-14 22:47 +0000 [r1376] Stevan_White: + + * FreeSerif.sfd: Resolves bug #27842: FreeSerif + U+1F016 (Mahjong Tile Seven of Bamboos) Wrong + https://savannah.gnu.org/bugs/?27842 has one extra bamboo in it + for a total of eight. The bamboo on the top left needs to be + removed + +2009-11-14 22:31 +0000 [r1375] Stevan_White: + + * FreeSerif.sfd: Resolves bug #27579: Orthodox + cross has wrong glyph http://savannah.gnu.org/bugs/?27579 U+2626 + Orthodox Cross should slope downwards from left to right. + +2009-11-13 02:33 +0000 [r1374] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBold.sfd: Cyrillic: corrections to + Abkhazian letters by Daniel Johnson + +2009-11-05 15:33 +0000 [r1373] Stevan_White: + + * FreeSerif.sfd: Cyrillic: corrections to + Abkhazian letters by Daniel Johnson + +2009-10-16 21:12 +0000 [r1372] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic: tweeks to brev, + based on Unicode 5.2 samples + +2009-10-08 07:38 +0000 [r1371] Stevan_White: + + * FreeSerif.sfd: Currency Symbols: tidied + +2009-10-07 23:48 +0000 [r1370] Stevan_White: + + * FreeSerif.sfd: Number Forms: three new vulgar + fractions + +2009-10-07 23:32 +0000 [r1369] Stevan_White: + + * FreeSerif.sfd: Currency Symbols: added "Tenga" + of Kazakhstan + +2009-10-07 23:19 +0000 [r1368] Stevan_White: + + * FreeSerif.sfd: Latin Extended: corrected a + couple of wrong bearings some fiddling with Vienamese letters + with hook + +2009-09-30 23:31 +0000 [r1367] Stevan_White: + + * FreeSerif.sfd: added missing accent + +2009-09-17 21:20 +0000 [r1366] Stevan_White: + + * FreeSerif.sfd: Latin kerning: gave qj positive + kerning (it must happen sometimes) + +2009-09-17 21:09 +0000 [r1365] Stevan_White: + + * FreeSerif.sfd: Latin kerning: differentiated + grave and dieresis vowels in some combos. (also, adieresis hadn't + been kerned at all...) + +2009-09-17 20:12 +0000 [r1364] Stevan_White: + + * AUTHORS: Credited Yannis & Wellcome Institute for + Sinhala glyphs + +2009-09-17 20:07 +0000 [r1363] Stevan_White: + + * FreeSerif.sfd: made ref of one sinhals letter + +2009-09-15 10:30 +0000 [r1362] Stevan_White: + + * CREDITS: Credit Wellcome Library for Sinhala, and + the Sinhala LKLUG font + +2009-07-30 14:03 +0000 [r1361] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd: kerning + +2009-07-26 10:41 +0000 [r1360] Stevan_White: + + * FreeSansBold.sfd: kerning + +2009-07-26 07:54 +0000 [r1359] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: added some space in + diaeresis did some kerning + +2009-07-26 07:42 +0000 [r1358] Stevan_White: + + * FreeSansBold.sfd: revert serious mistake with + previous commit: had somehow set splies quadratic. Here, the + GaspTable from that commit is preserved, However there were + evidently numerous other changes that weren't documented, and + these are lost. + +2009-07-12 16:21 +0000 [r1357] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added GASP tables for + control of hinting/smoothing (anti-alising) of TrueType. Now the + values are better suited to the EM size of the fonts. Further + adjustment (based say on stem width) might still be profitable. + +2009-07-11 23:32 +0000 [r1356] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: More tweeks on + accents, especially Maltese letters. + +2009-07-11 19:53 +0000 [r1355] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Maltese Hbar, hbar, + Improved, made more consistent. + +2009-07-11 17:08 +0000 [r1354] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Latin: various + corrections and tweeks for consistency in accented letters. + +2009-07-11 08:23 +0000 [r1353] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: more space to accent on + lcaron tightened DZ etc ligatures in SerifItalic faces made + references etc in Spacing Modifiers and Combining further kerning + +2009-07-10 22:21 +0000 [r1352] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: kerning Sans: decided dots + and some other marks needed more room. + +2009-07-10 19:09 +0000 [r1351] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: IPA. Phonetics: tweeks + +2009-07-10 08:02 +0000 [r1349-1350] Stevan_White: + + * FreeSerif.sfd: Tweeked some math symbols + + * FreeSans.sfd, + FreeSansOblique.sfd: Letterlike: additions + +2009-07-10 07:21 +0000 [r1348] Stevan_White: + + * FreeMonoOblique.sfd: IPA + +2009-07-09 22:53 +0000 [r1347] Stevan_White: + + * FreeSerifBoldItalic.sfd: Another IPA symbol + +2009-07-09 22:32 +0000 [r1346] Stevan_White: + + * FreeSerifBoldItalic.sfd: IPA and Spacing + Modifier Letters: added a few + +2009-07-08 22:38 +0000 [r1345] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: various horizontal + spacing and positioning issues Replaced Tz and tz ligatures with + the originals of Danial Johnson. (range is "Mayanist" and despite + Unicode samples, current usage uses normal z in glyph) Put + stylized Tz tz in a discretionary ligature lookup. + +2009-07-08 18:39 +0000 [r1344] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Cyrillic yi_yi + Ukrainian ligature Latin various pointwise cleanup, made some + references, horizontal adjustments + +2009-07-08 00:16 +0000 [r1343] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic: Special ligature + for Ukrainian yi_yi, also some kerning + +2009-07-07 08:09 +0000 [r1342] Stevan_White: + + * FreeSerif.sfd: Latin: kerning; made accents on + i tighter to avoid collisions + +2009-07-05 13:08 +0000 [r1341] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Made lookup tables + for Dutch IJ + +2009-07-05 13:01 +0000 [r1340] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Re-did Dutch digraph + IJ in bold faces as "broken-U", because I thought it was cool and + nobody was there to stop me. + +2009-07-05 12:35 +0000 [r1339] Stevan_White: + + * FreeSerif.sfd: Corrected ligatures Tz tz; put + them in special lookup Latin Extended Additional: added + medevalist letters, completing range + +2009-07-05 11:07 +0000 [r1338] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Cyrillic: added yi_yi + ligature for Ukrainian in roman. Not sure if it's right. Latin: + kerning. Added longs_t ligature, and historic ligature tables + IPA: in bolditalic, added a letter or two + +2009-07-04 23:22 +0000 [r1337] Stevan_White: + + * FreeSerif.sfd: Kerning for hbar + +2009-07-04 23:10 +0000 [r1336] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Kerning for Western Slavic + languages Added a couple of IPA to BI + +2009-07-04 13:29 +0000 [r1335] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: combined letters ae, + oe, ij had incorrect horizontal spacing + +2009-07-04 13:14 +0000 [r1334] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: combined letters ae, oe, ij + had wrong horizontal spacing. + +2009-07-04 12:27 +0000 [r1333] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Combining Diacritical Marks + for Symbols: additions and fiddling. Also related circles, + arrows. + +2009-07-04 09:22 +0000 [r1332] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Letterlike Symbols: + various additions and adjustments Number Forms: Completed range + in serif roman. Adjusted spacing of Latin numerals in serif + faces. Diacritics for Symbols: various additions Geometric + shapes: thought it best for circle to be round even in oblique + faces. It's a choice of course. Added to several faces. Made all + to pass tests (except sinhals) + +2009-07-02 20:37 +0000 [r1331] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Letterlike Symbols: more + additions, adjustments Also fiddled with some math symbols in + Sans faces + +2009-07-02 09:14 +0000 [r1330] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Letterlike Symbols; + additions and adjustments Note: Pango is rendering very + strangely: many glyphs in the font are being stolen from some + other fonts instead: All the script an blackletter, and some + others as well. Is there a cache in the system somewhere? Or + what? + +2009-06-28 19:48 +0000 [r1329] Stevan_White: + + * FreeSerif.sfd: Modified glyph. From patch by + Pavel Skrylev. + +2009-06-28 19:11 +0000 [r1328] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Superscritps and + Subscripts: made glyphs to complete range in all faces + +2009-06-28 17:43 +0000 [r1327] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Added some combining + marks for symbols and Blackboard Bold letters to letterlike + symbols + +2009-06-28 08:59 +0000 [r1326] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerifBold.sfd: Various adjustments + regarding superscript and subscript characters in several ranges. + +2009-06-27 15:45 +0000 [r1325] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: More fiddling with + super/subscripts Tidied points in Serif to make fontforge "wrong + direction" complaint in scaled reference go away. Made some other + references in basic latin ranges. + +2009-06-27 14:54 +0000 [r1324] Stevan_White: + + * FreeSerif.sfd: Superscripts and subscripts (in + various ranges): tried to systematize sizing and vertical + placement. Note: most letters are still simply scaled. This is + practical maintenance-wise, but isn't typographically optimal. + +2009-06-27 09:04 +0000 [r1323] Stevan_White: + + * FreeSerif.sfd: Cyrillic Extended A: altered + mark positions + +2009-06-26 23:31 +0000 [r1322] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Phonetic Extensions: + various corrections and fiddling Changed Blues values in + FreeSerifBoldItalic + +2009-06-25 19:27 +0000 [r1321] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Combining Diacritical + Marks for Symbols: added to bold oblique added placement mark to + many + +2009-06-25 07:37 +0000 [r1320] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Deleted TrueType + tables 'cvt', 'fpgm', 'prep' because of FontForge complaints. + +2009-06-25 07:24 +0000 [r1319] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: IPA Extensions: + completed in bold and boldoblique, completing range for face. All + faces: deleted 'cvt', 'prep', 'fpgm' TrueType tables, because + FontForge was complaining about them (legacy hinting that could + interfere, possibly lower quality code, etc) + +2009-06-24 23:22 +0000 [r1318] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: IPA Extensions: made + several characters + +2009-06-24 22:25 +0000 [r1317] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: IPA Extensions: completed + range in bold + +2009-06-23 21:48 +0000 [r1316] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Spacing Modifiers: added a + couple Combining Diacriticals: brought range to par with FreeSans + +2009-06-23 21:11 +0000 [r1315] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Same correction as + for FreeSerif + +2009-06-23 20:58 +0000 [r1314] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Corrected descender of 027f + +2009-06-23 20:45 +0000 [r1313] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: IPA and related: made lots + of additional glyphs + +2009-06-22 08:43 +0000 [r1312] Stevan_White: + + * FreeSerif.sfd: Latin: further clean-up + +2009-06-21 10:53 +0000 [r1311] Stevan_White: + + * FreeSerif.sfd: General pointwise clean-up of + Latin and Latin Extended. No visible changes were intended + besides changed policy on horizontal placement of some horned + letters + +2009-06-21 09:21 +0000 [r1310] Stevan_White: + + * FreeSerif.sfd: Latin Extended-C: constructed + glyphs to complete range. Latin Extended-D: constructed a bunch + of glyphs; some related changes elsewhere. + +2009-06-20 17:43 +0000 [r1309] Stevan_White: + + * FreeSerif.sfd: Latin Extended-C: added most of + range + +2009-06-20 12:51 +0000 [r1308] Stevan_White: + + * FreeSerif.sfd: Modifier Tone Letters: added + glyphs to complete range. This should also complete all the + IPA/Phonetic extenseions ranges. + +2009-06-20 11:25 +0000 [r1307] Stevan_White: + + * FreeSerif.sfd: Phonetic Extensions Supplement: + added letters completing range Note the superscript ones are + simply scaled, so stem width is not quite right... + +2009-06-19 08:19 +0000 [r1306] Stevan_White: + + * FreeSerif.sfd: Phonetic Extensions: made + letters to complete range + +2009-06-18 06:40 +0000 [r1305] Stevan_White: + + * FreeSans.sfd: IPA Extensions: clean-up, fix + some horizontal spacing issues + +2009-06-18 06:16 +0000 [r1304] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Some glyph problems + clean-up, made to pass validate (BlueValues) + +2009-06-17 21:13 +0000 [r1303] Stevan_White: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: IPA Extensions: + Improved spacing and horizontal positioning + +2009-06-17 08:42 +0000 [r1302] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Georgian: added + missing letter + +2009-06-17 08:22 +0000 [r1301] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: IPA: made curls on + some glyphs more distinct. note horizontal placement in BO is + chaotic--needs work + +2009-06-14 13:51 +0000 [r1300] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: various + experiments with lookups. calt: should have allowed isolatef + forms of combining marks, (but can't see application support...) + aalt, hist: for alterntative characters Added some historical + glyphs Math Alphanumeric: some clean-up. + +2009-06-11 21:57 +0000 [r1299] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: various + tweeks. Failed attempt to use 'isol' lookup to put isolated + combining marks above the baseline. + +2009-06-11 09:04 +0000 [r1298] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: more fiddling + with mark placement, strengthened ornamental endings + +2009-06-10 22:53 +0000 [r1297] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: mkmk + positioning of augmentation dot + +2009-06-10 09:09 +0000 [r1296] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: combining + marks above and below notes now working somewhat + +2009-06-08 21:46 +0000 [r1295] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: more + adjustments of size and placement + +2009-06-06 23:28 +0000 [r1294] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: mostly work on + lookups. Made tablature symbols thinner. + +2009-06-06 19:24 +0000 [r1293] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: more fiddling + with sizes and positions Byzantine Musical Symbols: minor + clean-ups + +2009-06-06 12:31 +0000 [r1292] Stevan_White: + + * FreeSerif.sfd: Fixed some ATT problems with + 'kern' lookups for Cyrillic + +2009-06-06 12:25 +0000 [r1291] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: more changes + to size and position + +2009-06-05 21:28 +0000 [r1290] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: many changes + to glyph positions and shapes + +2009-05-27 22:36 +0000 [r1289] Stevan_White: + + * FreeSerif.sfd: Cyrillic, additions and + re-naming by Pavel Skrylev. * Added Cyrillic-B Ext glyphs, and + Cyrillic-A Ext glyphs. * Added cyr_above anchor to all cyrillic + glyphs, some glyphs was changed * To all Cyrillic letters I've + given proper names based on old Slavic language which is source + of all modern slavic languages. (the naming is contentious, and + there are a couple of technical problems...under consideration) + +2009-05-26 23:09 +0000 [r1288] Stevan_White: + + * FreeSerif.sfd: Musical Symbols: scaled up + accidentals a bit. reduced width of repeated figure marks reduced + width of caesura even more tried to implement mark + positioning...not working everywhere made references + +2009-05-25 23:48 +0000 [r1287] Stevan_White: + + * FreeSerif.sfd: Made all letterlike glyph parts + more like those from Serif and Serif Italic. (Except for Ped. + U+1d1ae) + +2009-05-20 08:25 +0000 [r1286] Stevan_White: + + * FreeSerif.sfd: Corrected DPOS lookup for Music + range to be in script 'musi' + +2009-05-20 07:35 +0000 [r1285] Stevan_White: + + * FreeSerif.sfd: Western Musical Symbols: + fiddling Miscellaneous Symbols: re-design of musical flat symbol + +2009-05-19 07:37 +0000 [r1284] Stevan_White: + + * FreeSerif.sfd: Western Musical Symbols: + revised horizontal placement of notes + +2009-05-19 01:38 +0000 [r1283] Stevan_White: + + * FreeSerif.sfd: Western Musical Symbols: raised + some more glyphs + +2009-05-19 01:27 +0000 [r1282] Stevan_White: + + * FreeSerif.sfd: Western Musical Symbols: + altered many combining symbols to be more like Unicode sample + corrected many symbols that should be spacing but had 0 width + raised many symbols that were far lower than in Unicode samples + +2009-05-18 09:47 +0000 [r1281] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: U+0354 and U+0355 + (combining left/right arrowhead below) were switched + +2009-05-11 21:27 +0000 [r1280] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Hebrew: Moved vowel below mark + for esh (05e8) and dalet (05d3) as recommended in bug report + #25887 "FreeSans Hebrew most nonspacing marks are spacing" + https://savannah.gnu.org/bugs/?25887 + +2009-05-11 07:25 +0000 [r1279] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Put PS Private + BlueScale back to default. (Was really experiment to alleviate + excessive overshoot. Didn't work and FontForge complained.) + +2009-05-11 07:21 +0000 [r1278] Stevan_White: + + * FreeSerif.sfd: Geometric Shapes: made two + 'bullet' shapes to be consistent with 'bullet' Blues values: put + Std VH W into Stem Snap values + +2009-05-11 07:09 +0000 [r1277] Stevan_White: + + * FreeSans.sfd: More Geometric Shapes. also + worked on character widths. + +2009-05-09 19:47 +0000 [r1276] Stevan_White: + + * FreeSans.sfd: More Geometric Shapes + +2009-05-02 12:44 +0000 [r1274-1275] Stevan_White: + + * FreeSansOblique.sfd: Had misplaced Tifinagh + range. + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: The rest of Tifinagh, + courtesy of Daniel Johnson. + a few adjustments. + +2009-05-01 09:06 +0000 [r1273] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Explicitly disabled + PS Private dictionary entry BlueFuzz as recommended in Adobe Type + 1 Font Format, sect. 5.8. + +2009-05-01 07:50 +0000 [r1272] Stevan_White: + + * FreeSans.sfd: Tifinagh range, courtesy of + Daniel Johnson. + +2009-05-01 07:47 +0000 [r1271] Stevan_White: + + * tools/ranges.py: Corrections for Georgian and + Tifinagh ranges + +2009-05-01 07:17 +0000 [r1270] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Adjusted PS Private + values according to understanding of Adobe Type 1 Font Format + (Ch. 5, Private Dictionary) Not completely clear on BlueScale, + and StemSnap values are still a mystery. (FontForge 'guess' seems + to do little or nothing, and I don't know where these values came + from) Original hope was to improve appearance of overshoot in + Sans, but it seems that my renderers ignore this information. + +2009-04-28 07:41 +0000 [r1269] Stevan_White: + + * FreeSans.sfd: More Geometric Shapes + +2009-04-27 23:14 +0000 [r1268] Stevan_White: + + * FreeSans.sfd: More Geometrical Shapes + +2009-04-27 08:11 +0000 [r1267] Stevan_White: + + * FreeSans.sfd: Added U+25D0-3 (half-black + circles) Note the Geometric Shapes range is still in poor shape + in Sans. + +2009-04-25 11:55 +0000 [r1266] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Serif: fiddled with mark + positioning in Cyrillic and Glagolitic Non-roman faces: Added + 'mark' positioning for Cyrillic + +2009-04-14 09:16 +0000 [r1265] Stevan_White: + + * FreeSerif.sfd: Cyrillic Extended-B more + additions. Now has all except payerok punctuation and Old + Abkhasian letters. + +2009-04-13 18:10 +0000 [r1264] Stevan_White: + + * FreeSerif.sfd: Cyrillic Extended-B a few more + letters + +2009-04-13 17:35 +0000 [r1263] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: kerning: tweeks + +2009-04-11 15:35 +0000 [r1262] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Georgian: additions and + improvements. Serif now has full compliment. Note uppercase is + questionable, being a simple scaling... + +2009-04-11 13:20 +0000 [r1261] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Latin Extended-D + added u+a788-c + +2009-04-11 12:08 +0000 [r1260] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin Extended-D corrected + slots for Mayanist letters in roman added modifier letters + u+a788-c + +2009-04-11 11:42 +0000 [r1259] Stevan_White: + + * tools/ranges.py: Corrected Vai range + +2009-04-11 10:50 +0000 [r1258] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin Extended-D Mayanist + letters by Daniel Johnson + +2009-04-10 09:00 +0000 [r1257] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Letterlike Symbols: additions + and improvements + +2009-04-10 08:38 +0000 [r1256] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Letterlike Symbols: + additions, improvements + +2009-04-10 07:13 +0000 [r1255] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Reconsidered numeral + 1. Made angle more like other angles in font. + +2009-04-09 06:45 +0000 [r1254] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Increased angle of + hook on numeral 'one', to improve distinction from letter 'l' at + small point sized. (Noticed that on some systems, even at 12 + point the distinction had not been obvious.) + +2009-03-29 13:56 +0000 [r1253] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: General Punctuation: + Adjust position, shape of quotes, fiddle with others. + +2009-03-29 12:12 +0000 [r1252] Stevan_White: + + * FreeSans.sfd: Kerning: Had grouped letters + with round bowls on left (e,c,0,d,q) together, but now see the + original Nimbus fonts had left bounds that vary by 10 EM or more, + which is quite visible. I am correcting a flaw in the original + font in a very difficult and complex way. It would be much better + to make the bounds of these similar letters to be equal. To do: + same for punctuation, copy to other styles of Sans + +2009-03-29 03:48 +0000 [r1251] Stevan_White: + + * FreeSerif.sfd: Kerning: tweeks + +2009-03-29 03:34 +0000 [r1250] Stevan_White: + + * FreeSerif.sfd: Kerning tweek + +2009-03-22 18:54 +0000 [r1249] Stevan_White: + + * FreeMono.sfd: clean-up of some of the basic + Nimbus glyphs + +2009-03-22 14:26 +0000 [r1248] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Hebrew: more work on lookups + regarding vowel marks + +2009-03-22 11:03 +0000 [r1247] Stevan_White: + + * FreeSans.sfd: Hebrew: vowel mark positioning + +2009-03-16 19:26 +0000 [r1246] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: re-named some lookup tables + (Sinhala, Hebrew) + +2009-03-15 11:58 +0000 [r1245] Stevan_White: + + * FreeSerif.sfd: Georgian: point-wise cleanup + note: doubts about spacing and glyph bounds in capitals + +2009-03-15 09:58 +0000 [r1244] Stevan_White: + + * FreeSerif.sfd: Greek Extended: corrected + u+1fd3 + +2009-03-13 08:15 +0000 [r1243] Stevan_White: + + * FreeSerif.sfd: Cyrillic (and extensions) + various tweeks to old Cyrillic letters, spacing. + +2009-03-07 12:30 +0000 [r1242] Stevan_White: + + * FreeMonoBoldOblique.sfd: correct direction + braceleft + +2009-03-07 12:16 +0000 [r1240-1241] Stevan_White: + + * FreeSerif.sfd: Glagolitic: tweeks + + * FreeMonoBold.sfd: correct direction of + braceleft + +2009-03-05 09:03 +0000 [r1239] Stevan_White: + + * FreeSerif.sfd: Glagolitic: more fiddling. + Raised small letters so their tops are even with the tops of the + big letters, which is more in line with their "hanging" nature, + and with most manuscripts. + +2009-03-04 07:03 +0000 [r1238] Stevan_White: + + * tools/ranges.py: ranges for Sinhala + +2009-03-03 09:54 +0000 [r1237] Stevan_White: + + * FreeSerif.sfd: Glagolitic: more tweeks + +2009-03-02 23:03 +0000 [r1236] Stevan_White: + + * FreeSerif.sfd: Glagolitic: added Djervi (I + think) + +2009-03-02 21:49 +0000 [r1235] Stevan_White: + + * tools/GenerateMacTT (added): Special script for + generating fonts that don't give errors on the Mac. I hope + somebody will fix something, either in Font Book or FontForge, + that will make this unnecessary + +2009-03-01 23:24 +0000 [r1234] Stevan_White: + + * FreeSerif.sfd: Glagolitic: tweeks + +2009-02-28 19:38 +0000 [r1233] Stevan_White: + + * FreeSerif.sfd: Sinhala: replaced U+0DD0-1 with + ones from sinha font + +2009-02-28 12:25 +0000 [r1232] Stevan_White: + + * FreeSerif.sfd: Glagolitid: Additions, + improvements (Note: the characters still missing I simply haven't + yet recognized in a manuscript or found in an on-line HTML + encoded text. I would like to see real ones rather than copying + out of the Unicode samples.) Cyrillic Extended B: Assembled + Monograph Uk, uk. See discussion + http://en.wikipedia.org/wiki/Uk_(Cyrillic) + +2009-02-28 00:14 +0000 [r1231] Stevan_White: + + * FreeSerif.sfd: More work on Glagolitic + +2009-02-27 15:35 +0000 [r1230] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made braces more + distinctive. + +2009-02-26 15:12 +0000 [r1229] Stevan_White: + + * FreeMono.sfd: ASCII: Accentuated braces (for + better readability in terminals) + +2009-02-24 22:27 +0000 [r1228] Stevan_White: + + * FreeSerif.sfd: Cherokee: Daniel improved + U+13d2 + +2009-02-24 07:41 +0000 [r1227] Stevan_White: + + * FreeSerif.sfd: Sinhala: Copied most Unicode + glyphs directly from Yannis Haralambous sinhala MetaFont files. + These are: all but 0dd0 0dd1 0df4. Gave Unicode characters names, + based on a transliteration scheme from Harshula. The auxiliary + Sinhala are all from the LKLUG font. + +2009-02-22 23:41 +0000 [r1226] Stevan_White: + + * FreeSerif.sfd: Copied glyphs from LKLUG font, + as discussed with Harshula Jayasuriya. + http://sinhala.cvs.sourceforge.net/viewvc/sinhala/sinhala/fonts/ + This font is derived from a Metafont font: This package was + originally developed by Yannis Haralambous (Yannis.Haralambous at + univ-lille1 fr), with funding from the Wellcome Institute for the + History of Medicine, 183 Euston Road, London NW1 2BE, England + (Contact person: Dominik Wujastyk (D.Wujastyk at ucl ac uk)), + which is using the font in its Catalogue of Sinhala Manuscript. + The original package was available by ftp at ftp.bcc.ac.uk in: + /pub/users/ucgadkw/indology/software/sinhala1-TeX.zip The hope is + to eventually pull glyphs directly from the original MF files. + +2009-02-21 19:48 +0000 [r1225] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: tidying previous commits + +2009-02-21 14:11 +0000 [r1224] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Serif: Revised letter + spacing in Armenian. Serif roman: Added initial version of + Glagolitic (by me) + +2009-02-18 20:38 +0000 [r1223] Stevan_White: + + * FreeSerif.sfd: Armenian: spacing changes + Sinhala: deleted range, for usual reasons: It doesn't even + contain the full set of Unicode letters, and Sinhala requires + auxiliary characters and lookup tables for proper representation. + (Found what I think are the originals at + http://www.mettanet.org/fonts/ ) + +2009-02-12 20:08 +0000 [r1222] Stevan_White: + + * tools/ranges.py, + tools/findBackLayers.py, + tools/GenerateTrueType, + tools/GenerateOpenType, + tools/range_report.py, + tools/validate.py, + tools/checkGlyphNumbers.py, + tools/isMonoMono.py: Changed + /usr/local/bin/fontforge to /usr/bin/fontforge (to work with the + update-alternatives mechanism, whereby a link is made + /usr/bin/fontforge -> /etc/alternatives/fontforge -> preferred + binary ) + +2009-02-12 19:33 +0000 [r1221] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: SerifBoldItalic - Armenian + oblique from Daniel Johnson's bold version Added ligatures (by + Daniel) and lookup tables. + +2009-02-12 08:39 +0000 [r1220] Stevan_White: + + * FreeSerifItalic.sfd: Armenian: Made oblique + version of Daniel Johnson's range + +2009-02-12 08:28 +0000 [r1219] Stevan_White: + + * FreeSerifBold.sfd: Armenian by Daniel Johnson + +2009-02-12 08:00 +0000 [r1218] Stevan_White: + + * FreeSerif.sfd: Improvements of a couple of + Armenian characters, from Daniel Johnson. + +2009-02-07 20:28 +0000 [r1217] Stevan_White: + + * FreeSerifItalic.sfd: Latin: kerning fixed some + missing extrema + +2009-02-07 19:47 +0000 [r1216] Stevan_White: + + * FreeSerifItalic.sfd: Latin: kerning made some + more delicate italic IPA letters + +2009-02-06 20:14 +0000 [r1215] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Latin: kerning + +2009-02-06 10:19 +0000 [r1214] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: kerning Adjusted ff + etc ligatures in Italic + +2009-02-05 23:20 +0000 [r1213] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: kerning + +2009-02-05 19:57 +0000 [r1212] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Thai sample text (means + something like Mr Sangkapan who sells bottles was picked up by + the police because he stole the wash of ms. .....) + +2009-02-04 20:19 +0000 [r1211] Stevan_White: + + * FreeSans.sfd: Vai range, by Daniel Johnson + +2009-02-04 20:08 +0000 [r1210] Stevan_White: + + * FreeSerifBoldItalic.sfd: Latin: kerning + +2009-02-03 20:53 +0000 [r1209] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: kerning + +2009-02-02 23:44 +0000 [r1208] Stevan_White: + + * FreeSerifBoldItalic.sfd: Latin: kerning + +2009-02-02 23:32 +0000 [r1207] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Latin: kerning + +2009-01-26 21:00 +0000 [r1206] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made nu distinct from + v. Remedies bug #25376: https://savannah.gnu.org/bugs/?25376 + greek letter 'nu' [U+03bd] same as latin 'v' [U+0076] in FreeMono + +2009-01-22 21:37 +0000 [r1205] Stevan_White: + + * FreeSans.sfd: Kerning. Need to copy to other + faces + +2009-01-22 01:44 +0000 [r1204] Stevan_White: + + * FreeSerif.sfd: Arabic ligatures: turned on + "ignore combining marks" on advice of Khaled Hosny. + +2009-01-20 17:09 +0000 [r1203] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Drew U+1e9C-F in Latin + Extended Additional (including capital ess-zet) + +2009-01-19 20:48 +0000 [r1202] Stevan_White: + + * FreeMono.sfd: Update ot Kayah Li from Daniel + Johnson + +2009-01-18 16:49 +0000 [r1201] Stevan_White: + + * AUTHORS, CREDITS: Daniel Johnson's + latest contributions + +2009-01-18 14:33 +0000 [r1200] Stevan_White: + + * FreeSerif.sfd: Coptic: Laula to be same height + as Phi Psi (higher than other letters). Dei and dei also to be + higher letters, adjusted widths too. + +2009-01-18 14:25 +0000 [r1199] Stevan_White: + + * FreeSans.sfd: Unified Canadian Aboriginal + Syllabics: moved the non-Unicode letter part glyphs ucas.ring + ucas.horizline ucas.shortvert ucas.righttack ucas.lefttack to the + Private Use area 59664-59668 Technique was to edit the SFD file + directly: It seems the encoding slot for the glyph is the first + field of the "Encoding:" line for the character. + +2009-01-18 13:28 +0000 [r1198] Stevan_White: + + * FreeMono.sfd: Cherokee: improvements from D. + Johnsaon + +2009-01-18 12:34 +0000 [r1197] Stevan_White: + + * FreeSerif.sfd: Latin: kerning + +2009-01-17 18:58 +0000 [r1196] Stevan_White: + + * FreeSerif.sfd: Cyrillic: kerning + +2009-01-17 15:26 +0000 [r1195] Stevan_White: + + * FreeSerif.sfd: Re-linked Ezh/Yogh and re-made + reversed Ezh + +2009-01-16 21:28 +0000 [r1194] Stevan_White: + + * FreeSerif.sfd: Fiddled with Coptic glyphs: + Longer tail on Shei, less droopy Alfa. Made Armenian Aiw to be a + link to Phi (on Daniel Johnson's advice ) + +2009-01-16 08:01 +0000 [r1193] Stevan_White: + + * tools/ranges.py: corrected Unified Canadian + Aboriginal Syllabics + +2009-01-16 07:44 +0000 [r1192] Stevan_White: + + * FreeMono.sfd: Kayah Li by Daniel Johnson + +2009-01-16 07:36 +0000 [r1190-1191] Stevan_White: + + * FreeMono.sfd: removed hints + + * FreeMono.sfd: Cherokee, by Daniel Johnson + +2009-01-16 07:27 +0000 [r1189] Stevan_White: + + * FreeSerif.sfd: Made references of some + Armenian punctuation, Made primereversed to be really the reverse + of prime. + +2009-01-13 21:43 +0000 [r1187-1188] Stevan_White: + + * FreeSans.sfd: named some Armenian letters + + * FreeSerif.sfd: Armenian range by Daniel + Johnson, with ligatures. + +2009-01-13 08:43 +0000 [r1186] Stevan_White: + + * README: GPL 2 -> GPL 3 + +2009-01-12 20:35 +0000 [r1185] Stevan_White: + + * FreeSerif.sfd: Coptic: more kerning + +2009-01-12 09:06 +0000 [r1184] Stevan_White: + + * FreeSerif.sfd: Coptic: Raised top of laula + above common top, as it appears in most other fonts.Makes it + easier to distinguish from alfa. A little more space around Iauda + and iauda. Kerned Dei. + +2009-01-11 22:30 +0000 [r1183] Stevan_White: + + * FreeSerif.sfd: Coptic: Made capital Alpha is + distinct in printed form. Made more angular vida with flattened + top and bottom. Made small hori more curvy. + +2009-01-11 14:06 +0000 [r1182] Stevan_White: + + * FreeSerif.sfd: Greek: made archaic letters + u+0370-3 (understand are used for old numbering) Coptic: more + fiddling with Hori, made Kapa much wider reduced width of small + letter straight stems to match small letters in Latin kerning for + capitals + +2009-01-11 00:39 +0000 [r1181] Stevan_White: + + * FreeSerif.sfd: Revised Coptic. Added a few + dialectic letters and kai symbol Removed many "ear" serifs, + preferring a slashing continuation of long decenders and + diagonals as in some manuscripts Made Kai and kai not to go below + baseline Made Psi a little broader Made small khei distinct from + cap, Revised Hori and hori. Some of this toward + https://savannah.gnu.org/bugs/?25289 + +2009-01-08 22:23 +0000 [r1180] Stevan_White: + + * FreeSerif.sfd: Various alterations to Coptic: + Re-worked K and M, added kern table. + +2009-01-07 10:03 +0000 [r1179] Stevan_White: + + * FreeSans.sfd: Daniel Johnson's fix of TT + reference transformation bug in Unified Canadian Aboriginal + Syllabics, + +2009-01-06 22:27 +0000 [r1178] Stevan_White: + + * FreeSans.sfd: Unified Canadian Aboriginal + Syllabics range, courtesy of Daniel Johnson. + +2009-01-04 16:12 +0000 [r1176] Stevan_White: + + * ChangeLog: copyright dates 2009 + +2009-01-04 16:08 +0000 [r1175] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added 2009 to + copyright dates + +2009-01-04 15:59 +0000 [r1173-1174] Stevan_White: + + * ChangeLog: changes since last release + + * AUTHORS, CREDITS: Removed + Glagolitic range author + +2009-01-04 15:27 +0000 [r1172] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerifBold.sfd: Added some TrueType names + +2009-01-01 20:47 +0000 [r1171] Stevan_White: + + * FreeSerif.sfd: Removde Glagolitic range, since + have not (yet) received OK from author. Added some TrueType Names + +2008-12-31 13:06 +0000 [r1170] Stevan_White: + + * COPYING: Updated license to GPL v3 + +2008-12-30 21:34 +0000 [r1169] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Oblique versions of + Daniel Johnson's Cherokee. + +2008-12-30 20:42 +0000 [r1168] Stevan_White: + + * FreeSerifBold.sfd: Cherokee Bold range from + Daniel Johnson. + +2008-12-27 16:43 +0000 [r1165-1167] Stevan_White: + + * tools/isMonoMono.py: 900 EM -> 800 + + * FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Made glyphs to lie + between -200 and 800 EM + + * tools/isMonoMono.py: check that glyphs lie in + vertical bounding boxes + +2008-12-27 14:46 +0000 [r1164] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Extensible bracket characters + didn't exactly line up. Fixed. Mono: a couple of glyphs had + gotten out of their bounding boxes again. + +2008-12-26 22:41 +0000 [r1162] Stevan_White: + + * ChangeLog: last two day's changes + +2008-12-26 22:36 +0000 [r1160-1161] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Final pre-release + cleanup + + * notes/maintenance.txt: nongnu -> gnu + +2008-12-26 20:48 +0000 [r1159] Stevan_White: + + * FreeSerif.sfd: Buginese vowel u was misnamed + +2008-12-26 20:36 +0000 [r1158] Stevan_White: + + * FreeMono.sfd: Yatcyrillic somehow was a mark + character ... fixed + +2008-12-26 20:27 +0000 [r1157] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Had to un-link references + in Sans: uni02B2, uni02B5 SansOblique: uni0363 because validation + of the TTF file said the glyph "is drawn in wrong direction" I + would have preferred to have understand this... + +2008-12-26 20:23 +0000 [r1156] Stevan_White: + + * sfd/Makefile: Added quick test for FontForge + version. + +2008-12-26 19:52 +0000 [r1155] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Removed kerning + tables (?? what were they doing here anyway??) + +2008-12-26 19:43 +0000 [r1154] Stevan_White: + + * tools/ranges.py: some changes to explanatory text + +2008-12-26 18:54 +0000 [r1153] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Kerning tables for Thai. + Handles one common case: short letter followed by a tall one with + an overhang to the left. + +2008-12-26 12:33 +0000 [r1152] Stevan_White: + + * INSTALL: small corrections: better detail about + Windows install + +2008-12-26 12:29 +0000 [r1151] Stevan_White: + + * AUTHORS, CREDITS: added most recent + authors, synched up + +2008-12-25 20:47 +0000 [r1150] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd: More putzing with kerning + tables + +2008-12-25 14:43 +0000 [r1149] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Copied kerning classes + Serif -> SerifBold SerifItalic -> SerifBoldItalic Sans -> + SansOblique SansBold SansBoldOblique Some associated naming of + characters, etc + +2008-12-25 12:51 +0000 [r1146-1148] Stevan_White: + + * AUTHORS, CREDITS, + README: formatting + + * ChangeLog: brought up to date + + * notes/maintenance.txt: added new release + proceedures + +2008-12-25 11:54 +0000 [r1145] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Additions and correction in + Spacing Modifier letters and IPA Extensions + +2008-12-23 21:35 +0000 [r1144] Stevan_White: + + * FreeSerif.sfd: Applied patch to Cherokee range + +2008-12-20 15:57 +0000 [r1143] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Fixed kern classes that end in + space (crashes FontForge) + +2008-12-20 15:38 +0000 [r1142] Stevan_White: + + * FreeSerifItalic.sfd: kerning + +2008-12-20 12:17 +0000 [r1141] Stevan_White: + + * FreeSerif.sfd: kerning + +2008-12-19 00:55 +0000 [r1140] Stevan_White: + + * FreeSerifItalic.sfd: kerning + +2008-12-19 00:06 +0000 [r1139] Stevan_White: + + * FreeSerif.sfd: kerning Some adjustments to + Glagolitc spacing, mark positioning + +2008-12-17 23:08 +0000 [r1138] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: kerning + +2008-12-16 23:36 +0000 [r1137] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: kerning + +2008-12-11 22:27 +0000 [r1136] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: kerning + +2008-12-10 11:03 +0000 [r1135] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: kerning + +2008-12-10 09:34 +0000 [r1134] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: kerning + +2008-12-08 23:01 +0000 [r1133] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: kerning + +2008-12-08 09:52 +0000 [r1132] Stevan_White: + + * FreeSansOblique.sfd: Slanted small final + sigma. remedies bug #24993: U+03C2 "Greek small letter final + sigma" not slanted in Free Sans Oblique + https://savannah.gnu.org/bugs/index.php?24993 + +2008-12-07 19:30 +0000 [r1131] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: kerning, etc + +2008-12-06 23:42 +0000 [r1130] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: kerning + +2008-12-06 13:48 +0000 [r1129] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: kerning Tweek in Sans + having to do with addition of Latin Extended + +2008-12-05 20:52 +0000 [r1128] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Tweeks to Latin + Extended Additional + +2008-12-05 20:34 +0000 [r1127] Stevan_White: + + * FreeSansBoldOblique.sfd: Added Latin Extended + Additional range + +2008-12-05 10:35 +0000 [r1126] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Extra space at end of + kern class names has bad effect on FornForge script that try to + run through kern classes. Some FontForge call corrupts memory. + Got rid of extra space. + +2008-12-02 21:12 +0000 [r1125] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Replaced U+0387 GREEK + ANO TELEIA with top dot of colon. See bug #24987: U+0387 GREEK + ANO TELEIA too low https://savannah.gnu.org/bugs/index.php?24987 + +2008-12-02 09:25 +0000 [r1124] Stevan_White: + + * FreeSerif.sfd: more kerning in Cyrillic (broke + into two tables of classes) + +2008-12-01 20:22 +0000 [r1122-1123] Stevan_White: + + * FreeSerif.sfd: tweeks to kernin + + * FreeSerifBoldItalic.sfd: kerning + +2008-11-30 21:17 +0000 [r1121] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Kerning for Latin and + Cyrillic fairly complete in Serif faces. Complete in sense that + it looks pretty good under Pango for English French German + Spanish Polish Czech Latvian But have not done Vietnamese (will + require many more entries). I adjust roman and italic, then copy + tables by hand to bold and bolditalic. Misgiving: bolditalic is + much too crammed Overall, I may have over-kerned. (A difficult + temptation to master.) + +2008-11-30 15:06 +0000 [r1120] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: kerning + +2008-11-30 13:43 +0000 [r1119] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd: kerning In Serif, modified + widths of some extended latin glyphs + +2008-11-29 13:44 +0000 [r1118] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: kerning + +2008-11-29 11:56 +0000 [r1117] Stevan_White: + + * FreeSerif.sfd: Broke Latin kerning subtable + into four, hoping it will be easier to understand and maintain. + +2008-11-29 11:26 +0000 [r1116] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: kerning + +2008-11-29 00:38 +0000 [r1115] Stevan_White: + + * FreeSansOblique.sfd: kerning + +2008-11-28 23:43 +0000 [r1114] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: kerninig + +2008-11-28 21:54 +0000 [r1112-1113] Stevan_White: + + * FreeSans.sfd: kerning + + * FreeSans.sfd, + FreeSerif.sfd: more kerning; made guillemot + narrower + +2008-11-28 10:26 +0000 [r1111] Stevan_White: + + * FreeSans.sfd: kerning + +2008-11-28 00:11 +0000 [r1109-1110] Stevan_White: + + * FreeSansOblique.sfd, + FreeSerif.sfd: previous commit was incomplete + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Adjusted width of single + quotes (and apostrophe) to be "punctuation width" More fiddling + with kerning. + +2008-11-27 22:37 +0000 [r1108] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: much fiddling with kerning + +2008-11-26 19:44 +0000 [r1107] Stevan_White: + + * FreeSerifBold.sfd: Basic kerning, named main + Cyrillic letters + +2008-11-26 18:41 +0000 [r1106] Stevan_White: + + * FreeSerifItalic.sfd: Basic Cyrillic kerning + +2008-11-26 07:03 +0000 [r1105] Stevan_White: + + * FreeSerif.sfd: further tweeks to Cyrillic + kerning + +2008-11-26 06:58 +0000 [r1104] Stevan_White: + + * FreeSerif.sfd: Tweeks to Cyrillic kerning + +2008-11-26 00:32 +0000 [r1103] Stevan_White: + + * FreeSerifItalic.sfd, + sfd/Makefile, FreeSerif.sfd, + FreeSerifBold.sfd: Much fiddling with kerning, + tables, and generating fonts whose kerning tables work with + OpenOffice. + +2008-11-25 23:59 +0000 [r1102] Stevan_White: + + * tools/GenerateTrueType: Made to include old-style + kerning Converted to Python + +2008-11-24 08:11 +0000 [r1100-1101] Stevan_White: + + * FreeSerif.sfd: Prev commit to validate + + * FreeSerif.sfd: regularized padding in + Miscellaneous symbols. At least within related ranges tried to + make similar. + +2008-11-23 20:21 +0000 [r1097-1099] Stevan_White: + + * tools/ranges/__init__.py (added), + tools/ranges/OpenType.py (added), + tools/ranges (added): meant to add these before + moving the ranges.py file + + * tools/range_report (removed), + tools/range_report.py (added): preferred to keep + the file ending + + * tools/range_report (added): Starting to break out + different functionalities of this large script + +2008-11-23 15:38 +0000 [r1096] Stevan_White: + + * FreeSerif.sfd: Completed Miscellaneous + Symbols, with some drawings from George Douros' Unicode Symbols, + and some of mine. + +2008-11-23 14:21 +0000 [r1095] Stevan_White: + + * FreeSerif.sfd: Filled out Miscellaneous + Symbols. Used George Douros' Unicode font. + +2008-11-23 12:57 +0000 [r1094] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Replaced Greek Exteded + psili and dasia with scaled versions of the "bent quote" mark. I + think it's distinctive enough, but not so silly. Remedies bug + #22997: Mono: Greek Extended psili is ugly + https://savannah.gnu.org/bugs/?22997 + +2008-11-23 00:47 +0000 [r1093] Stevan_White: + + * FreeSerif.sfd: Made some recycling symbols + +2008-11-22 23:07 +0000 [r1092] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Finished with Hebrew + Pointed letters in all faces. + +2008-11-22 16:36 +0000 [r1091] Stevan_White: + + * FreeSans.sfd: Fiddled with Hebrew Pointed + letters + +2008-11-22 15:45 +0000 [r1090] Stevan_White: + + * FreeSerifItalic.sfd: Marks for Vietnamese + +2008-11-22 10:32 +0000 [r1089] Stevan_White: + + * CREDITS: fixed some links having to do with Omega, + intlfonts + +2008-11-22 09:32 +0000 [r1088] Stevan_White: + + * CREDITS: Fixed/removed broken links + +2008-11-21 23:53 +0000 [r1087] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Letter pe had strange thick + middle ear that looked awful. lamed had ben bumped at some point. + Fixed. Adjusted some of the points. + +2008-11-21 22:54 +0000 [r1086] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: repairs to Pointed Hebrew + +2008-11-21 21:29 +0000 [r1085] Stevan_White: + + * FreeSerif.sfd: Numeral line positioning marks + for Gothic + +2008-11-21 10:17 +0000 [r1084] Stevan_White: + + * FreeSerifItalic.sfd: Added Combining Marks for + Symbols (some question about obliqueness of some symbols) Cleaned + up some empty glyphs in Pointed Hebrew. + +2008-11-20 21:00 +0000 [r1083] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Provided Hebrew pointed + letters, with lookups, for all Serif faces. + +2008-11-19 22:30 +0000 [r1082] Stevan_White: + + * FreeSerifBoldItalic.sfd: renamed Hebrew + lookups + +2008-11-19 22:12 +0000 [r1081] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Completed Hebrew in Bold + faces. + +2008-11-19 00:04 +0000 [r1080] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: More tweeks to Hebrew points + +2008-11-18 23:44 +0000 [r1079] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd: Adjustments corrections and + additions to Hebrew points + +2008-11-18 20:56 +0000 [r1078] Stevan_White: + + * FreeSansBold.sfd: Cleaned out a lot of + ridiculous kernings + +2008-11-16 23:39 +0000 [r1077] Stevan_White: + + * FreeSansBoldOblique.sfd: fiddled with Armenian + ligatures + +2008-11-16 23:26 +0000 [r1076] Stevan_White: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added Armenian (with + ligatures) to BoldOblique Fiddled with character spacing + +2008-11-16 22:56 +0000 [r1075] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added U+01f9 and + paragraph end marker to Georgian Fiddled with Armenian ligatures + +2008-11-15 13:36 +0000 [r1074] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added Georgian turned + gan 10F9 (because it was easy) + +2008-11-15 13:28 +0000 [r1073] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Another pass at + letter spacing in Cyrillic. Also went through ancient letters. + Added Georgian paragraph separator 10FB + +2008-11-15 10:11 +0000 [r1072] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Re-worked letter + spacing through modern Cyrillic range. + +2008-11-15 00:05 +0000 [r1071] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd: Letter spacing + +2008-11-14 22:48 +0000 [r1070] Stevan_White: + + * FreeSerif.sfd: Added several characters to + Cyrillic Extended-B + +2008-11-14 09:56 +0000 [r1069] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Made Cyrillic hooked + e U+04BC-F to look less goofy. + +2008-11-14 09:36 +0000 [r1068] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Based on assertion on + Pechatnyj Dvor's web site, Cyrillic Fita U+0472-3 and "Barred O" + U+04E8-9 are different styles the same letter, and the fact that + the tilde in the O never looked good in Sans, I made them all + barred O's. + +2008-11-14 09:32 +0000 [r1067] Stevan_White: + + * FreeSerif.sfd: Added Cyrillic Yn, yn + (U+a65e-f) + +2008-11-14 08:30 +0000 [r1066] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerifBold.sfd: Synced up Cyrillic and + Combining Diacritics ranges, Couple of tweeks in Gujarati to make + TT validate + +2008-11-13 23:44 +0000 [r1065] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Changes to older Cyrillic + letters, in response to further information. Made omegas, omegas + with titlo, and OT to all be of the same size and shape in Serif. + Un-linked Cyrillic Psi and psi from Greek, made squarer versions. + Some more Cyrillic diacritical marks in Sans. Re-worked U+04bc-f + . Experimenting with mark positioning for Cyrillic + +2008-11-12 22:53 +0000 [r1064] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Strove to make Euro + look more like the EC logo design, while making glyph fit better + with the design of its face. See bug #3576: Euro design + https://savannah.gnu.org/bugs/?23576 + +2008-11-12 21:33 +0000 [r1063] Stevan_White: + + * FreeSans.sfd: Tweeks to previous commit + +2008-11-12 21:10 +0000 [r1062] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Adjustments mostly to GPOS + tables having to do with Vietnamese marks. The WAZU Vietnamese + test page looks pretty good in Sans now. Still not thrilled with + below-dot when it appears with a mark over e.g. U+0102. Pango + positions one or the other but not both. + +2008-11-12 00:04 +0000 [r1061] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Extensive + modification of GPOS lookup tables for mark positioning. I think + they're now all functional (except styled Mono faces have none). + Also added lots of marks to faces that didn't have them, and also + fiddled with Combining Diacritical Marks. + +2008-11-10 19:53 +0000 [r1060] Stevan_White: + + * FreeSerif.sfd: Made one combining mark really + combining + +2008-11-10 19:49 +0000 [r1059] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made a few combining + characters to be zero-width in Mono, Added them to other styles. + +2008-11-09 23:49 +0000 [r1058] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Figured out why below marks + in Thai weren't working in the lowest letters. I think Pango and + other font renderers ignore 'blwm'. 'mark' works though. + +2008-11-09 23:21 +0000 [r1057] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Tweeks to Thai marks + +2008-11-09 22:56 +0000 [r1056] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Several bugfixes in Thai, + mostly having to do with mark placement and ligatures. + Implemented ru-saraaa and lu-saraaa with ligatures. + +2008-11-09 21:21 +0000 [r1055] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: added and named + dottedcircle (used by Pango to render combining mark base) + +2008-11-09 12:42 +0000 [r1054] Stevan_White: + + * FreeSerif.sfd: More tweeks to Coptic + +2008-11-09 12:22 +0000 [r1053] Stevan_White: + + * FreeSerif.sfd: Tweeks to Coptic, after viewing + more papyrus samples and web pages. + +2008-11-09 10:41 +0000 [r1052] Stevan_White: + + * FreeSerif.sfd: Weight of Coptic small letters + made to match that of Latin and Greek ones. + +2008-11-08 20:05 +0000 [r1051] Stevan_White: + + * FreeSerif.sfd: Coptic tweek spacing + +2008-11-08 19:22 +0000 [r1050] Stevan_White: + + * FreeSerif.sfd: Made Coptic to comply better + with http://www.wazu.jp/gallery/Test_Coptic.html Made a flourish + at foot of letters with long diagonal. + +2008-11-08 15:51 +0000 [r1049] Stevan_White: + + * FreeSerif.sfd: Coptic: punctuation marks were + in the wrong row. + +2008-11-08 15:38 +0000 [r1048] Stevan_White: + + * FreeSerif.sfd: More tweeks to Coptic; put in a + mark lookup table. Note: for small letters I made scaled + references to captials. Results in those letters looking quite + light next to the capitals and next to small Latin letters. Also, + there are a few variant forms for capitals (Unicode samples don't + show this). It would be good to re-work + +2008-11-08 13:27 +0000 [r1047] Stevan_White: + + * FreeSerif.sfd: Added Coptic alphabet in + u+2C80-2CB1 and u+03E2-u+03EF, drawn/built by me, based on + Unicode samples, TeX font copte, and scans at WikiPedia. + +2008-11-07 08:12 +0000 [r1046] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Further tweeks to dieresis + in Greek and Cyrillic + +2008-11-07 07:41 +0000 [r1045] Stevan_White: + + * FreeSerif.sfd: replaced Greek I dieresis with + references, tweeked height of dieresis. + +2008-11-04 08:42 +0000 [r1044] Stevan_White: + + * FreeSerif.sfd: Added a few Cyrillic Extended-B + letters seen in web pages while looking for Glagolitic text. + +2008-11-04 00:29 +0000 [r1042-1043] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Added a few old Cyrillic + characters. + + * FreeSerif.sfd: Several corrections and tweeks + to Glagolitic. Still missing six slots from Unicode, but don't + see them in the TeX fonts. On the other hand, several on-line + Glagolitic pages (bibles etc) don't seem to use these. Maybe it's + OK as-is. + +2008-11-03 09:53 +0000 [r1041] Stevan_White: + + * FreeSerif.sfd: Added lowercase range to + Glagolitic, as a facile scaling of the uppercase. + +2008-11-03 09:50 +0000 [r1040] Stevan_White: + + * FreeSerif.sfd: Added letter to Glagolitic, + scaled range. + +2008-11-02 22:59 +0000 [r1039] Stevan_White: + + * FreeSerif.sfd: Replaced fraktur bold from + Mathematical Alphanumeric Symbols with that from TX Fonts by + Young Ryu. One concern: letter k is damaged (in both medium and + bold). I just hacked something up. Added Glagolitic "round type" + font (Croation capitols only) from the collection of Croatian + fonts for LaTeX by Darko Zubrinić + ftp://ftp.dante.de/tex-archive/languages/croatian/ + http://www.tug.org/TUGboat/Articles/tb17-1/tb50zubr.pdf Several + letters are missing besides the small letters. + +2008-11-02 09:06 +0000 [r1038] Stevan_White: + + * FreeSerifBoldItalic.sfd: A couple of Thai + references got obliqued twice. + +2008-11-02 08:57 +0000 [r1037] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: By popular demand, removed + 'ears' from Greek Upsilon and Psi. Copied resulting glyphs to + Serif Mathematical Alphanumeric Symbols. + +2008-11-02 00:49 +0000 [r1036] Stevan_White: + + * FreeSerif.sfd: Some pointwise cleanup of main + Tamil range + +2008-11-01 23:20 +0000 [r1035] Stevan_White: + + * FreeSerif.sfd: Tried some things with lookups. + Didn't make much headway. + +2008-11-01 22:34 +0000 [r1033-1034] Stevan_White: + + * FreeMono.sfd: somehow made a letter with wrong + width + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Added similar lookups and + ligatures to Thai ranges. + +2008-11-01 18:34 +0000 [r1032] Stevan_White: + + * FreeSerif.sfd: Lookups now work no worse than + those for other Thai fonts, at least in Pango. Still perplexed by + behaviour of "Required" lookups. + +2008-11-01 15:44 +0000 [r1031] Stevan_White: + + * FreeSerif.sfd: For Thai, made ligatures and + lookups for yoying and thothan combined with a lower vowel. These + work well. Attempted looksups for saraaa with ru and lu, and for + saraam. Not working. + +2008-10-31 23:54 +0000 [r1030] Stevan_White: + + * FreeSans.sfd: Cleaned up a few of the Bengali + ligatures + +2008-10-31 23:46 +0000 [r1029] Stevan_White: + + * FreeSerifBold.sfd: Tweek Thai + +2008-10-31 22:48 +0000 [r1028] Stevan_White: + + * FreeSerif.sfd: Fixed ligatures and mark + positioning for Hanunóo. Problem with ligatures: Gnome pango + doesn't do 'rlig', only 'liga' + +2008-10-31 21:27 +0000 [r1027] Stevan_White: + + * FreeSerifItalic.sfd: Changed lookup table + scripts for Devanagari and Bengali. Find Problems -> ATT found + several problems showing lookups acting on glyphs that weren't + listed in the script ranges, including dev2, bng2 (why not deva + and beng, I don't know). danda and doubledanda of Devanagari I + understand are to be shared among Indic scripts. So included bng2 + and dev2 in the 'aalt' table for those. The 'init' and 'half' + tables for Bengali made active for bng2. The 'locl' table for + Bengali didn't do anything I could see: It mapped the Devanagari + danda to itself, and the doubledanda to itself. Deleted. + +2008-10-31 20:10 +0000 [r1026] Stevan_White: + + * FreeSerifItalic.sfd: Cleaned up some kern + tables. adjustments of under 5 EM are invisible. Some others I + just didn't like. Some were putting a letter beneath another, + with is wrong. + +2008-10-31 19:39 +0000 [r1025] Stevan_White: + + * FreeSerifBoldItalic.sfd: Added Thai + +2008-10-31 19:02 +0000 [r1024] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBold.sfd: Changes to mark positioning + lookups, esp. in Italic. Widened numerals in Bold + +2008-10-27 19:00 +0000 [r1023] Stevan_White: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Tweeks regarding + Armenian and lookups + +2008-10-27 18:48 +0000 [r1022] Stevan_White: + + * FreeSansBold.sfd: Added Armenian ligatures + FB13-FB17 with lookups Also made a historical ligature ('hlig') + table for u+0587. Toward bug #15183: missing characters from + Armenian range (FreeSans, Bold) + https://savannah.gnu.org/bugs/index.php?15183 + +2008-10-27 09:17 +0000 [r1021] Stevan_White: + + * FreeSansOblique.sfd: Added Armenian ligatures, + lookups. Cleaned up contours. + +2008-10-26 23:45 +0000 [r1020] Stevan_White: + + * FreeSans.sfd: Added 5 Armenian ligatures to + U+FB13 – FB17, and made corresponding 'liga' lookup. Found + there one ligature u+0587 that according to + http://en.wikipedia.org/wiki/Armenian_alphabet "in new + orthography the և character is not a typographical ligature + anymore, and must never be treated as such. It is a distinct + letter and has its place in the new alphabetic sequence." So + moved this out of the 'liga' lookup and into a new 'hlig' lookup. + +2008-10-26 22:26 +0000 [r1019] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Lots of improvements to + Thai. Completely revised letter spacing in Italic, and fiddled + with combining marks in all. Still aren't working quite right, + especially in Italic. Still need to work over digits (in Bold + they aren't even bold yet) + +2008-10-26 14:21 +0000 [r1018] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Bold Thai : added + (painstakingly) constructed glyphs, lookups roman Thai: tweeks + Italic Thai: tweeks (Note this still has multiple problems) + +2008-10-25 08:26 +0000 [r1017] Stevan_White: + + * FreeSerif.sfd: WAZU says + http://www.wazu.jp/gallery/Fonts_Hanunoo.html MPH 2B Damase + doesn't support the consonant-vowel ligatures necessary to render + Buhid writing. OK, so I made 'mark' lookups for combining marks + and a bunch of ligatures in an 'rlig' lookup. The latter still + not working: don't know why. Made page to match the example of + the combining forms at + http://www.omniglot.com/writing/hanunoo.htm + +2008-10-24 21:56 +0000 [r1016] Stevan_White: + + * FreeSerif.sfd: Removed some marks from + Mathematical Alphanumeric Symbols + +2008-10-24 08:13 +0000 [r1015] Stevan_White: + + * FreeSerif.sfd: Tweeked combining marks for + Vietnamese. Made to satisfy WAZU JAPAN Comprehensive Unicode Test + Page for Vietnamese / Quốc Ngữ + http://www.wazu.jp/gallery/Test_Vietnamese.html Could still use + some tweeking... + +2008-10-24 07:25 +0000 [r1014] Stevan_White: + + * FreeSerif.sfd: Added marks for composition of + Vietnamese + +2008-10-23 22:03 +0000 [r1013] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Put "below" combining mark on + lots of vowels and derivatives, for Vietnamese. Named a bunch of + composit Latin, expecting to make substitutions. + +2008-10-23 20:14 +0000 [r1012] Stevan_White: + + * FreeSerif.sfd: Thai spacing alterations based + on advice of a native speaker. + +2008-10-22 06:30 +0000 [r1011] Stevan_White: + + * FreeSerif.sfd: re-named Thai lookups according + to order + +2008-10-21 21:28 +0000 [r1010] Stevan_White: + + * FreeSans.sfd: Cleanup of glyphs in Gujarati, + Devanagari. Note: Serious problem with Sans GPOS abvm in + Devanagari "'abvm' Above Base Mark in Devanagari subtable" + "gujr-0" But all the characters that list gujr-0 are in Gujarati. + Not sure how this got broken or how to fix it. + +2008-10-21 19:32 +0000 [r1009] Stevan_White: + + * FreeSerif.sfd: Fiddled with Thai mark + positioning: passes my tests now OK. Made a few more references + in Math Symbols; more regularization of stroke. + +2008-10-21 09:01 +0000 [r1008] Stevan_White: + + * FreeSerif.sfd: Added mark class for Vietnamese + "horn" Several references made in General Punctuation, Arrows + +2008-10-20 22:47 +0000 [r1007] Stevan_White: + + * FreeMono.sfd: added some Combining Diacritical + Marks + +2008-10-20 18:41 +0000 [r1006] Stevan_White: + + * FreeSerif.sfd: Made some references from + serifed Latin capitals to Greek counterparts. + +2008-10-20 18:24 +0000 [r1005] Stevan_White: + + * FreeSerif.sfd: Made a few repeated glyphs into + references in Musical Symbols + +2008-10-20 17:33 +0000 [r1004] Stevan_White: + + * tools/ranges.py, tools/validate.py: + tweeked some ranges, format of output + +2008-10-19 19:36 +0000 [r1003] Stevan_White: + + * FreeSerif.sfd: Moved several glypns from + Mathematical Alphanumeric Symbols to Letterlike Symbols. Couple + tweeks in Mathematical Symbols. + +2008-10-19 18:30 +0000 [r1002] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Fiddling with Mathematical + Symbols. In Serif, trying to make stroke width more consistent. + +2008-10-19 16:47 +0000 [r1001] Stevan_White: + + * FreeMono.sfd: Tweek + +2008-10-19 16:44 +0000 [r1000] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Added some Greek + symbols in Mono and Sans to make a little more regular and + correspond better with TeX. Tweek of serif. + +2008-10-19 14:47 +0000 [r999] Stevan_White: + + * FreeSansBold.sfd: a few more improvements. + (One problem with the Mathematical Alphanumeric area is, one must + remember to change it any time another face is altered...) + +2008-10-19 14:41 +0000 [r998] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerifBold.sfd: Several improvements and + additions to Sans faces (mostly in Greek) from experience of + pasting into FreeSerif Mathematical Alphanumeric Symbols. + +2008-10-19 14:37 +0000 [r997] Stevan_White: + + * FreeSerif.sfd: Replaced most of Mathematical + Alphanumeric Symbols roman italic bold (latin and greek) gothic + italic bold (latin and greek) typewriter and numerals with glyphs + from FreeFont. These were scaled to uniform height. Remains: + Blackboard Bold, Fraktur, Calligraphic, Script + +2008-10-19 12:03 +0000 [r996] Stevan_White: + + * FreeSerif.sfd: Tidied lookup table names for + Malayalam + +2008-10-19 11:49 +0000 [r995] Stevan_White: + + * FreeSerif.sfd: Applied Malayalam patch from + Hiran Venugopalan + +2008-10-19 10:27 +0000 [r993-994] Stevan_White: + + * FreeMono.sfd: Added/corrected many + Mathematical Symbols + + * FreeSansOblique.sfd: more IPA + +2008-10-18 11:20 +0000 [r992] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Made lots more IPA + and Phonetic Extensions Note: fontforge is reporting an error in + a few glyphs made by scaling another, that the glyphs are drawn + in the wrong direction--only in TrueType though. Suspect a + FontForge bug. + +2008-10-17 23:10 +0000 [r991] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added several + Combining Diacritical Marks + +2008-10-17 20:33 +0000 [r990] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Made several Spacing + Modifier Letters, Combining Diacritical Marks, and IPA and + Phonetic Extensions + +2008-10-17 06:40 +0000 [r989] Stevan_White: + + * CREDITS: Hiran Venugopalan of Swathanthra + Malayalam Computing George Douros Daniel Johnson + +2008-10-16 20:53 +0000 [r988] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Added some Superscripts and + Subscripts + +2008-10-16 20:01 +0000 [r987] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Finished off + Superscripts and subscripts + +2008-10-16 19:06 +0000 [r986] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Completed General + Punctuation for Mono faces + +2008-10-16 08:08 +0000 [r985] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Added some General + Punctuation + +2008-10-16 06:48 +0000 [r983-984] Stevan_White: + + * tools/ranges.py: un-grayed totals rows + + * tools/ranges.py: Fiddled Cyrillic made output + prettier + +2008-10-15 18:28 +0000 [r982] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: more Letterlike + Symbols, Currency Symbols + +2008-10-15 08:49 +0000 [r981] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Made some Combining + Diacritical Marks for Symbols, Letterlike Symbols + +2008-10-14 22:18 +0000 [r980] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Added some General + Punctuation + +2008-10-14 21:24 +0000 [r979] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added double slanted + hyphen, made General Punctuaton Supplement like Serif's + +2008-10-14 21:03 +0000 [r977-978] Stevan_White: + + * FreeSansBoldOblique.sfd: Filled out Greek + Extended + + * FreeSerifItalic.sfd, + FreeMono.sfd: fixes to last 2 commits + +2008-10-14 19:51 +0000 [r976] Stevan_White: + + * FreeSerifItalic.sfd: Last character to General + Punctuation + +2008-10-14 19:43 +0000 [r975] Stevan_White: + + * FreeMono.sfd: Built some Enclosed + Alphanumerics (1-10) + +2008-10-14 07:26 +0000 [r974] Stevan_White: + + * FreeSerif.sfd: Copied in Daniel Johnson's + changes to Cherokee. + +2008-10-12 15:42 +0000 [r973] Stevan_White: + + * FreeSerif.sfd: Included Daniel Johnson's + Cherokee glyphs. + +2008-10-05 11:20 +0000 [r972] Stevan_White: + + * FreeMono.sfd: Further corrections to diaresis + in Cyrillic -- legibility in small sizes + +2008-10-05 10:43 +0000 [r971] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd: Regularized placement of + diaresis in Cyrillic + +2008-10-05 09:07 +0000 [r970] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added same set of + glyphs to Cyrillic Supplement + +2008-10-04 22:26 +0000 [r969] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added some of the + easier letters from Cyrillic Supplement + +2008-10-04 20:27 +0000 [r968] Stevan_White: + + * FreeSerifItalic.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Finished high + Cyrillic range for MonoBold and MonoBoldOblique. (Remaining: + historic ranges, Cyrillic extensions) Tweeked others. + +2008-10-04 13:26 +0000 [r967] Stevan_White: + + * INSTALL: Added info about Adobe ATM + +2008-10-03 22:40 +0000 [r966] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMonoBold.sfd: Serif*Italic: Added last + Abkhazian letters to Cyrillic MonoBold: tweek + +2008-10-03 16:23 +0000 [r965] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd: Mono: Some additions to + historic letters + +2008-10-03 14:55 +0000 [r964] Stevan_White: + + * FreeSerif.sfd: Added some punctuation and + combining numeric marks from Cyrillic Extended B + +2008-10-03 13:21 +0000 [r963] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeSerifBold.sfd: Various technical tweeks, + mostly concerning recent additions. Also did a bit more "Points + too close" and "irrelevant control points". Cyrillic millions + redesign meant could not maintain use of references for it. + +2008-10-03 11:03 +0000 [r962] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More high Cyrillic Included + old Cyrillic millions combining mark in Sans, changed design in + Serif + +2008-10-02 21:44 +0000 [r961] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: More high Cyrillic + +2008-10-02 17:45 +0000 [r960] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoOblique.sfd: More high Cyrillic glyphs + +2008-10-02 08:55 +0000 [r959] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: More glyphs in high + Cyrillic. Remains only some whose form I'm unsure of in italic. + +2008-10-02 07:44 +0000 [r958] Stevan_White: + + * FreeSerifBoldItalic.sfd: More glyphs in higher + Cyrillic range + +2008-10-01 23:02 +0000 [r957] Stevan_White: + + * FreeSerifItalic.sfd: Same process of + tightening el, em, ge (but a P.S. to previous commit: also did + ya, ze for SerifBold. + +2008-10-01 22:54 +0000 [r956] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: BoldItalic: Tightened up + spacing on left of el, em, ge (could go farther, but it is partly + a problem with glyph design... + +2008-10-01 22:10 +0000 [r955] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More additions to Cyrillic. + Finished SerifBold except for Nivkh additions. Used references on + number combining forms. + +2008-09-29 22:44 +0000 [r954] Stevan_White: + + * FreeSerif.sfd: Added four (obsolete) Chuvash + letters to Cyrillic Supplement - completing it. + +2008-09-29 21:32 +0000 [r953] Stevan_White: + + * FreeSerif.sfd: Greek adjustments Adjusted + spacing of kappa slightly Got rid of ears on Psi, following + similar request for Upsilon. + +2008-09-28 17:02 +0000 [r952] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Adding and fiddling with + Spacing Modifiers and Combining Diacriticals + +2008-09-28 10:30 +0000 [r951] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Revisions of several + Combining Diacritical marks + +2008-09-28 10:25 +0000 [r950] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: More Combining + Diacriticals + +2008-09-28 08:18 +0000 [r949] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Still more Spacing + Modifiers and Combining Diacriticals + +2008-09-28 00:10 +0000 [r948] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: A few Combining + Diacriticals and Spacing Modifiers + +2008-09-27 23:45 +0000 [r947] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: MonoBoldOblique: + Primarily filling out Spacing Modifier Letters others: little + fixes found along the way + +2008-09-27 13:04 +0000 [r946] Stevan_White: + + * FreeSerif.sfd: Replaced Malayalam range with + that from Rachana_04 found on Swathanthra Malayalam Computing + project page http://savannah.nongnu.org/projects/smc/ Besides + scaling and converting to cubic, performed much clean-up of + glyphs, added an r2 character, and re-named a bunch of + characters. + +2008-09-22 22:06 +0000 [r945] Stevan_White: + + * tools/ranges.py: Corrections and additions to + several ranges, put extra row in table with character totals + +2008-09-22 21:41 +0000 [r944] Stevan_White: + + * FreeSerif.sfd: Filled in as much of Phonetic + Extensions as I could without artistic abilities. Note 1D48-9 are + not references due to apparent FontForge bug, that says scaled + references go in wrong direction. + +2008-09-22 19:20 +0000 [r943] Stevan_White: + + * FreeSerif.sfd: Cleaup of some Bengali glyphs. + Note many of the ligatures remain very very messy. + +2008-09-22 14:29 +0000 [r940-942] Stevan_White: + + * Makefile: made some lines quiet + + * sfd/Makefile: added more validations made to work + with GenerateOpenType + + * tools/GenerateOpenType: Replaced bash version with + Python + +2008-09-22 09:23 +0000 [r939] Stevan_White: + + * FreeSerif.sfd: Built two more easy Phonetic + Extensions + +2008-09-22 09:14 +0000 [r938] Stevan_White: + + * FreeSerif.sfd: Built some Phonetic Extensions + letters, those with middle tilde + +2008-09-21 20:46 +0000 [r937] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added lots of Spacing + Modifier Letters and Combining Diacritical Marks. + +2008-09-21 15:34 +0000 [r936] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Wrote script to check + if glyph encodings were in stated ranges, fixed most + discrepancies. There were a bunch of incompletely deleted + characters in several faces. Sans: found several other problems + in the process Tamil Four slots labelled 0BDA-D have glyphs, not + in Unicode. also 0BE1 I think they are misplaced; added 0010 to + each of them Devanagari Slot labelled U+093B is not in + Unicode--can't find glyph: deleted likewise 094F (may have been + meant to be 0954) 0955, 0973-0976 0954 should be a combining + mark, but it appears on the wrong side of 0. 0971 was just + wrong--made into simple dot. 0972 is also wrong--made my own + Candra A. Gujarati Slots labelled 0AE4-5 are not in Unicode; seem + not to belong at all. Deleted. 2800 is a dup of 2790. Deleted + Serif: phillipine_double u1736 was misplaced A bunch of the Math + Alphanumeric symbols are empty in the standard, because they're + represented elsewhere. These should be deleted (TO DO) First need + to make style consistent with existing symbols. + +2008-09-21 11:41 +0000 [r935] Stevan_White: + + * FreeSerif.sfd: Applied patch from Daniel J + Remedies bug FreeSerif: Missing glyphs with palatal hook + https://savannah.gnu.org/bugs/index.php?24298 Adding several + letters to Phoenetic Extensions range U+1D80-BF + +2008-09-21 11:00 +0000 [r934] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made four characters + U+200C-F to be zero-width Remedy to bug #23593: Mono 0-width + chars: zero-width or space? + https://savannah.gnu.org/bugs/index.php?23593 + +2008-09-20 23:17 +0000 [r933] Stevan_White: + + * FreeSerif.sfd: Made Mahjong tiles to take up + less space using references Cleaned up several validation + problems + +2008-09-19 22:54 +0000 [r932] Stevan_White: + + * tools/checkGlyphNumbers.py: included other Private + Use Ranges + +2008-09-19 20:48 +0000 [r931] Stevan_White: + + * tools/checkGlyphNumbers.py (added): Added script + to check that glyph numbers match Unicode (with complication) + +2008-09-19 20:36 +0000 [r930] Stevan_White: + + * tools/ranges.py: corrected and simplified + calculation of whether OS/2 bit is set. Now works mostly + perfectly, except for some high Unicode ranges... + +2008-09-19 20:25 +0000 [r928-929] Stevan_White: + + * FreeSerif.sfd: Added several Hebrew Alphabetic + Presentation Forms (some easy ones), to make its coverage the + same as Serif Bold. + + * FreeSerifBold.sfd: Re-encoded. Deleted several + glyphs in Hebrew Alphabetic Presentation Forms that didn't + correspond valid Unicode + +2008-09-19 20:19 +0000 [r927] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeMonoBold.sfd: Ran script to find + mis-numbered glyphs. Several were simply typos, some offset by + one. + +2008-09-19 20:13 +0000 [r926] Stevan_White: + + * FreeSansOblique.sfd: Numerous cases of glyphs + in Private Use area incorrectly assigned Unicode numbers and + names. Gave all -1 for Unicode and named like "slot.XXXX". + +2008-09-19 09:51 +0000 [r921-925] Stevan_White: + + * tools/GenerateOpenType: Made to output old-style + kerning tables for Windows (FontForge complains though) + + * tools/GenerateTrueType: Made to hint before + instructing: FontForge bases TT instructions on hints although + hints are not put into TrueType fonts. + + * tools/hex_range.py: cosmetic tweek + + * tools/isMonoMono.py: re-worked to take a list of + files as input + + * tools/ranges.py: re-structured code and corrected + a few ranges + +2008-09-19 09:17 +0000 [r920] Stevan_White: + + * FreeSerif.sfd: Adapted Mahjong Tiles from + George Douros' Unicode Symbols font. + +2008-09-18 23:27 +0000 [r919] Stevan_White: + + * FreeSerif.sfd: Added Domino Tiles. Domino + outline is copied from George Douros' Unicode Symbols, but the + rest I preferred to do with references. + +2008-09-18 21:30 +0000 [r918] Stevan_White: + + * FreeSerif.sfd: Adapted Mathematical + Alphanumeric Symbols from George Douros' Unicode Symbols font. + +2008-09-18 21:02 +0000 [r917] Stevan_White: + + * FreeMonoBoldOblique.sfd: This one got away + from me--I don't know what I did. Looks like some small contour + edits. + +2008-09-18 20:58 +0000 [r915-916] Stevan_White: + + * FreeSansBoldOblique.sfd: Fixed one mis-numberd + character in Latin Extended-B + + * FreeSerifItalic.sfd, + FreeSerifBold.sfd: Fixed several mis-numbered + characters. + +2008-09-18 20:13 +0000 [r914] Stevan_White: + + * FreeSansBold.sfd: SansBold: one Georgian + letter with no name, one Zapf Dingbat was unnumbered ATT test + shows a bunch of problems with Gurmukhi and 'blwf' table indeed + shows those letters at 0x10000+ Sans names them like + uni0A30_uni0A4D.blwf: they are in range ECC6 to ED06 I meant to + move this range into Private Use in last release, and missed it. + So now it is moved, into same range as Sans. Both Sans and + SansBold in nukt table for Gurmukhi have duplicate entries for + uni0A15 uni0A3C. Deleted dups. + +2008-09-18 19:05 +0000 [r913] Stevan_White: + + * FreeMonoOblique.sfd: fixed a number of + Unassigned Code Points in Greek Extended + +2008-09-18 18:31 +0000 [r912] Stevan_White: + + * FreeSansOblique.sfd: mis-numbered Combining + Diacritics + +2008-09-18 18:24 +0000 [r911] Stevan_White: + + * FreeSansOblique.sfd: Several chars in Latin + Extended hadn't been named. One spurious letter in Letterlike + Symbols + +2008-09-16 19:37 +0000 [r910] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: Lots of additions: unless + otherwise noted, they are from George Duros' fonts Analecta, + Music, and Unicode (haven't got final confirmation of the + eligibility of these glyphs, so this is just for testing.) Added + some combining marks, fiddled a bit. In both Serif & Mono, tried + to get a key symbol characters to fit inside the key combining + mark Serif Got rid of ears on Upsilon Added: Gothic Western & + Byzantine Musical Symbols Misc Symbols, Misc Technical Symbols + (also drew many myself) Supplemental Symbols and Arrows Mono + Added: lotsa Misc Technical Symbols OCR Symbols drew many + Supplemental Symbols and Arrows, Misc Technical Sans Added + Phoenecian Made a few Letterlike Symbols; Made Re and Im to be + sans-serif. + +2008-09-11 20:49 +0000 [r908] Stevan_White: + + * ChangeLog: changes since June + +2008-09-11 20:42 +0000 [r907] Stevan_White: + + * FreeSerif.sfd: Removed pointless entries from + Latin kern table Tidied points in Sinhala + +2008-09-07 21:47 +0000 [r906] Stevan_White: + + * FreeSerif.sfd: Tidied up Tamil ligatures + EEA8-EEAB to fix TT build warning "MonotonicFindAlong: Never + found our spline." + +2008-09-07 21:07 +0000 [r905] Stevan_White: + + * FreeSerifBoldItalic.sfd, + sfd/Makefile, FreeSans.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added APL characters + to FreeMono (why?...) Fixed several last-minute problems, + including Serif: Tweeked GPOS mark table for Cyrillic Sans: Added + a GPOS table for Cyrillic (but several diacritics are missing) + Serif, Mono: tweeked some bugs in extensible brackets & integrals + Serif: Vietnamese o circumflex: accent was a bit high. fixed. + MonoBoldOblique OTF build uni213b intersects self Generation of + TT fonts complains about several things to stderr, including + SerifBold: "There exists a 'fpgm' code that seems incompatible + with FontForge's. Instructions generated will be of lower + quality. If legacy hinting is to be scrapped, it is suggested to + clear the `fpgm` and repeat autoinstructing. It will be then + possible to append user's code to FontForge's 'fpgm', but due to + possible future updates, it is extremely advised to use high + numbers for user's functions." (probably has been there since I + first copied the TT instructions in. ) Just repeated the copying + process carefully, and the warning went away. Serif: + "FindMatchingHVEdge fell into an impossible position" fixed a + bunch of point too close REMAINING PROBLEM in Serif TT build + "MonotonicFindAlong: Never found our spline." fixed several bad + TT matrices-- there are several more fixed many "control points + too close" no luck + +2008-09-03 08:43 +0000 [r904] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Added/corrected some + Misc. Symbols by copying from Serif. Note this is only a stopgap + solution. Want real sans-serif symbols. + +2008-09-02 22:41 +0000 [r903] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Put in minimal + Miscellaneous Symbols: Card suites and some musical notes. Note + not very happy with shapes...some I just drew. Sans isn't really + sans. Fixed one APL symbol in Mono so it verified in OTF version + +2008-08-31 11:39 +0000 [r902] Stevan_White: + + * FreeMono.sfd: Built set of APL symbols. + +2008-08-30 18:37 +0000 [r901] Stevan_White: + + * FreeSans.sfd: Un-linked references in uni02B2 + and uni02B5, because when validating the TrueType version, + fontforge gave an error "is drawn in wrong direction". (I suspect + a bug in fontforge. Other similar glyphs make no errors.) + +2008-08-30 16:23 +0000 [r900] Stevan_White: + + * FreeSerif.sfd: Fixed missing extrema in + TrueType. These were the last cases being reported by validate in + all the faces. + +2008-08-30 13:46 +0000 [r899] Stevan_White: + + * FreeSerifItalic.sfd: fixed last missing + extrema in TrueType + +2008-08-30 11:02 +0000 [r898] Stevan_White: + + * sfd/Makefile, Makefile, + tools/validate.py, + tools/isMonoMono.py: restructured validation to + look in a directory + +2008-08-30 10:57 +0000 [r897] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: Fixed missing extrema in + TrueType versions + +2008-08-30 09:31 +0000 [r894-896] Stevan_White: + + * AUTHORS, CREDITS: unified style + + * README: lots of re-wording, concerning goals and + purposes + + * INSTALL: Got rid of outline style, tried to make a + little more appealing. + +2008-08-14 22:01 +0000 [r893] Stevan_White: + + * FreeSans.sfd: Same problem with uni0A83 as + with bn_llikaar. Just made zero-width. + +2008-08-14 20:29 +0000 [r892] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd: Glyph bn_llikaar, U+09E3 + BENGALI VOWEL SIGN VOCALIC LL, has right bound positioned far + into the negative. Causes a warning in fontforge when opening OTF + version. Comparing with other fonts supporting Bengali, found no + others that do this. FreeSerif makes glyph width 0 (which sounds + right according to Unicode) and puts glyph wholly to left of 0. + However, I haven't found this letter in text anywhere. I wonder + if it is really used in writing. + +2008-08-14 07:41 +0000 [r891] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: Further TrueType validation + fixes. Sans still has two glyps in wrong direction. + +2008-08-13 23:09 +0000 [r890] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Fixed more TrueType + problems...all with missing extrema in TTF validation + +2008-08-13 21:35 +0000 [r889] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: fixed all the TrueType + validation problems of type "intersects itself" and all but two + of the "wrong directions", as well as a lot of "missing extrema". + But there remain hundreds of missing extrema in the TrueType + version. Also, bn_llikaar in Sans and Oblique still has a problem + in OTF version. + +2008-08-12 22:21 +0000 [r888] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made .ttf files to + validate. Other faces have many more problems still. + +2008-08-12 20:41 +0000 [r887] Stevan_White: + + * tools/GenerateTrueType: For TrueType, one puts in + Instructions, not Hints. This vastly improves look of TrueType + fonts in Windows. + +2008-08-11 23:07 +0000 [r886] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd: Continuing to make OTF + versions validate. * FreeMonoOblique.sfd: lots of missing points + at extrema * FreeSerif.sfd 12 wrong directions, 1 missing extrema + * FreeSerifItalic.sfd many missing points at extrema, 1 + self-intersecting What was wrong: in several oblique cases, an + already-italic glyph was made more italic, thereby fouling up + extrema (although why it passed validation in the SFD I don't + know). Some glyphs were overly-complicated with many near points. + Cleaned up, rounded to int. Remaining problem: OTF + FreeSansOblique FreeSans. one Bengali glyph in each whose advance + width and htmx don't match. Moral of story: validate the OTF and + TTF versions too before a release. + +2008-08-11 22:59 +0000 [r885] Stevan_White: + + * FreeSansOblique.sfd: Reverse a mistake from + last commit: somehow this file was converted to quadratic, or + something. + +2008-08-10 22:25 +0000 [r884] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Found that SFD files + that validated produced OpenType files that don't. These + represent the easy fixes. Some were result of conversion to + quadratic; some shouldn't have validated in the SFD... * + MonoBoldOblique: uni0250 missing pts at extrema [reference glyph + rotated...] * Sans: uni0AC4 wrong direction [simplified, rounded + to int] * SansOblique: uni01EA wrong direction [rounded to int] * + SerifBold: uni023f wrong direction [round to int] * + SerifBoldItalic: uni0245 missing pts at extrema [ungrouped ref, + added extrema] + +2008-08-06 18:08 +0000 [r883] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd: Re-set font metrics, + which were somehow making uneven vertical spacing. + +2008-08-06 07:05 +0000 [r882] Stevan_White: + + * ChangeLog: Added changes since last release + +2008-06-22 09:14 +0000 [r881] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: Made to validate + +2008-06-22 09:08 +0000 [r879-880] Stevan_White: + + * tools/ranges.py: Brought more into line with + OpenType added some ranges fixed bug with ranges outside of font + + * CREDITS: 3 new ranges + +2008-06-22 07:53 +0000 [r878] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Cyrillic: tweeked accents for + consistency, and for readability in small sizes. + +2008-06-21 23:31 +0000 [r877] Stevan_White: + + * FreeSerif.sfd: Thanna range: tweeking + +2008-06-21 23:15 +0000 [r876] Stevan_White: + + * FreeSerif.sfd: Thaana range: Scaled up by + about 15%, raised by 100EM, tightened some of the diacritics to + get inside 900 to -300 EM limits. + +2008-06-21 22:21 +0000 [r875] Stevan_White: + + * FreeSans.sfd: Added Old Persian and Ugaritic + from MPH2BDamase font. + +2008-06-21 21:50 +0000 [r874] Stevan_White: + + * FreeSerif.sfd: Added Tai Le range adapted from + MPH2BDamase font. + +2008-06-21 18:39 +0000 [r873] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Added some ancient Greek + numerals from Tempora to high Unicode area, (partly just to show + it can now be done.) + +2008-06-21 15:51 +0000 [r871-872] Stevan_White: + + * FreeSerifItalic.sfd: Couple of tweeks putting + glyphs above -300EM. + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Surgery to Thai letter 'tho + than', u+0e10, to push it above -300 EM. This makes Thai range + completely between 900 and -300 EM. + +2008-06-21 11:20 +0000 [r870] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSerif.sfd: Many auxilary characters (esp. + for Malayalam, Bengla, and Tamil) representing ligatures and + alternative forms without their own Unicode, were moved from + ranges above 0xFFFF (which ought to have been slots for other + defined Unicode ranges) into the Private Use area. In Serif, I + segregated the scripts, in Sans it was hard to see where one + began and another ended, so I moved them en masse. Note several + problems with wrongly-named characters: I already re-named + glyph570 and glyph582. But there are others with names starting + with A... + +2008-06-21 11:08 +0000 [r869] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd: Fixed (I hope the last) + problem with scripts in lookups Find Problems -> ATT (all + selected) finds multiple issues, SansBold In addition to script + 'guru', added 'gur2' to the scripts for these lookups 'nukt' + Nukta forms in Gurmukhi 'blwf' Below Base Forms in Gurmukhi + 'pstf' Post Base Forms in Gurmukhi 'blws' Below Base + Substitutions in Gurmukhi 'abvs' Above Base Substitutions in + Gurmukhi 'psts' Post Base Substitutions in Gurmukhi SansOblique + In addition to script 'beng', added 'bng2' to the scripts for the + lookup 'half' Half Forms in Bengali Moreover, the lookup 'aalt' + Access All Alternates in Latin contains only Bengali letters. + Re-named as Bengali, made to work on beng, bng2 scripts + +2008-06-20 21:52 +0000 [r868] Stevan_White: + + * FreeSerif.sfd: Scaled Sinhala range. Remedies + bug #23656: Sinhala letters over-sized + +2008-06-20 18:03 +0000 [r867] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Mostly messing with + Greek Extended accents again. re-positioned ypogegrammani on + advice of Alexey Kryukov Put prosgegrammani beneath main letters + in Mono, to make narrower glyphs Implemented more distinction + between tonos and acute. + +2008-06-19 08:25 +0000 [r866] Stevan_White: + + * FreeMonoBoldOblique.sfd: Completed fit of Mono + to 800 to -200 EM. + +2008-06-19 07:47 +0000 [r865] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd: Set Metrics to + recommended values + +2008-06-19 07:40 +0000 [r864] Stevan_White: + + * FreeMonoOblique.sfd: Now Mono Oblique, as well + as roman and Bold, are within 800 to -200 EM. Just BoldOblique to + go. + +2008-06-19 07:25 +0000 [r863] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd: More toward fitting to 800 + to -200 EM. Basically, reduced Georgian by 92%. Also made an + over-all offset, so Georgian is somehow centered (Bold...I guess + I already did this in roman). Want to also do an emboldening to + make stroke like rest of font, but current FontForge has a nasty + crash that loses data on this function. + +2008-06-19 06:19 +0000 [r862] Stevan_White: + + * FreeMono.sfd: In effort to make fit in 800 to + -200 EM, Scaled Georgian by 92%, centered on 600 wide box. Next: + Embolden a bit. + +2008-06-18 19:46 +0000 [r861] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Toward making all + glyphs lie between -200 and 800 EM. Numerous small changes, + especially raising descenders of some Hebrew letters. Georgian + remains a problem + +2008-06-13 07:39 +0000 [r860] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Moved prosgegrammeni up to + baseline, (and then moved all references down to baseline) + +2008-06-13 06:17 +0000 [r859] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added Control Picture + "blank" to all faces. Switched U+0222-3 from TemporaLGCUni + +2008-06-11 17:57 +0000 [r858] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: More fiddling with Greek + Extended accents + +2008-06-11 07:43 +0000 [r857] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Tweeks to accents etc in + Greek Extended and Cyrillic + +2008-06-10 08:00 +0000 [r856] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBold.sfd: Fixed a few big horizontal + spacing problems + +2008-06-09 23:12 +0000 [r855] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Implemented TemporaLCGUni + glyphs in Cyrillic ranges. Added a breve_cyrillic for the + moustache breve mark. + +2008-06-08 08:45 +0000 [r854] Stevan_White: + + * FreeSerif.sfd: Replaced most of Cyrillic range + with TemporaLGCUni. Remodelled many of the derived Cyrillic + characters after these. Fiddled globally with spacing of small + letters. Unclear on diacritics 485-6, unhappy with breve. + +2008-06-07 23:12 +0000 [r853] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Started implementing + TemporaLCGUni in Greek ranges. Replaced 3DC-3E1 from Tempora, + because I thought they looked nicer and more like the other + existing FreeFont glyphs. Replaced 3DA-B from Tempora, because + they look more like Unicode samples, and nicer. Added 03f3-4, + 03F7-F. Prefer my own lunate epsilon. Replaced Phi and Omega from + Tempora. These plainly fit the other FreeFont glyphs better than + the origninals. (How did this happen?) In bold, replaced U+03D7 + Copied lbbar u+2114 Small italic greek: replaced most except phi, + psi, omega Based on new information, broke the identification of + oxia with Latin acute. + +2008-06-07 13:15 +0000 [r852] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Efforts to control + heights of characters + +2008-06-05 22:04 +0000 [r851] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made to validate + +2008-06-04 23:14 +0000 [r850] Stevan_White: + + * FreeSans.sfd: Fixed undefined character in + kerning classes + +2008-06-03 22:26 +0000 [r849] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: tweeks and additions + to General Punctuation + +2008-06-03 07:12 +0000 [r848] Stevan_White: + + * FreeSansOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Completed/tweeked + Number Forms + +2008-06-02 22:28 +0000 [r847] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Added some Miscellaneous + Technical symbols + +2008-06-02 21:25 +0000 [r846] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Tweeks...mostly Letterlike + +2008-06-01 21:52 +0000 [r845] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Added Box Drawing characters to + Serif. Tweeked a glyph in Mono + +2008-06-01 12:30 +0000 [r844] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added several glyphs + to Letterlike Characters + +2008-05-31 07:30 +0000 [r843] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Validation pass + SansOblique and SansBoldOblique had validation problem with + BlueValues Private Dictionary Elements in BlueValues/OtherBlues + array are disordered Elements in BlueValues/OtherBlues array are + too close (Change BlueFuzz) StemSnapV does not contain StdVW + value. So I ordered the array, and based on other slanted fonts, + removed StemSnapV. Note however, I still think the two top Blues + lines are too close But I don't even know what the second-to-top + line is meant to do. + +2008-05-31 07:23 +0000 [r842] Stevan_White: + + * FreeSerif.sfd: Added to Block Elements, + Geometric Shapes Made to validate + +2008-05-29 08:49 +0000 [r841] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Looking at special symbols. + Drew several Miscellaneous Symbols in Mono and Serif + (Completed/corrected planetary symbols, added Dice, some other + easy ones) Completed Dingbats in Serif (using URW Dingbats) Added + some Block Elements to Serif + +2008-05-25 23:47 +0000 [r840] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More changes stemming from + J. Poon's report. + +2008-05-25 12:56 +0000 [r839] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd: Height surgery on + SerifBoldItalic. More fiddling with accents in others. + +2008-05-25 11:01 +0000 [r838] Stevan_White: + + * FreeSerifItalic.sfd: More height surgery. Only + a few left in Benglai and Thai + +2008-05-25 10:54 +0000 [r837] Stevan_White: + + * FreeSerifBold.sfd: Re-applied surgery to make + glyphs between 900 and -300EM + +2008-05-25 09:58 +0000 [r836] Stevan_White: + + * FreeSerifBold.sfd: *** Regression + Inadvertently un-linked all references in SerifBold in r1.83. + This reverses that error (but also un-does the surgery mentioned + there) + +2008-05-24 22:23 +0000 [r835] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBold.sfd: Applied surgery to make + Latin letters go under 900EM. One exception yet... + +2008-05-24 20:59 +0000 [r834] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Serif: much fiddling with + accents in Latin ranges. Re-thought some glyphs (there are still + a few messy ones, especially in bold) Checked horizontal + spacing...fixed a number of problems. + +2008-05-23 07:37 +0000 [r833] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSerifBold.sfd: Made Latin Extended-B + coverage consistent across Serif; cleaned up some glyphs + +2008-05-22 23:07 +0000 [r832] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: Filled more of General + Punctuation in Sans and Serif Made all agree on coverage of Latin + Extended Additional + +2008-05-22 21:34 +0000 [r831] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSerifBold.sfd: Added Latin Extended + Additional to SansOblique. Made Latin Extended Additional + coverage consistent across Sans, B, I Made Latin Extended-B + coverage same in SerifBold. + +2008-05-22 19:05 +0000 [r830] Stevan_White: + + * FreeSansBold.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Mono* made Latin-B + coverage consistent across faces + +2008-05-22 07:50 +0000 [r829] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Made set of Latin + Extended-B consistent across Sans faces + +2008-05-21 23:14 +0000 [r828] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: More filling in General + Punctuation + +2008-05-21 22:26 +0000 [r827] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: another bunch of J. Poon's + reports also, filling in some Combining Diacriticals, Spacing + Modifiers, and General Punctuation in bold faces + +2008-05-20 23:16 +0000 [r826] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeSerifBold.sfd: Mucking about with mark + tables in Thai (Serif) Other faces: Making changes from J. Poon's + report + +2008-05-20 06:41 +0000 [r825] Stevan_White: + + * CREDITS: Mark Williamson Jacob Poon + +2008-05-20 06:37 +0000 [r823-824] Stevan_White: + + * Makefile: added tests target + + * tools/findBackLayers.py (added), + tools/validate.py (added), + tools/isMonoMono.py (added), + tools/nameBySlot.py (added): isMonoMono.py checks + that monospace is really that findBackLayers.py finds glyphs in + back layers nameBySlot.py Sets name/unicode values of a range to + encoding value verify.py runs FontForge "verify" on all faces + +2008-05-18 19:17 +0000 [r822] Stevan_White: + + * tools/ranges.py: put table explanation back in + +2008-05-18 19:11 +0000 [r821] Stevan_White: + + * tools/ranges.py: Improved behaviour for high + Unicode + +2008-05-18 13:32 +0000 [r820] Stevan_White: + + * FreeSans.sfd: Revision of kerning + +2008-05-18 12:16 +0000 [r819] Stevan_White: + + * FreeSerif.sfd: Made Latin kerning a little + more reasonable: reduced many excessive kerns (some had letters + apparently overlapping, which shouldn't happen) made kerns + increment by 5EM for ease of reading got rid of kerns too small + to be seen + +2008-05-18 12:11 +0000 [r818] Stevan_White: + + * FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: made to verify + +2008-05-12 22:52 +0000 [r817] Stevan_White: + + * FreeSerif.sfd: made to validate + +2008-05-12 22:46 +0000 [r816] Stevan_White: + + * FreeSerif.sfd: Gurmukhi: filled range in + Serif, taking glyphs from the original Punjabi font by Hardip + Singh Pannu http://members.aol.com/hspannu/punjabi.html (file + pb_win95.exe) + +2008-05-12 19:43 +0000 [r815] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerifBold.sfd: Hebrew, basic. Some faces + missing punctuation marks, added. + +2008-05-12 19:03 +0000 [r814] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd: + Armenian: Sans tried to make verticals and horizontals of more + uniform width both, finddled with punctuation + +2008-05-12 12:56 +0000 [r813] Stevan_White: + + * FreeMonoOblique.sfd: made to validate + +2008-05-12 12:23 +0000 [r812] Stevan_White: + + * FreeMonoBold.sfd: made to validate + +2008-05-12 12:04 +0000 [r811] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Armenian in Sans: + regularized letter spacing + +2008-05-12 10:19 +0000 [r810] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeMonoOblique.sfd: Armenian: fill out ranges + and clean up SansBold especially had a lot of incorrect + references. Now all the ranges with Armenian at least share the + same set of characters. + +2008-05-12 07:58 +0000 [r809] Stevan_White: + + * FreeMono.sfd: Fixed glyph with wrong width. + +2008-05-11 21:29 +0000 [r808] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: 1) made to validate + 2) Mono: copied in Spacing Modifier Letters (glyphs not yet + named) 3) SerifItalic: Filled in General Punctuation + +2008-05-11 17:56 +0000 [r807] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made to validate, and + pass all other FontForge tests. Expedient: rounded everything to + int + +2008-05-11 14:00 +0000 [r806] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Made to have the same Greek + Symbols, Made to validate + +2008-05-11 12:59 +0000 [r805] Stevan_White: + + * FreeSansOblique.sfd: Made Greek Symbols as + full as rest of Sans + +2008-05-11 12:40 +0000 [r804] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Made Greek Symbols as full + as rest of Sans. Changed a name in Sans. + +2008-05-11 12:25 +0000 [r803] Stevan_White: + + * FreeSansBold.sfd: Deleted orphaned Arabic + glyph from Arabic Presentation forms-B + +2008-05-11 12:17 +0000 [r802] Stevan_White: + + * FreeMonoOblique.sfd: Made Greek as full as + other faces Made to validate + +2008-05-11 11:08 +0000 [r801] Stevan_White: + + * FreeSansBold.sfd: Deleted seven orphaned + Arabic characters; looks like somebody started, didn't get very + far, putting Arabic in bold. + +2008-05-11 11:05 +0000 [r800] Stevan_White: + + * FreeSerifBold.sfd: Deleted the single Arabic + character: it was clearly there by mistake. + +2008-05-11 11:01 +0000 [r799] Stevan_White: + + * FreeSansOblique.sfd: Tweeks to Armenian + +2008-05-11 10:56 +0000 [r796-798] Stevan_White: + + * FreeSansOblique.sfd: Comment from previous + commit of FreeSans was meant for FreeSansOblique. In FreeSans, + only tweeked a few letters during putting more characters in this + face. Filled in Spacing Modifier Letters, increased General + Punctuation. + + * FreeSans.sfd: Filled in Spacing Modifier + Letters, increased General Punctuation + + * FreeMono.sfd: Made Armenian as full as other + roman faces. + +2008-05-11 08:22 +0000 [r795] Stevan_White: + + * FreeMono.sfd: Completed Spacing Modifier + Letters Added a couple of Greek Punctuation + +2008-05-10 22:39 +0000 [r794] Stevan_White: + + * FreeMono.sfd: added more Spacing Modifier + Letters + +2008-05-10 21:57 +0000 [r792-793] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Did same process of scaling and + sizing for Thai in Sans as in Serif. Added mark tables to Sans. + Improvement, but there are questions... + + * FreeSans.sfd: Tidied some Gurmukhi glyphs, + validated. + +2008-05-10 17:50 +0000 [r791] Stevan_White: + + * FreeMonoBoldOblique.sfd: Made metrics like + rest of Mono + +2008-05-10 13:44 +0000 [r790] Stevan_White: + + * FreeSans.sfd: Deleted ranges for Oriya, + Kannada, on account of 1) they only contained a subset of the + consonant glyphs of the scripts, few if any vowels, and had no + ligature lookups as required 2) Kannada was based on the Akurti + fonts, which have copyright issues. See bug #23225: Oriya range + only partial bug #23224: Kannada range only partial + +2008-05-09 07:49 +0000 [r789] Stevan_White: + + * tools/ranges.py: more info on range intervals + +2008-05-09 05:36 +0000 [r788] Stevan_White: + + * FreeSerif.sfd: Deleted Telugu range. It didn't + represent a complete writing system for the language. See notes + at https://savannah.gnu.org/bugs/index.php?23202 Serif: Telugu + range missing many characters; many wrong + +2008-05-09 05:22 +0000 [r787] Stevan_White: + + * FreeSerif.sfd: Got a copy of the original + Tikkana font, Copied in remaining consonants and vowels that I + could find there. I think one vowel 0C55 is missing according to + unicode). Strangely, the Telugu digits are alo missing. In + Tikkana, the default "checkmark" structural mark is missing from + many consonants, according to Unicode, but is a separate glyph. I + put the checkmark on. This, and scaled up by 150% and cleaned up + intersecting glyphs and many unnecessary points. + +2008-05-07 22:38 +0000 [r786] Stevan_White: + + * FreeSerif.sfd: Filled out Telugu consonants. + Vowels still need to be done + +2008-05-07 19:35 +0000 [r785] Stevan_White: + + * FreeSerif.sfd: Operated on Latin glyphs with + stacked accents to make them fit under 900EM. Scaled Telugu bu + 150%. + +2008-05-05 22:17 +0000 [r784] Stevan_White: + + * FreeSansBold.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd: Corrected further fontforge + "find problems" added some math characters to FreeSerif + +2008-05-04 23:52 +0000 [r783] Stevan_White: + + * FreeSansBold.sfd: Made to validate, and fixed + bad TT transformations + +2008-05-04 19:52 +0000 [r782] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Mainly TeX additions trying to + satisfy Markus Kuhn's TeX-as-Unicode page + +2008-05-04 14:25 +0000 [r781] Stevan_White: + + * FreeMono.sfd: Adjusted heights of extensible + brackets + +2008-05-04 13:42 +0000 [r780] Stevan_White: + + * FreeMono.sfd: Fixed problems with extensible + brackets, thanks to Markus Kuhn's page + http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt + +2008-05-04 11:43 +0000 [r779] Stevan_White: + + * tools/ranges.py: fiddled with ranges, doc + +2008-05-04 11:25 +0000 [r778] Stevan_White: + + * tools/ranges.py: made some ranges more correct? + +2008-05-04 11:02 +0000 [r777] Stevan_White: + + * tools/ranges.py: fixed some bugs in ranges better + error reporting + +2008-05-04 10:34 +0000 [r775-776] Stevan_White: + + * tools/ranges.py: Got rid of Unicode 1.1 references + + * tools/ranges.py: made to use OpenType table + +2008-05-04 03:11 +0000 [r774] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: made to validate + +2008-05-03 20:44 +0000 [r773] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Removed digits from Private + Use Area. See bug 23050. + +2008-05-03 19:54 +0000 [r772] Stevan_White: + + * tools/ranges.py: restructure text output + +2008-05-03 17:05 +0000 [r771] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd: + Completed General Punctuation + +2008-05-03 15:00 +0000 [r770] Stevan_White: + + * tools/ranges.py: More docs, date + +2008-05-03 14:53 +0000 [r769] Stevan_White: + + * FreeSans.sfd: Completed IPA Extensions + +2008-05-03 13:46 +0000 [r768] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: More work on Superscripts and + Subscripts, Spacing Modifiers. Sans is now complete in both. + Added Pfennig to Sans and Mono. + +2008-05-03 11:55 +0000 [r767] Stevan_White: + + * tools/ranges.py: rearrangement and cosmetic + +2008-05-03 11:46 +0000 [r765-766] Stevan_White: + + * tools/ranges.py: ...except I had broken it. now + fixed + + * tools/ranges.py: Seems to be in a useful form at + this point. + +2008-05-03 10:29 +0000 [r764] Stevan_White: + + * FreeSerif.sfd: Added a hand-drawn old German + Pfennig to Currency Symbols + +2008-05-02 23:46 +0000 [r763] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: Further additions to General + Punctuation, Super and Sub Scripts, Spacing Modifiers, etc. + +2008-05-02 20:29 +0000 [r762] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd: Sans: additions to Spacing + Modifiers, IPA SerifItalic: shortening stacked accents to + maintain readability when clipped + +2008-05-01 19:32 +0000 [r761] Stevan_White: + + * FreeSans.sfd: Additions to Spacing Modifiers + and changes to Combining Diacritics + +2008-05-01 18:26 +0000 [r760] Stevan_White: + + * FreeSerif.sfd: Made sure all the half rings in + Combining Diacriticals and Spacing Modifiers were really half + rings (J. Poon had complained about this) + +2008-05-01 18:11 +0000 [r759] Stevan_White: + + * FreeSerif.sfd: Filled out General Punctuation + Some work on Spacing Modifiers + +2008-05-01 14:10 +0000 [r758] Stevan_White: + + * FreeSerif.sfd: Filled out Mathematical + Operators still needs lots of work Made to validate + +2008-05-01 09:14 +0000 [r757] Stevan_White: + + * FreeSerif.sfd: Filled out Latin Extended B + +2008-04-30 23:00 +0000 [r756] Stevan_White: + + * FreeSerif.sfd: added some letters with curls + to Latin Extended B + +2008-04-30 22:38 +0000 [r755] Stevan_White: + + * FreeSerif.sfd: more fiddling with Latin + Extended B accents + +2008-04-30 20:28 +0000 [r754] Stevan_White: + + * FreeSerif.sfd: Added Hanunóo script, with + characters based on those in font MPH2BDamase, on request from + the maintainer of that font, + http://packages.debian.org/sid/ttf-mph-2b-damase Glyphs are + simple vector strokes. Could be a little more uniform. + +2008-04-29 23:54 +0000 [r753] Stevan_White: + + * FreeSerif.sfd: Added Buginese script + "Lontara", with characters based on those in font MPH2BDamase, on + request from the maintainer of that font, + http://packages.debian.org/sid/ttf-mph-2b-damase Note the glyphs + are pretty rough, clearly a digitization of handwriting. I just + cleaned them up, and corrected discrepancies with Unicode, and + compared with some pictorial samples of the script I could find. + +2008-04-28 22:15 +0000 [r752] Stevan_White: + + * tools/ranges.py: improved look a lot still unhappy + with some ranges OS/2 seems sometimes bang-on, sometimes + unrelated to anything ( including fontforge's OS/2 listing) + +2008-04-28 22:00 +0000 [r751] Stevan_White: + + * FreeSerif.sfd: Much fiddling with Tamil range. + First scaled to 78% (avoiding the references) This gets it in the + ballpark height-wise. [A bit taller than the Latin letters, but + the stroke is narrower, but then the glyphs are busier.] Then had + to re-align combined references, the trickiest being the halants. + Checked with other fonts with Tamil text. + +2008-04-28 20:05 +0000 [r750] Stevan_White: + + * FreeSerif.sfd: Cleanum of missing extrema in + Arabic and Thaana + +2008-04-28 19:55 +0000 [r749] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: cleanup of control points in + Arabic and Thaana + +2008-04-28 17:04 +0000 [r748] Stevan_White: + + * tools/ranges.py (added): a script to print out how + many characters in a range are implemented in each font + +2008-04-28 08:06 +0000 [r747] Stevan_White: + + * FreeSerif.sfd: * Many changes to Thai, trying + to make the script fit between some lines, so accents won't get + clipped, etc. Also, stroke weight was heavier than that of Latin. + Scaled whole thing by 93%. Shrank the tallest letters 0E42-4 to + get them under 900EM. Shaved off top of maiek. Fiddled with + positioning of all accents. Made positioning tables for accents. + [note, unclear these are working correctly] * Fixed a bug having + to do with character replacements for characters named 'ng' and + 'nj'; these names had been taken on by other characters. * Made + to validate * unicode positions of two Cyrillic Extended + characters were switched. * fiddled with a couple of Cyrillic + combining diacritics + +2008-04-26 22:14 +0000 [r746] Stevan_White: + + * FreeSans.sfd: bugfix: a left harpoon + mysteriously appeared to the left of letter p! + +2008-04-26 19:46 +0000 [r745] Stevan_White: + + * FreeMono.sfd: Made to validate + +2008-04-26 18:40 +0000 [r744] Stevan_White: + + * FreeSans.sfd: made to validate + +2008-04-26 15:04 +0000 [r743] Stevan_White: + + * FreeSans.sfd: Toward J. Poons report Made 032B + more like proper double-arches (and distinct fro 033C seagull) + +2008-04-26 14:22 +0000 [r742] Stevan_White: + + * FreeSans.sfd: Toward J. Poon's report Made + 032b more like a seagull + +2008-04-26 14:05 +0000 [r741] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd: Sans: fiddling with widths + and terminators of math symbols, toward J. Poon's report R & B: + removed u+2741 because it didn't match the Unicode description + +2008-04-26 12:08 +0000 [r740] Stevan_White: + + * FreeMono.sfd: extensible parenthesis symbols + weight/terminators Toward bug # 23064 + https://savannah.gnu.org/bugs/index.php?23064 Rounded a bunch of + terminators + +2008-04-22 21:45 +0000 [r739] Stevan_White: + + * FreeSans.sfd: Fiddled with math--consequences + of changing the "similar" operator + +2008-04-22 20:06 +0000 [r738] Stevan_White: + + * FreeSerif.sfd: Small alignment problem in + Greek Extended + +2008-04-22 19:52 +0000 [r737] Stevan_White: + + * FreeSerif.sfd: One more tweek to spacing in + Cyrillic Extended + +2008-04-22 19:48 +0000 [r736] Stevan_White: + + * FreeSerif.sfd: Corrected spacing in Cyrillic + Supplement + +2008-04-22 19:35 +0000 [r735] Stevan_White: + + * FreeSerif.sfd: Added Cyrillic Supplement + letters for Enets, Khanty, Chukchi, Itelmen, Mordvin, Kurdish, + Aleut + +2008-04-22 18:46 +0000 [r734] Stevan_White: + + * FreeSans.sfd: More tightening of accents + +2008-04-22 18:41 +0000 [r733] Stevan_White: + + * FreeSerif.sfd: Added Cyrillic letters for + Nivkh (completing Cyrillic range) More tightening of accents in + Latin Extended. + +2008-04-22 08:49 +0000 [r732] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Adjustments to h and k with + caron and cedilla in Latin A and B + +2008-04-21 22:23 +0000 [r731] Stevan_White: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: FreeSerifBold: deleted 3 + dotted Hebrew letters in Private/Corporate use (E801-3). They + weren't ligatures or in any other lookup, and they weren't + present in FreeSerif. FreeSansBold: unlinked and deleted F6C3, + which called itself commaaccent. Made some new spacing and + non-spacing accents to make up for it. FreeSansBoldOblique: Made + references of many Latin Extended. Also corrected several wrong + ones. Freeserif: re-named commaaccent + +2008-04-21 18:30 +0000 [r730] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Deleted Hiragana and + Katakana ranges, as discussed on bugs list. Cleaned up some + encoding issues, unnamed glyphs + +2008-04-21 07:28 +0000 [r728-729] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Roman: added 'sine' -- not + beautiful, but I liked drawing it All: Made special lookup for + Dutch ligatures 'IJ' and 'ij' + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Roman: ffi etc Latin + ligatures from 'liga' to 'dlig' (these weren't really ligatures + anyway, and only looked very bad when used. Retain for condensed + type. Others: deleted Latin 'liga' table altogether BoldOblique : + added j to ij ligature + +2008-04-20 22:31 +0000 [r727] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Toward J. Poon's + Report: Except for issues of terminators not always vertical or + horizontal, and a few things that were too hard or I was unsure + of. + +2008-04-20 15:31 +0000 [r726] Stevan_White: + + * FreeSerif.sfd: More fiddling with accents + +2008-04-20 15:11 +0000 [r725] Stevan_White: + + * FreeSerif.sfd: futzing with accents in Latin + Extended Additional + +2008-04-20 14:28 +0000 [r724] Stevan_White: + + * FreeSerif.sfd: Fiddled with accents in Latin + Extended-B + +2008-04-20 12:56 +0000 [r723] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: added primemod + character, referenced by Greek number sign + +2008-04-20 09:51 +0000 [r722] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Following J. Poon's + report, disconnected NJ (01CA) + +2008-04-19 21:20 +0000 [r721] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: First pass throught + J. Poon's bug list. See bug reports for details. + +2008-04-19 15:44 +0000 [r720] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made underscore + slanted in Oblique faces, made all to be width of character. + Towards J. Poon's report. Disturbed that xterm and some other + apps put small space between characters when none was called for. + +2008-04-19 15:20 +0000 [r719] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd: corrections on Currency + Symbols + +2008-04-19 11:59 +0000 [r718] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More corrections, additions + to Currency Symbols + +2008-04-19 01:41 +0000 [r717] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Filled out and corrected + Currency Symbols + +2008-04-18 21:46 +0000 [r716] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Adjustments to Combining Marks + for Symbols Additions to range in Sans, and re-structured its + marks table so that "middle" can apply to any range + +2008-04-18 08:31 +0000 [r715] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Made reference between + combining koronis and lenis of Greek Extended In Serif, re-worked + combining marks lookup tables, added anchors in Latin, moved so + without marks they work in kedit (but now I'm doubting kedit does + a reasonable thing...what is a better application for testing + this?) + +2008-04-16 21:46 +0000 [r714] Stevan_White: + + * FreeSerifItalic.sfd: adjusting of spacing and + accents in Greek + +2008-04-16 20:30 +0000 [r713] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoOblique.sfd: Much futzing with Greek + letter spacing and accents. Added lenis to FreeMono. + +2008-04-16 06:45 +0000 [r712] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: Adjusted spacing of dots of + Greek dieresistonons in Serif Whippted up something for Greek + kappascript in Mono (could use revision) + +2008-04-16 06:18 +0000 [r711] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Raised dots on + double-dotted Cyrillic i, to match that of i and j. + +2008-04-14 09:02 +0000 [r710] Stevan_White: + + * FreeMono.sfd: Corrected 27e6-7 "white bracket" + Note it is probably a FontForge bug these symbols aren't showing + up. FontForge thinks they are in Supplemental Arrows, but they + should be in Supplemental Math-A + +2008-04-13 22:18 +0000 [r709] Stevan_White: + + * FreeMono.sfd: named some Greek characters + +2008-04-13 22:00 +0000 [r708] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Spacing of some Cyrillic + characters + +2008-04-13 21:10 +0000 [r707] Stevan_White: + + * FreeSerif.sfd: some fiddling with accents, + yogh was too wide + +2008-04-13 14:28 +0000 [r706] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd: Character spacing was + chaos--tried to improve. BoldOblique also needs it. + +2008-04-13 12:17 +0000 [r705] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Completed the fix of + bug #12798, Greek glyphs with accents to side Much mucking with + accents here, and fixed a few things that were just wrong. + +2008-04-12 19:56 +0000 [r704] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made Mono curly + quotes "bent" + +2008-04-12 19:39 +0000 [r703] Stevan_White: + + * FreeMono.sfd: More fiddling with Greek accents + Made quotes "bent" + +2008-04-12 18:57 +0000 [r702] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Adjustments on Greek + diaresistonos etc. Adjustments in Serif on combining marks for + symbols + +2008-04-12 11:58 +0000 [r701] Stevan_White: + + * FreeSerif.sfd: More additions to Combining + marks for Symbols + +2008-04-12 11:44 +0000 [r700] Stevan_White: + + * FreeSerif.sfd: Additions to Combining marks + for Symbols -- now mostly full. Lots of adjustments to middle + anchor point in Latin to make big circle (nearly) encircle + preceding latter + +2008-04-11 07:14 +0000 [r699] Stevan_White: + + * FreeMono.sfd: Bugfix: Had indroduce a glyph of + width other than 600, making kterminal not recognize it as a + monospace font. + +2008-04-10 19:44 +0000 [r698] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: More messing with accents. + Further to bug #12798, Greek glyphs with accents to side Much + messing with glyphs in Greek Extended range + +2008-04-09 11:35 +0000 [r697] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Revisited Latin-1 and + Latin-A accents. Glyph B7 was called "periodcentered", but + Unicode callse it Mid Dot, and the description doesn't refer to + the period. I made it like the dot accent. throughout, and + referred L-dot to it. Also double-checked "commaaccent" + characters (some in Unicode called cedilla, but the Unicode + example shows a comma...mystery) also the funny IPA upside-down f + often had two bars, incorrectly. To do: go through rest of Serif, + and Sans + +2008-04-08 23:25 +0000 [r696] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Completed + re-structuring of stacked Latin accents in Mono. Also: lots of + associated adjustments of Greek Extended accents. (Trying to at + least center extremely wide characters on their box) Repaired + some victems of "find overlaps" sweeps Worked on glyphs with + apostrope/comma parts Corrected a few wrong glyphs. Trying out a + "bent quotes" solution to making primes distinct from quotes. + +2008-04-08 09:56 +0000 [r695] Stevan_White: + + * FreeMonoOblique.sfd: Toward reducing overall + height Did similar process as for Mono, fixing a few errors along + the way. Also the Greek Extended range was very messed up + vertical and horizontally. Horizonal spacing of the heavily + accented Greek is a real problem in Mono... To do: revisit + "commaaccent" characters in all faces: do some have cedillas? + some Hebrew glyphs are a little low Georgian generally is way out + of bounds + +2008-04-07 07:18 +0000 [r694] Stevan_White: + + * INSTALL: various updates and corrections, tweeked + formatting + +2008-04-06 22:48 +0000 [r693] Stevan_White: + + * FreeMonoBold.sfd: Tweeking of accents + +2008-04-06 21:21 +0000 [r692] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd: Re-worked accents in + FreeMonoBold.sfd to make Latin ranges lie between 800 and -200 + EM, as with FreeMono. + +2008-04-06 16:20 +0000 [r691] Stevan_White: + + * tools/hex_range.py (added): a tool for printing + out ranges of formatted hex numbers + +2008-04-06 12:33 +0000 [r690] Stevan_White: + + * FreeMono.sfd: Latin Extended ranges: + Implemented new policy of shortening the letters of the + characters with the highest-stacked accents. At this point all + the Latin glyphs lie betweeen 800 and -200 EM. Also checked for + readability of all the Latin extended letters in xterm. (Issue: + it chops letters outside their bounding boxes; many accents had + been a bit outside. Made sure that if they were chopped, they + were at least still recognizable.) + +2008-04-05 19:41 +0000 [r689] Stevan_White: + + * FreeMono.sfd: Following exchange about Mono on + freefont-bugs with Joe Wells, who * doesn't like the curly quote + marks * wants combining diacritics to work * wants tight line + spacing Trying to reduce font height: * exclamdown was below -200 + * Throughout Extended Greek, ypogegrammeni were too low. + Shortened glyph, and raised all references. * Lots of messing + with Latin Extended ranges to make glyphs mostly fit into 800 + height. Mostly succeeded. A couple will get chopped. * Messed + with "commaaccent" glyphs, which were very low * Cyrillic 04B1 + had a tail that was incorrectly low * Much mucking with Georgian + range. Moved up by 95 (read Georgian is written as though + centered between two horizontal lines, rather than as sitting on + a baseline) There are still a few very high glyphs. FontForge + U+0122 called Gcommaaccent, glyph looks like that, but Unicode + says it's Gcedilla. Made the ones called cedilla by Unicode to be + cedillas Note bug in Unicode: standard for 0122, 0123, 0136, + 0137, 013B, 013C, 0145, 0146, 0156, 0157 all talk about cedilla, + say to make it with cedilla, but example shows comma. By the way: + * Got rid of commaaccent and dotlessj in Corporate Use * Replaced + shadedark, with little squares now not overlapping. * Corrected + IPA symbol 'ts' 02A6, added 02a8, 02a9, 02aa, 02ab, 02ac, 02ad, + 02ae, 02af (so many changes...the CVS server was down...) + +2008-04-05 18:18 +0000 [r688] Stevan_White: + + * FreeSerif.sfd: e-named arabic and hebrew + characters Big adjustment to comma-accents. Mostly effects Greek + Extended. Made such accents to be like comma, rather than like + Russian apostrophe (and de-referenced that symbol) + +2008-04-04 07:17 +0000 [r687] Stevan_White: + + * FreeMono.sfd, + FreeSerif.sfd: raised dot on superscript i + (2071) to make it more distinct at small sizes + +2008-04-03 23:33 +0000 [r686] Stevan_White: + + * FreeMono.sfd: added two IPA symbols + +2008-04-02 20:15 +0000 [r685] Stevan_White: + + * FreeSerif.sfd: fixed a few more control points + too close + +2008-04-02 18:59 +0000 [r684] Stevan_White: + + * FreeSerif.sfd: Fixed names of languages in + ligature table for latn "w/i". This fixes a crash when FontForge + opened the ttf table + +2008-04-02 18:47 +0000 [r683] Stevan_White: + + * FreeSerif.sfd: Motivated by bug crashing + FontForge when opening ttf file, started cleanup of useless + control points. Not finished. Got partway through Sinhala + +2008-03-31 21:51 +0000 [r682] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: Fixed various "Find + Problems", including glyphs with mixed-up names, and bad TT + matrices. (lots more bad TT matrices remain) + +2008-03-31 06:50 +0000 [r681] Stevan_White: + + * FreeSerif.sfd: re-named a bunch of Cyrillic + letters + +2008-03-30 22:32 +0000 [r680] Stevan_White: + + * FreeSerif.sfd: put above mark on Cyrillic i + and double-dot i for Slavonic number forms + +2008-03-30 21:06 +0000 [r679] Stevan_White: + + * FreeSans.sfd: tightened spacing on glyphs of + last commit + +2008-03-30 21:03 +0000 [r678] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Concerning bug #16120, Include + upper case Wynn and upper case Yogh Adapted Herman Miller's + Thyromanes letters 01F7 021C 021D for Serif Drew my own versions + for Sans. + +2008-03-30 16:00 +0000 [r677] Stevan_White: + + * FreeSerif.sfd: Added 04F6,7 + +2008-03-30 15:34 +0000 [r676] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Made more Cyrillic diacritics + really combine. Made a mark lookup just for Cyrillic diacritics, + Marked most of the unadorned Cyrillic alphabet. Still not clear + on correct shapes for some of the marks. + +2008-03-29 23:25 +0000 [r675] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Tweeks to accents + +2008-03-29 20:32 +0000 [r674] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd: small adjustments in Cyrillic + +2008-03-29 20:14 +0000 [r673] Stevan_White: + + * FreeSerif.sfd: corrected small palochka made + Cyrillic combining hundred-thousands and millions really combine + named some combining diacriticals + +2008-03-29 14:18 +0000 [r672] Stevan_White: + + * FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: mostly adjusted + horizontal spacing of mono oblique faces + +2008-03-29 13:18 +0000 [r671] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: More cleanup of + Cyrillic ranges Completely re-did horizontal spacing of + SerifItalic and SerifBoldItalic. See bug #17912, poor kerning in + Cyrillic oblique... https://savannah.gnu.org/bugs/index.php?17912 + It looked like chaos to me. Only so much can be done: the font is + flawed. But I think the changes make text readable in these + faces. There were many dozens of incorrect glyphs in + higher-numbered characters. It looked like someone started + copying letters that were like the correct ones, meaning to edit + them later, but never got around to it. (Or else, a facile + copying of glyphs that kinda looked right, but really kinda + weren't.) I deleted all those I could find. No glyph is better + than a wrong glyph. Futzt with accents, shooting for consistency + and readability. A maintenance thing: making correct references + (acyrillic vs a, although they may be the same glyph) I made a + lot of headway, but it isn't finished. Likewise, a large fraction + of these are compound characters, which can be made with + references, resulting in easier maintenance, reduced likelihood + of errors, and smaller files. I replaced many. + +2008-03-29 00:34 +0000 [r670] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd: Cyrillic italic Added italic, + bolditalic 0493, 04a7, 04AD because their form clearly varies in + italic. But was just guessing... + +2008-03-29 00:14 +0000 [r669] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: Cyrillic italic Added + italic, bolditalic 0493, 04AD because their form clearly varies + in italic. But was just guessing as to exact form. + +2008-03-28 23:16 +0000 [r668] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Overhaul of Cyrillic + Italic, BoldItalic added small yat for bug #22588 (note Times New + Roman doesn't use alternate form in Italic) All forms of Serif + have big problems in Cyrillic. The ugliest is in roman. The + letters, even of the Russian alphabet, are of inconsistent height + (awfully, small 0438 (ii) 0446 (tse)) and they vary from the + height of Latin and they vary from the height of italic and bold. + They are a mish-mash of letters from several fonts, of similar + (but not quite identical) weight, and similar, (but not quite + identical) size. I think the best solution would be to identify + the face that best matches Latin, and fill the range with that. I + think this is possible because the rarer letters seem to be + better: the common letters are the ones that are wrong. For now, + I just increased the sized of 0438 and 0446, and 048a, 048b, also + 0459 (lje) 045A (nje) 0464 (dje) Other issues ------------ Were + outline, with home-made accents - replaced with references 0400 + (was referencing E) 0401, 0402, 040c, 040d, 040e 0450, 0451, 0453 + more in the later ranges. Deleted dozens of characters in Bold, + Italic, and BoldItalic, that appeared half-made (a part of the + letter was copied, but the letter was never completed, and was + basically wrong) Lots of letters with hooks and lines in italic + were represented as just the unhooked version in italic. 048a, + 048b (short i with tail, had big-eared breve common in Cyrillic, + but unlike other letters) Re-implemented many compound letters + with references. Questionable ------------ In all versions, + 0478-9 Uk, uk. SerifItalic 0495 Small ge with acute, in italic: + is it like italic ge, or oblique? Well, peeked at Times New + Roman, which has it oblique. + +2008-03-27 20:33 +0000 [r667] Stevan_White: + + * FreeSerifBoldItalic.sfd: Moving all Greek + capitals with accent so they don't cover previous letter. + Remedies bug #12798 + +2008-03-27 20:27 +0000 [r666] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Various tweeks to accented + Latin letters. Connected O-ogonek correctly + +2008-03-27 19:55 +0000 [r665] Stevan_White: + + * FreeSerifItalic.sfd: Accents of numerous + accented Latin letters got shifted in a previous commit. This + fixes it. + +2008-03-27 19:28 +0000 [r664] Stevan_White: + + * FreeSerif.sfd: Adjusted combining tack left + and right (0318-0319) to be above -300 EM. + +2008-03-26 23:37 +0000 [r663] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Added some "middle" marks for + positioning of diacritics + +2008-03-26 23:21 +0000 [r662] Stevan_White: + + * FreeSans.sfd: copied 4 enclosing combining + diacriticals from Serif 20DD - 20E0 + +2008-03-26 23:13 +0000 [r661] Stevan_White: + + * FreeSerif.sfd: adjusted and added some + enclosing diacritics 20DD - 20E0 could use more work. Other faces + need 'em too. In response to Debian bug #472566 ttf-freefont: + U+20DD COMBINING ENCOLSING CIRCLE doesn't combine + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472566 + +2008-03-26 20:00 +0000 [r660] Stevan_White: + + * FreeSerif.sfd: Lowered a few over-high Latin + accents + +2008-03-25 23:27 +0000 [r659] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: FreeSansBold Devangari only + digits 1 and 2, and nothing else. Deleted FreeMonoBold + FreeMonoOblique FreeSerifBold FreeSeriftalic FreeSerifBoldItalic + FreeSansOblique FreeSansBold FreeSansBoldOblique got rid of + dotlessj, comma in Corporate Use Single Substitution lookup, ccmp + table made proper dotlessj, re-linked j-circumflex Note: + FreeSansBold has a commaaccent in Corporate Use, used by several + other characers. Haven't done anything about this. + +2008-03-25 07:30 +0000 [r658] Stevan_White: + + * FreeSerif.sfd: Added/corrected glyphs for yeh + hamza in Arabic, Added init and medi lookups for yeh hamza. + +2008-03-24 21:54 +0000 [r657] Stevan_White: + + * FreeSerif.sfd: Added isolated and final forms + for 0629 teh marbuta 0624 waw hamza 0626 yeh hamza 0649 alef + maksura A previous commit had added lookups that referred to + these, + +2008-03-24 18:51 +0000 [r656] Stevan_White: + + * FreeSerif.sfd: more fiddling with + super/subscripts + +2008-03-24 12:17 +0000 [r655] Stevan_White: + + * notes/README-downloads.txt (added): An explanatory + file for the downloads directory + +2008-03-24 11:59 +0000 [r654] Stevan_White: + + * sfd/Makefile, + tools/GenerateTrueType, Makefile, + tools/GenerateOpenType (added): Scripts and Make + targets to generate OpenType fonts and zip file + +2008-03-24 11:56 +0000 [r653] Stevan_White: + + * notes/maintenance.txt: Added gnupload and info + about tagging + +2008-03-23 18:11 +0000 [r652] Stevan_White: + + * Makefile: no longer needs VPATH on top level + +2008-03-23 18:04 +0000 [r650] Stevan_White: + + * ChangeLog: additions for last few days + +2008-03-23 14:21 +0000 [r649] Stevan_White: + + * FreeSerif.sfd: last problem with Find Problems + -> ATT 'mark' Latin lookup afii10026 is in 'cyrl', also afii10074 + (These are upper and lower Cyrillic i) [Just removed mark from + both letters] 'half' Bengali lookup Khanda_Ta is in 'bng2' [added + bng2 to lookup] + +2008-03-23 13:28 +0000 [r648] Stevan_White: + + * FreeSerif.sfd: added TtTable etc + +2008-03-23 13:15 +0000 [r647] Stevan_White: + + * FreeSerif.sfd: clean-up of Points too Close + through to end of font. This episode completes the paths/points + clean-up of Serif. (But note: many ranges, esp. Ethiopic, + Japanese, and Indic, have way too many points, resulting in + lumpiness.) + +2008-03-23 12:03 +0000 [r646] Stevan_White: + + * FreeSerif.sfd: clean-up of Points too Close + though Arabic + +2008-03-23 11:50 +0000 [r645] Stevan_White: + + * FreeSerif.sfd: clean-up of Points too Close + through Hiragana and Katakana + +2008-03-22 14:43 +0000 [r644] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Mostly additions to FreeSans, + mostly having to do with LaTeX ranges. This basically fills the + LaTeX range for FreeSans, except for extensible brackets etc. + +2008-03-21 23:49 +0000 [r642-643] Stevan_White: + + * Makefile: split Makefile into two levels + + * sfd/Makefile (added): tidier with a lower-level + makefile + +2008-03-21 21:51 +0000 [r641] Stevan_White: + + * Makefile: made quieter + +2008-03-21 20:57 +0000 [r640] Stevan_White: + + * FreeSerif.sfd: in previous commit, hadn't + relly saved the changes about the ligature tables. this does that + also, named the "ciel" and "floor" characters + +2008-03-21 20:50 +0000 [r636-639] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: (these changes were also + made in the previous few commits of other faces) changed name of + 00B5 from 'mu' to 'micro' changed name of 2206 from 'Delta' to + 'Delta.math' changed name of 0308 from 'diaerisis' to + 'diaerisiscomb' + + * FreeSerif.sfd: split lookup for ligatures in + latin into two classes; ff, ffl, fl which are appropriate for all + languages, and fi, ffi, which are not appropriate in Turkish (due + to distinction between short and long i) + + * FreeMonoBoldOblique.sfd: moved dotlessj from + Corporate Use, deleted commaaccent there mis-named glyphs + tcommaaccent, Tcommaaccent changed name of 030A from 'dieresis' + to 'ringcomb' + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: removed bogus glyphs + for 200C 200D, ZWJ and ZWNJ (zero-width joiner, zero-width + non-joiner) + +2008-03-21 20:20 +0000 [r633-635] Stevan_White: + + * tools/ConvertFont (removed): this was apparently + an older version of GenerateTrueType + + * tools/GenerateTrueType: Took out scaling to 2048 + (was there a good reason for that?) Made to first auto-hint whole + font + + * Makefile: made to work for me + +2008-03-21 15:20 +0000 [r632] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd: Regularized stacking of + accents in Latin Extended Additional + +2008-03-21 15:09 +0000 [r631] Stevan_White: + + * FreeSerif.sfd: everal characters in U+F600 + Corporate Use range dotlessj, onefitted (and other "fitted" + numerals), commaaccent registered, copyright, trademark According + to "Adobe Glyph List" + http://www.tug.org/texlive/Contents/live/texmf-dist/doc/generic/t2/glyphlist.txt + Adobe "fitted" numerals used to go in the corporate use section + More in U+F800 range more corporate symbols represented elsewhere + math braces, brackets move some to 2300 range Now Serif has full + set extensible brackets in Miscellaneous Technical Also, think + I've filled out all of the IPA + +2008-03-21 15:06 +0000 [r629-630] Stevan_White: + + * FreeMono.sfd: Several additions to IPA + Regularized stacking of accents in Latin Extended Additional + + * FreeSans.sfd: egularized stacking of accents + in Latin Extended Additional Added some arrows Some Blackboard + Bold Several characters in U+F600 Corporate Use range dotlessj, + onefitted, commaaccent dotlessj referred to by: jcircumflex, + uni01F0: how to move it? (renamed it to uFFFF, re-linked others + by hand) commaaccent http://diacritics.typo.cz/index.php?id=9 + should be u+0326 but wasn't linked to anything anyway + +2008-03-21 15:01 +0000 [r628] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Got rid of dotlessi + etc single substitution and related ccmp table Regularized + stacking of accents in Latin Extended Additional FreeSansBold + U+0617 etc, read glyphs "4GWglm" It should be arabic. Deleted + +2008-03-19 08:21 +0000 [r627] Stevan_White: + + * ChangeLog: added changes of the 18th + +2008-03-19 00:14 +0000 [r626] Stevan_White: + + * FreeSans.sfd: clean-up of all path issues and + points too close + +2008-03-18 19:52 +0000 [r625] Stevan_White: + + * FreeSans.sfd: Re-ordered the ShortTable, + because when I did autoinstruct on the quadratic version, it did + it this way. + +2008-03-18 19:44 +0000 [r624] Stevan_White: + + * FreeSans.sfd: A ligature referred to a name + with no entry: afii301. This is the Adobe name for zero-width + joiner, U+200D. With this, FontForge's "Find Problems" ATT "Check + for missing glyph names" finally passes. + +2008-03-18 19:41 +0000 [r623] Stevan_White: + + * FreeSans.sfd: zero-width joiner and zero-width + non-joiner both had glyphs, incorrectly. (u+200B 200C) + +2008-03-18 19:33 +0000 [r622] Stevan_White: + + * FreeSans.sfd: Seems one ot the 'pres' tables + contains mixed Devangari and Gujarati. This is probably a + mistake, but re-named the table accordingly, and added the + script. With this, FontForge "Find Problems" for ATT "Check for + missing scripts in features" finally passes. + +2008-03-18 19:24 +0000 [r621] Stevan_White: + + * FreeSans.sfd: removed another 'above' mark + form a greek letter + +2008-03-18 19:14 +0000 [r619-620] Stevan_White: + + * FreeSans.sfd: Likewise a Gugarati lookup had + script DFLT. + + * FreeSans.sfd: 'pres' Pre Base Substitution has + script DFLT. That cannot be right: this contains Devangari + characters. Changed script and name accordingly. This was + probably a mistake and a leftover. + +2008-03-18 19:07 +0000 [r618] Stevan_White: + + * FreeSans.sfd: got rid of "lookup \d\d" in + table names + +2008-03-18 19:01 +0000 [r617] Stevan_White: + + * FreeSans.sfd: The 'aalt' table for Latin + contains only bengali characters. [renamed accordingly, and put + in script 'beng' rather than 'latn'] The table "Ligature + Substitution for Devanagari lookup 46" is really a 'reph'. + Re-named accordingly. The table "'vatu' Vattu Variants lookup 24" + is in script 'DFLT', which is wrong. The characters are from + Gujarati. But there is already such a table for Gujarati. Changed + name and script accordingly. Got rid of Single Substitution + table. + +2008-03-18 18:54 +0000 [r616] Stevan_White: + + * FreeSans.sfd: Think I fixed the problem + causing the FontForge crashes. Related to the dotlessi thing. + There's a table Lookup: 6 0 0 "'ccmp' Glyph + Composition/Decomposition in Latin lookup 0" {"'ccmp' Glyph + Composition/Decomposition in Latin lookup 0 subtable" } ['ccmp' + ('latn' <'dflt' > ) ] It is related to another lookup ChainSub2: + class "'ccmp' Glyph Composition/Decomposition in Latin lookup 0 + subtable" that has something to do with i and j. It ends with + SeqLookup: 0 "Single Substitution lookup 47" EndFPST When I + removed the lookup for i and j, the SeqLookup line would be badly + corrupted, and subsequent saves resulted in a segfault and a + truncated sfd file. So I doctored the whole thing with vi. + +2008-03-18 08:13 +0000 [r615] Stevan_White: + + * FreeSans.sfd: Again got rid of single + substitution lookup changing dotlessi and dotlessj to i and j, + because it's wrong. + +2008-03-18 08:10 +0000 [r614] Stevan_White: + + * FreeSans.sfd: Regress to 1.118. Somehow + introduced a crash. (I wasn't careful enough changing the names + of the lookups, I think--need to make sure the change results in + unique names). + +2008-03-17 23:36 +0000 [r613] Stevan_White: + + * FreeSans.sfd: got rid of single substiturions + of dotlessi dotlessj for i and j. these were just wrong. the + 'aalt' table only contained Bengali, although it said 'latn' and + its name was Latin. Changed name and script to correct. Got rid + of extra Devanagari vatu table + +2008-03-17 23:30 +0000 [r612] Stevan_White: + + * FreeSans.sfd: got rid of 'lookup xx' in table + names + +2008-03-17 23:26 +0000 [r611] Stevan_White: + + * FreeSans.sfd: Removed 'mark' named 'above' + from some Greek and Cyrillic letters, and corrected it for a + couple of diacriticals. + +2008-03-16 20:32 +0000 [r609-610] Stevan_White: + + * CREDITS: clean-up of non-unicode characters + + * CREDITS: converted to UTF-8 + +2008-03-16 20:18 +0000 [r608] Stevan_White: + + * AUTHORS: changed name of maintainer to mine + +2008-03-16 20:09 +0000 [r607] Stevan_White: + + * ChangeLog: compiled changes from CVS log. this is + a messy process. I'm sure I missed a lot. Meant to represent + changes since 02/10. + +2008-03-16 17:29 +0000 [r606] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, FreeMono.sfd, + FreeMonoOblique.sfd: clean-up named some + unnamed characters removed a duplicate + +2008-03-16 13:34 +0000 [r605] Stevan_White: + + * FreeMono.sfd: Added vowels to GPOS 'mark' + lookup table for 'above' added 'below' as well, but only for + c-cedilla + +2008-03-16 12:11 +0000 [r604] Stevan_White: + + * FreeMono.sfd: Much futzing with accents in + Latin extensions, in attempt to make them readable at small + sizes, and to make the glyph bounds reasonable. Note: + A-ring-acute is a silly character. + +2008-03-15 23:16 +0000 [r603] Stevan_White: + + * FreeMono.sfd: path clean-up up to points too + close passes Validation + +2008-03-15 22:43 +0000 [r602] Stevan_White: + + * FreeMonoBoldOblique.sfd: clean-up of path + problems up to points too close + +2008-03-15 22:19 +0000 [r601] Stevan_White: + + * FreeMonoBoldOblique.sfd: Made to Validate + Added points at extrema + +2008-03-15 21:59 +0000 [r600] Stevan_White: + + * FreeSans.sfd: Changed names of a bunch of + glyphs with invalid TrueType names, in response to failed + Validation, and in Windows the font not showing up in the font + display. These were all in the range 0x1025f+, which is an + attempt to take care of combining forms in Indic scripts (I don't + know if this work was ever completed, or if it is the best way to + do this). The names were like uni0916_uni094D.half_uni0928.pres + or longer uni0926_uni094D.half_uni0926_uni094D.half.pres and a + few much longer than this. By a process of removing redundant + information, I think I preserved what information was there. + There were a few more names that were never filled in, but + contained a minus, which isn't valid. These start with + "nonunicode", and I replaced the minus with an underscore. + +2008-03-15 19:55 +0000 [r599] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: some futzing with Combining + Diacriticals + +2008-03-15 19:50 +0000 [r597-598] Stevan_White: + + * FreeSerifBold.sfd: changed WinInfo + + * FreeSerifBoldItalic.sfd: added TtTable + +2008-03-15 16:12 +0000 [r596] Stevan_White: + + * FreeSerif.sfd: Fixed several lookup issues, + based on "Find Problems". TamlCA_TamlSSA.half with ligature from + lookup subtable 'haln' Halant Forms in Tamil lookup 24 subtable + refers to a missing glyph glyph190 Similar complaint with a + 'half' lookup. For this and the other glyph190 issue, I changed + glyph190 to TamlCA_TamlSSA, which looks right according to its + surroundings. The lookup 'aalt' Access All Alternatives i is + active for glyph bn_ekaar which has script 'bng2', yet this + script does not appear in any of the features which apply the + lookup. Similar complaint about bn_aikaar. For this I changed the + script of the lookup to bng2, and changed the name of the lookup + accordingly. The lookup 'liga' standard Ligatures look is active + for glyph uni0937091F which has script 'dev2', yet this script + does not appear in any of the features which apply the lookup. It + makes a ligature of uni0937 and uni091F, which are in Devangari. + So I changed the script of the lookup to 'dev2' and changed the + name of the lookup accordingly. Also shortened the names of many + of the lookup tables. + +2008-03-15 14:31 +0000 [r595] Stevan_White: + + * FreeSerifBoldItalic.sfd: cleanup of path + problems, including points too close + +2008-03-15 14:04 +0000 [r594] Stevan_White: + + * FreeSerifBoldItalic.sfd: clean-up of path + problems, including extrema + +2008-03-15 13:22 +0000 [r593] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: CJK punctuation: made some of + the very high glyphs smaller (under 900EM) The brackets in Sans + were very ugly, and not even Sans-serif. Serif: added extensible + square brackets, diddled with integral corrected direction of + some added glyphs + +2008-03-15 13:13 +0000 [r592] Stevan_White: + + * FreeSansBoldOblique.sfd: added TtTable + +2008-03-15 13:10 +0000 [r591] Stevan_White: + + * FreeSansBoldOblique.sfd: clean-up of path + problems, including points too close + +2008-03-15 09:41 +0000 [r590] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: OS/2 Metrics back to + 900/300 + +2008-03-15 09:35 +0000 [r589] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: OS/2 Metrics back to + 900/300 -- kedit doesn't like offset values + +2008-03-14 23:17 +0000 [r588] Stevan_White: + + * FreeSansBold.sfd, + FreeSansOblique.sfd: added TfTables + +2008-03-14 23:08 +0000 [r587] Stevan_White: + + * FreeSansBold.sfd: clean-up of path problems + extrema self-intersecting ordered PS blue values + +2008-03-14 22:30 +0000 [r586] Stevan_White: + + * FreeSansBold.sfd: got rid of mixed references + and contours + +2008-03-14 22:22 +0000 [r585] Stevan_White: + + * FreeSansOblique.sfd: much clean-up of "points + too close" + +2008-03-14 21:18 +0000 [r584] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: unified OS/2 Metrics + added Grid Fit added slated-hyphen to Sans + +2008-03-14 19:35 +0000 [r583] Stevan_White: + + * FreeSerif.sfd: in response to Validate, + changed names of three glyphs in the Tamil ligatures range...all + clearly bugs. + +2008-03-14 19:18 +0000 [r582] Stevan_White: + + * FreeSerif.sfd: cleanup of many path problems + "points too close" + +2008-03-14 07:26 +0000 [r581] Stevan_White: + + * FreeSerif.sfd: in response to validate + results, fixed a few glyphs + +2008-03-14 07:19 +0000 [r580] Stevan_White: + + * FreeSerif.sfd: got rid of mixed references and + contours + +2008-03-14 00:05 +0000 [r579] Stevan_White: + + * FreeSerif.sfd: changed OS/2 metrics various + other clean-ups + +2008-03-13 23:43 +0000 [r578] Stevan_White: + + * FreeMonoBoldOblique.sfd: added TtTable + +2008-03-13 23:39 +0000 [r577] Stevan_White: + + * FreeMonoBoldOblique.sfd: got rid of mixed ref + and contour + +2008-03-13 23:33 +0000 [r576] Stevan_White: + + * FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: removed PS Private + StemSnapV, which was empty anyway. + +2008-03-13 23:28 +0000 [r574-575] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: added Grid Fit tables + + * FreeMono.sfd: change OS/2 metrics to 900/300 + +2008-03-13 23:19 +0000 [r573] Stevan_White: + + * FreeSerifItalic.sfd: added TtTable, ShortTable + +2008-03-13 23:15 +0000 [r572] Stevan_White: + + * FreeSerifItalic.sfd: Removed PS Private + StemSnapV -- wasn't right anyway added Grid Fitting made better + OS/2 metrics + +2008-03-13 23:06 +0000 [r571] Stevan_White: + + * FreeSerifItalic.sfd: further path cleanup: + points too close together. in Bengli range, much yet to do + +2008-03-13 20:00 +0000 [r569-570] Stevan_White: + + * FreeMonoOblique.sfd: cleaned up remaining path + problems, missing extrema fixed some math characters + + * FreeMonoBold.sfd: cleaned up path problems, + and mixed refs and contours added TfTable + +2008-03-13 08:25 +0000 [r568] Stevan_White: + + * FreeSerifItalic.sfd: path clean-up more + self-intersecting added many missing extrema fixed mixed + references and glyphs + +2008-03-12 23:11 +0000 [r567] Stevan_White: + + * FreeSans.sfd: Rearranged PS BluesValues so + they were in increasing order, made all 20 in width. In response + to FontForge Validate complaint, in hopes of making font work in + Windows. + +2008-03-12 22:45 +0000 [r566] Stevan_White: + + * FreeMono.sfd: Copied in by hand TrueType + tables from a version with quadratic splines. I hope this will + make the glyphs smooth properly in Windows. + +2008-03-12 22:41 +0000 [r565] Stevan_White: + + * FreeSans.sfd: Added TrueType tables (copied in + by hand from version with quadratic splines) + +2008-03-12 22:34 +0000 [r563-564] Stevan_White: + + * FreeSans.sfd: clean-up tweek + + * FreeSans.sfd: Got rid of mixed contours and + refs + +2008-03-12 22:18 +0000 [r562] Stevan_White: + + * FreeMono.sfd: two more glyphs with quadratic + problems + +2008-03-12 22:07 +0000 [r561] Stevan_White: + + * FreeMono.sfd: a few paths that don't convert + well to quadratics + +2008-03-12 21:45 +0000 [r560] Stevan_White: + + * FreeMono.sfd: Fixed glyphs with mixed contours + and references + +2008-03-12 01:05 +0000 [r559] Stevan_White: + + * FreeSerifBoldItalic.sfd: cleanup of path + problems as others + +2008-03-12 00:51 +0000 [r558] Stevan_White: + + * FreeSerifItalic.sfd: cleanup of path problems + as others + +2008-03-12 00:08 +0000 [r557] Stevan_White: + + * FreeSerifBold.sfd: cleanup of path problems + open intersecting clockwise ref reversed points outside glyph + removed hints + +2008-03-11 23:13 +0000 [r556] Stevan_White: + + * FreeMonoBoldOblique.sfd: cleanup of path + problems open intersecting clockwise flipped ref points beyond + spline removed hints + +2008-03-11 22:59 +0000 [r555] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd: cleanup of path problems + open paths intersecting clockwise flipped references points + beyond glyph removed hints + +2008-03-11 22:31 +0000 [r554] Stevan_White: + + * FreeSansBoldOblique.sfd: cleanup of path + problems open intersecting clockwise flipped references beyond + spline + +2008-03-11 21:51 +0000 [r553] Stevan_White: + + * FreeSansBold.sfd: clean-up of path problems + open intersecting clockwise flipped references control points + beyond spline removed hints + +2008-03-11 21:46 +0000 [r552] Stevan_White: + + * FreeSansOblique.sfd: clean-up of path and + reference problems open paths intersecting clockwise flipped refs + removed hints + +2008-03-09 20:58 +0000 [r551] Stevan_White: + + * FreeSerif.sfd: continuing general clean-up, + Found several ligatures that referred to a missing glyph "ZWJ". + Took this to mean the "zero width joiner" u+200D There are a + couple more cases in Tamil, but I don't know the glyph they're + referring to. + +2008-03-09 14:27 +0000 [r550] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd: further cleanup of path/ref + problems + +2008-03-09 14:08 +0000 [r549] Stevan_White: + + * FreeMono.sfd: clean-up of path problems + +2008-03-09 14:00 +0000 [r548] Stevan_White: + + * FreeMono.sfd: Efforts to make legible at 9pt. + At 8pt, glyphs are at least distinct. + +2008-03-09 12:53 +0000 [r547] Stevan_White: + + * FreeMono.sfd: math symbols: set for LaTeX 2e + seems to be all there. To do: improve legibility at 9pt. Some + double-arrows are just a blur. + +2008-03-09 12:18 +0000 [r546] Stevan_White: + + * FreeMono.sfd: more math characters corrected + logical 'assert' relations, etc. 22a2-22af + +2008-03-09 10:41 +0000 [r544-545] Stevan_White: + + * FreeSerif.sfd: corrected L-dot + + * FreeSerifItalic.sfd, + FreeMono.sfd, + FreeSerif.sfd: Math symbols ============ + SerifItalic Greek lunate epsilon FreeMono many additions in math + range reduced size of binary union, intersection, vee, wedge + correcte empty set + +2008-03-08 23:22 +0000 [r543] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: FreeSans added Greek lunate + epsilon and rho symbol both un-stacked some more stacked + diacriticals + +2008-03-08 22:41 +0000 [r542] Stevan_White: + + * FreeSans.sfd: Clean-up of font paths open + self-intersecting outermost clockwise missing extrema also + flipped references (unlinked) + +2008-03-08 18:17 +0000 [r541] Stevan_White: + + * FreeSerif.sfd: Added lunate epsilon Corrected + empty set tightened up spacing of some other technical characters + worked on some more math operators involving = + +2008-03-08 15:11 +0000 [r540] Stevan_White: + + * FreeSerif.sfd: Added several math operators + used by LaTeX 2e triangle several arrows arrowhookleft + arrowhookright Supplemental Arrows-A long left arrow long right + arrow long leftright arrow long left double arrow long right + double arrow long leftright double arrow long left arrow with + flat tail long right arrow with flat tail + +2008-03-08 13:11 +0000 [r539] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Supplemental Math operators + ============== Added a few of the "n-ary" operators. Math + operators ============== Corrected n-ary union, intersection, and + spikes to be larger than the binary operators Made (many of) the + operators based on + - = to use those symbols directly (by + reference or copying). I think it is good practice to harmonize + the appearance of math operators with the Latin character set. + Geometrical Shapes ================== Made the large circle + larger still. When is it large enough? Combining marks for + Symbols =========================== Made the combining circle to + really combine. Made a circle-slash + +2008-03-08 10:15 +0000 [r538] Stevan_White: + + * FreeSerif.sfd: Clean-up of path problems + intersecting paths missing extrema outer path clockwise Many + changes in Bengali, Ethiopic ranges. These could really use + further clean-up. Added 'divides' and 'not divides' + +2008-03-08 10:10 +0000 [r537] Stevan_White: + + * FreeMono.sfd: Added Grid Fit "GASP" table + Clean-up of contour problems: open paths intersecting paths (esp. + those of references) outermost paths clockwise missing extrema + Also references problems fipped refs tt (TrueType) transformation + matrix problems Did same process of un-stacking some accents in + Latin Extended range as done for Serif. Made combining + diacritical 'hook' to be shorter. (Should have been multiple + commits...I know) + +2008-03-06 18:58 +0000 [r536] Stevan_White: + + * FreeSerif.sfd: Shortened and thickened the + combining hook mark, U+0309, thus shortening many combined + characters and making it look more like the Unicode samples. Then + touched on bug #22499 Latin Extended Additionals incorrectly + stack accents At least in this face, un-stacked + incorrectly-stacked marks. + +2008-03-05 22:01 +0000 [r535] Stevan_White: + + * FreeSerif.sfd: Fixed positioning U+1EC8, 9, I + with hook above + +2008-03-05 21:45 +0000 [r534] Stevan_White: + + * FreeSerif.sfd: added spacing modifier letters + 02B9 02Ba prime and double-prime + +2008-03-05 21:36 +0000 [r533] Stevan_White: + + * FreeSerif.sfd: vertical lines: combining + diacritical marks corrected 0300 030D 0329 0348 (were rendered as + straight apostrophes) spacing modifier letters added 02C8 02CC + +2008-03-05 20:20 +0000 [r532] Stevan_White: + + * FreeSerif.sfd: Reverses 1.90. I regretted 1.90 + before while and after doing it. + +2008-03-04 20:47 +0000 [r531] Stevan_White: + + * FreeSerif.sfd: Some modifications to Spacing + Modifier Letters 02B0 - 02FF Idea was to bring in line with + Unicode that suggests that these characters should all occupy the + width of a space in the font, here, 250 EM. Unfortunate + side-effects in hundreds of characters that used them. Hope I got + them all. + +2008-03-03 20:01 +0000 [r530] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Set the OS/2 Sup/Sub + settings, which by default looked like random trash. I don't know + if it really helps but it looks better. + +2008-03-03 00:13 +0000 [r529] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: TTY strings updates + Updated Copyright to 2008 Added Vendor URL as the Savannah + freefont site Added a standard pangram as the Sample Text for + Russian in FreeMono*. It reads: In the thickets of the South once + there was a citrus...--yes, but a fake specimen! + +2008-03-02 22:50 +0000 [r528] Stevan_White: + + * FreeMono.sfd: Completed fix of glyph path + problems open path intersecting not clockwise missing extrema Had + to remove one glyph, because couldn't figure out how to make it + not intersect itself: dkshade U+2193, a checkerboard (probably + should be re-done as non-intersecting squares). Also, lowered the + diacritics on a bunch of capital Latin letters, so they didn't + have to intersect when stacked. Act of desperation? + +2008-03-02 21:37 +0000 [r527] Stevan_White: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansBoldOblique.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Clean sweep, fixing + all open glyph contours. + +2008-03-02 20:13 +0000 [r526] Stevan_White: + + * FreeSans.sfd: Parital clean-up of glyph path + problems open paths some of intersecting paths There are many + more instances of intersecting paths. The Bengali range is + particularly affected. + +2008-03-02 19:14 +0000 [r525] Stevan_White: + + * FreeMonoBold.sfd: Cleaned up glyph path + problems open paths intersecting paths not clockwise missing + extrema + +2008-03-02 15:48 +0000 [r524] Stevan_White: + + * FreeMono.sfd: Fixed most glyph path problems. + Open path path direction extrema There are still a few + intersecting paths... + +2008-03-02 12:31 +0000 [r523] Stevan_White: + + * FreeSerif.sfd: Clean-up of problems found by + FontForge "Find Problems". Fixed all problems with Open Paths + Intersecting Paths Check outermost paths clockwise With Check + missing extrema there were lots of problems, and it's very + fiddly. I got up through the Arabic range, but pooped out in the + Indian scripts. Note: Most of the problems were plainly mistakes, + or problems that cropped up after some transformation of the + glyph. Others seem to be the result of freehand drawing or + scanning. More info at: bug #22454: Path bugs in FreeSerif + +2008-03-01 21:14 +0000 [r522] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Removed all back + layers from glyphs that had them. In most cases, this layer had + been used as a guide, slightly modified to make the front layer. + Sometimes it was just a mistake. This remedies bug #22381: Some + characters have "ghost" glyphs in back layer + https://savannah.gnu.org/bugs/index.php?22381 However, this is + bound to happen again. It would be good to have a script that + checks, or maybe a facility in FontForge's "Find Problems". + +2008-03-01 10:20 +0000 [r521] Stevan_White: + + * FreeSerif.sfd: Arabic now seems to be working, + in a limited way, for display of modern text. Remedy for: bug + #22329: Arabic not really working + https://savannah.gnu.org/bugs/index.php?22329 * Drew several + glyphs for special forms of yeh * Drew sukun combining + diacritical * Made some diacritical combining marks to be + properly zero width. * Added 'init' 'medi' 'fina' tables to + convert letters to their initial, medial, and final forms within + words. * Added 'rlig' table for required ligatures of lam and + alif * Constructed the lam-alif ligatures. Not done: * may be + more required ligatures of lam and alif * other common ligatures + * 'mark' table for better positioning of diacriticals * 'mark' + table for positioning vowels * 'locl' table for localized forms + of certain letters * 'ccmp' table for decomposing ligatures Also + (nothing to do with Arabic): moved some glyphs 02d4-02D7 up. + +2008-02-27 22:45 +0000 [r520] Stevan_White: + + * FreeSerif.sfd: Shifted entire Arabic alphabet + down by 200EM, so it shares the common baseline. I hope. Arabic + Arabic Presetation Forms + +2008-02-27 22:26 +0000 [r519] Stevan_White: + + * FreeSans.sfd: Filled out Combining Diacritical + Forms in Sans + +2008-02-27 22:02 +0000 [r518] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: more tweeks to Combining + Diacritical Forms + +2008-02-27 08:38 +0000 [r517] Stevan_White: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd: Combinint diacriticals range + Mostly filled Sans. The rest are tweeks. + +2008-02-26 00:12 +0000 [r516] Stevan_White: + + * FreeSerif.sfd: More tweeks to combining + diacriticals. added DPOS 'mark' tables for Latin below topright + ogonek and put corresponding marks in many Latin letters + +2008-02-24 11:57 +0000 [r515] Stevan_White: + + * FreeSerif.sfd: Some tweeks to previous commit. + +2008-02-24 11:34 +0000 [r514] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Much fiddling with the + "combining diacriticals" range 0300-036F. More info: see bug + #22331: combining diacriticals are misplaced in FreeSerif Filled + in for Serif. Also tidied diacriticals in some of the other + faces. Made to align to medium-sized preceding character, when + not using anchor marks. Added "above" marks where needed. To do: + add "below" table and marks. + +2008-02-23 18:30 +0000 [r513] Stevan_White: + + * FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Continued programme + of filling HTML Character Entities in Mono. I think there are + still a few missing, but I don't have an easy way to tell... + Anyway, it's looking good. + +2008-02-23 13:43 +0000 [r512] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Unified and corrected + combining diacritical marks U+0360-1 where they existed. Also + tidied some of the "tie" marks. These glyphs have width 0. I'm + not sure that is the best way to approach the problem of + combining marks, but I see other fonts that do the same. + +2008-02-23 12:58 +0000 [r511] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Checked U+203F, U+2040 (tie + and undertie). Mostly the tie was too low. + +2008-02-23 11:55 +0000 [r510] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: Made "HTML 4 Character + Entities" complete for normal-style faces. Partial remedy for bug + #21784: missing glyphs for HTML 4 character entities + https://savannah.gnu.org/bugs/?21784 Main things remaining: do + similar process for bold and oblique forms. ----- notes + ----------- Filled out several typographic spaces in Sans and + Mono U+2000, etc. Mono made Rfraktur Mono made 'angle' Mono + copied cards suites from FreeSerif and scaled to fit Sans drew + upsilon-hook. Sans constructed omegapi from omega and a minus + Sans made overline Sans flat copied cards suites from FreeSerif + (maybe not "sans" enough?) Sans 'similar' didn't look like other + such symbols and was much skinnier Sans made several symbols to + be references to 'similar' Sans made 'congruent' Sans made + reference to aleph from alephmath Sans angleleft and angleright + brackets just copied from Serif (in which they look too angular) + Sans "subset" is too high and looks like a letter C. Made to be a + tad higher than small letter Sans notin doesn't look like isin: + 'element' 2208 is the height of a capital. Fixed this, and used + references to better effect. Sans weierstrass p: copied from Mono + (where its style doesn't fit anyway), and widened the stroke + -------- other notes ----------------- better check Sans 0361 + also doubt 223E is right What is to be done about that? Serif + 2040 tie is low...didn't I fix this? Sans Rfraktur and Ifraktur + are not sans-serif. Overall, many Sans math symbols are much + thinner than seems to fit. Sans surprises me not all the + "equals"-like characters are made from "minus" Sans "period" is a + square. (Don't like the dot operator being a square, but that + would be consistent.) Serif ceil and floor glyphs are not high + enough + +2008-02-21 21:28 +0000 [r509] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: In previous commit, + changed Font Info -> OS/2 -> Vendor ID to GNU Repeated that for + the remaining fonts. + +2008-02-21 21:01 +0000 [r508] Stevan_White: + + * FreeSans.sfd, FreeMono.sfd, + FreeSerif.sfd: Worked toward extended integral + signs. U+2320 TOP HALF INTEGRAL U+23AE INTEGRAL EXTENSION U+2321 + BOTTOM HALF INTEGRAL Regarding bug #13370: INTEGRAL EXTENSION + does not align with TOP/BOTTOM HALF INTEGRAL + https://savannah.gnu.org/bugs/?13370 Hope was to make the three + pieces precisely match up. But the horizontal space eludes me. + There is still a tiny gap, althogh I have made the parts slightly + longer than they ought to be. Also, FreeMono is still not + advertizing that it supports "Miscellaneous Technical Symbols", + although FontForge shows it selected in Font Info->OS/2. + +2008-02-21 00:46 +0000 [r507] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Moved capital Greeek + letters with tonos so tonos doesn't cover preceding letter + Partial remedy for bug #12798: some combined Greek characters + have a bug https://savannah.gnu.org/bugs/index.php?12798 Only + deals with range 0380 - 03df (Greek). More needs to be done in + Greek Extended range. + +2008-02-20 21:57 +0000 [r506] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Made Greek 'tonos' to + be the same as combining accent acute Remedy for bug #12821: + FreeSerif has Greek tonos different than Greek acute + https://savannah.gnu.org/bugs/index.php?12821 In some cases, just + made a reference to U+0301 (combining accent acute) of U+0384 + (Greek tonos). The characters that used tonos were linked to + that. In many cases, this cause spacing problems, which were also + fixed + +2008-02-20 19:50 +0000 [r505] Stevan_White: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Tweeks to curly quotes of + previous commit + +2008-02-20 08:52 +0000 [r504] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Made proper curly + quotes of U2018 - U201F in monospace fonts (removed incorrect + reference in some straight quotes U2033... Remedies bug #18300: + FreeMono has the wrong quote marks ‘ (U+2018) and “ (U+201C) + https://savannah.gnu.org/bugs/index.php?18300 + +2008-02-19 23:17 +0000 [r503] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: This touches on two + bug reports with interrelated glyphs bug #20278: Vertical offset + of superscripted numerical digits Some vertical offset problems, + lots more horizontal ones. Changes also impacted vulgar + fractions, so had to fix those too. bug #17756: possible printing + problem with vulgar fractions. . . . + https://savannah.gnu.org/bugs/index.php?17756 I think this was a + case of front and back layers inadvertently both having glyphs in + them. Removed the ones I found, and tidied up all vulgar + fractions + +2008-02-18 23:21 +0000 [r502] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Added to FreeSerif* uni2E17 + double hyphen In pursuit of bug #22267: Request Double-Hyphen + Sign https://savannah.gnu.org/bugs/?22267 + +2008-02-18 22:37 +0000 [r501] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: unified 'liga' for Latin: + now only ff ffi ffl fi fl Other ligatures should be put in dlig, + hlig, etc. Removed such as Lj, DZ. I don't thing these are + ligatures. (Am I wrong? the glyphs aren't modified...) + +2008-02-18 08:33 +0000 [r500] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerif.sfd: Slightly increased the height + of Cyrillic О (U+0438) to be even with other similar glyphs + (e.g. U+043D) Remedies bug #22289: The Cyrillic О letter in + FreeSerif isn't high enough + https://savannah.gnu.org/bugs/index.php?22289 + +2008-02-18 08:18 +0000 [r499] Stevan_White: + + * FreeSans.sfd, + FreeSerif.sfd: Made U+30FB, KATAKANA MIDDLE + DOT to be same width as other Katakana. Remedies bug #18326: ・ + (U+30FB, KATAKANA MIDDLE DOT) should be fullwidth + https://savannah.gnu.org/bugs/index.php?18326 + +2008-02-18 08:02 +0000 [r498] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Moved U+203F UNDERTIE to be + below the baseline, as it should be. See + http://www.unicode.org/charts/PDF/U2000.pdf Remedy for bug + #18413: U+203F UNDERTIE glyph too high in FreeSerif + https://savannah.gnu.org/bugs/?18413 + +2008-02-18 01:19 +0000 [r497] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Re-promoted ff ffi ffl fi + fl as standard ligatures in Latin. Made st ligature historical, + if anything. Cleaned up some silly ligatures (Roman numerals as + ligatures, etc) There is more to be done here, just for Latin + ligatures. + +2008-02-17 23:41 +0000 [r496] Stevan_White: + + * FreeSans.sfd: Offset Hiragana and Katakana + ranges of FreeSans as in + https://savannah.gnu.org/bugs/index.php?22326 + +2008-02-17 23:34 +0000 [r495] Stevan_White: + + * FreeSerif.sfd, + FreeSerifBold.sfd: Corrected vertical offset + of Hiragana and Katakana, cf + https://savannah.gnu.org/bugs/index.php?22326 (with advice from + Kenshi Muto) + +2008-02-17 23:26 +0000 [r494] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Auto-Hinted + everything. The auto-hinting in the new FontForge is said to be + (and seems to me to be) much better than in previous versions. + +2008-02-17 23:16 +0000 [r493] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: TT Info -> + Manufacturer = GNU + +2008-02-17 22:58 +0000 [r492] Stevan_White: + + * FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Updated FontForge SFD + file version to SplineFontDB: 2.0 using FontFOrge 20080214 This + is a very big change, with which we can carry on with the new + FontForge. + +2008-02-17 22:20 +0000 [r491] Stevan_White: + + * FreeSerif.sfd: This removes the georgian-d + patch of revision 1.58. I can't imagine what went on here. Maybe + I somehow got the patch inverted. Anyway, after the patch, 10e6 + and 10d3 are indistinguishable, which is wrong, according to + http://www.unicode.org/charts/PDF/U10A0.pdf Without the patch, + they seem to be correct. + +2008-02-14 23:36 +0000 [r490] Stevan_White: + + * INSTALL: Instructions for KDE local installation + Instructions for Windows Vista + +2008-02-11 22:55 +0000 [r489] Stevan_White: + + * FreeSerif.sfd: This is from an anonymous patch + patch #5924: correct postscript name for cyrillic yat' Wednesday + 05/09/2007 at 18:25 (now bug #22265: correct postscript name for + cyrillic yat') The postscript name of the two cyrillic letters + yat' and YAT' (0x0462) is not correct, so this fixes it: I found + confirmation of the PostScript names here + http://www.adobe.com/devnet/font/pdfs/5013.Cyrillic_Font_Spec.pdf + +2008-02-11 20:06 +0000 [r488] Stevan_White: + + * README: Made status of Microsoft core web fonts a + little clearer. + +2008-02-10 19:50 +0000 [r486] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Apply patch + 011_liga_to_dlig by Christian Perrier from Debian sources. I am + not quite sure which bug this is meant to fix, but it is most + like bug #15792: Freefont Alef and Lamed combine although this + patch is not the patch included in that bug report. (The report + was closed...no indication if any action was taken.) This is the + last outstanding patch from the Debian sources for ttf-freefont + found in ttf-freefont-20060501cvs-12.diff That is, the SVD files + of this project should now match the ones used to build the + Debian ttf-freefont fonts. + +2008-02-10 19:38 +0000 [r483-485] Stevan_White: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Apply patch + 009_freemono_really_mono by Christian Perrier from Debian sources + meant to remedy bug #17062: Erroneous Georgian D in FreeSerif + reported by Christian Perrier + + * FreeSerif.sfd: Apply patch 008_georgian_d by + Christian Perrier from Debian sources, meant to remedy bug + #17062: Erroneous Georgian D in FreeSerif + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Apply patch + 007_horizontal_spacing by Christian Perrier from Debian sources, + which is meant to remedy bug #17038: horizontal spacing bug in + freemono reported by Christian Perrier + +2008-02-10 19:28 +0000 [r482] Stevan_White: + + * FreeMono.sfd: Apply the patch + 006_remove-russian-sample by Christian Perrier from the Debian + sources that remedies bug #15791 Weird strings in freefont fonts + reported by Christian Perrier Note this change had previously + been made by Primoz Peterlin. The problem was that the Russian + string had somehow become corrupted. I may replace it with a + correctly encoded version in the future. + +2008-02-10 19:23 +0000 [r481] Stevan_White: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Apply patch + 004_workaround-spacing-bug by Christian Perrier, from the Debian + sources which is meant as a (partial) remedy for bug #15956: Line + height is too big in sans and serif reported by Eeli Kaikkonen + Thanks also to Jan Willem Stumpel + +2008-02-10 19:12 +0000 [r479-480] Stevan_White: + + * FreeMono.sfd: In preparation for merge with + Debian sources, which date from 2006-05-01, remove this commit, + which was RCS file: /sources/freefont/freefont/FreeMono.sfd,v + revision 1.28 date: 2006-05-04 15:54:45 +0200; author: peterlin; + state: Exp; lines: +3 -3; Deleted messy Russian sample text from + FreeMono. The Debian diffs already contain this patch, so it will + not get re-applied. Note: I also found the Russian string that + somehow got corrupted, and may well re-insert it later, because I + like it. + + * FreeSans.sfd: In preparation for merge with + Debian sources which date from 2006-05-01, un-do this commit, + which was revision 1.80 date: 2006-05-01 14:42:53 +0200; author: + moyogo; state: Exp; lines: +72 -36; replaced U+2134 Plan to apply + the Debian patches, then re-apply this one. + +2008-02-03 09:50 +0000 [r478] Stevan_White: + + * README: updated URLs corrected spelling errors + added reference to DejaVu (Bitstream Vera) fonts removed + reference to ttfedit, which seems no longer to exist updated + freefont URL added Steve White + +2008-01-22 18:35 +0000 [r476-477] Stevan_White: + + * test (removed): remove the test file + + * test (added): test to see if I can really commit + with the new account + +2006-09-20 11:37 +0000 [r475] peterlin: + + * INSTALL, ChangeLog: * INSTALL: + added installation procedure for MacOS X, courtesy Philipp + Kempgen. + +2006-05-04 13:54 +0000 [r474] peterlin: + + * ChangeLog, FreeMono.sfd: + Deleted messy Russian sample text from FreeMono. + +2006-05-01 12:42 +0000 [r473] moyogo: + + * FreeSans.sfd: replaced U+2134 + +2006-04-15 21:49 +0000 [r472] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSerif.sfd: * FreeSerif.sfd: corrected + U+10D3. * FreeSans.sfd: ligature U+FB06 (LATIN SMALL LIGATURE + S T) changed from mandatory ("liga") to discretionary ("dlig") + (bug #16253). + +2006-04-15 21:01 +0000 [r471] peterlin: + + * ChangeLog, FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: * FreeMono.sfd: + deleted incomplete glyph U+FB06 (LATIN SMALL LIGATURE S T); + deleted U+FB00, U+FB01, U+FB02, U+FB05 as ligatures. * + FreeMonoOblique.sfd, FreeMonoBoldOblique.sfd: added + U+FB00; deleted U+FB01, U+FB02 as ligatures. * + FreeMonoBold.sfd: deleted U+FB00, U+FB01, U+FB02 as + ligatures. + +2006-04-15 20:21 +0000 [r470] peterlin: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added Georgian + letters, donated by Gia Shervashidze. + +2006-02-22 22:57 +0000 [r469] peterlin: + + * ChangeLog, FreeMono.sfd, + FreeMonoOblique.sfd: * FreeMono.sfd, + FreeMonoOblique.sfd: ligature U+FB4F changed from mandatory + ("liga") to discretionary ("dlig"). This is respons to + Bug#349657: [bug #15792] Freefont Alef and Lamed combine + +2006-02-21 00:23 +0000 [r468] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeSerifBold.sfd: * FreeSerifBold.sfd, + FreeSans.sfd, FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, FreeSansBold.sfd: ligature + U+FB4F changed from mandatory ("liga") to discretionary ("dlig"). + This is respons to Bug#349657: [bug #15792] Freefont Alef and + Lamed combine + +2006-02-20 23:13 +0000 [r467] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: corrected bug#275759: [bug #15790] FreeSerif + glyphs for U+2198/U+2199 were reversed. + +2006-02-14 23:09 +0000 [r466] moyogo: + + * ChangeLog, FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: * removed ij and IJ + ligature substitutions + +2006-02-10 22:13 +0000 [r465] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSerif.sfd: * + FreeSerif.sfd: added small Georgian letters (mkhedruli), + donated by Gia Shervashidze * AUTHORS: Added Gia Shervashidze * + CREDITS: Added Gia Shervashidze + +2006-01-30 23:07 +0000 [r464] peterlin: + + * ChangeLog, notes/maintenance.txt: + notes/maintenance.txt - login as "anonymous" + +2006-01-26 22:32 +0000 [r462] peterlin: + + * ChangeLog, notes/maintenance.txt: * + notes/maintenance.txt: Added information on the Makefile now + used. + +2006-01-26 22:12 +0000 [r461] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd: added U+0569, U+0571, U+0579, U+057B, + U+0586. Armenian small letters completed. + +2006-01-26 15:44 +0000 [r460] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: added U+0297, U+02AD-02AF. IPA Extensions + section is now complete. Copied a dozen of glyphs from Omega IPA + to Phonetic Extension section. + +2006-01-25 23:01 +0000 [r459] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: added U+01A, U+01A3, U+01A6, U+01B2, U+01BA, + U+01BB, U+01BE, U+01BF. + +2006-01-25 12:44 +0000 [r458] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: aligned small Armenian letters to x-height in + response to bug #15480. Armenian in Free Sans needs a major + cleanup. + +2006-01-24 23:39 +0000 [r457] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: changed U+0452, U+045B. Cleanup: U+0460, + U+0461, U+04Bc, U+04BD, U+0508. + +2006-01-24 12:18 +0000 [r456] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: changed U+0285. + +2006-01-24 12:01 +0000 [r455] peterlin: + + * ChangeLog, FreeSansOblique.sfd: + * FreeSansOblique.sfd: replaced accented chars in Latin-1 and + Latin Extended-B sections with references, where possible. + +2006-01-23 22:13 +0000 [r454] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSansOblique.sfd: * FreeSans.sfd: added + U+0195, U+01AA, U+0297, U+03D7, U+03F0. Several flipped + references replaced by outlines. * FreeSansOblique.sfd: Latin + Extended-B section more or less brought in sync with FreeSans. + +2006-01-23 15:33 +0000 [r453] peterlin: + + * ChangeLog, + FreeMonoBoldOblique.sfd: * + FreeMonoBoldOblique.sfd: added glyphs from FreeMonoBold in + the Latin Extended-B and IPA Extensions sections. + +2006-01-23 14:44 +0000 [r452] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd: Added U+0224, U+0225. Changed U+01B7, + U+01B8, U+04E0, U+0452, U+045B. Replaced accented characters in + the Cyrillic region with references. + +2006-01-20 23:37 +0000 [r451] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: Deleted spurious glyphs in the control code + area. + +2006-01-20 23:27 +0000 [r450] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: added U+0255, U+0264, U+0277, U+0286, U+029D. + Changed U+0261. + +2006-01-19 22:00 +0000 [r449] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: replaced Hardip Pannu Singh's Gurmukhi with + AnmolUni by Kulbir Singh Thind. + +2006-01-17 22:10 +0000 [r448] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd: Added U+018D, U+0194, U+01B5, U+01B6, + U+01BE, U+0262, U+02A2. + +2006-01-17 14:07 +0000 [r447] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd: Changed U+0261 in order to distinguish it + from U+0067. Changed U+0251, U+0252. + +2006-01-17 13:26 +0000 [r446] peterlin: + + * ChangeLog, + FreeSerifBoldItalic.sfd: * + FreeSerifBold.sfd: Small changes in the Cyrillic section. + Added U+0183, U+018C. + +2006-01-17 10:18 +0000 [r445] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: Added U+2045, U+2046. + +2006-01-17 10:02 +0000 [r444] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSansBold.sfd: * + FreeSansBold.sfd: Filled in the Gurkmukhi part with the + AnmolUni-Bold by Kulbir Singh Thind. Also some minor corrections + in the Cyrillic part. * CREDITS: Added Kulbir Singh Thind. * + AUTHORS: Added Kulbir Singh Thind. + +2006-01-14 18:09 +0000 [r443] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSerif.sfd: * + FreeSerif.sfd: Thomas Ridgeway's Tamil characters replaced by + the ones released by the Samyak font project. * CREDITS: Added + Pravin Satpute, Bageshri Salvi, Rahul Bhalerao and Sandeep + Shedmake * AUTHORS: Added Pravin Satpute, Bageshri Salvi, Rahul + Bhalerao and Sandeep Shedmake + +2006-01-08 14:12 +0000 [r442] peterlin: + + * ChangeLog, FreeSansBold.sfd, + FreeMonoBoldOblique.sfd: FreeSansBold.sfd, + FreeMonoBoldOblique.sfd: minor changes + +2006-01-05 22:18 +0000 [r441] peterlin: + + * ChangeLog: Noted moyogo's modifications in + ChangeLog as well. + +2006-01-05 16:12 +0000 [r440] moyogo: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: added cedi sign + U+20B5, Ghanaian currency + +2006-01-05 15:55 +0000 [r439] moyogo: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: added cedi sign U+20B5, + Ghanaian currency + +2006-01-05 15:44 +0000 [r438] moyogo: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: added cedi sign + U+20B5, Ghanaian currency + +2005-12-29 14:39 +0000 [r437] peterlin: + + * ChangeLog, FreeSans.sfd: + FreeSans.sfd: minor cleanup in the Gujarati part. + +2005-12-22 12:46 +0000 [r436] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: Devanagari and Gujarati parts cleared; once + again merged with Gargi 1.9 and Padmaa 0.6, this time correctly + so that the anchor points survived the merger. + +2005-12-16 15:48 +0000 [r435] peterlin: + + * ChangeLog, FreeSansBold.sfd: + FreeSansBold.sfd: added U+0577. + +2005-12-15 09:26 +0000 [r434] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd: * FreeSans.sfd: added + U+0559, U+055F, U+2024. * FreeSansBold.sfd: added U+056E, + U+0573. + +2005-12-14 10:07 +0000 [r433] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSans.sfd: * + FreeSans.sfd: Merged with Gargi 1.9 and Padmaa 0.6, courtesy + Monika Shah and Sonali Sonania from C-DAC, Mumbai. * CREDITS: + Added Monika Shah and Sonali Sonania. * AUTHORS: Added Monika + Shah and Sonali Sonania. + +2005-12-13 13:34 +0000 [r432] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSerif.sfd: * FreeSans.sfd - Removed + Sinhala glyphs. * FreeSerif.sfd - Added Sinhala glyphs, + formerly in FreeSans. + +2005-12-09 10:04 +0000 [r431] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: added U+20AF, U+211E. Changed U+20AC (EURO + SIGN) + +2005-12-09 09:34 +0000 [r430] peterlin: + + * ChangeLog, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: * FreeSerifBold.sfd: + added more glyphs from Txfonts to the Arrows and Mathematical + Symbols ranges. * FreeSerifBoldItalic.sfd: added U+03F5 from + Txfonts. + +2005-12-09 08:54 +0000 [r429] peterlin: + + * tools/freefont-ttf.spec (added): Specification + file for building a RPM package, courtesy Rok Papez. + +2005-12-08 14:58 +0000 [r428] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSans.sfd: added U+0567, U+056A, U+056C, U+0582. + +2005-12-08 14:19 +0000 [r427] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd: copied Box Drawing range from FreeSans. + +2005-12-08 13:13 +0000 [r426] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd: added glyphs from Txfonts to the Arrows + and Mathematical Symbols ranges. + +2005-12-08 09:59 +0000 [r425] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: added U+2259-225A, U+22BA, U+2308-230B, + U+2322-2323. Cyrillic composite characters replaced with + references. + +2005-12-07 23:30 +0000 [r424] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd: added U+025A, U+025D, U+026B, U+029B, + U+02AE, U+02AF, U+02DE. + +2005-12-07 22:20 +0000 [r423] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd: updated Hebrew part with Drugulin font + from the Culmus project. + +2005-12-07 20:54 +0000 [r422] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd: added U+207A-207C, U+208A-208C, U+2215-2216. + +2005-12-07 15:12 +0000 [r421] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: added U+ U+2320 TOP HALF INTEGRAL, U+23AE + INTEGRAL EXTENSION, U+2321 BOTTOM HALF INTEGRAL (bug #13370). + +2005-12-06 23:17 +0000 [r420] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd: added U+0294-0296, U+02A1-02A2. Started + adding "below" anchors. Performed hinting on characters that were + not hinted "en masse". + +2005-12-06 16:02 +0000 [r419] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: fixed some more metrics problems in the + Extended Greek area; performed hinting on characters that were + not hinted "en masse". + +2005-12-06 10:52 +0000 [r418] peterlin: + + * ChangeLog, Makefile: * Makefile: + clean also signature files. + +2005-12-06 09:46 +0000 [r416] peterlin: + + * ChangeLog, FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: * + FreeMonoBoldOblique.sfd, FreeMonoBold.sfd: cosmetic + changes; cleaning background of referenced composed characters. + +2005-12-05 17:52 +0000 [r415] teras: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Some changes to the + greek glyphs, mostly having to do with "tonos" (accent) + +2005-12-05 16:24 +0000 [r414] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: minor cosmetic changes. + +2005-12-05 15:18 +0000 [r413] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: adjusted widths of characters in the Extended + Greek range; accents are not any more considerably overhanging on + the left side. Added U+1EDA-1EE3, U+1EE8-1EF1. + +2005-12-05 09:03 +0000 [r412] peterlin: + + * ChangeLog, FreeSans.sfd: + FreeSans.sfd - continued working on Extended Greek range; not + finished yet. + +2005-12-03 11:15 +0000 [r411] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd: fixed combined Greek accents (bug #12800). + Width of characters still need to be adjusted as in FreeSerif. + +2005-12-03 10:56 +0000 [r410] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSerif.sfd: * + FreeSerif.sfd: fixed positions of Greek accents (bug #12798). + * CREDITS: Added Panayotis Katsaloulis. * AUTHORS: Added + Panayotis Katsaloulis.i + +2005-12-03 09:25 +0000 [r409] peterlin: + + * ChangeLog, Makefile: * Makefile: + minor changes; now creating also a tarfile with sfds. + +2005-12-01 15:31 +0000 [r408] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + * FreeSerifItalic.sfd: added U+0183, U+018C, U+01C0, U+01C1, + U+01C3, U+01E0, U+01E1, U+01F8, U+01F9. + +2005-12-01 15:03 +0000 [r407] peterlin: + + * ChangeLog, Makefile (added): * + Makefile: created a Makefile to assist building. + +2005-12-01 15:00 +0000 [r406] peterlin: + + * ChangeLog, README: README: an + update. + +2005-12-01 14:41 +0000 [r405] peterlin: + + * ChangeLog, COPYING (added): * + COPYING: added GNU General Public License, version 2. + +2005-12-01 12:40 +0000 [r404] peterlin: + + * ChangeLog, tools/GenerateTrueType + (added): * tools/GenerateTrueType: wrote a FontForge script for + conversion to TrueType. + +2005-12-01 11:07 +0000 [r403] peterlin: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerif.sfd: * FreeSerif.sfd: merged + with SolaimanLipi Bangla OpenType font from www.ekushey.org, + courtesy Solaiman Karim. * FreeSerifItalic.sfd: merged with + SolaimanLipi Bangla OpenType font from www.ekushey.org, slanted + by 15.5 degrees. + +2005-12-01 10:15 +0000 [r402] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSans.sfd, + FreeSansOblique.sfd: * FreeSans.sfd: + merged with Rupali Bangla OpenType font from www.ekushey.org * + FreeSansOblique.sfd: merged with Rupali Bangla OpenType font + from www.ekushey.org, slanted by 12 degrees. * CREDITS: added + Solaiman Karim * AUTHORS: added Solaiman Karim + +2005-11-30 14:42 +0000 [r401] peterlin: + + * AUTHORS, ChangeLog, + CREDITS, FreeSerif.sfd: * + FreeSerif.sfd: merged with the Rachana Normal. * AUTHORS: + added K.H. Hussain and R. Chitrajan * CREDITS: added K.H. Hussain + and R. Chitrajan + +2005-11-23 22:37 +0000 [r400] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added U+01A0-01A1, U+01AF-01B0, U+026E, + U+028F, U+0291, U+02A3-02A5, U+031B. Modified U+0198. + +2005-11-23 09:08 +0000 [r399] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - cleaned some background images. + +2005-11-22 22:20 +0000 [r398] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd: * FreeSans.sfd, + FreeSansBold.sfd - added U+0263. + +2005-11-22 15:51 +0000 [r397] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added U+2591-25A1, U+25A3-25A5, U+25AA, + U+25AC. + +2005-11-22 09:34 +0000 [r396] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added U+2504-250B. + +2005-11-21 23:12 +0000 [r395] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - added U+0574, U+0576. Removed overlaps. + +2005-11-21 22:47 +0000 [r394] peterlin: + + * ChangeLog, + FreeSerifBoldItalic.sfd: * + FreeSerifBoldItalic.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Added a couple of + glyphs in the IPA Extensions region. + +2005-11-21 15:49 +0000 [r393] peterlin: + + * ChangeLog, FreeMono.sfd, + FreeMonoOblique.sfd: * FreeMono.sfd - + corrected positions of some Greek diacritics on page 0x1F. * + FreeMonoOblique.sfd - working on bringing it in sync with + FreeMono.sfd. + +2005-11-20 22:56 +0000 [r392] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+02AA-02AC, U+02B0-02B2. + +2005-11-19 22:59 +0000 [r391] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added U+01B7-01B9, U+0196, U+019A, U+01C3, + U+0224-0225, U+025E, U+029A, U+2422. Changed U+0184-0185, U+0192, + U+01B4, U+0282, U+0284. + +2005-11-18 22:44 +0000 [r390] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - started Box Drawing area. + +2005-11-18 09:30 +0000 [r389] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+02EE, U+207F. + +2005-11-17 22:06 +0000 [r388] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - removed overlaps in Latin Extended-B and IPA + Extensions ranges. + +2005-11-17 12:59 +0000 [r387] peterlin: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: * + FreeMonoOblique.sfd, FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd, FreeSansOblique.sfd, + FreeSansBold.sfd, FreeSansBoldOblique.sfd, + FreeSerifItalic.sfd, FreeSerifBold.sfd, + FreeSerifBoldItalic.sfd - added U+FFFD. + +2005-11-17 12:33 +0000 [r386] peterlin: + + * ChangeLog, + FreeSerifBoldItalic.sfd: * + FreeSerifBoldItalic.sfd - added U+1EDA-1EE3, U+1EE8-1EF1, + U+2190-219B, U+219E-21A8, U+21B9-21BA, U+21C4-21CA, U+21E4-21E5, + U+2669-266F. MES-1 compliant. + +2005-11-17 10:43 +0000 [r385] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + * FreeSerifItalic.sfd - added U+018B, U+025C, U+0265, U+026F, + U+0279, U+0287, U+028C-028E, U+029E. + +2005-11-17 10:23 +0000 [r384] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + * FreeSerifItalic.sfd - added glyphs from the Omega project + to Latin Extended-B, IPA Extensions and Greek ranges. + +2005-11-17 09:31 +0000 [r383] peterlin: + + * ChangeLog, + FreeSerifBoldItalic.sfd: * + FreeSerifBoldItalic.sfd - added glyphs from the Omega project + to Latin Extended-B, IPA Extensions and Greek ranges. + +2005-11-17 09:09 +0000 [r382] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd - added glyphs from the Omega project to + Latin Extended-B, IPA Extensions and Greek ranges. + +2005-11-16 23:17 +0000 [r381] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added a handful of letters in the Latin + Extended-B and IPA Extension ranges from the Omega font + collection. + +2005-11-16 22:37 +0000 [r380] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + * FreeSerifItalic.sfd - started added accent anchors. Added a + handful of Greek letters from Omega font collection. + +2005-11-16 15:41 +0000 [r379] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + * FreeSerifItalic.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points + +2005-11-16 15:02 +0000 [r378] peterlin: + + * papers/eurotex2003/freefont.bib, + papers/eurotex2003/freefont.tex: Changed files + sent back by Karl Berry. The text should now exactly match the + paper published in TUGboat 24(2003)545-549. + +2005-11-16 14:49 +0000 [r377] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSansOblique.sfd: * FreeSansOblique.sfd + - applied the sequence suggested by Werner Lemberg for reducing + redundant points. * FreeSans.sfd - changed U+01A5. + +2005-11-16 13:23 +0000 [r376] moyogo: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerif.sfd: fixed latin gamma and baby + gamma in Serif; added Ezhes variations to SerifItalic + +2005-11-16 12:50 +0000 [r375] peterlin: + + * ChangeLog, FreeMonoOblique.sfd: + * FreeMonoOblique.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Added U+F6BE. + +2005-11-16 12:28 +0000 [r374] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+0255, U+025A, U+025D, U+025F, + U+0262-0263, U+026B-026C, U+0274, U+0276-0277, U+028F, U+0291, + U+029D. + +2005-11-16 10:36 +0000 [r373] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - replaced Greek letters with references, where + applicable. Added U+03D7, U+03F0-03F2. + +2005-11-16 09:39 +0000 [r372] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - Made small Greek letters the same height as + Latin and Cyrillic ones and replaced them with references, where + applicable. + +2005-11-15 23:09 +0000 [r371] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - applied the sequence suggested by Werner + Lemberg for reducing redundant points. Replaced accented glyphs + in the Latin-1 and Latin Extended-A areas with references. Made + capital Greek letters the same height as Latin and Cyrillic ones + and replaced them with references, where applicable. + +2005-11-15 19:21 +0000 [r370] moyogo: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: fixed U+026A, to + prevent confusion with U+0069 when accented + +2005-11-15 12:18 +0000 [r369] peterlin: + + * ChangeLog, FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: * + FreeMonoBold.sfd - corrected Greek tonos (slanted instead of + a vertical line). * FreeMonoBoldOblique.sfd - applied the + sequence suggested by Werner Lemberg for reducing redundant + points. Replaced accented glyphs in the Latin-1 and Latin + Extended-A areas with references. + +2005-11-14 23:20 +0000 [r368] peterlin: + + * ChangeLog, FreeMonoBold.sfd: * + FreeMonoBold.sfd - applied the sequence suggested by Werner + Lemberg for reducing redundant points. Replaced accented glyphs + in the Latin-1 and Latin Extended-A areas with references. + +2005-11-14 22:44 +0000 [r367] peterlin: + + * ChangeLog, FreeMono.sfd: * + FreeMono.sfd - applied the sequence suggested by Werner + Lemberg for reducing redundant points. Replaced accented glyphs + in the Greek and Cyrillic areas with references. + +2005-11-14 13:43 +0000 [r366] peterlin: + + * ChangeLog, + FreeSansBoldOblique.sfd: * + FreeSansBoldOblique.sfd - added U+0180, U+0184, U+0185, + U+0195, U+01A0-01A2, U+01AF-01B0, U+025E, U+026E, U+0292, + U+0294-0296, U+029A, U+02A1, U+2126-2127, U+2190-219B, + U+219E-21A8, U+21C4-21CA, U+2669-266F. MES-1 compliant. + +2005-11-14 12:55 +0000 [r365] peterlin: + + * ChangeLog, + FreeSansBoldOblique.sfd: * + FreeSansBoldOblique.sfd - applied the sequence suggested by + Werner Lemberg for reducing redundant points. Replaced accented + glyphs in the Latin-1 area with references. + +2005-11-14 09:07 +0000 [r364] peterlin: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Added 2005 in + copyright info. + +2005-11-13 23:19 +0000 [r363] peterlin: + + * ChangeLog, FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: * FreeSerif.sfd - + applied the sequence suggested by Werner Lemberg for reducing + redundant points. * FreeSansBold.sfd - added U+219A, U+219B, + U+2669-266F. * FreeSerifBold.sfd - added U+2669-266F. + +2005-11-12 22:31 +0000 [r362] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSansBold.sfd - added U+0180, U+0181, U+0183, U+0187, + U+0188, U+018A, U+018C, U+018D, U+0193, U+019C, U+01A0, U+01A1, + U+01AC, U+01AF, U+01B0, U+025C, U+0260, U+026E, U+0277, U+0281, + U+0284. + +2005-11-11 22:50 +0000 [r361] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd - applied the sequence for reducing + redundant points, suggested by Werner Lemberg. Added U+01A5, + U+02A0, U+2190-219B, U+219E-21A8, U+21B8, U+21B9, U+21C4-21CA, + U+21E4, U+21E5. + +2005-11-11 15:52 +0000 [r360] peterlin: + + * ChangeLog, FreeMono.sfd: * + FreeMono.sfd - corrected Greek letters (using tonos instead + of a vertical line). Added U+026E, U+F6BE. Accented characters in + Latin 1, Latin Extended A and partly Latin Extended B replaced by + references. + +2005-11-11 15:03 +0000 [r359] peterlin: + + * ChangeLog, FreeMono.sfd: * + FreeMono.sfd - applied the sequence for reducing redundant + points, suggested by Werner Lemberg. + +2005-11-11 10:40 +0000 [r358] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - added U+195, U+1A6, U+025E, U+026E, + U+029A, U+0313, U+0314, U+0342, U+0344, U+0345. Started adding + accent anchors. + +2005-11-10 22:56 +0000 [r357] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - replaced glyphs with references in the + Cyrillic area. Removed U+04A8, U+04A9. Added U+04C5, U+04C6, + U+04C9, U+04CA, U+04CD, U+04CE, U+0535, U+053F, U+0546, U+0565, + U+0584, U+0587, U+0589. + +2005-11-10 22:11 +0000 [r356] peterlin: + + * ChangeLog, FreeSansOblique.sfd: + * FreeSansOblique - changed U+0192, U+01A5; added + U+01C0-01C3. + +2005-11-10 17:01 +0000 [r355] moyogo: + + * ChangeLog, FreeSans.sfd, + FreeSansOblique.sfd: added a couple of IPA + characters to FreeSans and FreeSansOblique + +2005-11-10 15:53 +0000 [r354] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - applied the sequence for reducing + redundant points, suggested by Werner Lemberg. Added + automatically constructed accented characters in page 0x1E. + +2005-11-10 13:28 +0000 [r353] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - added U+00A0, U+00AD, U+0531, U+2126, + U+2190-2199, U+219E-21A8, U+21C4-21CA. + +2005-11-10 10:07 +0000 [r352] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+01A6. Simplified outlines in the + ASCII range. + +2005-11-09 22:42 +0000 [r351] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+0184, U+0185, U+018D, U+0195, U+0197, + U+019A, U+019B, U+01A0, U+01A1, U+01AC, U+01B5, U+01B6, U+01C0, + U+01C1, U+01C3, U+01F6, U+0294-0296, U+1E9A, U+1EDA-1EE3, + U+1EE8-1EF1. + +2005-11-09 15:41 +0000 [r350] peterlin: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd: * + FreeSerifItalic.sfd - changed U+03D5. * + FreeSerifBoldItalic.sfd - changed U+03C6; added U+2070, + U+2075-2079, U+207F, U+2080, U+2085-2089, U+2155-217F. + +2005-11-09 14:32 +0000 [r349] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added U+1EA2, U+1EA3, U+1EA8, U+1EA9, U+1EB2, + U+1EB3, U+1EBA, U+1EBB, U+1EC2, U+1EC3, U+1EC8, U+1EC9, U+1ECE, + U+1ECF, U+1ED4, U+1ED5, U+1EE6, U+1EE7, U+1EF6, U+1EF7, U+220A, + U+220B, U+220D, U+2272, U+2273, U+2282, U+2283. + +2005-11-09 12:57 +0000 [r348] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+0183, U+018C. + +2005-11-07 21:00 +0000 [r347] peterlin: + + * FreeSansBold.sfd: FreeSansBold.sfd - added + U+0562, U+056D. U+0575. + +2005-11-07 11:39 +0000 [r346] peterlin: + + * ChangeLog, FreeMono.sfd: * + FreeSansBold.sfd - added U+0562, U+056D. U+0575. * + FreeMono.sfd - added U+0589. + +2005-11-06 22:20 +0000 [r345] peterlin: + + * ChangeLog, FreeMono.sfd, + FreeMonoBold.sfd: * FreeMono.sfd - added + U+2227, U+2228, U+2262. Corrected U+2299-229D in response to bug + report http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276121 * + FreeMonoBold.sfd - added U+2010, U+2012 in response to bug + report http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=289032 + Swapped U+03C6 (Greek small letter phi) and U+03D5 (Greek phi + symbol) in order to conform to Unicode standard. Simplified glyph + shapes in ASCII range. Started adding "above" and "below" + anchors. + +2005-11-06 20:47 +0000 [r344] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added U+0278, U+03D5, U+2248. Corrected + U+2071, U+222E, U+2242, U+2243 in response to bug reports + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276118 + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=276120 + +2005-11-05 23:18 +0000 [r343] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - accented letters in Latin Extended-A replaced + by references wherever possible. * FreeSerif.sfd - added + U+0180, U+0181, U+0187, U+0188, U+018A, U+0193, U+019C, U+01A4, + U+01A5, U+01A7, U+01A8, U+01AF, U+01B0, U+026E, U+0270, U+0278, + U+0280, U+0281, U+028B, U+0299, U+029C, U+029F. + +2005-11-03 09:32 +0000 [r342] peterlin: + + * ChangeLog, FreeSansBold.sfd: + FreeSansBold.sfd - cleaner Arabic outlines. Added U+01E4, + U+01E5. + +2005-11-02 23:25 +0000 [r341] peterlin: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd: * FreeSansBold.sfd - + added U+0180, U+0184, U+0185, U+0192, U+019B, U+01A0-01A2, + U+01AF, U+01B0, U+01EE, U+01EF, U+0292, U+0294-0296, U+02A1, + U+0532, U+054C, U+057C, U+222B. Changed U+014B, U+01A5, U+01B4, + U+03BB. * FreeSans.sfd - added U+04C5, U+04C6, U+04C9, + U+04CA, U+04D, U+04CE. + +2005-11-02 09:52 +0000 [r340] peterlin: + + * ChangeLog, FreeMono.sfd: * + FreeMono.sfd - swapped U+03C6 (Greek small letter phi) and + U+03D5 (Greek phi symbol) in order to conform to Unicode + standard. Added U+04C5, U+04C6, U+04C9, U+04CA, U+04D, U+04CE. + +2005-11-02 09:11 +0000 [r339] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - started Armenian; added U+0538, U+0542, + U+0544, U+0548, U+054D, U+054F, U+0550, U+0553, U+0555, U+0561, + U+0563, U+0564, U+0566, U+0568 U+056B, U+056F, U+0570, U+0572, + U+0578, U+057A, U+057D-057F, U+0580, U+0581, U+0583, U+0585. + +2005-11-01 22:12 +0000 [r338] peterlin: + + * ChangeLog, FreeSansBold.sfd, + FreeSansBoldOblique.sfd: * + FreeSansBold.sfd - modified U+019C. * + FreeSansBoldOblique.sfd - added U+00A0, U+00AD, U+019C, + U+01B7, U+01B8, U+0275, U+0278, U+0298, U+2012, U+2015, + U+2070-207F, U+2080-208E, U+2153-217F, U+2213, U+2215. + +2005-10-31 11:37 +0000 [r337] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+0199, U+01AB, U+0265, U+0282, U+0288, + U+028C-028E, U+0290, U+029E, U+02A0. + +2005-10-28 23:13 +0000 [r336] peterlin: + + * ChangeLog, FreeSerifBold.sfd: + FreeSerifBold.sfd - added U+0199, U+019B, U+01B8, U+01B9, + U+01BE, U+01C0, U+0262, U+0274, U+0278, U+0280, U+028F, U+0298, + U+0299, U+029C, U+029E, U+029F, U+2012, U+2015, U+2016, U+2129, + U+2217. + +2005-10-28 12:20 +0000 [r335] peterlin: + + * ChangeLog, FreeSerifBold.sfd: + FreeSerifBold.sfd - added U+2070, U+2075-2079, U+2080, + U+2085-2089, U+2153-215E, U+2113-2115, U+2119. + +2005-10-28 09:03 +0000 [r334] peterlin: + + * ChangeLog, FreeSerifBold.sfd: + FreeSerifBold.sfd - added U+019E, U+01AB, U+01AD, U+01B1, + U+0256, U+025F, U+0265, U+0269, U+026F, U+0270, U+0279-027F, + U+0282, U+0287, U+0288, U+028C-028E, U+0290. + +2005-10-27 22:26 +0000 [r333] peterlin: + + * ChangeLog, FreeSerifBold.sfd: + FreeSerifBold.sfd - added U+018B, U+018E, U+018F, U+0191, + U+019D, U+01A7, U+01A8, U+01AE, U+0253, U+0266, U+0267, U+026A, + U+0271-0273, U+0283, U+0285. + +2005-10-27 14:28 +0000 [r332] peterlin: + + * ChangeLog, FreeSansBold.sfd: + FreeSansBold.sfd - added subscripts and superscripts + (U+2070-208F), completed fractions (U+2152-215F) and Roman + numerals (U+2160-217F). + +2005-10-27 13:44 +0000 [r331] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + FreeSerifItalic.sfd - minor cleanup in the superscript range + (U+2070-2079). + +2005-10-27 09:42 +0000 [r330] peterlin: + + * ChangeLog, FreeSans.sfd: + FreeSans.sfd - added U+018D, U+0194, U+019B, U+019C, U+01B5, + U+01B6, U+0295, U+0296, U+029B, U+02A2, U+0472, U+0473, U+2114, + U+2119. + +2005-10-26 21:31 +0000 [r329] peterlin: + + * ChangeLog, FreeSans.sfd: + FreeSans.sfd - Added U+01C0-01C2, U+0276, U+0292, U+0298. + Changed U+0251, U+0294, U+02A1. + +2005-10-26 14:45 +0000 [r328] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - Added U+2010-2012, U+2015, U+2032, U+203C, + U+2047-2049. + +2005-10-26 13:56 +0000 [r327] peterlin: + + * ChangeLog, FreeSansBold.sfd: * + FreeSansBold.sfd - added U+0278, U+0298. Cleaned up outlines + of most Greek letters. + +2005-10-26 12:52 +0000 [r326] peterlin: + + * ChangeLog, FreeMono.sfd: * + FreeMono.sfd - a try to imitate Denis' work on adding anchors + by adding "above" anchor to a couple of basic Latin characters. + +2005-10-26 11:57 +0000 [r325] peterlin: + + * ChangeLog, FreeMono.sfd: + FreeMono.sfd - added U+2011, U+2012, U+203B, U+204A, U+2071, + U+2129, U+2232, U+2233. Changed and/or corrected U+2106, U+211E, + U+2126, U+2127, U+2153-215F, U+2202. + +2005-10-26 08:18 +0000 [r324] peterlin: + + * ChangeLog, FreeSans.sfd: * + FreeSans.sfd - added "above" anchors to selected Cyrillic + characters. Added U+0294, U+02A1. + +2005-10-25 14:29 +0000 [r323] peterlin: + + * ChangeLog, FreeSansOblique.sfd: + FreeSansOblique.sfd - added U+00A0, U+2011-2012, U+2015, + U+2070, U+2071, U+2074-2079, U+2080-2089, U+2126, U+2153-215F, + U+2190-2195, U+2215, U+266A. FreeSansOblique is now MES-1 + compliant. + +2005-10-25 14:00 +0000 [r322] peterlin: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: + FreeSansOblique.sfd, FreeSans.sfd, FreeSansBold.sfd, + FreeSansBoldOblique.sfd, FreeMonoBoldOblique.sfd, + FreeMonoBold.sfd, FreeSerifItalic.sfd, + FreeSerifBold.sfd FreeSerifBoldItalic.sfd - brought in + sync with Valek Filipov's urw-fonts-1.0.7pre41 + +2005-10-25 12:13 +0000 [r321] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+019E, U+01AD, U+01B8, U+01B9, U+0253, + U+0256, U+0257, U+025C, U+0260, U+0266, U+0267, U+0269, U+026D, + U+0271-0273, U+0279-027D. + +2005-10-25 09:53 +0000 [r320] peterlin: + + * ChangeLog, + FreeSerifBoldItalic.sfd: + FreeSerifBoldItalic.sfd - added U+00A0, U+00AD, U+2010-2012, + U+2015, U+2032-2034, U+203C, U+2047-204A, U+2074, U+2081-2084, + U+2126, U+2153, U+2154, U+215F, U+2215. Corrected positions of + diacritics on U+0200-0217. + +2005-10-25 09:06 +0000 [r319] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+0191, U+019D, U+01AE, U+027E, U+027F, + U+0283, U+0285. + +2005-10-25 08:12 +0000 [r318] peterlin: + + * ChangeLog, FreeSerifItalic.sfd: + FreeSerifItalic.sfd - added U+00A0, U+00AD, U+2010-2012, + U+2015, U+2126, U+2127, U+2153-215E, U+2160-217F, U+2190-2193, + U+2669-266F. FreeSerifItalic is now MES-1 compliant. + +2005-10-24 19:34 +0000 [r317] moyogo: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: added ccmp feature + for i and j to be substituted with dotless i or j when followed + by above diacritic + +2005-10-24 15:01 +0000 [r316] peterlin: + + * ChangeLog, FreeSans.sfd: + FreeSans.sfd - added U+2011, U+2012, U+2015. FreeSans is now + MES-1 conformant. + +2005-10-23 12:29 +0000 [r314-315] moyogo: + + * FreeSans.sfd: added above, below, abovemk and + belowmk anchors for diacritics placement; cleared U+0084 + + * ChangeLog, FreeSans.sfd: added + above, below, abovemk and belowmk anchors for diacritics + placement + +2005-10-21 12:18 +0000 [r313] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+02B9, U+02BA, U+02CD, U+2017, U+2036, + U+2037, U+203C, U+203E, U+2047-204A. + +2005-10-20 12:04 +0000 [r312] peterlin: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added U+00A0, U+00AD, U+0182, U+0189, U+018B, + U+018E, U+018F, U+0192, U+019F, U+01A9, U+01B1, U+01B7, U+01DD, + U+2010-2013, U+2015. FreeSerif is now MES-1 conformant. + +2005-10-20 11:13 +0000 [r311] peterlin: + + * ChangeLog, FreeSerifBold.sfd: * + FreeSerifBold.sfd - added U+0182, U+0189, U+0192, U+019F, + U+01A9, U+01B7, U+01C4-01CC, U+01E0-1E2, U+01F0-01F3, U+F6BE. + Corrected position of diacritics on U+0200-0217. + +2005-10-19 13:03 +0000 [r310] moyogo: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: * FreeSerif.sfd - added + U+0268, U+026A, U+0289, U+0292; and anchor "above" to more base + glyphs. * FreeSerifBold.sfd, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd - added U+0250-0252, U+0258-0259, + U+0261, U+0268, U+026A, U+0279, U+0289 * FreeSerifBold.sfd - + added anchor "above" to marks U+0300-0314, and to base glyphs + (vowels). + +2005-10-18 20:36 +0000 [r309] moyogo: + + * ChangeLog, FreeSerif.sfd: * + FreeSerif.sfd - added anchor "above" to marks U+0300-0314, + and bases vowel of the U+0041-007A range, U+00E6, U+0186, U+0190, + U+0254 and U+025B; fixed Latin-1 Supplement block accented glyphs + to use references. + +2005-10-17 09:25 +0000 [r308] peterlin: + + * ChangeLog, FreeSansBold.sfd: + FreeSansBold.sfd - added U+01B7, U+01B8, U+0275. + +2005-10-16 18:06 +0000 [r307] moyogo: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: * FreeSans.sfd, + FreeSansOblique.sfd - added some Latin Extended-B African + letters: U+0181, U+018A, U+0197-0198, U+01A4, U+01AC, U+01B1, + U+01B3-01B4; * FreeSansBold.sfd, FreeSansBoldOblique.sfd + - added Latin Extended-B U+0187, 018E-018F, U+0191, U+0193, + U+0197-0199, U+019D-019F, U+01AB-01AE; correcting width of + non-space Combining Diacrtical Marks; added more glyphs to IPA + Extensions to match non Bold * FreeSansBoldOblique.sfd - + added many accented glyphs + +2005-10-15 20:59 +0000 [r306] moyogo: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: * FreeSans.sfd, + FreeSansOblique.sfd - added IPA Extensions + U+0262,U+0274,U+0280-0281, U+0299, U+029F, and Spacing Modifier + Letters U+02C9-02CB; fixed U+0287,029E height to baseline; added + stroke to U+0268 * FreeSansOblique.sfd - fixed skew on U+027F + * FreeSansBold.sfd, FreeSansBoldOblique.sfd - added to + Latin Extended-B U+01A7-01A8, IPA Extensions U+0251-0253, + U+0256-0257, U+0261, U+0265-026A, U+026F-0273, U+0289, + U+028C-028E * FreeSansBoldOblique.sfd - added to Latin + extended-B U+0189, U+01A8, U+01B1, U+0283, U+02C9 and Spacing + Modifiers U+02C9-02CB + +2005-10-14 13:47 +0000 [r304-305] peterlin: + + * ChangeLog: FreeSansBold.sfd - Added a couple + of composite glyphs, mostly in the IPA and Latin Extended B + ranges. + + * FreeSansBold.sfd: Added a couple of composite + glyphs, mostly in the IPA and Latin Extended B ranges. + +2005-10-13 17:58 +0000 [r303] moyogo: + + * ChangeLog, FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: * FreeSans.sfd - + removed overlap and simplified U+0187, 0191, 0193, 01A5, 01AE, + 0260, 0271, 0272, 0273, 027B; fixed diacritics placement on + U+0200-0217; fixed glyph for U+0283 to correct esh without + stroke; added U+025F and fixed U+025F from it; fixed height of + glyph at U+0285; arranged U+027E,027F to make more + distinguishable from U+0072. * FreeSansOblique.sfd - added the + corrected or new glyphs from FreeSans; diacritics on U+200-0217 + will need height readjustements. * FreeSansBold.sfd, + FreeSansBoldOblique - added U+0186, 0190, 0250, 0254, 0258, 0259, + 025B, 025C + +2005-10-13 15:00 +0000 [r302] moyogo: + + * FreeSerifBoldItalic.sfd: fixed open o, U+0254, + that was left unturned + +2005-10-13 12:51 +0000 [r299-301] peterlin: + + * FreeSerifItalic.sfd: Added glyphs + U+222B-U+222F, U+2320, U+2321. Fixed diacritics on U+0200-U+0217. + + * AUTHORS, ChangeLog, + CREDITS: Added Denis Jacquerye. + + * FreeSerif.sfd: Minor changes: U+22A2, U+22A3, + U+22A6, U+23AE. Added U+0250, U+0251, U+0258, U+0259, U+0275. + +2005-10-13 05:58 +0000 [r298] moyogo: + + * ChangeLog, FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: 2005-10-12 Denis Jacquerye + * FreeSerif.sfd - Corrected diacritics + position on U+01D5-01D9,01DB,01EA-01ED,0200-0217 and U+022A. * + FreeSerif.sfd, FreeSerifBold.sfd, + FreeSerifItalic.sfd, FreeSerifBoldItalic.sfd - added + U+0186,0190,0254 and U+025B. + +2005-10-11 15:11 +0000 [r297] peterlin: + + * FreeSerif.sfd: Attempt to correct bug #13370: + INTEGRAL EXTENSION does not align with TOP/BOTTOM HALF INTEGRAL; + added glyph U+23AE. + +2005-10-11 14:33 +0000 [r296] peterlin: + + * FreeSerif.sfd: Fixed bug #13399 (glyphs for + U+0360 and U+0361 swapped). + +2005-05-16 14:33 +0000 [r295] peterlin: + + * ChangeLog, FreeMono.sfd: + Corrected shapes for Cross of Lorraine and Cross of Jerusalem. + +2005-04-07 13:45 +0000 [r294] peterlin: + + * notes (added), + notes/maintenance.txt (added): Some basic notes + how things work with Savannah. + +2005-04-07 13:25 +0000 [r292-293] peterlin: + + * FreeSansBold.sfd: Added some combining + accents, just to test a new version of FontForge. + + * ChangeLog: Minor change to FreeSansBold. + +2003-11-18 16:26 +0000 [r291] peterlin: + + * FreeSans.sfd: Started to apply Josef Segur's + patch. + +2003-10-08 12:22 +0000 [r290] peterlin: + + * AUTHORS, ChangeLog: Added Abbas + Izad. + +2003-10-08 12:18 +0000 [r289] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeMonoOblique.sfd: Applied Josef Segur's + corrections from Oct. 5. + +2003-10-04 17:51 +0000 [r288] peterlin: + + * FreeSerif.sfd: A rather naive composition of + Arabic "accented" charachers, based on the work of Abbas Izad. + +2003-10-02 20:54 +0000 [r286-287] peterlin: + + * ChangeLog: Update. + + * FreeSerif.sfd: Abbas Izad's contributed + Arabic/Farsi characters added. + +2003-10-02 20:09 +0000 [r284-285] peterlin: + + * ChangeLog: Update. + + * FreeSansBoldOblique.sfd: Combining chars + corrected (this one escaped the batch). + +2003-10-02 19:55 +0000 [r283] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Combining characters + (U+0300 - U+036F) moved left, so that they have negative + horizontal values and zero advance width. + +2003-09-15 09:23 +0000 [r282] peterlin: + + * FreeSerifItalic.sfd: Super- and subscripts + added. Those copied from Free Serif regular (0,5-9) seem a bit + heavier to me than 1-4 designed specially for italic. Might + require a further adjustment. : + ---------------------------------------------------------------------- + +2003-09-15 09:08 +0000 [r281] peterlin: + + * FreeSerifItalic.sfd: Started working on super- + and subscripts. + +2003-09-15 08:36 +0000 [r280] peterlin: + + * FreeSerifBold.sfd: Started working on super- + and subscripts. + +2003-09-12 14:12 +0000 [r279] peterlin: + + * FreeSerif.sfd: Added three Hiragana characters + (U+3094, U+3099 and U+309B) and 6 Katakana characters + (U+30F4-U+30FC). + +2003-09-12 13:53 +0000 [r278] peterlin: + + * FreeSansBold.sfd: Cleared background + characters in Latin Extended-A. Added some automatically + constructed characters in Latin Extended-B. Started with + superscripts and subscripts. + +2003-09-12 12:53 +0000 [r277] peterlin: + + * FreeSans.sfd: Subscript numerals + (U+2080-U+2089) completed. + +2003-09-12 12:40 +0000 [r276] peterlin: + + * FreeSans.sfd: Upgraded Pfaedit to 030827. Two + Hiragana characters (U+3099, U+309B) and 8 Katakana characters + (U+30F7-U+30FE) added. + +2003-06-02 05:34 +0000 [r275] teras: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Basic ancient greek + support + +2003-05-22 19:35 +0000 [r274] teras: + + * FreeSansBold.sfd: Basic ancient greek support + +2003-05-22 18:05 +0000 [r273] teras: + + * FreeSans.sfd: Basic ancient greek support + +2003-05-19 08:18 +0000 [r272] peterlin: + + * ChangeLog: Upload. + +2003-05-19 08:15 +0000 [r271] peterlin: + + * FreeSerifItalic.sfd: Improved control point + positioning on Thai character fongman. Actually, Thai needs some + work here... + +2003-05-19 08:09 +0000 [r270] peterlin: + + * FreeSerif.sfd: Thai letters bo baimai and po + pla swapped; Thai character fongman corrected, all courtesy + Theppitak Karoonboonyanan. + +2003-05-19 07:45 +0000 [r269] peterlin: + + * ChangeLog: Update. + +2003-05-17 00:55 +0000 [r268] teras: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Full support of all ancient + greek glyphs + +2003-05-16 09:41 +0000 [r267] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSansBold.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Saved in a new SFD + format with a new version of PfaEdit. + +2003-05-15 12:15 +0000 [r266] peterlin: + + * ChangeLog: Mentioned KerningNumerals.pl. + +2003-05-15 12:07 +0000 [r265] peterlin: + + * ChangeLog: Update. + +2003-05-15 12:04 +0000 [r263-264] peterlin: + + * tools/KerningNumerals.pl: Now doing the new-style + kerning information (KernsSLIF) as well. + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Oops! It's KernsSLIF, + not Kerns. Corrected. + +2003-05-15 11:58 +0000 [r262] peterlin: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Completed moving + kerning information from ASCII numerals to kerned numerals in the + Adobe corporate use area (U+F6xx). + +2003-05-15 10:32 +0000 [r261] peterlin: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Automatically moved + kerning information from ASCII numerals with the + KerningNumerals.pl script. + +2003-05-15 10:27 +0000 [r259-260] peterlin: + + * FreeSansBold.sfd: Automatically moved kerning + information with the KerningNumerals.pl script. + + * tools/KerningNumerals.pl (added): A Perl script + for moving kerning information from ASCII numerals (U+0030...) to + characters in the Adobe corporate use area (U+F6xx). + +2003-05-14 12:10 +0000 [r258] peterlin: + + * ChangeLog: Update + +2003-05-14 12:00 +0000 [r257] peterlin: + + * FreeSans.sfd: First approximation of super- + and subscript numerals and vulgar fractions. + +2003-05-14 10:00 +0000 [r256] peterlin: + + * ChangeLog: Update. + +2003-05-14 09:57 +0000 [r255] peterlin: + + * FreeSerif.sfd: Super- and subscript numerals + complete, vulgar fractions completed and redone as references + rather than outlines. + +2003-05-12 16:58 +0000 [r253-254] peterlin: + + * ChangeLog: Update + + * FreeSerif.sfd: Super- and subscripts, vulgar + fractions. + +2003-05-12 16:12 +0000 [r251-252] peterlin: + + * ChangeLog: Update. + + * FreeSerif.sfd: Rounded to integer. + +2003-05-12 15:45 +0000 [r250] peterlin: + + * FreeSerif.sfd: Cleanup of the Cyrillic letters + added on March 27. + +2003-05-09 09:56 +0000 [r249] peterlin: + + * ChangeLog: Update. + +2003-05-09 09:53 +0000 [r248] peterlin: + + * FreeMonoBold.sfd: Additions in the Latin + Extended-B and IPA Extensions range. + +2003-05-08 09:07 +0000 [r246-247] peterlin: + + * ChangeLog: Update. + + * FreeSerifBoldItalic.sfd: Added a couple of + characters to the Latin Extended-B area. + +2003-05-08 08:37 +0000 [r245] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: ASCII numerals now + monospaced; kerned numerals moved to Adobe corporate use area + (U+F6xx). + +2003-05-08 07:47 +0000 [r244] peterlin: + + * ChangeLog: Update. + +2003-05-07 15:56 +0000 [r243] peterlin: + + * FreeSans.sfd, + FreeSerif.sfd: Roman numerals. + +2003-05-07 15:13 +0000 [r242] peterlin: + + * FreeSans.sfd: Added characters in the Latin + Extended-B range. + +2003-05-07 13:56 +0000 [r241] peterlin: + + * FreeSans.sfd: Added Greek accents. + +2003-05-07 13:19 +0000 [r240] peterlin: + + * FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Automated addition of + accented characters. + +2003-05-07 12:57 +0000 [r239] peterlin: + + * FreeMonoBoldOblique.sfd: Additions in Latin + Extended-B and Basic Greek. + +2003-05-07 12:13 +0000 [r237-238] peterlin: + + * FreeMonoBoldOblique.sfd: Points rounded to + integer values; glyphs simplified. + + * FreeMonoBoldOblique.sfd: Cleanup (fixed + widths, clockwise/counter-clockwise corrections etc.) + +2003-05-07 11:53 +0000 [r236] peterlin: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd: Points rounded to integer + values; outlines simplified. + +2003-05-07 11:48 +0000 [r234-235] peterlin: + + * FreeSans.sfd: Rounded to integer and + simplified. + + * FreeSans.sfd: Cleanup (open paths fixed). + +2003-05-07 11:40 +0000 [r232-233] peterlin: + + * FreeMonoOblique.sfd: Kerning pairs removed. + + * FreeMonoOblique.sfd: Cleanup (path direction + etc.) + +2003-05-07 10:16 +0000 [r231] peterlin: + + * FreeMonoBold.sfd: Cleanup + (clockwise/counter-clockwise direction corrected). + +2003-05-07 10:01 +0000 [r230] peterlin: + + * FreeMono.sfd: Major cleanup (fixed widths, + open paths, clockwise/counter-clockwise directions etc.). + +2003-05-06 15:54 +0000 [r229] peterlin: + + * FreeSans.sfd: Proportional numerals don't + really have to be outlines - references are enough. Caught two + remaining numeral kerns, ",1" and ".1". Free Sans is now clean. + +2003-05-06 15:39 +0000 [r228] peterlin: + + * FreeSansBold.sfd: ASCII numerals now + monospaced; kerned numerals moved to Adobe corporate use area + (U+F6xx). Not finished yet - left kerns are done, right only up + to letter C! + +2003-05-06 14:39 +0000 [r227] peterlin: + + * FreeSans.sfd: ASCII numerals now monospaced; + kerned numerals moved to Adobe corporate use area (uniF6xx). + +2003-05-06 13:09 +0000 [r226] peterlin: + + * tools/OS2UnicodeRange (added): A simple script to + display OS/2 Unicode range table in TrueType fonts. + +2003-05-06 11:53 +0000 [r225] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Updated years of FSF + copyleft. + +2003-05-06 11:36 +0000 [r224] peterlin: + + * FreeMonoBold.sfd: Minor changes in Latin + Extended-B and IPA Extensions. + +2003-04-02 15:54 +0000 [r223] peterlin: + + * papers (added), papers/eurotex2003 + (added), papers/eurotex2003/eurotex2003.cls + (added), papers/eurotex2003/freefont.bib (added), + papers/eurotex2003/freefont.tex (added): Paper for + the EuroTeX 2003 conference, ENST Bretagne, Brest, June 24-27. + +2003-03-27 08:40 +0000 [r222] peterlin: + + * AUTHORS, ChangeLog, + CREDITS: Update. + +2003-03-27 08:13 +0000 [r221] peterlin: + + * FreeSerif.sfd: Cyrillic and Cyrillic + Supplement blocks brought to conformance with Unicode 3.2, + courtesy Daniel Shurovich Chirkov. + +2003-03-19 17:31 +0000 [r220] peterlin: + + * FreeSansOblique.sfd: Synchronized germandbls + (U+00DF) with the one in FreeSans. + +2003-03-19 17:17 +0000 [r219] peterlin: + + * FreeSans.sfd: Made somewhat wider germandbls + (U+00DF). Walter Schmidt brought up this problem with URW fonts + in the tex-fonts list. + +2003-03-18 16:38 +0000 [r218] peterlin: + + * FreeSans.sfd: Added Sinhala glyphs from the + Tipitaka project , recoded to Unicode by + Noah Levitt. + +2003-02-27 13:56 +0000 [r217] peterlin: + + * FreeSansBold.sfd: Somewhat "cleaner" glyphs in + the Greek part. + +2003-02-24 12:49 +0000 [r216] peterlin: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: All numerals set to + equal width (556 points). + +2003-02-21 16:58 +0000 [r215] peterlin: + + * FreeSans.sfd: A nicer capital schwa. + +2003-02-19 09:35 +0000 [r213-214] peterlin: + + * ChangeLog: Update. + + * FreeSans.sfd: Minor changes on mathematics + operators. + +2003-02-18 16:57 +0000 [r212] peterlin: + + * FreeSans.sfd: Added two Tamil signs (virama + and au length mark). + +2003-02-18 11:35 +0000 [r211] peterlin: + + * ChangeLog: Update. + +2003-02-18 11:28 +0000 [r210] peterlin: + + * FreeMono.sfd: Integral signs more in the + spirit of Courier design. + +2003-02-18 11:12 +0000 [r209] peterlin: + + * FreeMono.sfd: Cleaned out some backgrounds. + +2003-02-05 15:46 +0000 [r207-208] peterlin: + + * ChangeLog: Update. + + * FreeSans.sfd: Added a couple of glyphs in the + IPA and African Latin ranges. + +2003-01-30 15:55 +0000 [r206] peterlin: + + * ChangeLog: Update. + +2003-01-30 15:35 +0000 [r205] peterlin: + + * FreeSansBold.sfd, + FreeSansBoldOblique.sfd: Corrected Maltese + hbar and Hbar. + +2003-01-30 14:54 +0000 [r204] peterlin: + + * FreeSans.sfd, + FreeSansOblique.sfd, + FreeMonoBoldOblique.sfd: Corrected Maltese + hbar and Hbar. + +2003-01-30 14:43 +0000 [r203] peterlin: + + * FreeMonoBold.sfd: Corrected Maltese Hbar. + +2003-01-28 16:31 +0000 [r202] peterlin: + + * FreeSerifItalic.sfd: Corrected Maltese hbar. + +2002-12-19 18:31 +0000 [r201] peterlin: + + * FreeSans.sfd: Cleaner Tamil outlines. + +2002-12-18 17:38 +0000 [r199-200] peterlin: + + * ChangeLog: Update. + + * tools/ConvertFont (added): Convert fonts from + PfaEdit's native format to TrueType format. + +2002-12-18 17:17 +0000 [r198] peterlin: + + * ChangeLog: Update. + +2002-12-18 10:43 +0000 [r197] peterlin: + + * FreeSans.sfd: Added (almost complete) Tamil + Unicode range. + +2002-12-17 16:44 +0000 [r196] peterlin: + + * FreeSans.sfd: Started adding Kannada glyphs + from Akruti fonts. + +2002-12-17 15:56 +0000 [r195] peterlin: + + * AUTHORS, ChangeLog, + CREDITS: Added M.S. Sridhar and Akruti fonts. + +2002-12-17 15:42 +0000 [r194] peterlin: + + * FreeSans.sfd: Added some Devanagari and + Gujarati glyphs from the Akruti fonts. + +2002-12-17 10:08 +0000 [r193] peterlin: + + * ChangeLog, CREDITS: Correct + spelling of Culmus project. + +2002-12-12 15:09 +0000 [r192] peterlin: + + * INSTALL (added): Installation notes for the Free + UCS outline fonts. + +2002-12-12 08:57 +0000 [r191] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Checked in as v1.1. + +2002-12-12 08:48 +0000 [r190] peterlin: + + * FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Checked in as v1.1. + +2002-12-06 15:13 +0000 [r189] peterlin: + + * FreeMono.sfd: Minor correction on U+230F. + +2002-12-06 15:00 +0000 [r188] peterlin: + + * FreeMono.sfd: Various additions in the + U+2000-U+27FF area, courtesy Vyacheslav Dikonov. + +2002-12-06 14:20 +0000 [r187] peterlin: + + * CREDITS: Added Vyacheslav Dikonov. + +2002-12-06 14:08 +0000 [r186] peterlin: + + * AUTHORS: Added Vyacheslav Dikonov. + +2002-12-06 13:59 +0000 [r185] peterlin: + + * FreeMono.sfd: Added Runes (U+16A0...), + courtesy Vyacheslav Dikonov. + +2002-12-06 13:43 +0000 [r184] peterlin: + + * ChangeLog: Update. + +2002-12-06 13:40 +0000 [r182-183] peterlin: + + * FreeSans.sfd: Added Unicode Syriac glyphs, + courtesy Vyacheslav Dikonov. + + * FreeMono.sfd: Added Braille glyphs, courtesy + Vyacheslav Dikonov. + +2002-11-28 10:10 +0000 [r181] peterlin: + + * README: Resubmitted using -r1.1. + +2002-11-28 10:02 +0000 [r180] peterlin: + + * AUTHORS: Resubmitted using -r 1.1 + +2002-11-28 09:57 +0000 [r179] peterlin: + + * AUTHORS: Re-submitted using CVS 1.11.2. + +2002-11-28 09:41 +0000 [r178] peterlin: + + * README: Updated text reflecting that Microsoft Web + fonts are no longer freely available. + +2002-10-16 11:02 +0000 [r177] peterlin: + + * FreeSerif.sfd: Corrected glyph 0x0446, thanks + to Reiji SUZUKI, who spotted it. + +2002-10-11 16:40 +0000 [r176] peterlin: + + * ChangeLog: Update. + +2002-10-11 16:29 +0000 [r175] peterlin: + + * ChangeLog: Update. + +2002-10-11 15:46 +0000 [r174] peterlin: + + * FreeSans.sfd: Added a handful of kern pairs + beyond Latin-1. + +2002-10-11 14:14 +0000 [r173] peterlin: + + * FreeSerif.sfd: Adding kern pairs manually also + cleans the empty glyph slots (and makes the file unreadable by + PfaEdit). Reintroduced them. + +2002-10-11 14:01 +0000 [r172] peterlin: + + * FreeSerif.sfd: Added about one dozen kern + pairs as a test. + +2002-10-11 13:44 +0000 [r171] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Patch from Sept 23 + introduced core dumps, as PfaEdit dutifully cleared all the empty + glyph slots along the way, which messed up its internal workings. + Re-introduced all the empty glyph slots. + +2002-09-23 16:00 +0000 [r170] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: At some point I lost the + kerning information. First attempt to reconstruct it from AFM + files. + +2002-09-11 14:39 +0000 [r169] peterlin: + + * FreeMono.sfd: Swapped incorrect "dialytika and + oxia" and "dialytika and varia". Made "tonos" equal to "oxia". + Started doing base Greek with new tonos. + +2002-09-11 11:31 +0000 [r168] peterlin: + + * FreeMonoBold.sfd: Hebrew parts in sync with + Culmus 0.6. + +2002-09-11 11:26 +0000 [r167] peterlin: + + * ChangeLog: Update. + +2002-09-11 09:53 +0000 [r166] peterlin: + + * FreeMono.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Hebrew parts in sync + with Culmus 0.6. + +2002-09-11 09:16 +0000 [r165] peterlin: + + * ChangeLog: Update. + +2002-09-11 09:13 +0000 [r164] peterlin: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: * Added Danilo + Segan's Serbian Cyrillic glyphs. * Updated Hebrew part to comply + with Culmus 0.6. + +2002-09-10 08:21 +0000 [r163] peterlin: + + * FreeSans.sfd: Started working on IPA range. + +2002-09-09 16:01 +0000 [r161-162] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Updated Cyrillic part + to match Filippov's 1.0.7pre14. + +2002-09-09 15:39 +0000 [r160] peterlin: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Updated Cyrillic part + to match Filippov's 1.0.7pre14. + +2002-09-09 14:33 +0000 [r158-159] peterlin: + + * ChangeLog: Update. + + * FreeSansOblique.sfd: Added Stepanyan's + Armenian glyphs from FreeSans, skewed for 12 degrees. + +2002-09-06 14:16 +0000 [r157] peterlin: + + * AUTHORS, CREDITS: Changed @ in + email addresses to " AT ". + +2002-09-06 13:43 +0000 [r155-156] peterlin: + + * ChangeLog: A minor correction. + + * ChangeLog: Update. + +2002-09-06 13:18 +0000 [r154] peterlin: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Added Maxim Iorsh's + Hebrew glyphs (still considered experimental by their author, but + much better than previous ones). + +2002-08-28 15:31 +0000 [r152-153] peterlin: + + * AUTHORS, CREDITS: Added Maxim + Iorsh. + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Added Maxim Iorsh's + Hebrew glyphs. + +2002-07-26 10:21 +0000 [r151] peterlin: + + * ChangeLog: Update. + +2002-07-26 10:17 +0000 [r150] peterlin: + + * FreeMono.sfd: Some minor changes. + +2002-06-11 19:28 +0000 [r148-149] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd: Applied Michalis Kabrianis's + patch concerning perispomeni in Greek politoniko. + +2002-05-23 11:25 +0000 [r147] peterlin: + + * ChangeLog: Update. + +2002-05-23 11:20 +0000 [r146] peterlin: + + * FreeMono.sfd: Applied Michalis Kabrianis's + patch which corrects psili. Also some working variants of + characters in the IPA range. + +2002-05-16 14:44 +0000 [r145] peterlin: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoBoldOblique.sfd: Added LangName + information. + +2002-05-15 13:23 +0000 [r144] peterlin: + + * ChangeLog: Update. + +2002-05-15 13:14 +0000 [r143] peterlin: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Deleted explicit ".notdef" + characters. + +2002-05-14 08:59 +0000 [r142] peterlin: + + * FreeSansBoldOblique.sfd: Filled-in the missing + TTFWidth and TTFWeight values. + +2002-05-14 08:51 +0000 [r141] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Correctly formed + Panose and LineGap lines. + +2002-05-09 18:13 +0000 [r140] peterlin: + + * ChangeLog: Update. + +2002-05-09 17:42 +0000 [r139] peterlin: + + * FreeSans.sfd: Added some more composite + glyphs. Croatian ligatures better kerned. + +2002-05-09 17:10 +0000 [r138] peterlin: + + * FreeSans.sfd: Added diacritics. Added glyphs + to the Latin Extenede-B area. + +2002-05-07 16:13 +0000 [r137] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Updated Panose and LangName + information in the TTF header. + +2002-05-07 15:40 +0000 [r136] peterlin: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Updated Panose and + LangName information in the TTF header. + +2002-05-07 15:28 +0000 [r135] peterlin: + + * FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd: Updating Panose and + LangName information in the font header. + +2002-04-30 12:27 +0000 [r134] peterlin: + + * ChangeLog: Update + +2002-04-30 11:21 +0000 [r133] peterlin: + + * FreeMonoBold.sfd: Several minor changes (lower + carons etc.) + +2002-04-30 10:14 +0000 [r132] peterlin: + + * FreeMonoBold.sfd: Working on Greek small + letters. + +2002-04-29 19:44 +0000 [r131] peterlin: + + * ChangeLog: Update. + +2002-04-29 19:38 +0000 [r129-130] peterlin: + + * FreeMonoBoldOblique.sfd: Started adding Greek. + + * FreeMono.sfd, + FreeMonoBold.sfd: Harmonizing Greek with + Latin. Done with capitals. + +2002-04-29 18:08 +0000 [r128] peterlin: + + * FreeMonoBold.sfd: Added glyphs in the + Geometrical Shapes and Miscellaneous Symbols area. + +2002-04-29 17:35 +0000 [r127] peterlin: + + * FreeMono.sfd: Added one glyph to the + Geometrical Shapes area, which is now completed; added three + glyphs to the Miscellaneous Symbols area. + +2002-04-29 10:34 +0000 [r126] peterlin: + + * FreeMono.sfd: Erased explicit ".notdef" + character (U+0000). Hopefully this will now stop getting PfaEdit + confused about the "post" table. + +2002-04-26 15:41 +0000 [r124-125] peterlin: + + * ChangeLog: Update. + + * FreeSans.sfd: Adjusted accent positions on + several glyphs in the Latin Extended-A area. + +2002-04-25 16:20 +0000 [r121-123] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd: Minor corrections in the Box + Drawing area. + + * FreeMonoBold.sfd: Box Drawing area completed. + Added some glyphs in the Geometrical Shapes area. + +2002-04-24 16:09 +0000 [r120] peterlin: + + * ChangeLog: Update. + +2002-04-24 16:06 +0000 [r119] peterlin: + + * FreeMono.sfd: BoxDrawing area completed. + +2002-04-23 15:22 +0000 [r118] peterlin: + + * FreeMonoBold.sfd: Added glyphs in the General + Punctuation area. + +2002-04-23 15:04 +0000 [r117] peterlin: + + * FreeMono.sfd, + FreeMonoBold.sfd: Added glyphs to the Box + Drawing area. + +2002-04-23 13:52 +0000 [r115-116] peterlin: + + * ChangeLog: Update. + + * tools/WGL4.lst: Correction. Added missing + characters 02DC:SMALL TILDE, F001:LATIN SMALL LIGATURE FI and + F002:LATIN SMALL LIGATURE FL (the latter two belong to private + use area). Left 00A0:NO-BREAK SPACE in place, although some specs + don't list it. Total 653 characters on the list (WGL4 is supposed + to have 652 coded characters). + +2002-04-22 21:27 +0000 [r114] peterlin: + + * FreeMonoBold.sfd: Adding new glyphs to the + Latin Extended-B and IPA Extensions ranges. + +2002-04-22 15:05 +0000 [r112-113] peterlin: + + * ChangeLog: *** empty log message *** + + * FreeMono.sfd, + FreeMonoBold.sfd: Working on Latin Extended-B + and Greek. + +2002-04-19 15:58 +0000 [r110-111] peterlin: + + * FreeSerif.sfd: Somewhat cleaner chess figures. + + * ChangeLog: *** empty log message *** + +2002-04-19 14:57 +0000 [r109] peterlin: + + * ChangeLog: Update. + +2002-04-19 14:23 +0000 [r108] peterlin: + + * tools/MES-2.txt, tools/MES-2.lst: + Corrected list (it is not 203C-203E, it is 203C and 203E). + +2002-04-19 09:24 +0000 [r107] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSans.sfd, + FreeSansBold.sfd, + FreeSansOblique.sfd, + FreeSansBoldOblique.sfd, + FreeMono.sfd, + FreeSerif.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeSerifBold.sfd, + FreeMonoBoldOblique.sfd: Changed "Family Name" + from Free to FreeSerif, FreeSans and FreeMono, as appropriate. + Changed Font Modifiers from MonoBold etc. to Bold, Italic, + Oblique, BoldOblique and BoldItalic. + +2002-04-18 09:38 +0000 [r106] peterlin: + + * FreeMono.sfd, + FreeMonoBold.sfd, + FreeMonoOblique.sfd, + FreeMonoBoldOblique.sfd: Corrected metrics; + now all character widths are set to 600. + +2002-04-17 18:49 +0000 [r104-105] peterlin: + + * ChangeLog: Added forgotten info on box drawing + characters in FreeSerif. + + * ChangeLog: *** empty log message *** + +2002-04-17 17:37 +0000 [r103] peterlin: + + * FreeSerif.sfd: Box drawing characters + corrected. Now they extend both ascender and descender height. + +2002-04-17 15:45 +0000 [r102] peterlin: + + * FreeMonoBold.sfd: Continued working on Greek. + +2002-04-17 14:53 +0000 [r101] peterlin: + + * FreeMonoBold.sfd: Added some more Box Drawing + characters. + +2002-04-17 11:56 +0000 [r100] peterlin: + + * FreeMonoBold.sfd: Added some Box Drawing + characters. + +2002-04-16 15:36 +0000 [r99] peterlin: + + * ChangeLog: *** empty log message *** + +2002-04-16 15:30 +0000 [r98] peterlin: + + * FreeMono.sfd: Added a couple of characters in + the Miscellaneous Symbols area. + +2002-04-16 14:28 +0000 [r97] peterlin: + + * FreeMonoBoldOblique.sfd: Added superscripts, + subscripts, vulgar fractions and a couple other characters needed + to make font MES-1 compliant. + +2002-04-16 13:58 +0000 [r96] peterlin: + + * FreeMonoBold.sfd: Added some characters, + mostly in the Miscellaneous Symbols area. FreeMonoBold now + complies with MES-1. + +2002-04-16 10:16 +0000 [r95] peterlin: + + * ChangeLog: Update. + +2002-04-16 10:13 +0000 [r94] peterlin: + + * FreeMonoBold.sfd: Started harmonizing Greek + letters with Latin and Cyrillic. + +2002-04-16 09:28 +0000 [r93] peterlin: + + * FreeMonoBold.sfd: Added subscripts, + superscripts and vulgar fractions. + +2002-04-15 13:42 +0000 [r92] peterlin: + + * ChangeLog: Update + +2002-04-12 15:59 +0000 [r91] peterlin: + + * AUTHORS, CREDITS: Added Beyene, + Kudlek, Kummer and Metzinger from the Theoretical Foundations of + Computer Science, University of Hamburg, the authors of the set + of Ethiopic metafonts. + +2002-04-12 15:42 +0000 [r90] peterlin: + + * ChangeLog: Update. + +2002-04-12 15:38 +0000 [r89] peterlin: + + * FreeSerif.sfd: Added Ethiopian glyphs, + converted from the Metafont sources from TGI, Universität Hamburg + (authors Berhanu Beyene, Prof. Dr. Manfred Kudlek, Olaf Kummer, + and Jochen Metzinger) using Szabo's TeXtrace and retouched using + PfaEdit. Ethiopian metafonts are released under GNU GPL, + http://www.informatik.uni-hamburg.de/TGI/mitarbeiter/wimis/kummer/ethiop_eng.html + +2002-04-12 15:30 +0000 [r88] peterlin: + + * FreeMonoBold.sfd: Added 40 characters, mostly + in the Latin Extended-B and IPA Extensions areas. + +2002-04-11 19:56 +0000 [r86-87] peterlin: + + * ChangeLog: *** empty log message *** + + * FreeMono.sfd: Added a handful of characters in + the Latin Extended-B, Currency Symbols and Miscellaneous Symbols + areas. + +2002-04-11 09:57 +0000 [r85] peterlin: + + * FreeMono.sfd: Added three glyphs to the IPA + Extensions area. + +2002-04-09 07:12 +0000 [r83-84] peterlin: + + * ChangeLog: *** empty log message *** + + * FreeMono.sfd: Corrected accent positioning in + the Extended Greek area; adding a couple of glyphs here and + there. 20 characters short of MES-2 conformance. + +2002-04-08 16:57 +0000 [r82] peterlin: + + * AUTHORS, CREDITS: Added Jeroen + Hellingman and Thomas Ridgeway, the authors of Malayalam, Oriya + and Tamil glyphs sets. + +2002-04-08 16:39 +0000 [r81] peterlin: + + * ChangeLog: *** empty log message *** + +2002-04-08 16:33 +0000 [r80] peterlin: + + * FreeMono.sfd: Added some arrows and Greek + politoniko. + +2002-04-05 15:04 +0000 [r79] peterlin: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Modern Non-Russian + Cyrillic mostly completed. + +2002-04-05 10:37 +0000 [r78] peterlin: + + * FreeSerif.sfd: Added Thomas Ridgeway's Tamil + fonts, partly edited. + +2002-04-04 16:15 +0000 [r77] peterlin: + + * ChangeLog: Update. + +2002-04-04 16:12 +0000 [r76] peterlin: + + * FreeMonoBold.sfd: Started working on the + non-Russian Cyrillic glyphs. Corrected Serbian letters dje, lje, + nje and tshe. + +2002-04-04 10:44 +0000 [r75] peterlin: + + * FreeMono.sfd: Minor modifications in the + non-Russian Cyrillic area. + +2002-04-04 10:35 +0000 [r74] peterlin: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Armenian capital + characters matching in case Latin, Cyrillic and Greek. + +2002-04-04 09:57 +0000 [r73] peterlin: + + * FreeMonoOblique.sfd: Serbian Cyrillic glyphs + synchronized with FreeMono. + +2002-04-04 09:36 +0000 [r71-72] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd: Serbian cyrillic characters dje + and tshe corrected. + +2002-04-03 16:34 +0000 [r70] peterlin: + + * ChangeLog: *** empty log message *** + +2002-04-03 16:29 +0000 [r69] peterlin: + + * FreeMono.sfd: Armenian characters added. + +2002-03-28 15:32 +0000 [r67-68] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd: Added some mathematical symbols. + +2002-03-26 21:00 +0000 [r66] peterlin: + + * ChangeLog: Update. + +2002-03-26 20:56 +0000 [r65] peterlin: + + * FreeSans.sfd: Added H.S. Pannu's Gurmukhi. It + actually fits in here much better than it fits FreeSerif. I'll + have to look for a Gurmukhi font with modulated stroke for + FreeSerif. + +2002-03-26 20:45 +0000 [r64] peterlin: + + * FreeSerif.sfd: A more stylish barred H. + +2002-03-26 20:35 +0000 [r63] peterlin: + + * ChangeLog: Update. + +2002-03-26 20:29 +0000 [r62] peterlin: + + * FreeMono.sfd: Minor changes in Greek; added + some mathematical symbols. + +2002-03-26 16:20 +0000 [r61] peterlin: + + * FreeMono.sfd: Completed vulgar fractions. + +2002-03-26 16:00 +0000 [r60] peterlin: + + * FreeSerif.sfd: Added dotted Hebrew letters. + +2002-03-26 14:40 +0000 [r58-59] peterlin: + + * FreeSerifItalic.sfd: Took Hebrew characters + from FreeSerif and slanted them for 15.5 degrees. + + * FreeSerif.sfd: Telugu letters optimized + somehow. Still too small, though. + +2002-03-26 14:15 +0000 [r57] peterlin: + + * AUTHORS, CREDITS: Corrected Unicode + ranges for Gurmukhi and Gujarati. + +2002-03-26 09:58 +0000 [r55-56] peterlin: + + * ChangeLog: Update. + + * FreeMonoBold.sfd: Added characters to the + Latin Extended-B and IPA Extensions area. + +2002-03-25 20:00 +0000 [r53-54] peterlin: + + * ChangeLog: Update. + + * FreeMonoBold.sfd: Started adding Latin + Extended-B and IPA Extensions. + +2002-03-25 19:28 +0000 [r51-52] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd: Minor cosmetic changes; cleaning + up Greek (removing redundant control points), added some + non-European Cyrillic glyphs as a test. + +2002-03-22 11:31 +0000 [r50] peterlin: + + * FreeMono.sfd: Some minor modifications; + letters in Latin Extended-B area "welded" together. + +2002-03-20 20:47 +0000 [r49] peterlin: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Numerous glyphs added in + the Latin Extended-B, IPA Extensions and Number Forms areas. + MES-1 compliant! + +2002-03-20 12:46 +0000 [r48] peterlin: + + * ChangeLog: Update. + +2002-03-19 14:22 +0000 [r47] peterlin: + + * ChangeLog: Update. + +2002-03-19 13:12 +0000 [r46] peterlin: + + * FreeMonoOblique.sfd: Added characters in Latin + Extended-B and IPA Extensions area. Now mostly synchronized with + FreeMono. + +2002-03-18 17:56 +0000 [r45] peterlin: + + * FreeMono.sfd: Added some more IPA characters. + +2002-03-18 14:33 +0000 [r44] peterlin: + + * ChangeLog: Update. + +2002-03-18 12:21 +0000 [r43] peterlin: + + * FreeMono.sfd: Added some more characters, in + particular in the Latin Extended-B and IPA Extensions areas, to a + total of 1424 chars. + +2002-03-15 19:08 +0000 [r41-42] peterlin: + + * FreeMono.sfd: Added a dozen or two new + characters, in particular in the IPA Extensions area. + + * ChangeLog: Update. + +2002-03-15 13:57 +0000 [r40] peterlin: + + * ChangeLog: Update. + +2002-03-14 09:15 +0000 [r38-39] peterlin: + + * ChangeLog: Update. + + * FreeMono.sfd: Added three smiley characters. + +2002-03-10 18:16 +0000 [r37] peterlin: + + * AUTHORS, ChangeLog, + CREDITS: Due credit to the original author of + Gurmukhi font, Hardip Singh Pannu. + +2002-03-10 18:07 +0000 [r36] peterlin: + + * FreeSerif.sfd: Anshuman Pandey has only + converted Gurmukhi from TrueType to Metafont; the original author + of Gurkmukhi font is Hardip Singh Pannu + . Got the permission + from him to include the Gurmukhi glyph set. + +2002-03-08 12:17 +0000 [r34-35] peterlin: + + * ChangeLog: Update + + * FreeSerif.sfd: Added some more glyphs in the + Mathematical Symbols area. + +2002-03-06 20:48 +0000 [r32-33] peterlin: + + * ChangeLog: Update. + + * FreeSerif.sfd: Basic Gurmukhi (Unicode range + without ligatures). I believe the author is Anshuman Pandey + , found in CTAN + . + +2002-03-06 20:13 +0000 [r31] peterlin: + + * ChangeLog: Update. + +2002-03-06 18:07 +0000 [r30] peterlin: + + * FreeMono.sfd: Silly me. Glyphs in Box Drawing + and Block Elements areas extend through ascender *and descender* + width. Corrected. + +2002-03-06 15:10 +0000 [r29] peterlin: + + * FreeMono.sfd, + FreeMonoOblique.sfd: Added musical glyphs in + the Miscellaneous Symbols area, linked "non-breaking" space to + space, "soft hyphen" to hyphen-minus. Now we are 4 glyphs short + of MES-1 conformance. + +2002-03-05 19:50 +0000 [r28] peterlin: + + * ChangeLog: Update. + +2002-03-05 19:47 +0000 [r27] peterlin: + + * tools/WGL4.lst (added): Microsoft Windows Glyph + List 4.0 (WGL4). I seem to have lost 2 characters - there ought + to be 652, and I have only 650. + +2002-03-05 19:20 +0000 [r25-26] peterlin: + + * ChangeLog: Update. + + * tools/LigatureList.pl (added): A Perl script, + which lists the GSUB list (ligature list) of a OpenType font. + Requires George Williams' showttf utility, available on + . + +2002-03-05 19:12 +0000 [r24] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerifBold.sfd: An auxilliary substitute + for Hebrew glyphs added. + +2002-03-04 17:38 +0000 [r23] peterlin: + + * ChangeLog: Update + +2002-03-04 17:35 +0000 [r22] peterlin: + + * FreeSerif.sfd: Added some more glyphs in the + Mathematical Operators area. + +2002-03-04 15:24 +0000 [r21] peterlin: + + * AUTHORS, CREDITS: Added Frans + Velthuis and Anshuman Pandey + . + +2002-03-04 14:54 +0000 [r20] peterlin: + + * ChangeLog: Update + +2002-03-04 14:44 +0000 [r19] peterlin: + + * FreeSerif.sfd: Fragments of Harsh Kumar's + Devanagari font substituted by Frans Velthuis' and Anshuman + Pandey's devanagari metafont, converted to PFB by Peter Szabo's + TeXtrace. Right now only Unicode part without ligatures is made + (though they are present in original font). + +2002-02-28 19:14 +0000 [r18] peterlin: + + * ChangeLog: Update ChangeLog. + +2002-02-28 19:05 +0000 [r17] peterlin: + + * FreeSerif.sfd: Added some more glyphs to the + Miscellaneous Symbols page (0x26). + +2002-02-28 18:33 +0000 [r16] peterlin: + + * AUTHORS, CREDITS: Added Prasad A. + Chodavarapu, the author of Tikkana, a Telugu font available under + the GNU General Public License. + +2002-02-28 18:00 +0000 [r15] peterlin: + + * FreeSerif.sfd: Added some Telugu glyphs to + page 0x0C, courtesy Prasad A. Chodavarapu + + +2002-02-28 16:49 +0000 [r14] peterlin: + + * AUTHORS, CREDITS: Prof. Venkatesh + (Venky) Hariharan supplied me with an email address for Harsh + Kumar. + +2002-02-28 14:51 +0000 [r13] peterlin: + + * ChangeLog (added): A log of changes to project + files. + +2002-02-26 18:38 +0000 [r12] peterlin: + + * AUTHORS, CREDITS: Mohamed Ishan's + email address corrected to his preferred one. + +2002-02-25 19:26 +0000 [r11] peterlin: + + * FreeMono.sfd: Added some more glyphs, in + particular in the Mathematical Operators section. Changed + FamilyName to Free, FontName to FreeMono, and Full name to "Free + Monospaced". + +2002-02-25 12:43 +0000 [r10] peterlin: + + * FreeSerif.sfd: Added a couple of glyphs in + Mathematics Operators. + +2002-02-20 21:08 +0000 [r9] peterlin: + + * AUTHORS, CREDITS: New coauthors + added: Mohamed Ishan, Harsh Kumar and Sushant Kumar Dash. + +2002-02-20 20:21 +0000 [r8] peterlin: + + * FreeSerifItalic.sfd, + FreeSerifBoldItalic.sfd, + FreeSerif.sfd, + FreeSerifBold.sfd: Glyphs originating from the + old Omega system removed. + +2002-02-20 20:06 +0000 [r7] peterlin: + + * FreeSerifItalic.sfd (added), + FreeSerifBoldItalic.sfd (added), + FreeSerif.sfd (added), + FreeSerifBold.sfd (added): Proportional ISO + 10646 fonts with modulated stroke. + +2002-02-20 18:46 +0000 [r6] peterlin: + + * FreeSans.sfd: Added an incomplete set of Oriya + characters, courtesy Sushant Dash . + +2002-02-20 16:37 +0000 [r5] peterlin: + + * tools/MES-3B.lst (added), tools + (added), tools/MES-1.txt (added), + tools/MES-2.txt (added), + tools/CheckConformance.pl (added), + tools/MES-1.lst (added), + tools/MES-2.lst (added), + tools/MES-3B.txt (added), + tools/mes-list-expand.pl (added): Tools for + checking conformance with coded character sets. + +2002-02-20 13:52 +0000 [r3-4] peterlin: + + * AUTHORS (added), CREDITS (added), + README (added): Free UCS Scalable Fonts + + * FreeSans.sfd (added), + FreeSansBold.sfd (added), + FreeSansOblique.sfd (added), + FreeSansBoldOblique.sfd (added): Proportional + ISO 10646 fonts with uniform stroke. + +2002-02-20 13:46 +0000 [r2] peterlin: + + * sfd (added), trunk/freefont (added), + FreeMono.sfd (added), + FreeMonoBold.sfd (added), + FreeMonoOblique.sfd (added), + FreeMonoBoldOblique.sfd (added): Monospaced + ISO 10646 fonts. + diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/INSTALL b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/INSTALL new file mode 100644 index 0000000..b458961 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/INSTALL @@ -0,0 +1,98 @@ + Installing GNU FreeFont + ======================= + +GNU FreeFont can be used in any modern operating system. + +This document explains how to install FreeFont on some common systems. + +UNIX/GNU/Linux/BSD Systems +-------------------------- + +FreeFont works with any system using the free font rasterizer FreeType +. Some features such as glyph substitution and +positioning may be handled by the text layout library +Pango . + +Most recent systems using FreeType2 and Pango handle OpenType fonts well, +but on older systems TrueType may perform better. + +* Debian GNU/Linux + +Users of Debian GNU/Linux system will probably want to use the Debian package, +named 'ttf-freefont', available from the Debian Linux site. + +Install the fonts by issuing the command + apt-get install ttf-freefont + + +* KDE local installation + +Users of KDE can install .ttf files on a per-user basis using the KDE +Control Center module "kcmfontinst", which may appear in the menu as + + Settings -> System Administration -> Font Installer + +This is especially helpful for developers and testers. + + +* Generic X Window systems + + 1) Fetch the freefont-ttf.tar.gz package with Free UCS outline fonts + in the TrueType format. + + 2) Unpack TrueType fonts into a suitable directory, + e.g. /usr/local/share/fonts/default/TrueType/ + + 3) If you have chosen any other directory, make sure the directory you + used to install the fonts is listed in the path searched by the X + Font Server by editing the config file in /etc/X11/. + + In some systems, you list the directory in the item "catalogue=" + in the file /etc/X11/fs/config. + + 4) Run ttmkfdir in the directory where you unpacked the fonts. + + +Microsoft Windows 95/98/NT/2000/XP; Vista/7 +------------------------------------------- + +Note that in at least Windows 7, Vista, XP and 2000, the TrueType versions +perform much better than, and are recommended over, the OpenType ones. + +For good font smoothing in Windows, Microsoft ClearType must be enabled. +The native Windows web browser must be used to install, enable, and configure +ClearType. A web search for "ClearType Tuner" will find the proper web pages. +Recent versions of the browser raise a security block (a yellow bar at the +top of the window), which you must act upon to allow installation. A +checkbox in the window turns ClearType on (in Win-speek, "Turn on ClearType"). +The change happens immediately. + +* Vista, Windows 7: + 1) From the Start menu, open Control Panels + 2) Drag-n-drop font files onto Fonts control panel + You may get a dialog saying + "Windows needs your permission to continue" + a) Click Continue + +* 95/98/NT: + The font installation is similar to Vista. + + In order to use OpenType, users of Windows 95, 98 and NT 4.0 can + install Adobe's 'Type Manager Light', which may be obtained from + the Adobe web site. + + Otherwise, use the TrueType versions. + +Apple Mac OS X +-------------- + +Support for OpenType on MacOS X started with OS 10.4, and has been improved +gradually in later versions. + +Installing on Mac OS X consists of moving the font files to either + /Library/Fonts/ or ~/Library/Fonts/ +depending on whether they should be available to all users on your system +or just to your own user. + +-------------------------------------------------------------------------- +$Id: INSTALL,v 1.11 2011-06-12 07:14:12 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/README b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/README new file mode 100644 index 0000000..d83f4a9 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/README @@ -0,0 +1,127 @@ +-*-text-*- + GNU FreeFont + +The GNU FreeFont project aims to provide a useful set of free scalable +(i.e., OpenType) fonts covering as much as possible of the ISO 10646/Unicode +UCS (Universal Character Set). + +Statement of Purpose +-------------------- + +The practical reason for putting glyphs together in a single font face is +to conveniently mix symbols and characters from different writing systems, +without having to switch fonts. + +Coverage +-------- + +FreeFont covers the following character ranges +* Latin, Cyrillic, and Arabic, with supplements for many languages +* Greek, Hebrew, Armenian, Georgian, Thaana, Syriac +* Devanagari, Bengali, Gujarati, Gurmukhi, Sinhala, Tamil, Malayalam +* Thai, Tai Le, Kayah Li, Hanunóo, Buginese +* Cherokee, Unified Canadian Aboriginal Syllabics +* Ethiopian, Tifnagh, Vai, Osmanya, Coptic +* Glagolitic, Gothic, Runic, Ugaritic, Old Persian, Phoenician, Old Italic +* Braille, International Phonetic Alphabet +* currency symbols, general punctuation and diacritical marks, dingbats +* mathematical symbols, including much of the TeX repertoire of symbols +* technical symbols: APL, OCR, arrows, +* geometrical shapes, box drawing +* musical symbols, gaming symbols, miscellaneous symbols + etc. +For more detail see + +Editing +------- + +The free outline font editor, George Williams' FontForge + is used for editing the fonts. + +Design Issues +------------- + +Which font shapes should be made? Historical style terms like Renaissance +or Baroque letterforms cannot be applied beyond Latin/Cyrillic/Greek +scripts to any greater extent than Kufi or Nashki can be applied beyond +Arabic script; "italic" is strictly meaningful only for Latin letters, +although many scripts such as Cyrillic have a history with "cursive" and +many others with "oblique" faces. + +However, most modern writing systems have typographic formulations for +contrasting uniform and modulated character stroke widths, and since the +advent of the typewriter, most have developed a typographic style with +uniform-width characters. + +Accordingly, the FreeFont family has one monospaced - FreeMono - and two +proportional faces (one with uniform stroke - FreeSans - and one with +modulated stroke - FreeSerif). + +The point of having characters from different writing systems in one font +is that mixed text should look good, and so each FreeFont face contains +characters of similar style and weight. + +Licensing +--------- + +Free UCS scalable fonts is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published +by the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +The fonts are distributed in the hope that they will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +As a special exception, if you create a document which uses this font, and +embed this font or unaltered portions of this font into the document, this +font does not by itself cause the resulting document to be covered by the +GNU General Public License. This exception does not however invalidate any +other reasons why the document might be covered by the GNU General Public +License. If you modify this font, you may extend this exception to your +version of the font, but you are not obligated to do so. If you do not +wish to do so, delete this exception statement from your version. + +Files and their suffixes +------------------------ + +The files with .sfd (Spline Font Database) are in FontForge's native format. +They may be used to modify the fonts. + +TrueType fonts are the files with the .ttf (TrueType Font) suffix. These +are ready to use in Linux/Unix, on Apple Mac OS, and on Microsoft Windows +systems. + +OpenType fonts (with suffix .otf) are preferred for use on Linux/Unix, +but *not* for recent Microsoft Windows systems. +See the INSTALL file for more information. + +Web Open Font Format files (with suffix .woff) are for use in Web sites. +See the webfont_guidelines.txt for further information. + +Further information +------------------- + +Home page of GNU FreeFont: + http://www.gnu.org/software/freefont/ + +More information is at the main project page of Free UCS scalable fonts: + http://savannah.gnu.org/projects/freefont/ + +To report problems with GNU FreeFont, it is best to obtain a Savannah +account and post reports using that account on + https://savannah.gnu.org/bugs/ + +Public discussions about GNU FreeFont may be posted to the mailing list + freefont-bugs@gnu.org + +-------------------------------------------------------------------------- +Original author: Primoz Peterlin +Current administrator: Steve White + +$Id: README,v 1.10 2011-06-12 07:14:12 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/TROUBLESHOOTING b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/TROUBLESHOOTING new file mode 100644 index 0000000..a7af222 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/TROUBLESHOOTING @@ -0,0 +1,115 @@ + Troubleshooting GNU FreeFont + +So your text looks lousy, although you installed FreeFont and you seem to be +using it. What do you do? + +Before you blame the problem on FreeFont, take the time to double-check that +the text you are looking at is really rendered with FreeFont. + +Be aware that not all Unicode characters are supported by FreeFont, and +even characters supported by one face, such as Serif, might not be +supported by other faces such as Sans. + +Also, some systems have settings that strongly affect the rendering +of fonts. It may be worth tweaking these. + +glyph substitution +================== + +When given the task of displaying characters in text, modern font rendering +software usually tries to display *something*, even if the font it is +*supposed* to be using does not contain glyphs for all the characters in the +text. The software will snoop through all the fonts on the system to find +one that has a glyph for the one missing in the desired font. So although +you have specified FreeSans-bold, you may be looking at a letter from quite +a different font. + +First double-check that the font in question really contains the character +in question. If you don't have font development software, this can be +tricky. In the case of FreeFont, you can check if a given character +range is supported: + +Next double-check that your application (web browser, text editor, etc) +has indeed been properly instructed to use the font. + +Then double-check that the font is really installed in the system. +(This depends on the operating system, of course.) + +Linux and Unix +============== + +Modern Linux systems use a system called fontconfig, which maintains a font +cache, for efficiency. + +The font cache can really complicate font installation and troubleshooting +however. It can happen that when a font is newly installed, what is +displayed is coming out of an old cache entry rather than the new font. + +Just what to do depends on how and where the font was installed. + +Fonts installed system-wide are usually put in a directory such as + /usr/share/fonts/ +the font cache for these might be in + /var/cache/fontconfig/ +Fonts installed just for one user account will typically be in + ~/.fonts/ +and the cache will be + ~/.fontconfig/ + +You can clean your local cache merely by emptying the directory + ~/.fontconfig/ +In any case, to clean the cache, you can use the fontconfig command + fc-cache -vf +If run as root, it will clean the system cache, if run as a normal user, +it cleans only the normal user's cache. + +The procedure for local fonts is: + 1) shut off any program using the fonts in question + 2) clean the cache + 3) re-start the program +The procedure for system-wide fonts is: + 1) log out of the X Windows session + 2) in a console, clean the cache + 3) log in to an X Windows session + +LibreOffice / OpenOffice +======================== +These products have their own font rendering libraries, which have +idiosyncratic behavior. + +It has recently been reported that as of LibreOffice 3.5.1, font features +are disabled for OpenType fonts. If you use FreeFont with these products, +you may want to install the TrueType versions of the fonts. + +Windows +======= + +The most common complaint has to do with "blurry text". There are two +causes. + +The first is that ClearType smoothing is turned off. The best way to check +is to use the native Windows Web browser. Do a search for "ClearType Tuner". +The Microsoft pages install a tuner for ClearType. A security block notice +will appear at the top of the window--you have to allow the installation. +Then check the box "Turn on ClearType". The change happens immediately. + +The secont cause is that the FreeFont version with cubic spline outlines is +installed. As of the 2012 GNU FreeFont release, the TrueType builds have +quadratic splines, which work best with Windows' rendering software. + TTF (TrueType) quadratic splines Windows 7, Vista, Windows XP. + OTF (OpenType) cubic splines Linux, Mac + +Note also: Firefox has a setting for ClearType: + gfx.font_rendering.cleartype_params.rendering_mode +A value of 2 sets it to old-style GDI rendering, while -1 is the default. + +reporting problems +================== + +If you really think you're seeing a bug in FreeFont, or if you have +a suggestion, consider opening a problem report at + https://savannah.gnu.org/bugs/?group=freefont +It is best that you make a Savannah account and log in with that, so +you can be e-mailed whenever changes are made to your report. + +$Id: troubleshooting.txt,v 1.10 2011-07-16 08:38:06 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/USAGE b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/USAGE new file mode 100644 index 0000000..7f7aa5c --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freefont-20120503/USAGE @@ -0,0 +1,185 @@ + Usage of GNU FreeFont + +Language scripts and faces +========================== + +There are three faces (serif, sans-serif, and monospace), and four styles +(regular, bold, cursive/italic, and bold cursive/italic) for each face. +There is one font file per face/style combination: 12 files in total. + +The letters for various languages, as well as specialized symbols, exist +among the various font files, but they are not uniformly populated. +All the fonts have complete support for Latin, Cyrillic, and Greek, as +well as most of the extensions for those scripts. + +At this time, serif regular has by far the largest number of letters, and +supports the largest number of writing scripts. However there are writing +scripts supported by the sans-serif but not by serif. + +For an overview of which scripts and sets of symbols are supported by +which face, see the FreeFont 'coverage' web page. + +Font features +============= + +FreeFont has numerous font "features" that perform alterations to the basic +letters of the font, replacing them with other letters, or positioning them +with respect to other letters. + +Many features are activated automatically, but in some environments, they +present some user control. This documents those features with user control. + +Language-specific features +========================== + +Some OpenType font features are activated only when the text is specified to +be of a certain language. + +This is done in HTML by enclosing the text with a tag whose 'lang' attribute +is set to the appropriate ISO 632.2 language code. In a word processor, +any block of text can be given a language setting. + +Latin +----- +Catalan ligature improving l·l +Dutch ligatures for ij, IJ +Sami localized form for letter Eng +Turkish overrides ligatures fi ffi of Latin + +Cyrillic +-------- +Ukrainian ligature for double i-diaresis +Serbian/Macedonian localized letters be, and more in italic +Bulgarian style set for modern glyphs + +Hebrew +------ +Yiddish raised vowels under yo + +Devanagari +---------- +Sanskrit much larger set of ligatures + +Hindi, Marathi better spacing of Western punctuation marks + +Indic languages +--------------- + +The 'danda' character is encoded in Unicode only in the Devanagari range. +When writing in scripts of other Indic languages, this same character is to +be used. But the shapes and line thicknesses of glyphs vary slightly from +one script to another, so the same glyph for 'danda' may not fit all scripts. + +By specifying the language of the text, an appropriate glyph for 'danda' +will be obtained. + +Style sets +========== + +These replacements are activated by specifying a "Style Set". +These features are accessible only from typesetting software. + +Cyrillic Bulgarian modern (ss01) + +Devanagari Bombay (ss02), Calcutta (ss03), Nepali (ss04) + +Discretionary features +====================== +These features are accessible only from typesetting software. +Typically the user must specifically request them. + +Unless otherwise noted, these are available only in FreeSerif. + +Ligatures and substitutions +--------------------------- + +Arabic, Armenian, Hebrew, German, Dutch + +Small captials +-------------- + +A limited set of specially drawn small capital letters in Latin. + +Superscript and subscript +------------------------- + +Transform a limited set of characters--mostly Latin letters and numerals-- +to versions well-sized and positioned as superscript or subscript. + +Numeral styles +-------------- + +The default numerals of FreeSerif are mono-spaced and of even height. +It also features proportionally-spaced numerals, and "old-style" numerals-- +those which vary in height and sometimes go beneath the baseline. +These can be had at discretion. + +Diagonal fractions +------------------ + +A limited set of diagonal fraction substitutions are available at discretion. +The set is more than what is encoded in Unicode. +They work with the ASCII slash or the mathematical slash U+2215. +The transform a sequence "number-slash-number" to a diagonal form. + +Zero +---- + +A slashed form of the numeral zero is available at discretion. +Available in all faces. + +Alternative characters +====================== + +FreeSerif has some listings of alternatives for specific characters. +Again this is use primarily in specialized typesetting software. + +Greek, Latin + +Use in LaTeX +============ +It is possible to use Unicode fonts in recent LaTeX implementations, but in + LuaTeX http://www.luatex.org/ and + XeTeX http://tug.org/xetex/ +it is particularly easy to use Unicode text, and to enable font features. +Recent versions of these systems use the 'fontspec' package to choose fonts +and features. + +A very simple document might contain the lines +--------------------------------------------------------------------------- +\documentclass{ltxdockit} +\usepackage{fontspec} +\usepackage{xunicode} +\setmainfont[]{FreeSerif} +\begin{document} +{\fontspec[Script=Default,Fractions={On}]{FreeSerif} +1/7 3/10 7/10} + +x\raisebox{-0.5ex}{{\scriptsize ai}} +x{\fontspec[Script=Default,VerticalPosition={Inferior}]{FreeSerif} +abcdefghijklmnopqrstuvwxyz+−(0123456789)} \\ +x\raisebox{0.85ex}{{\scriptsize ai}} +x{\fontspec[Script=Default,VerticalPosition={Superior}]{FreeSerif} +abcdefghijklmnopqrstuvwxyz+−(0123456789)} + +{\fontspec[Script=Latin]{FreeSerif} +\textsc{Small Caps} } + +{ Bсички хора се раждат свободни и равни по достойнство и права. +\fontspec[Script=Cyrillic,Language=Bulgarian,Variant={1}]{FreeSerif} \selectfont +Bсички хора се раждат свободни и равни по достойнство и права. } + +\end{document} +--------------------------------------------------------------------------- +Here are some 'fontspec' setting-value pairs meaningful for FreeFont. + +Numbers: Lining OldStyle Proportional SlashedZero +Fractions: On +VerticalPosition: Superior Inferior +Ligatures: Common Historical +Letters: UppercaseSmallCaps +Variant: 1 (etc. -- must be in {} picks style set.) +--------------------------------------------------------------------------- + + +$Id: usage.txt,v 1.10 2011-07-16 08:38:06 Stevan_White Exp $ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemono.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freemono.ctg.z new file mode 100644 index 0000000..e952241 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemono.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemono.php b/vendor/tecnickcom/tcpdf/fonts/freemono.php new file mode 100644 index 0000000..566ea4c --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freemono.php @@ -0,0 +1,16 @@ +33,'FontBBox'=>'[-793 -200 699 800]','ItalicAngle'=>0,'Ascent'=>800,'Descent'=>-200,'Leading'=>0,'CapHeight'=>563,'XHeight'=>417,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cbbox=array(0=>array(40,-80,560,643),33=>array(240,-15,360,618),34=>array(146,315,454,604),35=>array(92,-62,508,647),36=>array(113,-92,487,655),37=>array(87,-12,513,611),38=>array(105,-16,478,519),39=>array(236,315,364,604),40=>array(294,-124,458,604),41=>array(147,-124,311,604),42=>array(113,250,487,604),43=>array(72,32,528,530),44=>array(135,-145,340,145),45=>array(72,258,528,299),46=>array(226,-15,374,116),47=>array(113,-81,487,668),48=>array(113,-15,487,618),49=>array(113,0,487,612),50=>array(84,0,478,618),51=>array(96,-15,499,618),52=>array(105,0,478,604),53=>array(96,-15,499,604),54=>array(136,-15,510,618),55=>array(105,-1,478,604),56=>array(113,-15,487,618),57=>array(136,-15,510,618),58=>array(226,-15,374,417),59=>array(139,-145,350,417),60=>array(72,44,522,518),61=>array(51,190,549,375),62=>array(78,44,528,518),63=>array(134,-15,487,577),64=>array(105,-62,478,624),65=>array(9,0,591,563),66=>array(43,0,541,563),67=>array(63,-16,534,576),68=>array(43,0,520,563),69=>array(43,0,520,563),70=>array(43,0,520,563),71=>array(63,-16,562,576),72=>array(53,0,551,563),73=>array(113,0,487,563),74=>array(84,-16,583,563),75=>array(43,0,572,563),76=>array(63,0,541,563),77=>array(11,0,593,563),78=>array(22,0,562,563),79=>array(51,-16,549,576),80=>array(43,0,499,563),81=>array(51,-115,549,576),82=>array(43,0,589,563),83=>array(92,-16,508,576),84=>array(72,0,528,563),85=>array(40,-16,560,563),86=>array(9,0,591,563),87=>array(20,0,580,563),88=>array(40,0,560,563),89=>array(51,0,549,563),90=>array(103,0,497,563),91=>array(280,-124,445,604),92=>array(113,-81,487,668),93=>array(155,-124,320,604),94=>array(113,354,487,615),95=>array(0,-125,600,-75),96=>array(155,490,320,639),97=>array(72,-16,541,431),98=>array(22,-16,541,604),99=>array(84,-16,535,431),100=>array(63,-16,583,604),101=>array(63,-16,520,431),102=>array(105,0,541,604),103=>array(63,-186,562,431),104=>array(43,0,551,604),105=>array(92,0,508,624),106=>array(117,-186,428,624),107=>array(63,0,541,604),108=>array(92,0,508,604),109=>array(11,0,593,431),110=>array(53,0,541,431),111=>array(72,-16,528,431),112=>array(22,-186,541,431),113=>array(63,-186,583,431),114=>array(84,0,541,427),115=>array(103,-16,497,431),116=>array(43,-16,499,563),117=>array(43,-16,541,417),118=>array(30,0,570,417),119=>array(30,0,570,417),120=>array(51,0,549,417),121=>array(51,-186,549,417),122=>array(115,0,489,417),123=>array(157,-124,410,604),124=>array(280,-124,320,604),125=>array(190,-124,443,604),126=>array(92,212,508,348),160=>array(0,0,0,0),161=>array(240,-165,360,468),162=>array(113,-13,469,630),163=>array(63,0,520,578),164=>array(103,95,497,489),165=>array(51,0,549,563),166=>array(280,-124,320,604),167=>array(66,-62,534,603),168=>array(140,511,461,611),169=>array(3,-15,596,578),170=>array(154,188,447,574),171=>array(63,0,541,417),172=>array(72,168,528,438),173=>array(72,258,528,299),174=>array(3,-15,596,578),175=>array(155,536,445,576),176=>array(155,346,445,636),177=>array(72,0,528,529),178=>array(175,379,405,732),179=>array(181,371,416,732),180=>array(280,490,445,639),181=>array(43,-200,541,417),182=>array(79,-62,525,604),183=>array(250,180,350,280),184=>array(210,-173,377,0),185=>array(191,375,410,728),186=>array(154,188,448,577),187=>array(63,0,541,417),188=>array(16,0,580,612),189=>array(23,0,573,612),190=>array(6,0,580,612),191=>array(113,-175,466,417),192=>array(9,0,591,775),193=>array(9,0,591,772),194=>array(9,0,591,759),195=>array(9,0,591,703),196=>array(9,0,591,709),197=>array(9,0,591,794),198=>array(10,0,590,563),199=>array(63,-173,534,576),200=>array(43,0,520,777),201=>array(43,0,520,775),202=>array(43,0,520,755),203=>array(43,0,520,706),204=>array(113,0,487,777),205=>array(113,0,487,774),206=>array(113,0,487,760),207=>array(113,0,487,708),208=>array(0,0,520,563),209=>array(22,0,562,705),210=>array(51,-16,549,777),211=>array(51,-16,549,778),212=>array(51,-16,549,759),213=>array(51,-16,549,703),214=>array(51,-16,549,707),215=>array(118,100,482,464),216=>array(40,-43,560,605),217=>array(40,-16,560,777),218=>array(40,-16,560,775),219=>array(40,-16,560,759),220=>array(40,-16,560,707),221=>array(51,0,549,778),222=>array(43,0,499,563),223=>array(23,-16,497,604),224=>array(72,-16,541,640),225=>array(72,-16,541,640),226=>array(72,-16,541,626),227=>array(72,-16,541,580),228=>array(72,-16,541,591),229=>array(72,-16,541,672),230=>array(12,-16,578,431),231=>array(84,-173,535,431),232=>array(63,-16,520,640),233=>array(63,-16,520,640),234=>array(63,-16,520,624),235=>array(63,-16,520,591),236=>array(92,0,508,640),237=>array(92,0,508,640),238=>array(92,0,508,628),239=>array(92,0,508,591),240=>array(72,-17,528,620),241=>array(53,0,541,580),242=>array(72,-16,528,640),243=>array(72,-16,528,640),244=>array(72,-16,528,630),245=>array(72,-16,528,580),246=>array(72,-16,528,591),247=>array(72,25,528,540),248=>array(53,-43,543,458),249=>array(43,-16,541,640),250=>array(43,-16,541,640),251=>array(43,-16,541,626),252=>array(43,-16,541,591),253=>array(51,-186,549,640),254=>array(22,-186,541,590),255=>array(51,-186,549,591),256=>array(9,0,591,668),257=>array(72,-16,541,531),258=>array(9,0,591,743),259=>array(72,-16,541,623),260=>array(9,-155,601,563),261=>array(72,-155,556,431),262=>array(63,-16,534,777),263=>array(84,-16,535,640),264=>array(63,-16,534,760),265=>array(84,-16,535,623),266=>array(63,-16,534,712),267=>array(84,-16,535,591),268=>array(63,-16,534,753),269=>array(84,-16,535,640),270=>array(43,0,520,751),271=>array(63,-16,686,604),272=>array(0,0,520,563),273=>array(63,-16,583,604),274=>array(43,0,520,668),275=>array(63,-16,520,531),276=>array(43,0,520,744),277=>array(63,-16,520,624),278=>array(43,0,520,708),279=>array(63,-16,520,604),280=>array(43,-155,548,563),281=>array(63,-155,520,431),282=>array(43,0,520,751),283=>array(63,-16,520,640),284=>array(63,-16,562,756),285=>array(63,-186,562,640),286=>array(63,-16,562,744),287=>array(63,-186,562,621),288=>array(63,-16,562,714),289=>array(63,-186,562,606),290=>array(63,-200,562,576),291=>array(63,-186,562,665),292=>array(53,0,551,759),293=>array(43,0,551,786),294=>array(53,0,551,563),295=>array(43,0,551,604),296=>array(113,0,487,704),297=>array(92,0,508,580),298=>array(113,0,487,667),299=>array(92,0,508,531),300=>array(113,0,487,744),301=>array(92,0,508,622),302=>array(113,-155,500,563),303=>array(92,-155,520,624),304=>array(113,0,487,710),305=>array(92,0,508,417),306=>array(29,-16,571,563),307=>array(124,-186,483,624),308=>array(84,-16,583,749),309=>array(117,-186,432,666),310=>array(43,-200,572,563),311=>array(63,-200,541,604),312=>array(70,0,530,417),313=>array(63,0,541,760),314=>array(92,0,508,798),315=>array(63,-200,541,563),316=>array(92,-200,508,604),317=>array(63,0,544,576),318=>array(92,0,512,604),319=>array(63,0,541,563),320=>array(52,0,482,604),321=>array(43,0,541,563),322=>array(92,0,508,604),323=>array(22,0,562,755),324=>array(53,0,541,640),325=>array(22,-200,562,563),326=>array(53,-200,541,431),327=>array(22,0,562,754),328=>array(53,0,541,640),329=>array(8,0,541,664),330=>array(53,-11,521,577),331=>array(53,-199,480,431),332=>array(51,-16,549,669),333=>array(72,-16,528,531),334=>array(51,-16,549,744),335=>array(72,-16,528,621),336=>array(51,-16,549,745),337=>array(72,-16,528,634),338=>array(10,0,590,563),339=>array(12,-16,578,431),340=>array(43,0,589,756),341=>array(84,0,541,640),342=>array(43,-200,589,563),343=>array(84,-200,541,427),344=>array(43,0,589,752),345=>array(84,0,541,640),346=>array(92,-16,508,758),347=>array(103,-16,497,640),348=>array(92,-16,508,751),349=>array(103,-16,497,626),350=>array(92,-173,508,576),351=>array(103,-173,497,431),352=>array(92,-16,508,749),353=>array(103,-16,497,639),354=>array(72,-173,528,563),355=>array(43,-189,499,563),356=>array(72,0,528,752),357=>array(43,-16,518,613),358=>array(72,0,528,563),359=>array(43,-16,499,563),360=>array(40,-16,560,704),361=>array(43,-16,541,580),362=>array(40,-16,560,667),363=>array(43,-16,541,531),364=>array(40,-16,560,745),365=>array(43,-16,541,621),366=>array(40,-16,560,781),367=>array(43,-16,541,672),368=>array(40,-16,560,748),369=>array(43,-16,541,634),370=>array(40,-155,560,563),371=>array(43,-155,556,417),372=>array(20,0,580,751),373=>array(30,0,570,640),374=>array(51,0,549,752),375=>array(51,-186,549,640),376=>array(51,0,549,722),377=>array(103,0,497,761),378=>array(115,0,489,640),379=>array(103,0,497,718),380=>array(115,0,489,605),381=>array(103,0,497,754),382=>array(115,0,489,640),383=>array(105,0,541,604),384=>array(22,-16,541,604),385=>array(-26,0,541,563),386=>array(44,0,542,563),387=>array(22,-16,541,604),388=>array(46,0,549,590),389=>array(22,-16,541,590),390=>array(63,-16,534,576),391=>array(63,-16,667,632),392=>array(84,-16,659,485),393=>array(0,0,520,563),394=>array(-62,0,520,563),395=>array(58,0,556,563),396=>array(22,-16,541,604),397=>array(68,-199,518,460),398=>array(43,0,520,563),399=>array(50,-16,534,576),400=>array(92,-16,508,576),401=>array(8,-93,565,563),402=>array(87,-93,518,618),403=>array(63,-16,668,632),404=>array(48,-27,546,563),405=>array(7,-16,581,604),406=>array(173,-8,502,563),407=>array(113,0,487,563),408=>array(43,0,614,563),409=>array(63,0,541,618),410=>array(92,0,508,604),411=>array(58,-2,550,614),412=>array(11,-14,593,563),413=>array(8,-93,596,563),414=>array(53,-184,541,431),415=>array(51,-16,549,576),416=>array(51,-16,597,672),417=>array(72,-16,590,539),418=>array(3,-16,594,638),419=>array(29,-16,596,468),420=>array(-26,0,499,563),421=>array(22,-186,541,618),422=>array(60,-186,540,563),423=>array(92,-16,508,576),424=>array(103,-16,497,431),425=>array(102,0,490,577),426=>array(81,-93,518,618),427=>array(43,-199,499,563),428=>array(17,0,528,563),429=>array(43,-16,499,618),430=>array(72,-199,528,563),431=>array(40,-16,629,711),432=>array(43,-16,574,565),433=>array(78,-2,540,571),434=>array(43,-12,553,563),435=>array(-18,0,549,563),436=>array(51,-186,618,565),437=>array(103,0,497,563),438=>array(115,0,489,417),439=>array(96,-15,499,563),440=>array(80,-15,483,563),441=>array(95,-158,437,417),442=>array(88,-200,437,417),443=>array(84,0,478,618),444=>array(80,-15,499,563),445=>array(95,-20,420,417),446=>array(134,-14,487,563),447=>array(22,-186,534,444),448=>array(280,-124,320,604),449=>array(216,-124,384,604),450=>array(51,-124,549,604),451=>array(240,-15,360,618),452=>array(23,0,592,751),453=>array(23,0,588,622),454=>array(25,-16,585,623),455=>array(5,-16,591,563),456=>array(23,-186,583,624),457=>array(124,-186,483,624),458=>array(0,-19,600,563),459=>array(22,-186,583,624),460=>array(13,-186,583,624),461=>array(9,0,591,752),462=>array(72,-16,541,606),463=>array(113,0,487,752),464=>array(92,0,508,620),465=>array(51,-16,549,752),466=>array(72,-16,528,606),467=>array(40,-16,560,752),468=>array(43,-16,541,606),469=>array(40,-16,560,800),470=>array(43,-16,541,684),471=>array(40,-15,560,794),472=>array(43,-16,541,769),473=>array(40,-15,560,794),474=>array(43,-16,541,742),475=>array(40,-15,560,797),476=>array(43,-16,541,773),477=>array(63,-16,520,431),478=>array(9,0,591,800),479=>array(72,-16,541,684),480=>array(9,0,591,800),481=>array(72,-16,541,687),482=>array(10,0,590,663),483=>array(12,-16,578,522),484=>array(63,-16,562,576),485=>array(63,-186,562,431),486=>array(63,-16,562,764),487=>array(63,-186,562,617),488=>array(43,0,572,749),489=>array(63,0,541,784),490=>array(51,-171,549,576),491=>array(72,-171,528,431),492=>array(51,-171,549,663),493=>array(72,-171,528,521),494=>array(96,-15,499,765),495=>array(95,-158,437,620),496=>array(117,-186,445,609),497=>array(23,0,561,563),498=>array(23,0,569,563),499=>array(25,-16,553,604),500=>array(63,-16,562,752),501=>array(63,-186,562,606),502=>array(16,-16,580,565),503=>array(22,-186,538,572),504=>array(22,0,562,752),505=>array(53,0,541,649),506=>array(9,-2,591,800),507=>array(72,-16,541,800),508=>array(10,0,590,752),509=>array(12,-16,578,606),510=>array(40,-43,560,793),511=>array(53,-43,543,647),512=>array(9,0,591,771),513=>array(72,-16,541,647),514=>array(9,0,591,701),515=>array(72,-16,541,598),516=>array(43,0,520,769),517=>array(63,-16,520,634),518=>array(43,0,520,701),519=>array(63,-16,520,585),520=>array(100,0,487,769),521=>array(92,0,508,634),522=>array(113,0,487,701),523=>array(92,0,508,585),524=>array(51,-16,549,771),525=>array(72,-16,528,634),526=>array(51,-16,549,703),527=>array(72,-16,528,585),528=>array(36,0,589,769),529=>array(84,0,541,634),530=>array(43,0,589,700),531=>array(84,0,541,585),532=>array(40,-16,560,772),533=>array(43,-16,541,634),534=>array(40,-16,560,703),535=>array(43,-16,541,585),536=>array(92,-200,508,576),537=>array(103,-200,497,431),538=>array(72,-200,528,563),539=>array(43,-200,499,563),540=>array(112,-20,510,576),541=>array(124,-116,494,431),542=>array(53,0,551,752),543=>array(43,0,551,777),544=>array(30,-186,570,577),548=>array(103,-199,497,563),549=>array(115,-199,489,417),550=>array(9,0,591,706),551=>array(72,-16,541,591),552=>array(43,-173,520,563),553=>array(63,-188,520,431),554=>array(51,-16,549,800),555=>array(72,-16,528,684),556=>array(51,-16,549,800),557=>array(72,-16,528,684),558=>array(51,-16,549,712),559=>array(72,-16,528,589),560=>array(51,-16,549,800),561=>array(72,-16,528,693),562=>array(51,0,549,664),563=>array(51,-186,549,521),567=>array(117,-186,428,417),592=>array(72,-14,541,433),593=>array(63,-16,583,431),594=>array(31,-14,551,433),595=>array(22,-16,541,618),596=>array(84,-16,535,431),597=>array(84,-132,538,431),598=>array(63,-199,695,604),599=>array(63,-16,699,618),600=>array(63,-16,520,431),601=>array(63,-16,520,431),602=>array(67,-16,693,431),603=>array(103,-16,497,431),604=>array(103,-16,497,431),605=>array(103,-16,662,431),606=>array(76,-16,497,431),607=>array(147,-186,544,417),608=>array(63,-186,678,618),609=>array(63,-186,481,444),610=>array(77,-12,516,426),611=>array(52,-200,552,417),612=>array(50,-20,550,416),613=>array(43,-187,551,417),614=>array(51,0,551,618),615=>array(51,-199,478,618),616=>array(92,0,508,624),617=>array(173,-8,502,426),618=>array(135,0,465,417),619=>array(92,0,508,604),620=>array(92,0,508,604),621=>array(135,-199,513,604),622=>array(22,-158,567,604),623=>array(11,-14,593,417),624=>array(11,-186,593,417),625=>array(11,-199,532,431),626=>array(-67,-199,541,431),627=>array(53,-199,673,431),628=>array(54,0,530,417),629=>array(72,-16,528,431),630=>array(13,0,587,417),631=>array(43,-16,552,465),632=>array(112,-200,545,614),633=>array(84,-10,541,417),634=>array(84,-10,541,603),635=>array(52,-199,579,417),636=>array(84,-186,541,427),637=>array(105,-199,541,427),638=>array(84,0,518,417),639=>array(84,-200,518,417),640=>array(60,0,540,417),641=>array(60,0,540,417),642=>array(103,-199,497,431),643=>array(87,-93,518,618),644=>array(87,-93,518,618),645=>array(87,-93,518,618),646=>array(81,-93,518,618),647=>array(43,-16,499,563),648=>array(43,-200,499,563),649=>array(43,-16,541,417),650=>array(70,-16,530,455),651=>array(30,0,511,543),652=>array(30,0,570,417),653=>array(30,0,570,417),654=>array(51,0,549,603),655=>array(81,0,519,417),656=>array(115,-199,682,417),657=>array(115,-99,514,417),658=>array(95,-158,437,417),659=>array(112,-200,437,417),660=>array(134,0,487,577),661=>array(134,0,487,577),662=>array(134,-14,487,563),663=>array(63,-200,534,578),664=>array(72,-16,528,431),665=>array(73,0,511,417),666=>array(103,-16,509,431),667=>array(77,-12,629,492),668=>array(83,0,521,417),669=>array(144,-186,546,624),670=>array(63,-187,541,417),671=>array(92,0,512,417),672=>array(63,-186,699,618),673=>array(134,0,487,577),674=>array(134,0,487,577),675=>array(41,-16,569,604),676=>array(25,-158,573,604),677=>array(11,-99,595,604),678=>array(14,-16,587,563),679=>array(24,-16,582,618),680=>array(6,-132,591,566),681=>array(15,-199,575,604),682=>array(7,0,592,604),683=>array(37,0,562,604),684=>array(110,1,490,661),685=>array(72,-21,528,564),686=>array(10,-187,550,616),687=>array(5,-199,599,616),688=>array(122,381,453,783),689=>array(127,381,453,782),690=>array(201,259,404,780),691=>array(145,381,442,667),692=>array(95,375,392,661),693=>array(119,288,462,661),694=>array(102,390,458,757),695=>array(110,396,490,661),696=>array(144,278,476,661),697=>array(251,490,374,664),698=>array(166,490,439,664),699=>array(251,490,374,664),700=>array(251,490,374,664),701=>array(251,490,374,664),702=>array(300,480,393,661),703=>array(207,480,300,661),704=>array(192,383,422,741),705=>array(192,383,422,741),706=>array(197,595,403,800),707=>array(197,595,403,800),708=>array(198,595,402,800),709=>array(198,595,402,800),710=>array(155,490,445,639),711=>array(155,490,445,639),712=>array(280,490,320,635),713=>array(155,536,445,576),714=>array(270,490,435,639),715=>array(155,490,320,639),716=>array(280,-187,320,-42),717=>array(155,-124,445,-84),718=>array(217,-200,382,-51),719=>array(217,-198,382,-49),720=>array(230,0,370,417),721=>array(230,270,370,417),722=>array(300,192,393,373),723=>array(207,192,300,373),724=>array(187,536,413,669),725=>array(187,490,413,623),726=>array(187,490,413,716),727=>array(187,536,413,576),728=>array(155,490,445,620),729=>array(250,511,350,611),730=>array(207,480,393,661),731=>array(280,-155,433,0),732=>array(145,516,455,605),733=>array(155,490,445,633),734=>array(175,262,424,405),735=>array(214,514,386,686),736=>array(137,269,463,671),737=>array(166,389,437,782),738=>array(171,386,428,677),739=>array(137,388,462,660),740=>array(192,388,422,764),741=>array(50,0,458,800),742=>array(50,-12,458,800),743=>array(50,-12,458,800),744=>array(50,-12,458,800),745=>array(50,0,458,800),746=>array(100,0,508,690),747=>array(90,-10,498,379),748=>array(155,-200,445,-51),749=>array(55,528,545,666),750=>array(100,343,471,604),751=>array(198,-200,402,5),752=>array(198,-200,402,5),753=>array(198,-200,402,0),754=>array(198,-200,402,0),755=>array(207,-200,393,-19),756=>array(217,216,382,365),757=>array(149,474,450,623),758=>array(217,199,382,348),759=>array(145,-199,455,-110),760=>array(226,309,374,741),761=>array(233,543,366,676),762=>array(233,543,366,676),763=>array(233,-40,366,93),764=>array(280,-42,413,91),765=>array(120,-200,480,-47),766=>array(120,-200,438,-47),767=>array(59,-200,546,-21),768=>array(-445,490,-280,639),769=>array(-320,490,-155,639),770=>array(-445,490,-155,639),771=>array(-455,516,-145,605),772=>array(-445,536,-155,576),773=>array(-545,536,-55,576),774=>array(-445,490,-155,620),775=>array(-350,511,-250,611),776=>array(-460,511,-139,611),777=>array(-396,468,-208,682),778=>array(-393,480,-207,661),779=>array(-445,490,-155,633),780=>array(-445,490,-155,639),781=>array(-320,490,-280,635),782=>array(-380,490,-220,635),783=>array(-445,490,-155,633),784=>array(-445,490,-155,675),785=>array(-441,454,-151,584),786=>array(-324,490,-201,664),787=>array(-294,478,-171,652),788=>array(-369,490,-246,664),789=>array(-123,524,0,698),790=>array(-360,-199,-195,-50),791=>array(-374,-200,-209,-51),792=>array(-355,-190,-222,-20),793=>array(-336,-190,-203,-20),794=>array(-92,543,41,676),795=>array(-163,376,19,565),796=>array(-341,-200,-248,-19),797=>array(-402,-187,-176,-54),798=>array(-405,-187,-179,-54),799=>array(-424,-200,-198,26),800=>array(-427,-121,-201,-81),801=>array(-345,-199,-111,0),802=>array(-345,-199,-111,0),803=>array(-350,-157,-250,-57),804=>array(-455,-153,-134,-53),805=>array(-385,-200,-199,-19),806=>array(-259,-200,-154,-52),807=>array(-390,-173,-223,0),808=>array(-320,-155,-167,0),809=>array(-323,-182,-283,-37),810=>array(-447,-200,-127,-47),811=>array(-467,-163,-134,-43),812=>array(-438,-188,-148,-39),813=>array(-453,-187,-163,-38),814=>array(-434,-176,-144,-46),815=>array(-454,-183,-164,-53),816=>array(-452,-143,-142,-54),817=>array(-436,-119,-146,-79),818=>array(-600,-150,0,-100),819=>array(-600,-200,0,-52),820=>array(-442,186,-132,275),821=>array(-443,279,-153,319),822=>array(-540,234,-84,275),823=>array(-381,224,-144,400),824=>array(-479,168,-125,395),825=>array(-312,-200,-219,-19),826=>array(-447,-200,-127,-47),827=>array(-368,-200,-190,-23),828=>array(-459,-163,-122,-43),829=>array(-384,481,-212,653),830=>array(-356,460,-279,687),831=>array(-600,648,0,796),832=>array(-388,490,-223,639),833=>array(-352,490,-187,639),834=>array(-455,516,-145,605),835=>array(-324,478,-201,652),836=>array(-453,490,-146,670),837=>array(-310,-200,-76,-51),838=>array(-447,461,-127,614),839=>array(-430,-199,-140,-79),840=>array(-366,-174,-233,-29),841=>array(-373,-181,-240,-48),842=>array(-447,490,-137,633),843=>array(-447,450,-137,727),844=>array(-433,516,-123,746),845=>array(-437,-182,-161,-53),846=>array(-356,-193,-242,-40),848=>array(-403,455,-197,660),849=>array(-364,467,-271,648),850=>array(-440,465,-150,667),851=>array(-381,-200,-209,-28),852=>array(-403,-200,-199,0),853=>array(-414,-200,-210,0),854=>array(-500,-200,-114,5),855=>array(-305,471,-212,652),856=>array(-101,511,-1,611),857=>array(-394,-200,-206,-22),858=>array(-447,-199,-151,-31),859=>array(-388,451,-198,629),860=>array(-364,-200,364,-36),861=>array(-364,455,364,619),862=>array(-300,477,300,527),863=>array(-300,-120,300,-70),864=>array(-232,-140,232,-51),865=>array(-364,476,364,640),866=>array(-276,-199,291,-27),867=>array(-385,448,-182,641),868=>array(-405,448,-208,641),869=>array(-387,456,-207,725),870=>array(-397,448,-200,641),871=>array(-414,447,-199,634),872=>array(-394,446,-199,639),873=>array(-407,446,-182,714),874=>array(-404,456,-184,717),875=>array(-427,458,-176,644),876=>array(-389,458,-192,642),877=>array(-378,447,-181,697),878=>array(-411,454,-178,634),879=>array(-402,456,-187,636),884=>array(251,490,374,664),885=>array(251,-125,374,49),890=>array(255,-199,489,-50),894=>array(139,-145,350,417),900=>array(232,490,369,670),901=>array(147,490,454,670),902=>array(-33,0,599,619),903=>array(226,285,374,417),904=>array(-26,0,591,619),905=>array(-16,0,598,621),906=>array(12,0,542,619),908=>array(16,-16,588,619),910=>array(-42,0,597,617),911=>array(20,0,585,621),912=>array(129,-16,502,670),913=>array(9,0,591,563),914=>array(43,0,541,563),915=>array(62,0,538,563),916=>array(9,0,591,563),917=>array(43,0,520,563),918=>array(103,0,497,563),919=>array(53,0,551,563),920=>array(51,-16,549,576),921=>array(113,0,487,563),922=>array(43,0,572,563),923=>array(9,0,591,563),924=>array(11,0,593,563),925=>array(22,0,562,563),926=>array(69,0,531,563),927=>array(51,-16,549,576),928=>array(51,0,543,563),929=>array(43,0,499,563),931=>array(102,0,490,577),932=>array(72,0,528,563),933=>array(51,0,549,563),934=>array(46,0,554,563),935=>array(40,0,560,563),936=>array(19,0,586,563),937=>array(70,0,530,563),938=>array(113,0,487,716),939=>array(51,0,549,716),940=>array(63,-16,583,684),941=>array(145,-2,493,696),942=>array(53,-186,541,684),943=>array(173,-16,502,684),944=>array(43,-12,553,667),945=>array(63,-16,583,431),946=>array(60,-186,535,604),947=>array(61,-186,545,417),948=>array(68,-8,518,651),949=>array(145,-2,493,443),950=>array(122,-186,482,604),951=>array(53,-186,541,431),952=>array(113,-15,487,618),953=>array(173,-16,502,418),954=>array(70,0,530,417),955=>array(58,-2,550,614),956=>array(43,-200,541,417),957=>array(53,0,539,417),958=>array(124,-186,482,604),959=>array(72,-16,528,431),960=>array(82,0,518,417),961=>array(21,-200,531,427),962=>array(94,-159,503,428),963=>array(43,-14,533,426),964=>array(43,-8,553,417),965=>array(43,-12,553,417),966=>array(37,-200,545,417),967=>array(31,-186,553,417),968=>array(34,-186,557,604),969=>array(43,-16,552,418),970=>array(90,-16,502,571),971=>array(43,-12,553,571),972=>array(72,-16,528,684),973=>array(43,-12,553,684),974=>array(43,-16,552,684),976=>array(112,-20,492,614),977=>array(66,-15,487,618),978=>array(48,0,552,563),979=>array(-48,0,579,563),980=>array(48,0,552,677),981=>array(81,-186,509,604),982=>array(43,-16,552,431),986=>array(80,-146,596,562),987=>array(89,-147,538,439),988=>array(43,0,520,563),989=>array(123,-180,532,438),1008=>array(39,-1,561,417),1009=>array(100,-190,531,443),1012=>array(51,-16,549,576),1013=>array(175,-17,425,432),1024=>array(43,0,520,752),1025=>array(43,0,520,726),1026=>array(8,-137,527,566),1027=>array(62,0,538,752),1028=>array(64,-16,536,576),1029=>array(92,-16,508,576),1030=>array(113,0,487,563),1031=>array(113,0,487,725),1032=>array(84,-16,583,563),1033=>array(6,0,584,563),1034=>array(10,0,584,563),1035=>array(8,3,579,566),1036=>array(45,0,572,752),1037=>array(51,0,550,752),1038=>array(50,0,550,754),1039=>array(51,-80,549,563),1040=>array(9,0,591,563),1041=>array(44,0,542,563),1042=>array(43,0,541,563),1043=>array(62,0,538,563),1044=>array(32,-125,566,563),1045=>array(43,0,520,563),1046=>array(8,0,592,563),1047=>array(92,-16,508,576),1048=>array(51,0,550,563),1049=>array(51,0,550,771),1050=>array(45,0,572,563),1051=>array(57,0,551,563),1052=>array(11,0,593,563),1053=>array(53,0,551,563),1054=>array(51,-16,549,576),1055=>array(51,0,549,563),1056=>array(43,0,499,563),1057=>array(63,-16,534,576),1058=>array(72,0,528,563),1059=>array(50,0,550,563),1060=>array(14,0,586,563),1061=>array(40,0,560,563),1062=>array(50,-125,550,563),1063=>array(73,0,550,563),1064=>array(-46,0,646,563),1065=>array(4,-125,591,563),1066=>array(23,0,557,563),1067=>array(11,0,593,563),1068=>array(43,-1,535,562),1069=>array(64,-16,536,576),1070=>array(3,-16,597,576),1071=>array(13,0,559,563),1072=>array(72,-16,541,431),1073=>array(81,-16,519,626),1074=>array(108,0,492,417),1075=>array(114,0,486,417),1076=>array(55,-118,552,417),1077=>array(63,-16,520,431),1078=>array(12,0,589,417),1079=>array(103,-16,497,431),1080=>array(65,0,535,417),1081=>array(65,0,535,644),1082=>array(70,0,530,417),1083=>array(88,0,512,417),1084=>array(52,0,549,417),1085=>array(65,0,543,417),1086=>array(72,-16,528,431),1087=>array(65,0,536,417),1088=>array(22,-186,541,431),1089=>array(84,-16,535,431),1090=>array(102,-1,498,417),1091=>array(51,-186,549,417),1092=>array(32,-186,568,573),1093=>array(51,0,549,417),1094=>array(53,-118,536,417),1095=>array(96,0,506,417),1096=>array(9,0,592,417),1097=>array(9,-118,588,417),1098=>array(64,0,540,417),1099=>array(10,0,590,417),1100=>array(108,0,492,417),1101=>array(74,-16,526,431),1102=>array(10,-16,590,431),1103=>array(88,0,512,417),1104=>array(63,-16,520,620),1105=>array(63,-16,520,604),1106=>array(43,-151,478,604),1107=>array(114,0,486,610),1108=>array(74,-16,526,431),1109=>array(103,-16,497,431),1110=>array(92,0,508,624),1111=>array(92,0,508,603),1112=>array(117,-186,428,624),1113=>array(34,0,566,417),1114=>array(28,0,572,417),1115=>array(43,0,551,604),1116=>array(70,0,530,610),1117=>array(65,0,535,620),1118=>array(51,-186,549,604),1119=>array(62,-80,538,417),1120=>array(20,-16,580,564),1121=>array(43,-16,552,418),1122=>array(16,-1,568,634),1123=>array(27,0,492,489),1124=>array(3,-16,572,576),1125=>array(10,-16,596,431),1126=>array(9,0,591,563),1127=>array(9,0,591,417),1128=>array(0,0,600,563),1129=>array(5,0,595,417),1130=>array(8,0,592,564),1131=>array(38,0,562,416),1132=>array(3,0,592,563),1133=>array(38,0,574,416),1134=>array(124,-186,482,754),1135=>array(124,-186,482,614),1136=>array(19,0,586,563),1137=>array(34,-186,557,604),1138=>array(51,-16,549,576),1139=>array(72,-16,528,431),1140=>array(9,0,586,563),1141=>array(30,0,586,417),1142=>array(9,0,586,731),1143=>array(30,0,586,605),1144=>array(10,-186,596,576),1145=>array(10,-186,586,431),1146=>array(51,-41,549,599),1147=>array(72,-41,528,454),1148=>array(20,-16,580,799),1149=>array(43,-16,552,626),1150=>array(20,-16,580,800),1151=>array(43,-16,552,664),1155=>array(-472,617,-112,771),1156=>array(-441,643,-151,773),1157=>array(-369,490,-246,664),1158=>array(-294,478,-171,652),1159=>array(-402,454,-2,584),1162=>array(51,-146,550,771),1163=>array(65,-146,535,644),1164=>array(43,0,499,584),1165=>array(108,0,492,438),1166=>array(43,0,501,563),1167=>array(22,-186,541,431),1168=>array(62,0,538,688),1169=>array(114,0,486,535),1170=>array(62,0,538,563),1171=>array(114,0,486,417),1172=>array(62,-93,560,563),1173=>array(114,-188,486,417),1174=>array(8,-146,592,563),1175=>array(12,-146,589,417),1176=>array(92,-173,508,576),1177=>array(103,-173,497,431),1178=>array(36,-146,565,563),1179=>array(70,-146,531,417),1180=>array(36,0,564,563),1181=>array(70,0,530,417),1182=>array(36,0,564,563),1183=>array(70,0,530,417),1184=>array(-25,0,564,563),1185=>array(10,0,530,417),1186=>array(53,-146,551,563),1187=>array(82,-146,518,417),1188=>array(53,0,619,563),1189=>array(82,0,598,417),1190=>array(-13,-93,612,563),1191=>array(18,-188,585,417),1192=>array(63,-132,535,576),1193=>array(84,-132,538,431),1194=>array(63,-155,534,576),1195=>array(84,-155,535,431),1196=>array(72,-146,528,563),1197=>array(122,-147,478,417),1198=>array(51,0,549,563),1199=>array(30,-199,570,417),1200=>array(51,0,549,563),1201=>array(30,-200,570,417),1202=>array(40,-146,560,563),1203=>array(51,-146,549,417),1204=>array(-18,-146,550,563),1205=>array(8,-118,524,417),1206=>array(74,-146,526,563),1207=>array(96,-146,506,417),1208=>array(74,0,526,563),1209=>array(96,0,506,417),1210=>array(74,0,526,563),1211=>array(96,0,506,417),1212=>array(-84,-16,534,576),1213=>array(-50,-16,520,431),1214=>array(-84,-155,534,576),1215=>array(-50,-155,520,431),1216=>array(113,0,487,563),1217=>array(8,0,592,733),1218=>array(12,0,589,607),1219=>array(36,-105,528,563),1220=>array(70,-188,500,417),1221=>array(57,-146,551,563),1222=>array(88,-146,512,417),1223=>array(53,-199,530,563),1224=>array(82,-199,518,417),1225=>array(53,-146,551,563),1226=>array(65,-146,543,417),1227=>array(74,-147,526,563),1228=>array(96,-146,506,417),1229=>array(11,-146,593,563),1230=>array(52,-146,549,417),1231=>array(113,0,487,563),1232=>array(9,0,591,733),1233=>array(72,-16,541,601),1234=>array(9,0,591,725),1235=>array(72,-16,541,603),1236=>array(10,0,590,563),1237=>array(12,-16,578,431),1238=>array(43,0,520,733),1239=>array(63,-16,520,604),1240=>array(50,-16,534,576),1241=>array(76,-16,533,431),1242=>array(50,-16,534,724),1243=>array(76,-16,533,606),1244=>array(8,0,592,724),1245=>array(12,0,589,605),1246=>array(92,-16,508,716),1247=>array(103,-16,497,603),1248=>array(96,-15,499,563),1249=>array(95,-158,437,417),1250=>array(51,0,550,669),1251=>array(65,0,535,522),1252=>array(51,0,550,722),1253=>array(65,0,535,604),1254=>array(51,-16,549,726),1255=>array(72,-16,528,603),1256=>array(51,-16,549,576),1257=>array(72,-16,528,431),1258=>array(51,-16,549,722),1259=>array(72,-16,528,604),1260=>array(64,-16,536,723),1261=>array(74,-16,526,603),1262=>array(50,0,550,663),1263=>array(51,-186,549,525),1264=>array(50,0,550,723),1265=>array(51,-186,549,603),1266=>array(50,0,550,746),1267=>array(51,-186,549,600),1268=>array(73,0,550,722),1269=>array(96,0,506,603),1270=>array(62,-146,538,563),1271=>array(114,-146,486,417),1272=>array(11,0,593,723),1273=>array(10,0,590,603),1274=>array(55,-199,538,563),1275=>array(0,-199,486,417),1276=>array(40,-199,560,563),1277=>array(51,-199,549,417),1278=>array(40,0,560,563),1279=>array(51,0,549,417),1296=>array(92,-16,508,576),1297=>array(103,-16,497,431),1298=>array(57,-199,530,563),1299=>array(88,-199,512,417),1306=>array(51,-115,549,576),1307=>array(63,-186,583,431),1308=>array(20,0,580,563),1309=>array(30,0,570,417),1310=>array(45,0,572,563),1311=>array(70,0,530,417),1316=>array(51,-146,550,563),1317=>array(65,-146,536,417),1318=>array(73,-146,550,563),1319=>array(96,-146,506,417),1329=>array(41,-145,580,563),1330=>array(41,0,567,579),1331=>array(43,0,582,580),1332=>array(19,0,593,579),1333=>array(34,-16,560,563),1334=>array(34,-10,566,578),1335=>array(58,-80,519,563),1336=>array(41,0,561,579),1337=>array(13,0,596,575),1338=>array(53,-16,572,563),1339=>array(21,0,571,563),1340=>array(63,0,543,562),1341=>array(0,-12,592,563),1342=>array(46,-14,550,572),1343=>array(41,0,561,563),1344=>array(107,-20,493,571),1345=>array(53,0,577,584),1346=>array(21,0,581,579),1347=>array(33,0,569,564),1348=>array(21,-16,587,564),1349=>array(90,0,499,605),1350=>array(18,-16,570,563),1351=>array(61,-16,537,612),1352=>array(42,0,562,579),1353=>array(43,-61,527,586),1354=>array(24,0,575,579),1355=>array(64,-3,584,564),1356=>array(32,0,590,579),1357=>array(41,-16,561,563),1358=>array(11,0,551,564),1359=>array(92,-16,508,576),1360=>array(42,0,562,579),1361=>array(65,0,520,594),1362=>array(92,0,502,563),1363=>array(71,0,529,563),1364=>array(2,0,587,580),1365=>array(51,-16,549,576),1366=>array(90,-17,510,572),1369=>array(253,480,346,661),1370=>array(251,490,374,664),1371=>array(270,490,435,639),1372=>array(145,471,455,603),1373=>array(218,490,383,639),1374=>array(185,595,452,778),1375=>array(143,588,456,719),1377=>array(10,-16,593,423),1378=>array(52,-190,557,432),1379=>array(43,-190,582,438),1380=>array(33,-190,579,438),1381=>array(44,-16,560,572),1382=>array(43,-189,583,438),1383=>array(125,0,444,572),1384=>array(53,-190,542,438),1385=>array(22,-190,542,438),1386=>array(53,-16,572,572),1387=>array(53,-190,542,573),1388=>array(73,-190,533,422),1389=>array(3,-190,573,573),1390=>array(71,-16,596,572),1391=>array(56,-190,544,572),1392=>array(53,0,542,572),1393=>array(71,-16,591,609),1394=>array(66,-190,594,438),1395=>array(80,0,477,572),1396=>array(54,-16,553,573),1397=>array(91,-190,405,422),1398=>array(127,-16,543,637),1399=>array(71,-190,533,438),1400=>array(53,0,542,438),1401=>array(93,-190,533,453),1402=>array(10,-190,593,422),1403=>array(71,-190,533,438),1404=>array(53,0,522,438),1405=>array(44,-16,543,423),1406=>array(44,-190,593,572),1407=>array(103,-16,497,431),1408=>array(53,-190,542,438),1409=>array(63,-186,562,431),1410=>array(121,0,532,422),1411=>array(10,-190,592,572),1412=>array(105,0,544,613),1413=>array(72,-16,528,431),1414=>array(90,-190,510,572),1415=>array(44,-16,541,572),1417=>array(226,-15,374,417),1418=>array(179,235,429,326),1423=>array(19,0,579,579),1456=>array(271,-200,329,-42),1457=>array(153,-200,447,-42),1458=>array(153,-200,447,-43),1459=>array(152,-200,447,-40),1460=>array(271,-101,329,-42),1461=>array(212,-101,388,-42),1462=>array(212,-200,388,-42),1463=>array(212,-101,388,-60),1464=>array(212,-200,389,-40),1465=>array(245,540,303,599),1466=>array(267,538,325,597),1467=>array(153,-200,447,-42),1468=>array(271,211,329,270),1469=>array(280,-200,320,-24),1470=>array(100,439,500,480),1471=>array(212,540,388,581),1472=>array(280,-120,320,600),1473=>array(519,540,578,599),1474=>array(49,540,108,599),1475=>array(226,-15,374,417),1476=>array(270,540,329,599),1477=>array(269,-140,327,-81),1478=>array(133,0,430,480),1479=>array(212,-200,389,-40),1488=>array(60,0,540,480),1489=>array(60,0,560,480),1490=>array(133,0,467,480),1491=>array(60,0,540,480),1492=>array(60,0,540,480),1493=>array(170,0,320,480),1494=>array(133,0,467,480),1495=>array(60,0,540,480),1496=>array(22,0,535,480),1497=>array(170,219,320,480),1498=>array(60,-200,499,480),1499=>array(60,0,499,480),1500=>array(60,0,540,617),1501=>array(60,0,540,480),1502=>array(60,0,540,480),1503=>array(170,-200,320,480),1504=>array(133,0,430,480),1505=>array(60,0,540,480),1506=>array(60,0,543,480),1507=>array(60,-200,540,480),1508=>array(60,0,540,480),1509=>array(60,-200,540,480),1510=>array(50,0,530,480),1511=>array(49,-200,529,480),1512=>array(60,0,540,480),1513=>array(51,0,570,480),1514=>array(23,0,540,480),1520=>array(90,0,450,480),1521=>array(90,0,450,480),1522=>array(90,219,450,480),1523=>array(250,315,370,604),1524=>array(158,315,458,604),1542=>array(0,0,600,753),1543=>array(0,0,600,733),1544=>array(36,-184,560,170),1545=>array(103,-81,546,668),1546=>array(40,-81,590,668),1547=>array(101,-200,474,486),1548=>array(185,-85,390,205),1549=>array(190,-115,381,69),1550=>array(68,0,548,186),1551=>array(100,-200,506,247),1563=>array(189,-18,400,544),1566=>array(170,86,430,256),1567=>array(134,-15,487,577),1568=>array(100,-200,515,221),1569=>array(205,-81,395,167),1570=>array(193,-20,427,714),1571=>array(211,-20,349,779),1572=>array(101,-200,404,399),1573=>array(261,-200,399,583),1574=>array(100,-144,515,399),1575=>array(280,-20,320,583),1576=>array(40,-158,560,217),1577=>array(180,-16,420,436),1578=>array(40,0,560,336),1579=>array(40,0,560,396),1580=>array(61,-200,537,310),1581=>array(61,-200,537,310),1582=>array(61,-200,537,486),1583=>array(133,0,430,260),1584=>array(133,0,430,416),1585=>array(97,-199,400,224),1586=>array(97,-199,400,416),1587=>array(0,-124,600,184),1588=>array(0,-124,600,416),1589=>array(0,-124,600,213),1590=>array(0,-124,600,416),1591=>array(92,-16,501,564),1592=>array(92,-16,501,564),1593=>array(132,-200,520,247),1594=>array(132,-200,520,416),1595=>array(40,0,560,584),1596=>array(40,-200,560,582),1597=>array(100,-144,515,524),1598=>array(100,-144,515,416),1599=>array(100,-144,515,416),1600=>array(0,0,600,40),1601=>array(40,0,560,466),1602=>array(101,-184,500,336),1603=>array(100,0,560,571),1604=>array(80,-177,527,564),1605=>array(150,-200,470,330),1606=>array(101,-178,474,416),1607=>array(182,-16,418,300),1608=>array(101,-200,404,170),1609=>array(100,-144,515,221),1610=>array(50,-200,600,221),1611=>array(187,605,412,799),1612=>array(167,583,430,800),1613=>array(187,-200,412,-6),1614=>array(187,695,412,800),1615=>array(221,588,365,800),1616=>array(187,-200,412,-95),1617=>array(206,601,394,709),1618=>array(236,657,362,775),1619=>array(183,647,417,714),1620=>array(211,599,349,779),1621=>array(211,-200,349,-20),1622=>array(280,-190,320,-45),1623=>array(220,588,364,800),1625=>array(-117,647,117,714),1626=>array(198,595,402,800),1627=>array(198,595,402,800),1628=>array(252,-151,350,-51),1629=>array(225,588,379,800),1630=>array(160,579,460,799),1631=>array(135,-200,367,-45),1632=>array(225,291,375,441),1633=>array(229,-19,319,582),1634=>array(160,-19,468,582),1635=>array(110,-19,501,582),1636=>array(132,0,470,567),1637=>array(92,-16,508,570),1638=>array(68,-19,469,564),1639=>array(92,-13,508,576),1640=>array(92,-13,508,576),1641=>array(121,-19,490,584),1642=>array(113,-81,487,668),1643=>array(183,-109,417,95),1644=>array(251,490,374,664),1645=>array(113,80,487,434),1646=>array(40,0,560,217),1647=>array(101,-184,474,170),1648=>array(280,600,320,745),1649=>array(173,-20,402,748),1650=>array(135,-20,367,775),1651=>array(145,-200,377,583),1652=>array(211,599,349,779),1653=>array(280,-20,499,659),1654=>array(101,-200,404,435),1655=>array(101,-200,505,438),1656=>array(40,-144,599,435),1657=>array(40,0,560,437),1658=>array(40,0,560,386),1659=>array(40,-200,560,217),1660=>array(40,-107,560,217),1661=>array(40,0,560,386),1662=>array(40,-200,560,217),1663=>array(40,0,560,387),1664=>array(40,-200,560,217),1665=>array(61,-200,537,519),1666=>array(61,-200,537,566),1667=>array(61,-200,537,310),1668=>array(61,-200,537,310),1669=>array(61,-200,537,546),1670=>array(61,-200,537,310),1671=>array(61,-200,537,310),1672=>array(133,0,430,564),1673=>array(133,-107,430,260),1674=>array(133,-158,430,260),1675=>array(133,-158,430,544),1676=>array(133,0,430,436),1677=>array(133,-154,430,260),1678=>array(133,0,430,486),1679=>array(133,0,430,486),1680=>array(133,0,430,487),1681=>array(97,-199,408,554),1682=>array(97,-199,402,529),1683=>array(97,-199,474,224),1684=>array(97,-199,510,224),1685=>array(20,-200,560,224),1686=>array(97,-199,510,224),1687=>array(97,-199,400,436),1688=>array(97,-199,430,486),1689=>array(97,-199,410,457),1690=>array(0,-158,600,366),1691=>array(0,-200,600,184),1692=>array(0,-200,600,416),1693=>array(0,-154,600,213),1694=>array(0,-124,600,416),1695=>array(92,-16,510,564),1696=>array(132,-200,520,496),1697=>array(40,0,560,260),1698=>array(40,-158,560,260),1699=>array(40,-158,560,436),1700=>array(40,0,580,486),1701=>array(40,-200,580,260),1702=>array(40,0,580,497),1703=>array(101,-184,474,346),1704=>array(101,-184,520,416),1705=>array(40,0,560,582),1706=>array(40,0,560,432),1707=>array(40,0,560,582),1708=>array(100,0,560,716),1709=>array(100,0,560,776),1710=>array(100,-200,560,571),1711=>array(40,0,560,582),1712=>array(40,0,560,582),1713=>array(20,0,560,636),1714=>array(40,-154,560,582),1715=>array(40,-200,560,582),1716=>array(10,0,590,666),1717=>array(80,-177,527,750),1718=>array(80,-177,527,686),1719=>array(80,-177,527,706),1720=>array(80,-200,527,564),1721=>array(101,-200,547,366),1722=>array(101,-178,474,250),1723=>array(101,-178,474,534),1724=>array(101,-200,474,250),1725=>array(101,-178,474,486),1726=>array(50,-16,408,220),1727=>array(61,-200,537,486),1728=>array(202,-16,398,435),1729=>array(277,-35,600,55),1730=>array(231,-35,600,329),1731=>array(200,-35,600,226),1732=>array(101,-200,404,170),1733=>array(101,-200,404,170),1734=>array(101,-200,404,438),1735=>array(101,-200,404,438),1736=>array(101,-200,404,415),1737=>array(101,-200,404,440),1738=>array(101,-200,420,376),1739=>array(101,-200,430,416),1740=>array(100,-144,515,221),1741=>array(22,-144,555,221),1742=>array(100,-144,515,438),1743=>array(101,-200,404,366),1744=>array(40,-200,560,221),1745=>array(0,-200,600,221),1746=>array(40,0,560,293),1747=>array(40,0,560,435),1748=>array(179,-26,401,69),1749=>array(202,-16,398,220),1774=>array(133,0,430,564),1775=>array(97,-199,402,564),1776=>array(225,291,375,441),1777=>array(229,-19,319,582),1778=>array(160,-19,468,582),1779=>array(110,-19,501,582),1780=>array(130,-19,494,582),1781=>array(92,-1,508,570),1782=>array(226,-6,494,567),1783=>array(92,-13,508,576),1784=>array(92,-13,508,576),1785=>array(121,-19,490,584),1786=>array(0,-158,600,416),1787=>array(0,-158,600,416),1788=>array(132,-200,520,416),1789=>array(221,80,366,437),1790=>array(190,36,431,434),1791=>array(50,-16,408,524),4304=>array(102,108,498,552),4305=>array(106,108,494,755),4306=>array(93,-184,507,458),4307=>array(53,-190,547,458),4308=>array(100,-184,500,458),4309=>array(100,-184,500,458),4310=>array(65,108,536,773),4311=>array(64,100,536,460),4312=>array(103,101,497,458),4313=>array(99,-184,501,466),4314=>array(53,-98,547,458),4315=>array(102,108,498,773),4316=>array(99,108,501,790),4317=>array(58,101,542,458),4318=>array(100,108,500,775),4319=>array(93,-184,507,480),4320=>array(53,100,538,773),4321=>array(106,108,494,773),4322=>array(53,-188,547,617),4323=>array(53,-184,547,466),4324=>array(52,-184,548,458),4325=>array(98,-180,503,799),4326=>array(53,-190,547,458),4327=>array(104,-184,496,454),4328=>array(64,108,535,773),4329=>array(106,102,494,773),4330=>array(53,-185,547,466),4331=>array(102,108,498,773),4332=>array(80,-200,520,800),4333=>array(76,-184,524,743),4334=>array(102,108,498,773),4335=>array(50,-184,550,458),4336=>array(106,108,494,775),4337=>array(46,114,554,754),4338=>array(110,86,490,487),4339=>array(98,-184,502,460),4340=>array(117,-184,483,621),4341=>array(87,107,513,775),4345=>array(93,-200,507,442),4347=>array(101,10,492,584),4348=>array(173,204,475,716),5024=>array(43,0,520,563),5025=>array(43,0,589,563),5026=>array(72,0,528,563),5027=>array(24,-16,575,563),5028=>array(10,-16,589,576),5029=>array(92,0,508,624),5030=>array(72,-16,528,576),5031=>array(51,-16,549,576),5032=>array(74,0,526,563),5033=>array(50,-16,550,563),5034=>array(9,0,591,563),5035=>array(84,-16,583,563),5036=>array(43,0,520,563),5037=>array(20,0,580,563),5038=>array(104,0,497,576),5039=>array(28,-16,573,563),5040=>array(104,0,497,563),5041=>array(62,0,538,563),5042=>array(52,-16,548,576),5043=>array(20,0,580,563),5044=>array(66,-16,534,563),5045=>array(72,0,528,563),5046=>array(64,-16,535,576),5047=>array(9,0,591,563),5048=>array(50,0,550,579),5049=>array(35,-14,565,563),5050=>array(3,-16,597,576),5051=>array(51,0,549,563),5052=>array(74,-16,525,563),5053=>array(42,-16,558,563),5054=>array(51,-16,549,576),5055=>array(57,-16,543,563),5056=>array(63,-16,562,576),5057=>array(20,-16,580,572),5058=>array(74,0,526,563),5059=>array(103,0,497,563),5060=>array(14,-16,586,563),5061=>array(6,-16,594,576),5062=>array(72,0,528,563),5063=>array(26,-18,574,573),5064=>array(53,-16,547,576),5065=>array(9,0,591,576),5066=>array(26,-18,574,573),5067=>array(104,-16,496,576),5068=>array(40,-16,560,563),5069=>array(28,-16,573,579),5070=>array(84,0,516,563),5071=>array(43,-1,535,562),5072=>array(92,0,508,563),5073=>array(76,-16,524,580),5074=>array(38,0,562,563),5075=>array(50,-16,549,563),5076=>array(9,0,591,563),5077=>array(77,-16,523,576),5078=>array(59,-13,541,563),5079=>array(72,-8,528,563),5080=>array(90,-8,510,563),5081=>array(9,0,591,563),5082=>array(92,-16,508,576),5083=>array(41,-16,559,576),5084=>array(50,-16,550,576),5085=>array(63,0,541,576),5086=>array(63,0,541,563),5087=>array(63,-16,534,576),5088=>array(28,-16,572,563),5089=>array(52,-16,548,576),5090=>array(43,0,499,563),5091=>array(50,-16,550,576),5092=>array(38,0,562,563),5093=>array(40,0,560,563),5094=>array(43,0,572,563),5095=>array(40,0,560,580),5096=>array(12,-16,588,576),5097=>array(35,-105,599,576),5098=>array(31,-16,569,579),5099=>array(51,-16,549,576),5100=>array(51,-16,549,579),5101=>array(72,-16,529,576),5102=>array(81,-16,519,576),5103=>array(26,-18,574,573),5104=>array(62,-35,538,604),5105=>array(60,-16,539,563),5106=>array(50,0,550,618),5107=>array(29,-16,571,576),5108=>array(43,0,541,563),5792=>array(196,-103,451,788),5793=>array(196,-103,451,790),5794=>array(118,-103,489,788),5795=>array(58,-103,529,788),5796=>array(118,-103,489,788),5797=>array(128,-103,499,788),5798=>array(155,-103,430,788),5799=>array(155,-103,430,788),5800=>array(196,-103,391,788),5801=>array(190,-104,421,787),5802=>array(190,-104,421,787),5803=>array(153,-103,434,788),5804=>array(169,-103,432,788),5805=>array(217,-103,369,788),5806=>array(217,-103,369,788),5807=>array(169,-103,432,788),5808=>array(169,-103,432,788),5809=>array(169,-103,450,788),5810=>array(204,116,397,576),5811=>array(190,-103,466,789),5812=>array(190,-103,466,789),5813=>array(190,-103,466,789),5814=>array(147,-103,466,789),5815=>array(20,-103,580,788),5816=>array(20,-103,580,788),5817=>array(192,-103,468,788),5818=>array(153,-103,434,788),5819=>array(153,-103,434,788),5820=>array(169,-103,432,788),5821=>array(237,-103,363,788),5822=>array(169,-103,432,788),5823=>array(246,-103,398,788),5824=>array(169,-103,432,788),5825=>array(280,-103,321,788),5826=>array(237,-103,363,788),5827=>array(104,-4,497,626),5828=>array(49,-103,551,788),5829=>array(169,-103,432,788),5830=>array(202,-103,354,788),5831=>array(125,-103,474,788),5832=>array(153,-103,453,788),5833=>array(45,-103,556,789),5834=>array(112,-44,473,781),5835=>array(164,-103,436,789),5836=>array(280,284,321,737),5837=>array(237,212,363,745),5838=>array(126,243,475,741),5839=>array(126,-103,475,788),5840=>array(196,-103,391,788),5841=>array(174,-103,410,788),5842=>array(169,-103,458,788),5843=>array(217,-103,369,788),5844=>array(169,-103,458,788),5845=>array(166,-103,466,788),5846=>array(105,-103,495,788),5847=>array(105,-103,495,788),5848=>array(76,-103,524,788),5849=>array(237,-103,363,788),5850=>array(226,-103,421,788),5851=>array(200,-103,436,788),5852=>array(87,143,513,640),5853=>array(76,-103,524,788),5854=>array(20,-103,580,788),5855=>array(79,-37,524,657),5856=>array(21,-103,580,788),5857=>array(45,-103,556,788),5858=>array(21,-103,580,788),5859=>array(45,-103,556,789),5860=>array(20,-103,580,788),5861=>array(105,-103,495,788),5862=>array(76,-103,524,788),5863=>array(280,-53,321,400),5864=>array(126,-103,475,788),5865=>array(132,-103,408,788),5866=>array(76,-103,518,789),5867=>array(234,332,366,480),5868=>array(234,132,366,537),5869=>array(142,199,458,516),5870=>array(126,-103,475,788),5871=>array(76,-103,525,788),5872=>array(76,-103,524,788),7680=>array(9,-200,591,563),7681=>array(72,-200,541,431),7682=>array(43,0,541,722),7683=>array(22,-16,541,726),7684=>array(43,-152,541,563),7685=>array(22,-175,541,604),7686=>array(43,-99,541,563),7687=>array(22,-105,541,604),7688=>array(63,-173,534,752),7689=>array(84,-173,535,606),7690=>array(43,0,520,718),7691=>array(63,-16,583,726),7692=>array(43,-151,520,563),7693=>array(63,-163,583,604),7694=>array(43,-96,520,563),7695=>array(63,-101,583,604),7696=>array(43,-172,520,563),7697=>array(63,-177,583,604),7698=>array(43,-189,520,563),7699=>array(63,-200,583,604),7700=>array(43,0,520,800),7701=>array(63,-16,520,752),7702=>array(43,0,520,800),7703=>array(63,-16,520,752),7704=>array(43,-189,520,563),7705=>array(63,-200,520,431),7706=>array(43,-145,520,563),7707=>array(63,-151,520,431),7708=>array(43,-173,520,743),7709=>array(63,-188,520,622),7710=>array(43,0,520,722),7711=>array(105,0,541,763),7712=>array(63,-16,562,665),7713=>array(63,-186,562,541),7714=>array(53,0,551,722),7715=>array(43,0,551,727),7716=>array(53,-167,551,563),7717=>array(43,-172,551,604),7718=>array(53,0,551,717),7719=>array(43,0,551,753),7720=>array(53,-173,551,563),7721=>array(43,-173,551,604),7722=>array(53,-154,551,563),7723=>array(43,-154,551,604),7724=>array(113,-143,487,563),7725=>array(92,-146,508,624),7726=>array(113,0,487,800),7727=>array(92,0,508,773),7728=>array(43,0,572,761),7729=>array(63,0,541,771),7730=>array(43,-146,572,563),7731=>array(63,-150,541,604),7732=>array(43,-96,572,563),7733=>array(63,-93,541,604),7734=>array(63,-154,541,563),7735=>array(92,-152,508,604),7736=>array(63,-154,541,672),7737=>array(92,-152,508,710),7738=>array(63,-98,541,563),7739=>array(92,-99,508,604),7740=>array(63,-189,541,563),7741=>array(92,-189,508,604),7742=>array(11,0,593,752),7743=>array(11,0,593,627),7744=>array(11,0,593,705),7745=>array(11,0,593,603),7746=>array(11,-151,593,563),7747=>array(11,-150,593,431),7748=>array(22,0,562,705),7749=>array(53,0,541,604),7750=>array(22,-147,562,563),7751=>array(53,-146,541,431),7752=>array(22,-98,562,563),7753=>array(53,-97,541,431),7754=>array(22,-189,562,563),7755=>array(53,-189,541,431),7756=>array(51,-15,549,800),7757=>array(72,-16,528,783),7758=>array(51,-15,549,797),7759=>array(72,-16,528,728),7760=>array(51,-15,549,800),7761=>array(72,-16,528,752),7762=>array(51,-15,549,800),7763=>array(72,-16,528,752),7764=>array(43,0,499,763),7765=>array(22,-186,541,625),7766=>array(43,0,499,719),7767=>array(22,-186,541,609),7768=>array(43,0,589,719),7769=>array(84,0,541,602),7770=>array(43,-146,589,563),7771=>array(84,-145,541,427),7772=>array(43,-146,589,664),7773=>array(84,-145,541,519),7774=>array(43,-98,589,563),7775=>array(84,-101,541,427),7776=>array(92,-16,508,722),7777=>array(103,-16,497,603),7778=>array(92,-177,508,576),7779=>array(103,-181,497,431),7780=>array(92,-15,508,800),7781=>array(103,-16,497,749),7782=>array(92,-15,508,799),7783=>array(103,-16,497,747),7784=>array(92,-177,508,723),7785=>array(103,-181,497,603),7786=>array(72,0,528,719),7787=>array(43,-16,499,704),7788=>array(72,-148,528,563),7789=>array(43,-162,499,563),7790=>array(72,-92,528,563),7791=>array(43,-99,499,563),7792=>array(72,-189,528,563),7793=>array(43,-200,499,563),7794=>array(40,-169,560,563),7795=>array(43,-168,541,417),7796=>array(40,-153,560,563),7797=>array(43,-156,541,417),7798=>array(40,-200,560,563),7799=>array(43,-200,541,417),7800=>array(40,-15,560,800),7801=>array(43,-16,541,768),7802=>array(40,-15,560,796),7803=>array(43,-16,541,703),7804=>array(9,0,591,705),7805=>array(30,0,570,563),7806=>array(9,-147,591,563),7807=>array(30,-146,570,417),7808=>array(20,0,580,752),7809=>array(30,0,570,606),7810=>array(20,0,580,752),7811=>array(30,0,570,606),7812=>array(20,0,580,704),7813=>array(30,0,570,603),7814=>array(20,0,580,709),7815=>array(30,0,570,605),7816=>array(20,-145,580,563),7817=>array(30,-140,570,417),7818=>array(40,0,560,704),7819=>array(51,0,549,603),7820=>array(40,0,560,705),7821=>array(51,0,549,603),7822=>array(51,0,549,706),7823=>array(51,-186,549,604),7824=>array(103,0,497,752),7825=>array(115,0,489,624),7826=>array(103,-160,497,563),7827=>array(115,-160,489,417),7828=>array(103,-100,497,563),7829=>array(115,-100,489,417),7830=>array(43,-87,551,604),7831=>array(43,-16,499,703),7832=>array(30,0,570,652),7833=>array(51,-186,549,651),7834=>array(72,-16,550,661),7835=>array(105,0,541,757),7840=>array(9,-150,591,563),7841=>array(72,-164,541,431),7842=>array(9,0,591,800),7843=>array(72,-16,541,696),7844=>array(9,0,612,800),7845=>array(72,-16,541,777),7846=>array(0,0,591,800),7847=>array(72,-16,541,786),7848=>array(9,0,609,800),7849=>array(72,-16,612,699),7850=>array(9,0,591,800),7851=>array(72,-16,541,768),7852=>array(9,-150,591,762),7853=>array(72,-164,541,624),7854=>array(9,0,591,800),7855=>array(72,-16,541,736),7856=>array(9,0,591,800),7857=>array(72,-16,541,745),7858=>array(9,-2,591,800),7859=>array(72,-16,541,796),7860=>array(9,0,591,800),7861=>array(72,-16,541,755),7862=>array(9,-150,591,733),7863=>array(72,-164,541,624),7864=>array(43,-146,520,563),7865=>array(63,-161,520,431),7866=>array(43,0,520,800),7867=>array(63,-16,520,693),7868=>array(43,0,520,703),7869=>array(63,-16,520,564),7870=>array(43,0,612,800),7871=>array(63,-16,520,777),7872=>array(-23,0,520,800),7873=>array(63,-16,520,786),7874=>array(29,0,600,800),7875=>array(38,-16,560,781),7876=>array(43,0,520,800),7877=>array(63,-16,520,768),7878=>array(43,-146,520,752),7879=>array(63,-161,520,626),7880=>array(113,0,487,800),7881=>array(92,0,508,693),7882=>array(113,-149,487,563),7883=>array(92,-151,508,624),7884=>array(51,-160,549,576),7885=>array(72,-164,528,431),7886=>array(51,-16,549,800),7887=>array(72,-16,528,693),7888=>array(51,-16,612,800),7889=>array(72,-16,528,777),7890=>array(-11,-16,549,800),7891=>array(72,-16,528,786),7892=>array(23,-16,610,800),7893=>array(48,-16,541,781),7894=>array(51,-15,549,800),7895=>array(72,-16,528,757),7896=>array(51,-160,549,752),7897=>array(72,-164,528,625),7898=>array(51,-16,597,776),7899=>array(72,-16,590,668),7900=>array(51,-16,597,793),7901=>array(72,-16,590,676),7902=>array(51,-16,597,800),7903=>array(72,-16,590,680),7904=>array(51,-16,597,749),7905=>array(72,-16,590,640),7906=>array(51,-159,597,672),7907=>array(72,-167,590,539),7908=>array(40,-164,560,563),7909=>array(43,-159,541,417),7910=>array(40,-16,560,800),7911=>array(43,-16,541,693),7912=>array(40,-16,629,771),7913=>array(43,-16,574,664),7914=>array(40,-16,629,800),7915=>array(43,-16,574,667),7916=>array(40,-16,629,800),7917=>array(43,-16,574,704),7918=>array(40,-16,629,756),7919=>array(43,-16,574,614),7920=>array(40,-162,629,711),7921=>array(43,-162,574,565),7922=>array(51,0,549,763),7923=>array(51,-186,549,611),7924=>array(51,-147,549,563),7925=>array(51,-186,549,417),7926=>array(51,0,549,800),7927=>array(51,-186,549,683),7928=>array(51,0,549,704),7929=>array(51,-186,549,564),7936=>array(63,-16,583,648),7937=>array(63,-16,583,648),7938=>array(63,-16,583,655),7939=>array(63,-16,583,653),7940=>array(63,-16,583,655),7941=>array(63,-16,583,655),7942=>array(63,-16,583,764),7943=>array(63,-16,583,764),7944=>array(-23,0,591,593),7945=>array(-11,0,591,595),7946=>array(-53,0,660,606),7947=>array(-88,0,660,621),7948=>array(-65,0,658,618),7949=>array(-82,0,655,619),7950=>array(-59,0,659,715),7951=>array(-63,0,665,731),7952=>array(145,-2,493,660),7953=>array(145,-2,493,660),7954=>array(145,-2,493,667),7955=>array(145,-2,493,665),7956=>array(145,-2,493,667),7957=>array(145,-2,493,667),7960=>array(-19,0,589,615),7961=>array(-4,0,583,615),7962=>array(-112,0,600,622),7963=>array(-108,0,600,618),7964=>array(-131,0,590,619),7965=>array(-123,0,599,621),7968=>array(53,-186,541,648),7969=>array(53,-186,541,651),7970=>array(53,-186,541,658),7971=>array(53,-186,541,656),7972=>array(53,-186,541,658),7973=>array(53,-186,541,658),7974=>array(53,-186,541,767),7975=>array(53,-186,541,767),7976=>array(-15,0,584,614),7977=>array(-7,0,588,614),7978=>array(-72,0,642,621),7979=>array(-75,0,644,621),7980=>array(-85,0,632,619),7981=>array(-87,0,633,618),7982=>array(-72,0,642,735),7983=>array(-41,0,645,733),7984=>array(173,-16,502,648),7985=>array(173,-16,502,648),7986=>array(102,-16,502,655),7987=>array(105,-16,502,653),7988=>array(173,-16,502,655),7989=>array(160,-16,502,655),7990=>array(79,-16,502,764),7991=>array(111,-16,502,764),7992=>array(-5,0,506,616),7993=>array(29,0,513,617),7994=>array(-21,0,590,623),7995=>array(-15,0,604,613),7996=>array(-29,0,586,618),7997=>array(-19,0,600,618),7998=>array(-14,0,600,729),7999=>array(6,0,600,731),8000=>array(72,-16,528,647),8001=>array(72,-16,528,648),8002=>array(72,-16,528,655),8003=>array(72,-16,528,653),8004=>array(72,-16,528,655),8005=>array(72,-16,528,655),8008=>array(6,-16,578,612),8009=>array(12,-16,595,612),8010=>array(-93,-16,628,618),8011=>array(-112,-16,632,616),8012=>array(-27,-16,624,618),8013=>array(-28,-16,627,618),8016=>array(43,-12,553,648),8017=>array(43,-12,553,648),8018=>array(43,-12,553,655),8019=>array(43,-12,553,653),8020=>array(43,-12,553,655),8021=>array(43,-12,553,655),8022=>array(43,-12,553,764),8023=>array(43,-12,553,764),8025=>array(0,0,602,614),8027=>array(-96,0,649,616),8029=>array(-88,0,652,621),8031=>array(-36,0,651,749),8032=>array(43,-16,552,648),8033=>array(43,-16,552,648),8034=>array(43,-16,552,655),8035=>array(43,-16,552,653),8036=>array(43,-16,552,655),8037=>array(43,-16,552,655),8038=>array(43,-16,552,764),8039=>array(43,-16,552,764),8040=>array(-5,0,555,614),8041=>array(8,0,569,617),8042=>array(-84,0,619,618),8043=>array(-84,0,629,616),8044=>array(-19,0,614,615),8045=>array(-26,0,623,618),8046=>array(-30,0,624,735),8047=>array(-38,0,624,734),8048=>array(63,-16,583,664),8049=>array(63,-16,583,664),8050=>array(145,-2,493,676),8051=>array(145,-2,493,676),8052=>array(53,-186,541,667),8053=>array(53,-186,541,667),8054=>array(173,-16,502,664),8055=>array(173,-16,502,664),8056=>array(72,-16,528,664),8057=>array(72,-16,528,664),8058=>array(43,-12,553,664),8059=>array(43,-12,553,664),8060=>array(43,-16,552,664),8061=>array(43,-16,552,664),8064=>array(63,-199,583,648),8065=>array(63,-199,583,648),8066=>array(63,-199,583,655),8067=>array(63,-199,583,653),8068=>array(63,-199,583,655),8069=>array(63,-199,583,655),8070=>array(63,-199,583,764),8071=>array(63,-199,583,764),8072=>array(-16,-197,598,593),8073=>array(-4,-197,598,595),8074=>array(-75,-197,638,606),8075=>array(-137,-197,611,621),8076=>array(-106,-197,617,618),8077=>array(-106,-197,631,619),8078=>array(-114,-197,604,715),8079=>array(-126,-197,602,731),8080=>array(53,-199,541,648),8081=>array(53,-199,541,651),8082=>array(53,-200,541,658),8083=>array(53,-200,541,656),8084=>array(53,-199,541,658),8085=>array(53,-200,541,658),8086=>array(53,-199,541,767),8087=>array(53,-199,541,767),8088=>array(-15,-200,584,614),8089=>array(-7,-200,588,614),8090=>array(-72,-200,642,621),8091=>array(-75,-200,644,621),8092=>array(-85,-200,632,619),8093=>array(-87,-200,633,618),8094=>array(-115,-200,599,735),8095=>array(-41,-200,645,733),8096=>array(43,-200,552,648),8097=>array(43,-199,552,648),8098=>array(43,-200,552,655),8099=>array(43,-200,552,653),8100=>array(43,-199,552,655),8101=>array(43,-200,552,655),8102=>array(43,-200,552,764),8103=>array(43,-200,552,764),8104=>array(-5,-200,555,614),8105=>array(8,-200,569,617),8106=>array(-84,-200,619,618),8107=>array(-84,-200,629,616),8108=>array(-19,-200,614,615),8109=>array(-26,-200,623,618),8110=>array(-100,-200,554,735),8111=>array(-110,-200,552,734),8112=>array(63,-16,583,601),8113=>array(63,-16,583,538),8114=>array(63,-199,583,664),8115=>array(63,-200,583,431),8116=>array(63,-199,583,684),8118=>array(63,-16,583,573),8119=>array(63,-199,583,573),8120=>array(9,0,591,746),8121=>array(9,0,591,656),8122=>array(-21,0,595,621),8123=>array(3,0,633,618),8124=>array(9,-200,591,563),8125=>array(236,484,341,657),8126=>array(495,2,682,151),8127=>array(228,484,333,657),8128=>array(145,516,455,605),8129=>array(140,511,461,733),8130=>array(53,-199,541,667),8131=>array(53,-200,541,431),8132=>array(53,-199,541,684),8134=>array(53,-186,541,577),8135=>array(53,-199,541,577),8136=>array(-25,0,580,624),8137=>array(-17,0,593,618),8138=>array(-15,0,594,621),8139=>array(-12,0,600,618),8140=>array(51,-200,549,563),8141=>array(166,481,415,661),8142=>array(173,481,417,661),8143=>array(128,484,438,773),8144=>array(106,-16,502,601),8145=>array(106,-16,502,538),8146=>array(102,-16,502,668),8147=>array(147,-16,502,670),8150=>array(96,-16,502,560),8151=>array(90,-16,502,693),8152=>array(113,0,487,746),8153=>array(113,0,487,656),8154=>array(-13,0,494,617),8155=>array(24,0,539,618),8157=>array(169,479,427,659),8158=>array(147,481,402,661),8159=>array(160,484,470,773),8160=>array(43,-12,553,601),8161=>array(43,-12,553,535),8162=>array(43,-12,553,667),8163=>array(43,-12,553,417),8164=>array(21,-200,531,660),8165=>array(21,-200,531,660),8166=>array(43,-12,553,573),8167=>array(43,-12,553,693),8168=>array(51,0,549,746),8169=>array(51,0,549,656),8170=>array(-15,0,599,615),8171=>array(-32,0,600,615),8172=>array(-61,0,499,614),8173=>array(150,490,451,670),8174=>array(147,490,454,670),8175=>array(216,490,353,670),8178=>array(43,-200,552,664),8179=>array(43,-200,552,418),8180=>array(43,-200,552,684),8182=>array(43,-16,552,573),8183=>array(43,-200,552,573),8184=>array(-61,0,578,621),8185=>array(-3,1,549,615),8186=>array(-17,0,592,618),8187=>array(14,0,556,617),8188=>array(70,-200,530,563),8189=>array(232,490,369,670),8190=>array(243,484,348,657),8208=>array(136,258,464,299),8209=>array(136,258,464,299),8210=>array(72,261,528,302),8211=>array(72,261,528,302),8212=>array(1,261,599,302),8213=>array(1,261,599,302),8214=>array(228,-27,373,582),8215=>array(0,-200,600,-54),8216=>array(240,369,398,630),8217=>array(201,343,359,604),8218=>array(135,-150,293,111),8219=>array(306,343,464,604),8220=>array(66,369,444,630),8221=>array(93,343,464,604),8222=>array(86,-133,467,128),8223=>array(136,343,507,604),8224=>array(124,-63,476,604),8225=>array(124,-62,476,604),8226=>array(202,141,398,337),8227=>array(184,86,414,336),8228=>array(250,-15,349,84),8229=>array(140,-15,460,84),8230=>array(51,-15,549,84),8231=>array(250,180,350,280),8240=>array(34,-9,564,614),8241=>array(2,-9,594,614),8242=>array(201,343,398,604),8243=>array(105,342,495,604),8244=>array(2,343,598,604),8245=>array(201,343,398,604),8246=>array(105,343,495,604),8247=>array(2,343,598,604),8248=>array(155,-165,445,-16),8249=>array(63,0,312,417),8250=>array(293,0,541,417),8251=>array(61,51,521,511),8252=>array(112,-15,488,618),8253=>array(134,-15,487,577),8254=>array(-1,635,599,685),8255=>array(100,-174,500,-44),8256=>array(100,454,500,584),8257=>array(177,-198,423,252),8258=>array(-83,0,683,729),8259=>array(72,39,528,496),8260=>array(50,138,549,470),8261=>array(278,-124,403,604),8262=>array(197,-124,322,604),8263=>array(1,-15,598,577),8264=>array(38,-15,584,618),8265=>array(16,-15,551,618),8266=>array(105,-14,478,417),8267=>array(79,-62,525,604),8268=>array(81,109,525,453),8269=>array(81,109,525,453),8270=>array(113,7,487,361),8271=>array(139,-145,350,417),8272=>array(100,-1,500,584),8273=>array(113,1,487,754),8274=>array(106,0,494,755),8275=>array(145,185,455,274),8276=>array(100,-164,500,-34),8277=>array(72,261,528,302),8278=>array(104,-2,495,572),8279=>array(-29,343,677,604),8280=>array(2,-2,600,663),8281=>array(0,-2,600,572),8282=>array(250,-2,350,777),8283=>array(1,-200,599,800),8284=>array(72,32,529,530),8285=>array(250,-2,350,777),8286=>array(250,-2,350,777),8304=>array(192,378,408,734),8305=>array(179,381,421,779),8308=>array(183,382,408,734),8309=>array(181,380,418,741),8310=>array(176,374,408,748),8311=>array(183,374,400,734),8312=>array(192,373,408,742),8313=>array(206,370,438,744),8314=>array(178,439,422,698),8315=>array(178,557,422,592),8316=>array(178,520,422,628),8317=>array(266,352,372,800),8318=>array(228,352,334,800),8319=>array(149,382,451,651),8320=>array(195,-190,411,166),8321=>array(194,-184,413,169),8322=>array(178,-183,408,170),8323=>array(184,-187,419,174),8324=>array(186,-186,411,166),8325=>array(184,-188,421,173),8326=>array(179,-186,411,188),8327=>array(186,-184,403,176),8328=>array(195,-185,411,184),8329=>array(209,-188,441,186),8330=>array(178,-172,422,87),8331=>array(178,-54,422,-19),8332=>array(178,-73,422,35),8333=>array(266,-200,372,248),8334=>array(228,-200,334,248),8336=>array(145,-181,468,128),8337=>array(134,-180,449,129),8338=>array(143,-180,457,129),8339=>array(129,-181,471,108),8340=>array(134,-180,449,129),8353=>array(63,-81,534,626),8354=>array(63,-16,534,576),8355=>array(43,0,520,563),8356=>array(63,0,520,578),8357=>array(11,-64,593,470),8358=>array(22,0,562,563),8359=>array(27,-17,578,563),8360=>array(0,-17,599,563),8361=>array(20,0,580,563),8362=>array(60,0,540,480),8363=>array(43,-1,563,694),8364=>array(32,-16,537,576),8365=>array(43,0,572,563),8366=>array(72,0,528,563),8367=>array(13,-102,584,563),8368=>array(103,-200,528,567),8369=>array(43,0,537,563),8370=>array(63,-67,562,624),8371=>array(9,0,591,563),8372=>array(62,-16,518,576),8373=>array(63,-64,534,624),8376=>array(72,0,528,563),8377=>array(80,0,509,564),8400=>array(-540,640,-45,774),8401=>array(-535,636,-40,770),8402=>array(-325,-124,-285,604),8406=>array(-559,572,-72,800),8407=>array(-501,572,-14,800),8411=>array(-549,643,-51,743),8412=>array(-549,643,0,743),8413=>array(-793,-198,195,790),8414=>array(-782,-193,207,796),8415=>array(-793,-190,193,796),8416=>array(-793,-198,195,790),8417=>array(-572,572,-22,800),8418=>array(-714,-75,102,643),8419=>array(-704,-200,147,800),8421=>array(-487,-81,-113,668),8422=>array(-375,-124,-225,604),8424=>array(-471,-178,-3,-78),8426=>array(-559,167,-72,395),8427=>array(-542,-81,-58,668),8428=>array(-541,-200,-46,-66),8429=>array(-547,-200,-52,-66),8430=>array(-498,-200,-12,-21),8431=>array(-498,-200,-12,-21),8448=>array(15,-7,574,629),8449=>array(3,-9,587,606),8450=>array(63,-16,534,576),8451=>array(21,-16,579,661),8452=>array(63,0,541,626),8453=>array(9,-12,589,592),8454=>array(9,-9,600,592),8455=>array(92,-16,508,576),8456=>array(43,-16,514,576),8457=>array(8,0,595,661),8461=>array(33,0,571,563),8462=>array(34,0,537,604),8463=>array(34,0,537,604),8464=>array(49,-28,558,568),8465=>array(86,-15,520,563),8466=>array(86,0,520,578),8467=>array(117,-28,483,632),8468=>array(25,-17,558,586),8469=>array(30,0,578,563),8470=>array(9,0,586,563),8471=>array(0,0,600,600),8472=>array(52,-150,542,454),8473=>array(43,0,499,563),8474=>array(51,-115,549,576),8476=>array(40,-1,561,574),8477=>array(35,0,589,563),8478=>array(43,0,589,563),8480=>array(10,236,594,575),8481=>array(0,0,600,563),8482=>array(4,243,598,563),8484=>array(49,0,551,563),8486=>array(70,0,530,563),8487=>array(70,-10,530,553),8489=>array(173,6,502,440),8490=>array(43,0,572,563),8491=>array(9,0,591,794),8494=>array(63,-16,520,431),8498=>array(43,0,520,563),8501=>array(60,0,540,480),8502=>array(60,0,560,480),8503=>array(133,0,467,480),8504=>array(60,0,540,480),8505=>array(62,0,538,623),8506=>array(-59,-4,633,495),8507=>array(-27,0,626,563),8513=>array(50,-14,549,578),8514=>array(55,0,533,563),8515=>array(55,0,533,563),8516=>array(51,0,549,563),8523=>array(106,-15,479,520),8525=>array(8,-12,595,721),8526=>array(98,1,480,452),8531=>array(23,-10,591,608),8532=>array(8,-10,591,614),8533=>array(23,-2,600,608),8534=>array(8,-2,600,614),8535=>array(6,-2,600,611),8536=>array(3,-2,600,614),8537=>array(23,-10,578,608),8538=>array(6,-10,578,622),8539=>array(23,-10,584,608),8540=>array(6,-10,584,611),8541=>array(6,-10,584,622),8542=>array(56,-10,584,614),8543=>array(23,51,493,608),8544=>array(113,0,487,563),8545=>array(49,0,551,563),8546=>array(33,0,567,563),8547=>array(37,0,563,563),8548=>array(43,0,556,563),8549=>array(37,0,563,563),8550=>array(32,0,558,563),8551=>array(17,0,583,563),8552=>array(14,0,586,563),8553=>array(40,0,560,563),8554=>array(8,0,581,563),8555=>array(14,0,586,563),8556=>array(63,0,541,563),8557=>array(63,-16,534,576),8558=>array(43,0,520,563),8559=>array(11,0,593,563),8560=>array(92,0,508,624),8561=>array(79,0,538,624),8562=>array(14,0,589,624),8563=>array(11,0,593,624),8564=>array(30,0,570,417),8565=>array(5,0,598,624),8566=>array(43,0,572,624),8567=>array(-22,0,611,624),8568=>array(63,0,544,624),8569=>array(51,0,549,417),8570=>array(34,0,555,624),8571=>array(34,0,570,624),8572=>array(92,0,508,604),8573=>array(84,-16,535,431),8574=>array(63,-16,583,604),8575=>array(11,0,593,431),8592=>array(41,167,528,395),8593=>array(186,38,414,524),8594=>array(54,167,541,395),8595=>array(186,38,414,524),8596=>array(25,167,575,395),8597=>array(186,6,414,556),8598=>array(112,103,463,453),8599=>array(123,102,472,453),8600=>array(120,109,470,460),8601=>array(128,109,479,458),8602=>array(40,160,560,404),8603=>array(40,160,560,404),8604=>array(77,158,523,374),8605=>array(77,158,523,374),8606=>array(40,167,560,395),8607=>array(186,21,414,541),8608=>array(40,167,560,395),8609=>array(186,21,414,541),8610=>array(41,167,538,395),8611=>array(62,167,559,395),8612=>array(42,135,566,427),8613=>array(154,0,446,524),8614=>array(42,135,566,427),8615=>array(154,38,446,562),8616=>array(154,-51,446,556),8617=>array(41,167,538,442),8618=>array(70,167,567,442),8619=>array(41,167,538,442),8620=>array(70,167,567,442),8621=>array(25,167,575,395),8622=>array(0,160,600,404),8623=>array(132,52,404,748),8624=>array(105,30,460,510),8625=>array(140,30,495,510),8626=>array(105,30,460,510),8627=>array(140,30,495,510),8628=>array(42,28,522,512),8629=>array(41,30,524,510),8630=>array(40,285,522,650),8631=>array(40,285,522,650),8632=>array(43,103,560,571),8633=>array(38,-10,566,569),8634=>array(59,30,545,514),8635=>array(57,30,543,514),8636=>array(33,261,528,395),8637=>array(33,169,528,303),8638=>array(280,38,414,533),8639=>array(187,38,321,533),8640=>array(33,261,528,395),8641=>array(49,169,544,303),8642=>array(280,38,414,533),8643=>array(187,38,321,533),8644=>array(41,23,561,539),8645=>array(43,21,559,541),8646=>array(41,23,561,539),8647=>array(41,23,528,539),8648=>array(42,38,558,524),8649=>array(74,23,561,539),8650=>array(42,38,558,524),8651=>array(33,97,544,467),8652=>array(33,97,544,467),8653=>array(56,0,544,584),8654=>array(16,0,584,584),8655=>array(56,0,542,584),8656=>array(56,147,550,415),8657=>array(166,38,434,760),8658=>array(50,147,544,415),8659=>array(166,32,434,754),8660=>array(16,147,584,415),8661=>array(166,-2,434,800),8668=>array(44,167,555,395),8669=>array(44,167,555,395),8678=>array(42,147,558,415),8679=>array(166,23,434,539),8680=>array(42,147,558,415),8681=>array(166,23,434,539),8691=>array(165,-1,435,565),8704=>array(9,0,591,563),8705=>array(63,-18,534,760),8706=>array(136,-15,510,618),8707=>array(43,0,493,563),8708=>array(43,-94,493,681),8709=>array(35,0,565,530),8710=>array(43,0,557,563),8711=>array(43,0,557,563),8712=>array(38,30,536,530),8713=>array(38,-81,536,668),8714=>array(115,110,464,449),8715=>array(38,30,536,530),8716=>array(38,-81,536,668),8717=>array(115,110,464,449),8718=>array(150,0,450,500),8719=>array(51,-80,543,624),8720=>array(51,-81,543,623),8721=>array(113,-67,507,623),8722=>array(72,261,528,302),8723=>array(72,0,528,529),8724=>array(72,-10,528,628),8725=>array(96,51,493,514),8726=>array(96,51,493,514),8727=>array(113,119,487,473),8728=>array(154,136,448,429),8729=>array(202,141,398,337),8730=>array(10,0,600,699),8731=>array(10,0,600,732),8732=>array(10,0,600,734),8733=>array(37,134,554,468),8734=>array(5,134,595,468),8735=>array(20,0,580,560),8736=>array(70,0,528,439),8737=>array(49,51,550,534),8738=>array(67,12,522,532),8739=>array(279,-27,320,582),8740=>array(177,-27,423,582),8741=>array(228,-27,373,582),8742=>array(151,-27,456,582),8743=>array(60,0,534,450),8744=>array(60,0,534,450),8745=>array(71,-11,527,465),8746=>array(73,-11,528,465),8747=>array(136,-78,466,744),8748=>array(56,-79,546,744),8749=>array(16,-79,586,744),8750=>array(110,-78,480,744),8751=>array(56,-79,546,744),8752=>array(16,-79,586,745),8753=>array(110,-78,550,744),8754=>array(110,-78,550,744),8755=>array(110,-78,550,744),8756=>array(59,2,539,446),8757=>array(59,2,539,446),8758=>array(250,-1,350,446),8759=>array(60,-1,539,446),8760=>array(72,261,528,507),8761=>array(72,-1,501,446),8762=>array(60,69,539,505),8763=>array(92,63,508,510),8764=>array(92,212,508,348),8765=>array(92,212,508,348),8766=>array(25,96,576,389),8767=>array(102,172,498,388),8768=>array(232,43,368,459),8769=>array(92,94,508,464),8770=>array(74,148,530,429),8771=>array(74,148,530,431),8772=>array(72,94,528,464),8773=>array(51,121,549,511),8774=>array(51,-14,549,502),8775=>array(51,8,549,546),8776=>array(92,148,508,431),8777=>array(92,94,508,464),8778=>array(74,32,530,431),8779=>array(92,35,508,510),8780=>array(51,121,549,531),8781=>array(100,89,500,420),8782=>array(51,-5,549,434),8783=>array(51,122,549,434),8784=>array(51,122,549,513),8785=>array(51,-89,549,509),8786=>array(51,-89,549,509),8787=>array(51,-89,549,509),8788=>array(46,134,512,431),8789=>array(46,134,512,431),8790=>array(51,122,549,307),8791=>array(51,122,549,581),8792=>array(51,122,549,504),8793=>array(51,122,549,512),8794=>array(51,122,549,512),8795=>array(51,122,549,586),8796=>array(51,122,549,644),8797=>array(51,122,549,586),8798=>array(19,122,585,657),8799=>array(51,122,549,687),8800=>array(51,94,549,464),8801=>array(51,107,549,446),8802=>array(51,12,549,542),8803=>array(51,51,549,540),8804=>array(65,-1,522,581),8805=>array(78,-1,534,577),8806=>array(51,-3,549,717),8807=>array(51,-3,549,720),8808=>array(37,-94,535,615),8809=>array(37,-95,535,615),8810=>array(21,114,579,448),8811=>array(21,114,579,448),8812=>array(206,-124,399,604),8813=>array(100,12,500,512),8814=>array(72,-81,522,668),8815=>array(78,-81,528,668),8816=>array(43,-102,525,595),8817=>array(59,-102,531,595),8818=>array(72,-20,522,627),8819=>array(78,-20,528,626),8820=>array(72,-77,522,676),8821=>array(78,-77,528,676),8822=>array(137,-12,463,574),8823=>array(137,-12,463,574),8824=>array(137,-77,463,676),8825=>array(137,-77,463,676),8826=>array(72,39,524,521),8827=>array(70,41,522,523),8828=>array(72,-37,524,563),8829=>array(70,-37,526,556),8830=>array(72,-20,524,623),8831=>array(70,-20,522,624),8832=>array(72,-16,524,563),8833=>array(70,-16,522,563),8834=>array(51,113,538,452),8835=>array(51,113,538,452),8836=>array(51,-81,538,668),8837=>array(51,-81,538,668),8838=>array(51,-1,538,452),8839=>array(51,-1,538,452),8840=>array(51,-82,553,533),8841=>array(51,-82,538,530),8842=>array(51,-105,538,477),8843=>array(51,-105,538,476),8844=>array(73,-11,528,465),8845=>array(73,-11,528,465),8846=>array(73,-11,528,465),8847=>array(74,113,538,452),8848=>array(62,113,526,452),8849=>array(74,19,538,474),8850=>array(62,19,526,476),8851=>array(72,-20,528,456),8852=>array(72,-20,528,456),8853=>array(24,1,575,551),8854=>array(24,1,575,551),8855=>array(28,0,580,553),8856=>array(28,1,580,554),8857=>array(35,0,565,530),8858=>array(35,0,565,530),8859=>array(35,1,565,531),8860=>array(35,0,565,530),8861=>array(35,0,565,530),8862=>array(50,0,550,500),8863=>array(50,0,550,500),8864=>array(50,0,550,500),8865=>array(50,0,550,500),8866=>array(51,-24,561,585),8867=>array(39,-24,549,585),8868=>array(30,-15,570,583),8869=>array(30,0,570,598),8870=>array(170,-24,443,585),8871=>array(170,-24,443,585),8872=>array(51,-24,561,585),8873=>array(119,-24,494,585),8874=>array(73,-24,548,585),8875=>array(34,-24,571,585),8876=>array(51,-24,561,585),8877=>array(51,-24,561,585),8878=>array(121,-24,542,585),8879=>array(34,-24,579,585),8880=>array(123,-21,476,582),8881=>array(123,-21,476,582),8882=>array(95,78,479,340),8883=>array(121,78,505,340),8884=>array(72,24,528,368),8885=>array(72,24,528,387),8886=>array(22,141,578,337),8887=>array(22,141,578,337),8888=>array(92,141,495,337),8889=>array(52,33,549,530),8890=>array(100,-199,500,273),8891=>array(60,-1,534,558),8892=>array(60,0,534,563),8893=>array(60,0,534,563),8894=>array(20,0,580,560),8895=>array(20,0,580,560),8896=>array(45,-11,555,562),8897=>array(45,-11,555,562),8898=>array(43,-58,557,691),8899=>array(43,-39,557,710),8900=>array(214,78,386,319),8901=>array(250,180,350,280),8902=>array(152,132,446,412),8903=>array(72,25,528,540),8904=>array(92,82,508,344),8905=>array(92,82,508,344),8906=>array(92,82,508,344),8907=>array(133,-6,467,564),8908=>array(133,-6,467,564),8909=>array(76,147,532,429),8910=>array(56,54,539,506),8911=>array(56,54,539,506),8912=>array(51,113,538,452),8913=>array(51,113,538,452),8914=>array(71,-11,527,465),8915=>array(71,-11,527,465),8916=>array(120,1,459,436),8917=>array(51,-27,549,582),8918=>array(78,44,528,518),8919=>array(78,44,528,518),8920=>array(5,115,594,320),8921=>array(5,115,594,320),8922=>array(187,5,413,530),8923=>array(187,5,413,530),8924=>array(56,-42,512,536),8925=>array(56,-46,513,536),8926=>array(70,-37,526,556),8927=>array(72,-37,524,563),8928=>array(72,-72,524,601),8929=>array(70,-72,526,601),8930=>array(52,-64,538,573),8931=>array(51,-64,538,572),8932=>array(51,-105,538,474),8933=>array(51,-105,538,476),8934=>array(72,-106,522,678),8935=>array(78,-96,528,682),8936=>array(72,-106,524,679),8937=>array(70,-106,522,679),8938=>array(95,-18,493,445),8939=>array(96,-18,505,445),8940=>array(72,-18,528,445),8941=>array(72,-18,528,445),8942=>array(250,-6,350,460),8943=>array(67,177,533,277),8944=>array(36,-24,564,498),8945=>array(21,-45,544,484),8960=>array(55,20,545,510),8962=>array(50,0,550,601),8963=>array(133,474,467,800),8964=>array(133,-200,467,126),8965=>array(133,2,467,440),8966=>array(133,2,467,531),8968=>array(279,216,566,669),8969=>array(34,216,321,669),8970=>array(279,-2,566,451),8971=>array(34,0,321,453),8972=>array(279,380,560,760),8973=>array(40,380,321,760),8974=>array(279,0,560,380),8975=>array(40,0,320,380),8976=>array(72,168,528,438),8978=>array(35,1,565,265),8980=>array(5,261,595,609),8981=>array(55,-25,530,450),8984=>array(25,52,575,603),8985=>array(72,167,528,437),8988=>array(280,519,561,800),8989=>array(39,519,320,800),8990=>array(280,-200,561,81),8991=>array(39,-200,320,81),8992=>array(280,-200,511,800),8993=>array(89,-200,320,800),8994=>array(100,152,500,282),8995=>array(100,152,500,282),8996=>array(6,92,594,522),8997=>array(32,100,567,522),8998=>array(0,0,600,360),8999=>array(62,0,538,360),9001=>array(196,-124,400,602),9002=>array(200,-124,404,602),9003=>array(0,0,600,360),9004=>array(43,-13,557,581),9014=>array(1,-94,599,689),9015=>array(80,-94,520,689),9016=>array(0,-94,600,689),9017=>array(0,-94,600,689),9018=>array(0,-94,600,689),9019=>array(0,-94,600,689),9020=>array(0,-94,600,689),9021=>array(35,-27,565,582),9022=>array(35,0,565,530),9023=>array(72,51,528,514),9024=>array(72,51,528,514),9025=>array(0,-94,600,689),9026=>array(0,-94,600,689),9027=>array(0,-94,600,689),9028=>array(0,-94,600,689),9029=>array(41,-27,528,582),9030=>array(73,-27,560,582),9031=>array(0,-94,600,689),9032=>array(0,-94,600,689),9033=>array(35,0,565,530),9034=>array(30,-124,570,598),9035=>array(43,-27,557,582),9036=>array(0,-94,600,689),9037=>array(0,-94,600,689),9038=>array(30,-1,570,597),9039=>array(72,77,528,563),9040=>array(0,-94,600,689),9041=>array(30,-15,570,665),9042=>array(43,-19,557,590),9043=>array(0,-94,600,689),9044=>array(0,-94,600,689),9045=>array(30,-15,570,583),9046=>array(72,1,528,487),9047=>array(0,-94,600,689),9048=>array(155,-124,445,604),9049=>array(43,-124,557,563),9050=>array(155,-124,445,319),9051=>array(154,-124,448,429),9052=>array(35,-124,565,530),9053=>array(71,-11,527,465),9054=>array(0,-94,600,689),9055=>array(35,0,565,530),9056=>array(0,-94,600,689),9057=>array(30,-15,570,723),9058=>array(43,0,557,723),9059=>array(140,132,461,625),9060=>array(140,136,461,625),9061=>array(35,0,565,645),9062=>array(72,-28,528,582),9063=>array(51,-27,538,582),9064=>array(92,212,508,611),9065=>array(78,44,528,611),9066=>array(72,-145,528,299),9067=>array(43,0,557,563),9068=>array(92,-15,508,618),9069=>array(92,-27,508,582),9070=>array(139,-124,445,518),9071=>array(0,-94,600,689),9072=>array(0,-94,600,689),9073=>array(74,-18,526,460),9074=>array(74,-18,526,460),9075=>array(173,-16,502,418),9076=>array(21,-200,531,427),9077=>array(43,-16,552,418),9078=>array(63,-124,583,431),9079=>array(155,-124,445,432),9080=>array(155,-124,502,418),9081=>array(43,-124,552,418),9082=>array(63,-16,583,431),9084=>array(0,-200,599,686),9085=>array(2,0,598,420),9086=>array(4,0,598,561),9087=>array(167,-200,433,768),9088=>array(60,-68,534,621),9089=>array(1,1,599,421),9090=>array(1,0,600,418),9091=>array(5,152,595,466),9092=>array(1,0,600,440),9093=>array(50,-53,550,624),9094=>array(1,0,600,600),9095=>array(2,0,599,511),9096=>array(1,-18,599,580),9097=>array(0,0,600,600),9098=>array(0,0,600,600),9099=>array(0,-16,600,585),9100=>array(18,-1,570,582),9101=>array(2,0,598,605),9102=>array(2,0,600,583),9103=>array(35,0,565,534),9104=>array(35,0,565,534),9105=>array(35,0,565,534),9106=>array(35,0,565,534),9107=>array(25,191,575,377),9108=>array(20,1,580,478),9109=>array(0,-94,600,689),9110=>array(173,315,412,656),9111=>array(2,-64,599,702),9112=>array(2,-61,598,699),9113=>array(2,-43,600,715),9114=>array(1,3,600,607),9115=>array(340,-200,519,718),9116=>array(340,-200,380,800),9117=>array(340,-118,519,800),9118=>array(81,-200,260,718),9119=>array(220,-200,260,800),9120=>array(81,-118,260,800),9121=>array(300,-200,500,699),9122=>array(300,-200,340,800),9123=>array(300,-99,500,800),9124=>array(100,-200,300,699),9125=>array(260,-200,300,800),9126=>array(100,-99,300,800),9127=>array(280,-200,501,700),9128=>array(44,-200,320,800),9129=>array(280,-100,501,800),9130=>array(280,-200,320,800),9131=>array(99,-200,320,700),9132=>array(280,-200,556,800),9133=>array(99,-100,320,800),9134=>array(280,-200,320,800),9135=>array(0,-200,600,-120),9136=>array(60,-200,540,800),9137=>array(60,-200,540,800),9138=>array(11,-200,570,620),9139=>array(11,-20,570,800),9140=>array(0,634,600,800),9141=>array(0,0,600,166),9142=>array(0,241,600,627),9143=>array(34,-200,321,800),9146=>array(0,720,600,800),9147=>array(0,485,600,565),9148=>array(0,260,600,340),9149=>array(0,35,600,115),9150=>array(177,0,422,682),9151=>array(177,0,422,682),9152=>array(40,-85,559,671),9153=>array(40,-85,559,671),9154=>array(40,-85,559,671),9155=>array(30,-85,570,671),9156=>array(30,-85,570,671),9157=>array(30,-85,570,671),9158=>array(25,-85,574,671),9159=>array(25,-85,574,671),9160=>array(25,-85,574,671),9161=>array(87,-85,512,671),9162=>array(87,-85,512,671),9163=>array(178,0,423,682),9164=>array(178,0,423,682),9165=>array(14,0,586,513),9166=>array(16,38,584,505),9167=>array(64,0,536,500),9178=>array(6,-116,594,644),9179=>array(6,0,594,335),9182=>array(0,592,600,798),9183=>array(0,-200,600,6),9186=>array(20,0,580,460),9187=>array(43,-13,557,581),9188=>array(1,261,599,302),9189=>array(10,0,590,372),9190=>array(4,152,596,417),9216=>array(44,-1,558,630),9217=>array(56,0,554,633),9218=>array(46,0,557,633),9219=>array(35,0,557,630),9220=>array(45,-1,560,630),9221=>array(35,-37,560,630),9222=>array(30,0,573,629),9223=>array(38,-1,558,629),9224=>array(128,99,473,567),9225=>array(106,101,494,566),9226=>array(115,100,499,569),9227=>array(88,100,504,568),9228=>array(117,100,489,567),9229=>array(104,102,502,567),9230=>array(111,101,473,569),9231=>array(126,100,474,567),9232=>array(43,0,564,628),9233=>array(33,0,543,628),9234=>array(43,0,560,628),9235=>array(43,-1,563,628),9236=>array(43,1,559,628),9237=>array(34,0,563,630),9238=>array(36,-1,568,633),9239=>array(35,0,569,630),9240=>array(30,-1,571,632),9241=>array(114,108,504,559),9242=>array(33,-1,569,633),9243=>array(35,-4,566,629),9244=>array(97,100,488,567),9245=>array(95,99,498,565),9246=>array(105,98,488,567),9247=>array(90,101,498,571),9248=>array(134,98,482,566),9249=>array(33,-1,567,628),9250=>array(22,-16,541,590),9251=>array(40,1,552,154),9252=>array(20,0,573,615),9253=>array(0,0,600,707),9254=>array(113,-15,466,577),9280=>array(31,0,569,694),9281=>array(106,-1,493,694),9282=>array(106,-1,493,694),9283=>array(106,-1,493,694),9284=>array(106,0,493,694),9285=>array(10,122,590,456),9286=>array(23,0,576,680),9287=>array(10,0,577,609),9288=>array(35,0,564,680),9289=>array(9,0,587,211),9290=>array(98,0,502,694),9312=>array(0,0,600,600),9313=>array(0,0,600,600),9314=>array(0,0,600,600),9315=>array(0,0,600,600),9316=>array(0,0,600,600),9317=>array(0,0,600,600),9318=>array(0,0,600,600),9319=>array(0,0,600,600),9320=>array(0,0,600,600),9321=>array(0,0,600,600),9472=>array(0,280,600,320),9473=>array(0,260,600,340),9474=>array(280,-200,320,800),9475=>array(260,-200,340,800),9476=>array(0,280,600,320),9477=>array(0,260,600,340),9478=>array(280,-200,320,800),9479=>array(260,-200,340,800),9480=>array(0,280,600,320),9481=>array(0,260,600,340),9482=>array(280,-200,320,800),9483=>array(260,-200,340,800),9484=>array(280,-200,600,320),9485=>array(280,-200,600,340),9486=>array(260,-200,600,320),9487=>array(260,-200,600,340),9488=>array(0,-200,320,320),9489=>array(0,-200,320,340),9490=>array(0,-200,340,320),9491=>array(0,-200,340,340),9492=>array(280,280,600,800),9493=>array(280,260,600,800),9494=>array(260,280,600,800),9495=>array(260,260,600,800),9496=>array(0,280,320,800),9497=>array(0,260,320,800),9498=>array(0,280,340,800),9499=>array(0,260,340,800),9500=>array(280,-200,600,800),9501=>array(280,-200,600,800),9502=>array(260,-200,600,800),9503=>array(260,-200,600,800),9504=>array(260,-200,600,800),9505=>array(260,-200,600,800),9506=>array(260,-200,600,800),9507=>array(260,-200,600,800),9508=>array(0,-200,320,800),9509=>array(0,-200,320,800),9510=>array(0,-200,340,800),9511=>array(0,-200,340,800),9512=>array(0,-200,340,800),9513=>array(0,-200,340,800),9514=>array(0,-200,340,800),9515=>array(0,-200,340,800),9516=>array(0,-200,600,320),9517=>array(0,-200,600,340),9518=>array(0,-200,600,340),9519=>array(0,-200,600,340),9520=>array(0,-200,600,320),9521=>array(0,-200,600,340),9522=>array(0,-200,600,340),9523=>array(0,-200,600,340),9524=>array(0,280,600,800),9525=>array(0,260,600,800),9526=>array(0,260,600,800),9527=>array(0,260,600,800),9528=>array(0,280,600,800),9529=>array(0,260,600,800),9530=>array(0,260,600,800),9531=>array(0,260,600,800),9532=>array(0,-200,600,800),9533=>array(0,-200,600,800),9534=>array(0,-200,600,800),9535=>array(0,-200,600,800),9536=>array(0,-200,600,800),9537=>array(0,-200,600,800),9538=>array(0,-200,600,800),9539=>array(0,-200,600,800),9540=>array(0,-200,600,800),9541=>array(0,-200,600,800),9542=>array(0,-200,600,800),9543=>array(0,-200,600,800),9544=>array(0,-200,600,800),9545=>array(0,-200,600,800),9546=>array(0,-200,600,800),9547=>array(0,-200,600,800),9548=>array(0,280,600,320),9549=>array(0,260,600,340),9550=>array(280,-200,320,800),9551=>array(240,-200,360,800),9552=>array(0,220,600,380),9553=>array(220,-200,380,800),9554=>array(280,-200,600,380),9555=>array(220,-200,600,320),9556=>array(220,-200,600,380),9557=>array(0,-200,320,380),9558=>array(0,-200,380,320),9559=>array(0,-200,380,380),9560=>array(280,220,600,800),9561=>array(220,280,600,800),9562=>array(220,220,600,800),9563=>array(0,220,320,800),9564=>array(0,280,380,800),9565=>array(0,220,380,800),9566=>array(280,-200,600,800),9567=>array(220,-200,600,800),9568=>array(220,-200,600,800),9569=>array(0,-200,320,800),9570=>array(0,-200,380,800),9571=>array(0,-200,380,800),9572=>array(0,-200,600,380),9573=>array(0,-200,600,320),9574=>array(0,-200,600,380),9575=>array(0,220,600,800),9576=>array(0,280,600,800),9577=>array(0,220,600,800),9578=>array(0,-200,600,800),9579=>array(0,-200,600,800),9580=>array(0,-200,600,800),9581=>array(280,-200,600,320),9582=>array(0,-200,320,320),9583=>array(0,280,320,800),9584=>array(280,280,600,800),9585=>array(0,-200,600,800),9586=>array(-5,-200,600,800),9587=>array(-17,-200,617,800),9588=>array(0,280,300,320),9589=>array(280,300,320,800),9590=>array(300,280,600,320),9591=>array(280,-200,320,300),9592=>array(0,260,300,340),9593=>array(260,300,340,800),9594=>array(300,260,600,340),9595=>array(260,-200,340,300),9596=>array(0,260,600,340),9597=>array(260,-200,340,800),9598=>array(0,260,600,340),9599=>array(260,-200,340,800),9600=>array(0,300,600,800),9601=>array(0,-200,600,-75),9602=>array(0,-200,600,50),9603=>array(0,-200,600,175),9604=>array(0,-200,600,300),9605=>array(0,-200,600,425),9606=>array(0,-200,600,550),9607=>array(0,-200,600,675),9608=>array(0,-200,600,800),9609=>array(0,-200,525,800),9610=>array(0,-200,450,800),9611=>array(0,-200,375,800),9612=>array(0,-200,300,800),9613=>array(0,-200,225,800),9614=>array(0,-200,150,800),9615=>array(0,-200,75,800),9616=>array(300,-200,600,800),9617=>array(0,-200,550,750),9618=>array(0,-200,600,750),9619=>array(1,-200,600,800),9620=>array(0,675,600,800),9621=>array(525,-200,600,800),9622=>array(0,-200,300,300),9623=>array(300,-200,600,300),9624=>array(0,300,300,800),9625=>array(0,-200,600,800),9626=>array(0,-200,600,800),9627=>array(0,-200,600,800),9628=>array(0,-200,600,800),9629=>array(300,300,600,800),9630=>array(0,-200,600,800),9631=>array(0,-200,600,800),9632=>array(50,0,550,500),9633=>array(50,0,550,500),9634=>array(50,0,550,500),9635=>array(50,0,550,500),9636=>array(50,0,550,500),9637=>array(50,0,550,500),9638=>array(50,0,550,500),9639=>array(50,0,550,500),9640=>array(50,0,550,500),9641=>array(50,0,550,500),9642=>array(175,0,425,250),9643=>array(175,0,425,250),9644=>array(50,0,550,300),9645=>array(50,0,550,300),9646=>array(150,0,450,500),9647=>array(150,0,450,500),9648=>array(25,0,575,300),9649=>array(25,0,575,300),9650=>array(35,0,565,454),9651=>array(35,0,565,454),9652=>array(168,0,432,226),9653=>array(168,0,432,226),9654=>array(84,0,543,530),9655=>array(84,0,543,530),9656=>array(199,0,428,266),9657=>array(199,0,427,262),9658=>array(121,0,506,266),9659=>array(121,0,505,262),9660=>array(35,0,565,454),9661=>array(35,0,565,454),9662=>array(168,0,432,226),9663=>array(168,0,432,226),9664=>array(57,0,516,530),9665=>array(57,0,516,530),9666=>array(172,0,401,266),9667=>array(173,0,401,262),9668=>array(94,0,479,266),9669=>array(95,0,479,262),9670=>array(35,0,565,530),9671=>array(35,0,565,530),9672=>array(35,0,565,530),9673=>array(35,0,565,530),9674=>array(89,-11,511,575),9675=>array(35,0,565,530),9676=>array(35,0,565,530),9677=>array(35,0,565,530),9678=>array(35,0,565,530),9679=>array(35,0,565,530),9680=>array(35,0,565,530),9681=>array(35,0,565,530),9682=>array(35,0,565,530),9683=>array(35,0,565,530),9684=>array(35,0,565,530),9685=>array(35,0,565,530),9686=>array(35,0,300,530),9687=>array(300,0,565,530),9688=>array(150,0,450,600),9689=>array(0,0,600,600),9690=>array(0,300,600,600),9691=>array(0,0,600,300),9692=>array(35,266,304,530),9693=>array(300,266,569,530),9694=>array(300,0,569,264),9695=>array(35,0,304,264),9696=>array(35,266,565,530),9697=>array(35,0,565,264),9698=>array(50,0,550,500),9699=>array(50,0,550,500),9700=>array(50,0,550,500),9701=>array(50,0,550,500),9702=>array(202,141,398,337),9703=>array(50,0,550,500),9704=>array(50,0,550,500),9705=>array(50,0,550,500),9706=>array(50,0,550,500),9707=>array(50,0,550,500),9708=>array(35,0,565,454),9709=>array(35,0,565,454),9710=>array(35,0,565,454),9711=>array(0,0,600,600),9712=>array(50,0,550,500),9713=>array(50,0,550,500),9714=>array(50,0,550,500),9715=>array(50,0,550,500),9716=>array(35,0,565,530),9717=>array(35,0,565,530),9718=>array(35,0,565,530),9719=>array(35,0,565,530),9720=>array(50,0,550,500),9721=>array(50,0,550,500),9722=>array(50,0,550,500),9723=>array(50,0,550,500),9724=>array(50,0,550,500),9725=>array(125,75,475,425),9726=>array(125,75,475,425),9727=>array(50,0,550,500),9728=>array(20,20,580,580),9729=>array(47,174,547,406),9730=>array(60,0,540,512),9731=>array(36,-19,569,662),9732=>array(17,6,565,528),9733=>array(6,-8,592,552),9734=>array(6,-8,592,552),9735=>array(120,0,430,549),9736=>array(90,-20,514,555),9737=>array(35,0,565,530),9744=>array(50,0,550,500),9745=>array(50,0,550,500),9746=>array(50,0,550,500),9747=>array(113,-81,487,668),9748=>array(46,0,540,734),9754=>array(38,0,550,500),9755=>array(50,0,562,500),9756=>array(38,0,550,500),9757=>array(50,1,550,513),9758=>array(50,0,562,500),9759=>array(56,-10,556,502),9766=>array(80,-20,520,608),9767=>array(28,-124,582,623),9768=>array(80,-20,520,608),9769=>array(30,0,570,540),9774=>array(35,0,565,530),9775=>array(35,0,565,530),9776=>array(50,0,550,500),9777=>array(50,0,550,500),9778=>array(50,0,550,500),9779=>array(50,0,550,500),9780=>array(50,0,550,500),9781=>array(50,0,550,500),9782=>array(50,0,550,500),9783=>array(50,0,550,500),9784=>array(10,-26,590,554),9785=>array(35,0,565,530),9786=>array(35,0,565,530),9787=>array(35,0,565,530),9788=>array(20,20,580,580),9789=>array(135,-85,543,585),9790=>array(55,-85,463,585),9791=>array(118,-20,482,672),9792=>array(118,-20,482,563),9793=>array(118,-20,482,563),9794=>array(64,0,562,498),9795=>array(2,0,578,616),9796=>array(56,-194,520,615),9797=>array(29,-11,573,621),9798=>array(29,-15,570,615),9799=>array(86,0,474,621),9800=>array(0,-11,600,623),9801=>array(58,-18,542,616),9802=>array(0,-18,600,614),9803=>array(0,-1,599,612),9804=>array(5,-120,586,570),9805=>array(-2,-194,600,617),9806=>array(3,0,597,429),9807=>array(-2,-111,599,616),9808=>array(1,5,598,603),9809=>array(9,-11,595,605),9810=>array(6,0,593,424),9811=>array(6,0,593,625),9824=>array(72,0,529,579),9825=>array(44,-14,556,576),9826=>array(84,-11,516,580),9827=>array(14,-1,586,570),9828=>array(72,0,529,579),9829=>array(44,-15,556,575),9830=>array(81,-11,513,580),9831=>array(14,-1,586,570),9833=>array(134,0,310,576),9834=>array(134,0,498,576),9835=>array(54,-2,528,572),9836=>array(54,-2,528,572),9837=>array(109,0,441,636),9838=>array(120,-167,480,603),9839=>array(61,-170,539,604),9856=>array(74,0,526,454),9857=>array(74,0,526,454),9858=>array(74,0,526,454),9859=>array(74,0,526,454),9860=>array(74,0,526,454),9861=>array(74,0,526,454),10176=>array(5,0,595,686),10177=>array(35,0,565,454),10178=>array(5,0,595,624),10179=>array(5,0,592,568),10180=>array(5,0,592,568),10181=>array(189,-171,411,739),10182=>array(189,-171,411,739),10183=>array(45,-11,555,562),10184=>array(11,51,580,529),10185=>array(11,51,580,529),10186=>array(91,-167,508,735),10188=>array(77,86,529,652),10192=>array(35,0,565,530),10193=>array(45,14,555,587),10194=>array(16,0,584,500),10195=>array(89,-22,476,366),10196=>array(89,-22,476,366),10197=>array(19,82,557,344),10198=>array(19,82,557,344),10199=>array(7,82,585,344),10212=>array(9,1,585,480),10213=>array(9,1,585,480),10214=>array(151,-124,449,604),10215=>array(151,-124,449,604),10216=>array(125,-121,475,603),10217=>array(125,-121,475,603),10218=>array(45,-121,555,603),10219=>array(45,-121,555,603),10226=>array(7,48,591,520),10227=>array(14,48,598,520),10229=>array(10,167,590,395),10230=>array(10,167,590,395),10231=>array(10,167,590,395),10232=>array(10,147,590,415),10233=>array(10,147,590,415),10234=>array(10,147,590,415),10235=>array(10,135,590,427),10236=>array(10,135,590,427),10240=>array(100,-198,500,642),10241=>array(100,-198,500,642),10242=>array(100,-198,500,642),10243=>array(100,-198,500,642),10244=>array(100,-198,500,642),10245=>array(100,-198,500,642),10246=>array(100,-198,500,642),10247=>array(100,-198,500,642),10248=>array(100,-198,500,642),10249=>array(100,-198,500,642),10250=>array(100,-198,500,642),10251=>array(100,-198,500,642),10252=>array(100,-198,500,642),10253=>array(100,-198,500,642),10254=>array(100,-198,500,642),10255=>array(100,-198,500,642),10256=>array(100,-198,500,642),10257=>array(100,-198,500,642),10258=>array(100,-198,500,642),10259=>array(100,-198,500,642),10260=>array(100,-198,500,642),10261=>array(100,-198,500,642),10262=>array(100,-198,500,642),10263=>array(100,-198,500,642),10264=>array(100,-198,500,642),10265=>array(100,-198,500,642),10266=>array(100,-198,500,642),10267=>array(100,-198,500,642),10268=>array(100,-198,500,642),10269=>array(100,-198,500,642),10270=>array(100,-198,500,642),10271=>array(100,-198,500,642),10272=>array(100,-198,500,642),10273=>array(100,-198,500,642),10274=>array(100,-198,500,642),10275=>array(100,-198,500,642),10276=>array(100,-198,500,642),10277=>array(100,-198,500,642),10278=>array(100,-198,500,642),10279=>array(100,-198,500,642),10280=>array(100,-198,500,642),10281=>array(100,-198,500,642),10282=>array(100,-198,500,642),10283=>array(100,-198,500,642),10284=>array(100,-198,500,642),10285=>array(100,-198,500,642),10286=>array(100,-198,500,642),10287=>array(100,-198,500,642),10288=>array(100,-198,500,642),10289=>array(100,-198,500,642),10290=>array(100,-198,500,642),10291=>array(100,-198,500,642),10292=>array(100,-198,500,642),10293=>array(100,-198,500,642),10294=>array(100,-198,500,642),10295=>array(100,-198,500,642),10296=>array(100,-198,500,642),10297=>array(100,-198,500,642),10298=>array(100,-198,500,642),10299=>array(100,-198,500,642),10300=>array(100,-198,500,642),10301=>array(100,-198,500,642),10302=>array(100,-198,500,642),10303=>array(100,-198,500,642),10304=>array(100,-198,500,642),10305=>array(100,-198,500,642),10306=>array(100,-198,500,642),10307=>array(100,-198,500,642),10308=>array(100,-198,500,642),10309=>array(100,-198,500,642),10310=>array(100,-198,500,642),10311=>array(100,-198,500,642),10312=>array(100,-198,500,642),10313=>array(100,-198,500,642),10314=>array(100,-198,500,642),10315=>array(100,-198,500,642),10316=>array(100,-198,500,642),10317=>array(100,-198,500,642),10318=>array(100,-198,500,642),10319=>array(100,-198,500,642),10320=>array(100,-198,500,642),10321=>array(100,-198,500,642),10322=>array(100,-198,500,642),10323=>array(100,-198,500,642),10324=>array(100,-198,500,642),10325=>array(100,-198,500,642),10326=>array(100,-198,500,642),10327=>array(100,-198,500,642),10328=>array(100,-198,500,642),10329=>array(100,-198,500,642),10330=>array(100,-198,500,642),10331=>array(100,-198,500,642),10332=>array(100,-198,500,642),10333=>array(100,-198,500,642),10334=>array(100,-198,500,642),10335=>array(100,-198,500,642),10336=>array(100,-198,500,642),10337=>array(100,-198,500,642),10338=>array(100,-198,500,642),10339=>array(100,-198,500,642),10340=>array(100,-198,500,642),10341=>array(100,-198,500,642),10342=>array(100,-198,500,642),10343=>array(100,-198,500,642),10344=>array(100,-198,500,642),10345=>array(100,-198,500,642),10346=>array(100,-198,500,642),10347=>array(100,-198,500,642),10348=>array(100,-198,500,642),10349=>array(100,-198,500,642),10350=>array(100,-198,500,642),10351=>array(100,-198,500,642),10352=>array(100,-198,500,642),10353=>array(100,-198,500,642),10354=>array(100,-198,500,642),10355=>array(100,-198,500,642),10356=>array(100,-198,500,642),10357=>array(100,-198,500,642),10358=>array(100,-198,500,642),10359=>array(100,-198,500,642),10360=>array(100,-198,500,642),10361=>array(100,-198,500,642),10362=>array(100,-198,500,642),10363=>array(100,-198,500,642),10364=>array(100,-198,500,642),10365=>array(100,-198,500,642),10366=>array(100,-198,500,642),10367=>array(100,-198,500,642),10368=>array(100,-198,500,642),10369=>array(100,-198,500,642),10370=>array(100,-198,500,642),10371=>array(100,-198,500,642),10372=>array(100,-198,500,642),10373=>array(100,-198,500,642),10374=>array(100,-198,500,642),10375=>array(100,-198,500,642),10376=>array(100,-198,500,642),10377=>array(100,-198,500,642),10378=>array(100,-198,500,642),10379=>array(100,-198,500,642),10380=>array(100,-198,500,642),10381=>array(100,-198,500,642),10382=>array(100,-198,500,642),10383=>array(100,-198,500,642),10384=>array(100,-198,500,642),10385=>array(100,-198,500,642),10386=>array(100,-198,500,642),10387=>array(100,-198,500,642),10388=>array(100,-198,500,642),10389=>array(100,-198,500,642),10390=>array(100,-198,500,642),10391=>array(100,-198,500,642),10392=>array(100,-198,500,642),10393=>array(100,-198,500,642),10394=>array(100,-198,500,642),10395=>array(100,-198,500,642),10396=>array(100,-198,500,642),10397=>array(100,-198,500,642),10398=>array(100,-198,500,642),10399=>array(100,-198,500,642),10400=>array(100,-198,500,642),10401=>array(100,-198,500,642),10402=>array(100,-198,500,642),10403=>array(100,-198,500,642),10404=>array(100,-198,500,642),10405=>array(100,-198,500,642),10406=>array(100,-198,500,642),10407=>array(100,-198,500,642),10408=>array(100,-198,500,642),10409=>array(100,-198,500,642),10410=>array(100,-198,500,642),10411=>array(100,-198,500,642),10412=>array(100,-198,500,642),10413=>array(100,-198,500,642),10414=>array(100,-198,500,642),10415=>array(100,-198,500,642),10416=>array(100,-198,500,642),10417=>array(100,-198,500,642),10418=>array(100,-198,500,642),10419=>array(100,-198,500,642),10420=>array(100,-198,500,642),10421=>array(100,-198,500,642),10422=>array(100,-198,500,642),10423=>array(100,-198,500,642),10424=>array(100,-198,500,642),10425=>array(100,-198,500,642),10426=>array(100,-198,500,642),10427=>array(100,-198,500,642),10428=>array(100,-198,500,642),10429=>array(100,-198,500,642),10430=>array(100,-198,500,642),10431=>array(100,-198,500,642),10432=>array(100,-198,500,642),10433=>array(100,-198,500,642),10434=>array(100,-198,500,642),10435=>array(100,-198,500,642),10436=>array(100,-198,500,642),10437=>array(100,-198,500,642),10438=>array(100,-198,500,642),10439=>array(100,-198,500,642),10440=>array(100,-198,500,642),10441=>array(100,-198,500,642),10442=>array(100,-198,500,642),10443=>array(100,-198,500,642),10444=>array(100,-198,500,642),10445=>array(100,-198,500,642),10446=>array(100,-198,500,642),10447=>array(100,-198,500,642),10448=>array(100,-198,500,642),10449=>array(100,-198,500,642),10450=>array(100,-198,500,642),10451=>array(100,-198,500,642),10452=>array(100,-198,500,642),10453=>array(100,-198,500,642),10454=>array(100,-198,500,642),10455=>array(100,-198,500,642),10456=>array(100,-198,500,642),10457=>array(100,-198,500,642),10458=>array(100,-198,500,642),10459=>array(100,-198,500,642),10460=>array(100,-198,500,642),10461=>array(100,-198,500,642),10462=>array(100,-198,500,642),10463=>array(100,-198,500,642),10464=>array(100,-198,500,642),10465=>array(100,-198,500,642),10466=>array(100,-198,500,642),10467=>array(100,-198,500,642),10468=>array(100,-198,500,642),10469=>array(100,-198,500,642),10470=>array(100,-198,500,642),10471=>array(100,-198,500,642),10472=>array(100,-198,500,642),10473=>array(100,-198,500,642),10474=>array(100,-198,500,642),10475=>array(100,-198,500,642),10476=>array(100,-198,500,642),10477=>array(100,-198,500,642),10478=>array(100,-198,500,642),10479=>array(100,-198,500,642),10480=>array(100,-198,500,642),10481=>array(100,-198,500,642),10482=>array(100,-198,500,642),10483=>array(100,-198,500,642),10484=>array(100,-198,500,642),10485=>array(100,-198,500,642),10486=>array(100,-198,500,642),10487=>array(100,-198,500,642),10488=>array(100,-198,500,642),10489=>array(100,-198,500,642),10490=>array(100,-198,500,642),10491=>array(100,-198,500,642),10492=>array(100,-198,500,642),10493=>array(100,-198,500,642),10494=>array(100,-198,500,642),10495=>array(100,-198,500,642),10752=>array(0,0,600,600),10753=>array(0,0,600,600),10754=>array(0,0,600,600),10755=>array(43,-39,557,710),10756=>array(40,-41,560,693),10757=>array(40,-20,560,652),10758=>array(40,-20,560,652),10781=>array(69,30,531,369),10815=>array(51,0,543,563),11008=>array(63,43,482,463),11009=>array(63,43,483,462),11010=>array(63,44,483,463),11011=>array(64,43,483,463),11012=>array(17,147,583,417),11013=>array(42,147,558,415),11014=>array(166,23,434,539),11015=>array(166,23,434,539),11016=>array(63,43,483,464),11017=>array(62,43,483,463),11018=>array(63,43,484,463),11019=>array(63,43,483,464),11020=>array(17,147,583,417),11021=>array(165,-1,435,565),11026=>array(50,0,550,500),11027=>array(50,0,550,500),11028=>array(50,0,550,500),11029=>array(50,0,550,500),11030=>array(35,0,565,530),11031=>array(35,0,565,530),11032=>array(35,0,565,530),11033=>array(35,0,565,530),11035=>array(1,0,599,600),11036=>array(1,0,599,600),11037=>array(240,290,360,415),11038=>array(240,290,360,415),11039=>array(6,1,594,560),11040=>array(6,1,594,560),11041=>array(43,-13,557,581),11042=>array(35,-3,549,591),11043=>array(-5,37,589,551),11044=>array(0,0,600,600),11045=>array(89,0,513,424),11046=>array(89,0,513,424),11047=>array(120,-11,480,460),11048=>array(120,-11,480,460),11049=>array(172,76,430,333),11050=>array(214,81,386,322),11051=>array(214,78,386,319),11091=>array(21,-14,580,574),11092=>array(21,-14,580,574),11798=>array(78,38,528,673),11799=>array(99,34,501,463),11800=>array(123,-18,476,574),11802=>array(72,258,528,541),11803=>array(92,212,508,565),11806=>array(92,212,508,469),11807=>array(92,79,508,348),11816=>array(164,-124,459,604),11817=>array(167,-124,462,604),11818=>array(70,-2,520,502),11819=>array(10,46,585,438),11820=>array(15,47,590,439),11821=>array(50,28,550,513),11822=>array(124,-15,477,577),11824=>array(202,141,398,337),42888=>array(155,-95,445,54),42889=>array(226,-15,374,417),42890=>array(175,190,425,375),42891=>array(260,209,339,643),42892=>array(260,335,339,643),43264=>array(83,0,517,450),43265=>array(83,0,517,450),43266=>array(83,0,517,457),43267=>array(83,0,517,450),43268=>array(83,-200,517,457),43269=>array(83,0,517,450),43270=>array(83,-12,517,457),43271=>array(83,0,517,669),43272=>array(83,0,517,457),43273=>array(83,0,517,669),43274=>array(83,0,517,456),43275=>array(83,0,517,450),43276=>array(83,0,517,457),43277=>array(83,0,517,450),43278=>array(85,0,518,450),43279=>array(41,0,517,450),43280=>array(83,-200,517,464),43281=>array(83,-200,517,450),43282=>array(83,-13,517,458),43283=>array(83,0,517,669),43284=>array(83,-200,517,450),43285=>array(83,0,517,450),43286=>array(83,0,559,662),43287=>array(83,0,517,450),43288=>array(83,0,517,450),43289=>array(83,-12,517,457),43290=>array(83,-200,517,457),43291=>array(83,0,517,450),43292=>array(83,-200,517,448),43293=>array(83,0,517,669),43294=>array(83,-200,517,450),43295=>array(83,-200,517,457),43296=>array(83,0,517,450),43297=>array(83,0,517,662),43298=>array(83,0,517,450),43299=>array(83,0,517,450),43300=>array(83,0,517,450),43301=>array(83,0,517,450),43302=>array(-345,510,-255,580),43303=>array(-477,481,-124,621),43304=>array(-473,478,-127,621),43305=>array(-441,490,-159,621),43306=>array(-441,490,-159,621),43307=>array(-345,-111,-255,-41),43308=>array(-517,-200,-83,41),43309=>array(-517,-200,-83,41),43310=>array(83,0,517,138),43311=>array(280,-7,321,457),64256=>array(41,0,536,604),64257=>array(77,0,503,604),64258=>array(71,0,521,604),64259=>array(19,0,583,604),64260=>array(10,0,590,604),64261=>array(66,-16,570,604),64285=>array(170,115,329,480),64286=>array(186,540,413,628),64287=>array(90,113,450,480),64288=>array(60,0,543,480),64289=>array(20,0,580,480),64290=>array(20,0,580,480),64291=>array(20,0,580,480),64292=>array(20,0,580,480),64293=>array(20,0,580,617),64294=>array(20,0,580,480),64295=>array(20,0,580,480),64296=>array(20,0,580,480),64297=>array(72,261,528,530),64298=>array(51,0,578,599),64299=>array(49,0,570,599),64300=>array(51,0,578,599),64301=>array(49,0,570,599),64302=>array(60,-101,540,480),64303=>array(60,-200,540,480),64304=>array(60,-101,540,480),64305=>array(60,0,560,480),64306=>array(133,0,467,480),64307=>array(60,0,540,480),64308=>array(60,0,540,480),64309=>array(170,0,320,480),64310=>array(133,0,467,480),64312=>array(22,0,535,480),64313=>array(163,219,320,480),64314=>array(60,-200,499,480),64315=>array(60,0,499,480),64316=>array(60,0,540,617),64318=>array(60,0,540,480),64320=>array(133,0,430,480),64321=>array(60,0,540,480),64323=>array(60,-200,540,480),64324=>array(60,0,540,480),64326=>array(50,0,530,480),64327=>array(49,-200,529,480),64328=>array(60,0,540,480),64329=>array(51,0,570,480),64330=>array(23,0,540,480),64331=>array(170,0,320,599),64332=>array(60,0,560,581),64333=>array(60,0,499,581),64334=>array(60,0,540,581),64335=>array(60,0,540,617),64336=>array(173,-20,402,748),64337=>array(173,0,600,748),64338=>array(40,-200,560,217),64339=>array(40,-200,600,217),64340=>array(0,-200,390,217),64341=>array(0,-200,600,217),64342=>array(40,-200,560,217),64343=>array(40,-200,600,217),64344=>array(0,-200,430,217),64345=>array(0,-200,600,217),64346=>array(40,-200,560,217),64347=>array(40,-200,600,217),64348=>array(0,-200,412,217),64349=>array(0,-200,600,217),64350=>array(40,0,560,386),64351=>array(40,0,600,386),64352=>array(0,0,350,476),64353=>array(0,0,600,476),64354=>array(40,0,560,387),64355=>array(40,0,600,387),64356=>array(0,0,412,437),64357=>array(0,0,600,437),64358=>array(40,0,560,437),64359=>array(40,0,600,437),64360=>array(0,0,408,502),64361=>array(0,0,600,502),64362=>array(40,0,580,486),64363=>array(40,0,600,486),64364=>array(0,0,430,486),64365=>array(0,0,600,486),64366=>array(40,0,580,497),64367=>array(40,0,600,497),64368=>array(0,0,402,497),64369=>array(0,0,600,497),64370=>array(61,-200,537,310),64371=>array(61,-200,600,310),64372=>array(0,-200,510,219),64373=>array(0,-200,600,219),64374=>array(61,-200,537,310),64375=>array(61,-200,600,310),64376=>array(0,-154,510,219),64377=>array(0,-154,600,219),64378=>array(61,-200,537,310),64379=>array(61,-200,600,310),64380=>array(0,-200,510,219),64381=>array(0,-200,600,219),64382=>array(61,-200,537,310),64383=>array(61,-200,600,310),64384=>array(0,-200,510,219),64385=>array(0,-200,600,219),64386=>array(133,-154,430,260),64387=>array(133,-154,600,260),64388=>array(133,0,430,466),64389=>array(133,0,600,466),64390=>array(133,0,430,496),64391=>array(133,0,600,496),64392=>array(133,0,430,560),64393=>array(133,0,600,560),64394=>array(97,-199,430,476),64395=>array(97,-199,600,466),64396=>array(97,-199,408,520),64397=>array(97,-199,600,520),64398=>array(40,0,560,582),64399=>array(40,0,600,582),64400=>array(0,0,510,582),64401=>array(0,0,600,582),64402=>array(40,0,560,582),64403=>array(40,0,600,582),64404=>array(0,0,510,582),64405=>array(0,0,600,582),64406=>array(40,-200,560,582),64407=>array(40,-200,600,582),64408=>array(0,-200,510,582),64409=>array(0,-200,600,582),64410=>array(30,0,560,636),64411=>array(30,0,600,636),64412=>array(0,0,510,636),64413=>array(0,0,600,636),64414=>array(101,-178,474,250),64415=>array(101,-178,600,250),64416=>array(101,-178,474,534),64417=>array(101,-178,600,534),64418=>array(0,0,408,534),64419=>array(0,0,600,534),64420=>array(202,-16,398,435),64421=>array(202,-16,600,435),64422=>array(202,-16,398,220),64423=>array(277,-35,600,55),64424=>array(0,-154,373,91),64425=>array(0,-154,600,91),64426=>array(50,-16,408,220),64427=>array(50,-16,600,220),64428=>array(0,-16,408,220),64429=>array(0,-16,600,220),64430=>array(40,0,600,293),64431=>array(49,0,600,260),64432=>array(40,0,600,435),64433=>array(49,0,600,435),64434=>array(250,416,350,516),64435=>array(250,-158,350,-58),64436=>array(180,416,420,516),64437=>array(180,-154,420,-54),64438=>array(170,416,430,586),64439=>array(170,-200,430,-30),64440=>array(170,416,430,586),64441=>array(170,-200,430,-30),64442=>array(188,419,412,587),64443=>array(188,-200,412,-32),64444=>array(85,-200,245,-55),64445=>array(220,416,390,596),64446=>array(220,-200,390,-20),64448=>array(193,584,408,800),64449=>array(204,-200,419,-24),64467=>array(40,0,560,586),64468=>array(40,0,600,586),64469=>array(0,0,510,656),64470=>array(0,0,600,656),64471=>array(101,-200,404,435),64472=>array(101,-200,600,435),64473=>array(101,-200,404,438),64474=>array(101,-200,600,438),64475=>array(101,-200,404,415),64476=>array(101,-200,600,415),64477=>array(101,-200,529,435),64478=>array(101,-200,430,416),64479=>array(101,-200,600,416),64480=>array(101,-200,404,170),64481=>array(101,-200,600,170),64482=>array(101,-200,404,434),64483=>array(101,-200,600,434),64484=>array(40,-200,560,221),64485=>array(60,-200,627,100),64486=>array(0,-200,390,217),64487=>array(0,-200,600,217),64488=>array(0,0,321,217),64489=>array(0,0,600,217),64508=>array(100,-144,515,221),64509=>array(60,-184,627,100),64510=>array(0,-154,420,217),64511=>array(0,-154,600,217),65136=>array(187,605,412,799),65137=>array(0,0,600,799),65138=>array(167,583,430,800),65139=>array(294,0,600,85),65140=>array(187,-200,412,-6),65142=>array(187,695,412,800),65143=>array(0,0,600,800),65144=>array(221,588,365,800),65145=>array(0,0,600,800),65146=>array(187,-200,412,-95),65147=>array(0,-200,600,40),65148=>array(206,601,394,709),65149=>array(0,0,600,709),65150=>array(236,657,362,775),65151=>array(0,0,600,775),65152=>array(205,-81,395,167),65153=>array(193,-20,427,714),65154=>array(193,0,600,714),65155=>array(211,-20,349,779),65156=>array(211,0,600,779),65157=>array(101,-200,404,399),65158=>array(101,-200,600,399),65159=>array(261,-200,399,583),65160=>array(241,-200,600,581),65161=>array(100,-144,515,399),65162=>array(60,-144,600,399),65163=>array(0,0,349,419),65164=>array(0,0,600,419),65165=>array(280,-20,320,583),65166=>array(280,0,600,581),65167=>array(40,-158,560,217),65168=>array(40,-158,600,217),65169=>array(0,-158,321,217),65170=>array(0,-158,600,217),65171=>array(180,-16,420,416),65172=>array(180,-16,600,416),65173=>array(40,0,560,336),65174=>array(40,0,600,336),65175=>array(0,0,420,416),65176=>array(0,0,600,416),65177=>array(40,0,560,396),65178=>array(40,0,600,396),65179=>array(0,0,430,426),65180=>array(0,0,600,426),65181=>array(61,-200,537,310),65182=>array(61,-200,600,310),65183=>array(0,-100,510,219),65184=>array(0,-100,600,219),65185=>array(61,-200,537,310),65186=>array(61,-200,600,310),65187=>array(0,0,510,219),65188=>array(0,0,600,219),65189=>array(61,-200,537,486),65190=>array(61,-200,600,486),65191=>array(0,0,510,416),65192=>array(0,0,600,416),65193=>array(133,0,430,260),65194=>array(133,0,600,260),65195=>array(133,0,430,416),65196=>array(133,0,600,416),65197=>array(97,-199,400,224),65198=>array(97,-199,600,224),65199=>array(97,-199,400,416),65200=>array(97,-199,600,416),65201=>array(0,-124,600,184),65202=>array(0,-124,600,184),65203=>array(0,0,530,184),65204=>array(0,0,600,184),65205=>array(0,-124,600,416),65206=>array(0,-124,600,416),65207=>array(0,0,530,416),65208=>array(0,0,600,416),65209=>array(0,-124,600,213),65210=>array(0,-124,600,213),65211=>array(0,-16,480,213),65212=>array(0,-16,600,213),65213=>array(0,-124,600,416),65214=>array(0,-124,600,416),65215=>array(0,-16,480,416),65216=>array(0,-16,600,416),65217=>array(92,-16,501,564),65218=>array(92,-16,600,564),65219=>array(0,-16,501,564),65220=>array(0,-16,600,564),65221=>array(92,-16,501,564),65222=>array(92,-16,600,564),65223=>array(0,-16,501,564),65224=>array(0,-16,600,564),65225=>array(132,-200,520,247),65226=>array(132,-200,520,247),65227=>array(0,0,424,225),65228=>array(0,0,600,251),65229=>array(132,-200,520,416),65230=>array(132,-200,520,416),65231=>array(0,0,424,416),65232=>array(0,0,600,416),65233=>array(40,0,560,466),65234=>array(40,0,600,466),65235=>array(0,0,393,416),65236=>array(0,0,600,416),65237=>array(101,-184,500,336),65238=>array(101,-184,600,336),65239=>array(0,0,420,436),65240=>array(0,0,600,436),65241=>array(0,0,520,571),65242=>array(40,0,600,571),65243=>array(0,0,510,582),65244=>array(0,0,600,582),65245=>array(80,-177,527,564),65246=>array(80,-177,600,564),65247=>array(0,0,395,564),65248=>array(0,0,600,581),65249=>array(150,-200,470,330),65250=>array(181,-200,600,194),65251=>array(0,-11,393,170),65252=>array(0,-11,600,170),65253=>array(101,-178,474,416),65254=>array(101,-178,600,366),65255=>array(0,0,350,416),65256=>array(0,0,600,416),65257=>array(202,-16,398,220),65258=>array(202,-16,600,234),65259=>array(0,-16,408,220),65260=>array(0,-200,600,240),65261=>array(101,-200,404,170),65262=>array(101,-200,600,170),65263=>array(100,-144,515,221),65264=>array(60,-144,600,181),65265=>array(50,-200,600,221),65266=>array(60,-200,600,181),65267=>array(0,-154,420,217),65268=>array(0,-154,600,217),65269=>array(64,0,500,702),65270=>array(64,0,560,702),65271=>array(94,0,500,779),65272=>array(73,0,560,779),65273=>array(100,-200,500,583),65274=>array(73,-200,560,581),65275=>array(100,0,500,583),65276=>array(73,0,560,581),65532=>array(30,0,572,630),65533=>array(-24,-86,623,798),65535=>array(40,-80,560,643)); +$cw=array(0=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600,256=>600,257=>600,258=>600,259=>600,260=>600,261=>600,262=>600,263=>600,264=>600,265=>600,266=>600,267=>600,268=>600,269=>600,270=>600,271=>600,272=>600,273=>600,274=>600,275=>600,276=>600,277=>600,278=>600,279=>600,280=>600,281=>600,282=>600,283=>600,284=>600,285=>600,286=>600,287=>600,288=>600,289=>600,290=>600,291=>600,292=>600,293=>600,294=>600,295=>600,296=>600,297=>600,298=>600,299=>600,300=>600,301=>600,302=>600,303=>600,304=>600,305=>600,306=>600,307=>600,308=>600,309=>600,310=>600,311=>600,312=>600,313=>600,314=>600,315=>600,316=>600,317=>600,318=>600,319=>600,320=>600,321=>600,322=>600,323=>600,324=>600,325=>600,326=>600,327=>600,328=>600,329=>600,330=>600,331=>600,332=>600,333=>600,334=>600,335=>600,336=>600,337=>600,338=>600,339=>600,340=>600,341=>600,342=>600,343=>600,344=>600,345=>600,346=>600,347=>600,348=>600,349=>600,350=>600,351=>600,352=>600,353=>600,354=>600,355=>600,356=>600,357=>600,358=>600,359=>600,360=>600,361=>600,362=>600,363=>600,364=>600,365=>600,366=>600,367=>600,368=>600,369=>600,370=>600,371=>600,372=>600,373=>600,374=>600,375=>600,376=>600,377=>600,378=>600,379=>600,380=>600,381=>600,382=>600,383=>600,384=>600,385=>600,386=>600,387=>600,388=>600,389=>600,390=>600,391=>600,392=>600,393=>600,394=>600,395=>600,396=>600,397=>600,398=>600,399=>600,400=>600,401=>600,402=>600,403=>600,404=>600,405=>600,406=>600,407=>600,408=>600,409=>600,410=>600,411=>600,412=>600,413=>600,414=>600,415=>600,416=>600,417=>600,418=>600,419=>600,420=>600,421=>600,422=>600,423=>600,424=>600,425=>600,426=>600,427=>600,428=>600,429=>600,430=>600,431=>600,432=>600,433=>600,434=>600,435=>600,436=>600,437=>600,438=>600,439=>600,440=>600,441=>600,442=>600,443=>600,444=>600,445=>600,446=>600,447=>600,448=>600,449=>600,450=>600,451=>600,452=>600,453=>600,454=>600,455=>600,456=>600,457=>600,458=>600,459=>600,460=>600,461=>600,462=>600,463=>600,464=>600,465=>600,466=>600,467=>600,468=>600,469=>600,470=>600,471=>600,472=>600,473=>600,474=>600,475=>600,476=>600,477=>600,478=>600,479=>600,480=>600,481=>600,482=>600,483=>600,484=>600,485=>600,486=>600,487=>600,488=>600,489=>600,490=>600,491=>600,492=>600,493=>600,494=>600,495=>600,496=>600,497=>600,498=>600,499=>600,500=>600,501=>600,502=>600,503=>600,504=>600,505=>600,506=>600,507=>600,508=>600,509=>600,510=>600,511=>600,512=>600,513=>600,514=>600,515=>600,516=>600,517=>600,518=>600,519=>600,520=>600,521=>600,522=>600,523=>600,524=>600,525=>600,526=>600,527=>600,528=>600,529=>600,530=>600,531=>600,532=>600,533=>600,534=>600,535=>600,536=>600,537=>600,538=>600,539=>600,540=>600,541=>600,542=>600,543=>600,544=>600,548=>600,549=>600,550=>600,551=>600,552=>600,553=>600,554=>600,555=>600,556=>600,557=>600,558=>600,559=>600,560=>600,561=>600,562=>600,563=>600,567=>600,592=>600,593=>600,594=>600,595=>600,596=>600,597=>600,598=>600,599=>600,600=>600,601=>600,602=>600,603=>600,604=>600,605=>600,606=>600,607=>600,608=>600,609=>600,610=>600,611=>600,612=>600,613=>600,614=>600,615=>600,616=>600,617=>600,618=>600,619=>600,620=>600,621=>600,622=>600,623=>600,624=>600,625=>600,626=>600,627=>600,628=>600,629=>600,630=>600,631=>600,632=>600,633=>600,634=>600,635=>600,636=>600,637=>600,638=>600,639=>600,640=>600,641=>600,642=>600,643=>600,644=>600,645=>600,646=>600,647=>600,648=>600,649=>600,650=>600,651=>600,652=>600,653=>600,654=>600,655=>600,656=>600,657=>600,658=>600,659=>600,660=>600,661=>600,662=>600,663=>600,664=>600,665=>600,666=>600,667=>600,668=>600,669=>600,670=>600,671=>600,672=>600,673=>600,674=>600,675=>600,676=>600,677=>600,678=>600,679=>600,680=>600,681=>600,682=>600,683=>600,684=>600,685=>600,686=>600,687=>600,688=>600,689=>600,690=>600,691=>600,692=>600,693=>600,694=>600,695=>600,696=>600,697=>600,698=>600,699=>600,700=>600,701=>600,702=>600,703=>600,704=>600,705=>600,706=>600,707=>600,708=>600,709=>600,710=>600,711=>600,712=>600,713=>600,714=>600,715=>600,716=>600,717=>600,718=>600,719=>600,720=>600,721=>600,722=>600,723=>600,724=>600,725=>600,726=>600,727=>600,728=>600,729=>600,730=>600,731=>600,732=>600,733=>600,734=>600,735=>600,736=>600,737=>600,738=>600,739=>600,740=>600,741=>600,742=>600,743=>600,744=>600,745=>600,746=>600,747=>600,748=>600,749=>600,750=>600,751=>600,752=>600,753=>600,754=>600,755=>600,756=>600,757=>600,758=>600,759=>600,760=>600,761=>600,762=>600,763=>600,764=>600,765=>600,766=>600,767=>600,768=>600,769=>600,770=>600,771=>600,772=>600,773=>600,774=>600,775=>600,776=>600,777=>600,778=>600,779=>600,780=>600,781=>600,782=>600,783=>600,784=>600,785=>600,786=>600,787=>600,788=>600,789=>600,790=>600,791=>600,792=>600,793=>600,794=>600,795=>600,796=>600,797=>600,798=>600,799=>600,800=>600,801=>600,802=>600,803=>600,804=>600,805=>600,806=>600,807=>600,808=>600,809=>600,810=>600,811=>600,812=>600,813=>600,814=>600,815=>600,816=>600,817=>600,818=>600,819=>600,820=>600,821=>600,822=>600,823=>600,824=>600,825=>600,826=>600,827=>600,828=>600,829=>600,830=>600,831=>600,832=>600,833=>600,834=>600,835=>600,836=>600,837=>600,838=>600,839=>600,840=>600,841=>600,842=>600,843=>600,844=>600,845=>600,846=>600,847=>600,848=>600,849=>600,850=>600,851=>600,852=>600,853=>600,854=>600,855=>600,856=>600,857=>600,858=>600,859=>600,860=>600,861=>600,862=>600,863=>600,864=>600,865=>600,866=>600,867=>600,868=>600,869=>600,870=>600,871=>600,872=>600,873=>600,874=>600,875=>600,876=>600,877=>600,878=>600,879=>600,884=>600,885=>600,890=>600,894=>600,900=>600,901=>600,902=>600,903=>600,904=>600,905=>600,906=>600,908=>600,910=>600,911=>600,912=>600,913=>600,914=>600,915=>600,916=>600,917=>600,918=>600,919=>600,920=>600,921=>600,922=>600,923=>600,924=>600,925=>600,926=>600,927=>600,928=>600,929=>600,931=>600,932=>600,933=>600,934=>600,935=>600,936=>600,937=>600,938=>600,939=>600,940=>600,941=>600,942=>600,943=>600,944=>600,945=>600,946=>600,947=>600,948=>600,949=>600,950=>600,951=>600,952=>600,953=>600,954=>600,955=>600,956=>600,957=>600,958=>600,959=>600,960=>600,961=>600,962=>600,963=>600,964=>600,965=>600,966=>600,967=>600,968=>600,969=>600,970=>600,971=>600,972=>600,973=>600,974=>600,976=>600,977=>600,978=>600,979=>600,980=>600,981=>600,982=>600,986=>600,987=>600,988=>600,989=>600,1008=>600,1009=>600,1012=>600,1013=>600,1024=>600,1025=>600,1026=>600,1027=>600,1028=>600,1029=>600,1030=>600,1031=>600,1032=>600,1033=>600,1034=>600,1035=>600,1036=>600,1037=>600,1038=>600,1039=>600,1040=>600,1041=>600,1042=>600,1043=>600,1044=>600,1045=>600,1046=>600,1047=>600,1048=>600,1049=>600,1050=>600,1051=>600,1052=>600,1053=>600,1054=>600,1055=>600,1056=>600,1057=>600,1058=>600,1059=>600,1060=>600,1061=>600,1062=>600,1063=>600,1064=>600,1065=>600,1066=>600,1067=>600,1068=>600,1069=>600,1070=>600,1071=>600,1072=>600,1073=>600,1074=>600,1075=>600,1076=>600,1077=>600,1078=>600,1079=>600,1080=>600,1081=>600,1082=>600,1083=>600,1084=>600,1085=>600,1086=>600,1087=>600,1088=>600,1089=>600,1090=>600,1091=>600,1092=>600,1093=>600,1094=>600,1095=>600,1096=>600,1097=>600,1098=>600,1099=>600,1100=>600,1101=>600,1102=>600,1103=>600,1104=>600,1105=>600,1106=>600,1107=>600,1108=>600,1109=>600,1110=>600,1111=>600,1112=>600,1113=>600,1114=>600,1115=>600,1116=>600,1117=>600,1118=>600,1119=>600,1120=>600,1121=>600,1122=>600,1123=>600,1124=>600,1125=>600,1126=>600,1127=>600,1128=>600,1129=>600,1130=>600,1131=>600,1132=>600,1133=>600,1134=>600,1135=>600,1136=>600,1137=>600,1138=>600,1139=>600,1140=>600,1141=>600,1142=>600,1143=>600,1144=>600,1145=>600,1146=>600,1147=>600,1148=>600,1149=>600,1150=>600,1151=>600,1155=>600,1156=>600,1157=>600,1158=>600,1159=>600,1162=>600,1163=>600,1164=>600,1165=>600,1166=>600,1167=>600,1168=>600,1169=>600,1170=>600,1171=>600,1172=>600,1173=>600,1174=>600,1175=>600,1176=>600,1177=>600,1178=>600,1179=>600,1180=>600,1181=>600,1182=>600,1183=>600,1184=>600,1185=>600,1186=>600,1187=>600,1188=>600,1189=>600,1190=>600,1191=>600,1192=>600,1193=>600,1194=>600,1195=>600,1196=>600,1197=>600,1198=>600,1199=>600,1200=>600,1201=>600,1202=>600,1203=>600,1204=>600,1205=>600,1206=>600,1207=>600,1208=>600,1209=>600,1210=>600,1211=>600,1212=>600,1213=>600,1214=>600,1215=>600,1216=>600,1217=>600,1218=>600,1219=>600,1220=>600,1221=>600,1222=>600,1223=>600,1224=>600,1225=>600,1226=>600,1227=>600,1228=>600,1229=>600,1230=>600,1231=>600,1232=>600,1233=>600,1234=>600,1235=>600,1236=>600,1237=>600,1238=>600,1239=>600,1240=>600,1241=>600,1242=>600,1243=>600,1244=>600,1245=>600,1246=>600,1247=>600,1248=>600,1249=>600,1250=>600,1251=>600,1252=>600,1253=>600,1254=>600,1255=>600,1256=>600,1257=>600,1258=>600,1259=>600,1260=>600,1261=>600,1262=>600,1263=>600,1264=>600,1265=>600,1266=>600,1267=>600,1268=>600,1269=>600,1270=>600,1271=>600,1272=>600,1273=>600,1274=>600,1275=>600,1276=>600,1277=>600,1278=>600,1279=>600,1296=>600,1297=>600,1298=>600,1299=>600,1306=>600,1307=>600,1308=>600,1309=>600,1310=>600,1311=>600,1316=>600,1317=>600,1318=>600,1319=>600,1329=>600,1330=>600,1331=>600,1332=>600,1333=>600,1334=>600,1335=>600,1336=>600,1337=>600,1338=>600,1339=>600,1340=>600,1341=>600,1342=>600,1343=>600,1344=>600,1345=>600,1346=>600,1347=>600,1348=>600,1349=>600,1350=>600,1351=>600,1352=>600,1353=>600,1354=>600,1355=>600,1356=>600,1357=>600,1358=>600,1359=>600,1360=>600,1361=>600,1362=>600,1363=>600,1364=>600,1365=>600,1366=>600,1369=>600,1370=>600,1371=>600,1372=>600,1373=>600,1374=>600,1375=>600,1377=>600,1378=>600,1379=>600,1380=>600,1381=>600,1382=>600,1383=>600,1384=>600,1385=>600,1386=>600,1387=>600,1388=>600,1389=>600,1390=>600,1391=>600,1392=>600,1393=>600,1394=>600,1395=>600,1396=>600,1397=>600,1398=>600,1399=>600,1400=>600,1401=>600,1402=>600,1403=>600,1404=>600,1405=>600,1406=>600,1407=>600,1408=>600,1409=>600,1410=>600,1411=>600,1412=>600,1413=>600,1414=>600,1415=>600,1417=>600,1418=>600,1423=>600,1456=>600,1457=>600,1458=>600,1459=>600,1460=>600,1461=>600,1462=>600,1463=>600,1464=>600,1465=>600,1466=>600,1467=>600,1468=>600,1469=>600,1470=>600,1471=>600,1472=>600,1473=>600,1474=>600,1475=>600,1476=>600,1477=>600,1478=>600,1479=>600,1488=>600,1489=>600,1490=>600,1491=>600,1492=>600,1493=>600,1494=>600,1495=>600,1496=>600,1497=>600,1498=>600,1499=>600,1500=>600,1501=>600,1502=>600,1503=>600,1504=>600,1505=>600,1506=>600,1507=>600,1508=>600,1509=>600,1510=>600,1511=>600,1512=>600,1513=>600,1514=>600,1520=>600,1521=>600,1522=>600,1523=>600,1524=>600,1542=>600,1543=>600,1544=>600,1545=>600,1546=>600,1547=>600,1548=>600,1549=>600,1550=>600,1551=>600,1563=>600,1566=>600,1567=>600,1568=>600,1569=>600,1570=>600,1571=>600,1572=>600,1573=>600,1574=>600,1575=>600,1576=>600,1577=>600,1578=>600,1579=>600,1580=>600,1581=>600,1582=>600,1583=>600,1584=>600,1585=>600,1586=>600,1587=>600,1588=>600,1589=>600,1590=>600,1591=>600,1592=>600,1593=>600,1594=>600,1595=>600,1596=>600,1597=>600,1598=>600,1599=>600,1600=>600,1601=>600,1602=>600,1603=>600,1604=>600,1605=>600,1606=>600,1607=>600,1608=>600,1609=>600,1610=>600,1611=>600,1612=>600,1613=>600,1614=>600,1615=>600,1616=>600,1617=>600,1618=>600,1619=>600,1620=>600,1621=>600,1622=>600,1623=>600,1625=>600,1626=>600,1627=>600,1628=>600,1629=>600,1630=>600,1631=>600,1632=>600,1633=>600,1634=>600,1635=>600,1636=>600,1637=>600,1638=>600,1639=>600,1640=>600,1641=>600,1642=>600,1643=>600,1644=>600,1645=>600,1646=>600,1647=>600,1648=>600,1649=>600,1650=>600,1651=>600,1652=>600,1653=>600,1654=>600,1655=>600,1656=>600,1657=>600,1658=>600,1659=>600,1660=>600,1661=>600,1662=>600,1663=>600,1664=>600,1665=>600,1666=>600,1667=>600,1668=>600,1669=>600,1670=>600,1671=>600,1672=>600,1673=>600,1674=>600,1675=>600,1676=>600,1677=>600,1678=>600,1679=>600,1680=>600,1681=>600,1682=>600,1683=>600,1684=>600,1685=>600,1686=>600,1687=>600,1688=>600,1689=>600,1690=>600,1691=>600,1692=>600,1693=>600,1694=>600,1695=>600,1696=>600,1697=>600,1698=>600,1699=>600,1700=>600,1701=>600,1702=>600,1703=>600,1704=>600,1705=>600,1706=>600,1707=>600,1708=>600,1709=>600,1710=>600,1711=>600,1712=>600,1713=>600,1714=>600,1715=>600,1716=>600,1717=>600,1718=>600,1719=>600,1720=>600,1721=>600,1722=>600,1723=>600,1724=>600,1725=>600,1726=>600,1727=>600,1728=>600,1729=>600,1730=>600,1731=>600,1732=>600,1733=>600,1734=>600,1735=>600,1736=>600,1737=>600,1738=>600,1739=>600,1740=>600,1741=>600,1742=>600,1743=>600,1744=>600,1745=>600,1746=>600,1747=>600,1748=>600,1749=>600,1774=>600,1775=>600,1776=>600,1777=>600,1778=>600,1779=>600,1780=>600,1781=>600,1782=>600,1783=>600,1784=>600,1785=>600,1786=>600,1787=>600,1788=>600,1789=>600,1790=>600,1791=>600,4304=>600,4305=>600,4306=>600,4307=>600,4308=>600,4309=>600,4310=>600,4311=>600,4312=>600,4313=>600,4314=>600,4315=>600,4316=>600,4317=>600,4318=>600,4319=>600,4320=>600,4321=>600,4322=>600,4323=>600,4324=>600,4325=>600,4326=>600,4327=>600,4328=>600,4329=>600,4330=>600,4331=>600,4332=>600,4333=>600,4334=>600,4335=>600,4336=>600,4337=>600,4338=>600,4339=>600,4340=>600,4341=>600,4345=>600,4347=>600,4348=>600,5024=>600,5025=>600,5026=>600,5027=>600,5028=>600,5029=>600,5030=>600,5031=>600,5032=>600,5033=>600,5034=>600,5035=>600,5036=>600,5037=>600,5038=>600,5039=>600,5040=>600,5041=>600,5042=>600,5043=>600,5044=>600,5045=>600,5046=>600,5047=>600,5048=>600,5049=>600,5050=>600,5051=>600,5052=>600,5053=>600,5054=>600,5055=>600,5056=>600,5057=>600,5058=>600,5059=>600,5060=>600,5061=>600,5062=>600,5063=>600,5064=>600,5065=>600,5066=>600,5067=>600,5068=>600,5069=>600,5070=>600,5071=>600,5072=>600,5073=>600,5074=>600,5075=>600,5076=>600,5077=>600,5078=>600,5079=>600,5080=>600,5081=>600,5082=>600,5083=>600,5084=>600,5085=>600,5086=>600,5087=>600,5088=>600,5089=>600,5090=>600,5091=>600,5092=>600,5093=>600,5094=>600,5095=>600,5096=>600,5097=>600,5098=>600,5099=>600,5100=>600,5101=>600,5102=>600,5103=>600,5104=>600,5105=>600,5106=>600,5107=>600,5108=>600,5792=>600,5793=>600,5794=>600,5795=>600,5796=>600,5797=>600,5798=>600,5799=>600,5800=>600,5801=>600,5802=>600,5803=>600,5804=>600,5805=>600,5806=>600,5807=>600,5808=>600,5809=>600,5810=>600,5811=>600,5812=>600,5813=>600,5814=>600,5815=>600,5816=>600,5817=>600,5818=>600,5819=>600,5820=>600,5821=>600,5822=>600,5823=>600,5824=>600,5825=>600,5826=>600,5827=>600,5828=>600,5829=>600,5830=>600,5831=>600,5832=>600,5833=>600,5834=>600,5835=>600,5836=>600,5837=>600,5838=>600,5839=>600,5840=>600,5841=>600,5842=>600,5843=>600,5844=>600,5845=>600,5846=>600,5847=>600,5848=>600,5849=>600,5850=>600,5851=>600,5852=>600,5853=>600,5854=>600,5855=>600,5856=>600,5857=>600,5858=>600,5859=>600,5860=>600,5861=>600,5862=>600,5863=>600,5864=>600,5865=>600,5866=>600,5867=>600,5868=>600,5869=>600,5870=>600,5871=>600,5872=>600,7680=>600,7681=>600,7682=>600,7683=>600,7684=>600,7685=>600,7686=>600,7687=>600,7688=>600,7689=>600,7690=>600,7691=>600,7692=>600,7693=>600,7694=>600,7695=>600,7696=>600,7697=>600,7698=>600,7699=>600,7700=>600,7701=>600,7702=>600,7703=>600,7704=>600,7705=>600,7706=>600,7707=>600,7708=>600,7709=>600,7710=>600,7711=>600,7712=>600,7713=>600,7714=>600,7715=>600,7716=>600,7717=>600,7718=>600,7719=>600,7720=>600,7721=>600,7722=>600,7723=>600,7724=>600,7725=>600,7726=>600,7727=>600,7728=>600,7729=>600,7730=>600,7731=>600,7732=>600,7733=>600,7734=>600,7735=>600,7736=>600,7737=>600,7738=>600,7739=>600,7740=>600,7741=>600,7742=>600,7743=>600,7744=>600,7745=>600,7746=>600,7747=>600,7748=>600,7749=>600,7750=>600,7751=>600,7752=>600,7753=>600,7754=>600,7755=>600,7756=>600,7757=>600,7758=>600,7759=>600,7760=>600,7761=>600,7762=>600,7763=>600,7764=>600,7765=>600,7766=>600,7767=>600,7768=>600,7769=>600,7770=>600,7771=>600,7772=>600,7773=>600,7774=>600,7775=>600,7776=>600,7777=>600,7778=>600,7779=>600,7780=>600,7781=>600,7782=>600,7783=>600,7784=>600,7785=>600,7786=>600,7787=>600,7788=>600,7789=>600,7790=>600,7791=>600,7792=>600,7793=>600,7794=>600,7795=>600,7796=>600,7797=>600,7798=>600,7799=>600,7800=>600,7801=>600,7802=>600,7803=>600,7804=>600,7805=>600,7806=>600,7807=>600,7808=>600,7809=>600,7810=>600,7811=>600,7812=>600,7813=>600,7814=>600,7815=>600,7816=>600,7817=>600,7818=>600,7819=>600,7820=>600,7821=>600,7822=>600,7823=>600,7824=>600,7825=>600,7826=>600,7827=>600,7828=>600,7829=>600,7830=>600,7831=>600,7832=>600,7833=>600,7834=>600,7835=>600,7840=>600,7841=>600,7842=>600,7843=>600,7844=>600,7845=>600,7846=>600,7847=>600,7848=>600,7849=>600,7850=>600,7851=>600,7852=>600,7853=>600,7854=>600,7855=>600,7856=>600,7857=>600,7858=>600,7859=>600,7860=>600,7861=>600,7862=>600,7863=>600,7864=>600,7865=>600,7866=>600,7867=>600,7868=>600,7869=>600,7870=>600,7871=>600,7872=>600,7873=>600,7874=>600,7875=>600,7876=>600,7877=>600,7878=>600,7879=>600,7880=>600,7881=>600,7882=>600,7883=>600,7884=>600,7885=>600,7886=>600,7887=>600,7888=>600,7889=>600,7890=>600,7891=>600,7892=>600,7893=>600,7894=>600,7895=>600,7896=>600,7897=>600,7898=>600,7899=>600,7900=>600,7901=>600,7902=>600,7903=>600,7904=>600,7905=>600,7906=>600,7907=>600,7908=>600,7909=>600,7910=>600,7911=>600,7912=>600,7913=>600,7914=>600,7915=>600,7916=>600,7917=>600,7918=>600,7919=>600,7920=>600,7921=>600,7922=>600,7923=>600,7924=>600,7925=>600,7926=>600,7927=>600,7928=>600,7929=>600,7936=>600,7937=>600,7938=>600,7939=>600,7940=>600,7941=>600,7942=>600,7943=>600,7944=>600,7945=>600,7946=>600,7947=>600,7948=>600,7949=>600,7950=>600,7951=>600,7952=>600,7953=>600,7954=>600,7955=>600,7956=>600,7957=>600,7960=>600,7961=>600,7962=>600,7963=>600,7964=>600,7965=>600,7968=>600,7969=>600,7970=>600,7971=>600,7972=>600,7973=>600,7974=>600,7975=>600,7976=>600,7977=>600,7978=>600,7979=>600,7980=>600,7981=>600,7982=>600,7983=>600,7984=>600,7985=>600,7986=>600,7987=>600,7988=>600,7989=>600,7990=>600,7991=>600,7992=>600,7993=>600,7994=>600,7995=>600,7996=>600,7997=>600,7998=>600,7999=>600,8000=>600,8001=>600,8002=>600,8003=>600,8004=>600,8005=>600,8008=>600,8009=>600,8010=>600,8011=>600,8012=>600,8013=>600,8016=>600,8017=>600,8018=>600,8019=>600,8020=>600,8021=>600,8022=>600,8023=>600,8025=>600,8027=>600,8029=>600,8031=>600,8032=>600,8033=>600,8034=>600,8035=>600,8036=>600,8037=>600,8038=>600,8039=>600,8040=>600,8041=>600,8042=>600,8043=>600,8044=>600,8045=>600,8046=>600,8047=>600,8048=>600,8049=>600,8050=>600,8051=>600,8052=>600,8053=>600,8054=>600,8055=>600,8056=>600,8057=>600,8058=>600,8059=>600,8060=>600,8061=>600,8064=>600,8065=>600,8066=>600,8067=>600,8068=>600,8069=>600,8070=>600,8071=>600,8072=>600,8073=>600,8074=>600,8075=>600,8076=>600,8077=>600,8078=>600,8079=>600,8080=>600,8081=>600,8082=>600,8083=>600,8084=>600,8085=>600,8086=>600,8087=>600,8088=>600,8089=>600,8090=>600,8091=>600,8092=>600,8093=>600,8094=>600,8095=>600,8096=>600,8097=>600,8098=>600,8099=>600,8100=>600,8101=>600,8102=>600,8103=>600,8104=>600,8105=>600,8106=>600,8107=>600,8108=>600,8109=>600,8110=>600,8111=>600,8112=>600,8113=>600,8114=>600,8115=>600,8116=>600,8118=>600,8119=>600,8120=>600,8121=>600,8122=>600,8123=>600,8124=>600,8125=>600,8126=>600,8127=>600,8128=>600,8129=>600,8130=>600,8131=>600,8132=>600,8134=>600,8135=>600,8136=>600,8137=>600,8138=>600,8139=>600,8140=>600,8141=>600,8142=>600,8143=>600,8144=>600,8145=>600,8146=>600,8147=>600,8150=>600,8151=>600,8152=>600,8153=>600,8154=>600,8155=>600,8157=>600,8158=>600,8159=>600,8160=>600,8161=>600,8162=>600,8163=>600,8164=>600,8165=>600,8166=>600,8167=>600,8168=>600,8169=>600,8170=>600,8171=>600,8172=>600,8173=>600,8174=>600,8175=>600,8178=>600,8179=>600,8180=>600,8182=>600,8183=>600,8184=>600,8185=>600,8186=>600,8187=>600,8188=>600,8189=>600,8190=>600,8192=>600,8193=>600,8194=>600,8195=>600,8196=>600,8197=>600,8198=>600,8199=>600,8200=>600,8201=>600,8202=>600,8203=>600,8204=>600,8205=>600,8206=>600,8207=>600,8208=>600,8209=>600,8210=>600,8211=>600,8212=>600,8213=>600,8214=>600,8215=>600,8216=>600,8217=>600,8218=>600,8219=>600,8220=>600,8221=>600,8222=>600,8223=>600,8224=>600,8225=>600,8226=>600,8227=>600,8228=>600,8229=>600,8230=>600,8231=>600,8232=>600,8233=>600,8234=>600,8235=>600,8236=>600,8237=>600,8238=>600,8239=>600,8240=>600,8241=>600,8242=>600,8243=>600,8244=>600,8245=>600,8246=>600,8247=>600,8248=>600,8249=>600,8250=>600,8251=>600,8252=>600,8253=>600,8254=>600,8255=>600,8256=>600,8257=>600,8258=>600,8259=>600,8260=>600,8261=>600,8262=>600,8263=>600,8264=>600,8265=>600,8266=>600,8267=>600,8268=>600,8269=>600,8270=>600,8271=>600,8272=>600,8273=>600,8274=>600,8275=>600,8276=>600,8277=>600,8278=>600,8279=>600,8280=>600,8281=>600,8282=>600,8283=>600,8284=>600,8285=>600,8286=>600,8287=>600,8288=>600,8289=>600,8290=>600,8291=>600,8292=>600,8304=>600,8305=>600,8308=>600,8309=>600,8310=>600,8311=>600,8312=>600,8313=>600,8314=>600,8315=>600,8316=>600,8317=>600,8318=>600,8319=>600,8320=>600,8321=>600,8322=>600,8323=>600,8324=>600,8325=>600,8326=>600,8327=>600,8328=>600,8329=>600,8330=>600,8331=>600,8332=>600,8333=>600,8334=>600,8336=>600,8337=>600,8338=>600,8339=>600,8340=>600,8353=>600,8354=>600,8355=>600,8356=>600,8357=>600,8358=>600,8359=>600,8360=>600,8361=>600,8362=>600,8363=>600,8364=>600,8365=>600,8366=>600,8367=>600,8368=>600,8369=>600,8370=>600,8371=>600,8372=>600,8373=>600,8376=>600,8377=>600,8400=>600,8401=>600,8402=>600,8406=>600,8407=>600,8411=>600,8412=>600,8413=>600,8414=>600,8415=>600,8416=>600,8417=>600,8418=>600,8419=>600,8421=>600,8422=>600,8424=>600,8426=>600,8427=>600,8428=>600,8429=>600,8430=>600,8431=>600,8448=>600,8449=>600,8450=>600,8451=>600,8452=>600,8453=>600,8454=>600,8455=>600,8456=>600,8457=>600,8461=>600,8462=>600,8463=>600,8464=>600,8465=>600,8466=>600,8467=>600,8468=>600,8469=>600,8470=>600,8471=>600,8472=>600,8473=>600,8474=>600,8476=>600,8477=>600,8478=>600,8480=>600,8481=>600,8482=>600,8484=>600,8486=>600,8487=>600,8489=>600,8490=>600,8491=>600,8494=>600,8498=>600,8501=>600,8502=>600,8503=>600,8504=>600,8505=>600,8506=>600,8507=>600,8513=>600,8514=>600,8515=>600,8516=>600,8523=>600,8525=>600,8526=>600,8531=>600,8532=>600,8533=>600,8534=>600,8535=>600,8536=>600,8537=>600,8538=>600,8539=>600,8540=>600,8541=>600,8542=>600,8543=>600,8544=>600,8545=>600,8546=>600,8547=>600,8548=>600,8549=>600,8550=>600,8551=>600,8552=>600,8553=>600,8554=>600,8555=>600,8556=>600,8557=>600,8558=>600,8559=>600,8560=>600,8561=>600,8562=>600,8563=>600,8564=>600,8565=>600,8566=>600,8567=>600,8568=>600,8569=>600,8570=>600,8571=>600,8572=>600,8573=>600,8574=>600,8575=>600,8592=>600,8593=>600,8594=>600,8595=>600,8596=>600,8597=>600,8598=>600,8599=>600,8600=>600,8601=>600,8602=>600,8603=>600,8604=>600,8605=>600,8606=>600,8607=>600,8608=>600,8609=>600,8610=>600,8611=>600,8612=>600,8613=>600,8614=>600,8615=>600,8616=>600,8617=>600,8618=>600,8619=>600,8620=>600,8621=>600,8622=>600,8623=>600,8624=>600,8625=>600,8626=>600,8627=>600,8628=>600,8629=>600,8630=>600,8631=>600,8632=>600,8633=>600,8634=>600,8635=>600,8636=>600,8637=>600,8638=>600,8639=>600,8640=>600,8641=>600,8642=>600,8643=>600,8644=>600,8645=>600,8646=>600,8647=>600,8648=>600,8649=>600,8650=>600,8651=>600,8652=>600,8653=>600,8654=>600,8655=>600,8656=>600,8657=>600,8658=>600,8659=>600,8660=>600,8661=>600,8668=>600,8669=>600,8678=>600,8679=>600,8680=>600,8681=>600,8691=>600,8704=>600,8705=>600,8706=>600,8707=>600,8708=>600,8709=>600,8710=>600,8711=>600,8712=>600,8713=>600,8714=>600,8715=>600,8716=>600,8717=>600,8718=>600,8719=>600,8720=>600,8721=>600,8722=>600,8723=>600,8724=>600,8725=>600,8726=>600,8727=>600,8728=>600,8729=>600,8730=>600,8731=>600,8732=>600,8733=>600,8734=>600,8735=>600,8736=>600,8737=>600,8738=>600,8739=>600,8740=>600,8741=>600,8742=>600,8743=>600,8744=>600,8745=>600,8746=>600,8747=>600,8748=>600,8749=>600,8750=>600,8751=>600,8752=>600,8753=>600,8754=>600,8755=>600,8756=>600,8757=>600,8758=>600,8759=>600,8760=>600,8761=>600,8762=>600,8763=>600,8764=>600,8765=>600,8766=>600,8767=>600,8768=>600,8769=>600,8770=>600,8771=>600,8772=>600,8773=>600,8774=>600,8775=>600,8776=>600,8777=>600,8778=>600,8779=>600,8780=>600,8781=>600,8782=>600,8783=>600,8784=>600,8785=>600,8786=>600,8787=>600,8788=>600,8789=>600,8790=>600,8791=>600,8792=>600,8793=>600,8794=>600,8795=>600,8796=>600,8797=>600,8798=>600,8799=>600,8800=>600,8801=>600,8802=>600,8803=>600,8804=>600,8805=>600,8806=>600,8807=>600,8808=>600,8809=>600,8810=>600,8811=>600,8812=>600,8813=>600,8814=>600,8815=>600,8816=>600,8817=>600,8818=>600,8819=>600,8820=>600,8821=>600,8822=>600,8823=>600,8824=>600,8825=>600,8826=>600,8827=>600,8828=>600,8829=>600,8830=>600,8831=>600,8832=>600,8833=>600,8834=>600,8835=>600,8836=>600,8837=>600,8838=>600,8839=>600,8840=>600,8841=>600,8842=>600,8843=>600,8844=>600,8845=>600,8846=>600,8847=>600,8848=>600,8849=>600,8850=>600,8851=>600,8852=>600,8853=>600,8854=>600,8855=>600,8856=>600,8857=>600,8858=>600,8859=>600,8860=>600,8861=>600,8862=>600,8863=>600,8864=>600,8865=>600,8866=>600,8867=>600,8868=>600,8869=>600,8870=>600,8871=>600,8872=>600,8873=>600,8874=>600,8875=>600,8876=>600,8877=>600,8878=>600,8879=>600,8880=>600,8881=>600,8882=>600,8883=>600,8884=>600,8885=>600,8886=>600,8887=>600,8888=>600,8889=>600,8890=>600,8891=>600,8892=>600,8893=>600,8894=>600,8895=>600,8896=>600,8897=>600,8898=>600,8899=>600,8900=>600,8901=>600,8902=>600,8903=>600,8904=>600,8905=>600,8906=>600,8907=>600,8908=>600,8909=>600,8910=>600,8911=>600,8912=>600,8913=>600,8914=>600,8915=>600,8916=>600,8917=>600,8918=>600,8919=>600,8920=>600,8921=>600,8922=>600,8923=>600,8924=>600,8925=>600,8926=>600,8927=>600,8928=>600,8929=>600,8930=>600,8931=>600,8932=>600,8933=>600,8934=>600,8935=>600,8936=>600,8937=>600,8938=>600,8939=>600,8940=>600,8941=>600,8942=>600,8943=>600,8944=>600,8945=>600,8960=>600,8962=>600,8963=>600,8964=>600,8965=>600,8966=>600,8968=>600,8969=>600,8970=>600,8971=>600,8972=>600,8973=>600,8974=>600,8975=>600,8976=>600,8978=>600,8980=>600,8981=>600,8984=>600,8985=>600,8988=>600,8989=>600,8990=>600,8991=>600,8992=>600,8993=>600,8994=>600,8995=>600,8996=>600,8997=>600,8998=>600,8999=>600,9001=>600,9002=>600,9003=>600,9004=>600,9014=>600,9015=>600,9016=>600,9017=>600,9018=>600,9019=>600,9020=>600,9021=>600,9022=>600,9023=>600,9024=>600,9025=>600,9026=>600,9027=>600,9028=>600,9029=>600,9030=>600,9031=>600,9032=>600,9033=>600,9034=>600,9035=>600,9036=>600,9037=>600,9038=>600,9039=>600,9040=>600,9041=>600,9042=>600,9043=>600,9044=>600,9045=>600,9046=>600,9047=>600,9048=>600,9049=>600,9050=>600,9051=>600,9052=>600,9053=>600,9054=>600,9055=>600,9056=>600,9057=>600,9058=>600,9059=>600,9060=>600,9061=>600,9062=>600,9063=>600,9064=>600,9065=>600,9066=>600,9067=>600,9068=>600,9069=>600,9070=>600,9071=>600,9072=>600,9073=>600,9074=>600,9075=>600,9076=>600,9077=>600,9078=>600,9079=>600,9080=>600,9081=>600,9082=>600,9084=>600,9085=>600,9086=>600,9087=>600,9088=>600,9089=>600,9090=>600,9091=>600,9092=>600,9093=>600,9094=>600,9095=>600,9096=>600,9097=>600,9098=>600,9099=>600,9100=>600,9101=>600,9102=>600,9103=>600,9104=>600,9105=>600,9106=>600,9107=>600,9108=>600,9109=>600,9110=>600,9111=>600,9112=>600,9113=>600,9114=>600,9115=>600,9116=>600,9117=>600,9118=>600,9119=>600,9120=>600,9121=>600,9122=>600,9123=>600,9124=>600,9125=>600,9126=>600,9127=>600,9128=>600,9129=>600,9130=>600,9131=>600,9132=>600,9133=>600,9134=>600,9135=>600,9136=>600,9137=>600,9138=>600,9139=>600,9140=>600,9141=>600,9142=>600,9143=>600,9146=>600,9147=>600,9148=>600,9149=>600,9150=>600,9151=>600,9152=>600,9153=>600,9154=>600,9155=>600,9156=>600,9157=>600,9158=>600,9159=>600,9160=>600,9161=>600,9162=>600,9163=>600,9164=>600,9165=>600,9166=>600,9167=>600,9178=>600,9179=>600,9182=>600,9183=>600,9186=>600,9187=>600,9188=>600,9189=>600,9190=>600,9216=>600,9217=>600,9218=>600,9219=>600,9220=>600,9221=>600,9222=>600,9223=>600,9224=>600,9225=>600,9226=>600,9227=>600,9228=>600,9229=>600,9230=>600,9231=>600,9232=>600,9233=>600,9234=>600,9235=>600,9236=>600,9237=>600,9238=>600,9239=>600,9240=>600,9241=>600,9242=>600,9243=>600,9244=>600,9245=>600,9246=>600,9247=>600,9248=>600,9249=>600,9250=>600,9251=>600,9252=>600,9253=>600,9254=>600,9280=>600,9281=>600,9282=>600,9283=>600,9284=>600,9285=>600,9286=>600,9287=>600,9288=>600,9289=>600,9290=>600,9312=>600,9313=>600,9314=>600,9315=>600,9316=>600,9317=>600,9318=>600,9319=>600,9320=>600,9321=>600,9472=>600,9473=>600,9474=>600,9475=>600,9476=>600,9477=>600,9478=>600,9479=>600,9480=>600,9481=>600,9482=>600,9483=>600,9484=>600,9485=>600,9486=>600,9487=>600,9488=>600,9489=>600,9490=>600,9491=>600,9492=>600,9493=>600,9494=>600,9495=>600,9496=>600,9497=>600,9498=>600,9499=>600,9500=>600,9501=>600,9502=>600,9503=>600,9504=>600,9505=>600,9506=>600,9507=>600,9508=>600,9509=>600,9510=>600,9511=>600,9512=>600,9513=>600,9514=>600,9515=>600,9516=>600,9517=>600,9518=>600,9519=>600,9520=>600,9521=>600,9522=>600,9523=>600,9524=>600,9525=>600,9526=>600,9527=>600,9528=>600,9529=>600,9530=>600,9531=>600,9532=>600,9533=>600,9534=>600,9535=>600,9536=>600,9537=>600,9538=>600,9539=>600,9540=>600,9541=>600,9542=>600,9543=>600,9544=>600,9545=>600,9546=>600,9547=>600,9548=>600,9549=>600,9550=>600,9551=>600,9552=>600,9553=>600,9554=>600,9555=>600,9556=>600,9557=>600,9558=>600,9559=>600,9560=>600,9561=>600,9562=>600,9563=>600,9564=>600,9565=>600,9566=>600,9567=>600,9568=>600,9569=>600,9570=>600,9571=>600,9572=>600,9573=>600,9574=>600,9575=>600,9576=>600,9577=>600,9578=>600,9579=>600,9580=>600,9581=>600,9582=>600,9583=>600,9584=>600,9585=>600,9586=>600,9587=>600,9588=>600,9589=>600,9590=>600,9591=>600,9592=>600,9593=>600,9594=>600,9595=>600,9596=>600,9597=>600,9598=>600,9599=>600,9600=>600,9601=>600,9602=>600,9603=>600,9604=>600,9605=>600,9606=>600,9607=>600,9608=>600,9609=>600,9610=>600,9611=>600,9612=>600,9613=>600,9614=>600,9615=>600,9616=>600,9617=>600,9618=>600,9619=>600,9620=>600,9621=>600,9622=>600,9623=>600,9624=>600,9625=>600,9626=>600,9627=>600,9628=>600,9629=>600,9630=>600,9631=>600,9632=>600,9633=>600,9634=>600,9635=>600,9636=>600,9637=>600,9638=>600,9639=>600,9640=>600,9641=>600,9642=>600,9643=>600,9644=>600,9645=>600,9646=>600,9647=>600,9648=>600,9649=>600,9650=>600,9651=>600,9652=>600,9653=>600,9654=>600,9655=>600,9656=>600,9657=>600,9658=>600,9659=>600,9660=>600,9661=>600,9662=>600,9663=>600,9664=>600,9665=>600,9666=>600,9667=>600,9668=>600,9669=>600,9670=>600,9671=>600,9672=>600,9673=>600,9674=>600,9675=>600,9676=>600,9677=>600,9678=>600,9679=>600,9680=>600,9681=>600,9682=>600,9683=>600,9684=>600,9685=>600,9686=>600,9687=>600,9688=>600,9689=>600,9690=>600,9691=>600,9692=>600,9693=>600,9694=>600,9695=>600,9696=>600,9697=>600,9698=>600,9699=>600,9700=>600,9701=>600,9702=>600,9703=>600,9704=>600,9705=>600,9706=>600,9707=>600,9708=>600,9709=>600,9710=>600,9711=>600,9712=>600,9713=>600,9714=>600,9715=>600,9716=>600,9717=>600,9718=>600,9719=>600,9720=>600,9721=>600,9722=>600,9723=>600,9724=>600,9725=>600,9726=>600,9727=>600,9728=>600,9729=>600,9730=>600,9731=>600,9732=>600,9733=>600,9734=>600,9735=>600,9736=>600,9737=>600,9744=>600,9745=>600,9746=>600,9747=>600,9748=>600,9754=>600,9755=>600,9756=>600,9757=>600,9758=>600,9759=>600,9766=>600,9767=>600,9768=>600,9769=>600,9774=>600,9775=>600,9776=>600,9777=>600,9778=>600,9779=>600,9780=>600,9781=>600,9782=>600,9783=>600,9784=>600,9785=>600,9786=>600,9787=>600,9788=>600,9789=>600,9790=>600,9791=>600,9792=>600,9793=>600,9794=>600,9795=>600,9796=>600,9797=>600,9798=>600,9799=>600,9800=>600,9801=>600,9802=>600,9803=>600,9804=>600,9805=>600,9806=>600,9807=>600,9808=>600,9809=>600,9810=>600,9811=>600,9824=>600,9825=>600,9826=>600,9827=>600,9828=>600,9829=>600,9830=>600,9831=>600,9833=>600,9834=>600,9835=>600,9836=>600,9837=>600,9838=>600,9839=>600,9856=>600,9857=>600,9858=>600,9859=>600,9860=>600,9861=>600,10176=>600,10177=>600,10178=>600,10179=>600,10180=>600,10181=>600,10182=>600,10183=>600,10184=>600,10185=>600,10186=>600,10188=>600,10192=>600,10193=>600,10194=>600,10195=>600,10196=>600,10197=>600,10198=>600,10199=>600,10212=>600,10213=>600,10214=>600,10215=>600,10216=>600,10217=>600,10218=>600,10219=>600,10226=>600,10227=>600,10229=>600,10230=>600,10231=>600,10232=>600,10233=>600,10234=>600,10235=>600,10236=>600,10240=>600,10241=>600,10242=>600,10243=>600,10244=>600,10245=>600,10246=>600,10247=>600,10248=>600,10249=>600,10250=>600,10251=>600,10252=>600,10253=>600,10254=>600,10255=>600,10256=>600,10257=>600,10258=>600,10259=>600,10260=>600,10261=>600,10262=>600,10263=>600,10264=>600,10265=>600,10266=>600,10267=>600,10268=>600,10269=>600,10270=>600,10271=>600,10272=>600,10273=>600,10274=>600,10275=>600,10276=>600,10277=>600,10278=>600,10279=>600,10280=>600,10281=>600,10282=>600,10283=>600,10284=>600,10285=>600,10286=>600,10287=>600,10288=>600,10289=>600,10290=>600,10291=>600,10292=>600,10293=>600,10294=>600,10295=>600,10296=>600,10297=>600,10298=>600,10299=>600,10300=>600,10301=>600,10302=>600,10303=>600,10304=>600,10305=>600,10306=>600,10307=>600,10308=>600,10309=>600,10310=>600,10311=>600,10312=>600,10313=>600,10314=>600,10315=>600,10316=>600,10317=>600,10318=>600,10319=>600,10320=>600,10321=>600,10322=>600,10323=>600,10324=>600,10325=>600,10326=>600,10327=>600,10328=>600,10329=>600,10330=>600,10331=>600,10332=>600,10333=>600,10334=>600,10335=>600,10336=>600,10337=>600,10338=>600,10339=>600,10340=>600,10341=>600,10342=>600,10343=>600,10344=>600,10345=>600,10346=>600,10347=>600,10348=>600,10349=>600,10350=>600,10351=>600,10352=>600,10353=>600,10354=>600,10355=>600,10356=>600,10357=>600,10358=>600,10359=>600,10360=>600,10361=>600,10362=>600,10363=>600,10364=>600,10365=>600,10366=>600,10367=>600,10368=>600,10369=>600,10370=>600,10371=>600,10372=>600,10373=>600,10374=>600,10375=>600,10376=>600,10377=>600,10378=>600,10379=>600,10380=>600,10381=>600,10382=>600,10383=>600,10384=>600,10385=>600,10386=>600,10387=>600,10388=>600,10389=>600,10390=>600,10391=>600,10392=>600,10393=>600,10394=>600,10395=>600,10396=>600,10397=>600,10398=>600,10399=>600,10400=>600,10401=>600,10402=>600,10403=>600,10404=>600,10405=>600,10406=>600,10407=>600,10408=>600,10409=>600,10410=>600,10411=>600,10412=>600,10413=>600,10414=>600,10415=>600,10416=>600,10417=>600,10418=>600,10419=>600,10420=>600,10421=>600,10422=>600,10423=>600,10424=>600,10425=>600,10426=>600,10427=>600,10428=>600,10429=>600,10430=>600,10431=>600,10432=>600,10433=>600,10434=>600,10435=>600,10436=>600,10437=>600,10438=>600,10439=>600,10440=>600,10441=>600,10442=>600,10443=>600,10444=>600,10445=>600,10446=>600,10447=>600,10448=>600,10449=>600,10450=>600,10451=>600,10452=>600,10453=>600,10454=>600,10455=>600,10456=>600,10457=>600,10458=>600,10459=>600,10460=>600,10461=>600,10462=>600,10463=>600,10464=>600,10465=>600,10466=>600,10467=>600,10468=>600,10469=>600,10470=>600,10471=>600,10472=>600,10473=>600,10474=>600,10475=>600,10476=>600,10477=>600,10478=>600,10479=>600,10480=>600,10481=>600,10482=>600,10483=>600,10484=>600,10485=>600,10486=>600,10487=>600,10488=>600,10489=>600,10490=>600,10491=>600,10492=>600,10493=>600,10494=>600,10495=>600,10752=>600,10753=>600,10754=>600,10755=>600,10756=>600,10757=>600,10758=>600,10781=>600,10815=>600,11008=>600,11009=>600,11010=>600,11011=>600,11012=>600,11013=>600,11014=>600,11015=>600,11016=>600,11017=>600,11018=>600,11019=>600,11020=>600,11021=>600,11026=>600,11027=>600,11028=>600,11029=>600,11030=>600,11031=>600,11032=>600,11033=>600,11035=>600,11036=>600,11037=>600,11038=>600,11039=>600,11040=>600,11041=>600,11042=>600,11043=>600,11044=>600,11045=>600,11046=>600,11047=>600,11048=>600,11049=>600,11050=>600,11051=>600,11091=>600,11092=>600,11798=>600,11799=>600,11800=>600,11802=>600,11803=>600,11806=>600,11807=>600,11816=>600,11817=>600,11818=>600,11819=>600,11820=>600,11821=>600,11822=>600,11824=>600,42888=>600,42889=>600,42890=>600,42891=>600,42892=>600,43264=>600,43265=>600,43266=>600,43267=>600,43268=>600,43269=>600,43270=>600,43271=>600,43272=>600,43273=>600,43274=>600,43275=>600,43276=>600,43277=>600,43278=>600,43279=>600,43280=>600,43281=>600,43282=>600,43283=>600,43284=>600,43285=>600,43286=>600,43287=>600,43288=>600,43289=>600,43290=>600,43291=>600,43292=>600,43293=>600,43294=>600,43295=>600,43296=>600,43297=>600,43298=>600,43299=>600,43300=>600,43301=>600,43302=>600,43303=>600,43304=>600,43305=>600,43306=>600,43307=>600,43308=>600,43309=>600,43310=>600,43311=>600,64256=>600,64257=>600,64258=>600,64259=>600,64260=>600,64261=>600,64285=>600,64286=>600,64287=>600,64288=>600,64289=>600,64290=>600,64291=>600,64292=>600,64293=>600,64294=>600,64295=>600,64296=>600,64297=>600,64298=>600,64299=>600,64300=>600,64301=>600,64302=>600,64303=>600,64304=>600,64305=>600,64306=>600,64307=>600,64308=>600,64309=>600,64310=>600,64312=>600,64313=>600,64314=>600,64315=>600,64316=>600,64318=>600,64320=>600,64321=>600,64323=>600,64324=>600,64326=>600,64327=>600,64328=>600,64329=>600,64330=>600,64331=>600,64332=>600,64333=>600,64334=>600,64335=>600,64336=>600,64337=>600,64338=>600,64339=>600,64340=>600,64341=>600,64342=>600,64343=>600,64344=>600,64345=>600,64346=>600,64347=>600,64348=>600,64349=>600,64350=>600,64351=>600,64352=>600,64353=>600,64354=>600,64355=>600,64356=>600,64357=>600,64358=>600,64359=>600,64360=>600,64361=>600,64362=>600,64363=>600,64364=>600,64365=>600,64366=>600,64367=>600,64368=>600,64369=>600,64370=>600,64371=>600,64372=>600,64373=>600,64374=>600,64375=>600,64376=>600,64377=>600,64378=>600,64379=>600,64380=>600,64381=>600,64382=>600,64383=>600,64384=>600,64385=>600,64386=>600,64387=>600,64388=>600,64389=>600,64390=>600,64391=>600,64392=>600,64393=>600,64394=>600,64395=>600,64396=>600,64397=>600,64398=>600,64399=>600,64400=>600,64401=>600,64402=>600,64403=>600,64404=>600,64405=>600,64406=>600,64407=>600,64408=>600,64409=>600,64410=>600,64411=>600,64412=>600,64413=>600,64414=>600,64415=>600,64416=>600,64417=>600,64418=>600,64419=>600,64420=>600,64421=>600,64422=>600,64423=>600,64424=>600,64425=>600,64426=>600,64427=>600,64428=>600,64429=>600,64430=>600,64431=>600,64432=>600,64433=>600,64434=>600,64435=>600,64436=>600,64437=>600,64438=>600,64439=>600,64440=>600,64441=>600,64442=>600,64443=>600,64444=>600,64445=>600,64446=>600,64448=>600,64449=>600,64467=>600,64468=>600,64469=>600,64470=>600,64471=>600,64472=>600,64473=>600,64474=>600,64475=>600,64476=>600,64477=>600,64478=>600,64479=>600,64480=>600,64481=>600,64482=>600,64483=>600,64484=>600,64485=>600,64486=>600,64487=>600,64488=>600,64489=>600,64508=>600,64509=>600,64510=>600,64511=>600,65136=>600,65137=>600,65138=>600,65139=>600,65140=>600,65142=>600,65143=>600,65144=>600,65145=>600,65146=>600,65147=>600,65148=>600,65149=>600,65150=>600,65151=>600,65152=>600,65153=>600,65154=>600,65155=>600,65156=>600,65157=>600,65158=>600,65159=>600,65160=>600,65161=>600,65162=>600,65163=>600,65164=>600,65165=>600,65166=>600,65167=>600,65168=>600,65169=>600,65170=>600,65171=>600,65172=>600,65173=>600,65174=>600,65175=>600,65176=>600,65177=>600,65178=>600,65179=>600,65180=>600,65181=>600,65182=>600,65183=>600,65184=>600,65185=>600,65186=>600,65187=>600,65188=>600,65189=>600,65190=>600,65191=>600,65192=>600,65193=>600,65194=>600,65195=>600,65196=>600,65197=>600,65198=>600,65199=>600,65200=>600,65201=>600,65202=>600,65203=>600,65204=>600,65205=>600,65206=>600,65207=>600,65208=>600,65209=>600,65210=>600,65211=>600,65212=>600,65213=>600,65214=>600,65215=>600,65216=>600,65217=>600,65218=>600,65219=>600,65220=>600,65221=>600,65222=>600,65223=>600,65224=>600,65225=>600,65226=>600,65227=>600,65228=>600,65229=>600,65230=>600,65231=>600,65232=>600,65233=>600,65234=>600,65235=>600,65236=>600,65237=>600,65238=>600,65239=>600,65240=>600,65241=>600,65242=>600,65243=>600,65244=>600,65245=>600,65246=>600,65247=>600,65248=>600,65249=>600,65250=>600,65251=>600,65252=>600,65253=>600,65254=>600,65255=>600,65256=>600,65257=>600,65258=>600,65259=>600,65260=>600,65261=>600,65262=>600,65263=>600,65264=>600,65265=>600,65266=>600,65267=>600,65268=>600,65269=>600,65270=>600,65271=>600,65272=>600,65273=>600,65274=>600,65275=>600,65276=>600,65279=>600,65529=>600,65530=>600,65531=>600,65532=>600,65533=>600,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freemono.z b/vendor/tecnickcom/tcpdf/fonts/freemono.z new file mode 100644 index 0000000..bb4fe17 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemono.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonob.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freemonob.ctg.z new file mode 100644 index 0000000..4333c3c Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemonob.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonob.php b/vendor/tecnickcom/tcpdf/fonts/freemonob.php new file mode 100644 index 0000000..b6fa43c --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freemonob.php @@ -0,0 +1,16 @@ +33,'FontBBox'=>'[-600 -200 736 800]','ItalicAngle'=>0,'Ascent'=>800,'Descent'=>-200,'Leading'=>0,'CapHeight'=>583,'XHeight'=>437,'StemV'=>123,'StemH'=>53,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cbbox=array(0=>array(20,-110,580,673),33=>array(220,-15,381,638),34=>array(136,312,464,602),35=>array(62,-92,538,675),36=>array(83,-123,517,684),37=>array(80,-15,521,617),38=>array(75,-14,508,550),39=>array(236,312,364,602),40=>array(264,-153,488,632),41=>array(117,-153,341,632),42=>array(83,208,517,622),43=>array(42,0,558,560),44=>array(147,-158,351,134),45=>array(42,229,558,329),46=>array(225,-15,375,117),47=>array(83,-113,517,695),48=>array(83,-15,517,638),49=>array(83,0,517,638),50=>array(54,0,508,638),51=>array(66,-15,529,638),52=>array(75,0,508,622),53=>array(66,-15,529,622),54=>array(105,-15,540,638),55=>array(75,-1,508,622),56=>array(83,-15,517,638),57=>array(106,-15,541,638),58=>array(225,-15,375,437),59=>array(147,-158,351,437),60=>array(42,54,544,501),61=>array(42,138,558,422),62=>array(56,53,558,500),63=>array(104,-15,517,598),64=>array(76,-152,509,620),65=>array(-21,0,621,583),66=>array(13,0,571,583),67=>array(33,-14,564,597),68=>array(13,0,550,583),69=>array(13,0,550,583),70=>array(13,0,550,583),71=>array(33,-14,592,597),72=>array(23,0,581,583),73=>array(83,0,517,583),74=>array(54,-14,613,583),75=>array(13,0,602,583),76=>array(33,0,571,583),77=>array(-19,0,623,583),78=>array(-8,0,592,583),79=>array(21,-14,579,597),80=>array(13,0,529,583),81=>array(21,-145,579,597),82=>array(3,0,609,583),83=>array(62,-14,538,597),84=>array(42,0,558,583),85=>array(10,-14,590,583),86=>array(-21,0,621,583),87=>array(-10,0,610,583),88=>array(10,0,590,583),89=>array(21,0,579,583),90=>array(73,0,527,583),91=>array(250,-148,475,623),92=>array(83,-113,517,695),93=>array(125,-148,350,623),94=>array(83,325,517,652),95=>array(0,-200,600,-100),96=>array(163,496,350,666),97=>array(42,-16,571,450),98=>array(-8,-14,571,623),99=>array(54,-16,565,450),100=>array(33,-14,613,623),101=>array(33,-16,550,450),102=>array(75,0,571,623),103=>array(33,-200,592,451),104=>array(13,0,581,623),105=>array(62,0,538,623),106=>array(87,-200,458,623),107=>array(33,0,571,623),108=>array(62,0,538,623),109=>array(-19,0,623,450),110=>array(23,0,571,450),111=>array(42,-16,558,450),112=>array(0,-200,579,450),113=>array(20,-200,600,450),114=>array(54,0,571,449),115=>array(73,-16,527,450),116=>array(13,-16,529,591),117=>array(13,-13,571,437),118=>array(0,0,600,437),119=>array(0,0,600,437),120=>array(21,0,579,437),121=>array(21,-200,579,437),122=>array(85,0,519,437),123=>array(132,-153,453,623),124=>array(250,-153,350,623),125=>array(147,-153,468,623),126=>array(62,179,538,385),160=>array(0,0,0,0),161=>array(220,-200,381,453),162=>array(83,-44,499,661),163=>array(33,0,550,598),164=>array(73,64,527,519),165=>array(21,0,579,580),166=>array(250,-153,350,622),167=>array(36,-170,564,583),168=>array(136,534,464,654),169=>array(-7,-15,606,598),170=>array(118,162,489,595),171=>array(33,20,571,415),172=>array(42,115,465,445),173=>array(42,229,558,329),174=>array(-7,-15,606,598),175=>array(125,546,475,626),176=>array(125,243,475,596),177=>array(42,0,558,624),178=>array(149,370,429,760),179=>array(157,370,442,769),180=>array(250,496,427,660),181=>array(13,-153,571,437),182=>array(49,-174,558,583),183=>array(240,172,360,292),184=>array(180,-199,407,1),185=>array(166,370,434,761),186=>array(122,162,480,595),187=>array(33,20,571,415),188=>array(-34,0,629,638),189=>array(-34,0,629,638),190=>array(-43,0,630,637),191=>array(83,-200,496,413),192=>array(-21,0,621,798),193=>array(-21,0,621,800),194=>array(-21,0,621,790),195=>array(-21,0,621,758),196=>array(-21,0,621,766),197=>array(-21,0,621,800),198=>array(-20,0,614,583),199=>array(33,-200,564,597),200=>array(13,0,550,800),201=>array(13,0,550,800),202=>array(13,-1,550,788),203=>array(13,0,550,765),204=>array(83,0,517,800),205=>array(83,0,517,800),206=>array(83,0,517,791),207=>array(83,0,517,764),208=>array(0,0,550,583),209=>array(-8,0,592,755),210=>array(21,-14,579,800),211=>array(21,-14,579,800),212=>array(21,-14,579,788),213=>array(21,-14,579,759),214=>array(21,-14,579,767),215=>array(100,80,500,480),216=>array(9,-70,590,638),217=>array(10,-14,590,800),218=>array(10,-14,590,800),219=>array(10,-14,590,792),220=>array(10,-14,590,764),221=>array(21,0,579,790),222=>array(14,0,523,583),223=>array(13,-16,529,623),224=>array(42,-16,571,666),225=>array(42,-16,571,660),226=>array(42,-16,571,660),227=>array(42,-16,571,621),228=>array(42,-16,571,626),229=>array(42,-16,571,657),230=>array(-13,-16,612,450),231=>array(54,-200,565,450),232=>array(33,-16,550,666),233=>array(33,-16,550,659),234=>array(33,-16,550,660),235=>array(33,-16,550,624),236=>array(62,0,538,666),237=>array(62,0,538,661),238=>array(62,0,538,660),239=>array(62,0,538,627),240=>array(42,-16,558,646),241=>array(23,0,571,635),242=>array(42,-16,558,666),243=>array(42,-16,558,660),244=>array(42,-16,558,660),245=>array(42,-16,558,637),246=>array(42,-16,558,624),247=>array(42,28,558,532),248=>array(23,-70,573,494),249=>array(13,-13,571,666),250=>array(13,-13,571,661),251=>array(13,-13,571,660),252=>array(13,-13,571,627),253=>array(21,-200,579,674),254=>array(-8,-200,571,624),255=>array(21,-200,579,625),256=>array(-21,0,621,737),257=>array(42,-16,571,604),258=>array(-21,0,621,800),259=>array(42,-16,571,664),260=>array(-21,-200,621,583),261=>array(42,-200,580,450),262=>array(33,-14,564,800),263=>array(54,-16,565,661),264=>array(33,-14,564,790),265=>array(54,-16,565,658),266=>array(33,-14,564,777),267=>array(54,-16,565,627),268=>array(33,-5,564,800),269=>array(54,-16,565,670),270=>array(13,0,550,800),271=>array(0,-14,697,623),272=>array(0,0,550,583),273=>array(13,-16,593,624),274=>array(13,0,550,737),275=>array(33,-16,550,604),276=>array(13,0,550,800),277=>array(33,-16,550,664),278=>array(13,0,550,747),279=>array(33,-16,550,627),280=>array(13,-200,587,583),281=>array(33,-200,550,450),282=>array(13,0,550,800),283=>array(33,-16,550,670),284=>array(33,-14,592,793),285=>array(33,-200,592,660),286=>array(33,-14,592,800),287=>array(33,-200,592,664),288=>array(33,-14,592,761),289=>array(33,-200,592,627),290=>array(33,-199,592,597),291=>array(33,-200,592,660),292=>array(23,0,581,789),293=>array(13,0,581,800),294=>array(23,0,581,583),295=>array(13,0,581,624),296=>array(83,0,517,749),297=>array(62,0,538,635),298=>array(83,0,517,737),299=>array(62,0,538,604),300=>array(83,0,517,800),301=>array(62,0,538,664),302=>array(83,-200,517,583),303=>array(62,-200,540,623),304=>array(83,0,517,777),305=>array(62,0,538,437),306=>array(-17,-14,633,583),307=>array(12,-200,568,623),308=>array(54,-14,613,790),309=>array(87,-200,465,660),310=>array(13,-197,602,583),311=>array(33,-199,571,623),312=>array(52,0,548,437),313=>array(33,0,571,800),314=>array(62,0,538,800),315=>array(33,-199,571,583),316=>array(62,-200,538,623),317=>array(33,0,573,600),318=>array(62,0,573,623),319=>array(33,0,571,583),320=>array(62,0,566,623),321=>array(12,0,571,583),322=>array(62,0,538,624),323=>array(-8,0,592,791),324=>array(23,0,571,674),325=>array(-8,-199,592,583),326=>array(23,-200,571,450),327=>array(-8,0,592,800),328=>array(23,0,571,670),329=>array(0,0,571,660),330=>array(23,-123,566,637),331=>array(23,-200,510,450),332=>array(21,-14,579,737),333=>array(42,-16,558,604),334=>array(21,-14,579,800),335=>array(42,-16,558,664),336=>array(21,-14,579,792),337=>array(42,-16,558,674),338=>array(-20,0,612,583),339=>array(-11,-16,613,450),340=>array(3,0,609,800),341=>array(54,0,571,674),342=>array(3,-199,609,583),343=>array(54,-191,571,449),344=>array(3,0,609,800),345=>array(54,0,571,670),346=>array(62,-14,538,800),347=>array(73,-16,527,660),348=>array(62,-14,538,790),349=>array(73,-16,527,660),350=>array(62,-200,538,597),351=>array(73,-200,527,450),352=>array(62,-14,538,800),353=>array(73,-16,527,670),354=>array(42,-200,558,583),355=>array(13,-200,529,591),356=>array(42,0,558,800),357=>array(13,-16,591,640),358=>array(42,0,558,583),359=>array(13,-16,529,591),360=>array(10,-14,590,727),361=>array(13,-13,571,637),362=>array(10,-14,590,737),363=>array(13,-13,571,604),364=>array(10,-14,590,800),365=>array(13,-13,571,663),366=>array(10,-14,590,800),367=>array(13,-13,571,676),368=>array(10,-14,590,789),369=>array(13,-13,571,664),370=>array(10,-200,590,583),371=>array(13,-200,571,437),372=>array(-10,0,610,793),373=>array(0,0,600,642),374=>array(21,0,579,788),375=>array(21,-200,579,645),376=>array(21,0,579,746),377=>array(73,0,527,800),378=>array(85,0,519,662),379=>array(73,0,527,766),380=>array(85,0,519,627),381=>array(73,0,527,800),382=>array(85,0,519,670),383=>array(75,0,571,623),384=>array(-8,-14,571,624),385=>array(-46,0,591,583),386=>array(21,0,579,583),387=>array(-8,-14,571,624),388=>array(21,0,574,615),389=>array(1,-16,570,615),390=>array(33,-14,564,597),391=>array(33,-14,663,679),392=>array(54,-16,654,546),393=>array(0,0,550,583),394=>array(-88,0,550,583),395=>array(21,0,579,583),396=>array(33,-14,613,624),397=>array(42,-200,558,454),398=>array(33,0,570,583),399=>array(25,-17,559,601),400=>array(62,-14,538,597),401=>array(-103,-123,550,583),402=>array(57,-123,548,638),403=>array(33,-14,664,676),404=>array(23,-22,571,588),405=>array(-27,-13,613,624),406=>array(105,-16,547,583),407=>array(83,0,517,583),408=>array(8,0,629,587),409=>array(33,0,571,638),410=>array(62,0,538,624),411=>array(21,0,579,624),412=>array(-19,-13,623,583),413=>array(-124,-123,592,583),414=>array(23,-200,571,450),415=>array(21,-14,579,597),416=>array(21,-14,600,664),417=>array(42,-16,603,520),418=>array(3,-15,651,628),419=>array(-33,-16,651,486),420=>array(-83,0,529,583),421=>array(-8,-200,571,638),422=>array(23,-200,574,583),423=>array(62,-14,538,597),424=>array(73,-16,527,450),425=>array(73,0,527,583),426=>array(56,-118,543,606),427=>array(13,-200,529,591),428=>array(-3,0,558,583),429=>array(13,-16,529,638),430=>array(42,-123,558,583),431=>array(0,-14,599,697),432=>array(0,-13,600,551),433=>array(53,-18,565,596),434=>array(18,-19,578,588),435=>array(-60,0,579,583),436=>array(21,-200,672,551),437=>array(73,0,527,583),438=>array(85,0,519,437),439=>array(44,-50,563,583),440=>array(44,-50,563,583),441=>array(70,-183,462,442),442=>array(63,-200,462,442),443=>array(54,0,524,598),444=>array(55,-22,524,588),445=>array(70,-26,445,442),446=>array(109,-22,512,588),447=>array(0,-200,562,463),448=>array(250,-153,350,623),449=>array(154,-153,446,622),450=>array(26,-149,574,629),451=>array(220,-15,381,638),452=>array(0,0,599,800),453=>array(0,0,596,680),454=>array(3,-16,600,719),455=>array(2,-14,598,583),456=>array(25,-200,568,623),457=>array(26,-200,552,624),458=>array(-25,-18,625,588),459=>array(7,-200,583,623),460=>array(3,-200,568,623),461=>array(-21,0,621,800),462=>array(42,-16,571,647),463=>array(83,0,517,800),464=>array(62,0,538,670),465=>array(21,-14,579,800),466=>array(42,-16,558,670),467=>array(10,-14,590,800),468=>array(13,-13,571,670),469=>array(10,-14,590,800),470=>array(13,-13,571,761),471=>array(10,-14,590,800),472=>array(13,-13,571,800),473=>array(10,-14,590,798),474=>array(13,-13,571,800),475=>array(10,-14,590,800),476=>array(13,-13,571,800),477=>array(33,-16,550,450),478=>array(-21,0,621,800),479=>array(42,-16,571,758),480=>array(-21,0,621,800),481=>array(42,-16,571,741),482=>array(-20,0,614,737),483=>array(-13,-16,612,600),484=>array(13,-14,595,597),485=>array(33,-200,592,451),486=>array(33,-14,592,800),487=>array(33,-200,592,670),488=>array(13,0,602,800),489=>array(33,0,571,791),490=>array(21,-200,579,597),491=>array(42,-200,558,450),492=>array(21,-200,579,737),493=>array(42,-200,558,600),494=>array(44,-50,563,800),495=>array(90,-183,482,670),496=>array(87,-200,473,670),497=>array(0,0,588,587),498=>array(0,0,596,588),499=>array(3,-16,581,629),500=>array(33,-14,592,800),501=>array(33,-200,592,655),502=>array(23,0,568,583),503=>array(7,-200,573,597),504=>array(-8,0,592,800),505=>array(23,0,571,660),506=>array(-21,0,621,800),507=>array(42,-15,571,799),508=>array(-20,0,614,800),509=>array(-13,-16,612,654),510=>array(9,-70,590,800),511=>array(23,-70,573,668),512=>array(-21,0,621,797),513=>array(42,-16,571,680),514=>array(-21,0,621,788),515=>array(42,-16,571,656),516=>array(13,0,550,798),517=>array(33,-16,550,684),518=>array(13,0,550,788),519=>array(33,-16,550,658),520=>array(68,0,517,800),521=>array(62,0,538,684),522=>array(83,0,517,787),523=>array(62,0,538,663),524=>array(21,-14,579,795),525=>array(42,-16,558,684),526=>array(21,-14,579,783),527=>array(42,-16,558,653),528=>array(3,0,609,800),529=>array(54,0,571,684),530=>array(3,0,609,786),531=>array(54,0,571,659),532=>array(10,-14,590,800),533=>array(13,-13,571,684),534=>array(10,-14,590,788),535=>array(13,-13,571,665),536=>array(62,-199,538,597),537=>array(73,-199,527,450),538=>array(42,-199,558,583),539=>array(13,-199,529,591),540=>array(87,-45,535,601),541=>array(99,-141,519,456),542=>array(23,0,581,800),543=>array(13,0,581,759),544=>array(13,-200,594,637),548=>array(73,-200,527,583),549=>array(85,-200,519,437),550=>array(-21,0,621,757),551=>array(42,-16,571,627),552=>array(13,-200,550,583),553=>array(33,-200,550,450),554=>array(21,-12,579,800),555=>array(42,-16,558,757),556=>array(21,-12,579,799),557=>array(42,-16,558,772),558=>array(21,-14,579,757),559=>array(42,-16,558,627),560=>array(21,-12,579,800),561=>array(42,-16,558,750),562=>array(21,0,579,737),563=>array(21,-200,579,600),567=>array(87,-200,458,437),592=>array(42,-13,571,453),593=>array(33,-14,613,467),594=>array(33,-18,613,463),595=>array(-8,-14,571,638),596=>array(54,-16,565,450),598=>array(33,-200,728,624),599=>array(33,-14,725,638),600=>array(33,-16,550,450),601=>array(33,-16,550,450),603=>array(73,-16,527,450),604=>array(73,-16,527,450),607=>array(117,-200,564,437),608=>array(33,-200,704,638),609=>array(33,-200,510,462),613=>array(13,-188,581,435),614=>array(23,0,581,638),615=>array(23,-200,509,638),616=>array(62,0,538,623),617=>array(105,-16,547,437),618=>array(110,0,490,437),619=>array(62,0,538,624),621=>array(105,-200,547,624),623=>array(-19,-13,623,437),624=>array(-19,-200,623,437),625=>array(-19,-200,563,450),626=>array(-102,-200,571,450),627=>array(23,-200,707,450),628=>array(63,0,543,437),629=>array(42,-16,558,450),633=>array(54,-12,571,437),634=>array(54,-12,571,637),635=>array(54,-200,644,437),636=>array(54,-200,571,449),637=>array(77,-200,571,449),638=>array(54,0,484,450),639=>array(54,-200,484,450),640=>array(75,0,519,437),641=>array(75,0,519,437),642=>array(73,-200,527,450),643=>array(57,-123,548,638),644=>array(27,-200,592,638),645=>array(57,-123,548,638),647=>array(13,-16,529,591),648=>array(13,-200,529,591),649=>array(13,-13,571,437),652=>array(0,0,600,437),653=>array(0,0,600,437),654=>array(21,0,579,637),656=>array(85,-200,716,437),657=>array(90,-99,539,441),658=>array(70,-183,462,442),659=>array(87,-200,462,442),660=>array(104,0,517,598),661=>array(104,0,517,598),662=>array(104,-15,517,583),663=>array(33,-200,564,597),664=>array(21,-14,579,597),665=>array(48,1,536,442),666=>array(78,-21,534,456),667=>array(9,-21,596,517),668=>array(58,0,542,437),669=>array(119,-186,571,649),670=>array(33,-186,571,437),671=>array(66,0,539,437),672=>array(33,-200,725,638),673=>array(104,0,517,598),674=>array(104,0,517,598),688=>array(98,361,478,800),689=>array(114,360,490,800),690=>array(176,224,429,800),691=>array(119,359,468,688),692=>array(62,354,410,683),693=>array(94,231,488,683),694=>array(77,360,483,777),695=>array(98,365,500,687),696=>array(113,243,488,686),697=>array(204,440,395,664),698=>array(119,440,460,664),699=>array(203,496,390,666),700=>array(210,496,387,660),701=>array(204,440,395,664),702=>array(280,486,373,667),703=>array(227,486,320,667),704=>array(167,358,447,766),705=>array(167,358,447,766),706=>array(166,570,443,800),707=>array(162,570,439,800),708=>array(173,570,427,800),709=>array(173,570,427,800),710=>array(125,497,476,661),711=>array(125,490,476,654),712=>array(255,465,345,660),713=>array(125,546,475,626),714=>array(240,496,417,660),715=>array(163,496,350,666),716=>array(255,-200,345,-5),717=>array(125,-114,475,-34),718=>array(225,-194,412,-24),719=>array(187,-192,364,-28),720=>array(209,0,391,437),721=>array(209,246,391,437),722=>array(280,198,373,379),723=>array(227,198,320,379),724=>array(209,537,385,680),725=>array(215,525,391,668),726=>array(202,508,398,704),727=>array(202,521,398,591),728=>array(125,503,475,656),729=>array(240,534,360,654),730=>array(207,496,393,677),731=>array(250,-200,463,0),732=>array(115,531,485,648),733=>array(125,496,475,660),734=>array(142,237,449,439),735=>array(218,514,382,677),736=>array(112,236,488,688),737=>array(141,360,462,800),738=>array(146,358,453,699),739=>array(112,361,487,683),740=>array(167,359,447,785),741=>array(25,-25,483,800),742=>array(25,-37,483,800),743=>array(25,-37,483,800),744=>array(25,-37,483,800),745=>array(25,-25,483,800),746=>array(75,-25,533,715),747=>array(65,-35,523,404),748=>array(125,-199,476,-35),749=>array(30,503,570,734),750=>array(108,341,468,633),751=>array(173,-200,427,30),752=>array(173,-200,427,30),753=>array(166,-200,443,30),754=>array(157,-176,434,54),755=>array(207,-186,393,-5),756=>array(225,222,412,392),757=>array(157,222,480,392),758=>array(187,205,364,369),759=>array(115,-184,485,-67),760=>array(225,309,375,761),761=>array(208,518,391,701),762=>array(208,518,391,701),763=>array(208,-65,391,118),764=>array(255,-67,438,116),765=>array(95,-200,505,-22),766=>array(95,-200,463,-22),767=>array(13,-200,579,29),768=>array(-437,496,-250,666),769=>array(-350,496,-173,660),770=>array(-465,481,-114,645),771=>array(-485,531,-115,648),772=>array(-475,546,-125,626),773=>array(-545,546,-55,626),774=>array(-475,503,-125,656),775=>array(-360,534,-240,654),776=>array(-464,534,-136,654),777=>array(-396,486,-208,682),778=>array(-393,496,-207,677),779=>array(-475,496,-125,660),780=>array(-475,490,-124,654),781=>array(-340,514,-260,708),782=>array(-420,514,-167,708),783=>array(-474,500,-125,670),784=>array(-475,503,-125,718),785=>array(-477,469,-127,622),786=>array(-376,477,-189,647),787=>array(-366,482,-189,646),788=>array(-422,457,-231,681),789=>array(-372,479,-195,643),790=>array(-433,-193,-246,-23),791=>array(-400,-194,-223,-30),792=>array(-365,-200,-222,-24),793=>array(-346,-200,-203,-24),794=>array(-97,510,86,693),795=>array(-162,483,0,698),796=>array(-367,-179,-274,2),797=>array(-380,-186,-204,-43),798=>array(-377,-198,-201,-55),799=>array(-409,-200,-213,-4),800=>array(-412,-136,-216,-66),801=>array(-547,-200,-250,0),802=>array(-350,-200,-53,0),803=>array(-360,-164,-240,-44),804=>array(-459,-160,-131,-40),805=>array(-385,-200,-199,-19),806=>array(-357,-191,-210,-21),807=>array(-420,-199,-193,1),808=>array(-350,-200,-137,0),809=>array(-343,-200,-263,-6),810=>array(-439,-175,-150,-22),811=>array(-477,-173,-124,-43),812=>array(-468,-191,-117,-27),813=>array(-471,-193,-120,-29),814=>array(-461,-183,-111,-30),815=>array(-474,-200,-124,-47),816=>array(-482,-172,-112,-55),817=>array(-475,-139,-125,-59),818=>array(-600,-200,0,-100),819=>array(-600,-200,0,-19),820=>array(-472,201,-102,318),821=>array(-473,289,-123,369),822=>array(-570,205,-54,305),823=>array(-472,222,-114,456),824=>array(-584,180,-1,534),825=>array(-286,-200,-193,-19),826=>array(-439,-200,-150,-47),827=>array(-388,-200,-210,-23),828=>array(-469,-178,-112,-33),829=>array(-376,501,-212,664),830=>array(-366,485,-269,722),831=>array(-600,619,0,800),832=>array(-399,496,-212,666),833=>array(-344,496,-167,660),834=>array(-455,528,-85,645),835=>array(-360,482,-183,646),836=>array(-478,522,-132,759),837=>array(-334,-200,-37,0),838=>array(-439,533,-150,686),839=>array(-475,-199,-125,-12),840=>array(-416,-200,-178,-6),841=>array(-398,-200,-215,-17),842=>array(-477,502,-107,666),843=>array(-477,463,-107,780),844=>array(-463,491,-93,749),845=>array(-454,-200,-164,-39),846=>array(-378,-194,-236,-24),848=>array(-438,459,-161,689),849=>array(-349,481,-256,662),850=>array(-472,527,-122,774),851=>array(-377,-175,-213,-12),852=>array(-435,-200,-158,30),853=>array(-451,-200,-174,30),854=>array(-555,-200,-48,30),855=>array(-328,485,-235,666),856=>array(-120,534,0,654),857=>array(-409,-200,-191,8),858=>array(-448,-200,-150,-11),859=>array(-390,477,-196,684),860=>array(-392,-200,393,24),861=>array(-392,455,393,679),862=>array(-300,482,300,582),863=>array(-300,-195,300,-95),864=>array(-370,-166,370,-49),865=>array(-393,446,392,670),866=>array(-286,-200,300,-13),867=>array(-398,468,-169,669),868=>array(-418,468,-195,669),869=>array(-400,476,-194,745),870=>array(-410,468,-187,669),871=>array(-427,468,-186,663),872=>array(-407,466,-186,667),873=>array(-420,467,-169,742),874=>array(-417,476,-171,745),875=>array(-440,478,-163,672),876=>array(-402,478,-179,672),877=>array(-391,467,-168,729),878=>array(-424,474,-165,663),879=>array(-415,476,-174,665),884=>array(204,440,395,664),885=>array(147,-149,351,143),890=>array(231,-200,528,0),894=>array(147,-158,351,437),900=>array(191,463,382,696),901=>array(119,522,465,759),902=>array(-79,0,650,675),903=>array(225,304,375,437),904=>array(-95,0,619,675),905=>array(-109,0,600,674),906=>array(-31,0,584,672),908=>array(-34,-14,595,675),910=>array(-106,0,625,671),911=>array(-16,0,609,671),912=>array(105,-16,547,735),913=>array(-21,0,621,583),914=>array(13,0,571,583),915=>array(32,0,568,583),916=>array(11,0,589,583),917=>array(13,0,550,583),918=>array(73,0,527,583),919=>array(23,0,581,583),920=>array(21,-14,579,597),921=>array(83,0,517,583),922=>array(13,0,602,583),923=>array(-21,0,621,583),924=>array(-19,0,623,583),925=>array(-8,0,592,583),926=>array(35,0,565,583),927=>array(21,-14,579,597),928=>array(23,0,581,583),929=>array(13,0,529,583),931=>array(73,0,527,583),932=>array(42,0,558,583),933=>array(21,0,579,583),934=>array(4,0,596,583),935=>array(10,0,590,583),936=>array(-16,0,616,583),937=>array(29,0,571,583),938=>array(83,0,517,757),939=>array(21,0,579,757),940=>array(33,-14,613,764),941=>array(73,-16,527,747),942=>array(23,-200,571,747),943=>array(105,-16,547,747),944=>array(10,-16,587,735),945=>array(33,-14,613,467),946=>array(13,-200,529,623),947=>array(23,-200,581,437),948=>array(42,-16,558,638),949=>array(73,-16,527,450),950=>array(92,-200,517,624),951=>array(23,-200,571,450),952=>array(83,-15,517,623),953=>array(105,-16,547,437),954=>array(52,0,548,437),955=>array(21,0,579,624),956=>array(13,-200,571,437),957=>array(34,0,552,437),958=>array(117,-200,522,637),959=>array(42,-16,558,450),960=>array(46,0,553,437),961=>array(-24,-200,558,450),962=>array(113,-36,510,463),963=>array(42,-16,602,450),964=>array(70,-16,531,437),965=>array(10,-16,587,437),966=>array(-6,-200,578,450),967=>array(4,-200,586,437),968=>array(-22,-200,622,638),969=>array(19,-40,577,453),970=>array(97,-16,547,630),971=>array(10,-16,587,630),972=>array(42,-16,558,747),973=>array(10,-16,587,747),974=>array(19,-40,577,750),976=>array(82,-34,522,625),977=>array(71,-44,529,649),978=>array(23,-25,577,588),979=>array(-73,-25,604,588),980=>array(23,-25,577,720),981=>array(-4,-200,604,639),982=>array(19,-40,577,453),986=>array(55,-171,621,587),987=>array(64,-172,563,464),988=>array(18,-25,545,588),989=>array(45,-200,577,451),1008=>array(14,-26,586,442),1009=>array(42,-200,558,450),1012=>array(21,-14,579,597),1013=>array(150,-42,450,457),1024=>array(13,0,550,793),1025=>array(13,0,550,764),1026=>array(20,-187,582,582),1027=>array(32,0,568,793),1028=>array(34,-14,566,597),1029=>array(62,-14,538,597),1030=>array(83,0,517,583),1031=>array(83,0,517,764),1032=>array(27,-14,586,583),1033=>array(-46,0,640,583),1034=>array(-46,0,636,584),1035=>array(-8,0,606,583),1036=>array(6,0,594,791),1037=>array(21,0,579,793),1038=>array(20,0,580,770),1039=>array(21,-99,579,583),1040=>array(-21,0,621,583),1041=>array(21,0,579,583),1042=>array(13,0,571,583),1043=>array(32,0,568,583),1044=>array(5,-141,599,583),1045=>array(13,0,550,583),1046=>array(-24,0,623,583),1047=>array(62,-14,538,597),1048=>array(21,0,579,583),1049=>array(21,0,579,771),1050=>array(6,0,594,583),1051=>array(13,0,587,583),1052=>array(-19,0,623,583),1053=>array(23,0,581,583),1054=>array(21,-14,579,597),1055=>array(21,0,579,583),1056=>array(13,0,529,583),1057=>array(33,-14,564,597),1058=>array(42,0,558,583),1059=>array(20,0,580,583),1060=>array(4,0,596,583),1061=>array(10,0,590,583),1062=>array(6,-141,594,583),1063=>array(38,0,562,583),1064=>array(-22,0,622,583),1065=>array(-28,-141,624,583),1066=>array(-7,0,607,583),1067=>array(-21,0,621,583),1068=>array(13,0,529,583),1069=>array(34,-14,566,597),1070=>array(-23,-14,600,597),1071=>array(-3,0,603,583),1072=>array(42,-16,571,450),1073=>array(52,-14,548,661),1074=>array(84,0,516,437),1075=>array(98,0,502,437),1076=>array(35,-92,565,437),1077=>array(33,-16,550,450),1078=>array(-21,0,620,437),1079=>array(73,-16,527,450),1080=>array(31,0,568,437),1081=>array(31,0,568,630),1082=>array(52,0,548,437),1083=>array(17,0,582,437),1084=>array(-16,0,620,437),1085=>array(51,0,548,437),1086=>array(42,-16,558,450),1087=>array(46,0,553,437),1088=>array(0,-200,579,450),1089=>array(54,-16,565,450),1090=>array(62,1,538,438),1091=>array(21,-200,579,437),1092=>array(4,-200,596,648),1093=>array(21,0,579,437),1094=>array(31,-92,569,437),1095=>array(49,0,551,437),1096=>array(-11,0,612,437),1097=>array(-11,-92,612,437),1098=>array(21,0,579,437),1099=>array(-9,0,608,437),1100=>array(84,0,516,437),1101=>array(44,-16,556,450),1102=>array(-12,-16,612,450),1103=>array(52,0,548,437),1104=>array(33,-16,550,660),1105=>array(33,-16,550,624),1106=>array(13,-185,510,624),1107=>array(98,0,502,660),1108=>array(44,-16,556,450),1109=>array(73,-16,527,450),1110=>array(62,0,538,623),1111=>array(62,0,538,626),1112=>array(87,-200,458,623),1113=>array(-29,-1,654,436),1114=>array(-29,0,623,437),1115=>array(13,0,582,624),1116=>array(52,0,548,660),1117=>array(31,0,568,660),1118=>array(21,-200,579,630),1119=>array(32,-99,569,437),1136=>array(-16,0,616,583),1137=>array(-22,-200,622,638),1138=>array(21,-14,579,597),1156=>array(-465,469,-115,622),1157=>array(-385,457,-194,681),1158=>array(-376,482,-199,646),1162=>array(21,-141,578,771),1163=>array(31,-141,568,630),1164=>array(12,0,529,633),1165=>array(84,0,516,516),1166=>array(13,0,538,583),1167=>array(-7,-200,572,450),1168=>array(32,0,568,700),1169=>array(98,0,502,529),1170=>array(31,0,568,583),1171=>array(79,0,502,437),1172=>array(24,-145,560,583),1173=>array(98,-145,502,437),1174=>array(-24,-141,623,583),1175=>array(-21,-92,620,437),1176=>array(62,-199,538,597),1177=>array(73,-199,527,450),1178=>array(6,-141,594,583),1179=>array(52,-141,548,437),1180=>array(6,0,594,583),1181=>array(29,0,589,437),1182=>array(2,0,594,583),1183=>array(48,0,548,437),1184=>array(-27,0,645,583),1185=>array(11,0,589,437),1186=>array(23,-141,581,583),1187=>array(31,-141,568,437),1188=>array(-42,0,620,583),1189=>array(0,0,600,437),1190=>array(-45,-145,630,583),1191=>array(-53,-145,630,437),1192=>array(33,-132,551,597),1193=>array(54,-132,551,450),1194=>array(33,-199,564,597),1195=>array(54,-199,565,450),1196=>array(42,-141,558,583),1197=>array(62,-141,538,437),1198=>array(21,0,579,583),1199=>array(21,-146,579,437),1200=>array(21,0,579,583),1201=>array(21,-146,579,437),1202=>array(10,-141,590,583),1203=>array(21,-141,580,437),1204=>array(-29,-141,619,583),1205=>array(-29,-141,609,437),1206=>array(38,-141,562,583),1207=>array(49,-141,551,437),1208=>array(38,0,562,583),1209=>array(49,0,551,437),1210=>array(38,0,562,583),1211=>array(49,0,551,437),1212=>array(-25,-17,627,601),1213=>array(0,-16,600,450),1214=>array(-25,-200,627,601),1215=>array(0,-200,600,450),1216=>array(83,0,517,583),1217=>array(-24,0,623,769),1218=>array(-21,-3,620,659),1219=>array(6,-145,566,583),1220=>array(52,-145,542,437),1221=>array(13,-141,587,583),1222=>array(17,-141,582,437),1223=>array(23,-145,561,583),1224=>array(51,-145,548,437),1225=>array(23,-141,581,583),1226=>array(51,-141,548,437),1227=>array(38,-141,562,583),1228=>array(49,-141,551,437),1229=>array(-19,-141,623,584),1230=>array(-16,-141,620,437),1231=>array(83,0,517,583),1232=>array(-21,0,621,770),1233=>array(42,-16,571,659),1234=>array(-21,0,621,743),1235=>array(42,-16,571,624),1236=>array(-20,0,614,583),1237=>array(-13,-16,612,450),1238=>array(13,0,550,770),1239=>array(33,-16,550,669),1240=>array(25,-17,559,601),1241=>array(33,-16,550,450),1242=>array(25,-17,559,764),1243=>array(33,-16,550,626),1244=>array(-24,0,623,764),1245=>array(-21,-3,620,623),1246=>array(62,-14,538,743),1247=>array(73,-16,527,627),1248=>array(44,-50,563,583),1249=>array(70,-183,462,442),1250=>array(21,0,579,722),1251=>array(31,0,568,586),1252=>array(21,0,579,764),1253=>array(31,0,568,623),1254=>array(21,-14,579,763),1255=>array(42,-16,558,625),1256=>array(21,-14,579,597),1257=>array(42,-16,558,450),1258=>array(21,-14,579,765),1259=>array(42,-16,558,625),1260=>array(34,-14,566,764),1261=>array(44,-16,556,628),1262=>array(20,0,580,722),1263=>array(21,-200,579,586),1264=>array(20,0,580,764),1265=>array(21,-200,579,623),1266=>array(20,0,580,780),1267=>array(21,-200,579,665),1268=>array(38,0,562,763),1269=>array(49,0,551,626),1270=>array(32,-141,568,583),1271=>array(98,-141,502,437),1272=>array(-21,0,621,763),1273=>array(-9,0,608,626),1296=>array(62,-14,538,597),1297=>array(73,-16,527,450),1298=>array(13,-145,567,583),1299=>array(17,-145,582,437),1306=>array(21,-145,579,597),1307=>array(20,-200,600,450),1308=>array(-10,0,610,583),1309=>array(0,0,600,437),1310=>array(6,0,594,583),1311=>array(52,0,548,437),1456=>array(271,-200,329,-38),1457=>array(153,-200,447,-52),1458=>array(153,-200,447,-42),1459=>array(152,-200,447,-39),1460=>array(260,-127,339,-46),1461=>array(212,-101,388,-42),1462=>array(212,-200,388,-42),1463=>array(206,-95,394,-42),1464=>array(212,-200,389,-40),1465=>array(256,528,335,609),1467=>array(153,-200,447,-42),1468=>array(260,200,339,281),1469=>array(280,-200,320,-24),1470=>array(60,380,540,480),1471=>array(206,540,394,593),1472=>array(250,-153,350,622),1473=>array(495,528,574,609),1474=>array(39,529,118,610),1475=>array(225,-15,375,437),1476=>array(227,528,306,609),1488=>array(60,0,540,480),1489=>array(60,0,540,480),1490=>array(123,0,477,480),1491=>array(60,0,540,480),1492=>array(60,0,540,480),1493=>array(150,0,378,480),1494=>array(123,0,477,480),1495=>array(60,0,540,480),1496=>array(44,0,524,480),1497=>array(144,190,366,480),1498=>array(60,-200,500,480),1499=>array(60,0,500,480),1500=>array(60,0,540,629),1501=>array(48,0,528,480),1502=>array(25,0,540,480),1503=>array(150,-200,378,480),1504=>array(123,0,445,480),1505=>array(60,0,540,480),1506=>array(60,0,547,480),1507=>array(60,-200,540,480),1508=>array(60,0,541,480),1509=>array(60,-200,540,480),1510=>array(48,0,528,480),1511=>array(50,-200,530,480),1512=>array(60,0,540,480),1513=>array(51,0,569,480),1514=>array(28,0,540,480),1520=>array(36,0,536,480),1521=>array(42,0,536,480),1522=>array(42,190,536,480),1523=>array(241,315,395,605),1524=>array(139,315,513,605),4304=>array(118,102,482,511),4305=>array(121,102,479,667),4306=>array(110,-147,490,428),4307=>array(76,-156,524,428),4308=>array(117,-147,484,428),4309=>array(116,-147,484,428),4310=>array(86,102,514,696),4311=>array(86,90,515,429),4312=>array(119,90,481,428),4313=>array(115,-147,485,440),4314=>array(76,-157,524,428),4315=>array(118,102,482,696),4316=>array(112,102,488,717),4317=>array(80,91,520,428),4318=>array(116,102,484,698),4319=>array(109,-147,490,463),4320=>array(80,90,521,696),4321=>array(121,102,479,696),4322=>array(76,-150,524,564),4323=>array(76,-147,524,439),4324=>array(75,-147,525,428),4325=>array(113,-144,487,737),4326=>array(76,-157,524,428),4327=>array(116,-147,484,440),4328=>array(86,102,514,696),4329=>array(121,93,479,696),4330=>array(76,-148,524,440),4331=>array(118,102,482,696),4332=>array(96,-200,501,696),4333=>array(93,-147,507,658),4334=>array(118,102,482,696),4335=>array(70,-147,530,428),4336=>array(121,102,479,698),4337=>array(58,102,542,707),4338=>array(131,95,469,450),4339=>array(110,-138,490,444),4340=>array(126,-138,474,597),4341=>array(96,102,502,696),4345=>array(110,-170,490,405),4347=>array(91,-2,502,592),4348=>array(183,199,465,661),7680=>array(-21,-200,621,583),7681=>array(42,-200,571,450),7682=>array(13,0,571,757),7683=>array(-8,-14,571,762),7684=>array(13,-160,571,583),7685=>array(-8,-174,571,623),7686=>array(13,-144,571,583),7687=>array(-8,-144,571,623),7688=>array(33,-200,564,800),7689=>array(54,-200,565,654),7690=>array(13,0,550,757),7691=>array(33,-14,613,767),7692=>array(13,-160,550,583),7693=>array(33,-174,613,623),7694=>array(13,-144,550,583),7695=>array(33,-144,613,623),7696=>array(13,-200,550,583),7697=>array(33,-200,613,624),7698=>array(13,-200,550,583),7699=>array(33,-200,613,623),7700=>array(13,0,550,800),7701=>array(33,-16,550,800),7702=>array(13,0,550,798),7703=>array(33,-16,550,800),7704=>array(13,-200,550,583),7705=>array(33,-199,550,450),7706=>array(13,-165,550,583),7707=>array(33,-181,550,450),7708=>array(13,-200,550,800),7709=>array(33,-200,550,643),7710=>array(13,0,550,757),7711=>array(75,0,571,775),7712=>array(33,-14,592,737),7713=>array(33,-200,592,604),7714=>array(23,0,581,757),7715=>array(13,0,581,763),7716=>array(23,-160,581,583),7717=>array(13,-160,581,623),7718=>array(23,0,581,757),7719=>array(13,0,581,784),7720=>array(23,-200,581,583),7721=>array(13,-200,581,624),7722=>array(23,-200,581,583),7723=>array(13,-200,581,623),7724=>array(83,-165,517,583),7725=>array(62,-165,538,623),7726=>array(83,0,517,799),7727=>array(62,0,538,772),7728=>array(13,0,602,794),7729=>array(33,0,571,800),7730=>array(13,-160,602,583),7731=>array(33,-160,571,623),7732=>array(13,-144,602,583),7733=>array(33,-150,571,623),7734=>array(33,-160,571,583),7735=>array(62,-160,538,623),7736=>array(33,-160,571,737),7737=>array(62,-160,538,744),7738=>array(33,-156,571,583),7739=>array(62,-158,538,623),7740=>array(33,-200,571,583),7741=>array(62,-200,538,623),7742=>array(-19,0,623,792),7743=>array(-19,0,623,654),7744=>array(-19,0,623,748),7745=>array(-19,0,623,627),7746=>array(-19,-160,623,583),7747=>array(-19,-160,623,450),7748=>array(-8,0,592,757),7749=>array(23,0,571,627),7750=>array(-8,-160,592,583),7751=>array(23,-160,571,450),7752=>array(-8,-156,592,583),7753=>array(23,-158,571,450),7754=>array(-8,-200,592,583),7755=>array(23,-198,571,450),7756=>array(21,-12,579,800),7757=>array(42,-16,558,800),7758=>array(21,-12,579,800),7759=>array(42,-16,558,787),7760=>array(21,-12,579,800),7761=>array(42,-16,558,800),7762=>array(21,-12,579,800),7763=>array(42,-16,558,800),7764=>array(13,0,529,800),7765=>array(0,-200,579,660),7766=>array(13,0,529,757),7767=>array(0,-200,579,627),7768=>array(3,0,609,757),7769=>array(54,0,571,627),7770=>array(3,-160,609,583),7771=>array(54,-160,571,449),7772=>array(3,-160,609,737),7773=>array(54,-160,571,604),7774=>array(3,-144,609,583),7775=>array(54,-144,571,449),7776=>array(62,-14,538,760),7777=>array(73,-16,527,627),7778=>array(62,-174,538,597),7779=>array(73,-176,527,450),7780=>array(62,-12,538,800),7781=>array(73,-16,527,796),7782=>array(62,-12,538,800),7783=>array(73,-16,527,785),7784=>array(62,-174,538,758),7785=>array(73,-176,527,627),7786=>array(42,0,558,757),7787=>array(13,-16,529,751),7788=>array(42,-160,558,583),7789=>array(13,-176,529,591),7790=>array(42,-152,558,583),7791=>array(13,-162,529,591),7792=>array(42,-200,558,583),7793=>array(13,-200,529,591),7794=>array(10,-174,590,583),7795=>array(13,-173,571,437),7796=>array(10,-179,590,583),7797=>array(13,-178,571,437),7798=>array(10,-200,590,585),7799=>array(13,-198,571,437),7800=>array(10,-14,590,800),7801=>array(13,-13,571,800),7802=>array(10,-14,590,800),7803=>array(13,-13,571,764),7804=>array(-21,0,621,762),7805=>array(0,0,600,635),7806=>array(-21,-160,621,583),7807=>array(0,-160,600,437),7808=>array(-10,0,610,800),7809=>array(0,0,600,660),7810=>array(-10,0,610,800),7811=>array(0,0,600,660),7812=>array(-10,0,610,757),7813=>array(0,0,600,610),7814=>array(-10,0,610,757),7815=>array(0,0,600,627),7816=>array(-10,-160,610,583),7817=>array(0,-160,600,437),7818=>array(10,0,590,757),7819=>array(21,0,579,627),7820=>array(10,0,590,757),7821=>array(21,0,579,610),7822=>array(21,0,579,757),7823=>array(21,-200,579,627),7824=>array(73,0,527,800),7825=>array(85,0,519,654),7826=>array(73,-160,527,583),7827=>array(85,-160,519,437),7828=>array(73,-160,527,583),7829=>array(85,-162,519,437),7830=>array(13,-160,581,623),7831=>array(0,-16,529,751),7832=>array(0,0,600,681),7833=>array(21,-200,579,681),7834=>array(42,-16,571,667),7835=>array(75,0,571,783),7840=>array(-21,-160,621,583),7841=>array(42,-176,571,450),7842=>array(-21,0,621,800),7843=>array(42,-16,571,705),7844=>array(-21,0,621,800),7845=>array(42,-16,599,765),7846=>array(-21,0,621,800),7847=>array(-11,-16,571,768),7848=>array(-21,0,621,800),7849=>array(42,-16,592,755),7850=>array(-21,0,621,792),7851=>array(42,-16,571,784),7852=>array(-21,-160,621,787),7853=>array(42,-176,571,660),7854=>array(-21,0,621,799),7855=>array(42,-16,571,792),7856=>array(-21,0,621,800),7857=>array(42,-16,571,800),7858=>array(-21,0,621,800),7859=>array(42,-16,571,799),7860=>array(-21,0,621,797),7861=>array(42,-16,571,796),7862=>array(-21,-160,621,800),7863=>array(42,-176,571,664),7864=>array(13,-160,550,583),7865=>array(33,-176,550,450),7866=>array(13,0,550,800),7867=>array(33,-16,550,705),7868=>array(13,0,550,762),7869=>array(33,-16,550,615),7870=>array(13,0,599,800),7871=>array(33,-16,590,757),7872=>array(0,0,559,800),7873=>array(0,-16,550,776),7874=>array(13,0,599,800),7875=>array(33,-16,598,756),7876=>array(13,0,550,798),7877=>array(33,-16,550,786),7878=>array(13,-160,550,789),7879=>array(33,-176,550,660),7880=>array(83,0,517,800),7881=>array(62,0,538,703),7882=>array(83,-160,517,583),7883=>array(62,-160,538,623),7884=>array(21,-174,579,597),7885=>array(42,-176,558,450),7886=>array(21,-14,579,800),7887=>array(42,-16,558,704),7888=>array(21,-14,599,800),7889=>array(42,-16,592,747),7890=>array(0,-14,579,800),7891=>array(1,-16,558,774),7892=>array(21,-14,599,800),7893=>array(42,-16,599,757),7894=>array(21,-12,579,792),7895=>array(42,-16,558,797),7896=>array(21,-174,579,776),7897=>array(42,-176,558,654),7898=>array(21,-14,600,800),7899=>array(42,-16,603,652),7900=>array(21,-14,600,800),7901=>array(42,-16,603,656),7902=>array(21,-14,600,800),7903=>array(42,-16,603,703),7904=>array(21,-14,600,780),7905=>array(42,-16,603,637),7906=>array(21,-174,600,664),7907=>array(42,-176,603,520),7908=>array(10,-174,590,583),7909=>array(13,-173,571,437),7910=>array(10,-14,590,800),7911=>array(13,-13,571,702),7912=>array(0,-14,599,800),7913=>array(0,-13,600,675),7914=>array(0,-14,599,800),7915=>array(0,-13,600,665),7916=>array(0,-14,599,800),7917=>array(0,-13,600,702),7918=>array(0,-14,599,777),7919=>array(0,-13,600,637),7920=>array(0,-174,599,697),7921=>array(0,-173,600,551),7922=>array(21,0,579,800),7923=>array(21,-200,579,660),7924=>array(21,-160,579,583),7925=>array(21,-200,579,437),7926=>array(21,0,579,800),7927=>array(21,-200,579,700),7928=>array(21,0,579,762),7929=>array(21,-200,579,637),8208=>array(42,229,558,329),8209=>array(42,229,558,329),8210=>array(42,229,558,329),8211=>array(42,229,558,329),8212=>array(0,229,600,329),8213=>array(0,229,600,329),8214=>array(163,-21,437,579),8215=>array(0,-200,600,-19),8216=>array(300,344,455,636),8217=>array(147,331,302,623),8218=>array(192,-171,347,121),8219=>array(300,331,455,623),8220=>array(152,344,512,636),8221=>array(89,341,449,633),8222=>array(91,-171,451,121),8223=>array(126,331,486,623),8224=>array(94,-92,506,622),8225=>array(94,-92,506,622),8226=>array(150,154,449,453),8227=>array(169,114,446,416),8228=>array(223,-15,373,117),8229=>array(114,-15,485,117),8230=>array(25,-15,575,117),8231=>array(240,172,360,292),8240=>array(0,0,600,618),8241=>array(2,-9,594,614),8242=>array(147,331,351,623),8243=>array(83,331,480,623),8244=>array(19,331,576,623),8245=>array(147,331,351,623),8246=>array(83,331,479,623),8247=>array(19,331,577,623),8248=>array(140,-180,460,4),8249=>array(33,20,342,415),8250=>array(263,20,571,415),8251=>array(31,11,561,551),8252=>array(95,-15,506,638),8253=>array(119,-30,502,592),8254=>array(0,633,600,733),8255=>array(80,-194,520,-23),8256=>array(80,434,520,604),8257=>array(162,-200,438,280),8258=>array(-137,-42,736,747),8259=>array(57,24,543,511),8260=>array(21,102,580,500),8261=>array(248,-153,433,623),8262=>array(167,-153,352,623),8263=>array(0,-40,610,602),8264=>array(4,-15,606,638),8265=>array(-5,-15,617,638),8266=>array(75,-20,508,437),8267=>array(49,-174,558,583),8268=>array(66,111,540,485),8269=>array(60,111,534,485),8270=>array(83,-20,517,394),8271=>array(139,-145,350,417),8272=>array(80,3,520,604),8273=>array(83,-41,517,772),8274=>array(81,-12,515,800),8275=>array(115,183,485,300),8276=>array(80,-194,520,-24),8277=>array(42,229,558,329),8278=>array(94,-10,505,584),8279=>array(-21,331,692,623),8280=>array(0,-10,600,675),8281=>array(0,-10,600,584),8282=>array(240,-10,360,789),8283=>array(0,-200,600,800),8284=>array(42,0,558,560),8285=>array(240,-10,360,789),8286=>array(240,-10,360,789),8304=>array(168,370,432,769),8305=>array(164,370,436,800),8308=>array(143,370,410,750),8309=>array(148,366,431,755),8310=>array(159,368,427,767),8311=>array(167,370,432,751),8312=>array(168,370,432,769),8313=>array(163,370,428,769),8314=>array(163,413,437,688),8315=>array(163,518,437,583),8316=>array(163,489,437,664),8317=>array(251,322,387,800),8318=>array(213,322,349,800),8319=>array(133,370,466,669),8320=>array(168,-172,432,227),8321=>array(166,-162,434,229),8322=>array(149,-152,429,238),8323=>array(157,-162,442,237),8324=>array(143,-162,410,218),8325=>array(148,-166,431,223),8326=>array(159,-164,427,235),8327=>array(167,-152,432,229),8328=>array(168,-162,432,237),8329=>array(163,-162,428,237),8330=>array(163,-118,437,157),8331=>array(163,-13,437,52),8332=>array(163,-88,437,87),8333=>array(251,-200,387,278),8334=>array(213,-200,349,278),8336=>array(130,-176,483,163),8337=>array(119,-175,464,164),8338=>array(128,-175,472,164),8339=>array(114,-176,486,143),8340=>array(119,-175,464,164),8355=>array(10,0,550,583),8356=>array(33,0,550,598),8357=>array(-19,-142,623,598),8358=>array(0,0,600,583),8361=>array(-10,0,610,583),8362=>array(22,0,578,480),8363=>array(-7,-17,573,764),8364=>array(17,-14,585,597),8365=>array(0,0,600,583),8366=>array(42,0,558,583),8369=>array(13,0,598,583),8370=>array(33,-123,592,684),8371=>array(-21,0,621,583),8372=>array(0,-14,598,597),8373=>array(68,-123,538,684),8376=>array(42,0,558,597),8377=>array(60,-1,549,584),8448=>array(-6,-9,618,800),8449=>array(-9,-13,615,800),8451=>array(3,-14,598,745),8453=>array(5,-13,598,800),8454=>array(3,-10,648,800),8455=>array(62,-14,538,597),8457=>array(3,0,600,745),8462=>array(33,0,593,624),8465=>array(61,-40,545,588),8466=>array(55,0,550,598),8467=>array(75,-48,564,644),8470=>array(-14,0,612,583),8472=>array(27,-175,567,479),8476=>array(15,-27,586,604),8480=>array(-40,207,620,592),8481=>array(0,0,598,563),8482=>array(-33,220,620,583),8486=>array(29,0,571,583),8487=>array(29,0,571,583),8489=>array(128,-13,570,440),8490=>array(13,0,602,583),8491=>array(-21,0,621,800),8494=>array(41,-16,558,450),8498=>array(38,0,575,583),8501=>array(60,0,540,480),8502=>array(60,0,540,480),8503=>array(123,0,477,480),8504=>array(60,0,540,480),8506=>array(-80,-19,663,540),8507=>array(-27,0,626,563),8513=>array(20,1,579,612),8514=>array(25,0,563,583),8515=>array(25,0,563,583),8516=>array(21,0,579,583),8523=>array(76,-17,509,547),8525=>array(-30,-11,613,798),8526=>array(97,0,501,438),8531=>array(0,-20,600,638),8532=>array(-50,-20,633,638),8533=>array(-34,-25,642,638),8534=>array(-50,-25,642,638),8535=>array(-43,-25,642,637),8536=>array(-33,-25,642,627),8537=>array(-34,-12,603,638),8538=>array(-36,-12,603,624),8539=>array(-34,-17,622,638),8540=>array(-43,-17,622,637),8541=>array(-36,-17,622,624),8542=>array(7,-17,622,627),8543=>array(-34,51,484,638),8592=>array(30,139,570,423),8593=>array(157,11,442,552),8594=>array(30,139,570,424),8595=>array(158,11,443,552),8596=>array(10,139,590,423),8597=>array(158,-9,443,572),8598=>array(108,80,502,472),8599=>array(109,80,501,473),8600=>array(108,80,502,472),8601=>array(109,80,501,473),8612=>array(30,139,570,423),8613=>array(158,11,442,551),8614=>array(30,139,570,423),8615=>array(158,11,442,551),8633=>array(30,-19,570,553),8636=>array(30,222,570,396),8637=>array(30,51,570,225),8638=>array(303,1,477,541),8639=>array(123,1,297,541),8640=>array(30,231,570,405),8641=>array(30,52,570,226),8642=>array(300,1,474,541),8643=>array(126,1,300,541),8644=>array(30,6,570,575),8645=>array(15,20,585,561),8646=>array(30,8,570,576),8647=>array(30,-1,570,583),8648=>array(7,21,592,562),8649=>array(30,-1,570,584),8650=>array(8,21,593,562),8651=>array(30,22,570,446),8652=>array(30,20,570,451),8656=>array(15,37,570,457),8657=>array(90,-40,510,684),8658=>array(15,37,570,457),8659=>array(90,-70,510,654),8660=>array(0,37,600,457),8661=>array(90,-150,510,684),8704=>array(-21,0,621,583),8705=>array(54,-100,565,700),8706=>array(102,-16,524,590),8707=>array(13,0,550,583),8708=>array(13,-113,550,695),8709=>array(33,-113,567,639),8710=>array(15,0,585,583),8711=>array(15,0,585,583),8712=>array(16,5,564,555),8713=>array(16,-113,564,695),8714=>array(101,3,499,437),8715=>array(16,5,564,555),8716=>array(16,-113,564,695),8717=>array(101,0,499,434),8718=>array(150,0,450,500),8719=>array(21,-100,717,670),8720=>array(-117,-100,579,670),8721=>array(45,-97,537,671),8722=>array(42,230,558,330),8723=>array(42,0,558,624),8724=>array(42,-42,558,690),8725=>array(83,-113,517,695),8726=>array(83,-113,517,695),8727=>array(83,77,517,491),8728=>array(154,136,448,429),8729=>array(150,154,449,453),8730=>array(12,-60,600,697),8731=>array(0,-60,600,800),8732=>array(0,-60,600,800),8733=>array(51,124,564,500),8734=>array(3,124,597,500),8735=>array(60,0,553,513),8739=>array(249,-27,350,582),8741=>array(150,-27,450,582),8743=>array(70,-22,517,480),8744=>array(77,-30,524,472),8745=>array(71,-11,527,465),8746=>array(73,-11,528,465),8747=>array(76,-78,524,744),8748=>array(-14,-78,634,744),8756=>array(49,-6,549,458),8757=>array(49,-10,549,454),8758=>array(240,-9,360,458),8759=>array(50,-9,549,458),8764=>array(72,182,528,378),8776=>array(72,108,528,481),8800=>array(42,22,558,525),8801=>array(42,46,558,514),8804=>array(3,0,549,591),8805=>array(35,0,582,591),8834=>array(32,68,569,457),8835=>array(32,68,569,457),8836=>array(32,-113,569,588),8837=>array(32,-113,569,588),8838=>array(32,-16,569,536),8839=>array(41,-16,578,549),8869=>array(16,0,585,622),8898=>array(42,-39,557,710),8899=>array(43,-39,557,710),8976=>array(42,115,465,445),9001=>array(168,-149,425,627),9002=>array(175,-149,432,627),9251=>array(92,0,508,203),9472=>array(0,250,600,350),9473=>array(0,200,600,400),9474=>array(250,-200,350,800),9475=>array(200,-200,400,800),9476=>array(0,250,600,350),9477=>array(0,200,600,400),9478=>array(250,-200,350,800),9479=>array(200,-200,400,800),9480=>array(0,250,600,350),9481=>array(0,200,600,400),9482=>array(250,-200,350,800),9483=>array(200,-200,400,800),9484=>array(250,-200,600,350),9485=>array(250,-200,600,400),9486=>array(200,-200,600,350),9487=>array(200,-200,600,400),9488=>array(0,-200,350,350),9489=>array(0,-200,350,400),9490=>array(0,-200,400,350),9491=>array(0,-200,400,400),9492=>array(250,250,600,800),9493=>array(250,200,600,800),9494=>array(200,250,600,800),9495=>array(200,200,600,800),9496=>array(0,250,350,800),9497=>array(0,200,350,800),9498=>array(0,250,400,800),9499=>array(0,200,400,800),9500=>array(250,-200,600,800),9501=>array(250,-200,600,800),9502=>array(200,-200,600,800),9503=>array(200,-200,600,800),9504=>array(200,-200,600,800),9505=>array(200,-200,600,800),9506=>array(200,-200,600,800),9507=>array(200,-200,600,800),9508=>array(0,-200,350,800),9509=>array(0,-200,350,800),9510=>array(0,-200,400,800),9511=>array(0,-200,400,800),9512=>array(0,-200,400,800),9513=>array(0,-200,400,800),9514=>array(0,-200,400,800),9515=>array(0,-200,400,800),9516=>array(0,-200,600,350),9517=>array(0,-200,600,400),9518=>array(0,-200,600,400),9519=>array(0,-200,600,400),9520=>array(0,-200,600,350),9521=>array(0,-200,600,400),9522=>array(0,-200,600,400),9523=>array(0,-200,600,400),9524=>array(0,250,600,800),9525=>array(0,200,600,800),9526=>array(0,200,600,800),9527=>array(0,200,600,800),9528=>array(0,250,600,800),9529=>array(0,200,600,800),9530=>array(0,200,600,800),9531=>array(0,200,600,800),9532=>array(0,-200,600,800),9533=>array(0,-200,600,800),9534=>array(0,-200,600,800),9535=>array(0,-200,600,800),9536=>array(0,-200,600,800),9537=>array(0,-200,600,800),9538=>array(0,-200,600,800),9539=>array(0,-200,600,800),9540=>array(0,-200,600,800),9541=>array(0,-200,600,800),9542=>array(0,-200,600,800),9543=>array(0,-200,600,800),9544=>array(0,-200,600,800),9545=>array(0,-200,600,800),9546=>array(0,-200,600,800),9547=>array(0,-200,600,800),9548=>array(0,250,600,350),9549=>array(0,200,600,400),9550=>array(230,-200,370,800),9551=>array(180,-200,420,800),9552=>array(0,150,600,450),9553=>array(150,-200,450,800),9554=>array(250,-200,600,450),9555=>array(150,-200,600,350),9556=>array(150,-200,600,450),9557=>array(0,-200,350,450),9558=>array(0,-200,450,350),9559=>array(0,-200,450,450),9560=>array(250,150,600,800),9561=>array(150,250,600,800),9562=>array(150,150,600,800),9563=>array(0,150,350,800),9564=>array(0,250,450,800),9565=>array(0,150,450,800),9566=>array(250,-200,600,800),9567=>array(150,-200,600,800),9568=>array(150,-200,600,800),9569=>array(0,-200,350,800),9570=>array(0,-200,450,800),9571=>array(0,-200,450,800),9572=>array(0,-200,600,450),9573=>array(0,-200,600,350),9574=>array(0,-200,600,450),9575=>array(0,150,600,800),9576=>array(0,250,600,800),9577=>array(0,150,600,800),9578=>array(0,-200,600,800),9579=>array(0,-200,600,800),9580=>array(0,-200,600,800),9581=>array(250,-200,600,350),9582=>array(0,-200,350,350),9583=>array(0,250,350,800),9584=>array(250,250,600,800),9585=>array(0,-200,600,796),9586=>array(0,-200,600,800),9587=>array(0,-200,600,800),9588=>array(0,250,300,350),9589=>array(250,300,350,800),9590=>array(300,250,600,350),9591=>array(250,-200,350,300),9592=>array(0,200,300,400),9593=>array(200,300,400,800),9594=>array(300,200,600,400),9595=>array(200,-200,400,300),9596=>array(0,200,600,400),9597=>array(200,-200,400,800),9598=>array(0,200,600,400),9599=>array(200,-200,400,800),9600=>array(0,300,600,800),9601=>array(0,-200,600,-75),9602=>array(0,-200,600,50),9603=>array(0,-200,600,175),9604=>array(0,-200,600,300),9605=>array(0,-200,600,425),9606=>array(0,-200,600,550),9607=>array(0,-200,600,675),9608=>array(0,-200,600,800),9609=>array(0,-200,525,800),9610=>array(0,-200,450,800),9611=>array(0,-200,375,800),9612=>array(0,-200,300,800),9613=>array(0,-200,225,800),9614=>array(0,-200,150,800),9615=>array(0,-200,75,800),9616=>array(300,-200,600,800),9617=>array(0,-200,550,750),9618=>array(0,-200,600,750),9620=>array(0,675,600,800),9621=>array(525,-200,600,800),9632=>array(50,0,550,500),9633=>array(50,0,550,500),9635=>array(50,0,550,500),9636=>array(50,0,550,500),9637=>array(50,0,550,500),9638=>array(50,0,550,500),9639=>array(50,0,550,500),9640=>array(50,0,550,500),9641=>array(50,0,550,500),9642=>array(175,0,425,250),9643=>array(175,0,425,250),9644=>array(50,0,550,300),9645=>array(50,0,550,300),9646=>array(150,0,450,500),9647=>array(150,0,450,500),9648=>array(25,0,575,300),9649=>array(25,0,575,300),9650=>array(35,0,565,454),9651=>array(35,0,565,454),9652=>array(168,0,432,226),9653=>array(168,0,432,226),9654=>array(84,0,543,530),9655=>array(84,0,543,530),9656=>array(199,0,428,266),9657=>array(199,0,428,266),9658=>array(121,0,506,266),9660=>array(35,0,565,454),9661=>array(35,0,565,454),9662=>array(168,0,432,226),9663=>array(168,0,432,226),9664=>array(84,0,543,530),9665=>array(84,0,543,530),9666=>array(199,0,428,266),9667=>array(199,0,428,266),9668=>array(94,0,479,266),9670=>array(35,0,565,530),9671=>array(35,0,565,530),9673=>array(33,-2,567,532),9674=>array(72,-19,529,593),9675=>array(33,-2,567,532),9677=>array(33,-2,567,532),9679=>array(33,-2,567,532),9680=>array(33,-2,567,532),9681=>array(33,-2,567,532),9682=>array(33,-2,567,532),9683=>array(33,-2,567,532),9684=>array(33,-2,567,532),9685=>array(33,-2,567,532),9686=>array(35,0,300,530),9687=>array(302,0,567,530),9688=>array(0,-200,600,800),9689=>array(0,0,600,600),9698=>array(50,0,550,500),9699=>array(50,0,550,500),9700=>array(50,0,550,500),9701=>array(50,0,550,500),9702=>array(172,138,428,394),9703=>array(50,0,550,500),9704=>array(50,0,550,500),9705=>array(50,0,550,500),9706=>array(50,0,550,500),9707=>array(50,0,550,500),9708=>array(35,0,565,454),9709=>array(35,0,565,454),9710=>array(35,0,565,454),9711=>array(0,0,600,600),9712=>array(50,0,550,500),9713=>array(50,0,550,500),9714=>array(50,0,550,500),9715=>array(50,0,550,500),9716=>array(33,-2,567,532),9717=>array(33,-2,567,532),9718=>array(33,-2,567,532),9719=>array(33,-2,567,532),9735=>array(88,0,430,560),9736=>array(83,-20,561,572),9737=>array(33,-2,567,532),9776=>array(50,0,550,500),9777=>array(50,0,550,500),9778=>array(50,0,550,500),9779=>array(50,0,550,500),9780=>array(50,0,550,500),9781=>array(50,0,550,500),9782=>array(50,0,550,500),9783=>array(50,0,550,500),9785=>array(33,-2,567,532),9786=>array(33,-2,567,532),9787=>array(33,-2,567,532),9824=>array(62,-10,539,617),9825=>array(34,-55,566,586),9826=>array(71,-31,530,601),9827=>array(4,-11,596,580),9828=>array(62,-10,539,617),9829=>array(34,-56,566,585),9830=>array(68,-31,527,601),9831=>array(3,-11,595,580),9833=>array(112,-17,332,583),9834=>array(112,-17,522,583),9835=>array(48,-17,524,570),9836=>array(48,-17,524,570),9837=>array(89,-30,461,656),9838=>array(100,-187,500,623),9839=>array(41,-190,559,624),11798=>array(56,30,558,685),11799=>array(68,4,532,525),11800=>array(108,-13,491,609),11802=>array(42,229,558,584),11803=>array(62,179,538,581),11806=>array(62,179,538,481),11807=>array(62,71,538,385),11816=>array(74,-153,549,632),11817=>array(77,-153,552,632),11818=>array(60,-10,530,514),11819=>array(2,36,597,448),11820=>array(2,37,597,449),11821=>array(40,20,560,525),11822=>array(104,-15,517,598),11824=>array(172,138,428,394),42888=>array(125,-88,476,76),42889=>array(225,-15,375,437),42890=>array(171,138,429,422),42891=>array(220,179,381,679),42892=>array(220,275,381,679),64256=>array(3,0,594,623),64257=>array(61,0,551,623),64258=>array(8,0,591,623),64285=>array(144,89,366,480),64287=>array(42,103,536,480),64288=>array(48,0,546,480),64298=>array(51,0,574,609),64299=>array(39,0,569,610),64300=>array(51,0,574,609),64301=>array(39,0,569,610),64302=>array(60,-95,540,480),64303=>array(60,-200,540,480),64304=>array(60,-112,540,480),64305=>array(60,0,540,480),64306=>array(123,0,477,480),64307=>array(60,0,540,480),64308=>array(60,0,540,480),64309=>array(150,0,378,480),64310=>array(123,0,477,480),64312=>array(44,0,524,480),64313=>array(144,190,366,480),64314=>array(60,-200,500,480),64315=>array(60,0,500,480),64316=>array(60,0,540,629),64318=>array(25,0,540,480),64320=>array(123,0,445,480),64321=>array(60,0,540,480),64323=>array(60,-200,540,480),64324=>array(60,0,541,480),64326=>array(48,0,528,480),64327=>array(50,-200,530,480),64328=>array(60,0,540,480),64329=>array(51,0,569,480),64330=>array(28,0,540,480),64331=>array(150,0,378,609),64332=>array(60,0,540,593),64333=>array(60,0,500,593),64334=>array(60,0,541,593),64335=>array(60,0,540,629),65532=>array(20,1,582,637),65533=>array(-43,-147,643,800),65535=>array(20,-110,580,673)); +$cw=array(0=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600,256=>600,257=>600,258=>600,259=>600,260=>600,261=>600,262=>600,263=>600,264=>600,265=>600,266=>600,267=>600,268=>600,269=>600,270=>600,271=>600,272=>600,273=>600,274=>600,275=>600,276=>600,277=>600,278=>600,279=>600,280=>600,281=>600,282=>600,283=>600,284=>600,285=>600,286=>600,287=>600,288=>600,289=>600,290=>600,291=>600,292=>600,293=>600,294=>600,295=>600,296=>600,297=>600,298=>600,299=>600,300=>600,301=>600,302=>600,303=>600,304=>600,305=>600,306=>600,307=>600,308=>600,309=>600,310=>600,311=>600,312=>600,313=>600,314=>600,315=>600,316=>600,317=>600,318=>600,319=>600,320=>600,321=>600,322=>600,323=>600,324=>600,325=>600,326=>600,327=>600,328=>600,329=>600,330=>600,331=>600,332=>600,333=>600,334=>600,335=>600,336=>600,337=>600,338=>600,339=>600,340=>600,341=>600,342=>600,343=>600,344=>600,345=>600,346=>600,347=>600,348=>600,349=>600,350=>600,351=>600,352=>600,353=>600,354=>600,355=>600,356=>600,357=>600,358=>600,359=>600,360=>600,361=>600,362=>600,363=>600,364=>600,365=>600,366=>600,367=>600,368=>600,369=>600,370=>600,371=>600,372=>600,373=>600,374=>600,375=>600,376=>600,377=>600,378=>600,379=>600,380=>600,381=>600,382=>600,383=>600,384=>600,385=>600,386=>600,387=>600,388=>600,389=>600,390=>600,391=>600,392=>600,393=>600,394=>600,395=>600,396=>600,397=>600,398=>600,399=>600,400=>600,401=>600,402=>600,403=>600,404=>600,405=>600,406=>600,407=>600,408=>600,409=>600,410=>600,411=>600,412=>600,413=>600,414=>600,415=>600,416=>600,417=>600,418=>600,419=>600,420=>600,421=>600,422=>600,423=>600,424=>600,425=>600,426=>600,427=>600,428=>600,429=>600,430=>600,431=>600,432=>600,433=>600,434=>600,435=>600,436=>600,437=>600,438=>600,439=>600,440=>600,441=>600,442=>600,443=>600,444=>600,445=>600,446=>600,447=>600,448=>600,449=>600,450=>600,451=>600,452=>600,453=>600,454=>600,455=>600,456=>600,457=>600,458=>600,459=>600,460=>600,461=>600,462=>600,463=>600,464=>600,465=>600,466=>600,467=>600,468=>600,469=>600,470=>600,471=>600,472=>600,473=>600,474=>600,475=>600,476=>600,477=>600,478=>600,479=>600,480=>600,481=>600,482=>600,483=>600,484=>600,485=>600,486=>600,487=>600,488=>600,489=>600,490=>600,491=>600,492=>600,493=>600,494=>600,495=>600,496=>600,497=>600,498=>600,499=>600,500=>600,501=>600,502=>600,503=>600,504=>600,505=>600,506=>600,507=>600,508=>600,509=>600,510=>600,511=>600,512=>600,513=>600,514=>600,515=>600,516=>600,517=>600,518=>600,519=>600,520=>600,521=>600,522=>600,523=>600,524=>600,525=>600,526=>600,527=>600,528=>600,529=>600,530=>600,531=>600,532=>600,533=>600,534=>600,535=>600,536=>600,537=>600,538=>600,539=>600,540=>600,541=>600,542=>600,543=>600,544=>600,548=>600,549=>600,550=>600,551=>600,552=>600,553=>600,554=>600,555=>600,556=>600,557=>600,558=>600,559=>600,560=>600,561=>600,562=>600,563=>600,567=>600,592=>600,593=>600,594=>600,595=>600,596=>600,598=>600,599=>600,600=>600,601=>600,603=>600,604=>600,607=>600,608=>600,609=>600,613=>600,614=>600,615=>600,616=>600,617=>600,618=>600,619=>600,621=>600,623=>600,624=>600,625=>600,626=>600,627=>600,628=>600,629=>600,633=>600,634=>600,635=>600,636=>600,637=>600,638=>600,639=>600,640=>600,641=>600,642=>600,643=>600,644=>600,645=>600,647=>600,648=>600,649=>600,652=>600,653=>600,654=>600,656=>600,657=>600,658=>600,659=>600,660=>600,661=>600,662=>600,663=>600,664=>600,665=>600,666=>600,667=>600,668=>600,669=>600,670=>600,671=>600,672=>600,673=>600,674=>600,688=>600,689=>600,690=>600,691=>600,692=>600,693=>600,694=>600,695=>600,696=>600,697=>600,698=>600,699=>600,700=>600,701=>600,702=>600,703=>600,704=>600,705=>600,706=>600,707=>600,708=>600,709=>600,710=>600,711=>600,712=>600,713=>600,714=>600,715=>600,716=>600,717=>600,718=>600,719=>600,720=>600,721=>600,722=>600,723=>600,724=>600,725=>600,726=>600,727=>600,728=>600,729=>600,730=>600,731=>600,732=>600,733=>600,734=>600,735=>600,736=>600,737=>600,738=>600,739=>600,740=>600,741=>600,742=>600,743=>600,744=>600,745=>600,746=>600,747=>600,748=>600,749=>600,750=>600,751=>600,752=>600,753=>600,754=>600,755=>600,756=>600,757=>600,758=>600,759=>600,760=>600,761=>600,762=>600,763=>600,764=>600,765=>600,766=>600,767=>600,768=>600,769=>600,770=>600,771=>600,772=>600,773=>600,774=>600,775=>600,776=>600,777=>600,778=>600,779=>600,780=>600,781=>600,782=>600,783=>600,784=>600,785=>600,786=>600,787=>600,788=>600,789=>600,790=>600,791=>600,792=>600,793=>600,794=>600,795=>600,796=>600,797=>600,798=>600,799=>600,800=>600,801=>600,802=>600,803=>600,804=>600,805=>600,806=>600,807=>600,808=>600,809=>600,810=>600,811=>600,812=>600,813=>600,814=>600,815=>600,816=>600,817=>600,818=>600,819=>600,820=>600,821=>600,822=>600,823=>600,824=>600,825=>600,826=>600,827=>600,828=>600,829=>600,830=>600,831=>600,832=>600,833=>600,834=>600,835=>600,836=>600,837=>600,838=>600,839=>600,840=>600,841=>600,842=>600,843=>600,844=>600,845=>600,846=>600,847=>600,848=>600,849=>600,850=>600,851=>600,852=>600,853=>600,854=>600,855=>600,856=>600,857=>600,858=>600,859=>600,860=>600,861=>600,862=>600,863=>600,864=>600,865=>600,866=>600,867=>600,868=>600,869=>600,870=>600,871=>600,872=>600,873=>600,874=>600,875=>600,876=>600,877=>600,878=>600,879=>600,884=>600,885=>600,890=>600,894=>600,900=>600,901=>600,902=>600,903=>600,904=>600,905=>600,906=>600,908=>600,910=>600,911=>600,912=>600,913=>600,914=>600,915=>600,916=>600,917=>600,918=>600,919=>600,920=>600,921=>600,922=>600,923=>600,924=>600,925=>600,926=>600,927=>600,928=>600,929=>600,931=>600,932=>600,933=>600,934=>600,935=>600,936=>600,937=>600,938=>600,939=>600,940=>600,941=>600,942=>600,943=>600,944=>600,945=>600,946=>600,947=>600,948=>600,949=>600,950=>600,951=>600,952=>600,953=>600,954=>600,955=>600,956=>600,957=>600,958=>600,959=>600,960=>600,961=>600,962=>600,963=>600,964=>600,965=>600,966=>600,967=>600,968=>600,969=>600,970=>600,971=>600,972=>600,973=>600,974=>600,976=>600,977=>600,978=>600,979=>600,980=>600,981=>600,982=>600,986=>600,987=>600,988=>600,989=>600,1008=>600,1009=>600,1012=>600,1013=>600,1024=>600,1025=>600,1026=>600,1027=>600,1028=>600,1029=>600,1030=>600,1031=>600,1032=>600,1033=>600,1034=>600,1035=>600,1036=>600,1037=>600,1038=>600,1039=>600,1040=>600,1041=>600,1042=>600,1043=>600,1044=>600,1045=>600,1046=>600,1047=>600,1048=>600,1049=>600,1050=>600,1051=>600,1052=>600,1053=>600,1054=>600,1055=>600,1056=>600,1057=>600,1058=>600,1059=>600,1060=>600,1061=>600,1062=>600,1063=>600,1064=>600,1065=>600,1066=>600,1067=>600,1068=>600,1069=>600,1070=>600,1071=>600,1072=>600,1073=>600,1074=>600,1075=>600,1076=>600,1077=>600,1078=>600,1079=>600,1080=>600,1081=>600,1082=>600,1083=>600,1084=>600,1085=>600,1086=>600,1087=>600,1088=>600,1089=>600,1090=>600,1091=>600,1092=>600,1093=>600,1094=>600,1095=>600,1096=>600,1097=>600,1098=>600,1099=>600,1100=>600,1101=>600,1102=>600,1103=>600,1104=>600,1105=>600,1106=>600,1107=>600,1108=>600,1109=>600,1110=>600,1111=>600,1112=>600,1113=>600,1114=>600,1115=>600,1116=>600,1117=>600,1118=>600,1119=>600,1136=>600,1137=>600,1138=>600,1156=>600,1157=>600,1158=>600,1162=>600,1163=>600,1164=>600,1165=>600,1166=>600,1167=>600,1168=>600,1169=>600,1170=>600,1171=>600,1172=>600,1173=>600,1174=>600,1175=>600,1176=>600,1177=>600,1178=>600,1179=>600,1180=>600,1181=>600,1182=>600,1183=>600,1184=>600,1185=>600,1186=>600,1187=>600,1188=>600,1189=>600,1190=>600,1191=>600,1192=>600,1193=>600,1194=>600,1195=>600,1196=>600,1197=>600,1198=>600,1199=>600,1200=>600,1201=>600,1202=>600,1203=>600,1204=>600,1205=>600,1206=>600,1207=>600,1208=>600,1209=>600,1210=>600,1211=>600,1212=>600,1213=>600,1214=>600,1215=>600,1216=>600,1217=>600,1218=>600,1219=>600,1220=>600,1221=>600,1222=>600,1223=>600,1224=>600,1225=>600,1226=>600,1227=>600,1228=>600,1229=>600,1230=>600,1231=>600,1232=>600,1233=>600,1234=>600,1235=>600,1236=>600,1237=>600,1238=>600,1239=>600,1240=>600,1241=>600,1242=>600,1243=>600,1244=>600,1245=>600,1246=>600,1247=>600,1248=>600,1249=>600,1250=>600,1251=>600,1252=>600,1253=>600,1254=>600,1255=>600,1256=>600,1257=>600,1258=>600,1259=>600,1260=>600,1261=>600,1262=>600,1263=>600,1264=>600,1265=>600,1266=>600,1267=>600,1268=>600,1269=>600,1270=>600,1271=>600,1272=>600,1273=>600,1296=>600,1297=>600,1298=>600,1299=>600,1306=>600,1307=>600,1308=>600,1309=>600,1310=>600,1311=>600,1456=>600,1457=>600,1458=>600,1459=>600,1460=>600,1461=>600,1462=>600,1463=>600,1464=>600,1465=>600,1467=>600,1468=>600,1469=>600,1470=>600,1471=>600,1472=>600,1473=>600,1474=>600,1475=>600,1476=>600,1488=>600,1489=>600,1490=>600,1491=>600,1492=>600,1493=>600,1494=>600,1495=>600,1496=>600,1497=>600,1498=>600,1499=>600,1500=>600,1501=>600,1502=>600,1503=>600,1504=>600,1505=>600,1506=>600,1507=>600,1508=>600,1509=>600,1510=>600,1511=>600,1512=>600,1513=>600,1514=>600,1520=>600,1521=>600,1522=>600,1523=>600,1524=>600,4304=>600,4305=>600,4306=>600,4307=>600,4308=>600,4309=>600,4310=>600,4311=>600,4312=>600,4313=>600,4314=>600,4315=>600,4316=>600,4317=>600,4318=>600,4319=>600,4320=>600,4321=>600,4322=>600,4323=>600,4324=>600,4325=>600,4326=>600,4327=>600,4328=>600,4329=>600,4330=>600,4331=>600,4332=>600,4333=>600,4334=>600,4335=>600,4336=>600,4337=>600,4338=>600,4339=>600,4340=>600,4341=>600,4345=>600,4347=>600,4348=>600,7680=>600,7681=>600,7682=>600,7683=>600,7684=>600,7685=>600,7686=>600,7687=>600,7688=>600,7689=>600,7690=>600,7691=>600,7692=>600,7693=>600,7694=>600,7695=>600,7696=>600,7697=>600,7698=>600,7699=>600,7700=>600,7701=>600,7702=>600,7703=>600,7704=>600,7705=>600,7706=>600,7707=>600,7708=>600,7709=>600,7710=>600,7711=>600,7712=>600,7713=>600,7714=>600,7715=>600,7716=>600,7717=>600,7718=>600,7719=>600,7720=>600,7721=>600,7722=>600,7723=>600,7724=>600,7725=>600,7726=>600,7727=>600,7728=>600,7729=>600,7730=>600,7731=>600,7732=>600,7733=>600,7734=>600,7735=>600,7736=>600,7737=>600,7738=>600,7739=>600,7740=>600,7741=>600,7742=>600,7743=>600,7744=>600,7745=>600,7746=>600,7747=>600,7748=>600,7749=>600,7750=>600,7751=>600,7752=>600,7753=>600,7754=>600,7755=>600,7756=>600,7757=>600,7758=>600,7759=>600,7760=>600,7761=>600,7762=>600,7763=>600,7764=>600,7765=>600,7766=>600,7767=>600,7768=>600,7769=>600,7770=>600,7771=>600,7772=>600,7773=>600,7774=>600,7775=>600,7776=>600,7777=>600,7778=>600,7779=>600,7780=>600,7781=>600,7782=>600,7783=>600,7784=>600,7785=>600,7786=>600,7787=>600,7788=>600,7789=>600,7790=>600,7791=>600,7792=>600,7793=>600,7794=>600,7795=>600,7796=>600,7797=>600,7798=>600,7799=>600,7800=>600,7801=>600,7802=>600,7803=>600,7804=>600,7805=>600,7806=>600,7807=>600,7808=>600,7809=>600,7810=>600,7811=>600,7812=>600,7813=>600,7814=>600,7815=>600,7816=>600,7817=>600,7818=>600,7819=>600,7820=>600,7821=>600,7822=>600,7823=>600,7824=>600,7825=>600,7826=>600,7827=>600,7828=>600,7829=>600,7830=>600,7831=>600,7832=>600,7833=>600,7834=>600,7835=>600,7840=>600,7841=>600,7842=>600,7843=>600,7844=>600,7845=>600,7846=>600,7847=>600,7848=>600,7849=>600,7850=>600,7851=>600,7852=>600,7853=>600,7854=>600,7855=>600,7856=>600,7857=>600,7858=>600,7859=>600,7860=>600,7861=>600,7862=>600,7863=>600,7864=>600,7865=>600,7866=>600,7867=>600,7868=>600,7869=>600,7870=>600,7871=>600,7872=>600,7873=>600,7874=>600,7875=>600,7876=>600,7877=>600,7878=>600,7879=>600,7880=>600,7881=>600,7882=>600,7883=>600,7884=>600,7885=>600,7886=>600,7887=>600,7888=>600,7889=>600,7890=>600,7891=>600,7892=>600,7893=>600,7894=>600,7895=>600,7896=>600,7897=>600,7898=>600,7899=>600,7900=>600,7901=>600,7902=>600,7903=>600,7904=>600,7905=>600,7906=>600,7907=>600,7908=>600,7909=>600,7910=>600,7911=>600,7912=>600,7913=>600,7914=>600,7915=>600,7916=>600,7917=>600,7918=>600,7919=>600,7920=>600,7921=>600,7922=>600,7923=>600,7924=>600,7925=>600,7926=>600,7927=>600,7928=>600,7929=>600,8192=>600,8193=>600,8194=>600,8195=>600,8196=>600,8197=>600,8198=>600,8199=>600,8200=>600,8201=>600,8202=>600,8203=>600,8204=>600,8205=>600,8206=>600,8207=>600,8208=>600,8209=>600,8210=>600,8211=>600,8212=>600,8213=>600,8214=>600,8215=>600,8216=>600,8217=>600,8218=>600,8219=>600,8220=>600,8221=>600,8222=>600,8223=>600,8224=>600,8225=>600,8226=>600,8227=>600,8228=>600,8229=>600,8230=>600,8231=>600,8232=>600,8233=>600,8234=>600,8235=>600,8236=>600,8237=>600,8238=>600,8239=>600,8240=>600,8241=>600,8242=>600,8243=>600,8244=>600,8245=>600,8246=>600,8247=>600,8248=>600,8249=>600,8250=>600,8251=>600,8252=>600,8253=>600,8254=>600,8255=>600,8256=>600,8257=>600,8258=>600,8259=>600,8260=>600,8261=>600,8262=>600,8263=>600,8264=>600,8265=>600,8266=>600,8267=>600,8268=>600,8269=>600,8270=>600,8271=>600,8272=>600,8273=>600,8274=>600,8275=>600,8276=>600,8277=>600,8278=>600,8279=>600,8280=>600,8281=>600,8282=>600,8283=>600,8284=>600,8285=>600,8286=>600,8287=>600,8288=>600,8289=>600,8290=>600,8291=>600,8292=>600,8304=>600,8305=>600,8308=>600,8309=>600,8310=>600,8311=>600,8312=>600,8313=>600,8314=>600,8315=>600,8316=>600,8317=>600,8318=>600,8319=>600,8320=>600,8321=>600,8322=>600,8323=>600,8324=>600,8325=>600,8326=>600,8327=>600,8328=>600,8329=>600,8330=>600,8331=>600,8332=>600,8333=>600,8334=>600,8336=>600,8337=>600,8338=>600,8339=>600,8340=>600,8355=>600,8356=>600,8357=>600,8358=>600,8361=>600,8362=>600,8363=>600,8364=>600,8365=>600,8366=>600,8369=>600,8370=>600,8371=>600,8372=>600,8373=>600,8376=>600,8377=>600,8448=>600,8449=>600,8451=>600,8453=>600,8454=>600,8455=>600,8457=>600,8462=>600,8465=>600,8466=>600,8467=>600,8470=>600,8472=>600,8476=>600,8480=>600,8481=>600,8482=>600,8486=>600,8487=>600,8489=>600,8490=>600,8491=>600,8494=>600,8498=>600,8501=>600,8502=>600,8503=>600,8504=>600,8506=>600,8507=>600,8513=>600,8514=>600,8515=>600,8516=>600,8523=>600,8525=>600,8526=>600,8531=>600,8532=>600,8533=>600,8534=>600,8535=>600,8536=>600,8537=>600,8538=>600,8539=>600,8540=>600,8541=>600,8542=>600,8543=>600,8592=>600,8593=>600,8594=>600,8595=>600,8596=>600,8597=>600,8598=>600,8599=>600,8600=>600,8601=>600,8612=>600,8613=>600,8614=>600,8615=>600,8633=>600,8636=>600,8637=>600,8638=>600,8639=>600,8640=>600,8641=>600,8642=>600,8643=>600,8644=>600,8645=>600,8646=>600,8647=>600,8648=>600,8649=>600,8650=>600,8651=>600,8652=>600,8656=>600,8657=>600,8658=>600,8659=>600,8660=>600,8661=>600,8704=>600,8705=>600,8706=>600,8707=>600,8708=>600,8709=>600,8710=>600,8711=>600,8712=>600,8713=>600,8714=>600,8715=>600,8716=>600,8717=>600,8718=>600,8719=>600,8720=>600,8721=>600,8722=>600,8723=>600,8724=>600,8725=>600,8726=>600,8727=>600,8728=>600,8729=>600,8730=>600,8731=>600,8732=>600,8733=>600,8734=>600,8735=>600,8739=>600,8741=>600,8743=>600,8744=>600,8745=>600,8746=>600,8747=>600,8748=>600,8756=>600,8757=>600,8758=>600,8759=>600,8764=>600,8776=>600,8800=>600,8801=>600,8804=>600,8805=>600,8834=>600,8835=>600,8836=>600,8837=>600,8838=>600,8839=>600,8869=>600,8898=>600,8899=>600,8976=>600,9001=>600,9002=>600,9251=>600,9472=>600,9473=>600,9474=>600,9475=>600,9476=>600,9477=>600,9478=>600,9479=>600,9480=>600,9481=>600,9482=>600,9483=>600,9484=>600,9485=>600,9486=>600,9487=>600,9488=>600,9489=>600,9490=>600,9491=>600,9492=>600,9493=>600,9494=>600,9495=>600,9496=>600,9497=>600,9498=>600,9499=>600,9500=>600,9501=>600,9502=>600,9503=>600,9504=>600,9505=>600,9506=>600,9507=>600,9508=>600,9509=>600,9510=>600,9511=>600,9512=>600,9513=>600,9514=>600,9515=>600,9516=>600,9517=>600,9518=>600,9519=>600,9520=>600,9521=>600,9522=>600,9523=>600,9524=>600,9525=>600,9526=>600,9527=>600,9528=>600,9529=>600,9530=>600,9531=>600,9532=>600,9533=>600,9534=>600,9535=>600,9536=>600,9537=>600,9538=>600,9539=>600,9540=>600,9541=>600,9542=>600,9543=>600,9544=>600,9545=>600,9546=>600,9547=>600,9548=>600,9549=>600,9550=>600,9551=>600,9552=>600,9553=>600,9554=>600,9555=>600,9556=>600,9557=>600,9558=>600,9559=>600,9560=>600,9561=>600,9562=>600,9563=>600,9564=>600,9565=>600,9566=>600,9567=>600,9568=>600,9569=>600,9570=>600,9571=>600,9572=>600,9573=>600,9574=>600,9575=>600,9576=>600,9577=>600,9578=>600,9579=>600,9580=>600,9581=>600,9582=>600,9583=>600,9584=>600,9585=>600,9586=>600,9587=>600,9588=>600,9589=>600,9590=>600,9591=>600,9592=>600,9593=>600,9594=>600,9595=>600,9596=>600,9597=>600,9598=>600,9599=>600,9600=>600,9601=>600,9602=>600,9603=>600,9604=>600,9605=>600,9606=>600,9607=>600,9608=>600,9609=>600,9610=>600,9611=>600,9612=>600,9613=>600,9614=>600,9615=>600,9616=>600,9617=>600,9618=>600,9619=>600,9620=>600,9621=>600,9632=>600,9633=>600,9635=>600,9636=>600,9637=>600,9638=>600,9639=>600,9640=>600,9641=>600,9642=>600,9643=>600,9644=>600,9645=>600,9646=>600,9647=>600,9648=>600,9649=>600,9650=>600,9651=>600,9652=>600,9653=>600,9654=>600,9655=>600,9656=>600,9657=>600,9658=>600,9660=>600,9661=>600,9662=>600,9663=>600,9664=>600,9665=>600,9666=>600,9667=>600,9668=>600,9669=>600,9670=>600,9671=>600,9673=>600,9674=>600,9675=>600,9677=>600,9679=>600,9680=>600,9681=>600,9682=>600,9683=>600,9684=>600,9685=>600,9686=>600,9687=>600,9688=>600,9689=>600,9698=>600,9699=>600,9700=>600,9701=>600,9702=>600,9703=>600,9704=>600,9705=>600,9706=>600,9707=>600,9708=>600,9709=>600,9710=>600,9711=>600,9712=>600,9713=>600,9714=>600,9715=>600,9716=>600,9717=>600,9718=>600,9719=>600,9735=>600,9736=>600,9737=>600,9776=>600,9777=>600,9778=>600,9779=>600,9780=>600,9781=>600,9782=>600,9783=>600,9785=>600,9786=>600,9787=>600,9824=>600,9825=>600,9826=>600,9827=>600,9828=>600,9829=>600,9830=>600,9831=>600,9833=>600,9834=>600,9835=>600,9836=>600,9837=>600,9838=>600,9839=>600,11798=>600,11799=>600,11800=>600,11802=>600,11803=>600,11806=>600,11807=>600,11816=>600,11817=>600,11818=>600,11819=>600,11820=>600,11821=>600,11822=>600,11824=>600,42888=>600,42889=>600,42890=>600,42891=>600,42892=>600,64256=>600,64257=>600,64258=>600,64285=>600,64287=>600,64288=>600,64298=>600,64299=>600,64300=>600,64301=>600,64302=>600,64303=>600,64304=>600,64305=>600,64306=>600,64307=>600,64308=>600,64309=>600,64310=>600,64312=>600,64313=>600,64314=>600,64315=>600,64316=>600,64318=>600,64320=>600,64321=>600,64323=>600,64324=>600,64326=>600,64327=>600,64328=>600,64329=>600,64330=>600,64331=>600,64332=>600,64333=>600,64334=>600,64335=>600,65529=>600,65530=>600,65531=>600,65532=>600,65533=>600,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonob.z b/vendor/tecnickcom/tcpdf/fonts/freemonob.z new file mode 100644 index 0000000..d206e0f Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemonob.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonobi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freemonobi.ctg.z new file mode 100644 index 0000000..1f38cc3 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemonobi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonobi.php b/vendor/tecnickcom/tcpdf/fonts/freemonobi.php new file mode 100644 index 0000000..c2d9ec5 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freemonobi.php @@ -0,0 +1,16 @@ +97,'FontBBox'=>'[-642 -200 834 800]','ItalicAngle'=>-12,'Ascent'=>800,'Descent'=>-200,'Leading'=>0,'CapHeight'=>583,'XHeight'=>437,'StemV'=>123,'StemH'=>53,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cbbox=array(0=>array(-3,-110,723,673),33=>array(234,-15,501,638),34=>array(243,312,592,602),35=>array(101,-92,623,675),36=>array(100,-123,610,684),37=>array(131,-15,599,617),38=>array(102,-14,557,550),39=>array(343,312,492,602),40=>array(304,-153,613,632),41=>array(94,-153,403,632),42=>array(178,208,614,622),43=>array(101,0,619,560),44=>array(118,-158,379,134),45=>array(101,229,619,329),46=>array(234,-15,387,117),47=>array(69,-113,656,695),48=>array(130,-15,602,638),49=>array(92,0,530,638),50=>array(54,0,602,638),51=>array(80,-15,609,638),52=>array(104,0,579,622),53=>array(83,-15,610,622),54=>array(154,-15,663,638),55=>array(184,-1,640,622),56=>array(114,-15,608,638),57=>array(115,-15,624,638),58=>array(234,-15,455,437),59=>array(118,-158,431,437),60=>array(102,54,642,501),61=>array(81,138,638,422),62=>array(76,53,616,500),63=>array(197,-15,608,598),64=>array(98,-152,582,620),65=>array(-11,0,633,583),66=>array(22,0,620,583),67=>array(70,-14,653,597),68=>array(23,0,622,583),69=>array(13,0,642,583),70=>array(3,0,654,583),71=>array(59,-14,647,597),72=>array(12,0,655,583),73=>array(63,0,602,583),74=>array(4,-14,667,583),75=>array(2,0,667,583),76=>array(22,0,596,583),77=>array(-10,0,728,583),78=>array(21,0,706,583),79=>array(55,-14,629,597),80=>array(23,0,617,583),81=>array(55,-145,629,597),82=>array(3,0,611,583),83=>array(62,-14,624,597),84=>array(81,0,642,583),85=>array(80,-14,675,583),86=>array(41,0,685,583),87=>array(58,0,685,583),88=>array(-1,0,672,583),89=>array(78,0,644,583),90=>array(53,0,608,583),91=>array(219,-148,598,627),92=>array(219,-113,504,695),93=>array(104,-148,483,627),94=>array(161,325,598,652),95=>array(-43,-200,578,-100),96=>array(274,496,444,666),97=>array(65,-16,583,450),98=>array(2,-14,623,624),99=>array(73,-16,606,450),100=>array(74,-14,664,624),101=>array(74,-16,600,450),102=>array(84,0,691,623),103=>array(63,-200,665,451),104=>array(33,0,593,624),105=>array(72,0,550,623),106=>array(64,-200,561,623),107=>array(42,0,606,624),108=>array(72,0,550,624),109=>array(-9,0,635,450),110=>array(33,0,583,450),111=>array(74,-16,599,450),112=>array(-41,-200,623,450),113=>array(45,-200,666,450),114=>array(44,0,630,449),115=>array(83,-16,592,450),116=>array(94,-16,547,591),117=>array(94,-13,603,437),118=>array(61,0,663,437),119=>array(62,0,664,437),120=>array(30,0,641,437),121=>array(-22,-200,652,437),122=>array(85,0,599,437),123=>array(179,-153,576,623),124=>array(227,-153,472,622),125=>array(124,-153,519,623),126=>array(114,179,606,385),160=>array(0,0,0,0),161=>array(186,-200,453,453),162=>array(144,-44,593,661),163=>array(64,0,571,598),164=>array(96,64,626,519),165=>array(133,0,693,580),166=>array(227,-153,472,622),167=>array(45,-170,643,583),168=>array(261,534,592,654),169=>array(48,-15,675,598),170=>array(168,162,559,595),171=>array(80,20,654,415),172=>array(125,115,560,445),173=>array(101,229,619,329),174=>array(48,-15,675,598),175=>array(249,546,600,626),176=>array(210,243,568,596),177=>array(52,0,640,624),178=>array(222,369,558,759),179=>array(239,368,564,767),180=>array(344,496,537,660),181=>array(72,-153,603,438),182=>array(108,-174,672,583),183=>array(290,182,413,302),184=>array(150,-200,388,0),185=>array(244,369,514,760),186=>array(166,162,566,595),187=>array(43,20,617,415),188=>array(37,-20,641,648),189=>array(25,0,685,647),190=>array(18,0,653,644),191=>array(75,-200,486,413),192=>array(-11,0,633,800),193=>array(-11,0,633,799),194=>array(-11,0,633,800),195=>array(-11,0,633,782),196=>array(-11,0,633,777),197=>array(-11,0,633,799),198=>array(-10,0,717,583),199=>array(80,-200,663,597),200=>array(13,0,642,800),201=>array(13,0,642,800),202=>array(13,0,642,800),203=>array(13,0,642,777),204=>array(63,0,602,799),205=>array(63,0,602,799),206=>array(63,0,602,799),207=>array(63,0,602,777),208=>array(23,0,622,583),209=>array(21,0,706,782),210=>array(55,-14,629,800),211=>array(55,-14,629,800),212=>array(55,-14,629,800),213=>array(55,-14,629,782),214=>array(55,-14,629,777),215=>array(126,80,592,480),216=>array(-1,-70,712,638),217=>array(80,-14,675,800),218=>array(80,-14,675,799),219=>array(80,-14,675,800),220=>array(80,-14,675,777),221=>array(78,0,644,799),222=>array(23,0,588,583),223=>array(22,-16,569,623),224=>array(65,-16,583,667),225=>array(65,-16,583,661),226=>array(65,-16,583,662),227=>array(65,-16,585,635),228=>array(65,-16,583,630),229=>array(65,-16,583,677),230=>array(3,-16,654,450),231=>array(72,-200,606,450),232=>array(74,-16,600,666),233=>array(74,-16,600,661),234=>array(74,-16,600,674),235=>array(74,-16,600,630),236=>array(72,0,550,668),237=>array(72,0,550,662),238=>array(72,0,550,674),239=>array(72,0,550,630),240=>array(83,-16,617,646),241=>array(33,0,589,635),242=>array(74,-16,599,666),243=>array(74,-16,599,659),244=>array(74,-16,599,662),245=>array(74,-16,599,635),246=>array(74,-16,599,630),247=>array(101,28,619,532),248=>array(2,-70,654,494),249=>array(94,-13,603,668),250=>array(94,-13,603,661),251=>array(94,-13,603,661),252=>array(94,-13,603,630),253=>array(-22,-200,652,661),254=>array(-41,-200,623,624),255=>array(-22,-200,652,630),256=>array(-11,0,633,737),257=>array(65,-16,586,590),258=>array(-11,0,633,799),259=>array(65,-16,584,664),260=>array(-11,-200,633,583),261=>array(65,-200,583,450),262=>array(70,-14,653,800),263=>array(73,-16,606,662),264=>array(70,-14,653,800),265=>array(73,-16,606,674),266=>array(70,-14,653,777),267=>array(73,-16,606,630),268=>array(70,-14,653,800),269=>array(73,-16,606,662),270=>array(23,0,622,800),271=>array(-16,-14,758,643),272=>array(23,0,622,583),273=>array(34,-14,672,624),274=>array(13,0,642,737),275=>array(74,-16,600,590),276=>array(13,0,642,776),277=>array(74,-16,600,664),278=>array(13,0,642,757),279=>array(74,-16,600,630),280=>array(23,-200,652,583),281=>array(74,-200,600,450),282=>array(13,0,642,800),283=>array(74,-16,609,661),284=>array(59,-14,647,787),285=>array(63,-200,665,674),286=>array(59,-14,647,800),287=>array(63,-200,665,664),288=>array(59,-14,647,757),289=>array(63,-200,665,631),290=>array(59,-200,647,597),291=>array(63,-200,665,662),292=>array(12,0,655,799),293=>array(33,0,692,799),294=>array(1,0,643,583),295=>array(6,0,566,624),296=>array(63,0,624,782),297=>array(72,0,553,635),298=>array(63,0,602,737),299=>array(72,0,554,590),300=>array(63,0,609,800),301=>array(72,0,557,664),302=>array(93,-199,632,583),303=>array(72,-200,550,623),304=>array(63,0,602,757),305=>array(72,0,550,437),306=>array(2,-14,726,583),307=>array(19,-200,668,623),308=>array(11,-14,692,800),309=>array(64,-200,587,661),310=>array(2,-199,667,583),311=>array(42,-199,606,624),312=>array(18,0,582,437),313=>array(22,0,596,800),314=>array(72,0,550,800),315=>array(22,-199,596,583),316=>array(72,-199,550,624),317=>array(22,0,719,619),318=>array(72,0,698,638),319=>array(22,0,596,583),320=>array(72,0,641,624),321=>array(43,0,616,583),322=>array(72,0,557,624),323=>array(21,0,706,800),324=>array(33,0,583,674),325=>array(21,-199,706,583),326=>array(33,-199,583,450),327=>array(21,0,706,800),328=>array(33,0,593,662),329=>array(33,0,583,661),330=>array(32,-123,642,637),331=>array(6,-200,548,450),332=>array(55,-14,629,737),333=>array(74,-16,599,590),334=>array(55,-14,629,781),335=>array(74,-16,599,663),336=>array(55,-14,680,800),337=>array(74,-16,613,666),338=>array(34,0,717,583),339=>array(28,-16,666,450),340=>array(3,0,611,800),341=>array(44,0,630,674),342=>array(3,-199,611,583),343=>array(44,-199,630,449),344=>array(3,0,611,799),345=>array(44,0,630,662),346=>array(62,-14,624,800),347=>array(83,-16,592,661),348=>array(62,-14,624,800),349=>array(83,-16,593,674),350=>array(72,-200,634,597),351=>array(83,-200,592,450),352=>array(62,-14,624,800),353=>array(83,-16,599,660),354=>array(121,-200,682,583),355=>array(94,-200,547,591),356=>array(81,0,642,800),357=>array(94,-16,667,680),358=>array(60,0,620,583),359=>array(29,-16,516,591),360=>array(80,-14,675,782),361=>array(94,-13,603,635),362=>array(80,-14,675,737),363=>array(94,-13,603,590),364=>array(80,-14,675,800),365=>array(94,-13,603,663),366=>array(80,-14,675,800),367=>array(94,-13,603,701),368=>array(80,-14,675,800),369=>array(94,-13,608,664),370=>array(90,-200,685,583),371=>array(94,-200,603,437),372=>array(58,0,685,800),373=>array(62,0,664,674),374=>array(78,0,644,800),375=>array(-22,-200,652,674),376=>array(78,0,644,777),377=>array(53,0,608,800),378=>array(85,0,599,662),379=>array(53,0,608,777),380=>array(85,0,599,630),381=>array(53,0,621,800),382=>array(85,0,601,662),383=>array(64,0,671,623),384=>array(6,-14,628,624),385=>array(40,0,638,583),386=>array(10,0,662,583),387=>array(6,-14,628,624),388=>array(24,0,606,615),389=>array(6,-16,621,615),390=>array(44,-14,627,597),391=>array(19,-14,731,679),392=>array(36,-16,698,546),393=>array(23,0,622,583),394=>array(38,0,650,583),395=>array(44,0,686,583),396=>array(29,-14,619,624),397=>array(-6,-200,570,454),398=>array(41,0,670,583),399=>array(65,-17,628,601),400=>array(80,-14,623,597),401=>array(-96,-123,695,583),402=>array(29,-123,657,638),403=>array(48,-14,762,676),404=>array(107,-22,658,588),405=>array(-43,-13,671,624),406=>array(196,-16,538,583),407=>array(90,0,630,583),408=>array(6,1,722,588),409=>array(34,0,599,638),410=>array(65,0,573,624),411=>array(24,0,585,624),412=>array(32,-13,707,583),413=>array(-137,-123,708,583),414=>array(56,-200,599,450),415=>array(64,-14,637,597),416=>array(46,-14,693,664),417=>array(30,-16,640,520),418=>array(4,-15,639,628),419=>array(0,-16,656,486),420=>array(43,0,645,583),421=>array(-58,-200,608,638),422=>array(14,-200,541,583),423=>array(80,-14,599,597),424=>array(96,-16,576,450),425=>array(64,0,642,583),426=>array(176,-118,541,606),427=>array(95,-200,549,591),428=>array(84,0,671,583),429=>array(89,-16,542,638),430=>array(91,-123,651,583),431=>array(59,-14,747,697),432=>array(35,-13,693,551),433=>array(71,-18,662,596),434=>array(108,-19,675,588),435=>array(58,0,714,583),436=>array(-49,-200,733,551),437=>array(73,0,628,583),438=>array(83,0,596,437),439=>array(46,-50,610,583),440=>array(57,-50,621,583),441=>array(88,-183,531,442),442=>array(44,-200,548,442),443=>array(63,0,603,598),444=>array(91,-23,601,589),445=>array(102,-26,531,442),446=>array(114,-22,565,589),447=>array(-34,-200,636,463),448=>array(227,-153,472,622),449=>array(132,-153,568,622),450=>array(69,-149,651,629),451=>array(234,-15,501,638),452=>array(8,0,727,776),453=>array(8,0,730,669),454=>array(37,-16,748,726),455=>array(15,-14,716,583),456=>array(33,-200,659,623),457=>array(18,-200,627,624),458=>array(2,-18,751,587),459=>array(-4,-200,685,623),460=>array(-2,-200,678,623),461=>array(-11,0,633,800),462=>array(65,-16,601,654),463=>array(63,0,609,800),464=>array(72,0,565,654),465=>array(55,-14,629,800),466=>array(74,-16,599,654),467=>array(80,-14,675,800),468=>array(94,-13,603,654),469=>array(77,-14,659,798),470=>array(94,-13,627,774),471=>array(88,-14,670,800),472=>array(94,-13,603,797),473=>array(78,-14,660,800),474=>array(94,-13,630,800),475=>array(87,-14,669,800),476=>array(94,-13,603,800),477=>array(74,-16,600,450),478=>array(-11,0,633,798),479=>array(65,-16,621,774),480=>array(-14,-1,632,800),481=>array(65,-16,622,761),482=>array(-10,0,717,717),483=>array(3,-16,654,590),484=>array(58,-14,636,597),485=>array(53,-200,656,451),486=>array(59,-14,660,800),487=>array(63,-200,665,655),488=>array(2,0,667,800),489=>array(42,0,642,800),490=>array(55,-200,629,597),491=>array(74,-200,599,450),492=>array(55,-200,629,717),493=>array(74,-200,599,590),494=>array(46,-50,610,800),495=>array(55,-183,573,644),496=>array(64,-200,599,641),497=>array(8,0,705,587),498=>array(8,0,675,588),499=>array(37,-16,660,629),500=>array(59,-14,647,800),501=>array(63,-200,665,655),502=>array(12,0,644,583),503=>array(-27,-200,675,597),504=>array(21,0,706,800),505=>array(33,0,583,660),506=>array(-11,0,633,800),507=>array(65,-16,583,800),508=>array(-10,0,717,800),509=>array(3,-16,654,654),510=>array(-1,-70,712,799),511=>array(2,-70,654,698),512=>array(-11,0,633,800),513=>array(65,-16,583,680),514=>array(-11,0,633,755),515=>array(65,-16,583,631),516=>array(13,0,642,800),517=>array(74,-16,600,680),518=>array(13,0,642,756),519=>array(74,-16,600,625),520=>array(63,0,602,800),521=>array(72,0,550,680),522=>array(63,0,602,755),523=>array(72,0,570,631),524=>array(55,-14,629,800),525=>array(74,-16,599,680),526=>array(55,-14,629,760),527=>array(74,-16,599,631),528=>array(3,0,611,798),529=>array(44,0,630,680),530=>array(3,0,611,757),531=>array(44,0,630,631),532=>array(80,-14,675,798),533=>array(94,-13,603,680),534=>array(80,-14,675,758),535=>array(94,-13,603,631),536=>array(62,-199,624,597),537=>array(83,-199,592,450),538=>array(81,-199,642,583),539=>array(94,-199,547,591),540=>array(86,-45,605,601),541=>array(137,-141,569,456),542=>array(12,0,655,800),543=>array(33,0,636,799),544=>array(11,-200,600,637),548=>array(73,-200,628,583),549=>array(85,-200,599,437),550=>array(-11,0,633,766),551=>array(65,-16,583,630),552=>array(13,-200,642,583),553=>array(64,-200,590,450),554=>array(45,-12,631,798),555=>array(74,-16,634,770),556=>array(45,-12,619,800),557=>array(74,-16,614,767),558=>array(55,-14,629,777),559=>array(74,-16,599,630),560=>array(48,-12,618,800),561=>array(74,-16,609,752),562=>array(78,0,644,717),563=>array(-22,-200,652,570),567=>array(64,-200,561,437),592=>array(67,-13,616,453),593=>array(26,-14,577,467),594=>array(84,-18,635,463),595=>array(5,-14,627,638),596=>array(51,-16,590,450),598=>array(29,-200,655,624),599=>array(8,-14,782,638),600=>array(43,-16,599,450),601=>array(83,-16,609,450),603=>array(84,-16,580,450),604=>array(74,-16,565,450),607=>array(59,-200,556,437),608=>array(28,-200,782,638),609=>array(86,-200,610,462),613=>array(81,-189,641,435),614=>array(14,0,575,638),615=>array(36,-200,578,638),616=>array(75,0,554,623),617=>array(141,-16,514,437),618=>array(113,0,568,437),619=>array(65,0,599,624),621=>array(221,-200,514,624),623=>array(29,-13,673,437),624=>array(37,-200,682,437),625=>array(-6,-200,638,450),626=>array(-119,-200,597,450),627=>array(6,-200,652,450),628=>array(68,0,620,437),629=>array(84,-16,609,450),633=>array(35,-12,621,437),634=>array(25,-12,653,637),635=>array(34,-200,620,437),636=>array(-5,-200,623,449),637=>array(132,-200,623,449),638=>array(95,0,588,450),639=>array(65,-200,500,450),640=>array(38,0,485,437),641=>array(85,0,603,437),642=>array(39,-200,565,450),643=>array(-11,-123,617,638),644=>array(-52,-200,670,638),645=>array(118,-123,502,644),647=>array(125,-16,578,591),648=>array(113,-200,564,591),649=>array(10,-13,571,437),652=>array(7,0,609,437),653=>array(6,0,608,437),654=>array(0,0,674,637),656=>array(20,-199,623,437),657=>array(90,-98,593,442),658=>array(55,-183,548,442),659=>array(95,-200,548,442),660=>array(116,0,545,598),661=>array(123,0,568,598),662=>array(76,-15,505,583),663=>array(19,-200,641,597),664=>array(44,-14,617,597),665=>array(56,1,568,442),666=>array(101,-21,593,456),667=>array(35,-21,674,517),668=>array(43,0,653,437),669=>array(86,-186,562,649),670=>array(78,-189,642,435),671=>array(29,0,523,437),672=>array(30,-200,803,638),673=>array(131,0,595,598),674=>array(163,0,608,598),688=>array(184,360,562,800),689=>array(168,361,546,800),690=>array(213,225,552,800),691=>array(213,359,611,688),692=>array(183,353,580,682),693=>array(203,231,600,683),694=>array(190,361,670,778),695=>array(205,359,608,681),696=>array(165,239,616,682),697=>array(327,461,519,645),698=>array(242,461,584,645),699=>array(309,496,479,666),700=>array(304,496,497,660),701=>array(324,440,478,664),702=>array(383,486,498,667),703=>array(333,486,448,667),704=>array(283,358,563,766),705=>array(277,358,576,766),706=>array(287,570,577,800),707=>array(290,570,595,800),708=>array(280,570,536,800),709=>array(329,570,590,800),710=>array(218,497,570,661),711=>array(257,497,609,661),712=>array(344,465,454,660),713=>array(249,546,600,626),714=>array(332,496,525,660),715=>array(274,496,444,666),716=>array(344,-200,454,-5),717=>array(108,-114,459,-34),718=>array(221,-194,391,-24),719=>array(136,-192,329,-28),720=>array(211,0,466,437),721=>array(282,245,466,437),722=>array(295,198,410,379),723=>array(313,198,428,379),724=>array(316,511,516,644),725=>array(330,511,530,644),726=>array(329,508,529,704),727=>array(329,571,529,641),728=>array(234,503,586,656),729=>array(-235,534,-112,654),730=>array(309,496,498,677),731=>array(223,-200,434,0),732=>array(214,531,595,648),733=>array(239,498,608,662),734=>array(207,237,502,439),735=>array(335,514,518,677),736=>array(249,230,627,682),737=>array(213,360,536,800),738=>array(230,359,574,700),739=>array(196,360,610,682),740=>array(296,374,598,800),741=>array(157,-25,625,800),742=>array(135,-37,617,800),743=>array(94,-37,617,800),744=>array(60,-37,617,800),745=>array(28,-25,617,800),746=>array(70,-25,538,715),747=>array(66,-35,558,404),748=>array(92,-199,444,-35),749=>array(148,503,715,734),750=>array(190,331,620,623),751=>array(124,-199,476,-35),752=>array(280,-200,536,30),753=>array(287,-200,577,30),754=>array(127,-200,417,30),755=>array(309,-186,498,-5),756=>array(336,222,506,392),757=>array(268,222,574,392),758=>array(281,205,474,369),759=>array(100,-184,481,-67),760=>array(234,309,455,761),761=>array(307,518,508,701),762=>array(322,518,515,701),763=>array(84,-65,277,118),764=>array(138,-67,339,116),765=>array(59,-200,494,-22),766=>array(59,-200,444,-22),767=>array(-3,-200,565,29),768=>array(-326,496,-156,666),769=>array(-256,496,-63,660),770=>array(-382,497,-30,661),771=>array(-386,531,-5,648),772=>array(-351,546,0,626),773=>array(-443,546,50,626),774=>array(-335,503,17,656),775=>array(-235,534,-112,654),776=>array(-320,534,11,654),777=>array(-293,486,-102,682),778=>array(-248,496,-59,677),779=>array(-313,498,56,662),780=>array(-333,497,19,661),781=>array(-187,514,-86,713),782=>array(-277,514,-7,713),783=>array(-403,496,-60,666),784=>array(-366,503,-14,754),785=>array(-323,471,29,624),786=>array(-106,496,64,666),787=>array(-62,484,131,648),788=>array(-114,452,40,676),789=>array(-69,530,124,694),790=>array(-371,-193,-201,-23),791=>array(-403,-194,-210,-30),792=>array(-390,-200,-234,-24),793=>array(-374,-200,-218,-24),794=>array(37,510,230,693),795=>array(-61,483,128,698),796=>array(-404,-179,-289,2),797=>array(-413,-200,-213,-67),798=>array(-398,-200,-198,-67),799=>array(-432,-200,-232,-4),800=>array(-405,-136,-205,-66),801=>array(-572,-200,-250,0),802=>array(-356,-200,-76,0),803=>array(-407,-176,-284,-56),804=>array(-496,-170,-165,-50),805=>array(-427,-198,-238,-17),806=>array(-437,-191,-265,-21),807=>array(-450,-200,-212,0),808=>array(-377,-200,-166,0),809=>array(-371,-200,-270,-1),810=>array(-474,-199,-162,-31),811=>array(-495,-173,-138,-43),812=>array(-476,-184,-124,-20),813=>array(-508,-200,-156,-36),814=>array(-455,-173,-103,-20),815=>array(-500,-200,-148,-47),816=>array(-490,-168,-109,-51),817=>array(-487,-139,-136,-59),818=>array(-642,-200,-21,-100),819=>array(-642,-200,-3,-19),820=>array(-373,201,8,318),821=>array(-349,289,2,369),822=>array(-511,205,7,305),823=>array(-415,222,-26,456),824=>array(-536,180,103,534),825=>array(-382,-200,-267,-19),826=>array(-474,-200,-163,-32),827=>array(-424,-200,-214,-23),828=>array(-495,-198,-137,-53),829=>array(-259,501,-76,664),830=>array(-258,485,-120,722),831=>array(-469,619,170,800),832=>array(-228,496,-58,666),833=>array(-207,496,-14,660),834=>array(-335,531,46,648),835=>array(-208,484,-15,648),836=>array(-336,496,21,712),837=>array(-322,-200,-43,0),838=>array(-316,477,-5,645),839=>array(-514,-200,-139,-11),840=>array(-443,-200,-184,-1),841=>array(-404,-200,-211,-17),842=>array(-350,502,35,666),843=>array(-378,463,3,780),844=>array(-344,491,66,749),845=>array(-465,-200,-174,-39),846=>array(-411,-194,-267,-24),848=>array(-310,459,-5,689),849=>array(-137,511,-22,692),850=>array(-335,487,17,734),851=>array(-413,-200,-230,-37),852=>array(-394,-200,-104,30),853=>array(-434,-200,-144,30),854=>array(-576,-200,-53,30),855=>array(-207,486,-92,667),856=>array(-235,534,-112,654),857=>array(-431,-200,-212,8),858=>array(-461,-200,-157,-11),859=>array(-258,477,-60,684),860=>array(-400,-200,388,24),861=>array(-254,476,534,700),862=>array(-193,512,428,612),863=>array(-343,-195,278,-95),864=>array(-432,-166,329,-49),865=>array(-292,416,496,640),866=>array(-311,-200,276,-13),867=>array(-288,468,-64,669),868=>array(-301,468,-74,669),869=>array(-296,476,-89,745),870=>array(-296,468,-70,669),871=>array(-292,468,-72,663),872=>array(-299,466,-68,667),873=>array(-302,467,-47,743),874=>array(-308,476,-66,745),875=>array(-336,478,-58,672),876=>array(-307,478,-54,672),877=>array(-256,467,-61,729),878=>array(-298,474,-38,663),879=>array(-311,476,-48,665),884=>array(327,461,519,645),885=>array(147,-149,351,143),890=>array(243,-200,522,0),894=>array(118,-158,431,437),900=>array(79,460,272,624),901=>array(227,496,584,712),902=>array(-23,0,633,583),903=>array(302,304,455,437),904=>array(-34,0,711,585),905=>array(-41,0,689,584),906=>array(27,0,669,583),908=>array(-8,-14,637,597),910=>array(-66,0,702,587),911=>array(7,0,651,583),912=>array(164,-16,543,712),913=>array(-11,0,633,583),914=>array(22,0,620,583),915=>array(38,0,690,583),916=>array(-29,0,615,583),917=>array(24,0,653,583),918=>array(53,0,608,583),919=>array(12,0,655,583),920=>array(63,-14,637,597),921=>array(63,0,602,583),922=>array(2,0,667,583),923=>array(-16,0,628,583),924=>array(-10,0,728,583),925=>array(21,0,706,583),926=>array(35,0,677,583),927=>array(55,-14,629,597),928=>array(25,0,667,583),929=>array(39,0,633,583),931=>array(64,0,642,583),932=>array(81,0,642,583),933=>array(78,0,644,583),934=>array(48,0,651,583),935=>array(-1,0,672,583),936=>array(60,0,694,583),937=>array(30,0,639,583),938=>array(63,0,602,757),939=>array(78,0,644,757),940=>array(75,-14,626,696),941=>array(115,-16,589,675),942=>array(57,-200,599,675),943=>array(176,-16,549,675),944=>array(121,-16,700,715),945=>array(50,-14,601,467),946=>array(1,-200,591,623),947=>array(95,-200,655,437),948=>array(80,-16,656,638),949=>array(115,-16,589,450),950=>array(111,-200,624,624),951=>array(30,-200,572,450),952=>array(129,-15,599,623),953=>array(164,-16,537,437),954=>array(60,0,624,437),955=>array(25,0,586,624),956=>array(-9,-200,605,437),957=>array(94,0,625,437),958=>array(141,-200,609,637),959=>array(74,-16,599,450),960=>array(41,0,651,437),961=>array(-35,-200,616,450),962=>array(113,-20,571,458),963=>array(58,-16,654,450),964=>array(138,-16,588,437),965=>array(89,-16,668,437),966=>array(65,-200,633,450),967=>array(-18,-200,658,437),968=>array(41,-200,688,638),969=>array(47,-40,636,453),970=>array(164,-16,537,610),971=>array(89,-16,668,630),972=>array(74,-16,599,675),973=>array(89,-16,668,675),974=>array(47,-40,636,678),976=>array(117,-46,599,639),977=>array(105,-44,591,649),978=>array(82,0,681,563),979=>array(14,-25,710,589),980=>array(82,0,681,720),981=>array(22,-200,642,639),982=>array(40,-41,639,456),986=>array(63,-171,716,587),987=>array(79,-172,642,464),988=>array(22,-25,671,588),989=>array(1,-200,651,451),1008=>array(8,-26,661,442),1009=>array(57,-200,609,468),1012=>array(64,-14,637,597),1013=>array(189,-41,539,456),1024=>array(13,0,642,793),1025=>array(13,0,642,766),1026=>array(97,-187,614,582),1027=>array(10,0,662,790),1028=>array(28,-14,612,597),1029=>array(52,-14,614,597),1030=>array(63,0,602,583),1031=>array(63,0,602,764),1032=>array(4,-14,667,583),1033=>array(-63,0,638,583),1034=>array(-83,0,644,584),1035=>array(69,0,597,583),1036=>array(0,0,664,788),1037=>array(0,0,642,793),1038=>array(87,0,654,769),1039=>array(0,-99,642,583),1040=>array(-11,0,633,583),1041=>array(0,0,652,583),1042=>array(22,0,620,583),1043=>array(10,0,662,583),1044=>array(-19,-141,657,583),1045=>array(13,0,642,583),1046=>array(-31,0,726,583),1047=>array(62,-14,598,597),1048=>array(0,0,642,583),1049=>array(0,0,642,776),1050=>array(0,0,664,583),1051=>array(6,0,649,583),1052=>array(-10,0,728,583),1053=>array(12,0,655,583),1054=>array(35,-14,609,597),1055=>array(0,0,642,583),1056=>array(23,0,617,583),1057=>array(70,-14,653,597),1058=>array(81,0,642,583),1059=>array(87,0,654,583),1060=>array(36,0,639,583),1061=>array(-1,0,672,583),1062=>array(0,-141,642,583),1063=>array(87,0,593,583),1064=>array(-34,0,731,583),1065=>array(-34,-141,731,583),1066=>array(20,0,651,583),1067=>array(-33,0,727,583),1068=>array(48,0,598,583),1069=>array(9,-14,591,597),1070=>array(-20,-14,669,597),1071=>array(-29,0,681,583),1072=>array(65,-16,583,450),1073=>array(58,-14,599,641),1074=>array(87,0,570,437),1075=>array(97,0,584,437),1076=>array(21,-92,643,437),1077=>array(74,-16,600,450),1078=>array(-18,0,696,437),1079=>array(74,-16,565,450),1080=>array(13,0,623,437),1081=>array(13,0,623,630),1082=>array(31,0,595,437),1083=>array(10,0,649,437),1084=>array(-30,0,726,437),1085=>array(43,0,653,437),1086=>array(64,-16,589,450),1087=>array(41,0,651,437),1088=>array(-28,-200,636,450),1089=>array(48,-16,581,450),1090=>array(115,1,623,438),1091=>array(-22,-200,652,437),1092=>array(-13,-200,669,648),1093=>array(30,0,641,437),1094=>array(32,-92,626,437),1095=>array(95,0,599,437),1096=>array(-32,0,724,437),1097=>array(-32,-92,724,437),1098=>array(71,0,598,437),1099=>array(-38,0,698,437),1100=>array(92,0,549,437),1101=>array(57,-16,600,450),1102=>array(-34,-16,673,450),1103=>array(54,0,624,437),1104=>array(74,-16,600,671),1105=>array(74,-16,600,622),1106=>array(68,-185,597,624),1107=>array(97,0,584,654),1108=>array(66,-16,600,450),1109=>array(83,-16,592,450),1110=>array(72,0,550,623),1111=>array(72,0,564,623),1112=>array(64,-200,561,623),1113=>array(-42,-1,660,436),1114=>array(-16,0,662,437),1115=>array(36,0,596,624),1116=>array(31,0,595,654),1117=>array(13,0,623,668),1118=>array(-22,-200,652,663),1119=>array(32,-99,644,437),1136=>array(60,0,694,583),1137=>array(41,-200,688,638),1138=>array(55,-14,629,597),1156=>array(-323,471,29,624),1157=>array(-210,452,-56,676),1158=>array(-153,484,40,648),1162=>array(10,-141,654,771),1163=>array(10,-141,622,630),1164=>array(21,0,574,633),1165=>array(93,0,551,516),1166=>array(22,0,618,583),1167=>array(-41,-200,625,450),1168=>array(11,0,677,700),1169=>array(107,0,604,529),1170=>array(11,0,662,583),1171=>array(107,0,595,437),1172=>array(13,-145,664,583),1173=>array(107,-145,595,437),1174=>array(-31,-141,726,583),1175=>array(-18,-92,696,437),1176=>array(73,-199,610,597),1177=>array(83,-199,575,450),1178=>array(5,-141,671,583),1179=>array(61,-141,627,437),1180=>array(15,0,681,583),1181=>array(38,0,663,437),1182=>array(15,0,681,583),1183=>array(61,0,627,437),1184=>array(31,-1,702,583),1185=>array(69,0,668,437),1186=>array(32,-141,676,583),1187=>array(40,-141,652,437),1188=>array(-33,0,744,583),1189=>array(9,-1,693,437),1190=>array(-36,-145,678,583),1191=>array(-44,-145,671,437),1192=>array(59,-132,643,597),1193=>array(92,-132,626,450),1194=>array(59,-199,643,597),1195=>array(92,-199,626,450),1196=>array(101,-141,662,583),1197=>array(114,-141,621,437),1198=>array(78,0,644,583),1199=>array(78,-146,644,437),1200=>array(103,0,674,583),1201=>array(76,-146,643,437),1202=>array(9,-141,683,583),1203=>array(30,-141,642,437),1204=>array(56,-141,724,583),1205=>array(25,-141,683,437),1206=>array(119,-141,627,583),1207=>array(109,-141,615,437),1208=>array(129,0,637,583),1209=>array(109,0,615,437),1210=>array(7,0,513,583),1211=>array(1,0,505,437),1212=>array(18,-18,674,601),1213=>array(38,-16,633,450),1214=>array(18,-200,674,601),1215=>array(48,-200,643,450),1216=>array(63,0,602,583),1217=>array(-31,0,726,776),1218=>array(-18,0,696,645),1219=>array(15,-145,681,583),1220=>array(51,-145,617,437),1221=>array(27,-141,672,583),1222=>array(14,-141,645,437),1223=>array(32,-145,676,583),1224=>array(50,-145,622,437),1225=>array(22,-141,666,583),1226=>array(50,-141,622,437),1227=>array(129,-141,637,583),1228=>array(109,-141,615,437),1229=>array(-10,-141,729,584),1230=>array(-7,-141,704,437),1231=>array(63,0,602,583),1232=>array(-11,0,633,776),1233=>array(65,-16,587,669),1234=>array(-11,0,633,763),1235=>array(65,-16,587,624),1236=>array(-10,0,717,583),1237=>array(3,-16,654,450),1238=>array(13,0,642,776),1239=>array(74,-16,600,667),1240=>array(65,-17,628,601),1241=>array(74,-16,600,450),1242=>array(65,-17,628,763),1243=>array(74,-16,600,626),1244=>array(-31,0,726,763),1245=>array(-18,0,696,623),1246=>array(62,-14,598,765),1247=>array(74,-16,565,623),1248=>array(46,-50,610,583),1249=>array(55,-183,548,442),1250=>array(0,0,642,723),1251=>array(13,0,623,584),1252=>array(0,0,642,763),1253=>array(13,0,623,627),1254=>array(55,-14,629,743),1255=>array(74,-16,599,623),1256=>array(75,-14,649,597),1257=>array(84,-16,609,450),1258=>array(75,-14,649,765),1259=>array(84,-16,609,623),1260=>array(49,-14,631,766),1261=>array(57,-16,600,627),1262=>array(121,0,688,723),1263=>array(-20,-200,654,584),1264=>array(128,0,695,765),1265=>array(-22,-200,652,623),1266=>array(120,0,687,790),1267=>array(-22,-200,652,654),1268=>array(133,0,639,763),1269=>array(101,0,605,624),1270=>array(11,-141,662,583),1271=>array(107,-141,595,437),1272=>array(-12,0,748,763),1273=>array(-21,0,715,623),1296=>array(82,-14,625,597),1297=>array(87,-16,584,450),1298=>array(17,-145,662,583),1299=>array(13,-145,646,437),1306=>array(55,-145,629,597),1307=>array(45,-200,666,450),1308=>array(58,0,685,583),1309=>array(62,0,664,437),1310=>array(5,-1,671,583),1311=>array(61,0,627,437),1456=>array(271,-200,329,-42),1457=>array(155,-200,450,-42),1458=>array(153,-200,447,-42),1459=>array(152,-200,447,-40),1460=>array(254,-111,315,-52),1461=>array(212,-119,388,-60),1462=>array(212,-200,388,-42),1463=>array(206,-95,394,-42),1464=>array(212,-200,389,-40),1465=>array(177,541,237,600),1467=>array(153,-200,447,-42),1468=>array(321,211,381,270),1469=>array(280,-200,320,-24),1470=>array(60,380,540,480),1471=>array(206,540,394,593),1472=>array(250,-153,350,622),1473=>array(539,536,599,595),1474=>array(148,536,208,595),1475=>array(225,-15,375,437),1476=>array(246,674,306,733),1488=>array(60,0,642,480),1489=>array(70,0,552,480),1490=>array(133,0,517,480),1491=>array(150,0,632,480),1492=>array(104,0,612,480),1493=>array(240,0,480,480),1494=>array(214,0,569,480),1495=>array(97,0,611,480),1496=>array(134,0,626,480),1497=>array(234,190,468,480),1498=>array(150,-200,572,480),1499=>array(70,0,570,480),1500=>array(141,0,642,629),1501=>array(80,0,600,480),1502=>array(101,0,611,480),1503=>array(240,-200,480,480),1504=>array(133,0,516,480),1505=>array(122,-1,611,480),1506=>array(70,0,649,480),1507=>array(125,-200,611,480),1508=>array(70,0,612,480),1509=>array(150,-200,642,480),1510=>array(58,0,630,480),1511=>array(80,-200,632,480),1512=>array(150,0,612,480),1513=>array(51,0,671,480),1514=>array(38,0,612,480),1520=>array(126,0,638,480),1521=>array(132,0,638,480),1522=>array(132,190,638,480),1523=>array(242,315,395,605),1524=>array(140,315,513,605),4304=>array(169,102,541,511),4305=>array(170,102,536,667),4306=>array(108,-147,495,428),4307=>array(106,-156,588,428),4308=>array(114,-147,547,428),4309=>array(115,-147,548,428),4310=>array(204,102,582,696),4311=>array(139,90,579,429),4312=>array(168,90,536,428),4313=>array(113,-147,553,440),4314=>array(102,-157,589,428),4315=>array(208,102,598,696),4316=>array(164,102,633,717),4317=>array(132,91,582,428),4318=>array(168,102,565,698),4319=>array(112,-147,589,463),4320=>array(133,90,603,696),4321=>array(176,102,542,696),4322=>array(94,-150,566,564),4323=>array(143,-147,593,439),4324=>array(123,-147,590,428),4325=>array(112,-144,641,737),4326=>array(104,-157,589,428),4327=>array(115,-147,568,440),4328=>array(201,102,640,696),4329=>array(144,93,537,696),4330=>array(91,-148,578,440),4331=>array(168,102,628,696),4332=>array(227,-200,634,721),4333=>array(90,-147,610,658),4334=>array(170,102,544,696),4335=>array(51,-147,607,428),4336=>array(166,102,595,698),4337=>array(146,102,667,707),4338=>array(162,95,500,450),4339=>array(94,-138,568,444),4340=>array(124,-138,548,597),4341=>array(147,102,608,696),4345=>array(159,-170,546,405),4347=>array(123,0,601,594),4348=>array(222,199,574,661),7680=>array(-11,-200,633,583),7681=>array(65,-200,583,450),7682=>array(22,0,620,757),7683=>array(2,-14,623,762),7684=>array(22,-160,620,583),7685=>array(2,-174,623,624),7686=>array(22,-120,620,583),7687=>array(2,-134,623,624),7688=>array(80,-200,663,800),7689=>array(72,-200,606,654),7690=>array(23,0,622,757),7691=>array(74,-14,664,767),7692=>array(23,-160,622,583),7693=>array(74,-174,664,624),7694=>array(23,-120,622,583),7695=>array(74,-139,664,624),7696=>array(22,-200,622,583),7697=>array(73,-200,664,624),7698=>array(23,-200,622,583),7699=>array(69,-200,664,624),7700=>array(21,0,634,800),7701=>array(74,-16,600,800),7702=>array(21,0,634,798),7703=>array(74,-16,600,800),7704=>array(13,-200,642,583),7705=>array(74,-199,600,450),7706=>array(13,-165,642,583),7707=>array(74,-181,600,450),7708=>array(13,-200,642,781),7709=>array(64,-200,597,643),7710=>array(3,0,654,757),7711=>array(84,0,691,775),7712=>array(59,-14,647,717),7713=>array(63,-200,665,571),7714=>array(12,0,655,757),7715=>array(33,0,593,763),7716=>array(12,-160,655,583),7717=>array(33,-160,593,624),7718=>array(12,0,655,757),7719=>array(33,0,609,784),7720=>array(-2,-200,676,583),7721=>array(-2,-200,594,624),7722=>array(12,-200,655,583),7723=>array(33,-200,593,624),7724=>array(63,-165,602,583),7725=>array(72,-165,550,623),7726=>array(92,0,616,799),7727=>array(72,0,560,772),7728=>array(2,0,667,794),7729=>array(42,0,606,800),7730=>array(2,-160,667,583),7731=>array(42,-160,606,624),7732=>array(2,-132,667,583),7733=>array(42,-150,606,624),7734=>array(22,-160,596,583),7735=>array(72,-160,550,624),7736=>array(22,-160,596,717),7737=>array(72,-160,561,744),7738=>array(22,-156,596,583),7739=>array(72,-158,550,624),7740=>array(22,-200,596,583),7741=>array(72,-200,550,624),7742=>array(-10,0,728,792),7743=>array(-9,0,635,654),7744=>array(-10,0,728,748),7745=>array(-9,0,635,610),7746=>array(-10,-160,728,583),7747=>array(-9,-160,635,450),7748=>array(21,0,706,757),7749=>array(33,0,583,610),7750=>array(21,-160,706,583),7751=>array(33,-160,583,450),7752=>array(21,-156,706,583),7753=>array(33,-158,583,450),7754=>array(21,-200,706,583),7755=>array(33,-198,583,450),7756=>array(68,-12,656,800),7757=>array(74,-16,599,800),7758=>array(68,-12,639,800),7759=>array(74,-16,599,787),7760=>array(68,-12,638,800),7761=>array(74,-16,599,800),7762=>array(68,-12,638,800),7763=>array(74,-16,599,800),7764=>array(23,0,617,800),7765=>array(-41,-200,623,654),7766=>array(23,0,617,757),7767=>array(-41,-200,623,630),7768=>array(3,0,611,757),7769=>array(44,0,630,630),7770=>array(3,-160,611,583),7771=>array(44,-160,630,449),7772=>array(3,-160,611,732),7773=>array(44,-160,639,604),7774=>array(3,-144,611,583),7775=>array(44,-144,630,449),7776=>array(62,-14,624,760),7777=>array(83,-16,592,630),7778=>array(62,-174,624,597),7779=>array(83,-176,592,450),7780=>array(72,-12,616,800),7781=>array(83,-16,592,796),7782=>array(72,-12,631,800),7783=>array(83,-16,599,765),7784=>array(62,-174,624,758),7785=>array(83,-176,592,622),7786=>array(81,0,642,757),7787=>array(94,-16,547,751),7788=>array(81,-160,642,583),7789=>array(94,-176,547,591),7790=>array(79,-152,642,583),7791=>array(88,-162,547,591),7792=>array(81,-200,642,583),7793=>array(92,-200,547,591),7794=>array(80,-174,675,583),7795=>array(94,-173,603,437),7796=>array(80,-179,675,583),7797=>array(89,-178,603,437),7798=>array(80,-200,675,585),7799=>array(94,-198,603,437),7800=>array(105,-14,689,800),7801=>array(94,-13,603,786),7802=>array(105,-14,689,800),7803=>array(94,-13,612,764),7804=>array(41,0,685,762),7805=>array(61,0,663,615),7806=>array(41,-160,685,583),7807=>array(61,-160,663,437),7808=>array(58,0,685,800),7809=>array(62,0,664,660),7810=>array(58,0,685,800),7811=>array(62,0,664,654),7812=>array(58,0,685,757),7813=>array(62,0,664,610),7814=>array(58,0,685,757),7815=>array(62,0,664,630),7816=>array(58,-160,685,583),7817=>array(62,-160,664,437),7818=>array(-1,0,672,757),7819=>array(30,0,641,630),7820=>array(-1,0,672,757),7821=>array(30,0,641,610),7822=>array(78,0,644,757),7823=>array(-22,-200,652,630),7824=>array(53,0,608,800),7825=>array(85,0,599,654),7826=>array(53,-160,608,583),7827=>array(85,-160,599,437),7828=>array(53,-160,608,583),7829=>array(85,-162,599,437),7830=>array(33,-160,593,624),7831=>array(94,-16,547,751),7832=>array(62,0,664,681),7833=>array(-22,-200,652,681),7834=>array(65,-16,583,687),7835=>array(64,0,671,783),7840=>array(-11,-160,633,583),7841=>array(65,-176,583,450),7842=>array(-11,0,633,800),7843=>array(65,-16,583,705),7844=>array(-11,0,727,800),7845=>array(65,-16,709,765),7846=>array(-11,0,636,800),7847=>array(65,-16,583,768),7848=>array(-11,0,706,800),7849=>array(65,-16,698,755),7850=>array(-14,-1,650,792),7851=>array(65,-16,590,784),7852=>array(-11,-160,633,787),7853=>array(65,-176,583,662),7854=>array(-14,-1,632,799),7855=>array(65,-16,584,800),7856=>array(-14,-1,632,800),7857=>array(65,-16,584,800),7858=>array(-14,-1,632,800),7859=>array(65,-16,584,800),7860=>array(-14,-1,632,797),7861=>array(65,-16,604,800),7862=>array(-11,-160,633,769),7863=>array(65,-176,584,664),7864=>array(13,-160,642,583),7865=>array(74,-176,600,450),7866=>array(13,0,642,800),7867=>array(74,-16,600,705),7868=>array(13,0,642,762),7869=>array(74,-16,600,615),7870=>array(13,0,709,800),7871=>array(74,-16,720,777),7872=>array(13,0,653,800),7873=>array(74,-16,600,776),7874=>array(13,0,705,800),7875=>array(74,-16,714,776),7876=>array(21,0,652,798),7877=>array(74,-16,620,799),7878=>array(13,-160,642,789),7879=>array(74,-176,600,629),7880=>array(63,0,602,800),7881=>array(72,0,550,703),7882=>array(63,-160,602,583),7883=>array(72,-160,550,623),7884=>array(55,-174,629,597),7885=>array(74,-176,599,450),7886=>array(55,-14,629,800),7887=>array(74,-16,599,704),7888=>array(55,-14,709,800),7889=>array(74,-16,732,767),7890=>array(55,-14,656,800),7891=>array(74,-16,599,774),7892=>array(55,-14,705,800),7893=>array(74,-16,705,777),7894=>array(68,-12,665,792),7895=>array(74,-16,615,787),7896=>array(55,-174,629,766),7897=>array(74,-176,599,654),7898=>array(46,-14,693,800),7899=>array(30,-16,640,652),7900=>array(46,-14,693,800),7901=>array(30,-16,640,656),7902=>array(46,-14,693,800),7903=>array(30,-16,640,703),7904=>array(46,-14,693,780),7905=>array(30,-16,640,635),7906=>array(46,-174,693,664),7907=>array(30,-176,640,520),7908=>array(80,-174,675,583),7909=>array(94,-173,603,437),7910=>array(80,-14,675,800),7911=>array(94,-13,603,702),7912=>array(59,-14,747,800),7913=>array(35,-13,693,675),7914=>array(59,-14,747,800),7915=>array(35,-13,693,665),7916=>array(59,-14,747,800),7917=>array(35,-13,693,702),7918=>array(59,-14,747,777),7919=>array(35,-13,693,635),7920=>array(59,-174,747,697),7921=>array(35,-173,693,551),7922=>array(78,0,644,800),7923=>array(-22,-200,652,660),7924=>array(78,-160,644,583),7925=>array(-22,-200,652,437),7926=>array(78,0,644,800),7927=>array(-22,-200,652,700),7928=>array(78,0,644,762),7929=>array(-22,-200,652,635),8208=>array(101,229,619,329),8209=>array(101,229,619,329),8210=>array(101,229,619,329),8211=>array(101,229,619,329),8212=>array(-18,229,642,329),8213=>array(-18,229,642,329),8214=>array(163,-39,437,621),8215=>array(-43,-200,596,-19),8216=>array(191,344,391,636),8217=>array(210,331,410,623),8218=>array(144,-194,344,98),8219=>array(393,331,543,623),8220=>array(113,344,541,636),8221=>array(243,331,673,623),8222=>array(43,-194,480,98),8223=>array(252,331,640,623),8224=>array(175,-92,589,622),8225=>array(123,-92,589,622),8226=>array(211,154,517,453),8227=>array(208,116,517,417),8228=>array(232,-15,385,117),8229=>array(123,-15,497,117),8230=>array(34,-15,587,117),8231=>array(290,182,413,302),8240=>array(104,0,627,618),8241=>array(21,-9,619,614),8242=>array(222,331,484,623),8243=>array(158,331,613,623),8244=>array(94,331,709,623),8245=>array(279,331,429,623),8246=>array(215,331,557,623),8247=>array(151,331,655,623),8248=>array(108,-180,430,4),8249=>array(80,20,425,415),8250=>array(273,20,617,415),8251=>array(89,11,623,551),8252=>array(109,-15,626,638),8253=>array(156,-30,536,592),8254=>array(141,660,762,760),8255=>array(64,-194,508,-24),8256=>array(180,434,623,604),8257=>array(123,-200,467,280),8258=>array(-97,-15,784,774),8259=>array(112,24,601,511),8260=>array(52,102,676,500),8261=>array(240,-153,557,623),8262=>array(143,-153,460,623),8263=>array(42,-40,707,602),8264=>array(97,-15,726,638),8265=>array(9,-15,708,638),8266=>array(144,-20,600,435),8267=>array(19,-174,648,583),8268=>array(121,111,637,485),8269=>array(-37,111,479,485),8270=>array(129,-20,565,394),8271=>array(139,-145,350,417),8272=>array(106,3,623,604),8273=>array(110,-25,640,799),8274=>array(67,-12,654,799),8275=>array(161,183,542,300),8276=>array(49,-194,492,-24),8277=>array(101,229,619,329),8278=>array(164,0,642,594),8279=>array(63,331,834,623),8280=>array(77,0,671,685),8281=>array(14,0,716,594),8282=>array(251,0,518,799),8283=>array(70,-198,673,800),8284=>array(48,-1,667,564),8285=>array(246,0,514,799),8286=>array(275,0,541,799),8304=>array(266,368,554,767),8305=>array(244,372,519,799),8308=>array(230,372,523,752),8309=>array(229,369,551,758),8310=>array(259,368,571,767),8311=>array(293,383,572,764),8312=>array(266,368,568,767),8313=>array(269,368,578,767),8314=>array(289,439,565,714),8315=>array(299,544,575,609),8316=>array(299,485,592,660),8317=>array(339,322,529,800),8318=>array(291,322,481,800),8319=>array(213,373,549,672),8320=>array(176,-154,464,245),8321=>array(154,-143,424,248),8322=>array(122,-153,458,237),8323=>array(139,-154,464,245),8324=>array(150,-150,443,230),8325=>array(149,-153,471,236),8326=>array(159,-154,471,245),8327=>array(193,-149,472,232),8328=>array(146,-154,448,245),8329=>array(159,-154,468,245),8330=>array(158,-122,434,153),8331=>array(171,-17,447,48),8332=>array(172,-72,465,103),8333=>array(206,-200,396,278),8334=>array(170,-200,360,278),8336=>array(108,-172,453,167),8337=>array(111,-175,460,164),8338=>array(119,-175,470,164),8339=>array(79,-166,490,153),8340=>array(123,-175,472,164),8355=>array(22,0,674,583),8356=>array(64,0,571,598),8357=>array(-10,-142,688,598),8358=>array(29,0,715,583),8361=>array(59,0,725,583),8362=>array(-19,0,619,480),8363=>array(14,-17,652,764),8364=>array(65,-14,698,597),8365=>array(20,0,686,583),8366=>array(136,0,682,583),8369=>array(22,0,690,583),8370=>array(78,-123,667,684),8371=>array(-12,0,686,583),8372=>array(49,-14,672,597),8373=>array(48,-123,578,684),8376=>array(93,0,680,597),8377=>array(117,0,634,584),8448=>array(63,-10,687,800),8449=>array(72,-13,696,800),8451=>array(140,-14,697,745),8453=>array(81,-13,705,800),8454=>array(60,-10,684,800),8455=>array(80,-14,623,597),8457=>array(140,0,724,745),8462=>array(33,0,593,624),8465=>array(145,-25,643,603),8466=>array(63,0,567,598),8467=>array(114,-48,691,644),8470=>array(-32,0,686,583),8472=>array(25,-175,623,479),8476=>array(47,-24,601,607),8480=>array(23,207,743,592),8481=>array(43,0,630,563),8482=>array(60,220,732,583),8486=>array(30,0,639,583),8487=>array(14,0,623,583),8489=>array(138,-13,511,440),8490=>array(2,0,667,583),8491=>array(-11,0,633,799),8494=>array(82,-16,608,450),8498=>array(55,2,706,585),8501=>array(60,0,642,480),8502=>array(70,0,552,480),8503=>array(133,0,517,480),8504=>array(150,0,632,480),8506=>array(-80,15,663,590),8507=>array(-22,0,708,563),8513=>array(-35,1,553,612),8514=>array(100,0,674,583),8515=>array(25,0,679,583),8516=>array(-44,0,522,583),8523=>array(27,-17,482,547),8525=>array(49,-11,673,798),8526=>array(113,0,602,438),8531=>array(0,-20,648,646),8532=>array(-12,-20,665,642),8533=>array(-22,-25,640,644),8534=>array(-44,-25,641,642),8535=>array(-31,-25,639,641),8536=>array(-14,-25,637,638),8537=>array(2,-12,655,644),8538=>array(10,2,670,634),8539=>array(3,-17,655,644),8540=>array(-8,-17,651,643),8541=>array(-2,-17,649,634),8542=>array(61,-17,612,633),8543=>array(-48,51,529,644),8592=>array(89,139,631,423),8593=>array(226,1,512,542),8594=>array(59,139,601,423),8595=>array(198,1,484,542),8596=>array(69,139,650,423),8597=>array(183,-9,496,571),8598=>array(208,80,526,472),8599=>array(112,80,582,473),8600=>array(108,80,502,472),8601=>array(122,80,592,473),8612=>array(49,139,614,423),8613=>array(164,0,510,540),8614=>array(49,139,614,423),8615=>array(164,0,510,540),8633=>array(6,-19,634,553),8636=>array(47,222,595,396),8637=>array(47,51,582,225),8638=>array(259,1,486,541),8639=>array(269,0,502,540),8640=>array(57,201,592,375),8641=>array(47,122,595,296),8642=>array(269,0,502,540),8643=>array(229,1,456,541),8644=>array(29,6,651,573),8645=>array(66,1,614,542),8646=>array(29,8,621,576),8647=>array(49,-1,631,583),8648=>array(56,1,632,542),8649=>array(29,-1,611,583),8650=>array(38,1,614,542),8651=>array(25,22,605,446),8652=>array(47,20,603,451),8656=>array(47,37,618,457),8657=>array(174,-40,595,684),8658=>array(27,37,598,457),8659=>array(125,-50,546,674),8660=>array(32,37,633,457),8661=>array(89,-150,585,684),8704=>array(90,0,734,583),8705=>array(74,-100,679,700),8706=>array(138,-16,579,590),8707=>array(43,0,675,583),8708=>array(13,-113,666,695),8709=>array(80,-113,631,639),8710=>array(15,0,585,583),8711=>array(141,0,711,583),8712=>array(79,5,673,555),8713=>array(69,-113,673,695),8714=>array(141,3,584,437),8715=>array(48,5,642,555),8716=>array(48,-113,642,695),8717=>array(16,0,459,434),8718=>array(130,0,577,500),8719=>array(8,-100,783,670),8720=>array(-183,-100,592,670),8721=>array(32,-97,668,671),8722=>array(101,230,619,330),8723=>array(101,0,702,723),8724=>array(81,-42,599,700),8725=>array(69,-113,656,695),8726=>array(83,-113,517,695),8727=>array(178,77,614,491),8728=>array(154,136,448,429),8729=>array(211,154,517,453),8730=>array(62,-60,650,697),8731=>array(52,-60,650,800),8732=>array(62,-60,650,800),8733=>array(101,124,644,500),8734=>array(-4,124,604,500),8735=>array(60,0,553,513),8739=>array(249,-27,350,582),8741=>array(150,-27,450,582),8743=>array(77,-14,523,488),8744=>array(71,-18,517,484),8745=>array(63,-11,569,465),8746=>array(109,-11,615,465),8747=>array(76,-78,666,744),8748=>array(-24,-78,766,744),8756=>array(99,4,602,468),8757=>array(-4,-20,499,444),8758=>array(290,1,413,468),8759=>array(100,1,602,468),8764=>array(110,182,570,378),8776=>array(100,108,600,481),8800=>array(81,22,638,525),8801=>array(58,46,641,514),8804=>array(50,0,666,591),8805=>array(52,0,660,591),8834=>array(45,68,620,457),8835=>array(25,68,600,457),8838=>array(61,-16,640,536),8839=>array(51,-16,639,549),8869=>array(16,0,585,622),8898=>array(42,-39,662,710),8899=>array(80,-39,699,710),8976=>array(77,115,551,445),9001=>array(148,-149,478,627),9002=>array(152,-149,482,627),9251=>array(92,0,541,203),9674=>array(133,-19,590,593),9675=>array(33,-2,567,532),9711=>array(0,0,600,600),9824=>array(91,-10,593,617),9825=>array(126,-55,666,586),9826=>array(131,-31,590,601),9827=>array(56,-11,654,580),9828=>array(91,-10,593,617),9829=>array(126,-56,666,585),9830=>array(128,-31,587,601),9831=>array(56,-11,654,580),9833=>array(65,-17,388,583),9834=>array(65,-17,509,583),9835=>array(29,-17,555,570),9836=>array(29,-17,555,570),9837=>array(82,-30,531,656),9838=>array(91,-187,599,623),9839=>array(31,-190,658,624),11798=>array(76,20,616,685),11799=>array(77,4,616,525),11800=>array(114,-33,494,589),11802=>array(81,229,599,584),11803=>array(104,179,596,581),11806=>array(94,179,586,511),11807=>array(84,61,576,385),11816=>array(74,-153,634,632),11817=>array(24,-153,584,632),11818=>array(110,0,583,524),11819=>array(77,50,631,460),11820=>array(34,40,588,450),11821=>array(80,30,603,535),11822=>array(156,-15,602,598),42888=>array(124,-88,476,76),42889=>array(234,-15,455,437),42890=>array(190,138,469,422),42891=>array(298,179,511,679),42892=>array(319,275,511,679),64256=>array(3,0,721,623),64257=>array(47,0,552,623),64258=>array(22,0,613,623),64285=>array(234,105,468,480),64287=>array(132,103,638,480),64288=>array(57,0,649,480),64298=>array(51,0,671,595),64299=>array(51,0,671,595),64300=>array(51,0,671,595),64301=>array(51,0,671,595),64302=>array(60,-95,642,480),64303=>array(60,-200,642,480),64304=>array(60,-101,642,480),64305=>array(70,0,552,480),64306=>array(133,0,517,480),64307=>array(150,0,632,480),64308=>array(104,0,612,480),64309=>array(229,0,480,480),64310=>array(194,0,569,480),64312=>array(134,0,626,480),64313=>array(213,190,468,480),64314=>array(150,-200,572,480),64315=>array(70,0,570,480),64316=>array(141,0,642,629),64318=>array(101,0,611,480),64320=>array(133,0,516,480),64321=>array(122,-1,611,480),64323=>array(125,-200,611,480),64324=>array(70,0,612,480),64326=>array(58,0,630,480),64327=>array(80,-200,632,480),64328=>array(150,0,612,480),64329=>array(51,0,671,480),64330=>array(38,0,612,480),64331=>array(240,0,480,600),64332=>array(70,0,552,593),64333=>array(70,0,570,593),64334=>array(70,0,612,593),64335=>array(150,0,643,629),65532=>array(31,1,600,637),65533=>array(16,-147,703,800),65535=>array(-3,-110,723,673)); +$cw=array(0=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600,256=>600,257=>600,258=>600,259=>600,260=>600,261=>600,262=>600,263=>600,264=>600,265=>600,266=>600,267=>600,268=>600,269=>600,270=>600,271=>600,272=>600,273=>600,274=>600,275=>600,276=>600,277=>600,278=>600,279=>600,280=>600,281=>600,282=>600,283=>600,284=>600,285=>600,286=>600,287=>600,288=>600,289=>600,290=>600,291=>600,292=>600,293=>600,294=>600,295=>600,296=>600,297=>600,298=>600,299=>600,300=>600,301=>600,302=>600,303=>600,304=>600,305=>600,306=>600,307=>600,308=>600,309=>600,310=>600,311=>600,312=>600,313=>600,314=>600,315=>600,316=>600,317=>600,318=>600,319=>600,320=>600,321=>600,322=>600,323=>600,324=>600,325=>600,326=>600,327=>600,328=>600,329=>600,330=>600,331=>600,332=>600,333=>600,334=>600,335=>600,336=>600,337=>600,338=>600,339=>600,340=>600,341=>600,342=>600,343=>600,344=>600,345=>600,346=>600,347=>600,348=>600,349=>600,350=>600,351=>600,352=>600,353=>600,354=>600,355=>600,356=>600,357=>600,358=>600,359=>600,360=>600,361=>600,362=>600,363=>600,364=>600,365=>600,366=>600,367=>600,368=>600,369=>600,370=>600,371=>600,372=>600,373=>600,374=>600,375=>600,376=>600,377=>600,378=>600,379=>600,380=>600,381=>600,382=>600,383=>600,384=>600,385=>600,386=>600,387=>600,388=>600,389=>600,390=>600,391=>600,392=>600,393=>600,394=>600,395=>600,396=>600,397=>600,398=>600,399=>600,400=>600,401=>600,402=>600,403=>600,404=>600,405=>600,406=>600,407=>600,408=>600,409=>600,410=>600,411=>600,412=>600,413=>600,414=>600,415=>600,416=>600,417=>600,418=>600,419=>600,420=>600,421=>600,422=>600,423=>600,424=>600,425=>600,426=>600,427=>600,428=>600,429=>600,430=>600,431=>600,432=>600,433=>600,434=>600,435=>600,436=>600,437=>600,438=>600,439=>600,440=>600,441=>600,442=>600,443=>600,444=>600,445=>600,446=>600,447=>600,448=>600,449=>600,450=>600,451=>600,452=>600,453=>600,454=>600,455=>600,456=>600,457=>600,458=>600,459=>600,460=>600,461=>600,462=>600,463=>600,464=>600,465=>600,466=>600,467=>600,468=>600,469=>600,470=>600,471=>600,472=>600,473=>600,474=>600,475=>600,476=>600,477=>600,478=>600,479=>600,480=>600,481=>600,482=>600,483=>600,484=>600,485=>600,486=>600,487=>600,488=>600,489=>600,490=>600,491=>600,492=>600,493=>600,494=>600,495=>600,496=>600,497=>600,498=>600,499=>600,500=>600,501=>600,502=>600,503=>600,504=>600,505=>600,506=>600,507=>600,508=>600,509=>600,510=>600,511=>600,512=>600,513=>600,514=>600,515=>600,516=>600,517=>600,518=>600,519=>600,520=>600,521=>600,522=>600,523=>600,524=>600,525=>600,526=>600,527=>600,528=>600,529=>600,530=>600,531=>600,532=>600,533=>600,534=>600,535=>600,536=>600,537=>600,538=>600,539=>600,540=>600,541=>600,542=>600,543=>600,544=>600,548=>600,549=>600,550=>600,551=>600,552=>600,553=>600,554=>600,555=>600,556=>600,557=>600,558=>600,559=>600,560=>600,561=>600,562=>600,563=>600,567=>600,592=>600,593=>600,594=>600,595=>600,596=>600,598=>600,599=>600,600=>600,601=>600,603=>600,604=>600,607=>600,608=>600,609=>600,613=>600,614=>600,615=>600,616=>600,617=>600,618=>600,619=>600,621=>600,623=>600,624=>600,625=>600,626=>600,627=>600,628=>600,629=>600,633=>600,634=>600,635=>600,636=>600,637=>600,638=>600,639=>600,640=>600,641=>600,642=>600,643=>600,644=>600,645=>600,647=>600,648=>600,649=>600,652=>600,653=>600,654=>600,656=>600,657=>600,658=>600,659=>600,660=>600,661=>600,662=>600,663=>600,664=>600,665=>600,666=>600,667=>600,668=>600,669=>600,670=>600,671=>600,672=>600,673=>600,674=>600,688=>600,689=>600,690=>600,691=>600,692=>600,693=>600,694=>600,695=>600,696=>600,697=>600,698=>600,699=>600,700=>600,701=>600,702=>600,703=>600,704=>600,705=>600,706=>600,707=>600,708=>600,709=>600,710=>600,711=>600,712=>600,713=>600,714=>600,715=>600,716=>600,717=>600,718=>600,719=>600,720=>600,721=>600,722=>600,723=>600,724=>600,725=>600,726=>600,727=>600,728=>600,729=>600,730=>600,731=>600,732=>600,733=>600,734=>600,735=>600,736=>600,737=>600,738=>600,739=>600,740=>600,741=>600,742=>600,743=>600,744=>600,745=>600,746=>600,747=>600,748=>600,749=>600,750=>600,751=>600,752=>600,753=>600,754=>600,755=>600,756=>600,757=>600,758=>600,759=>600,760=>600,761=>600,762=>600,763=>600,764=>600,765=>600,766=>600,767=>600,768=>600,769=>600,770=>600,771=>600,772=>600,773=>600,774=>600,775=>600,776=>600,777=>600,778=>600,779=>600,780=>600,781=>600,782=>600,783=>600,784=>600,785=>600,786=>600,787=>600,788=>600,789=>600,790=>600,791=>600,792=>600,793=>600,794=>600,795=>600,796=>600,797=>600,798=>600,799=>600,800=>600,801=>600,802=>600,803=>600,804=>600,805=>600,806=>600,807=>600,808=>600,809=>600,810=>600,811=>600,812=>600,813=>600,814=>600,815=>600,816=>600,817=>600,818=>600,819=>600,820=>600,821=>600,822=>600,823=>600,824=>600,825=>600,826=>600,827=>600,828=>600,829=>600,830=>600,831=>600,832=>600,833=>600,834=>600,835=>600,836=>600,837=>600,838=>600,839=>600,840=>600,841=>600,842=>600,843=>600,844=>600,845=>600,846=>600,847=>600,848=>600,849=>600,850=>600,851=>600,852=>600,853=>600,854=>600,855=>600,856=>600,857=>600,858=>600,859=>600,860=>600,861=>600,862=>600,863=>600,864=>600,865=>600,866=>600,867=>600,868=>600,869=>600,870=>600,871=>600,872=>600,873=>600,874=>600,875=>600,876=>600,877=>600,878=>600,879=>600,884=>600,885=>600,890=>600,894=>600,900=>600,901=>600,902=>600,903=>600,904=>600,905=>600,906=>600,908=>600,910=>600,911=>600,912=>600,913=>600,914=>600,915=>600,916=>600,917=>600,918=>600,919=>600,920=>600,921=>600,922=>600,923=>600,924=>600,925=>600,926=>600,927=>600,928=>600,929=>600,931=>600,932=>600,933=>600,934=>600,935=>600,936=>600,937=>600,938=>600,939=>600,940=>600,941=>600,942=>600,943=>600,944=>600,945=>600,946=>600,947=>600,948=>600,949=>600,950=>600,951=>600,952=>600,953=>600,954=>600,955=>600,956=>600,957=>600,958=>600,959=>600,960=>600,961=>600,962=>600,963=>600,964=>600,965=>600,966=>600,967=>600,968=>600,969=>600,970=>600,971=>600,972=>600,973=>600,974=>600,976=>600,977=>600,978=>600,979=>600,980=>600,981=>600,982=>600,986=>600,987=>600,988=>600,989=>600,1008=>600,1009=>600,1012=>600,1013=>600,1024=>600,1025=>600,1026=>600,1027=>600,1028=>600,1029=>600,1030=>600,1031=>600,1032=>600,1033=>600,1034=>600,1035=>600,1036=>600,1037=>600,1038=>600,1039=>600,1040=>600,1041=>600,1042=>600,1043=>600,1044=>600,1045=>600,1046=>600,1047=>600,1048=>600,1049=>600,1050=>600,1051=>600,1052=>600,1053=>600,1054=>600,1055=>600,1056=>600,1057=>600,1058=>600,1059=>600,1060=>600,1061=>600,1062=>600,1063=>600,1064=>600,1065=>600,1066=>600,1067=>600,1068=>600,1069=>600,1070=>600,1071=>600,1072=>600,1073=>600,1074=>600,1075=>600,1076=>600,1077=>600,1078=>600,1079=>600,1080=>600,1081=>600,1082=>600,1083=>600,1084=>600,1085=>600,1086=>600,1087=>600,1088=>600,1089=>600,1090=>600,1091=>600,1092=>600,1093=>600,1094=>600,1095=>600,1096=>600,1097=>600,1098=>600,1099=>600,1100=>600,1101=>600,1102=>600,1103=>600,1104=>600,1105=>600,1106=>600,1107=>600,1108=>600,1109=>600,1110=>600,1111=>600,1112=>600,1113=>600,1114=>600,1115=>600,1116=>600,1117=>600,1118=>600,1119=>600,1136=>600,1137=>600,1138=>600,1156=>600,1157=>600,1158=>600,1162=>600,1163=>600,1164=>600,1165=>600,1166=>600,1167=>600,1168=>600,1169=>600,1170=>600,1171=>600,1172=>600,1173=>600,1174=>600,1175=>600,1176=>600,1177=>600,1178=>600,1179=>600,1180=>600,1181=>600,1182=>600,1183=>600,1184=>600,1185=>600,1186=>600,1187=>600,1188=>600,1189=>600,1190=>600,1191=>600,1192=>600,1193=>600,1194=>600,1195=>600,1196=>600,1197=>600,1198=>600,1199=>600,1200=>600,1201=>600,1202=>600,1203=>600,1204=>600,1205=>600,1206=>600,1207=>600,1208=>600,1209=>600,1210=>600,1211=>600,1212=>600,1213=>600,1214=>600,1215=>600,1216=>600,1217=>600,1218=>600,1219=>600,1220=>600,1221=>600,1222=>600,1223=>600,1224=>600,1225=>600,1226=>600,1227=>600,1228=>600,1229=>600,1230=>600,1231=>600,1232=>600,1233=>600,1234=>600,1235=>600,1236=>600,1237=>600,1238=>600,1239=>600,1240=>600,1241=>600,1242=>600,1243=>600,1244=>600,1245=>600,1246=>600,1247=>600,1248=>600,1249=>600,1250=>600,1251=>600,1252=>600,1253=>600,1254=>600,1255=>600,1256=>600,1257=>600,1258=>600,1259=>600,1260=>600,1261=>600,1262=>600,1263=>600,1264=>600,1265=>600,1266=>600,1267=>600,1268=>600,1269=>600,1270=>600,1271=>600,1272=>600,1273=>600,1296=>600,1297=>600,1298=>600,1299=>600,1306=>600,1307=>600,1308=>600,1309=>600,1310=>600,1311=>600,1456=>600,1457=>600,1458=>600,1459=>600,1460=>600,1461=>600,1462=>600,1463=>600,1464=>600,1465=>600,1467=>600,1468=>600,1469=>600,1470=>600,1471=>600,1472=>600,1473=>600,1474=>600,1475=>600,1476=>600,1488=>600,1489=>600,1490=>600,1491=>600,1492=>600,1493=>600,1494=>600,1495=>600,1496=>600,1497=>600,1498=>600,1499=>600,1500=>600,1501=>600,1502=>600,1503=>600,1504=>600,1505=>600,1506=>600,1507=>600,1508=>600,1509=>600,1510=>600,1511=>600,1512=>600,1513=>600,1514=>600,1520=>600,1521=>600,1522=>600,1523=>600,1524=>600,4304=>600,4305=>600,4306=>600,4307=>600,4308=>600,4309=>600,4310=>600,4311=>600,4312=>600,4313=>600,4314=>600,4315=>600,4316=>600,4317=>600,4318=>600,4319=>600,4320=>600,4321=>600,4322=>600,4323=>600,4324=>600,4325=>600,4326=>600,4327=>600,4328=>600,4329=>600,4330=>600,4331=>600,4332=>600,4333=>600,4334=>600,4335=>600,4336=>600,4337=>600,4338=>600,4339=>600,4340=>600,4341=>600,4345=>600,4347=>600,4348=>600,7680=>600,7681=>600,7682=>600,7683=>600,7684=>600,7685=>600,7686=>600,7687=>600,7688=>600,7689=>600,7690=>600,7691=>600,7692=>600,7693=>600,7694=>600,7695=>600,7696=>600,7697=>600,7698=>600,7699=>600,7700=>600,7701=>600,7702=>600,7703=>600,7704=>600,7705=>600,7706=>600,7707=>600,7708=>600,7709=>600,7710=>600,7711=>600,7712=>600,7713=>600,7714=>600,7715=>600,7716=>600,7717=>600,7718=>600,7719=>600,7720=>600,7721=>600,7722=>600,7723=>600,7724=>600,7725=>600,7726=>600,7727=>600,7728=>600,7729=>600,7730=>600,7731=>600,7732=>600,7733=>600,7734=>600,7735=>600,7736=>600,7737=>600,7738=>600,7739=>600,7740=>600,7741=>600,7742=>600,7743=>600,7744=>600,7745=>600,7746=>600,7747=>600,7748=>600,7749=>600,7750=>600,7751=>600,7752=>600,7753=>600,7754=>600,7755=>600,7756=>600,7757=>600,7758=>600,7759=>600,7760=>600,7761=>600,7762=>600,7763=>600,7764=>600,7765=>600,7766=>600,7767=>600,7768=>600,7769=>600,7770=>600,7771=>600,7772=>600,7773=>600,7774=>600,7775=>600,7776=>600,7777=>600,7778=>600,7779=>600,7780=>600,7781=>600,7782=>600,7783=>600,7784=>600,7785=>600,7786=>600,7787=>600,7788=>600,7789=>600,7790=>600,7791=>600,7792=>600,7793=>600,7794=>600,7795=>600,7796=>600,7797=>600,7798=>600,7799=>600,7800=>600,7801=>600,7802=>600,7803=>600,7804=>600,7805=>600,7806=>600,7807=>600,7808=>600,7809=>600,7810=>600,7811=>600,7812=>600,7813=>600,7814=>600,7815=>600,7816=>600,7817=>600,7818=>600,7819=>600,7820=>600,7821=>600,7822=>600,7823=>600,7824=>600,7825=>600,7826=>600,7827=>600,7828=>600,7829=>600,7830=>600,7831=>600,7832=>600,7833=>600,7834=>600,7835=>600,7840=>600,7841=>600,7842=>600,7843=>600,7844=>600,7845=>600,7846=>600,7847=>600,7848=>600,7849=>600,7850=>600,7851=>600,7852=>600,7853=>600,7854=>600,7855=>600,7856=>600,7857=>600,7858=>600,7859=>600,7860=>600,7861=>600,7862=>600,7863=>600,7864=>600,7865=>600,7866=>600,7867=>600,7868=>600,7869=>600,7870=>600,7871=>600,7872=>600,7873=>600,7874=>600,7875=>600,7876=>600,7877=>600,7878=>600,7879=>600,7880=>600,7881=>600,7882=>600,7883=>600,7884=>600,7885=>600,7886=>600,7887=>600,7888=>600,7889=>600,7890=>600,7891=>600,7892=>600,7893=>600,7894=>600,7895=>600,7896=>600,7897=>600,7898=>600,7899=>600,7900=>600,7901=>600,7902=>600,7903=>600,7904=>600,7905=>600,7906=>600,7907=>600,7908=>600,7909=>600,7910=>600,7911=>600,7912=>600,7913=>600,7914=>600,7915=>600,7916=>600,7917=>600,7918=>600,7919=>600,7920=>600,7921=>600,7922=>600,7923=>600,7924=>600,7925=>600,7926=>600,7927=>600,7928=>600,7929=>600,8192=>600,8193=>600,8194=>600,8195=>600,8196=>600,8197=>600,8198=>600,8199=>600,8200=>600,8201=>600,8202=>600,8203=>600,8204=>600,8205=>600,8206=>600,8207=>600,8208=>600,8209=>600,8210=>600,8211=>600,8212=>600,8213=>600,8214=>600,8215=>600,8216=>600,8217=>600,8218=>600,8219=>600,8220=>600,8221=>600,8222=>600,8223=>600,8224=>600,8225=>600,8226=>600,8227=>600,8228=>600,8229=>600,8230=>600,8231=>600,8232=>600,8233=>600,8234=>600,8235=>600,8236=>600,8237=>600,8238=>600,8239=>600,8240=>600,8241=>600,8242=>600,8243=>600,8244=>600,8245=>600,8246=>600,8247=>600,8248=>600,8249=>600,8250=>600,8251=>600,8252=>600,8253=>600,8254=>600,8255=>600,8256=>600,8257=>600,8258=>600,8259=>600,8260=>600,8261=>600,8262=>600,8263=>600,8264=>600,8265=>600,8266=>600,8267=>600,8268=>600,8269=>600,8270=>600,8271=>600,8272=>600,8273=>600,8274=>600,8275=>600,8276=>600,8277=>600,8278=>600,8279=>600,8280=>600,8281=>600,8282=>600,8283=>600,8284=>600,8285=>600,8286=>600,8287=>600,8288=>600,8289=>600,8290=>600,8291=>600,8292=>600,8304=>600,8305=>600,8308=>600,8309=>600,8310=>600,8311=>600,8312=>600,8313=>600,8314=>600,8315=>600,8316=>600,8317=>600,8318=>600,8319=>600,8320=>600,8321=>600,8322=>600,8323=>600,8324=>600,8325=>600,8326=>600,8327=>600,8328=>600,8329=>600,8330=>600,8331=>600,8332=>600,8333=>600,8334=>600,8336=>600,8337=>600,8338=>600,8339=>600,8340=>600,8355=>600,8356=>600,8357=>600,8358=>600,8361=>600,8362=>600,8363=>600,8364=>600,8365=>600,8366=>600,8369=>600,8370=>600,8371=>600,8372=>600,8373=>600,8376=>600,8377=>600,8448=>600,8449=>600,8451=>600,8453=>600,8454=>600,8455=>600,8457=>600,8462=>600,8465=>600,8466=>600,8467=>600,8470=>600,8472=>600,8476=>600,8480=>600,8481=>600,8482=>600,8486=>600,8487=>600,8489=>600,8490=>600,8491=>600,8494=>600,8498=>600,8501=>600,8502=>600,8503=>600,8504=>600,8506=>600,8507=>600,8513=>600,8514=>600,8515=>600,8516=>600,8523=>600,8525=>600,8526=>600,8531=>600,8532=>600,8533=>600,8534=>600,8535=>600,8536=>600,8537=>600,8538=>600,8539=>600,8540=>600,8541=>600,8542=>600,8543=>600,8592=>600,8593=>600,8594=>600,8595=>600,8596=>600,8597=>600,8598=>600,8599=>600,8600=>600,8601=>600,8612=>600,8613=>600,8614=>600,8615=>600,8633=>600,8636=>600,8637=>600,8638=>600,8639=>600,8640=>600,8641=>600,8642=>600,8643=>600,8644=>600,8645=>600,8646=>600,8647=>600,8648=>600,8649=>600,8650=>600,8651=>600,8652=>600,8656=>600,8657=>600,8658=>600,8659=>600,8660=>600,8661=>600,8704=>600,8705=>600,8706=>600,8707=>600,8708=>600,8709=>600,8710=>600,8711=>600,8712=>600,8713=>600,8714=>600,8715=>600,8716=>600,8717=>600,8718=>600,8719=>600,8720=>600,8721=>600,8722=>600,8723=>600,8724=>600,8725=>600,8726=>600,8727=>600,8728=>600,8729=>600,8730=>600,8731=>600,8732=>600,8733=>600,8734=>600,8735=>600,8739=>600,8741=>600,8743=>600,8744=>600,8745=>600,8746=>600,8747=>600,8748=>600,8756=>600,8757=>600,8758=>600,8759=>600,8764=>600,8776=>600,8800=>600,8801=>600,8804=>600,8805=>600,8834=>600,8835=>600,8838=>600,8839=>600,8869=>600,8898=>600,8899=>600,8976=>600,9001=>600,9002=>600,9251=>600,9674=>600,9675=>600,9711=>600,9824=>600,9825=>600,9826=>600,9827=>600,9828=>600,9829=>600,9830=>600,9831=>600,9833=>600,9834=>600,9835=>600,9836=>600,9837=>600,9838=>600,9839=>600,11798=>600,11799=>600,11800=>600,11802=>600,11803=>600,11806=>600,11807=>600,11816=>600,11817=>600,11818=>600,11819=>600,11820=>600,11821=>600,11822=>600,42888=>600,42889=>600,42890=>600,42891=>600,42892=>600,64256=>600,64257=>600,64258=>600,64285=>600,64287=>600,64288=>600,64298=>600,64299=>600,64300=>600,64301=>600,64302=>600,64303=>600,64304=>600,64305=>600,64306=>600,64307=>600,64308=>600,64309=>600,64310=>600,64312=>600,64313=>600,64314=>600,64315=>600,64316=>600,64318=>600,64320=>600,64321=>600,64323=>600,64324=>600,64326=>600,64327=>600,64328=>600,64329=>600,64330=>600,64331=>600,64332=>600,64333=>600,64334=>600,64335=>600,65529=>600,65530=>600,65531=>600,65532=>600,65533=>600,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonobi.z b/vendor/tecnickcom/tcpdf/fonts/freemonobi.z new file mode 100644 index 0000000..3943763 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemonobi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonoi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freemonoi.ctg.z new file mode 100644 index 0000000..0b82e24 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemonoi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonoi.php b/vendor/tecnickcom/tcpdf/fonts/freemonoi.php new file mode 100644 index 0000000..df16585 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freemonoi.php @@ -0,0 +1,16 @@ +97,'FontBBox'=>'[-644 -200 816 800]','ItalicAngle'=>-12,'Ascent'=>800,'Descent'=>-200,'Leading'=>0,'CapHeight'=>563,'XHeight'=>417,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cbbox=array(0=>array(23,-80,697,643),33=>array(246,-15,463,618),34=>array(208,315,564,604),35=>array(137,-62,589,647),36=>array(131,-92,582,655),37=>array(137,-12,591,611),38=>array(132,-16,527,519),39=>array(344,315,492,604),40=>array(335,-124,583,604),41=>array(124,-124,372,604),42=>array(211,250,586,604),43=>array(131,32,588,530),44=>array(110,-145,371,145),45=>array(131,258,588,299),46=>array(235,-15,386,116),47=>array(99,-81,625,668),48=>array(156,-15,571,618),49=>array(116,0,493,612),50=>array(84,0,572,618),51=>array(110,-15,579,618),52=>array(141,0,545,604),53=>array(113,-15,584,604),54=>array(184,-15,631,618),55=>array(215,-1,606,604),56=>array(143,-15,576,618),57=>array(142,-15,589,618),58=>array(235,-15,450,417),59=>array(114,-145,426,417),60=>array(131,44,627,518),61=>array(95,190,625,375),62=>array(92,44,588,518),63=>array(231,-15,581,577),64=>array(139,-62,561,624),65=>array(13,0,596,563),66=>array(47,0,591,563),67=>array(110,-16,635,576),68=>array(47,0,592,563),69=>array(47,0,619,563),70=>array(47,0,640,563),71=>array(108,-16,636,576),72=>array(57,0,646,563),73=>array(117,0,603,563),74=>array(100,-16,699,563),75=>array(47,0,662,563),76=>array(67,0,585,563),77=>array(15,0,700,563),78=>array(46,0,678,563),79=>array(102,-16,616,576),80=>array(47,0,587,563),81=>array(102,-115,616,576),82=>array(47,0,594,563),83=>array(96,-17,602,577),84=>array(152,0,648,563),85=>array(136,-16,676,563),86=>array(124,0,707,563),87=>array(122,0,696,563),88=>array(44,0,662,563),89=>array(153,0,665,563),90=>array(103,0,590,563),91=>array(254,-124,570,604),92=>array(250,-81,474,668),93=>array(133,-124,449,604),94=>array(192,354,567,615),95=>array(-27,-125,584,-75),96=>array(267,490,410,639),97=>array(93,-16,546,431),98=>array(26,-16,591,604),99=>array(121,-17,596,432),100=>array(102,-16,630,604),101=>array(104,-16,570,431),102=>array(109,0,663,604),103=>array(105,-186,647,431),104=>array(55,0,556,604),105=>array(96,0,513,624),106=>array(82,-186,517,624),107=>array(67,0,578,604),108=>array(96,0,513,604),109=>array(15,0,603,431),110=>array(57,0,546,431),111=>array(111,-16,577,431),112=>array(-13,-186,593,431),113=>array(105,-186,668,431),114=>array(88,0,619,427),115=>array(108,-17,558,431),116=>array(127,-16,518,563),117=>array(127,-16,569,417),118=>array(114,0,655,417),119=>array(114,0,655,417),120=>array(55,0,611,417),121=>array(22,-186,634,417),122=>array(115,0,563,417),123=>array(207,-124,535,604),124=>array(257,-124,444,604),125=>array(167,-124,495,604),126=>array(145,212,575,348),160=>array(0,0,0,0),161=>array(222,-200,439,433),162=>array(175,-13,563,630),163=>array(90,0,541,578),164=>array(127,95,597,489),165=>array(161,0,665,563),166=>array(257,-124,444,604),167=>array(91,-62,624,603),168=>array(258,511,581,611),169=>array(57,-15,663,578),170=>array(199,188,511,574),171=>array(108,0,626,417),172=>array(160,168,621,438),173=>array(131,258,588,299),174=>array(57,-15,663,578),175=>array(273,536,564,576),176=>array(257,346,553,636),177=>array(76,0,597,529),178=>array(250,381,534,734),179=>array(265,379,536,740),180=>array(388,490,577,639),181=>array(86,-200,569,417),182=>array(152,-62,648,604),183=>array(299,187,401,287),184=>array(181,-173,356,0),185=>array(269,379,489,732),186=>array(199,188,543,577),187=>array(67,0,585,417),188=>array(74,0,619,612),189=>array(82,0,627,612),190=>array(70,0,619,612),191=>array(105,-175,455,417),192=>array(13,0,596,772),193=>array(13,0,596,774),194=>array(13,0,596,744),195=>array(13,0,596,704),196=>array(13,0,596,714),197=>array(13,0,596,783),198=>array(14,0,690,563),199=>array(110,-173,635,576),200=>array(47,0,619,772),201=>array(47,0,619,774),202=>array(47,0,619,744),203=>array(47,0,619,714),204=>array(117,0,603,772),205=>array(117,0,603,774),206=>array(117,0,603,744),207=>array(117,0,605,714),208=>array(47,0,592,563),209=>array(46,0,678,704),210=>array(102,-16,616,772),211=>array(102,-16,616,774),212=>array(102,-16,616,744),213=>array(102,-16,616,704),214=>array(102,-16,617,714),215=>array(143,100,577,464),216=>array(34,-43,685,605),217=>array(136,-16,676,772),218=>array(136,-16,676,774),219=>array(136,-16,676,744),220=>array(136,-16,676,714),221=>array(153,0,665,774),222=>array(47,0,566,563),223=>array(47,-16,539,604),224=>array(93,-16,546,650),225=>array(93,-16,546,629),226=>array(93,-16,554,623),227=>array(93,-16,579,605),228=>array(93,-16,569,588),229=>array(93,-16,546,660),230=>array(36,-16,630,431),231=>array(122,-173,596,431),232=>array(104,-16,570,645),233=>array(104,-16,570,629),234=>array(104,-16,570,622),235=>array(104,-16,570,588),236=>array(96,0,513,640),237=>array(96,0,525,629),238=>array(96,0,533,623),239=>array(96,0,569,588),240=>array(111,-17,582,620),241=>array(57,0,579,604),242=>array(111,-16,577,643),243=>array(111,-16,577,629),244=>array(111,-16,577,623),245=>array(111,-16,579,577),246=>array(111,-16,577,588),247=>array(131,25,588,540),248=>array(47,-43,637,458),249=>array(127,-16,569,643),250=>array(127,-16,569,629),251=>array(127,-16,569,626),252=>array(127,-16,569,588),253=>array(22,-186,634,629),254=>array(-13,-186,593,590),255=>array(22,-186,634,588),256=>array(13,0,596,667),257=>array(93,-16,557,563),258=>array(13,0,596,741),259=>array(93,-16,574,622),260=>array(13,-155,596,563),261=>array(93,-155,546,431),262=>array(110,-16,635,754),263=>array(121,-17,596,629),264=>array(110,-16,635,752),265=>array(121,-17,596,606),266=>array(110,-16,635,715),267=>array(121,-17,596,587),268=>array(110,-16,635,758),269=>array(121,-17,596,635),270=>array(47,0,596,758),271=>array(51,-16,756,604),272=>array(47,0,592,563),273=>array(102,-16,690,604),274=>array(47,0,619,649),275=>array(104,-16,570,563),276=>array(47,0,619,735),277=>array(104,-16,570,589),278=>array(47,0,619,727),279=>array(104,-16,570,587),280=>array(47,-155,619,563),281=>array(104,-155,570,431),282=>array(47,0,619,758),283=>array(104,-16,596,641),284=>array(108,-16,636,752),285=>array(105,-186,647,606),286=>array(108,-16,636,741),287=>array(105,-186,647,622),288=>array(108,-16,636,713),289=>array(105,-186,647,568),290=>array(108,-200,636,576),291=>array(105,-186,647,648),292=>array(57,0,646,752),293=>array(55,0,584,793),294=>array(57,0,646,563),295=>array(55,0,556,604),296=>array(117,0,603,705),297=>array(96,0,567,546),298=>array(117,0,603,667),299=>array(96,0,557,571),300=>array(117,0,603,735),301=>array(96,0,567,589),302=>array(117,-155,603,563),303=>array(96,-155,513,624),304=>array(117,0,603,725),305=>array(96,0,513,417),306=>array(27,-16,672,563),307=>array(34,-186,647,624),308=>array(100,-16,710,752),309=>array(82,-186,539,626),310=>array(47,-200,662,563),311=>array(67,-200,578,604),312=>array(82,0,594,417),313=>array(67,0,585,756),314=>array(96,0,548,791),315=>array(67,-200,585,563),316=>array(96,-200,513,604),317=>array(67,0,643,603),318=>array(75,0,623,604),319=>array(67,0,585,563),320=>array(48,0,569,604),321=>array(66,0,586,563),322=>array(96,0,524,604),323=>array(46,0,678,774),324=>array(57,0,550,641),325=>array(46,-200,678,563),326=>array(57,-200,546,431),327=>array(46,0,678,758),328=>array(57,0,596,623),329=>array(57,0,546,664),330=>array(57,-11,597,577),331=>array(57,-116,545,431),332=>array(102,-16,616,665),333=>array(111,-16,577,562),334=>array(102,-16,616,735),335=>array(111,-16,577,589),336=>array(102,-16,668,759),337=>array(111,-16,648,663),338=>array(62,0,690,563),339=>array(50,-16,630,431),340=>array(47,0,594,767),341=>array(88,0,619,634),342=>array(47,-200,594,563),343=>array(88,-200,619,427),344=>array(47,0,596,758),345=>array(88,0,619,637),346=>array(96,-17,602,773),347=>array(108,-17,558,629),348=>array(96,-17,602,752),349=>array(108,-17,558,606),350=>array(96,-179,602,577),351=>array(108,-173,558,431),352=>array(96,-17,602,758),353=>array(108,-17,596,638),354=>array(152,-172,648,563),355=>array(127,-189,518,563),356=>array(152,0,648,758),357=>array(127,-16,692,604),358=>array(152,0,648,563),359=>array(102,-16,518,563),360=>array(136,-16,676,702),361=>array(127,-16,569,575),362=>array(136,-16,676,666),363=>array(127,-16,569,565),364=>array(136,-16,676,735),365=>array(127,-16,569,589),366=>array(136,-16,676,783),367=>array(127,-16,569,656),368=>array(136,-16,676,787),369=>array(127,-16,576,633),370=>array(136,-155,676,563),371=>array(127,-155,569,417),372=>array(122,0,696,752),373=>array(114,0,655,606),374=>array(153,0,665,752),375=>array(22,-186,634,606),376=>array(153,0,665,722),377=>array(103,0,590,762),378=>array(115,0,563,626),379=>array(103,0,590,715),380=>array(115,0,563,585),381=>array(103,0,596,758),382=>array(115,0,578,636),383=>array(109,0,663,604),384=>array(-37,-16,528,604),385=>array(-13,0,531,563),386=>array(35,0,628,563),387=>array(-37,-16,562,604),388=>array(-8,0,522,590),389=>array(-36,-16,530,590),390=>array(113,-16,637,576),391=>array(44,-16,718,632),392=>array(72,-16,694,485),393=>array(47,0,592,563),394=>array(-24,0,532,563),395=>array(12,0,597,563),396=>array(-1,-16,603,604),397=>array(24,-200,545,451),398=>array(26,0,619,563),399=>array(35,-16,547,576),400=>array(61,-16,540,576),401=>array(-55,-93,635,563),402=>array(74,-93,643,618),403=>array(42,-16,719,632),404=>array(105,-27,605,563),405=>array(-44,-16,606,604),406=>array(224,-8,458,563),407=>array(57,0,543,563),408=>array(-13,0,656,563),409=>array(1,0,512,618),410=>array(31,0,449,604),411=>array(-3,-2,489,614),412=>array(31,-14,651,563),413=>array(-55,-93,662,563),414=>array(30,-184,519,431),415=>array(102,-16,616,576),416=>array(109,-16,672,711),417=>array(103,-16,634,565),418=>array(-15,-16,592,638),419=>array(19,-16,554,468),420=>array(-13,0,527,563),421=>array(-60,-186,547,618),422=>array(24,-186,486,563),423=>array(96,-17,557,577),424=>array(102,-17,523,431),425=>array(30,0,562,577),426=>array(135,-93,450,618),427=>array(88,-199,479,563),428=>array(55,0,588,563),429=>array(62,-16,454,618),430=>array(128,-199,609,563),431=>array(101,-16,728,711),432=>array(96,-16,645,565),433=>array(66,-2,601,571),434=>array(91,-12,610,563),435=>array(20,0,605,563),436=>array(-19,-186,679,565),437=>array(43,0,530,563),438=>array(71,0,518,417),439=>array(55,-15,517,563),440=>array(62,-15,556,563),441=>array(87,-158,477,417),442=>array(42,-200,501,417),443=>array(18,0,506,618),444=>array(55,-15,517,563),445=>array(84,-20,462,417),446=>array(83,-14,513,563),447=>array(-41,-186,581,444),448=>array(207,-124,393,604),449=>array(143,-124,457,604),450=>array(44,-124,574,604),451=>array(246,-15,463,618),452=>array(-53,0,635,749),453=>array(-40,0,623,629),454=>array(-10,-16,608,629),455=>array(-50,-16,649,564),456=>array(-20,-186,669,624),457=>array(81,-186,569,624),458=>array(-27,-16,683,563),459=>array(-1,-186,669,624),460=>array(-30,-186,669,624),461=>array(13,0,596,765),462=>array(93,-16,573,620),463=>array(117,0,603,765),464=>array(96,0,553,620),465=>array(102,-16,616,765),466=>array(111,-16,577,620),467=>array(136,-16,676,765),468=>array(127,-16,569,620),469=>array(136,-16,676,800),470=>array(127,-16,580,691),471=>array(136,-16,668,799),472=>array(127,-16,602,755),473=>array(136,-16,667,800),474=>array(127,-16,603,765),475=>array(136,-16,676,799),476=>array(127,-16,569,800),477=>array(104,-16,570,431),478=>array(13,0,596,798),479=>array(93,-16,578,691),480=>array(13,0,596,797),481=>array(93,-16,579,651),482=>array(14,0,690,656),483=>array(36,-16,630,511),484=>array(48,-16,575,576),485=>array(79,-186,621,431),486=>array(108,-16,636,765),487=>array(105,-186,647,620),488=>array(47,0,662,765),489=>array(67,0,610,765),490=>array(102,-166,616,576),491=>array(111,-166,577,431),492=>array(102,-166,616,656),493=>array(111,-166,577,511),494=>array(55,-15,517,765),495=>array(54,-158,518,620),496=>array(82,-186,568,671),497=>array(-33,0,613,563),498=>array(-33,0,583,563),499=>array(-7,-16,564,604),500=>array(108,-16,636,765),501=>array(105,-186,647,620),502=>array(-38,-16,609,565),503=>array(-55,-186,598,572),504=>array(46,0,678,765),505=>array(57,0,546,620),506=>array(13,0,596,800),507=>array(93,-16,589,800),508=>array(14,0,690,765),509=>array(36,-16,630,620),510=>array(34,-43,685,774),511=>array(47,-43,637,647),512=>array(13,0,596,778),513=>array(93,-16,546,640),514=>array(13,0,596,738),515=>array(93,-16,570,622),516=>array(47,0,619,785),517=>array(104,-16,570,640),518=>array(47,0,619,726),519=>array(104,-16,570,622),520=>array(117,0,603,775),521=>array(96,0,514,640),522=>array(117,0,603,737),523=>array(96,0,532,622),524=>array(102,-16,616,776),525=>array(111,-16,577,640),526=>array(102,-16,616,730),527=>array(111,-16,577,622),528=>array(47,0,594,777),529=>array(88,0,619,640),530=>array(47,0,594,736),531=>array(88,0,619,622),532=>array(136,-16,676,772),533=>array(127,-16,569,640),534=>array(136,-16,676,732),535=>array(127,-16,569,622),536=>array(96,-200,602,577),537=>array(108,-200,558,431),538=>array(152,-200,648,563),539=>array(127,-200,518,563),540=>array(53,-20,520,576),541=>array(129,-116,509,431),542=>array(57,0,646,765),543=>array(55,0,607,793),544=>array(33,-186,573,577),548=>array(64,-199,551,563),549=>array(92,-199,539,417),550=>array(13,0,596,716),551=>array(93,-16,546,571),552=>array(47,-167,619,563),553=>array(104,-183,570,431),554=>array(102,-16,617,800),555=>array(111,-16,588,691),556=>array(102,-16,616,800),557=>array(111,-16,600,685),558=>array(102,-16,616,716),559=>array(111,-16,577,571),560=>array(102,-16,616,796),561=>array(111,-16,579,651),562=>array(153,0,665,656),563=>array(22,-186,634,511),567=>array(82,-186,517,417),592=>array(111,-14,564,433),593=>array(55,-16,547,456),594=>array(67,-39,559,433),595=>array(-38,-16,527,618),596=>array(59,-16,540,431),597=>array(90,-132,563,431),598=>array(59,-199,617,604),599=>array(38,-16,760,618),600=>array(37,-16,527,431),601=>array(56,-16,523,431),602=>array(61,-16,701,431),603=>array(83,-16,516,431),604=>array(64,-16,498,431),605=>array(108,-16,725,431),606=>array(114,-16,543,431),607=>array(86,-186,525,417),608=>array(59,-186,758,618),609=>array(105,-186,647,431),610=>array(82,-12,538,426),611=>array(112,-200,614,417),612=>array(72,-20,592,416),613=>array(102,-187,604,417),614=>array(-11,0,491,618),615=>array(10,-199,498,618),616=>array(29,0,489,624),617=>array(215,-8,472,426),618=>array(95,0,505,417),619=>array(31,0,510,604),620=>array(32,0,495,604),621=>array(215,-199,435,604),622=>array(-22,-158,605,604),623=>array(47,-14,635,417),624=>array(65,-186,654,417),625=>array(-10,-199,579,431),626=>array(-127,-199,522,431),627=>array(32,-199,614,431),628=>array(32,0,570,417),629=>array(67,-16,532,431),630=>array(9,0,611,417),631=>array(79,-16,609,465),632=>array(93,-200,565,614),633=>array(6,-10,537,417),634=>array(121,-10,691,603),635=>array(40,-199,571,417),636=>array(23,-186,593,427),637=>array(164,-199,594,427),638=>array(43,0,559,417),639=>array(67,-200,439,417),640=>array(20,0,500,417),641=>array(109,0,668,417),642=>array(64,-199,532,431),643=>array(18,-93,588,618),644=>array(18,-93,588,618),645=>array(155,-93,450,618),646=>array(23,-93,587,618),647=>array(24,-16,415,563),648=>array(87,-200,480,563),649=>array(59,-16,558,417),650=>array(70,-16,530,455),651=>array(30,0,511,543),652=>array(-55,0,486,417),653=>array(-55,0,486,417),654=>array(-34,0,578,603),655=>array(120,0,560,417),656=>array(92,-199,624,417),657=>array(81,-99,529,417),658=>array(54,-158,495,417),659=>array(115,-200,522,417),660=>array(91,0,520,577),661=>array(108,0,538,577),662=>array(202,-14,632,563),663=>array(30,-200,594,576),664=>array(111,-16,577,431),665=>array(33,0,498,417),666=>array(125,-16,568,431),667=>array(60,-12,665,492),668=>array(43,0,543,417),669=>array(64,-186,500,624),670=>array(86,-187,597,417),671=>array(52,0,500,417),672=>array(59,-186,779,618),673=>array(91,0,520,577),674=>array(108,0,538,577),675=>array(75,-16,643,604),676=>array(59,-158,658,604),677=>array(45,-99,617,604),678=>array(97,-17,648,563),679=>array(44,-16,643,618),680=>array(90,-132,656,566),681=>array(18,-199,642,604),682=>array(10,0,653,604),683=>array(40,0,636,604),684=>array(99,0,735,793),685=>array(72,-21,648,564),686=>array(133,-187,627,616),687=>array(128,-199,622,616),688=>array(200,389,526,782),689=>array(214,387,540,789),690=>array(249,243,532,771),691=>array(239,384,585,663),692=>array(208,382,554,661),693=>array(229,299,574,701),694=>array(196,388,624,755),695=>array(270,395,623,667),696=>array(201,260,600,653),697=>array(236,490,392,664),698=>array(151,490,457,664),699=>array(233,490,389,664),700=>array(236,490,392,664),701=>array(269,490,360,664),702=>array(281,480,395,661),703=>array(205,480,319,661),704=>array(332,383,561,741),705=>array(325,383,573,741),706=>array(345,595,568,800),707=>array(328,595,551,800),708=>array(328,595,533,800),709=>array(363,595,568,800),710=>array(263,490,554,639),711=>array(286,490,577,639),712=>array(387,490,450,635),713=>array(273,536,564,576),714=>array(376,490,565,639),715=>array(267,490,410,639),716=>array(374,-187,437,-42),717=>array(132,-124,423,-84),718=>array(226,-200,369,-51),719=>array(180,-198,369,-49),720=>array(232,0,456,417),721=>array(315,270,456,417),722=>array(297,192,411,373),723=>array(282,190,396,371),724=>array(305,536,532,669),725=>array(305,536,532,669),726=>array(315,490,542,716),727=>array(305,536,532,576),728=>array(280,489,574,621),729=>array(368,511,470,611),730=>array(326,480,516,661),731=>array(258,-155,408,0),732=>array(258,516,579,605),733=>array(263,490,576,633),734=>array(250,262,488,405),735=>array(326,514,529,686),736=>array(265,256,591,658),737=>array(258,386,530,779),738=>array(266,383,558,674),739=>array(232,388,594,660),740=>array(322,388,570,764),741=>array(215,0,629,800),742=>array(183,-12,624,800),743=>array(134,-12,624,800),744=>array(92,-12,624,800),745=>array(53,0,624,800),746=>array(100,0,513,690),747=>array(92,-10,539,379),748=>array(139,-200,431,-51),749=>array(170,528,679,666),750=>array(185,343,569,604),751=>array(194,-200,400,5),752=>array(158,-200,363,0),753=>array(177,-200,398,0),754=>array(159,-200,382,0),755=>array(326,-200,516,-19),756=>array(282,216,425,365),757=>array(220,477,499,626),758=>array(263,199,452,348),759=>array(106,-199,427,-110),760=>array(313,309,528,741),761=>array(352,543,506,676),762=>array(371,543,510,676),763=>array(226,-40,365,93),764=>array(226,-42,380,91),765=>array(77,-200,466,-47),766=>array(77,-200,405,-47),767=>array(36,-200,524,-21),768=>array(-220,490,-77,639),769=>array(-212,490,-23,639),770=>array(-275,490,16,639),771=>array(-287,516,34,605),772=>array(-270,536,21,576),773=>array(-383,536,109,576),774=>array(-258,489,36,621),775=>array(-184,511,-82,611),776=>array(-272,511,51,611),777=>array(-394,465,-204,682),778=>array(-224,480,-34,661),779=>array(-337,490,-24,633),780=>array(-274,490,17,639),781=>array(-173,490,-110,635),782=>array(-223,490,-50,635),783=>array(-300,490,-7,639),784=>array(-260,489,34,675),785=>array(-264,471,30,603),786=>array(-182,490,-26,664),787=>array(-130,478,26,652),788=>array(-169,502,-78,676),789=>array(-187,474,-31,648),790=>array(-378,-199,-235,-50),791=>array(-399,-200,-210,-51),792=>array(-410,-200,-264,-30),793=>array(-395,-200,-249,-30),794=>array(46,543,185,676),795=>array(-208,376,-26,565),796=>array(-405,-200,-291,-19),797=>array(-434,-187,-207,-54),798=>array(-414,-187,-187,-54),799=>array(-446,-200,-219,26),800=>array(-423,-121,-196,-81),801=>array(-381,-199,-111,0),802=>array(-359,-199,-145,0),803=>array(-382,-157,-280,-57),804=>array(-477,-153,-154,-53),805=>array(-416,-200,-226,-19),806=>array(-289,-200,-158,-54),807=>array(-419,-173,-244,0),808=>array(-342,-155,-192,0),809=>array(-346,-200,-283,-55),810=>array(-466,-200,-122,-47),811=>array(-475,-163,-137,-43),812=>array(-437,-188,-146,-39),813=>array(-485,-187,-194,-38),814=>array(-439,-177,-145,-45),815=>array(-483,-184,-189,-52),816=>array(-459,-143,-138,-54),817=>array(-457,-119,-166,-79),818=>array(-631,-146,-20,-96),819=>array(-644,-197,-9,-48),820=>array(-329,186,-8,275),821=>array(-325,279,-34,319),822=>array(-481,234,-24,275),823=>array(-460,224,-193,400),824=>array(-577,168,-183,395),825=>array(-341,-200,-227,-19),826=>array(-479,-200,-135,-47),827=>array(-424,-200,-214,-23),828=>array(-483,-163,-146,-43),829=>array(-268,481,-65,653),830=>array(-254,460,-137,687),831=>array(-464,651,171,800),832=>array(-276,490,-133,639),833=>array(-246,490,-57,639),834=>array(-294,516,27,605),835=>array(-160,478,-4,652),836=>array(-263,494,16,676),837=>array(-303,-200,-89,-34),838=>array(-305,469,39,622),839=>array(-447,-199,-156,-79),840=>array(-389,-200,-233,-55),841=>array(-385,-181,-246,-48),842=>array(-282,490,16,633),843=>array(-334,450,-13,727),844=>array(-279,516,71,746),845=>array(-447,-182,-171,-53),846=>array(-357,-193,-251,-40),848=>array(-272,455,-49,660),849=>array(-183,492,-69,673),850=>array(-303,585,-9,788),851=>array(-417,-200,-214,-28),852=>array(-424,-200,-203,0),853=>array(-453,-200,-230,0),854=>array(-537,-200,-151,0),855=>array(-141,488,-27,669),856=>array(17,511,119,611),857=>array(-405,-200,-216,-22),858=>array(-469,-199,-169,-31),859=>array(-259,451,-81,629),860=>array(-345,-200,334,-36),861=>array(-199,476,480,640),862=>array(-227,477,384,527),863=>array(-357,-120,254,-70),864=>array(-238,-140,204,-51),865=>array(-238,476,441,640),866=>array(-277,-198,249,-28),867=>array(-276,448,-80,641),868=>array(-288,448,-86,641),869=>array(-286,456,-105,725),870=>array(-281,448,-79,641),871=>array(-278,447,-87,634),872=>array(-278,445,-73,640),873=>array(-290,446,-62,714),874=>array(-298,456,-82,717),875=>array(-326,458,-72,644),876=>array(-288,458,-58,642),877=>array(-242,447,-73,697),878=>array(-275,454,-41,634),879=>array(-300,456,-60,636),884=>array(236,490,392,664),885=>array(236,-125,392,49),890=>array(262,-199,476,-33),894=>array(114,-145,426,417),900=>array(286,583,447,756),901=>array(183,494,462,676),902=>array(19,0,593,613),903=>array(299,285,450,417),904=>array(71,0,695,613),905=>array(66,0,695,613),906=>array(105,0,640,613),908=>array(111,-18,637,612),910=>array(51,0,704,610),911=>array(106,-2,654,612),912=>array(209,-7,488,660),913=>array(-54,0,520,577),914=>array(-26,0,529,577),915=>array(10,0,617,577),916=>array(-54,0,520,577),917=>array(-5,0,584,577),918=>array(30,0,539,577),919=>array(-16,0,589,577),920=>array(40,-16,554,590),921=>array(43,0,544,577),922=>array(-24,0,609,577),923=>array(-59,0,515,577),924=>array(-55,0,638,577),925=>array(-11,0,632,577),926=>array(-3,0,603,577),927=>array(41,-18,555,588),928=>array(-16,0,589,577),929=>array(-1,0,548,577),931=>array(30,0,562,577),932=>array(76,0,591,577),933=>array(76,0,604,577),934=>array(43,0,544,577),935=>array(-28,0,604,577),936=>array(85,0,653,579),937=>array(7,-2,555,571),938=>array(43,0,559,742),939=>array(76,0,604,742),940=>array(48,-14,529,661),941=>array(119,-2,521,659),942=>array(31,-186,520,647),943=>array(222,-7,465,647),944=>array(92,-12,603,680),945=>array(48,-14,529,445),946=>array(-29,-122,541,637),947=>array(123,-190,621,426),948=>array(35,-8,573,651),949=>array(119,-2,521,443),950=>array(99,-190,577,620),951=>array(31,-186,520,431),952=>array(65,-20,523,626),953=>array(222,-7,465,426),954=>array(14,2,538,428),955=>array(-15,-2,477,618),956=>array(-50,-190,547,426),957=>array(136,0,628,418),958=>array(123,-200,583,615),959=>array(61,-16,526,443),960=>array(3,0,579,428),961=>array(-52,-190,563,443),962=>array(99,-146,557,424),963=>array(34,-14,568,428),964=>array(91,0,602,428),965=>array(92,-12,603,428),966=>array(110,-200,594,426),967=>array(-39,-177,624,428),968=>array(83,-200,645,428),969=>array(34,-16,595,430),970=>array(168,-7,491,591),971=>array(92,-12,603,591),972=>array(61,-16,526,659),973=>array(92,-12,603,643),974=>array(34,-16,595,651),976=>array(162,-20,594,614),977=>array(101,-15,556,618),978=>array(144,0,643,563),979=>array(44,0,689,563),980=>array(144,0,643,677),981=>array(93,-200,565,614),982=>array(75,-16,624,431),986=>array(118,-146,715,562),987=>array(125,-147,631,439),988=>array(47,0,640,563),989=>array(88,-180,614,438),1008=>array(43,-1,646,417),1009=>array(82,-190,584,443),1012=>array(102,-16,616,576),1013=>array(214,-16,513,431),1024=>array(47,0,619,769),1025=>array(47,0,619,723),1026=>array(125,-137,596,566),1027=>array(48,0,640,775),1028=>array(106,-16,630,576),1029=>array(96,-17,602,577),1030=>array(117,0,603,563),1031=>array(117,0,604,724),1032=>array(100,-16,699,563),1033=>array(17,0,619,563),1034=>array(9,0,618,563),1035=>array(108,3,590,566),1036=>array(43,0,647,792),1037=>array(53,0,643,771),1038=>array(157,0,727,741),1039=>array(84,-80,672,563),1040=>array(13,0,596,563),1041=>array(35,0,628,563),1042=>array(47,0,591,563),1043=>array(48,0,640,563),1044=>array(23,-146,637,563),1045=>array(47,0,619,563),1046=>array(15,0,682,563),1047=>array(97,-16,579,576),1048=>array(53,0,643,563),1049=>array(53,0,643,741),1050=>array(43,0,647,563),1051=>array(53,0,619,563),1052=>array(15,0,700,563),1053=>array(57,0,646,563),1054=>array(102,-16,616,576),1055=>array(52,0,642,563),1056=>array(47,0,587,563),1057=>array(110,-16,635,576),1058=>array(152,0,648,563),1059=>array(95,0,665,563),1060=>array(61,0,656,563),1061=>array(44,0,662,563),1062=>array(69,-146,659,563),1063=>array(194,0,630,563),1064=>array(23,0,696,563),1065=>array(16,-146,689,563),1066=>array(73,0,618,563),1067=>array(9,0,705,563),1068=>array(74,0,565,563),1069=>array(83,-16,605,576),1070=>array(-1,-16,676,576),1071=>array(18,0,676,563),1072=>array(93,-16,546,431),1073=>array(127,-16,619,626),1074=>array(106,0,526,417),1075=>array(110,0,567,417),1076=>array(32,-118,595,417),1077=>array(104,-16,570,431),1078=>array(33,0,646,417),1079=>array(101,-16,536,431),1080=>array(69,0,627,417),1081=>array(69,0,627,606),1082=>array(82,0,594,417),1083=>array(89,0,587,417),1084=>array(44,0,614,417),1085=>array(80,0,608,417),1086=>array(111,-16,577,431),1087=>array(76,0,604,417),1088=>array(-13,-186,593,431),1089=>array(121,-17,596,432),1090=>array(182,-1,567,417),1091=>array(22,-186,634,417),1092=>array(74,-186,621,573),1093=>array(55,0,611,417),1094=>array(81,-118,609,417),1095=>array(161,0,595,417),1096=>array(71,0,638,417),1097=>array(38,-118,641,417),1098=>array(125,0,573,417),1099=>array(9,0,670,417),1100=>array(105,0,511,417),1101=>array(94,-16,576,431),1102=>array(23,-16,619,431),1103=>array(78,0,584,417),1104=>array(104,-16,570,627),1105=>array(104,-16,570,605),1106=>array(76,-151,555,604),1107=>array(110,0,567,639),1108=>array(121,-16,594,431),1109=>array(108,-17,558,431),1110=>array(96,0,513,624),1111=>array(96,0,570,603),1112=>array(82,-186,517,624),1113=>array(49,0,597,417),1114=>array(33,0,600,417),1115=>array(65,0,566,604),1116=>array(82,0,594,639),1117=>array(69,0,627,610),1118=>array(22,-186,634,610),1119=>array(64,-80,621,417),1120=>array(66,-16,690,564),1121=>array(34,-16,595,430),1122=>array(79,-1,606,608),1123=>array(88,0,519,445),1124=>array(9,-17,672,576),1125=>array(13,-16,656,431),1126=>array(12,0,597,563),1127=>array(12,0,597,417),1128=>array(-22,0,671,563),1129=>array(8,0,601,417),1130=>array(11,0,597,564),1131=>array(41,0,567,416),1132=>array(10,0,597,563),1133=>array(41,0,579,416),1134=>array(88,-186,572,754),1135=>array(88,-186,542,614),1136=>array(85,0,653,579),1137=>array(83,-200,645,428),1138=>array(102,-16,616,576),1139=>array(111,-16,577,431),1140=>array(123,0,706,563),1141=>array(113,0,675,417),1142=>array(123,0,706,734),1143=>array(113,0,675,626),1144=>array(50,-186,681,576),1145=>array(43,-186,671,431),1146=>array(102,-41,616,599),1147=>array(111,-41,577,454),1148=>array(66,-16,690,799),1149=>array(34,-16,595,626),1150=>array(66,-16,690,800),1151=>array(34,-16,607,664),1155=>array(-341,617,52,771),1156=>array(-294,471,0,603),1157=>array(-169,502,-78,676),1158=>array(-130,478,26,652),1159=>array(-125,454,276,584),1162=>array(53,-146,643,741),1163=>array(69,-146,627,606),1164=>array(85,0,576,583),1165=>array(125,0,531,437),1166=>array(62,0,602,563),1167=>array(-7,-186,599,431),1168=>array(42,0,657,688),1169=>array(104,0,582,535),1170=>array(50,0,642,563),1171=>array(108,0,565,417),1172=>array(44,-93,636,563),1173=>array(93,-188,550,417),1174=>array(7,-146,701,563),1175=>array(15,-146,663,417),1176=>array(113,-173,595,576),1177=>array(126,-173,561,431),1178=>array(41,-146,646,563),1179=>array(83,-146,594,417),1180=>array(38,0,657,563),1181=>array(80,0,592,417),1182=>array(44,0,648,563),1183=>array(83,0,595,417),1184=>array(67,0,671,563),1185=>array(116,0,632,417),1186=>array(53,-146,643,563),1187=>array(86,-146,603,417),1188=>array(19,0,701,563),1189=>array(48,0,649,417),1190=>array(-24,-93,642,563),1191=>array(21,-188,609,417),1192=>array(109,-132,634,576),1193=>array(122,-132,595,431),1194=>array(117,-155,641,576),1195=>array(111,-155,584,431),1196=>array(150,-146,646,563),1197=>array(182,-147,567,417),1198=>array(153,0,665,563),1199=>array(118,-199,660,417),1200=>array(153,0,665,563),1201=>array(113,-199,655,417),1202=>array(42,-146,661,563),1203=>array(54,-146,610,417),1204=>array(102,-146,694,563),1205=>array(102,-118,643,417),1206=>array(185,-146,621,563),1207=>array(175,-146,586,417),1208=>array(185,0,621,563),1209=>array(178,0,590,417),1210=>array(99,0,534,563),1211=>array(99,0,511,417),1212=>array(54,-16,672,576),1213=>array(70,-16,632,431),1214=>array(55,-155,672,576),1215=>array(75,-155,637,431),1216=>array(117,0,603,563),1217=>array(15,0,682,755),1218=>array(33,0,646,624),1219=>array(55,-105,660,563),1220=>array(86,-188,598,417),1221=>array(72,-146,646,563),1222=>array(99,-146,597,417),1223=>array(64,-199,653,563),1224=>array(83,-199,601,417),1225=>array(57,-146,646,563),1226=>array(69,-146,628,417),1227=>array(187,-147,622,563),1228=>array(179,-146,590,417),1229=>array(15,-146,700,563),1230=>array(56,-146,634,417),1231=>array(117,0,603,563),1232=>array(13,0,598,735),1233=>array(93,-16,577,625),1234=>array(13,0,596,726),1235=>array(93,-16,568,602),1236=>array(14,0,690,563),1237=>array(36,-16,630,431),1238=>array(47,0,619,755),1239=>array(104,-16,570,624),1240=>array(103,-16,615,576),1241=>array(104,-16,570,431),1242=>array(103,-16,615,723),1243=>array(104,-16,570,604),1244=>array(15,0,682,723),1245=>array(33,0,646,604),1246=>array(97,-16,587,723),1247=>array(101,-16,555,604),1248=>array(55,-15,517,563),1249=>array(54,-158,495,417),1250=>array(53,0,643,664),1251=>array(69,0,627,522),1252=>array(53,0,643,724),1253=>array(69,0,627,603),1254=>array(102,-16,616,724),1255=>array(111,-16,577,603),1256=>array(102,-16,616,576),1257=>array(111,-16,577,431),1258=>array(102,-16,616,722),1259=>array(111,-16,577,603),1260=>array(83,-16,605,725),1261=>array(94,-16,576,604),1262=>array(95,0,665,665),1263=>array(22,-186,634,521),1264=>array(95,0,665,722),1265=>array(22,-186,634,603),1266=>array(95,0,665,764),1267=>array(22,-186,634,614),1268=>array(194,0,630,722),1269=>array(161,0,595,603),1270=>array(48,-146,640,563),1271=>array(110,-146,567,417),1272=>array(9,0,705,723),1273=>array(9,0,670,603),1296=>array(120,-16,601,576),1297=>array(125,-16,561,431),1298=>array(71,-199,646,563),1299=>array(99,-199,597,417),1306=>array(102,-115,616,576),1307=>array(105,-186,668,431),1308=>array(122,0,696,563),1309=>array(114,0,655,417),1310=>array(49,0,652,563),1311=>array(73,0,585,417),1329=>array(61,-145,601,563),1330=>array(-17,0,564,579),1331=>array(54,0,558,580),1332=>array(20,0,569,579),1333=>array(73,-16,588,563),1334=>array(-25,-10,565,578),1335=>array(10,-80,552,563),1336=>array(-17,0,565,579),1337=>array(-45,0,601,575),1338=>array(30,-16,592,563),1339=>array(-34,0,550,563),1340=>array(7,0,504,562),1341=>array(-54,-12,620,563),1342=>array(31,-14,561,572),1343=>array(96,0,587,563),1344=>array(113,-20,528,571),1345=>array(7,0,543,584),1346=>array(24,0,525,579),1347=>array(-6,0,527,564),1348=>array(27,-16,596,564),1349=>array(29,0,509,605),1350=>array(74,-16,578,563),1351=>array(43,-16,562,612),1352=>array(16,0,555,579),1353=>array(-2,-61,553,586),1354=>array(25,0,537,579),1355=>array(8,-3,553,564),1356=>array(-26,0,595,579),1357=>array(47,-16,587,563),1358=>array(36,0,586,564),1359=>array(34,-16,544,584),1360=>array(0,0,582,579),1361=>array(25,0,506,594),1362=>array(36,0,508,563),1363=>array(65,0,533,563),1364=>array(0,0,596,580),1365=>array(42,-16,559,584),1366=>array(36,-17,494,572),1369=>array(251,480,365,661),1370=>array(236,490,392,664),1371=>array(376,490,565,639),1372=>array(249,471,580,603),1373=>array(330,490,473,639),1374=>array(315,595,601,778),1375=>array(275,588,586,719),1377=>array(47,-16,578,423),1378=>array(-11,-190,537,432),1379=>array(59,-190,561,438),1380=>array(10,-190,558,438),1381=>array(89,-16,587,572),1382=>array(59,-189,623,438),1383=>array(71,0,461,572),1384=>array(-10,-190,521,438),1385=>array(-41,-190,568,438),1386=>array(29,-16,591,572),1387=>array(-25,-190,507,573),1388=>array(11,-190,473,422),1389=>array(-75,-190,560,573),1390=>array(50,-16,623,572),1391=>array(101,-190,519,572),1392=>array(-4,0,487,572),1393=>array(47,-16,533,609),1394=>array(43,-190,532,438),1395=>array(23,0,512,572),1396=>array(79,-16,605,573),1397=>array(29,-190,470,422),1398=>array(82,-16,555,637),1399=>array(30,-190,553,438),1400=>array(10,0,501,438),1401=>array(28,-190,486,453),1402=>array(65,-190,655,422),1403=>array(30,-190,553,438),1404=>array(10,0,514,438),1405=>array(85,-16,528,423),1406=>array(88,-190,562,572),1407=>array(61,-16,517,438),1408=>array(-10,-190,521,438),1409=>array(77,-188,622,438),1410=>array(80,0,492,422),1411=>array(49,-190,561,572),1412=>array(43,0,602,613),1413=>array(66,-16,534,438),1414=>array(77,-190,512,572),1415=>array(148,-16,547,572),1417=>array(235,-15,450,417),1418=>array(185,235,435,326),1423=>array(49,0,559,579),1456=>array(229,-200,313,-41),1457=>array(135,-200,431,-42),1458=>array(137,-200,431,-42),1459=>array(137,-200,431,-40),1460=>array(251,-101,311,-42),1461=>array(194,-102,372,-43),1462=>array(194,-200,372,-42),1463=>array(195,-83,372,-42),1464=>array(197,-200,374,-40),1465=>array(91,540,151,599),1467=>array(133,-200,404,-42),1468=>array(321,211,382,270),1469=>array(233,-200,304,-24),1470=>array(197,439,598,480),1471=>array(332,540,508,581),1472=>array(258,-120,444,600),1473=>array(639,540,700,599),1474=>array(169,540,230,599),1475=>array(235,-15,450,417),1476=>array(419,674,481,734),1488=>array(60,0,642,480),1489=>array(64,0,565,480),1490=>array(137,0,504,480),1491=>array(157,0,638,480),1492=>array(99,0,614,480),1493=>array(267,0,422,480),1494=>array(230,0,565,480),1495=>array(99,0,614,480),1496=>array(120,0,637,480),1497=>array(267,219,422,480),1498=>array(157,-200,573,480),1499=>array(64,0,572,480),1500=>array(153,0,642,617),1501=>array(97,0,614,480),1502=>array(101,0,614,481),1503=>array(238,-200,422,480),1504=>array(137,0,504,480),1505=>array(125,0,614,480),1506=>array(64,0,645,480),1507=>array(143,-200,614,480),1508=>array(64,0,614,480),1509=>array(157,-200,642,480),1510=>array(55,0,633,480),1511=>array(80,-200,631,480),1512=>array(157,0,614,480),1513=>array(51,0,672,480),1514=>array(27,0,614,480),1520=>array(187,0,552,480),1521=>array(187,0,552,480),1522=>array(187,219,552,480),1523=>array(324,315,498,604),1524=>array(232,315,586,604),4304=>array(156,112,560,553),4305=>array(163,112,559,760),4306=>array(86,-179,509,463),4307=>array(72,-185,600,463),4308=>array(93,-179,569,463),4309=>array(96,-179,570,463),4310=>array(193,112,601,777),4311=>array(120,105,603,465),4312=>array(157,106,559,463),4313=>array(93,-179,577,470),4314=>array(75,-186,614,463),4315=>array(203,112,628,777),4316=>array(155,112,666,795),4317=>array(114,106,610,463),4318=>array(155,112,588,779),4319=>array(91,-179,611,485),4320=>array(113,105,628,777),4321=>array(166,112,562,777),4322=>array(70,-183,590,622),4323=>array(128,-179,623,470),4324=>array(104,-179,620,463),4325=>array(90,-179,671,800),4326=>array(83,-186,619,463),4327=>array(96,-179,586,459),4328=>array(196,112,677,777),4329=>array(131,107,556,777),4330=>array(62,-180,602,470),4331=>array(157,112,661,777),4332=>array(222,-200,667,800),4333=>array(69,-179,640,748),4334=>array(160,112,564,777),4335=>array(23,-179,635,463),4336=>array(156,112,626,779),4337=>array(135,119,690,759),4338=>array(136,90,520,491),4339=>array(72,-179,601,465),4340=>array(111,-179,556,626),4341=>array(139,111,631,779),4345=>array(131,-200,554,442),4347=>array(108,3,565,577),4348=>array(215,207,599,720),7680=>array(13,-198,596,563),7681=>array(93,-200,546,431),7682=>array(47,0,591,722),7683=>array(26,-16,591,723),7684=>array(47,-160,591,563),7685=>array(26,-176,591,604),7686=>array(47,-100,591,563),7687=>array(26,-116,591,604),7688=>array(110,-173,635,785),7689=>array(122,-173,596,640),7690=>array(47,0,592,736),7691=>array(102,-16,630,725),7692=>array(47,-160,592,563),7693=>array(102,-176,630,604),7694=>array(47,-100,592,563),7695=>array(102,-116,630,604),7696=>array(47,-167,592,563),7697=>array(102,-183,630,604),7698=>array(47,-199,592,563),7699=>array(102,-200,630,604),7700=>array(47,0,619,800),7701=>array(104,-16,570,785),7702=>array(47,0,619,800),7703=>array(104,-16,570,776),7704=>array(47,-196,619,563),7705=>array(104,-199,570,431),7706=>array(47,-149,619,563),7707=>array(104,-165,570,431),7708=>array(47,-167,619,768),7709=>array(104,-183,570,623),7710=>array(47,0,640,736),7711=>array(109,0,663,764),7712=>array(108,-16,636,676),7713=>array(105,-186,647,531),7714=>array(57,0,646,736),7715=>array(55,0,556,725),7716=>array(57,-160,646,563),7717=>array(55,-160,556,604),7718=>array(57,0,646,736),7719=>array(55,0,611,746),7720=>array(56,-167,645,563),7721=>array(55,-167,556,604),7722=>array(57,-192,646,563),7723=>array(55,-192,556,604),7724=>array(117,-149,603,563),7725=>array(96,-149,513,624),7726=>array(117,0,619,800),7727=>array(96,0,569,781),7728=>array(47,0,662,785),7729=>array(67,0,578,777),7730=>array(47,-160,662,563),7731=>array(67,-160,578,604),7732=>array(47,-100,662,563),7733=>array(67,-100,578,604),7734=>array(67,-160,585,563),7735=>array(96,-160,513,604),7736=>array(67,-160,585,676),7737=>array(96,-160,533,704),7738=>array(67,-100,585,563),7739=>array(96,-100,513,604),7740=>array(67,-200,585,563),7741=>array(96,-197,513,604),7742=>array(15,0,700,776),7743=>array(15,0,603,628),7744=>array(15,0,700,736),7745=>array(15,0,603,591),7746=>array(15,-160,700,563),7747=>array(15,-160,603,431),7748=>array(46,0,678,736),7749=>array(57,0,546,591),7750=>array(46,-160,678,563),7751=>array(57,-160,546,431),7752=>array(46,-100,678,563),7753=>array(57,-100,546,431),7754=>array(46,-197,678,563),7755=>array(57,-199,546,431),7756=>array(102,-11,623,800),7757=>array(111,-16,579,772),7758=>array(102,-11,639,800),7759=>array(111,-16,604,723),7760=>array(102,-11,616,785),7761=>array(111,-16,577,777),7762=>array(102,-11,632,800),7763=>array(111,-16,591,777),7764=>array(47,0,587,785),7765=>array(-13,-186,604,640),7766=>array(47,0,587,725),7767=>array(-13,-186,593,591),7768=>array(47,0,594,724),7769=>array(88,0,619,591),7770=>array(47,-160,594,563),7771=>array(88,-160,619,427),7772=>array(47,-160,594,676),7773=>array(88,-160,619,551),7774=>array(47,-100,594,563),7775=>array(88,-100,619,427),7776=>array(96,-17,602,737),7777=>array(108,-17,558,591),7778=>array(96,-177,602,577),7779=>array(108,-177,558,431),7780=>array(96,-15,602,800),7781=>array(108,-17,558,743),7782=>array(96,-17,602,800),7783=>array(108,-17,596,739),7784=>array(96,-177,602,737),7785=>array(108,-177,558,591),7786=>array(152,0,648,736),7787=>array(127,-16,518,683),7788=>array(152,-160,648,563),7789=>array(127,-176,518,563),7790=>array(138,-100,648,563),7791=>array(127,-116,518,563),7792=>array(118,-197,648,563),7793=>array(111,-200,518,563),7794=>array(112,-176,676,563),7795=>array(68,-176,569,417),7796=>array(114,-165,676,563),7797=>array(70,-165,569,417),7798=>array(112,-200,676,563),7799=>array(113,-200,569,417),7800=>array(136,-16,672,800),7801=>array(127,-16,569,755),7802=>array(136,-16,676,800),7803=>array(127,-16,580,725),7804=>array(124,0,707,725),7805=>array(114,0,655,580),7806=>array(124,-160,707,563),7807=>array(114,-160,655,417),7808=>array(122,0,696,785),7809=>array(114,0,655,640),7810=>array(122,0,696,785),7811=>array(114,0,655,640),7812=>array(122,0,696,736),7813=>array(114,0,655,591),7814=>array(122,0,696,736),7815=>array(114,0,655,591),7816=>array(122,-160,696,563),7817=>array(114,-160,655,417),7818=>array(44,0,662,736),7819=>array(55,0,611,591),7820=>array(44,0,662,736),7821=>array(55,0,611,591),7822=>array(153,0,665,736),7823=>array(22,-186,634,591),7824=>array(103,0,590,785),7825=>array(115,0,563,640),7826=>array(103,-160,590,563),7827=>array(115,-160,563,417),7828=>array(103,-100,590,563),7829=>array(115,-100,563,417),7830=>array(55,-100,556,604),7831=>array(127,-16,518,723),7832=>array(114,0,655,672),7833=>array(22,-186,634,672),7834=>array(93,-16,600,661),7835=>array(109,0,663,764),7840=>array(13,-160,596,563),7841=>array(93,-176,546,431),7842=>array(13,0,596,800),7843=>array(93,-16,546,693),7844=>array(13,0,691,789),7845=>array(93,-16,699,751),7846=>array(13,0,603,796),7847=>array(93,-16,554,733),7848=>array(13,0,739,800),7849=>array(93,-16,680,762),7850=>array(13,0,622,782),7851=>array(93,-16,609,748),7852=>array(13,-160,596,762),7853=>array(93,-176,554,640),7854=>array(13,0,596,800),7855=>array(93,-16,585,776),7856=>array(13,0,596,799),7857=>array(93,-16,574,770),7858=>array(13,0,596,800),7859=>array(93,-16,574,790),7860=>array(13,0,611,780),7861=>array(93,-16,615,770),7862=>array(13,-160,596,760),7863=>array(93,-176,573,623),7864=>array(47,-160,619,563),7865=>array(104,-176,570,431),7866=>array(47,0,619,800),7867=>array(104,-16,570,671),7868=>array(47,0,619,701),7869=>array(104,-16,570,580),7870=>array(47,0,714,797),7871=>array(104,-16,711,797),7872=>array(47,0,619,799),7873=>array(104,-16,570,732),7874=>array(47,0,752,800),7875=>array(104,-16,706,772),7876=>array(47,0,622,792),7877=>array(104,-16,597,750),7878=>array(47,-160,619,776),7879=>array(104,-176,570,640),7880=>array(117,0,603,800),7881=>array(96,0,513,681),7882=>array(117,-160,603,563),7883=>array(96,-160,513,624),7884=>array(102,-176,616,576),7885=>array(111,-176,577,431),7886=>array(102,-16,616,800),7887=>array(111,-16,577,693),7888=>array(102,-16,769,788),7889=>array(111,-16,681,734),7890=>array(102,-13,617,798),7891=>array(111,-16,577,734),7892=>array(102,-16,736,800),7893=>array(111,-16,699,731),7894=>array(102,-11,653,797),7895=>array(111,-16,601,747),7896=>array(102,-176,616,779),7897=>array(111,-176,577,640),7898=>array(109,-16,672,788),7899=>array(103,-16,634,628),7900=>array(109,-16,672,782),7901=>array(103,-16,634,621),7902=>array(109,-16,672,800),7903=>array(103,-16,634,680),7904=>array(173,-16,736,751),7905=>array(147,-16,678,668),7906=>array(149,-176,731,711),7907=>array(148,-176,679,565),7908=>array(136,-176,676,563),7909=>array(127,-176,569,417),7910=>array(136,-16,676,800),7911=>array(127,-16,569,681),7912=>array(101,-16,728,758),7913=>array(96,-16,645,643),7914=>array(101,-16,728,770),7915=>array(96,-16,645,626),7916=>array(101,-16,728,799),7917=>array(96,-16,645,675),7918=>array(101,-16,728,766),7919=>array(96,-16,645,626),7920=>array(101,-176,728,711),7921=>array(96,-176,645,565),7922=>array(153,0,665,785),7923=>array(22,-186,634,640),7924=>array(153,-160,665,563),7925=>array(22,-186,634,417),7926=>array(153,0,665,800),7927=>array(22,-186,634,654),7928=>array(153,0,665,725),7929=>array(22,-186,634,580),7936=>array(48,-14,529,701),7937=>array(48,-14,529,682),7938=>array(48,-14,529,689),7939=>array(48,-14,529,695),7940=>array(48,-14,529,686),7941=>array(48,-14,575,688),7942=>array(48,-14,579,799),7943=>array(48,-14,591,800),7944=>array(13,0,587,617),7945=>array(16,0,590,615),7946=>array(10,0,597,622),7947=>array(21,0,595,628),7948=>array(-3,0,617,619),7949=>array(40,0,648,620),7950=>array(55,0,629,744),7951=>array(51,0,625,744),7952=>array(119,-2,521,725),7953=>array(119,-2,521,680),7954=>array(119,-2,521,687),7955=>array(119,-2,528,693),7956=>array(119,-2,543,684),7957=>array(119,-2,590,686),7960=>array(90,0,679,616),7961=>array(91,0,680,615),7962=>array(-4,0,680,619),7963=>array(21,0,682,625),7964=>array(-41,0,680,616),7965=>array(5,0,709,620),7968=>array(31,-186,520,695),7969=>array(31,-186,520,680),7970=>array(31,-186,520,687),7971=>array(31,-186,520,699),7972=>array(31,-186,575,684),7973=>array(31,-186,622,686),7974=>array(31,-186,589,800),7975=>array(31,-186,638,799),7976=>array(77,0,682,618),7977=>array(79,0,684,618),7978=>array(31,0,716,620),7979=>array(54,0,708,622),7980=>array(-3,0,709,619),7981=>array(12,0,713,621),7982=>array(78,0,727,744),7983=>array(96,0,734,744),7984=>array(222,-7,465,697),7985=>array(222,-7,465,668),7986=>array(203,-7,465,675),7987=>array(222,-7,480,681),7988=>array(222,-7,495,672),7989=>array(222,-7,542,674),7990=>array(222,-7,553,800),7991=>array(222,-7,558,800),7992=>array(115,0,621,618),7993=>array(117,0,618,618),7994=>array(79,0,687,621),7995=>array(106,0,682,628),7996=>array(82,0,722,613),7997=>array(88,0,700,620),7998=>array(131,0,712,741),7999=>array(134,0,711,744),8000=>array(61,-16,526,725),8001=>array(61,-16,526,680),8002=>array(61,-16,526,687),8003=>array(61,-16,526,693),8004=>array(61,-16,540,684),8005=>array(61,-16,587,686),8008=>array(106,-18,639,613),8009=>array(122,-18,636,613),8010=>array(-6,-18,662,622),8011=>array(29,-18,664,624),8012=>array(44,-18,663,615),8013=>array(61,-18,656,617),8016=>array(92,-12,603,685),8017=>array(92,-12,603,688),8018=>array(92,-12,603,707),8019=>array(92,-12,603,693),8020=>array(92,-12,603,684),8021=>array(92,-12,603,690),8022=>array(92,-12,603,800),8023=>array(92,-12,603,799),8025=>array(89,0,679,618),8027=>array(50,0,746,628),8029=>array(29,0,774,618),8031=>array(81,0,764,744),8032=>array(34,-16,595,705),8033=>array(34,-16,595,668),8034=>array(34,-16,595,675),8035=>array(34,-16,595,689),8036=>array(34,-16,595,668),8037=>array(34,-16,595,674),8038=>array(34,-16,595,799),8039=>array(34,-16,595,800),8040=>array(82,-2,630,614),8041=>array(86,-2,634,612),8042=>array(-22,-2,640,622),8043=>array(15,-2,646,626),8044=>array(26,-2,631,613),8045=>array(70,-2,663,615),8046=>array(70,-2,650,738),8047=>array(54,-2,656,740),8048=>array(48,-14,529,689),8049=>array(48,-14,529,680),8050=>array(119,-2,521,687),8051=>array(119,-2,521,678),8052=>array(31,-186,520,687),8053=>array(31,-186,520,678),8054=>array(222,-7,465,675),8055=>array(222,-7,465,666),8056=>array(61,-16,526,687),8057=>array(61,-16,526,678),8058=>array(92,-12,603,675),8059=>array(92,-12,603,666),8060=>array(34,-16,595,667),8061=>array(34,-16,595,614),8064=>array(48,-200,529,701),8065=>array(48,-200,529,682),8066=>array(48,-200,529,689),8067=>array(48,-200,529,695),8068=>array(48,-200,529,686),8069=>array(48,-200,575,688),8070=>array(48,-200,579,799),8071=>array(48,-200,591,800),8072=>array(13,-200,587,617),8073=>array(34,-200,608,615),8074=>array(20,-200,607,622),8075=>array(26,-200,600,628),8076=>array(0,-200,620,619),8077=>array(51,-200,659,620),8078=>array(55,-200,629,744),8079=>array(51,-200,625,744),8080=>array(31,-200,520,695),8081=>array(31,-200,520,680),8082=>array(31,-200,520,687),8083=>array(31,-200,520,699),8084=>array(31,-200,575,684),8085=>array(31,-200,622,686),8086=>array(31,-200,589,800),8087=>array(31,-200,638,800),8088=>array(77,-200,682,618),8089=>array(79,-200,684,618),8090=>array(51,-200,736,620),8091=>array(82,-200,736,622),8092=>array(15,-200,727,619),8093=>array(30,-200,731,621),8094=>array(78,-200,727,744),8095=>array(96,-200,734,744),8096=>array(34,-199,595,705),8097=>array(34,-200,595,668),8098=>array(34,-200,595,675),8099=>array(34,-200,595,689),8100=>array(34,-200,595,668),8101=>array(34,-200,595,674),8102=>array(34,-199,595,799),8103=>array(34,-200,595,800),8104=>array(82,-200,630,614),8105=>array(68,-200,616,612),8106=>array(-22,-200,640,622),8107=>array(26,-200,657,626),8108=>array(26,-200,631,613),8109=>array(70,-200,663,615),8110=>array(70,-200,650,738),8111=>array(54,-200,656,740),8112=>array(48,-14,529,637),8113=>array(48,-14,529,545),8114=>array(48,-200,529,689),8115=>array(48,-200,529,445),8116=>array(48,-200,529,661),8118=>array(48,-14,529,594),8119=>array(48,-200,529,594),8120=>array(-54,0,520,769),8121=>array(-54,0,520,677),8122=>array(17,0,591,625),8123=>array(27,0,601,616),8124=>array(13,-200,587,577),8125=>array(344,578,482,751),8126=>array(262,-199,476,-20),8127=>array(65,577,203,750),8128=>array(140,516,460,605),8129=>array(126,511,474,733),8130=>array(31,-200,520,687),8131=>array(31,-200,520,431),8132=>array(31,-200,520,674),8134=>array(31,-186,568,592),8135=>array(31,-200,568,592),8136=>array(78,0,667,622),8137=>array(70,0,682,616),8138=>array(73,0,678,622),8139=>array(78,0,687,613),8140=>array(60,-200,665,577),8141=>array(179,477,409,661),8142=>array(200,483,471,658),8143=>array(139,503,459,800),8144=>array(194,-7,488,623),8145=>array(178,-7,469,531),8146=>array(197,-7,476,657),8147=>array(222,-7,505,666),8150=>array(168,-7,488,580),8151=>array(168,-7,516,713),8152=>array(43,0,549,769),8153=>array(43,0,544,677),8154=>array(103,0,604,619),8155=>array(115,0,651,613),8157=>array(259,483,457,667),8158=>array(259,484,519,660),8159=>array(221,499,541,800),8160=>array(92,-12,603,623),8161=>array(92,-12,603,531),8162=>array(92,-12,603,671),8163=>array(92,-12,603,670),8164=>array(-52,-190,563,674),8165=>array(-52,-190,563,680),8166=>array(92,-12,603,580),8167=>array(92,-12,603,713),8168=>array(76,0,604,769),8169=>array(76,0,604,677),8170=>array(128,0,688,622),8171=>array(97,0,749,613),8172=>array(97,0,646,609),8173=>array(223,491,502,675),8174=>array(242,488,521,670),8175=>array(258,477,318,661),8178=>array(34,-200,595,667),8179=>array(34,-200,595,430),8180=>array(34,-200,595,651),8182=>array(34,-16,595,610),8183=>array(34,-200,595,610),8184=>array(112,-18,637,619),8185=>array(113,-18,638,609),8186=>array(94,-2,642,618),8187=>array(84,-2,632,609),8188=>array(67,-200,615,571),8189=>array(142,479,303,652),8190=>array(259,484,349,657),8208=>array(194,258,524,299),8209=>array(194,258,524,299),8210=>array(131,261,588,302),8211=>array(131,261,588,302),8212=>array(60,261,659,302),8213=>array(60,261,659,302),8214=>array(230,39,370,638),8215=>array(-27,-200,584,-54),8216=>array(364,364,536,625),8217=>array(292,343,464,604),8218=>array(153,-181,325,80),8219=>array(375,343,501,604),8220=>array(196,364,586,625),8221=>array(195,343,579,604),8222=>array(81,-181,465,80),8223=>array(263,343,610,604),8224=>array(208,-63,561,604),8225=>array(154,-62,561,604),8226=>array(253,141,449,337),8227=>array(202,86,459,336),8228=>array(250,-15,349,84),8229=>array(140,-15,460,84),8230=>array(57,-15,557,84),8231=>array(299,187,401,287),8240=>array(91,-9,598,614),8241=>array(-43,-9,554,614),8242=>array(178,343,426,604),8243=>array(178,343,642,604),8244=>array(83,343,731,604),8245=>array(229,343,376,604),8246=>array(217,343,578,604),8247=>array(130,343,675,604),8248=>array(123,-165,415,-16),8249=>array(108,0,397,417),8250=>array(297,0,585,417),8251=>array(60,51,522,511),8252=>array(54,-15,527,618),8253=>array(171,-15,521,577),8254=>array(134,635,745,685),8255=>array(84,-174,487,-44),8256=>array(201,454,602,584),8257=>array(141,-198,450,252),8258=>array(0,0,763,719),8259=>array(128,39,586,496),8260=>array(84,138,645,470),8261=>array(220,-124,477,604),8262=>array(123,-124,380,604),8263=>array(52,-15,693,577),8264=>array(71,-15,623,618),8265=>array(-42,-15,581,618),8266=>array(133,-14,524,417),8267=>array(44,-62,598,604),8268=>array(133,109,618,453),8269=>array(121,109,606,453),8270=>array(161,0,536,354),8271=>array(139,-145,350,417),8272=>array(121,0,602,584),8273=>array(162,1,606,719),8274=>array(99,-31,625,722),8275=>array(183,168,504,257),8276=>array(86,-164,487,-34),8277=>array(131,261,588,302),8278=>array(173,5,630,579),8279=>array(59,343,816,604),8280=>array(86,5,659,670),8281=>array(23,5,704,579),8282=>array(260,5,506,784),8283=>array(79,-193,661,785),8284=>array(90,32,633,538),8285=>array(255,5,502,784),8286=>array(284,5,529,784),8304=>array(276,379,516,733),8305=>array(260,381,503,788),8308=>array(226,382,468,734),8309=>array(235,380,506,741),8310=>array(277,380,551,754),8311=>array(329,414,558,774),8312=>array(273,417,524,786),8313=>array(292,414,567,788),8314=>array(305,432,549,691),8315=>array(295,549,539,584),8316=>array(287,512,546,620),8317=>array(374,352,533,800),8318=>array(326,352,485,800),8319=>array(239,381,544,650),8320=>array(199,-149,439,205),8321=>array(192,-129,412,224),8322=>array(203,-137,487,216),8323=>array(188,-149,459,212),8324=>array(179,-136,421,216),8325=>array(168,-158,439,203),8326=>array(180,-158,454,216),8327=>array(212,-144,441,216),8328=>array(186,-151,437,218),8329=>array(175,-144,450,230),8330=>array(168,-129,412,130),8331=>array(178,-12,422,23),8332=>array(195,-58,439,50),8333=>array(235,-200,394,248),8334=>array(188,-200,347,248),8336=>array(124,-151,437,158),8337=>array(126,-160,447,149),8338=>array(134,-160,455,149),8339=>array(95,-141,475,148),8340=>array(145,-160,466,149),8353=>array(109,-81,635,626),8354=>array(109,-16,635,576),8355=>array(-13,0,580,563),8356=>array(28,0,479,578),8357=>array(14,-64,644,470),8358=>array(45,0,678,563),8359=>array(-27,-17,609,563),8360=>array(3,-17,640,563),8361=>array(71,0,696,563),8362=>array(64,0,639,480),8363=>array(83,0,708,696),8364=>array(81,-16,652,576),8365=>array(46,0,662,563),8366=>array(151,0,648,563),8367=>array(16,-102,610,563),8368=>array(106,-200,555,567),8369=>array(47,0,634,563),8370=>array(107,-67,636,624),8371=>array(12,0,604,563),8372=>array(112,-16,591,576),8373=>array(62,-92,574,655),8376=>array(139,0,644,563),8377=>array(157,0,616,564),8448=>array(98,-10,681,719),8449=>array(58,-14,625,715),8450=>array(50,-16,574,576),8451=>array(70,-16,609,661),8452=>array(66,0,585,626),8453=>array(37,-13,603,718),8454=>array(50,-13,623,719),8455=>array(61,-16,540,576),8456=>array(65,-16,587,576),8457=>array(128,0,715,661),8461=>array(-23,0,606,563),8462=>array(55,0,556,604),8463=>array(54,0,557,604),8464=>array(4,-28,630,570),8465=>array(142,-15,653,563),8466=>array(28,0,479,578),8467=>array(95,-28,544,632),8468=>array(29,-17,669,586),8469=>array(-26,0,634,563),8470=>array(7,0,680,563),8471=>array(43,0,643,600),8472=>array(9,-150,570,454),8473=>array(-13,0,527,563),8474=>array(54,-115,568,576),8476=>array(68,0,571,573),8477=>array(-21,0,534,563),8478=>array(47,0,607,563),8480=>array(65,237,706,574),8481=>array(41,0,634,563),8482=>array(90,243,710,563),8484=>array(44,0,639,563),8486=>array(7,-2,555,571),8487=>array(65,-2,601,571),8489=>array(210,-2,453,431),8490=>array(47,0,662,563),8491=>array(13,0,596,783),8494=>array(104,-16,570,431),8498=>array(61,0,654,563),8501=>array(60,0,642,480),8502=>array(64,0,565,480),8503=>array(137,0,504,480),8504=>array(157,0,638,480),8505=>array(72,0,550,623),8506=>array(-59,47,633,562),8507=>array(-24,0,710,563),8513=>array(-24,-14,504,578),8514=>array(11,0,529,563),8515=>array(55,0,649,563),8516=>array(-65,0,447,563),8523=>array(57,-15,452,520),8525=>array(91,-13,660,721),8526=>array(119,2,594,453),8531=>array(53,-19,635,592),8532=>array(45,-32,631,586),8533=>array(54,-22,643,594),8534=>array(50,-12,658,596),8535=>array(52,-18,648,579),8536=>array(69,-13,648,584),8537=>array(51,-14,671,582),8538=>array(55,-14,666,582),8539=>array(53,-16,652,592),8540=>array(44,-16,656,580),8541=>array(62,-16,653,583),8542=>array(107,-16,648,584),8543=>array(64,51,574,634),8544=>array(117,0,603,563),8545=>array(-7,0,607,563),8546=>array(-23,0,623,563),8547=>array(-19,0,619,563),8548=>array(98,0,612,563),8549=>array(-3,0,619,563),8550=>array(-8,0,614,563),8551=>array(-23,0,639,563),8552=>array(-42,0,632,563),8553=>array(44,0,662,563),8554=>array(-48,0,637,563),8555=>array(-42,0,642,563),8556=>array(67,0,585,563),8557=>array(110,-16,635,576),8558=>array(47,0,592,563),8559=>array(15,0,700,563),8560=>array(96,0,513,624),8561=>array(82,0,554,624),8562=>array(18,0,647,624),8563=>array(29,0,678,624),8564=>array(114,0,655,417),8565=>array(88,0,660,624),8566=>array(126,0,644,624),8567=>array(61,0,683,624),8568=>array(81,0,606,624),8569=>array(55,0,611,417),8570=>array(37,0,624,624),8571=>array(37,0,642,624),8572=>array(96,0,513,604),8573=>array(121,-17,596,432),8574=>array(102,-16,630,604),8575=>array(15,0,603,431),8592=>array(41,167,529,395),8593=>array(193,38,421,524),8594=>array(53,167,541,395),8595=>array(178,38,407,524),8596=>array(25,167,575,395),8597=>array(172,6,428,556),8598=>array(149,103,431,453),8599=>array(89,102,509,453),8600=>array(153,109,433,460),8601=>array(91,109,513,458),8612=>array(101,135,653,427),8613=>array(157,0,482,524),8614=>array(-45,135,507,427),8615=>array(118,0,443,524),8616=>array(93,-51,434,556),8617=>array(80,167,596,442),8618=>array(111,168,597,442),8628=>array(146,28,573,512),8629=>array(71,30,629,510),8636=>array(90,261,589,394),8637=>array(95,169,589,303),8638=>array(292,38,480,533),8639=>array(253,38,432,533),8640=>array(82,239,576,373),8641=>array(92,152,591,285),8642=>array(253,38,432,533),8643=>array(262,38,450,533),8644=>array(41,-13,611,435),8646=>array(53,-13,569,435),8651=>array(72,12,589,394),8652=>array(75,9,576,403),8656=>array(105,147,611,415),8657=>array(230,-18,556,704),8658=>array(105,147,611,415),8659=>array(200,-17,526,705),8660=>array(75,147,644,417),8661=>array(197,-62,573,740),8668=>array(84,167,596,395),8669=>array(83,167,595,395),8704=>array(122,0,705,563),8705=>array(36,-18,600,758),8706=>array(111,-16,580,581),8707=>array(46,0,592,563),8708=>array(46,-94,613,681),8709=>array(35,0,565,530),8710=>array(43,0,557,563),8711=>array(157,0,671,563),8712=>array(83,30,626,530),8713=>array(83,-81,626,668),8714=>array(169,110,556,449),8715=>array(47,30,590,530),8716=>array(47,-81,590,668),8717=>array(143,110,530,449),8718=>array(150,0,557,500),8719=>array(38,-80,652,624),8720=>array(42,-81,656,623),8721=>array(90,-127,616,563),8722=>array(131,261,588,302),8723=>array(136,50,661,637),8724=>array(111,-10,568,635),8725=>array(40,51,528,514),8726=>array(96,51,493,514),8727=>array(211,119,586,473),8728=>array(154,136,448,429),8729=>array(253,141,449,337),8730=>array(31,0,663,699),8731=>array(31,0,663,740),8732=>array(31,0,663,734),8733=>array(102,134,648,468),8734=>array(1,134,600,468),8735=>array(20,0,580,560),8736=>array(70,0,528,439),8739=>array(279,-27,320,582),8740=>array(177,-27,423,582),8741=>array(228,-27,373,582),8742=>array(151,-27,456,582),8745=>array(72,-11,583,465),8746=>array(102,-11,613,465),8747=>array(135,-78,587,744),8748=>array(15,-78,677,744),8756=>array(57,-45,539,397),8757=>array(59,51,541,493),8758=>array(299,6,401,453),8759=>array(109,6,590,453),8764=>array(136,212,563,348),8769=>array(143,51,570,410),8770=>array(133,148,590,429),8771=>array(133,148,590,431),8773=>array(55,50,585,434),8776=>array(135,100,594,387),8800=>array(96,94,625,464),8801=>array(78,117,630,456),8804=>array(56,0,635,535),8805=>array(71,0,600,535),8834=>array(97,113,615,452),8835=>array(101,113,618,452),8836=>array(97,-38,615,576),8837=>array(101,-38,618,576),8838=>array(80,1,620,452),8839=>array(66,1,618,452),8869=>array(30,0,570,598),8898=>array(41,-28,666,721),8899=>array(79,-39,704,710),8901=>array(299,187,401,287),8976=>array(92,168,598,438),8994=>array(137,152,538,282),8995=>array(137,152,538,282),9001=>array(238,-124,503,602),9002=>array(181,-124,446,602),9251=>array(40,1,580,154),9674=>array(119,-11,541,575),9675=>array(65,0,595,530),9711=>array(43,0,643,600),9824=>array(103,0,582,579),9825=>array(136,-14,656,576),9826=>array(144,-11,577,580),9827=>array(66,-1,643,570),9828=>array(103,0,582,579),9829=>array(136,-15,656,575),9830=>array(141,-11,574,580),9831=>array(66,-1,643,570),9833=>array(173,0,437,556),9834=>array(95,0,486,556),9835=>array(33,-2,556,572),9836=>array(33,-2,556,572),9837=>array(55,0,516,616),9838=>array(78,-167,519,603),9839=>array(19,-170,579,604),11798=>array(92,45,588,670),11799=>array(108,34,579,463),11800=>array(129,-18,479,574),11802=>array(111,258,568,541),11803=>array(135,212,565,565),11806=>array(125,212,555,476),11807=>array(115,86,545,348),11816=>array(185,-124,564,604),11817=>array(144,-124,523,604),11818=>array(119,5,571,509),11819=>array(86,55,619,445),11820=>array(46,55,579,445),11821=>array(89,35,591,520),11822=>array(200,-15,580,577),42888=>array(154,-95,445,54),42889=>array(235,-15,450,417),42890=>array(197,190,463,375),42891=>array(328,209,469,643),42892=>array(355,335,469,643),64256=>array(68,0,690,605),64257=>array(84,0,520,604),64258=>array(87,0,553,604),64285=>array(267,115,422,480),64286=>array(314,540,544,628),64287=>array(187,131,552,480),64288=>array(64,0,645,480),64289=>array(60,0,642,480),64290=>array(157,0,638,480),64291=>array(99,0,614,480),64292=>array(64,0,572,480),64293=>array(153,0,642,617),64294=>array(97,0,614,480),64295=>array(157,0,614,480),64296=>array(27,0,614,480),64297=>array(131,261,589,530),64298=>array(51,0,700,599),64299=>array(51,0,672,599),64300=>array(51,0,700,599),64301=>array(51,0,672,599),64302=>array(60,-83,642,480),64303=>array(60,-200,642,480),64304=>array(60,-101,642,480),64305=>array(64,0,565,480),64306=>array(137,0,504,480),64307=>array(157,0,638,480),64308=>array(99,0,614,480),64309=>array(229,0,422,480),64310=>array(227,0,565,480),64312=>array(120,0,637,480),64313=>array(213,219,422,480),64314=>array(157,-200,573,480),64315=>array(64,0,572,480),64316=>array(153,0,642,617),64318=>array(101,0,614,481),64320=>array(137,0,504,480),64321=>array(125,0,614,480),64323=>array(143,-200,614,480),64324=>array(64,0,614,480),64326=>array(55,0,633,480),64327=>array(80,-200,631,480),64328=>array(157,0,614,480),64329=>array(51,0,672,480),64330=>array(27,0,614,480),64331=>array(91,0,422,599),64332=>array(64,0,565,581),64333=>array(64,0,572,581),64334=>array(64,0,614,581),64335=>array(157,0,642,617),65532=>array(47,0,610,630),65533=>array(52,-84,699,800),65535=>array(23,-80,697,643)); +$cw=array(0=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600,256=>600,257=>600,258=>600,259=>600,260=>600,261=>600,262=>600,263=>600,264=>600,265=>600,266=>600,267=>600,268=>600,269=>600,270=>600,271=>600,272=>600,273=>600,274=>600,275=>600,276=>600,277=>600,278=>600,279=>600,280=>600,281=>600,282=>600,283=>600,284=>600,285=>600,286=>600,287=>600,288=>600,289=>600,290=>600,291=>600,292=>600,293=>600,294=>600,295=>600,296=>600,297=>600,298=>600,299=>600,300=>600,301=>600,302=>600,303=>600,304=>600,305=>600,306=>600,307=>600,308=>600,309=>600,310=>600,311=>600,312=>600,313=>600,314=>600,315=>600,316=>600,317=>600,318=>600,319=>600,320=>600,321=>600,322=>600,323=>600,324=>600,325=>600,326=>600,327=>600,328=>600,329=>600,330=>600,331=>600,332=>600,333=>600,334=>600,335=>600,336=>600,337=>600,338=>600,339=>600,340=>600,341=>600,342=>600,343=>600,344=>600,345=>600,346=>600,347=>600,348=>600,349=>600,350=>600,351=>600,352=>600,353=>600,354=>600,355=>600,356=>600,357=>600,358=>600,359=>600,360=>600,361=>600,362=>600,363=>600,364=>600,365=>600,366=>600,367=>600,368=>600,369=>600,370=>600,371=>600,372=>600,373=>600,374=>600,375=>600,376=>600,377=>600,378=>600,379=>600,380=>600,381=>600,382=>600,383=>600,384=>600,385=>600,386=>600,387=>600,388=>600,389=>600,390=>600,391=>600,392=>600,393=>600,394=>600,395=>600,396=>600,397=>600,398=>600,399=>600,400=>600,401=>600,402=>600,403=>600,404=>600,405=>600,406=>600,407=>600,408=>600,409=>600,410=>600,411=>600,412=>600,413=>600,414=>600,415=>600,416=>600,417=>600,418=>600,419=>600,420=>600,421=>600,422=>600,423=>600,424=>600,425=>600,426=>600,427=>600,428=>600,429=>600,430=>600,431=>600,432=>600,433=>600,434=>600,435=>600,436=>600,437=>600,438=>600,439=>600,440=>600,441=>600,442=>600,443=>600,444=>600,445=>600,446=>600,447=>600,448=>600,449=>600,450=>600,451=>600,452=>600,453=>600,454=>600,455=>600,456=>600,457=>600,458=>600,459=>600,460=>600,461=>600,462=>600,463=>600,464=>600,465=>600,466=>600,467=>600,468=>600,469=>600,470=>600,471=>600,472=>600,473=>600,474=>600,475=>600,476=>600,477=>600,478=>600,479=>600,480=>600,481=>600,482=>600,483=>600,484=>600,485=>600,486=>600,487=>600,488=>600,489=>600,490=>600,491=>600,492=>600,493=>600,494=>600,495=>600,496=>600,497=>600,498=>600,499=>600,500=>600,501=>600,502=>600,503=>600,504=>600,505=>600,506=>600,507=>600,508=>600,509=>600,510=>600,511=>600,512=>600,513=>600,514=>600,515=>600,516=>600,517=>600,518=>600,519=>600,520=>600,521=>600,522=>600,523=>600,524=>600,525=>600,526=>600,527=>600,528=>600,529=>600,530=>600,531=>600,532=>600,533=>600,534=>600,535=>600,536=>600,537=>600,538=>600,539=>600,540=>600,541=>600,542=>600,543=>600,544=>600,548=>600,549=>600,550=>600,551=>600,552=>600,553=>600,554=>600,555=>600,556=>600,557=>600,558=>600,559=>600,560=>600,561=>600,562=>600,563=>600,567=>600,592=>600,593=>600,594=>600,595=>600,596=>600,597=>600,598=>600,599=>600,600=>600,601=>600,602=>600,603=>600,604=>600,605=>600,606=>600,607=>600,608=>600,609=>600,610=>600,611=>600,612=>600,613=>600,614=>600,615=>600,616=>600,617=>600,618=>600,619=>600,620=>600,621=>600,622=>600,623=>600,624=>600,625=>600,626=>600,627=>600,628=>600,629=>600,630=>600,631=>600,632=>600,633=>600,634=>600,635=>600,636=>600,637=>600,638=>600,639=>600,640=>600,641=>600,642=>600,643=>600,644=>600,645=>600,646=>600,647=>600,648=>600,649=>600,650=>600,651=>600,652=>600,653=>600,654=>600,655=>600,656=>600,657=>600,658=>600,659=>600,660=>600,661=>600,662=>600,663=>600,664=>600,665=>600,666=>600,667=>600,668=>600,669=>600,670=>600,671=>600,672=>600,673=>600,674=>600,675=>600,676=>600,677=>600,678=>600,679=>600,680=>600,681=>600,682=>600,683=>600,684=>600,685=>600,686=>600,687=>600,688=>600,689=>600,690=>600,691=>600,692=>600,693=>600,694=>600,695=>600,696=>600,697=>600,698=>600,699=>600,700=>600,701=>600,702=>600,703=>600,704=>600,705=>600,706=>600,707=>600,708=>600,709=>600,710=>600,711=>600,712=>600,713=>600,714=>600,715=>600,716=>600,717=>600,718=>600,719=>600,720=>600,721=>600,722=>600,723=>600,724=>600,725=>600,726=>600,727=>600,728=>600,729=>600,730=>600,731=>600,732=>600,733=>600,734=>600,735=>600,736=>600,737=>600,738=>600,739=>600,740=>600,741=>600,742=>600,743=>600,744=>600,745=>600,746=>600,747=>600,748=>600,749=>600,750=>600,751=>600,752=>600,753=>600,754=>600,755=>600,756=>600,757=>600,758=>600,759=>600,760=>600,761=>600,762=>600,763=>600,764=>600,765=>600,766=>600,767=>600,768=>600,769=>600,770=>600,771=>600,772=>600,773=>600,774=>600,775=>600,776=>600,777=>600,778=>600,779=>600,780=>600,781=>600,782=>600,783=>600,784=>600,785=>600,786=>600,787=>600,788=>600,789=>600,790=>600,791=>600,792=>600,793=>600,794=>600,795=>600,796=>600,797=>600,798=>600,799=>600,800=>600,801=>600,802=>600,803=>600,804=>600,805=>600,806=>600,807=>600,808=>600,809=>600,810=>600,811=>600,812=>600,813=>600,814=>600,815=>600,816=>600,817=>600,818=>600,819=>600,820=>600,821=>600,822=>600,823=>600,824=>600,825=>600,826=>600,827=>600,828=>600,829=>600,830=>600,831=>600,832=>600,833=>600,834=>600,835=>600,836=>600,837=>600,838=>600,839=>600,840=>600,841=>600,842=>600,843=>600,844=>600,845=>600,846=>600,847=>600,848=>600,849=>600,850=>600,851=>600,852=>600,853=>600,854=>600,855=>600,856=>600,857=>600,858=>600,859=>600,860=>600,861=>600,862=>600,863=>600,864=>600,865=>600,866=>600,867=>600,868=>600,869=>600,870=>600,871=>600,872=>600,873=>600,874=>600,875=>600,876=>600,877=>600,878=>600,879=>600,884=>600,885=>600,890=>600,894=>600,900=>600,901=>600,902=>600,903=>600,904=>600,905=>600,906=>600,908=>600,910=>600,911=>600,912=>600,913=>600,914=>600,915=>600,916=>600,917=>600,918=>600,919=>600,920=>600,921=>600,922=>600,923=>600,924=>600,925=>600,926=>600,927=>600,928=>600,929=>600,931=>600,932=>600,933=>600,934=>600,935=>600,936=>600,937=>600,938=>600,939=>600,940=>600,941=>600,942=>600,943=>600,944=>600,945=>600,946=>600,947=>600,948=>600,949=>600,950=>600,951=>600,952=>600,953=>600,954=>600,955=>600,956=>600,957=>600,958=>600,959=>600,960=>600,961=>600,962=>600,963=>600,964=>600,965=>600,966=>600,967=>600,968=>600,969=>600,970=>600,971=>600,972=>600,973=>600,974=>600,976=>600,977=>600,978=>600,979=>600,980=>600,981=>600,982=>600,986=>600,987=>600,988=>600,989=>600,1008=>600,1009=>600,1012=>600,1013=>600,1024=>600,1025=>600,1026=>600,1027=>600,1028=>600,1029=>600,1030=>600,1031=>600,1032=>600,1033=>600,1034=>600,1035=>600,1036=>600,1037=>600,1038=>600,1039=>600,1040=>600,1041=>600,1042=>600,1043=>600,1044=>600,1045=>600,1046=>600,1047=>600,1048=>600,1049=>600,1050=>600,1051=>600,1052=>600,1053=>600,1054=>600,1055=>600,1056=>600,1057=>600,1058=>600,1059=>600,1060=>600,1061=>600,1062=>600,1063=>600,1064=>600,1065=>600,1066=>600,1067=>600,1068=>600,1069=>600,1070=>600,1071=>600,1072=>600,1073=>600,1074=>600,1075=>600,1076=>600,1077=>600,1078=>600,1079=>600,1080=>600,1081=>600,1082=>600,1083=>600,1084=>600,1085=>600,1086=>600,1087=>600,1088=>600,1089=>600,1090=>600,1091=>600,1092=>600,1093=>600,1094=>600,1095=>600,1096=>600,1097=>600,1098=>600,1099=>600,1100=>600,1101=>600,1102=>600,1103=>600,1104=>600,1105=>600,1106=>600,1107=>600,1108=>600,1109=>600,1110=>600,1111=>600,1112=>600,1113=>600,1114=>600,1115=>600,1116=>600,1117=>600,1118=>600,1119=>600,1120=>600,1121=>600,1122=>600,1123=>600,1124=>600,1125=>600,1126=>600,1127=>600,1128=>600,1129=>600,1130=>600,1131=>600,1132=>600,1133=>600,1134=>600,1135=>600,1136=>600,1137=>600,1138=>600,1139=>600,1140=>600,1141=>600,1142=>600,1143=>600,1144=>600,1145=>600,1146=>600,1147=>600,1148=>600,1149=>600,1150=>600,1151=>600,1155=>600,1156=>600,1157=>600,1158=>600,1159=>600,1162=>600,1163=>600,1164=>600,1165=>600,1166=>600,1167=>600,1168=>600,1169=>600,1170=>600,1171=>600,1172=>600,1173=>600,1174=>600,1175=>600,1176=>600,1177=>600,1178=>600,1179=>600,1180=>600,1181=>600,1182=>600,1183=>600,1184=>600,1185=>600,1186=>600,1187=>600,1188=>600,1189=>600,1190=>600,1191=>600,1192=>600,1193=>600,1194=>600,1195=>600,1196=>600,1197=>600,1198=>600,1199=>600,1200=>600,1201=>600,1202=>600,1203=>600,1204=>600,1205=>600,1206=>600,1207=>600,1208=>600,1209=>600,1210=>600,1211=>600,1212=>600,1213=>600,1214=>600,1215=>600,1216=>600,1217=>600,1218=>600,1219=>600,1220=>600,1221=>600,1222=>600,1223=>600,1224=>600,1225=>600,1226=>600,1227=>600,1228=>600,1229=>600,1230=>600,1231=>600,1232=>600,1233=>600,1234=>600,1235=>600,1236=>600,1237=>600,1238=>600,1239=>600,1240=>600,1241=>600,1242=>600,1243=>600,1244=>600,1245=>600,1246=>600,1247=>600,1248=>600,1249=>600,1250=>600,1251=>600,1252=>600,1253=>600,1254=>600,1255=>600,1256=>600,1257=>600,1258=>600,1259=>600,1260=>600,1261=>600,1262=>600,1263=>600,1264=>600,1265=>600,1266=>600,1267=>600,1268=>600,1269=>600,1270=>600,1271=>600,1272=>600,1273=>600,1296=>600,1297=>600,1298=>600,1299=>600,1306=>600,1307=>600,1308=>600,1309=>600,1310=>600,1311=>600,1329=>600,1330=>600,1331=>600,1332=>600,1333=>600,1334=>600,1335=>600,1336=>600,1337=>600,1338=>600,1339=>600,1340=>600,1341=>600,1342=>600,1343=>600,1344=>600,1345=>600,1346=>600,1347=>600,1348=>600,1349=>600,1350=>600,1351=>600,1352=>600,1353=>600,1354=>600,1355=>600,1356=>600,1357=>600,1358=>600,1359=>600,1360=>600,1361=>600,1362=>600,1363=>600,1364=>600,1365=>600,1366=>600,1369=>600,1370=>600,1371=>600,1372=>600,1373=>600,1374=>600,1375=>600,1377=>600,1378=>600,1379=>600,1380=>600,1381=>600,1382=>600,1383=>600,1384=>600,1385=>600,1386=>600,1387=>600,1388=>600,1389=>600,1390=>600,1391=>600,1392=>600,1393=>600,1394=>600,1395=>600,1396=>600,1397=>600,1398=>600,1399=>600,1400=>600,1401=>600,1402=>600,1403=>600,1404=>600,1405=>600,1406=>600,1407=>600,1408=>600,1409=>600,1410=>600,1411=>600,1412=>600,1413=>600,1414=>600,1415=>600,1417=>600,1418=>600,1423=>600,1456=>600,1457=>600,1458=>600,1459=>600,1460=>600,1461=>600,1462=>600,1463=>600,1464=>600,1465=>600,1467=>600,1468=>600,1469=>600,1470=>600,1471=>600,1472=>600,1473=>600,1474=>600,1475=>600,1476=>600,1488=>600,1489=>600,1490=>600,1491=>600,1492=>600,1493=>600,1494=>600,1495=>600,1496=>600,1497=>600,1498=>600,1499=>600,1500=>600,1501=>600,1502=>600,1503=>600,1504=>600,1505=>600,1506=>600,1507=>600,1508=>600,1509=>600,1510=>600,1511=>600,1512=>600,1513=>600,1514=>600,1520=>600,1521=>600,1522=>600,1523=>600,1524=>600,4304=>600,4305=>600,4306=>600,4307=>600,4308=>600,4309=>600,4310=>600,4311=>600,4312=>600,4313=>600,4314=>600,4315=>600,4316=>600,4317=>600,4318=>600,4319=>600,4320=>600,4321=>600,4322=>600,4323=>600,4324=>600,4325=>600,4326=>600,4327=>600,4328=>600,4329=>600,4330=>600,4331=>600,4332=>600,4333=>600,4334=>600,4335=>600,4336=>600,4337=>600,4338=>600,4339=>600,4340=>600,4341=>600,4345=>600,4347=>600,4348=>600,7680=>600,7681=>600,7682=>600,7683=>600,7684=>600,7685=>600,7686=>600,7687=>600,7688=>600,7689=>600,7690=>600,7691=>600,7692=>600,7693=>600,7694=>600,7695=>600,7696=>600,7697=>600,7698=>600,7699=>600,7700=>600,7701=>600,7702=>600,7703=>600,7704=>600,7705=>600,7706=>600,7707=>600,7708=>600,7709=>600,7710=>600,7711=>600,7712=>600,7713=>600,7714=>600,7715=>600,7716=>600,7717=>600,7718=>600,7719=>600,7720=>600,7721=>600,7722=>600,7723=>600,7724=>600,7725=>600,7726=>600,7727=>600,7728=>600,7729=>600,7730=>600,7731=>600,7732=>600,7733=>600,7734=>600,7735=>600,7736=>600,7737=>600,7738=>600,7739=>600,7740=>600,7741=>600,7742=>600,7743=>600,7744=>600,7745=>600,7746=>600,7747=>600,7748=>600,7749=>600,7750=>600,7751=>600,7752=>600,7753=>600,7754=>600,7755=>600,7756=>600,7757=>600,7758=>600,7759=>600,7760=>600,7761=>600,7762=>600,7763=>600,7764=>600,7765=>600,7766=>600,7767=>600,7768=>600,7769=>600,7770=>600,7771=>600,7772=>600,7773=>600,7774=>600,7775=>600,7776=>600,7777=>600,7778=>600,7779=>600,7780=>600,7781=>600,7782=>600,7783=>600,7784=>600,7785=>600,7786=>600,7787=>600,7788=>600,7789=>600,7790=>600,7791=>600,7792=>600,7793=>600,7794=>600,7795=>600,7796=>600,7797=>600,7798=>600,7799=>600,7800=>600,7801=>600,7802=>600,7803=>600,7804=>600,7805=>600,7806=>600,7807=>600,7808=>600,7809=>600,7810=>600,7811=>600,7812=>600,7813=>600,7814=>600,7815=>600,7816=>600,7817=>600,7818=>600,7819=>600,7820=>600,7821=>600,7822=>600,7823=>600,7824=>600,7825=>600,7826=>600,7827=>600,7828=>600,7829=>600,7830=>600,7831=>600,7832=>600,7833=>600,7834=>600,7835=>600,7840=>600,7841=>600,7842=>600,7843=>600,7844=>600,7845=>600,7846=>600,7847=>600,7848=>600,7849=>600,7850=>600,7851=>600,7852=>600,7853=>600,7854=>600,7855=>600,7856=>600,7857=>600,7858=>600,7859=>600,7860=>600,7861=>600,7862=>600,7863=>600,7864=>600,7865=>600,7866=>600,7867=>600,7868=>600,7869=>600,7870=>600,7871=>600,7872=>600,7873=>600,7874=>600,7875=>600,7876=>600,7877=>600,7878=>600,7879=>600,7880=>600,7881=>600,7882=>600,7883=>600,7884=>600,7885=>600,7886=>600,7887=>600,7888=>600,7889=>600,7890=>600,7891=>600,7892=>600,7893=>600,7894=>600,7895=>600,7896=>600,7897=>600,7898=>600,7899=>600,7900=>600,7901=>600,7902=>600,7903=>600,7904=>600,7905=>600,7906=>600,7907=>600,7908=>600,7909=>600,7910=>600,7911=>600,7912=>600,7913=>600,7914=>600,7915=>600,7916=>600,7917=>600,7918=>600,7919=>600,7920=>600,7921=>600,7922=>600,7923=>600,7924=>600,7925=>600,7926=>600,7927=>600,7928=>600,7929=>600,7936=>600,7937=>600,7938=>600,7939=>600,7940=>600,7941=>600,7942=>600,7943=>600,7944=>600,7945=>600,7946=>600,7947=>600,7948=>600,7949=>600,7950=>600,7951=>600,7952=>600,7953=>600,7954=>600,7955=>600,7956=>600,7957=>600,7960=>600,7961=>600,7962=>600,7963=>600,7964=>600,7965=>600,7968=>600,7969=>600,7970=>600,7971=>600,7972=>600,7973=>600,7974=>600,7975=>600,7976=>600,7977=>600,7978=>600,7979=>600,7980=>600,7981=>600,7982=>600,7983=>600,7984=>600,7985=>600,7986=>600,7987=>600,7988=>600,7989=>600,7990=>600,7991=>600,7992=>600,7993=>600,7994=>600,7995=>600,7996=>600,7997=>600,7998=>600,7999=>600,8000=>600,8001=>600,8002=>600,8003=>600,8004=>600,8005=>600,8008=>600,8009=>600,8010=>600,8011=>600,8012=>600,8013=>600,8016=>600,8017=>600,8018=>600,8019=>600,8020=>600,8021=>600,8022=>600,8023=>600,8025=>600,8027=>600,8029=>600,8031=>600,8032=>600,8033=>600,8034=>600,8035=>600,8036=>600,8037=>600,8038=>600,8039=>600,8040=>600,8041=>600,8042=>600,8043=>600,8044=>600,8045=>600,8046=>600,8047=>600,8048=>600,8049=>600,8050=>600,8051=>600,8052=>600,8053=>600,8054=>600,8055=>600,8056=>600,8057=>600,8058=>600,8059=>600,8060=>600,8061=>600,8064=>600,8065=>600,8066=>600,8067=>600,8068=>600,8069=>600,8070=>600,8071=>600,8072=>600,8073=>600,8074=>600,8075=>600,8076=>600,8077=>600,8078=>600,8079=>600,8080=>600,8081=>600,8082=>600,8083=>600,8084=>600,8085=>600,8086=>600,8087=>600,8088=>600,8089=>600,8090=>600,8091=>600,8092=>600,8093=>600,8094=>600,8095=>600,8096=>600,8097=>600,8098=>600,8099=>600,8100=>600,8101=>600,8102=>600,8103=>600,8104=>600,8105=>600,8106=>600,8107=>600,8108=>600,8109=>600,8110=>600,8111=>600,8112=>600,8113=>600,8114=>600,8115=>600,8116=>600,8118=>600,8119=>600,8120=>600,8121=>600,8122=>600,8123=>600,8124=>600,8125=>600,8126=>600,8127=>600,8128=>600,8129=>600,8130=>600,8131=>600,8132=>600,8134=>600,8135=>600,8136=>600,8137=>600,8138=>600,8139=>600,8140=>600,8141=>600,8142=>600,8143=>600,8144=>600,8145=>600,8146=>600,8147=>600,8150=>600,8151=>600,8152=>600,8153=>600,8154=>600,8155=>600,8157=>600,8158=>600,8159=>600,8160=>600,8161=>600,8162=>600,8163=>600,8164=>600,8165=>600,8166=>600,8167=>600,8168=>600,8169=>600,8170=>600,8171=>600,8172=>600,8173=>600,8174=>600,8175=>600,8178=>600,8179=>600,8180=>600,8182=>600,8183=>600,8184=>600,8185=>600,8186=>600,8187=>600,8188=>600,8189=>600,8190=>600,8192=>600,8193=>600,8194=>600,8195=>600,8196=>600,8197=>600,8198=>600,8199=>600,8200=>600,8201=>600,8202=>600,8203=>600,8204=>600,8205=>600,8206=>600,8207=>600,8208=>600,8209=>600,8210=>600,8211=>600,8212=>600,8213=>600,8214=>600,8215=>600,8216=>600,8217=>600,8218=>600,8219=>600,8220=>600,8221=>600,8222=>600,8223=>600,8224=>600,8225=>600,8226=>600,8227=>600,8228=>600,8229=>600,8230=>600,8231=>600,8232=>600,8233=>600,8234=>600,8235=>600,8236=>600,8237=>600,8238=>600,8239=>600,8240=>600,8241=>600,8242=>600,8243=>600,8244=>600,8245=>600,8246=>600,8247=>600,8248=>600,8249=>600,8250=>600,8251=>600,8252=>600,8253=>600,8254=>600,8255=>600,8256=>600,8257=>600,8258=>600,8259=>600,8260=>600,8261=>600,8262=>600,8263=>600,8264=>600,8265=>600,8266=>600,8267=>600,8268=>600,8269=>600,8270=>600,8271=>600,8272=>600,8273=>600,8274=>600,8275=>600,8276=>600,8277=>600,8278=>600,8279=>600,8280=>600,8281=>600,8282=>600,8283=>600,8284=>600,8285=>600,8286=>600,8287=>600,8288=>600,8289=>600,8290=>600,8291=>600,8292=>600,8304=>600,8305=>600,8308=>600,8309=>600,8310=>600,8311=>600,8312=>600,8313=>600,8314=>600,8315=>600,8316=>600,8317=>600,8318=>600,8319=>600,8320=>600,8321=>600,8322=>600,8323=>600,8324=>600,8325=>600,8326=>600,8327=>600,8328=>600,8329=>600,8330=>600,8331=>600,8332=>600,8333=>600,8334=>600,8336=>600,8337=>600,8338=>600,8339=>600,8340=>600,8353=>600,8354=>600,8355=>600,8356=>600,8357=>600,8358=>600,8359=>600,8360=>600,8361=>600,8362=>600,8363=>600,8364=>600,8365=>600,8366=>600,8367=>600,8368=>600,8369=>600,8370=>600,8371=>600,8372=>600,8373=>600,8376=>600,8377=>600,8448=>600,8449=>600,8450=>600,8451=>600,8452=>600,8453=>600,8454=>600,8455=>600,8456=>600,8457=>600,8461=>600,8462=>600,8463=>600,8464=>600,8465=>600,8466=>600,8467=>600,8468=>600,8469=>600,8470=>600,8471=>600,8472=>600,8473=>600,8474=>600,8476=>600,8477=>600,8478=>600,8480=>600,8481=>600,8482=>600,8484=>600,8486=>600,8487=>600,8489=>600,8490=>600,8491=>600,8494=>600,8498=>600,8501=>600,8502=>600,8503=>600,8504=>600,8505=>600,8506=>600,8507=>600,8513=>600,8514=>600,8515=>600,8516=>600,8523=>600,8525=>600,8526=>600,8531=>600,8532=>600,8533=>600,8534=>600,8535=>600,8536=>600,8537=>600,8538=>600,8539=>600,8540=>600,8541=>600,8542=>600,8543=>600,8544=>600,8545=>600,8546=>600,8547=>600,8548=>600,8549=>600,8550=>600,8551=>600,8552=>600,8553=>600,8554=>600,8555=>600,8556=>600,8557=>600,8558=>600,8559=>600,8560=>600,8561=>600,8562=>600,8563=>600,8564=>600,8565=>600,8566=>600,8567=>600,8568=>600,8569=>600,8570=>600,8571=>600,8572=>600,8573=>600,8574=>600,8575=>600,8592=>600,8593=>600,8594=>600,8595=>600,8596=>600,8597=>600,8598=>600,8599=>600,8600=>600,8601=>600,8612=>600,8613=>600,8614=>600,8615=>600,8616=>600,8617=>600,8618=>600,8628=>600,8629=>600,8636=>600,8637=>600,8638=>600,8639=>600,8640=>600,8641=>600,8642=>600,8643=>600,8644=>600,8646=>600,8651=>600,8652=>600,8656=>600,8657=>600,8658=>600,8659=>600,8660=>600,8661=>600,8668=>600,8669=>600,8704=>600,8705=>600,8706=>600,8707=>600,8708=>600,8709=>600,8710=>600,8711=>600,8712=>600,8713=>600,8714=>600,8715=>600,8716=>600,8717=>600,8718=>600,8719=>600,8720=>600,8721=>600,8722=>600,8723=>600,8724=>600,8725=>600,8726=>600,8727=>600,8728=>600,8729=>600,8730=>600,8731=>600,8732=>600,8733=>600,8734=>600,8735=>600,8736=>600,8739=>600,8740=>600,8741=>600,8742=>600,8745=>600,8746=>600,8747=>600,8748=>600,8756=>600,8757=>600,8758=>600,8759=>600,8764=>600,8769=>600,8770=>600,8771=>600,8773=>600,8776=>600,8800=>600,8801=>600,8804=>600,8805=>600,8834=>600,8835=>600,8836=>600,8837=>600,8838=>600,8839=>600,8869=>600,8898=>600,8899=>600,8901=>600,8976=>600,8994=>600,8995=>600,9001=>600,9002=>600,9251=>600,9674=>600,9675=>600,9711=>600,9824=>600,9825=>600,9826=>600,9827=>600,9828=>600,9829=>600,9830=>600,9831=>600,9833=>600,9834=>600,9835=>600,9836=>600,9837=>600,9838=>600,9839=>600,11798=>600,11799=>600,11800=>600,11802=>600,11803=>600,11806=>600,11807=>600,11816=>600,11817=>600,11818=>600,11819=>600,11820=>600,11821=>600,11822=>600,42888=>600,42889=>600,42890=>600,42891=>600,42892=>600,64256=>600,64257=>600,64258=>600,64285=>600,64286=>600,64287=>600,64288=>600,64289=>600,64290=>600,64291=>600,64292=>600,64293=>600,64294=>600,64295=>600,64296=>600,64297=>600,64298=>600,64299=>600,64300=>600,64301=>600,64302=>600,64303=>600,64304=>600,64305=>600,64306=>600,64307=>600,64308=>600,64309=>600,64310=>600,64312=>600,64313=>600,64314=>600,64315=>600,64316=>600,64318=>600,64320=>600,64321=>600,64323=>600,64324=>600,64326=>600,64327=>600,64328=>600,64329=>600,64330=>600,64331=>600,64332=>600,64333=>600,64334=>600,64335=>600,65529=>600,65530=>600,65531=>600,65532=>600,65533=>600,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freemonoi.z b/vendor/tecnickcom/tcpdf/fonts/freemonoi.z new file mode 100644 index 0000000..f52d9b1 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freemonoi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesans.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freesans.ctg.z new file mode 100644 index 0000000..0a4dc84 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesans.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesans.php b/vendor/tecnickcom/tcpdf/fonts/freesans.php new file mode 100644 index 0000000..996d8db --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freesans.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-1166 -638 2260 1050]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>729,'XHeight'=>524,'StemV'=>70,'StemH'=>30,'AvgWidth'=>657,'MaxWidth'=>2256,'MissingWidth'=>800); +$cbbox=array(0=>array(35,-139,765,800),33=>array(124,0,208,729),34=>array(40,464,293,709),35=>array(14,-20,542,697),36=>array(33,-126,518,770),37=>array(29,-20,859,709),38=>array(52,-23,637,709),39=>array(53,464,147,709),40=>array(73,-212,291,729),41=>array(38,-212,256,729),42=>array(40,441,343,729),43=>array(50,-10,534,474),44=>array(87,-147,192,104),45=>array(46,240,287,312),46=>array(80,0,184,104),47=>array(-8,-20,284,729),48=>array(43,-23,507,709),49=>array(102,0,347,709),50=>array(34,0,511,709),51=>array(32,-23,506,709),52=>array(28,0,520,709),53=>array(35,-23,513,709),54=>array(43,-23,513,709),55=>array(46,0,520,709),56=>array(37,-23,513,709),57=>array(38,-23,509,709),58=>array(80,0,184,524),59=>array(80,-147,185,524),60=>array(45,-9,534,474),61=>array(50,111,534,353),62=>array(50,-9,539,474),63=>array(77,0,509,741),64=>array(34,-142,951,741),65=>array(15,0,651,729),66=>array(80,0,624,729),67=>array(40,-23,669,741),68=>array(80,0,658,729),69=>array(80,0,603,729),70=>array(80,0,569,729),71=>array(40,-23,705,741),72=>array(80,0,641,729),73=>array(100,0,194,729),74=>array(35,-23,444,729),75=>array(80,0,659,729),76=>array(80,0,533,729),77=>array(80,0,766,729),78=>array(80,0,650,729),79=>array(40,-23,744,741),80=>array(80,0,606,729),81=>array(40,-59,744,741),82=>array(80,0,666,729),83=>array(48,-23,621,741),84=>array(30,0,602,729),85=>array(80,-23,640,729),86=>array(15,0,630,729),87=>array(15,0,922,729),88=>array(15,0,642,729),89=>array(15,0,663,729),90=>array(30,0,585,729),91=>array(64,-212,250,729),92=>array(-8,-20,284,729),93=>array(22,-212,208,729),94=>array(44,329,425,709),95=>array(-22,-176,578,-126),96=>array(22,592,231,740),97=>array(30,-23,523,539),98=>array(60,-23,529,729),99=>array(30,-23,476,539),100=>array(30,-23,499,729),101=>array(30,-23,503,539),102=>array(20,0,260,732),103=>array(30,-218,490,539),104=>array(60,0,476,729),105=>array(66,0,150,729),106=>array(0,-218,171,729),107=>array(60,0,504,729),108=>array(60,0,144,729),109=>array(60,0,752,539),110=>array(60,0,477,539),111=>array(30,-23,504,539),112=>array(60,-218,529,539),113=>array(30,-218,499,539),114=>array(60,0,312,539),115=>array(34,-23,459,539),116=>array(20,-23,260,668),117=>array(60,-23,477,524),118=>array(10,0,486,524),119=>array(10,0,712,524),120=>array(10,0,466,524),121=>array(10,-218,468,524),122=>array(30,0,456,524),123=>array(43,-212,276,729),124=>array(95,-212,155,729),125=>array(57,-212,290,729),126=>array(33,268,466,438),160=>array(0,0,0,0),161=>array(122,-205,206,524),162=>array(52,-120,510,628),163=>array(26,-23,535,729),164=>array(67,133,489,551),165=>array(11,0,545,709),166=>array(100,-212,160,729),167=>array(43,-213,506,729),168=>array(25,612,308,716),169=>array(39,-14,761,708),170=>array(37,303,333,742),171=>array(71,106,428,438),172=>array(40,86,544,375),173=>array(46,240,287,312),174=>array(39,-14,761,708),175=>array(28,631,302,701),176=>array(151,383,454,686),177=>array(50,-11,534,623),178=>array(19,390,326,815),179=>array(16,378,322,817),180=>array(92,592,301,740),181=>array(65,-220,544,524),182=>array(48,-177,522,729),183=>array(87,227,191,331),184=>array(39,-214,287,0),185=>array(69,390,230,815),186=>array(40,303,324,742),187=>array(72,106,429,438),188=>array(61,-20,849,726),189=>array(61,-20,844,729),190=>array(26,-20,836,734),191=>array(96,-217,528,524),192=>array(15,0,651,900),193=>array(15,0,651,900),194=>array(15,0,651,900),195=>array(15,0,651,887),196=>array(15,1,651,881),197=>array(15,0,651,966),198=>array(15,0,954,729),199=>array(40,-214,669,741),200=>array(80,0,603,900),201=>array(80,0,603,900),202=>array(80,0,603,900),203=>array(80,0,603,884),204=>array(0,0,229,900),205=>array(49,0,278,900),206=>array(10,0,297,900),207=>array(8,0,291,882),208=>array(20,0,667,729),209=>array(80,0,650,870),210=>array(40,-23,744,900),211=>array(40,-23,744,900),212=>array(40,-23,744,900),213=>array(40,-23,744,882),214=>array(40,-23,744,884),215=>array(95,34,488,427),216=>array(35,-23,749,755),217=>array(80,-23,640,900),218=>array(80,-23,640,900),219=>array(80,-23,640,900),220=>array(80,-23,640,881),221=>array(15,0,663,900),222=>array(80,0,605,729),223=>array(80,-24,554,728),224=>array(30,-23,523,740),225=>array(30,-23,523,740),226=>array(30,-23,523,727),227=>array(30,-23,523,709),228=>array(30,-23,523,727),229=>array(30,-23,523,772),230=>array(30,-23,841,539),231=>array(30,-214,476,539),232=>array(30,-23,503,740),233=>array(30,-23,503,740),234=>array(30,-23,503,727),235=>array(30,-23,503,727),236=>array(0,0,209,740),237=>array(13,0,222,740),238=>array(-12,0,275,727),239=>array(-11,0,272,728),240=>array(30,-23,504,743),241=>array(60,0,477,706),242=>array(30,-23,504,740),243=>array(30,-23,504,740),244=>array(30,-23,504,730),245=>array(30,-23,504,708),246=>array(30,-23,504,729),247=>array(50,0,534,472),248=>array(10,-30,521,539),249=>array(60,-23,477,740),250=>array(60,-23,477,740),251=>array(60,-23,477,729),252=>array(60,-23,477,729),253=>array(10,-218,468,740),254=>array(60,-218,528,714),255=>array(10,-218,468,729),256=>array(15,0,651,870),257=>array(30,-23,523,681),258=>array(15,0,651,900),259=>array(30,-23,523,727),260=>array(17,-205,692,729),261=>array(30,-205,583,539),262=>array(40,-23,669,900),263=>array(30,-23,476,740),264=>array(40,-23,669,900),265=>array(30,-23,476,708),266=>array(40,-23,669,900),267=>array(30,-23,476,729),268=>array(40,-23,669,900),269=>array(30,-23,476,732),270=>array(80,0,658,900),271=>array(30,-23,720,740),272=>array(20,0,667,729),273=>array(30,-23,561,729),274=>array(80,0,603,870),275=>array(30,-23,503,681),276=>array(80,0,603,900),277=>array(30,-23,503,729),278=>array(80,0,603,899),279=>array(30,-23,503,729),280=>array(80,-205,642,729),281=>array(30,-204,503,539),282=>array(80,0,603,900),283=>array(30,-23,503,730),284=>array(40,-23,705,900),285=>array(30,-218,490,719),286=>array(40,-23,705,900),287=>array(30,-218,490,730),288=>array(40,-23,705,900),289=>array(30,-218,490,729),290=>array(40,-300,705,741),291=>array(30,-218,490,746),292=>array(80,0,641,900),293=>array(60,0,476,900),294=>array(30,0,692,729),295=>array(15,0,494,729),296=>array(-7,0,307,873),297=>array(-26,0,288,698),298=>array(2,0,276,870),299=>array(-6,0,268,681),300=>array(-3,0,298,900),301=>array(-15,0,286,729),302=>array(26,-205,234,729),303=>array(2,-205,210,729),304=>array(95,0,199,883),305=>array(70,0,153,524),306=>array(100,-23,674,729),307=>array(66,-218,333,729),308=>array(35,-23,528,900),309=>array(-13,-218,274,719),310=>array(80,-300,659,729),311=>array(60,-300,504,729),312=>array(60,0,504,524),313=>array(80,0,533,900),314=>array(13,0,242,900),315=>array(80,-300,533,729),316=>array(60,-300,166,729),317=>array(80,0,533,740),318=>array(60,0,360,740),319=>array(80,0,533,729),320=>array(60,0,335,729),321=>array(30,0,582,729),322=>array(20,0,232,729),323=>array(80,0,650,900),324=>array(60,0,477,740),325=>array(80,-300,650,729),326=>array(60,-300,477,539),327=>array(80,0,650,900),328=>array(60,0,477,731),329=>array(39,0,587,728),330=>array(80,-16,637,744),331=>array(60,-218,477,539),332=>array(40,-23,744,870),333=>array(30,-23,504,681),334=>array(40,-23,744,900),335=>array(30,-23,504,729),336=>array(40,-23,744,900),337=>array(30,-23,504,740),338=>array(40,-20,956,741),339=>array(30,-23,889,539),340=>array(80,0,666,900),341=>array(60,0,331,740),342=>array(80,-300,666,729),343=>array(60,-300,312,539),344=>array(80,0,666,900),345=>array(45,0,332,741),346=>array(48,-23,621,900),347=>array(34,-23,459,740),348=>array(48,-23,621,900),349=>array(34,-23,459,720),350=>array(48,-214,621,741),351=>array(34,-214,459,539),352=>array(48,-23,621,900),353=>array(34,-23,459,733),354=>array(30,-213,602,729),355=>array(20,-227,299,668),356=>array(30,0,602,900),357=>array(20,-23,410,740),358=>array(30,0,602,729),359=>array(20,-23,265,668),360=>array(80,-23,640,873),361=>array(60,-23,477,703),362=>array(80,-23,640,870),363=>array(60,-23,477,681),364=>array(80,-23,640,900),365=>array(60,-23,477,727),366=>array(80,-23,640,965),367=>array(60,-23,477,772),368=>array(80,-23,640,900),369=>array(60,-23,477,731),370=>array(80,-205,640,729),371=>array(60,-204,516,524),372=>array(15,0,922,900),373=>array(10,0,712,721),374=>array(15,0,663,900),375=>array(10,-218,468,719),376=>array(15,0,663,881),377=>array(30,0,585,900),378=>array(30,0,456,740),379=>array(30,0,585,881),380=>array(30,0,456,729),381=>array(30,0,585,900),382=>array(30,0,456,733),383=>array(20,0,260,732),384=>array(20,-23,551,729),385=>array(40,0,802,729),386=>array(80,0,624,729),387=>array(60,-23,529,729),388=>array(1,0,673,729),389=>array(1,-23,563,729),390=>array(40,-23,669,741),391=>array(40,-23,741,741),392=>array(30,-23,557,556),393=>array(20,0,667,729),394=>array(40,0,836,729),395=>array(40,0,584,729),396=>array(30,-23,499,729),397=>array(30,-197,522,548),398=>array(30,0,553,729),399=>array(40,-23,670,741),400=>array(40,-23,613,741),401=>array(2,-218,579,729),402=>array(0,-218,258,732),403=>array(40,-23,782,741),404=>array(15,-27,663,729),405=>array(60,-23,823,729),406=>array(66,-23,235,729),407=>array(15,0,348,729),408=>array(80,0,673,729),409=>array(60,0,504,732),410=>array(6,0,339,729),411=>array(10,-10,536,738),412=>array(80,-15,784,729),413=>array(-8,-218,650,729),414=>array(60,-200,477,539),415=>array(40,-23,744,741),416=>array(40,-23,790,796),417=>array(30,-23,559,631),418=>array(40,-23,936,742),419=>array(30,-200,666,539),420=>array(40,0,784,729),421=>array(60,-218,529,732),422=>array(80,-125,635,729),423=>array(48,-23,621,741),424=>array(34,-23,459,539),425=>array(30,0,585,729),426=>array(0,-218,335,732),427=>array(20,-218,260,668),428=>array(15,0,608,729),429=>array(20,-23,261,732),430=>array(30,-218,602,729),431=>array(80,-23,771,856),432=>array(60,-23,618,651),433=>array(40,-4,717,729),434=>array(80,-23,655,729),435=>array(15,0,713,729),436=>array(10,-218,608,732),437=>array(30,0,585,729),438=>array(30,0,456,524),439=>array(40,-23,589,729),440=>array(30,-23,579,729),441=>array(30,-143,504,524),442=>array(30,-202,479,524),443=>array(34,0,511,709),446=>array(30,-21,462,668),447=>array(60,-218,531,540),448=>array(95,-212,155,729),449=>array(95,-212,265,729),450=>array(50,-212,534,729),451=>array(124,0,208,729),452=>array(80,0,1245,900),453=>array(80,0,1144,733),454=>array(30,-23,1002,733),455=>array(80,-23,970,729),456=>array(80,-218,727,729),457=>array(60,-218,373,729),458=>array(80,-23,1132,729),459=>array(80,-218,873,729),460=>array(60,-218,707,729),461=>array(15,0,651,900),462=>array(30,-23,523,729),463=>array(7,0,294,900),464=>array(-13,0,274,729),465=>array(40,-23,744,900),466=>array(30,-23,504,729),467=>array(80,-23,640,900),468=>array(60,-23,477,729),469=>array(80,-23,640,965),470=>array(60,-23,477,821),471=>array(80,-23,640,990),472=>array(60,-23,477,900),473=>array(80,-23,640,980),474=>array(60,-23,477,900),475=>array(80,-23,640,980),476=>array(60,-23,477,900),477=>array(30,-23,503,539),478=>array(15,0,651,965),479=>array(30,-23,523,800),480=>array(15,0,651,952),481=>array(30,-23,523,800),482=>array(15,0,954,871),483=>array(30,-23,841,701),484=>array(40,-23,758,741),485=>array(30,-218,515,539),486=>array(40,-23,705,900),487=>array(30,-218,490,729),488=>array(80,0,659,900),489=>array(60,0,504,900),490=>array(40,-221,744,741),491=>array(30,-221,504,539),492=>array(40,-221,744,870),493=>array(30,-221,504,649),494=>array(40,-23,589,900),495=>array(20,-143,494,729),496=>array(-33,-218,254,714),497=>array(80,0,1267,729),498=>array(80,0,1148,729),499=>array(30,-23,1012,729),500=>array(40,-23,705,900),501=>array(30,-218,490,727),503=>array(80,0,569,743),504=>array(80,0,650,900),505=>array(60,0,477,740),506=>array(15,0,651,900),507=>array(30,-23,523,900),508=>array(15,0,954,900),509=>array(30,-23,841,727),510=>array(35,-23,749,900),511=>array(10,-30,521,727),512=>array(15,0,651,900),513=>array(30,-23,523,729),514=>array(15,0,651,900),515=>array(30,-23,523,714),516=>array(80,0,603,900),517=>array(30,-23,503,729),518=>array(80,0,603,900),519=>array(30,-23,503,714),520=>array(-33,0,300,900),521=>array(-71,0,262,729),522=>array(-1,0,300,900),523=>array(-19,0,282,714),524=>array(40,-23,744,900),525=>array(30,-23,504,729),526=>array(40,-23,744,900),527=>array(30,-23,504,714),528=>array(80,0,666,900),529=>array(-21,0,312,729),530=>array(80,0,666,900),531=>array(45,0,346,714),532=>array(80,-23,640,900),533=>array(60,-23,477,729),534=>array(80,-23,640,900),535=>array(60,-23,477,714),536=>array(48,-300,621,741),537=>array(34,-300,459,539),538=>array(30,-300,602,729),539=>array(20,-300,260,668),540=>array(40,-100,499,709),541=>array(20,-84,384,542),542=>array(80,0,641,900),543=>array(60,0,476,900),544=>array(80,-219,640,741),548=>array(30,-216,585,729),549=>array(30,-216,456,524),550=>array(15,0,651,900),551=>array(30,-23,523,729),552=>array(80,-207,603,729),553=>array(30,-230,503,539),554=>array(40,-23,744,965),555=>array(30,-23,504,800),556=>array(40,-23,744,998),557=>array(30,-23,504,800),558=>array(40,-23,744,900),559=>array(30,-23,504,701),560=>array(40,-23,744,985),561=>array(30,-23,504,802),562=>array(15,0,663,851),563=>array(10,-218,468,649),567=>array(-18,-218,153,524),568=>array(30,-23,885,729),569=>array(30,-218,884,539),592=>array(20,-23,513,539),593=>array(30,-23,552,538),594=>array(20,-14,542,547),595=>array(60,-23,529,732),596=>array(30,-23,476,539),597=>array(11,-42,471,539),598=>array(30,-218,592,729),599=>array(30,-23,586,732),600=>array(30,-23,503,539),601=>array(30,-23,503,539),602=>array(30,-23,764,570),603=>array(30,-23,455,539),604=>array(30,-23,455,539),605=>array(30,-23,716,570),606=>array(30,-23,476,539),607=>array(20,-218,268,524),608=>array(30,-218,577,650),609=>array(30,-218,542,539),610=>array(30,-23,522,539),611=>array(10,-230,473,524),612=>array(10,-24,542,542),613=>array(60,-205,476,524),614=>array(60,0,476,732),615=>array(60,-218,476,732),616=>array(15,0,253,729),617=>array(66,-23,235,524),618=>array(20,0,258,524),619=>array(20,0,453,729),620=>array(20,0,407,729),621=>array(68,-218,240,729),622=>array(60,-143,578,729),623=>array(60,-15,752,524),624=>array(60,-200,752,524),625=>array(60,-218,752,539),626=>array(10,-218,515,539),627=>array(60,-218,566,539),628=>array(60,0,487,524),629=>array(30,-23,504,539),630=>array(30,-23,734,539),631=>array(30,-9,698,542),632=>array(24,-200,664,712),633=>array(20,-15,272,524),634=>array(20,-15,272,729),635=>array(20,-218,360,524),636=>array(60,-200,312,539),637=>array(60,-218,312,539),638=>array(60,0,348,539),639=>array(20,-200,308,539),640=>array(60,0,519,524),641=>array(64,0,523,524),642=>array(34,-216,459,539),643=>array(20,-218,279,732),644=>array(20,-218,278,732),645=>array(30,-218,289,539),646=>array(15,-218,450,732),647=>array(20,1,260,692),648=>array(20,-218,260,668),649=>array(14,-23,582,524),650=>array(30,-23,578,544),651=>array(60,-23,490,524),652=>array(10,0,486,524),653=>array(10,0,712,524),654=>array(10,0,468,742),655=>array(10,0,496,524),656=>array(30,-217,544,523),657=>array(30,-96,478,524),658=>array(20,-143,494,524),659=>array(30,-138,510,524),660=>array(30,0,468,709),661=>array(30,0,468,709),662=>array(30,0,468,709),663=>array(40,-213,669,741),664=>array(40,-23,744,741),665=>array(60,0,458,524),666=>array(30,-23,476,539),667=>array(30,-23,602,544),668=>array(60,0,478,524),669=>array(14,-218,449,729),670=>array(10,-201,454,528),671=>array(60,0,370,524),672=>array(30,-218,586,650),673=>array(30,0,468,709),674=>array(30,0,468,709),675=>array(30,-23,901,729),676=>array(30,-143,930,729),677=>array(30,-96,925,729),678=>array(20,-23,675,668),679=>array(20,-218,504,732),680=>array(20,-115,750,668),681=>array(20,-199,738,732),682=>array(60,-23,626,729),683=>array(60,0,549,729),684=>array(48,-1,505,730),685=>array(30,119,456,616),686=>array(10,-198,514,732),687=>array(10,-218,601,732),688=>array(26,389,297,864),689=>array(26,390,297,866),690=>array(24,264,136,880),691=>array(32,389,197,740),692=>array(35,380,200,731),693=>array(26,248,248,730),694=>array(42,390,342,732),695=>array(24,390,481,732),696=>array(10,247,309,731),697=>array(49,438,226,716),698=>array(49,438,434,716),699=>array(85,503,190,754),700=>array(80,457,185,708),701=>array(85,457,190,708),702=>array(89,579,177,754),703=>array(79,579,167,754),704=>array(24,400,309,765),705=>array(24,400,309,765),706=>array(28,545,304,750),707=>array(28,545,304,750),708=>array(51,574,282,750),709=>array(51,574,282,751),710=>array(20,591,307,741),711=>array(19,591,306,741),712=>array(89,588,161,785),713=>array(28,631,302,701),714=>array(92,593,301,741),715=>array(22,592,231,740),716=>array(89,-259,161,-62),717=>array(29,-140,303,-70),718=>array(83,-201,292,-53),719=>array(35,-200,244,-52),720=>array(103,0,229,546),721=>array(103,432,229,546),722=>array(92,-1,180,174),723=>array(83,2,171,177),724=>array(11,149,322,402),725=>array(11,149,322,402),726=>array(11,110,322,422),727=>array(11,231,322,301),728=>array(15,597,316,732),729=>array(115,612,219,716),730=>array(61,561,273,772),731=>array(57,-205,265,0),732=>array(5,613,319,717),733=>array(0,590,333,740),734=>array(0,234,321,570),735=>array(19,597,314,794),736=>array(11,238,312,730),737=>array(53,389,109,864),738=>array(27,383,305,750),739=>array(13,390,310,732),740=>array(13,390,299,851),741=>array(40,0,454,800),742=>array(40,0,454,800),743=>array(40,0,454,800),744=>array(40,0,454,800),745=>array(40,0,454,800),746=>array(72,-1,479,606),747=>array(72,0,479,614),748=>array(23,-200,310,-50),749=>array(28,593,302,800),750=>array(80,497,333,729),751=>array(51,-201,282,-25),752=>array(46,-201,277,-25),753=>array(26,-221,302,-16),754=>array(27,-220,303,-15),755=>array(58,-258,270,-47),756=>array(22,366,231,514),757=>array(0,366,333,516),758=>array(0,368,333,518),759=>array(9,-157,323,-53),760=>array(80,65,184,589),761=>array(24,512,176,749),762=>array(26,512,178,749),763=>array(24,-73,176,164),764=>array(24,-72,176,165),765=>array(11,-200,322,-28),766=>array(11,-200,322,-28),767=>array(0,-220,333,-19),768=>array(-311,592,-102,740),769=>array(-241,592,-32,740),770=>array(-313,591,-26,741),771=>array(-328,613,-14,717),772=>array(-305,631,-31,701),773=>array(-451,629,115,701),774=>array(-318,597,-17,732),775=>array(-218,612,-114,716),776=>array(-308,612,-25,716),777=>array(-284,564,-131,757),778=>array(-272,561,-60,772),779=>array(-312,591,21,741),780=>array(-314,591,-27,741),781=>array(-207,588,-135,785),782=>array(-276,588,-59,785),783=>array(-414,590,-81,740),784=>array(-318,597,-17,815),785=>array(-318,597,-17,732),786=>array(-215,583,-127,746),787=>array(-206,577,-118,740),788=>array(-212,577,-124,740),789=>array(0,578,88,741),790=>array(-311,-200,-102,-52),791=>array(-258,-200,-49,-52),792=>array(-280,-289,-75,-51),793=>array(-255,-288,-50,-50),794=>array(-203,427,71,701),795=>array(-137,440,67,651),796=>array(-224,-218,-136,-43),797=>array(-284,-200,-46,-45),798=>array(-284,-200,-46,-45),799=>array(-284,-288,-46,-50),800=>array(-424,-156,-113,-86),801=>array(-171,-218,0,45),802=>array(-83,-218,88,45),803=>array(-270,-165,-166,-61),804=>array(-365,-162,-82,-58),805=>array(-337,-255,-125,-44),806=>array(-269,-300,-169,-76),807=>array(-368,-214,-120,0),808=>array(-276,-205,-68,0),809=>array(-259,-243,-187,-46),810=>array(-305,-197,-31,-60),811=>array(-320,-172,-14,-50),812=>array(-314,-200,-27,-50),813=>array(-314,-200,-27,-50),814=>array(-318,-200,-17,-65),815=>array(-318,-200,-17,-65),816=>array(-387,-187,-73,-83),817=>array(-368,-153,-94,-83),818=>array(-601,-176,-1,-126),819=>array(-601,-278,-1,-126),820=>array(-450,208,-136,312),821=>array(-411,232,-137,302),822=>array(-711,222,-111,272),823=>array(-701,3,-13,616),824=>array(-701,-61,-13,749),825=>array(-264,-253,-176,-78),826=>array(-362,-176,-88,-39),827=>array(-364,-300,-103,-39),828=>array(-382,-174,-76,-59),829=>array(-302,563,-45,756),830=>array(-223,582,-119,850),831=>array(-600,589,0,741),832=>array(-311,593,-102,741),833=>array(-241,592,-32,740),834=>array(-344,604,-30,708),835=>array(-206,577,-118,740),836=>array(-355,600,-28,758),837=>array(-321,-170,-165,-10),838=>array(-305,593,-31,730),839=>array(-372,-209,-98,-39),840=>array(-328,-239,-115,-42),841=>array(-270,-237,-126,-93),842=>array(-369,595,-55,786),843=>array(-408,559,-94,900),844=>array(-367,573,-53,812),845=>array(-544,-243,-44,-45),846=>array(-364,-300,-167,-55),848=>array(-326,545,-50,750),849=>array(-198,589,-110,764),850=>array(-351,563,-50,800),851=>array(-432,-230,-175,-37),852=>array(-406,-221,-130,-16),853=>array(-389,-220,-113,-15),854=>array(-493,-218,-29,-41),855=>array(-197,573,-109,748),856=>array(-323,636,-219,740),857=>array(-403,-284,-174,-68),858=>array(-516,-228,-92,-48),859=>array(-337,546,-103,800),860=>array(-333,-199,334,-35),861=>array(-329,613,338,777),862=>array(-325,611,325,676),863=>array(-325,-147,325,-82),864=>array(-344,569,332,739),865=>array(-333,632,334,796),866=>array(-301,-261,299,-30),867=>array(-349,569,-161,784),868=>array(-367,570,-186,784),869=>array(-285,575,-253,853),870=>array(-368,570,-187,784),871=>array(-341,570,-182,779),872=>array(-333,571,-162,785),873=>array(-348,570,-168,856),874=>array(-331,569,-172,848),875=>array(-407,572,-143,777),876=>array(-291,572,-194,777),877=>array(-306,570,-214,833),878=>array(-365,570,-183,770),879=>array(-358,570,-184,770),884=>array(49,438,226,716),885=>array(22,-194,139,6),890=>array(127,-200,283,-40),891=>array(34,-12,408,530),892=>array(30,-12,404,530),893=>array(34,-12,408,530),894=>array(80,-147,185,524),900=>array(115,592,324,740),901=>array(6,620,333,778),902=>array(5,0,651,741),903=>array(86,420,190,524),904=>array(0,0,755,740),905=>array(0,0,794,740),906=>array(0,0,329,740),908=>array(0,-23,826,741),910=>array(0,6,878,741),911=>array(0,0,757,740),912=>array(-23,-8,304,765),913=>array(15,0,651,729),914=>array(80,0,624,729),915=>array(80,0,564,729),916=>array(14,0,684,729),917=>array(80,0,603,729),918=>array(30,0,585,729),919=>array(80,0,641,729),920=>array(40,-23,744,741),921=>array(100,0,194,729),922=>array(80,0,659,729),923=>array(15,0,651,729),924=>array(80,0,766,729),925=>array(80,0,650,729),926=>array(40,0,586,729),927=>array(40,-23,744,741),928=>array(80,0,640,729),929=>array(80,0,606,729),931=>array(40,0,606,729),932=>array(30,3,602,732),933=>array(15,6,663,735),934=>array(40,0,699,729),935=>array(15,0,642,729),936=>array(60,0,702,729),937=>array(40,0,717,733),938=>array(-2,0,281,900),939=>array(15,6,663,900),940=>array(30,-13,565,740),941=>array(30,-10,467,740),942=>array(15,-182,489,746),943=>array(60,-8,299,744),944=>array(60,-14,498,765),945=>array(30,-13,565,531),946=>array(60,-198,514,732),947=>array(10,-198,508,536),948=>array(30,-16,522,729),949=>array(30,-10,467,532),950=>array(30,-194,432,718),951=>array(15,-182,489,531),952=>array(30,-12,475,730),953=>array(60,-8,274,524),954=>array(60,0,490,524),955=>array(10,-12,536,730),956=>array(60,-200,480,523),957=>array(10,0,486,524),958=>array(30,-194,455,718),959=>array(30,-10,514,532),960=>array(20,-4,584,524),961=>array(60,-200,544,532),962=>array(30,-182,509,536),963=>array(30,-12,586,532),964=>array(20,-12,472,524),965=>array(60,-14,498,524),966=>array(30,-200,681,524),967=>array(10,-212,569,538),968=>array(60,-200,638,524),969=>array(30,-9,698,526),970=>array(-38,-8,274,703),971=>array(60,-14,498,703),972=>array(30,-10,514,744),973=>array(60,-14,498,744),974=>array(30,-9,698,744),977=>array(30,-12,533,730),978=>array(20,0,681,741),979=>array(0,0,874,741),980=>array(20,0,681,900),981=>array(30,-200,670,712),982=>array(30,-9,698,534),983=>array(10,-216,546,524),1008=>array(10,-17,570,539),1009=>array(60,-186,544,532),1010=>array(30,-12,404,530),1011=>array(0,-218,171,729),1012=>array(40,-23,744,741),1013=>array(30,-12,258,530),1014=>array(50,-12,278,530),1017=>array(40,-23,589,741),1021=>array(30,-23,579,741),1022=>array(40,-23,589,741),1023=>array(30,-23,579,741),1024=>array(80,0,603,900),1025=>array(80,0,603,900),1026=>array(30,-148,720,729),1027=>array(80,0,569,900),1028=>array(40,-23,669,741),1029=>array(48,-23,621,741),1030=>array(100,0,194,729),1031=>array(7,0,290,900),1032=>array(35,-23,444,729),1033=>array(30,0,969,729),1034=>array(80,0,969,729),1035=>array(30,0,720,729),1036=>array(80,0,622,900),1037=>array(80,0,650,900),1038=>array(15,0,608,900),1039=>array(80,-135,642,729),1040=>array(15,0,651,729),1041=>array(80,0,624,729),1042=>array(80,0,624,729),1043=>array(80,0,569,729),1044=>array(34,-135,778,729),1045=>array(80,0,603,729),1046=>array(15,0,900,729),1047=>array(40,-23,613,741),1048=>array(80,0,650,729),1049=>array(80,0,650,900),1050=>array(80,0,622,729),1051=>array(30,-10,591,729),1052=>array(80,0,766,729),1053=>array(80,0,641,729),1054=>array(40,-23,744,741),1055=>array(80,0,641,729),1056=>array(80,0,606,729),1057=>array(40,-23,669,741),1058=>array(30,0,602,729),1059=>array(15,0,608,729),1060=>array(40,0,805,729),1061=>array(15,0,642,729),1062=>array(80,-135,708,729),1063=>array(50,0,540,729),1064=>array(80,0,750,729),1065=>array(80,-135,817,729),1066=>array(30,0,805,729),1067=>array(80,0,794,729),1068=>array(80,0,624,729),1069=>array(40,-23,669,741),1070=>array(80,-23,955,741),1071=>array(15,0,606,729),1072=>array(30,-23,523,539),1073=>array(30,-23,504,775),1074=>array(60,0,458,524),1075=>array(60,0,370,524),1076=>array(20,-120,562,524),1077=>array(30,-23,503,539),1078=>array(10,0,755,524),1079=>array(30,-23,455,539),1080=>array(60,0,487,524),1081=>array(60,0,487,699),1082=>array(60,0,474,524),1083=>array(20,-10,437,524),1084=>array(60,0,538,524),1085=>array(60,0,478,524),1086=>array(30,-23,504,539),1087=>array(60,0,477,524),1088=>array(60,-218,529,539),1089=>array(30,-23,476,539),1090=>array(20,0,392,524),1091=>array(10,-218,468,524),1092=>array(30,-218,819,674),1093=>array(10,0,466,524),1094=>array(60,-120,538,524),1095=>array(50,0,430,524),1096=>array(60,0,612,524),1097=>array(60,-120,672,524),1098=>array(20,0,616,524),1099=>array(60,0,610,524),1100=>array(60,0,473,524),1101=>array(30,-23,476,539),1102=>array(60,-23,711,539),1103=>array(10,0,469,524),1104=>array(30,-23,503,740),1105=>array(30,-23,503,717),1106=>array(18,-163,517,729),1107=>array(60,0,370,740),1108=>array(30,-23,476,539),1109=>array(36,-23,461,539),1110=>array(70,0,154,729),1111=>array(-10,0,273,709),1112=>array(0,-218,171,729),1113=>array(20,0,766,524),1114=>array(60,0,807,524),1115=>array(20,0,519,729),1116=>array(60,0,474,740),1117=>array(60,0,487,740),1118=>array(10,-218,468,699),1119=>array(60,-120,478,524),1120=>array(15,0,921,729),1121=>array(10,0,670,524),1122=>array(30,0,775,729),1123=>array(20,0,606,648),1124=>array(100,-23,907,741),1125=>array(71,-23,672,539),1126=>array(15,0,770,729),1127=>array(10,0,547,524),1128=>array(100,0,1010,729),1129=>array(71,0,737,524),1130=>array(15,0,900,729),1131=>array(10,0,755,524),1132=>array(100,0,1110,729),1133=>array(71,0,925,524),1134=>array(34,-192,613,807),1135=>array(43,-186,455,605),1136=>array(60,0,702,729),1137=>array(60,-200,638,524),1138=>array(40,-23,744,741),1139=>array(30,-23,504,539),1140=>array(15,0,742,729),1141=>array(10,0,550,524),1142=>array(15,0,742,900),1143=>array(10,0,550,729),1144=>array(39,-218,1160,741),1145=>array(30,-218,934,542),1146=>array(40,-23,824,741),1147=>array(30,-23,564,540),1148=>array(15,0,921,980),1149=>array(10,0,681,800),1150=>array(15,0,921,900),1151=>array(10,0,670,729),1154=>array(20,-220,448,529),1155=>array(-380,611,-20,799),1156=>array(-258,597,43,732),1157=>array(-249,608,-86,696),1158=>array(-244,614,-80,703),1159=>array(-553,579,0,745),1160=>array(-752,-122,269,857),1161=>array(-771,-237,341,875),1162=>array(80,-135,717,900),1163=>array(60,-120,547,699),1164=>array(20,0,653,729),1165=>array(10,0,490,524),1166=>array(80,0,606,729),1167=>array(60,-218,530,539),1168=>array(80,0,569,825),1169=>array(60,0,355,629),1170=>array(20,0,584,729),1171=>array(20,0,392,524),1172=>array(80,-174,569,729),1173=>array(60,-143,417,524),1174=>array(15,-135,900,729),1175=>array(10,-120,815,524),1176=>array(40,-205,613,741),1177=>array(30,-205,455,539),1178=>array(80,-135,622,729),1179=>array(60,-120,474,524),1180=>array(80,0,665,729),1181=>array(60,0,504,524),1182=>array(10,0,674,729),1183=>array(10,0,514,524),1184=>array(20,0,830,729),1185=>array(20,0,648,524),1186=>array(80,-135,708,729),1187=>array(60,-120,538,524),1188=>array(80,0,965,729),1189=>array(60,0,689,524),1190=>array(80,-174,998,729),1191=>array(60,-143,750,524),1192=>array(40,-23,788,741),1193=>array(30,-23,616,539),1194=>array(40,-205,669,741),1195=>array(30,-205,476,539),1196=>array(30,-135,602,729),1197=>array(20,-120,392,524),1198=>array(15,0,663,729),1199=>array(10,-200,578,524),1200=>array(15,0,663,729),1201=>array(10,-200,578,524),1202=>array(15,-135,642,729),1203=>array(10,-120,466,524),1204=>array(30,-135,913,729),1205=>array(20,-120,652,524),1206=>array(50,-135,607,729),1207=>array(40,-120,481,524),1208=>array(60,0,550,729),1209=>array(40,0,420,524),1210=>array(80,0,570,729),1211=>array(60,0,440,524),1212=>array(40,-23,875,757),1213=>array(30,-23,661,539),1214=>array(40,-197,875,757),1215=>array(30,-197,661,539),1216=>array(80,0,174,729),1217=>array(15,0,900,900),1218=>array(10,0,755,698),1219=>array(80,-174,656,729),1220=>array(60,-143,472,524),1221=>array(30,-135,662,729),1222=>array(20,-120,498,524),1223=>array(80,-174,641,729),1224=>array(60,-143,478,524),1225=>array(80,-135,712,729),1226=>array(60,-120,539,524),1227=>array(60,-135,550,729),1228=>array(40,-120,420,524),1229=>array(80,-135,837,729),1230=>array(60,-120,599,524),1231=>array(80,0,174,729),1232=>array(15,0,651,900),1233=>array(30,-23,523,734),1234=>array(15,0,651,900),1235=>array(30,-23,523,703),1236=>array(15,0,954,729),1237=>array(30,-23,841,539),1238=>array(80,0,603,900),1239=>array(30,-23,503,734),1240=>array(40,-23,670,741),1241=>array(40,-23,513,539),1242=>array(40,-23,670,900),1243=>array(40,-23,513,703),1244=>array(15,0,900,900),1245=>array(10,0,755,703),1246=>array(40,-23,613,900),1247=>array(30,-23,455,703),1248=>array(40,-23,589,729),1249=>array(30,-143,504,524),1250=>array(80,0,650,870),1251=>array(60,0,487,681),1252=>array(80,0,650,900),1253=>array(60,0,487,703),1254=>array(40,-23,744,900),1255=>array(30,-23,504,703),1256=>array(40,-23,744,741),1257=>array(30,-23,504,539),1258=>array(40,-23,744,900),1259=>array(30,-23,504,703),1260=>array(40,-23,669,900),1261=>array(30,-23,476,703),1262=>array(15,0,608,870),1263=>array(10,-218,468,681),1264=>array(15,0,608,900),1265=>array(10,-218,468,703),1266=>array(15,0,608,900),1267=>array(10,-218,468,749),1268=>array(50,0,540,900),1269=>array(50,0,430,703),1270=>array(80,-135,569,729),1271=>array(60,-120,370,524),1272=>array(80,0,794,900),1273=>array(60,0,610,703),1274=>array(20,-218,584,729),1275=>array(20,-218,392,524),1276=>array(15,-174,642,729),1277=>array(10,-143,466,524),1278=>array(15,0,642,729),1279=>array(10,0,466,524),1296=>array(40,-23,613,741),1297=>array(30,-23,455,539),1298=>array(30,-174,591,729),1299=>array(20,-143,437,524),1306=>array(40,-59,744,741),1307=>array(30,-218,499,539),1308=>array(15,0,922,729),1309=>array(9,0,711,524),1310=>array(80,0,622,729),1311=>array(60,0,474,524),1316=>array(80,-135,707,729),1317=>array(60,-135,544,524),1318=>array(50,-135,607,729),1319=>array(50,-135,497,524),1329=>array(70,-41,720,716),1330=>array(70,0,633,726),1331=>array(40,-1,700,726),1332=>array(60,1,705,729),1333=>array(70,-10,633,733),1334=>array(50,0,731,735),1335=>array(70,0,416,721),1336=>array(70,0,633,729),1337=>array(70,-2,790,728),1338=>array(65,-10,636,718),1339=>array(70,0,632,732),1340=>array(70,0,350,716),1341=>array(70,-12,787,723),1342=>array(35,-4,768,762),1343=>array(70,1,633,733),1344=>array(20,-74,564,725),1345=>array(50,-42,591,728),1346=>array(65,0,636,728),1347=>array(40,0,618,724),1348=>array(60,-10,729,729),1349=>array(45,-12,550,728),1350=>array(10,-9,727,729),1351=>array(40,-12,556,739),1352=>array(70,1,633,729),1353=>array(66,-14,583,728),1354=>array(65,1,628,729),1355=>array(45,0,714,735),1356=>array(70,1,708,729),1357=>array(70,-12,633,716),1358=>array(65,1,718,729),1359=>array(45,-12,615,728),1360=>array(70,1,633,729),1361=>array(60,-12,569,728),1362=>array(70,0,345,723),1363=>array(45,1,743,725),1364=>array(30,0,592,728),1365=>array(45,-12,730,729),1366=>array(40,-8,674,725),1369=>array(79,579,167,754),1370=>array(53,489,155,723),1371=>array(30,588,173,718),1372=>array(27,577,306,730),1373=>array(22,592,231,740),1374=>array(13,588,305,793),1375=>array(22,573,307,708),1377=>array(65,-10,768,524),1378=>array(70,-200,491,535),1379=>array(35,-200,561,535),1380=>array(65,-200,559,534),1381=>array(65,-11,490,721),1382=>array(35,-200,571,537),1383=>array(70,-121,333,721),1384=>array(65,-200,486,529),1385=>array(70,-200,554,537),1386=>array(35,-3,569,734),1387=>array(70,-200,492,716),1388=>array(70,-200,256,524),1389=>array(70,-200,730,713),1390=>array(35,-8,515,748),1391=>array(70,-200,493,721),1392=>array(70,0,492,716),1393=>array(35,-14,467,736),1394=>array(65,-200,558,530),1395=>array(44,0,507,731),1396=>array(65,-10,461,744),1397=>array(-20,-200,179,524),1398=>array(70,-10,462,745),1399=>array(35,-195,378,529),1400=>array(65,-1,486,535),1401=>array(35,-199,357,531),1402=>array(65,-200,768,524),1403=>array(38,-201,463,532),1404=>array(65,0,488,535),1405=>array(65,-12,485,523),1406=>array(65,-200,574,716),1407=>array(65,-13,824,535),1408=>array(65,-200,486,535),1409=>array(35,-200,492,535),1410=>array(70,0,281,524),1411=>array(65,-200,824,723),1412=>array(0,-200,542,537),1413=>array(35,-12,521,530),1414=>array(42,-200,623,725),1415=>array(70,-8,544,723),1417=>array(90,0,190,519),1418=>array(12,166,294,263),1423=>array(60,1,705,729),1456=>array(265,-256,336,-60),1457=>array(112,-256,468,-60),1458=>array(120,-256,463,-60),1459=>array(128,-249,466,-60),1460=>array(265,-131,336,-60),1461=>array(200,-131,401,-60),1462=>array(184,-256,383,-60),1463=>array(187,-131,415,-60),1464=>array(190,-248,418,-60),1465=>array(264,660,335,731),1466=>array(8,658,79,729),1467=>array(162,-273,432,-60),1468=>array(224,270,295,341),1469=>array(229,-248,300,-60),1470=>array(38,524,393,600),1471=>array(101,660,341,731),1472=>array(62,-100,149,700),1473=>array(639,640,710,711),1474=>array(70,640,141,711),1475=>array(80,0,184,524),1476=>array(394,640,465,711),1477=>array(255,-131,326,-60),1478=>array(51,0,326,600),1479=>array(190,-248,418,-60),1488=>array(58,0,582,600),1489=>array(58,0,566,600),1490=>array(30,0,433,600),1491=>array(38,0,543,600),1492=>array(63,0,570,600),1493=>array(62,0,149,600),1494=>array(39,0,296,600),1495=>array(63,0,571,600),1496=>array(61,0,570,600),1497=>array(58,286,145,600),1498=>array(38,-200,474,600),1499=>array(57,0,516,600),1500=>array(37,0,545,749),1501=>array(63,0,571,600),1502=>array(48,0,570,600),1503=>array(62,-200,149,600),1504=>array(51,0,326,600),1505=>array(61,0,569,600),1506=>array(36,-55,531,600),1507=>array(57,-200,523,600),1508=>array(63,0,533,600),1509=>array(13,-200,485,600),1510=>array(51,0,533,600),1511=>array(62,-200,550,600),1512=>array(37,0,495,600),1513=>array(60,0,720,600),1514=>array(35,0,635,600),1520=>array(62,0,362,600),1521=>array(60,0,351,600),1522=>array(56,286,343,600),1523=>array(44,464,137,709),1524=>array(55,464,308,709),1792=>array(56,2,567,504),1793=>array(52,99,163,210),1794=>array(50,-112,161,-1),1795=>array(51,100,162,452),1796=>array(44,-240,156,112),1797=>array(106,1,394,113),1798=>array(106,-110,394,113),1799=>array(106,-109,394,112),1800=>array(84,97,309,450),1801=>array(87,-241,313,112),1802=>array(26,3,548,712),1803=>array(26,245,548,524),1804=>array(136,177,480,621),1805=>array(26,228,548,722),1808=>array(35,-137,415,634),1809=>array(57,372,386,818),1810=>array(-72,0,538,427),1811=>array(-72,-231,609,541),1812=>array(-72,-231,609,541),1813=>array(107,-143,473,429),1814=>array(107,0,473,429),1815=>array(109,-69,645,429),1816=>array(100,0,538,427),1817=>array(177,-170,347,371),1818=>array(-72,0,591,290),1819=>array(-72,-161,682,540),1820=>array(-72,-161,682,540),1821=>array(-72,0,448,273),1822=>array(-78,-173,757,768),1823=>array(97,-216,549,475),1824=>array(-72,0,624,664),1825=>array(107,-138,645,427),1826=>array(107,-300,624,259),1827=>array(-72,-2,689,424),1828=>array(167,-206,689,424),1829=>array(-72,0,676,540),1830=>array(-72,0,540,576),1831=>array(-72,0,540,576),1832=>array(127,-300,642,272),1833=>array(-72,0,550,427),1834=>array(107,0,473,608),1835=>array(-72,0,645,427),1836=>array(99,-10,619,491),1837=>array(-72,0,538,628),1838=>array(-72,-231,609,558),1839=>array(107,-200,473,429),1840=>array(206,596,396,786),1841=>array(256,-300,445,-110),1842=>array(300,-265,335,745),1843=>array(245,554,480,776),1844=>array(205,-260,440,-38),1845=>array(227,565,504,768),1846=>array(245,554,480,776),1847=>array(205,-260,440,-38),1848=>array(220,-225,405,-75),1849=>array(125,-266,410,-64),1850=>array(169,588,347,714),1851=>array(288,-188,466,-62),1852=>array(263,-177,374,-66),1853=>array(171,566,379,783),1854=>array(253,-255,461,-37),1855=>array(263,618,374,729),1856=>array(271,-154,369,-61),1857=>array(263,618,374,729),1858=>array(263,-177,374,-66),1859=>array(265,567,376,848),1860=>array(263,-300,375,-39),1861=>array(167,567,474,818),1862=>array(172,-300,469,-54),1863=>array(170,640,472,780),1864=>array(168,-184,474,-30),1865=>array(167,567,468,801),1866=>array(213,598,421,795),1869=>array(132,-24,723,544),1870=>array(-72,0,624,707),1871=>array(-72,0,624,664),2304=>array(-303,656,71,900),2305=>array(-297,656,77,900),2306=>array(-181,696,-33,844),2307=>array(76,98,224,525),2308=>array(30,0,727,860),2309=>array(30,0,727,613),2310=>array(4,0,898,613),2311=>array(-10,-151,474,613),2312=>array(-10,-151,474,900),2313=>array(-10,-6,592,613),2314=>array(-10,-6,814,613),2315=>array(-10,-11,931,613),2316=>array(-10,-119,651,613),2317=>array(-10,-133,443,831),2318=>array(-10,-133,443,860),2319=>array(-10,-133,443,613),2320=>array(-10,-133,443,900),2321=>array(4,0,898,819),2322=>array(4,0,898,860),2323=>array(4,0,898,900),2324=>array(4,0,898,900),2325=>array(-10,0,759,613),2326=>array(-10,0,790,613),2327=>array(-10,0,532,613),2328=>array(-10,0,600,613),2329=>array(-10,-6,690,613),2330=>array(-10,0,630,613),2331=>array(-10,-8,654,613),2332=>array(-10,0,713,613),2333=>array(-10,-151,702,613),2334=>array(-10,0,690,613),2335=>array(-10,-6,578,613),2336=>array(-10,6,541,613),2337=>array(-10,-6,621,613),2338=>array(-10,-6,548,613),2339=>array(-10,0,618,613),2340=>array(-10,-1,574,613),2341=>array(42,0,670,613),2342=>array(-10,-39,510,613),2343=>array(41,0,603,613),2344=>array(-10,0,578,613),2345=>array(-10,-53,578,613),2346=>array(-10,0,489,613),2347=>array(-10,0,743,613),2348=>array(-10,0,502,613),2349=>array(6,0,588,613),2350=>array(-10,0,528,613),2351=>array(-10,0,566,613),2352=>array(-10,-13,445,613),2353=>array(-10,-80,445,613),2354=>array(-10,-11,666,613),2355=>array(-10,58,671,613),2356=>array(-10,-109,671,613),2357=>array(-10,0,502,613),2358=>array(-10,-16,656,613),2359=>array(-10,0,489,613),2360=>array(-10,-13,677,613),2361=>array(-10,-70,496,613),2362=>array(-121,614,-53,800),2363=>array(-10,0,236,800),2364=>array(-384,-107,-236,41),2365=>array(23,-15,440,587),2366=>array(-10,0,236,613),2367=>array(-10,0,648,869),2368=>array(-243,1,236,855),2369=>array(-447,-266,13,-14),2370=>array(-317,-266,143,-14),2371=>array(-304,-268,-14,-14),2372=>array(-304,-300,33,122),2373=>array(-300,656,74,827),2374=>array(-451,614,-81,860),2375=>array(-388,613,-76,900),2376=>array(-416,613,-72,900),2377=>array(-73,0,301,827),2378=>array(-223,0,236,860),2379=>array(-160,0,236,899),2380=>array(-192,0,236,900),2381=>array(-162,-230,57,-25),2382=>array(0,1,159,613),2383=>array(-274,0,236,860),2384=>array(21,-6,824,783),2385=>array(-121,614,-53,900),2386=>array(-544,-257,6,-206),2387=>array(-468,736,-206,900),2388=>array(-206,736,56,900),2389=>array(-300,618,74,900),2390=>array(-440,-164,0,-37),2391=>array(-440,-300,0,-37),2392=>array(-10,-107,759,613),2393=>array(-10,-180,790,613),2394=>array(-10,0,532,613),2395=>array(-10,-101,713,613),2396=>array(-10,-180,621,613),2397=>array(-10,-180,548,613),2398=>array(-10,-48,743,613),2399=>array(-10,-60,566,613),2400=>array(-10,-188,910,613),2401=>array(-10,-291,674,613),2402=>array(-416,-300,40,113),2403=>array(-417,-300,60,256),2404=>array(371,-96,438,640),2405=>array(238,-82,518,654),2406=>array(90,93,484,498),2407=>array(113,0,447,613),2408=>array(88,-68,498,613),2409=>array(100,-129,486,613),2410=>array(78,4,510,613),2411=>array(102,0,535,614),2412=>array(102,-104,484,613),2413=>array(34,6,510,604),2414=>array(130,6,458,611),2415=>array(129,-119,458,613),2416=>array(91,182,303,392),2417=>array(129,717,258,837),2418=>array(30,0,778,827),2419=>array(30,0,727,800),2420=>array(4,0,898,800),2421=>array(4,0,898,860),2422=>array(30,-164,727,613),2423=>array(30,-300,727,613),2425=>array(-10,-154,713,613),2426=>array(-10,0,566,613),2427=>array(-10,-20,578,613),2428=>array(-10,-20,713,613),2429=>array(88,1,498,613),2430=>array(-10,-75,621,613),2431=>array(-10,-20,502,613),2433=>array(-313,617,-22,797),2434=>array(20,43,286,547),2435=>array(34,49,229,507),2437=>array(1,0,656,558),2438=>array(1,0,829,635),2439=>array(-14,-50,507,790),2440=>array(1,-10,564,772),2441=>array(0,62,539,790),2442=>array(0,64,559,794),2443=>array(18,0,600,651),2444=>array(116,53,533,633),2447=>array(35,0,501,571),2448=>array(35,0,588,857),2451=>array(23,62,504,538),2452=>array(23,62,593,861),2453=>array(1,0,569,558),2454=>array(28,0,467,644),2455=>array(43,3,480,635),2456=>array(1,0,437,558),2457=>array(9,3,447,525),2458=>array(0,2,407,558),2459=>array(0,-75,509,558),2460=>array(0,-3,601,558),2461=>array(1,1,563,646),2462=>array(26,0,747,570),2463=>array(-47,70,401,807),2464=>array(0,3,404,852),2465=>array(0,60,540,558),2466=>array(0,3,408,558),2467=>array(63,0,460,657),2468=>array(-33,38,597,558),2469=>array(15,0,490,646),2470=>array(-23,-2,435,558),2471=>array(45,0,461,565),2472=>array(0,-2,445,558),2474=>array(9,0,499,627),2475=>array(1,0,595,558),2476=>array(0,0,396,558),2477=>array(0,71,565,558),2478=>array(1,0,458,558),2479=>array(0,0,433,558),2480=>array(0,0,396,558),2482=>array(1,0,508,558),2486=>array(0,0,518,645),2487=>array(0,0,445,558),2488=>array(0,0,508,558),2489=>array(1,-53,497,558),2492=>array(-313,-135,-201,-23),2493=>array(0,-53,487,558),2494=>array(-79,0,193,635),2495=>array(0,0,541,789),2496=>array(-393,0,180,809),2497=>array(-251,-214,105,76),2498=>array(-192,-274,154,36),2499=>array(-354,-293,-83,41),2500=>array(-289,-300,47,131),2503=>array(1,0,303,558),2504=>array(-58,0,332,787),2507=>array(-458,0,418,635),2508=>array(-438,0,419,820),2509=>array(-209,-166,-13,-3),2510=>array(11,3,401,561),2519=>array(-276,2,219,820),2524=>array(0,-112,540,558),2525=>array(0,-145,408,558),2527=>array(0,0,433,558),2528=>array(19,-253,594,651),2529=>array(116,-269,640,633),2530=>array(-383,-300,-89,84),2531=>array(-401,-300,151,186),2534=>array(65,65,419,430),2535=>array(77,2,364,556),2536=>array(49,-59,482,547),2537=>array(17,44,500,514),2538=>array(57,23,394,579),2539=>array(49,5,439,549),2540=>array(8,26,467,535),2541=>array(96,30,473,540),2542=>array(36,31,522,542),2543=>array(28,30,445,574),2544=>array(-25,0,414,558),2545=>array(-25,0,414,558),2546=>array(27,98,471,609),2547=>array(-5,73,358,548),2548=>array(26,98,470,609),2549=>array(40,75,550,548),2550=>array(13,29,543,572),2551=>array(23,47,133,551),2552=>array(17,35,342,558),2553=>array(43,146,391,489),2554=>array(3,372,524,729),2555=>array(49,-178,344,298),2561=>array(-324,657,0,900),2562=>array(-137,719,0,856),2563=>array(48,39,296,621),2565=>array(-7,0,872,641),2566=>array(-7,0,1104,641),2567=>array(-32,0,884,900),2568=>array(-10,0,945,900),2569=>array(-7,-154,739,897),2570=>array(-7,-271,739,897),2575=>array(-10,0,679,929),2576=>array(-7,0,872,974),2579=>array(-7,0,735,949),2580=>array(-7,0,872,981),2581=>array(-8,0,697,641),2582=>array(-13,0,648,641),2583=>array(-7,0,714,641),2584=>array(-7,0,764,641),2585=>array(-9,0,667,641),2586=>array(-6,0,700,641),2587=>array(-8,0,672,641),2588=>array(-10,0,669,641),2589=>array(-7,-2,642,641),2590=>array(-6,-3,655,641),2591=>array(-7,-3,659,641),2592=>array(-10,-2,673,641),2593=>array(-8,0,669,641),2594=>array(-9,-6,667,641),2595=>array(-7,0,667,641),2596=>array(-6,3,657,641),2597=>array(-6,0,650,641),2598=>array(-8,0,677,641),2599=>array(-10,0,648,641),2600=>array(-12,-2,643,641),2602=>array(-9,0,666,641),2603=>array(-8,0,669,641),2604=>array(-9,0,637,641),2605=>array(-9,0,634,641),2606=>array(-7,0,673,641),2607=>array(-6,0,749,641),2608=>array(-6,-1,632,641),2610=>array(-10,-4,691,640),2611=>array(-21,-13,734,641),2613=>array(-7,-3,642,641),2614=>array(-7,0,682,641),2616=>array(-7,0,682,641),2617=>array(-10,0,628,641),2620=>array(-163,-156,-57,-50),2622=>array(-13,250,309,641),2623=>array(-5,0,488,933),2624=>array(-222,0,322,900),2625=>array(-518,-154,-152,-49),2626=>array(-518,-275,-152,-54),2631=>array(-502,651,-134,929),2632=>array(-545,656,-132,981),2635=>array(-479,678,-147,939),2636=>array(-561,711,-119,981),2637=>array(-338,-285,-59,-52),2641=>array(-338,-285,-59,-52),2649=>array(-13,0,651,641),2650=>array(-6,-12,777,641),2651=>array(-10,0,667,641),2652=>array(-6,-3,669,641),2654=>array(-6,-10,672,641),2662=>array(33,40,618,625),2663=>array(31,-55,531,683),2664=>array(21,3,555,670),2665=>array(21,1,558,669),2666=>array(20,-1,512,658),2667=>array(0,0,498,641),2668=>array(16,0,486,829),2669=>array(14,0,583,664),2670=>array(14,0,600,642),2671=>array(14,0,618,789),2672=>array(-303,707,-24,931),2673=>array(-356,707,-32,897),2674=>array(-10,0,679,641),2675=>array(-7,0,739,897),2676=>array(12,-55,1518,984),2677=>array(-278,-265,0,-24),3330=>array(72,-13,419,333),3331=>array(77,23,273,522),3333=>array(88,-14,1360,557),3334=>array(89,-226,1522,558),3335=>array(87,-217,981,557),3336=>array(87,-217,1728,558),3337=>array(90,-215,720,558),3338=>array(90,-215,1473,558),3339=>array(87,-231,865,558),3340=>array(89,-10,1059,558),3342=>array(89,-221,1203,559),3343=>array(88,-222,1231,558),3344=>array(89,-221,1902,559),3346=>array(86,-13,714,559),3347=>array(86,-13,1195,559),3348=>array(86,-13,1463,559),3349=>array(89,-14,954,558),3350=>array(87,-13,910,557),3351=>array(89,-13,910,562),3352=>array(89,0,1343,558),3353=>array(87,-13,1002,557),3354=>array(90,0,865,544),3355=>array(90,-14,1281,557),3356=>array(87,-14,841,557),3357=>array(89,-14,1536,559),3358=>array(87,-14,1342,557),3359=>array(89,-14,589,558),3360=>array(89,-13,666,558),3361=>array(87,-16,1291,564),3362=>array(89,-14,1332,558),3363=>array(87,-14,1326,558),3364=>array(87,-14,954,557),3365=>array(87,0,823,558),3366=>array(89,-13,618,557),3367=>array(89,-14,928,558),3368=>array(89,-14,928,558),3369=>array(57,-14,928,558),3370=>array(89,-4,855,544),3371=>array(89,-4,1143,557),3372=>array(87,-13,1203,557),3373=>array(89,-19,644,559),3374=>array(87,0,628,558),3375=>array(90,-16,1022,557),3376=>array(90,-13,716,558),3377=>array(89,-13,662,557),3378=>array(89,0,855,557),3379=>array(86,-208,714,559),3380=>array(90,-13,641,563),3381=>array(86,-10,878,558),3382=>array(89,-13,1009,562),3383=>array(89,-4,1098,557),3384=>array(87,-16,1287,563),3385=>array(89,-9,1147,558),3386=>array(101,-200,855,544),3389=>array(85,-300,740,741),3390=>array(90,-13,506,557),3391=>array(-109,0,202,813),3392=>array(-145,0,202,812),3393=>array(72,-298,372,558),3394=>array(72,-298,372,558),3395=>array(43,-300,451,550),3396=>array(43,-300,451,550),3398=>array(89,-10,714,557),3399=>array(86,-16,535,559),3400=>array(89,-10,1404,557),3402=>array(-741,-13,536,557),3403=>array(-564,-16,526,559),3404=>array(-741,-13,724,558),3405=>array(-97,557,219,745),3406=>array(58,576,214,732),3415=>array(47,-13,724,558),3424=>array(87,-231,865,558),3425=>array(89,-226,1213,558),3426=>array(-655,-308,0,69),3427=>array(-732,-300,10,217),3430=>array(77,-14,687,545),3431=>array(35,-202,693,561),3432=>array(77,-10,764,557),3433=>array(85,-14,1030,557),3434=>array(85,-16,666,686),3435=>array(80,-216,934,699),3436=>array(85,-217,1213,561),3437=>array(83,-217,680,557),3438=>array(85,-217,832,557),3439=>array(84,-16,941,770),3440=>array(44,-217,1221,564),3441=>array(85,-217,886,561),3442=>array(89,-14,1322,610),3443=>array(62,176,874,524),3444=>array(87,-14,900,775),3445=>array(87,-14,1044,775),3449=>array(89,-14,1148,561),3450=>array(87,-14,1400,775),3451=>array(89,-14,994,771),3452=>array(89,-13,700,771),3453=>array(87,-14,1114,771),3454=>array(89,-13,1004,771),3455=>array(89,-14,957,771),4256=>array(60,0,527,720),4257=>array(60,0,560,720),4258=>array(60,0,582,740),4259=>array(60,20,755,740),4260=>array(60,0,520,740),4261=>array(60,0,515,740),4262=>array(60,0,739,740),4263=>array(80,0,813,740),4264=>array(60,20,562,740),4265=>array(60,0,517,740),4266=>array(60,20,879,740),4267=>array(60,0,522,740),4268=>array(80,0,543,740),4269=>array(80,20,710,740),4270=>array(60,0,507,720),4271=>array(30,0,543,720),4272=>array(60,20,739,720),4273=>array(80,0,541,720),4274=>array(60,0,732,740),4275=>array(20,0,644,740),4276=>array(60,0,787,740),4277=>array(60,0,519,720),4278=>array(60,20,752,740),4279=>array(60,0,523,720),4280=>array(30,0,573,740),4281=>array(80,20,530,740),4282=>array(60,0,694,720),4283=>array(60,0,516,720),4284=>array(80,0,623,740),4285=>array(60,0,631,720),4286=>array(80,0,536,720),4287=>array(60,0,828,740),4288=>array(60,0,513,720),4304=>array(30,0,406,450),4305=>array(30,0,461,720),4306=>array(30,-280,498,420),4307=>array(30,-261,662,420),4308=>array(30,-280,417,420),4309=>array(30,-280,417,420),4310=>array(30,0,598,740),4311=>array(30,0,704,420),4312=>array(30,20,419,420),4313=>array(30,-280,415,420),4314=>array(30,-260,813,420),4315=>array(30,0,419,720),4316=>array(30,0,419,720),4317=>array(30,20,652,420),4318=>array(30,0,419,720),4319=>array(0,-280,450,420),4320=>array(30,20,652,720),4321=>array(30,0,438,720),4322=>array(30,-280,680,602),4323=>array(0,-280,593,420),4324=>array(30,-280,667,420),4325=>array(30,-280,417,714),4326=>array(30,-260,672,420),4327=>array(30,-280,417,420),4328=>array(0,0,440,740),4329=>array(30,20,410,740),4330=>array(30,-280,602,420),4331=>array(30,0,419,720),4332=>array(30,0,470,740),4333=>array(30,-280,536,720),4334=>array(30,0,419,720),4335=>array(0,-280,656,420),4336=>array(30,0,444,720),4337=>array(0,-4,600,746),4338=>array(30,-5,364,394),4339=>array(30,-274,389,376),4340=>array(30,-274,392,711),4341=>array(30,6,436,714),4345=>array(30,-280,498,420),4347=>array(60,2,455,580),4348=>array(78,228,371,768),5024=>array(53,0,631,729),5025=>array(53,-10,696,729),5026=>array(-22,0,550,729),5027=>array(5,-23,712,729),5028=>array(29,-23,941,741),5029=>array(53,0,146,729),5030=>array(42,-23,575,741),5031=>array(36,-23,758,741),5032=>array(53,0,444,729),5033=>array(24,-23,635,729),5034=>array(-22,0,614,729),5035=>array(-21,-23,388,729),5036=>array(53,0,576,729),5037=>array(9,0,742,729),5038=>array(26,0,484,741),5039=>array(-29,-23,674,752),5040=>array(53,0,494,729),5041=>array(53,0,537,729),5042=>array(-3,-23,781,741),5043=>array(2,0,909,729),5044=>array(13,-23,567,741),5045=>array(50,0,519,752),5046=>array(30,-23,647,741),5047=>array(53,0,739,729),5048=>array(28,0,497,752),5049=>array(-2,-23,851,729),5050=>array(30,-23,905,741),5051=>array(53,0,614,729),5052=>array(24,-23,470,729),5053=>array(12,-23,679,729),5054=>array(29,-23,733,741),5055=>array(23,-130,486,729),5056=>array(30,-23,695,741),5057=>array(-26,-23,776,742),5058=>array(53,0,543,729),5059=>array(16,0,571,729),5060=>array(28,0,544,752),5061=>array(29,-23,1011,741),5062=>array(24,0,596,729),5063=>array(10,-23,789,752),5064=>array(16,-23,704,741),5065=>array(-8,0,1138,741),5066=>array(10,-23,789,752),5067=>array(36,-23,574,741),5068=>array(50,-23,610,729),5069=>array(6,-23,876,752),5070=>array(6,0,573,729),5071=>array(53,0,597,729),5072=>array(6,0,469,729),5073=>array(24,-24,667,738),5074=>array(53,0,582,729),5075=>array(51,-23,460,729),5076=>array(-13,0,898,729),5077=>array(32,-23,564,741),5078=>array(2,-23,652,729),5079=>array(-26,0,460,729),5080=>array(9,0,495,729),5081=>array(-13,0,602,729),5082=>array(32,-23,564,741),5083=>array(35,-23,835,740),5084=>array(-5,-24,700,742),5085=>array(50,0,503,741),5086=>array(53,0,506,729),5087=>array(30,-23,659,741),5088=>array(17,-23,683,729),5089=>array(8,-23,792,741),5090=>array(53,0,579,729),5091=>array(31,-23,651,741),5092=>array(8,0,713,729),5093=>array(53,0,703,729),5094=>array(53,0,632,729),5095=>array(8,-22,493,729),5096=>array(30,-24,798,741),5097=>array(30,-91,913,741),5098=>array(-7,-23,857,741),5099=>array(29,-23,733,741),5100=>array(36,-23,764,741),5101=>array(-26,-24,581,741),5102=>array(36,-23,546,741),5103=>array(10,-23,789,752),5104=>array(17,-15,596,741),5105=>array(-24,-23,679,729),5106=>array(50,0,540,741),5107=>array(31,-23,847,741),5108=>array(53,0,597,729),5120=>array(50,148,534,390),5121=>array(50,0,891,730),5122=>array(50,0,891,893),5123=>array(50,0,891,730),5124=>array(50,0,891,886),5125=>array(50,0,676,730),5126=>array(50,0,676,770),5127=>array(50,0,676,770),5128=>array(50,0,676,730),5129=>array(50,0,676,730),5130=>array(50,0,676,730),5131=>array(50,0,676,770),5132=>array(50,0,891,730),5133=>array(50,0,891,730),5134=>array(50,0,891,730),5135=>array(50,0,891,730),5136=>array(50,0,891,886),5137=>array(50,0,891,886),5138=>array(50,0,832,730),5139=>array(50,0,832,730),5140=>array(50,0,832,846),5141=>array(50,0,832,846),5142=>array(50,0,676,819),5143=>array(50,0,832,730),5144=>array(50,0,832,730),5145=>array(50,0,832,846),5146=>array(50,0,832,846),5147=>array(50,0,676,815),5148=>array(50,428,444,770),5149=>array(50,307,298,576),5150=>array(50,428,397,730),5151=>array(50,428,279,730),5152=>array(50,428,279,730),5153=>array(50,554,402,730),5154=>array(50,554,402,730),5155=>array(50,428,226,780),5156=>array(50,428,401,780),5157=>array(50,428,413,730),5158=>array(50,430,239,730),5159=>array(50,307,166,423),5160=>array(50,446,350,505),5161=>array(50,430,350,730),5162=>array(50,430,350,730),5163=>array(50,0,1119,770),5164=>array(50,0,891,770),5165=>array(50,0,760,730),5166=>array(50,0,962,770),5167=>array(50,0,891,730),5168=>array(50,0,891,893),5169=>array(50,0,891,730),5170=>array(50,0,891,886),5171=>array(50,0,676,730),5172=>array(50,0,676,770),5173=>array(50,0,676,770),5174=>array(50,0,676,730),5175=>array(50,0,676,730),5176=>array(50,0,676,730),5177=>array(50,0,676,770),5178=>array(50,0,891,730),5179=>array(50,0,891,730),5180=>array(50,0,891,730),5181=>array(50,0,891,730),5182=>array(50,0,891,886),5183=>array(50,0,891,886),5184=>array(50,0,676,730),5185=>array(50,0,832,730),5186=>array(50,0,676,846),5187=>array(50,0,832,846),5188=>array(50,0,832,730),5189=>array(50,0,676,730),5190=>array(50,0,832,846),5191=>array(50,0,676,846),5192=>array(50,0,676,786),5193=>array(50,428,340,770),5194=>array(50,430,109,730),5195=>array(50,365,282,730),5196=>array(50,0,692,730),5197=>array(50,0,692,893),5198=>array(50,0,692,730),5199=>array(50,0,692,886),5200=>array(50,0,694,730),5201=>array(50,0,694,886),5202=>array(50,0,694,886),5203=>array(50,0,694,730),5204=>array(50,0,694,730),5205=>array(50,0,694,730),5206=>array(50,0,694,886),5207=>array(50,0,864,730),5208=>array(50,0,862,730),5209=>array(50,0,862,730),5210=>array(50,0,862,730),5211=>array(50,0,862,886),5212=>array(50,0,862,886),5213=>array(50,0,694,730),5214=>array(50,0,866,730),5215=>array(50,0,694,886),5216=>array(50,0,866,886),5217=>array(50,0,866,730),5218=>array(50,0,694,730),5219=>array(50,0,866,886),5220=>array(50,0,694,886),5221=>array(50,0,865,730),5222=>array(50,365,427,770),5223=>array(50,0,805,730),5224=>array(50,0,805,730),5225=>array(50,0,805,730),5226=>array(50,0,805,730),5227=>array(50,0,542,730),5228=>array(50,0,542,893),5229=>array(50,0,542,730),5230=>array(50,0,542,886),5231=>array(50,0,542,730),5232=>array(50,0,560,886),5233=>array(50,0,663,888),5234=>array(50,0,542,730),5235=>array(50,0,553,886),5236=>array(50,0,668,730),5237=>array(50,0,714,730),5238=>array(50,0,714,730),5239=>array(50,0,668,730),5240=>array(50,0,714,886),5241=>array(50,0,668,886),5242=>array(50,0,668,730),5243=>array(50,0,713,730),5244=>array(50,0,685,886),5245=>array(50,0,713,886),5246=>array(50,0,714,730),5247=>array(50,0,668,730),5248=>array(50,0,714,886),5249=>array(50,0,684,886),5250=>array(50,0,713,730),5251=>array(50,364,311,730),5252=>array(50,364,311,730),5253=>array(50,0,658,730),5254=>array(50,0,658,730),5255=>array(50,0,658,730),5256=>array(50,0,601,730),5257=>array(50,0,542,730),5258=>array(50,0,542,893),5259=>array(50,0,542,730),5260=>array(50,0,542,886),5261=>array(50,0,542,730),5262=>array(50,0,560,886),5263=>array(50,0,663,888),5264=>array(50,0,542,730),5265=>array(50,0,558,886),5266=>array(50,0,558,730),5267=>array(50,0,713,730),5268=>array(50,0,713,730),5269=>array(50,0,558,730),5270=>array(50,0,713,886),5271=>array(50,0,558,886),5272=>array(50,0,559,730),5273=>array(50,0,713,730),5274=>array(50,0,577,886),5275=>array(50,0,713,886),5276=>array(50,0,713,730),5277=>array(50,0,559,730),5278=>array(50,0,713,886),5279=>array(50,0,575,886),5280=>array(50,0,713,730),5281=>array(50,364,311,730),5282=>array(50,364,311,730),5283=>array(50,0,542,730),5284=>array(50,0,542,893),5285=>array(50,0,542,730),5286=>array(50,0,542,886),5287=>array(50,0,542,730),5288=>array(50,0,560,886),5289=>array(50,0,663,888),5290=>array(50,0,542,730),5291=>array(50,0,558,886),5292=>array(50,0,542,730),5293=>array(50,0,713,730),5294=>array(50,0,713,730),5295=>array(50,0,542,730),5296=>array(50,0,713,886),5297=>array(50,0,542,886),5298=>array(50,0,542,730),5299=>array(50,0,713,730),5300=>array(50,0,560,886),5301=>array(50,0,713,886),5302=>array(50,0,713,730),5303=>array(50,0,542,730),5304=>array(50,0,713,886),5305=>array(50,0,558,886),5306=>array(50,0,713,730),5307=>array(50,365,296,730),5308=>array(50,368,226,720),5309=>array(50,365,296,730),5310=>array(50,365,281,730),5311=>array(50,0,512,730),5312=>array(50,0,662,492),5313=>array(50,0,662,656),5314=>array(50,0,662,492),5315=>array(50,0,662,648),5316=>array(50,0,662,492),5317=>array(50,0,662,648),5318=>array(50,0,662,648),5319=>array(50,0,662,492),5320=>array(50,0,662,648),5321=>array(50,0,818,509),5322=>array(50,0,778,509),5323=>array(50,0,778,492),5324=>array(50,0,662,492),5325=>array(50,0,778,648),5326=>array(50,0,662,648),5327=>array(50,0,662,648),5328=>array(50,364,416,625),5329=>array(50,365,402,730),5330=>array(50,364,416,625),5331=>array(50,0,662,492),5332=>array(50,0,662,655),5333=>array(50,0,662,492),5334=>array(50,0,662,648),5335=>array(50,0,662,492),5336=>array(50,0,662,648),5337=>array(50,0,662,648),5338=>array(50,0,662,492),5339=>array(50,0,662,648),5340=>array(50,0,818,509),5341=>array(50,0,778,509),5342=>array(50,0,778,509),5343=>array(50,0,818,509),5344=>array(50,0,778,648),5345=>array(50,0,818,648),5346=>array(50,0,662,509),5347=>array(50,0,778,509),5348=>array(50,0,662,648),5349=>array(50,0,778,648),5350=>array(50,0,778,509),5351=>array(50,0,662,509),5352=>array(50,0,778,648),5353=>array(50,0,662,648),5354=>array(50,364,416,625),5355=>array(0,365,262,730),5356=>array(50,0,574,730),5357=>array(50,0,454,730),5358=>array(50,0,473,894),5359=>array(50,0,454,730),5360=>array(50,0,471,886),5361=>array(50,0,454,730),5362=>array(50,0,470,886),5363=>array(50,0,574,886),5364=>array(50,0,454,730),5365=>array(50,0,470,886),5366=>array(50,-3,570,727),5367=>array(50,0,610,730),5368=>array(50,0,609,730),5369=>array(50,0,570,730),5370=>array(50,0,626,886),5371=>array(50,0,570,886),5372=>array(50,0,570,730),5373=>array(50,0,610,730),5374=>array(50,0,587,886),5375=>array(50,0,626,886),5376=>array(50,0,609,730),5377=>array(50,0,570,730),5378=>array(50,0,609,886),5379=>array(50,0,586,886),5380=>array(50,0,609,730),5381=>array(50,365,259,730),5382=>array(50,365,315,730),5383=>array(50,365,259,730),5384=>array(50,365,408,730),5385=>array(50,343,265,730),5386=>array(50,343,265,730),5387=>array(50,257,297,838),5388=>array(50,0,960,838),5389=>array(50,0,970,838),5390=>array(50,0,822,838),5391=>array(50,0,822,838),5392=>array(50,0,780,730),5393=>array(50,0,780,730),5394=>array(50,0,780,886),5395=>array(50,0,804,482),5396=>array(50,0,804,638),5397=>array(50,0,804,482),5398=>array(50,0,804,638),5399=>array(50,0,951,730),5400=>array(50,0,952,730),5401=>array(50,0,951,730),5402=>array(50,0,952,730),5403=>array(50,0,951,886),5404=>array(50,0,952,886),5405=>array(50,0,948,482),5406=>array(50,0,948,482),5407=>array(50,0,948,638),5408=>array(50,0,948,638),5409=>array(50,0,948,482),5410=>array(50,0,948,482),5411=>array(50,0,948,638),5412=>array(50,0,948,638),5413=>array(50,363,544,678),5414=>array(50,0,466,730),5415=>array(50,0,466,893),5416=>array(50,0,466,730),5417=>array(50,0,466,886),5418=>array(50,0,466,730),5419=>array(50,0,482,886),5420=>array(50,0,586,887),5421=>array(50,0,466,730),5422=>array(50,0,482,886),5423=>array(50,0,621,730),5424=>array(50,0,622,730),5425=>array(50,0,621,730),5426=>array(50,0,622,730),5427=>array(50,0,621,886),5428=>array(50,0,622,886),5429=>array(50,0,621,730),5430=>array(50,0,622,730),5431=>array(50,0,637,886),5432=>array(50,0,622,886),5433=>array(50,0,621,730),5434=>array(50,0,622,730),5435=>array(50,0,621,886),5436=>array(50,0,638,886),5437=>array(50,0,621,730),5438=>array(50,365,322,730),5439=>array(50,365,455,730),5440=>array(50,366,414,730),5441=>array(50,366,410,726),5442=>array(50,0,780,456),5443=>array(50,0,780,456),5444=>array(50,-2,780,454),5445=>array(50,-2,780,619),5446=>array(50,-2,780,455),5447=>array(50,-2,780,612),5448=>array(50,0,506,730),5449=>array(50,0,506,886),5450=>array(50,0,506,730),5451=>array(50,0,506,730),5452=>array(50,0,506,886),5453=>array(50,-1,506,730),5454=>array(50,0,641,886),5455=>array(50,0,662,886),5456=>array(50,365,293,730),5457=>array(50,365,312,730),5458=>array(50,0,574,730),5459=>array(50,0,767,730),5460=>array(50,0,767,893),5461=>array(50,0,767,730),5462=>array(50,0,767,886),5463=>array(50,0,774,730),5464=>array(50,0,774,846),5465=>array(50,0,774,730),5466=>array(50,0,774,846),5467=>array(50,0,930,846),5468=>array(50,0,922,846),5469=>array(50,377,415,730),5470=>array(50,0,692,730),5471=>array(50,0,692,730),5472=>array(50,0,692,730),5473=>array(50,0,692,730),5474=>array(50,0,692,886),5475=>array(50,0,692,886),5476=>array(50,0,692,730),5477=>array(50,0,692,886),5478=>array(50,0,692,730),5479=>array(50,0,692,886),5480=>array(50,0,848,886),5481=>array(50,0,798,886),5482=>array(50,365,360,730),5483=>array(50,0,692,730),5484=>array(50,0,692,730),5485=>array(50,0,694,730),5486=>array(50,0,694,730),5487=>array(50,365,775,730),5488=>array(50,0,692,730),5489=>array(50,0,692,730),5490=>array(50,0,694,730),5491=>array(50,0,694,730),5492=>array(50,0,750,730),5493=>array(50,0,750,730),5494=>array(50,0,750,886),5495=>array(50,0,750,730),5496=>array(50,0,750,886),5497=>array(50,0,750,730),5498=>array(50,0,750,886),5499=>array(50,365,443,730),5500=>array(50,0,542,730),5501=>array(50,366,410,726),5502=>array(50,0,825,893),5503=>array(50,0,825,730),5504=>array(50,0,825,886),5505=>array(50,0,727,730),5506=>array(50,0,745,886),5507=>array(50,0,825,730),5508=>array(50,0,825,886),5509=>array(50,364,594,730),5510=>array(50,0,542,730),5511=>array(50,0,542,730),5512=>array(50,0,542,730),5513=>array(50,0,542,730),5514=>array(50,0,732,730),5515=>array(50,0,732,730),5516=>array(50,0,732,730),5517=>array(50,0,732,730),5518=>array(50,0,1006,893),5519=>array(50,0,1006,730),5520=>array(50,0,1006,886),5521=>array(50,0,637,730),5522=>array(50,0,655,886),5523=>array(50,0,1006,730),5524=>array(50,0,1006,886),5525=>array(50,365,474,730),5526=>array(50,365,732,730),5527=>array(50,0,596,730),5528=>array(50,0,596,730),5529=>array(50,0,596,730),5530=>array(50,0,596,730),5531=>array(50,0,662,614),5532=>array(50,0,662,614),5533=>array(50,0,662,614),5534=>array(50,0,662,614),5535=>array(50,365,416,730),5536=>array(50,0,722,730),5537=>array(50,0,722,730),5538=>array(50,0,722,730),5539=>array(50,0,722,748),5540=>array(50,0,722,730),5541=>array(50,0,722,747),5542=>array(50,365,416,730),5543=>array(50,0,588,730),5544=>array(50,0,588,730),5545=>array(50,0,588,886),5546=>array(50,0,588,730),5547=>array(50,0,588,886),5548=>array(50,0,588,730),5549=>array(50,0,588,886),5550=>array(50,365,338,730),5551=>array(50,0,438,730),5552=>array(50,0,465,730),5553=>array(50,0,465,730),5554=>array(50,0,465,730),5555=>array(50,0,465,730),5556=>array(50,0,542,730),5557=>array(50,0,542,730),5558=>array(50,0,542,730),5559=>array(50,0,542,730),5560=>array(50,0,492,730),5561=>array(50,0,492,730),5562=>array(50,0,492,730),5563=>array(50,0,492,730),5564=>array(50,0,511,730),5565=>array(50,0,511,730),5566=>array(50,0,511,730),5567=>array(50,0,511,730),5568=>array(50,0,580,730),5569=>array(50,0,580,730),5570=>array(50,0,580,730),5571=>array(50,0,580,730),5572=>array(50,0,891,730),5573=>array(50,0,891,730),5574=>array(50,0,676,730),5575=>array(50,0,676,730),5576=>array(50,0,676,730),5577=>array(50,0,676,730),5578=>array(50,0,891,730),5579=>array(50,0,891,730),5580=>array(50,0,676,730),5581=>array(50,0,676,730),5582=>array(50,0,676,730),5583=>array(50,0,676,730),5584=>array(50,0,891,730),5585=>array(50,0,891,730),5586=>array(50,0,676,730),5587=>array(50,0,676,730),5588=>array(50,0,676,730),5589=>array(50,0,676,730),5590=>array(50,0,891,730),5591=>array(50,0,891,730),5592=>array(50,0,676,730),5593=>array(50,0,676,730),5594=>array(50,0,676,730),5595=>array(50,0,676,730),5596=>array(50,0,780,730),5597=>array(50,0,780,730),5598=>array(50,0,780,730),5599=>array(50,0,780,730),5600=>array(50,0,780,730),5601=>array(50,0,780,730),5602=>array(50,0,780,730),5603=>array(50,0,780,730),5604=>array(50,0,780,730),5605=>array(50,0,780,730),5606=>array(50,0,780,730),5607=>array(50,0,780,730),5608=>array(50,0,780,730),5609=>array(50,0,780,730),5610=>array(50,0,780,730),5611=>array(50,0,780,730),5612=>array(50,0,780,730),5613=>array(50,0,780,730),5614=>array(50,430,350,730),5615=>array(50,0,672,730),5616=>array(50,0,672,730),5617=>array(50,0,672,730),5618=>array(50,0,672,730),5619=>array(50,0,672,730),5620=>array(50,0,672,730),5621=>array(50,0,672,730),5622=>array(50,0,672,730),5623=>array(50,0,672,730),5624=>array(50,0,672,730),5625=>array(50,0,672,730),5626=>array(50,0,672,730),5627=>array(50,0,672,730),5628=>array(50,0,672,730),5629=>array(50,0,672,730),5630=>array(50,0,672,730),5631=>array(50,0,672,730),5632=>array(50,0,672,730),5633=>array(50,365,472,730),5634=>array(50,0,542,730),5635=>array(50,0,542,730),5636=>array(50,0,662,492),5637=>array(50,0,662,492),5638=>array(50,0,662,492),5639=>array(50,0,662,492),5640=>array(50,0,672,730),5641=>array(50,0,672,730),5642=>array(50,0,672,730),5643=>array(50,0,672,730),5644=>array(50,0,672,730),5645=>array(50,0,672,730),5646=>array(50,0,780,730),5647=>array(50,0,780,730),5648=>array(50,0,654,730),5649=>array(50,0,654,730),5650=>array(50,0,654,730),5651=>array(50,0,654,730),5652=>array(50,0,597,730),5653=>array(50,0,597,730),5654=>array(50,0,597,730),5655=>array(50,0,780,547),5656=>array(50,0,780,547),5657=>array(50,0,780,547),5658=>array(50,0,780,547),5659=>array(50,0,780,547),5660=>array(50,0,597,730),5661=>array(50,0,597,730),5662=>array(50,0,780,547),5663=>array(50,0,780,547),5664=>array(50,0,780,547),5665=>array(50,0,780,547),5666=>array(50,0,780,366),5667=>array(50,-1,780,365),5668=>array(50,0,415,730),5669=>array(50,0,415,730),5670=>array(50,0,415,730),5671=>array(50,0,415,730),5672=>array(50,0,780,474),5673=>array(50,-109,780,365),5674=>array(50,0,524,730),5675=>array(50,0,524,730),5676=>array(50,0,524,730),5677=>array(50,0,524,730),5678=>array(50,0,559,547),5679=>array(50,0,559,547),5680=>array(50,0,597,509),5681=>array(50,0,597,509),5682=>array(50,0,597,509),5683=>array(50,0,597,509),5684=>array(50,0,689,654),5685=>array(50,-106,689,548),5686=>array(50,0,704,639),5687=>array(50,0,704,639),5688=>array(50,0,704,639),5689=>array(50,0,704,639),5690=>array(50,0,780,655),5691=>array(50,-108,780,547),5692=>array(50,0,705,730),5693=>array(50,0,705,730),5694=>array(50,0,705,730),5695=>array(50,0,705,730),5696=>array(50,0,780,730),5697=>array(50,0,780,730),5698=>array(50,0,780,730),5699=>array(50,0,780,730),5700=>array(50,0,780,730),5701=>array(50,0,780,730),5702=>array(50,365,377,730),5703=>array(50,295,377,800),5704=>array(50,0,780,730),5705=>array(50,0,780,730),5706=>array(50,0,780,730),5707=>array(50,0,780,730),5708=>array(50,0,780,730),5709=>array(50,0,780,730),5710=>array(50,0,780,730),5711=>array(50,0,780,730),5712=>array(50,0,668,730),5713=>array(50,0,668,730),5714=>array(50,0,668,730),5715=>array(50,0,668,730),5716=>array(50,0,780,730),5717=>array(50,0,780,730),5718=>array(50,0,668,730),5719=>array(50,0,668,730),5720=>array(50,0,668,730),5721=>array(50,0,668,730),5722=>array(50,0,475,730),5723=>array(50,0,780,730),5724=>array(50,0,780,730),5725=>array(50,0,668,730),5726=>array(50,0,668,730),5727=>array(50,0,668,730),5728=>array(50,0,668,730),5729=>array(50,0,780,730),5730=>array(50,0,780,730),5731=>array(50,0,668,730),5732=>array(50,0,668,730),5733=>array(50,0,668,730),5734=>array(50,0,668,730),5735=>array(50,0,672,730),5736=>array(50,0,672,730),5737=>array(50,0,672,730),5738=>array(50,0,672,730),5739=>array(50,0,672,730),5740=>array(50,0,672,730),5741=>array(50,0,772,730),5742=>array(50,0,320,270),5743=>array(50,0,825,730),5744=>array(50,0,1006,730),5745=>array(50,0,1266,730),5746=>array(50,0,1264,886),5747=>array(50,0,913,730),5748=>array(50,0,931,886),5749=>array(50,0,1264,730),5750=>array(50,0,1280,886),5751=>array(50,0,618,730),5752=>array(50,0,728,730),5753=>array(50,0,728,886),5754=>array(50,0,648,730),5755=>array(50,0,648,886),5756=>array(50,0,728,730),5757=>array(50,0,728,886),5758=>array(50,485,350,670),5759=>array(50,395,350,760),6320=>array(50,0,676,800),6321=>array(50,0,676,800),6322=>array(50,0,676,800),6323=>array(50,0,832,800),6324=>array(50,0,676,800),6325=>array(50,0,676,800),6326=>array(50,0,736,800),6327=>array(50,0,694,896),6328=>array(50,0,542,800),6329=>array(50,0,714,800),6330=>array(29,0,542,896),6331=>array(50,0,662,655),6332=>array(50,0,662,655),6333=>array(50,0,662,730),6334=>array(50,0,454,730),6335=>array(50,0,454,730),6336=>array(50,0,780,853),6337=>array(50,0,780,853),6338=>array(50,0,951,896),6339=>array(50,0,466,800),6340=>array(50,0,466,800),6341=>array(50,0,506,896),6342=>array(50,0,774,507),6343=>array(50,0,842,507),6344=>array(50,0,774,648),6345=>array(50,0,842,648),6346=>array(50,0,662,507),6347=>array(50,0,774,507),6348=>array(50,0,662,648),6349=>array(50,0,774,648),6350=>array(50,0,946,474),6351=>array(50,-2,914,474),6352=>array(50,-2,914,648),6353=>array(50,0,676,730),6354=>array(50,0,676,886),6355=>array(50,0,636,730),6356=>array(50,365,475,733),6357=>array(50,365,402,730),6358=>array(50,364,311,730),6359=>array(50,364,311,730),6360=>array(50,365,296,730),6361=>array(50,364,416,625),6362=>array(50,365,260,730),6363=>array(50,365,436,614),6364=>array(50,365,525,733),6365=>array(50,365,525,733),6366=>array(50,607,173,730),6367=>array(50,614,166,730),6368=>array(50,0,934,474),6369=>array(33,0,506,886),6370=>array(50,0,523,886),6371=>array(50,0,856,730),6372=>array(50,0,808,730),6373=>array(50,0,856,730),6374=>array(50,0,694,886),6375=>array(50,0,694,886),6376=>array(50,0,708,730),6377=>array(50,0,542,846),6378=>array(50,0,758,730),6379=>array(50,0,613,886),6380=>array(50,0,580,846),6381=>array(50,0,856,730),6382=>array(50,0,672,886),6383=>array(50,0,672,886),6384=>array(50,0,856,730),6385=>array(50,0,597,886),6386=>array(50,0,934,547),6387=>array(50,365,230,730),6388=>array(50,364,269,630),6389=>array(50,365,305,628),7424=>array(5,0,483,525),7425=>array(10,0,693,525),7426=>array(38,-21,849,541),7428=>array(33,-23,496,540),7429=>array(54,0,476,525),7430=>array(10,0,482,525),7431=>array(54,0,430,525),7432=>array(30,-23,455,539),7433=>array(72,-205,156,524),7434=>array(20,-23,327,525),7435=>array(54,0,486,525),7436=>array(5,0,402,525),7437=>array(54,0,560,525),7439=>array(33,-23,552,540),7448=>array(54,0,438,525),7449=>array(14,-1,474,524),7450=>array(23,0,450,525),7451=>array(20,0,432,525),7452=>array(54,-23,457,525),7456=>array(5,0,467,525),7457=>array(5,0,671,525),7458=>array(30,0,430,525),7579=>array(5,378,356,755),7581=>array(5,361,314,752),7582=>array(15,373,333,887),7583=>array(9,373,294,751),7588=>array(12,391,172,880),7589=>array(45,375,159,743),7590=>array(44,390,98,742),7595=>array(34,390,253,742),7596=>array(38,243,502,752),7597=>array(32,257,496,743),7598=>array(14,243,354,752),7599=>array(41,243,381,752),7600=>array(38,390,325,742),7601=>array(15,373,333,751),7602=>array(14,270,443,882),7607=>array(15,374,383,755),7608=>array(39,375,310,743),7609=>array(40,374,329,742),7612=>array(10,244,355,741),7613=>array(10,325,311,742),7614=>array(13,294,331,742),7615=>array(15,381,314,880),7680=>array(15,-253,651,729),7681=>array(30,-253,523,539),7682=>array(80,0,624,883),7683=>array(60,-23,529,729),7684=>array(80,-164,624,729),7685=>array(60,-187,529,729),7686=>array(80,-130,624,729),7687=>array(60,-153,529,729),7688=>array(40,-214,669,900),7689=>array(30,-214,476,747),7690=>array(80,0,658,883),7691=>array(30,-23,499,729),7692=>array(80,-164,658,729),7693=>array(30,-187,499,729),7694=>array(80,-130,658,729),7695=>array(30,-153,499,729),7696=>array(89,-207,667,729),7697=>array(26,-230,495,729),7698=>array(80,-210,658,729),7699=>array(30,-233,499,729),7700=>array(80,0,603,980),7701=>array(30,-23,503,860),7702=>array(80,0,603,980),7703=>array(30,-23,503,856),7704=>array(80,-210,603,729),7705=>array(30,-233,503,539),7706=>array(80,-164,603,729),7707=>array(30,-187,503,539),7708=>array(80,-207,603,936),7709=>array(30,-230,503,734),7710=>array(80,0,569,883),7711=>array(20,0,260,883),7712=>array(40,-23,705,871),7713=>array(30,-218,490,669),7714=>array(80,0,641,881),7715=>array(60,0,476,729),7716=>array(80,-164,641,729),7717=>array(60,-164,476,729),7718=>array(80,0,641,879),7719=>array(60,0,476,862),7720=>array(-15,-207,644,729),7721=>array(-33,-207,486,729),7722=>array(80,-195,641,729),7723=>array(60,-195,476,729),7724=>array(-10,-164,304,729),7725=>array(-29,-164,285,729),7726=>array(5,0,328,1000),7727=>array(-12,0,288,900),7728=>array(80,0,659,900),7729=>array(60,0,504,900),7730=>array(80,-164,659,729),7731=>array(60,-164,504,729),7732=>array(80,-130,659,729),7733=>array(60,-130,504,729),7734=>array(80,-164,533,729),7735=>array(58,-164,162,729),7736=>array(80,-164,533,871),7737=>array(-27,-164,247,859),7738=>array(80,-130,533,729),7739=>array(-27,-130,247,729),7740=>array(80,-210,533,729),7741=>array(-34,-210,253,729),7742=>array(80,0,766,900),7743=>array(60,0,752,747),7744=>array(80,0,766,883),7745=>array(60,0,752,729),7746=>array(80,-164,766,729),7747=>array(60,-164,752,539),7748=>array(80,0,650,880),7749=>array(60,0,477,729),7750=>array(80,-164,650,729),7751=>array(60,-164,477,539),7752=>array(80,-130,650,729),7753=>array(60,-130,477,539),7754=>array(80,-210,650,729),7755=>array(60,-210,477,539),7756=>array(40,-23,744,990),7757=>array(30,-23,504,880),7758=>array(40,-23,744,1000),7759=>array(30,-23,504,846),7760=>array(40,-23,744,980),7761=>array(30,-23,504,860),7762=>array(40,-23,744,980),7763=>array(30,-23,504,856),7764=>array(80,0,606,900),7765=>array(60,-218,529,747),7766=>array(80,0,606,883),7767=>array(60,-218,529,729),7768=>array(80,0,666,883),7769=>array(60,0,312,729),7770=>array(80,-164,666,729),7771=>array(59,-164,312,539),7772=>array(80,-164,666,871),7773=>array(59,-164,333,669),7774=>array(80,-130,666,729),7775=>array(-26,-130,312,539),7776=>array(48,-23,621,897),7777=>array(34,-23,459,729),7778=>array(48,-187,621,741),7779=>array(34,-187,459,539),7780=>array(48,-23,621,1000),7781=>array(34,-23,459,862),7782=>array(48,-23,621,1000),7783=>array(34,-23,459,852),7784=>array(48,-187,621,883),7785=>array(34,-187,459,729),7786=>array(30,0,602,883),7787=>array(20,-23,260,832),7788=>array(30,-164,602,729),7789=>array(20,-187,260,668),7790=>array(30,-130,602,729),7791=>array(20,-153,323,668),7792=>array(30,-210,602,729),7793=>array(20,-233,329,668),7794=>array(80,-186,640,729),7795=>array(60,-186,477,524),7796=>array(80,-187,640,729),7797=>array(60,-187,477,524),7798=>array(80,-233,640,729),7799=>array(60,-233,477,524),7800=>array(80,-23,640,980),7801=>array(60,-23,477,876),7802=>array(80,-23,640,972),7803=>array(60,-23,477,831),7804=>array(15,0,630,878),7805=>array(10,0,486,703),7806=>array(15,-164,630,729),7807=>array(10,-164,486,524),7808=>array(15,0,922,900),7809=>array(10,0,712,747),7810=>array(15,0,922,900),7811=>array(10,0,712,747),7812=>array(15,0,922,879),7813=>array(10,0,712,730),7814=>array(15,0,922,883),7815=>array(10,0,712,729),7816=>array(15,-164,922,729),7817=>array(10,-164,712,524),7818=>array(15,0,642,883),7819=>array(10,0,466,729),7820=>array(15,0,642,880),7821=>array(10,0,466,730),7822=>array(15,0,663,883),7823=>array(10,-218,468,729),7824=>array(30,0,585,900),7825=>array(30,0,456,729),7826=>array(30,-164,585,729),7827=>array(30,-164,456,524),7828=>array(30,-130,585,729),7829=>array(30,-130,456,524),7830=>array(60,-130,476,729),7831=>array(0,-23,283,834),7832=>array(10,0,712,772),7833=>array(10,-218,468,771),7834=>array(30,-23,523,754),7835=>array(20,0,260,896),7836=>array(18,0,258,732),7837=>array(18,0,258,732),7838=>array(93,-23,627,741),7839=>array(30,-16,522,729),7840=>array(15,-164,651,729),7841=>array(30,-187,523,539),7842=>array(15,0,651,969),7843=>array(30,-23,523,786),7844=>array(15,0,651,1000),7845=>array(30,-23,543,876),7846=>array(15,0,651,1000),7847=>array(4,-23,523,876),7848=>array(15,0,651,1000),7849=>array(30,-23,523,884),7850=>array(15,0,651,990),7851=>array(30,-23,523,867),7852=>array(15,-164,651,900),7853=>array(30,-187,523,749),7854=>array(15,0,651,1000),7855=>array(30,-23,523,892),7856=>array(15,0,651,1000),7857=>array(30,-23,523,890),7858=>array(15,0,651,1050),7859=>array(30,-23,523,916),7860=>array(15,0,651,1031),7861=>array(30,-23,523,881),7862=>array(15,-164,651,892),7863=>array(30,-187,523,734),7864=>array(80,-164,603,729),7865=>array(30,-187,503,539),7866=>array(80,0,603,976),7867=>array(30,-23,503,786),7868=>array(80,0,603,901),7869=>array(30,-23,503,703),7870=>array(80,0,630,1000),7871=>array(30,-23,542,876),7872=>array(42,0,603,1000),7873=>array(4,-23,503,876),7874=>array(80,0,607,1000),7875=>array(30,-23,532,864),7876=>array(80,0,603,1000),7877=>array(30,-23,503,865),7878=>array(80,-164,603,900),7879=>array(30,-187,503,731),7880=>array(83,0,236,976),7881=>array(58,0,211,771),7882=>array(95,-164,199,729),7883=>array(57,-164,161,729),7884=>array(40,-187,744,741),7885=>array(30,-187,504,539),7886=>array(40,-23,744,977),7887=>array(30,-23,504,776),7888=>array(40,-23,744,1000),7889=>array(30,-23,534,875),7890=>array(40,-23,744,1000),7891=>array(0,-23,504,876),7892=>array(40,-23,744,900),7893=>array(30,-23,559,774),7894=>array(40,-23,744,1000),7895=>array(30,-23,504,864),7896=>array(40,-187,744,900),7897=>array(30,-187,504,749),7898=>array(40,-23,790,900),7899=>array(30,-23,559,740),7900=>array(40,-23,790,900),7901=>array(30,-23,559,740),7902=>array(40,-23,790,976),7903=>array(30,-23,559,772),7904=>array(40,-23,790,884),7905=>array(30,-23,559,705),7906=>array(40,-187,790,796),7907=>array(30,-187,559,631),7908=>array(80,-187,640,729),7909=>array(60,-187,477,524),7910=>array(80,-23,640,963),7911=>array(60,-23,477,751),7912=>array(80,-23,771,900),7913=>array(60,-23,618,740),7914=>array(80,-23,771,900),7915=>array(60,-23,618,740),7916=>array(80,-23,771,941),7917=>array(60,-23,618,766),7918=>array(80,-23,771,881),7919=>array(60,-23,618,690),7920=>array(80,-187,771,856),7921=>array(60,-187,618,651),7922=>array(15,0,663,900),7923=>array(10,-218,468,740),7924=>array(15,-164,663,729),7925=>array(10,-218,468,524),7926=>array(15,0,663,949),7927=>array(10,-218,468,749),7928=>array(15,0,663,885),7929=>array(10,-218,468,688),7936=>array(30,-13,565,742),7937=>array(30,-13,565,740),7938=>array(30,-13,565,756),7939=>array(30,-13,565,756),7940=>array(30,-13,565,756),7941=>array(30,-13,565,756),7942=>array(30,-13,565,875),7943=>array(30,-13,565,875),7944=>array(15,0,651,741),7945=>array(12,0,648,741),7946=>array(-14,0,726,740),7947=>array(-13,0,737,747),7948=>array(-17,0,673,741),7949=>array(-19,0,680,741),7950=>array(-15,0,654,852),7951=>array(-27,0,648,855),7952=>array(30,-10,467,738),7953=>array(30,-10,467,739),7954=>array(30,-10,467,756),7955=>array(30,-10,467,756),7956=>array(30,-10,467,756),7957=>array(30,-10,467,756),7960=>array(-13,0,666,741),7961=>array(-18,0,649,741),7962=>array(-16,0,836,741),7963=>array(-15,0,818,741),7964=>array(-17,0,803,741),7965=>array(-15,0,815,741),7968=>array(15,-182,489,753),7969=>array(15,-182,489,756),7970=>array(15,-182,489,756),7971=>array(15,-182,489,756),7972=>array(15,-182,489,756),7973=>array(15,-182,489,756),7974=>array(15,-182,489,875),7975=>array(15,-182,489,875),7976=>array(-15,0,691,741),7977=>array(-9,0,697,741),7978=>array(-14,0,864,741),7979=>array(-8,0,866,741),7980=>array(-12,0,862,741),7981=>array(-12,0,865,741),7982=>array(-35,0,772,852),7983=>array(-35,0,772,853),7984=>array(44,-8,274,756),7985=>array(56,-8,274,756),7986=>array(-12,-8,294,756),7987=>array(-9,-8,294,756),7988=>array(-5,-8,289,756),7989=>array(-7,-8,296,756),7990=>array(-53,-8,274,875),7991=>array(-53,-8,274,875),7992=>array(-15,0,238,741),7993=>array(-11,0,237,741),7994=>array(-14,0,398,741),7995=>array(-15,0,401,741),7996=>array(-15,0,393,741),7997=>array(-13,0,400,741),7998=>array(-32,0,310,854),7999=>array(-34,0,306,858),8000=>array(30,-10,514,741),8001=>array(30,-10,514,741),8002=>array(30,-10,514,756),8003=>array(30,-10,514,756),8004=>array(30,-10,514,756),8005=>array(30,-10,514,756),8008=>array(-17,-23,741,744),8009=>array(-12,-23,750,747),8010=>array(-14,-23,956,741),8011=>array(-13,-23,953,741),8012=>array(-15,-23,853,741),8013=>array(-13,-23,863,741),8016=>array(60,-14,498,742),8017=>array(60,-14,498,739),8018=>array(60,-14,498,756),8019=>array(60,-14,498,756),8020=>array(60,-14,498,756),8021=>array(60,-14,498,756),8022=>array(60,-14,498,874),8023=>array(60,-14,498,875),8025=>array(-18,6,743,741),8027=>array(-17,6,911,741),8029=>array(-12,6,967,741),8031=>array(-17,6,859,855),8032=>array(30,-9,698,739),8033=>array(30,-9,698,738),8034=>array(30,-9,698,756),8035=>array(30,-9,698,756),8036=>array(30,-9,698,756),8037=>array(30,-9,698,756),8038=>array(30,-9,698,874),8039=>array(30,-9,698,874),8040=>array(-13,0,708,738),8041=>array(-15,0,713,741),8042=>array(-15,0,911,744),8043=>array(-17,0,909,744),8044=>array(-13,0,818,738),8045=>array(-17,0,857,733),8046=>array(-9,0,840,852),8047=>array(-13,0,840,854),8048=>array(30,-13,565,747),8049=>array(30,-13,565,747),8050=>array(30,-10,467,747),8051=>array(30,-10,467,747),8052=>array(15,-182,489,747),8053=>array(15,-182,489,747),8054=>array(0,-8,274,747),8055=>array(56,-8,274,747),8056=>array(30,-10,514,747),8057=>array(30,-10,514,747),8058=>array(60,-14,498,747),8059=>array(60,-14,498,747),8060=>array(30,-9,698,747),8061=>array(30,-9,698,747),8064=>array(30,-199,565,742),8065=>array(30,-199,565,740),8066=>array(30,-199,565,756),8067=>array(30,-199,565,756),8068=>array(30,-199,565,756),8069=>array(30,-199,565,756),8070=>array(30,-199,565,875),8071=>array(30,-199,565,875),8072=>array(15,0,815,741),8073=>array(12,0,813,741),8074=>array(-14,0,901,740),8075=>array(-13,0,901,747),8076=>array(-17,0,838,741),8077=>array(-19,0,845,741),8078=>array(-15,0,820,852),8079=>array(-27,0,812,855),8080=>array(15,-200,489,753),8081=>array(15,-200,489,756),8082=>array(15,-200,489,756),8083=>array(15,-200,489,756),8084=>array(15,-200,489,756),8085=>array(15,-200,489,756),8086=>array(15,-200,489,875),8087=>array(15,-199,489,875),8088=>array(-15,0,913,741),8089=>array(-9,0,916,741),8090=>array(-14,0,1089,741),8091=>array(-8,0,1094,741),8092=>array(-12,0,1084,741),8093=>array(-12,0,1087,741),8094=>array(-35,0,994,852),8095=>array(-35,0,997,853),8096=>array(30,-199,698,739),8097=>array(30,-199,698,738),8098=>array(30,-199,698,756),8099=>array(30,-199,698,756),8100=>array(30,-199,698,756),8101=>array(30,-199,698,756),8102=>array(30,-199,698,874),8103=>array(30,-199,698,874),8104=>array(-13,-1,919,738),8105=>array(-15,-1,919,741),8106=>array(-15,0,1115,744),8107=>array(-17,-1,1113,744),8108=>array(-13,0,1030,738),8109=>array(-17,0,1062,733),8110=>array(-9,-1,1047,852),8111=>array(-13,-1,1050,854),8112=>array(30,-13,565,734),8113=>array(30,-13,565,669),8114=>array(30,-199,565,747),8115=>array(30,-199,565,531),8116=>array(30,-199,565,747),8118=>array(30,-13,565,703),8119=>array(30,-199,565,703),8120=>array(15,0,651,899),8121=>array(15,0,651,871),8122=>array(-35,0,651,741),8123=>array(5,0,651,741),8124=>array(15,0,817,729),8125=>array(116,577,204,740),8126=>array(23,0,179,178),8127=>array(116,577,204,740),8128=>array(13,620,327,724),8129=>array(13,633,327,900),8130=>array(15,-200,489,747),8131=>array(15,-198,489,531),8132=>array(15,-199,489,747),8134=>array(15,-182,489,736),8135=>array(15,-200,489,736),8136=>array(-9,0,773,741),8137=>array(-29,0,712,741),8138=>array(16,0,831,741),8139=>array(6,0,812,741),8140=>array(80,0,860,729),8141=>array(82,577,388,740),8142=>array(66,577,360,740),8143=>array(13,569,327,874),8144=>array(-51,-8,274,734),8145=>array(-37,-8,274,669),8146=>array(-29,-8,298,765),8147=>array(-17,-8,310,760),8150=>array(-57,-8,274,703),8151=>array(-16,-8,298,876),8152=>array(-3,0,298,900),8153=>array(2,0,276,870),8154=>array(-27,0,301,741),8155=>array(-30,0,292,741),8157=>array(68,577,371,740),8158=>array(81,577,384,740),8159=>array(13,569,327,876),8160=>array(60,-14,498,734),8161=>array(60,-14,498,669),8162=>array(60,-14,498,765),8163=>array(60,-14,498,763),8164=>array(60,-200,544,741),8165=>array(60,-200,544,741),8166=>array(60,-14,498,703),8167=>array(60,-14,498,875),8168=>array(15,6,663,900),8169=>array(15,6,663,871),8170=>array(-38,6,813,741),8171=>array(-55,6,823,741),8172=>array(-13,0,679,741),8173=>array(34,620,361,778),8174=>array(34,620,361,778),8175=>array(32,592,241,740),8178=>array(30,-199,698,747),8179=>array(30,-199,698,526),8180=>array(30,-199,698,747),8182=>array(30,-9,698,703),8183=>array(30,-199,698,703),8184=>array(-65,-23,804,741),8185=>array(-22,-23,804,741),8186=>array(-57,0,787,733),8187=>array(-38,0,753,733),8188=>array(40,0,920,733),8189=>array(82,592,291,740),8190=>array(118,577,206,740),8208=>array(46,240,284,312),8209=>array(46,240,284,312),8210=>array(68,240,488,312),8211=>array(40,240,460,312),8212=>array(40,240,960,312),8213=>array(40,240,960,312),8214=>array(70,-14,250,676),8215=>array(-19,-278,581,-126),8216=>array(97,498,190,730),8217=>array(80,497,173,729),8218=>array(80,-128,173,104),8219=>array(97,497,190,729),8220=>array(89,498,340,730),8221=>array(80,497,333,729),8222=>array(80,-128,333,104),8223=>array(87,497,340,729),8224=>array(38,-177,513,709),8225=>array(38,-177,513,709),8226=>array(75,220,325,470),8227=>array(90,220,320,470),8228=>array(198,0,302,104),8229=>array(94,0,406,104),8230=>array(80,0,600,104),8231=>array(87,227,191,331),8240=>array(9,-22,993,738),8241=>array(9,-22,1353,738),8242=>array(49,438,226,716),8243=>array(49,438,437,716),8244=>array(49,438,648,716),8245=>array(49,438,226,716),8246=>array(49,438,437,716),8247=>array(49,438,648,716),8248=>array(9,-171,367,121),8249=>array(49,106,201,438),8250=>array(49,106,201,438),8251=>array(98,68,524,492),8252=>array(124,0,486,729),8253=>array(77,0,509,741),8254=>array(-22,752,556,806),8255=>array(59,-199,600,-28),8256=>array(59,574,600,745),8257=>array(35,-201,403,276),8258=>array(10,2,822,729),8259=>array(50,161,350,321),8260=>array(-178,-20,346,729),8261=>array(121,-212,276,729),8262=>array(31,-212,186,729),8263=>array(77,0,1065,741),8264=>array(77,0,764,741),8265=>array(124,0,787,741),8266=>array(46,-12,520,412),8267=>array(48,-177,522,729),8268=>array(31,74,506,544),8269=>array(32,74,506,544),8270=>array(40,2,343,290),8271=>array(63,-147,168,524),8272=>array(59,21,600,718),8273=>array(40,2,343,741),8274=>array(60,1,584,750),8275=>array(1,293,497,399),8276=>array(59,-204,600,-33),8277=>array(36,-14,751,701),8278=>array(60,2,455,580),8279=>array(49,438,839,716),8280=>array(60,0,662,690),8281=>array(60,2,665,709),8282=>array(60,3,164,786),8283=>array(60,-199,662,800),8284=>array(60,41,544,525),8285=>array(60,-1,164,800),8286=>array(60,2,164,797),8304=>array(26,377,324,815),8305=>array(42,390,98,864),8308=>array(20,390,337,815),8309=>array(18,376,326,815),8310=>array(24,376,327,815),8311=>array(22,390,327,815),8312=>array(22,376,328,815),8313=>array(23,376,326,815),8314=>array(17,426,333,742),8315=>array(11,560,339,606),8316=>array(11,518,339,676),8317=>array(111,289,253,900),8318=>array(78,289,220,900),8319=>array(39,390,311,741),8320=>array(26,-213,324,225),8321=>array(69,-200,230,225),8322=>array(19,-200,326,225),8323=>array(16,-214,322,225),8324=>array(20,-200,337,225),8325=>array(18,-214,326,225),8326=>array(24,-214,327,225),8327=>array(22,-200,327,225),8328=>array(22,-214,328,225),8329=>array(23,-214,326,225),8330=>array(17,-155,333,161),8331=>array(12,-23,340,23),8332=>array(12,-79,340,79),8333=>array(111,-300,253,311),8334=>array(76,-298,218,313),8336=>array(20,-207,341,159),8337=>array(21,-211,329,155),8338=>array(19,-211,328,155),8339=>array(6,-200,303,141),8340=>array(19,-210,327,156),8352=>array(38,0,593,731),8353=>array(38,-87,577,780),8354=>array(32,-23,569,741),8355=>array(44,0,542,729),8356=>array(26,-23,535,729),8357=>array(70,-89,762,626),8358=>array(71,0,659,729),8359=>array(91,-23,1241,729),8360=>array(80,-23,1144,729),8361=>array(50,0,821,729),8362=>array(60,0,795,600),8363=>array(54,1,530,799),8364=>array(36,-23,619,709),8365=>array(24,0,658,729),8366=>array(21,0,593,729),8367=>array(14,-200,1244,729),8368=>array(34,-200,551,727),8369=>array(39,0,666,729),8370=>array(90,-93,659,800),8371=>array(17,0,653,729),8372=>array(91,-23,579,741),8373=>array(33,-126,602,770),8376=>array(32,0,484,729),8377=>array(12,-7,487,729),8400=>array(-520,558,-18,748),8401=>array(-520,558,-18,748),8402=>array(-202,-14,-147,676),8403=>array(-227,-1,-167,535),8404=>array(-627,503,0,800),8405=>array(-627,503,0,800),8406=>array(-601,546,-9,889),8407=>array(-601,546,-9,889),8408=>array(-393,109,-99,402),8409=>array(-393,109,-65,440),8410=>array(-393,73,-62,401),8411=>array(-471,540,1,644),8412=>array(-593,582,12,687),8413=>array(-724,-201,276,799),8414=>array(-719,-193,270,796),8415=>array(-716,-190,270,796),8416=>array(-718,-198,270,790),8417=>array(-650,554,1,897),8420=>array(-1166,-146,-1,852),8421=>array(-701,-61,-13,749),8422=>array(-319,-14,-139,676),8423=>array(-432,90,72,638),8424=>array(-471,-161,1,-57),8425=>array(-464,503,0,687),8426=>array(-958,20,-48,546),8427=>array(-594,-99,74,591),8428=>array(-517,-245,-15,-55),8429=>array(-520,-242,-18,-52),8430=>array(-586,-286,6,-28),8431=>array(-601,-288,-9,-30),8432=>array(-301,566,-104,754),8448=>array(41,-20,819,741),8449=>array(41,-20,830,741),8450=>array(48,-23,677,741),8451=>array(30,-23,969,741),8452=>array(51,1,515,685),8453=>array(48,-20,765,741),8454=>array(48,-20,808,741),8455=>array(40,-23,613,741),8456=>array(43,-23,672,741),8457=>array(40,0,879,729),8459=>array(3,-22,1210,717),8460=>array(17,-111,591,718),8461=>array(46,0,601,729),8462=>array(28,0,532,729),8463=>array(86,0,590,729),8464=>array(8,-17,902,717),8465=>array(15,-87,591,699),8466=>array(41,-17,863,738),8467=>array(31,-11,454,726),8468=>array(5,-23,714,729),8469=>array(76,0,646,729),8470=>array(64,0,899,729),8471=>array(39,-14,761,708),8472=>array(52,-150,542,454),8473=>array(91,0,617,729),8474=>array(38,-59,742,741),8475=>array(0,-17,889,717),8476=>array(19,-8,685,741),8477=>array(93,0,679,729),8478=>array(93,-55,816,729),8479=>array(93,-104,679,894),8480=>array(33,181,998,743),8481=>array(27,0,1240,729),8482=>array(20,203,978,729),8483=>array(30,-104,645,894),8484=>array(28,0,583,729),8486=>array(40,0,717,733),8487=>array(29,-41,706,692),8488=>array(17,-140,488,705),8489=>array(12,-1,226,531),8490=>array(80,0,659,729),8491=>array(15,0,651,966),8492=>array(4,-14,898,708),8493=>array(17,-13,600,705),8494=>array(30,-23,503,539),8495=>array(31,-11,443,491),8496=>array(25,-8,691,708),8497=>array(11,-22,960,728),8498=>array(41,0,530,729),8499=>array(9,-36,1195,719),8501=>array(58,0,582,600),8502=>array(58,0,566,600),8503=>array(30,0,433,600),8504=>array(38,0,543,600),8505=>array(67,0,207,729),8506=>array(36,-20,836,684),8507=>array(40,0,1322,729),8508=>array(30,0,582,524),8510=>array(82,0,566,729),8511=>array(80,0,640,729),8513=>array(60,-23,725,741),8514=>array(80,0,533,729),8515=>array(80,0,533,729),8516=>array(11,0,659,729),8517=>array(61,0,728,729),8522=>array(27,1,491,711),8523=>array(30,-12,615,720),8525=>array(36,-20,1169,729),8526=>array(35,0,388,525),8531=>array(49,-20,828,729),8532=>array(25,-20,859,730),8533=>array(69,-20,863,730),8534=>array(30,-20,863,735),8535=>array(36,-20,853,730),8536=>array(30,-20,863,729),8537=>array(69,-20,854,730),8538=>array(28,-20,864,729),8539=>array(69,-20,855,730),8540=>array(26,-20,865,730),8541=>array(38,-20,855,729),8542=>array(52,-20,845,729),8543=>array(69,-20,671,730),8544=>array(100,0,194,729),8545=>array(100,0,472,729),8546=>array(100,0,750,729),8547=>array(100,0,908,729),8548=>array(15,0,630,729),8549=>array(15,0,861,729),8550=>array(15,0,1139,729),8551=>array(15,0,1417,729),8552=>array(100,0,920,729),8553=>array(15,0,642,729),8554=>array(15,0,861,729),8555=>array(15,0,1139,729),8556=>array(80,0,533,729),8557=>array(40,-23,669,741),8558=>array(80,0,658,729),8559=>array(80,0,766,729),8560=>array(66,0,150,729),8561=>array(66,0,372,729),8562=>array(66,0,594,729),8563=>array(66,0,708,729),8564=>array(10,0,486,524),8565=>array(10,0,650,729),8566=>array(10,0,872,729),8567=>array(10,0,1094,729),8568=>array(66,0,688,729),8569=>array(10,0,466,524),8570=>array(10,0,650,729),8571=>array(10,0,872,729),8572=>array(60,0,144,729),8573=>array(30,-23,476,539),8574=>array(30,-23,499,729),8575=>array(60,0,752,539),8592=>array(32,-15,942,511),8593=>array(45,0,571,910),8594=>array(49,-15,959,511),8595=>array(45,-22,571,888),8596=>array(24,-15,1024,511),8597=>array(261,-22,787,910),8598=>array(20,24,782,787),8599=>array(19,24,783,787),8600=>array(20,24,782,787),8601=>array(19,24,783,787),8612=>array(28,-18,939,514),8613=>array(73,-208,606,704),8614=>array(48,-18,959,514),8615=>array(73,-208,606,704),8617=>array(28,-15,942,511),8618=>array(45,-15,959,511),8628=>array(20,13,665,600),8629=>array(15,-16,602,629),8636=>array(32,220,942,511),8637=>array(32,-20,942,271),8638=>array(56,-158,348,753),8639=>array(35,-161,327,750),8640=>array(32,223,942,514),8641=>array(45,-12,955,279),8642=>array(56,-111,348,800),8643=>array(32,-110,324,801),8644=>array(32,-185,959,681),8645=>array(20,-219,886,708),8646=>array(32,-185,959,682),8647=>array(32,-181,942,800),8648=>array(14,-146,996,764),8649=>array(42,-181,952,800),8650=>array(14,-146,996,764),8651=>array(32,-112,955,613),8652=>array(32,-107,942,600),8656=>array(30,-15,939,513),8657=>array(39,2,567,911),8658=>array(45,-20,954,508),8659=>array(44,-19,572,890),8660=>array(27,-20,1023,510),8661=>array(39,-97,567,801),8668=>array(32,-8,1071,518),8669=>array(32,-8,1071,518),8704=>array(17,0,653,729),8705=>array(88,-139,588,861),8706=>array(43,-23,513,709),8707=>array(80,0,586,729),8708=>array(80,-100,586,800),8709=>array(40,-14,762,710),8710=>array(10,0,701,729),8711=>array(10,0,701,729),8712=>array(55,0,530,616),8713=>array(55,-62,530,687),8714=>array(45,1,505,469),8715=>array(55,-1,530,615),8716=>array(55,-60,530,689),8717=>array(80,-1,540,467),8718=>array(97,65,397,665),8719=>array(85,-100,697,815),8720=>array(85,-100,697,815),8721=>array(40,-100,691,824),8722=>array(50,197,534,267),8723=>array(50,-11,534,623),8724=>array(50,1,534,639),8725=>array(-4,-20,520,729),8726=>array(40,-20,352,544),8727=>array(53,59,447,474),8728=>array(63,91,436,463),8729=>array(150,180,400,430),8730=>array(7,-36,512,916),8731=>array(7,-36,512,916),8732=>array(7,-36,512,916),8733=>array(25,124,625,404),8734=>array(25,124,689,404),8735=>array(62,0,587,525),8736=>array(26,0,738,712),8737=>array(26,-100,738,562),8738=>array(50,-24,559,579),8739=>array(70,-14,130,676),8740=>array(30,-14,258,676),8741=>array(70,-14,250,676),8742=>array(30,-14,310,676),8743=>array(30,0,578,448),8744=>array(30,0,578,448),8745=>array(40,-1,732,508),8746=>array(40,-17,732,492),8747=>array(60,-246,415,767),8748=>array(60,-246,655,767),8749=>array(60,-246,855,767),8750=>array(55,-246,414,767),8751=>array(50,-252,721,767),8756=>array(144,12,656,464),8757=>array(144,12,656,464),8758=>array(73,0,177,524),8759=>array(73,0,547,524),8760=>array(50,197,534,494),8761=>array(50,0,738,494),8762=>array(47,-22,544,494),8763=>array(33,40,466,525),8764=>array(33,206,466,376),8765=>array(35,206,468,376),8766=>array(75,122,498,394),8768=>array(37,-9,207,424),8769=>array(51,90,484,390),8770=>array(52,36,536,372),8771=>array(50,109,534,445),8772=>array(40,4,544,486),8773=>array(50,36,534,536),8774=>array(50,-19,534,536),8775=>array(50,4,534,544),8776=>array(31,112,466,486),8777=>array(33,44,468,526),8778=>array(50,0,534,569),8779=>array(33,52,466,561),8780=>array(50,48,534,538),8781=>array(27,51,528,466),8784=>array(50,111,534,544),8785=>array(50,-69,534,525),8786=>array(50,-72,534,526),8787=>array(50,-66,534,524),8788=>array(47,-60,685,524),8789=>array(50,-62,705,524),8791=>array(50,114,534,671),8792=>array(50,114,534,622),8793=>array(50,114,534,677),8794=>array(50,114,534,679),8795=>array(50,114,534,742),8796=>array(50,114,534,772),8797=>array(50,114,536,743),8798=>array(50,114,534,710),8799=>array(50,114,534,747),8800=>array(50,-20,534,472),8801=>array(50,89,534,449),8802=>array(40,-20,544,544),8803=>array(60,-56,544,524),8804=>array(50,-11,539,639),8805=>array(50,-11,541,639),8806=>array(50,-122,542,664),8807=>array(50,-124,539,671),8810=>array(45,-9,911,474),8811=>array(45,-9,911,474),8813=>array(27,-20,528,544),8814=>array(45,-20,534,544),8815=>array(45,-68,534,496),8816=>array(45,-78,534,690),8817=>array(45,-78,534,690),8818=>array(50,-44,539,639),8819=>array(50,-44,539,639),8822=>array(50,-198,542,641),8823=>array(50,-199,542,641),8826=>array(45,-9,534,474),8827=>array(45,-9,534,474),8828=>array(49,-1,538,603),8829=>array(50,-1,541,604),8830=>array(45,-75,534,555),8831=>array(45,-75,534,550),8832=>array(45,-38,534,526),8833=>array(45,-38,534,526),8834=>array(55,0,530,600),8835=>array(55,0,530,600),8836=>array(55,-59,530,690),8837=>array(55,-66,530,683),8838=>array(36,-22,530,698),8839=>array(50,-21,534,695),8840=>array(50,-79,534,750),8841=>array(50,-79,534,750),8844=>array(40,-17,732,492),8845=>array(40,-17,732,492),8846=>array(40,-17,732,493),8847=>array(52,8,556,506),8848=>array(80,1,584,499),8849=>array(66,2,570,648),8850=>array(66,0,570,660),8851=>array(69,1,567,505),8852=>array(69,1,567,505),8853=>array(43,-15,733,675),8854=>array(43,-15,733,675),8855=>array(43,-15,733,675),8856=>array(43,-15,733,675),8857=>array(43,-15,733,675),8858=>array(43,-15,733,675),8859=>array(43,-15,733,675),8860=>array(43,-15,733,675),8861=>array(43,-15,733,675),8866=>array(76,-1,625,546),8867=>array(31,-1,580,546),8868=>array(15,-54,652,620),8869=>array(15,0,652,674),8870=>array(76,0,448,546),8871=>array(76,-20,468,548),8872=>array(76,-20,688,548),8882=>array(62,6,574,508),8883=>array(62,6,574,508),8884=>array(62,33,574,654),8885=>array(62,37,574,659),8891=>array(20,45,568,607),8892=>array(30,0,578,596),8893=>array(18,0,566,612),8896=>array(30,0,714,668),8897=>array(30,0,714,668),8898=>array(61,-35,703,796),8899=>array(61,-82,703,749),8901=>array(87,302,211,427),8902=>array(64,109,406,434),8904=>array(62,6,648,508),8909=>array(50,156,534,475),8910=>array(50,14,533,503),8911=>array(51,20,534,509),8918=>array(45,21,538,504),8919=>array(26,22,519,505),8920=>array(48,1,1172,484),8921=>array(33,1,1157,484),8928=>array(40,-56,544,648),8929=>array(40,-56,544,648),8930=>array(66,-72,570,750),8931=>array(66,-72,570,750),8934=>array(50,-190,539,596),8935=>array(50,-190,539,557),8936=>array(45,-190,534,554),8937=>array(45,-190,534,550),8942=>array(82,44,186,815),8943=>array(129,255,899,359),8944=>array(129,45,898,815),8945=>array(128,44,898,815),8960=>array(39,-24,781,719),8968=>array(98,0,382,729),8969=>array(72,0,357,729),8970=>array(74,0,358,729),8971=>array(98,0,383,729),8976=>array(40,86,544,375),8992=>array(150,-200,374,900),8993=>array(10,-200,234,900),8994=>array(59,158,600,329),8995=>array(59,155,600,326),9001=>array(25,-198,314,746),9002=>array(15,-198,304,746),9115=>array(40,-200,340,782),9116=>array(40,-200,122,800),9117=>array(40,-182,340,800),9118=>array(44,-200,344,782),9119=>array(262,-200,344,800),9120=>array(44,-181,344,801),9121=>array(88,-200,333,846),9122=>array(88,-200,164,800),9123=>array(88,-247,333,800),9124=>array(55,-200,300,847),9125=>array(224,-200,300,800),9126=>array(55,-246,300,800),9127=>array(121,-200,276,739),9128=>array(50,-200,205,800),9129=>array(128,1,283,800),9130=>array(128,-200,205,800),9131=>array(50,-200,205,739),9132=>array(128,-200,283,800),9133=>array(50,1,205,800),9134=>array(150,-200,234,800),9138=>array(56,-200,749,730),9139=>array(56,-130,749,800),9216=>array(64,-1,735,686),9217=>array(51,0,734,689),9218=>array(51,0,734,689),9219=>array(68,0,734,687),9220=>array(68,-1,735,687),9221=>array(58,-18,746,687),9222=>array(52,0,722,686),9223=>array(61,-1,725,686),9224=>array(211,96,622,624),9225=>array(186,101,649,623),9226=>array(221,100,616,625),9227=>array(190,100,649,624),9228=>array(230,100,606,624),9229=>array(187,102,638,623),9230=>array(216,98,632,625),9231=>array(221,100,514,623),9232=>array(76,0,722,685),9233=>array(86,0,655,685),9234=>array(86,0,711,685),9235=>array(86,-4,695,685),9236=>array(86,1,713,685),9237=>array(64,0,722,686),9238=>array(71,-1,714,689),9239=>array(78,0,717,687),9240=>array(61,-1,729,688),9241=>array(197,108,633,616),9242=>array(68,-1,727,689),9243=>array(88,-7,741,686),9244=>array(220,97,637,624),9245=>array(188,96,637,621),9246=>array(228,95,637,624),9247=>array(204,98,637,627),9248=>array(219,98,619,622),9249=>array(86,-1,714,685),9250=>array(10,-23,542,729),9251=>array(18,0,482,184),9252=>array(109,0,689,698),9253=>array(0,0,800,800),9254=>array(177,0,609,741),9312=>array(35,-13,754,706),9313=>array(35,-13,754,706),9314=>array(35,-13,754,706),9315=>array(35,-13,754,706),9316=>array(35,-13,754,706),9317=>array(35,-13,754,706),9318=>array(35,-13,754,706),9319=>array(35,-13,754,706),9320=>array(35,-13,754,706),9321=>array(35,-13,754,706),9472=>array(0,260,1000,340),9473=>array(0,220,1000,380),9474=>array(460,-200,540,800),9475=>array(420,-200,580,800),9476=>array(0,260,1000,340),9477=>array(0,220,1000,380),9478=>array(460,-200,540,800),9479=>array(420,-200,580,800),9480=>array(0,260,1000,340),9481=>array(0,220,1000,380),9482=>array(460,-200,540,800),9483=>array(420,-200,580,800),9484=>array(460,-200,1000,340),9485=>array(460,-200,1000,380),9486=>array(420,-200,1000,340),9487=>array(420,-200,1000,380),9488=>array(0,-200,540,340),9489=>array(0,-200,540,380),9490=>array(0,-200,580,340),9491=>array(0,-200,580,380),9492=>array(460,260,1000,800),9493=>array(460,220,1000,800),9494=>array(420,260,1000,800),9495=>array(420,220,1000,800),9496=>array(0,260,540,800),9497=>array(0,220,540,800),9498=>array(0,260,580,800),9499=>array(0,220,580,800),9500=>array(460,-200,1000,800),9501=>array(460,-200,1000,800),9502=>array(420,-200,1000,800),9503=>array(420,-200,1000,800),9504=>array(420,-200,1000,800),9505=>array(420,-200,1000,800),9506=>array(420,-200,1000,800),9507=>array(420,-200,1000,800),9508=>array(0,-200,540,800),9509=>array(0,-200,540,800),9510=>array(0,-200,580,800),9511=>array(0,-200,580,800),9512=>array(420,-200,1000,800),9513=>array(0,-200,580,800),9514=>array(0,-200,580,800),9515=>array(0,-200,580,800),9516=>array(0,-200,1000,340),9517=>array(0,-200,1000,380),9518=>array(0,-200,1000,380),9519=>array(0,-200,1000,380),9520=>array(0,-200,1000,340),9521=>array(0,-200,1000,380),9522=>array(0,-200,1000,380),9523=>array(0,-200,1000,380),9524=>array(0,260,1000,800),9525=>array(0,220,1000,800),9526=>array(0,220,1000,800),9527=>array(0,220,1000,800),9528=>array(0,260,1000,800),9529=>array(0,220,1000,800),9530=>array(0,220,1000,800),9531=>array(0,220,1000,800),9532=>array(0,-200,1000,800),9533=>array(0,-200,1000,800),9534=>array(0,-200,1000,800),9535=>array(0,-200,1000,800),9536=>array(0,-200,1000,800),9537=>array(0,-200,1000,800),9538=>array(0,-200,1000,800),9539=>array(0,-200,1000,800),9540=>array(0,-200,1000,800),9541=>array(0,-200,1000,800),9542=>array(0,-200,1000,800),9543=>array(0,-200,1000,800),9544=>array(0,-200,1000,800),9545=>array(0,-200,1000,800),9546=>array(0,-200,1000,800),9547=>array(0,-200,1000,800),9552=>array(0,180,1000,420),9553=>array(380,-200,620,800),9554=>array(460,-200,1000,420),9555=>array(380,-200,1000,340),9556=>array(380,-200,1000,420),9557=>array(0,-200,540,420),9558=>array(0,-200,620,340),9559=>array(0,-200,620,420),9560=>array(460,180,1000,800),9561=>array(380,260,1000,800),9562=>array(380,180,1000,800),9563=>array(0,180,540,800),9564=>array(0,260,620,800),9565=>array(0,180,620,800),9566=>array(460,-200,1000,800),9567=>array(380,-200,1000,800),9568=>array(380,-200,1000,800),9569=>array(0,-200,540,800),9570=>array(0,-200,620,800),9571=>array(0,-200,620,800),9572=>array(0,-200,1000,420),9573=>array(0,-200,1000,340),9574=>array(0,-200,1000,420),9575=>array(0,180,1000,800),9576=>array(0,260,1000,800),9577=>array(0,180,1000,800),9578=>array(0,-200,1000,800),9579=>array(0,-200,1000,800),9580=>array(0,-200,1000,800),9600=>array(0,300,1000,800),9601=>array(0,-200,1000,-75),9602=>array(0,-200,1000,50),9603=>array(0,-200,1000,175),9604=>array(0,-200,1000,300),9605=>array(0,-200,1000,425),9606=>array(0,-200,1000,550),9607=>array(0,-200,1000,675),9608=>array(0,-200,1000,800),9609=>array(0,-200,875,800),9610=>array(0,-200,795,800),9611=>array(0,-200,625,800),9612=>array(0,-200,500,800),9613=>array(0,-200,375,800),9614=>array(0,-200,250,800),9615=>array(0,-200,125,800),9616=>array(500,-200,1000,800),9617=>array(0,-200,950,750),9618=>array(0,-200,1000,750),9619=>array(0,-200,1000,800),9620=>array(0,675,1000,800),9621=>array(875,-200,1000,800),9622=>array(0,-200,500,300),9623=>array(500,-200,1000,300),9624=>array(500,300,1000,800),9625=>array(0,-200,1000,800),9626=>array(0,-200,1000,800),9627=>array(0,-200,1000,800),9628=>array(0,-200,1000,800),9629=>array(0,300,500,800),9630=>array(0,-200,1000,800),9631=>array(0,-200,1000,800),9632=>array(50,0,750,700),9633=>array(50,0,750,700),9634=>array(50,1,750,700),9635=>array(50,0,750,700),9636=>array(50,0,750,700),9637=>array(50,0,750,700),9638=>array(50,0,750,700),9639=>array(50,0,750,700),9640=>array(50,0,750,700),9641=>array(50,0,750,700),9642=>array(224,262,400,437),9643=>array(224,262,400,437),9644=>array(100,225,700,525),9645=>array(100,225,700,525),9646=>array(250,65,550,665),9647=>array(250,67,550,667),9648=>array(0,108,1000,608),9649=>array(0,108,1000,608),9650=>array(35,0,858,706),9651=>array(35,0,858,706),9652=>array(128,176,540,529),9653=>array(128,176,541,530),9654=>array(94,-58,800,765),9655=>array(94,-58,800,765),9656=>array(180,134,533,546),9657=>array(158,147,512,560),9658=>array(94,147,800,559),9659=>array(93,147,800,559),9660=>array(35,0,858,706),9661=>array(35,0,858,706),9662=>array(129,173,541,526),9663=>array(128,176,541,530),9664=>array(94,-58,800,764),9665=>array(94,-58,800,764),9666=>array(136,132,489,544),9667=>array(158,146,512,559),9668=>array(94,132,800,544),9669=>array(93,147,800,559),9670=>array(36,-13,754,705),9671=>array(36,-13,754,705),9672=>array(36,-13,754,705),9673=>array(39,-14,761,708),9674=>array(22,0,468,744),9675=>array(39,-14,761,708),9676=>array(39,-14,761,708),9677=>array(39,-14,761,708),9678=>array(39,-14,761,708),9679=>array(39,-14,761,708),9680=>array(39,-14,761,708),9681=>array(39,-14,761,708),9682=>array(39,-14,761,708),9683=>array(39,-14,761,708),9684=>array(39,-14,761,708),9685=>array(39,-14,761,708),9686=>array(39,-14,406,708),9687=>array(394,-14,761,708),9688=>array(0,0,400,729),9689=>array(50,0,750,700),9690=>array(50,347,750,700),9691=>array(50,0,750,353),9692=>array(39,349,406,708),9693=>array(402,341,761,708),9694=>array(394,0,761,359),9695=>array(39,0,398,367),9696=>array(39,349,761,708),9697=>array(39,0,761,359),9698=>array(150,0,850,700),9699=>array(150,0,850,700),9700=>array(150,0,850,700),9701=>array(150,0,850,700),9702=>array(75,220,325,470),9703=>array(50,0,750,700),9704=>array(50,0,750,700),9705=>array(50,0,750,700),9706=>array(50,0,750,700),9707=>array(50,0,750,700),9708=>array(35,0,858,706),9709=>array(35,0,858,706),9710=>array(35,0,858,706),9711=>array(10,-201,1010,799),9712=>array(50,0,750,700),9713=>array(50,1,750,701),9714=>array(50,0,750,700),9715=>array(50,1,750,701),9716=>array(39,-14,761,708),9717=>array(39,-14,761,708),9718=>array(39,-14,761,708),9719=>array(39,-14,761,708),9720=>array(157,106,644,591),9721=>array(156,104,641,591),9722=>array(156,3,641,490),9723=>array(158,106,643,591),9724=>array(157,106,642,591),9725=>array(200,124,600,524),9726=>array(200,124,600,524),9727=>array(156,106,643,591),9772=>array(66,-193,863,800),9773=>array(35,-2,760,700),9785=>array(35,0,735,700),9786=>array(35,0,735,700),9824=>array(34,0,591,705),9825=>array(35,-14,659,704),9826=>array(34,-14,560,705),9827=>array(35,0,741,705),9828=>array(34,0,591,705),9829=>array(35,-14,659,704),9830=>array(34,-14,560,705),9831=>array(35,0,741,705),9833=>array(55,0,276,694),9834=>array(55,0,498,694),9835=>array(55,0,665,703),9836=>array(55,0,665,703),9837=>array(66,-21,368,730),9838=>array(60,-214,330,712),9839=>array(50,-197,365,762),10048=>array(34,-295,1125,800),10752=>array(10,-201,1010,799),10753=>array(10,-201,1010,799),10754=>array(12,-199,1011,801),10755=>array(61,-82,703,749),10756=>array(61,-82,703,749),10761=>array(40,-20,540,483),11568=>array(40,-8,312,264),11569=>array(56,-16,816,744),11570=>array(56,-16,816,744),11571=>array(72,0,648,728),11572=>array(72,0,648,728),11573=>array(72,0,648,728),11574=>array(48,0,496,738),11575=>array(48,0,661,728),11576=>array(48,0,661,728),11577=>array(72,0,648,728),11578=>array(72,0,648,728),11579=>array(54,-8,542,734),11580=>array(72,0,626,728),11581=>array(72,0,670,728),11582=>array(72,-10,520,738),11583=>array(72,0,670,728),11584=>array(56,-16,816,744),11585=>array(56,-16,816,744),11586=>array(72,-10,220,738),11587=>array(48,0,624,728),11588=>array(60,0,636,728),11589=>array(72,0,648,728),11590=>array(52,64,492,512),11591=>array(72,0,670,728),11592=>array(54,290,702,438),11593=>array(58,0,542,728),11594=>array(48,0,624,728),11595=>array(60,-16,828,744),11596=>array(54,0,782,728),11597=>array(72,0,452,728),11598=>array(72,0,648,728),11599=>array(90,0,170,728),11600=>array(54,0,782,728),11601=>array(38,-224,186,728),11602=>array(63,-16,615,728),11603=>array(54,-8,326,736),11604=>array(56,-16,816,744),11605=>array(55,-18,816,743),11606=>array(72,0,648,728),11607=>array(60,-10,208,738),11608=>array(56,-10,584,738),11609=>array(56,-16,816,744),11610=>array(55,-18,816,743),11611=>array(56,-16,702,744),11612=>array(54,0,370,728),11613=>array(72,0,648,728),11614=>array(56,-16,702,744),11615=>array(72,0,648,728),11616=>array(48,0,661,728),11617=>array(72,0,648,728),11618=>array(60,5,481,728),11619=>array(54,0,774,728),11620=>array(72,0,408,728),11621=>array(54,0,774,728),11622=>array(49,-13,670,653),11623=>array(46,240,572,312),11631=>array(72,444,370,728),11798=>array(50,-15,539,624),11799=>array(46,107,284,458),11800=>array(63,-24,495,717),11802=>array(25,240,308,716),11803=>array(33,268,466,676),11806=>array(33,268,466,540),11807=>array(33,146,466,438),11816=>array(53,-212,422,729),11817=>array(38,-212,407,729),11818=>array(22,15,627,593),11819=>array(22,82,601,478),11820=>array(22,38,601,434),11821=>array(24,95,626,674),11822=>array(57,0,489,741),11824=>array(75,220,325,470),42240=>array(70,0,628,729),42241=>array(70,0,628,729),42242=>array(70,-61,606,729),42243=>array(70,0,730,729),42244=>array(70,0,730,729),42245=>array(70,-12,780,741),42246=>array(70,-12,860,741),42247=>array(70,0,650,729),42248=>array(70,0,686,729),42249=>array(70,0,680,729),42250=>array(70,0,680,729),42251=>array(70,0,680,729),42252=>array(70,0,470,741),42253=>array(70,0,470,741),42254=>array(70,0,710,729),42255=>array(70,0,710,729),42256=>array(70,-12,1012,729),42257=>array(70,-12,1012,729),42258=>array(70,0,710,729),42259=>array(70,-174,710,729),42260=>array(70,0,650,729),42261=>array(70,-12,704,729),42262=>array(70,0,530,729),42263=>array(70,0,530,729),42264=>array(70,0,530,729),42265=>array(70,0,530,729),42266=>array(70,74,913,639),42267=>array(70,74,913,639),42268=>array(70,62,679,642),42269=>array(70,62,679,642),42270=>array(70,0,1010,729),42271=>array(70,0,820,729),42272=>array(70,0,799,729),42273=>array(70,0,650,729),42274=>array(70,-20,669,729),42275=>array(70,0,913,729),42276=>array(70,0,710,729),42277=>array(70,0,770,729),42278=>array(70,0,710,729),42279=>array(70,-15,354,744),42280=>array(70,-85,770,729),42281=>array(70,-85,897,729),42282=>array(70,0,392,729),42283=>array(70,0,882,729),42284=>array(70,0,665,729),42285=>array(70,0,665,729),42286=>array(70,45,710,685),42287=>array(70,0,680,729),42288=>array(70,0,799,729),42289=>array(70,0,702,729),42290=>array(70,-60,702,789),42291=>array(70,-20,606,729),42292=>array(70,-20,692,729),42293=>array(70,0,604,729),42294=>array(70,0,604,729),42295=>array(70,191,418,539),42296=>array(70,-174,534,539),42297=>array(70,191,752,539),42298=>array(70,0,989,729),42299=>array(70,0,781,729),42300=>array(70,0,781,729),42301=>array(70,0,619,730),42302=>array(70,0,774,730),42303=>array(70,0,638,729),42304=>array(70,158,837,395),42305=>array(70,158,837,570),42306=>array(70,0,837,491),42307=>array(70,0,542,731),42308=>array(70,0,542,731),42309=>array(70,-12,770,729),42310=>array(70,0,705,729),42311=>array(70,0,474,729),42312=>array(70,-12,704,729),42313=>array(70,0,470,741),42314=>array(70,74,634,639),42315=>array(70,-48,653,639),42316=>array(70,0,817,729),42317=>array(70,0,817,699),42318=>array(70,-20,606,729),42319=>array(70,0,747,729),42320=>array(70,0,692,729),42321=>array(70,0,817,729),42322=>array(70,0,754,729),42323=>array(70,0,820,729),42324=>array(70,0,635,729),42325=>array(70,45,710,685),42326=>array(70,0,635,729),42327=>array(70,0,463,729),42328=>array(70,0,453,729),42329=>array(70,0,624,729),42330=>array(70,0,702,729),42331=>array(70,0,702,729),42332=>array(70,0,702,729),42333=>array(70,0,822,729),42334=>array(70,0,641,729),42335=>array(70,-192,641,729),42336=>array(70,0,762,729),42337=>array(70,0,762,729),42338=>array(70,-14,874,741),42339=>array(70,-14,874,741),42340=>array(70,0,762,729),42341=>array(70,-46,858,776),42342=>array(70,0,673,729),42343=>array(70,0,665,729),42344=>array(70,0,661,729),42345=>array(70,-20,712,729),42346=>array(70,0,525,729),42347=>array(70,-10,820,739),42348=>array(70,0,610,729),42349=>array(70,0,817,729),42350=>array(70,0,745,728),42351=>array(70,0,440,729),42352=>array(70,0,778,729),42353=>array(70,0,630,730),42354=>array(70,0,630,730),42355=>array(70,0,630,730),42356=>array(70,0,654,645),42357=>array(70,0,654,645),42358=>array(70,0,563,729),42359=>array(70,0,563,729),42360=>array(70,-1,743,738),42361=>array(70,241,764,489),42362=>array(70,0,555,729),42363=>array(70,0,817,729),42364=>array(70,0,522,729),42365=>array(70,0,702,729),42366=>array(70,0,702,729),42367=>array(70,0,569,729),42368=>array(70,0,569,729),42369=>array(70,0,817,729),42370=>array(70,0,817,729),42371=>array(70,-12,647,729),42372=>array(70,-174,647,729),42373=>array(70,0,716,729),42374=>array(70,-12,821,729),42375=>array(70,0,710,729),42376=>array(70,0,771,729),42377=>array(70,0,430,729),42378=>array(70,0,722,729),42379=>array(70,0,452,729),42380=>array(70,0,452,729),42381=>array(70,0,577,729),42382=>array(70,0,291,729),42383=>array(70,0,745,728),42384=>array(70,0,780,728),42385=>array(70,0,613,729),42386=>array(70,174,764,556),42387=>array(70,-12,828,729),42388=>array(70,0,452,729),42389=>array(70,0,750,729),42390=>array(70,0,750,729),42391=>array(70,0,738,729),42392=>array(70,66,794,666),42393=>array(70,0,702,729),42394=>array(70,0,738,729),42395=>array(70,0,799,729),42396=>array(70,0,830,729),42397=>array(70,0,774,729),42398=>array(70,0,774,729),42399=>array(70,0,742,727),42400=>array(70,0,742,727),42401=>array(70,0,742,727),42402=>array(70,0,860,729),42403=>array(70,0,920,729),42404=>array(70,0,470,741),42405=>array(70,0,538,741),42406=>array(70,0,560,729),42407=>array(70,0,840,729),42408=>array(70,60,617,560),42409=>array(70,-174,617,560),42410=>array(70,60,674,560),42411=>array(70,0,617,560),42412=>array(70,0,654,729),42413=>array(70,0,672,729),42414=>array(70,0,654,729),42415=>array(70,0,672,729),42416=>array(70,85,674,560),42417=>array(70,85,674,560),42418=>array(70,85,674,560),42419=>array(70,85,674,560),42420=>array(70,45,710,685),42421=>array(70,0,470,741),42422=>array(70,0,470,741),42423=>array(70,0,525,729),42424=>array(70,0,670,729),42425=>array(70,-12,550,729),42426=>array(70,0,702,729),42427=>array(70,0,844,729),42428=>array(70,0,844,729),42429=>array(70,0,787,729),42430=>array(70,0,730,729),42431=>array(70,0,702,729),42432=>array(70,0,817,729),42433=>array(70,0,920,505),42434=>array(70,0,935,729),42435=>array(70,0,729,729),42436=>array(70,0,729,729),42437=>array(70,0,878,729),42438=>array(70,0,878,729),42439=>array(70,30,836,685),42440=>array(70,-44,974,729),42441=>array(70,0,530,729),42442=>array(70,0,530,729),42443=>array(70,0,504,729),42444=>array(70,-12,672,729),42445=>array(70,0,504,729),42446=>array(70,-12,672,729),42447=>array(70,0,430,729),42448=>array(70,-174,534,729),42449=>array(70,0,634,729),42450=>array(70,0,634,729),42451=>array(70,0,676,729),42452=>array(70,0,750,729),42453=>array(70,0,661,729),42454=>array(70,0,735,729),42455=>array(70,0,536,729),42456=>array(70,0,656,729),42457=>array(70,0,656,729),42458=>array(70,0,430,729),42459=>array(70,-93,743,728),42460=>array(70,0,869,570),42461=>array(70,51,828,721),42462=>array(70,0,590,729),42463=>array(70,0,563,729),42464=>array(70,0,844,729),42465=>array(70,0,619,729),42466=>array(70,0,1161,500),42467=>array(70,0,714,729),42468=>array(70,0,640,729),42469=>array(70,0,912,729),42470=>array(70,0,634,729),42471=>array(70,0,712,729),42472=>array(70,0,521,730),42473=>array(70,0,700,730),42474=>array(70,0,550,729),42475=>array(70,0,550,729),42476=>array(70,225,860,505),42477=>array(70,129,860,505),42478=>array(70,174,860,556),42479=>array(70,0,715,729),42480=>array(70,0,715,729),42481=>array(70,-1,743,738),42482=>array(70,-1,743,738),42483=>array(70,0,901,729),42484=>array(70,0,901,729),42485=>array(70,0,651,729),42486=>array(70,0,731,729),42487=>array(70,0,512,729),42488=>array(70,-174,534,729),42489=>array(70,0,548,729),42490=>array(70,0,512,729),42491=>array(70,0,989,729),42492=>array(70,0,989,729),42493=>array(70,0,989,729),42494=>array(70,0,989,729),42495=>array(70,0,650,729),42496=>array(70,0,719,729),42497=>array(70,0,653,729),42498=>array(70,0,651,729),42499=>array(70,0,702,729),42500=>array(70,0,702,729),42501=>array(70,0,702,729),42502=>array(70,0,702,729),42503=>array(70,0,702,729),42504=>array(70,0,550,729),42505=>array(70,0,564,729),42506=>array(70,0,736,729),42507=>array(70,-20,755,729),42508=>array(70,185,600,545),42509=>array(70,0,451,380),42510=>array(70,0,442,352),42511=>array(70,-6,1064,322),42512=>array(70,0,1254,729),42513=>array(70,0,702,729),42514=>array(70,0,1021,730),42515=>array(70,0,375,729),42516=>array(70,0,741,729),42517=>array(70,0,706,729),42518=>array(70,0,544,729),42519=>array(70,0,650,729),42520=>array(70,0,832,745),42521=>array(70,0,695,729),42522=>array(70,-71,850,800),42523=>array(70,-12,954,729),42524=>array(70,0,665,729),42525=>array(70,0,672,729),42526=>array(70,0,746,729),42527=>array(70,0,645,741),42528=>array(70,0,622,729),42529=>array(70,0,130,729),42530=>array(70,0,607,741),42531=>array(70,0,700,742),42532=>array(70,0,570,729),42533=>array(70,0,525,729),42534=>array(70,0,456,729),42535=>array(70,0,607,741),42536=>array(70,0,430,668),42537=>array(70,0,645,741),42538=>array(70,0,1073,728),42539=>array(70,-2,490,741),42888=>array(23,-74,310,76),42889=>array(56,0,160,524),42890=>array(50,111,292,353),42891=>array(50,303,144,770),42892=>array(50,462,144,770),42922=>array(40,0,819,729),64256=>array(18,0,475,732),64257=>array(12,0,388,732),64258=>array(18,0,395,732),64259=>array(18,0,580,732),64260=>array(18,0,575,732),64261=>array(18,-23,496,732),64275=>array(65,-10,939,744),64276=>array(65,-11,979,744),64277=>array(65,-200,977,744),64278=>array(65,-200,972,716),64279=>array(65,-200,1191,744),64285=>array(58,147,145,600),64286=>array(0,660,306,813),64287=>array(56,149,343,600),64288=>array(37,0,531,600),64289=>array(58,0,832,600),64290=>array(38,0,793,600),64291=>array(63,0,820,600),64292=>array(57,-1,766,600),64293=>array(37,0,795,749),64294=>array(63,0,821,600),64295=>array(37,0,745,600),64296=>array(35,0,885,600),64297=>array(50,197,534,474),64298=>array(60,0,720,711),64299=>array(60,0,720,711),64300=>array(60,0,720,711),64301=>array(60,0,720,711),64302=>array(58,-131,582,600),64303=>array(58,-248,582,600),64304=>array(58,0,582,600),64305=>array(58,0,566,600),64306=>array(30,0,433,600),64307=>array(38,0,543,600),64308=>array(63,0,570,600),64309=>array(33,0,229,600),64310=>array(29,0,316,600),64312=>array(61,0,570,600),64313=>array(7,286,215,600),64314=>array(38,-200,474,600),64315=>array(57,0,516,600),64316=>array(37,0,545,749),64318=>array(48,0,570,600),64320=>array(51,0,326,600),64321=>array(61,0,569,600),64323=>array(57,-200,523,600),64324=>array(63,0,533,600),64326=>array(51,0,533,600),64327=>array(62,-200,550,600),64328=>array(37,0,495,600),64329=>array(60,0,720,600),64330=>array(35,0,635,600),64331=>array(62,0,149,731),64332=>array(58,0,566,731),64333=>array(57,0,516,731),64334=>array(63,0,533,731),64335=>array(72,0,582,749),65532=>array(46,-2,715,686),65533=>array(18,-63,881,800),65535=>array(35,-139,765,800)); +$cw=array(0=>800,32=>250,33=>333,34=>333,35=>556,36=>556,37=>889,38=>667,39=>200,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>250,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>250,59=>250,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>666,66=>664,67=>709,68=>698,69=>633,70=>599,71=>765,72=>721,73=>278,74=>528,75=>674,76=>563,77=>846,78=>730,79=>784,80=>656,81=>784,82=>709,83=>667,84=>632,85=>720,86=>645,87=>937,88=>657,89=>678,90=>615,91=>278,92=>278,93=>277,94=>469,95=>556,96=>250,97=>543,98=>559,99=>506,100=>559,101=>533,102=>280,103=>550,104=>536,105=>222,106=>243,107=>514,108=>214,109=>812,110=>537,111=>534,112=>559,113=>559,114=>332,115=>493,116=>280,117=>537,118=>496,119=>722,120=>476,121=>478,122=>486,123=>333,124=>250,125=>333,126=>500,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>800,170=>370,171=>500,172=>584,173=>333,174=>800,175=>333,176=>606,177=>584,178=>350,179=>350,180=>333,181=>556,182=>537,183=>250,184=>333,185=>350,186=>365,187=>500,188=>869,189=>869,190=>879,191=>556,192=>666,193=>666,194=>666,195=>666,196=>666,197=>666,198=>984,199=>709,200=>633,201=>633,202=>633,203=>633,204=>278,205=>278,206=>300,207=>300,208=>707,209=>730,210=>784,211=>784,212=>784,213=>784,214=>784,215=>584,216=>789,217=>720,218=>720,219=>720,220=>720,221=>678,222=>645,223=>594,224=>543,225=>543,226=>543,227=>543,228=>543,229=>543,230=>871,231=>506,232=>533,233=>533,234=>533,235=>533,236=>222,237=>222,238=>262,239=>262,240=>534,241=>537,242=>534,243=>534,244=>534,245=>534,246=>534,247=>584,248=>534,249=>537,250=>537,251=>537,252=>537,253=>478,254=>558,255=>478,256=>666,257=>543,258=>666,259=>543,260=>667,261=>543,262=>709,263=>506,264=>709,265=>506,266=>709,267=>506,268=>709,269=>506,270=>698,271=>745,272=>707,273=>576,274=>633,275=>533,276=>633,277=>533,278=>633,279=>533,280=>642,281=>533,282=>633,283=>533,284=>765,285=>550,286=>765,287=>550,288=>765,289=>550,290=>765,291=>550,292=>721,293=>536,294=>722,295=>554,296=>300,297=>262,298=>278,299=>262,300=>300,301=>262,302=>278,303=>262,304=>278,305=>222,306=>759,307=>384,308=>528,309=>262,310=>674,311=>514,312=>514,313=>563,314=>242,315=>563,316=>214,317=>563,318=>385,319=>563,320=>360,321=>612,322=>252,323=>730,324=>537,325=>730,326=>537,327=>730,328=>537,329=>647,330=>677,331=>537,332=>784,333=>534,334=>784,335=>534,336=>784,337=>534,338=>986,339=>919,340=>709,341=>332,342=>709,343=>332,344=>709,345=>332,346=>667,347=>493,348=>667,349=>493,350=>667,351=>493,352=>667,353=>493,354=>632,355=>284,356=>632,357=>440,358=>632,359=>285,360=>720,361=>537,362=>720,363=>537,364=>720,365=>537,366=>720,367=>537,368=>720,369=>537,370=>720,371=>537,372=>937,373=>722,374=>678,375=>478,376=>678,377=>615,378=>486,379=>615,380=>486,381=>615,382=>486,383=>280,384=>581,385=>842,386=>664,387=>559,388=>713,389=>593,390=>709,391=>771,392=>577,393=>707,394=>876,395=>664,396=>559,397=>552,398=>633,399=>710,400=>653,401=>609,402=>278,403=>812,404=>678,405=>853,406=>256,407=>363,408=>673,409=>514,410=>345,411=>546,412=>864,413=>730,414=>537,415=>782,416=>792,417=>559,418=>1016,419=>726,420=>824,421=>559,422=>655,423=>667,424=>500,425=>615,426=>350,427=>280,428=>638,429=>281,430=>632,431=>776,432=>619,433=>757,434=>695,435=>728,436=>613,437=>615,438=>486,439=>619,440=>609,441=>524,442=>509,443=>556,446=>492,447=>561,448=>260,449=>370,450=>584,451=>278,452=>1275,453=>1178,454=>1032,455=>1054,456=>778,457=>424,458=>1216,459=>924,460=>758,461=>666,462=>543,463=>300,464=>262,465=>784,466=>534,467=>720,468=>537,469=>720,470=>537,471=>720,472=>537,473=>720,474=>537,475=>720,476=>537,477=>533,478=>666,479=>543,480=>666,481=>543,482=>984,483=>871,484=>774,485=>555,486=>765,487=>550,488=>674,489=>514,490=>784,491=>534,492=>784,493=>534,494=>619,495=>524,496=>222,497=>1297,498=>1178,499=>1042,500=>765,501=>550,503=>609,504=>730,505=>537,506=>666,507=>543,508=>984,509=>871,510=>789,511=>611,512=>666,513=>543,514=>666,515=>543,516=>633,517=>533,518=>633,519=>533,520=>300,521=>262,522=>300,523=>262,524=>784,525=>534,526=>784,527=>534,528=>709,529=>332,530=>709,531=>332,532=>720,533=>537,534=>720,535=>537,536=>667,537=>493,538=>632,539=>280,540=>539,541=>414,542=>721,543=>536,544=>720,548=>615,549=>486,550=>666,551=>543,552=>633,553=>533,554=>784,555=>534,556=>784,557=>534,558=>784,559=>534,560=>784,561=>534,562=>678,563=>478,567=>222,568=>915,569=>914,592=>543,593=>572,594=>572,595=>559,596=>506,597=>501,598=>602,599=>596,600=>533,601=>533,602=>784,603=>485,604=>485,605=>736,606=>505,607=>288,608=>587,609=>557,610=>562,611=>483,612=>552,613=>536,614=>536,615=>536,616=>268,617=>255,618=>278,619=>473,620=>427,621=>260,622=>608,623=>812,624=>812,625=>812,626=>575,627=>576,628=>547,629=>534,630=>754,631=>728,632=>700,633=>332,634=>332,635=>380,636=>332,637=>332,638=>368,639=>368,640=>529,641=>536,642=>500,643=>299,644=>298,645=>309,646=>463,647=>280,648=>280,649=>596,650=>608,651=>520,652=>496,653=>722,654=>478,655=>506,656=>564,657=>508,658=>524,659=>530,660=>498,661=>498,662=>498,663=>699,664=>784,665=>488,666=>505,667=>622,668=>538,669=>459,670=>514,671=>390,672=>606,673=>498,674=>498,675=>921,676=>960,677=>945,678=>705,679=>524,680=>770,681=>798,682=>652,683=>569,684=>530,685=>486,686=>574,687=>611,688=>333,689=>333,690=>167,691=>236,692=>236,693=>276,694=>359,695=>500,696=>330,697=>278,698=>454,699=>250,700=>250,701=>250,702=>250,703=>250,704=>333,705=>333,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>250,713=>333,714=>333,715=>333,716=>250,717=>333,718=>333,719=>333,720=>333,721=>333,722=>250,723=>250,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,735=>333,736=>333,737=>186,738=>333,739=>333,740=>334,741=>526,742=>526,743=>526,744=>526,745=>526,746=>519,747=>519,748=>333,749=>333,750=>400,751=>333,752=>333,753=>333,754=>333,755=>333,756=>250,757=>333,758=>333,759=>333,760=>250,761=>200,762=>200,763=>200,764=>200,765=>333,766=>333,767=>333,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,884=>278,885=>199,890=>332,891=>460,892=>456,893=>460,894=>278,900=>333,901=>333,902=>666,903=>275,904=>785,905=>874,906=>413,908=>866,910=>893,911=>809,912=>284,913=>666,914=>664,915=>594,916=>699,917=>633,918=>615,919=>721,920=>784,921=>278,922=>674,923=>666,924=>846,925=>730,926=>626,927=>784,928=>720,929=>656,931=>636,932=>632,933=>678,934=>739,935=>657,936=>762,937=>757,938=>278,939=>678,940=>578,941=>497,942=>549,943=>307,944=>558,945=>578,946=>544,947=>518,948=>552,949=>497,950=>447,951=>549,952=>505,953=>284,954=>500,955=>546,956=>540,957=>496,958=>485,959=>544,960=>594,961=>574,962=>539,963=>606,964=>492,965=>558,966=>711,967=>569,968=>698,969=>728,970=>284,971=>558,972=>544,973=>558,974=>728,977=>553,978=>691,979=>884,980=>691,981=>700,982=>728,983=>556,1008=>580,1009=>574,1010=>456,1011=>243,1012=>782,1013=>308,1014=>308,1017=>619,1021=>619,1022=>619,1023=>619,1024=>643,1025=>643,1026=>770,1027=>599,1028=>709,1029=>667,1030=>278,1031=>300,1032=>528,1033=>1009,1034=>1009,1035=>770,1036=>637,1037=>730,1038=>623,1039=>722,1040=>666,1041=>664,1042=>664,1043=>599,1044=>812,1045=>643,1046=>915,1047=>653,1048=>730,1049=>730,1050=>637,1051=>671,1052=>846,1053=>721,1054=>784,1055=>721,1056=>646,1057=>709,1058=>632,1059=>623,1060=>845,1061=>657,1062=>742,1063=>620,1064=>830,1065=>851,1066=>845,1067=>879,1068=>664,1069=>709,1070=>995,1071=>686,1072=>543,1073=>534,1074=>488,1075=>390,1076=>582,1077=>533,1078=>765,1079=>485,1080=>547,1081=>547,1082=>484,1083=>497,1084=>598,1085=>538,1086=>534,1087=>537,1088=>559,1089=>506,1090=>412,1091=>478,1092=>849,1093=>476,1094=>558,1095=>490,1096=>672,1097=>702,1098=>646,1099=>680,1100=>503,1101=>506,1102=>741,1103=>529,1104=>533,1105=>533,1106=>577,1107=>390,1108=>506,1109=>502,1110=>224,1111=>262,1112=>243,1113=>796,1114=>837,1115=>579,1116=>484,1117=>547,1118=>478,1119=>538,1120=>936,1121=>680,1122=>815,1123=>636,1124=>947,1125=>702,1126=>785,1127=>556,1128=>1025,1129=>746,1130=>915,1131=>765,1132=>1125,1133=>935,1134=>653,1135=>485,1136=>762,1137=>698,1138=>784,1139=>534,1140=>772,1141=>570,1142=>772,1143=>570,1144=>1170,1145=>944,1146=>864,1147=>594,1148=>936,1149=>680,1150=>936,1151=>680,1154=>468,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>763,1163=>573,1164=>693,1165=>520,1166=>646,1167=>562,1168=>601,1169=>387,1170=>614,1171=>412,1172=>599,1173=>467,1174=>932,1175=>835,1176=>653,1177=>485,1178=>658,1179=>494,1180=>680,1181=>514,1182=>689,1183=>524,1184=>845,1185=>658,1186=>740,1187=>558,1188=>995,1189=>709,1190=>1058,1191=>790,1192=>802,1193=>626,1194=>709,1195=>506,1196=>632,1197=>412,1198=>678,1199=>588,1200=>678,1201=>588,1202=>674,1203=>486,1204=>951,1205=>672,1206=>640,1207=>501,1208=>630,1209=>480,1210=>630,1211=>480,1212=>915,1213=>691,1214=>915,1215=>691,1216=>254,1217=>915,1218=>765,1219=>671,1220=>482,1221=>694,1222=>518,1223=>721,1224=>538,1225=>744,1226=>559,1227=>630,1228=>480,1229=>869,1230=>619,1231=>254,1232=>666,1233=>543,1234=>666,1235=>543,1236=>984,1237=>871,1238=>643,1239=>533,1240=>710,1241=>543,1242=>710,1243=>543,1244=>915,1245=>765,1246=>653,1247=>485,1248=>619,1249=>534,1250=>730,1251=>547,1252=>730,1253=>547,1254=>784,1255=>534,1256=>784,1257=>534,1258=>784,1259=>534,1260=>709,1261=>506,1262=>623,1263=>478,1264=>623,1265=>478,1266=>623,1267=>478,1268=>620,1269=>490,1270=>599,1271=>390,1272=>879,1273=>680,1274=>614,1275=>412,1276=>657,1277=>476,1278=>657,1279=>476,1296=>653,1297=>485,1298=>671,1299=>497,1306=>784,1307=>559,1308=>937,1309=>712,1310=>637,1311=>484,1316=>727,1317=>564,1318=>627,1319=>517,1329=>730,1330=>693,1331=>730,1332=>735,1333=>693,1334=>751,1335=>446,1336=>703,1337=>790,1338=>656,1339=>697,1340=>390,1341=>852,1342=>791,1343=>698,1344=>585,1345=>656,1346=>651,1347=>658,1348=>759,1349=>595,1350=>772,1351=>603,1352=>703,1353=>648,1354=>698,1355=>744,1356=>738,1357=>703,1358=>739,1359=>660,1360=>693,1361=>623,1362=>385,1363=>788,1364=>632,1365=>775,1366=>714,1369=>250,1370=>222,1371=>200,1372=>333,1373=>333,1374=>333,1375=>333,1377=>833,1378=>551,1379=>572,1380=>569,1381=>546,1382=>581,1383=>353,1384=>551,1385=>568,1386=>569,1387=>552,1388=>276,1389=>795,1390=>535,1391=>553,1392=>537,1393=>512,1394=>568,1395=>552,1396=>531,1397=>249,1398=>527,1399=>405,1400=>551,1401=>390,1402=>833,1403=>509,1404=>523,1405=>545,1406=>584,1407=>879,1408=>552,1409=>552,1410=>301,1411=>884,1412=>578,1413=>556,1414=>668,1415=>544,1417=>278,1418=>333,1423=>735,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>448,1471=>0,1472=>212,1473=>0,1474=>0,1475=>278,1476=>0,1477=>0,1478=>378,1479=>0,1488=>640,1489=>591,1490=>466,1491=>598,1492=>622,1493=>212,1494=>351,1495=>623,1496=>608,1497=>200,1498=>526,1499=>550,1500=>600,1501=>623,1502=>621,1503=>212,1504=>378,1505=>607,1506=>587,1507=>575,1508=>568,1509=>540,1510=>590,1511=>606,1512=>547,1513=>776,1514=>687,1520=>424,1521=>412,1522=>400,1523=>184,1524=>344,1792=>600,1793=>201,1794=>201,1795=>201,1796=>201,1797=>500,1798=>500,1799=>500,1800=>370,1801=>370,1802=>574,1803=>574,1804=>645,1805=>574,1807=>0,1808=>452,1809=>452,1810=>574,1811=>645,1812=>645,1813=>509,1814=>509,1815=>682,1816=>585,1817=>404,1818=>627,1819=>718,1820=>718,1821=>484,1822=>682,1823=>600,1824=>660,1825=>682,1826=>538,1827=>718,1828=>718,1829=>718,1830=>574,1831=>574,1832=>638,1833=>585,1834=>509,1835=>682,1836=>682,1837=>574,1838=>645,1839=>509,1840=>0,1841=>0,1842=>0,1843=>0,1844=>0,1845=>0,1846=>0,1847=>0,1848=>0,1849=>0,1850=>0,1851=>0,1852=>0,1853=>0,1854=>0,1855=>0,1856=>0,1857=>0,1858=>0,1859=>0,1860=>0,1861=>0,1862=>0,1863=>0,1864=>0,1865=>0,1866=>0,1869=>660,1870=>660,1871=>660,2304=>0,2305=>0,2306=>0,2307=>305,2308=>717,2309=>717,2310=>888,2311=>464,2312=>464,2313=>582,2314=>804,2315=>921,2316=>641,2317=>433,2318=>433,2319=>433,2320=>433,2321=>888,2322=>888,2323=>888,2324=>888,2325=>749,2326=>780,2327=>522,2328=>590,2329=>680,2330=>620,2331=>644,2332=>703,2333=>692,2334=>680,2335=>568,2336=>531,2337=>611,2338=>538,2339=>608,2340=>564,2341=>660,2342=>500,2343=>593,2344=>568,2345=>568,2346=>479,2347=>733,2348=>492,2349=>578,2350=>518,2351=>556,2352=>435,2353=>435,2354=>656,2355=>661,2356=>661,2357=>492,2358=>646,2359=>479,2360=>667,2361=>486,2362=>0,2363=>226,2364=>0,2365=>442,2366=>226,2367=>226,2368=>226,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>226,2378=>226,2379=>226,2380=>226,2381=>0,2382=>149,2383=>226,2384=>839,2385=>0,2386=>0,2387=>0,2388=>0,2389=>0,2390=>0,2391=>0,2392=>749,2393=>780,2394=>522,2395=>703,2396=>611,2397=>538,2398=>733,2399=>556,2400=>900,2401=>626,2402=>0,2403=>0,2404=>674,2405=>674,2406=>575,2407=>575,2408=>575,2409=>575,2410=>575,2411=>575,2412=>575,2413=>575,2414=>575,2415=>575,2416=>365,2417=>387,2418=>717,2419=>717,2420=>888,2421=>888,2422=>717,2423=>717,2425=>703,2426=>556,2427=>568,2428=>703,2429=>575,2430=>611,2431=>492,2433=>0,2434=>300,2435=>264,2437=>656,2438=>829,2439=>507,2440=>564,2441=>539,2442=>559,2443=>600,2444=>481,2447=>580,2448=>627,2451=>540,2452=>613,2453=>570,2454=>467,2455=>481,2456=>438,2457=>483,2458=>408,2459=>509,2460=>601,2461=>563,2462=>771,2463=>401,2464=>404,2465=>540,2466=>408,2467=>460,2468=>543,2469=>477,2470=>418,2471=>433,2472=>445,2474=>499,2475=>594,2476=>397,2477=>565,2478=>458,2479=>433,2480=>396,2482=>508,2486=>518,2487=>445,2488=>508,2489=>460,2492=>0,2493=>440,2494=>193,2495=>189,2496=>180,2497=>0,2498=>0,2499=>0,2500=>0,2503=>295,2504=>303,2507=>0,2508=>0,2509=>0,2510=>356,2519=>219,2524=>540,2525=>408,2527=>433,2528=>594,2529=>481,2530=>0,2531=>0,2534=>500,2535=>437,2536=>479,2537=>530,2538=>497,2539=>500,2540=>482,2541=>503,2542=>517,2543=>481,2544=>377,2545=>377,2546=>429,2547=>383,2548=>429,2549=>478,2550=>545,2551=>158,2552=>365,2553=>280,2554=>357,2555=>344,2561=>0,2562=>0,2563=>351,2565=>860,2566=>1088,2567=>869,2568=>928,2569=>723,2570=>723,2575=>665,2576=>857,2579=>716,2580=>858,2581=>682,2582=>634,2583=>696,2584=>744,2585=>649,2586=>674,2587=>656,2588=>653,2589=>629,2590=>639,2591=>641,2592=>657,2593=>650,2594=>653,2595=>651,2596=>640,2597=>634,2598=>662,2599=>630,2600=>625,2602=>645,2603=>653,2604=>624,2605=>613,2606=>658,2607=>734,2608=>620,2610=>676,2611=>719,2613=>626,2614=>666,2616=>666,2617=>614,2620=>0,2622=>286,2623=>322,2624=>301,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2641=>0,2649=>636,2650=>762,2651=>652,2652=>653,2654=>656,2662=>672,2663=>543,2664=>622,2665=>622,2666=>576,2667=>589,2668=>509,2669=>645,2670=>661,2671=>655,2672=>0,2673=>0,2674=>666,2675=>726,2676=>1217,2677=>0,3330=>419,3331=>273,3333=>1360,3334=>1522,3335=>981,3336=>1728,3337=>720,3338=>1473,3339=>865,3340=>1059,3342=>1203,3343=>1231,3344=>1902,3346=>714,3347=>1195,3348=>1463,3349=>954,3350=>910,3351=>910,3352=>1343,3353=>1002,3354=>865,3355=>1281,3356=>841,3357=>1536,3358=>1342,3359=>589,3360=>666,3361=>1291,3362=>1332,3363=>1326,3364=>954,3365=>823,3366=>618,3367=>928,3368=>928,3369=>928,3370=>855,3371=>1143,3372=>1203,3373=>644,3374=>628,3375=>1022,3376=>716,3377=>662,3378=>855,3379=>714,3380=>641,3381=>878,3382=>1009,3383=>1098,3384=>1287,3385=>1147,3386=>855,3389=>700,3390=>506,3391=>217,3392=>217,3393=>372,3394=>372,3395=>451,3396=>451,3398=>714,3399=>535,3400=>1404,3402=>0,3403=>0,3404=>0,3405=>0,3406=>273,3415=>724,3424=>865,3425=>1213,3426=>0,3427=>0,3430=>687,3431=>693,3432=>764,3433=>1030,3434=>666,3435=>934,3436=>1213,3437=>680,3438=>832,3439=>941,3440=>1221,3441=>886,3442=>1322,3443=>874,3444=>900,3445=>1044,3449=>1148,3450=>1400,3451=>994,3452=>700,3453=>1114,3454=>1004,3455=>957,4256=>587,4257=>620,4258=>642,4259=>815,4260=>600,4261=>595,4262=>799,4263=>893,4264=>622,4265=>597,4266=>939,4267=>602,4268=>603,4269=>790,4270=>587,4271=>623,4272=>799,4273=>601,4274=>792,4275=>724,4276=>847,4277=>599,4278=>812,4279=>603,4280=>653,4281=>590,4282=>754,4283=>596,4284=>653,4285=>651,4286=>596,4287=>888,4288=>593,4304=>436,4305=>491,4306=>528,4307=>692,4308=>447,4309=>447,4310=>628,4311=>734,4312=>449,4313=>445,4314=>843,4315=>449,4316=>449,4317=>682,4318=>449,4319=>480,4320=>682,4321=>468,4322=>710,4323=>623,4324=>697,4325=>447,4326=>702,4327=>447,4328=>470,4329=>440,4330=>632,4331=>449,4332=>470,4333=>536,4334=>449,4335=>656,4336=>474,4337=>630,4338=>394,4339=>419,4340=>422,4341=>436,4345=>528,4347=>515,4348=>449,5024=>678,5025=>756,5026=>604,5027=>770,5028=>969,5029=>207,5030=>633,5031=>800,5032=>474,5033=>689,5034=>672,5035=>446,5036=>637,5037=>776,5038=>511,5039=>723,5040=>528,5041=>591,5042=>839,5043=>963,5044=>615,5045=>563,5046=>705,5047=>800,5048=>558,5049=>880,5050=>966,5051=>675,5052=>527,5053=>733,5054=>779,5055=>547,5056=>756,5057=>834,5058=>604,5059=>632,5060=>605,5061=>1051,5062=>657,5063=>842,5064=>748,5065=>1192,5066=>842,5067=>632,5068=>668,5069=>928,5070=>626,5071=>655,5072=>502,5073=>696,5074=>642,5075=>518,5076=>952,5077=>622,5078=>710,5079=>521,5080=>556,5081=>656,5082=>622,5083=>881,5084=>760,5085=>564,5086=>567,5087=>712,5088=>717,5089=>838,5090=>617,5091=>689,5092=>767,5093=>728,5094=>690,5095=>551,5096=>859,5097=>957,5098=>900,5099=>779,5100=>805,5101=>621,5102=>604,5103=>842,5104=>653,5105=>737,5106=>601,5107=>901,5108=>655,5120=>584,5121=>941,5122=>941,5123=>941,5124=>941,5125=>726,5126=>726,5127=>726,5128=>726,5129=>726,5130=>726,5131=>726,5132=>941,5133=>941,5134=>941,5135=>941,5136=>941,5137=>941,5138=>882,5139=>882,5140=>882,5141=>882,5142=>726,5143=>882,5144=>882,5145=>882,5146=>882,5147=>726,5148=>494,5149=>347,5150=>447,5151=>329,5152=>329,5153=>452,5154=>452,5155=>276,5156=>451,5157=>463,5158=>289,5159=>216,5160=>400,5161=>400,5162=>400,5163=>1169,5164=>941,5165=>810,5166=>1012,5167=>941,5168=>941,5169=>941,5170=>941,5171=>726,5172=>726,5173=>726,5174=>726,5175=>726,5176=>726,5177=>726,5178=>941,5179=>941,5180=>941,5181=>941,5182=>941,5183=>941,5184=>726,5185=>882,5186=>726,5187=>882,5188=>882,5189=>726,5190=>882,5191=>726,5192=>726,5193=>390,5194=>159,5195=>332,5196=>742,5197=>742,5198=>742,5199=>742,5200=>744,5201=>744,5202=>744,5203=>744,5204=>744,5205=>744,5206=>744,5207=>914,5208=>912,5209=>912,5210=>914,5211=>912,5212=>914,5213=>744,5214=>916,5215=>744,5216=>916,5217=>916,5218=>744,5219=>916,5220=>744,5221=>915,5222=>477,5223=>855,5224=>855,5225=>855,5226=>855,5227=>592,5228=>592,5229=>592,5230=>592,5231=>592,5232=>610,5233=>713,5234=>592,5235=>608,5236=>718,5237=>764,5238=>764,5239=>718,5240=>764,5241=>718,5242=>718,5243=>763,5244=>735,5245=>763,5246=>764,5247=>718,5248=>764,5249=>734,5250=>763,5251=>361,5252=>361,5253=>708,5254=>708,5255=>708,5256=>651,5257=>592,5258=>592,5259=>592,5260=>592,5261=>592,5262=>610,5263=>713,5264=>592,5265=>608,5266=>608,5267=>763,5268=>763,5269=>608,5270=>763,5271=>608,5272=>609,5273=>763,5274=>627,5275=>763,5276=>763,5277=>609,5278=>763,5279=>625,5280=>763,5281=>361,5282=>361,5283=>592,5284=>592,5285=>592,5286=>592,5287=>592,5288=>610,5289=>713,5290=>592,5291=>608,5292=>592,5293=>763,5294=>763,5295=>592,5296=>763,5297=>592,5298=>592,5299=>763,5300=>610,5301=>763,5302=>763,5303=>592,5304=>763,5305=>608,5306=>763,5307=>346,5308=>276,5309=>346,5310=>331,5311=>562,5312=>712,5313=>712,5314=>712,5315=>712,5316=>712,5317=>712,5318=>712,5319=>712,5320=>712,5321=>868,5322=>828,5323=>828,5324=>712,5325=>828,5326=>712,5327=>712,5328=>466,5329=>452,5330=>466,5331=>712,5332=>712,5333=>712,5334=>712,5335=>712,5336=>712,5337=>712,5338=>712,5339=>712,5340=>868,5341=>828,5342=>828,5343=>868,5344=>828,5345=>868,5346=>712,5347=>828,5348=>712,5349=>828,5350=>828,5351=>712,5352=>828,5353=>712,5354=>466,5355=>262,5356=>624,5357=>504,5358=>524,5359=>504,5360=>521,5361=>504,5362=>520,5363=>624,5364=>504,5365=>520,5366=>620,5367=>660,5368=>659,5369=>620,5370=>676,5371=>620,5372=>620,5373=>660,5374=>637,5375=>676,5376=>659,5377=>620,5378=>659,5379=>636,5380=>659,5381=>309,5382=>365,5383=>309,5384=>458,5385=>315,5386=>315,5387=>347,5388=>1010,5389=>1020,5390=>872,5391=>872,5392=>830,5393=>830,5394=>830,5395=>854,5396=>854,5397=>854,5398=>854,5399=>1001,5400=>1002,5401=>1001,5402=>1002,5403=>1001,5404=>1002,5405=>998,5406=>998,5407=>998,5408=>998,5409=>998,5410=>998,5411=>998,5412=>998,5413=>594,5414=>516,5415=>516,5416=>516,5417=>516,5418=>516,5419=>532,5420=>636,5421=>516,5422=>532,5423=>671,5424=>672,5425=>671,5426=>672,5427=>671,5428=>672,5429=>671,5430=>672,5431=>687,5432=>672,5433=>671,5434=>672,5435=>671,5436=>688,5437=>671,5438=>372,5439=>505,5440=>464,5441=>460,5442=>830,5443=>830,5444=>830,5445=>830,5446=>830,5447=>830,5448=>556,5449=>556,5450=>556,5451=>556,5452=>556,5453=>556,5454=>691,5455=>712,5456=>343,5457=>362,5458=>624,5459=>817,5460=>817,5461=>817,5462=>817,5463=>824,5464=>824,5465=>824,5466=>824,5467=>980,5468=>972,5469=>465,5470=>742,5471=>742,5472=>742,5473=>742,5474=>742,5475=>742,5476=>742,5477=>742,5478=>742,5479=>742,5480=>898,5481=>848,5482=>410,5483=>742,5484=>742,5485=>744,5486=>744,5487=>825,5488=>742,5489=>742,5490=>744,5491=>744,5492=>800,5493=>800,5494=>800,5495=>800,5496=>800,5497=>800,5498=>800,5499=>493,5500=>592,5501=>460,5502=>875,5503=>875,5504=>875,5505=>777,5506=>795,5507=>875,5508=>875,5509=>644,5510=>592,5511=>592,5512=>592,5513=>592,5514=>782,5515=>782,5516=>782,5517=>782,5518=>1056,5519=>1056,5520=>1056,5521=>687,5522=>705,5523=>1056,5524=>1056,5525=>524,5526=>782,5527=>646,5528=>646,5529=>646,5530=>646,5531=>712,5532=>712,5533=>712,5534=>712,5535=>466,5536=>772,5537=>772,5538=>772,5539=>772,5540=>772,5541=>772,5542=>466,5543=>638,5544=>638,5545=>638,5546=>638,5547=>638,5548=>638,5549=>638,5550=>388,5551=>488,5552=>515,5553=>515,5554=>515,5555=>515,5556=>592,5557=>592,5558=>592,5559=>592,5560=>542,5561=>542,5562=>542,5563=>542,5564=>561,5565=>561,5566=>561,5567=>561,5568=>630,5569=>630,5570=>630,5571=>630,5572=>941,5573=>941,5574=>726,5575=>726,5576=>726,5577=>726,5578=>941,5579=>941,5580=>726,5581=>726,5582=>726,5583=>726,5584=>941,5585=>941,5586=>726,5587=>726,5588=>730,5589=>726,5590=>941,5591=>941,5592=>726,5593=>726,5594=>730,5595=>726,5596=>830,5597=>830,5598=>830,5599=>830,5600=>830,5601=>830,5602=>830,5603=>830,5604=>830,5605=>830,5606=>830,5607=>830,5608=>830,5609=>830,5610=>830,5611=>830,5612=>830,5613=>830,5614=>400,5615=>722,5616=>722,5617=>722,5618=>722,5619=>722,5620=>722,5621=>722,5622=>722,5623=>722,5624=>722,5625=>722,5626=>722,5627=>722,5628=>722,5629=>722,5630=>722,5631=>722,5632=>722,5633=>522,5634=>592,5635=>592,5636=>712,5637=>712,5638=>712,5639=>712,5640=>722,5641=>722,5642=>722,5643=>722,5644=>722,5645=>722,5646=>830,5647=>830,5648=>704,5649=>704,5650=>704,5651=>704,5652=>647,5653=>647,5654=>647,5655=>830,5656=>830,5657=>830,5658=>830,5659=>830,5660=>647,5661=>647,5662=>830,5663=>830,5664=>830,5665=>830,5666=>830,5667=>830,5668=>465,5669=>465,5670=>465,5671=>465,5672=>830,5673=>830,5674=>574,5675=>574,5676=>574,5677=>574,5678=>609,5679=>609,5680=>647,5681=>647,5682=>647,5683=>647,5684=>739,5685=>739,5686=>754,5687=>754,5688=>754,5689=>754,5690=>830,5691=>830,5692=>755,5693=>755,5694=>755,5695=>755,5696=>830,5697=>830,5698=>830,5699=>830,5700=>830,5701=>830,5702=>427,5703=>427,5704=>830,5705=>830,5706=>830,5707=>830,5708=>830,5709=>830,5710=>830,5711=>830,5712=>718,5713=>718,5714=>718,5715=>718,5716=>830,5717=>830,5718=>718,5719=>718,5720=>718,5721=>718,5722=>525,5723=>830,5724=>830,5725=>718,5726=>718,5727=>718,5728=>718,5729=>830,5730=>830,5731=>718,5732=>718,5733=>718,5734=>718,5735=>722,5736=>722,5737=>722,5738=>722,5739=>722,5740=>722,5741=>822,5742=>370,5743=>875,5744=>1056,5745=>1316,5746=>1314,5747=>963,5748=>981,5749=>1314,5750=>1330,5751=>668,5752=>778,5753=>778,5754=>698,5755=>698,5756=>778,5757=>778,5758=>400,5759=>400,6320=>726,6321=>726,6322=>726,6323=>882,6324=>726,6325=>726,6326=>786,6327=>744,6328=>592,6329=>764,6330=>592,6331=>712,6332=>712,6333=>712,6334=>504,6335=>504,6336=>830,6337=>830,6338=>1001,6339=>516,6340=>516,6341=>556,6342=>824,6343=>892,6344=>824,6345=>892,6346=>712,6347=>824,6348=>712,6349=>824,6350=>996,6351=>964,6352=>964,6353=>726,6354=>726,6355=>686,6356=>525,6357=>452,6358=>361,6359=>361,6360=>346,6361=>466,6362=>310,6363=>486,6364=>575,6365=>575,6366=>223,6367=>216,6368=>984,6369=>556,6370=>556,6371=>906,6372=>858,6373=>906,6374=>744,6375=>744,6376=>758,6377=>592,6378=>808,6379=>646,6380=>630,6381=>906,6382=>722,6383=>722,6384=>906,6385=>647,6386=>984,6387=>280,6388=>319,6389=>355,7424=>488,7425=>733,7426=>863,7427=>507,7428=>529,7429=>509,7430=>515,7431=>470,7432=>497,7433=>222,7434=>381,7435=>496,7436=>432,7437=>614,7439=>585,7448=>471,7449=>539,7450=>504,7451=>448,7452=>511,7456=>472,7457=>676,7458=>460,7579=>365,7581=>322,7582=>341,7583=>304,7588=>189,7589=>179,7590=>146,7595=>277,7596=>537,7597=>549,7598=>391,7599=>404,7600=>374,7601=>349,7602=>462,7607=>397,7608=>348,7609=>344,7612=>367,7613=>326,7614=>347,7615=>328,7680=>666,7681=>543,7682=>664,7683=>559,7684=>664,7685=>559,7686=>664,7687=>559,7688=>709,7689=>506,7690=>698,7691=>559,7692=>698,7693=>559,7694=>698,7695=>559,7696=>722,7697=>556,7698=>698,7699=>559,7700=>633,7701=>533,7702=>633,7703=>533,7704=>633,7705=>533,7706=>633,7707=>533,7708=>633,7709=>533,7710=>599,7711=>280,7712=>765,7713=>550,7714=>721,7715=>536,7716=>721,7717=>536,7718=>721,7719=>536,7720=>722,7721=>556,7722=>721,7723=>536,7724=>278,7725=>262,7726=>278,7727=>262,7728=>674,7729=>514,7730=>674,7731=>514,7732=>674,7733=>514,7734=>563,7735=>214,7736=>563,7737=>214,7738=>563,7739=>214,7740=>563,7741=>214,7742=>846,7743=>812,7744=>846,7745=>812,7746=>846,7747=>812,7748=>730,7749=>537,7750=>730,7751=>537,7752=>730,7753=>537,7754=>730,7755=>537,7756=>784,7757=>534,7758=>784,7759=>534,7760=>784,7761=>534,7762=>784,7763=>534,7764=>656,7765=>559,7766=>656,7767=>559,7768=>709,7769=>332,7770=>709,7771=>332,7772=>709,7773=>332,7774=>709,7775=>332,7776=>667,7777=>493,7778=>667,7779=>493,7780=>667,7781=>493,7782=>667,7783=>493,7784=>667,7785=>493,7786=>632,7787=>280,7788=>632,7789=>280,7790=>632,7791=>280,7792=>632,7793=>280,7794=>720,7795=>537,7796=>720,7797=>537,7798=>720,7799=>537,7800=>720,7801=>537,7802=>720,7803=>537,7804=>645,7805=>496,7806=>645,7807=>496,7808=>937,7809=>722,7810=>937,7811=>722,7812=>937,7813=>722,7814=>937,7815=>722,7816=>937,7817=>722,7818=>657,7819=>476,7820=>657,7821=>476,7822=>678,7823=>478,7824=>615,7825=>486,7826=>615,7827=>486,7828=>615,7829=>486,7830=>536,7831=>280,7832=>722,7833=>478,7834=>543,7835=>280,7836=>278,7837=>278,7838=>663,7839=>552,7840=>666,7841=>543,7842=>666,7843=>543,7844=>666,7845=>543,7846=>666,7847=>543,7848=>666,7849=>543,7850=>666,7851=>543,7852=>666,7853=>543,7854=>666,7855=>543,7856=>666,7857=>543,7858=>666,7859=>543,7860=>666,7861=>543,7862=>666,7863=>543,7864=>633,7865=>533,7866=>633,7867=>533,7868=>633,7869=>533,7870=>633,7871=>533,7872=>633,7873=>533,7874=>633,7875=>533,7876=>633,7877=>533,7878=>633,7879=>533,7880=>278,7881=>222,7882=>278,7883=>222,7884=>784,7885=>534,7886=>784,7887=>534,7888=>784,7889=>534,7890=>784,7891=>534,7892=>784,7893=>534,7894=>784,7895=>534,7896=>784,7897=>534,7898=>792,7899=>559,7900=>792,7901=>559,7902=>792,7903=>559,7904=>792,7905=>559,7906=>792,7907=>559,7908=>720,7909=>537,7910=>720,7911=>537,7912=>776,7913=>619,7914=>776,7915=>619,7916=>776,7917=>619,7918=>776,7919=>619,7920=>776,7921=>619,7922=>678,7923=>478,7924=>678,7925=>478,7926=>678,7927=>478,7928=>678,7929=>478,7936=>578,7937=>578,7938=>578,7939=>578,7940=>578,7941=>578,7942=>578,7943=>578,7944=>666,7945=>666,7946=>742,7947=>756,7948=>692,7949=>699,7950=>673,7951=>666,7952=>497,7953=>497,7954=>497,7955=>497,7956=>497,7957=>497,7960=>730,7961=>714,7962=>900,7963=>882,7964=>867,7965=>879,7968=>549,7969=>549,7970=>549,7971=>549,7972=>549,7973=>549,7974=>549,7975=>549,7976=>771,7977=>777,7978=>944,7979=>946,7980=>942,7981=>945,7982=>852,7983=>852,7984=>284,7985=>284,7986=>284,7987=>284,7988=>284,7989=>284,7990=>284,7991=>284,7992=>322,7993=>321,7994=>482,7995=>485,7996=>477,7997=>484,7998=>394,7999=>390,8000=>544,8001=>544,8002=>544,8003=>544,8004=>544,8005=>544,8008=>775,8009=>784,8010=>990,8011=>987,8012=>887,8013=>897,8016=>558,8017=>558,8018=>558,8019=>558,8020=>558,8021=>558,8022=>558,8023=>558,8025=>747,8027=>915,8029=>971,8031=>863,8032=>728,8033=>728,8034=>728,8035=>728,8036=>728,8037=>728,8038=>728,8039=>728,8040=>769,8041=>774,8042=>972,8043=>970,8044=>879,8045=>918,8046=>901,8047=>901,8048=>578,8049=>578,8050=>497,8051=>497,8052=>549,8053=>549,8054=>284,8055=>284,8056=>544,8057=>544,8058=>558,8059=>558,8060=>728,8061=>728,8064=>578,8065=>578,8066=>578,8067=>578,8068=>578,8069=>578,8070=>578,8071=>578,8072=>830,8073=>828,8074=>916,8075=>916,8076=>853,8077=>860,8078=>835,8079=>827,8080=>549,8081=>549,8082=>549,8083=>549,8084=>549,8085=>549,8086=>549,8087=>549,8088=>928,8089=>931,8090=>1104,8091=>1109,8092=>1099,8093=>1102,8094=>1009,8095=>1012,8096=>728,8097=>728,8098=>728,8099=>728,8100=>728,8101=>728,8102=>728,8103=>728,8104=>934,8105=>934,8106=>1130,8107=>1128,8108=>1045,8109=>1077,8110=>1062,8111=>1065,8112=>578,8113=>578,8114=>578,8115=>578,8116=>578,8118=>578,8119=>578,8120=>666,8121=>666,8122=>666,8123=>666,8124=>832,8125=>333,8126=>200,8127=>333,8128=>333,8129=>333,8130=>549,8131=>549,8132=>549,8134=>549,8135=>549,8136=>833,8137=>776,8138=>911,8139=>892,8140=>875,8141=>400,8142=>400,8143=>333,8144=>284,8145=>284,8146=>284,8147=>284,8150=>284,8151=>284,8152=>278,8153=>278,8154=>385,8155=>376,8157=>400,8158=>400,8159=>333,8160=>558,8161=>558,8162=>558,8163=>558,8164=>574,8165=>574,8166=>558,8167=>514,8168=>678,8169=>678,8170=>817,8171=>827,8172=>729,8173=>393,8174=>393,8175=>333,8178=>728,8179=>728,8180=>728,8182=>728,8183=>728,8184=>833,8185=>833,8186=>848,8187=>814,8188=>939,8189=>333,8190=>333,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>167,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>556,8211=>500,8212=>1000,8213=>1000,8214=>320,8215=>566,8216=>250,8217=>250,8218=>250,8219=>250,8220=>400,8221=>400,8222=>400,8223=>400,8224=>556,8225=>556,8226=>400,8227=>400,8228=>500,8229=>500,8230=>680,8231=>278,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>167,8240=>1000,8241=>1360,8242=>278,8243=>469,8244=>680,8245=>278,8246=>469,8247=>680,8248=>376,8249=>250,8250=>250,8251=>622,8252=>556,8253=>556,8254=>556,8255=>658,8256=>658,8257=>438,8258=>840,8259=>400,8260=>167,8261=>334,8262=>334,8263=>1112,8264=>834,8265=>834,8266=>556,8267=>537,8268=>537,8269=>537,8270=>389,8271=>278,8272=>658,8273=>389,8274=>634,8275=>500,8276=>658,8277=>787,8278=>515,8279=>855,8280=>722,8281=>725,8282=>224,8283=>722,8284=>604,8285=>224,8286=>224,8287=>0,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>350,8305=>140,8308=>350,8309=>350,8310=>350,8311=>350,8312=>350,8313=>350,8314=>350,8315=>350,8316=>350,8317=>350,8318=>350,8319=>360,8320=>350,8321=>350,8322=>350,8323=>350,8324=>350,8325=>350,8326=>350,8327=>350,8328=>350,8329=>350,8330=>350,8331=>350,8332=>350,8333=>350,8334=>350,8336=>363,8337=>366,8338=>360,8339=>325,8340=>350,8352=>623,8353=>615,8354=>601,8355=>611,8356=>556,8357=>833,8358=>682,8359=>1317,8360=>1202,8361=>879,8362=>869,8363=>538,8364=>655,8365=>667,8366=>611,8367=>1290,8368=>570,8369=>684,8370=>717,8371=>667,8372=>667,8373=>640,8376=>516,8377=>499,8400=>0,8401=>0,8402=>0,8403=>0,8404=>0,8405=>0,8406=>0,8407=>0,8408=>0,8409=>0,8410=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8420=>0,8421=>0,8422=>0,8423=>0,8424=>0,8425=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8432=>0,8448=>870,8449=>859,8450=>722,8451=>1017,8452=>556,8453=>796,8454=>832,8455=>653,8456=>722,8457=>919,8459=>1229,8460=>615,8461=>647,8462=>556,8463=>572,8464=>919,8465=>606,8466=>900,8467=>481,8468=>747,8469=>722,8470=>934,8471=>800,8472=>600,8473=>667,8474=>778,8475=>900,8476=>699,8477=>722,8478=>834,8479=>722,8480=>1043,8481=>1261,8482=>1000,8483=>667,8484=>611,8486=>757,8487=>757,8488=>512,8489=>284,8490=>674,8491=>666,8492=>918,8493=>623,8494=>533,8495=>469,8496=>712,8497=>965,8498=>588,8499=>1200,8501=>640,8502=>592,8503=>466,8504=>598,8505=>278,8506=>868,8507=>1338,8508=>619,8510=>582,8511=>722,8513=>765,8514=>563,8515=>556,8516=>678,8517=>780,8522=>516,8523=>655,8525=>1200,8526=>435,8531=>860,8532=>880,8533=>899,8534=>889,8535=>880,8536=>889,8537=>879,8538=>889,8539=>880,8540=>889,8541=>880,8542=>869,8543=>869,8544=>278,8545=>556,8546=>834,8547=>945,8548=>645,8549=>945,8550=>1223,8551=>1501,8552=>945,8553=>657,8554=>945,8555=>1223,8556=>563,8557=>709,8558=>698,8559=>846,8560=>222,8561=>444,8562=>666,8563=>722,8564=>496,8565=>722,8566=>944,8567=>1166,8568=>722,8569=>476,8570=>722,8571=>944,8572=>214,8573=>506,8574=>559,8575=>812,8592=>987,8593=>603,8594=>987,8595=>603,8596=>1042,8597=>1042,8598=>800,8599=>800,8600=>800,8601=>800,8612=>987,8613=>680,8614=>987,8615=>680,8617=>987,8618=>987,8628=>700,8629=>658,8636=>987,8637=>987,8638=>380,8639=>393,8640=>987,8641=>987,8642=>380,8643=>379,8644=>987,8645=>906,8646=>990,8647=>987,8648=>1010,8649=>987,8650=>1010,8651=>987,8652=>987,8656=>987,8657=>603,8658=>987,8659=>603,8660=>1042,8661=>603,8668=>1092,8669=>1092,8704=>667,8705=>676,8706=>556,8707=>667,8708=>667,8709=>802,8710=>711,8711=>711,8712=>584,8713=>584,8714=>585,8715=>584,8716=>584,8717=>585,8718=>500,8719=>783,8720=>783,8721=>771,8722=>584,8723=>584,8724=>584,8725=>510,8726=>392,8727=>500,8728=>500,8729=>500,8730=>512,8731=>512,8732=>512,8733=>713,8734=>713,8735=>639,8736=>768,8737=>768,8738=>600,8739=>200,8740=>288,8741=>320,8742=>340,8743=>608,8744=>608,8745=>768,8746=>768,8747=>465,8748=>705,8749=>905,8750=>464,8751=>761,8756=>800,8757=>800,8758=>250,8759=>620,8760=>584,8761=>778,8762=>584,8763=>500,8764=>500,8765=>500,8766=>573,8768=>244,8769=>584,8770=>584,8771=>584,8772=>584,8773=>584,8774=>584,8775=>584,8776=>500,8777=>500,8778=>584,8779=>500,8780=>584,8781=>554,8784=>584,8785=>584,8786=>584,8787=>584,8788=>735,8789=>755,8791=>584,8792=>584,8793=>584,8794=>584,8795=>584,8796=>584,8797=>584,8798=>584,8799=>584,8800=>584,8801=>584,8802=>584,8803=>600,8804=>584,8805=>584,8806=>584,8807=>584,8810=>955,8811=>955,8813=>554,8814=>584,8815=>584,8816=>584,8817=>584,8818=>584,8819=>584,8822=>584,8823=>584,8826=>584,8827=>584,8828=>584,8829=>584,8830=>584,8831=>584,8832=>584,8833=>584,8834=>584,8835=>584,8836=>584,8837=>584,8838=>584,8839=>584,8840=>584,8841=>584,8844=>768,8845=>768,8846=>768,8847=>636,8848=>636,8849=>636,8850=>636,8851=>636,8852=>636,8853=>768,8854=>778,8855=>778,8856=>768,8857=>778,8858=>776,8859=>776,8860=>776,8861=>776,8866=>658,8867=>658,8868=>658,8869=>658,8870=>500,8871=>528,8872=>758,8882=>636,8883=>636,8884=>636,8885=>636,8891=>584,8892=>608,8893=>584,8896=>744,8897=>744,8898=>764,8899=>764,8901=>298,8902=>471,8904=>710,8909=>584,8910=>584,8911=>584,8918=>584,8919=>564,8920=>1215,8921=>1215,8928=>584,8929=>584,8930=>636,8931=>636,8934=>584,8935=>584,8936=>584,8937=>584,8942=>250,8943=>1000,8944=>1000,8945=>1000,8960=>823,8968=>456,8969=>455,8970=>456,8971=>455,8976=>584,8992=>374,8993=>374,8994=>658,8995=>658,9001=>329,9002=>329,9115=>384,9116=>384,9117=>384,9118=>384,9119=>384,9120=>384,9121=>388,9122=>388,9123=>388,9124=>388,9125=>388,9126=>388,9127=>333,9128=>333,9129=>333,9130=>333,9131=>333,9132=>333,9133=>333,9134=>374,9138=>804,9139=>804,9216=>800,9217=>784,9218=>800,9219=>800,9220=>784,9221=>800,9222=>800,9223=>800,9224=>800,9225=>800,9226=>800,9227=>800,9228=>800,9229=>800,9230=>800,9231=>800,9232=>800,9233=>800,9234=>800,9235=>800,9236=>800,9237=>800,9238=>800,9239=>800,9240=>800,9241=>800,9242=>800,9243=>800,9244=>800,9245=>800,9246=>800,9247=>800,9248=>800,9249=>800,9250=>556,9251=>500,9252=>800,9253=>800,9254=>800,9312=>788,9313=>788,9314=>788,9315=>788,9316=>788,9317=>788,9318=>788,9319=>788,9320=>788,9321=>788,9472=>1000,9473=>1000,9474=>1000,9475=>1000,9476=>1000,9477=>1000,9478=>1000,9479=>1000,9480=>1000,9481=>1000,9482=>1000,9483=>1000,9484=>1000,9485=>1000,9486=>1000,9487=>1000,9488=>1000,9489=>1000,9490=>1000,9491=>1000,9492=>1000,9493=>1000,9494=>1000,9495=>1000,9496=>1000,9497=>1000,9498=>1000,9499=>1000,9500=>1000,9501=>1000,9502=>1000,9503=>1000,9504=>1000,9505=>1000,9506=>1000,9507=>1000,9508=>1000,9509=>1000,9510=>1000,9511=>1000,9512=>1000,9513=>1000,9514=>1000,9515=>1000,9516=>1000,9517=>1000,9518=>1000,9519=>1000,9520=>1000,9521=>1000,9522=>1000,9523=>1000,9524=>1000,9525=>1000,9526=>1000,9527=>1000,9528=>1000,9529=>1000,9530=>1000,9531=>1000,9532=>1000,9533=>1000,9534=>1000,9535=>1000,9536=>1000,9537=>1000,9538=>1000,9539=>1000,9540=>1000,9541=>1000,9542=>1000,9543=>1000,9544=>1000,9545=>1000,9546=>1000,9547=>1000,9552=>1000,9553=>1000,9554=>1000,9555=>1000,9556=>1000,9557=>1000,9558=>1000,9559=>1000,9560=>1000,9561=>1000,9562=>1000,9563=>1000,9564=>1000,9565=>1000,9566=>1000,9567=>1000,9568=>1000,9569=>1000,9570=>1000,9571=>1000,9572=>1000,9573=>1000,9574=>1000,9575=>1000,9576=>1000,9577=>1000,9578=>1000,9579=>1000,9580=>1000,9600=>1000,9601=>1000,9602=>1000,9603=>1000,9604=>1000,9605=>1000,9606=>1000,9607=>1000,9608=>1000,9609=>1000,9610=>1000,9611=>1000,9612=>1000,9613=>1000,9614=>1000,9615=>1000,9616=>1000,9617=>1000,9618=>1000,9619=>1000,9620=>1000,9621=>1000,9622=>1000,9623=>1000,9624=>1000,9625=>1000,9626=>1000,9627=>1000,9628=>1000,9629=>1000,9630=>1000,9631=>1000,9632=>800,9633=>800,9634=>800,9635=>800,9636=>800,9637=>800,9638=>800,9639=>800,9640=>800,9641=>800,9642=>625,9643=>625,9644=>800,9645=>800,9646=>800,9647=>800,9648=>1000,9649=>1000,9650=>892,9651=>892,9652=>669,9653=>669,9654=>892,9655=>892,9656=>669,9657=>669,9658=>891,9659=>891,9660=>892,9661=>892,9662=>669,9663=>669,9664=>892,9665=>892,9666=>669,9667=>669,9668=>891,9669=>891,9670=>788,9671=>788,9672=>788,9673=>800,9674=>489,9675=>800,9676=>800,9677=>800,9678=>800,9679=>800,9680=>800,9681=>800,9682=>800,9683=>800,9684=>800,9685=>800,9686=>800,9687=>800,9688=>400,9689=>800,9690=>800,9691=>800,9692=>800,9693=>800,9694=>800,9695=>799,9696=>800,9697=>800,9698=>1000,9699=>1000,9700=>1000,9701=>1000,9702=>400,9703=>800,9704=>800,9705=>800,9706=>800,9707=>800,9708=>892,9709=>892,9710=>892,9711=>1020,9712=>800,9713=>800,9714=>800,9715=>800,9716=>800,9717=>800,9718=>800,9719=>800,9720=>800,9721=>800,9722=>800,9723=>800,9724=>800,9725=>800,9726=>800,9727=>800,9772=>929,9773=>795,9785=>770,9786=>770,9824=>626,9825=>694,9826=>595,9827=>776,9828=>626,9829=>694,9830=>595,9831=>776,9833=>333,9834=>555,9835=>722,9836=>722,9837=>415,9838=>377,9839=>402,10048=>1161,10752=>1020,10753=>1020,10754=>1020,10755=>764,10756=>764,10761=>584,11568=>352,11569=>872,11570=>872,11571=>720,11572=>720,11573=>720,11574=>544,11575=>709,11576=>709,11577=>720,11578=>720,11579=>596,11580=>698,11581=>742,11582=>574,11583=>742,11584=>872,11585=>872,11586=>292,11587=>696,11588=>696,11589=>720,11590=>544,11591=>724,11592=>756,11593=>600,11594=>672,11595=>888,11596=>836,11597=>524,11598=>720,11599=>260,11600=>836,11601=>224,11602=>678,11603=>380,11604=>872,11605=>872,11606=>720,11607=>268,11608=>640,11609=>872,11610=>872,11611=>770,11612=>424,11613=>720,11614=>770,11615=>720,11616=>709,11617=>720,11618=>541,11619=>828,11620=>454,11621=>828,11622=>728,11623=>618,11631=>442,11798=>584,11799=>333,11800=>556,11802=>333,11803=>500,11806=>500,11807=>500,11816=>464,11817=>464,11818=>660,11819=>623,11820=>623,11821=>660,11822=>556,11824=>350,42240=>698,42241=>698,42242=>676,42243=>800,42244=>800,42245=>850,42246=>930,42247=>720,42248=>756,42249=>750,42250=>750,42251=>750,42252=>540,42253=>540,42254=>780,42255=>780,42256=>1082,42257=>1082,42258=>780,42259=>780,42260=>720,42261=>774,42262=>600,42263=>600,42264=>600,42265=>600,42266=>983,42267=>983,42268=>749,42269=>749,42270=>1080,42271=>890,42272=>869,42273=>720,42274=>739,42275=>983,42276=>780,42277=>840,42278=>780,42279=>424,42280=>840,42281=>967,42282=>462,42283=>952,42284=>735,42285=>735,42286=>780,42287=>750,42288=>869,42289=>772,42290=>772,42291=>676,42292=>762,42293=>674,42294=>674,42295=>488,42296=>604,42297=>822,42298=>1059,42299=>851,42300=>851,42301=>689,42302=>844,42303=>708,42304=>907,42305=>907,42306=>907,42307=>612,42308=>612,42309=>840,42310=>775,42311=>544,42312=>774,42313=>540,42314=>704,42315=>723,42316=>887,42317=>887,42318=>676,42319=>817,42320=>762,42321=>887,42322=>824,42323=>890,42324=>705,42325=>780,42326=>705,42327=>533,42328=>523,42329=>694,42330=>772,42331=>772,42332=>772,42333=>892,42334=>711,42335=>711,42336=>832,42337=>832,42338=>944,42339=>944,42340=>832,42341=>928,42342=>743,42343=>735,42344=>731,42345=>782,42346=>595,42347=>890,42348=>680,42349=>887,42350=>815,42351=>510,42352=>848,42353=>700,42354=>700,42355=>700,42356=>724,42357=>724,42358=>633,42359=>633,42360=>813,42361=>834,42362=>625,42363=>887,42364=>592,42365=>772,42366=>772,42367=>639,42368=>639,42369=>887,42370=>887,42371=>717,42372=>717,42373=>786,42374=>891,42375=>780,42376=>841,42377=>500,42378=>792,42379=>522,42380=>522,42381=>647,42382=>361,42383=>815,42384=>850,42385=>683,42386=>834,42387=>898,42388=>522,42389=>820,42390=>820,42391=>808,42392=>864,42393=>772,42394=>808,42395=>869,42396=>900,42397=>844,42398=>844,42399=>812,42400=>812,42401=>812,42402=>930,42403=>990,42404=>540,42405=>608,42406=>630,42407=>910,42408=>687,42409=>687,42410=>744,42411=>687,42412=>724,42413=>742,42414=>724,42415=>742,42416=>744,42417=>744,42418=>744,42419=>744,42420=>780,42421=>540,42422=>540,42423=>595,42424=>740,42425=>620,42426=>772,42427=>914,42428=>914,42429=>857,42430=>800,42431=>772,42432=>887,42433=>990,42434=>1005,42435=>799,42436=>799,42437=>948,42438=>948,42439=>906,42440=>1044,42441=>600,42442=>600,42443=>574,42444=>742,42445=>574,42446=>742,42447=>500,42448=>604,42449=>704,42450=>704,42451=>746,42452=>820,42453=>731,42454=>805,42455=>606,42456=>726,42457=>726,42458=>500,42459=>813,42460=>939,42461=>898,42462=>660,42463=>633,42464=>914,42465=>689,42466=>1231,42467=>784,42468=>710,42469=>982,42470=>704,42471=>782,42472=>591,42473=>770,42474=>620,42475=>620,42476=>930,42477=>930,42478=>930,42479=>785,42480=>785,42481=>813,42482=>813,42483=>971,42484=>971,42485=>721,42486=>801,42487=>582,42488=>604,42489=>618,42490=>582,42491=>1059,42492=>1059,42493=>1059,42494=>1059,42495=>720,42496=>789,42497=>723,42498=>721,42499=>772,42500=>772,42501=>772,42502=>772,42503=>772,42504=>620,42505=>634,42506=>806,42507=>825,42508=>670,42509=>521,42510=>512,42511=>1134,42512=>1324,42513=>772,42514=>1091,42515=>445,42516=>811,42517=>776,42518=>614,42519=>720,42520=>902,42521=>765,42522=>920,42523=>1024,42524=>735,42525=>742,42526=>816,42527=>715,42528=>692,42529=>200,42530=>677,42531=>770,42532=>640,42533=>595,42534=>526,42535=>677,42536=>500,42537=>715,42538=>1143,42539=>560,42888=>333,42889=>276,42890=>342,42891=>194,42892=>194,42922=>899,64256=>495,64257=>460,64258=>465,64259=>652,64260=>645,64261=>520,64275=>1004,64276=>1044,64277=>1042,64278=>1037,64279=>1256,64285=>200,64286=>305,64287=>400,64288=>587,64289=>890,64290=>848,64291=>872,64292=>800,64293=>850,64294=>873,64295=>797,64296=>937,64297=>584,64298=>776,64299=>776,64300=>776,64301=>776,64302=>640,64303=>640,64304=>640,64305=>591,64306=>466,64307=>598,64308=>622,64309=>291,64310=>371,64312=>608,64313=>270,64314=>526,64315=>550,64316=>600,64318=>621,64320=>378,64321=>607,64323=>575,64324=>568,64326=>590,64327=>606,64328=>547,64329=>776,64330=>687,64331=>212,64332=>591,64333=>550,64334=>568,64335=>640,65529=>0,65530=>0,65531=>0,65532=>784,65533=>900,65535=>800); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freesans.z b/vendor/tecnickcom/tcpdf/fonts/freesans.z new file mode 100644 index 0000000..27760fc Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesans.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansb.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freesansb.ctg.z new file mode 100644 index 0000000..9c74c58 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesansb.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansb.php b/vendor/tecnickcom/tcpdf/fonts/freesansb.php new file mode 100644 index 0000000..d2e3133 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freesansb.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-968 -460 1556 1066]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>729,'XHeight'=>540,'StemV'=>105,'StemH'=>45,'AvgWidth'=>642,'MaxWidth'=>1473,'MissingWidth'=>800); +$cbbox=array(0=>array(35,-139,765,800),33=>array(112,0,262,726),34=>array(50,470,424,729),35=>array(3,-32,553,697),36=>array(22,-126,527,763),37=>array(22,-20,863,709),38=>array(55,-23,694,723),39=>array(56,470,194,729),40=>array(40,-200,303,729),41=>array(22,-200,285,729),42=>array(23,407,357,729),43=>array(50,-10,533,473),44=>array(50,-174,200,146),45=>array(26,207,298,342),46=>array(50,0,200,146),47=>array(2,-14,275,714),48=>array(29,-23,517,724),49=>array(68,0,378,709),50=>array(30,0,515,724),51=>array(29,-23,516,724),52=>array(24,0,522,709),53=>array(27,-23,517,709),54=>array(32,-23,519,724),55=>array(29,0,528,709),56=>array(22,-23,525,724),57=>array(28,-24,516,724),58=>array(50,0,200,520),59=>array(50,-174,200,520),60=>array(40,-10,529,474),61=>array(50,52,534,411),62=>array(40,-10,529,474),63=>array(64,0,556,744),64=>array(27,-138,947,745),65=>array(10,0,687,729),66=>array(80,0,664,729),67=>array(40,-23,681,741),68=>array(80,0,684,729),69=>array(80,0,625,729),70=>array(80,0,592,729),71=>array(40,-21,709,743),72=>array(80,0,669,729),73=>array(80,0,230,729),74=>array(30,-23,492,729),75=>array(80,0,723,729),76=>array(80,0,579,729),77=>array(80,0,790,729),78=>array(80,0,673,729),79=>array(40,-23,742,741),80=>array(80,0,637,729),81=>array(40,-54,742,741),82=>array(80,0,677,729),83=>array(40,-23,641,741),84=>array(30,0,614,729),85=>array(80,-23,658,729),86=>array(20,0,643,729),87=>array(20,0,939,729),88=>array(22,0,653,729),89=>array(10,0,633,729),90=>array(30,0,578,729),91=>array(66,-200,308,729),92=>array(-12,-14,289,714),93=>array(18,-200,260,729),94=>array(61,270,522,695),95=>array(-22,-200,578,-120),96=>array(17,607,213,757),97=>array(40,-23,536,549),98=>array(65,-23,581,729),99=>array(40,-23,528,549),100=>array(40,-23,556,729),101=>array(40,-23,543,549),102=>array(14,0,313,729),103=>array(40,-218,547,549),104=>array(65,0,539,729),105=>array(70,0,210,729),106=>array(4,-218,210,729),107=>array(65,0,554,729),108=>array(65,0,205,729),109=>array(65,0,829,549),110=>array(65,0,548,549),111=>array(40,-23,574,549),112=>array(65,-218,581,549),113=>array(40,-218,556,549),114=>array(65,0,372,549),115=>array(30,-23,521,549),116=>array(21,-23,308,674),117=>array(65,-23,548,540),118=>array(10,0,532,540),119=>array(10,0,771,540),120=>array(15,0,534,540),121=>array(10,-219,539,540),122=>array(30,0,477,540),123=>array(37,-200,317,729),124=>array(100,-200,180,729),125=>array(72,-200,352,729),126=>array(20,142,479,314),160=>array(0,0,0,0),161=>array(66,-186,216,540),162=>array(36,-124,522,634),163=>array(31,-23,537,715),164=>array(26,100,530,604),165=>array(5,0,552,704),166=>array(100,-200,180,729),167=>array(33,-201,518,723),168=>array(13,621,319,743),169=>array(-14,-22,751,743),170=>array(31,262,329,729),171=>array(88,72,468,481),172=>array(39,86,544,376),173=>array(26,207,298,342),174=>array(-14,-22,751,743),175=>array(16,620,315,699),176=>array(151,383,454,686),177=>array(50,-16,533,644),178=>array(16,390,328,824),179=>array(15,371,329,818),180=>array(121,607,317,757),181=>array(58,-220,573,540),182=>array(19,-191,529,729),183=>array(64,169,188,292),184=>array(27,-220,294,0),185=>array(40,389,242,814),186=>array(23,262,343,729),187=>array(88,72,462,481),188=>array(40,-20,850,742),189=>array(40,-20,846,744),190=>array(15,-20,850,741),191=>array(52,-204,544,540),192=>array(10,0,687,900),193=>array(10,0,687,900),194=>array(10,0,687,900),195=>array(10,0,687,890),196=>array(10,0,687,900),197=>array(10,0,687,949),198=>array(10,0,975,729),199=>array(40,-220,681,741),200=>array(80,0,625,900),201=>array(80,0,625,900),202=>array(80,0,625,900),203=>array(80,0,625,900),204=>array(0,0,236,900),205=>array(42,0,278,900),206=>array(-4,0,314,900),207=>array(2,0,308,900),208=>array(20,0,701,729),209=>array(80,0,673,900),210=>array(40,-23,742,900),211=>array(40,-23,742,900),212=>array(40,-23,742,900),213=>array(40,-23,742,900),214=>array(40,-23,742,900),215=>array(79,18,505,444),216=>array(36,-39,760,749),217=>array(80,-23,658,900),218=>array(80,-23,658,900),219=>array(80,-23,658,900),220=>array(80,-23,658,900),221=>array(10,0,633,900),222=>array(80,0,637,729),223=>array(67,-23,575,729),224=>array(40,-23,536,757),225=>array(40,-23,536,757),226=>array(40,-23,536,757),227=>array(40,-23,536,749),228=>array(40,-23,536,743),229=>array(40,-23,536,770),230=>array(28,-24,858,549),231=>array(40,-220,528,549),232=>array(40,-23,543,757),233=>array(40,-23,543,757),234=>array(40,-23,543,757),235=>array(40,-23,543,743),236=>array(10,0,210,757),237=>array(70,0,270,757),238=>array(-9,0,309,757),239=>array(-4,0,302,743),240=>array(40,-23,574,744),241=>array(65,0,548,749),242=>array(40,-23,574,757),243=>array(40,-23,574,757),244=>array(40,-23,574,759),245=>array(40,-23,574,749),246=>array(40,-23,574,743),247=>array(50,-11,534,474),248=>array(13,-38,600,557),249=>array(65,-23,548,757),250=>array(65,-23,548,757),251=>array(65,-23,548,757),252=>array(65,-23,548,743),253=>array(10,-219,539,757),254=>array(65,-218,581,729),255=>array(10,-219,539,743),256=>array(10,0,687,879),257=>array(40,-23,536,699),258=>array(10,0,687,900),259=>array(40,-23,536,748),260=>array(20,-233,717,729),261=>array(40,-233,560,549),262=>array(40,-23,681,900),263=>array(40,-23,528,757),264=>array(40,-23,681,900),265=>array(40,-23,528,759),266=>array(40,-23,681,900),267=>array(40,-23,528,731),268=>array(40,-23,681,900),269=>array(40,-23,528,757),270=>array(80,0,684,900),271=>array(40,-23,789,740),272=>array(20,0,701,729),273=>array(40,-23,616,729),274=>array(80,0,625,879),275=>array(40,-23,543,699),276=>array(80,0,625,900),277=>array(40,-23,543,783),278=>array(80,0,625,900),279=>array(40,-23,543,743),280=>array(80,-233,649,729),281=>array(40,-234,544,549),282=>array(80,0,625,900),283=>array(40,-23,543,757),284=>array(40,-21,709,900),285=>array(40,-218,547,790),286=>array(40,-21,709,900),287=>array(40,-218,547,748),288=>array(40,-21,709,900),289=>array(40,-218,547,762),290=>array(40,-300,709,743),291=>array(40,-218,547,851),292=>array(80,0,669,900),293=>array(65,0,539,900),294=>array(10,0,719,729),295=>array(8,0,541,729),296=>array(-22,0,332,900),297=>array(-27,0,327,768),298=>array(15,-1,288,879),299=>array(7,0,267,699),300=>array(23,0,287,900),301=>array(15,0,279,783),302=>array(49,-233,252,729),303=>array(35,-233,232,729),304=>array(80,0,230,900),305=>array(70,0,210,540),306=>array(80,-23,542,729),307=>array(70,-218,478,729),308=>array(30,-23,492,900),309=>array(-19,-218,299,782),310=>array(80,-300,723,729),311=>array(65,-300,554,729),312=>array(70,0,559,540),313=>array(80,0,579,900),314=>array(42,0,278,900),315=>array(80,-300,579,729),316=>array(65,-300,205,729),317=>array(80,0,579,740),318=>array(65,0,440,740),319=>array(80,0,579,729),320=>array(65,0,415,729),321=>array(10,0,607,729),322=>array(10,0,262,729),323=>array(80,0,673,900),324=>array(65,0,548,757),325=>array(80,-300,673,729),326=>array(65,-300,548,549),327=>array(80,0,673,900),328=>array(65,0,548,757),329=>array(33,0,638,748),330=>array(80,-16,712,741),331=>array(65,-218,548,549),332=>array(40,-23,742,879),333=>array(40,-23,574,699),334=>array(40,-23,742,900),335=>array(40,-23,574,783),336=>array(40,-23,742,900),337=>array(40,-23,574,757),338=>array(40,-23,982,741),339=>array(40,-23,937,549),340=>array(80,0,677,900),341=>array(65,0,372,757),342=>array(80,-300,677,729),343=>array(65,-300,372,549),344=>array(80,0,677,900),345=>array(55,0,373,757),346=>array(40,-23,641,900),347=>array(30,-23,521,757),348=>array(40,-23,641,900),349=>array(30,-23,521,790),350=>array(40,-220,641,741),351=>array(30,-220,521,549),352=>array(40,-23,641,900),353=>array(30,-23,521,757),354=>array(30,-220,614,729),355=>array(14,-241,326,674),356=>array(30,0,614,900),357=>array(21,-23,480,740),358=>array(30,0,614,729),359=>array(9,-23,301,674),360=>array(80,-23,658,900),361=>array(65,-23,548,768),362=>array(80,-23,658,879),363=>array(65,-23,548,699),364=>array(80,-23,658,900),365=>array(65,-23,548,783),366=>array(80,-23,658,949),367=>array(65,-23,548,770),368=>array(80,-23,658,900),369=>array(65,-23,558,757),370=>array(80,-234,658,729),371=>array(58,-233,564,540),372=>array(20,0,939,900),373=>array(10,0,771,790),374=>array(10,-2,633,900),375=>array(10,-219,539,790),376=>array(10,0,633,900),377=>array(30,0,578,900),378=>array(30,0,477,757),379=>array(30,0,578,900),380=>array(30,0,477,743),381=>array(30,0,578,900),382=>array(30,0,477,757),383=>array(14,0,308,729),384=>array(5,-23,581,729),385=>array(40,0,863,729),386=>array(63,0,647,729),387=>array(80,-23,596,729),388=>array(0,0,654,729),389=>array(0,-23,613,729),390=>array(40,-23,681,741),391=>array(40,-23,735,748),392=>array(40,-23,593,558),393=>array(20,0,701,729),394=>array(40,0,883,729),395=>array(52,0,636,729),396=>array(40,-23,556,729),397=>array(1,-183,543,547),398=>array(40,0,585,729),399=>array(40,-23,742,741),400=>array(40,-23,641,741),401=>array(20,-218,587,729),402=>array(14,-218,313,729),403=>array(40,-23,766,748),404=>array(17,-20,640,729),405=>array(80,-16,884,729),406=>array(65,-48,284,754),407=>array(20,0,413,729),408=>array(80,0,784,745),409=>array(65,0,554,729),410=>array(5,-25,388,754),411=>array(17,-13,586,739),412=>array(80,-10,898,729),413=>array(20,-218,668,729),414=>array(65,-201,548,549),415=>array(40,-23,742,741),416=>array(40,-23,791,763),417=>array(40,-23,658,585),418=>array(40,-200,996,744),419=>array(40,-218,782,550),420=>array(40,0,836,729),421=>array(65,-218,581,688),422=>array(80,-190,627,729),423=>array(40,-23,641,741),424=>array(35,-23,526,549),425=>array(60,0,676,729),426=>array(36,-213,421,740),427=>array(14,-218,301,674),428=>array(40,0,695,729),429=>array(14,-23,301,729),430=>array(20,-218,604,729),431=>array(80,-23,773,896),432=>array(65,-23,663,707),433=>array(0,-35,719,714),434=>array(65,-12,673,731),435=>array(17,0,809,729),436=>array(9,-219,638,730),437=>array(30,0,578,729),438=>array(21,0,468,540),439=>array(40,-23,527,729),440=>array(29,-23,516,729),441=>array(35,-143,611,524),442=>array(30,-254,529,549),443=>array(20,1,549,740),446=>array(40,-15,532,729),447=>array(65,-218,592,552),448=>array(100,-200,180,729),449=>array(100,-200,320,729),450=>array(45,-200,539,731),451=>array(62,0,212,726),452=>array(80,0,1270,900),453=>array(80,0,1179,757),454=>array(40,-23,1088,757),455=>array(80,-23,1103,729),456=>array(80,-218,785,729),457=>array(65,-218,486,729),458=>array(80,-23,1214,729),459=>array(80,-218,930,729),460=>array(65,-218,819,729),461=>array(10,0,687,900),462=>array(40,-23,536,759),463=>array(-3,0,315,900),464=>array(-8,0,310,759),465=>array(40,-23,742,900),466=>array(40,-23,574,759),467=>array(80,-23,658,900),468=>array(65,-23,548,759),469=>array(80,-23,658,989),470=>array(65,-23,548,862),471=>array(80,-23,658,1032),472=>array(65,-23,548,900),473=>array(80,-23,658,1030),474=>array(65,-23,548,900),475=>array(80,-23,658,1037),476=>array(65,-23,548,900),477=>array(40,-23,543,549),478=>array(10,0,687,989),479=>array(40,-23,536,862),480=>array(10,0,687,989),481=>array(40,-23,536,859),482=>array(10,0,975,880),483=>array(28,-24,858,699),484=>array(40,-23,794,741),485=>array(34,-218,632,549),486=>array(40,-21,709,900),487=>array(40,-218,547,759),488=>array(80,0,723,900),489=>array(65,0,554,890),490=>array(40,-249,742,741),491=>array(35,-249,569,549),492=>array(40,-249,742,860),493=>array(35,-249,569,668),494=>array(40,-23,527,900),495=>array(35,-143,522,759),496=>array(-8,-218,310,750),497=>array(80,0,1300,729),498=>array(80,0,1199,729),499=>array(40,-23,1088,729),500=>array(40,-21,709,900),501=>array(40,-218,547,757),503=>array(80,0,619,743),504=>array(80,0,673,900),505=>array(65,0,548,759),506=>array(10,0,687,900),507=>array(40,-23,536,900),508=>array(10,0,975,900),509=>array(28,-24,858,757),510=>array(36,-39,760,900),511=>array(13,-38,600,757),512=>array(10,0,687,900),513=>array(26,-23,536,756),514=>array(10,0,687,900),515=>array(40,-23,536,752),516=>array(80,0,625,900),517=>array(17,-23,543,756),518=>array(80,0,625,900),519=>array(40,-23,543,752),520=>array(-118,0,310,900),521=>array(-78,0,306,756),522=>array(23,0,287,900),523=>array(5,0,269,752),524=>array(40,-23,742,900),525=>array(40,-23,574,756),526=>array(40,-23,742,900),527=>array(40,-23,574,752),528=>array(80,0,677,900),529=>array(-19,0,372,756),530=>array(80,0,677,900),531=>array(65,0,372,752),532=>array(80,-23,658,900),533=>array(65,-23,548,756),534=>array(80,-23,658,900),535=>array(65,-23,548,752),536=>array(40,-300,641,741),537=>array(30,-300,521,549),538=>array(30,-300,614,729),539=>array(21,-300,308,674),540=>array(35,-140,546,741),541=>array(30,-133,444,551),542=>array(80,0,669,900),543=>array(65,0,539,882),548=>array(30,-215,578,729),549=>array(21,-216,468,540),550=>array(10,0,687,900),551=>array(40,-23,536,731),552=>array(80,-213,625,729),553=>array(40,-236,543,549),554=>array(40,-23,742,989),555=>array(40,-23,574,859),556=>array(40,-23,742,989),557=>array(40,-23,574,859),558=>array(40,-23,742,900),559=>array(40,-23,574,731),560=>array(40,-23,742,989),561=>array(40,-23,574,859),562=>array(10,0,633,879),563=>array(10,-219,539,699),567=>array(4,-218,210,540),592=>array(30,-23,526,549),593=>array(40,-23,687,549),594=>array(0,-9,647,563),595=>array(65,-23,581,729),596=>array(30,-23,518,549),597=>array(10,-51,543,549),598=>array(40,-218,622,729),599=>array(40,-23,622,729),600=>array(40,-23,543,549),601=>array(40,-23,543,549),602=>array(22,-23,800,570),603=>array(80,-10,571,547),604=>array(38,-23,529,549),605=>array(30,-23,800,570),606=>array(34,-10,531,547),607=>array(30,-218,302,540),608=>array(40,-218,611,688),609=>array(40,-218,603,549),610=>array(40,-22,529,550),611=>array(10,-219,546,540),612=>array(10,-24,643,550),613=>array(65,-218,548,540),614=>array(64,0,538,729),615=>array(65,-218,539,729),616=>array(14,0,286,729),617=>array(65,-23,271,540),618=>array(14,0,286,540),619=>array(7,0,466,729),620=>array(20,0,507,729),621=>array(65,-218,271,729),622=>array(65,-143,704,729),623=>array(65,-9,829,540),624=>array(65,-218,830,540),625=>array(65,-218,829,549),626=>array(14,-218,563,549),627=>array(65,-218,614,549),628=>array(65,0,560,540),629=>array(40,-23,574,549),630=>array(40,-23,844,549),631=>array(40,-9,808,542),632=>array(40,-201,674,729),633=>array(17,-8,324,541),634=>array(14,-8,321,729),635=>array(18,-217,391,541),636=>array(65,-200,372,549),637=>array(65,-218,372,549),638=>array(65,0,438,549),639=>array(35,-200,408,549),640=>array(65,0,571,540),641=>array(75,0,581,540),642=>array(14,-218,574,549),643=>array(24,-218,308,729),644=>array(18,-218,317,729),645=>array(14,-218,298,560),646=>array(3,-218,551,729),647=>array(13,-147,300,550),648=>array(14,-218,301,674),649=>array(15,-23,628,540),650=>array(40,-23,688,541),651=>array(65,-23,595,542),652=>array(10,0,532,540),653=>array(10,0,771,540),654=>array(10,1,539,760),655=>array(10,0,532,540),656=>array(21,-218,537,540),657=>array(21,-96,570,540),658=>array(35,-143,522,540),659=>array(35,-143,583,540),660=>array(40,0,532,744),661=>array(40,0,532,744),662=>array(40,-15,532,729),663=>array(65,-201,553,739),664=>array(40,-23,574,549),665=>array(65,0,523,540),666=>array(44,-10,541,547),667=>array(40,-23,602,549),668=>array(65,0,548,540),669=>array(3,-218,551,729),670=>array(33,-192,522,537),671=>array(60,0,408,540),672=>array(40,-218,622,688),673=>array(40,0,532,744),674=>array(40,0,532,744),675=>array(40,-23,983,729),676=>array(40,-143,989,729),677=>array(40,-96,1087,729),678=>array(14,-23,772,674),679=>array(14,-218,568,729),680=>array(14,-23,784,674),681=>array(14,-218,806,729),682=>array(65,-23,718,729),683=>array(65,0,634,729),684=>array(15,-1,511,740),685=>array(20,109,466,634),686=>array(32,-218,581,729),687=>array(32,-300,646,729),688=>array(31,390,340,865),689=>array(30,390,339,864),690=>array(27,246,162,863),691=>array(39,390,240,748),692=>array(32,383,233,741),693=>array(13,248,256,742),694=>array(48,390,378,742),695=>array(24,389,520,741),696=>array(10,248,355,742),697=>array(40,467,207,742),698=>array(40,467,415,742),699=>array(68,482,190,729),700=>array(68,482,190,729),701=>array(68,483,190,730),702=>array(116,573,254,798),703=>array(99,573,237,798),704=>array(9,376,324,769),705=>array(9,376,324,769),706=>array(11,545,321,796),707=>array(11,544,321,795),708=>array(25,559,308,765),709=>array(25,559,308,766),710=>array(8,607,326,757),711=>array(9,607,327,757),712=>array(127,588,207,785),713=>array(16,620,315,699),714=>array(20,607,216,757),715=>array(17,607,213,757),716=>array(100,-259,172,-62),717=>array(17,-151,316,-72),718=>array(78,-186,274,-36),719=>array(20,-186,216,-36),720=>array(77,0,255,561),721=>array(77,400,255,561),722=>array(94,-23,232,202),723=>array(87,-23,225,202),724=>array(0,134,333,412),725=>array(0,139,333,417),726=>array(0,99,333,433),727=>array(0,216,333,316),728=>array(35,605,299,748),729=>array(112,621,222,743),730=>array(77,590,257,770),731=>array(45,-234,268,0),732=>array(-9,621,345,749),733=>array(-44,610,340,757),734=>array(0,219,333,585),735=>array(90,589,410,803),736=>array(11,249,360,743),737=>array(56,389,148,864),738=>array(25,371,345,744),739=>array(16,389,354,741),740=>array(-9,390,311,874),741=>array(25,-15,469,800),742=>array(25,0,469,800),743=>array(25,0,469,800),744=>array(25,0,469,800),745=>array(25,0,469,800),746=>array(57,0,494,615),747=>array(57,0,494,623),748=>array(13,-184,331,-34),749=>array(17,544,316,781),750=>array(56,482,384,729),751=>array(25,-216,308,-10),752=>array(20,-216,303,-10),753=>array(12,-256,322,-5),754=>array(12,-263,322,-12),755=>array(76,-200,256,-20),756=>array(34,391,230,541),757=>array(17,391,389,541),758=>array(20,389,391,541),759=>array(23,-149,377,-21),760=>array(50,65,200,585),761=>array(9,497,191,764),762=>array(11,497,193,764),763=>array(9,-88,191,179),764=>array(9,-87,191,180),765=>array(30,-198,304,-61),766=>array(30,-200,303,-28),767=>array(-21,-237,348,-5),768=>array(-319,607,-123,757),769=>array(-215,607,-19,757),770=>array(-328,604,-10,754),771=>array(-339,624,15,752),772=>array(-314,620,-15,699),773=>array(-578,640,22,720),774=>array(-298,605,-34,748),775=>array(-218,621,-108,743),776=>array(-317,621,-11,743),777=>array(-284,564,-131,757),778=>array(-256,590,-76,770),779=>array(-377,610,7,757),780=>array(-324,607,-6,757),781=>array(-210,588,-130,785),782=>array(-279,588,-54,785),783=>array(-377,610,7,757),784=>array(-298,605,-34,842),785=>array(-298,605,-34,748),786=>array(-251,570,-119,760),787=>array(-194,563,-62,753),788=>array(-197,563,-65,753),789=>array(0,553,132,743),790=>array(-262,-197,-66,-47),791=>array(-261,-195,-65,-45),792=>array(-289,-300,-60,-44),793=>array(-289,-300,-60,-44),794=>array(-205,417,99,721),795=>array(-152,425,82,672),796=>array(-316,-268,-178,-43),797=>array(-299,-230,-31,-45),798=>array(-299,-230,-31,-45),799=>array(-294,-295,-36,-38),800=>array(-284,-172,-46,-92),801=>array(-201,-233,0,60),802=>array(-113,-233,88,60),803=>array(-221,-186,-111,-64),804=>array(-320,-192,-14,-70),805=>array(-269,-236,-89,-56),806=>array(-226,-300,-104,-68),807=>array(-306,-220,-39,0),808=>array(-288,-234,-65,0),809=>array(-203,-241,-123,-44),810=>array(-305,-197,-31,-60),811=>array(-320,-199,-14,-77),812=>array(-324,-200,-6,-50),813=>array(-335,-200,-17,-50),814=>array(-298,-195,-34,-52),815=>array(-301,-200,-37,-57),816=>array(-342,-179,12,-51),817=>array(-317,-180,-18,-101),818=>array(-440,-172,126,-92),819=>array(-452,-258,114,-55),820=>array(-464,216,-110,344),821=>array(-423,221,-124,300),822=>array(-550,226,16,306),823=>array(-701,3,-13,616),824=>array(-701,-61,-13,749),825=>array(-203,-253,-65,-28),826=>array(-305,-198,-31,-61),827=>array(-323,-300,-62,-39),828=>array(-352,-174,-46,-59),829=>array(-334,558,-14,772),830=>array(-225,579,-117,853),831=>array(-584,593,-18,796),832=>array(-316,608,-120,758),833=>array(-215,607,-19,757),834=>array(-339,624,15,752),835=>array(-194,563,-62,753),836=>array(-331,600,3,780),837=>array(-203,-200,-17,-47),838=>array(-305,611,-31,748),839=>array(-322,-274,-22,-72),840=>array(-323,-247,-97,-50),841=>array(-285,-238,-111,-64),842=>array(-378,580,-24,801),843=>array(-359,541,-5,900),844=>array(-381,581,-27,850),845=>array(-513,-231,-69,-46),846=>array(-386,-300,-144,-33),848=>array(-343,544,-33,795),849=>array(-249,575,-111,800),850=>array(-334,572,-70,801),851=>array(-358,-235,-38,-21),852=>array(-420,-256,-110,-5),853=>array(-404,-263,-94,-12),854=>array(-529,-251,-3,-36),855=>array(-210,575,-72,800),856=>array(-326,645,-216,767),857=>array(-421,-300,-156,-48),858=>array(-531,-243,-77,-33),859=>array(-359,564,-81,848),860=>array(-349,-243,350,-49),861=>array(-345,569,354,763),862=>array(-340,596,340,691),863=>array(-340,-155,340,-60),864=>array(-361,596,347,796),865=>array(-349,646,350,840),866=>array(-316,-280,325,-11),867=>array(-345,569,-156,788),868=>array(-363,570,-171,788),869=>array(-284,575,-230,853),870=>array(-364,570,-160,788),871=>array(-339,570,-155,785),872=>array(-329,571,-142,789),873=>array(-344,570,-147,856),874=>array(-329,569,-148,848),875=>array(-405,572,-114,781),876=>array(-289,572,-171,781),877=>array(-305,570,-195,836),878=>array(-365,570,-166,776),879=>array(-356,570,-158,776),884=>array(56,603,329,789),885=>array(58,-186,331,0),890=>array(130,-200,316,-47),894=>array(50,-174,200,520),900=>array(93,607,289,757),901=>array(-1,600,333,780),902=>array(10,0,687,757),903=>array(113,374,263,520),904=>array(0,0,762,757),905=>array(0,0,798,757),906=>array(0,0,350,757),908=>array(0,-23,760,757),910=>array(0,0,953,757),911=>array(0,0,821,749),912=>array(-24,-17,389,784),913=>array(10,0,687,729),914=>array(49,0,633,729),915=>array(80,0,614,729),916=>array(10,0,734,729),917=>array(80,0,625,729),918=>array(30,0,578,729),919=>array(80,0,669,729),920=>array(40,3,756,726),921=>array(80,0,230,729),922=>array(80,0,723,729),923=>array(10,0,703,729),924=>array(80,-7,830,725),925=>array(80,-8,694,724),926=>array(50,0,634,729),927=>array(40,-23,742,741),928=>array(80,-7,690,724),929=>array(80,-8,676,724),931=>array(30,0,646,729),932=>array(20,1,638,732),933=>array(5,0,756,729),934=>array(40,-13,749,723),935=>array(10,-7,774,728),936=>array(70,-10,762,732),937=>array(40,0,759,749),938=>array(1,0,307,900),939=>array(10,0,761,900),940=>array(40,-15,632,763),941=>array(40,-10,531,757),942=>array(20,-200,548,757),943=>array(60,-17,331,757),944=>array(60,-16,548,782),945=>array(40,-15,632,542),946=>array(60,-190,560,721),947=>array(10,-199,563,548),948=>array(40,-3,582,727),949=>array(40,-10,531,547),950=>array(40,-214,492,736),951=>array(10,-200,538,548),952=>array(40,-16,555,729),953=>array(60,-17,331,540),954=>array(60,-8,557,543),955=>array(10,-13,579,739),956=>array(60,-202,603,543),957=>array(10,-25,556,543),958=>array(40,-209,519,731),959=>array(40,-23,574,549),960=>array(30,-18,643,545),961=>array(60,-203,594,555),962=>array(40,-205,553,554),963=>array(40,-12,652,551),964=>array(20,-12,537,542),965=>array(60,-16,548,540),966=>array(40,-196,748,545),967=>array(0,-199,611,561),968=>array(50,-205,678,540),969=>array(40,-15,758,545),970=>array(0,-17,331,731),971=>array(60,-16,548,731),972=>array(40,-23,574,757),973=>array(60,-16,548,769),974=>array(40,-15,758,738),977=>array(39,-37,589,755),978=>array(20,0,739,745),979=>array(0,0,912,757),980=>array(20,0,739,900),981=>array(40,-201,674,729),982=>array(40,-34,758,559),983=>array(0,-241,642,549),1008=>array(0,-42,642,564),1009=>array(40,-211,574,557),1012=>array(40,-23,742,741),1013=>array(40,-37,318,555),1024=>array(80,0,625,900),1025=>array(80,0,625,900),1026=>array(20,-164,764,729),1027=>array(80,0,592,900),1028=>array(40,-23,681,741),1029=>array(40,-23,641,741),1030=>array(80,0,230,729),1031=>array(2,0,308,900),1032=>array(30,-23,492,729),1033=>array(20,0,1038,729),1034=>array(80,0,1076,729),1035=>array(20,0,764,729),1036=>array(80,0,723,900),1037=>array(80,0,673,900),1038=>array(10,0,691,900),1039=>array(80,-150,670,729),1040=>array(10,0,687,729),1041=>array(80,0,664,729),1042=>array(80,0,664,729),1043=>array(80,0,592,729),1044=>array(35,-150,865,729),1045=>array(80,0,625,729),1046=>array(10,0,1066,729),1047=>array(40,-23,641,741),1048=>array(80,0,673,729),1049=>array(80,0,673,900),1050=>array(80,0,723,729),1051=>array(20,-12,631,729),1052=>array(80,0,790,729),1053=>array(80,0,669,729),1054=>array(40,-23,742,741),1055=>array(80,0,669,729),1056=>array(80,0,637,729),1057=>array(40,-23,681,741),1058=>array(30,0,614,729),1059=>array(10,0,691,729),1060=>array(40,0,872,729),1061=>array(10,0,641,729),1062=>array(80,-150,779,729),1063=>array(70,0,626,729),1064=>array(80,0,979,729),1065=>array(80,-150,1109,729),1066=>array(20,0,807,729),1067=>array(80,0,896,729),1068=>array(80,0,637,729),1069=>array(40,-23,681,741),1070=>array(80,-23,1055,741),1071=>array(10,0,621,729),1072=>array(40,-23,536,549),1073=>array(40,-23,555,777),1074=>array(65,0,523,540),1075=>array(65,0,413,540),1076=>array(20,-125,659,540),1077=>array(40,-23,543,549),1078=>array(5,0,777,540),1079=>array(40,-23,531,549),1080=>array(65,0,560,540),1081=>array(65,0,560,723),1082=>array(65,0,554,540),1083=>array(20,-10,508,540),1084=>array(65,0,611,540),1085=>array(65,0,548,540),1086=>array(40,-23,574,549),1087=>array(65,0,548,540),1088=>array(65,-218,581,549),1089=>array(40,-23,528,549),1090=>array(15,0,425,540),1091=>array(10,-219,539,540),1092=>array(40,-218,932,719),1093=>array(10,0,529,540),1094=>array(65,-125,634,540),1095=>array(50,0,508,540),1096=>array(65,0,831,540),1097=>array(65,-125,950,540),1098=>array(20,0,663,540),1099=>array(65,0,723,540),1100=>array(65,0,537,540),1101=>array(40,-23,528,549),1102=>array(65,-23,817,549),1103=>array(10,0,516,540),1104=>array(40,-23,543,757),1105=>array(40,-23,543,731),1106=>array(20,-173,566,729),1107=>array(65,0,413,757),1108=>array(40,-23,528,549),1109=>array(33,-23,524,549),1110=>array(70,0,210,729),1111=>array(-3,0,303,743),1112=>array(4,-218,210,729),1113=>array(20,0,853,540),1114=>array(65,0,867,540),1115=>array(20,0,564,729),1116=>array(65,0,554,757),1117=>array(65,0,560,757),1118=>array(10,-219,539,752),1119=>array(65,-125,549,540),1120=>array(20,0,966,729),1121=>array(10,0,726,541),1136=>array(70,-10,762,732),1137=>array(65,-205,693,540),1138=>array(40,-23,742,741),1139=>array(36,-23,570,549),1148=>array(20,0,966,999),1149=>array(10,0,726,815),1150=>array(20,0,966,900),1151=>array(10,0,726,729),1154=>array(22,-220,427,508),1155=>array(-390,611,-10,799),1156=>array(-298,605,-34,748),1157=>array(-226,592,-36,724),1158=>array(-223,592,-33,724),1159=>array(-588,579,0,780),1160=>array(-764,-122,281,869),1161=>array(-769,-235,339,873),1162=>array(82,-150,785,900),1163=>array(60,-125,641,723),1164=>array(15,0,642,729),1165=>array(15,0,575,540),1166=>array(80,0,637,729),1167=>array(60,-218,576,549),1168=>array(82,0,594,864),1169=>array(60,0,408,666),1170=>array(15,0,605,729),1171=>array(15,0,429,540),1172=>array(82,-172,607,729),1173=>array(60,-187,534,540),1174=>array(10,-150,1066,729),1175=>array(5,-125,777,540),1176=>array(42,-234,643,741),1177=>array(32,-234,523,549),1178=>array(82,-150,725,729),1179=>array(60,-125,549,540),1180=>array(82,0,725,729),1181=>array(60,0,549,540),1182=>array(10,0,732,729),1183=>array(10,0,550,540),1184=>array(14,0,887,729),1185=>array(15,0,675,540),1186=>array(82,-150,791,729),1187=>array(60,-125,629,540),1188=>array(82,0,982,729),1189=>array(60,0,741,540),1190=>array(81,-172,1045,729),1191=>array(60,-187,877,540),1192=>array(44,-23,926,741),1193=>array(36,-23,733,549),1194=>array(44,-234,685,741),1195=>array(36,-234,524,549),1196=>array(15,-150,599,729),1197=>array(13,-125,423,540),1198=>array(10,0,633,729),1199=>array(5,-189,568,540),1200=>array(10,0,633,729),1201=>array(20,-189,583,540),1202=>array(5,-150,636,729),1203=>array(5,-125,524,540),1204=>array(15,-150,905,729),1205=>array(21,-125,715,540),1206=>array(68,-150,734,729),1207=>array(48,-125,592,540),1208=>array(60,0,616,729),1209=>array(60,0,518,540),1210=>array(70,0,626,729),1211=>array(70,0,528,540),1212=>array(42,-23,957,745),1213=>array(32,-23,725,549),1214=>array(42,-197,957,745),1215=>array(32,-197,725,549),1216=>array(82,0,232,729),1217=>array(10,0,1066,900),1218=>array(5,0,777,723),1219=>array(80,-172,692,729),1220=>array(60,-188,510,540),1221=>array(36,-150,757,729),1222=>array(29,-125,603,540),1223=>array(82,-172,671,729),1224=>array(60,-187,543,540),1225=>array(82,-150,781,729),1226=>array(60,-125,629,540),1227=>array(68,-150,624,729),1228=>array(60,-125,518,540),1229=>array(82,-150,902,729),1230=>array(60,-125,692,540),1231=>array(82,0,232,729),1232=>array(-1,0,676,900),1233=>array(40,-23,536,748),1234=>array(-1,0,676,900),1235=>array(40,-23,536,743),1236=>array(5,0,970,729),1237=>array(36,-24,866,549),1238=>array(80,0,625,895),1239=>array(40,-23,543,733),1240=>array(44,-23,685,741),1241=>array(30,-24,533,548),1242=>array(44,-23,685,900),1243=>array(30,-24,533,712),1244=>array(10,0,1066,900),1245=>array(5,0,777,712),1246=>array(40,-23,641,900),1247=>array(40,-23,531,712),1248=>array(40,-23,527,729),1249=>array(35,-143,522,540),1250=>array(80,0,673,838),1251=>array(65,0,560,649),1252=>array(80,0,673,900),1253=>array(65,0,560,712),1254=>array(40,-23,742,900),1255=>array(40,-23,574,743),1256=>array(40,-23,742,741),1257=>array(36,-23,570,549),1258=>array(40,-23,742,900),1259=>array(36,-23,570,762),1260=>array(40,-23,681,900),1261=>array(40,-23,528,712),1262=>array(4,0,685,838),1263=>array(10,-219,539,649),1264=>array(5,0,686,900),1265=>array(5,-219,534,712),1266=>array(4,0,685,900),1267=>array(4,-219,533,737),1268=>array(70,0,626,900),1269=>array(50,0,508,712),1270=>array(82,-150,594,729),1271=>array(60,-125,408,540),1272=>array(80,0,896,900),1273=>array(65,0,723,712),1296=>array(32,-23,633,741),1297=>array(29,-23,520,549),1298=>array(36,-199,647,729),1299=>array(29,-168,517,540),1306=>array(40,-54,742,741),1307=>array(48,-218,564,549),1308=>array(20,0,939,729),1309=>array(10,0,771,540),1310=>array(82,0,725,729),1311=>array(60,0,549,540),1329=>array(70,-130,750,729),1330=>array(70,0,648,752),1331=>array(45,1,755,751),1332=>array(65,0,752,752),1333=>array(70,0,648,752),1334=>array(60,1,791,760),1335=>array(70,4,466,746),1336=>array(70,0,648,752),1337=>array(70,-27,840,753),1338=>array(45,-24,666,743),1339=>array(70,2,682,757),1340=>array(70,2,400,741),1341=>array(70,-20,837,748),1342=>array(42,-29,831,801),1343=>array(65,0,643,729),1344=>array(20,-99,630,750),1345=>array(35,-59,626,753),1346=>array(60,0,747,752),1347=>array(35,1,663,754),1348=>array(70,-23,757,729),1349=>array(35,-26,590,753),1350=>array(0,0,687,729),1351=>array(45,-25,611,770),1352=>array(65,1,678,754),1353=>array(45,-47,612,753),1354=>array(50,1,663,754),1355=>array(65,-1,785,760),1356=>array(65,0,752,752),1357=>array(65,-21,678,741),1358=>array(45,1,748,754),1359=>array(36,-37,656,753),1360=>array(70,0,648,752),1361=>array(40,-23,600,753),1362=>array(70,1,395,748),1363=>array(35,-24,783,750),1364=>array(20,1,632,753),1365=>array(35,-27,770,754),1366=>array(35,-24,719,750),1369=>array(99,573,237,798),1370=>array(16,456,180,748),1371=>array(2,563,230,743),1372=>array(-3,520,327,790),1373=>array(17,607,213,757),1374=>array(9,567,348,815),1375=>array(8,563,346,734),1377=>array(60,-25,813,549),1378=>array(65,-218,548,549),1379=>array(30,-218,624,549),1380=>array(65,-201,626,549),1381=>array(60,-23,543,729),1382=>array(35,-218,629,549),1383=>array(70,-121,387,729),1384=>array(65,-218,548,549),1385=>array(65,-200,628,549),1386=>array(35,-20,681,729),1387=>array(70,-200,544,729),1388=>array(70,-201,288,729),1389=>array(70,-200,771,729),1390=>array(35,-23,640,748),1391=>array(65,-200,548,729),1392=>array(70,0,542,741),1393=>array(35,-23,569,729),1394=>array(65,-200,626,549),1395=>array(30,0,588,797),1396=>array(65,-23,548,729),1397=>array(5,-235,259,549),1398=>array(65,-23,548,729),1399=>array(26,-200,510,557),1400=>array(65,0,536,560),1401=>array(20,-200,372,540),1402=>array(55,-200,808,549),1403=>array(35,-200,542,562),1404=>array(65,0,553,549),1405=>array(65,-23,535,548),1406=>array(65,-200,626,729),1407=>array(65,-23,891,549),1408=>array(65,-200,548,549),1409=>array(40,-200,547,560),1410=>array(70,0,318,540),1411=>array(65,-200,891,729),1412=>array(65,-200,581,549),1413=>array(35,-37,571,555),1414=>array(35,-200,728,729),1415=>array(65,-23,626,729),1417=>array(50,0,200,520),1418=>array(21,141,381,298),1423=>array(65,0,718,752),1456=>array(299,-267,381,-60),1457=>array(136,-267,503,-60),1458=>array(101,-267,468,-60),1459=>array(126,-260,500,-60),1460=>array(299,-142,381,-60),1461=>array(234,-142,446,-60),1462=>array(218,-267,428,-60),1463=>array(198,-142,398,-60),1464=>array(208,-248,408,-60),1465=>array(0,660,82,742),1467=>array(157,-266,498,-60),1468=>array(258,259,340,341),1469=>array(218,-248,300,-60),1470=>array(63,485,444,600),1471=>array(193,660,393,742),1472=>array(79,-100,218,700),1473=>array(650,639,732,721),1474=>array(101,639,183,721),1475=>array(50,0,200,520),1476=>array(261,639,343,721),1488=>array(61,0,650,600),1489=>array(77,0,610,600),1490=>array(47,0,503,600),1491=>array(63,0,566,600),1492=>array(79,0,612,600),1493=>array(79,0,218,600),1494=>array(63,0,371,600),1495=>array(79,0,612,600),1496=>array(76,0,609,600),1497=>array(73,276,212,600),1498=>array(62,-200,520,600),1499=>array(76,0,534,600),1500=>array(62,0,595,750),1501=>array(80,0,613,600),1502=>array(67,0,633,600),1503=>array(79,-200,218,600),1504=>array(73,0,359,600),1505=>array(76,0,609,600),1506=>array(60,-55,579,600),1507=>array(72,-200,590,601),1508=>array(79,0,597,600),1509=>array(27,-200,544,600),1510=>array(61,0,606,600),1511=>array(80,-200,599,600),1512=>array(63,0,530,600),1513=>array(76,0,766,600),1514=>array(62,0,685,600),1520=>array(79,0,475,600),1521=>array(73,0,471,600),1522=>array(73,276,470,600),1523=>array(50,470,188,729),1524=>array(50,470,424,729),2304=>array(-310,636,84,895),2305=>array(-310,661,84,920),2306=>array(-191,720,-23,888),2307=>array(66,92,234,539),2308=>array(9,-20,747,870),2309=>array(9,-20,747,633),2310=>array(3,-20,938,633),2311=>array(-10,-178,514,633),2312=>array(-10,-178,514,920),2313=>array(-10,-26,632,633),2314=>array(-10,-26,854,633),2315=>array(-10,-31,971,633),2316=>array(-10,-139,691,633),2317=>array(-10,-155,483,830),2318=>array(-10,-155,483,870),2319=>array(-10,-155,483,633),2320=>array(-10,-155,483,900),2321=>array(3,-20,938,818),2322=>array(3,-20,938,870),2323=>array(3,-20,938,900),2324=>array(3,-20,938,914),2325=>array(-10,-20,799,633),2326=>array(-10,-20,830,633),2327=>array(-10,-20,572,633),2328=>array(-10,-20,640,633),2329=>array(-10,-24,780,633),2330=>array(-10,-20,670,633),2331=>array(-10,-28,694,633),2332=>array(-10,-20,753,633),2333=>array(-10,-178,742,633),2334=>array(-10,-20,730,633),2335=>array(-10,-26,618,633),2336=>array(-10,-14,581,633),2337=>array(-10,-24,661,633),2338=>array(-10,-26,588,633),2339=>array(-10,-20,658,633),2340=>array(-10,-29,614,633),2341=>array(41,-20,710,633),2342=>array(-10,-59,557,633),2343=>array(41,-20,643,633),2344=>array(-10,-20,618,633),2345=>array(-10,-63,618,633),2346=>array(-10,-20,529,633),2347=>array(-10,-20,783,633),2348=>array(-10,-20,542,633),2349=>array(6,-20,628,633),2350=>array(-10,-20,568,633),2351=>array(-10,-20,606,633),2352=>array(-10,-42,485,633),2353=>array(-10,-90,485,633),2354=>array(-10,-24,706,633),2355=>array(-10,38,711,633),2356=>array(-10,-119,711,633),2357=>array(-10,-20,542,633),2358=>array(-10,-44,696,633),2359=>array(-10,-20,529,633),2360=>array(-10,-30,717,633),2361=>array(-10,-90,536,633),2362=>array(-131,634,-43,810),2363=>array(-10,-20,276,810),2364=>array(-394,-117,-226,51),2365=>array(23,-35,482,633),2366=>array(-10,-20,276,633),2367=>array(-10,-20,710,889),2368=>array(-243,-19,276,875),2369=>array(-441,-276,28,16),2370=>array(-326,-276,143,16),2371=>array(-314,-268,3,16),2372=>array(-314,-310,46,162),2373=>array(-310,651,84,826),2374=>array(-463,634,-73,870),2375=>array(-395,634,-73,900),2376=>array(-424,634,-73,914),2377=>array(-63,-20,331,826),2378=>array(-215,-20,276,870),2379=>array(-137,-20,276,900),2380=>array(-160,-20,276,914),2381=>array(-185,-264,101,-44),2382=>array(0,-19,199,633),2383=>array(-284,-20,276,870),2384=>array(21,-26,864,798),2385=>array(-131,634,-43,910),2386=>array(-554,-267,16,-196),2387=>array(-490,726,-190,910),2388=>array(-222,726,78,910),2389=>array(-310,598,84,900),2390=>array(-454,-174,14,-24),2391=>array(-454,-310,14,-24),2392=>array(-10,-127,799,633),2393=>array(-10,-190,830,633),2394=>array(-10,-20,572,633),2395=>array(-10,-111,753,633),2396=>array(-10,-205,661,633),2397=>array(-10,-205,588,633),2398=>array(-10,-93,783,633),2399=>array(-10,-130,606,633),2400=>array(-10,-208,950,633),2401=>array(-10,-311,700,633),2402=>array(-436,-300,58,153),2403=>array(-437,-300,66,296),2404=>array(351,-145,458,689),2405=>array(218,-131,538,703),2406=>array(70,73,504,518),2407=>array(93,-20,467,633),2408=>array(59,-97,518,633),2409=>array(70,-146,506,633),2410=>array(58,-16,530,637),2411=>array(82,-20,562,641),2412=>array(82,-132,510,633),2413=>array(14,-14,530,624),2414=>array(110,-14,480,631),2415=>array(109,-138,478,633),2416=>array(81,172,313,402),2417=>array(119,707,268,847),2418=>array(9,-20,788,826),2419=>array(9,-20,747,810),2420=>array(3,-20,938,810),2421=>array(3,-20,938,870),2422=>array(9,-174,747,633),2423=>array(9,-310,747,633),2425=>array(-10,-164,753,633),2426=>array(-10,-20,606,633),2427=>array(-10,-40,618,633),2428=>array(-10,-40,753,633),2429=>array(79,-19,538,633),2430=>array(-10,-105,661,633),2431=>array(-10,-40,542,633),2561=>array(-315,704,-2,959),2562=>array(-82,706,82,870),2563=>array(40,29,305,639),2565=>array(-9,0,917,641),2566=>array(-9,0,1169,641),2567=>array(-54,-7,944,933),2568=>array(-8,-7,978,933),2569=>array(-9,-224,774,921),2570=>array(-9,-359,774,921),2575=>array(-8,-7,739,929),2576=>array(-9,0,917,966),2579=>array(-9,-7,793,948),2580=>array(-9,0,917,975),2581=>array(-10,0,742,641),2582=>array(-9,0,690,641),2583=>array(-10,0,758,641),2584=>array(-14,0,809,641),2585=>array(-16,-16,724,641),2586=>array(-14,0,744,641),2587=>array(-10,-5,708,641),2588=>array(-12,0,708,641),2589=>array(-9,-27,687,641),2590=>array(-8,-13,704,641),2591=>array(-12,-13,703,641),2592=>array(-14,-13,730,641),2593=>array(-5,-5,697,641),2594=>array(-11,-22,714,641),2595=>array(-9,-5,744,641),2596=>array(-8,-8,705,642),2597=>array(-8,0,708,642),2598=>array(-10,-5,714,641),2599=>array(-13,0,683,641),2600=>array(-10,-20,687,641),2602=>array(-9,0,697,641),2603=>array(-8,-12,708,641),2604=>array(-6,0,676,641),2605=>array(-6,-5,674,641),2606=>array(-9,0,717,641),2607=>array(-13,0,796,641),2608=>array(-8,-12,688,641),2610=>array(-7,-16,747,641),2611=>array(-50,-16,827,641),2613=>array(-9,-8,679,641),2614=>array(-14,0,724,641),2616=>array(-9,0,719,641),2617=>array(-12,0,671,641),2620=>array(-200,-172,-74,-44),2622=>array(-20,250,332,641),2623=>array(-12,0,537,933),2624=>array(-231,0,329,933),2625=>array(-545,-224,-158,-70),2626=>array(-545,-363,-158,-39),2631=>array(-584,658,-160,929),2632=>array(-628,656,-150,973),2635=>array(-542,675,-148,976),2636=>array(-614,669,-132,975),2637=>array(-377,-285,-98,-52),2641=>array(-377,-285,-98,-52),2649=>array(-14,-40,700,642),2650=>array(-62,-17,828,641),2651=>array(-7,0,735,641),2652=>array(-8,-16,714,641),2654=>array(-25,-66,729,642),2662=>array(33,17,642,625),2663=>array(27,-55,593,693),2664=>array(22,2,627,675),2665=>array(18,-8,624,674),2666=>array(22,-6,580,674),2667=>array(9,0,562,641),2668=>array(21,0,558,834),2669=>array(9,-2,642,674),2670=>array(12,0,667,649),2671=>array(13,0,683,792),2672=>array(-306,697,-14,935),2673=>array(-313,694,0,929),2674=>array(-8,-7,739,641),2675=>array(-9,-5,774,921),2676=>array(4,-49,1556,978),2677=>array(-288,-275,0,-24),4256=>array(60,0,536,720),4257=>array(60,0,585,720),4258=>array(60,0,604,740),4259=>array(60,20,779,740),4260=>array(60,0,547,740),4261=>array(60,0,550,740),4262=>array(60,0,767,740),4263=>array(80,0,848,740),4264=>array(60,20,579,740),4265=>array(60,0,550,740),4266=>array(60,20,891,740),4267=>array(60,0,526,740),4268=>array(80,0,548,720),4269=>array(80,20,755,740),4270=>array(60,0,550,720),4271=>array(30,0,530,720),4272=>array(60,20,744,720),4273=>array(80,0,555,720),4274=>array(60,0,763,740),4275=>array(30,0,667,740),4276=>array(60,0,790,740),4277=>array(60,0,547,720),4278=>array(60,20,780,740),4279=>array(60,0,547,720),4280=>array(50,0,585,740),4281=>array(80,20,550,740),4282=>array(80,0,719,720),4283=>array(60,0,518,720),4284=>array(80,0,615,740),4285=>array(60,0,644,720),4286=>array(80,0,548,720),4287=>array(6,0,856,739),4288=>array(60,0,549,720),4304=>array(30,0,433,460),4305=>array(30,0,486,720),4306=>array(30,-260,534,420),4307=>array(30,-260,676,420),4308=>array(30,-260,429,420),4309=>array(30,-260,446,420),4310=>array(30,0,593,740),4311=>array(30,0,681,420),4312=>array(30,20,464,420),4313=>array(30,-260,446,420),4314=>array(30,-260,864,420),4315=>array(30,0,470,740),4316=>array(30,0,470,740),4317=>array(30,20,682,420),4318=>array(30,0,463,720),4319=>array(0,-260,473,420),4320=>array(30,20,682,720),4321=>array(30,21,473,740),4322=>array(30,-260,680,601),4323=>array(0,-260,640,420),4324=>array(30,-260,677,420),4325=>array(30,-260,429,720),4326=>array(30,-260,661,420),4327=>array(30,-260,435,420),4328=>array(0,0,462,740),4329=>array(30,20,450,740),4330=>array(30,-265,626,420),4331=>array(30,0,470,720),4332=>array(30,0,492,740),4333=>array(30,-260,524,720),4334=>array(30,0,470,720),4335=>array(0,-260,686,418),4336=>array(30,0,480,720),4337=>array(0,6,709,725),4338=>array(30,-4,420,394),4339=>array(30,-274,449,386),4340=>array(30,-274,472,724),4341=>array(30,6,501,734),4345=>array(30,-280,534,400),4347=>array(63,1,478,588),4348=>array(78,228,409,783),5024=>array(60,0,664,729),5025=>array(60,-10,678,729),5026=>array(1,0,585,729),5027=>array(12,-25,853,729),5028=>array(39,-23,1006,741),5029=>array(60,0,210,729),5030=>array(46,-25,598,743),5031=>array(43,-24,815,742),5032=>array(60,0,576,729),5033=>array(36,-25,752,729),5034=>array(-16,0,661,729),5035=>array(0,-23,462,729),5036=>array(60,0,605,729),5037=>array(26,0,895,729),5038=>array(35,0,579,741),5039=>array(-19,-24,760,752),5040=>array(60,0,501,729),5041=>array(60,0,594,729),5042=>array(4,-24,924,742),5043=>array(6,0,925,729),5044=>array(26,-25,600,743),5045=>array(57,0,576,754),5046=>array(40,-23,698,741),5047=>array(60,0,770,729),5048=>array(45,0,507,752),5049=>array(10,-25,953,729),5050=>array(40,-12,897,752),5051=>array(60,0,649,729),5052=>array(26,-25,562,729),5053=>array(27,-25,795,729),5054=>array(39,-23,741,741),5055=>array(37,-130,556,729),5056=>array(39,-21,708,743),5057=>array(-16,-23,804,742),5058=>array(60,0,571,729),5059=>array(45,0,593,729),5060=>array(42,0,548,752),5061=>array(39,-23,1091,741),5062=>array(40,0,624,729),5063=>array(21,-25,870,754),5064=>array(23,-25,893,743),5065=>array(4,0,1297,741),5066=>array(21,-25,870,754),5067=>array(45,-25,649,743),5068=>array(57,-23,635,729),5069=>array(10,-25,1023,754),5070=>array(22,0,623,729),5071=>array(60,0,617,729),5072=>array(19,0,618,729),5073=>array(44,-25,793,738),5074=>array(60,0,624,729),5075=>array(58,-23,520,729),5076=>array(-2,0,864,729),5077=>array(41,-25,593,743),5078=>array(9,-25,721,729),5079=>array(-12,0,582,729),5080=>array(15,0,609,729),5081=>array(-2,0,621,729),5082=>array(41,-25,593,743),5083=>array(42,-25,898,742),5084=>array(4,-25,853,742),5085=>array(58,0,557,752),5086=>array(60,0,559,729),5087=>array(41,-23,682,741),5088=>array(28,-25,851,729),5089=>array(19,-24,990,742),5090=>array(60,0,617,729),5091=>array(39,-25,717,743),5092=>array(10,0,790,729),5093=>array(60,0,797,729),5094=>array(60,0,703,729),5095=>array(20,-25,565,729),5096=>array(41,-24,925,742),5097=>array(39,-98,968,743),5098=>array(3,-26,991,744),5099=>array(39,-23,741,741),5100=>array(42,-25,879,742),5101=>array(-9,-25,638,741),5102=>array(43,-25,601,743),5103=>array(21,-25,870,754),5104=>array(28,-25,687,741),5105=>array(-18,-25,835,729),5106=>array(57,0,568,752),5107=>array(39,-21,938,743),5108=>array(60,0,644,729),7680=>array(10,-218,687,729),7681=>array(40,-219,536,549),7682=>array(80,0,664,900),7683=>array(65,-23,581,752),7684=>array(80,-205,664,729),7685=>array(65,-205,581,729),7686=>array(80,-151,664,729),7687=>array(65,-151,581,729),7688=>array(40,-220,681,900),7689=>array(40,-220,528,757),7690=>array(80,0,684,900),7691=>array(40,-23,556,731),7692=>array(80,-205,684,729),7693=>array(40,-205,556,729),7694=>array(80,-151,684,729),7695=>array(40,-151,556,729),7696=>array(80,-213,684,729),7697=>array(40,-236,556,729),7698=>array(80,-202,684,729),7699=>array(40,-202,556,729),7700=>array(80,0,625,983),7701=>array(40,-23,543,900),7702=>array(80,0,625,986),7703=>array(40,-23,543,900),7704=>array(80,-202,625,729),7705=>array(40,-202,543,549),7706=>array(80,-174,625,729),7707=>array(40,-174,543,549),7708=>array(80,-213,625,900),7709=>array(40,-236,543,745),7710=>array(80,0,592,900),7711=>array(14,0,313,900),7712=>array(40,-21,709,879),7713=>array(40,-218,547,699),7714=>array(80,0,669,900),7715=>array(65,0,539,801),7716=>array(80,-205,669,729),7717=>array(65,-205,539,729),7718=>array(80,0,669,900),7719=>array(65,0,539,900),7720=>array(51,-200,672,729),7721=>array(65,-201,539,729),7722=>array(80,-184,669,729),7723=>array(65,-184,539,729),7724=>array(-22,-174,332,729),7725=>array(-37,-174,317,729),7726=>array(2,0,308,1040),7727=>array(-4,0,302,900),7728=>array(80,0,723,900),7729=>array(65,0,554,896),7730=>array(80,-205,723,729),7731=>array(65,-205,554,729),7732=>array(80,-151,723,729),7733=>array(65,-151,554,729),7734=>array(80,-205,579,729),7735=>array(65,-205,205,729),7736=>array(80,-205,579,879),7737=>array(-12,-205,287,879),7738=>array(80,-151,579,729),7739=>array(-10,-151,289,729),7740=>array(80,-202,579,729),7741=>array(-25,-202,293,729),7742=>array(80,0,790,900),7743=>array(65,0,829,748),7744=>array(80,0,790,900),7745=>array(65,0,829,750),7746=>array(80,-205,790,729),7747=>array(65,-205,829,549),7748=>array(80,0,673,900),7749=>array(65,0,548,751),7750=>array(80,-205,673,729),7751=>array(65,-205,548,549),7752=>array(80,-151,673,729),7753=>array(65,-151,548,549),7754=>array(80,-200,673,729),7755=>array(65,-200,548,549),7756=>array(40,-23,742,1029),7757=>array(40,-23,574,900),7758=>array(40,-23,742,1045),7759=>array(40,-23,574,900),7760=>array(40,-23,742,990),7761=>array(40,-23,574,900),7762=>array(40,-23,742,985),7763=>array(40,-23,574,900),7764=>array(80,0,637,900),7765=>array(65,-218,581,757),7766=>array(80,0,637,900),7767=>array(65,-218,581,750),7768=>array(80,0,677,900),7769=>array(65,0,372,749),7770=>array(80,-205,677,729),7771=>array(65,-205,372,549),7772=>array(80,-205,677,860),7773=>array(65,-205,372,683),7774=>array(80,-151,677,729),7775=>array(46,-151,372,549),7776=>array(40,-23,641,900),7777=>array(30,-23,521,752),7778=>array(40,-205,641,741),7779=>array(30,-205,521,549),7780=>array(40,-23,641,1023),7781=>array(30,-23,521,898),7782=>array(40,-23,641,1026),7783=>array(30,-23,521,896),7784=>array(40,-205,641,900),7785=>array(30,-205,521,749),7786=>array(30,0,614,900),7787=>array(21,-23,308,871),7788=>array(30,-205,614,729),7789=>array(21,-205,308,674),7790=>array(30,-151,614,729),7791=>array(20,-151,319,674),7792=>array(30,-202,614,729),7793=>array(7,-202,325,674),7794=>array(80,-205,658,729),7795=>array(65,-205,548,540),7796=>array(80,-174,658,729),7797=>array(65,-174,548,540),7798=>array(80,-200,658,729),7799=>array(65,-200,548,540),7800=>array(80,-23,658,1026),7801=>array(65,-23,548,897),7802=>array(80,-23,658,983),7803=>array(65,-23,548,871),7804=>array(20,0,643,900),7805=>array(10,0,532,753),7806=>array(20,-205,643,729),7807=>array(10,-205,532,540),7808=>array(20,0,939,900),7809=>array(10,0,771,749),7810=>array(20,0,939,900),7811=>array(10,0,771,757),7812=>array(20,0,939,900),7813=>array(10,0,771,750),7814=>array(20,0,939,900),7815=>array(10,0,771,750),7816=>array(20,-205,939,729),7817=>array(10,-205,771,540),7818=>array(22,0,653,900),7819=>array(15,0,534,749),7820=>array(22,0,653,900),7821=>array(15,0,534,752),7822=>array(10,0,633,900),7823=>array(10,-219,539,747),7824=>array(30,0,578,900),7825=>array(30,0,477,757),7826=>array(30,-205,578,729),7827=>array(30,-205,477,540),7828=>array(30,-151,578,729),7829=>array(30,-151,477,540),7830=>array(65,-151,539,729),7831=>array(0,-23,308,849),7832=>array(10,0,771,752),7833=>array(10,-219,539,752),7834=>array(40,-23,551,798),7835=>array(14,0,308,900),7838=>array(80,-23,701,744),7840=>array(10,-205,687,729),7841=>array(40,-205,536,549),7842=>array(10,0,687,969),7843=>array(40,-23,536,786),7844=>array(10,0,696,1000),7845=>array(40,-23,556,900),7846=>array(10,0,687,1000),7847=>array(0,-23,536,900),7848=>array(10,0,687,1000),7849=>array(40,-23,536,900),7850=>array(10,0,687,1029),7851=>array(40,-23,536,900),7852=>array(10,-205,687,900),7853=>array(40,-205,536,759),7854=>array(10,0,687,1011),7855=>array(40,-23,536,900),7856=>array(10,0,687,1000),7857=>array(40,-23,536,900),7858=>array(10,0,687,1066),7859=>array(40,-23,536,900),7860=>array(10,0,687,1059),7861=>array(40,-23,536,900),7862=>array(10,-205,687,900),7863=>array(40,-205,536,752),7864=>array(80,-205,625,729),7865=>array(40,-205,543,549),7866=>array(80,0,625,976),7867=>array(40,-23,543,786),7868=>array(80,0,625,900),7869=>array(40,-23,543,737),7870=>array(80,0,667,1000),7871=>array(40,-23,566,900),7872=>array(35,0,625,1000),7873=>array(14,-23,543,900),7874=>array(80,0,627,1000),7875=>array(40,-23,543,900),7876=>array(80,0,625,1024),7877=>array(40,-23,543,900),7878=>array(80,-205,625,900),7879=>array(40,-205,543,759),7880=>array(80,0,236,976),7881=>array(70,0,231,771),7882=>array(80,-205,230,729),7883=>array(70,-205,210,729),7884=>array(40,-205,742,741),7885=>array(40,-205,574,549),7886=>array(40,-23,742,977),7887=>array(40,-23,574,776),7888=>array(40,-23,742,1000),7889=>array(40,-23,591,900),7890=>array(40,-23,742,1000),7891=>array(28,-23,574,900),7892=>array(40,-23,742,1000),7893=>array(40,-23,574,900),7894=>array(40,-23,742,1027),7895=>array(40,-23,574,900),7896=>array(40,-205,742,900),7897=>array(40,-205,574,759),7898=>array(40,-23,791,900),7899=>array(40,-23,658,757),7900=>array(40,-23,791,900),7901=>array(40,-23,658,757),7902=>array(40,-23,791,976),7903=>array(40,-23,658,772),7904=>array(40,-23,791,900),7905=>array(40,-23,658,779),7906=>array(40,-205,791,763),7907=>array(40,-205,658,585),7908=>array(80,-205,658,729),7909=>array(65,-205,548,540),7910=>array(80,-23,658,963),7911=>array(65,-23,548,751),7912=>array(80,-23,773,900),7913=>array(65,-23,663,757),7914=>array(80,-23,773,900),7915=>array(65,-23,663,757),7916=>array(80,-23,773,941),7917=>array(65,-23,663,766),7918=>array(80,-23,773,900),7919=>array(65,-23,663,746),7920=>array(80,-205,773,896),7921=>array(65,-205,663,707),7922=>array(10,0,633,900),7923=>array(10,-219,539,757),7924=>array(10,-205,633,729),7925=>array(10,-219,539,540),7926=>array(10,0,633,949),7927=>array(10,-219,539,749),7928=>array(10,0,633,900),7929=>array(10,-219,539,752),7936=>array(40,-15,632,799),7937=>array(40,-15,632,799),7938=>array(40,-15,632,800),7939=>array(40,-15,632,799),7940=>array(40,-15,632,800),7941=>array(40,-15,632,799),7942=>array(40,-15,632,899),7943=>array(40,-15,632,899),7944=>array(10,0,687,741),7945=>array(10,0,687,747),7946=>array(0,0,860,745),7947=>array(0,0,844,738),7948=>array(0,0,791,738),7949=>array(0,0,802,753),7950=>array(-33,0,725,878),7951=>array(-8,0,745,881),7952=>array(40,-10,531,799),7953=>array(40,-10,531,799),7954=>array(40,-10,531,800),7955=>array(40,-10,531,799),7956=>array(40,-10,531,800),7957=>array(40,-10,531,799),7960=>array(0,0,718,741),7961=>array(0,0,720,741),7962=>array(0,0,927,742),7963=>array(0,0,913,741),7964=>array(0,0,909,738),7965=>array(0,0,915,741),7968=>array(10,-200,538,802),7969=>array(10,-200,538,802),7970=>array(10,-200,538,800),7971=>array(10,-200,538,799),7972=>array(10,-200,538,797),7973=>array(10,-200,538,790),7974=>array(10,-200,538,900),7975=>array(10,-200,538,900),7976=>array(0,0,763,741),7977=>array(0,0,766,741),7978=>array(0,0,961,742),7979=>array(0,0,952,741),7980=>array(0,0,947,738),7981=>array(0,0,959,741),7982=>array(-51,0,853,881),7983=>array(-25,0,864,878),7984=>array(59,-17,331,799),7985=>array(60,-17,331,799),7986=>array(22,-17,389,800),7987=>array(26,-17,391,799),7988=>array(38,-17,394,800),7989=>array(39,-17,390,799),7990=>array(19,-17,386,901),7991=>array(37,-17,400,899),7992=>array(0,0,343,741),7993=>array(0,0,343,741),7994=>array(0,0,521,742),7995=>array(0,0,521,741),7996=>array(0,0,517,738),7997=>array(0,0,511,741),7998=>array(0,0,459,877),7999=>array(22,0,459,876),8000=>array(40,-23,574,799),8001=>array(40,-23,574,799),8002=>array(40,-23,574,800),8003=>array(40,-23,574,799),8004=>array(40,-23,574,800),8005=>array(40,-23,574,799),8008=>array(0,-23,824,741),8009=>array(0,-23,825,741),8010=>array(0,-23,1018,742),8011=>array(0,-23,1013,741),8012=>array(0,-23,979,741),8013=>array(0,-23,977,741),8016=>array(60,-16,548,799),8017=>array(60,-16,548,799),8018=>array(60,-16,548,800),8019=>array(60,-16,548,799),8020=>array(60,-16,548,800),8021=>array(60,-16,548,799),8022=>array(60,-16,548,901),8023=>array(60,-16,548,899),8025=>array(0,0,891,741),8027=>array(0,0,1095,741),8029=>array(0,0,1110,741),8031=>array(22,0,1022,876),8032=>array(40,-15,758,801),8033=>array(40,-15,758,800),8034=>array(40,-15,758,801),8035=>array(40,-15,758,799),8036=>array(40,-15,758,812),8037=>array(40,-15,758,802),8038=>array(40,-15,758,900),8039=>array(40,-15,758,898),8040=>array(0,0,836,749),8041=>array(0,0,839,749),8042=>array(0,0,1031,749),8043=>array(0,0,1031,749),8044=>array(0,0,991,749),8045=>array(0,0,1004,749),8046=>array(0,0,961,877),8047=>array(22,0,958,876),8048=>array(40,-15,632,775),8049=>array(40,-15,632,775),8050=>array(40,-10,531,775),8051=>array(40,-10,531,775),8052=>array(10,-200,538,775),8053=>array(10,-200,538,778),8054=>array(0,-17,331,775),8055=>array(60,-17,331,775),8056=>array(40,-23,574,775),8057=>array(40,-23,574,775),8058=>array(60,-16,548,775),8059=>array(60,-16,548,775),8060=>array(40,-15,758,784),8061=>array(40,-15,758,784),8064=>array(40,-199,632,799),8065=>array(40,-199,632,799),8066=>array(40,-199,632,800),8067=>array(40,-199,632,799),8068=>array(40,-199,632,800),8069=>array(40,-199,632,799),8070=>array(40,-199,632,899),8071=>array(40,-199,632,899),8072=>array(10,-5,894,741),8073=>array(10,-5,891,747),8074=>array(4,-5,1056,745),8075=>array(0,-5,1030,738),8076=>array(0,-5,979,738),8077=>array(0,-5,989,753),8078=>array(-42,-5,905,878),8079=>array(-28,-5,911,881),8080=>array(10,-200,538,802),8081=>array(10,-200,538,802),8082=>array(10,-200,538,800),8083=>array(10,-200,538,799),8084=>array(10,-200,538,797),8085=>array(10,-200,538,790),8086=>array(10,-200,538,900),8087=>array(10,-200,538,900),8088=>array(0,-5,991,741),8089=>array(0,-5,1000,741),8090=>array(0,-4,1189,742),8091=>array(0,-5,1192,741),8092=>array(0,-5,1183,738),8093=>array(0,-5,1194,741),8094=>array(-51,-5,1081,881),8095=>array(-25,-5,1100,878),8096=>array(40,-200,758,801),8097=>array(40,-200,758,800),8098=>array(40,-200,758,801),8099=>array(40,-200,758,799),8100=>array(40,-200,758,812),8101=>array(40,-200,758,802),8102=>array(40,-200,758,900),8103=>array(40,-200,758,898),8104=>array(0,-22,1059,749),8105=>array(0,-22,1053,749),8106=>array(0,-22,1246,749),8107=>array(0,-22,1245,749),8108=>array(0,-22,1205,749),8109=>array(0,-22,1222,749),8110=>array(0,-22,1181,877),8111=>array(22,-22,1177,876),8112=>array(40,-15,632,752),8113=>array(40,-15,632,668),8114=>array(40,-199,632,775),8115=>array(40,-199,632,542),8116=>array(40,-199,632,763),8118=>array(40,-15,632,737),8119=>array(40,-199,632,737),8120=>array(10,0,687,901),8121=>array(10,0,687,860),8122=>array(-22,0,687,741),8123=>array(10,0,687,741),8124=>array(10,-5,892,729),8125=>array(84,563,216,753),8126=>array(58,0,244,252),8127=>array(84,563,216,753),8128=>array(0,620,354,748),8129=>array(-10,609,344,901),8130=>array(10,-200,538,775),8131=>array(10,-200,538,548),8132=>array(20,-200,548,757),8134=>array(10,-200,538,782),8135=>array(10,-200,538,782),8136=>array(0,0,762,741),8137=>array(0,0,759,741),8138=>array(0,0,804,741),8139=>array(0,0,801,741),8140=>array(80,-5,893,729),8141=>array(84,563,432,754),8142=>array(84,563,427,754),8143=>array(27,563,381,900),8144=>array(23,-17,351,752),8145=>array(0,-17,350,668),8146=>array(0,-17,363,783),8147=>array(0,-17,354,781),8150=>array(0,-17,369,737),8151=>array(0,-17,382,899),8152=>array(23,0,287,944),8153=>array(6,0,305,860),8154=>array(0,0,375,732),8155=>array(0,0,365,738),8157=>array(81,563,429,753),8158=>array(81,563,431,753),8159=>array(-10,560,344,894),8160=>array(60,-16,548,752),8161=>array(60,-16,548,668),8162=>array(60,-16,548,783),8163=>array(60,-16,548,783),8164=>array(60,-203,594,764),8165=>array(60,-203,594,780),8166=>array(60,-16,548,737),8167=>array(60,-16,548,899),8168=>array(5,0,756,901),8169=>array(5,0,756,860),8170=>array(0,0,943,729),8171=>array(0,0,967,735),8172=>array(0,-8,782,756),8173=>array(0,600,332,780),8174=>array(-1,600,333,780),8175=>array(82,579,282,745),8178=>array(40,-200,758,784),8179=>array(40,-200,758,545),8180=>array(40,-200,758,738),8182=>array(40,-15,758,761),8183=>array(40,-200,758,761),8184=>array(0,-23,873,750),8185=>array(0,-23,833,747),8186=>array(0,0,876,759),8187=>array(0,0,854,749),8188=>array(40,0,973,749),8189=>array(117,588,317,754),8190=>array(81,563,213,753),8208=>array(26,207,298,311),8209=>array(26,207,298,311),8210=>array(-9,207,557,311),8211=>array(-9,207,557,311),8212=>array(-7,207,1003,311),8213=>array(-7,207,1003,311),8214=>array(100,-200,342,729),8215=>array(-22,-300,578,-90),8216=>array(68,482,190,729),8217=>array(68,482,190,729),8218=>array(60,-134,182,113),8219=>array(68,482,190,729),8220=>array(62,482,390,729),8221=>array(56,482,384,729),8222=>array(56,-134,384,113),8223=>array(66,482,390,729),8224=>array(31,-194,523,709),8225=>array(28,-194,520,709),8226=>array(50,170,350,470),8227=>array(51,182,359,516),8228=>array(161,0,311,146),8229=>array(36,0,436,146),8230=>array(36,0,686,146),8231=>array(64,169,188,292),8240=>array(11,-22,990,739),8241=>array(11,-22,1356,739),8242=>array(40,467,207,742),8243=>array(40,467,401,742),8244=>array(40,467,585,742),8245=>array(40,467,207,742),8246=>array(40,467,387,742),8247=>array(40,467,571,742),8248=>array(2,-196,448,169),8249=>array(83,72,250,481),8250=>array(80,72,247,481),8251=>array(61,33,561,527),8252=>array(112,0,595,726),8253=>array(31,0,593,744),8254=>array(1,694,556,798),8255=>array(34,-219,625,4),8256=>array(34,562,625,785),8257=>array(-10,-226,448,301),8258=>array(-7,-32,836,729),8259=>array(50,151,350,331),8260=>array(-173,-20,337,715),8261=>array(96,-237,301,754),8262=>array(6,-237,211,754),8263=>array(64,0,1167,744),8264=>array(64,0,873,744),8265=>array(112,0,889,744),8266=>array(29,-12,528,560),8267=>array(19,-191,529,729),8268=>array(36,49,560,569),8269=>array(36,49,560,569),8270=>array(23,-32,357,290),8271=>array(113,-174,263,520),8272=>array(34,-11,625,559),8273=>array(23,-32,357,741),8274=>array(65,1,575,736),8275=>array(0,268,568,424),8276=>array(34,-247,625,-24),8277=>array(11,-39,776,726),8278=>array(37,-26,452,561),8279=>array(40,467,820,742),8280=>array(37,-11,659,698),8281=>array(37,-24,662,702),8282=>array(37,-23,161,779),8283=>array(37,-200,659,797),8284=>array(57,41,543,524),8285=>array(37,-21,161,752),8286=>array(37,-22,161,753),8304=>array(19,370,333,819),8305=>array(54,390,146,864),8308=>array(14,390,334,815),8309=>array(14,360,330,800),8310=>array(19,370,332,819),8311=>array(16,375,337,800),8312=>array(13,370,336,819),8313=>array(19,368,332,817),8314=>array(20,447,331,736),8315=>array(20,556,331,627),8316=>array(20,484,331,698),8317=>array(26,296,197,900),8318=>array(19,296,190,900),8319=>array(42,390,357,747),8320=>array(19,-218,333,231),8321=>array(40,-200,242,225),8322=>array(16,-200,328,234),8323=>array(15,-213,329,234),8324=>array(14,-200,334,225),8325=>array(14,-214,330,226),8326=>array(19,-214,332,235),8327=>array(16,-200,337,225),8328=>array(13,-214,336,235),8329=>array(19,-214,332,235),8330=>array(20,-129,331,160),8331=>array(21,-20,332,51),8332=>array(21,-97,332,117),8333=>array(26,-300,197,303),8334=>array(18,-299,189,305),8336=>array(27,-215,350,157),8337=>array(28,-213,355,159),8338=>array(26,-213,374,159),8339=>array(9,-200,348,151),8340=>array(26,-213,353,159),8355=>array(19,0,567,729),8356=>array(12,-33,578,754),8357=>array(60,-114,824,651),8358=>array(46,1,684,733),8360=>array(80,-23,1206,729),8362=>array(80,0,979,600),8363=>array(29,-24,555,803),8364=>array(36,-23,604,739),8368=>array(5,-200,581,752),8373=>array(22,-126,562,763),8376=>array(14,0,598,729),8377=>array(12,-47,587,729),8400=>array(-565,542,-1,773),8401=>array(-565,542,-1,773),8402=>array(-212,-24,-137,686),8403=>array(-237,-11,-157,545),8406=>array(-623,524,6,911),8407=>array(-616,524,13,911),8411=>array(-494,482,-2,605),8412=>array(-678,482,-2,605),8413=>array(-720,-201,280,799),8414=>array(-725,-199,276,802),8415=>array(-726,-200,280,806),8416=>array(-728,-208,280,800),8417=>array(-673,534,23,918),8421=>array(-708,-64,-6,752),8423=>array(-433,87,77,641),8424=>array(-494,-199,-2,-76),8425=>array(-467,500,3,690),8426=>array(-968,10,-41,556),8427=>array(-600,-102,80,594),8428=>array(-534,-270,31,-38),8429=>array(-537,-267,28,-35),8430=>array(-608,-302,21,-12),8431=>array(-616,-304,13,-14),8432=>array(-305,562,-100,757),8448=>array(40,-20,902,746),8449=>array(36,-20,932,746),8451=>array(30,-23,993,741),8453=>array(32,-20,954,742),8454=>array(36,-20,966,742),8455=>array(40,-23,641,741),8456=>array(40,-23,681,741),8457=>array(30,0,892,729),8462=>array(65,0,539,729),8465=>array(30,-102,636,714),8467=>array(14,-11,587,744),8468=>array(5,-23,845,729),8470=>array(68,0,974,729),8471=>array(30,-44,850,776),8476=>array(24,-24,726,756),8480=>array(46,260,929,742),8481=>array(14,0,1299,729),8482=>array(21,273,879,729),8486=>array(40,0,759,749),8487=>array(40,-57,759,692),8489=>array(10,-17,281,540),8490=>array(80,0,723,729),8491=>array(10,0,687,949),8494=>array(40,-23,543,549),8498=>array(20,0,532,729),8501=>array(31,0,620,600),8502=>array(20,0,553,600),8503=>array(47,0,503,600),8504=>array(63,0,566,600),8506=>array(40,-23,836,680),8507=>array(67,0,1400,729),8513=>array(49,-25,718,739),8514=>array(40,0,539,729),8515=>array(32,0,531,729),8516=>array(10,0,633,729),8523=>array(8,-21,647,725),8525=>array(10,-20,1268,742),8526=>array(29,-1,440,583),8531=>array(40,-21,854,744),8532=>array(16,-21,854,744),8533=>array(40,-22,840,744),8534=>array(16,-21,840,745),8535=>array(15,-20,840,745),8536=>array(14,-20,840,735),8537=>array(40,-21,832,744),8538=>array(14,-24,832,730),8539=>array(40,-24,856,744),8540=>array(15,-24,856,743),8541=>array(14,-24,856,730),8542=>array(16,-24,856,730),8543=>array(40,-20,620,745),8544=>array(80,0,230,729),8545=>array(80,0,508,729),8546=>array(80,0,786,729),8547=>array(80,0,891,729),8548=>array(20,0,643,729),8549=>array(20,0,827,729),8550=>array(20,0,1115,729),8551=>array(20,0,1393,729),8552=>array(80,0,911,729),8553=>array(22,0,653,729),8554=>array(22,0,847,729),8555=>array(22,0,1115,729),8556=>array(80,0,579,729),8557=>array(40,-23,681,741),8558=>array(80,0,684,729),8559=>array(80,0,790,729),8560=>array(70,0,210,729),8561=>array(70,0,488,729),8562=>array(70,0,766,729),8563=>array(70,0,790,729),8564=>array(10,0,532,540),8565=>array(10,0,716,729),8566=>array(10,0,994,729),8567=>array(10,0,1272,729),8568=>array(70,0,772,729),8569=>array(15,0,534,540),8570=>array(15,0,716,729),8571=>array(15,0,994,729),8572=>array(65,0,205,729),8573=>array(40,-23,528,549),8574=>array(40,-23,556,729),8575=>array(65,0,829,549),8592=>array(39,70,925,394),8593=>array(320,-211,644,675),8594=>array(42,70,928,394),8595=>array(320,-211,644,675),8596=>array(39,70,925,394),8597=>array(320,-211,644,675),8598=>array(158,-111,826,556),8599=>array(139,-112,806,556),8600=>array(138,-92,806,575),8601=>array(158,-92,825,576),8602=>array(39,-60,925,522),8603=>array(39,-60,925,522),8606=>array(39,70,928,394),8607=>array(322,-212,646,677),8608=>array(39,70,928,394),8609=>array(322,-213,646,676),8610=>array(39,70,925,394),8611=>array(39,70,925,394),8612=>array(39,20,925,445),8613=>array(270,-211,695,675),8614=>array(39,20,925,445),8615=>array(269,-211,694,675),8616=>array(270,-221,694,745),8644=>array(39,-110,925,574),8645=>array(140,-211,824,675),8646=>array(39,-110,925,574),8647=>array(39,-110,925,574),8648=>array(140,-211,824,675),8649=>array(39,-110,925,574),8650=>array(140,-211,824,675),8704=>array(10,0,687,729),8705=>array(108,-139,608,861),8706=>array(32,-23,519,724),8707=>array(59,0,604,729),8708=>array(55,-60,604,802),8709=>array(49,-25,811,747),8710=>array(8,0,721,729),8711=>array(8,0,721,729),8712=>array(55,0,530,616),8713=>array(55,-50,530,685),8714=>array(45,1,505,469),8715=>array(55,-1,530,615),8716=>array(55,-60,530,675),8717=>array(80,-1,540,467),8718=>array(90,35,410,655),8719=>array(105,-183,717,732),8720=>array(105,-183,717,732),8721=>array(41,-195,744,729),8722=>array(50,172,533,291),8723=>array(51,1,534,661),8724=>array(50,1,533,674),8725=>array(0,-20,510,715),8726=>array(40,-20,412,544),8727=>array(16,66,485,537),8728=>array(63,111,436,483),8729=>array(100,170,400,470),8730=>array(7,-73,570,900),8731=>array(7,-73,570,900),8732=>array(7,-73,570,900),8733=>array(25,124,636,404),8734=>array(25,124,689,404),8735=>array(62,0,587,525),8736=>array(28,0,740,712),8739=>array(70,-14,150,676),8741=>array(70,-14,310,676),8743=>array(30,0,578,448),8744=>array(30,0,578,448),8745=>array(40,-1,732,508),8746=>array(40,-11,732,498),8747=>array(60,-246,468,767),8748=>array(60,-246,758,767),8749=>array(60,-246,1048,767),8756=>array(133,-46,665,425),8757=>array(135,51,667,522),8758=>array(50,-58,174,485),8759=>array(50,-58,544,485),8760=>array(50,172,533,455),8761=>array(50,-58,735,455),8762=>array(50,-30,533,505),8763=>array(20,-18,479,486),8764=>array(20,140,479,312),8768=>array(36,-22,208,437),8770=>array(53,10,536,397),8771=>array(50,84,533,471),8773=>array(50,-23,534,572),8776=>array(18,46,479,422),8778=>array(50,-25,533,505),8779=>array(20,-14,479,497),8784=>array(50,52,534,630),8785=>array(50,-127,534,586),8786=>array(50,-130,534,597),8787=>array(50,-124,534,595),8788=>array(64,-118,705,585),8789=>array(50,-120,705,575),8791=>array(50,55,534,669),8792=>array(50,55,534,645),8793=>array(50,55,534,677),8794=>array(50,55,534,679),8797=>array(35,55,577,741),8798=>array(50,55,534,715),8799=>array(50,55,534,818),8800=>array(50,-60,534,545),8801=>array(50,24,533,513),8804=>array(50,-38,539,611),8805=>array(50,-38,539,604),8806=>array(50,-181,539,684),8807=>array(50,-183,539,681),8810=>array(40,-10,976,474),8811=>array(50,-9,986,475),8818=>array(45,-60,534,639),8819=>array(40,-60,529,639),8834=>array(55,0,530,616),8835=>array(55,1,530,617),8836=>array(55,-60,530,675),8837=>array(54,-60,530,675),8838=>array(50,-57,533,734),8839=>array(50,-56,533,732),8853=>array(30,-28,746,688),8854=>array(30,-28,746,688),8855=>array(30,-28,746,688),8856=>array(30,-28,746,688),8857=>array(30,-28,746,688),8858=>array(30,-28,746,688),8859=>array(30,-28,746,688),8860=>array(30,-28,746,688),8861=>array(30,-28,746,688),8891=>array(20,20,568,607),8892=>array(30,0,578,620),8893=>array(18,0,566,636),8896=>array(30,0,714,668),8897=>array(30,0,714,668),8898=>array(61,-35,703,796),8899=>array(61,-82,703,749),8901=>array(72,286,226,443),8942=>array(59,-14,183,776),8943=>array(106,197,896,320),8944=>array(106,-13,895,776),8945=>array(105,-14,895,776),8968=>array(98,0,382,729),8969=>array(74,0,358,729),8970=>array(98,0,382,729),8971=>array(74,0,358,729),8976=>array(39,86,544,376),8994=>array(59,148,600,342),8995=>array(59,142,600,336),9001=>array(15,-198,334,746),9002=>array(25,-198,344,746),9251=>array(10,0,490,200),9674=>array(16,-26,518,744),9675=>array(20,-44,840,776),9676=>array(21,-44,839,776),9702=>array(50,151,350,451),9711=>array(10,-201,1010,799),9772=>array(12,-200,906,797),9824=>array(14,-20,611,782),9825=>array(15,-96,679,724),9826=>array(8,-56,587,748),9827=>array(15,-20,761,725),9828=>array(14,-20,611,782),9829=>array(15,-97,679,724),9830=>array(8,-56,587,748),9831=>array(15,-20,761,725),9833=>array(38,0,277,694),9834=>array(55,0,514,694),9835=>array(55,0,696,729),9836=>array(55,0,696,729),9837=>array(96,-36,457,730),9838=>array(130,-214,413,712),9839=>array(86,-197,460,762),10048=>array(31,-200,1023,796),10752=>array(10,-201,1010,799),10753=>array(10,-201,1010,799),10754=>array(9,-199,1008,801),11568=>array(36,-10,316,270),11569=>array(56,-16,816,744),11570=>array(56,-16,816,744),11571=>array(72,0,648,728),11572=>array(72,0,648,728),11573=>array(72,0,648,728),11574=>array(48,0,616,738),11575=>array(48,0,704,728),11576=>array(48,0,704,728),11577=>array(72,0,648,728),11578=>array(72,0,648,728),11579=>array(54,-10,542,728),11580=>array(72,0,626,728),11581=>array(72,0,670,728),11582=>array(72,-10,520,738),11583=>array(72,0,670,728),11584=>array(56,-16,816,744),11585=>array(56,-16,816,744),11586=>array(72,-20,240,748),11587=>array(72,0,648,728),11588=>array(60,0,636,728),11589=>array(72,0,648,728),11590=>array(52,44,532,532),11591=>array(72,0,670,728),11592=>array(54,270,742,458),11593=>array(58,0,555,728),11594=>array(48,0,624,728),11595=>array(60,-16,828,744),11596=>array(54,0,782,728),11597=>array(52,0,472,728),11598=>array(72,0,648,728),11599=>array(90,0,210,728),11600=>array(54,0,782,728),11601=>array(56,-244,244,728),11602=>array(63,-16,655,728),11603=>array(54,-10,334,738),11604=>array(56,-16,816,744),11605=>array(56,-16,816,744),11606=>array(60,0,636,728),11607=>array(60,-10,248,738),11608=>array(56,-10,584,738),11609=>array(56,-16,816,744),11610=>array(56,-16,816,744),11611=>array(56,-16,694,744),11612=>array(54,0,370,728),11613=>array(72,0,648,728),11614=>array(56,-16,694,744),11615=>array(72,0,648,728),11616=>array(48,0,661,728),11617=>array(72,0,648,728),11618=>array(25,-23,516,756),11619=>array(54,0,774,728),11620=>array(72,0,408,728),11621=>array(54,0,774,728),11631=>array(72,444,410,728),11798=>array(40,-53,529,665),11799=>array(40,118,290,447),11800=>array(24,-23,586,721),11802=>array(13,207,319,573),11803=>array(20,142,479,544),11806=>array(20,142,479,501),11807=>array(20,-12,479,314),11816=>array(20,-200,474,729),11817=>array(22,-200,476,729),11818=>array(29,3,624,554),11819=>array(15,59,603,475),11820=>array(15,41,603,457),11821=>array(21,5,643,603),11822=>array(64,0,556,744),42888=>array(11,-58,329,92),42889=>array(0,0,150,520),42890=>array(50,52,292,411),42891=>array(60,303,198,770),42892=>array(60,462,198,770),42922=>array(40,0,868,729),64256=>array(14,0,587,729),64257=>array(14,0,505,729),64258=>array(14,0,532,729),64259=>array(14,0,778,729),64260=>array(14,0,778,729),64261=>array(14,-23,602,729),64275=>array(65,-23,1173,729),64276=>array(65,-23,1176,729),64277=>array(65,-200,1168,729),64278=>array(65,-200,1173,729),64279=>array(65,-200,1383,729),64285=>array(73,136,212,600),64286=>array(0,660,306,813),64287=>array(73,138,470,600),64288=>array(86,0,579,600),64289=>array(61,0,900,600),64290=>array(63,0,816,600),64291=>array(79,0,862,600),64292=>array(76,0,784,600),64293=>array(62,0,845,750),64294=>array(80,0,863,600),64295=>array(63,0,780,600),64296=>array(62,0,935,600),64297=>array(50,172,533,473),64298=>array(76,0,766,721),64299=>array(76,0,766,721),64300=>array(76,0,766,721),64301=>array(76,0,766,721),64302=>array(61,-142,650,600),64303=>array(61,-248,650,600),64304=>array(61,-108,650,600),64305=>array(77,0,610,600),64306=>array(47,0,503,600),64307=>array(63,0,566,600),64308=>array(79,0,612,600),64309=>array(8,0,269,600),64310=>array(31,0,371,600),64312=>array(76,0,609,600),64313=>array(41,276,282,600),64314=>array(62,-200,520,600),64315=>array(76,0,534,600),64316=>array(62,0,595,750),64318=>array(67,0,633,600),64320=>array(73,0,359,600),64321=>array(76,0,609,600),64323=>array(72,-200,590,601),64324=>array(79,0,597,600),64326=>array(61,0,606,600),64327=>array(80,-200,599,600),64328=>array(63,0,530,600),64329=>array(76,0,766,600),64330=>array(62,0,685,600),64331=>array(79,0,218,742),64332=>array(77,0,610,742),64333=>array(76,0,534,742),64334=>array(79,0,597,742),64335=>array(83,0,650,750),65532=>array(46,-2,731,686),65533=>array(19,-63,882,800),65535=>array(35,-139,765,800)); +$cw=array(0=>800,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>250,40=>333,41=>333,42=>389,43=>584,44=>250,45=>333,46=>250,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>250,59=>250,60=>584,61=>584,62=>584,63=>611,64=>975,65=>697,66=>704,67=>721,68=>724,69=>665,70=>632,71=>769,72=>749,73=>310,74=>572,75=>728,76=>619,77=>870,78=>753,79=>782,80=>677,81=>782,82=>722,83=>681,84=>644,85=>738,86=>663,87=>959,88=>675,89=>643,90=>608,91=>333,92=>278,93=>333,94=>584,95=>556,96=>250,97=>566,98=>621,99=>558,100=>621,101=>583,102=>343,103=>612,104=>604,105=>280,106=>280,107=>564,108=>270,109=>894,110=>613,111=>614,112=>621,113=>621,114=>392,115=>556,116=>338,117=>613,118=>542,119=>781,120=>549,121=>549,122=>507,123=>389,124=>280,125=>389,126=>500,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>351,179=>351,180=>333,181=>611,182=>556,183=>278,184=>333,185=>300,186=>365,187=>556,188=>869,189=>869,190=>869,191=>611,192=>697,193=>697,194=>697,195=>697,196=>697,197=>697,198=>1015,199=>721,200=>665,201=>665,202=>665,203=>665,204=>310,205=>310,206=>310,207=>310,208=>741,209=>753,210=>782,211=>782,212=>782,213=>782,214=>782,215=>584,216=>783,217=>738,218=>738,219=>738,220=>738,221=>643,222=>677,223=>611,224=>566,225=>566,226=>566,227=>566,228=>566,229=>566,230=>889,231=>558,232=>583,233=>583,234=>583,235=>583,236=>280,237=>280,238=>300,239=>300,240=>614,241=>613,242=>614,243=>614,244=>614,245=>614,246=>614,247=>584,248=>614,249=>613,250=>613,251=>613,252=>613,253=>549,254=>621,255=>549,256=>697,257=>566,258=>697,259=>566,260=>717,261=>556,262=>721,263=>558,264=>721,265=>558,266=>721,267=>558,268=>721,269=>558,270=>724,271=>789,272=>741,273=>626,274=>665,275=>583,276=>665,277=>583,278=>665,279=>583,280=>665,281=>584,282=>665,283=>583,284=>769,285=>612,286=>769,287=>612,288=>769,289=>612,290=>769,291=>612,292=>749,293=>604,294=>729,295=>606,296=>310,297=>300,298=>310,299=>280,300=>310,301=>300,302=>310,303=>280,304=>310,305=>280,306=>622,307=>548,308=>572,309=>280,310=>728,311=>564,312=>559,313=>619,314=>270,315=>619,316=>270,317=>619,318=>442,319=>619,320=>440,321=>637,322=>278,323=>753,324=>613,325=>753,326=>613,327=>753,328=>613,329=>701,330=>752,331=>613,332=>782,333=>614,334=>782,335=>614,336=>782,337=>614,338=>1012,339=>977,340=>722,341=>392,342=>722,343=>392,344=>722,345=>392,346=>681,347=>556,348=>681,349=>556,350=>681,351=>556,352=>681,353=>556,354=>644,355=>333,356=>644,357=>481,358=>644,359=>333,360=>738,361=>613,362=>738,363=>613,364=>738,365=>613,366=>738,367=>613,368=>738,369=>613,370=>738,371=>611,372=>959,373=>781,374=>643,375=>549,376=>643,377=>608,378=>507,379=>608,380=>507,381=>608,382=>507,383=>333,384=>621,385=>903,386=>679,387=>636,388=>690,389=>653,390=>721,391=>754,392=>613,393=>741,394=>923,395=>722,396=>621,397=>622,398=>665,399=>782,400=>681,401=>611,402=>333,403=>786,404=>657,405=>949,406=>299,407=>433,408=>784,409=>564,410=>393,411=>600,412=>978,413=>748,414=>613,415=>782,416=>791,417=>658,418=>1076,419=>847,420=>876,421=>621,422=>647,423=>681,424=>561,425=>676,426=>441,427=>333,428=>715,429=>333,430=>624,431=>773,432=>666,433=>799,434=>722,435=>839,436=>643,437=>611,438=>500,439=>567,440=>556,441=>645,442=>569,443=>579,446=>572,447=>627,448=>260,449=>400,450=>584,451=>278,452=>1300,453=>1204,454=>1111,455=>1183,456=>855,457=>556,458=>1294,459=>1000,460=>889,461=>697,462=>566,463=>310,464=>300,465=>782,466=>614,467=>738,468=>613,469=>738,470=>613,471=>738,472=>613,473=>738,474=>613,475=>738,476=>613,477=>583,478=>697,479=>566,480=>697,481=>566,482=>1005,483=>889,484=>804,485=>652,486=>769,487=>612,488=>728,489=>564,490=>782,491=>611,492=>782,493=>611,494=>567,495=>562,496=>300,497=>1333,498=>1222,499=>1111,500=>769,501=>612,503=>659,504=>753,505=>613,506=>697,507=>566,508=>1015,509=>889,510=>783,511=>614,512=>697,513=>566,514=>697,515=>566,516=>665,517=>583,518=>665,519=>583,520=>310,521=>300,522=>310,523=>280,524=>782,525=>614,526=>782,527=>614,528=>722,529=>392,530=>722,531=>392,532=>738,533=>613,534=>738,535=>613,536=>681,537=>556,538=>644,539=>338,540=>586,541=>484,542=>749,543=>604,548=>611,549=>500,550=>697,551=>566,552=>655,553=>583,554=>782,555=>614,556=>782,557=>614,558=>782,559=>614,560=>782,561=>614,562=>643,563=>549,567=>280,592=>566,593=>687,594=>687,595=>621,596=>558,597=>573,598=>636,599=>636,600=>583,601=>583,602=>834,603=>571,604=>561,605=>820,606=>570,607=>316,608=>625,609=>617,610=>579,611=>556,612=>654,613=>613,614=>603,615=>604,616=>300,617=>285,618=>300,619=>473,620=>527,621=>285,622=>744,623=>894,624=>895,625=>894,626=>628,627=>628,628=>625,629=>614,630=>894,631=>848,632=>714,633=>389,634=>386,635=>406,636=>386,637=>386,638=>473,639=>473,640=>586,641=>581,642=>609,643=>333,644=>331,645=>313,646=>553,647=>328,648=>315,649=>643,650=>728,651=>635,652=>542,653=>781,654=>549,655=>542,656=>551,657=>591,658=>562,659=>593,660=>572,661=>572,662=>572,663=>586,664=>614,665=>563,666=>590,667=>616,668=>613,669=>552,670=>588,671=>454,672=>636,673=>572,674=>572,675=>1004,676=>1029,677=>1117,678=>807,679=>583,680=>824,681=>871,682=>753,683=>668,684=>525,685=>486,686=>659,687=>679,688=>377,689=>377,690=>202,691=>272,692=>272,693=>299,694=>395,695=>534,696=>364,697=>250,698=>454,699=>250,700=>250,701=>250,702=>333,703=>333,704=>333,705=>333,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>333,713=>333,714=>250,715=>250,716=>272,717=>333,718=>333,719=>250,720=>333,721=>333,722=>333,723=>333,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,735=>510,736=>372,737=>210,738=>363,739=>373,740=>334,741=>526,742=>526,743=>526,744=>526,745=>526,746=>519,747=>519,748=>333,749=>333,750=>500,751=>333,752=>333,753=>333,754=>333,755=>333,756=>250,757=>400,758=>400,759=>400,760=>333,761=>200,762=>200,763=>200,764=>200,765=>333,766=>333,767=>333,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,884=>379,885=>379,890=>333,894=>333,900=>363,901=>333,902=>697,903=>333,904=>802,905=>878,906=>430,908=>800,910=>958,911=>861,912=>341,913=>697,914=>673,915=>634,916=>744,917=>655,918=>608,919=>749,920=>796,921=>310,922=>728,923=>713,924=>910,925=>774,926=>684,927=>782,928=>770,929=>716,931=>676,932=>658,933=>761,934=>789,935=>784,936=>832,937=>799,938=>310,939=>771,940=>632,941=>571,942=>598,943=>356,944=>608,945=>632,946=>600,947=>573,948=>622,949=>571,950=>512,951=>598,952=>595,953=>341,954=>567,955=>589,956=>613,957=>566,958=>539,959=>614,960=>658,961=>634,962=>593,963=>662,964=>557,965=>608,966=>788,967=>631,968=>728,969=>798,970=>341,971=>608,972=>614,973=>608,974=>798,977=>609,978=>742,979=>917,980=>744,981=>714,982=>798,983=>642,1008=>642,1009=>614,1012=>782,1013=>358,1024=>655,1025=>655,1026=>824,1027=>612,1028=>721,1029=>681,1030=>310,1031=>310,1032=>572,1033=>1078,1034=>1116,1035=>824,1036=>728,1037=>753,1038=>701,1039=>750,1040=>697,1041=>704,1042=>704,1043=>612,1044=>900,1045=>655,1046=>1076,1047=>681,1048=>753,1049=>753,1050=>728,1051=>711,1052=>870,1053=>749,1054=>782,1055=>749,1056=>677,1057=>721,1058=>644,1059=>701,1060=>912,1061=>651,1062=>809,1063=>706,1064=>1059,1065=>1139,1066=>847,1067=>976,1068=>677,1069=>721,1070=>1095,1071=>701,1072=>566,1073=>595,1074=>563,1075=>428,1076=>679,1077=>583,1078=>782,1079=>571,1080=>625,1081=>625,1082=>559,1083=>573,1084=>676,1085=>613,1086=>614,1087=>613,1088=>621,1089=>558,1090=>440,1091=>549,1092=>972,1093=>539,1094=>654,1095=>573,1096=>896,1097=>970,1098=>703,1099=>788,1100=>577,1101=>568,1102=>857,1103=>581,1104=>583,1105=>583,1106=>631,1107=>428,1108=>568,1109=>555,1110=>280,1111=>300,1112=>270,1113=>893,1114=>907,1115=>629,1116=>559,1117=>625,1118=>549,1119=>614,1120=>986,1121=>736,1136=>832,1137=>758,1138=>782,1139=>606,1148=>942,1149=>736,1150=>986,1151=>736,1154=>449,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>832,1163=>675,1164=>682,1165=>611,1166=>677,1167=>612,1168=>636,1169=>440,1170=>622,1171=>449,1172=>647,1173=>574,1174=>1096,1175=>803,1176=>683,1177=>555,1178=>759,1179=>573,1180=>730,1181=>554,1182=>737,1183=>555,1184=>892,1185=>680,1186=>825,1187=>653,1188=>999,1189=>763,1190=>1105,1191=>925,1192=>963,1193=>766,1194=>722,1195=>558,1196=>614,1197=>438,1198=>643,1199=>573,1200=>643,1201=>603,1202=>670,1203=>548,1204=>952,1205=>738,1206=>781,1207=>615,1208=>698,1209=>588,1210=>687,1211=>588,1212=>993,1213=>761,1214=>993,1215=>761,1216=>314,1217=>1076,1218=>782,1219=>697,1220=>543,1221=>793,1222=>634,1223=>753,1224=>603,1225=>819,1226=>663,1227=>706,1228=>588,1229=>935,1230=>720,1231=>314,1232=>697,1233=>566,1234=>697,1235=>566,1236=>1004,1237=>898,1238=>655,1239=>583,1240=>722,1241=>583,1242=>722,1243=>583,1244=>1076,1245=>782,1246=>681,1247=>571,1248=>567,1249=>552,1250=>753,1251=>625,1252=>753,1253=>625,1254=>782,1255=>614,1256=>782,1257=>606,1258=>782,1259=>606,1260=>721,1261=>568,1262=>700,1263=>544,1264=>701,1265=>539,1266=>700,1267=>537,1268=>706,1269=>573,1270=>611,1271=>432,1272=>976,1273=>788,1296=>672,1297=>546,1298=>729,1299=>577,1306=>782,1307=>621,1308=>959,1309=>776,1310=>730,1311=>554,1329=>730,1330=>713,1331=>765,1332=>752,1333=>708,1334=>801,1335=>496,1336=>713,1337=>855,1338=>686,1339=>727,1340=>420,1341=>897,1342=>841,1343=>708,1344=>660,1345=>666,1346=>747,1347=>698,1348=>757,1349=>630,1350=>747,1351=>651,1352=>743,1353=>657,1354=>728,1355=>799,1356=>752,1357=>743,1358=>768,1359=>691,1360=>713,1361=>640,1362=>425,1363=>818,1364=>672,1365=>805,1366=>754,1369=>333,1370=>222,1371=>250,1372=>333,1373=>333,1374=>352,1375=>362,1377=>873,1378=>613,1379=>634,1380=>636,1381=>593,1382=>639,1383=>417,1384=>613,1385=>658,1386=>711,1387=>609,1388=>318,1389=>836,1390=>670,1391=>613,1392=>607,1393=>611,1394=>626,1395=>619,1396=>618,1397=>324,1398=>613,1399=>540,1400=>591,1401=>392,1402=>873,1403=>577,1404=>603,1405=>600,1406=>626,1407=>951,1408=>613,1409=>612,1410=>348,1411=>951,1412=>616,1413=>606,1414=>763,1415=>626,1417=>250,1418=>398,1423=>752,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1467=>0,1468=>0,1469=>0,1470=>516,1471=>0,1472=>297,1473=>0,1474=>0,1475=>333,1476=>0,1488=>714,1489=>651,1490=>557,1491=>638,1492=>682,1493=>297,1494=>443,1495=>682,1496=>670,1497=>284,1498=>590,1499=>595,1500=>667,1501=>683,1502=>704,1503=>297,1504=>429,1505=>670,1506=>653,1507=>661,1508=>660,1509=>616,1510=>671,1511=>672,1512=>600,1513=>840,1514=>756,1520=>554,1521=>550,1522=>542,1523=>238,1524=>474,2304=>0,2305=>0,2306=>0,2307=>305,2308=>737,2309=>737,2310=>928,2311=>504,2312=>504,2313=>622,2314=>844,2315=>961,2316=>681,2317=>473,2318=>473,2319=>473,2320=>473,2321=>928,2322=>928,2323=>928,2324=>928,2325=>789,2326=>820,2327=>562,2328=>630,2329=>770,2330=>660,2331=>684,2332=>743,2333=>732,2334=>720,2335=>608,2336=>571,2337=>651,2338=>578,2339=>648,2340=>604,2341=>700,2342=>540,2343=>633,2344=>608,2345=>608,2346=>519,2347=>773,2348=>532,2349=>618,2350=>558,2351=>596,2352=>475,2353=>475,2354=>696,2355=>701,2356=>701,2357=>532,2358=>686,2359=>519,2360=>707,2361=>526,2362=>0,2363=>266,2364=>0,2365=>482,2366=>266,2367=>266,2368=>266,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>266,2378=>266,2379=>266,2380=>266,2381=>0,2382=>189,2383=>266,2384=>879,2385=>0,2386=>0,2387=>0,2388=>0,2389=>0,2390=>0,2391=>0,2392=>789,2393=>820,2394=>562,2395=>743,2396=>651,2397=>578,2398=>773,2399=>596,2400=>940,2401=>666,2402=>0,2403=>0,2404=>674,2405=>674,2406=>575,2407=>575,2408=>575,2409=>575,2410=>575,2411=>575,2412=>575,2413=>575,2414=>575,2415=>575,2416=>365,2417=>387,2418=>737,2419=>737,2420=>928,2421=>888,2422=>737,2423=>737,2425=>743,2426=>596,2427=>608,2428=>743,2429=>615,2430=>651,2431=>532,2561=>0,2562=>0,2563=>313,2565=>897,2566=>1157,2567=>930,2568=>966,2569=>762,2570=>762,2575=>729,2576=>904,2579=>773,2580=>903,2581=>726,2582=>672,2583=>741,2584=>790,2585=>702,2586=>723,2587=>693,2588=>688,2589=>673,2590=>683,2591=>686,2592=>711,2593=>680,2594=>693,2595=>729,2596=>691,2597=>694,2598=>699,2599=>666,2600=>669,2602=>683,2603=>690,2604=>660,2605=>659,2606=>692,2607=>772,2608=>673,2610=>731,2611=>814,2613=>663,2614=>704,2616=>702,2617=>650,2620=>0,2622=>307,2623=>304,2624=>306,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2641=>0,2649=>684,2650=>813,2651=>715,2652=>695,2654=>709,2662=>697,2663=>630,2664=>696,2665=>690,2666=>646,2667=>636,2668=>571,2669=>682,2670=>718,2671=>730,2672=>0,2673=>0,2674=>722,2675=>760,2676=>1110,2677=>0,4256=>616,4257=>645,4258=>664,4259=>839,4260=>627,4261=>630,4262=>827,4263=>928,4264=>639,4265=>630,4266=>951,4267=>606,4268=>608,4269=>835,4270=>630,4271=>610,4272=>804,4273=>615,4274=>823,4275=>747,4276=>870,4277=>627,4278=>840,4279=>627,4280=>665,4281=>610,4282=>799,4283=>598,4284=>665,4285=>664,4286=>608,4287=>886,4288=>629,4304=>463,4305=>516,4306=>564,4307=>706,4308=>459,4309=>476,4310=>623,4311=>711,4312=>494,4313=>476,4314=>894,4315=>500,4316=>500,4317=>712,4318=>493,4319=>503,4320=>712,4321=>503,4322=>710,4323=>670,4324=>707,4325=>459,4326=>691,4327=>465,4328=>492,4329=>480,4330=>656,4331=>500,4332=>492,4333=>524,4334=>500,4335=>688,4336=>510,4337=>739,4338=>450,4339=>479,4340=>502,4341=>501,4345=>564,4347=>515,4348=>449,5024=>714,5025=>731,5026=>624,5027=>908,5028=>1040,5029=>271,5030=>654,5031=>863,5032=>604,5033=>791,5034=>714,5035=>522,5036=>661,5037=>926,5038=>615,5039=>811,5040=>538,5041=>633,5042=>979,5043=>964,5044=>635,5045=>607,5046=>753,5047=>831,5048=>566,5049=>977,5050=>958,5051=>710,5052=>616,5053=>834,5054=>790,5055=>612,5056=>766,5057=>857,5058=>627,5059=>649,5060=>607,5061=>1127,5062=>680,5063=>920,5064=>928,5065=>1333,5066=>920,5067=>705,5068=>695,5069=>1074,5070=>672,5071=>672,5072=>667,5073=>819,5074=>679,5075=>575,5076=>903,5077=>652,5078=>776,5079=>643,5080=>670,5081=>660,5082=>648,5083=>934,5084=>909,5085=>613,5086=>615,5087=>735,5088=>900,5089=>1024,5090=>647,5091=>760,5092=>829,5093=>824,5094=>756,5095=>625,5096=>981,5097=>1014,5098=>1040,5099=>790,5100=>926,5101=>686,5102=>656,5103=>920,5104=>741,5105=>890,5106=>626,5107=>974,5108=>699,7680=>697,7681=>566,7682=>704,7683=>621,7684=>704,7685=>621,7686=>704,7687=>621,7688=>721,7689=>558,7690=>724,7691=>621,7692=>724,7693=>621,7694=>724,7695=>621,7696=>724,7697=>621,7698=>724,7699=>621,7700=>665,7701=>583,7702=>665,7703=>583,7704=>665,7705=>583,7706=>665,7707=>583,7708=>655,7709=>583,7710=>632,7711=>343,7712=>769,7713=>612,7714=>749,7715=>604,7716=>749,7717=>604,7718=>749,7719=>604,7720=>752,7721=>604,7722=>749,7723=>604,7724=>310,7725=>280,7726=>310,7727=>300,7728=>728,7729=>564,7730=>728,7731=>564,7732=>728,7733=>564,7734=>619,7735=>270,7736=>619,7737=>270,7738=>619,7739=>270,7740=>619,7741=>270,7742=>870,7743=>894,7744=>870,7745=>894,7746=>870,7747=>894,7748=>753,7749=>613,7750=>753,7751=>613,7752=>753,7753=>613,7754=>753,7755=>613,7756=>782,7757=>614,7758=>782,7759=>614,7760=>782,7761=>614,7762=>782,7763=>614,7764=>677,7765=>621,7766=>677,7767=>621,7768=>722,7769=>392,7770=>722,7771=>392,7772=>722,7773=>392,7774=>722,7775=>392,7776=>681,7777=>556,7778=>681,7779=>556,7780=>681,7781=>556,7782=>681,7783=>556,7784=>681,7785=>556,7786=>644,7787=>338,7788=>644,7789=>338,7790=>644,7791=>338,7792=>644,7793=>338,7794=>738,7795=>613,7796=>738,7797=>613,7798=>738,7799=>613,7800=>738,7801=>613,7802=>738,7803=>613,7804=>663,7805=>542,7806=>663,7807=>542,7808=>959,7809=>781,7810=>959,7811=>781,7812=>959,7813=>781,7814=>959,7815=>781,7816=>959,7817=>781,7818=>675,7819=>549,7820=>675,7821=>549,7822=>643,7823=>549,7824=>608,7825=>507,7826=>608,7827=>507,7828=>608,7829=>507,7830=>604,7831=>338,7832=>781,7833=>549,7834=>555,7835=>333,7838=>741,7840=>697,7841=>566,7842=>697,7843=>566,7844=>697,7845=>566,7846=>697,7847=>566,7848=>697,7849=>566,7850=>697,7851=>566,7852=>697,7853=>566,7854=>697,7855=>566,7856=>697,7857=>566,7858=>697,7859=>566,7860=>697,7861=>566,7862=>697,7863=>566,7864=>665,7865=>583,7866=>665,7867=>583,7868=>665,7869=>583,7870=>665,7871=>583,7872=>665,7873=>583,7874=>665,7875=>583,7876=>665,7877=>583,7878=>665,7879=>583,7880=>310,7881=>280,7882=>310,7883=>280,7884=>782,7885=>614,7886=>782,7887=>614,7888=>782,7889=>614,7890=>782,7891=>614,7892=>782,7893=>614,7894=>782,7895=>614,7896=>782,7897=>614,7898=>791,7899=>658,7900=>791,7901=>658,7902=>791,7903=>658,7904=>791,7905=>658,7906=>791,7907=>658,7908=>738,7909=>613,7910=>738,7911=>613,7912=>773,7913=>666,7914=>773,7915=>666,7916=>773,7917=>666,7918=>773,7919=>666,7920=>773,7921=>666,7922=>643,7923=>549,7924=>643,7925=>549,7926=>643,7927=>549,7928=>643,7929=>549,7936=>632,7937=>632,7938=>632,7939=>632,7940=>632,7941=>632,7942=>632,7943=>632,7944=>697,7945=>697,7946=>865,7947=>849,7948=>796,7949=>807,7950=>730,7951=>750,7952=>571,7953=>571,7954=>571,7955=>571,7956=>571,7957=>571,7960=>758,7961=>760,7962=>957,7963=>943,7964=>939,7965=>945,7968=>598,7969=>598,7970=>598,7971=>598,7972=>598,7973=>598,7974=>598,7975=>598,7976=>843,7977=>846,7978=>1041,7979=>1032,7980=>1027,7981=>1039,7982=>933,7983=>944,7984=>341,7985=>341,7986=>393,7987=>395,7988=>398,7989=>392,7990=>390,7991=>404,7992=>423,7993=>423,7994=>601,7995=>601,7996=>597,7997=>591,7998=>539,7999=>539,8000=>614,8001=>614,8002=>614,8003=>614,8004=>614,8005=>614,8008=>864,8009=>865,8010=>1058,8011=>1053,8012=>1019,8013=>1027,8016=>608,8017=>608,8018=>608,8019=>608,8020=>608,8021=>608,8022=>608,8023=>608,8025=>896,8027=>1100,8029=>1115,8031=>1027,8032=>798,8033=>798,8034=>798,8035=>798,8036=>798,8037=>798,8038=>798,8039=>798,8040=>876,8041=>879,8042=>1071,8043=>1071,8044=>1031,8045=>1044,8046=>1001,8047=>989,8048=>632,8049=>632,8050=>571,8051=>571,8052=>598,8053=>598,8054=>341,8055=>341,8056=>610,8057=>610,8058=>608,8059=>608,8060=>798,8061=>798,8064=>632,8065=>632,8066=>632,8067=>632,8068=>632,8069=>632,8070=>632,8071=>632,8072=>909,8073=>906,8074=>1071,8075=>1045,8076=>994,8077=>1004,8078=>920,8079=>926,8080=>598,8081=>598,8082=>598,8083=>598,8084=>598,8085=>598,8086=>598,8087=>598,8088=>1006,8089=>1015,8090=>1204,8091=>1207,8092=>1198,8093=>1209,8094=>1096,8095=>1115,8096=>798,8097=>798,8098=>798,8099=>798,8100=>798,8101=>798,8102=>798,8103=>798,8104=>1074,8105=>1068,8106=>1261,8107=>1260,8108=>1220,8109=>1237,8110=>1196,8111=>1192,8112=>642,8113=>642,8114=>642,8115=>642,8116=>642,8118=>642,8119=>642,8120=>697,8121=>697,8122=>697,8123=>697,8124=>907,8125=>278,8126=>346,8127=>278,8128=>354,8129=>333,8130=>598,8131=>598,8132=>598,8134=>598,8135=>598,8136=>792,8137=>789,8138=>884,8139=>881,8140=>908,8141=>492,8142=>489,8143=>394,8144=>361,8145=>360,8146=>373,8147=>364,8150=>379,8151=>392,8152=>310,8153=>310,8154=>455,8155=>445,8157=>481,8158=>589,8159=>333,8160=>608,8161=>608,8162=>608,8163=>608,8164=>634,8165=>634,8166=>608,8167=>608,8168=>761,8169=>761,8170=>948,8171=>972,8172=>822,8173=>333,8174=>333,8175=>333,8178=>798,8179=>798,8180=>798,8182=>798,8183=>798,8184=>913,8185=>873,8186=>916,8187=>894,8188=>988,8189=>333,8190=>278,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>167,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>556,8211=>556,8212=>1000,8213=>1000,8214=>437,8215=>556,8216=>250,8217=>250,8218=>260,8219=>250,8220=>450,8221=>450,8222=>450,8223=>450,8224=>556,8225=>556,8226=>400,8227=>400,8228=>500,8229=>500,8230=>750,8231=>278,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>167,8240=>1000,8241=>1367,8242=>250,8243=>426,8244=>614,8245=>250,8246=>426,8247=>614,8248=>450,8249=>333,8250=>333,8251=>622,8252=>666,8253=>614,8254=>556,8255=>658,8256=>658,8257=>438,8258=>840,8259=>400,8260=>167,8261=>334,8262=>334,8263=>1222,8264=>944,8265=>944,8266=>556,8267=>537,8268=>600,8269=>600,8270=>389,8271=>333,8272=>658,8273=>389,8274=>634,8275=>568,8276=>658,8277=>793,8278=>515,8279=>855,8280=>722,8281=>725,8282=>224,8283=>722,8284=>604,8285=>224,8286=>224,8287=>0,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>351,8305=>200,8308=>351,8309=>351,8310=>351,8311=>351,8312=>351,8313=>351,8314=>351,8315=>351,8316=>351,8317=>216,8318=>218,8319=>391,8320=>351,8321=>301,8322=>351,8323=>351,8324=>351,8325=>351,8326=>351,8327=>351,8328=>351,8329=>351,8330=>350,8331=>350,8332=>350,8333=>216,8334=>216,8336=>363,8337=>366,8338=>394,8339=>360,8340=>355,8355=>611,8356=>591,8357=>889,8358=>727,8360=>1265,8362=>1049,8363=>580,8364=>640,8368=>605,8373=>591,8376=>612,8377=>599,8400=>0,8401=>0,8402=>0,8403=>0,8406=>0,8407=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8421=>0,8422=>0,8423=>0,8424=>0,8425=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8432=>0,8448=>945,8449=>968,8451=>1033,8453=>981,8454=>1002,8455=>667,8456=>721,8457=>919,8462=>604,8465=>666,8467=>608,8468=>881,8470=>999,8471=>880,8476=>749,8480=>1000,8481=>1320,8482=>940,8486=>799,8487=>799,8489=>346,8490=>728,8491=>697,8494=>583,8498=>612,8501=>644,8502=>573,8503=>557,8504=>638,8506=>871,8507=>1431,8513=>769,8514=>619,8515=>611,8516=>643,8523=>669,8525=>1281,8526=>482,8531=>869,8532=>869,8533=>869,8534=>869,8535=>869,8536=>869,8537=>869,8538=>869,8539=>869,8540=>869,8541=>869,8542=>869,8543=>869,8544=>310,8545=>568,8546=>866,8547=>901,8548=>663,8549=>887,8550=>1195,8551=>1473,8552=>925,8553=>675,8554=>927,8555=>1195,8556=>619,8557=>721,8558=>724,8559=>870,8560=>280,8561=>556,8562=>834,8563=>800,8564=>542,8565=>786,8566=>1064,8567=>1342,8568=>794,8569=>549,8570=>786,8571=>1064,8572=>270,8573=>558,8574=>621,8575=>894,8592=>964,8593=>964,8594=>964,8595=>964,8596=>964,8597=>964,8598=>964,8599=>964,8600=>964,8601=>964,8602=>964,8603=>964,8606=>964,8607=>964,8608=>964,8609=>964,8610=>964,8611=>964,8612=>964,8613=>964,8614=>964,8615=>964,8616=>964,8644=>964,8645=>964,8646=>964,8647=>964,8648=>964,8649=>964,8650=>964,8704=>697,8705=>716,8706=>556,8707=>667,8708=>667,8709=>860,8710=>729,8711=>729,8712=>584,8713=>584,8714=>585,8715=>584,8716=>584,8717=>585,8718=>500,8719=>823,8720=>823,8721=>806,8722=>584,8723=>584,8724=>584,8725=>510,8726=>452,8727=>500,8728=>500,8729=>500,8730=>594,8731=>549,8732=>549,8733=>713,8734=>713,8735=>639,8736=>800,8739=>220,8741=>380,8743=>608,8744=>608,8745=>768,8746=>768,8747=>518,8748=>808,8749=>1098,8756=>797,8757=>800,8758=>250,8759=>620,8760=>584,8761=>778,8762=>584,8763=>500,8764=>500,8768=>244,8770=>584,8771=>584,8773=>584,8776=>500,8778=>584,8779=>500,8784=>584,8785=>584,8786=>584,8787=>584,8788=>755,8789=>755,8791=>584,8792=>584,8793=>584,8794=>584,8797=>614,8798=>584,8799=>584,8800=>584,8801=>584,8804=>583,8805=>584,8806=>584,8807=>584,8810=>1026,8811=>1026,8818=>584,8819=>584,8834=>584,8835=>584,8836=>584,8837=>584,8838=>584,8839=>584,8853=>776,8854=>776,8855=>776,8856=>776,8857=>778,8858=>776,8859=>776,8860=>776,8861=>776,8891=>584,8892=>608,8893=>584,8896=>744,8897=>744,8898=>764,8899=>764,8901=>298,8942=>250,8943=>1000,8944=>1000,8945=>1000,8968=>456,8969=>456,8970=>456,8971=>456,8976=>584,8994=>658,8995=>658,9001=>359,9002=>359,9251=>500,9674=>541,9675=>860,9676=>860,9702=>400,9711=>1020,9772=>923,9824=>626,9825=>694,9826=>595,9827=>776,9828=>626,9829=>694,9830=>595,9831=>776,9833=>333,9834=>556,9835=>778,9836=>778,9837=>556,9838=>556,9839=>556,10048=>1453,10752=>1020,10753=>1020,10754=>1020,11568=>352,11569=>872,11570=>872,11571=>720,11572=>720,11573=>720,11574=>664,11575=>752,11576=>752,11577=>720,11578=>720,11579=>596,11580=>698,11581=>742,11582=>574,11583=>742,11584=>872,11585=>872,11586=>312,11587=>720,11588=>696,11589=>720,11590=>584,11591=>742,11592=>796,11593=>613,11594=>672,11595=>888,11596=>836,11597=>524,11598=>720,11599=>300,11600=>836,11601=>300,11602=>718,11603=>388,11604=>872,11605=>872,11606=>696,11607=>308,11608=>640,11609=>872,11610=>872,11611=>762,11612=>424,11613=>720,11614=>762,11615=>720,11616=>709,11617=>720,11618=>541,11619=>828,11620=>454,11621=>828,11631=>482,11798=>584,11799=>333,11800=>611,11802=>333,11803=>500,11806=>500,11807=>500,11816=>504,11817=>504,11818=>660,11819=>623,11820=>623,11821=>660,11822=>611,42888=>333,42889=>276,42890=>342,42891=>258,42892=>258,42922=>948,64256=>607,64257=>575,64258=>602,64259=>848,64260=>848,64261=>627,64275=>1243,64276=>1226,64277=>1233,64278=>1238,64279=>1448,64285=>284,64286=>305,64287=>542,64288=>653,64289=>964,64290=>888,64291=>932,64292=>845,64293=>917,64294=>933,64295=>850,64296=>1006,64297=>584,64298=>840,64299=>840,64300=>840,64301=>840,64302=>714,64303=>714,64304=>714,64305=>651,64306=>557,64307=>638,64308=>682,64309=>348,64310=>443,64312=>670,64313=>354,64314=>590,64315=>595,64316=>667,64318=>704,64320=>429,64321=>670,64323=>661,64324=>660,64326=>671,64327=>672,64328=>600,64329=>840,64330=>756,64331=>297,64332=>591,64333=>550,64334=>568,64335=>714,65529=>0,65530=>0,65531=>0,65532=>800,65533=>900,65535=>800); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansb.z b/vendor/tecnickcom/tcpdf/fonts/freesansb.z new file mode 100644 index 0000000..ea001a1 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesansb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansbi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freesansbi.ctg.z new file mode 100644 index 0000000..8acd694 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesansbi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansbi.php b/vendor/tecnickcom/tcpdf/fonts/freesansbi.php new file mode 100644 index 0000000..299dc0a --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freesansbi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-908 -313 1591 1076]','ItalicAngle'=>-12,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>729,'XHeight'=>540,'StemV'=>105,'StemH'=>45,'AvgWidth'=>639,'MaxWidth'=>1501,'MissingWidth'=>800); +$cbbox=array(0=>array(-5,-139,925,800),33=>array(112,0,417,726),34=>array(177,470,579,729),35=>array(33,-32,660,697),36=>array(59,-126,628,763),37=>array(129,-20,903,709),38=>array(89,-23,720,723),39=>array(177,470,343,729),40=>array(84,-200,458,729),41=>array(-21,-200,353,729),42=>array(145,407,478,729),43=>array(87,-10,596,473),44=>array(27,-174,245,146),45=>array(70,207,371,342),46=>array(64,0,245,146),47=>array(-1,-14,427,714),48=>array(81,-23,614,724),49=>array(172,0,529,709),50=>array(30,0,628,724),51=>array(67,-23,613,724),52=>array(57,0,599,709),53=>array(59,-23,641,709),54=>array(85,-23,625,724),55=>array(131,0,679,709),56=>array(60,-23,620,724),57=>array(68,-23,611,724),58=>array(113,0,374,520),59=>array(76,-174,374,520),60=>array(77,-10,630,474),61=>array(61,52,622,412),62=>array(38,-10,591,474),63=>array(168,0,672,744),64=>array(74,-138,1032,745),65=>array(26,0,703,729),66=>array(82,0,762,729),67=>array(107,-23,793,741),68=>array(77,0,776,729),69=>array(79,0,762,729),70=>array(74,0,741,729),71=>array(107,-23,819,741),72=>array(68,0,812,729),73=>array(63,0,368,729),74=>array(59,-23,641,729),75=>array(74,0,843,729),76=>array(80,0,606,729),77=>array(66,0,931,729),78=>array(68,0,816,729),79=>array(106,-23,828,741),80=>array(76,0,747,729),81=>array(109,-54,831,741),82=>array(80,0,785,729),83=>array(76,-23,725,741),84=>array(142,0,753,729),85=>array(119,-23,809,729),86=>array(179,0,802,729),87=>array(168,0,1087,729),88=>array(22,0,802,729),89=>array(182,0,805,729),90=>array(30,0,733,729),91=>array(23,-200,463,729),92=>array(138,-23,285,709),93=>array(-25,-200,415,729),94=>array(119,270,580,695),95=>array(-65,-200,552,-120),96=>array(175,607,339,757),97=>array(50,-23,578,549),98=>array(59,-23,640,729),99=>array(77,-23,597,549),100=>array(79,-23,700,729),101=>array(64,-23,591,549),102=>array(90,0,464,729),103=>array(26,-218,656,549),104=>array(67,0,629,729),105=>array(67,0,362,729),106=>array(-43,-218,365,729),107=>array(59,0,651,729),108=>array(67,0,362,729),109=>array(60,0,911,549),110=>array(63,0,629,549),111=>array(82,-23,634,549),112=>array(11,-218,637,549),113=>array(72,-218,659,549),114=>array(63,0,487,549),115=>array(60,-23,589,549),116=>array(101,-23,414,674),117=>array(88,-23,656,540),118=>array(129,0,651,540),119=>array(120,0,881,540),120=>array(16,0,648,540),121=>array(37,-219,653,540),122=>array(21,0,575,540),123=>array(84,-200,472,729),124=>array(57,-200,335,729),125=>array(31,-200,419,729),126=>array(97,142,581,314),160=>array(0,0,0,0),161=>array(26,-186,331,540),162=>array(79,-124,598,634),163=>array(49,-23,629,715),164=>array(66,100,644,604),165=>array(107,0,702,704),166=>array(57,-200,335,729),167=>array(56,-201,596,723),168=>array(142,621,474,741),169=>array(54,-22,837,743),170=>array(96,262,451,729),171=>array(135,72,571,481),172=>array(103,86,632,376),173=>array(70,207,371,342),174=>array(55,-22,837,743),175=>array(147,622,464,702),176=>array(240,383,543,686),177=>array(50,0,630,633),178=>array(82,390,457,824),179=>array(117,371,460,818),180=>array(247,607,475,757),181=>array(-44,-194,629,543),182=>array(121,-191,684,729),183=>array(143,182,270,282),184=>array(-13,-220,270,0),185=>array(165,390,393,815),186=>array(92,262,471,729),187=>array(103,72,533,481),188=>array(152,-20,890,743),189=>array(157,-20,915,743),190=>array(124,-20,887,742),191=>array(52,-204,556,540),192=>array(26,0,703,924),193=>array(26,0,703,930),194=>array(26,0,703,936),195=>array(26,0,740,923),196=>array(26,0,714,921),197=>array(26,0,703,953),198=>array(1,0,1104,729),199=>array(107,-220,793,741),200=>array(79,0,762,923),201=>array(79,0,762,930),202=>array(79,0,762,936),203=>array(79,0,762,921),204=>array(63,0,368,926),205=>array(63,0,461,930),206=>array(63,0,467,936),207=>array(63,0,487,921),208=>array(73,0,776,729),209=>array(68,0,816,923),210=>array(106,-23,828,926),211=>array(106,-23,828,930),212=>array(106,-23,828,937),213=>array(106,-23,828,923),214=>array(106,-23,828,921),215=>array(102,18,582,444),216=>array(34,-39,906,749),217=>array(119,-23,809,925),218=>array(119,-23,809,930),219=>array(119,-23,809,936),220=>array(119,-23,809,921),221=>array(182,0,805,930),222=>array(76,0,721,729),223=>array(67,-23,663,729),224=>array(50,-23,578,757),225=>array(50,-23,578,757),226=>array(50,-23,578,756),227=>array(50,-23,604,731),228=>array(50,-23,588,739),229=>array(50,-23,578,774),230=>array(54,-23,927,549),231=>array(77,-220,597,549),232=>array(64,-23,591,757),233=>array(64,-23,591,757),234=>array(64,-23,591,757),235=>array(64,-23,591,739),236=>array(67,0,325,757),237=>array(67,0,435,757),238=>array(67,0,426,756),239=>array(67,0,449,740),240=>array(83,-23,633,744),241=>array(63,0,639,731),242=>array(82,-23,634,757),243=>array(82,-23,634,757),244=>array(82,-23,634,757),245=>array(82,-23,634,731),246=>array(82,-23,634,739),247=>array(77,0,606,462),248=>array(12,-38,709,557),249=>array(88,-23,656,757),250=>array(88,-23,656,757),251=>array(88,-23,656,757),252=>array(88,-23,656,739),253=>array(37,-219,653,757),254=>array(11,-218,637,729),255=>array(37,-219,653,741),256=>array(26,0,703,881),257=>array(50,-23,578,702),258=>array(26,0,703,927),259=>array(50,-23,586,751),260=>array(26,-233,703,729),261=>array(50,-233,578,549),262=>array(107,-23,793,930),263=>array(77,-23,597,757),264=>array(107,-23,793,941),265=>array(77,-23,597,757),266=>array(107,-23,793,899),267=>array(77,-23,597,742),268=>array(107,-23,793,931),269=>array(77,-23,597,757),270=>array(77,0,776,931),271=>array(79,-23,888,740),272=>array(73,0,776,729),273=>array(79,-23,746,729),274=>array(79,0,762,881),275=>array(64,-23,591,702),276=>array(79,0,762,927),277=>array(64,-23,591,751),278=>array(79,0,762,899),279=>array(64,-23,591,742),280=>array(79,-233,762,729),281=>array(64,-233,591,549),282=>array(79,0,762,931),283=>array(64,-23,597,757),284=>array(107,-23,819,939),285=>array(26,-218,656,787),286=>array(107,-23,819,927),287=>array(26,-218,656,751),288=>array(107,-23,819,899),289=>array(26,-218,656,742),290=>array(107,-300,819,741),291=>array(26,-218,656,833),292=>array(68,0,812,936),293=>array(67,0,629,932),294=>array(-9,0,767,729),295=>array(68,0,625,729),296=>array(63,0,514,921),297=>array(78,0,489,762),298=>array(63,0,476,881),299=>array(78,0,450,702),300=>array(63,0,473,942),301=>array(78,0,445,783),302=>array(7,-233,368,729),303=>array(0,-233,351,729),304=>array(63,0,387,899),305=>array(67,0,322,540),306=>array(98,-23,680,729),307=>array(67,-218,575,729),308=>array(59,-23,641,936),309=>array(-32,-218,440,756),310=>array(74,-300,843,729),311=>array(59,-300,651,729),312=>array(59,0,624,540),313=>array(80,0,606,930),314=>array(67,0,451,930),315=>array(80,-300,606,729),316=>array(9,-300,362,729),317=>array(80,0,658,740),318=>array(67,0,568,740),319=>array(80,0,613,729),320=>array(67,0,508,729),321=>array(54,0,624,729),322=>array(50,0,372,729),323=>array(68,0,816,930),324=>array(63,0,629,757),325=>array(68,-300,816,729),326=>array(63,-300,629,549),327=>array(68,0,816,931),328=>array(63,0,629,757),329=>array(108,0,674,790),330=>array(51,-16,781,741),331=>array(63,-218,629,549),332=>array(106,-23,828,881),333=>array(82,-23,634,702),334=>array(106,-23,828,943),335=>array(82,-23,634,751),336=>array(106,-23,828,919),337=>array(82,-23,693,757),338=>array(90,-23,1107,741),339=>array(82,-23,997,549),340=>array(80,0,785,930),341=>array(63,0,515,757),342=>array(80,-300,785,729),343=>array(15,-300,487,549),344=>array(80,0,785,931),345=>array(63,0,534,757),346=>array(76,-23,725,930),347=>array(60,-23,589,757),348=>array(76,-23,725,932),349=>array(60,-23,589,756),350=>array(76,-220,725,741),351=>array(60,-220,589,549),352=>array(76,-23,725,931),353=>array(60,-23,597,757),354=>array(132,-219,753,729),355=>array(-2,-228,414,674),356=>array(142,0,753,922),357=>array(101,-23,578,740),358=>array(142,0,753,729),359=>array(73,-23,414,674),360=>array(119,-23,809,922),361=>array(88,-23,656,762),362=>array(119,-23,809,881),363=>array(88,-23,656,702),364=>array(119,-23,809,928),365=>array(88,-23,656,751),366=>array(119,-23,809,953),367=>array(88,-23,656,759),368=>array(119,-23,821,918),369=>array(88,-23,711,757),370=>array(119,-233,809,729),371=>array(88,-233,656,540),372=>array(168,0,1087,938),373=>array(120,0,881,787),374=>array(182,0,805,929),375=>array(37,-219,653,787),376=>array(182,0,805,921),377=>array(30,0,733,930),378=>array(21,0,575,757),379=>array(30,0,733,899),380=>array(21,0,575,742),381=>array(30,0,733,931),382=>array(21,0,575,754),383=>array(90,0,464,729),384=>array(60,-23,641,729),385=>array(140,0,905,729),386=>array(82,0,749,729),387=>array(59,-23,639,729),388=>array(69,0,681,729),389=>array(59,-23,640,729),390=>array(82,-23,768,741),391=>array(107,-23,897,748),392=>array(77,-23,703,558),393=>array(73,0,776,729),394=>array(90,0,864,729),395=>array(57,0,756,729),396=>array(54,-23,679,729),397=>array(-20,-180,609,549),398=>array(54,0,754,729),399=>array(59,-23,782,741),400=>array(29,-23,685,741),401=>array(-51,-218,717,729),402=>array(-22,-218,463,729),403=>array(50,-23,869,748),404=>array(181,-20,805,729),405=>array(67,-16,986,729),406=>array(50,-48,335,754),407=>array(55,0,473,729),408=>array(25,0,856,745),409=>array(59,0,649,729),410=>array(41,-25,450,754),411=>array(16,-13,595,739),412=>array(62,-9,972,729),413=>array(-47,-218,802,729),414=>array(26,-201,592,549),415=>array(29,-24,752,741),416=>array(102,-23,950,763),417=>array(82,-23,777,585),418=>array(95,-200,1049,744),419=>array(70,-218,760,550),420=>array(90,0,846,729),421=>array(-25,-218,722,560),422=>array(60,-190,634,729),423=>array(66,-23,737,741),424=>array(59,-23,593,549),425=>array(-1,-25,786,743),426=>array(159,-213,462,740),427=>array(41,-218,405,674),428=>array(89,0,747,729),429=>array(96,-23,438,729),430=>array(88,-218,699,729),431=>array(119,-23,959,895),432=>array(87,-23,806,707),433=>array(52,-33,875,739),434=>array(102,-12,757,731),435=>array(104,0,858,729),436=>array(37,-219,799,730),437=>array(30,0,733,729),438=>array(21,0,574,540),439=>array(32,-23,591,729),440=>array(31,-23,595,729),441=>array(46,-143,681,524),442=>array(12,-254,606,549),443=>array(20,1,663,740),446=>array(32,-13,535,729),447=>array(7,-218,675,552),448=>array(80,-23,348,800),449=>array(80,-23,528,800),450=>array(88,-25,637,801),451=>array(112,0,417,726),452=>array(77,0,1455,931),453=>array(77,0,1297,754),454=>array(79,-23,1186,754),455=>array(80,-23,1252,729),456=>array(80,-218,976,729),457=>array(67,-218,643,729),458=>array(68,-23,1363,729),459=>array(68,-218,1087,729),460=>array(63,-218,976,729),461=>array(26,0,722,932),462=>array(50,-23,589,756),463=>array(63,0,492,929),464=>array(78,0,472,756),465=>array(106,-23,828,931),466=>array(82,-23,634,756),467=>array(119,-23,809,930),468=>array(88,-23,656,756),469=>array(119,-23,809,990),470=>array(88,-23,656,865),471=>array(119,-23,809,1073),472=>array(88,-23,656,953),473=>array(119,-23,809,1063),474=>array(88,-23,656,948),475=>array(119,-23,809,1063),476=>array(88,-23,656,944),477=>array(56,-23,583,549),478=>array(26,0,734,990),479=>array(50,-23,608,865),480=>array(26,0,730,991),481=>array(50,-23,608,861),482=>array(1,0,1104,881),483=>array(54,-23,927,702),484=>array(107,-23,845,741),485=>array(28,-218,656,549),486=>array(107,-23,819,925),487=>array(26,-218,656,756),488=>array(74,0,843,926),489=>array(59,0,651,887),490=>array(106,-248,828,741),491=>array(82,-248,634,549),492=>array(106,-248,828,880),493=>array(82,-248,634,702),494=>array(32,-23,591,931),495=>array(50,-143,627,754),496=>array(-43,-218,458,747),497=>array(77,0,1455,729),498=>array(77,0,1297,729),499=>array(79,-23,1186,729),500=>array(107,-23,819,930),501=>array(26,-218,656,757),503=>array(66,1,727,743),504=>array(68,0,816,924),505=>array(63,0,629,757),506=>array(26,0,734,930),507=>array(50,-23,589,950),508=>array(1,0,1104,930),509=>array(54,-23,927,757),510=>array(34,-39,906,930),511=>array(12,-38,709,757),512=>array(26,0,703,933),513=>array(50,-23,578,759),514=>array(26,0,703,922),515=>array(50,-23,578,752),516=>array(79,0,762,937),517=>array(64,-23,591,759),518=>array(79,0,762,932),519=>array(64,-23,591,752),520=>array(63,0,434,933),521=>array(70,0,422,759),522=>array(63,0,444,928),523=>array(67,0,403,752),524=>array(106,-23,828,939),525=>array(82,-23,634,759),526=>array(106,-23,828,933),527=>array(82,-23,634,752),528=>array(80,0,785,936),529=>array(63,0,487,759),530=>array(80,0,785,923),531=>array(63,0,487,752),532=>array(119,-23,809,932),533=>array(88,-23,656,759),534=>array(119,-23,809,926),535=>array(88,-23,656,752),536=>array(76,-293,725,741),537=>array(60,-293,589,549),538=>array(142,-293,753,729),539=>array(65,-293,414,674),540=>array(27,-140,632,741),541=>array(40,-133,512,551),542=>array(68,0,812,931),543=>array(67,0,664,879),548=>array(33,-215,778,729),549=>array(21,-216,583,541),550=>array(26,0,703,899),551=>array(50,-23,578,729),552=>array(79,-213,762,729),553=>array(64,-236,591,549),554=>array(106,-23,828,988),555=>array(82,-23,634,861),556=>array(106,-23,828,998),557=>array(82,-23,634,861),558=>array(106,-23,828,899),559=>array(82,-23,634,729),560=>array(106,-23,828,991),561=>array(82,-23,634,861),562=>array(182,0,805,880),563=>array(37,-219,653,702),567=>array(-43,-218,325,540),592=>array(50,-23,578,549),593=>array(50,-23,634,549),594=>array(50,-23,634,549),595=>array(50,-23,630,729),596=>array(50,-23,570,549),597=>array(36,-51,636,549),598=>array(50,-218,674,729),599=>array(50,-23,739,729),600=>array(50,-23,580,549),601=>array(70,-23,597,549),602=>array(50,-23,880,570),603=>array(50,-10,617,552),604=>array(50,-23,579,549),605=>array(50,-23,888,570),606=>array(50,-10,591,547),607=>array(-35,-218,353,540),608=>array(-2,-218,720,688),609=>array(26,-218,656,549),610=>array(50,-23,568,549),611=>array(57,-219,634,540),612=>array(67,-24,704,550),613=>array(60,-218,630,540),614=>array(60,0,617,729),615=>array(53,-218,610,729),616=>array(46,0,362,729),617=>array(64,-23,304,540),618=>array(3,0,390,540),619=>array(69,0,554,729),620=>array(84,0,573,729),621=>array(41,-218,362,729),622=>array(55,-143,796,729),623=>array(65,-6,916,543),624=>array(64,-218,916,540),625=>array(55,-218,905,549),626=>array(-33,-218,644,549),627=>array(53,-218,619,549),628=>array(54,0,652,540),629=>array(51,-23,604,549),630=>array(50,-23,915,539),631=>array(50,-9,836,542),632=>array(62,-201,715,729),633=>array(40,-8,464,541),634=>array(40,-8,503,729),635=>array(40,-217,464,541),636=>array(13,-200,479,549),637=>array(27,-218,476,549),638=>array(53,0,509,549),639=>array(86,-200,470,549),640=>array(55,0,622,540),641=>array(55,0,676,540),642=>array(-40,-218,632,549),643=>array(-26,-218,458,729),644=>array(-35,-218,449,729),645=>array(74,-218,335,560),646=>array(-10,-218,648,729),647=>array(21,-147,334,550),648=>array(71,-218,425,674),649=>array(44,-23,686,540),650=>array(60,-24,774,544),651=>array(60,-23,640,524),652=>array(19,0,541,540),653=>array(7,0,768,540),654=>array(7,1,623,760),655=>array(128,0,651,540),656=>array(19,-218,572,540),657=>array(21,-96,597,540),658=>array(50,-143,627,540),659=>array(55,-143,615,540),660=>array(127,0,632,744),661=>array(118,0,618,744),662=>array(58,0,558,744),663=>array(41,-201,637,739),664=>array(50,-23,602,549),665=>array(60,0,612,540),666=>array(50,-10,591,547),667=>array(50,-23,682,549),668=>array(59,0,657,540),669=>array(-10,-218,571,729),670=>array(26,-191,618,538),671=>array(60,0,432,540),672=>array(50,-218,730,688),673=>array(127,0,632,744),674=>array(125,0,628,742),675=>array(75,-23,1078,729),676=>array(75,-143,1080,729),677=>array(75,-96,1103,729),678=>array(100,-23,839,674),679=>array(100,-218,723,729),680=>array(100,-23,859,674),681=>array(90,-218,890,729),682=>array(67,-23,787,729),683=>array(67,0,742,729),684=>array(80,-1,664,740),685=>array(43,109,601,634),686=>array(126,-218,696,729),687=>array(126,-300,696,729),688=>array(114,390,481,865),689=>array(115,390,478,864),690=>array(66,235,332,852),691=>array(127,390,403,748),692=>array(94,383,370,741),693=>array(117,249,394,743),694=>array(97,390,501,742),695=>array(165,389,661,741),696=>array(108,248,509,742),697=>array(159,467,370,743),698=>array(159,467,578,743),699=>array(300,503,513,754),700=>array(208,483,382,730),701=>array(206,457,343,708),702=>array(237,573,403,798),703=>array(241,573,406,798),704=>array(139,390,463,783),705=>array(140,390,461,783),706=>array(147,544,490,795),707=>array(131,545,474,796),708=>array(144,559,427,765),709=>array(191,559,474,766),710=>array(135,610,453,757),711=>array(167,610,485,757),712=>array(250,588,373,785),713=>array(147,622,464,702),714=>array(247,607,475,757),715=>array(175,607,339,757),716=>array(46,-216,169,-19),717=>array(-15,-149,302,-69),718=>array(236,-186,400,-36),719=>array(190,-186,418,-36),720=>array(82,0,374,561),721=>array(196,400,374,561),722=>array(104,-23,269,202),723=>array(85,-21,250,204),724=>array(28,134,383,412),725=>array(67,139,422,417),726=>array(45,99,401,433),727=>array(45,216,401,316),728=>array(188,611,455,754),729=>array(241,621,377,741),730=>array(214,593,398,773),731=>array(23,-233,248,0),732=>array(117,622,500,744),733=>array(82,610,498,757),734=>array(84,219,428,585),735=>array(218,589,579,803),736=>array(121,248,497,742),737=>array(140,390,332,865),738=>array(114,379,459,752),739=>array(97,389,508,741),740=>array(151,390,477,874),741=>array(176,1,643,800),742=>array(141,1,641,800),743=>array(99,-1,639,800),744=>array(56,0,640,800),745=>array(23,1,639,800),746=>array(57,-1,517,621),747=>array(53,-1,572,629),748=>array(171,-181,489,-34),749=>array(137,546,483,780),750=>array(171,469,595,729),751=>array(26,-221,309,-14),752=>array(-21,-218,262,-12),753=>array(-19,-257,324,-6),754=>array(-46,-262,297,-11),755=>array(51,-202,235,-22),756=>array(222,381,386,531),757=>array(175,381,515,531),758=>array(173,379,576,531),759=>array(-10,-148,373,-26),760=>array(113,65,374,585),761=>array(114,497,354,764),762=>array(151,497,356,764),763=>array(-11,-88,194,179),764=>array(-12,-87,228,180),765=>array(-13,-197,291,-60),766=>array(-13,-200,278,-28),767=>array(-46,-237,330,-1),768=>array(-158,607,6,757),769=>array(-86,607,142,757),770=>array(-198,610,120,757),771=>array(-218,613,165,735),772=>array(-209,598,108,678),773=>array(-454,618,163,698),774=>array(-145,611,122,754),775=>array(-92,621,44,741),776=>array(-191,621,141,741),777=>array(-156,554,24,767),778=>array(-119,593,65,773),779=>array(-251,610,165,757),780=>array(-166,610,152,757),781=>array(-88,588,35,785),782=>array(-157,588,111,785),783=>array(-252,607,100,757),784=>array(-145,611,122,840),785=>array(-145,611,122,754),786=>array(-221,583,-80,740),787=>array(-219,583,-78,740),788=>array(-108,589,28,746),789=>array(123,583,264,740),790=>array(-222,-200,-58,-50),791=>array(-277,-200,-49,-50),792=>array(-337,-300,-69,-44),793=>array(-327,-300,-59,-44),794=>array(-73,412,254,716),795=>array(-62,425,203,672),796=>array(-315,-258,-150,-33),797=>array(-348,-230,-58,-45),798=>array(-331,-230,-40,-45),799=>array(-348,-313,-58,-45),800=>array(-336,-173,-47,-71),801=>array(-250,-233,13,60),802=>array(-140,-233,61,60),803=>array(-253,-205,-117,-85),804=>array(-356,-202,-24,-82),805=>array(-295,-231,-111,-51),806=>array(-306,-300,-134,-73),807=>array(-346,-220,-63,0),808=>array(-310,-233,-85,0),809=>array(-254,-246,-131,-49),810=>array(-344,-189,-40,-52),811=>array(-339,-177,-23,-55),812=>array(-318,-190,0,-43),813=>array(-362,-194,-44,-47),814=>array(-305,-189,-38,-46),815=>array(-342,-197,-75,-54),816=>array(-373,-172,10,-50),817=>array(-344,-147,-27,-67),818=>array(-478,-171,99,-91),819=>array(-617,-286,-8,-62),820=>array(-338,217,45,339),821=>array(-292,223,25,303),822=>array(-518,227,59,307),823=>array(-701,3,-13,616),824=>array(-701,-61,-13,749),825=>array(-246,-232,-81,-7),826=>array(-340,-206,-36,-69),827=>array(-387,-300,-70,-39),828=>array(-384,-174,-75,-59),829=>array(-190,569,171,783),830=>array(-101,579,65,853),831=>array(-445,581,164,805),832=>array(-158,608,6,758),833=>array(-86,607,142,757),834=>array(-213,625,170,747),835=>array(-219,583,-78,740),836=>array(-182,590,204,782),837=>array(-233,-200,-51,-61),838=>array(-344,619,-40,756),839=>array(-368,-266,-32,-56),840=>array(-379,-248,-100,-51),841=>array(-316,-240,-122,-66),842=>array(-242,580,140,801),843=>array(-233,568,150,930),844=>array(-255,582,165,845),845=>array(-513,-231,-69,-46),846=>array(-418,-300,-176,-33),848=>array(-223,545,120,796),849=>array(-289,549,-124,774),850=>array(-305,572,-38,800),851=>array(-377,-224,-16,-10),852=>array(-451,-273,-108,-22),853=>array(-462,-272,-119,-21),854=>array(-582,-251,-55,-36),855=>array(-204,556,-39,781),856=>array(-197,645,-61,765),857=>array(-458,-301,-192,-48),858=>array(-562,-243,-104,-33),859=>array(-222,596,75,880),860=>array(-365,-235,340,-41),861=>array(-203,577,502,771),862=>array(-213,596,487,691),863=>array(-358,-164,342,-69),864=>array(-224,595,515,795),865=>array(-215,606,490,800),866=>array(-355,-280,294,-11),867=>array(-341,569,-140,788),868=>array(-354,570,-152,788),869=>array(-285,575,-172,853),870=>array(-348,570,-137,788),871=>array(-330,570,-114,785),872=>array(-315,571,-116,789),873=>array(-329,570,-92,856),874=>array(-329,569,-114,848),875=>array(-407,572,-82,781),876=>array(-290,572,-128,781),877=>array(-275,570,-155,836),878=>array(-320,570,-120,776),879=>array(-356,570,-114,776),884=>array(25,575,172,789),885=>array(-1,-182,213,-35),890=>array(100,-200,282,-61),894=>array(76,-174,374,520),900=>array(154,559,382,709),901=>array(148,590,534,782),902=>array(-113,-25,630,741),903=>array(193,374,374,520),904=>array(78,-25,937,741),905=>array(78,-25,999,741),906=>array(49,-25,487,741),908=>array(54,-51,922,763),910=>array(70,-25,1069,741),911=>array(78,-25,914,747),912=>array(-12,-16,443,802),913=>array(-113,-25,630,741),914=>array(-46,-25,656,741),915=>array(-38,-25,687,741),916=>array(-119,-26,626,741),917=>array(-40,-25,719,741),918=>array(-85,-25,710,741),919=>array(-55,-25,746,741),920=>array(0,-38,770,755),921=>array(-51,-25,284,741),922=>array(-46,-25,799,741),923=>array(-123,-25,620,741),924=>array(-56,-25,869,741),925=>array(-64,-25,741,741),926=>array(-50,-25,709,741),927=>array(1,-51,772,763),928=>array(-40,-25,761,741),929=>array(-42,-25,695,741),931=>array(-81,-25,706,743),932=>array(76,-25,728,741),933=>array(63,-25,814,741),934=>array(-9,-25,722,745),935=>array(-116,-25,813,741),936=>array(18,-27,815,746),937=>array(-79,-25,744,747),938=>array(-51,-25,404,921),939=>array(63,-25,814,921),940=>array(11,-12,615,763),941=>array(-30,-10,537,766),942=>array(3,-215,578,769),943=>array(-12,-16,359,766),944=>array(-14,-39,575,801),945=>array(11,-12,615,552),946=>array(-107,-197,557,731),947=>array(74,-193,650,554),948=>array(-33,-5,596,724),949=>array(-30,-10,537,552),950=>array(-14,-205,565,735),951=>array(3,-215,578,556),952=>array(-15,-13,548,731),953=>array(-12,-16,242,545),954=>array(-27,-14,604,543),955=>array(-106,-5,498,732),956=>array(-44,-194,629,543),957=>array(48,-9,594,542),958=>array(-34,-212,556,728),959=>array(-14,-10,564,552),960=>array(27,-29,702,545),961=>array(-65,-225,604,557),962=>array(12,-214,570,561),963=>array(-4,-37,687,555),964=>array(59,-29,590,543),965=>array(-14,-39,575,543),966=>array(34,-225,754,547),967=>array(-129,-237,687,563),968=>array(20,-225,740,543),969=>array(-7,-34,736,555),970=>array(-12,-16,365,729),971=>array(-14,-39,575,729),972=>array(-14,-10,564,760),973=>array(-14,-39,575,766),974=>array(-7,-34,736,766),977=>array(79,-37,673,755),978=>array(158,-25,889,766),979=>array(96,-25,1062,766),980=>array(158,-25,889,921),981=>array(62,-201,715,729),982=>array(52,-34,847,559),983=>array(-51,-216,714,564),1008=>array(-51,-42,714,564),1009=>array(23,-211,633,557),1012=>array(29,-23,752,741),1013=>array(66,-37,419,555),1024=>array(79,0,762,951),1025=>array(79,0,762,921),1026=>array(83,-165,770,729),1027=>array(80,0,747,930),1028=>array(110,-23,791,741),1029=>array(76,-23,725,741),1030=>array(63,0,368,729),1031=>array(63,0,484,900),1032=>array(59,-23,641,729),1033=>array(-31,0,1035,729),1034=>array(-9,0,1043,729),1035=>array(65,0,753,729),1036=>array(74,0,843,930),1037=>array(82,0,830,951),1038=>array(143,0,840,944),1039=>array(68,0,812,729),1040=>array(26,0,703,729),1041=>array(82,0,749,729),1042=>array(82,0,762,729),1043=>array(80,0,747,729),1044=>array(-8,-150,893,729),1045=>array(79,0,762,729),1046=>array(22,0,1189,729),1047=>array(75,-23,724,741),1048=>array(82,0,830,729),1049=>array(82,0,830,944),1050=>array(74,0,843,729),1051=>array(22,0,787,729),1052=>array(82,0,947,729),1053=>array(82,0,826,729),1054=>array(104,-23,826,741),1055=>array(82,0,826,729),1056=>array(82,0,753,729),1057=>array(96,-23,782,741),1058=>array(142,0,753,729),1059=>array(143,0,840,729),1060=>array(109,0,959,729),1061=>array(15,0,792,729),1062=>array(82,-150,834,729),1063=>array(141,0,761,729),1064=>array(82,0,1205,729),1065=>array(82,-150,1213,729),1066=>array(142,0,856,729),1067=>array(82,0,1053,729),1068=>array(82,0,695,729),1069=>array(95,-23,776,741),1070=>array(81,-23,1193,741),1071=>array(15,0,781,729),1072=>array(59,-23,587,549),1073=>array(94,-23,705,777),1074=>array(60,0,612,540),1075=>array(60,0,523,540),1076=>array(-6,-125,748,540),1077=>array(75,-23,602,549),1078=>array(10,0,861,540),1079=>array(62,-23,591,549),1080=>array(60,0,658,540),1081=>array(60,0,658,754),1082=>array(60,0,625,540),1083=>array(10,0,638,540),1084=>array(60,0,719,540),1085=>array(60,0,658,540),1086=>array(74,-23,626,549),1087=>array(60,0,658,540),1088=>array(14,-218,640,549),1089=>array(73,-23,593,549),1090=>array(106,0,540,540),1091=>array(37,-219,649,540),1092=>array(75,-218,985,719),1093=>array(10,0,640,540),1094=>array(60,-125,684,540),1095=>array(103,0,619,540),1096=>array(60,0,956,540),1097=>array(60,-125,982,540),1098=>array(100,0,699,540),1099=>array(60,0,861,540),1100=>array(60,0,577,540),1101=>array(70,-23,585,549),1102=>array(60,-23,931,549),1103=>array(20,0,641,540),1104=>array(75,-23,602,759),1105=>array(75,-23,602,729),1106=>array(81,-173,638,729),1107=>array(60,0,535,757),1108=>array(72,-23,590,549),1109=>array(66,-23,595,549),1110=>array(70,0,365,729),1111=>array(80,0,448,741),1112=>array(-42,-218,366,729),1113=>array(20,0,894,540),1114=>array(60,0,903,540),1115=>array(83,0,639,729),1116=>array(60,0,625,757),1117=>array(60,0,658,759),1118=>array(37,-219,649,752),1119=>array(60,0,658,540),1120=>array(125,0,1095,729),1121=>array(87,0,822,541),1136=>array(128,-27,925,746),1137=>array(96,-225,816,543),1138=>array(106,-23,829,741),1139=>array(75,-23,628,549),1148=>array(125,0,1095,999),1149=>array(87,0,825,815),1150=>array(125,0,1095,900),1151=>array(87,0,822,729),1154=>array(11,-220,476,508),1155=>array(-261,611,160,799),1156=>array(-158,611,109,754),1157=>array(-213,598,1,730),1158=>array(-193,592,-3,724),1159=>array(-465,579,144,780),1160=>array(-764,-122,281,869),1161=>array(-769,-235,339,873),1162=>array(68,-150,816,944),1163=>array(60,-125,683,754),1164=>array(66,0,679,729),1165=>array(95,0,587,540),1166=>array(80,0,751,729),1167=>array(14,-218,642,549),1168=>array(80,0,776,864),1169=>array(60,0,550,666),1170=>array(86,0,753,729),1171=>array(75,0,564,540),1172=>array(80,-166,747,729),1173=>array(60,-132,523,540),1174=>array(15,-150,1182,729),1175=>array(11,-125,862,540),1176=>array(67,-233,716,741),1177=>array(56,-233,580,549),1178=>array(80,-150,847,729),1179=>array(60,-125,625,540),1180=>array(80,0,847,729),1181=>array(60,0,625,540),1182=>array(80,0,847,729),1183=>array(60,0,625,540),1184=>array(142,0,1010,729),1185=>array(100,0,745,540),1186=>array(70,-150,814,729),1187=>array(60,-125,674,540),1188=>array(80,0,1134,729),1189=>array(60,0,855,540),1190=>array(80,-166,1119,729),1191=>array(60,-132,862,540),1192=>array(95,-23,939,741),1193=>array(75,-23,747,549),1194=>array(100,-233,781,741),1195=>array(77,-233,595,549),1196=>array(142,-150,753,729),1197=>array(101,-125,535,540),1198=>array(182,0,805,729),1199=>array(125,-189,688,540),1200=>array(95,0,798,729),1201=>array(59,-189,688,540),1202=>array(16,-150,793,729),1203=>array(10,-125,640,540),1204=>array(142,-150,954,729),1205=>array(101,-125,749,540),1206=>array(144,-150,752,729),1207=>array(104,-125,631,540),1208=>array(144,0,744,729),1209=>array(114,0,615,540),1210=>array(80,0,680,729),1211=>array(70,0,571,540),1212=>array(137,-23,1032,745),1213=>array(108,-23,793,549),1214=>array(135,-197,1032,745),1215=>array(101,-197,787,549),1216=>array(80,0,385,729),1217=>array(16,0,1183,944),1218=>array(10,0,861,754),1219=>array(80,-163,847,729),1220=>array(60,-132,625,540),1221=>array(21,-150,786,729),1222=>array(21,-125,675,540),1223=>array(80,-166,824,729),1224=>array(60,-132,658,540),1225=>array(80,-150,824,729),1226=>array(60,-125,683,540),1227=>array(150,-150,750,729),1228=>array(116,-125,617,540),1229=>array(80,-150,945,729),1230=>array(70,-125,755,540),1231=>array(80,0,385,729),1232=>array(13,0,690,972),1233=>array(59,-23,587,783),1234=>array(15,0,709,949),1235=>array(59,-23,589,760),1236=>array(1,0,1104,729),1237=>array(54,-23,927,549),1238=>array(80,0,763,972),1239=>array(76,-23,603,783),1240=>array(105,-23,791,741),1241=>array(77,-23,600,549),1242=>array(105,-23,791,949),1243=>array(77,-23,600,760),1244=>array(14,0,1181,949),1245=>array(10,0,861,760),1246=>array(75,-23,724,949),1247=>array(62,-23,591,760),1248=>array(101,-23,660,729),1249=>array(88,-143,665,540),1250=>array(80,0,828,880),1251=>array(60,0,658,700),1252=>array(80,0,828,949),1253=>array(60,0,658,760),1254=>array(104,-23,826,949),1255=>array(74,-23,626,760),1256=>array(106,-23,829,741),1257=>array(68,-23,621,549),1258=>array(106,-23,829,949),1259=>array(68,-23,621,760),1260=>array(95,-23,776,949),1261=>array(70,-23,603,760),1262=>array(143,0,840,880),1263=>array(37,-219,649,700),1264=>array(143,0,840,949),1265=>array(37,-219,649,760),1266=>array(143,0,840,976),1267=>array(37,-219,649,787),1268=>array(141,0,761,949),1269=>array(103,0,619,760),1270=>array(80,-150,747,729),1271=>array(60,-125,523,540),1272=>array(80,0,1051,949),1273=>array(60,0,861,760),1296=>array(71,-23,735,741),1297=>array(58,-23,583,549),1298=>array(33,-199,802,729),1299=>array(26,-168,632,540),1306=>array(109,-54,831,741),1307=>array(72,-218,659,549),1308=>array(168,0,1087,729),1309=>array(120,0,881,540),1310=>array(82,0,849,729),1311=>array(60,0,625,540),1329=>array(112,-130,803,729),1330=>array(70,0,761,752),1331=>array(124,1,809,751),1332=>array(123,0,823,752),1333=>array(117,0,784,752),1334=>array(76,1,822,760),1335=>array(71,4,575,746),1336=>array(70,0,761,752),1337=>array(70,-27,941,753),1338=>array(83,-24,783,743),1339=>array(70,2,752,757),1340=>array(70,2,431,741),1341=>array(70,-20,954,748),1342=>array(115,-29,967,801),1343=>array(135,0,758,729),1344=>array(67,-99,783,750),1345=>array(57,-59,735,753),1346=>array(118,0,774,752),1347=>array(35,1,790,754),1348=>array(112,-23,912,729),1349=>array(76,-26,688,753),1350=>array(128,0,789,729),1351=>array(90,-25,710,770),1352=>array(65,1,781,754),1353=>array(80,-47,721,753),1354=>array(124,1,767,754),1355=>array(69,-1,816,760),1356=>array(65,0,823,752),1357=>array(117,-21,836,741),1358=>array(134,1,818,754),1359=>array(79,-37,747,753),1360=>array(70,0,761,752),1361=>array(80,-23,699,753),1362=>array(70,1,501,748),1363=>array(103,-24,869,750),1364=>array(40,1,745,753),1365=>array(100,-27,858,754),1366=>array(70,-24,789,750),1369=>array(241,573,406,798),1370=>array(130,456,339,748),1371=>array(122,563,388,743),1372=>array(128,520,495,790),1373=>array(175,607,339,757),1374=>array(133,567,496,815),1375=>array(142,563,485,734),1377=>array(90,-25,930,549),1378=>array(19,-218,631,549),1379=>array(76,-218,661,549),1380=>array(65,-201,646,549),1381=>array(89,-23,658,729),1382=>array(81,-218,666,549),1383=>array(70,-121,499,729),1384=>array(19,-218,631,549),1385=>array(22,-200,693,549),1386=>array(80,-20,793,729),1387=>array(27,-200,627,729),1388=>array(27,-201,365,729),1389=>array(27,-200,886,729),1390=>array(82,-23,751,748),1391=>array(94,-200,663,729),1392=>array(70,0,622,741),1393=>array(82,-23,634,729),1394=>array(65,-200,631,549),1395=>array(30,0,706,797),1396=>array(94,-23,703,729),1397=>array(-41,-235,376,549),1398=>array(94,-23,663,729),1399=>array(5,-200,579,557),1400=>array(65,0,616,560),1401=>array(-5,-200,444,540),1402=>array(85,-200,925,549),1403=>array(59,-200,615,562),1404=>array(65,0,639,549),1405=>array(98,-23,651,548),1406=>array(94,-200,703,729),1407=>array(94,-23,974,549),1408=>array(22,-200,631,549),1409=>array(48,-200,664,560),1410=>array(70,0,338,540),1411=>array(94,-200,974,729),1412=>array(22,-200,646,549),1413=>array(80,-37,636,555),1414=>array(70,-200,782,729),1415=>array(94,-23,663,729),1417=>array(113,0,374,520),1418=>array(57,141,422,298),1423=>array(123,0,801,752),1456=>array(264,-267,390,-60),1457=>array(133,-267,518,-60),1458=>array(232,-267,591,-60),1459=>array(208,-260,563,-60),1460=>array(293,-142,393,-60),1461=>array(228,-142,458,-60),1462=>array(212,-267,440,-60),1463=>array(249,-142,466,-60),1464=>array(236,-248,453,-60),1465=>array(204,660,304,742),1467=>array(151,-266,510,-60),1468=>array(263,259,363,341),1469=>array(227,-248,350,-60),1470=>array(259,485,665,600),1471=>array(295,660,512,742),1472=>array(18,-100,327,700),1473=>array(745,639,845,721),1474=>array(205,639,305,721),1475=>array(113,0,374,520),1476=>array(422,639,522,721),1488=>array(49,0,709,600),1489=>array(37,0,595,600),1490=>array(7,0,500,600),1491=>array(126,0,653,600),1492=>array(39,0,652,600),1493=>array(39,0,306,600),1494=>array(109,0,458,600),1495=>array(39,0,655,600),1496=>array(81,0,651,600),1497=>array(92,276,300,600),1498=>array(125,-200,563,600),1499=>array(36,0,577,600),1500=>array(125,0,683,750),1501=>array(40,0,656,600),1502=>array(46,0,677,600),1503=>array(-4,-200,306,600),1504=>array(33,0,402,600),1505=>array(80,0,651,600),1506=>array(9,-55,667,600),1507=>array(112,-200,634,601),1508=>array(39,0,641,600),1509=>array(114,-200,632,600),1510=>array(46,0,667,600),1511=>array(-3,-200,687,600),1512=>array(126,0,570,600),1513=>array(87,0,854,600),1514=>array(23,0,730,600),1520=>array(39,0,563,600),1521=>array(92,0,559,600),1522=>array(92,276,558,600),1523=>array(137,470,303,729),1524=>array(137,470,539,729),4256=>array(102,0,604,720),4257=>array(100,0,637,720),4258=>array(101,0,659,740),4259=>array(114,20,897,740),4260=>array(104,0,660,740),4261=>array(103,0,673,740),4262=>array(177,0,816,740),4263=>array(124,0,966,740),4264=>array(127,20,682,740),4265=>array(104,0,670,740),4266=>array(114,20,1015,740),4267=>array(99,0,644,740),4268=>array(119,0,668,720),4269=>array(120,20,874,740),4270=>array(104,0,653,720),4271=>array(87,0,683,720),4272=>array(105,20,796,720),4273=>array(125,0,606,720),4274=>array(112,0,829,740),4275=>array(167,0,798,740),4276=>array(173,0,914,740),4277=>array(104,0,699,720),4278=>array(117,20,899,740),4279=>array(104,0,700,720),4280=>array(106,0,706,740),4281=>array(84,20,641,740),4282=>array(144,0,825,720),4283=>array(99,0,671,720),4284=>array(120,0,764,740),4285=>array(104,0,781,720),4286=>array(119,0,604,720),4287=>array(28,0,993,739),4288=>array(99,0,667,720),4304=>array(63,0,475,460),4305=>array(69,0,537,720),4306=>array(13,-260,528,420),4307=>array(25,-260,729,420),4308=>array(8,-260,485,420),4309=>array(11,-260,506,420),4310=>array(149,0,647,740),4311=>array(67,0,738,420),4312=>array(65,20,514,420),4313=>array(11,-260,508,420),4314=>array(34,-260,919,420),4315=>array(70,0,593,740),4316=>array(71,0,623,740),4317=>array(71,20,735,420),4318=>array(64,0,564,720),4319=>array(45,-260,562,420),4320=>array(71,20,796,720),4321=>array(80,21,519,740),4322=>array(32,-260,706,601),4323=>array(66,-260,704,420),4324=>array(74,-260,735,420),4325=>array(6,-260,582,720),4326=>array(26,-260,716,420),4327=>array(6,-260,524,420),4328=>array(61,0,590,740),4329=>array(34,20,541,740),4330=>array(34,-265,672,420),4331=>array(69,0,623,720),4332=>array(69,0,642,740),4333=>array(6,-260,626,720),4334=>array(69,0,521,720),4335=>array(-49,-260,730,418),4336=>array(67,0,588,724),4337=>array(58,6,815,725),4338=>array(29,-4,460,394),4339=>array(4,-274,507,386),4340=>array(1,-274,557,724),4341=>array(64,6,605,734),4345=>array(64,-280,579,400),4347=>array(77,1,517,556),4348=>array(109,228,524,783),5024=>array(60,0,738,729),5025=>array(60,-10,711,729),5026=>array(107,0,714,729),5027=>array(40,-25,897,729),5028=>array(94,-23,1103,741),5029=>array(60,0,339,729),5030=>array(72,-25,681,743),5031=>array(108,-24,889,742),5032=>array(60,0,667,729),5033=>array(62,-25,881,729),5034=>array(-16,0,661,729),5035=>array(29,-23,591,729),5036=>array(60,0,716,729),5037=>array(97,0,981,729),5038=>array(105,0,668,741),5039=>array(-2,-24,837,752),5040=>array(60,0,579,729),5041=>array(60,0,723,729),5042=>array(27,-24,975,742),5043=>array(134,0,1054,729),5044=>array(60,-25,700,743),5045=>array(57,0,672,754),5046=>array(91,-23,776,741),5047=>array(60,0,899,729),5048=>array(95,0,607,752),5049=>array(73,-25,1039,729),5050=>array(98,-12,1026,752),5051=>array(60,0,778,729),5052=>array(56,-25,613,729),5053=>array(66,-25,924,729),5054=>array(94,-23,812,741),5055=>array(112,-130,598,729),5056=>array(95,-21,797,743),5057=>array(5,-23,804,742),5058=>array(60,0,620,729),5059=>array(45,0,722,729),5060=>array(101,0,648,752),5061=>array(94,-23,1195,741),5062=>array(40,0,753,729),5063=>array(55,-25,934,754),5064=>array(105,-25,992,743),5065=>array(112,0,1406,741),5066=>array(55,-25,934,754),5067=>array(81,-25,729,743),5068=>array(93,-23,764,729),5069=>array(37,-25,1090,754),5070=>array(65,0,689,729),5071=>array(60,0,663,729),5072=>array(88,0,673,729),5073=>array(71,-25,883,738),5074=>array(60,0,711,729),5075=>array(86,-23,568,729),5076=>array(126,0,993,729),5077=>array(67,-25,695,743),5078=>array(104,-25,758,729),5079=>array(-12,0,711,729),5080=>array(15,0,738,729),5081=>array(126,0,750,729),5082=>array(67,-25,676,743),5083=>array(88,-25,1002,742),5084=>array(28,-25,884,742),5085=>array(58,0,619,752),5086=>array(60,0,582,729),5087=>array(95,-23,766,741),5088=>array(105,-25,923,729),5089=>array(95,-24,1088,742),5090=>array(60,0,711,729),5091=>array(94,-25,810,743),5092=>array(113,0,919,729),5093=>array(60,0,882,729),5094=>array(60,0,801,729),5095=>array(53,-25,694,729),5096=>array(95,-24,1037,742),5097=>array(95,-98,958,743),5098=>array(37,-26,1081,744),5099=>array(94,-23,812,741),5100=>array(108,-25,967,742),5101=>array(20,-25,727,741),5102=>array(87,-25,683,743),5103=>array(55,-25,934,754),5104=>array(36,-25,756,741),5105=>array(15,-25,881,729),5106=>array(57,0,665,752),5107=>array(95,-21,1050,743),5108=>array(60,0,721,729),7680=>array(26,-199,703,729),7681=>array(50,-199,578,549),7682=>array(82,0,762,899),7683=>array(59,-23,640,742),7684=>array(82,-205,762,729),7685=>array(59,-205,640,729),7686=>array(82,-149,762,729),7687=>array(59,-149,640,729),7688=>array(107,-220,793,930),7689=>array(77,-220,597,757),7690=>array(77,0,776,899),7691=>array(79,-23,700,742),7692=>array(77,-205,776,729),7693=>array(79,-205,700,729),7694=>array(77,-149,776,729),7695=>array(79,-149,700,729),7696=>array(77,-213,772,729),7697=>array(55,-236,700,729),7698=>array(77,-199,776,729),7699=>array(75,-199,700,729),7700=>array(79,0,762,1026),7701=>array(64,-23,591,902),7702=>array(79,0,762,1028),7703=>array(64,-23,598,905),7704=>array(79,-199,762,729),7705=>array(64,-199,591,549),7706=>array(79,-173,762,729),7707=>array(61,-173,591,549),7708=>array(79,-213,762,931),7709=>array(64,-236,591,751),7710=>array(74,0,741,899),7711=>array(90,0,464,899),7712=>array(107,-23,819,863),7713=>array(26,-218,656,663),7714=>array(68,0,812,899),7715=>array(67,0,629,799),7716=>array(68,-174,812,729),7717=>array(67,-174,629,729),7718=>array(68,0,812,899),7719=>array(67,0,690,899),7720=>array(0,-200,812,729),7721=>array(67,-201,629,729),7722=>array(68,-178,812,729),7723=>array(67,-178,629,729),7724=>array(-78,-173,368,729),7725=>array(-75,-173,362,729),7726=>array(63,0,512,1072),7727=>array(67,0,482,925),7728=>array(74,0,843,930),7729=>array(59,0,651,930),7730=>array(74,-174,843,729),7731=>array(59,-205,651,729),7732=>array(74,-149,843,729),7733=>array(59,-149,651,729),7734=>array(80,-205,606,729),7735=>array(40,-205,362,729),7736=>array(80,-205,689,863),7737=>array(40,-205,475,863),7738=>array(80,-149,606,729),7739=>array(-45,-149,362,729),7740=>array(80,-199,606,729),7741=>array(-61,-199,362,729),7742=>array(66,0,931,950),7743=>array(60,0,911,748),7744=>array(66,0,931,899),7745=>array(60,0,911,742),7746=>array(66,-205,931,729),7747=>array(60,-205,911,549),7748=>array(68,0,816,899),7749=>array(63,0,629,742),7750=>array(68,-174,816,729),7751=>array(63,-205,629,549),7752=>array(68,-149,816,729),7753=>array(63,-149,629,549),7754=>array(68,-197,816,729),7755=>array(63,-197,629,549),7756=>array(106,-23,828,1059),7757=>array(82,-23,634,900),7758=>array(106,-23,828,1043),7759=>array(82,-23,635,889),7760=>array(106,-23,828,1031),7761=>array(82,-23,634,901),7762=>array(106,-23,828,1028),7763=>array(82,-23,634,896),7764=>array(76,0,747,930),7765=>array(11,-218,637,757),7766=>array(76,0,747,899),7767=>array(11,-218,637,742),7768=>array(80,0,785,899),7769=>array(63,0,487,742),7770=>array(80,-205,785,729),7771=>array(55,-205,487,549),7772=>array(80,-205,785,863),7773=>array(55,-205,513,686),7774=>array(80,-149,785,729),7775=>array(35,-149,487,549),7776=>array(76,-23,725,899),7777=>array(60,-23,589,742),7778=>array(76,-205,725,741),7779=>array(60,-205,589,549),7780=>array(76,-23,725,1061),7781=>array(60,-23,589,896),7782=>array(76,-23,725,1054),7783=>array(60,-23,597,894),7784=>array(76,-205,725,899),7785=>array(60,-205,589,747),7786=>array(142,0,753,899),7787=>array(101,-23,414,869),7788=>array(142,-205,753,729),7789=>array(96,-205,414,674),7790=>array(141,-149,753,729),7791=>array(-15,-149,414,674),7792=>array(103,-199,753,729),7793=>array(-25,-199,414,674),7794=>array(119,-205,809,729),7795=>array(88,-205,656,540),7796=>array(119,-173,809,729),7797=>array(88,-173,656,540),7798=>array(119,-197,809,729),7799=>array(88,-197,656,540),7800=>array(119,-23,809,1056),7801=>array(88,-23,658,897),7802=>array(119,-23,809,981),7803=>array(88,-23,656,889),7804=>array(179,0,802,894),7805=>array(129,0,651,748),7806=>array(179,-205,802,729),7807=>array(129,-205,651,540),7808=>array(168,0,1087,924),7809=>array(120,0,881,757),7810=>array(168,0,1087,930),7811=>array(120,0,881,757),7812=>array(168,0,1087,899),7813=>array(120,0,881,748),7814=>array(168,0,1087,899),7815=>array(120,0,881,742),7816=>array(168,-182,1087,729),7817=>array(120,-174,881,540),7818=>array(22,0,802,899),7819=>array(16,0,648,742),7820=>array(22,0,802,899),7821=>array(16,0,648,750),7822=>array(182,0,805,899),7823=>array(37,-219,653,742),7824=>array(30,0,733,951),7825=>array(21,0,575,759),7826=>array(30,-205,733,729),7827=>array(21,-205,575,540),7828=>array(30,-149,733,729),7829=>array(21,-149,575,540),7830=>array(67,-165,629,729),7831=>array(101,-23,487,848),7832=>array(120,0,881,755),7833=>array(37,-219,653,755),7834=>array(50,-23,731,798),7835=>array(90,0,464,899),7840=>array(26,-205,703,729),7841=>array(50,-205,578,549),7842=>array(26,0,703,979),7843=>array(50,-23,578,796),7844=>array(26,0,877,1000),7845=>array(50,-23,743,900),7846=>array(26,0,703,1007),7847=>array(50,-23,578,900),7848=>array(26,0,866,1000),7849=>array(50,-23,719,901),7850=>array(26,0,758,1044),7851=>array(50,-23,635,900),7852=>array(26,-205,703,909),7853=>array(50,-205,578,759),7854=>array(26,0,703,1043),7855=>array(50,-23,622,900),7856=>array(26,0,703,1031),7857=>array(50,-23,586,900),7858=>array(26,0,703,1076),7859=>array(50,-23,586,926),7860=>array(26,0,728,1054),7861=>array(50,-23,663,900),7862=>array(26,-205,703,908),7863=>array(50,-205,578,758),7864=>array(79,-205,762,729),7865=>array(64,-205,591,549),7866=>array(79,0,762,986),7867=>array(64,-23,591,796),7868=>array(79,0,762,900),7869=>array(64,-23,604,732),7870=>array(79,0,881,1000),7871=>array(64,-23,735,900),7872=>array(79,0,762,1000),7873=>array(64,-23,591,900),7874=>array(79,0,808,1000),7875=>array(64,-23,711,900),7876=>array(79,0,762,1049),7877=>array(64,-23,645,900),7878=>array(79,-205,762,907),7879=>array(64,-205,591,759),7880=>array(63,0,426,986),7881=>array(67,0,386,781),7882=>array(39,-205,368,729),7883=>array(46,-205,362,729),7884=>array(106,-205,828,741),7885=>array(82,-205,634,549),7886=>array(106,-23,828,987),7887=>array(82,-23,634,786),7888=>array(106,-23,932,1000),7889=>array(82,-23,776,901),7890=>array(106,-23,828,1000),7891=>array(82,-23,634,900),7892=>array(106,-23,864,1000),7893=>array(82,-23,748,900),7894=>array(106,-23,828,1052),7895=>array(82,-23,666,896),7896=>array(106,-205,828,907),7897=>array(82,-205,634,759),7898=>array(102,-23,950,930),7899=>array(82,-23,777,757),7900=>array(102,-23,950,924),7901=>array(82,-23,777,757),7902=>array(102,-23,950,986),7903=>array(82,-23,777,782),7904=>array(102,-23,950,900),7905=>array(82,-23,777,774),7906=>array(102,-205,950,763),7907=>array(82,-205,777,585),7908=>array(119,-205,809,729),7909=>array(88,-205,656,540),7910=>array(119,-23,809,973),7911=>array(88,-23,656,761),7912=>array(119,-23,959,930),7913=>array(87,-23,806,757),7914=>array(119,-23,959,900),7915=>array(87,-23,806,757),7916=>array(119,-23,959,951),7917=>array(87,-23,806,776),7918=>array(119,-23,959,900),7919=>array(87,-23,806,797),7920=>array(119,-205,959,895),7921=>array(87,-205,806,707),7922=>array(182,0,805,900),7923=>array(37,-219,653,757),7924=>array(182,-205,805,729),7925=>array(37,-219,653,540),7926=>array(182,0,805,959),7927=>array(37,-219,653,759),7928=>array(182,0,805,896),7929=>array(37,-219,653,747),7936=>array(11,-12,615,770),7937=>array(11,-12,615,775),7938=>array(11,-12,615,770),7939=>array(11,-12,615,792),7940=>array(11,-12,615,770),7941=>array(11,-12,616,775),7942=>array(11,-12,615,899),7943=>array(11,-12,616,897),7944=>array(-113,-25,630,748),7945=>array(-113,-25,630,747),7946=>array(39,-25,782,745),7947=>array(63,-25,806,747),7948=>array(31,-25,774,742),7949=>array(14,-25,757,741),7950=>array(-33,-18,710,875),7951=>array(-8,-25,735,874),7952=>array(-30,-10,537,770),7953=>array(-30,-10,537,775),7954=>array(-30,-10,537,770),7955=>array(-30,-10,545,792),7956=>array(-30,-10,544,770),7957=>array(-30,-10,598,775),7960=>array(92,-25,851,742),7961=>array(86,-25,845,747),7962=>array(113,-25,1034,742),7963=>array(125,-25,1060,747),7964=>array(112,-25,1044,742),7965=>array(124,-25,1058,745),7968=>array(3,-215,578,774),7969=>array(3,-215,578,779),7970=>array(3,-215,579,774),7971=>array(3,-215,614,781),7972=>array(3,-215,664,774),7973=>array(3,-215,691,779),7974=>array(3,-215,653,901),7975=>array(3,-215,673,901),7976=>array(93,-25,894,742),7977=>array(88,-25,889,747),7978=>array(111,-25,1084,742),7979=>array(124,-25,1111,747),7980=>array(114,-25,1088,742),7981=>array(131,-25,1099,745),7982=>array(120,-25,1012,875),7983=>array(117,-25,1026,878),7984=>array(-12,-16,286,767),7985=>array(-12,-16,322,772),7986=>array(-12,-16,339,767),7987=>array(-12,-16,382,774),7988=>array(-12,-16,418,767),7989=>array(-12,-16,448,772),7990=>array(-12,-16,437,900),7991=>array(-12,-16,438,901),7992=>array(109,-25,455,742),7993=>array(125,-25,464,741),7994=>array(112,-25,619,742),7995=>array(125,-25,649,747),7996=>array(111,-25,619,742),7997=>array(125,-25,621,745),7998=>array(122,-25,556,874),7999=>array(113,-25,559,875),8000=>array(-14,-10,564,770),8001=>array(-14,-10,564,775),8002=>array(-14,-10,564,770),8003=>array(-14,-10,564,777),8004=>array(-14,-10,594,770),8005=>array(-14,-10,624,775),8008=>array(119,-51,895,763),8009=>array(84,-51,855,769),8010=>array(117,-51,1068,763),8011=>array(131,-51,1071,769),8012=>array(114,-51,1014,763),8013=>array(134,-51,1012,767),8016=>array(-14,-39,575,767),8017=>array(-14,-39,575,772),8018=>array(-14,-39,575,767),8019=>array(-14,-39,575,774),8020=>array(-14,-39,577,767),8021=>array(-14,-39,607,772),8022=>array(-14,-39,596,901),8023=>array(-14,-39,598,901),8025=>array(132,-25,1034,747),8027=>array(128,-25,1218,747),8029=>array(129,-25,1232,745),8031=>array(122,-25,1151,876),8032=>array(-7,-34,736,773),8033=>array(-7,-34,736,778),8034=>array(-7,-34,736,773),8035=>array(-7,-34,736,780),8036=>array(-7,-34,736,773),8037=>array(-7,-34,736,778),8038=>array(-7,-34,736,901),8039=>array(-7,-34,736,899),8040=>array(45,-25,868,747),8041=>array(16,-25,839,753),8042=>array(113,-25,1056,747),8043=>array(131,-25,1051,753),8044=>array(114,-25,967,747),8045=>array(131,-25,966,751),8046=>array(123,-25,965,873),8047=>array(120,-25,989,874),8048=>array(11,-12,615,762),8049=>array(11,-12,615,762),8050=>array(-30,-10,537,762),8051=>array(-30,-10,537,762),8052=>array(3,-215,578,766),8053=>array(3,-215,578,766),8054=>array(-12,-16,284,759),8055=>array(-12,-16,316,759),8056=>array(-14,-10,564,762),8057=>array(-14,-10,564,762),8058=>array(-14,-39,575,759),8059=>array(-14,-39,575,759),8060=>array(-7,-34,736,765),8061=>array(-7,-34,736,765),8064=>array(11,-201,615,770),8065=>array(11,-201,615,775),8066=>array(11,-201,615,770),8067=>array(11,-201,615,792),8068=>array(11,-201,615,770),8069=>array(11,-201,616,775),8070=>array(11,-201,615,899),8071=>array(11,-201,616,897),8072=>array(-113,-25,834,748),8073=>array(-113,-25,835,747),8074=>array(39,-25,986,745),8075=>array(63,-25,1010,747),8076=>array(31,-25,976,742),8077=>array(14,-25,957,741),8078=>array(-33,-25,918,875),8079=>array(-8,-25,939,874),8080=>array(-18,-215,578,774),8081=>array(-19,-215,578,779),8082=>array(-20,-215,579,774),8083=>array(-19,-215,614,781),8084=>array(-19,-215,664,774),8085=>array(-19,-215,691,779),8086=>array(-20,-215,653,901),8087=>array(-19,-215,673,901),8088=>array(93,-25,948,742),8089=>array(88,-25,940,747),8090=>array(111,-25,1135,742),8091=>array(124,-25,1166,747),8092=>array(114,-25,1141,742),8093=>array(131,-25,1151,745),8094=>array(120,-25,1067,875),8095=>array(117,-25,1082,878),8096=>array(-7,-201,736,773),8097=>array(-7,-201,736,778),8098=>array(-7,-201,736,773),8099=>array(-7,-201,736,780),8100=>array(-7,-201,736,773),8101=>array(-7,-201,736,778),8102=>array(-7,-201,736,901),8103=>array(-7,-201,736,899),8104=>array(45,-25,985,747),8105=>array(16,-25,960,753),8106=>array(113,-25,1181,747),8107=>array(131,-25,1172,753),8108=>array(114,-25,1089,747),8109=>array(131,-25,1088,751),8110=>array(123,-25,1086,873),8111=>array(120,-25,1110,874),8112=>array(11,-12,615,755),8113=>array(11,-12,615,702),8114=>array(11,-201,615,762),8115=>array(11,-201,615,552),8116=>array(11,-201,615,762),8118=>array(11,-12,615,734),8119=>array(11,-201,615,734),8120=>array(-113,-25,630,900),8121=>array(-113,-25,630,880),8122=>array(-113,-25,630,741),8123=>array(-113,-25,630,741),8124=>array(-113,-25,834,741),8125=>array(34,670,175,828),8126=>array(18,0,200,176),8127=>array(114,583,255,741),8128=>array(-45,629,338,751),8129=>array(142,621,535,900),8130=>array(-17,-215,578,766),8131=>array(-17,-215,578,556),8132=>array(-17,-215,578,769),8134=>array(3,-215,580,738),8135=>array(-20,-215,580,738),8136=>array(96,-25,920,741),8137=>array(78,-25,934,741),8138=>array(91,-25,944,741),8139=>array(77,-25,951,741),8140=>array(-55,-25,806,741),8141=>array(112,583,418,741),8142=>array(145,583,497,741),8143=>array(23,583,406,899),8144=>array(-12,-16,346,752),8145=>array(-12,-16,358,702),8146=>array(-12,-16,402,795),8147=>array(-12,-16,394,794),8150=>array(-12,-16,390,731),8151=>array(-12,-16,457,888),8152=>array(-51,-25,386,899),8153=>array(-51,-25,389,861),8154=>array(99,-25,499,741),8155=>array(77,-25,509,741),8157=>array(160,604,477,763),8158=>array(194,589,544,746),8159=>array(61,583,444,899),8160=>array(-14,-39,575,752),8161=>array(-14,-39,575,702),8162=>array(-14,-39,575,796),8163=>array(-14,-39,575,795),8164=>array(-65,-225,604,775),8165=>array(-65,-225,604,780),8166=>array(-14,-39,575,731),8167=>array(-14,-39,617,888),8168=>array(63,-25,814,899),8169=>array(63,-25,814,880),8170=>array(63,-25,991,758),8171=>array(59,-25,1035,758),8172=>array(97,-25,834,747),8173=>array(124,604,510,796),8174=>array(124,610,510,802),8175=>array(175,607,339,757),8178=>array(-7,-200,736,765),8179=>array(-7,-200,736,555),8180=>array(-7,-200,736,766),8182=>array(-7,-34,736,737),8183=>array(-7,-201,736,737),8184=>array(101,-51,929,763),8185=>array(86,-51,868,763),8186=>array(77,-25,900,747),8187=>array(18,-25,841,747),8188=>array(-79,-25,875,747),8189=>array(247,607,475,757),8190=>array(170,589,306,746),8208=>array(69,207,365,311),8209=>array(69,207,365,311),8210=>array(35,207,624,311),8211=>array(35,207,624,311),8212=>array(37,207,1070,311),8213=>array(37,207,1070,311),8214=>array(57,-200,497,729),8215=>array(-85,-300,561,-90),8216=>array(166,469,357,729),8217=>array(165,469,356,729),8218=>array(36,-135,227,125),8219=>array(190,469,356,729),8220=>array(170,469,589,729),8221=>array(171,469,595,729),8222=>array(36,-135,462,125),8223=>array(190,469,571,729),8224=>array(109,-194,626,709),8225=>array(35,-194,623,709),8226=>array(111,175,367,425),8227=>array(63,179,405,511),8228=>array(64,0,245,146),8229=>array(92,0,605,146),8230=>array(92,0,939,146),8231=>array(143,182,270,282),8240=>array(72,-21,1021,739),8241=>array(72,-21,1390,739),8242=>array(159,467,370,743),8243=>array(159,467,564,743),8244=>array(159,467,748,743),8245=>array(166,467,315,743),8246=>array(166,467,495,743),8247=>array(166,467,679,743),8248=>array(-40,-196,407,169),8249=>array(128,72,351,481),8250=>array(96,72,319,481),8251=>array(81,33,660,527),8252=>array(112,0,750,726),8253=>array(138,0,694,744),8254=>array(158,740,731,820),8255=>array(8,-219,626,4),8256=>array(154,559,772,782),8257=>array(-58,-226,495,301),8258=>array(29,-32,871,729),8259=>array(77,161,406,321),8260=>array(-177,-20,489,715),8261=>array(73,-237,462,754),8262=>array(-45,-237,344,754),8263=>array(168,0,1283,744),8264=>array(168,0,1028,744),8265=>array(112,0,1005,744),8266=>array(115,-1,643,544),8267=>array(24,-191,640,729),8268=>array(58,99,620,561),8269=>array(44,107,606,569),8270=>array(145,-32,478,290),8271=>array(106,-174,374,520),8272=>array(51,-18,717,558),8273=>array(55,-32,492,739),8274=>array(61,0,727,736),8275=>array(56,268,659,424),8276=>array(-20,-239,598,-16),8277=>array(81,-39,852,726),8278=>array(116,-13,556,542),8279=>array(159,467,983,743),8280=>array(116,2,741,688),8281=>array(59,1,814,698),8282=>array(58,-1,323,750),8283=>array(116,-198,741,801),8284=>array(58,38,645,525),8285=>array(49,1,312,742),8286=>array(60,-9,327,743),8304=>array(121,370,460,819),8305=>array(122,390,315,864),8308=>array(107,390,451,815),8309=>array(111,373,478,813),8310=>array(122,370,466,819),8311=>array(153,389,497,814),8312=>array(118,370,473,819),8313=>array(116,368,460,817),8314=>array(142,457,469,746),8315=>array(142,566,469,637),8316=>array(127,493,485,708),8317=>array(128,302,372,899),8318=>array(123,303,367,900),8319=>array(110,390,479,747),8320=>array(5,-224,344,225),8321=>array(41,-200,269,225),8322=>array(-29,-200,346,234),8323=>array(-7,-217,336,230),8324=>array(-17,-200,327,225),8325=>array(-14,-218,353,222),8326=>array(-5,-217,339,232),8327=>array(40,-200,384,225),8328=>array(-5,-216,350,233),8329=>array(1,-217,345,232),8330=>array(10,-129,337,160),8331=>array(8,-20,335,51),8332=>array(-3,-108,355,107),8333=>array(5,-299,249,298),8334=>array(11,-300,255,297),8336=>array(-7,-215,337,157),8337=>array(3,-217,347,155),8338=>array(13,-219,373,153),8339=>array(-30,-200,382,151),8340=>array(15,-216,359,156),8355=>array(71,-1,725,731),8356=>array(14,-27,651,754),8357=>array(29,-114,905,651),8358=>array(86,0,792,730),8360=>array(80,-23,1311,729),8362=>array(-40,0,987,600),8363=>array(23,-24,720,803),8364=>array(89,-23,752,739),8368=>array(0,-202,658,752),8373=>array(10,-126,593,763),8376=>array(87,0,753,729),8377=>array(106,-47,742,729),8400=>array(-450,542,130,773),8401=>array(-450,542,115,773),8402=>array(-218,-24,9,686),8403=>array(-240,-11,-41,545),8406=>array(-470,524,166,911),8407=>array(-516,524,120,911),8411=>array(-465,495,30,595),8412=>array(-599,495,80,595),8413=>array(-724,-204,276,796),8414=>array(-725,-199,276,802),8415=>array(-726,-200,280,806),8416=>array(-728,-208,280,800),8417=>array(-519,534,178,918),8421=>array(-548,-64,-20,752),8423=>array(-314,87,214,641),8424=>array(-515,-186,-20,-86),8425=>array(-361,500,150,690),8426=>array(-908,10,26,556),8427=>array(-622,-102,206,594),8428=>array(-579,-270,-14,-38),8429=>array(-587,-267,-7,-35),8430=>array(-635,-302,1,-12),8431=>array(-656,-304,-20,-14),8432=>array(-164,562,42,757),8448=>array(90,-20,952,746),8449=>array(90,-20,986,746),8451=>array(84,-23,1093,741),8453=>array(86,-20,1008,742),8454=>array(86,-20,1016,742),8455=>array(29,-23,685,741),8456=>array(52,-23,735,741),8457=>array(94,0,1041,729),8462=>array(67,0,629,729),8465=>array(29,-102,748,714),8467=>array(64,-11,702,744),8468=>array(72,-23,912,729),8470=>array(59,0,1052,729),8471=>array(60,-44,880,776),8476=>array(37,-24,773,756),8480=>array(131,260,1084,742),8481=>array(133,0,1319,729),8482=>array(213,273,1087,729),8486=>array(-65,-25,758,747),8487=>array(-9,-43,814,729),8489=>array(114,0,368,561),8490=>array(74,0,843,729),8491=>array(26,0,703,953),8494=>array(64,-23,591,549),8498=>array(30,0,697,729),8501=>array(49,0,709,600),8502=>array(37,0,595,600),8503=>array(7,0,500,600),8504=>array(126,0,653,600),8506=>array(48,-21,844,702),8507=>array(63,0,1504,729),8513=>array(106,-23,818,741),8514=>array(160,0,686,729),8515=>array(32,0,686,729),8516=>array(22,0,645,729),8523=>array(94,-21,725,725),8525=>array(19,-20,1277,742),8526=>array(14,0,509,540),8531=>array(102,-20,899,742),8532=>array(68,-20,924,742),8533=>array(97,-20,907,743),8534=>array(72,-20,932,743),8535=>array(98,-20,927,743),8536=>array(97,-20,930,742),8537=>array(82,-20,916,743),8538=>array(101,-20,909,742),8539=>array(80,-20,901,743),8540=>array(99,-20,910,743),8541=>array(107,-20,904,743),8542=>array(90,-20,884,744),8543=>array(90,-20,836,742),8544=>array(63,0,368,729),8545=>array(63,0,646,729),8546=>array(63,0,924,729),8547=>array(63,0,1080,729),8548=>array(179,0,802,729),8549=>array(179,0,1035,729),8550=>array(179,0,1313,729),8551=>array(179,0,1591,729),8552=>array(63,0,1080,729),8553=>array(22,0,802,729),8554=>array(22,0,1035,729),8555=>array(22,0,1313,729),8556=>array(80,0,606,729),8557=>array(107,-23,793,741),8558=>array(77,0,776,729),8559=>array(66,0,931,729),8560=>array(67,0,362,729),8561=>array(67,0,640,729),8562=>array(67,0,918,729),8563=>array(67,0,929,729),8564=>array(129,0,651,540),8565=>array(129,0,918,729),8566=>array(129,0,1196,729),8567=>array(129,0,1474,729),8568=>array(67,0,926,729),8569=>array(16,0,648,540),8570=>array(16,0,918,729),8571=>array(16,0,1196,729),8572=>array(67,0,362,729),8573=>array(77,-23,597,549),8574=>array(79,-23,700,729),8575=>array(60,0,911,549),8592=>array(39,70,925,394),8593=>array(320,-211,644,675),8594=>array(42,70,928,394),8595=>array(320,-211,644,675),8596=>array(39,70,925,394),8597=>array(320,-211,644,675),8598=>array(158,-111,826,556),8599=>array(139,-112,806,556),8600=>array(138,-92,806,575),8601=>array(158,-92,825,576),8602=>array(39,-60,925,522),8603=>array(39,-60,925,522),8606=>array(39,70,928,394),8607=>array(322,-212,646,677),8608=>array(39,70,928,394),8609=>array(322,-213,646,676),8610=>array(39,70,925,394),8611=>array(39,70,925,394),8612=>array(39,20,925,445),8613=>array(270,-211,695,675),8614=>array(39,20,925,445),8615=>array(269,-211,694,675),8616=>array(270,-221,694,745),8644=>array(39,-110,925,574),8645=>array(140,-211,824,675),8646=>array(39,-110,925,574),8647=>array(39,-110,925,574),8648=>array(140,-211,824,675),8649=>array(39,-110,925,574),8650=>array(140,-211,824,675),8704=>array(165,0,842,729),8705=>array(125,-139,745,861),8706=>array(82,-23,653,709),8707=>array(29,0,729,729),8708=>array(12,-60,729,802),8709=>array(59,-25,821,747),8710=>array(8,0,721,729),8711=>array(88,0,801,729),8712=>array(70,0,621,616),8713=>array(4,-50,636,685),8714=>array(68,1,585,469),8715=>array(24,-1,575,615),8716=>array(22,-60,654,675),8717=>array(30,-1,547,467),8718=>array(77,35,530,655),8719=>array(43,-181,851,734),8720=>array(31,-185,839,730),8721=>array(-1,-195,893,729),8722=>array(87,172,596,292),8723=>array(50,0,630,633),8724=>array(87,1,596,664),8725=>array(0,-20,746,741),8726=>array(40,-20,412,544),8727=>array(47,66,516,537),8728=>array(84,121,457,493),8729=>array(168,175,424,425),8730=>array(68,-75,827,918),8731=>array(68,-75,827,918),8732=>array(68,-75,827,918),8733=>array(79,124,716,404),8734=>array(49,124,720,404),8735=>array(62,0,587,525),8736=>array(28,0,740,712),8739=>array(70,-14,150,676),8741=>array(70,-14,310,676),8743=>array(30,0,578,448),8744=>array(30,0,578,448),8745=>array(30,-1,767,508),8746=>array(65,-11,802,498),8747=>array(-12,-246,610,767),8748=>array(-12,-246,900,767),8749=>array(-12,-246,1190,767),8764=>array(37,140,521,312),8776=>array(27,46,549,422),8800=>array(61,-74,622,544),8801=>array(87,24,596,514),8804=>array(35,0,657,624),8805=>array(44,0,627,624),8834=>array(80,0,631,616),8835=>array(24,1,575,617),8838=>array(7,-57,641,734),8839=>array(7,-56,595,732),8976=>array(57,86,624,376),8994=>array(90,148,650,342),8995=>array(9,142,569,336),9001=>array(43,-198,463,746),9002=>array(-17,-198,402,746),9251=>array(10,0,533,200),9674=>array(16,-26,518,744),9675=>array(60,-44,880,776),9702=>array(70,151,378,451),9711=>array(10,-204,1010,796),9824=>array(14,-20,611,782),9825=>array(15,-96,679,724),9826=>array(8,-56,587,748),9827=>array(15,-20,761,725),9828=>array(14,-20,611,782),9829=>array(15,-97,679,724),9830=>array(8,-56,587,748),9831=>array(15,-20,761,725),9833=>array(-20,0,351,694),9834=>array(-3,0,522,694),9835=>array(23,0,742,729),9836=>array(23,0,742,729),9837=>array(23,-36,452,730),9838=>array(56,-214,475,712),9839=>array(14,-197,529,762),11568=>array(60,-10,347,270),11569=>array(124,-16,902,744),11570=>array(124,-16,902,744),11571=>array(72,0,803,728),11572=>array(72,0,803,728),11573=>array(72,0,803,728),11574=>array(182,0,756,738),11575=>array(48,0,704,728),11576=>array(202,0,859,728),11577=>array(72,0,803,728),11578=>array(72,0,803,728),11579=>array(117,-10,632,728),11580=>array(72,0,781,728),11581=>array(72,0,825,728),11582=>array(87,-10,600,738),11583=>array(72,0,788,728),11584=>array(124,-16,902,744),11585=>array(102,-16,925,744),11586=>array(83,-20,383,748),11587=>array(72,0,803,728),11588=>array(60,0,727,728),11589=>array(72,0,803,728),11590=>array(79,44,628,532),11591=>array(72,0,825,728),11592=>array(129,270,822,458),11593=>array(92,0,686,728),11594=>array(48,0,650,728),11595=>array(56,-16,987,744),11596=>array(96,0,895,728),11597=>array(52,0,627,728),11598=>array(72,0,803,728),11599=>array(90,0,365,728),11600=>array(96,0,895,728),11601=>array(21,-244,365,728),11602=>array(105,-16,804,728),11603=>array(78,-10,465,738),11604=>array(124,-16,902,744),11605=>array(124,-16,902,744),11606=>array(124,0,791,728),11607=>array(75,-10,388,738),11608=>array(71,-10,724,738),11609=>array(124,-16,902,744),11610=>array(124,-16,943,744),11611=>array(124,-16,819,744),11612=>array(118,0,461,728),11613=>array(72,0,803,728),11614=>array(124,-16,819,744),11615=>array(72,0,803,728),11616=>array(48,0,661,728),11617=>array(72,0,803,728),11618=>array(48,-23,649,756),11619=>array(54,0,929,728),11620=>array(72,0,486,728),11621=>array(54,0,929,728),11631=>array(166,444,565,728),11798=>array(38,-40,591,645),11799=>array(52,68,398,497),11800=>array(43,-23,599,721),11802=>array(40,207,404,571),11803=>array(27,142,511,547),11806=>array(37,142,521,491),11807=>array(27,1,511,314),11816=>array(24,-200,589,729),11817=>array(-41,-200,524,729),11818=>array(68,16,666,544),11819=>array(50,58,675,398),11820=>array(40,178,665,518),11821=>array(50,18,675,593),11822=>array(116,0,618,744),42888=>array(138,-55,456,92),42889=>array(63,0,324,520),42890=>array(55,52,336,412),42891=>array(164,303,362,770),42892=>array(196,462,362,770),42922=>array(141,0,1007,729),64256=>array(90,0,737,729),64257=>array(90,0,660,729),64258=>array(90,0,687,729),64259=>array(90,0,933,729),64260=>array(90,0,933,729),64261=>array(90,-23,708,729),64275=>array(94,-23,1288,729),64276=>array(94,-23,1291,729),64277=>array(94,-200,1251,729),64278=>array(94,-200,1288,729),64279=>array(94,-200,1498,729),64285=>array(92,136,300,600),64286=>array(142,660,449,813),64287=>array(92,138,558,600),64288=>array(26,0,647,600),64289=>array(29,0,939,600),64290=>array(106,0,883,600),64291=>array(19,0,883,600),64292=>array(16,0,804,600),64293=>array(105,0,913,750),64294=>array(20,0,886,600),64295=>array(106,0,800,600),64296=>array(3,0,958,600),64297=>array(27,172,535,473),64298=>array(87,0,855,721),64299=>array(87,0,854,721),64300=>array(87,0,854,721),64301=>array(87,0,854,721),64302=>array(49,-142,709,600),64303=>array(49,-248,709,600),64304=>array(49,-108,709,600),64305=>array(37,0,595,600),64306=>array(7,0,500,600),64307=>array(126,0,653,600),64308=>array(39,0,652,600),64309=>array(33,0,357,600),64310=>array(56,0,458,600),64312=>array(81,0,651,600),64313=>array(66,276,370,600),64314=>array(125,-200,563,600),64315=>array(36,0,577,600),64316=>array(125,0,683,750),64318=>array(46,0,677,600),64320=>array(33,0,402,600),64321=>array(80,0,651,600),64323=>array(112,-200,634,601),64324=>array(39,0,641,600),64326=>array(46,0,667,600),64327=>array(-3,-200,687,600),64328=>array(126,0,570,600),64329=>array(87,0,854,600),64330=>array(23,0,730,600),64331=>array(39,0,306,742),64332=>array(37,0,595,742),64333=>array(36,0,577,742),64334=>array(39,0,641,742),64335=>array(164,0,709,750),65532=>array(69,-2,781,686),65533=>array(54,-63,917,800),65535=>array(-5,-139,925,800)); +$cw=array(0=>800,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>350,179=>350,180=>333,181=>667,182=>556,183=>278,184=>333,185=>248,186=>365,187=>556,188=>869,189=>869,190=>869,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>892,231=>556,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,253=>556,254=>611,255=>556,256=>722,257=>556,258=>722,259=>556,260=>722,261=>556,262=>722,263=>556,264=>722,265=>556,266=>722,267=>556,268=>722,269=>556,270=>722,271=>755,272=>722,273=>611,274=>667,275=>556,276=>667,277=>556,278=>667,279=>556,280=>667,281=>556,282=>667,283=>556,284=>778,285=>611,286=>778,287=>611,288=>778,289=>611,290=>778,291=>611,292=>722,293=>611,294=>722,295=>611,296=>278,297=>300,298=>278,299=>300,300=>278,301=>300,302=>278,303=>278,304=>278,305=>278,306=>595,307=>488,308=>556,309=>300,310=>722,311=>556,312=>529,313=>611,314=>278,315=>611,316=>278,317=>611,318=>444,319=>611,320=>466,321=>611,322=>278,323=>722,324=>611,325=>722,326=>611,327=>722,328=>611,329=>656,330=>720,331=>611,332=>778,333=>611,334=>778,335=>611,336=>778,337=>611,338=>1000,339=>962,340=>722,341=>389,342=>722,343=>389,344=>722,345=>389,346=>667,347=>556,348=>667,349=>556,350=>667,351=>556,352=>667,353=>556,354=>611,355=>333,356=>611,357=>444,358=>611,359=>404,360=>722,361=>611,362=>722,363=>611,364=>722,365=>611,366=>722,367=>611,368=>722,369=>611,370=>722,371=>611,372=>944,373=>778,374=>667,375=>556,376=>667,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>333,384=>611,385=>857,386=>722,387=>611,388=>667,389=>611,390=>722,391=>752,392=>586,393=>722,394=>818,395=>722,396=>611,397=>609,398=>667,399=>778,400=>672,401=>611,402=>333,403=>778,404=>667,405=>940,406=>278,407=>395,408=>778,409=>556,410=>333,411=>620,412=>889,413=>722,414=>611,415=>778,416=>788,417=>653,418=>973,419=>739,420=>756,421=>611,422=>647,423=>667,424=>556,425=>688,426=>441,427=>333,428=>605,429=>333,430=>611,431=>769,432=>664,433=>780,434=>722,435=>762,436=>650,437=>611,438=>500,439=>556,440=>556,441=>645,442=>569,443=>579,446=>546,447=>608,448=>258,449=>443,450=>584,451=>278,452=>1333,453=>1222,454=>1111,455=>1167,456=>889,457=>556,458=>1278,459=>1000,460=>889,461=>722,462=>556,463=>278,464=>300,465=>778,466=>611,467=>722,468=>611,469=>722,470=>611,471=>722,472=>611,473=>722,474=>611,475=>722,476=>611,477=>556,478=>722,479=>556,480=>722,481=>556,482=>1000,483=>892,484=>811,485=>641,486=>778,487=>611,488=>722,489=>556,490=>778,491=>611,492=>778,493=>611,494=>556,495=>556,496=>278,497=>1333,498=>1222,499=>1111,500=>778,501=>611,503=>630,504=>722,505=>611,506=>722,507=>556,508=>1000,509=>892,510=>778,511=>611,512=>722,513=>556,514=>722,515=>556,516=>667,517=>556,518=>667,519=>556,520=>278,521=>301,522=>278,523=>278,524=>778,525=>611,526=>778,527=>611,528=>722,529=>389,530=>722,531=>389,532=>722,533=>611,534=>722,535=>611,536=>667,537=>556,538=>611,539=>333,540=>569,541=>486,542=>722,543=>611,548=>645,549=>500,550=>722,551=>556,552=>667,553=>556,554=>778,555=>611,556=>778,557=>611,558=>778,559=>611,560=>778,561=>611,562=>667,563=>556,567=>278,592=>556,593=>611,594=>671,595=>611,596=>556,597=>600,598=>595,599=>611,600=>556,601=>556,602=>834,603=>570,604=>546,605=>820,606=>570,607=>278,608=>611,609=>611,610=>556,611=>556,612=>646,613=>619,614=>611,615=>611,616=>278,617=>326,618=>278,619=>473,620=>527,621=>298,622=>778,623=>889,624=>889,625=>889,626=>611,627=>611,628=>615,629=>590,630=>878,631=>822,632=>778,633=>389,634=>389,635=>406,636=>419,637=>389,638=>455,639=>455,640=>620,641=>586,642=>606,643=>333,644=>302,645=>333,646=>556,647=>328,648=>333,649=>623,650=>686,651=>630,652=>556,653=>778,654=>556,655=>556,656=>519,657=>571,658=>556,659=>632,660=>563,661=>563,662=>563,663=>556,664=>579,665=>572,666=>570,667=>616,668=>603,669=>552,670=>556,671=>454,672=>611,673=>546,674=>546,675=>1004,676=>1018,677=>1097,678=>804,679=>593,680=>840,681=>866,682=>752,683=>668,684=>536,685=>486,686=>659,687=>679,688=>377,689=>377,690=>202,691=>272,692=>272,693=>299,694=>395,695=>534,696=>364,697=>278,698=>454,699=>278,700=>333,701=>278,702=>333,703=>333,704=>333,705=>333,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>333,713=>333,714=>333,715=>333,716=>272,717=>333,718=>333,719=>333,720=>333,721=>333,722=>333,723=>333,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,735=>510,736=>372,737=>210,738=>363,739=>373,740=>334,741=>526,742=>526,743=>526,744=>526,745=>526,746=>519,747=>519,748=>333,749=>333,750=>333,751=>333,752=>333,753=>333,754=>333,755=>333,756=>333,757=>437,758=>437,759=>400,760=>333,761=>200,762=>200,763=>200,764=>200,765=>332,766=>333,767=>333,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,884=>208,885=>247,890=>364,894=>333,900=>239,901=>446,902=>688,903=>333,904=>903,905=>962,906=>448,908=>904,910=>991,911=>932,912=>346,913=>764,914=>688,915=>642,916=>744,917=>710,918=>688,919=>743,920=>810,921=>296,922=>744,923=>744,924=>860,925=>714,926=>690,927=>822,928=>781,929=>698,931=>688,932=>688,933=>744,934=>777,935=>783,936=>805,937=>780,938=>296,939=>744,940=>640,941=>530,942=>597,943=>339,944=>575,945=>656,946=>576,947=>591,948=>620,949=>570,950=>522,951=>586,952=>586,953=>346,954=>576,955=>620,956=>667,957=>564,958=>530,959=>610,960=>721,961=>626,962=>595,963=>676,964=>592,965=>575,966=>801,967=>632,968=>722,969=>800,970=>346,971=>575,972=>609,973=>604,974=>769,977=>580,978=>742,979=>857,980=>620,981=>778,982=>740,983=>601,1008=>556,1009=>566,1012=>778,1013=>328,1024=>667,1025=>667,1026=>790,1027=>617,1028=>731,1029=>667,1030=>278,1031=>278,1032=>556,1033=>1110,1034=>1088,1035=>790,1036=>722,1037=>757,1038=>698,1039=>722,1040=>722,1041=>722,1042=>722,1043=>617,1044=>876,1045=>667,1046=>1100,1047=>670,1048=>757,1049=>757,1050=>722,1051=>715,1052=>874,1053=>753,1054=>778,1055=>753,1056=>680,1057=>722,1058=>611,1059=>698,1060=>909,1061=>657,1062=>845,1063=>688,1064=>1132,1065=>1217,1066=>835,1067=>980,1068=>678,1069=>735,1070=>1142,1071=>708,1072=>553,1073=>591,1074=>574,1075=>429,1076=>745,1077=>572,1078=>792,1079=>554,1080=>603,1081=>603,1082=>559,1083=>583,1084=>664,1085=>603,1086=>588,1087=>603,1088=>605,1089=>549,1090=>440,1091=>541,1092=>948,1093=>539,1094=>690,1095=>564,1096=>901,1097=>987,1098=>692,1099=>806,1100=>572,1101=>546,1102=>893,1103=>586,1104=>572,1105=>572,1106=>616,1107=>429,1108=>549,1109=>562,1110=>281,1111=>300,1112=>282,1113=>888,1114=>897,1115=>606,1116=>559,1117=>603,1118=>541,1119=>603,1120=>986,1121=>736,1136=>830,1137=>761,1138=>778,1139=>590,1148=>942,1149=>736,1150=>986,1151=>736,1154=>456,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>791,1163=>662,1164=>639,1165=>581,1166=>670,1167=>649,1168=>623,1169=>450,1170=>623,1171=>472,1172=>674,1173=>528,1174=>1091,1175=>803,1176=>659,1177=>548,1178=>739,1179=>569,1180=>742,1181=>560,1182=>737,1183=>559,1184=>900,1185=>679,1186=>808,1187=>673,1188=>1004,1189=>761,1190=>1114,1191=>876,1192=>963,1193=>766,1194=>724,1195=>554,1196=>611,1197=>454,1198=>667,1199=>584,1200=>652,1201=>632,1202=>667,1203=>550,1204=>951,1205=>748,1206=>759,1207=>630,1208=>669,1209=>580,1210=>672,1211=>576,1212=>977,1213=>752,1214=>993,1215=>761,1216=>318,1217=>1087,1218=>792,1219=>726,1220=>530,1221=>782,1222=>674,1223=>749,1224=>603,1225=>823,1226=>682,1227=>675,1228=>573,1229=>941,1230=>754,1231=>310,1232=>704,1233=>553,1234=>711,1235=>553,1236=>1000,1237=>892,1238=>667,1239=>569,1240=>738,1241=>561,1242=>738,1243=>561,1244=>1086,1245=>792,1246=>670,1247=>554,1248=>558,1249=>546,1250=>753,1251=>603,1252=>753,1253=>603,1254=>778,1255=>588,1256=>778,1257=>590,1258=>778,1259=>590,1260=>735,1261=>546,1262=>698,1263=>541,1264=>698,1265=>541,1266=>698,1267=>541,1268=>686,1269=>564,1270=>617,1271=>475,1272=>976,1273=>806,1296=>672,1297=>546,1298=>729,1299=>577,1306=>778,1307=>611,1308=>944,1309=>776,1310=>750,1311=>573,1329=>730,1330=>713,1331=>765,1332=>752,1333=>708,1334=>801,1335=>496,1336=>713,1337=>855,1338=>686,1339=>727,1340=>420,1341=>897,1342=>841,1343=>708,1344=>660,1345=>666,1346=>747,1347=>698,1348=>757,1349=>630,1350=>747,1351=>651,1352=>743,1353=>657,1354=>728,1355=>799,1356=>752,1357=>743,1358=>768,1359=>691,1360=>713,1361=>640,1362=>425,1363=>818,1364=>672,1365=>805,1366=>754,1369=>333,1370=>222,1371=>250,1372=>333,1373=>333,1374=>352,1375=>362,1377=>873,1378=>613,1379=>634,1380=>636,1381=>593,1382=>639,1383=>417,1384=>613,1385=>658,1386=>711,1387=>609,1388=>318,1389=>836,1390=>670,1391=>613,1392=>607,1393=>611,1394=>626,1395=>619,1396=>618,1397=>324,1398=>613,1399=>540,1400=>591,1401=>392,1402=>873,1403=>577,1404=>603,1405=>600,1406=>626,1407=>951,1408=>613,1409=>612,1410=>348,1411=>951,1412=>616,1413=>606,1414=>763,1415=>626,1417=>333,1418=>398,1423=>752,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1467=>0,1468=>0,1469=>0,1470=>596,1471=>0,1472=>377,1473=>0,1474=>0,1475=>413,1476=>0,1488=>714,1489=>651,1490=>557,1491=>638,1492=>682,1493=>297,1494=>443,1495=>682,1496=>670,1497=>284,1498=>590,1499=>595,1500=>667,1501=>683,1502=>694,1503=>297,1504=>429,1505=>670,1506=>653,1507=>661,1508=>660,1509=>616,1510=>671,1511=>672,1512=>600,1513=>840,1514=>756,1520=>554,1521=>550,1522=>542,1523=>238,1524=>474,4256=>616,4257=>645,4258=>664,4259=>839,4260=>627,4261=>630,4262=>827,4263=>928,4264=>639,4265=>630,4266=>951,4267=>606,4268=>608,4269=>835,4270=>630,4271=>610,4272=>804,4273=>615,4274=>823,4275=>747,4276=>870,4277=>627,4278=>840,4279=>627,4280=>665,4281=>610,4282=>799,4283=>598,4284=>665,4285=>664,4286=>608,4287=>886,4288=>629,4304=>463,4305=>516,4306=>564,4307=>706,4308=>459,4309=>476,4310=>623,4311=>711,4312=>494,4313=>476,4314=>894,4315=>500,4316=>500,4317=>712,4318=>493,4319=>503,4320=>712,4321=>503,4322=>710,4323=>670,4324=>707,4325=>459,4326=>691,4327=>465,4328=>492,4329=>480,4330=>656,4331=>500,4332=>492,4333=>524,4334=>500,4335=>688,4336=>510,4337=>739,4338=>450,4339=>479,4340=>502,4341=>501,4345=>564,4347=>515,4348=>449,5024=>714,5025=>731,5026=>624,5027=>908,5028=>1040,5029=>271,5030=>654,5031=>863,5032=>604,5033=>791,5034=>714,5035=>522,5036=>661,5037=>926,5038=>615,5039=>811,5040=>538,5041=>633,5042=>979,5043=>964,5044=>635,5045=>607,5046=>753,5047=>831,5048=>566,5049=>977,5050=>958,5051=>710,5052=>616,5053=>834,5054=>790,5055=>612,5056=>766,5057=>857,5058=>627,5059=>649,5060=>607,5061=>1127,5062=>680,5063=>920,5064=>928,5065=>1333,5066=>920,5067=>705,5068=>695,5069=>1074,5070=>672,5071=>672,5072=>667,5073=>819,5074=>679,5075=>575,5076=>903,5077=>652,5078=>776,5079=>643,5080=>670,5081=>660,5082=>648,5083=>934,5084=>909,5085=>613,5086=>615,5087=>735,5088=>900,5089=>1024,5090=>647,5091=>760,5092=>829,5093=>824,5094=>756,5095=>625,5096=>981,5097=>1014,5098=>1040,5099=>790,5100=>926,5101=>686,5102=>656,5103=>920,5104=>741,5105=>890,5106=>626,5107=>974,5108=>699,7680=>722,7681=>556,7682=>722,7683=>611,7684=>722,7685=>611,7686=>722,7687=>611,7688=>722,7689=>556,7690=>722,7691=>611,7692=>722,7693=>611,7694=>722,7695=>611,7696=>722,7697=>611,7698=>722,7699=>611,7700=>667,7701=>556,7702=>667,7703=>556,7704=>667,7705=>556,7706=>667,7707=>556,7708=>667,7709=>556,7710=>611,7711=>333,7712=>778,7713=>611,7714=>722,7715=>611,7716=>722,7717=>611,7718=>722,7719=>611,7720=>722,7721=>611,7722=>722,7723=>611,7724=>278,7725=>278,7726=>278,7727=>278,7728=>722,7729=>556,7730=>722,7731=>556,7732=>722,7733=>556,7734=>611,7735=>278,7736=>611,7737=>278,7738=>611,7739=>278,7740=>611,7741=>278,7742=>833,7743=>889,7744=>833,7745=>889,7746=>833,7747=>889,7748=>722,7749=>611,7750=>722,7751=>611,7752=>722,7753=>611,7754=>722,7755=>611,7756=>778,7757=>611,7758=>778,7759=>611,7760=>778,7761=>611,7762=>778,7763=>611,7764=>667,7765=>611,7766=>667,7767=>611,7768=>722,7769=>389,7770=>722,7771=>389,7772=>722,7773=>389,7774=>722,7775=>389,7776=>667,7777=>556,7778=>667,7779=>556,7780=>667,7781=>556,7782=>667,7783=>556,7784=>667,7785=>556,7786=>611,7787=>333,7788=>611,7789=>333,7790=>611,7791=>333,7792=>611,7793=>333,7794=>722,7795=>611,7796=>722,7797=>611,7798=>722,7799=>611,7800=>722,7801=>611,7802=>722,7803=>611,7804=>667,7805=>556,7806=>667,7807=>556,7808=>944,7809=>778,7810=>944,7811=>778,7812=>944,7813=>778,7814=>944,7815=>778,7816=>944,7817=>778,7818=>667,7819=>556,7820=>667,7821=>556,7822=>667,7823=>556,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>611,7831=>333,7832=>778,7833=>556,7834=>555,7835=>333,7840=>722,7841=>556,7842=>722,7843=>556,7844=>722,7845=>556,7846=>722,7847=>556,7848=>722,7849=>556,7850=>722,7851=>556,7852=>722,7853=>556,7854=>722,7855=>556,7856=>722,7857=>556,7858=>722,7859=>556,7860=>722,7861=>556,7862=>722,7863=>556,7864=>667,7865=>556,7866=>667,7867=>556,7868=>667,7869=>556,7870=>667,7871=>556,7872=>667,7873=>556,7874=>667,7875=>556,7876=>667,7877=>556,7878=>667,7879=>556,7880=>278,7881=>278,7882=>278,7883=>278,7884=>778,7885=>611,7886=>778,7887=>611,7888=>778,7889=>611,7890=>778,7891=>611,7892=>778,7893=>611,7894=>778,7895=>611,7896=>778,7897=>611,7898=>788,7899=>653,7900=>788,7901=>653,7902=>788,7903=>653,7904=>788,7905=>653,7906=>788,7907=>653,7908=>722,7909=>611,7910=>722,7911=>611,7912=>769,7913=>664,7914=>769,7915=>664,7916=>769,7917=>664,7918=>769,7919=>664,7920=>769,7921=>664,7922=>667,7923=>556,7924=>667,7925=>556,7926=>667,7927=>556,7928=>667,7929=>556,7936=>656,7937=>656,7938=>656,7939=>656,7940=>656,7941=>656,7942=>656,7943=>656,7944=>764,7945=>764,7946=>916,7947=>940,7948=>908,7949=>891,7950=>844,7951=>869,7952=>570,7953=>570,7954=>570,7955=>570,7956=>570,7957=>570,7960=>842,7961=>836,7962=>1025,7963=>1051,7964=>1035,7965=>1049,7968=>586,7969=>586,7970=>586,7971=>586,7972=>586,7973=>586,7974=>586,7975=>586,7976=>891,7977=>886,7978=>1081,7979=>1108,7980=>1085,7981=>1096,7982=>1009,7983=>1023,7984=>346,7985=>346,7986=>346,7987=>346,7988=>346,7989=>346,7990=>346,7991=>346,7992=>467,7993=>476,7994=>631,7995=>661,7996=>631,7997=>633,7998=>568,7999=>571,8000=>610,8001=>610,8002=>610,8003=>610,8004=>610,8005=>610,8008=>945,8009=>905,8010=>1118,8011=>1121,8012=>1064,8013=>1062,8016=>575,8017=>575,8018=>575,8019=>575,8020=>575,8021=>575,8022=>575,8023=>575,8025=>964,8027=>1148,8029=>1162,8031=>1081,8032=>800,8033=>800,8034=>800,8035=>800,8036=>800,8037=>800,8038=>800,8039=>800,8040=>904,8041=>875,8042=>1092,8043=>1087,8044=>1003,8045=>1002,8046=>1001,8047=>1025,8048=>656,8049=>656,8050=>570,8051=>570,8052=>586,8053=>586,8054=>346,8055=>346,8056=>610,8057=>610,8058=>575,8059=>575,8060=>800,8061=>800,8064=>656,8065=>656,8066=>656,8067=>656,8068=>656,8069=>656,8070=>656,8071=>656,8072=>854,8073=>855,8074=>1006,8075=>1030,8076=>996,8077=>977,8078=>938,8079=>959,8080=>586,8081=>586,8082=>586,8083=>586,8084=>586,8085=>586,8086=>586,8087=>586,8088=>960,8089=>960,8090=>1155,8091=>1186,8092=>1161,8093=>1171,8094=>1087,8095=>1102,8096=>800,8097=>800,8098=>800,8099=>800,8100=>800,8101=>800,8102=>800,8103=>800,8104=>1005,8105=>980,8106=>1201,8107=>1192,8108=>1109,8109=>1108,8110=>1106,8111=>1130,8112=>656,8113=>656,8114=>656,8115=>656,8116=>640,8118=>656,8119=>656,8120=>764,8121=>764,8122=>764,8123=>764,8124=>854,8125=>278,8126=>201,8127=>147,8128=>278,8129=>333,8130=>586,8131=>586,8132=>597,8134=>586,8135=>586,8136=>911,8137=>925,8138=>941,8139=>948,8140=>826,8141=>402,8142=>403,8143=>147,8144=>346,8145=>346,8146=>346,8147=>346,8150=>346,8151=>346,8152=>296,8153=>296,8154=>511,8155=>521,8157=>434,8158=>433,8159=>333,8160=>575,8161=>575,8162=>575,8163=>575,8164=>626,8165=>626,8166=>575,8167=>575,8168=>744,8169=>744,8170=>901,8171=>975,8172=>837,8173=>353,8174=>351,8175=>303,8178=>800,8179=>800,8180=>800,8182=>800,8183=>800,8184=>979,8185=>918,8186=>936,8187=>877,8188=>895,8189=>333,8190=>159,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>167,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>556,8211=>556,8212=>1000,8213=>1000,8214=>437,8215=>556,8216=>278,8217=>278,8218=>278,8219=>278,8220=>500,8221=>500,8222=>500,8223=>503,8224=>556,8225=>556,8226=>400,8227=>400,8228=>278,8229=>666,8230=>1000,8231=>278,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>167,8240=>1000,8241=>1372,8242=>238,8243=>426,8244=>614,8245=>238,8246=>379,8247=>571,8248=>450,8249=>333,8250=>333,8251=>622,8252=>666,8253=>617,8254=>556,8255=>658,8256=>658,8257=>438,8258=>840,8259=>400,8260=>167,8261=>334,8262=>334,8263=>1222,8264=>944,8265=>944,8266=>556,8267=>556,8268=>600,8269=>600,8270=>389,8271=>333,8272=>658,8273=>389,8274=>634,8275=>568,8276=>658,8277=>793,8278=>515,8279=>855,8280=>722,8281=>725,8282=>224,8283=>722,8284=>604,8285=>224,8286=>224,8287=>0,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>351,8305=>200,8308=>351,8309=>351,8310=>351,8311=>351,8312=>351,8313=>351,8314=>351,8315=>351,8316=>351,8317=>270,8318=>270,8319=>391,8320=>351,8321=>251,8322=>351,8323=>351,8324=>351,8325=>351,8326=>351,8327=>351,8328=>351,8329=>351,8330=>350,8331=>350,8332=>350,8333=>270,8334=>270,8336=>363,8337=>366,8338=>394,8339=>360,8340=>355,8355=>611,8356=>576,8357=>833,8358=>724,8360=>1286,8362=>1049,8363=>571,8364=>640,8368=>594,8373=>591,8376=>612,8377=>599,8400=>0,8401=>0,8402=>0,8403=>0,8406=>0,8407=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8421=>0,8422=>0,8423=>0,8424=>0,8425=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8432=>0,8448=>945,8449=>1007,8451=>1020,8453=>981,8454=>1002,8455=>667,8456=>722,8457=>930,8462=>611,8465=>606,8467=>608,8468=>883,8470=>1006,8471=>860,8476=>699,8480=>1000,8481=>1330,8482=>1000,8486=>780,8487=>780,8489=>286,8490=>722,8491=>722,8494=>556,8498=>626,8501=>714,8502=>651,8503=>557,8504=>638,8506=>906,8507=>1425,8513=>778,8514=>611,8515=>611,8516=>667,8523=>710,8525=>1242,8526=>460,8531=>869,8532=>869,8533=>869,8534=>869,8535=>869,8536=>869,8537=>869,8538=>869,8539=>869,8540=>869,8541=>869,8542=>869,8543=>869,8544=>278,8545=>556,8546=>834,8547=>945,8548=>667,8549=>945,8550=>1223,8551=>1501,8552=>945,8553=>667,8554=>945,8555=>1223,8556=>611,8557=>722,8558=>722,8559=>833,8560=>278,8561=>556,8562=>834,8563=>834,8564=>556,8565=>834,8566=>1112,8567=>1390,8568=>834,8569=>556,8570=>834,8571=>1112,8572=>278,8573=>556,8574=>611,8575=>889,8592=>964,8593=>964,8594=>964,8595=>964,8596=>964,8597=>964,8598=>964,8599=>964,8600=>964,8601=>964,8602=>964,8603=>964,8606=>964,8607=>964,8608=>964,8609=>964,8610=>964,8611=>964,8612=>964,8613=>964,8614=>964,8615=>964,8616=>964,8644=>964,8645=>964,8646=>964,8647=>964,8648=>964,8649=>964,8650=>964,8704=>697,8705=>716,8706=>608,8707=>667,8708=>667,8709=>860,8710=>729,8711=>729,8712=>584,8713=>584,8714=>585,8715=>584,8716=>584,8717=>585,8718=>500,8719=>800,8720=>801,8721=>856,8722=>584,8723=>584,8724=>584,8725=>627,8726=>452,8727=>500,8728=>500,8729=>500,8730=>637,8731=>549,8732=>549,8733=>713,8734=>713,8735=>639,8736=>800,8739=>220,8741=>380,8743=>608,8744=>608,8745=>768,8746=>768,8747=>518,8748=>808,8749=>1098,8764=>500,8776=>500,8800=>584,8801=>584,8804=>584,8805=>584,8834=>584,8835=>584,8838=>584,8839=>584,8976=>584,8994=>658,8995=>658,9001=>380,9002=>380,9251=>500,9674=>541,9675=>860,9702=>400,9711=>1020,9824=>626,9825=>694,9826=>595,9827=>776,9828=>626,9829=>694,9830=>595,9831=>776,9833=>333,9834=>556,9835=>778,9836=>778,9837=>556,9838=>556,9839=>556,11568=>352,11569=>872,11570=>872,11571=>720,11572=>720,11573=>720,11574=>664,11575=>752,11576=>752,11577=>720,11578=>720,11579=>596,11580=>698,11581=>742,11582=>574,11583=>742,11584=>872,11585=>872,11586=>312,11587=>720,11588=>696,11589=>720,11590=>584,11591=>742,11592=>796,11593=>613,11594=>672,11595=>888,11596=>836,11597=>524,11598=>720,11599=>300,11600=>836,11601=>300,11602=>718,11603=>388,11604=>872,11605=>872,11606=>696,11607=>308,11608=>640,11609=>872,11610=>872,11611=>762,11612=>424,11613=>720,11614=>762,11615=>720,11616=>709,11617=>720,11618=>541,11619=>828,11620=>454,11621=>828,11631=>482,11798=>584,11799=>333,11800=>611,11802=>333,11803=>500,11806=>500,11807=>500,11816=>504,11817=>504,11818=>660,11819=>660,11820=>660,11821=>660,11822=>611,42888=>333,42889=>276,42890=>342,42891=>258,42892=>258,42922=>917,64256=>607,64257=>576,64258=>603,64259=>849,64260=>849,64261=>627,64275=>1243,64276=>1226,64277=>1233,64278=>1238,64279=>1448,64285=>284,64286=>305,64287=>542,64288=>653,64289=>964,64290=>888,64291=>932,64292=>845,64293=>917,64294=>933,64295=>850,64296=>1006,64297=>584,64298=>840,64299=>840,64300=>840,64301=>840,64302=>714,64303=>714,64304=>714,64305=>651,64306=>557,64307=>638,64308=>682,64309=>348,64310=>443,64312=>670,64313=>284,64314=>590,64315=>595,64316=>667,64318=>694,64320=>429,64321=>670,64323=>661,64324=>660,64326=>671,64327=>672,64328=>600,64329=>840,64330=>756,64331=>212,64332=>591,64333=>550,64334=>568,64335=>714,65529=>0,65530=>0,65531=>0,65532=>800,65533=>900,65535=>800); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansbi.z b/vendor/tecnickcom/tcpdf/fonts/freesansbi.z new file mode 100644 index 0000000..c1cfa09 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesansbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freesansi.ctg.z new file mode 100644 index 0000000..ae9a7fc Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesansi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansi.php b/vendor/tecnickcom/tcpdf/fonts/freesansi.php new file mode 100644 index 0000000..366b471 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freesansi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-1166 -431 1572 1072]','ItalicAngle'=>-12,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>729,'XHeight'=>524,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>1501,'MissingWidth'=>800); +$cbbox=array(0=>array(-15,-139,915,800),33=>array(124,0,363,729),34=>array(177,464,455,709),35=>array(54,-20,649,697),36=>array(69,-126,613,770),37=>array(134,-20,895,709),38=>array(83,-23,644,709),39=>array(173,464,292,709),40=>array(113,-213,446,729),41=>array(-7,-213,326,729),42=>array(169,438,471,729),43=>array(92,-11,591,473),44=>array(55,-147,214,103),45=>array(97,240,351,312),46=>array(87,0,213,103),47=>array(-12,-20,434,729),48=>array(98,-23,598,709),49=>array(208,0,498,709),50=>array(34,0,620,709),51=>array(71,-23,599,709),52=>array(63,0,573,709),53=>array(70,-23,629,709),54=>array(93,-23,611,709),55=>array(137,0,671,709),56=>array(74,-23,604,709),57=>array(83,-23,599,709),58=>array(110,0,326,524),59=>array(78,-147,325,524),60=>array(87,-9,635,474),61=>array(74,111,609,355),62=>array(48,-9,596,474),63=>array(184,0,630,741),64=>array(80,-142,1036,741),65=>array(16,0,652,729),66=>array(80,0,712,729),67=>array(100,-23,758,741),68=>array(80,0,750,729),69=>array(80,0,741,729),70=>array(80,0,724,729),71=>array(109,-23,809,741),72=>array(80,0,796,729),73=>array(100,0,349,729),74=>array(47,-23,581,729),75=>array(80,0,814,729),76=>array(80,0,551,729),77=>array(80,0,921,729),78=>array(80,0,805,729),79=>array(100,-23,824,741),80=>array(80,0,722,729),81=>array(102,-59,826,741),82=>array(80,0,757,729),83=>array(81,-23,706,741),84=>array(158,0,748,729),85=>array(120,-23,796,729),86=>array(170,0,785,729),87=>array(170,0,1077,729),88=>array(20,0,792,729),89=>array(170,0,818,729),90=>array(30,0,739,729),91=>array(19,-213,405,729),92=>array(147,-20,280,729),93=>array(-23,-213,363,729),94=>array(115,329,496,709),95=>array(-59,-176,551,-126),96=>array(179,592,357,740),97=>array(63,-23,566,539),98=>array(60,-23,594,729),99=>array(76,-23,554,539),100=>array(76,-23,653,729),101=>array(77,-23,573,539),102=>array(71,0,395,732),103=>array(34,-218,603,539),104=>array(60,0,564,729),105=>array(66,0,305,729),106=>array(-45,-218,328,729),107=>array(60,0,586,729),108=>array(68,0,307,729),109=>array(60,0,841,539),110=>array(60,0,564,539),111=>array(80,-23,576,539),112=>array(14,-213,593,539),113=>array(71,-213,607,539),114=>array(60,0,427,539),115=>array(61,-23,520,539),116=>array(87,-23,356,668),117=>array(83,-23,589,524),118=>array(122,0,598,524),119=>array(122,0,824,524),120=>array(17,0,583,524),121=>array(-2,-218,580,524),122=>array(31,0,557,524),123=>array(91,-213,431,729),124=>array(54,-212,315,729),125=>array(-16,-213,324,729),126=>array(137,268,594,438),160=>array(0,0,0,0),161=>array(76,-205,315,524),162=>array(96,-120,585,628),163=>array(44,-23,628,729),164=>array(110,133,593,556),165=>array(100,0,696,709),166=>array(54,-212,315,729),167=>array(63,-213,589,729),168=>array(154,612,451,715),169=>array(55,-22,836,742),170=>array(107,303,441,742),171=>array(93,106,494,438),172=>array(99,86,619,377),173=>array(97,240,351,312),174=>array(55,-22,836,742),175=>array(160,627,450,696),176=>array(291,383,594,686),177=>array(50,0,625,633),178=>array(104,380,472,805),179=>array(132,366,464,805),180=>array(218,592,458,740),181=>array(-9,-200,602,518),182=>array(145,-178,677,729),183=>array(166,192,293,295),184=>array(1,-214,264,0),185=>array(184,380,372,805),186=>array(114,303,452,742),187=>array(69,106,466,438),188=>array(182,-20,898,726),189=>array(182,-20,945,726),190=>array(128,-20,938,734),191=>array(85,-217,531,524),192=>array(16,0,652,920),193=>array(16,0,667,920),194=>array(16,0,652,940),195=>array(16,0,679,909),196=>array(16,0,667,904),197=>array(16,0,652,970),198=>array(11,0,1087,729),199=>array(100,-214,758,741),200=>array(80,0,741,920),201=>array(80,0,741,920),202=>array(80,0,741,940),203=>array(80,0,741,904),204=>array(100,0,377,920),205=>array(100,0,467,920),206=>array(100,0,456,940),207=>array(100,0,477,904),208=>array(89,0,759,729),209=>array(80,0,805,909),210=>array(100,-23,824,920),211=>array(100,-23,824,920),212=>array(100,-23,824,940),213=>array(100,-23,824,909),214=>array(100,-23,824,904),215=>array(113,34,568,427),216=>array(42,-24,877,741),217=>array(120,-23,796,920),218=>array(120,-23,796,920),219=>array(120,-23,796,940),220=>array(120,-23,796,904),221=>array(170,0,818,920),222=>array(80,0,697,729),223=>array(60,-24,632,728),224=>array(63,-23,566,740),225=>array(63,-23,568,740),226=>array(63,-23,566,742),227=>array(63,-23,589,707),228=>array(63,-23,566,702),229=>array(63,-23,566,772),230=>array(65,-23,921,539),231=>array(76,-214,554,539),232=>array(77,-23,573,740),233=>array(77,-23,573,740),234=>array(77,-23,573,742),235=>array(77,-23,573,725),236=>array(66,0,337,740),237=>array(66,0,385,740),238=>array(86,0,400,742),239=>array(86,0,423,725),240=>array(80,-23,576,743),241=>array(60,0,589,707),242=>array(80,-23,576,740),243=>array(80,-23,576,740),244=>array(80,-23,576,742),245=>array(80,-23,579,707),246=>array(80,-23,576,725),247=>array(92,0,591,462),248=>array(19,-30,639,541),249=>array(83,-23,589,740),250=>array(83,-23,589,740),251=>array(83,-23,589,749),252=>array(83,-23,589,725),253=>array(-2,-218,580,740),254=>array(15,-213,594,729),255=>array(-2,-218,580,725),256=>array(16,0,660,869),257=>array(63,-23,566,676),258=>array(16,0,687,916),259=>array(63,-23,586,734),260=>array(17,-205,663,729),261=>array(65,-205,571,539),262=>array(100,-23,758,920),263=>array(76,-23,568,740),264=>array(100,-23,758,940),265=>array(76,-23,554,749),266=>array(100,-23,758,904),267=>array(76,-23,554,702),268=>array(100,-23,758,939),269=>array(76,-23,564,739),270=>array(80,0,750,940),271=>array(76,-23,826,740),272=>array(89,0,759,729),273=>array(73,-23,695,729),274=>array(80,0,741,869),275=>array(77,-23,573,676),276=>array(80,0,741,916),277=>array(77,-23,586,734),278=>array(80,0,741,904),279=>array(77,-23,573,702),280=>array(80,-205,741,729),281=>array(77,-205,573,539),282=>array(80,0,741,939),283=>array(77,-23,579,739),284=>array(109,-23,809,938),285=>array(34,-218,603,774),286=>array(109,-23,809,936),287=>array(34,-218,603,734),288=>array(109,-23,809,932),289=>array(34,-218,603,727),290=>array(109,-300,809,741),291=>array(34,-218,603,746),292=>array(80,0,796,937),293=>array(60,0,564,929),294=>array(83,0,830,729),295=>array(63,0,566,729),296=>array(103,0,504,937),297=>array(86,0,451,732),298=>array(103,0,472,869),299=>array(86,0,413,676),300=>array(103,0,497,916),301=>array(86,0,445,734),302=>array(-6,-205,349,729),303=>array(-30,-205,325,729),304=>array(100,0,391,904),305=>array(66,0,261,524),306=>array(100,-23,812,729),307=>array(66,-218,493,729),308=>array(47,-23,581,942),309=>array(-45,-218,400,752),310=>array(80,-300,814,729),311=>array(60,-300,586,729),312=>array(60,0,583,524),313=>array(80,0,551,920),314=>array(68,0,417,920),315=>array(80,-300,551,729),316=>array(-2,-300,307,729),317=>array(80,0,556,740),318=>array(68,0,476,740),319=>array(80,0,568,729),320=>array(68,0,424,729),321=>array(75,0,570,729),322=>array(62,0,312,729),323=>array(80,0,805,920),324=>array(60,0,568,740),325=>array(80,-300,805,729),326=>array(60,-300,564,539),327=>array(80,0,805,940),328=>array(60,0,577,738),329=>array(143,0,674,728),330=>array(80,-16,698,744),331=>array(60,-218,565,539),332=>array(100,-23,824,869),333=>array(80,-23,576,676),334=>array(100,-23,824,916),335=>array(80,-23,582,734),336=>array(100,-23,843,940),337=>array(80,-23,686,740),338=>array(101,-23,1108,741),339=>array(80,-23,961,539),340=>array(80,0,757,920),341=>array(60,0,488,740),342=>array(80,-300,757,729),343=>array(-2,-300,427,539),344=>array(80,0,757,940),345=>array(60,0,488,738),346=>array(81,-23,706,920),347=>array(61,-23,538,740),348=>array(81,-23,706,942),349=>array(61,-23,520,749),350=>array(89,-214,714,741),351=>array(61,-214,521,539),352=>array(81,-23,706,939),353=>array(61,-23,548,739),354=>array(150,-213,748,729),355=>array(-18,-230,366,668),356=>array(158,0,748,939),357=>array(87,-23,506,740),358=>array(161,0,750,729),359=>array(53,-23,359,668),360=>array(120,-23,796,906),361=>array(83,-23,589,717),362=>array(120,-23,796,869),363=>array(83,-23,589,676),364=>array(120,-23,796,916),365=>array(83,-23,589,734),366=>array(120,-23,796,974),367=>array(83,-23,589,772),368=>array(120,-23,807,940),369=>array(83,-23,681,740),370=>array(124,-205,800,729),371=>array(88,-205,594,524),372=>array(170,0,1077,935),373=>array(122,0,824,749),374=>array(170,0,818,935),375=>array(-2,-218,580,749),376=>array(170,0,818,904),377=>array(30,0,739,920),378=>array(31,0,557,740),379=>array(30,0,739,904),380=>array(31,0,557,702),381=>array(30,0,739,940),382=>array(31,0,557,738),383=>array(89,0,413,732),384=>array(54,-23,588,729),385=>array(91,0,821,729),386=>array(80,0,724,729),387=>array(54,-23,588,729),388=>array(91,0,683,729),389=>array(54,-23,588,729),390=>array(107,-23,765,741),391=>array(99,-23,872,741),392=>array(62,-23,648,556),393=>array(89,0,759,729),394=>array(139,0,906,729),395=>array(89,0,727,729),396=>array(73,-23,631,729),397=>array(32,-196,597,538),398=>array(73,0,751,729),399=>array(105,-23,824,741),400=>array(67,-23,681,741),401=>array(-98,-218,680,729),402=>array(-45,-218,413,732),403=>array(111,-23,925,741),404=>array(162,-27,810,729),405=>array(75,-23,896,729),406=>array(81,-23,309,729),407=>array(75,0,422,729),408=>array(82,0,860,729),409=>array(43,0,548,732),410=>array(72,0,419,729),411=>array(13,-10,542,738),412=>array(87,-15,922,729),413=>array(-35,-218,789,729),414=>array(60,-200,549,539),415=>array(110,-23,829,741),416=>array(101,-23,938,796),417=>array(76,-23,677,631),418=>array(102,-23,1051,742),419=>array(80,-200,760,540),420=>array(141,0,881,729),421=>array(7,-213,586,732),422=>array(91,-125,707,729),423=>array(77,-23,692,741),424=>array(61,-23,520,539),425=>array(44,0,699,729),426=>array(114,-218,366,732),427=>array(54,-218,357,668),428=>array(123,0,750,729),429=>array(111,-23,401,732),430=>array(160,-218,746,729),431=>array(124,-23,940,856),432=>array(87,-23,744,651),433=>array(79,-30,846,692),434=>array(119,-23,745,729),435=>array(160,0,902,729),436=>array(6,-218,753,732),437=>array(21,0,728,729),438=>array(35,0,559,524),439=>array(67,-23,731,729),440=>array(79,-23,717,729),441=>array(22,-143,557,524),442=>array(17,-202,555,524),443=>array(34,0,623,709),446=>array(101,-21,537,668),447=>array(7,-218,609,540),448=>array(54,-212,315,729),449=>array(54,-212,455,729),450=>array(74,-212,609,729),451=>array(124,0,363,729),452=>array(80,0,1439,940),453=>array(80,0,1265,738),454=>array(76,-23,1113,738),455=>array(80,-23,1137,729),456=>array(80,-218,884,729),457=>array(68,-218,550,729),458=>array(80,-23,1289,729),459=>array(80,-218,1050,729),460=>array(60,-218,884,729),461=>array(16,0,678,929),462=>array(63,-23,578,727),463=>array(103,0,491,929),464=>array(86,0,434,727),465=>array(100,-23,824,929),466=>array(80,-23,576,727),467=>array(120,-23,796,929),468=>array(83,-23,589,727),469=>array(120,-23,796,971),470=>array(83,-23,589,800),471=>array(120,-23,796,1038),472=>array(83,-23,621,883),473=>array(120,-23,796,1037),474=>array(83,-23,606,883),475=>array(120,-23,796,1041),476=>array(83,-23,589,883),477=>array(92,-23,588,539),478=>array(16,0,686,967),479=>array(63,-23,593,802),480=>array(16,0,682,974),481=>array(63,-23,595,800),482=>array(11,0,1087,869),483=>array(65,-23,921,648),484=>array(108,-23,814,741),485=>array(31,-218,601,539),486=>array(109,-23,809,929),487=>array(34,-218,603,727),488=>array(80,0,814,929),489=>array(60,0,586,914),490=>array(104,-221,828,741),491=>array(75,-221,571,539),492=>array(104,-221,828,869),493=>array(75,-221,571,648),494=>array(67,-23,731,934),495=>array(45,-143,574,747),496=>array(-65,-218,406,712),497=>array(80,0,1461,729),498=>array(80,0,1279,729),499=>array(76,-23,1113,729),500=>array(109,-23,809,929),501=>array(34,-218,603,727),503=>array(91,0,707,743),504=>array(80,0,805,920),505=>array(60,0,564,740),506=>array(16,0,752,945),507=>array(63,-23,660,942),508=>array(11,0,1087,920),509=>array(65,-23,921,740),510=>array(42,-24,877,920),511=>array(19,-30,639,740),512=>array(16,0,652,931),513=>array(63,-23,566,729),514=>array(16,0,652,913),515=>array(63,-23,566,711),516=>array(80,0,741,931),517=>array(77,-23,573,729),518=>array(80,0,741,913),519=>array(77,-23,573,711),520=>array(97,0,449,931),521=>array(45,0,397,729),522=>array(103,0,463,913),523=>array(86,0,411,711),524=>array(100,-23,824,931),525=>array(80,-23,576,729),526=>array(100,-23,824,913),527=>array(80,-23,576,711),528=>array(80,0,757,931),529=>array(60,0,451,729),530=>array(80,0,757,913),531=>array(60,0,501,711),532=>array(120,-23,796,931),533=>array(83,-23,589,729),534=>array(120,-23,796,913),535=>array(83,-23,589,711),536=>array(81,-300,706,741),537=>array(61,-300,520,539),538=>array(158,-300,748,729),539=>array(47,-300,356,668),540=>array(35,-100,585,709),541=>array(26,-84,449,542),542=>array(80,0,796,933),543=>array(60,0,605,917),548=>array(28,-216,736,729),549=>array(31,-216,555,524),550=>array(16,0,652,903),551=>array(63,-23,566,702),552=>array(90,-207,751,729),553=>array(69,-230,580,539),554=>array(100,-23,824,971),555=>array(80,-23,580,800),556=>array(100,-23,824,971),557=>array(80,-23,585,801),558=>array(100,-23,824,904),559=>array(80,-23,576,702),560=>array(100,-23,824,978),561=>array(80,-23,584,800),562=>array(170,0,818,869),563=>array(-2,-218,580,676),567=>array(-65,-218,264,524),592=>array(101,-23,604,539),593=>array(55,-23,578,538),594=>array(86,-14,609,547),595=>array(55,-23,578,732),596=>array(50,-23,528,539),597=>array(14,-42,548,539),598=>array(45,-218,603,729),599=>array(50,-23,696,732),600=>array(51,-23,533,539),601=>array(92,-23,588,539),602=>array(51,-23,827,570),603=>array(50,-23,501,539),604=>array(60,-23,520,539),605=>array(62,-24,804,570),606=>array(62,-23,520,539),607=>array(-34,-218,307,524),608=>array(17,-218,672,650),609=>array(34,-218,603,539),610=>array(50,-23,560,539),611=>array(75,-230,537,524),612=>array(82,-24,619,542),613=>array(61,-205,565,524),614=>array(55,0,559,732),615=>array(56,-218,560,732),616=>array(55,0,317,729),617=>array(46,-23,216,524),618=>array(12,0,361,524),619=>array(82,0,541,729),620=>array(100,0,483,729),621=>array(28,-218,294,729),622=>array(68,-143,655,729),623=>array(90,-15,871,524),624=>array(58,-200,838,524),625=>array(56,-218,836,539),626=>array(-38,-218,601,539),627=>array(56,-218,561,539),628=>array(60,0,588,524),629=>array(50,-23,538,539),630=>array(56,-23,823,539),631=>array(69,-9,756,542),632=>array(57,-200,711,712),633=>array(34,-14,401,525),634=>array(24,-15,407,729),635=>array(40,-218,386,524),636=>array(14,-200,396,539),637=>array(29,-218,397,539),638=>array(56,0,422,539),639=>array(92,-200,388,539),640=>array(65,0,564,525),641=>array(66,-1,652,524),642=>array(-40,-216,559,539),643=>array(-33,-218,391,732),644=>array(-32,-221,391,733),645=>array(81,-218,262,539),646=>array(-18,-218,566,732),647=>array(32,-145,301,546),648=>array(80,-218,367,668),649=>array(60,-23,641,524),650=>array(55,-23,668,544),651=>array(43,-23,521,524),652=>array(13,0,489,524),653=>array(10,0,712,524),654=>array(28,0,610,742),655=>array(125,0,612,524),656=>array(34,-216,538,524),657=>array(31,-96,555,524),658=>array(45,-143,574,524),659=>array(90,-138,555,524),660=>array(143,0,594,709),661=>array(143,0,585,709),662=>array(72,0,523,709),664=>array(50,-23,546,539),665=>array(60,0,538,525),666=>array(60,-23,552,539),667=>array(50,-23,691,544),668=>array(51,0,571,526),669=>array(-18,-218,479,729),670=>array(27,-204,553,525),671=>array(69,0,381,524),672=>array(55,-218,688,650),673=>array(143,0,594,709),674=>array(142,0,585,709),675=>array(61,-23,985,729),676=>array(51,-143,975,729),677=>array(51,-96,977,729),678=>array(95,-23,733,668),679=>array(92,-218,650,732),680=>array(95,-115,793,668),681=>array(88,-199,823,732),682=>array(68,-23,698,729),683=>array(68,0,655,729),684=>array(80,0,625,726),685=>array(55,119,587,616),686=>array(124,-198,629,732),687=>array(124,-218,629,732),688=>array(86,380,414,855),689=>array(93,380,421,856),690=>array(74,237,318,853),691=>array(112,380,351,731),692=>array(91,369,330,720),693=>array(94,238,333,720),694=>array(103,380,485,722),695=>array(147,379,604,721),696=>array(72,238,452,722),697=>array(145,438,370,716),698=>array(145,438,578,716),699=>array(193,503,353,754),700=>array(184,457,343,708),701=>array(206,457,343,708),702=>array(272,579,381,754),703=>array(218,579,328,754),704=>array(154,400,448,765),705=>array(157,400,445,765),706=>array(163,545,463,750),707=>array(163,545,463,750),708=>array(173,574,405,750),709=>array(210,574,442,750),710=>array(146,591,433,741),711=>array(176,592,463,740),712=>array(254,588,369,785),713=>array(160,627,450,696),714=>array(218,592,458,740),715=>array(194,592,341,740),716=>array(82,-223,197,-26),717=>array(-4,-144,286,-75),718=>array(54,-201,232,-53),719=>array(15,-201,255,-53),720=>array(103,0,346,546),721=>array(219,432,346,546),722=>array(123,-1,233,174),723=>array(124,2,234,177),724=>array(42,149,369,402),725=>array(-36,149,291,402),726=>array(60,110,386,422),727=>array(60,231,386,301),728=>array(165,594,471,729),729=>array(244,612,370,715),730=>array(198,561,414,772),731=>array(35,-205,246,0),732=>array(130,611,471,719),733=>array(91,592,507,740),734=>array(87,234,408,570),735=>array(241,591,584,788),736=>array(123,228,424,720),737=>array(128,379,285,854),738=>array(125,365,424,732),739=>array(87,379,456,721),740=>array(177,380,465,841),741=>array(194,0,625,800),742=>array(159,0,625,800),743=>array(117,0,625,800),744=>array(75,0,625,800),745=>array(40,0,625,800),746=>array(71,-1,495,606),747=>array(72,0,553,614),748=>array(23,-199,310,-51),749=>array(156,574,475,781),750=>array(155,499,457,730),751=>array(45,-200,277,-24),752=>array(8,-240,272,-49),753=>array(-10,-226,268,-28),754=>array(-29,-228,250,-30),755=>array(22,-258,238,-47),756=>array(157,366,304,514),757=>array(163,366,478,514),758=>array(104,364,519,514),759=>array(-24,-159,317,-51),760=>array(110,65,326,589),761=>array(132,512,336,749),762=>array(169,512,338,749),763=>array(20,-73,189,164),764=>array(11,-72,215,165),765=>array(-32,-200,317,-28),766=>array(-32,-200,295,-28),767=>array(-26,-220,311,-19),768=>array(-154,592,24,740),769=>array(-115,592,125,740),770=>array(-187,591,100,741),771=>array(-203,611,138,719),772=>array(-173,627,117,696),773=>array(-318,629,265,701),774=>array(-168,594,138,729),775=>array(-89,612,37,715),776=>array(-179,612,118,715),777=>array(-116,576,42,769),778=>array(-135,561,81,772),779=>array(-242,592,174,740),780=>array(-157,592,130,740),781=>array(-83,588,32,785),782=>array(-152,588,108,785),783=>array(-241,592,111,740),784=>array(-168,594,138,814),785=>array(-168,594,138,729),786=>array(-229,583,-114,740),787=>array(-219,583,-104,740),788=>array(-116,584,-3,741),789=>array(123,583,238,740),790=>array(-272,-200,-94,-52),791=>array(-303,-200,-63,-52),792=>array(-326,-298,-87,-60),793=>array(-319,-298,-80,-60),794=>array(-171,427,119,701),795=>array(-44,440,189,651),796=>array(-248,-235,-138,-60),797=>array(-330,-215,-76,-60),798=>array(-313,-215,-58,-60),799=>array(-330,-298,-76,-60),800=>array(-311,-137,-57,-65),801=>array(-217,-218,10,45),802=>array(-110,-218,58,45),803=>array(-255,-185,-129,-82),804=>array(-337,-182,-40,-79),805=>array(-272,-255,-56,-44),806=>array(-288,-300,-141,-76),807=>array(-332,-214,-69,0),808=>array(-298,-205,-87,0),809=>array(-253,-247,-138,-50),810=>array(-347,-192,-43,-55),811=>array(-341,-176,-25,-54),812=>array(-308,-194,-21,-46),813=>array(-350,-195,-63,-45),814=>array(-327,-186,-21,-51),815=>array(-349,-188,-43,-53),816=>array(-360,-159,-19,-51),817=>array(-322,-132,-32,-63),818=>array(-626,-125,-16,-75),819=>array(-642,-200,-14,-51),820=>array(-325,206,16,314),821=>array(-279,228,11,297),822=>array(-540,273,70,323),823=>array(-701,3,-13,616),824=>array(-701,-61,-13,749),825=>array(-223,-214,-113,-39),826=>array(-337,-203,-33,-66),827=>array(-387,-300,-70,-39),828=>array(-384,-174,-75,-59),829=>array(-177,563,109,756),830=>array(-99,582,62,850),831=>array(-476,590,152,739),832=>array(-197,593,-19,741),833=>array(-142,592,98,740),834=>array(-200,603,141,711),835=>array(-219,583,-104,740),836=>array(-225,601,149,760),837=>array(-261,-200,-106,-46),838=>array(-280,603,24,740),839=>array(-354,-232,-36,-43),840=>array(-379,-270,-108,-73),841=>array(-302,-199,-145,-55),842=>array(-299,595,42,786),843=>array(-283,564,58,904),844=>array(-242,571,123,816),845=>array(-544,-243,-44,-45),846=>array(-396,-300,-198,-55),848=>array(-200,545,100,750),849=>array(-222,572,-112,747),850=>array(-306,563,0,803),851=>array(-307,-230,-21,-37),852=>array(-423,-226,-145,-28),853=>array(-445,-228,-166,-30),854=>array(-542,-202,-78,-25),855=>array(-160,573,-50,748),856=>array(-194,608,-68,711),857=>array(-432,-262,-204,-46),858=>array(-547,-228,-120,-48),859=>array(-201,546,46,800),860=>array(-344,-199,327,-35),861=>array(-174,569,497,733),862=>array(-195,611,469,676),863=>array(-344,-127,320,-62),864=>array(-216,569,486,739),865=>array(-212,567,459,731),866=>array(-337,-261,268,-30),867=>array(-336,569,-144,784),868=>array(-349,570,-159,784),869=>array(-285,575,-194,853),870=>array(-349,570,-159,784),871=>array(-332,570,-139,779),872=>array(-315,571,-133,785),873=>array(-330,570,-110,856),874=>array(-331,569,-139,848),875=>array(-407,572,-109,777),876=>array(-291,572,-150,777),877=>array(-280,570,-177,833),878=>array(-322,570,-141,770),879=>array(-355,570,-139,770),884=>array(32,580,162,780),885=>array(16,-194,146,6),890=>array(72,-200,227,-46),894=>array(78,-147,325,524),900=>array(186,592,426,740),901=>array(244,601,618,760),902=>array(0,0,670,740),903=>array(200,421,326,524),904=>array(85,0,866,740),905=>array(85,0,911,740),906=>array(85,0,432,740),908=>array(85,-12,911,740),910=>array(85,0,1012,740),911=>array(85,0,902,736),912=>array(71,-8,480,749),913=>array(0,0,670,716),914=>array(0,0,645,716),915=>array(0,0,663,716),916=>array(0,0,670,716),917=>array(0,0,697,716),918=>array(0,0,733,716),919=>array(0,0,739,716),920=>array(45,-12,763,730),921=>array(0,0,273,716),922=>array(0,0,747,716),923=>array(0,0,670,716),924=>array(0,0,863,716),925=>array(0,0,743,716),926=>array(0,0,697,716),927=>array(50,-12,766,730),928=>array(0,0,739,716),929=>array(0,0,681,716),931=>array(0,0,725,718),932=>array(135,0,724,716),933=>array(153,0,809,716),934=>array(52,0,732,720),935=>array(0,0,817,716),936=>array(72,-2,812,720),937=>array(0,0,767,722),938=>array(29,0,430,904),939=>array(153,0,809,904),940=>array(34,-13,584,740),941=>array(16,-10,522,740),942=>array(33,-182,551,740),943=>array(28,-8,383,740),944=>array(37,-14,569,760),945=>array(34,-13,584,530),946=>array(-48,-198,545,732),947=>array(102,-198,611,530),948=>array(29,-16,594,718),949=>array(16,-10,522,532),950=>array(27,-194,532,718),951=>array(33,-182,551,531),952=>array(37,-12,537,730),953=>array(28,-8,221,520),954=>array(1,0,540,518),955=>array(0,-10,529,732),956=>array(-49,-200,562,518),957=>array(92,0,566,518),958=>array(19,-194,553,718),959=>array(32,-12,542,530),960=>array(59,-4,671,520),961=>array(-49,-200,564,532),962=>array(102,-182,605,536),963=>array(32,-12,667,530),964=>array(96,-4,565,518),965=>array(37,-14,569,518),966=>array(35,-200,703,522),967=>array(-70,-212,646,538),968=>array(46,-200,709,518),969=>array(26,-9,717,526),970=>array(73,-8,397,702),971=>array(37,-14,569,702),972=>array(32,-12,542,740),973=>array(37,-14,569,740),974=>array(26,-9,717,740),977=>array(102,-12,643,730),978=>array(189,0,856,741),979=>array(109,0,1009,742),980=>array(138,0,805,904),981=>array(37,-200,691,712),982=>array(78,-9,817,534),983=>array(8,-216,656,524),1008=>array(8,-17,656,539),1009=>array(49,-186,607,532),1012=>array(110,-23,829,741),1013=>array(92,-12,389,530),1024=>array(70,0,731,920),1025=>array(70,0,731,904),1026=>array(149,-147,768,728),1027=>array(80,0,724,920),1028=>array(101,-23,759,741),1029=>array(75,-23,700,741),1030=>array(80,0,329,729),1031=>array(90,0,481,904),1032=>array(73,-23,607,729),1033=>array(20,0,1004,729),1034=>array(80,0,1136,729),1035=>array(147,0,767,728),1036=>array(80,0,811,920),1037=>array(80,0,805,920),1038=>array(115,0,750,901),1039=>array(80,-135,796,729),1040=>array(15,0,651,729),1041=>array(80,0,724,729),1042=>array(80,0,712,729),1043=>array(80,0,724,729),1044=>array(3,-135,840,729),1045=>array(70,0,731,729),1046=>array(15,0,1017,729),1047=>array(84,-23,708,741),1048=>array(80,0,805,729),1049=>array(80,0,805,900),1050=>array(80,0,811,729),1051=>array(15,0,730,729),1052=>array(85,0,926,729),1053=>array(77,0,793,729),1054=>array(100,-23,824,741),1055=>array(80,0,796,729),1056=>array(69,0,711,729),1057=>array(88,-23,746,741),1058=>array(156,0,746,729),1059=>array(115,0,750,729),1060=>array(110,0,924,729),1061=>array(13,0,785,729),1062=>array(80,-135,796,729),1063=>array(140,0,687,729),1064=>array(80,0,905,729),1065=>array(80,-135,905,729),1066=>array(158,0,841,729),1067=>array(80,0,960,729),1068=>array(80,0,670,729),1069=>array(96,-23,759,741),1070=>array(80,-23,1149,741),1071=>array(15,0,761,729),1072=>array(63,-23,566,539),1073=>array(87,-23,641,776),1074=>array(70,0,548,525),1075=>array(70,0,476,524),1076=>array(-11,-120,603,524),1077=>array(68,-23,564,539),1078=>array(5,0,889,524),1079=>array(60,-23,520,539),1080=>array(70,0,598,524),1081=>array(70,0,598,722),1082=>array(70,0,593,524),1083=>array(20,0,549,524),1084=>array(70,0,659,524),1085=>array(70,0,599,524),1086=>array(73,-23,569,539),1087=>array(70,0,598,524),1088=>array(32,-213,611,539),1089=>array(75,-23,553,539),1090=>array(105,0,493,524),1091=>array(-17,-218,565,524),1092=>array(82,-218,957,674),1093=>array(9,0,575,524),1094=>array(70,-120,598,524),1095=>array(108,0,523,524),1096=>array(70,0,733,524),1097=>array(70,-120,733,524),1098=>array(105,0,646,525),1099=>array(70,0,772,525),1100=>array(70,0,523,525),1101=>array(70,-23,544,539),1102=>array(70,-23,826,539),1103=>array(5,0,591,525),1104=>array(68,-23,564,741),1105=>array(68,-23,564,702),1106=>array(91,-163,591,729),1107=>array(70,0,518,740),1108=>array(72,-23,545,539),1109=>array(60,-23,519,539),1110=>array(70,0,309,729),1111=>array(86,0,419,708),1112=>array(-43,-218,330,729),1113=>array(14,0,798,524),1114=>array(70,0,855,524),1115=>array(95,0,594,729),1116=>array(70,0,593,740),1117=>array(70,0,598,740),1118=>array(-17,-218,565,734),1119=>array(70,-120,598,524),1120=>array(142,0,1082,729),1121=>array(101,0,788,524),1136=>array(115,-2,855,720),1137=>array(75,-200,738,518),1138=>array(111,-23,837,741),1139=>array(72,-23,566,539),1148=>array(142,0,1082,964),1149=>array(101,0,817,800),1150=>array(142,0,1082,900),1151=>array(101,0,788,729),1154=>array(11,-220,499,529),1155=>array(-251,611,150,799),1156=>array(-181,594,125,729),1157=>array(-142,642,38,731),1158=>array(-137,638,29,726),1159=>array(-430,579,136,745),1160=>array(-752,-122,269,857),1161=>array(-727,-172,295,849),1162=>array(80,-135,805,928),1163=>array(70,-120,598,729),1164=>array(98,0,688,729),1165=>array(91,0,558,525),1166=>array(80,0,722,729),1167=>array(23,-218,603,539),1168=>array(80,0,745,825),1169=>array(70,0,499,629),1170=>array(101,0,745,729),1171=>array(73,0,505,524),1172=>array(80,-140,724,729),1173=>array(70,-126,476,524),1174=>array(15,-135,1017,729),1175=>array(10,-120,894,524),1176=>array(84,-205,708,741),1177=>array(61,-205,521,539),1178=>array(80,-135,811,729),1179=>array(70,-120,593,524),1180=>array(80,0,811,729),1181=>array(70,0,593,524),1182=>array(102,0,833,729),1183=>array(74,0,597,524),1184=>array(149,0,974,729),1185=>array(108,0,719,525),1186=>array(80,-135,796,729),1187=>array(70,-120,599,524),1188=>array(80,0,1130,729),1189=>array(70,0,799,524),1190=>array(80,-140,1062,729),1191=>array(70,-126,777,524),1192=>array(99,-23,813,741),1193=>array(75,-23,639,539),1194=>array(100,-205,758,741),1195=>array(73,-205,551,539),1196=>array(158,-135,747,729),1197=>array(106,-120,494,524),1198=>array(165,0,813,729),1199=>array(117,-200,685,524),1200=>array(120,0,813,729),1201=>array(69,-200,689,524),1202=>array(15,-135,785,729),1203=>array(10,-120,572,524),1204=>array(149,-135,947,729),1205=>array(105,-120,672,524),1206=>array(142,-135,674,729),1207=>array(111,-120,513,524),1208=>array(140,0,672,729),1209=>array(111,0,513,524),1210=>array(80,0,612,729),1211=>array(70,0,472,524),1212=>array(166,-23,979,757),1213=>array(119,-23,741,539),1214=>array(146,-197,961,757),1215=>array(100,-197,721,539),1216=>array(80,0,329,729),1217=>array(15,0,1017,900),1218=>array(5,0,889,734),1219=>array(80,-140,811,729),1220=>array(70,-126,593,524),1221=>array(15,-135,730,729),1222=>array(14,-120,543,524),1223=>array(80,-140,796,729),1224=>array(70,-126,599,524),1225=>array(80,-135,796,729),1226=>array(70,-120,599,524),1227=>array(142,-135,674,729),1228=>array(111,-120,513,524),1229=>array(80,-135,921,729),1230=>array(70,-120,659,524),1231=>array(80,0,329,729),1232=>array(15,0,689,936),1233=>array(59,-23,596,759),1234=>array(15,0,666,904),1235=>array(59,-23,576,727),1236=>array(11,0,1087,729),1237=>array(65,-23,921,539),1238=>array(70,0,731,935),1239=>array(68,-23,588,759),1240=>array(110,-23,770,741),1241=>array(68,-23,546,539),1242=>array(110,-23,770,904),1243=>array(68,-23,546,702),1244=>array(15,0,1017,903),1245=>array(5,0,889,727),1246=>array(84,-23,708,903),1247=>array(60,-23,531,727),1248=>array(67,-23,731,729),1249=>array(105,-143,634,524),1250=>array(80,0,805,871),1251=>array(70,0,598,693),1252=>array(80,0,805,904),1253=>array(70,0,598,727),1254=>array(98,-23,822,904),1255=>array(71,-23,567,727),1256=>array(111,-23,837,741),1257=>array(72,-23,566,539),1258=>array(111,-23,837,904),1259=>array(72,-23,566,727),1260=>array(96,-23,759,903),1261=>array(70,-23,560,727),1262=>array(115,0,750,871),1263=>array(-17,-218,565,693),1264=>array(115,0,750,904),1265=>array(-17,-218,565,727),1266=>array(115,0,750,939),1267=>array(-17,-218,604,774),1268=>array(140,0,687,904),1269=>array(108,0,523,727),1270=>array(80,-135,724,729),1271=>array(70,-120,476,524),1272=>array(80,0,960,903),1273=>array(70,0,772,727),1296=>array(85,-23,715,741),1297=>array(60,-23,531,539),1298=>array(30,-174,749,729),1299=>array(67,-143,599,524),1306=>array(102,-59,826,741),1307=>array(71,-213,607,539),1308=>array(170,0,1077,729),1309=>array(122,0,824,524),1310=>array(79,0,743,729),1311=>array(70,0,573,524),1329=>array(55,-41,722,716),1330=>array(2,-2,667,726),1331=>array(83,-1,715,726),1332=>array(75,1,700,729),1333=>array(52,5,684,733),1334=>array(-32,-6,662,735),1335=>array(7,0,457,721),1336=>array(-3,0,663,729),1337=>array(-14,-2,801,728),1338=>array(28,-10,675,718),1339=>array(-15,0,617,732),1340=>array(17,0,317,716),1341=>array(-10,-12,819,723),1342=>array(28,-4,825,762),1343=>array(81,1,677,733),1344=>array(2,-74,649,725),1345=>array(0,-42,627,728),1346=>array(68,0,591,728),1347=>array(-30,0,659,724),1348=>array(19,0,790,729),1349=>array(10,-12,575,728),1350=>array(67,0,745,729),1351=>array(4,-12,573,739),1352=>array(-3,1,663,729),1353=>array(29,-14,616,728),1354=>array(75,1,663,729),1355=>array(-32,-8,662,735),1356=>array(-3,1,688,729),1357=>array(52,-12,719,716),1358=>array(82,1,714,729),1359=>array(13,-12,631,728),1360=>array(-3,1,663,729),1361=>array(23,-12,590,728),1362=>array(-1,0,375,723),1363=>array(33,1,749,725),1364=>array(-16,0,631,728),1365=>array(38,-12,743,729),1366=>array(-4,-8,664,725),1369=>array(218,579,328,754),1370=>array(146,489,334,723),1371=>array(134,588,320,718),1372=>array(140,585,473,730),1373=>array(58,583,212,720),1374=>array(150,595,449,782),1375=>array(154,588,441,707),1377=>array(40,-10,824,520),1378=>array(-5,-211,541,529),1379=>array(48,-209,561,530),1380=>array(40,-209,548,515),1381=>array(14,-11,521,721),1382=>array(54,-209,554,518),1383=>array(30,-121,395,721),1384=>array(-15,-208,530,529),1385=>array(-11,-221,580,518),1386=>array(18,-14,615,723),1387=>array(-38,-205,508,716),1388=>array(-16,-208,224,519),1389=>array(-32,-210,783,713),1390=>array(12,-14,554,742),1391=>array(50,-211,551,721),1392=>array(-10,0,492,716),1393=>array(9,-14,462,736),1394=>array(6,-209,484,515),1395=>array(-33,-1,574,731),1396=>array(19,-10,543,725),1397=>array(-122,-210,230,519),1398=>array(18,-10,497,726),1399=>array(-6,-209,436,510),1400=>array(13,-1,513,529),1401=>array(-23,-209,362,521),1402=>array(61,-213,846,520),1403=>array(18,-209,500,532),1404=>array(24,-2,524,529),1405=>array(40,-12,540,519),1406=>array(50,-211,593,716),1407=>array(47,-13,857,529),1408=>array(-10,-211,536,529),1409=>array(1,-210,565,530),1410=>array(22,0,247,505),1411=>array(18,-206,828,723),1412=>array(-34,-209,599,518),1413=>array(40,-12,546,530),1414=>array(14,-209,631,725),1415=>array(17,-8,483,723),1417=>array(35,0,245,519),1418=>array(6,166,292,263),1423=>array(131,1,788,729),1456=>array(270,-256,382,-60),1457=>array(133,-256,504,-60),1458=>array(32,-256,379,-60),1459=>array(55,-249,397,-60),1460=>array(296,-131,382,-60),1461=>array(231,-131,447,-60),1462=>array(215,-256,429,-60),1463=>array(129,-131,332,-60),1464=>array(137,-248,340,-60),1465=>array(211,660,297,731),1467=>array(143,-249,488,-60),1468=>array(292,270,378,341),1469=>array(150,-248,261,-60),1470=>array(160,524,572,600),1471=>array(267,664,470,735),1472=>array(31,-100,288,700),1473=>array(780,640,866,711),1474=>array(211,640,297,711),1475=>array(110,0,326,524),1476=>array(446,640,532,711),1488=>array(66,0,702,600),1489=>array(58,0,583,600),1490=>array(30,0,465,600),1491=>array(149,0,671,600),1492=>array(63,0,651,600),1493=>array(62,0,277,600),1494=>array(126,0,424,600),1495=>array(63,0,656,600),1496=>array(104,0,656,600),1497=>array(118,286,273,600),1498=>array(149,-200,559,600),1499=>array(57,0,601,600),1500=>array(148,0,673,749),1501=>array(63,0,656,600),1502=>array(68,0,655,600),1503=>array(19,-200,277,600),1504=>array(51,0,412,600),1505=>array(103,0,656,600),1506=>array(24,-55,659,600),1507=>array(135,-200,611,600),1508=>array(63,0,616,600),1509=>array(140,-200,613,600),1510=>array(59,0,652,600),1511=>array(19,-200,678,600),1512=>array(148,0,582,600),1513=>array(110,0,848,600),1514=>array(35,0,723,600),1520=>array(62,0,489,600),1521=>array(120,0,478,600),1522=>array(119,286,473,600),1523=>array(155,464,273,709),1524=>array(165,464,443,709),2433=>array(-291,632,-48,796),2434=>array(14,43,282,552),2435=>array(5,48,258,507),2437=>array(21,0,687,558),2438=>array(13,0,852,635),2439=>array(6,-50,527,790),2440=>array(2,-10,576,772),2441=>array(-16,62,575,790),2442=>array(-6,64,594,794),2443=>array(59,0,649,651),2444=>array(125,53,515,633),2447=>array(30,0,546,571),2448=>array(0,0,608,857),2451=>array(59,62,531,538),2452=>array(25,62,598,861),2453=>array(13,0,655,558),2454=>array(55,0,549,644),2455=>array(62,3,546,635),2456=>array(23,0,506,558),2457=>array(34,3,436,525),2458=>array(21,2,492,558),2459=>array(41,-75,606,558),2460=>array(24,-3,669,558),2461=>array(14,1,625,646),2462=>array(20,0,769,570),2463=>array(-27,70,435,807),2464=>array(-26,3,454,852),2465=>array(3,60,596,558),2466=>array(5,3,488,558),2467=>array(74,0,551,657),2468=>array(11,38,652,558),2469=>array(38,0,540,646),2470=>array(26,-2,495,558),2471=>array(48,0,520,565),2472=>array(9,-2,534,558),2474=>array(31,0,575,627),2475=>array(23,0,660,558),2476=>array(23,0,473,558),2477=>array(18,71,629,558),2478=>array(24,0,523,558),2479=>array(17,0,504,558),2480=>array(23,0,480,558),2482=>array(15,0,584,558),2486=>array(19,0,581,645),2487=>array(25,0,506,558),2488=>array(28,0,567,558),2489=>array(29,-53,520,558),2492=>array(-382,-161,-266,-49),2493=>array(29,-53,429,558),2494=>array(-39,0,267,635),2495=>array(-14,0,593,789),2496=>array(-332,0,232,809),2497=>array(-251,-214,81,76),2498=>array(-190,-274,129,36),2499=>array(-232,-293,13,41),2500=>array(-341,-431,28,41),2503=>array(1,0,354,558),2504=>array(-21,0,347,787),2507=>array(2,0,952,635),2508=>array(22,0,928,820),2509=>array(-200,-166,-22,-3),2510=>array(34,3,358,561),2519=>array(-208,2,268,820),2524=>array(35,-112,604,558),2525=>array(42,-159,495,558),2527=>array(28,0,504,558),2528=>array(86,-253,677,651),2529=>array(159,-269,576,633),2530=>array(-268,-340,12,44),2531=>array(-575,-340,-17,146),2534=>array(59,65,427,430),2535=>array(33,2,349,556),2536=>array(57,-59,425,547),2537=>array(47,44,506,514),2538=>array(42,23,410,579),2539=>array(35,5,456,549),2540=>array(29,26,464,535),2541=>array(114,30,430,540),2542=>array(27,31,534,542),2543=>array(40,30,431,574),2544=>array(23,0,473,558),2545=>array(10,0,473,558),2546=>array(70,98,417,609),2547=>array(-7,73,348,548),2548=>array(-28,98,524,609),2549=>array(29,75,598,548),2550=>array(-21,29,601,572),2551=>array(13,47,146,551),2552=>array(29,35,327,558),2553=>array(37,146,398,489),2554=>array(9,372,557,729),2555=>array(82,-178,311,298),4256=>array(102,0,593,720),4257=>array(100,0,611,720),4258=>array(104,0,637,740),4259=>array(124,17,873,740),4260=>array(104,0,644,740),4261=>array(99,0,638,740),4262=>array(179,0,792,740),4263=>array(124,0,936,740),4264=>array(132,20,663,740),4265=>array(99,0,641,740),4266=>array(124,20,1003,740),4267=>array(100,0,641,740),4268=>array(122,0,669,740),4269=>array(118,20,833,740),4270=>array(98,0,606,720),4271=>array(128,0,696,720),4272=>array(103,20,792,720),4273=>array(121,0,590,720),4274=>array(110,0,796,740),4275=>array(163,0,776,740),4276=>array(172,0,913,740),4277=>array(103,0,672,720),4278=>array(116,20,875,740),4279=>array(102,0,676,720),4280=>array(115,0,699,740),4281=>array(84,20,616,740),4282=>array(127,0,798,720),4283=>array(98,0,669,720),4284=>array(125,0,769,740),4285=>array(102,0,766,720),4286=>array(123,0,585,720),4287=>array(92,0,921,740),4288=>array(94,0,626,720),4304=>array(58,0,447,450),4305=>array(67,0,508,720),4306=>array(8,-280,488,420),4307=>array(28,-263,714,420),4308=>array(4,-280,476,420),4309=>array(4,-280,475,420),4310=>array(149,0,651,740),4311=>array(69,0,757,420),4312=>array(68,20,470,420),4313=>array(5,-280,479,420),4314=>array(35,-260,872,420),4315=>array(68,0,540,720),4316=>array(68,0,547,720),4317=>array(73,20,707,420),4318=>array(61,0,518,720),4319=>array(37,-280,539,420),4320=>array(76,20,743,720),4321=>array(79,0,480,720),4322=>array(32,-280,702,602),4323=>array(69,-280,659,420),4324=>array(77,-280,725,420),4325=>array(4,-280,569,714),4326=>array(38,-262,728,420),4327=>array(3,-280,506,420),4328=>array(90,0,571,740),4329=>array(34,20,501,740),4330=>array(33,-280,648,420),4331=>array(68,0,572,720),4332=>array(69,0,619,740),4333=>array(4,-280,637,720),4334=>array(66,0,469,720),4335=>array(-52,-280,693,420),4336=>array(67,0,547,720),4337=>array(71,-4,693,746),4338=>array(29,-5,411,394),4339=>array(2,-274,449,376),4340=>array(1,-274,471,711),4341=>array(61,6,533,714),4345=>array(72,-280,552,420),4347=>array(80,-1,526,576),4348=>array(107,228,467,768),5024=>array(53,0,705,729),5025=>array(53,-10,699,729),5026=>array(92,0,679,729),5027=>array(32,-23,756,729),5028=>array(84,-23,1030,741),5029=>array(53,0,275,729),5030=>array(64,-23,641,741),5031=>array(101,-23,835,741),5032=>array(53,0,535,729),5033=>array(39,-23,764,729),5034=>array(-22,0,614,729),5035=>array(5,-23,517,729),5036=>array(53,0,687,729),5037=>array(80,0,824,729),5038=>array(96,0,573,741),5039=>array(-18,-23,756,752),5040=>array(53,0,567,729),5041=>array(53,0,666,729),5042=>array(20,-23,829,741),5043=>array(130,0,1038,729),5044=>array(47,-23,669,741),5045=>array(50,0,619,752),5046=>array(84,-23,733,741),5047=>array(53,0,868,729),5048=>array(96,0,597,752),5049=>array(60,-23,940,729),5050=>array(85,-23,1034,741),5051=>array(53,0,743,729),5052=>array(54,-23,522,729),5053=>array(42,-23,808,729),5054=>array(84,-23,804,741),5055=>array(103,-130,528,729),5056=>array(84,-23,775,741),5057=>array(-11,-23,776,742),5058=>array(53,0,588,729),5059=>array(16,0,698,729),5060=>array(87,0,644,752),5061=>array(84,-23,1113,741),5062=>array(24,0,725,729),5063=>array(42,-23,856,752),5064=>array(98,-23,804,741),5065=>array(100,0,1253,741),5066=>array(42,-23,856,752),5067=>array(71,-23,650,741),5068=>array(83,-23,739,729),5069=>array(33,-23,944,752),5070=>array(53,0,635,729),5071=>array(53,0,642,729),5072=>array(73,0,526,729),5073=>array(51,-24,756,738),5074=>array(53,0,675,729),5075=>array(78,-23,502,729),5076=>array(115,0,1027,729),5077=>array(53,-23,662,741),5078=>array(97,-23,690,729),5079=>array(-26,0,589,729),5080=>array(9,0,624,729),5081=>array(115,0,731,729),5082=>array(53,-23,625,741),5083=>array(80,-23,937,740),5084=>array(13,-24,725,742),5085=>array(50,0,560,741),5086=>array(53,0,521,729),5087=>array(84,-23,733,741),5088=>array(94,-23,752,729),5089=>array(86,-23,893,741),5090=>array(53,0,675,729),5091=>array(85,-23,744,741),5092=>array(103,0,842,729),5093=>array(53,0,789,729),5094=>array(53,0,758,729),5095=>array(41,-22,622,729),5096=>array(86,-24,913,741),5097=>array(84,-91,903,741),5098=>array(26,-23,953,741),5099=>array(84,-23,804,741),5100=>array(101,-23,847,741),5101=>array(3,-24,671,741),5102=>array(78,-23,629,741),5103=>array(42,-23,856,752),5104=>array(25,-15,663,741),5105=>array(9,-23,724,729),5106=>array(50,0,609,741),5107=>array(85,-23,970,741),5108=>array(53,0,664,729),7680=>array(16,-260,652,729),7681=>array(63,-259,566,539),7682=>array(80,0,712,879),7683=>array(60,-23,594,729),7684=>array(80,-164,712,729),7685=>array(60,-187,594,729),7686=>array(80,-134,712,729),7687=>array(60,-157,594,729),7688=>array(100,-214,758,926),7689=>array(76,-214,570,747),7690=>array(80,0,750,879),7691=>array(76,-23,653,729),7692=>array(80,-164,750,729),7693=>array(76,-187,653,729),7694=>array(80,-134,750,729),7695=>array(76,-157,653,729),7696=>array(89,-207,758,729),7697=>array(71,-230,650,729),7698=>array(80,-210,750,729),7699=>array(61,-233,653,729),7700=>array(80,0,741,1026),7701=>array(77,-23,573,890),7702=>array(80,0,741,1024),7703=>array(77,-23,576,890),7704=>array(80,-210,741,729),7705=>array(77,-233,573,539),7706=>array(80,-166,741,729),7707=>array(77,-189,573,539),7708=>array(90,-207,751,933),7709=>array(69,-230,585,731),7710=>array(80,0,724,879),7711=>array(71,0,417,879),7712=>array(109,-23,809,866),7713=>array(34,-218,603,664),7714=>array(80,0,796,879),7715=>array(60,0,564,790),7716=>array(80,-164,796,729),7717=>array(60,-164,564,729),7718=>array(80,0,796,904),7719=>array(60,0,625,879),7720=>array(-52,-207,799,729),7721=>array(-70,-207,574,729),7722=>array(80,-198,796,729),7723=>array(60,-198,564,729),7724=>array(-53,-166,349,729),7725=>array(-79,-166,305,729),7726=>array(100,0,518,1034),7727=>array(86,0,472,900),7728=>array(80,0,814,921),7729=>array(60,0,586,897),7730=>array(80,-164,814,729),7731=>array(60,-164,586,729),7732=>array(80,-134,814,729),7733=>array(60,-134,586,729),7734=>array(80,-164,551,729),7735=>array(24,-164,307,729),7736=>array(80,-164,596,866),7737=>array(24,-164,430,854),7738=>array(80,-134,551,729),7739=>array(-52,-134,307,729),7740=>array(80,-210,551,729),7741=>array(-80,-210,307,729),7742=>array(80,0,921,922),7743=>array(60,0,841,747),7744=>array(80,0,921,879),7745=>array(60,0,841,702),7746=>array(80,-164,921,729),7747=>array(60,-164,841,539),7748=>array(80,0,805,879),7749=>array(60,0,564,702),7750=>array(80,-164,805,729),7751=>array(60,-164,564,539),7752=>array(80,-134,805,729),7753=>array(60,-134,564,539),7754=>array(80,-210,805,729),7755=>array(60,-210,564,539),7756=>array(100,-23,824,1040),7757=>array(80,-23,597,900),7758=>array(100,-23,824,1000),7759=>array(80,-23,588,845),7760=>array(100,-23,824,1000),7761=>array(80,-23,576,847),7762=>array(100,-23,824,1000),7763=>array(80,-23,591,847),7764=>array(80,0,722,922),7765=>array(14,-213,598,740),7766=>array(80,0,722,879),7767=>array(14,-213,593,702),7768=>array(80,0,757,879),7769=>array(60,0,427,702),7770=>array(80,-164,757,729),7771=>array(60,-164,427,539),7772=>array(80,-164,757,866),7773=>array(60,-164,476,676),7774=>array(80,-134,757,729),7775=>array(17,-134,427,539),7776=>array(81,-23,706,879),7777=>array(61,-23,520,702),7778=>array(81,-187,706,741),7779=>array(61,-187,520,539),7780=>array(81,-23,706,1021),7781=>array(61,-23,538,861),7782=>array(81,-23,706,1009),7783=>array(61,-23,548,851),7784=>array(81,-187,706,887),7785=>array(61,-187,520,702),7786=>array(158,0,748,879),7787=>array(87,-23,356,831),7788=>array(158,-164,748,729),7789=>array(60,-187,356,668),7790=>array(156,-134,748,729),7791=>array(-31,-157,356,668),7792=>array(114,-210,748,729),7793=>array(-46,-233,356,668),7794=>array(120,-186,796,729),7795=>array(83,-186,589,524),7796=>array(120,-189,796,729),7797=>array(83,-189,589,524),7798=>array(120,-233,796,729),7799=>array(83,-233,589,524),7800=>array(120,-23,796,1013),7801=>array(83,-23,597,900),7802=>array(120,-23,796,971),7803=>array(83,-23,589,820),7804=>array(170,0,785,880),7805=>array(122,0,598,705),7806=>array(170,-164,785,729),7807=>array(122,-164,598,524),7808=>array(170,0,1077,925),7809=>array(122,0,824,747),7810=>array(170,0,1077,931),7811=>array(122,0,824,747),7812=>array(170,0,1077,904),7813=>array(122,0,824,725),7814=>array(170,0,1077,879),7815=>array(122,0,824,702),7816=>array(170,-164,1077,729),7817=>array(122,-164,824,524),7818=>array(20,0,792,879),7819=>array(17,0,583,702),7820=>array(20,0,792,904),7821=>array(17,0,583,702),7822=>array(170,0,818,879),7823=>array(-2,-218,580,702),7824=>array(30,0,739,929),7825=>array(31,0,557,749),7826=>array(30,-164,739,729),7827=>array(31,-164,557,524),7828=>array(30,-134,739,729),7829=>array(31,-134,557,524),7830=>array(60,-134,564,729),7831=>array(87,-23,435,813),7832=>array(122,0,824,772),7833=>array(-2,-218,580,771),7834=>array(63,-23,678,754),7835=>array(89,0,413,879),7840=>array(16,-164,652,729),7841=>array(63,-187,566,539),7842=>array(16,0,652,948),7843=>array(63,-23,566,798),7844=>array(16,0,834,1000),7845=>array(63,-23,745,890),7846=>array(16,0,652,1000),7847=>array(63,-23,566,870),7848=>array(16,0,794,1000),7849=>array(63,-23,669,900),7850=>array(16,0,711,1013),7851=>array(63,-23,621,900),7852=>array(16,-164,652,903),7853=>array(63,-187,566,749),7854=>array(16,0,712,1021),7855=>array(63,-23,624,892),7856=>array(16,0,678,1014),7857=>array(63,-23,586,892),7858=>array(16,0,658,1072),7859=>array(63,-23,586,920),7860=>array(16,0,706,1014),7861=>array(63,-23,615,883),7862=>array(16,-164,677,889),7863=>array(63,-187,581,731),7864=>array(80,-164,741,729),7865=>array(77,-187,573,539),7866=>array(80,0,741,988),7867=>array(77,-23,573,798),7868=>array(80,0,741,903),7869=>array(77,-23,589,705),7870=>array(80,0,825,1000),7871=>array(77,-23,745,890),7872=>array(80,0,741,1000),7873=>array(77,-23,573,870),7874=>array(80,0,810,956),7875=>array(77,-23,682,900),7876=>array(80,0,741,1021),7877=>array(77,-23,619,900),7878=>array(80,-164,741,904),7879=>array(77,-187,573,731),7880=>array(100,0,429,988),7881=>array(66,0,355,783),7882=>array(67,-164,349,729),7883=>array(23,-164,305,729),7884=>array(100,-187,824,741),7885=>array(80,-187,576,539),7886=>array(100,-23,824,989),7887=>array(80,-23,576,788),7888=>array(100,-23,874,1000),7889=>array(80,-23,745,890),7890=>array(100,-23,824,1000),7891=>array(80,-23,576,870),7892=>array(100,-23,857,956),7893=>array(80,-23,672,900),7894=>array(100,-23,824,1024),7895=>array(80,-23,601,900),7896=>array(100,-187,824,904),7897=>array(80,-187,576,749),7898=>array(101,-23,938,920),7899=>array(76,-23,677,740),7900=>array(101,-23,938,920),7901=>array(76,-23,677,740),7902=>array(101,-23,938,988),7903=>array(76,-23,677,784),7904=>array(101,-23,938,886),7905=>array(76,-23,677,707),7906=>array(101,-187,938,796),7907=>array(76,-187,677,631),7908=>array(120,-187,796,729),7909=>array(83,-187,589,524),7910=>array(120,-23,796,975),7911=>array(83,-23,589,763),7912=>array(124,-23,940,920),7913=>array(87,-23,744,740),7914=>array(124,-23,940,920),7915=>array(87,-23,744,740),7916=>array(124,-23,940,953),7917=>array(87,-23,744,778),7918=>array(124,-23,940,883),7919=>array(87,-23,744,692),7920=>array(124,-187,940,856),7921=>array(87,-187,744,651),7922=>array(170,0,818,927),7923=>array(-2,-218,580,731),7924=>array(170,-164,818,729),7925=>array(-2,-218,580,524),7926=>array(170,0,818,961),7927=>array(-2,-218,580,761),7928=>array(170,0,818,887),7929=>array(-2,-218,580,690),7936=>array(34,-13,584,756),7937=>array(34,-13,584,757),7938=>array(34,-13,584,756),7939=>array(34,-13,584,757),7940=>array(34,-13,607,756),7941=>array(34,-13,592,757),7942=>array(34,-13,591,873),7943=>array(34,-13,587,871),7944=>array(0,0,670,735),7945=>array(0,0,670,742),7946=>array(78,0,748,741),7947=>array(62,0,732,742),7948=>array(28,0,698,741),7949=>array(26,0,696,742),7950=>array(0,0,670,862),7951=>array(0,0,670,856),7952=>array(16,-10,522,756),7953=>array(16,-10,522,757),7954=>array(16,-10,522,756),7955=>array(16,-10,522,757),7956=>array(16,-10,540,756),7957=>array(16,-10,527,757),7960=>array(109,0,806,741),7961=>array(101,0,798,742),7962=>array(104,0,1009,741),7963=>array(116,0,1004,742),7964=>array(108,0,1005,741),7965=>array(118,0,994,742),7968=>array(33,-182,551,756),7969=>array(33,-182,551,757),7970=>array(33,-182,556,756),7971=>array(33,-182,553,757),7972=>array(33,-182,600,756),7973=>array(33,-182,626,757),7974=>array(33,-182,618,873),7975=>array(33,-182,617,871),7976=>array(100,0,839,741),7977=>array(113,0,852,742),7978=>array(110,0,1037,741),7979=>array(116,0,1026,742),7980=>array(111,0,1037,741),7981=>array(118,0,1024,742),7982=>array(101,0,906,853),7983=>array(119,1,943,854),7984=>array(28,-8,264,756),7985=>array(28,-8,277,757),7986=>array(107,-8,435,756),7987=>array(124,-8,431,757),7988=>array(89,-8,460,756),7989=>array(71,-8,454,757),7990=>array(94,-9,479,874),7991=>array(89,-8,475,870),7992=>array(107,0,390,741),7993=>array(112,0,385,742),7994=>array(105,0,592,741),7995=>array(118,0,594,742),7996=>array(106,0,594,741),7997=>array(114,0,582,742),7998=>array(109,0,472,855),7999=>array(124,0,485,856),8000=>array(32,-12,542,756),8001=>array(32,-12,542,757),8002=>array(32,-12,542,756),8003=>array(32,-12,542,757),8004=>array(32,-12,585,756),8005=>array(32,-12,579,757),8008=>array(92,-12,808,741),8009=>array(101,-12,817,742),8010=>array(108,-12,1047,741),8011=>array(122,-12,1045,742),8012=>array(111,-12,947,741),8013=>array(122,-12,947,742),8016=>array(37,-14,569,756),8017=>array(37,-14,569,757),8018=>array(37,-14,569,756),8019=>array(37,-14,569,757),8020=>array(37,-14,569,756),8021=>array(37,-14,569,757),8022=>array(37,-14,572,873),8023=>array(37,-14,569,871),8025=>array(121,0,963,742),8027=>array(121,0,1129,742),8029=>array(126,0,1161,742),8031=>array(113,0,1061,854),8032=>array(26,-9,717,756),8033=>array(26,-9,717,757),8034=>array(26,-9,717,756),8035=>array(26,-9,717,757),8036=>array(26,-9,717,756),8037=>array(26,-9,717,757),8038=>array(26,-9,717,873),8039=>array(26,-9,717,868),8040=>array(26,0,793,741),8041=>array(45,0,812,742),8042=>array(109,0,1005,741),8043=>array(121,0,992,742),8044=>array(113,0,936,741),8045=>array(122,0,931,742),8046=>array(103,0,884,855),8047=>array(120,0,907,857),8048=>array(34,-13,584,747),8049=>array(34,-13,584,747),8050=>array(16,-10,522,747),8051=>array(16,-10,522,747),8052=>array(33,-182,551,747),8053=>array(33,-182,551,747),8054=>array(28,-8,288,747),8055=>array(28,-8,319,747),8056=>array(32,-12,542,747),8057=>array(32,-12,542,747),8058=>array(37,-14,569,747),8059=>array(37,-14,569,747),8060=>array(26,-9,717,747),8061=>array(26,-9,717,747),8064=>array(34,-200,584,756),8065=>array(34,-200,584,757),8066=>array(34,-200,584,756),8067=>array(34,-200,584,757),8068=>array(34,-200,607,756),8069=>array(34,-200,592,757),8070=>array(34,-200,591,873),8071=>array(34,-200,587,871),8072=>array(0,0,844,735),8073=>array(0,0,846,742),8074=>array(78,0,933,741),8075=>array(62,0,913,742),8076=>array(28,0,871,741),8077=>array(26,0,880,742),8078=>array(0,0,850,862),8079=>array(0,0,849,856),8080=>array(-2,-200,551,756),8081=>array(4,-200,551,757),8082=>array(-1,-200,556,756),8083=>array(-2,-200,553,757),8084=>array(2,-200,600,756),8085=>array(0,-200,626,757),8086=>array(0,-200,618,873),8087=>array(0,-200,617,871),8088=>array(102,0,875,741),8089=>array(113,0,879,742),8090=>array(110,0,1077,741),8091=>array(116,0,1069,742),8092=>array(111,0,1080,741),8093=>array(118,0,1065,742),8094=>array(101,0,938,853),8095=>array(119,0,971,854),8096=>array(26,-200,717,756),8097=>array(26,-200,717,757),8098=>array(26,-200,717,756),8099=>array(26,-200,717,757),8100=>array(26,-200,717,756),8101=>array(26,-200,717,757),8102=>array(26,-200,717,873),8103=>array(26,-200,717,868),8104=>array(26,0,877,741),8105=>array(45,0,892,742),8106=>array(109,0,1098,741),8107=>array(121,0,1080,742),8108=>array(113,0,1019,741),8109=>array(122,0,1015,742),8110=>array(103,0,968,855),8111=>array(120,0,987,857),8112=>array(34,-13,584,734),8113=>array(34,-13,584,668),8114=>array(34,-200,584,747),8115=>array(34,-200,584,530),8116=>array(34,-200,584,740),8118=>array(34,-13,584,707),8119=>array(34,-200,584,707),8120=>array(0,0,670,899),8121=>array(0,0,670,870),8122=>array(61,0,731,741),8123=>array(49,0,719,741),8124=>array(0,0,846,716),8125=>array(114,583,229,740),8126=>array(18,0,173,177),8127=>array(114,583,229,740),8128=>array(-32,618,309,726),8129=>array(153,596,502,881),8130=>array(1,-200,551,747),8131=>array(2,-200,551,531),8132=>array(1,-200,551,740),8134=>array(33,-182,593,752),8135=>array(-2,-200,593,752),8136=>array(109,0,882,741),8137=>array(75,0,896,741),8138=>array(103,0,951,741),8139=>array(74,0,917,741),8140=>array(0,0,771,716),8141=>array(114,583,431,740),8142=>array(114,583,455,740),8143=>array(172,574,513,875),8144=>array(73,-8,407,734),8145=>array(60,-8,367,668),8146=>array(69,-8,443,760),8147=>array(74,-8,470,747),8150=>array(74,-8,415,707),8151=>array(58,-8,455,886),8152=>array(44,0,447,899),8153=>array(42,0,419,870),8154=>array(110,0,476,741),8155=>array(80,0,441,741),8157=>array(163,584,466,741),8158=>array(163,584,491,741),8159=>array(74,572,415,871),8160=>array(37,-14,569,734),8161=>array(37,-14,569,668),8162=>array(37,-14,569,761),8163=>array(37,-14,569,761),8164=>array(-49,-200,564,756),8165=>array(-49,-200,564,757),8166=>array(37,-14,569,707),8167=>array(37,-14,569,868),8168=>array(153,0,809,899),8169=>array(153,0,809,870),8170=>array(95,0,941,741),8171=>array(85,0,976,741),8172=>array(101,0,782,742),8173=>array(119,601,493,760),8174=>array(244,601,618,760),8175=>array(179,592,357,740),8178=>array(26,-200,717,747),8179=>array(26,-200,717,526),8180=>array(26,-200,717,740),8182=>array(26,-9,717,707),8183=>array(26,-200,717,707),8184=>array(106,-12,905,741),8185=>array(80,-12,844,741),8186=>array(81,0,848,741),8187=>array(43,0,810,741),8188=>array(0,0,852,722),8189=>array(218,592,458,740),8190=>array(163,584,276,741),8208=>array(97,240,351,312),8209=>array(97,240,351,312),8210=>array(46,240,628,312),8211=>array(46,240,628,312),8212=>array(42,240,1068,312),8213=>array(42,240,1068,312),8214=>array(70,-14,250,676),8215=>array(-60,-283,553,-67),8216=>array(168,499,311,730),8217=>array(168,499,311,730),8218=>array(37,-128,180,103),8219=>array(192,497,312,729),8220=>array(150,499,454,730),8221=>array(155,499,457,730),8222=>array(20,-128,322,103),8223=>array(177,497,457,729),8224=>array(127,-177,620,709),8225=>array(51,-177,620,709),8226=>array(120,220,376,470),8227=>array(117,220,373,470),8228=>array(87,0,213,103),8229=>array(115,0,573,103),8230=>array(115,0,906,103),8231=>array(166,192,293,295),8240=>array(93,-20,1024,738),8241=>array(92,-22,1384,738),8242=>array(145,438,370,716),8243=>array(145,438,582,716),8244=>array(145,438,798,716),8245=>array(192,438,323,716),8246=>array(192,438,538,716),8247=>array(192,438,734,716),8248=>array(-27,-171,330,121),8249=>array(94,106,290,438),8250=>array(74,106,272,438),8251=>array(117,68,624,492),8252=>array(124,0,641,729),8253=>array(184,0,631,741),8254=>array(137,752,728,806),8255=>array(39,-199,595,-28),8256=>array(181,574,736,745),8257=>array(-8,-201,445,276),8258=>array(45,-1,856,729),8259=>array(84,161,419,321),8260=>array(-178,-20,506,729),8261=>array(98,-212,431,729),8262=>array(-15,-212,319,729),8263=>array(184,0,1156,741),8264=>array(184,0,919,741),8265=>array(124,0,908,741),8266=>array(115,-12,608,412),8267=>array(67,-177,633,729),8268=>array(69,74,601,544),8269=>array(37,74,569,544),8270=>array(77,-1,379,290),8271=>array(53,-147,279,524),8272=>array(86,21,730,718),8273=>array(76,-1,474,741),8274=>array(60,0,744,750),8275=>array(63,293,582,399),8276=>array(15,-204,571,-33),8277=>array(107,-14,826,701),8278=>array(139,-33,585,544),8279=>array(145,438,983,716),8280=>array(139,-34,764,655),8281=>array(47,-33,803,673),8282=>array(50,-32,321,750),8283=>array(105,-199,730,764),8284=>array(58,40,645,525),8285=>array(60,0,337,800),8286=>array(55,2,328,796),8304=>array(141,366,460,805),8305=>array(122,380,279,854),8308=>array(119,380,447,805),8309=>array(121,366,473,805),8310=>array(126,366,454,805),8311=>array(161,380,497,805),8312=>array(126,366,463,805),8313=>array(136,366,465,805),8314=>array(131,400,456,716),8315=>array(123,535,461,581),8316=>array(112,464,471,622),8317=>array(226,288,443,901),8318=>array(125,288,342,901),8319=>array(109,380,437,731),8320=>array(18,-214,337,225),8321=>array(61,-200,249,225),8322=>array(-10,-200,358,225),8323=>array(7,-214,339,225),8324=>array(-7,-200,321,225),8325=>array(-3,-214,349,225),8326=>array(3,-214,331,225),8327=>array(40,-200,376,225),8328=>array(0,-214,337,225),8329=>array(9,-214,338,225),8330=>array(18,-126,343,190),8331=>array(13,9,351,55),8332=>array(3,-47,362,111),8333=>array(110,-300,327,313),8334=>array(-8,-300,209,313),8336=>array(-9,-213,319,153),8337=>array(2,-213,325,153),8338=>array(12,-213,335,153),8339=>array(-29,-200,339,141),8340=>array(29,-213,353,153),8352=>array(131,0,683,731),8353=>array(100,-87,675,780),8354=>array(94,-23,668,741),8355=>array(102,0,697,729),8356=>array(46,-23,626,729),8357=>array(70,-89,851,626),8358=>array(116,0,763,729),8359=>array(15,-23,1224,729),8360=>array(80,-23,1242,729),8361=>array(102,0,976,729),8362=>array(20,0,883,600),8363=>array(54,1,692,799),8364=>array(89,-23,756,709),8365=>array(79,0,810,729),8366=>array(133,0,748,729),8367=>array(0,-200,1264,716),8368=>array(34,-200,633,727),8369=>array(91,0,795,729),8370=>array(152,-93,760,800),8371=>array(17,0,726,729),8372=>array(126,-23,680,741),8373=>array(54,-126,657,770),8376=>array(134,0,639,729),8377=>array(96,-7,625,729),8400=>array(-401,558,109,748),8401=>array(-401,558,101,748),8402=>array(-205,-14,-3,676),8403=>array(-228,-1,-53,535),8404=>array(-506,503,132,800),8405=>array(-496,503,122,800),8406=>array(-449,546,148,889),8407=>array(-449,546,151,889),8408=>array(-342,109,-41,402),8409=>array(-342,109,18,440),8410=>array(-342,73,-36,401),8411=>array(-369,505,149,608),8412=>array(-451,582,191,686),8413=>array(-718,-198,270,790),8414=>array(-719,-193,270,796),8415=>array(-716,-190,270,796),8416=>array(-718,-198,270,790),8417=>array(-496,554,155,897),8420=>array(-1166,-146,-1,852),8421=>array(-542,-61,-25,749),8422=>array(-317,-14,10,676),8423=>array(-312,90,208,638),8424=>array(-525,-196,-7,-93),8425=>array(-358,503,147,687),8426=>array(-898,20,19,546),8427=>array(-616,-99,200,591),8428=>array(-508,-245,-5,-55),8429=>array(-497,-242,21,-52),8430=>array(-542,-286,57,-28),8431=>array(-657,-288,-58,-30),8432=>array(-160,566,38,754),8448=>array(80,-20,859,741),8449=>array(80,-20,860,741),8450=>array(61,-23,719,741),8451=>array(122,-23,1058,741),8452=>array(102,1,515,685),8453=>array(108,-20,825,741),8454=>array(108,-20,865,741),8455=>array(57,-23,671,741),8456=>array(66,-23,730,741),8457=>array(78,0,972,729),8459=>array(3,-22,1210,717),8460=>array(7,-111,581,718),8461=>array(26,0,736,729),8462=>array(60,0,564,729),8463=>array(86,0,590,729),8464=>array(8,-17,902,717),8465=>array(7,-87,690,699),8466=>array(5,-17,950,738),8467=>array(38,-11,536,726),8468=>array(53,-23,759,729),8469=>array(56,0,781,729),8470=>array(64,0,981,729),8471=>array(24,-67,890,799),8472=>array(3,-156,572,454),8473=>array(51,0,694,729),8474=>array(42,-59,770,741),8475=>array(-2,-17,887,717),8476=>array(11,-8,717,741),8477=>array(53,0,731,729),8478=>array(53,-55,855,729),8479=>array(39,-104,731,894),8480=>array(48,188,1091,739),8481=>array(99,0,1224,729),8482=>array(103,203,1072,728),8483=>array(9,-104,730,894),8484=>array(28,0,736,729),8486=>array(0,0,767,722),8487=>array(42,-20,809,702),8488=>array(-4,-140,566,705),8489=>array(115,1,308,529),8490=>array(80,0,814,729),8491=>array(16,0,652,970),8492=>array(34,-14,928,708),8493=>array(17,-13,600,705),8494=>array(77,-23,573,539),8495=>array(23,-11,498,491),8496=>array(25,-8,691,708),8497=>array(1,-22,950,728),8498=>array(13,0,657,729),8499=>array(9,-36,1195,719),8501=>array(26,0,662,600),8502=>array(58,0,583,600),8503=>array(30,0,465,600),8504=>array(119,0,641,600),8505=>array(67,0,362,729),8506=>array(61,-21,933,683),8507=>array(30,0,1407,729),8508=>array(44,0,664,524),8510=>array(52,0,691,729),8511=>array(70,0,785,729),8513=>array(80,-23,780,741),8514=>array(150,0,621,729),8515=>array(10,0,618,729),8516=>array(9,0,657,729),8522=>array(31,1,574,711),8523=>array(98,-46,659,686),8525=>array(35,-20,1163,729),8526=>array(13,0,478,525),8531=>array(103,-20,851,805),8532=>array(44,-20,891,735),8533=>array(113,-20,926,729),8534=>array(94,-20,937,735),8535=>array(88,-20,882,730),8536=>array(91,-20,895,735),8537=>array(141,-20,898,729),8538=>array(91,-20,898,735),8539=>array(107,-20,887,729),8540=>array(93,-20,884,730),8541=>array(103,-20,908,735),8542=>array(107,-20,883,733),8543=>array(139,-20,823,729),8544=>array(100,0,349,729),8545=>array(100,0,627,729),8546=>array(100,0,905,729),8547=>array(100,0,1063,729),8548=>array(170,0,785,729),8549=>array(170,0,1016,729),8550=>array(170,0,1294,729),8551=>array(170,0,1572,729),8552=>array(100,0,1070,729),8553=>array(20,0,792,729),8554=>array(20,0,1016,729),8555=>array(20,0,1294,729),8556=>array(80,0,551,729),8557=>array(100,-23,758,741),8558=>array(80,0,750,729),8559=>array(80,0,921,729),8560=>array(66,0,305,729),8561=>array(66,0,527,729),8562=>array(66,0,749,729),8563=>array(66,0,820,729),8564=>array(122,0,598,524),8565=>array(122,0,805,729),8566=>array(122,0,1027,729),8567=>array(122,0,1249,729),8568=>array(66,0,805,729),8569=>array(17,0,583,524),8570=>array(17,0,805,729),8571=>array(17,0,1027,729),8572=>array(68,0,307,729),8573=>array(76,-23,554,539),8574=>array(76,-23,653,729),8575=>array(60,0,841,539),8592=>array(32,-15,948,511),8593=>array(88,0,614,910),8594=>array(43,-15,959,511),8595=>array(2,-22,528,888),8596=>array(24,-15,1024,511),8597=>array(215,-22,833,910),8598=>array(108,24,796,787),8599=>array(33,24,940,786),8600=>array(6,24,694,787),8601=>array(33,25,940,787),8612=>array(44,-18,1012,514),8613=>array(19,-208,689,704),8614=>array(44,-18,1012,514),8615=>array(20,-208,690,704),8617=>array(81,-15,1021,511),8618=>array(117,-15,1012,511),8628=>array(135,13,709,600),8629=>array(35,-16,736,629),8636=>array(49,220,971,511),8637=>array(60,-20,970,271),8638=>array(73,-90,496,820),8639=>array(91,-70,441,840),8640=>array(49,220,959,511),8641=>array(48,-20,970,271),8642=>array(73,-90,423,820),8643=>array(27,-70,451,840),8644=>array(32,-185,999,681),8645=>array(88,-22,868,910),8646=>array(43,-185,998,682),8647=>array(32,-200,1028,856),8648=>array(88,0,1144,910),8649=>array(32,-200,1028,856),8650=>array(38,-111,1094,799),8651=>array(48,-120,991,613),8652=>array(40,-107,979,597),8656=>array(53,-15,990,513),8657=>array(79,-106,616,804),8658=>array(29,-15,966,513),8659=>array(33,-106,570,804),8660=>array(79,-20,1075,510),8661=>array(259,-253,895,743),8668=>array(8,-8,1052,518),8669=>array(51,-8,1095,518),8704=>array(120,0,756,729),8705=>array(105,-139,725,861),8706=>array(82,-23,601,709),8707=>array(90,0,751,729),8708=>array(90,-100,751,800),8709=>array(40,-14,762,710),8710=>array(10,0,701,729),8711=>array(160,0,851,729),8712=>array(60,0,611,616),8713=>array(60,-62,611,687),8714=>array(48,1,565,469),8715=>array(34,-1,585,615),8716=>array(43,-60,585,689),8717=>array(20,-1,537,467),8718=>array(100,0,528,600),8719=>array(33,-100,841,815),8720=>array(31,-100,839,815),8721=>array(18,-100,854,824),8722=>array(81,197,601,269),8723=>array(49,-21,624,612),8724=>array(72,0,571,633),8725=>array(212,-20,876,709),8726=>array(70,-20,382,544),8727=>array(113,59,507,474),8728=>array(72,71,445,443),8729=>array(197,220,453,470),8730=>array(77,-36,779,916),8731=>array(77,-36,779,916),8732=>array(77,-36,779,916),8733=>array(58,124,686,404),8734=>array(48,124,719,404),8735=>array(72,0,597,525),8736=>array(26,0,738,712),8737=>array(26,-100,738,562),8738=>array(50,-24,559,579),8739=>array(70,-14,130,676),8740=>array(30,-14,258,676),8741=>array(70,-14,250,676),8742=>array(30,-14,310,676),8743=>array(20,0,568,448),8744=>array(60,0,608,448),8745=>array(25,0,763,509),8746=>array(69,-17,807,492),8747=>array(8,-246,577,767),8748=>array(8,-246,837,767),8749=>array(8,-246,1077,767),8756=>array(133,-23,668,428),8757=>array(132,48,667,499),8758=>array(152,-35,279,488),8759=>array(152,-35,649,488),8760=>array(71,197,591,458),8761=>array(51,-35,770,458),8762=>array(46,-7,646,468),8763=>array(46,55,529,519),8764=>array(66,206,549,376),8770=>array(65,36,585,372),8771=>array(81,109,601,445),8773=>array(34,36,589,536),8776=>array(64,112,549,486),8778=>array(51,0,579,569),8779=>array(46,52,529,561),8800=>array(74,2,609,480),8801=>array(81,89,601,451),8804=>array(21,-11,640,639),8805=>array(18,-11,596,639),8960=>array(39,-24,781,719),8976=>array(58,86,624,375),8994=>array(72,158,628,329),8995=>array(61,155,617,326),9001=>array(39,-268,428,676),9002=>array(4,-198,393,746),9251=>array(18,0,522,184),9674=>array(22,0,468,744),9675=>array(39,-14,761,708),9702=>array(115,220,371,470),9711=>array(74,-67,940,799),9824=>array(72,0,656,705),9825=>array(148,-14,782,704),9826=>array(107,-14,634,705),9827=>array(99,0,813,705),9828=>array(72,0,656,705),9829=>array(148,-14,782,704),9830=>array(107,-14,634,705),9831=>array(99,0,813,705),9833=>array(-21,0,372,694),9834=>array(-21,0,497,694),9835=>array(16,0,722,703),9836=>array(16,0,722,703),9837=>array(-32,-21,362,730),9838=>array(-28,-214,402,712),9839=>array(-39,-197,452,762),11568=>array(64,-8,343,264),11569=>array(124,-16,902,744),11570=>array(124,-16,902,744),11571=>array(72,0,803,728),11572=>array(72,0,803,728),11573=>array(72,0,803,728),11574=>array(187,0,639,738),11575=>array(48,0,661,728),11576=>array(202,0,816,728),11577=>array(72,0,803,728),11578=>array(72,0,803,728),11579=>array(122,-8,628,734),11580=>array(72,0,781,728),11581=>array(72,0,825,728),11582=>array(83,-10,600,738),11583=>array(72,0,812,728),11584=>array(124,-16,902,744),11585=>array(110,-16,919,744),11586=>array(83,-10,363,738),11587=>array(48,0,779,728),11588=>array(60,0,722,728),11589=>array(72,0,803,728),11590=>array(79,64,587,512),11591=>array(72,0,825,728),11592=>array(129,290,782,438),11593=>array(92,0,681,728),11594=>array(48,0,642,728),11595=>array(56,-16,987,744),11596=>array(104,0,886,728),11597=>array(72,0,607,728),11598=>array(72,0,803,728),11599=>array(90,0,325,728),11600=>array(104,0,886,728),11601=>array(4,-224,307,728),11602=>array(101,-16,764,728),11603=>array(78,-8,457,736),11604=>array(124,-16,902,744),11605=>array(123,-18,902,743),11606=>array(140,0,803,728),11607=>array(71,-10,351,738),11608=>array(67,-10,727,738),11609=>array(124,-16,902,744),11610=>array(123,-18,952,743),11611=>array(124,-16,827,744),11612=>array(122,0,456,728),11613=>array(72,0,803,728),11614=>array(124,-16,827,744),11615=>array(72,0,803,728),11616=>array(48,0,661,728),11617=>array(72,0,803,728),11618=>array(75,5,622,728),11619=>array(54,0,929,728),11620=>array(72,0,486,728),11621=>array(54,0,929,728),11631=>array(166,444,525,728),11798=>array(38,-20,586,618),11799=>array(59,107,371,458),11800=>array(71,-24,518,717),11802=>array(67,240,411,625),11803=>array(47,268,504,676),11806=>array(57,268,514,564),11807=>array(57,151,514,438),11816=>array(33,-213,517,729),11817=>array(-37,-213,447,729),11818=>array(31,-20,659,557),11819=>array(53,90,678,433),11820=>array(23,160,648,503),11821=>array(43,10,668,588),11822=>array(119,0,556,741),42888=>array(8,-74,295,76),42889=>array(86,0,302,524),42890=>array(62,111,330,355),42891=>array(141,303,308,770),42892=>array(175,462,308,770),42922=>array(91,0,905,729),64256=>array(88,0,630,732),64257=>array(88,0,546,732),64258=>array(88,0,550,732),64259=>array(88,0,735,732),64260=>array(88,0,730,732),64261=>array(88,-23,608,732),64275=>array(19,-10,980,755),64276=>array(19,-11,1022,724),64277=>array(19,-205,993,724),64278=>array(50,-211,1027,716),64279=>array(19,-210,1257,724),64285=>array(93,147,273,600),64286=>array(52,660,359,813),64287=>array(119,149,473,600),64288=>array(37,0,659,600),64289=>array(-54,0,832,600),64290=>array(29,0,800,600),64291=>array(-57,0,782,600),64292=>array(-63,0,727,600),64293=>array(29,0,803,749),64294=>array(-57,0,785,600),64295=>array(28,0,707,600),64296=>array(-85,0,847,600),64297=>array(-28,197,471,474),64298=>array(110,0,866,711),64299=>array(110,0,848,711),64300=>array(110,0,866,711),64301=>array(110,0,848,711),64302=>array(66,-131,702,600),64303=>array(66,-248,702,600),64304=>array(66,-96,702,600),64305=>array(58,0,583,600),64306=>array(30,0,465,600),64307=>array(149,0,671,600),64308=>array(63,0,651,600),64309=>array(61,0,328,600),64310=>array(72,0,424,600),64312=>array(104,0,656,600),64313=>array(75,286,343,600),64314=>array(149,-200,559,600),64315=>array(57,0,601,600),64316=>array(148,0,673,749),64318=>array(68,0,655,600),64320=>array(51,0,412,600),64321=>array(103,0,656,600),64323=>array(135,-200,611,600),64324=>array(63,0,616,600),64326=>array(59,0,652,600),64327=>array(19,-200,678,600),64328=>array(148,0,582,600),64329=>array(110,0,848,600),64330=>array(35,0,723,600),64331=>array(62,0,297,731),64332=>array(58,0,583,735),64333=>array(57,0,601,735),64334=>array(63,0,616,735),64335=>array(195,0,702,749),65532=>array(67,-2,761,686),65533=>array(14,-63,877,800),65535=>array(-15,-139,915,800)); +$cw=array(0=>800,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>664,67=>710,68=>702,69=>657,70=>601,71=>778,72=>721,73=>278,74=>507,75=>667,76=>556,77=>846,78=>730,79=>770,80=>646,81=>776,82=>709,83=>651,84=>611,85=>721,86=>645,87=>937,88=>669,89=>678,90=>611,91=>278,92=>278,93=>278,94=>469,95=>556,96=>333,97=>554,98=>561,99=>515,100=>558,101=>547,102=>260,103=>552,104=>540,105=>222,106=>242,107=>502,108=>222,109=>816,110=>540,111=>556,112=>563,113=>556,114=>324,115=>500,116=>265,117=>538,118=>497,119=>723,120=>490,121=>479,122=>500,123=>334,124=>260,125=>334,126=>584,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>444,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>352,179=>352,180=>333,181=>556,182=>537,183=>278,184=>333,185=>250,186=>365,187=>444,188=>900,189=>927,190=>947,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>711,200=>657,201=>657,202=>657,203=>657,204=>278,205=>278,206=>278,207=>278,208=>722,209=>730,210=>770,211=>770,212=>770,213=>770,214=>770,215=>584,216=>778,217=>721,218=>721,219=>721,220=>721,221=>678,222=>646,223=>579,224=>554,225=>554,226=>554,227=>554,228=>554,229=>554,230=>897,231=>510,232=>547,233=>547,234=>547,235=>547,236=>222,237=>222,238=>262,239=>262,240=>556,241=>540,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>561,249=>538,250=>538,251=>538,252=>538,253=>479,254=>561,255=>479,256=>667,257=>554,258=>667,259=>554,260=>667,261=>556,262=>710,263=>515,264=>710,265=>515,266=>710,267=>515,268=>710,269=>515,270=>702,271=>692,272=>722,273=>556,274=>657,275=>547,276=>657,277=>547,278=>657,279=>547,280=>657,281=>547,282=>657,283=>547,284=>778,285=>552,286=>778,287=>552,288=>778,289=>552,290=>778,291=>552,292=>721,293=>540,294=>722,295=>556,296=>300,297=>262,298=>300,299=>262,300=>300,301=>262,302=>278,303=>262,304=>278,305=>222,306=>742,307=>387,308=>507,309=>262,310=>667,311=>502,312=>500,313=>556,314=>222,315=>556,316=>222,317=>556,318=>342,319=>556,320=>359,321=>556,322=>222,323=>730,324=>540,325=>730,326=>540,327=>730,328=>540,329=>692,330=>642,331=>538,332=>770,333=>556,334=>770,335=>556,336=>770,337=>556,338=>1000,339=>937,340=>709,341=>324,342=>709,343=>324,344=>709,345=>324,346=>651,347=>500,348=>651,349=>500,350=>667,351=>500,352=>651,353=>500,354=>611,355=>278,356=>611,357=>373,358=>611,359=>278,360=>721,361=>538,362=>721,363=>538,364=>721,365=>538,366=>721,367=>538,368=>721,369=>538,370=>722,371=>556,372=>937,373=>723,374=>678,375=>479,376=>678,377=>611,378=>500,379=>611,380=>500,381=>611,382=>500,383=>278,384=>556,385=>777,386=>667,387=>556,388=>667,389=>556,390=>710,391=>722,392=>530,393=>722,394=>869,395=>667,396=>556,397=>566,398=>667,399=>778,400=>667,401=>611,402=>278,403=>778,404=>667,405=>889,406=>278,407=>333,408=>741,409=>500,410=>333,411=>560,412=>833,413=>722,414=>556,415=>778,416=>778,417=>556,418=>1002,419=>737,420=>842,421=>556,422=>666,423=>667,424=>500,425=>611,426=>333,427=>278,428=>611,429=>278,430=>611,431=>773,432=>623,433=>768,434=>722,435=>793,436=>608,437=>611,438=>500,439=>611,440=>611,441=>500,442=>500,443=>556,446=>556,447=>556,448=>260,449=>520,450=>584,451=>278,452=>1311,453=>1208,454=>1056,455=>1056,456=>778,457=>444,458=>1158,459=>944,460=>778,461=>667,462=>554,463=>300,464=>262,465=>770,466=>556,467=>721,468=>538,469=>721,470=>538,471=>721,472=>538,473=>721,474=>538,475=>721,476=>538,477=>547,478=>667,479=>554,480=>667,481=>554,482=>1000,483=>897,484=>778,485=>556,486=>778,487=>552,488=>667,489=>502,490=>778,491=>551,492=>778,493=>551,494=>611,495=>560,496=>222,497=>1333,498=>1222,499=>1056,500=>778,501=>552,503=>630,504=>730,505=>540,506=>667,507=>554,508=>1000,509=>897,510=>778,511=>561,512=>667,513=>554,514=>667,515=>554,516=>657,517=>547,518=>657,519=>547,520=>300,521=>262,522=>300,523=>262,524=>770,525=>556,526=>770,527=>556,528=>709,529=>324,530=>709,531=>324,532=>721,533=>538,534=>721,535=>538,536=>651,537=>500,538=>611,539=>265,540=>521,541=>393,542=>721,543=>540,548=>611,549=>500,550=>667,551=>554,552=>667,553=>556,554=>770,555=>556,556=>770,557=>556,558=>770,559=>556,560=>770,561=>556,562=>678,563=>479,567=>222,592=>554,593=>556,594=>589,595=>556,596=>515,597=>500,598=>581,599=>564,600=>556,601=>547,602=>773,603=>500,604=>500,605=>742,606=>500,607=>246,608=>556,609=>552,610=>546,611=>434,612=>556,613=>540,614=>556,615=>556,616=>245,617=>222,618=>278,619=>473,620=>427,621=>229,622=>611,623=>816,624=>803,625=>833,626=>566,627=>576,628=>560,629=>556,630=>778,631=>722,632=>728,633=>324,634=>333,635=>393,636=>333,637=>333,638=>384,639=>369,640=>546,641=>546,642=>550,643=>328,644=>298,645=>298,646=>444,647=>265,648=>278,649=>579,650=>626,651=>539,652=>497,653=>723,654=>479,655=>538,656=>510,657=>520,658=>560,659=>552,660=>533,661=>534,662=>533,663=>1000,664=>526,665=>501,666=>520,667=>575,668=>520,669=>444,670=>502,671=>430,672=>556,673=>532,674=>533,675=>934,676=>944,677=>944,678=>689,679=>506,680=>764,681=>766,682=>660,683=>577,684=>475,685=>486,686=>565,687=>621,688=>333,689=>333,690=>167,691=>236,692=>236,693=>276,694=>359,695=>500,696=>330,697=>278,698=>454,699=>278,700=>278,701=>278,702=>333,703=>333,704=>333,705=>333,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>333,713=>333,714=>333,715=>333,716=>333,717=>333,718=>333,719=>333,720=>333,721=>333,722=>333,723=>333,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,735=>510,736=>333,737=>186,738=>333,739=>333,740=>334,741=>526,742=>526,743=>526,744=>526,745=>526,746=>519,747=>519,748=>333,749=>333,750=>333,751=>333,752=>383,753=>294,754=>294,755=>327,756=>261,757=>437,758=>437,759=>333,760=>278,761=>200,762=>200,763=>200,764=>200,765=>333,766=>333,767=>333,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,884=>199,885=>199,890=>332,894=>278,900=>291,901=>624,902=>659,903=>278,904=>870,905=>870,906=>315,908=>876,910=>903,911=>882,912=>333,913=>765,914=>643,915=>589,916=>760,917=>659,918=>682,919=>707,920=>769,921=>256,922=>689,923=>765,924=>825,925=>687,926=>649,927=>766,928=>730,929=>649,931=>678,932=>655,933=>733,934=>753,935=>783,936=>773,937=>768,938=>285,939=>733,940=>593,941=>523,942=>595,943=>271,944=>549,945=>596,946=>534,947=>531,948=>566,949=>523,950=>470,951=>557,952=>547,953=>293,954=>516,955=>579,956=>571,957=>518,958=>499,959=>561,960=>636,961=>551,962=>564,963=>627,964=>505,965=>549,966=>715,967=>579,968=>662,969=>746,970=>335,971=>549,972=>535,973=>503,974=>725,977=>580,978=>742,979=>809,980=>620,981=>728,982=>740,983=>556,1008=>556,1009=>566,1012=>778,1013=>328,1024=>657,1025=>657,1026=>781,1027=>590,1028=>709,1029=>655,1030=>254,1031=>300,1032=>532,1033=>1002,1034=>1166,1035=>772,1036=>674,1037=>730,1038=>605,1039=>721,1040=>667,1041=>665,1042=>664,1043=>590,1044=>807,1045=>657,1046=>914,1047=>653,1048=>730,1049=>730,1050=>674,1051=>656,1052=>846,1053=>721,1054=>770,1055=>720,1056=>649,1057=>709,1058=>606,1059=>605,1060=>875,1061=>660,1062=>754,1063=>612,1064=>830,1065=>872,1066=>839,1067=>885,1068=>668,1069=>708,1070=>1099,1071=>676,1072=>554,1073=>545,1074=>521,1075=>375,1076=>572,1077=>538,1078=>815,1079=>488,1080=>557,1081=>557,1082=>519,1083=>508,1084=>618,1085=>558,1086=>533,1087=>557,1088=>569,1089=>511,1090=>392,1091=>469,1092=>922,1093=>475,1094=>588,1095=>482,1096=>693,1097=>722,1098=>644,1099=>731,1100=>521,1101=>509,1102=>790,1103=>550,1104=>538,1105=>538,1106=>566,1107=>375,1108=>506,1109=>488,1110=>224,1111=>272,1112=>226,1113=>793,1114=>849,1115=>576,1116=>519,1117=>557,1118=>469,1119=>557,1120=>942,1121=>693,1136=>749,1137=>666,1138=>785,1139=>528,1148=>942,1149=>736,1150=>947,1151=>686,1154=>456,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>751,1163=>588,1164=>685,1165=>554,1166=>656,1167=>606,1168=>598,1169=>396,1170=>611,1171=>409,1172=>592,1173=>448,1174=>921,1175=>826,1176=>657,1177=>493,1178=>680,1179=>529,1180=>678,1181=>524,1182=>695,1183=>528,1184=>846,1185=>650,1186=>741,1187=>578,1188=>992,1189=>700,1190=>1047,1191=>778,1192=>810,1193=>645,1194=>709,1195=>509,1196=>611,1197=>393,1198=>664,1199=>580,1200=>668,1201=>617,1202=>664,1203=>489,1204=>905,1205=>662,1206=>631,1207=>498,1208=>597,1209=>472,1210=>597,1211=>471,1212=>927,1213=>716,1214=>927,1215=>699,1216=>254,1217=>915,1218=>815,1219=>665,1220=>510,1221=>678,1222=>533,1223=>721,1224=>558,1225=>751,1226=>589,1227=>599,1228=>472,1229=>876,1230=>649,1231=>254,1232=>667,1233=>552,1234=>667,1235=>552,1236=>1000,1237=>897,1238=>657,1239=>538,1240=>722,1241=>511,1242=>722,1243=>511,1244=>914,1245=>815,1246=>653,1247=>488,1248=>611,1249=>546,1250=>730,1251=>557,1252=>730,1253=>557,1254=>774,1255=>529,1256=>785,1257=>528,1258=>785,1259=>528,1260=>708,1261=>509,1262=>605,1263=>469,1264=>605,1265=>469,1266=>605,1267=>469,1268=>612,1269=>482,1270=>601,1271=>430,1272=>885,1273=>731,1296=>667,1297=>500,1298=>673,1299=>557,1306=>776,1307=>556,1308=>937,1309=>723,1310=>667,1311=>510,1329=>722,1330=>705,1331=>774,1332=>754,1333=>722,1334=>751,1335=>485,1336=>722,1337=>782,1338=>655,1339=>699,1340=>417,1341=>853,1342=>791,1343=>711,1344=>588,1345=>663,1346=>665,1347=>665,1348=>756,1349=>623,1350=>773,1351=>603,1352=>722,1353=>648,1354=>722,1355=>751,1356=>750,1357=>722,1358=>748,1359=>667,1360=>699,1361=>623,1362=>417,1363=>785,1364=>638,1365=>778,1366=>716,1369=>333,1370=>222,1371=>133,1372=>325,1373=>333,1374=>333,1375=>333,1377=>833,1378=>556,1379=>572,1380=>581,1381=>546,1382=>588,1383=>448,1384=>556,1385=>568,1386=>582,1387=>552,1388=>301,1389=>799,1390=>556,1391=>554,1392=>533,1393=>548,1394=>552,1395=>552,1396=>544,1397=>222,1398=>544,1399=>456,1400=>556,1401=>390,1402=>833,1403=>509,1404=>547,1405=>533,1406=>610,1407=>887,1408=>556,1409=>545,1410=>301,1411=>853,1412=>632,1413=>579,1414=>690,1415=>545,1417=>278,1418=>367,1423=>735,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1467=>0,1468=>0,1469=>0,1470=>488,1471=>0,1472=>212,1473=>0,1474=>0,1475=>278,1476=>0,1488=>640,1489=>591,1490=>466,1491=>598,1492=>622,1493=>212,1494=>351,1495=>623,1496=>608,1497=>200,1498=>526,1499=>550,1500=>600,1501=>623,1502=>621,1503=>212,1504=>378,1505=>607,1506=>587,1507=>575,1508=>568,1509=>540,1510=>590,1511=>606,1512=>547,1513=>776,1514=>687,1520=>424,1521=>412,1522=>400,1523=>184,1524=>344,2433=>0,2434=>300,2435=>264,2437=>594,2438=>790,2439=>469,2440=>513,2441=>520,2442=>549,2443=>594,2444=>481,2447=>580,2448=>627,2451=>540,2452=>613,2453=>570,2454=>467,2455=>471,2456=>428,2457=>483,2458=>408,2459=>509,2460=>591,2461=>563,2462=>771,2463=>381,2464=>404,2465=>522,2466=>408,2467=>450,2468=>543,2469=>477,2470=>418,2471=>433,2472=>445,2474=>499,2475=>584,2476=>377,2477=>555,2478=>448,2479=>423,2480=>390,2482=>498,2486=>498,2487=>425,2488=>495,2489=>440,2492=>0,2493=>440,2494=>193,2495=>189,2496=>180,2497=>0,2498=>0,2499=>0,2500=>0,2503=>252,2504=>243,2507=>889,2508=>865,2509=>0,2510=>356,2519=>219,2524=>523,2525=>408,2527=>428,2528=>594,2529=>481,2530=>0,2531=>0,2534=>500,2535=>437,2536=>479,2537=>530,2538=>497,2539=>500,2540=>482,2541=>503,2542=>517,2543=>481,2544=>377,2545=>377,2546=>429,2547=>383,2548=>429,2549=>478,2550=>545,2551=>158,2552=>365,2553=>280,2554=>357,2555=>344,4256=>587,4257=>620,4258=>642,4259=>815,4260=>600,4261=>595,4262=>799,4263=>893,4264=>622,4265=>597,4266=>939,4267=>602,4268=>603,4269=>790,4270=>587,4271=>623,4272=>799,4273=>601,4274=>792,4275=>724,4276=>847,4277=>599,4278=>812,4279=>603,4280=>653,4281=>590,4282=>754,4283=>596,4284=>653,4285=>651,4286=>596,4287=>888,4288=>593,4304=>436,4305=>491,4306=>528,4307=>692,4308=>447,4309=>447,4310=>628,4311=>734,4312=>449,4313=>445,4314=>843,4315=>449,4316=>449,4317=>682,4318=>449,4319=>480,4320=>682,4321=>468,4322=>710,4323=>623,4324=>697,4325=>447,4326=>702,4327=>447,4328=>470,4329=>440,4330=>632,4331=>449,4332=>470,4333=>536,4334=>449,4335=>656,4336=>474,4337=>630,4338=>394,4339=>419,4340=>422,4341=>436,4345=>528,4347=>515,4348=>449,5024=>678,5025=>756,5026=>604,5027=>770,5028=>969,5029=>207,5030=>633,5031=>800,5032=>474,5033=>689,5034=>672,5035=>446,5036=>637,5037=>776,5038=>511,5039=>723,5040=>528,5041=>591,5042=>839,5043=>963,5044=>615,5045=>563,5046=>705,5047=>800,5048=>558,5049=>880,5050=>966,5051=>675,5052=>527,5053=>733,5054=>779,5055=>547,5056=>756,5057=>834,5058=>604,5059=>632,5060=>605,5061=>1051,5062=>657,5063=>842,5064=>748,5065=>1192,5066=>842,5067=>632,5068=>668,5069=>928,5070=>626,5071=>655,5072=>502,5073=>696,5074=>642,5075=>518,5076=>952,5077=>622,5078=>710,5079=>521,5080=>556,5081=>656,5082=>622,5083=>881,5084=>760,5085=>564,5086=>567,5087=>712,5088=>717,5089=>838,5090=>617,5091=>689,5092=>767,5093=>728,5094=>690,5095=>551,5096=>859,5097=>957,5098=>900,5099=>779,5100=>805,5101=>621,5102=>604,5103=>842,5104=>653,5105=>737,5106=>601,5107=>901,5108=>655,7680=>667,7681=>554,7682=>664,7683=>561,7684=>664,7685=>561,7686=>664,7687=>561,7688=>711,7689=>510,7690=>702,7691=>558,7692=>702,7693=>558,7694=>702,7695=>558,7696=>722,7697=>556,7698=>702,7699=>558,7700=>657,7701=>547,7702=>657,7703=>547,7704=>657,7705=>547,7706=>657,7707=>547,7708=>667,7709=>556,7710=>601,7711=>260,7712=>778,7713=>552,7714=>721,7715=>540,7716=>721,7717=>540,7718=>721,7719=>540,7720=>722,7721=>556,7722=>721,7723=>540,7724=>278,7725=>222,7726=>278,7727=>262,7728=>667,7729=>502,7730=>667,7731=>502,7732=>667,7733=>502,7734=>556,7735=>222,7736=>556,7737=>222,7738=>556,7739=>222,7740=>556,7741=>222,7742=>846,7743=>816,7744=>846,7745=>816,7746=>846,7747=>816,7748=>730,7749=>540,7750=>730,7751=>540,7752=>730,7753=>540,7754=>730,7755=>540,7756=>770,7757=>556,7758=>770,7759=>556,7760=>770,7761=>556,7762=>770,7763=>556,7764=>646,7765=>563,7766=>646,7767=>563,7768=>709,7769=>324,7770=>709,7771=>324,7772=>709,7773=>324,7774=>709,7775=>324,7776=>651,7777=>500,7778=>651,7779=>500,7780=>651,7781=>500,7782=>651,7783=>500,7784=>651,7785=>500,7786=>611,7787=>265,7788=>611,7789=>265,7790=>611,7791=>265,7792=>611,7793=>265,7794=>721,7795=>538,7796=>721,7797=>538,7798=>721,7799=>538,7800=>721,7801=>538,7802=>721,7803=>538,7804=>645,7805=>497,7806=>645,7807=>497,7808=>937,7809=>723,7810=>937,7811=>723,7812=>937,7813=>723,7814=>937,7815=>723,7816=>937,7817=>723,7818=>669,7819=>490,7820=>669,7821=>490,7822=>678,7823=>479,7824=>611,7825=>500,7826=>611,7827=>500,7828=>611,7829=>500,7830=>540,7831=>265,7832=>723,7833=>479,7834=>554,7835=>278,7840=>667,7841=>554,7842=>667,7843=>554,7844=>667,7845=>554,7846=>667,7847=>554,7848=>667,7849=>554,7850=>667,7851=>554,7852=>667,7853=>554,7854=>667,7855=>554,7856=>667,7857=>554,7858=>667,7859=>554,7860=>667,7861=>554,7862=>667,7863=>554,7864=>657,7865=>547,7866=>657,7867=>547,7868=>657,7869=>547,7870=>657,7871=>547,7872=>657,7873=>547,7874=>657,7875=>547,7876=>657,7877=>547,7878=>657,7879=>547,7880=>278,7881=>222,7882=>278,7883=>222,7884=>770,7885=>556,7886=>770,7887=>556,7888=>770,7889=>556,7890=>770,7891=>556,7892=>770,7893=>556,7894=>770,7895=>556,7896=>770,7897=>556,7898=>778,7899=>556,7900=>778,7901=>556,7902=>778,7903=>556,7904=>778,7905=>556,7906=>778,7907=>556,7908=>721,7909=>538,7910=>721,7911=>538,7912=>773,7913=>623,7914=>773,7915=>623,7916=>773,7917=>623,7918=>773,7919=>623,7920=>773,7921=>623,7922=>678,7923=>479,7924=>678,7925=>479,7926=>678,7927=>479,7928=>678,7929=>479,7936=>596,7937=>596,7938=>596,7939=>596,7940=>596,7941=>596,7942=>596,7943=>596,7944=>718,7945=>718,7946=>796,7947=>780,7948=>746,7949=>744,7950=>718,7951=>718,7952=>523,7953=>523,7954=>523,7955=>523,7956=>523,7957=>523,7960=>759,7961=>751,7962=>962,7963=>957,7964=>958,7965=>947,7968=>557,7969=>557,7970=>557,7971=>557,7972=>557,7973=>557,7974=>557,7975=>557,7976=>807,7977=>796,7978=>1013,7979=>1002,7980=>1009,7981=>1000,7982=>882,7983=>919,7984=>293,7985=>293,7986=>361,7987=>382,7988=>347,7989=>329,7990=>352,7991=>347,7992=>353,7993=>348,7994=>555,7995=>557,7996=>557,7997=>545,7998=>435,7999=>448,8000=>561,8001=>561,8002=>561,8003=>561,8004=>561,8005=>561,8008=>792,8009=>801,8010=>1031,8011=>1029,8012=>931,8013=>931,8016=>549,8017=>549,8018=>549,8019=>549,8020=>549,8021=>549,8022=>549,8023=>549,8025=>838,8027=>1004,8029=>1036,8031=>936,8032=>746,8033=>746,8034=>746,8035=>746,8036=>746,8037=>746,8038=>746,8039=>746,8040=>768,8041=>794,8042=>1003,8043=>1002,8044=>922,8045=>918,8046=>871,8047=>893,8048=>596,8049=>596,8050=>523,8051=>523,8052=>557,8053=>557,8054=>293,8055=>293,8056=>561,8057=>561,8058=>549,8059=>549,8060=>746,8061=>746,8064=>596,8065=>596,8066=>596,8067=>596,8068=>596,8069=>596,8070=>596,8071=>596,8072=>859,8073=>861,8074=>948,8075=>928,8076=>886,8077=>895,8078=>865,8079=>864,8080=>557,8081=>557,8082=>557,8083=>557,8084=>557,8085=>557,8086=>557,8087=>557,8088=>890,8089=>894,8090=>1092,8091=>1084,8092=>1095,8093=>1080,8094=>953,8095=>986,8096=>746,8097=>746,8098=>746,8099=>746,8100=>746,8101=>746,8102=>746,8103=>746,8104=>892,8105=>907,8106=>1113,8107=>1095,8108=>1034,8109=>1030,8110=>983,8111=>1002,8112=>596,8113=>596,8114=>596,8115=>596,8116=>593,8118=>596,8119=>596,8120=>765,8121=>765,8122=>765,8123=>765,8124=>861,8125=>147,8126=>201,8127=>147,8128=>278,8129=>333,8130=>557,8131=>557,8132=>595,8134=>557,8135=>557,8136=>835,8137=>849,8138=>895,8139=>861,8140=>786,8141=>602,8142=>601,8143=>333,8144=>335,8145=>322,8146=>357,8147=>336,8150=>340,8151=>320,8152=>300,8153=>298,8154=>439,8155=>408,8157=>434,8158=>433,8159=>333,8160=>549,8161=>549,8162=>549,8163=>549,8164=>551,8165=>551,8166=>549,8167=>549,8168=>733,8169=>733,8170=>794,8171=>832,8172=>739,8173=>333,8174=>624,8175=>303,8178=>746,8179=>746,8180=>725,8182=>746,8183=>746,8184=>889,8185=>828,8186=>836,8187=>811,8188=>867,8189=>333,8190=>159,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>556,8200=>278,8201=>167,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>556,8211=>556,8212=>1000,8213=>1000,8214=>312,8215=>567,8216=>222,8217=>222,8218=>222,8219=>221,8220=>333,8221=>333,8222=>333,8223=>333,8224=>556,8225=>556,8226=>400,8227=>400,8228=>278,8229=>666,8230=>1000,8231=>278,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>167,8240=>1000,8241=>1360,8242=>278,8243=>469,8244=>680,8245=>278,8246=>469,8247=>680,8248=>376,8249=>250,8250=>250,8251=>622,8252=>556,8253=>556,8254=>556,8255=>658,8256=>658,8257=>438,8258=>840,8259=>450,8260=>167,8261=>334,8262=>334,8263=>1082,8264=>834,8265=>834,8266=>556,8267=>537,8268=>537,8269=>537,8270=>389,8271=>278,8272=>658,8273=>389,8274=>634,8275=>500,8276=>658,8277=>1000,8278=>515,8279=>855,8280=>722,8281=>725,8282=>224,8283=>722,8284=>604,8285=>224,8286=>224,8287=>0,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>351,8305=>140,8308=>351,8309=>351,8310=>351,8311=>351,8312=>351,8313=>351,8314=>350,8315=>350,8316=>350,8317=>350,8318=>350,8319=>360,8320=>351,8321=>251,8322=>351,8323=>351,8324=>351,8325=>353,8326=>351,8327=>351,8328=>351,8329=>351,8330=>350,8331=>350,8332=>350,8333=>350,8334=>350,8336=>363,8337=>366,8338=>360,8339=>325,8340=>350,8352=>623,8353=>615,8354=>601,8355=>611,8356=>556,8357=>833,8358=>682,8359=>1205,8360=>1222,8361=>879,8362=>869,8363=>538,8364=>655,8365=>667,8366=>611,8367=>1290,8368=>570,8369=>684,8370=>717,8371=>667,8372=>667,8373=>640,8376=>516,8377=>544,8400=>0,8401=>0,8402=>0,8403=>0,8404=>0,8405=>0,8406=>0,8407=>0,8408=>0,8409=>0,8410=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8420=>0,8421=>0,8422=>0,8423=>0,8424=>0,8425=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8432=>0,8448=>900,8449=>889,8450=>722,8451=>1019,8452=>556,8453=>836,8454=>862,8455=>667,8456=>722,8457=>867,8459=>1139,8460=>615,8461=>647,8462=>540,8463=>572,8464=>829,8465=>606,8466=>900,8467=>481,8468=>747,8469=>722,8470=>934,8471=>882,8472=>600,8473=>667,8474=>778,8475=>850,8476=>699,8477=>722,8478=>834,8479=>722,8480=>1043,8481=>1261,8482=>1000,8483=>667,8484=>611,8486=>768,8487=>744,8488=>512,8489=>286,8490=>722,8491=>722,8492=>908,8493=>623,8494=>547,8495=>469,8496=>662,8497=>895,8498=>556,8499=>1100,8501=>570,8502=>591,8503=>456,8504=>598,8505=>278,8506=>848,8507=>1338,8508=>619,8510=>582,8511=>722,8513=>778,8514=>556,8515=>556,8516=>678,8522=>516,8523=>640,8525=>1160,8526=>435,8531=>869,8532=>869,8533=>869,8534=>869,8535=>839,8536=>849,8537=>869,8538=>849,8539=>849,8540=>849,8541=>869,8542=>869,8543=>869,8544=>278,8545=>556,8546=>834,8547=>945,8548=>645,8549=>945,8550=>1223,8551=>1501,8552=>945,8553=>669,8554=>945,8555=>1223,8556=>556,8557=>710,8558=>702,8559=>846,8560=>222,8561=>444,8562=>666,8563=>722,8564=>497,8565=>722,8566=>944,8567=>1166,8568=>722,8569=>490,8570=>722,8571=>944,8572=>222,8573=>515,8574=>558,8575=>816,8592=>987,8593=>603,8594=>987,8595=>603,8596=>1042,8597=>1042,8598=>800,8599=>800,8600=>800,8601=>800,8612=>987,8613=>680,8614=>987,8615=>680,8617=>987,8618=>987,8628=>700,8629=>658,8636=>987,8637=>987,8638=>440,8639=>440,8640=>987,8641=>987,8642=>440,8643=>440,8644=>987,8645=>863,8646=>990,8647=>987,8648=>1133,8649=>987,8650=>1133,8651=>987,8652=>987,8656=>987,8657=>577,8658=>987,8659=>577,8660=>1042,8661=>1042,8668=>1092,8669=>1092,8704=>697,8705=>676,8706=>556,8707=>667,8708=>667,8709=>802,8710=>712,8711=>712,8712=>584,8713=>584,8714=>585,8715=>584,8716=>584,8717=>585,8718=>500,8719=>783,8720=>783,8721=>771,8722=>584,8723=>584,8724=>584,8725=>947,8726=>392,8727=>584,8728=>497,8729=>584,8730=>662,8731=>662,8732=>662,8733=>713,8734=>713,8735=>639,8736=>768,8737=>768,8738=>600,8739=>200,8740=>288,8741=>320,8742=>340,8743=>608,8744=>608,8745=>768,8746=>768,8747=>465,8748=>725,8749=>965,8756=>800,8757=>800,8758=>250,8759=>620,8760=>584,8761=>778,8762=>584,8763=>500,8764=>500,8770=>584,8771=>584,8773=>584,8776=>500,8778=>584,8779=>500,8800=>584,8801=>584,8804=>584,8805=>584,8960=>823,8976=>584,8994=>658,8995=>658,9001=>390,9002=>390,9251=>500,9674=>489,9675=>800,9702=>400,9711=>882,9824=>626,9825=>694,9826=>595,9827=>776,9828=>626,9829=>694,9830=>595,9831=>776,9833=>333,9834=>556,9835=>722,9836=>722,9837=>415,9838=>377,9839=>402,11568=>352,11569=>872,11570=>872,11571=>720,11572=>720,11573=>720,11574=>544,11575=>709,11576=>709,11577=>720,11578=>720,11579=>596,11580=>698,11581=>742,11582=>574,11583=>742,11584=>872,11585=>872,11586=>292,11587=>696,11588=>696,11589=>720,11590=>544,11591=>724,11592=>756,11593=>600,11594=>672,11595=>888,11596=>836,11597=>524,11598=>720,11599=>260,11600=>836,11601=>224,11602=>678,11603=>380,11604=>872,11605=>872,11606=>720,11607=>268,11608=>640,11609=>872,11610=>872,11611=>770,11612=>424,11613=>720,11614=>770,11615=>720,11616=>709,11617=>720,11618=>541,11619=>828,11620=>454,11621=>828,11631=>442,11798=>584,11799=>333,11800=>556,11802=>333,11803=>500,11806=>500,11807=>500,11816=>464,11817=>464,11818=>660,11819=>623,11820=>623,11821=>660,11822=>556,42888=>333,42889=>276,42890=>342,42891=>194,42892=>194,42922=>830,64256=>494,64257=>471,64258=>474,64259=>659,64260=>654,64261=>530,64275=>1027,64276=>1056,64277=>1058,64278=>1073,64279=>1301,64285=>200,64286=>305,64287=>400,64288=>587,64289=>890,64290=>848,64291=>872,64292=>800,64293=>850,64294=>873,64295=>797,64296=>937,64297=>584,64298=>776,64299=>776,64300=>776,64301=>776,64302=>640,64303=>640,64304=>640,64305=>591,64306=>466,64307=>598,64308=>622,64309=>262,64310=>351,64312=>608,64313=>270,64314=>526,64315=>550,64316=>600,64318=>621,64320=>378,64321=>607,64323=>575,64324=>568,64326=>590,64327=>606,64328=>547,64329=>776,64330=>687,64331=>212,64332=>591,64333=>550,64334=>568,64335=>640,65529=>0,65530=>0,65531=>0,65532=>800,65533=>788,65535=>800); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freesansi.z b/vendor/tecnickcom/tcpdf/fonts/freesansi.z new file mode 100644 index 0000000..999b8eb Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freesansi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserif.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freeserif.ctg.z new file mode 100644 index 0000000..1443ba5 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserif.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserif.php b/vendor/tecnickcom/tcpdf/fonts/freeserif.php new file mode 100644 index 0000000..7b42fcd --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freeserif.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-879 -551 1767 936]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>662,'XHeight'=>450,'StemV'=>70,'StemH'=>30,'AvgWidth'=>618,'MaxWidth'=>1752,'MissingWidth'=>600); +$cbbox=array(0=>array(34,-71,566,750),33=>array(130,-9,237,676),34=>array(73,431,327,676),35=>array(5,0,496,662),36=>array(44,-87,457,727),37=>array(61,-13,772,676),38=>array(42,-13,750,676),39=>array(58,431,143,676),40=>array(48,-177,304,676),41=>array(29,-177,285,676),42=>array(69,265,432,676),43=>array(30,0,534,506),44=>array(56,-141,195,102),45=>array(39,194,285,257),46=>array(70,-11,181,100),47=>array(0,-14,296,676),48=>array(24,-14,476,676),49=>array(111,0,394,676),50=>array(30,0,475,676),51=>array(43,-14,432,676),52=>array(12,0,472,676),53=>array(32,-14,438,688),54=>array(34,-14,468,684),55=>array(20,-8,449,662),56=>array(56,-14,445,676),57=>array(30,-22,459,676),58=>array(81,-11,192,459),59=>array(80,-141,219,459),60=>array(28,-10,536,516),61=>array(30,120,534,386),62=>array(28,-10,536,516),63=>array(68,-8,414,676),64=>array(86,-14,779,676),65=>array(15,0,706,674),66=>array(15,0,591,662),67=>array(35,-14,640,676),68=>array(15,0,684,662),69=>array(15,0,600,662),70=>array(15,0,549,662),71=>array(35,-14,712,676),72=>array(15,0,698,662),73=>array(15,0,312,662),74=>array(10,-14,370,662),75=>array(15,0,704,662),76=>array(15,0,601,662),77=>array(15,0,866,662),78=>array(15,-11,710,662),79=>array(35,-14,689,676),80=>array(15,0,541,662),81=>array(35,-178,702,676),82=>array(15,0,657,662),83=>array(30,-14,479,676),84=>array(15,0,591,662),85=>array(15,-14,706,662),86=>array(10,-11,691,662),87=>array(10,-11,937,662),88=>array(10,0,704,662),89=>array(10,0,691,662),90=>array(10,0,598,662),91=>array(88,-156,299,662),92=>array(0,-14,296,676),93=>array(34,-156,245,662),94=>array(24,297,446,662),95=>array(0,-125,500,-75),96=>array(19,507,242,678),97=>array(25,-10,430,460),98=>array(10,-10,475,683),99=>array(25,-10,412,460),100=>array(25,-10,489,683),101=>array(25,-10,424,460),102=>array(10,0,373,683),103=>array(15,-218,457,460),104=>array(10,0,488,683),105=>array(16,0,253,683),106=>array(0,-218,264,683),107=>array(10,0,508,683),108=>array(10,0,248,683),109=>array(10,0,769,460),110=>array(10,0,479,460),111=>array(25,-10,466,460),112=>array(10,-217,475,460),113=>array(25,-217,489,461),114=>array(10,0,340,460),115=>array(35,-10,332,459),116=>array(17,-10,283,579),117=>array(10,-11,480,450),118=>array(5,-14,463,450),119=>array(5,-14,678,450),120=>array(10,0,472,450),121=>array(5,-218,466,450),122=>array(10,0,401,450),123=>array(100,-181,350,680),124=>array(67,-14,133,676),125=>array(130,-181,380,680),126=>array(19,186,481,320),160=>array(0,0,0,0),161=>array(96,-218,203,467),162=>array(53,-138,448,579),163=>array(12,-8,490,676),164=>array(-22,58,522,602),165=>array(-53,0,512,662),166=>array(67,-14,133,676),167=>array(70,-148,426,676),168=>array(18,523,316,622),169=>array(26,-23,766,717),170=>array(4,270,270,676),171=>array(42,33,458,416),172=>array(30,108,534,386),173=>array(39,194,285,257),174=>array(26,-23,766,717),175=>array(11,547,322,601),176=>array(57,390,343,676),177=>array(30,0,534,633),178=>array(12,390,315,850),179=>array(29,380,294,850),180=>array(10,507,234,678),181=>array(36,-218,512,450),182=>array(8,-154,480,662),183=>array(75,183,174,282),184=>array(52,-215,261,0),185=>array(67,390,260,850),186=>array(6,270,304,676),187=>array(42,33,458,416),188=>array(30,-14,704,730),189=>array(30,-14,745,730),190=>array(29,-14,704,729),191=>array(29,-218,375,466),192=>array(15,0,706,890),193=>array(15,0,706,890),194=>array(15,0,706,886),195=>array(15,0,706,838),196=>array(15,0,706,835),197=>array(15,0,706,895),198=>array(10,0,873,662),199=>array(35,-215,640,676),200=>array(15,0,600,890),201=>array(15,0,600,890),202=>array(15,0,600,886),203=>array(15,0,600,834),204=>array(15,0,312,890),205=>array(15,0,312,890),206=>array(11,0,322,886),207=>array(15,0,316,835),208=>array(15,0,684,662),209=>array(15,-11,710,838),210=>array(35,-14,689,890),211=>array(35,-14,689,890),212=>array(35,-14,689,886),213=>array(35,-14,689,838),214=>array(35,-14,689,835),215=>array(38,8,526,497),216=>array(35,-80,689,734),217=>array(15,-14,706,890),218=>array(15,-14,706,890),219=>array(15,-14,706,886),220=>array(15,-14,706,834),221=>array(10,0,691,890),222=>array(16,0,542,662),223=>array(10,-9,466,683),224=>array(25,-10,430,676),225=>array(25,-10,430,676),226=>array(25,-10,430,674),227=>array(25,-10,430,626),228=>array(25,-10,430,619),229=>array(25,-10,430,696),230=>array(25,-10,619,460),231=>array(25,-215,412,460),232=>array(25,-10,424,676),233=>array(25,-10,424,676),234=>array(25,-10,424,674),235=>array(25,-10,424,621),236=>array(0,0,253,676),237=>array(16,0,253,676),238=>array(-16,0,295,674),239=>array(7,0,271,622),240=>array(25,-10,467,686),241=>array(10,0,479,626),242=>array(25,-10,466,676),243=>array(25,-10,466,676),244=>array(25,-10,466,674),245=>array(25,-10,466,625),246=>array(25,-10,466,619),247=>array(30,-4,534,510),248=>array(25,-112,466,551),249=>array(10,-10,480,676),250=>array(10,-10,480,676),251=>array(10,-10,480,674),252=>array(10,-10,480,621),253=>array(5,-218,466,676),254=>array(10,-217,475,683),255=>array(5,-218,466,625),256=>array(15,0,706,790),257=>array(25,-10,430,584),258=>array(15,0,706,876),259=>array(25,-10,430,664),260=>array(10,-165,782,674),261=>array(25,-165,432,460),262=>array(35,-14,640,890),263=>array(25,-10,412,676),264=>array(35,-14,640,886),265=>array(25,-10,412,674),266=>array(35,-14,640,835),267=>array(25,-10,412,622),268=>array(35,-14,640,886),269=>array(25,-10,412,674),270=>array(15,0,684,887),271=>array(25,-10,615,683),272=>array(15,0,684,662),273=>array(25,-10,498,683),274=>array(15,0,600,790),275=>array(25,-10,424,584),276=>array(15,0,600,876),277=>array(25,-10,424,665),278=>array(15,0,600,835),279=>array(25,-10,424,622),280=>array(12,-165,613,662),281=>array(25,-165,424,460),282=>array(15,0,600,886),283=>array(25,-10,424,675),284=>array(35,-14,712,885),285=>array(15,-218,457,674),286=>array(35,-14,712,875),287=>array(15,-218,457,665),288=>array(35,-14,712,835),289=>array(15,-218,457,619),290=>array(35,-300,712,676),291=>array(15,-218,457,748),292=>array(15,0,698,900),293=>array(10,0,488,890),294=>array(13,0,696,662),295=>array(10,0,488,683),296=>array(1,0,331,830),297=>array(-28,0,302,614),298=>array(11,0,322,790),299=>array(-19,0,292,584),300=>array(15,0,312,876),301=>array(-4,0,277,663),302=>array(10,-165,389,662),303=>array(16,-165,278,683),304=>array(15,0,312,835),305=>array(16,0,253,460),306=>array(15,-14,684,662),307=>array(16,-220,445,683),308=>array(10,-14,382,900),309=>array(0,-218,348,687),310=>array(15,-300,704,662),311=>array(10,-300,508,683),312=>array(10,0,493,460),313=>array(15,0,601,890),314=>array(10,0,248,890),315=>array(15,-300,601,662),316=>array(10,-300,248,683),317=>array(15,0,601,675),318=>array(10,0,370,683),319=>array(15,0,601,662),320=>array(10,0,357,683),321=>array(10,0,596,662),322=>array(19,0,259,683),323=>array(15,-11,710,890),324=>array(10,0,479,676),325=>array(15,-300,710,662),326=>array(10,-300,479,460),327=>array(15,-11,710,884),328=>array(10,0,479,675),329=>array(20,0,528,704),330=>array(15,-14,666,672),331=>array(16,-218,424,460),332=>array(35,-14,689,790),333=>array(25,-10,466,584),334=>array(35,-14,689,876),335=>array(25,-10,466,664),336=>array(35,-14,689,888),337=>array(25,-10,466,678),338=>array(35,-6,890,668),339=>array(25,-10,685,460),340=>array(15,0,657,890),341=>array(10,0,340,676),342=>array(15,-300,657,662),343=>array(10,-300,340,460),344=>array(15,0,657,886),345=>array(10,0,340,674),346=>array(30,-14,479,890),347=>array(35,-10,332,676),348=>array(30,-14,479,886),349=>array(27,-10,338,675),350=>array(40,-215,489,676),351=>array(35,-215,332,459),352=>array(30,-14,479,887),353=>array(23,-10,334,676),354=>array(10,-215,586,662),355=>array(17,-215,283,579),356=>array(15,0,591,888),357=>array(17,-10,390,675),358=>array(10,0,586,662),359=>array(17,-10,283,579),360=>array(15,-14,706,830),361=>array(10,-10,480,621),362=>array(15,-14,706,790),363=>array(10,-10,480,584),364=>array(15,-14,706,876),365=>array(10,-10,480,662),366=>array(15,-14,706,895),367=>array(10,-10,480,696),368=>array(15,-14,706,890),369=>array(10,-10,480,678),370=>array(10,-165,701,662),371=>array(10,-165,501,450),372=>array(10,-11,937,887),373=>array(5,-14,678,676),374=>array(10,0,691,887),375=>array(5,-218,466,675),376=>array(10,0,691,835),377=>array(10,0,598,890),378=>array(10,0,401,676),379=>array(10,0,598,835),380=>array(10,0,401,619),381=>array(10,0,598,886),382=>array(10,0,401,674),383=>array(10,0,373,683),384=>array(10,-10,479,683),385=>array(5,0,702,662),386=>array(13,0,589,662),387=>array(10,-10,488,662),388=>array(5,0,606,683),389=>array(5,-10,490,683),390=>array(39,-14,644,676),391=>array(35,-14,813,822),392=>array(25,-10,554,680),393=>array(15,0,684,662),394=>array(10,0,795,662),395=>array(35,0,567,662),396=>array(25,-10,501,662),397=>array(25,-224,471,459),398=>array(10,0,595,662),399=>array(25,-14,676,676),400=>array(35,-15,491,702),401=>array(6,-204,619,662),402=>array(0,-218,460,683),403=>array(35,-14,819,822),404=>array(15,-15,635,662),405=>array(10,-9,710,683),406=>array(19,-10,326,683),407=>array(3,0,333,662),408=>array(15,0,776,676),409=>array(10,0,508,683),410=>array(3,1,283,684),411=>array(18,-10,448,672),412=>array(15,-10,936,662),413=>array(6,-218,783,662),414=>array(16,-200,485,460),415=>array(35,-14,689,676),416=>array(35,-14,709,796),417=>array(25,-10,532,552),418=>array(35,-14,1023,676),419=>array(25,-217,771,460),420=>array(10,0,657,662),421=>array(5,-217,470,683),422=>array(15,-113,669,662),423=>array(60,-14,509,676),424=>array(30,-10,327,459),425=>array(15,0,563,661),426=>array(22,-190,576,683),427=>array(17,-218,283,579),428=>array(10,0,612,662),429=>array(8,-10,370,683),430=>array(10,-204,586,662),431=>array(15,-14,777,796),432=>array(10,-11,539,552),433=>array(25,-13,718,663),434=>array(15,-15,689,662),435=>array(10,0,796,666),436=>array(5,-218,570,683),437=>array(15,0,603,662),438=>array(10,0,401,450),439=>array(14,-14,496,662),440=>array(35,-14,517,662),441=>array(25,-209,381,450),442=>array(20,-228,364,451),443=>array(30,0,475,676),444=>array(20,-14,569,662),445=>array(25,-183,404,477),446=>array(10,-10,364,579),447=>array(10,-217,477,460),448=>array(67,-14,123,726),449=>array(67,-14,283,676),450=>array(47,-13,553,709),451=>array(130,-9,237,676),452=>array(15,0,1320,886),453=>array(15,0,1123,674),454=>array(25,-10,901,683),455=>array(15,-14,981,662),456=>array(15,-218,805,683),457=>array(10,-218,462,683),458=>array(15,-14,1092,662),459=>array(15,-218,916,683),460=>array(10,-218,694,683),461=>array(15,0,706,886),462=>array(25,-10,430,674),463=>array(9,0,320,886),464=>array(-19,-2,292,672),465=>array(35,-14,689,886),466=>array(25,-10,466,674),467=>array(15,-14,706,882),468=>array(10,-10,480,674),469=>array(15,-14,706,900),470=>array(10,-10,480,717),471=>array(15,-14,706,900),472=>array(10,-10,480,800),473=>array(14,-12,705,900),474=>array(10,-10,480,800),475=>array(15,-14,706,891),476=>array(10,-10,480,800),477=>array(20,-10,419,460),478=>array(15,0,706,900),479=>array(25,-10,430,717),480=>array(15,0,706,900),481=>array(25,-10,430,717),482=>array(10,0,873,790),483=>array(25,-10,619,584),484=>array(32,-14,709,676),485=>array(1,-218,479,460),486=>array(35,-14,712,886),487=>array(15,-218,457,674),488=>array(15,0,704,886),489=>array(10,0,508,847),490=>array(34,-165,688,676),491=>array(25,-165,466,460),492=>array(34,-165,688,800),493=>array(25,-165,466,584),494=>array(14,-14,496,900),495=>array(6,-209,362,674),496=>array(0,-218,348,672),497=>array(15,0,1320,662),498=>array(15,0,1123,662),499=>array(25,-10,901,683),500=>array(35,-14,712,890),501=>array(15,-218,457,676),502=>array(19,-14,917,662),503=>array(16,0,518,676),504=>array(15,-11,710,890),505=>array(10,0,479,676),506=>array(15,0,706,900),507=>array(25,-10,430,900),508=>array(10,0,873,890),509=>array(25,-10,619,676),510=>array(35,-80,689,890),511=>array(25,-112,466,676),512=>array(15,0,706,888),513=>array(25,-10,430,696),514=>array(15,0,706,876),515=>array(25,-10,430,664),516=>array(15,0,600,888),517=>array(25,-10,424,693),518=>array(15,0,600,876),519=>array(25,-10,424,664),520=>array(0,0,312,888),521=>array(-57,0,253,686),522=>array(15,0,312,876),523=>array(-5,0,276,664),524=>array(35,-14,689,888),525=>array(25,-10,466,689),526=>array(35,-14,689,876),527=>array(25,-10,466,664),528=>array(15,0,657,888),529=>array(10,0,340,695),530=>array(15,0,657,876),531=>array(10,0,340,664),532=>array(15,-14,706,888),533=>array(10,-10,480,692),534=>array(15,-14,706,876),535=>array(10,-10,480,664),536=>array(30,-300,479,676),537=>array(35,-300,332,459),538=>array(15,-300,591,662),539=>array(17,-300,283,579),540=>array(35,-30,400,670),541=>array(30,-211,401,418),542=>array(15,0,698,886),543=>array(10,0,488,850),544=>array(23,-200,695,672),545=>array(27,-230,578,683),546=>array(35,-14,520,677),547=>array(25,-10,433,702),548=>array(9,-199,601,662),549=>array(27,-199,432,450),550=>array(15,0,706,820),551=>array(25,-10,430,622),552=>array(12,-215,597,662),553=>array(25,-215,424,460),554=>array(35,-14,689,900),555=>array(25,-10,466,717),556=>array(35,-14,689,900),557=>array(25,-10,466,717),558=>array(35,-14,689,834),559=>array(25,-10,466,622),560=>array(35,-14,689,900),561=>array(25,-10,466,717),562=>array(10,0,691,790),563=>array(5,-218,466,584),564=>array(19,-300,395,683),565=>array(16,-230,578,460),566=>array(12,-300,367,579),567=>array(0,-218,263,460),568=>array(27,-10,739,683),569=>array(25,-217,737,461),570=>array(15,-44,706,721),571=>array(35,-44,640,721),572=>array(25,-44,418,516),573=>array(15,0,602,662),574=>array(10,-44,586,721),575=>array(40,-199,337,459),576=>array(27,-199,417,450),577=>array(10,0,383,676),578=>array(20,0,393,463),579=>array(5,0,593,662),580=>array(15,-14,706,662),581=>array(10,0,691,673),582=>array(15,-44,600,726),583=>array(25,-68,424,519),584=>array(10,-14,370,662),585=>array(0,-218,348,683),586=>array(35,-200,757,674),587=>array(25,-217,559,461),588=>array(15,0,657,662),589=>array(10,0,340,460),590=>array(10,0,691,662),591=>array(14,-218,475,450),592=>array(2,-10,407,460),593=>array(25,-10,488,460),594=>array(10,-7,473,463),595=>array(69,-10,468,683),596=>array(22,-10,409,460),597=>array(25,-102,400,460),598=>array(25,-218,551,683),599=>array(25,-10,569,683),600=>array(20,-10,419,460),601=>array(20,-10,419,460),602=>array(26,-10,690,563),603=>array(25,-10,383,461),604=>array(20,-10,378,461),605=>array(20,-10,626,563),606=>array(25,-9,397,458),607=>array(5,-218,343,460),608=>array(25,-218,572,683),609=>array(25,-218,426,461),610=>array(25,-14,499,461),611=>array(10,-233,484,450),612=>array(20,-9,547,460),613=>array(10,-233,488,450),614=>array(10,0,488,683),615=>array(10,-218,428,683),616=>array(7,0,278,683),617=>array(20,-10,304,460),618=>array(15,0,250,450),619=>array(5,0,335,683),620=>array(5,0,344,683),621=>array(19,-218,361,683),622=>array(10,-209,523,683),623=>array(10,-10,769,450),624=>array(10,-233,769,450),625=>array(10,-218,700,460),626=>array(0,-218,534,460),627=>array(10,-218,547,460),628=>array(10,-8,529,450),629=>array(25,-10,466,460),630=>array(25,0,642,460),631=>array(25,-10,636,460),632=>array(35,-200,589,662),633=>array(5,-10,335,450),634=>array(0,1,330,661),635=>array(5,-218,443,450),636=>array(10,-200,340,460),637=>array(10,-218,342,460),638=>array(10,0,374,460),639=>array(5,-200,369,460),640=>array(10,0,474,450),641=>array(10,0,474,450),642=>array(40,-218,337,459),643=>array(0,-218,360,683),644=>array(0,-218,360,683),645=>array(0,-218,360,463),646=>array(7,-300,451,683),647=>array(-2,-10,264,579),648=>array(10,-218,330,579),649=>array(6,-10,506,450),650=>array(25,-10,479,450),651=>array(15,-10,460,461),652=>array(5,0,463,464),653=>array(5,0,678,464),654=>array(5,0,466,668),655=>array(5,0,470,450),656=>array(10,-218,580,450),657=>array(10,-102,408,450),658=>array(6,-209,362,450),659=>array(10,-272,394,450),660=>array(20,0,393,676),661=>array(25,0,398,676),662=>array(10,-14,383,662),663=>array(45,-170,432,675),664=>array(35,-14,689,676),665=>array(10,0,431,450),666=>array(25,-9,397,458),667=>array(32,-14,587,675),668=>array(10,0,521,450),669=>array(15,-230,336,683),670=>array(5,-233,503,450),671=>array(10,0,434,450),672=>array(25,-217,573,683),673=>array(10,0,383,676),674=>array(25,0,398,676),675=>array(25,-10,769,683),676=>array(25,-183,769,683),677=>array(25,-102,776,683),678=>array(10,-10,510,579),679=>array(10,-231,493,683),680=>array(10,-102,650,579),681=>array(10,-218,704,683),682=>array(19,0,513,683),683=>array(19,0,528,683),684=>array(14,-8,463,663),685=>array(28,101,460,662),686=>array(5,-233,602,466),687=>array(5,-231,667,468),688=>array(6,390,325,845),689=>array(6,390,327,848),690=>array(0,245,178,847),691=>array(2,390,222,698),692=>array(6,384,226,692),693=>array(5,244,299,693),694=>array(3,390,315,692),695=>array(7,382,456,690),696=>array(7,245,315,690),697=>array(27,459,228,735),698=>array(13,459,404,735),699=>array(31,431,170,674),700=>array(30,431,169,674),701=>array(31,432,170,675),702=>array(86,508,186,707),703=>array(64,514,164,713),704=>array(16,309,240,676),705=>array(16,308,240,675),706=>array(39,554,293,752),707=>array(40,547,294,745),708=>array(35,516,298,707),709=>array(35,516,298,707),710=>array(11,507,322,674),711=>array(11,507,322,674),712=>array(100,505,150,702),713=>array(11,547,322,601),714=>array(10,505,234,676),715=>array(17,505,240,676),716=>array(100,-259,150,-62),717=>array(11,-153,322,-99),718=>array(17,-231,240,-60),719=>array(10,-241,234,-70),720=>array(70,0,180,460),721=>array(70,360,180,460),722=>array(86,4,186,203),723=>array(64,2,164,201),724=>array(10,51,321,288),725=>array(10,47,321,284),726=>array(37,52,295,310),727=>array(11,151,322,205),728=>array(26,507,307,664),729=>array(118,523,217,622),730=>array(67,497,266,696),731=>array(64,-165,249,0),732=>array(1,520,331,626),733=>array(40,505,327,676),734=>array(0,300,323,563),735=>array(18,534,336,773),736=>array(6,233,325,692),737=>array(13,390,171,845),738=>array(33,382,233,698),739=>array(11,390,319,690),740=>array(16,390,267,843),741=>array(20,0,410,800),742=>array(20,0,410,800),743=>array(20,0,410,800),744=>array(20,0,410,800),745=>array(20,0,410,800),746=>array(50,-1,457,524),747=>array(50,0,455,473),748=>array(14,-200,325,-33),749=>array(11,565,322,734),750=>array(30,433,363,676),751=>array(35,-241,298,-50),752=>array(35,-240,298,-49),753=>array(39,-226,293,-28),754=>array(40,-228,294,-30),755=>array(67,-247,266,-48),756=>array(17,279,240,450),757=>array(19,279,418,450),758=>array(19,279,418,450),759=>array(2,-191,332,-85),760=>array(70,205,181,675),761=>array(24,505,176,742),762=>array(24,505,176,742),763=>array(24,-55,176,182),764=>array(24,-55,176,182),765=>array(11,-200,322,-28),766=>array(13,-200,324,-28),767=>array(5,-245,323,-39),768=>array(-314,507,-91,678),769=>array(-241,507,-17,678),770=>array(-322,507,-11,674),771=>array(-332,509,-2,615),772=>array(-320,547,-9,601),773=>array(-489,547,-11,601),774=>array(-307,507,-26,664),775=>array(-215,501,-116,600),776=>array(-315,501,-17,600),777=>array(-249,521,-84,688),778=>array(-266,497,-67,696),779=>array(-269,505,18,676),780=>array(-322,507,-11,674),781=>array(-190,505,-140,702),782=>array(-217,505,-58,702),783=>array(-340,505,-53,676),784=>array(-300,507,-19,715),785=>array(-308,507,-27,664),786=>array(-242,491,-103,734),787=>array(-263,481,-124,724),788=>array(-251,482,-112,725),789=>array(-41,476,98,719),790=>array(-283,-214,-60,-43),791=>array(-276,-215,-52,-44),792=>array(-315,-300,-78,-45),793=>array(-308,-300,-71,-44),794=>array(-119,505,118,742),795=>array(-50,366,71,578),796=>array(-241,-256,-141,-57),797=>array(-379,-300,-68,-63),798=>array(-366,-299,-55,-62),799=>array(-343,-297,-85,-39),800=>array(-361,-131,-50,-77),801=>array(-157,-231,0,46),802=>array(-25,-231,132,46),803=>array(-320,-171,-222,-71),804=>array(-399,-170,-102,-70),805=>array(-307,-247,-108,-48),806=>array(-264,-300,-125,-57),807=>array(-281,-215,-72,0),808=>array(-269,-165,-84,0),809=>array(-247,-259,-197,-62),810=>array(-369,-228,-58,-56),811=>array(-333,-194,-60,-52),812=>array(-386,-218,-75,-51),813=>array(-386,-226,-75,-59),814=>array(-368,-219,-87,-62),815=>array(-353,-220,-72,-63),816=>array(-384,-162,-54,-56),817=>array(-366,-130,-55,-76),818=>array(-500,-125,0,-75),819=>array(-500,-200,0,-58),820=>array(-357,190,-27,296),821=>array(-363,201,-118,244),822=>array(-400,199,0,242),823=>array(-455,109,-35,336),824=>array(-397,-112,42,662),825=>array(-301,-246,-201,-47),826=>array(-373,-229,-62,-57),827=>array(-344,-299,-83,-38),828=>array(-349,-230,-41,-53),829=>array(-345,493,-27,732),830=>array(-314,645,-198,900),831=>array(-500,551,0,693),832=>array(-316,505,-93,676),833=>array(-243,505,-19,676),834=>array(-244,550,86,656),835=>array(-214,526,-75,742),836=>array(-338,537,-31,751),837=>array(-211,-200,-44,-52),838=>array(-385,490,-74,662),839=>array(-397,-196,-86,-42),840=>array(-299,-259,-121,-62),841=>array(-270,-218,-126,-74),842=>array(-373,485,-43,676),843=>array(-370,476,-40,760),844=>array(-371,506,-41,739),845=>array(-441,-245,-21,-39),846=>array(-317,-295,-111,-18),848=>array(-335,489,-81,687),849=>array(-207,510,-107,709),850=>array(-300,507,-19,715),851=>array(-415,-291,-97,-52),852=>array(-366,-226,-112,-28),853=>array(-345,-227,-91,-29),854=>array(-509,-229,-1,-31),855=>array(-265,499,-165,698),856=>array(-99,523,0,622),857=>array(-310,-239,-127,-32),858=>array(-377,-219,-2,-29),859=>array(-337,490,-103,744),860=>array(-286,-195,286,-46),861=>array(-286,534,286,683),862=>array(-286,557,286,600),863=>array(-286,-142,286,-99),864=>array(-286,549,286,694),865=>array(-286,524,286,673),866=>array(-286,-245,286,-39),867=>array(-318,494,-136,704),868=>array(-299,494,-121,704),869=>array(-241,500,-136,802),870=>array(-341,494,-144,704),871=>array(-319,494,-111,698),872=>array(-322,494,-149,703),873=>array(-329,494,-123,801),874=>array(-311,500,-99,801),875=>array(-373,500,-38,704),876=>array(-262,500,-116,704),877=>array(-271,494,-153,755),878=>array(-335,494,-133,698),879=>array(-330,500,-126,698),880=>array(18,0,513,662),881=>array(15,-10,418,451),882=>array(30,0,507,662),883=>array(30,0,467,662),884=>array(0,557,154,780),885=>array(46,-223,200,0),886=>array(19,0,702,662),887=>array(20,-10,575,481),890=>array(129,-200,296,-52),891=>array(41,-10,432,461),892=>array(41,-10,432,461),893=>array(41,-10,432,461),894=>array(80,-141,219,459),900=>array(70,560,198,775),901=>array(13,515,320,729),902=>array(15,0,706,687),903=>array(66,352,184,470),904=>array(28,0,785,687),905=>array(28,0,883,688),906=>array(28,0,489,690),908=>array(28,-14,783,689),910=>array(28,0,819,690),911=>array(28,0,833,688),912=>array(-49,-10,271,752),913=>array(15,0,706,674),914=>array(15,0,591,662),915=>array(15,0,549,662),916=>array(10,0,640,674),917=>array(15,0,600,662),918=>array(10,0,598,662),919=>array(15,0,698,662),920=>array(35,-12,719,673),921=>array(15,0,312,662),922=>array(15,0,704,662),923=>array(15,0,706,674),924=>array(15,0,866,662),925=>array(15,-11,710,662),926=>array(40,0,550,662),927=>array(35,-14,689,676),928=>array(15,0,698,662),929=>array(15,0,541,662),931=>array(15,0,563,661),932=>array(15,0,591,662),933=>array(15,0,651,672),934=>array(35,0,725,662),935=>array(10,0,704,662),936=>array(15,0,773,668),937=>array(15,0,708,676),938=>array(15,0,316,836),939=>array(15,0,651,834),940=>array(41,-10,558,775),941=>array(41,-10,399,775),942=>array(15,-224,471,775),943=>array(65,-10,271,775),944=>array(19,-10,464,747),945=>array(41,-10,558,461),946=>array(65,-201,485,675),947=>array(19,-224,461,461),948=>array(44,-6,490,677),949=>array(41,-10,399,461),950=>array(39,-194,456,690),951=>array(15,-224,471,461),952=>array(51,-10,483,672),953=>array(65,-10,271,451),954=>array(20,0,524,481),955=>array(24,-10,454,673),956=>array(65,-224,521,451),957=>array(15,0,455,461),958=>array(5,-186,494,746),959=>array(25,-10,466,460),960=>array(35,-10,552,470),961=>array(50,-221,487,461),962=>array(44,-233,442,460),963=>array(41,-10,525,479),964=>array(12,-10,405,468),965=>array(19,-10,464,461),966=>array(40,-222,602,463),967=>array(19,-209,461,461),968=>array(27,-224,637,579),969=>array(41,-10,652,461),970=>array(-48,-10,271,649),971=>array(19,-10,464,650),972=>array(25,-10,466,759),973=>array(19,-10,464,735),974=>array(41,-10,652,740),975=>array(15,-200,656,662),976=>array(44,-10,490,705),977=>array(17,-10,569,705),978=>array(5,0,617,672),979=>array(28,0,793,709),980=>array(5,0,617,835),981=>array(43,-224,597,576),982=>array(18,-10,653,521),983=>array(33,-166,502,461),984=>array(35,0,561,662),985=>array(29,-220,470,460),986=>array(35,0,567,677),987=>array(27,-194,407,460),988=>array(15,0,549,662),989=>array(10,-218,439,467),990=>array(25,-16,631,668),991=>array(47,-181,348,705),992=>array(15,0,706,674),993=>array(26,-180,556,705),994=>array(35,-219,927,675),995=>array(24,-219,649,459),996=>array(32,-181,528,675),997=>array(24,-220,480,461),998=>array(32,-184,548,675),999=>array(22,-9,436,506),1000=>array(36,-119,500,673),1001=>array(22,-81,338,458),1002=>array(32,-51,810,675),1003=>array(22,-35,571,459),1004=>array(36,-10,572,799),1005=>array(24,-7,412,551),1006=>array(32,-181,602,800),1007=>array(22,-220,425,566),1008=>array(33,-10,501,461),1009=>array(41,-224,481,461),1010=>array(41,-10,432,461),1011=>array(0,-218,264,683),1012=>array(35,-14,689,676),1013=>array(41,-10,332,461),1014=>array(41,-10,332,461),1015=>array(16,0,542,662),1016=>array(19,-212,512,654),1017=>array(35,-14,640,676),1018=>array(12,0,863,662),1019=>array(59,-212,707,461),1020=>array(-56,-218,481,461),1021=>array(28,-14,633,676),1022=>array(35,-14,640,676),1023=>array(28,-14,633,676),1024=>array(15,0,600,898),1025=>array(15,0,600,850),1026=>array(10,-13,712,662),1027=>array(15,0,549,890),1028=>array(35,-14,640,676),1029=>array(40,-14,489,676),1030=>array(15,0,312,662),1031=>array(15,0,313,846),1032=>array(5,-14,365,662),1033=>array(5,-13,913,662),1034=>array(15,0,950,662),1035=>array(15,-1,806,662),1036=>array(15,0,654,890),1037=>array(15,0,698,898),1038=>array(10,-13,699,865),1039=>array(15,-170,698,662),1040=>array(10,0,701,674),1041=>array(15,0,541,662),1042=>array(15,0,591,662),1043=>array(15,0,549,662),1044=>array(10,-170,631,662),1045=>array(15,0,600,662),1046=>array(10,0,927,668),1047=>array(20,-15,550,676),1048=>array(15,0,698,662),1049=>array(15,0,698,865),1050=>array(15,0,654,668),1051=>array(10,-13,666,662),1052=>array(15,0,866,662),1053=>array(15,0,698,662),1054=>array(35,-14,689,676),1055=>array(15,0,698,662),1056=>array(15,0,541,662),1057=>array(35,-14,640,676),1058=>array(15,0,591,662),1059=>array(10,-13,699,662),1060=>array(35,0,725,662),1061=>array(10,0,704,662),1062=>array(15,-170,707,662),1063=>array(15,0,657,662),1064=>array(15,0,959,662),1065=>array(15,-170,967,662),1066=>array(10,0,689,662),1067=>array(15,0,837,662),1068=>array(15,0,541,662),1069=>array(20,-14,625,676),1070=>array(15,-14,927,676),1071=>array(10,0,628,662),1072=>array(25,-10,430,460),1073=>array(30,-10,471,706),1074=>array(16,0,438,450),1075=>array(16,0,374,450),1076=>array(12,-125,476,450),1077=>array(25,-10,424,460),1078=>array(10,0,652,455),1079=>array(12,-8,376,459),1080=>array(16,0,508,450),1081=>array(16,0,508,682),1082=>array(16,0,488,455),1083=>array(5,-9,474,450),1084=>array(16,-14,616,450),1085=>array(16,0,508,450),1086=>array(25,-10,466,460),1087=>array(16,0,508,450),1088=>array(15,-217,480,460),1089=>array(25,-10,412,460),1090=>array(14,0,408,450),1091=>array(5,-218,466,450),1092=>array(25,-215,669,683),1093=>array(3,0,465,450),1094=>array(16,-125,510,450),1095=>array(15,0,489,450),1096=>array(16,0,740,450),1097=>array(16,-125,742,450),1098=>array(14,0,480,450),1099=>array(15,0,609,450),1100=>array(16,0,406,450),1101=>array(12,-10,407,460),1102=>array(16,-10,639,460),1103=>array(5,0,476,450),1104=>array(25,-10,424,684),1105=>array(25,-10,424,660),1106=>array(16,-190,449,683),1107=>array(16,0,374,676),1108=>array(25,-10,420,460),1109=>array(35,-10,332,459),1110=>array(16,0,253,683),1111=>array(-14,0,284,680),1112=>array(0,-218,264,683),1113=>array(5,-9,652,450),1114=>array(16,0,686,450),1115=>array(16,0,498,683),1116=>array(16,0,488,676),1117=>array(16,0,508,678),1118=>array(5,-218,466,682),1119=>array(16,-126,508,450),1120=>array(35,-14,953,676),1121=>array(25,-10,639,461),1122=>array(10,1,688,663),1123=>array(15,0,481,683),1124=>array(14,-14,918,676),1125=>array(15,-10,622,460),1126=>array(10,0,891,674),1127=>array(6,0,629,450),1128=>array(15,0,1235,674),1129=>array(15,0,884,450),1130=>array(10,0,927,662),1131=>array(6,0,648,450),1132=>array(12,0,1268,662),1133=>array(15,0,901,450),1134=>array(20,-212,484,856),1135=>array(12,-184,353,594),1136=>array(15,0,853,662),1137=>array(20,-215,670,683),1138=>array(35,-14,689,676),1139=>array(25,-10,466,460),1140=>array(16,-10,755,668),1141=>array(15,-14,540,455),1142=>array(15,-10,754,884),1143=>array(15,-14,540,672),1144=>array(32,-218,1146,676),1145=>array(23,-218,880,460),1146=>array(35,-64,844,726),1147=>array(25,-46,586,496),1148=>array(35,-14,953,900),1149=>array(25,-10,655,718),1150=>array(35,-14,953,846),1151=>array(25,-10,639,626),1152=>array(35,0,567,677),1153=>array(25,-171,398,460),1154=>array(1,-212,235,123),1155=>array(-323,507,-10,644),1156=>array(-439,503,-2,675),1157=>array(-230,507,-15,676),1158=>array(-230,506,-15,675),1159=>array(-442,474,96,676),1160=>array(-752,-134,269,857),1161=>array(-796,-262,366,900),1162=>array(15,-146,698,865),1163=>array(15,-146,507,682),1164=>array(15,0,541,662),1165=>array(15,0,405,450),1166=>array(15,0,546,662),1167=>array(15,-217,496,460),1168=>array(15,0,549,767),1169=>array(15,0,383,538),1170=>array(5,0,551,662),1171=>array(4,0,378,450),1172=>array(15,-218,584,662),1173=>array(15,-218,437,450),1174=>array(10,-170,973,668),1175=>array(10,-125,668,455),1176=>array(22,-212,552,676),1177=>array(12,-165,376,459),1178=>array(15,-170,673,668),1179=>array(15,-125,502,455),1180=>array(15,0,698,668),1181=>array(15,0,521,455),1182=>array(15,0,654,668),1183=>array(10,0,484,455),1184=>array(15,0,801,668),1185=>array(10,0,558,455),1186=>array(15,-170,707,662),1187=>array(15,-125,509,450),1188=>array(15,0,911,662),1189=>array(15,0,637,450),1190=>array(15,-218,990,662),1191=>array(15,-218,696,450),1192=>array(35,-14,722,676),1193=>array(25,-10,491,460),1194=>array(35,-212,640,676),1195=>array(25,-165,412,460),1196=>array(15,-129,591,662),1197=>array(14,-108,438,450),1198=>array(10,0,691,662),1199=>array(5,-217,558,450),1200=>array(10,0,691,662),1201=>array(5,-217,558,450),1202=>array(10,-170,755,662),1203=>array(16,-125,504,450),1204=>array(10,-129,948,662),1205=>array(15,-108,678,450),1206=>array(15,-170,666,662),1207=>array(15,-125,491,450),1208=>array(15,0,701,662),1209=>array(15,0,523,450),1210=>array(15,0,657,662),1211=>array(15,0,493,683),1212=>array(20,-13,824,676),1213=>array(21,-9,541,490),1214=>array(20,-128,824,676),1215=>array(21,-128,541,490),1216=>array(15,0,312,662),1217=>array(10,0,927,865),1218=>array(10,0,652,682),1219=>array(15,-218,593,668),1220=>array(15,-219,431,455),1221=>array(10,-145,666,662),1222=>array(5,-146,474,450),1223=>array(15,-177,698,662),1224=>array(15,-218,482,450),1225=>array(15,-146,698,662),1226=>array(15,-145,530,464),1227=>array(15,-129,657,662),1228=>array(15,-108,489,450),1229=>array(15,-146,866,662),1230=>array(15,-146,615,450),1231=>array(15,0,312,662),1232=>array(10,0,701,865),1233=>array(25,-10,430,682),1234=>array(10,0,701,852),1235=>array(25,-10,430,618),1236=>array(10,0,873,662),1237=>array(25,-10,619,460),1238=>array(15,0,600,865),1239=>array(25,-10,424,682),1240=>array(25,-14,676,676),1241=>array(12,-10,411,460),1242=>array(25,-14,676,842),1243=>array(12,-10,411,621),1244=>array(10,0,927,851),1245=>array(10,0,652,611),1246=>array(20,-15,550,848),1247=>array(12,-8,376,616),1248=>array(14,-14,496,662),1249=>array(15,-10,341,450),1250=>array(15,0,698,800),1251=>array(16,0,508,584),1252=>array(15,0,698,835),1253=>array(16,0,508,624),1254=>array(35,-14,689,851),1255=>array(25,-10,466,614),1256=>array(35,-14,689,676),1257=>array(25,-10,466,460),1258=>array(35,-14,689,845),1259=>array(25,-10,466,613),1260=>array(20,-14,625,853),1261=>array(12,-10,407,628),1262=>array(10,-13,699,800),1263=>array(14,-218,475,584),1264=>array(10,-13,699,851),1265=>array(14,-218,475,616),1266=>array(10,-13,699,898),1267=>array(14,-218,475,676),1268=>array(15,0,657,834),1269=>array(15,0,489,624),1270=>array(15,-129,549,662),1271=>array(15,-108,373,450),1272=>array(15,0,837,848),1273=>array(15,0,609,619),1274=>array(15,-231,549,662),1275=>array(15,-231,373,450),1276=>array(10,-177,696,662),1277=>array(10,-218,426,450),1278=>array(10,0,704,662),1279=>array(15,0,477,450),1280=>array(35,0,561,662),1281=>array(25,-10,489,683),1282=>array(35,0,893,662),1283=>array(25,-20,609,683),1284=>array(22,-12,782,674),1285=>array(15,-26,502,460),1286=>array(15,-127,538,687),1287=>array(15,-129,455,462),1288=>array(10,-13,916,662),1289=>array(5,-32,612,450),1290=>array(15,-13,949,662),1291=>array(15,-40,657,464),1292=>array(35,-13,712,676),1293=>array(25,-8,408,460),1294=>array(10,-13,690,662),1295=>array(10,-41,474,464),1296=>array(35,-15,491,676),1297=>array(25,-14,394,463),1298=>array(10,-177,666,662),1299=>array(5,-218,474,450),1300=>array(10,-7,931,662),1301=>array(5,-14,629,450),1302=>array(15,0,810,662),1303=>array(15,-217,687,460),1304=>array(10,0,939,662),1305=>array(10,-10,736,460),1306=>array(35,-178,702,676),1307=>array(26,-217,490,461),1308=>array(10,-11,937,662),1309=>array(10,-14,683,450),1310=>array(15,0,654,668),1311=>array(15,0,487,455),1312=>array(8,-218,956,662),1313=>array(5,-218,685,450),1314=>array(20,-218,993,662),1315=>array(15,-218,716,450),1316=>array(15,-129,709,662),1317=>array(15,-108,510,450),1318=>array(15,-129,668,662),1319=>array(15,-108,492,450),1329=>array(15,-24,784,662),1330=>array(16,0,702,676),1331=>array(30,0,772,676),1332=>array(11,0,844,676),1333=>array(15,-14,701,662),1334=>array(40,-70,692,674),1335=>array(15,-70,697,662),1336=>array(50,-70,646,676),1337=>array(15,0,767,676),1338=>array(30,-14,772,662),1339=>array(15,0,695,662),1340=>array(15,-70,653,662),1341=>array(15,0,815,662),1342=>array(10,-16,907,674),1343=>array(15,0,657,662),1344=>array(10,-61,454,662),1345=>array(40,-24,636,674),1346=>array(15,-70,848,676),1347=>array(40,-14,670,675),1348=>array(15,-14,846,662),1349=>array(40,-15,588,676),1350=>array(10,0,843,732),1351=>array(30,-16,684,678),1352=>array(15,0,704,676),1353=>array(30,-118,684,678),1354=>array(20,0,716,676),1355=>array(40,-70,692,674),1356=>array(15,0,864,676),1357=>array(15,-14,704,662),1358=>array(15,-70,834,662),1359=>array(40,-15,489,676),1360=>array(15,0,688,676),1361=>array(30,-15,578,676),1362=>array(15,0,571,662),1363=>array(40,0,730,662),1364=>array(10,0,770,676),1365=>array(30,-14,684,676),1366=>array(30,-15,654,662),1369=>array(0,508,100,707),1370=>array(0,508,100,707),1371=>array(28,459,229,735),1372=>array(40,389,267,662),1373=>array(-21,459,180,735),1374=>array(-20,496,272,664),1375=>array(-18,530,260,683),1377=>array(15,-10,770,450),1378=>array(16,-200,491,460),1379=>array(24,-200,532,461),1380=>array(16,-200,531,460),1381=>array(15,-10,491,683),1382=>array(24,-200,488,461),1383=>array(15,-70,468,683),1384=>array(15,-200,484,460),1385=>array(15,-200,531,460),1386=>array(25,-10,529,683),1387=>array(15,-200,493,683),1388=>array(16,-200,274,460),1389=>array(15,-200,735,683),1390=>array(25,-10,530,690),1391=>array(15,-200,498,662),1392=>array(15,0,493,683),1393=>array(25,-10,488,662),1394=>array(15,-200,516,460),1395=>array(25,-10,508,669),1396=>array(15,-10,485,662),1397=>array(-70,-218,193,460),1398=>array(50,-10,458,662),1399=>array(15,-200,396,461),1400=>array(15,0,484,460),1401=>array(16,-200,397,464),1402=>array(15,-200,778,450),1403=>array(20,-200,404,461),1404=>array(15,0,448,460),1405=>array(15,-10,485,450),1406=>array(15,-200,506,683),1407=>array(15,-10,743,460),1408=>array(15,-200,489,460),1409=>array(25,-218,426,461),1410=>array(15,0,273,460),1411=>array(15,-200,743,683),1412=>array(15,-200,480,460),1413=>array(30,-10,471,460),1414=>array(30,-200,532,670),1415=>array(15,-10,528,683),1417=>array(81,-11,192,459),1418=>array(23,174,257,293),1423=>array(11,0,724,676),1425=>array(117,-229,265,-51),1426=>array(0,632,217,827),1427=>array(21,629,172,849),1428=>array(182,630,265,810),1429=>array(135,630,311,807),1430=>array(155,-259,286,-47),1431=>array(114,603,288,777),1432=>array(95,633,385,782),1433=>array(59,627,190,839),1434=>array(323,-218,477,-60),1435=>array(152,-245,283,-33),1436=>array(167,623,298,835),1437=>array(366,623,497,835),1438=>array(169,623,420,835),1439=>array(56,636,448,853),1440=>array(315,636,496,853),1441=>array(0,638,152,822),1442=>array(117,-229,265,-51),1443=>array(128,-218,285,-61),1444=>array(180,-218,334,-60),1445=>array(142,-245,273,-33),1446=>array(101,-245,330,-33),1447=>array(158,-218,310,-61),1448=>array(46,627,177,839),1449=>array(16,636,197,853),1450=>array(117,-229,265,-51),1451=>array(139,651,293,809),1452=>array(107,637,264,794),1453=>array(213,-259,344,-47),1454=>array(0,633,290,782),1455=>array(-84,648,88,820),1456=>array(217,-221,283,-57),1457=>array(99,-222,362,-73),1458=>array(98,-221,337,-57),1459=>array(66,-223,342,-57),1460=>array(217,-133,283,-69),1461=>array(167,-120,334,-56),1462=>array(151,-220,343,-56),1463=>array(158,-114,338,-62),1464=>array(158,-224,338,-62),1465=>array(83,632,166,712),1466=>array(179,632,262,712),1467=>array(142,-249,340,-57),1468=>array(208,233,291,313),1469=>array(198,-218,250,-58),1470=>array(25,461,345,536),1471=>array(158,650,338,702),1472=>array(0,0,52,694),1473=>array(394,623,477,703),1474=>array(56,623,139,703),1475=>array(80,73,266,617),1476=>array(191,636,296,749),1477=>array(249,-176,354,-63),1478=>array(86,0,303,598),1479=>array(158,-224,338,-62),1488=>array(27,-5,488,584),1489=>array(24,0,504,598),1490=>array(39,0,296,598),1491=>array(25,-2,482,596),1492=>array(22,-2,465,598),1493=>array(48,0,255,598),1494=>array(55,-1,267,598),1495=>array(29,-2,466,598),1496=>array(27,0,496,598),1497=>array(61,283,256,593),1498=>array(26,-264,496,600),1499=>array(15,0,485,598),1500=>array(74,2,461,820),1501=>array(23,0,483,598),1502=>array(23,0,487,599),1503=>array(58,-264,250,600),1504=>array(47,0,264,598),1505=>array(30,0,492,598),1506=>array(11,0,479,600),1507=>array(24,-263,485,600),1508=>array(19,0,472,598),1509=>array(24,-264,470,600),1510=>array(13,0,476,598),1511=>array(21,-264,483,600),1512=>array(24,-1,469,598),1513=>array(29,0,531,598),1514=>array(32,-1,498,598),1520=>array(48,0,515,598),1521=>array(31,0,495,598),1522=>array(31,283,486,593),1523=>array(132,500,297,727),1524=>array(45,500,346,727),1536=>array(20,-81,588,158),1537=>array(10,-164,1000,1),1538=>array(30,-80,770,152),1539=>array(80,-158,769,108),1542=>array(0,-65,525,900),1543=>array(0,-65,525,900),1544=>array(26,-210,704,267),1545=>array(55,-14,534,676),1546=>array(55,-14,674,676),1547=>array(75,-270,640,631),1548=>array(70,-5,216,224),1549=>array(50,-109,294,83),1550=>array(40,0,600,200),1551=>array(107,-300,636,432),1552=>array(30,744,270,900),1553=>array(32,694,262,900),1554=>array(43,654,352,889),1555=>array(30,643,352,900),1556=>array(34,764,314,850),1557=>array(21,642,250,900),1558=>array(20,621,346,897),1559=>array(53,617,191,889),1560=>array(93,717,250,822),1561=>array(50,675,206,875),1562=>array(63,-287,220,-182),1563=>array(71,-11,210,486),1566=>array(72,57,300,254),1567=>array(68,-8,414,676),1568=>array(75,-300,652,315),1569=>array(85,-79,329,280),1570=>array(0,-48,275,800),1571=>array(24,-48,182,890),1572=>array(0,-247,329,528),1573=>array(47,-300,205,701),1574=>array(75,-160,652,512),1575=>array(100,-48,179,701),1576=>array(75,-200,877,309),1577=>array(75,-5,342,531),1578=>array(75,0,877,421),1579=>array(75,0,877,494),1580=>array(75,-280,591,332),1581=>array(75,-280,591,332),1582=>array(75,-280,591,541),1583=>array(55,0,368,350),1584=>array(55,0,368,561),1585=>array(0,-247,345,247),1586=>array(0,-247,345,431),1587=>array(75,-241,914,205),1588=>array(75,-241,914,454),1589=>array(75,-241,909,260),1590=>array(75,-241,909,421),1591=>array(0,0,568,695),1592=>array(0,0,568,695),1593=>array(75,-280,591,421),1594=>array(75,-280,591,611),1595=>array(75,0,902,713),1596=>array(75,-265,902,701),1597=>array(75,-160,652,542),1598=>array(75,-160,652,437),1599=>array(75,-160,652,504),1600=>array(-5,0,205,80),1601=>array(75,0,868,601),1602=>array(75,-170,634,501),1603=>array(-10,0,456,675),1604=>array(75,-239,598,675),1605=>array(75,-300,467,429),1606=>array(75,-194,597,496),1607=>array(75,-5,342,359),1608=>array(0,-247,329,254),1609=>array(75,-160,652,315),1610=>array(75,-300,652,315),1611=>array(74,674,269,895),1612=>array(72,666,316,900),1613=>array(44,-300,239,-79),1614=>array(74,704,269,835),1615=>array(31,651,225,900),1616=>array(44,-300,239,-169),1617=>array(75,721,259,880),1618=>array(113,693,238,850),1619=>array(12,731,287,806),1620=>array(88,667,246,900),1621=>array(71,-280,229,-47),1622=>array(141,-269,200,-56),1623=>array(81,641,275,890),1624=>array(69,661,305,900),1625=>array(-124,788,116,854),1626=>array(95,684,254,824),1627=>array(51,682,210,822),1628=>array(120,-171,218,-71),1629=>array(41,651,235,900),1630=>array(74,687,269,858),1631=>array(0,-290,237,-60),1632=>array(141,80,358,327),1633=>array(154,-16,331,602),1634=>array(70,-14,417,620),1635=>array(39,-15,456,628),1636=>array(85,-13,446,612),1637=>array(57,0,443,573),1638=>array(20,-15,483,624),1639=>array(60,-15,439,610),1640=>array(60,-15,439,610),1641=>array(102,-15,422,620),1642=>array(55,-14,385,676),1643=>array(20,-109,195,146),1644=>array(55,389,180,622),1645=>array(48,313,423,673),1646=>array(75,0,877,309),1647=>array(75,-170,634,307),1648=>array(121,658,180,871),1649=>array(-10,-48,280,829),1650=>array(-24,-48,213,900),1651=>array(0,-290,237,701),1652=>array(78,613,236,846),1653=>array(100,-48,326,846),1654=>array(0,-247,442,506),1655=>array(0,-247,482,561),1656=>array(75,-160,792,576),1657=>array(75,0,877,617),1658=>array(75,0,877,521),1659=>array(75,-277,877,309),1660=>array(75,-125,877,421),1661=>array(75,0,877,492),1662=>array(75,-265,877,309),1663=>array(75,0,877,534),1664=>array(75,-300,877,309),1665=>array(75,-280,591,631),1666=>array(75,-280,591,621),1667=>array(75,-280,591,332),1668=>array(75,-280,591,332),1669=>array(75,-281,591,604),1670=>array(75,-280,591,332),1671=>array(75,-280,591,332),1672=>array(55,0,368,727),1673=>array(55,-139,368,364),1674=>array(55,-200,368,350),1675=>array(55,-200,368,727),1676=>array(55,0,368,551),1677=>array(55,-190,368,350),1678=>array(55,0,368,634),1679=>array(55,0,368,642),1680=>array(55,0,368,674),1681=>array(0,-247,345,607),1682=>array(0,-247,345,504),1683=>array(0,-281,345,247),1684=>array(0,-300,345,247),1685=>array(0,-247,494,247),1686=>array(0,-300,345,247),1687=>array(0,-247,345,421),1688=>array(0,-247,345,504),1689=>array(0,-247,345,543),1690=>array(75,-241,914,341),1691=>array(75,-275,914,207),1692=>array(75,-275,914,444),1693=>array(75,-241,909,260),1694=>array(75,-241,909,484),1695=>array(0,0,568,695),1696=>array(75,-280,591,674),1697=>array(75,0,868,410),1698=>array(75,-200,868,410),1699=>array(75,-200,868,581),1700=>array(75,0,868,644),1701=>array(75,-265,868,410),1702=>array(75,0,868,732),1703=>array(75,-170,634,491),1704=>array(75,-170,634,568),1705=>array(75,0,902,701),1706=>array(0,0,1134,679),1707=>array(75,0,902,701),1708=>array(-10,0,456,771),1709=>array(-10,0,456,844),1710=>array(-10,-265,456,675),1711=>array(75,0,902,800),1712=>array(75,0,902,800),1713=>array(75,0,902,800),1714=>array(75,-200,902,800),1715=>array(75,-277,902,800),1716=>array(75,0,902,800),1717=>array(75,-239,598,804),1718=>array(75,-239,598,800),1719=>array(75,-239,598,855),1720=>array(75,-300,598,675),1721=>array(75,-300,597,496),1722=>array(75,-194,597,355),1723=>array(75,-194,597,660),1724=>array(75,-300,597,479),1725=>array(75,-194,597,564),1726=>array(-23,0,396,364),1727=>array(75,-280,591,511),1728=>array(75,-5,342,578),1729=>array(75,-5,342,359),1730=>array(75,-56,393,428),1731=>array(75,-56,393,321),1732=>array(0,-247,329,254),1733=>array(0,-247,329,254),1734=>array(0,-247,329,484),1735=>array(0,-247,329,561),1736=>array(0,-247,329,547),1737=>array(0,-247,329,461),1738=>array(0,-247,329,451),1739=>array(0,-247,329,524),1740=>array(75,-160,652,315),1741=>array(19,-166,708,315),1742=>array(75,-160,652,474),1743=>array(0,-247,329,441),1744=>array(75,-300,652,315),1745=>array(75,-300,652,315),1746=>array(75,-170,710,265),1747=>array(67,-170,710,448),1748=>array(75,-12,355,75),1749=>array(75,-5,342,299),1750=>array(61,580,498,900),1751=>array(61,580,387,900),1752=>array(-8,733,195,859),1753=>array(41,564,252,900),1754=>array(51,585,339,900),1755=>array(36,778,150,877),1756=>array(37,656,457,880),1757=>array(0,-126,1132,797),1758=>array(16,-137,954,801),1759=>array(42,613,216,900),1760=>array(73,714,187,888),1761=>array(56,740,294,850),1762=>array(57,575,253,900),1763=>array(19,-300,439,-76),1764=>array(60,754,243,805),1765=>array(43,215,208,466),1766=>array(40,23,359,242),1767=>array(40,596,359,815),1768=>array(20,560,281,905),1769=>array(20,-89,740,800),1770=>array(74,-288,291,-43),1771=>array(74,655,291,900),1772=>array(70,749,181,860),1773=>array(17,-289,155,-33),1774=>array(55,0,368,571),1775=>array(0,-247,345,461),1776=>array(141,80,358,327),1777=>array(154,-16,331,602),1778=>array(70,-14,417,620),1779=>array(39,-15,456,628),1780=>array(66,-15,426,624),1781=>array(57,-16,442,618),1782=>array(110,-18,417,624),1783=>array(60,-15,439,610),1784=>array(60,-15,439,610),1785=>array(102,-15,422,620),1786=>array(75,-241,914,454),1787=>array(75,-241,909,421),1788=>array(75,-280,591,611),1789=>array(78,91,260,526),1790=>array(13,91,226,462),1791=>array(-23,0,396,561),1872=>array(75,-200,877,309),1873=>array(75,-200,877,484),1874=>array(75,-253,877,309),1875=>array(75,-253,877,401),1876=>array(75,-200,877,401),1877=>array(75,-201,877,309),1878=>array(75,0,877,464),1879=>array(75,-280,591,511),1880=>array(75,-280,591,332),1881=>array(55,-277,368,725),1882=>array(55,-218,368,350),1883=>array(0,-247,398,247),1884=>array(75,-241,914,522),1885=>array(75,-280,591,609),1886=>array(75,-280,591,692),1887=>array(75,-280,591,691),1888=>array(75,-200,868,410),1889=>array(75,-263,868,410),1890=>array(75,0,902,721),1891=>array(75,0,902,784),1892=>array(75,-263,902,701),1893=>array(75,-300,467,621),1894=>array(75,-300,467,429),1895=>array(75,-300,597,496),1896=>array(75,-194,597,785),1897=>array(75,-194,597,679),1898=>array(75,-240,691,675),1899=>array(0,-247,345,521),1900=>array(0,-247,345,516),1901=>array(75,-241,914,441),1902=>array(75,-280,591,332),1903=>array(75,-280,591,332),1904=>array(75,-241,914,678),1905=>array(0,-247,345,723),1906=>array(75,-280,591,667),1907=>array(-9,-48,179,900),1908=>array(-26,-48,183,902),1909=>array(75,-160,652,462),1910=>array(75,-160,652,465),1911=>array(75,-300,753,315),1912=>array(0,-247,329,460),1913=>array(0,-247,329,462),1914=>array(60,-170,710,590),1915=>array(54,-170,710,592),1916=>array(75,-280,591,332),1917=>array(75,-241,914,560),1918=>array(75,-241,914,414),1919=>array(-10,0,456,675),1920=>array(-33,102,421,361),1921=>array(-112,39,481,367),1922=>array(-124,43,577,359),1923=>array(-45,40,532,390),1924=>array(23,94,466,353),1925=>array(-15,16,415,358),1926=>array(84,124,458,363),1927=>array(0,56,438,344),1928=>array(-4,-6,440,342),1929=>array(16,44,445,358),1930=>array(-50,-54,420,416),1931=>array(-80,-41,504,381),1932=>array(-4,-13,466,342),1933=>array(-57,-17,503,367),1934=>array(28,94,454,365),1935=>array(-1,-6,541,352),1936=>array(11,129,872,353),1937=>array(118,48,410,357),1938=>array(22,-54,500,365),1939=>array(50,-64,531,378),1940=>array(-74,31,481,347),1941=>array(-50,-54,422,416),1942=>array(40,-80,449,357),1943=>array(16,-21,673,533),1944=>array(-4,-49,466,495),1945=>array(-28,102,426,361),1946=>array(-57,93,397,484),1947=>array(-80,-40,504,511),1948=>array(-45,40,532,483),1949=>array(11,129,872,499),1950=>array(11,79,872,353),1951=>array(22,244,887,488),1952=>array(-4,-13,466,342),1953=>array(-4,-13,466,466),1954=>array(0,16,438,344),1955=>array(0,56,438,475),1956=>array(28,94,454,522),1957=>array(6,-6,449,484),1958=>array(243,517,543,727),1959=>array(180,507,543,829),1960=>array(169,-285,517,-54),1961=>array(152,-300,533,-6),1962=>array(217,509,504,764),1963=>array(50,511,609,764),1964=>array(275,509,532,781),1965=>array(90,518,591,755),1966=>array(98,516,583,785),1967=>array(190,509,611,885),1968=>array(249,523,524,769),1969=>array(35,-80,404,342),2304=>array(-419,682,-75,899),2305=>array(-360,682,-16,898),2306=>array(-247,676,-135,788),2307=>array(116,-10,283,488),2308=>array(-1,-40,901,858),2309=>array(-1,-40,901,609),2310=>array(-1,-40,1110,609),2311=>array(-40,-121,593,609),2312=>array(-39,-119,592,855),2313=>array(-39,0,636,610),2314=>array(-39,0,887,610),2315=>array(-39,-59,1006,610),2316=>array(-39,-126,867,610),2317=>array(-40,-282,694,883),2318=>array(-40,-282,694,858),2319=>array(-40,-282,694,609),2320=>array(-40,-282,694,896),2321=>array(-1,-40,1110,880),2322=>array(-1,-40,1110,858),2323=>array(-1,-40,1110,894),2324=>array(-1,-40,1110,900),2325=>array(-39,-38,782,610),2326=>array(-40,-40,837,609),2327=>array(-40,-40,734,609),2328=>array(-40,-40,734,609),2329=>array(-40,42,770,609),2330=>array(-40,-40,774,609),2331=>array(-40,-153,927,609),2332=>array(-40,-40,853,609),2333=>array(-40,-121,873,609),2334=>array(-40,-40,774,609),2335=>array(-40,17,668,609),2336=>array(-40,17,668,609),2337=>array(-40,42,692,609),2338=>array(-40,-1,648,609),2339=>array(-40,-40,734,609),2340=>array(-40,-40,694,609),2341=>array(-1,-40,734,609),2342=>array(-40,0,628,609),2343=>array(-1,-40,734,609),2344=>array(-40,-40,694,609),2345=>array(-40,-46,694,609),2346=>array(-40,-40,654,609),2347=>array(-40,-40,828,609),2348=>array(-40,-40,661,609),2349=>array(-40,-40,734,609),2350=>array(-40,-40,734,609),2351=>array(-40,-40,734,609),2352=>array(-40,-40,534,609),2353=>array(-40,-42,534,609),2354=>array(-40,-40,827,609),2355=>array(-40,-1,887,609),2356=>array(-40,-95,887,609),2357=>array(-40,-40,661,609),2358=>array(-40,-40,827,609),2359=>array(-40,-40,654,609),2360=>array(-40,-40,774,609),2361=>array(-40,-210,648,609),2362=>array(46,610,124,802),2363=>array(-40,-40,381,802),2364=>array(-166,-202,-54,-90),2365=>array(93,-40,609,611),2366=>array(-40,-40,381,609),2367=>array(-40,-40,535,893),2368=>array(-373,-40,381,893),2369=>array(-468,-280,-11,-35),2370=>array(-429,-300,-2,-22),2371=>array(-357,-280,-43,-37),2372=>array(-327,-300,30,78),2373=>array(-374,682,-30,883),2374=>array(-534,613,-120,858),2375=>array(-568,607,-130,893),2376=>array(-568,607,-130,922),2377=>array(-125,-40,381,883),2378=>array(-294,-40,381,858),2379=>array(-313,-40,381,893),2380=>array(-313,-40,381,922),2381=>array(-310,-270,0,-77),2382=>array(126,-38,460,610),2383=>array(-324,-40,381,900),2384=>array(-1,-40,875,681),2385=>array(-242,655,-157,900),2386=>array(-400,-125,0,-75),2387=>array(-314,705,-91,876),2388=>array(-240,709,-16,880),2389=>array(-400,630,0,900),2390=>array(-444,-151,2,-48),2391=>array(-444,-310,2,-48),2392=>array(-39,-45,782,610),2393=>array(-40,-54,837,609),2394=>array(-40,-45,734,609),2395=>array(-40,-45,853,609),2396=>array(-40,-92,692,609),2397=>array(-40,-127,648,609),2398=>array(-40,-42,828,609),2399=>array(-40,-42,734,609),2400=>array(-40,-212,1007,609),2401=>array(-40,-291,867,609),2402=>array(-409,-300,75,18),2403=>array(-409,-300,100,121),2404=>array(300,-40,379,609),2405=>array(300,-40,573,609),2406=>array(-1,103,363,466),2407=>array(-1,-212,288,609),2408=>array(-1,-153,438,568),2409=>array(-1,-153,378,580),2410=>array(-1,74,571,609),2411=>array(-6,-96,498,609),2412=>array(-1,-153,438,615),2413=>array(-1,-1,571,609),2414=>array(-40,-40,478,495),2415=>array(-1,-154,485,609),2416=>array(40,273,326,559),2417=>array(145,516,255,626),2418=>array(-1,-40,901,883),2419=>array(-1,-40,901,802),2420=>array(-1,-40,1110,802),2421=>array(-1,-40,1110,900),2422=>array(-1,-151,901,609),2423=>array(-1,-310,901,609),2425=>array(-40,-147,853,609),2426=>array(-39,-38,733,610),2427=>array(-39,-69,693,610),2428=>array(-39,-69,853,610),2429=>array(0,-38,438,569),2430=>array(-39,0,769,610),2431=>array(-39,0,660,610),2433=>array(-318,648,-59,820),2434=>array(47,-28,342,561),2435=>array(78,45,291,565),2437=>array(-20,26,614,588),2438=>array(-20,13,795,678),2439=>array(-25,-43,514,814),2440=>array(-16,22,530,804),2441=>array(-15,92,560,817),2442=>array(-29,85,588,807),2443=>array(16,67,625,689),2444=>array(54,58,466,618),2447=>array(42,27,495,593),2448=>array(44,26,575,879),2451=>array(25,87,496,566),2452=>array(46,88,587,851),2453=>array(-16,33,582,588),2454=>array(15,33,500,679),2455=>array(14,12,505,683),2456=>array(-13,28,489,588),2457=>array(8,44,440,565),2458=>array(-11,78,426,588),2459=>array(-13,-46,487,588),2460=>array(-15,35,612,588),2461=>array(-11,40,573,681),2462=>array(41,27,752,586),2463=>array(-49,104,436,820),2464=>array(-15,72,422,893),2465=>array(-10,91,547,588),2466=>array(-15,103,429,588),2467=>array(23,31,466,678),2468=>array(-13,98,573,588),2469=>array(12,25,502,678),2470=>array(-15,26,500,588),2471=>array(39,12,460,594),2472=>array(-12,16,466,588),2474=>array(30,31,566,678),2475=>array(-15,30,626,588),2476=>array(-18,21,462,588),2477=>array(-15,106,551,588),2478=>array(-15,27,505,588),2479=>array(-15,25,488,588),2480=>array(-18,21,462,588),2482=>array(-15,25,560,588),2486=>array(-50,31,547,678),2487=>array(-15,31,485,588),2488=>array(-15,25,541,588),2489=>array(-20,-54,478,588),2492=>array(-316,-125,-200,-6),2493=>array(-15,-54,478,588),2494=>array(-81,13,223,678),2495=>array(-20,21,520,818),2496=>array(-379,25,225,843),2497=>array(-296,-148,35,127),2498=>array(-243,-205,82,105),2499=>array(-407,-223,-154,111),2500=>array(-317,-300,39,156),2503=>array(-12,46,314,588),2504=>array(-56,41,323,808),2507=>array(-12,13,808,678),2508=>array(-56,13,850,808),2509=>array(-70,-132,163,588),2510=>array(11,49,389,594),2519=>array(-269,15,232,844),2524=>array(-10,-84,547,588),2525=>array(-15,-60,429,588),2527=>array(-15,25,488,588),2528=>array(15,-51,623,688),2529=>array(54,-241,517,618),2530=>array(-378,-299,-111,65),2531=>array(-393,-300,149,128),2534=>array(48,85,444,470),2535=>array(74,26,367,601),2536=>array(34,-51,480,591),2537=>array(-4,67,476,541),2538=>array(38,62,405,603),2539=>array(32,39,486,577),2540=>array(-1,43,463,582),2541=>array(92,30,467,575),2542=>array(5,53,484,581),2543=>array(26,57,448,606),2544=>array(-22,21,462,588),2545=>array(-13,-4,462,588),2546=>array(27,62,409,565),2547=>array(-13,100,375,577),2548=>array(25,55,409,559),2549=>array(41,72,497,602),2550=>array(41,59,525,602),2551=>array(23,77,132,581),2552=>array(21,75,339,582),2553=>array(15,199,291,469),2554=>array(31,375,596,760),2555=>array(42,-170,344,328),2561=>array(-177,639,145,847),2562=>array(-125,655,-13,767),2563=>array(59,-54,327,524),2565=>array(0,-37,817,570),2566=>array(0,-37,1018,570),2567=>array(-37,-36,825,836),2568=>array(-37,-36,896,836),2569=>array(-48,-138,596,840),2570=>array(-48,-268,596,840),2575=>array(-87,17,625,836),2576=>array(0,-37,817,863),2579=>array(-48,0,596,891),2580=>array(0,-37,817,836),2581=>array(-37,0,575,570),2582=>array(-37,-37,687,580),2583=>array(-37,-37,687,570),2584=>array(-37,-37,817,580),2585=>array(-37,-113,625,570),2586=>array(-37,0,625,570),2587=>array(-37,0,736,570),2588=>array(-37,-36,686,570),2589=>array(-37,-113,625,570),2590=>array(-37,14,625,570),2591=>array(-37,17,625,570),2592=>array(-37,17,625,570),2593=>array(-37,-29,596,570),2594=>array(-37,0,625,570),2595=>array(-37,-14,625,570),2596=>array(-37,0,596,570),2597=>array(-37,-37,686,570),2598=>array(-37,16,625,570),2599=>array(-37,-37,687,570),2600=>array(-37,0,663,570),2602=>array(0,-37,687,570),2603=>array(-37,0,607,570),2604=>array(-37,-37,687,570),2605=>array(-37,0,596,570),2606=>array(-37,-37,687,570),2607=>array(-37,-37,817,570),2608=>array(-57,-41,527,570),2610=>array(-37,0,663,570),2611=>array(-37,-89,663,570),2613=>array(-37,15,625,570),2614=>array(-37,-37,687,570),2616=>array(-37,-37,687,570),2617=>array(-49,-28,527,570),2620=>array(-369,-19,-257,93),2622=>array(-37,177,356,570),2623=>array(-37,-37,436,836),2624=>array(-349,-37,356,836),2625=>array(-493,-138,-140,-23),2626=>array(-493,-268,-140,-23),2631=>array(-497,606,-88,836),2632=>array(-507,606,-98,863),2635=>array(-507,569,-122,836),2636=>array(-447,496,-62,836),2637=>array(-157,-197,130,-17),2641=>array(-204,-158,50,-24),2649=>array(-37,-37,687,580),2650=>array(-37,-37,687,570),2651=>array(-37,-36,686,570),2652=>array(-37,-113,596,570),2654=>array(-37,-19,607,570),2662=>array(0,97,340,436),2663=>array(71,-74,270,570),2664=>array(0,-37,410,536),2665=>array(0,-37,354,554),2666=>array(0,70,534,570),2667=>array(0,-37,365,570),2668=>array(0,-11,374,676),2669=>array(0,36,410,561),2670=>array(56,16,466,443),2671=>array(56,16,466,570),2672=>array(-400,630,-120,806),2673=>array(-323,639,-1,827),2674=>array(-37,17,625,570),2675=>array(-48,0,596,840),2676=>array(71,-74,996,900),2677=>array(-226,-200,-97,-23),2689=>array(-386,627,90,900),2690=>array(-238,712,-125,825),2691=>array(84,129,197,555),2693=>array(30,0,1015,614),2694=>array(30,0,1232,614),2695=>array(40,0,603,614),2696=>array(40,0,797,857),2697=>array(40,0,716,846),2698=>array(40,-2,994,860),2699=>array(40,0,931,621),2700=>array(40,0,844,635),2701=>array(30,0,1015,880),2703=>array(30,0,1015,900),2704=>array(30,0,1015,900),2705=>array(30,0,1232,880),2707=>array(30,0,1232,900),2708=>array(30,0,1232,900),2709=>array(30,-2,676,623),2710=>array(30,0,782,618),2711=>array(40,0,690,614),2712=>array(40,0,613,614),2713=>array(30,0,596,613),2714=>array(40,0,760,637),2715=>array(40,0,733,635),2716=>array(40,1,946,630),2717=>array(40,-2,914,634),2718=>array(30,0,794,614),2719=>array(40,0,552,611),2720=>array(40,0,542,620),2721=>array(30,0,509,613),2722=>array(40,0,457,614),2723=>array(40,-173,832,627),2724=>array(40,-1,623,614),2725=>array(40,0,727,617),2726=>array(40,0,524,678),2727=>array(40,0,560,693),2728=>array(40,0,705,614),2730=>array(30,0,609,616),2731=>array(30,-171,684,623),2732=>array(40,0,763,614),2733=>array(40,0,760,615),2734=>array(40,0,666,619),2735=>array(40,0,779,645),2736=>array(40,0,487,633),2738=>array(40,0,716,618),2739=>array(40,0,740,617),2741=>array(40,0,583,614),2742=>array(40,-1,731,614),2743=>array(40,0,519,616),2744=>array(40,0,770,633),2745=>array(40,-188,701,613),2748=>array(-238,-112,-127,1),2749=>array(40,-1,457,615),2750=>array(45,0,205,614),2751=>array(66,0,643,879),2752=>array(-216,0,246,879),2753=>array(-596,-224,-25,1),2754=>array(-244,-223,327,2),2755=>array(-295,-230,23,0),2756=>array(-244,-266,-1,0),2757=>array(-378,644,-69,880),2759=>array(-428,616,-95,900),2760=>array(-521,617,-62,900),2761=>array(-170,0,218,880),2763=>array(-209,0,210,900),2764=>array(-324,0,217,900),2765=>array(-142,-315,70,-37),2768=>array(40,0,1028,825),2784=>array(40,0,1041,616),2785=>array(40,-171,801,633),2786=>array(-372,-310,9,-4),2787=>array(-442,-253,36,0),2790=>array(40,48,562,564),2791=>array(40,0,450,614),2792=>array(40,-2,557,617),2793=>array(40,-1,626,617),2794=>array(40,0,580,666),2795=>array(30,0,617,614),2796=>array(40,-35,520,619),2797=>array(40,0,655,614),2798=>array(40,0,510,610),2799=>array(40,1,552,614),2800=>array(50,0,312,243),2801=>array(50,-124,755,614),2817=>array(-345,659,39,900),2818=>array(15,394,242,632),2819=>array(40,0,349,632),2821=>array(40,0,754,632),2822=>array(40,0,933,632),2823=>array(40,-1,797,631),2824=>array(40,-3,828,631),2825=>array(40,0,798,631),2826=>array(40,-1,817,631),2827=>array(40,-102,772,630),2828=>array(40,0,560,631),2831=>array(35,0,643,631),2832=>array(35,0,965,832),2835=>array(40,0,649,650),2836=>array(40,0,924,830),2837=>array(40,0,699,632),2838=>array(40,0,713,631),2839=>array(40,0,732,631),2840=>array(40,-1,740,631),2841=>array(40,0,788,631),2842=>array(40,0,671,631),2843=>array(40,-1,594,628),2844=>array(40,0,651,631),2845=>array(40,0,639,631),2846=>array(40,0,584,632),2847=>array(40,0,643,631),2848=>array(40,0,627,631),2849=>array(40,0,701,632),2850=>array(40,-35,652,631),2851=>array(40,-4,721,631),2852=>array(40,0,673,631),2853=>array(40,0,713,631),2854=>array(40,0,648,631),2855=>array(40,0,642,631),2856=>array(40,0,649,631),2858=>array(40,0,713,631),2859=>array(40,0,920,631),2860=>array(40,-29,642,631),2861=>array(40,0,752,631),2862=>array(40,-2,713,631),2863=>array(35,0,773,631),2864=>array(40,0,723,632),2866=>array(40,0,835,631),2867=>array(40,0,682,631),2869=>array(40,-29,636,631),2870=>array(40,0,709,631),2871=>array(40,-1,703,631),2872=>array(40,0,592,631),2873=>array(40,-39,543,632),2876=>array(-270,-223,-131,-100),2877=>array(40,0,331,634),2878=>array(50,0,193,631),2879=>array(-592,677,-87,813),2880=>array(-181,0,183,712),2881=>array(-420,-279,132,1),2882=>array(-283,-261,189,0),2883=>array(-275,-300,49,15),2884=>array(-275,-300,49,21),2887=>array(40,0,466,629),2888=>array(40,0,1110,833),2891=>array(40,0,1288,631),2892=>array(40,0,1283,834),2893=>array(-126,-274,76,-6),2902=>array(-719,535,-53,833),2903=>array(-648,0,166,834),2908=>array(40,-223,701,632),2909=>array(40,-223,652,631),2911=>array(35,-149,785,635),2912=>array(40,-150,750,631),2913=>array(40,-166,670,631),2914=>array(-301,-267,-67,0),2915=>array(-279,-315,-10,0),2918=>array(40,1,684,631),2919=>array(50,3,471,631),2920=>array(50,1,448,631),2921=>array(40,0,759,637),2922=>array(35,0,606,633),2923=>array(35,0,589,635),2924=>array(30,0,588,637),2925=>array(30,0,572,630),2926=>array(50,0,487,631),2927=>array(40,0,457,631),2928=>array(35,0,601,634),2929=>array(40,-320,720,644),2930=>array(50,0,193,631),2931=>array(40,0,405,631),2932=>array(40,0,615,631),2933=>array(30,-11,711,598),2934=>array(40,-14,752,584),2935=>array(40,-11,747,598),2946=>array(-420,540,-181,762),2947=>array(8,0,580,452),2949=>array(0,-160,875,644),2950=>array(0,-182,1035,644),2951=>array(0,-148,813,843),2952=>array(0,0,553,468),2953=>array(0,0,455,467),2954=>array(0,2,1087,472),2958=>array(0,-4,565,468),2959=>array(0,-115,565,467),2960=>array(0,-291,654,470),2962=>array(0,-280,717,473),2963=>array(0,-280,717,473),2964=>array(0,-287,1603,469),2965=>array(0,0,640,468),2969=>array(0,0,651,470),2970=>array(0,0,569,468),2972=>array(0,-287,654,470),2974=>array(0,-239,833,468),2975=>array(0,0,551,471),2979=>array(0,-2,1193,468),2980=>array(0,-254,651,468),2984=>array(0,-243,523,468),2985=>array(0,-2,873,469),2986=>array(0,0,431,471),2990=>array(0,0,588,471),2991=>array(0,0,626,471),2992=>array(0,-115,414,468),2993=>array(0,-249,511,474),2994=>array(0,-2,611,468),2995=>array(0,0,768,468),2996=>array(0,-284,607,471),2997=>array(0,0,694,470),2998=>array(0,0,718,473),2999=>array(0,-250,827,468),3000=>array(0,0,830,471),3001=>array(0,-260,1026,466),3006=>array(0,1,414,468),3007=>array(-406,0,125,707),3008=>array(-337,468,26,711),3009=>array(-214,208,364,476),3010=>array(-151,7,584,681),3014=>array(0,-2,653,691),3015=>array(0,-1,461,692),3016=>array(0,-2,802,468),3018=>array(0,-2,1123,691),3019=>array(0,-1,947,692),3020=>array(0,-2,1471,691),3021=>array(-480,621,-301,799),3024=>array(0,-280,717,473),3031=>array(40,1,808,469),3046=>array(32,0,468,456),3047=>array(0,0,640,468),3048=>array(0,2,757,470),3049=>array(0,0,601,468),3050=>array(0,0,721,470),3051=>array(0,-239,773,468),3052=>array(0,-16,789,468),3053=>array(0,-4,565,468),3054=>array(0,-160,875,644),3055=>array(0,0,735,468),3056=>array(0,0,511,650),3057=>array(0,1,661,474),3058=>array(0,-150,834,468),3059=>array(0,0,594,468),3060=>array(0,0,815,774),3061=>array(0,-200,1513,654),3062=>array(0,-270,592,473),3063=>array(0,0,906,469),3064=>array(0,-250,1287,571),3065=>array(0,-239,773,774),3066=>array(0,-243,695,774),3330=>array(77,-12,416,328),3331=>array(56,8,222,428),3333=>array(76,-10,1055,448),3334=>array(76,-160,1192,448),3335=>array(76,-160,792,450),3336=>array(76,-160,1469,450),3337=>array(72,-160,570,450),3338=>array(72,-160,1244,450),3339=>array(79,-182,674,448),3340=>array(82,-10,895,446),3342=>array(78,-194,1006,450),3343=>array(78,-192,1008,446),3344=>array(76,-194,1538,450),3346=>array(78,-12,586,450),3347=>array(78,-12,980,450),3348=>array(78,-12,1253,450),3349=>array(74,-10,776,448),3350=>array(77,-12,798,450),3351=>array(77,-12,688,448),3352=>array(76,0,1095,450),3353=>array(76,-12,811,450),3354=>array(74,0,728,440),3355=>array(72,-10,963,448),3356=>array(74,-12,704,448),3357=>array(76,-12,1245,448),3358=>array(77,-12,1106,450),3359=>array(74,-10,466,448),3360=>array(77,-10,530,448),3361=>array(77,-12,984,450),3362=>array(77,-14,1028,450),3363=>array(76,-12,1099,450),3364=>array(76,-10,780,450),3365=>array(77,0,732,450),3366=>array(77,-16,484,448),3367=>array(77,-12,736,448),3368=>array(79,-10,746,450),3369=>array(40,-12,746,450),3370=>array(74,-10,780,440),3371=>array(74,-10,962,450),3372=>array(74,-12,1022,450),3373=>array(77,-12,499,450),3374=>array(77,0,511,450),3375=>array(79,-10,790,448),3376=>array(77,-12,530,452),3377=>array(76,-10,512,448),3378=>array(77,0,712,448),3379=>array(74,-180,556,448),3380=>array(77,-8,519,450),3381=>array(76,-10,716,448),3382=>array(77,-10,786,450),3383=>array(74,-10,921,448),3384=>array(72,-6,977,454),3385=>array(74,-10,978,446),3386=>array(75,-200,780,440),3389=>array(72,-158,380,602),3390=>array(77,-12,400,450),3391=>array(-110,0,184,676),3392=>array(-121,0,175,676),3393=>array(44,-246,269,448),3394=>array(40,-231,252,421),3395=>array(74,-246,381,436),3396=>array(59,-246,381,436),3398=>array(76,-12,540,450),3399=>array(76,-10,478,448),3400=>array(76,-12,1070,450),3402=>array(-604,-12,460,450),3403=>array(-534,-12,460,450),3404=>array(-604,-12,747,450),3405=>array(-47,450,232,612),3406=>array(62,465,160,564),3415=>array(76,-12,677,450),3424=>array(79,-181,674,448),3425=>array(73,-147,1006,451),3426=>array(-416,-276,-30,-45),3427=>array(-504,-300,-47,-30),3430=>array(73,0,558,363),3431=>array(70,-153,660,451),3432=>array(78,-10,674,450),3433=>array(74,-10,933,452),3434=>array(74,-7,671,656),3435=>array(74,-193,698,591),3436=>array(81,-190,704,456),3437=>array(78,-190,694,453),3438=>array(81,-190,678,451),3439=>array(81,-13,684,619),3440=>array(0,-190,981,452),3441=>array(74,-190,695,456),3442=>array(74,-10,1056,553),3443=>array(60,152,660,448),3444=>array(76,-12,664,603),3445=>array(76,-12,870,603),3449=>array(77,-10,864,448),3450=>array(77,-12,1137,604),3451=>array(77,-10,776,603),3452=>array(78,-12,534,604),3453=>array(76,-10,860,601),3454=>array(76,-10,780,603),3455=>array(74,-11,866,602),3458=>array(40,181,214,354),3459=>array(40,61,214,485),3461=>array(40,-300,586,546),3462=>array(40,-300,882,546),3463=>array(40,-300,908,546),3464=>array(40,-300,907,546),3465=>array(40,-180,586,535),3466=>array(40,0,609,833),3467=>array(40,-252,743,487),3468=>array(40,-252,1069,487),3469=>array(40,0,979,535),3470=>array(40,0,1271,535),3471=>array(40,0,1010,635),3472=>array(40,0,1437,635),3473=>array(40,0,637,744),3474=>array(40,0,746,826),3475=>array(40,0,1274,744),3476=>array(40,0,701,726),3477=>array(40,0,701,724),3478=>array(40,-1,1130,726),3482=>array(40,0,854,535),3483=>array(40,-11,675,726),3484=>array(40,0,675,535),3485=>array(40,0,679,535),3486=>array(40,0,701,726),3487=>array(40,0,794,535),3488=>array(40,0,679,726),3489=>array(40,0,655,727),3490=>array(40,0,655,727),3491=>array(40,0,1262,726),3492=>array(40,-274,985,535),3493=>array(40,-274,899,535),3494=>array(40,0,655,727),3495=>array(40,0,679,726),3496=>array(40,0,637,744),3497=>array(40,0,701,726),3498=>array(40,0,637,743),3499=>array(20,0,1083,682),3500=>array(41,0,701,727),3501=>array(40,0,739,535),3502=>array(40,0,637,744),3503=>array(40,-274,424,535),3504=>array(40,0,701,726),3505=>array(20,0,881,535),3507=>array(40,-274,424,535),3508=>array(40,0,637,535),3509=>array(40,0,637,744),3510=>array(40,0,675,726),3511=>array(40,0,747,535),3512=>array(40,0,679,726),3513=>array(40,0,701,726),3514=>array(40,0,679,535),3515=>array(30,0,592,741),3517=>array(40,-252,743,465),3520=>array(40,0,679,726),3521=>array(40,0,675,535),3522=>array(40,0,637,535),3523=>array(40,0,679,535),3524=>array(40,0,747,535),3525=>array(40,-252,743,465),3526=>array(40,0,637,535),3530=>array(-180,486,0,827),3535=>array(20,43,289,491),3536=>array(20,-170,319,376),3537=>array(20,-170,319,376),3538=>array(-594,515,-57,823),3539=>array(-572,515,-35,823),3540=>array(-681,-285,-40,0),3542=>array(-681,-285,-40,0),3544=>array(20,43,289,491),3545=>array(40,0,671,535),3546=>array(40,0,1062,827),3547=>array(40,0,1313,535),3548=>array(40,0,1238,535),3549=>array(40,0,1235,826),3550=>array(40,0,1252,535),3551=>array(20,43,421,491),3570=>array(20,43,619,491),3571=>array(40,43,441,491),3572=>array(40,81,908,369),3585=>array(58,0,468,527),3586=>array(46,0,408,531),3587=>array(46,0,470,530),3588=>array(58,0,468,527),3589=>array(58,0,480,527),3590=>array(46,0,519,530),3591=>array(24,0,353,527),3592=>array(32,0,424,527),3593=>array(46,0,558,527),3594=>array(46,0,408,562),3595=>array(46,0,470,562),3596=>array(46,-9,652,527),3597=>array(46,-273,653,527),3598=>array(46,-226,504,527),3599=>array(46,-226,504,527),3600=>array(32,-300,425,524),3601=>array(46,0,573,532),3602=>array(58,0,667,527),3603=>array(46,-9,744,527),3604=>array(58,0,467,527),3605=>array(58,0,478,527),3606=>array(48,-9,458,527),3607=>array(46,0,513,532),3608=>array(58,0,444,524),3609=>array(46,0,557,527),3610=>array(48,0,490,527),3611=>array(48,0,490,746),3612=>array(64,0,492,527),3613=>array(64,0,492,747),3614=>array(46,0,540,527),3615=>array(46,0,540,747),3616=>array(46,-10,504,527),3617=>array(58,0,478,528),3618=>array(64,-9,432,529),3619=>array(32,-10,418,524),3620=>array(56,-225,466,527),3621=>array(56,-8,448,527),3622=>array(46,-226,504,527),3623=>array(24,-8,414,529),3624=>array(58,0,497,556),3625=>array(46,0,568,527),3626=>array(58,-8,479,555),3627=>array(46,0,514,534),3628=>array(46,0,635,725),3629=>array(58,-9,450,527),3630=>array(58,-9,450,569),3631=>array(46,0,386,532),3632=>array(46,-2,356,526),3633=>array(-167,591,143,800),3634=>array(24,0,314,527),3635=>array(-72,0,351,776),3636=>array(-408,546,-82,748),3637=>array(-409,545,-82,801),3638=>array(-408,544,-82,800),3639=>array(-409,544,-82,800),3640=>array(-220,-300,-64,-52),3641=>array(-339,-300,-64,-46),3642=>array(-158,-167,-55,-64),3647=>array(16,-129,551,737),3648=>array(64,-9,240,527),3649=>array(64,-9,475,527),3650=>array(0,-9,401,900),3651=>array(0,-9,380,900),3652=>array(-43,-12,378,900),3653=>array(-20,-224,269,527),3654=>array(46,-226,389,532),3655=>array(-390,567,-46,886),3656=>array(-154,674,-86,847),3657=>array(-338,687,-64,869),3658=>array(-439,686,-64,868),3659=>array(-202,689,-55,837),3660=>array(-250,685,-16,894),3661=>array(-226,697,-83,848),3662=>array(-303,609,-83,900),3663=>array(66,0,592,526),3664=>array(56,-9,472,385),3665=>array(56,-11,472,385),3666=>array(1,-12,515,600),3667=>array(56,-11,538,385),3668=>array(57,-1,586,602),3669=>array(56,-1,596,587),3670=>array(-25,-9,423,599),3671=>array(56,-14,658,608),3672=>array(56,-1,572,598),3673=>array(56,-5,533,598),3674=>array(46,0,548,531),3675=>array(33,-11,1355,534),4256=>array(77,10,462,683),4257=>array(80,18,466,694),4258=>array(77,11,562,686),4259=>array(77,10,644,685),4260=>array(78,10,475,684),4261=>array(77,10,468,685),4262=>array(77,11,463,686),4263=>array(77,11,703,685),4264=>array(77,10,462,685),4265=>array(77,14,464,683),4266=>array(78,0,845,679),4267=>array(77,11,462,685),4268=>array(76,10,462,687),4269=>array(77,12,703,685),4270=>array(77,11,462,685),4271=>array(77,10,462,683),4272=>array(76,11,705,684),4273=>array(29,11,464,687),4274=>array(68,10,560,685),4275=>array(77,10,560,686),4276=>array(71,11,576,685),4277=>array(76,10,460,688),4278=>array(77,10,645,685),4279=>array(77,14,463,685),4280=>array(77,11,511,686),4281=>array(77,11,463,687),4282=>array(77,10,508,685),4283=>array(76,11,462,687),4284=>array(77,10,557,685),4285=>array(77,10,453,685),4286=>array(30,11,464,689),4287=>array(77,-133,559,686),4288=>array(78,11,463,686),4289=>array(75,11,460,685),4290=>array(82,9,563,685),4291=>array(77,14,468,686),4292=>array(77,10,469,685),4293=>array(77,12,462,685),4304=>array(33,10,421,494),4305=>array(33,11,419,687),4306=>array(33,-270,511,396),4307=>array(33,-274,596,395),4308=>array(33,-272,418,397),4309=>array(33,-273,419,396),4310=>array(33,10,419,685),4311=>array(33,10,669,400),4312=>array(33,11,418,396),4313=>array(33,-274,419,394),4314=>array(23,-272,789,396),4315=>array(33,10,418,682),4316=>array(33,10,420,686),4317=>array(33,11,662,396),4318=>array(33,10,416,684),4319=>array(33,-272,415,396),4320=>array(33,10,661,683),4321=>array(33,10,468,686),4322=>array(33,-272,511,395),4323=>array(0,-271,483,398),4324=>array(33,-272,527,400),4325=>array(33,-272,417,687),4326=>array(33,-271,594,395),4327=>array(33,-275,419,396),4328=>array(23,10,457,685),4329=>array(33,10,419,686),4330=>array(33,-271,452,398),4331=>array(33,10,419,686),4332=>array(1,-272,485,686),4333=>array(33,-271,410,684),4334=>array(33,10,467,686),4335=>array(1,-271,582,394),4336=>array(33,9,422,689),4337=>array(33,10,418,684),4338=>array(1,10,482,396),4339=>array(1,-268,384,396),4340=>array(33,-271,420,501),4341=>array(33,11,418,684),4342=>array(33,-279,708,686),4343=>array(33,-273,419,396),4344=>array(33,-273,419,400),4345=>array(33,-256,511,410),4346=>array(33,-198,454,396),4347=>array(12,0,402,573),4348=>array(24,203,315,711),4608=>array(69,-1,492,531),4609=>array(69,-1,747,531),4610=>array(14,-41,544,600),4611=>array(14,1,470,600),4612=>array(14,-6,480,601),4613=>array(10,-10,572,609),4614=>array(69,-1,681,551),4616=>array(49,1,545,604),4617=>array(50,1,705,604),4618=>array(49,-42,764,604),4619=>array(56,1,547,604),4620=>array(50,1,722,604),4621=>array(45,-14,589,597),4622=>array(49,1,885,597),4623=>array(57,-138,795,604),4624=>array(29,1,772,586),4625=>array(29,1,1028,586),4626=>array(29,-42,1025,586),4627=>array(29,1,771,585),4628=>array(29,1,952,586),4629=>array(29,1,772,658),4630=>array(29,1,771,585),4631=>array(29,-140,962,585),4632=>array(57,92,861,421),4633=>array(58,92,1103,421),4634=>array(46,-42,1064,608),4635=>array(46,1,919,612),4636=>array(43,0,987,612),4637=>array(59,0,913,612),4638=>array(77,1,912,613),4639=>array(46,-140,1044,602),4640=>array(62,85,774,464),4641=>array(61,86,1010,464),4642=>array(14,-41,844,569),4643=>array(14,1,690,569),4644=>array(67,0,837,580),4645=>array(28,1,907,579),4646=>array(59,1,774,580),4647=>array(15,-138,839,568),4648=>array(48,-9,538,555),4649=>array(82,1,592,550),4650=>array(49,3,534,550),4651=>array(48,-16,708,551),4652=>array(49,0,654,555),4653=>array(45,-1,538,551),4654=>array(45,-1,638,585),4655=>array(48,-15,735,635),4656=>array(45,-5,532,584),4657=>array(45,-5,787,584),4658=>array(44,-37,785,584),4659=>array(44,-5,532,584),4660=>array(45,-5,719,584),4661=>array(45,-5,532,583),4662=>array(45,-5,532,584),4663=>array(46,-140,781,583),4664=>array(21,-5,624,639),4665=>array(21,-5,781,639),4666=>array(21,-36,816,639),4667=>array(21,-5,624,639),4668=>array(21,-5,733,639),4669=>array(36,-5,650,639),4670=>array(21,-5,624,639),4671=>array(40,-122,796,649),4672=>array(64,-3,635,583),4673=>array(64,-3,654,583),4674=>array(64,-29,640,583),4675=>array(21,-17,692,583),4676=>array(64,-3,635,583),4677=>array(63,-3,635,657),4678=>array(65,1,648,563),4680=>array(64,-3,793,583),4682=>array(64,-3,1009,583),4683=>array(62,-66,634,583),4684=>array(7,-148,634,583),4685=>array(64,-3,950,583),4688=>array(19,-3,682,654),4689=>array(19,-3,682,654),4690=>array(19,-29,682,654),4691=>array(21,-17,741,654),4692=>array(19,-3,682,654),4693=>array(36,-3,694,677),4694=>array(65,1,648,696),4696=>array(19,-3,792,654),4698=>array(20,-3,1009,654),4699=>array(19,-140,682,654),4700=>array(7,-177,682,654),4701=>array(19,-3,950,654),4704=>array(16,-4,489,564),4705=>array(15,-4,727,564),4706=>array(16,-38,742,564),4707=>array(16,-4,489,564),4708=>array(16,-4,683,564),4709=>array(3,-4,737,564),4710=>array(16,-4,489,564),4711=>array(16,-140,707,564),4712=>array(-38,-4,567,712),4713=>array(-38,-4,727,712),4714=>array(-38,-38,742,712),4715=>array(-38,-4,567,712),4716=>array(-38,-4,683,712),4717=>array(3,-4,815,712),4718=>array(-38,-4,567,712),4719=>array(-38,-140,737,712),4720=>array(37,-4,692,583),4721=>array(37,-3,692,583),4722=>array(37,-29,692,583),4723=>array(35,-27,764,583),4724=>array(37,-3,692,583),4725=>array(37,-3,692,657),4726=>array(27,-8,663,563),4727=>array(29,-146,692,583),4728=>array(59,-2,726,634),4729=>array(59,-2,726,634),4730=>array(59,-39,711,634),4731=>array(49,-27,790,634),4732=>array(58,-2,726,622),4733=>array(88,1,765,774),4734=>array(56,1,691,737),4735=>array(59,-146,726,634),4736=>array(31,1,556,579),4737=>array(30,1,759,579),4738=>array(30,-42,767,579),4739=>array(4,-37,549,579),4740=>array(31,1,720,579),4741=>array(55,1,527,580),4742=>array(48,1,846,543),4744=>array(31,1,913,579),4746=>array(31,1,918,579),4747=>array(17,-96,596,579),4748=>array(31,-125,691,579),4749=>array(31,1,830,579),4752=>array(49,-2,346,578),4753=>array(107,-2,532,577),4754=>array(108,-20,476,577),4755=>array(63,1,533,553),4756=>array(93,1,418,577),4757=>array(50,-2,519,551),4758=>array(63,1,614,543),4759=>array(37,-140,619,553),4760=>array(73,-2,705,634),4761=>array(72,-2,736,634),4762=>array(72,-39,709,634),4763=>array(51,1,667,663),4764=>array(43,1,677,649),4765=>array(54,-3,630,660),4766=>array(51,0,718,663),4767=>array(54,-140,648,670),4768=>array(47,0,543,568),4769=>array(47,0,711,568),4770=>array(47,-41,810,568),4771=>array(47,1,543,568),4772=>array(47,0,731,568),4773=>array(40,0,543,588),4774=>array(47,1,544,568),4775=>array(-33,0,654,641),4776=>array(66,-4,518,621),4777=>array(65,-4,721,621),4778=>array(66,-37,756,621),4779=>array(74,-4,518,621),4780=>array(65,-4,683,621),4781=>array(78,-3,518,621),4782=>array(66,-3,518,621),4784=>array(62,1,945,579),4786=>array(62,1,990,579),4787=>array(81,-76,623,579),4788=>array(81,-77,727,579),4789=>array(62,1,872,579),4792=>array(10,-4,693,663),4793=>array(10,-4,896,663),4794=>array(10,-37,931,667),4795=>array(10,-4,693,663),4796=>array(10,-4,858,663),4797=>array(10,-3,693,663),4798=>array(10,-3,693,663),4800=>array(10,-4,1078,663),4802=>array(10,-4,1125,663),4803=>array(-36,-76,711,663),4804=>array(-36,-76,815,663),4805=>array(10,-4,1036,663),4808=>array(64,89,708,474),4809=>array(64,49,871,473),4810=>array(55,-20,643,563),4811=>array(55,-2,643,563),4812=>array(75,-2,630,564),4813=>array(64,89,964,473),4814=>array(52,1,658,553),4816=>array(78,-17,517,509),4817=>array(78,-18,764,509),4818=>array(60,-42,739,599),4819=>array(60,1,560,599),4820=>array(59,0,665,590),4821=>array(65,-13,460,560),4822=>array(67,1,555,590),4824=>array(34,-2,478,539),4825=>array(34,-2,677,539),4826=>array(34,-39,698,539),4827=>array(34,-2,478,539),4828=>array(34,-2,654,539),4829=>array(24,-3,682,539),4830=>array(34,-2,478,539),4831=>array(34,-140,693,538),4832=>array(38,-3,929,565),4833=>array(38,-2,929,565),4834=>array(38,-39,931,565),4835=>array(38,-3,929,565),4836=>array(38,-2,929,565),4837=>array(72,-3,988,655),4838=>array(38,-2,929,564),4839=>array(38,-140,929,565),4840=>array(48,0,446,552),4841=>array(48,0,488,552),4842=>array(48,1,646,552),4843=>array(37,-34,591,580),4844=>array(48,1,588,552),4845=>array(52,-15,617,580),4846=>array(48,1,666,552),4848=>array(37,15,562,566),4849=>array(43,-2,839,580),4850=>array(43,-39,815,580),4851=>array(43,-2,608,580),4852=>array(37,-5,675,566),4853=>array(37,15,709,566),4854=>array(81,1,751,581),4855=>array(43,-140,783,580),4856=>array(37,-121,620,558),4857=>array(22,-118,751,573),4858=>array(23,-154,729,573),4859=>array(22,-118,520,573),4860=>array(37,-173,675,558),4861=>array(37,-121,766,558),4862=>array(52,-116,722,573),4863=>array(22,-168,694,630),4864=>array(37,-121,689,647),4865=>array(22,-118,751,661),4866=>array(23,-154,729,661),4867=>array(22,-118,660,661),4868=>array(37,-173,689,647),4869=>array(37,-121,766,647),4870=>array(52,-116,722,661),4871=>array(11,-168,694,704),4872=>array(35,-2,432,565),4873=>array(35,-2,642,565),4874=>array(35,-39,655,565),4875=>array(21,-60,578,562),4876=>array(35,-3,581,565),4877=>array(39,-3,548,565),4878=>array(51,-3,490,592),4880=>array(35,-2,832,565),4882=>array(35,-3,828,565),4883=>array(20,0,500,565),4884=>array(37,-106,638,565),4885=>array(35,-3,741,565),4888=>array(-10,-2,596,712),4889=>array(-10,-2,700,712),4890=>array(-10,-39,713,712),4891=>array(21,-60,654,712),4892=>array(-10,-2,640,712),4893=>array(-9,-3,596,712),4894=>array(-24,-3,582,654),4896=>array(63,-3,794,428),4897=>array(63,-3,1011,428),4898=>array(63,-42,1015,426),4899=>array(62,-2,753,534),4900=>array(63,-3,983,426),4901=>array(49,1,710,532),4902=>array(63,-21,766,476),4903=>array(63,-169,1013,401),4904=>array(63,-3,1065,448),4905=>array(63,-3,1121,448),4906=>array(63,-97,1131,448),4907=>array(42,-3,993,534),4908=>array(63,-3,1274,448),4909=>array(52,0,990,524),4910=>array(63,-21,1037,477),4911=>array(63,-175,1129,419),4912=>array(70,0,566,606),4913=>array(71,1,743,606),4914=>array(70,-41,805,606),4915=>array(56,1,566,606),4916=>array(70,0,731,606),4917=>array(70,0,742,606),4918=>array(70,1,537,606),4919=>array(56,-138,769,606),4920=>array(70,0,566,522),4921=>array(71,1,743,522),4922=>array(70,-41,805,522),4923=>array(56,1,566,522),4924=>array(70,0,731,522),4925=>array(70,0,742,522),4926=>array(70,1,537,522),4927=>array(56,-138,769,522),4928=>array(90,-19,488,531),4929=>array(91,-18,749,531),4930=>array(34,-31,577,550),4931=>array(34,1,432,550),4932=>array(34,1,516,550),4933=>array(65,-11,446,560),4934=>array(67,1,555,590),4936=>array(20,-23,712,585),4937=>array(73,1,655,583),4938=>array(20,-26,671,585),4939=>array(73,1,650,583),4940=>array(20,-81,825,585),4941=>array(49,1,650,551),4942=>array(42,-8,683,586),4943=>array(34,-140,650,583),4944=>array(38,-3,722,612),4945=>array(38,-4,722,612),4946=>array(38,-42,722,612),4947=>array(9,-47,779,601),4948=>array(38,-3,722,612),4949=>array(67,-2,751,613),4950=>array(29,-3,808,612),4951=>array(38,-126,722,612),4952=>array(49,4,685,625),4953=>array(46,-29,920,693),4954=>array(20,-26,683,625),4961=>array(48,153,184,509),4962=>array(166,153,533,509),4963=>array(58,88,348,580),4964=>array(58,50,349,645),4965=>array(59,105,466,557),4966=>array(48,153,465,509),4967=>array(48,40,184,622),4968=>array(48,40,650,622),4969=>array(50,-140,636,648),4970=>array(35,-140,562,662),4971=>array(76,-140,589,663),4972=>array(76,-140,589,663),4973=>array(50,-140,563,663),4974=>array(19,-160,562,651),4975=>array(79,-160,655,651),4976=>array(81,-166,706,657),4977=>array(79,-140,591,663),4978=>array(50,-160,562,651),4979=>array(37,-156,663,660),4980=>array(102,-156,677,660),4981=>array(72,-154,658,648),4982=>array(54,-154,508,648),4983=>array(67,-156,722,660),4984=>array(49,-156,645,660),4985=>array(37,-154,866,648),4986=>array(50,-156,547,660),4987=>array(21,-156,547,660),4988=>array(48,-156,825,660),5024=>array(18,0,687,662),5025=>array(19,-9,654,662),5026=>array(8,0,584,662),5027=>array(0,-9,640,662),5028=>array(28,-9,778,671),5029=>array(-3,0,277,670),5030=>array(32,-14,492,676),5031=>array(37,-14,517,676),5032=>array(20,0,440,662),5033=>array(24,-18,692,662),5034=>array(-12,0,679,674),5035=>array(-1,-14,359,662),5036=>array(18,0,603,662),5037=>array(3,10,685,672),5038=>array(37,0,437,676),5039=>array(-12,-14,573,667),5040=>array(18,0,448,662),5041=>array(18,0,552,662),5042=>array(6,-14,706,676),5043=>array(-12,-11,915,662),5044=>array(12,-14,482,676),5045=>array(-9,0,510,676),5046=>array(20,-14,632,676),5047=>array(16,0,867,662),5048=>array(40,0,481,676),5049=>array(-3,-14,778,670),5050=>array(21,-14,933,676),5051=>array(18,0,701,662),5052=>array(-3,-13,571,662),5053=>array(19,-14,709,662),5054=>array(20,-14,674,676),5055=>array(-6,-9,614,662),5056=>array(19,-14,696,676),5057=>array(-12,-14,708,680),5058=>array(18,0,600,662),5059=>array(21,0,609,662),5060=>array(9,0,541,680),5061=>array(20,-14,886,676),5062=>array(44,0,620,662),5063=>array(-7,-14,653,680),5064=>array(17,-14,657,680),5065=>array(-2,0,935,671),5066=>array(-6,-18,654,680),5067=>array(22,-14,519,680),5068=>array(-2,-14,669,662),5069=>array(13,-14,703,680),5070=>array(-11,0,505,662),5071=>array(19,0,545,662),5072=>array(1,0,512,662),5073=>array(11,-14,663,680),5074=>array(21,0,600,662),5075=>array(-2,-14,518,662),5076=>array(-12,-11,949,662),5077=>array(26,-14,519,680),5078=>array(-2,-14,578,662),5079=>array(-12,-18,628,660),5080=>array(-12,-18,628,660),5081=>array(-12,-11,669,662),5082=>array(31,-14,480,676),5083=>array(28,-14,789,680),5084=>array(-6,-9,634,671),5085=>array(-12,0,574,675),5086=>array(18,0,604,662),5087=>array(20,-14,625,676),5088=>array(15,-14,655,662),5089=>array(-12,-14,688,676),5090=>array(19,0,545,662),5091=>array(25,-14,600,680),5092=>array(13,0,743,660),5093=>array(18,0,752,662),5094=>array(18,0,707,662),5095=>array(8,-14,468,662),5096=>array(22,-14,782,680),5097=>array(20,-14,800,680),5098=>array(8,-14,768,680),5099=>array(25,-14,665,680),5100=>array(28,-14,688,680),5101=>array(9,-14,490,680),5102=>array(26,-14,486,680),5103=>array(-7,-14,695,680),5104=>array(-12,-101,528,680),5105=>array(-12,-9,752,662),5106=>array(-12,0,610,680),5107=>array(20,-14,808,677),5108=>array(17,0,593,662),5920=>array(0,0,502,700),5921=>array(0,0,502,700),5922=>array(3,8,497,693),5923=>array(15,2,454,687),5924=>array(6,4,480,693),5925=>array(69,0,502,700),5926=>array(9,1,543,701),5927=>array(5,0,502,700),5928=>array(11,4,495,693),5929=>array(4,0,502,699),5930=>array(3,8,502,688),5931=>array(3,0,502,700),5932=>array(6,4,480,693),5933=>array(0,357,487,398),5934=>array(6,-102,480,693),5935=>array(0,0,784,702),5936=>array(6,-102,480,693),5937=>array(22,0,502,700),5938=>array(-275,715,-56,756),5939=>array(-279,-1,-60,40),5940=>array(-668,-177,91,703),5941=>array(65,11,192,696),5942=>array(65,11,352,696),6480=>array(19,0,449,557),6481=>array(39,-3,454,562),6482=>array(47,0,469,557),6483=>array(46,-8,593,555),6484=>array(41,-3,602,556),6485=>array(66,0,538,555),6486=>array(52,-4,642,554),6487=>array(52,-4,642,554),6488=>array(62,-10,526,557),6489=>array(63,-5,486,558),6490=>array(59,-6,629,559),6491=>array(58,-5,475,557),6492=>array(59,-190,607,552),6493=>array(46,-5,465,545),6494=>array(63,-109,632,557),6495=>array(41,-109,604,556),6496=>array(50,-221,439,559),6497=>array(41,-202,587,559),6498=>array(66,0,497,555),6499=>array(45,-1,200,897),6500=>array(58,0,428,894),6501=>array(58,0,428,894),6502=>array(58,-230,428,894),6503=>array(58,-225,405,557),6504=>array(58,-221,397,557),6505=>array(58,-287,428,560),6506=>array(58,-237,432,894),6507=>array(60,-237,433,894),6508=>array(70,0,449,886),6509=>array(57,-108,615,559),6512=>array(43,0,583,557),6513=>array(61,0,438,558),6514=>array(61,0,529,557),6515=>array(52,-4,446,564),6516=>array(54,0,450,557),6656=>array(57,37,720,476),6657=>array(61,4,844,602),6658=>array(53,18,638,536),6659=>array(47,4,740,415),6660=>array(61,34,844,602),6661=>array(65,0,611,601),6662=>array(49,45,767,466),6663=>array(44,25,814,547),6664=>array(36,20,702,430),6665=>array(49,45,767,466),6666=>array(36,0,702,430),6667=>array(26,9,834,549),6668=>array(23,20,900,578),6669=>array(36,24,755,427),6670=>array(23,15,1081,404),6671=>array(41,14,1138,371),6672=>array(17,2,1042,367),6673=>array(60,28,634,525),6674=>array(28,17,1127,496),6675=>array(17,10,1042,367),6676=>array(79,19,593,457),6677=>array(17,2,1042,367),6678=>array(53,21,958,454),6679=>array(-662,520,-525,657),6680=>array(-232,-194,-95,-57),6681=>array(0,-67,388,479),6682=>array(2,5,537,412),6683=>array(-691,525,-482,882),6686=>array(2,7,554,458),6687=>array(60,0,463,698),7424=>array(5,0,492,460),7425=>array(5,0,644,450),7426=>array(33,-10,627,460),7427=>array(10,0,431,450),7428=>array(25,-10,444,461),7429=>array(10,0,500,450),7430=>array(10,0,500,450),7431=>array(10,0,432,450),7432=>array(20,-10,378,461),7433=>array(25,-199,262,484),7434=>array(0,-12,292,450),7435=>array(10,0,508,450),7436=>array(10,0,434,450),7437=>array(10,0,632,450),7438=>array(10,-8,529,450),7439=>array(25,-10,484,461),7440=>array(7,-9,413,455),7441=>array(18,-2,489,440),7442=>array(18,28,489,416),7443=>array(5,-5,668,436),7444=>array(24,-10,684,460),7445=>array(23,-10,349,454),7446=>array(22,229,461,460),7447=>array(22,-13,461,218),7448=>array(10,0,401,450),7449=>array(18,-1,483,450),7450=>array(20,0,484,450),7451=>array(10,0,403,450),7452=>array(3,-14,509,450),7453=>array(14,2,474,472),7454=>array(14,1,646,472),7455=>array(20,-83,481,677),7456=>array(5,-8,497,450),7457=>array(5,-14,684,450),7458=>array(10,0,429,450),7459=>array(9,-10,333,444),7460=>array(39,-10,412,675),7461=>array(6,-7,672,670),7462=>array(10,0,368,444),7463=>array(10,0,474,452),7464=>array(10,0,468,444),7465=>array(10,0,363,444),7466=>array(10,0,518,448),7467=>array(6,-9,447,444),7468=>array(8,390,495,850),7469=>array(5,390,644,840),7470=>array(10,390,431,840),7471=>array(10,390,431,840),7472=>array(10,390,500,840),7473=>array(10,390,432,840),7474=>array(5,390,427,840),7475=>array(10,376,484,851),7476=>array(8,390,519,840),7477=>array(13,390,248,840),7478=>array(0,378,292,840),7479=>array(10,390,508,840),7480=>array(10,390,434,840),7481=>array(8,390,630,840),7482=>array(8,382,527,840),7483=>array(10,382,529,840),7484=>array(12,380,471,851),7485=>array(12,380,338,844),7486=>array(10,390,401,840),7487=>array(10,390,474,840),7488=>array(8,390,401,840),7489=>array(10,376,516,840),7490=>array(5,376,684,840),7491=>array(21,382,295,698),7492=>array(2,382,276,698),7493=>array(16,382,327,698),7494=>array(22,382,421,698),7495=>array(2,382,315,846),7496=>array(16,382,327,845),7497=>array(15,382,283,698),7498=>array(15,380,283,696),7499=>array(12,382,253,698),7500=>array(7,381,248,697),7501=>array(17,243,313,698),7502=>array(11,233,169,690),7503=>array(5,390,337,845),7504=>array(11,390,517,698),7505=>array(10,243,285,699),7506=>array(17,382,315,698),7507=>array(15,382,275,697),7508=>array(22,576,461,807),7509=>array(22,380,461,611),7510=>array(3,245,315,698),7511=>array(9,382,186,776),7512=>array(6,382,319,690),7513=>array(8,390,316,703),7514=>array(11,383,517,691),7515=>array(13,382,318,690),7516=>array(3,381,437,822),7517=>array(43,253,325,841),7518=>array(12,239,309,699),7519=>array(29,381,329,840),7520=>array(26,239,404,699),7521=>array(12,199,309,649),7522=>array(11,-150,169,307),7523=>array(2,-150,222,158),7524=>array(6,-158,319,150),7525=>array(13,-158,318,150),7526=>array(43,-284,325,304),7527=>array(12,-300,309,160),7528=>array(33,-298,327,160),7529=>array(26,-298,404,162),7530=>array(12,-290,309,160),7531=>array(9,-10,744,460),7532=>array(-68,-10,468,683),7533=>array(27,-10,541,683),7534=>array(-8,0,383,683),7535=>array(9,0,780,460),7536=>array(7,0,486,460),7537=>array(-48,-217,470,460),7538=>array(-34,0,335,460),7539=>array(-9,0,384,461),7540=>array(10,-10,356,459),7541=>array(-46,-10,300,579),7542=>array(27,0,418,450),7543=>array(41,-218,483,460),7544=>array(9,390,467,834),7545=>array(28,-113,419,450),7546=>array(-9,-14,761,683),7547=>array(12,0,268,450),7548=>array(15,-10,304,460),7549=>array(5,-217,492,460),7550=>array(8,-14,514,450),7551=>array(8,-10,492,461),7552=>array(3,-231,468,683),7553=>array(27,-231,491,683),7554=>array(20,-231,383,683),7555=>array(28,-231,650,460),7556=>array(7,-231,505,683),7557=>array(19,-231,257,683),7558=>array(16,-231,781,460),7559=>array(16,-231,486,460),7560=>array(5,-231,470,460),7561=>array(5,-231,335,460),7562=>array(51,-231,348,459),7563=>array(-76,-231,384,683),7564=>array(19,-231,477,450),7565=>array(17,-231,479,450),7566=>array(27,-231,418,450),7567=>array(37,-231,576,460),7568=>array(16,-231,613,460),7569=>array(27,-230,625,683),7570=>array(25,-231,564,460),7571=>array(41,-231,533,461),7572=>array(41,-231,399,461),7573=>array(25,-231,613,460),7574=>array(16,-231,387,683),7575=>array(25,-231,412,460),7576=>array(-50,-231,410,683),7577=>array(9,-230,613,450),7578=>array(6,-230,362,450),7579=>array(-6,383,305,699),7580=>array(25,382,285,697),7581=>array(24,321,276,699),7582=>array(21,382,318,849),7583=>array(18,382,259,698),7584=>array(13,390,255,848),7585=>array(3,381,245,839),7586=>array(17,243,313,698),7587=>array(6,237,325,692),7588=>array(6,391,189,849),7589=>array(14,384,205,700),7590=>array(10,390,168,692),7591=>array(11,390,169,691),7592=>array(2,235,218,848),7593=>array(4,244,234,849),7594=>array(10,235,171,848),7595=>array(4,390,289,692),7596=>array(4,243,467,699),7597=>array(8,234,518,693),7598=>array(48,243,406,699),7599=>array(7,243,368,699),7600=>array(4,384,353,692),7601=>array(26,382,323,698),7602=>array(21,270,393,848),7603=>array(6,243,206,698),7604=>array(50,293,292,898),7605=>array(11,244,190,779),7606=>array(4,383,340,692),7607=>array(16,383,321,692),7608=>array(5,381,345,693),7609=>array(10,383,309,699),7610=>array(13,390,318,698),7611=>array(8,390,269,690),7612=>array(-4,243,379,692),7613=>array(-4,321,264,692),7614=>array(14,249,253,692),7615=>array(24,383,314,841),7616=>array(-365,491,-26,720),7617=>array(-365,481,-26,720),7619=>array(-538,534,0,736),7626=>array(-267,-238,-121,-34),7627=>array(-593,507,0,664),7628=>array(-593,507,0,664),7629=>array(-295,507,295,674),7630=>array(-260,507,-75,672),7631=>array(-337,-290,-103,-36),7635=>array(-234,504,-40,802),7636=>array(-306,495,-44,703),7637=>array(-329,495,-24,703),7638=>array(-289,493,-54,703),7639=>array(-229,505,-58,803),7640=>array(-289,495,-94,795),7641=>array(-289,495,-94,802),7642=>array(-259,492,-63,794),7643=>array(-324,490,-10,805),7644=>array(-277,500,-57,801),7645=>array(-222,500,-117,801),7646=>array(-334,500,-53,797),7647=>array(-424,500,-12,797),7648=>array(-273,500,-66,704),7649=>array(-354,494,-10,797),7650=>array(-324,500,-17,797),7651=>array(-261,500,-108,797),7652=>array(-229,494,-96,704),7653=>array(-246,500,-85,801),7654=>array(-289,500,-115,698),7676=>array(-286,-176,286,-27),7677=>array(-437,-256,-107,-23),7678=>array(-341,504,-87,702),7679=>array(-509,-229,0,-31),7680=>array(15,-247,706,674),7681=>array(25,-247,430,460),7682=>array(15,0,591,817),7683=>array(10,-10,475,683),7684=>array(15,-171,591,662),7685=>array(10,-171,475,683),7686=>array(15,-116,591,662),7687=>array(10,-120,475,683),7688=>array(35,-215,640,890),7689=>array(25,-215,412,676),7690=>array(15,0,684,816),7691=>array(25,-10,489,683),7692=>array(15,-171,684,662),7693=>array(25,-171,489,683),7694=>array(15,-110,684,662),7695=>array(25,-119,489,683),7696=>array(14,-212,683,663),7697=>array(25,-217,489,683),7698=>array(15,-219,684,662),7699=>array(25,-229,489,683),7700=>array(12,0,597,900),7701=>array(25,-10,424,800),7702=>array(12,0,597,900),7703=>array(25,-10,424,800),7704=>array(15,-219,600,662),7705=>array(25,-229,424,460),7706=>array(15,-160,600,662),7707=>array(25,-170,424,460),7708=>array(12,-215,597,876),7709=>array(25,-215,424,667),7710=>array(15,0,549,812),7711=>array(10,0,373,825),7712=>array(35,-14,712,800),7713=>array(15,-218,457,566),7714=>array(15,0,698,813),7715=>array(10,0,488,800),7716=>array(15,-171,698,662),7717=>array(10,-171,488,683),7718=>array(15,0,698,814),7719=>array(10,0,488,825),7720=>array(15,-214,698,662),7721=>array(10,-214,488,683),7722=>array(15,-197,698,662),7723=>array(10,-197,488,683),7724=>array(1,-162,331,662),7725=>array(-31,-162,299,683),7726=>array(10,0,340,900),7727=>array(7,0,278,813),7728=>array(15,0,704,890),7729=>array(10,0,508,897),7730=>array(15,-171,704,662),7731=>array(10,-171,508,683),7732=>array(15,-110,704,662),7733=>array(10,-121,508,683),7734=>array(15,-171,601,662),7735=>array(10,-171,248,683),7736=>array(15,-171,601,800),7737=>array(-18,-171,293,800),7738=>array(15,-112,601,662),7739=>array(-22,-111,289,683),7740=>array(15,-219,601,662),7741=>array(-17,-219,294,683),7742=>array(15,0,866,890),7743=>array(10,0,769,676),7744=>array(15,0,866,811),7745=>array(10,0,769,610),7746=>array(15,-171,866,662),7747=>array(10,-171,769,460),7748=>array(15,-11,710,812),7749=>array(10,0,479,609),7750=>array(15,-171,710,662),7751=>array(10,-171,479,460),7752=>array(15,-123,710,662),7753=>array(10,-115,479,460),7754=>array(15,-230,710,662),7755=>array(10,-219,479,460),7756=>array(34,-13,688,900),7757=>array(25,-10,466,801),7758=>array(35,-14,689,900),7759=>array(25,-10,466,777),7760=>array(34,-13,688,899),7761=>array(25,-10,466,800),7762=>array(34,-13,688,900),7763=>array(25,-10,466,800),7764=>array(15,0,541,873),7765=>array(10,-217,475,661),7766=>array(15,0,541,812),7767=>array(10,-217,475,613),7768=>array(15,0,657,812),7769=>array(10,0,340,608),7770=>array(15,-171,657,662),7771=>array(10,-171,340,460),7772=>array(15,-171,657,800),7773=>array(10,-171,340,574),7774=>array(15,-115,657,662),7775=>array(10,-116,340,460),7776=>array(30,-14,479,825),7777=>array(35,-10,332,615),7778=>array(30,-171,479,676),7779=>array(35,-171,332,459),7780=>array(30,-13,479,900),7781=>array(35,-10,332,759),7782=>array(30,-13,479,900),7783=>array(23,-10,334,825),7784=>array(30,-171,479,825),7785=>array(35,-171,332,611),7786=>array(15,0,591,801),7787=>array(17,-10,283,718),7788=>array(15,-171,591,662),7789=>array(17,-171,283,579),7790=>array(15,-114,591,662),7791=>array(-9,-118,302,579),7792=>array(15,-219,591,662),7793=>array(-9,-229,302,579),7794=>array(15,-153,706,662),7795=>array(10,-149,480,450),7796=>array(15,-181,706,662),7797=>array(10,-168,480,450),7798=>array(15,-233,706,662),7799=>array(10,-229,480,450),7800=>array(15,-13,706,900),7801=>array(10,-10,480,817),7802=>array(15,-14,706,900),7803=>array(10,-10,480,727),7804=>array(10,-11,691,806),7805=>array(5,-14,463,616),7806=>array(10,-171,691,662),7807=>array(5,-171,463,450),7808=>array(10,-11,937,890),7809=>array(5,-14,678,676),7810=>array(10,-11,937,873),7811=>array(5,-14,678,676),7812=>array(10,-11,937,813),7813=>array(5,-14,678,620),7814=>array(10,-11,937,811),7815=>array(5,-14,678,613),7816=>array(10,-171,937,662),7817=>array(5,-171,678,450),7818=>array(10,0,704,812),7819=>array(10,0,472,609),7820=>array(10,0,704,801),7821=>array(10,0,472,589),7822=>array(10,0,691,813),7823=>array(5,-218,466,617),7824=>array(10,0,598,869),7825=>array(10,0,401,657),7826=>array(10,-171,598,662),7827=>array(10,-171,401,450),7828=>array(10,-118,598,662),7829=>array(10,-122,401,450),7830=>array(10,-94,488,683),7831=>array(-3,-10,295,718),7832=>array(5,-14,678,696),7833=>array(5,-218,466,696),7834=>array(25,-10,430,707),7835=>array(10,0,373,825),7836=>array(10,0,381,683),7837=>array(10,0,373,683),7838=>array(15,-9,624,683),7839=>array(35,-6,481,677),7840=>array(15,-171,706,674),7841=>array(25,-171,430,460),7842=>array(15,0,706,878),7843=>array(25,-10,430,686),7844=>array(15,0,711,900),7845=>array(25,-10,501,800),7846=>array(1,0,706,900),7847=>array(-88,-10,430,800),7848=>array(15,0,706,872),7849=>array(25,-10,454,800),7850=>array(15,0,706,899),7851=>array(25,-10,430,820),7852=>array(15,-171,706,848),7853=>array(25,-171,430,657),7854=>array(15,0,706,900),7855=>array(25,-10,430,824),7856=>array(15,0,706,899),7857=>array(25,-10,430,848),7858=>array(15,0,706,900),7859=>array(25,-10,430,816),7860=>array(15,0,706,899),7861=>array(25,-10,430,798),7862=>array(15,-171,706,876),7863=>array(25,-171,430,672),7864=>array(15,-171,600,662),7865=>array(25,-171,424,460),7866=>array(15,0,600,870),7867=>array(25,-10,424,686),7868=>array(15,0,600,802),7869=>array(25,-10,424,618),7870=>array(15,0,624,899),7871=>array(25,-10,517,801),7872=>array(-29,0,600,899),7873=>array(-70,-10,424,800),7874=>array(15,0,613,869),7875=>array(25,-10,444,800),7876=>array(15,0,600,900),7877=>array(25,-10,424,820),7878=>array(15,-171,600,869),7879=>array(25,-171,424,657),7880=>array(15,0,312,889),7881=>array(16,0,253,677),7882=>array(15,-171,312,662),7883=>array(16,-171,253,683),7884=>array(35,-171,689,676),7885=>array(25,-171,466,460),7886=>array(35,-14,689,900),7887=>array(25,-10,466,684),7888=>array(35,-14,719,900),7889=>array(25,-10,554,800),7890=>array(2,-14,689,899),7891=>array(-42,-10,466,800),7892=>array(35,-14,689,872),7893=>array(25,-10,484,800),7894=>array(35,-13,689,900),7895=>array(25,-10,466,820),7896=>array(35,-171,689,853),7897=>array(25,-171,466,657),7898=>array(35,-14,709,890),7899=>array(25,-10,532,676),7900=>array(35,-14,709,890),7901=>array(25,-10,532,676),7902=>array(35,-14,709,900),7903=>array(25,-10,532,684),7904=>array(35,-14,709,845),7905=>array(25,-10,532,618),7906=>array(35,-173,709,796),7907=>array(25,-169,532,552),7908=>array(15,-171,706,662),7909=>array(10,-171,480,450),7910=>array(15,-14,706,898),7911=>array(10,-10,480,686),7912=>array(15,-14,777,890),7913=>array(10,-10,539,676),7914=>array(15,-14,777,890),7915=>array(10,-10,539,676),7916=>array(15,-14,777,898),7917=>array(10,-10,539,686),7918=>array(15,-14,777,825),7919=>array(10,-10,539,628),7920=>array(15,-149,777,796),7921=>array(10,-149,539,552),7922=>array(10,0,691,890),7923=>array(5,-218,466,676),7924=>array(10,-171,691,662),7925=>array(5,-218,466,450),7926=>array(10,0,691,898),7927=>array(5,-218,466,686),7928=>array(10,0,691,796),7929=>array(5,-218,466,609),7930=>array(15,0,898,662),7931=>array(10,0,492,683),7932=>array(35,-14,469,676),7933=>array(23,-10,319,460),7934=>array(6,-10,703,662),7935=>array(6,-201,505,450),7936=>array(41,-10,558,736),7937=>array(41,-10,558,734),7938=>array(41,-10,558,738),7939=>array(41,-10,558,735),7940=>array(41,-10,558,736),7941=>array(41,-10,558,737),7942=>array(41,-10,558,801),7943=>array(41,-10,558,801),7944=>array(15,0,706,689),7945=>array(15,0,706,687),7946=>array(-7,0,796,689),7947=>array(-8,0,800,687),7948=>array(-9,0,748,690),7949=>array(-8,1,750,686),7950=>array(-9,0,705,791),7951=>array(-9,0,707,788),7952=>array(41,-10,399,736),7953=>array(41,-10,399,734),7954=>array(22,-10,399,738),7955=>array(41,-10,399,735),7956=>array(41,-10,399,736),7957=>array(41,-10,399,737),7960=>array(1,0,758,686),7961=>array(-7,0,758,684),7962=>array(-14,0,890,689),7963=>array(-8,0,908,686),7964=>array(-8,0,929,692),7965=>array(-8,0,924,691),7968=>array(15,-224,471,736),7969=>array(15,-224,471,734),7970=>array(15,-224,471,738),7971=>array(15,-224,471,735),7972=>array(15,-224,471,736),7973=>array(15,-224,471,737),7974=>array(15,-224,471,800),7975=>array(15,-224,471,800),7976=>array(-12,0,826,689),7977=>array(-13,0,840,683),7978=>array(-14,0,965,694),7979=>array(-8,0,991,687),7980=>array(-8,0,1007,687),7981=>array(-8,0,1010,691),7982=>array(-21,0,899,794),7983=>array(-20,0,902,789),7984=>array(36,-10,271,736),7985=>array(60,-10,271,734),7986=>array(-9,-10,287,738),7987=>array(-9,-10,305,735),7988=>array(-9,-10,285,736),7989=>array(-9,-10,291,737),7990=>array(-10,-10,320,804),7991=>array(-17,-10,313,801),7992=>array(-14,0,441,686),7993=>array(-6,0,473,686),7994=>array(-14,0,597,690),7995=>array(-7,0,620,686),7996=>array(-8,0,622,691),7997=>array(-7,0,627,689),7998=>array(-23,0,518,786),7999=>array(-9,0,533,788),8000=>array(25,-10,466,736),8001=>array(25,-10,466,734),8002=>array(25,-10,466,738),8003=>array(25,-10,466,735),8004=>array(25,-10,466,736),8005=>array(25,-10,466,737),8008=>array(3,-14,781,687),8009=>array(-6,-14,795,686),8010=>array(-14,-14,940,689),8011=>array(-8,-14,965,687),8012=>array(-8,-14,909,690),8013=>array(-8,-14,925,688),8016=>array(19,-10,464,736),8017=>array(19,-10,464,734),8018=>array(19,-10,464,738),8019=>array(19,-10,464,735),8020=>array(19,-10,464,736),8021=>array(19,-10,464,737),8022=>array(19,-10,464,800),8023=>array(19,-10,464,800),8025=>array(-8,0,777,685),8027=>array(-8,0,947,684),8029=>array(-9,0,948,686),8031=>array(-14,0,854,798),8032=>array(41,-10,652,736),8033=>array(41,-10,652,734),8034=>array(41,-10,652,738),8035=>array(41,-10,652,735),8036=>array(41,-10,652,736),8037=>array(41,-10,652,737),8038=>array(41,-10,652,801),8039=>array(41,-10,652,800),8040=>array(-8,0,801,687),8041=>array(-9,0,808,686),8042=>array(-14,0,971,691),8043=>array(-8,0,989,686),8044=>array(-8,0,939,690),8045=>array(-8,0,951,689),8046=>array(-23,0,870,792),8047=>array(-28,0,861,791),8048=>array(41,-10,558,727),8049=>array(41,-10,558,728),8050=>array(41,-10,399,724),8051=>array(41,-10,399,725),8052=>array(15,-224,471,722),8053=>array(15,-224,471,725),8054=>array(3,-10,271,725),8055=>array(65,-10,271,725),8056=>array(25,-10,466,724),8057=>array(25,-10,466,723),8058=>array(19,-10,464,723),8059=>array(19,-10,464,720),8060=>array(41,-10,652,721),8061=>array(41,-10,652,720),8064=>array(41,-200,558,736),8065=>array(41,-200,558,734),8066=>array(41,-200,558,738),8067=>array(41,-200,558,735),8068=>array(41,-200,558,736),8069=>array(41,-200,558,737),8070=>array(41,-200,558,800),8071=>array(41,-200,558,800),8072=>array(15,0,873,689),8073=>array(15,0,874,687),8074=>array(-10,0,969,689),8075=>array(-8,0,976,687),8076=>array(-11,0,928,690),8077=>array(-8,0,933,686),8078=>array(-15,0,869,791),8079=>array(-19,0,871,788),8080=>array(15,-224,471,736),8081=>array(15,-224,471,734),8082=>array(15,-224,471,738),8083=>array(15,-224,471,735),8084=>array(15,-224,471,736),8085=>array(15,-224,471,737),8086=>array(15,-224,471,802),8087=>array(15,-224,471,801),8088=>array(-12,0,1002,689),8089=>array(-13,0,1011,683),8090=>array(-14,0,1138,694),8091=>array(-8,0,1164,687),8092=>array(-8,0,1180,687),8093=>array(-8,0,1184,691),8094=>array(-21,0,1073,794),8095=>array(-20,0,1073,789),8096=>array(41,-200,652,736),8097=>array(41,-200,652,734),8098=>array(41,-200,652,738),8099=>array(41,-200,652,735),8100=>array(41,-200,652,736),8101=>array(41,-200,652,737),8102=>array(41,-200,652,805),8103=>array(41,-200,652,802),8104=>array(-4,0,1019,687),8105=>array(-9,0,1025,686),8106=>array(-14,0,1195,691),8107=>array(-8,0,1214,686),8108=>array(-8,0,1161,690),8109=>array(-8,0,1171,689),8110=>array(-23,0,1083,792),8111=>array(-28,0,1076,791),8112=>array(41,-10,558,672),8113=>array(41,-10,558,584),8114=>array(41,-200,558,720),8115=>array(41,-200,558,461),8116=>array(41,-200,558,721),8118=>array(41,-10,558,666),8119=>array(41,-200,558,666),8120=>array(15,0,706,883),8121=>array(15,0,706,780),8122=>array(15,0,706,689),8123=>array(15,0,706,687),8124=>array(15,0,874,674),8125=>array(57,526,196,742),8126=>array(129,0,296,148),8127=>array(168,521,323,736),8128=>array(102,599,432,705),8129=>array(102,552,432,799),8130=>array(15,-224,471,722),8131=>array(15,-224,471,461),8132=>array(15,-224,471,723),8134=>array(15,-224,471,671),8135=>array(15,-224,471,673),8136=>array(4,0,749,684),8137=>array(24,0,788,687),8138=>array(1,0,805,684),8139=>array(19,0,874,689),8140=>array(15,0,868,662),8141=>array(70,520,366,738),8142=>array(108,518,402,736),8143=>array(96,546,426,877),8144=>array(-16,-10,271,672),8145=>array(-48,-10,271,584),8146=>array(-40,-10,272,751),8147=>array(-32,-10,275,752),8150=>array(-30,-10,300,665),8151=>array(-30,-10,300,799),8152=>array(15,0,312,859),8153=>array(11,0,322,756),8154=>array(1,0,419,697),8155=>array(17,0,499,685),8157=>array(79,519,393,735),8158=>array(101,519,401,737),8159=>array(93,541,423,874),8160=>array(19,-10,464,678),8161=>array(19,-10,464,584),8162=>array(19,-10,464,747),8163=>array(19,-10,464,747),8164=>array(50,-221,487,736),8165=>array(50,-221,487,734),8166=>array(19,-10,464,667),8167=>array(19,-10,464,776),8168=>array(15,0,651,837),8169=>array(15,0,651,798),8170=>array(1,0,775,690),8171=>array(16,0,787,687),8172=>array(-7,0,700,667),8173=>array(11,542,323,756),8174=>array(13,515,320,729),8175=>array(197,520,315,735),8178=>array(41,-200,652,723),8179=>array(41,-200,652,461),8180=>array(41,-200,652,723),8182=>array(41,-10,652,663),8183=>array(41,-200,652,667),8184=>array(0,-14,782,679),8185=>array(60,-14,849,676),8186=>array(0,0,801,676),8187=>array(21,0,811,676),8188=>array(15,0,913,676),8189=>array(213,516,341,731),8190=>array(192,519,347,734),8208=>array(39,194,285,257),8209=>array(39,194,285,257),8210=>array(0,194,500,257),8211=>array(0,194,500,257),8212=>array(0,194,1000,257),8213=>array(0,194,1000,257),8214=>array(72,-157,248,662),8215=>array(92,-196,403,-42),8216=>array(31,433,170,676),8217=>array(30,433,169,676),8218=>array(30,-141,169,102),8219=>array(31,434,170,677),8220=>array(37,433,370,676),8221=>array(30,433,363,676),8222=>array(30,-141,361,102),8223=>array(30,434,363,677),8224=>array(59,-149,443,676),8225=>array(58,-153,442,676),8226=>array(65,191,335,461),8227=>array(70,160,340,463),8228=>array(260,1,359,100),8229=>array(136,1,484,100),8230=>array(117,1,882,100),8231=>array(75,183,174,282),8240=>array(7,-19,994,706),8241=>array(7,-19,1356,706),8242=>array(27,459,228,735),8243=>array(27,459,418,735),8244=>array(23,459,606,735),8245=>array(22,459,223,735),8246=>array(32,459,423,735),8247=>array(26,459,609,735),8248=>array(24,-162,446,203),8249=>array(14,33,236,416),8250=>array(14,33,236,416),8251=>array(21,-26,610,563),8252=>array(130,-9,570,676),8253=>array(68,-8,414,676),8254=>array(0,547,500,597),8255=>array(44,-276,897,-20),8256=>array(53,644,906,900),8257=>array(-9,-14,287,676),8258=>array(68,-89,864,679),8259=>array(65,233,335,381),8260=>array(-168,-14,331,676),8261=>array(88,-181,253,680),8262=>array(131,-181,296,680),8263=>array(68,-8,858,676),8264=>array(68,-9,681,676),8265=>array(130,-9,747,676),8266=>array(20,-8,449,450),8267=>array(-22,-154,450,662),8268=>array(38,182,362,450),8269=>array(38,182,362,450),8270=>array(69,-11,432,400),8271=>array(80,-141,219,459),8272=>array(14,-3,867,801),8273=>array(69,-10,432,875),8274=>array(0,-14,499,676),8275=>array(1,293,497,399),8276=>array(44,-275,897,-19),8277=>array(23,-10,489,456),8278=>array(10,1,400,574),8279=>array(24,459,808,735),8280=>array(12,1,609,665),8281=>array(10,1,610,574),8282=>array(40,1,139,779),8283=>array(12,-202,609,802),8284=>array(30,0,534,506),8285=>array(40,1,139,779),8286=>array(40,1,139,779),8304=>array(6,380,314,850),8305=>array(11,390,169,847),8308=>array(5,390,314,850),8309=>array(22,380,298,858),8310=>array(13,380,308,853),8311=>array(14,385,305,840),8312=>array(28,380,293,850),8313=>array(11,378,306,851),8314=>array(8,440,331,764),8315=>array(8,576,331,628),8316=>array(8,522,331,676),8317=>array(32,297,204,869),8318=>array(11,297,183,869),8319=>array(11,390,323,698),8320=>array(6,-160,314,310),8321=>array(67,-150,260,310),8322=>array(12,-150,315,310),8323=>array(29,-160,294,310),8324=>array(5,-150,314,310),8325=>array(22,-160,298,318),8326=>array(13,-160,308,313),8327=>array(14,-155,305,300),8328=>array(28,-160,293,310),8329=>array(11,-162,306,311),8330=>array(8,-110,331,214),8331=>array(8,26,331,78),8332=>array(8,-28,331,126),8333=>array(32,-193,204,379),8334=>array(11,-193,183,379),8336=>array(21,-158,295,158),8337=>array(15,-158,283,158),8338=>array(17,-158,315,158),8339=>array(11,-150,319,150),8340=>array(15,-157,283,159),8352=>array(55,0,644,691),8353=>array(28,-139,633,793),8354=>array(28,-14,633,676),8355=>array(12,0,546,662),8356=>array(12,-8,490,676),8357=>array(16,-114,775,576),8358=>array(12,-11,707,662),8359=>array(10,-10,916,662),8360=>array(15,-10,974,662),8361=>array(13,-11,800,662),8362=>array(60,0,795,600),8363=>array(27,-1,497,802),8364=>array(34,-14,707,676),8365=>array(34,0,723,662),8366=>array(17,0,593,662),8367=>array(7,-207,1293,672),8368=>array(12,-197,475,672),8369=>array(16,0,589,662),8370=>array(32,-37,609,704),8371=>array(15,0,706,674),8372=>array(42,-14,491,676),8373=>array(42,-87,546,727),8374=>array(19,-10,497,683),8375=>array(33,-48,519,676),8376=>array(20,-1,504,666),8377=>array(20,-14,634,661),8400=>array(-616,680,15,856),8401=>array(-616,674,15,850),8402=>array(-217,-77,-177,554),8403=>array(-217,-1,-177,457),8404=>array(-625,683,34,900),8405=>array(-660,683,-1,900),8406=>array(-632,592,-1,900),8407=>array(-632,592,-1,900),8408=>array(-388,114,-104,397),8409=>array(-394,114,-95,412),8410=>array(-394,102,-95,397),8411=>array(-500,496,-3,595),8412=>array(-642,494,53,594),8413=>array(-741,-198,257,800),8414=>array(-740,-193,249,796),8415=>array(-735,-190,251,796),8416=>array(-738,-198,250,790),8417=>array(-606,592,25,900),8418=>array(-706,-75,210,643),8419=>array(-879,-200,147,862),8420=>array(-785,-88,288,784),8421=>array(-491,-134,8,556),8422=>array(-282,-157,-106,662),8423=>array(-432,15,48,539),8424=>array(-498,-147,-1,-48),8425=>array(-464,503,0,675),8426=>array(-628,103,3,411),8427=>array(-572,-98,52,592),8428=>array(-550,-234,81,-58),8429=>array(-559,-240,72,-64),8430=>array(-630,-300,1,8),8431=>array(-583,-300,48,8),8432=>array(-340,476,-157,683),8448=>array(35,-17,716,682),8449=>array(37,-18,686,682),8450=>array(26,-18,646,673),8451=>array(17,-14,940,676),8452=>array(35,1,481,667),8453=>array(32,-15,688,680),8454=>array(30,-18,736,680),8455=>array(35,-15,491,702),8456=>array(34,-14,639,676),8457=>array(17,0,849,676),8458=>array(-22,-216,507,347),8459=>array(7,-9,1102,700),8460=>array(18,-158,614,683),8461=>array(26,0,738,656),8462=>array(9,-9,468,683),8463=>array(9,-9,468,683),8464=>array(14,-12,798,701),8465=>array(11,-4,564,685),8466=>array(12,-9,822,703),8467=>array(15,-11,432,677),8468=>array(19,-10,747,683),8469=>array(26,-18,674,656),8470=>array(16,-11,857,662),8471=>array(26,-23,766,717),8472=>array(20,-211,732,573),8473=>array(26,0,583,656),8474=>array(26,-171,708,673),8475=>array(15,-12,929,700),8476=>array(16,-4,667,681),8477=>array(26,0,683,656),8478=>array(17,-1,659,662),8479=>array(17,-93,659,826),8480=>array(20,196,950,670),8481=>array(15,0,1105,662),8482=>array(10,210,1033,660),8483=>array(16,-93,697,826),8484=>array(26,0,608,656),8485=>array(6,-209,362,664),8486=>array(15,0,708,676),8487=>array(35,-10,715,666),8488=>array(23,-162,608,674),8489=>array(35,0,241,461),8490=>array(15,0,704,662),8491=>array(15,0,706,895),8492=>array(7,-8,883,703),8493=>array(35,-4,583,683),8494=>array(35,-10,499,460),8495=>array(0,-7,380,347),8496=>array(35,-9,647,704),8497=>array(25,-10,898,703),8498=>array(15,0,549,662),8499=>array(12,-10,1217,697),8500=>array(0,-7,405,347),8501=>array(27,-5,488,584),8502=>array(24,0,504,598),8503=>array(39,0,296,598),8504=>array(25,-2,482,596),8505=>array(20,0,379,683),8506=>array(28,-21,883,647),8507=>array(15,-1,1119,662),8508=>array(10,0,643,518),8510=>array(15,0,557,656),8511=>array(25,0,699,656),8512=>array(15,0,557,656),8513=>array(34,11,641,707),8514=>array(22,0,436,664),8515=>array(22,0,436,664),8516=>array(20,0,610,665),8517=>array(10,0,730,656),8518=>array(23,-5,643,680),8519=>array(35,-5,574,468),8520=>array(25,0,346,688),8521=>array(1,-199,526,688),8522=>array(35,0,482,664),8523=>array(32,-13,740,676),8525=>array(22,-14,884,676),8526=>array(15,0,403,450),8528=>array(30,-14,756,730),8529=>array(30,-14,734,730),8530=>array(30,-14,947,730),8531=>array(30,-14,726,730),8532=>array(16,-14,777,730),8533=>array(30,-14,686,730),8534=>array(16,-14,762,730),8535=>array(21,-14,702,730),8536=>array(9,-14,732,730),8537=>array(30,-14,703,730),8538=>array(24,-14,734,738),8539=>array(30,-14,715,730),8540=>array(20,-14,742,730),8541=>array(23,-14,732,738),8542=>array(33,-14,713,720),8543=>array(30,-14,581,730),8544=>array(15,0,312,662),8545=>array(15,0,631,662),8546=>array(15,0,950,662),8547=>array(15,-11,1010,662),8548=>array(10,-11,691,662),8549=>array(10,-11,1013,662),8550=>array(10,-11,1336,662),8551=>array(10,-11,1652,662),8552=>array(15,0,1033,662),8553=>array(10,0,704,662),8554=>array(10,0,1019,662),8555=>array(10,0,1339,662),8556=>array(15,0,601,662),8557=>array(35,-14,640,676),8558=>array(15,0,684,662),8559=>array(15,0,866,662),8560=>array(16,0,253,683),8561=>array(16,0,511,683),8562=>array(16,0,769,683),8563=>array(16,-14,709,683),8564=>array(5,-14,463,450),8565=>array(5,-14,702,683),8566=>array(5,-14,961,683),8567=>array(5,-14,1219,683),8568=>array(16,0,726,683),8569=>array(10,0,472,450),8570=>array(10,0,729,683),8571=>array(10,0,987,683),8572=>array(10,0,248,683),8573=>array(25,-10,412,460),8574=>array(25,-10,489,683),8575=>array(10,0,769,460),8576=>array(17,0,1066,662),8577=>array(16,0,685,662),8578=>array(15,0,1075,662),8579=>array(28,-14,633,676),8580=>array(15,-10,402,460),8581=>array(28,-200,637,676),8582=>array(15,-22,513,662),8583=>array(16,0,685,662),8584=>array(16,0,1076,662),8585=>array(16,-15,738,730),8592=>array(30,52,870,462),8593=>array(32,-39,442,801),8594=>array(30,52,870,462),8595=>array(45,-104,455,736),8596=>array(30,52,870,462),8597=>array(45,-195,455,645),8598=>array(58,-35,770,677),8599=>array(30,-31,742,681),8600=>array(30,-163,742,549),8601=>array(58,-167,770,545),8602=>array(30,52,870,462),8603=>array(30,52,870,462),8604=>array(30,52,980,462),8605=>array(20,52,970,462),8606=>array(30,52,870,462),8607=>array(45,-131,455,709),8608=>array(30,52,870,462),8609=>array(47,-195,457,645),8610=>array(30,52,989,462),8611=>array(30,52,989,462),8612=>array(30,52,958,462),8613=>array(45,-175,455,753),8614=>array(55,52,983,462),8615=>array(45,-239,455,689),8616=>array(0,-183,500,743),8617=>array(30,52,870,468),8618=>array(40,52,880,468),8619=>array(30,52,870,468),8620=>array(30,52,870,468),8621=>array(30,52,1117,462),8622=>array(30,52,870,462),8623=>array(45,-93,547,685),8624=>array(62,0,420,715),8625=>array(62,0,420,715),8626=>array(62,0,420,715),8627=>array(62,0,420,715),8628=>array(2,13,647,600),8629=>array(15,-16,602,629),8630=>array(32,0,1059,525),8631=>array(32,0,1059,525),8632=>array(62,-35,774,771),8633=>array(4,0,962,730),8634=>array(60,0,783,713),8635=>array(60,0,783,713),8636=>array(30,229,870,462),8637=>array(30,52,870,285),8638=>array(221,-132,455,709),8639=>array(45,-130,279,711),8640=>array(30,229,870,462),8641=>array(30,51,870,284),8642=>array(220,-194,454,647),8643=>array(45,-194,279,647),8644=>array(30,-118,870,632),8645=>array(45,-130,795,710),8646=>array(30,-118,870,633),8647=>array(30,-118,870,632),8648=>array(45,-131,795,709),8649=>array(30,-118,870,632),8650=>array(45,-125,795,715),8651=>array(30,-49,870,564),8652=>array(30,-49,870,563),8653=>array(30,6,870,510),8654=>array(30,6,880,510),8655=>array(30,6,870,510),8656=>array(30,5,870,510),8657=>array(23,-131,529,710),8658=>array(30,3,870,508),8659=>array(21,-195,527,646),8660=>array(30,5,880,510),8661=>array(21,-200,527,651),8662=>array(40,-234,963,688),8663=>array(37,-213,960,711),8664=>array(37,-234,960,688),8665=>array(40,-257,963,667),8666=>array(30,-64,870,577),8667=>array(40,-64,880,577),8668=>array(30,52,1058,462),8669=>array(20,52,1048,462),8670=>array(45,-152,455,688),8671=>array(45,-152,455,688),8672=>array(30,52,870,462),8673=>array(45,-131,455,709),8674=>array(30,52,870,462),8675=>array(45,-195,455,645),8676=>array(44,52,962,462),8677=>array(30,52,948,462),8678=>array(30,5,870,510),8679=>array(45,-40,550,800),8680=>array(40,5,880,510),8681=>array(45,-195,551,646),8682=>array(44,-56,550,780),8683=>array(44,-56,550,780),8684=>array(44,-56,550,780),8685=>array(45,-56,551,780),8686=>array(45,-55,551,766),8687=>array(46,-55,550,778),8688=>array(40,82,876,588),8689=>array(60,-35,864,769),8690=>array(62,-55,866,749),8691=>array(45,-202,551,678),8692=>array(30,52,870,462),8693=>array(45,-195,797,646),8694=>array(40,-258,880,832),8695=>array(30,63,870,473),8696=>array(30,63,870,473),8697=>array(30,63,870,473),8698=>array(30,63,870,473),8699=>array(30,63,870,473),8700=>array(30,63,870,473),8701=>array(30,52,870,462),8702=>array(30,52,870,462),8703=>array(30,52,870,462),8704=>array(25,-14,562,662),8705=>array(36,-13,496,801),8706=>array(26,-10,462,675),8707=>array(44,0,543,662),8708=>array(44,-134,543,794),8709=>array(30,-14,632,588),8710=>array(6,0,608,688),8711=>array(6,-26,608,662),8712=>array(52,8,484,506),8713=>array(52,-102,484,616),8714=>array(48,-17,414,500),8715=>array(52,8,484,506),8716=>array(52,-102,484,616),8717=>array(48,-17,414,500),8718=>array(77,0,423,691),8719=>array(25,-101,803,751),8720=>array(25,-101,803,751),8721=>array(14,-123,695,752),8722=>array(30,220,534,286),8723=>array(30,0,534,634),8724=>array(30,0,534,652),8725=>array(0,-14,499,676),8726=>array(0,-14,499,676),8727=>array(55,86,346,415),8728=>array(65,131,335,401),8729=>array(66,152,268,354),8730=>array(-2,-65,523,900),8731=>array(-2,-65,523,900),8732=>array(-2,-65,523,900),8733=>array(28,62,609,440),8734=>array(52,62,801,440),8735=>array(62,0,447,385),8736=>array(18,0,530,453),8737=>array(18,-40,530,453),8738=>array(35,0,467,510),8739=>array(72,-157,128,662),8740=>array(25,-157,224,662),8741=>array(72,-157,248,662),8742=>array(10,-157,394,662),8743=>array(19,-1,545,507),8744=>array(19,-1,545,507),8745=>array(25,0,539,565),8746=>array(25,-5,539,560),8747=>array(0,-200,499,900),8748=>array(0,-200,849,900),8749=>array(0,-200,1193,900),8750=>array(35,-200,583,900),8751=>array(35,-200,867,900),8752=>array(35,-200,1203,900),8753=>array(35,-200,607,900),8754=>array(35,-200,619,900),8755=>array(35,-200,643,900),8756=>array(35,-15,528,477),8757=>array(35,-21,531,472),8758=>array(75,-23,174,472),8759=>array(64,-25,560,472),8760=>array(30,220,534,454),8761=>array(30,6,721,465),8762=>array(30,4,534,498),8763=>array(56,17,581,476),8764=>array(56,159,581,320),8765=>array(56,159,581,320),8766=>array(17,118,486,355),8767=>array(0,194,614,522),8768=>array(68,-23,229,502),8769=>array(56,104,581,406),8770=>array(56,127,581,441),8771=>array(55,125,580,439),8772=>array(55,-20,580,524),8773=>array(52,57,577,562),8774=>array(52,-49,577,559),8775=>array(52,-70,577,616),8776=>array(56,74,581,440),8777=>array(56,-20,581,524),8778=>array(56,23,581,523),8779=>array(56,5,581,505),8780=>array(56,57,581,583),8781=>array(51,60,585,454),8782=>array(65,58,570,455),8783=>array(65,118,570,455),8784=>array(30,123,534,568),8785=>array(30,-73,534,573),8786=>array(30,-75,534,571),8787=>array(30,-69,534,570),8788=>array(35,5,705,493),8789=>array(30,5,718,490),8790=>array(30,123,534,389),8791=>array(30,123,534,665),8792=>array(30,123,534,609),8793=>array(30,123,534,707),8794=>array(30,123,534,709),8795=>array(30,123,534,764),8796=>array(30,123,534,800),8797=>array(30,123,540,748),8798=>array(30,123,534,692),8799=>array(30,123,534,800),8800=>array(30,-52,534,566),8801=>array(66,23,570,489),8802=>array(62,-52,574,566),8803=>array(66,-36,570,540),8804=>array(64,1,574,633),8805=>array(62,1,570,641),8806=>array(64,-113,573,706),8807=>array(69,-115,577,713),8808=>array(64,-198,573,706),8809=>array(69,-198,577,713),8810=>array(28,-10,867,516),8811=>array(28,-10,866,516),8812=>array(62,-170,348,670),8813=>array(51,-52,585,566),8814=>array(64,-102,572,616),8815=>array(62,-102,570,616),8816=>array(64,-92,574,646),8817=>array(62,-92,570,646),8818=>array(56,-112,581,599),8819=>array(53,-112,578,599),8820=>array(56,-112,581,646),8821=>array(53,-112,578,646),8822=>array(62,-199,572,683),8823=>array(62,-200,572,683),8824=>array(62,-201,572,690),8825=>array(62,-201,572,690),8826=>array(62,-30,574,542),8827=>array(62,-30,574,542),8828=>array(62,-52,574,606),8829=>array(62,-52,574,607),8830=>array(61,-112,586,623),8831=>array(62,-112,587,608),8832=>array(62,-102,574,616),8833=>array(62,-102,574,616),8834=>array(52,28,584,526),8835=>array(52,28,584,526),8836=>array(52,-102,584,616),8837=>array(52,-102,584,616),8838=>array(52,-64,584,571),8839=>array(51,-64,584,573),8840=>array(52,-139,584,663),8841=>array(51,-139,584,664),8842=>array(52,-137,584,571),8843=>array(51,-137,584,573),8844=>array(25,-6,539,559),8845=>array(25,-6,539,559),8846=>array(25,-6,539,559),8847=>array(32,8,532,506),8848=>array(32,8,532,506),8849=>array(32,-64,532,573),8850=>array(32,-64,532,571),8851=>array(33,0,531,500),8852=>array(33,0,531,500),8853=>array(17,-44,619,558),8854=>array(17,-44,619,558),8855=>array(17,-44,619,558),8856=>array(17,-44,619,558),8857=>array(17,-44,619,558),8858=>array(17,-44,619,558),8859=>array(17,-44,619,558),8860=>array(17,-44,619,558),8861=>array(17,-44,619,558),8862=>array(61,0,575,514),8863=>array(61,0,575,514),8864=>array(61,0,575,514),8865=>array(61,0,575,514),8866=>array(62,0,724,588),8867=>array(52,0,714,588),8868=>array(62,0,650,662),8869=>array(62,0,650,662),8870=>array(62,0,404,514),8871=>array(62,0,404,514),8872=>array(62,0,535,514),8873=>array(62,0,526,514),8874=>array(62,0,648,514),8875=>array(62,0,646,514),8876=>array(62,0,536,514),8877=>array(62,0,536,514),8878=>array(5,0,576,514),8879=>array(62,0,646,514),8880=>array(62,-39,574,550),8881=>array(62,-39,574,550),8882=>array(62,6,574,508),8883=>array(62,1,574,503),8884=>array(62,-63,574,574),8885=>array(62,-63,574,574),8886=>array(62,89,1234,424),8887=>array(62,89,1234,424),8888=>array(62,89,904,424),8889=>array(30,0,534,506),8890=>array(48,-211,458,325),8891=>array(19,1,545,666),8892=>array(19,-1,545,662),8893=>array(19,-1,545,662),8894=>array(46,0,530,498),8895=>array(31,0,530,498),8896=>array(30,0,714,669),8897=>array(30,0,714,669),8898=>array(61,-50,704,695),8899=>array(60,-50,703,695),8900=>array(42,11,470,504),8901=>array(74,189,173,288),8902=>array(64,109,406,434),8903=>array(57,-29,574,548),8904=>array(50,2,586,506),8905=>array(50,2,572,506),8906=>array(64,2,586,506),8907=>array(52,-34,764,678),8908=>array(52,-34,764,678),8909=>array(54,117,579,439),8910=>array(32,0,604,512),8911=>array(32,0,604,512),8912=>array(52,8,584,506),8913=>array(52,8,584,506),8914=>array(33,1,531,533),8915=>array(33,-9,531,523),8916=>array(32,0,562,732),8917=>array(30,-14,534,676),8918=>array(28,-10,536,516),8919=>array(28,-10,536,516),8920=>array(51,-10,1154,516),8921=>array(51,-10,1154,516),8922=>array(62,-214,574,728),8923=>array(62,-214,574,728),8924=>array(62,-81,574,603),8925=>array(62,-83,574,603),8926=>array(62,-106,574,633),8927=>array(62,-104,574,633),8928=>array(62,-104,574,636),8929=>array(62,-102,574,656),8930=>array(84,-139,584,663),8931=>array(84,-139,584,663),8932=>array(84,-137,584,573),8933=>array(84,-137,584,571),8934=>array(56,-186,581,599),8935=>array(56,-186,581,599),8936=>array(56,-186,581,622),8937=>array(56,-186,581,618),8938=>array(62,-102,574,616),8939=>array(62,-102,574,616),8940=>array(62,-162,574,676),8941=>array(62,-162,574,676),8942=>array(70,0,169,766),8943=>array(117,211,882,310),8944=>array(117,1,881,766),8945=>array(116,0,881,766),8946=>array(45,8,549,506),8947=>array(52,8,484,506),8948=>array(52,19,412,436),8949=>array(52,8,484,674),8950=>array(52,8,489,643),8951=>array(44,6,416,546),8952=>array(52,-116,487,506),8953=>array(52,8,484,506),8954=>array(52,8,556,506),8955=>array(52,8,484,506),8956=>array(52,19,412,436),8957=>array(52,8,485,643),8958=>array(44,6,412,546),8959=>array(61,0,540,662),8960=>array(30,-14,632,588),8961=>array(20,273,422,454),8962=>array(77,0,618,676),8963=>array(32,612,442,839),8964=>array(32,-216,442,11),8965=>array(30,-1,478,563),8966=>array(30,-1,478,676),8968=>array(62,1,412,800),8969=>array(62,0,412,800),8970=>array(62,0,412,800),8971=>array(62,1,412,800),8972=>array(289,-190,574,96),8973=>array(26,-190,313,96),8974=>array(288,567,575,853),8975=>array(26,565,311,851),8976=>array(30,108,534,386),8977=>array(108,145,397,434),8978=>array(35,0,757,364),8979=>array(35,0,757,364),8980=>array(32,-3,561,379),8981=>array(7,5,452,461),8982=>array(18,69,544,595),8983=>array(18,68,545,595),8984=>array(75,52,625,603),8985=>array(30,108,534,386),8986=>array(60,0,720,660),8987=>array(50,1,582,725),8988=>array(1,451,351,800),8989=>array(125,451,474,801),8990=>array(0,-200,349,150),8991=>array(123,-201,473,148),8992=>array(332,-200,715,800),8993=>array(32,-199,415,801),8994=>array(62,156,596,316),8995=>array(62,156,596,316),8996=>array(84,82,713,517),8997=>array(18,56,783,509),8998=>array(5,0,794,461),8999=>array(25,0,776,461),9000=>array(16,-1,783,475),9001=>array(25,-198,306,746),9002=>array(21,-198,302,746),9003=>array(5,0,794,461),9004=>array(42,-62,759,766),9031=>array(55,-158,720,658),9032=>array(55,-158,720,658),9040=>array(55,-158,720,658),9047=>array(55,-158,720,658),9054=>array(55,-158,720,658),9088=>array(44,-7,756,598),9089=>array(25,0,775,510),9090=>array(99,81,702,504),9091=>array(1,288,827,677),9094=>array(11,-121,799,713),9095=>array(18,0,784,682),9096=>array(34,-72,766,660),9097=>array(99,-44,701,558),9098=>array(70,0,730,660),9100=>array(53,-20,741,638),9103=>array(36,-13,754,706),9104=>array(36,-13,754,706),9105=>array(36,-13,754,706),9106=>array(36,-13,754,706),9108=>array(5,-20,795,666),9109=>array(53,0,744,691),9110=>array(267,315,506,656),9111=>array(39,-93,762,760),9112=>array(36,-101,764,758),9113=>array(15,-43,785,715),9114=>array(20,-15,780,684),9115=>array(40,-200,436,801),9116=>array(40,-200,122,800),9117=>array(40,-200,436,800),9118=>array(-52,-200,344,800),9119=>array(262,-200,344,800),9120=>array(-52,-200,344,801),9121=>array(88,-200,333,662),9122=>array(88,-200,164,800),9123=>array(88,-62,333,800),9124=>array(55,-200,300,662),9125=>array(224,-200,300,800),9126=>array(55,-62,300,800),9127=>array(201,-200,439,800),9128=>array(14,-200,283,800),9129=>array(201,-200,439,800),9130=>array(201,-200,283,800),9131=>array(45,-200,283,800),9132=>array(201,-200,470,800),9133=>array(45,-200,283,800),9134=>array(332,-200,415,800),9138=>array(49,-200,1238,800),9139=>array(49,-198,1238,800),9140=>array(20,588,839,800),9141=>array(21,-300,840,-88),9142=>array(20,163,840,672),9144=>array(0,-200,48,801),9145=>array(841,-200,889,801),9146=>array(0,666,889,714),9147=>array(0,475,889,523),9148=>array(0,76,889,124),9149=>array(0,-114,889,-66),9166=>array(54,-52,746,728),9167=>array(111,0,690,615),9180=>array(21,540,875,797),9181=>array(21,-200,875,57),9182=>array(20,551,882,802),9183=>array(21,-199,883,52),9184=>array(0,-163,910,27),9185=>array(0,564,910,754),9186=>array(35,0,726,507),9187=>array(83,-141,827,709),9189=>array(56,0,886,419),9190=>array(56,152,761,417),9216=>array(42,-1,748,663),9217=>array(85,0,714,667),9218=>array(75,0,755,667),9219=>array(56,0,755,664),9220=>array(56,-1,741,664),9221=>array(56,-59,742,664),9222=>array(62,0,727,667),9223=>array(49,-1,748,663),9224=>array(189,99,574,601),9225=>array(164,101,645,600),9226=>array(199,100,609,602),9227=>array(188,100,645,601),9228=>array(208,100,599,601),9229=>array(185,102,635,601),9230=>array(210,101,584,603),9231=>array(215,100,554,601),9232=>array(74,0,741,662),9233=>array(74,0,671,662),9234=>array(74,0,709,662),9235=>array(74,-1,680,662),9236=>array(74,1,717,662),9237=>array(42,0,737,663),9238=>array(75,-4,744,667),9239=>array(56,0,726,664),9240=>array(59,-4,749,666),9241=>array(175,108,667,593),9242=>array(62,-1,746,667),9243=>array(66,-4,742,663),9244=>array(198,100,589,601),9245=>array(186,99,589,599),9246=>array(206,98,589,601),9247=>array(182,101,589,604),9248=>array(213,98,597,600),9249=>array(74,-1,747,662),9250=>array(10,-23,542,729),9251=>array(45,0,458,160),9252=>array(77,0,723,664),9253=>array(0,0,800,800),9254=>array(70,-8,416,676),9312=>array(35,-13,754,706),9313=>array(35,-13,754,706),9314=>array(35,-13,754,706),9315=>array(35,-13,754,706),9316=>array(35,-13,754,706),9317=>array(35,-13,754,706),9318=>array(35,-13,754,706),9319=>array(35,-13,754,706),9320=>array(35,-13,754,706),9321=>array(35,-13,754,706),9472=>array(0,276,889,324),9473=>array(0,252,889,348),9474=>array(432,-200,480,801),9475=>array(408,-200,504,801),9484=>array(432,-200,889,324),9485=>array(432,-200,889,348),9486=>array(408,-200,889,324),9487=>array(408,-200,889,348),9488=>array(0,-200,480,324),9489=>array(0,-200,480,348),9490=>array(0,-200,504,324),9491=>array(0,-200,504,348),9492=>array(432,276,889,801),9493=>array(432,252,889,801),9494=>array(408,276,889,801),9495=>array(408,252,889,801),9496=>array(0,276,480,801),9497=>array(0,252,480,801),9498=>array(0,276,504,801),9499=>array(0,252,504,801),9500=>array(432,-200,889,801),9501=>array(432,-200,889,801),9502=>array(408,-200,889,801),9503=>array(408,-200,889,801),9504=>array(408,-200,889,801),9505=>array(408,-200,889,801),9506=>array(408,-200,889,801),9507=>array(408,-200,889,801),9508=>array(0,-200,480,801),9509=>array(0,-200,480,801),9510=>array(0,-200,504,801),9511=>array(0,-200,504,801),9512=>array(0,-200,504,801),9513=>array(0,-200,504,801),9514=>array(0,-200,504,801),9515=>array(0,-200,504,801),9516=>array(0,-200,889,324),9517=>array(0,-200,889,348),9518=>array(0,-200,889,348),9519=>array(0,-200,889,348),9520=>array(0,-200,889,324),9521=>array(0,-200,889,348),9522=>array(0,-200,889,348),9523=>array(0,-200,889,348),9524=>array(0,276,889,801),9525=>array(0,252,889,801),9526=>array(0,252,889,801),9527=>array(0,252,889,801),9528=>array(0,276,889,801),9529=>array(0,252,889,801),9530=>array(0,252,889,801),9531=>array(0,252,889,801),9532=>array(0,-200,889,801),9533=>array(0,-200,889,801),9534=>array(0,-200,889,801),9535=>array(0,-200,889,801),9536=>array(0,-200,889,801),9537=>array(0,-200,889,801),9538=>array(0,-200,889,801),9539=>array(0,-200,889,801),9540=>array(0,-200,889,801),9541=>array(0,-200,889,801),9542=>array(0,-200,889,801),9543=>array(0,-200,889,801),9544=>array(0,-200,889,801),9545=>array(0,-200,889,801),9546=>array(0,-200,889,801),9547=>array(0,-200,889,801),9552=>array(0,204,889,396),9553=>array(360,-200,552,801),9554=>array(432,-200,889,396),9555=>array(360,-200,889,324),9556=>array(360,-200,889,396),9557=>array(0,-200,480,396),9558=>array(0,-200,552,324),9559=>array(0,-200,552,396),9560=>array(432,204,889,801),9561=>array(360,276,889,801),9562=>array(360,204,889,801),9563=>array(0,204,480,801),9564=>array(0,276,552,801),9565=>array(0,204,552,801),9566=>array(432,-200,889,801),9567=>array(360,-200,889,801),9568=>array(360,-200,889,801),9569=>array(0,-200,480,801),9570=>array(0,-200,552,801),9571=>array(0,-200,552,801),9572=>array(0,-200,889,396),9573=>array(0,-200,889,324),9574=>array(0,-200,889,396),9575=>array(0,204,889,801),9576=>array(0,276,889,801),9577=>array(0,204,889,801),9578=>array(0,-200,889,801),9579=>array(0,-200,889,801),9580=>array(0,-200,889,801),9581=>array(432,-200,889,424),9582=>array(0,-200,457,424),9583=>array(0,176,457,800),9584=>array(432,177,889,801),9585=>array(0,-201,889,800),9586=>array(0,-201,889,800),9587=>array(0,-201,889,800),9588=>array(0,276,444,324),9589=>array(421,250,469,801),9590=>array(445,276,889,324),9591=>array(421,-200,469,351),9592=>array(0,252,444,348),9593=>array(397,252,493,801),9594=>array(445,252,889,348),9595=>array(397,-201,493,348),9596=>array(0,260,600,340),9597=>array(408,-200,504,801),9598=>array(0,260,600,340),9599=>array(408,-200,504,801),9600=>array(0,200,761,700),9601=>array(0,-200,761,-75),9602=>array(0,-200,761,50),9603=>array(0,-200,761,175),9604=>array(0,-200,761,300),9605=>array(0,-200,761,425),9606=>array(0,-200,761,550),9607=>array(0,-200,761,675),9608=>array(0,-200,761,800),9609=>array(0,-200,666,800),9610=>array(0,-200,571,800),9611=>array(0,-200,476,800),9612=>array(0,-200,381,800),9613=>array(0,-200,286,800),9614=>array(0,-200,191,800),9615=>array(0,-200,96,800),9616=>array(380,-200,761,800),9617=>array(0,-137,938,800),9618=>array(0,-137,938,800),9619=>array(0,-200,1000,800),9620=>array(0,675,761,800),9621=>array(665,-200,761,800),9622=>array(0,-200,380,300),9623=>array(381,-200,761,300),9624=>array(381,300,761,800),9625=>array(0,-200,761,800),9626=>array(0,-200,761,800),9627=>array(0,-200,761,800),9628=>array(0,-200,761,800),9629=>array(0,300,380,800),9630=>array(0,-200,761,800),9631=>array(0,-200,761,800),9632=>array(35,0,726,691),9633=>array(35,0,726,691),9634=>array(35,0,726,691),9635=>array(35,0,726,691),9636=>array(35,0,726,691),9637=>array(35,0,726,691),9638=>array(35,0,726,691),9639=>array(35,0,726,691),9640=>array(35,0,726,691),9641=>array(57,0,713,650),9642=>array(35,142,311,418),9643=>array(35,136,311,412),9644=>array(35,0,726,346),9645=>array(35,0,726,346),9646=>array(207,0,553,691),9647=>array(207,-1,553,690),9648=>array(14,0,745,450),9649=>array(14,0,745,450),9650=>array(26,0,814,676),9651=>array(26,0,814,676),9652=>array(13,120,407,458),9653=>array(4,120,415,473),9654=>array(92,-56,768,732),9655=>array(82,-56,758,732),9656=>array(35,62,373,456),9657=>array(26,54,379,465),9658=>array(92,60,768,454),9659=>array(82,60,788,472),9660=>array(26,-13,814,663),9661=>array(26,-12,814,664),9662=>array(13,100,407,439),9663=>array(5,95,416,448),9664=>array(32,-56,708,732),9665=>array(32,-56,708,732),9666=>array(13,61,351,455),9667=>array(7,46,360,457),9668=>array(32,62,708,456),9669=>array(44,58,750,470),9670=>array(35,-14,754,705),9671=>array(36,-13,754,705),9672=>array(36,-13,754,705),9673=>array(26,-23,766,717),9674=>array(18,0,466,740),9675=>array(26,-23,766,717),9676=>array(35,-14,757,708),9677=>array(20,-19,751,713),9678=>array(26,-23,766,717),9679=>array(35,-14,757,708),9680=>array(35,-14,757,708),9681=>array(35,-14,757,708),9682=>array(35,-14,757,708),9683=>array(35,-14,757,708),9684=>array(35,-14,757,708),9685=>array(35,-14,757,708),9686=>array(35,-14,403,705),9687=>array(399,-14,767,705),9688=>array(0,0,400,691),9689=>array(35,0,726,691),9690=>array(35,345,726,691),9691=>array(35,-2,726,344),9692=>array(35,344,402,708),9693=>array(392,341,756,708),9694=>array(389,-16,756,348),9695=>array(35,-15,399,352),9696=>array(35,344,757,708),9697=>array(35,-14,757,350),9698=>array(35,0,726,691),9699=>array(35,0,726,691),9700=>array(35,0,726,691),9701=>array(35,0,726,691),9702=>array(65,196,335,466),9703=>array(35,0,726,691),9704=>array(35,0,726,691),9705=>array(35,0,726,691),9706=>array(35,0,726,691),9707=>array(35,0,726,691),9708=>array(26,0,814,676),9709=>array(26,0,814,676),9710=>array(26,0,814,676),9711=>array(11,-85,874,778),9712=>array(35,0,726,691),9713=>array(35,0,726,691),9714=>array(35,0,726,691),9715=>array(35,0,726,691),9716=>array(35,-14,757,708),9717=>array(35,-14,757,708),9718=>array(35,-14,757,708),9719=>array(35,-14,757,708),9720=>array(65,-30,756,661),9721=>array(24,0,715,691),9722=>array(65,0,756,691),9723=>array(55,43,512,500),9724=>array(55,43,512,500),9725=>array(45,127,390,472),9726=>array(45,127,390,472),9727=>array(24,0,715,691),9728=>array(32,-20,767,715),9729=>array(50,330,757,633),9730=>array(14,-15,734,677),9731=>array(52,-47,756,794),9732=>array(55,0,737,681),9733=>array(32,-13,779,707),9734=>array(32,2,784,719),9735=>array(39,-2,419,677),9736=>array(67,-112,629,665),9737=>array(32,0,692,660),9738=>array(27,-15,907,628),9739=>array(32,-15,912,628),9740=>array(32,0,654,622),9741=>array(32,-108,912,881),9742=>array(32,138,683,566),9743=>array(32,138,683,566),9744=>array(33,0,724,691),9745=>array(32,0,723,691),9746=>array(32,0,723,691),9747=>array(32,0,724,692),9748=>array(40,-15,760,894),9749=>array(32,-16,805,751),9750=>array(32,0,687,655),9751=>array(32,0,687,655),9752=>array(32,-18,750,696),9753=>array(21,121,779,570),9754=>array(20,105,785,488),9755=>array(20,105,785,488),9756=>array(20,113,767,479),9757=>array(31,-38,398,710),9758=>array(33,113,780,479),9759=>array(32,-48,399,700),9760=>array(32,0,485,699),9761=>array(32,0,628,744),9762=>array(32,-16,692,644),9763=>array(32,-5,700,625),9764=>array(32,-158,854,666),9765=>array(32,-178,545,684),9766=>array(32,0,457,691),9767=>array(32,0,531,741),9768=>array(33,0,458,691),9769=>array(32,-22,738,683),9770=>array(32,0,693,666),9771=>array(32,-129,828,688),9772=>array(32,-18,636,762),9773=>array(32,-2,721,665),9774=>array(32,0,692,660),9775=>array(32,0,698,666),9776=>array(50,0,550,500),9777=>array(50,0,550,500),9778=>array(50,0,550,500),9779=>array(50,0,550,500),9780=>array(50,0,550,500),9781=>array(50,0,550,500),9782=>array(50,0,550,500),9783=>array(50,0,550,500),9784=>array(32,0,698,666),9785=>array(32,0,692,660),9786=>array(32,0,692,660),9787=>array(32,0,692,660),9788=>array(32,-20,767,715),9789=>array(219,-85,627,585),9790=>array(32,-85,440,585),9791=>array(32,-215,463,733),9792=>array(32,-215,463,537),9793=>array(32,0,463,752),9794=>array(32,0,654,622),9795=>array(32,0,629,683),9796=>array(32,-194,512,683),9797=>array(32,-11,576,621),9798=>array(32,-15,573,615),9799=>array(40,0,513,683),9800=>array(32,-11,772,707),9801=>array(32,-15,551,714),9802=>array(32,-55,764,750),9803=>array(32,0,974,694),9804=>array(32,-170,793,670),9805=>array(32,-194,1157,697),9806=>array(32,0,1112,505),9807=>array(32,-111,1157,694),9808=>array(32,0,651,619),9809=>array(32,-11,776,694),9810=>array(32,-15,1115,446),9811=>array(32,0,765,695),9812=>array(97,0,703,658),9813=>array(54,0,747,646),9814=>array(149,0,651,587),9815=>array(77,-23,723,670),9816=>array(101,0,698,591),9817=>array(186,0,615,588),9818=>array(97,0,704,656),9819=>array(53,-1,747,645),9820=>array(150,0,651,583),9821=>array(76,-30,724,666),9822=>array(99,0,700,589),9823=>array(185,0,614,588),9824=>array(107,0,664,705),9825=>array(73,-14,697,704),9826=>array(122,-14,648,705),9827=>array(32,0,738,705),9828=>array(107,0,664,705),9829=>array(73,-14,697,704),9830=>array(122,-14,648,705),9831=>array(32,0,738,705),9832=>array(32,-20,863,718),9833=>array(38,-10,278,767),9834=>array(38,-10,476,767),9835=>array(38,-10,664,770),9836=>array(38,-10,664,678),9837=>array(56,-104,329,822),9838=>array(56,-300,324,665),9839=>array(50,-300,365,654),9840=>array(32,0,610,723),9841=>array(32,0,623,733),9842=>array(32,-64,837,715),9843=>array(32,-64,873,751),9844=>array(32,-64,873,751),9845=>array(32,-64,873,751),9846=>array(32,-64,873,751),9847=>array(32,-64,873,751),9848=>array(32,-64,873,751),9849=>array(32,-64,873,751),9850=>array(32,-64,873,751),9851=>array(33,-175,984,728),9852=>array(32,-216,1032,784),9853=>array(32,-216,1032,784),9854=>array(32,-112,922,778),9855=>array(32,-7,574,673),9856=>array(35,0,487,454),9857=>array(35,0,487,454),9858=>array(35,0,487,454),9859=>array(35,0,487,454),9860=>array(35,0,487,454),9861=>array(35,0,487,454),9862=>array(32,-62,813,718),9863=>array(32,-62,812,718),9864=>array(32,-62,812,718),9865=>array(32,-62,812,718),9866=>array(32,311,716,404),9867=>array(32,311,716,404),9868=>array(32,219,716,499),9869=>array(32,219,716,499),9870=>array(32,219,716,499),9871=>array(32,219,716,499),9872=>array(42,-117,694,678),9873=>array(42,-118,694,677),9874=>array(32,-74,931,704),9875=>array(32,-137,738,671),9876=>array(32,-81,1006,621),9877=>array(42,-140,348,698),9878=>array(32,-131,965,694),9879=>array(32,-22,755,676),9880=>array(32,-93,476,686),9881=>array(32,-73,777,672),9882=>array(32,-132,982,684),9883=>array(32,-167,827,724),9884=>array(32,-145,786,675),9885=>array(32,-148,940,727),9888=>array(7,0,893,767),9889=>array(30,-54,516,747),9890=>array(39,-154,745,500),9891=>array(39,-79,756,681),9892=>array(39,-200,708,790),9893=>array(39,-154,512,681),9894=>array(39,-12,571,702),9895=>array(39,-179,670,758),9896=>array(39,-12,472,779),9897=>array(39,68,831,500),9898=>array(54,179,557,682),9899=>array(54,179,557,682),9900=>array(55,242,486,673),9901=>array(55,242,727,673),9902=>array(55,242,970,675),9903=>array(55,242,1086,673),9904=>array(51,366,814,643),9905=>array(75,0,438,659),9906=>array(39,-154,472,500),9907=>array(99,-200,544,716),9908=>array(84,-200,638,716),9909=>array(105,-200,614,693),9910=>array(44,-169,733,622),9911=>array(41,-198,455,693),9912=>array(84,-200,518,750),9913=>array(44,-66,792,613),9914=>array(44,0,622,609),9915=>array(44,0,622,609),9916=>array(98,-177,609,496),9920=>array(0,70,669,498),9921=>array(-1,-5,669,598),9922=>array(-1,70,669,498),9923=>array(0,-5,669,598),9985=>array(35,71,939,617),9986=>array(35,81,927,611),9987=>array(35,69,939,615),9988=>array(35,0,945,691),9989=>array(36,-14,811,706),9990=>array(35,-13,755,707),9991=>array(35,-14,755,706),9992=>array(35,-13,761,705),9993=>array(35,137,655,556),9994=>array(29,-10,516,513),9995=>array(30,-10,545,701),9996=>array(29,-10,516,706),9997=>array(33,59,820,632),9998=>array(35,51,876,641),9999=>array(35,141,899,550),10000=>array(35,49,876,636),10001=>array(35,139,909,550),10002=>array(35,103,938,588),10003=>array(34,-14,721,705),10004=>array(36,-14,811,706),10005=>array(35,0,727,692),10006=>array(35,0,727,692),10007=>array(-1,-69,572,660),10008=>array(36,-14,642,705),10009=>array(35,0,728,694),10010=>array(35,0,726,691),10011=>array(35,0,725,690),10012=>array(35,0,720,685),10013=>array(35,0,460,691),10014=>array(35,0,517,691),10015=>array(35,0,503,691),10016=>array(35,96,542,595),10017=>array(35,-14,657,702),10018=>array(35,-13,751,705),10019=>array(35,-14,752,703),10020=>array(35,-14,753,705),10021=>array(35,-14,756,707),10022=>array(35,-13,759,705),10023=>array(35,-14,759,705),10024=>array(24,-14,787,683),10025=>array(35,2,787,719),10026=>array(35,-13,754,706),10027=>array(35,-14,807,706),10028=>array(35,-12,789,706),10029=>array(35,-14,798,706),10030=>array(35,-13,782,705),10031=>array(35,-13,796,707),10032=>array(35,-13,888,706),10033=>array(35,0,710,691),10034=>array(35,0,688,691),10035=>array(35,0,714,691),10036=>array(34,-15,756,706),10037=>array(35,-14,758,705),10038=>array(35,-16,661,706),10039=>array(35,-7,741,698),10040=>array(35,-7,734,699),10041=>array(35,-1,757,720),10042=>array(35,0,725,693),10043=>array(35,-11,672,704),10044=>array(35,-14,672,704),10045=>array(35,-3,647,694),10046=>array(35,-13,666,708),10047=>array(35,-18,791,716),10048=>array(35,-16,780,705),10049=>array(35,-14,754,704),10050=>array(35,-14,754,704),10051=>array(33,0,674,717),10052=>array(36,0,651,688),10053=>array(35,0,661,693),10054=>array(35,0,655,681),10055=>array(34,-14,751,703),10056=>array(35,-15,752,704),10057=>array(35,-13,678,709),10058=>array(35,-14,756,707),10059=>array(36,-14,751,701),10060=>array(35,-4,732,694),10061=>array(35,-13,838,705),10062=>array(21,-23,759,715),10063=>array(35,0,727,691),10064=>array(35,0,727,691),10065=>array(35,0,725,691),10066=>array(35,0,725,691),10067=>array(30,-16,566,674),10068=>array(30,-15,566,674),10069=>array(40,-15,232,674),10070=>array(35,-14,749,705),10071=>array(81,-13,251,691),10072=>array(35,0,104,691),10073=>array(35,0,242,691),10074=>array(35,0,380,691),10075=>array(35,263,357,705),10076=>array(34,262,357,705),10077=>array(35,263,633,705),10078=>array(36,263,634,705),10079=>array(34,-168,357,275),10080=>array(36,-156,634,286),10081=>array(35,-143,697,805),10082=>array(56,-14,488,705),10083=>array(34,-14,508,704),10084=>array(35,40,875,651),10085=>array(35,-13,633,706),10086=>array(35,-13,726,705),10087=>array(21,121,779,570),10088=>array(35,-14,356,705),10089=>array(35,-14,355,705),10090=>array(35,0,283,691),10091=>array(35,0,283,691),10092=>array(35,0,242,691),10093=>array(35,0,242,691),10094=>array(35,0,475,691),10095=>array(35,0,475,691),10096=>array(35,0,375,691),10097=>array(35,0,375,691),10098=>array(35,-14,199,705),10099=>array(35,-14,199,705),10100=>array(35,0,299,691),10101=>array(35,0,299,691),10102=>array(35,-13,754,706),10103=>array(35,-13,754,706),10104=>array(35,-13,754,706),10105=>array(35,-13,754,706),10106=>array(35,-13,754,706),10107=>array(35,-13,754,706),10108=>array(35,-13,754,706),10109=>array(35,-13,754,706),10110=>array(35,-13,754,706),10111=>array(35,-13,754,706),10112=>array(35,-13,754,706),10113=>array(35,-13,754,706),10114=>array(35,-13,754,706),10115=>array(35,-13,754,706),10116=>array(35,-13,754,706),10117=>array(35,-13,754,706),10118=>array(35,-13,754,706),10119=>array(35,-13,754,706),10120=>array(35,-13,754,706),10121=>array(35,-13,754,706),10122=>array(35,-13,755,706),10123=>array(34,-13,754,706),10124=>array(34,-13,754,706),10125=>array(35,-13,754,706),10126=>array(35,-13,754,706),10127=>array(35,-13,754,706),10128=>array(35,-13,754,706),10129=>array(35,-13,754,706),10130=>array(35,-13,754,706),10131=>array(35,-13,754,706),10132=>array(35,58,860,634),10133=>array(34,-14,722,675),10134=>array(34,264,722,396),10135=>array(34,-14,722,674),10136=>array(35,94,698,597),10137=>array(35,140,890,551),10138=>array(35,94,698,597),10139=>array(35,167,884,526),10140=>array(35,28,892,664),10141=>array(35,129,891,562),10142=>array(35,129,893,561),10143=>array(35,154,799,537),10144=>array(35,97,838,594),10145=>array(35,104,791,588),10146=>array(35,82,889,610),10147=>array(35,82,889,610),10148=>array(35,4,882,688),10149=>array(34,83,896,608),10150=>array(35,84,896,608),10151=>array(35,-100,429,790),10152=>array(35,70,848,621),10153=>array(35,43,802,648),10154=>array(35,43,802,648),10155=>array(35,101,832,589),10156=>array(35,101,832,591),10157=>array(35,44,661,651),10158=>array(35,44,661,646),10159=>array(35,75,840,613),10160=>array(0,166,832,674),10161=>array(35,75,840,613),10162=>array(35,1,725,690),10163=>array(35,159,911,532),10164=>array(34,36,736,655),10165=>array(35,209,830,483),10166=>array(34,36,736,655),10167=>array(34,-18,853,711),10168=>array(35,123,932,568),10169=>array(34,-20,853,710),10170=>array(35,113,796,578),10171=>array(36,116,838,576),10172=>array(35,149,891,542),10173=>array(35,75,932,615),10174=>array(34,99,884,592),10175=>array(0,166,1248,674),10176=>array(62,0,447,391),10177=>array(26,0,814,676),10178=>array(82,0,670,662),10179=>array(52,28,584,526),10180=>array(52,28,584,526),10183=>array(19,-1,545,507),10184=>array(0,-14,814,676),10185=>array(52,-14,867,676),10186=>array(30,-14,190,676),10188=>array(43,-55,847,900),10190=>array(61,0,575,514),10191=>array(61,0,575,514),10192=>array(36,-13,754,705),10193=>array(19,-1,545,507),10194=>array(19,19,517,451),10195=>array(62,0,412,350),10196=>array(62,0,412,350),10197=>array(40,2,705,506),10198=>array(50,2,715,506),10199=>array(40,2,834,506),10200=>array(62,0,650,800),10201=>array(62,0,650,800),10202=>array(62,0,828,514),10203=>array(62,0,828,514),10204=>array(62,89,904,424),10205=>array(50,122,876,394),10206=>array(50,122,876,394),10207=>array(50,0,322,676),10208=>array(18,0,466,740),10209=>array(35,-13,626,578),10210=>array(35,-13,706,578),10211=>array(35,-13,706,578),10212=>array(34,0,695,514),10213=>array(61,0,722,514),10214=>array(88,-156,421,662),10215=>array(34,-156,367,662),10216=>array(25,-188,306,736),10217=>array(23,-188,304,736),10218=>array(25,-188,475,736),10219=>array(21,-188,471,736),10224=>array(45,-163,956,678),10225=>array(45,-163,956,678),10226=>array(32,-15,1059,855),10227=>array(45,-15,1072,855),10228=>array(62,-44,902,558),10229=>array(0,52,1000,462),10230=>array(0,52,1000,462),10231=>array(0,52,1000,462),10232=>array(0,5,1000,510),10233=>array(0,5,1000,510),10234=>array(0,5,1000,510),10235=>array(0,52,1000,462),10236=>array(0,52,1000,462),10237=>array(0,5,1000,510),10238=>array(0,5,1000,510),10239=>array(20,52,1360,462),10624=>array(80,-14,340,676),10625=>array(65,191,335,461),10626=>array(30,125,209,545),10627=>array(100,-181,380,680),10628=>array(100,-181,380,680),10629=>array(48,-177,304,676),10630=>array(29,-177,285,676),10635=>array(78,-251,323,662),10636=>array(10,-251,255,662),10641=>array(25,-188,306,736),10642=>array(23,-188,306,736),10649=>array(40,1,139,779),10651=>array(29,-40,541,453),10653=>array(46,0,530,498),10654=>array(18,0,547,453),10656=>array(35,0,467,510),10657=>array(-4,39,506,471),10658=>array(18,0,530,453),10659=>array(45,0,557,453),10660=>array(18,-140,530,453),10661=>array(45,-140,557,453),10672=>array(28,64,631,667),10673=>array(30,-14,632,772),10674=>array(30,-14,632,853),10675=>array(30,-14,632,850),10676=>array(30,-14,632,850),10677=>array(25,-13,901,673),10678=>array(17,-44,619,558),10679=>array(26,-23,766,717),10680=>array(17,-44,619,558),10681=>array(26,-23,766,717),10684=>array(26,-23,766,717),10686=>array(30,-23,770,717),10687=>array(30,-23,770,717),10688=>array(26,-23,766,717),10689=>array(26,-23,766,717),10690=>array(26,-23,947,717),10691=>array(26,-23,1020,717),10692=>array(61,0,575,514),10693=>array(61,0,575,514),10694=>array(61,0,575,514),10695=>array(61,0,575,514),10696=>array(61,0,575,514),10697=>array(40,0,674,634),10698=>array(26,0,814,853),10699=>array(35,-125,858,706),10700=>array(26,0,814,676),10701=>array(24,0,907,676),10702=>array(82,-14,812,675),10703=>array(32,-14,826,398),10704=>array(44,-14,838,398),10705=>array(50,-33,652,535),10706=>array(50,-33,652,535),10707=>array(50,-33,652,535),10708=>array(50,-33,652,535),10709=>array(50,-33,652,535),10710=>array(67,0,635,602),10711=>array(67,0,635,602),10726=>array(62,0,742,514),10728=>array(26,0,814,676),10729=>array(26,0,814,676),10731=>array(23,0,471,740),10740=>array(30,-11,980,459),10741=>array(40,-14,336,676),10742=>array(20,-14,331,800),10743=>array(40,-14,336,676),10744=>array(0,-200,400,800),10745=>array(0,-200,400,800),10752=>array(30,-49,830,751),10753=>array(30,-49,830,751),10754=>array(30,-49,830,751),10755=>array(60,-50,703,695),10756=>array(61,-50,703,695),10757=>array(62,-44,694,735),10758=>array(62,-50,694,729),10761=>array(30,-31,715,654),10781=>array(50,-33,652,535),10786=>array(30,0,534,661),10787=>array(30,0,534,674),10788=>array(30,0,534,662),10789=>array(30,-153,534,506),10790=>array(30,-149,534,506),10791=>array(30,-63,537,506),10800=>array(38,8,526,661),10801=>array(32,-125,532,497),10808=>array(26,-23,766,717),10809=>array(26,0,814,676),10810=>array(26,0,814,676),10811=>array(26,0,814,676),10815=>array(23,0,706,662),10993=>array(50,-13,322,663),10994=>array(30,-14,290,676),10995=>array(11,-14,341,676),10996=>array(80,-14,360,676),10997=>array(30,-14,390,676),11008=>array(48,-195,955,712),11009=>array(48,-195,955,712),11010=>array(48,-195,955,712),11011=>array(48,-195,955,712),11012=>array(56,8,1188,560),11013=>array(56,8,944,560),11014=>array(224,-160,776,728),11015=>array(224,-160,776,728),11016=>array(48,-195,955,712),11017=>array(48,-195,955,712),11018=>array(48,-195,955,712),11019=>array(48,-195,955,712),11020=>array(56,8,1188,560),11021=>array(224,-282,776,850),11022=>array(33,91,749,450),11023=>array(23,88,739,447),11024=>array(23,88,739,447),11025=>array(33,91,749,450),11026=>array(57,-44,713,612),11027=>array(57,-44,713,612),11028=>array(57,-44,713,612),11029=>array(57,-44,713,612),11030=>array(5,-96,766,665),11031=>array(5,-96,766,665),11032=>array(5,-96,766,665),11033=>array(5,-96,766,665),11034=>array(57,-44,713,612),11035=>array(68,-147,932,716),11036=>array(68,-147,932,716),11037=>array(32,174,251,394),11038=>array(32,174,251,394),11039=>array(48,-34,799,679),11040=>array(48,-34,799,679),11041=>array(57,-111,743,679),11042=>array(57,-111,743,679),11043=>array(9,-59,799,627),11044=>array(20,-196,980,765),11045=>array(11,64,451,504),11046=>array(11,64,451,504),11047=>array(64,64,397,504),11048=>array(64,64,397,504),11049=>array(13,117,348,452),11050=>array(54,117,307,452),11051=>array(15,117,268,452),11052=>array(20,19,835,550),11053=>array(20,19,835,550),11054=>array(49,-124,580,692),11055=>array(49,-124,580,692),11056=>array(30,52,870,462),11057=>array(40,-258,880,832),11088=>array(20,50,570,573),11089=>array(5,106,424,504),11090=>array(5,106,424,504),11091=>array(57,-91,771,660),11092=>array(57,-91,771,660),11264=>array(40,0,605,662),11265=>array(40,-128,753,662),11266=>array(40,162,811,662),11267=>array(40,-91,660,662),11268=>array(40,164,811,664),11269=>array(40,-14,600,676),11270=>array(40,0,734,671),11271=>array(40,0,625,662),11272=>array(40,-1,693,662),11273=>array(40,-109,794,662),11274=>array(40,-35,794,662),11275=>array(40,-8,694,662),11276=>array(40,0,750,800),11277=>array(40,-83,540,662),11278=>array(40,-1,794,560),11279=>array(40,-69,939,662),11280=>array(40,0,698,662),11281=>array(40,-66,370,676),11282=>array(40,0,735,662),11283=>array(40,-1,431,662),11284=>array(40,-8,694,662),11285=>array(40,330,811,662),11286=>array(40,0,855,662),11287=>array(40,-20,682,662),11288=>array(40,-125,598,662),11289=>array(40,0,580,662),11290=>array(40,0,681,662),11291=>array(40,0,753,662),11292=>array(40,-11,781,662),11293=>array(40,0,659,662),11294=>array(40,310,753,662),11295=>array(40,-66,642,676),11296=>array(40,-66,529,676),11297=>array(30,0,761,662),11299=>array(0,-200,711,662),11300=>array(40,-14,665,676),11301=>array(40,-14,834,676),11302=>array(40,0,625,662),11303=>array(40,-14,1099,676),11304=>array(40,-14,983,676),11305=>array(40,-14,1198,676),11306=>array(40,0,722,662),11310=>array(40,0,719,662),11312=>array(30,168,454,665),11313=>array(30,72,565,665),11314=>array(30,289,609,665),11315=>array(30,99,495,665),11316=>array(30,291,609,666),11317=>array(30,157,450,675),11318=>array(30,168,551,672),11319=>array(30,168,469,665),11320=>array(30,167,520,665),11321=>array(30,86,596,665),11322=>array(30,141,596,665),11323=>array(30,162,521,665),11324=>array(30,168,563,768),11325=>array(30,105,405,665),11326=>array(30,167,596,588),11327=>array(30,116,705,665),11328=>array(30,168,524,665),11329=>array(30,118,278,675),11330=>array(30,168,552,665),11331=>array(30,167,324,665),11332=>array(30,162,521,665),11333=>array(30,415,609,665),11334=>array(30,168,642,665),11335=>array(30,153,512,665),11336=>array(30,74,449,665),11337=>array(30,168,435,665),11338=>array(30,168,511,665),11339=>array(30,168,565,665),11340=>array(30,159,586,665),11341=>array(30,168,495,665),11342=>array(30,400,565,665),11343=>array(30,118,482,675),11344=>array(30,118,397,675),11345=>array(20,168,569,665),11347=>array(0,18,534,665),11348=>array(30,157,499,675),11349=>array(30,157,626,675),11350=>array(30,168,469,665),11351=>array(30,157,825,675),11352=>array(30,157,738,675),11353=>array(30,157,899,675),11354=>array(30,168,542,665),11358=>array(30,168,540,665),11360=>array(0,0,598,662),11361=>array(5,0,283,683),11362=>array(3,0,614,662),11363=>array(0,0,542,662),11364=>array(17,-200,659,662),11365=>array(25,-44,430,516),11366=>array(13,-68,289,579),11367=>array(19,-170,710,662),11368=>array(10,-125,491,683),11369=>array(34,-170,731,662),11370=>array(10,-125,511,683),11371=>array(9,-170,581,662),11372=>array(10,-125,390,450),11373=>array(35,-15,667,673),11374=>array(12,-204,863,662),11375=>array(15,-11,706,663),11376=>array(13,-14,645,674),11377=>array(5,-14,619,460),11378=>array(5,-11,1063,676),11379=>array(5,-14,847,460),11380=>array(10,-14,463,522),11381=>array(19,0,513,662),11382=>array(9,0,346,451),11383=>array(25,-11,587,463),11384=>array(25,-10,554,460),11385=>array(5,-8,337,670),11386=>array(25,-10,466,460),11387=>array(5,0,387,431),11388=>array(0,-291,172,295),11389=>array(6,222,450,661),11390=>array(42,-217,491,676),11391=>array(9,-218,577,662),11392=>array(24,-11,695,676),11393=>array(16,-7,486,460),11394=>array(32,-14,496,675),11395=>array(22,-11,355,460),11396=>array(32,-10,582,662),11397=>array(22,-7,411,450),11398=>array(32,-51,937,676),11399=>array(23,-35,658,460),11400=>array(36,-15,611,676),11401=>array(24,-10,419,460),11402=>array(36,-24,561,674),11403=>array(22,-32,379,458),11404=>array(32,-126,553,674),11405=>array(22,-86,393,458),11406=>array(32,-10,666,674),11407=>array(22,-7,487,458),11408=>array(36,-14,690,676),11409=>array(24,-10,469,460),11410=>array(40,-10,243,675),11411=>array(42,-7,196,460),11412=>array(32,-7,614,676),11413=>array(22,-6,433,460),11414=>array(32,-137,745,800),11415=>array(23,-116,551,566),11416=>array(32,-10,787,676),11417=>array(22,-7,567,460),11418=>array(32,-10,666,676),11419=>array(22,-7,485,460),11420=>array(36,-125,535,676),11421=>array(22,-85,391,460),11422=>array(35,-14,689,676),11423=>array(20,-10,461,460),11424=>array(32,-10,692,662),11425=>array(22,-7,502,450),11426=>array(41,-181,490,676),11427=>array(26,-220,351,460),11428=>array(36,-15,611,676),11429=>array(25,-10,416,460),11430=>array(32,-10,582,662),11431=>array(22,-7,411,450),11432=>array(32,-181,687,675),11433=>array(22,-220,497,460),11434=>array(36,-181,726,800),11435=>array(24,-220,514,566),11436=>array(32,-137,741,676),11437=>array(22,-116,541,460),11438=>array(32,-181,689,800),11439=>array(22,-220,497,566),11440=>array(36,-15,928,675),11441=>array(24,-10,657,460),11456=>array(32,-181,653,675),11457=>array(22,-220,442,603),11464=>array(36,-119,547,673),11465=>array(22,-81,369,458),11466=>array(32,-65,461,676),11467=>array(22,-44,333,460),11492=>array(23,-102,391,459),11493=>array(22,-220,478,797),11494=>array(16,-220,465,797),11495=>array(24,-220,962,788),11496=>array(19,-220,437,797),11497=>array(22,-220,541,797),11498=>array(29,-10,910,459),11517=>array(32,59,224,392),11518=>array(167,-5,547,673),11519=>array(12,477,256,675),11744=>array(-240,472,-10,798),11745=>array(-220,471,-9,683),11746=>array(-193,470,-10,682),11747=>array(-200,471,-9,683),11748=>array(-296,468,-6,687),11749=>array(-170,472,-5,684),11750=>array(-234,470,-11,684),11751=>array(-237,466,-13,681),11752=>array(-313,463,-6,684),11753=>array(-231,470,-3,682),11754=>array(-206,470,-4,682),11755=>array(-227,470,-9,682),11756=>array(-212,374,-6,680),11757=>array(-191,469,-12,681),11758=>array(-197,470,-7,682),11759=>array(-225,471,-7,683),11760=>array(-226,411,-11,682),11761=>array(-246,470,-12,682),11762=>array(-338,470,-4,682),11763=>array(-326,412,-6,683),11764=>array(-202,470,-3,682),11765=>array(-388,465,-6,687),11766=>array(-206,470,-8,681),11767=>array(-191,470,-3,683),11768=>array(-230,470,-4,683),11769=>array(-220,470,-5,798),11770=>array(-256,470,-4,798),11771=>array(-312,465,-12,691),11772=>array(-293,465,-4,687),11773=>array(-306,470,-6,682),11774=>array(-318,470,-3,682),11775=>array(-415,469,-6,683),11776=>array(33,159,311,663),11777=>array(33,159,311,663),11782=>array(22,159,512,663),11783=>array(22,159,512,663),11787=>array(35,524,311,800),11788=>array(50,401,450,800),11789=>array(50,401,450,800),11791=>array(0,-125,1000,-75),11792=>array(0,-201,1000,-75),11793=>array(0,-201,1000,-75),11798=>array(28,-19,536,675),11799=>array(43,82,281,341),11800=>array(68,-8,414,676),11802=>array(18,194,316,622),11803=>array(19,186,481,580),11804=>array(50,-219,450,180),11805=>array(50,-219,450,180),11806=>array(19,186,481,461),11807=>array(19,22,481,320),11808=>array(88,-156,299,662),11809=>array(34,-156,245,662),11810=>array(88,253,299,662),11811=>array(34,253,245,662),11812=>array(88,-156,299,253),11813=>array(34,-156,245,253),11814=>array(52,28,804,526),11815=>array(52,28,804,526),11816=>array(48,-177,435,676),11817=>array(29,-177,416,676),11818=>array(10,1,610,574),11819=>array(-82,92,492,483),11820=>array(-82,92,492,483),11821=>array(12,1,609,665),11822=>array(70,-8,416,676),11823=>array(67,645,183,900),11824=>array(65,196,335,466),11825=>array(75,183,174,282),42560=>array(9,-155,577,662),42561=>array(15,-155,391,450),42562=>array(9,-155,577,662),42563=>array(13,-155,391,450),42564=>array(21,-14,470,676),42565=>array(35,-10,332,459),42566=>array(42,-15,346,663),42567=>array(65,-10,271,451),42568=>array(14,0,705,662),42569=>array(10,0,509,532),42570=>array(17,-176,542,668),42571=>array(25,-10,433,702),42572=>array(34,-14,1111,676),42573=>array(25,-10,750,461),42574=>array(0,0,638,683),42575=>array(0,0,522,683),42576=>array(10,0,993,662),42577=>array(14,0,713,450),42578=>array(20,0,885,663),42579=>array(16,0,650,683),42580=>array(39,-14,951,676),42581=>array(25,-10,679,460),42582=>array(12,0,1027,674),42583=>array(15,-10,633,460),42584=>array(15,0,706,674),42585=>array(10,0,499,458),42586=>array(15,0,917,662),42587=>array(10,0,690,496),42588=>array(12,0,1032,674),42589=>array(15,0,735,458),42590=>array(25,-215,764,672),42591=>array(10,-215,535,464),42592=>array(10,-170,702,662),42593=>array(14,-125,508,450),42594=>array(10,-170,880,662),42595=>array(12,-125,620,450),42596=>array(5,-13,918,662),42597=>array(5,-9,620,450),42598=>array(12,0,1121,662),42599=>array(16,-14,762,450),42600=>array(35,-14,689,676),42601=>array(25,-10,466,460),42602=>array(34,-14,756,676),42603=>array(29,-10,530,460),42604=>array(34,-14,1228,676),42605=>array(25,-10,816,460),42606=>array(24,-6,709,746),42607=>array(-412,723,-18,839),42608=>array(-768,-152,284,900),42609=>array(-661,-202,159,878),42610=>array(-664,-257,198,900),42611=>array(26,364,493,900),42620=>array(-541,683,-31,834),42621=>array(-206,522,-46,788),42622=>array(0,683,510,834),42623=>array(14,522,174,788),42624=>array(10,-170,631,790),42625=>array(12,-125,476,578),42626=>array(8,-13,457,776),42627=>array(25,-10,322,779),42628=>array(20,-15,1149,676),42629=>array(10,-8,828,459),42630=>array(10,0,992,662),42631=>array(16,0,750,450),42632=>array(10,-300,724,662),42633=>array(12,-300,524,450),42634=>array(16,-163,719,662),42635=>array(10,-190,519,450),42636=>array(16,-14,592,662),42637=>array(10,-28,427,450),42638=>array(20,-232,719,662),42639=>array(9,-208,530,450),42640=>array(16,-296,592,662),42641=>array(8,-296,468,450),42642=>array(16,0,912,662),42643=>array(14,0,640,450),42644=>array(9,0,657,677),42645=>array(16,0,498,662),42646=>array(20,-232,964,662),42647=>array(16,-208,763,450),42752=>array(26,-124,292,125),42753=>array(26,-193,292,125),42754=>array(26,551,292,800),42755=>array(26,482,292,800),42756=>array(26,551,292,800),42757=>array(25,481,292,800),42758=>array(26,-124,292,125),42759=>array(25,-194,292,125),42760=>array(50,-1,257,800),42761=>array(50,-1,257,800),42762=>array(50,-1,257,800),42763=>array(50,-1,257,800),42764=>array(50,-7,257,800),42765=>array(50,-1,257,806),42766=>array(50,-1,257,800),42767=>array(50,-1,257,800),42768=>array(50,-1,257,800),42769=>array(50,-1,257,800),42770=>array(20,0,410,800),42771=>array(20,0,410,800),42772=>array(20,0,410,800),42773=>array(20,0,410,800),42774=>array(20,0,410,800),42775=>array(60,296,294,800),42776=>array(24,396,429,800),42777=>array(30,566,534,800),42778=>array(30,578,534,856),42779=>array(44,335,310,801),42780=>array(44,335,310,801),42781=>array(86,354,157,801),42782=>array(86,354,157,801),42783=>array(86,83,157,530),42784=>array(30,578,534,856),42785=>array(30,-277,534,131),42786=>array(15,-14,260,674),42787=>array(43,-13,212,461),42788=>array(16,233,371,675),42789=>array(15,148,260,460),42790=>array(19,-218,702,662),42791=>array(10,-218,428,683),42792=>array(17,0,869,662),42793=>array(13,-10,677,579),42794=>array(44,-15,500,676),42795=>array(25,-14,394,663),42796=>array(12,-52,370,676),42797=>array(53,-215,370,450),42798=>array(12,-139,537,676),42799=>array(53,-215,545,450),42800=>array(10,0,398,450),42801=>array(33,-14,359,460),42802=>array(15,0,1167,674),42803=>array(25,-10,679,461),42804=>array(15,-14,1104,676),42805=>array(25,-10,716,460),42806=>array(15,-14,1074,674),42807=>array(25,-11,683,460),42808=>array(15,-11,889,674),42809=>array(25,-15,558,460),42810=>array(15,-11,889,674),42811=>array(25,-15,558,460),42812=>array(15,-218,899,674),42813=>array(25,-218,544,460),42814=>array(34,-14,639,676),42815=>array(20,-10,407,460),42816=>array(34,0,723,662),42817=>array(10,0,508,683),42818=>array(34,0,723,662),42819=>array(10,0,508,683),42820=>array(34,0,723,662),42821=>array(9,0,507,683),42822=>array(12,0,700,662),42823=>array(10,0,331,683),42824=>array(0,0,598,662),42825=>array(5,0,283,683),42826=>array(14,-14,736,676),42827=>array(14,-10,530,460),42828=>array(34,-14,899,676),42829=>array(25,-10,636,460),42830=>array(34,-14,1228,676),42831=>array(25,-10,816,460),42832=>array(16,0,542,662),42833=>array(10,-217,475,460),42838=>array(34,-178,701,676),42839=>array(25,-217,575,461),42842=>array(21,0,367,675),42843=>array(25,-10,327,459),42852=>array(16,0,542,662),42853=>array(10,-217,475,683),42854=>array(16,0,542,662),42855=>array(10,-217,475,683),42862=>array(30,-22,459,676),42863=>array(25,-218,464,459),42864=>array(20,254,293,675),42873=>array(34,-14,688,772),42874=>array(25,-10,466,669),42875=>array(10,-200,472,676),42876=>array(10,-200,338,460),42877=>array(31,-6,556,662),42878=>array(31,-6,556,662),42879=>array(25,-113,416,450),42880=>array(9,0,595,662),42881=>array(10,0,248,683),42882=>array(24,-200,673,676),42883=>array(16,-200,485,460),42884=>array(10,-200,472,676),42885=>array(10,-200,338,460),42886=>array(28,-14,633,664),42887=>array(25,-10,412,450),42888=>array(11,-102,322,65),42889=>array(80,-11,191,459),42890=>array(15,120,267,386),42891=>array(90,176,196,760),42892=>array(90,375,188,760),42893=>array(19,0,702,662),42896=>array(12,-129,707,662),42897=>array(10,-108,482,460),42922=>array(5,0,817,662),43002=>array(9,-10,768,450),43003=>array(12,0,546,662),43004=>array(16,0,542,662),43005=>array(12,0,863,662),43006=>array(18,0,315,800),43007=>array(5,-11,1295,662),43232=>array(-331,504,-148,686),43233=>array(-311,347,-166,758),43234=>array(-331,376,-111,737),43235=>array(-321,376,-131,743),43236=>array(-401,490,-114,758),43237=>array(-363,405,-111,758),43238=>array(-351,376,-131,761),43239=>array(-381,452,-94,758),43240=>array(-360,433,-101,701),43241=>array(-351,376,-107,758),43242=>array(-451,433,1,758),43243=>array(-390,453,-52,758),43244=>array(-420,434,-9,758),43245=>array(-400,433,-33,758),43246=>array(-410,433,-63,758),43247=>array(-390,433,-103,758),43248=>array(-460,433,20,900),43249=>array(-354,433,-95,759),43250=>array(40,462,384,678),43251=>array(40,268,432,678),43252=>array(40,28,432,678),43253=>array(40,-133,384,678),43254=>array(40,-135,384,678),43255=>array(39,-70,427,678),43256=>array(0,78,640,609),43257=>array(0,78,600,633),43258=>array(38,354,364,629),43259=>array(10,615,410,665),64256=>array(20,0,638,683),64257=>array(10,0,499,683),64258=>array(10,0,499,683),64259=>array(10,0,770,683),64260=>array(10,0,768,683),64261=>array(10,-10,576,683),64262=>array(35,-10,658,699),64275=>array(15,-10,956,676),64276=>array(15,-10,954,662),64277=>array(15,-200,963,662),64278=>array(15,-200,956,662),64279=>array(15,-200,1204,662),64285=>array(61,170,256,593),64286=>array(107,719,401,865),64287=>array(31,183,486,593),64288=>array(11,48,479,600),64289=>array(27,-5,768,584),64290=>array(25,-2,765,596),64291=>array(22,-2,748,598),64292=>array(15,0,748,598),64293=>array(74,2,744,820),64294=>array(30,0,775,598),64295=>array(24,-1,752,598),64296=>array(32,-1,781,598),64297=>array(30,220,534,506),64298=>array(29,0,531,703),64299=>array(29,0,531,703),64300=>array(29,0,531,703),64301=>array(29,0,531,703),64302=>array(27,-114,488,584),64303=>array(27,-221,488,584),64304=>array(27,-120,488,584),64305=>array(24,0,504,598),64306=>array(39,0,296,598),64307=>array(25,-2,482,596),64308=>array(22,-2,465,598),64309=>array(48,0,255,598),64310=>array(30,-1,267,598),64312=>array(27,0,496,598),64313=>array(61,283,256,593),64314=>array(26,-264,496,600),64315=>array(15,0,485,598),64316=>array(74,2,461,820),64318=>array(23,0,487,599),64320=>array(47,0,264,598),64321=>array(30,0,492,598),64323=>array(24,-263,485,600),64324=>array(19,0,472,598),64326=>array(13,0,476,598),64327=>array(21,-264,483,600),64328=>array(24,-1,469,598),64329=>array(29,0,531,598),64330=>array(32,-1,498,598),64331=>array(48,0,255,712),64332=>array(24,0,504,702),64333=>array(15,0,485,702),64334=>array(19,0,472,702),64335=>array(36,-5,498,843),64336=>array(-10,-48,280,829),64337=>array(0,0,290,829),64338=>array(75,-277,877,309),64339=>array(75,-277,877,309),64340=>array(-22,-277,232,309),64341=>array(-22,-277,322,309),64342=>array(75,-265,877,309),64343=>array(75,-265,877,309),64344=>array(-22,-265,266,309),64345=>array(-22,-265,322,309),64346=>array(75,-300,877,309),64347=>array(75,-300,877,309),64348=>array(-22,-300,268,309),64349=>array(-22,-300,322,309),64350=>array(75,0,877,521),64351=>array(75,0,877,521),64352=>array(-22,0,225,601),64353=>array(-22,0,322,601),64354=>array(75,0,877,534),64355=>array(75,0,877,534),64356=>array(-22,0,258,656),64357=>array(-22,0,322,655),64358=>array(75,0,877,617),64359=>array(75,0,877,617),64360=>array(-22,0,258,667),64361=>array(-22,0,322,667),64362=>array(75,0,868,644),64363=>array(75,0,881,594),64364=>array(-15,0,308,674),64365=>array(-23,0,351,594),64366=>array(75,0,868,733),64367=>array(75,0,881,675),64368=>array(-15,0,308,725),64369=>array(-23,0,351,675),64370=>array(75,-280,591,332),64371=>array(75,-280,605,332),64372=>array(-15,-227,590,330),64373=>array(-15,-227,645,330),64374=>array(75,-280,591,332),64375=>array(75,-280,605,332),64376=>array(-15,-140,590,330),64377=>array(-15,-140,645,330),64378=>array(75,-280,591,332),64379=>array(75,-280,605,332),64380=>array(-15,-215,590,330),64381=>array(-15,-215,645,330),64382=>array(75,-280,591,332),64383=>array(75,-280,605,332),64384=>array(-15,-270,590,330),64385=>array(-15,-270,645,330),64386=>array(55,-190,368,350),64387=>array(55,-190,368,350),64388=>array(55,0,368,551),64389=>array(55,0,368,551),64390=>array(55,0,368,634),64391=>array(55,0,368,634),64392=>array(55,0,368,727),64393=>array(55,0,368,727),64394=>array(0,-247,345,504),64395=>array(0,-247,345,504),64396=>array(0,-247,345,607),64397=>array(0,-247,345,607),64398=>array(75,0,902,701),64399=>array(75,0,978,701),64400=>array(-10,0,373,701),64401=>array(-10,0,479,701),64402=>array(75,0,902,800),64403=>array(75,0,978,801),64404=>array(-10,0,373,799),64405=>array(-10,0,479,801),64406=>array(75,-277,902,800),64407=>array(75,-277,978,801),64408=>array(-10,-257,373,799),64409=>array(-10,-257,479,801),64410=>array(75,0,902,800),64411=>array(75,0,978,801),64412=>array(-17,0,373,831),64413=>array(-17,0,479,831),64414=>array(75,-194,597,355),64415=>array(75,-194,597,355),64416=>array(75,-194,597,660),64417=>array(75,-194,597,660),64418=>array(-22,0,248,664),64419=>array(-22,0,322,664),64420=>array(75,-5,342,578),64421=>array(74,0,430,672),64422=>array(75,-5,342,359),64423=>array(75,-56,393,113),64424=>array(-5,-207,283,117),64425=>array(-4,-207,340,112),64426=>array(-23,0,413,364),64427=>array(-23,0,413,364),64428=>array(-23,0,476,364),64429=>array(50,-236,520,325),64430=>array(75,-170,710,265),64431=>array(75,-170,690,75),64432=>array(75,-170,710,510),64433=>array(75,-170,690,500),64434=>array(114,457,222,561),64435=>array(118,-200,226,-96),64436=>array(123,457,344,561),64437=>array(123,-200,344,-96),64438=>array(132,457,360,654),64439=>array(132,-263,360,-66),64440=>array(148,455,376,652),64441=>array(148,-265,376,-68),64442=>array(227,220,475,494),64443=>array(227,-301,475,-27),64444=>array(88,-300,247,-103),64445=>array(94,480,232,691),64446=>array(94,-277,232,-66),64447=>array(104,-260,237,-92),64448=>array(72,396,282,657),64449=>array(72,-300,282,-39),64467=>array(75,0,711,854),64468=>array(75,0,711,854),64469=>array(-10,0,373,832),64470=>array(-10,0,479,834),64471=>array(0,-247,329,561),64472=>array(0,-247,329,561),64473=>array(40,-247,369,484),64474=>array(40,-247,369,484),64475=>array(40,-247,369,547),64476=>array(40,-247,369,547),64477=>array(40,-247,522,561),64478=>array(40,-247,369,524),64479=>array(40,-247,369,524),64480=>array(40,-247,369,254),64481=>array(40,-247,369,254),64482=>array(40,-247,369,461),64483=>array(40,-247,369,461),64484=>array(75,-300,652,315),64485=>array(75,-460,685,156),64486=>array(-22,-277,225,309),64487=>array(-22,-277,322,309),64488=>array(-22,0,225,309),64489=>array(-22,0,322,309),64508=>array(75,-160,652,315),64509=>array(75,-241,685,156),64510=>array(-22,-189,243,309),64511=>array(-22,-190,322,309),64606=>array(72,511,329,900),64607=>array(105,534,309,900),64608=>array(74,621,299,900),64609=>array(31,531,289,900),64610=>array(105,629,319,900),64611=>array(85,531,269,871),64612=>array(5,-247,721,612),64613=>array(5,-247,721,612),64615=>array(121,-194,1011,612),64618=>array(5,-247,721,334),64619=>array(5,-247,721,401),64621=>array(121,-200,1011,486),64624=>array(5,-247,721,516),64625=>array(5,-247,721,516),64627=>array(121,-194,1011,516),64630=>array(5,-247,721,576),64631=>array(5,-247,721,576),64633=>array(121,-194,1011,576),64650=>array(5,-247,721,483),64651=>array(5,-247,721,483),64653=>array(121,-194,1011,486),64657=>array(5,-247,721,334),64658=>array(5,-247,721,401),64660=>array(121,-194,1011,486),64830=>array(25,-178,414,676),64831=>array(29,-178,418,676),65010=>array(52,0,1025,900),65020=>array(42,-247,1055,700),65056=>array(-286,524,0,673),65057=>array(-286,524,0,673),65058=>array(-375,549,0,685),65059=>array(-375,549,0,685),65060=>array(-155,547,156,601),65061=>array(-481,547,-170,601),65062=>array(-500,547,0,601),65136=>array(3,674,198,895),65137=>array(-5,0,205,895),65138=>array(2,666,246,900),65139=>array(33,0,373,290),65140=>array(3,-300,198,-79),65142=>array(3,704,198,835),65143=>array(-5,0,205,835),65144=>array(3,651,197,900),65145=>array(-5,0,205,900),65146=>array(3,-300,198,-169),65147=>array(-5,-300,205,80),65148=>array(9,721,193,880),65149=>array(-5,0,205,880),65150=>array(38,693,163,850),65151=>array(-5,0,205,850),65152=>array(85,-79,329,280),65153=>array(0,-48,275,800),65154=>array(-20,0,255,806),65155=>array(24,-48,182,890),65156=>array(28,0,247,900),65157=>array(40,-247,369,548),65158=>array(30,-247,359,548),65159=>array(47,-300,205,701),65160=>array(59,-290,247,700),65161=>array(75,-160,652,512),65162=>array(75,-161,690,492),65163=>array(-22,0,225,589),65164=>array(-22,0,322,590),65165=>array(100,-48,179,701),65166=>array(96,0,247,700),65167=>array(75,-200,877,309),65168=>array(75,-200,939,309),65169=>array(-22,-200,225,309),65170=>array(-22,-200,322,309),65171=>array(75,-5,342,531),65172=>array(74,0,430,541),65173=>array(75,0,877,421),65174=>array(75,0,939,411),65175=>array(-22,0,262,500),65176=>array(-22,0,322,500),65177=>array(75,0,877,494),65178=>array(75,0,939,494),65179=>array(-22,0,258,594),65180=>array(-22,0,322,594),65181=>array(75,-280,591,332),65182=>array(75,-280,605,332),65183=>array(-15,-140,590,330),65184=>array(-15,-130,645,330),65185=>array(75,-280,591,332),65186=>array(75,-280,605,332),65187=>array(-15,0,590,330),65188=>array(-15,0,645,330),65189=>array(75,-280,591,511),65190=>array(75,-280,605,511),65191=>array(-15,0,590,511),65192=>array(-15,0,645,511),65193=>array(55,0,368,350),65194=>array(55,0,413,350),65195=>array(55,0,368,561),65196=>array(55,0,413,561),65197=>array(0,-247,345,247),65198=>array(0,-247,408,247),65199=>array(0,-247,345,431),65200=>array(0,-247,408,429),65201=>array(75,-241,914,205),65202=>array(75,-241,914,205),65203=>array(-20,0,603,205),65204=>array(-20,0,618,205),65205=>array(75,-241,914,454),65206=>array(75,-241,914,454),65207=>array(-20,0,603,455),65208=>array(-20,0,603,455),65209=>array(75,-241,909,260),65210=>array(75,-241,909,260),65211=>array(-20,0,598,260),65212=>array(-20,0,598,260),65213=>array(75,-241,909,421),65214=>array(75,-241,909,421),65215=>array(-20,0,598,415),65216=>array(-20,0,598,415),65217=>array(0,0,568,695),65218=>array(0,0,568,695),65219=>array(-15,0,491,695),65220=>array(-10,0,544,695),65221=>array(0,0,568,695),65222=>array(0,0,568,695),65223=>array(-15,0,491,695),65224=>array(-10,0,544,695),65225=>array(75,-280,591,421),65226=>array(75,-280,591,336),65227=>array(-15,0,563,355),65228=>array(-15,0,462,322),65229=>array(75,-280,591,611),65230=>array(75,-280,591,541),65231=>array(-15,0,563,549),65232=>array(-15,0,462,541),65233=>array(75,0,868,601),65234=>array(75,0,881,511),65235=>array(-15,0,308,601),65236=>array(-23,0,351,501),65237=>array(75,-170,634,501),65238=>array(75,-170,634,501),65239=>array(-15,0,308,590),65240=>array(-23,0,351,500),65241=>array(-10,0,456,675),65242=>array(75,0,711,675),65243=>array(-10,0,373,701),65244=>array(-10,0,479,701),65245=>array(75,-239,598,675),65246=>array(75,-240,677,675),65247=>array(-10,0,217,674),65248=>array(-10,0,290,675),65249=>array(75,-300,467,429),65250=>array(74,-300,435,260),65251=>array(-15,-14,389,237),65252=>array(-15,-10,489,249),65253=>array(75,-194,597,496),65254=>array(75,-194,660,496),65255=>array(-22,0,225,498),65256=>array(-22,0,322,498),65257=>array(75,-5,342,359),65258=>array(74,0,430,364),65259=>array(-23,0,413,364),65260=>array(-23,-236,420,325),65261=>array(0,-247,329,254),65262=>array(0,-247,382,254),65263=>array(75,-160,652,315),65264=>array(75,-161,690,307),65265=>array(75,-300,652,315),65266=>array(75,-300,690,307),65267=>array(-22,-190,244,309),65268=>array(-22,-190,322,309),65269=>array(12,0,453,754),65270=>array(3,-4,604,754),65271=>array(11,0,443,900),65272=>array(23,-4,624,880),65273=>array(12,-300,443,713),65274=>array(23,-300,624,694),65275=>array(12,0,443,713),65276=>array(23,-4,624,694),65532=>array(84,1,731,664),65533=>array(19,-63,882,800),65535=>array(34,-71,566,750)); +$cw=array(0=>600,13=>600,32=>250,33=>333,34=>400,35=>500,36=>500,37=>833,38=>778,39=>200,40=>333,41=>333,42=>500,43=>564,44=>250,45=>333,46=>250,47=>296,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>250,59=>250,60=>564,61=>564,62=>564,63=>444,64=>865,65=>721,66=>631,67=>670,68=>719,69=>610,70=>564,71=>722,72=>714,73=>327,74=>385,75=>709,76=>611,77=>881,78=>725,79=>724,80=>576,81=>723,82=>667,83=>529,84=>606,85=>721,86=>701,87=>947,88=>714,89=>701,90=>613,91=>333,92=>296,93=>333,94=>469,95=>500,96=>250,97=>435,98=>500,99=>444,100=>499,101=>444,102=>373,103=>467,104=>498,105=>278,106=>348,107=>513,108=>258,109=>779,110=>489,111=>491,112=>500,113=>499,114=>345,115=>367,116=>283,117=>490,118=>468,119=>683,120=>482,121=>471,122=>417,123=>480,124=>200,125=>480,126=>500,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>200,167=>500,168=>333,169=>793,170=>276,171=>500,172=>564,173=>333,174=>792,175=>333,176=>400,177=>564,178=>320,179=>320,180=>250,181=>500,182=>483,183=>250,184=>333,185=>320,186=>310,187=>500,188=>730,189=>750,190=>750,191=>444,192=>721,193=>721,194=>721,195=>721,196=>721,197=>721,198=>888,199=>674,200=>610,201=>610,202=>610,203=>610,204=>327,205=>327,206=>327,207=>327,208=>719,209=>725,210=>724,211=>724,212=>724,213=>724,214=>724,215=>564,216=>724,217=>721,218=>721,219=>721,220=>721,221=>701,222=>577,223=>491,224=>435,225=>435,226=>435,227=>435,228=>435,229=>435,230=>639,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>492,241=>489,242=>491,243=>491,244=>491,245=>491,246=>491,247=>564,248=>491,249=>490,250=>490,251=>490,252=>490,253=>471,254=>500,255=>471,256=>721,257=>435,258=>721,259=>435,260=>717,261=>437,262=>670,263=>444,264=>670,265=>444,266=>670,267=>444,268=>670,269=>444,270=>719,271=>635,272=>719,273=>498,274=>610,275=>444,276=>610,277=>444,278=>610,279=>444,280=>611,281=>444,282=>610,283=>444,284=>722,285=>467,286=>722,287=>467,288=>722,289=>467,290=>722,291=>467,292=>714,293=>498,294=>711,295=>498,296=>327,297=>278,298=>327,299=>278,300=>327,301=>278,302=>325,303=>278,304=>327,305=>278,306=>699,307=>529,308=>385,309=>348,310=>709,311=>513,312=>503,313=>611,314=>258,315=>611,316=>258,317=>611,318=>390,319=>611,320=>382,321=>606,322=>278,323=>725,324=>489,325=>725,326=>489,327=>725,328=>489,329=>538,330=>701,331=>500,332=>724,333=>491,334=>724,335=>491,336=>724,337=>491,338=>900,339=>705,340=>667,341=>345,342=>667,343=>345,344=>667,345=>345,346=>529,347=>367,348=>529,349=>367,350=>549,351=>367,352=>529,353=>367,354=>596,355=>283,356=>606,357=>410,358=>596,359=>283,360=>721,361=>490,362=>721,363=>490,364=>721,365=>490,366=>721,367=>490,368=>721,369=>490,370=>711,371=>501,372=>947,373=>683,374=>701,375=>471,376=>701,377=>613,378=>417,379=>613,380=>417,381=>613,382=>417,383=>373,384=>504,385=>737,386=>624,387=>513,388=>641,389=>515,390=>670,391=>813,392=>554,393=>719,394=>830,395=>582,396=>511,397=>496,398=>610,399=>711,400=>525,401=>629,402=>460,403=>819,404=>650,405=>735,406=>333,407=>336,408=>776,409=>513,410=>286,411=>470,412=>951,413=>798,414=>495,415=>724,416=>723,417=>536,418=>1038,419=>774,420=>692,421=>495,422=>674,423=>549,424=>367,425=>603,426=>592,427=>289,428=>622,429=>376,430=>596,431=>783,432=>545,433=>723,434=>724,435=>801,436=>570,437=>617,438=>416,439=>531,440=>537,441=>396,442=>389,443=>500,444=>604,445=>439,446=>389,447=>502,448=>190,449=>350,450=>600,451=>333,452=>1333,453=>1166,454=>944,455=>1000,456=>889,457=>546,458=>1111,459=>1000,460=>778,461=>721,462=>435,463=>327,464=>278,465=>724,466=>491,467=>721,468=>490,469=>721,470=>490,471=>721,472=>490,473=>722,474=>490,475=>721,476=>490,477=>444,478=>721,479=>435,480=>721,481=>435,482=>888,483=>639,484=>722,485=>490,486=>722,487=>467,488=>709,489=>513,490=>722,491=>491,492=>722,493=>491,494=>531,495=>387,496=>348,497=>1333,498=>1166,499=>944,500=>722,501=>467,502=>1001,503=>552,504=>725,505=>489,506=>722,507=>435,508=>888,509=>639,510=>724,511=>491,512=>721,513=>435,514=>721,515=>435,516=>610,517=>444,518=>610,519=>444,520=>327,521=>278,522=>327,523=>278,524=>724,525=>491,526=>724,527=>491,528=>667,529=>345,530=>667,531=>345,532=>721,533=>490,534=>721,535=>490,536=>529,537=>367,538=>606,539=>283,540=>435,541=>426,542=>714,543=>498,544=>715,545=>588,546=>555,547=>458,548=>611,549=>444,550=>721,551=>435,552=>611,553=>444,554=>724,555=>491,556=>724,557=>491,558=>724,559=>491,560=>724,561=>491,562=>701,563=>471,564=>407,565=>597,566=>379,567=>348,568=>771,569=>762,570=>721,571=>674,572=>434,573=>612,574=>596,575=>377,576=>444,577=>418,578=>418,579=>628,580=>720,581=>701,582=>610,583=>444,584=>385,585=>358,586=>760,587=>559,588=>667,589=>345,590=>701,591=>490,592=>435,593=>498,594=>498,595=>493,596=>434,597=>444,598=>551,599=>569,600=>444,601=>444,602=>703,603=>403,604=>403,605=>641,606=>422,607=>353,608=>572,609=>501,610=>521,611=>494,612=>567,613=>498,614=>498,615=>501,616=>285,617=>306,618=>275,619=>340,620=>354,621=>364,622=>553,623=>779,624=>779,625=>772,626=>544,627=>547,628=>549,629=>491,630=>652,631=>661,632=>624,633=>345,634=>345,635=>443,636=>345,637=>344,638=>379,639=>374,640=>489,641=>484,642=>377,643=>360,644=>360,645=>360,646=>451,647=>281,648=>330,649=>512,650=>504,651=>485,652=>468,653=>683,654=>471,655=>485,656=>583,657=>428,658=>387,659=>409,660=>418,661=>408,662=>408,663=>454,664=>724,665=>468,666=>422,667=>587,668=>540,669=>343,670=>513,671=>449,672=>573,673=>408,674=>408,675=>784,676=>794,677=>801,678=>550,679=>493,680=>675,681=>752,682=>553,683=>543,684=>477,685=>500,686=>612,687=>667,688=>332,689=>333,690=>232,691=>228,692=>228,693=>305,694=>321,695=>463,696=>322,697=>250,698=>408,699=>200,700=>200,701=>200,702=>250,703=>250,704=>258,705=>258,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>250,713=>333,714=>250,715=>250,716=>250,717=>333,718=>250,719=>250,720=>250,721=>250,722=>250,723=>250,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>336,735=>352,736=>331,737=>187,738=>263,739=>332,740=>300,741=>460,742=>460,743=>460,744=>460,745=>460,746=>477,747=>475,748=>339,749=>333,750=>400,751=>333,752=>333,753=>333,754=>333,755=>333,756=>250,757=>437,758=>437,759=>333,760=>250,761=>200,762=>200,763=>200,764=>200,765=>333,766=>333,767=>333,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>332,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,880=>535,881=>433,882=>537,883=>497,884=>199,885=>199,886=>722,887=>590,890=>332,891=>485,892=>485,893=>485,894=>250,900=>267,901=>333,902=>721,903=>250,904=>800,905=>902,906=>507,908=>818,910=>861,911=>871,912=>286,913=>721,914=>631,915=>569,916=>660,917=>610,918=>613,919=>714,920=>754,921=>327,922=>709,923=>721,924=>881,925=>725,926=>590,927=>724,928=>713,929=>576,931=>603,932=>606,933=>666,934=>760,935=>714,936=>788,937=>723,938=>327,939=>666,940=>583,941=>426,942=>536,943=>286,944=>514,945=>583,946=>527,947=>480,948=>534,949=>426,950=>466,951=>536,952=>534,953=>286,954=>544,955=>476,956=>536,957=>480,958=>514,959=>491,960=>587,961=>528,962=>452,963=>537,964=>420,965=>514,966=>643,967=>480,968=>693,969=>693,970=>286,971=>514,972=>491,973=>514,974=>693,975=>671,976=>534,977=>587,978=>627,979=>803,980=>627,981=>640,982=>684,983=>534,984=>576,985=>500,986=>602,987=>426,988=>559,989=>445,990=>656,991=>400,992=>721,993=>570,994=>962,995=>673,996=>592,997=>522,998=>580,999=>460,1000=>500,1001=>338,1002=>842,1003=>593,1004=>564,1005=>412,1006=>634,1007=>447,1008=>534,1009=>534,1010=>485,1011=>348,1012=>724,1013=>361,1014=>361,1015=>577,1016=>537,1017=>674,1018=>889,1019=>709,1020=>534,1021=>668,1022=>675,1023=>668,1024=>610,1025=>610,1026=>747,1027=>564,1028=>660,1029=>549,1030=>327,1031=>327,1032=>380,1033=>948,1034=>985,1035=>821,1036=>664,1037=>713,1038=>709,1039=>713,1040=>711,1041=>576,1042=>626,1043=>564,1044=>639,1045=>610,1046=>937,1047=>585,1048=>713,1049=>713,1050=>664,1051=>681,1052=>881,1053=>713,1054=>724,1055=>713,1056=>576,1057=>670,1058=>606,1059=>709,1060=>760,1061=>714,1062=>717,1063=>672,1064=>974,1065=>982,1066=>724,1067=>852,1068=>576,1069=>660,1070=>962,1071=>643,1072=>435,1073=>495,1074=>468,1075=>388,1076=>490,1077=>436,1078=>662,1079=>401,1080=>524,1081=>524,1082=>498,1083=>490,1084=>632,1085=>524,1086=>491,1087=>524,1088=>500,1089=>424,1090=>422,1091=>471,1092=>694,1093=>482,1094=>524,1095=>504,1096=>756,1097=>756,1098=>505,1099=>624,1100=>431,1101=>432,1102=>664,1103=>492,1104=>434,1105=>434,1106=>479,1107=>388,1108=>432,1109=>367,1110=>269,1111=>278,1112=>348,1113=>677,1114=>711,1115=>514,1116=>498,1117=>524,1118=>471,1119=>524,1120=>988,1121=>664,1122=>723,1123=>506,1124=>941,1125=>647,1126=>901,1127=>635,1128=>1245,1129=>894,1130=>937,1131=>654,1132=>1278,1133=>907,1134=>519,1135=>378,1136=>868,1137=>694,1138=>724,1139=>491,1140=>770,1141=>550,1142=>770,1143=>550,1144=>1151,1145=>885,1146=>879,1147=>611,1148=>988,1149=>664,1150=>988,1151=>664,1152=>602,1153=>428,1154=>232,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>713,1163=>522,1164=>576,1165=>430,1166=>575,1167=>511,1168=>559,1169=>397,1170=>571,1171=>392,1172=>619,1173=>462,1174=>983,1175=>682,1176=>587,1177=>401,1178=>683,1179=>516,1180=>708,1181=>531,1182=>664,1183=>494,1184=>811,1185=>568,1186=>717,1187=>519,1188=>921,1189=>647,1190=>1025,1191=>721,1192=>751,1193=>516,1194=>660,1195=>424,1196=>606,1197=>452,1198=>701,1199=>563,1200=>701,1201=>563,1202=>765,1203=>518,1204=>958,1205=>692,1206=>676,1207=>505,1208=>716,1209=>538,1210=>672,1211=>508,1212=>859,1213=>553,1214=>858,1215=>553,1216=>327,1217=>937,1218=>662,1219=>613,1220=>441,1221=>681,1222=>489,1223=>713,1224=>497,1225=>713,1226=>545,1227=>672,1228=>504,1229=>881,1230=>630,1231=>327,1232=>711,1233=>435,1234=>711,1235=>435,1236=>883,1237=>639,1238=>610,1239=>436,1240=>711,1241=>436,1242=>711,1243=>436,1244=>937,1245=>662,1246=>585,1247=>401,1248=>531,1249=>366,1250=>713,1251=>524,1252=>713,1253=>524,1254=>724,1255=>491,1256=>724,1257=>491,1258=>724,1259=>491,1260=>660,1261=>432,1262=>709,1263=>471,1264=>709,1265=>471,1266=>709,1267=>471,1268=>672,1269=>504,1270=>559,1271=>383,1272=>852,1273=>624,1274=>559,1275=>386,1276=>706,1277=>436,1278=>714,1279=>492,1280=>576,1281=>504,1282=>908,1283=>634,1284=>803,1285=>518,1286=>553,1287=>471,1288=>931,1289=>637,1290=>964,1291=>682,1292=>725,1293=>433,1294=>705,1295=>499,1296=>523,1297=>407,1298=>681,1299=>489,1300=>941,1301=>644,1302=>820,1303=>697,1304=>949,1305=>748,1306=>723,1307=>505,1308=>947,1309=>693,1310=>664,1311=>497,1312=>992,1313=>710,1314=>1029,1315=>741,1316=>719,1317=>520,1318=>678,1319=>505,1329=>794,1330=>712,1331=>782,1332=>854,1333=>711,1334=>702,1335=>707,1336=>655,1337=>777,1338=>782,1339=>710,1340=>663,1341=>830,1342=>917,1343=>672,1344=>469,1345=>666,1346=>858,1347=>685,1348=>856,1349=>618,1350=>858,1351=>709,1352=>719,1353=>714,1354=>731,1355=>702,1356=>874,1357=>719,1358=>844,1359=>519,1360=>703,1361=>608,1362=>586,1363=>750,1364=>780,1365=>714,1366=>684,1369=>120,1370=>120,1371=>269,1372=>307,1373=>241,1374=>312,1375=>300,1377=>786,1378=>506,1379=>542,1380=>541,1381=>506,1382=>503,1383=>478,1384=>499,1385=>541,1386=>539,1387=>508,1388=>289,1389=>750,1390=>540,1391=>513,1392=>508,1393=>503,1394=>531,1395=>518,1396=>500,1397=>243,1398=>473,1399=>406,1400=>499,1401=>407,1402=>793,1403=>414,1404=>463,1405=>500,1406=>516,1407=>758,1408=>504,1409=>466,1410=>288,1411=>758,1412=>510,1413=>501,1414=>562,1415=>543,1417=>278,1418=>280,1423=>754,1425=>0,1426=>0,1427=>0,1428=>0,1429=>0,1430=>0,1431=>0,1432=>0,1433=>0,1434=>0,1435=>0,1436=>0,1437=>0,1438=>0,1439=>0,1440=>0,1441=>0,1442=>0,1443=>0,1444=>0,1445=>0,1446=>0,1447=>0,1448=>0,1449=>0,1450=>0,1451=>0,1452=>0,1453=>0,1454=>0,1455=>0,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>370,1471=>0,1472=>126,1473=>0,1474=>0,1475=>346,1476=>0,1477=>0,1478=>350,1479=>0,1488=>537,1489=>537,1490=>350,1491=>537,1492=>537,1493=>350,1494=>350,1495=>537,1496=>537,1497=>320,1498=>537,1499=>537,1500=>537,1501=>537,1502=>537,1503=>310,1504=>350,1505=>537,1506=>537,1507=>537,1508=>537,1509=>537,1510=>537,1511=>537,1512=>537,1513=>537,1514=>537,1520=>583,1521=>563,1522=>537,1523=>396,1524=>396,1536=>600,1537=>1000,1538=>800,1539=>800,1542=>549,1543=>549,1544=>724,1545=>599,1546=>729,1547=>626,1548=>246,1549=>344,1550=>640,1551=>686,1552=>0,1553=>0,1554=>0,1555=>0,1556=>0,1557=>0,1558=>0,1559=>0,1560=>0,1561=>0,1562=>0,1563=>250,1566=>374,1567=>444,1568=>672,1569=>350,1570=>245,1571=>229,1572=>329,1573=>229,1574=>672,1575=>229,1576=>877,1577=>416,1578=>877,1579=>877,1580=>598,1581=>598,1582=>598,1583=>348,1584=>348,1585=>345,1586=>345,1587=>901,1588=>901,1589=>909,1590=>909,1591=>568,1592=>568,1593=>591,1594=>591,1595=>902,1596=>902,1597=>672,1598=>672,1599=>672,1600=>200,1601=>858,1602=>626,1603=>486,1604=>598,1605=>475,1606=>585,1607=>372,1608=>329,1609=>672,1610=>672,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1619=>0,1620=>0,1621=>0,1622=>0,1623=>0,1624=>0,1625=>0,1626=>0,1627=>0,1628=>0,1629=>0,1630=>0,1631=>0,1632=>500,1633=>500,1634=>500,1635=>500,1636=>500,1637=>500,1638=>500,1639=>500,1640=>500,1641=>500,1642=>440,1643=>212,1644=>235,1645=>471,1646=>877,1647=>626,1648=>0,1649=>229,1650=>229,1651=>229,1652=>300,1653=>326,1654=>442,1655=>482,1656=>792,1657=>877,1658=>877,1659=>877,1660=>877,1661=>877,1662=>877,1663=>877,1664=>877,1665=>598,1666=>598,1667=>598,1668=>598,1669=>598,1670=>598,1671=>598,1672=>348,1673=>348,1674=>348,1675=>348,1676=>348,1677=>348,1678=>348,1679=>348,1680=>348,1681=>345,1682=>345,1683=>345,1684=>345,1685=>492,1686=>345,1687=>345,1688=>345,1689=>345,1690=>901,1691=>901,1692=>901,1693=>909,1694=>909,1695=>568,1696=>591,1697=>858,1698=>858,1699=>858,1700=>858,1701=>858,1702=>858,1703=>626,1704=>626,1705=>902,1706=>1108,1707=>902,1708=>486,1709=>486,1710=>486,1711=>902,1712=>902,1713=>902,1714=>902,1715=>902,1716=>902,1717=>598,1718=>598,1719=>598,1720=>598,1721=>585,1722=>585,1723=>585,1724=>585,1725=>585,1726=>446,1727=>598,1728=>372,1729=>372,1730=>372,1731=>372,1732=>329,1733=>329,1734=>329,1735=>329,1736=>329,1737=>329,1738=>329,1739=>329,1740=>672,1741=>728,1742=>672,1743=>329,1744=>672,1745=>672,1746=>710,1747=>710,1748=>395,1749=>372,1750=>0,1751=>0,1752=>0,1753=>0,1754=>0,1755=>0,1756=>0,1757=>1132,1758=>970,1759=>0,1760=>0,1761=>0,1762=>0,1763=>0,1764=>301,1765=>250,1766=>400,1767=>0,1768=>0,1769=>760,1770=>0,1771=>0,1772=>0,1773=>0,1774=>348,1775=>345,1776=>500,1777=>501,1778=>500,1779=>500,1780=>500,1781=>500,1782=>500,1783=>500,1784=>500,1785=>500,1786=>901,1787=>909,1788=>591,1789=>300,1790=>246,1791=>446,1872=>877,1873=>877,1874=>877,1875=>877,1876=>877,1877=>877,1878=>877,1879=>598,1880=>598,1881=>348,1882=>348,1883=>345,1884=>901,1885=>591,1886=>591,1887=>591,1888=>858,1889=>858,1890=>902,1891=>902,1892=>902,1893=>475,1894=>475,1895=>585,1896=>585,1897=>585,1898=>678,1899=>345,1900=>345,1901=>901,1902=>598,1903=>598,1904=>901,1905=>345,1906=>598,1907=>229,1908=>229,1909=>672,1910=>672,1911=>753,1912=>329,1913=>329,1914=>710,1915=>710,1916=>598,1917=>901,1918=>901,1919=>486,1920=>450,1921=>501,1922=>582,1923=>544,1924=>482,1925=>433,1926=>448,1927=>462,1928=>474,1929=>471,1930=>469,1931=>537,1932=>499,1933=>514,1934=>471,1935=>572,1936=>880,1937=>440,1938=>476,1939=>594,1940=>469,1941=>448,1942=>441,1943=>519,1944=>573,1945=>459,1946=>447,1947=>496,1948=>541,1949=>887,1950=>883,1951=>964,1952=>558,1953=>505,1954=>471,1955=>554,1956=>459,1957=>486,1958=>36,1959=>36,1960=>43,1961=>45,1962=>43,1963=>45,1964=>45,1965=>45,1966=>45,1967=>45,1968=>0,1969=>406,2304=>0,2305=>0,2306=>0,2307=>398,2308=>861,2309=>861,2310=>1070,2311=>553,2312=>553,2313=>597,2314=>848,2315=>967,2316=>828,2317=>654,2318=>654,2319=>654,2320=>654,2321=>1070,2322=>1070,2323=>1070,2324=>1070,2325=>743,2326=>797,2327=>694,2328=>694,2329=>730,2330=>734,2331=>887,2332=>813,2333=>833,2334=>734,2335=>628,2336=>628,2337=>652,2338=>608,2339=>694,2340=>654,2341=>694,2342=>588,2343=>694,2344=>654,2345=>654,2346=>614,2347=>788,2348=>621,2349=>694,2350=>694,2351=>694,2352=>494,2353=>494,2354=>787,2355=>847,2356=>847,2357=>621,2358=>787,2359=>614,2360=>734,2361=>608,2362=>341,2363=>341,2364=>0,2365=>569,2366=>341,2367=>341,2368=>341,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>341,2378=>341,2379=>341,2380=>341,2381=>0,2382=>420,2383=>226,2384=>1047,2385=>0,2386=>0,2387=>0,2388=>0,2389=>0,2390=>0,2391=>0,2392=>743,2393=>797,2394=>694,2395=>813,2396=>652,2397=>608,2398=>788,2399=>694,2400=>967,2401=>827,2402=>0,2403=>0,2404=>450,2405=>644,2406=>455,2407=>419,2408=>569,2409=>509,2410=>701,2411=>628,2412=>569,2413=>701,2414=>608,2415=>608,2416=>455,2417=>398,2418=>861,2419=>861,2420=>1040,2421=>1040,2422=>861,2423=>861,2425=>813,2426=>694,2427=>654,2428=>814,2429=>569,2430=>730,2431=>621,2433=>0,2434=>300,2435=>312,2437=>594,2438=>776,2439=>469,2440=>513,2441=>535,2442=>561,2443=>604,2444=>481,2447=>580,2448=>604,2451=>540,2452=>620,2453=>570,2454=>485,2455=>484,2456=>471,2457=>457,2458=>408,2459=>452,2460=>591,2461=>551,2462=>771,2463=>414,2464=>404,2465=>522,2466=>415,2467=>450,2468=>551,2469=>477,2470=>478,2471=>449,2472=>448,2474=>535,2475=>611,2476=>443,2477=>534,2478=>492,2479=>474,2480=>442,2482=>542,2486=>507,2487=>467,2488=>523,2489=>419,2492=>0,2493=>419,2494=>202,2495=>189,2496=>202,2497=>0,2498=>0,2499=>0,2500=>0,2503=>294,2504=>289,2507=>774,2508=>825,2509=>0,2510=>356,2519=>219,2524=>523,2525=>420,2527=>469,2528=>604,2529=>481,2530=>0,2531=>0,2534=>500,2535=>437,2536=>479,2537=>507,2538=>497,2539=>500,2540=>482,2541=>503,2542=>517,2543=>481,2544=>443,2545=>443,2546=>429,2547=>383,2548=>432,2549=>478,2550=>539,2551=>158,2552=>365,2553=>280,2554=>357,2555=>344,2561=>0,2562=>0,2563=>385,2565=>781,2566=>982,2567=>789,2568=>860,2569=>559,2570=>559,2575=>589,2576=>781,2579=>559,2580=>781,2581=>538,2582=>650,2583=>650,2584=>781,2585=>589,2586=>589,2587=>699,2588=>650,2589=>589,2590=>589,2591=>589,2592=>589,2593=>559,2594=>589,2595=>589,2596=>559,2597=>650,2598=>589,2599=>650,2600=>626,2602=>650,2603=>570,2604=>650,2605=>559,2606=>650,2607=>781,2608=>490,2610=>626,2611=>626,2613=>589,2614=>650,2616=>650,2617=>490,2620=>0,2622=>320,2623=>260,2624=>320,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2641=>0,2649=>650,2650=>650,2651=>650,2652=>559,2654=>570,2662=>420,2663=>350,2664=>490,2665=>434,2666=>574,2667=>455,2668=>452,2669=>490,2670=>504,2671=>504,2672=>0,2673=>0,2674=>589,2675=>559,2676=>808,2677=>0,2689=>0,2690=>0,2691=>287,2693=>1055,2694=>1272,2695=>643,2696=>772,2697=>756,2698=>1034,2699=>971,2700=>885,2701=>1055,2703=>1055,2704=>1055,2705=>1272,2707=>1272,2708=>1272,2709=>706,2710=>822,2711=>730,2712=>653,2713=>636,2714=>800,2715=>773,2716=>946,2717=>954,2718=>834,2719=>582,2720=>582,2721=>549,2722=>497,2723=>872,2724=>663,2725=>767,2726=>559,2727=>600,2728=>745,2730=>649,2731=>714,2732=>803,2733=>800,2734=>706,2735=>819,2736=>517,2738=>756,2739=>780,2741=>623,2742=>771,2743=>559,2744=>810,2745=>711,2748=>0,2749=>497,2750=>245,2751=>226,2752=>286,2753=>0,2754=>0,2755=>0,2756=>0,2757=>0,2759=>0,2760=>0,2761=>258,2763=>250,2764=>257,2765=>0,2768=>1078,2784=>1071,2785=>841,2786=>0,2787=>0,2790=>602,2791=>490,2792=>587,2793=>666,2794=>620,2795=>657,2796=>560,2797=>695,2798=>550,2799=>592,2800=>362,2801=>805,2817=>0,2818=>257,2819=>389,2821=>789,2822=>968,2823=>832,2824=>863,2825=>833,2826=>852,2827=>807,2828=>600,2831=>703,2832=>1000,2835=>689,2836=>959,2837=>739,2838=>748,2839=>768,2840=>775,2841=>828,2842=>711,2843=>634,2844=>691,2845=>679,2846=>624,2847=>693,2848=>667,2849=>741,2850=>692,2851=>756,2852=>713,2853=>748,2854=>688,2855=>677,2856=>689,2858=>748,2859=>960,2860=>682,2861=>787,2862=>748,2863=>808,2864=>758,2866=>870,2867=>722,2869=>676,2870=>744,2871=>738,2872=>652,2873=>583,2876=>0,2877=>366,2878=>228,2879=>0,2880=>218,2881=>0,2882=>0,2883=>0,2884=>0,2887=>501,2888=>1137,2891=>1322,2892=>1318,2893=>0,2902=>0,2903=>201,2908=>741,2909=>692,2911=>825,2912=>785,2913=>700,2914=>0,2915=>0,2918=>724,2919=>521,2920=>498,2921=>786,2922=>641,2923=>624,2924=>628,2925=>612,2926=>522,2927=>497,2928=>636,2929=>755,2930=>228,2931=>440,2932=>650,2933=>741,2934=>787,2935=>782,2946=>0,2947=>616,2949=>910,2950=>1072,2951=>848,2952=>591,2953=>492,2954=>1123,2958=>602,2959=>602,2960=>691,2962=>753,2963=>753,2964=>1597,2965=>686,2969=>727,2970=>607,2972=>700,2974=>879,2975=>589,2979=>1230,2980=>697,2984=>569,2985=>911,2986=>507,2990=>634,2991=>702,2992=>452,2993=>573,2994=>661,2995=>804,2996=>655,2997=>770,2998=>794,2999=>873,3000=>880,3001=>1102,3006=>452,3007=>176,3008=>0,3009=>404,3010=>641,3014=>690,3015=>500,3016=>848,3018=>1159,3019=>1000,3020=>1488,3021=>0,3024=>763,3031=>844,3046=>500,3047=>686,3048=>829,3049=>673,3050=>793,3051=>829,3052=>841,3053=>602,3054=>910,3055=>797,3056=>587,3057=>697,3058=>878,3059=>609,3060=>833,3061=>1549,3062=>664,3063=>978,3064=>1325,3065=>825,3066=>711,3330=>417,3331=>221,3333=>1055,3334=>1195,3335=>792,3336=>1469,3337=>570,3338=>1244,3339=>676,3340=>897,3342=>1008,3343=>1008,3344=>1538,3346=>586,3347=>981,3348=>1254,3349=>776,3350=>798,3351=>691,3352=>1095,3353=>811,3354=>728,3355=>963,3356=>704,3357=>1245,3358=>1106,3359=>466,3360=>531,3361=>984,3362=>1028,3363=>1102,3364=>780,3365=>732,3366=>485,3367=>737,3368=>747,3369=>747,3370=>780,3371=>962,3372=>1023,3373=>500,3374=>511,3375=>792,3376=>530,3377=>512,3378=>712,3379=>556,3380=>519,3381=>716,3382=>786,3383=>921,3384=>977,3385=>978,3386=>780,3389=>375,3390=>403,3391=>199,3392=>190,3393=>275,3394=>258,3395=>378,3396=>378,3398=>542,3399=>478,3400=>1070,3402=>0,3403=>0,3404=>0,3405=>89,3406=>221,3415=>677,3424=>676,3425=>1006,3426=>0,3427=>0,3430=>559,3431=>660,3432=>674,3433=>933,3434=>671,3435=>699,3436=>704,3437=>694,3438=>678,3439=>684,3440=>981,3441=>742,3442=>1056,3443=>660,3444=>664,3445=>870,3449=>864,3450=>1137,3451=>776,3452=>534,3453=>860,3454=>780,3455=>866,3458=>254,3459=>254,3461=>616,3462=>922,3463=>908,3464=>907,3465=>626,3466=>615,3467=>763,3468=>1109,3469=>1019,3470=>1311,3471=>1050,3472=>1477,3473=>677,3474=>746,3475=>1314,3476=>741,3477=>741,3478=>1170,3482=>894,3483=>715,3484=>715,3485=>719,3486=>741,3487=>834,3488=>719,3489=>677,3490=>677,3491=>1302,3492=>1005,3493=>919,3494=>677,3495=>719,3496=>677,3497=>741,3498=>677,3499=>1123,3500=>743,3501=>779,3502=>677,3503=>444,3504=>741,3505=>921,3507=>444,3508=>677,3509=>677,3510=>715,3511=>787,3512=>719,3513=>741,3514=>719,3515=>604,3517=>763,3520=>719,3521=>715,3522=>677,3523=>719,3524=>787,3525=>763,3526=>677,3530=>0,3535=>329,3536=>319,3537=>319,3538=>0,3539=>0,3540=>0,3542=>0,3544=>329,3545=>691,3546=>1062,3547=>1333,3548=>1278,3549=>1235,3550=>1292,3551=>461,3570=>680,3571=>481,3572=>948,3585=>532,3586=>472,3587=>534,3588=>532,3589=>544,3590=>583,3591=>417,3592=>488,3593=>604,3594=>472,3595=>534,3596=>716,3597=>717,3598=>568,3599=>568,3600=>457,3601=>637,3602=>731,3603=>790,3604=>531,3605=>542,3606=>522,3607=>577,3608=>468,3609=>603,3610=>554,3611=>554,3612=>556,3613=>556,3614=>604,3615=>604,3616=>568,3617=>542,3618=>496,3619=>442,3620=>530,3621=>512,3622=>568,3623=>478,3624=>543,3625=>614,3626=>525,3627=>578,3628=>659,3629=>514,3630=>514,3631=>450,3632=>402,3633=>0,3634=>378,3635=>415,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>620,3648=>286,3649=>521,3650=>447,3651=>426,3652=>424,3653=>333,3654=>453,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>657,3664=>528,3665=>528,3666=>571,3667=>594,3668=>631,3669=>632,3670=>478,3671=>713,3672=>597,3673=>565,3674=>615,3675=>1381,4256=>453,4257=>448,4258=>546,4259=>619,4260=>478,4261=>481,4262=>459,4263=>707,4264=>467,4265=>471,4266=>855,4267=>464,4268=>443,4269=>707,4270=>460,4271=>465,4272=>686,4273=>440,4274=>550,4275=>561,4276=>580,4277=>467,4278=>630,4279=>466,4280=>517,4281=>456,4282=>502,4283=>464,4284=>534,4285=>440,4286=>443,4287=>522,4288=>460,4289=>463,4290=>536,4291=>455,4292=>468,4293=>449,4304=>454,4305=>452,4306=>544,4307=>629,4308=>451,4309=>452,4310=>452,4311=>702,4312=>451,4313=>452,4314=>820,4315=>451,4316=>453,4317=>695,4318=>449,4319=>448,4320=>694,4321=>501,4322=>544,4323=>518,4324=>560,4325=>450,4326=>627,4327=>452,4328=>490,4329=>452,4330=>485,4331=>452,4332=>485,4333=>443,4334=>500,4335=>582,4336=>455,4337=>451,4338=>482,4339=>414,4340=>453,4341=>418,4342=>741,4343=>452,4344=>452,4345=>544,4346=>454,4347=>410,4348=>339,4608=>583,4609=>770,4610=>560,4611=>525,4612=>525,4613=>583,4614=>758,4616=>598,4617=>787,4618=>817,4619=>583,4620=>758,4621=>612,4622=>875,4623=>817,4624=>817,4625=>1050,4626=>1050,4627=>817,4628=>1050,4629=>817,4630=>787,4631=>1021,4632=>933,4633=>1137,4634=>1067,4635=>980,4636=>1065,4637=>962,4638=>962,4639=>1097,4640=>831,4641=>1021,4642=>851,4643=>735,4644=>875,4645=>968,4646=>817,4647=>881,4648=>583,4649=>642,4650=>583,4651=>758,4652=>700,4653=>583,4654=>700,4655=>758,4656=>583,4657=>787,4658=>787,4659=>583,4660=>729,4661=>583,4662=>583,4663=>817,4664=>642,4665=>817,4666=>846,4667=>642,4668=>758,4669=>744,4670=>642,4671=>817,4672=>700,4673=>700,4674=>700,4675=>758,4676=>700,4677=>700,4678=>729,4680=>846,4682=>1079,4683=>700,4684=>700,4685=>1021,4688=>700,4689=>700,4690=>700,4691=>758,4692=>700,4693=>758,4694=>729,4696=>846,4698=>1079,4699=>700,4700=>700,4701=>1021,4704=>525,4705=>758,4706=>758,4707=>525,4708=>700,4709=>773,4710=>525,4711=>787,4712=>525,4713=>758,4714=>758,4715=>525,4716=>700,4717=>773,4718=>525,4719=>525,4720=>729,4721=>729,4722=>729,4723=>802,4724=>729,4725=>729,4726=>758,4727=>729,4728=>758,4729=>758,4730=>758,4731=>817,4732=>758,4733=>817,4734=>758,4735=>758,4736=>612,4737=>817,4738=>817,4739=>612,4740=>787,4741=>583,4742=>875,4744=>962,4746=>992,4747=>700,4748=>758,4749=>904,4752=>408,4753=>583,4754=>525,4755=>554,4756=>481,4757=>554,4758=>642,4759=>671,4760=>700,4761=>758,4762=>729,4763=>700,4764=>671,4765=>700,4766=>758,4767=>700,4768=>583,4769=>735,4770=>822,4771=>583,4772=>793,4773=>583,4774=>583,4775=>694,4776=>554,4777=>729,4778=>773,4779=>554,4780=>700,4781=>554,4782=>554,4784=>992,4786=>1021,4787=>671,4788=>787,4789=>904,4792=>729,4793=>904,4794=>948,4795=>729,4796=>875,4797=>729,4798=>729,4800=>1137,4802=>1167,4803=>758,4804=>875,4805=>1108,4808=>758,4809=>875,4810=>700,4811=>700,4812=>700,4813=>992,4814=>758,4816=>554,4817=>787,4818=>758,4819=>583,4820=>758,4821=>496,4822=>612,4824=>525,4825=>700,4826=>700,4827=>525,4828=>685,4829=>729,4830=>510,4831=>729,4832=>962,4833=>962,4834=>962,4835=>962,4836=>962,4837=>1021,4838=>962,4839=>962,4840=>467,4841=>525,4842=>671,4843=>612,4844=>612,4845=>671,4846=>671,4848=>612,4849=>875,4850=>817,4851=>642,4852=>729,4853=>729,4854=>758,4855=>817,4856=>700,4857=>758,4858=>715,4859=>700,4860=>700,4861=>787,4862=>758,4863=>700,4864=>700,4865=>758,4866=>715,4867=>700,4868=>700,4869=>787,4870=>758,4871=>700,4872=>467,4873=>671,4874=>671,4875=>612,4876=>612,4877=>583,4878=>525,4880=>846,4882=>904,4883=>554,4884=>700,4885=>817,4888=>525,4889=>729,4890=>729,4891=>612,4892=>671,4893=>583,4894=>525,4896=>817,4897=>1021,4898=>1021,4899=>817,4900=>992,4901=>758,4902=>817,4903=>1021,4904=>1079,4905=>1137,4906=>1137,4907=>1050,4908=>1312,4909=>1050,4910=>1050,4911=>1123,4912=>647,4913=>793,4914=>822,4915=>647,4916=>793,4917=>764,4918=>583,4919=>647,4920=>583,4921=>793,4922=>822,4923=>583,4924=>793,4925=>764,4926=>583,4927=>793,4928=>540,4929=>758,4930=>583,4931=>467,4932=>583,4933=>481,4934=>612,4936=>758,4937=>700,4938=>758,4939=>700,4940=>831,4941=>671,4942=>758,4943=>700,4944=>758,4945=>758,4946=>758,4947=>817,4948=>758,4949=>758,4950=>817,4951=>758,4952=>642,4953=>980,4954=>758,4961=>233,4962=>583,4963=>408,4964=>408,4965=>525,4966=>525,4967=>233,4968=>700,4969=>671,4970=>612,4971=>642,4972=>642,4973=>642,4974=>583,4975=>700,4976=>758,4977=>642,4978=>583,4979=>700,4980=>729,4981=>720,4982=>583,4983=>758,4984=>700,4985=>904,4986=>612,4987=>583,4988=>875,5024=>711,5025=>678,5026=>604,5027=>667,5028=>796,5029=>301,5030=>516,5031=>544,5032=>457,5033=>716,5034=>703,5035=>383,5036=>628,5037=>709,5038=>455,5039=>601,5040=>472,5041=>574,5042=>730,5043=>939,5044=>498,5045=>528,5046=>667,5047=>891,5048=>505,5049=>792,5050=>957,5051=>725,5052=>595,5053=>733,5054=>698,5055=>638,5056=>720,5057=>732,5058=>624,5059=>638,5060=>565,5061=>903,5062=>655,5063=>681,5064=>675,5065=>949,5066=>683,5067=>547,5068=>693,5069=>732,5070=>529,5071=>569,5072=>536,5073=>677,5074=>631,5075=>542,5076=>973,5077=>543,5078=>607,5079=>652,5080=>652,5081=>693,5082=>514,5083=>803,5084=>658,5085=>597,5086=>627,5087=>659,5088=>679,5089=>706,5090=>563,5091=>618,5092=>767,5093=>776,5094=>731,5095=>492,5096=>808,5097=>823,5098=>796,5099=>689,5100=>716,5101=>518,5102=>521,5103=>719,5104=>563,5105=>776,5106=>634,5107=>822,5108=>621,5920=>502,5921=>502,5922=>500,5923=>498,5924=>500,5925=>502,5926=>502,5927=>502,5928=>500,5929=>503,5930=>502,5931=>502,5932=>500,5933=>500,5934=>500,5935=>796,5936=>500,5937=>502,5938=>0,5939=>0,5940=>0,5941=>230,5942=>397,6480=>537,6481=>537,6482=>531,6483=>678,6484=>682,6485=>628,6486=>732,6487=>721,6488=>598,6489=>583,6490=>702,6491=>554,6492=>683,6493=>554,6494=>710,6495=>695,6496=>523,6497=>678,6498=>589,6499=>272,6500=>506,6501=>515,6502=>515,6503=>210,6504=>210,6505=>515,6506=>515,6507=>515,6508=>229,6509=>705,6512=>649,6513=>538,6514=>568,6515=>520,6516=>544,6656=>820,6657=>958,6658=>758,6659=>859,6660=>958,6661=>727,6662=>904,6663=>940,6664=>850,6665=>905,6666=>838,6667=>961,6668=>1000,6669=>880,6670=>1189,6671=>1246,6672=>1177,6673=>757,6674=>1246,6675=>1192,6676=>709,6677=>1192,6678=>1075,6679=>0,6680=>0,6681=>534,6682=>690,6683=>0,6686=>697,6687=>500,7424=>507,7425=>659,7426=>639,7427=>468,7428=>461,7429=>537,7430=>537,7431=>447,7432=>403,7433=>278,7434=>312,7435=>523,7436=>449,7437=>652,7438=>539,7439=>523,7440=>435,7441=>507,7442=>507,7443=>673,7444=>705,7445=>378,7446=>483,7447=>483,7448=>438,7449=>484,7450=>489,7451=>423,7452=>522,7453=>488,7454=>660,7455=>500,7456=>512,7457=>699,7458=>444,7459=>355,7460=>444,7461=>681,7462=>392,7463=>483,7464=>483,7465=>372,7466=>541,7467=>470,7468=>503,7469=>653,7470=>441,7471=>441,7472=>510,7473=>435,7474=>435,7475=>491,7476=>527,7477=>255,7478=>300,7479=>512,7480=>436,7481=>638,7482=>535,7483=>539,7484=>483,7485=>350,7486=>411,7487=>480,7488=>409,7489=>526,7490=>695,7491=>297,7492=>297,7493=>335,7494=>440,7495=>335,7496=>335,7497=>297,7498=>297,7499=>279,7500=>258,7501=>323,7502=>186,7503=>338,7504=>521,7505=>335,7506=>335,7507=>290,7508=>483,7509=>483,7510=>335,7511=>186,7512=>335,7513=>326,7514=>521,7515=>322,7516=>442,7517=>353,7518=>321,7519=>357,7520=>430,7521=>321,7522=>186,7523=>223,7524=>335,7525=>335,7526=>353,7527=>321,7528=>353,7529=>430,7530=>321,7531=>754,7532=>500,7533=>500,7534=>333,7535=>778,7536=>500,7537=>500,7538=>333,7539=>333,7540=>389,7541=>278,7542=>444,7543=>467,7544=>483,7545=>447,7546=>774,7547=>280,7548=>278,7549=>500,7550=>522,7551=>514,7552=>500,7553=>500,7554=>333,7555=>676,7556=>525,7557=>278,7558=>802,7559=>507,7560=>500,7561=>333,7562=>389,7563=>384,7564=>500,7565=>500,7566=>444,7567=>602,7568=>637,7569=>648,7570=>590,7571=>559,7572=>426,7573=>590,7574=>413,7575=>444,7576=>360,7577=>638,7578=>389,7579=>335,7580=>292,7581=>285,7582=>341,7583=>280,7584=>255,7585=>251,7586=>323,7587=>336,7588=>188,7589=>212,7590=>184,7591=>182,7592=>230,7593=>236,7594=>196,7595=>297,7596=>497,7597=>529,7598=>401,7599=>404,7600=>364,7601=>349,7602=>412,7603=>224,7604=>312,7605=>197,7606=>344,7607=>346,7608=>354,7609=>334,7610=>325,7611=>277,7612=>393,7613=>288,7614=>277,7615=>338,7616=>0,7617=>0,7619=>0,7626=>0,7627=>0,7628=>0,7629=>0,7630=>0,7631=>0,7635=>0,7636=>0,7637=>0,7638=>0,7639=>0,7640=>0,7641=>0,7642=>0,7643=>0,7644=>0,7645=>0,7646=>0,7647=>0,7648=>0,7649=>0,7650=>0,7651=>0,7652=>0,7653=>0,7654=>0,7676=>0,7677=>0,7678=>0,7679=>0,7680=>721,7681=>435,7682=>631,7683=>500,7684=>631,7685=>500,7686=>631,7687=>500,7688=>674,7689=>444,7690=>719,7691=>499,7692=>719,7693=>499,7694=>719,7695=>499,7696=>720,7697=>499,7698=>719,7699=>499,7700=>611,7701=>444,7702=>611,7703=>444,7704=>610,7705=>444,7706=>610,7707=>444,7708=>611,7709=>444,7710=>564,7711=>373,7712=>722,7713=>467,7714=>714,7715=>498,7716=>714,7717=>498,7718=>714,7719=>498,7720=>713,7721=>498,7722=>713,7723=>498,7724=>327,7725=>278,7726=>333,7727=>278,7728=>709,7729=>513,7730=>709,7731=>513,7732=>709,7733=>513,7734=>611,7735=>258,7736=>611,7737=>258,7738=>611,7739=>258,7740=>611,7741=>258,7742=>881,7743=>779,7744=>881,7745=>779,7746=>881,7747=>779,7748=>725,7749=>489,7750=>725,7751=>489,7752=>725,7753=>489,7754=>725,7755=>489,7756=>722,7757=>491,7758=>724,7759=>491,7760=>722,7761=>491,7762=>722,7763=>491,7764=>576,7765=>500,7766=>576,7767=>500,7768=>667,7769=>345,7770=>667,7771=>345,7772=>667,7773=>345,7774=>667,7775=>345,7776=>529,7777=>367,7778=>529,7779=>367,7780=>529,7781=>367,7782=>529,7783=>367,7784=>529,7785=>367,7786=>606,7787=>283,7788=>606,7789=>283,7790=>606,7791=>283,7792=>606,7793=>283,7794=>721,7795=>490,7796=>721,7797=>490,7798=>721,7799=>490,7800=>721,7801=>490,7802=>721,7803=>490,7804=>701,7805=>468,7806=>701,7807=>468,7808=>947,7809=>683,7810=>947,7811=>683,7812=>947,7813=>683,7814=>947,7815=>683,7816=>947,7817=>683,7818=>714,7819=>482,7820=>714,7821=>482,7822=>701,7823=>471,7824=>613,7825=>417,7826=>613,7827=>417,7828=>613,7829=>417,7830=>498,7831=>283,7832=>683,7833=>471,7834=>435,7835=>373,7836=>381,7837=>373,7838=>659,7839=>516,7840=>721,7841=>435,7842=>721,7843=>435,7844=>721,7845=>435,7846=>721,7847=>435,7848=>721,7849=>454,7850=>721,7851=>435,7852=>721,7853=>435,7854=>721,7855=>435,7856=>721,7857=>435,7858=>721,7859=>454,7860=>721,7861=>435,7862=>721,7863=>435,7864=>610,7865=>444,7866=>610,7867=>444,7868=>610,7869=>444,7870=>610,7871=>444,7872=>610,7873=>444,7874=>610,7875=>444,7876=>610,7877=>444,7878=>610,7879=>444,7880=>327,7881=>278,7882=>327,7883=>278,7884=>724,7885=>491,7886=>724,7887=>491,7888=>724,7889=>491,7890=>724,7891=>491,7892=>724,7893=>491,7894=>724,7895=>491,7896=>724,7897=>491,7898=>723,7899=>536,7900=>723,7901=>536,7902=>720,7903=>536,7904=>723,7905=>536,7906=>723,7907=>536,7908=>721,7909=>490,7910=>717,7911=>490,7912=>783,7913=>545,7914=>783,7915=>545,7916=>783,7917=>545,7918=>783,7919=>545,7920=>783,7921=>545,7922=>701,7923=>471,7924=>701,7925=>471,7926=>701,7927=>501,7928=>701,7929=>471,7930=>908,7931=>502,7932=>501,7933=>342,7934=>713,7935=>510,7936=>583,7937=>583,7938=>583,7939=>583,7940=>583,7941=>583,7942=>583,7943=>583,7944=>721,7945=>721,7946=>813,7947=>817,7948=>763,7949=>765,7950=>720,7951=>721,7952=>426,7953=>426,7954=>426,7955=>426,7956=>426,7957=>426,7960=>770,7961=>770,7962=>902,7963=>919,7964=>940,7965=>936,7968=>536,7969=>536,7970=>536,7971=>536,7972=>536,7973=>536,7974=>536,7975=>536,7976=>847,7977=>859,7978=>986,7979=>1010,7980=>1026,7981=>1029,7982=>918,7983=>921,7984=>286,7985=>286,7986=>302,7987=>320,7988=>300,7989=>306,7990=>312,7991=>303,7992=>475,7993=>507,7994=>617,7995=>654,7996=>655,7997=>660,7998=>551,7999=>566,8000=>491,8001=>491,8002=>491,8003=>491,8004=>491,8005=>491,8008=>816,8009=>825,8010=>969,8011=>995,8012=>938,8013=>955,8016=>514,8017=>514,8018=>514,8019=>514,8020=>514,8021=>514,8022=>514,8023=>514,8025=>818,8027=>988,8029=>989,8031=>893,8032=>693,8033=>693,8034=>693,8035=>693,8036=>693,8037=>693,8038=>693,8039=>693,8040=>836,8041=>843,8042=>1006,8043=>1024,8044=>974,8045=>986,8046=>905,8047=>896,8048=>583,8049=>583,8050=>426,8051=>426,8052=>536,8053=>536,8054=>286,8055=>286,8056=>491,8057=>491,8058=>514,8059=>514,8060=>693,8061=>693,8064=>583,8065=>583,8066=>583,8067=>583,8068=>583,8069=>583,8070=>583,8071=>583,8072=>888,8073=>889,8074=>984,8075=>991,8076=>943,8077=>948,8078=>884,8079=>886,8080=>536,8081=>536,8082=>536,8083=>536,8084=>536,8085=>536,8086=>536,8087=>536,8088=>1017,8089=>1026,8090=>1153,8091=>1179,8092=>1195,8093=>1199,8094=>1088,8095=>1088,8096=>693,8097=>693,8098=>693,8099=>693,8100=>693,8101=>693,8102=>693,8103=>693,8104=>1034,8105=>1040,8106=>1210,8107=>1229,8108=>1176,8109=>1186,8110=>1098,8111=>1090,8112=>583,8113=>583,8114=>583,8115=>583,8116=>583,8118=>583,8119=>583,8120=>721,8121=>721,8122=>721,8123=>721,8124=>889,8125=>250,8126=>332,8127=>500,8128=>500,8129=>534,8130=>536,8131=>536,8132=>536,8134=>536,8135=>536,8136=>761,8137=>800,8138=>829,8139=>893,8140=>883,8141=>500,8142=>500,8143=>500,8144=>286,8145=>286,8146=>286,8147=>286,8150=>286,8151=>286,8152=>327,8153=>327,8154=>447,8155=>537,8157=>500,8158=>500,8159=>500,8160=>514,8161=>514,8162=>514,8163=>514,8164=>528,8165=>528,8166=>514,8167=>514,8168=>666,8169=>666,8170=>816,8171=>828,8172=>721,8173=>333,8174=>333,8175=>500,8178=>693,8179=>693,8180=>693,8182=>693,8183=>693,8184=>832,8185=>899,8186=>847,8187=>852,8188=>928,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>500,8200=>250,8201=>166,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>500,8211=>500,8212=>1000,8213=>1000,8214=>320,8215=>478,8216=>200,8217=>200,8218=>200,8219=>200,8220=>400,8221=>400,8222=>400,8223=>400,8224=>500,8225=>500,8226=>400,8227=>400,8228=>620,8229=>620,8230=>1000,8231=>250,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>250,8240=>1000,8241=>1363,8242=>250,8243=>450,8244=>636,8245=>250,8246=>450,8247=>636,8248=>469,8249=>250,8250=>250,8251=>629,8252=>666,8253=>444,8254=>500,8255=>953,8256=>953,8257=>314,8258=>931,8259=>400,8260=>167,8261=>383,8262=>383,8263=>888,8264=>777,8265=>777,8266=>500,8267=>453,8268=>400,8269=>400,8270=>500,8271=>278,8272=>882,8273=>500,8274=>497,8275=>500,8276=>953,8277=>512,8278=>410,8279=>838,8280=>620,8281=>620,8282=>179,8283=>621,8284=>564,8285=>179,8286=>179,8287=>222,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>320,8305=>180,8308=>320,8309=>320,8310=>320,8311=>320,8312=>320,8313=>320,8314=>340,8315=>340,8316=>340,8317=>216,8318=>216,8319=>335,8320=>320,8321=>320,8322=>320,8323=>320,8324=>320,8325=>320,8326=>320,8327=>320,8328=>320,8329=>320,8330=>340,8331=>340,8332=>350,8333=>216,8334=>216,8336=>300,8337=>295,8338=>325,8339=>330,8340=>292,8352=>698,8353=>667,8354=>667,8355=>556,8356=>500,8357=>778,8358=>722,8359=>940,8360=>1009,8361=>813,8362=>869,8363=>512,8364=>741,8365=>722,8366=>611,8367=>1340,8368=>489,8369=>601,8370=>619,8371=>722,8372=>556,8373=>611,8374=>498,8375=>569,8376=>524,8377=>654,8400=>0,8401=>0,8402=>0,8403=>0,8404=>0,8405=>0,8406=>0,8407=>0,8408=>0,8409=>0,8410=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8418=>0,8419=>0,8420=>0,8421=>0,8422=>0,8423=>0,8424=>0,8425=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8432=>0,8448=>741,8449=>723,8450=>674,8451=>954,8452=>506,8453=>721,8454=>766,8455=>525,8456=>667,8457=>864,8458=>510,8459=>1127,8460=>649,8461=>768,8462=>490,8463=>490,8464=>808,8465=>613,8466=>845,8467=>447,8468=>778,8469=>701,8470=>880,8471=>792,8472=>767,8473=>589,8474=>729,8475=>964,8476=>711,8477=>755,8478=>667,8479=>667,8480=>960,8481=>1116,8482=>1048,8483=>722,8484=>640,8485=>389,8486=>723,8487=>750,8488=>643,8489=>286,8490=>709,8491=>721,8492=>906,8493=>603,8494=>533,8495=>393,8496=>682,8497=>920,8498=>564,8499=>1231,8500=>407,8501=>517,8502=>537,8503=>350,8504=>537,8505=>417,8506=>906,8507=>1155,8508=>655,8510=>577,8511=>722,8512=>600,8513=>663,8514=>485,8515=>485,8516=>637,8517=>768,8518=>653,8519=>606,8520=>369,8521=>535,8522=>516,8523=>778,8525=>899,8526=>413,8528=>780,8529=>770,8530=>980,8531=>750,8532=>801,8533=>720,8534=>796,8535=>736,8536=>766,8537=>750,8538=>730,8539=>750,8540=>770,8541=>760,8542=>750,8543=>700,8544=>327,8545=>658,8546=>977,8547=>1041,8548=>701,8549=>1040,8550=>1363,8551=>1679,8552=>1051,8553=>714,8554=>1046,8555=>1366,8556=>611,8557=>670,8558=>719,8559=>881,8560=>278,8561=>536,8562=>794,8563=>734,8564=>468,8565=>718,8566=>986,8567=>1244,8568=>736,8569=>482,8570=>754,8571=>1012,8572=>258,8573=>444,8574=>499,8575=>779,8576=>1082,8577=>722,8578=>1090,8579=>667,8580=>427,8581=>667,8582=>528,8583=>722,8584=>1093,8585=>771,8592=>900,8593=>472,8594=>900,8595=>500,8596=>900,8597=>499,8598=>800,8599=>800,8600=>800,8601=>800,8602=>900,8603=>900,8604=>1000,8605=>1000,8606=>900,8607=>500,8608=>900,8609=>499,8610=>1019,8611=>1019,8612=>1013,8613=>500,8614=>1013,8615=>500,8616=>500,8617=>910,8618=>910,8619=>910,8620=>900,8621=>1147,8622=>900,8623=>592,8624=>482,8625=>482,8626=>482,8627=>482,8628=>658,8629=>658,8630=>1069,8631=>1069,8632=>836,8633=>964,8634=>843,8635=>843,8636=>900,8637=>900,8638=>499,8639=>499,8640=>900,8641=>900,8642=>499,8643=>499,8644=>900,8645=>840,8646=>900,8647=>900,8648=>840,8649=>900,8650=>840,8651=>900,8652=>900,8653=>900,8654=>910,8655=>900,8656=>900,8657=>550,8658=>900,8659=>550,8660=>910,8661=>550,8662=>1000,8663=>1000,8664=>1000,8665=>1000,8666=>910,8667=>910,8668=>1078,8669=>1078,8670=>500,8671=>500,8672=>900,8673=>500,8674=>900,8675=>500,8676=>992,8677=>992,8678=>910,8679=>596,8680=>910,8681=>596,8682=>594,8683=>594,8684=>594,8685=>595,8686=>596,8687=>596,8688=>906,8689=>926,8690=>926,8691=>596,8692=>900,8693=>842,8694=>910,8695=>900,8696=>900,8697=>900,8698=>900,8699=>900,8700=>900,8701=>900,8702=>900,8703=>900,8704=>587,8705=>532,8706=>494,8707=>587,8708=>587,8709=>662,8710=>612,8711=>612,8712=>536,8713=>536,8714=>439,8715=>536,8716=>536,8717=>439,8718=>500,8719=>823,8720=>823,8721=>713,8722=>564,8723=>564,8724=>564,8725=>500,8726=>500,8727=>400,8728=>400,8729=>333,8730=>549,8731=>549,8732=>549,8733=>636,8734=>853,8735=>509,8736=>575,8737=>559,8738=>509,8739=>200,8740=>250,8741=>320,8742=>404,8743=>564,8744=>564,8745=>564,8746=>564,8747=>456,8748=>812,8749=>1153,8750=>618,8751=>910,8752=>1238,8753=>646,8754=>651,8755=>651,8756=>565,8757=>568,8758=>250,8759=>629,8760=>564,8761=>758,8762=>564,8763=>636,8764=>636,8765=>636,8766=>503,8767=>614,8768=>297,8769=>636,8770=>636,8771=>636,8772=>636,8773=>636,8774=>636,8775=>636,8776=>636,8777=>636,8778=>636,8779=>636,8780=>636,8781=>636,8782=>636,8783=>636,8784=>564,8785=>564,8786=>564,8787=>564,8788=>735,8789=>755,8790=>564,8791=>564,8792=>564,8793=>564,8794=>564,8795=>564,8796=>600,8797=>564,8798=>564,8799=>564,8800=>564,8801=>636,8802=>636,8803=>636,8804=>636,8805=>636,8806=>636,8807=>636,8808=>636,8809=>636,8810=>900,8811=>899,8812=>410,8813=>636,8814=>636,8815=>636,8816=>636,8817=>636,8818=>636,8819=>636,8820=>636,8821=>636,8822=>636,8823=>636,8824=>636,8825=>636,8826=>636,8827=>636,8828=>636,8829=>636,8830=>636,8831=>636,8832=>636,8833=>636,8834=>636,8835=>636,8836=>636,8837=>636,8838=>636,8839=>636,8840=>636,8841=>636,8842=>636,8843=>636,8844=>564,8845=>564,8846=>564,8847=>564,8848=>564,8849=>564,8850=>564,8851=>563,8852=>564,8853=>636,8854=>636,8855=>636,8856=>636,8857=>636,8858=>636,8859=>636,8860=>636,8861=>636,8862=>636,8863=>636,8864=>636,8865=>636,8866=>778,8867=>778,8868=>712,8869=>712,8870=>466,8871=>466,8872=>595,8873=>588,8874=>710,8875=>706,8876=>595,8877=>596,8878=>608,8879=>706,8880=>636,8881=>636,8882=>636,8883=>636,8884=>636,8885=>636,8886=>1296,8887=>1296,8888=>966,8889=>564,8890=>506,8891=>564,8892=>564,8893=>566,8894=>570,8895=>582,8896=>744,8897=>744,8898=>764,8899=>764,8900=>512,8901=>250,8902=>471,8903=>629,8904=>636,8905=>636,8906=>636,8907=>816,8908=>816,8909=>636,8910=>636,8911=>636,8912=>636,8913=>636,8914=>564,8915=>564,8916=>594,8917=>564,8918=>564,8919=>564,8920=>1215,8921=>1215,8922=>636,8923=>636,8924=>636,8925=>636,8926=>636,8927=>636,8928=>636,8929=>636,8930=>636,8931=>636,8932=>636,8933=>636,8934=>636,8935=>636,8936=>636,8937=>636,8938=>636,8939=>636,8940=>636,8941=>636,8942=>250,8943=>1000,8944=>1000,8945=>1000,8946=>601,8947=>536,8948=>464,8949=>536,8950=>536,8951=>464,8952=>536,8953=>536,8954=>601,8955=>536,8956=>464,8957=>536,8958=>464,8959=>600,8960=>662,8961=>442,8962=>694,8963=>472,8964=>472,8965=>508,8966=>508,8968=>474,8969=>474,8970=>474,8971=>474,8972=>600,8973=>600,8974=>600,8975=>600,8976=>564,8977=>503,8978=>791,8979=>791,8980=>593,8981=>560,8982=>563,8983=>563,8984=>700,8985=>564,8986=>780,8987=>632,8988=>474,8989=>474,8990=>474,8991=>474,8992=>686,8993=>686,8994=>658,8995=>658,8996=>800,8997=>800,8998=>800,8999=>800,9000=>800,9001=>329,9002=>329,9003=>800,9004=>800,9031=>777,9032=>777,9040=>777,9047=>777,9054=>777,9088=>800,9089=>800,9090=>800,9091=>840,9094=>800,9095=>800,9096=>800,9097=>800,9098=>800,9100=>800,9103=>788,9104=>788,9105=>788,9106=>788,9108=>800,9109=>800,9110=>800,9111=>800,9112=>800,9113=>800,9114=>800,9115=>384,9116=>384,9117=>384,9118=>384,9119=>384,9120=>384,9121=>388,9122=>388,9123=>388,9124=>388,9125=>388,9126=>388,9127=>494,9128=>494,9129=>494,9130=>494,9131=>494,9132=>494,9133=>494,9134=>686,9138=>1287,9139=>1287,9140=>860,9141=>861,9142=>861,9144=>889,9145=>889,9146=>889,9147=>889,9148=>889,9149=>889,9166=>800,9167=>800,9180=>896,9181=>896,9182=>903,9183=>904,9184=>910,9185=>910,9186=>761,9187=>910,9189=>942,9190=>817,9216=>800,9217=>800,9218=>800,9219=>800,9220=>800,9221=>800,9222=>800,9223=>800,9224=>800,9225=>800,9226=>800,9227=>800,9228=>800,9229=>800,9230=>800,9231=>800,9232=>800,9233=>800,9234=>800,9235=>800,9236=>800,9237=>800,9238=>800,9239=>800,9240=>800,9241=>800,9242=>800,9243=>800,9244=>800,9245=>800,9246=>800,9247=>800,9248=>800,9249=>800,9250=>556,9251=>500,9252=>800,9253=>800,9254=>500,9312=>788,9313=>788,9314=>788,9315=>788,9316=>788,9317=>788,9318=>788,9319=>788,9320=>788,9321=>788,9472=>889,9473=>889,9474=>889,9475=>889,9484=>889,9485=>889,9486=>889,9487=>889,9488=>889,9489=>889,9490=>889,9491=>889,9492=>889,9493=>889,9494=>889,9495=>889,9496=>889,9497=>889,9498=>889,9499=>889,9500=>889,9501=>889,9502=>889,9503=>889,9504=>889,9505=>889,9506=>889,9507=>889,9508=>889,9509=>889,9510=>889,9511=>889,9512=>889,9513=>889,9514=>889,9515=>889,9516=>889,9517=>889,9518=>889,9519=>889,9520=>889,9521=>889,9522=>889,9523=>889,9524=>889,9525=>889,9526=>889,9527=>889,9528=>889,9529=>889,9530=>889,9531=>889,9532=>889,9533=>889,9534=>889,9535=>889,9536=>889,9537=>889,9538=>889,9539=>889,9540=>889,9541=>889,9542=>889,9543=>889,9544=>889,9545=>889,9546=>889,9547=>889,9552=>889,9553=>889,9554=>889,9555=>889,9556=>889,9557=>889,9558=>889,9559=>889,9560=>889,9561=>889,9562=>889,9563=>889,9564=>889,9565=>889,9566=>889,9567=>889,9568=>889,9569=>889,9570=>889,9571=>889,9572=>889,9573=>889,9574=>889,9575=>889,9576=>889,9577=>889,9578=>889,9579=>889,9580=>889,9581=>889,9582=>889,9583=>889,9584=>889,9585=>889,9586=>889,9587=>889,9588=>889,9589=>889,9590=>889,9591=>889,9592=>889,9593=>889,9594=>889,9595=>889,9596=>600,9597=>889,9598=>600,9599=>889,9600=>761,9601=>761,9602=>761,9603=>761,9604=>761,9605=>761,9606=>761,9607=>761,9608=>761,9609=>761,9610=>761,9611=>761,9612=>761,9613=>761,9614=>761,9615=>761,9616=>761,9617=>1000,9618=>1000,9619=>1000,9620=>761,9621=>761,9622=>761,9623=>761,9624=>761,9625=>761,9626=>761,9627=>761,9628=>761,9629=>761,9630=>761,9631=>761,9632=>761,9633=>761,9634=>761,9635=>761,9636=>761,9637=>761,9638=>761,9639=>761,9640=>761,9641=>761,9642=>346,9643=>346,9644=>761,9645=>761,9646=>761,9647=>761,9648=>761,9649=>761,9650=>840,9651=>840,9652=>420,9653=>420,9654=>800,9655=>800,9656=>386,9657=>386,9658=>800,9659=>800,9660=>840,9661=>840,9662=>420,9663=>420,9664=>800,9665=>800,9666=>386,9667=>386,9668=>800,9669=>800,9670=>788,9671=>788,9672=>788,9673=>791,9674=>494,9675=>791,9676=>791,9677=>785,9678=>791,9679=>791,9680=>791,9681=>791,9682=>791,9683=>791,9684=>791,9685=>791,9686=>791,9687=>791,9688=>400,9689=>761,9690=>761,9691=>761,9692=>791,9693=>791,9694=>791,9695=>791,9696=>791,9697=>791,9698=>761,9699=>761,9700=>761,9701=>761,9702=>400,9703=>761,9704=>761,9705=>761,9706=>761,9707=>761,9708=>840,9709=>840,9710=>840,9711=>885,9712=>761,9713=>761,9714=>761,9715=>761,9716=>791,9717=>791,9718=>791,9719=>791,9720=>780,9721=>780,9722=>780,9723=>567,9724=>567,9725=>435,9726=>435,9727=>780,9728=>800,9729=>800,9730=>748,9731=>800,9732=>800,9733=>811,9734=>816,9735=>468,9736=>677,9737=>724,9738=>944,9739=>944,9740=>686,9741=>944,9742=>715,9743=>715,9744=>757,9745=>755,9746=>755,9747=>756,9748=>800,9749=>837,9750=>719,9751=>719,9752=>782,9753=>800,9754=>800,9755=>800,9756=>800,9757=>430,9758=>800,9759=>430,9760=>517,9761=>660,9762=>724,9763=>732,9764=>886,9765=>577,9766=>489,9767=>563,9768=>490,9769=>770,9770=>725,9771=>860,9772=>668,9773=>753,9774=>724,9775=>730,9776=>600,9777=>600,9778=>600,9779=>600,9780=>600,9781=>600,9782=>600,9783=>600,9784=>730,9785=>724,9786=>724,9787=>724,9788=>799,9789=>659,9790=>659,9791=>495,9792=>495,9793=>495,9794=>686,9795=>661,9796=>544,9797=>608,9798=>605,9799=>545,9800=>804,9801=>583,9802=>796,9803=>1006,9804=>825,9805=>1189,9806=>1144,9807=>1189,9808=>683,9809=>808,9810=>1146,9811=>797,9812=>800,9813=>800,9814=>800,9815=>800,9816=>800,9817=>800,9818=>800,9819=>800,9820=>800,9821=>800,9822=>800,9823=>800,9824=>770,9825=>770,9826=>770,9827=>770,9828=>770,9829=>770,9830=>770,9831=>770,9832=>895,9833=>333,9834=>513,9835=>722,9836=>722,9837=>371,9838=>377,9839=>402,9840=>642,9841=>655,9842=>869,9843=>905,9844=>905,9845=>905,9846=>905,9847=>905,9848=>905,9849=>905,9850=>905,9851=>1016,9852=>1064,9853=>1064,9854=>954,9855=>606,9856=>522,9857=>522,9858=>522,9859=>522,9860=>522,9861=>522,9862=>845,9863=>844,9864=>844,9865=>844,9866=>748,9867=>748,9868=>748,9869=>748,9870=>748,9871=>748,9872=>726,9873=>726,9874=>963,9875=>770,9876=>1038,9877=>388,9878=>997,9879=>787,9880=>508,9881=>809,9882=>1014,9883=>859,9884=>818,9885=>972,9888=>1000,9889=>546,9890=>784,9891=>786,9892=>738,9893=>542,9894=>601,9895=>700,9896=>511,9897=>861,9898=>611,9899=>611,9900=>544,9901=>782,9902=>1025,9903=>1141,9904=>1000,9905=>513,9906=>510,9907=>642,9908=>722,9909=>719,9910=>777,9911=>495,9912=>602,9913=>836,9914=>666,9915=>666,9916=>691,9920=>689,9921=>689,9922=>689,9923=>689,9985=>974,9986=>961,9987=>974,9988=>980,9989=>846,9990=>789,9991=>790,9992=>791,9993=>690,9994=>549,9995=>570,9996=>549,9997=>855,9998=>911,9999=>933,10000=>911,10001=>945,10002=>974,10003=>755,10004=>846,10005=>762,10006=>761,10007=>571,10008=>677,10009=>763,10010=>760,10011=>759,10012=>754,10013=>494,10014=>552,10015=>537,10016=>577,10017=>692,10018=>786,10019=>788,10020=>788,10021=>790,10022=>793,10023=>794,10024=>823,10025=>823,10026=>789,10027=>841,10028=>823,10029=>833,10030=>816,10031=>831,10032=>923,10033=>744,10034=>723,10035=>749,10036=>790,10037=>792,10038=>695,10039=>776,10040=>768,10041=>792,10042=>759,10043=>707,10044=>708,10045=>682,10046=>701,10047=>826,10048=>815,10049=>789,10050=>789,10051=>707,10052=>687,10053=>696,10054=>689,10055=>786,10056=>787,10057=>713,10058=>791,10059=>785,10060=>761,10061=>873,10062=>780,10063=>762,10064=>762,10065=>759,10066=>759,10067=>601,10068=>601,10069=>272,10070=>784,10071=>333,10072=>138,10073=>277,10074=>415,10075=>392,10076=>392,10077=>668,10078=>668,10079=>392,10080=>668,10081=>732,10082=>544,10083=>544,10084=>910,10085=>667,10086=>760,10087=>800,10088=>390,10089=>390,10090=>317,10091=>317,10092=>276,10093=>276,10094=>509,10095=>509,10096=>410,10097=>410,10098=>234,10099=>234,10100=>334,10101=>334,10102=>788,10103=>788,10104=>788,10105=>788,10106=>788,10107=>788,10108=>788,10109=>788,10110=>788,10111=>788,10112=>788,10113=>788,10114=>788,10115=>788,10116=>788,10117=>788,10118=>788,10119=>788,10120=>788,10121=>788,10122=>788,10123=>788,10124=>788,10125=>788,10126=>788,10127=>788,10128=>788,10129=>788,10130=>788,10131=>788,10132=>894,10133=>756,10134=>756,10135=>756,10136=>748,10137=>924,10138=>748,10139=>918,10140=>927,10141=>928,10142=>928,10143=>834,10144=>873,10145=>828,10146=>924,10147=>924,10148=>917,10149=>930,10150=>931,10151=>463,10152=>883,10153=>836,10154=>836,10155=>867,10156=>867,10157=>696,10158=>696,10159=>874,10160=>832,10161=>874,10162=>760,10163=>946,10164=>771,10165=>865,10166=>771,10167=>888,10168=>967,10169=>888,10170=>831,10171=>873,10172=>927,10173=>970,10174=>918,10175=>1248,10176=>509,10177=>892,10178=>752,10179=>636,10180=>636,10183=>564,10184=>876,10185=>867,10186=>220,10188=>847,10190=>636,10191=>636,10192=>788,10193=>564,10194=>536,10195=>474,10196=>474,10197=>755,10198=>755,10199=>874,10200=>712,10201=>712,10202=>890,10203=>890,10204=>966,10205=>926,10206=>926,10207=>372,10208=>494,10209=>661,10210=>741,10211=>741,10212=>756,10213=>756,10214=>455,10215=>455,10216=>329,10217=>329,10218=>496,10219=>496,10224=>1000,10225=>1000,10226=>1104,10227=>1102,10228=>964,10229=>1000,10230=>1000,10231=>1000,10232=>1000,10233=>1000,10234=>1000,10235=>1000,10236=>1000,10237=>1000,10238=>1000,10239=>1392,10624=>420,10625=>350,10626=>238,10627=>480,10628=>480,10629=>333,10630=>333,10635=>333,10636=>333,10641=>329,10642=>329,10649=>179,10651=>559,10653=>570,10654=>595,10656=>509,10657=>509,10658=>575,10659=>575,10660=>575,10661=>575,10672=>746,10673=>746,10674=>746,10675=>746,10676=>746,10677=>926,10678=>636,10679=>791,10680=>636,10681=>791,10684=>791,10686=>800,10687=>800,10688=>791,10689=>791,10690=>983,10691=>1052,10692=>636,10693=>636,10694=>636,10695=>636,10696=>636,10697=>714,10698=>840,10699=>892,10700=>892,10701=>931,10702=>892,10703=>870,10704=>870,10705=>702,10706=>702,10707=>702,10708=>702,10709=>702,10710=>702,10711=>702,10726=>804,10728=>840,10729=>840,10731=>494,10740=>1000,10741=>376,10742=>351,10743=>376,10744=>400,10745=>400,10752=>860,10753=>860,10754=>860,10755=>766,10756=>766,10757=>756,10758=>756,10761=>745,10781=>702,10786=>564,10787=>564,10788=>564,10789=>564,10790=>564,10791=>564,10800=>564,10801=>564,10808=>791,10809=>840,10810=>840,10811=>840,10815=>713,10993=>372,10994=>320,10995=>352,10996=>440,10997=>420,11008=>1000,11009=>1000,11010=>1000,11011=>1000,11012=>1222,11013=>1000,11014=>1000,11015=>1000,11016=>1000,11017=>1000,11018=>1000,11019=>1000,11020=>1244,11021=>1000,11022=>772,11023=>772,11024=>772,11025=>772,11026=>770,11027=>770,11028=>770,11029=>770,11030=>770,11031=>770,11032=>770,11033=>770,11034=>770,11035=>1000,11036=>1000,11037=>283,11038=>283,11039=>846,11040=>846,11041=>799,11042=>799,11043=>807,11044=>1000,11045=>461,11046=>461,11047=>461,11048=>461,11049=>360,11050=>360,11051=>283,11052=>854,11053=>854,11054=>628,11055=>628,11056=>900,11057=>910,11088=>589,11089=>443,11090=>443,11091=>802,11092=>803,11264=>645,11265=>793,11266=>851,11267=>700,11268=>851,11269=>640,11270=>774,11271=>665,11272=>733,11273=>834,11274=>834,11275=>734,11276=>790,11277=>580,11278=>834,11279=>979,11280=>738,11281=>410,11282=>775,11283=>471,11284=>734,11285=>851,11286=>895,11287=>722,11288=>638,11289=>620,11290=>721,11291=>793,11292=>821,11293=>699,11294=>793,11295=>682,11296=>569,11297=>791,11299=>751,11300=>705,11301=>874,11302=>665,11303=>1139,11304=>1023,11305=>1238,11306=>762,11310=>759,11312=>484,11313=>595,11314=>638,11315=>525,11316=>638,11317=>480,11318=>580,11319=>499,11320=>550,11321=>625,11322=>626,11323=>550,11324=>592,11325=>435,11326=>626,11327=>734,11328=>553,11329=>308,11330=>581,11331=>353,11332=>550,11333=>638,11334=>671,11335=>542,11336=>478,11337=>465,11338=>540,11339=>594,11340=>616,11341=>524,11342=>594,11343=>512,11344=>427,11345=>589,11347=>564,11348=>529,11349=>655,11350=>499,11351=>854,11352=>767,11353=>929,11354=>571,11358=>569,11360=>611,11361=>289,11362=>627,11363=>556,11364=>667,11365=>435,11366=>303,11367=>728,11368=>501,11369=>734,11370=>514,11371=>611,11372=>405,11373=>680,11374=>889,11375=>721,11376=>680,11377=>624,11378=>1075,11379=>852,11380=>468,11381=>557,11382=>380,11383=>612,11384=>559,11385=>347,11386=>491,11387=>397,11388=>230,11389=>469,11390=>556,11391=>611,11392=>719,11393=>499,11394=>532,11395=>381,11396=>615,11397=>433,11398=>969,11399=>680,11400=>647,11401=>444,11402=>593,11403=>402,11404=>573,11405=>405,11406=>698,11407=>509,11408=>726,11409=>493,11410=>283,11411=>238,11412=>628,11413=>455,11414=>653,11415=>471,11416=>819,11417=>589,11418=>698,11419=>507,11420=>546,11421=>378,11422=>724,11423=>489,11424=>724,11425=>524,11426=>526,11427=>375,11428=>647,11429=>438,11430=>615,11431=>433,11432=>719,11433=>519,11434=>762,11435=>538,11436=>649,11437=>461,11438=>721,11439=>519,11440=>964,11441=>681,11456=>689,11457=>464,11464=>579,11465=>391,11466=>493,11467=>355,11492=>408,11493=>499,11494=>496,11495=>986,11496=>466,11497=>461,11498=>934,11517=>256,11518=>617,11519=>266,11744=>0,11745=>0,11746=>0,11747=>0,11748=>0,11749=>0,11750=>0,11751=>0,11752=>0,11753=>0,11754=>0,11755=>0,11756=>0,11757=>0,11758=>0,11759=>0,11760=>0,11761=>0,11762=>0,11763=>0,11764=>0,11765=>0,11766=>0,11767=>0,11768=>0,11769=>0,11770=>0,11771=>0,11772=>0,11773=>0,11774=>0,11775=>0,11776=>333,11777=>333,11782=>534,11783=>534,11787=>346,11788=>500,11789=>500,11791=>1000,11792=>1000,11793=>1000,11798=>564,11799=>333,11800=>444,11802=>333,11803=>500,11804=>500,11805=>500,11806=>500,11807=>500,11808=>333,11809=>333,11810=>333,11811=>333,11812=>333,11813=>333,11814=>856,11815=>856,11816=>464,11817=>464,11818=>620,11819=>410,11820=>410,11821=>620,11822=>500,11823=>250,11824=>400,11825=>250,42560=>607,42561=>411,42562=>611,42563=>410,42564=>487,42565=>367,42566=>368,42567=>286,42568=>722,42569=>519,42570=>550,42571=>458,42572=>1145,42573=>775,42574=>665,42575=>548,42576=>1014,42577=>736,42578=>910,42579=>675,42580=>962,42581=>677,42582=>1042,42583=>648,42584=>722,42585=>513,42586=>932,42587=>700,42588=>1042,42589=>749,42590=>780,42591=>550,42592=>717,42593=>524,42594=>896,42595=>635,42596=>933,42597=>635,42598=>1139,42599=>777,42600=>724,42601=>491,42602=>790,42603=>560,42604=>1262,42605=>850,42606=>734,42607=>0,42608=>0,42609=>0,42610=>0,42611=>519,42620=>0,42621=>0,42622=>510,42623=>201,42624=>639,42625=>488,42626=>475,42627=>347,42628=>1160,42629=>842,42630=>1000,42631=>768,42632=>737,42633=>531,42634=>827,42635=>530,42636=>608,42637=>438,42638=>742,42639=>545,42640=>608,42641=>480,42642=>926,42643=>654,42644=>671,42645=>518,42646=>992,42647=>780,42752=>318,42753=>318,42754=>318,42755=>318,42756=>318,42757=>318,42758=>318,42759=>318,42760=>307,42761=>307,42762=>307,42763=>307,42764=>307,42765=>307,42766=>307,42767=>307,42768=>307,42769=>307,42770=>460,42771=>460,42772=>460,42773=>460,42774=>460,42775=>374,42776=>445,42777=>564,42778=>564,42779=>354,42780=>354,42781=>243,42782=>243,42783=>243,42784=>564,42785=>564,42786=>276,42787=>242,42788=>386,42789=>276,42790=>722,42791=>501,42792=>895,42793=>703,42794=>532,42795=>409,42796=>437,42797=>389,42798=>592,42799=>600,42800=>413,42801=>373,42802=>1183,42803=>683,42804=>1154,42805=>741,42806=>1089,42807=>693,42808=>902,42809=>563,42810=>902,42811=>563,42812=>912,42813=>549,42814=>667,42815=>432,42816=>722,42817=>513,42818=>722,42819=>513,42820=>722,42821=>512,42822=>713,42823=>341,42824=>611,42825=>289,42826=>750,42827=>544,42828=>918,42829=>654,42830=>1262,42831=>841,42832=>556,42833=>500,42838=>722,42839=>575,42842=>397,42843=>344,42852=>576,42853=>500,42854=>576,42855=>500,42862=>489,42863=>489,42864=>307,42873=>722,42874=>491,42875=>483,42876=>344,42877=>611,42878=>581,42879=>441,42880=>611,42881=>258,42882=>689,42883=>495,42884=>483,42885=>344,42886=>667,42887=>444,42888=>333,42889=>250,42890=>282,42891=>286,42892=>278,42893=>722,42896=>722,42897=>492,42922=>833,43002=>779,43003=>556,43004=>556,43005=>889,43006=>333,43007=>1298,43232=>0,43233=>0,43234=>0,43235=>0,43236=>0,43237=>0,43238=>0,43239=>0,43240=>0,43241=>0,43242=>0,43243=>0,43244=>0,43245=>0,43246=>0,43247=>0,43248=>0,43249=>0,43250=>500,43251=>500,43252=>500,43253=>500,43254=>500,43255=>500,43256=>694,43257=>680,43258=>400,43259=>500,64256=>639,64257=>524,64258=>509,64259=>795,64260=>778,64261=>581,64262=>663,64275=>971,64276=>969,64277=>978,64278=>971,64279=>1219,64285=>320,64286=>0,64287=>537,64288=>537,64289=>817,64290=>820,64291=>820,64292=>820,64293=>820,64294=>820,64295=>820,64296=>820,64297=>564,64298=>537,64299=>537,64300=>537,64301=>537,64302=>537,64303=>537,64304=>537,64305=>537,64306=>350,64307=>537,64308=>537,64309=>350,64310=>350,64312=>537,64313=>320,64314=>537,64315=>537,64316=>537,64318=>537,64320=>350,64321=>537,64323=>537,64324=>537,64326=>537,64327=>537,64328=>537,64329=>537,64330=>537,64331=>350,64332=>537,64333=>537,64334=>537,64335=>547,64336=>229,64337=>237,64338=>877,64339=>877,64340=>268,64341=>300,64342=>926,64343=>877,64344=>296,64345=>300,64346=>877,64347=>877,64348=>298,64349=>300,64350=>877,64351=>877,64352=>270,64353=>300,64354=>877,64355=>877,64356=>288,64357=>300,64358=>877,64359=>877,64360=>288,64361=>300,64362=>858,64363=>858,64364=>338,64365=>328,64366=>858,64367=>858,64368=>338,64369=>328,64370=>598,64371=>595,64372=>600,64373=>630,64374=>598,64375=>595,64376=>600,64377=>630,64378=>598,64379=>595,64380=>600,64381=>630,64382=>598,64383=>595,64384=>600,64385=>630,64386=>400,64387=>348,64388=>400,64389=>348,64390=>348,64391=>348,64392=>348,64393=>348,64394=>345,64395=>345,64396=>345,64397=>345,64398=>902,64399=>966,64400=>373,64401=>469,64402=>902,64403=>966,64404=>373,64405=>469,64406=>902,64407=>966,64408=>373,64409=>469,64410=>902,64411=>966,64412=>373,64413=>469,64414=>585,64415=>585,64416=>585,64417=>585,64418=>293,64419=>300,64420=>372,64421=>420,64422=>372,64423=>393,64424=>313,64425=>340,64426=>456,64427=>456,64428=>456,64429=>496,64430=>710,64431=>680,64432=>710,64433=>680,64434=>344,64435=>344,64436=>484,64437=>484,64438=>508,64439=>508,64440=>508,64441=>508,64442=>565,64443=>508,64444=>335,64445=>344,64446=>344,64447=>342,64448=>354,64449=>354,64467=>719,64468=>688,64469=>373,64470=>469,64471=>359,64472=>329,64473=>399,64474=>369,64475=>399,64476=>369,64477=>522,64478=>399,64479=>369,64480=>399,64481=>369,64482=>399,64483=>369,64484=>672,64485=>670,64486=>270,64487=>300,64488=>270,64489=>300,64508=>672,64509=>670,64510=>270,64511=>300,64606=>375,64607=>375,64608=>375,64609=>375,64610=>375,64611=>375,64612=>698,64613=>698,64615=>988,64618=>698,64619=>698,64621=>988,64624=>698,64625=>698,64627=>988,64630=>698,64631=>698,64633=>988,64650=>698,64651=>698,64653=>988,64657=>698,64658=>698,64660=>988,64830=>443,64831=>443,65010=>1025,65020=>1107,65056=>0,65057=>0,65058=>0,65059=>0,65060=>0,65061=>0,65062=>0,65136=>200,65137=>200,65138=>250,65139=>373,65140=>200,65142=>200,65143=>200,65144=>200,65145=>200,65146=>200,65147=>200,65148=>200,65149=>200,65150=>200,65151=>200,65152=>350,65153=>245,65154=>237,65155=>229,65156=>237,65157=>399,65158=>359,65159=>229,65160=>237,65161=>672,65162=>680,65163=>270,65164=>300,65165=>229,65166=>237,65167=>907,65168=>917,65169=>270,65170=>300,65171=>416,65172=>420,65173=>907,65174=>917,65175=>288,65176=>300,65177=>907,65178=>917,65179=>288,65180=>300,65181=>598,65182=>595,65183=>600,65184=>630,65185=>598,65186=>595,65187=>600,65188=>630,65189=>598,65190=>595,65191=>600,65192=>630,65193=>348,65194=>398,65195=>403,65196=>398,65197=>345,65198=>385,65199=>345,65200=>385,65201=>901,65202=>901,65203=>648,65204=>603,65205=>901,65206=>901,65207=>649,65208=>598,65209=>909,65210=>893,65211=>633,65212=>583,65213=>909,65214=>893,65215=>630,65216=>580,65217=>568,65218=>568,65219=>521,65220=>521,65221=>568,65222=>568,65223=>521,65224=>521,65225=>591,65226=>530,65227=>584,65228=>447,65229=>591,65230=>537,65231=>584,65232=>447,65233=>858,65234=>858,65235=>338,65236=>328,65237=>626,65238=>626,65239=>338,65240=>328,65241=>486,65242=>688,65243=>373,65244=>469,65245=>628,65246=>667,65247=>247,65248=>280,65249=>475,65250=>415,65251=>419,65252=>476,65253=>637,65254=>637,65255=>270,65256=>300,65257=>372,65258=>420,65259=>463,65260=>396,65261=>374,65262=>359,65263=>672,65264=>680,65265=>672,65266=>680,65267=>270,65268=>300,65269=>456,65270=>594,65271=>446,65272=>614,65273=>446,65274=>614,65275=>446,65276=>614,65279=>0,65529=>0,65530=>0,65531=>0,65532=>800,65533=>900,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserif.z b/vendor/tecnickcom/tcpdf/fonts/freeserif.z new file mode 100644 index 0000000..158194a Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserif.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifb.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freeserifb.ctg.z new file mode 100644 index 0000000..3268f27 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserifb.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifb.php b/vendor/tecnickcom/tcpdf/fonts/freeserifb.php new file mode 100644 index 0000000..95eb43d --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freeserifb.php @@ -0,0 +1,16 @@ +32,'FontBBox'=>'[-819 -555 1834 920]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>676,'XHeight'=>461,'StemV'=>123,'StemH'=>53,'AvgWidth'=>628,'MaxWidth'=>1850,'MissingWidth'=>600); +$cbbox=array(0=>array(23,-81,577,774),33=>array(81,-13,251,691),34=>array(83,404,472,691),35=>array(4,0,496,700),36=>array(29,-99,472,750),37=>array(124,-14,877,692),38=>array(62,-16,787,691),39=>array(75,404,204,691),40=>array(46,-168,306,694),41=>array(27,-168,287,694),42=>array(60,262,443,685),43=>array(62,-16,614,528),44=>array(39,-180,223,155),45=>array(44,171,287,287),46=>array(41,-13,210,156),47=>array(-24,-19,302,691),48=>array(24,-13,476,688),49=>array(65,0,442,688),50=>array(17,0,478,688),51=>array(16,-14,468,688),52=>array(19,0,475,688),53=>array(22,-8,470,676),54=>array(28,-13,475,688),55=>array(17,0,477,676),56=>array(28,-13,472,688),57=>array(26,-13,473,688),58=>array(82,-13,251,472),59=>array(82,-180,266,472),60=>array(62,-25,614,539),61=>array(62,87,614,427),62=>array(62,-25,614,539),63=>array(57,-13,445,689),64=>array(108,-19,822,691),65=>array(20,0,700,690),66=>array(20,0,623,676),67=>array(35,-19,673,691),68=>array(20,0,696,676),69=>array(20,0,645,676),70=>array(20,0,587,676),71=>array(35,-19,753,691),72=>array(20,0,758,676),73=>array(20,0,370,676),74=>array(5,-96,481,676),75=>array(20,0,759,676),76=>array(20,0,639,676),77=>array(20,0,927,676),78=>array(20,-18,705,676),79=>array(35,-19,743,691),80=>array(20,0,604,676),81=>array(35,-176,743,691),82=>array(20,0,709,676),83=>array(45,-19,523,692),84=>array(20,0,625,676),85=>array(20,-19,705,676),86=>array(10,-18,695,676),87=>array(10,-15,972,676),88=>array(20,0,703,676),89=>array(10,0,694,676),90=>array(20,0,626,676),91=>array(67,-149,301,678),92=>array(-25,-19,303,691),93=>array(32,-149,266,678),94=>array(73,311,509,676),95=>array(0,-155,500,-75),96=>array(8,528,246,713),97=>array(25,-14,488,473),98=>array(18,-14,520,676),99=>array(25,-14,430,473),100=>array(25,-14,534,676),101=>array(25,-14,426,473),102=>array(18,0,393,691),103=>array(25,-206,480,473),104=>array(18,0,536,676),105=>array(24,0,265,691),106=>array(0,-203,320,691),107=>array(18,0,545,676),108=>array(18,0,259,676),109=>array(18,0,814,473),110=>array(18,0,536,473),111=>array(25,-14,476,473),112=>array(15,-205,520,473),113=>array(25,-205,527,473),114=>array(18,0,422,473),115=>array(35,-14,371,473),116=>array(18,-12,330,630),117=>array(18,-14,546,461),118=>array(9,-14,473,461),119=>array(9,-14,693,461),120=>array(18,0,490,461),121=>array(9,-205,473,461),122=>array(21,0,420,461),123=>array(22,-175,340,698),124=>array(66,-19,154,691),125=>array(54,-175,372,698),126=>array(29,175,491,331),160=>array(0,0,0,0),161=>array(82,-203,252,501),162=>array(53,-140,458,588),163=>array(21,-14,477,684),164=>array(-26,61,526,613),165=>array(-64,0,547,676),166=>array(66,-19,154,691),167=>array(57,-132,443,691),168=>array(-2,537,337,666),169=>array(26,-19,721,691),170=>array(-1,261,301,688),171=>array(23,36,473,415),172=>array(62,64,618,362),173=>array(44,171,287,287),174=>array(26,-19,721,691),175=>array(1,565,331,637),176=>array(57,402,343,688),177=>array(62,-44,614,558),178=>array(0,390,300,803),179=>array(3,383,297,803),180=>array(86,528,324,713),181=>array(33,-206,536,461),182=>array(0,-186,519,676),183=>array(60,181,189,310),184=>array(68,-218,294,0),185=>array(14,390,259,803),186=>array(18,261,312,688),187=>array(27,36,477,415),188=>array(28,-12,743,688),189=>array(3,-12,765,688),190=>array(23,-12,733,688),191=>array(55,-201,443,501),192=>array(20,0,700,900),193=>array(20,0,700,900),194=>array(20,0,700,899),195=>array(20,0,700,850),196=>array(20,0,700,848),197=>array(20,0,700,900),198=>array(20,0,967,676),199=>array(35,-218,673,691),200=>array(20,0,645,900),201=>array(20,0,645,900),202=>array(20,0,645,899),203=>array(20,0,645,849),204=>array(20,0,370,900),205=>array(20,0,370,900),206=>array(20,0,370,900),207=>array(20,0,370,858),208=>array(12,0,696,676),209=>array(20,-18,705,884),210=>array(35,-19,743,900),211=>array(35,-19,743,900),212=>array(35,-19,743,899),213=>array(35,-19,743,852),214=>array(35,-19,743,853),215=>array(62,-17,614,531),216=>array(35,-74,743,737),217=>array(20,-19,705,900),218=>array(20,-19,705,900),219=>array(20,-19,705,900),220=>array(20,-19,705,853),221=>array(10,0,694,900),222=>array(20,0,604,676),223=>array(20,-12,518,691),224=>array(25,-14,488,713),225=>array(25,-14,488,713),226=>array(25,-14,488,704),227=>array(25,-14,488,674),228=>array(25,-14,488,645),229=>array(25,-14,488,722),230=>array(25,-14,685,473),231=>array(25,-218,430,473),232=>array(25,-14,426,713),233=>array(25,-14,426,712),234=>array(25,-14,426,680),235=>array(25,-14,426,642),236=>array(0,0,263,713),237=>array(24,0,265,713),238=>array(-28,0,309,704),239=>array(-20,0,319,642),240=>array(25,-14,476,691),241=>array(18,0,536,674),242=>array(25,-14,476,713),243=>array(25,-14,476,713),244=>array(25,-14,476,695),245=>array(25,-14,476,644),246=>array(25,-14,476,639),247=>array(62,-56,614,570),248=>array(25,-92,476,549),249=>array(18,-14,546,713),250=>array(18,-14,546,713),251=>array(18,-14,546,704),252=>array(18,-14,546,639),253=>array(9,-205,473,713),254=>array(18,-205,523,676),255=>array(9,-205,473,641),256=>array(20,0,700,845),257=>array(25,-14,488,635),258=>array(20,0,700,900),259=>array(25,-14,488,691),260=>array(9,-205,817,690),261=>array(25,-173,500,473),262=>array(35,-19,673,900),263=>array(25,-14,430,713),264=>array(35,-19,673,900),265=>array(25,-14,430,687),266=>array(35,-19,673,855),267=>array(25,-14,430,638),268=>array(35,-19,673,899),269=>array(25,-14,430,692),270=>array(20,0,696,900),271=>array(25,-14,677,676),272=>array(12,0,696,676),273=>array(25,-14,534,676),274=>array(20,0,645,801),275=>array(25,-14,426,614),276=>array(20,0,645,889),277=>array(25,-14,426,674),278=>array(20,0,645,876),279=>array(25,-14,426,642),280=>array(18,-173,739,676),281=>array(25,-173,444,473),282=>array(20,0,645,900),283=>array(25,-14,426,692),284=>array(35,-19,753,900),285=>array(25,-206,480,687),286=>array(35,-19,753,900),287=>array(25,-206,480,691),288=>array(35,-19,753,855),289=>array(25,-206,480,640),290=>array(35,-300,753,691),291=>array(25,-206,480,767),292=>array(20,0,758,900),293=>array(18,0,536,900),294=>array(21,0,759,676),295=>array(13,0,534,676),296=>array(8,0,373,853),297=>array(-36,0,329,638),298=>array(20,0,370,846),299=>array(-18,0,312,616),300=>array(20,0,370,889),301=>array(-6,0,297,674),302=>array(20,-173,505,676),303=>array(24,-173,396,691),304=>array(20,0,370,876),305=>array(24,0,263,461),306=>array(20,-96,859,676),307=>array(24,-203,530,691),308=>array(5,-96,481,900),309=>array(0,-203,387,687),310=>array(20,-300,759,676),311=>array(18,-300,545,676),312=>array(22,0,514,470),313=>array(20,0,639,900),314=>array(18,0,296,900),315=>array(20,-300,639,676),316=>array(18,-300,259,676),317=>array(20,0,639,676),318=>array(18,0,413,676),319=>array(20,0,639,676),320=>array(18,0,427,676),321=>array(19,0,638,676),322=>array(-22,0,303,676),323=>array(20,-18,705,900),324=>array(18,0,536,713),325=>array(20,-300,705,676),326=>array(18,-300,536,473),327=>array(20,-18,705,900),328=>array(18,0,536,692),329=>array(11,0,606,755),330=>array(16,-14,789,695),331=>array(21,-203,490,473),332=>array(35,-19,743,800),333=>array(25,-14,476,614),334=>array(35,-19,743,889),335=>array(25,-14,476,674),336=>array(35,-19,743,900),337=>array(25,-14,476,713),338=>array(22,-5,981,684),339=>array(25,-14,699,473),340=>array(20,0,709,900),341=>array(18,0,422,713),342=>array(20,-300,709,676),343=>array(18,-300,422,473),344=>array(20,0,709,900),345=>array(18,0,422,692),346=>array(45,-19,523,900),347=>array(35,-14,371,713),348=>array(45,-19,523,900),349=>array(34,-14,371,687),350=>array(35,-218,513,692),351=>array(25,-218,361,473),352=>array(45,-19,523,900),353=>array(27,-14,371,692),354=>array(20,-218,625,676),355=>array(18,-230,330,630),356=>array(20,0,625,900),357=>array(18,-12,447,675),358=>array(32,0,637,676),359=>array(13,-12,332,630),360=>array(20,-19,705,853),361=>array(18,-14,546,638),362=>array(20,-19,705,800),363=>array(18,-14,546,612),364=>array(20,-19,705,889),365=>array(18,-14,546,674),366=>array(20,-19,705,900),367=>array(18,-14,546,718),368=>array(20,-19,705,899),369=>array(18,-14,546,713),370=>array(20,-173,705,676),371=>array(18,-173,558,461),372=>array(10,-15,972,900),373=>array(9,-14,693,687),374=>array(10,0,694,900),375=>array(9,-205,473,687),376=>array(10,0,694,876),377=>array(20,0,626,900),378=>array(21,0,420,713),379=>array(20,0,626,876),380=>array(21,0,420,666),381=>array(20,0,626,900),382=>array(21,0,420,692),383=>array(18,0,393,691),384=>array(13,-14,521,676),385=>array(10,0,767,676),386=>array(25,0,609,676),387=>array(17,-14,521,676),388=>array(16,0,619,686),389=>array(17,-14,521,686),390=>array(35,-19,673,691),391=>array(35,-19,901,822),392=>array(25,-14,605,691),393=>array(12,0,696,676),394=>array(10,0,840,676),395=>array(35,0,638,676),396=>array(25,-14,534,676),397=>array(25,-230,500,473),398=>array(20,0,645,676),399=>array(35,-19,743,691),400=>array(40,-14,586,691),401=>array(3,-96,707,676),402=>array(-57,-203,439,691),403=>array(35,-19,901,822),404=>array(20,-15,762,676),405=>array(20,-9,791,676),406=>array(16,-12,327,676),407=>array(20,0,370,676),408=>array(30,0,846,691),409=>array(22,0,543,691),410=>array(16,0,276,676),411=>array(12,-13,486,694),412=>array(23,-14,953,676),413=>array(0,-227,843,676),414=>array(21,-215,539,473),415=>array(35,-19,743,691),416=>array(35,-19,773,864),417=>array(25,-14,564,647),418=>array(35,-19,1157,694),419=>array(25,-205,776,473),420=>array(0,0,738,676),421=>array(19,-205,524,691),422=>array(16,-196,733,676),423=>array(45,-19,523,692),424=>array(35,-14,371,473),425=>array(12,0,621,673),426=>array(0,-230,465,691),427=>array(20,-227,332,630),428=>array(4,0,688,676),429=>array(15,-12,390,691),430=>array(31,-96,640,676),431=>array(16,-19,748,864),432=>array(16,-14,600,647),433=>array(35,-15,735,676),434=>array(16,-19,623,697),435=>array(13,0,818,682),436=>array(16,-205,695,692),437=>array(28,0,634,676),438=>array(21,0,420,461),439=>array(-5,-17,580,676),440=>array(36,-17,621,676),441=>array(30,-217,486,462),442=>array(37,-217,450,462),443=>array(17,0,478,688),444=>array(50,-17,605,676),445=>array(30,-217,490,463),446=>array(20,-14,401,630),447=>array(19,-205,579,471),448=>array(66,-14,154,696),449=>array(66,-14,352,696),450=>array(33,-13,537,697),451=>array(81,-13,251,691),452=>array(20,0,1290,900),453=>array(20,0,1134,692),454=>array(25,-14,966,692),455=>array(20,-96,1115,676),456=>array(20,-203,907,691),457=>array(18,-203,530,691),458=>array(20,-96,1181,676),459=>array(20,-203,945,691),460=>array(18,-203,809,691),461=>array(20,0,700,892),462=>array(25,-14,488,692),463=>array(20,0,370,892),464=>array(-33,0,304,692),465=>array(35,-19,743,892),466=>array(25,-14,476,692),467=>array(20,-19,705,892),468=>array(18,-14,546,692),469=>array(16,-16,701,900),470=>array(18,-14,546,769),471=>array(16,-16,701,900),472=>array(18,-14,546,881),473=>array(16,-16,701,900),474=>array(18,-14,546,875),475=>array(16,-16,701,900),476=>array(18,-14,546,884),477=>array(18,-13,419,474),478=>array(20,0,700,900),479=>array(25,-14,488,788),480=>array(9,0,689,900),481=>array(25,-14,488,788),482=>array(20,0,967,837),483=>array(25,-14,685,619),484=>array(37,-19,755,691),485=>array(16,-206,500,473),486=>array(35,-19,753,898),487=>array(25,-206,480,692),488=>array(20,0,759,899),489=>array(18,0,545,892),490=>array(35,-202,743,691),491=>array(25,-201,476,473),492=>array(35,-202,743,836),493=>array(25,-201,476,612),494=>array(-5,-17,580,900),495=>array(14,-217,470,692),496=>array(0,-203,387,692),497=>array(20,0,1290,676),498=>array(20,0,1134,676),499=>array(25,-14,966,676),500=>array(35,-19,753,900),501=>array(25,-206,480,686),502=>array(16,-13,955,676),503=>array(3,0,592,699),504=>array(20,-18,705,900),505=>array(18,0,536,696),506=>array(9,0,689,900),507=>array(25,-14,488,899),508=>array(20,0,967,900),509=>array(25,-14,685,686),510=>array(35,-74,743,899),511=>array(25,-92,476,774),512=>array(20,0,700,900),513=>array(25,-14,488,710),514=>array(20,0,700,859),515=>array(25,-14,488,674),516=>array(20,0,645,900),517=>array(25,-14,426,710),518=>array(20,0,645,861),519=>array(25,-14,426,673),520=>array(0,0,370,900),521=>array(-60,0,269,710),522=>array(20,0,370,862),523=>array(-15,0,288,673),524=>array(35,-19,743,900),525=>array(25,-14,476,710),526=>array(35,-19,743,858),527=>array(25,-14,476,674),528=>array(20,0,709,900),529=>array(18,0,422,710),530=>array(20,0,709,866),531=>array(18,0,422,673),532=>array(20,-19,705,900),533=>array(18,-14,546,710),534=>array(20,-19,705,859),535=>array(18,-14,546,674),536=>array(45,-300,523,692),537=>array(35,-300,371,473),538=>array(20,-300,625,676),539=>array(18,-300,330,630),540=>array(33,-58,423,693),541=>array(24,-239,428,444),542=>array(20,0,758,892),543=>array(18,0,536,892),544=>array(-8,-200,731,695),545=>array(25,-253,629,676),546=>array(35,-19,528,691),547=>array(30,-14,470,726),548=>array(28,-227,634,676),549=>array(21,-227,420,461),550=>array(20,0,700,845),551=>array(25,-14,488,640),552=>array(16,-216,641,676),553=>array(25,-227,426,473),554=>array(35,-16,743,900),555=>array(25,-14,476,788),556=>array(35,-16,743,900),557=>array(25,-14,476,788),558=>array(35,-19,743,845),559=>array(25,-14,476,637),560=>array(35,-16,743,900),561=>array(25,-14,476,742),562=>array(10,0,694,837),563=>array(9,-205,473,612),564=>array(24,-298,429,676),565=>array(21,-237,635,473),566=>array(18,-294,413,630),567=>array(0,-203,317,461),568=>array(9,-21,767,700),569=>array(1,-199,759,483),570=>array(9,-90,689,744),571=>array(46,-90,687,744),572=>array(1,-55,440,539),573=>array(14,0,635,676),574=>array(31,-90,644,744),575=>array(35,-200,380,473),576=>array(7,-200,443,473),577=>array(16,0,465,691),578=>array(25,0,444,476),579=>array(18,0,621,676),580=>array(16,-19,701,676),581=>array(18,-14,703,680),582=>array(16,-77,641,780),583=>array(25,-77,426,542),584=>array(3,-96,479,676),585=>array(-57,-203,328,691),586=>array(12,-199,760,697),587=>array(8,-211,588,484),588=>array(16,0,705,676),589=>array(29,0,434,473),590=>array(15,0,699,676),591=>array(16,-205,480,461),592=>array(25,-14,488,473),593=>array(25,-14,511,461),594=>array(25,-14,511,461),595=>array(72,-14,521,691),596=>array(5,-14,410,473),597=>array(25,-102,456,473),598=>array(25,-203,633,676),599=>array(25,-14,654,691),600=>array(25,-14,426,473),601=>array(25,-14,426,473),602=>array(25,-14,636,473),603=>array(25,-13,420,474),604=>array(9,-13,404,474),605=>array(9,-13,618,474),606=>array(27,-13,431,474),607=>array(-57,-203,317,461),608=>array(34,-205,660,691),609=>array(34,-205,481,473),610=>array(24,-13,545,473),611=>array(10,-231,489,461),612=>array(26,-9,565,470),613=>array(14,-215,532,461),614=>array(16,0,534,691),615=>array(16,-203,485,691),616=>array(5,0,298,691),617=>array(16,-12,329,461),618=>array(12,0,281,461),619=>array(2,0,367,676),620=>array(4,0,393,676),621=>array(16,-203,344,676),622=>array(16,-217,616,676),623=>array(16,-12,812,461),624=>array(16,-215,814,461),625=>array(16,-203,764,473),626=>array(-34,-203,609,473),627=>array(21,-203,628,473),628=>array(12,-12,490,461),629=>array(25,-14,476,473),630=>array(25,-14,732,473),631=>array(35,-13,680,478),632=>array(37,-215,674,676),633=>array(5,-12,409,461),634=>array(29,-12,434,676),635=>array(29,-203,518,461),636=>array(29,-215,434,473),637=>array(18,-203,423,473),638=>array(14,0,389,473),639=>array(14,-200,389,473),640=>array(12,0,533,461),641=>array(12,0,533,461),642=>array(35,-227,371,473),643=>array(-30,-203,466,691),644=>array(-34,-203,462,691),645=>array(6,-203,502,473),646=>array(6,-250,555,691),647=>array(5,-12,317,630),648=>array(18,-203,387,630),649=>array(16,-14,537,461),650=>array(52,-11,508,461),651=>array(18,-9,508,466),652=>array(9,0,473,475),653=>array(9,0,693,475),654=>array(9,0,473,666),655=>array(4,0,502,461),656=>array(21,-227,666,461),657=>array(21,-98,478,461),658=>array(14,-217,470,462),659=>array(21,-266,473,462),660=>array(25,0,413,689),661=>array(25,0,413,689),662=>array(25,-14,413,675),663=>array(25,-201,430,691),664=>array(35,-19,743,691),665=>array(12,0,484,461),666=>array(29,-13,433,474),667=>array(30,-6,718,614),668=>array(12,0,570,461),669=>array(4,-203,433,691),670=>array(4,-215,531,461),671=>array(12,0,471,461),672=>array(34,-205,660,691),673=>array(25,0,413,689),674=>array(25,0,413,689),675=>array(25,-14,850,676),676=>array(25,-217,853,676),677=>array(25,-98,908,676),678=>array(18,-14,619,630),679=>array(18,-205,619,689),680=>array(18,-102,704,630),681=>array(14,-203,759,691),682=>array(16,-14,611,676),683=>array(16,0,580,676),684=>array(10,1,466,697),685=>array(23,88,465,675),686=>array(-54,-215,593,504),687=>array(-20,-230,713,504),688=>array(11,390,356,841),689=>array(10,390,364,860),690=>array(0,255,213,851),691=>array(19,390,289,705),692=>array(3,381,279,704),693=>array(3,251,337,704),694=>array(8,389,363,703),695=>array(10,381,466,697),696=>array(11,253,320,697),697=>array(12,463,250,760),698=>array(8,463,470,760),699=>array(45,441,204,695),700=>array(45,441,204,695),701=>array(45,441,204,695),702=>array(150,497,267,731),703=>array(33,497,150,731),704=>array(35,490,299,800),705=>array(36,490,300,800),706=>array(33,501,299,715),707=>array(33,501,299,715),708=>array(24,510,309,712),709=>array(24,510,309,712),710=>array(-2,528,335,704),711=>array(-2,528,335,704),712=>array(64,507,136,764),713=>array(1,565,331,637),714=>array(86,528,324,713),715=>array(8,528,246,713),716=>array(64,-300,136,-43),717=>array(1,-137,331,-65),718=>array(46,-229,284,-44),719=>array(38,-234,276,-49),720=>array(60,-1,190,461),721=>array(60,343,190,461),722=>array(150,-275,267,-41),723=>array(33,-273,150,-39),724=>array(32,168,304,360),725=>array(32,168,304,360),726=>array(32,68,304,340),727=>array(31,167,303,239),728=>array(15,528,318,691),729=>array(103,537,232,666),730=>array(67,544,266,743),731=>array(90,-191,319,26),732=>array(-16,547,349,674),733=>array(2,528,331,713),734=>array(64,284,306,462),735=>array(9,527,346,780),736=>array(6,232,333,704),737=>array(11,390,170,841),738=>array(17,381,242,705),739=>array(8,390,323,697),740=>array(17,390,281,859),741=>array(40,0,454,800),742=>array(40,0,454,800),743=>array(40,0,454,800),744=>array(40,0,454,800),745=>array(40,0,454,800),746=>array(72,-1,479,606),747=>array(72,0,479,614),748=>array(-2,-218,335,-42),749=>array(1,564,331,770),750=>array(14,356,468,691),751=>array(24,-222,309,-20),752=>array(24,-219,309,-17),753=>array(34,-236,300,-22),754=>array(33,-231,299,-17),755=>array(64,-254,263,-55),756=>array(8,302,246,487),757=>array(2,302,331,487),758=>array(2,302,331,487),759=>array(17,-164,382,-37),760=>array(82,203,251,688),761=>array(11,511,163,748),762=>array(11,511,163,748),763=>array(12,-72,164,165),764=>array(11,-72,163,165),765=>array(11,-200,322,-20),766=>array(13,-200,324,-28),767=>array(1,-271,421,-36),768=>array(-326,528,-88,713),769=>array(-247,528,-9,713),770=>array(-335,528,2,704),771=>array(-349,536,16,663),772=>array(-330,565,0,637),773=>array(-499,565,-1,637),774=>array(-318,528,-15,691),775=>array(-230,537,-101,666),776=>array(-335,537,4,666),777=>array(-263,527,-90,697),778=>array(-264,505,-65,704),779=>array(-307,528,22,713),780=>array(-335,518,2,694),781=>array(-205,507,-133,764),782=>array(-271,507,-55,764),783=>array(-388,528,-59,713),784=>array(-311,515,-8,746),785=>array(-319,480,-16,643),786=>array(-246,506,-87,760),787=>array(-234,493,-75,747),788=>array(-243,500,-84,754),789=>array(-44,485,115,739),790=>array(-294,-224,-56,-39),791=>array(-290,-225,-52,-40),792=>array(-334,-300,-100,-29),793=>array(-247,-300,-13,-29),794=>array(-67,505,170,742),795=>array(-19,374,157,647),796=>array(-256,-272,-139,-38),797=>array(-332,-233,-60,-41),798=>array(-352,-244,-80,-52),799=>array(-302,-300,-30,-28),800=>array(-302,-200,-30,-128),801=>array(-225,-251,-1,46),802=>array(-103,-251,121,46),803=>array(-268,-185,-139,-56),804=>array(-461,-185,-122,-56),805=>array(-303,-254,-104,-55),806=>array(-278,-298,-119,-54),807=>array(-316,-218,-90,0),808=>array(-286,-157,-47,0),809=>array(-277,-300,-205,-43),810=>array(-363,-225,-52,-45),811=>array(-368,-189,-85,-47),812=>array(-335,-220,2,-44),813=>array(-384,-220,-47,-44),814=>array(-318,-210,-15,-47),815=>array(-366,-210,-63,-47),816=>array(-404,-200,-39,-73),817=>array(-390,-148,-60,-76),818=>array(-500,-155,0,-75),819=>array(-501,-270,0,-58),820=>array(-365,169,0,296),821=>array(-374,184,-96,256),822=>array(-490,187,-10,259),823=>array(-459,92,-47,345),824=>array(-492,-127,-14,583),825=>array(-194,-282,-77,-48),826=>array(-356,-220,-45,-40),827=>array(-341,-300,-78,-37),828=>array(-400,-258,-31,-45),829=>array(-336,497,1,750),830=>array(-236,503,-109,795),831=>array(-501,520,0,732),832=>array(-326,528,-88,713),833=>array(-247,528,-9,713),834=>array(-365,536,0,663),835=>array(-205,501,-20,799),836=>array(-346,530,33,772),837=>array(-228,-200,-58,-47),838=>array(-312,512,-1,692),839=>array(-333,-268,-61,-89),840=>array(-318,-300,-105,-43),841=>array(-270,-218,-126,-74),842=>array(-373,505,-8,696),843=>array(-387,501,-22,850),844=>array(-388,517,-23,785),845=>array(-427,-261,-7,-27),846=>array(-323,-293,-89,-15),848=>array(-320,501,-54,715),849=>array(-284,510,-167,744),850=>array(-312,507,-9,738),851=>array(-425,-299,-88,-46),852=>array(-333,-260,-67,-46),853=>array(-352,-258,-86,-44),854=>array(-534,-264,-14,-50),855=>array(-237,514,-120,748),856=>array(0,537,129,666),857=>array(-312,-258,-120,-46),858=>array(-392,-258,-41,-51),859=>array(-339,500,-101,754),860=>array(-299,-215,293,-46),861=>array(-286,696,306,865),862=>array(-326,693,326,765),863=>array(-323,-138,329,-66),864=>array(-286,549,286,695),865=>array(-296,524,296,693),866=>array(-311,-259,309,-25),867=>array(-315,499,-115,709),868=>array(-293,499,-119,709),869=>array(-237,506,-132,804),870=>array(-338,499,-143,709),871=>array(-315,498,-87,703),872=>array(-319,498,-144,708),873=>array(-323,497,-103,795),874=>array(-304,506,-81,798),875=>array(-384,508,-41,712),876=>array(-258,508,-83,712),877=>array(-269,499,-134,776),878=>array(-330,498,-130,703),879=>array(-324,506,-120,705),884=>array(1,551,164,780),885=>array(37,-220,200,9),890=>array(130,-200,300,-47),894=>array(82,-180,266,472),900=>array(91,546,238,770),901=>array(14,528,393,770),902=>array(20,0,700,704),903=>array(32,258,218,444),904=>array(0,0,805,703),905=>array(2,0,923,698),906=>array(0,0,541,705),908=>array(0,-19,800,702),910=>array(0,0,866,702),911=>array(0,0,826,701),912=>array(-42,-13,337,766),913=>array(20,0,700,690),914=>array(20,0,623,676),915=>array(16,0,583,676),916=>array(13,0,746,690),917=>array(20,0,645,676),918=>array(20,0,626,676),919=>array(25,0,763,676),920=>array(35,-19,743,691),921=>array(24,0,374,676),922=>array(33,0,772,676),923=>array(9,0,689,690),924=>array(18,0,925,676),925=>array(20,-18,705,676),926=>array(58,0,593,673),927=>array(35,-19,743,691),928=>array(24,0,788,676),929=>array(20,0,604,676),931=>array(12,0,621,673),932=>array(20,0,625,676),933=>array(20,0,718,676),934=>array(52,0,816,673),935=>array(20,0,703,676),936=>array(7,0,917,686),937=>array(56,0,756,691),938=>array(24,0,374,866),939=>array(20,0,718,868),940=>array(37,-13,588,770),941=>array(36,-13,431,770),942=>array(9,-231,529,770),943=>array(65,-13,318,770),944=>array(8,-13,497,767),945=>array(37,-13,588,474),946=>array(56,-200,522,679),947=>array(28,-231,523,474),948=>array(38,-13,513,690),949=>array(36,-13,431,474),950=>array(47,-180,476,735),951=>array(9,-231,529,474),952=>array(50,-13,501,696),953=>array(65,-13,318,461),954=>array(17,0,579,486),955=>array(12,-13,486,694),956=>array(49,-215,587,461),957=>array(9,-13,472,474),958=>array(44,-192,460,739),959=>array(37,-13,514,474),960=>array(26,-13,570,498),961=>array(43,-202,508,474),962=>array(40,-192,420,490),963=>array(34,-13,537,474),964=>array(8,-13,423,499),965=>array(8,-13,490,474),966=>array(39,-211,622,474),967=>array(9,-211,486,474),968=>array(9,-211,659,578),969=>array(35,-13,680,474),970=>array(0,-13,318,684),971=>array(8,-13,490,684),972=>array(37,-13,514,731),973=>array(8,-13,490,730),974=>array(35,-13,680,729),976=>array(44,-13,507,727),977=>array(8,-13,592,727),978=>array(17,0,709,676),979=>array(0,0,858,705),980=>array(17,0,709,866),981=>array(44,-211,617,676),982=>array(25,-13,680,547),983=>array(30,-182,521,474),984=>array(16,0,600,676),985=>array(37,-245,514,474),986=>array(16,0,637,690),987=>array(34,-192,506,498),988=>array(16,0,583,676),989=>array(-28,-212,503,498),990=>array(16,-12,699,691),991=>array(33,-192,404,727),992=>array(9,0,689,690),993=>array(12,-202,593,708),994=>array(35,-219,987,692),995=>array(35,-219,680,474),996=>array(35,-181,581,692),997=>array(35,-220,531,475),998=>array(25,-194,581,690),999=>array(35,-9,509,516),1000=>array(35,-119,539,691),1001=>array(35,-81,441,473),1002=>array(22,-71,910,692),1003=>array(12,-55,641,474),1004=>array(35,-10,611,799),1005=>array(35,-7,513,551),1006=>array(22,-181,632,800),1007=>array(22,-220,495,566),1008=>array(30,-13,521,474),1009=>array(43,-240,508,474),1010=>array(37,-13,439,474),1011=>array(0,-203,320,691),1012=>array(35,-19,743,691),1013=>array(40,-20,388,477),1014=>array(40,-20,388,477),1015=>array(20,0,604,676),1016=>array(-4,-206,543,682),1017=>array(49,-19,687,691),1018=>array(16,0,923,676),1019=>array(57,-206,774,474),1020=>array(-46,-212,508,474),1021=>array(49,-19,687,691),1022=>array(49,-19,687,691),1023=>array(49,-19,687,691),1024=>array(29,0,654,900),1025=>array(29,0,654,876),1026=>array(22,-14,804,676),1027=>array(25,0,592,900),1028=>array(60,-19,698,691),1029=>array(50,-19,528,692),1030=>array(29,0,379,676),1031=>array(29,0,379,877),1032=>array(14,-96,490,676),1033=>array(18,-14,1012,676),1034=>array(25,0,1007,676),1035=>array(22,-1,874,676),1036=>array(25,0,753,900),1037=>array(25,0,763,900),1038=>array(10,-14,721,900),1039=>array(25,-200,763,676),1040=>array(23,0,703,690),1041=>array(25,0,609,676),1042=>array(29,0,632,676),1043=>array(25,0,592,676),1044=>array(25,-200,693,676),1045=>array(29,0,654,676),1046=>array(25,0,1079,686),1047=>array(34,-19,604,691),1048=>array(25,0,763,676),1049=>array(25,0,763,900),1050=>array(25,0,753,686),1051=>array(18,-14,768,676),1052=>array(29,0,936,676),1053=>array(29,0,767,676),1054=>array(60,-19,768,691),1055=>array(25,0,789,676),1056=>array(29,0,613,676),1057=>array(46,-19,684,691),1058=>array(11,0,616,676),1059=>array(10,-14,721,676),1060=>array(50,0,814,673),1061=>array(20,0,703,676),1062=>array(25,-200,763,676),1063=>array(25,0,743,676),1064=>array(25,0,1104,676),1065=>array(25,-200,1104,676),1066=>array(22,0,744,676),1067=>array(25,0,959,676),1068=>array(25,0,609,676),1069=>array(49,-19,687,691),1070=>array(25,-19,1076,691),1071=>array(11,0,709,676),1072=>array(50,-14,513,473),1073=>array(60,-14,507,711),1074=>array(26,0,495,461),1075=>array(26,0,420,461),1076=>array(19,-142,546,461),1077=>array(60,-14,461,473),1078=>array(26,0,779,470),1079=>array(30,-14,445,473),1080=>array(26,0,546,461),1081=>array(26,0,546,693),1082=>array(26,0,550,470),1083=>array(4,-7,525,461),1084=>array(26,-14,656,461),1085=>array(26,0,546,461),1086=>array(60,-14,511,473),1087=>array(26,0,546,461),1088=>array(22,-205,527,473),1089=>array(60,-14,465,473),1090=>array(19,0,482,461),1091=>array(9,-205,473,461),1092=>array(60,-205,819,683),1093=>array(21,0,493,461),1094=>array(26,-142,547,461),1095=>array(26,0,538,461),1096=>array(26,0,807,461),1097=>array(26,-142,808,461),1098=>array(19,0,597,461),1099=>array(26,0,738,461),1100=>array(26,0,495,461),1101=>array(30,-14,479,473),1102=>array(26,-14,750,473),1103=>array(16,0,537,461),1104=>array(60,-14,461,713),1105=>array(60,-14,461,666),1106=>array(26,-203,532,676),1107=>array(26,0,420,713),1108=>array(60,-14,509,473),1109=>array(60,-14,396,473),1110=>array(34,0,275,691),1111=>array(-20,0,319,666),1112=>array(0,-203,320,691),1113=>array(7,-7,762,461),1114=>array(26,0,774,461),1115=>array(26,0,544,676),1116=>array(26,0,550,713),1117=>array(26,0,546,713),1118=>array(9,-205,473,693),1119=>array(26,-142,546,461),1120=>array(60,-19,1006,691),1121=>array(60,-13,709,474),1122=>array(25,0,746,676),1123=>array(20,0,598,683),1124=>array(16,-19,998,691),1125=>array(29,-14,750,473),1126=>array(10,0,961,690),1127=>array(12,0,675,461),1128=>array(25,0,1347,690),1129=>array(25,0,955,461),1130=>array(16,0,1070,676),1131=>array(14,0,768,461),1132=>array(25,0,1450,676),1133=>array(25,0,1046,461),1134=>array(50,-212,600,872),1135=>array(36,-192,412,609),1136=>array(25,0,954,673),1137=>array(25,-206,759,676),1138=>array(60,-19,768,691),1139=>array(60,-14,601,473),1140=>array(16,-18,788,686),1141=>array(21,-14,572,471),1142=>array(16,-18,788,900),1143=>array(21,-14,572,710),1144=>array(60,-205,1205,691),1145=>array(57,-205,953,473),1146=>array(60,-81,932,753),1147=>array(60,-62,684,524),1148=>array(60,-19,1006,900),1149=>array(60,-13,709,725),1150=>array(60,-19,1006,862),1151=>array(60,-13,709,664),1152=>array(50,0,671,690),1153=>array(60,-171,451,473),1154=>array(-16,-212,246,151),1155=>array(-355,528,-10,687),1156=>array(-446,508,0,687),1157=>array(-329,511,-141,750),1158=>array(-287,511,-99,750),1159=>array(-601,535,54,715),1160=>array(-758,-134,275,869),1161=>array(-796,-262,366,900),1162=>array(25,-161,763,900),1163=>array(25,-161,545,697),1164=>array(25,0,609,676),1165=>array(25,0,498,461),1166=>array(25,0,609,676),1167=>array(24,-205,530,473),1168=>array(25,0,592,842),1169=>array(25,0,434,571),1170=>array(10,0,593,676),1171=>array(5,0,420,461),1172=>array(25,-218,606,676),1173=>array(26,-203,535,461),1174=>array(26,-200,1136,686),1175=>array(26,-142,824,470),1176=>array(50,-212,620,691),1177=>array(30,-170,445,473),1178=>array(25,-200,808,686),1179=>array(25,-142,588,470),1180=>array(25,0,799,686),1181=>array(25,0,581,470),1182=>array(22,0,885,686),1183=>array(22,0,660,470),1184=>array(22,0,858,685),1185=>array(19,0,620,470),1186=>array(25,-200,763,676),1187=>array(25,-142,550,461),1188=>array(25,0,961,676),1189=>array(25,0,674,461),1190=>array(25,-218,1036,676),1191=>array(26,-203,814,461),1192=>array(60,-14,853,676),1193=>array(50,-10,616,460),1194=>array(60,-212,698,691),1195=>array(60,-170,465,473),1196=>array(22,-200,627,676),1197=>array(19,-142,482,461),1198=>array(10,0,694,676),1199=>array(15,-205,594,461),1200=>array(15,0,699,676),1201=>array(15,-205,594,461),1202=>array(16,-200,765,676),1203=>array(16,-142,548,461),1204=>array(22,-167,1018,676),1205=>array(19,-110,766,461),1206=>array(25,-200,743,676),1207=>array(26,-142,543,461),1208=>array(25,0,799,676),1209=>array(26,0,572,461),1210=>array(25,0,743,676),1211=>array(28,0,546,676),1212=>array(15,-19,910,691),1213=>array(12,-13,587,474),1214=>array(15,-128,910,691),1215=>array(12,-128,587,474),1216=>array(29,0,379,676),1217=>array(25,0,1079,900),1218=>array(26,0,779,692),1219=>array(25,-236,717,686),1220=>array(26,-203,541,470),1221=>array(18,-161,768,676),1222=>array(4,-161,525,461),1223=>array(25,-236,763,676),1224=>array(26,-203,544,461),1225=>array(25,-161,763,676),1226=>array(26,-161,546,461),1227=>array(25,-167,743,676),1228=>array(26,-110,538,461),1229=>array(25,-161,932,676),1230=>array(26,-161,656,461),1231=>array(29,0,379,676),1232=>array(23,0,703,900),1233=>array(50,-14,513,693),1234=>array(23,0,703,876),1235=>array(50,-14,513,666),1236=>array(41,0,988,676),1237=>array(50,-14,710,473),1238=>array(29,0,654,900),1239=>array(60,-14,461,691),1240=>array(60,-19,768,691),1241=>array(44,-13,445,474),1242=>array(35,-19,743,876),1243=>array(44,-13,445,666),1244=>array(25,0,1079,876),1245=>array(26,0,779,666),1246=>array(34,-19,604,876),1247=>array(30,-14,445,666),1248=>array(18,-17,603,676),1249=>array(30,-14,422,471),1250=>array(25,0,763,847),1251=>array(26,0,546,637),1252=>array(25,0,763,876),1253=>array(26,0,546,666),1254=>array(60,-19,768,876),1255=>array(60,-14,511,666),1256=>array(60,-19,768,691),1257=>array(60,-14,511,473),1258=>array(35,-19,743,876),1259=>array(60,-14,511,666),1260=>array(49,-19,687,876),1261=>array(30,-14,479,666),1262=>array(10,-14,721,847),1263=>array(9,-205,473,637),1264=>array(10,-14,721,876),1265=>array(9,-205,473,666),1266=>array(10,-14,721,900),1267=>array(9,-205,473,713),1268=>array(25,0,743,876),1269=>array(26,0,538,666),1270=>array(24,-200,602,676),1271=>array(26,-142,416,461),1272=>array(25,0,959,863),1273=>array(26,0,738,640),1281=>array(23,-14,532,676),1296=>array(50,-19,620,691),1297=>array(50,-14,465,473),1298=>array(18,-236,768,676),1299=>array(4,-203,525,461),1306=>array(60,-176,768,691),1307=>array(60,-205,562,473),1308=>array(7,-15,969,676),1309=>array(2,-14,686,461),1310=>array(25,0,753,686),1311=>array(26,0,550,470),1329=>array(15,-41,879,662),1330=>array(15,0,777,676),1331=>array(30,0,848,676),1332=>array(15,0,931,676),1333=>array(15,-14,765,662),1334=>array(30,-87,755,674),1335=>array(15,-87,790,662),1336=>array(80,-87,752,676),1337=>array(15,0,923,676),1338=>array(30,-14,859,662),1339=>array(15,0,750,676),1340=>array(15,-87,746,662),1341=>array(15,0,951,662),1342=>array(10,-19,982,691),1343=>array(15,0,733,662),1344=>array(10,-61,454,662),1345=>array(40,-24,701,674),1346=>array(15,-87,931,676),1347=>array(40,-14,730,675),1348=>array(15,-14,951,662),1349=>array(40,-15,611,691),1350=>array(10,-14,914,749),1351=>array(30,-16,744,678),1352=>array(15,0,764,676),1353=>array(40,-148,754,678),1354=>array(20,0,826,676),1355=>array(30,-87,765,674),1356=>array(15,0,945,676),1357=>array(15,-14,764,662),1358=>array(15,-87,917,662),1359=>array(40,-14,525,677),1360=>array(15,0,748,676),1361=>array(40,-15,611,676),1362=>array(15,0,641,662),1363=>array(30,0,794,664),1364=>array(10,0,859,676),1365=>array(30,-14,738,676),1366=>array(30,-15,724,662),1369=>array(33,491,150,725),1370=>array(150,497,267,731),1371=>array(12,463,250,760),1372=>array(40,389,267,662),1373=>array(15,463,253,760),1374=>array(-20,496,284,676),1375=>array(-18,530,282,683),1377=>array(15,-14,803,461),1378=>array(15,-200,533,473),1379=>array(30,-200,591,473),1380=>array(15,-200,598,473),1381=>array(15,-14,536,676),1382=>array(30,-200,532,473),1383=>array(15,-87,486,676),1384=>array(15,-200,533,473),1385=>array(15,-200,576,473),1386=>array(30,-14,575,676),1387=>array(15,-200,533,676),1388=>array(15,-200,254,461),1389=>array(15,-200,783,676),1390=>array(30,-10,584,690),1391=>array(15,-200,529,676),1392=>array(15,0,533,676),1393=>array(30,-13,498,665),1394=>array(15,-200,568,473),1395=>array(30,-13,545,669),1396=>array(15,-14,536,662),1397=>array(0,-200,317,461),1398=>array(80,-14,552,676),1399=>array(15,-200,417,461),1400=>array(15,0,533,473),1401=>array(15,-200,396,464),1402=>array(15,-200,795,461),1403=>array(30,-200,434,461),1404=>array(15,0,533,473),1405=>array(15,-14,536,461),1406=>array(15,-200,580,676),1407=>array(15,-14,806,473),1408=>array(15,-200,533,473),1409=>array(30,-200,477,473),1410=>array(15,0,297,461),1411=>array(15,-200,806,676),1412=>array(15,-200,520,473),1413=>array(30,-14,481,473),1414=>array(30,-200,638,670),1415=>array(15,-14,587,676),1417=>array(82,-13,251,472),1418=>array(23,144,326,326),1423=>array(15,0,788,676),1425=>array(209,-235,393,-45),1426=>array(184,665,394,855),1427=>array(20,665,177,900),1428=>array(267,665,343,855),1429=>array(219,665,395,855),1430=>array(214,-265,350,-45),1431=>array(231,665,371,845),1432=>array(134,665,424,820),1433=>array(-85,665,51,885),1434=>array(445,-235,663,-55),1435=>array(167,-265,337,-45),1436=>array(264,665,400,885),1437=>array(511,665,647,885),1438=>array(176,665,432,885),1439=>array(-53,666,376,886),1440=>array(315,666,499,886),1441=>array(-89,668,89,852),1442=>array(209,-235,393,-45),1443=>array(85,-220,315,-45),1444=>array(84,-235,302,-55),1445=>array(133,-265,269,-45),1446=>array(108,-265,342,-45),1447=>array(215,-264,371,-55),1448=>array(162,665,298,885),1449=>array(-93,666,91,886),1450=>array(209,-235,393,-45),1451=>array(73,664,291,844),1452=>array(74,665,304,840),1453=>array(354,-265,490,-45),1454=>array(-254,665,36,820),1455=>array(209,665,387,843),1456=>array(262,-236,338,-45),1457=>array(93,-235,433,-45),1458=>array(77,-235,421,-45),1459=>array(81,-235,419,-45),1460=>array(262,-120,338,-45),1461=>array(203,-120,394,-45),1462=>array(174,-235,386,-45),1463=>array(183,-110,433,-55),1464=>array(181,-235,411,-55),1465=>array(0,645,76,720),1466=>array(0,628,106,734),1467=>array(155,-235,442,-45),1468=>array(-42,258,42,342),1469=>array(230,-230,286,-45),1470=>array(36,440,399,600),1471=>array(85,654,304,709),1472=>array(50,-15,105,660),1473=>array(439,630,515,705),1474=>array(134,630,210,705),1475=>array(100,50,300,620),1476=>array(175,630,251,705),1477=>array(247,-145,353,-39),1478=>array(32,0,341,644),1479=>array(171,-272,421,-55),1488=>array(41,0,554,644),1489=>array(21,0,495,645),1490=>array(9,-1,317,644),1491=>array(32,-5,485,645),1492=>array(40,-5,521,645),1493=>array(31,-5,223,644),1494=>array(31,-7,258,644),1495=>array(39,-5,519,645),1496=>array(33,0,557,644),1497=>array(29,301,235,645),1498=>array(32,-285,458,645),1499=>array(18,0,480,645),1500=>array(33,-5,477,899),1501=>array(43,0,498,645),1502=>array(39,0,568,637),1503=>array(32,-280,237,644),1504=>array(6,0,315,644),1505=>array(45,0,490,645),1506=>array(30,-222,520,644),1507=>array(38,-280,468,645),1508=>array(16,0,468,644),1509=>array(32,-280,504,646),1510=>array(36,0,523,645),1511=>array(44,-300,524,645),1512=>array(32,-5,472,645),1513=>array(33,0,683,645),1514=>array(8,-5,540,645),1520=>array(31,-5,489,644),1521=>array(29,-5,489,645),1522=>array(0,301,472,645),1523=>array(107,475,322,752),1524=>array(31,475,421,752),1536=>array(20,-80,588,158),1537=>array(10,-164,1000,1),1538=>array(30,-82,770,152),1539=>array(80,-158,768,108),1542=>array(0,-65,525,900),1543=>array(0,-65,525,900),1544=>array(26,-210,704,267),1545=>array(40,-19,549,691),1546=>array(40,-19,689,691),1547=>array(75,-260,635,661),1548=>array(45,-10,201,219),1549=>array(27,-133,301,92),1550=>array(42,1,598,177),1551=>array(52,-300,581,436),1552=>array(30,744,270,900),1553=>array(32,694,258,900),1554=>array(30,662,385,891),1555=>array(30,627,355,900),1556=>array(34,760,316,850),1557=>array(21,642,250,900),1558=>array(20,621,346,897),1559=>array(53,605,195,896),1560=>array(93,717,250,822),1561=>array(50,675,206,875),1562=>array(87,-284,244,-179),1563=>array(82,-13,266,555),1566=>array(92,1,367,231),1567=>array(67,-13,455,689),1568=>array(75,-300,722,330),1569=>array(86,-79,333,292),1570=>array(0,-61,282,824),1571=>array(53,-61,217,900),1572=>array(3,-270,329,559),1573=>array(86,-300,250,696),1574=>array(75,-166,722,533),1575=>array(109,-61,214,696),1576=>array(75,-217,899,360),1577=>array(67,0,394,610),1578=>array(75,0,897,490),1579=>array(75,0,897,563),1580=>array(75,-260,655,449),1581=>array(75,-260,655,449),1582=>array(75,-260,655,640),1583=>array(75,0,418,399),1584=>array(75,0,418,631),1585=>array(0,-247,355,268),1586=>array(0,-247,355,478),1587=>array(74,-241,911,244),1588=>array(74,-241,911,503),1589=>array(75,-242,909,260),1590=>array(75,-242,909,460),1591=>array(0,0,568,711),1592=>array(0,0,568,711),1593=>array(75,-300,595,436),1594=>array(75,-300,595,610),1595=>array(74,0,901,701),1596=>array(74,-284,901,701),1597=>array(75,-166,722,592),1598=>array(75,-166,722,440),1599=>array(75,-166,722,543),1600=>array(-5,0,413,110),1601=>array(75,0,868,600),1602=>array(75,-170,635,510),1603=>array(-5,0,456,675),1604=>array(75,-240,601,688),1605=>array(75,-298,489,451),1606=>array(74,-194,601,498),1607=>array(67,0,394,403),1608=>array(3,-270,329,269),1609=>array(75,-166,722,330),1610=>array(75,-300,722,330),1611=>array(74,674,269,895),1612=>array(72,666,316,900),1613=>array(44,-300,239,-79),1614=>array(74,704,269,835),1615=>array(31,651,225,900),1616=>array(74,-296,269,-165),1617=>array(75,721,259,880),1618=>array(106,693,246,850),1619=>array(12,721,294,824),1620=>array(86,654,250,900),1621=>array(69,-282,233,-36),1622=>array(131,-269,209,-56),1623=>array(81,641,275,890),1624=>array(69,661,305,900),1625=>array(-124,788,116,854),1626=>array(65,697,224,842),1627=>array(55,687,214,832),1628=>array(110,-181,228,-71),1629=>array(31,651,225,900),1630=>array(74,686,269,872),1631=>array(0,-290,261,-58),1632=>array(121,57,378,350),1633=>array(132,-14,339,627),1634=>array(62,-14,442,652),1635=>array(24,-14,473,649),1636=>array(70,-14,461,627),1637=>array(42,-15,458,589),1638=>array(13,-14,489,648),1639=>array(53,-12,447,614),1640=>array(43,-18,456,647),1641=>array(77,-16,450,635),1642=>array(40,-19,409,691),1643=>array(20,-109,195,146),1644=>array(50,384,185,622),1645=>array(14,278,473,687),1646=>array(75,0,899,360),1647=>array(75,-170,635,304),1648=>array(111,658,189,871),1649=>array(0,-61,296,864),1650=>array(0,-61,261,900),1651=>array(0,-290,261,696),1652=>array(76,611,240,857),1653=>array(100,-61,336,857),1654=>array(3,-270,464,520),1655=>array(3,-270,461,581),1656=>array(75,-166,722,587),1657=>array(75,0,897,617),1658=>array(75,0,897,584),1659=>array(75,-291,897,351),1660=>array(75,-135,897,481),1661=>array(75,0,897,556),1662=>array(75,-284,899,360),1663=>array(75,0,897,628),1664=>array(75,-300,897,351),1665=>array(75,-260,655,709),1666=>array(75,-260,655,714),1667=>array(75,-260,655,449),1668=>array(75,-260,655,449),1669=>array(75,-261,655,713),1670=>array(75,-260,655,449),1671=>array(75,-260,655,449),1672=>array(75,0,418,747),1673=>array(75,-139,418,400),1674=>array(75,-217,418,399),1675=>array(75,-217,418,747),1676=>array(75,0,418,650),1677=>array(75,-207,418,399),1678=>array(75,0,418,713),1679=>array(75,0,418,686),1680=>array(18,0,418,758),1681=>array(0,-247,358,637),1682=>array(0,-247,355,512),1683=>array(0,-291,355,268),1684=>array(0,-297,381,268),1685=>array(0,-247,510,268),1686=>array(0,-300,358,268),1687=>array(0,-247,355,470),1688=>array(0,-247,355,583),1689=>array(0,-247,357,577),1690=>array(74,-241,911,390),1691=>array(74,-284,911,246),1692=>array(74,-284,911,503),1693=>array(75,-242,909,260),1694=>array(75,-242,909,533),1695=>array(0,0,568,711),1696=>array(75,-300,595,703),1697=>array(75,0,868,410),1698=>array(75,-217,868,410),1699=>array(75,-217,868,645),1700=>array(75,0,868,693),1701=>array(75,-284,868,410),1702=>array(75,0,868,746),1703=>array(75,-170,635,521),1704=>array(75,-170,635,603),1705=>array(74,0,901,701),1706=>array(0,1,1134,685),1707=>array(74,0,901,701),1708=>array(-5,0,456,777),1709=>array(-5,0,456,900),1710=>array(-5,-284,456,675),1711=>array(74,0,901,819),1712=>array(74,0,901,819),1713=>array(74,0,901,819),1714=>array(74,-227,901,819),1715=>array(74,-291,901,819),1716=>array(74,0,901,819),1717=>array(75,-240,601,832),1718=>array(75,-240,601,800),1719=>array(75,-240,601,846),1720=>array(75,-300,601,688),1721=>array(74,-290,601,498),1722=>array(74,-194,601,358),1723=>array(74,-194,601,657),1724=>array(75,-300,601,491),1725=>array(74,-194,601,613),1726=>array(-21,0,417,398),1727=>array(75,-260,655,650),1728=>array(75,-10,364,559),1729=>array(75,-52,399,142),1730=>array(75,-52,399,439),1731=>array(75,-52,399,380),1732=>array(3,-270,329,269),1733=>array(3,-270,329,269),1734=>array(3,-270,329,532),1735=>array(3,-270,329,581),1736=>array(3,-270,329,557),1737=>array(3,-270,329,502),1738=>array(3,-270,329,510),1739=>array(3,-270,329,583),1740=>array(75,-166,722,330),1741=>array(19,-166,762,330),1742=>array(75,-166,722,452),1743=>array(3,-270,329,491),1744=>array(75,-300,736,330),1745=>array(75,-300,722,330),1746=>array(75,-170,752,280),1747=>array(65,-170,752,459),1748=>array(75,-12,355,105),1749=>array(75,-10,364,313),1750=>array(60,580,498,900),1751=>array(61,580,387,900),1752=>array(1,732,226,874),1753=>array(40,552,266,900),1754=>array(80,545,370,900),1755=>array(43,730,226,883),1756=>array(37,656,456,899),1757=>array(0,-126,1132,797),1758=>array(9,-144,961,808),1759=>array(42,613,216,900),1760=>array(73,715,187,891),1761=>array(54,735,305,858),1762=>array(48,565,256,900),1763=>array(18,-300,438,-57),1764=>array(70,748,257,817),1765=>array(84,203,248,473),1766=>array(40,23,380,249),1767=>array(40,589,380,815),1768=>array(15,616,280,900),1769=>array(7,-107,754,800),1770=>array(74,-288,291,-43),1771=>array(74,655,291,900),1772=>array(41,731,210,900),1773=>array(7,-289,153,-26),1774=>array(75,0,418,652),1775=>array(0,-247,355,502),1776=>array(121,57,378,350),1777=>array(132,-14,339,627),1778=>array(62,-14,442,652),1779=>array(24,-14,473,649),1780=>array(56,-17,448,626),1781=>array(42,-15,458,618),1782=>array(75,-28,418,625),1783=>array(53,-12,447,614),1784=>array(43,-18,456,647),1785=>array(77,-16,450,635),1786=>array(74,-241,911,503),1787=>array(75,-242,909,460),1788=>array(75,-300,595,610),1789=>array(76,91,269,537),1790=>array(13,91,269,473),1791=>array(-21,0,417,562),1872=>array(75,-217,897,351),1873=>array(75,-217,897,553),1874=>array(75,-277,897,351),1875=>array(75,-277,897,450),1876=>array(75,-227,897,470),1877=>array(75,-195,897,351),1878=>array(75,0,897,472),1879=>array(75,-260,655,620),1880=>array(75,-260,655,449),1881=>array(75,-291,418,735),1882=>array(75,-213,418,399),1883=>array(0,-247,418,268),1884=>array(74,-241,911,564),1885=>array(75,-300,595,620),1886=>array(75,-300,595,686),1887=>array(75,-300,595,704),1888=>array(75,-227,868,410),1889=>array(75,-277,868,410),1890=>array(74,0,901,701),1891=>array(74,0,901,793),1892=>array(74,-277,901,701),1893=>array(75,-298,489,660),1894=>array(75,-298,489,451),1895=>array(74,-300,601,498),1896=>array(74,-194,601,785),1897=>array(74,-194,601,692),1898=>array(75,-240,658,688),1899=>array(0,-247,355,580),1900=>array(0,-247,355,537),1901=>array(74,-241,911,524),1902=>array(75,-260,655,449),1903=>array(75,-260,655,449),1904=>array(74,-241,911,697),1905=>array(0,-247,355,783),1906=>array(75,-260,655,747),1907=>array(0,-61,214,900),1908=>array(-12,-61,214,900),1909=>array(75,-166,722,478),1910=>array(75,-166,722,476),1911=>array(75,-300,782,330),1912=>array(-23,-270,329,516),1913=>array(-35,-270,329,516),1914=>array(75,-170,752,596),1915=>array(75,-170,752,593),1916=>array(75,-260,655,449),1917=>array(74,-241,911,561),1918=>array(74,-241,911,472),1919=>array(-23,0,456,718),1920=>array(-33,102,421,361),1921=>array(-112,39,481,367),1922=>array(-124,43,577,359),1923=>array(-45,40,532,390),1924=>array(23,94,466,353),1925=>array(-15,16,415,358),1926=>array(84,124,458,363),1927=>array(0,56,438,344),1928=>array(-4,-6,440,342),1929=>array(16,44,445,358),1930=>array(-50,-54,420,416),1931=>array(-80,-41,504,381),1932=>array(-4,-13,466,342),1933=>array(-57,-17,503,367),1934=>array(28,94,454,365),1935=>array(-1,-6,541,352),1936=>array(11,129,872,353),1937=>array(118,48,410,357),1938=>array(22,-54,500,365),1939=>array(50,-64,531,378),1940=>array(-74,31,481,347),1941=>array(-50,-54,422,416),1942=>array(40,-80,449,357),1943=>array(16,-21,673,533),1944=>array(-4,-49,466,495),1945=>array(-28,102,426,361),1946=>array(-57,93,397,484),1947=>array(-80,-40,504,511),1948=>array(-45,40,532,483),1949=>array(11,129,872,499),1950=>array(11,79,872,353),1951=>array(22,244,887,488),1952=>array(-4,-13,466,342),1953=>array(-4,-13,466,466),1954=>array(0,16,438,344),1955=>array(0,56,438,475),1956=>array(28,94,454,522),1957=>array(6,-6,449,484),1958=>array(243,517,543,727),1959=>array(180,507,543,829),1960=>array(169,-285,517,-54),1961=>array(152,-300,533,-6),1962=>array(217,509,504,764),1963=>array(50,511,609,764),1964=>array(275,509,532,781),1965=>array(90,518,591,755),1966=>array(98,516,583,785),1967=>array(190,509,611,885),1968=>array(249,523,524,769),1969=>array(40,-80,409,342),2304=>array(-470,660,-105,900),2305=>array(-470,658,-105,898),2306=>array(-308,699,-170,838),2307=>array(94,-32,305,518),2308=>array(-3,-52,904,870),2309=>array(-3,-52,904,622),2310=>array(-3,-52,1134,622),2311=>array(-42,-134,607,622),2312=>array(-42,-134,617,900),2313=>array(-42,-3,639,622),2314=>array(-42,-3,890,622),2315=>array(-42,-72,1010,622),2316=>array(-42,-140,870,622),2317=>array(-42,-294,697,893),2318=>array(-42,-294,697,870),2319=>array(-42,-294,697,622),2320=>array(-42,-294,697,900),2321=>array(-3,-52,1134,893),2322=>array(-3,-52,1134,870),2323=>array(-3,-52,1134,900),2324=>array(-3,-52,1134,900),2325=>array(-42,-52,786,622),2326=>array(-42,-52,840,622),2327=>array(-42,-52,737,622),2328=>array(-42,-52,737,622),2329=>array(-42,29,815,622),2330=>array(-42,-52,777,622),2331=>array(-42,-166,930,622),2332=>array(-42,-52,856,622),2333=>array(-42,-134,876,622),2334=>array(-42,-52,777,622),2335=>array(-42,4,671,622),2336=>array(-42,4,671,622),2337=>array(-42,29,716,622),2338=>array(-42,-3,651,622),2339=>array(-42,-52,737,622),2340=>array(-42,-52,697,622),2341=>array(-12,-52,737,622),2342=>array(-42,0,631,622),2343=>array(-3,-52,737,622),2344=>array(-42,-52,697,622),2345=>array(-42,-52,697,622),2346=>array(-42,-52,657,622),2347=>array(-42,-52,831,622),2348=>array(-42,-52,664,622),2349=>array(-52,-52,737,622),2350=>array(-42,-52,737,622),2351=>array(-42,-52,737,622),2352=>array(-42,-52,537,622),2353=>array(-42,-52,537,622),2354=>array(-42,-52,830,622),2355=>array(-42,-3,890,622),2356=>array(-42,-130,890,622),2357=>array(-42,-52,664,622),2358=>array(-42,-52,830,622),2359=>array(-42,-52,657,622),2360=>array(-42,-52,777,622),2361=>array(-42,-223,651,622),2362=>array(41,623,129,802),2363=>array(-42,-52,384,802),2364=>array(-190,-20,-52,119),2365=>array(90,-52,612,624),2366=>array(-42,-52,384,622),2367=>array(-42,-52,548,900),2368=>array(-407,-52,384,888),2369=>array(-477,-300,0,-34),2370=>array(-438,-300,0,-4),2371=>array(-348,-300,-12,-35),2372=>array(-338,-300,40,100),2373=>array(-365,672,0,893),2374=>array(-539,625,-115,870),2375=>array(-592,609,-129,900),2376=>array(-572,581,-109,900),2377=>array(-135,-52,384,893),2378=>array(-309,-52,384,870),2379=>array(-326,-52,384,900),2380=>array(-322,-52,384,900),2381=>array(-335,-263,0,-44),2382=>array(133,-52,484,622),2383=>array(-369,-52,384,870),2384=>array(-3,-52,888,695),2385=>array(-265,613,-136,900),2386=>array(-400,-130,0,-70),2387=>array(-372,655,-134,840),2388=>array(-238,655,0,840),2389=>array(-400,605,0,900),2390=>array(-444,-156,2,-48),2391=>array(-444,-300,2,-48),2392=>array(-42,-70,786,622),2393=>array(-42,-68,840,622),2394=>array(-42,-52,737,622),2395=>array(-42,-52,906,622),2396=>array(-42,-150,716,622),2397=>array(-42,-194,651,622),2398=>array(-42,-52,831,622),2399=>array(-42,-52,737,622),2400=>array(-42,-225,1010,622),2401=>array(-42,-304,870,622),2402=>array(-408,-296,88,39),2403=>array(-408,-300,113,138),2404=>array(300,-52,405,622),2405=>array(300,-52,655,622),2406=>array(-3,90,386,479),2407=>array(0,-240,304,622),2408=>array(0,-166,454,579),2409=>array(0,-166,394,593),2410=>array(0,61,587,622),2411=>array(-16,-109,517,622),2412=>array(0,-166,454,626),2413=>array(0,-3,587,622),2414=>array(-39,-52,494,508),2415=>array(0,-167,501,622),2416=>array(160,252,466,559),2417=>array(129,400,271,542),2418=>array(-3,-52,904,893),2419=>array(-3,-52,904,802),2420=>array(-3,-52,1134,802),2421=>array(-3,-52,1134,870),2422=>array(-3,-156,904,622),2423=>array(-3,-300,904,622),2425=>array(-42,-185,856,622),2426=>array(-42,-52,737,622),2427=>array(-42,-105,697,622),2428=>array(-42,-105,856,622),2429=>array(10,1,524,622),2430=>array(-42,-105,716,622),2431=>array(-42,-105,664,622),2561=>array(-188,629,155,885),2562=>array(-138,667,0,805),2563=>array(39,-74,347,544),2565=>array(-20,-57,837,590),2566=>array(-20,-57,1038,590),2567=>array(-57,-56,845,856),2568=>array(-57,-56,916,856),2569=>array(-68,-143,616,860),2570=>array(-68,-273,616,860),2575=>array(-97,-3,645,846),2576=>array(-20,-57,837,873),2579=>array(-68,-20,616,911),2580=>array(-20,-57,837,856),2581=>array(-57,-20,595,590),2582=>array(-57,-57,707,600),2583=>array(-57,-57,707,590),2584=>array(-57,-57,837,600),2585=>array(-57,-133,645,590),2586=>array(-57,-20,645,590),2587=>array(-57,-20,756,590),2588=>array(-57,-56,706,590),2589=>array(-57,-133,645,590),2590=>array(-56,-6,645,590),2591=>array(-57,-3,645,590),2592=>array(-57,-3,645,590),2593=>array(-57,-49,616,590),2594=>array(-57,-20,645,590),2595=>array(-57,-34,645,590),2596=>array(-57,-20,616,590),2597=>array(-57,-57,706,590),2598=>array(-57,-4,645,590),2599=>array(-57,-57,707,590),2600=>array(-57,-20,683,590),2602=>array(-20,-57,707,590),2603=>array(-57,-20,627,590),2604=>array(-57,-57,707,590),2605=>array(-57,-20,616,590),2606=>array(-57,-57,707,590),2607=>array(-57,-57,837,590),2608=>array(-77,-61,547,590),2610=>array(-57,-20,683,590),2611=>array(-57,-131,683,590),2613=>array(-57,-5,645,590),2614=>array(-57,-57,707,590),2616=>array(-57,-57,707,590),2617=>array(-69,-48,547,590),2620=>array(-379,-29,-247,103),2622=>array(-57,157,376,590),2623=>array(-57,-57,456,856),2624=>array(-369,-57,376,856),2625=>array(-503,-143,-130,-13),2626=>array(-503,-273,-130,-13),2631=>array(-507,596,-78,846),2632=>array(-517,597,-90,873),2635=>array(-517,559,-112,846),2636=>array(-457,486,-52,846),2637=>array(-167,-207,143,-7),2641=>array(-226,-168,60,10),2649=>array(-57,-57,707,600),2650=>array(-57,-59,707,590),2651=>array(-57,-79,706,590),2652=>array(-57,-133,616,590),2654=>array(-57,-59,627,590),2662=>array(-20,77,360,456),2663=>array(51,-94,290,590),2664=>array(-20,-57,430,556),2665=>array(-20,-57,374,574),2666=>array(-20,50,554,590),2667=>array(-19,-57,385,590),2668=>array(-20,-31,394,696),2669=>array(-20,16,430,581),2670=>array(36,-4,486,463),2671=>array(36,-4,486,590),2672=>array(-410,620,-110,816),2673=>array(-334,629,9,837),2674=>array(-57,-3,645,590),2675=>array(-68,-20,616,860),2676=>array(51,-94,1016,920),2677=>array(-236,-210,-87,-13),3458=>array(25,166,229,369),3459=>array(25,46,229,500),3461=>array(25,-300,601,561),3462=>array(25,-300,907,561),3463=>array(25,-300,908,561),3464=>array(20,-300,907,561),3465=>array(25,-195,601,550),3466=>array(25,-15,624,848),3467=>array(25,-267,758,502),3468=>array(25,-267,1099,502),3469=>array(25,-15,1004,550),3470=>array(10,-15,1301,550),3471=>array(25,-15,1025,650),3472=>array(15,-15,1462,650),3473=>array(25,-15,652,772),3474=>array(10,-15,746,853),3475=>array(25,-15,1313,772),3476=>array(25,-15,716,741),3477=>array(25,-15,716,739),3478=>array(25,-16,1170,741),3482=>array(25,-15,869,550),3483=>array(25,-31,690,741),3484=>array(25,-15,690,550),3485=>array(25,-15,694,560),3486=>array(25,-15,716,741),3487=>array(25,-15,809,560),3488=>array(25,-15,694,741),3489=>array(26,-15,677,750),3490=>array(21,-15,677,745),3491=>array(25,-15,1277,741),3492=>array(25,-289,1002,550),3493=>array(25,-289,917,550),3494=>array(25,-15,681,745),3495=>array(25,-15,694,741),3496=>array(25,-15,652,772),3497=>array(25,-15,716,741),3498=>array(25,-15,652,770),3499=>array(5,-15,1098,701),3500=>array(26,-15,716,742),3501=>array(25,-15,754,550),3502=>array(25,-15,652,772),3503=>array(25,-289,441,550),3504=>array(25,-15,716,741),3505=>array(2,-15,896,550),3507=>array(25,-289,441,550),3508=>array(25,-15,652,550),3509=>array(25,-15,652,772),3510=>array(25,-15,690,741),3511=>array(25,-15,762,560),3512=>array(25,-15,694,741),3513=>array(25,-15,716,741),3514=>array(25,-15,694,550),3515=>array(7,-15,604,763),3517=>array(25,-267,758,480),3520=>array(25,-15,694,741),3521=>array(25,-15,690,550),3522=>array(25,-15,652,550),3523=>array(25,-15,694,560),3524=>array(25,-15,762,550),3525=>array(25,-267,758,480),3526=>array(25,-15,652,550),3530=>array(-195,465,15,855),3535=>array(5,28,304,506),3536=>array(30,-185,319,391),3537=>array(30,-185,319,391),3538=>array(-609,500,-42,838),3539=>array(-587,500,-20,838),3540=>array(-696,-300,-25,0),3542=>array(-696,-300,-25,0),3544=>array(5,28,304,506),3545=>array(25,-15,686,550),3546=>array(25,-15,1062,855),3547=>array(5,-15,1328,550),3548=>array(25,-15,1253,550),3549=>array(25,-15,1235,854),3550=>array(25,-15,1272,550),3551=>array(10,28,441,506),3570=>array(10,28,639,506),3571=>array(25,28,456,506),3572=>array(25,66,923,384),3585=>array(58,0,526,534),3586=>array(46,0,514,538),3587=>array(46,0,597,537),3588=>array(58,0,528,534),3589=>array(58,0,528,535),3590=>array(46,-15,635,537),3591=>array(24,0,387,534),3592=>array(32,0,470,536),3593=>array(46,-17,646,536),3594=>array(46,0,514,562),3595=>array(46,0,595,562),3596=>array(58,-17,835,534),3597=>array(56,-266,750,534),3598=>array(46,-226,569,534),3599=>array(46,-226,573,534),3600=>array(32,-300,438,531),3601=>array(32,0,666,537),3602=>array(58,-17,812,534),3603=>array(58,-17,879,534),3604=>array(58,0,528,534),3605=>array(58,0,528,534),3606=>array(46,-16,514,534),3607=>array(36,0,606,534),3608=>array(54,0,478,539),3609=>array(36,-17,635,534),3610=>array(46,0,557,534),3611=>array(46,0,552,747),3612=>array(64,0,557,534),3613=>array(64,0,553,747),3614=>array(44,0,644,534),3615=>array(46,0,644,747),3616=>array(46,-17,573,534),3617=>array(36,-17,525,534),3618=>array(64,-16,488,536),3619=>array(32,-17,438,531),3620=>array(58,-224,526,534),3621=>array(64,-16,505,536),3622=>array(46,-226,573,534),3623=>array(24,-17,462,536),3624=>array(58,0,541,556),3625=>array(36,0,766,534),3626=>array(64,-16,521,555),3627=>array(34,0,604,534),3628=>array(42,0,754,731),3629=>array(58,-16,496,536),3630=>array(50,-16,490,569),3631=>array(36,0,446,534),3632=>array(32,-4,385,526),3633=>array(-181,589,172,800),3634=>array(24,0,359,534),3635=>array(-82,0,388,752),3636=>array(-415,546,-74,748),3637=>array(-406,545,-65,801),3638=>array(-423,543,-77,814),3639=>array(-406,544,-65,800),3640=>array(-250,-300,-44,-52),3641=>array(-409,-300,-44,-52),3642=>array(-166,-177,-43,-54),3647=>array(16,-129,619,770),3648=>array(64,-16,311,527),3649=>array(64,-16,578,527),3650=>array(0,-16,483,900),3651=>array(-20,-16,451,900),3652=>array(-56,-16,439,900),3653=>array(24,-224,359,534),3654=>array(32,-224,436,536),3655=>array(-400,560,-36,886),3656=>array(-163,674,-76,847),3657=>array(-311,680,-18,871),3658=>array(-470,675,-59,868),3659=>array(-240,679,-73,847),3660=>array(-260,677,-6,894),3661=>array(-236,571,-73,742),3662=>array(-310,602,-83,900),3663=>array(56,-10,602,536),3664=>array(35,-19,513,395),3665=>array(35,-19,513,395),3666=>array(1,-17,557,603),3667=>array(35,-21,579,392),3668=>array(35,-19,605,602),3669=>array(35,-22,617,587),3670=>array(-8,-19,473,607),3671=>array(35,-19,709,608),3672=>array(35,-19,596,598),3673=>array(35,-16,555,598),3674=>array(36,0,657,534),3675=>array(25,-18,1362,541),4256=>array(42,-3,498,706),4257=>array(44,5,502,717),4258=>array(35,-2,604,698),4259=>array(30,-28,691,697),4260=>array(42,-3,511,696),4261=>array(41,-3,503,697),4262=>array(41,-2,499,698),4263=>array(42,-2,768,697),4264=>array(41,-3,498,697),4265=>array(41,1,499,695),4266=>array(19,-21,904,691),4267=>array(41,-2,498,697),4268=>array(40,-3,498,709),4269=>array(42,-1,768,697),4270=>array(41,-2,498,698),4271=>array(41,-3,498,695),4272=>array(40,-2,770,719),4273=>array(0,-2,512,699),4274=>array(33,-3,609,697),4275=>array(36,-3,601,699),4276=>array(28,-2,619,697),4277=>array(40,-3,496,700),4278=>array(30,-29,693,697),4279=>array(41,1,499,697),4280=>array(38,-2,550,698),4281=>array(41,-2,499,699),4282=>array(39,-3,546,712),4283=>array(40,-2,498,699),4284=>array(36,-3,598,697),4285=>array(42,-3,489,713),4286=>array(0,-2,512,700),4287=>array(25,-146,609,700),4288=>array(42,-2,499,699),4289=>array(42,-2,499,699),4290=>array(41,-4,635,697),4291=>array(41,2,504,698),4292=>array(41,-3,506,697),4293=>array(41,-1,498,697),4304=>array(33,10,489,505),4305=>array(33,11,485,697),4306=>array(33,-270,588,396),4307=>array(33,-300,683,395),4308=>array(33,-272,484,397),4309=>array(33,-273,486,396),4310=>array(33,10,485,685),4311=>array(33,10,763,400),4312=>array(33,11,485,396),4313=>array(33,-274,485,394),4314=>array(23,-289,900,396),4315=>array(33,10,484,682),4316=>array(33,10,486,695),4317=>array(33,11,754,397),4318=>array(33,10,482,686),4319=>array(33,-272,481,396),4320=>array(33,9,755,695),4321=>array(33,10,540,687),4322=>array(33,-272,587,395),4323=>array(1,-271,562,398),4324=>array(33,-272,606,400),4325=>array(33,-272,483,687),4326=>array(33,-296,681,395),4327=>array(33,-275,485,396),4328=>array(33,10,539,685),4329=>array(33,10,485,686),4330=>array(33,-271,522,417),4331=>array(33,10,485,686),4332=>array(0,-272,559,686),4333=>array(33,-271,476,699),4334=>array(33,10,539,686),4335=>array(1,-271,673,394),4336=>array(33,10,490,691),4337=>array(33,10,484,687),4338=>array(0,9,595,396),4339=>array(0,-268,449,396),4340=>array(33,-271,486,501),4341=>array(33,11,484,684),4342=>array(33,-269,805,686),4343=>array(33,-271,484,398),4344=>array(33,-272,483,394),4345=>array(33,-256,588,410),4346=>array(33,-214,492,398),4347=>array(15,-13,435,590),4348=>array(24,219,365,734),5024=>array(18,0,694,676),5025=>array(19,-9,744,676),5026=>array(8,0,613,676),5027=>array(0,-19,851,676),5028=>array(28,-19,983,691),5029=>array(-3,0,347,691),5030=>array(32,-19,552,690),5031=>array(37,-14,727,676),5032=>array(20,0,514,676),5033=>array(24,-19,750,676),5034=>array(-12,0,668,690),5035=>array(-1,-38,475,676),5036=>array(18,0,643,676),5037=>array(3,0,805,676),5038=>array(37,0,557,695),5039=>array(-12,-14,653,667),5040=>array(18,0,461,676),5041=>array(18,0,585,676),5042=>array(6,-19,861,695),5043=>array(-12,-15,950,676),5044=>array(12,-19,572,695),5045=>array(-9,0,565,676),5046=>array(20,-19,691,691),5047=>array(16,0,923,676),5048=>array(40,0,534,695),5049=>array(-3,-19,818,695),5050=>array(21,-19,1072,691),5051=>array(18,0,756,676),5052=>array(-3,-19,571,676),5053=>array(19,-19,845,676),5054=>array(20,-19,728,691),5055=>array(-6,-19,686,676),5056=>array(19,-19,737,691),5057=>array(-12,-19,778,696),5058=>array(18,0,736,676),5059=>array(21,0,627,676),5060=>array(9,0,631,696),5061=>array(20,-19,965,691),5062=>array(44,1,649,676),5063=>array(-7,-19,773,680),5064=>array(17,-19,787,696),5065=>array(-2,0,1028,695),5066=>array(-6,-19,726,680),5067=>array(22,-19,584,696),5068=>array(-2,-19,683,676),5069=>array(13,-19,860,696),5070=>array(-11,0,560,676),5071=>array(15,0,599,676),5072=>array(1,0,512,676),5073=>array(11,-19,749,696),5074=>array(21,0,739,676),5075=>array(-2,-14,557,676),5076=>array(-12,-19,1028,676),5077=>array(26,-19,576,690),5078=>array(-2,-14,701,676),5079=>array(-12,-19,690,676),5080=>array(-12,-19,690,676),5081=>array(-12,-18,673,676),5082=>array(31,-19,509,692),5083=>array(28,-19,919,696),5084=>array(-6,-9,694,671),5085=>array(-12,0,607,694),5086=>array(18,0,637,676),5087=>array(20,-19,658,691),5088=>array(15,-19,817,695),5089=>array(-12,-19,843,695),5090=>array(15,0,599,676),5091=>array(25,-19,715,691),5092=>array(13,0,874,676),5093=>array(18,0,872,676),5094=>array(18,0,757,676),5095=>array(8,-14,588,662),5096=>array(22,-19,804,696),5097=>array(20,-19,925,696),5098=>array(8,-19,858,696),5099=>array(25,-19,733,691),5100=>array(28,-14,768,680),5101=>array(9,-19,550,696),5102=>array(26,-19,566,696),5103=>array(-7,-19,773,680),5104=>array(-12,-101,588,696),5105=>array(-12,-19,862,676),5106=>array(-12,0,706,694),5107=>array(20,-19,813,688),5108=>array(17,0,620,676),7424=>array(5,0,469,473),7425=>array(5,0,762,461),7426=>array(18,-15,678,472),7427=>array(12,0,484,461),7428=>array(24,-13,470,473),7429=>array(12,0,524,461),7430=>array(12,0,524,461),7431=>array(12,0,475,461),7432=>array(9,-13,404,474),7433=>array(13,-217,254,474),7434=>array(1,-66,377,461),7435=>array(12,0,551,461),7436=>array(12,0,471,461),7437=>array(12,0,671,461),7438=>array(12,-12,490,461),7439=>array(24,-13,528,473),7440=>array(22,-13,468,473),7441=>array(24,-22,510,482),7442=>array(5,11,493,417),7443=>array(7,-5,648,446),7444=>array(18,-14,692,473),7445=>array(23,-13,361,472),7446=>array(24,230,528,473),7447=>array(23,-27,528,217),7448=>array(12,0,461,461),7449=>array(4,-1,526,461),7450=>array(5,0,526,461),7451=>array(12,0,436,461),7452=>array(12,-13,510,461),7453=>array(13,-1,488,527),7454=>array(6,-3,660,526),7455=>array(20,-128,494,669),7456=>array(5,-14,469,461),7457=>array(5,-14,689,461),7458=>array(12,0,411,461),7459=>array(5,-4,398,461),7460=>array(15,-14,448,683),7461=>array(6,-7,672,692),7462=>array(10,0,398,462),7463=>array(6,0,470,471),7464=>array(16,0,538,462),7465=>array(13,0,412,462),7466=>array(4,0,626,468),7467=>array(12,-10,524,462),7468=>array(3,390,467,863),7469=>array(3,390,760,851),7470=>array(12,390,484,851),7471=>array(12,390,484,851),7472=>array(12,390,524,851),7473=>array(12,390,475,851),7474=>array(12,390,475,851),7475=>array(24,377,545,863),7476=>array(12,390,570,851),7477=>array(12,390,281,851),7478=>array(1,324,377,851),7479=>array(12,390,551,851),7480=>array(12,390,471,851),7481=>array(12,390,671,851),7482=>array(12,378,490,851),7483=>array(12,378,490,851),7484=>array(24,377,528,863),7485=>array(12,377,343,853),7486=>array(12,390,461,851),7487=>array(12,390,533,851),7488=>array(12,390,436,851),7489=>array(12,377,510,851),7490=>array(5,376,689,851),7491=>array(17,381,325,705),7492=>array(11,375,319,699),7493=>array(16,379,343,698),7494=>array(12,378,455,706),7495=>array(11,381,347,841),7496=>array(17,381,356,841),7497=>array(17,381,284,705),7498=>array(11,373,278,697),7499=>array(12,380,278,707),7500=>array(5,379,270,706),7501=>array(17,253,320,705),7502=>array(10,229,169,690),7503=>array(15,390,362,841),7504=>array(11,390,543,705),7505=>array(14,253,329,707),7506=>array(17,381,317,705),7507=>array(3,374,273,698),7510=>array(13,253,349,705),7511=>array(13,382,221,810),7512=>array(11,381,358,697),7513=>array(21,395,337,742),7514=>array(14,376,546,691),7515=>array(14,381,323,697),7516=>array(13,381,447,836),7517=>array(37,254,350,843),7518=>array(18,235,351,708),7519=>array(25,377,344,849),7520=>array(26,246,417,706),7521=>array(6,198,326,658),7522=>array(11,-150,170,311),7523=>array(19,-150,289,165),7524=>array(11,-159,358,157),7525=>array(14,-159,323,157),7526=>array(37,-283,350,306),7527=>array(18,-300,351,173),7528=>array(28,-285,341,169),7529=>array(26,-291,417,169),7530=>array(6,-291,326,169),7543=>array(18,-206,473,473),7544=>array(8,390,503,843),7579=>array(4,378,331,697),7580=>array(17,381,287,705),7581=>array(14,321,304,707),7582=>array(11,379,314,852),7583=>array(5,380,270,707),7584=>array(9,390,260,851),7585=>array(0,378,251,839),7586=>array(17,253,320,705),7587=>array(6,241,351,692),7588=>array(5,391,202,854),7589=>array(11,382,222,700),7590=>array(8,390,189,699),7591=>array(8,390,189,699),7592=>array(-6,253,283,853),7593=>array(12,254,233,844),7595=>array(6,390,314,699),7596=>array(8,253,510,707),7597=>array(12,246,548,700),7598=>array(5,253,437,707),7599=>array(15,253,422,707),7600=>array(6,381,327,699),7601=>array(16,379,319,706),7602=>array(12,259,440,857),7603=>array(19,237,245,707),7604=>array(0,300,334,900),7605=>array(13,238,223,814),7606=>array(10,380,360,699),7607=>array(24,382,331,699),7608=>array(11,382,345,700),7609=>array(12,383,341,703),7610=>array(8,383,317,699),7611=>array(4,390,270,697),7612=>array(4,237,437,699),7613=>array(4,324,311,699),7614=>array(9,244,315,700),7615=>array(13,381,316,857),7680=>array(20,-254,700,690),7681=>array(25,-254,488,473),7682=>array(20,0,623,845),7683=>array(18,-14,520,692),7684=>array(20,-185,623,676),7685=>array(18,-185,520,676),7686=>array(20,-112,623,676),7687=>array(18,-126,520,676),7688=>array(35,-218,673,900),7689=>array(25,-218,430,686),7690=>array(20,0,696,845),7691=>array(25,-14,534,683),7692=>array(20,-185,696,676),7693=>array(25,-185,534,676),7694=>array(20,-112,696,676),7695=>array(25,-126,534,676),7696=>array(16,-216,692,676),7697=>array(25,-225,534,676),7698=>array(20,-216,696,676),7699=>array(25,-230,534,676),7700=>array(16,0,641,900),7701=>array(25,-14,426,843),7702=>array(16,0,641,900),7703=>array(25,-14,426,845),7704=>array(20,-216,645,676),7705=>array(25,-230,426,473),7706=>array(20,-169,645,676),7707=>array(25,-183,426,473),7708=>array(16,-216,641,879),7709=>array(25,-227,426,664),7710=>array(20,0,587,845),7711=>array(18,0,393,845),7712=>array(35,-19,753,800),7713=>array(25,-206,480,612),7714=>array(20,0,758,845),7715=>array(18,0,536,842),7716=>array(20,-185,758,676),7717=>array(18,-185,536,676),7718=>array(20,0,758,845),7719=>array(18,0,536,845),7720=>array(16,-216,754,676),7721=>array(16,-217,534,676),7722=>array(20,-188,758,676),7723=>array(18,-188,536,676),7724=>array(8,-169,373,676),7725=>array(-36,-169,329,691),7726=>array(16,-1,401,900),7727=>array(-20,0,319,886),7728=>array(20,0,759,900),7729=>array(18,0,545,900),7730=>array(20,-185,759,676),7731=>array(18,-185,545,676),7732=>array(20,-139,759,676),7733=>array(18,-142,545,676),7734=>array(20,-185,639,676),7735=>array(18,-185,259,676),7736=>array(20,-185,639,800),7737=>array(-29,-185,301,800),7738=>array(20,-142,639,676),7739=>array(-26,-142,304,676),7740=>array(20,-216,639,676),7741=>array(-33,-216,304,676),7742=>array(20,0,927,900),7743=>array(18,0,814,686),7744=>array(20,0,927,845),7745=>array(18,0,814,638),7746=>array(20,-185,927,676),7747=>array(18,-185,814,473),7748=>array(20,-18,705,845),7749=>array(18,0,536,636),7750=>array(20,-185,705,676),7751=>array(18,-185,536,473),7752=>array(20,-142,705,676),7753=>array(18,-135,536,473),7754=>array(20,-234,705,676),7755=>array(18,-216,536,473),7756=>array(35,-16,743,900),7757=>array(25,-14,476,884),7758=>array(35,-16,743,900),7759=>array(25,-14,476,845),7760=>array(35,-16,743,900),7761=>array(25,-14,476,842),7762=>array(35,-16,743,900),7763=>array(25,-14,476,843),7764=>array(20,0,604,900),7765=>array(15,-205,520,686),7766=>array(20,0,604,845),7767=>array(15,-205,520,638),7768=>array(20,0,709,845),7769=>array(18,0,422,636),7770=>array(20,-185,709,676),7771=>array(18,-185,422,473),7772=>array(20,-185,709,802),7773=>array(18,-185,422,619),7774=>array(20,-139,709,676),7775=>array(18,-134,422,473),7776=>array(45,-19,523,845),7777=>array(35,-14,371,638),7778=>array(45,-185,523,692),7779=>array(35,-185,371,473),7780=>array(35,-16,513,900),7781=>array(35,-14,371,825),7782=>array(35,-16,513,900),7783=>array(27,-14,371,829),7784=>array(45,-185,523,845),7785=>array(35,-185,371,635),7786=>array(20,0,625,845),7787=>array(18,-12,330,799),7788=>array(20,-185,625,676),7789=>array(18,-185,330,630),7790=>array(20,-145,625,676),7791=>array(11,-144,341,630),7792=>array(20,-216,625,676),7793=>array(8,-228,345,630),7794=>array(20,-174,705,676),7795=>array(18,-175,546,461),7796=>array(20,-175,705,676),7797=>array(18,-173,546,461),7798=>array(20,-225,705,676),7799=>array(18,-224,546,461),7800=>array(16,-16,701,900),7801=>array(18,-14,546,863),7802=>array(16,-16,701,900),7803=>array(18,-14,546,802),7804=>array(10,-18,695,843),7805=>array(9,-14,473,628),7806=>array(10,-185,695,676),7807=>array(9,-185,473,461),7808=>array(10,-15,972,900),7809=>array(9,-14,693,686),7810=>array(10,-15,972,900),7811=>array(9,-14,693,686),7812=>array(10,-15,972,845),7813=>array(9,-14,693,644),7814=>array(10,-15,972,845),7815=>array(9,-14,693,638),7816=>array(10,-185,972,676),7817=>array(9,-185,693,461),7818=>array(20,0,703,845),7819=>array(18,0,490,636),7820=>array(20,0,703,845),7821=>array(18,0,490,640),7822=>array(10,0,694,845),7823=>array(9,-205,473,636),7824=>array(20,0,626,892),7825=>array(21,0,420,677),7826=>array(20,-185,626,676),7827=>array(21,-185,420,461),7828=>array(20,-145,626,676),7829=>array(21,-144,420,461),7830=>array(18,-151,536,676),7831=>array(6,-12,345,799),7832=>array(9,-14,693,707),7833=>array(9,-205,473,707),7834=>array(25,-14,507,731),7835=>array(18,0,393,845),7836=>array(14,0,389,691),7837=>array(14,0,389,691),7838=>array(15,-9,760,683),7839=>array(38,-13,513,690),7840=>array(20,-185,700,690),7841=>array(25,-185,488,473),7842=>array(20,0,700,887),7843=>array(25,-14,488,697),7844=>array(20,0,756,900),7845=>array(25,-14,562,860),7846=>array(-66,0,700,900),7847=>array(-67,-14,488,862),7848=>array(20,0,700,900),7849=>array(25,-14,496,802),7850=>array(9,0,689,900),7851=>array(25,-14,488,871),7852=>array(20,-185,700,892),7853=>array(25,-185,488,677),7854=>array(9,0,689,900),7855=>array(25,-14,488,838),7856=>array(9,0,689,900),7857=>array(25,-14,488,844),7858=>array(9,0,689,900),7859=>array(25,-14,488,802),7860=>array(9,0,689,900),7861=>array(25,-14,488,843),7862=>array(20,-185,700,879),7863=>array(25,-185,488,690),7864=>array(20,-185,645,676),7865=>array(25,-185,426,473),7866=>array(20,0,645,887),7867=>array(25,-14,426,697),7868=>array(20,0,645,843),7869=>array(25,-14,426,628),7870=>array(20,0,737,900),7871=>array(25,-14,548,860),7872=>array(-86,0,645,900),7873=>array(-75,-14,426,858),7874=>array(20,0,650,900),7875=>array(25,-14,485,802),7876=>array(16,0,641,900),7877=>array(25,-14,426,850),7878=>array(20,-185,645,892),7879=>array(25,-185,426,677),7880=>array(20,0,370,891),7881=>array(24,0,263,718),7882=>array(20,-185,370,676),7883=>array(24,-185,265,691),7884=>array(35,-185,743,691),7885=>array(25,-185,476,473),7886=>array(35,-19,743,885),7887=>array(25,-14,476,697),7888=>array(35,-19,799,900),7889=>array(25,-14,565,860),7890=>array(-34,-19,743,900),7891=>array(-58,-14,476,858),7892=>array(35,-19,743,900),7893=>array(25,-14,494,799),7894=>array(35,-16,743,900),7895=>array(25,-14,476,871),7896=>array(35,-185,743,892),7897=>array(25,-185,476,677),7898=>array(35,-19,773,900),7899=>array(25,-14,564,713),7900=>array(35,-19,773,900),7901=>array(25,-14,564,713),7902=>array(35,-19,773,885),7903=>array(25,-14,564,697),7904=>array(35,-19,773,864),7905=>array(18,-14,564,647),7906=>array(35,-185,773,864),7907=>array(25,-180,564,647),7908=>array(20,-185,705,676),7909=>array(18,-185,546,461),7910=>array(20,-19,705,900),7911=>array(18,-14,546,711),7912=>array(16,-19,748,900),7913=>array(16,-14,600,713),7914=>array(16,-19,748,900),7915=>array(16,-14,600,713),7916=>array(16,-19,748,887),7917=>array(16,-14,600,697),7918=>array(16,-19,748,864),7919=>array(16,-14,600,647),7920=>array(16,-179,748,864),7921=>array(16,-179,600,647),7922=>array(10,0,694,900),7923=>array(9,-205,473,686),7924=>array(10,-185,694,676),7925=>array(9,-205,473,461),7926=>array(10,0,694,887),7927=>array(9,-205,473,697),7928=>array(10,0,694,843),7929=>array(9,-205,473,628),7936=>array(37,-13,588,750),7937=>array(37,-13,588,718),7938=>array(37,-13,588,718),7939=>array(37,-13,588,720),7940=>array(37,-13,588,717),7941=>array(37,-13,588,706),7942=>array(37,-13,588,849),7943=>array(37,-13,588,849),7944=>array(20,0,700,711),7945=>array(20,0,700,711),7946=>array(-9,0,808,707),7947=>array(-15,0,811,705),7948=>array(-32,0,750,712),7949=>array(-16,0,776,710),7950=>array(-41,0,699,840),7951=>array(-37,0,700,852),7952=>array(36,-13,431,750),7953=>array(36,-13,431,718),7954=>array(36,-13,431,718),7955=>array(36,-13,431,720),7956=>array(36,-13,431,717),7957=>array(36,-13,431,706),7960=>array(-34,0,795,711),7961=>array(-15,0,804,709),7962=>array(-26,0,922,709),7963=>array(-10,0,948,704),7964=>array(-45,0,942,706),7965=>array(-8,0,980,707),7968=>array(9,-231,529,750),7969=>array(9,-231,529,718),7970=>array(9,-231,529,718),7971=>array(9,-231,529,720),7972=>array(9,-231,529,717),7973=>array(9,-231,529,706),7974=>array(9,-231,529,849),7975=>array(9,-231,529,851),7976=>array(-20,0,915,706),7977=>array(-13,0,910,711),7978=>array(-30,0,1027,709),7979=>array(-11,0,1053,706),7980=>array(-22,0,1081,705),7981=>array(-5,0,1091,707),7982=>array(-37,0,994,838),7983=>array(-37,0,980,849),7984=>array(60,-13,318,749),7985=>array(65,-13,318,718),7986=>array(13,-13,330,718),7987=>array(-2,-13,318,718),7988=>array(13,-13,339,717),7989=>array(1,-13,329,711),7990=>array(0,-13,362,851),7991=>array(1,-13,363,851),7992=>array(-23,0,522,707),7993=>array(-13,0,529,711),7994=>array(-23,0,641,707),7995=>array(-16,0,647,705),7996=>array(-18,0,693,707),7997=>array(-11,0,702,709),7998=>array(-39,0,600,838),7999=>array(-42,0,602,848),8000=>array(37,-13,514,750),8001=>array(37,-13,514,738),8002=>array(37,-13,514,739),8003=>array(37,-13,514,743),8004=>array(37,-13,514,735),8005=>array(37,-13,514,746),8008=>array(-20,-19,850,707),8009=>array(-17,-19,851,707),8010=>array(-27,-19,1003,709),8011=>array(-14,-19,1017,705),8012=>array(-28,-19,962,706),8013=>array(-23,-19,986,707),8016=>array(8,-13,490,750),8017=>array(8,-13,490,744),8018=>array(8,-13,490,739),8019=>array(8,-13,490,741),8020=>array(8,-13,490,738),8021=>array(8,-13,490,745),8022=>array(8,-13,490,870),8023=>array(8,-13,490,884),8025=>array(-17,0,866,707),8027=>array(-19,0,1016,707),8029=>array(-17,0,1039,707),8031=>array(-39,0,940,850),8032=>array(35,-13,680,745),8033=>array(35,-13,680,736),8034=>array(35,-13,680,739),8035=>array(35,-13,680,740),8036=>array(35,-13,680,738),8037=>array(35,-13,680,739),8038=>array(35,-13,680,873),8039=>array(35,-13,680,883),8040=>array(-29,0,850,708),8041=>array(-16,0,858,708),8042=>array(-29,0,1011,708),8043=>array(-17,0,1030,707),8044=>array(-30,0,979,706),8045=>array(-19,0,989,709),8046=>array(-35,0,929,840),8047=>array(-40,0,906,848),8048=>array(37,-13,588,734),8049=>array(37,-13,588,724),8050=>array(36,-13,431,734),8051=>array(36,-13,431,727),8052=>array(9,-231,529,735),8053=>array(9,-231,529,731),8054=>array(57,-13,318,729),8055=>array(65,-13,318,731),8056=>array(37,-13,514,733),8057=>array(37,-13,514,731),8058=>array(8,-13,490,732),8059=>array(8,-13,490,729),8060=>array(35,-13,680,734),8061=>array(35,-13,680,729),8064=>array(37,-200,588,750),8065=>array(37,-201,588,718),8066=>array(37,-200,588,718),8067=>array(37,-200,588,720),8068=>array(37,-200,588,717),8069=>array(37,-201,588,706),8070=>array(37,-201,588,849),8071=>array(37,-200,588,849),8072=>array(20,0,870,711),8073=>array(20,0,873,711),8074=>array(-9,0,972,707),8075=>array(-15,0,978,705),8076=>array(-32,0,922,712),8077=>array(-16,0,941,710),8078=>array(-41,0,861,840),8079=>array(-37,0,863,852),8080=>array(9,-231,529,750),8081=>array(9,-231,529,718),8082=>array(9,-231,529,718),8083=>array(9,-231,529,720),8084=>array(9,-231,529,717),8085=>array(9,-231,529,706),8086=>array(9,-231,529,849),8087=>array(9,-231,529,851),8088=>array(-20,0,1081,706),8089=>array(-13,0,1077,711),8090=>array(-30,0,1208,709),8091=>array(-11,0,1235,706),8092=>array(-22,0,1255,705),8093=>array(-5,0,1268,707),8094=>array(-37,0,1159,838),8095=>array(-37,0,1147,849),8096=>array(35,-202,680,745),8097=>array(35,-202,680,736),8098=>array(35,-200,680,739),8099=>array(35,-201,680,740),8100=>array(35,-201,680,738),8101=>array(35,-201,680,739),8102=>array(35,-201,680,873),8103=>array(35,-201,680,883),8104=>array(-29,0,1042,708),8105=>array(-16,0,1058,708),8106=>array(-29,0,1213,708),8107=>array(-17,0,1236,707),8108=>array(-30,0,1187,706),8109=>array(-19,0,1195,709),8110=>array(-35,0,1136,840),8111=>array(-40,0,1116,848),8112=>array(37,-13,588,693),8113=>array(37,-13,588,617),8114=>array(37,-201,588,734),8115=>array(37,-200,588,474),8116=>array(37,-200,588,724),8118=>array(37,-13,588,677),8119=>array(37,-201,588,677),8120=>array(20,0,700,879),8121=>array(20,0,700,788),8122=>array(20,0,700,735),8123=>array(20,0,700,720),8124=>array(20,0,868,690),8125=>array(174,546,328,774),8126=>array(130,0,300,183),8127=>array(174,546,328,774),8128=>array(76,557,438,682),8129=>array(118,557,452,853),8130=>array(9,-231,529,735),8131=>array(9,-231,529,474),8132=>array(9,-231,529,770),8134=>array(9,-231,529,676),8135=>array(9,-231,529,676),8136=>array(2,0,768,707),8137=>array(0,0,808,702),8138=>array(14,0,898,709),8139=>array(0,0,920,702),8140=>array(25,0,935,676),8141=>array(70,546,387,774),8142=>array(70,546,396,774),8143=>array(79,502,441,862),8144=>array(40,-13,343,698),8145=>array(27,-13,357,617),8146=>array(-46,-13,335,770),8147=>array(-43,-13,338,753),8150=>array(-14,-13,348,676),8151=>array(-22,-13,318,800),8152=>array(24,0,374,879),8153=>array(24,0,374,800),8154=>array(0,0,494,707),8155=>array(0,0,538,706),8157=>array(60,546,380,776),8158=>array(90,534,418,762),8159=>array(79,492,441,862),8160=>array(8,-13,490,692),8161=>array(8,-13,490,618),8162=>array(8,-13,490,768),8163=>array(8,-13,490,752),8164=>array(43,-202,508,734),8165=>array(43,-202,508,740),8166=>array(8,-13,490,675),8167=>array(8,-13,490,800),8168=>array(20,0,718,879),8169=>array(20,0,718,788),8170=>array(0,0,854,706),8171=>array(0,0,876,705),8172=>array(-18,0,757,708),8173=>array(86,549,467,786),8174=>array(86,546,467,770),8175=>array(163,525,302,749),8178=>array(35,-201,680,734),8179=>array(35,-201,680,474),8180=>array(35,-201,680,729),8182=>array(35,-13,680,675),8183=>array(35,-201,680,675),8184=>array(0,-19,849,704),8185=>array(0,-19,822,705),8186=>array(1,0,872,702),8187=>array(0,0,837,699),8188=>array(56,0,973,691),8189=>array(131,516,278,740),8190=>array(170,546,324,774),8208=>array(44,181,287,271),8209=>array(44,181,287,271),8210=>array(0,181,500,271),8211=>array(0,181,500,271),8212=>array(0,181,1000,271),8213=>array(0,181,1000,271),8214=>array(56,-19,274,691),8215=>array(156,-268,428,-89),8216=>array(33,356,217,691),8217=>array(33,356,217,691),8218=>array(33,-180,217,155),8219=>array(33,356,217,691),8220=>array(32,356,485,691),8221=>array(14,356,468,691),8222=>array(14,-180,468,155),8223=>array(32,356,486,691),8224=>array(47,-134,453,691),8225=>array(45,-132,456,691),8226=>array(50,101,450,501),8227=>array(46,101,468,575),8228=>array(41,-13,210,156),8229=>array(41,-13,460,156),8230=>array(82,-13,917,156),8231=>array(60,181,189,310),8240=>array(7,-29,995,706),8241=>array(7,-14,1580,692),8242=>array(12,463,250,760),8243=>array(12,463,474,760),8244=>array(12,463,696,760),8245=>array(15,463,253,760),8246=>array(15,463,469,760),8247=>array(15,463,678,760),8248=>array(8,-162,460,203),8249=>array(51,36,305,415),8250=>array(28,36,282,415),8251=>array(40,-55,687,592),8252=>array(81,-13,584,691),8253=>array(58,-13,640,689),8254=>array(0,537,500,617),8255=>array(50,-276,912,-16),8256=>array(50,640,912,900),8257=>array(-11,-19,344,691),8258=>array(59,-92,875,688),8259=>array(63,200,437,388),8260=>array(-168,-12,329,688),8261=>array(67,-175,279,698),8262=>array(53,-175,265,698),8263=>array(57,-13,945,689),8264=>array(57,-13,751,691),8265=>array(81,-13,778,691),8266=>array(17,-18,477,462),8267=>array(0,-186,519,676),8268=>array(35,130,557,570),8269=>array(43,141,565,581),8270=>array(60,-14,443,409),8271=>array(82,-180,266,472),8272=>array(50,1,912,796),8273=>array(60,-13,443,884),8274=>array(0,-12,497,694),8275=>array(6,268,574,424),8276=>array(41,-279,903,-19),8277=>array(26,-24,761,711),8278=>array(15,-1,435,602),8279=>array(12,463,863,760),8280=>array(-3,-1,624,693),8281=>array(-5,-1,625,602),8282=>array(25,-1,154,807),8283=>array(-3,-204,624,830),8284=>array(8,-20,560,534),8285=>array(25,-1,154,807),8286=>array(25,-1,154,807),8304=>array(3,385,297,806),8305=>array(13,390,172,851),8308=>array(3,390,299,803),8309=>array(5,385,295,795),8310=>array(5,384,296,805),8311=>array(-2,390,296,796),8312=>array(6,385,294,806),8313=>array(5,382,296,803),8314=>array(35,481,265,711),8315=>array(35,556,265,636),8316=>array(35,497,265,700),8317=>array(17,313,195,900),8318=>array(31,313,209,900),8319=>array(14,390,359,705),8320=>array(3,-154,297,267),8321=>array(14,-150,259,263),8322=>array(0,-150,300,263),8323=>array(3,-154,297,266),8324=>array(3,-150,299,263),8325=>array(5,-153,295,257),8326=>array(5,-155,296,266),8327=>array(-2,-150,296,256),8328=>array(6,-154,294,267),8329=>array(5,-156,296,265),8330=>array(35,-69,265,161),8331=>array(35,6,265,86),8332=>array(35,-53,265,150),8333=>array(6,-242,184,345),8334=>array(33,-249,211,338),8336=>array(17,-159,325,165),8337=>array(17,-159,284,165),8338=>array(17,-149,317,175),8339=>array(8,-150,323,157),8340=>array(17,-155,290,177),8352=>array(55,0,660,691),8353=>array(49,-85,687,753),8354=>array(48,-19,750,691),8355=>array(16,0,583,676),8356=>array(21,-14,477,684),8357=>array(16,-204,814,677),8358=>array(16,-18,701,676),8359=>array(10,-9,936,673),8360=>array(20,-14,1083,676),8361=>array(18,-15,981,676),8362=>array(60,0,815,609),8363=>array(27,-6,517,802),8364=>array(34,-19,732,676),8365=>array(34,0,743,672),8366=>array(17,-5,614,667),8367=>array(7,-212,1412,693),8368=>array(12,-197,535,692),8369=>array(16,-5,609,667),8370=>array(32,-37,629,704),8371=>array(22,-5,631,674),8372=>array(42,-14,491,676),8373=>array(29,-99,478,750),8376=>array(20,-1,504,676),8377=>array(18,-112,657,675),8400=>array(-592,665,39,878),8401=>array(-592,660,39,872),8406=>array(-617,548,13,900),8407=>array(-558,548,72,900),8411=>array(-535,494,-8,623),8412=>array(-735,494,-8,623),8413=>array(-781,-238,297,840),8414=>array(-760,-213,269,816),8415=>array(-775,-230,291,836),8416=>array(-781,-238,297,840),8417=>array(-606,548,25,900),8421=>array(-437,-96,60,604),8423=>array(-432,15,68,559),8424=>array(-533,-169,-6,-40),8426=>array(-626,81,4,433),8427=>array(-572,-96,60,604),8428=>array(-574,-256,57,-43),8429=>array(-583,-262,48,-50),8430=>array(-615,-300,15,52),8431=>array(-577,-300,53,52),8448=>array(8,-14,689,683),8449=>array(8,-14,689,683),8451=>array(17,-19,945,691),8453=>array(6,-14,687,686),8454=>array(6,-14,695,686),8455=>array(40,-14,586,691),8456=>array(31,-19,669,691),8457=>array(15,0,899,688),8458=>array(1,-207,471,462),8459=>array(19,-33,1056,723),8462=>array(-13,-9,498,699),8463=>array(-13,-9,498,699),8464=>array(10,-149,933,678),8465=>array(32,-37,605,761),8466=>array(12,-86,787,689),8467=>array(18,-14,439,677),8468=>array(16,-14,800,676),8470=>array(16,-18,877,676),8471=>array(13,-75,842,754),8472=>array(33,-193,604,479),8475=>array(17,-8,739,691),8476=>array(28,-44,882,762),8478=>array(26,-14,715,676),8479=>array(26,-93,715,826),8480=>array(30,203,971,687),8481=>array(25,0,1178,676),8482=>array(13,211,1068,672),8483=>array(16,-93,701,826),8486=>array(36,0,736,691),8487=>array(36,-23,736,668),8489=>array(16,-2,329,471),8490=>array(20,0,759,676),8491=>array(20,0,700,900),8492=>array(17,-22,781,684),8494=>array(36,-10,514,473),8495=>array(5,-13,398,462),8497=>array(12,-66,857,705),8498=>array(12,0,579,676),8499=>array(12,-44,1178,704),8501=>array(41,0,554,644),8502=>array(21,0,495,645),8503=>array(9,-1,317,644),8504=>array(32,-5,485,645),8506=>array(15,-15,882,693),8507=>array(16,0,1171,676),8523=>array(5,-28,730,679),8525=>array(16,-14,1038,683),8526=>array(7,0,394,460),8531=>array(14,-12,777,690),8532=>array(10,-12,777,691),8533=>array(14,-12,754,690),8534=>array(0,-12,782,690),8535=>array(13,-12,782,689),8536=>array(13,-12,782,690),8537=>array(14,-12,759,690),8538=>array(15,-12,779,688),8539=>array(14,-12,774,690),8540=>array(13,-12,784,688),8541=>array(15,-12,784,688),8542=>array(18,-12,784,688),8543=>array(14,-12,668,690),8544=>array(20,0,370,676),8545=>array(20,0,744,676),8546=>array(20,0,1122,676),8547=>array(20,-18,1071,676),8548=>array(10,-18,695,676),8549=>array(10,-18,1082,676),8550=>array(10,-18,1458,676),8551=>array(10,-18,1834,676),8552=>array(20,0,1077,676),8553=>array(20,0,703,676),8554=>array(20,0,1079,676),8555=>array(20,0,1456,676),8556=>array(20,0,639,676),8557=>array(35,-19,673,691),8558=>array(20,0,696,676),8559=>array(20,0,927,676),8560=>array(24,0,265,691),8561=>array(24,0,532,691),8562=>array(24,0,799,691),8563=>array(24,-14,731,691),8564=>array(9,-14,473,461),8565=>array(9,-14,741,691),8566=>array(9,-14,1005,691),8567=>array(9,-14,1265,691),8568=>array(24,0,758,691),8569=>array(18,0,490,461),8570=>array(18,0,755,691),8571=>array(18,0,1021,691),8572=>array(18,0,259,676),8573=>array(25,-14,430,473),8574=>array(25,-14,534,676),8575=>array(18,0,814,473),8592=>array(32,23,872,491),8593=>array(28,-83,495,757),8594=>array(32,23,872,491),8595=>array(28,-62,495,778),8596=>array(30,23,870,491),8597=>array(28,-110,496,730),8598=>array(42,-68,882,772),8599=>array(26,-62,866,778),8600=>array(22,-39,862,801),8601=>array(34,-59,874,781),8602=>array(22,23,862,491),8603=>array(32,23,872,491),8604=>array(17,23,1110,491),8605=>array(27,23,1120,491),8606=>array(22,23,862,491),8607=>array(26,-171,494,669),8608=>array(32,23,872,491),8609=>array(30,-218,498,622),8610=>array(32,23,976,491),8611=>array(22,23,966,491),8612=>array(31,-23,860,477),8613=>array(26,-137,526,692),8614=>array(45,-23,874,477),8615=>array(26,-154,526,675),8616=>array(11,-229,511,730),8617=>array(22,23,867,510),8618=>array(32,23,872,510),8619=>array(22,23,862,491),8620=>array(32,23,872,491),8621=>array(32,23,1135,491),8622=>array(32,23,872,491),8624=>array(62,0,560,739),8625=>array(60,0,558,739),8630=>array(32,-8,1027,435),8631=>array(32,-8,1027,435),8632=>array(0,-68,1000,880),8633=>array(71,-214,880,668),8634=>array(108,-7,872,725),8635=>array(108,-7,872,725),8636=>array(62,209,902,491),8637=>array(62,23,902,305),8638=>array(232,-162,512,678),8639=>array(45,-162,324,678),8640=>array(62,210,902,492),8641=>array(62,24,902,306),8642=>array(232,-162,512,678),8643=>array(45,-162,324,678),8644=>array(62,-147,902,661),8645=>array(30,-178,838,662),8646=>array(62,-147,902,661),8647=>array(62,-147,902,661),8648=>array(93,-211,901,629),8649=>array(29,-210,869,598),8650=>array(30,-148,838,692),8651=>array(62,-103,902,607),8652=>array(62,-103,902,607),8653=>array(62,-45,902,558),8654=>array(42,-45,922,558),8655=>array(62,-45,902,558),8656=>array(62,-45,902,558),8657=>array(14,-162,616,678),8658=>array(62,-45,902,558),8659=>array(14,-162,616,678),8660=>array(42,-45,922,558),8661=>array(14,-182,616,698),8662=>array(62,-244,1001,694),8663=>array(62,-244,1001,694),8664=>array(62,-244,1001,694),8665=>array(62,-244,1001,694),8666=>array(62,-131,902,645),8667=>array(62,-131,902,645),8668=>array(32,23,1068,491),8669=>array(32,23,1068,491),8672=>array(62,24,902,491),8674=>array(62,24,902,491),8676=>array(71,6,878,506),8677=>array(73,-52,880,448),8704=>array(28,-3,599,673),8705=>array(38,-29,510,800),8706=>array(20,-16,533,692),8707=>array(44,0,583,672),8708=>array(44,-135,583,793),8709=>array(12,-16,721,690),8710=>array(13,0,746,690),8711=>array(13,-15,746,675),8712=>array(52,0,524,538),8713=>array(52,-110,524,648),8714=>array(28,-16,414,475),8715=>array(52,0,524,538),8716=>array(52,-110,524,648),8717=>array(25,-11,411,480),8718=>array(57,0,443,691),8719=>array(24,-123,788,746),8720=>array(24,-123,788,746),8721=>array(14,-123,695,752),8722=>array(62,209,614,305),8723=>array(62,-44,614,558),8724=>array(62,-16,614,733),8725=>array(0,-12,537,688),8726=>array(0,-12,537,688),8727=>array(58,42,441,465),8728=>array(62,71,435,443),8729=>array(50,71,450,471),8730=>array(0,-35,550,900),8731=>array(0,-35,550,900),8732=>array(0,-35,550,900),8733=>array(22,42,635,456),8734=>array(22,42,723,456),8735=>array(62,0,447,385),8736=>array(62,0,493,547),8737=>array(62,0,493,547),8738=>array(62,-2,493,517),8739=>array(72,-162,168,678),8740=>array(0,-162,531,678),8741=>array(72,-162,406,678),8742=>array(0,-162,705,678),8743=>array(62,0,632,574),8744=>array(62,0,632,574),8745=>array(62,0,632,594),8746=>array(62,0,632,594),8747=>array(29,-200,558,900),8748=>array(29,-200,868,900),8749=>array(29,-200,1178,900),8756=>array(62,-9,566,497),8757=>array(62,-9,566,497),8760=>array(62,209,614,522),8761=>array(62,13,865,500),8763=>array(62,15,614,504),8764=>array(62,156,614,366),8765=>array(62,157,614,358),8766=>array(17,94,786,415),8768=>array(54,-11,251,574),8769=>array(62,38,614,476),8770=>array(62,87,614,480),8771=>array(62,87,614,480),8773=>array(62,0,614,567),8776=>array(62,35,614,488),8777=>array(62,-72,614,586),8778=>array(62,0,614,567),8781=>array(55,23,621,491),8782=>array(62,19,614,495),8783=>array(62,87,614,495),8784=>array(62,87,614,644),8785=>array(62,-130,614,644),8786=>array(62,-130,614,644),8787=>array(62,-130,614,644),8788=>array(82,11,885,500),8789=>array(82,14,885,503),8790=>array(62,87,614,428),8791=>array(62,87,614,712),8796=>array(62,87,614,776),8800=>array(33,-13,537,519),8801=>array(62,0,614,514),8802=>array(62,-72,614,586),8804=>array(31,0,539,642),8805=>array(31,0,539,642),8806=>array(62,-199,614,704),8807=>array(62,-199,614,704),8808=>array(62,-253,614,704),8809=>array(62,-253,614,704),8810=>array(52,-25,995,539),8811=>array(52,-25,995,539),8812=>array(62,-186,388,686),8813=>array(55,-72,621,586),8814=>array(62,-122,614,636),8815=>array(62,-122,614,636),8816=>array(62,-182,614,696),8817=>array(62,-182,614,696),8818=>array(62,-152,614,612),8819=>array(62,-152,614,612),8820=>array(62,-182,614,696),8821=>array(62,-182,614,696),8822=>array(62,-131,614,645),8823=>array(62,-131,614,645),8824=>array(62,-182,614,696),8825=>array(62,-182,614,696),8826=>array(62,-92,614,605),8827=>array(62,-92,614,605),8828=>array(62,-98,614,678),8829=>array(62,-98,614,678),8830=>array(62,-152,614,678),8831=>array(62,-152,614,678),8832=>array(62,-122,614,636),8833=>array(62,-122,614,636),8834=>array(52,0,624,538),8835=>array(52,0,624,538),8836=>array(52,-110,624,648),8837=>array(52,-110,624,648),8838=>array(52,-98,624,612),8839=>array(52,-98,624,612),8840=>array(52,-182,624,696),8841=>array(52,-182,624,696),8842=>array(52,-156,624,611),8843=>array(52,-156,624,611),8846=>array(62,0,632,594),8847=>array(52,0,624,538),8848=>array(52,0,624,538),8849=>array(52,-98,624,612),8850=>array(52,-98,624,612),8851=>array(62,0,632,566),8852=>array(62,0,632,566),8853=>array(17,-14,721,690),8854=>array(17,-14,721,690),8855=>array(17,-14,721,690),8856=>array(17,-14,721,690),8857=>array(17,-13,721,691),8858=>array(17,-12,721,692),8859=>array(17,-13,721,691),8861=>array(17,-14,721,690),8862=>array(62,0,616,554),8863=>array(62,0,616,554),8864=>array(62,0,616,554),8865=>array(62,0,616,554),8866=>array(62,0,425,514),8867=>array(62,0,425,514),8868=>array(62,0,690,550),8869=>array(62,0,690,550),8871=>array(62,0,425,514),8873=>array(62,0,597,514),8874=>array(62,0,769,514),8876=>array(2,0,525,514),8877=>array(2,0,525,514),8878=>array(2,0,697,514),8879=>array(2,0,697,514),8882=>array(62,-25,614,539),8883=>array(62,-25,614,539),8884=>array(62,-98,614,612),8885=>array(62,-98,614,612),8886=>array(62,86,1318,446),8887=>array(62,86,1318,446),8888=>array(62,86,965,446),8890=>array(108,-211,518,325),8891=>array(62,0,632,775),8892=>array(62,0,632,775),8893=>array(62,0,632,775),8900=>array(42,34,470,480),8903=>array(62,-56,614,570),8904=>array(62,10,697,504),8905=>array(62,54,570,460),8906=>array(62,54,570,460),8907=>array(52,-42,779,686),8908=>array(52,-42,779,686),8909=>array(62,87,614,480),8910=>array(20,0,714,553),8911=>array(20,0,714,553),8912=>array(52,0,624,538),8913=>array(52,0,624,538),8914=>array(62,0,632,594),8915=>array(62,0,632,594),8916=>array(62,0,632,732),8918=>array(62,-25,614,539),8919=>array(62,-25,614,539),8920=>array(52,-25,1389,540),8921=>array(52,-25,1389,540),8922=>array(62,-285,614,798),8923=>array(62,-285,614,798),8924=>array(62,-130,614,644),8925=>array(62,-130,614,644),8926=>array(62,-206,614,720),8927=>array(62,-206,614,720),8928=>array(62,-206,614,720),8929=>array(62,-206,614,720),8930=>array(52,-182,624,696),8931=>array(52,-182,624,696),8934=>array(62,-154,614,612),8935=>array(62,-154,614,612),8936=>array(62,-154,614,678),8937=>array(62,-154,614,678),8938=>array(62,-122,614,636),8939=>array(62,-122,614,636),8940=>array(62,-182,614,696),8941=>array(62,-182,614,696),8960=>array(62,-21,675,610),8968=>array(88,-184,377,656),8969=>array(34,-184,323,656),8970=>array(88,-184,377,656),8971=>array(34,-184,323,656),8976=>array(62,64,618,362),8994=>array(62,131,889,400),8995=>array(62,131,889,400),9001=>array(50,-162,348,679),9002=>array(50,-162,348,679),9251=>array(31,0,469,186),9472=>array(0,260,1000,340),9473=>array(0,220,1000,380),9474=>array(460,-200,540,800),9475=>array(420,-200,580,800),9476=>array(-1,260,1000,340),9477=>array(-1,220,1000,380),9478=>array(460,-200,540,800),9479=>array(420,-200,580,800),9480=>array(-1,260,1000,340),9481=>array(-1,220,1000,380),9482=>array(460,-200,540,800),9483=>array(420,-200,580,800),9484=>array(460,-200,1000,340),9485=>array(460,-200,1000,380),9486=>array(420,-200,1000,340),9487=>array(420,-200,1000,380),9488=>array(0,-200,540,340),9489=>array(0,-200,540,380),9490=>array(0,-200,580,340),9491=>array(0,-200,580,380),9492=>array(460,260,1000,800),9493=>array(460,220,1000,800),9494=>array(420,260,1000,800),9495=>array(420,220,1000,800),9496=>array(0,260,540,800),9497=>array(0,220,540,800),9498=>array(0,260,580,800),9499=>array(0,220,580,800),9500=>array(460,-200,1000,800),9501=>array(460,-200,1000,800),9502=>array(420,-200,1000,800),9503=>array(420,-200,1000,800),9504=>array(420,-200,1000,800),9505=>array(420,-200,1000,800),9506=>array(420,-200,1000,800),9507=>array(420,-200,1000,800),9508=>array(0,-200,540,800),9509=>array(0,-200,540,800),9510=>array(0,-200,580,800),9511=>array(0,-200,580,800),9512=>array(420,-200,1000,800),9513=>array(0,-200,580,800),9514=>array(0,-200,580,800),9515=>array(0,-200,580,800),9516=>array(0,-200,1000,340),9517=>array(0,-200,1000,380),9518=>array(0,-200,1000,380),9519=>array(0,-200,1000,380),9520=>array(0,-200,1000,340),9521=>array(0,-200,1000,380),9522=>array(0,-200,1000,380),9523=>array(0,-200,1000,380),9524=>array(0,260,1000,800),9525=>array(0,220,1000,800),9526=>array(0,220,1000,800),9527=>array(0,220,1000,800),9528=>array(0,260,1000,800),9529=>array(0,220,1000,800),9530=>array(0,220,1000,800),9531=>array(0,220,1000,800),9532=>array(0,-200,1000,800),9533=>array(0,-200,1000,800),9534=>array(0,-200,1000,800),9535=>array(0,-200,1000,800),9536=>array(0,-200,1000,800),9537=>array(0,-200,1000,800),9538=>array(0,-200,1000,800),9539=>array(0,-200,1000,800),9540=>array(0,-200,1000,800),9541=>array(0,-200,1000,800),9542=>array(0,-200,1000,800),9543=>array(0,-200,1000,800),9544=>array(0,-200,1000,800),9545=>array(0,-200,1000,800),9546=>array(0,-200,1000,800),9547=>array(0,-200,1000,800),9552=>array(0,180,1000,420),9553=>array(380,-200,620,800),9554=>array(460,-200,1000,420),9555=>array(380,-200,1000,340),9556=>array(380,-200,1000,420),9557=>array(0,-200,540,420),9558=>array(0,-200,620,340),9559=>array(0,-200,620,420),9560=>array(460,180,1000,800),9561=>array(380,260,1000,800),9562=>array(380,180,1000,800),9563=>array(0,180,540,800),9564=>array(0,260,620,800),9565=>array(0,180,620,800),9566=>array(460,-200,1000,800),9567=>array(380,-200,1000,800),9568=>array(380,-200,1000,800),9569=>array(0,-200,540,800),9570=>array(0,-200,620,800),9571=>array(0,-200,620,800),9572=>array(0,-200,1000,420),9573=>array(0,-200,1000,340),9574=>array(0,-200,1000,420),9575=>array(0,180,1000,800),9576=>array(0,260,1000,800),9577=>array(0,180,1000,800),9578=>array(0,-200,1000,800),9579=>array(0,-200,1000,800),9580=>array(0,-200,1000,800),9600=>array(0,300,1000,800),9601=>array(0,-200,1000,-75),9602=>array(0,-200,1000,50),9603=>array(0,-200,1000,175),9604=>array(0,-200,1000,300),9605=>array(0,-200,1000,425),9606=>array(0,-200,1000,550),9607=>array(0,-200,1000,675),9608=>array(0,-200,1000,800),9609=>array(0,-200,875,800),9610=>array(0,-200,795,800),9611=>array(0,-200,625,800),9612=>array(0,-200,500,800),9613=>array(0,-200,375,800),9614=>array(0,-200,250,800),9615=>array(0,-200,125,800),9616=>array(500,-200,1000,800),9617=>array(0,-200,950,750),9618=>array(0,-200,1000,750),9619=>array(0,-200,1000,800),9620=>array(0,675,1000,800),9621=>array(875,-200,1000,800),9622=>array(0,-200,500,300),9623=>array(500,-200,1000,300),9624=>array(500,300,1000,800),9625=>array(0,-200,1000,800),9626=>array(0,-200,1000,800),9627=>array(0,-200,1000,800),9628=>array(0,-200,1000,800),9629=>array(0,300,500,800),9630=>array(0,-200,1000,800),9631=>array(0,-200,1000,800),9632=>array(62,-20,616,534),9633=>array(62,-20,616,534),9642=>array(62,0,247,182),9644=>array(35,-20,790,534),9645=>array(35,-20,790,534),9646=>array(62,-64,616,691),9647=>array(62,-61,616,694),9650=>array(26,0,814,674),9651=>array(57,-21,624,537),9654=>array(83,-215,757,573),9655=>array(61,-26,619,541),9660=>array(-133,-158,655,516),9661=>array(57,-21,624,537),9664=>array(-76,-57,598,731),9665=>array(61,-25,619,542),9670=>array(42,-133,538,647),9671=>array(42,-133,538,647),9674=>array(18,0,466,740),9675=>array(6,-83,786,697),9676=>array(2,-58,790,730),9679=>array(17,-15,721,689),9688=>array(0,0,500,673),9702=>array(50,101,450,501),9711=>array(13,-75,842,754),9733=>array(44,-83,959,735),9734=>array(44,-83,959,735),9824=>array(42,0,576,555),9825=>array(42,-34,603,561),9826=>array(42,-31,545,590),9827=>array(43,0,540,588),9828=>array(3,-40,580,680),9829=>array(42,-34,603,561),9830=>array(42,-31,545,590),9831=>array(2,-40,616,595),9833=>array(38,0,277,694),9834=>array(55,0,514,694),9835=>array(55,0,696,729),9836=>array(55,0,696,729),9837=>array(96,-36,457,730),9838=>array(130,-214,413,712),9839=>array(86,-197,460,762),10214=>array(88,-149,527,678),10215=>array(34,-149,473,678),11392=>array(35,-11,738,691),11393=>array(35,-7,555,473),11394=>array(35,-14,509,692),11395=>array(35,-11,418,473),11396=>array(35,-10,575,676),11397=>array(22,-7,411,461),11398=>array(22,-71,1027,692),11399=>array(13,-55,748,473),11400=>array(35,-15,646,693),11401=>array(35,-10,467,473),11402=>array(35,-34,560,691),11403=>array(35,-32,392,473),11404=>array(22,-146,575,691),11405=>array(22,-96,463,473),11406=>array(32,-10,666,691),11407=>array(32,-7,497,474),11408=>array(35,-14,719,691),11409=>array(35,-10,520,472),11410=>array(65,-13,278,691),11411=>array(52,-13,206,473),11412=>array(32,-7,664,692),11413=>array(35,-16,516,473),11414=>array(22,-137,815,800),11415=>array(13,-116,621,566),11416=>array(32,-10,767,690),11417=>array(32,-14,577,473),11418=>array(32,-10,676,691),11419=>array(32,-14,505,473),11420=>array(6,-145,555,690),11421=>array(12,-105,421,472),11422=>array(35,-19,743,691),11423=>array(32,-13,509,474),11424=>array(32,-10,692,676),11425=>array(22,-13,502,461),11426=>array(41,-181,510,691),11427=>array(16,-220,411,473),11428=>array(35,-15,646,693),11429=>array(35,-10,473,473),11430=>array(32,-10,582,678),11431=>array(12,-7,421,461),11432=>array(17,-181,742,691),11433=>array(12,-220,577,473),11434=>array(35,-181,765,800),11435=>array(35,-220,635,566),11436=>array(22,-137,791,691),11437=>array(16,-116,601,473),11438=>array(12,-181,789,800),11439=>array(22,-220,597,566),11440=>array(35,-15,967,691),11441=>array(35,-10,708,473),11517=>array(12,59,254,392),11518=>array(140,-5,547,691),11519=>array(12,474,286,689),11799=>array(48,36,283,408),42560=>array(28,-175,604,676),42561=>array(21,-175,419,461),42571=>array(30,-14,470,726),42576=>array(22,0,1100,676),42577=>array(19,0,862,461),42580=>array(35,-19,1092,691),42581=>array(25,-14,746,473),42582=>array(16,0,1069,690),42583=>array(12,-14,758,473),42600=>array(35,-19,743,691),42601=>array(25,-14,476,473),42790=>array(16,-230,754,676),42791=>array(16,-203,485,676),42792=>array(20,0,929,676),42793=>array(18,-12,728,630),42794=>array(34,-19,604,691),42795=>array(22,-14,430,673),42796=>array(19,-106,412,688),42797=>array(21,-205,356,461),42798=>array(19,-180,635,688),42799=>array(21,-205,585,461),42888=>array(-2,-81,335,95),42889=>array(82,-13,251,472),42890=>array(31,87,307,427),42891=>array(90,177,259,760),42892=>array(90,375,259,760),42893=>array(16,0,754,676),42896=>array(16,-200,701,676),42897=>array(21,-142,546,473),42922=>array(10,0,905,676),43002=>array(18,-11,814,462),64256=>array(18,0,670,691),64257=>array(18,0,540,691),64258=>array(18,0,540,691),64259=>array(18,0,817,691),64260=>array(18,0,817,691),64261=>array(18,-12,606,691),64262=>array(35,-14,733,760),64275=>array(15,-14,1090,676),64276=>array(15,-14,1090,676),64277=>array(15,-200,1084,676),64278=>array(15,-200,1090,676),64279=>array(15,-200,1345,676),64285=>array(29,159,235,645),64286=>array(248,652,462,724),64287=>array(29,160,501,645),64288=>array(30,0,520,644),64297=>array(33,209,537,506),64298=>array(33,0,683,705),64299=>array(33,0,683,705),64300=>array(33,0,683,705),64301=>array(33,0,683,705),64302=>array(41,-110,554,644),64303=>array(41,-235,554,644),64304=>array(41,-127,554,644),64305=>array(21,0,495,645),64306=>array(9,-1,317,644),64307=>array(32,-5,485,645),64308=>array(40,-5,521,645),64309=>array(31,-5,223,644),64310=>array(5,-7,258,644),64312=>array(33,0,557,644),64313=>array(26,301,235,645),64314=>array(32,-285,458,645),64315=>array(18,0,480,645),64316=>array(33,-5,477,899),64318=>array(39,0,568,637),64320=>array(6,0,315,644),64321=>array(45,0,490,645),64323=>array(38,-280,468,645),64324=>array(16,0,468,644),64326=>array(36,0,523,645),64327=>array(44,-300,524,645),64328=>array(32,-5,472,645),64329=>array(0,0,650,645),64330=>array(8,-5,540,645),64331=>array(31,-5,230,720),64332=>array(21,0,495,709),64333=>array(18,0,480,709),64334=>array(16,0,468,709),64335=>array(52,0,554,899),64336=>array(0,-61,296,864),64337=>array(0,-2,296,874),64338=>array(74,-291,896,351),64339=>array(74,-291,896,351),64340=>array(-5,-291,298,333),64341=>array(-5,-291,344,333),64342=>array(76,-284,898,351),64343=>array(76,-284,898,351),64344=>array(-5,-284,298,333),64345=>array(-5,-284,344,333),64346=>array(75,-300,897,351),64347=>array(75,-300,897,351),64348=>array(-18,-300,338,333),64349=>array(-21,-300,344,333),64350=>array(75,0,897,584),64351=>array(75,0,897,584),64352=>array(-5,0,298,634),64353=>array(-5,0,344,644),64354=>array(75,0,897,628),64355=>array(75,0,897,628),64356=>array(-24,0,332,659),64357=>array(-21,0,344,659),64358=>array(75,0,897,617),64359=>array(75,0,897,617),64360=>array(-5,0,298,697),64361=>array(-5,0,344,697),64362=>array(75,0,868,693),64363=>array(75,0,881,693),64364=>array(-5,0,308,673),64365=>array(-23,0,351,673),64366=>array(75,0,868,764),64367=>array(75,0,881,739),64368=>array(-5,0,352,779),64369=>array(-23,0,352,719),64370=>array(75,-260,655,449),64371=>array(75,-260,693,449),64372=>array(-15,-251,602,389),64373=>array(-15,-251,622,389),64374=>array(75,-260,655,449),64375=>array(75,-260,693,449),64376=>array(-15,-157,602,389),64377=>array(-15,-157,622,389),64378=>array(75,-260,655,449),64379=>array(75,-260,693,449),64380=>array(-15,-234,602,389),64381=>array(-15,-234,622,389),64382=>array(75,-260,655,449),64383=>array(75,-260,693,449),64384=>array(-15,-270,602,389),64385=>array(-15,-270,622,389),64386=>array(75,-207,418,399),64387=>array(75,-207,418,399),64388=>array(75,0,418,650),64389=>array(75,0,418,650),64390=>array(75,0,418,713),64391=>array(75,0,418,713),64392=>array(75,0,418,747),64393=>array(75,0,418,747),64394=>array(0,-247,355,593),64395=>array(0,-247,355,593),64396=>array(0,-247,358,637),64397=>array(0,-247,358,637),64398=>array(74,0,901,701),64399=>array(74,0,950,701),64400=>array(-5,0,451,701),64401=>array(-5,0,489,701),64402=>array(74,0,901,819),64403=>array(74,0,950,820),64404=>array(-5,0,451,818),64405=>array(-5,0,489,820),64406=>array(74,-291,901,819),64407=>array(74,-291,950,820),64408=>array(-5,-291,451,818),64409=>array(-5,-291,489,820),64410=>array(74,0,901,819),64411=>array(74,0,950,820),64412=>array(-5,0,451,850),64413=>array(-5,0,489,850),64414=>array(74,-194,601,358),64415=>array(74,-194,601,358),64416=>array(74,-194,601,657),64417=>array(74,-194,601,657),64418=>array(-5,0,298,664),64419=>array(-5,0,344,664),64420=>array(75,-10,364,559),64421=>array(65,0,433,749),64422=>array(67,0,394,403),64423=>array(75,-52,399,142),64424=>array(-4,-207,288,146),64425=>array(-4,-207,314,142),64426=>array(-21,0,417,398),64427=>array(-21,0,417,398),64428=>array(-10,-1,490,418),64429=>array(45,-236,491,355),64430=>array(75,-170,752,280),64431=>array(87,-170,752,105),64432=>array(75,-170,752,530),64433=>array(87,-170,752,460),64434=>array(130,433,261,560),64435=>array(130,-217,261,-90),64436=>array(120,433,386,560),64437=>array(120,-227,386,-100),64438=>array(143,443,418,673),64439=>array(143,-277,418,-47),64440=>array(90,436,365,666),64441=>array(90,-284,365,-54),64442=>array(93,219,449,498),64443=>array(73,-300,429,-21),64444=>array(34,-298,250,-41),64445=>array(104,446,292,694),64446=>array(104,-291,292,-43),64447=>array(99,-260,242,-92),64448=>array(57,388,290,657),64449=>array(57,-300,290,-31),64467=>array(75,0,660,873),64468=>array(75,0,660,883),64469=>array(-5,0,451,860),64470=>array(-5,0,489,868),64471=>array(3,-270,329,581),64472=>array(3,-270,329,581),64473=>array(3,-270,329,532),64474=>array(3,-270,329,532),64475=>array(3,-270,329,557),64476=>array(3,-270,329,557),64477=>array(3,-270,461,581),64478=>array(3,-270,329,583),64479=>array(3,-270,329,583),64480=>array(3,-270,329,269),64481=>array(3,-270,329,269),64482=>array(3,-270,329,502),64483=>array(3,-270,329,502),64484=>array(75,-300,736,330),64485=>array(75,-470,725,176),64486=>array(-32,-291,271,333),64487=>array(-5,-291,344,333),64488=>array(-32,0,271,333),64489=>array(-5,0,344,333),64508=>array(75,-166,722,330),64509=>array(75,-256,725,176),64510=>array(-32,-216,299,333),64511=>array(-5,-227,344,333),65010=>array(75,0,1036,900),65020=>array(75,-247,1095,700),65136=>array(74,674,269,895),65137=>array(-5,0,413,895),65138=>array(72,666,316,900),65139=>array(33,0,373,290),65140=>array(44,-300,239,-79),65142=>array(74,704,269,835),65143=>array(-5,0,413,835),65144=>array(31,651,225,900),65145=>array(-5,0,413,900),65146=>array(74,-296,269,-165),65147=>array(-5,-296,413,110),65148=>array(75,721,259,880),65149=>array(-5,0,413,880),65150=>array(106,693,246,850),65151=>array(-5,0,413,850),65152=>array(86,-79,333,292),65153=>array(0,-61,282,824),65154=>array(0,-2,282,824),65155=>array(53,-61,217,900),65156=>array(46,-2,252,900),65157=>array(3,-270,329,579),65158=>array(3,-270,329,539),65159=>array(86,-300,250,696),65160=>array(57,-292,252,700),65161=>array(75,-166,722,533),65162=>array(75,-166,725,503),65163=>array(-32,0,271,600),65164=>array(-5,0,344,600),65165=>array(109,-61,214,696),65166=>array(92,-2,252,700),65167=>array(75,-217,899,360),65168=>array(75,-217,972,351),65169=>array(-5,-217,298,333),65170=>array(-5,-217,344,333),65171=>array(67,0,394,610),65172=>array(65,0,433,610),65173=>array(75,0,897,490),65174=>array(75,0,972,489),65175=>array(-5,0,304,549),65176=>array(-5,0,344,549),65177=>array(75,0,897,563),65178=>array(75,0,972,583),65179=>array(-5,0,328,653),65180=>array(-5,0,344,653),65181=>array(75,-260,655,449),65182=>array(75,-260,693,449),65183=>array(-25,-147,592,389),65184=>array(-15,-147,622,389),65185=>array(75,-260,655,449),65186=>array(75,-260,693,449),65187=>array(-15,0,602,389),65188=>array(-15,0,622,389),65189=>array(75,-260,655,640),65190=>array(75,-260,693,640),65191=>array(-15,0,602,580),65192=>array(-15,0,622,580),65193=>array(75,0,418,399),65194=>array(75,0,418,399),65195=>array(75,0,418,631),65196=>array(75,0,418,631),65197=>array(0,-247,355,268),65198=>array(0,-247,355,268),65199=>array(0,-247,355,478),65200=>array(0,-247,355,478),65201=>array(74,-241,911,244),65202=>array(74,-241,911,244),65203=>array(-10,0,611,244),65204=>array(-10,0,611,244),65205=>array(74,-241,911,503),65206=>array(74,-241,911,503),65207=>array(-10,0,611,503),65208=>array(-10,0,611,503),65209=>array(75,-242,909,260),65210=>array(75,-242,909,260),65211=>array(-10,0,823,287),65212=>array(-10,0,823,287),65213=>array(75,-242,909,460),65214=>array(75,-242,909,460),65215=>array(-10,0,823,536),65216=>array(-10,0,823,536),65217=>array(0,0,568,711),65218=>array(25,0,568,711),65219=>array(-5,0,514,711),65220=>array(-5,0,514,711),65221=>array(0,0,568,711),65222=>array(25,0,568,711),65223=>array(-5,0,514,711),65224=>array(-5,0,514,711),65225=>array(75,-300,595,436),65226=>array(75,-300,601,336),65227=>array(-7,0,673,355),65228=>array(-5,0,522,322),65229=>array(75,-300,595,610),65230=>array(75,-300,601,550),65231=>array(-7,0,673,550),65232=>array(-5,0,522,540),65233=>array(75,0,868,600),65234=>array(75,0,881,600),65235=>array(-5,0,308,630),65236=>array(-23,0,351,590),65237=>array(75,-170,635,510),65238=>array(75,-170,635,510),65239=>array(-5,0,308,609),65240=>array(-23,0,351,579),65241=>array(-5,0,456,675),65242=>array(75,0,660,675),65243=>array(-5,0,451,701),65244=>array(-5,0,489,701),65245=>array(75,-240,601,688),65246=>array(75,-240,677,688),65247=>array(-5,0,238,688),65248=>array(-5,0,285,688),65249=>array(75,-298,489,451),65250=>array(75,-300,478,260),65251=>array(-5,-15,444,267),65252=>array(-5,-10,539,289),65253=>array(74,-194,601,498),65254=>array(74,-194,601,498),65255=>array(-5,0,298,527),65256=>array(-5,0,344,527),65257=>array(67,0,394,403),65258=>array(65,0,433,407),65259=>array(-21,0,417,398),65260=>array(-5,-236,411,355),65261=>array(3,-270,329,269),65262=>array(75,-270,401,269),65263=>array(75,-166,722,330),65264=>array(75,-166,725,307),65265=>array(75,-300,722,330),65266=>array(75,-300,725,307),65267=>array(-32,-227,276,333),65268=>array(-5,-227,344,333),65269=>array(0,0,464,772),65270=>array(39,0,619,772),65271=>array(4,0,464,900),65272=>array(39,0,619,890),65273=>array(12,-292,464,696),65274=>array(39,-292,619,694),65275=>array(12,0,464,696),65276=>array(39,0,619,694),65532=>array(84,-26,768,669),65533=>array(22,-63,885,800),65535=>array(23,-81,577,774)); +$cw=array(0=>600,32=>250,33=>333,34=>555,35=>500,36=>500,37=>1000,38=>833,39=>278,40=>333,41=>333,42=>507,43=>676,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>676,61=>676,62=>676,63=>500,64=>930,65=>721,66=>658,67=>708,68=>731,69=>671,70=>617,71=>776,72=>778,73=>390,74=>501,75=>774,76=>668,77=>947,78=>725,79=>778,80=>639,81=>778,82=>719,83=>568,84=>645,85=>725,86=>705,87=>982,88=>713,89=>704,90=>646,91=>333,92=>278,93=>333,94=>581,95=>500,96=>333,97=>500,98=>545,99=>435,100=>552,101=>444,102=>393,103=>500,104=>554,105=>299,106=>400,107=>555,108=>277,109=>832,110=>554,111=>501,112=>545,113=>545,114=>427,115=>406,116=>335,117=>564,118=>482,119=>702,120=>508,121=>482,122=>444,123=>394,124=>220,125=>394,126=>520,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>300,171=>500,172=>680,173=>333,174=>747,175=>333,176=>400,177=>676,178=>300,179=>300,180=>333,181=>556,182=>540,183=>250,184=>333,185=>270,186=>330,187=>500,188=>750,189=>770,190=>750,191=>500,192=>721,193=>721,194=>721,195=>721,196=>721,197=>721,198=>987,199=>708,200=>671,201=>671,202=>671,203=>671,204=>390,205=>390,206=>390,207=>390,208=>731,209=>725,210=>778,211=>778,212=>778,213=>778,214=>778,215=>676,216=>778,217=>725,218=>725,219=>725,220=>725,221=>704,222=>639,223=>553,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>703,231=>435,232=>444,233=>444,234=>444,235=>444,236=>299,237=>299,238=>299,239=>299,240=>501,241=>554,242=>501,243=>501,244=>501,245=>501,246=>501,247=>676,248=>501,249=>564,250=>564,251=>564,252=>564,253=>482,254=>548,255=>482,256=>721,257=>500,258=>721,259=>500,260=>722,261=>500,262=>708,263=>435,264=>708,265=>435,266=>708,267=>435,268=>708,269=>435,270=>722,271=>692,272=>731,273=>556,274=>671,275=>444,276=>671,277=>444,278=>671,279=>444,280=>669,281=>444,282=>671,283=>444,284=>776,285=>500,286=>776,287=>500,288=>776,289=>500,290=>776,291=>500,292=>778,293=>554,294=>778,295=>556,296=>390,297=>299,298=>390,299=>299,300=>390,301=>299,302=>389,303=>299,304=>390,305=>299,306=>882,307=>610,308=>501,309=>397,310=>774,311=>555,312=>534,313=>668,314=>277,315=>668,316=>277,317=>668,318=>433,319=>668,320=>457,321=>667,322=>278,323=>725,324=>554,325=>725,326=>554,327=>725,328=>554,329=>626,330=>829,331=>556,332=>778,333=>501,334=>778,335=>501,336=>778,337=>501,338=>1000,339=>717,340=>719,341=>427,342=>719,343=>427,344=>719,345=>427,346=>568,347=>406,348=>568,349=>406,350=>556,351=>389,352=>568,353=>406,354=>645,355=>335,356=>645,357=>467,358=>667,359=>337,360=>725,361=>564,362=>725,363=>564,364=>725,365=>564,366=>725,367=>564,368=>725,369=>564,370=>725,371=>561,372=>982,373=>702,374=>704,375=>482,376=>704,377=>646,378=>444,379=>646,380=>444,381=>646,382=>444,383=>337,384=>556,385=>802,386=>659,387=>556,388=>667,389=>556,390=>708,391=>901,392=>605,393=>731,394=>875,395=>658,396=>554,397=>525,398=>665,399=>778,400=>622,401=>735,402=>383,403=>901,404=>782,405=>811,406=>327,407=>389,408=>846,409=>556,410=>298,411=>495,412=>976,413=>864,414=>556,415=>778,416=>793,417=>574,418=>1177,419=>794,420=>749,421=>556,422=>748,423=>568,424=>406,425=>650,426=>465,427=>343,428=>719,429=>391,430=>667,431=>768,432=>620,433=>770,434=>685,435=>833,436=>695,437=>667,438=>444,439=>593,440=>639,441=>508,442=>482,443=>500,444=>641,445=>520,446=>444,447=>611,448=>220,449=>418,450=>570,451=>333,452=>1331,453=>1158,454=>990,455=>1134,456=>987,457=>610,458=>1200,459=>1025,460=>889,461=>721,462=>500,463=>390,464=>299,465=>778,466=>501,467=>725,468=>564,469=>722,470=>564,471=>722,472=>564,473=>722,474=>564,475=>722,476=>564,477=>444,478=>721,479=>500,480=>722,481=>500,482=>987,483=>703,484=>778,485=>500,486=>776,487=>500,488=>774,489=>555,490=>778,491=>501,492=>778,493=>501,494=>593,495=>502,496=>397,497=>1331,498=>1158,499=>990,500=>776,501=>500,502=>995,503=>603,504=>725,505=>554,506=>722,507=>500,508=>987,509=>703,510=>778,511=>501,512=>721,513=>500,514=>721,515=>500,516=>671,517=>444,518=>671,519=>444,520=>390,521=>299,522=>390,523=>299,524=>778,525=>501,526=>778,527=>501,528=>719,529=>427,530=>719,531=>427,532=>725,533=>564,534=>725,535=>564,536=>568,537=>406,538=>645,539=>335,540=>464,541=>453,542=>778,543=>554,544=>731,545=>649,546=>568,547=>494,548=>667,549=>444,550=>721,551=>500,552=>667,553=>444,554=>778,555=>501,556=>778,557=>501,558=>778,559=>501,560=>778,561=>501,562=>704,563=>482,564=>437,565=>636,566=>413,567=>397,568=>776,569=>760,570=>722,571=>722,572=>444,573=>664,574=>667,575=>409,576=>451,577=>505,578=>479,579=>656,580=>750,581=>705,582=>667,583=>478,584=>500,585=>333,586=>760,587=>588,588=>712,589=>444,590=>722,591=>500,592=>500,593=>523,594=>523,595=>556,596=>434,597=>468,598=>633,599=>654,600=>444,601=>444,602=>611,603=>438,604=>440,605=>611,606=>459,607=>333,608=>660,609=>500,610=>549,611=>499,612=>582,613=>554,614=>556,615=>556,616=>303,617=>333,618=>293,619=>369,620=>397,621=>344,622=>667,623=>832,624=>833,625=>833,626=>626,627=>633,628=>502,629=>501,630=>744,631=>715,632=>711,633=>427,634=>444,635=>524,636=>444,637=>428,638=>394,639=>394,640=>538,641=>538,642=>406,643=>410,644=>406,645=>507,646=>499,647=>335,648=>392,649=>500,650=>557,651=>533,652=>482,653=>702,654=>482,655=>516,656=>672,657=>492,658=>502,659=>502,660=>438,661=>438,662=>438,663=>444,664=>778,665=>507,666=>460,667=>722,668=>582,669=>438,670=>555,671=>483,672=>604,673=>438,674=>438,675=>872,676=>878,677=>926,678=>654,679=>624,680=>722,681=>825,682=>646,683=>604,684=>490,685=>500,686=>611,687=>713,688=>367,689=>378,690=>243,691=>300,692=>291,693=>337,694=>368,695=>476,696=>330,697=>250,698=>500,699=>250,700=>250,701=>250,702=>300,703=>300,704=>333,705=>333,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>200,713=>333,714=>333,715=>333,716=>200,717=>333,718=>333,719=>333,720=>250,721=>250,722=>300,723=>300,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,735=>352,736=>350,737=>181,738=>257,739=>333,740=>300,741=>526,742=>526,743=>526,744=>526,745=>526,746=>519,747=>519,748=>333,749=>333,750=>480,751=>333,752=>333,753=>333,754=>333,755=>327,756=>261,757=>333,758=>333,759=>400,760=>333,761=>175,762=>175,763=>175,764=>175,765=>333,766=>337,767=>432,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,884=>199,885=>200,890=>0,894=>333,900=>330,901=>415,902=>721,903=>250,904=>811,905=>938,906=>556,908=>840,910=>886,911=>879,912=>330,913=>721,914=>658,915=>611,916=>759,917=>671,918=>646,919=>778,920=>778,921=>390,922=>774,923=>722,924=>947,925=>725,926=>650,927=>778,928=>812,929=>639,931=>650,932=>645,933=>738,934=>868,935=>713,936=>924,937=>811,938=>390,939=>738,940=>605,941=>440,942=>605,943=>330,944=>550,945=>605,946=>550,947=>550,948=>550,949=>440,950=>495,951=>605,952=>550,953=>330,954=>608,955=>495,956=>605,957=>495,958=>495,959=>550,960=>605,961=>550,962=>440,963=>550,964=>440,965=>550,966=>660,967=>495,968=>715,969=>715,970=>330,971=>550,972=>550,973=>550,974=>715,976=>550,977=>605,978=>722,979=>871,980=>722,981=>660,982=>715,983=>550,984=>611,985=>550,986=>650,987=>514,988=>611,989=>513,990=>715,991=>439,992=>722,993=>605,994=>1022,995=>715,996=>626,997=>576,998=>616,999=>544,1000=>539,1001=>441,1002=>932,1003=>653,1004=>593,1005=>513,1006=>654,1007=>517,1008=>550,1009=>550,1010=>477,1011=>400,1012=>778,1013=>424,1014=>424,1015=>639,1016=>575,1017=>722,1018=>943,1019=>809,1020=>550,1021=>722,1022=>722,1023=>722,1024=>666,1025=>666,1026=>852,1027=>617,1028=>733,1029=>568,1030=>400,1031=>400,1032=>513,1033=>1062,1034=>1057,1035=>899,1036=>769,1037=>788,1038=>731,1039=>788,1040=>704,1041=>659,1042=>678,1043=>617,1044=>718,1045=>666,1046=>1104,1047=>654,1048=>788,1049=>788,1050=>769,1051=>793,1052=>957,1053=>788,1054=>828,1055=>814,1056=>659,1057=>733,1058=>649,1059=>731,1060=>864,1061=>713,1062=>788,1063=>768,1064=>1129,1065=>1129,1066=>794,1067=>984,1068=>659,1069=>747,1070=>1136,1071=>734,1072=>528,1073=>567,1074=>545,1075=>439,1076=>565,1077=>511,1078=>805,1079=>495,1080=>572,1081=>572,1082=>566,1083=>551,1084=>682,1085=>572,1086=>571,1087=>572,1088=>591,1089=>495,1090=>501,1091=>482,1092=>879,1093=>508,1094=>566,1095=>564,1096=>833,1097=>827,1098=>647,1099=>764,1100=>545,1101=>539,1102=>800,1103=>563,1104=>511,1105=>511,1106=>592,1107=>439,1108=>539,1109=>436,1110=>291,1111=>299,1112=>400,1113=>812,1114=>824,1115=>570,1116=>566,1117=>572,1118=>482,1119=>572,1120=>1066,1121=>769,1122=>796,1123=>648,1124=>1033,1125=>778,1126=>977,1127=>685,1128=>1363,1129=>971,1130=>1086,1131=>778,1132=>1466,1133=>1062,1134=>650,1135=>462,1136=>974,1137=>771,1138=>828,1139=>661,1140=>808,1141=>578,1142=>808,1143=>590,1144=>1214,1145=>962,1146=>992,1147=>744,1148=>1066,1149=>769,1150=>1066,1151=>769,1152=>694,1153=>483,1154=>258,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>788,1163=>569,1164=>659,1165=>548,1166=>659,1167=>594,1168=>618,1169=>459,1170=>618,1171=>439,1172=>666,1173=>585,1174=>1155,1175=>843,1176=>670,1177=>495,1178=>833,1179=>610,1180=>815,1181=>597,1182=>901,1183=>676,1184=>874,1185=>636,1186=>788,1187=>572,1188=>986,1189=>693,1190=>1086,1191=>864,1192=>913,1193=>666,1194=>733,1195=>495,1196=>649,1197=>501,1198=>712,1199=>609,1200=>712,1201=>609,1202=>790,1203=>567,1204=>1043,1205=>785,1206=>768,1207=>562,1208=>824,1209=>598,1210=>768,1211=>570,1212=>960,1213=>637,1214=>960,1215=>637,1216=>400,1217=>1104,1218=>805,1219=>742,1220=>557,1221=>793,1222=>551,1223=>788,1224=>570,1225=>788,1226=>572,1227=>768,1228=>564,1229=>957,1230=>682,1231=>400,1232=>704,1233=>528,1234=>704,1235=>528,1236=>989,1237=>725,1238=>667,1239=>511,1240=>828,1241=>511,1242=>778,1243=>511,1244=>1104,1245=>805,1246=>654,1247=>495,1248=>626,1249=>472,1250=>788,1251=>572,1252=>788,1253=>572,1254=>828,1255=>571,1256=>828,1257=>571,1258=>778,1259=>571,1260=>747,1261=>539,1262=>731,1263=>482,1264=>731,1265=>482,1266=>731,1267=>500,1268=>768,1269=>564,1270=>627,1271=>435,1272=>984,1273=>764,1281=>544,1296=>660,1297=>495,1298=>793,1299=>551,1306=>778,1307=>588,1308=>994,1309=>716,1310=>769,1311=>566,1329=>889,1330=>787,1331=>858,1332=>941,1333=>775,1334=>765,1335=>805,1336=>762,1337=>938,1338=>869,1339=>765,1340=>756,1341=>966,1342=>992,1343=>748,1344=>469,1345=>731,1346=>941,1347=>745,1348=>966,1349=>641,1350=>929,1351=>774,1352=>779,1353=>784,1354=>841,1355=>775,1356=>955,1357=>779,1358=>927,1359=>555,1360=>763,1361=>641,1362=>656,1363=>824,1364=>869,1365=>768,1366=>754,1369=>300,1370=>300,1371=>270,1372=>307,1373=>270,1374=>324,1375=>322,1377=>818,1378=>548,1379=>601,1380=>608,1381=>551,1382=>547,1383=>496,1384=>548,1385=>586,1386=>585,1387=>548,1388=>269,1389=>798,1390=>594,1391=>544,1392=>548,1393=>513,1394=>583,1395=>560,1396=>551,1397=>397,1398=>567,1399=>447,1400=>548,1401=>411,1402=>810,1403=>464,1404=>548,1405=>551,1406=>595,1407=>821,1408=>548,1409=>557,1410=>312,1411=>821,1412=>550,1413=>511,1414=>668,1415=>602,1417=>333,1418=>349,1423=>818,1425=>0,1426=>0,1427=>0,1428=>0,1429=>0,1430=>0,1431=>0,1432=>0,1433=>0,1434=>0,1435=>0,1436=>0,1437=>0,1438=>0,1439=>0,1440=>0,1441=>0,1442=>0,1443=>0,1444=>0,1445=>0,1446=>0,1447=>0,1448=>0,1449=>0,1450=>0,1451=>0,1452=>0,1453=>0,1454=>0,1455=>0,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>433,1471=>0,1472=>155,1473=>0,1474=>0,1475=>400,1476=>0,1477=>0,1478=>347,1479=>0,1488=>593,1489=>498,1490=>339,1491=>523,1492=>561,1493=>266,1494=>291,1495=>559,1496=>576,1497=>266,1498=>496,1499=>501,1500=>510,1501=>542,1502=>581,1503=>273,1504=>347,1505=>512,1506=>552,1507=>493,1508=>491,1509=>537,1510=>561,1511=>544,1512=>502,1513=>716,1514=>571,1520=>532,1521=>532,1522=>532,1523=>396,1524=>432,1536=>600,1537=>1000,1538=>800,1539=>800,1542=>549,1543=>549,1544=>724,1545=>599,1546=>729,1547=>635,1548=>226,1549=>344,1550=>640,1551=>616,1552=>0,1553=>0,1554=>0,1555=>0,1556=>0,1557=>0,1558=>0,1559=>0,1560=>0,1561=>0,1562=>0,1563=>333,1566=>407,1567=>500,1568=>742,1569=>350,1570=>264,1571=>264,1572=>329,1573=>264,1574=>742,1575=>264,1576=>899,1577=>424,1578=>897,1579=>897,1580=>655,1581=>655,1582=>655,1583=>397,1584=>397,1585=>358,1586=>331,1587=>901,1588=>901,1589=>909,1590=>909,1591=>557,1592=>550,1593=>595,1594=>602,1595=>901,1596=>901,1597=>742,1598=>742,1599=>742,1600=>408,1601=>858,1602=>635,1603=>446,1604=>601,1605=>489,1606=>591,1607=>424,1608=>329,1609=>742,1610=>742,1611=>0,1612=>0,1613=>0,1614=>0,1615=>0,1616=>0,1617=>0,1618=>0,1619=>0,1620=>0,1621=>0,1622=>0,1623=>0,1624=>0,1625=>0,1626=>0,1627=>0,1628=>0,1629=>0,1630=>0,1631=>0,1632=>500,1633=>500,1634=>500,1635=>500,1636=>500,1637=>500,1638=>500,1639=>500,1640=>500,1641=>500,1642=>449,1643=>212,1644=>235,1645=>487,1646=>899,1647=>665,1648=>0,1649=>264,1650=>264,1651=>264,1652=>300,1653=>356,1654=>472,1655=>462,1656=>752,1657=>897,1658=>897,1659=>897,1660=>897,1661=>897,1662=>899,1663=>897,1664=>897,1665=>655,1666=>655,1667=>655,1668=>655,1669=>655,1670=>655,1671=>655,1672=>397,1673=>397,1674=>397,1675=>397,1676=>397,1677=>397,1678=>397,1679=>397,1680=>397,1681=>358,1682=>358,1683=>355,1684=>358,1685=>520,1686=>358,1687=>345,1688=>345,1689=>345,1690=>901,1691=>901,1692=>901,1693=>909,1694=>909,1695=>557,1696=>595,1697=>858,1698=>858,1699=>858,1700=>858,1701=>858,1702=>858,1703=>635,1704=>665,1705=>901,1706=>1108,1707=>901,1708=>446,1709=>446,1710=>446,1711=>901,1712=>901,1713=>901,1714=>901,1715=>901,1716=>901,1717=>601,1718=>601,1719=>601,1720=>601,1721=>591,1722=>591,1723=>591,1724=>591,1725=>591,1726=>470,1727=>655,1728=>394,1729=>399,1730=>399,1731=>399,1732=>329,1733=>329,1734=>329,1735=>329,1736=>329,1737=>329,1738=>329,1739=>329,1740=>742,1741=>776,1742=>742,1743=>329,1744=>742,1745=>742,1746=>752,1747=>752,1748=>395,1749=>394,1750=>0,1751=>0,1752=>0,1753=>0,1754=>0,1755=>0,1756=>0,1757=>1132,1758=>970,1759=>0,1760=>0,1761=>0,1762=>0,1763=>0,1764=>321,1765=>329,1766=>500,1767=>0,1768=>0,1769=>760,1770=>0,1771=>0,1772=>0,1773=>0,1774=>397,1775=>338,1776=>500,1777=>500,1778=>500,1779=>500,1780=>500,1781=>500,1782=>500,1783=>500,1784=>500,1785=>500,1786=>901,1787=>909,1788=>602,1789=>300,1790=>300,1791=>447,1872=>897,1873=>897,1874=>897,1875=>897,1876=>897,1877=>897,1878=>897,1879=>655,1880=>655,1881=>397,1882=>397,1883=>418,1884=>901,1885=>595,1886=>595,1887=>595,1888=>858,1889=>858,1890=>901,1891=>901,1892=>901,1893=>489,1894=>489,1895=>591,1896=>591,1897=>591,1898=>658,1899=>358,1900=>358,1901=>901,1902=>655,1903=>655,1904=>901,1905=>358,1906=>655,1907=>264,1908=>264,1909=>742,1910=>742,1911=>792,1912=>329,1913=>329,1914=>752,1915=>752,1916=>655,1917=>901,1918=>901,1919=>446,1920=>450,1921=>501,1922=>582,1923=>544,1924=>482,1925=>433,1926=>448,1927=>462,1928=>474,1929=>471,1930=>469,1931=>537,1932=>499,1933=>514,1934=>471,1935=>572,1936=>880,1937=>440,1938=>476,1939=>594,1940=>469,1941=>448,1942=>441,1943=>519,1944=>573,1945=>459,1946=>447,1947=>496,1948=>541,1949=>887,1950=>883,1951=>964,1952=>558,1953=>505,1954=>471,1955=>554,1956=>459,1957=>486,1958=>36,1959=>36,1960=>43,1961=>45,1962=>43,1963=>45,1964=>45,1965=>45,1966=>45,1967=>45,1968=>0,1969=>412,2304=>0,2305=>0,2306=>0,2307=>398,2308=>862,2309=>862,2310=>1092,2311=>575,2312=>575,2313=>597,2314=>848,2315=>968,2316=>828,2317=>655,2318=>655,2319=>655,2320=>655,2321=>1092,2322=>1092,2323=>1092,2324=>1092,2325=>744,2326=>798,2327=>695,2328=>695,2329=>773,2330=>735,2331=>888,2332=>814,2333=>834,2334=>735,2335=>629,2336=>629,2337=>674,2338=>609,2339=>695,2340=>655,2341=>695,2342=>589,2343=>695,2344=>655,2345=>655,2346=>615,2347=>789,2348=>622,2349=>695,2350=>695,2351=>695,2352=>495,2353=>495,2354=>788,2355=>848,2356=>848,2357=>622,2358=>788,2359=>615,2360=>735,2361=>609,2362=>341,2363=>342,2364=>0,2365=>570,2366=>342,2367=>342,2368=>342,2369=>0,2370=>0,2371=>0,2372=>0,2373=>0,2374=>0,2375=>0,2376=>0,2377=>342,2378=>342,2379=>342,2380=>342,2381=>0,2382=>442,2383=>342,2384=>1047,2385=>0,2386=>0,2387=>0,2388=>0,2389=>0,2390=>0,2391=>0,2392=>744,2393=>798,2394=>695,2395=>864,2396=>674,2397=>609,2398=>789,2399=>695,2400=>968,2401=>828,2402=>0,2403=>0,2404=>475,2405=>730,2406=>455,2407=>419,2408=>569,2409=>509,2410=>701,2411=>628,2412=>569,2413=>701,2414=>608,2415=>608,2416=>625,2417=>398,2418=>862,2419=>862,2420=>1092,2421=>1092,2422=>862,2423=>862,2425=>814,2426=>695,2427=>655,2428=>814,2429=>628,2430=>674,2431=>622,2561=>0,2562=>0,2563=>385,2565=>781,2566=>982,2567=>789,2568=>860,2569=>559,2570=>559,2575=>589,2576=>781,2579=>559,2580=>781,2581=>538,2582=>650,2583=>650,2584=>781,2585=>589,2586=>589,2587=>699,2588=>650,2589=>589,2590=>589,2591=>589,2592=>589,2593=>559,2594=>589,2595=>589,2596=>559,2597=>650,2598=>589,2599=>650,2600=>626,2602=>650,2603=>570,2604=>650,2605=>559,2606=>650,2607=>781,2608=>490,2610=>626,2611=>626,2613=>589,2614=>650,2616=>650,2617=>490,2620=>0,2622=>320,2623=>260,2624=>320,2625=>0,2626=>0,2631=>0,2632=>0,2635=>0,2636=>0,2637=>0,2641=>0,2649=>650,2650=>650,2651=>650,2652=>559,2654=>570,2662=>420,2663=>350,2664=>490,2665=>434,2666=>574,2667=>455,2668=>452,2669=>490,2670=>504,2671=>504,2672=>0,2673=>0,2674=>589,2675=>559,2676=>808,2677=>0,3458=>254,3459=>254,3461=>616,3462=>932,3463=>908,3464=>907,3465=>626,3466=>624,3467=>763,3468=>1119,3469=>1029,3470=>1311,3471=>1050,3472=>1477,3473=>677,3474=>746,3475=>1338,3476=>741,3477=>741,3478=>1180,3482=>894,3483=>715,3484=>715,3485=>719,3486=>741,3487=>834,3488=>719,3489=>677,3490=>677,3491=>1302,3492=>1005,3493=>919,3494=>681,3495=>719,3496=>677,3497=>741,3498=>677,3499=>1123,3500=>743,3501=>779,3502=>677,3503=>444,3504=>741,3505=>921,3507=>444,3508=>677,3509=>677,3510=>715,3511=>787,3512=>719,3513=>741,3514=>719,3515=>604,3517=>763,3520=>719,3521=>715,3522=>677,3523=>719,3524=>787,3525=>763,3526=>677,3530=>0,3535=>329,3536=>319,3537=>319,3538=>0,3539=>0,3540=>0,3542=>0,3544=>329,3545=>691,3546=>1062,3547=>1333,3548=>1278,3549=>1235,3550=>1292,3551=>461,3570=>680,3571=>481,3572=>948,3585=>590,3586=>578,3587=>661,3588=>592,3589=>592,3590=>699,3591=>447,3592=>534,3593=>692,3594=>578,3595=>659,3596=>899,3597=>804,3598=>633,3599=>637,3600=>484,3601=>730,3602=>876,3603=>915,3604=>592,3605=>592,3606=>578,3607=>670,3608=>542,3609=>671,3610=>621,3611=>618,3612=>621,3613=>617,3614=>708,3615=>708,3616=>637,3617=>589,3618=>552,3619=>484,3620=>590,3621=>569,3622=>637,3623=>526,3624=>599,3625=>802,3626=>579,3627=>668,3628=>778,3629=>560,3630=>514,3631=>510,3632=>412,3633=>0,3634=>423,3635=>452,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>665,3648=>357,3649=>624,3650=>529,3651=>486,3652=>475,3653=>423,3654=>500,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>657,3664=>548,3665=>548,3666=>592,3667=>614,3668=>631,3669=>643,3670=>508,3671=>744,3672=>622,3673=>585,3674=>721,3675=>1381,4256=>540,4257=>544,4258=>639,4259=>718,4260=>553,4261=>545,4262=>541,4263=>810,4264=>540,4265=>541,4266=>921,4267=>540,4268=>529,4269=>810,4270=>540,4271=>540,4272=>810,4273=>545,4274=>642,4275=>643,4276=>659,4277=>538,4278=>718,4279=>541,4280=>592,4281=>535,4282=>586,4283=>540,4284=>628,4285=>521,4286=>548,4287=>630,4288=>541,4289=>541,4290=>660,4291=>544,4292=>542,4293=>498,4304=>522,4305=>518,4306=>621,4307=>716,4308=>517,4309=>519,4310=>518,4311=>796,4312=>518,4313=>518,4314=>934,4315=>517,4316=>519,4317=>787,4318=>515,4319=>514,4320=>788,4321=>573,4322=>620,4323=>593,4324=>639,4325=>516,4326=>714,4327=>518,4328=>572,4329=>518,4330=>555,4331=>518,4332=>559,4333=>509,4334=>572,4335=>677,4336=>523,4337=>517,4338=>595,4339=>480,4340=>519,4341=>484,4342=>838,4343=>517,4344=>516,4345=>621,4346=>522,4347=>450,4348=>389,5024=>718,5025=>768,5026=>633,5027=>878,5028=>1001,5029=>371,5030=>576,5031=>754,5032=>531,5033=>774,5034=>692,5035=>499,5036=>668,5037=>829,5038=>575,5039=>681,5040=>485,5041=>607,5042=>885,5043=>974,5044=>588,5045=>583,5046=>726,5047=>947,5048=>558,5049=>832,5050=>1096,5051=>780,5052=>595,5053=>869,5054=>752,5055=>710,5056=>761,5057=>802,5058=>760,5059=>656,5060=>655,5061=>982,5062=>684,5063=>801,5064=>805,5065=>1042,5066=>755,5067=>612,5068=>707,5069=>889,5070=>584,5071=>623,5072=>536,5073=>763,5074=>763,5075=>581,5076=>1052,5077=>600,5078=>730,5079=>714,5080=>714,5081=>697,5082=>543,5083=>943,5084=>718,5085=>630,5086=>660,5087=>692,5088=>841,5089=>861,5090=>617,5091=>733,5092=>898,5093=>896,5094=>781,5095=>612,5096=>830,5097=>948,5098=>886,5099=>757,5100=>796,5101=>578,5102=>601,5103=>797,5104=>623,5105=>886,5106=>730,5107=>827,5108=>648,7424=>474,7425=>775,7426=>703,7427=>507,7428=>492,7429=>546,7430=>546,7431=>487,7432=>440,7433=>299,7434=>389,7435=>556,7436=>483,7437=>683,7438=>502,7439=>552,7440=>492,7441=>534,7442=>507,7443=>663,7444=>717,7445=>384,7446=>552,7447=>552,7448=>471,7449=>539,7450=>538,7451=>448,7452=>522,7453=>508,7454=>680,7455=>510,7456=>474,7457=>696,7458=>423,7459=>409,7460=>463,7461=>681,7462=>410,7463=>476,7464=>553,7465=>432,7466=>630,7467=>536,7468=>474,7469=>774,7470=>507,7471=>507,7472=>546,7473=>487,7474=>487,7475=>549,7476=>582,7477=>293,7478=>389,7479=>556,7480=>483,7481=>683,7482=>502,7483=>502,7484=>552,7485=>350,7486=>471,7487=>538,7488=>448,7489=>522,7490=>696,7491=>336,7492=>336,7493=>346,7494=>460,7495=>364,7496=>367,7497=>294,7498=>294,7499=>283,7500=>283,7501=>334,7502=>181,7503=>372,7504=>555,7505=>355,7506=>334,7507=>290,7508=>1000,7509=>1000,7510=>366,7511=>232,7512=>369,7513=>356,7514=>560,7515=>333,7516=>452,7517=>360,7518=>361,7519=>367,7520=>440,7521=>331,7522=>181,7523=>300,7524=>369,7525=>333,7526=>363,7527=>361,7528=>363,7529=>440,7530=>331,7543=>500,7544=>513,7579=>347,7580=>297,7581=>315,7582=>331,7583=>284,7584=>260,7585=>260,7586=>334,7587=>367,7588=>199,7589=>229,7590=>196,7591=>196,7592=>290,7593=>246,7595=>317,7596=>527,7597=>559,7598=>401,7599=>424,7600=>334,7601=>329,7602=>452,7603=>250,7604=>322,7605=>237,7606=>374,7607=>356,7608=>354,7609=>351,7610=>325,7611=>277,7612=>437,7613=>316,7614=>327,7615=>328,7680=>721,7681=>500,7682=>658,7683=>545,7684=>658,7685=>545,7686=>658,7687=>545,7688=>708,7689=>435,7690=>731,7691=>552,7692=>731,7693=>552,7694=>731,7695=>552,7696=>724,7697=>556,7698=>731,7699=>552,7700=>667,7701=>444,7702=>667,7703=>444,7704=>671,7705=>444,7706=>671,7707=>444,7708=>667,7709=>444,7710=>617,7711=>393,7712=>776,7713=>500,7714=>778,7715=>554,7716=>778,7717=>554,7718=>778,7719=>554,7720=>774,7721=>556,7722=>778,7723=>554,7724=>390,7725=>299,7726=>389,7727=>299,7728=>774,7729=>555,7730=>774,7731=>555,7732=>774,7733=>555,7734=>668,7735=>277,7736=>668,7737=>277,7738=>668,7739=>277,7740=>668,7741=>277,7742=>947,7743=>832,7744=>947,7745=>832,7746=>947,7747=>832,7748=>725,7749=>554,7750=>725,7751=>554,7752=>725,7753=>554,7754=>725,7755=>554,7756=>778,7757=>501,7758=>778,7759=>501,7760=>778,7761=>501,7762=>778,7763=>501,7764=>639,7765=>545,7766=>639,7767=>545,7768=>719,7769=>427,7770=>719,7771=>427,7772=>719,7773=>427,7774=>719,7775=>427,7776=>568,7777=>406,7778=>568,7779=>406,7780=>556,7781=>406,7782=>556,7783=>406,7784=>568,7785=>406,7786=>645,7787=>335,7788=>645,7789=>335,7790=>645,7791=>335,7792=>645,7793=>335,7794=>725,7795=>564,7796=>725,7797=>564,7798=>725,7799=>564,7800=>722,7801=>564,7802=>722,7803=>564,7804=>705,7805=>482,7806=>705,7807=>482,7808=>982,7809=>702,7810=>982,7811=>702,7812=>982,7813=>702,7814=>982,7815=>702,7816=>982,7817=>702,7818=>713,7819=>508,7820=>713,7821=>508,7822=>704,7823=>482,7824=>646,7825=>444,7826=>646,7827=>444,7828=>646,7829=>444,7830=>554,7831=>335,7832=>702,7833=>482,7834=>507,7835=>337,7836=>333,7837=>333,7838=>792,7839=>534,7840=>721,7841=>500,7842=>721,7843=>500,7844=>721,7845=>500,7846=>721,7847=>500,7848=>721,7849=>500,7850=>722,7851=>500,7852=>721,7853=>500,7854=>722,7855=>500,7856=>722,7857=>500,7858=>722,7859=>603,7860=>722,7861=>500,7862=>721,7863=>500,7864=>671,7865=>444,7866=>671,7867=>444,7868=>671,7869=>444,7870=>671,7871=>444,7872=>671,7873=>444,7874=>671,7875=>444,7876=>667,7877=>444,7878=>671,7879=>444,7880=>390,7881=>299,7882=>390,7883=>299,7884=>778,7885=>501,7886=>778,7887=>501,7888=>778,7889=>501,7890=>778,7891=>501,7892=>778,7893=>501,7894=>778,7895=>501,7896=>778,7897=>501,7898=>774,7899=>574,7900=>774,7901=>574,7902=>774,7903=>549,7904=>793,7905=>574,7906=>793,7907=>574,7908=>725,7909=>564,7910=>725,7911=>564,7912=>838,7913=>672,7914=>838,7915=>672,7916=>825,7917=>659,7918=>768,7919=>620,7920=>768,7921=>620,7922=>704,7923=>482,7924=>704,7925=>482,7926=>704,7927=>482,7928=>704,7929=>482,7936=>605,7937=>605,7938=>605,7939=>605,7940=>605,7941=>605,7942=>605,7943=>605,7944=>721,7945=>721,7946=>830,7947=>833,7948=>761,7949=>798,7950=>721,7951=>721,7952=>440,7953=>440,7954=>440,7955=>440,7956=>440,7957=>440,7960=>817,7961=>826,7962=>944,7963=>970,7964=>964,7965=>1009,7968=>605,7969=>605,7970=>605,7971=>605,7972=>605,7973=>605,7974=>605,7975=>605,7976=>926,7977=>921,7978=>1038,7979=>1064,7980=>1092,7981=>1102,7982=>1005,7983=>991,7984=>330,7985=>330,7986=>330,7987=>330,7988=>330,7989=>330,7990=>330,7991=>330,7992=>534,7993=>541,7994=>653,7995=>659,7996=>705,7997=>714,7998=>612,7999=>614,8000=>550,8001=>550,8002=>550,8003=>550,8004=>550,8005=>550,8008=>885,8009=>886,8010=>1038,8011=>1052,8012=>997,8013=>1021,8016=>550,8017=>550,8018=>550,8019=>550,8020=>550,8021=>550,8022=>550,8023=>550,8025=>870,8027=>1014,8029=>1043,8031=>944,8032=>715,8033=>715,8034=>715,8035=>715,8036=>715,8037=>715,8038=>715,8039=>715,8040=>905,8041=>913,8042=>1066,8043=>1085,8044=>1034,8045=>1044,8046=>980,8047=>961,8048=>605,8049=>605,8050=>440,8051=>440,8052=>605,8053=>605,8054=>330,8055=>330,8056=>550,8057=>550,8058=>550,8059=>550,8060=>715,8061=>715,8064=>605,8065=>605,8066=>605,8067=>605,8068=>605,8069=>605,8070=>605,8071=>605,8072=>886,8073=>887,8074=>985,8075=>993,8076=>937,8077=>956,8078=>874,8079=>878,8080=>605,8081=>605,8082=>605,8083=>605,8084=>605,8085=>605,8086=>605,8087=>605,8088=>1096,8089=>1092,8090=>1223,8091=>1250,8092=>1270,8093=>1283,8094=>1174,8095=>1162,8096=>715,8097=>715,8098=>715,8099=>715,8100=>715,8101=>715,8102=>715,8103=>715,8104=>1057,8105=>1073,8106=>1228,8107=>1251,8108=>1202,8109=>1210,8110=>1151,8111=>1131,8112=>605,8113=>605,8114=>605,8115=>605,8116=>605,8118=>605,8119=>605,8120=>721,8121=>721,8122=>721,8123=>721,8124=>883,8125=>500,8126=>0,8127=>500,8128=>500,8129=>550,8130=>605,8131=>605,8132=>605,8134=>605,8135=>605,8136=>790,8137=>830,8138=>909,8139=>931,8140=>950,8141=>500,8142=>500,8143=>500,8144=>330,8145=>330,8146=>330,8147=>330,8150=>330,8151=>330,8152=>390,8153=>390,8154=>506,8155=>550,8157=>500,8158=>500,8159=>500,8160=>550,8161=>550,8162=>550,8163=>550,8164=>550,8165=>550,8166=>550,8167=>550,8168=>738,8169=>738,8170=>858,8171=>880,8172=>764,8173=>550,8174=>550,8175=>500,8178=>715,8179=>715,8180=>715,8182=>715,8183=>715,8184=>884,8185=>857,8186=>927,8187=>892,8188=>988,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>500,8200=>250,8201=>166,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>500,8211=>500,8212=>1000,8213=>1000,8214=>333,8215=>478,8216=>250,8217=>250,8218=>250,8219=>250,8220=>500,8221=>500,8222=>500,8223=>500,8224=>500,8225=>500,8226=>500,8227=>500,8228=>250,8229=>500,8230=>1000,8231=>250,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>166,8240=>1000,8241=>1588,8242=>250,8243=>492,8244=>714,8245=>270,8246=>484,8247=>693,8248=>469,8249=>333,8250=>333,8251=>727,8252=>666,8253=>695,8254=>500,8255=>953,8256=>953,8257=>338,8258=>931,8259=>500,8260=>167,8261=>332,8262=>332,8263=>1000,8264=>833,8265=>833,8266=>500,8267=>540,8268=>600,8269=>600,8270=>500,8271=>333,8272=>953,8273=>500,8274=>497,8275=>576,8276=>953,8277=>785,8278=>450,8279=>881,8280=>620,8281=>620,8282=>179,8283=>621,8284=>569,8285=>179,8286=>179,8287=>111,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>300,8305=>185,8308=>300,8309=>300,8310=>300,8311=>300,8312=>300,8313=>300,8314=>300,8315=>300,8316=>300,8317=>216,8318=>216,8319=>373,8320=>300,8321=>274,8322=>300,8323=>300,8324=>300,8325=>300,8326=>300,8327=>300,8328=>300,8329=>300,8330=>300,8331=>300,8332=>300,8333=>216,8334=>216,8336=>336,8337=>294,8338=>334,8339=>333,8340=>308,8352=>710,8353=>722,8354=>783,8355=>611,8356=>500,8357=>833,8358=>722,8359=>960,8360=>1101,8361=>1000,8362=>889,8363=>532,8364=>761,8365=>742,8366=>631,8367=>1435,8368=>579,8369=>609,8370=>639,8371=>660,8372=>556,8373=>500,8376=>524,8377=>675,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8421=>0,8423=>0,8424=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8448=>694,8449=>692,8451=>1009,8453=>687,8454=>717,8455=>622,8456=>709,8457=>923,8458=>500,8459=>1035,8462=>556,8463=>556,8464=>952,8465=>637,8466=>800,8467=>457,8468=>835,8470=>896,8471=>855,8472=>644,8475=>757,8476=>905,8478=>722,8479=>722,8480=>991,8481=>1186,8482=>1086,8483=>722,8486=>771,8487=>771,8489=>333,8490=>774,8491=>721,8492=>806,8494=>551,8495=>444,8497=>873,8498=>617,8499=>1203,8501=>593,8502=>498,8503=>339,8504=>523,8506=>906,8507=>1181,8523=>778,8525=>1048,8526=>408,8531=>800,8532=>800,8533=>800,8534=>800,8535=>800,8536=>800,8537=>800,8538=>800,8539=>800,8540=>800,8541=>800,8542=>800,8543=>800,8544=>390,8545=>760,8546=>1138,8547=>1098,8548=>705,8549=>1098,8550=>1474,8551=>1850,8552=>1096,8553=>713,8554=>1095,8555=>1472,8556=>668,8557=>708,8558=>731,8559=>947,8560=>299,8561=>560,8562=>827,8563=>758,8564=>482,8565=>769,8566=>1033,8567=>1293,8568=>768,8569=>508,8570=>783,8571=>1049,8572=>277,8573=>435,8574=>552,8575=>832,8592=>900,8593=>523,8594=>900,8595=>523,8596=>900,8597=>523,8598=>900,8599=>900,8600=>900,8601=>900,8602=>900,8603=>900,8604=>1152,8605=>1152,8606=>900,8607=>523,8608=>900,8609=>523,8610=>1000,8611=>1000,8612=>900,8613=>552,8614=>900,8615=>552,8616=>524,8617=>900,8618=>900,8619=>900,8620=>900,8621=>1168,8622=>900,8624=>622,8625=>622,8630=>1069,8631=>1060,8632=>964,8633=>964,8634=>980,8635=>980,8636=>964,8637=>964,8638=>557,8639=>556,8640=>964,8641=>964,8642=>557,8643=>556,8644=>964,8645=>964,8646=>964,8647=>964,8648=>964,8649=>964,8650=>964,8651=>964,8652=>964,8653=>964,8654=>964,8655=>964,8656=>964,8657=>630,8658=>964,8659=>630,8660=>964,8661=>630,8662=>1063,8663=>1063,8664=>1063,8665=>1063,8666=>964,8667=>964,8668=>1100,8669=>1100,8672=>964,8674=>964,8676=>964,8677=>964,8704=>627,8705=>548,8706=>558,8707=>627,8708=>627,8709=>746,8710=>759,8711=>759,8712=>576,8713=>576,8714=>439,8715=>576,8716=>576,8717=>439,8718=>500,8719=>812,8720=>812,8721=>713,8722=>676,8723=>676,8724=>676,8725=>540,8726=>540,8727=>500,8728=>500,8729=>500,8730=>550,8731=>550,8732=>550,8733=>752,8734=>752,8735=>509,8736=>555,8737=>555,8738=>555,8739=>240,8740=>531,8741=>478,8742=>705,8743=>694,8744=>694,8745=>694,8746=>694,8747=>493,8748=>793,8749=>1103,8756=>629,8757=>629,8760=>676,8761=>947,8763=>676,8764=>676,8765=>676,8766=>803,8768=>305,8769=>676,8770=>676,8771=>676,8773=>676,8776=>676,8777=>676,8778=>676,8781=>676,8782=>676,8783=>676,8784=>676,8785=>676,8786=>676,8787=>676,8788=>947,8789=>947,8790=>676,8791=>676,8796=>676,8800=>570,8801=>676,8802=>676,8804=>570,8805=>570,8806=>676,8807=>676,8808=>676,8809=>676,8810=>1047,8811=>1047,8812=>450,8813=>676,8814=>676,8815=>676,8816=>676,8817=>676,8818=>676,8819=>676,8820=>676,8821=>676,8822=>676,8823=>676,8824=>676,8825=>676,8826=>676,8827=>676,8828=>676,8829=>676,8830=>676,8831=>676,8832=>676,8833=>676,8834=>676,8835=>676,8836=>676,8837=>676,8838=>676,8839=>676,8840=>676,8841=>676,8842=>676,8843=>676,8846=>694,8847=>676,8848=>676,8849=>676,8850=>676,8851=>694,8852=>694,8853=>738,8854=>738,8855=>738,8856=>738,8857=>738,8858=>738,8859=>738,8861=>738,8862=>678,8863=>678,8864=>678,8865=>678,8866=>487,8867=>487,8868=>752,8869=>752,8871=>487,8873=>659,8874=>831,8876=>587,8877=>587,8878=>759,8879=>759,8882=>676,8883=>676,8884=>676,8885=>676,8886=>1380,8887=>1380,8888=>1027,8890=>626,8891=>694,8892=>694,8893=>694,8900=>512,8903=>676,8904=>759,8905=>632,8906=>632,8907=>831,8908=>831,8909=>676,8910=>734,8911=>734,8912=>676,8913=>676,8914=>694,8915=>694,8916=>694,8918=>676,8919=>676,8920=>1441,8921=>1441,8922=>676,8923=>676,8924=>676,8925=>676,8926=>676,8927=>676,8928=>676,8929=>676,8930=>676,8931=>676,8934=>676,8935=>676,8936=>676,8937=>676,8938=>676,8939=>676,8940=>676,8941=>676,8960=>737,8968=>411,8969=>411,8970=>411,8971=>411,8976=>680,8994=>951,8995=>951,9001=>398,9002=>398,9251=>500,9472=>1000,9473=>1000,9474=>1000,9475=>1000,9476=>1000,9477=>1000,9478=>1000,9479=>1000,9480=>1000,9481=>1000,9482=>1000,9483=>1000,9484=>1000,9485=>1000,9486=>1000,9487=>1000,9488=>1000,9489=>1000,9490=>1000,9491=>1000,9492=>1000,9493=>1000,9494=>1000,9495=>1000,9496=>1000,9497=>1000,9498=>1000,9499=>1000,9500=>1000,9501=>1000,9502=>1000,9503=>1000,9504=>1000,9505=>1000,9506=>1000,9507=>1000,9508=>1000,9509=>1000,9510=>1000,9511=>1000,9512=>1000,9513=>1000,9514=>1000,9515=>1000,9516=>1000,9517=>1000,9518=>1000,9519=>1000,9520=>1000,9521=>1000,9522=>1000,9523=>1000,9524=>1000,9525=>1000,9526=>1000,9527=>1000,9528=>1000,9529=>1000,9530=>1000,9531=>1000,9532=>1000,9533=>1000,9534=>1000,9535=>1000,9536=>1000,9537=>1000,9538=>1000,9539=>1000,9540=>1000,9541=>1000,9542=>1000,9543=>1000,9544=>1000,9545=>1000,9546=>1000,9547=>1000,9552=>1000,9553=>1000,9554=>1000,9555=>1000,9556=>1000,9557=>1000,9558=>1000,9559=>1000,9560=>1000,9561=>1000,9562=>1000,9563=>1000,9564=>1000,9565=>1000,9566=>1000,9567=>1000,9568=>1000,9569=>1000,9570=>1000,9571=>1000,9572=>1000,9573=>1000,9574=>1000,9575=>1000,9576=>1000,9577=>1000,9578=>1000,9579=>1000,9580=>1000,9600=>1000,9601=>1000,9602=>1000,9603=>1000,9604=>1000,9605=>1000,9606=>1000,9607=>1000,9608=>1000,9609=>1000,9610=>1000,9611=>1000,9612=>1000,9613=>1000,9614=>1000,9615=>1000,9616=>1000,9617=>1000,9618=>1000,9619=>1000,9620=>1000,9621=>1000,9622=>1000,9623=>1000,9624=>1000,9625=>1000,9626=>1000,9627=>1000,9628=>1000,9629=>1000,9630=>1000,9631=>1000,9632=>678,9633=>678,9642=>309,9644=>825,9645=>825,9646=>678,9647=>678,9650=>840,9651=>681,9654=>681,9655=>681,9660=>681,9661=>681,9664=>681,9665=>681,9670=>580,9671=>580,9674=>494,9675=>791,9676=>791,9679=>738,9688=>500,9702=>500,9711=>855,9733=>1003,9734=>1003,9824=>618,9825=>645,9826=>587,9827=>582,9828=>582,9829=>645,9830=>587,9831=>618,9833=>333,9834=>556,9835=>778,9836=>778,9837=>556,9838=>556,9839=>556,10214=>561,10215=>561,11392=>760,11393=>568,11394=>545,11395=>444,11396=>598,11397=>433,11398=>1039,11399=>760,11400=>681,11401=>502,11402=>572,11403=>405,11404=>583,11405=>463,11406=>698,11407=>529,11408=>754,11409=>555,11410=>338,11411=>258,11412=>688,11413=>524,11414=>700,11415=>521,11416=>799,11417=>609,11418=>708,11419=>537,11420=>546,11421=>411,11422=>778,11423=>541,11424=>724,11425=>524,11426=>545,11427=>446,11428=>676,11429=>498,11430=>615,11431=>433,11432=>759,11433=>589,11434=>800,11435=>670,11436=>669,11437=>512,11438=>801,11439=>609,11440=>1003,11441=>743,11517=>266,11518=>617,11519=>307,11799=>333,42560=>657,42561=>444,42571=>494,42576=>1114,42577=>887,42580=>1107,42581=>758,42582=>1085,42583=>768,42600=>778,42601=>501,42790=>774,42791=>551,42792=>953,42793=>752,42794=>652,42795=>452,42796=>478,42797=>422,42798=>662,42799=>612,42888=>333,42889=>278,42890=>282,42891=>349,42892=>278,42893=>774,42896=>722,42897=>556,42922=>925,43002=>832,64256=>670,64257=>565,64258=>558,64259=>842,64260=>835,64261=>611,64262=>738,64275=>1105,64276=>1105,64277=>1099,64278=>1105,64279=>1361,64285=>266,64286=>0,64287=>532,64288=>552,64297=>570,64298=>716,64299=>716,64300=>716,64301=>716,64302=>593,64303=>593,64304=>593,64305=>498,64306=>339,64307=>523,64308=>561,64309=>266,64310=>291,64312=>576,64313=>266,64314=>496,64315=>501,64316=>510,64318=>581,64320=>347,64321=>512,64323=>493,64324=>491,64326=>561,64327=>544,64328=>502,64329=>716,64330=>571,64331=>266,64332=>498,64333=>501,64334=>491,64335=>593,64336=>264,64337=>247,64338=>897,64339=>897,64340=>328,64341=>338,64342=>898,64343=>898,64344=>328,64345=>335,64346=>897,64347=>897,64348=>338,64349=>338,64350=>897,64351=>897,64352=>328,64353=>338,64354=>897,64355=>897,64356=>348,64357=>338,64358=>897,64359=>897,64360=>328,64361=>338,64362=>858,64363=>858,64364=>360,64365=>328,64366=>858,64367=>858,64368=>360,64369=>328,64370=>655,64371=>688,64372=>597,64373=>597,64374=>655,64375=>688,64376=>597,64377=>597,64378=>655,64379=>688,64380=>597,64381=>597,64382=>655,64383=>750,64384=>597,64385=>597,64386=>440,64387=>397,64388=>397,64389=>397,64390=>397,64391=>397,64392=>397,64393=>397,64394=>345,64395=>345,64396=>338,64397=>338,64398=>901,64399=>950,64400=>453,64401=>489,64402=>901,64403=>950,64404=>451,64405=>489,64406=>901,64407=>950,64408=>451,64409=>489,64410=>901,64411=>950,64412=>451,64413=>489,64414=>591,64415=>591,64416=>591,64417=>591,64418=>328,64419=>333,64420=>394,64421=>423,64422=>424,64423=>399,64424=>314,64425=>314,64426=>470,64427=>470,64428=>470,64429=>486,64430=>752,64431=>752,64432=>752,64433=>752,64434=>344,64435=>344,64436=>484,64437=>484,64438=>508,64439=>508,64440=>508,64441=>508,64442=>565,64443=>508,64444=>335,64445=>344,64446=>344,64447=>342,64448=>354,64449=>354,64467=>648,64468=>648,64469=>453,64470=>489,64471=>359,64472=>329,64473=>359,64474=>329,64475=>359,64476=>329,64477=>462,64478=>329,64479=>329,64480=>329,64481=>329,64482=>329,64483=>329,64484=>742,64485=>725,64486=>301,64487=>339,64488=>301,64489=>339,64508=>742,64509=>725,64510=>301,64511=>275,65010=>1048,65020=>1135,65136=>300,65137=>408,65138=>373,65139=>373,65140=>300,65142=>300,65143=>408,65144=>300,65145=>408,65146=>300,65147=>408,65148=>300,65149=>408,65150=>351,65151=>408,65152=>350,65153=>264,65154=>247,65155=>264,65156=>247,65157=>329,65158=>329,65159=>264,65160=>247,65161=>742,65162=>725,65163=>301,65164=>339,65165=>264,65166=>247,65167=>899,65168=>957,65169=>328,65170=>340,65171=>424,65172=>423,65173=>897,65174=>957,65175=>328,65176=>338,65177=>897,65178=>957,65179=>348,65180=>338,65181=>655,65182=>688,65183=>574,65184=>602,65185=>655,65186=>688,65187=>610,65188=>602,65189=>655,65190=>688,65191=>610,65192=>602,65193=>397,65194=>397,65195=>397,65196=>397,65197=>358,65198=>348,65199=>351,65200=>348,65201=>901,65202=>901,65203=>641,65204=>601,65205=>901,65206=>901,65207=>641,65208=>601,65209=>909,65210=>909,65211=>823,65212=>803,65213=>909,65214=>909,65215=>850,65216=>820,65217=>557,65218=>557,65219=>541,65220=>504,65221=>550,65222=>557,65223=>535,65224=>495,65225=>595,65226=>552,65227=>694,65228=>517,65229=>602,65230=>577,65231=>694,65232=>517,65233=>858,65234=>858,65235=>346,65236=>328,65237=>635,65238=>635,65239=>346,65240=>328,65241=>446,65242=>648,65243=>453,65244=>489,65245=>601,65246=>672,65247=>238,65248=>280,65249=>489,65250=>478,65251=>473,65252=>534,65253=>591,65254=>591,65255=>328,65256=>333,65257=>424,65258=>423,65259=>470,65260=>406,65261=>329,65262=>401,65263=>742,65264=>725,65265=>742,65266=>725,65267=>301,65268=>275,65269=>476,65270=>614,65271=>476,65272=>614,65273=>476,65274=>614,65275=>476,65276=>614,65279=>0,65529=>0,65530=>0,65531=>0,65532=>800,65533=>900,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifb.z b/vendor/tecnickcom/tcpdf/fonts/freeserifb.z new file mode 100644 index 0000000..6d9f8b6 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserifb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifbi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freeserifbi.ctg.z new file mode 100644 index 0000000..93abdfc Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserifbi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifbi.php b/vendor/tecnickcom/tcpdf/fonts/freeserifbi.php new file mode 100644 index 0000000..cfb3766 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freeserifbi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-787 -300 1732 900]','ItalicAngle'=>-16.45875,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>669,'XHeight'=>475,'StemV'=>123,'StemH'=>53,'AvgWidth'=>596,'MaxWidth'=>1668,'MissingWidth'=>600); +$cbbox=array(0=>array(6,-81,742,774),33=>array(67,-13,370,684),34=>array(136,398,536,685),35=>array(-33,0,533,700),36=>array(-20,-100,497,733),37=>array(39,-10,793,692),38=>array(5,-19,699,682),39=>array(128,398,268,685),40=>array(28,-179,344,685),41=>array(-44,-179,271,685),42=>array(65,252,456,685),43=>array(33,0,537,506),44=>array(-60,-182,144,134),45=>array(2,166,271,282),46=>array(-9,-13,139,135),47=>array(-4,-18,402,685),48=>array(17,-14,477,683),49=>array(5,0,419,683),50=>array(13,0,486,683),51=>array(5,-13,470,683),52=>array(5,0,523,683),53=>array(9,-13,507,669),54=>array(28,-15,514,679),55=>array(72,0,545,669),56=>array(13,-13,486,683),57=>array(0,-10,487,683),58=>array(23,-13,264,459),59=>array(-25,-183,264,459),60=>array(31,-12,539,518),61=>array(63,107,567,399),62=>array(61,-12,569,518),63=>array(79,-13,470,684),64=>array(62,-19,776,691),65=>array(0,0,660,683),66=>array(0,0,648,669),67=>array(41,-18,686,685),68=>array(0,0,731,669),69=>array(0,0,680,669),70=>array(0,0,673,669),71=>array(44,-18,729,685),72=>array(0,0,823,669),73=>array(0,0,438,669),74=>array(0,-99,570,669),75=>array(0,0,723,669),76=>array(0,0,612,669),77=>array(0,-12,946,669),78=>array(0,-15,775,669),79=>array(36,-18,700,685),80=>array(0,0,640,669),81=>array(33,-208,697,685),82=>array(0,0,652,669),83=>array(0,-18,524,685),84=>array(89,0,689,669),85=>array(107,-18,784,669),86=>array(128,-18,778,669),87=>array(128,-18,1003,669),88=>array(0,0,718,669),89=>array(128,0,714,669),90=>array(0,0,601,669),91=>array(-37,-159,362,674),92=>array(117,-18,397,685),93=>array(-56,-157,343,674),94=>array(67,304,503,669),95=>array(0,-155,500,-75),96=>array(85,516,297,697),97=>array(14,-14,490,462),98=>array(25,-13,483,699),99=>array(24,-13,421,462),100=>array(20,-13,558,699),101=>array(24,-13,417,462),102=>array(-95,-205,520,698),103=>array(-22,-203,508,462),104=>array(20,-9,531,699),105=>array(40,-9,301,685),106=>array(-75,-207,393,685),107=>array(20,-8,526,699),108=>array(42,-9,330,699),109=>array(10,-9,746,462),110=>array(10,-9,509,462),111=>array(25,-13,469,462),112=>array(-81,-205,485,462),113=>array(20,-205,490,462),114=>array(10,0,420,462),115=>array(0,-13,352,462),116=>array(32,-9,324,594),117=>array(35,-9,512,462),118=>array(54,-13,439,462),119=>array(54,-13,652,462),120=>array(-30,-13,485,462),121=>array(-53,-205,433,462),122=>array(0,-78,411,449),123=>array(5,-187,436,686),124=>array(116,-18,204,685),125=>array(-129,-187,302,686),126=>array(54,175,516,331),160=>array(0,0,0,0),161=>array(18,-205,321,492),162=>array(13,-143,410,576),163=>array(8,-12,550,683),164=>array(74,34,626,586),165=>array(125,0,720,669),166=>array(66,-18,154,685),167=>array(36,-143,459,685),168=>array(55,525,397,655),169=>array(30,-18,718,685),170=>array(61,256,390,685),171=>array(12,32,468,415),172=>array(51,108,555,399),173=>array(2,166,271,282),174=>array(30,-18,718,685),175=>array(51,553,393,623),176=>array(172,397,458,683),177=>array(33,0,537,568),178=>array(138,390,449,799),179=>array(133,385,437,803),180=>array(139,516,379,697),181=>array(-40,-207,536,449),182=>array(3,-193,622,669),183=>array(118,157,266,305),184=>array(-80,-218,156,5),185=>array(117,390,388,799),186=>array(57,256,377,685),187=>array(12,32,468,415),188=>array(37,-14,751,683),189=>array(41,-14,773,683),190=>array(48,-14,767,683),191=>array(30,-205,421,492),192=>array(0,0,660,900),193=>array(0,0,660,900),194=>array(0,0,660,897),195=>array(0,0,672,844),196=>array(0,0,660,843),197=>array(0,0,660,900),198=>array(0,0,982,669),199=>array(41,-218,686,685),200=>array(0,0,680,900),201=>array(0,0,680,900),202=>array(0,0,680,897),203=>array(0,0,680,843),204=>array(0,0,438,900),205=>array(0,0,475,900),206=>array(0,0,458,897),207=>array(0,0,476,845),208=>array(0,0,731,669),209=>array(0,-15,775,843),210=>array(36,-18,700,900),211=>array(36,-18,700,900),212=>array(36,-18,700,897),213=>array(36,-18,700,843),214=>array(36,-18,700,842),215=>array(48,16,522,490),216=>array(36,-125,700,764),217=>array(107,-18,784,900),218=>array(107,-18,784,900),219=>array(107,-18,784,897),220=>array(107,-18,784,839),221=>array(128,0,714,900),222=>array(0,0,601,669),223=>array(-75,-200,598,705),224=>array(14,-14,490,697),225=>array(14,-14,490,697),226=>array(14,-14,490,690),227=>array(14,-14,506,628),228=>array(14,-14,490,634),229=>array(14,-14,490,710),230=>array(20,-13,698,462),231=>array(-6,-218,410,462),232=>array(24,-13,417,697),233=>array(24,-13,475,697),234=>array(24,-13,463,690),235=>array(24,-13,483,630),236=>array(40,-9,280,697),237=>array(40,-9,332,697),238=>array(40,-9,370,690),239=>array(40,-9,389,636),240=>array(17,-13,474,699),241=>array(10,-9,531,631),242=>array(25,-13,469,697),243=>array(25,-13,469,697),244=>array(25,-13,471,690),245=>array(25,-13,516,629),246=>array(25,-13,496,636),247=>array(33,-29,537,535),248=>array(25,-119,469,560),249=>array(35,-9,512,697),250=>array(35,-9,521,697),251=>array(35,-9,512,690),252=>array(35,-9,512,633),253=>array(-53,-205,475,697),254=>array(-80,-205,486,699),255=>array(-53,-205,448,633),256=>array(0,0,660,800),257=>array(14,-14,490,603),258=>array(0,0,660,888),259=>array(14,-14,490,678),260=>array(0,-173,796,683),261=>array(14,-173,535,462),262=>array(41,-18,686,900),263=>array(24,-13,474,697),264=>array(41,-18,686,893),265=>array(24,-13,459,686),266=>array(41,-18,686,849),267=>array(24,-13,421,637),268=>array(41,-18,686,900),269=>array(24,-13,518,690),270=>array(0,0,731,900),271=>array(20,-13,735,699),272=>array(0,0,731,669),273=>array(16,-13,577,699),274=>array(0,0,680,800),275=>array(24,-13,459,604),276=>array(0,0,680,881),277=>array(24,-13,483,674),278=>array(0,0,680,865),279=>array(24,-13,417,635),280=>array(0,-173,694,669),281=>array(12,-173,411,462),282=>array(0,0,680,900),283=>array(24,-13,517,690),284=>array(44,-18,729,893),285=>array(-22,-203,508,686),286=>array(44,-18,729,888),287=>array(-22,-203,508,678),288=>array(44,-18,729,849),289=>array(-22,-203,508,632),290=>array(44,-300,729,685),291=>array(-22,-203,508,746),292=>array(0,0,823,893),293=>array(20,-9,553,899),294=>array(0,0,823,669),295=>array(20,-9,531,699),296=>array(0,0,512,838),297=>array(19,-9,404,631),298=>array(0,0,480,800),299=>array(31,-9,373,599),300=>array(0,0,502,881),301=>array(40,-9,385,674),302=>array(0,-173,438,669),303=>array(40,-173,316,685),304=>array(0,0,438,865),305=>array(40,-9,276,462),306=>array(0,-99,904,669),307=>array(37,-207,561,685),308=>array(0,-99,581,893),309=>array(-75,-207,419,686),310=>array(0,-300,723,669),311=>array(20,-297,526,699),312=>array(14,0,534,470),313=>array(0,0,612,900),314=>array(42,-9,392,900),315=>array(0,-300,612,669),316=>array(-36,-300,330,699),317=>array(0,0,655,685),318=>array(42,-9,515,699),319=>array(0,0,612,669),320=>array(42,-9,449,699),321=>array(0,0,612,669),322=>array(37,-9,351,699),323=>array(0,-15,775,900),324=>array(10,-9,511,697),325=>array(0,-300,775,669),326=>array(10,-300,509,462),327=>array(0,-15,775,900),328=>array(10,-9,523,690),329=>array(10,-9,509,761),330=>array(0,-13,827,686),331=>array(10,-207,490,462),332=>array(36,-18,700,801),333=>array(25,-13,487,603),334=>array(36,-18,700,881),335=>array(25,-13,501,674),336=>array(36,-18,711,900),337=>array(25,-13,564,697),338=>array(23,-9,946,677),339=>array(15,-13,683,462),340=>array(0,0,652,900),341=>array(10,0,420,697),342=>array(0,-300,652,669),343=>array(-56,-300,420,462),344=>array(0,0,652,900),345=>array(10,0,449,690),346=>array(0,-25,524,900),347=>array(0,-13,397,697),348=>array(0,-18,524,893),349=>array(0,-13,375,686),350=>array(2,-218,526,685),351=>array(-40,-218,333,462),352=>array(0,-18,524,897),353=>array(0,-13,419,690),354=>array(75,-222,689,669),355=>array(-50,-218,324,594),356=>array(89,0,689,900),357=>array(32,-9,506,685),358=>array(89,0,689,669),359=>array(45,-9,341,594),360=>array(107,-18,784,838),361=>array(35,-9,528,631),362=>array(107,-18,784,800),363=>array(35,-9,515,604),364=>array(107,-18,784,881),365=>array(35,-9,512,674),366=>array(107,-18,784,900),367=>array(35,-9,512,725),368=>array(107,-18,784,900),369=>array(35,-9,571,697),370=>array(67,-173,744,669),371=>array(35,-173,576,462),372=>array(128,-18,1003,893),373=>array(54,-13,652,686),374=>array(128,0,714,893),375=>array(-53,-205,433,686),376=>array(128,0,714,862),377=>array(0,0,601,900),378=>array(0,-78,447,697),379=>array(0,0,601,865),380=>array(0,-78,411,633),381=>array(0,0,601,897),382=>array(0,-78,454,690),383=>array(-95,-205,520,698),384=>array(36,-13,494,699),385=>array(82,0,787,669),386=>array(24,0,711,669),387=>array(31,-13,514,669),388=>array(0,0,596,686),389=>array(46,-13,504,703),390=>array(0,-19,721,691),391=>array(41,-18,955,688),392=>array(14,-13,685,547),393=>array(0,0,731,669),394=>array(79,0,867,669),395=>array(16,0,792,669),396=>array(16,-13,543,669),397=>array(43,-241,528,461),398=>array(0,0,816,669),399=>array(39,-19,646,686),400=>array(13,-19,650,691),401=>array(-95,-207,714,669),402=>array(-95,-205,520,698),403=>array(45,-18,970,688),404=>array(110,-22,704,669),405=>array(17,-12,757,699),406=>array(32,-9,320,699),407=>array(5,0,443,669),408=>array(0,0,833,669),409=>array(0,-8,506,698),410=>array(57,-9,360,699),411=>array(0,-13,499,698),412=>array(41,-17,928,662),413=>array(-95,-207,899,669),414=>array(10,-255,496,462),415=>array(27,-18,691,685),416=>array(27,-18,888,725),417=>array(13,-13,636,590),418=>array(27,-18,996,685),419=>array(13,-13,738,462),420=>array(61,0,758,669),421=>array(-80,-205,486,698),422=>array(0,-196,652,669),423=>array(18,-18,536,685),424=>array(8,-13,320,462),425=>array(28,0,777,669),426=>array(132,-255,418,767),427=>array(-75,-230,368,594),428=>array(50,0,650,669),429=>array(49,-9,470,698),430=>array(100,-255,689,669),431=>array(67,-18,899,725),432=>array(35,-9,734,590),433=>array(21,-16,798,669),434=>array(87,-18,676,687),435=>array(94,0,769,685),436=>array(-54,-205,626,698),437=>array(0,0,601,669),438=>array(0,-78,411,449),439=>array(15,-18,684,669),440=>array(30,-18,682,669),441=>array(0,-217,517,449),442=>array(-32,-215,466,449),443=>array(0,0,507,683),444=>array(15,-18,637,669),445=>array(-56,-233,442,449),446=>array(61,-13,359,594),447=>array(-76,-205,492,462),448=>array(42,-18,280,685),449=>array(42,-18,478,685),450=>array(55,-102,622,608),451=>array(67,-13,370,684),452=>array(0,0,1335,897),453=>array(0,-78,1188,690),454=>array(20,-78,954,699),455=>array(0,-99,1179,669),456=>array(0,-207,947,685),457=>array(42,-207,616,699),458=>array(0,-99,1202,669),459=>array(0,-207,1005,685),460=>array(10,-207,849,685),461=>array(0,0,672,900),462=>array(14,-14,507,676),463=>array(0,0,510,883),464=>array(40,-9,404,676),465=>array(36,-18,700,883),466=>array(25,-13,509,676),467=>array(107,-18,784,883),468=>array(35,-9,538,676),469=>array(67,-15,744,871),470=>array(35,-9,540,763),471=>array(67,-15,744,900),472=>array(35,-9,520,849),473=>array(67,-15,744,900),474=>array(35,-9,557,843),475=>array(67,-15,744,900),476=>array(35,-9,512,852),477=>array(16,-13,409,462),478=>array(0,0,672,900),479=>array(14,-14,519,763),480=>array(-67,0,626,900),481=>array(14,-14,531,742),482=>array(0,0,982,800),483=>array(20,-13,698,572),484=>array(44,-18,729,685),485=>array(-54,-203,528,462),486=>array(44,-18,729,883),487=>array(-22,-203,525,676),488=>array(0,0,723,883),489=>array(20,-8,571,895),490=>array(27,-205,691,685),491=>array(25,-200,469,462),492=>array(27,-205,691,800),493=>array(25,-200,496,607),494=>array(15,-18,684,897),495=>array(-75,-217,466,676),496=>array(-75,-207,378,676),497=>array(0,0,1335,669),498=>array(0,-78,1145,669),499=>array(20,-78,911,699),500=>array(44,-18,729,890),501=>array(-22,-203,508,683),502=>array(0,-13,1006,669),503=>array(0,1,652,686),504=>array(0,-15,775,890),505=>array(10,-9,509,683),506=>array(-67,0,614,900),507=>array(14,-14,528,900),508=>array(0,0,982,890),509=>array(20,-13,698,683),510=>array(36,-125,700,900),511=>array(25,-119,469,683),512=>array(0,0,660,880),513=>array(14,-14,490,687),514=>array(0,0,660,900),515=>array(14,-14,490,685),516=>array(0,0,680,880),517=>array(24,-13,419,687),518=>array(0,0,680,900),519=>array(24,-13,455,685),520=>array(0,0,438,880),521=>array(3,-9,307,687),522=>array(0,0,452,900),523=>array(40,-9,359,685),524=>array(36,-18,700,880),525=>array(25,-13,469,687),526=>array(36,-18,700,900),527=>array(25,-13,469,685),528=>array(0,0,652,880),529=>array(10,0,420,687),530=>array(0,0,652,900),531=>array(10,0,420,685),532=>array(107,-18,784,880),533=>array(35,-9,512,687),534=>array(107,-18,784,900),535=>array(35,-9,512,685),536=>array(0,-300,524,685),537=>array(0,-300,352,462),538=>array(89,-300,689,669),539=>array(-36,-300,324,594),540=>array(45,-58,508,693),541=>array(-11,-239,428,444),542=>array(0,0,823,883),543=>array(20,-9,611,894),544=>array(0,-200,767,685),545=>array(-9,-214,544,699),546=>array(28,-18,604,685),547=>array(24,-13,588,699),548=>array(0,-227,720,676),549=>array(0,-227,493,461),550=>array(0,0,660,839),551=>array(14,-14,490,632),552=>array(0,-222,680,669),553=>array(24,-218,417,462),554=>array(36,-18,700,900),555=>array(25,-13,527,765),556=>array(36,-18,700,900),557=>array(25,-13,530,764),558=>array(36,-18,700,839),559=>array(25,-13,469,632),560=>array(27,-15,691,872),561=>array(25,-13,522,742),562=>array(128,0,714,800),563=>array(-53,-205,436,572),564=>array(-92,-298,350,699),565=>array(6,-216,516,462),566=>array(-93,-294,349,594),567=>array(-75,-207,353,462),568=>array(24,-21,805,700),569=>array(24,-200,806,470),570=>array(-1,-45,746,744),571=>array(8,-45,689,744),572=>array(-6,-45,422,562),573=>array(0,0,612,669),574=>array(38,-45,719,744),575=>array(0,-200,352,462),576=>array(0,-201,424,449),577=>array(6,0,528,685),578=>array(9,0,471,462),579=>array(0,0,648,669),580=>array(88,-18,784,669),581=>array(0,-7,656,680),582=>array(0,-45,704,744),583=>array(-1,-77,456,542),584=>array(0,-99,570,669),585=>array(-75,-207,408,685),586=>array(24,-205,758,686),587=>array(6,-205,540,464),588=>array(0,0,692,669),589=>array(19,0,429,462),590=>array(103,0,724,669),591=>array(-53,-206,438,462),592=>array(64,-14,540,462),593=>array(43,-13,600,462),594=>array(-7,-11,550,464),595=>array(26,-13,484,698),596=>array(3,-14,441,473),597=>array(17,-102,392,451),598=>array(6,-204,544,699),599=>array(7,-13,679,697),600=>array(8,-13,398,462),601=>array(12,-13,405,462),602=>array(2,-13,588,462),603=>array(36,-13,469,462),604=>array(10,-13,450,463),605=>array(15,-13,583,452),606=>array(22,-13,470,466),607=>array(-75,-207,388,462),608=>array(11,-207,691,699),609=>array(-34,-205,478,462),610=>array(20,-13,500,459),611=>array(54,-221,511,462),612=>array(60,-9,601,470),613=>array(54,-246,565,462),614=>array(17,-9,528,697),615=>array(7,-204,495,697),616=>array(26,-9,315,685),617=>array(30,-13,285,449),618=>array(6,0,350,449),619=>array(17,-9,406,699),620=>array(39,-9,394,699),621=>array(-5,-204,320,699),622=>array(32,-217,633,699),623=>array(62,-9,798,462),624=>array(16,-203,734,462),625=>array(10,-205,728,462),626=>array(10,-205,490,462),627=>array(10,-204,504,462),628=>array(0,-10,558,448),629=>array(12,-13,456,462),630=>array(16,-12,730,459),631=>array(15,-13,684,474),632=>array(23,-200,589,697),633=>array(6,-11,416,451),634=>array(0,-11,476,668),635=>array(0,-204,410,451),636=>array(-46,-213,430,466),637=>array(0,-204,429,462),638=>array(0,0,485,473),639=>array(23,-200,388,463),640=>array(0,0,471,449),641=>array(0,0,587,449),642=>array(-18,-227,353,462),643=>array(-75,-205,540,698),644=>array(-75,-205,540,698),645=>array(35,-203,434,473),646=>array(-40,-268,636,698),647=>array(26,-10,318,593),648=>array(0,-204,331,594),649=>array(40,-9,546,462),650=>array(-8,-10,511,449),651=>array(45,-12,504,462),652=>array(8,-13,393,462),653=>array(8,-13,606,462),654=>array(5,-5,491,662),655=>array(85,0,479,449),656=>array(0,-227,611,449),657=>array(0,-158,434,449),658=>array(-75,-217,454,449),659=>array(10,-237,450,449),660=>array(82,0,447,684),661=>array(73,1,455,685),662=>array(12,-15,394,669),663=>array(12,-169,512,685),664=>array(36,-18,700,685),665=>array(0,0,470,449),666=>array(6,-13,431,462),667=>array(21,-13,731,671),668=>array(0,0,575,449),669=>array(-75,-210,464,685),670=>array(0,-250,506,457),671=>array(0,0,431,449),672=>array(7,-205,679,697),673=>array(52,0,437,684),674=>array(76,1,458,685),675=>array(6,-78,758,699),676=>array(6,-217,832,699),677=>array(6,-158,781,699),678=>array(39,-13,603,594),679=>array(39,-205,671,698),680=>array(39,-108,652,594),681=>array(-75,-207,836,698),682=>array(32,-13,581,699),683=>array(32,-78,534,699),684=>array(69,6,577,710),685=>array(22,88,560,670),686=>array(84,-204,573,697),687=>array(87,-204,603,697),688=>array(111,383,460,866),689=>array(109,382,458,863),690=>array(82,249,401,856),691=>array(116,390,396,705),692=>array(115,375,394,690),693=>array(93,240,372,686),694=>array(110,390,510,695),695=>array(149,386,557,710),696=>array(78,256,410,711),697=>array(128,398,268,685),698=>array(114,398,462,685),699=>array(148,441,324,695),700=>array(155,441,331,695),701=>array(166,441,338,695),702=>array(255,497,401,731),703=>array(189,497,335,731),704=>array(186,460,452,770),705=>array(181,460,454,770),706=>array(194,501,483,715),707=>array(181,501,470,715),708=>array(163,510,449,712),709=>array(218,510,504,712),710=>array(40,516,367,690),711=>array(79,516,411,690),712=>array(298,505,432,752),713=>array(51,553,393,623),714=>array(139,516,379,697),715=>array(85,516,297,697),716=>array(49,-300,183,-53),717=>array(-36,-149,306,-79),718=>array(12,-241,224,-60),719=>array(10,-221,250,-40),720=>array(71,-1,328,461),721=>array(155,342,286,461),722=>array(76,-271,222,-37),723=>array(-20,-271,126,-37),724=>array(81,168,367,360),725=>array(116,168,402,360),726=>array(82,68,368,340),727=>array(78,167,364,239),728=>array(71,516,387,678),729=>array(271,525,401,655),730=>array(241,544,445,743),731=>array(-40,-173,189,44),732=>array(138,536,523,655),733=>array(109,516,469,697),734=>array(129,284,368,462),735=>array(166,526,538,781),736=>array(180,331,525,791),737=>array(181,365,378,848),738=>array(135,374,375,698),739=>array(117,380,468,704),740=>array(197,390,482,859),741=>array(194,0,625,800),742=>array(159,0,625,800),743=>array(117,0,625,800),744=>array(75,0,625,800),745=>array(40,0,625,800),746=>array(71,-1,495,606),747=>array(72,0,553,614),748=>array(-8,-230,324,-56),749=>array(155,547,535,756),750=>array(169,369,639,685),751=>array(218,-222,504,-20),752=>array(163,-219,449,-17),753=>array(195,-236,484,-22),754=>array(181,-231,470,-17),755=>array(33,-200,237,-1),756=>array(85,290,297,471),757=>array(109,290,413,471),758=>array(39,290,399,471),759=>array(-27,-175,358,-56),760=>array(99,203,340,675),761=>array(167,511,370,748),762=>array(195,511,363,748),763=>array(-1,-72,167,165),764=>array(-6,-72,197,165),765=>array(-392,-200,-36,-19),766=>array(-30,-200,297,-28),767=>array(-39,-264,376,-74),768=>array(-251,516,-39,697),769=>array(-194,516,46,697),770=>array(-310,516,17,690),771=>array(-313,525,72,644),772=>array(-302,553,40,623),773=>array(-288,565,209,637),774=>array(-151,516,165,678),775=>array(-182,535,-52,665),776=>array(-278,525,64,655),777=>array(-132,505,45,675),778=>array(-186,524,18,723),779=>array(-303,516,57,697),780=>array(-254,516,78,690),781=>array(-37,505,97,752),782=>array(-142,505,161,752),783=>array(-428,512,-124,693),784=>array(-278,516,38,748),785=>array(-197,506,110,669),786=>array(-95,501,81,755),787=>array(-95,501,81,755),788=>array(-74,496,95,745),789=>array(95,491,271,745),790=>array(-285,-220,-73,-39),791=>array(-311,-225,-71,-44),792=>array(-377,-300,-106,-29),793=>array(-314,-300,-43,-29),794=>array(20,505,273,742),795=>array(78,319,321,562),796=>array(-340,-292,-194,-58),797=>array(-365,-218,-79,-26),798=>array(-367,-234,-81,-42),799=>array(-337,-291,-51,-19),800=>array(-371,-137,-85,-65),801=>array(-357,-251,-85,46),802=>array(-160,-251,67,46),803=>array(-312,-200,-182,-70),804=>array(-398,-200,-57,-70),805=>array(-287,-242,-83,-43),806=>array(-286,-300,-110,-56),807=>array(-356,-218,-120,5),808=>array(-356,-157,-118,0),809=>array(-299,-300,-172,-43),810=>array(-409,-226,-53,-45),811=>array(-400,-189,-97,-47),812=>array(-380,-213,-48,-39),813=>array(-416,-210,-89,-36),814=>array(-342,-210,-26,-48),815=>array(-384,-211,-68,-49),816=>array(-422,-173,-37,-54),817=>array(-375,-130,-46,-58),818=>array(-500,-150,0,-70),819=>array(-501,-270,0,-58),820=>array(-495,155,-110,274),821=>array(-284,186,-7,258),822=>array(-425,187,59,259),823=>array(-458,111,10,334),824=>array(-522,-127,121,583),825=>array(-245,-272,-100,-38),826=>array(-410,-220,-54,-39),827=>array(-367,-300,-47,-37),828=>array(-400,-243,-30,-30),829=>array(-244,496,128,751),830=>array(-145,490,49,782),831=>array(-501,492,0,704),832=>array(-213,516,-1,697),833=>array(-79,516,161,697),834=>array(-329,525,56,644),835=>array(-92,488,84,742),836=>array(-209,535,135,759),837=>array(-245,-200,-70,-39),838=>array(-314,481,42,662),839=>array(-403,-225,-97,-46),840=>array(-340,-300,-72,-43),841=>array(-301,-218,-141,-74),842=>array(-270,490,123,681),843=>array(-233,489,152,839),844=>array(-364,505,60,762),845=>array(-458,-261,-37,-27),846=>array(-350,-293,-116,-15),848=>array(-152,501,137,715),849=>array(-286,504,-140,738),850=>array(-293,495,23,727),851=>array(-474,-299,-102,-44),852=>array(-332,-260,-43,-46),853=>array(-369,-258,-80,-44),854=>array(-594,-250,-72,-36),855=>array(-192,505,-46,739),856=>array(32,525,162,655),857=>array(-347,-264,-150,-47),858=>array(-406,-249,-46,-41),859=>array(-216,490,37,744),860=>array(-330,-235,263,-66),861=>array(-133,716,460,885),862=>array(-136,693,552,765),863=>array(-377,-138,311,-66),864=>array(-464,498,444,697),865=>array(-171,524,422,693),866=>array(-323,-300,379,-16),867=>array(-300,499,-94,704),868=>array(-263,499,-93,704),869=>array(-210,502,-96,802),870=>array(-298,499,-106,704),871=>array(-287,500,-81,704),872=>array(-290,497,-118,702),873=>array(-295,498,-63,805),874=>array(-274,502,-53,808),875=>array(-328,504,-10,707),876=>array(-231,508,-54,707),877=>array(-243,500,-117,760),878=>array(-261,498,-94,703),879=>array(-305,500,-83,705),885=>array(0,-220,199,9),890=>array(18,-200,193,-39),894=>array(-25,-183,264,459),900=>array(137,510,319,734),901=>array(151,513,495,737),902=>array(76,0,736,692),903=>array(104,258,295,444),904=>array(135,0,917,694),905=>array(133,0,1047,693),906=>array(133,0,678,693),908=>array(134,-18,855,694),910=>array(132,0,1058,695),911=>array(131,-3,942,694),912=>array(6,-13,350,743),913=>array(0,0,660,683),914=>array(0,0,648,669),915=>array(0,0,680,669),916=>array(0,0,715,683),917=>array(0,0,680,669),918=>array(0,0,601,669),919=>array(0,0,823,669),920=>array(32,-18,696,685),921=>array(0,0,438,669),922=>array(1,0,724,669),923=>array(0,0,660,683),924=>array(0,-12,946,669),925=>array(0,-15,775,669),926=>array(0,0,701,669),927=>array(35,-18,699,685),928=>array(0,0,823,669),929=>array(0,0,640,669),931=>array(0,0,749,669),932=>array(99,0,699,669),933=>array(78,0,786,676),934=>array(54,0,806,669),935=>array(0,0,718,669),936=>array(80,0,981,686),937=>array(0,0,774,685),938=>array(0,0,484,857),939=>array(78,0,786,851),940=>array(17,-13,574,717),941=>array(2,-13,435,717),942=>array(50,-212,530,720),943=>array(33,-13,362,720),944=>array(53,-13,574,746),945=>array(17,-13,574,462),946=>array(-36,-212,572,698),947=>array(40,-212,546,462),948=>array(17,-13,502,689),949=>array(2,-13,435,462),950=>array(21,-187,476,698),951=>array(50,-212,529,462),952=>array(31,-13,504,678),953=>array(33,-13,288,449),954=>array(14,-10,530,465),955=>array(0,-13,499,698),956=>array(-18,-212,560,449),957=>array(45,0,530,462),958=>array(15,-187,464,698),959=>array(20,-13,501,462),960=>array(0,-13,673,486),961=>array(0,-218,503,462),962=>array(22,-187,475,462),963=>array(20,-13,583,486),964=>array(42,-13,497,486),965=>array(53,-13,551,462),966=>array(28,-206,618,462),967=>array(-75,-206,527,462),968=>array(47,-211,706,571),969=>array(15,-13,684,474),970=>array(33,-13,393,632),971=>array(53,-13,551,632),972=>array(20,-13,501,719),973=>array(53,-13,551,719),974=>array(15,-13,684,721),976=>array(29,-13,510,698),977=>array(30,-13,620,698),978=>array(108,0,787,676),979=>array(111,0,996,694),980=>array(108,0,787,851),981=>array(21,-211,610,630),982=>array(15,-13,744,547),983=>array(0,-175,520,462),984=>array(90,0,690,667),985=>array(20,-206,501,462),986=>array(77,-1,672,685),987=>array(10,-187,551,486),988=>array(0,0,673,669),989=>array(-75,-212,586,486),990=>array(69,-18,674,685),991=>array(-15,-178,385,698),992=>array(0,0,695,682),993=>array(0,-206,622,698),1008=>array(0,-13,534,474),1009=>array(-9,-240,511,474),1010=>array(-1,-13,453,474),1011=>array(-75,-207,393,685),1012=>array(27,-18,691,685),1013=>array(27,-3,448,458),1014=>array(0,-3,426,458),1015=>array(0,0,601,669),1016=>array(2,-205,536,692),1017=>array(32,-18,674,685),1018=>array(0,0,946,669),1019=>array(-36,-212,740,462),1020=>array(-107,-212,496,462),1021=>array(12,-18,654,685),1022=>array(32,-18,674,685),1023=>array(12,-18,654,685),1024=>array(0,0,680,900),1025=>array(0,0,680,862),1026=>array(100,-12,749,669),1027=>array(0,0,680,900),1028=>array(32,-18,677,685),1029=>array(0,-18,524,685),1030=>array(0,0,438,669),1031=>array(0,0,481,862),1032=>array(0,-99,570,669),1033=>array(0,-12,1012,669),1034=>array(0,0,978,669),1035=>array(91,-1,759,669),1036=>array(0,0,770,900),1037=>array(0,0,823,900),1038=>array(113,-12,814,883),1039=>array(0,-180,823,669),1040=>array(0,0,660,683),1041=>array(0,0,687,669),1042=>array(0,0,648,669),1043=>array(0,0,680,669),1044=>array(-48,-180,830,669),1045=>array(0,0,680,669),1046=>array(0,0,1110,680),1047=>array(0,-19,658,685),1048=>array(0,0,823,669),1049=>array(0,0,823,883),1050=>array(0,0,770,680),1051=>array(0,-12,856,669),1052=>array(0,-12,946,669),1053=>array(0,0,823,669),1054=>array(36,-18,700,685),1055=>array(0,0,823,669),1056=>array(0,0,640,669),1057=>array(41,-18,686,685),1058=>array(89,0,689,669),1059=>array(113,-12,814,669),1060=>array(54,0,806,669),1061=>array(0,0,718,669),1062=>array(0,-180,824,669),1063=>array(108,0,763,669),1064=>array(0,0,1181,669),1065=>array(0,-180,1181,669),1066=>array(80,0,715,669),1067=>array(0,0,1029,669),1068=>array(0,0,593,669),1069=>array(0,-19,708,685),1070=>array(0,-18,1062,685),1071=>array(0,0,827,669),1072=>array(14,-14,490,462),1073=>array(29,-13,588,690),1074=>array(25,-13,452,462),1075=>array(0,-13,366,462),1076=>array(24,-13,468,699),1077=>array(24,-13,417,462),1078=>array(3,-13,930,462),1079=>array(7,-14,431,462),1080=>array(35,-9,512,462),1081=>array(35,-9,512,676),1082=>array(14,-10,530,465),1083=>array(0,-10,563,462),1084=>array(0,-18,735,462),1085=>array(16,-9,516,461),1086=>array(25,-13,469,462),1087=>array(10,-9,509,462),1088=>array(-81,-205,485,462),1089=>array(24,-13,421,462),1090=>array(10,-9,746,462),1091=>array(2,-204,518,462),1092=>array(24,-205,755,698),1093=>array(-30,-13,485,462),1094=>array(35,-180,512,462),1095=>array(54,-9,512,462),1096=>array(35,-9,759,462),1097=>array(35,-180,760,462),1098=>array(45,-13,622,462),1099=>array(62,-13,727,462),1100=>array(62,-13,465,461),1101=>array(9,-13,453,462),1102=>array(16,-13,728,462),1103=>array(0,-11,557,449),1104=>array(24,-13,417,697),1105=>array(24,-13,473,655),1106=>array(27,-204,531,699),1107=>array(0,-13,411,697),1108=>array(25,-13,465,462),1109=>array(0,-13,352,462),1110=>array(40,-9,301,685),1111=>array(19,-9,361,655),1112=>array(-75,-207,393,685),1113=>array(0,-13,761,462),1114=>array(14,-13,713,461),1115=>array(17,-9,528,699),1116=>array(14,-10,530,697),1117=>array(35,-9,512,697),1118=>array(2,-204,518,676),1119=>array(35,-180,512,462),1120=>array(18,-18,968,685),1121=>array(25,-13,685,462),1122=>array(50,0,724,669),1123=>array(14,-13,719,462),1124=>array(0,-18,1051,685),1125=>array(16,-13,729,462),1126=>array(0,0,870,683),1127=>array(0,-13,715,462),1128=>array(0,0,1186,683),1129=>array(16,-13,903,462),1130=>array(0,0,1016,669),1131=>array(0,-11,806,449),1132=>array(0,0,1341,669),1133=>array(16,-11,992,461),1134=>array(-13,-212,647,862),1135=>array(-16,-184,465,596),1136=>array(50,0,1008,673),1137=>array(36,-206,812,676),1138=>array(27,-18,691,685),1139=>array(24,-13,512,462),1140=>array(138,-18,886,679),1141=>array(66,-13,622,470),1142=>array(138,-18,886,878),1143=>array(66,-13,622,713),1144=>array(34,-204,1164,685),1145=>array(23,-204,940,462),1146=>array(28,-74,883,741),1147=>array(25,-52,607,501),1148=>array(28,-18,978,900),1149=>array(22,-13,730,698),1150=>array(18,-18,968,849),1151=>array(25,-13,685,643),1152=>array(77,-1,672,685),1153=>array(25,-172,422,462),1154=>array(12,-212,310,151),1155=>array(-222,516,160,675),1156=>array(-315,500,131,679),1157=>array(-103,511,104,750),1158=>array(-71,511,138,750),1159=>array(-430,535,235,715),1160=>array(-758,-134,275,869),1161=>array(-787,-253,357,891),1162=>array(0,-157,823,883),1163=>array(45,-157,535,676),1164=>array(0,0,593,669),1165=>array(35,-13,458,461),1166=>array(0,0,640,669),1167=>array(-80,-205,486,462),1168=>array(0,0,727,827),1169=>array(6,0,509,559),1170=>array(0,0,680,669),1171=>array(17,0,500,449),1172=>array(0,-165,675,669),1173=>array(9,-203,483,449),1174=>array(0,-180,1110,680),1175=>array(3,-180,930,462),1176=>array(0,-212,658,685),1177=>array(0,-173,424,462),1178=>array(0,-180,770,680),1179=>array(14,-180,530,465),1180=>array(0,0,806,680),1181=>array(14,-10,556,465),1182=>array(0,0,770,680),1183=>array(14,-10,530,465),1184=>array(81,0,892,680),1185=>array(35,-10,684,465),1186=>array(0,-180,824,669),1187=>array(16,-180,516,461),1188=>array(0,0,1039,669),1189=>array(16,-9,724,461),1190=>array(1,-165,1056,669),1191=>array(14,-203,739,462),1192=>array(32,-225,677,685),1193=>array(15,-182,450,462),1194=>array(32,-212,677,685),1195=>array(15,-173,412,462),1196=>array(89,-167,689,669),1197=>array(16,-180,752,462),1198=>array(128,0,714,669),1199=>array(64,-205,708,470),1200=>array(106,0,714,669),1201=>array(64,-205,708,470),1202=>array(0,-180,718,669),1203=>array(-16,-180,499,462),1204=>array(79,-180,1054,669),1205=>array(36,-180,562,449),1206=>array(128,-180,783,669),1207=>array(64,-180,521,462),1208=>array(128,0,783,669),1209=>array(54,-9,512,462),1210=>array(0,0,655,669),1211=>array(20,-9,531,699),1212=>array(50,-19,861,686),1213=>array(35,-13,576,462),1214=>array(50,-212,861,686),1215=>array(35,-212,576,462),1216=>array(0,0,438,669),1217=>array(0,0,1110,883),1218=>array(3,-13,930,676),1219=>array(0,-165,770,680),1220=>array(14,-203,530,465),1221=>array(0,-157,856,669),1222=>array(0,-157,563,462),1223=>array(0,-165,823,669),1224=>array(16,-203,516,461),1225=>array(0,-157,823,669),1226=>array(16,-157,516,461),1227=>array(118,-167,773,669),1228=>array(54,-110,508,462),1229=>array(0,-157,946,669),1230=>array(0,-157,735,462),1231=>array(0,0,438,669),1232=>array(0,0,660,883),1233=>array(14,-14,490,676),1234=>array(0,0,660,862),1235=>array(14,-14,490,655),1236=>array(0,0,982,669),1237=>array(20,-13,698,462),1238=>array(0,0,680,883),1239=>array(24,-13,471,676),1240=>array(19,-19,626,686),1241=>array(6,-13,399,462),1242=>array(19,-19,626,868),1243=>array(6,-13,436,632),1244=>array(0,0,1110,848),1245=>array(3,-13,930,632),1246=>array(0,-19,658,869),1247=>array(7,-14,456,632),1248=>array(15,-18,684,669),1249=>array(-65,-217,464,449),1250=>array(0,0,823,800),1251=>array(35,-9,512,581),1252=>array(0,0,823,859),1253=>array(35,-9,512,632),1254=>array(36,-18,700,860),1255=>array(25,-13,484,632),1256=>array(27,-18,691,685),1257=>array(12,-13,456,462),1258=>array(27,-18,691,860),1259=>array(12,-13,484,632),1260=>array(0,-19,708,869),1261=>array(9,-13,455,632),1262=>array(113,-12,814,800),1263=>array(2,-204,518,589),1264=>array(113,-12,814,852),1265=>array(2,-204,518,632),1266=>array(113,-12,814,890),1267=>array(2,-204,561,683),1268=>array(108,0,763,851),1269=>array(54,-9,512,632),1270=>array(0,-180,680,669),1271=>array(16,-186,490,449),1272=>array(0,0,1029,852),1273=>array(62,-13,727,632),1296=>array(28,-19,682,691),1297=>array(15,-14,471,473),1298=>array(0,-165,856,669),1299=>array(0,-203,542,462),1306=>array(33,-208,697,685),1307=>array(21,-205,491,462),1308=>array(128,-18,1003,669),1309=>array(43,-13,641,462),1310=>array(0,0,770,680),1311=>array(14,-10,530,465),1329=>array(148,-41,905,662),1330=>array(15,0,833,676),1331=>array(123,0,898,676),1332=>array(95,0,981,676),1333=>array(148,-14,848,662),1334=>array(33,-87,780,674),1335=>array(112,-87,876,662),1336=>array(80,-87,808,676),1337=>array(15,0,1009,676),1338=>array(67,-14,935,662),1339=>array(15,0,797,676),1340=>array(112,-87,742,662),1341=>array(15,0,1045,662),1342=>array(143,-19,1099,691),1343=>array(150,0,830,662),1344=>array(10,-61,530,662),1345=>array(58,-25,797,674),1346=>array(95,-87,927,676),1347=>array(63,-14,767,675),1348=>array(148,-14,1081,662),1349=>array(74,-15,695,691),1350=>array(155,-14,975,749),1351=>array(85,-16,805,678),1352=>array(15,0,772,676),1353=>array(83,-148,840,678),1354=>array(117,0,831,676),1355=>array(43,-87,804,674),1356=>array(15,0,995,676),1357=>array(148,-14,905,662),1358=>array(105,-87,913,662),1359=>array(71,-14,640,677),1360=>array(15,0,833,676),1361=>array(74,-15,691,676),1362=>array(15,0,701,662),1363=>array(95,0,870,664),1364=>array(50,0,926,676),1365=>array(90,-14,818,676),1366=>array(67,-15,769,662),1369=>array(189,491,335,725),1370=>array(255,497,401,731),1371=>array(128,398,268,685),1372=>array(122,389,408,662),1373=>array(197,479,382,776),1374=>array(87,496,409,676),1375=>array(108,530,398,683),1377=>array(86,-14,845,461),1378=>array(-28,-200,572,473),1379=>array(68,-200,598,473),1380=>array(15,-200,605,473),1381=>array(86,-14,583,676),1382=>array(68,-200,578,473),1383=>array(66,-87,566,676),1384=>array(25,-200,559,473),1385=>array(-28,-200,624,473),1386=>array(68,-14,673,676),1387=>array(-28,-200,559,676),1388=>array(25,-200,305,461),1389=>array(-28,-200,825,676),1390=>array(72,-10,682,690),1391=>array(86,-200,578,676),1392=>array(15,0,559,676),1393=>array(63,-13,508,665),1394=>array(15,-200,559,473),1395=>array(63,-13,660,669),1396=>array(86,-14,612,662),1397=>array(-24,-200,415,461),1398=>array(102,-14,594,676),1399=>array(-17,-200,479,461),1400=>array(15,0,559,473),1401=>array(-18,-200,430,464),1402=>array(86,-200,845,461),1403=>array(1,-200,499,461),1404=>array(15,0,565,473),1405=>array(86,-14,578,461),1406=>array(86,-200,624,676),1407=>array(86,-14,832,473),1408=>array(-28,-200,559,473),1409=>array(55,-200,578,473),1410=>array(68,0,305,461),1411=>array(86,-200,832,676),1412=>array(-28,-200,579,473),1413=>array(72,-14,537,473),1414=>array(64,-200,682,670),1415=>array(86,-14,592,676),1417=>array(23,-13,264,459),1418=>array(75,144,394,326),1423=>array(94,0,793,676),1425=>array(161,-235,357,-45),1426=>array(484,665,696,855),1427=>array(175,665,349,900),1428=>array(548,665,651,855),1429=>array(369,665,699,855),1430=>array(195,-265,301,-45),1431=>array(390,665,533,845),1432=>array(290,665,584,820),1433=>array(120,671,226,891),1434=>array(414,-235,649,-55),1435=>array(148,-265,325,-45),1436=>array(407,665,583,885),1437=>array(654,665,830,885),1438=>array(319,665,615,885),1439=>array(115,666,548,886),1440=>array(460,666,671,886),1441=>array(55,668,268,852),1442=>array(245,-235,441,-45),1443=>array(41,-220,303,-45),1444=>array(84,-235,302,-55),1445=>array(82,-265,257,-45),1446=>array(57,-265,330,-45),1447=>array(162,-264,357,-55),1448=>array(211,665,317,885),1449=>array(75,666,249,886),1450=>array(186,-235,381,-45),1451=>array(268,664,486,844),1452=>array(262,665,524,840),1453=>array(335,-265,441,-45),1454=>array(-71,665,223,820),1455=>array(367,665,550,843),1456=>array(211,-236,322,-45),1457=>array(74,-235,417,-45),1458=>array(67,-235,405,-45),1459=>array(60,-235,403,-45),1460=>array(243,-120,322,-45),1461=>array(184,-120,378,-45),1462=>array(155,-235,370,-45),1463=>array(172,-110,408,-55),1464=>array(160,-235,397,-55),1465=>array(281,645,359,720),1466=>array(186,628,295,734),1467=>array(266,-235,555,-45),1468=>array(347,262,425,338),1469=>array(184,-230,274,-45),1470=>array(133,440,522,600),1471=>array(220,654,428,709),1472=>array(49,-15,242,660),1473=>array(758,646,836,721),1474=>array(237,646,315,721),1475=>array(131,50,412,620),1476=>array(494,646,572,721),1477=>array(226,-145,335,-39),1478=>array(52,0,380,644),1479=>array(146,-272,407,-55),1488=>array(51,0,656,644),1489=>array(23,0,527,645),1490=>array(11,-1,386,644),1491=>array(143,-5,600,645),1492=>array(50,-5,636,645),1493=>array(143,-5,332,644),1494=>array(128,-7,367,644),1495=>array(58,-5,634,645),1496=>array(88,0,625,644),1497=>array(144,301,339,645),1498=>array(143,-285,573,645),1499=>array(20,0,556,645),1500=>array(140,-5,586,899),1501=>array(56,0,598,645),1502=>array(68,0,631,637),1503=>array(43,-280,349,644),1504=>array(8,0,404,644),1505=>array(68,0,566,645),1506=>array(17,-222,629,644),1507=>array(59,-280,542,645),1508=>array(18,0,548,644),1509=>array(78,-280,612,646),1510=>array(38,0,624,645),1511=>array(-17,-300,605,645),1512=>array(143,-5,547,645),1513=>array(102,0,790,645),1514=>array(10,-5,616,645),1520=>array(143,-5,598,644),1521=>array(144,-5,598,645),1522=>array(114,301,576,645),1523=>array(213,475,475,752),1524=>array(137,475,574,752),3585=>array(86,0,604,534),3586=>array(84,0,627,538),3587=>array(132,0,710,537),3588=>array(119,0,600,534),3589=>array(119,0,609,535),3590=>array(127,-15,748,537),3591=>array(97,0,481,534),3592=>array(120,0,550,536),3593=>array(101,-17,672,536),3594=>array(84,0,634,562),3595=>array(132,0,715,562),3596=>array(84,-17,948,534),3597=>array(86,-265,853,534),3598=>array(59,-226,647,534),3599=>array(59,-226,651,534),3600=>array(-20,-300,551,531),3601=>array(118,0,764,537),3602=>array(119,-17,925,534),3603=>array(98,-17,905,534),3604=>array(119,0,600,534),3605=>array(119,0,613,534),3606=>array(86,-16,592,534),3607=>array(128,0,704,534),3608=>array(54,0,579,539),3609=>array(129,-17,661,534),3610=>array(102,0,670,534),3611=>array(102,0,711,747),3612=>array(64,0,670,534),3613=>array(64,0,712,747),3614=>array(137,0,757,534),3615=>array(139,0,803,747),3616=>array(59,-17,651,534),3617=>array(55,-17,638,534),3618=>array(85,-16,601,536),3619=>array(101,-17,551,531),3620=>array(100,-224,604,534),3621=>array(80,-16,585,536),3622=>array(59,-226,651,534),3623=>array(112,-17,542,536),3624=>array(119,0,660,556),3625=>array(92,0,853,534),3626=>array(80,-16,639,555),3627=>array(126,0,679,534),3628=>array(135,0,909,731),3629=>array(93,-16,576,536),3630=>array(71,-16,611,569),3631=>array(126,0,543,534),3632=>array(41,-3,502,526),3633=>array(-33,589,342,800),3634=>array(110,0,442,534),3635=>array(106,0,469,783),3636=>array(-281,546,51,748),3637=>array(-272,545,81,801),3638=>array(-289,543,84,814),3639=>array(-272,544,91,800),3640=>array(-283,-300,-73,-52),3641=>array(-442,-300,-55,-52),3642=>array(-193,-177,-66,-54),3647=>array(16,-129,699,770),3648=>array(81,-16,330,527),3649=>array(81,-16,599,527),3650=>array(149,-16,598,900),3651=>array(135,-16,501,900),3652=>array(133,-16,502,900),3653=>array(109,-224,443,534),3654=>array(102,-224,521,536),3655=>array(-256,560,153,886),3656=>array(-2,674,105,847),3657=>array(-166,680,167,871),3658=>array(-313,675,126,868),3659=>array(-84,679,96,847),3660=>array(-104,677,185,894),3661=>array(-99,571,69,742),3662=>array(-166,602,103,900),3663=>array(105,-10,665,536),3664=>array(70,-19,558,395),3665=>array(69,-19,557,395),3666=>array(64,-17,606,603),3667=>array(69,-21,627,392),3668=>array(64,-19,725,602),3669=>array(64,-22,737,587),3670=>array(91,-19,518,607),3671=>array(69,-19,778,608),3672=>array(71,-19,717,598),3673=>array(69,-16,675,598),3674=>array(126,0,770,534),3675=>array(73,-18,1422,541),4256=>array(80,-3,570,706),4257=>array(85,5,551,717),4258=>array(74,-2,655,698),4259=>array(86,-28,811,697),4260=>array(76,-3,622,696),4261=>array(76,-3,619,697),4262=>array(71,-2,567,698),4263=>array(65,-2,868,697),4264=>array(78,-3,609,697),4265=>array(77,1,617,695),4266=>array(74,-21,1022,691),4267=>array(80,-2,607,697),4268=>array(77,-3,649,709),4269=>array(64,-1,865,697),4270=>array(73,-2,605,698),4271=>array(74,-3,646,695),4272=>array(59,-2,815,719),4273=>array(82,-2,557,699),4274=>array(73,-3,665,697),4275=>array(170,-3,720,699),4276=>array(139,-2,739,697),4277=>array(64,-3,645,700),4278=>array(86,-29,810,697),4279=>array(77,1,647,697),4280=>array(128,-2,672,698),4281=>array(41,-2,557,699),4282=>array(82,-3,628,712),4283=>array(80,-2,607,699),4284=>array(35,-3,725,697),4285=>array(106,-3,575,713),4286=>array(84,-2,552,700),4287=>array(25,-146,748,700),4288=>array(71,-2,602,699),4289=>array(70,-2,612,699),4290=>array(57,-4,661,697),4291=>array(58,2,646,698),4292=>array(71,-3,636,697),4293=>array(70,-1,590,697),4304=>array(65,10,533,505),4305=>array(73,11,533,697),4306=>array(14,-270,579,396),4307=>array(29,-300,738,395),4308=>array(7,-272,533,397),4309=>array(8,-273,540,396),4310=>array(64,10,551,685),4311=>array(72,10,816,400),4312=>array(70,11,532,396),4313=>array(6,-274,541,394),4314=>array(19,-289,952,396),4315=>array(73,10,592,682),4316=>array(71,10,633,695),4317=>array(66,11,809,397),4318=>array(62,10,583,686),4319=>array(9,-272,565,396),4320=>array(56,9,809,695),4321=>array(125,10,593,687),4322=>array(22,-272,590,395),4323=>array(73,-271,618,398),4324=>array(78,-272,663,400),4325=>array(6,-272,629,687),4326=>array(29,-296,738,395),4327=>array(9,-275,569,396),4328=>array(122,10,659,685),4329=>array(35,10,544,686),4330=>array(17,-271,553,417),4331=>array(74,10,593,686),4332=>array(119,-272,687,686),4333=>array(3,-271,551,699),4334=>array(126,10,588,686),4335=>array(-57,-271,745,394),4336=>array(62,10,592,691),4337=>array(66,10,598,687),4338=>array(18,9,623,396),4339=>array(-52,-268,527,396),4340=>array(7,-271,573,501),4341=>array(64,11,575,684),4342=>array(73,-269,854,686),4343=>array(10,-271,536,398),4344=>array(9,-272,541,394),4345=>array(81,-256,646,410),4346=>array(31,-214,544,398),4347=>array(28,-20,478,602),4348=>array(53,219,475,734),5024=>array(18,0,777,676),5025=>array(19,-9,770,676),5026=>array(108,0,755,676),5027=>array(31,-19,915,676),5028=>array(89,-19,1092,691),5029=>array(-3,0,381,691),5030=>array(63,-19,632,690),5031=>array(83,-14,812,676),5032=>array(20,0,621,676),5033=>array(56,-19,894,676),5034=>array(-12,0,674,690),5035=>array(16,-38,619,676),5036=>array(18,0,739,676),5037=>array(70,0,882,676),5038=>array(37,0,664,695),5039=>array(10,-14,735,667),5040=>array(18,0,570,676),5041=>array(18,0,729,676),5042=>array(40,-19,940,695),5043=>array(126,-15,1094,676),5044=>array(51,-19,694,695),5045=>array(-9,0,673,676),5046=>array(81,-19,787,691),5047=>array(16,0,1067,676),5048=>array(69,0,555,695),5049=>array(33,-19,936,695),5050=>array(83,-19,1215,691),5051=>array(18,0,900,676),5052=>array(73,-19,625,676),5053=>array(73,-19,989,676),5054=>array(81,-19,809,691),5055=>array(83,-19,748,676),5056=>array(80,-19,799,691),5057=>array(8,-19,783,696),5058=>array(18,0,742,676),5059=>array(21,0,741,676),5060=>array(88,0,660,696),5061=>array(81,-19,1072,691),5062=>array(47,1,791,676),5063=>array(18,-19,853,680),5064=>array(106,-19,902,696),5065=>array(81,0,1153,695),5066=>array(19,-19,806,680),5067=>array(53,-19,644,696),5068=>array(119,-19,827,676),5069=>array(47,-19,946,696),5070=>array(56,0,667,676),5071=>array(15,0,645,676),5072=>array(76,0,580,676),5073=>array(132,-19,870,696),5074=>array(21,0,745,676),5075=>array(118,-14,558,676),5076=>array(127,-19,1172,676),5077=>array(51,-19,684,690),5078=>array(98,-14,751,676),5079=>array(10,-19,834,676),5080=>array(10,-19,827,676),5081=>array(126,-18,817,676),5082=>array(26,-19,628,692),5083=>array(72,-19,1042,696),5084=>array(16,-10,726,671),5085=>array(-12,0,673,694),5086=>array(18,0,686,676),5087=>array(81,-19,787,691),5088=>array(119,-19,917,695),5089=>array(53,-19,952,695),5090=>array(15,0,709,676),5091=>array(86,-19,811,691),5092=>array(113,0,1018,676),5093=>array(18,0,954,676),5094=>array(18,0,868,676),5095=>array(41,-14,729,662),5096=>array(80,-19,910,696),5097=>array(71,-19,962,696),5098=>array(47,-19,969,696),5099=>array(86,-19,814,691),5100=>array(90,-15,867,680),5101=>array(36,-19,649,696),5102=>array(81,-20,660,696),5103=>array(18,-19,853,680),5104=>array(33,-101,704,696),5105=>array(56,-19,918,676),5106=>array(-12,0,712,694),5107=>array(81,-19,932,688),5108=>array(17,0,700,676),7424=>array(0,0,436,451),7425=>array(0,0,649,442),7426=>array(19,-12,697,463),7427=>array(0,0,428,442),7428=>array(27,-12,453,453),7429=>array(0,0,483,442),7431=>array(0,0,449,442),7432=>array(10,-13,450,463),7433=>array(37,-211,298,483),7434=>array(0,-66,377,442),7435=>array(0,0,478,442),7436=>array(0,0,404,442),7437=>array(0,-8,625,442),7439=>array(23,-12,462,453),7448=>array(0,0,423,442),7450=>array(5,-11,437,431),7451=>array(58,0,455,442),7452=>array(70,-12,518,442),7456=>array(84,-12,514,442),7457=>array(84,-12,662,442),7458=>array(0,0,397,442),7579=>array(93,380,467,699),7581=>array(110,321,361,693),7582=>array(116,380,423,858),7583=>array(92,380,387,700),7588=>array(119,384,314,850),7589=>array(131,382,302,692),7592=>array(91,249,453,849),7593=>array(108,254,327,860),7596=>array(104,252,586,700),7597=>array(112,254,594,701),7598=>array(104,252,427,700),7599=>array(107,253,439,700),7600=>array(88,383,462,691),7601=>array(108,380,406,699),7602=>array(113,270,493,871),7603=>array(78,237,327,700),7604=>array(67,294,480,900),7605=>array(49,236,347,789),7606=>array(126,383,466,700),7607=>array(104,383,453,691),7608=>array(130,383,430,687),7609=>array(130,381,438,700),7612=>array(80,237,489,691),7613=>array(90,284,381,691),7614=>array(49,244,405,691),7615=>array(140,381,458,845),7680=>array(0,-250,660,683),7681=>array(14,-264,490,462),7682=>array(0,0,648,839),7683=>array(25,-13,486,699),7684=>array(0,-184,648,669),7685=>array(25,-197,483,699),7686=>array(0,-137,648,669),7687=>array(-38,-144,483,699),7688=>array(41,-218,686,899),7689=>array(-6,-218,471,683),7690=>array(0,0,731,839),7691=>array(20,-13,558,699),7692=>array(0,-184,731,669),7693=>array(20,-197,558,699),7694=>array(0,-137,731,669),7695=>array(-24,-138,558,699),7696=>array(0,-222,731,669),7697=>array(-22,-231,544,699),7698=>array(0,-213,731,669),7699=>array(-15,-211,558,699),7700=>array(0,0,680,900),7701=>array(24,-13,459,844),7702=>array(0,0,680,900),7703=>array(24,-13,493,844),7704=>array(0,-223,680,669),7705=>array(-48,-236,417,462),7706=>array(0,-173,680,669),7707=>array(-44,-186,417,462),7708=>array(0,-222,680,871),7709=>array(24,-218,480,664),7710=>array(0,0,673,839),7711=>array(-95,-205,520,869),7712=>array(44,-18,729,800),7713=>array(-22,-203,508,590),7714=>array(0,0,823,839),7715=>array(20,-9,531,869),7716=>array(0,-184,823,669),7717=>array(20,-193,531,699),7718=>array(0,0,823,839),7719=>array(20,-9,574,869),7720=>array(0,-222,823,669),7721=>array(-23,-219,531,699),7722=>array(0,-193,823,669),7723=>array(20,-202,531,699),7724=>array(-70,-173,438,669),7725=>array(-85,-182,301,685),7726=>array(0,0,516,900),7727=>array(40,-9,409,851),7728=>array(0,0,723,890),7729=>array(20,-8,603,899),7730=>array(0,-184,723,669),7731=>array(20,-180,526,699),7732=>array(0,-143,723,669),7733=>array(11,-139,526,699),7734=>array(0,-184,612,669),7735=>array(5,-193,330,699),7736=>array(0,-184,660,800),7737=>array(5,-193,443,809),7738=>array(0,-140,612,669),7739=>array(-71,-143,330,699),7740=>array(0,-210,612,669),7741=>array(-102,-213,330,699),7742=>array(0,-12,946,890),7743=>array(10,-9,746,683),7744=>array(0,-12,946,839),7745=>array(10,-9,746,632),7746=>array(0,-183,946,669),7747=>array(10,-178,746,462),7748=>array(0,-15,775,839),7749=>array(10,-9,509,632),7750=>array(0,-199,775,669),7751=>array(10,-193,509,462),7752=>array(0,-146,775,669),7753=>array(-3,-143,509,462),7754=>array(0,-238,775,669),7755=>array(-5,-232,509,462),7756=>array(27,-15,716,899),7757=>array(25,-13,531,853),7758=>array(27,-15,695,900),7759=>array(25,-13,529,807),7760=>array(27,-15,691,900),7761=>array(25,-13,487,844),7762=>array(27,-15,691,900),7763=>array(25,-13,518,844),7764=>array(0,0,640,890),7765=>array(-81,-205,514,683),7766=>array(0,0,640,839),7767=>array(-81,-205,485,632),7768=>array(0,0,652,839),7769=>array(10,0,420,632),7770=>array(0,-184,652,669),7771=>array(3,-184,420,462),7772=>array(0,-184,652,800),7773=>array(3,-184,436,582),7774=>array(0,-110,652,669),7775=>array(-47,-110,420,462),7776=>array(0,-18,524,839),7777=>array(0,-13,352,632),7778=>array(0,-182,524,685),7779=>array(0,-176,352,462),7780=>array(2,-15,526,900),7781=>array(0,-13,397,830),7782=>array(2,-15,526,900),7783=>array(0,-13,419,818),7784=>array(0,-182,524,839),7785=>array(0,-176,352,632),7786=>array(89,0,689,839),7787=>array(32,-9,328,764),7788=>array(89,-180,689,669),7789=>array(-11,-184,324,594),7790=>array(65,-143,689,669),7791=>array(-67,-143,324,594),7792=>array(26,-223,689,669),7793=>array(-117,-232,324,594),7794=>array(107,-179,784,669),7795=>array(3,-178,512,462),7796=>array(98,-175,784,669),7797=>array(-8,-168,512,462),7798=>array(104,-218,784,669),7799=>array(-9,-214,512,462),7800=>array(67,-15,744,900),7801=>array(35,-9,528,852),7802=>array(107,-18,784,898),7803=>array(35,-9,554,788),7804=>array(128,-18,778,828),7805=>array(54,-13,470,621),7806=>array(128,-186,778,669),7807=>array(49,-183,439,462),7808=>array(128,-18,1003,890),7809=>array(54,-13,652,683),7810=>array(128,-18,1003,890),7811=>array(54,-13,652,683),7812=>array(128,-18,1003,839),7813=>array(54,-13,652,632),7814=>array(128,-18,1003,839),7815=>array(54,-13,652,632),7816=>array(128,-179,1003,669),7817=>array(54,-174,652,462),7818=>array(0,0,718,839),7819=>array(-30,-13,485,632),7820=>array(0,0,718,839),7821=>array(-30,-13,485,632),7822=>array(128,0,714,839),7823=>array(-53,-205,433,632),7824=>array(0,0,601,883),7825=>array(0,-78,427,676),7826=>array(0,-184,601,669),7827=>array(0,-236,411,449),7828=>array(0,-146,601,669),7829=>array(-36,-188,411,449),7830=>array(20,-146,531,699),7831=>array(32,-9,422,764),7832=>array(54,-13,652,705),7833=>array(-53,-205,433,705),7834=>array(14,-14,595,731),7835=>array(-95,-205,520,869),7836=>array(-75,-205,540,698),7837=>array(-75,-205,540,698),7838=>array(1,-9,815,683),7839=>array(17,-13,502,689),7840=>array(0,-184,660,683),7841=>array(14,-198,490,462),7842=>array(0,0,660,900),7843=>array(14,-14,490,686),7844=>array(0,0,863,900),7845=>array(14,-14,667,800),7846=>array(0,0,660,900),7847=>array(1,-14,490,800),7848=>array(0,0,780,899),7849=>array(14,-14,584,797),7850=>array(0,0,720,900),7851=>array(14,-14,564,858),7852=>array(0,-184,660,883),7853=>array(14,-198,490,676),7854=>array(-67,0,604,900),7855=>array(14,-14,510,854),7856=>array(-67,0,593,900),7857=>array(14,-14,490,851),7858=>array(-67,0,593,900),7859=>array(14,-14,490,820),7860=>array(-67,0,619,900),7861=>array(14,-14,548,843),7862=>array(0,-184,660,889),7863=>array(14,-198,492,664),7864=>array(0,-184,680,669),7865=>array(24,-197,417,462),7866=>array(0,0,680,871),7867=>array(24,-13,417,688),7868=>array(0,0,680,828),7869=>array(24,-13,493,621),7870=>array(0,0,836,900),7871=>array(24,-13,655,803),7872=>array(0,0,680,900),7873=>array(8,-13,463,800),7874=>array(0,0,753,899),7875=>array(24,-13,582,798),7876=>array(0,0,682,900),7877=>array(24,-13,551,858),7878=>array(0,-184,680,883),7879=>array(24,-197,441,676),7880=>array(0,0,438,865),7881=>array(40,-9,278,686),7882=>array(0,-184,438,669),7883=>array(-9,-193,301,685),7884=>array(36,-202,700,685),7885=>array(25,-197,469,462),7886=>array(36,-18,700,874),7887=>array(25,-13,469,686),7888=>array(36,-18,866,900),7889=>array(25,-13,666,794),7890=>array(36,-18,700,900),7891=>array(23,-13,471,800),7892=>array(36,-18,795,897),7893=>array(25,-13,578,799),7894=>array(27,-15,707,900),7895=>array(25,-13,559,844),7896=>array(36,-202,700,883),7897=>array(25,-197,469,676),7898=>array(27,-18,888,900),7899=>array(13,-13,636,693),7900=>array(27,-18,888,900),7901=>array(13,-13,636,693),7902=>array(27,-18,888,896),7903=>array(13,-13,636,689),7904=>array(27,-18,888,871),7905=>array(13,-13,636,694),7906=>array(27,-184,888,725),7907=>array(13,-184,636,590),7908=>array(107,-182,784,669),7909=>array(35,-174,512,462),7910=>array(107,-18,784,874),7911=>array(35,-9,512,686),7912=>array(67,-18,899,894),7913=>array(35,-9,734,693),7914=>array(67,-18,899,894),7915=>array(35,-9,734,693),7916=>array(67,-18,899,893),7917=>array(35,-9,734,689),7918=>array(67,-18,899,856),7919=>array(35,-9,734,694),7920=>array(67,-186,899,725),7921=>array(35,-183,734,590),7922=>array(128,0,714,890),7923=>array(-53,-205,433,683),7924=>array(128,-174,714,669),7925=>array(-53,-205,433,462),7926=>array(128,0,714,877),7927=>array(-53,-205,433,688),7928=>array(128,0,714,828),7929=>array(-53,-205,461,621),7936=>array(17,-13,574,749),7937=>array(17,-13,574,733),7938=>array(17,-13,574,728),7939=>array(17,-13,574,736),7940=>array(17,-13,574,724),7941=>array(17,-13,574,730),7942=>array(17,-13,598,868),7943=>array(17,-13,598,881),7944=>array(0,0,660,713),7945=>array(0,0,660,695),7946=>array(131,0,794,695),7947=>array(145,0,805,692),7948=>array(115,0,775,695),7949=>array(116,0,776,696),7950=>array(59,0,719,831),7951=>array(50,0,710,842),7952=>array(2,-13,435,746),7953=>array(2,-13,435,727),7954=>array(2,-13,435,728),7955=>array(2,-13,435,729),7956=>array(2,-13,484,724),7957=>array(2,-13,460,730),7960=>array(114,0,857,713),7961=>array(139,0,888,696),7962=>array(133,0,987,695),7963=>array(140,0,1001,694),7964=>array(139,0,1024,695),7965=>array(141,0,1018,698),7968=>array(50,-212,529,747),7969=>array(50,-212,529,730),7970=>array(50,-212,529,731),7971=>array(50,-212,529,732),7972=>array(50,-212,578,724),7973=>array(50,-212,593,730),7974=>array(50,-212,666,870),7975=>array(50,-212,673,884),7976=>array(114,0,1001,713),7977=>array(135,0,1024,694),7978=>array(136,0,1137,696),7979=>array(147,0,1156,694),7980=>array(143,0,1173,695),7981=>array(146,0,1179,698),7982=>array(149,0,1084,834),7983=>array(153,0,1096,842),7984=>array(33,-13,310,752),7985=>array(33,-13,341,731),7986=>array(33,-13,350,730),7987=>array(33,-13,350,732),7988=>array(33,-13,438,728),7989=>array(33,-13,429,730),7990=>array(33,-13,498,862),7991=>array(33,-13,504,884),7992=>array(86,0,592,713),7993=>array(134,0,639,693),7994=>array(131,0,745,695),7995=>array(142,0,761,693),7996=>array(132,0,781,695),7997=>array(142,0,782,698),7998=>array(150,0,710,834),7999=>array(150,0,702,845),8000=>array(20,-13,501,745),8001=>array(20,-13,501,730),8002=>array(20,-13,501,729),8003=>array(20,-13,501,731),8004=>array(20,-13,510,724),8005=>array(20,-13,506,730),8008=>array(96,-18,846,713),8009=>array(138,-18,865,695),8010=>array(117,-18,1023,696),8011=>array(142,-18,1055,692),8012=>array(135,-18,987,692),8013=>array(145,-18,995,698),8016=>array(53,-13,551,743),8017=>array(53,-13,551,730),8018=>array(53,-13,551,725),8019=>array(53,-13,551,729),8020=>array(53,-13,552,724),8021=>array(53,-13,556,730),8022=>array(53,-13,617,864),8023=>array(53,-13,621,879),8025=>array(136,0,1024,694),8027=>array(136,0,1140,693),8029=>array(143,0,1173,693),8031=>array(158,0,1092,844),8032=>array(15,-13,684,747),8033=>array(15,-13,684,732),8034=>array(15,-13,684,728),8035=>array(15,-13,684,729),8036=>array(15,-13,684,726),8037=>array(15,-13,684,730),8038=>array(15,-13,684,864),8039=>array(15,-13,694,877),8040=>array(97,0,909,712),8041=>array(137,0,943,695),8042=>array(134,0,1116,693),8043=>array(140,0,1121,695),8044=>array(136,0,1082,693),8045=>array(138,0,1074,696),8046=>array(152,0,1033,832),8047=>array(159,0,1009,844),8048=>array(17,-13,574,729),8049=>array(17,-13,574,720),8050=>array(2,-13,435,725),8051=>array(2,-13,435,717),8052=>array(50,-212,529,725),8053=>array(50,-212,549,719),8054=>array(33,-13,288,725),8055=>array(33,-13,362,720),8056=>array(20,-13,501,725),8057=>array(20,-13,501,720),8058=>array(53,-13,551,725),8059=>array(53,-13,551,719),8060=>array(15,-13,684,725),8061=>array(15,-13,684,720),8064=>array(17,-200,574,749),8065=>array(17,-200,574,733),8066=>array(17,-200,574,728),8067=>array(17,-200,574,736),8068=>array(17,-200,574,724),8069=>array(17,-200,574,730),8070=>array(17,-200,598,868),8071=>array(17,-200,598,881),8072=>array(0,0,842,713),8073=>array(0,0,847,695),8074=>array(131,0,981,695),8075=>array(145,0,991,692),8076=>array(115,0,957,695),8077=>array(116,0,955,696),8078=>array(59,0,897,831),8079=>array(50,0,893,842),8080=>array(40,-212,529,747),8081=>array(40,-212,529,730),8082=>array(40,-212,529,731),8083=>array(40,-212,529,732),8084=>array(40,-212,578,724),8085=>array(40,-212,593,730),8086=>array(40,-212,666,870),8087=>array(40,-212,673,884),8088=>array(114,0,1042,713),8089=>array(135,0,1066,694),8090=>array(136,0,1188,696),8091=>array(147,0,1199,694),8092=>array(143,0,1206,695),8093=>array(146,0,1211,698),8094=>array(149,0,1124,834),8095=>array(153,0,1129,842),8096=>array(15,-200,684,747),8097=>array(15,-200,684,732),8098=>array(15,-200,684,728),8099=>array(15,-200,684,729),8100=>array(15,-200,684,726),8101=>array(15,-200,684,730),8102=>array(15,-200,684,864),8103=>array(15,-200,694,877),8104=>array(97,0,1030,712),8105=>array(137,0,1066,695),8106=>array(134,0,1234,693),8107=>array(140,0,1247,695),8108=>array(136,0,1199,693),8109=>array(138,0,1194,696),8110=>array(152,0,1147,832),8111=>array(159,0,1135,844),8112=>array(17,-13,574,664),8113=>array(17,-13,574,602),8114=>array(17,-200,574,729),8115=>array(17,-200,574,462),8116=>array(17,-200,574,720),8118=>array(17,-13,574,631),8119=>array(17,-200,574,631),8120=>array(0,0,660,871),8121=>array(0,0,660,798),8122=>array(0,0,660,724),8123=>array(0,0,660,693),8124=>array(0,0,835,683),8125=>array(166,501,342,755),8126=>array(0,0,175,161),8127=>array(259,540,425,764),8128=>array(131,559,516,678),8129=>array(160,507,547,796),8130=>array(40,-212,529,725),8131=>array(40,-212,529,462),8132=>array(40,-212,530,720),8134=>array(50,-212,569,633),8135=>array(40,-212,569,633),8136=>array(127,1,807,706),8137=>array(89,0,832,690),8138=>array(124,0,947,707),8139=>array(90,0,983,691),8140=>array(0,0,859,669),8141=>array(168,540,460,766),8142=>array(172,555,497,780),8143=>array(176,527,561,891),8144=>array(33,-13,357,664),8145=>array(14,-13,356,617),8146=>array(32,-13,376,752),8147=>array(33,-13,404,755),8150=>array(33,-13,423,623),8151=>array(33,-13,436,796),8152=>array(0,0,491,871),8153=>array(0,0,469,800),8154=>array(130,0,568,704),8155=>array(98,0,601,691),8157=>array(156,544,451,768),8158=>array(188,558,509,785),8159=>array(181,516,566,890),8160=>array(53,-13,554,664),8161=>array(53,-13,551,610),8162=>array(53,-13,551,752),8163=>array(53,-13,551,750),8164=>array(0,-218,503,708),8165=>array(0,-218,503,713),8166=>array(53,-13,560,623),8167=>array(53,-13,587,796),8168=>array(78,0,786,871),8169=>array(78,0,786,797),8170=>array(139,0,971,727),8171=>array(83,0,966,694),8172=>array(137,0,841,669),8173=>array(176,519,520,752),8174=>array(178,517,522,750),8175=>array(183,557,278,781),8178=>array(15,-200,684,725),8179=>array(15,-200,684,474),8180=>array(15,-200,684,721),8182=>array(15,-13,684,623),8183=>array(15,-200,684,623),8184=>array(146,-18,838,715),8185=>array(89,-18,800,696),8186=>array(133,0,907,724),8187=>array(89,0,888,695),8188=>array(0,0,882,685),8189=>array(191,537,373,761),8190=>array(251,544,435,768),8208=>array(4,178,269,269),8209=>array(4,178,269,269),8210=>array(-40,178,477,269),8211=>array(-40,178,477,269),8212=>array(-40,178,977,269),8213=>array(-40,178,977,269),8214=>array(106,-18,324,685),8215=>array(86,-225,392,-46),8216=>array(92,369,296,685),8217=>array(84,369,288,685),8218=>array(-47,-182,157,134),8219=>array(105,375,316,686),8220=>array(95,369,549,685),8221=>array(84,369,554,685),8222=>array(-28,-182,428,134),8223=>array(105,375,566,686),8224=>array(91,-145,494,685),8225=>array(10,-139,493,685),8226=>array(107,175,470,525),8227=>array(23,101,509,575),8228=>array(70,-13,218,135),8229=>array(70,-13,468,135),8230=>array(70,-13,818,135),8240=>array(7,-29,996,706),8241=>array(39,-10,1577,692),8242=>array(128,398,268,685),8243=>array(128,398,476,685),8244=>array(128,398,764,685),8245=>array(197,479,382,776),8246=>array(214,479,594,776),8247=>array(206,479,756,776),8248=>array(-34,-162,419,203),8249=>array(32,32,303,415),8250=>array(10,32,281,415),8251=>array(107,-56,764,592),8252=>array(67,-13,759,684),8253=>array(118,-13,703,689),8254=>array(155,527,655,607),8255=>array(36,-279,898,-19),8256=>array(214,640,1076,900),8257=>array(-16,-19,480,691),8258=>array(64,-102,888,688),8259=>array(85,200,500,388),8260=>array(-173,-14,508,683),8261=>array(53,-175,444,698),8262=>array(12,-175,403,698),8263=>array(79,-13,970,684),8264=>array(79,-13,870,684),8265=>array(67,-13,859,684),8266=>array(57,0,525,449),8267=>array(-55,-154,559,662),8268=>array(92,155,614,545),8269=>array(69,166,591,556),8270=>array(65,-24,456,409),8271=>array(2,-183,245,459),8272=>array(97,-14,1019,731),8273=>array(65,-23,581,884),8274=>array(18,-14,699,689),8275=>array(62,268,665,424),8276=>array(205,-279,1067,-19),8277=>array(97,-24,836,711),8278=>array(77,-25,527,597),8279=>array(128,398,881,685),8280=>array(55,-25,701,688),8281=>array(-3,-25,777,597),8282=>array(26,-25,362,802),8283=>array(75,-210,721,809),8284=>array(66,-44,637,529),8285=>array(23,-25,359,802),8286=>array(20,-25,356,802),8304=>array(159,386,461,805),8305=>array(188,381,364,847),8308=>array(134,390,474,800),8309=>array(125,390,453,800),8310=>array(142,382,462,798),8311=>array(191,390,502,791),8312=>array(137,386,448,804),8313=>array(135,385,456,800),8314=>array(168,456,417,686),8315=>array(177,531,426,611),8316=>array(161,461,441,681),8317=>array(169,321,382,900),8318=>array(141,320,354,900),8319=>array(116,383,452,700),8320=>array(0,-210,302,209),8321=>array(-9,-200,262,209),8322=>array(-2,-200,309,209),8323=>array(-11,-205,293,213),8324=>array(-17,-200,323,210),8325=>array(-12,-204,316,206),8326=>array(-4,-204,316,212),8327=>array(41,-200,352,201),8328=>array(-8,-205,303,213),8329=>array(-16,-205,305,210),8330=>array(25,-114,274,116),8331=>array(22,-39,271,41),8332=>array(10,-119,290,101),8333=>array(20,-300,233,279),8334=>array(-6,-300,207,280),8336=>array(9,-205,334,120),8337=>array(16,-204,284,120),8338=>array(17,-204,319,120),8339=>array(-21,-203,330,121),8340=>array(8,-204,276,120),8352=>array(61,1,612,678),8353=>array(32,-85,677,753),8354=>array(32,-18,677,685),8355=>array(-13,0,660,669),8356=>array(-32,-12,510,683),8357=>array(12,-114,727,582),8358=>array(-27,-15,748,669),8359=>array(10,-15,983,673),8360=>array(0,-13,1004,669),8361=>array(18,-18,940,669),8362=>array(60,-4,923,605),8363=>array(73,-4,649,802),8364=>array(86,-19,841,676),8365=>array(34,0,814,667),8366=>array(103,0,726,672),8367=>array(7,-212,1480,693),8368=>array(12,-197,579,692),8369=>array(16,-5,709,673),8370=>array(82,-37,692,704),8371=>array(15,-5,737,674),8372=>array(69,-19,584,676),8373=>array(10,-99,565,750),8376=>array(109,-1,648,676),8377=>array(146,-112,761,675),8400=>array(-571,665,95,841),8401=>array(-564,659,102,835),8406=>array(-603,560,19,845),8407=>array(-564,615,58,900),8411=>array(-477,470,69,618),8412=>array(-677,470,69,618),8413=>array(-781,-238,297,840),8414=>array(-760,-213,269,816),8415=>array(-775,-230,291,836),8416=>array(-781,-238,297,840),8417=>array(-570,558,77,843),8421=>array(-309,-96,40,604),8423=>array(-328,15,189,559),8424=>array(-475,-193,71,-45),8426=>array(-612,111,10,396),8427=>array(-577,-98,239,599),8428=>array(-650,-219,16,-43),8429=>array(-646,-225,20,-49),8430=>array(-621,-290,1,-5),8431=>array(-623,-288,-1,-3),8448=>array(58,-14,739,683),8449=>array(68,-14,749,683),8451=>array(106,-18,1020,685),8453=>array(6,-14,687,686),8454=>array(6,-14,709,686),8455=>array(13,-19,650,691),8456=>array(8,-19,699,691),8457=>array(104,0,955,683),8458=>array(1,-207,471,462),8459=>array(19,-33,1056,723),8462=>array(20,-9,531,699),8463=>array(17,-9,528,699),8464=>array(-11,-149,1065,678),8465=>array(8,-37,703,761),8466=>array(-2,-86,895,689),8467=>array(24,-14,527,677),8468=>array(0,-14,911,676),8470=>array(1,-15,855,669),8471=>array(53,-68,882,761),8472=>array(-15,-193,642,479),8475=>array(-1,-8,808,691),8476=>array(23,-44,856,762),8478=>array(-4,-14,710,676),8479=>array(0,-93,714,826),8480=>array(70,203,1054,682),8481=>array(88,0,1080,669),8482=>array(110,204,1081,668),8483=>array(138,-93,788,826),8486=>array(0,0,774,685),8487=>array(34,-16,808,669),8489=>array(40,10,295,472),8490=>array(0,0,723,669),8491=>array(0,0,660,900),8492=>array(-3,-22,880,684),8494=>array(40,-10,535,473),8495=>array(24,-13,417,462),8497=>array(-6,-66,993,705),8498=>array(0,0,673,669),8499=>array(-5,-44,1301,704),8501=>array(21,0,626,644),8502=>array(23,0,527,645),8503=>array(11,-1,386,644),8504=>array(123,-5,580,645),8506=>array(59,-13,952,651),8507=>array(7,-1,1119,669),8523=>array(93,-19,787,682),8525=>array(42,-14,1067,683),8526=>array(2,-1,453,448),8531=>array(79,-12,802,688),8532=>array(102,-15,847,688),8533=>array(73,-14,846,688),8534=>array(107,-14,877,689),8535=>array(92,-18,855,688),8536=>array(107,-14,864,688),8537=>array(79,-12,817,689),8538=>array(86,-18,828,688),8539=>array(72,-13,841,688),8540=>array(86,-18,842,688),8541=>array(92,-15,846,688),8542=>array(77,-15,838,688),8543=>array(79,-12,784,688),8544=>array(0,0,438,669),8545=>array(0,0,761,669),8546=>array(0,0,1084,669),8547=>array(0,-18,1151,669),8548=>array(128,-18,778,669),8549=>array(128,-18,1101,669),8550=>array(128,-18,1409,669),8551=>array(128,-18,1732,669),8552=>array(0,0,1056,669),8553=>array(0,0,718,669),8554=>array(0,0,1073,669),8555=>array(0,0,1398,669),8556=>array(0,0,612,669),8557=>array(41,-18,686,685),8558=>array(0,0,731,669),8559=>array(0,-12,946,669),8560=>array(40,-9,301,685),8561=>array(40,-9,560,685),8562=>array(40,-9,822,685),8563=>array(40,-13,686,685),8564=>array(54,-13,439,462),8565=>array(54,-13,699,685),8566=>array(54,-13,959,685),8567=>array(54,-13,1219,685),8568=>array(40,-13,783,685),8569=>array(-30,-13,485,462),8570=>array(-30,-13,747,685),8571=>array(-30,-13,1007,685),8572=>array(42,-9,330,699),8573=>array(24,-13,421,462),8574=>array(20,-13,558,699),8575=>array(10,-9,746,462),8592=>array(51,36,880,415),8593=>array(106,-189,485,640),8594=>array(51,36,880,415),8595=>array(85,-189,464,640),8596=>array(51,36,913,415),8597=>array(83,-205,462,657),8598=>array(132,-98,751,521),8599=>array(112,-58,731,561),8600=>array(123,-98,742,521),8601=>array(112,-138,731,481),8602=>array(51,-43,880,489),8603=>array(61,-43,890,489),8606=>array(51,36,880,415),8607=>array(116,-189,495,640),8608=>array(61,36,890,415),8609=>array(86,-189,465,640),8610=>array(51,36,891,415),8611=>array(51,36,891,415),8612=>array(51,-23,880,477),8613=>array(45,-188,545,641),8614=>array(91,-23,920,477),8615=>array(155,-187,655,642),8616=>array(61,-232,578,737),8632=>array(60,-98,751,674),8633=>array(31,-213,920,667),8636=>array(63,182,950,415),8637=>array(113,182,1000,415),8638=>array(200,-145,433,742),8639=>array(140,-145,373,742),8640=>array(73,182,960,415),8641=>array(63,182,950,415),8642=>array(190,-145,423,742),8643=>array(110,-145,343,742),8644=>array(51,-164,880,615),8645=>array(76,-189,855,640),8646=>array(51,-164,900,615),8647=>array(71,-164,900,615),8648=>array(76,-209,855,620),8649=>array(31,-164,860,615),8650=>array(56,-169,835,660),8651=>array(73,12,990,587),8652=>array(73,15,970,591),8656=>array(76,-45,953,558),8657=>array(97,-162,700,678),8658=>array(61,-45,938,558),8659=>array(30,-162,633,678),8660=>array(76,-45,957,558),8661=>array(36,-182,704,698),8668=>array(57,23,1103,491),8669=>array(77,23,1123,491),8676=>array(111,-23,920,477),8677=>array(61,-23,870,477),8704=>array(169,-7,740,669),8705=>array(59,-29,611,800),8706=>array(16,-20,472,685),8707=>array(14,0,694,669),8708=>array(14,-135,694,793),8709=>array(52,-18,761,688),8710=>array(6,0,608,688),8711=>array(116,-18,718,670),8712=>array(71,0,606,538),8713=>array(71,-80,613,620),8714=>array(76,-17,484,474),8715=>array(12,0,547,538),8716=>array(8,-80,547,620),8717=>array(92,-18,500,473),8718=>array(57,0,590,691),8719=>array(3,-123,941,746),8720=>array(-9,-123,929,746),8721=>array(-12,-123,782,752),8722=>array(51,209,555,297),8723=>array(99,-54,603,514),8724=>array(62,-16,614,733),8725=>array(0,-12,686,688),8726=>array(120,-12,657,688),8727=>array(112,95,425,443),8728=>array(112,71,485,443),8729=>array(134,104,458,428),8730=>array(53,-35,723,900),8731=>array(53,-35,723,900),8732=>array(53,-35,723,900),8733=>array(71,42,726,456),8734=>array(15,42,733,456),8735=>array(62,0,447,385),8739=>array(72,-162,168,678),8740=>array(30,-162,561,678),8741=>array(72,-162,406,678),8742=>array(0,-162,705,678),8743=>array(42,0,612,574),8744=>array(112,0,682,574),8745=>array(32,0,674,594),8746=>array(70,0,712,594),8747=>array(-3,-200,698,900),8748=>array(-3,-200,1008,900),8749=>array(-3,-200,1318,900),8756=>array(62,-9,566,497),8757=>array(62,-9,566,497),8758=>array(118,-49,266,495),8759=>array(107,-51,652,495),8761=>array(61,17,766,495),8764=>array(102,156,687,366),8770=>array(62,87,614,480),8771=>array(62,87,614,480),8773=>array(52,-3,637,576),8776=>array(92,36,677,486),8778=>array(92,-28,677,569),8784=>array(63,107,567,635),8785=>array(63,-143,567,635),8786=>array(73,-143,577,635),8787=>array(51,-143,579,635),8788=>array(78,17,827,495),8789=>array(70,19,819,497),8790=>array(72,87,624,428),8791=>array(73,107,577,693),8793=>array(64,110,568,730),8794=>array(64,110,568,730),8797=>array(64,110,639,774),8798=>array(63,110,567,693),8799=>array(64,110,568,803),8800=>array(63,-13,567,519),8801=>array(87,12,591,500),8804=>array(71,1,589,672),8805=>array(91,1,629,668),8806=>array(81,-199,605,672),8807=>array(101,-199,619,668),8818=>array(12,-115,597,661),8819=>array(59,-115,644,661),8834=>array(81,-12,716,526),8835=>array(20,-12,655,526),8976=>array(75,64,695,362),8994=>array(93,131,921,400),8995=>array(62,131,889,400),9001=>array(75,-162,462,679),9002=>array(16,-162,403,679),9251=>array(29,0,508,186),9674=>array(48,0,496,740),9675=>array(17,-95,721,609),9676=>array(38,-67,826,722),9688=>array(0,0,644,673),9702=>array(90,101,490,501),9711=>array(53,-68,882,761),9824=>array(80,0,622,555),9825=>array(119,-34,691,561),9826=>array(102,-31,605,590),9827=>array(83,0,589,588),9828=>array(41,-40,631,680),9829=>array(119,-34,691,561),9830=>array(101,-31,605,590),9831=>array(39,-40,663,595),9833=>array(-38,0,373,694),9834=>array(-21,0,528,694),9835=>array(13,0,756,729),9836=>array(13,0,756,729),9837=>array(0,-36,452,730),9838=>array(34,-214,494,712),9839=>array(-8,-197,551,762),11799=>array(42,-56,355,323),42790=>array(-24,-209,799,669),42791=>array(-13,-207,475,699),42792=>array(89,-78,869,669),42793=>array(33,-78,649,594),42794=>array(68,-19,722,691),42795=>array(59,-14,557,673),42796=>array(28,-106,603,688),42797=>array(7,-205,484,461),42798=>array(28,-182,630,688),42799=>array(7,-205,582,461),42888=>array(40,-93,367,81),42889=>array(23,-13,264,459),42890=>array(51,107,304,399),42891=>array(197,177,403,760),42892=>array(225,375,403,760),42922=>array(82,0,962,669),43002=>array(-19,-13,717,458),64256=>array(-95,-205,788,703),64257=>array(-95,-205,607,703),64258=>array(-95,-205,644,704),64259=>array(-95,-205,875,703),64260=>array(-95,-205,913,704),64261=>array(-95,-205,654,698),64262=>array(-19,-13,666,740),64275=>array(86,-14,1133,676),64276=>array(86,-14,1137,676),64277=>array(86,-200,1110,676),64278=>array(86,-200,1132,676),64279=>array(86,-200,1387,676),64285=>array(115,159,339,645),64286=>array(394,652,609,724),64287=>array(143,160,605,645),64288=>array(43,0,629,644),64297=>array(77,209,601,506),64298=>array(102,0,836,721),64299=>array(102,0,790,721),64300=>array(102,0,836,721),64301=>array(102,0,790,721),64302=>array(51,-110,656,644),64303=>array(51,-235,656,644),64304=>array(51,-123,656,644),64305=>array(23,0,527,645),64306=>array(11,-1,386,644),64307=>array(143,-5,600,645),64308=>array(50,-5,636,645),64309=>array(111,-5,332,644),64310=>array(76,-7,367,644),64312=>array(88,0,625,644),64313=>array(97,301,339,645),64314=>array(143,-285,573,645),64315=>array(20,0,556,645),64316=>array(140,-5,586,899),64318=>array(68,0,631,637),64320=>array(8,0,404,644),64321=>array(68,0,566,645),64323=>array(59,-280,542,645),64324=>array(18,0,548,644),64326=>array(38,0,624,645),64327=>array(-17,-300,605,645),64328=>array(143,-5,547,645),64329=>array(69,0,757,645),64330=>array(10,-5,616,645),64331=>array(143,-5,359,720),64332=>array(23,0,527,709),64333=>array(20,0,556,709),64334=>array(18,0,548,709),64335=>array(156,0,656,899),65532=>array(85,-27,797,667),65533=>array(107,-63,971,800),65535=>array(6,-81,742,774)); +$cw=array(0=>600,32=>250,33=>389,34=>555,35=>500,36=>500,37=>833,38=>778,39=>278,40=>333,41=>333,42=>500,43=>570,44=>250,45=>333,46=>250,47=>335,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>250,59=>250,60=>570,61=>576,62=>570,63=>500,64=>832,65=>696,66=>640,67=>620,68=>723,69=>630,70=>609,71=>706,72=>753,73=>374,74=>500,75=>663,76=>609,77=>876,78=>705,79=>676,80=>600,81=>677,82=>667,83=>506,84=>593,85=>714,86=>703,87=>928,88=>699,89=>639,90=>562,91=>333,92=>400,93=>333,94=>570,95=>500,96=>333,97=>509,98=>481,99=>428,100=>510,101=>417,102=>485,103=>490,104=>546,105=>292,106=>333,107=>509,108=>294,109=>763,110=>526,111=>474,112=>482,113=>496,114=>400,115=>356,116=>286,117=>530,118=>439,119=>652,120=>476,121=>433,122=>410,123=>348,124=>270,125=>348,126=>570,160=>250,161=>389,162=>410,163=>522,164=>560,165=>645,166=>220,167=>500,168=>333,169=>747,170=>266,171=>500,172=>606,173=>333,174=>747,175=>333,176=>400,177=>570,178=>300,179=>300,180=>333,181=>576,182=>500,183=>250,184=>333,185=>272,186=>300,187=>500,188=>750,189=>750,190=>750,191=>500,192=>696,193=>696,194=>696,195=>696,196=>696,197=>696,198=>911,199=>620,200=>630,201=>630,202=>630,203=>630,204=>374,205=>374,206=>374,207=>374,208=>723,209=>705,210=>676,211=>676,212=>676,213=>676,214=>676,215=>570,216=>676,217=>714,218=>714,219=>714,220=>714,221=>639,222=>597,223=>580,224=>509,225=>509,226=>509,227=>509,228=>509,229=>509,230=>697,231=>417,232=>417,233=>417,234=>417,235=>417,236=>292,237=>292,238=>292,239=>292,240=>450,241=>526,242=>474,243=>474,244=>474,245=>474,246=>474,247=>570,248=>474,249=>530,250=>530,251=>530,252=>530,253=>433,254=>492,255=>433,256=>696,257=>509,258=>696,259=>509,260=>734,261=>509,262=>620,263=>428,264=>620,265=>428,266=>620,267=>428,268=>620,269=>428,270=>723,271=>609,272=>723,273=>505,274=>630,275=>417,276=>630,277=>417,278=>630,279=>417,280=>610,281=>417,282=>667,283=>417,284=>706,285=>490,286=>706,287=>490,288=>706,289=>490,290=>706,291=>490,292=>753,293=>546,294=>758,295=>547,296=>389,297=>292,298=>389,299=>292,300=>389,301=>292,302=>421,303=>292,304=>389,305=>292,306=>834,307=>516,308=>500,309=>333,310=>667,311=>509,312=>514,313=>609,314=>294,315=>609,316=>294,317=>638,318=>382,319=>609,320=>434,321=>609,322=>304,323=>705,324=>526,325=>705,326=>526,327=>705,328=>526,329=>526,330=>793,331=>495,332=>676,333=>474,334=>676,335=>474,336=>676,337=>474,338=>875,339=>680,340=>667,341=>400,342=>667,343=>400,344=>667,345=>400,346=>506,347=>356,348=>506,349=>356,350=>508,351=>337,352=>506,353=>356,354=>593,355=>286,356=>593,357=>426,358=>593,359=>317,360=>714,361=>530,362=>714,363=>530,364=>714,365=>530,366=>714,367=>530,368=>714,369=>530,370=>722,371=>556,372=>928,373=>652,374=>639,375=>433,376=>639,377=>562,378=>410,379=>562,380=>410,381=>562,382=>410,383=>485,384=>492,385=>778,386=>648,387=>486,388=>640,389=>502,390=>702,391=>870,392=>600,393=>723,394=>860,395=>717,396=>505,397=>546,398=>670,399=>629,400=>608,401=>639,402=>435,403=>885,404=>629,405=>738,406=>284,407=>389,408=>748,409=>489,410=>324,411=>508,412=>853,413=>824,414=>506,415=>670,416=>804,417=>579,418=>1014,419=>755,420=>718,421=>484,422=>661,423=>526,424=>400,425=>701,426=>455,427=>333,428=>611,429=>385,430=>611,431=>879,432=>665,433=>724,434=>626,435=>694,436=>591,437=>562,438=>417,439=>609,440=>614,441=>481,442=>428,443=>500,444=>604,445=>448,446=>406,447=>483,448=>260,449=>418,450=>570,451=>333,452=>1296,453=>1123,454=>889,455=>1109,456=>887,457=>556,458=>1132,459=>945,460=>789,461=>696,462=>509,463=>374,464=>292,465=>676,466=>474,467=>714,468=>530,469=>722,470=>530,471=>722,472=>530,473=>722,474=>530,475=>722,476=>530,477=>417,478=>696,479=>509,480=>667,481=>509,482=>911,483=>697,484=>730,485=>510,486=>706,487=>490,488=>663,489=>509,490=>667,491=>474,492=>667,493=>474,494=>609,495=>470,496=>333,497=>1335,498=>1123,499=>889,500=>706,501=>490,502=>992,503=>595,504=>705,505=>526,506=>667,507=>509,508=>911,509=>698,510=>676,511=>474,512=>696,513=>509,514=>696,515=>509,516=>630,517=>417,518=>630,519=>417,520=>374,521=>292,522=>374,523=>292,524=>676,525=>474,526=>676,527=>474,528=>667,529=>400,530=>667,531=>400,532=>714,533=>530,534=>714,535=>530,536=>506,537=>356,538=>593,539=>286,540=>506,541=>491,542=>753,543=>546,544=>719,545=>558,546=>568,547=>500,548=>667,549=>444,550=>696,551=>509,552=>610,553=>417,554=>676,555=>474,556=>676,557=>474,558=>676,559=>474,560=>722,561=>474,562=>639,563=>433,564=>422,565=>591,566=>393,567=>333,568=>810,569=>810,570=>695,571=>620,572=>428,573=>609,574=>593,575=>356,576=>410,577=>476,578=>467,579=>640,580=>714,581=>722,582=>610,583=>399,584=>500,585=>394,586=>732,587=>574,588=>669,589=>409,590=>671,591=>438,592=>509,593=>570,594=>570,595=>483,596=>444,597=>412,598=>476,599=>644,600=>408,601=>409,602=>546,603=>448,604=>463,605=>527,606=>472,607=>359,608=>656,609=>456,610=>494,611=>506,612=>582,613=>546,614=>556,615=>526,616=>318,617=>299,618=>278,619=>378,620=>378,621=>277,622=>639,623=>783,624=>728,625=>727,626=>489,627=>504,628=>513,629=>461,630=>700,631=>688,632=>604,633=>420,634=>389,635=>435,636=>389,637=>389,638=>424,639=>364,640=>496,641=>516,642=>365,643=>505,644=>505,645=>433,646=>601,647=>319,648=>286,649=>550,650=>503,651=>486,652=>439,653=>652,654=>458,655=>406,656=>604,657=>473,658=>470,659=>503,660=>390,661=>387,662=>427,663=>437,664=>778,665=>487,666=>453,667=>655,668=>540,669=>429,670=>509,671=>446,672=>604,673=>380,674=>395,675=>752,676=>848,677=>820,678=>607,679=>595,680=>656,681=>831,682=>585,683=>535,684=>458,685=>463,686=>529,687=>586,688=>396,689=>397,690=>242,691=>243,692=>267,693=>341,694=>368,695=>440,696=>300,697=>250,698=>408,699=>250,700=>250,701=>250,702=>300,703=>300,704=>340,705=>340,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>333,713=>333,714=>333,715=>333,716=>300,717=>333,718=>333,719=>333,720=>278,721=>278,722=>300,723=>300,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>333,735=>352,736=>374,737=>227,738=>264,739=>340,740=>340,741=>526,742=>526,743=>526,744=>526,745=>526,746=>519,747=>519,748=>333,749=>333,750=>480,751=>333,752=>333,753=>333,754=>333,755=>327,756=>261,757=>333,758=>333,759=>400,760=>278,761=>175,762=>175,763=>175,764=>175,765=>0,766=>337,767=>432,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,885=>199,890=>0,894=>333,900=>330,901=>333,902=>696,903=>250,904=>819,905=>955,906=>539,908=>835,910=>961,911=>889,912=>312,913=>696,914=>640,915=>576,916=>751,917=>630,918=>562,919=>753,920=>675,921=>389,922=>663,923=>696,924=>889,925=>705,926=>629,927=>675,928=>753,929=>600,931=>701,932=>621,933=>710,934=>799,935=>699,936=>919,937=>750,938=>374,939=>710,940=>570,941=>439,942=>548,943=>312,944=>536,945=>570,946=>538,947=>532,948=>506,949=>439,950=>437,951=>548,952=>477,953=>312,954=>549,955=>510,956=>589,957=>522,958=>494,959=>512,960=>612,961=>513,962=>468,963=>525,964=>444,965=>536,966=>615,967=>495,968=>693,969=>687,970=>312,971=>536,972=>512,973=>536,974=>687,976=>489,977=>613,978=>722,979=>931,980=>722,981=>623,982=>688,983=>527,984=>615,985=>512,986=>608,987=>508,988=>598,989=>543,990=>708,991=>377,992=>731,993=>631,1008=>534,1009=>519,1010=>477,1011=>333,1012=>670,1013=>411,1014=>439,1015=>597,1016=>533,1017=>631,1018=>889,1019=>761,1020=>506,1021=>637,1022=>631,1023=>637,1024=>630,1025=>630,1026=>768,1027=>576,1028=>637,1029=>506,1030=>374,1031=>374,1032=>500,1033=>1053,1034=>1019,1035=>831,1036=>710,1037=>753,1038=>739,1039=>753,1040=>696,1041=>648,1042=>640,1043=>576,1044=>760,1045=>630,1046=>1052,1047=>651,1048=>753,1049=>753,1050=>710,1051=>786,1052=>876,1053=>753,1054=>676,1055=>753,1056=>600,1057=>620,1058=>593,1059=>739,1060=>799,1061=>699,1062=>754,1063=>693,1064=>1111,1065=>1111,1066=>756,1067=>959,1068=>624,1069=>689,1070=>1038,1071=>757,1072=>509,1073=>478,1074=>467,1075=>374,1076=>456,1077=>417,1078=>941,1079=>458,1080=>530,1081=>530,1082=>538,1083=>580,1084=>752,1085=>533,1086=>474,1087=>526,1088=>482,1089=>428,1090=>763,1091=>496,1092=>759,1093=>476,1094=>529,1095=>529,1096=>776,1097=>777,1098=>663,1099=>744,1100=>506,1101=>458,1102=>733,1103=>572,1104=>417,1105=>417,1106=>541,1107=>374,1108=>454,1109=>356,1110=>292,1111=>292,1112=>333,1113=>802,1114=>754,1115=>545,1116=>538,1117=>530,1118=>496,1119=>530,1120=>948,1121=>693,1122=>751,1123=>760,1124=>1005,1125=>718,1126=>906,1127=>732,1128=>1222,1129=>923,1130=>1052,1131=>828,1132=>1377,1133=>1014,1134=>604,1135=>446,1136=>938,1137=>779,1138=>667,1139=>517,1140=>796,1141=>584,1142=>796,1143=>584,1144=>1131,1145=>907,1146=>864,1147=>616,1148=>959,1149=>690,1150=>948,1151=>635,1152=>608,1153=>434,1154=>372,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>778,1163=>544,1164=>634,1165=>499,1166=>624,1167=>483,1168=>601,1169=>448,1170=>606,1171=>448,1172=>719,1173=>529,1174=>1080,1175=>941,1176=>651,1177=>450,1178=>772,1179=>538,1180=>780,1181=>558,1182=>750,1183=>538,1184=>862,1185=>688,1186=>754,1187=>533,1188=>965,1189=>664,1190=>1089,1191=>783,1192=>661,1193=>522,1194=>637,1195=>419,1196=>614,1197=>769,1198=>639,1199=>660,1200=>638,1201=>660,1202=>694,1203=>500,1204=>984,1205=>579,1206=>713,1207=>538,1208=>713,1209=>529,1210=>727,1211=>546,1212=>850,1213=>570,1214=>844,1215=>570,1216=>374,1217=>1052,1218=>941,1219=>705,1220=>509,1221=>786,1222=>580,1223=>753,1224=>483,1225=>753,1226=>539,1227=>703,1228=>485,1229=>876,1230=>758,1231=>374,1232=>696,1233=>509,1234=>696,1235=>509,1236=>891,1237=>646,1238=>630,1239=>417,1240=>609,1241=>403,1242=>609,1243=>403,1244=>1052,1245=>941,1246=>651,1247=>458,1248=>604,1249=>479,1250=>753,1251=>539,1252=>753,1253=>539,1254=>676,1255=>474,1256=>670,1257=>461,1258=>670,1259=>461,1260=>689,1261=>458,1262=>739,1263=>496,1264=>739,1265=>496,1266=>739,1267=>496,1268=>693,1269=>529,1270=>606,1271=>428,1272=>959,1273=>744,1296=>652,1297=>480,1298=>786,1299=>530,1306=>677,1307=>496,1308=>928,1309=>652,1310=>736,1311=>544,1329=>889,1330=>787,1331=>858,1332=>941,1333=>775,1334=>765,1335=>805,1336=>762,1337=>938,1338=>869,1339=>765,1340=>756,1341=>966,1342=>992,1343=>748,1344=>469,1345=>731,1346=>941,1347=>745,1348=>966,1349=>641,1350=>929,1351=>774,1352=>779,1353=>784,1354=>841,1355=>775,1356=>955,1357=>779,1358=>927,1359=>555,1360=>763,1361=>641,1362=>656,1363=>824,1364=>869,1365=>768,1366=>754,1369=>300,1370=>300,1371=>270,1372=>307,1373=>270,1374=>324,1375=>322,1377=>818,1378=>548,1379=>601,1380=>608,1381=>551,1382=>547,1383=>496,1384=>548,1385=>586,1386=>585,1387=>548,1388=>269,1389=>798,1390=>594,1391=>544,1392=>548,1393=>513,1394=>583,1395=>560,1396=>551,1397=>397,1398=>567,1399=>447,1400=>548,1401=>411,1402=>810,1403=>464,1404=>548,1405=>551,1406=>595,1407=>821,1408=>548,1409=>557,1410=>312,1411=>821,1412=>550,1413=>511,1414=>668,1415=>602,1417=>333,1418=>349,1423=>759,1425=>0,1426=>0,1427=>0,1428=>0,1429=>0,1430=>0,1431=>0,1432=>0,1433=>0,1434=>0,1435=>0,1436=>0,1437=>0,1438=>0,1439=>0,1440=>0,1441=>0,1442=>0,1443=>0,1444=>0,1445=>0,1446=>0,1447=>0,1448=>0,1449=>0,1450=>0,1451=>0,1452=>0,1453=>0,1454=>0,1455=>0,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>433,1471=>0,1472=>155,1473=>0,1474=>0,1475=>400,1476=>0,1477=>0,1478=>347,1479=>0,1488=>593,1489=>498,1490=>339,1491=>523,1492=>561,1493=>266,1494=>291,1495=>559,1496=>576,1497=>266,1498=>496,1499=>501,1500=>510,1501=>542,1502=>581,1503=>273,1504=>347,1505=>512,1506=>552,1507=>493,1508=>491,1509=>537,1510=>561,1511=>544,1512=>502,1513=>716,1514=>571,1520=>532,1521=>532,1522=>532,1523=>396,1524=>432,3585=>590,3586=>578,3587=>661,3588=>592,3589=>592,3590=>699,3591=>447,3592=>534,3593=>692,3594=>578,3595=>659,3596=>899,3597=>804,3598=>633,3599=>637,3600=>484,3601=>730,3602=>876,3603=>915,3604=>592,3605=>592,3606=>578,3607=>670,3608=>542,3609=>671,3610=>621,3611=>618,3612=>621,3613=>617,3614=>708,3615=>708,3616=>637,3617=>589,3618=>552,3619=>484,3620=>590,3621=>569,3622=>637,3623=>526,3624=>599,3625=>802,3626=>579,3627=>668,3628=>778,3629=>560,3630=>514,3631=>510,3632=>442,3633=>0,3634=>423,3635=>452,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>665,3648=>357,3649=>624,3650=>529,3651=>486,3652=>475,3653=>423,3654=>500,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>657,3664=>548,3665=>548,3666=>592,3667=>614,3668=>631,3669=>643,3670=>508,3671=>744,3672=>622,3673=>585,3674=>721,3675=>1381,4256=>475,4257=>469,4258=>573,4259=>650,4260=>502,4261=>506,4262=>481,4263=>746,4264=>491,4265=>495,4266=>888,4267=>488,4268=>464,4269=>745,4270=>483,4271=>489,4272=>721,4273=>464,4274=>578,4275=>590,4276=>611,4277=>491,4278=>663,4279=>489,4280=>544,4281=>479,4282=>527,4283=>488,4284=>560,4285=>461,4286=>467,4287=>546,4288=>483,4289=>487,4290=>562,4291=>477,4292=>491,4293=>471,4304=>522,4305=>518,4306=>621,4307=>716,4308=>517,4309=>519,4310=>518,4311=>796,4312=>518,4313=>518,4314=>934,4315=>517,4316=>519,4317=>787,4318=>515,4319=>514,4320=>788,4321=>573,4322=>620,4323=>593,4324=>639,4325=>516,4326=>714,4327=>518,4328=>572,4329=>518,4330=>555,4331=>518,4332=>562,4333=>509,4334=>572,4335=>677,4336=>523,4337=>517,4338=>595,4339=>480,4340=>519,4341=>484,4342=>838,4343=>517,4344=>516,4345=>621,4346=>522,4347=>410,4348=>389,5024=>718,5025=>768,5026=>633,5027=>878,5028=>1001,5029=>371,5030=>576,5031=>754,5032=>531,5033=>774,5034=>692,5035=>499,5036=>668,5037=>829,5038=>575,5039=>681,5040=>485,5041=>607,5042=>885,5043=>974,5044=>588,5045=>583,5046=>726,5047=>947,5048=>558,5049=>832,5050=>1096,5051=>780,5052=>595,5053=>869,5054=>752,5055=>710,5056=>761,5057=>802,5058=>760,5059=>656,5060=>655,5061=>982,5062=>684,5063=>801,5064=>805,5065=>1042,5066=>755,5067=>612,5068=>707,5069=>889,5070=>584,5071=>623,5072=>536,5073=>763,5074=>763,5075=>549,5076=>1052,5077=>600,5078=>730,5079=>714,5080=>714,5081=>697,5082=>543,5083=>943,5084=>718,5085=>630,5086=>660,5087=>692,5088=>841,5089=>861,5090=>617,5091=>733,5092=>898,5093=>896,5094=>781,5095=>612,5096=>830,5097=>948,5098=>886,5099=>757,5100=>796,5101=>578,5102=>601,5103=>797,5104=>623,5105=>886,5106=>730,5107=>827,5108=>648,7424=>611,7425=>587,7426=>683,7427=>437,7428=>428,7429=>450,7431=>401,7432=>463,7433=>306,7434=>268,7435=>449,7436=>404,7437=>536,7439=>443,7448=>361,7450=>390,7451=>350,7452=>449,7456=>384,7457=>527,7458=>395,7579=>385,7581=>285,7582=>341,7583=>320,7588=>218,7589=>242,7592=>380,7593=>236,7596=>497,7597=>529,7598=>401,7599=>404,7600=>364,7601=>349,7602=>412,7603=>224,7604=>332,7605=>197,7606=>344,7607=>356,7608=>354,7609=>334,7612=>453,7613=>318,7614=>317,7615=>348,7680=>696,7681=>509,7682=>640,7683=>481,7684=>640,7685=>481,7686=>640,7687=>481,7688=>620,7689=>417,7690=>723,7691=>510,7692=>723,7693=>510,7694=>723,7695=>510,7696=>723,7697=>495,7698=>723,7699=>510,7700=>618,7701=>417,7702=>618,7703=>417,7704=>630,7705=>417,7706=>630,7707=>417,7708=>610,7709=>417,7710=>609,7711=>485,7712=>706,7713=>490,7714=>753,7715=>546,7716=>753,7717=>546,7718=>753,7719=>546,7720=>758,7721=>546,7722=>753,7723=>546,7724=>374,7725=>292,7726=>374,7727=>292,7728=>663,7729=>509,7730=>663,7731=>509,7732=>663,7733=>509,7734=>609,7735=>294,7736=>609,7737=>294,7738=>609,7739=>294,7740=>609,7741=>294,7742=>876,7743=>763,7744=>876,7745=>763,7746=>876,7747=>763,7748=>705,7749=>526,7750=>705,7751=>526,7752=>705,7753=>526,7754=>705,7755=>526,7756=>722,7757=>474,7758=>722,7759=>474,7760=>722,7761=>474,7762=>722,7763=>474,7764=>600,7765=>482,7766=>600,7767=>482,7768=>667,7769=>400,7770=>667,7771=>400,7772=>667,7773=>400,7774=>667,7775=>400,7776=>506,7777=>356,7778=>506,7779=>356,7780=>556,7781=>356,7782=>556,7783=>356,7784=>506,7785=>356,7786=>593,7787=>286,7788=>593,7789=>286,7790=>593,7791=>286,7792=>593,7793=>286,7794=>714,7795=>530,7796=>714,7797=>530,7798=>714,7799=>530,7800=>722,7801=>530,7802=>714,7803=>530,7804=>703,7805=>439,7806=>703,7807=>439,7808=>928,7809=>652,7810=>928,7811=>652,7812=>928,7813=>652,7814=>928,7815=>652,7816=>928,7817=>652,7818=>699,7819=>476,7820=>699,7821=>476,7822=>639,7823=>433,7824=>562,7825=>410,7826=>562,7827=>410,7828=>562,7829=>410,7830=>546,7831=>286,7832=>652,7833=>433,7834=>509,7835=>485,7836=>465,7837=>465,7838=>830,7839=>506,7840=>696,7841=>509,7842=>696,7843=>509,7844=>696,7845=>509,7846=>696,7847=>509,7848=>696,7849=>509,7850=>696,7851=>509,7852=>696,7853=>509,7854=>667,7855=>509,7856=>667,7857=>509,7858=>667,7859=>509,7860=>667,7861=>509,7862=>696,7863=>509,7864=>630,7865=>417,7866=>630,7867=>417,7868=>630,7869=>417,7870=>630,7871=>417,7872=>630,7873=>417,7874=>630,7875=>417,7876=>618,7877=>417,7878=>630,7879=>417,7880=>374,7881=>292,7882=>374,7883=>292,7884=>676,7885=>474,7886=>676,7887=>474,7888=>676,7889=>474,7890=>676,7891=>474,7892=>676,7893=>474,7894=>686,7895=>474,7896=>676,7897=>474,7898=>804,7899=>579,7900=>804,7901=>579,7902=>804,7903=>579,7904=>804,7905=>579,7906=>804,7907=>579,7908=>714,7909=>530,7910=>714,7911=>530,7912=>879,7913=>665,7914=>879,7915=>665,7916=>879,7917=>665,7918=>879,7919=>665,7920=>879,7921=>665,7922=>639,7923=>433,7924=>639,7925=>433,7926=>639,7927=>433,7928=>639,7929=>433,7936=>570,7937=>570,7938=>570,7939=>570,7940=>570,7941=>570,7942=>570,7943=>570,7944=>696,7945=>696,7946=>830,7947=>841,7948=>811,7949=>812,7950=>755,7951=>746,7952=>439,7953=>439,7954=>439,7955=>439,7956=>439,7957=>439,7960=>787,7961=>818,7962=>917,7963=>931,7964=>954,7965=>948,7968=>548,7969=>548,7970=>548,7971=>548,7972=>548,7973=>548,7974=>548,7975=>548,7976=>937,7977=>960,7978=>1073,7979=>1092,7980=>1109,7981=>1115,7982=>1020,7983=>1032,7984=>312,7985=>312,7986=>312,7987=>312,7988=>312,7989=>312,7990=>312,7991=>312,7992=>517,7993=>564,7994=>670,7995=>686,7996=>706,7997=>707,7998=>635,7999=>627,8000=>512,8001=>512,8002=>512,8003=>512,8004=>512,8005=>512,8008=>822,8009=>841,8010=>999,8011=>1031,8012=>963,8013=>971,8016=>536,8017=>536,8018=>536,8019=>536,8020=>536,8021=>536,8022=>536,8023=>536,8025=>949,8027=>1065,8029=>1098,8031=>1017,8032=>687,8033=>687,8034=>687,8035=>687,8036=>687,8037=>687,8038=>687,8039=>687,8040=>885,8041=>919,8042=>1092,8043=>1097,8044=>1058,8045=>1050,8046=>1009,8047=>985,8048=>570,8049=>570,8050=>439,8051=>439,8052=>548,8053=>548,8054=>312,8055=>312,8056=>512,8057=>512,8058=>536,8059=>536,8060=>687,8061=>687,8064=>570,8065=>570,8066=>570,8067=>570,8068=>570,8069=>570,8070=>570,8071=>570,8072=>842,8073=>847,8074=>981,8075=>991,8076=>957,8077=>955,8078=>897,8079=>893,8080=>548,8081=>548,8082=>548,8083=>548,8084=>548,8085=>548,8086=>548,8087=>548,8088=>1042,8089=>1066,8090=>1188,8091=>1199,8092=>1206,8093=>1211,8094=>1124,8095=>1129,8096=>687,8097=>687,8098=>687,8099=>687,8100=>687,8101=>687,8102=>687,8103=>687,8104=>1030,8105=>1066,8106=>1234,8107=>1247,8108=>1199,8109=>1194,8110=>1147,8111=>1135,8112=>570,8113=>570,8114=>570,8115=>570,8116=>570,8118=>570,8119=>570,8120=>696,8121=>696,8122=>696,8123=>696,8124=>835,8125=>250,8126=>0,8127=>250,8128=>500,8129=>400,8130=>548,8131=>548,8132=>548,8134=>548,8135=>548,8136=>737,8137=>762,8138=>883,8139=>919,8140=>859,8141=>500,8142=>500,8143=>500,8144=>312,8145=>312,8146=>312,8147=>312,8150=>312,8151=>312,8152=>389,8153=>389,8154=>519,8155=>552,8157=>500,8158=>500,8159=>500,8160=>536,8161=>536,8162=>536,8163=>536,8164=>513,8165=>513,8166=>536,8167=>536,8168=>710,8169=>710,8170=>895,8171=>890,8172=>801,8173=>550,8174=>550,8175=>250,8178=>687,8179=>687,8180=>687,8182=>687,8183=>687,8184=>814,8185=>776,8186=>883,8187=>864,8188=>882,8189=>500,8190=>500,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>500,8200=>250,8201=>166,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>500,8211=>500,8212=>1000,8213=>1000,8214=>333,8215=>478,8216=>250,8217=>250,8218=>250,8219=>250,8220=>500,8221=>500,8222=>500,8223=>500,8224=>500,8225=>500,8226=>500,8227=>500,8228=>250,8229=>500,8230=>850,8231=>0,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>250,8239=>166,8240=>1000,8241=>1618,8242=>278,8243=>556,8244=>834,8245=>270,8246=>468,8247=>630,8248=>469,8249=>333,8250=>333,8251=>727,8252=>778,8253=>733,8254=>500,8255=>953,8256=>953,8257=>338,8258=>931,8259=>500,8260=>167,8261=>332,8262=>332,8263=>1000,8264=>889,8265=>889,8266=>500,8267=>453,8268=>600,8269=>600,8270=>500,8271=>250,8272=>953,8273=>500,8274=>521,8275=>576,8276=>953,8277=>785,8278=>410,8279=>881,8280=>620,8281=>620,8282=>179,8283=>621,8284=>569,8285=>179,8286=>179,8287=>111,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>300,8305=>219,8308=>300,8309=>300,8310=>300,8311=>300,8312=>300,8313=>300,8314=>300,8315=>300,8316=>300,8317=>216,8318=>216,8319=>362,8320=>300,8321=>274,8322=>300,8323=>300,8324=>300,8325=>300,8326=>300,8327=>300,8328=>300,8329=>300,8330=>300,8331=>300,8332=>300,8333=>216,8334=>216,8336=>350,8337=>296,8338=>320,8339=>337,8340=>298,8352=>667,8353=>667,8354=>667,8355=>667,8356=>500,8357=>742,8358=>722,8359=>1008,8360=>953,8361=>889,8362=>889,8363=>532,8364=>761,8365=>742,8366=>631,8367=>1435,8368=>579,8369=>609,8370=>639,8371=>742,8372=>576,8373=>500,8376=>524,8377=>675,8400=>0,8401=>0,8406=>0,8407=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8421=>0,8423=>0,8424=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8448=>624,8449=>625,8451=>964,8453=>623,8454=>727,8455=>608,8456=>685,8457=>881,8458=>500,8459=>1035,8462=>546,8463=>543,8464=>972,8465=>613,8466=>820,8467=>457,8468=>849,8470=>846,8471=>888,8472=>649,8475=>769,8476=>926,8478=>721,8479=>725,8480=>991,8481=>1080,8482=>1016,8483=>713,8486=>750,8487=>750,8489=>312,8490=>663,8491=>696,8492=>825,8494=>540,8495=>417,8497=>923,8498=>625,8499=>1253,8501=>537,8502=>537,8503=>350,8504=>537,8506=>942,8507=>1080,8523=>738,8525=>1072,8526=>440,8531=>800,8532=>800,8533=>800,8534=>800,8535=>800,8536=>800,8537=>800,8538=>800,8539=>800,8540=>800,8541=>800,8542=>800,8543=>750,8544=>374,8545=>716,8546=>1039,8547=>1040,8548=>703,8549=>1037,8550=>1345,8551=>1668,8552=>1005,8553=>699,8554=>1009,8555=>1334,8556=>609,8557=>620,8558=>723,8559=>876,8560=>292,8561=>551,8562=>813,8563=>686,8564=>439,8565=>690,8566=>950,8567=>1210,8568=>774,8569=>476,8570=>738,8571=>998,8572=>294,8573=>428,8574=>510,8575=>763,8592=>900,8593=>500,8594=>900,8595=>500,8596=>900,8597=>500,8598=>800,8599=>800,8600=>801,8601=>800,8602=>900,8603=>900,8606=>900,8607=>500,8608=>900,8609=>500,8610=>900,8611=>900,8612=>900,8613=>601,8614=>950,8615=>650,8616=>600,8632=>800,8633=>964,8636=>964,8637=>964,8638=>500,8639=>500,8640=>964,8641=>964,8642=>500,8643=>500,8644=>964,8645=>884,8646=>964,8647=>964,8648=>884,8649=>964,8650=>884,8651=>987,8652=>987,8656=>964,8657=>630,8658=>964,8659=>630,8660=>964,8661=>630,8668=>1100,8669=>1100,8676=>964,8677=>964,8704=>627,8705=>548,8706=>494,8707=>627,8708=>627,8709=>746,8710=>612,8711=>612,8712=>576,8713=>576,8714=>439,8715=>576,8716=>576,8717=>576,8718=>500,8719=>812,8720=>812,8721=>713,8722=>606,8723=>656,8724=>676,8725=>560,8726=>690,8727=>500,8728=>500,8729=>500,8730=>549,8731=>549,8732=>549,8733=>752,8734=>752,8735=>509,8739=>240,8740=>521,8741=>478,8742=>645,8743=>634,8744=>634,8745=>694,8746=>694,8747=>459,8748=>793,8749=>1103,8756=>629,8757=>629,8758=>250,8759=>629,8761=>767,8764=>676,8770=>676,8771=>636,8773=>636,8776=>676,8778=>636,8784=>570,8785=>570,8786=>570,8787=>570,8788=>827,8789=>877,8790=>636,8791=>576,8793=>570,8794=>570,8797=>570,8798=>570,8799=>570,8800=>570,8801=>636,8804=>626,8805=>616,8806=>676,8807=>676,8818=>636,8819=>636,8834=>676,8835=>676,8976=>680,8994=>951,8995=>951,9001=>398,9002=>398,9251=>500,9674=>494,9675=>738,9676=>791,9688=>500,9702=>500,9711=>855,9824=>618,9825=>645,9826=>587,9827=>582,9828=>582,9829=>645,9830=>587,9831=>618,9833=>333,9834=>556,9835=>778,9836=>778,9837=>556,9838=>556,9839=>556,11799=>333,42790=>778,42791=>548,42792=>868,42793=>648,42794=>652,42795=>452,42796=>478,42797=>422,42798=>675,42799=>627,42888=>333,42889=>278,42890=>282,42891=>349,42892=>278,42922=>892,43002=>763,64256=>753,64257=>623,64258=>619,64259=>891,64260=>888,64261=>616,64262=>662,64275=>1105,64276=>1105,64277=>1099,64278=>1105,64279=>1361,64285=>266,64286=>0,64287=>532,64288=>552,64297=>570,64298=>716,64299=>716,64300=>716,64301=>716,64302=>593,64303=>593,64304=>593,64305=>498,64306=>339,64307=>523,64308=>561,64309=>266,64310=>291,64312=>576,64313=>266,64314=>496,64315=>501,64316=>510,64318=>581,64320=>347,64321=>512,64323=>493,64324=>491,64326=>561,64327=>544,64328=>502,64329=>716,64330=>571,64331=>266,64332=>498,64333=>501,64334=>491,64335=>593,65529=>0,65530=>0,65531=>0,65532=>800,65533=>900,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifbi.z b/vendor/tecnickcom/tcpdf/fonts/freeserifbi.z new file mode 100644 index 0000000..7e96ed8 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserifbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifi.ctg.z b/vendor/tecnickcom/tcpdf/fonts/freeserifi.ctg.z new file mode 100644 index 0000000..d742f27 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserifi.ctg.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifi.php b/vendor/tecnickcom/tcpdf/fonts/freeserifi.php new file mode 100644 index 0000000..dbe679e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/freeserifi.php @@ -0,0 +1,16 @@ +96,'FontBBox'=>'[-879 -300 1558 900]','ItalicAngle'=>-16.32768,'Ascent'=>900,'Descent'=>-200,'Leading'=>100,'CapHeight'=>653,'XHeight'=>452,'StemV'=>70,'StemH'=>30,'AvgWidth'=>559,'MaxWidth'=>1601,'MissingWidth'=>600); +$cbbox=array(0=>array(19,-71,725,750),33=>array(39,-11,302,667),34=>array(132,421,420,666),35=>array(2,0,540,676),36=>array(31,-89,497,731),37=>array(79,-13,790,676),38=>array(76,-18,723,666),39=>array(132,421,241,666),40=>array(42,-181,315,669),41=>array(16,-180,289,669),42=>array(128,255,492,666),43=>array(86,0,590,506),44=>array(-4,-129,135,101),45=>array(49,192,282,255),46=>array(27,-11,138,100),47=>array(-5,-18,446,666),48=>array(32,-7,497,676),49=>array(49,0,409,676),50=>array(12,0,452,676),51=>array(15,-7,466,676),52=>array(1,0,479,676),53=>array(15,-7,491,666),54=>array(30,-7,521,686),55=>array(75,-8,537,666),56=>array(30,-7,493,676),57=>array(23,-17,492,676),58=>array(50,-11,256,441),59=>array(27,-129,261,441),60=>array(54,-10,562,516),61=>array(86,120,590,386),62=>array(64,-10,572,516),63=>array(132,-12,472,664),64=>array(68,-18,756,666),65=>array(0,0,615,668),66=>array(0,0,596,653),67=>array(43,-18,666,666),68=>array(0,0,708,653),69=>array(0,0,635,653),70=>array(0,0,636,653),71=>array(44,-18,714,666),72=>array(0,0,775,653),73=>array(0,0,392,653),74=>array(0,-18,497,653),75=>array(0,0,715,653),76=>array(0,0,567,653),77=>array(0,0,891,653),78=>array(0,-15,747,653),79=>array(37,-18,676,666),80=>array(0,0,605,653),81=>array(36,-183,676,666),82=>array(0,0,601,653),83=>array(0,-18,491,667),84=>array(94,0,668,653),85=>array(113,-18,776,653),86=>array(126,-18,738,653),87=>array(128,-18,963,653),88=>array(0,0,684,653),89=>array(113,0,668,653),90=>array(0,0,612,653),91=>array(21,-153,391,663),92=>array(109,-18,469,666),93=>array(12,-153,382,663),94=>array(0,301,422,666),95=>array(0,-125,500,-75),96=>array(131,495,299,666),97=>array(17,-11,476,441),98=>array(25,-11,475,683),99=>array(24,-11,419,441),100=>array(18,-13,530,683),101=>array(24,-11,405,441),102=>array(-77,-207,494,678),103=>array(-24,-206,440,441),104=>array(19,-9,478,683),105=>array(39,-11,254,654),106=>array(-74,-207,326,654),107=>array(18,-11,465,683),108=>array(32,-11,271,683),109=>array(12,-9,704,441),110=>array(12,-9,472,441),111=>array(25,-11,466,441),112=>array(-77,-205,467,441),113=>array(19,-209,477,441),114=>array(19,0,386,441),115=>array(0,-13,350,442),116=>array(26,-11,285,546),117=>array(31,-11,464,441),118=>array(51,-18,456,441),119=>array(51,-18,683,441),120=>array(-30,-11,444,441),121=>array(12,-206,462,441),122=>array(-2,-81,380,428),123=>array(51,-177,407,687),124=>array(105,-18,171,666),125=>array(-7,-177,349,687),126=>array(40,186,502,320),160=>array(0,0,0,0),161=>array(59,-205,321,474),162=>array(77,-143,472,560),163=>array(10,-6,517,670),164=>array(-22,53,522,597),165=>array(27,0,603,653),166=>array(105,-18,171,666),167=>array(53,-162,461,666),168=>array(107,508,405,606),169=>array(35,-14,757,708),170=>array(39,292,352,676),171=>array(51,37,445,403),172=>array(86,108,590,386),173=>array(49,192,282,255),174=>array(35,-14,757,708),175=>array(99,532,411,583),176=>array(101,390,387,676),177=>array(86,0,590,568),178=>array(140,391,431,799),179=>array(137,385,433,799),180=>array(101,494,324,664),181=>array(-30,-209,497,428),182=>array(55,-123,616,653),183=>array(142,188,240,286),184=>array(-30,-217,182,0),185=>array(130,391,375,796),186=>array(39,292,362,676),187=>array(17,37,410,403),188=>array(90,-10,797,676),189=>array(98,-10,781,677),190=>array(87,-10,807,676),191=>array(28,-205,367,473),192=>array(0,0,615,878),193=>array(0,0,615,876),194=>array(0,0,615,873),195=>array(0,0,619,802),196=>array(0,0,615,801),197=>array(0,0,615,900),198=>array(2,0,940,653),199=>array(45,-217,668,666),200=>array(0,0,635,878),201=>array(0,0,635,876),202=>array(0,0,635,873),203=>array(0,0,635,801),204=>array(0,0,392,878),205=>array(0,0,423,876),206=>array(0,0,445,873),207=>array(0,0,435,818),208=>array(0,0,708,653),209=>array(0,-15,747,838),210=>array(37,-18,676,878),211=>array(37,-18,676,876),212=>array(37,-18,676,873),213=>array(37,-18,676,801),214=>array(37,-18,676,802),215=>array(93,8,582,497),216=>array(37,-105,676,722),217=>array(113,-18,776,878),218=>array(113,-18,776,876),219=>array(113,-18,776,873),220=>array(113,-18,776,801),221=>array(113,0,668,876),222=>array(-30,0,539,653),223=>array(-75,-207,586,679),224=>array(17,-11,476,666),225=>array(17,-11,477,664),226=>array(17,-11,480,674),227=>array(17,-11,510,626),228=>array(17,-11,489,600),229=>array(17,-11,476,711),230=>array(17,-11,634,441),231=>array(20,-217,419,441),232=>array(24,-11,405,666),233=>array(24,-11,463,664),234=>array(24,-11,459,674),235=>array(24,-11,451,601),236=>array(49,-11,279,666),237=>array(49,-11,316,664),238=>array(49,-11,362,674),239=>array(49,-11,353,602),240=>array(25,-11,480,683),241=>array(12,-9,508,626),242=>array(25,-11,466,666),243=>array(25,-11,467,664),244=>array(25,-11,497,674),245=>array(25,-11,529,609),246=>array(25,-11,489,599),247=>array(86,-11,590,517),248=>array(25,-135,466,554),249=>array(31,-11,464,666),250=>array(31,-11,467,664),251=>array(31,-11,464,674),252=>array(31,-11,479,600),253=>array(12,-206,462,664),254=>array(-75,-205,469,683),255=>array(12,-206,462,601),256=>array(0,0,615,795),257=>array(17,-11,495,583),258=>array(0,0,615,876),259=>array(17,-11,494,664),260=>array(-51,-169,707,668),261=>array(17,-169,500,441),262=>array(43,-18,666,876),263=>array(24,-11,458,664),264=>array(43,-18,666,873),265=>array(24,-11,475,673),266=>array(43,-18,666,823),267=>array(24,-11,419,597),268=>array(43,-18,666,886),269=>array(24,-11,511,674),270=>array(0,0,708,886),271=>array(18,-13,701,683),272=>array(0,0,708,653),273=>array(18,-13,561,683),274=>array(0,0,635,795),275=>array(24,-11,457,581),276=>array(0,0,635,875),277=>array(24,-11,506,663),278=>array(0,0,635,802),279=>array(24,-11,405,601),280=>array(-1,-169,651,653),281=>array(24,-169,437,441),282=>array(0,0,638,886),283=>array(24,-11,522,674),284=>array(44,-18,714,873),285=>array(-24,-206,453,673),286=>array(44,-18,714,876),287=>array(-24,-206,466,664),288=>array(44,-18,714,816),289=>array(-24,-206,440,600),290=>array(44,-300,714,666),291=>array(-24,-206,440,737),292=>array(0,0,775,873),293=>array(19,-9,585,873),294=>array(-8,0,767,653),295=>array(19,-9,478,683),296=>array(0,0,479,812),297=>array(25,-11,401,600),298=>array(0,0,440,795),299=>array(49,-11,384,583),300=>array(0,0,466,875),301=>array(49,-11,397,663),302=>array(0,-169,392,653),303=>array(49,-169,278,654),304=>array(0,0,392,833),305=>array(49,-11,235,441),306=>array(0,-18,760,653),307=>array(38,-207,488,652),308=>array(0,-18,515,873),309=>array(-74,-207,404,683),310=>array(0,-300,715,653),311=>array(18,-300,465,683),312=>array(19,-11,466,455),313=>array(0,0,567,876),314=>array(32,-11,355,876),315=>array(0,-300,567,653),316=>array(16,-300,271,683),317=>array(0,0,579,665),318=>array(32,-11,452,683),319=>array(0,0,567,653),320=>array(32,-11,343,683),321=>array(0,0,567,653),322=>array(37,-11,307,683),323=>array(0,-15,747,876),324=>array(12,-9,472,664),325=>array(0,-300,747,653),326=>array(12,-300,472,441),327=>array(0,-15,747,886),328=>array(12,-9,519,674),329=>array(62,-9,522,665),330=>array(-8,-18,738,669),331=>array(14,-207,442,441),332=>array(37,-18,676,795),333=>array(25,-11,495,580),334=>array(37,-18,676,875),335=>array(25,-11,521,663),336=>array(37,-18,676,878),337=>array(25,-11,532,666),338=>array(37,-8,952,666),339=>array(25,-12,651,441),340=>array(0,0,601,876),341=>array(19,0,411,664),342=>array(0,-300,601,653),343=>array(-4,-300,386,441),344=>array(0,0,601,886),345=>array(19,0,463,674),346=>array(0,-18,491,876),347=>array(0,-13,401,664),348=>array(0,-18,491,873),349=>array(0,-13,402,673),350=>array(10,-217,501,667),351=>array(-18,-217,350,442),352=>array(0,-18,549,886),353=>array(0,-13,465,674),354=>array(59,-217,633,653),355=>array(-55,-228,285,546),356=>array(94,0,668,886),357=>array(26,-11,439,665),358=>array(59,0,633,653),359=>array(13,-11,296,546),360=>array(113,-18,776,812),361=>array(31,-11,511,600),362=>array(113,-18,776,795),363=>array(31,-11,480,583),364=>array(113,-18,776,875),365=>array(31,-11,483,663),366=>array(113,-18,776,900),367=>array(31,-11,464,711),368=>array(113,-18,776,878),369=>array(31,-11,464,666),370=>array(102,-169,765,653),371=>array(31,-169,489,441),372=>array(128,-18,963,873),373=>array(51,-18,683,673),374=>array(113,0,668,873),375=>array(12,-206,462,673),376=>array(113,0,668,802),377=>array(0,0,612,876),378=>array(-2,-81,389,664),379=>array(0,0,612,833),380=>array(-2,-81,380,604),381=>array(0,0,612,886),382=>array(-2,-81,438,674),383=>array(-77,-207,494,678),384=>array(22,-11,473,683),385=>array(98,0,738,653),386=>array(-8,0,604,653),387=>array(25,-11,494,653),388=>array(-6,0,540,658),389=>array(51,-11,502,683),390=>array(-36,-14,647,676),391=>array(45,-14,923,669),392=>array(26,-11,648,678),393=>array(0,0,708,653),394=>array(118,0,870,653),395=>array(11,0,739,653),396=>array(18,-13,522,653),397=>array(-5,-246,455,442),398=>array(0,0,691,653),399=>array(33,-17,610,668),400=>array(13,-15,576,702),401=>array(-77,-207,686,653),402=>array(-77,-207,494,678),403=>array(42,-18,923,671),404=>array(102,-23,728,654),405=>array(19,-9,708,683),406=>array(41,-11,279,683),407=>array(-8,0,384,653),408=>array(-8,0,847,665),409=>array(14,-11,461,678),410=>array(20,-11,279,683),411=>array(-11,-11,447,678),412=>array(103,-10,960,660),413=>array(-77,-207,828,653),414=>array(14,-207,442,441),415=>array(39,-18,678,666),416=>array(37,-18,840,695),417=>array(25,-11,618,545),418=>array(38,-18,941,670),419=>array(27,-207,670,441),420=>array(88,0,736,653),421=>array(-75,-205,469,678),422=>array(-8,-184,586,653),423=>array(51,-18,487,667),424=>array(50,-13,331,442),425=>array(-16,0,698,653),426=>array(123,-207,409,676),427=>array(-56,-142,331,547),428=>array(44,0,633,653),429=>array(56,-11,452,678),430=>array(59,-207,633,653),431=>array(102,-18,883,694),432=>array(31,-11,647,545),433=>array(39,-23,782,653),434=>array(75,-14,712,662),435=>array(92,0,753,671),436=>array(-4,-206,608,670),437=>array(-6,0,606,653),438=>array(-2,-81,380,428),439=>array(-24,-14,600,653),440=>array(20,-14,554,652),441=>array(-23,-209,462,428),442=>array(-31,-205,462,428),443=>array(30,0,536,676),444=>array(4,-14,639,653),445=>array(-26,-207,445,443),446=>array(16,-13,304,546),447=>array(-75,-205,469,441),448=>array(58,-14,288,708),449=>array(58,-14,418,708),450=>array(67,-16,635,706),451=>array(39,-11,302,667),452=>array(0,0,1324,886),453=>array(0,-81,1140,674),454=>array(18,-81,918,683),455=>array(0,-18,1053,653),456=>array(0,-207,822,654),457=>array(32,-207,504,683),458=>array(0,-18,1104,653),459=>array(0,-207,893,654),460=>array(12,-207,746,654),461=>array(0,0,615,900),462=>array(17,-11,501,663),463=>array(0,0,480,875),464=>array(49,-11,398,663),465=>array(37,-18,676,875),466=>array(25,-11,526,663),467=>array(113,-18,776,875),468=>array(31,-11,504,663),469=>array(113,-18,776,899),470=>array(31,-11,519,718),471=>array(77,-16,740,900),472=>array(31,-11,504,800),473=>array(77,-16,740,900),474=>array(31,-11,537,828),475=>array(77,-16,740,900),476=>array(31,-11,479,782),477=>array(24,-11,405,441),478=>array(0,0,615,900),479=>array(17,-11,531,717),480=>array(0,0,620,900),481=>array(17,-11,513,717),482=>array(2,0,940,795),483=>array(17,-11,634,581),484=>array(42,-18,712,666),485=>array(-26,-206,472,441),486=>array(44,-18,714,875),487=>array(-24,-206,476,663),488=>array(0,0,715,875),489=>array(18,-11,554,866),490=>array(50,-200,689,666),491=>array(25,-200,466,441),492=>array(50,-200,689,795),493=>array(25,-200,497,581),494=>array(-24,-14,600,900),495=>array(-48,-209,446,663),496=>array(-124,-207,387,684),497=>array(0,0,1314,653),498=>array(0,-81,1082,653),499=>array(18,-81,850,683),500=>array(44,-18,714,876),501=>array(-24,-206,440,666),502=>array(-8,-14,946,651),503=>array(-10,0,597,675),504=>array(0,-15,747,878),505=>array(12,-9,472,666),506=>array(-18,0,656,900),507=>array(17,-11,506,899),508=>array(2,0,940,863),509=>array(17,-11,634,651),510=>array(37,-105,676,899),511=>array(25,-135,484,764),512=>array(0,0,615,852),513=>array(17,-11,476,666),514=>array(0,0,615,850),515=>array(17,-11,476,638),516=>array(0,0,635,852),517=>array(24,-11,429,666),518=>array(0,0,635,850),519=>array(24,-11,458,638),520=>array(0,0,396,852),521=>array(10,-11,304,667),522=>array(0,0,423,850),523=>array(49,-11,349,638),524=>array(37,-18,676,852),525=>array(25,-11,466,666),526=>array(37,-18,676,850),527=>array(25,-11,471,638),528=>array(0,0,601,852),529=>array(19,0,386,666),530=>array(0,0,601,850),531=>array(19,0,410,638),532=>array(113,-18,776,852),533=>array(31,-11,464,666),534=>array(113,-18,776,850),535=>array(31,-11,464,638),536=>array(0,-300,491,667),537=>array(0,-300,350,442),538=>array(94,-300,668,653),539=>array(-24,-300,285,546),540=>array(28,-30,449,670),541=>array(4,-207,395,442),542=>array(0,0,775,875),543=>array(19,-9,583,866),544=>array(-8,-210,663,683),545=>array(33,-230,539,683),546=>array(42,-18,604,666),547=>array(26,-11,582,683),548=>array(9,-199,621,653),549=>array(8,-199,390,428),550=>array(0,0,615,801),551=>array(17,-11,476,594),552=>array(-8,-216,627,653),553=>array(13,-224,405,441),554=>array(37,-18,676,900),555=>array(25,-11,521,717),556=>array(37,-18,676,900),557=>array(25,-11,530,715),558=>array(37,-18,676,806),559=>array(25,-11,466,594),560=>array(37,-18,676,900),561=>array(25,-11,523,717),562=>array(113,0,668,795),563=>array(12,-206,462,583),564=>array(-93,-300,293,683),565=>array(14,-230,487,441),566=>array(-49,-300,351,579),567=>array(-124,-207,246,441),568=>array(28,-10,763,683),569=>array(28,-217,764,461),570=>array(-18,-74,651,721),571=>array(14,-74,666,721),572=>array(-25,-64,476,496),573=>array(0,0,567,653),574=>array(-44,-44,669,721),575=>array(0,-199,350,442),576=>array(7,-199,479,450),577=>array(98,0,461,666),578=>array(74,0,437,463),579=>array(-8,0,588,653),580=>array(49,-18,765,653),581=>array(-15,0,597,670),582=>array(-8,-84,627,726),583=>array(-16,-68,412,519),584=>array(-6,-18,491,653),585=>array(-77,-207,352,654),586=>array(31,-206,726,674),587=>array(28,-217,537,461),588=>array(-8,0,593,653),589=>array(45,0,412,441),590=>array(79,0,653,653),591=>array(6,-207,498,441),592=>array(57,-11,516,441),593=>array(29,-11,547,441),594=>array(31,-10,549,442),595=>array(22,-11,473,678),596=>array(0,-11,395,441),597=>array(24,-102,419,441),598=>array(18,-218,530,683),599=>array(15,-13,677,678),600=>array(0,-11,389,441),601=>array(24,-11,405,441),602=>array(33,-10,741,563),603=>array(11,-10,401,441),604=>array(3,-10,444,442),605=>array(3,-10,678,563),606=>array(10,-10,443,442),607=>array(-77,-207,293,441),608=>array(15,-207,680,678),609=>array(-30,-218,473,441),610=>array(29,-12,472,440),611=>array(46,-233,551,441),612=>array(60,-9,588,440),613=>array(59,-251,518,441),614=>array(19,-9,475,678),615=>array(19,-218,444,678),616=>array(21,-11,280,654),617=>array(49,-11,235,441),618=>array(7,0,266,431),619=>array(44,-11,397,683),620=>array(68,-11,348,683),621=>array(16,-218,279,683),622=>array(94,-209,586,683),623=>array(62,-9,754,441),624=>array(68,-189,760,441),625=>array(74,-218,734,441),626=>array(-74,-206,570,442),627=>array(13,-218,500,441),628=>array(8,-7,579,450),629=>array(27,-11,468,441),630=>array(28,0,664,440),631=>array(30,-10,653,443),632=>array(19,-200,592,683),633=>array(1,-9,368,432),634=>array(7,0,427,641),635=>array(0,-218,413,432),636=>array(-8,-200,412,441),637=>array(31,-199,412,441),638=>array(-7,0,438,442),639=>array(20,-201,311,441),640=>array(-6,0,418,431),641=>array(-17,0,493,431),642=>array(-15,-218,359,442),643=>array(-77,-207,494,678),644=>array(-77,-231,570,683),645=>array(98,-218,441,463),646=>array(-34,-300,620,683),647=>array(48,-11,307,546),648=>array(-16,-208,296,547),649=>array(21,-11,489,441),650=>array(24,-20,533,429),651=>array(42,-20,476,442),652=>array(-9,-18,396,441),653=>array(-19,-18,613,441),654=>array(-20,-16,430,631),655=>array(87,0,548,428),656=>array(-2,-218,510,428),657=>array(-2,-132,418,428),658=>array(-48,-209,380,428),659=>array(25,-272,392,428),660=>array(98,0,461,666),661=>array(87,0,498,666),662=>array(13,-14,424,652),663=>array(19,-170,531,665),664=>array(37,-18,676,666),665=>array(0,0,394,431),666=>array(11,7,445,459),667=>array(44,-9,730,675),668=>array(0,0,512,431),669=>array(-51,-230,351,683),670=>array(20,-251,467,443),671=>array(0,0,375,431),672=>array(5,-209,682,678),673=>array(25,0,461,676),674=>array(87,0,498,666),675=>array(13,-81,726,683),676=>array(15,-209,726,683),677=>array(15,-132,765,683),678=>array(43,0,551,546),679=>array(41,-207,612,678),680=>array(37,-102,635,546),681=>array(-77,-207,754,678),682=>array(40,0,506,683),683=>array(41,-81,482,683),684=>array(78,-6,604,662),685=>array(50,101,594,662),686=>array(87,-233,694,466),687=>array(87,-231,694,468),688=>array(59,391,374,800),689=>array(57,391,372,800),690=>array(68,306,308,823),691=>array(90,391,342,667),692=>array(90,391,342,667),693=>array(86,265,337,667),694=>array(91,387,421,667),695=>array(120,390,500,666),696=>array(105,277,376,666),697=>array(117,458,363,737),698=>array(97,458,524,737),699=>array(161,501,314,744),700=>array(128,436,267,666),701=>array(158,436,292,666),702=>array(246,508,371,707),703=>array(232,516,357,715),704=>array(149,310,360,677),705=>array(127,310,375,677),706=>array(196,554,474,752),707=>array(176,546,454,744),708=>array(169,516,433,707),709=>array(210,516,474,707),710=>array(156,507,468,674),711=>array(199,507,511,674),712=>array(242,499,376,696),713=>array(99,532,411,583),714=>array(101,494,324,664),715=>array(131,495,299,666),716=>array(44,-259,137,-62),717=>array(-32,-168,292,-117),718=>array(-27,-248,141,-77),719=>array(-31,-253,193,-83),720=>array(84,0,292,460),721=>array(181,360,292,460),722=>array(116,4,241,203),723=>array(94,0,219,199),724=>array(20,51,344,288),725=>array(58,47,382,284),726=>array(69,52,340,310),727=>array(43,151,366,205),728=>array(207,507,494,664),729=>array(273,523,371,621),730=>array(233,512,438,711),731=>array(43,-165,231,0),732=>array(140,520,516,626),733=>array(142,496,438,666),734=>array(82,300,404,563),735=>array(137,534,496,773),736=>array(150,256,440,667),737=>array(102,390,286,801),738=>array(108,387,322,670),739=>array(98,391,406,661),740=>array(161,391,409,797),741=>array(179,0,581,800),742=>array(149,0,581,801),743=>array(105,0,581,801),744=>array(60,0,581,801),745=>array(20,0,581,801),746=>array(49,-1,467,524),747=>array(50,0,511,473),748=>array(5,-200,317,-33),749=>array(187,610,527,770),750=>array(102,436,425,666),751=>array(24,-241,288,-50),752=>array(8,-240,272,-49),753=>array(-9,-227,269,-29),754=>array(-28,-228,250,-30),755=>array(39,-220,244,-21),756=>array(190,495,358,666),757=>array(169,495,463,666),758=>array(142,496,438,666),759=>array(-54,-182,345,-76),760=>array(134,223,340,675),761=>array(118,505,321,742),762=>array(157,505,321,742),763=>array(-1,-55,163,182),764=>array(-1,-55,202,182),765=>array(-34,-200,315,-28),766=>array(-40,-200,283,-28),767=>array(-27,-245,295,-39),768=>array(-133,495,35,666),769=>array(-32,494,191,664),770=>array(-151,507,161,674),771=>array(-150,523,226,629),772=>array(-146,529,166,580),773=>array(-222,547,253,601),774=>array(-104,507,183,664),775=>array(-29,523,69,621),776=>array(-139,523,159,621),777=>array(-53,521,115,688),778=>array(-63,512,142,711),779=>array(-271,496,25,666),780=>array(-109,507,203,674),781=>array(-19,499,73,696),782=>array(-78,499,132,696),783=>array(-393,495,-99,666),784=>array(-93,507,197,717),785=>array(-129,506,157,663),786=>array(-42,486,97,716),787=>array(-32,470,107,700),788=>array(-12,476,122,706),789=>array(108,446,247,676),790=>array(-363,-241,-195,-70),791=>array(-353,-247,-130,-77),792=>array(-337,-273,-66,-38),793=>array(-335,-274,-64,-39),794=>array(23,505,260,742),795=>array(80,333,317,564),796=>array(-336,-245,-211,-46),797=>array(-433,-282,-125,-45),798=>array(-373,-277,-65,-40),799=>array(-346,-297,-75,-39),800=>array(-375,-131,-52,-77),801=>array(-251,-231,-38,46),802=>array(-143,-231,17,46),803=>array(-318,-172,-220,-74),804=>array(-374,-172,-76,-74),805=>array(-380,-255,-175,-56),806=>array(-264,-300,-125,-70),807=>array(-307,-217,-95,0),808=>array(-276,-165,-88,0),809=>array(-276,-259,-183,-62),810=>array(-391,-238,-32,-66),811=>array(-339,-184,-47,-52),812=>array(-350,-238,-38,-71),813=>array(-381,-231,-69,-64),814=>array(-331,-214,-44,-57),815=>array(-373,-220,-86,-63),816=>array(-418,-174,-19,-68),817=>array(-376,-157,-63,-106),818=>array(-500,-125,0,-75),819=>array(-500,-200,0,-58),820=>array(-267,206,109,312),821=>array(-161,201,62,244),822=>array(-322,200,120,243),823=>array(-377,109,119,336),824=>array(-389,-111,203,592),825=>array(-312,-245,-187,-46),826=>array(-455,-215,-96,-43),827=>array(-438,-300,-105,-39),828=>array(-409,-224,-100,-47),829=>array(-163,504,196,743),830=>array(-10,494,168,749),831=>array(-284,511,216,653),832=>array(-135,495,33,666),833=>array(-74,494,149,664),834=>array(-159,550,217,656),835=>array(-60,507,137,722),836=>array(-135,547,162,802),837=>array(-249,-223,-76,-45),838=>array(-161,510,198,682),839=>array(-450,-199,-107,-38),840=>array(-311,-259,-77,-62),841=>array(-298,-218,-141,-74),842=>array(-258,495,95,686),843=>array(-139,500,237,801),844=>array(-148,520,262,767),845=>array(-460,-245,-39,-39),846=>array(-317,-295,-111,-18),848=>array(-82,501,197,699),849=>array(-34,514,91,713),850=>array(-130,507,154,717),851=>array(-463,-280,-104,-41),852=>array(-345,-227,-67,-29),853=>array(-379,-228,-101,-30),854=>array(-559,-228,-50,-30),855=>array(-64,469,61,668),856=>array(-117,523,-19,621),857=>array(-368,-266,-167,-59),858=>array(-462,-249,-77,-59),859=>array(-213,490,34,744),860=>array(-307,-195,266,-46),861=>array(-123,544,450,693),862=>array(-170,548,412,591),863=>array(-307,-120,275,-77),864=>array(-126,549,476,694),865=>array(-128,524,445,673),866=>array(-320,-245,256,-39),867=>array(-299,500,-100,695),868=>array(-263,500,-98,695),869=>array(-210,501,-117,788),870=>array(-298,500,-107,695),871=>array(-289,499,-102,695),872=>array(-295,498,-124,693),873=>array(-296,498,-75,798),874=>array(-274,502,-76,801),875=>array(-317,504,-18,698),876=>array(-237,508,-79,698),877=>array(-246,499,-133,740),878=>array(-272,496,-97,694),879=>array(-315,501,-110,696),884=>array(31,557,229,780),885=>array(0,-223,198,0),890=>array(9,-200,182,-52),894=>array(27,-129,261,441),900=>array(77,528,234,743),901=>array(156,525,453,780),902=>array(10,0,625,702),903=>array(151,352,273,470),904=>array(144,0,832,700),905=>array(126,0,951,707),906=>array(149,0,602,704),908=>array(152,-18,809,668),910=>array(148,0,918,701),911=>array(125,0,904,699),912=>array(3,-11,349,789),913=>array(10,0,625,668),914=>array(0,0,596,653),915=>array(-8,0,627,653),916=>array(-5,0,617,666),917=>array(-3,0,632,653),918=>array(0,0,612,653),919=>array(0,0,775,653),920=>array(39,-18,678,666),921=>array(0,0,392,653),922=>array(1,0,716,653),923=>array(-8,0,607,668),924=>array(0,0,891,653),925=>array(-1,-15,746,653),926=>array(11,0,684,653),927=>array(37,-18,676,666),928=>array(-8,0,767,653),929=>array(0,0,605,653),931=>array(-16,0,698,653),932=>array(104,0,678,653),933=>array(87,0,699,672),934=>array(54,0,761,653),935=>array(0,0,684,653),936=>array(83,0,914,658),937=>array(-8,0,771,666),938=>array(0,0,442,827),939=>array(87,0,699,823),940=>array(9,-11,527,697),941=>array(11,-10,401,697),942=>array(61,-212,488,699),943=>array(3,-11,312,695),944=>array(61,-11,495,783),945=>array(9,-11,527,441),946=>array(-34,-212,491,674),947=>array(34,-212,472,441),948=>array(26,-11,486,677),949=>array(11,-10,401,441),950=>array(22,-178,442,684),951=>array(61,-212,488,441),952=>array(25,-11,497,672),953=>array(3,-11,229,432),954=>array(14,-10,466,441),955=>array(-11,-11,447,678),956=>array(-51,-212,452,431),957=>array(61,0,510,441),958=>array(10,-178,445,684),959=>array(20,-11,480,441),960=>array(-22,-13,597,451),961=>array(-12,-218,451,441),962=>array(-8,-178,411,441),963=>array(18,-11,545,450),964=>array(63,-13,475,451),965=>array(61,-11,495,441),966=>array(23,-205,591,441),967=>array(-52,-205,498,441),968=>array(58,-224,689,558),969=>array(19,-10,648,461),970=>array(43,-11,353,605),971=>array(61,-11,495,599),972=>array(20,-11,480,697),973=>array(61,-11,495,697),974=>array(19,-10,648,697),976=>array(21,-10,531,705),977=>array(63,-10,623,705),978=>array(111,0,696,672),979=>array(115,0,876,702),980=>array(168,0,753,830),981=>array(20,-224,590,662),982=>array(31,-10,725,521),983=>array(30,-151,487,441),984=>array(90,0,643,652),985=>array(20,-221,499,461),986=>array(96,0,605,666),987=>array(12,-178,512,448),988=>array(8,0,645,653),989=>array(-78,-212,492,451),990=>array(62,-16,621,666),991=>array(-14,-178,353,682),992=>array(-18,0,672,669),993=>array(-12,-206,511,678),1008=>array(34,-10,510,461),1009=>array(0,-224,482,461),1010=>array(20,-10,457,461),1011=>array(-74,-207,326,654),1012=>array(39,-18,678,666),1013=>array(9,-10,307,461),1014=>array(33,-10,287,461),1015=>array(-30,0,539,653),1016=>array(-29,-205,469,677),1017=>array(66,-18,673,666),1018=>array(-18,0,873,653),1019=>array(-34,-212,654,441),1020=>array(-126,-212,451,441),1021=>array(66,-18,673,666),1022=>array(66,-18,673,666),1023=>array(66,-18,673,666),1024=>array(0,0,635,878),1025=>array(0,0,635,848),1026=>array(59,-10,654,653),1027=>array(-8,0,627,896),1028=>array(66,-18,689,666),1029=>array(0,-18,491,667),1030=>array(0,0,392,653),1031=>array(0,0,446,832),1032=>array(0,-18,497,653),1033=>array(0,-8,958,653),1034=>array(-8,0,929,653),1035=>array(59,0,687,653),1036=>array(-8,0,699,896),1037=>array(-8,0,766,878),1038=>array(111,-18,814,838),1039=>array(-8,-172,774,653),1040=>array(0,0,615,668),1041=>array(-8,0,604,653),1042=>array(0,0,596,653),1043=>array(-8,0,627,653),1044=>array(-84,-172,728,653),1045=>array(0,0,635,653),1046=>array(-18,0,1021,658),1047=>array(15,-14,570,666),1048=>array(-8,0,766,653),1049=>array(-8,0,766,838),1050=>array(-8,0,699,658),1051=>array(-34,-8,765,653),1052=>array(0,0,891,653),1053=>array(0,0,775,653),1054=>array(37,-18,676,666),1055=>array(-8,0,767,653),1056=>array(0,0,605,653),1057=>array(43,-18,666,666),1058=>array(94,0,668,653),1059=>array(111,-18,814,653),1060=>array(54,0,761,653),1061=>array(0,0,684,653),1062=>array(-8,-172,766,653),1063=>array(113,0,712,653),1064=>array(-8,0,1043,653),1065=>array(-8,-172,1043,653),1066=>array(79,0,682,653),1067=>array(-8,0,937,653),1068=>array(-8,0,546,653),1069=>array(14,-14,604,666),1070=>array(-8,-18,1003,666),1071=>array(-18,0,753,653),1072=>array(17,-11,476,441),1073=>array(27,-11,578,689),1074=>array(27,-11,419,441),1075=>array(8,-11,335,441),1076=>array(27,-11,467,683),1077=>array(25,-11,406,441),1078=>array(0,-11,914,441),1079=>array(6,-9,389,441),1080=>array(31,-11,464,441),1081=>array(31,-11,472,623),1082=>array(12,-10,464,441),1083=>array(-24,-9,484,441),1084=>array(-24,-18,621,441),1085=>array(12,-9,472,441),1086=>array(25,-11,466,441),1087=>array(12,-9,472,441),1088=>array(-77,-205,467,441),1089=>array(26,-11,421,441),1090=>array(12,-9,704,441),1091=>array(-7,-207,454,441),1092=>array(21,-205,703,678),1093=>array(-30,-11,444,441),1094=>array(31,-186,465,441),1095=>array(47,-9,464,441),1096=>array(31,-11,714,441),1097=>array(31,-186,715,441),1098=>array(36,-11,513,441),1099=>array(46,-11,653,441),1100=>array(46,-11,405,441),1101=>array(7,-12,400,441),1102=>array(12,-11,666,441),1103=>array(-7,-11,499,432),1104=>array(25,-11,406,666),1105=>array(25,-11,447,606),1106=>array(29,-207,483,683),1107=>array(8,-11,381,664),1108=>array(30,-11,425,440),1109=>array(0,-13,350,442),1110=>array(39,-11,254,654),1111=>array(49,-11,353,612),1112=>array(-74,-207,326,654),1113=>array(-24,-11,675,442),1114=>array(14,-11,664,441),1115=>array(19,-9,478,683),1116=>array(12,-10,464,680),1117=>array(31,-11,464,666),1118=>array(-7,-207,472,626),1119=>array(38,-186,471,441),1120=>array(37,-18,948,666),1121=>array(33,-10,662,442),1122=>array(65,0,660,653),1123=>array(12,-11,655,441),1124=>array(-8,-18,998,666),1125=>array(12,-11,627,441),1126=>array(-18,0,770,668),1127=>array(-27,-11,604,441),1128=>array(-8,0,1054,668),1129=>array(14,-11,771,441),1130=>array(-18,0,918,653),1131=>array(-3,-12,718,432),1132=>array(-8,0,1214,653),1133=>array(14,-12,866,441),1134=>array(-24,-212,623,843),1135=>array(-14,-184,440,573),1136=>array(144,0,978,662),1137=>array(96,-215,758,683),1138=>array(60,-18,700,666),1139=>array(27,-11,468,441),1140=>array(76,-18,799,668),1141=>array(21,-18,551,442),1142=>array(76,-18,799,885),1143=>array(21,-18,551,684),1144=>array(60,-207,1084,666),1145=>array(23,-207,884,441),1146=>array(33,-64,852,710),1147=>array(31,-43,578,472),1148=>array(37,-18,948,900),1149=>array(31,-10,713,664),1150=>array(37,-18,948,831),1151=>array(33,-10,703,626),1152=>array(96,0,605,666),1153=>array(30,-172,425,441),1154=>array(6,-212,288,123),1155=>array(-201,507,160,644),1156=>array(-262,486,131,657),1157=>array(-29,523,154,738),1158=>array(-44,522,149,737),1159=>array(-420,547,240,703),1160=>array(-752,-134,269,857),1161=>array(-787,-253,357,891),1162=>array(-8,-146,766,838),1163=>array(42,-146,475,623),1164=>array(-8,0,546,653),1165=>array(14,-11,401,441),1166=>array(0,0,605,653),1167=>array(-75,-205,469,441),1168=>array(-8,0,661,760),1169=>array(14,0,463,520),1170=>array(-8,0,627,653),1171=>array(7,0,434,432),1172=>array(9,-242,644,653),1173=>array(14,-218,434,432),1174=>array(-29,-172,1010,658),1175=>array(0,-186,914,441),1176=>array(15,-209,570,666),1177=>array(-3,-169,380,441),1178=>array(-8,-172,699,658),1179=>array(14,-186,466,441),1180=>array(-8,0,735,658),1181=>array(14,-10,507,441),1182=>array(-8,0,699,658),1183=>array(14,-10,466,441),1184=>array(59,0,811,658),1185=>array(36,-10,665,441),1186=>array(-8,-172,767,653),1187=>array(14,-186,474,441),1188=>array(-8,0,982,653),1189=>array(14,-9,670,441),1190=>array(2,-242,952,653),1191=>array(14,-218,651,441),1192=>array(20,-14,729,676),1193=>array(27,-10,511,460),1194=>array(66,-209,689,666),1195=>array(25,-171,421,440),1196=>array(59,-129,633,653),1197=>array(12,-186,704,441),1198=>array(113,0,668,653),1199=>array(22,-209,592,442),1200=>array(69,0,633,653),1201=>array(22,-209,592,442),1202=>array(-8,-172,676,653),1203=>array(-27,-186,447,441),1204=>array(59,-129,922,653),1205=>array(59,-186,557,432),1206=>array(113,-172,712,653),1207=>array(58,-186,475,441),1208=>array(113,0,736,653),1209=>array(58,-9,491,441),1210=>array(-8,0,591,653),1211=>array(19,-9,478,683),1212=>array(19,-17,780,668),1213=>array(49,-11,567,441),1214=>array(19,-128,780,668),1215=>array(49,-128,567,441),1216=>array(0,0,392,653),1217=>array(-18,0,1021,838),1218=>array(0,-11,914,626),1219=>array(-8,-243,699,658),1220=>array(14,-218,466,441),1221=>array(-34,-146,765,653),1222=>array(-45,-146,463,441),1223=>array(-8,-242,767,653),1224=>array(14,-219,461,441),1225=>array(-8,-146,767,653),1226=>array(14,-146,474,441),1227=>array(113,-172,712,653),1228=>array(58,-186,475,441),1229=>array(-18,-146,873,653),1230=>array(-45,-146,600,441),1231=>array(0,0,392,653),1232=>array(0,0,615,838),1233=>array(17,-11,476,626),1234=>array(0,0,615,848),1235=>array(17,-11,476,606),1236=>array(2,0,940,653),1237=>array(17,-11,634,441),1238=>array(0,0,635,838),1239=>array(24,-11,478,626),1240=>array(33,-17,610,668),1241=>array(24,-11,405,441),1242=>array(33,-17,648,847),1243=>array(24,-11,453,606),1244=>array(-18,0,1021,846),1245=>array(0,-11,914,606),1246=>array(15,-14,570,853),1247=>array(6,-9,425,606),1248=>array(-24,-14,600,653),1249=>array(-48,-209,380,428),1250=>array(-8,0,766,795),1251=>array(31,-11,481,583),1252=>array(-8,0,766,848),1253=>array(31,-11,475,606),1254=>array(37,-18,676,852),1255=>array(25,-11,507,606),1256=>array(39,-18,678,666),1257=>array(27,-11,468,441),1258=>array(39,-18,678,850),1259=>array(27,-11,507,606),1260=>array(14,-14,604,851),1261=>array(7,-12,423,606),1262=>array(111,-18,814,795),1263=>array(-7,-207,478,583),1264=>array(111,-18,814,850),1265=>array(-7,-207,467,606),1266=>array(111,-18,814,878),1267=>array(-7,-207,478,666),1268=>array(113,0,712,849),1269=>array(47,-9,464,606),1270=>array(7,-172,644,653),1271=>array(0,-186,434,432),1272=>array(-8,0,937,851),1273=>array(46,-11,653,606),1296=>array(77,-15,616,676),1297=>array(47,-14,465,463),1298=>array(-34,-242,765,653),1299=>array(-45,-218,431,441),1306=>array(36,-183,676,666),1307=>array(20,-209,478,441),1308=>array(128,-18,963,653),1309=>array(40,-18,672,441),1310=>array(-8,0,699,658),1311=>array(14,-10,466,441),1329=>array(146,-24,845,662),1330=>array(16,0,774,676),1331=>array(124,0,823,676),1332=>array(91,0,895,676),1333=>array(146,-14,785,662),1334=>array(43,-70,731,674),1335=>array(112,-70,784,662),1336=>array(50,-70,718,676),1337=>array(15,0,854,676),1338=>array(67,-14,849,662),1339=>array(15,0,742,662),1340=>array(112,-70,650,662),1341=>array(15,0,909,662),1342=>array(141,-16,1026,674),1343=>array(151,0,754,662),1344=>array(10,-61,530,662),1345=>array(57,-25,733,674),1346=>array(95,-70,845,676),1347=>array(64,-14,733,675),1348=>array(146,-14,977,662),1349=>array(74,-15,672,676),1350=>array(154,0,907,732),1351=>array(83,-16,745,678),1352=>array(15,0,714,676),1353=>array(110,-118,771,678),1354=>array(110,0,724,676),1355=>array(43,-70,731,674),1356=>array(15,0,915,676),1357=>array(146,-14,845,662),1358=>array(107,-70,831,662),1359=>array(69,-15,589,676),1360=>array(15,0,773,676),1361=>array(64,-15,663,676),1362=>array(15,0,631,662),1363=>array(59,0,766,653),1364=>array(49,0,825,676),1365=>array(90,-14,764,676),1366=>array(64,-15,699,662),1369=>array(95,510,220,709),1370=>array(110,508,235,707),1371=>array(125,459,371,735),1372=>array(122,389,408,662),1373=>array(121,442,240,666),1374=>array(87,496,396,664),1375=>array(109,530,376,683),1377=>array(107,-10,799,450),1378=>array(-27,-200,528,460),1379=>array(60,-200,539,461),1380=>array(18,-200,538,460),1381=>array(104,-10,530,683),1382=>array(60,-200,523,461),1383=>array(83,-70,530,683),1384=>array(36,-200,495,460),1385=>array(-28,-200,579,460),1386=>array(61,-10,627,683),1387=>array(-28,-200,505,683),1388=>array(48,-200,273,460),1389=>array(-26,-200,769,683),1390=>array(66,-11,628,690),1391=>array(98,-200,519,662),1392=>array(15,0,505,683),1393=>array(61,-10,499,662),1394=>array(17,-200,495,460),1395=>array(61,-10,649,669),1396=>array(98,-10,579,662),1397=>array(-106,-218,291,460),1398=>array(71,-10,492,662),1399=>array(-18,-200,435,461),1400=>array(17,0,495,460),1401=>array(-17,-200,401,464),1402=>array(107,-200,799,450),1403=>array(-10,-200,443,461),1404=>array(17,0,508,460),1405=>array(98,-10,519,450),1406=>array(98,-200,568,683),1407=>array(98,-10,754,460),1408=>array(-26,-200,495,460),1409=>array(45,-218,524,461),1410=>array(90,0,277,460),1411=>array(98,-200,754,683),1412=>array(-28,-200,540,460),1413=>array(71,-10,527,460),1414=>array(64,-200,576,670),1415=>array(104,-10,532,683),1417=>array(50,-11,256,441),1418=>array(76,174,319,293),1423=>array(90,0,734,676),1425=>array(91,-229,250,-51),1426=>array(96,641,316,836),1427=>array(176,669,348,889),1428=>array(223,641,340,836),1429=>array(174,659,385,836),1430=>array(166,-259,267,-47),1431=>array(140,587,315,761),1432=>array(153,668,447,817),1433=>array(160,667,261,879),1434=>array(185,-226,406,-58),1435=>array(65,-170,134,-106),1436=>array(217,653,388,865),1437=>array(376,653,547,865),1438=>array(129,653,420,865),1439=>array(122,666,504,883),1440=>array(380,666,589,883),1441=>array(109,668,294,852),1442=>array(114,-229,273,-51),1443=>array(46,-211,303,-45),1444=>array(102,-226,323,-58),1445=>array(115,-245,286,-33),1446=>array(74,-245,343,-33),1447=>array(122,-228,305,-48),1448=>array(244,667,345,879),1449=>array(84,666,255,883),1450=>array(114,-229,273,-51),1451=>array(174,673,395,841),1452=>array(136,674,393,840),1453=>array(224,-259,325,-47),1454=>array(143,668,437,817),1455=>array(220,668,397,840),1456=>array(143,-242,242,-70),1457=>array(6,-242,302,-70),1458=>array(-3,-222,298,-58),1459=>array(-22,-254,297,-58),1460=>array(123,-134,192,-70),1461=>array(65,-134,236,-70),1462=>array(56,-240,243,-70),1463=>array(44,-160,298,-108),1464=>array(67,-236,301,-44),1465=>array(217,621,303,701),1466=>array(193,634,290,728),1467=>array(32,-245,245,-70),1468=>array(231,182,317,262),1469=>array(152,-213,239,-53),1470=>array(124,652,419,727),1471=>array(144,610,398,662),1472=>array(-96,0,148,694),1473=>array(527,619,613,699),1474=>array(177,619,263,699),1475=>array(63,73,349,617),1476=>array(367,619,453,699),1477=>array(232,-139,329,-45),1478=>array(106,0,393,598),1479=>array(107,-266,354,-67),1488=>array(-53,-5,517,584),1489=>array(-59,0,492,598),1490=>array(-44,0,323,598),1491=>array(82,-2,542,596),1492=>array(-37,-2,526,598),1493=>array(103,0,303,598),1494=>array(60,-1,323,598),1495=>array(-26,-2,527,598),1496=>array(-42,0,520,598),1497=>array(116,284,315,594),1498=>array(125,-300,597,564),1499=>array(-68,0,524,598),1500=>array(137,-6,535,812),1501=>array(-50,0,530,598),1502=>array(-42,0,516,599),1503=>array(43,-300,347,564),1504=>array(-36,0,315,598),1505=>array(-19,0,528,598),1506=>array(-72,0,539,600),1507=>array(68,-300,536,563),1508=>array(-64,0,494,598),1509=>array(4,-300,562,564),1510=>array(-70,0,528,598),1511=>array(-99,-300,551,564),1512=>array(80,-1,504,598),1513=>array(2,0,585,598),1514=>array(-50,-1,533,598),1520=>array(83,0,543,598),1521=>array(88,0,544,598),1522=>array(46,321,505,631),1523=>array(102,500,324,727),1524=>array(15,500,373,727),2404=>array(104,-18,281,498),2405=>array(104,-18,429,498),2433=>array(-289,638,-57,800),2434=>array(45,-58,306,531),2435=>array(39,15,336,535),2437=>array(44,-4,692,558),2438=>array(33,-17,862,648),2439=>array(1,-73,570,782),2440=>array(19,-8,579,774),2441=>array(8,62,597,787),2442=>array(11,55,627,777),2443=>array(60,37,683,659),2444=>array(57,28,450,588),2447=>array(36,-3,552,563),2448=>array(-5,-4,607,849),2451=>array(79,57,528,536),2452=>array(59,58,598,821),2453=>array(29,3,659,558),2454=>array(52,3,564,649),2455=>array(40,-18,572,653),2456=>array(51,-2,567,558),2457=>array(34,14,430,535),2458=>array(23,48,497,558),2459=>array(54,-76,556,558),2460=>array(48,5,689,558),2461=>array(24,10,636,651),2462=>array(36,-3,785,556),2463=>array(-15,74,471,790),2464=>array(-50,42,451,863),2465=>array(45,61,616,558),2466=>array(29,73,496,558),2467=>array(37,1,528,655),2468=>array(41,68,641,558),2469=>array(30,-5,555,651),2470=>array(36,-4,578,558),2471=>array(47,-18,539,564),2472=>array(26,-14,545,558),2474=>array(56,-6,616,624),2475=>array(49,0,703,558),2476=>array(35,-9,541,558),2477=>array(38,76,618,558),2478=>array(49,-3,583,558),2479=>array(49,-5,566,558),2480=>array(35,1,535,558),2482=>array(49,-5,638,558),2486=>array(16,-4,607,647),2487=>array(48,1,562,558),2488=>array(44,-5,619,558),2489=>array(41,-84,538,558),2492=>array(-319,-155,-197,-36),2493=>array(41,-84,407,558),2494=>array(-28,-17,282,648),2495=>array(-27,-9,582,788),2496=>array(-296,-5,268,813),2497=>array(-297,-178,0,97),2498=>array(-239,-235,44,75),2499=>array(-394,-253,-169,81),2500=>array(-348,-300,18,156),2503=>array(23,16,389,558),2504=>array(-31,11,368,778),2507=>array(16,-17,867,648),2508=>array(-26,-17,891,778),2509=>array(-134,-162,154,558),2510=>array(38,19,353,564),2519=>array(-176,-15,276,814),2524=>array(64,-114,639,558),2525=>array(46,-97,526,558),2527=>array(45,-8,568,558),2528=>array(44,-81,698,658),2529=>array(98,-271,491,588),2530=>array(-420,-300,-152,64),2531=>array(-500,-300,67,164),2534=>array(44,55,449,440),2535=>array(13,-4,348,571),2536=>array(56,-81,415,561),2537=>array(37,37,483,511),2538=>array(-2,32,428,573),2539=>array(14,9,510,547),2540=>array(30,13,458,552),2541=>array(118,0,450,545),2542=>array(15,23,515,551),2543=>array(-6,27,427,576),2544=>array(35,-9,541,558),2545=>array(21,-34,544,558),2546=>array(85,32,339,535),2547=>array(-1,70,367,547),2548=>array(-33,25,479,529),2549=>array(17,42,570,572),2550=>array(-7,29,600,572),2551=>array(-1,47,159,551),2552=>array(21,45,345,552),2553=>array(7,169,299,439),2554=>array(30,345,641,730),2555=>array(76,-200,311,298),3585=>array(4,0,486,527),3586=>array(0,-1,463,531),3587=>array(59,-1,523,530),3588=>array(62,0,498,527),3589=>array(61,0,513,526),3590=>array(36,-7,571,530),3591=>array(45,-1,402,529),3592=>array(67,0,416,526),3593=>array(32,-6,489,528),3594=>array(0,0,475,563),3595=>array(56,0,532,563),3596=>array(20,-9,718,529),3597=>array(20,-271,718,527),3598=>array(2,-218,550,530),3599=>array(-5,-219,545,529),3600=>array(-122,-300,478,529),3601=>array(60,-1,602,530),3602=>array(18,-8,697,529),3603=>array(20,-9,712,529),3604=>array(27,0,470,527),3605=>array(21,0,483,527),3606=>array(23,-9,486,529),3607=>array(56,-1,547,531),3608=>array(2,-1,509,529),3609=>array(55,-8,513,530),3610=>array(4,-1,538,529),3611=>array(0,0,595,744),3612=>array(5,-1,566,529),3613=>array(0,0,624,748),3614=>array(49,-1,580,529),3615=>array(49,0,643,744),3616=>array(0,-9,548,529),3617=>array(7,-8,542,530),3618=>array(30,-8,506,530),3619=>array(60,-6,485,526),3620=>array(24,-220,487,528),3621=>array(24,-8,467,529),3622=>array(-2,-225,546,530),3623=>array(57,-9,419,528),3624=>array(52,-5,559,552),3625=>array(2,-1,614,529),3626=>array(21,-12,545,552),3627=>array(54,-1,557,531),3628=>array(54,0,717,654),3629=>array(30,-8,475,529),3630=>array(26,-15,525,565),3631=>array(61,-1,415,531),3632=>array(3,0,409,524),3633=>array(-131,461,187,671),3634=>array(66,0,352,527),3635=>array(-52,0,353,735),3636=>array(-361,438,-3,659),3637=>array(-363,433,54,689),3638=>array(-364,433,74,687),3639=>array(-322,433,49,689),3640=>array(-323,-268,-160,-45),3641=>array(-442,-262,-139,-32),3642=>array(-263,-165,-153,-59),3647=>array(13,-49,645,672),3648=>array(81,-5,278,521),3649=>array(44,-5,486,521),3650=>array(41,-68,499,879),3651=>array(65,-69,352,884),3652=>array(64,-70,365,887),3653=>array(25,-227,320,528),3654=>array(117,-193,485,564),3655=>array(-161,449,208,734),3656=>array(-24,667,68,851),3657=>array(-70,658,239,849),3658=>array(-106,679,257,849),3659=>array(-95,662,122,847),3660=>array(-126,678,153,900),3661=>array(-55,567,94,720),3662=>array(-112,591,204,896),3663=>array(55,0,602,526),3664=>array(63,13,496,408),3665=>array(60,4,499,410),3666=>array(39,-17,533,590),3667=>array(31,12,537,408),3668=>array(7,-13,633,591),3669=>array(7,-13,634,591),3670=>array(85,-19,504,590),3671=>array(2,-14,597,578),3672=>array(16,-16,629,589),3673=>array(12,-14,626,588),3674=>array(70,-1,608,531),3675=>array(7,52,830,467),4256=>array(115,10,534,683),4257=>array(121,18,515,694),4258=>array(116,11,613,686),4259=>array(136,10,765,685),4260=>array(111,10,586,684),4261=>array(112,10,584,685),4262=>array(107,11,536,686),4263=>array(115,11,818,685),4264=>array(114,10,574,685),4265=>array(114,14,582,684),4266=>array(136,10,963,679),4267=>array(116,11,571,685),4268=>array(112,10,608,687),4269=>array(114,12,815,685),4270=>array(109,11,569,685),4271=>array(110,10,607,683),4272=>array(109,11,755,684),4273=>array(115,11,502,687),4274=>array(115,10,624,685),4275=>array(207,10,679,686),4276=>array(181,11,696,685),4277=>array(101,10,606,688),4278=>array(135,10,763,686),4279=>array(113,14,609,685),4280=>array(161,11,633,686),4281=>array(79,11,521,687),4282=>array(120,10,592,685),4283=>array(115,11,571,687),4284=>array(79,10,684,685),4285=>array(139,10,539,685),4286=>array(117,11,512,689),4287=>array(79,-133,705,686),4288=>array(107,11,568,686),4289=>array(106,11,576,685),4290=>array(98,9,614,685),4291=>array(131,14,610,686),4292=>array(107,10,599,685),4293=>array(105,12,551,685),4304=>array(64,10,465,494),4305=>array(72,11,466,687),4306=>array(13,-270,501,396),4307=>array(31,-274,653,395),4308=>array(5,-272,469,397),4309=>array(8,-273,475,396),4310=>array(62,10,491,685),4311=>array(70,10,724,400),4312=>array(69,11,466,396),4313=>array(4,-274,476,394),4314=>array(21,-272,847,396),4315=>array(72,10,528,682),4316=>array(70,10,565,686),4317=>array(66,11,718,397),4318=>array(60,10,518,684),4319=>array(7,-272,499,396),4320=>array(55,10,714,683),4321=>array(118,10,511,686),4322=>array(20,-272,515,395),4323=>array(73,-271,540,398),4324=>array(79,-272,586,400),4325=>array(4,-272,563,687),4326=>array(31,-271,653,395),4327=>array(7,-275,503,396),4328=>array(105,10,579,685),4329=>array(35,10,477,686),4330=>array(15,-271,485,398),4331=>array(72,10,528,686),4332=>array(122,-272,612,686),4333=>array(1,-271,485,684),4334=>array(120,10,515,686),4335=>array(-57,-271,645,394),4336=>array(61,10,527,689),4337=>array(63,10,534,684),4338=>array(17,10,499,396),4339=>array(-11,-268,464,396),4340=>array(5,-271,508,501),4341=>array(63,11,507,684),4342=>array(71,-279,756,686),4343=>array(10,-273,475,396),4344=>array(10,-273,481,400),4345=>array(86,-256,574,410),4346=>array(31,-198,478,396),4347=>array(61,-1,451,571),4348=>array(52,203,424,711),5024=>array(18,0,767,662),5025=>array(19,-9,680,662),5026=>array(112,0,719,662),5027=>array(33,-9,706,662),5028=>array(87,-9,888,671),5029=>array(-3,0,328,670),5030=>array(68,-14,570,676),5031=>array(81,-14,606,676),5032=>array(20,0,547,662),5033=>array(46,-18,833,662),5034=>array(-12,0,684,674),5035=>array(9,-14,500,662),5036=>array(18,0,690,662),5037=>array(72,10,764,672),5038=>array(37,0,538,676),5039=>array(9,-14,653,667),5040=>array(18,0,544,662),5041=>array(18,0,690,662),5042=>array(41,-14,785,676),5043=>array(124,-11,1056,662),5044=>array(51,-14,599,676),5045=>array(-9,0,618,676),5046=>array(79,-14,747,676),5047=>array(16,0,1008,662),5048=>array(83,0,513,676),5049=>array(32,-14,896,670),5050=>array(82,-14,1074,676),5051=>array(18,0,842,662),5052=>array(73,-13,624,662),5053=>array(74,-14,850,662),5054=>array(80,-14,754,676),5055=>array(83,-9,670,662),5056=>array(78,-14,772,676),5057=>array(8,-14,715,680),5058=>array(18,0,605,662),5059=>array(21,0,730,662),5060=>array(88,0,572,680),5061=>array(80,-14,993,676),5062=>array(50,0,755,662),5063=>array(19,-14,733,680),5064=>array(103,-14,765,680),5065=>array(81,0,1053,671),5066=>array(19,-18,734,680),5067=>array(53,-14,587,680),5068=>array(128,-14,810,662),5069=>array(43,-14,788,680),5070=>array(53,0,599,662),5071=>array(19,0,591,662),5072=>array(76,0,580,662),5073=>array(131,-14,783,680),5074=>array(22,0,617,662),5075=>array(90,-14,493,662),5076=>array(124,-11,1090,662),5077=>array(55,-14,608,680),5078=>array(104,-14,659,662),5079=>array(10,-18,769,660),5080=>array(10,-18,769,660),5081=>array(124,-11,810,662),5082=>array(58,-14,580,676),5083=>array(67,-14,909,680),5084=>array(16,-10,666,671),5085=>array(-12,0,611,675),5086=>array(18,0,641,662),5087=>array(79,-14,747,676),5088=>array(110,-14,756,662),5089=>array(50,-14,793,676),5090=>array(19,0,652,662),5091=>array(80,-14,696,680),5092=>array(102,0,884,660),5093=>array(18,0,831,662),5094=>array(18,0,800,662),5095=>array(41,-14,609,662),5096=>array(82,-14,885,680),5097=>array(73,-14,839,680),5098=>array(47,-14,876,680),5099=>array(86,-14,750,680),5100=>array(90,-14,786,680),5101=>array(36,-14,589,680),5102=>array(82,-14,585,680),5103=>array(19,-14,777,680),5104=>array(34,-101,644,680),5105=>array(56,-9,806,662),5106=>array(-12,0,631,680),5107=>array(79,-14,925,677),5108=>array(17,0,668,662),7424=>array(0,0,406,441),7425=>array(1,0,621,431),7426=>array(29,-11,646,441),7427=>array(-6,0,389,431),7428=>array(28,-12,440,440),7429=>array(0,0,468,431),7431=>array(0,0,420,431),7432=>array(3,-10,444,442),7433=>array(24,-180,239,485),7434=>array(0,-12,329,431),7435=>array(0,0,472,431),7436=>array(0,0,375,431),7437=>array(0,0,589,431),7439=>array(24,-12,447,440),7448=>array(0,0,400,431),7450=>array(39,0,437,431),7451=>array(62,0,441,431),7452=>array(74,-12,513,431),7456=>array(83,-12,488,431),7457=>array(84,-12,636,431),7458=>array(0,0,404,431),7552=>array(23,-142,473,683),7579=>array(98,381,446,685),7581=>array(84,321,349,686),7582=>array(91,381,397,847),7583=>array(77,382,373,686),7588=>array(116,383,290,830),7589=>array(113,383,239,687),7592=>array(27,235,297,848),7593=>array(93,244,269,849),7596=>array(97,243,540,686),7597=>array(117,264,582,687),7598=>array(38,251,470,687),7599=>array(89,243,416,686),7600=>array(73,385,456,692),7601=>array(88,381,384,685),7602=>array(91,270,475,862),7603=>array(60,243,311,687),7604=>array(58,301,441,895),7605=>array(42,295,302,757),7606=>array(104,382,418,686),7607=>array(86,376,428,678),7608=>array(132,383,427,680),7609=>array(118,376,409,687),7612=>array(68,243,412,677),7613=>array(78,301,360,677),7614=>array(47,249,335,677),7615=>array(96,382,413,841),7680=>array(0,-235,615,668),7681=>array(17,-246,476,441),7682=>array(0,0,596,804),7683=>array(25,-11,475,692),7684=>array(0,-163,596,653),7685=>array(25,-163,475,683),7686=>array(0,-121,596,653),7687=>array(-25,-121,475,683),7688=>array(45,-217,668,863),7689=>array(20,-217,429,651),7690=>array(0,0,708,806),7691=>array(18,-13,530,683),7692=>array(0,-163,708,653),7693=>array(18,-163,530,683),7694=>array(0,-121,708,653),7695=>array(18,-121,530,683),7696=>array(-8,-216,700,653),7697=>array(8,-223,527,683),7698=>array(0,-186,708,653),7699=>array(18,-199,530,683),7700=>array(-8,0,627,900),7701=>array(24,-11,457,797),7702=>array(-8,0,627,900),7703=>array(24,-11,473,793),7704=>array(0,-186,635,653),7705=>array(-30,-197,405,441),7706=>array(0,-144,635,653),7707=>array(-30,-155,405,441),7708=>array(-8,-216,627,865),7709=>array(13,-224,472,653),7710=>array(0,0,636,806),7711=>array(-77,-207,494,836),7712=>array(44,-18,714,756),7713=>array(-24,-206,454,579),7714=>array(0,0,775,806),7715=>array(19,-9,478,836),7716=>array(0,-163,775,653),7717=>array(19,-163,478,683),7718=>array(0,0,775,791),7719=>array(19,-9,552,821),7720=>array(-8,-215,767,653),7721=>array(-54,-213,478,683),7722=>array(0,-186,775,653),7723=>array(19,-195,478,683),7724=>array(-89,-144,392,653),7725=>array(-92,-155,284,654),7726=>array(-8,0,460,900),7727=>array(49,-11,363,816),7728=>array(0,0,715,863),7729=>array(18,-11,494,893),7730=>array(0,-163,715,653),7731=>array(18,-134,465,683),7732=>array(0,-91,715,653),7733=>array(16,-102,465,683),7734=>array(0,-163,567,653),7735=>array(23,-163,271,683),7736=>array(0,-163,585,744),7737=>array(23,-163,437,774),7738=>array(0,-121,567,653),7739=>array(-78,-121,271,683),7740=>array(0,-186,567,653),7741=>array(-68,-197,271,683),7742=>array(0,0,891,863),7743=>array(12,-9,704,656),7744=>array(0,0,891,806),7745=>array(12,-9,704,594),7746=>array(0,-163,891,653),7747=>array(12,-163,704,441),7748=>array(0,-15,747,806),7749=>array(12,-9,472,594),7750=>array(0,-163,747,653),7751=>array(12,-163,472,441),7752=>array(0,-121,747,653),7753=>array(6,-121,472,441),7754=>array(0,-201,747,653),7755=>array(5,-195,472,441),7756=>array(37,-16,679,900),7757=>array(25,-11,541,834),7758=>array(37,-18,676,899),7759=>array(25,-11,533,762),7760=>array(37,-16,676,900),7761=>array(25,-11,495,797),7762=>array(37,-16,676,890),7763=>array(25,-11,495,793),7764=>array(0,0,605,863),7765=>array(-77,-205,467,651),7766=>array(0,0,605,806),7767=>array(-77,-205,467,594),7768=>array(0,0,601,806),7769=>array(19,0,386,594),7770=>array(0,-163,601,653),7771=>array(19,-163,386,441),7772=>array(0,-163,601,756),7773=>array(19,-163,430,546),7774=>array(0,-121,601,653),7775=>array(-48,-121,386,441),7776=>array(0,-18,491,806),7777=>array(0,-13,350,594),7778=>array(0,-163,491,667),7779=>array(0,-163,350,442),7780=>array(10,-16,501,900),7781=>array(0,-13,401,752),7782=>array(10,-16,542,900),7783=>array(0,-13,465,770),7784=>array(0,-163,491,806),7785=>array(0,-163,350,594),7786=>array(94,0,668,806),7787=>array(26,-11,310,699),7788=>array(94,-163,668,653),7789=>array(3,-163,285,546),7790=>array(64,-121,668,653),7791=>array(-74,-121,285,546),7792=>array(41,-186,668,653),7793=>array(-88,-197,285,546),7794=>array(113,-156,776,653),7795=>array(27,-149,464,441),7796=>array(83,-162,776,653),7797=>array(-8,-155,464,441),7798=>array(105,-204,776,653),7799=>array(-1,-197,464,441),7800=>array(77,-16,740,900),7801=>array(31,-11,511,808),7802=>array(113,-18,776,899),7803=>array(31,-11,510,669),7804=>array(126,-18,738,802),7805=>array(51,-18,477,590),7806=>array(126,-163,738,653),7807=>array(51,-163,456,441),7808=>array(128,-18,963,867),7809=>array(51,-18,683,666),7810=>array(128,-18,963,863),7811=>array(51,-18,683,651),7812=>array(128,-18,963,791),7813=>array(51,-18,683,579),7814=>array(128,-18,963,806),7815=>array(51,-18,683,594),7816=>array(128,-163,963,653),7817=>array(51,-163,683,441),7818=>array(0,0,684,806),7819=>array(-30,-11,444,594),7820=>array(0,0,684,791),7821=>array(-30,-11,444,579),7822=>array(113,0,668,806),7823=>array(12,-206,462,594),7824=>array(0,0,612,875),7825=>array(-2,-81,423,663),7826=>array(0,-163,612,653),7827=>array(-2,-204,380,428),7828=>array(0,-121,612,653),7829=>array(-26,-172,380,428),7830=>array(2,-121,478,683),7831=>array(26,-11,397,684),7832=>array(51,-18,683,684),7833=>array(12,-206,462,684),7834=>array(17,-11,476,707),7835=>array(-48,-207,523,836),7836=>array(-118,-207,453,678),7837=>array(-77,-207,494,678),7838=>array(-10,-9,664,683),7839=>array(26,-11,486,677),7840=>array(0,-163,615,668),7841=>array(17,-163,476,441),7842=>array(0,0,615,877),7843=>array(17,-11,476,659),7844=>array(0,0,796,900),7845=>array(17,-11,670,797),7846=>array(0,0,615,879),7847=>array(17,-11,480,804),7848=>array(0,0,709,895),7849=>array(17,-11,632,683),7850=>array(-18,0,675,900),7851=>array(17,-11,556,802),7852=>array(0,-163,615,875),7853=>array(17,-163,486,663),7854=>array(-18,0,624,900),7855=>array(17,-11,516,800),7856=>array(-18,0,604,900),7857=>array(17,-11,494,798),7858=>array(-18,0,606,900),7859=>array(17,-11,494,810),7860=>array(-18,0,661,900),7861=>array(17,-11,552,802),7862=>array(0,-163,615,865),7863=>array(17,-163,505,653),7864=>array(0,-172,635,653),7865=>array(24,-172,405,441),7866=>array(0,0,635,862),7867=>array(24,-11,425,650),7868=>array(0,0,635,802),7869=>array(24,-11,487,590),7870=>array(0,0,816,898),7871=>array(24,-11,638,800),7872=>array(0,0,635,881),7873=>array(24,-11,459,803),7874=>array(0,0,735,900),7875=>array(24,-11,604,701),7876=>array(-8,0,662,900),7877=>array(24,-11,543,802),7878=>array(0,-172,635,898),7879=>array(24,-172,470,663),7880=>array(0,0,392,859),7881=>array(49,-11,289,660),7882=>array(0,-163,392,653),7883=>array(13,-163,254,654),7884=>array(37,-172,676,666),7885=>array(25,-172,466,441),7886=>array(37,-18,676,871),7887=>array(25,-11,466,656),7888=>array(37,-18,845,900),7889=>array(25,-11,690,798),7890=>array(37,-18,676,880),7891=>array(25,-11,497,801),7892=>array(37,-18,785,900),7893=>array(25,-11,646,710),7894=>array(28,-16,697,900),7895=>array(25,-11,588,802),7896=>array(37,-172,676,875),7897=>array(25,-172,494,663),7898=>array(37,-18,840,876),7899=>array(25,-11,618,666),7900=>array(37,-18,840,878),7901=>array(25,-11,618,666),7902=>array(37,-18,840,900),7903=>array(25,-11,618,684),7904=>array(37,-18,840,845),7905=>array(25,-11,618,606),7906=>array(37,-173,840,695),7907=>array(25,-169,618,545),7908=>array(113,-172,776,653),7909=>array(31,-172,464,441),7910=>array(113,-18,776,862),7911=>array(31,-11,464,654),7912=>array(102,-18,883,876),7913=>array(31,-11,647,666),7914=>array(102,-18,883,878),7915=>array(31,-11,647,666),7916=>array(102,-18,883,898),7917=>array(31,-11,647,686),7918=>array(102,-18,883,825),7919=>array(31,-11,647,628),7920=>array(102,-163,883,694),7921=>array(31,-163,647,545),7922=>array(113,0,668,867),7923=>array(12,-206,462,666),7924=>array(113,-163,668,653),7925=>array(12,-206,462,441),7926=>array(113,0,668,859),7927=>array(12,-206,462,656),7928=>array(113,0,668,802),7929=>array(12,-206,477,590),7936=>array(9,-11,527,710),7937=>array(9,-11,527,708),7938=>array(9,-11,527,710),7939=>array(9,-11,527,709),7940=>array(9,-11,527,712),7941=>array(9,-11,527,709),7942=>array(9,-11,538,800),7943=>array(9,-11,542,800),7944=>array(10,0,625,711),7945=>array(10,0,625,715),7946=>array(174,0,791,711),7947=>array(139,0,754,710),7948=>array(139,0,786,711),7949=>array(139,0,777,712),7950=>array(47,0,662,799),7951=>array(34,0,649,801),7952=>array(11,-10,401,700),7953=>array(11,-10,401,708),7954=>array(11,-10,417,710),7955=>array(11,-10,401,709),7956=>array(11,-10,463,712),7957=>array(11,-10,433,709),7960=>array(126,0,798,711),7961=>array(168,0,846,710),7962=>array(142,0,950,711),7963=>array(132,0,937,713),7964=>array(138,0,984,712),7965=>array(129,0,954,705),7968=>array(61,-212,488,710),7969=>array(61,-212,488,712),7970=>array(61,-212,490,714),7971=>array(61,-212,488,713),7972=>array(61,-212,554,706),7973=>array(61,-212,531,713),7974=>array(61,-212,603,799),7975=>array(61,-212,603,800),7976=>array(101,0,913,708),7977=>array(128,0,938,711),7978=>array(141,0,1072,711),7979=>array(135,0,1072,700),7980=>array(137,0,1116,710),7981=>array(134,0,1087,710),7982=>array(83,0,961,801),7983=>array(82,0,966,800),7984=>array(3,-11,261,710),7985=>array(3,-11,278,708),7986=>array(3,-11,321,710),7987=>array(3,-11,278,709),7988=>array(3,-11,378,712),7989=>array(3,-11,346,709),7990=>array(3,-20,399,801),7991=>array(3,-11,404,800),7992=>array(128,0,549,708),7993=>array(137,0,559,712),7994=>array(133,0,684,711),7995=>array(130,0,673,710),7996=>array(132,0,724,711),7997=>array(141,0,712,710),7998=>array(72,0,569,799),7999=>array(80,0,572,801),8000=>array(44,-11,504,710),8001=>array(20,-11,480,708),8002=>array(20,-11,480,710),8003=>array(20,-11,480,709),8004=>array(20,-11,495,712),8005=>array(20,-11,485,709),8008=>array(131,-18,791,707),8009=>array(130,-18,801,713),8010=>array(127,-18,960,711),8011=>array(130,-18,957,710),8012=>array(128,-18,947,713),8013=>array(128,-18,941,710),8016=>array(61,-11,495,710),8017=>array(61,-11,495,708),8018=>array(61,-11,495,710),8019=>array(61,-11,495,709),8020=>array(61,-11,525,712),8021=>array(61,-11,525,709),8022=>array(61,-11,559,800),8023=>array(61,-11,580,800),8025=>array(134,0,892,715),8027=>array(129,0,998,715),8029=>array(127,0,1026,716),8031=>array(78,0,899,799),8032=>array(19,-10,648,710),8033=>array(19,-10,648,708),8034=>array(19,-10,648,710),8035=>array(19,-10,648,709),8036=>array(19,-10,648,712),8037=>array(19,-10,648,709),8038=>array(19,-10,657,800),8039=>array(19,-10,656,800),8040=>array(100,0,879,711),8041=>array(97,0,876,713),8042=>array(134,0,1059,709),8043=>array(130,0,1039,713),8044=>array(136,0,1039,711),8045=>array(124,0,1014,706),8046=>array(90,0,927,799),8047=>array(88,0,903,799),8048=>array(9,-11,527,706),8049=>array(9,-11,527,704),8050=>array(11,-10,401,703),8051=>array(11,-10,401,704),8052=>array(61,-212,488,705),8053=>array(61,-212,488,702),8054=>array(3,-11,229,703),8055=>array(3,-11,273,703),8056=>array(20,-11,480,700),8057=>array(20,-11,480,700),8058=>array(61,-11,495,707),8059=>array(61,-11,495,706),8060=>array(19,-10,648,697),8061=>array(19,-10,648,701),8064=>array(9,-200,527,710),8065=>array(9,-200,527,708),8066=>array(9,-200,527,710),8067=>array(9,-200,527,709),8068=>array(9,-200,527,712),8069=>array(9,-200,527,709),8070=>array(9,-200,527,801),8071=>array(9,-200,537,800),8072=>array(10,0,813,711),8073=>array(10,0,811,715),8074=>array(174,0,968,711),8075=>array(139,0,938,710),8076=>array(139,0,963,711),8077=>array(139,0,958,712),8078=>array(47,0,845,799),8079=>array(34,0,826,801),8080=>array(40,-212,488,710),8081=>array(40,-212,488,708),8082=>array(40,-212,488,710),8083=>array(40,-212,488,709),8084=>array(40,-212,575,712),8085=>array(40,-212,545,709),8086=>array(40,-212,592,800),8087=>array(40,-212,601,800),8088=>array(101,0,977,708),8089=>array(128,-1,1023,711),8090=>array(141,0,1138,711),8091=>array(135,0,1144,700),8092=>array(137,0,1206,710),8093=>array(134,0,1208,710),8094=>array(83,0,1059,801),8095=>array(82,0,1065,800),8096=>array(19,-200,648,710),8097=>array(19,-200,648,708),8098=>array(19,-200,648,710),8099=>array(19,-200,648,709),8100=>array(19,-200,648,712),8101=>array(19,-200,648,709),8102=>array(19,-200,648,800),8103=>array(19,-200,648,800),8104=>array(100,0,1016,711),8105=>array(97,0,1033,713),8106=>array(134,0,1223,709),8107=>array(130,0,1193,713),8108=>array(136,0,1198,711),8109=>array(124,0,1170,706),8110=>array(90,0,1089,799),8111=>array(88,0,1061,799),8112=>array(9,-11,527,723),8113=>array(9,-11,527,571),8114=>array(9,-200,527,700),8115=>array(9,-200,527,441),8116=>array(9,-200,527,703),8118=>array(9,-11,527,658),8119=>array(9,-200,527,658),8120=>array(10,0,625,865),8121=>array(10,0,625,797),8122=>array(10,0,625,706),8123=>array(10,0,625,704),8124=>array(10,0,812,668),8125=>array(101,494,248,710),8126=>array(9,0,182,148),8127=>array(187,554,334,770),8128=>array(164,597,504,694),8129=>array(195,557,543,789),8130=>array(40,-212,488,703),8131=>array(40,-212,488,441),8132=>array(40,-212,488,700),8134=>array(61,-212,499,655),8135=>array(40,-212,502,656),8136=>array(117,0,752,706),8137=>array(112,0,787,714),8138=>array(147,0,922,706),8139=>array(126,0,941,704),8140=>array(0,0,830,653),8141=>array(169,494,435,710),8142=>array(173,496,495,712),8143=>array(111,470,451,800),8144=>array(3,-11,375,653),8145=>array(0,-11,312,572),8146=>array(3,-11,344,712),8147=>array(3,-11,344,755),8150=>array(-14,-11,326,614),8151=>array(3,-11,361,713),8152=>array(0,0,464,865),8153=>array(0,0,431,744),8154=>array(144,0,536,706),8155=>array(115,0,550,694),8157=>array(160,492,416,709),8158=>array(169,492,465,709),8159=>array(121,462,461,800),8160=>array(61,-11,511,673),8161=>array(61,-11,495,582),8162=>array(61,-11,495,742),8163=>array(61,-11,497,773),8164=>array(-12,-218,451,714),8165=>array(-12,-218,451,712),8166=>array(61,-11,512,653),8167=>array(61,-11,555,733),8168=>array(87,0,699,846),8169=>array(87,0,699,799),8170=>array(165,0,888,706),8171=>array(111,0,884,696),8172=>array(132,0,777,709),8173=>array(170,516,472,730),8174=>array(156,525,453,780),8175=>array(188,490,267,705),8178=>array(19,-200,648,707),8179=>array(19,-200,648,461),8180=>array(19,-200,648,696),8182=>array(19,-10,648,651),8183=>array(19,-200,648,653),8184=>array(155,-18,801,706),8185=>array(115,-18,787,705),8186=>array(102,0,881,706),8187=>array(83,0,862,704),8188=>array(7,0,933,666),8189=>array(257,498,414,713),8190=>array(159,491,310,708),8208=>array(81,201,339,250),8209=>array(124,201,392,250),8210=>array(85,201,607,250),8211=>array(42,201,554,250),8212=>array(42,201,1054,250),8213=>array(85,201,1107,250),8214=>array(57,-77,337,554),8215=>array(-56,-219,443,-57),8216=>array(152,436,291,666),8217=>array(141,436,280,666),8218=>array(-15,-129,124,101),8219=>array(161,428,295,666),8220=>array(121,436,440,666),8221=>array(101,436,424,666),8222=>array(-24,-129,309,101),8223=>array(123,428,429,666),8224=>array(101,-159,488,666),8225=>array(22,-143,491,666),8226=>array(122,191,402,461),8227=>array(88,180,399,483),8228=>array(27,-11,138,100),8229=>array(27,-11,388,100),8230=>array(57,-11,762,100),8231=>array(142,188,240,286),8240=>array(25,-19,1010,706),8241=>array(79,-13,1558,676),8242=>array(124,459,370,735),8243=>array(124,459,555,735),8244=>array(124,459,749,735),8245=>array(164,442,283,666),8246=>array(164,442,473,666),8247=>array(164,442,663,666),8248=>array(-21,-162,401,203),8249=>array(51,37,281,403),8250=>array(15,37,245,403),8251=>array(66,-26,677,563),8252=>array(39,-11,635,667),8253=>array(132,-12,508,664),8254=>array(154,547,665,597),8255=>array(36,-269,890,-13),8256=>array(219,644,1073,900),8257=>array(-13,-14,474,676),8258=>array(68,-86,862,688),8259=>array(85,150,382,298),8260=>array(-172,-10,519,676),8261=>array(165,-181,539,680),8262=>array(80,-181,455,680),8263=>array(132,-12,872,664),8264=>array(132,-12,802,667),8265=>array(39,-12,735,667),8266=>array(104,-8,597,450),8267=>array(-55,-154,559,662),8268=>array(15,155,537,545),8269=>array(13,166,535,556),8270=>array(98,-21,462,390),8271=>array(79,-141,305,459),8272=>array(76,1,981,801),8273=>array(78,-20,567,865),8274=>array(-4,-10,687,676),8275=>array(1,293,497,399),8276=>array(210,-275,1064,-19),8277=>array(70,-9,537,456),8278=>array(123,6,513,578),8279=>array(124,459,983,735),8280=>array(109,6,705,669),8281=>array(26,6,756,578),8282=>array(51,6,340,783),8283=>array(102,-197,698,806),8284=>array(86,0,600,510),8285=>array(45,6,332,783),8286=>array(46,6,331,783),8304=>array(130,379,466,797),8305=>array(165,387,308,826),8308=>array(126,391,453,804),8309=>array(111,387,499,815),8310=>array(126,384,491,806),8311=>array(178,391,504,799),8312=>array(117,385,459,804),8313=>array(102,383,467,805),8314=>array(162,501,374,701),8315=>array(162,576,374,626),8316=>array(152,526,385,676),8317=>array(143,306,374,862),8318=>array(90,306,321,862),8319=>array(120,385,425,683),8320=>array(-16,-212,320,206),8321=>array(-15,-200,230,205),8322=>array(-8,-200,283,208),8323=>array(-13,-204,283,210),8324=>array(-23,-200,304,213),8325=>array(-39,-205,349,223),8326=>array(-20,-204,345,218),8327=>array(32,-200,358,208),8328=>array(-29,-204,313,215),8329=>array(-54,-207,311,215),8330=>array(40,-99,252,101),8331=>array(45,-24,257,26),8332=>array(44,-74,277,76),8333=>array(15,-270,246,286),8334=>array(-28,-270,203,286),8336=>array(-9,-213,304,95),8337=>array(-4,-213,256,95),8338=>array(-3,-214,297,94),8339=>array(-41,-212,282,96),8340=>array(-4,-213,256,95),8352=>array(169,0,732,691),8353=>array(66,-139,798,793),8354=>array(66,-18,689,666),8355=>array(8,0,645,653),8356=>array(10,-6,517,670),8357=>array(12,-114,704,577),8358=>array(-20,-15,727,653),8359=>array(10,-10,962,662),8360=>array(0,-13,946,653),8361=>array(7,-18,906,653),8362=>array(60,0,901,600),8363=>array(73,1,628,802),8364=>array(87,-14,819,676),8365=>array(34,0,792,662),8366=>array(103,0,704,662),8367=>array(7,-207,1358,672),8368=>array(12,-197,502,672),8369=>array(16,0,687,662),8370=>array(82,-37,671,704),8371=>array(15,0,715,674),8372=>array(68,-14,563,676),8373=>array(21,-87,610,727),8374=>array(31,-11,482,663),8376=>array(116,-1,646,666),8377=>array(107,-14,743,661),8400=>array(-300,572,127,689),8401=>array(-323,572,98,689),8402=>array(-234,-77,-59,554),8403=>array(-218,-1,-79,457),8404=>array(-516,514,163,732),8405=>array(-496,514,188,732),8406=>array(-287,531,137,737),8407=>array(-307,531,117,737),8408=>array(-337,114,-46,397),8409=>array(-343,114,-13,412),8410=>array(-343,102,-52,397),8411=>array(-354,501,142,599),8412=>array(-553,513,142,612),8413=>array(-736,-198,252,790),8414=>array(-740,-193,249,796),8415=>array(-735,-190,251,796),8416=>array(-738,-198,250,790),8417=>array(-299,514,122,720),8418=>array(-706,-75,210,643),8419=>array(-879,-200,147,862),8420=>array(-785,-88,288,784),8421=>array(-373,-134,-20,556),8422=>array(-284,-77,-4,554),8423=>array(-328,15,163,539),8424=>array(-512,-142,-16,-44),8425=>array(-358,503,144,675),8426=>array(-608,103,135,411),8427=>array(-594,-99,176,591),8428=>array(-458,-197,-31,-80),8429=>array(-438,-199,-17,-82),8430=>array(-429,-230,-5,-24),8431=>array(-457,-230,-33,-24),8432=>array(-310,471,-127,678),8448=>array(29,-10,720,676),8449=>array(29,-10,720,676),8450=>array(45,-18,720,673),8451=>array(91,-18,966,676),8452=>array(70,1,464,666),8453=>array(17,-10,708,676),8454=>array(17,-10,708,676),8455=>array(13,-15,576,702),8456=>array(38,-14,699,676),8457=>array(91,0,936,676),8458=>array(-59,-216,562,347),8459=>array(9,-9,1218,700),8460=>array(4,-158,756,683),8461=>array(9,0,855,656),8462=>array(19,-9,478,683),8463=>array(49,-9,508,683),8464=>array(16,-12,928,701),8465=>array(20,-4,690,685),8466=>array(0,-9,932,703),8467=>array(34,-11,532,677),8468=>array(41,-11,811,683),8469=>array(8,-18,791,656),8470=>array(0,-15,814,653),8471=>array(65,-14,787,708),8472=>array(-11,-211,800,573),8473=>array(8,0,669,656),8474=>array(35,-171,738,673),8475=>array(8,-12,1015,700),8476=>array(66,-4,747,681),8477=>array(29,0,719,656),8478=>array(-8,-12,637,653),8479=>array(-13,-93,588,826),8480=>array(50,210,939,663),8481=>array(95,0,1165,653),8482=>array(102,221,979,652),8483=>array(-16,-93,688,827),8484=>array(29,0,716,656),8485=>array(-35,-209,462,664),8486=>array(-8,0,771,666),8487=>array(55,-1,834,665),8488=>array(-15,-162,662,674),8489=>array(107,9,333,452),8490=>array(0,0,715,653),8491=>array(0,0,615,900),8492=>array(20,-8,992,703),8493=>array(63,-4,676,683),8494=>array(34,-10,515,460),8495=>array(23,-7,424,347),8496=>array(32,-9,734,704),8497=>array(10,-10,1007,703),8498=>array(9,1,645,654),8499=>array(12,-10,1343,697),8500=>array(33,-7,438,347),8501=>array(-3,-5,567,584),8502=>array(1,0,552,598),8503=>array(6,0,373,598),8504=>array(92,-2,552,596),8505=>array(20,0,434,683),8506=>array(64,-42,913,598),8507=>array(0,0,1232,653),8508=>array(66,-1,751,518),8510=>array(18,0,676,656),8511=>array(28,0,836,656),8513=>array(81,11,718,707),8514=>array(127,0,557,664),8515=>array(22,0,577,664),8516=>array(20,0,611,665),8522=>array(39,0,558,664),8523=>array(116,-18,763,666),8525=>array(42,-12,955,676),8526=>array(10,0,430,431),8531=>array(129,-10,762,677),8532=>array(126,-10,791,678),8533=>array(108,-10,807,677),8534=>array(131,-10,831,678),8535=>array(122,-10,829,678),8536=>array(120,-10,832,684),8537=>array(115,-12,809,677),8538=>array(113,-12,819,693),8539=>array(138,-10,801,677),8540=>array(101,-10,793,678),8541=>array(118,-10,805,695),8542=>array(198,-10,800,679),8543=>array(108,-10,678,677),8544=>array(0,0,392,653),8545=>array(0,0,661,653),8546=>array(0,0,930,653),8547=>array(0,-18,1027,653),8548=>array(126,-18,738,653),8549=>array(126,-18,1003,653),8550=>array(126,-18,1269,653),8551=>array(126,-18,1532,653),8552=>array(0,0,973,653),8553=>array(0,0,684,653),8554=>array(0,0,1030,653),8555=>array(0,0,1297,653),8556=>array(0,0,567,653),8557=>array(43,-18,666,666),8558=>array(0,0,708,653),8559=>array(0,0,891,653),8560=>array(39,-11,254,654),8561=>array(39,-11,472,656),8562=>array(39,-11,690,654),8563=>array(39,-18,660,654),8564=>array(51,-18,456,441),8565=>array(51,-18,673,654),8566=>array(51,-18,888,654),8567=>array(51,-18,1104,654),8568=>array(39,-11,712,654),8569=>array(-30,-11,444,441),8570=>array(-30,-11,658,654),8571=>array(-30,-11,876,654),8572=>array(32,-11,271,683),8573=>array(24,-11,419,441),8574=>array(18,-13,530,683),8575=>array(12,-9,704,441),8592=>array(62,52,910,462),8593=>array(105,-163,516,677),8594=>array(54,52,902,462),8595=>array(-17,-163,394,677),8596=>array(84,52,925,462),8597=>array(252,-163,757,677),8598=>array(111,-35,740,677),8599=>array(8,-35,864,677),8600=>array(60,-163,689,549),8601=>array(8,-35,864,677),8612=>array(84,52,1057,462),8613=>array(36,-207,602,721),8614=>array(56,52,1029,462),8615=>array(48,-207,614,721),8617=>array(64,52,929,468),8618=>array(89,52,915,468),8628=>array(117,13,691,600),8629=>array(51,-16,752,629),8636=>array(68,229,921,462),8637=>array(80,52,921,285),8638=>array(76,-175,441,666),8639=>array(108,-172,389,669),8640=>array(59,232,900,465),8641=>array(59,49,912,282),8642=>array(71,-172,352,669),8643=>array(9,-175,374,666),8644=>array(42,-118,942,632),8645=>array(105,-163,774,677),8646=>array(34,-118,950,633),8651=>array(39,-51,941,564),8652=>array(50,-49,930,566),8656=>array(74,5,943,510),8657=>array(94,-163,606,678),8658=>array(37,5,906,510),8659=>array(24,-163,536,678),8660=>array(84,5,935,510),8661=>array(118,-168,702,683),8668=>array(68,52,1103,462),8669=>array(68,52,1103,462),8704=>array(115,-14,653,662),8705=>array(57,-13,600,801),8706=>array(96,-10,532,666),8707=>array(4,0,644,652),8708=>array(4,-110,649,776),8709=>array(30,-14,632,588),8710=>array(6,0,608,688),8711=>array(124,-20,726,668),8712=>array(71,8,562,506),8713=>array(71,-50,562,606),8714=>array(46,-17,440,500),8715=>array(44,8,535,506),8716=>array(43,-50,535,606),8717=>array(8,-17,435,500),8718=>array(77,0,570,691),8719=>array(-22,-101,925,751),8720=>array(-17,-101,930,751),8721=>array(-22,-123,772,752),8722=>array(86,220,590,286),8723=>array(86,0,590,568),8724=>array(86,0,590,656),8725=>array(143,-10,649,676),8726=>array(110,-14,609,676),8727=>array(102,78,394,407),8728=>array(62,71,435,443),8729=>array(136,152,338,354),8730=>array(94,-65,716,900),8731=>array(94,-65,716,900),8732=>array(94,-65,716,900),8733=>array(18,53,617,434),8734=>array(18,53,662,434),8735=>array(62,0,447,385),8736=>array(18,0,530,453),8737=>array(18,-40,530,453),8738=>array(35,0,467,510),8739=>array(112,-94,168,662),8740=>array(65,-94,264,662),8741=>array(112,-94,288,662),8742=>array(40,-94,424,662),8743=>array(19,0,545,508),8744=>array(79,0,605,508),8745=>array(52,0,655,573),8746=>array(59,0,662,573),8747=>array(-38,-200,726,900),8748=>array(-48,-200,1067,900),8749=>array(-52,-200,1405,900),8750=>array(-22,-200,741,900),8751=>array(-38,-200,1059,900),8756=>array(52,-10,544,481),8757=>array(102,-16,597,476),8758=>array(122,-18,220,476),8759=>array(81,-20,576,476),8761=>array(66,48,740,476),8764=>array(65,159,617,320),8770=>array(65,127,617,441),8771=>array(39,125,591,439),8773=>array(61,57,613,562),8776=>array(65,74,617,440),8778=>array(65,23,617,523),8784=>array(86,123,590,572),8785=>array(86,-68,590,577),8786=>array(86,-70,590,575),8787=>array(86,-64,593,574),8788=>array(102,10,761,497),8789=>array(86,10,784,494),8790=>array(86,123,590,389),8791=>array(86,123,590,680),8793=>array(86,123,590,697),8794=>array(86,123,590,697),8797=>array(86,123,658,766),8798=>array(86,123,590,683),8799=>array(86,123,590,794),8800=>array(64,-3,568,509),8801=>array(92,23,596,489),8804=>array(84,0,592,628),8805=>array(84,0,592,628),8806=>array(70,-113,579,706),8807=>array(105,-115,629,713),8810=>array(54,-10,893,516),8811=>array(64,-10,902,516),8818=>array(35,-112,587,599),8819=>array(62,-112,614,599),8834=>array(75,28,666,526),8835=>array(20,28,611,526),8976=>array(42,108,607,386),8992=>array(194,-83,834,900),8993=>array(-83,-81,551,900),8994=>array(97,156,632,316),8995=>array(92,156,626,316),9001=>array(64,-198,441,746),9002=>array(-16,-198,360,746),9251=>array(45,0,493,160),9674=>array(68,0,516,740),9675=>array(35,-14,757,708),9676=>array(135,-14,857,708),9688=>array(0,0,547,691),9702=>array(125,196,395,466),9711=>array(51,-85,914,778),9824=>array(72,0,656,705),9825=>array(148,-14,782,704),9826=>array(107,-14,634,705),9827=>array(99,0,813,705),9828=>array(72,0,656,705),9829=>array(148,-14,782,704),9830=>array(107,-14,634,705),9831=>array(99,0,813,705),9833=>array(-21,0,372,694),9834=>array(-21,0,497,694),9835=>array(16,0,722,703),9836=>array(16,0,722,703),9837=>array(-32,-21,362,730),9838=>array(-28,-214,402,712),9839=>array(-39,-197,452,762),11799=>array(76,52,343,303),42790=>array(-8,-186,767,653),42791=>array(4,-207,433,655),42792=>array(59,-81,790,653),42793=>array(37,-81,600,546),42794=>array(77,-15,616,676),42795=>array(68,-14,544,663),42796=>array(58,-52,557,676),42797=>array(53,-215,495,450),42798=>array(58,-129,557,676),42799=>array(53,-215,533,450),42888=>array(0,-102,312,65),42889=>array(50,-11,256,441),42890=>array(43,120,295,386),42891=>array(173,176,345,760),42892=>array(211,375,338,760),42893=>array(130,0,767,653),42896=>array(-18,-129,729,653),42897=>array(14,-186,474,441),42922=>array(98,0,917,653),43002=>array(21,-14,713,436),64256=>array(-77,-207,741,681),64257=>array(-77,-207,545,681),64258=>array(-77,-204,582,682),64259=>array(-77,-207,792,681),64260=>array(-77,-207,830,682),64261=>array(-77,-207,606,678),64262=>array(10,-13,677,670),64275=>array(98,-10,990,676),64276=>array(98,-10,993,662),64277=>array(98,-200,975,662),64278=>array(98,-200,990,662),64279=>array(98,-200,1238,662),64285=>array(50,235,315,594),64286=>array(279,719,578,865),64287=>array(46,203,505,631),64288=>array(22,48,589,600),64297=>array(30,220,534,506),64298=>array(2,0,647,699),64299=>array(2,0,585,699),64300=>array(2,0,656,699),64301=>array(2,0,585,699),64302=>array(-53,-96,517,584),64303=>array(-53,-236,517,584),64304=>array(-53,-133,517,584),64305=>array(-59,0,492,598),64306=>array(-44,0,323,598),64307=>array(82,-2,542,596),64308=>array(-37,-2,526,598),64309=>array(46,0,303,598),64310=>array(16,-1,323,598),64312=>array(-42,0,520,598),64313=>array(48,284,315,594),64314=>array(125,-300,597,564),64315=>array(-68,0,524,598),64316=>array(137,-6,535,812),64318=>array(-42,0,516,599),64320=>array(-36,0,315,598),64321=>array(-19,0,528,598),64323=>array(68,-300,536,563),64324=>array(-64,0,494,598),64326=>array(-70,0,528,598),64327=>array(-99,-300,551,564),64328=>array(80,-1,504,598),64329=>array(2,0,585,598),64330=>array(-50,-1,533,598),64331=>array(103,0,303,701),64332=>array(-59,0,492,662),64333=>array(-68,0,524,662),64334=>array(-64,0,494,662),64335=>array(125,-5,573,843),65532=>array(85,0,773,661),65533=>array(115,-63,978,800),65535=>array(19,-71,725,750)); +$cw=array(0=>600,32=>250,33=>333,34=>333,35=>500,36=>500,37=>833,38=>778,39=>200,40=>333,41=>333,42=>500,43=>675,44=>250,45=>333,46=>250,47=>296,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>250,59=>250,60=>570,61=>664,62=>570,63=>444,64=>780,65=>651,66=>591,67=>611,68=>702,69=>574,70=>576,71=>690,72=>705,73=>322,74=>427,75=>641,76=>568,77=>821,78=>677,79=>656,80=>566,81=>656,82=>616,83=>454,84=>589,85=>706,86=>663,87=>888,88=>665,89=>593,90=>563,91=>389,92=>490,93=>389,94=>422,95=>500,96=>250,97=>498,98=>476,99=>403,100=>500,101=>406,102=>424,103=>440,104=>499,105=>246,106=>285,107=>453,108=>251,109=>725,110=>493,111=>473,112=>469,113=>483,114=>366,115=>345,116=>238,117=>484,118=>456,119=>683,120=>435,121=>462,122=>389,123=>400,124=>275,125=>400,126=>541,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>275,167=>500,168=>333,169=>760,170=>276,171=>444,172=>675,173=>333,174=>760,175=>333,176=>400,177=>675,178=>300,179=>300,180=>250,181=>500,182=>523,183=>250,184=>250,185=>250,186=>310,187=>444,188=>750,189=>740,190=>750,191=>500,192=>651,193=>651,194=>651,195=>651,196=>651,197=>651,198=>877,199=>611,200=>611,201=>611,202=>611,203=>611,204=>322,205=>322,206=>322,207=>322,208=>702,209=>677,210=>656,211=>656,212=>656,213=>656,214=>656,215=>675,216=>657,217=>706,218=>706,219=>706,220=>706,221=>593,222=>537,223=>569,224=>498,225=>498,226=>498,227=>498,228=>498,229=>498,230=>634,231=>403,232=>406,233=>406,234=>406,235=>406,236=>278,237=>278,238=>278,239=>278,240=>456,241=>493,242=>473,243=>473,244=>473,245=>473,246=>473,247=>675,248=>474,249=>484,250=>484,251=>484,252=>484,253=>462,254=>471,255=>462,256=>651,257=>498,258=>651,259=>498,260=>611,261=>500,262=>611,263=>403,264=>611,265=>403,266=>611,267=>403,268=>611,269=>403,270=>702,271=>625,272=>702,273=>500,274=>611,275=>406,276=>611,277=>406,278=>611,279=>406,280=>611,281=>406,282=>611,283=>406,284=>690,285=>440,286=>690,287=>440,288=>690,289=>440,290=>690,291=>440,292=>705,293=>499,294=>722,295=>500,296=>333,297=>278,298=>333,299=>278,300=>333,301=>278,302=>343,303=>278,304=>333,305=>278,306=>707,307=>452,308=>427,309=>328,310=>667,311=>453,312=>454,313=>568,314=>251,315=>568,316=>251,317=>568,318=>377,319=>568,320=>343,321=>564,322=>278,323=>677,324=>493,325=>677,326=>493,327=>677,328=>493,329=>542,330=>696,331=>500,332=>656,333=>473,334=>656,335=>473,336=>656,337=>473,338=>891,339=>653,340=>616,341=>366,342=>616,343=>366,344=>616,345=>366,346=>454,347=>345,348=>454,349=>345,350=>464,351=>345,352=>454,353=>345,354=>556,355=>238,356=>589,357=>364,358=>556,359=>248,360=>706,361=>484,362=>706,363=>484,364=>706,365=>484,366=>706,367=>484,368=>706,369=>484,370=>698,371=>484,372=>888,373=>683,374=>593,375=>462,376=>593,377=>563,378=>389,379=>563,380=>389,381=>563,382=>389,383=>464,384=>479,385=>738,386=>583,387=>481,388=>585,389=>509,390=>627,391=>853,392=>578,393=>702,394=>892,395=>669,396=>540,397=>472,398=>611,399=>585,400=>518,401=>611,402=>464,403=>863,404=>653,405=>708,406=>278,407=>333,408=>792,409=>444,410=>262,411=>480,412=>900,413=>768,414=>500,415=>661,416=>771,417=>576,418=>908,419=>722,420=>698,421=>483,422=>611,423=>500,424=>369,425=>653,426=>461,427=>313,428=>556,429=>335,430=>556,431=>801,432=>605,433=>747,434=>691,435=>663,436=>578,437=>556,438=>389,439=>518,440=>558,441=>434,442=>416,443=>500,444=>615,445=>439,446=>389,447=>473,448=>235,449=>360,450=>600,451=>333,452=>1268,453=>1091,454=>869,455=>1000,456=>824,457=>506,458=>1034,459=>895,460=>748,461=>651,462=>498,463=>322,464=>278,465=>656,466=>473,467=>706,468=>484,469=>706,470=>484,471=>698,472=>484,473=>698,474=>484,475=>698,476=>484,477=>406,478=>651,479=>498,480=>651,481=>498,482=>877,483=>634,484=>712,485=>490,486=>690,487=>440,488=>641,489=>453,490=>670,491=>473,492=>670,493=>473,494=>518,495=>446,496=>278,497=>1258,498=>1091,499=>859,500=>690,501=>440,502=>936,503=>537,504=>677,505=>493,506=>611,507=>498,508=>877,509=>634,510=>657,511=>474,512=>651,513=>498,514=>651,515=>498,516=>574,517=>406,518=>574,519=>406,520=>322,521=>278,522=>322,523=>278,524=>656,525=>473,526=>656,527=>473,528=>616,529=>366,530=>616,531=>366,532=>706,533=>484,534=>706,535=>484,536=>454,537=>345,538=>589,539=>238,540=>434,541=>465,542=>705,543=>499,544=>697,545=>558,546=>540,547=>508,548=>591,549=>404,550=>651,551=>498,552=>577,553=>406,554=>656,555=>473,556=>656,557=>473,558=>656,559=>473,560=>656,561=>473,562=>593,563=>462,564=>334,565=>527,566=>377,567=>278,568=>779,569=>768,570=>651,571=>611,572=>407,573=>564,574=>556,575=>350,576=>414,577=>436,578=>444,579=>588,580=>722,581=>657,582=>604,583=>406,584=>444,585=>348,586=>726,587=>550,588=>616,589=>333,590=>556,591=>470,592=>516,593=>564,594=>564,595=>500,596=>403,597=>407,598=>524,599=>647,600=>406,601=>406,602=>722,603=>431,604=>435,605=>664,606=>462,607=>353,608=>650,609=>480,610=>482,611=>491,612=>602,613=>499,614=>497,615=>485,616=>278,617=>278,618=>278,619=>378,620=>376,621=>364,622=>616,623=>761,624=>766,625=>768,626=>590,627=>569,628=>530,629=>500,630=>667,631=>700,632=>633,633=>366,634=>389,635=>444,636=>389,637=>393,638=>415,639=>383,640=>434,641=>456,642=>354,643=>464,644=>535,645=>496,646=>585,647=>238,648=>278,649=>510,650=>549,651=>464,652=>456,653=>683,654=>438,655=>490,656=>510,657=>492,658=>446,659=>479,660=>436,661=>438,662=>438,663=>454,664=>656,665=>402,666=>462,667=>695,668=>476,669=>307,670=>453,671=>383,672=>652,673=>414,674=>404,675=>745,676=>762,677=>799,678=>551,679=>542,680=>644,681=>756,682=>506,683=>481,684=>500,685=>500,686=>611,687=>716,688=>330,689=>330,690=>178,691=>248,692=>248,693=>309,694=>306,695=>405,696=>260,697=>250,698=>400,699=>200,700=>200,701=>200,702=>250,703=>250,704=>250,705=>250,706=>333,707=>333,708=>333,709=>333,710=>333,711=>333,712=>250,713=>333,714=>250,715=>250,716=>250,717=>333,718=>250,719=>250,720=>250,721=>250,722=>250,723=>250,724=>333,725=>333,726=>333,727=>333,728=>333,729=>333,730=>333,731=>333,732=>333,733=>333,734=>400,735=>333,736=>311,737=>200,738=>243,739=>328,740=>300,741=>500,742=>500,743=>500,744=>500,745=>500,746=>500,747=>500,748=>333,749=>333,750=>333,751=>333,752=>333,753=>333,754=>333,755=>333,756=>250,757=>333,758=>333,759=>333,760=>250,761=>200,762=>200,763=>200,764=>200,765=>333,766=>333,767=>333,768=>0,769=>0,770=>0,771=>0,772=>0,773=>0,774=>0,775=>0,776=>0,777=>0,778=>0,779=>0,780=>0,781=>0,782=>0,783=>0,784=>0,785=>0,786=>0,787=>0,788=>0,789=>0,790=>0,791=>0,792=>0,793=>0,794=>0,795=>0,796=>0,797=>0,798=>0,799=>0,800=>0,801=>0,802=>0,803=>0,804=>0,805=>0,806=>0,807=>0,808=>0,809=>0,810=>0,811=>0,812=>0,813=>0,814=>0,815=>0,816=>0,817=>0,818=>0,819=>0,820=>0,821=>0,822=>0,823=>0,824=>0,825=>0,826=>0,827=>0,828=>0,829=>0,830=>0,831=>0,832=>0,833=>0,834=>0,835=>0,836=>0,837=>0,838=>0,839=>0,840=>0,841=>0,842=>0,843=>0,844=>0,845=>0,846=>0,847=>0,848=>0,849=>0,850=>0,851=>0,852=>0,853=>0,854=>0,855=>0,856=>0,857=>0,858=>0,859=>0,860=>0,861=>0,862=>0,863=>0,864=>0,865=>0,866=>0,867=>0,868=>0,869=>0,870=>0,871=>0,872=>0,873=>0,874=>0,875=>0,876=>0,877=>0,878=>0,879=>0,884=>199,885=>199,890=>332,894=>333,900=>257,901=>333,902=>661,903=>250,904=>794,905=>904,906=>524,908=>815,910=>837,911=>879,912=>270,913=>661,914=>581,915=>594,916=>660,917=>611,918=>606,919=>705,920=>661,921=>333,922=>641,923=>661,924=>821,925=>677,926=>678,927=>656,928=>697,929=>566,931=>653,932=>596,933=>679,934=>751,935=>665,936=>821,937=>767,938=>333,939=>696,940=>564,941=>431,942=>539,943=>270,944=>540,945=>564,946=>509,947=>496,948=>518,949=>431,950=>408,951=>539,952=>523,953=>270,954=>491,955=>488,956=>501,957=>515,958=>440,959=>524,960=>608,961=>506,962=>423,963=>532,964=>477,965=>540,966=>628,967=>500,968=>728,969=>701,970=>310,971=>540,972=>524,973=>540,974=>701,976=>537,977=>632,978=>630,979=>820,980=>680,981=>612,982=>704,983=>529,984=>555,985=>548,986=>588,987=>498,988=>610,989=>478,990=>653,991=>410,992=>719,993=>544,1008=>563,1009=>546,1010=>495,1011=>285,1012=>661,1013=>280,1014=>280,1015=>540,1016=>500,1017=>704,1018=>832,1019=>703,1020=>533,1021=>704,1022=>704,1023=>704,1024=>574,1025=>574,1026=>668,1027=>594,1028=>634,1029=>454,1030=>322,1031=>322,1032=>427,1033=>992,1034=>963,1035=>703,1036=>644,1037=>720,1038=>739,1039=>728,1040=>651,1041=>583,1042=>591,1043=>594,1044=>668,1045=>574,1046=>987,1047=>592,1048=>720,1049=>720,1050=>644,1051=>695,1052=>821,1053=>705,1054=>656,1055=>697,1056=>566,1057=>611,1058=>589,1059=>739,1060=>751,1061=>665,1062=>696,1063=>642,1064=>973,1065=>983,1066=>716,1067=>877,1068=>580,1069=>594,1070=>984,1071=>683,1072=>498,1073=>475,1074=>418,1075=>354,1076=>493,1077=>406,1078=>914,1079=>412,1080=>484,1081=>484,1082=>483,1083=>504,1084=>641,1085=>492,1086=>473,1087=>493,1088=>469,1089=>436,1090=>725,1091=>478,1092=>735,1093=>435,1094=>485,1095=>484,1096=>734,1097=>735,1098=>545,1099=>677,1100=>437,1101=>432,1102=>671,1103=>519,1104=>406,1105=>406,1106=>510,1107=>354,1108=>442,1109=>345,1110=>246,1111=>278,1112=>285,1113=>707,1114=>696,1115=>498,1116=>483,1117=>484,1118=>478,1119=>491,1120=>964,1121=>679,1122=>708,1123=>688,1124=>975,1125=>644,1126=>812,1127=>624,1128=>1096,1129=>791,1130=>964,1131=>738,1132=>1260,1133=>886,1134=>574,1135=>400,1136=>812,1137=>694,1138=>721,1139=>500,1140=>745,1141=>533,1142=>745,1143=>533,1144=>1108,1145=>908,1146=>868,1147=>602,1148=>964,1149=>684,1150=>964,1151=>679,1152=>588,1153=>443,1154=>320,1155=>0,1156=>0,1157=>0,1158=>0,1159=>0,1160=>0,1161=>0,1162=>720,1163=>500,1164=>602,1165=>433,1166=>611,1167=>500,1168=>552,1169=>424,1170=>593,1171=>424,1172=>611,1173=>432,1174=>992,1175=>932,1176=>592,1177=>396,1178=>681,1179=>491,1180=>700,1181=>532,1182=>664,1183=>491,1184=>776,1185=>690,1186=>729,1187=>500,1188=>908,1189=>660,1190=>1034,1191=>694,1192=>730,1193=>543,1194=>666,1195=>403,1196=>556,1197=>775,1198=>593,1199=>574,1200=>555,1201=>574,1202=>660,1203=>443,1204=>798,1205=>581,1206=>674,1207=>500,1208=>690,1209=>516,1210=>640,1211=>499,1212=>785,1213=>569,1214=>785,1215=>568,1216=>322,1217=>987,1218=>914,1219=>664,1220=>491,1221=>719,1222=>487,1223=>722,1224=>500,1225=>722,1226=>500,1227=>666,1228=>500,1229=>828,1230=>624,1231=>322,1232=>651,1233=>498,1234=>651,1235=>498,1236=>877,1237=>634,1238=>574,1239=>406,1240=>585,1241=>406,1242=>585,1243=>406,1244=>987,1245=>914,1246=>592,1247=>412,1248=>518,1249=>446,1250=>720,1251=>484,1252=>720,1253=>484,1254=>656,1255=>473,1256=>661,1257=>500,1258=>661,1259=>500,1260=>594,1261=>432,1262=>739,1263=>478,1264=>739,1265=>478,1266=>739,1267=>478,1268=>642,1269=>484,1270=>611,1271=>424,1272=>877,1273=>677,1296=>532,1297=>409,1298=>719,1299=>487,1306=>656,1307=>483,1308=>888,1309=>656,1310=>664,1311=>491,1329=>794,1330=>712,1331=>782,1332=>854,1333=>711,1334=>702,1335=>707,1336=>655,1337=>777,1338=>782,1339=>710,1340=>663,1341=>830,1342=>917,1343=>672,1344=>469,1345=>666,1346=>858,1347=>685,1348=>856,1349=>618,1350=>858,1351=>709,1352=>719,1353=>714,1354=>731,1355=>702,1356=>874,1357=>719,1358=>844,1359=>519,1360=>703,1361=>608,1362=>586,1363=>751,1364=>780,1365=>714,1366=>684,1369=>120,1370=>120,1371=>269,1372=>307,1373=>241,1374=>312,1375=>300,1377=>786,1378=>506,1379=>542,1380=>541,1381=>506,1382=>503,1383=>478,1384=>499,1385=>541,1386=>539,1387=>508,1388=>289,1389=>750,1390=>540,1391=>513,1392=>508,1393=>503,1394=>531,1395=>518,1396=>500,1397=>243,1398=>473,1399=>406,1400=>499,1401=>407,1402=>793,1403=>414,1404=>463,1405=>500,1406=>516,1407=>758,1408=>504,1409=>466,1410=>288,1411=>758,1412=>510,1413=>501,1414=>562,1415=>543,1417=>278,1418=>280,1423=>700,1425=>0,1426=>0,1427=>0,1428=>0,1429=>0,1430=>0,1431=>418,1432=>0,1433=>0,1434=>0,1435=>0,1436=>0,1437=>0,1438=>0,1439=>0,1440=>0,1441=>0,1442=>0,1443=>0,1444=>0,1445=>0,1446=>0,1447=>0,1448=>0,1449=>0,1450=>0,1451=>0,1452=>0,1453=>0,1454=>0,1455=>0,1456=>0,1457=>0,1458=>0,1459=>0,1460=>0,1461=>0,1462=>0,1463=>0,1464=>0,1465=>0,1466=>0,1467=>0,1468=>0,1469=>0,1470=>370,1471=>0,1472=>126,1473=>0,1474=>0,1475=>418,1476=>0,1477=>0,1478=>350,1479=>0,1488=>537,1489=>537,1490=>350,1491=>537,1492=>537,1493=>350,1494=>350,1495=>537,1496=>537,1497=>350,1498=>537,1499=>537,1500=>537,1501=>537,1502=>537,1503=>350,1504=>350,1505=>537,1506=>537,1507=>537,1508=>537,1509=>537,1510=>537,1511=>537,1512=>537,1513=>537,1514=>537,1520=>537,1521=>537,1522=>537,1523=>396,1524=>396,2404=>318,2405=>446,2433=>0,2434=>300,2435=>312,2437=>594,2438=>776,2439=>469,2440=>513,2441=>535,2442=>561,2443=>604,2444=>481,2447=>580,2448=>604,2451=>540,2452=>620,2453=>570,2454=>485,2455=>484,2456=>471,2457=>457,2458=>408,2459=>452,2460=>591,2461=>551,2462=>771,2463=>414,2464=>404,2465=>522,2466=>415,2467=>450,2468=>551,2469=>477,2470=>478,2471=>449,2472=>448,2474=>535,2475=>611,2476=>443,2477=>534,2478=>492,2479=>474,2480=>442,2482=>542,2486=>507,2487=>467,2488=>523,2489=>419,2492=>0,2493=>419,2494=>202,2495=>189,2496=>202,2497=>0,2498=>0,2499=>0,2500=>0,2503=>294,2504=>289,2507=>774,2508=>825,2509=>0,2510=>356,2519=>219,2524=>523,2525=>420,2527=>469,2528=>604,2529=>481,2530=>0,2531=>0,2534=>500,2535=>437,2536=>479,2537=>507,2538=>497,2539=>500,2540=>482,2541=>503,2542=>517,2543=>481,2544=>443,2545=>443,2546=>429,2547=>383,2548=>432,2549=>478,2550=>539,2551=>158,2552=>365,2553=>280,2554=>357,2555=>344,3585=>512,3586=>453,3587=>512,3588=>519,3589=>529,3590=>561,3591=>411,3592=>437,3593=>552,3594=>452,3595=>509,3596=>707,3597=>707,3598=>574,3599=>570,3600=>406,3601=>607,3602=>686,3603=>749,3604=>494,3605=>497,3606=>509,3607=>552,3608=>461,3609=>565,3610=>527,3611=>523,3612=>556,3613=>551,3614=>570,3615=>570,3616=>571,3617=>531,3618=>493,3619=>433,3620=>513,3621=>491,3622=>571,3623=>439,3624=>510,3625=>594,3626=>484,3627=>554,3628=>616,3629=>493,3630=>496,3631=>417,3632=>392,3633=>0,3634=>366,3635=>366,3636=>0,3637=>0,3638=>0,3639=>0,3640=>0,3641=>0,3642=>0,3647=>662,3648=>297,3649=>544,3650=>298,3651=>329,3652=>328,3653=>326,3654=>488,3655=>0,3656=>0,3657=>0,3658=>0,3659=>0,3660=>0,3661=>0,3662=>0,3663=>725,3664=>624,3665=>624,3666=>624,3667=>624,3668=>624,3669=>624,3670=>624,3671=>624,3672=>624,3673=>624,3674=>645,3675=>872,4256=>453,4257=>448,4258=>546,4259=>619,4260=>478,4261=>481,4262=>459,4263=>707,4264=>467,4265=>471,4266=>842,4267=>464,4268=>443,4269=>707,4270=>460,4271=>465,4272=>686,4273=>440,4274=>550,4275=>561,4276=>580,4277=>467,4278=>630,4279=>466,4280=>517,4281=>456,4282=>502,4283=>464,4284=>534,4285=>440,4286=>443,4287=>522,4288=>460,4289=>463,4290=>536,4291=>455,4292=>468,4293=>449,4304=>454,4305=>452,4306=>544,4307=>629,4308=>451,4309=>452,4310=>452,4311=>702,4312=>451,4313=>452,4314=>820,4315=>451,4316=>453,4317=>695,4318=>449,4319=>448,4320=>694,4321=>501,4322=>544,4323=>517,4324=>560,4325=>450,4326=>627,4327=>452,4328=>491,4329=>452,4330=>485,4331=>452,4332=>485,4333=>443,4334=>500,4335=>582,4336=>455,4337=>451,4338=>480,4339=>414,4340=>453,4341=>418,4342=>741,4343=>452,4344=>452,4345=>544,4346=>454,4347=>410,4348=>339,5024=>711,5025=>678,5026=>604,5027=>667,5028=>796,5029=>301,5030=>516,5031=>544,5032=>457,5033=>716,5034=>703,5035=>383,5036=>628,5037=>709,5038=>455,5039=>601,5040=>472,5041=>574,5042=>730,5043=>939,5044=>498,5045=>528,5046=>667,5047=>891,5048=>505,5049=>792,5050=>957,5051=>725,5052=>595,5053=>733,5054=>698,5055=>638,5056=>720,5057=>732,5058=>624,5059=>638,5060=>565,5061=>903,5062=>655,5063=>681,5064=>675,5065=>949,5066=>683,5067=>547,5068=>693,5069=>732,5070=>529,5071=>569,5072=>536,5073=>677,5074=>631,5075=>495,5076=>973,5077=>543,5078=>607,5079=>652,5080=>652,5081=>693,5082=>514,5083=>803,5084=>658,5085=>597,5086=>627,5087=>659,5088=>679,5089=>706,5090=>563,5091=>618,5092=>767,5093=>776,5094=>731,5095=>492,5096=>808,5097=>823,5098=>796,5099=>689,5100=>716,5101=>518,5102=>521,5103=>719,5104=>563,5105=>776,5106=>634,5107=>822,5108=>621,7424=>416,7425=>587,7426=>703,7427=>410,7428=>428,7429=>450,7431=>401,7432=>435,7433=>246,7434=>268,7435=>449,7436=>364,7437=>536,7439=>443,7448=>361,7450=>390,7451=>380,7452=>449,7456=>384,7457=>527,7458=>395,7552=>500,7579=>335,7581=>285,7582=>312,7583=>280,7588=>188,7589=>212,7592=>230,7593=>236,7596=>497,7597=>529,7598=>421,7599=>404,7600=>364,7601=>329,7602=>412,7603=>234,7604=>282,7605=>217,7606=>384,7607=>356,7608=>344,7609=>334,7612=>403,7613=>318,7614=>297,7615=>318,7680=>651,7681=>498,7682=>591,7683=>476,7684=>591,7685=>476,7686=>591,7687=>476,7688=>611,7689=>403,7690=>702,7691=>500,7692=>702,7693=>500,7694=>702,7695=>500,7696=>693,7697=>500,7698=>702,7699=>500,7700=>577,7701=>406,7702=>577,7703=>406,7704=>574,7705=>406,7706=>574,7707=>406,7708=>577,7709=>406,7710=>576,7711=>424,7712=>690,7713=>440,7714=>705,7715=>499,7716=>705,7717=>499,7718=>705,7719=>499,7720=>697,7721=>498,7722=>705,7723=>499,7724=>322,7725=>246,7726=>314,7727=>278,7728=>641,7729=>453,7730=>641,7731=>453,7732=>641,7733=>453,7734=>568,7735=>251,7736=>568,7737=>251,7738=>568,7739=>251,7740=>568,7741=>251,7742=>821,7743=>725,7744=>821,7745=>725,7746=>821,7747=>725,7748=>677,7749=>493,7750=>677,7751=>493,7752=>677,7753=>493,7754=>677,7755=>493,7756=>656,7757=>473,7758=>656,7759=>473,7760=>656,7761=>473,7762=>656,7763=>473,7764=>566,7765=>469,7766=>566,7767=>469,7768=>616,7769=>366,7770=>616,7771=>366,7772=>616,7773=>366,7774=>616,7775=>366,7776=>454,7777=>345,7778=>454,7779=>345,7780=>464,7781=>345,7782=>464,7783=>345,7784=>454,7785=>345,7786=>589,7787=>238,7788=>589,7789=>238,7790=>589,7791=>238,7792=>589,7793=>238,7794=>706,7795=>484,7796=>706,7797=>484,7798=>706,7799=>484,7800=>698,7801=>484,7802=>706,7803=>484,7804=>663,7805=>456,7806=>663,7807=>456,7808=>888,7809=>683,7810=>888,7811=>683,7812=>888,7813=>683,7814=>888,7815=>683,7816=>888,7817=>683,7818=>665,7819=>435,7820=>665,7821=>435,7822=>593,7823=>462,7824=>563,7825=>389,7826=>563,7827=>389,7828=>563,7829=>389,7830=>499,7831=>238,7832=>683,7833=>462,7834=>444,7835=>383,7836=>383,7837=>424,7838=>676,7839=>464,7840=>651,7841=>498,7842=>651,7843=>498,7844=>651,7845=>498,7846=>651,7847=>498,7848=>651,7849=>498,7850=>651,7851=>498,7852=>651,7853=>498,7854=>651,7855=>498,7856=>651,7857=>498,7858=>651,7859=>498,7860=>651,7861=>498,7862=>651,7863=>498,7864=>574,7865=>406,7866=>574,7867=>406,7868=>574,7869=>406,7870=>611,7871=>406,7872=>611,7873=>406,7874=>611,7875=>406,7876=>611,7877=>406,7878=>574,7879=>406,7880=>322,7881=>278,7882=>322,7883=>246,7884=>656,7885=>473,7886=>656,7887=>473,7888=>656,7889=>473,7890=>656,7891=>473,7892=>656,7893=>473,7894=>656,7895=>473,7896=>656,7897=>473,7898=>771,7899=>576,7900=>771,7901=>576,7902=>807,7903=>585,7904=>771,7905=>576,7906=>771,7907=>576,7908=>706,7909=>484,7910=>706,7911=>484,7912=>801,7913=>605,7914=>801,7915=>605,7916=>807,7917=>585,7918=>801,7919=>605,7920=>801,7921=>605,7922=>593,7923=>462,7924=>593,7925=>462,7926=>593,7927=>462,7928=>593,7929=>462,7936=>564,7937=>564,7938=>564,7939=>564,7940=>564,7941=>564,7942=>564,7943=>564,7944=>661,7945=>661,7946=>794,7947=>771,7948=>792,7949=>773,7950=>661,7951=>648,7952=>431,7953=>431,7954=>431,7955=>431,7956=>431,7957=>431,7960=>740,7961=>795,7962=>923,7963=>910,7964=>956,7965=>926,7968=>539,7969=>539,7970=>539,7971=>539,7972=>539,7973=>539,7974=>539,7975=>539,7976=>879,7977=>901,7978=>1036,7979=>1035,7980=>1079,7981=>1060,7982=>924,7983=>929,7984=>270,7985=>270,7986=>267,7987=>267,7988=>267,7989=>267,7990=>267,7991=>267,7992=>490,7993=>499,7994=>625,7995=>614,7996=>665,7997=>653,7998=>510,7999=>513,8000=>558,8001=>524,8002=>524,8003=>524,8004=>524,8005=>524,8008=>797,8009=>807,8010=>966,8011=>962,8012=>953,8013=>947,8016=>540,8017=>540,8018=>540,8019=>540,8020=>540,8021=>540,8022=>540,8023=>540,8025=>816,8027=>922,8029=>950,8031=>823,8032=>701,8033=>701,8034=>701,8035=>701,8036=>701,8037=>701,8038=>701,8039=>701,8040=>852,8041=>849,8042=>1032,8043=>1012,8044=>1012,8045=>987,8046=>900,8047=>876,8048=>564,8049=>564,8050=>431,8051=>431,8052=>539,8053=>539,8054=>270,8055=>270,8056=>524,8057=>524,8058=>540,8059=>540,8060=>701,8061=>701,8064=>564,8065=>564,8066=>564,8067=>564,8068=>564,8069=>564,8070=>564,8071=>564,8072=>821,8073=>854,8074=>998,8075=>971,8076=>992,8077=>981,8078=>866,8079=>858,8080=>539,8081=>539,8082=>539,8083=>539,8084=>539,8085=>539,8086=>539,8087=>539,8088=>999,8089=>1044,8090=>1159,8091=>1165,8092=>1227,8093=>1229,8094=>1080,8095=>1085,8096=>701,8097=>701,8098=>701,8099=>701,8100=>701,8101=>701,8102=>701,8103=>701,8104=>1037,8105=>1053,8106=>1244,8107=>1214,8108=>1219,8109=>1191,8110=>1110,8111=>1082,8112=>564,8113=>564,8114=>564,8115=>564,8116=>564,8118=>564,8119=>564,8120=>661,8121=>661,8122=>661,8123=>661,8124=>831,8125=>192,8126=>200,8127=>200,8128=>500,8129=>534,8130=>539,8131=>539,8132=>539,8134=>539,8135=>539,8136=>731,8137=>766,8138=>889,8139=>908,8140=>851,8141=>330,8142=>333,8143=>500,8144=>270,8145=>270,8146=>270,8147=>270,8150=>270,8151=>270,8152=>333,8153=>333,8154=>477,8155=>491,8157=>333,8158=>500,8159=>333,8160=>540,8161=>540,8162=>540,8163=>540,8164=>506,8165=>506,8166=>540,8167=>540,8168=>679,8169=>679,8170=>865,8171=>861,8172=>783,8173=>333,8174=>333,8175=>200,8178=>701,8179=>701,8180=>701,8182=>701,8183=>701,8184=>807,8185=>793,8186=>855,8187=>835,8188=>952,8189=>500,8190=>200,8192=>500,8193=>1000,8194=>500,8195=>1000,8196=>333,8197=>250,8198=>167,8199=>500,8200=>250,8201=>166,8202=>100,8203=>0,8204=>0,8205=>0,8206=>0,8207=>0,8208=>333,8209=>333,8210=>500,8211=>500,8212=>1000,8213=>1000,8214=>293,8215=>465,8216=>200,8217=>200,8218=>200,8219=>200,8220=>333,8221=>333,8222=>333,8223=>333,8224=>500,8225=>500,8226=>400,8227=>400,8228=>250,8229=>500,8230=>889,8231=>250,8232=>0,8233=>0,8234=>0,8235=>0,8236=>0,8237=>0,8238=>0,8239=>166,8240=>1000,8241=>1601,8242=>247,8243=>411,8244=>611,8245=>220,8246=>410,8247=>600,8248=>469,8249=>250,8250=>250,8251=>629,8252=>666,8253=>500,8254=>500,8255=>953,8256=>1000,8257=>314,8258=>931,8259=>400,8260=>167,8261=>480,8262=>480,8263=>900,8264=>833,8265=>763,8266=>500,8267=>453,8268=>453,8269=>500,8270=>500,8271=>278,8272=>882,8273=>500,8274=>497,8275=>500,8276=>953,8277=>512,8278=>410,8279=>855,8280=>620,8281=>620,8282=>179,8283=>621,8284=>564,8285=>179,8286=>179,8287=>111,8288=>0,8289=>0,8290=>0,8291=>0,8292=>0,8304=>300,8305=>235,8308=>300,8309=>300,8310=>300,8311=>300,8312=>300,8313=>300,8314=>300,8315=>300,8316=>300,8317=>216,8318=>216,8319=>318,8320=>300,8321=>250,8322=>300,8323=>300,8324=>300,8325=>300,8326=>300,8327=>300,8328=>300,8329=>300,8330=>300,8331=>300,8332=>300,8333=>216,8334=>216,8336=>350,8337=>304,8338=>340,8339=>317,8340=>278,8352=>698,8353=>667,8354=>667,8355=>611,8356=>500,8357=>722,8358=>667,8359=>988,8360=>953,8361=>833,8362=>869,8363=>512,8364=>741,8365=>722,8366=>611,8367=>1340,8368=>489,8369=>589,8370=>619,8371=>722,8372=>556,8373=>611,8374=>408,8376=>524,8377=>654,8400=>0,8401=>0,8402=>0,8403=>0,8404=>0,8405=>0,8406=>0,8407=>0,8408=>0,8409=>0,8410=>0,8411=>0,8412=>0,8413=>0,8414=>0,8415=>0,8416=>0,8417=>0,8418=>0,8419=>0,8420=>0,8421=>0,8422=>0,8423=>0,8424=>0,8425=>0,8426=>0,8427=>0,8428=>0,8429=>0,8430=>0,8431=>0,8432=>0,8448=>604,8449=>605,8450=>674,8451=>954,8452=>536,8453=>593,8454=>667,8455=>518,8456=>667,8457=>862,8458=>560,8459=>1124,8460=>673,8461=>808,8462=>499,8463=>530,8464=>808,8465=>613,8466=>855,8467=>417,8468=>777,8469=>711,8470=>783,8471=>792,8472=>792,8473=>589,8474=>729,8475=>892,8476=>711,8477=>755,8478=>616,8479=>610,8480=>879,8481=>1156,8482=>920,8483=>611,8484=>659,8485=>409,8486=>767,8487=>767,8488=>663,8489=>286,8490=>722,8491=>722,8492=>936,8493=>613,8494=>523,8495=>430,8496=>637,8497=>890,8498=>576,8499=>1241,8500=>437,8501=>547,8502=>557,8503=>360,8504=>537,8505=>417,8506=>906,8507=>1195,8508=>675,8510=>586,8511=>722,8513=>663,8514=>485,8515=>485,8516=>637,8522=>516,8523=>778,8525=>926,8526=>378,8531=>750,8532=>750,8533=>750,8534=>750,8535=>750,8536=>750,8537=>750,8538=>750,8539=>750,8540=>750,8541=>750,8542=>750,8543=>750,8544=>322,8545=>608,8546=>877,8547=>950,8548=>663,8549=>930,8550=>1196,8551=>1459,8552=>900,8553=>665,8554=>931,8555=>1204,8556=>568,8557=>611,8558=>702,8559=>821,8560=>246,8561=>496,8562=>682,8563=>660,8564=>456,8565=>665,8566=>880,8567=>1096,8568=>703,8569=>435,8570=>650,8571=>878,8572=>251,8573=>403,8574=>500,8575=>725,8592=>964,8593=>499,8594=>964,8595=>499,8596=>900,8597=>900,8598=>800,8599=>800,8600=>800,8601=>800,8612=>1013,8613=>570,8614=>1013,8615=>500,8617=>910,8618=>910,8628=>658,8629=>658,8636=>900,8637=>900,8638=>400,8639=>400,8640=>900,8641=>900,8642=>400,8643=>400,8644=>900,8645=>790,8646=>900,8651=>900,8652=>900,8656=>900,8657=>550,8658=>900,8659=>550,8660=>910,8661=>650,8668=>1078,8669=>1078,8704=>587,8705=>532,8706=>544,8707=>587,8708=>587,8709=>662,8710=>612,8711=>612,8712=>536,8713=>536,8714=>439,8715=>536,8716=>536,8717=>439,8718=>500,8719=>823,8720=>823,8721=>713,8722=>675,8723=>675,8724=>675,8725=>750,8726=>610,8727=>400,8728=>400,8729=>400,8730=>549,8731=>549,8732=>549,8733=>677,8734=>677,8735=>509,8736=>575,8737=>559,8738=>509,8739=>200,8740=>250,8741=>320,8742=>404,8743=>564,8744=>564,8745=>654,8746=>654,8747=>496,8748=>840,8749=>1173,8750=>652,8751=>870,8756=>565,8757=>568,8758=>250,8759=>629,8761=>767,8764=>636,8770=>586,8771=>586,8773=>636,8776=>636,8778=>636,8784=>614,8785=>564,8786=>564,8787=>564,8788=>735,8789=>755,8790=>675,8791=>657,8793=>614,8794=>675,8797=>614,8798=>614,8799=>614,8800=>675,8801=>636,8804=>675,8805=>675,8806=>636,8807=>636,8810=>900,8811=>899,8818=>636,8819=>636,8834=>636,8835=>636,8976=>564,8992=>686,8993=>686,8994=>658,8995=>658,9001=>329,9002=>329,9251=>500,9674=>494,9675=>791,9676=>791,9688=>400,9702=>400,9711=>885,9824=>626,9825=>694,9826=>595,9827=>776,9828=>626,9829=>694,9830=>595,9831=>776,9833=>333,9834=>555,9835=>722,9836=>722,9837=>415,9838=>377,9839=>402,11799=>333,42790=>722,42791=>491,42792=>799,42793=>609,42794=>532,42795=>409,42796=>437,42797=>389,42798=>578,42799=>580,42888=>333,42889=>278,42890=>282,42891=>286,42892=>278,42893=>722,42896=>657,42897=>500,42922=>847,43002=>725,64256=>671,64257=>569,64258=>563,64259=>810,64260=>811,64261=>557,64262=>628,64275=>971,64276=>969,64277=>978,64278=>971,64279=>1219,64285=>350,64286=>0,64287=>537,64288=>537,64297=>564,64298=>537,64299=>537,64300=>537,64301=>537,64302=>537,64303=>537,64304=>537,64305=>537,64306=>350,64307=>537,64308=>537,64309=>350,64310=>350,64312=>537,64313=>350,64314=>537,64315=>537,64316=>537,64318=>537,64320=>350,64321=>537,64323=>537,64324=>537,64326=>537,64327=>537,64328=>537,64329=>537,64330=>537,64331=>350,64332=>537,64333=>537,64334=>537,64335=>537,65529=>0,65530=>0,65531=>0,65532=>800,65533=>900,65535=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/freeserifi.z b/vendor/tecnickcom/tcpdf/fonts/freeserifi.z new file mode 100644 index 0000000..ad96b9c Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/freeserifi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/helvetica.php b/vendor/tecnickcom/tcpdf/fonts/helvetica.php new file mode 100644 index 0000000..d1aa6d8 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/helvetica.php @@ -0,0 +1,13 @@ +32,'FontBBox'=>'[-166 -225 1000 931]','ItalicAngle'=>0,'Ascent'=>931,'Descent'=>-225,'Leading'=>0,'CapHeight'=>718,'XHeight'=>523,'StemV'=>88,'StemH'=>76,'AvgWidth'=>513,'MaxWidth'=>1015,'MissingWidth'=>513); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>277,94=>469,95=>556,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,127=>500,128=>655,129=>500,130=>222,131=>278,132=>333,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>250,140=>1000,141=>500,142=>611,143=>500,144=>500,145=>222,146=>221,147=>333,148=>333,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>500,155=>250,156=>938,157=>500,158=>500,159=>667,160=>278,161=>278,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>448,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>350,179=>350,180=>333,181=>556,182=>537,183=>278,184=>333,185=>350,186=>365,187=>448,188=>869,189=>869,190=>879,191=>556,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>666,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>896,231=>500,232=>556,233=>556,234=>556,235=>556,236=>251,237=>251,238=>251,239=>251,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>555,255=>500); + +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/helveticab.php b/vendor/tecnickcom/tcpdf/fonts/helveticab.php new file mode 100644 index 0000000..8d6047f --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/helveticab.php @@ -0,0 +1,12 @@ +32,'FontBBox'=>'[-170 -228 1003 962]','ItalicAngle'=>0,'Ascent'=>962,'Descent'=>-228,'Leading'=>0,'CapHeight'=>718,'XHeight'=>532,'StemV'=>140,'StemH'=>118,'AvgWidth'=>535,'MaxWidth'=>1000,'MissingWidth'=>535); +$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,30=>278,31=>278,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,127=>350,128=>556,129=>350,130=>278,131=>556,132=>500,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,145=>278,146=>278,147=>500,148=>500,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>556,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,181=>611,182=>556,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>556,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,253=>556,254=>611,255=>556); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/helveticabi.php b/vendor/tecnickcom/tcpdf/fonts/helveticabi.php new file mode 100644 index 0000000..e2ecf38 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/helveticabi.php @@ -0,0 +1,12 @@ +96,'FontBBox'=>'[-174 -228 1114 962]','ItalicAngle'=>-12,'Ascent'=>962,'Descent'=>-228,'Leading'=>0,'CapHeight'=>718,'XHeight'=>532,'StemV'=>140,'StemH'=>118,'AvgWidth'=>535,'MaxWidth'=>1000,'MissingWidth'=>535); +$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,30=>278,31=>278,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,127=>350,128=>556,129=>350,130=>278,131=>556,132=>500,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,145=>278,146=>278,147=>500,148=>500,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>556,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,181=>611,182=>556,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>556,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,253=>556,254=>611,255=>556); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/helveticai.php b/vendor/tecnickcom/tcpdf/fonts/helveticai.php new file mode 100644 index 0000000..0404aeb --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/helveticai.php @@ -0,0 +1,12 @@ +96,'FontBBox'=>'[-170 -225 1116 931]','ItalicAngle'=>-12,'Ascent'=>931,'Descent'=>-225,'Leading'=>0,'CapHeight'=>718,'XHeight'=>523,'StemV'=>88,'StemH'=>76,'AvgWidth'=>513,'MaxWidth'=>1015,'MissingWidth'=>513); +$cw=array(0=>278,1=>278,2=>278,3=>278,4=>278,5=>278,6=>278,7=>278,8=>278,9=>278,10=>278,11=>278,12=>278,13=>278,14=>278,15=>278,16=>278,17=>278,18=>278,19=>278,20=>278,21=>278,22=>278,23=>278,24=>278,25=>278,26=>278,27=>278,28=>278,29=>278,30=>278,31=>278,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>469,95=>556,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,127=>350,128=>556,129=>350,130=>222,131=>556,132=>333,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>350,142=>611,143=>350,144=>350,145=>222,146=>222,147=>333,148=>333,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>500,155=>333,156=>944,157=>350,158=>500,159=>667,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>400,177=>584,178=>333,179=>333,180=>333,181=>556,182=>537,183=>278,184=>333,185=>333,186=>365,187=>556,188=>834,189=>834,190=>834,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/hysmyeongjostdmedium.php b/vendor/tecnickcom/tcpdf/fonts/hysmyeongjostdmedium.php new file mode 100644 index 0000000..9e8b23b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/hysmyeongjostdmedium.php @@ -0,0 +1,48 @@ + 880, + 'Descent' => -120, + 'CapHeight' => 720, + 'Flags' => 6, + 'FontBBox' => '[-28 -148 1001 880]', + 'ItalicAngle' => 0, + 'StemV' => 60, + 'Style' => '<< /Panose <000000000600000000000000> >>', +); +$cidinfo = array( + 'Registry' => 'Adobe', + 'Ordering' => 'Korea1', + 'Supplement' => '1', +); +$enc = 'UniKS-UCS2-H'; + +// underline position, needs checking: +$up = -130; +$ut = 40; + +$dw = 1000; +$cw = array( + 32 => 333, 33 => 416, 34 => 416, 35 => 833, 36 => 625, 37 => 916, 38 => 833, 39 => 250, 40 => 500, 41 => 500, + 42 => 500, 43 => 833, 44 => 291, 45 => 450, 46 => 291, 47 => 375, 48 => 625, 49 => 625, 50 => 625, 51 => 625, + 52 => 625, 53 => 625, 54 => 625, 55 => 625, 56 => 625, 57 => 625, 58 => 333, 59 => 333, 60 => 833, 61 => 833, + 62 => 916, 63 => 500, 64 => 1000, 65 => 791, 66 => 708, 67 => 708, 68 => 750, 69 => 708, 70 => 666, 71 => 750, + 72 => 791, 73 => 375, 74 => 500, 75 => 791, 76 => 666, 77 => 916, 78 => 791, 79 => 750, 80 => 666, 81 => 750, + 82 => 708, 83 => 666, 84 => 791, 85 => 791, 86 => 750, 87 => 1000, 88 => 708, 89 => 708, 90 => 666, 91 => 500, + 92 => 375, 93 => 500, 94 => 500, 95 => 500, 96 => 333, 97 => 541, 98 => 583, 99 => 541, 100 => 583, 101 => 583, + 102 => 375, 103 => 583, 104 => 583, 105 => 291, 106 => 333, 107 => 583, 108 => 291, 109 => 875, 110 => 583, 111 => 583, + 112 => 583, 113 => 583, 114 => 458, 115 => 541, 116 => 375, 117 => 583, 118 => 583, 119 => 833, 120 => 625, 121 => 625, + 122 => 500, 123 => 583, 124 => 583, 125 => 583, 126 => 750, +); +$_cr = array( + //array(97, 97, 500), + array(8094, 8190, 500) +); +foreach($_cr as $_r) { + for($i = $_r[0]; $i <= $_r[1]; $i++) { + $cw[$i+31] = $_r[2]; + } +} +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/kozgopromedium.php b/vendor/tecnickcom/tcpdf/fonts/kozgopromedium.php new file mode 100644 index 0000000..72783b7 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/kozgopromedium.php @@ -0,0 +1,65 @@ + 880, + 'Descent' => -120, + 'CapHeight' => 763, + 'Flags' => 4, + 'FontBBox' => '[-149 -374 1254 1008]', + 'ItalicAngle' => 0, + 'StemV' => 99, + 'Style' => '<< /Panose <0000020b0700000000000000> >>', + 'XHeight' => 549, +); +$cidinfo = array( + 'Registry' => 'Adobe', + 'Ordering' => 'Japan1', + 'Supplement' => '4', +); +$enc = 'UniJIS-UCS2-H'; + +// underline position, needs checking: +$up = -75; +$ut = 50; + +$dw = 1000; +$cw = array( + 32 => 224, 33 => 266, 34 => 392, 35 => 551, 36 => 562, 37 => 883, 38 => 677, 39 => 213, 40 => 322, 41 => 322, + 42 => 470, 43 => 677, 44 => 247, 45 => 343, 46 => 245, 47 => 370, 48 => 562, 49 => 562, 50 => 562, 51 => 562, + 52 => 562, 53 => 562, 54 => 562, 55 => 562, 56 => 562, 57 => 562, 58 => 245, 59 => 247, 60 => 677, 61 => 677, + 62 => 677, 63 => 447, 64 => 808, 65 => 661, 66 => 602, 67 => 610, 68 => 708, 69 => 535, 70 => 528, 71 => 689, + 72 => 703, 73 => 275, 74 => 404, 75 => 602, 76 => 514, 77 => 871, 78 => 708, 79 => 727, 80 => 585, 81 => 727, + 82 => 595, 83 => 539, 84 => 541, 85 => 696, 86 => 619, 87 => 922, 88 => 612, 89 => 591, 90 => 584, 91 => 322, + 92 => 562, 93 => 322, 94 => 677, 95 => 568, 96 => 340, 97 => 532, 98 => 612, 99 => 475, 100 => 608, 101 => 543, + 102 => 332, 103 => 603, 104 => 601, 105 => 265, 106 => 276, 107 => 524, 108 => 264, 109 => 901, 110 => 601, 111 => 590, + 112 => 612, 113 => 607, 114 => 367, 115 => 433, 116 => 369, 117 => 597, 118 => 527, 119 => 800, 120 => 511, 121 => 518, + 122 => 468, 123 => 321, 124 => 273, 125 => 321, 126 => 341, 127 => 241, 128 => 362, 129 => 241, 130 => 273, 131 => 677, + 132 => 266, 133 => 562, 134 => 562, 135 => 456, 136 => 562, 137 => 571, 138 => 562, 139 => 416, 140 => 472, 141 => 283, + 142 => 283, 143 => 587, 144 => 588, 145 => 568, 146 => 545, 147 => 545, 148 => 247, 149 => 561, 150 => 330, 151 => 239, + 152 => 418, 153 => 416, 154 => 472, 155 => 1136, 156 => 1288, 157 => 447, 158 => 340, 159 => 340, 160 => 340, 161 => 340, + 162 => 340, 163 => 340, 164 => 455, 165 => 340, 166 => 340, 167 => 340, 168 => 340, 169 => 1136, 170 => 857, 171 => 384, + 172 => 519, 173 => 727, 174 => 952, 175 => 398, 176 => 834, 177 => 264, 178 => 275, 179 => 590, 180 => 918, 181 => 605, + 182 => 677, 183 => 769, 184 => 677, 185 => 473, 186 => 361, 187 => 677, 188 => 347, 189 => 340, 190 => 599, 191 => 284, + 192 => 845, 193 => 845, 194 => 845, 195 => 661, 196 => 661, 197 => 661, 198 => 661, 199 => 661, 200 => 661, 201 => 610, + 202 => 535, 203 => 535, 204 => 535, 205 => 535, 206 => 275, 207 => 275, 208 => 275, 209 => 275, 210 => 715, 211 => 708, + 212 => 727, 213 => 727, 214 => 727, 215 => 727, 216 => 727, 217 => 677, 218 => 696, 219 => 696, 220 => 696, 221 => 696, + 222 => 591, 223 => 584, 224 => 532, 225 => 532, 226 => 532, 227 => 532, 228 => 532, 229 => 532, 230 => 475, 231 => 543, + 232 => 543, 233 => 543, 234 => 543, 235 => 264, 236 => 264, 237 => 264, 238 => 264, 239 => 584, 240 => 601, 241 => 590, + 242 => 590, 243 => 590, 244 => 590, 245 => 590, 246 => 677, 247 => 597, 248 => 597, 249 => 597, 250 => 597, 251 => 518, + 252 => 612, 253 => 518, 254 => 539, 255 => 591, 256 => 584, 257 => 446, 258 => 433, 259 => 683, 260 => 468, 261 => 562, +); +$_cr = array( + array(231, 632, 500), // half-width + array(8718, 8718, 500), + array(9738, 9757, 250), // quarter-width + array(9758, 9778, 333), // third-width + array(12063, 12087, 500) +); +foreach($_cr as $_r) { + for($i = $_r[0]; $i <= $_r[1]; $i++) { + $cw[$i+31] = $_r[2]; + } +} +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/kozminproregular.php b/vendor/tecnickcom/tcpdf/fonts/kozminproregular.php new file mode 100644 index 0000000..c308d41 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/kozminproregular.php @@ -0,0 +1,63 @@ + 880, + 'Descent' => -120, + 'CapHeight' => 740, + 'Flags' => 6, + 'FontBBox' => '[-195 -272 1110 1075]', + 'ItalicAngle' => 0, + 'StemV' => 86, + 'XHeight' => 502, +); +$cidinfo = array( + 'Registry' => 'Adobe', + 'Ordering' => 'Japan1', + 'Supplement' => '4', +); +$enc = 'UniJIS-UCS2-H'; + +$up = -75; +$ut = 50; + +$dw = 1000; +$cw = array( + 32 => 278, 33 => 299, 34 => 353, 35 => 614, 36 => 614, 37 => 721, 38 => 735, 39 => 216, 40 => 323, 41 => 323, + 42 => 449, 43 => 529, 44 => 219, 45 => 306, 46 => 219, 47 => 453, 48 => 614, 49 => 614, 50 => 614, 51 => 614, + 52 => 614, 53 => 614, 54 => 614, 55 => 614, 56 => 614, 57 => 614, 58 => 219, 59 => 219, 60 => 529, 61 => 529, + 62 => 529, 63 => 486, 64 => 744, 65 => 646, 66 => 604, 67 => 617, 68 => 681, 69 => 567, 70 => 537, 71 => 647, + 72 => 738, 73 => 320, 74 => 433, 75 => 637, 76 => 566, 77 => 904, 78 => 710, 79 => 716, 80 => 605, 81 => 716, + 82 => 623, 83 => 517, 84 => 601, 85 => 690, 86 => 668, 87 => 990, 88 => 681, 89 => 634, 90 => 578, 91 => 316, + 92 => 614, 93 => 316, 94 => 529, 95 => 500, 96 => 387, 97 => 509, 98 => 566, 99 => 478, 100 => 565, 101 => 503, + 102 => 337, 103 => 549, 104 => 580, 105 => 275, 106 => 266, 107 => 544, 108 => 276, 109 => 854, 110 => 579, 111 => 550, + 112 => 578, 113 => 566, 114 => 410, 115 => 444, 116 => 340, 117 => 575, 118 => 512, 119 => 760, 120 => 503, 121 => 529, + 122 => 453, 123 => 326, 124 => 380, 125 => 326, 126 => 387, 127 => 216, 128 => 453, 129 => 216, 130 => 380, 131 => 529, + 132 => 299, 133 => 614, 134 => 614, 135 => 265, 136 => 614, 137 => 475, 138 => 614, 139 => 353, 140 => 451, 141 => 291, + 142 => 291, 143 => 588, 144 => 589, 145 => 500, 146 => 476, 147 => 476, 148 => 219, 149 => 494, 150 => 452, 151 => 216, + 152 => 353, 153 => 353, 154 => 451, 156 => 1075, 157 => 486, 158 => 387, 159 => 387, 160 => 387, 161 => 387, + 162 => 387, 163 => 387, 164 => 387, 165 => 387, 166 => 387, 167 => 387, 168 => 387, 170 => 880, 171 => 448, + 172 => 566, 173 => 716, 174 => 903, 175 => 460, 176 => 805, 177 => 275, 178 => 276, 179 => 550, 180 => 886, 181 => 582, + 182 => 529, 183 => 738, 184 => 529, 185 => 738, 186 => 357, 187 => 529, 188 => 406, 189 => 406, 190 => 575, 191 => 406, + 192 => 934, 193 => 934, 194 => 934, 195 => 646, 196 => 646, 197 => 646, 198 => 646, 199 => 646, 200 => 646, 201 => 617, + 202 => 567, 203 => 567, 204 => 567, 205 => 567, 206 => 320, 207 => 320, 208 => 320, 209 => 320, 210 => 681, 211 => 710, + 212 => 716, 213 => 716, 214 => 716, 215 => 716, 216 => 716, 217 => 529, 218 => 690, 219 => 690, 220 => 690, 221 => 690, + 222 => 634, 223 => 605, 224 => 509, 225 => 509, 226 => 509, 227 => 509, 228 => 509, 229 => 509, 230 => 478, 231 => 503, + 232 => 503, 233 => 503, 234 => 503, 235 => 275, 236 => 275, 237 => 275, 238 => 275, 239 => 550, 240 => 579, 241 => 550, + 242 => 550, 243 => 550, 244 => 550, 245 => 550, 246 => 529, 247 => 575, 248 => 575, 249 => 575, 250 => 575, 251 => 529, + 252 => 578, 253 => 529, 254 => 517, 255 => 634, 256 => 578, 257 => 445, 258 => 444, 259 => 842, 260 => 453, 261 => 614, +); +$_cr = array( + array(231, 632, 500), // half-width + array(8718, 8718, 500), + array(9738, 9757, 250), // quarter-width + array(9758, 9778, 333), // third-width + array(12063, 12087, 500), +); +foreach($_cr as $_r) { + for($i = $_r[0]; $i <= $_r[1]; $i++) { + $cw[$i+31] = $_r[2]; + } +} +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/msungstdlight.php b/vendor/tecnickcom/tcpdf/fonts/msungstdlight.php new file mode 100644 index 0000000..a71ea29 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/msungstdlight.php @@ -0,0 +1,38 @@ + 880, + 'Descent' => -120, + 'CapHeight' => 880, + 'Flags' => 6, + 'FontBBox' => '[-160 -249 1015 1071]', + 'ItalicAngle' => 0, + 'StemV' => 93, +); +$cidinfo = array( + 'Registry' => 'Adobe', + 'Ordering' => 'CNS1', + 'Supplement' => '3', +); +$enc = 'UniCNS-UCS2-H'; + +$up = -130; +$ut = 40; + +$dw = 1000; +$cw = array( + 32 => 250, 33 => 250, 34 => 408, 35 => 668, 36 => 490, 37 => 875, 38 => 698, 39 => 250, 40 => 240, 41 => 240, + 42 => 417, 43 => 667, 44 => 250, 45 => 313, 46 => 250, 47 => 520, 48 => 500, 49 => 500, 50 => 500, 51 => 500, + 52 => 500, 53 => 500, 54 => 500, 55 => 500, 56 => 500, 57 => 500, 58 => 250, 59 => 250, 60 => 667, 61 => 667, + 62 => 667, 63 => 396, 64 => 921, 65 => 677, 66 => 615, 67 => 719, 68 => 760, 69 => 625, 70 => 552, 71 => 771, + 72 => 802, 73 => 354, 74 => 354, 75 => 781, 76 => 604, 77 => 927, 78 => 750, 79 => 823, 80 => 563, 81 => 823, + 82 => 729, 83 => 542, 84 => 698, 85 => 771, 86 => 729, 87 => 948, 88 => 771, 89 => 677, 90 => 635, 91 => 344, + 92 => 520, 93 => 344, 94 => 469, 95 => 500, 96 => 250, 97 => 469, 98 => 521, 99 => 427, 100 => 521, 101 => 438, + 102 => 271, 103 => 469, 104 => 531, 105 => 250, 106 => 250, 107 => 458, 108 => 240, 109 => 802, 110 => 531, 111 => 500, + 112 => 521, 113 => 521, 114 => 365, 115 => 333, 116 => 292, 117 => 521, 118 => 458, 119 => 677, 120 => 479, 121 => 458, + 122 => 427, 123 => 480, 124 => 496, 125 => 480, 126 => 667, + 17601 => 500, +); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourier.php b/vendor/tecnickcom/tcpdf/fonts/pdfacourier.php new file mode 100644 index 0000000..9b843ec --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfacourier.php @@ -0,0 +1,15 @@ +33,'FontBBox'=>'[0 -200 600 794]','ItalicAngle'=>0,'Ascent'=>794,'Descent'=>-200,'Leading'=>0,'CapHeight'=>563,'XHeight'=>417,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourier.z b/vendor/tecnickcom/tcpdf/fonts/pdfacourier.z new file mode 100644 index 0000000..6b58f23 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfacourier.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourierb.php b/vendor/tecnickcom/tcpdf/fonts/pdfacourierb.php new file mode 100644 index 0000000..12e1b3b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfacourierb.php @@ -0,0 +1,15 @@ +262177,'FontBBox'=>'[-43 -200 630 800]','ItalicAngle'=>0,'Ascent'=>800,'Descent'=>-200,'Leading'=>0,'CapHeight'=>583,'XHeight'=>437,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourierb.z b/vendor/tecnickcom/tcpdf/fonts/pdfacourierb.z new file mode 100644 index 0000000..1dd80b4 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfacourierb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourierbi.php b/vendor/tecnickcom/tcpdf/fonts/pdfacourierbi.php new file mode 100644 index 0000000..41c17da --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfacourierbi.php @@ -0,0 +1,15 @@ +262241,'FontBBox'=>'[-43 -200 735 800]','ItalicAngle'=>-12,'Ascent'=>800,'Descent'=>-200,'Leading'=>0,'CapHeight'=>583,'XHeight'=>437,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourierbi.z b/vendor/tecnickcom/tcpdf/fonts/pdfacourierbi.z new file mode 100644 index 0000000..97d3c95 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfacourierbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourieri.php b/vendor/tecnickcom/tcpdf/fonts/pdfacourieri.php new file mode 100644 index 0000000..d27bc90 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfacourieri.php @@ -0,0 +1,15 @@ +97,'FontBBox'=>'[-27 -200 710 783]','ItalicAngle'=>-12,'Ascent'=>783,'Descent'=>-200,'Leading'=>0,'CapHeight'=>563,'XHeight'=>417,'StemV'=>70,'StemH'=>30,'AvgWidth'=>600,'MaxWidth'=>600,'MissingWidth'=>600); +$cw=array(0=>600,1=>600,2=>600,3=>600,4=>600,5=>600,6=>600,7=>600,8=>600,9=>600,10=>600,11=>600,12=>600,13=>600,14=>600,15=>600,16=>600,17=>600,18=>600,19=>600,20=>600,21=>600,22=>600,23=>600,24=>600,25=>600,26=>600,27=>600,28=>600,29=>600,30=>600,31=>600,32=>600,33=>600,34=>600,35=>600,36=>600,37=>600,38=>600,39=>600,40=>600,41=>600,42=>600,43=>600,44=>600,45=>600,46=>600,47=>600,48=>600,49=>600,50=>600,51=>600,52=>600,53=>600,54=>600,55=>600,56=>600,57=>600,58=>600,59=>600,60=>600,61=>600,62=>600,63=>600,64=>600,65=>600,66=>600,67=>600,68=>600,69=>600,70=>600,71=>600,72=>600,73=>600,74=>600,75=>600,76=>600,77=>600,78=>600,79=>600,80=>600,81=>600,82=>600,83=>600,84=>600,85=>600,86=>600,87=>600,88=>600,89=>600,90=>600,91=>600,92=>600,93=>600,94=>600,95=>600,96=>600,97=>600,98=>600,99=>600,100=>600,101=>600,102=>600,103=>600,104=>600,105=>600,106=>600,107=>600,108=>600,109=>600,110=>600,111=>600,112=>600,113=>600,114=>600,115=>600,116=>600,117=>600,118=>600,119=>600,120=>600,121=>600,122=>600,123=>600,124=>600,125=>600,126=>600,127=>600,128=>600,129=>600,130=>600,131=>600,132=>600,133=>600,134=>600,135=>600,136=>600,137=>600,138=>600,139=>600,140=>600,141=>600,142=>600,143=>600,144=>600,145=>600,146=>600,147=>600,148=>600,149=>600,150=>600,151=>600,152=>600,153=>600,154=>600,155=>600,156=>600,157=>600,158=>600,159=>600,160=>600,161=>600,162=>600,163=>600,164=>600,165=>600,166=>600,167=>600,168=>600,169=>600,170=>600,171=>600,172=>600,173=>600,174=>600,175=>600,176=>600,177=>600,178=>600,179=>600,180=>600,181=>600,182=>600,183=>600,184=>600,185=>600,186=>600,187=>600,188=>600,189=>600,190=>600,191=>600,192=>600,193=>600,194=>600,195=>600,196=>600,197=>600,198=>600,199=>600,200=>600,201=>600,202=>600,203=>600,204=>600,205=>600,206=>600,207=>600,208=>600,209=>600,210=>600,211=>600,212=>600,213=>600,214=>600,215=>600,216=>600,217=>600,218=>600,219=>600,220=>600,221=>600,222=>600,223=>600,224=>600,225=>600,226=>600,227=>600,228=>600,229=>600,230=>600,231=>600,232=>600,233=>600,234=>600,235=>600,236=>600,237=>600,238=>600,239=>600,240=>600,241=>600,242=>600,243=>600,244=>600,245=>600,246=>600,247=>600,248=>600,249=>600,250=>600,251=>600,252=>600,253=>600,254=>600,255=>600); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfacourieri.z b/vendor/tecnickcom/tcpdf/fonts/pdfacourieri.z new file mode 100644 index 0000000..651d422 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfacourieri.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelvetica.php b/vendor/tecnickcom/tcpdf/fonts/pdfahelvetica.php new file mode 100644 index 0000000..6fdef5a --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfahelvetica.php @@ -0,0 +1,15 @@ +32,'FontBBox'=>'[-22 -220 1001 966]','ItalicAngle'=>0,'Ascent'=>966,'Descent'=>-220,'Leading'=>0,'CapHeight'=>709,'XHeight'=>524,'StemV'=>70,'StemH'=>30,'AvgWidth'=>543,'MaxWidth'=>1015,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>277,94=>469,95=>556,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,127=>500,128=>655,129=>500,130=>222,131=>278,132=>333,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>250,140=>1000,141=>500,142=>611,143=>500,144=>500,145=>222,146=>221,147=>333,148=>333,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>500,155=>250,156=>938,157=>500,158=>500,159=>667,160=>278,161=>278,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>448,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>350,179=>350,180=>333,181=>556,182=>537,183=>278,184=>333,185=>350,186=>365,187=>448,188=>869,189=>869,190=>879,191=>556,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>666,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>896,231=>500,232=>556,233=>556,234=>556,235=>556,236=>251,237=>251,238=>251,239=>251,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>555,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelvetica.z b/vendor/tecnickcom/tcpdf/fonts/pdfahelvetica.z new file mode 100644 index 0000000..6550a1d Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfahelvetica.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelveticab.php b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticab.php new file mode 100644 index 0000000..3968150 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticab.php @@ -0,0 +1,15 @@ +262176,'FontBBox'=>'[-22 -220 1003 949]','ItalicAngle'=>0,'Ascent'=>949,'Descent'=>-220,'Leading'=>0,'CapHeight'=>724,'XHeight'=>540,'StemV'=>70,'StemH'=>30,'AvgWidth'=>565,'MaxWidth'=>1000,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,127=>500,128=>640,129=>500,130=>278,131=>333,132=>500,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>500,142=>611,143=>500,144=>500,145=>278,146=>278,147=>500,148=>500,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>556,155=>333,156=>953,157=>500,158=>500,159=>667,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>351,179=>351,180=>333,181=>611,182=>556,183=>278,184=>333,185=>300,186=>365,187=>556,188=>869,189=>869,190=>869,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>889,231=>556,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,253=>556,254=>611,255=>556); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelveticab.z b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticab.z new file mode 100644 index 0000000..49f6093 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticab.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelveticabi.php b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticabi.php new file mode 100644 index 0000000..2822fd2 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticabi.php @@ -0,0 +1,15 @@ +262240,'FontBBox'=>'[-65 -220 1107 953]','ItalicAngle'=>-12,'Ascent'=>953,'Descent'=>-220,'Leading'=>0,'CapHeight'=>724,'XHeight'=>540,'StemV'=>70,'StemH'=>30,'AvgWidth'=>565,'MaxWidth'=>1000,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>278,33=>333,34=>474,35=>556,36=>556,37=>889,38=>722,39=>238,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>333,59=>333,60=>584,61=>584,62=>584,63=>611,64=>975,65=>722,66=>722,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>556,75=>722,76=>611,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>333,92=>278,93=>333,94=>584,95=>556,96=>333,97=>556,98=>611,99=>556,100=>611,101=>556,102=>333,103=>611,104=>611,105=>278,106=>278,107=>556,108=>278,109=>889,110=>611,111=>611,112=>611,113=>611,114=>389,115=>556,116=>333,117=>611,118=>556,119=>778,120=>556,121=>556,122=>500,123=>389,124=>280,125=>389,126=>584,127=>500,128=>640,129=>500,130=>278,131=>333,132=>500,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>333,140=>1000,141=>500,142=>611,143=>500,144=>500,145=>278,146=>278,147=>500,148=>500,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>556,155=>333,156=>962,157=>500,158=>500,159=>667,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>280,167=>556,168=>333,169=>737,170=>370,171=>556,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>350,179=>350,180=>333,181=>667,182=>556,183=>278,184=>333,185=>248,186=>365,187=>556,188=>869,189=>869,190=>869,191=>611,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>892,231=>556,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>611,241=>611,242=>611,243=>611,244=>611,245=>611,246=>611,247=>584,248=>611,249=>611,250=>611,251=>611,252=>611,253=>556,254=>611,255=>556); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelveticabi.z b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticabi.z new file mode 100644 index 0000000..b97eaeb Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticabi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelveticai.php b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticai.php new file mode 100644 index 0000000..ff0915d --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticai.php @@ -0,0 +1,15 @@ +96,'FontBBox'=>'[-65 -218 1108 970]','ItalicAngle'=>-12,'Ascent'=>970,'Descent'=>-218,'Leading'=>0,'CapHeight'=>709,'XHeight'=>524,'StemV'=>70,'StemH'=>30,'AvgWidth'=>544,'MaxWidth'=>1015,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>278,33=>278,34=>355,35=>556,36=>556,37=>889,38=>667,39=>191,40=>333,41=>333,42=>389,43=>584,44=>278,45=>333,46=>278,47=>278,48=>556,49=>556,50=>556,51=>556,52=>556,53=>556,54=>556,55=>556,56=>556,57=>556,58=>278,59=>278,60=>584,61=>584,62=>584,63=>556,64=>1015,65=>667,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>722,73=>278,74=>500,75=>667,76=>556,77=>833,78=>722,79=>778,80=>667,81=>778,82=>722,83=>667,84=>611,85=>722,86=>667,87=>944,88=>667,89=>667,90=>611,91=>278,92=>278,93=>278,94=>469,95=>556,96=>333,97=>556,98=>556,99=>500,100=>556,101=>556,102=>278,103=>556,104=>556,105=>222,106=>222,107=>500,108=>222,109=>833,110=>556,111=>556,112=>556,113=>556,114=>333,115=>500,116=>278,117=>556,118=>500,119=>722,120=>500,121=>500,122=>500,123=>334,124=>260,125=>334,126=>584,127=>500,128=>655,129=>500,130=>222,131=>278,132=>333,133=>1000,134=>556,135=>556,136=>333,137=>1000,138=>667,139=>250,140=>1000,141=>500,142=>611,143=>500,144=>500,145=>222,146=>222,147=>333,148=>333,149=>350,150=>556,151=>1000,152=>333,153=>1000,154=>500,155=>250,156=>937,157=>500,158=>500,159=>667,160=>278,161=>333,162=>556,163=>556,164=>556,165=>556,166=>260,167=>556,168=>333,169=>737,170=>370,171=>444,172=>584,173=>333,174=>737,175=>333,176=>606,177=>584,178=>352,179=>352,180=>333,181=>556,182=>537,183=>278,184=>333,185=>250,186=>365,187=>444,188=>947,189=>947,190=>947,191=>611,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>278,205=>278,206=>278,207=>278,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>584,216=>778,217=>722,218=>722,219=>722,220=>722,221=>667,222=>667,223=>611,224=>556,225=>556,226=>556,227=>556,228=>556,229=>556,230=>897,231=>500,232=>556,233=>556,234=>556,235=>556,236=>278,237=>278,238=>278,239=>278,240=>556,241=>556,242=>556,243=>556,244=>556,245=>556,246=>556,247=>584,248=>611,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfahelveticai.z b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticai.z new file mode 100644 index 0000000..ac0bc56 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfahelveticai.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfasymbol.php b/vendor/tecnickcom/tcpdf/fonts/pdfasymbol.php new file mode 100644 index 0000000..0af8051 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfasymbol.php @@ -0,0 +1,15 @@ +4,'FontBBox'=>'[-168 -233 997 900]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-233,'Leading'=>0,'CapHeight'=>661,'XHeight'=>460,'StemV'=>70,'StemH'=>30,'AvgWidth'=>578,'MaxWidth'=>1008,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>250,33=>333,34=>587,35=>500,36=>587,37=>833,38=>778,39=>439,40=>333,41=>333,42=>471,43=>564,44=>250,45=>564,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,60=>564,61=>564,62=>564,63=>444,64=>636,65=>722,66=>667,67=>722,68=>660,69=>611,70=>742,71=>586,72=>722,73=>333,74=>587,75=>722,76=>722,77=>889,78=>722,79=>722,80=>722,81=>726,82=>556,83=>627,84=>611,85=>696,86=>452,87=>743,88=>628,89=>808,90=>611,91=>333,92=>565,93=>333,94=>712,95=>500,96=>500,97=>583,98=>527,99=>480,100=>534,101=>426,102=>643,103=>480,104=>536,105=>286,106=>640,107=>544,108=>476,109=>536,110=>480,111=>500,112=>587,113=>534,114=>528,115=>537,116=>420,117=>514,118=>684,119=>693,120=>514,121=>693,122=>466,123=>480,124=>200,125=>480,126=>636,127=>500,128=>500,129=>500,130=>500,131=>500,132=>500,133=>500,134=>500,135=>500,136=>500,137=>500,138=>500,139=>500,140=>500,141=>500,142=>500,143=>500,144=>500,145=>500,146=>500,147=>500,148=>500,149=>500,150=>500,151=>500,152=>500,153=>500,154=>500,155=>500,156=>500,157=>500,158=>500,159=>500,160=>500,161=>620,162=>247,163=>636,164=>167,165=>853,166=>358,167=>770,168=>770,169=>770,170=>770,171=>964,172=>964,173=>472,174=>964,175=>500,176=>400,177=>564,178=>411,179=>636,180=>564,181=>636,182=>494,183=>350,184=>564,185=>564,186=>636,187=>636,188=>1000,189=>500,190=>500,191=>658,192=>537,193=>613,194=>711,195=>832,196=>636,197=>636,198=>746,199=>654,200=>654,201=>636,202=>636,203=>636,204=>636,205=>636,206=>536,207=>536,208=>575,209=>612,210=>792,211=>793,212=>1008,213=>823,214=>549,215=>250,216=>564,217=>564,218=>564,219=>964,220=>964,221=>550,222=>964,223=>550,224=>512,225=>329,226=>500,227=>500,228=>500,229=>713,230=>500,231=>500,232=>500,233=>500,234=>500,235=>500,236=>500,237=>500,238=>500,239=>500,240=>500,241=>329,242=>416,243=>686,244=>500,245=>686,246=>500,247=>500,248=>500,249=>500,250=>500,251=>500,252=>500,253=>500,254=>500,255=>333); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfasymbol.z b/vendor/tecnickcom/tcpdf/fonts/pdfasymbol.z new file mode 100644 index 0000000..f7f8651 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfasymbol.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimes.php b/vendor/tecnickcom/tcpdf/fonts/pdfatimes.php new file mode 100644 index 0000000..49de77b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfatimes.php @@ -0,0 +1,15 @@ +32,'FontBBox'=>'[-70 -218 1000 900]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-218,'Leading'=>0,'CapHeight'=>662,'XHeight'=>450,'StemV'=>70,'StemH'=>30,'AvgWidth'=>517,'MaxWidth'=>1008,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>250,33=>333,34=>408,35=>500,36=>500,37=>833,38=>778,39=>180,40=>333,41=>333,42=>500,43=>564,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,60=>564,61=>564,62=>564,63=>444,64=>921,65=>722,66=>667,67=>667,68=>722,69=>611,70=>556,71=>722,72=>722,73=>333,74=>389,75=>722,76=>611,77=>889,78=>722,79=>722,80=>556,81=>722,82=>667,83=>556,84=>611,85=>722,86=>722,87=>944,88=>722,89=>722,90=>611,91=>333,92=>296,93=>333,94=>469,95=>500,96=>333,97=>444,98=>500,99=>444,100=>500,101=>444,102=>333,103=>500,104=>500,105=>278,106=>278,107=>500,108=>278,109=>778,110=>500,111=>500,112=>500,113=>500,114=>333,115=>389,116=>278,117=>500,118=>500,119=>722,120=>500,121=>500,122=>444,123=>480,124=>200,125=>480,126=>541,127=>500,128=>741,129=>500,130=>250,131=>358,132=>444,133=>1000,134=>500,135=>500,136=>333,137=>1000,138=>556,139=>250,140=>889,141=>500,142=>611,143=>500,144=>500,145=>250,146=>250,147=>444,148=>444,149=>350,150=>500,151=>1000,152=>333,153=>1008,154=>389,155=>250,156=>709,157=>500,158=>444,159=>722,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>200,167=>500,168=>333,169=>793,170=>276,171=>444,172=>564,173=>333,174=>792,175=>333,176=>400,177=>564,178=>320,179=>320,180=>333,181=>500,182=>483,183=>250,184=>333,185=>320,186=>310,187=>441,188=>750,189=>750,190=>750,191=>444,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>889,199=>667,200=>611,201=>611,202=>611,203=>611,204=>333,205=>333,206=>333,207=>333,208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>564,216=>722,217=>722,218=>722,219=>722,220=>722,221=>722,222=>576,223=>500,224=>444,225=>444,226=>444,227=>444,228=>444,229=>444,230=>651,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>501,241=>500,242=>500,243=>500,244=>500,245=>500,246=>500,247=>564,248=>500,249=>500,250=>500,251=>500,252=>500,253=>500,254=>496,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimes.z b/vendor/tecnickcom/tcpdf/fonts/pdfatimes.z new file mode 100644 index 0000000..3aed832 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfatimes.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimesb.php b/vendor/tecnickcom/tcpdf/fonts/pdfatimesb.php new file mode 100644 index 0000000..837a5d9 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfatimesb.php @@ -0,0 +1,15 @@ +262176,'FontBBox'=>'[-107 -218 1065 900]','ItalicAngle'=>0,'Ascent'=>900,'Descent'=>-218,'Leading'=>0,'CapHeight'=>676,'XHeight'=>461,'StemV'=>70,'StemH'=>30,'AvgWidth'=>544,'MaxWidth'=>1086,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>250,33=>333,34=>555,35=>500,36=>500,37=>1000,38=>833,39=>278,40=>333,41=>333,42=>507,43=>676,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>676,61=>676,62=>676,63=>500,64=>930,65=>722,66=>667,67=>722,68=>724,69=>667,70=>611,71=>778,72=>774,73=>386,74=>500,75=>764,76=>664,77=>943,78=>722,79=>778,80=>611,81=>778,82=>712,83=>556,84=>667,85=>722,86=>722,87=>1000,88=>722,89=>722,90=>667,91=>333,92=>278,93=>333,94=>581,95=>500,96=>333,97=>500,98=>546,99=>444,100=>556,101=>444,102=>333,103=>500,104=>556,105=>278,106=>333,107=>556,108=>278,109=>833,110=>556,111=>500,112=>549,113=>547,114=>444,115=>389,116=>333,117=>556,118=>500,119=>722,120=>500,121=>500,122=>444,123=>394,124=>220,125=>394,126=>520,127=>500,128=>761,129=>500,130=>250,131=>333,132=>500,133=>1000,134=>500,135=>500,136=>333,137=>1000,138=>556,139=>333,140=>1000,141=>500,142=>667,143=>500,144=>500,145=>250,146=>250,147=>500,148=>500,149=>524,150=>500,151=>1000,152=>333,153=>1086,154=>389,155=>333,156=>717,157=>500,158=>444,159=>722,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>300,171=>500,172=>680,173=>333,174=>747,175=>333,176=>400,177=>676,178=>300,179=>300,180=>333,181=>556,182=>540,183=>250,184=>333,185=>270,186=>330,187=>500,188=>750,189=>750,190=>750,191=>500,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>389,205=>389,206=>389,207=>389,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>676,216=>778,217=>722,218=>722,219=>722,220=>722,221=>722,222=>632,223=>556,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>703,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>556,242=>500,243=>500,244=>500,245=>500,246=>500,247=>676,248=>500,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimesb.z b/vendor/tecnickcom/tcpdf/fonts/pdfatimesb.z new file mode 100644 index 0000000..abaef66 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfatimesb.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimesbi.php b/vendor/tecnickcom/tcpdf/fonts/pdfatimesbi.php new file mode 100644 index 0000000..52eeff2 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfatimesbi.php @@ -0,0 +1,15 @@ +262240,'FontBBox'=>'[-200 -218 1121 900]','ItalicAngle'=>-15,'Ascent'=>900,'Descent'=>-218,'Leading'=>0,'CapHeight'=>669,'XHeight'=>462,'StemV'=>70,'StemH'=>30,'AvgWidth'=>525,'MaxWidth'=>1086,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>250,33=>389,34=>555,35=>500,36=>500,37=>833,38=>778,39=>278,40=>333,41=>333,42=>500,43=>570,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>570,61=>570,62=>570,63=>500,64=>832,65=>667,66=>667,67=>667,68=>744,69=>670,70=>656,71=>722,72=>778,73=>393,74=>500,75=>664,76=>609,77=>896,78=>722,79=>722,80=>614,81=>722,82=>672,83=>556,84=>611,85=>722,86=>667,87=>889,88=>667,89=>611,90=>611,91=>333,92=>278,93=>333,94=>570,95=>500,96=>333,97=>500,98=>500,99=>444,100=>500,101=>444,102=>333,103=>500,104=>556,105=>278,106=>278,107=>500,108=>278,109=>778,110=>556,111=>500,112=>500,113=>500,114=>389,115=>389,116=>278,117=>556,118=>444,119=>667,120=>500,121=>444,122=>389,123=>348,124=>220,125=>348,126=>570,127=>500,128=>761,129=>500,130=>250,131=>333,132=>500,133=>1000,134=>500,135=>500,136=>333,137=>1000,138=>556,139=>333,140=>944,141=>500,142=>611,143=>500,144=>500,145=>250,146=>250,147=>500,148=>500,149=>350,150=>500,151=>1000,152=>333,153=>1086,154=>389,155=>333,156=>711,157=>500,158=>389,159=>611,160=>250,161=>389,162=>500,163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>266,171=>500,172=>606,173=>333,174=>747,175=>333,176=>400,177=>570,178=>300,179=>300,180=>333,181=>576,182=>500,183=>250,184=>333,185=>272,186=>300,187=>500,188=>750,189=>750,190=>750,191=>500,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>944,199=>667,200=>667,201=>667,202=>667,203=>667,204=>389,205=>389,206=>389,207=>389,208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>570,216=>722,217=>722,218=>722,219=>722,220=>722,221=>611,222=>609,223=>500,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>703,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>556,242=>500,243=>500,244=>500,245=>500,246=>500,247=>570,248=>500,249=>556,250=>556,251=>556,252=>556,253=>444,254=>500,255=>444); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimesbi.z b/vendor/tecnickcom/tcpdf/fonts/pdfatimesbi.z new file mode 100644 index 0000000..4cbbfdc Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfatimesbi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimesi.php b/vendor/tecnickcom/tcpdf/fonts/pdfatimesi.php new file mode 100644 index 0000000..4d15e94 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfatimesi.php @@ -0,0 +1,15 @@ +96,'FontBBox'=>'[-168 -217 1053 900]','ItalicAngle'=>-15,'Ascent'=>900,'Descent'=>-217,'Leading'=>0,'CapHeight'=>653,'XHeight'=>441,'StemV'=>70,'StemH'=>30,'AvgWidth'=>511,'MaxWidth'=>1000,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>250,33=>333,34=>420,35=>500,36=>500,37=>833,38=>778,39=>214,40=>333,41=>333,42=>500,43=>675,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>675,61=>675,62=>675,63=>500,64=>920,65=>611,66=>611,67=>667,68=>722,69=>604,70=>611,71=>722,72=>722,73=>339,74=>444,75=>652,76=>556,77=>828,78=>657,79=>722,80=>603,81=>722,82=>616,83=>500,84=>556,85=>722,86=>611,87=>833,88=>611,89=>556,90=>556,91=>389,92=>278,93=>389,94=>422,95=>500,96=>333,97=>500,98=>500,99=>444,100=>500,101=>444,102=>278,103=>500,104=>500,105=>278,106=>278,107=>444,108=>278,109=>722,110=>500,111=>500,112=>500,113=>500,114=>389,115=>389,116=>278,117=>500,118=>444,119=>667,120=>444,121=>444,122=>389,123=>400,124=>275,125=>400,126=>541,127=>500,128=>741,129=>500,130=>250,131=>278,132=>444,133=>889,134=>500,135=>500,136=>333,137=>1000,138=>500,139=>250,140=>944,141=>500,142=>556,143=>500,144=>500,145=>250,146=>250,147=>444,148=>444,149=>350,150=>500,151=>1000,152=>333,153=>920,154=>389,155=>250,156=>694,157=>500,158=>389,159=>556,160=>250,161=>389,162=>500,163=>500,164=>500,165=>500,166=>275,167=>500,168=>333,169=>760,170=>276,171=>444,172=>675,173=>333,174=>760,175=>333,176=>400,177=>675,178=>300,179=>300,180=>333,181=>500,182=>523,183=>250,184=>333,185=>250,186=>310,187=>444,188=>750,189=>750,190=>750,191=>500,192=>611,193=>611,194=>611,195=>611,196=>611,197=>611,198=>889,199=>667,200=>611,201=>611,202=>611,203=>611,204=>333,205=>333,206=>333,207=>333,208=>722,209=>667,210=>722,211=>722,212=>722,213=>722,214=>722,215=>675,216=>722,217=>722,218=>722,219=>722,220=>722,221=>556,222=>611,223=>500,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>673,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>500,242=>500,243=>500,244=>500,245=>500,246=>500,247=>675,248=>500,249=>500,250=>500,251=>500,252=>500,253=>444,254=>500,255=>444); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfatimesi.z b/vendor/tecnickcom/tcpdf/fonts/pdfatimesi.z new file mode 100644 index 0000000..b13b1fa Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfatimesi.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfazapfdingbats.php b/vendor/tecnickcom/tcpdf/fonts/pdfazapfdingbats.php new file mode 100644 index 0000000..2e22503 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/pdfazapfdingbats.php @@ -0,0 +1,15 @@ +4,'FontBBox'=>'[-1 -218 945 805]','ItalicAngle'=>0,'Ascent'=>805,'Descent'=>-218,'Leading'=>0,'CapHeight'=>700,'XHeight'=>450,'StemV'=>70,'StemH'=>30,'AvgWidth'=>744,'MaxWidth'=>980,'MissingWidth'=>500); +$cw=array(0=>500,1=>500,2=>500,3=>500,4=>500,5=>500,6=>500,7=>500,8=>500,9=>500,10=>500,11=>500,12=>500,13=>500,14=>500,15=>500,16=>500,17=>500,18=>500,19=>500,20=>500,21=>500,22=>500,23=>500,24=>500,25=>500,26=>500,27=>500,28=>500,29=>500,30=>500,31=>500,32=>250,33=>974,34=>961,35=>974,36=>980,37=>715,38=>789,39=>790,40=>791,41=>690,42=>954,43=>933,44=>549,45=>855,46=>911,47=>933,48=>911,49=>945,50=>974,51=>755,52=>846,53=>762,54=>761,55=>571,56=>677,57=>763,58=>760,59=>759,60=>754,61=>494,62=>552,63=>537,64=>577,65=>692,66=>786,67=>788,68=>788,69=>790,70=>793,71=>794,72=>811,73=>823,74=>789,75=>841,76=>823,77=>833,78=>816,79=>831,80=>923,81=>744,82=>723,83=>749,84=>790,85=>792,86=>695,87=>776,88=>768,89=>792,90=>759,91=>707,92=>708,93=>682,94=>701,95=>826,96=>815,97=>789,98=>789,99=>707,100=>687,101=>696,102=>689,103=>786,104=>787,105=>713,106=>791,107=>785,108=>791,109=>873,110=>761,111=>762,112=>762,113=>759,114=>759,115=>892,116=>892,117=>788,118=>784,119=>791,120=>138,121=>277,122=>415,123=>392,124=>392,125=>668,126=>668,127=>500,128=>390,129=>390,130=>317,131=>317,132=>276,133=>276,134=>509,135=>509,136=>410,137=>410,138=>234,139=>234,140=>334,141=>334,142=>500,143=>500,144=>500,145=>500,146=>500,147=>500,148=>500,149=>500,150=>500,151=>500,152=>500,153=>500,154=>500,155=>500,156=>500,157=>500,158=>500,159=>500,160=>250,161=>732,162=>544,163=>544,164=>910,165=>667,166=>760,167=>760,168=>770,169=>770,170=>770,171=>770,172=>788,173=>788,174=>788,175=>788,176=>788,177=>788,178=>788,179=>788,180=>788,181=>788,182=>788,183=>788,184=>788,185=>788,186=>788,187=>788,188=>788,189=>788,190=>788,191=>788,192=>788,193=>788,194=>788,195=>788,196=>788,197=>788,198=>788,199=>788,200=>788,201=>788,202=>788,203=>788,204=>788,205=>788,206=>788,207=>788,208=>788,209=>788,210=>788,211=>788,212=>894,213=>964,214=>964,215=>499,216=>748,217=>924,218=>748,219=>918,220=>927,221=>928,222=>928,223=>834,224=>873,225=>828,226=>924,227=>924,228=>917,229=>930,230=>931,231=>463,232=>883,233=>836,234=>836,235=>867,236=>867,237=>696,238=>696,239=>874,240=>501,241=>874,242=>760,243=>946,244=>771,245=>865,246=>771,247=>888,248=>967,249=>888,250=>831,251=>873,252=>927,253=>970,254=>918,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/pdfazapfdingbats.z b/vendor/tecnickcom/tcpdf/fonts/pdfazapfdingbats.z new file mode 100644 index 0000000..61c9a47 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/fonts/pdfazapfdingbats.z differ diff --git a/vendor/tecnickcom/tcpdf/fonts/stsongstdlight.php b/vendor/tecnickcom/tcpdf/fonts/stsongstdlight.php new file mode 100644 index 0000000..1c74c62 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/stsongstdlight.php @@ -0,0 +1,39 @@ + 752, + 'Descent' => -271, + 'CapHeight' => 737, + 'Flags' => 6, + 'FontBBox' => '[-25 -254 1000 880]', + 'ItalicAngle' => 0, + 'StemV' => 58, + 'Style' => '<< /Panose <000000000400000000000000> >>', +); +$cidinfo = array( + 'Registry' => 'Adobe', + 'Ordering' => 'GB1', + 'Supplement' => '2', +); +$enc = 'UniGB-UCS2-H'; + +// underline position, needs checking: +$up = -130; +$ut = 40; + +$dw = 1000; +$cw = array( + 32 => 207, 33 => 270, 34 => 342, 35 => 467, 36 => 462, 37 => 797, 38 => 710, 39 => 239, 40 => 374, 41 => 374, + 42 => 423, 43 => 605, 44 => 238, 45 => 375, 46 => 238, 47 => 334, 48 => 462, 49 => 462, 50 => 462, 51 => 462, + 52 => 462, 53 => 462, 54 => 462, 55 => 462, 56 => 462, 57 => 462, 58 => 238, 59 => 238, 60 => 605, 61 => 605, + 62 => 605, 63 => 344, 64 => 748, 65 => 684, 66 => 560, 67 => 695, 68 => 739, 69 => 563, 70 => 511, 71 => 729, + 72 => 793, 73 => 318, 74 => 312, 75 => 666, 76 => 526, 77 => 896, 78 => 758, 79 => 772, 80 => 544, 81 => 772, + 82 => 628, 83 => 465, 84 => 607, 85 => 753, 86 => 711, 87 => 972, 88 => 647, 89 => 620, 90 => 607, 91 => 374, + 92 => 333, 93 => 374, 94 => 606, 95 => 500, 96 => 239, 97 => 417, 98 => 503, 99 => 427, 100 => 529, 101 => 415, + 102 => 264, 103 => 444, 104 => 518, 105 => 241, 106 => 230, 107 => 495, 108 => 228, 109 => 793, 110 => 527, 111 => 524, + 112 => 524, 113 => 504, 114 => 338, 115 => 336, 116 => 277, 117 => 517, 118 => 450, 119 => 652, 120 => 466, 121 => 452, + 122 => 407, 123 => 370, 124 => 258, 125 => 370, 126 => 605 +); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/symbol.php b/vendor/tecnickcom/tcpdf/fonts/symbol.php new file mode 100644 index 0000000..15f7f1d --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/symbol.php @@ -0,0 +1,12 @@ +4,'FontBBox'=>'[-180 -293 1090 1010]','ItalicAngle'=>0,'Ascent'=>1010,'Descent'=>-293,'Leading'=>0,'CapHeight'=>1010,'StemV'=>85,'StemH'=>92,'AvgWidth'=>587,'MaxWidth'=>1042,'MissingWidth'=>587); +$cw=array(0=>587,1=>587,2=>587,3=>587,4=>587,5=>587,6=>587,7=>587,8=>587,9=>587,10=>587,11=>587,12=>587,13=>587,14=>587,15=>587,16=>587,17=>587,18=>587,19=>587,20=>587,21=>587,22=>587,23=>587,24=>587,25=>587,26=>587,27=>587,28=>587,29=>587,30=>587,31=>587,32=>250,33=>333,34=>713,35=>500,36=>549,37=>833,38=>778,39=>439,40=>333,41=>333,42=>500,43=>549,44=>250,45=>549,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,60=>549,61=>549,62=>549,63=>444,64=>549,65=>722,66=>667,67=>722,68=>612,69=>611,70=>763,71=>603,72=>722,73=>333,74=>631,75=>722,76=>686,77=>889,78=>722,79=>722,80=>768,81=>741,82=>556,83=>592,84=>611,85=>690,86=>439,87=>768,88=>645,89=>795,90=>611,91=>333,92=>863,93=>333,94=>658,95=>500,96=>500,97=>631,98=>549,99=>549,100=>494,101=>439,102=>521,103=>411,104=>603,105=>329,106=>603,107=>549,108=>549,109=>576,110=>521,111=>549,112=>549,113=>521,114=>549,115=>603,116=>439,117=>576,118=>713,119=>686,120=>493,121=>686,122=>494,123=>480,124=>200,125=>480,126=>549,127=>587,128=>587,129=>587,130=>587,131=>587,132=>587,133=>587,134=>587,135=>587,136=>587,137=>587,138=>587,139=>587,140=>587,141=>587,142=>587,143=>587,144=>587,145=>587,146=>587,147=>587,148=>587,149=>587,150=>587,151=>587,152=>587,153=>587,154=>587,155=>587,156=>587,157=>587,158=>587,159=>587,160=>750,161=>620,162=>247,163=>549,164=>167,165=>713,166=>500,167=>753,168=>753,169=>753,170=>753,171=>1042,172=>987,173=>603,174=>987,175=>603,176=>400,177=>549,178=>411,179=>549,180=>549,181=>713,182=>494,183=>460,184=>549,185=>549,186=>549,187=>549,188=>1000,189=>603,190=>1000,191=>658,192=>823,193=>686,194=>795,195=>987,196=>768,197=>768,198=>823,199=>768,200=>768,201=>713,202=>713,203=>713,204=>713,205=>713,206=>713,207=>713,208=>768,209=>713,210=>790,211=>790,212=>890,213=>823,214=>549,215=>250,216=>713,217=>603,218=>603,219=>1042,220=>987,221=>603,222=>987,223=>603,224=>494,225=>329,226=>790,227=>790,228=>786,229=>713,230=>384,231=>384,232=>384,233=>384,234=>384,235=>384,236=>494,237=>494,238=>494,239=>494,240=>587,241=>329,242=>274,243=>686,244=>686,245=>686,246=>384,247=>384,248=>384,249=>384,250=>384,251=>384,252=>494,253=>494,254=>494,255=>587); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/times.php b/vendor/tecnickcom/tcpdf/fonts/times.php new file mode 100644 index 0000000..cfcaf06 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/times.php @@ -0,0 +1,12 @@ +32,'FontBBox'=>'[-168 -218 1000 898]','ItalicAngle'=>0,'Ascent'=>898,'Descent'=>-218,'Leading'=>0,'CapHeight'=>662,'XHeight'=>450,'StemV'=>84,'StemH'=>28,'AvgWidth'=>495,'MaxWidth'=>1000,'MissingWidth'=>495); +$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,30=>250,31=>250,32=>250,33=>333,34=>408,35=>500,36=>500,37=>833,38=>778,39=>180,40=>333,41=>333,42=>500,43=>564,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>278,59=>278,60=>564,61=>564,62=>564,63=>444,64=>921,65=>722,66=>667,67=>667,68=>722,69=>611,70=>556,71=>722,72=>722,73=>333,74=>389,75=>722,76=>611,77=>889,78=>722,79=>722,80=>556,81=>722,82=>667,83=>556,84=>611,85=>722,86=>722,87=>944,88=>722,89=>722,90=>611,91=>333,92=>278,93=>333,94=>469,95=>500,96=>333,97=>444,98=>500,99=>444,100=>500,101=>444,102=>333,103=>500,104=>500,105=>278,106=>278,107=>500,108=>278,109=>778,110=>500,111=>500,112=>500,113=>500,114=>333,115=>389,116=>278,117=>500,118=>500,119=>722,120=>500,121=>500,122=>444,123=>480,124=>200,125=>480,126=>541,127=>350,128=>500,129=>350,130=>333,131=>500,132=>444,133=>1000,134=>500,135=>500,136=>333,137=>1000,138=>556,139=>333,140=>889,141=>350,142=>611,143=>350,144=>350,145=>333,146=>333,147=>444,148=>444,149=>350,150=>500,151=>1000,152=>333,153=>980,154=>389,155=>333,156=>722,157=>350,158=>444,159=>722,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>200,167=>500,168=>333,169=>760,170=>276,171=>500,172=>564,173=>333,174=>760,175=>333,176=>400,177=>564,178=>300,179=>300,180=>333,181=>500,182=>453,183=>250,184=>333,185=>300,186=>310,187=>500,188=>750,189=>750,190=>750,191=>444,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>889,199=>667,200=>611,201=>611,202=>611,203=>611,204=>333,205=>333,206=>333,207=>333,208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>564,216=>722,217=>722,218=>722,219=>722,220=>722,221=>722,222=>556,223=>500,224=>444,225=>444,226=>444,227=>444,228=>444,229=>444,230=>667,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>500,242=>500,243=>500,244=>500,245=>500,246=>500,247=>564,248=>500,249=>500,250=>500,251=>500,252=>500,253=>500,254=>500,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/timesb.php b/vendor/tecnickcom/tcpdf/fonts/timesb.php new file mode 100644 index 0000000..9c41a7b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/timesb.php @@ -0,0 +1,12 @@ +32,'FontBBox'=>'[-168 -218 1000 935]','ItalicAngle'=>0,'Ascent'=>935,'Descent'=>-218,'Leading'=>0,'CapHeight'=>676,'XHeight'=>461,'StemV'=>139,'StemH'=>44,'AvgWidth'=>516,'MaxWidth'=>1000,'MissingWidth'=>516); +$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,30=>250,31=>250,32=>250,33=>333,34=>555,35=>500,36=>500,37=>1000,38=>833,39=>278,40=>333,41=>333,42=>500,43=>570,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>570,61=>570,62=>570,63=>500,64=>930,65=>722,66=>667,67=>722,68=>722,69=>667,70=>611,71=>778,72=>778,73=>389,74=>500,75=>778,76=>667,77=>944,78=>722,79=>778,80=>611,81=>778,82=>722,83=>556,84=>667,85=>722,86=>722,87=>1000,88=>722,89=>722,90=>667,91=>333,92=>278,93=>333,94=>581,95=>500,96=>333,97=>500,98=>556,99=>444,100=>556,101=>444,102=>333,103=>500,104=>556,105=>278,106=>333,107=>556,108=>278,109=>833,110=>556,111=>500,112=>556,113=>556,114=>444,115=>389,116=>333,117=>556,118=>500,119=>722,120=>500,121=>500,122=>444,123=>394,124=>220,125=>394,126=>520,127=>350,128=>500,129=>350,130=>333,131=>500,132=>500,133=>1000,134=>500,135=>500,136=>333,137=>1000,138=>556,139=>333,140=>1000,141=>350,142=>667,143=>350,144=>350,145=>333,146=>333,147=>500,148=>500,149=>350,150=>500,151=>1000,152=>333,153=>1000,154=>389,155=>333,156=>722,157=>350,158=>444,159=>722,160=>250,161=>333,162=>500,163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>300,171=>500,172=>570,173=>333,174=>747,175=>333,176=>400,177=>570,178=>300,179=>300,180=>333,181=>556,182=>540,183=>250,184=>333,185=>300,186=>330,187=>500,188=>750,189=>750,190=>750,191=>500,192=>722,193=>722,194=>722,195=>722,196=>722,197=>722,198=>1000,199=>722,200=>667,201=>667,202=>667,203=>667,204=>389,205=>389,206=>389,207=>389,208=>722,209=>722,210=>778,211=>778,212=>778,213=>778,214=>778,215=>570,216=>778,217=>722,218=>722,219=>722,220=>722,221=>722,222=>611,223=>556,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>722,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>556,242=>500,243=>500,244=>500,245=>500,246=>500,247=>570,248=>500,249=>556,250=>556,251=>556,252=>556,253=>500,254=>556,255=>500); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/timesbi.php b/vendor/tecnickcom/tcpdf/fonts/timesbi.php new file mode 100644 index 0000000..4feed74 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/timesbi.php @@ -0,0 +1,12 @@ +96,'FontBBox'=>'[-200 -218 996 921]','ItalicAngle'=>-15,'Ascent'=>921,'Descent'=>-218,'Leading'=>0,'CapHeight'=>669,'XHeight'=>462,'StemV'=>121,'StemH'=>42,'AvgWidth'=>501,'MaxWidth'=>1000,'MissingWidth'=>501); +$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,30=>250,31=>250,32=>250,33=>389,34=>555,35=>500,36=>500,37=>833,38=>778,39=>278,40=>333,41=>333,42=>500,43=>570,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>570,61=>570,62=>570,63=>500,64=>832,65=>667,66=>667,67=>667,68=>722,69=>667,70=>667,71=>722,72=>778,73=>389,74=>500,75=>667,76=>611,77=>889,78=>722,79=>722,80=>611,81=>722,82=>667,83=>556,84=>611,85=>722,86=>667,87=>889,88=>667,89=>611,90=>611,91=>333,92=>278,93=>333,94=>570,95=>500,96=>333,97=>500,98=>500,99=>444,100=>500,101=>444,102=>333,103=>500,104=>556,105=>278,106=>278,107=>500,108=>278,109=>778,110=>556,111=>500,112=>500,113=>500,114=>389,115=>389,116=>278,117=>556,118=>444,119=>667,120=>500,121=>444,122=>389,123=>348,124=>220,125=>348,126=>570,127=>350,128=>500,129=>350,130=>333,131=>500,132=>500,133=>1000,134=>500,135=>500,136=>333,137=>1000,138=>556,139=>333,140=>944,141=>350,142=>611,143=>350,144=>350,145=>333,146=>333,147=>500,148=>500,149=>350,150=>500,151=>1000,152=>333,153=>1000,154=>389,155=>333,156=>722,157=>350,158=>389,159=>611,160=>250,161=>389,162=>500,163=>500,164=>500,165=>500,166=>220,167=>500,168=>333,169=>747,170=>266,171=>500,172=>606,173=>333,174=>747,175=>333,176=>400,177=>570,178=>300,179=>300,180=>333,181=>576,182=>500,183=>250,184=>333,185=>300,186=>300,187=>500,188=>750,189=>750,190=>750,191=>500,192=>667,193=>667,194=>667,195=>667,196=>667,197=>667,198=>944,199=>667,200=>667,201=>667,202=>667,203=>667,204=>389,205=>389,206=>389,207=>389,208=>722,209=>722,210=>722,211=>722,212=>722,213=>722,214=>722,215=>570,216=>722,217=>722,218=>722,219=>722,220=>722,221=>611,222=>611,223=>500,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>722,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>556,242=>500,243=>500,244=>500,245=>500,246=>500,247=>570,248=>500,249=>556,250=>556,251=>556,252=>556,253=>444,254=>500,255=>444); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/timesi.php b/vendor/tecnickcom/tcpdf/fonts/timesi.php new file mode 100644 index 0000000..1e8b673 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/timesi.php @@ -0,0 +1,12 @@ +96,'FontBBox'=>'[-169 -217 1010 883]','ItalicAngle'=>-15.5,'Ascent'=>883,'Descent'=>-217,'Leading'=>0,'CapHeight'=>653,'XHeight'=>441,'StemV'=>76,'StemH'=>32,'AvgWidth'=>491,'MaxWidth'=>1000,'MissingWidth'=>491); +$cw=array(0=>250,1=>250,2=>250,3=>250,4=>250,5=>250,6=>250,7=>250,8=>250,9=>250,10=>250,11=>250,12=>250,13=>250,14=>250,15=>250,16=>250,17=>250,18=>250,19=>250,20=>250,21=>250,22=>250,23=>250,24=>250,25=>250,26=>250,27=>250,28=>250,29=>250,30=>250,31=>250,32=>250,33=>333,34=>420,35=>500,36=>500,37=>833,38=>778,39=>214,40=>333,41=>333,42=>500,43=>675,44=>250,45=>333,46=>250,47=>278,48=>500,49=>500,50=>500,51=>500,52=>500,53=>500,54=>500,55=>500,56=>500,57=>500,58=>333,59=>333,60=>675,61=>675,62=>675,63=>500,64=>920,65=>611,66=>611,67=>667,68=>722,69=>611,70=>611,71=>722,72=>722,73=>333,74=>444,75=>667,76=>556,77=>833,78=>667,79=>722,80=>611,81=>722,82=>611,83=>500,84=>556,85=>722,86=>611,87=>833,88=>611,89=>556,90=>556,91=>389,92=>278,93=>389,94=>422,95=>500,96=>333,97=>500,98=>500,99=>444,100=>500,101=>444,102=>278,103=>500,104=>500,105=>278,106=>278,107=>444,108=>278,109=>722,110=>500,111=>500,112=>500,113=>500,114=>389,115=>389,116=>278,117=>500,118=>444,119=>667,120=>444,121=>444,122=>389,123=>400,124=>275,125=>400,126=>541,127=>350,128=>500,129=>350,130=>333,131=>500,132=>556,133=>889,134=>500,135=>500,136=>333,137=>1000,138=>500,139=>333,140=>944,141=>350,142=>556,143=>350,144=>350,145=>333,146=>333,147=>556,148=>556,149=>350,150=>500,151=>889,152=>333,153=>980,154=>389,155=>333,156=>667,157=>350,158=>389,159=>556,160=>250,161=>389,162=>500,163=>500,164=>500,165=>500,166=>275,167=>500,168=>333,169=>760,170=>276,171=>500,172=>675,173=>333,174=>760,175=>333,176=>400,177=>675,178=>300,179=>300,180=>333,181=>500,182=>523,183=>250,184=>333,185=>300,186=>310,187=>500,188=>750,189=>750,190=>750,191=>500,192=>611,193=>611,194=>611,195=>611,196=>611,197=>611,198=>889,199=>667,200=>611,201=>611,202=>611,203=>611,204=>333,205=>333,206=>333,207=>333,208=>722,209=>667,210=>722,211=>722,212=>722,213=>722,214=>722,215=>675,216=>722,217=>722,218=>722,219=>722,220=>722,221=>556,222=>611,223=>500,224=>500,225=>500,226=>500,227=>500,228=>500,229=>500,230=>667,231=>444,232=>444,233=>444,234=>444,235=>444,236=>278,237=>278,238=>278,239=>278,240=>500,241=>500,242=>500,243=>500,244=>500,245=>500,246=>500,247=>675,248=>500,249=>500,250=>500,251=>500,252=>500,253=>444,254=>500,255=>444); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/uni2cid_ac15.php b/vendor/tecnickcom/tcpdf/fonts/uni2cid_ac15.php new file mode 100644 index 0000000..42c588d --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/uni2cid_ac15.php @@ -0,0 +1,6 @@ +1,33=>2,34=>3,35=>4,36=>5,37=>6,38=>7,39=>8,40=>9,41=>10,42=>11,43=>12,44=>13,45=>14,46=>15,47=>16,48=>17,49=>18,50=>19,51=>20,52=>21,53=>22,54=>23,55=>24,56=>25,57=>26,58=>27,59=>28,60=>29,61=>30,62=>31,63=>32,64=>33,65=>34,66=>35,67=>36,68=>37,69=>38,70=>39,71=>40,72=>41,73=>42,74=>43,75=>44,76=>45,77=>46,78=>47,79=>48,80=>49,81=>50,82=>51,83=>52,84=>53,85=>54,86=>55,87=>56,88=>57,89=>58,90=>59,91=>60,92=>61,93=>62,94=>63,95=>64,96=>65,97=>66,98=>67,99=>68,100=>69,101=>70,102=>71,103=>72,104=>73,105=>74,106=>75,107=>76,108=>77,109=>78,110=>79,111=>80,112=>81,113=>82,114=>83,115=>84,116=>85,117=>86,118=>87,119=>88,120=>89,121=>90,122=>91,123=>92,124=>93,125=>94,126=>95,12288=>99,65292=>100,12289=>101,12290=>102,65294=>103,8226=>104,8231=>104,65307=>105,65306=>106,65311=>107,65281=>108,65072=>109,8230=>110,8943=>110,8229=>111,65104=>112,65380=>113,65105=>113,65106=>114,183=>115,65108=>116,65109=>117,65110=>118,65111=>119,65372=>120,8211=>121,65073=>122,8212=>123,65288=>128,65289=>129,65077=>130,65078=>131,65371=>132,65373=>133,65079=>134,65080=>135,12308=>136,12309=>137,65081=>138,65082=>139,12304=>140,12305=>141,65083=>142,65084=>143,12298=>144,12299=>145,65085=>146,65086=>147,12296=>148,12297=>149,65087=>150,65088=>151,12300=>152,12301=>153,65089=>154,65090=>155,12302=>156,12303=>157,65091=>158,65092=>159,65113=>160,65114=>161,65115=>162,65116=>163,65117=>164,65118=>165,8216=>166,8217=>167,8220=>168,8221=>169,12317=>170,12318=>171,8245=>172,8242=>173,65283=>174,65286=>175,65290=>176,8251=>177,167=>178,12291=>179,9675=>180,9679=>181,9651=>182,9650=>183,9678=>184,9734=>185,9733=>186,9671=>187,9670=>188,9633=>189,9632=>190,9661=>191,9660=>192,12963=>193,8453=>194,175=>195,772=>195,8254=>195,65507=>196,65343=>197,717=>198,65097=>199,65098=>200,65101=>201,65102=>202,65099=>203,65100=>204,65119=>205,65120=>206,65121=>207,65291=>208,65293=>209,215=>210,247=>211,177=>212,8730=>213,65308=>214,65310=>215,65309=>216,8806=>217,8807=>218,8800=>219,8734=>220,8786=>221,8801=>222,65122=>223,65123=>224,65124=>225,65125=>226,65126=>227,8764=>228,65374=>228,8745=>229,8746=>230,8869=>231,8736=>232,8735=>233,8895=>234,13266=>235,13265=>236,8747=>237,8750=>238,8757=>239,8756=>240,9792=>241,9794=>242,8853=>243,9793=>243,8857=>244,9737=>244,8593=>245,8595=>246,8594=>247,8592=>248,8598=>249,8599=>250,8601=>251,8600=>252,8741=>253,8739=>254,8725=>257,65295=>257,65128=>258,65340=>258,65284=>259,165=>260,65509=>260,12306=>261,162=>262,65504=>262,163=>263,65505=>263,65285=>264,65312=>265,8451=>266,8457=>267,65129=>268,65130=>269,65131=>270,13269=>271,13212=>272,13213=>273,13214=>274,13262=>275,13217=>276,13198=>277,13199=>278,13252=>279,176=>280,20825=>281,58834=>281,20827=>282,58835=>282,20830=>283,58837=>283,20829=>284,58836=>284,20833=>285,20835=>286,21991=>287,29929=>288,58044=>288,31950=>289,58191=>289,9601=>290,9602=>291,9603=>292,9604=>293,9605=>294,9606=>295,9607=>296,9608=>297,9615=>298,9614=>299,9613=>300,9612=>301,9611=>302,9610=>303,9609=>304,9532=>305,9524=>306,9516=>307,9508=>308,9500=>309,9620=>310,9472=>311,9474=>312,9621=>313,9484=>314,9488=>315,9492=>316,9496=>317,9581=>318,9582=>319,9584=>320,9583=>321,9552=>322,9566=>323,9578=>324,9569=>325,9698=>326,9699=>327,9701=>328,9700=>329,9585=>330,9586=>331,9587=>332,65296=>333,65297=>334,65298=>335,65299=>336,65300=>337,65301=>338,65302=>339,65303=>340,65304=>341,65305=>342,8544=>343,8545=>344,8546=>345,8547=>346,8548=>347,8549=>348,8550=>349,8551=>350,8552=>351,8553=>352,12321=>353,12322=>354,12323=>355,12324=>356,12325=>357,12326=>358,12327=>359,12328=>360,12329=>361,12344=>362,21316=>363,57443=>363,12345=>363,12346=>364,65313=>365,65314=>366,65315=>367,65316=>368,65317=>369,65318=>370,65319=>371,65320=>372,65321=>373,65322=>374,65323=>375,65324=>376,65325=>377,65326=>378,65327=>379,65328=>380,65329=>381,65330=>382,65331=>383,65332=>384,65333=>385,65334=>386,65335=>387,65336=>388,65337=>389,65338=>390,65345=>391,65346=>392,65347=>393,65348=>394,65349=>395,65350=>396,65351=>397,65352=>398,65353=>399,65354=>400,65355=>401,65356=>402,65357=>403,65358=>404,65359=>405,65360=>406,65361=>407,65362=>408,65363=>409,65364=>410,65365=>411,65366=>412,65367=>413,65368=>414,65369=>415,65370=>416,913=>417,914=>418,915=>419,916=>420,917=>421,918=>422,919=>423,920=>424,921=>425,922=>426,923=>427,924=>428,925=>429,926=>430,927=>431,928=>432,929=>433,931=>434,932=>435,933=>436,934=>437,935=>438,936=>439,937=>440,945=>441,946=>442,947=>443,948=>444,949=>445,950=>446,951=>447,952=>448,953=>449,954=>450,955=>451,956=>452,957=>453,958=>454,959=>455,960=>456,961=>457,963=>458,964=>459,965=>460,966=>461,967=>462,968=>463,969=>464,12549=>465,12550=>466,12551=>467,12552=>468,12553=>469,12554=>470,12555=>471,12556=>472,12557=>473,12558=>474,12559=>475,12560=>476,12561=>477,12562=>478,12563=>479,12564=>480,12565=>481,12566=>482,12567=>483,12568=>484,12569=>485,12570=>486,12571=>487,12572=>488,12573=>489,12574=>490,12575=>491,12576=>492,12577=>493,12578=>494,12579=>495,12580=>496,12581=>497,12582=>498,12583=>499,12584=>500,12585=>501,729=>502,714=>503,711=>504,780=>504,715=>505,9312=>506,63153=>506,9313=>507,63154=>507,9314=>508,63155=>508,9315=>509,63156=>509,9316=>510,63157=>510,9317=>511,63158=>511,9318=>512,63159=>512,9319=>513,63160=>513,9320=>514,63161=>514,9321=>515,63162=>515,9332=>516,63163=>516,9333=>517,63164=>517,9334=>518,63165=>518,9335=>519,63166=>519,9336=>520,63167=>520,9337=>521,63168=>521,9338=>522,63169=>522,9339=>523,63170=>523,9340=>524,63171=>524,9341=>525,63172=>525,8560=>526,63173=>526,8561=>527,63174=>527,8562=>528,63175=>528,8563=>529,63176=>529,8564=>530,63177=>530,8565=>531,63178=>531,8566=>532,63179=>532,8567=>533,63180=>533,8568=>534,63181=>534,8569=>535,63182=>535,20008=>536,12033=>536,20022=>537,12034=>537,63183=>537,20031=>538,12035=>538,63184=>538,12037=>539,20101=>539,63185=>539,12039=>540,20128=>540,63186=>540,20866=>541,12044=>541,63187=>541,20886=>542,12045=>542,63188=>542,20907=>543,12046=>543,63189=>543,12051=>544,21241=>544,63190=>544,12054=>545,21304=>545,63191=>545,12057=>546,21353=>546,63192=>546,12059=>547,21430=>547,63193=>547,12065=>548,12066=>548,22786=>548,22794=>548,63194=>548,12071=>549,23424=>549,63195=>549,12078=>550,24027=>550,63196=>550,24186=>551,12083=>551,63197=>551,24191=>552,12084=>552,63198=>552,24308=>553,12085=>553,24400=>554,12089=>554,63200=>554,24417=>555,12090=>555,63201=>555,12097=>556,25908=>556,63202=>556,12102=>557,26080=>557,30098=>558,63204=>558,12135=>558,30326=>559,12136=>559,12193=>560,36789=>560,63206=>560,12202=>561,38582=>561,9216=>562,9217=>563,9218=>564,9219=>565,9220=>566,9221=>567,9222=>568,9223=>569,9224=>570,9225=>571,9226=>572,9227=>573,9228=>574,9229=>575,9230=>576,9231=>577,9232=>578,9233=>579,9234=>580,9235=>581,9236=>582,9237=>583,9238=>584,9239=>585,9240=>586,9241=>587,9242=>588,9243=>589,9244=>590,9245=>591,9246=>592,9247=>593,9249=>594,12032=>595,19968=>595,12036=>596,20057=>596,19969=>597,19971=>598,20035=>599,20061=>600,20102=>601,12038=>602,20108=>602,20154=>603,12040=>603,20799=>604,12041=>604,20837=>605,12042=>605,20843=>606,12043=>606,12047=>607,20960=>607,12049=>608,20992=>608,20993=>609,12050=>610,21147=>610,12052=>611,21269=>611,21313=>612,12055=>612,21340=>613,12056=>613,12060=>614,21448=>614,19977=>615,19979=>616,19976=>617,19978=>618,20011=>619,20024=>620,20961=>621,20037=>622,20040=>623,20063=>624,20062=>625,20110=>626,20129=>627,20800=>628,64012=>628,20995=>629,21242=>630,21315=>631,21449=>632,12061=>633,21475=>633,22303=>634,12063=>634,22763=>635,12064=>635,22805=>636,12067=>636,22823=>637,12068=>637,22899=>638,12069=>638,12070=>639,23376=>639,23377=>640,23379=>641,23544=>642,12072=>642,23567=>643,12073=>643,23586=>644,12074=>644,23608=>645,12075=>645,12077=>646,23665=>646,24029=>647,24037=>648,12079=>648,12080=>649,24049=>649,24050=>650,24051=>651,24062=>652,12081=>652,24178=>653,12082=>653,24318=>654,12086=>654,24331=>655,12087=>655,24339=>656,12088=>656,25165=>657,19985=>658,19984=>659,19981=>660,20013=>661,20016=>662,20025=>663,20043=>664,23609=>665,20104=>666,20113=>667,20117=>668,20114=>669,20116=>670,20130=>671,20161=>672,20160=>673,20163=>674,20166=>675,20167=>676,20173=>677,20170=>678,20171=>679,20164=>680,20803=>681,20801=>682,20839=>683,20845=>684,20846=>685,20844=>686,20887=>687,20982=>688,20998=>689,20999=>690,21000=>691,21243=>692,21246=>693,21247=>694,21270=>695,21305=>696,21320=>697,21319=>698,21317=>699,21342=>700,21380=>701,21451=>702,21450=>703,21453=>704,22764=>705,22825=>706,22827=>707,22826=>708,22829=>709,23380=>710,23569=>711,23588=>712,23610=>713,23663=>714,24052=>715,24187=>716,24319=>717,24340=>718,24341=>719,24515=>720,12092=>720,25096=>721,12093=>721,25142=>722,12094=>722,25163=>723,12095=>723,25166=>724,12096=>725,25903=>725,25991=>726,12098=>726,26007=>727,12099=>727,26020=>728,12100=>728,26041=>729,12101=>729,26085=>730,12103=>730,26352=>731,12104=>731,26376=>732,12105=>732,26408=>733,12106=>733,27424=>734,12107=>734,27490=>735,12108=>735,27513=>736,12109=>736,27595=>737,12111=>737,27604=>738,12112=>738,27611=>739,12113=>739,27663=>740,12114=>740,27700=>741,12116=>741,28779=>742,12117=>742,29226=>743,12118=>743,29238=>744,12119=>744,29243=>745,12120=>745,29255=>746,12122=>746,29273=>747,12123=>747,29275=>748,12124=>748,29356=>749,12125=>749,29579=>750,19993=>751,19990=>752,19989=>753,19988=>754,19992=>755,20027=>756,20045=>757,20047=>758,20046=>759,20197=>760,20184=>761,20180=>762,20181=>763,20182=>764,20183=>765,20195=>766,20196=>767,20185=>768,20190=>769,20805=>770,20804=>771,20873=>772,20874=>773,20908=>774,20985=>775,20986=>776,20984=>777,21002=>778,21152=>779,21151=>780,57435=>781,21253=>781,21254=>782,21271=>783,21277=>784,20191=>785,21322=>786,21321=>787,21345=>788,21344=>789,21359=>790,21358=>791,21435=>792,21487=>793,21476=>794,21491=>795,21484=>796,21486=>797,21481=>798,21480=>799,21500=>800,21496=>801,21493=>802,21483=>803,21478=>804,21482=>805,21490=>806,21489=>807,21488=>808,21477=>809,21485=>810,21499=>811,22235=>812,22234=>813,22806=>814,22830=>815,22833=>816,22900=>817,22902=>818,23381=>819,23427=>820,23612=>821,24040=>822,24039=>823,24038=>824,24066=>825,24067=>826,24179=>827,24188=>828,24321=>829,24344=>830,24343=>831,24517=>832,25098=>833,25171=>834,25172=>835,25170=>836,25169=>837,26021=>838,26086=>839,26414=>840,26412=>841,26410=>842,26411=>843,26413=>844,27491=>845,27597=>846,27665=>847,27664=>848,27704=>849,27713=>850,27712=>851,27710=>852,29359=>853,29572=>854,12126=>854,29577=>855,12127=>855,29916=>856,12128=>856,29926=>857,12129=>857,29976=>858,12130=>858,29983=>859,12131=>859,12132=>860,29992=>860,29993=>861,12133=>862,30000=>862,30001=>863,30002=>864,30003=>865,12134=>866,30091=>866,30333=>867,12137=>867,30382=>868,12138=>868,30399=>869,12139=>869,30446=>870,12140=>870,30683=>871,12141=>871,30690=>872,12142=>872,30707=>873,12143=>873,31034=>874,12144=>874,31166=>875,12146=>875,31348=>876,12147=>876,31435=>877,12148=>877,19998=>878,19999=>879,20050=>880,20051=>881,20073=>882,20121=>883,20132=>884,20134=>885,20133=>886,20223=>887,20233=>888,20249=>889,20234=>890,20245=>891,20237=>892,20240=>893,20241=>894,20239=>895,20210=>896,20214=>897,20219=>898,20208=>899,20211=>900,20221=>901,20225=>902,20235=>903,20809=>904,20807=>905,20806=>906,20808=>907,20840=>908,20849=>909,20877=>910,20912=>911,21015=>912,21009=>913,21010=>914,21006=>915,21014=>916,21155=>917,21256=>918,21281=>919,21280=>920,21360=>921,21361=>922,21513=>923,21519=>924,21516=>925,21514=>926,21520=>927,21505=>928,21515=>929,21508=>930,21521=>931,21517=>932,21512=>933,21507=>934,21518=>935,21510=>936,21522=>937,22240=>938,22238=>939,22237=>940,22323=>941,22320=>942,22312=>943,22317=>944,22316=>945,22319=>946,22313=>947,22809=>948,22810=>949,22839=>950,22840=>951,22916=>952,22904=>953,22915=>954,22909=>955,22905=>956,22914=>957,22913=>958,23383=>959,23384=>960,23431=>961,23432=>962,23429=>963,23433=>964,23546=>965,23574=>966,23673=>967,24030=>968,24070=>969,24182=>970,24180=>971,24335=>972,24347=>973,24537=>974,24534=>975,25102=>976,25100=>977,25101=>978,25104=>979,25187=>980,25179=>981,25176=>982,25910=>983,26089=>984,26088=>985,26092=>986,26093=>987,26354=>988,26355=>989,26377=>990,26429=>991,26420=>992,26417=>993,26421=>994,27425=>995,27492=>996,27515=>997,27670=>998,27741=>999,27735=>1000,27737=>1001,27743=>1002,27744=>1003,27728=>1004,27733=>1005,27745=>1006,27739=>1007,27725=>1008,27726=>1009,28784=>1010,29279=>1011,29277=>1012,30334=>1013,31481=>1014,12149=>1014,31859=>1015,12150=>1015,31992=>1016,12151=>1016,32566=>1017,12152=>1017,32650=>1018,12154=>1018,32701=>1019,12155=>1019,32769=>1020,12156=>1020,32771=>1021,32780=>1022,12157=>1022,32786=>1023,12158=>1023,32819=>1024,12159=>1024,32895=>1025,12160=>1025,32905=>1026,12161=>1026,32907=>1027,32908=>1028,33251=>1029,12162=>1029,33258=>1030,12163=>1030,33267=>1031,12164=>1031,33276=>1032,12165=>1032,33292=>1033,12166=>1033,33307=>1034,12167=>1034,33311=>1035,12168=>1035,33390=>1036,12169=>1036,33394=>1037,12170=>1037,33406=>1038,34411=>1039,12173=>1039,34880=>1040,12174=>1040,34892=>1041,12175=>1041,34915=>1042,12176=>1042,35199=>1043,38433=>1044,20018=>1045,20136=>1046,20301=>1047,20303=>1048,20295=>1049,20311=>1050,20318=>1051,20276=>1052,20315=>1053,20309=>1054,20272=>1055,20304=>1056,20305=>1057,20285=>1058,20282=>1059,20280=>1060,20291=>1061,20308=>1062,20284=>1063,20294=>1064,20323=>1065,20316=>1066,20320=>1067,20271=>1068,20302=>1069,20278=>1070,20313=>1071,20317=>1072,20296=>1073,20314=>1074,20812=>1075,20811=>1076,20813=>1077,20853=>1078,20918=>1079,20919=>1080,21029=>1081,21028=>1082,21033=>1083,21034=>1084,21032=>1085,21163=>1086,21161=>1087,21162=>1088,21164=>1089,21283=>1090,21363=>1091,21365=>1092,21533=>1093,21549=>1094,21534=>1095,21566=>1096,21542=>1097,21582=>1098,21543=>1099,21574=>1100,21571=>1101,21555=>1102,21576=>1103,21570=>1104,21531=>1105,21545=>1106,21578=>1107,21561=>1108,21563=>1109,21560=>1110,21550=>1111,21557=>1112,21558=>1113,21536=>1114,21564=>1115,21568=>1116,21553=>1117,21547=>1118,21535=>1119,21548=>1120,22250=>1121,22256=>1122,22244=>1123,22251=>1124,22346=>1125,22353=>1126,22336=>1127,22349=>1128,22343=>1129,22350=>1130,22334=>1131,22352=>1132,22351=>1133,22331=>1134,22767=>1135,22846=>1136,22941=>1137,22930=>1138,22952=>1139,22942=>1140,22947=>1141,22937=>1142,22934=>1143,22925=>1144,22948=>1145,22931=>1146,22922=>1147,22949=>1148,23389=>1149,23388=>1150,23386=>1151,23387=>1152,23436=>1153,23435=>1154,23439=>1155,23596=>1156,23616=>1157,23617=>1158,23615=>1159,23614=>1160,23696=>1161,23697=>1162,23700=>1163,23692=>1164,24043=>1165,24076=>1166,24207=>1167,24199=>1168,24202=>1169,24311=>1170,24324=>1171,24351=>1172,24420=>1173,24418=>1174,24439=>1175,24441=>1176,24536=>1177,24524=>1178,24535=>1179,24525=>1180,24561=>1181,24555=>1182,24568=>1183,24554=>1184,25106=>1185,25105=>1186,25220=>1187,25239=>1188,25238=>1189,25216=>1190,25206=>1191,25225=>1192,25197=>1193,25226=>1194,25212=>1195,25214=>1196,25209=>1197,25203=>1198,25234=>1199,25199=>1200,25240=>1201,25198=>1202,25237=>1203,25235=>1204,25233=>1205,25222=>1206,25913=>1207,25915=>1208,25912=>1209,26097=>1210,26356=>1211,26463=>1212,26446=>1213,26447=>1214,26448=>1215,26449=>1216,26460=>1217,26454=>1218,26462=>1219,57801=>1219,26441=>1220,26438=>1221,26464=>1222,26451=>1223,26455=>1224,27493=>1225,27599=>1226,27714=>1227,27742=>1228,27801=>1229,27777=>1230,27784=>1231,27785=>1232,27781=>1233,27803=>1234,27754=>1235,27770=>1236,27792=>1237,27760=>1238,27788=>1239,27752=>1240,27798=>1241,27794=>1242,27773=>1243,27779=>1244,27762=>1245,27774=>1246,27764=>1247,27782=>1248,27766=>1249,27789=>1250,27796=>1251,27800=>1252,27778=>1253,28790=>1254,28796=>1255,28797=>1256,28792=>1257,29282=>1258,29281=>1259,29280=>1260,29380=>1261,29378=>1262,29590=>1263,29996=>1264,29995=>1265,30007=>1266,30008=>1267,30338=>1268,30447=>1269,30691=>1270,31169=>1271,31168=>1272,31167=>1273,31350=>1274,31995=>1275,32597=>1276,32918=>1277,32915=>1278,32925=>1279,32920=>1280,32923=>1281,32922=>1282,32946=>1283,33391=>1284,33426=>1285,33419=>1286,33421=>1287,35211=>1288,12178=>1288,35282=>1289,12179=>1289,35328=>1290,12180=>1290,35895=>1291,12181=>1291,35910=>1292,12182=>1292,35925=>1293,12183=>1293,35997=>1294,12185=>1294,36196=>1295,12186=>1295,36208=>1296,12187=>1296,36275=>1297,12188=>1297,36523=>1298,12189=>1298,36554=>1299,12190=>1299,36763=>1300,12191=>1300,36784=>1301,12192=>1301,36802=>1302,36806=>1303,36805=>1304,36804=>1305,24033=>1306,12194=>1307,37009=>1307,37026=>1308,37034=>1309,37030=>1310,37027=>1311,37193=>1312,12195=>1312,37318=>1313,12196=>1313,37324=>1314,12197=>1314,38450=>1315,38446=>1316,38449=>1317,38442=>1318,38444=>1319,20006=>1320,20054=>1321,20083=>1322,20107=>1323,20123=>1324,20126=>1325,20139=>1326,20140=>1327,20335=>1328,20381=>1329,20365=>1330,20339=>1331,20351=>1332,20332=>1333,20379=>1334,20363=>1335,20358=>1336,20355=>1337,20336=>1338,20341=>1339,20360=>1340,20329=>1341,20347=>1342,20374=>1343,20350=>1344,20367=>1345,20369=>1346,20346=>1347,20820=>1348,20818=>1349,20821=>1350,20841=>1351,20855=>1352,20854=>1353,20856=>1354,20925=>1355,20989=>1356,21051=>1357,21048=>1358,21047=>1359,21050=>1360,21040=>1361,21038=>1362,21046=>1363,21057=>1364,21182=>1365,21179=>1366,21330=>1367,21332=>1368,21331=>1369,21329=>1370,21350=>1371,21367=>1372,21368=>1373,21369=>1374,21462=>1375,21460=>1376,21463=>1377,21619=>1378,21621=>1379,21654=>1380,21624=>1381,21653=>1382,21632=>1383,21627=>1384,21623=>1385,21636=>1386,21650=>1387,21638=>1388,21628=>1389,21648=>1390,21617=>1391,21622=>1392,21644=>1393,21658=>1394,21602=>1395,21608=>1396,21643=>1397,21629=>1398,21646=>1399,22266=>1400,22403=>1401,22391=>1402,22378=>1403,22377=>1404,22369=>1405,22374=>1406,22372=>1407,22396=>1408,22812=>1409,22857=>1410,22855=>1411,22856=>1412,22852=>1413,22868=>1414,22974=>1415,22971=>1416,22996=>1417,22969=>1418,22958=>1419,22993=>1420,22982=>1421,22992=>1422,22989=>1423,22987=>1424,22995=>1425,22986=>1426,22959=>1427,22963=>1428,22994=>1429,22981=>1430,23391=>1431,23396=>1432,23395=>1433,23447=>1434,23450=>1435,23448=>1436,23452=>1437,23449=>1438,23451=>1439,23578=>1440,23624=>1441,23621=>1442,23622=>1443,23735=>1444,23713=>1445,23736=>1446,23721=>1447,23723=>1448,23729=>1449,23731=>1450,24088=>1451,24090=>1452,24086=>1453,24085=>1454,24091=>1455,24081=>1456,24184=>1457,24218=>1458,24215=>1459,24220=>1460,24213=>1461,24214=>1462,24310=>1463,24358=>1464,24359=>1465,24361=>1466,24448=>1467,24449=>1468,24447=>1469,24444=>1470,24541=>1471,24544=>1472,24573=>1473,24565=>1474,24575=>1475,24591=>1476,24596=>1477,24623=>1478,24629=>1479,24598=>1480,24618=>1481,24597=>1482,24609=>1483,24615=>1484,24617=>1485,24619=>1486,24603=>1487,25110=>1488,25109=>1489,25151=>1490,25150=>1491,25152=>1492,25215=>1493,25289=>1494,25292=>1495,25284=>1496,25279=>1497,25282=>1498,25273=>1499,25298=>1500,25307=>1501,25259=>1502,25299=>1503,25300=>1504,25291=>1505,25288=>1506,25256=>1507,25277=>1508,25276=>1509,25296=>1510,60582=>1510,25305=>1511,25287=>1512,25293=>1513,25269=>1514,25306=>1515,25265=>1516,25304=>1517,25302=>1518,25303=>1519,25286=>1520,25260=>1521,25294=>1522,61010=>1522,25918=>1523,26023=>1524,26044=>1525,26106=>1526,26132=>1527,26131=>1528,26124=>1529,26118=>1530,26114=>1531,26126=>1532,26112=>1533,26127=>1534,26133=>1535,26122=>1536,26119=>1537,26381=>1538,26379=>1539,26477=>1540,26507=>1541,26517=>1542,26481=>1543,26524=>1544,26483=>1545,26487=>1546,26503=>1547,26525=>1548,26519=>1549,26479=>1550,26480=>1551,26495=>1552,26505=>1553,26494=>1554,26512=>1555,26485=>1556,26522=>1557,26515=>1558,26492=>1559,26474=>1560,26482=>1561,27427=>1562,27494=>1563,27495=>1564,27519=>1565,27667=>1566,27675=>1567,27875=>1568,27880=>1569,27891=>1570,27825=>1571,27852=>1572,27877=>1573,27827=>1574,27837=>1575,27838=>1576,27836=>1577,27874=>1578,27819=>1579,27861=>1580,27859=>1581,27832=>1582,27844=>1583,27833=>1584,27841=>1585,27822=>1586,27863=>1587,27845=>1588,27889=>1589,27839=>1590,27835=>1591,27873=>1592,27867=>1593,27850=>1594,27820=>1595,27887=>1596,27868=>1597,27862=>1598,27872=>1599,28821=>1600,28814=>1601,28818=>1602,28810=>1603,28825=>1604,29228=>1605,29229=>1606,29240=>1607,29256=>1608,29287=>1609,29289=>1610,29376=>1611,29390=>1612,29401=>1613,29399=>1614,29392=>1615,29609=>1616,29608=>1617,29599=>1618,29611=>1619,29605=>1620,30013=>1621,30109=>1622,30105=>1623,30106=>1624,30340=>1625,30402=>1626,30450=>1627,30452=>1628,30693=>1629,30717=>1630,31038=>1631,31040=>1632,31041=>1633,31177=>1634,31176=>1635,31354=>1636,31353=>1637,31482=>1638,31998=>1639,32596=>1640,32652=>1641,32651=>1642,32773=>1643,58236=>1643,32954=>1644,32933=>1645,32930=>1646,32945=>1647,32929=>1648,32939=>1649,32937=>1650,32948=>1651,32938=>1652,32943=>1653,33253=>1654,33278=>1655,33293=>1656,33459=>1657,33437=>1658,33433=>1659,33453=>1660,33469=>1661,33439=>1662,33465=>1663,33457=>1664,33452=>1665,33445=>1666,33455=>1667,33464=>1668,33443=>1669,33456=>1670,33470=>1671,33463=>1672,34382=>1673,34417=>1674,21021=>1675,34920=>1676,36555=>1677,36814=>1678,36820=>1679,36817=>1680,37045=>1681,37048=>1682,37041=>1683,37046=>1684,37319=>1685,37329=>1686,12198=>1686,38263=>1687,12199=>1687,38272=>1688,12200=>1688,38428=>1689,12201=>1689,38464=>1690,38463=>1691,38459=>1692,38468=>1693,38466=>1694,38585=>1695,12203=>1695,38632=>1696,12204=>1696,38738=>1697,12206=>1698,38750=>1698,20127=>1699,20141=>1700,20142=>1701,20449=>1702,20405=>1703,20399=>1704,20415=>1705,20448=>1706,20433=>1707,20431=>1708,20445=>1709,20419=>1710,20406=>1711,20440=>1712,20447=>1713,20426=>1714,20439=>1715,20398=>1716,20432=>1717,20420=>1718,20418=>1719,20442=>1720,20430=>1721,20446=>1722,20407=>1723,20823=>1724,20882=>1725,20881=>1726,20896=>1727,21070=>1728,21059=>1729,21066=>1730,21069=>1731,21068=>1732,21067=>1733,21063=>1734,21191=>1735,21193=>1736,21187=>1737,21185=>1738,21261=>1739,21335=>1740,21371=>1741,21402=>1742,21467=>1743,21676=>1744,21696=>1745,21672=>1746,21710=>1747,21705=>1748,21688=>1749,21670=>1750,21683=>1751,21703=>1752,21698=>1753,21693=>1754,21674=>1755,21697=>1756,21700=>1757,21704=>1758,21679=>1759,21675=>1760,21681=>1761,21691=>1762,21673=>1763,21671=>1764,21695=>1765,22271=>1766,22402=>1767,22411=>1768,22432=>1769,22435=>1770,22434=>1771,22478=>1772,22446=>1773,22419=>1774,22869=>1775,22865=>1776,22863=>1777,22862=>1778,22864=>1779,23004=>1780,23000=>1781,23039=>1782,23011=>1783,23016=>1784,23043=>1785,23013=>1786,23018=>1787,23002=>1788,23014=>1789,23041=>1790,23035=>1791,23401=>1792,23459=>1793,23462=>1794,23460=>1795,23458=>1796,23461=>1797,23553=>1798,23630=>1799,23631=>1800,23629=>1801,23627=>1802,23769=>1803,23762=>1804,24055=>1805,24093=>1806,24101=>1807,24095=>1808,24189=>1809,24224=>1810,24230=>1811,24314=>1812,24328=>1813,24365=>1814,24421=>1815,24456=>1816,24453=>1817,24458=>1818,24459=>1819,24455=>1820,24460=>1821,24457=>1822,24594=>1823,24605=>1824,24608=>1825,24613=>1826,24590=>1827,24616=>1828,24653=>1829,24688=>1830,24680=>1831,24674=>1832,60712=>1832,24646=>1833,24643=>1834,24684=>1835,24683=>1836,24682=>1837,24676=>1838,25153=>1839,25308=>1840,25366=>1841,25353=>1842,25340=>1843,25325=>1844,25345=>1845,25326=>1846,25341=>1847,25351=>1848,25329=>1849,25335=>1850,25327=>1851,25324=>1852,25342=>1853,25332=>1854,25361=>1855,25346=>1856,25919=>1857,25925=>1858,26027=>1859,26045=>1860,26082=>1861,26149=>1862,26157=>1863,26144=>1864,26151=>1865,26159=>1866,26143=>1867,26152=>1868,26161=>1869,26148=>1870,26359=>1871,26623=>1872,26579=>1873,26609=>1874,26580=>1875,26576=>1876,26604=>1877,26550=>1878,26543=>1879,26613=>1880,26601=>1881,26607=>1882,26564=>1883,26577=>1884,26548=>1885,26586=>1886,26597=>1887,26552=>1888,26575=>1889,26590=>1890,26611=>1891,26544=>1892,26585=>1893,26594=>1894,26589=>1895,26578=>1896,27498=>1897,27523=>1898,27526=>1899,27573=>1900,27602=>1901,27607=>1902,27679=>1903,27849=>1904,27915=>1905,27954=>1906,27946=>1907,27969=>1908,27941=>1909,27916=>1910,27953=>1911,27934=>1912,27927=>1913,27963=>1914,27965=>1915,27966=>1916,27958=>1917,27931=>1918,27893=>1919,27961=>1920,27943=>1921,27960=>1922,27945=>1923,27950=>1924,27957=>1925,27918=>1926,27947=>1927,28843=>1928,28858=>1929,28851=>1930,28844=>1931,28847=>1932,28845=>1933,28856=>1934,28846=>1935,28836=>1936,29232=>1937,29298=>1938,29295=>1939,29300=>1940,29417=>1941,29408=>1942,29409=>1943,29623=>1944,29642=>1945,29627=>1946,29618=>1947,29645=>1948,29632=>1949,29619=>1950,29978=>1951,29997=>1952,30031=>1953,30028=>1954,30030=>1955,30027=>1956,30123=>1957,30116=>1958,30117=>1959,30114=>1960,30115=>1961,30328=>1962,30342=>1963,30343=>1964,30344=>1965,30408=>1966,30406=>1967,30403=>1968,30405=>1969,30465=>1970,30457=>1971,30456=>1972,30473=>1973,30475=>1974,30462=>1975,30460=>1976,30471=>1977,30684=>1978,30722=>1979,30740=>1980,30732=>1981,30733=>1982,31046=>1983,31049=>1984,31048=>1985,31047=>1986,31161=>1987,31162=>1988,31185=>1989,31186=>1990,31179=>1991,31359=>1992,31361=>1993,31487=>1994,31485=>1995,31869=>1996,32002=>1997,32005=>1998,32000=>1999,32009=>2000,32007=>2001,32004=>2002,32006=>2003,32568=>2004,32654=>2005,32703=>2006,32784=>2007,32781=>2008,32785=>2009,32822=>2010,32982=>2011,32997=>2012,32986=>2013,32963=>2014,32964=>2015,32972=>2016,32993=>2017,32987=>2018,32974=>2019,32990=>2020,32996=>2021,32989=>2022,33268=>2023,33314=>2024,33511=>2025,33539=>2026,33541=>2027,33507=>2028,33499=>2029,33510=>2030,33540=>2031,33509=>2032,33538=>2033,33545=>2034,33490=>2035,33495=>2036,33521=>2037,33537=>2038,33500=>2039,33492=>2040,33489=>2041,33502=>2042,33491=>2043,33503=>2044,33519=>2045,33542=>2046,34384=>2047,34425=>2048,34427=>2049,34426=>2050,34893=>2051,34923=>2052,35201=>2053,35284=>2054,35336=>2055,35330=>2056,35331=>2057,35998=>2058,36000=>2059,36212=>2060,36211=>2061,36276=>2062,36557=>2063,36556=>2064,36848=>2065,36838=>2066,36834=>2067,36842=>2068,36837=>2069,36845=>2070,36843=>2071,36836=>2072,36840=>2073,37066=>2074,37070=>2075,37057=>2076,37059=>2077,37195=>2078,37194=>2079,37325=>2080,38274=>2081,38480=>2082,38475=>2083,38476=>2084,38477=>2085,38754=>2086,12207=>2086,38761=>2087,12208=>2087,38859=>2088,12209=>2088,38893=>2089,12210=>2089,38899=>2090,12211=>2090,38913=>2091,12212=>2091,39080=>2092,12213=>2092,39131=>2093,12214=>2093,39135=>2094,12215=>2094,39318=>2095,12216=>2095,39321=>2096,12217=>2096,20056=>2097,20147=>2098,20492=>2099,20493=>2100,20515=>2101,20463=>2102,20518=>2103,20517=>2104,20472=>2105,20521=>2106,57375=>2106,20502=>2107,20486=>2108,20540=>2109,20511=>2110,20506=>2111,20498=>2112,20497=>2113,20474=>2114,20480=>2115,20500=>2116,20520=>2117,20465=>2118,20513=>2119,20491=>2120,20505=>2121,20504=>2122,20467=>2123,20462=>2124,20525=>2125,20522=>2126,20478=>2127,20523=>2128,20489=>2129,20860=>2130,20900=>2131,20901=>2132,20898=>2133,20941=>2134,20940=>2135,20934=>2136,20939=>2137,21078=>2138,21084=>2139,21076=>2140,21083=>2141,21085=>2142,21290=>2143,21375=>2144,57459=>2144,21407=>2145,21405=>2146,21471=>2147,21736=>2148,21776=>2149,21761=>2150,21815=>2151,21756=>2152,21733=>2153,21746=>2154,21766=>2155,21754=>2156,21780=>2157,21737=>2158,21741=>2159,21729=>2160,21769=>2161,21742=>2162,21738=>2163,21734=>2164,21799=>2165,21767=>2166,21757=>2167,21775=>2168,22275=>2169,22276=>2170,22466=>2171,22484=>2172,22475=>2173,22467=>2174,22537=>2175,22799=>2176,22871=>2177,22872=>2178,22874=>2179,23057=>2180,23064=>2181,23068=>2182,23071=>2183,23067=>2184,23059=>2185,23020=>2186,23072=>2187,23075=>2188,23081=>2189,23077=>2190,23052=>2191,23049=>2192,23403=>2193,23640=>2194,23472=>2195,23475=>2196,23478=>2197,23476=>2198,23470=>2199,23477=>2200,23481=>2201,23480=>2202,23556=>2203,23633=>2204,23637=>2205,23632=>2206,23789=>2207,23805=>2208,23803=>2209,23786=>2210,23784=>2211,23792=>2212,23798=>2213,23809=>2214,23796=>2215,24046=>2216,24109=>2217,24107=>2218,24235=>2219,24237=>2220,24231=>2221,24369=>2222,24466=>2223,24465=>2224,24464=>2225,24665=>2226,24675=>2227,24677=>2228,24656=>2229,24661=>2230,24685=>2231,24681=>2232,24687=>2233,24708=>2234,24735=>2235,24730=>2236,24717=>2237,24724=>2238,24716=>2239,24709=>2240,24726=>2241,25159=>2242,25331=>2243,25352=>2244,25343=>2245,25422=>2246,25406=>2247,25391=>2248,25429=>2249,25410=>2250,25414=>2251,25423=>2252,25417=>2253,25402=>2254,25424=>2255,25405=>2256,25386=>2257,25387=>2258,25384=>2259,25421=>2260,25420=>2261,25928=>2262,25929=>2263,26009=>2264,26049=>2265,26053=>2266,26178=>2267,26185=>2268,26191=>2269,26179=>2270,26194=>2271,26188=>2272,26181=>2273,26177=>2274,26360=>2275,26388=>2276,26389=>2277,26391=>2278,26657=>2279,26680=>2280,26696=>2281,26694=>2282,26707=>2283,26681=>2284,26690=>2285,26708=>2286,26665=>2287,26803=>2288,26647=>2289,26700=>2290,26705=>2291,26685=>2292,26612=>2293,26704=>2294,26688=>2295,26684=>2296,26691=>2297,26666=>2298,26693=>2299,26643=>2300,26648=>2301,26689=>2302,27530=>2303,27529=>2304,27575=>2305,27683=>2306,27687=>2307,27688=>2308,27686=>2309,27684=>2310,27888=>2311,28010=>2312,28053=>2313,28040=>2314,28039=>2315,28006=>2316,28024=>2317,28023=>2318,27993=>2319,28051=>2320,28012=>2321,28041=>2322,28014=>2323,27994=>2324,28020=>2325,28009=>2326,28044=>2327,28042=>2328,28025=>2329,28037=>2330,28005=>2331,28052=>2332,28874=>2333,28888=>2334,28900=>2335,28889=>2336,28872=>2337,28879=>2338,29241=>2339,29305=>2340,29436=>2341,29433=>2342,29437=>2343,29432=>2344,29431=>2345,29574=>2346,29677=>2347,29705=>2348,29678=>2349,29664=>2350,29674=>2351,29662=>2352,30036=>2353,30045=>2354,30044=>2355,30042=>2356,30041=>2357,30142=>2358,30149=>2359,30151=>2360,30130=>2361,30131=>2362,30141=>2363,30140=>2364,30137=>2365,30146=>2366,30136=>2367,30347=>2368,30384=>2369,30410=>2370,30413=>2371,30414=>2372,30505=>2373,30495=>2374,30496=>2375,30504=>2376,30697=>2377,30768=>2378,30759=>2379,30776=>2380,30749=>2381,30772=>2382,30775=>2383,30757=>2384,30765=>2385,30752=>2386,30751=>2387,30770=>2388,31061=>2389,31056=>2390,31072=>2391,31071=>2392,31062=>2393,31070=>2394,31069=>2395,31063=>2396,31066=>2397,31204=>2398,31203=>2399,60418=>2399,31207=>2400,31199=>2401,31206=>2402,31209=>2403,31192=>2404,31364=>2405,31368=>2406,31449=>2407,31494=>2408,31505=>2409,31881=>2410,32033=>2411,32023=>2412,32011=>2413,32010=>2414,32032=>2415,32034=>2416,32020=>2417,32016=>2418,32021=>2419,32026=>2420,32028=>2421,32013=>2422,32025=>2423,32027=>2424,32570=>2425,32607=>2426,32660=>2427,32709=>2428,32705=>2429,32774=>2430,32772=>2431,32792=>2432,32789=>2433,32793=>2434,32791=>2435,32829=>2436,32831=>2437,33009=>2438,33026=>2439,33008=>2440,33029=>2441,33005=>2442,33012=>2443,33030=>2444,33016=>2445,33011=>2446,33032=>2447,33021=>2448,33034=>2449,33020=>2450,33007=>2451,33261=>2452,33260=>2453,33280=>2454,33296=>2455,33322=>2456,33323=>2457,33320=>2458,33324=>2459,33467=>2460,33579=>2461,33618=>2462,33620=>2463,33610=>2464,33592=>2465,33616=>2466,33609=>2467,33589=>2468,33588=>2469,33615=>2470,33586=>2471,33593=>2472,33590=>2473,33559=>2474,33600=>2475,33585=>2476,33576=>2477,33603=>2478,34388=>2479,34442=>2480,34474=>2481,34451=>2482,34468=>2483,34473=>2484,34444=>2485,34467=>2486,34460=>2487,34928=>2488,34935=>2489,34945=>2490,34946=>2491,34941=>2492,34937=>2493,35352=>2494,35344=>2495,35342=>2496,35340=>2497,35349=>2498,35338=>2499,35351=>2500,35347=>2501,35350=>2502,35343=>2503,35345=>2504,35912=>2505,35962=>2506,35961=>2507,36001=>2508,36002=>2509,36215=>2510,58442=>2510,36524=>2511,36562=>2512,36564=>2513,36559=>2514,36785=>2515,36865=>2516,36870=>2517,36855=>2518,36864=>2519,36858=>2520,36852=>2521,36867=>2522,36861=>2523,36869=>2524,36856=>2525,37013=>2526,37089=>2527,37085=>2528,37090=>2529,37202=>2530,37197=>2531,37196=>2532,37336=>2533,37341=>2534,37335=>2535,37340=>2536,37337=>2537,38275=>2538,38498=>2539,38499=>2540,38497=>2541,38491=>2542,38493=>2543,38500=>2544,38488=>2545,38494=>2546,38587=>2547,39138=>2548,39340=>2549,12218=>2549,39592=>2550,12219=>2550,39640=>2551,12220=>2551,12222=>2552,39717=>2552,39730=>2553,12224=>2553,39740=>2554,12225=>2554,20094=>2555,20602=>2556,20605=>2557,57382=>2557,20572=>2558,20551=>2559,20547=>2560,20556=>2561,20570=>2562,20553=>2563,20581=>2564,20598=>2565,20558=>2566,20565=>2567,20597=>2568,20596=>2569,20599=>2570,20559=>2571,20495=>2572,20591=>2573,20589=>2574,20828=>2575,20885=>2576,20976=>2577,21098=>2578,21103=>2579,21202=>2580,21209=>2581,21208=>2582,21205=>2583,21264=>2584,21263=>2585,21273=>2586,21311=>2587,21312=>2588,21310=>2589,21443=>2590,26364=>2591,21830=>2592,21866=>2593,21862=>2594,21828=>2595,21854=>2596,21857=>2597,21827=>2598,21834=>2599,21809=>2600,21846=>2601,21839=>2602,21845=>2603,21807=>2604,21860=>2605,21816=>2606,21806=>2607,21852=>2608,21804=>2609,21859=>2610,21811=>2611,21825=>2612,21847=>2613,22280=>2614,22283=>2615,22281=>2616,22495=>2617,22533=>2618,22538=>2619,22534=>2620,22496=>2621,22500=>2622,22522=>2623,22530=>2624,22581=>2625,22519=>2626,22521=>2627,22816=>2628,22882=>2629,23094=>2630,23105=>2631,23113=>2632,23142=>2633,23146=>2634,23104=>2635,23100=>2636,23138=>2637,23130=>2638,23110=>2639,23114=>2640,23408=>2641,23495=>2642,23493=>2643,23492=>2644,23490=>2645,23487=>2646,23494=>2647,23561=>2648,23560=>2649,23559=>2650,23648=>2651,23644=>2652,23645=>2653,23815=>2654,23814=>2655,23822=>2656,23835=>2657,23830=>2658,23842=>2659,23825=>2660,23849=>2661,23828=>2662,23833=>2663,23844=>2664,23847=>2665,23831=>2666,24034=>2667,24120=>2668,24118=>2669,24115=>2670,24119=>2671,24247=>2672,24248=>2673,24246=>2674,24245=>2675,24254=>2676,24373=>2677,24375=>2678,24407=>2679,24428=>2680,24425=>2681,24427=>2682,24471=>2683,24473=>2684,24478=>2685,24472=>2686,24481=>2687,24480=>2688,24476=>2689,24703=>2690,24739=>2691,24713=>2692,24736=>2693,24744=>2694,24779=>2695,24756=>2696,24806=>2697,24765=>2698,24773=>2699,24763=>2700,24757=>2701,24796=>2702,24764=>2703,24792=>2704,24789=>2705,24774=>2706,24799=>2707,24760=>2708,24794=>2709,24775=>2710,25114=>2711,25115=>2712,25160=>2713,25504=>2714,25511=>2715,25458=>2716,25494=>2717,25506=>2718,25509=>2719,25463=>2720,25447=>2721,25496=>2722,25514=>2723,25457=>2724,25513=>2725,25481=>2726,25475=>2727,25499=>2728,25451=>2729,25512=>2730,25476=>2731,25480=>2732,25497=>2733,25505=>2734,25516=>2735,25490=>2736,25487=>2737,25472=>2738,25467=>2739,25449=>2740,25448=>2741,25466=>2742,25949=>2743,25942=>2744,25937=>2745,25945=>2746,25943=>2747,21855=>2748,25935=>2749,25944=>2750,25941=>2751,25940=>2752,26012=>2753,26011=>2754,26028=>2755,26063=>2756,26059=>2757,26060=>2758,26062=>2759,26205=>2760,26202=>2761,26212=>2762,26216=>2763,26214=>2764,26206=>2765,26361=>2766,21207=>2767,26395=>2768,26753=>2769,26799=>2770,26786=>2771,26771=>2772,26805=>2773,26751=>2774,26742=>2775,26801=>2776,26791=>2777,26775=>2778,26800=>2779,26755=>2780,26820=>2781,26797=>2782,26758=>2783,26757=>2784,26772=>2785,26781=>2786,26792=>2787,26783=>2788,26785=>2789,26754=>2790,27442=>2791,27578=>2792,27627=>2793,27628=>2794,27691=>2795,28046=>2796,28092=>2797,28147=>2798,28121=>2799,28082=>2800,28129=>2801,28108=>2802,28132=>2803,28155=>2804,28154=>2805,28165=>2806,28103=>2807,28107=>2808,28079=>2809,28113=>2810,28078=>2811,28126=>2812,28153=>2813,28088=>2814,28151=>2815,28149=>2816,28101=>2817,28114=>2818,28186=>2819,28085=>2820,28122=>2821,28139=>2822,28120=>2823,28138=>2824,28145=>2825,28142=>2826,28136=>2827,28102=>2828,28100=>2829,28074=>2830,28140=>2831,28095=>2832,28134=>2833,28921=>2834,28937=>2835,28938=>2836,28925=>2837,28911=>2838,29245=>2839,29309=>2840,29313=>2841,29468=>2842,29467=>2843,29462=>2844,29459=>2845,29465=>2846,29575=>2847,29701=>2848,29706=>2849,29699=>2850,29702=>2851,29694=>2852,29709=>2853,29920=>2854,29942=>2855,29943=>2856,29980=>2857,29986=>2858,30053=>2859,30054=>2860,30050=>2861,30064=>2862,30095=>2863,30164=>2864,30165=>2865,30133=>2866,30154=>2867,30157=>2868,30350=>2869,30420=>2870,30418=>2871,30427=>2872,30519=>2873,30526=>2874,30524=>2875,30518=>2876,30520=>2877,30522=>2878,30827=>2879,30787=>2880,30798=>2881,31077=>2882,31080=>2883,31085=>2884,31227=>2885,31378=>2886,31381=>2887,31520=>2888,31528=>2889,31515=>2890,31532=>2891,31526=>2892,31513=>2893,31518=>2894,31534=>2895,31890=>2896,31895=>2897,31893=>2898,32070=>2899,32067=>2900,32113=>2901,32046=>2902,32057=>2903,32060=>2904,32064=>2905,32048=>2906,32051=>2907,32068=>2908,32047=>2909,32066=>2910,32050=>2911,32049=>2912,32573=>2913,32670=>2914,32666=>2915,32716=>2916,32718=>2917,32722=>2918,32796=>2919,32842=>2920,32838=>2921,33071=>2922,33046=>2923,33059=>2924,33067=>2925,33065=>2926,33072=>2927,33060=>2928,33282=>2929,33333=>2930,33335=>2931,33334=>2932,33337=>2933,33678=>2934,33694=>2935,33688=>2936,33656=>2937,33698=>2938,33686=>2939,33725=>2940,33707=>2941,33682=>2942,33674=>2943,33683=>2944,33673=>2945,33696=>2946,33655=>2947,33659=>2948,33660=>2949,33670=>2950,33703=>2951,34389=>2952,24426=>2953,34503=>2954,34496=>2955,34486=>2956,34500=>2957,34485=>2958,34502=>2959,34507=>2960,34481=>2961,34479=>2962,34505=>2963,34899=>2964,34974=>2965,34952=>2966,34987=>2967,34962=>2968,34966=>2969,34957=>2970,34955=>2971,35219=>2972,35215=>2973,35370=>2974,35357=>2975,35363=>2976,35365=>2977,35377=>2978,35373=>2979,35359=>2980,35355=>2981,35362=>2982,35913=>2983,35930=>2984,36009=>2985,36012=>2986,36011=>2987,36008=>2988,36010=>2989,36007=>2990,36199=>2991,36198=>2992,36286=>2993,36282=>2994,36571=>2995,36575=>2996,36889=>2997,36877=>2998,36890=>2999,36887=>3000,36899=>3001,36895=>3002,36893=>3003,36880=>3004,36885=>3005,36894=>3006,36896=>3007,36879=>3008,36898=>3009,36886=>3010,36891=>3011,36884=>3012,37096=>3013,37101=>3014,37117=>3015,58488=>3015,37207=>3016,37326=>3017,37365=>3018,37350=>3019,37347=>3020,37351=>3021,37357=>3022,37353=>3023,38281=>3024,38506=>3025,38517=>3026,38515=>3027,38520=>3028,38512=>3029,38516=>3030,38518=>3031,38519=>3032,38508=>3033,38592=>3034,38634=>3035,38633=>3036,31456=>3037,31455=>3038,38914=>3039,38915=>3040,39770=>3041,12226=>3041,40165=>3042,12227=>3042,40565=>3043,12228=>3043,40575=>3044,12229=>3044,40613=>3045,12230=>3045,40635=>3046,12231=>3046,20642=>3047,20621=>3048,20613=>3049,20633=>3050,20625=>3051,20608=>3052,20630=>3053,20632=>3054,20634=>3055,26368=>3056,20977=>3057,21106=>3058,21108=>3059,21109=>3060,21097=>3061,21214=>3062,21213=>3063,21211=>3064,21338=>3065,21413=>3066,21883=>3067,21888=>3068,21927=>3069,21884=>3070,21898=>3071,21917=>3072,21912=>3073,21890=>3074,21916=>3075,21930=>3076,21908=>3077,21895=>3078,21899=>3079,21891=>3080,21939=>3081,21934=>3082,21919=>3083,21822=>3084,21938=>3085,21914=>3086,21947=>3087,21932=>3088,21937=>3089,21886=>3090,21897=>3091,21931=>3092,21913=>3093,22285=>3094,22575=>3095,22570=>3096,22580=>3097,22564=>3098,22576=>3099,22577=>3100,22561=>3101,22557=>3102,22560=>3103,22777=>3104,22778=>3105,22880=>3106,23159=>3107,57587=>3107,23194=>3108,23167=>3109,23186=>3110,23195=>3111,23207=>3112,23411=>3113,23409=>3114,23506=>3115,23500=>3116,23507=>3117,23504=>3118,23562=>3119,23563=>3120,23601=>3121,23884=>3122,23888=>3123,23860=>3124,23879=>3125,24061=>3126,24133=>3127,24125=>3128,24128=>3129,24131=>3130,24190=>3131,24266=>3132,24257=>3133,24258=>3134,24260=>3135,24380=>3136,24429=>3137,24489=>3138,24490=>3139,24488=>3140,24785=>3141,24801=>3142,24754=>3143,24758=>3144,24800=>3145,24860=>3146,24867=>3147,24826=>3148,24853=>3149,24816=>3150,24827=>3151,24820=>3152,24936=>3153,24817=>3154,24846=>3155,24822=>3156,24841=>3157,24832=>3158,24850=>3159,25119=>3160,25161=>3161,25507=>3162,25484=>3163,25551=>3164,25536=>3165,25577=>3166,25545=>3167,25542=>3168,25549=>3169,25554=>3170,25571=>3171,25552=>3172,25569=>3173,25558=>3174,25581=>3175,25582=>3176,25462=>3177,25588=>3178,25578=>3179,25563=>3180,25682=>3181,25562=>3182,25593=>3183,25950=>3184,25958=>3185,25954=>3186,25955=>3187,26001=>3188,26000=>3189,26031=>3190,26222=>3191,26224=>3192,26228=>3193,57786=>3193,26230=>3194,26223=>3195,26257=>3196,26234=>3197,26238=>3198,26231=>3199,26366=>3200,26367=>3201,26399=>3202,26397=>3203,26874=>3204,26837=>3205,26848=>3206,26840=>3207,26839=>3208,26885=>3209,26847=>3210,26869=>3211,26862=>3212,26855=>3213,26873=>3214,26834=>3215,26866=>3216,26851=>3217,26827=>3218,26829=>3219,26893=>3220,26898=>3221,26894=>3222,26825=>3223,26842=>3224,26990=>3225,26875=>3226,27454=>3227,27450=>3228,27453=>3229,27544=>3230,27542=>3231,27580=>3232,27631=>3233,27694=>3234,27695=>3235,27692=>3236,28207=>3237,57904=>3237,28216=>3238,28244=>3239,28193=>3240,28210=>3241,28263=>3242,28234=>3243,28192=>3244,28197=>3245,28195=>3246,28187=>3247,28251=>3248,28248=>3249,28196=>3250,28246=>3251,28270=>3252,28205=>3253,28198=>3254,28271=>3255,28212=>3256,28237=>3257,28218=>3258,28204=>3259,28227=>3260,28189=>3261,57901=>3261,28222=>3262,28363=>3263,28297=>3264,28185=>3265,28238=>3266,28259=>3267,28228=>3268,28274=>3269,28265=>3270,28255=>3271,28953=>3272,28954=>3273,28966=>3274,28976=>3275,28961=>3276,28982=>3277,29038=>3278,57958=>3278,28956=>3279,29260=>3280,29316=>3281,29312=>3282,29494=>3283,29477=>3284,29492=>3285,29481=>3286,29754=>3287,29738=>3288,29747=>3289,29730=>3290,29733=>3291,29749=>3292,29750=>3293,29748=>3294,29743=>3295,29723=>3296,29734=>3297,29736=>3298,29989=>3299,29990=>3300,30059=>3301,30058=>3302,30178=>3303,30171=>3304,30179=>3305,30169=>3306,30168=>3307,30174=>3308,30176=>3309,30331=>3310,30332=>3311,30358=>3312,30355=>3313,30388=>3314,30428=>3315,30543=>3316,30701=>3317,30813=>3318,30828=>3319,30831=>3320,31245=>3321,31240=>3322,31243=>3323,31237=>3324,31232=>3325,31384=>3326,31383=>3327,31382=>3328,31461=>3329,31459=>3330,31561=>3331,31574=>3332,31558=>3333,31568=>3334,31570=>3335,31572=>3336,31565=>3337,31563=>3338,31567=>3339,31569=>3340,60510=>3340,31903=>3341,31909=>3342,32094=>3343,32080=>3344,32104=>3345,32085=>3346,32043=>3347,32110=>3348,32114=>3349,32097=>3350,32102=>3351,32098=>3352,32112=>3353,32115=>3354,21892=>3355,32724=>3356,32725=>3357,32779=>3358,32850=>3359,32901=>3360,33109=>3361,33108=>3362,33099=>3363,33105=>3364,33102=>3365,33081=>3366,33094=>3367,33086=>3368,33100=>3369,33107=>3370,33140=>3371,33298=>3372,33308=>3373,33769=>3374,33795=>3375,33784=>3376,33805=>3377,33760=>3378,33733=>3379,33803=>3380,33729=>3381,58309=>3381,33775=>3382,33777=>3383,33780=>3384,33879=>3385,33802=>3386,33776=>3387,33804=>3388,33740=>3389,33789=>3390,33778=>3391,33738=>3392,33848=>3393,33806=>3394,33796=>3395,33756=>3396,33799=>3397,33748=>3398,33759=>3399,34395=>3400,34527=>3401,34521=>3402,34541=>3403,34516=>3404,34523=>3405,34532=>3406,34512=>3407,34526=>3408,34903=>3409,35009=>3410,35010=>3411,34993=>3412,35203=>3413,35222=>3414,35387=>3415,35424=>3416,35413=>3417,35422=>3418,35388=>3419,35393=>3420,35412=>3421,35419=>3422,35408=>3423,35398=>3424,35380=>3425,35386=>3426,35382=>3427,35414=>3428,35937=>3429,35970=>3430,36015=>3431,36028=>3432,36019=>3433,36029=>3434,36033=>3435,36027=>3436,36032=>3437,36020=>3438,36023=>3439,36022=>3440,36031=>3441,36024=>3442,36234=>3443,36229=>3444,36225=>3445,36302=>3446,36317=>3447,36299=>3448,36314=>3449,36305=>3450,36300=>3451,36315=>3452,36294=>3453,36603=>3454,36600=>3455,36604=>3456,36764=>3457,36910=>3458,36917=>3459,36913=>3460,36920=>3461,36914=>3462,36918=>3463,37122=>3464,37109=>3465,37129=>3466,37118=>3467,37219=>3468,37221=>3469,37327=>3470,37396=>3471,37397=>3472,37411=>3473,37385=>3474,37406=>3475,37389=>3476,37392=>3477,37383=>3478,37393=>3479,38292=>3480,38287=>3481,38283=>3482,38289=>3483,38291=>3484,38290=>3485,38286=>3486,38538=>3487,38542=>3488,38539=>3489,38525=>3490,38533=>3491,38534=>3492,38541=>3493,38514=>3494,38532=>3495,38593=>3496,38597=>3497,38596=>3498,38598=>3499,38599=>3500,38639=>3501,38642=>3502,38860=>3503,38917=>3504,38918=>3505,38920=>3506,39143=>3507,39146=>3508,39151=>3509,39145=>3510,39154=>3511,39149=>3512,39342=>3513,39341=>3514,40643=>3515,12232=>3515,40653=>3516,12233=>3516,40657=>3517,12234=>3517,20098=>3518,20653=>3519,20661=>3520,20658=>3521,20659=>3522,20677=>3523,20670=>3524,20652=>3525,20663=>3526,20667=>3527,20655=>3528,20679=>3529,21119=>3530,21111=>3531,21117=>3532,21215=>3533,21222=>3534,21220=>3535,21218=>3536,21219=>3537,21295=>3538,21983=>3539,21992=>3540,21971=>3541,21990=>3542,21966=>3543,21980=>3544,21959=>3545,21969=>3546,21987=>3547,21988=>3548,21999=>3549,21978=>3550,21985=>3551,21957=>3552,21958=>3553,21989=>3554,21961=>3555,22290=>3556,22291=>3557,22622=>3558,22609=>3559,22616=>3560,22615=>3561,22618=>3562,22612=>3563,22635=>3564,22604=>3565,22637=>3566,22602=>3567,22626=>3568,22610=>3569,22603=>3570,22887=>3571,23233=>3572,23241=>3573,23244=>3574,23230=>3575,23229=>3576,23228=>3577,23219=>3578,23234=>3579,23218=>3580,23913=>3581,23919=>3582,24140=>3583,24185=>3584,24265=>3585,24264=>3586,24338=>3587,24409=>3588,24492=>3589,24494=>3590,24858=>3591,24847=>3592,24904=>3593,24863=>3594,24819=>3595,24859=>3596,24825=>3597,24833=>3598,24840=>3599,24910=>3600,24908=>3601,24900=>3602,24909=>3603,24894=>3604,24884=>3605,24871=>3606,24845=>3607,24838=>3608,24887=>3609,25121=>3610,25122=>3611,25619=>3612,25662=>3613,25630=>3614,25642=>3615,25645=>3616,25661=>3617,25644=>3618,25615=>3619,25628=>3620,25620=>3621,25613=>3622,25654=>3623,25622=>3624,25623=>3625,25606=>3626,25964=>3627,26015=>3628,26032=>3629,26263=>3630,26249=>3631,26247=>3632,26248=>3633,26262=>3634,26244=>3635,26264=>3636,26253=>3637,26371=>3638,27028=>3639,26989=>3640,26970=>3641,26999=>3642,26976=>3643,26964=>3644,26997=>3645,26928=>3646,27010=>3647,26954=>3648,26984=>3649,26987=>3650,26974=>3651,26963=>3652,27001=>3653,27014=>3654,26973=>3655,26979=>3656,26971=>3657,27463=>3658,27506=>3659,27584=>3660,27583=>3661,27603=>3662,27645=>3663,28322=>3664,28335=>3665,28371=>3666,28342=>3667,28354=>3668,28304=>3669,28317=>3670,28359=>3671,28357=>3672,28325=>3673,28312=>3674,28348=>3675,28346=>3676,28331=>3677,28369=>3678,28310=>3679,28316=>3680,28356=>3681,28372=>3682,28330=>3683,28327=>3684,28340=>3685,29006=>3686,29017=>3687,29033=>3688,29028=>3689,29001=>3690,29031=>3691,29020=>3692,29036=>3693,29030=>3694,29004=>3695,29029=>3696,29022=>3697,28998=>3698,29032=>3699,29014=>3700,29242=>3701,29266=>3702,29495=>3703,29509=>3704,29503=>3705,29502=>3706,29807=>3707,29786=>3708,29781=>3709,29791=>3710,29790=>3711,29761=>3712,29759=>3713,29785=>3714,29787=>3715,58019=>3716,29788=>3716,30070=>3717,30072=>3718,30208=>3719,30192=>3720,30209=>3721,30194=>3722,30193=>3723,30202=>3724,30207=>3725,30196=>3726,30195=>3727,30430=>3728,30431=>3729,30555=>3730,30571=>3731,30566=>3732,30558=>3733,30563=>3734,30585=>3735,30570=>3736,30572=>3737,30556=>3738,30565=>3739,30568=>3740,30562=>3741,30702=>3742,30862=>3743,30896=>3744,30871=>3745,30872=>3746,30860=>3747,30857=>3748,30844=>3749,30865=>3750,30867=>3751,30847=>3752,31098=>3753,31103=>3754,31105=>3755,33836=>3756,31165=>3757,31260=>3758,31258=>3759,31264=>3760,31252=>3761,31263=>3762,31262=>3763,31391=>3764,31392=>3765,31607=>3766,31680=>3767,31584=>3768,31598=>3769,31591=>3770,31921=>3771,31923=>3772,31925=>3773,32147=>3774,32121=>3775,32145=>3776,32129=>3777,32143=>3778,32091=>3779,32622=>3780,32617=>3781,32618=>3782,32626=>3783,32681=>3784,32680=>3785,32676=>3786,32854=>3787,32856=>3788,32902=>3789,32900=>3790,33137=>3791,33136=>3792,33144=>3793,33125=>3794,33134=>3795,33139=>3796,33131=>3797,33145=>3798,33146=>3799,33126=>3800,33285=>3801,33351=>3802,33922=>3803,33911=>3804,33853=>3805,33841=>3806,33909=>3807,33894=>3808,33899=>3809,33865=>3810,33900=>3811,33883=>3812,33852=>3813,33845=>3814,33889=>3815,33891=>3816,33897=>3817,33901=>3818,33862=>3819,34398=>3820,34396=>3821,34399=>3822,34553=>3823,34579=>3824,34568=>3825,34567=>3826,34560=>3827,34558=>3828,34555=>3829,34562=>3830,34563=>3831,34566=>3832,34570=>3833,34905=>3834,35039=>3835,35028=>3836,35033=>3837,35036=>3838,35032=>3839,35037=>3840,35041=>3841,35018=>3842,35029=>3843,35026=>3844,35228=>3845,35299=>3846,35435=>3847,35442=>3848,35443=>3849,35430=>3850,35433=>3851,35440=>3852,35463=>3853,35452=>3854,35427=>3855,35488=>3856,35441=>3857,35461=>3858,35437=>3859,35426=>3860,35438=>3861,35436=>3862,35449=>3863,35451=>3864,35390=>3865,35432=>3866,35938=>3867,35978=>3868,35977=>3869,36042=>3870,36039=>3871,36040=>3872,36036=>3873,36018=>3874,36035=>3875,36034=>3876,36037=>3877,36321=>3878,36319=>3879,36328=>3880,36335=>3881,36339=>3882,36346=>3883,36330=>3884,36324=>3885,36326=>3886,36530=>3887,36611=>3888,36617=>3889,36606=>3890,36618=>3891,36767=>3892,36786=>3893,36939=>3894,36938=>3895,36947=>3896,36930=>3897,36948=>3898,36924=>3899,36949=>3900,36944=>3901,36935=>3902,36943=>3903,36942=>3904,36941=>3905,36945=>3906,36926=>3907,36929=>3908,37138=>3909,37143=>3910,37228=>3911,37226=>3912,37225=>3913,37321=>3914,37431=>3915,37463=>3916,37432=>3917,37437=>3918,37440=>3919,37438=>3920,37467=>3921,37451=>3922,37476=>3923,37457=>3924,37428=>3925,37449=>3926,37453=>3927,37445=>3928,37433=>3929,37439=>3930,37466=>3931,38296=>3932,38552=>3933,38548=>3934,38549=>3935,38605=>3936,38603=>3937,38601=>3938,38602=>3939,38647=>3940,38651=>3941,38649=>3942,38646=>3943,38742=>3944,38772=>3945,38774=>3946,38928=>3947,38929=>3948,38931=>3949,38922=>3950,38930=>3951,38924=>3952,39164=>3953,39156=>3954,39165=>3955,39166=>3956,39347=>3957,39345=>3958,39348=>3959,39649=>3960,40169=>3961,40578=>3962,40718=>3963,12237=>3963,40723=>3964,12238=>3964,40736=>3965,12239=>3965,20711=>3966,20718=>3967,20709=>3968,20694=>3969,20717=>3970,60903=>3970,20698=>3971,20693=>3972,20687=>3973,20689=>3974,20721=>3975,20686=>3976,20713=>3977,20834=>3978,20979=>3979,21123=>3980,21122=>3981,21297=>3982,21421=>3983,22014=>3984,22016=>3985,22043=>3986,22039=>3987,22013=>3988,22036=>3989,22022=>3990,22025=>3991,22029=>3992,22030=>3993,22007=>3994,22038=>3995,22047=>3996,22024=>3997,22032=>3998,22006=>3999,22296=>4000,22294=>4001,22645=>4002,22654=>4003,22659=>4004,22675=>4005,22666=>4006,22649=>4007,22661=>4008,22653=>4009,22781=>4010,22821=>4011,22818=>4012,22820=>4013,22890=>4014,22889=>4015,23265=>4016,23270=>4017,23273=>4018,23255=>4019,23254=>4020,23256=>4021,23267=>4022,23413=>4023,23518=>4024,23527=>4025,23521=>4026,23525=>4027,23526=>4028,23528=>4029,23522=>4030,23524=>4031,23519=>4032,23565=>4033,23650=>4034,23940=>4035,23943=>4036,24155=>4037,24163=>4038,24149=>4039,24151=>4040,24148=>4041,24275=>4042,24278=>4043,24330=>4044,24390=>4045,24432=>4046,24505=>4047,24903=>4048,24895=>4049,24907=>4050,24951=>4051,24930=>4052,24931=>4053,24927=>4054,24922=>4055,24920=>4056,24949=>4057,25130=>4058,25735=>4059,25688=>4060,25684=>4061,25764=>4062,25720=>4063,25695=>4064,25722=>4065,25681=>4066,25703=>4067,25652=>4068,25709=>4069,25723=>4070,25970=>4071,26017=>4072,26071=>4073,26070=>4074,26274=>4075,26280=>4076,26269=>4077,27036=>4078,27048=>4079,27029=>4080,27073=>4081,27054=>4082,27091=>4083,27083=>4084,27035=>4085,27063=>4086,27067=>4087,27051=>4088,27060=>4089,27088=>4090,27085=>4091,27053=>4092,27084=>4093,27046=>4094,27075=>4095,27043=>4096,27465=>4097,27468=>4098,27699=>4099,28467=>4100,28436=>4101,28414=>4102,28435=>4103,28404=>4104,28457=>4105,28478=>4106,28448=>4107,28460=>4108,28431=>4109,28418=>4110,28450=>4111,28415=>4112,28399=>4113,28422=>4114,28465=>4115,28472=>4116,28466=>4117,28451=>4118,28437=>4119,28459=>4120,28463=>4121,28552=>4122,28458=>4123,28396=>4124,28417=>4125,28402=>4126,28364=>4127,28407=>4128,29076=>4129,29081=>4130,29053=>4131,29066=>4132,29060=>4133,29074=>4134,29246=>4135,29330=>4136,29334=>4137,29508=>4138,29520=>4139,29796=>4140,29795=>4141,29802=>4142,29808=>4143,29805=>4144,29956=>4145,30097=>4146,30247=>4147,30221=>4148,30219=>4149,30217=>4150,30227=>4151,30433=>4152,30435=>4153,30596=>4154,30589=>4155,30591=>4156,30561=>4157,30913=>4158,30879=>4159,30887=>4160,30899=>4161,30889=>4162,30883=>4163,31118=>4164,31119=>4165,31117=>4166,31278=>4167,31281=>4168,31402=>4169,31401=>4170,31469=>4171,31471=>4172,31649=>4173,31637=>4174,31627=>4175,31605=>4176,31639=>4177,31645=>4178,31636=>4179,31631=>4180,31672=>4181,58170=>4181,31623=>4182,31620=>4183,31929=>4184,31933=>4185,31934=>4186,32187=>4187,32176=>4188,32156=>4189,32189=>4190,32190=>4191,32160=>4192,32202=>4193,32180=>4194,32178=>4195,32177=>4196,32186=>4197,32162=>4198,32191=>4199,32181=>4200,32184=>4201,32173=>4202,32210=>4203,58202=>4203,32199=>4204,32172=>4205,32624=>4206,32736=>4207,32737=>4208,32735=>4209,32862=>4210,32858=>4211,32903=>4212,33104=>4213,33152=>4214,33167=>4215,33160=>4216,33162=>4217,33151=>4218,33154=>4219,33255=>4220,33274=>4221,33287=>4222,33300=>4223,33310=>4224,33355=>4225,33993=>4226,33983=>4227,33990=>4228,33988=>4229,33945=>4230,33950=>4231,33970=>4232,33948=>4233,33995=>4234,33976=>4235,33984=>4236,34003=>4237,33936=>4238,33980=>4239,34001=>4240,33994=>4241,34623=>4242,34588=>4243,34619=>4244,34594=>4245,34597=>4246,34612=>4247,34584=>4248,34645=>4249,34615=>4250,34601=>4251,35059=>4252,35074=>4253,35060=>4254,35065=>4255,35064=>4256,35069=>4257,35048=>4258,35098=>4259,35055=>4260,35494=>4261,35468=>4262,35486=>4263,35491=>4264,35469=>4265,35489=>4266,35475=>4267,35492=>4268,35498=>4269,35493=>4270,35496=>4271,35480=>4272,35473=>4273,35482=>4274,35495=>4275,35946=>4276,35981=>4277,35980=>4278,36051=>4279,36049=>4280,36050=>4281,36203=>4282,36249=>4283,36245=>4284,36348=>4285,36628=>4286,36626=>4287,36629=>4288,36627=>4289,36771=>4290,36960=>4291,36952=>4292,36956=>4293,36963=>4294,36953=>4295,36958=>4296,36962=>4297,36957=>4298,36955=>4299,37145=>4300,37144=>4301,37150=>4302,37237=>4303,37240=>4304,37239=>4305,37236=>4306,37496=>4307,37548=>4308,37504=>4309,37509=>4310,37528=>4311,37526=>4312,37499=>4313,37523=>4314,37532=>4315,37544=>4316,37500=>4317,37521=>4318,38305=>4319,38312=>4320,38313=>4321,38307=>4322,38309=>4323,38308=>4324,38553=>4325,38556=>4326,38555=>4327,38604=>4328,38610=>4329,38656=>4330,38780=>4331,38789=>4332,38902=>4333,38935=>4334,38936=>4335,39087=>4336,39089=>4337,39171=>4338,39173=>4339,39180=>4340,39177=>4341,39361=>4342,39599=>4343,39600=>4344,39654=>4345,39745=>4346,39746=>4347,40180=>4348,40182=>4349,40179=>4350,40636=>4351,40763=>4352,12240=>4352,40778=>4353,12241=>4353,20740=>4354,20736=>4355,20731=>4356,20725=>4357,20729=>4358,20738=>4359,20744=>4360,20745=>4361,20741=>4362,20956=>4363,21127=>4364,21128=>4365,21129=>4366,21133=>4367,21130=>4368,21232=>4369,21426=>4370,22062=>4371,22075=>4372,22073=>4373,22066=>4374,22079=>4375,22068=>4376,22057=>4377,22099=>4378,22094=>4379,22103=>4380,22132=>4381,22070=>4382,22063=>4383,22064=>4384,22656=>4385,22687=>4386,22686=>4387,22707=>4388,22684=>4389,22702=>4390,22697=>4391,22694=>4392,22893=>4393,23305=>4394,23291=>4395,23307=>4396,23285=>4397,23308=>4398,23304=>4399,23534=>4400,23532=>4401,23529=>4402,23531=>4403,23652=>4404,23653=>4405,23965=>4406,23956=>4407,24162=>4408,24159=>4409,24161=>4410,24290=>4411,24282=>4412,24287=>4413,24285=>4414,24291=>4415,24288=>4416,24392=>4417,24433=>4418,24503=>4419,24501=>4420,24950=>4421,24935=>4422,24942=>4423,24925=>4424,24917=>4425,24962=>4426,24956=>4427,24944=>4428,24939=>4429,24958=>4430,24999=>4431,24976=>4432,25003=>4433,24974=>4434,25004=>4435,24986=>4436,24996=>4437,24980=>4438,25006=>4439,25134=>4440,25705=>4441,25711=>4442,25721=>4443,25758=>4444,25778=>4445,25736=>4446,25744=>4447,57745=>4447,25776=>4448,25765=>4449,25747=>4450,25749=>4451,25769=>4452,25746=>4453,25774=>4454,25773=>4455,25771=>4456,25754=>4457,25772=>4458,25753=>4459,25762=>4460,25779=>4461,25973=>4462,25975=>4463,25976=>4464,26286=>4465,26283=>4466,26292=>4467,26289=>4468,27171=>4469,27167=>4470,27112=>4471,27137=>4472,27166=>4473,27161=>4474,27133=>4475,27169=>4476,27155=>4477,27146=>4478,27123=>4479,27138=>4480,27141=>4481,27117=>4482,27153=>4483,27472=>4484,27470=>4485,27556=>4486,27589=>4487,27590=>4488,28479=>4489,28540=>4490,28548=>4491,28497=>4492,28518=>4493,28500=>4494,28550=>4495,28525=>4496,28507=>4497,28536=>4498,28526=>4499,28558=>4500,28538=>4501,28528=>4502,28516=>4503,28567=>4504,28504=>4505,28373=>4506,28527=>4507,28512=>4508,28511=>4509,29087=>4510,29100=>4511,29105=>4512,29096=>4513,29270=>4514,29339=>4515,29518=>4516,29527=>4517,29801=>4518,29835=>4519,29827=>4520,29822=>4521,29824=>4522,30079=>4523,30240=>4524,30249=>4525,30239=>4526,30244=>4527,30246=>4528,30241=>4529,30242=>4530,30362=>4531,30394=>4532,30436=>4533,30606=>4534,30599=>4535,30604=>4536,30609=>4537,30603=>4538,30923=>4539,30917=>4540,30906=>4541,30922=>4542,30910=>4543,30933=>4544,30908=>4545,30928=>4546,31295=>4547,31292=>4548,31296=>4549,31293=>4550,31287=>4551,31291=>4552,31407=>4553,31406=>4554,31661=>4555,31665=>4556,31684=>4557,31668=>4558,31686=>4559,31687=>4560,31681=>4561,31648=>4562,31692=>4563,31946=>4564,32224=>4565,32244=>4566,32239=>4567,32251=>4568,32216=>4569,32236=>4570,32221=>4571,32232=>4572,32227=>4573,32218=>4574,32222=>4575,32233=>4576,32158=>4577,32217=>4578,32242=>4579,32249=>4580,32629=>4581,32631=>4582,32687=>4583,32745=>4584,32806=>4585,33179=>4586,33180=>4587,33181=>4588,33184=>4589,33178=>4590,33176=>4591,34071=>4592,34109=>4593,34074=>4594,34030=>4595,34092=>4596,34093=>4597,34067=>4598,34065=>4599,34083=>4600,34081=>4601,34068=>4602,34028=>4603,34085=>4604,34047=>4605,34054=>4606,34690=>4607,34676=>4608,34678=>4609,34656=>4610,34662=>4611,34680=>4612,34664=>4613,34649=>4614,34647=>4615,34636=>4616,34643=>4617,34907=>4618,34909=>4619,35088=>4620,35079=>4621,35090=>4622,35091=>4623,35093=>4624,35082=>4625,35516=>4626,35538=>4627,35527=>4628,35524=>4629,35477=>4630,35531=>4631,35576=>4632,35506=>4633,35529=>4634,35522=>4635,35519=>4636,35504=>4637,35542=>4638,35533=>4639,35510=>4640,35513=>4641,35547=>4642,35916=>4643,35918=>4644,35948=>4645,36064=>4646,36062=>4647,36070=>4648,36068=>4649,36076=>4650,36077=>4651,36066=>4652,36067=>4653,36060=>4654,36074=>4655,36065=>4656,36205=>4657,36255=>4658,36259=>4659,36395=>4660,36368=>4661,36381=>4662,36386=>4663,36367=>4664,36393=>4665,36383=>4666,36385=>4667,36382=>4668,36538=>4669,36637=>4670,36635=>4671,36639=>4672,36649=>4673,36646=>4674,36650=>4675,36636=>4676,36638=>4677,36645=>4678,36969=>4679,36974=>4680,36968=>4681,36973=>4682,36983=>4683,37168=>4684,37165=>4685,37159=>4686,37169=>4687,37255=>4688,37257=>4689,37259=>4690,37251=>4691,37573=>4692,37563=>4693,37559=>4694,37610=>4695,37604=>4696,37569=>4697,37555=>4698,37564=>4699,37586=>4700,37575=>4701,37616=>4702,37554=>4703,38317=>4704,38321=>4705,38660=>4706,38662=>4707,38663=>4708,38665=>4709,38752=>4710,38797=>4711,38795=>4712,38799=>4713,38945=>4714,38955=>4715,38940=>4716,39091=>4717,39178=>4718,39187=>4719,39186=>4720,39192=>4721,39389=>4722,39376=>4723,39391=>4724,39387=>4725,39377=>4726,39381=>4727,39378=>4728,39385=>4729,39607=>4730,39662=>4731,39663=>4732,39719=>4733,39749=>4734,39748=>4735,39799=>4736,39791=>4737,40198=>4738,40201=>4739,40195=>4740,40617=>4741,40638=>4742,40654=>4743,22696=>4744,12242=>4745,40786=>4745,20754=>4746,20760=>4747,20756=>4748,20752=>4749,20757=>4750,20864=>4751,20906=>4752,20957=>4753,21137=>4754,21139=>4755,21235=>4756,22105=>4757,22123=>4758,22137=>4759,22121=>4760,22116=>4761,22136=>4762,22122=>4763,22120=>4764,22117=>4765,22129=>4766,22127=>4767,22124=>4768,22114=>4769,22134=>4770,22721=>4771,22718=>4772,22727=>4773,22725=>4774,22894=>4775,23325=>4776,23348=>4777,23416=>4778,23536=>4779,23566=>4780,24394=>4781,25010=>4782,24977=>4783,25001=>4784,24970=>4785,25037=>4786,25014=>4787,25022=>4788,25034=>4789,25032=>4790,25136=>4791,25797=>4792,25793=>4793,25803=>4794,25787=>4795,25788=>4796,25818=>4797,25796=>4798,25799=>4799,25794=>4800,25805=>4801,25791=>4802,25810=>4803,25812=>4804,25790=>4805,25972=>4806,26310=>4807,26313=>4808,26297=>4809,26308=>4810,26311=>4811,26296=>4812,27197=>4813,27192=>4814,27194=>4815,27225=>4816,27243=>4817,27224=>4818,27193=>4819,27204=>4820,27234=>4821,27233=>4822,27211=>4823,27207=>4824,27189=>4825,27231=>4826,27208=>4827,27481=>4828,27511=>4829,27653=>4830,28610=>4831,28593=>4832,28577=>4833,28611=>4834,28580=>4835,28609=>4836,28583=>4837,28595=>4838,28608=>4839,28601=>4840,28598=>4841,60318=>4841,28582=>4842,28576=>4843,28596=>4844,29118=>4845,29129=>4846,29136=>4847,29138=>4848,29128=>4849,29141=>4850,29113=>4851,29134=>4852,29145=>4853,29148=>4854,29123=>4855,29124=>4856,29544=>4857,29852=>4858,29859=>4859,29848=>4860,29855=>4861,29854=>4862,29922=>4863,29964=>4864,29965=>4865,30260=>4866,30264=>4867,30266=>4868,30439=>4869,30437=>4870,30624=>4871,30622=>4872,30623=>4873,30629=>4874,30952=>4875,30938=>4876,30956=>4877,30951=>4878,31142=>4879,31309=>4880,31310=>4881,31302=>4882,31308=>4883,31307=>4884,31418=>4885,31705=>4886,31761=>4887,31689=>4888,31716=>4889,31707=>4890,31713=>4891,31721=>4892,31718=>4893,31957=>4894,31958=>4895,32266=>4896,32273=>4897,32264=>4898,32283=>4899,32291=>4900,32286=>4901,32285=>4902,58211=>4902,32265=>4903,32272=>4904,32633=>4905,32690=>4906,32752=>4907,32753=>4908,32750=>4909,32808=>4910,58239=>4910,33203=>4911,33193=>4912,33192=>4913,33275=>4914,33288=>4915,33368=>4916,33369=>4917,34122=>4918,34137=>4919,34120=>4920,34152=>4921,34153=>4922,34115=>4923,34121=>4924,34157=>4925,34154=>4926,34142=>4927,34691=>4928,34719=>4929,34718=>4930,34722=>4931,34701=>4932,34913=>4933,35114=>4934,35122=>4935,35109=>4936,35115=>4937,35105=>4938,35242=>4939,35238=>4940,58391=>4940,35558=>4941,35578=>4942,35563=>4943,35569=>4944,35584=>4945,35548=>4946,35559=>4947,35566=>4948,35582=>4949,35585=>4950,35586=>4951,35575=>4952,35565=>4953,35571=>4954,35574=>4955,35580=>4956,35947=>4957,35949=>4958,35987=>4959,36084=>4960,36420=>4961,36401=>4962,36404=>4963,36418=>4964,36409=>4965,36405=>4966,36667=>4967,36655=>4968,36664=>4969,36659=>4970,36776=>4971,36774=>4972,36981=>4973,36980=>4974,36984=>4975,36978=>4976,36988=>4977,36986=>4978,37172=>4979,37266=>4980,37664=>4981,37686=>4982,37624=>4983,37683=>4984,37679=>4985,37666=>4986,37628=>4987,37675=>4988,37636=>4989,37658=>4990,37648=>4991,37670=>4992,37665=>4993,37653=>4994,37678=>4995,37657=>4996,38331=>4997,38567=>4998,38568=>4999,38570=>5000,38613=>5001,38670=>5002,38673=>5003,38678=>5004,38669=>5005,38675=>5006,38671=>5007,38747=>5008,58565=>5009,38748=>5009,38758=>5010,38808=>5011,38960=>5012,38968=>5013,38971=>5014,38967=>5015,38957=>5016,38969=>5017,38948=>5018,39184=>5019,39208=>5020,39198=>5021,39195=>5022,39201=>5023,39194=>5024,39405=>5025,39394=>5026,39409=>5027,39608=>5028,39612=>5029,39675=>5030,39661=>5031,39720=>5032,39825=>5033,40213=>5034,40227=>5035,40230=>5036,40232=>5037,40210=>5038,40219=>5039,40664=>5040,40660=>5041,40845=>5042,12243=>5042,40860=>5043,12244=>5043,20778=>5044,20767=>5045,20769=>5046,20786=>5047,21237=>5048,22158=>5049,22144=>5050,22160=>5051,22149=>5052,22151=>5053,22159=>5054,22741=>5055,22739=>5056,22737=>5057,22734=>5058,23344=>5059,23338=>5060,23332=>5061,23418=>5062,23607=>5063,23656=>5064,23996=>5065,23994=>5066,23997=>5067,23992=>5068,24171=>5069,24396=>5070,24509=>5071,25033=>5072,25026=>5073,25031=>5074,25062=>5075,25035=>5076,25138=>5077,25140=>5078,25806=>5079,25802=>5080,25816=>5081,25824=>5082,25840=>5083,25830=>5084,25836=>5085,25841=>5086,25826=>5087,25837=>5088,25986=>5089,25987=>5090,26329=>5091,26326=>5092,27264=>5093,27284=>5094,27268=>5095,27298=>5096,27292=>5097,27355=>5098,27299=>5099,27262=>5100,27287=>5101,27280=>5102,27296=>5103,27484=>5104,27566=>5105,27610=>5106,27656=>5107,28632=>5108,28657=>5109,28639=>5110,28640=>5111,28635=>5112,28644=>5113,28651=>5114,28655=>5115,28544=>5116,28652=>5117,28641=>5118,28649=>5119,28629=>5120,28654=>5121,28656=>5122,29159=>5123,29151=>5124,60361=>5124,29166=>5125,29158=>5126,29157=>5127,29165=>5128,29164=>5129,29172=>5130,29152=>5131,29237=>5132,29254=>5133,29552=>5134,29554=>5135,29865=>5136,29872=>5137,29862=>5138,29864=>5139,30278=>5140,30274=>5141,30284=>5142,30442=>5143,30643=>5144,30634=>5145,30640=>5146,30636=>5147,30631=>5148,30637=>5149,30703=>5150,30967=>5151,30970=>5152,30964=>5153,30959=>5154,30977=>5155,31143=>5156,31146=>5157,31319=>5158,31423=>5159,31751=>5160,31757=>5161,31742=>5162,31735=>5163,31756=>5164,31712=>5165,31968=>5166,31964=>5167,31966=>5168,31970=>5169,31967=>5170,31961=>5171,31965=>5172,32302=>5173,32318=>5174,32326=>5175,32311=>5176,32306=>5177,32323=>5178,32299=>5179,32317=>5180,32305=>5181,32325=>5182,32321=>5183,32308=>5184,32313=>5185,32328=>5186,32309=>5187,32319=>5188,32303=>5189,32580=>5190,32755=>5191,32764=>5192,32881=>5193,32882=>5194,32880=>5195,32879=>5196,32883=>5197,33222=>5198,33219=>5199,33210=>5200,33218=>5201,33216=>5202,33215=>5203,33213=>5204,33225=>5205,33214=>5206,33256=>5207,33289=>5208,33393=>5209,34218=>5210,34180=>5211,34174=>5212,34204=>5213,34193=>5214,34196=>5215,34223=>5216,34203=>5217,34183=>5218,34216=>5219,34186=>5220,34214=>5221,34407=>5222,34752=>5223,34769=>5224,34739=>5225,34770=>5226,34758=>5227,34731=>5228,34747=>5229,34746=>5230,34760=>5231,34763=>5232,35131=>5233,35126=>5234,35140=>5235,35128=>5236,35133=>5237,35244=>5238,35598=>5239,35607=>5240,35609=>5241,35611=>5242,35594=>5243,35616=>5244,35613=>5245,35588=>5246,35600=>5247,35905=>5248,35903=>5249,35955=>5250,36090=>5251,36093=>5252,36092=>5253,36088=>5254,36091=>5255,36264=>5256,36425=>5257,36427=>5258,36424=>5259,36426=>5260,36676=>5261,36670=>5262,36674=>5263,36677=>5264,36671=>5265,36991=>5266,36989=>5267,36996=>5268,36993=>5269,36994=>5270,36992=>5271,37177=>5272,37283=>5273,37278=>5274,37276=>5275,37709=>5276,37762=>5277,37672=>5278,37749=>5279,37706=>5280,37733=>5281,37707=>5282,37656=>5283,37758=>5284,37740=>5285,37723=>5286,37744=>5287,37722=>5288,37716=>5289,38346=>5290,38347=>5291,38348=>5292,38344=>5293,38342=>5294,38577=>5295,38584=>5296,38614=>5297,38684=>5298,38686=>5299,38816=>5300,38867=>5301,38982=>5302,39094=>5303,39221=>5304,39425=>5305,39423=>5306,39854=>5307,39851=>5308,39850=>5309,39853=>5310,40251=>5311,40255=>5312,40587=>5313,40655=>5314,40670=>5315,40668=>5316,40669=>5317,40667=>5318,40766=>5319,40779=>5320,21474=>5321,22165=>5322,22190=>5323,22745=>5324,22744=>5325,23352=>5326,24413=>5327,25059=>5328,25139=>5329,25844=>5330,25842=>5331,25854=>5332,25862=>5333,25850=>5334,25851=>5335,25847=>5336,26039=>5337,26332=>5338,26406=>5339,27315=>5340,27308=>5341,27331=>5342,27323=>5343,27320=>5344,27330=>5345,27310=>5346,27311=>5347,27487=>5348,27512=>5349,27567=>5350,28681=>5351,28683=>5352,28670=>5353,28678=>5354,28666=>5355,28689=>5356,28687=>5357,29179=>5358,29180=>5359,29182=>5360,29176=>5361,29559=>5362,29557=>5363,29863=>5364,29887=>5365,29973=>5366,30294=>5367,30296=>5368,30290=>5369,30653=>5370,30655=>5371,30651=>5372,30652=>5373,30990=>5374,31150=>5375,31329=>5376,31330=>5377,31328=>5378,31428=>5379,31429=>5380,31787=>5381,31783=>5382,31786=>5383,31774=>5384,31779=>5385,31777=>5386,31975=>5387,32340=>5388,32341=>5389,32350=>5390,32346=>5391,32353=>5392,32338=>5393,32345=>5394,32584=>5395,32761=>5396,32763=>5397,32887=>5398,32886=>5399,33229=>5400,33231=>5401,33290=>5402,34255=>5403,34217=>5404,34253=>5405,34256=>5406,34249=>5407,34224=>5408,34234=>5409,34233=>5410,34799=>5411,34796=>5412,34802=>5413,34784=>5414,35206=>5415,35250=>5416,35316=>5417,35624=>5418,35641=>5419,35628=>5420,35627=>5421,35920=>5422,36101=>5423,36441=>5424,36451=>5425,36454=>5426,36452=>5427,36447=>5428,36437=>5429,36544=>5430,36681=>5431,36685=>5432,36999=>5433,36995=>5434,37000=>5435,37291=>5436,37292=>5437,37328=>5438,37780=>5439,37770=>5440,37782=>5441,37794=>5442,37811=>5443,37806=>5444,37804=>5445,37808=>5446,37784=>5447,37786=>5448,37783=>5449,38356=>5450,38358=>5451,38352=>5452,38357=>5453,38626=>5454,38620=>5455,38617=>5456,38619=>5457,38622=>5458,38692=>5459,38819=>5460,38822=>5461,38829=>5462,38905=>5463,38989=>5464,38991=>5465,38988=>5466,38990=>5467,38995=>5468,39098=>5469,39230=>5470,39231=>5471,39229=>5472,39214=>5473,39333=>5474,39438=>5475,39617=>5476,39683=>5477,39686=>5478,39759=>5479,39758=>5480,39757=>5481,39882=>5482,39881=>5483,39933=>5484,39880=>5485,39872=>5486,40273=>5487,40285=>5488,40288=>5489,40672=>5490,40725=>5491,40748=>5492,20787=>5493,22181=>5494,22184=>5495,22750=>5496,22751=>5497,22754=>5498,23541=>5499,40848=>5500,24300=>5501,25074=>5502,25079=>5503,25078=>5504,25077=>5505,25856=>5506,25871=>5507,26336=>5508,26333=>5509,27365=>5510,27357=>5511,27354=>5512,27347=>5513,28699=>5514,28703=>5515,28712=>5516,28698=>5517,28701=>5518,28693=>5519,28696=>5520,29190=>5521,29197=>5522,29272=>5523,29346=>5524,29560=>5525,29562=>5526,29885=>5527,29898=>5528,29923=>5529,30087=>5530,30086=>5531,30303=>5532,30305=>5533,30663=>5534,31001=>5535,31153=>5536,31339=>5537,31337=>5538,31806=>5539,31807=>5540,31800=>5541,31805=>5542,31799=>5543,31808=>5544,32363=>5545,32365=>5546,32377=>5547,32361=>5548,32362=>5549,32371=>5550,32645=>5551,32694=>5552,32697=>5553,32696=>5554,33240=>5555,34281=>5556,34269=>5557,34282=>5558,34261=>5559,34276=>5560,34277=>5561,34295=>5562,34811=>5563,34821=>5564,34829=>5565,34809=>5566,34814=>5567,35168=>5568,35167=>5569,35158=>5570,35166=>5571,35649=>5572,35676=>5573,35672=>5574,35657=>5575,35674=>5576,35662=>5577,35663=>5578,35654=>5579,35673=>5580,36104=>5581,36106=>5582,36476=>5583,36466=>5584,36487=>5585,36470=>5586,36460=>5587,36474=>5588,36468=>5589,36692=>5590,36686=>5591,36781=>5592,37002=>5593,37003=>5594,37297=>5595,37294=>5596,37857=>5597,37841=>5598,37855=>5599,37827=>5600,37832=>5601,37852=>5602,37853=>5603,37846=>5604,37858=>5605,37837=>5606,37848=>5607,37860=>5608,37847=>5609,37864=>5610,38364=>5611,38580=>5612,38627=>5613,38698=>5614,38695=>5615,38753=>5616,38876=>5617,38907=>5618,39006=>5619,39000=>5620,39003=>5621,39100=>5622,39237=>5623,39241=>5624,39446=>5625,39449=>5626,39693=>5627,39912=>5628,39911=>5629,39894=>5630,39899=>5631,40329=>5632,40289=>5633,40306=>5634,40298=>5635,40300=>5636,40594=>5637,40599=>5638,40595=>5639,40628=>5640,21240=>5641,22199=>5642,22198=>5643,22196=>5644,22204=>5645,22756=>5646,23360=>5647,23363=>5648,23421=>5649,23542=>5650,24009=>5651,25080=>5652,25082=>5653,25880=>5654,25876=>5655,25881=>5656,26342=>5657,26407=>5658,27372=>5659,28734=>5660,28720=>5661,28722=>5662,29200=>5663,29563=>5664,29903=>5665,30306=>5666,30309=>5667,31014=>5668,31018=>5669,31020=>5670,31019=>5671,31431=>5672,31478=>5673,31820=>5674,31811=>5675,31821=>5676,31983=>5677,31984=>5678,36782=>5679,32381=>5680,32380=>5681,32386=>5682,32588=>5683,32768=>5684,33242=>5685,33382=>5686,34299=>5687,34297=>5688,34321=>5689,34298=>5690,34310=>5691,34315=>5692,34311=>5693,34314=>5694,34836=>5695,34837=>5696,35172=>5697,35258=>5698,35320=>5699,35696=>5700,35692=>5701,35686=>5702,35695=>5703,35679=>5704,35691=>5705,36111=>5706,36109=>5707,36489=>5708,36481=>5709,36485=>5710,36482=>5711,37300=>5712,37323=>5713,37912=>5714,37891=>5715,37885=>5716,38369=>5717,38704=>5718,39108=>5719,39250=>5720,39249=>5721,39336=>5722,39467=>5723,39472=>5724,39479=>5725,39477=>5726,39955=>5727,39949=>5728,40569=>5729,40629=>5730,40680=>5731,40751=>5732,40799=>5733,40803=>5734,40801=>5735,20791=>5736,20792=>5737,22209=>5738,22208=>5739,22210=>5740,22804=>5741,23660=>5742,24013=>5743,25084=>5744,25086=>5745,25885=>5746,25884=>5747,26005=>5748,26345=>5749,27387=>5750,27396=>5751,27386=>5752,27570=>5753,28748=>5754,29211=>5755,29351=>5756,29910=>5757,29908=>5758,30313=>5759,30675=>5760,31824=>5761,32399=>5762,32396=>5763,32700=>5764,34327=>5765,34349=>5766,34330=>5767,34851=>5768,34850=>5769,34849=>5770,34847=>5771,35178=>5772,35180=>5773,35261=>5774,35700=>5775,35703=>5776,35709=>5777,36115=>5778,36490=>5779,36493=>5780,36491=>5781,36703=>5782,36783=>5783,37306=>5784,37934=>5785,37939=>5786,37941=>5787,37946=>5788,37944=>5789,37938=>5790,37931=>5791,38370=>5792,38712=>5793,38713=>5794,38706=>5795,38911=>5796,58586=>5796,39015=>5797,39013=>5798,39255=>5799,39493=>5800,39491=>5801,39488=>5802,39486=>5803,39631=>5804,39764=>5805,39761=>5806,39981=>5807,39973=>5808,40367=>5809,40372=>5810,40386=>5811,40376=>5812,40605=>5813,40687=>5814,40729=>5815,40796=>5816,40806=>5817,40807=>5818,20796=>5819,20795=>5820,22216=>5821,22218=>5822,22217=>5823,23423=>5824,24020=>5825,24018=>5826,24398=>5827,25087=>5828,25892=>5829,27402=>5830,27489=>5831,28753=>5832,28760=>5833,29568=>5834,29924=>5835,30090=>5836,30318=>5837,30316=>5838,31155=>5839,31840=>5840,31839=>5841,32894=>5842,32893=>5843,33247=>5844,35186=>5845,35183=>5846,35324=>5847,35712=>5848,36118=>5849,36119=>5850,36497=>5851,36499=>5852,36705=>5853,37192=>5854,37956=>5855,37969=>5856,37970=>5857,38717=>5858,38718=>5859,38851=>5860,38849=>5861,39019=>5862,39253=>5863,39509=>5864,39501=>5865,39634=>5866,39706=>5867,40009=>5868,39985=>5869,39998=>5870,39995=>5871,40403=>5872,40407=>5873,40756=>5874,40812=>5875,40810=>5876,40852=>5877,22220=>5878,24022=>5879,25088=>5880,25891=>5881,25899=>5882,25898=>5883,26348=>5884,27408=>5885,29914=>5886,31434=>5887,31844=>5888,31843=>5889,31845=>5890,32403=>5891,32406=>5892,32404=>5893,33250=>5894,34360=>5895,34367=>5896,34865=>5897,35722=>5898,37008=>5899,37007=>5900,37987=>5901,37984=>5902,37988=>5903,38760=>5904,39023=>5905,39260=>5906,39514=>5907,39515=>5908,39511=>5909,39635=>5910,39636=>5911,39633=>5912,40020=>5913,40023=>5914,40022=>5915,40421=>5916,40607=>5917,40692=>5918,22225=>5919,22761=>5920,25900=>5921,28766=>5922,30321=>5923,30322=>5924,30679=>5925,60226=>5925,32592=>5926,32648=>5927,34870=>5928,34873=>5929,34914=>5930,35731=>5931,35730=>5932,35734=>5933,33399=>5934,36123=>5935,37312=>5936,37994=>5937,38722=>5938,38728=>5939,38724=>5940,38854=>5941,39024=>5942,39519=>5943,39714=>5944,39768=>5945,40031=>5946,40441=>5947,40442=>5948,40572=>5949,40573=>5950,40711=>5951,40823=>5952,40818=>5953,24307=>5954,27414=>5955,28771=>5956,31852=>5957,31854=>5958,34875=>5959,35264=>5960,36513=>5961,37313=>5962,38002=>5963,38000=>5964,39025=>5965,39262=>5966,39638=>5967,39715=>5968,40652=>5969,28772=>5970,30682=>5971,35738=>5972,38007=>5973,38857=>5974,39522=>5975,39525=>5976,32412=>5977,35740=>5978,36522=>5979,37317=>5980,38013=>5981,38014=>5982,38012=>5983,40055=>5984,40056=>5985,40695=>5986,35924=>5987,38015=>5988,40474=>5989,29224=>5990,39530=>5991,39729=>5992,40475=>5993,40478=>5994,31858=>5995,20034=>5996,20060=>5997,12048=>5998,20981=>5998,12053=>5999,21274=>5999,12058=>6000,21378=>6000,19975=>6001,19980=>6002,20039=>6003,20109=>6004,12062=>6005,22231=>6005,12076=>6006,23662=>6006,12091=>6007,24435=>6007,19983=>6008,20871=>6009,19982=>6010,20014=>6011,20115=>6012,20162=>6013,20169=>6014,20168=>6015,20888=>6016,21244=>6017,21356=>6018,21433=>6019,22304=>6020,22787=>6021,22828=>6022,23568=>6023,60417=>6023,24063=>6024,26081=>6025,12110=>6026,27571=>6026,27596=>6027,12115=>6028,27668=>6028,12121=>6029,29247=>6029,20017=>6030,20028=>6031,20200=>6032,20188=>6033,20201=>6034,20193=>6035,20189=>6036,20186=>6037,21004=>6038,21001=>6039,21276=>6040,21324=>6041,22306=>6042,22307=>6043,22807=>6044,22831=>6045,23425=>6046,23428=>6047,23570=>6048,23611=>6049,23668=>6050,23667=>6051,24068=>6052,24192=>6053,24194=>6054,24521=>6055,25097=>6056,25168=>6057,27669=>6058,27702=>6059,27715=>6060,27711=>6061,27707=>6062,29358=>6063,29360=>6064,29578=>6065,12145=>6066,31160=>6066,32906=>6067,38430=>6068,20238=>6069,20248=>6070,20268=>6071,20213=>6072,20244=>6073,20209=>6074,20224=>6075,20215=>6076,20232=>6077,20253=>6078,20226=>6079,20229=>6080,20258=>6081,20243=>6082,20228=>6083,20212=>6084,20242=>6085,20913=>6086,21011=>6087,21008=>6088,21158=>6089,21282=>6090,21279=>6091,21325=>6092,21386=>6093,21511=>6094,22241=>6095,22239=>6096,22318=>6097,22314=>6098,22324=>6099,22844=>6100,22912=>6101,22908=>6102,22917=>6103,22907=>6104,22910=>6105,22903=>6106,22911=>6107,23382=>6108,23573=>6109,23589=>6110,23676=>6111,23674=>6112,23675=>6113,23678=>6114,24031=>6115,24181=>6116,57646=>6116,24196=>6117,24322=>6118,24346=>6119,24436=>6120,24533=>6121,24532=>6122,24527=>6123,25180=>6124,25182=>6125,25188=>6126,25185=>6127,25190=>6128,25186=>6129,25177=>6130,25184=>6131,25178=>6132,25189=>6133,25911=>6134,26095=>6135,26094=>6136,26430=>6137,26425=>6138,26424=>6139,26427=>6140,26426=>6141,26431=>6142,26428=>6143,26419=>6144,27672=>6145,27718=>6146,27730=>6147,27740=>6148,27727=>6149,27722=>6150,60796=>6150,27732=>6151,27723=>6152,27724=>6153,28785=>6154,29278=>6155,29364=>6156,29365=>6157,29582=>6158,29994=>6159,30335=>6160,31349=>6161,12153=>6162,32593=>6162,12171=>6163,33400=>6163,33404=>6164,33408=>6165,33405=>6166,33407=>6167,12172=>6168,34381=>6168,12177=>6169,35198=>6169,37017=>6170,59347=>6171,37015=>6171,37016=>6172,37019=>6173,37012=>6174,38434=>6175,38436=>6176,38432=>6177,38435=>6178,20310=>6179,20283=>6180,20322=>6181,20297=>6182,20307=>6183,20324=>6184,20286=>6185,20327=>6186,20306=>6187,20319=>6188,20289=>6189,20312=>6190,20269=>6191,20275=>6192,20287=>6193,20321=>6194,20879=>6195,20921=>6196,21020=>6197,21022=>6198,21025=>6199,21165=>6200,21166=>6201,21257=>6202,21347=>6203,21362=>6204,21390=>6205,21391=>6206,21552=>6207,21559=>6208,21546=>6209,21588=>6210,21573=>6211,21529=>6212,21532=>6213,21541=>6214,21528=>6215,21565=>6216,21583=>6217,21569=>6218,21544=>6219,21540=>6220,21575=>6221,22254=>6222,22247=>6223,22245=>6224,22337=>6225,22341=>6226,22348=>6227,22345=>6228,22347=>6229,22354=>6230,22790=>6231,22848=>6232,22950=>6233,22936=>6234,22944=>6235,22935=>6236,22926=>6237,22946=>6238,22928=>6239,22927=>6240,22951=>6241,22945=>6242,23438=>6243,23442=>6244,23592=>6245,23594=>6246,23693=>6247,23695=>6248,23688=>6249,23691=>6250,23689=>6251,23698=>6252,23690=>6253,23686=>6254,23699=>6255,23701=>6256,24032=>6257,24074=>6258,24078=>6259,24203=>6260,24201=>6261,24204=>6262,24200=>6263,24205=>6264,24325=>6265,24349=>6266,24440=>6267,24438=>6268,24530=>6269,24529=>6270,24528=>6271,24557=>6272,24552=>6273,24558=>6274,24563=>6275,24545=>6276,24548=>6277,24547=>6278,24570=>6279,24559=>6280,24567=>6281,24571=>6282,24576=>6283,24564=>6284,25146=>6285,25219=>6286,25228=>6287,25230=>6288,25231=>6289,25236=>6290,25223=>6291,25201=>6292,25211=>6293,25210=>6294,25200=>6295,25217=>6296,25224=>6297,25207=>6298,25213=>6299,25202=>6300,25204=>6301,26096=>6302,26100=>6303,26099=>6304,26098=>6305,26101=>6306,26437=>6307,26439=>6308,26457=>6309,26453=>6310,26444=>6311,26440=>6312,26461=>6313,26445=>6314,26458=>6315,26443=>6316,27600=>6317,27673=>6318,27674=>6319,27768=>6320,27751=>6321,27755=>6322,27780=>6323,27787=>6324,27791=>6325,27761=>6326,27759=>6327,27753=>6328,27802=>6329,27757=>6330,27783=>6331,27797=>6332,27804=>6333,57900=>6333,27750=>6334,27763=>6335,27749=>6336,27771=>6337,27790=>6338,28788=>6339,28794=>6340,29283=>6341,29375=>6342,29373=>6343,29379=>6344,29382=>6345,29377=>6346,29370=>6347,29381=>6348,29589=>6349,29591=>6350,29587=>6351,29588=>6352,29586=>6353,30010=>6354,30009=>6355,30100=>6356,30101=>6357,30337=>6358,31037=>6359,32820=>6360,32917=>6361,32921=>6362,32912=>6363,32914=>6364,32924=>6365,33424=>6366,33423=>6367,33413=>6368,33422=>6369,33425=>6370,33427=>6371,33418=>6372,33411=>6373,33412=>6374,12184=>6375,35960=>6375,36809=>6376,36799=>6377,37023=>6378,37025=>6379,37029=>6380,37022=>6381,37031=>6382,37024=>6383,38448=>6384,38440=>6385,38447=>6386,38445=>6387,20019=>6388,20376=>6389,20348=>6390,20357=>6391,20349=>6392,20352=>6393,20359=>6394,20342=>6395,20340=>6396,20361=>6397,20356=>6398,20343=>6399,20300=>6400,20375=>6401,20330=>6402,20378=>6403,20345=>6404,20353=>6405,20344=>6406,20368=>6407,20380=>6408,20372=>6409,20382=>6410,20370=>6411,20354=>6412,20373=>6413,20331=>6414,20334=>6415,20894=>6416,20924=>6417,20926=>6418,21045=>6419,21042=>6420,21043=>6421,21062=>6422,21041=>6423,21180=>6424,21258=>6425,21259=>6426,21308=>6427,21394=>6428,21396=>6429,21639=>6430,21631=>6431,21633=>6432,21649=>6433,21634=>6434,21640=>6435,21611=>6436,21626=>6437,21630=>6438,21605=>6439,21612=>6440,21620=>6441,21606=>6442,21645=>6443,21615=>6444,21601=>6445,21600=>6446,21656=>6447,21603=>6448,21607=>6449,21604=>6450,22263=>6451,22265=>6452,22383=>6453,22386=>6454,22381=>6455,22379=>6456,22385=>6457,22384=>6458,22390=>6459,22400=>6460,22389=>6461,22395=>6462,22387=>6463,22388=>6464,22370=>6465,22376=>6466,22397=>6467,22796=>6468,22853=>6469,22965=>6470,22970=>6471,22991=>6472,22990=>6473,22962=>6474,22988=>6475,22977=>6476,22966=>6477,22972=>6478,22979=>6479,22998=>6480,22961=>6481,22973=>6482,22976=>6483,22984=>6484,22964=>6485,22983=>6486,23394=>6487,23397=>6488,23443=>6489,23445=>6490,23620=>6491,23623=>6492,23726=>6493,23716=>6494,23712=>6495,23733=>6496,23727=>6497,23720=>6498,23724=>6499,23711=>6500,23715=>6501,23725=>6502,23714=>6503,23722=>6504,23719=>6505,23709=>6506,23717=>6507,23734=>6508,23728=>6509,23718=>6510,24087=>6511,24084=>6512,24089=>6513,24360=>6514,24354=>6515,24355=>6516,24356=>6517,24404=>6518,24450=>6519,24446=>6520,24445=>6521,24542=>6522,24549=>6523,24621=>6524,24614=>6525,24601=>6526,24626=>6527,24587=>6528,24628=>6529,24586=>6530,24599=>6531,24627=>6532,24602=>6533,24606=>6534,24620=>6535,24610=>6536,24589=>6537,24592=>6538,24622=>6539,24595=>6540,24593=>6541,24588=>6542,24585=>6543,24604=>6544,25108=>6545,25149=>6546,25261=>6547,25268=>6548,25297=>6549,25278=>6550,25258=>6551,25270=>6552,25290=>6553,25262=>6554,25267=>6555,25263=>6556,25275=>6557,25257=>6558,25264=>6559,25272=>6560,25917=>6561,26024=>6562,26043=>6563,26121=>6564,26108=>6565,26116=>6566,26130=>6567,26120=>6568,26107=>6569,26115=>6570,26123=>6571,26125=>6572,26117=>6573,26109=>6574,26129=>6575,26128=>6576,26358=>6577,26378=>6578,26501=>6579,26476=>6580,26510=>6581,26514=>6582,26486=>6583,26491=>6584,26520=>6585,26502=>6586,26500=>6587,26484=>6588,26509=>6589,26508=>6590,26490=>6591,26527=>6592,26513=>6593,26521=>6594,26499=>6595,26493=>6596,26497=>6597,26488=>6598,26489=>6599,26516=>6600,27429=>6601,27520=>6602,27518=>6603,27614=>6604,27677=>6605,27795=>6606,27884=>6607,27883=>6608,27886=>6609,27865=>6610,27830=>6611,27860=>6612,27821=>6613,27879=>6614,27831=>6615,27856=>6616,27842=>6617,27834=>6618,27843=>6619,27846=>6620,27885=>6621,27890=>6622,27858=>6623,27869=>6624,27828=>6625,27786=>6626,27805=>6627,27776=>6628,27870=>6629,27840=>6630,27952=>6631,27853=>6632,27847=>6633,27824=>6634,27897=>6635,27855=>6636,27881=>6637,27857=>6638,28820=>6639,28824=>6640,28805=>6641,28819=>6642,28806=>6643,28804=>6644,28817=>6645,28822=>6646,28802=>6647,28826=>6648,28803=>6649,29290=>6650,29398=>6651,29387=>6652,29400=>6653,29385=>6654,29404=>6655,29394=>6656,29396=>6657,29402=>6658,29388=>6659,29393=>6660,29604=>6661,29601=>6662,29613=>6663,29606=>6664,29602=>6665,29600=>6666,29612=>6667,29597=>6668,29917=>6669,29928=>6670,30015=>6671,30016=>6672,30014=>6673,30092=>6674,30104=>6675,30383=>6676,30451=>6677,30449=>6678,30448=>6679,30453=>6680,30712=>6681,30716=>6682,30713=>6683,30715=>6684,30714=>6685,30711=>6686,31042=>6687,31039=>6688,31173=>6689,31352=>6690,31355=>6691,31483=>6692,31861=>6693,31997=>6694,32821=>6695,32911=>6696,32942=>6697,32931=>6698,32952=>6699,32949=>6700,32941=>6701,33312=>6702,33440=>6703,33472=>6704,33451=>6705,33434=>6706,33432=>6707,33435=>6708,33461=>6709,33447=>6710,33454=>6711,33468=>6712,33438=>6713,33466=>6714,33460=>6715,33448=>6716,33441=>6717,33449=>6718,33474=>6719,33444=>6720,33475=>6721,33462=>6722,33442=>6723,34416=>6724,34415=>6725,34413=>6726,34414=>6727,35926=>6728,36818=>6729,36811=>6730,36819=>6731,36813=>6732,36822=>6733,36821=>6734,36823=>6735,37042=>6736,37044=>6737,37039=>6738,37043=>6739,37040=>6740,38457=>6741,38461=>6742,38460=>6743,38458=>6744,38467=>6745,20429=>6746,20421=>6747,20435=>6748,20402=>6749,20425=>6750,20427=>6751,20417=>6752,20436=>6753,20444=>6754,20441=>6755,20411=>6756,60346=>6756,20403=>6757,20443=>6758,20423=>6759,20438=>6760,20410=>6761,20416=>6762,20409=>6763,20460=>6764,21060=>6765,21065=>6766,21184=>6767,21186=>6768,21309=>6769,21372=>6770,21399=>6771,21398=>6772,21401=>6773,21400=>6774,21690=>6775,21665=>6776,21677=>6777,21669=>6778,21711=>6779,21699=>6780,33549=>6781,21687=>6782,21678=>6783,21718=>6784,21686=>6785,21701=>6786,21702=>6787,21664=>6788,21616=>6789,21692=>6790,21666=>6791,21694=>6792,21618=>6793,21726=>6794,21680=>6795,22453=>6796,22430=>6797,22431=>6798,22436=>6799,22412=>6800,22423=>6801,22429=>6802,22427=>6803,22420=>6804,22424=>6805,22415=>6806,22425=>6807,22437=>6808,22426=>6809,22421=>6810,22772=>6811,22797=>6812,22867=>6813,23009=>6814,23006=>6815,23022=>6816,23040=>6817,23025=>6818,23005=>6819,23034=>6820,23037=>6821,23036=>6822,23030=>6823,23012=>6824,23026=>6825,23031=>6826,23003=>6827,23017=>6828,23027=>6829,23029=>6830,23008=>6831,23038=>6832,23028=>6833,23021=>6834,23464=>6835,23628=>6836,23760=>6837,23768=>6838,23756=>6839,23767=>6840,23755=>6841,23771=>6842,23774=>6843,23770=>6844,23753=>6845,23751=>6846,23754=>6847,23766=>6848,23763=>6849,23764=>6850,23759=>6851,23752=>6852,23750=>6853,23758=>6854,23775=>6855,23800=>6856,24057=>6857,24097=>6858,24098=>6859,24099=>6860,24096=>6861,24100=>6862,24240=>6863,24228=>6864,24226=>6865,24219=>6866,24227=>6867,24229=>6868,24327=>6869,24366=>6870,24406=>6871,24454=>6872,24631=>6873,24633=>6874,24660=>6875,24690=>6876,24670=>6877,24645=>6878,24659=>6879,24647=>6880,24649=>6881,24667=>6882,24652=>6883,24640=>6884,24642=>6885,24671=>6886,24612=>6887,24644=>6888,24664=>6889,24678=>6890,24686=>6891,25154=>6892,25155=>6893,25295=>6894,25357=>6895,25355=>6896,25333=>6897,25358=>6898,25347=>6899,25323=>6900,25337=>6901,25359=>6902,25356=>6903,25336=>6904,25334=>6905,25344=>6906,25363=>6907,25364=>6908,25338=>6909,25365=>6910,25339=>6911,25328=>6912,25921=>6913,25923=>6914,26026=>6915,26047=>6916,26166=>6917,26145=>6918,26162=>6919,26165=>6920,26140=>6921,26150=>6922,26146=>6923,26163=>6924,26155=>6925,26170=>6926,26141=>6927,26164=>6928,26169=>6929,26158=>6930,26383=>6931,26384=>6932,26561=>6933,26610=>6934,26568=>6935,26554=>6936,26588=>6937,26555=>6938,26616=>6939,26584=>6940,26560=>6941,26551=>6942,26565=>6943,26603=>6944,26596=>6945,26591=>6946,26549=>6947,26573=>6948,26547=>6949,26615=>6950,26614=>6951,26606=>6952,26595=>6953,26562=>6954,26553=>6955,26574=>6956,26599=>6957,26608=>6958,26546=>6959,26620=>6960,26566=>6961,26605=>6962,26572=>6963,26542=>6964,26598=>6965,26587=>6966,26618=>6967,26569=>6968,26570=>6969,26563=>6970,26602=>6971,26571=>6972,27432=>6973,27522=>6974,27524=>6975,27574=>6976,27606=>6977,27608=>6978,27616=>6979,27680=>6980,27681=>6981,27944=>6982,27956=>6983,27949=>6984,27935=>6985,27964=>6986,27967=>6987,27922=>6988,27914=>6989,27866=>6990,27955=>6991,27908=>6992,27929=>6993,27962=>6994,27930=>6995,27921=>6996,27904=>6997,27933=>6998,27970=>6999,27905=>7000,27928=>7001,27959=>7002,27907=>7003,27919=>7004,27968=>7005,27911=>7006,27936=>7007,27948=>7008,27912=>7009,27938=>7010,27913=>7011,27920=>7012,28855=>7013,28831=>7014,28862=>7015,28849=>7016,28848=>7017,28833=>7018,28852=>7019,28853=>7020,28841=>7021,29249=>7022,29257=>7023,29258=>7024,29292=>7025,29296=>7026,29299=>7027,29294=>7028,29386=>7029,29412=>7030,29416=>7031,29419=>7032,29407=>7033,29418=>7034,29414=>7035,29411=>7036,29573=>7037,29644=>7038,29634=>7039,29640=>7040,29637=>7041,29625=>7042,29622=>7043,29621=>7044,29620=>7045,29675=>7046,29631=>7047,29639=>7048,29630=>7049,29635=>7050,29638=>7051,29624=>7052,29643=>7053,29932=>7054,29934=>7055,29998=>7056,30023=>7057,30024=>7058,30119=>7059,30122=>7060,30329=>7061,30404=>7062,30472=>7063,30467=>7064,30468=>7065,30469=>7066,30474=>7067,30455=>7068,30459=>7069,30458=>7070,30695=>7071,30696=>7072,30726=>7073,30737=>7074,30738=>7075,30725=>7076,30736=>7077,30735=>7078,30734=>7079,30729=>7080,58095=>7080,30723=>7081,30739=>7082,31050=>7083,31052=>7084,31051=>7085,31045=>7086,31044=>7087,31189=>7088,31181=>7089,31183=>7090,31190=>7091,31182=>7092,31360=>7093,31358=>7094,31441=>7095,31488=>7096,31489=>7097,31866=>7098,31864=>7099,31865=>7100,31871=>7101,31872=>7102,31873=>7103,32003=>7104,32008=>7105,32001=>7106,32600=>7107,32657=>7108,32653=>7109,32702=>7110,32775=>7111,32782=>7112,32783=>7113,32788=>7114,32823=>7115,32984=>7116,32967=>7117,32992=>7118,32977=>7119,32968=>7120,32962=>7121,32976=>7122,32965=>7123,32995=>7124,32985=>7125,32988=>7126,32970=>7127,32981=>7128,32969=>7129,32975=>7130,32983=>7131,32998=>7132,32973=>7133,33279=>7134,33313=>7135,33428=>7136,33497=>7137,33534=>7138,33529=>7139,33543=>7140,33512=>7141,33536=>7142,33493=>7143,33594=>7144,33515=>7145,33494=>7146,33524=>7147,33516=>7148,33505=>7149,33522=>7150,33525=>7151,33548=>7152,33531=>7153,33526=>7154,33520=>7155,33514=>7156,33508=>7157,33504=>7158,33530=>7159,33523=>7160,33517=>7161,34423=>7162,34420=>7163,34428=>7164,34419=>7165,34881=>7166,34894=>7167,34919=>7168,34922=>7169,34921=>7170,35283=>7171,35332=>7172,35335=>7173,36210=>7174,36835=>7175,36833=>7176,36846=>7177,36832=>7178,37105=>7179,37053=>7180,37055=>7181,37077=>7182,37061=>7183,37054=>7184,37063=>7185,37067=>7186,37064=>7187,37332=>7188,60294=>7188,37331=>7189,38484=>7190,38479=>7191,38481=>7192,38483=>7193,38474=>7194,38478=>7195,20510=>7196,20485=>7197,20487=>7198,20499=>7199,20514=>7200,20528=>7201,20507=>7202,20469=>7203,20468=>7204,20531=>7205,20535=>7206,20524=>7207,20470=>7208,20471=>7209,20503=>7210,20508=>7211,20512=>7212,20519=>7213,20533=>7214,20527=>7215,20529=>7216,20494=>7217,20826=>7218,20884=>7219,20883=>7220,20938=>7221,20932=>7222,20933=>7223,20936=>7224,20942=>7225,21089=>7226,21082=>7227,21074=>7228,21086=>7229,21087=>7230,21077=>7231,21090=>7232,21197=>7233,21262=>7234,21406=>7235,21798=>7236,21730=>7237,21783=>7238,21778=>7239,21735=>7240,21747=>7241,21732=>7242,21786=>7243,21759=>7244,21764=>7245,21768=>7246,21739=>7247,21777=>7248,21765=>7249,21745=>7250,21770=>7251,21755=>7252,21751=>7253,21752=>7254,21728=>7255,21774=>7256,21763=>7257,21771=>7258,22273=>7259,22274=>7260,22476=>7261,22578=>7262,22485=>7263,22482=>7264,22458=>7265,22470=>7266,22461=>7267,22460=>7268,22456=>7269,22454=>7270,22463=>7271,22471=>7272,22480=>7273,22457=>7274,22465=>7275,22798=>7276,22858=>7277,23065=>7278,23062=>7279,23085=>7280,23086=>7281,23061=>7282,23055=>7283,23063=>7284,23050=>7285,23070=>7286,23091=>7287,23404=>7288,23463=>7289,23469=>7290,23468=>7291,23555=>7292,23638=>7293,23636=>7294,23788=>7295,23807=>7296,23790=>7297,23793=>7298,23799=>7299,23808=>7300,23801=>7301,24105=>7302,24104=>7303,24232=>7304,24238=>7305,24234=>7306,24236=>7307,24371=>7308,24368=>7309,24423=>7310,24669=>7311,24666=>7312,24679=>7313,24641=>7314,24738=>7315,24712=>7316,24704=>7317,24722=>7318,24705=>7319,24733=>7320,24707=>7321,24725=>7322,24731=>7323,24727=>7324,24711=>7325,24732=>7326,24718=>7327,25113=>7328,25158=>7329,25330=>7330,25360=>7331,25430=>7332,25388=>7333,25412=>7334,25413=>7335,25398=>7336,25411=>7337,25572=>7338,25401=>7339,25419=>7340,25418=>7341,25404=>7342,25385=>7343,25409=>7344,25396=>7345,25432=>7346,25428=>7347,25433=>7348,25389=>7349,25415=>7350,25395=>7351,25434=>7352,25425=>7353,25400=>7354,25431=>7355,25408=>7356,25416=>7357,25930=>7358,25926=>7359,26054=>7360,26051=>7361,26052=>7362,26050=>7363,26186=>7364,26207=>7365,26183=>7366,26193=>7367,26386=>7368,26387=>7369,26655=>7370,26650=>7371,26697=>7372,26674=>7373,26675=>7374,26683=>7375,26699=>7376,26703=>7377,26646=>7378,26673=>7379,26652=>7380,26677=>7381,26667=>7382,26669=>7383,26671=>7384,26702=>7385,26692=>7386,26676=>7387,26653=>7388,26642=>7389,26644=>7390,26662=>7391,26664=>7392,26670=>7393,26701=>7394,26682=>7395,26661=>7396,26656=>7397,27436=>7398,27439=>7399,27437=>7400,27441=>7401,27444=>7402,27501=>7403,32898=>7404,27528=>7405,27622=>7406,27620=>7407,27624=>7408,27619=>7409,27618=>7410,27623=>7411,27685=>7412,28026=>7413,28003=>7414,28004=>7415,28022=>7416,27917=>7417,28001=>7418,28050=>7419,27992=>7420,28002=>7421,28013=>7422,28015=>7423,28049=>7424,28045=>7425,28143=>7426,28031=>7427,28038=>7428,27998=>7429,28007=>7430,59078=>7430,28000=>7431,28055=>7432,28016=>7433,28028=>7434,27999=>7435,28034=>7436,28056=>7437,27951=>7438,28008=>7439,28043=>7440,28030=>7441,28032=>7442,28036=>7443,27926=>7444,28035=>7445,28027=>7446,28029=>7447,28021=>7448,28048=>7449,28892=>7450,28883=>7451,28881=>7452,28893=>7453,28875=>7454,32569=>7455,28898=>7456,28887=>7457,28882=>7458,28894=>7459,28896=>7460,28884=>7461,28877=>7462,28869=>7463,28870=>7464,28871=>7465,28890=>7466,28878=>7467,28897=>7468,29250=>7469,29304=>7470,29303=>7471,29302=>7472,29440=>7473,29434=>7474,29428=>7475,29438=>7476,29430=>7477,29427=>7478,29435=>7479,29441=>7480,29651=>7481,29657=>7482,29669=>7483,29654=>7484,29628=>7485,29671=>7486,29667=>7487,29673=>7488,29660=>7489,29650=>7490,29659=>7491,29652=>7492,29661=>7493,29658=>7494,29655=>7495,29656=>7496,29672=>7497,29918=>7498,29919=>7499,29940=>7500,29941=>7501,29985=>7502,30043=>7503,30047=>7504,30128=>7505,30145=>7506,30139=>7507,30148=>7508,30144=>7509,30143=>7510,30134=>7511,30138=>7512,30346=>7513,30409=>7514,30493=>7515,30491=>7516,30480=>7517,30483=>7518,30482=>7519,30499=>7520,30481=>7521,30485=>7522,30489=>7523,30490=>7524,30498=>7525,30503=>7526,30755=>7527,30764=>7528,30754=>7529,30773=>7530,30767=>7531,30760=>7532,30766=>7533,30763=>7534,30753=>7535,30761=>7536,30771=>7537,30762=>7538,30769=>7539,31060=>7540,31067=>7541,31055=>7542,31068=>7543,31059=>7544,31058=>7545,31057=>7546,31211=>7547,31212=>7548,31200=>7549,31214=>7550,31213=>7551,31210=>7552,31196=>7553,31198=>7554,31197=>7555,31366=>7556,31369=>7557,31365=>7558,31371=>7559,31372=>7560,31370=>7561,31367=>7562,31448=>7563,31504=>7564,31492=>7565,31507=>7566,31493=>7567,31503=>7568,31496=>7569,31498=>7570,31502=>7571,31497=>7572,31506=>7573,31876=>7574,31889=>7575,31882=>7576,31884=>7577,31880=>7578,31885=>7579,31877=>7580,32030=>7581,32029=>7582,32017=>7583,32014=>7584,32024=>7585,32022=>7586,32019=>7587,32031=>7588,32018=>7589,32015=>7590,32012=>7591,32604=>7592,32609=>7593,32606=>7594,32608=>7595,32605=>7596,32603=>7597,32662=>7598,32658=>7599,32707=>7600,32706=>7601,32704=>7602,32790=>7603,32830=>7604,32825=>7605,33018=>7606,33010=>7607,33017=>7608,33013=>7609,33025=>7610,33019=>7611,33024=>7612,33281=>7613,33327=>7614,33317=>7615,33587=>7616,33581=>7617,33604=>7618,33561=>7619,33617=>7620,33573=>7621,33622=>7622,33599=>7623,33601=>7624,33574=>7625,33564=>7626,33570=>7627,33602=>7628,33614=>7629,33563=>7630,33578=>7631,33544=>7632,33596=>7633,33613=>7634,33558=>7635,33572=>7636,33568=>7637,33591=>7638,33583=>7639,33577=>7640,33607=>7641,33605=>7642,33612=>7643,33619=>7644,33566=>7645,33580=>7646,33611=>7647,33575=>7648,33608=>7649,34387=>7650,34386=>7651,34466=>7652,34472=>7653,34454=>7654,34445=>7655,34449=>7656,34462=>7657,34439=>7658,34455=>7659,34438=>7660,34443=>7661,34458=>7662,34437=>7663,34469=>7664,34457=>7665,34465=>7666,34471=>7667,34453=>7668,34456=>7669,34446=>7670,34461=>7671,34448=>7672,34452=>7673,34883=>7674,34884=>7675,34925=>7676,34933=>7677,34934=>7678,34930=>7679,34944=>7680,34929=>7681,34943=>7682,34927=>7683,34947=>7684,34942=>7685,34932=>7686,34940=>7687,35346=>7688,35911=>7689,35927=>7690,35963=>7691,36004=>7692,36003=>7693,36214=>7694,36216=>7695,36277=>7696,36279=>7697,36278=>7698,36561=>7699,36563=>7700,36862=>7701,36853=>7702,36866=>7703,36863=>7704,36859=>7705,36868=>7706,36860=>7707,36854=>7708,37078=>7709,37088=>7710,37081=>7711,37082=>7712,37091=>7713,37087=>7714,37093=>7715,37080=>7716,37083=>7717,37079=>7718,37084=>7719,37092=>7720,37200=>7721,37198=>7722,37199=>7723,37333=>7724,37346=>7725,37338=>7726,38492=>7727,38495=>7728,38588=>7729,39139=>7730,12221=>7731,39647=>7731,12223=>7732,39727=>7732,20095=>7733,20592=>7734,20586=>7735,20577=>7736,20574=>7737,20576=>7738,20563=>7739,20555=>7740,20573=>7741,20594=>7742,20552=>7743,20557=>7744,20545=>7745,20571=>7746,20554=>7747,20578=>7748,20501=>7749,20549=>7750,20575=>7751,20585=>7752,20587=>7753,20579=>7754,20580=>7755,20550=>7756,20544=>7757,20590=>7758,20595=>7759,20567=>7760,20561=>7761,20944=>7762,21099=>7763,21101=>7764,21100=>7765,21102=>7766,21206=>7767,21203=>7768,21293=>7769,21404=>7770,21877=>7771,21878=>7772,21820=>7773,21837=>7774,21840=>7775,21812=>7776,21802=>7777,21841=>7778,21858=>7779,21814=>7780,21813=>7781,21808=>7782,21842=>7783,21829=>7784,21772=>7785,21810=>7786,21861=>7787,21838=>7788,21817=>7789,21832=>7790,21805=>7791,21819=>7792,21824=>7793,21835=>7794,22282=>7795,22279=>7796,22523=>7797,22548=>7798,22498=>7799,22518=>7800,22492=>7801,22516=>7802,22528=>7803,22509=>7804,22525=>7805,22536=>7806,22520=>7807,22539=>7808,22515=>7809,22479=>7810,22535=>7811,22510=>7812,22499=>7813,22514=>7814,22501=>7815,22508=>7816,22497=>7817,22542=>7818,22524=>7819,22544=>7820,22503=>7821,22529=>7822,22540=>7823,22513=>7824,22505=>7825,22512=>7826,22541=>7827,22532=>7828,22876=>7829,23136=>7830,23128=>7831,23125=>7832,23143=>7833,60437=>7833,23134=>7834,23096=>7835,23093=>7836,23149=>7837,23120=>7838,23135=>7839,23141=>7840,23148=>7841,23123=>7842,23140=>7843,23127=>7844,23107=>7845,23133=>7846,23122=>7847,23108=>7848,23131=>7849,23112=>7850,23182=>7851,23102=>7852,23117=>7853,23097=>7854,23116=>7855,23152=>7856,23145=>7857,23111=>7858,23121=>7859,23126=>7860,23106=>7861,23132=>7862,23410=>7863,23406=>7864,23489=>7865,23488=>7866,23641=>7867,23838=>7868,23819=>7869,23837=>7870,23834=>7871,23840=>7872,23820=>7873,23848=>7874,23821=>7875,23846=>7876,23845=>7877,23823=>7878,23856=>7879,23826=>7880,23843=>7881,23839=>7882,23854=>7883,24126=>7884,24116=>7885,24241=>7886,24244=>7887,24249=>7888,24242=>7889,24243=>7890,24374=>7891,24376=>7892,24475=>7893,24470=>7894,24479=>7895,24714=>7896,24720=>7897,24710=>7898,24766=>7899,24752=>7900,24762=>7901,24787=>7902,24788=>7903,24783=>7904,24804=>7905,24793=>7906,24797=>7907,24776=>7908,24753=>7909,24795=>7910,24759=>7911,24778=>7912,24767=>7913,24771=>7914,24781=>7915,24768=>7916,25394=>7917,25445=>7918,25482=>7919,25474=>7920,25469=>7921,25533=>7922,25502=>7923,25517=>7924,25501=>7925,25495=>7926,25515=>7927,25486=>7928,25455=>7929,25479=>7930,25488=>7931,25454=>7932,25519=>7933,25461=>7934,25500=>7935,25453=>7936,25518=>7937,25468=>7938,25508=>7939,25403=>7940,25503=>7941,25464=>7942,25477=>7943,25473=>7944,25489=>7945,25485=>7946,25456=>7947,25939=>7948,26061=>7949,26213=>7950,26209=>7951,26203=>7952,26201=>7953,26204=>7954,26210=>7955,26392=>7956,26745=>7957,26759=>7958,26768=>7959,26780=>7960,26733=>7961,26734=>7962,26798=>7963,26795=>7964,26966=>7965,26735=>7966,26787=>7967,26796=>7968,26793=>7969,26741=>7970,26740=>7971,26802=>7972,26767=>7973,26743=>7974,26770=>7975,26748=>7976,26731=>7977,26738=>7978,26794=>7979,26752=>7980,26737=>7981,26750=>7982,26779=>7983,26774=>7984,26763=>7985,26784=>7986,26761=>7987,26788=>7988,26744=>7989,26747=>7990,26769=>7991,26764=>7992,26762=>7993,26749=>7994,27446=>7995,27443=>7996,27447=>7997,27448=>7998,27537=>7999,27535=>8000,27533=>8001,27534=>8002,27532=>8003,27690=>8004,28096=>8005,28075=>8006,28084=>8007,28083=>8008,28276=>8009,28076=>8010,28137=>8011,28130=>8012,28087=>8013,28150=>8014,28116=>8015,28160=>8016,28104=>8017,28128=>8018,28127=>8019,28118=>8020,28094=>8021,28133=>8022,28124=>8023,28125=>8024,28123=>8025,28148=>8026,28106=>8027,28093=>8028,28141=>8029,28144=>8030,28090=>8031,28117=>8032,28098=>8033,28111=>8034,28105=>8035,28112=>8036,28146=>8037,28115=>8038,28157=>8039,28119=>8040,28109=>8041,28131=>8042,28091=>8043,28922=>8044,28941=>8045,28919=>8046,28951=>8047,28916=>8048,28940=>8049,28912=>8050,28932=>8051,28915=>8052,28944=>8053,28924=>8054,28927=>8055,28934=>8056,28947=>8057,28928=>8058,28920=>8059,28918=>8060,28939=>8061,28930=>8062,28942=>8063,29310=>8064,29307=>8065,29308=>8066,29311=>8067,29469=>8068,29463=>8069,29447=>8070,29457=>8071,29464=>8072,29450=>8073,29448=>8074,29439=>8075,29455=>8076,29470=>8077,29576=>8078,29686=>8079,29688=>8080,29685=>8081,29700=>8082,29697=>8083,29693=>8084,29703=>8085,29696=>8086,29690=>8087,29692=>8088,29695=>8089,29708=>8090,29707=>8091,29684=>8092,29704=>8093,30052=>8094,30051=>8095,30158=>8096,30162=>8097,30159=>8098,30155=>8099,30156=>8100,30161=>8101,30160=>8102,30351=>8103,30345=>8104,30419=>8105,30521=>8106,30511=>8107,30509=>8108,30513=>8109,30514=>8110,30516=>8111,30515=>8112,30525=>8113,30501=>8114,30523=>8115,30517=>8116,30792=>8117,30802=>8118,30793=>8119,30797=>8120,30794=>8121,30796=>8122,30758=>8123,30789=>8124,30800=>8125,31076=>8126,31079=>8127,31081=>8128,31082=>8129,31075=>8130,31083=>8131,31073=>8132,31163=>8133,31226=>8134,31224=>8135,31222=>8136,31223=>8137,31375=>8138,31380=>8139,31376=>8140,31541=>8141,31547=>8142,31540=>8143,31525=>8144,31536=>8145,31522=>8146,31524=>8147,31539=>8148,31512=>8149,31530=>8150,31517=>8151,31537=>8152,31531=>8153,31533=>8154,31535=>8155,31538=>8156,31544=>8157,31514=>8158,31523=>8159,31892=>8160,31896=>8161,31894=>8162,31907=>8163,32053=>8164,32061=>8165,32056=>8166,32054=>8167,32058=>8168,32069=>8169,32044=>8170,32041=>8171,32065=>8172,32071=>8173,32062=>8174,32063=>8175,32074=>8176,32059=>8177,32040=>8178,32611=>8179,32661=>8180,32668=>8181,32669=>8182,32667=>8183,32714=>8184,32715=>8185,32717=>8186,32720=>8187,32721=>8188,32711=>8189,32719=>8190,32713=>8191,32799=>8192,32798=>8193,32795=>8194,32839=>8195,32835=>8196,32840=>8197,33048=>8198,33061=>8199,33049=>8200,33051=>8201,33069=>8202,33055=>8203,33068=>8204,33054=>8205,33057=>8206,33045=>8207,33063=>8208,33053=>8209,33058=>8210,33297=>8211,33336=>8212,33331=>8213,33338=>8214,33332=>8215,33330=>8216,33396=>8217,33680=>8218,33699=>8219,33704=>8220,33677=>8221,33658=>8222,33651=>8223,33700=>8224,33652=>8225,33679=>8226,33665=>8227,33685=>8228,33689=>8229,33653=>8230,33684=>8231,33705=>8232,33661=>8233,33667=>8234,33676=>8235,33693=>8236,33691=>8237,33706=>8238,33675=>8239,33662=>8240,33701=>8241,33711=>8242,33672=>8243,33687=>8244,33712=>8245,33663=>8246,33702=>8247,33671=>8248,33710=>8249,33654=>8250,34393=>8251,34390=>8252,34495=>8253,34487=>8254,34498=>8255,34497=>8256,34501=>8257,34490=>8258,34480=>8259,34504=>8260,34489=>8261,34483=>8262,34488=>8263,34508=>8264,34484=>8265,34491=>8266,34492=>8267,34499=>8268,34493=>8269,34494=>8270,34898=>8271,34953=>8272,34965=>8273,34984=>8274,34978=>8275,34986=>8276,34970=>8277,34961=>8278,34977=>8279,34975=>8280,34968=>8281,34983=>8282,34969=>8283,34971=>8284,34967=>8285,34980=>8286,34988=>8287,34956=>8288,34963=>8289,34958=>8290,35202=>8291,35286=>8292,35289=>8293,35285=>8294,35376=>8295,35367=>8296,35372=>8297,35358=>8298,35897=>8299,35899=>8300,35932=>8301,35933=>8302,35965=>8303,36005=>8304,36221=>8305,36219=>8306,36217=>8307,36284=>8308,36290=>8309,36281=>8310,36287=>8311,36289=>8312,36568=>8313,36574=>8314,36573=>8315,36572=>8316,36567=>8317,36576=>8318,36577=>8319,36900=>8320,36875=>8321,36881=>8322,36892=>8323,36876=>8324,36897=>8325,37103=>8326,37098=>8327,37104=>8328,37108=>8329,37106=>8330,37107=>8331,37076=>8332,37099=>8333,37100=>8334,37097=>8335,37206=>8336,37208=>8337,37210=>8338,37203=>8339,37205=>8340,37356=>8341,37364=>8342,37361=>8343,37363=>8344,37368=>8345,37348=>8346,37369=>8347,37354=>8348,37355=>8349,37367=>8350,37352=>8351,37358=>8352,38266=>8353,38278=>8354,38280=>8355,38524=>8356,38509=>8357,38507=>8358,38513=>8359,38511=>8360,38591=>8361,38762=>8362,38916=>8363,39141=>8364,39319=>8365,20635=>8366,20629=>8367,20628=>8368,20638=>8369,20619=>8370,20643=>8371,20611=>8372,20620=>8373,20622=>8374,20637=>8375,20584=>8376,20636=>8377,20626=>8378,20610=>8379,20615=>8380,20831=>8381,20948=>8382,21266=>8383,21265=>8384,21412=>8385,21415=>8386,21905=>8387,21928=>8388,21925=>8389,21933=>8390,21879=>8391,22085=>8392,21922=>8393,21907=>8394,21896=>8395,21903=>8396,21941=>8397,21889=>8398,21923=>8399,21906=>8400,21924=>8401,21885=>8402,21900=>8403,21926=>8404,21887=>8405,21909=>8406,21921=>8407,21902=>8408,22284=>8409,22569=>8410,22583=>8411,22553=>8412,22558=>8413,22567=>8414,22563=>8415,22568=>8416,22517=>8417,22600=>8418,22565=>8419,22556=>8420,22555=>8421,22579=>8422,22591=>8423,22582=>8424,22574=>8425,22585=>8426,22584=>8427,22573=>8428,22572=>8429,22587=>8430,22881=>8431,23215=>8432,23188=>8433,23199=>8434,23162=>8435,23202=>8436,23198=>8437,23160=>8438,23206=>8439,23164=>8440,23205=>8441,23212=>8442,23189=>8443,23214=>8444,23095=>8445,23172=>8446,23178=>8447,23191=>8448,23171=>8449,23179=>8450,23209=>8451,23163=>8452,23165=>8453,23180=>8454,23196=>8455,23183=>8456,23187=>8457,23197=>8458,23530=>8459,23501=>8460,23499=>8461,23508=>8462,23505=>8463,23498=>8464,23502=>8465,23564=>8466,23600=>8467,23863=>8468,23875=>8469,23915=>8470,23873=>8471,23883=>8472,23871=>8473,23861=>8474,23889=>8475,23886=>8476,23893=>8477,23859=>8478,23866=>8479,23890=>8480,23869=>8481,23857=>8482,23897=>8483,23874=>8484,23865=>8485,23881=>8486,23864=>8487,23868=>8488,23858=>8489,23862=>8490,23872=>8491,23877=>8492,24132=>8493,24129=>8494,24408=>8495,57673=>8495,24486=>8496,24485=>8497,24491=>8498,24777=>8499,24761=>8500,24780=>8501,24802=>8502,24782=>8503,24772=>8504,24852=>8505,24818=>8506,24842=>8507,24854=>8508,24837=>8509,24821=>8510,24851=>8511,24824=>8512,24828=>8513,24830=>8514,24769=>8515,24835=>8516,24856=>8517,24861=>8518,24848=>8519,24831=>8520,24836=>8521,24843=>8522,25162=>8523,25492=>8524,25521=>8525,25520=>8526,25550=>8527,25573=>8528,25576=>8529,25583=>8530,25539=>8531,25757=>8532,25587=>8533,25546=>8534,25568=>8535,25590=>8536,25557=>8537,25586=>8538,25589=>8539,25697=>8540,25567=>8541,25534=>8542,25565=>8543,25564=>8544,25540=>8545,25560=>8546,25555=>8547,25538=>8548,25543=>8549,25548=>8550,25547=>8551,25544=>8552,25584=>8553,25559=>8554,25561=>8555,25906=>8556,25959=>8557,25962=>8558,25956=>8559,25948=>8560,25960=>8561,25957=>8562,25996=>8563,26013=>8564,26014=>8565,26030=>8566,26064=>8567,26066=>8568,26236=>8569,26220=>8570,26235=>8571,26240=>8572,26225=>8573,26233=>8574,26218=>8575,26226=>8576,26369=>8577,26892=>8578,26835=>8579,26884=>8580,26844=>8581,26922=>8582,26860=>8583,26858=>8584,26865=>8585,26895=>8586,26838=>8587,26871=>8588,26859=>8589,26852=>8590,26870=>8591,26899=>8592,26896=>8593,26867=>8594,26849=>8595,26887=>8596,26828=>8597,26888=>8598,26992=>8599,26804=>8600,26897=>8601,26863=>8602,26822=>8603,26900=>8604,26872=>8605,26832=>8606,26877=>8607,26876=>8608,26856=>8609,26891=>8610,26890=>8611,26903=>8612,26830=>8613,26824=>8614,26845=>8615,26846=>8616,26854=>8617,26868=>8618,26833=>8619,26886=>8620,26836=>8621,26857=>8622,26901=>8623,26917=>8624,26823=>8625,27449=>8626,27451=>8627,27455=>8628,27452=>8629,27540=>8630,27543=>8631,27545=>8632,27541=>8633,27581=>8634,27632=>8635,27634=>8636,27635=>8637,27696=>8638,28156=>8639,28230=>8640,28231=>8641,28191=>8642,28233=>8643,28296=>8644,28220=>8645,28221=>8646,28229=>8647,28258=>8648,28203=>8649,28223=>8650,28225=>8651,28253=>8652,28275=>8653,28188=>8654,28211=>8655,28235=>8656,28224=>8657,28241=>8658,28219=>8659,28163=>8660,28206=>8661,28254=>8662,28264=>8663,28252=>8664,28257=>8665,28209=>8666,28200=>8667,28256=>8668,28273=>8669,28267=>8670,28217=>8671,28194=>8672,28208=>8673,28243=>8674,28261=>8675,28199=>8676,28280=>8677,28260=>8678,28279=>8679,28245=>8680,28281=>8681,28242=>8682,28262=>8683,28213=>8684,28214=>8685,28250=>8686,28960=>8687,28958=>8688,28975=>8689,28923=>8690,28974=>8691,28977=>8692,28963=>8693,28965=>8694,28962=>8695,28978=>8696,28959=>8697,28968=>8698,28986=>8699,28955=>8700,29259=>8701,29274=>8702,29320=>8703,29321=>8704,29318=>8705,29317=>8706,29323=>8707,29458=>8708,29451=>8709,29488=>8710,29474=>8711,29489=>8712,29491=>8713,29479=>8714,29490=>8715,29485=>8716,29478=>8717,29475=>8718,29493=>8719,29452=>8720,29742=>8721,29740=>8722,29744=>8723,29739=>8724,29718=>8725,29722=>8726,29729=>8727,29741=>8728,29745=>8729,29732=>8730,29731=>8731,29725=>8732,29737=>8733,29728=>8734,29746=>8735,29947=>8736,29999=>8737,30063=>8738,30060=>8739,30183=>8740,30170=>8741,30177=>8742,30182=>8743,30173=>8744,30175=>8745,30180=>8746,30167=>8747,30357=>8748,30354=>8749,30426=>8750,30534=>8751,30535=>8752,30532=>8753,30541=>8754,30533=>8755,30538=>8756,30542=>8757,30539=>8758,30540=>8759,30686=>8760,30700=>8761,30816=>8762,30820=>8763,30821=>8764,30812=>8765,30829=>8766,30833=>8767,30826=>8768,30830=>8769,30832=>8770,30825=>8771,30824=>8772,30814=>8773,30818=>8774,31092=>8775,31091=>8776,31090=>8777,31088=>8778,31234=>8779,31242=>8780,31235=>8781,31244=>8782,31236=>8783,31385=>8784,31462=>8785,31460=>8786,31562=>8787,31559=>8788,31556=>8789,31560=>8790,31564=>8791,31566=>8792,31552=>8793,31576=>8794,31557=>8795,31906=>8796,31902=>8797,31912=>8798,31905=>8799,32088=>8800,32111=>8801,32099=>8802,32083=>8803,32086=>8804,32103=>8805,32106=>8806,32079=>8807,32109=>8808,32092=>8809,32107=>8810,32082=>8811,32084=>8812,32105=>8813,32081=>8814,32095=>8815,32078=>8816,32574=>8817,32575=>8818,32613=>8819,32614=>8820,32674=>8821,32672=>8822,32673=>8823,32727=>8824,32849=>8825,32847=>8826,32848=>8827,33022=>8828,32980=>8829,33091=>8830,33098=>8831,33106=>8832,33103=>8833,33095=>8834,33085=>8835,33101=>8836,33082=>8837,33254=>8838,33262=>8839,33271=>8840,33272=>8841,33273=>8842,33284=>8843,33340=>8844,33341=>8845,33343=>8846,33397=>8847,33595=>8848,33743=>8849,60382=>8849,33785=>8850,33827=>8851,33728=>8852,33768=>8853,33810=>8854,33767=>8855,33764=>8856,33788=>8857,33782=>8858,33808=>8859,33734=>8860,33736=>8861,33771=>8862,33763=>8863,33727=>8864,33793=>8865,33757=>8866,33765=>8867,33752=>8868,33791=>8869,33761=>8870,33739=>8871,33742=>8872,33750=>8873,33781=>8874,33737=>8875,33801=>8876,33807=>8877,58332=>8877,33758=>8878,33809=>8879,33798=>8880,33730=>8881,33779=>8882,33749=>8883,33786=>8884,33735=>8885,33745=>8886,33770=>8887,33811=>8888,33690=>8889,33731=>8890,33772=>8891,33774=>8892,33732=>8893,33787=>8894,33751=>8895,33762=>8896,33819=>8897,33755=>8898,33790=>8899,34520=>8900,34530=>8901,34534=>8902,34515=>8903,34531=>8904,34522=>8905,34538=>8906,34525=>8907,34539=>8908,34524=>8909,34540=>8910,34537=>8911,34519=>8912,34536=>8913,34513=>8914,34888=>8915,34902=>8916,34901=>8917,35002=>8918,35031=>8919,35001=>8920,35000=>8921,35008=>8922,35006=>8923,34998=>8924,35004=>8925,34999=>8926,35005=>8927,34994=>8928,35073=>8929,35017=>8930,35221=>8931,35224=>8932,35223=>8933,35293=>8934,35290=>8935,35291=>8936,35406=>8937,35405=>8938,35385=>8939,35417=>8940,35392=>8941,35415=>8942,35416=>8943,35396=>8944,35397=>8945,35410=>8946,35400=>8947,35409=>8948,35402=>8949,35404=>8950,35407=>8951,35935=>8952,35969=>8953,35968=>8954,36026=>8955,36030=>8956,36016=>8957,36025=>8958,36021=>8959,36228=>8960,36224=>8961,36233=>8962,36312=>8963,36307=>8964,36301=>8965,36295=>8966,36310=>8967,36316=>8968,36303=>8969,36309=>8970,36313=>8971,36296=>8972,36311=>8973,36293=>8974,36591=>8975,36599=>8976,36602=>8977,36601=>8978,36582=>8979,36590=>8980,36581=>8981,36597=>8982,36583=>8983,36584=>8984,36598=>8985,36587=>8986,36593=>8987,36588=>8988,36596=>8989,36585=>8990,36909=>8991,36916=>8992,36911=>8993,37126=>8994,37164=>8995,37124=>8996,60367=>8996,37119=>8997,37116=>8998,37128=>8999,37113=>9000,37115=>9001,37121=>9002,37120=>9003,37127=>9004,37125=>9005,37123=>9006,37217=>9007,37220=>9008,37215=>9009,37218=>9010,37216=>9011,37377=>9012,37386=>9013,37413=>9014,37379=>9015,37402=>9016,37414=>9017,37391=>9018,37388=>9019,37376=>9020,37394=>9021,37375=>9022,37373=>9023,37382=>9024,37380=>9025,37415=>9026,37378=>9027,37404=>9028,37412=>9029,37401=>9030,37399=>9031,37381=>9032,37398=>9033,38267=>9034,38285=>9035,38284=>9036,38288=>9037,38535=>9038,38526=>9039,38536=>9040,38537=>9041,38531=>9042,38528=>9043,38594=>9044,38600=>9045,38595=>9046,38641=>9047,38640=>9048,38764=>9049,38768=>9050,38766=>9051,38919=>9052,39081=>9053,39147=>9054,40166=>9055,12235=>9056,40697=>9056,20099=>9057,20100=>9058,20150=>9059,20669=>9060,20671=>9061,20678=>9062,20654=>9063,20676=>9064,20682=>9065,20660=>9066,20680=>9067,20674=>9068,20656=>9069,20673=>9070,20666=>9071,20657=>9072,20683=>9073,20681=>9074,20662=>9075,20664=>9076,20951=>9077,21114=>9078,21112=>9079,21115=>9080,21116=>9081,21955=>9082,21979=>9083,21964=>9084,21968=>9085,21963=>9086,21962=>9087,21981=>9088,21952=>9089,64013=>9089,21972=>9090,21956=>9091,21993=>9092,21951=>9093,21970=>9094,21901=>9095,21967=>9096,21973=>9097,21986=>9098,21974=>9099,21960=>9100,22002=>9101,21965=>9102,21977=>9103,21954=>9104,22292=>9105,22611=>9106,22632=>9107,22628=>9108,22607=>9109,22605=>9110,22601=>9111,22639=>9112,22613=>9113,22606=>9114,22621=>9115,22617=>9116,22629=>9117,22619=>9118,22589=>9119,22627=>9120,22641=>9121,22780=>9122,23239=>9123,23236=>9124,23243=>9125,23226=>9126,23224=>9127,23217=>9128,23221=>9129,23216=>9130,23231=>9131,23240=>9132,23227=>9133,23238=>9134,23223=>9135,23232=>9136,23242=>9137,23220=>9138,23222=>9139,23245=>9140,23225=>9141,23184=>9142,23510=>9143,23512=>9144,23513=>9145,23583=>9146,23603=>9147,23921=>9148,23907=>9149,23882=>9150,23909=>9151,23922=>9152,23916=>9153,23902=>9154,23912=>9155,23911=>9156,23906=>9157,24048=>9158,24143=>9159,24142=>9160,24138=>9161,24141=>9162,24139=>9163,24261=>9164,24268=>9165,24262=>9166,24267=>9167,24263=>9168,24384=>9169,24495=>9170,24493=>9171,24823=>9172,24905=>9173,24906=>9174,24875=>9175,24901=>9176,24886=>9177,24882=>9178,24878=>9179,24902=>9180,24879=>9181,24911=>9182,24873=>9183,24896=>9184,25120=>9185,37224=>9186,25123=>9187,25125=>9188,25124=>9189,25541=>9190,25585=>9191,25579=>9192,25616=>9193,25618=>9194,25609=>9195,25632=>9196,25636=>9197,25651=>9198,25667=>9199,25631=>9200,25621=>9201,25624=>9202,25657=>9203,25655=>9204,25634=>9205,25635=>9206,25612=>9207,25638=>9208,25648=>9209,25640=>9210,25665=>9211,25653=>9212,25647=>9213,25610=>9214,25626=>9215,25664=>9216,25637=>9217,25639=>9218,25611=>9219,25575=>9220,25627=>9221,25646=>9222,25633=>9223,25614=>9224,25967=>9225,26002=>9226,26067=>9227,26246=>9228,26252=>9229,26261=>9230,26256=>9231,26251=>9232,26250=>9233,26265=>9234,26260=>9235,26232=>9236,26400=>9237,26982=>9238,26975=>9239,26936=>9240,26958=>9241,26978=>9242,26993=>9243,26943=>9244,26949=>9245,26986=>9246,26937=>9247,26946=>9248,26967=>9249,26969=>9250,27002=>9251,26952=>9252,26953=>9253,26933=>9254,26988=>9255,26931=>9256,26941=>9257,26981=>9258,26864=>9259,27000=>9260,26932=>9261,26985=>9262,26944=>9263,26991=>9264,26948=>9265,26998=>9266,26968=>9267,26945=>9268,26996=>9269,26956=>9270,26939=>9271,26955=>9272,26935=>9273,26972=>9274,26959=>9275,26961=>9276,26930=>9277,26962=>9278,26927=>9279,27003=>9280,26940=>9281,27462=>9282,27461=>9283,27459=>9284,27458=>9285,27464=>9286,27457=>9287,27547=>9288,27643=>9289,27644=>9290,27641=>9291,27639=>9292,27640=>9293,28315=>9294,28374=>9295,28360=>9296,28303=>9297,28352=>9298,28319=>9299,28307=>9300,28308=>9301,28320=>9302,28337=>9303,28345=>9304,28358=>9305,28370=>9306,28349=>9307,28353=>9308,28318=>9309,28361=>9310,28343=>9311,28336=>9312,28365=>9313,28326=>9314,28367=>9315,28338=>9316,28350=>9317,28355=>9318,28380=>9319,28376=>9320,28313=>9321,28306=>9322,28302=>9323,28301=>9324,28324=>9325,28321=>9326,28351=>9327,28339=>9328,28368=>9329,28362=>9330,28311=>9331,28334=>9332,28323=>9333,28999=>9334,29012=>9335,29010=>9336,29027=>9337,29024=>9338,28993=>9339,29021=>9340,29026=>9341,61080=>9341,29042=>9342,29048=>9343,29034=>9344,29025=>9345,28994=>9346,29016=>9347,28995=>9348,29003=>9349,29040=>9350,29023=>9351,29008=>9352,29011=>9353,28996=>9354,29005=>9355,29018=>9356,29263=>9357,29325=>9358,29324=>9359,29329=>9360,29328=>9361,29326=>9362,29500=>9363,29506=>9364,29499=>9365,29498=>9366,29504=>9367,29514=>9368,29513=>9369,29764=>9370,29770=>9371,29771=>9372,29778=>9373,29777=>9374,29783=>9375,29760=>9376,29775=>9377,29776=>9378,29774=>9379,29762=>9380,29766=>9381,29773=>9382,29780=>9383,29921=>9384,29951=>9385,29950=>9386,29949=>9387,29981=>9388,30073=>9389,30071=>9390,27011=>9391,30191=>9392,30223=>9393,30211=>9394,30199=>9395,30206=>9396,30204=>9397,30201=>9398,60782=>9398,30200=>9399,30224=>9400,30203=>9401,30198=>9402,30189=>9403,30197=>9404,30205=>9405,30361=>9406,30389=>9407,30429=>9408,30549=>9409,30559=>9410,30560=>9411,30546=>9412,30550=>9413,30554=>9414,30569=>9415,30567=>9416,30548=>9417,30553=>9418,30573=>9419,30688=>9420,30855=>9421,30874=>9422,30868=>9423,30863=>9424,30852=>9425,30869=>9426,30853=>9427,30854=>9428,30881=>9429,30851=>9430,30841=>9431,30873=>9432,30848=>9433,30870=>9434,30843=>9435,31100=>9436,31106=>9437,31101=>9438,31097=>9439,31249=>9440,31256=>9441,31257=>9442,31250=>9443,31255=>9444,31253=>9445,31266=>9446,31251=>9447,31259=>9448,31248=>9449,31395=>9450,31394=>9451,31390=>9452,31467=>9453,31590=>9454,31588=>9455,31597=>9456,31604=>9457,31593=>9458,31602=>9459,31589=>9460,31603=>9461,31601=>9462,31600=>9463,31585=>9464,31608=>9465,31606=>9466,31587=>9467,31922=>9468,31924=>9469,31919=>9470,32136=>9471,32134=>9472,32128=>9473,32141=>9474,32127=>9475,32133=>9476,32122=>9477,32142=>9478,32123=>9479,32131=>9480,32124=>9481,32140=>9482,32148=>9483,32132=>9484,32125=>9485,32146=>9486,32621=>9487,32619=>9488,32615=>9489,32616=>9490,32620=>9491,32678=>9492,32677=>9493,32679=>9494,32731=>9495,32732=>9496,32801=>9497,33124=>9498,33120=>9499,33143=>9500,33116=>9501,33129=>9502,33115=>9503,33122=>9504,33138=>9505,26401=>9506,33118=>9507,33142=>9508,33127=>9509,33135=>9510,33092=>9511,33121=>9512,33309=>9513,33353=>9514,33348=>9515,33344=>9516,33346=>9517,33349=>9518,34033=>9519,33855=>9520,33878=>9521,33910=>9522,33913=>9523,33935=>9524,33933=>9525,33893=>9526,33873=>9527,33856=>9528,33926=>9529,33895=>9530,33840=>9531,33869=>9532,33917=>9533,33882=>9534,33881=>9535,33908=>9536,33907=>9537,33885=>9538,34055=>9539,33886=>9540,33847=>9541,33850=>9542,33844=>9543,33914=>9544,33859=>9545,33912=>9546,33842=>9547,33861=>9548,33833=>9549,33753=>9550,33867=>9551,33839=>9552,33858=>9553,33837=>9554,33887=>9555,33904=>9556,33849=>9557,33870=>9558,33868=>9559,33874=>9560,33903=>9561,33989=>9562,33934=>9563,33851=>9564,33863=>9565,33846=>9566,33843=>9567,33896=>9568,33918=>9569,33860=>9570,33835=>9571,33888=>9572,33876=>9573,33902=>9574,33872=>9575,34571=>9576,34564=>9577,34551=>9578,34572=>9579,34554=>9580,34518=>9581,34549=>9582,34637=>9583,34552=>9584,34574=>9585,34569=>9586,34561=>9587,34550=>9588,34573=>9589,34565=>9590,35030=>9591,35019=>9592,35021=>9593,35022=>9594,35038=>9595,35035=>9596,35034=>9597,35020=>9598,35024=>9599,35205=>9600,35227=>9601,35295=>9602,35301=>9603,35300=>9604,35297=>9605,35296=>9606,35298=>9607,35292=>9608,35302=>9609,35446=>9610,35462=>9611,35455=>9612,35425=>9613,35391=>9614,35447=>9615,35458=>9616,35460=>9617,35445=>9618,35459=>9619,35457=>9620,35444=>9621,35450=>9622,35900=>9623,35915=>9624,35914=>9625,35941=>9626,35940=>9627,35942=>9628,35974=>9629,35972=>9630,35973=>9631,36044=>9632,36200=>9633,36201=>9634,36241=>9635,36236=>9636,36238=>9637,36239=>9638,36237=>9639,36243=>9640,36244=>9641,36240=>9642,36242=>9643,36336=>9644,36320=>9645,36332=>9646,36337=>9647,36334=>9648,36304=>9649,36329=>9650,36323=>9651,36322=>9652,36327=>9653,36338=>9654,36331=>9655,36340=>9656,36614=>9657,36607=>9658,36609=>9659,36608=>9660,36613=>9661,36615=>9662,36616=>9663,36610=>9664,36619=>9665,60507=>9665,36946=>9666,36927=>9667,36932=>9668,36937=>9669,36925=>9670,37136=>9671,37133=>9672,37135=>9673,37137=>9674,37142=>9675,37140=>9676,37131=>9677,37134=>9678,37230=>9679,37231=>9680,37448=>9681,37458=>9682,37424=>9683,37434=>9684,37478=>9685,37427=>9686,37477=>9687,37470=>9688,37507=>9689,37422=>9690,37450=>9691,37446=>9692,37485=>9693,37484=>9694,37455=>9695,37472=>9696,37479=>9697,37487=>9698,37430=>9699,37473=>9700,37488=>9701,37425=>9702,37460=>9703,37475=>9704,37456=>9705,37490=>9706,37454=>9707,37459=>9708,37452=>9709,37462=>9710,37426=>9711,38303=>9712,38300=>9713,38302=>9714,38299=>9715,38546=>9716,38547=>9717,38545=>9718,38551=>9719,38606=>9720,38650=>9721,38653=>9722,38648=>9723,38645=>9724,38771=>9725,38775=>9726,38776=>9727,38770=>9728,38927=>9729,38925=>9730,38926=>9731,39084=>9732,39158=>9733,39161=>9734,39343=>9735,39346=>9736,39344=>9737,39349=>9738,39597=>9739,39595=>9740,39771=>9741,40170=>9742,40173=>9743,40167=>9744,40576=>9745,12236=>9746,40701=>9746,20710=>9747,20692=>9748,20695=>9749,20712=>9750,20723=>9751,20699=>9752,20714=>9753,20701=>9754,20708=>9755,20691=>9756,20716=>9757,20720=>9758,20719=>9759,20707=>9760,20704=>9761,20952=>9762,21120=>9763,21121=>9764,21225=>9765,21227=>9766,21296=>9767,21420=>9768,22055=>9769,22037=>9770,22028=>9771,22034=>9772,22012=>9773,22031=>9774,22044=>9775,22017=>9776,22035=>9777,22018=>9778,22010=>9779,22045=>9780,22020=>9781,22015=>9782,22009=>9783,22665=>9784,22652=>9785,22672=>9786,22680=>9787,22662=>9788,22657=>9789,22655=>9790,22644=>9791,22667=>9792,22650=>9793,22663=>9794,22673=>9795,22670=>9796,22646=>9797,22658=>9798,22664=>9799,22651=>9800,22676=>9801,22671=>9802,22782=>9803,22891=>9804,23260=>9805,23278=>9806,23269=>9807,23253=>9808,23274=>9809,23258=>9810,23277=>9811,23275=>9812,23283=>9813,23266=>9814,23264=>9815,23259=>9816,23276=>9817,23262=>9818,23261=>9819,23257=>9820,23272=>9821,23263=>9822,23415=>9823,23520=>9824,23523=>9825,23651=>9826,23938=>9827,23936=>9828,23933=>9829,23942=>9830,23930=>9831,23937=>9832,23927=>9833,23946=>9834,23945=>9835,23944=>9836,23934=>9837,23932=>9838,23949=>9839,23929=>9840,23935=>9841,24152=>9842,24153=>9843,24147=>9844,24280=>9845,24273=>9846,24279=>9847,24270=>9848,24284=>9849,24277=>9850,24281=>9851,24274=>9852,24276=>9853,24388=>9854,24387=>9855,24431=>9856,24502=>9857,24876=>9858,24872=>9859,24897=>9860,24926=>9861,24945=>9862,24947=>9863,24914=>9864,24915=>9865,24946=>9866,24940=>9867,24960=>9868,24948=>9869,24916=>9870,24954=>9871,24923=>9872,24933=>9873,24891=>9874,24938=>9875,24929=>9876,24918=>9877,25129=>9878,25127=>9879,25131=>9880,25643=>9881,25677=>9882,25691=>9883,25693=>9884,25716=>9885,25718=>9886,25714=>9887,25715=>9888,25725=>9889,25717=>9890,25702=>9891,25766=>9892,25678=>9893,25730=>9894,25694=>9895,25692=>9896,25675=>9897,25683=>9898,25696=>9899,25680=>9900,25727=>9901,25663=>9902,25708=>9903,25707=>9904,25689=>9905,25701=>9906,25719=>9907,25971=>9908,26016=>9909,26273=>9910,26272=>9911,26271=>9912,26373=>9913,26372=>9914,26402=>9915,27057=>9916,27062=>9917,27081=>9918,27040=>9919,27086=>9920,27030=>9921,27056=>9922,27052=>9923,27068=>9924,27025=>9925,27033=>9926,27022=>9927,27047=>9928,27021=>9929,27049=>9930,27070=>9931,27055=>9932,27071=>9933,27076=>9934,27069=>9935,27044=>9936,27092=>9937,27065=>9938,27082=>9939,27034=>9940,27087=>9941,27059=>9942,27027=>9943,27050=>9944,27041=>9945,27038=>9946,27097=>9947,27031=>9948,27024=>9949,27074=>9950,27061=>9951,27045=>9952,27078=>9953,27466=>9954,27469=>9955,27467=>9956,27550=>9957,27551=>9958,27552=>9959,27587=>9960,27588=>9961,27646=>9962,28366=>9963,28405=>9964,28401=>9965,28419=>9966,28453=>9967,28408=>9968,28471=>9969,28411=>9970,28462=>9971,28425=>9972,28494=>9973,28441=>9974,28442=>9975,28455=>9976,28440=>9977,28475=>9978,28434=>9979,28397=>9980,28426=>9981,28470=>9982,28531=>9983,28409=>9984,28398=>9985,28461=>9986,28480=>9987,28464=>9988,28476=>9989,28469=>9990,28395=>9991,28423=>9992,28430=>9993,28483=>9994,28421=>9995,28413=>9996,28406=>9997,28473=>9998,28444=>9999,28412=>10000,28474=>10001,28447=>10002,28429=>10003,28446=>10004,28424=>10005,28449=>10006,29063=>10007,29072=>10008,29065=>10009,29056=>10010,29061=>10011,29058=>10012,29071=>10013,29051=>10014,29062=>10015,29057=>10016,29079=>10017,29252=>10018,29267=>10019,29335=>10020,29333=>10021,29331=>10022,29507=>10023,29517=>10024,29521=>10025,29516=>10026,29794=>10027,29811=>10028,29809=>10029,29813=>10030,29810=>10031,29799=>10032,29806=>10033,29952=>10034,29954=>10035,29955=>10036,30077=>10037,30096=>10038,30230=>10039,30216=>10040,30220=>10041,30229=>10042,30225=>10043,30218=>10044,30228=>10045,30392=>10046,30593=>10047,30588=>10048,30597=>10049,30594=>10050,30574=>10051,30592=>10052,30575=>10053,30590=>10054,30595=>10055,30898=>10056,30890=>10057,30900=>10058,30893=>10059,30888=>10060,30846=>10061,30891=>10062,30878=>10063,30885=>10064,30880=>10065,30892=>10066,30882=>10067,30884=>10068,31128=>10069,31114=>10070,31115=>10071,31126=>10072,31125=>10073,31124=>10074,31123=>10075,31127=>10076,31112=>10077,31122=>10078,31120=>10079,31275=>10080,31306=>10081,31280=>10082,31279=>10083,31272=>10084,31270=>10085,31400=>10086,31403=>10087,31404=>10088,31470=>10089,31624=>10090,31644=>10091,31626=>10092,31633=>10093,31632=>10094,31638=>10095,31629=>10096,31628=>10097,31643=>10098,31630=>10099,31621=>10100,31640=>10101,21124=>10102,31641=>10103,31652=>10104,31618=>10105,31931=>10106,31935=>10107,31932=>10108,31930=>10109,32167=>10110,32183=>10111,32194=>10112,32163=>10113,32170=>10114,32193=>10115,32192=>10116,32197=>10117,32157=>10118,32206=>10119,32196=>10120,32198=>10121,32203=>10122,32204=>10123,32175=>10124,32185=>10125,32150=>10126,32188=>10127,32159=>10128,32166=>10129,32174=>10130,32169=>10131,32161=>10132,32201=>10133,32627=>10134,32738=>10135,32739=>10136,32741=>10137,32734=>10138,32804=>10139,32861=>10140,32860=>10141,33161=>10142,33158=>10143,33155=>10144,33159=>10145,33165=>10146,33164=>10147,33163=>10148,33301=>10149,33943=>10150,33956=>10151,33953=>10152,33951=>10153,33978=>10154,33998=>10155,33986=>10156,33964=>10157,33966=>10158,33963=>10159,33977=>10160,33972=>10161,33985=>10162,33997=>10163,33962=>10164,33946=>10165,33969=>10166,34000=>10167,33949=>10168,33959=>10169,33979=>10170,33954=>10171,33940=>10172,33991=>10173,33996=>10174,33947=>10175,33961=>10176,33967=>10177,33960=>10178,58327=>10178,34006=>10179,33944=>10180,33974=>10181,33999=>10182,33952=>10183,34007=>10184,34004=>10185,34002=>10186,34011=>10187,33968=>10188,33937=>10189,34401=>10190,34611=>10191,34595=>10192,34600=>10193,34667=>10194,34624=>10195,34606=>10196,34590=>10197,34593=>10198,34585=>10199,34587=>10200,34627=>10201,34604=>10202,34625=>10203,34622=>10204,34630=>10205,34592=>10206,34610=>10207,34602=>10208,34605=>10209,34620=>10210,34578=>10211,34618=>10212,34609=>10213,34613=>10214,34626=>10215,34598=>10216,34599=>10217,34616=>10218,34596=>10219,34586=>10220,34608=>10221,34577=>10222,35063=>10223,35047=>10224,35057=>10225,35058=>10226,35066=>10227,35070=>10228,35054=>10229,35068=>10230,35062=>10231,35067=>10232,35056=>10233,35052=>10234,35051=>10235,35229=>10236,35233=>10237,35231=>10238,35230=>10239,35305=>10240,35307=>10241,35304=>10242,35499=>10243,35481=>10244,35467=>10245,35474=>10246,35471=>10247,35478=>10248,35901=>10249,35944=>10250,35945=>10251,36053=>10252,36047=>10253,36055=>10254,36246=>10255,36361=>10256,36354=>10257,36351=>10258,36365=>10259,36349=>10260,36362=>10261,36355=>10262,36359=>10263,36358=>10264,36357=>10265,36350=>10266,36352=>10267,36356=>10268,36624=>10269,36625=>10270,36622=>10271,36621=>10272,37155=>10273,37148=>10274,37152=>10275,37154=>10276,37151=>10277,37149=>10278,37146=>10279,37156=>10280,37153=>10281,37147=>10282,37242=>10283,37234=>10284,37241=>10285,37235=>10286,37541=>10287,37540=>10288,37494=>10289,37531=>10290,37498=>10291,37536=>10292,37524=>10293,37546=>10294,37517=>10295,37542=>10296,37530=>10297,37547=>10298,37497=>10299,37527=>10300,37503=>10301,37539=>10302,37614=>10303,37518=>10304,37506=>10305,37525=>10306,37538=>10307,37501=>10308,37512=>10309,37537=>10310,37514=>10311,37510=>10312,37516=>10313,37529=>10314,37543=>10315,37502=>10316,37511=>10317,37545=>10318,37533=>10319,37515=>10320,37421=>10321,38558=>10322,38561=>10323,38655=>10324,38744=>10325,38781=>10326,38778=>10327,38782=>10328,38787=>10329,38784=>10330,38786=>10331,38779=>10332,38788=>10333,38785=>10334,38783=>10335,38862=>10336,38861=>10337,38934=>10338,39085=>10339,39086=>10340,39170=>10341,39168=>10342,39175=>10343,39325=>10344,39324=>10345,39363=>10346,39353=>10347,39355=>10348,39354=>10349,39362=>10350,39357=>10351,39367=>10352,39601=>10353,39651=>10354,39655=>10355,39742=>10356,39743=>10357,39776=>10358,39777=>10359,39775=>10360,40177=>10361,40178=>10362,40181=>10363,40615=>10364,20735=>10365,20739=>10366,20784=>10367,20728=>10368,20742=>10369,20743=>10370,20726=>10371,20734=>10372,20747=>10373,20748=>10374,20733=>10375,20746=>10376,21131=>10377,21132=>10378,21233=>10379,21231=>10380,22088=>10381,22082=>10382,22092=>10383,22069=>10384,22081=>10385,22090=>10386,22089=>10387,22086=>10388,22104=>10389,22106=>10390,22080=>10391,22067=>10392,22077=>10393,22060=>10394,22078=>10395,22072=>10396,22058=>10397,22074=>10398,22298=>10399,22699=>10400,22685=>10401,22705=>10402,22688=>10403,22691=>10404,22703=>10405,22700=>10406,22693=>10407,22689=>10408,22783=>10409,23295=>10410,23284=>10411,23293=>10412,23287=>10413,23286=>10414,23299=>10415,23288=>10416,23298=>10417,23289=>10418,23297=>10419,23303=>10420,23301=>10421,23311=>10422,23655=>10423,23961=>10424,23959=>10425,23967=>10426,23954=>10427,23970=>10428,23955=>10429,23957=>10430,23968=>10431,23964=>10432,23969=>10433,23962=>10434,23966=>10435,24169=>10436,24157=>10437,24160=>10438,24156=>10439,32243=>10440,24283=>10441,24286=>10442,24289=>10443,24393=>10444,24498=>10445,24971=>10446,24963=>10447,24953=>10448,25009=>10449,25008=>10450,24994=>10451,24969=>10452,24987=>10453,24979=>10454,25007=>10455,25005=>10456,24991=>10457,24978=>10458,25002=>10459,24993=>10460,24973=>10461,24934=>10462,25011=>10463,25133=>10464,25710=>10465,25712=>10466,25750=>10467,25760=>10468,25733=>10469,25751=>10470,25756=>10471,25743=>10472,25739=>10473,25738=>10474,25740=>10475,25763=>10476,25759=>10477,25704=>10478,25777=>10479,25752=>10480,25974=>10481,25978=>10482,25977=>10483,25979=>10484,26034=>10485,26035=>10486,26293=>10487,26288=>10488,26281=>10489,26290=>10490,26295=>10491,26282=>10492,26287=>10493,27136=>10494,27142=>10495,27159=>10496,27109=>10497,27128=>10498,27157=>10499,27121=>10500,27108=>10501,27168=>10502,27135=>10503,27116=>10504,27106=>10505,27163=>10506,27165=>10507,27134=>10508,27175=>10509,27122=>10510,27118=>10511,27156=>10512,27127=>10513,27111=>10514,27200=>10515,27144=>10516,27110=>10517,27131=>10518,27149=>10519,27132=>10520,27115=>10521,27145=>10522,27140=>10523,27160=>10524,27173=>10525,27151=>10526,27126=>10527,27174=>10528,27143=>10529,27124=>10530,27158=>10531,27473=>10532,27557=>10533,27555=>10534,27554=>10535,27558=>10536,27649=>10537,27648=>10538,27647=>10539,27650=>10540,28481=>10541,28454=>10542,28542=>10543,28551=>10544,28614=>10545,28562=>10546,28557=>10547,28553=>10548,28556=>10549,28514=>10550,28495=>10551,28549=>10552,28506=>10553,28566=>10554,28534=>10555,28524=>10556,28546=>10557,28501=>10558,28530=>10559,28498=>10560,28496=>10561,28503=>10562,28564=>10563,28563=>10564,28509=>10565,28416=>10566,28513=>10567,28523=>10568,28541=>10569,28519=>10570,28560=>10571,28499=>10572,28555=>10573,28521=>10574,28543=>10575,28565=>10576,28515=>10577,28535=>10578,28522=>10579,28539=>10580,29106=>10581,29103=>10582,29083=>10583,29104=>10584,29088=>10585,29082=>10586,29097=>10587,29109=>10588,29085=>10589,29093=>10590,29086=>10591,29092=>10592,29089=>10593,29098=>10594,29084=>10595,29095=>10596,29107=>10597,29336=>10598,29338=>10599,29528=>10600,29522=>10601,29534=>10602,29535=>10603,29536=>10604,29533=>10605,29531=>10606,29537=>10607,29530=>10608,29529=>10609,29538=>10610,29831=>10611,29833=>10612,29834=>10613,29830=>10614,29825=>10615,29821=>10616,29829=>10617,29832=>10618,29820=>10619,29817=>10620,58868=>10620,29960=>10621,29959=>10622,30078=>10623,30245=>10624,30238=>10625,30233=>10626,30237=>10627,30236=>10628,30243=>10629,30234=>10630,30248=>10631,30235=>10632,30364=>10633,30365=>10634,30366=>10635,30363=>10636,30605=>10637,30607=>10638,30601=>10639,30600=>10640,30925=>10641,30907=>10642,30927=>10643,30924=>10644,30929=>10645,30926=>10646,30932=>10647,30920=>10648,30915=>10649,30916=>10650,30921=>10651,31130=>10652,31137=>10653,31136=>10654,31132=>10655,31138=>10656,31131=>10657,59175=>10657,27510=>10658,31289=>10659,31410=>10660,31412=>10661,31411=>10662,31671=>10663,31691=>10664,31678=>10665,31660=>10666,31694=>10667,31663=>10668,31673=>10669,31690=>10670,31669=>10671,31941=>10672,31944=>10673,31948=>10674,31947=>10675,32247=>10676,32219=>10677,32234=>10678,32231=>10679,32215=>10680,32225=>10681,32259=>10682,32250=>10683,32230=>10684,32246=>10685,32241=>10686,32240=>10687,32238=>10688,32223=>10689,32630=>10690,32684=>10691,32688=>10692,32685=>10693,32749=>10694,32747=>10695,32746=>10696,32748=>10697,32742=>10698,32744=>10699,32868=>10700,32871=>10701,33187=>10702,33183=>10703,33182=>10704,33173=>10705,33186=>10706,33177=>10707,33175=>10708,33302=>10709,33359=>10710,33363=>10711,33362=>10712,33360=>10713,33358=>10714,33361=>10715,34084=>10716,34107=>10717,34063=>10718,34048=>10719,34089=>10720,34062=>10721,34057=>10722,34061=>10723,34079=>10724,34058=>10725,34087=>10726,34076=>10727,34043=>10728,34091=>10729,34042=>10730,34056=>10731,34060=>10732,34036=>10733,34090=>10734,34034=>10735,34069=>10736,34039=>10737,34027=>10738,34035=>10739,34044=>10740,34066=>10741,34026=>10742,34025=>10743,34070=>10744,34046=>10745,34088=>10746,34077=>10747,34094=>10748,34050=>10749,34045=>10750,34078=>10751,34038=>10752,34097=>10753,34086=>10754,34023=>10755,34024=>10756,34032=>10757,34031=>10758,34041=>10759,34072=>10760,34080=>10761,34096=>10762,34059=>10763,34073=>10764,34095=>10765,34402=>10766,34646=>10767,34659=>10768,34660=>10769,34679=>10770,34785=>10771,34675=>10772,34648=>10773,34644=>10774,34651=>10775,34642=>10776,34657=>10777,34650=>10778,34641=>10779,34654=>10780,34669=>10781,34666=>10782,34640=>10783,34638=>10784,34655=>10785,34653=>10786,34671=>10787,34668=>10788,34682=>10789,34670=>10790,34652=>10791,34661=>10792,34639=>10793,34683=>10794,34677=>10795,34658=>10796,34663=>10797,34665=>10798,34906=>10799,35077=>10800,35084=>10801,35092=>10802,35083=>10803,35095=>10804,35096=>10805,35097=>10806,35078=>10807,35094=>10808,35089=>10809,35086=>10810,35081=>10811,35234=>10812,35236=>10813,35235=>10814,35309=>10815,35312=>10816,35308=>10817,35535=>10818,35526=>10819,35512=>10820,35539=>10821,35537=>10822,35540=>10823,35541=>10824,35515=>10825,35543=>10826,35518=>10827,35520=>10828,35525=>10829,35544=>10830,35523=>10831,35514=>10832,35517=>10833,35545=>10834,35902=>10835,35917=>10836,35983=>10837,36069=>10838,36063=>10839,36057=>10840,36072=>10841,36058=>10842,36061=>10843,36071=>10844,36256=>10845,36252=>10846,36257=>10847,36251=>10848,36384=>10849,36387=>10850,36389=>10851,36388=>10852,36398=>10853,36373=>10854,36379=>10855,36374=>10856,36369=>10857,36377=>10858,36390=>10859,36391=>10860,36372=>10861,36370=>10862,36376=>10863,36371=>10864,36380=>10865,36375=>10866,36378=>10867,36652=>10868,36644=>10869,36632=>10870,36634=>10871,36640=>10872,36643=>10873,36630=>10874,36631=>10875,36979=>10876,36976=>10877,36975=>10878,36967=>10879,36971=>10880,37167=>10881,37163=>10882,37161=>10883,37162=>10884,37170=>10885,37158=>10886,37166=>10887,37253=>10888,37254=>10889,37258=>10890,37249=>10891,37250=>10892,37252=>10893,37248=>10894,37584=>10895,37571=>10896,37572=>10897,37568=>10898,37593=>10899,37558=>10900,37583=>10901,37617=>10902,37599=>10903,37592=>10904,37609=>10905,37591=>10906,37597=>10907,37580=>10908,37615=>10909,37570=>10910,37608=>10911,37578=>10912,37576=>10913,37582=>10914,37606=>10915,37581=>10916,37589=>10917,37577=>10918,37600=>10919,37598=>10920,37607=>10921,37585=>10922,37587=>10923,37557=>10924,37601=>10925,37669=>10926,37574=>10927,37556=>10928,38268=>10929,38316=>10930,38315=>10931,38318=>10932,38320=>10933,38564=>10934,38562=>10935,38611=>10936,38661=>10937,38664=>10938,38658=>10939,38746=>10940,38794=>10941,38798=>10942,38792=>10943,38864=>10944,38863=>10945,38942=>10946,38941=>10947,38950=>10948,38953=>10949,38952=>10950,38944=>10951,38939=>10952,38951=>10953,39090=>10954,39176=>10955,39162=>10956,39185=>10957,39188=>10958,39190=>10959,39191=>10960,39189=>10961,39388=>10962,39373=>10963,39375=>10964,39379=>10965,39380=>10966,39374=>10967,39369=>10968,39382=>10969,60270=>10969,39384=>10970,39371=>10971,39383=>10972,39372=>10973,39603=>10974,39660=>10975,39659=>10976,39667=>10977,39666=>10978,39665=>10979,39750=>10980,39747=>10981,39783=>10982,39796=>10983,39793=>10984,39782=>10985,39798=>10986,39797=>10987,39792=>10988,39784=>10989,39780=>10990,39788=>10991,40188=>10992,40186=>10993,40189=>10994,40191=>10995,40183=>10996,40199=>10997,40192=>10998,40185=>10999,40187=>11000,40200=>11001,40197=>11002,40196=>11003,40579=>11004,40659=>11005,40719=>11006,40720=>11007,20764=>11008,20755=>11009,20759=>11010,20762=>11011,20753=>11012,20958=>11013,21300=>11014,21473=>11015,22128=>11016,22112=>11017,22126=>11018,22131=>11019,22118=>11020,22115=>11021,22125=>11022,22130=>11023,22110=>11024,22135=>11025,22300=>11026,22299=>11027,22728=>11028,22717=>11029,22729=>11030,22719=>11031,22714=>11032,22722=>11033,22716=>11034,22726=>11035,23319=>11036,23321=>11037,23323=>11038,23329=>11039,23316=>11040,23315=>11041,23312=>11042,23318=>11043,23336=>11044,59539=>11044,23322=>11045,23328=>11046,23326=>11047,23535=>11048,23980=>11049,23985=>11050,23977=>11051,23975=>11052,23989=>11053,23984=>11054,23982=>11055,23978=>11056,23976=>11057,23986=>11058,23981=>11059,23983=>11060,23988=>11061,24167=>11062,24168=>11063,24166=>11064,24175=>11065,24297=>11066,24295=>11067,24294=>11068,24296=>11069,24293=>11070,24395=>11071,24508=>11072,24507=>11073,24989=>11074,25000=>11075,24982=>11076,25029=>11077,25012=>11078,25030=>11079,25025=>11080,25036=>11081,25018=>11082,25023=>11083,25016=>11084,24972=>11085,25815=>11086,25814=>11087,25808=>11088,25807=>11089,25801=>11090,25789=>11091,25737=>11092,25795=>11093,25819=>11094,25843=>11095,25817=>11096,25907=>11097,25983=>11098,25980=>11099,26018=>11100,26312=>11101,26302=>11102,26304=>11103,26314=>11104,26315=>11105,26319=>11106,26301=>11107,26299=>11108,26298=>11109,26316=>11110,26403=>11111,27188=>11112,27238=>11113,27209=>11114,27239=>11115,27186=>11116,27240=>11117,27198=>11118,27229=>11119,27245=>11120,27254=>11121,27227=>11122,27217=>11123,27176=>11124,27226=>11125,27195=>11126,27199=>11127,27201=>11128,27242=>11129,27236=>11130,27216=>11131,27215=>11132,27220=>11133,27247=>11134,27241=>11135,27232=>11136,27196=>11137,27230=>11138,27222=>11139,27221=>11140,27213=>11141,27214=>11142,27206=>11143,27477=>11144,27476=>11145,27478=>11146,27559=>11147,27562=>11148,27563=>11149,27592=>11150,27591=>11151,27652=>11152,27651=>11153,27654=>11154,28589=>11155,28619=>11156,28579=>11157,28615=>11158,28604=>11159,28622=>11160,28616=>11161,28510=>11162,28612=>11163,28605=>11164,28574=>11165,28618=>11166,28584=>11167,28676=>11168,28581=>11169,28590=>11170,28602=>11171,28588=>11172,28586=>11173,28623=>11174,28607=>11175,28600=>11176,28578=>11177,28617=>11178,28587=>11179,28621=>11180,28591=>11181,28594=>11182,28592=>11183,29125=>11184,29122=>11185,29119=>11186,29112=>11187,29142=>11188,29120=>11189,29121=>11190,29131=>11191,29140=>11192,29130=>11193,29127=>11194,29135=>11195,29117=>11196,29144=>11197,29116=>11198,29126=>11199,29146=>11200,29147=>11201,29341=>11202,29342=>11203,29545=>11204,29542=>11205,29543=>11206,29548=>11207,29541=>11208,29547=>11209,29546=>11210,29823=>11211,29850=>11212,29856=>11213,29844=>11214,29842=>11215,29845=>11216,29857=>11217,29963=>11218,30080=>11219,30255=>11220,30253=>11221,30257=>11222,30269=>11223,30259=>11224,30268=>11225,30261=>11226,30258=>11227,30256=>11228,30395=>11229,30438=>11230,30618=>11231,30621=>11232,30625=>11233,30620=>11234,30619=>11235,30626=>11236,30627=>11237,30613=>11238,30617=>11239,30615=>11240,30941=>11241,30953=>11242,30949=>11243,30954=>11244,30942=>11245,30947=>11246,30939=>11247,30945=>11248,30946=>11249,30957=>11250,30943=>11251,30944=>11252,31140=>11253,31300=>11254,31304=>11255,31303=>11256,31414=>11257,31416=>11258,31413=>11259,31409=>11260,31415=>11261,31710=>11262,31715=>11263,31719=>11264,31709=>11265,31701=>11266,31717=>11267,31706=>11268,31720=>11269,31737=>11270,31700=>11271,31722=>11272,31714=>11273,31708=>11274,31723=>11275,31704=>11276,31711=>11277,31954=>11278,31956=>11279,31959=>11280,31952=>11281,31953=>11282,32274=>11283,32289=>11284,32279=>11285,32268=>11286,32287=>11287,32288=>11288,32275=>11289,32270=>11290,32284=>11291,32277=>11292,32282=>11293,32290=>11294,32267=>11295,32271=>11296,32278=>11297,32269=>11298,32276=>11299,32293=>11300,32292=>11301,32579=>11302,32635=>11303,32636=>11304,32634=>11305,32689=>11306,32751=>11307,32810=>11308,32809=>11309,32876=>11310,33201=>11311,33190=>11312,33198=>11313,33209=>11314,33205=>11315,33195=>11316,33200=>11317,33196=>11318,33204=>11319,33202=>11320,33207=>11321,33191=>11322,33266=>11323,33365=>11324,33366=>11325,33367=>11326,34134=>11327,34117=>11328,34155=>11329,34125=>11330,34131=>11331,34145=>11332,34136=>11333,34112=>11334,34118=>11335,34148=>11336,34113=>11337,34146=>11338,34116=>11339,34129=>11340,34119=>11341,34147=>11342,34110=>11343,34139=>11344,34161=>11345,34126=>11346,34158=>11347,34165=>11348,34133=>11349,34151=>11350,34144=>11351,34188=>11352,34150=>11353,34141=>11354,34132=>11355,34149=>11356,34156=>11357,34403=>11358,34405=>11359,34404=>11360,34724=>11361,34715=>11362,34703=>11363,34711=>11364,34707=>11365,34706=>11366,34696=>11367,34689=>11368,34710=>11369,34712=>11370,34681=>11371,34695=>11372,34723=>11373,34693=>11374,34704=>11375,34705=>11376,34717=>11377,34692=>11378,34708=>11379,34716=>11380,34714=>11381,34697=>11382,35102=>11383,35110=>11384,35120=>11385,35117=>11386,35118=>11387,35111=>11388,35121=>11389,35106=>11390,35113=>11391,35107=>11392,35119=>11393,35116=>11394,35103=>11395,35313=>11396,35552=>11397,35554=>11398,35570=>11399,35572=>11400,35573=>11401,35549=>11402,35604=>11403,35556=>11404,35551=>11405,35568=>11406,35528=>11407,35550=>11408,35553=>11409,35560=>11410,35583=>11411,35567=>11412,35579=>11413,35985=>11414,35986=>11415,35984=>11416,36085=>11417,36078=>11418,36081=>11419,36080=>11420,36083=>11421,36204=>11422,36206=>11423,36261=>11424,36263=>11425,36403=>11426,36414=>11427,36408=>11428,36416=>11429,36421=>11430,36406=>11431,36412=>11432,36413=>11433,36417=>11434,36400=>11435,36415=>11436,36541=>11437,36662=>11438,60329=>11438,36654=>11439,36661=>11440,36658=>11441,36665=>11442,36663=>11443,36660=>11444,36982=>11445,36985=>11446,36987=>11447,36998=>11448,37114=>11449,37171=>11450,37173=>11451,37174=>11452,37267=>11453,37264=>11454,37265=>11455,37261=>11456,37263=>11457,37671=>11458,37662=>11459,37640=>11460,37663=>11461,37638=>11462,37647=>11463,37754=>11464,37688=>11465,37692=>11466,37659=>11467,37667=>11468,37650=>11469,37633=>11470,37702=>11471,37677=>11472,37646=>11473,37645=>11474,37579=>11475,37661=>11476,37626=>11477,37651=>11478,37625=>11479,37623=>11480,37684=>11481,37634=>11482,37668=>11483,37631=>11484,37673=>11485,37689=>11486,37685=>11487,37674=>11488,37652=>11489,37644=>11490,37643=>11491,37630=>11492,37641=>11493,37632=>11494,37627=>11495,37654=>11496,38332=>11497,38349=>11498,38334=>11499,38329=>11500,38330=>11501,38326=>11502,38335=>11503,38325=>11504,38333=>11505,38569=>11506,38612=>11507,38667=>11508,38674=>11509,38672=>11510,38809=>11511,38807=>11512,38804=>11513,38896=>11514,38904=>11515,38965=>11516,38959=>11517,38962=>11518,39204=>11519,39199=>11520,39207=>11521,39209=>11522,39326=>11523,39406=>11524,39404=>11525,39397=>11526,39396=>11527,39408=>11528,39395=>11529,39402=>11530,39401=>11531,39399=>11532,39609=>11533,39615=>11534,39604=>11535,39611=>11536,39670=>11537,39674=>11538,39673=>11539,39671=>11540,39731=>11541,39808=>11542,39813=>11543,39815=>11544,39804=>11545,39806=>11546,39803=>11547,39810=>11548,39827=>11549,39826=>11550,39824=>11551,39802=>11552,39829=>11553,39805=>11554,39816=>11555,40229=>11556,40215=>11557,40224=>11558,40222=>11559,40212=>11560,40233=>11561,40221=>11562,40216=>11563,40226=>11564,40208=>11565,40217=>11566,40223=>11567,40584=>11568,40582=>11569,40583=>11570,40622=>11571,40621=>11572,40661=>11573,40662=>11574,40698=>11575,40722=>11576,40765=>11577,20774=>11578,20773=>11579,20770=>11580,20772=>11581,20768=>11582,20777=>11583,21236=>11584,22163=>11585,22156=>11586,22157=>11587,22150=>11588,22148=>11589,22147=>11590,22142=>11591,22146=>11592,22143=>11593,22145=>11594,22742=>11595,22740=>11596,22735=>11597,22738=>11598,23341=>11599,23333=>11600,23346=>11601,23331=>11602,23340=>11603,23335=>11604,23334=>11605,23343=>11606,23342=>11607,23419=>11608,23537=>11609,23538=>11610,23991=>11611,24172=>11612,24170=>11613,24510=>11614,25027=>11615,25013=>11616,25020=>11617,25063=>11618,25056=>11619,25061=>11620,25060=>11621,25064=>11622,25054=>11623,25839=>11624,25833=>11625,25827=>11626,25835=>11627,25828=>11628,25832=>11629,25985=>11630,25984=>11631,26038=>11632,26074=>11633,26322=>11634,27277=>11635,27286=>11636,27265=>11637,27301=>11638,27273=>11639,27295=>11640,27291=>11641,27297=>11642,27294=>11643,27271=>11644,27283=>11645,27278=>11646,27285=>11647,27267=>11648,27304=>11649,27300=>11650,27281=>11651,27263=>11652,27302=>11653,27290=>11654,27269=>11655,27276=>11656,27282=>11657,27483=>11658,27565=>11659,27657=>11660,28620=>11661,28585=>11662,28660=>11663,28628=>11664,28643=>11665,28636=>11666,28653=>11667,28647=>11668,28646=>11669,28638=>11670,28658=>11671,28637=>11672,28642=>11673,28648=>11674,29153=>11675,29169=>11676,29160=>11677,29170=>11678,29156=>11679,29168=>11680,29154=>11681,29555=>11682,29550=>11683,29551=>11684,29847=>11685,29874=>11686,29867=>11687,29840=>11688,29866=>11689,29869=>11690,29873=>11691,29861=>11692,29871=>11693,29968=>11694,29969=>11695,29970=>11696,29967=>11697,30084=>11698,30275=>11699,30280=>11700,30281=>11701,30279=>11702,30372=>11703,30441=>11704,30645=>11705,30635=>11706,30642=>11707,30647=>11708,30646=>11709,30644=>11710,30641=>11711,30632=>11712,30704=>11713,30963=>11714,30973=>11715,30978=>11716,30971=>11717,30972=>11718,30975=>11719,30962=>11720,30981=>11721,30969=>11722,30974=>11723,30980=>11724,31147=>11725,31144=>11726,31324=>11727,31323=>11728,31318=>11729,31320=>11730,31316=>11731,31322=>11732,31422=>11733,31424=>11734,31425=>11735,31749=>11736,31759=>11737,31730=>11738,31744=>11739,31743=>11740,31739=>11741,31758=>11742,31732=>11743,31755=>11744,31731=>11745,31746=>11746,31753=>11747,31747=>11748,31745=>11749,31736=>11750,31741=>11751,31750=>11752,58176=>11752,31728=>11753,31729=>11754,31760=>11755,31754=>11756,31976=>11757,32301=>11758,32316=>11759,32322=>11760,32307=>11761,38984=>11762,32312=>11763,32298=>11764,32329=>11765,32320=>11766,32327=>11767,32297=>11768,32332=>11769,32304=>11770,32315=>11771,32310=>11772,32324=>11773,32314=>11774,32581=>11775,32639=>11776,32638=>11777,32637=>11778,32756=>11779,32754=>11780,32812=>11781,33211=>11782,33220=>11783,33228=>11784,33226=>11785,33221=>11786,33223=>11787,33212=>11788,33257=>11789,33371=>11790,33370=>11791,33372=>11792,34179=>11793,34176=>11794,34191=>11795,34215=>11796,34197=>11797,34208=>11798,34187=>11799,34211=>11800,34171=>11801,34212=>11802,34202=>11803,34206=>11804,34167=>11805,34172=>11806,34185=>11807,34209=>11808,34170=>11809,34168=>11810,34135=>11811,34190=>11812,34198=>11813,34182=>11814,34189=>11815,34201=>11816,34205=>11817,34177=>11818,34210=>11819,34178=>11820,34184=>11821,34181=>11822,34169=>11823,34166=>11824,34200=>11825,34192=>11826,34207=>11827,34408=>11828,34750=>11829,34730=>11830,34733=>11831,34757=>11832,34736=>11833,34732=>11834,34745=>11835,34741=>11836,34748=>11837,34734=>11838,34761=>11839,34755=>11840,34754=>11841,34764=>11842,34743=>11843,34735=>11844,34756=>11845,34762=>11846,34740=>11847,34742=>11848,34751=>11849,34744=>11850,34749=>11851,34782=>11852,34738=>11853,35125=>11854,35123=>11855,35132=>11856,35134=>11857,35137=>11858,35154=>11859,35127=>11860,35138=>11861,35245=>11862,35247=>11863,35246=>11864,35314=>11865,35315=>11866,35614=>11867,35608=>11868,35606=>11869,35601=>11870,35589=>11871,35595=>11872,35618=>11873,35599=>11874,35602=>11875,35605=>11876,35591=>11877,35597=>11878,35592=>11879,35590=>11880,35612=>11881,35603=>11882,35610=>11883,35919=>11884,35952=>11885,35954=>11886,35953=>11887,35951=>11888,35989=>11889,35988=>11890,36089=>11891,36207=>11892,36430=>11893,36429=>11894,36435=>11895,36432=>11896,36428=>11897,36423=>11898,36675=>11899,36672=>11900,36997=>11901,36990=>11902,37176=>11903,37274=>11904,37282=>11905,37275=>11906,37273=>11907,37279=>11908,37281=>11909,37277=>11910,37280=>11911,37793=>11912,37763=>11913,37807=>11914,37732=>11915,37718=>11916,37703=>11917,37756=>11918,37720=>11919,37724=>11920,37750=>11921,37705=>11922,37712=>11923,37713=>11924,37728=>11925,37741=>11926,37775=>11927,37708=>11928,37738=>11929,37753=>11930,37719=>11931,37717=>11932,37714=>11933,37711=>11934,37745=>11935,37751=>11936,37755=>11937,37729=>11938,37726=>11939,37731=>11940,37735=>11941,37710=>11942,37721=>11943,38343=>11944,38336=>11945,38345=>11946,38339=>11947,38341=>11948,38327=>11949,38574=>11950,38576=>11951,38572=>11952,38688=>11953,38687=>11954,38680=>11955,38685=>11956,38681=>11957,38810=>11958,38817=>11959,38812=>11960,38814=>11961,38813=>11962,38869=>11963,38868=>11964,38897=>11965,38977=>11966,38980=>11967,38986=>11968,38985=>11969,38981=>11970,38979=>11971,39205=>11972,39211=>11973,39212=>11974,39210=>11975,39219=>11976,39218=>11977,39215=>11978,39213=>11979,39217=>11980,39216=>11981,39320=>11982,39331=>11983,39329=>11984,39426=>11985,39418=>11986,39412=>11987,39415=>11988,39417=>11989,39416=>11990,39414=>11991,39419=>11992,39421=>11993,39422=>11994,39420=>11995,39427=>11996,39614=>11997,39678=>11998,39677=>11999,39681=>12000,39676=>12001,39752=>12002,39834=>12003,39848=>12004,39838=>12005,39835=>12006,39846=>12007,39841=>12008,39845=>12009,39844=>12010,39814=>12011,39842=>12012,39840=>12013,39855=>12014,40243=>12015,40257=>12016,40295=>12017,40246=>12018,40238=>12019,40239=>12020,40241=>12021,40248=>12022,40240=>12023,40261=>12024,40258=>12025,40259=>12026,40254=>12027,40247=>12028,40256=>12029,40253=>12030,32757=>12031,40237=>12032,40586=>12033,40585=>12034,40589=>12035,40624=>12036,40648=>12037,40666=>12038,40699=>12039,40703=>12040,40740=>12041,40739=>12042,40738=>12043,40788=>12044,12245=>12045,40864=>12045,20785=>12046,20781=>12047,20782=>12048,22168=>12049,22172=>12050,22167=>12051,22170=>12052,22173=>12053,22169=>12054,22896=>12055,23356=>12056,23657=>12057,23658=>12058,24000=>12059,24173=>12060,24174=>12061,25048=>12062,25055=>12063,25069=>12064,25070=>12065,25073=>12066,25066=>12067,25072=>12068,25067=>12069,25046=>12070,25065=>12071,25855=>12072,25860=>12073,25853=>12074,25848=>12075,25857=>12076,25859=>12077,25852=>12078,26004=>12079,26075=>12080,26330=>12081,26331=>12082,26328=>12083,27333=>12084,27321=>12085,27325=>12086,27361=>12087,27334=>12088,27322=>12089,27318=>12090,27319=>12091,27335=>12092,27316=>12093,27309=>12094,27486=>12095,27593=>12096,27659=>12097,28679=>12098,28684=>12099,28685=>12100,28673=>12101,28677=>12102,28692=>12103,28686=>12104,28671=>12105,28672=>12106,28667=>12107,28710=>12108,28668=>12109,28663=>12110,28682=>12111,29185=>12112,60224=>12112,29183=>12113,29177=>12114,29187=>12115,29181=>12116,29558=>12117,29880=>12118,29888=>12119,29877=>12120,29889=>12121,29886=>12122,29878=>12123,29883=>12124,29890=>12125,29972=>12126,29971=>12127,30300=>12128,30308=>12129,30297=>12130,30288=>12131,30291=>12132,30295=>12133,30298=>12134,30374=>12135,30397=>12136,30444=>12137,30658=>12138,30650=>12139,30988=>12140,30995=>12141,30996=>12142,30985=>12143,30992=>12144,30994=>12145,30993=>12146,31149=>12147,31148=>12148,31327=>12149,31772=>12150,31785=>12151,31769=>12152,31776=>12153,31775=>12154,31789=>12155,31773=>12156,31782=>12157,31784=>12158,31778=>12159,31781=>12160,31792=>12161,32348=>12162,32336=>12163,32342=>12164,32355=>12165,32344=>12166,32354=>12167,32351=>12168,32337=>12169,32352=>12170,32343=>12171,32339=>12172,32693=>12173,32691=>12174,32759=>12175,32760=>12176,32885=>12177,33233=>12178,33234=>12179,33232=>12180,33375=>12181,33374=>12182,34228=>12183,34246=>12184,34240=>12185,34243=>12186,34242=>12187,34227=>12188,34229=>12189,34237=>12190,34247=>12191,34244=>12192,34239=>12193,34251=>12194,34254=>12195,34248=>12196,34245=>12197,34225=>12198,34230=>12199,34258=>12200,34340=>12201,34232=>12202,34231=>12203,34238=>12204,34409=>12205,34791=>12206,34790=>12207,34786=>12208,34779=>12209,34795=>12210,34794=>12211,34789=>12212,34783=>12213,34803=>12214,34788=>12215,34772=>12216,34780=>12217,34771=>12218,34797=>12219,34776=>12220,34787=>12221,34775=>12222,34777=>12223,34817=>12224,34804=>12225,34792=>12226,34781=>12227,35155=>12228,35147=>12229,35151=>12230,35148=>12231,35142=>12232,35152=>12233,35153=>12234,35145=>12235,35626=>12236,35623=>12237,35619=>12238,35635=>12239,35632=>12240,35637=>12241,35655=>12242,35631=>12243,35644=>12244,35646=>12245,35633=>12246,35621=>12247,35639=>12248,35622=>12249,35638=>12250,35630=>12251,35620=>12252,35643=>12253,35645=>12254,35642=>12255,35906=>12256,35957=>12257,35993=>12258,35992=>12259,35991=>12260,36094=>12261,36100=>12262,36098=>12263,36096=>12264,36444=>12265,36450=>12266,36448=>12267,36439=>12268,36438=>12269,36446=>12270,36453=>12271,36455=>12272,36443=>12273,36442=>12274,36449=>12275,36445=>12276,36457=>12277,36436=>12278,36678=>12279,36679=>12280,36680=>12281,36683=>12282,37160=>12283,37178=>12284,37179=>12285,37182=>12286,37288=>12287,37285=>12288,37287=>12289,37295=>12290,37290=>12291,37813=>12292,37772=>12293,37778=>12294,37815=>12295,37787=>12296,37789=>12297,37769=>12298,37799=>12299,37774=>12300,37802=>12301,37790=>12302,37798=>12303,37781=>12304,37768=>12305,37785=>12306,37791=>12307,37760=>12308,37773=>12309,37809=>12310,37777=>12311,37810=>12312,37796=>12313,37800=>12314,37812=>12315,37795=>12316,38354=>12317,38355=>12318,38353=>12319,38579=>12320,38615=>12321,38618=>12322,24002=>12323,38623=>12324,38616=>12325,38621=>12326,38691=>12327,38690=>12328,38693=>12329,38828=>12330,38830=>12331,38824=>12332,38827=>12333,38820=>12334,38826=>12335,38818=>12336,38821=>12337,38871=>12338,38873=>12339,38870=>12340,38872=>12341,38906=>12342,38992=>12343,38993=>12344,38994=>12345,39096=>12346,39233=>12347,39228=>12348,39226=>12349,39439=>12350,39435=>12351,39433=>12352,39437=>12353,39428=>12354,39441=>12355,39434=>12356,39429=>12357,39431=>12358,39430=>12359,39616=>12360,39644=>12361,39688=>12362,39684=>12363,39685=>12364,39721=>12365,39733=>12366,39754=>12367,39756=>12368,39755=>12369,39879=>12370,39878=>12371,39875=>12372,39871=>12373,39873=>12374,39861=>12375,39864=>12376,39891=>12377,39862=>12378,39876=>12379,39865=>12380,39869=>12381,40284=>12382,40275=>12383,40271=>12384,40266=>12385,40283=>12386,40267=>12387,40281=>12388,40278=>12389,40268=>12390,40279=>12391,40274=>12392,40276=>12393,40287=>12394,40280=>12395,40282=>12396,40590=>12397,40588=>12398,40671=>12399,40705=>12400,40704=>12401,40726=>12402,58693=>12402,40741=>12403,40747=>12404,40746=>12405,40745=>12406,40744=>12407,40780=>12408,40789=>12409,20788=>12410,20789=>12411,21142=>12412,21239=>12413,21428=>12414,22187=>12415,22189=>12416,22182=>12417,22183=>12418,22186=>12419,22188=>12420,22746=>12421,22749=>12422,22747=>12423,22802=>12424,23357=>12425,23358=>12426,23359=>12427,24003=>12428,24176=>12429,24511=>12430,25083=>12431,25863=>12432,25872=>12433,25869=>12434,25865=>12435,25868=>12436,25870=>12437,25988=>12438,26078=>12439,26077=>12440,26334=>12441,27367=>12442,27360=>12443,27340=>12444,27345=>12445,27353=>12446,27339=>12447,27359=>12448,27356=>12449,27344=>12450,27371=>12451,27343=>12452,27341=>12453,27358=>12454,27488=>12455,27568=>12456,27660=>12457,28697=>12458,28711=>12459,28704=>12460,28694=>12461,28715=>12462,28705=>12463,28706=>12464,28707=>12465,28713=>12466,28695=>12467,28708=>12468,28700=>12469,29196=>12470,29194=>12471,29191=>12472,29186=>12473,29189=>12474,29349=>12475,29350=>12476,29348=>12477,29347=>12478,29345=>12479,29899=>12480,29893=>12481,29879=>12482,29891=>12483,29974=>12484,30304=>12485,30665=>12486,30666=>12487,30660=>12488,30705=>12489,31005=>12490,31003=>12491,31009=>12492,31004=>12493,30999=>12494,31006=>12495,31152=>12496,31335=>12497,31336=>12498,31795=>12499,31804=>12500,31801=>12501,31788=>12502,31803=>12503,31980=>12504,31978=>12505,32374=>12506,32373=>12507,32376=>12508,32368=>12509,32375=>12510,32367=>12511,32378=>12512,32370=>12513,32372=>12514,32360=>12515,32587=>12516,32586=>12517,32643=>12518,32646=>12519,32695=>12520,32765=>12521,32766=>12522,32888=>12523,33239=>12524,33237=>12525,33291=>12526,33380=>12527,33377=>12528,33379=>12529,34283=>12530,34289=>12531,34285=>12532,34265=>12533,34273=>12534,34280=>12535,34266=>12536,34263=>12537,34284=>12538,34290=>12539,34296=>12540,34264=>12541,34271=>12542,34275=>12543,34268=>12544,34257=>12545,34288=>12546,34278=>12547,34287=>12548,34270=>12549,34274=>12550,34816=>12551,34810=>12552,34819=>12553,34806=>12554,34807=>12555,34825=>12556,34828=>12557,34827=>12558,34822=>12559,34812=>12560,34824=>12561,34815=>12562,34826=>12563,34818=>12564,35170=>12565,35162=>12566,35163=>12567,35159=>12568,35169=>12569,35164=>12570,35160=>12571,35165=>12572,35161=>12573,35208=>12574,35255=>12575,35254=>12576,35318=>12577,35664=>12578,35656=>12579,35658=>12580,35648=>12581,35667=>12582,35670=>12583,35668=>12584,35659=>12585,35669=>12586,35665=>12587,35650=>12588,35666=>12589,35671=>12590,35907=>12591,35959=>12592,35958=>12593,35994=>12594,36102=>12595,36103=>12596,36105=>12597,36268=>12598,36266=>12599,36269=>12600,36267=>12601,36461=>12602,36472=>12603,36467=>12604,36458=>12605,36463=>12606,36475=>12607,36546=>12608,36690=>12609,36689=>12610,36687=>12611,36688=>12612,36691=>12613,36788=>12614,37184=>12615,37183=>12616,37296=>12617,37293=>12618,37854=>12619,37831=>12620,37839=>12621,37826=>12622,37850=>12623,37840=>12624,37881=>12625,37868=>12626,37836=>12627,37849=>12628,37801=>12629,37862=>12630,37834=>12631,37844=>12632,37870=>12633,37859=>12634,37845=>12635,37828=>12636,37838=>12637,37824=>12638,37842=>12639,37797=>12640,37863=>12641,38269=>12642,38362=>12643,38363=>12644,38625=>12645,38697=>12646,38699=>12647,38700=>12648,38696=>12649,38694=>12650,38835=>12651,38839=>12652,38838=>12653,38877=>12654,38878=>12655,38879=>12656,39004=>12657,39001=>12658,39005=>12659,38999=>12660,39103=>12661,39101=>12662,39099=>12663,39102=>12664,39240=>12665,39239=>12666,39235=>12667,39334=>12668,39335=>12669,39450=>12670,39445=>12671,39461=>12672,39453=>12673,39460=>12674,39451=>12675,39458=>12676,39456=>12677,39463=>12678,39459=>12679,39454=>12680,39452=>12681,39444=>12682,39618=>12683,39691=>12684,39690=>12685,39694=>12686,39692=>12687,39735=>12688,39914=>12689,39915=>12690,39904=>12691,39902=>12692,39908=>12693,39910=>12694,39906=>12695,39920=>12696,39892=>12697,39895=>12698,39916=>12699,39900=>12700,39897=>12701,39909=>12702,39893=>12703,39905=>12704,39898=>12705,40311=>12706,40321=>12707,40330=>12708,40324=>12709,40328=>12710,40305=>12711,40320=>12712,40312=>12713,40326=>12714,40331=>12715,40332=>12716,40317=>12717,40299=>12718,40308=>12719,40309=>12720,40304=>12721,40297=>12722,40325=>12723,40307=>12724,40315=>12725,40322=>12726,40303=>12727,40313=>12728,40319=>12729,40327=>12730,40296=>12731,40596=>12732,40593=>12733,40640=>12734,40700=>12735,40749=>12736,40768=>12737,40769=>12738,40781=>12739,40790=>12740,40791=>12741,40792=>12742,21303=>12743,22194=>12744,22197=>12745,22195=>12746,22755=>12747,23365=>12748,24006=>12749,24007=>12750,24302=>12751,24303=>12752,24512=>12753,24513=>12754,25081=>12755,25879=>12756,25878=>12757,25877=>12758,25875=>12759,26079=>12760,26344=>12761,26339=>12762,26340=>12763,27379=>12764,27376=>12765,27370=>12766,27368=>12767,27385=>12768,27377=>12769,27374=>12770,27375=>12771,28732=>12772,28725=>12773,28719=>12774,28727=>12775,28724=>12776,28721=>12777,28738=>12778,28728=>12779,28735=>12780,28730=>12781,28729=>12782,28714=>12783,28736=>12784,28731=>12785,28723=>12786,28737=>12787,29203=>12788,29204=>12789,29352=>12790,29565=>12791,29564=>12792,29882=>12793,30379=>12794,30378=>12795,30398=>12796,30445=>12797,30668=>12798,30670=>12799,30671=>12800,30669=>12801,30706=>12802,31013=>12803,31011=>12804,31015=>12805,31016=>12806,31012=>12807,31017=>12808,31154=>12809,31342=>12810,31340=>12811,31341=>12812,31479=>12813,31817=>12814,31816=>12815,31818=>12816,31815=>12817,31813=>12818,31982=>12819,32379=>12820,32382=>12821,32385=>12822,32384=>12823,32698=>12824,32767=>12825,32889=>12826,33243=>12827,33241=>12828,33384=>12829,33385=>12830,34338=>12831,34303=>12832,34305=>12833,34302=>12834,34331=>12835,34304=>12836,34294=>12837,34308=>12838,34313=>12839,34309=>12840,34316=>12841,34301=>12842,34841=>12843,34832=>12844,34833=>12845,34839=>12846,34835=>12847,34838=>12848,35171=>12849,35174=>12850,35257=>12851,35319=>12852,35680=>12853,35690=>12854,35677=>12855,35688=>12856,35683=>12857,35685=>12858,35687=>12859,35693=>12860,36270=>12861,36486=>12862,36488=>12863,36484=>12864,36697=>12865,36694=>12866,36695=>12867,36693=>12868,36696=>12869,36698=>12870,37005=>12871,37187=>12872,37185=>12873,37303=>12874,37301=>12875,37298=>12876,37299=>12877,37899=>12878,37907=>12879,37883=>12880,37920=>12881,37903=>12882,37908=>12883,37886=>12884,37909=>12885,37904=>12886,37928=>12887,37913=>12888,37901=>12889,37877=>12890,37888=>12891,37879=>12892,37895=>12893,37902=>12894,37910=>12895,37906=>12896,37882=>12897,37897=>12898,37880=>12899,37948=>12900,37898=>12901,37887=>12902,37884=>12903,37900=>12904,37878=>12905,37905=>12906,37894=>12907,38366=>12908,38368=>12909,38367=>12910,38702=>12911,38703=>12912,38841=>12913,38843=>12914,38909=>12915,38910=>12916,39008=>12917,39010=>12918,39011=>12919,39007=>12920,39105=>12921,39106=>12922,39248=>12923,39246=>12924,39257=>12925,39244=>12926,39243=>12927,39251=>12928,39474=>12929,39476=>12930,39473=>12931,39468=>12932,39466=>12933,39478=>12934,39465=>12935,39470=>12936,39480=>12937,39469=>12938,39623=>12939,39626=>12940,39622=>12941,39696=>12942,39698=>12943,39697=>12944,39947=>12945,39944=>12946,39927=>12947,39941=>12948,39954=>12949,39928=>12950,40000=>12951,39943=>12952,39950=>12953,39942=>12954,39959=>12955,39956=>12956,39945=>12957,40351=>12958,40345=>12959,40356=>12960,40349=>12961,40338=>12962,40344=>12963,40336=>12964,40347=>12965,40352=>12966,40340=>12967,40348=>12968,40362=>12969,40343=>12970,40353=>12971,40346=>12972,40354=>12973,40360=>12974,40350=>12975,40355=>12976,40383=>12977,40361=>12978,40342=>12979,40358=>12980,40359=>12981,40601=>12982,40603=>12983,40602=>12984,40677=>12985,40676=>12986,40679=>12987,40678=>12988,40752=>12989,40750=>12990,40795=>12991,40800=>12992,40798=>12993,40797=>12994,40793=>12995,40849=>12996,20794=>12997,20793=>12998,21144=>12999,21143=>13000,22211=>13001,22205=>13002,22206=>13003,23368=>13004,23367=>13005,24011=>13006,24015=>13007,24305=>13008,25085=>13009,25883=>13010,27394=>13011,27388=>13012,27395=>13013,27384=>13014,27392=>13015,28739=>13016,28740=>13017,28746=>13018,28744=>13019,28745=>13020,28741=>13021,28742=>13022,29213=>13023,29210=>13024,29209=>13025,29566=>13026,29975=>13027,30314=>13028,30672=>13029,31021=>13030,31025=>13031,31023=>13032,31828=>13033,31827=>13034,31986=>13035,32394=>13036,60229=>13037,32391=>13037,32392=>13038,32395=>13039,32390=>13040,32397=>13041,32589=>13042,32699=>13043,32816=>13044,33245=>13045,34328=>13046,34346=>13047,34342=>13048,34335=>13049,34339=>13050,34332=>13051,34329=>13052,34343=>13053,34350=>13054,34337=>13055,34336=>13056,34345=>13057,34334=>13058,34341=>13059,34857=>13060,34845=>13061,34843=>13062,34848=>13063,34852=>13064,34844=>13065,34859=>13066,34890=>13067,35181=>13068,35177=>13069,35182=>13070,35179=>13071,35322=>13072,35705=>13073,35704=>13074,35653=>13075,35706=>13076,35707=>13077,36112=>13078,36116=>13079,36271=>13080,36494=>13081,36492=>13082,36702=>13083,36699=>13084,36701=>13085,37190=>13086,37188=>13087,37189=>13088,37305=>13089,37951=>13090,37947=>13091,37942=>13092,37929=>13093,37949=>13094,37936=>13095,37945=>13096,37930=>13097,37943=>13098,37932=>13099,37952=>13100,37937=>13101,38373=>13102,38372=>13103,38371=>13104,38709=>13105,38714=>13106,38847=>13107,38881=>13108,39012=>13109,39113=>13110,39110=>13111,39104=>13112,39256=>13113,39254=>13114,39481=>13115,39485=>13116,39494=>13117,39492=>13118,39490=>13119,39489=>13120,39482=>13121,39487=>13122,39629=>13123,39701=>13124,39703=>13125,39704=>13126,39702=>13127,39738=>13128,39762=>13129,39979=>13130,39965=>13131,39964=>13132,39980=>13133,39971=>13134,39976=>13135,39977=>13136,39972=>13137,39969=>13138,40375=>13139,40374=>13140,40380=>13141,40385=>13142,40391=>13143,40394=>13144,40399=>13145,40382=>13146,40389=>13147,40387=>13148,40379=>13149,40373=>13150,40398=>13151,40377=>13152,40378=>13153,40364=>13154,40392=>13155,40369=>13156,40365=>13157,40396=>13158,40371=>13159,40397=>13160,40370=>13161,40570=>13162,40604=>13163,40683=>13164,40686=>13165,40685=>13166,40731=>13167,40728=>13168,40730=>13169,40753=>13170,40782=>13171,40805=>13172,40804=>13173,40850=>13174,20153=>13175,22214=>13176,22213=>13177,22219=>13178,22897=>13179,23371=>13180,23372=>13181,24021=>13182,24017=>13183,24306=>13184,25889=>13185,25888=>13186,25894=>13187,25890=>13188,27403=>13189,27400=>13190,27401=>13191,27661=>13192,28757=>13193,28758=>13194,28759=>13195,28754=>13196,29214=>13197,29215=>13198,29353=>13199,29567=>13200,29912=>13201,29909=>13202,29913=>13203,29911=>13204,30317=>13205,30381=>13206,31029=>13207,31156=>13208,31344=>13209,31345=>13210,31831=>13211,31836=>13212,31833=>13213,31835=>13214,31834=>13215,31988=>13216,31985=>13217,32401=>13218,32591=>13219,32647=>13220,33246=>13221,33387=>13222,34356=>13223,34357=>13224,34355=>13225,34348=>13226,34354=>13227,34358=>13228,34860=>13229,34856=>13230,34854=>13231,34858=>13232,34853=>13233,35185=>13234,35263=>13235,35262=>13236,35323=>13237,35710=>13238,35716=>13239,35714=>13240,35718=>13241,35717=>13242,35711=>13243,36117=>13244,36501=>13245,36500=>13246,36506=>13247,36498=>13248,36496=>13249,36502=>13250,36503=>13251,36704=>13252,36706=>13253,37191=>13254,37964=>13255,37968=>13256,37962=>13257,37963=>13258,37967=>13259,37959=>13260,37957=>13261,37960=>13262,37961=>13263,37958=>13264,38719=>13265,38883=>13266,39018=>13267,39017=>13268,39115=>13269,39252=>13270,39259=>13271,39502=>13272,39507=>13273,39508=>13274,39500=>13275,39503=>13276,39496=>13277,39498=>13278,39497=>13279,39506=>13280,39504=>13281,39632=>13282,39705=>13283,39723=>13284,39739=>13285,39766=>13286,39765=>13287,40006=>13288,40008=>13289,39999=>13290,40004=>13291,39993=>13292,39987=>13293,40001=>13294,39996=>13295,39991=>13296,39988=>13297,39986=>13298,39997=>13299,39990=>13300,40411=>13301,40402=>13302,40414=>13303,40410=>13304,40395=>13305,40400=>13306,40412=>13307,40401=>13308,40415=>13309,40425=>13310,40409=>13311,40408=>13312,40406=>13313,40437=>13314,40405=>13315,40413=>13316,40630=>13317,40688=>13318,40757=>13319,40755=>13320,40754=>13321,40770=>13322,40811=>13323,40853=>13324,40866=>13325,20797=>13326,21145=>13327,22760=>13328,22759=>13329,22898=>13330,23373=>13331,24024=>13332,34863=>13333,24399=>13334,25089=>13335,25091=>13336,25092=>13337,25897=>13338,25893=>13339,26006=>13340,26347=>13341,27409=>13342,27410=>13343,27407=>13344,27594=>13345,28763=>13346,28762=>13347,29218=>13348,29570=>13349,29569=>13350,29571=>13351,30320=>13352,30676=>13353,31847=>13354,31846=>13355,32405=>13356,33388=>13357,34362=>13358,34368=>13359,34361=>13360,34364=>13361,34353=>13362,34363=>13363,34366=>13364,34864=>13365,34866=>13366,34862=>13367,34867=>13368,35190=>13369,35188=>13370,35187=>13371,35326=>13372,35724=>13373,35726=>13374,35723=>13375,35720=>13376,35909=>13377,36121=>13378,36504=>13379,36708=>13380,36707=>13381,37308=>13382,37986=>13383,37973=>13384,37981=>13385,37975=>13386,37982=>13387,38852=>13388,38853=>13389,38912=>13390,39510=>13391,39513=>13392,39710=>13393,39711=>13394,39712=>13395,40018=>13396,40024=>13397,40016=>13398,40010=>13399,40013=>13400,40011=>13401,40021=>13402,40025=>13403,40012=>13404,40014=>13405,40443=>13406,40439=>13407,40431=>13408,40419=>13409,40427=>13410,40440=>13411,40420=>13412,40438=>13413,40417=>13414,40430=>13415,40422=>13416,40434=>13417,40432=>13418,60370=>13418,40418=>13419,40428=>13420,40436=>13421,40435=>13422,40424=>13423,40429=>13424,40642=>13425,40656=>13426,40690=>13427,40691=>13428,40710=>13429,40732=>13430,40760=>13431,40759=>13432,40758=>13433,40771=>13434,40783=>13435,40817=>13436,40816=>13437,40814=>13438,40815=>13439,22227=>13440,22221=>13441,23374=>13442,23661=>13443,25901=>13444,26349=>13445,26350=>13446,27411=>13447,28767=>13448,28769=>13449,28765=>13450,28768=>13451,29219=>13452,29915=>13453,29925=>13454,30677=>13455,31032=>13456,31159=>13457,31158=>13458,31850=>13459,32407=>13460,32649=>13461,33389=>13462,34371=>13463,34872=>13464,34871=>13465,34869=>13466,34891=>13467,35732=>13468,35733=>13469,36510=>13470,36511=>13471,36512=>13472,36509=>13473,37310=>13474,37309=>13475,37314=>13476,37995=>13477,37992=>13478,37993=>13479,38629=>13480,38726=>13481,38723=>13482,38727=>13483,38855=>13484,38885=>13485,39518=>13486,39637=>13487,39769=>13488,40035=>13489,40039=>13490,40038=>13491,40034=>13492,40030=>13493,40032=>13494,40450=>13495,40446=>13496,40455=>13497,40451=>13498,40454=>13499,40453=>13500,40448=>13501,40449=>13502,40457=>13503,40447=>13504,40445=>13505,40452=>13506,40608=>13507,40734=>13508,40774=>13509,40820=>13510,40821=>13511,40822=>13512,22228=>13513,25902=>13514,26040=>13515,27416=>13516,27417=>13517,27415=>13518,27418=>13519,28770=>13520,29222=>13521,29354=>13522,30680=>13523,30681=>13524,31033=>13525,31849=>13526,31851=>13527,31990=>13528,32410=>13529,32408=>13530,32411=>13531,32409=>13532,33248=>13533,33249=>13534,34374=>13535,34375=>13536,34376=>13537,35193=>13538,35194=>13539,35196=>13540,35195=>13541,35327=>13542,35736=>13543,35737=>13544,36517=>13545,36516=>13546,36515=>13547,37998=>13548,37997=>13549,37999=>13550,38001=>13551,38003=>13552,38729=>13553,39026=>13554,39263=>13555,40040=>13556,40046=>13557,40045=>13558,40459=>13559,40461=>13560,40464=>13561,40463=>13562,40466=>13563,40465=>13564,40609=>13565,40693=>13566,40713=>13567,40775=>13568,40824=>13569,40827=>13570,40826=>13571,40825=>13572,22302=>13573,28774=>13574,31855=>13575,34876=>13576,36274=>13577,36518=>13578,37315=>13579,38004=>13580,38008=>13581,38006=>13582,38005=>13583,39520=>13584,39726=>13585,60830=>13585,40052=>13586,40051=>13587,40049=>13588,40053=>13589,40468=>13590,40467=>13591,40694=>13592,40714=>13593,40868=>13594,28776=>13595,28773=>13596,31991=>13597,34410=>13598,34878=>13599,34877=>13600,34879=>13601,35742=>13602,35996=>13603,36521=>13604,36553=>13605,38731=>13606,39027=>13607,39028=>13608,39116=>13609,39265=>13610,39339=>13611,39524=>13612,39526=>13613,39527=>13614,39716=>13615,40469=>13616,40471=>13617,40776=>13618,25095=>13619,27422=>13620,29223=>13621,34380=>13622,36520=>13623,38018=>13624,38016=>13625,38017=>13626,39529=>13627,39528=>13628,40473=>13629,34379=>13630,35743=>13631,38019=>13632,40057=>13633,40631=>13634,30325=>13635,39531=>13636,40058=>13637,40477=>13638,28777=>13639,28778=>13640,29225=>13641,40612=>13642,40830=>13643,40777=>13644,40856=>13645,65049=>13646,65075=>13743,9588=>13744,65076=>13745,65103=>13746,168=>13747,776=>13747,63208=>13747,710=>13748,65342=>13748,63209=>13748,12541=>13749,63210=>13749,12542=>13750,63211=>13750,12445=>13751,63212=>13751,12446=>13752,63213=>13752,12293=>13754,63216=>13754,12294=>13755,63217=>13755,12295=>13756,63218=>13756,12540=>13757,63219=>13757,65339=>13758,63220=>13758,65341=>13759,63221=>13759,10045=>13760,63222=>13760,12353=>13761,63223=>13761,12354=>13762,63224=>13762,12355=>13763,63225=>13763,12356=>13764,63226=>13764,12357=>13765,63227=>13765,12358=>13766,63228=>13766,12359=>13767,63229=>13767,12360=>13768,63230=>13768,12361=>13769,63231=>13769,12362=>13770,63232=>13770,12363=>13771,63233=>13771,12364=>13772,63234=>13772,12365=>13773,63235=>13773,12366=>13774,63236=>13774,12367=>13775,63237=>13775,12368=>13776,63238=>13776,12369=>13777,63239=>13777,12370=>13778,63240=>13778,12371=>13779,63241=>13779,12372=>13780,63242=>13780,12373=>13781,63243=>13781,12374=>13782,63244=>13782,12375=>13783,63245=>13783,12376=>13784,63246=>13784,12377=>13785,63247=>13785,12378=>13786,63248=>13786,12379=>13787,63249=>13787,12380=>13788,63250=>13788,12381=>13789,63251=>13789,12382=>13790,63252=>13790,12383=>13791,63253=>13791,12384=>13792,63254=>13792,12385=>13793,63255=>13793,12386=>13794,63256=>13794,12387=>13795,63257=>13795,12388=>13796,63258=>13796,12389=>13797,63259=>13797,12390=>13798,63260=>13798,12391=>13799,63261=>13799,12392=>13800,63262=>13800,12393=>13801,63263=>13801,12394=>13802,63264=>13802,12395=>13803,63265=>13803,12396=>13804,63266=>13804,12397=>13805,63267=>13805,12398=>13806,63268=>13806,12399=>13807,63269=>13807,12400=>13808,63270=>13808,12401=>13809,63271=>13809,12402=>13810,63272=>13810,12403=>13811,63273=>13811,12404=>13812,63274=>13812,12405=>13813,63275=>13813,12406=>13814,63276=>13814,12407=>13815,63277=>13815,12408=>13816,63278=>13816,12409=>13817,63279=>13817,12410=>13818,63280=>13818,12411=>13819,63281=>13819,12412=>13820,63282=>13820,12413=>13821,63283=>13821,12414=>13822,63284=>13822,12415=>13823,63285=>13823,12416=>13824,63286=>13824,12417=>13825,63287=>13825,12418=>13826,63288=>13826,12419=>13827,63289=>13827,12420=>13828,63290=>13828,12421=>13829,63291=>13829,12422=>13830,63292=>13830,12423=>13831,63293=>13831,12424=>13832,63294=>13832,12425=>13833,63295=>13833,12426=>13834,63296=>13834,12427=>13835,63297=>13835,12428=>13836,63298=>13836,12429=>13837,63299=>13837,12430=>13838,63300=>13838,12431=>13839,63301=>13839,12432=>13840,63302=>13840,12433=>13841,63303=>13841,12434=>13842,63304=>13842,12435=>13843,63305=>13843,12449=>13844,63306=>13844,12450=>13845,63307=>13845,12451=>13846,63308=>13846,12452=>13847,63309=>13847,12453=>13848,63310=>13848,12454=>13849,63311=>13849,12455=>13850,63312=>13850,12456=>13851,63313=>13851,12457=>13852,63314=>13852,12458=>13853,63315=>13853,12459=>13854,63316=>13854,12460=>13855,63317=>13855,12461=>13856,63318=>13856,12462=>13857,63319=>13857,12463=>13858,63320=>13858,12464=>13859,63321=>13859,12465=>13860,63322=>13860,12466=>13861,63323=>13861,12467=>13862,63324=>13862,12468=>13863,63325=>13863,12469=>13864,63326=>13864,12470=>13865,63327=>13865,12471=>13866,63328=>13866,12472=>13867,63329=>13867,12473=>13868,63330=>13868,12474=>13869,63331=>13869,12475=>13870,63332=>13870,12476=>13871,63333=>13871,12477=>13872,63334=>13872,12478=>13873,63335=>13873,12479=>13874,63336=>13874,12480=>13875,63337=>13875,12481=>13876,63338=>13876,12482=>13877,63339=>13877,12483=>13878,63340=>13878,12484=>13879,63341=>13879,12485=>13880,63342=>13880,12486=>13881,63343=>13881,12487=>13882,63344=>13882,12488=>13883,63345=>13883,12489=>13884,63346=>13884,12490=>13885,63347=>13885,12491=>13886,63348=>13886,12492=>13887,63349=>13887,12493=>13888,63350=>13888,12494=>13889,63351=>13889,12495=>13890,63352=>13890,12496=>13891,63353=>13891,12497=>13892,63354=>13892,12498=>13893,63355=>13893,12499=>13894,63356=>13894,12500=>13895,63357=>13895,12501=>13896,63358=>13896,12502=>13897,63359=>13897,12503=>13898,63360=>13898,12504=>13899,63361=>13899,12505=>13900,63362=>13900,12506=>13901,63363=>13901,12507=>13902,63364=>13902,12508=>13903,63365=>13903,12509=>13904,63366=>13904,12510=>13905,63367=>13905,12511=>13906,63368=>13906,12512=>13907,63369=>13907,12513=>13908,63370=>13908,12514=>13909,63371=>13909,12515=>13910,63372=>13910,12516=>13911,63373=>13911,12517=>13912,63374=>13912,12518=>13913,63375=>13913,12519=>13914,63376=>13914,12520=>13915,63377=>13915,12521=>13916,63378=>13916,12522=>13917,63379=>13917,12523=>13918,63380=>13918,12524=>13919,63381=>13919,12525=>13920,63382=>13920,12526=>13921,63383=>13921,12527=>13922,63384=>13922,12528=>13923,63385=>13923,12529=>13924,63386=>13924,12530=>13925,63387=>13925,12531=>13926,63388=>13926,12532=>13927,63389=>13927,12533=>13928,63390=>13928,12534=>13929,63391=>13929,1040=>13930,63392=>13930,1041=>13931,63393=>13931,1042=>13932,63394=>13932,1043=>13933,63395=>13933,1044=>13934,63396=>13934,1045=>13935,63397=>13935,1025=>13936,63398=>13936,1046=>13937,63399=>13937,1047=>13938,63400=>13938,1048=>13939,63401=>13939,1049=>13940,63402=>13940,1050=>13941,63403=>13941,1051=>13942,63404=>13942,1052=>13943,63405=>13943,1053=>13944,63406=>13944,1054=>13945,63407=>13945,1055=>13946,63408=>13946,1056=>13947,63409=>13947,1057=>13948,63410=>13948,1058=>13949,63411=>13949,1059=>13950,63412=>13950,1060=>13951,63413=>13951,1061=>13952,63414=>13952,1062=>13953,63415=>13953,1063=>13954,63416=>13954,1064=>13955,63417=>13955,1065=>13956,63418=>13956,1066=>13957,63419=>13957,1067=>13958,63420=>13958,1068=>13959,63421=>13959,1069=>13960,63422=>13960,1070=>13961,63423=>13961,1071=>13962,63424=>13962,1072=>13963,63425=>13963,1073=>13964,63426=>13964,1074=>13965,63427=>13965,1075=>13966,63428=>13966,1076=>13967,63429=>13967,1077=>13968,63430=>13968,1105=>13969,63431=>13969,1078=>13970,63432=>13970,1079=>13971,63433=>13971,1080=>13972,63434=>13972,1081=>13973,63435=>13973,1082=>13974,63436=>13974,1083=>13975,63437=>13975,1084=>13976,63438=>13976,1085=>13977,63439=>13977,1086=>13978,63440=>13978,1087=>13979,63441=>13979,1088=>13980,63442=>13980,1089=>13981,63443=>13981,1090=>13982,63444=>13982,1091=>13983,63445=>13983,1092=>13984,63446=>13984,1093=>13985,63447=>13985,1094=>13986,63448=>13986,1095=>13987,63449=>13987,1096=>13988,63450=>13988,1097=>13989,63451=>13989,1098=>13990,63452=>13990,1099=>13991,63453=>13991,1100=>13992,63454=>13992,1101=>13993,63455=>13993,1102=>13994,63456=>13994,1103=>13995,63457=>13995,8679=>13996,63458=>13996,8632=>13997,63459=>13997,8633=>13998,63460=>13998,12751=>13999,20033=>13999,63461=>13999,131276=>14000,63462=>14000,20058=>14001,63463=>14001,131210=>14002,63464=>14002,20994=>14003,63465=>14003,17553=>14004,63466=>14004,40880=>14005,63467=>14005,20872=>14006,63468=>14006,13853=>14007,40881=>14007,63469=>14007,161287=>14008,63470=>14008,172=>14049,65506=>14049,63511=>14049,65508=>14050,63512=>14050,65287=>14051,63513=>14051,65282=>14052,63514=>14052,12849=>14053,63515=>14053,8470=>14054,63516=>14054,8481=>14055,63517=>14055,30849=>14056,37561=>14057,58501=>14057,35023=>14058,22715=>14059,24658=>14060,31911=>14061,23290=>14062,9556=>14063,9574=>14064,9559=>14065,9568=>14066,9580=>14067,9571=>14068,9562=>14069,9577=>14070,9565=>14071,9554=>14072,9572=>14073,9557=>14074,9560=>14078,9575=>14079,9563=>14080,9555=>14081,9573=>14082,9558=>14083,9567=>14084,9579=>14085,9570=>14086,9561=>14087,9576=>14088,9564=>14089,9553=>14090,9619=>14096,65517=>14096,65040=>14099,65041=>14100,65042=>14101,65044=>14103,65043=>14104,65046=>14105,65045=>14106,147159=>14123,58129=>14123,22462=>14124,58130=>14124,159443=>14125,58131=>14125,28990=>14126,58132=>14126,153568=>14127,58133=>14127,27042=>14128,58135=>14128,166889=>14129,58136=>14129,23412=>14130,58137=>14130,31305=>14131,58138=>14131,153825=>14132,58139=>14132,169177=>14133,58140=>14133,31333=>14134,58141=>14134,31357=>14135,58142=>14135,154028=>14136,58143=>14136,31419=>14137,58144=>14137,31408=>14138,58145=>14138,31426=>14139,58146=>14139,31427=>14140,58147=>14140,29137=>14141,58148=>14141,156813=>14142,58149=>14142,16842=>14143,58150=>14143,31450=>14144,58151=>14144,31453=>14145,58152=>14145,31466=>14146,58153=>14146,16879=>14147,58154=>14147,21682=>14148,58155=>14148,154625=>14149,58156=>14149,31499=>14150,58157=>14150,31573=>14151,58158=>14151,31529=>14152,58159=>14152,152334=>14153,58160=>14153,154878=>14154,58161=>14154,31650=>14155,58162=>14155,31599=>14156,58163=>14156,33692=>14157,58164=>14157,154548=>14158,58165=>14158,158847=>14159,58166=>14159,31696=>14160,58167=>14160,33825=>14161,58168=>14161,31634=>14162,58169=>14162,58171=>14164,154912=>14164,33938=>14166,58174=>14166,31738=>14167,58175=>14167,31797=>14169,58177=>14169,154817=>14170,58178=>14170,31812=>14171,58179=>14171,31875=>14172,58180=>14172,149634=>14173,58181=>14173,31910=>14174,58182=>14174,148856=>14175,58184=>14175,31945=>14176,58185=>14176,31943=>14177,58186=>14177,31974=>14178,58187=>14178,31987=>14180,58189=>14180,31989=>14181,58190=>14181,32359=>14182,58192=>14182,17693=>14183,58193=>14183,159300=>14184,58194=>14184,32093=>14185,58195=>14185,159446=>14186,58196=>14186,32137=>14187,58198=>14187,32171=>14188,58199=>14188,28981=>14189,58200=>14189,32179=>14190,58201=>14190,32214=>14191,147543=>14192,58203=>14192,155689=>14193,58204=>14193,32228=>14194,58205=>14194,15635=>14195,58206=>14195,32245=>14196,58207=>14196,137209=>14197,58208=>14197,32229=>14198,58209=>14198,164717=>14199,58210=>14199,155937=>14201,58212=>14201,155994=>14202,58213=>14202,32366=>14203,58214=>14203,17195=>14205,58216=>14205,37996=>14206,58217=>14206,32295=>14207,58218=>14207,32576=>14208,58219=>14208,32577=>14209,58220=>14209,32583=>14210,58221=>14210,31030=>14211,58222=>14211,156368=>14212,58223=>14212,39393=>14213,58224=>14213,32663=>14214,58225=>14214,156497=>14215,58226=>14215,32675=>14216,58227=>14216,136801=>14217,58228=>14217,131176=>14218,58229=>14218,17756=>14219,58230=>14219,145254=>14220,58231=>14220,164666=>14221,58233=>14221,32762=>14222,58234=>14222,156809=>14223,58235=>14223,64091=>14224,32776=>14225,58237=>14225,32797=>14226,58238=>14226,32815=>14228,58240=>14228,172167=>14229,58241=>14229,158915=>14230,58242=>14230,32827=>14231,58243=>14231,32828=>14232,58244=>14232,32865=>14233,58245=>14233,141076=>14234,58246=>14234,18825=>14235,58247=>14235,157222=>14236,58248=>14236,146915=>14237,58249=>14237,157416=>14238,58250=>14238,26405=>14239,58251=>14239,32935=>14240,58252=>14240,166472=>14241,58253=>14241,33031=>14242,58254=>14242,33050=>14243,58255=>14243,22704=>14244,58256=>14244,141046=>14245,58257=>14245,27775=>14246,58258=>14246,156824=>14247,58259=>14247,25831=>14248,58261=>14248,136330=>14249,58262=>14249,33304=>14250,58263=>14250,137310=>14251,58264=>14251,27219=>14252,58265=>14252,150117=>14253,58266=>14253,150165=>14254,58267=>14254,17530=>14255,58268=>14255,33321=>14256,58269=>14256,158290=>14257,58271=>14257,146814=>14258,58272=>14258,20473=>14259,58273=>14259,136445=>14260,58274=>14260,34018=>14261,58275=>14261,33634=>14262,58276=>14262,194959=>14263,149927=>14264,58278=>14264,144688=>14265,58279=>14265,137075=>14266,58280=>14266,146936=>14267,58281=>14267,33450=>14268,58282=>14268,26907=>14269,58283=>14269,194964=>14270,58284=>14270,16859=>14271,58285=>14271,34123=>14272,58286=>14272,33488=>14273,58287=>14273,33562=>14274,58288=>14274,134678=>14275,58289=>14275,137140=>14276,58290=>14276,14017=>14277,58291=>14277,143741=>14278,58292=>14278,144730=>14279,58293=>14279,33403=>14280,58294=>14280,33506=>14281,58295=>14281,33560=>14282,58296=>14282,147083=>14283,58297=>14283,159139=>14284,58298=>14284,158469=>14285,58299=>14285,158615=>14286,58300=>14286,144846=>14287,58301=>14287,15807=>14288,58302=>14288,33565=>14289,58303=>14289,21996=>14290,58304=>14290,33669=>14291,58305=>14291,17675=>14292,58306=>14292,159141=>14293,58307=>14293,33708=>14294,58308=>14294,33747=>14296,58310=>14296,159444=>14297,58312=>14297,27223=>14298,58313=>14298,34138=>14299,58314=>14299,13462=>14300,58315=>14300,159298=>14301,58316=>14301,33880=>14302,58318=>14302,154596=>14303,58319=>14303,33905=>14304,58320=>14304,15827=>14305,58321=>14305,17636=>14306,58322=>14306,27303=>14307,58323=>14307,33866=>14308,58324=>14308,31064=>14309,58326=>14309,158614=>14311,58328=>14311,159351=>14312,58329=>14312,159299=>14313,58330=>14313,34014=>14314,58331=>14314,33681=>14316,58333=>14316,17568=>14317,58334=>14317,33939=>14318,58335=>14318,34020=>14319,58336=>14319,154769=>14320,58337=>14320,16960=>14321,58338=>14321,154816=>14322,58339=>14322,17731=>14323,58340=>14323,34100=>14324,58341=>14324,23282=>14325,58342=>14325,17699=>14326,17703=>14327,58344=>14327,34163=>14328,58345=>14328,17686=>14329,58346=>14329,26559=>14330,58347=>14330,34326=>14331,58348=>14331,165413=>14332,58349=>14332,165435=>14333,58350=>14333,34241=>14334,58351=>14334,159880=>14335,58352=>14335,34306=>14336,58353=>14336,136578=>14337,58354=>14337,159949=>14338,58355=>14338,194994=>14339,58356=>14339,17770=>14340,58357=>14340,34344=>14341,58358=>14341,13896=>14342,58359=>14342,137378=>14343,58360=>14343,21495=>14344,58361=>14344,160666=>14345,58362=>14345,34430=>14346,58363=>14346,172280=>14348,58365=>14348,34798=>14349,58366=>14349,142375=>14350,58367=>14350,34737=>14351,58368=>14351,34778=>14352,58369=>14352,34831=>14353,60990=>14353,58370=>14353,22113=>14354,58371=>14354,34412=>14355,58372=>14355,26710=>14356,58373=>14356,17935=>14357,58374=>14357,34885=>14358,58375=>14358,34886=>14359,58376=>14359,161248=>14360,58377=>14360,146873=>14361,58378=>14361,161252=>14362,58379=>14362,34910=>14363,58380=>14363,34972=>14364,58381=>14364,18011=>14365,58382=>14365,34996=>14366,58383=>14366,34997=>14367,58384=>14367,35013=>14368,58386=>14368,161551=>14369,58388=>14369,35207=>14370,58389=>14370,35239=>14374,58393=>14374,35260=>14375,58394=>14375,166437=>14376,58395=>14376,35303=>14377,58396=>14377,162084=>14378,58397=>14378,162493=>14379,58398=>14379,35484=>14380,58399=>14380,30611=>14381,58400=>14381,37374=>14382,58401=>14382,35472=>14383,58402=>14383,162393=>14384,58403=>14384,31465=>14385,58404=>14385,162618=>14386,58405=>14386,18195=>14387,58407=>14387,162616=>14388,58408=>14388,29052=>14389,58409=>14389,35596=>14390,58410=>14390,35615=>14391,58411=>14391,152624=>14392,58412=>14392,152933=>14393,58413=>14393,35647=>14394,58414=>14394,35661=>14396,58416=>14396,35497=>14397,58417=>14397,150138=>14398,58418=>14398,35728=>14399,58419=>14399,35739=>14400,58420=>14400,35503=>14401,58421=>14401,136927=>14402,58422=>14402,17941=>14403,58423=>14403,34895=>14404,58424=>14404,35995=>14405,58425=>14405,163156=>14406,58426=>14406,163215=>14407,58427=>14407,195028=>14408,58428=>14408,14117=>14409,58429=>14409,163155=>14410,58430=>14410,36054=>14411,58431=>14411,163224=>14412,58432=>14412,163261=>14413,58433=>14413,36114=>14414,58434=>14414,36099=>14415,58435=>14415,137488=>14416,58436=>14416,36059=>14417,58437=>14417,28764=>14418,58438=>14418,36113=>14419,58439=>14419,16080=>14420,58441=>14420,195031=>14421,36265=>14422,58443=>14422,163842=>14423,58444=>14423,135188=>14424,58445=>14424,149898=>14425,58446=>14425,15228=>14426,58447=>14426,164284=>14427,58448=>14427,160012=>14428,58449=>14428,31463=>14429,58450=>14429,36525=>14430,58451=>14430,36534=>14431,58452=>14431,36547=>14432,58453=>14432,37588=>14433,58454=>14433,36633=>14434,58455=>14434,36653=>14435,58456=>14435,164709=>14436,58457=>14436,164882=>14437,58458=>14437,36773=>14438,58459=>14438,37635=>14439,58460=>14439,172703=>14440,58461=>14440,133712=>14441,58462=>14441,36787=>14442,58463=>14442,166366=>14444,58465=>14444,165181=>14445,58466=>14445,146875=>14446,58467=>14446,24312=>14447,58468=>14447,143970=>14448,58469=>14448,36857=>14449,58470=>14449,140069=>14451,58474=>14451,14720=>14452,58475=>14452,159447=>14453,58476=>14453,36919=>14454,58477=>14454,165180=>14455,58478=>14455,162494=>14456,58479=>14456,36961=>14457,58480=>14457,165228=>14458,58481=>14458,165387=>14459,58482=>14459,37032=>14460,58483=>14460,165651=>14461,58484=>14461,37060=>14462,58485=>14462,165606=>14463,58486=>14463,37038=>14464,58487=>14464,64038=>14465,37223=>14466,58489=>14466,37289=>14467,58491=>14467,37316=>14468,58492=>14468,31916=>14469,58493=>14469,166195=>14470,58494=>14470,138889=>14471,58495=>14471,37390=>14472,58496=>14472,27807=>14473,58497=>14473,37441=>14474,58498=>14474,37474=>14475,58499=>14475,153017=>14476,58500=>14476,166598=>14477,58502=>14477,146587=>14478,58503=>14478,166668=>14479,58504=>14479,153051=>14480,58505=>14480,134449=>14481,58506=>14481,37676=>14482,58507=>14482,37739=>14483,58508=>14483,166625=>14484,58509=>14484,166891=>14485,58510=>14485,23235=>14486,58512=>14486,166626=>14487,58513=>14487,166629=>14488,58514=>14488,18789=>14489,58515=>14489,37444=>14490,58516=>14490,166892=>14491,58517=>14491,166969=>14492,58518=>14492,166911=>14493,58519=>14493,37747=>14494,58520=>14494,37979=>14495,58521=>14495,36540=>14496,58522=>14496,38277=>14497,58523=>14497,38310=>14498,58524=>14498,37926=>14499,58525=>14499,38304=>14500,58526=>14500,28662=>14501,58527=>14501,17081=>14502,58528=>14502,165592=>14503,58530=>14503,135804=>14504,58531=>14504,146990=>14505,58532=>14505,18911=>14506,58533=>14506,27676=>14507,58534=>14507,38523=>14508,58535=>14508,38550=>14509,58536=>14509,16748=>14510,58537=>14510,38563=>14511,58538=>14511,159445=>14512,58539=>14512,25050=>14513,58540=>14513,58541=>14514,30965=>14515,58542=>14515,166624=>14516,58543=>14516,38589=>14517,58544=>14517,21452=>14518,58545=>14518,18849=>14519,58546=>14519,158904=>14520,58547=>14520,131700=>14521,58548=>14521,156688=>14522,58549=>14522,168111=>14523,58550=>14523,168165=>14524,58551=>14524,150225=>14525,58552=>14525,137493=>14526,58553=>14526,144138=>14527,58554=>14527,38705=>14528,58555=>14528,34370=>14529,58556=>14529,38710=>14530,58557=>14530,18959=>14531,58558=>14531,17725=>14532,58559=>14532,17797=>14533,58560=>14533,150249=>14534,58561=>14534,28789=>14535,58562=>14535,23361=>14536,58563=>14536,38683=>14537,58564=>14537,168405=>14539,58566=>14539,38743=>14540,58567=>14540,23370=>14541,58568=>14541,168427=>14542,58569=>14542,38751=>14543,58570=>14543,37925=>14544,58571=>14544,20688=>14545,58572=>14545,143543=>14546,58573=>14546,143548=>14547,58574=>14547,38793=>14548,58575=>14548,38815=>14549,58576=>14549,38833=>14550,58577=>14550,38846=>14551,58578=>14551,38848=>14552,58579=>14552,38866=>14553,58580=>14553,38880=>14554,58581=>14554,152684=>14555,58582=>14555,38894=>14556,58583=>14556,29724=>14557,58584=>14557,169011=>14558,58585=>14558,38901=>14560,58587=>14560,168989=>14561,58588=>14561,162170=>14562,58589=>14562,19153=>14563,58590=>14563,38964=>14564,58591=>14564,38963=>14565,58592=>14565,38987=>14566,58593=>14566,39014=>14567,58594=>14567,15118=>14568,58595=>14568,160117=>14569,58596=>14569,15697=>14570,58597=>14570,132656=>14571,58598=>14571,147804=>14572,58599=>14572,153350=>14573,58600=>14573,39114=>14574,58601=>14574,39095=>14575,58602=>14575,39112=>14576,58603=>14576,39111=>14577,58604=>14577,19199=>14578,58605=>14578,159015=>14579,58606=>14579,136915=>14580,58607=>14580,21936=>14581,58608=>14581,39137=>14582,58609=>14582,39142=>14583,58610=>14583,39148=>14584,58611=>14584,37752=>14585,58612=>14585,39225=>14586,58613=>14586,150057=>14587,58614=>14587,19314=>14588,58615=>14588,170071=>14589,58616=>14589,170245=>14590,58617=>14590,39413=>14591,58618=>14591,39436=>14592,58619=>14592,39483=>14593,58620=>14593,39440=>14594,58621=>14594,39512=>14595,58622=>14595,153381=>14596,58623=>14596,14020=>14597,58624=>14597,168113=>14598,58625=>14598,170965=>14599,58626=>14599,39648=>14600,58627=>14600,39650=>14601,58628=>14601,170757=>14602,58629=>14602,39668=>14603,58630=>14603,19470=>14604,58631=>14604,39700=>14605,58632=>14605,39725=>14606,58633=>14606,165376=>14607,58634=>14607,20532=>14608,58635=>14608,39732=>14609,58636=>14609,14531=>14610,58638=>14610,143485=>14611,58639=>14611,39760=>14612,58640=>14612,39744=>14613,58641=>14613,171326=>14614,58642=>14614,23109=>14615,58643=>14615,137315=>14616,58644=>14616,39822=>14617,58645=>14617,39938=>14618,58647=>14618,39935=>14619,58648=>14619,39948=>14620,58649=>14620,171624=>14621,58650=>14621,40404=>14622,58651=>14622,171959=>14623,58652=>14623,172434=>14624,58653=>14624,172459=>14625,58654=>14625,172257=>14626,58655=>14626,172323=>14627,58656=>14627,172511=>14628,58657=>14628,40318=>14629,58658=>14629,40323=>14630,58659=>14630,172340=>14631,58660=>14631,40462=>14632,58661=>14632,40388=>14633,58663=>14633,172435=>14634,58665=>14634,172576=>14635,58666=>14635,137531=>14636,58667=>14636,172595=>14637,58668=>14637,40249=>14638,58669=>14638,172217=>14639,58670=>14639,172724=>14640,58671=>14640,40592=>14641,58672=>14641,40597=>14642,58673=>14642,40606=>14643,58674=>14643,40610=>14644,58675=>14644,19764=>14645,58676=>14645,40618=>14646,58677=>14646,40623=>14647,58678=>14647,148324=>14648,58679=>14648,40641=>14649,58680=>14649,15200=>14650,58681=>14650,14821=>14651,58682=>14651,15645=>14652,58683=>14652,20274=>14653,58684=>14653,14270=>14654,58685=>14654,166955=>14655,58686=>14655,40706=>14656,58687=>14656,40712=>14657,58688=>14657,19350=>14658,58689=>14658,37924=>14659,58690=>14659,159138=>14660,58691=>14660,40727=>14661,60836=>14661,58692=>14661,195099=>14662,40761=>14663,58694=>14663,22175=>14664,58695=>14664,22154=>14665,58696=>14665,40773=>14666,58697=>14666,39352=>14667,58698=>14667,168075=>14668,58699=>14668,38898=>14669,58700=>14669,33919=>14670,58701=>14670,40809=>14672,58703=>14672,31452=>14673,58704=>14673,40846=>14674,58705=>14674,29206=>14675,58706=>14675,19390=>14676,58707=>14676,149877=>14677,58708=>14677,149947=>14678,58709=>14678,29047=>14679,58710=>14679,150008=>14680,58711=>14680,148296=>14681,58712=>14681,150097=>14682,58713=>14682,29598=>14683,58714=>14683,166874=>14684,58715=>14684,137466=>14685,58716=>14685,31135=>14686,58717=>14686,166270=>14687,58718=>14687,167478=>14688,58719=>14688,37737=>14689,58720=>14689,37875=>14690,58721=>14690,166468=>14691,58722=>14691,37612=>14692,58723=>14692,37761=>14693,58724=>14693,37835=>14694,58725=>14694,166252=>14695,58726=>14695,148665=>14696,58727=>14696,29207=>14697,58728=>14697,16107=>14698,58729=>14698,30578=>14699,58730=>14699,31299=>14700,58731=>14700,28880=>14701,58732=>14701,148595=>14702,58733=>14702,148472=>14703,58734=>14703,29054=>14704,58735=>14704,137199=>14705,58736=>14705,28835=>14706,58737=>14706,137406=>14707,58738=>14707,144793=>14708,58739=>14708,16071=>14709,58740=>14709,137349=>14710,58741=>14710,152623=>14711,58742=>14711,137208=>14712,58743=>14712,14114=>14713,58744=>14713,136955=>14714,58745=>14714,137273=>14715,58746=>14715,14049=>14716,58747=>14716,137076=>14717,58748=>14717,137425=>14718,58749=>14718,155467=>14719,58750=>14719,14115=>14720,58751=>14720,136896=>14721,58752=>14721,22363=>14722,58753=>14722,150053=>14723,58754=>14723,136190=>14724,58755=>14724,135848=>14725,58756=>14725,136134=>14726,58757=>14726,136374=>14727,58758=>14727,34051=>14728,58761=>14728,58759=>14728,145062=>14729,58760=>14729,33877=>14731,58762=>14731,149908=>14732,58763=>14732,160101=>14733,58764=>14733,146993=>14734,58765=>14734,152924=>14735,58766=>14735,147195=>14736,58767=>14736,159826=>14737,58768=>14737,17652=>14738,58769=>14738,145134=>14739,58770=>14739,170397=>14740,58771=>14740,159526=>14741,58772=>14741,26617=>14742,58773=>14742,14131=>14743,58774=>14743,15381=>14744,58775=>14744,15847=>14745,58776=>14745,22636=>14746,58777=>14746,137506=>14747,58778=>14747,26640=>14748,58779=>14748,16471=>14749,58780=>14749,145215=>14750,58781=>14750,147681=>14751,58782=>14751,147595=>14752,58783=>14752,147727=>14753,58784=>14753,158753=>14754,58785=>14754,21707=>14755,58786=>14755,22174=>14756,58787=>14756,157361=>14757,58788=>14757,22162=>14758,58789=>14758,135135=>14759,58790=>14759,134056=>14760,58791=>14760,134669=>14761,58792=>14761,166675=>14763,58794=>14763,37788=>14764,58795=>14764,20216=>14765,58796=>14765,20779=>14766,58797=>14766,14361=>14767,58798=>14767,148534=>14768,58799=>14768,20156=>14769,58800=>14769,132197=>14770,58801=>14770,20299=>14772,58803=>14772,20362=>14773,58804=>14773,153169=>14774,58805=>14774,23144=>14775,58806=>14775,131499=>14776,58807=>14776,132043=>14777,58808=>14777,14745=>14778,58809=>14778,131850=>14779,58810=>14779,132116=>14780,58811=>14780,13365=>14781,58812=>14781,20265=>14782,58813=>14782,131776=>14783,58814=>14783,167603=>14784,58815=>14784,131701=>14785,58816=>14785,35546=>14786,58817=>14786,131596=>14787,58818=>14787,20120=>14788,58819=>14788,20685=>14789,58820=>14789,20749=>14790,58821=>14790,20386=>14791,58822=>14791,20227=>14792,58823=>14792,150030=>14793,58824=>14793,147082=>14794,58825=>14794,20290=>14795,58826=>14795,20526=>14796,58827=>14796,20588=>14797,58828=>14797,20609=>14798,58829=>14798,20428=>14799,58830=>14799,20453=>14800,58831=>14800,20568=>14801,58832=>14801,20732=>14802,58833=>14802,28278=>14803,58838=>14803,144789=>14804,58839=>14804,147001=>14805,58840=>14805,147135=>14806,58841=>14806,28018=>14807,58842=>14807,137348=>14808,58843=>14808,147081=>14809,58844=>14809,20904=>14810,58845=>14810,20931=>14811,58846=>14811,132576=>14812,58847=>14812,17629=>14813,58848=>14813,132259=>14814,58849=>14814,132242=>14815,58850=>14815,132241=>14816,58851=>14816,36218=>14817,58852=>14817,166556=>14818,58853=>14818,132878=>14819,58854=>14819,21081=>14820,58855=>14820,21156=>14821,58856=>14821,133235=>14822,58857=>14822,21217=>14823,58858=>14823,18042=>14825,58860=>14825,29068=>14826,58861=>14826,148364=>14827,58862=>14827,134176=>14828,58863=>14828,149932=>14829,58864=>14829,135396=>14830,58865=>14830,27089=>14831,58866=>14831,134685=>14832,58867=>14832,16094=>14834,58869=>14834,29849=>14835,58870=>14835,29716=>14836,58871=>14836,29782=>14837,58872=>14837,29592=>14838,58873=>14838,19342=>14839,58874=>14839,150204=>14840,58875=>14840,147597=>14841,58876=>14841,21456=>14842,58877=>14842,13700=>14843,58878=>14843,29199=>14844,58879=>14844,147657=>14845,58880=>14845,21940=>14846,58881=>14846,131909=>14847,58882=>14847,21709=>14848,58883=>14848,134086=>14849,58884=>14849,22301=>14850,58885=>14850,37469=>14851,58886=>14851,38644=>14852,58887=>14852,22493=>14853,58889=>14853,22413=>14854,58890=>14854,22399=>14855,58891=>14855,13886=>14856,58892=>14856,22731=>14857,58893=>14857,23193=>14858,58894=>14858,166470=>14859,58895=>14859,136954=>14860,58896=>14860,137071=>14861,58897=>14861,136976=>14862,58898=>14862,23084=>14863,58899=>14863,22968=>14864,58900=>14864,23166=>14865,58902=>14865,23247=>14866,58903=>14866,23058=>14867,58904=>14867,153926=>14868,58905=>14868,137715=>14869,58906=>14869,137313=>14870,58907=>14870,148117=>14871,58908=>14871,14069=>14872,58909=>14872,27909=>14873,58910=>14873,29763=>14874,58911=>14874,23073=>14875,58912=>14875,155267=>14876,58913=>14876,23169=>14877,58914=>14877,166871=>14878,58915=>14878,132115=>14879,58916=>14879,37856=>14880,58917=>14880,29836=>14881,58918=>14881,135939=>14882,58919=>14882,28933=>14883,58920=>14883,18802=>14884,58921=>14884,37896=>14885,58922=>14885,166395=>14886,58923=>14886,37821=>14887,58924=>14887,14240=>14888,58925=>14888,23582=>14889,58926=>14889,23710=>14890,58927=>14890,24158=>14891,58928=>14891,24136=>14892,58929=>14892,137622=>14893,58930=>14893,137596=>14894,58931=>14894,146158=>14895,58932=>14895,24269=>14896,58933=>14896,23375=>14897,58934=>14897,58935=>14898,137475=>14898,58936=>14899,137476=>14899,14081=>14900,58937=>14900,137376=>14901,58938=>14901,14045=>14902,58939=>14902,136958=>14903,58940=>14903,14035=>14904,58941=>14904,33066=>14905,58942=>14905,166471=>14906,58943=>14906,138682=>14907,58944=>14907,144498=>14908,58945=>14908,166312=>14909,58946=>14909,24332=>14910,60916=>14910,58947=>14910,24334=>14911,58948=>14911,137511=>14912,58949=>14912,137131=>14913,58950=>14913,23147=>14914,58951=>14914,137019=>14915,58952=>14915,23364=>14916,58953=>14916,161277=>14917,58955=>14917,34912=>14918,58956=>14918,24702=>14919,58957=>14919,141408=>14920,58958=>14920,140843=>14921,58959=>14921,24539=>14922,58960=>14922,16056=>14923,58961=>14923,140719=>14924,58962=>14924,140734=>14925,58963=>14925,168072=>14926,58964=>14926,159603=>14927,58965=>14927,25024=>14928,58966=>14928,131134=>14929,58967=>14929,131142=>14930,58968=>14930,140827=>14931,58969=>14931,24985=>14932,58970=>14932,24984=>14933,58971=>14933,24693=>14934,58972=>14934,142491=>14935,58973=>14935,142599=>14936,58974=>14936,149204=>14937,58975=>14937,168269=>14938,58976=>14938,25713=>14939,58977=>14939,149093=>14940,58978=>14940,142186=>14941,58979=>14941,14889=>14942,58980=>14942,142114=>14943,58981=>14943,144464=>14944,58982=>14944,170218=>14945,58983=>14945,142968=>14946,58984=>14946,25399=>14947,58985=>14947,25782=>14948,58987=>14948,25393=>14949,58988=>14949,25553=>14950,58989=>14950,149987=>14951,58990=>14951,142695=>14952,58991=>14952,25252=>14953,58992=>14953,142497=>14954,58993=>14954,25659=>14955,58994=>14955,25963=>14956,58995=>14956,26994=>14957,58996=>14957,15348=>14958,58997=>14958,143502=>14959,58998=>14959,144045=>14960,58999=>14960,149897=>14961,59000=>14961,144043=>14962,59001=>14962,21773=>14963,59002=>14963,144096=>14964,59003=>14964,137433=>14965,59004=>14965,169023=>14966,59005=>14966,26318=>14967,59006=>14967,144009=>14968,59007=>14968,143795=>14969,59008=>14969,15072=>14970,59009=>14970,152964=>14971,59011=>14971,166690=>14972,59012=>14972,152975=>14973,59013=>14973,136956=>14974,59014=>14974,152923=>14975,59015=>14975,152613=>14976,59016=>14976,30958=>14977,59017=>14977,143619=>14978,59018=>14978,137258=>14979,59019=>14979,143924=>14980,59020=>14980,13412=>14981,59021=>14981,143887=>14982,59022=>14982,143746=>14983,59023=>14983,148169=>14984,59024=>14984,26254=>14985,59025=>14985,159012=>14986,59026=>14986,26219=>14987,59027=>14987,19347=>14988,59028=>14988,26160=>14989,59029=>14989,161904=>14990,59030=>14990,138731=>14991,59031=>14991,26211=>14992,59032=>14992,144082=>14993,59033=>14993,144097=>14994,59034=>14994,26142=>14995,59035=>14995,153714=>14996,59036=>14996,14545=>14997,59037=>14997,145466=>14998,59038=>14998,145340=>14999,59039=>14999,15257=>15000,59040=>15000,145314=>15001,59041=>15001,144382=>15002,59042=>15002,29904=>15003,59043=>15003,15254=>15004,59044=>15004,149034=>15005,59046=>15005,26806=>15006,59047=>15006,15300=>15008,59049=>15008,27326=>15009,59050=>15009,145365=>15010,59052=>15010,148615=>15011,59053=>15011,27187=>15012,59054=>15012,27218=>15013,59055=>15013,27337=>15014,59056=>15014,27397=>15015,59057=>15015,137490=>15016,59058=>15016,25873=>15017,59059=>15017,26776=>15018,59060=>15018,27212=>15019,59061=>15019,15319=>15020,59062=>15020,27258=>15021,59063=>15021,27479=>15022,59064=>15022,147392=>15023,59065=>15023,146586=>15024,59066=>15024,37792=>15025,59067=>15025,37618=>15026,59068=>15026,166890=>15027,59069=>15027,166603=>15028,59070=>15028,37513=>15029,59071=>15029,163870=>15030,59072=>15030,166364=>15031,59073=>15031,37991=>15032,59074=>15032,28069=>15033,59075=>15033,28427=>15034,59076=>15034,147327=>15036,59079=>15036,15759=>15037,59080=>15037,28164=>15038,59081=>15038,147516=>15039,59082=>15039,23101=>15040,59083=>15040,28170=>15041,59084=>15041,22599=>15042,59085=>15042,27940=>15043,59086=>15043,30786=>15044,59087=>15044,28987=>15045,59088=>15045,148250=>15046,59089=>15046,148086=>15047,59090=>15047,28913=>15048,59091=>15048,29264=>15049,61085=>15049,59092=>15049,29319=>15050,59093=>15050,29332=>15051,59094=>15051,149391=>15052,59095=>15052,149285=>15053,59096=>15053,20857=>15054,59097=>15054,150180=>15055,59098=>15055,132587=>15056,59099=>15056,29818=>15057,59100=>15057,147192=>15058,59101=>15058,144991=>15059,59102=>15059,150090=>15060,59103=>15060,149783=>15061,59104=>15061,155617=>15062,59105=>15062,16134=>15063,59106=>15063,16049=>15064,59107=>15064,150239=>15065,59108=>15065,166947=>15066,59109=>15066,147253=>15067,59110=>15067,24743=>15068,59111=>15068,16115=>15069,59112=>15069,29900=>15070,59113=>15070,29756=>15071,59114=>15071,37767=>15072,59115=>15072,29751=>15073,59116=>15073,17567=>15074,59117=>15074,159210=>15075,59118=>15075,17745=>15076,59119=>15076,30083=>15077,59120=>15077,16227=>15078,59121=>15078,150745=>15079,59122=>15079,150790=>15080,59123=>15080,16216=>15081,59124=>15081,30037=>15082,59125=>15082,30323=>15083,59126=>15083,173510=>15084,59127=>15084,29800=>15086,61070=>15086,59129=>15086,166604=>15087,59130=>15087,149931=>15088,59131=>15088,149902=>15089,59132=>15089,15099=>15090,59133=>15090,15821=>15091,59134=>15091,150094=>15092,59135=>15092,16127=>15093,59136=>15093,149957=>15094,59137=>15094,149747=>15095,59138=>15095,37370=>15096,59139=>15096,22322=>15097,59140=>15097,37698=>15098,59141=>15098,166627=>15099,59142=>15099,137316=>15100,59143=>15100,20703=>15101,59144=>15101,152097=>15102,59145=>15102,152039=>15103,59146=>15103,30584=>15104,59147=>15104,143922=>15105,59148=>15105,30478=>15106,59149=>15106,30479=>15107,59150=>15107,30587=>15108,59151=>15108,149143=>15109,59152=>15109,145281=>15110,59153=>15110,14942=>15111,59154=>15111,149744=>15112,59155=>15112,29752=>15113,59156=>15113,29851=>15114,59157=>15114,16063=>15115,59158=>15115,150202=>15116,59159=>15116,150215=>15117,59160=>15117,16584=>15118,59161=>15118,150166=>15119,59162=>15119,156078=>15120,59163=>15120,37639=>15121,59164=>15121,152961=>15122,59165=>15122,30750=>15123,59166=>15123,30861=>15124,59167=>15124,30856=>15125,59168=>15125,30930=>15126,59169=>15126,29648=>15127,59170=>15127,31065=>15128,59171=>15128,161601=>15129,59172=>15129,153315=>15130,59173=>15130,16654=>15131,59174=>15131,31141=>15134,59177=>15134,27181=>15135,59178=>15135,147194=>15136,59179=>15136,31290=>15137,59180=>15137,31220=>15138,59181=>15138,16750=>15139,59182=>15139,136934=>15140,59183=>15140,16690=>15141,59184=>15141,37429=>15142,59185=>15142,31217=>15143,59186=>15143,134476=>15144,59187=>15144,149900=>15145,59188=>15145,131737=>15146,59189=>15146,146874=>15147,59190=>15147,137070=>15148,59191=>15148,13719=>15149,59192=>15149,21867=>15150,59193=>15150,13680=>15151,59194=>15151,13994=>15152,59195=>15152,131540=>15153,59196=>15153,134157=>15154,59197=>15154,31458=>15155,59198=>15155,23129=>15156,59199=>15156,141045=>15157,59200=>15157,154287=>15158,59201=>15158,154268=>15159,59202=>15159,23053=>15160,59203=>15160,131675=>15161,59204=>15161,30960=>15162,59205=>15162,23082=>15163,59206=>15163,154566=>15164,59207=>15164,31486=>15165,59208=>15165,16889=>15166,59209=>15166,31837=>15167,59210=>15167,31853=>15168,59211=>15168,16913=>15169,59212=>15169,154547=>15170,59213=>15170,155324=>15171,59214=>15171,155302=>15172,59215=>15172,31949=>15173,59216=>15173,150009=>15174,59217=>15174,137136=>15175,59218=>15175,31886=>15176,59219=>15176,31868=>15177,59220=>15177,31918=>15178,59221=>15178,27314=>15179,59222=>15179,32220=>15180,59223=>15180,32263=>15181,59224=>15181,32211=>15182,59225=>15182,32590=>15183,59226=>15183,156257=>15184,59227=>15184,155996=>15185,59228=>15185,162632=>15186,59229=>15186,32151=>15187,59230=>15187,155266=>15188,59231=>15188,17002=>15189,59232=>15189,158581=>15190,59233=>15190,133398=>15191,59234=>15191,26582=>15192,59235=>15192,131150=>15193,59236=>15193,144847=>15194,59237=>15194,22468=>15195,59238=>15195,156690=>15196,59239=>15196,156664=>15197,59240=>15197,32733=>15198,59242=>15198,31527=>15199,59243=>15199,133164=>15200,59244=>15200,154345=>15201,59245=>15201,154947=>15202,59246=>15202,31500=>15203,59247=>15203,155150=>15204,59248=>15204,39398=>15205,59249=>15205,34373=>15206,59250=>15206,39523=>15207,59251=>15207,27164=>15208,59252=>15208,144447=>15209,59253=>15209,150007=>15210,59255=>15210,157101=>15211,59256=>15211,39455=>15212,59257=>15212,157088=>15213,59258=>15213,33941=>15214,160039=>15215,59260=>15215,158929=>15216,59261=>15216,17642=>15217,59262=>15217,33079=>15218,59263=>15218,17410=>15219,59264=>15219,32966=>15220,59265=>15220,33033=>15221,59266=>15221,33090=>15222,59267=>15222,157620=>15223,59268=>15223,39107=>15224,59269=>15224,158274=>15225,59270=>15225,33378=>15226,59271=>15226,33381=>15227,59272=>15227,158289=>15228,59273=>15228,33875=>15229,59274=>15229,159143=>15230,59275=>15230,34320=>15231,59276=>15231,160283=>15232,59277=>15232,23174=>15233,59278=>15233,16767=>15234,59279=>15234,137280=>15235,59280=>15235,23339=>15236,59281=>15236,137377=>15237,59282=>15237,23268=>15238,59283=>15238,137432=>15239,59284=>15239,34464=>15240,59285=>15240,195004=>15241,59286=>15241,146831=>15242,59287=>15242,34861=>15243,59288=>15243,160802=>15244,59289=>15244,23042=>15245,59290=>15245,34926=>15246,59291=>15246,20293=>15247,59292=>15247,34951=>15248,59293=>15248,35007=>15249,59294=>15249,35046=>15250,59295=>15250,35173=>15251,59296=>15251,35149=>15252,59297=>15252,153219=>15253,59298=>15253,35156=>15254,59299=>15254,161669=>15255,59300=>15255,161668=>15256,59301=>15256,166901=>15257,59302=>15257,166873=>15258,59303=>15258,166812=>15259,59304=>15259,166393=>15260,59305=>15260,16045=>15261,59306=>15261,33955=>15262,59307=>15262,18165=>15263,59308=>15263,18127=>15264,59309=>15264,14322=>15265,59310=>15265,35389=>15266,59311=>15266,35356=>15267,59312=>15267,169032=>15268,59313=>15268,24397=>15269,59314=>15269,37419=>15270,59315=>15270,148100=>15271,59316=>15271,26068=>15272,59317=>15272,28969=>15273,59318=>15273,28868=>15274,59319=>15274,137285=>15275,59320=>15275,40301=>15276,59321=>15276,35999=>15277,59322=>15277,36073=>15278,59323=>15278,163292=>15279,59324=>15279,22938=>15280,59325=>15280,30659=>15281,59326=>15281,23024=>15282,59327=>15282,14036=>15283,59329=>15283,36394=>15284,59330=>15284,36519=>15285,59331=>15285,150537=>15286,59332=>15286,36656=>15287,59333=>15287,36682=>15288,59334=>15288,17140=>15289,59335=>15289,27736=>15290,59336=>15290,28603=>15291,59337=>15291,140065=>15292,59338=>15292,18587=>15293,59339=>15293,28537=>15294,59340=>15294,28299=>15295,59341=>15295,137178=>15296,59342=>15296,39913=>15297,59343=>15297,14005=>15298,59344=>15298,149807=>15299,59345=>15299,37051=>15300,59346=>15300,18612=>15301,21873=>15302,59348=>15302,18694=>15303,59349=>15303,37307=>15304,59350=>15304,37892=>15305,59351=>15305,166475=>15306,59352=>15306,16482=>15307,59353=>15307,166652=>15308,59354=>15308,37927=>15309,59355=>15309,166941=>15310,59356=>15310,166971=>15311,59357=>15311,34021=>15312,59358=>15312,35371=>15313,59359=>15313,38297=>15314,59360=>15314,38311=>15315,59361=>15315,38295=>15316,59362=>15316,38294=>15317,59363=>15317,167220=>15318,59364=>15318,29765=>15319,59365=>15319,16066=>15320,59366=>15320,149759=>15321,59367=>15321,150082=>15322,59368=>15322,148458=>15323,59369=>15323,16103=>15324,59370=>15324,143909=>15325,59371=>15325,38543=>15326,59372=>15326,167655=>15327,59373=>15327,167526=>15328,59374=>15328,167525=>15329,59375=>15329,16076=>15330,59376=>15330,149997=>15331,59377=>15331,150136=>15332,59378=>15332,147438=>15333,59379=>15333,29714=>15334,59380=>15334,29803=>15335,59381=>15335,16124=>15336,59382=>15336,38721=>15337,59383=>15337,168112=>15338,59384=>15338,26695=>15339,59385=>15339,18973=>15340,59386=>15340,168083=>15341,59387=>15341,153567=>15342,59388=>15342,37736=>15344,59390=>15344,166281=>15345,59391=>15345,166950=>15346,59392=>15346,166703=>15347,59393=>15347,156606=>15348,59394=>15348,37562=>15349,59395=>15349,23313=>15350,59396=>15350,35689=>15351,59397=>15351,18748=>15352,59398=>15352,29689=>15353,59399=>15353,147995=>15354,59400=>15354,38811=>15355,59401=>15355,39224=>15357,59403=>15357,134950=>15358,59404=>15358,24001=>15359,59405=>15359,166853=>15360,59406=>15360,150194=>15361,59407=>15361,38943=>15362,59408=>15362,169178=>15363,59409=>15363,37622=>15364,59410=>15364,169431=>15365,59411=>15365,37349=>15366,59412=>15366,17600=>15367,59413=>15367,166736=>15368,59414=>15368,150119=>15369,59415=>15369,166756=>15370,59416=>15370,39132=>15371,59417=>15371,166469=>15372,59418=>15372,16128=>15373,59419=>15373,37418=>15374,59420=>15374,18725=>15375,59421=>15375,33812=>15376,59422=>15376,39227=>15377,59423=>15377,39245=>15378,59424=>15378,162566=>15379,59425=>15379,15869=>15380,59426=>15380,19311=>15382,59428=>15382,39338=>15383,59429=>15383,39516=>15384,59430=>15384,166757=>15385,59431=>15385,153800=>15386,59432=>15386,27279=>15387,59433=>15387,39457=>15388,59434=>15388,23294=>15389,59435=>15389,39471=>15390,59436=>15390,170225=>15391,59437=>15391,19344=>15392,59438=>15392,170312=>15393,59439=>15393,39356=>15394,59440=>15394,19389=>15395,59441=>15395,19351=>15396,59442=>15396,37757=>15397,59443=>15397,22642=>15398,59444=>15398,135938=>15399,59445=>15399,22562=>15400,59446=>15400,149944=>15401,59447=>15401,136424=>15402,59448=>15402,30788=>15403,59449=>15403,141087=>15404,59450=>15404,146872=>15405,59451=>15405,26821=>15406,59452=>15406,15741=>15407,59453=>15407,37976=>15408,59454=>15408,14631=>15409,59455=>15409,24912=>15410,59456=>15410,141185=>15411,59457=>15411,141675=>15412,59458=>15412,24839=>15413,59459=>15413,40015=>15414,59460=>15414,40019=>15415,59461=>15415,40059=>15416,59462=>15416,39989=>15417,59463=>15417,39952=>15418,59464=>15418,39807=>15419,59465=>15419,39887=>15420,59466=>15420,171565=>15421,59467=>15421,39839=>15422,59468=>15422,172533=>15423,59469=>15423,172286=>15424,59470=>15424,40225=>15425,59471=>15425,19630=>15426,59472=>15426,147716=>15427,59473=>15427,40472=>15428,59474=>15428,19632=>15429,59475=>15429,40204=>15430,59476=>15430,172468=>15431,59477=>15431,172269=>15432,59478=>15432,172275=>15433,59479=>15433,170287=>15434,59480=>15434,40357=>15435,59481=>15435,33981=>15436,59482=>15436,159250=>15437,59483=>15437,159711=>15438,59484=>15438,158594=>15439,59485=>15439,34300=>15440,59486=>15440,17715=>15441,59487=>15441,159140=>15442,59488=>15442,159364=>15443,59489=>15443,159216=>15444,59490=>15444,33824=>15445,59491=>15445,34286=>15446,59492=>15446,159232=>15447,59493=>15447,145367=>15448,59494=>15448,155748=>15449,59495=>15449,31202=>15450,59496=>15450,144796=>15451,59497=>15451,144960=>15452,59498=>15452,149982=>15453,59500=>15453,15714=>15454,59501=>15454,37851=>15455,59502=>15455,37566=>15456,59503=>15456,37704=>15457,59504=>15457,131775=>15458,59505=>15458,30905=>15459,59506=>15459,37495=>15460,59507=>15460,37965=>15461,59508=>15461,20452=>15462,59509=>15462,13376=>15463,59510=>15463,36964=>15464,59511=>15464,152925=>15465,59512=>15465,30781=>15466,59513=>15466,30804=>15467,59514=>15467,30902=>15468,59515=>15468,30795=>15469,59516=>15469,137047=>15470,59517=>15470,143817=>15471,59518=>15471,149825=>15472,59519=>15472,13978=>15473,59520=>15473,20338=>15474,59521=>15474,28634=>15475,59522=>15475,28633=>15476,59523=>15476,28702=>15478,59524=>15478,59525=>15478,21524=>15479,59526=>15479,147893=>15480,59527=>15480,22459=>15481,59528=>15481,22771=>15482,59529=>15482,22410=>15483,59530=>15483,40214=>15484,59531=>15484,22487=>15485,59532=>15485,28980=>15486,59533=>15486,13487=>15487,59534=>15487,147884=>15488,59535=>15488,29163=>15489,59536=>15489,158784=>15490,59537=>15490,151447=>15491,59538=>15491,137141=>15493,59540=>15493,166473=>15494,59541=>15494,24844=>15495,59542=>15495,23246=>15496,59543=>15496,23051=>15497,59544=>15497,17084=>15498,59545=>15498,148616=>15499,59546=>15499,14124=>15500,59547=>15500,19323=>15501,59548=>15501,166396=>15502,59549=>15502,37819=>15503,59550=>15503,37816=>15504,59551=>15504,137430=>15505,59552=>15505,134941=>15506,59553=>15506,33906=>15507,59554=>15507,158912=>15508,59555=>15508,136211=>15509,59556=>15509,148218=>15510,59557=>15510,142374=>15511,59558=>15511,148417=>15512,59559=>15512,22932=>15513,59560=>15513,146871=>15514,59561=>15514,157505=>15515,59562=>15515,32168=>15516,59563=>15516,155995=>15517,59564=>15517,155812=>15518,59565=>15518,149945=>15519,59566=>15519,149899=>15520,59567=>15520,166394=>15521,59568=>15521,37605=>15522,59569=>15522,29666=>15523,59570=>15523,16105=>15524,59571=>15524,29876=>15525,59572=>15525,166755=>15526,59573=>15526,137375=>15527,59574=>15527,16097=>15528,59575=>15528,150195=>15529,59576=>15529,27352=>15530,59577=>15530,29683=>15531,59578=>15531,29691=>15532,59579=>15532,16086=>15533,59580=>15533,150078=>15534,59581=>15534,150164=>15535,59582=>15535,137177=>15536,59583=>15536,150118=>15537,59584=>15537,132007=>15538,59585=>15538,136228=>15539,59586=>15539,149989=>15540,59587=>15540,29768=>15541,59588=>15541,149782=>15542,59589=>15542,28837=>15543,59590=>15543,149878=>15544,59591=>15544,37508=>15545,59592=>15545,29670=>15546,59593=>15546,37727=>15547,59594=>15547,132350=>15548,59595=>15548,37681=>15549,59596=>15549,166606=>15550,59597=>15550,166422=>15551,59598=>15551,37766=>15552,59599=>15552,166887=>15553,59600=>15553,153045=>15554,59601=>15554,18741=>15555,59602=>15555,166530=>15556,59603=>15556,29035=>15557,59604=>15557,149827=>15558,59605=>15558,134399=>15559,59606=>15559,22180=>15560,59607=>15560,132634=>15561,59608=>15561,134123=>15562,59609=>15562,134328=>15563,59610=>15563,21762=>15564,59611=>15564,31172=>15565,59612=>15565,137210=>15566,59613=>15566,32254=>15567,59614=>15567,136898=>15568,59615=>15568,150096=>15569,59616=>15569,137298=>15570,59617=>15570,17710=>15571,59618=>15571,37889=>15572,59619=>15572,14090=>15573,59620=>15573,166592=>15574,59621=>15574,149933=>15575,59622=>15575,22960=>15576,59623=>15576,137407=>15577,59624=>15577,137347=>15578,59625=>15578,160900=>15579,59626=>15579,23201=>15580,59627=>15580,14050=>15581,59628=>15581,146779=>15582,59629=>15582,14000=>15583,59630=>15583,37471=>15584,59631=>15584,23161=>15585,59632=>15585,166529=>15586,59633=>15586,137314=>15587,59634=>15587,37748=>15588,59635=>15588,15565=>15589,59636=>15589,133812=>15590,59637=>15590,19094=>15591,59638=>15591,14730=>15592,59639=>15592,20724=>15593,59640=>15593,15721=>15594,59641=>15594,15692=>15595,59642=>15595,136092=>15596,59643=>15596,29045=>15597,59644=>15597,17147=>15598,59645=>15598,164376=>15599,59646=>15599,28175=>15600,59647=>15600,168164=>15601,59648=>15601,17643=>15602,59649=>15602,27991=>15603,59650=>15603,163407=>15604,59651=>15604,28775=>15605,59652=>15605,27823=>15606,59653=>15606,15574=>15607,59654=>15607,147437=>15608,59655=>15608,146989=>15609,59656=>15609,28162=>15610,59657=>15610,28428=>15611,59658=>15611,15727=>15612,59659=>15612,132085=>15613,59660=>15613,30033=>15614,59661=>15614,14012=>15615,59662=>15615,13512=>15616,59663=>15616,18048=>15617,59664=>15617,16090=>15618,59665=>15618,18545=>15619,59666=>15619,22980=>15620,59667=>15620,37486=>15621,59668=>15621,18750=>15622,59669=>15622,36673=>15623,59670=>15623,166940=>15624,59671=>15624,158656=>15625,59672=>15625,22546=>15626,59673=>15626,22472=>15627,59674=>15627,14038=>15628,59675=>15628,136274=>15629,59676=>15629,28926=>15630,59677=>15630,148322=>15631,59678=>15631,150129=>15632,59679=>15632,143331=>15633,59680=>15633,135856=>15634,59681=>15634,140221=>15635,59682=>15635,26809=>15636,59683=>15636,26983=>15637,59684=>15637,136088=>15638,59685=>15638,144613=>15639,59686=>15639,162804=>15640,59687=>15640,145119=>15641,59688=>15641,166531=>15642,59689=>15642,145366=>15643,59690=>15643,144378=>15644,59691=>15644,150687=>15645,59692=>15645,27162=>15646,59693=>15646,145069=>15647,59694=>15647,158903=>15648,59695=>15648,33854=>15649,59696=>15649,17631=>15650,59697=>15650,17614=>15651,59698=>15651,159014=>15652,59699=>15652,159057=>15653,59700=>15653,158850=>15654,59701=>15654,159710=>15655,59702=>15655,33597=>15658,59705=>15658,137018=>15659,59706=>15659,33773=>15660,59707=>15660,158848=>15661,59708=>15661,159827=>15662,59709=>15662,137179=>15663,59710=>15663,22921=>15664,59711=>15664,23170=>15665,59712=>15665,137139=>15666,59713=>15666,23137=>15667,59714=>15667,23153=>15668,59715=>15668,137477=>15669,59716=>15669,147964=>15670,59717=>15670,14125=>15671,59718=>15671,23023=>15672,59719=>15672,137020=>15673,59720=>15673,14023=>15674,59721=>15674,29070=>15675,59722=>15675,37776=>15676,59723=>15676,26266=>15677,59724=>15677,148133=>15678,59725=>15678,23150=>15679,59726=>15679,23083=>15680,59727=>15680,148115=>15681,59728=>15681,27179=>15682,59729=>15682,147193=>15683,59730=>15683,161590=>15684,59731=>15684,148571=>15685,59732=>15685,148170=>15686,59733=>15686,28957=>15687,59734=>15687,148057=>15688,59735=>15688,166369=>15689,59736=>15689,20400=>15690,59737=>15690,159016=>15691,59738=>15691,23746=>15692,59739=>15692,148686=>15693,59740=>15693,163405=>15694,59741=>15694,148413=>15695,59742=>15695,27148=>15696,59743=>15696,148054=>15697,59744=>15697,135940=>15698,59745=>15698,28979=>15700,59747=>15700,148457=>15701,59748=>15701,15781=>15702,59749=>15702,27871=>15703,59750=>15703,194597=>15704,59751=>15704,23019=>15705,59754=>15705,24412=>15706,59757=>15706,59764=>15707,144128=>15707,31955=>15708,59776=>15708,59783=>15709,162548=>15709,59786=>15710,153334=>15710,162584=>15711,59790=>15711,36972=>15712,59791=>15712,33270=>15713,59795=>15713,30476=>15714,59797=>15714,27810=>15715,59799=>15715,22269=>15716,59800=>15716,22633=>15717,59828=>15717,26465=>15718,59832=>15718,23646=>15719,59838=>15719,22770=>15720,59841=>15720,28857=>15721,59843=>15721,26627=>15722,59853=>15722,59859=>15723,36795=>15723,59861=>15724,36796=>15724,20001=>15725,59871=>15725,31545=>15726,59898=>15726,15820=>15727,59902=>15727,29482=>15728,57990=>15728,59909=>15728,30048=>15729,59912=>15729,22586=>15730,59920=>15730,33446=>15731,59932=>15731,27018=>15732,59940=>15732,24803=>15733,59944=>15733,20206=>15734,59984=>15734,39364=>15735,60002=>15735,40639=>15736,60023=>15736,21249=>15737,60025=>15737,26528=>15738,60038=>15738,24808=>15739,60046=>15739,20916=>15740,60053=>15740,31363=>15741,60064=>15741,39994=>15742,60075=>15742,31432=>15743,60093=>15743,26906=>15744,60098=>15744,22956=>15745,60100=>15745,22592=>15746,60102=>15746,21610=>15747,60114=>15747,24807=>15748,60123=>15748,22138=>15749,60125=>15749,26965=>15750,60132=>15750,39983=>15751,60133=>15751,34725=>15752,60134=>15752,23584=>15753,60141=>15753,24075=>15754,60143=>15754,26398=>15755,60147=>15755,33965=>15756,60157=>15756,35713=>15757,60161=>15757,20088=>15758,60166=>15758,25283=>15759,60176=>15759,26709=>15760,60180=>15760,33533=>15762,60190=>15762,35237=>15763,60194=>15763,36768=>15764,60196=>15764,38840=>15765,60198=>15765,38983=>15766,60200=>15766,39613=>15767,60201=>15767,24497=>15768,60218=>15768,26184=>15769,60219=>15769,26303=>15770,60220=>15770,162425=>15771,60221=>15771,60225=>15773,149946=>15773,60230=>15776,131910=>15776,26382=>15777,60232=>15777,26904=>15778,60233=>15778,161367=>15779,60235=>15779,155618=>15780,60236=>15780,161278=>15781,60239=>15781,139418=>15782,60240=>15782,18640=>15783,60241=>15783,19128=>15784,60242=>15784,60244=>15785,166554=>15785,60247=>15786,147515=>15786,150085=>15787,60250=>15787,132554=>15788,60251=>15788,20946=>15789,60252=>15789,132625=>15790,60253=>15790,22943=>15791,60254=>15791,138920=>15792,60255=>15792,15294=>15793,60256=>15793,146687=>15794,60257=>15794,14747=>15795,60262=>15795,165352=>15796,60264=>15796,170441=>15797,60265=>15797,14178=>15798,60266=>15798,139715=>15799,60267=>15799,35678=>15800,60268=>15800,166734=>15801,60269=>15801,29193=>15803,60274=>15803,60276=>15804,134264=>15804,132985=>15805,60280=>15805,36570=>15806,60281=>15806,21135=>15807,60283=>15807,29041=>15808,60285=>15808,147274=>15809,60288=>15809,150183=>15810,60289=>15810,21948=>15811,60290=>15811,60293=>15812,158546=>15812,13427=>15813,60295=>15813,60297=>15814,161330=>15814,18200=>15815,60299=>15815,60303=>15816,149823=>15816,20582=>15817,60305=>15817,13563=>15818,60306=>15818,144332=>15819,60307=>15819,18300=>15821,60310=>15821,166216=>15822,60311=>15822,60315=>15823,138640=>15823,162834=>15825,60320=>15825,36950=>15826,60321=>15826,151450=>15827,60323=>15827,35682=>15828,60324=>15828,23899=>15829,60327=>15829,158711=>15830,60328=>15830,137500=>15832,60331=>15832,35562=>15833,60332=>15833,150006=>15834,60333=>15834,60335=>15835,147439=>15835,19392=>15836,60337=>15836,141083=>15837,60340=>15837,37989=>15838,60341=>15838,153569=>15839,60342=>15839,24981=>15840,60343=>15840,23079=>15841,60344=>15841,194765=>15842,60345=>15842,194566=>15843,60348=>15844,148769=>15844,20074=>15845,60350=>15845,149812=>15846,60351=>15846,38486=>15847,60352=>15847,28047=>15848,60353=>15848,158909=>15849,60354=>15849,35191=>15850,60356=>15850,60359=>15851,156689=>15851,31554=>15853,60363=>15853,168128=>15854,60364=>15854,133649=>15855,60365=>15855,31301=>15857,60369=>15857,39462=>15858,60372=>15858,13919=>15859,60374=>15859,156777=>15860,60375=>15860,131105=>15861,60376=>15861,31107=>15862,60377=>15862,23852=>15863,60380=>15863,144665=>15864,60381=>15864,18128=>15866,60384=>15866,30011=>15867,60386=>15867,34917=>15868,60387=>15868,22710=>15869,60389=>15869,14108=>15870,60390=>15870,140685=>15871,60391=>15871,15444=>15872,60394=>15872,37505=>15873,60397=>15873,139642=>15874,60398=>15874,37680=>15875,60400=>15875,149968=>15876,60402=>15876,27705=>15877,60403=>15877,134904=>15878,60406=>15878,34855=>15879,60407=>15879,35061=>15880,60408=>15880,141606=>15881,60409=>15881,164979=>15882,60410=>15882,137137=>15883,60411=>15883,28344=>15884,60412=>15884,150058=>15885,60413=>15885,137248=>15886,60414=>15886,14756=>15887,60415=>15887,17727=>15890,60419=>15890,26294=>15891,60420=>15891,171181=>15892,60421=>15892,170148=>15893,60422=>15893,35139=>15894,60423=>15894,16607=>15895,60427=>15895,136714=>15896,60428=>15896,14753=>15897,60429=>15897,145199=>15898,60430=>15898,164072=>15899,60431=>15899,136133=>15900,60432=>15900,29101=>15901,60433=>15901,33638=>15902,60434=>15902,60436=>15903,168360=>15903,19639=>15905,60438=>15905,159919=>15906,60439=>15906,166315=>15907,60440=>15907,147834=>15908,60445=>15908,31555=>15909,60446=>15909,31102=>15910,60447=>15910,28597=>15911,60449=>15911,172767=>15912,60450=>15912,27139=>15913,60451=>15913,164632=>15914,60452=>15914,21410=>15915,60453=>15915,159239=>15916,60454=>15916,37823=>15917,60455=>15917,26678=>15918,60456=>15918,38749=>15919,59389=>15919,60457=>15919,164207=>15920,60458=>15920,158133=>15921,60460=>15921,136173=>15922,60461=>15922,143919=>15923,60462=>15923,23941=>15924,60464=>15924,166960=>15925,60465=>15925,22293=>15926,60467=>15926,38947=>15927,60468=>15927,166217=>15928,60469=>15928,23979=>15929,60470=>15929,149896=>15930,60471=>15930,26046=>15931,60472=>15931,27093=>15932,60473=>15932,21458=>15933,60474=>15933,150181=>15934,60475=>15934,147329=>15935,60476=>15935,15377=>15936,60477=>15936,26422=>15937,60478=>15937,60482=>15938,139169=>15938,13770=>15939,60490=>15939,18682=>15940,60493=>15940,30728=>15942,60496=>15942,37461=>15943,60497=>15943,17394=>15944,60499=>15944,17375=>15945,60501=>15945,23032=>15946,60505=>15946,22155=>15948,60518=>15948,60520=>15949,169449=>15949,36882=>15950,60541=>15950,21953=>15951,60546=>15951,17673=>15952,60551=>15952,32383=>15953,60552=>15953,28502=>15954,60553=>15954,27313=>15955,60554=>15955,13540=>15956,60556=>15956,161949=>15957,60558=>15957,14138=>15958,60559=>15958,60562=>15960,163876=>15960,60565=>15961,162366=>15961,15851=>15962,60567=>15962,60569=>15963,146615=>15963,156248=>15964,60574=>15964,22207=>15965,60575=>15965,36366=>15966,60577=>15966,23405=>15967,60578=>15967,25566=>15968,60581=>15968,25904=>15970,60585=>15970,22061=>15971,60586=>15971,21530=>15972,60588=>15972,171416=>15973,60591=>15973,19581=>15974,60592=>15974,22050=>15975,60593=>15975,22046=>15976,60594=>15976,32585=>15977,60595=>15977,22901=>15978,60597=>15978,146752=>15979,60598=>15979,34672=>15980,60599=>15980,33047=>15981,60604=>15981,40286=>15982,60605=>15982,36120=>15983,60606=>15983,30267=>15984,60607=>15984,40005=>15985,60608=>15985,30286=>15986,60609=>15986,30649=>15987,60610=>15987,37701=>15988,60611=>15988,21554=>15989,60612=>15989,33096=>15990,60613=>15990,33527=>15991,60614=>15991,22053=>15992,60615=>15992,33074=>15993,60616=>15993,33816=>15994,60617=>15994,32957=>15995,60618=>15995,21994=>15996,60619=>15996,31074=>15997,60620=>15997,22083=>15998,60621=>15998,21526=>15999,60622=>15999,134813=>16000,60623=>16000,13774=>16001,60624=>16001,22021=>16002,57509=>16002,60625=>16002,22001=>16003,60626=>16003,26353=>16004,60627=>16004,164578=>16005,60628=>16005,13869=>16006,60629=>16006,30004=>16007,60630=>16007,22000=>16008,60631=>16008,21946=>16009,60632=>16009,21655=>16010,60633=>16010,21874=>16011,60634=>16011,134209=>16012,60635=>16012,134294=>16013,60636=>16013,24272=>16014,57652=>16014,60637=>16014,134774=>16015,60639=>16015,142434=>16016,60640=>16016,134818=>16017,60641=>16017,40619=>16018,60642=>16018,32090=>16019,60643=>16019,135285=>16021,60645=>16021,25245=>16022,60646=>16022,38765=>16023,60647=>16023,21652=>16024,60648=>16024,36045=>16025,60649=>16025,29174=>16026,60650=>16026,37238=>16027,60651=>16027,25596=>16028,60652=>16028,25529=>16029,60653=>16029,25598=>16030,60654=>16030,21865=>16031,60655=>16031,142147=>16032,60656=>16032,40050=>16033,60657=>16033,143027=>16034,60658=>16034,20890=>16035,60659=>16035,13535=>16036,60660=>16036,134567=>16037,60661=>16037,20903=>16038,60662=>16038,21581=>16039,60663=>16039,21790=>16040,60664=>16040,21779=>16041,60665=>16041,30310=>16042,60666=>16042,36397=>16043,60667=>16043,157834=>16044,60668=>16044,30129=>16045,60669=>16045,32950=>16046,60670=>16046,34820=>16047,60671=>16047,35015=>16049,60673=>16049,33206=>16050,60674=>16050,33820=>16051,60675=>16051,17644=>16052,60677=>16052,29444=>16053,60678=>16053,33547=>16054,60681=>16054,22139=>16055,60683=>16055,37232=>16056,60690=>16056,37384=>16057,60692=>16057,134905=>16058,60696=>16058,29286=>16059,60697=>16059,18254=>16060,60699=>16060,60701=>16061,163833=>16061,16634=>16062,60703=>16062,40029=>16063,60704=>16063,25887=>16064,60705=>16064,18675=>16065,60707=>16065,149472=>16066,60708=>16066,171388=>16067,60709=>16067,60713=>16069,161187=>16069,60715=>16070,155720=>16071,60716=>16071,29091=>16072,60718=>16072,32398=>16073,60719=>16073,40272=>16074,60720=>16074,13687=>16075,60723=>16075,27826=>16076,60725=>16076,21351=>16077,60726=>16077,14812=>16078,60728=>16078,60731=>16079,149016=>16079,33325=>16080,60734=>16080,21579=>16081,60735=>16081,60739=>16082,14930=>16083,60740=>16083,29556=>16084,60742=>16084,171692=>16085,60743=>16085,19721=>16086,60744=>16086,39917=>16087,60745=>16087,19547=>16089,60748=>16089,171998=>16090,60751=>16090,33884=>16091,60752=>16091,60754=>16092,160434=>16092,25390=>16093,60757=>16093,32037=>16094,60758=>16094,14890=>16095,60761=>16095,36872=>16096,60762=>16096,21196=>16097,60763=>16097,15988=>16098,60764=>16098,13946=>16099,60765=>16099,17897=>16100,60766=>16100,132238=>16101,60767=>16101,30272=>16102,60768=>16102,23280=>16103,60769=>16103,134838=>16104,60770=>16104,30842=>16105,60771=>16105,18358=>16106,163630=>16106,60772=>16106,22695=>16107,60773=>16107,16575=>16108,60774=>16108,22140=>16109,60775=>16109,39819=>16110,60776=>16110,23924=>16111,60777=>16111,30292=>16112,60778=>16112,173108=>16113,60779=>16113,40581=>16114,60780=>16114,19681=>16115,60781=>16115,14331=>16117,60783=>16117,24857=>16118,60784=>16118,148466=>16119,60786=>16119,60787=>16120,22109=>16121,60788=>16121,171526=>16122,60792=>16122,21044=>16123,60793=>16123,13741=>16124,60795=>16124,40316=>16126,60797=>16126,31830=>16127,60798=>16127,39737=>16128,60799=>16128,22494=>16129,60800=>16129,23635=>16130,60802=>16130,25811=>16131,60803=>16131,169168=>16132,60804=>16132,156469=>16133,60805=>16133,34477=>16134,60807=>16134,134440=>16135,60808=>16135,134513=>16136,60811=>16136,60812=>16137,20990=>16138,60813=>16138,139023=>16139,60814=>16139,23950=>16140,60815=>16140,38659=>16141,60816=>16141,138705=>16142,60817=>16142,40577=>16143,60818=>16143,36940=>16144,60819=>16144,31519=>16145,60820=>16145,39682=>16146,60821=>16146,23761=>16147,60822=>16147,31651=>16148,60823=>16148,25192=>16149,60824=>16149,25397=>16150,60825=>16150,39679=>16151,60826=>16151,31695=>16152,60827=>16152,39722=>16153,60828=>16153,31870=>16154,60829=>16154,31810=>16156,60831=>16156,31878=>16157,60832=>16157,39957=>16158,60833=>16158,31740=>16159,60834=>16159,39689=>16160,60835=>16160,39982=>16162,40794=>16163,60839=>16163,21875=>16164,60840=>16164,23491=>16165,60841=>16165,20477=>16166,60842=>16166,40600=>16167,60843=>16167,20466=>16168,60844=>16168,21088=>16169,60845=>16169,21201=>16170,60847=>16170,22375=>16171,60848=>16171,20566=>16172,60849=>16172,22967=>16173,60850=>16173,24082=>16174,60851=>16174,38856=>16175,60852=>16175,40363=>16176,60853=>16176,36700=>16177,60854=>16177,21609=>16178,60855=>16178,38836=>16179,60856=>16179,39232=>16180,60857=>16180,38842=>16181,60858=>16181,21292=>16182,60859=>16182,24880=>16183,60860=>16183,26924=>16184,60861=>16184,21466=>16185,60862=>16185,39946=>16186,60863=>16186,40194=>16187,60864=>16187,19515=>16188,60865=>16188,38465=>16189,60866=>16189,27008=>16190,60867=>16190,20646=>16191,60868=>16191,30022=>16192,60869=>16192,137069=>16193,60870=>16193,39386=>16194,60871=>16194,21107=>16195,60872=>16195,60873=>16196,37209=>16197,60874=>16197,38529=>16198,60875=>16198,37212=>16199,60876=>16199,60877=>16200,37201=>16201,60878=>16201,167575=>16202,60879=>16202,25471=>16203,60880=>16203,27338=>16204,60882=>16204,22033=>16205,60883=>16205,37262=>16206,60884=>16206,30074=>16207,60885=>16207,25221=>16208,60886=>16208,29519=>16209,60888=>16209,31856=>16210,60889=>16210,154657=>16211,60890=>16211,60892=>16212,30422=>16213,60894=>16213,39837=>16214,60895=>16214,20010=>16215,60896=>16215,134356=>16216,60897=>16216,33726=>16217,60898=>16217,34882=>16218,60899=>16218,60900=>16219,23626=>16220,60901=>16220,27072=>16221,60902=>16221,21023=>16224,60905=>16224,24053=>16225,60906=>16225,20174=>16226,60907=>16226,27697=>16227,60908=>16227,131570=>16228,60909=>16228,20281=>16229,60910=>16229,21660=>16230,60911=>16230,21146=>16232,60913=>16232,36226=>16233,60914=>16233,13822=>16234,60915=>16234,13811=>16236,60917=>16236,60918=>16237,27474=>16238,60919=>16238,37244=>16239,60920=>16239,40869=>16240,60921=>16240,39831=>16241,60922=>16241,38958=>16242,60923=>16242,39092=>16243,60924=>16243,39610=>16244,60925=>16244,40616=>16245,60926=>16245,40580=>16246,60927=>16246,31508=>16247,60929=>16247,60930=>16248,27642=>16249,60931=>16249,34840=>16250,60932=>16250,32632=>16251,60933=>16251,60934=>16252,22048=>16253,60935=>16253,173642=>16254,60936=>16254,36471=>16255,60937=>16255,40787=>16256,60938=>16256,60939=>16257,36308=>16258,60940=>16258,36431=>16259,60941=>16259,40476=>16260,60942=>16260,36353=>16261,60943=>16261,25218=>16262,60944=>16262,164733=>16263,60945=>16263,36392=>16264,60946=>16264,36469=>16265,60947=>16265,31443=>16266,60948=>16266,31294=>16267,60950=>16267,30936=>16268,60951=>16268,27882=>16269,60952=>16269,35431=>16270,60953=>16270,30215=>16271,60954=>16271,40742=>16272,60956=>16272,27854=>16273,60957=>16273,34774=>16274,60958=>16274,30147=>16275,60959=>16275,172722=>16276,60960=>16276,30803=>16277,60961=>16277,36108=>16278,60963=>16278,29410=>16279,60964=>16279,29553=>16280,60965=>16280,35629=>16281,60966=>16281,29442=>16282,60967=>16282,29937=>16283,60968=>16283,36075=>16284,60969=>16284,150203=>16285,60970=>16285,34351=>16286,60971=>16286,24506=>16287,60972=>16287,34976=>16288,60973=>16288,17591=>16289,60974=>16289,60975=>16290,159237=>16291,60977=>16291,60978=>16292,35454=>16293,60979=>16293,140571=>16294,60980=>16294,60981=>16295,24829=>16296,60982=>16296,30311=>16297,60983=>16297,39639=>16298,60984=>16298,40260=>16299,60985=>16299,37742=>16300,58859=>16300,60986=>16300,39823=>16301,60987=>16301,34805=>16302,60988=>16302,60989=>16303,36087=>16305,60991=>16305,29484=>16306,60992=>16306,38689=>16307,60993=>16307,39856=>16308,60994=>16308,13782=>16309,60995=>16309,29362=>16310,60996=>16310,19463=>16311,60997=>16311,31825=>16312,60998=>16312,39242=>16313,60999=>16313,24921=>16314,61001=>16314,19460=>16315,61002=>16315,40598=>16316,61003=>16316,24957=>16317,61004=>16317,61005=>16318,22367=>16319,61006=>16319,24943=>16320,61007=>16320,25254=>16321,61008=>16321,25145=>16322,61009=>16322,14940=>16324,61011=>16324,25058=>16325,61012=>16325,21418=>16326,61013=>16326,25444=>16327,61015=>16327,26626=>16328,61016=>16328,13778=>16329,61017=>16329,23895=>16330,61018=>16330,36826=>16331,61020=>16331,167481=>16332,61021=>16332,61022=>16333,20697=>16334,61023=>16334,30982=>16335,61025=>16335,21298=>16336,61026=>16336,38456=>16337,61027=>16337,134971=>16338,61028=>16338,16485=>16339,61029=>16339,61030=>16340,30718=>16341,61031=>16341,61032=>16342,31938=>16343,61033=>16343,155418=>16344,61034=>16344,31962=>16345,61035=>16345,31277=>16346,61036=>16346,32870=>16347,61037=>16347,32867=>16348,61038=>16348,32077=>16349,61039=>16349,29957=>16350,61040=>16350,29938=>16351,61041=>16351,35220=>16352,61042=>16352,33306=>16353,61043=>16353,26380=>16354,61044=>16354,32866=>16355,61045=>16355,160902=>16356,61046=>16356,32859=>16357,61047=>16357,29936=>16358,61048=>16358,33027=>16359,61049=>16359,30500=>16360,61050=>16360,35209=>16361,61051=>16361,157644=>16362,61052=>16362,30035=>16363,61053=>16363,34729=>16364,61055=>16364,34766=>16365,61056=>16365,33224=>16366,61057=>16366,34700=>16367,61058=>16367,35401=>16368,61059=>16368,36013=>16369,61060=>16369,35651=>16370,61061=>16370,30507=>16371,61062=>16371,29944=>16372,61063=>16372,34010=>16373,61064=>16373,27058=>16374,61066=>16374,36262=>16375,61067=>16375,61068=>16376,35241=>16377,58392=>16377,61069=>16377,28089=>16379,61071=>16379,34753=>16380,61072=>16380,147473=>16381,61073=>16381,29927=>16382,61074=>16382,15835=>16383,61075=>16383,29046=>16384,61076=>16384,24740=>16385,57702=>16385,61077=>16385,24988=>16386,61078=>16386,15569=>16387,61079=>16387,24695=>16389,61081=>16389,61082=>16390,32625=>16391,61083=>16391,194850=>16392,24809=>16393,61086=>16393,19326=>16394,61087=>16394,132423=>16395,57344=>16395,37595=>16396,57345=>16396,132575=>16397,57346=>16397,147397=>16398,57347=>16398,34124=>16399,57348=>16399,17077=>16400,57349=>16400,29679=>16401,57350=>16401,20917=>16402,57351=>16402,13897=>16403,57352=>16403,149826=>16404,57353=>16404,166372=>16405,57354=>16405,37700=>16406,57355=>16406,137691=>16407,57356=>16407,33518=>16408,57357=>16408,146632=>16409,57358=>16409,30780=>16410,57359=>16410,26436=>16411,57360=>16411,25311=>16412,57361=>16412,149811=>16413,57362=>16413,166314=>16414,57363=>16414,131744=>16415,57364=>16415,158643=>16416,57365=>16416,135941=>16417,57366=>16417,20395=>16418,57367=>16418,140525=>16419,57368=>16419,20488=>16420,57369=>16420,159017=>16421,57370=>16421,162436=>16422,57371=>16422,144896=>16423,57372=>16423,150193=>16424,57373=>16424,140563=>16425,57374=>16425,131966=>16427,57376=>16427,24484=>16428,57377=>16428,131968=>16429,57378=>16429,131911=>16430,57379=>16430,28379=>16431,57380=>16431,132127=>16432,57381=>16432,20702=>16433,20737=>16434,57383=>16434,13434=>16435,57384=>16435,20750=>16436,57385=>16436,39020=>16437,57386=>16437,14147=>16438,57387=>16438,33814=>16439,57388=>16439,149924=>16440,57389=>16440,132231=>16441,57390=>16441,20832=>16442,57391=>16442,144308=>16443,57392=>16443,20842=>16444,57393=>16444,134143=>16445,57394=>16445,139516=>16446,57395=>16446,131813=>16447,57396=>16447,140592=>16448,57397=>16448,132494=>16449,57398=>16449,143923=>16450,57399=>16450,137603=>16451,57400=>16451,23426=>16452,57401=>16452,34685=>16453,57402=>16453,132531=>16454,57403=>16454,146585=>16455,57404=>16455,20914=>16456,57405=>16456,20920=>16457,57406=>16457,40244=>16458,57407=>16458,20937=>16459,57408=>16459,20943=>16460,57409=>16460,20945=>16461,57410=>16461,15580=>16462,57411=>16462,20947=>16463,57412=>16463,150182=>16464,57413=>16464,20915=>16465,57414=>16465,20973=>16468,57417=>16468,33741=>16469,57418=>16469,26942=>16470,57419=>16470,145197=>16471,57420=>16471,24443=>16472,57421=>16472,21003=>16473,57422=>16473,21030=>16474,57423=>16474,21052=>16475,57424=>16475,21173=>16476,57425=>16476,21079=>16477,57426=>16477,21140=>16478,57427=>16478,21177=>16479,57428=>16479,21189=>16480,57429=>16480,31765=>16481,57430=>16481,34114=>16482,57431=>16482,21216=>16483,57432=>16483,34317=>16484,57433=>16484,158483=>16485,57434=>16485,194601=>16486,166622=>16487,57436=>16487,21833=>16488,57437=>16488,28377=>16489,57438=>16489,147328=>16490,57439=>16490,133460=>16491,57440=>16491,147436=>16492,57441=>16492,21299=>16493,57442=>16493,134114=>16495,57444=>16495,27851=>16496,57445=>16496,136998=>16497,57446=>16497,26651=>16498,57447=>16498,29653=>16499,57448=>16499,24650=>16500,57449=>16500,16042=>16501,57450=>16501,14540=>16502,57451=>16502,136936=>16503,57452=>16503,29149=>16504,57453=>16504,17570=>16505,57454=>16505,21357=>16506,57455=>16506,21364=>16507,57456=>16507,165547=>16508,57457=>16508,21374=>16509,57458=>16509,194610=>16510,136598=>16511,57460=>16511,136723=>16512,57461=>16512,30694=>16513,57462=>16513,21395=>16514,57463=>16514,166555=>16515,57464=>16515,21408=>16516,57465=>16516,21419=>16517,57466=>16517,21422=>16518,57467=>16518,29607=>16519,57468=>16519,153458=>16520,57469=>16520,16217=>16521,57470=>16521,29596=>16522,57471=>16522,21441=>16523,57472=>16523,21445=>16524,57473=>16524,27721=>16525,57474=>16525,20041=>16526,57475=>16526,22526=>16527,57476=>16527,21465=>16528,57477=>16528,15019=>16529,57478=>16529,134031=>16530,57479=>16530,21472=>16531,57480=>16531,147435=>16532,57481=>16532,142755=>16533,57482=>16533,21494=>16534,57483=>16534,134263=>16535,57484=>16535,21523=>16536,57485=>16536,28793=>16537,57486=>16537,21803=>16538,57487=>16538,26199=>16539,57488=>16539,27995=>16540,57489=>16540,21613=>16541,57490=>16541,158547=>16542,57491=>16542,134516=>16543,57492=>16543,21853=>16544,57493=>16544,21647=>16545,57494=>16545,21668=>16546,57495=>16546,18342=>16547,57496=>16547,136973=>16548,57497=>16548,134877=>16549,57498=>16549,15796=>16550,57499=>16550,134477=>16551,57500=>16551,166332=>16552,57501=>16552,140952=>16553,57502=>16553,21831=>16554,57503=>16554,19693=>16555,57504=>16555,21551=>16556,57505=>16556,29719=>16557,57506=>16557,21894=>16558,57507=>16558,21929=>16559,57508=>16559,137431=>16561,57510=>16561,147514=>16562,57511=>16562,17746=>16563,57512=>16563,148533=>16564,57513=>16564,26291=>16565,57514=>16565,135348=>16566,57515=>16566,22071=>16567,57516=>16567,26317=>16568,57517=>16568,144010=>16569,57518=>16569,26276=>16570,57519=>16570,22093=>16572,57521=>16572,22095=>16573,57522=>16573,30961=>16574,57523=>16574,22257=>16575,57524=>16575,38791=>16576,57525=>16576,21502=>16577,57526=>16577,22272=>16578,57527=>16578,22255=>16579,57528=>16579,22253=>16580,57529=>16580,166758=>16581,57530=>16581,13859=>16582,57531=>16582,135759=>16583,57532=>16583,22342=>16584,57533=>16584,147877=>16585,57534=>16585,27758=>16586,57535=>16586,28811=>16587,57536=>16587,22338=>16588,57537=>16588,14001=>16589,57538=>16589,158846=>16590,57539=>16590,22502=>16591,57540=>16591,136214=>16592,57541=>16592,22531=>16593,57542=>16593,136276=>16594,57543=>16594,148323=>16595,57544=>16595,22566=>16596,57545=>16596,150517=>16597,57546=>16597,22559=>16598,22698=>16599,57548=>16599,13665=>16600,57549=>16600,22752=>16601,57550=>16601,22748=>16602,57551=>16602,135740=>16603,57552=>16603,22779=>16604,57553=>16604,23551=>16605,57554=>16605,22339=>16606,57555=>16606,172368=>16607,57556=>16607,148088=>16608,57557=>16608,37843=>16609,57558=>16609,13729=>16610,57559=>16610,22815=>16611,57560=>16611,26790=>16612,57561=>16612,14019=>16613,57562=>16613,28249=>16614,57563=>16614,136766=>16615,57564=>16615,23076=>16616,57565=>16616,136850=>16618,57567=>16618,34053=>16619,57568=>16619,22985=>16620,57569=>16620,134478=>16621,57570=>16621,158849=>16622,57571=>16622,159018=>16623,57572=>16623,137180=>16624,57573=>16624,23001=>16625,57574=>16625,137211=>16626,57575=>16626,137138=>16627,57576=>16627,159142=>16628,57577=>16628,28017=>16629,57578=>16629,137256=>16630,57579=>16630,136917=>16631,57580=>16631,23033=>16632,57581=>16632,159301=>16633,57582=>16633,23211=>16634,57583=>16634,23139=>16635,57584=>16635,14054=>16636,57585=>16636,149929=>16637,57586=>16637,14088=>16639,57588=>16639,23190=>16640,57589=>16640,29797=>16641,57590=>16641,23251=>16642,57591=>16642,159649=>16643,57592=>16643,140628=>16644,57593=>16644,137489=>16645,57595=>16645,14130=>16646,57596=>16646,136888=>16647,57597=>16647,24195=>16648,57598=>16648,21200=>16649,57599=>16649,23414=>16650,57600=>16650,25992=>16651,57601=>16651,23420=>16652,57602=>16652,162318=>16653,57603=>16653,16388=>16654,57604=>16654,18525=>16655,57605=>16655,131588=>16656,57606=>16656,23509=>16657,57607=>16657,137780=>16658,57609=>16658,154060=>16659,57610=>16659,132517=>16660,57611=>16660,23539=>16661,57612=>16661,23453=>16662,57613=>16662,19728=>16663,57614=>16663,23557=>16664,57615=>16664,138052=>16665,57616=>16665,23571=>16666,57617=>16666,29646=>16667,57618=>16667,23572=>16668,57619=>16668,138405=>16669,57620=>16669,158504=>16670,57621=>16670,23625=>16671,57622=>16671,18653=>16672,57623=>16672,23685=>16673,57624=>16673,23785=>16674,57625=>16674,23791=>16675,57626=>16675,23947=>16676,57627=>16676,138745=>16677,57628=>16677,138807=>16678,57629=>16678,23824=>16679,57630=>16679,23832=>16680,57631=>16680,23878=>16681,57632=>16681,138916=>16682,57633=>16682,23738=>16683,57634=>16683,24023=>16684,57635=>16684,33532=>16685,57636=>16685,14381=>16686,57637=>16686,149761=>16687,57638=>16687,139337=>16688,57639=>16688,139635=>16689,57640=>16689,33415=>16690,57641=>16690,14390=>16691,57642=>16691,15298=>16692,57643=>16692,24110=>16693,57644=>16693,27274=>16694,57645=>16694,57647=>16696,148668=>16697,57648=>16697,134355=>16698,57649=>16698,21414=>16699,57650=>16699,20151=>16700,57651=>16700,21416=>16702,57653=>16702,137073=>16703,57654=>16703,24073=>16704,57655=>16704,57656=>16705,164994=>16706,57657=>16706,24313=>16707,57658=>16707,24315=>16708,57659=>16708,14496=>16709,57660=>16709,24316=>16710,57661=>16710,26686=>16711,57662=>16711,37915=>16712,57663=>16712,24333=>16713,57664=>16713,131521=>16714,57665=>16714,194708=>16715,57666=>16715,15070=>16716,57667=>16716,135994=>16717,57669=>16717,24378=>16718,57670=>16718,157832=>16719,57671=>16719,140240=>16720,57672=>16720,140401=>16721,57674=>16721,24419=>16722,57675=>16722,159342=>16723,57677=>16723,24434=>16724,57678=>16724,37696=>16725,57679=>16725,166454=>16726,57680=>16726,24487=>16727,57681=>16727,23990=>16728,57682=>16728,15711=>16729,57683=>16729,152144=>16730,57684=>16730,139114=>16731,57685=>16731,159992=>16732,57686=>16732,140904=>16733,57687=>16733,37334=>16734,57688=>16734,131742=>16735,57689=>16735,166441=>16736,57690=>16736,24625=>16737,57691=>16737,26245=>16738,57692=>16738,14691=>16739,57694=>16739,15815=>16740,57695=>16740,13881=>16741,57696=>16741,22416=>16742,57697=>16742,141236=>16743,57698=>16743,31089=>16744,57699=>16744,15936=>16745,57700=>16745,24734=>16746,57701=>16746,24810=>16748,149890=>16749,57704=>16749,149903=>16750,57705=>16750,162387=>16751,57706=>16751,29860=>16752,57707=>16752,20705=>16753,57708=>16753,23200=>16754,57709=>16754,24932=>16755,57710=>16755,24898=>16756,57712=>16756,194726=>16757,57713=>16757,159442=>16758,57714=>16758,24961=>16759,57715=>16759,20980=>16760,57716=>16760,132694=>16761,57717=>16761,24967=>16762,57718=>16762,23466=>16763,57719=>16763,147383=>16764,57720=>16764,141407=>16765,57721=>16765,25043=>16766,57722=>16766,166813=>16767,57723=>16767,170333=>16768,57724=>16768,25040=>16769,57725=>16769,14642=>16770,57726=>16770,141696=>16771,57727=>16771,141505=>16772,57728=>16772,24611=>16773,57729=>16773,24924=>16774,57730=>16774,25886=>16775,57731=>16775,25483=>16776,57732=>16776,131352=>16777,57733=>16777,25285=>16778,57734=>16778,137072=>16779,57735=>16779,25301=>16780,57736=>16780,142861=>16781,57737=>16781,25452=>16782,57738=>16782,149983=>16783,57739=>16783,14871=>16784,57740=>16784,25656=>16785,57741=>16785,25592=>16786,57742=>16786,136078=>16787,57743=>16787,137212=>16788,57744=>16788,28554=>16789,57746=>16789,142902=>16790,57747=>16790,153373=>16792,57750=>16792,25825=>16793,57751=>16793,25829=>16794,57752=>16794,38011=>16795,57753=>16795,14950=>16796,57754=>16796,25658=>16797,57755=>16797,14935=>16798,57756=>16798,25933=>16799,57757=>16799,28438=>16800,57758=>16800,150056=>16801,57759=>16801,150051=>16802,57760=>16802,25989=>16803,57761=>16803,25965=>16804,57762=>16804,25951=>16805,57763=>16805,26037=>16807,57765=>16807,149824=>16808,57766=>16808,19255=>16809,57767=>16809,26065=>16810,57768=>16810,16600=>16811,57769=>16811,137257=>16812,57770=>16812,57771=>16813,26083=>16814,57772=>16814,24543=>16815,57773=>16815,144384=>16816,57774=>16816,26136=>16817,57775=>16817,57776=>16818,143863=>16818,57777=>16819,143864=>16819,26180=>16820,57778=>16820,57779=>16821,143780=>16821,57780=>16822,143781=>16822,26187=>16823,57781=>16823,134773=>16824,57782=>16824,26215=>16825,57783=>16825,152038=>16826,57784=>16826,26227=>16827,57785=>16827,64018=>16828,143921=>16829,57788=>16829,165364=>16830,57789=>16830,143816=>16831,57790=>16831,152339=>16832,57791=>16832,30661=>16833,57792=>16833,141559=>16834,57793=>16834,39332=>16835,57794=>16835,26370=>16836,57795=>16836,148380=>16837,57796=>16837,150049=>16838,57797=>16838,27130=>16839,57799=>16839,145346=>16840,57800=>16840,194779=>16841,26471=>16842,57802=>16842,26466=>16843,57803=>16843,147917=>16844,57804=>16844,168173=>16845,57805=>16845,26583=>16846,57806=>16846,17641=>16847,57807=>16847,26658=>16848,57808=>16848,28240=>16849,57809=>16849,37436=>16850,57810=>16850,26625=>16851,57811=>16851,144358=>16852,57812=>16852,159136=>16853,57813=>16853,26717=>16854,57814=>16854,144495=>16855,57815=>16855,27105=>16856,57816=>16856,27147=>16857,57817=>16857,166623=>16858,57818=>16858,26995=>16859,57819=>16859,26819=>16860,57820=>16860,144845=>16861,57821=>16861,26881=>16862,57822=>16862,26880=>16863,57823=>16863,14849=>16864,57825=>16864,144956=>16865,57826=>16865,15232=>16866,57827=>16866,26540=>16867,57828=>16867,26977=>16868,57829=>16868,166474=>16869,57830=>16869,17148=>16870,57831=>16870,26934=>16871,57832=>16871,27032=>16872,57833=>16872,15265=>16873,57834=>16873,132041=>16874,57835=>16874,33635=>16875,57836=>16875,20624=>16876,57837=>16876,27129=>16877,57838=>16877,144985=>16878,57839=>16878,139562=>16879,57840=>16879,27205=>16880,57841=>16880,145155=>16881,57842=>16881,27293=>16882,57843=>16882,15347=>16883,57844=>16883,26545=>16884,57845=>16884,27336=>16885,57846=>16885,168348=>16886,57847=>16886,15373=>16887,57848=>16887,27421=>16888,57849=>16888,133411=>16889,57850=>16889,24798=>16890,60308=>16890,57851=>16890,27445=>16891,57852=>16891,27508=>16892,57853=>16892,141261=>16893,57854=>16893,28341=>16894,57855=>16894,57856=>16895,146139=>16895,137560=>16897,57858=>16897,14144=>16898,57859=>16898,21537=>16899,57860=>16899,146266=>16900,57861=>16900,27617=>16901,57862=>16901,147196=>16902,57863=>16902,27612=>16903,57864=>16903,27703=>16904,57865=>16904,140427=>16905,57866=>16905,149745=>16906,57867=>16906,158545=>16907,57868=>16907,27738=>16908,57869=>16908,33318=>16909,57870=>16909,27769=>16910,57871=>16910,146876=>16911,57872=>16911,17605=>16912,57873=>16912,146877=>16913,57874=>16913,147876=>16914,57875=>16914,149772=>16915,57876=>16915,149760=>16916,57877=>16916,146633=>16917,57878=>16917,14053=>16918,57879=>16918,15595=>16919,57880=>16919,134450=>16920,57881=>16920,39811=>16921,57882=>16921,143865=>16922,57883=>16922,140433=>16923,57884=>16923,32655=>16924,57885=>16924,26679=>16925,57886=>16925,159013=>16926,57887=>16926,159137=>16927,57888=>16927,159211=>16928,57889=>16928,28054=>16929,57890=>16929,27996=>16930,57891=>16930,28284=>16931,57892=>16931,28420=>16932,57893=>16932,149887=>16933,57894=>16933,147589=>16934,57895=>16934,159346=>16935,57896=>16935,34099=>16936,57897=>16936,159604=>16937,57898=>16937,20935=>16938,57899=>16938,33838=>16941,57902=>16941,166689=>16942,57903=>16942,194824=>16943,146991=>16944,57905=>16944,29779=>16945,57906=>16945,147330=>16946,57907=>16946,31180=>16947,57908=>16947,28239=>16948,57909=>16948,23185=>16949,57910=>16949,143435=>16950,57911=>16950,28664=>16951,57912=>16951,14093=>16952,57913=>16952,28573=>16953,57914=>16953,146992=>16954,57915=>16954,28410=>16955,57916=>16955,136343=>16956,57917=>16956,147517=>16957,57918=>16957,17749=>16958,57919=>16958,37872=>16959,57920=>16959,28484=>16960,57921=>16960,28508=>16961,57922=>16961,15694=>16962,57923=>16962,28532=>16963,57924=>16963,168304=>16964,57925=>16964,15675=>16965,57926=>16965,28575=>16966,57927=>16966,147780=>16967,57928=>16967,28627=>16968,57929=>16968,147601=>16969,57930=>16969,147797=>16970,57931=>16970,147513=>16971,57932=>16971,147440=>16972,57933=>16972,147380=>16973,57934=>16973,147775=>16974,57935=>16974,20959=>16975,57936=>16975,57937=>16976,147798=>16976,57938=>16977,147799=>16977,147776=>16978,57939=>16978,156125=>16979,57940=>16979,28747=>16980,57941=>16980,28798=>16981,57942=>16981,28839=>16982,57943=>16982,28876=>16984,57945=>16984,28885=>16985,57946=>16985,28886=>16986,57947=>16986,28895=>16987,57948=>16987,16644=>16988,57949=>16988,15848=>16989,57950=>16989,29108=>16990,57951=>16990,29078=>16991,57952=>16991,148087=>16992,57953=>16992,28971=>16993,57954=>16993,28997=>16994,57955=>16994,23176=>16995,57956=>16995,29002=>16996,57957=>16996,64072=>16997,148325=>16998,57960=>16998,29007=>16999,57961=>16999,37730=>17000,57962=>17000,148161=>17001,57963=>17001,28972=>17002,57964=>17002,148570=>17003,57965=>17003,150055=>17004,57966=>17004,150050=>17005,57967=>17005,29114=>17006,57968=>17006,166888=>17007,57969=>17007,28861=>17008,57970=>17008,29198=>17009,57971=>17009,37954=>17010,57972=>17010,29205=>17011,57973=>17011,22801=>17012,57974=>17012,37955=>17013,57975=>17013,29220=>17014,57976=>17014,37697=>17015,57977=>17015,153093=>17016,57978=>17016,29230=>17017,57979=>17017,29248=>17018,57980=>17018,149876=>17019,57981=>17019,26813=>17020,57982=>17020,29269=>17021,57983=>17021,29271=>17022,57984=>17022,15957=>17023,57985=>17023,143428=>17024,57986=>17024,26637=>17025,57987=>17025,28477=>17026,57988=>17026,29314=>17027,57989=>17027,29483=>17029,57991=>17029,149539=>17030,57992=>17030,165931=>17031,57993=>17031,18669=>17032,57994=>17032,165892=>17033,57995=>17033,29480=>17034,57996=>17034,29486=>17035,57997=>17035,29647=>17036,57998=>17036,29610=>17037,57999=>17037,134202=>17038,58000=>17038,158254=>17039,58001=>17039,29641=>17040,58002=>17040,29769=>17041,58003=>17041,147938=>17042,58004=>17042,136935=>17043,58005=>17043,150052=>17044,58006=>17044,26147=>17045,58007=>17045,14021=>17046,58008=>17046,149943=>17047,58009=>17047,149901=>17048,58010=>17048,150011=>17049,58011=>17049,29687=>17050,58012=>17050,29717=>17051,58013=>17051,26883=>17052,58014=>17052,150054=>17053,58015=>17053,29753=>17054,58016=>17054,16087=>17055,58018=>17055,194863=>17056,141485=>17057,58020=>17057,29792=>17058,58021=>17058,167602=>17059,58022=>17059,29767=>17060,58023=>17060,29668=>17061,58024=>17061,29814=>17062,58025=>17062,33721=>17063,58026=>17063,29804=>17064,58027=>17064,29812=>17065,58029=>17065,37873=>17066,58030=>17066,27180=>17067,58031=>17067,29826=>17068,58032=>17068,18771=>17069,58033=>17069,150156=>17070,58034=>17070,147807=>17071,58035=>17071,150137=>17072,58036=>17072,166799=>17073,58037=>17073,23366=>17074,58038=>17074,166915=>17075,58039=>17075,137374=>17076,58040=>17076,29896=>17077,58041=>17077,137608=>17078,58042=>17078,29966=>17079,58043=>17079,29982=>17080,58045=>17080,167641=>17081,58046=>17081,137803=>17082,58047=>17082,23511=>17083,58048=>17083,167596=>17084,58049=>17084,37765=>17085,58050=>17085,30029=>17086,58051=>17086,30026=>17087,58052=>17087,30055=>17088,58053=>17088,30062=>17089,58054=>17089,151426=>17090,58055=>17090,16132=>17091,58056=>17091,150803=>17092,58057=>17092,30094=>17093,58058=>17093,29789=>17094,58059=>17094,30110=>17095,58060=>17095,30132=>17096,58061=>17096,30210=>17097,58062=>17097,30252=>17098,58063=>17098,30289=>17099,58064=>17099,30287=>17100,58065=>17100,30319=>17101,58066=>17101,58067=>17102,156661=>17103,58068=>17103,30352=>17104,58069=>17104,33263=>17105,58070=>17105,14328=>17106,58071=>17106,157969=>17107,58072=>17107,157966=>17108,58073=>17108,30369=>17109,58074=>17109,30373=>17110,58075=>17110,30391=>17111,58076=>17111,30412=>17112,58077=>17112,159647=>17113,58078=>17113,33890=>17114,58079=>17114,151709=>17115,58080=>17115,151933=>17116,58081=>17116,138780=>17117,58082=>17117,30494=>17118,58083=>17118,30502=>17119,58084=>17119,30528=>17120,58085=>17120,25775=>17121,58086=>17121,152096=>17122,58087=>17122,30552=>17123,58088=>17123,144044=>17124,58089=>17124,30639=>17125,58090=>17125,166244=>17126,58091=>17126,166248=>17127,58092=>17127,136897=>17128,58093=>17128,30708=>17129,58094=>17129,26826=>17131,58098=>17131,30895=>17132,58099=>17132,30919=>17133,58100=>17133,30931=>17134,58101=>17134,38565=>17135,58102=>17135,31022=>17136,58103=>17136,153056=>17137,58104=>17137,30935=>17138,58105=>17138,31028=>17139,58106=>17139,30897=>17140,58107=>17140,161292=>17141,58108=>17141,36792=>17142,58109=>17142,34948=>17143,58110=>17143,140828=>17144,58113=>17144,31110=>17145,58114=>17145,35072=>17146,58115=>17146,26882=>17147,58116=>17147,31104=>17148,58117=>17148,153687=>17149,58118=>17149,31133=>17150,58119=>17150,162617=>17151,58120=>17151,31036=>17152,58121=>17152,31145=>17153,58122=>17153,28202=>17154,58123=>17154,160038=>17155,58124=>17155,16040=>17156,58125=>17156,31174=>17157,58126=>17157,168205=>17158,58127=>17158,31188=>17159,58128=>17159,21797=>17161,62526=>17161,134210=>17163,62528=>17163,134421=>17164,62529=>17164,151851=>17165,62530=>17165,21904=>17166,62531=>17166,142534=>17167,62532=>17167,14828=>17168,62533=>17168,131905=>17169,62534=>17169,36422=>17170,62535=>17170,150968=>17171,62536=>17171,169189=>17172,62537=>17172,164030=>17174,62539=>17174,30586=>17175,62540=>17175,142392=>17176,62541=>17176,14900=>17177,62542=>17177,18389=>17178,62543=>17178,164189=>17179,62544=>17179,158194=>17180,62545=>17180,151018=>17181,62546=>17181,25821=>17182,62547=>17182,134524=>17183,62548=>17183,135092=>17184,62549=>17184,134357=>17185,62550=>17185,25741=>17187,62552=>17187,36478=>17188,62553=>17188,134806=>17189,62554=>17189,135012=>17191,62556=>17191,142505=>17192,62557=>17192,164438=>17193,62558=>17193,148691=>17194,62559=>17194,134470=>17196,62561=>17196,170573=>17197,62562=>17197,164073=>17198,62563=>17198,18420=>17199,62564=>17199,151207=>17200,62565=>17200,142530=>17201,62566=>17201,39602=>17202,62567=>17202,14951=>17203,62568=>17203,169460=>17204,62569=>17204,16365=>17205,62570=>17205,13574=>17206,62571=>17206,152263=>17207,62572=>17207,169940=>17208,62573=>17208,142660=>17210,62575=>17210,40302=>17211,62576=>17211,38933=>17212,62577=>17212,17369=>17214,62579=>17214,25780=>17216,62581=>17216,21731=>17217,62582=>17217,62584=>17219,142282=>17219,14843=>17221,62586=>17221,157402=>17223,62588=>17223,157462=>17224,62589=>17224,162208=>17225,62590=>17225,25834=>17226,62591=>17226,151634=>17227,62592=>17227,134211=>17228,62593=>17228,36456=>17229,62594=>17229,166732=>17231,62596=>17231,132913=>17232,62597=>17232,18443=>17234,62599=>17234,131497=>17235,62600=>17235,16378=>17236,62601=>17236,22643=>17237,62602=>17237,142733=>17238,62603=>17238,148936=>17240,62605=>17240,132348=>17241,62606=>17241,155799=>17242,62607=>17242,134988=>17243,62608=>17243,21881=>17245,62610=>17245,17338=>17247,62612=>17247,19124=>17249,62614=>17249,141926=>17250,62615=>17250,135325=>17251,62616=>17251,33194=>17252,62617=>17252,39157=>17253,62618=>17253,134556=>17254,62619=>17254,25465=>17255,62620=>17255,14846=>17256,62621=>17256,141173=>17257,62622=>17257,36288=>17258,62623=>17258,22177=>17259,62624=>17259,25724=>17260,62625=>17260,15939=>17261,62626=>17261,173569=>17263,62628=>17263,134665=>17264,62629=>17264,142031=>17265,62630=>17265,135368=>17268,62633=>17268,145858=>17269,62634=>17269,14738=>17270,62635=>17270,14854=>17271,62636=>17271,164507=>17272,62637=>17272,13688=>17273,62638=>17273,155209=>17274,62639=>17274,139463=>17275,62640=>17275,142514=>17278,62643=>17278,169760=>17279,62644=>17279,13500=>17280,62645=>17280,27709=>17281,62646=>17281,151099=>17282,62647=>17282,161140=>17285,62650=>17285,142987=>17286,62651=>17286,139784=>17287,62652=>17287,173659=>17288,62653=>17288,167117=>17289,62654=>17289,134778=>17290,62655=>17290,134196=>17291,62656=>17291,161337=>17292,62683=>17292,142286=>17293,62684=>17293,62687=>17294,142417=>17294,14872=>17295,62689=>17295,62691=>17296,135367=>17296,62693=>17297,173618=>17297,167122=>17298,62695=>17298,167321=>17299,62696=>17299,167114=>17300,62697=>17300,38314=>17301,62698=>17301,62706=>17303,161630=>17303,28992=>17304,62708=>17304,20822=>17306,62385=>17306,20222=>17307,20616=>17308,62487=>17308,13459=>17310,62489=>17310,20870=>17311,62491=>17311,24130=>17312,63037=>17312,20997=>17313,62495=>17313,21031=>17314,62436=>17314,21113=>17315,62497=>17315,194600=>17316,13651=>17317,62504=>17317,21442=>17318,62505=>17318,21343=>17319,62715=>17319,21823=>17321,62520=>17321,21976=>17323,59986=>17323,13789=>17324,62722=>17324,22049=>17325,63067=>17325,22100=>17327,60044=>17327,60148=>17328,135291=>17328,60153=>17330,135379=>17330,61095=>17332,135934=>17332,14265=>17335,60104=>17335,23745=>17336,61099=>17336,23829=>17337,63066=>17337,23894=>17338,63030=>17338,14392=>17339,63036=>17339,20097=>17340,62477=>17340,24253=>17341,63038=>17341,14612=>17342,63042=>17342,25017=>17343,63050=>17343,25232=>17344,63054=>17344,25368=>17345,63056=>17345,25690=>17346,63063=>17346,25745=>17347,62381=>17347,33133=>17348,62709=>17348,33156=>17349,59922=>17349,33171=>17350,59924=>17350,26624=>17351,63080=>17351,15292=>17352,63093=>17352,29327=>17353,60517=>17353,29389=>17354,59781=>17354,149487=>17355,29497=>17356,59785=>17356,30018=>17357,59811=>17357,30172=>17358,59817=>17358,16320=>17359,59818=>17359,60278=>17360,151205=>17360,16343=>17361,59820=>17361,30336=>17363,30348=>17364,59824=>17364,151388=>17364,16552=>17365,59845=>17365,30777=>17366,59846=>17366,16643=>17367,59855=>17367,31377=>17368,59863=>17368,31771=>17369,59876=>17369,31981=>17370,59884=>17370,32659=>17371,62658=>17371,32686=>17372,59892=>17372,33535=>17374,59936=>17374,22623=>17375,59981=>17375,34482=>17376,59960=>17376,17836=>17377,34699=>17378,59963=>17378,35143=>17379,59969=>17379,35369=>17381,59972=>17381,36465=>17383,59988=>17383,60484=>17384,164233=>17384,36528=>17385,59990=>17385,37214=>17387,62443=>17387,37260=>17388,62441=>17388,39182=>17389,60051=>17389,39196=>17390,60054=>17390,39809=>17393,60066=>17393,40384=>17394,60080=>17394,40339=>17395,60078=>17395,40620=>17396,60085=>17396,19857=>17397,60540=>17397,37818=>17399,40571=>17400,60084=>17400,28809=>17401,63148=>17401,29512=>17402,59788=>17402,31129=>17404,59858=>17404,36791=>17405,59997=>17405,39234=>17407,60056=>17407,8364=>17601,12443=>17606,63518=>17606,12444=>17607,63519=>17607,11904=>17608,63520=>17608,12736=>17609,62211=>17609,12737=>17610,62212=>17610,12738=>17611,62213=>17611,12739=>17612,62214=>17612,12740=>17613,62215=>17613,131340=>17614,62216=>17614,12741=>17615,62217=>17615,131281=>17616,62218=>17616,131277=>17617,62219=>17617,12742=>17618,62220=>17618,12743=>17619,62221=>17619,131275=>17620,62222=>17620,139240=>17621,62223=>17621,12744=>17622,62224=>17622,131274=>17623,62225=>17623,12745=>17624,62226=>17624,12746=>17625,62227=>17625,12747=>17626,62228=>17626,12748=>17627,62229=>17627,131342=>17628,62230=>17628,12749=>17629,62231=>17629,12750=>17630,62232=>17630,62776=>17631,62777=>17632,138177=>17633,62778=>17633,194680=>17634,62779=>17634,12205=>17635,38737=>17635,62780=>17635,131206=>17636,62781=>17636,20059=>17637,62782=>17637,20155=>17638,62783=>17638,13630=>17639,62784=>17639,23587=>17640,62785=>17640,24401=>17641,62786=>17641,24516=>17642,62787=>17642,14586=>17643,62788=>17643,25164=>17644,62789=>17644,25909=>17645,62790=>17645,27514=>17646,62791=>17646,27701=>17647,62792=>17647,27706=>17648,62793=>17648,28780=>17649,62794=>17649,29227=>17650,62795=>17650,20012=>17651,62796=>17651,29357=>17652,62797=>17652,149737=>17653,62798=>17653,32594=>17654,62799=>17654,31035=>17655,62800=>17655,31993=>17656,62801=>17656,32595=>17657,62802=>17657,156266=>17658,62803=>17658,13505=>17659,62804=>17659,156491=>17660,62806=>17660,32770=>17661,62807=>17661,32896=>17662,62808=>17662,157202=>17663,62809=>17663,158033=>17664,62810=>17664,21341=>17665,62811=>17665,34916=>17666,62812=>17666,35265=>17667,62813=>17667,161970=>17668,62814=>17668,35744=>17669,62815=>17669,36125=>17670,62816=>17670,38021=>17671,62817=>17671,38264=>17672,62818=>17672,38271=>17673,62819=>17673,38376=>17674,62820=>17674,167439=>17675,62821=>17675,38886=>17676,62822=>17676,39029=>17677,62823=>17677,39118=>17678,62824=>17678,39134=>17679,62825=>17679,39267=>17680,62826=>17680,170000=>17681,62827=>17681,40060=>17682,62828=>17682,40479=>17683,62829=>17683,40644=>17684,62830=>17684,27503=>17685,62831=>17685,63751=>17686,62832=>17686,20023=>17687,62833=>17687,131207=>17688,62834=>17688,38429=>17689,62835=>17689,25143=>17690,62836=>17690,38050=>17691,62837=>17691,11908=>17692,63521=>17692,11910=>17693,63522=>17693,11911=>17694,63523=>17694,11912=>17695,63524=>17695,11914=>17696,63525=>17696,11916=>17697,63526=>17697,11917=>17698,63527=>17698,11925=>17699,63528=>17699,11932=>17700,63529=>17700,11941=>17701,63531=>17701,11943=>17702,63532=>17702,11946=>17703,63533=>17703,11948=>17704,63534=>17704,11950=>17705,63535=>17705,11958=>17706,63536=>17706,11964=>17707,63537=>17707,11966=>17708,63538=>17708,11978=>17709,63540=>17709,11980=>17710,63541=>17710,11981=>17711,63542=>17711,11983=>17712,63543=>17712,11990=>17713,63544=>17713,11991=>17714,63545=>17714,11998=>17715,63546=>17715,172969=>17716,62368=>17716,135493=>17717,62369=>17717,25866=>17718,62371=>17718,20029=>17719,62374=>17719,28381=>17720,62375=>17720,40270=>17721,62376=>17721,37343=>17722,62377=>17722,62380=>17723,161589=>17723,20250=>17724,62382=>17724,20264=>17725,62383=>17725,20392=>17726,62384=>17726,20852=>17727,62386=>17727,20892=>17728,62387=>17728,20964=>17729,62388=>17729,21153=>17730,62389=>17730,21160=>17731,62390=>17731,21307=>17732,62391=>17732,21326=>17733,62392=>17733,21457=>17734,62393=>17734,21464=>17735,62394=>17735,22242=>17736,62395=>17736,22768=>17737,62396=>17737,22788=>17738,62397=>17738,22791=>17739,62398=>17739,22834=>17740,62399=>17740,22836=>17741,62400=>17741,23398=>17742,62401=>17742,23454=>17743,62402=>17743,23455=>17744,62403=>17744,23706=>17745,62404=>17745,24198=>17746,62405=>17746,24635=>17747,62406=>17747,25993=>17748,62407=>17748,26622=>17749,62408=>17749,26628=>17750,62409=>17750,26725=>17751,62410=>17751,27982=>17752,62411=>17752,28860=>17753,62412=>17753,30005=>17754,62413=>17754,32420=>17755,62414=>17755,32428=>17756,62415=>17756,32442=>17757,62416=>17757,32455=>17758,62417=>17758,32463=>17759,62418=>17759,32479=>17760,62419=>17760,32518=>17761,62420=>17761,32567=>17762,62421=>17762,33402=>17763,62422=>17763,33487=>17764,62423=>17764,33647=>17765,62424=>17765,35270=>17766,62425=>17766,35774=>17767,62426=>17767,35810=>17768,62427=>17768,36710=>17769,62428=>17769,36711=>17770,62429=>17770,36718=>17771,62430=>17771,29713=>17772,62431=>17772,31996=>17773,62432=>17773,32205=>17774,62433=>17774,26950=>17775,62434=>17775,31433=>17776,62435=>17776,30904=>17777,62442=>17777,32956=>17778,62444=>17778,36107=>17779,62446=>17779,33014=>17780,62447=>17780,133607=>17781,62448=>17781,32927=>17782,62451=>17782,40647=>17783,62452=>17783,19661=>17784,62453=>17784,40393=>17785,62454=>17785,40460=>17786,62455=>17786,19518=>17787,62456=>17787,171510=>17788,62457=>17788,159758=>17789,62458=>17789,40458=>17790,62459=>17790,172339=>17791,62460=>17791,13761=>17792,62461=>17792,28314=>17793,62463=>17793,33342=>17794,62464=>17794,29977=>17795,62465=>17795,18705=>17796,62467=>17796,39532=>17797,62468=>17797,39567=>17798,62469=>17798,40857=>17799,62470=>17799,31111=>17800,62471=>17800,164972=>17801,62472=>17801,138698=>17802,62473=>17802,132560=>17803,62474=>17803,142054=>17804,62475=>17804,20004=>17805,62476=>17805,20096=>17806,62478=>17806,20103=>17807,62479=>17807,20159=>17808,62480=>17808,20203=>17809,62481=>17809,20279=>17810,62482=>17810,13388=>17811,62483=>17811,20413=>17812,62484=>17812,15944=>17813,62485=>17813,20483=>17814,62486=>17814,13437=>17815,62488=>17815,13477=>17816,62490=>17816,22789=>17817,62492=>17817,20955=>17818,62493=>17818,20988=>17819,62494=>17819,20105=>17820,62496=>17820,21136=>17821,62498=>17821,21287=>17822,62499=>17822,13767=>17823,62500=>17823,21417=>17824,62501=>17824,13649=>17825,62502=>17825,21424=>17826,62503=>17826,21539=>17827,62506=>17827,13677=>17828,62507=>17828,13682=>17829,62508=>17829,13953=>17830,62509=>17830,21651=>17831,62510=>17831,21667=>17832,62511=>17832,21684=>17833,62512=>17833,21689=>17834,62513=>17834,21712=>17835,62514=>17835,21743=>17836,62515=>17836,21784=>17837,62516=>17837,21795=>17838,62517=>17838,21800=>17839,62518=>17839,13720=>17840,62519=>17840,13733=>17841,62521=>17841,13759=>17842,62522=>17842,21975=>17843,62523=>17843,13765=>17844,62524=>17844,163204=>17845,62525=>17845,16467=>17846,62538=>17846,62551=>17847,135412=>17847,62555=>17848,134155=>17848,62574=>17849,161992=>17849,62580=>17850,155813=>17850,62583=>17851,142668=>17851,62585=>17852,135287=>17852,62587=>17853,135279=>17853,62595=>17854,139681=>17854,62609=>17855,134550=>17855,16571=>17856,62611=>17856,62631=>17857,142537=>17857,22098=>17858,62641=>17858,134961=>17859,62642=>17859,62657=>17860,157724=>17860,135375=>17861,62659=>17861,141315=>17862,62660=>17862,141625=>17863,62661=>17863,13819=>17864,62662=>17864,152035=>17865,62663=>17865,134796=>17866,62664=>17866,135053=>17867,62665=>17867,134826=>17868,62666=>17868,16275=>17869,62667=>17869,134960=>17870,62668=>17870,134471=>17871,62669=>17871,135503=>17872,62670=>17872,134732=>17873,62671=>17873,134827=>17874,62673=>17874,134057=>17875,62674=>17875,134472=>17876,62675=>17876,135360=>17877,62676=>17877,135485=>17878,62677=>17878,16377=>17879,62678=>17879,140950=>17880,62679=>17880,25650=>17881,62680=>17881,135085=>17882,62681=>17882,144372=>17883,62682=>17883,62685=>17884,134526=>17884,62686=>17885,134527=>17885,62688=>17886,142421=>17886,62690=>17887,134808=>17887,62692=>17888,134958=>17888,62694=>17889,158544=>17889,21708=>17890,62699=>17890,33476=>17891,62700=>17891,21945=>17892,62701=>17892,171715=>17893,62703=>17893,39974=>17894,62704=>17894,39606=>17895,62705=>17895,62707=>17896,142830=>17896,33004=>17897,62710=>17897,23580=>17898,62711=>17898,157042=>17899,62712=>17899,33076=>17900,62713=>17900,14231=>17901,62714=>17901,164029=>17902,62716=>17902,37302=>17903,62717=>17903,134906=>17904,62718=>17904,134671=>17905,62719=>17905,134775=>17906,62720=>17906,134907=>17907,62721=>17907,151019=>17908,62723=>17908,13833=>17909,62724=>17909,134358=>17910,62725=>17910,22191=>17911,62726=>17911,141237=>17912,62727=>17912,135369=>17913,62728=>17913,134672=>17914,62729=>17914,134776=>17915,62730=>17915,135288=>17916,62731=>17916,135496=>17917,62732=>17917,164359=>17918,62733=>17918,136277=>17919,62734=>17919,134777=>17920,62735=>17920,151120=>17921,62736=>17921,142756=>17922,62737=>17922,23124=>17923,62738=>17923,62739=>17924,135197=>17924,62740=>17925,135198=>17925,62741=>17926,135413=>17926,62742=>17927,135414=>17927,22428=>17928,62743=>17928,134673=>17929,62744=>17929,161428=>17930,62745=>17930,164557=>17931,62746=>17931,135093=>17932,62747=>17932,134779=>17933,62748=>17933,151934=>17934,62749=>17934,14083=>17935,62750=>17935,135094=>17936,62751=>17936,135552=>17937,62752=>17937,152280=>17938,62753=>17938,172733=>17939,62754=>17939,149978=>17940,62755=>17940,137274=>17941,62756=>17941,147831=>17942,62757=>17942,164476=>17943,62758=>17943,22681=>17944,62759=>17944,21096=>17945,62760=>17945,13850=>17946,62761=>17946,153405=>17947,62762=>17947,31666=>17948,62763=>17948,23400=>17949,62764=>17949,18432=>17950,62765=>17950,19244=>17951,62766=>17951,40743=>17952,62767=>17952,18919=>17953,62768=>17953,39967=>17954,62769=>17954,39821=>17955,62770=>17955,154484=>17956,62771=>17956,143677=>17957,62772=>17957,22011=>17958,62773=>17958,13810=>17959,62774=>17959,22153=>17960,62775=>17960,23870=>17961,63028=>17961,23880=>17962,63029=>17962,15868=>17963,63031=>17963,14351=>17964,63032=>17964,23972=>17965,63033=>17965,23993=>17966,63034=>17966,14368=>17967,63035=>17967,24357=>17968,63039=>17968,24451=>17969,63040=>17969,14600=>17970,63041=>17970,14655=>17971,63043=>17971,14669=>17972,63044=>17972,24791=>17973,63045=>17973,24893=>17974,63046=>17974,23781=>17975,63047=>17975,14729=>17976,63048=>17976,25015=>17977,63049=>17977,25039=>17978,63051=>17978,14776=>17979,63052=>17979,25132=>17980,63053=>17980,25317=>17981,63055=>17981,14840=>17982,63057=>17982,22193=>17983,63058=>17983,14851=>17984,63059=>17984,25570=>17985,63060=>17985,25595=>17986,63061=>17986,25607=>17987,63062=>17987,14923=>17988,63064=>17988,25792=>17989,63065=>17989,40863=>17990,63068=>17990,14999=>17991,63069=>17991,25990=>17992,63070=>17992,15037=>17993,63071=>17993,26111=>17994,63072=>17994,26195=>17995,63073=>17995,15090=>17996,63074=>17996,26258=>17997,63075=>17997,15138=>17998,63076=>17998,26390=>17999,63077=>17999,15170=>18000,63078=>18000,26532=>18001,63079=>18001,15192=>18002,63081=>18002,26698=>18003,63082=>18003,26756=>18004,63083=>18004,15218=>18005,63084=>18005,15217=>18006,63085=>18006,15227=>18007,63086=>18007,26889=>18008,63087=>18008,26947=>18009,63088=>18009,29276=>18010,63089=>18010,26980=>18011,63090=>18011,27039=>18012,63091=>18012,27013=>18013,63092=>18013,27094=>18014,63094=>18014,15325=>18015,63095=>18015,27237=>18016,63096=>18016,27252=>18017,63097=>18017,27249=>18018,63098=>18018,27266=>18019,63099=>18019,15340=>18020,63100=>18020,27289=>18021,63101=>18021,15346=>18022,63102=>18022,27307=>18023,63103=>18023,27317=>18024,63104=>18024,27348=>18025,63105=>18025,27382=>18026,63106=>18026,27521=>18027,63107=>18027,27585=>18028,63108=>18028,27626=>18029,63109=>18029,27765=>18030,63110=>18030,27818=>18031,63111=>18031,15563=>18032,63112=>18032,27906=>18033,63113=>18033,27910=>18034,63114=>18034,27942=>18035,63115=>18035,28033=>18036,63116=>18036,15599=>18037,63117=>18037,28068=>18038,63118=>18038,28081=>18039,63119=>18039,28181=>18040,63120=>18040,28184=>18041,63121=>18041,28201=>18042,63122=>18042,28294=>18043,63123=>18043,166336=>18044,63124=>18044,28347=>18045,63125=>18045,28386=>18046,63126=>18046,28378=>18047,63127=>18047,40831=>18048,63128=>18048,28392=>18049,63129=>18049,28393=>18050,63130=>18050,28452=>18051,63131=>18051,28468=>18052,63132=>18052,15686=>18053,63133=>18053,147265=>18054,63134=>18054,28545=>18055,63135=>18055,28606=>18056,63136=>18056,15722=>18057,63137=>18057,15733=>18058,63138=>18058,29111=>18059,63139=>18059,23705=>18060,63140=>18060,15754=>18061,63141=>18061,28716=>18062,63142=>18062,15761=>18063,63143=>18063,28752=>18064,63144=>18064,28756=>18065,63145=>18065,28783=>18066,63146=>18066,28799=>18067,63147=>18067,131877=>18068,63149=>18068,17345=>18069,63150=>18069,13809=>18070,63151=>18070,134872=>18071,63152=>18071,13902=>18072,58134=>18072,15789=>18073,58172=>18073,154725=>18074,58173=>18074,26237=>18075,58183=>18075,31860=>18076,58188=>18076,29837=>18077,58197=>18077,32402=>18078,58215=>18078,17667=>18079,58232=>18079,58260=>18080,151480=>18080,58270=>18081,133901=>18081,58277=>18082,158474=>18082,13438=>18083,58311=>18083,58317=>18084,143087=>18084,58325=>18085,146613=>18085,58343=>18086,159385=>18086,34673=>18087,58364=>18087,25537=>18088,58385=>18088,30583=>18089,58387=>18089,35210=>18090,58390=>18090,58406=>18091,147343=>18091,35660=>18092,58415=>18092,58440=>18093,150729=>18093,18730=>18094,58464=>18094,172052=>18095,58471=>18095,165564=>18096,58472=>18096,165121=>18097,58473=>18097,15088=>18098,58490=>18098,28815=>18099,58511=>18099,58529=>18100,140922=>18100,58637=>18101,158120=>18101,58646=>18102,148043=>18102,26760=>18103,58662=>18103,58664=>18104,139611=>18104,40802=>18105,58702=>18105,37830=>18106,58793=>18106,58802=>18107,131967=>18107,37734=>18108,58888=>18108,37519=>18109,58901=>18109,34324=>18110,58954=>18110,58986=>18111,173147=>18111,16784=>18112,59010=>18112,26511=>18113,59045=>18113,26654=>18114,59048=>18114,14435=>18115,59051=>18115,59077=>18116,149996=>18116,15129=>18117,59128=>18117,33942=>18118,59176=>18118,59241=>18119,149858=>18119,14818=>18120,59254=>18120,33920=>18121,59259=>18121,17262=>18122,59328=>18122,38769=>18123,59402=>18123,39323=>18124,59427=>18124,18733=>18125,59499=>18125,28439=>18126,59703=>18126,160009=>18127,59704=>18127,28838=>18128,59746=>18128,150095=>18129,59752=>18129,32357=>18130,59753=>18130,23855=>18131,59755=>18131,15859=>18132,59756=>18132,150109=>18133,59758=>18133,137183=>18134,59759=>18134,32164=>18135,59760=>18135,33830=>18136,59761=>18136,21637=>18137,59762=>18137,146170=>18138,59763=>18138,131604=>18139,59765=>18139,22398=>18140,59766=>18140,133333=>18141,59767=>18141,132633=>18142,59768=>18142,16357=>18143,59769=>18143,139166=>18144,59770=>18144,172726=>18145,59771=>18145,28675=>18146,59772=>18146,168283=>18147,59773=>18147,23920=>18148,59774=>18148,29583=>18149,59775=>18149,166489=>18150,59777=>18150,168992=>18151,59778=>18151,20424=>18152,59779=>18152,32743=>18153,59780=>18153,29456=>18154,59782=>18154,29496=>18155,59784=>18155,29505=>18156,59787=>18156,16041=>18157,59789=>18157,29173=>18158,59792=>18158,149746=>18159,59793=>18159,29665=>18160,59794=>18160,16074=>18161,59796=>18161,16081=>18162,59798=>18162,29721=>18163,59801=>18163,29726=>18164,59802=>18164,29727=>18165,59803=>18165,16098=>18166,59804=>18166,16112=>18167,59805=>18167,16116=>18168,59806=>18168,16122=>18169,59807=>18169,29907=>18170,59808=>18170,16142=>18171,59809=>18171,16211=>18172,59810=>18172,30061=>18173,59812=>18173,30066=>18174,59813=>18174,30093=>18175,59814=>18175,16252=>18176,59815=>18176,30152=>18177,59816=>18177,30285=>18178,59819=>18178,30324=>18179,59821=>18179,16348=>18180,59822=>18180,30330=>18181,59823=>18181,29064=>18182,59825=>18182,22051=>18183,59826=>18183,35200=>18184,59827=>18184,16413=>18185,59829=>18185,30531=>18186,59830=>18186,16441=>18187,59831=>18187,16453=>18188,59833=>18188,13787=>18189,59834=>18189,30616=>18190,59835=>18190,16490=>18191,59836=>18191,16495=>18192,59837=>18192,30654=>18193,59839=>18193,30667=>18194,59840=>18194,30744=>18195,59842=>18195,30748=>18196,59844=>18196,30791=>18197,59847=>18197,30801=>18198,59848=>18198,30822=>18199,59849=>18199,33864=>18200,59850=>18200,152885=>18201,59851=>18201,31027=>18202,59852=>18202,31026=>18203,59854=>18203,16649=>18204,59856=>18204,31121=>18205,59857=>18205,31238=>18206,59860=>18206,16743=>18207,59862=>18207,16818=>18208,59864=>18208,31420=>18209,59865=>18209,33401=>18210,59866=>18210,16836=>18211,59867=>18211,31439=>18212,59868=>18212,31451=>18213,59869=>18213,16847=>18214,59870=>18214,31586=>18215,59872=>18215,31596=>18216,59873=>18216,31611=>18217,59874=>18217,31762=>18218,59875=>18218,16992=>18219,59877=>18219,17018=>18220,59878=>18220,31867=>18221,59879=>18221,31900=>18222,59880=>18222,17036=>18223,59881=>18223,31928=>18224,59882=>18224,17044=>18225,59883=>18225,36755=>18226,59885=>18226,28864=>18227,59886=>18227,134351=>18228,59887=>18228,32207=>18229,59888=>18229,32212=>18230,59889=>18230,32208=>18231,59890=>18231,32253=>18232,59891=>18232,32692=>18233,59893=>18233,29343=>18234,59894=>18234,17303=>18235,59895=>18235,32800=>18236,59896=>18236,32805=>18237,59897=>18237,32814=>18238,59899=>18238,32817=>18239,59900=>18239,32852=>18240,59901=>18240,22452=>18241,59903=>18241,28832=>18242,59904=>18242,32951=>18243,59905=>18243,33001=>18244,59906=>18244,17389=>18245,59907=>18245,33036=>18246,59908=>18246,33038=>18247,59910=>18247,33042=>18248,59911=>18248,33044=>18249,59913=>18249,17409=>18250,59914=>18250,15161=>18251,59915=>18251,33110=>18252,59916=>18252,33113=>18253,59917=>18253,33114=>18254,59918=>18254,17427=>18255,59919=>18255,33148=>18256,59921=>18256,17445=>18257,59923=>18257,17453=>18258,59925=>18258,33189=>18259,59926=>18259,22511=>18260,59927=>18260,33217=>18261,59928=>18261,33252=>18262,59929=>18262,33364=>18263,59930=>18263,17551=>18264,59931=>18264,33398=>18265,59933=>18265,33482=>18266,59934=>18266,33496=>18267,59935=>18267,17584=>18268,59937=>18268,33623=>18269,59938=>18269,38505=>18270,59939=>18270,33797=>18271,59941=>18271,28917=>18272,59942=>18272,33892=>18273,59943=>18273,33928=>18274,59945=>18274,17668=>18275,59946=>18275,33982=>18276,59947=>18276,34017=>18277,59948=>18277,34040=>18278,59949=>18278,34064=>18279,59950=>18279,34104=>18280,59951=>18280,34130=>18281,59952=>18281,17723=>18282,59953=>18282,34159=>18283,59954=>18283,34160=>18284,59955=>18284,34272=>18285,59956=>18285,17783=>18286,59957=>18286,34418=>18287,59958=>18287,34450=>18288,59959=>18288,34543=>18289,59961=>18289,38469=>18290,59962=>18290,17926=>18291,59964=>18291,17943=>18292,59965=>18292,34990=>18293,59966=>18293,35071=>18294,59967=>18294,35108=>18295,59968=>18295,35217=>18296,59970=>18296,162151=>18297,59971=>18297,35384=>18298,59973=>18298,35476=>18299,59974=>18299,35508=>18300,59975=>18300,35921=>18301,59976=>18301,36052=>18302,59977=>18302,36082=>18303,59978=>18303,36124=>18304,59979=>18304,18328=>18305,59980=>18305,36291=>18306,59982=>18306,18413=>18307,59983=>18307,36410=>18308,59985=>18308,22356=>18309,59987=>18309,22005=>18310,59989=>18310,18487=>18311,59991=>18311,36558=>18312,59992=>18312,36578=>18313,59993=>18313,36580=>18314,59994=>18314,36589=>18315,59995=>18315,36594=>18316,59996=>18316,36801=>18317,59998=>18317,36810=>18318,59999=>18318,36812=>18319,60000=>18319,36915=>18320,60001=>18320,18605=>18321,60003=>18321,39136=>18322,60004=>18322,37395=>18323,60005=>18323,18718=>18324,60006=>18324,37416=>18325,60007=>18325,37464=>18326,60008=>18326,37483=>18327,60009=>18327,37553=>18328,60010=>18328,37550=>18329,60011=>18329,37567=>18330,60012=>18330,37603=>18331,60013=>18331,37611=>18332,60014=>18332,37619=>18333,60015=>18333,37620=>18334,60016=>18334,37629=>18335,60017=>18335,37699=>18336,60018=>18336,37764=>18337,60019=>18337,37805=>18338,60020=>18338,18757=>18339,60021=>18339,18769=>18340,60022=>18340,37911=>18341,60024=>18341,37917=>18342,60026=>18342,37933=>18343,60027=>18343,37950=>18344,60028=>18344,18794=>18345,60029=>18345,37972=>18346,60030=>18346,38009=>18347,60031=>18347,38189=>18348,60032=>18348,38306=>18349,60033=>18349,18855=>18350,60034=>18350,38388=>18351,60035=>18351,38451=>18352,60036=>18352,18917=>18353,60037=>18353,18980=>18354,60039=>18354,38720=>18355,60040=>18355,18997=>18356,60041=>18356,38834=>18357,60042=>18357,38850=>18358,60043=>18358,19172=>18359,60045=>18359,39097=>18360,60047=>18360,19225=>18361,60048=>18361,39153=>18362,60049=>18362,22596=>18363,60050=>18363,39193=>18364,60052=>18364,39223=>18365,60055=>18365,39261=>18366,60057=>18366,39266=>18367,60058=>18367,19312=>18368,60059=>18368,39365=>18369,60060=>18369,19357=>18370,60061=>18370,39484=>18371,60062=>18371,39695=>18372,60063=>18372,39785=>18373,60065=>18373,39901=>18374,60067=>18374,39921=>18375,60068=>18375,39924=>18376,60069=>18376,19565=>18377,60070=>18377,39968=>18378,60071=>18378,14191=>18379,60072=>18379,138178=>18380,60073=>18380,40265=>18381,60074=>18381,40702=>18382,60076=>18382,22096=>18383,60077=>18383,40381=>18384,60079=>18384,40444=>18385,60081=>18385,38134=>18386,60082=>18386,36790=>18387,60083=>18387,40625=>18388,60086=>18388,40637=>18389,60087=>18389,40646=>18390,60088=>18390,38108=>18391,60089=>18391,40674=>18392,60090=>18392,40689=>18393,60091=>18393,40696=>18394,60092=>18394,40772=>18395,60094=>18395,131220=>18396,60095=>18396,131767=>18397,60096=>18397,132000=>18398,60097=>18398,38083=>18399,60099=>18399,60101=>18400,132311=>18400,38081=>18401,60103=>18401,132565=>18402,60105=>18402,132629=>18403,60106=>18403,132726=>18404,60107=>18404,136890=>18405,60108=>18405,22359=>18406,60109=>18406,29043=>18407,60110=>18407,133826=>18408,60111=>18408,133837=>18409,60112=>18409,134079=>18410,60113=>18410,194619=>18411,60115=>18411,134091=>18412,60116=>18412,21662=>18413,60117=>18413,134139=>18414,60118=>18414,134203=>18415,60119=>18415,134227=>18416,60120=>18416,134245=>18417,60121=>18417,134268=>18418,60122=>18418,60124=>18419,134285=>18419,134325=>18420,60126=>18420,134365=>18421,60127=>18421,134381=>18422,60128=>18422,134511=>18423,60129=>18423,134578=>18424,60130=>18424,134600=>18425,60131=>18425,134660=>18426,60135=>18426,134670=>18427,60136=>18427,134871=>18428,60137=>18428,135056=>18429,60138=>18429,134957=>18430,60139=>18430,134771=>18431,60140=>18431,60142=>18432,135100=>18432,135260=>18433,60144=>18433,135247=>18434,60145=>18434,135286=>18435,60146=>18435,135304=>18436,60149=>18436,135318=>18437,60150=>18437,13895=>18438,60151=>18438,135359=>18439,60152=>18439,135471=>18440,60154=>18440,135483=>18441,60155=>18441,21348=>18442,60156=>18442,135907=>18443,60158=>18443,136053=>18444,60159=>18444,60160=>18445,135990=>18445,136567=>18446,60162=>18446,136729=>18447,60163=>18447,137155=>18448,60164=>18448,137159=>18449,60165=>18449,28859=>18450,60167=>18450,137261=>18451,60168=>18451,137578=>18452,60169=>18452,137773=>18453,60170=>18453,137797=>18454,60171=>18454,138282=>18455,60172=>18455,138352=>18456,60173=>18456,138412=>18457,60174=>18457,138952=>18458,60175=>18458,138965=>18459,60177=>18459,139029=>18460,60178=>18460,29080=>18461,60179=>18461,139333=>18462,60181=>18462,27113=>18463,60182=>18463,14024=>18464,60183=>18464,139900=>18465,60184=>18465,140247=>18466,60185=>18466,140282=>18467,60186=>18467,141098=>18468,60187=>18468,141425=>18469,60188=>18469,141647=>18470,60189=>18470,141671=>18471,60191=>18471,141715=>18472,60192=>18472,142037=>18473,60193=>18473,60195=>18474,142056=>18474,60197=>18475,142094=>18475,60199=>18476,142143=>18476,60202=>18477,142412=>18477,142472=>18478,60204=>18478,142519=>18479,60205=>18479,154600=>18480,60206=>18480,142600=>18481,60207=>18481,142610=>18482,60208=>18482,142775=>18483,60209=>18483,142741=>18484,60210=>18484,142914=>18485,60211=>18485,143220=>18486,60212=>18486,143308=>18487,60213=>18487,143411=>18488,60214=>18488,143462=>18489,60215=>18489,144159=>18490,60216=>18490,144350=>18491,60217=>18491,144743=>18492,60222=>18492,144883=>18493,60223=>18493,144922=>18494,60227=>18494,145174=>18495,60228=>18495,22709=>18496,60231=>18496,60234=>18497,146087=>18497,146961=>18498,60237=>18498,147129=>18499,60238=>18499,60243=>18500,147737=>18500,148206=>18501,60245=>18501,148237=>18502,60246=>18502,148276=>18503,60248=>18503,148374=>18504,60249=>18504,148484=>18505,60258=>18505,148694=>18506,60259=>18506,22408=>18507,60260=>18507,149108=>18508,60261=>18508,60263=>18509,149295=>18509,149522=>18510,60271=>18510,149755=>18511,60272=>18511,150037=>18512,60273=>18512,60275=>18513,150208=>18513,22885=>18514,60277=>18514,60279=>18515,151430=>18515,60282=>18516,151596=>18516,22335=>18517,60284=>18517,152217=>18518,60286=>18518,152601=>18519,60287=>18519,152646=>18520,60291=>18520,152686=>18521,60292=>18521,60296=>18522,152895=>18522,60298=>18523,152926=>18523,152930=>18524,60300=>18524,152934=>18525,60301=>18525,153543=>18526,60302=>18526,60304=>18527,153693=>18527,60309=>18528,153859=>18528,154286=>18529,60312=>18529,154505=>18530,60313=>18530,154630=>18531,60314=>18531,22433=>18532,60316=>18532,29009=>18533,60317=>18533,60319=>18534,155906=>18534,60322=>18535,156082=>18535,156674=>18536,60325=>18536,156746=>18537,60326=>18537,60330=>18538,156804=>18538,60334=>18539,156808=>18539,60336=>18540,156946=>18540,157119=>18541,60338=>18541,157365=>18542,60339=>18542,22201=>18543,60347=>18543,60349=>18544,157436=>18544,13848=>18545,60355=>18545,157593=>18546,60357=>18546,157806=>18547,60358=>18547,60360=>18548,157790=>18548,60362=>18549,157895=>18549,60366=>18550,157990=>18550,60368=>18551,158009=>18551,60371=>18552,158202=>18552,60373=>18553,158253=>18553,158260=>18554,60378=>18554,158555=>18555,60379=>18555,60383=>18556,158621=>18556,60385=>18557,158884=>18557,60388=>18558,159150=>18558,159819=>18559,60392=>18559,160205=>18560,60393=>18560,160384=>18561,60395=>18561,160389=>18562,60396=>18562,60399=>18563,160395=>18563,60401=>18564,160486=>18564,38047=>18565,60404=>18565,160848=>18566,60405=>18566,14009=>18567,60416=>18567,161740=>18568,60424=>18568,161880=>18569,60425=>18569,22230=>18570,60426=>18570,60435=>18571,162269=>18571,162301=>18572,60441=>18572,162314=>18573,60442=>18573,162571=>18574,60443=>18574,163174=>18575,60444=>18575,60448=>18576,163849=>18576,60459=>18577,163875=>18577,60463=>18578,163912=>18578,60466=>18579,163971=>18579,163984=>18580,60479=>18580,164084=>18581,60480=>18581,164142=>18582,60481=>18582,60483=>18583,164175=>18583,164271=>18584,60485=>18584,164378=>18585,60486=>18585,164614=>18586,60487=>18586,164655=>18587,60488=>18587,164746=>18588,60489=>18588,164968=>18589,60491=>18589,165546=>18590,60492=>18590,25574=>18591,60494=>18591,166230=>18592,60495=>18592,60498=>18593,166328=>18593,60500=>18594,166375=>18594,60502=>18595,166376=>18595,166726=>18596,60503=>18596,166868=>18597,60504=>18597,60506=>18598,166921=>18598,167877=>18599,60508=>18599,168172=>18600,60509=>18600,168208=>18601,60511=>18601,168252=>18602,60512=>18602,15863=>18603,60513=>18603,168286=>18604,60514=>18604,150218=>18605,60515=>18605,36816=>18606,60516=>18606,60519=>18607,169191=>18607,169392=>18608,60521=>18608,169400=>18609,60522=>18609,169778=>18610,60523=>18610,170193=>18611,60524=>18611,170313=>18612,60525=>18612,170346=>18613,60526=>18613,170435=>18614,60527=>18614,170536=>18615,60528=>18615,170766=>18616,60529=>18616,171354=>18617,60530=>18617,171419=>18618,60531=>18618,32415=>18619,60532=>18619,171768=>18620,60533=>18620,171811=>18621,60534=>18621,19620=>18622,60535=>18622,38215=>18623,60536=>18623,172691=>18624,60537=>18624,29090=>18625,60538=>18625,172799=>18626,60539=>18626,173515=>18627,60542=>18627,19868=>18628,60543=>18628,134300=>18629,60544=>18629,36798=>18630,60545=>18630,36794=>18631,60547=>18631,140464=>18632,60548=>18632,36793=>18633,60549=>18633,150163=>18634,60550=>18634,20202=>18635,60555=>18635,60557=>18636,166700=>18636,36480=>18637,60560=>18637,137205=>18638,60561=>18638,166764=>18639,60563=>18639,166809=>18640,60564=>18640,60566=>18641,157359=>18641,60568=>18642,161365=>18642,153141=>18643,60570=>18643,153942=>18644,60571=>18644,20122=>18645,60572=>18645,155265=>18646,60573=>18646,60576=>18647,134765=>18647,147080=>18648,60579=>18648,150686=>18649,60580=>18649,137206=>18650,60583=>18650,137339=>18651,60584=>18651,60587=>18652,154698=>18652,152337=>18653,60589=>18653,15814=>18654,60590=>18654,60596=>18655,155352=>18655,19996=>18656,60600=>18656,135146=>18657,60601=>18657,134473=>18658,60602=>18658,145082=>18659,60603=>18659,60638=>18660,151880=>18660,21982=>18661,60644=>18661,34694=>18662,60672=>18662,60676=>18663,135361=>18663,149254=>18664,60679=>18664,23440=>18665,60680=>18665,60682=>18666,157843=>18666,141044=>18667,60684=>18667,163119=>18668,60685=>18668,147875=>18669,60686=>18669,163187=>18670,60687=>18670,159440=>18671,60688=>18671,160438=>18672,60689=>18672,60691=>18673,135641=>18673,146684=>18674,60693=>18674,173737=>18675,60694=>18675,134828=>18676,60695=>18676,60698=>18677,138402=>18677,60700=>18678,151490=>18678,60702=>18679,135147=>18679,60706=>18680,142752=>18680,135148=>18681,60710=>18681,134666=>18682,60711=>18682,60714=>18683,135149=>18683,60717=>18684,135559=>18684,19994=>18685,60721=>18685,19972=>18686,60722=>18686,23309=>18687,60724=>18687,13996=>18688,60727=>18688,21373=>18689,60729=>18689,13989=>18690,60730=>18690,22682=>18691,60732=>18691,150382=>18692,60733=>18692,22442=>18693,60736=>18693,154261=>18694,60737=>18694,133497=>18695,60738=>18695,60741=>18696,140389=>18696,146686=>18697,60746=>18697,171824=>18698,60747=>18698,151465=>18699,60749=>18699,169374=>18700,60750=>18700,60753=>18701,146870=>18701,157619=>18702,60755=>18702,145184=>18703,60756=>18703,147191=>18704,60759=>18704,146988=>18705,60760=>18705,60785=>18706,143578=>18706,135849=>18707,60789=>18707,22439=>18708,60790=>18708,149859=>18709,60791=>18709,60794=>18710,159918=>18710,60801=>18711,137068=>18711,60806=>18712,160100=>18712,159010=>18713,60809=>18713,150242=>18714,60810=>18714,39963=>18715,60837=>18715,149822=>18716,60838=>18716,15878=>18717,60846=>18717,60881=>18718,159011=>18718,60887=>18719,132092=>18719,60891=>18720,146685=>18720,60893=>18721,149785=>18721,22394=>18722,60904=>18722,21722=>18723,60912=>18723,29050=>18724,60928=>18724,60949=>18725,150135=>18725,60955=>18726,166490=>18726,60962=>18727,194624=>18727,60976=>18728,137275=>18728,61000=>18729,155993=>18729,61014=>18730,144373=>18730,61019=>18731,166850=>18731,61024=>18732,138566=>18732,61054=>18733,159441=>18733,13877=>18734,61065=>18734,61084=>18735,166701=>18735,21024=>18736,61088=>18736,15384=>18737,61089=>18737,146631=>18738,61090=>18738,155351=>18739,61091=>18739,161366=>18740,61092=>18740,152881=>18741,61093=>18741,137540=>18742,61094=>18742,170243=>18743,61096=>18743,159196=>18744,61097=>18744,159917=>18745,61098=>18745,156077=>18746,61100=>18746,166415=>18747,61101=>18747,145015=>18748,61102=>18748,131310=>18749,61103=>18749,157766=>18750,61104=>18750,151310=>18751,61105=>18751,17762=>18752,61106=>18752,23327=>18753,61107=>18753,156492=>18754,61108=>18754,40784=>18755,61109=>18755,40614=>18756,61110=>18756,156267=>18757,61111=>18757,20962=>18758,57415=>18758,21314=>18759,57416=>18759,26285=>18760,57520=>18760,22620=>18761,57547=>18761,21843=>18762,57566=>18762,15749=>18763,57594=>18763,24928=>18764,57608=>18764,18606=>18765,57668=>18765,38845=>18766,57676=>18766,57693=>18767,137335=>18767,24755=>18768,57703=>18768,33828=>18769,57711=>18769,38932=>18770,57748=>18770,147596=>18771,57749=>18771,57764=>18772,143486=>18772,57787=>18773,138813=>18773,15147=>18774,57798=>18774,15666=>18775,57824=>18775,57857=>18776,132021=>18776,28801=>18777,57944=>18777,23708=>18778,57959=>18778,58017=>18779,132547=>18779,14128=>18780,58028=>18780,136054=>18781,58096=>18781,150034=>18782,58097=>18782,58111=>18783,166699=>18783,58112=>18784,155779=>18784,256=>18785,62233=>18785,193=>18786,62234=>18786,461=>18787,62235=>18787,192=>18788,62236=>18788,274=>18789,62237=>18789,201=>18790,62238=>18790,282=>18791,62239=>18791,200=>18792,62240=>18792,332=>18793,62241=>18793,211=>18794,62242=>18794,465=>18795,62243=>18795,210=>18796,62244=>18796,62245=>18797,7870=>18798,62246=>18798,62247=>18799,7872=>18800,62248=>18800,202=>18801,62249=>18801,257=>18802,62250=>18802,225=>18803,62251=>18803,462=>18804,62252=>18804,224=>18805,62253=>18805,593=>18806,62254=>18806,275=>18807,62255=>18807,233=>18808,62256=>18808,283=>18809,62257=>18809,232=>18810,62258=>18810,299=>18811,62259=>18811,237=>18812,62260=>18812,464=>18813,62261=>18813,236=>18814,62262=>18814,333=>18815,62263=>18815,243=>18816,62264=>18816,466=>18817,62265=>18817,242=>18818,62266=>18818,363=>18819,62267=>18819,250=>18820,62268=>18820,468=>18821,62269=>18821,249=>18822,62270=>18822,470=>18823,62271=>18823,472=>18824,62272=>18824,474=>18825,62273=>18825,476=>18826,62274=>18826,252=>18827,62275=>18827,62276=>18828,7871=>18829,62277=>18829,62278=>18830,7873=>18831,62279=>18831,234=>18832,62280=>18832,609=>18833,62281=>18833,643=>18834,63551=>18834,592=>18835,63552=>18835,603=>18836,63553=>18836,596=>18837,63554=>18837,629=>18838,63555=>18838,339=>18839,63556=>18839,248=>18840,63557=>18840,331=>18841,63558=>18841,650=>18842,63559=>18842,618=>18843,63560=>18843,9178=>18844,62282=>18844,9179=>18845,62283=>18845,11933=>18846,63530=>18846,11974=>18847,63539=>18847,12003=>18848,63547=>18848,20539=>18849,28158=>18850,171123=>18851,62841=>18851,40870=>18852,62842=>18852,15817=>18853,62843=>18853,34959=>18854,62845=>18855,147790=>18855,28791=>18856,23797=>18857,19232=>18858,62848=>18858,152013=>18859,62849=>18859,13657=>18860,62850=>18860,154928=>18861,62851=>18861,24866=>18862,62853=>18863,166450=>18863,36775=>18864,37366=>18865,29073=>18866,26393=>18867,29626=>18868,144001=>18869,62859=>18869,172295=>18870,62860=>18870,15499=>18871,62861=>18871,137600=>18872,62862=>18872,19216=>18873,62863=>18873,30948=>18874,29698=>18875,20910=>18876,165647=>18877,62867=>18877,16393=>18878,62868=>18878,27235=>18879,172730=>18880,62870=>18880,16931=>18881,62871=>18881,34319=>18882,31274=>18883,170311=>18884,62875=>18884,166634=>18885,62876=>18885,38741=>18886,28749=>18887,21284=>18888,62880=>18889,139390=>18889,37876=>18890,30425=>18891,166371=>18892,62883=>18892,40871=>18893,62884=>18893,30685=>18894,20131=>18895,20464=>18896,20668=>18897,20015=>18898,20247=>18899,40872=>18900,62891=>18900,21556=>18901,32139=>18902,22674=>18903,22736=>18904,62896=>18905,138678=>18905,24210=>18906,24217=>18907,24514=>18908,62900=>18909,141074=>18909,25995=>18910,62902=>18911,144377=>18911,26905=>18912,27203=>18913,62905=>18914,146531=>18914,27903=>18915,29184=>18916,62909=>18917,148741=>18917,29580=>18918,16091=>18919,62911=>18919,150035=>18920,62912=>18920,23317=>18921,29881=>18922,35715=>18923,154788=>18924,62916=>18924,153237=>18925,62917=>18925,31379=>18926,31724=>18927,31939=>18928,32364=>18929,33528=>18930,34199=>18931,40873=>18932,62924=>18932,34960=>18933,40874=>18934,62926=>18934,36537=>18935,40875=>18936,62928=>18936,36815=>18937,34143=>18938,39392=>18939,37409=>18940,40876=>18941,62933=>18941,167353=>18942,62934=>18942,136255=>18943,62935=>18943,16497=>18944,62936=>18944,17058=>18945,62937=>18945,23066=>18946,39016=>18947,26475=>18948,17014=>18949,62944=>18949,22333=>18950,34262=>18951,62948=>18952,149883=>18952,33471=>18953,160013=>18954,62950=>18954,19585=>18955,62951=>18955,159092=>18956,62952=>18956,23931=>18957,158485=>18958,62954=>18958,159678=>18959,62955=>18959,40877=>18960,62956=>18960,40878=>18961,62957=>18961,23446=>18962,40879=>18963,62959=>18963,32347=>18964,17392=>18965,19506=>18966,17923=>18967,17830=>18968,17784=>18969,160359=>18970,19831=>18971,17843=>18972,162993=>18973,19682=>18974,163013=>18975,15253=>18976,18230=>18977,18244=>18978,19527=>18979,19520=>18980,148159=>18981,144919=>18982,160594=>18983,159371=>18984,159954=>18985,19543=>18986,172881=>18987,18255=>18988,17882=>18989,19589=>18990,162924=>18991,19719=>18992,19108=>18993,18081=>18994,158499=>18995,29221=>18996,154196=>18997,137827=>18998,146950=>18999,147297=>19000,26189=>19001,22267=>19002,32149=>19003,22813=>19004,166841=>19005,15860=>19006,38708=>19007,162799=>19008,23515=>19009,138590=>19010,23204=>19011,13861=>19012,171696=>19013,23249=>19014,23479=>19015,23804=>19016,26478=>19017,34195=>19018,170309=>19019,29793=>19020,29853=>19021,133743=>19022,26343=>19023,28247=>19024,31178=>19025,15752=>19026,17603=>19027,143958=>19028,141206=>19029,17306=>19030,17718=>19031,23765=>19032,146202=>19033,35577=>19034,23672=>19035,15634=>19036,144721=>19037,23928=>19038,40882=>19039,29015=>19040,17752=>19041,147692=>19042,138787=>19043,19575=>19044,14712=>19045,13386=>19046,131492=>19047,158785=>19048,35532=>19049,20404=>19050,131641=>19051,22975=>19052,33132=>19053,38998=>19054,170234=>19055,24379=>19056,134047=>19057,139713=>19058,166253=>19059,16642=>19060,18107=>19061,168057=>19062,16135=>19063,40883=>19064,172469=>19065,16632=>19066,14294=>19067,18167=>19068,158790=>19069,16764=>19070,165554=>19071,160767=>19072,17773=>19073,14548=>19074,152730=>19075,17761=>19076,17691=>19077,19849=>19078,19579=>19079,19830=>19080,17898=>19081,16328=>19082,150287=>19083,13921=>19084,17630=>19085,17597=>19086,16877=>19087); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/uni2cid_ag15.php b/vendor/tecnickcom/tcpdf/fonts/uni2cid_ag15.php new file mode 100644 index 0000000..3fc6198 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/uni2cid_ag15.php @@ -0,0 +1,6 @@ +1,33=>2,34=>3,35=>4,36=>5,37=>6,38=>7,39=>8,40=>9,41=>10,42=>11,43=>12,44=>13,45=>14,46=>15,47=>16,48=>17,49=>18,50=>19,51=>20,52=>21,53=>22,54=>23,55=>24,56=>25,57=>26,58=>27,59=>28,60=>29,61=>30,62=>31,63=>32,64=>33,65=>34,66=>35,67=>36,68=>37,69=>38,70=>39,71=>40,72=>41,73=>42,74=>43,75=>44,76=>45,77=>46,78=>47,79=>48,80=>49,81=>50,82=>51,83=>52,84=>53,85=>54,86=>55,87=>56,88=>57,89=>58,90=>59,91=>60,92=>61,93=>62,94=>63,95=>64,96=>65,97=>66,98=>67,99=>68,100=>69,101=>70,102=>71,103=>72,104=>73,105=>74,106=>75,107=>76,108=>77,109=>78,110=>79,111=>80,112=>81,113=>82,114=>83,115=>84,116=>85,117=>86,118=>87,119=>88,120=>89,121=>90,122=>91,123=>92,124=>93,125=>94,126=>95,12288=>96,12289=>97,12290=>98,183=>99,12539=>99,713=>100,711=>101,168=>102,12291=>103,12293=>104,8212=>105,65374=>106,8214=>107,8230=>108,8943=>108,8216=>109,8217=>110,8220=>111,8221=>112,12308=>113,12309=>114,12296=>115,12297=>116,12298=>117,12299=>118,12300=>119,12301=>120,12302=>121,12303=>122,12310=>123,12311=>124,12304=>125,12305=>126,177=>127,215=>128,247=>129,8758=>130,8743=>131,8744=>132,8721=>133,8719=>134,8746=>135,8745=>136,8712=>137,8759=>138,8730=>139,8869=>140,8741=>141,8736=>142,8978=>143,8857=>144,8747=>145,8750=>146,8801=>147,8780=>148,8776=>149,8765=>150,8733=>151,8800=>152,8814=>153,8815=>154,8804=>155,8805=>156,8734=>157,8757=>158,8756=>159,9794=>160,9792=>161,176=>162,8242=>163,8243=>164,8451=>165,65284=>166,164=>167,65504=>168,65505=>169,8240=>170,167=>171,8470=>172,9734=>173,9733=>174,9675=>175,9679=>176,9678=>177,9671=>178,9670=>179,9633=>180,9632=>181,9651=>182,9650=>183,8251=>184,8594=>185,8592=>186,8593=>187,8595=>188,12307=>189,9352=>190,9353=>191,9354=>192,9355=>193,9356=>194,9357=>195,9358=>196,9359=>197,9360=>198,9361=>199,9362=>200,9363=>201,9364=>202,9365=>203,9366=>204,9367=>205,9368=>206,9369=>207,9370=>208,9371=>209,9332=>210,9333=>211,9334=>212,9335=>213,9336=>214,9337=>215,9338=>216,9339=>217,9340=>218,9341=>219,9342=>220,9343=>221,9344=>222,9345=>223,9346=>224,9347=>225,9348=>226,9349=>227,9350=>228,9351=>229,9312=>230,9313=>231,9314=>232,9315=>233,9316=>234,9317=>235,9318=>236,9319=>237,9320=>238,9321=>239,12832=>240,12833=>241,12834=>242,12835=>243,12836=>244,12837=>245,12838=>246,12839=>247,12840=>248,12841=>249,8544=>250,8545=>251,8546=>252,8547=>253,8548=>254,8549=>255,8550=>256,8551=>257,8552=>258,8553=>259,8554=>260,8555=>261,65281=>262,65282=>263,65283=>264,65509=>265,65285=>266,65286=>267,65287=>268,65288=>269,65289=>270,65290=>271,65291=>272,65292=>273,65293=>274,65294=>275,65295=>276,65296=>277,65297=>278,65298=>279,65299=>280,65300=>281,65301=>282,65302=>283,65303=>284,65304=>285,65305=>286,65306=>287,65307=>288,65308=>289,65309=>290,65310=>291,65311=>292,65312=>293,65313=>294,65314=>295,65315=>296,65316=>297,65317=>298,65318=>299,65319=>300,65320=>301,65321=>302,65322=>303,65323=>304,65324=>305,65325=>306,65326=>307,65327=>308,65328=>309,65329=>310,65330=>311,65331=>312,65332=>313,65333=>314,65334=>315,65335=>316,65336=>317,65337=>318,65338=>319,65339=>320,65340=>321,65341=>322,65342=>323,65343=>324,65344=>325,65345=>326,65346=>327,65347=>328,65348=>329,65349=>330,65350=>331,65351=>332,65352=>333,65353=>334,65354=>335,65355=>336,65356=>337,65357=>338,65358=>339,65359=>340,65360=>341,65361=>342,65362=>343,65363=>344,65364=>345,65365=>346,65366=>347,65367=>348,65368=>349,65369=>350,65370=>351,65371=>352,65372=>353,65373=>354,65507=>355,12353=>356,12354=>357,12355=>358,12356=>359,12357=>360,12358=>361,12359=>362,12360=>363,12361=>364,12362=>365,12363=>366,12364=>367,12365=>368,12366=>369,12367=>370,12368=>371,12369=>372,12370=>373,12371=>374,12372=>375,12373=>376,12374=>377,12375=>378,12376=>379,12377=>380,12378=>381,12379=>382,12380=>383,12381=>384,12382=>385,12383=>386,12384=>387,12385=>388,12386=>389,12387=>390,12388=>391,12389=>392,12390=>393,12391=>394,12392=>395,12393=>396,12394=>397,12395=>398,12396=>399,12397=>400,12398=>401,12399=>402,12400=>403,12401=>404,12402=>405,12403=>406,12404=>407,12405=>408,12406=>409,12407=>410,12408=>411,12409=>412,12410=>413,12411=>414,12412=>415,12413=>416,12414=>417,12415=>418,12416=>419,12417=>420,12418=>421,12419=>422,12420=>423,12421=>424,12422=>425,12423=>426,12424=>427,12425=>428,12426=>429,12427=>430,12428=>431,12429=>432,12430=>433,12431=>434,12432=>435,12433=>436,12434=>437,12435=>438,12449=>439,12450=>440,12451=>441,12452=>442,12453=>443,12454=>444,12455=>445,12456=>446,12457=>447,12458=>448,12459=>449,12460=>450,12461=>451,12462=>452,12463=>453,12464=>454,12465=>455,12466=>456,12467=>457,12468=>458,12469=>459,12470=>460,12471=>461,12472=>462,12473=>463,12474=>464,12475=>465,12476=>466,12477=>467,12478=>468,12479=>469,12480=>470,12481=>471,12482=>472,12483=>473,12484=>474,12485=>475,12486=>476,12487=>477,12488=>478,12489=>479,12490=>480,12491=>481,12492=>482,12493=>483,12494=>484,12495=>485,12496=>486,12497=>487,12498=>488,12499=>489,12500=>490,12501=>491,12502=>492,12503=>493,12504=>494,12505=>495,12506=>496,12507=>497,12508=>498,12509=>499,12510=>500,12511=>501,12512=>502,12513=>503,12514=>504,12515=>505,12516=>506,12517=>507,12518=>508,12519=>509,12520=>510,12521=>511,12522=>512,12523=>513,12524=>514,12525=>515,12526=>516,12527=>517,12528=>518,12529=>519,12530=>520,12531=>521,12532=>522,12533=>523,12534=>524,913=>525,914=>526,915=>527,916=>528,917=>529,918=>530,919=>531,920=>532,921=>533,922=>534,923=>535,924=>536,925=>537,926=>538,927=>539,928=>540,929=>541,931=>542,932=>543,933=>544,934=>545,935=>546,936=>547,937=>548,945=>549,946=>550,947=>551,948=>552,949=>553,950=>554,951=>555,952=>556,953=>557,954=>558,955=>559,956=>560,957=>561,958=>562,959=>563,960=>564,961=>565,963=>566,964=>567,965=>568,966=>569,967=>570,968=>571,969=>572,65040=>573,59277=>573,65042=>574,59278=>574,65041=>575,59279=>575,59280=>576,65043=>576,59281=>577,65044=>577,59282=>578,65045=>578,59283=>579,65046=>579,65077=>580,65078=>581,65081=>582,65082=>583,65087=>584,65088=>585,65085=>586,65086=>587,65089=>588,65090=>589,65091=>590,65092=>591,59284=>592,65047=>592,59285=>593,65048=>593,65083=>594,65084=>595,65079=>596,65080=>597,65073=>598,8285=>599,59286=>599,65049=>599,65075=>600,65076=>601,1040=>602,1041=>603,1042=>604,1043=>605,1044=>606,1045=>607,1025=>608,1046=>609,1047=>610,1048=>611,1049=>612,1050=>613,1051=>614,1052=>615,1053=>616,1054=>617,1055=>618,1056=>619,1057=>620,1058=>621,1059=>622,1060=>623,1061=>624,1062=>625,1063=>626,1064=>627,1065=>628,1066=>629,1067=>630,1068=>631,1069=>632,1070=>633,1071=>634,1072=>635,1073=>636,1074=>637,1075=>638,1076=>639,1077=>640,1105=>641,1078=>642,1079=>643,1080=>644,1081=>645,1082=>646,1083=>647,1084=>648,1085=>649,1086=>650,1087=>651,1088=>652,1089=>653,1090=>654,1091=>655,1092=>656,1093=>657,1094=>658,1095=>659,1096=>660,1097=>661,1098=>662,1099=>663,1100=>664,1101=>665,1102=>666,1103=>667,257=>668,225=>669,462=>670,224=>671,275=>672,233=>673,283=>674,232=>675,299=>676,237=>677,464=>678,236=>679,333=>680,243=>681,466=>682,242=>683,363=>684,250=>685,468=>686,249=>687,470=>688,472=>689,474=>690,476=>691,252=>692,234=>693,593=>694,7743=>695,59335=>695,324=>696,328=>697,505=>698,59336=>698,609=>699,12549=>700,12550=>701,12551=>702,12552=>703,12553=>704,12554=>705,12555=>706,12556=>707,12557=>708,12558=>709,12559=>710,12560=>711,12561=>712,12562=>713,12563=>714,12564=>715,12565=>716,12566=>717,12567=>718,12568=>719,12569=>720,12570=>721,12571=>722,12572=>723,12573=>724,12574=>725,12575=>726,12576=>727,12577=>728,12578=>729,12579=>730,12580=>731,12581=>732,12582=>733,12583=>734,12584=>735,12585=>736,9472=>738,9473=>739,9474=>740,9475=>741,9476=>742,9477=>743,9478=>744,9479=>745,9480=>746,9481=>747,9482=>748,9483=>749,9484=>750,9485=>751,9486=>752,9487=>753,9488=>754,9489=>755,9490=>756,9491=>757,9492=>758,9493=>759,9494=>760,9495=>761,9496=>762,9497=>763,9498=>764,9499=>765,9500=>766,9501=>767,9502=>768,9503=>769,9504=>770,9505=>771,9506=>772,9507=>773,9508=>774,9509=>775,9510=>776,9511=>777,9512=>778,9513=>779,9514=>780,9515=>781,9516=>782,9517=>783,9518=>784,9519=>785,9520=>786,9521=>787,9522=>788,9523=>789,9524=>790,9525=>791,9526=>792,9527=>793,9528=>794,9529=>795,9530=>796,9531=>797,9532=>798,9533=>799,9534=>800,9535=>801,9536=>802,9537=>803,9538=>804,9539=>805,9540=>806,9541=>807,9542=>808,9543=>809,9544=>810,9545=>811,9546=>812,9547=>813,21834=>940,38463=>941,22467=>942,25384=>943,21710=>944,21769=>945,21696=>946,30353=>947,30284=>948,34108=>949,30702=>950,33406=>951,30861=>952,29233=>953,38552=>954,38797=>955,27688=>956,23433=>957,20474=>958,25353=>959,26263=>960,23736=>961,33018=>962,26696=>963,32942=>964,26114=>965,30414=>966,20985=>967,25942=>968,29100=>969,32753=>970,34948=>971,20658=>972,22885=>973,25034=>974,28595=>975,33453=>976,25420=>977,25170=>978,21485=>979,21543=>980,31494=>981,12043=>982,20843=>982,30116=>983,24052=>984,25300=>985,36299=>986,38774=>987,25226=>988,32793=>989,22365=>990,38712=>991,32610=>992,29240=>993,12137=>994,30333=>994,26575=>995,30334=>996,25670=>997,20336=>998,36133=>999,25308=>1000,31255=>1001,26001=>1002,29677=>1003,25644=>1004,25203=>1005,33324=>1006,39041=>1007,26495=>1008,29256=>1009,25198=>1010,25292=>1011,20276=>1012,29923=>1013,21322=>1014,21150=>1015,32458=>1016,37030=>1017,24110=>1018,26758=>1019,27036=>1020,33152=>1021,32465=>1022,26834=>1023,30917=>1024,34444=>1025,38225=>1026,20621=>1027,35876=>1028,33502=>1029,32990=>1030,21253=>1031,35090=>1032,21093=>1033,34180=>1034,38649=>1035,20445=>1036,22561=>1037,39281=>1038,23453=>1039,25265=>1040,25253=>1041,26292=>1042,35961=>1043,40077=>1044,29190=>1045,26479=>1046,30865=>1047,24754=>1048,21329=>1049,21271=>1050,36744=>1051,32972=>1052,36125=>1053,38049=>1054,20493=>1055,29384=>1056,22791=>1057,24811=>1058,28953=>1059,34987=>1060,22868=>1061,33519=>1062,26412=>1063,31528=>1064,23849=>1065,32503=>1066,29997=>1067,27893=>1068,36454=>1069,36856=>1070,36924=>1071,12240=>1072,40763=>1072,12112=>1073,27604=>1073,37145=>1074,31508=>1075,24444=>1076,30887=>1077,34006=>1078,34109=>1079,27605=>1080,27609=>1081,27606=>1082,24065=>1083,24199=>1084,30201=>1085,38381=>1086,25949=>1087,24330=>1088,24517=>1089,36767=>1090,22721=>1091,33218=>1092,36991=>1093,38491=>1094,38829=>1095,36793=>1096,32534=>1097,36140=>1098,25153=>1099,20415=>1100,21464=>1101,21342=>1102,36776=>1103,36777=>1104,36779=>1105,36941=>1106,26631=>1107,24426=>1108,33176=>1109,34920=>1110,40150=>1111,24971=>1112,21035=>1113,30250=>1114,24428=>1115,25996=>1116,28626=>1117,28392=>1118,23486=>1119,25672=>1120,20853=>1121,20912=>1122,26564=>1123,19993=>1124,31177=>1125,39292=>1126,28851=>1127,30149=>1128,24182=>1129,29627=>1130,33760=>1131,25773=>1132,25320=>1133,38069=>1134,27874=>1135,21338=>1136,21187=>1137,25615=>1138,38082=>1139,31636=>1140,20271=>1141,24091=>1142,33334=>1143,33046=>1144,33162=>1145,28196=>1146,27850=>1147,39539=>1148,25429=>1149,12056=>1150,21340=>1150,21754=>1151,34917=>1152,22496=>1153,19981=>1154,24067=>1155,27493=>1156,31807=>1157,37096=>1158,24598=>1159,25830=>1160,29468=>1161,35009=>1162,26448=>1163,25165=>1164,36130=>1165,30572=>1166,36393=>1167,37319=>1168,24425=>1169,33756=>1170,34081=>1171,39184=>1172,21442=>1173,34453=>1174,27531=>1175,24813=>1176,24808=>1177,28799=>1178,33485=>1179,33329=>1180,20179=>1181,27815=>1182,34255=>1183,25805=>1184,31961=>1185,27133=>1186,26361=>1187,33609=>1188,21397=>1189,31574=>1190,20391=>1191,20876=>1192,27979=>1193,23618=>1194,36461=>1195,25554=>1196,21449=>1197,33580=>1198,33590=>1199,26597=>1200,30900=>1201,25661=>1202,23519=>1203,23700=>1204,24046=>1205,35815=>1206,25286=>1207,26612=>1208,35962=>1209,25600=>1210,25530=>1211,34633=>1212,39307=>1213,35863=>1214,32544=>1215,38130=>1216,20135=>1217,38416=>1218,39076=>1219,26124=>1220,29462=>1221,22330=>1222,23581=>1223,24120=>1224,38271=>1225,20607=>1226,32928=>1227,12058=>1228,21378=>1228,25950=>1229,30021=>1230,21809=>1231,20513=>1232,36229=>1233,25220=>1234,38046=>1235,26397=>1236,22066=>1237,28526=>1238,24034=>1239,21557=>1240,28818=>1241,36710=>1242,25199=>1243,25764=>1244,25507=>1245,24443=>1246,28552=>1247,37108=>1248,12162=>1249,33251=>1249,12192=>1250,36784=>1250,23576=>1251,26216=>1252,24561=>1253,27785=>1254,38472=>1255,36225=>1256,34924=>1257,25745=>1258,31216=>1259,22478=>1260,27225=>1261,25104=>1262,21576=>1263,20056=>1264,31243=>1265,24809=>1266,28548=>1267,35802=>1268,25215=>1269,36894=>1270,39563=>1271,31204=>1272,21507=>1273,30196=>1274,25345=>1275,21273=>1276,27744=>1277,36831=>1278,24347=>1279,39536=>1280,32827=>1281,40831=>1282,20360=>1283,23610=>1284,12186=>1285,36196=>1285,32709=>1286,26021=>1287,28861=>1288,20805=>1289,20914=>1290,12173=>1291,34411=>1291,23815=>1292,23456=>1293,25277=>1294,37228=>1295,30068=>1296,36364=>1297,31264=>1298,24833=>1299,31609=>1300,20167=>1301,32504=>1302,30597=>1303,19985=>1304,33261=>1305,21021=>1306,20986=>1307,27249=>1308,21416=>1309,36487=>1310,38148=>1311,38607=>1312,28353=>1313,38500=>1314,26970=>1315,30784=>1316,20648=>1317,30679=>1318,25616=>1319,35302=>1320,22788=>1321,25571=>1322,24029=>1323,31359=>1324,26941=>1325,20256=>1326,33337=>1327,21912=>1328,20018=>1329,30126=>1330,31383=>1331,24162=>1332,24202=>1333,38383=>1334,21019=>1335,21561=>1336,28810=>1337,25462=>1338,38180=>1339,22402=>1340,26149=>1341,26943=>1342,37255=>1343,21767=>1344,28147=>1345,32431=>1346,34850=>1347,25139=>1348,32496=>1349,30133=>1350,33576=>1351,30913=>1352,38604=>1353,36766=>1354,24904=>1355,29943=>1356,35789=>1357,27492=>1358,21050=>1359,36176=>1360,27425=>1361,32874=>1362,33905=>1363,22257=>1364,21254=>1365,20174=>1366,19995=>1367,20945=>1368,31895=>1369,37259=>1370,31751=>1371,20419=>1372,36479=>1373,31713=>1374,31388=>1375,25703=>1376,23828=>1377,20652=>1378,33030=>1379,30209=>1380,31929=>1381,28140=>1382,32736=>1383,26449=>1384,23384=>1385,12072=>1386,23544=>1386,30923=>1387,25774=>1388,25619=>1389,25514=>1390,25387=>1391,38169=>1392,25645=>1393,36798=>1394,31572=>1395,30249=>1396,25171=>1397,12068=>1398,22823=>1398,21574=>1399,12109=>1400,27513=>1400,20643=>1401,25140=>1402,24102=>1403,27526=>1404,20195=>1405,36151=>1406,34955=>1407,24453=>1408,36910=>1409,24608=>1410,32829=>1411,25285=>1412,20025=>1413,21333=>1414,37112=>1415,25528=>1416,32966=>1417,26086=>1418,27694=>1419,20294=>1420,24814=>1421,28129=>1422,35806=>1423,24377=>1424,34507=>1425,24403=>1426,25377=>1427,20826=>1428,33633=>1429,26723=>1430,12049=>1431,20992=>1431,25443=>1432,36424=>1433,20498=>1434,23707=>1435,31095=>1436,23548=>1437,21040=>1438,31291=>1439,24764=>1440,36947=>1441,30423=>1442,24503=>1443,24471=>1444,30340=>1445,36460=>1446,28783=>1447,30331=>1448,31561=>1449,30634=>1450,20979=>1451,37011=>1452,22564=>1453,20302=>1454,28404=>1455,36842=>1456,25932=>1457,31515=>1458,29380=>1459,28068=>1460,32735=>1461,23265=>1462,25269=>1463,24213=>1464,22320=>1465,33922=>1466,31532=>1467,24093=>1468,24351=>1469,36882=>1470,32532=>1471,39072=>1472,25474=>1473,28359=>1474,30872=>1475,28857=>1476,20856=>1477,38747=>1478,22443=>1479,30005=>1480,20291=>1481,30008=>1482,24215=>1483,24806=>1484,22880=>1485,28096=>1486,27583=>1487,30857=>1488,21500=>1489,38613=>1490,20939=>1491,20993=>1492,25481=>1493,21514=>1494,38035=>1495,35843=>1496,36300=>1497,29241=>1498,30879=>1499,34678=>1500,36845=>1501,35853=>1502,21472=>1503,19969=>1504,30447=>1505,21486=>1506,38025=>1507,39030=>1508,12237=>1509,40718=>1509,38189=>1510,23450=>1511,35746=>1512,20002=>1513,19996=>1514,20908=>1515,33891=>1516,25026=>1517,21160=>1518,26635=>1519,20375=>1520,24683=>1521,20923=>1522,27934=>1523,20828=>1524,25238=>1525,12099=>1526,26007=>1526,38497=>1527,12182=>1528,35910=>1528,36887=>1529,30168=>1530,37117=>1531,30563=>1532,27602=>1533,29322=>1534,29420=>1535,35835=>1536,22581=>1537,30585=>1538,36172=>1539,26460=>1540,38208=>1541,32922=>1542,24230=>1543,28193=>1544,22930=>1545,31471=>1546,30701=>1547,38203=>1548,27573=>1549,26029=>1550,32526=>1551,22534=>1552,20817=>1553,38431=>1554,23545=>1555,22697=>1556,21544=>1557,36466=>1558,25958=>1559,39039=>1560,22244=>1561,38045=>1562,30462=>1563,36929=>1564,25479=>1565,21702=>1566,22810=>1567,22842=>1568,22427=>1569,36530=>1570,26421=>1571,36346=>1572,33333=>1573,21057=>1574,24816=>1575,22549=>1576,34558=>1577,23784=>1578,40517=>1579,20420=>1580,39069=>1581,35769=>1582,23077=>1583,24694=>1584,21380=>1585,25212=>1586,36943=>1587,37122=>1588,39295=>1589,24681=>1590,12157=>1591,32780=>1591,12041=>1592,20799=>1592,12159=>1593,32819=>1593,23572=>1594,39285=>1595,27953=>1596,12038=>1597,20108=>1597,36144=>1598,21457=>1599,32602=>1600,31567=>1601,20240=>1602,20047=>1603,38400=>1604,27861=>1605,29648=>1606,34281=>1607,24070=>1608,30058=>1609,32763=>1610,27146=>1611,30718=>1612,38034=>1613,32321=>1614,20961=>1615,28902=>1616,21453=>1617,36820=>1618,33539=>1619,36137=>1620,29359=>1621,39277=>1622,27867=>1623,22346=>1624,33459=>1625,12101=>1626,26041=>1626,32938=>1627,25151=>1628,38450=>1629,22952=>1630,20223=>1631,35775=>1632,32442=>1633,25918=>1634,33778=>1635,12206=>1636,38750=>1636,21857=>1637,39134=>1638,32933=>1639,21290=>1640,35837=>1641,21536=>1642,32954=>1643,24223=>1644,27832=>1645,36153=>1646,33452=>1647,37210=>1648,21545=>1649,27675=>1650,20998=>1651,32439=>1652,22367=>1653,28954=>1654,27774=>1655,31881=>1656,22859=>1657,20221=>1658,24575=>1659,24868=>1660,31914=>1661,20016=>1662,23553=>1663,26539=>1664,34562=>1665,23792=>1666,38155=>1667,39118=>1668,30127=>1669,28925=>1670,36898=>1671,20911=>1672,32541=>1673,35773=>1674,22857=>1675,20964=>1676,20315=>1677,21542=>1678,22827=>1679,25975=>1680,32932=>1681,23413=>1682,25206=>1683,25282=>1684,36752=>1685,24133=>1686,27679=>1687,31526=>1688,20239=>1689,20440=>1690,26381=>1691,28014=>1692,28074=>1693,31119=>1694,34993=>1695,24343=>1696,29995=>1697,25242=>1698,36741=>1699,20463=>1700,37340=>1701,26023=>1702,33071=>1703,33105=>1704,24220=>1705,33104=>1706,36212=>1707,21103=>1708,35206=>1709,36171=>1710,22797=>1711,20613=>1712,20184=>1713,12201=>1714,38428=>1714,12119=>1715,29238=>1715,33145=>1716,36127=>1717,23500=>1718,35747=>1719,38468=>1720,22919=>1721,32538=>1722,21648=>1723,22134=>1724,22030=>1725,35813=>1726,25913=>1727,27010=>1728,38041=>1729,30422=>1730,28297=>1731,12082=>1732,24178=>1732,12130=>1733,29976=>1733,26438=>1734,26577=>1735,31487=>1736,32925=>1737,36214=>1738,24863=>1739,31174=>1740,25954=>1741,36195=>1742,20872=>1743,21018=>1744,38050=>1745,32568=>1746,32923=>1747,32434=>1748,23703=>1749,28207=>1750,26464=>1751,31705=>1752,30347=>1753,12220=>1754,39640=>1754,33167=>1755,32660=>1756,31957=>1757,25630=>1758,38224=>1759,31295=>1760,21578=>1761,21733=>1762,27468=>1763,25601=>1764,12093=>1765,25096=>1765,40509=>1766,33011=>1767,30105=>1768,21106=>1769,12208=>1770,38761=>1770,33883=>1771,26684=>1772,34532=>1773,38401=>1774,38548=>1775,38124=>1776,20010=>1777,21508=>1778,32473=>1779,26681=>1780,36319=>1781,32789=>1782,26356=>1783,24218=>1784,32697=>1785,22466=>1786,32831=>1787,26775=>1788,12079=>1789,24037=>1789,25915=>1790,21151=>1791,24685=>1792,40858=>1793,20379=>1794,36524=>1795,20844=>1796,23467=>1797,12088=>1798,24339=>1798,24041=>1799,27742=>1800,25329=>1801,36129=>1802,20849=>1803,38057=>1804,21246=>1805,27807=>1806,33503=>1807,29399=>1808,22434=>1809,26500=>1810,36141=>1811,22815=>1812,36764=>1813,33735=>1814,21653=>1815,31629=>1816,20272=>1817,27837=>1818,23396=>1819,22993=>1820,12238=>1821,40723=>1821,21476=>1822,34506=>1823,12219=>1824,39592=>1824,12181=>1825,35895=>1825,32929=>1826,25925=>1827,39038=>1828,22266=>1829,38599=>1830,21038=>1831,12128=>1832,29916=>1832,21072=>1833,23521=>1834,25346=>1835,35074=>1836,20054=>1837,25296=>1838,24618=>1839,26874=>1840,20851=>1841,23448=>1842,20896=>1843,35266=>1844,31649=>1845,39302=>1846,32592=>1847,24815=>1848,28748=>1849,36143=>1850,20809=>1851,12084=>1852,24191=>1852,36891=>1853,29808=>1854,35268=>1855,22317=>1856,30789=>1857,24402=>1858,40863=>1859,38394=>1860,36712=>1861,12225=>1862,39740=>1862,35809=>1863,30328=>1864,26690=>1865,26588=>1866,36330=>1867,36149=>1868,21053=>1869,36746=>1870,28378=>1871,26829=>1872,38149=>1873,37101=>1874,22269=>1875,26524=>1876,35065=>1877,36807=>1878,21704=>1879,39608=>1880,23401=>1881,28023=>1882,27686=>1883,20133=>1884,23475=>1885,39559=>1886,37219=>1887,25000=>1888,37039=>1889,38889=>1890,21547=>1891,28085=>1892,23506=>1893,20989=>1894,21898=>1895,32597=>1896,32752=>1897,25788=>1898,25421=>1899,26097=>1900,25022=>1901,24717=>1902,28938=>1903,27735=>1904,27721=>1905,22831=>1906,26477=>1907,33322=>1908,22741=>1909,22158=>1910,35946=>1911,27627=>1912,37085=>1913,22909=>1914,32791=>1915,21495=>1916,28009=>1917,21621=>1918,21917=>1919,33655=>1920,33743=>1921,26680=>1922,12146=>1923,31166=>1923,21644=>1924,20309=>1925,21512=>1926,30418=>1927,35977=>1928,38402=>1929,27827=>1930,28088=>1931,36203=>1932,35088=>1933,40548=>1934,36154=>1935,22079=>1936,12234=>1937,40657=>1937,30165=>1938,24456=>1939,29408=>1940,24680=>1941,21756=>1942,20136=>1943,27178=>1944,34913=>1945,24658=>1946,36720=>1947,21700=>1948,28888=>1949,34425=>1950,40511=>1951,27946=>1952,23439=>1953,24344=>1954,32418=>1955,21897=>1956,20399=>1957,29492=>1958,21564=>1959,21402=>1960,20505=>1961,21518=>1962,21628=>1963,20046=>1964,24573=>1965,29786=>1966,22774=>1967,33899=>1968,32993=>1969,34676=>1970,29392=>1971,31946=>1972,28246=>1973,24359=>1974,34382=>1975,21804=>1976,25252=>1977,20114=>1978,27818=>1979,25143=>1980,33457=>1981,21719=>1982,21326=>1983,29502=>1984,28369=>1985,30011=>1986,21010=>1987,21270=>1988,35805=>1989,27088=>1990,24458=>1991,24576=>1992,28142=>1993,22351=>1994,27426=>1995,29615=>1996,26707=>1997,36824=>1998,32531=>1999,25442=>2000,24739=>2001,21796=>2002,30186=>2003,35938=>2004,28949=>2005,28067=>2006,23462=>2007,24187=>2008,33618=>2009,24908=>2010,40644=>2011,30970=>2012,34647=>2013,31783=>2014,30343=>2015,20976=>2016,24822=>2017,29004=>2018,26179=>2019,24140=>2020,24653=>2021,35854=>2022,28784=>2023,25381=>2024,36745=>2025,24509=>2026,24674=>2027,34516=>2028,22238=>2029,27585=>2030,24724=>2031,24935=>2032,21321=>2033,24800=>2034,26214=>2035,36159=>2036,31229=>2037,20250=>2038,28905=>2039,27719=>2040,35763=>2041,35826=>2042,32472=>2043,33636=>2044,26127=>2045,23130=>2046,39746=>2047,27985=>2048,28151=>2049,35905=>2050,27963=>2051,20249=>2052,12117=>2053,28779=>2053,33719=>2054,25110=>2055,24785=>2056,38669=>2057,36135=>2058,31096=>2059,20987=>2060,22334=>2061,22522=>2062,26426=>2063,30072=>2064,31293=>2065,31215=>2066,31637=>2067,32908=>2068,39269=>2069,36857=>2070,28608=>2071,35749=>2072,40481=>2073,23020=>2074,32489=>2075,32521=>2076,21513=>2077,26497=>2078,26840=>2079,36753=>2080,31821=>2081,38598=>2082,21450=>2083,24613=>2084,30142=>2085,27762=>2086,21363=>2087,23241=>2088,32423=>2089,25380=>2090,12047=>2091,20960=>2091,33034=>2092,12080=>2093,24049=>2093,34015=>2094,25216=>2095,20864=>2096,23395=>2097,20238=>2098,31085=>2099,21058=>2100,24760=>2101,27982=>2102,23492=>2103,23490=>2104,35745=>2105,35760=>2106,26082=>2107,24524=>2108,38469=>2109,22931=>2110,32487=>2111,32426=>2112,22025=>2113,26551=>2114,22841=>2115,20339=>2116,23478=>2117,21152=>2118,33626=>2119,39050=>2120,36158=>2121,30002=>2122,38078=>2123,20551=>2124,31292=>2125,20215=>2126,26550=>2127,39550=>2128,23233=>2129,27516=>2130,30417=>2131,22362=>2132,23574=>2133,31546=>2134,38388=>2135,29006=>2136,20860=>2137,32937=>2138,33392=>2139,22904=>2140,32516=>2141,33575=>2142,26816=>2143,26604=>2144,30897=>2145,30839=>2146,25315=>2147,25441=>2148,31616=>2149,20461=>2150,21098=>2151,20943=>2152,33616=>2153,27099=>2154,37492=>2155,36341=>2156,36145=>2157,35265=>2158,38190=>2159,31661=>2160,20214=>2161,20581=>2162,33328=>2163,21073=>2164,39279=>2165,28176=>2166,28293=>2167,28071=>2168,24314=>2169,20725=>2170,23004=>2171,23558=>2172,27974=>2173,27743=>2174,30086=>2175,33931=>2176,26728=>2177,22870=>2178,35762=>2179,21280=>2180,37233=>2181,38477=>2182,34121=>2183,26898=>2184,30977=>2185,28966=>2186,33014=>2187,20132=>2188,37066=>2189,27975=>2190,39556=>2191,23047=>2192,22204=>2193,25605=>2194,38128=>2195,30699=>2196,20389=>2197,33050=>2198,29409=>2199,12179=>2200,35282=>2200,39290=>2201,32564=>2202,32478=>2203,21119=>2204,25945=>2205,37237=>2206,36735=>2207,36739=>2208,21483=>2209,31382=>2210,25581=>2211,25509=>2212,30342=>2213,31224=>2214,34903=>2215,38454=>2216,25130=>2217,21163=>2218,33410=>2219,26708=>2220,26480=>2221,25463=>2222,30571=>2223,31469=>2224,27905=>2225,32467=>2226,35299=>2227,22992=>2228,25106=>2229,34249=>2230,33445=>2231,30028=>2232,20511=>2233,20171=>2234,30117=>2235,35819=>2236,23626=>2237,12081=>2238,24062=>2238,31563=>2239,12100=>2240,26020=>2240,12198=>2241,37329=>2241,20170=>2242,27941=>2243,35167=>2244,32039=>2245,38182=>2246,20165=>2247,35880=>2248,36827=>2249,38771=>2250,26187=>2251,31105=>2252,36817=>2253,28908=>2254,28024=>2255,23613=>2256,21170=>2257,33606=>2258,20834=>2259,33550=>2260,30555=>2261,26230=>2262,40120=>2263,20140=>2264,24778=>2265,31934=>2266,31923=>2267,32463=>2268,20117=>2269,35686=>2270,26223=>2271,39048=>2272,38745=>2273,22659=>2274,25964=>2275,38236=>2276,24452=>2277,30153=>2278,38742=>2279,31455=>2280,31454=>2281,20928=>2282,28847=>2283,31384=>2284,25578=>2285,31350=>2286,32416=>2287,29590=>2288,12210=>2289,38893=>2289,20037=>2290,28792=>2291,20061=>2292,37202=>2293,21417=>2294,25937=>2295,26087=>2296,12165=>2297,33276=>2297,33285=>2298,21646=>2299,23601=>2300,30106=>2301,38816=>2302,25304=>2303,29401=>2304,30141=>2305,23621=>2306,39545=>2307,33738=>2308,23616=>2309,21632=>2310,30697=>2311,20030=>2312,27822=>2313,32858=>2314,25298=>2315,25454=>2316,24040=>2317,20855=>2318,36317=>2319,36382=>2320,38191=>2321,20465=>2322,21477=>2323,24807=>2324,28844=>2325,21095=>2326,25424=>2327,40515=>2328,23071=>2329,20518=>2330,30519=>2331,21367=>2332,32482=>2333,25733=>2334,25899=>2335,25225=>2336,25496=>2337,20500=>2338,29237=>2339,35273=>2340,20915=>2341,35776=>2342,32477=>2343,22343=>2344,33740=>2345,38055=>2346,20891=>2347,21531=>2348,23803=>2349,20426=>2350,31459=>2351,27994=>2352,37089=>2353,39567=>2354,21888=>2355,21654=>2356,21345=>2357,21679=>2358,24320=>2359,25577=>2360,26999=>2361,20975=>2362,24936=>2363,21002=>2364,22570=>2365,21208=>2366,22350=>2367,30733=>2368,30475=>2369,24247=>2370,24951=>2371,31968=>2372,25179=>2373,25239=>2374,20130=>2375,28821=>2376,32771=>2377,25335=>2378,28900=>2379,38752=>2380,22391=>2381,33499=>2382,26607=>2383,26869=>2384,30933=>2385,39063=>2386,31185=>2387,22771=>2388,21683=>2389,21487=>2390,28212=>2391,20811=>2392,21051=>2393,23458=>2394,35838=>2395,32943=>2396,21827=>2397,22438=>2398,24691=>2399,22353=>2400,21549=>2401,31354=>2402,24656=>2403,23380=>2404,25511=>2405,25248=>2406,12061=>2407,21475=>2407,25187=>2408,23495=>2409,26543=>2410,21741=>2411,31391=>2412,33510=>2413,37239=>2414,24211=>2415,35044=>2416,22840=>2417,22446=>2418,25358=>2419,36328=>2420,33007=>2421,22359=>2422,31607=>2423,20393=>2424,24555=>2425,23485=>2426,27454=>2427,21281=>2428,31568=>2429,29378=>2430,26694=>2431,30719=>2432,30518=>2433,26103=>2434,20917=>2435,20111=>2436,30420=>2437,23743=>2438,31397=>2439,33909=>2440,22862=>2441,39745=>2442,20608=>2443,39304=>2444,24871=>2445,28291=>2446,22372=>2447,26118=>2448,25414=>2449,22256=>2450,25324=>2451,25193=>2452,24275=>2453,38420=>2454,22403=>2455,25289=>2456,21895=>2457,34593=>2458,33098=>2459,36771=>2460,21862=>2461,33713=>2462,26469=>2463,36182=>2464,34013=>2465,23146=>2466,26639=>2467,25318=>2468,31726=>2469,38417=>2470,20848=>2471,28572=>2472,35888=>2473,25597=>2474,35272=>2475,25042=>2476,32518=>2477,28866=>2478,28389=>2479,29701=>2480,27028=>2481,29436=>2482,24266=>2483,37070=>2484,26391=>2485,28010=>2486,25438=>2487,21171=>2488,29282=>2489,12156=>2490,32769=>2490,20332=>2491,23013=>2492,37226=>2493,28889=>2494,28061=>2495,21202=>2496,20048=>2497,38647=>2498,38253=>2499,34174=>2500,30922=>2501,32047=>2502,20769=>2503,22418=>2504,25794=>2505,32907=>2506,31867=>2507,27882=>2508,26865=>2509,26974=>2510,20919=>2511,21400=>2512,26792=>2513,29313=>2514,40654=>2515,31729=>2516,29432=>2517,31163=>2518,28435=>2519,29702=>2520,26446=>2521,12197=>2522,37324=>2522,40100=>2523,31036=>2524,33673=>2525,33620=>2526,21519=>2527,26647=>2528,20029=>2529,21385=>2530,21169=>2531,30782=>2532,21382=>2533,21033=>2534,20616=>2535,20363=>2536,20432=>2537,30178=>2538,12148=>2539,31435=>2539,31890=>2540,27813=>2541,12202=>2542,38582=>2542,12050=>2543,21147=>2543,29827=>2544,21737=>2545,20457=>2546,32852=>2547,33714=>2548,36830=>2549,38256=>2550,24265=>2551,24604=>2552,28063=>2553,24088=>2554,25947=>2555,33080=>2556,38142=>2557,24651=>2558,28860=>2559,32451=>2560,31918=>2561,20937=>2562,63865=>2562,26753=>2563,31921=>2564,33391=>2565,20004=>2566,36742=>2567,37327=>2568,26238=>2569,20142=>2570,35845=>2571,25769=>2572,32842=>2573,20698=>2574,30103=>2575,29134=>2576,23525=>2577,36797=>2578,28518=>2579,20102=>2580,25730=>2581,38243=>2582,24278=>2583,26009=>2584,21015=>2585,35010=>2586,28872=>2587,21155=>2588,29454=>2589,29747=>2590,26519=>2591,30967=>2592,38678=>2593,20020=>2594,37051=>2595,40158=>2596,28107=>2597,20955=>2598,36161=>2599,21533=>2600,25294=>2601,29618=>2602,33777=>2603,38646=>2604,40836=>2605,38083=>2606,20278=>2607,32666=>2608,20940=>2609,28789=>2610,38517=>2611,23725=>2612,39046=>2613,21478=>2614,20196=>2615,28316=>2616,29705=>2617,27060=>2618,30827=>2619,39311=>2620,30041=>2621,21016=>2622,30244=>2623,27969=>2624,26611=>2625,20845=>2626,40857=>2627,32843=>2628,21657=>2629,31548=>2630,31423=>2631,38534=>2632,22404=>2633,25314=>2634,38471=>2635,27004=>2636,23044=>2637,25602=>2638,31699=>2639,28431=>2640,38475=>2641,33446=>2642,21346=>2643,39045=>2644,24208=>2645,28809=>2646,25523=>2647,21348=>2648,34383=>2649,40065=>2650,40595=>2651,30860=>2652,38706=>2653,36335=>2654,36162=>2655,12229=>2656,40575=>2656,28510=>2657,31108=>2658,24405=>2659,38470=>2660,25134=>2661,39540=>2662,21525=>2663,38109=>2664,20387=>2665,26053=>2666,23653=>2667,23649=>2668,32533=>2669,34385=>2670,27695=>2671,24459=>2672,29575=>2673,28388=>2674,32511=>2675,23782=>2676,25371=>2677,23402=>2678,28390=>2679,21365=>2680,20081=>2681,25504=>2682,30053=>2683,25249=>2684,36718=>2685,20262=>2686,20177=>2687,27814=>2688,32438=>2689,35770=>2690,33821=>2691,34746=>2692,32599=>2693,36923=>2694,38179=>2695,31657=>2696,39585=>2697,35064=>2698,33853=>2699,27931=>2700,39558=>2701,32476=>2702,22920=>2703,12231=>2704,40635=>2704,29595=>2705,30721=>2706,34434=>2707,39532=>2708,39554=>2709,22043=>2710,21527=>2711,22475=>2712,20080=>2713,40614=>2714,21334=>2715,36808=>2716,33033=>2717,30610=>2718,39314=>2719,34542=>2720,28385=>2721,34067=>2722,26364=>2723,24930=>2724,28459=>2725,35881=>2726,33426=>2727,33579=>2728,30450=>2729,27667=>2730,24537=>2731,33725=>2732,29483=>2733,33541=>2734,38170=>2735,12113=>2736,27611=>2736,12141=>2737,30683=>2737,38086=>2738,21359=>2739,33538=>2740,20882=>2741,24125=>2742,35980=>2743,36152=>2744,20040=>2745,29611=>2746,26522=>2747,26757=>2748,37238=>2749,38665=>2750,29028=>2751,27809=>2752,30473=>2753,23186=>2754,38209=>2755,27599=>2756,32654=>2757,26151=>2758,23504=>2759,22969=>2760,23194=>2761,38376=>2762,38391=>2763,20204=>2764,33804=>2765,33945=>2766,27308=>2767,30431=>2768,38192=>2769,29467=>2770,26790=>2771,23391=>2772,30511=>2773,37274=>2774,38753=>2775,31964=>2776,36855=>2777,35868=>2778,24357=>2779,12150=>2780,31859=>2780,31192=>2781,35269=>2782,27852=>2783,34588=>2784,23494=>2785,24130=>2786,26825=>2787,30496=>2788,32501=>2789,20885=>2790,20813=>2791,21193=>2792,23081=>2793,32517=>2794,12207=>2795,38754=>2795,33495=>2796,25551=>2797,30596=>2798,34256=>2799,31186=>2800,28218=>2801,24217=>2802,22937=>2803,34065=>2804,28781=>2805,27665=>2806,25279=>2807,12139=>2808,30399=>2808,25935=>2809,24751=>2810,38397=>2811,26126=>2812,34719=>2813,40483=>2814,38125=>2815,21517=>2816,21629=>2817,35884=>2818,25720=>2819,25721=>2820,34321=>2821,27169=>2822,33180=>2823,30952=>2824,25705=>2825,39764=>2826,25273=>2827,26411=>2828,33707=>2829,22696=>2830,40664=>2831,27819=>2832,28448=>2833,23518=>2834,38476=>2835,35851=>2836,29279=>2837,26576=>2838,25287=>2839,29281=>2840,20137=>2841,22982=>2842,27597=>2843,22675=>2844,26286=>2845,24149=>2846,21215=>2847,24917=>2848,12106=>2849,26408=>2849,12140=>2850,30446=>2850,30566=>2851,29287=>2852,31302=>2853,25343=>2854,21738=>2855,21584=>2856,38048=>2857,37027=>2858,23068=>2859,32435=>2860,27670=>2861,20035=>2862,22902=>2863,32784=>2864,22856=>2865,21335=>2866,30007=>2867,38590=>2868,22218=>2869,25376=>2870,33041=>2871,24700=>2872,38393=>2873,28118=>2874,21602=>2875,39297=>2876,20869=>2877,23273=>2878,33021=>2879,22958=>2880,38675=>2881,20522=>2882,27877=>2883,23612=>2884,25311=>2885,20320=>2886,21311=>2887,33147=>2888,36870=>2889,28346=>2890,34091=>2891,25288=>2892,24180=>2893,30910=>2894,25781=>2895,25467=>2896,24565=>2897,23064=>2898,37247=>2899,40479=>2900,23615=>2901,25423=>2902,32834=>2903,23421=>2904,21870=>2905,38218=>2906,38221=>2907,28037=>2908,24744=>2909,26592=>2910,29406=>2911,20957=>2912,23425=>2913,25319=>2914,27870=>2915,12124=>2916,29275=>2916,25197=>2917,38062=>2918,32445=>2919,33043=>2920,27987=>2921,20892=>2922,24324=>2923,22900=>2924,21162=>2925,24594=>2926,12069=>2927,22899=>2927,26262=>2928,34384=>2929,30111=>2930,25386=>2931,25062=>2932,31983=>2933,35834=>2934,21734=>2935,27431=>2936,40485=>2937,27572=>2938,34261=>2939,21589=>2940,20598=>2941,27812=>2942,21866=>2943,36276=>2944,29228=>2945,24085=>2946,24597=>2947,29750=>2948,25293=>2949,25490=>2950,29260=>2951,24472=>2952,28227=>2953,27966=>2954,25856=>2955,28504=>2956,30424=>2957,30928=>2958,30460=>2959,30036=>2960,21028=>2961,21467=>2962,20051=>2963,24222=>2964,26049=>2965,32810=>2966,32982=>2967,25243=>2968,21638=>2969,21032=>2970,28846=>2971,34957=>2972,36305=>2973,27873=>2974,21624=>2975,32986=>2976,22521=>2977,35060=>2978,36180=>2979,38506=>2980,37197=>2981,20329=>2982,27803=>2983,21943=>2984,30406=>2985,30768=>2986,25256=>2987,28921=>2988,28558=>2989,24429=>2990,34028=>2991,26842=>2992,30844=>2993,31735=>2994,33192=>2995,26379=>2996,40527=>2997,25447=>2998,30896=>2999,22383=>3000,30738=>3001,38713=>3002,25209=>3003,25259=>3004,21128=>3005,29749=>3006,27607=>3007,21860=>3008,33086=>3009,30130=>3010,12138=>3011,30382=>3011,21305=>3012,30174=>3013,20731=>3014,23617=>3015,35692=>3016,31687=>3017,20559=>3018,12122=>3019,29255=>3019,39575=>3020,39128=>3021,28418=>3022,29922=>3023,31080=>3024,25735=>3025,30629=>3026,25340=>3027,39057=>3028,36139=>3029,21697=>3030,32856=>3031,20050=>3032,22378=>3033,33529=>3034,33805=>3035,24179=>3036,20973=>3037,29942=>3038,35780=>3039,23631=>3040,22369=>3041,27900=>3042,39047=>3043,23110=>3044,30772=>3045,39748=>3046,36843=>3047,31893=>3048,21078=>3049,25169=>3050,38138=>3051,20166=>3052,33670=>3053,33889=>3054,33769=>3055,33970=>3056,22484=>3057,26420=>3058,22275=>3059,26222=>3060,28006=>3061,35889=>3062,26333=>3063,28689=>3064,26399=>3065,27450=>3066,26646=>3067,25114=>3068,22971=>3069,19971=>3070,20932=>3071,28422=>3072,26578=>3073,27791=>3074,20854=>3075,26827=>3076,22855=>3077,27495=>3078,30054=>3079,23822=>3080,33040=>3081,40784=>3082,26071=>3083,31048=>3084,31041=>3085,39569=>3086,36215=>3087,23682=>3088,20062=>3089,20225=>3090,21551=>3091,22865=>3092,30732=>3093,22120=>3094,12115=>3095,27668=>3095,36804=>3096,24323=>3097,27773=>3098,27875=>3099,35755=>3100,25488=>3101,24688=>3102,27965=>3103,29301=>3104,25190=>3105,38030=>3106,38085=>3107,21315=>3108,36801=>3109,31614=>3110,20191=>3111,35878=>3112,20094=>3113,40660=>3114,38065=>3115,38067=>3116,21069=>3117,28508=>3118,36963=>3119,27973=>3120,35892=>3121,22545=>3122,23884=>3123,12107=>3124,27424=>3124,27465=>3125,26538=>3126,21595=>3127,33108=>3128,32652=>3129,22681=>3130,34103=>3131,24378=>3132,25250=>3133,27207=>3134,38201=>3135,25970=>3136,24708=>3137,26725=>3138,30631=>3139,20052=>3140,20392=>3141,24039=>3142,38808=>3143,25772=>3144,32728=>3145,23789=>3146,20431=>3147,31373=>3148,20999=>3149,33540=>3150,19988=>3151,24623=>3152,31363=>3153,38054=>3154,20405=>3155,20146=>3156,31206=>3157,29748=>3158,21220=>3159,33465=>3160,25810=>3161,31165=>3162,23517=>3163,27777=>3164,38738=>3165,36731=>3166,27682=>3167,20542=>3168,21375=>3169,28165=>3170,25806=>3171,26228=>3172,27696=>3173,24773=>3174,39031=>3175,35831=>3176,24198=>3177,29756=>3178,31351=>3179,31179=>3180,19992=>3181,37041=>3182,29699=>3183,27714=>3184,22234=>3185,37195=>3186,27845=>3187,36235=>3188,21306=>3189,34502=>3190,26354=>3191,36527=>3192,23624=>3193,39537=>3194,28192=>3195,21462=>3196,23094=>3197,40843=>3198,36259=>3199,21435=>3200,22280=>3201,39079=>3202,26435=>3203,37275=>3204,27849=>3205,20840=>3206,30154=>3207,25331=>3208,12125=>3209,29356=>3209,21048=>3210,21149=>3211,32570=>3212,28820=>3213,30264=>3214,21364=>3215,40522=>3216,27063=>3217,30830=>3218,38592=>3219,35033=>3220,32676=>3221,28982=>3222,29123=>3223,20873=>3224,26579=>3225,29924=>3226,22756=>3227,25880=>3228,22199=>3229,35753=>3230,39286=>3231,25200=>3232,32469=>3233,24825=>3234,28909=>3235,22764=>3236,20161=>3237,12040=>3238,20154=>3238,24525=>3239,38887=>3240,20219=>3241,35748=>3242,20995=>3243,22922=>3244,32427=>3245,25172=>3246,20173=>3247,12103=>3248,26085=>3248,25102=>3249,33592=>3250,33993=>3251,33635=>3252,34701=>3253,29076=>3254,28342=>3255,23481=>3256,32466=>3257,20887=>3258,25545=>3259,26580=>3260,12161=>3261,32905=>3261,33593=>3262,34837=>3263,20754=>3264,23418=>3265,22914=>3266,36785=>3267,20083=>3268,27741=>3269,12042=>3270,20837=>3270,35109=>3271,36719=>3272,38446=>3273,34122=>3274,29790=>3275,38160=>3276,38384=>3277,28070=>3278,33509=>3279,24369=>3280,25746=>3281,27922=>3282,33832=>3283,33134=>3284,40131=>3285,22622=>3286,36187=>3287,19977=>3288,21441=>3289,20254=>3290,25955=>3291,26705=>3292,21971=>3293,20007=>3294,25620=>3295,39578=>3296,25195=>3297,23234=>3298,29791=>3299,12170=>3300,33394=>3300,28073=>3301,26862=>3302,20711=>3303,33678=>3304,30722=>3305,26432=>3306,21049=>3307,27801=>3308,32433=>3309,20667=>3310,21861=>3311,29022=>3312,31579=>3313,26194=>3314,29642=>3315,33515=>3316,26441=>3317,12077=>3318,23665=>3318,21024=>3319,29053=>3320,34923=>3321,38378=>3322,38485=>3323,25797=>3324,36193=>3325,33203=>3326,21892=>3327,27733=>3328,25159=>3329,32558=>3330,22674=>3331,20260=>3332,21830=>3333,36175=>3334,26188=>3335,19978=>3336,23578=>3337,35059=>3338,26786=>3339,25422=>3340,31245=>3341,28903=>3342,33421=>3343,21242=>3344,38902=>3345,23569=>3346,21736=>3347,37045=>3348,32461=>3349,22882=>3350,36170=>3351,34503=>3352,12166=>3353,33292=>3353,33293=>3354,36198=>3355,25668=>3356,23556=>3357,24913=>3358,28041=>3359,31038=>3360,35774=>3361,30775=>3362,30003=>3363,21627=>3364,20280=>3365,12189=>3366,36523=>3366,28145=>3367,23072=>3368,32453=>3369,31070=>3370,27784=>3371,23457=>3372,23158=>3373,29978=>3374,32958=>3375,24910=>3376,28183=>3377,22768=>3378,12131=>3379,29983=>3379,29989=>3380,29298=>3381,21319=>3382,32499=>3383,30465=>3384,30427=>3385,21097=>3386,32988=>3387,22307=>3388,24072=>3389,22833=>3390,29422=>3391,26045=>3392,28287=>3393,35799=>3394,12075=>3395,23608=>3395,34417=>3396,12055=>3397,21313=>3397,12143=>3398,30707=>3398,25342=>3399,26102=>3400,20160=>3401,12215=>3402,39135=>3402,34432=>3403,23454=>3404,35782=>3405,21490=>3406,12142=>3407,30690=>3407,20351=>3408,23630=>3409,39542=>3410,22987=>3411,24335=>3412,12144=>3413,31034=>3413,12064=>3414,22763=>3414,19990=>3415,26623=>3416,20107=>3417,25325=>3418,35475=>3419,36893=>3420,21183=>3421,26159=>3422,21980=>3423,22124=>3424,36866=>3425,20181=>3426,20365=>3427,37322=>3428,39280=>3429,12114=>3430,27663=>3430,24066=>3431,24643=>3432,23460=>3433,35270=>3434,35797=>3435,25910=>3436,12095=>3437,25163=>3437,12216=>3438,39318=>3438,23432=>3439,23551=>3440,25480=>3441,21806=>3442,21463=>3443,30246=>3444,20861=>3445,34092=>3446,26530=>3447,26803=>3448,27530=>3449,25234=>3450,36755=>3451,21460=>3452,33298=>3453,28113=>3454,30095=>3455,20070=>3456,36174=>3457,23408=>3458,29087=>3459,34223=>3460,26257=>3461,26329=>3462,32626=>3463,34560=>3464,12233=>3465,40653=>3465,12239=>3466,40736=>3466,23646=>3467,26415=>3468,36848=>3469,26641=>3470,26463=>3471,25101=>3472,31446=>3473,22661=>3474,24246=>3475,25968=>3476,28465=>3477,24661=>3478,21047=>3479,32781=>3480,25684=>3481,34928=>3482,29993=>3483,24069=>3484,26643=>3485,25332=>3486,38684=>3487,21452=>3488,29245=>3489,35841=>3490,12116=>3491,27700=>3491,30561=>3492,31246=>3493,21550=>3494,30636=>3495,39034=>3496,33308=>3497,35828=>3498,30805=>3499,26388=>3500,28865=>3501,26031=>3502,25749=>3503,22070=>3504,24605=>3505,31169=>3506,21496=>3507,19997=>3508,27515=>3509,32902=>3510,23546=>3511,21987=>3512,22235=>3513,20282=>3514,20284=>3515,39282=>3516,24051=>3517,26494=>3518,32824=>3519,24578=>3520,39042=>3521,36865=>3522,23435=>3523,35772=>3524,35829=>3525,25628=>3526,33368=>3527,25822=>3528,22013=>3529,33487=>3530,37221=>3531,20439=>3532,32032=>3533,36895=>3534,31903=>3535,20723=>3536,22609=>3537,28335=>3538,23487=>3539,35785=>3540,32899=>3541,37240=>3542,33948=>3543,31639=>3544,34429=>3545,38539=>3546,38543=>3547,32485=>3548,39635=>3549,30862=>3550,23681=>3551,31319=>3552,36930=>3553,38567=>3554,31071=>3555,23385=>3556,25439=>3557,31499=>3558,34001=>3559,26797=>3560,21766=>3561,32553=>3562,29712=>3563,32034=>3564,38145=>3565,25152=>3566,22604=>3567,20182=>3568,23427=>3569,22905=>3570,22612=>3571,29549=>3572,25374=>3573,36427=>3574,36367=>3575,32974=>3576,33492=>3577,25260=>3578,21488=>3579,27888=>3580,37214=>3581,22826=>3582,24577=>3583,27760=>3584,22349=>3585,25674=>3586,36138=>3587,30251=>3588,28393=>3589,22363=>3590,27264=>3591,30192=>3592,28525=>3593,35885=>3594,35848=>3595,22374=>3596,27631=>3597,34962=>3598,30899=>3599,25506=>3600,21497=>3601,28845=>3602,27748=>3603,22616=>3604,25642=>3605,22530=>3606,26848=>3607,33179=>3608,21776=>3609,31958=>3610,20504=>3611,36538=>3612,28108=>3613,36255=>3614,28907=>3615,25487=>3616,28059=>3617,28372=>3618,32486=>3619,33796=>3620,26691=>3621,36867=>3622,28120=>3623,38518=>3624,35752=>3625,22871=>3626,29305=>3627,34276=>3628,33150=>3629,30140=>3630,35466=>3631,26799=>3632,21076=>3633,36386=>3634,38161=>3635,25552=>3636,39064=>3637,36420=>3638,21884=>3639,20307=>3640,26367=>3641,22159=>3642,24789=>3643,28053=>3644,21059=>3645,23625=>3646,22825=>3647,28155=>3648,22635=>3649,12133=>3650,30000=>3650,29980=>3651,24684=>3652,33300=>3653,33094=>3654,25361=>3655,26465=>3656,36834=>3657,30522=>3658,36339=>3659,36148=>3660,38081=>3661,24086=>3662,21381=>3663,21548=>3664,28867=>3665,27712=>3666,24311=>3667,20572=>3668,20141=>3669,24237=>3670,25402=>3671,33351=>3672,36890=>3673,26704=>3674,37230=>3675,30643=>3676,21516=>3677,38108=>3678,24420=>3679,31461=>3680,26742=>3681,25413=>3682,31570=>3683,32479=>3684,30171=>3685,20599=>3686,25237=>3687,22836=>3688,36879=>3689,20984=>3690,31171=>3691,31361=>3692,22270=>3693,24466=>3694,36884=>3695,28034=>3696,23648=>3697,12063=>3698,22303=>3698,21520=>3699,20820=>3700,28237=>3701,22242=>3702,25512=>3703,39059=>3704,33151=>3705,34581=>3706,35114=>3707,36864=>3708,21534=>3709,23663=>3710,33216=>3711,25302=>3712,25176=>3713,33073=>3714,40501=>3715,38464=>3716,39534=>3717,39548=>3718,26925=>3719,22949=>3720,25299=>3721,21822=>3722,25366=>3723,21703=>3724,34521=>3725,27964=>3726,23043=>3727,12129=>3728,29926=>3728,34972=>3729,27498=>3730,22806=>3731,35916=>3732,24367=>3733,28286=>3734,29609=>3735,39037=>3736,20024=>3737,28919=>3738,23436=>3739,30871=>3740,25405=>3741,26202=>3742,30358=>3743,24779=>3744,23451=>3745,23113=>3746,19975=>3747,33109=>3748,27754=>3749,29579=>3750,20129=>3751,26505=>3752,12153=>3753,32593=>3753,24448=>3754,26106=>3755,26395=>3756,24536=>3757,22916=>3758,23041=>3759,24013=>3760,24494=>3761,21361=>3762,38886=>3763,36829=>3764,26693=>3765,22260=>3766,21807=>3767,24799=>3768,20026=>3769,28493=>3770,32500=>3771,33479=>3772,33806=>3773,22996=>3774,20255=>3775,20266=>3776,23614=>3777,32428=>3778,26410=>3779,34074=>3780,21619=>3781,30031=>3782,32963=>3783,21890=>3784,39759=>3785,20301=>3786,28205=>3787,35859=>3788,23561=>3789,24944=>3790,21355=>3791,30239=>3792,28201=>3793,34442=>3794,12098=>3795,25991=>3795,38395=>3796,32441=>3797,21563=>3798,31283=>3799,32010=>3800,38382=>3801,21985=>3802,32705=>3803,29934=>3804,25373=>3805,34583=>3806,28065=>3807,31389=>3808,25105=>3809,26017=>3810,21351=>3811,25569=>3812,27779=>3813,24043=>3814,21596=>3815,38056=>3816,20044=>3817,27745=>3818,35820=>3819,23627=>3820,12102=>3821,26080=>3821,33436=>3822,26791=>3823,21566=>3824,21556=>3825,12111=>3826,27595=>3826,27494=>3827,20116=>3828,25410=>3829,21320=>3830,33310=>3831,20237=>3832,20398=>3833,22366=>3834,25098=>3835,38654=>3836,26212=>3837,29289=>3838,21247=>3839,21153=>3840,24735=>3841,35823=>3842,26132=>3843,29081=>3844,26512=>3845,35199=>3846,30802=>3847,30717=>3848,26224=>3849,22075=>3850,21560=>3851,38177=>3852,29306=>3853,31232=>3854,24687=>3855,24076=>3856,24713=>3857,33181=>3858,12067=>3859,22805=>3859,24796=>3860,29060=>3861,28911=>3862,28330=>3863,27728=>3864,29312=>3865,27268=>3866,34989=>3867,24109=>3868,20064=>3869,23219=>3870,21916=>3871,38115=>3872,27927=>3873,31995=>3874,38553=>3875,25103=>3876,32454=>3877,30606=>3878,34430=>3879,21283=>3880,38686=>3881,36758=>3882,26247=>3883,23777=>3884,20384=>3885,29421=>3886,19979=>3887,21414=>3888,22799=>3889,21523=>3890,25472=>3891,38184=>3892,20808=>3893,20185=>3894,40092=>3895,32420=>3896,21688=>3897,36132=>3898,34900=>3899,33335=>3900,38386=>3901,28046=>3902,24358=>3903,23244=>3904,26174=>3905,38505=>3906,29616=>3907,29486=>3908,21439=>3909,33146=>3910,39301=>3911,32673=>3912,23466=>3913,38519=>3914,38480=>3915,32447=>3916,30456=>3917,21410=>3918,38262=>3919,12217=>3920,39321=>3920,31665=>3921,35140=>3922,28248=>3923,20065=>3924,32724=>3925,31077=>3926,35814=>3927,24819=>3928,21709=>3929,20139=>3930,39033=>3931,24055=>3932,27233=>3933,20687=>3934,21521=>3935,35937=>3936,33831=>3937,30813=>3938,38660=>3939,21066=>3940,21742=>3941,22179=>3942,38144=>3943,28040=>3944,23477=>3945,28102=>3946,26195=>3947,12073=>3948,23567=>3948,23389=>3949,26657=>3950,32918=>3951,21880=>3952,31505=>3953,25928=>3954,26964=>3955,20123=>3956,27463=>3957,34638=>3958,38795=>3959,21327=>3960,25375=>3961,25658=>3962,37034=>3963,26012=>3964,32961=>3965,35856=>3966,20889=>3967,26800=>3968,21368=>3969,34809=>3970,25032=>3971,27844=>3972,27899=>3973,35874=>3974,23633=>3975,34218=>3976,33455=>3977,38156=>3978,27427=>3979,12191=>3980,36763=>3980,26032=>3981,24571=>3982,12092=>3983,24515=>3983,20449=>3984,34885=>3985,26143=>3986,33125=>3987,29481=>3988,24826=>3989,20852=>3990,21009=>3991,22411=>3992,24418=>3993,37026=>3994,12175=>3995,34892=>3995,37266=>3996,24184=>3997,26447=>3998,24615=>3999,22995=>4000,20804=>4001,20982=>4002,33016=>4003,21256=>4004,27769=>4005,38596=>4006,29066=>4007,20241=>4008,20462=>4009,32670=>4010,26429=>4011,21957=>4012,38152=>4013,31168=>4014,34966=>4015,32483=>4016,22687=>4017,25100=>4018,38656=>4019,34394=>4020,22040=>4021,39035=>4022,24464=>4023,35768=>4024,33988=>4025,37207=>4026,21465=>4027,26093=>4028,24207=>4029,30044=>4030,24676=>4031,32110=>4032,23167=>4033,32490=>4034,32493=>4035,36713=>4036,21927=>4037,23459=>4038,24748=>4039,26059=>4040,12126=>4041,29572=>4041,36873=>4042,30307=>4043,30505=>4044,32474=>4045,38772=>4046,34203=>4047,23398=>4048,12147=>4049,31348=>4049,38634=>4050,12174=>4051,34880=>4051,21195=>4052,29071=>4053,24490=>4054,26092=>4055,35810=>4056,23547=>4057,39535=>4058,24033=>4059,27529=>4060,27739=>4061,35757=>4062,35759=>4063,36874=>4064,36805=>4065,21387=>4066,25276=>4067,40486=>4068,40493=>4069,21568=>4070,20011=>4071,33469=>4072,12123=>4073,29273=>4073,34460=>4074,23830=>4075,34905=>4076,28079=>4077,38597=>4078,21713=>4079,20122=>4080,35766=>4081,28937=>4082,21693=>4083,38409=>4084,28895=>4085,28153=>4086,30416=>4087,20005=>4088,30740=>4089,34578=>4090,23721=>4091,24310=>4092,12180=>4093,35328=>4093,39068=>4094,38414=>4095,28814=>4096,27839=>4097,22852=>4098,25513=>4099,30524=>4100,34893=>4101,28436=>4102,33395=>4103,22576=>4104,29141=>4105,21388=>4106,30746=>4107,38593=>4108,21761=>4109,24422=>4110,28976=>4111,23476=>4112,35866=>4113,39564=>4114,27523=>4115,22830=>4116,40495=>4117,31207=>4118,26472=>4119,25196=>4120,20335=>4121,30113=>4122,12154=>4123,32650=>4123,27915=>4124,38451=>4125,27687=>4126,20208=>4127,30162=>4128,20859=>4129,26679=>4130,28478=>4131,36992=>4132,33136=>4133,22934=>4134,29814=>4135,25671=>4136,23591=>4137,36965=>4138,31377=>4139,35875=>4140,23002=>4141,21676=>4142,33280=>4143,33647=>4144,35201=>4145,32768=>4146,26928=>4147,22094=>4148,32822=>4149,29239=>4150,37326=>4151,20918=>4152,20063=>4153,39029=>4154,25494=>4155,19994=>4156,21494=>4157,26355=>4158,33099=>4159,22812=>4160,28082=>4161,12032=>4162,19968=>4162,22777=>4163,21307=>4164,25558=>4165,38129=>4166,20381=>4167,20234=>4168,12176=>4169,34915=>4169,39056=>4170,22839=>4171,36951=>4172,31227=>4173,20202=>4174,33008=>4175,30097=>4176,27778=>4177,23452=>4178,23016=>4179,24413=>4180,26885=>4181,34433=>4182,20506=>4183,24050=>4184,12036=>4185,20057=>4185,30691=>4186,20197=>4187,33402=>4188,25233=>4189,26131=>4190,12194=>4191,37009=>4191,23673=>4192,20159=>4193,24441=>4194,33222=>4195,36920=>4196,32900=>4197,30123=>4198,20134=>4199,35028=>4200,24847=>4201,27589=>4202,24518=>4203,20041=>4204,30410=>4205,28322=>4206,35811=>4207,35758=>4208,35850=>4209,35793=>4210,24322=>4211,32764=>4212,32716=>4213,32462=>4214,33589=>4215,33643=>4216,22240=>4217,27575=>4218,12211=>4219,38899=>4219,38452=>4220,23035=>4221,21535=>4222,38134=>4223,28139=>4224,23493=>4225,39278=>4226,23609=>4227,24341=>4228,38544=>4229,21360=>4230,33521=>4231,27185=>4232,23156=>4233,40560=>4234,24212=>4235,32552=>4236,33721=>4237,33828=>4238,33829=>4239,33639=>4240,34631=>4241,36814=>4242,36194=>4243,30408=>4244,24433=>4245,39062=>4246,30828=>4247,26144=>4248,21727=>4249,25317=>4250,20323=>4251,33219=>4252,30152=>4253,24248=>4254,38605=>4255,36362=>4256,34553=>4257,21647=>4258,27891=>4259,28044=>4260,27704=>4261,24703=>4262,21191=>4263,12132=>4264,29992=>4264,24189=>4265,20248=>4266,24736=>4267,24551=>4268,23588=>4269,30001=>4270,37038=>4271,38080=>4272,29369=>4273,27833=>4274,28216=>4275,12195=>4276,37193=>4276,26377=>4277,21451=>4278,21491=>4279,20305=>4280,37321=>4281,35825=>4282,12060=>4283,21448=>4283,24188=>4284,36802=>4285,28132=>4286,20110=>4287,30402=>4288,27014=>4289,34398=>4290,24858=>4291,33286=>4292,20313=>4293,20446=>4294,36926=>4295,40060=>4296,24841=>4297,28189=>4298,28180=>4299,38533=>4300,20104=>4301,23089=>4302,12204=>4303,38632=>4303,19982=>4304,23679=>4305,31161=>4306,23431=>4307,35821=>4308,12155=>4309,32701=>4309,12127=>4310,29577=>4310,22495=>4311,33419=>4312,37057=>4313,21505=>4314,36935=>4315,21947=>4316,23786=>4317,24481=>4318,24840=>4319,27442=>4320,29425=>4321,32946=>4322,35465=>4323,28020=>4324,23507=>4325,35029=>4326,39044=>4327,35947=>4328,39533=>4329,40499=>4330,28170=>4331,20900=>4332,20803=>4333,22435=>4334,34945=>4335,21407=>4336,25588=>4337,36757=>4338,22253=>4339,21592=>4340,22278=>4341,29503=>4342,28304=>4343,32536=>4344,36828=>4345,33489=>4346,24895=>4347,24616=>4348,38498=>4349,12104=>4350,26352=>4350,32422=>4351,36234=>4352,36291=>4353,38053=>4354,23731=>4355,31908=>4356,12105=>4357,26376=>4357,24742=>4358,38405=>4359,32792=>4360,20113=>4361,37095=>4362,21248=>4363,38504=>4364,20801=>4365,36816=>4366,34164=>4367,37213=>4368,26197=>4369,38901=>4370,23381=>4371,21277=>4372,30776=>4373,26434=>4374,26685=>4375,21705=>4376,28798=>4377,23472=>4378,36733=>4379,20877=>4380,22312=>4381,21681=>4382,25874=>4383,26242=>4384,36190=>4385,36163=>4386,33039=>4387,33900=>4388,36973=>4389,31967=>4390,20991=>4391,34299=>4392,26531=>4393,26089=>4394,28577=>4395,34468=>4396,36481=>4397,22122=>4398,36896=>4399,30338=>4400,28790=>4401,29157=>4402,36131=>4403,25321=>4404,21017=>4405,27901=>4406,36156=>4407,24590=>4408,22686=>4409,24974=>4410,26366=>4411,36192=>4412,25166=>4413,21939=>4414,28195=>4415,26413=>4416,36711=>4417,38113=>4418,38392=>4419,30504=>4420,26629=>4421,27048=>4422,21643=>4423,20045=>4424,28856=>4425,35784=>4426,25688=>4427,25995=>4428,23429=>4429,31364=>4430,20538=>4431,23528=>4432,30651=>4433,27617=>4434,35449=>4435,31896=>4436,27838=>4437,30415=>4438,26025=>4439,36759=>4440,23853=>4441,23637=>4442,34360=>4443,26632=>4444,21344=>4445,25112=>4446,31449=>4447,28251=>4448,32509=>4449,27167=>4450,31456=>4451,24432=>4452,28467=>4453,24352=>4454,25484=>4455,28072=>4456,26454=>4457,19976=>4458,24080=>4459,36134=>4460,20183=>4461,32960=>4462,30260=>4463,38556=>4464,25307=>4465,26157=>4466,25214=>4467,27836=>4468,36213=>4469,29031=>4470,32617=>4471,20806=>4472,32903=>4473,21484=>4474,36974=>4475,25240=>4476,21746=>4477,34544=>4478,36761=>4479,32773=>4480,38167=>4481,34071=>4482,36825=>4483,27993=>4484,29645=>4485,26015=>4486,30495=>4487,29956=>4488,30759=>4489,33275=>4490,36126=>4491,38024=>4492,20390=>4493,26517=>4494,30137=>4495,35786=>4496,38663=>4497,25391=>4498,38215=>4499,38453=>4500,33976=>4501,25379=>4502,30529=>4503,24449=>4504,29424=>4505,20105=>4506,24596=>4507,25972=>4508,25327=>4509,27491=>4510,25919=>4511,24103=>4512,30151=>4513,37073=>4514,35777=>4515,33437=>4516,26525=>4517,12096=>4518,25903=>4518,21553=>4519,34584=>4520,30693=>4521,32930=>4522,33026=>4523,27713=>4524,20043=>4525,32455=>4526,32844=>4527,30452=>4528,26893=>4529,27542=>4530,25191=>4531,20540=>4532,20356=>4533,22336=>4534,25351=>4535,12108=>4536,27490=>4536,36286=>4537,21482=>4538,26088=>4539,32440=>4540,24535=>4541,25370=>4542,25527=>4543,12164=>4544,33267=>4544,33268=>4545,32622=>4546,24092=>4547,23769=>4548,21046=>4549,26234=>4550,31209=>4551,31258=>4552,36136=>4553,28825=>4554,30164=>4555,28382=>4556,27835=>4557,31378=>4558,20013=>4559,30405=>4560,24544=>4561,38047=>4562,34935=>4563,32456=>4564,31181=>4565,32959=>4566,37325=>4567,20210=>4568,20247=>4569,12168=>4570,33311=>4570,21608=>4571,24030=>4572,27954=>4573,35788=>4574,31909=>4575,36724=>4576,32920=>4577,24090=>4578,21650=>4579,30385=>4580,23449=>4581,26172=>4582,39588=>4583,29664=>4584,26666=>4585,34523=>4586,26417=>4587,29482=>4588,35832=>4589,35803=>4590,36880=>4591,12149=>4592,31481=>4592,28891=>4593,29038=>4594,25284=>4595,30633=>4596,22065=>4597,20027=>4598,33879=>4599,26609=>4600,21161=>4601,34496=>4602,36142=>4603,38136=>4604,31569=>4605,20303=>4606,27880=>4607,31069=>4608,39547=>4609,25235=>4610,12118=>4611,29226=>4611,25341=>4612,19987=>4613,30742=>4614,36716=>4615,25776=>4616,36186=>4617,31686=>4618,26729=>4619,24196=>4620,35013=>4621,22918=>4622,25758=>4623,22766=>4624,29366=>4625,26894=>4626,38181=>4627,36861=>4628,36184=>4629,22368=>4630,32512=>4631,35846=>4632,20934=>4633,25417=>4634,25305=>4635,21331=>4636,26700=>4637,29730=>4638,33537=>4639,37196=>4640,21828=>4641,30528=>4642,28796=>4643,27978=>4644,20857=>4645,21672=>4646,36164=>4647,23039=>4648,28363=>4649,28100=>4650,23388=>4651,32043=>4652,20180=>4653,31869=>4654,28371=>4655,12070=>4656,23376=>4656,12163=>4657,33258=>4657,28173=>4658,23383=>4659,39683=>4660,26837=>4661,36394=>4662,23447=>4663,32508=>4664,24635=>4665,32437=>4666,37049=>4667,12187=>4668,36208=>4668,22863=>4669,25549=>4670,31199=>4671,12188=>4672,36275=>4672,21330=>4673,26063=>4674,31062=>4675,35781=>4676,38459=>4677,32452=>4678,38075=>4679,32386=>4680,22068=>4681,37257=>4682,26368=>4683,32618=>4684,23562=>4685,36981=>4686,26152=>4687,24038=>4688,20304=>4689,26590=>4690,20570=>4691,20316=>4692,22352=>4693,24231=>4694,20109=>4695,19980=>4696,20800=>4697,64012=>4697,19984=>4698,24319=>4699,21317=>4700,19989=>4701,20120=>4702,19998=>4703,12224=>4704,39730=>4704,23404=>4705,22121=>4706,12033=>4707,20008=>4707,31162=>4708,12035=>4709,20031=>4709,12052=>4710,21269=>4710,20039=>4711,22829=>4712,12120=>4713,29243=>4713,21358=>4714,27664=>4715,22239=>4716,32996=>4717,39319=>4718,27603=>4719,30590=>4720,40727=>4721,12034=>4722,20022=>4722,20127=>4723,40720=>4724,20060=>4725,20073=>4726,20115=>4727,33416=>4728,23387=>4729,21868=>4730,22031=>4731,20164=>4732,21389=>4733,21405=>4734,21411=>4735,21413=>4736,21422=>4737,38757=>4738,36189=>4739,12053=>4740,21274=>4740,21493=>4741,21286=>4742,21294=>4743,21310=>4744,36188=>4745,21350=>4746,21347=>4747,20994=>4748,21000=>4749,21006=>4750,21037=>4751,21043=>4752,21055=>4753,21056=>4754,21068=>4755,21086=>4756,21089=>4757,21084=>4758,33967=>4759,21117=>4760,21122=>4761,21121=>4762,21136=>4763,21139=>4764,12044=>4765,20866=>4765,32596=>4766,20155=>4767,20163=>4768,20169=>4769,20162=>4770,20200=>4771,20193=>4772,20203=>4773,20190=>4774,20251=>4775,20211=>4776,20258=>4777,20324=>4778,20213=>4779,20261=>4780,20263=>4781,20233=>4782,20267=>4783,20318=>4784,20327=>4785,25912=>4786,20314=>4787,20317=>4788,20319=>4789,20311=>4790,20274=>4791,20285=>4792,20342=>4793,20340=>4794,20369=>4795,20361=>4796,20355=>4797,20367=>4798,20350=>4799,20347=>4800,20394=>4801,20348=>4802,20396=>4803,20372=>4804,20454=>4805,20456=>4806,20458=>4807,20421=>4808,20442=>4809,20451=>4810,20444=>4811,20433=>4812,20447=>4813,20472=>4814,20521=>4815,20556=>4816,20467=>4817,20524=>4818,20495=>4819,20526=>4820,20525=>4821,20478=>4822,20508=>4823,20492=>4824,20517=>4825,20520=>4826,20606=>4827,20547=>4828,20565=>4829,20552=>4830,20558=>4831,20588=>4832,20603=>4833,20645=>4834,20647=>4835,20649=>4836,20666=>4837,20694=>4838,20742=>4839,20717=>4840,20716=>4841,20710=>4842,20718=>4843,20743=>4844,20747=>4845,20189=>4846,27709=>4847,20312=>4848,20325=>4849,20430=>4850,12245=>4851,40864=>4851,27718=>4852,31860=>4853,20846=>4854,24061=>4855,40649=>4856,39320=>4857,20865=>4858,22804=>4859,12051=>4860,21241=>4860,21261=>4861,35335=>4862,21264=>4863,20971=>4864,22809=>4865,20821=>4866,12039=>4867,20128=>4867,20822=>4868,20147=>4869,34926=>4870,34980=>4871,20149=>4872,33044=>4873,35026=>4874,31104=>4875,23348=>4876,34819=>4877,32696=>4878,12046=>4879,20907=>4879,20913=>4880,20925=>4881,20924=>4882,20935=>4883,12045=>4884,20886=>4884,20898=>4885,20901=>4886,35744=>4887,35750=>4888,35751=>4889,35754=>4890,35764=>4891,35765=>4892,35767=>4893,35778=>4894,35779=>4895,35787=>4896,35791=>4897,35790=>4898,35794=>4899,35795=>4900,35796=>4901,35798=>4902,35800=>4903,35801=>4904,35804=>4905,35807=>4906,35808=>4907,35812=>4908,35816=>4909,35817=>4910,35822=>4911,35824=>4912,35827=>4913,35830=>4914,35833=>4915,35836=>4916,35839=>4917,35840=>4918,35842=>4919,35844=>4920,35847=>4921,35852=>4922,35855=>4923,35857=>4924,35858=>4925,35860=>4926,35861=>4927,35862=>4928,35865=>4929,35867=>4930,35864=>4931,35869=>4932,35871=>4933,35872=>4934,35873=>4935,35877=>4936,35879=>4937,35882=>4938,35883=>4939,35886=>4940,35887=>4941,35890=>4942,35891=>4943,35893=>4944,35894=>4945,12057=>4946,21353=>4946,21370=>4947,38429=>4948,38434=>4949,38433=>4950,38449=>4951,38442=>4952,38461=>4953,38460=>4954,38466=>4955,38473=>4956,38484=>4957,38495=>4958,38503=>4959,38508=>4960,38514=>4961,38516=>4962,38536=>4963,38541=>4964,38551=>4965,38576=>4966,37015=>4967,37019=>4968,37021=>4969,37017=>4970,37036=>4971,37025=>4972,37044=>4973,37043=>4974,37046=>4975,37050=>4976,37048=>4977,37040=>4978,37071=>4979,37061=>4980,37054=>4981,37072=>4982,37060=>4983,37063=>4984,37075=>4985,37094=>4986,37090=>4987,37084=>4988,37079=>4989,37083=>4990,37099=>4991,37103=>4992,37118=>4993,37124=>4994,37154=>4995,37150=>4996,37155=>4997,37169=>4998,37167=>4999,37177=>5000,37187=>5001,37190=>5002,21005=>5003,22850=>5004,21154=>5005,21164=>5006,21165=>5007,21182=>5008,21759=>5009,21200=>5010,21206=>5011,21232=>5012,21471=>5013,29166=>5014,30669=>5015,12085=>5016,24308=>5016,12048=>5017,20981=>5017,20988=>5018,12223=>5019,39727=>5019,12059=>5020,21430=>5020,24321=>5021,30042=>5022,24047=>5023,22348=>5024,22441=>5025,22433=>5026,22654=>5027,22716=>5028,22725=>5029,22737=>5030,22313=>5031,22316=>5032,22314=>5033,22323=>5034,22329=>5035,22318=>5036,22319=>5037,22364=>5038,22331=>5039,22338=>5040,22377=>5041,22405=>5042,22379=>5043,22406=>5044,22396=>5045,22395=>5046,22376=>5047,22381=>5048,22390=>5049,22387=>5050,22445=>5051,22436=>5052,22412=>5053,22450=>5054,22479=>5055,22439=>5056,22452=>5057,22419=>5058,22432=>5059,22485=>5060,22488=>5061,22490=>5062,22489=>5063,22482=>5064,22456=>5065,22516=>5066,22511=>5067,22520=>5068,22500=>5069,22493=>5070,22539=>5071,22541=>5072,22525=>5073,22509=>5074,22528=>5075,22558=>5076,22553=>5077,22596=>5078,22560=>5079,22629=>5080,22636=>5081,22657=>5082,22665=>5083,22682=>5084,22656=>5085,39336=>5086,40729=>5087,25087=>5088,33401=>5089,33405=>5090,33407=>5091,33423=>5092,33418=>5093,33448=>5094,33412=>5095,33422=>5096,33425=>5097,33431=>5098,33433=>5099,33451=>5100,33464=>5101,33470=>5102,33456=>5103,33480=>5104,33482=>5105,33507=>5106,33432=>5107,33463=>5108,33454=>5109,33483=>5110,33484=>5111,33473=>5112,33449=>5113,33460=>5114,33441=>5115,33450=>5116,33439=>5117,33476=>5118,33486=>5119,33444=>5120,33505=>5121,33545=>5122,33527=>5123,33508=>5124,33551=>5125,33543=>5126,33500=>5127,33524=>5128,33490=>5129,33496=>5130,33548=>5131,33531=>5132,33491=>5133,33553=>5134,33562=>5135,33542=>5136,33556=>5137,33557=>5138,33504=>5139,33493=>5140,33564=>5141,33617=>5142,33627=>5143,33628=>5144,33544=>5145,33682=>5146,33596=>5147,33588=>5148,33585=>5149,33691=>5150,33630=>5151,33583=>5152,33615=>5153,33607=>5154,33603=>5155,33631=>5156,33600=>5157,33559=>5158,33632=>5159,33581=>5160,33594=>5161,33587=>5162,33638=>5163,33637=>5164,33640=>5165,33563=>5166,33641=>5167,33644=>5168,33642=>5169,33645=>5170,33646=>5171,33712=>5172,33656=>5173,33715=>5174,33716=>5175,33696=>5176,33706=>5177,33683=>5178,33692=>5179,33669=>5180,33660=>5181,33718=>5182,33705=>5183,33661=>5184,33720=>5185,33659=>5186,33688=>5187,33694=>5188,33704=>5189,33722=>5190,33724=>5191,33729=>5192,33793=>5193,33765=>5194,33752=>5195,22535=>5196,33816=>5197,33803=>5198,33757=>5199,33789=>5200,33750=>5201,33820=>5202,33848=>5203,33809=>5204,33798=>5205,33748=>5206,33759=>5207,33807=>5208,33795=>5209,33784=>5210,33785=>5211,33770=>5212,33733=>5213,33728=>5214,33830=>5215,33776=>5216,33761=>5217,33884=>5218,33873=>5219,33882=>5220,33881=>5221,33907=>5222,33927=>5223,33928=>5224,33914=>5225,33929=>5226,33912=>5227,33852=>5228,33862=>5229,33897=>5230,33910=>5231,33932=>5232,33934=>5233,33841=>5234,33901=>5235,33985=>5236,33997=>5237,34000=>5238,34022=>5239,33981=>5240,34003=>5241,33994=>5242,33983=>5243,33978=>5244,34016=>5245,33953=>5246,33977=>5247,33972=>5248,33943=>5249,34021=>5250,34019=>5251,34060=>5252,29965=>5253,34104=>5254,34032=>5255,34105=>5256,34079=>5257,34106=>5258,34134=>5259,34107=>5260,34047=>5261,34044=>5262,34137=>5263,34120=>5264,34152=>5265,34148=>5266,34142=>5267,34170=>5268,30626=>5269,34115=>5270,34162=>5271,34171=>5272,34212=>5273,34216=>5274,34183=>5275,34191=>5276,34169=>5277,34222=>5278,34204=>5279,34181=>5280,34233=>5281,34231=>5282,34224=>5283,34259=>5284,34241=>5285,34268=>5286,34303=>5287,34343=>5288,34309=>5289,34345=>5290,34326=>5291,34364=>5292,12086=>5293,24318=>5293,24328=>5294,22844=>5295,22849=>5296,32823=>5297,22869=>5298,22874=>5299,22872=>5300,21263=>5301,12074=>5302,23586=>5302,23589=>5303,23596=>5304,23604=>5305,25164=>5306,25194=>5307,25247=>5308,25275=>5309,25290=>5310,25306=>5311,25303=>5312,25326=>5313,25378=>5314,25334=>5315,25401=>5316,25419=>5317,25411=>5318,25517=>5319,25590=>5320,25457=>5321,25466=>5322,25486=>5323,25524=>5324,25453=>5325,25516=>5326,25482=>5327,25449=>5328,25518=>5329,25532=>5330,25586=>5331,25592=>5332,25568=>5333,25599=>5334,25540=>5335,25566=>5336,25550=>5337,25682=>5338,25542=>5339,25534=>5340,25669=>5341,25665=>5342,25611=>5343,25627=>5344,25632=>5345,25612=>5346,25638=>5347,25633=>5348,25694=>5349,25732=>5350,25709=>5351,25750=>5352,25722=>5353,25783=>5354,25784=>5355,25753=>5356,25786=>5357,25792=>5358,25808=>5359,25815=>5360,25828=>5361,25826=>5362,25865=>5363,25893=>5364,25902=>5365,12087=>5366,24331=>5366,24530=>5367,29977=>5368,24337=>5369,21343=>5370,21489=>5371,21501=>5372,21481=>5373,21480=>5374,21499=>5375,21522=>5376,21526=>5377,21510=>5378,21579=>5379,21586=>5380,21587=>5381,21588=>5382,21590=>5383,21571=>5384,21537=>5385,21591=>5386,21593=>5387,21539=>5388,21554=>5389,21634=>5390,21652=>5391,21623=>5392,21617=>5393,21604=>5394,21658=>5395,21659=>5396,21636=>5397,21622=>5398,21606=>5399,21661=>5400,21712=>5401,21677=>5402,21698=>5403,21684=>5404,21714=>5405,21671=>5406,21670=>5407,21715=>5408,21716=>5409,21618=>5410,21667=>5411,21717=>5412,21691=>5413,21695=>5414,21708=>5415,21721=>5416,21722=>5417,21724=>5418,21673=>5419,21674=>5420,21668=>5421,21725=>5422,21711=>5423,21726=>5424,21787=>5425,21735=>5426,21792=>5427,21757=>5428,21780=>5429,21747=>5430,21794=>5431,21795=>5432,21775=>5433,21777=>5434,21799=>5435,21802=>5436,21863=>5437,21903=>5438,21941=>5439,21833=>5440,21869=>5441,21825=>5442,21845=>5443,21823=>5444,21840=>5445,21820=>5446,21815=>5447,21846=>5448,21877=>5449,21878=>5450,21879=>5451,21811=>5452,21808=>5453,21852=>5454,21899=>5455,21970=>5456,21891=>5457,21937=>5458,21945=>5459,21896=>5460,21889=>5461,21919=>5462,21886=>5463,21974=>5464,21905=>5465,21883=>5466,21983=>5467,21949=>5468,21950=>5469,21908=>5470,21913=>5471,21994=>5472,22007=>5473,21961=>5474,22047=>5475,21969=>5476,21995=>5477,21996=>5478,21972=>5479,21990=>5480,21981=>5481,21956=>5482,21999=>5483,21989=>5484,22002=>5485,22003=>5486,21964=>5487,21965=>5488,21992=>5489,22005=>5490,21988=>5491,36756=>5492,22046=>5493,22024=>5494,22028=>5495,22017=>5496,22052=>5497,22051=>5498,22014=>5499,22016=>5500,22055=>5501,22061=>5502,22104=>5503,22073=>5504,22103=>5505,22060=>5506,22093=>5507,22114=>5508,22105=>5509,22108=>5510,22092=>5511,22100=>5512,22150=>5513,22116=>5514,22129=>5515,22123=>5516,22139=>5517,22140=>5518,22149=>5519,22163=>5520,22191=>5521,22228=>5522,12062=>5523,22231=>5523,22237=>5524,22241=>5525,22261=>5526,22251=>5527,22265=>5528,22271=>5529,22276=>5530,22282=>5531,22281=>5532,22300=>5533,24079=>5534,24089=>5535,24084=>5536,24081=>5537,24113=>5538,24123=>5539,24124=>5540,24119=>5541,24132=>5542,24148=>5543,24155=>5544,24158=>5545,24161=>5546,23692=>5547,23674=>5548,23693=>5549,23696=>5550,23702=>5551,23688=>5552,23704=>5553,23705=>5554,23697=>5555,23706=>5556,23708=>5557,23733=>5558,23714=>5559,23741=>5560,23724=>5561,23723=>5562,23729=>5563,23715=>5564,23745=>5565,23735=>5566,23748=>5567,23762=>5568,23780=>5569,23755=>5570,23781=>5571,23810=>5572,23811=>5573,23847=>5574,23846=>5575,23854=>5576,23844=>5577,23838=>5578,23814=>5579,23835=>5580,23896=>5581,23870=>5582,23860=>5583,23869=>5584,23916=>5585,23899=>5586,23919=>5587,23901=>5588,23915=>5589,23883=>5590,23882=>5591,23913=>5592,23924=>5593,23938=>5594,23961=>5595,23965=>5596,35955=>5597,23991=>5598,24005=>5599,12091=>5600,24435=>5600,24439=>5601,24450=>5602,24455=>5603,24457=>5604,24460=>5605,24469=>5606,24473=>5607,24476=>5608,24488=>5609,24493=>5610,24501=>5611,24508=>5612,34914=>5613,12090=>5614,24417=>5614,29357=>5615,29360=>5616,29364=>5617,29367=>5618,29368=>5619,29379=>5620,29377=>5621,29390=>5622,29389=>5623,29394=>5624,29416=>5625,29423=>5626,29417=>5627,29426=>5628,29428=>5629,29431=>5630,29441=>5631,29427=>5632,29443=>5633,29434=>5634,29435=>5635,29463=>5636,29459=>5637,29473=>5638,29450=>5639,29470=>5640,29469=>5641,29461=>5642,29474=>5643,29497=>5644,29477=>5645,29484=>5646,29496=>5647,29489=>5648,29520=>5649,29517=>5650,29527=>5651,29536=>5652,29548=>5653,29551=>5654,29566=>5655,12167=>5656,33307=>5656,22821=>5657,39143=>5658,22820=>5659,12065=>5660,22786=>5660,39267=>5661,39271=>5662,39272=>5663,39273=>5664,39274=>5665,39275=>5666,39276=>5667,39284=>5668,39287=>5669,39293=>5670,39296=>5671,39300=>5672,39303=>5673,39306=>5674,39309=>5675,39312=>5676,39313=>5677,39315=>5678,39316=>5679,39317=>5680,24192=>5681,24209=>5682,24203=>5683,24214=>5684,24229=>5685,24224=>5686,24249=>5687,24245=>5688,24254=>5689,24243=>5690,36179=>5691,24274=>5692,24273=>5693,24283=>5694,24296=>5695,24298=>5696,33210=>5697,24516=>5698,24521=>5699,24534=>5700,24527=>5701,24579=>5702,24558=>5703,24580=>5704,24545=>5705,24548=>5706,24574=>5707,24581=>5708,24582=>5709,24554=>5710,24557=>5711,24568=>5712,24601=>5713,24629=>5714,24614=>5715,24603=>5716,24591=>5717,24589=>5718,24617=>5719,24619=>5720,24586=>5721,24639=>5722,24609=>5723,24696=>5724,24697=>5725,24699=>5726,24698=>5727,24642=>5728,24682=>5729,24701=>5730,24726=>5731,24730=>5732,24749=>5733,24733=>5734,24707=>5735,24722=>5736,24716=>5737,24731=>5738,24812=>5739,24763=>5740,24753=>5741,24797=>5742,24792=>5743,24774=>5744,24794=>5745,24756=>5746,24864=>5747,24870=>5748,24853=>5749,24867=>5750,24820=>5751,24832=>5752,24846=>5753,24875=>5754,24906=>5755,24949=>5756,25004=>5757,24980=>5758,24999=>5759,25015=>5760,25044=>5761,25077=>5762,24541=>5763,38579=>5764,38377=>5765,38379=>5766,38385=>5767,38387=>5768,38389=>5769,38390=>5770,38396=>5771,38398=>5772,38403=>5773,38404=>5774,38406=>5775,38408=>5776,38410=>5777,38411=>5778,38412=>5779,38413=>5780,38415=>5781,38418=>5782,38421=>5783,38422=>5784,38423=>5785,38425=>5786,38426=>5787,20012=>5788,12121=>5789,29247=>5789,25109=>5790,27701=>5791,27732=>5792,27740=>5793,27722=>5794,27811=>5795,27781=>5796,27792=>5797,27796=>5798,27788=>5799,27752=>5800,27753=>5801,27764=>5802,27766=>5803,27782=>5804,27817=>5805,27856=>5806,27860=>5807,27821=>5808,27895=>5809,27896=>5810,27889=>5811,27863=>5812,27826=>5813,27872=>5814,27862=>5815,27898=>5816,27883=>5817,27886=>5818,27825=>5819,27859=>5820,27887=>5821,27902=>5822,27961=>5823,27943=>5824,27916=>5825,27971=>5826,27976=>5827,27911=>5828,27908=>5829,27929=>5830,27918=>5831,27947=>5832,27981=>5833,27950=>5834,27957=>5835,27930=>5836,27983=>5837,27986=>5838,27988=>5839,27955=>5840,28049=>5841,28015=>5842,28062=>5843,28064=>5844,27998=>5845,28051=>5846,28052=>5847,27996=>5848,28000=>5849,28028=>5850,28003=>5851,28186=>5852,28103=>5853,28101=>5854,28126=>5855,28174=>5856,28095=>5857,28128=>5858,28177=>5859,28134=>5860,28125=>5861,28121=>5862,28182=>5863,28075=>5864,28172=>5865,28078=>5866,28203=>5867,28270=>5868,28238=>5869,28267=>5870,28338=>5871,28255=>5872,28294=>5873,28243=>5874,28244=>5875,28210=>5876,28197=>5877,28228=>5878,28383=>5879,28337=>5880,28312=>5881,28384=>5882,28461=>5883,28386=>5884,28325=>5885,28327=>5886,28349=>5887,28347=>5888,28343=>5889,28375=>5890,28340=>5891,28367=>5892,28303=>5893,28354=>5894,28319=>5895,28514=>5896,28486=>5897,28487=>5898,28452=>5899,28437=>5900,28409=>5901,28463=>5902,28470=>5903,28491=>5904,28532=>5905,28458=>5906,28425=>5907,28457=>5908,28553=>5909,28557=>5910,28556=>5911,28536=>5912,28530=>5913,28540=>5914,28538=>5915,28625=>5916,28617=>5917,28583=>5918,28601=>5919,28598=>5920,28610=>5921,28641=>5922,28654=>5923,28638=>5924,28640=>5925,28655=>5926,28698=>5927,28707=>5928,28699=>5929,28729=>5930,28725=>5931,28751=>5932,28766=>5933,12071=>5934,23424=>5934,23428=>5935,23445=>5936,23443=>5937,23461=>5938,23480=>5939,29999=>5940,39582=>5941,25652=>5942,23524=>5943,23534=>5944,35120=>5945,23536=>5946,36423=>5947,35591=>5948,36790=>5949,36819=>5950,36821=>5951,36837=>5952,36846=>5953,36836=>5954,36841=>5955,36838=>5956,36851=>5957,36840=>5958,36869=>5959,36868=>5960,36875=>5961,36902=>5962,36881=>5963,36877=>5964,36886=>5965,36897=>5966,36917=>5967,36918=>5968,36909=>5969,36911=>5970,36932=>5971,36945=>5972,36946=>5973,36944=>5974,36968=>5975,36952=>5976,36962=>5977,36955=>5978,26297=>5979,36980=>5980,36989=>5981,36994=>5982,37000=>5983,36995=>5984,37003=>5985,12089=>5986,24400=>5986,24407=>5987,24406=>5988,24408=>5989,23611=>5990,21675=>5991,23632=>5992,23641=>5993,23409=>5994,23651=>5995,23654=>5996,32700=>5997,24362=>5998,24361=>5999,24365=>6000,33396=>6001,24380=>6002,39739=>6003,12076=>6004,23662=>6004,22913=>6005,22915=>6006,22925=>6007,22953=>6008,22954=>6009,22947=>6010,22935=>6011,22986=>6012,22955=>6013,22942=>6014,22948=>6015,22994=>6016,22962=>6017,22959=>6018,22999=>6019,22974=>6020,23045=>6021,23046=>6022,23005=>6023,23048=>6024,23011=>6025,23000=>6026,23033=>6027,23052=>6028,23049=>6029,23090=>6030,23092=>6031,23057=>6032,23075=>6033,23059=>6034,23104=>6035,23143=>6036,23114=>6037,23125=>6038,23100=>6039,23138=>6040,23157=>6041,33004=>6042,23210=>6043,23195=>6044,23159=>6045,23162=>6046,23230=>6047,23275=>6048,23218=>6049,23250=>6050,23252=>6051,23224=>6052,23264=>6053,23267=>6054,23281=>6055,23254=>6056,23270=>6057,23256=>6058,23260=>6059,23305=>6060,23319=>6061,23318=>6062,23346=>6063,23351=>6064,23360=>6065,23573=>6066,23580=>6067,23386=>6068,23397=>6069,23411=>6070,23377=>6071,23379=>6072,23394=>6073,39541=>6074,39543=>6075,39544=>6076,39546=>6077,39551=>6078,39549=>6079,39552=>6080,39553=>6081,39557=>6082,39560=>6083,39562=>6084,39568=>6085,39570=>6086,39571=>6087,39574=>6088,39576=>6089,39579=>6090,39580=>6091,39581=>6092,39583=>6093,39584=>6094,39586=>6095,39587=>6096,39589=>6097,39591=>6098,32415=>6099,32417=>6100,32419=>6101,32421=>6102,32424=>6103,32425=>6104,32429=>6105,32432=>6106,32446=>6107,32448=>6108,32449=>6109,32450=>6110,32457=>6111,32459=>6112,32460=>6113,32464=>6114,32468=>6115,32471=>6116,32475=>6117,32480=>6118,32481=>6119,32488=>6120,32491=>6121,32494=>6122,32495=>6123,32497=>6124,32498=>6125,32525=>6126,32502=>6127,32506=>6128,32507=>6129,32510=>6130,32513=>6131,32514=>6132,32515=>6133,32519=>6134,32520=>6135,32523=>6136,32524=>6137,32527=>6138,32529=>6139,32530=>6140,32535=>6141,32537=>6142,32540=>6143,32539=>6144,32543=>6145,32545=>6146,32546=>6147,32547=>6148,32548=>6149,32549=>6150,32550=>6151,32551=>6152,32554=>6153,32555=>6154,32556=>6155,32557=>6156,32559=>6157,32560=>6158,32561=>6159,32562=>6160,32563=>6161,32565=>6162,12083=>6163,24186=>6163,30079=>6164,12078=>6165,24027=>6165,30014=>6166,37013=>6167,29582=>6168,29585=>6169,29614=>6170,29602=>6171,29599=>6172,29647=>6173,29634=>6174,29649=>6175,29623=>6176,29619=>6177,29632=>6178,29641=>6179,29640=>6180,29669=>6181,29657=>6182,39036=>6183,29706=>6184,29673=>6185,29671=>6186,29662=>6187,29626=>6188,29682=>6189,29711=>6190,29738=>6191,29787=>6192,29734=>6193,29733=>6194,29736=>6195,29744=>6196,29742=>6197,29740=>6198,29723=>6199,29722=>6200,29761=>6201,29788=>6202,29783=>6203,29781=>6204,29785=>6205,29815=>6206,29805=>6207,29822=>6208,29852=>6209,29838=>6210,29824=>6211,29825=>6212,29831=>6213,29835=>6214,29854=>6215,29864=>6216,29865=>6217,29840=>6218,29863=>6219,29906=>6220,29882=>6221,38890=>6222,38891=>6223,38892=>6224,26444=>6225,26451=>6226,26462=>6227,26440=>6228,26473=>6229,26533=>6230,26503=>6231,26474=>6232,26483=>6233,26520=>6234,26535=>6235,26485=>6236,26536=>6237,26526=>6238,26541=>6239,26507=>6240,26487=>6241,26492=>6242,26608=>6243,26633=>6244,26584=>6245,26634=>6246,26601=>6247,26544=>6248,26636=>6249,26585=>6250,26549=>6251,26586=>6252,26547=>6253,26589=>6254,26624=>6255,26563=>6256,26552=>6257,26594=>6258,26638=>6259,26561=>6260,26621=>6261,26674=>6262,26675=>6263,26720=>6264,26721=>6265,26702=>6266,26722=>6267,26692=>6268,26724=>6269,26755=>6270,26653=>6271,26709=>6272,26726=>6273,26689=>6274,26727=>6275,26688=>6276,26686=>6277,26698=>6278,26697=>6279,26665=>6280,26805=>6281,26767=>6282,26740=>6283,26743=>6284,26771=>6285,26731=>6286,26818=>6287,26990=>6288,26876=>6289,26911=>6290,26912=>6291,26873=>6292,26916=>6293,26864=>6294,26891=>6295,26881=>6296,26967=>6297,26851=>6298,26896=>6299,26993=>6300,26937=>6301,26976=>6302,26946=>6303,26973=>6304,27012=>6305,26987=>6306,27008=>6307,27032=>6308,27000=>6309,26932=>6310,27084=>6311,27015=>6312,27016=>6313,27086=>6314,27017=>6315,26982=>6316,26979=>6317,27001=>6318,27035=>6319,27047=>6320,27067=>6321,27051=>6322,27053=>6323,27092=>6324,27057=>6325,27073=>6326,27082=>6327,27103=>6328,27029=>6329,27104=>6330,27021=>6331,27135=>6332,27183=>6333,27117=>6334,27159=>6335,27160=>6336,27237=>6337,27122=>6338,27204=>6339,27198=>6340,27296=>6341,27216=>6342,27227=>6343,27189=>6344,27278=>6345,27257=>6346,27197=>6347,27176=>6348,27224=>6349,27260=>6350,27281=>6351,27280=>6352,27305=>6353,27287=>6354,27307=>6355,29495=>6356,29522=>6357,27521=>6358,27522=>6359,27527=>6360,27524=>6361,27538=>6362,27539=>6363,27533=>6364,27546=>6365,27547=>6366,27553=>6367,27562=>6368,36715=>6369,36717=>6370,36721=>6371,36722=>6372,36723=>6373,36725=>6374,36726=>6375,36728=>6376,36727=>6377,36729=>6378,36730=>6379,36732=>6380,36734=>6381,36737=>6382,36738=>6383,36740=>6384,36743=>6385,36747=>6386,36749=>6387,36750=>6388,36751=>6389,36760=>6390,36762=>6391,36558=>6392,25099=>6393,25111=>6394,25115=>6395,25119=>6396,25122=>6397,25121=>6398,25125=>6399,25124=>6400,25132=>6401,33255=>6402,29935=>6403,29940=>6404,29951=>6405,29967=>6406,29969=>6407,29971=>6408,12097=>6409,25908=>6409,26094=>6410,26095=>6411,26096=>6412,26122=>6413,26137=>6414,26482=>6415,26115=>6416,26133=>6417,26112=>6418,28805=>6419,26359=>6420,26141=>6421,26164=>6422,26161=>6423,26166=>6424,26165=>6425,32774=>6426,26207=>6427,26196=>6428,26177=>6429,26191=>6430,26198=>6431,26209=>6432,26199=>6433,26231=>6434,26244=>6435,26252=>6436,26279=>6437,26269=>6438,26302=>6439,26331=>6440,26332=>6441,26342=>6442,26345=>6443,36146=>6444,36147=>6445,36150=>6446,36155=>6447,36157=>6448,36160=>6449,36165=>6450,36166=>6451,36168=>6452,36169=>6453,36167=>6454,36173=>6455,36181=>6456,36185=>6457,35271=>6458,35274=>6459,35275=>6460,35276=>6461,35278=>6462,35279=>6463,35280=>6464,35281=>6465,29294=>6466,29343=>6467,29277=>6468,29286=>6469,29295=>6470,29310=>6471,29311=>6472,29316=>6473,29323=>6474,29325=>6475,29327=>6476,29330=>6477,25352=>6478,25394=>6479,25520=>6480,25663=>6481,25816=>6482,32772=>6483,27626=>6484,27635=>6485,27645=>6486,27637=>6487,27641=>6488,27653=>6489,27655=>6490,27654=>6491,27661=>6492,27669=>6493,27672=>6494,27673=>6495,27674=>6496,27681=>6497,27689=>6498,27684=>6499,27690=>6500,27698=>6501,25909=>6502,25941=>6503,25963=>6504,29261=>6505,29266=>6506,29270=>6507,29232=>6508,34402=>6509,21014=>6510,32927=>6511,32924=>6512,32915=>6513,32956=>6514,26378=>6515,32957=>6516,32945=>6517,32939=>6518,32941=>6519,32948=>6520,32951=>6521,32999=>6522,33000=>6523,33001=>6524,33002=>6525,32987=>6526,32962=>6527,32964=>6528,32985=>6529,32973=>6530,32983=>6531,26384=>6532,32989=>6533,33003=>6534,33009=>6535,33012=>6536,33005=>6537,33037=>6538,33038=>6539,33010=>6540,33020=>6541,26389=>6542,33042=>6543,35930=>6544,33078=>6545,33054=>6546,33068=>6547,33048=>6548,33074=>6549,33096=>6550,33100=>6551,33107=>6552,33140=>6553,33113=>6554,33114=>6555,33137=>6556,33120=>6557,33129=>6558,33148=>6559,33149=>6560,33133=>6561,33127=>6562,22605=>6563,23221=>6564,33160=>6565,33154=>6566,33169=>6567,28373=>6568,33187=>6569,33194=>6570,33228=>6571,26406=>6572,33226=>6573,33211=>6574,33217=>6575,33190=>6576,27428=>6577,27447=>6578,27449=>6579,27459=>6580,27462=>6581,27481=>6582,39121=>6583,39122=>6584,39123=>6585,39125=>6586,39129=>6587,39130=>6588,12110=>6589,27571=>6589,24384=>6590,27586=>6591,35315=>6592,26000=>6593,40785=>6594,26003=>6595,26044=>6596,26054=>6597,26052=>6598,26051=>6599,26060=>6600,26062=>6601,26066=>6602,26070=>6603,28800=>6604,28828=>6605,28822=>6606,28829=>6607,28859=>6608,28864=>6609,28855=>6610,28843=>6611,28849=>6612,28904=>6613,28874=>6614,28944=>6615,28947=>6616,28950=>6617,28975=>6618,28977=>6619,29043=>6620,29020=>6621,29032=>6622,28997=>6623,29042=>6624,29002=>6625,29048=>6626,29050=>6627,29080=>6628,29107=>6629,29109=>6630,29096=>6631,29088=>6632,29152=>6633,29140=>6634,29159=>6635,29177=>6636,29213=>6637,29224=>6638,28780=>6639,28952=>6640,29030=>6641,29113=>6642,25150=>6643,25149=>6644,25155=>6645,25160=>6646,25161=>6647,31035=>6648,31040=>6649,31046=>6650,31049=>6651,31067=>6652,31068=>6653,31059=>6654,31066=>6655,31074=>6656,31063=>6657,31072=>6658,31087=>6659,31079=>6660,31098=>6661,31109=>6662,31114=>6663,31130=>6664,31143=>6665,31155=>6666,24529=>6667,24528=>6668,24636=>6669,24669=>6670,24666=>6671,24679=>6672,24641=>6673,24665=>6674,24675=>6675,24747=>6676,24838=>6677,24845=>6678,24925=>6679,25001=>6680,24989=>6681,25035=>6682,25041=>6683,25094=>6684,32896=>6685,12160=>6686,32895=>6686,27795=>6687,27894=>6688,28156=>6689,30710=>6690,30712=>6691,30720=>6692,30729=>6693,30743=>6694,30744=>6695,30737=>6696,26027=>6697,30765=>6698,30748=>6699,30749=>6700,30777=>6701,30778=>6702,30779=>6703,30751=>6704,30780=>6705,30757=>6706,30764=>6707,30755=>6708,30761=>6709,30798=>6710,30829=>6711,30806=>6712,30807=>6713,30758=>6714,30800=>6715,30791=>6716,30796=>6717,30826=>6718,30875=>6719,30867=>6720,30874=>6721,30855=>6722,30876=>6723,30881=>6724,30883=>6725,30898=>6726,30905=>6727,30885=>6728,30932=>6729,30937=>6730,30921=>6731,30956=>6732,30962=>6733,30981=>6734,30964=>6735,30995=>6736,31012=>6737,31006=>6738,31028=>6739,40859=>6740,12235=>6741,40697=>6741,40699=>6742,40700=>6743,30449=>6744,30468=>6745,30477=>6746,30457=>6747,30471=>6748,30472=>6749,30490=>6750,30498=>6751,30489=>6752,30509=>6753,30502=>6754,30517=>6755,30520=>6756,30544=>6757,30545=>6758,30535=>6759,30531=>6760,30554=>6761,30568=>6762,30562=>6763,30565=>6764,30591=>6765,30605=>6766,30589=>6767,30592=>6768,30604=>6769,30609=>6770,30623=>6771,30624=>6772,30640=>6773,30645=>6774,30653=>6775,30010=>6776,30016=>6777,30030=>6778,30027=>6779,30024=>6780,30043=>6781,30066=>6782,30073=>6783,30083=>6784,32600=>6785,32609=>6786,32607=>6787,35400=>6788,32616=>6789,32628=>6790,32625=>6791,32633=>6792,32641=>6793,32638=>6794,30413=>6795,30437=>6796,34866=>6797,38021=>6798,38022=>6799,38023=>6800,38027=>6801,38026=>6802,38028=>6803,38029=>6804,38031=>6805,38032=>6806,38036=>6807,38039=>6808,38037=>6809,38042=>6810,38043=>6811,38044=>6812,38051=>6813,38052=>6814,38059=>6815,38058=>6816,38061=>6817,38060=>6818,38063=>6819,38064=>6820,38066=>6821,38068=>6822,38070=>6823,38071=>6824,38072=>6825,38073=>6826,38074=>6827,38076=>6828,38077=>6829,38079=>6830,38084=>6831,38088=>6832,38089=>6833,38090=>6834,38091=>6835,38092=>6836,38093=>6837,38094=>6838,38096=>6839,38097=>6840,38098=>6841,38101=>6842,38102=>6843,38103=>6844,38105=>6845,38104=>6846,38107=>6847,38110=>6848,38111=>6849,38112=>6850,38114=>6851,38116=>6852,38117=>6853,38119=>6854,38120=>6855,38122=>6856,38121=>6857,38123=>6858,38126=>6859,38127=>6860,38131=>6861,38132=>6862,38133=>6863,38135=>6864,38137=>6865,38140=>6866,38141=>6867,38143=>6868,38147=>6869,38146=>6870,38150=>6871,38151=>6872,38153=>6873,38154=>6874,38157=>6875,38158=>6876,38159=>6877,38162=>6878,38163=>6879,38164=>6880,38165=>6881,38166=>6882,38168=>6883,38171=>6884,38173=>6885,38174=>6886,38175=>6887,38178=>6888,38186=>6889,38187=>6890,38185=>6891,38188=>6892,38193=>6893,38194=>6894,38196=>6895,38198=>6896,38199=>6897,38200=>6898,38204=>6899,38206=>6900,38207=>6901,38210=>6902,38197=>6903,38212=>6904,38213=>6905,38214=>6906,38217=>6907,38220=>6908,38222=>6909,38223=>6910,38226=>6911,38227=>6912,38228=>6913,38230=>6914,38231=>6915,38232=>6916,38233=>6917,38235=>6918,38238=>6919,38239=>6920,38237=>6921,38241=>6922,38242=>6923,38244=>6924,38245=>6925,38246=>6926,38247=>6927,38248=>6928,38249=>6929,38250=>6930,38251=>6931,38252=>6932,38255=>6933,38257=>6934,38258=>6935,38259=>6936,38202=>6937,30695=>6938,30700=>6939,38601=>6940,31189=>6941,31213=>6942,31203=>6943,31211=>6944,31238=>6945,23879=>6946,31235=>6947,31234=>6948,31262=>6949,31252=>6950,31289=>6951,31287=>6952,31313=>6953,40655=>6954,39333=>6955,31344=>6956,30344=>6957,30350=>6958,30355=>6959,30361=>6960,30372=>6961,29918=>6962,29920=>6963,29996=>6964,40480=>6965,40482=>6966,40488=>6967,40489=>6968,40490=>6969,40491=>6970,40492=>6971,40498=>6972,40497=>6973,40502=>6974,40504=>6975,40503=>6976,40505=>6977,40506=>6978,40510=>6979,40513=>6980,40514=>6981,40516=>6982,40518=>6983,40519=>6984,40520=>6985,40521=>6986,40523=>6987,40524=>6988,40526=>6989,40529=>6990,40533=>6991,40535=>6992,40538=>6993,40539=>6994,40540=>6995,40542=>6996,40547=>6997,40550=>6998,40551=>6999,40552=>7000,40553=>7001,40554=>7002,40555=>7003,40556=>7004,40561=>7005,40557=>7006,40563=>7007,12135=>7008,30098=>7008,30100=>7009,30102=>7010,30112=>7011,30109=>7012,30124=>7013,30115=>7014,30131=>7015,30132=>7016,30136=>7017,30148=>7018,30129=>7019,30128=>7020,30147=>7021,30146=>7022,30166=>7023,30157=>7024,30179=>7025,30184=>7026,30182=>7027,30180=>7028,30187=>7029,30183=>7030,30211=>7031,30193=>7032,30204=>7033,30207=>7034,30224=>7035,30208=>7036,30213=>7037,30220=>7038,30231=>7039,30218=>7040,30245=>7041,30232=>7042,30229=>7043,30233=>7044,30235=>7045,30268=>7046,30242=>7047,30240=>7048,30272=>7049,30253=>7050,30256=>7051,30271=>7052,30261=>7053,30275=>7054,30270=>7055,30259=>7056,30285=>7057,30302=>7058,30292=>7059,30300=>7060,30294=>7061,30315=>7062,30319=>7063,32714=>7064,31462=>7065,31352=>7066,31353=>7067,31360=>7068,31366=>7069,31368=>7070,31381=>7071,31398=>7072,31392=>7073,31404=>7074,31400=>7075,31405=>7076,31411=>7077,34916=>7078,34921=>7079,34930=>7080,34941=>7081,34943=>7082,34946=>7083,34978=>7084,35014=>7085,34999=>7086,35004=>7087,35017=>7088,35042=>7089,35022=>7090,35043=>7091,35045=>7092,35057=>7093,35098=>7094,35068=>7095,35048=>7096,35070=>7097,35056=>7098,35105=>7099,35097=>7100,35091=>7101,35099=>7102,35082=>7103,35124=>7104,35115=>7105,35126=>7106,35137=>7107,35174=>7108,35195=>7109,12134=>7110,30091=>7110,32997=>7111,30386=>7112,30388=>7113,30684=>7114,12158=>7115,32786=>7115,32788=>7116,32790=>7117,32796=>7118,32800=>7119,32802=>7120,32805=>7121,32806=>7122,32807=>7123,32809=>7124,32808=>7125,32817=>7126,32779=>7127,32821=>7128,32835=>7129,32838=>7130,32845=>7131,32850=>7132,32873=>7133,32881=>7134,35203=>7135,39032=>7136,39040=>7137,39043=>7138,39049=>7139,39052=>7140,39053=>7141,39055=>7142,39060=>7143,39066=>7144,39067=>7145,39070=>7146,39071=>7147,39073=>7148,39074=>7149,39077=>7150,39078=>7151,12172=>7152,34381=>7152,34388=>7153,34412=>7154,34414=>7155,34431=>7156,34426=>7157,34428=>7158,34427=>7159,34472=>7160,34445=>7161,34443=>7162,34476=>7163,34461=>7164,34471=>7165,34467=>7166,34474=>7167,34451=>7168,34473=>7169,34486=>7170,34500=>7171,34485=>7172,34510=>7173,34480=>7174,34490=>7175,34481=>7176,34479=>7177,34505=>7178,34511=>7179,34484=>7180,34537=>7181,34545=>7182,34546=>7183,34541=>7184,34547=>7185,34512=>7186,34579=>7187,34526=>7188,34548=>7189,34527=>7190,34520=>7191,34513=>7192,34563=>7193,34567=>7194,34552=>7195,34568=>7196,34570=>7197,34573=>7198,34569=>7199,34595=>7200,34619=>7201,34590=>7202,34597=>7203,34606=>7204,34586=>7205,34622=>7206,34632=>7207,34612=>7208,34609=>7209,34601=>7210,34615=>7211,34623=>7212,34690=>7213,34594=>7214,34685=>7215,34686=>7216,34683=>7217,34656=>7218,34672=>7219,34636=>7220,34670=>7221,34699=>7222,34643=>7223,34659=>7224,34684=>7225,34660=>7226,34649=>7227,34661=>7228,34707=>7229,34735=>7230,34728=>7231,34770=>7232,34758=>7233,34696=>7234,34693=>7235,34733=>7236,34711=>7237,34691=>7238,34731=>7239,34789=>7240,34732=>7241,34741=>7242,34739=>7243,34763=>7244,34771=>7245,34749=>7246,34769=>7247,34752=>7248,34762=>7249,34779=>7250,34794=>7251,34784=>7252,34798=>7253,34838=>7254,34835=>7255,34814=>7256,34826=>7257,34843=>7258,34849=>7259,34873=>7260,34876=>7261,12152=>7262,32566=>7262,32578=>7263,32580=>7264,32581=>7265,33296=>7266,31482=>7267,31485=>7268,31496=>7269,31491=>7270,31492=>7271,31509=>7272,31498=>7273,31531=>7274,31503=>7275,31559=>7276,31544=>7277,31530=>7278,31513=>7279,31534=>7280,31537=>7281,31520=>7282,31525=>7283,31524=>7284,31539=>7285,31550=>7286,31518=>7287,31576=>7288,31578=>7289,31557=>7290,31605=>7291,31564=>7292,31581=>7293,31584=>7294,31598=>7295,31611=>7296,31586=>7297,31602=>7298,31601=>7299,31632=>7300,31654=>7301,31655=>7302,31672=>7303,31660=>7304,31645=>7305,31656=>7306,31621=>7307,31658=>7308,31644=>7309,31650=>7310,31659=>7311,31668=>7312,31697=>7313,31681=>7314,31692=>7315,31709=>7316,31706=>7317,31717=>7318,31718=>7319,31722=>7320,31756=>7321,31742=>7322,31740=>7323,31759=>7324,31766=>7325,31755=>7326,31775=>7327,31786=>7328,31782=>7329,31800=>7330,31809=>7331,31808=>7332,33278=>7333,33281=>7334,33282=>7335,33284=>7336,33260=>7337,34884=>7338,33313=>7339,33314=>7340,33315=>7341,33325=>7342,33327=>7343,33320=>7344,33323=>7345,33336=>7346,33339=>7347,33331=>7348,33332=>7349,33342=>7350,33348=>7351,33353=>7352,33355=>7353,33359=>7354,33370=>7355,33375=>7356,33384=>7357,34942=>7358,34949=>7359,34952=>7360,35032=>7361,35039=>7362,35166=>7363,32669=>7364,32671=>7365,32679=>7366,32687=>7367,32688=>7368,32690=>7369,31868=>7370,25929=>7371,31889=>7372,31901=>7373,31900=>7374,31902=>7375,31906=>7376,31922=>7377,31932=>7378,31933=>7379,31937=>7380,31943=>7381,31948=>7382,31949=>7383,31944=>7384,31941=>7385,31959=>7386,31976=>7387,12169=>7388,33390=>7388,26280=>7389,32703=>7390,32718=>7391,32725=>7392,32741=>7393,32737=>7394,32742=>7395,32745=>7396,32750=>7397,32755=>7398,12151=>7399,31992=>7399,32119=>7400,32166=>7401,32174=>7402,32327=>7403,32411=>7404,40632=>7405,40628=>7406,36211=>7407,36228=>7408,36244=>7409,36241=>7410,36273=>7411,36199=>7412,36205=>7413,35911=>7414,35913=>7415,37194=>7416,37200=>7417,37198=>7418,37199=>7419,37220=>7420,37218=>7421,37217=>7422,37232=>7423,37225=>7424,37231=>7425,37245=>7426,37246=>7427,37234=>7428,37236=>7429,37241=>7430,37260=>7431,37253=>7432,37264=>7433,37261=>7434,37265=>7435,37282=>7436,37283=>7437,37290=>7438,37293=>7439,37294=>7440,37295=>7441,37301=>7442,37300=>7443,37306=>7444,12183=>7445,35925=>7445,40574=>7446,36280=>7447,36331=>7448,36357=>7449,36441=>7450,36457=>7451,36277=>7452,36287=>7453,36284=>7454,36282=>7455,36292=>7456,36310=>7457,36311=>7458,36314=>7459,36318=>7460,36302=>7461,36303=>7462,36315=>7463,36294=>7464,36332=>7465,36343=>7466,36344=>7467,36323=>7468,36345=>7469,36347=>7470,36324=>7471,36361=>7472,36349=>7473,36372=>7474,36381=>7475,36383=>7476,36396=>7477,36398=>7478,36387=>7479,36399=>7480,36410=>7481,36416=>7482,36409=>7483,36405=>7484,36413=>7485,36401=>7486,36425=>7487,36417=>7488,36418=>7489,36433=>7490,36434=>7491,36426=>7492,36464=>7493,36470=>7494,36476=>7495,36463=>7496,36468=>7497,36485=>7498,36495=>7499,36500=>7500,36496=>7501,36508=>7502,36510=>7503,12184=>7504,35960=>7504,35970=>7505,35978=>7506,35973=>7507,35992=>7508,35988=>7509,26011=>7510,35286=>7511,35294=>7512,35290=>7513,35292=>7514,35301=>7515,35307=>7516,35311=>7517,35390=>7518,35622=>7519,38739=>7520,38633=>7521,38643=>7522,38639=>7523,38662=>7524,38657=>7525,38664=>7526,38671=>7527,38670=>7528,38698=>7529,38701=>7530,38704=>7531,38718=>7532,40832=>7533,40835=>7534,40837=>7535,40838=>7536,40839=>7537,40840=>7538,40841=>7539,40842=>7540,40844=>7541,40702=>7542,40715=>7543,40717=>7544,12203=>7545,38585=>7545,38588=>7546,38589=>7547,38606=>7548,38610=>7549,30655=>7550,38624=>7551,37518=>7552,37550=>7553,37576=>7554,37694=>7555,37738=>7556,37834=>7557,37775=>7558,37950=>7559,37995=>7560,40063=>7561,40066=>7562,40069=>7563,40070=>7564,40071=>7565,40072=>7566,31267=>7567,40075=>7568,40078=>7569,40080=>7570,40081=>7571,40082=>7572,40084=>7573,40085=>7574,40090=>7575,40091=>7576,40094=>7577,40095=>7578,40096=>7579,40097=>7580,40098=>7581,40099=>7582,40101=>7583,40102=>7584,40103=>7585,40104=>7586,40105=>7587,40107=>7588,40109=>7589,40110=>7590,40112=>7591,40113=>7592,40114=>7593,40115=>7594,40116=>7595,40117=>7596,40118=>7597,40119=>7598,40122=>7599,40123=>7600,40124=>7601,40125=>7602,40132=>7603,40133=>7604,40134=>7605,40135=>7606,40138=>7607,40139=>7608,40140=>7609,40141=>7610,40142=>7611,40143=>7612,40144=>7613,40147=>7614,40148=>7615,40149=>7616,40151=>7617,40152=>7618,40153=>7619,40156=>7620,40157=>7621,40159=>7622,40162=>7623,38780=>7624,38789=>7625,38801=>7626,38802=>7627,38804=>7628,38831=>7629,38827=>7630,38819=>7631,38834=>7632,38836=>7633,39601=>7634,39600=>7635,39607=>7636,40536=>7637,39606=>7638,39610=>7639,39612=>7640,39617=>7641,39616=>7642,39621=>7643,39618=>7644,39627=>7645,39628=>7646,39633=>7647,39749=>7648,39747=>7649,39751=>7650,39753=>7651,39752=>7652,39757=>7653,39761=>7654,39144=>7655,39181=>7656,39214=>7657,39253=>7658,39252=>7659,12221=>7660,39647=>7660,39649=>7661,39654=>7662,39663=>7663,39659=>7664,39675=>7665,39661=>7666,39673=>7667,39688=>7668,39695=>7669,39699=>7670,39711=>7671,39715=>7672,40637=>7673,40638=>7674,32315=>7675,40578=>7676,40583=>7677,40584=>7678,40587=>7679,40594=>7680,37846=>7681,40605=>7682,40607=>7683,40667=>7684,40668=>7685,40669=>7686,40672=>7687,40671=>7688,40674=>7689,40681=>7690,40679=>7691,40677=>7692,40682=>7693,40687=>7694,40738=>7695,40748=>7696,40751=>7697,40761=>7698,40759=>7699,40765=>7700,40766=>7701,40772=>7702,12295=>7703,30362=>7717,34297=>7718,31001=>7719,24859=>7720,39599=>7721,35158=>7722,22761=>7723,32631=>7724,25850=>7725,25943=>7726,38930=>7727,36774=>7728,32070=>7729,24171=>7730,32129=>7731,37770=>7732,35607=>7733,39165=>7734,23542=>7735,22577=>7736,39825=>7737,36649=>7738,12185=>7739,35997=>7739,37575=>7740,29437=>7741,20633=>7742,24970=>7743,32179=>7744,31558=>7745,30050=>7746,25987=>7747,24163=>7748,38281=>7749,37002=>7750,32232=>7751,36022=>7752,35722=>7753,36783=>7754,36782=>7755,27161=>7756,40009=>7757,30303=>7758,28693=>7759,28657=>7760,36051=>7761,25839=>7762,39173=>7763,25765=>7764,37474=>7765,37457=>7766,39361=>7767,35036=>7768,36001=>7769,21443=>7770,34870=>7771,27544=>7772,24922=>7773,24920=>7774,29158=>7775,33980=>7776,33369=>7777,20489=>7778,28356=>7779,21408=>7780,20596=>7781,28204=>7782,23652=>7783,35435=>7784,25881=>7785,25723=>7786,34796=>7787,39262=>7788,35730=>7789,32399=>7790,37855=>7791,29987=>7792,38369=>7793,39019=>7794,22580=>7795,22039=>7796,12199=>7797,38263=>7797,20767=>7798,33144=>7799,24288=>7800,26274=>7801,37396=>7802,12190=>7803,36554=>7803,24505=>7804,22645=>7805,38515=>7806,35183=>7807,31281=>7808,25074=>7809,35488=>7810,39425=>7811,36978=>7812,39347=>7813,12242=>7814,40786=>7814,29118=>7815,34909=>7816,34802=>7817,23541=>7818,30087=>7819,36490=>7820,31820=>7821,32162=>7822,37276=>7823,37604=>7824,38619=>7825,30990=>7826,20786=>7827,35320=>7828,34389=>7829,20659=>7830,30241=>7831,38358=>7832,21109=>7833,37656=>7834,32020=>7835,32189=>7836,36781=>7837,35422=>7838,36060=>7839,32880=>7840,24478=>7841,21474=>7842,36517=>7843,31428=>7844,37679=>7845,36948=>7846,24118=>7847,36024=>7848,25812=>7849,21934=>7850,37170=>7851,25763=>7852,33213=>7853,24986=>7854,35477=>7855,24392=>7856,30070=>7857,25803=>7858,40680=>7859,34153=>7860,27284=>7861,25623=>7862,23798=>7863,31153=>7864,23566=>7865,29128=>7866,37159=>7867,25973=>7868,28364=>7869,36958=>7870,32224=>7871,39003=>7872,40670=>7873,22666=>7874,38651=>7875,28593=>7876,37347=>7877,35519=>7878,35548=>7879,37336=>7880,38914=>7881,37664=>7882,35330=>7883,26481=>7884,21205=>7885,26847=>7886,20941=>7887,12222=>7888,39717=>7888,29346=>7889,29544=>7890,35712=>7891,36077=>7892,37709=>7893,37723=>7894,26039=>7895,32222=>7896,38538=>7897,23565=>7898,22136=>7899,38931=>7900,37389=>7901,22890=>7902,22702=>7903,40285=>7904,38989=>7905,35355=>7906,24801=>7907,39187=>7908,20818=>7909,29246=>7910,39180=>7911,36019=>7912,30332=>7913,32624=>7914,38309=>7915,31020=>7916,37353=>7917,29033=>7918,31684=>7919,36009=>7920,39151=>7921,35370=>7922,32033=>7923,12214=>7924,39131=>7924,35513=>7925,24290=>7926,36027=>7927,32027=>7928,22707=>7929,22894=>7930,24996=>7931,31966=>7932,35920=>7933,26963=>7934,37586=>7935,12213=>7936,39080=>7936,30219=>7937,39342=>7938,32299=>7939,35575=>7940,40179=>7941,33178=>7942,36667=>7943,25771=>7944,36628=>7945,36070=>7946,24489=>7947,36000=>7948,35331=>7949,23142=>7950,32283=>7951,35442=>7952,37411=>7953,33995=>7954,24185=>7955,36245=>7956,36123=>7957,23713=>7958,21083=>7959,37628=>7960,32177=>7961,23831=>7962,37804=>7963,25841=>7964,40255=>7965,38307=>7966,37499=>7967,20491=>7968,32102=>7969,40852=>7970,38799=>7971,36002=>7972,37390=>7973,28317=>7974,27083=>7975,36092=>7976,34865=>7977,39015=>7978,21102=>7979,38364=>7980,35264=>7981,39208=>7982,24931=>7983,36011=>7984,24291=>7985,35215=>7986,27512=>7987,12244=>7988,40860=>7988,38312=>7989,36556=>7990,35437=>7991,27331=>7992,36020=>7993,21130=>7994,36645=>7995,37707=>7996,22283=>7997,36942=>7998,39405=>7999,38867=>8000,28450=>8001,34399=>8002,38305=>8003,40372=>8004,36032=>8005,36703=>8006,40251=>8007,32005=>8008,22778=>8009,35703=>8010,28396=>8011,22057=>8012,33775=>8013,30059=>8014,21123=>8015,35441=>8016,25079=>8017,22750=>8018,27489=>8019,29872=>8020,36996=>8021,32233=>8022,35594=>8023,25582=>8024,36637=>8025,36036=>8026,31330=>8027,26371=>8028,29172=>8029,21295=>8030,35569=>8031,35496=>8032,32362=>8033,33911=>8034,28222=>8035,29554=>8036,36008=>8037,31117=>8038,25802=>8039,27231=>8040,31309=>8041,39249=>8042,35663=>8043,40388=>8044,32318=>8045,32221=>8046,26997=>8047,36655=>8048,32026=>8049,25824=>8050,24190=>8051,34186=>8052,21137=>8053,28639=>8054,35336=>8055,35352=>8056,38555=>8057,32380=>8058,32000=>8059,22846=>8060,33698=>8061,38960=>8062,36040=>8063,37440=>8064,20729=>8065,39381=>8066,27570=>8067,30435=>8068,22533=>8069,31627=>8070,38291=>8071,33393=>8072,32216=>8073,32365=>8074,27298=>8075,40572=>8076,25536=>8077,25791=>8078,31777=>8079,20745=>8080,34214=>8081,27323=>8082,37970=>8083,36368=>8084,36068=>8085,12178=>8086,35211=>8086,37749=>8087,33382=>8088,21133=>8089,39198=>8090,28472=>8091,28666=>8092,28567=>8093,23559=>8094,28479=>8095,34083=>8096,27123=>8097,22892=>8098,35611=>8099,37292=>8100,33184=>8101,28550=>8102,39509=>8103,23308=>8104,25898=>8105,37496=>8106,30703=>8107,20709=>8108,39171=>8109,32371=>8110,32094=>8111,36686=>8112,36611=>8113,38542=>8114,31680=>8115,28500=>8116,32080=>8117,35489=>8118,32202=>8119,37670=>8120,20677=>8121,35641=>8122,36914=>8123,29180=>8124,30433=>8125,21185=>8126,33686=>8127,39912=>8128,39514=>8129,32147=>8130,38968=>8131,37857=>8132,24465=>8133,30169=>8134,31478=>8135,31998=>8136,33290=>8137,39378=>8138,33289=>8139,25818=>8140,37624=>8141,25084=>8142,21127=>8143,40273=>8144,32121=>8145,35258=>8146,35363=>8147,32118=>8148,37406=>8149,36557=>8150,39423=>8151,38283=>8152,20977=>8153,38982=>8154,27579=>8155,35506=>8156,22718=>8157,25031=>8158,25715=>8159,24235=>8160,35122=>8161,35463=>8162,22602=>8163,20744=>8164,23532=>8165,31014=>8166,26336=>8167,34407=>8168,24011=>8169,31418=>8170,39243=>8171,28528=>8172,25844=>8173,38346=>8174,34847=>8175,33240=>8176,33802=>8177,20358=>8178,36084=>8179,34253=>8180,27396=>8181,25876=>8182,31811=>8183,38348=>8184,34349=>8185,28734=>8186,35733=>8187,25900=>8188,35261=>8189,25078=>8190,32412=>8191,29211=>8192,28651=>8193,25736=>8194,21214=>8195,28551=>8196,27138=>8197,37939=>8198,22744=>8199,39006=>8200,31852=>8201,38626=>8202,28757=>8203,35023=>8204,63975=>8204,39881=>8205,31150=>8206,40599=>8207,21426=>8208,21237=>8209,31019=>8210,27511=>8211,28701=>8212,38584=>8213,20486=>8214,32879=>8215,34030=>8216,36899=>8217,37934=>8218,24976=>8219,28451=>8220,31806=>8221,25986=>8222,33225=>8223,37832=>8224,25088=>8225,29001=>8226,32244=>8227,31975=>8228,20841=>8229,36635=>8230,35538=>8231,30274=>8232,36988=>8233,37904=>8234,29557=>8235,33256=>8236,37168=>8237,40023=>8238,36035=>8239,40801=>8240,37428=>8241,38728=>8242,23994=>8243,38936=>8244,39230=>8245,21129=>8246,12243=>8247,40845=>8247,32894=>8248,22184=>8249,31840=>8250,22751=>8251,25871=>8252,38580=>8253,27155=>8254,23105=>8255,25695=>8256,31757=>8257,34310=>8258,30439=>8259,39025=>8260,24300=>8261,29200=>8262,25796=>8263,28407=>8264,34396=>8265,39791=>8266,36034=>8267,37682=>8268,38520=>8269,39522=>8270,37569=>8271,23650=>8272,32311=>8273,24942=>8274,28670=>8275,32209=>8276,24018=>8277,25891=>8278,23423=>8279,28772=>8280,20098=>8281,25476=>8282,36650=>8283,20523=>8284,20374=>8285,28138=>8286,32184=>8287,35542=>8288,34367=>8289,32645=>8290,37007=>8291,38012=>8292,31854=>8293,39486=>8294,39409=>8295,32097=>8296,23229=>8297,29802=>8298,30908=>8299,34718=>8300,12218=>8301,39340=>8301,39393=>8302,21966=>8303,36023=>8304,12230=>8305,40613=>8305,36067=>8306,36993=>8307,30622=>8308,39237=>8309,34875=>8310,28415=>8311,35646=>8312,37672=>8313,37466=>8314,36031=>8315,37762=>8316,12200=>8317,38272=>8317,24758=>8318,20497=>8319,37683=>8320,22818=>8321,35598=>8322,24396=>8323,35219=>8324,32191=>8325,32236=>8326,24287=>8327,28357=>8328,25003=>8329,38313=>8330,40180=>8331,37528=>8332,35628=>8333,35584=>8334,30045=>8335,37385=>8336,32013=>8337,38627=>8338,25747=>8339,33126=>8340,24817=>8341,39719=>8342,39186=>8343,25836=>8344,33193=>8345,25862=>8346,37312=>8347,12227=>8348,40165=>8348,32886=>8349,22169=>8350,38007=>8351,37811=>8352,27320=>8353,29552=>8354,23527=>8355,25840=>8356,28632=>8357,37397=>8358,32016=>8359,33215=>8360,28611=>8361,36786=>8362,30247=>8363,35582=>8364,27472=>8365,40407=>8366,27590=>8367,22036=>8368,28442=>8369,30436=>8370,40848=>8371,36064=>8372,22132=>8373,40300=>8374,39449=>8375,39108=>8376,38971=>8377,36007=>8378,34315=>8379,24977=>8380,35413=>8381,28497=>8382,38935=>8383,25778=>8384,37610=>8385,20693=>8386,27192=>8387,35676=>8388,33229=>8389,12241=>8390,40778=>8390,39438=>8391,35912=>8392,21843=>8393,27683=>8394,35350=>8395,29309=>8396,37370=>8397,37467=>8398,36983=>8399,31805=>8400,35609=>8401,37666=>8402,37463=>8403,28154=>8404,35700=>8405,22649=>8406,27085=>8407,21958=>8408,22715=>8409,34196=>8410,25654=>8411,37740=>8412,27211=>8413,21932=>8414,20689=>8415,32761=>8416,31429=>8417,31434=>8418,27453=>8419,35242=>8420,23522=>8421,36629=>8422,27691=>8423,20670=>8424,38915=>8425,35531=>8426,24950=>8427,29898=>8428,31406=>8429,36264=>8430,21312=>8431,36544=>8432,39493=>8433,40818=>8434,39028=>8435,27402=>8436,21240=>8437,40306=>8438,30906=>8439,35731=>8440,39250=>8441,25854=>8442,32350=>8443,29105=>8444,38860=>8445,35469=>8446,32009=>8447,27054=>8448,32104=>8449,36575=>8450,37613=>8451,38287=>8452,28516=>8453,28753=>8454,34217=>8455,39955=>8456,36093=>8457,20632=>8458,21930=>8459,39479=>8460,25475=>8461,28544=>8462,27578=>8463,32023=>8464,31721=>8465,26348=>8466,38275=>8467,38493=>8468,36109=>8469,32341=>8470,20663=>8471,36062=>8472,29138=>8473,32057=>8474,36050=>8475,25448=>8476,25885=>8477,25086=>8478,35373=>8479,32051=>8480,23529=>8481,23352=>8482,33102=>8483,28402=>8484,32882=>8485,32361=>8486,21213=>8487,32854=>8488,24107=>8489,29509=>8490,28629=>8491,35433=>8492,26178=>8493,34645=>8494,23526=>8495,35672=>8496,39387=>8497,21218=>8498,36969=>8499,37323=>8500,39166=>8501,35222=>8502,35430=>8503,22781=>8504,29560=>8505,27166=>8506,36664=>8507,26360=>8508,36118=>8509,23660=>8510,34899=>8511,27193=>8512,31466=>8513,25976=>8514,24101=>8515,38617=>8516,35504=>8517,38918=>8518,35500=>8519,30889=>8520,29197=>8521,32114=>8522,39164=>8523,39686=>8524,32883=>8525,24939=>8526,38924=>8527,35359=>8528,35494=>8529,25851=>8530,34311=>8531,35380=>8532,32901=>8533,38614=>8534,38568=>8535,32143=>8536,27506=>8537,23403=>8538,25613=>8539,32302=>8540,29795=>8541,37782=>8542,29562=>8543,25787=>8544,33274=>8545,24907=>8546,25892=>8547,36010=>8548,30321=>8549,28760=>8550,22727=>8551,35674=>8552,35527=>8553,22022=>8554,28271=>8555,29145=>8556,28644=>8557,32295=>8558,35342=>8559,39472=>8560,35588=>8561,37563=>8562,38988=>8563,39636=>8564,26781=>8565,36028=>8566,37941=>8567,24307=>8568,32893=>8569,28916=>8570,37509=>8571,32113=>8572,38957=>8573,22294=>8574,22615=>8575,22296=>8576,38973=>8577,40213=>8578,39345=>8579,39389=>8580,27234=>8581,31402=>8582,35178=>8583,24398=>8584,28771=>8585,38929=>8586,33836=>8587,32178=>8588,12209=>8589,38859=>8589,36949=>8590,22285=>8591,29234=>8592,28656=>8593,32173=>8594,33894=>8595,20553=>8596,20702=>8597,32239=>8598,35586=>8599,34907=>8600,32862=>8601,32011=>8602,31337=>8603,21839=>8604,25790=>8605,34680=>8606,28198=>8607,31401=>8608,21978=>8609,37794=>8610,28879=>8611,35491=>8612,28961=>8613,34154=>8614,22626=>8615,38695=>8616,21209=>8617,35492=>8618,37675=>8619,29351=>8620,35186=>8621,32722=>8622,37521=>8623,25138=>8624,32048=>8625,34662=>8626,36676=>8627,23805=>8628,20448=>8629,29433=>8630,22151=>8631,37697=>8632,39854=>8633,32406=>8634,36066=>8635,37532=>8636,38289=>8637,39023=>8638,38570=>8639,29694=>8640,29563=>8641,32291=>8642,39201=>8643,25010=>8644,32171=>8645,38002=>8646,37129=>8647,35443=>8648,38911=>8649,38917=>8650,34157=>8651,22210=>8652,37559=>8653,26313=>8654,22063=>8655,21332=>8656,25406=>8657,33029=>8658,35559=>8659,23531=>8660,28681=>8661,35613=>8662,37573=>8663,37313=>8664,33288=>8665,37561=>8666,32137=>8667,38920=>8668,35377=>8669,32210=>8670,32396=>8671,36562=>8672,25080=>8673,36984=>8674,30316=>8675,32098=>8676,23416=>8677,21211=>8678,35426=>8679,23563=>8680,39348=>8681,35347=>8682,35338=>8683,36956=>8684,22739=>8685,40201=>8686,40232=>8687,21854=>8688,20126=>8689,35357=>8690,38329=>8691,40573=>8692,22196=>8693,38996=>8694,38331=>8695,33399=>8696,21421=>8697,30831=>8698,35578=>8699,39511=>8700,40230=>8701,26954=>8702,25562=>8703,30221=>8704,38525=>8705,30306=>8706,39178=>8707,27171=>8708,22575=>8709,35617=>8710,34277=>8711,29242=>8712,12212=>8713,38913=>8713,26989=>8714,33865=>8715,37291=>8716,37541=>8717,38948=>8718,36986=>8719,20736=>8720,34811=>8721,34269=>8722,20740=>8723,25014=>8724,32681=>8725,35427=>8726,35696=>8727,35516=>8728,35695=>8729,32377=>8730,34093=>8731,38512=>8732,37504=>8733,39154=>8734,38577=>8735,27387=>8736,23344=>8737,40441=>8738,25033=>8739,32403=>8740,29801=>8741,34722=>8742,29151=>8743,29074=>8744,34821=>8745,36111=>8746,31310=>8747,21938=>8748,25793=>8749,20653=>8750,30320=>8751,36404=>8752,20778=>8753,24962=>8754,37109=>8755,37438=>8756,29494=>8757,35480=>8758,36671=>8759,39192=>8760,12226=>8761,39770=>8761,28417=>8762,33287=>8763,23996=>8764,35486=>8765,39729=>8766,29508=>8767,35709=>8768,38928=>8769,39341=>8770,40219=>8771,28149=>8772,36677=>8773,22290=>8774,21729=>8775,22291=>8776,32227=>8777,36960=>8778,39000=>8779,32004=>8780,36493=>8781,38000=>8782,38322=>8783,38642=>8784,37142=>8785,38549=>8786,36939=>8787,34292=>8788,37270=>8789,26248=>8790,38620=>8791,36617=>8792,25890=>8793,26283=>8794,36106=>8795,36124=>8796,33247=>8797,38015=>8798,26839=>8799,31432=>8800,36012=>8801,25799=>8802,21063=>8803,28580=>8804,36042=>8805,36104=>8806,36555=>8807,37720=>8808,38296=>8809,35408=>8810,40779=>8811,20661=>8812,27656=>8813,30430=>8814,26028=>8815,36670=>8816,23940=>8817,26855=>8818,25136=>8819,32187=>8820,24373=>8821,28466=>8822,24115=>8823,36076=>8824,33081=>8825,36249=>8826,34756=>8827,36685=>8828,37754=>8829,36889=>8830,35998=>8831,37341=>8832,20597=>8833,35386=>8834,37806=>8835,38499=>8836,24128=>8837,30309=>8838,37165=>8839,35657=>8840,32340=>8841,32887=>8842,22519=>8843,34937=>8844,32025=>8845,25711=>8846,25842=>8847,24159=>8848,36074=>8849,28399=>8850,37912=>8851,32066=>8852,31278=>8853,33131=>8854,34886=>8855,35589=>8856,36600=>8857,30394=>8858,26205=>8859,39519=>8860,35576=>8861,35461=>8862,29165=>8863,30682=>8864,22225=>8865,36015=>8866,37956=>8867,31689=>8868,39376=>8869,23560=>8870,30938=>8871,36681=>8872,36090=>8873,27137=>8874,33674=>8875,35037=>8876,22941=>8877,22767=>8878,29376=>8879,37648=>8880,36101=>8881,22684=>8882,32180=>8883,35524=>8884,28310=>8885,28609=>8886,36039=>8887,28460=>8888,32156=>8889,32317=>8890,32305=>8891,37138=>8892,35419=>8893,32068=>8894,38013=>8895,21959=>8896,21401=>8897,21428=>8898,38760=>8899,36107=>8900,21293=>8901,21297=>8902,36094=>8903,21060=>8904,21132=>8905,21108=>8906,20660=>8907,20480=>8908,20630=>8909,20757=>8910,20738=>8911,20756=>8912,20796=>8913,20791=>8914,20712=>8915,20674=>8916,20795=>8917,20752=>8918,20794=>8919,20681=>8920,31988=>8921,40652=>8922,22213=>8923,40172=>8924,35131=>8925,33248=>8926,35329=>8927,35344=>8928,35340=>8929,35349=>8930,35635=>8931,35406=>8932,35365=>8933,35393=>8934,35382=>8935,35398=>8936,35412=>8937,35416=>8938,35410=>8939,35462=>8940,35460=>8941,35455=>8942,35440=>8943,35452=>8944,35445=>8945,35436=>8946,35438=>8947,35533=>8948,35554=>8949,35425=>8950,35482=>8951,35493=>8952,35473=>8953,35474=>8954,35535=>8955,35537=>8956,35529=>8957,35547=>8958,35543=>8959,35522=>8960,35510=>8961,35574=>8962,35563=>8963,35604=>8964,35585=>8965,35556=>8966,35565=>8967,35580=>8968,35571=>8969,35558=>8970,35566=>8971,35550=>8972,35624=>8973,35740=>8974,35606=>8975,35610=>8976,35600=>8977,35627=>8978,35629=>8979,35670=>8980,35673=>8981,35662=>8982,35742=>8983,35691=>8984,35734=>8985,38488=>8986,37178=>8987,37140=>8988,37172=>8989,37087=>8990,37174=>8991,37126=>8992,37192=>8993,33467=>8994,21233=>8995,24048=>8996,22538=>8997,22745=>8998,22754=>8999,22752=>9000,22746=>9001,22497=>9002,22607=>9003,22550=>9004,22610=>9005,22557=>9006,22628=>9007,34188=>9008,34131=>9009,34294=>9010,33703=>9011,33799=>9012,34031=>9013,33511=>9014,34338=>9015,34086=>9016,22603=>9017,29026=>9018,34136=>9019,34045=>9020,34126=>9021,34184=>9022,34234=>9023,29334=>9024,28366=>9025,34113=>9026,34254=>9027,34130=>9028,33984=>9029,33874=>9030,33892=>9031,33940=>9032,33845=>9033,34207=>9034,34133=>9035,40367=>9036,33939=>9037,32264=>9038,34118=>9039,34146=>9040,34078=>9041,39488=>9042,34362=>9043,37795=>9044,34167=>9045,34334=>9046,34298=>9047,34308=>9048,34282=>9049,34330=>9050,22889=>9051,23607=>9052,25451=>9053,25718=>9054,25759=>9055,25681=>9056,25692=>9057,25779=>9058,25860=>9059,25878=>9060,25847=>9061,25852=>9062,25883=>9063,22064=>9064,22072=>9065,22216=>9066,22182=>9067,21764=>9068,21692=>9069,22144=>9070,22109=>9071,22112=>9072,22069=>9073,22006=>9074,22118=>9075,22130=>9076,22156=>9077,22117=>9078,22044=>9079,22062=>9080,21993=>9081,22038=>9082,22208=>9083,22029=>9084,22195=>9085,22209=>9086,22127=>9087,36705=>9088,22198=>9089,22165=>9090,22279=>9091,24131=>9092,24172=>9093,24152=>9094,24151=>9095,23943=>9096,23796=>9097,23888=>9098,23852=>9099,23975=>9100,23968=>9101,23959=>9102,23821=>9103,23992=>9104,23937=>9105,24020=>9106,24480=>9107,29559=>9108,29505=>9109,29546=>9110,29499=>9111,29547=>9112,29568=>9113,29564=>9114,39136=>9115,39219=>9116,39145=>9117,39228=>9118,39146=>9119,39147=>9120,39149=>9121,39156=>9122,39177=>9123,39185=>9124,39195=>9125,39223=>9126,39231=>9127,39235=>9128,39240=>9129,39241=>9130,39242=>9131,39244=>9132,39266=>9133,24289=>9134,36065=>9135,25082=>9136,25006=>9137,24938=>9138,24894=>9139,24757=>9140,24884=>9141,25036=>9142,24927=>9143,25064=>9144,24827=>9145,24887=>9146,24818=>9147,24947=>9148,24860=>9149,24978=>9150,38274=>9151,38278=>9152,38344=>9153,38286=>9154,38292=>9155,38284=>9156,38373=>9157,38317=>9158,38315=>9159,39726=>9160,38316=>9161,38334=>9162,38326=>9163,39721=>9164,38335=>9165,38333=>9166,38332=>9167,38339=>9168,38347=>9169,38356=>9170,38352=>9171,38357=>9172,38366=>9173,28739=>9174,28505=>9175,28711=>9176,28696=>9177,28668=>9178,28039=>9179,28025=>9180,28254=>9181,28590=>9182,28687=>9183,28408=>9184,28527=>9185,28150=>9186,28543=>9187,28678=>9188,28576=>9189,28683=>9190,28775=>9191,28740=>9192,28677=>9193,28535=>9194,28704=>9195,28703=>9196,28722=>9197,28712=>9198,28765=>9199,39467=>9200,36999=>9201,36885=>9202,37008=>9203,23656=>9204,24371=>9205,23285=>9206,23255=>9207,23296=>9208,23149=>9209,23304=>9210,23372=>9211,23207=>9212,23291=>9213,23307=>9214,23329=>9215,23338=>9216,23321=>9217,39380=>9218,39391=>9219,39385=>9220,39478=>9221,39515=>9222,39377=>9223,39384=>9224,39501=>9225,39498=>9226,39394=>9227,39530=>9228,39439=>9229,39437=>9230,39429=>9231,39490=>9232,39469=>9233,39446=>9234,39489=>9235,39470=>9236,39480=>9237,39491=>9238,39492=>9239,39503=>9240,39525=>9241,39524=>9242,31993=>9243,32006=>9244,32002=>9245,32007=>9246,32008=>9247,32394=>9248,32028=>9249,32021=>9250,32019=>9251,32058=>9252,32050=>9253,32049=>9254,32272=>9255,32060=>9256,32064=>9257,32063=>9258,32093=>9259,32078=>9260,32115=>9261,32134=>9262,32131=>9263,32136=>9264,32190=>9265,32186=>9266,32203=>9267,32212=>9268,32196=>9269,32158=>9270,32172=>9271,32185=>9272,32163=>9273,32176=>9274,32199=>9275,32217=>9276,32215=>9277,32249=>9278,32242=>9279,32354=>9280,32230=>9281,32246=>9282,32241=>9283,32267=>9284,32225=>9285,32265=>9286,32285=>9287,32287=>9288,32286=>9289,32301=>9290,32266=>9291,32273=>9292,32381=>9293,32313=>9294,32309=>9295,32306=>9296,32326=>9297,32325=>9298,32392=>9299,32346=>9300,32338=>9301,32366=>9302,32382=>9303,32368=>9304,32367=>9305,32408=>9306,29859=>9307,29771=>9308,29903=>9309,38922=>9310,29885=>9311,29759=>9312,29833=>9313,29862=>9314,29908=>9315,29914=>9316,38873=>9317,38878=>9318,38876=>9319,27050=>9320,27370=>9321,26776=>9322,26838=>9323,27141=>9324,26783=>9325,27355=>9326,27379=>9327,27368=>9328,27359=>9329,27273=>9330,26895=>9331,27208=>9332,26984=>9333,27071=>9334,27194=>9335,27292=>9336,27410=>9337,27422=>9338,27357=>9339,27111=>9340,27407=>9341,27414=>9342,27372=>9343,27354=>9344,27384=>9345,27315=>9346,27367=>9347,27299=>9348,27347=>9349,27358=>9350,27556=>9351,27550=>9352,27566=>9353,27563=>9354,27567=>9355,36564=>9356,36571=>9357,36594=>9358,36603=>9359,36708=>9360,36601=>9361,36604=>9362,36587=>9363,36580=>9364,36706=>9365,36602=>9366,36606=>9367,36618=>9368,36615=>9369,36613=>9370,36626=>9371,36646=>9372,36638=>9373,36639=>9374,36636=>9375,36659=>9376,36678=>9377,36692=>9378,25108=>9379,25127=>9380,29964=>9381,26311=>9382,26308=>9383,26249=>9384,26326=>9385,36033=>9386,36016=>9387,36026=>9388,36029=>9389,36100=>9390,36018=>9391,36037=>9392,36112=>9393,36049=>9394,36058=>9395,36053=>9396,36075=>9397,36071=>9398,36091=>9399,35224=>9400,35244=>9401,35233=>9402,35263=>9403,35238=>9404,35247=>9405,35250=>9406,35255=>9407,27647=>9408,27660=>9409,27692=>9410,29272=>9411,26407=>9412,33110=>9413,33242=>9414,33051=>9415,33214=>9416,33121=>9417,33231=>9418,27487=>9419,39086=>9420,39087=>9421,39094=>9422,39100=>9423,39110=>9424,39112=>9425,36674=>9426,40783=>9427,26005=>9428,29036=>9429,29010=>9430,29079=>9431,29121=>9432,29148=>9433,29182=>9434,31152=>9435,31118=>9436,31146=>9437,25055=>9438,24932=>9439,25059=>9440,25095=>9441,28585=>9442,30959=>9443,30893=>9444,30824=>9445,30904=>9446,31018=>9447,31025=>9448,30820=>9449,30973=>9450,30951=>9451,30947=>9452,40853=>9453,30616=>9454,30558=>9455,30652=>9456,32646=>9457,32648=>9458,37330=>9459,37331=>9460,37332=>9461,37337=>9462,37335=>9463,37333=>9464,37367=>9465,37351=>9466,37348=>9467,37702=>9468,37365=>9469,37369=>9470,37384=>9471,37414=>9472,37445=>9473,37393=>9474,37392=>9475,37377=>9476,37415=>9477,37380=>9478,37413=>9479,37376=>9480,37434=>9481,37478=>9482,37431=>9483,37427=>9484,37461=>9485,37437=>9486,37432=>9487,37470=>9488,37484=>9489,37485=>9490,37439=>9491,37984=>9492,37424=>9493,37449=>9494,37448=>9495,37453=>9496,37422=>9497,37433=>9498,37944=>9499,37548=>9500,37536=>9501,37498=>9502,37546=>9503,37614=>9504,37583=>9505,37891=>9506,37603=>9507,37946=>9508,37553=>9509,37542=>9510,37799=>9511,37526=>9512,37580=>9513,37545=>9514,37877=>9515,37523=>9516,37503=>9517,37801=>9518,37530=>9519,37658=>9520,37547=>9521,37507=>9522,37899=>9523,37544=>9524,37539=>9525,37906=>9526,37688=>9527,37617=>9528,37847=>9529,37605=>9530,37616=>9531,37615=>9532,37608=>9533,37564=>9534,37597=>9535,37622=>9536,37926=>9537,37927=>9538,37571=>9539,37599=>9540,37606=>9541,37650=>9542,37638=>9543,37737=>9544,37659=>9545,37696=>9546,37633=>9547,37653=>9548,37678=>9549,37699=>9550,37639=>9551,37640=>9552,37663=>9553,37657=>9554,37733=>9555,37703=>9556,37750=>9557,37716=>9558,37732=>9559,37802=>9560,37744=>9561,37764=>9562,37860=>9563,37848=>9564,37928=>9565,37767=>9566,37836=>9567,37784=>9568,37816=>9569,37823=>9570,37798=>9571,37808=>9572,37813=>9573,37964=>9574,37858=>9575,37852=>9576,37853=>9577,37837=>9578,37854=>9579,37827=>9580,37831=>9581,37841=>9582,37908=>9583,37917=>9584,37879=>9585,37989=>9586,37907=>9587,37997=>9588,37920=>9589,38009=>9590,37881=>9591,37913=>9592,37962=>9593,37938=>9594,37951=>9595,37972=>9596,37987=>9597,37758=>9598,31329=>9599,40169=>9600,40182=>9601,40199=>9602,40198=>9603,40227=>9604,40327=>9605,40469=>9606,40221=>9607,40223=>9608,40421=>9609,40239=>9610,40409=>9611,40240=>9612,40258=>9613,40478=>9614,40275=>9615,40477=>9616,40288=>9617,40274=>9618,40435=>9619,40284=>9620,40289=>9621,40339=>9622,40298=>9623,40303=>9624,40329=>9625,40344=>9626,40346=>9627,40384=>9628,40357=>9629,40361=>9630,40386=>9631,40380=>9632,40474=>9633,40403=>9634,40410=>9635,40431=>9636,40422=>9637,40434=>9638,40440=>9639,40460=>9640,40442=>9641,40475=>9642,30308=>9643,30296=>9644,30311=>9645,30210=>9646,30278=>9647,30279=>9648,30281=>9649,30238=>9650,30267=>9651,30317=>9652,30318=>9653,30313=>9654,30322=>9655,31431=>9656,31414=>9657,35168=>9658,35123=>9659,35165=>9660,35143=>9661,35128=>9662,35172=>9663,30392=>9664,32814=>9665,32812=>9666,32889=>9667,32885=>9668,38919=>9669,38926=>9670,38927=>9671,38945=>9672,38940=>9673,28481=>9674,38950=>9675,38967=>9676,38990=>9677,38995=>9678,39027=>9679,39010=>9680,39001=>9681,39013=>9682,39020=>9683,39024=>9684,34787=>9685,34822=>9686,34566=>9687,34851=>9688,34806=>9689,34554=>9690,34799=>9691,34692=>9692,34832=>9693,34760=>9694,34833=>9695,34747=>9696,34766=>9697,32588=>9698,31716=>9699,31591=>9700,31849=>9701,31731=>9702,31744=>9703,31691=>9704,31836=>9705,31774=>9706,31787=>9707,31779=>9708,31850=>9709,31839=>9710,33380=>9711,33387=>9712,35018=>9713,32677=>9714,31986=>9715,31990=>9716,31965=>9717,32310=>9718,40617=>9719,36274=>9720,37317=>9721,37315=>9722,40570=>9723,36489=>9724,36428=>9725,36498=>9726,36474=>9727,36437=>9728,36506=>9729,36491=>9730,36499=>9731,36497=>9732,36513=>9733,36451=>9734,36522=>9735,36518=>9736,35316=>9737,35318=>9738,38746=>9739,38722=>9740,38717=>9741,38724=>9742,40788=>9743,40799=>9744,40793=>9745,40800=>9746,40796=>9747,40806=>9748,40812=>9749,40810=>9750,40823=>9751,12236=>9752,40701=>9752,40703=>9753,40713=>9754,35726=>9755,38014=>9756,37864=>9757,39799=>9758,39796=>9759,39809=>9760,39811=>9761,39822=>9762,40056=>9763,31308=>9764,39826=>9765,40031=>9766,39824=>9767,39853=>9768,39834=>9769,39850=>9770,39838=>9771,40045=>9772,39851=>9773,39837=>9774,40024=>9775,39873=>9776,40058=>9777,39985=>9778,39993=>9779,39971=>9780,39991=>9781,39872=>9782,39882=>9783,39879=>9784,39933=>9785,39894=>9786,39914=>9787,39915=>9788,39905=>9789,39908=>9790,39911=>9791,39901=>9792,39906=>9793,39920=>9794,39899=>9795,39924=>9796,39892=>9797,40029=>9798,39944=>9799,39952=>9800,39949=>9801,39954=>9802,39945=>9803,39935=>9804,39968=>9805,39986=>9806,39981=>9807,39976=>9808,39973=>9809,39977=>9810,39987=>9811,39998=>9812,40008=>9813,39995=>9814,39989=>9815,40005=>9816,40022=>9817,40020=>9818,40018=>9819,40039=>9820,38851=>9821,38845=>9822,38857=>9823,40379=>9824,39631=>9825,39638=>9826,39637=>9827,39768=>9828,39758=>9829,39255=>9830,39260=>9831,39714=>9832,40695=>9833,40690=>9834,35180=>9835,38342=>9836,37686=>9837,24390=>9838,34068=>9839,32404=>9840,40803=>9841,22137=>9842,40725=>9843,22081=>9844,39662=>9845,35079=>9846,31296=>9847,39091=>9848,38308=>9849,39693=>9850,36852=>9851,24409=>9852,31339=>9853,39138=>9854,20642=>9855,34193=>9856,20760=>9857,25458=>9858,21067=>9859,30543=>9860,32397=>9861,26310=>9862,30637=>9863,12228=>9864,40565=>9864,22217=>9865,40692=>9866,28635=>9867,25054=>9868,30663=>9869,28720=>9870,40629=>9871,34890=>9872,38370=>9873,38854=>9874,31844=>9875,32308=>9876,38822=>9877,40623=>9878,22220=>9879,39089=>9880,27311=>9881,32590=>9882,31984=>9883,20418=>9884,32363=>9885,40569=>9886,22190=>9887,39706=>9888,33903=>9889,31142=>9890,31858=>9891,39634=>9892,38587=>9893,32251=>9894,35069=>9895,30787=>9896,8560=>9897,8561=>9898,8562=>9899,8563=>9900,8564=>9901,8565=>9902,8566=>9903,8567=>9904,8568=>9905,8569=>9906,714=>9907,715=>9908,729=>9909,8211=>9910,8213=>9911,8229=>9912,8245=>9913,8453=>9914,8457=>9915,8598=>9916,8599=>9917,8600=>9918,8601=>9919,8725=>9920,8735=>9921,8739=>9922,8786=>9923,8806=>9924,8807=>9925,8895=>9926,9552=>9927,9553=>9928,9554=>9929,9555=>9930,9556=>9931,9557=>9932,9558=>9933,9559=>9934,9560=>9935,9561=>9936,9562=>9937,9563=>9938,9564=>9939,9565=>9940,9566=>9941,9567=>9942,9568=>9943,9569=>9944,9570=>9945,9571=>9946,9572=>9947,9573=>9948,9574=>9949,9575=>9950,9576=>9951,9577=>9952,9578=>9953,9579=>9954,9580=>9955,9581=>9956,9582=>9957,9583=>9958,9584=>9959,9585=>9960,9586=>9961,9587=>9962,9601=>9963,9602=>9964,9603=>9965,9604=>9966,9605=>9967,9606=>9968,9607=>9969,9608=>9970,9609=>9971,9610=>9972,9611=>9973,9612=>9974,9613=>9975,9614=>9976,9615=>9977,9619=>9978,9620=>9979,9621=>9980,9660=>9981,9661=>9982,9698=>9983,9699=>9984,9700=>9985,9701=>9986,9737=>9987,8853=>9988,12306=>9989,12317=>9990,12318=>9991,12321=>9992,12322=>9993,12323=>9994,12324=>9995,12325=>9996,12326=>9997,12327=>9998,12328=>9999,12329=>10000,12963=>10001,13198=>10002,13199=>10003,13212=>10004,13213=>10005,13214=>10006,13217=>10007,13252=>10008,13262=>10009,13265=>10010,13266=>10011,13269=>10012,65072=>10013,65506=>10014,65508=>10015,8481=>10016,12849=>10017,8208=>10018,12540=>10019,12443=>10020,12444=>10021,12541=>10022,12542=>10023,12294=>10024,12445=>10025,12446=>10026,65097=>10027,65098=>10028,65099=>10029,65100=>10030,65101=>10031,65102=>10032,65103=>10033,65104=>10034,65105=>10035,65106=>10036,65108=>10037,65109=>10038,65110=>10039,65111=>10040,65113=>10041,65114=>10042,65115=>10043,65116=>10044,65117=>10045,65118=>10046,65119=>10047,65120=>10048,65121=>10049,65122=>10050,65123=>10051,65124=>10052,65125=>10053,65126=>10054,65128=>10055,65129=>10056,65130=>10057,65131=>10058,12350=>10059,59367=>10059,12272=>10060,59368=>10060,12273=>10061,59369=>10061,12274=>10062,59370=>10062,12275=>10063,59371=>10063,12276=>10064,59372=>10064,12277=>10065,59373=>10065,12278=>10066,59374=>10066,12279=>10067,59375=>10067,12280=>10068,59376=>10068,12281=>10069,59377=>10069,12282=>10070,59378=>10070,12283=>10071,59379=>10071,19970=>10072,19972=>10073,19973=>10074,19974=>10075,19983=>10076,19986=>10077,19991=>10078,19999=>10079,20000=>10080,20001=>10081,20003=>10082,20006=>10083,20009=>10084,20014=>10085,20015=>10086,20017=>10087,20019=>10088,20021=>10089,20023=>10090,20028=>10091,20032=>10092,20033=>10093,20034=>10094,20036=>10095,20038=>10096,20042=>10097,20049=>10098,20053=>10099,20055=>10100,20058=>10101,20059=>10102,20066=>10103,20067=>10104,20068=>10105,20069=>10106,20071=>10107,20072=>10108,20074=>10109,20075=>10110,20076=>10111,20077=>10112,20078=>10113,20079=>10114,20082=>10115,20084=>10116,20085=>10117,20086=>10118,20087=>10119,20088=>10120,20089=>10121,20090=>10122,20091=>10123,20092=>10124,20093=>10125,20095=>10126,20096=>10127,20097=>10128,20099=>10129,20100=>10130,12037=>10131,20101=>10131,20103=>10132,20106=>10133,20112=>10134,20118=>10135,20119=>10136,20121=>10137,20124=>10138,20125=>10139,20131=>10140,20138=>10141,20143=>10142,20144=>10143,20145=>10144,20148=>10145,20150=>10146,20151=>10147,20152=>10148,20153=>10149,20156=>10150,20157=>10151,20158=>10152,20168=>10153,20172=>10154,20175=>10155,20176=>10156,20178=>10157,20186=>10158,20187=>10159,20188=>10160,20192=>10161,20194=>10162,20198=>10163,20199=>10164,20201=>10165,20205=>10166,20206=>10167,20207=>10168,20209=>10169,20212=>10170,20216=>10171,20217=>10172,20218=>10173,20220=>10174,20222=>10175,20224=>10176,20226=>10177,20227=>10178,20228=>10179,20229=>10180,20230=>10181,20231=>10182,20232=>10183,20235=>10184,20236=>10185,20242=>10186,20243=>10187,20244=>10188,20245=>10189,20246=>10190,20252=>10191,20253=>10192,20257=>10193,20259=>10194,20264=>10195,20265=>10196,20268=>10197,20269=>10198,20270=>10199,20273=>10200,20275=>10201,20277=>10202,20279=>10203,20281=>10204,20283=>10205,20286=>10206,20287=>10207,20288=>10208,20289=>10209,20290=>10210,20292=>10211,20293=>10212,20295=>10213,20296=>10214,20297=>10215,20298=>10216,20299=>10217,20300=>10218,20306=>10219,20308=>10220,20310=>10221,20321=>10222,20322=>10223,20326=>10224,20328=>10225,20330=>10226,20331=>10227,20333=>10228,20334=>10229,20337=>10230,20338=>10231,20341=>10232,20343=>10233,20344=>10234,20345=>10235,20346=>10236,20349=>10237,20352=>10238,20353=>10239,20354=>10240,20357=>10241,20359=>10242,20362=>10243,20364=>10244,20366=>10245,20368=>10246,20370=>10247,20371=>10248,20373=>10249,20376=>10250,20377=>10251,20378=>10252,20380=>10253,20382=>10254,20383=>10255,20385=>10256,20386=>10257,20388=>10258,20395=>10259,20397=>10260,20400=>10261,20401=>10262,20402=>10263,20403=>10264,20404=>10265,20406=>10266,20407=>10267,20408=>10268,20409=>10269,20410=>10270,20411=>10271,20412=>10272,20413=>10273,20414=>10274,20416=>10275,20417=>10276,20422=>10277,20423=>10278,20424=>10279,20425=>10280,20427=>10281,20428=>10282,20429=>10283,20434=>10284,20435=>10285,20436=>10286,20437=>10287,20438=>10288,20441=>10289,20443=>10290,20450=>10291,20452=>10292,20453=>10293,20455=>10294,20459=>10295,20460=>10296,20464=>10297,20466=>10298,20468=>10299,20469=>10300,20470=>10301,20471=>10302,20473=>10303,20475=>10304,20476=>10305,20477=>10306,20479=>10307,20481=>10308,20482=>10309,20483=>10310,20484=>10311,20485=>10312,20487=>10313,20488=>10314,20490=>10315,20494=>10316,20496=>10317,20499=>10318,20501=>10319,20502=>10320,20503=>10321,20507=>10322,20509=>10323,20510=>10324,20512=>10325,20514=>10326,20515=>10327,20516=>10328,20519=>10329,20527=>10330,20528=>10331,20529=>10332,20530=>10333,20531=>10334,20532=>10335,20533=>10336,20534=>10337,20535=>10338,20536=>10339,20537=>10340,20539=>10341,20541=>10342,20543=>10343,20544=>10344,20545=>10345,20546=>10346,20548=>10347,20549=>10348,20550=>10349,20554=>10350,20555=>10351,20557=>10352,20560=>10353,20561=>10354,20562=>10355,20563=>10356,20564=>10357,20566=>10358,20567=>10359,20568=>10360,20569=>10361,20571=>10362,20573=>10363,20574=>10364,20575=>10365,20576=>10366,20577=>10367,20578=>10368,20579=>10369,20580=>10370,20582=>10371,20583=>10372,20584=>10373,20585=>10374,20586=>10375,20587=>10376,20589=>10377,20590=>10378,20591=>10379,20592=>10380,20593=>10381,20594=>10382,20595=>10383,20600=>10384,20601=>10385,20602=>10386,20604=>10387,20605=>10388,20609=>10389,20610=>10390,20611=>10391,20612=>10392,20614=>10393,20615=>10394,20617=>10395,20618=>10396,20619=>10397,20620=>10398,20622=>10399,20623=>10400,20624=>10401,20625=>10402,20626=>10403,20627=>10404,20628=>10405,20629=>10406,20631=>10407,20634=>10408,20635=>10409,20636=>10410,20637=>10411,20638=>10412,20639=>10413,20640=>10414,20641=>10415,20644=>10416,20646=>10417,20650=>10418,20651=>10419,20654=>10420,20655=>10421,20656=>10422,20657=>10423,20662=>10424,20664=>10425,20665=>10426,20668=>10427,20669=>10428,20671=>10429,20672=>10430,20673=>10431,20675=>10432,20676=>10433,20678=>10434,20679=>10435,20680=>10436,20682=>10437,20683=>10438,20684=>10439,20685=>10440,20686=>10441,20688=>10442,20690=>10443,20691=>10444,20692=>10445,20695=>10446,20696=>10447,20697=>10448,20699=>10449,20700=>10450,20701=>10451,20703=>10452,20704=>10453,20705=>10454,20706=>10455,20707=>10456,20708=>10457,20713=>10458,20714=>10459,20715=>10460,20719=>10461,20720=>10462,20721=>10463,20722=>10464,20724=>10465,20726=>10466,20727=>10467,20728=>10468,20730=>10469,20732=>10470,20733=>10471,20734=>10472,20735=>10473,20737=>10474,20739=>10475,20741=>10476,20746=>10477,20748=>10478,20749=>10479,20750=>10480,20751=>10481,20753=>10482,20755=>10483,20758=>10484,20759=>10485,20761=>10486,20762=>10487,20763=>10488,20764=>10489,20765=>10490,20766=>10491,20768=>10492,20770=>10493,20771=>10494,20772=>10495,20773=>10496,20774=>10497,20775=>10498,20776=>10499,20777=>10500,20779=>10501,20780=>10502,20781=>10503,20782=>10504,20783=>10505,20784=>10506,20785=>10507,20787=>10508,20788=>10509,20789=>10510,20790=>10511,20792=>10512,20793=>10513,20797=>10514,20798=>10515,20802=>10516,20807=>10517,20810=>10518,20812=>10519,20814=>10520,20815=>10521,20816=>10522,20819=>10523,20823=>10524,20824=>10525,20825=>10526,20827=>10527,20829=>10528,20830=>10529,20831=>10530,20832=>10531,20833=>10532,20835=>10533,20836=>10534,20838=>10535,20839=>10536,20842=>10537,20847=>10538,20850=>10539,20858=>10540,20862=>10541,20863=>10542,20867=>10543,20868=>10544,20870=>10545,20871=>10546,20874=>10547,20875=>10548,20878=>10549,20879=>10550,20880=>10551,20881=>10552,20883=>10553,20884=>10554,20888=>10555,20890=>10556,20893=>10557,20894=>10558,20895=>10559,20897=>10560,20899=>10561,20902=>10562,20903=>10563,20904=>10564,20905=>10565,20906=>10566,20909=>10567,20910=>10568,20916=>10569,20920=>10570,20921=>10571,20922=>10572,20926=>10573,20927=>10574,20929=>10575,20930=>10576,20931=>10577,20933=>10578,20936=>10579,20938=>10580,20942=>10581,20944=>10582,20946=>10583,20947=>10584,20948=>10585,20949=>10586,20950=>10587,20951=>10588,20952=>10589,20953=>10590,20954=>10591,20956=>10592,20958=>10593,20959=>10594,20962=>10595,20963=>10596,20965=>10597,20966=>10598,20967=>10599,20968=>10600,20969=>10601,20970=>10602,20972=>10603,20974=>10604,20978=>10605,20980=>10606,20983=>10607,20990=>10608,20996=>10609,20997=>10610,21001=>10611,21003=>10612,21004=>10613,21007=>10614,21008=>10615,21011=>10616,21012=>10617,21013=>10618,21020=>10619,21022=>10620,21023=>10621,21025=>10622,21026=>10623,21027=>10624,21029=>10625,21030=>10626,21031=>10627,21034=>10628,21036=>10629,21039=>10630,21041=>10631,21042=>10632,21044=>10633,21045=>10634,21052=>10635,21054=>10636,21061=>10637,21062=>10638,21064=>10639,21065=>10640,21070=>10641,21071=>10642,21074=>10643,21075=>10644,21077=>10645,21079=>10646,21080=>10647,21081=>10648,21082=>10649,21085=>10650,21087=>10651,21088=>10652,21090=>10653,21091=>10654,21092=>10655,21094=>10656,21096=>10657,21099=>10658,21100=>10659,21101=>10660,21104=>10661,21105=>10662,21107=>10663,21110=>10664,21111=>10665,21112=>10666,21113=>10667,21114=>10668,21115=>10669,21116=>10670,21118=>10671,21120=>10672,21124=>10673,21125=>10674,21126=>10675,21131=>10676,21134=>10677,21135=>10678,21138=>10679,21140=>10680,21141=>10681,21142=>10682,21143=>10683,21144=>10684,21145=>10685,21146=>10686,21148=>10687,21156=>10688,21157=>10689,21158=>10690,21159=>10691,21166=>10692,21167=>10693,21168=>10694,21172=>10695,21173=>10696,21174=>10697,21175=>10698,21176=>10699,21177=>10700,21178=>10701,21179=>10702,21180=>10703,21181=>10704,21184=>10705,21186=>10706,21188=>10707,21189=>10708,21190=>10709,21192=>10710,21194=>10711,21196=>10712,21197=>10713,21198=>10714,21199=>10715,21201=>10716,21203=>10717,21204=>10718,21207=>10719,21210=>10720,21212=>10721,21216=>10722,21217=>10723,21219=>10724,21221=>10725,21222=>10726,21223=>10727,21224=>10728,21225=>10729,21226=>10730,21227=>10731,21228=>10732,21229=>10733,21230=>10734,21231=>10735,21234=>10736,21235=>10737,21236=>10738,21238=>10739,21239=>10740,21243=>10741,21244=>10742,21245=>10743,21249=>10744,21250=>10745,21251=>10746,21252=>10747,21255=>10748,21257=>10749,21258=>10750,21259=>10751,21260=>10752,21262=>10753,21265=>10754,21266=>10755,21267=>10756,21268=>10757,21272=>10758,21275=>10759,21276=>10760,21278=>10761,21279=>10762,21282=>10763,21284=>10764,21285=>10765,21287=>10766,21288=>10767,21289=>10768,21291=>10769,21292=>10770,21296=>10771,21298=>10772,21299=>10773,21300=>10774,21301=>10775,21302=>10776,21303=>10777,12054=>10778,21304=>10778,21308=>10779,21309=>10780,21314=>10781,21316=>10782,21318=>10783,21323=>10784,21324=>10785,21325=>10786,21328=>10787,21336=>10788,21337=>10789,21339=>10790,21341=>10791,21349=>10792,21352=>10793,21354=>10794,21356=>10795,21357=>10796,21362=>10797,21366=>10798,21369=>10799,21371=>10800,21372=>10801,21373=>10802,21374=>10803,21376=>10804,21377=>10805,21379=>10806,21383=>10807,21384=>10808,21386=>10809,21390=>10810,21391=>10811,21392=>10812,21393=>10813,21394=>10814,21395=>10815,21396=>10816,21398=>10817,21399=>10818,21403=>10819,21404=>10820,21406=>10821,21409=>10822,21412=>10823,21415=>10824,21418=>10825,21419=>10826,21420=>10827,21423=>10828,21424=>10829,21425=>10830,21427=>10831,21429=>10832,21431=>10833,21432=>10834,21433=>10835,21434=>10836,21436=>10837,21437=>10838,21438=>10839,21440=>10840,21444=>10841,21445=>10842,21446=>10843,21447=>10844,21454=>10845,21455=>10846,21456=>10847,21458=>10848,21459=>10849,21461=>10850,21466=>10851,21468=>10852,21469=>10853,21470=>10854,21473=>10855,21479=>10856,21492=>10857,21498=>10858,21502=>10859,21503=>10860,21504=>10861,21506=>10862,21509=>10863,21511=>10864,21515=>10865,21524=>10866,21528=>10867,21529=>10868,21530=>10869,21532=>10870,21538=>10871,21540=>10872,21541=>10873,21546=>10874,21552=>10875,21555=>10876,21558=>10877,21559=>10878,21562=>10879,21565=>10880,21567=>10881,21569=>10882,21570=>10883,21572=>10884,21573=>10885,21575=>10886,21577=>10887,21580=>10888,21581=>10889,21582=>10890,21583=>10891,21585=>10892,21594=>10893,21597=>10894,21598=>10895,21599=>10896,21600=>10897,21601=>10898,21603=>10899,21605=>10900,21607=>10901,21609=>10902,21610=>10903,21611=>10904,21612=>10905,21613=>10906,21614=>10907,21615=>10908,21616=>10909,21620=>10910,21625=>10911,21626=>10912,21630=>10913,21631=>10914,21633=>10915,21635=>10916,21637=>10917,21639=>10918,21640=>10919,21641=>10920,21642=>10921,21645=>10922,21649=>10923,21651=>10924,21655=>10925,21656=>10926,21660=>10927,21662=>10928,21663=>10929,21664=>10930,21665=>10931,21666=>10932,21669=>10933,21678=>10934,21680=>10935,21682=>10936,21685=>10937,21686=>10938,21687=>10939,21689=>10940,21690=>10941,21694=>10942,21699=>10943,21701=>10944,21706=>10945,21707=>10946,21718=>10947,21720=>10948,21723=>10949,21728=>10950,21730=>10951,21731=>10952,21732=>10953,21739=>10954,21740=>10955,21743=>10956,21744=>10957,21745=>10958,21748=>10959,21749=>10960,21750=>10961,21751=>10962,21752=>10963,21753=>10964,21755=>10965,21758=>10966,21760=>10967,21762=>10968,21763=>10969,21765=>10970,21768=>10971,21770=>10972,21771=>10973,21772=>10974,21773=>10975,21774=>10976,21778=>10977,21779=>10978,21781=>10979,21782=>10980,21783=>10981,21784=>10982,21785=>10983,21786=>10984,21788=>10985,21789=>10986,21790=>10987,21791=>10988,21793=>10989,21797=>10990,21798=>10991,21800=>10992,21801=>10993,21803=>10994,21805=>10995,21810=>10996,21812=>10997,21813=>10998,21814=>10999,21816=>11000,21817=>11001,21818=>11002,21819=>11003,21821=>11004,21824=>11005,21826=>11006,21829=>11007,21831=>11008,21832=>11009,21835=>11010,21836=>11011,21837=>11012,21838=>11013,21841=>11014,21842=>11015,21844=>11016,21847=>11017,21848=>11018,21849=>11019,21850=>11020,21851=>11021,21853=>11022,21855=>11023,21856=>11024,21858=>11025,21859=>11026,21864=>11027,21865=>11028,21867=>11029,21871=>11030,21872=>11031,21873=>11032,21874=>11033,21875=>11034,21876=>11035,21881=>11036,21882=>11037,21885=>11038,21887=>11039,21893=>11040,21894=>11041,21900=>11042,21901=>11043,21902=>11044,21904=>11045,21906=>11046,21907=>11047,21909=>11048,21910=>11049,21911=>11050,21914=>11051,21915=>11052,21918=>11053,21920=>11054,21921=>11055,21922=>11056,21923=>11057,21924=>11058,21925=>11059,21926=>11060,21928=>11061,21929=>11062,21931=>11063,21933=>11064,21935=>11065,21936=>11066,21940=>11067,21942=>11068,21944=>11069,21946=>11070,21948=>11071,21951=>11072,21952=>11073,21953=>11074,21954=>11075,21955=>11076,21960=>11077,21962=>11078,21963=>11079,21967=>11080,21968=>11081,21973=>11082,21975=>11083,21976=>11084,21977=>11085,21979=>11086,21982=>11087,21984=>11088,21986=>11089,21991=>11090,21997=>11091,21998=>11092,22000=>11093,22001=>11094,22004=>11095,22008=>11096,22009=>11097,22010=>11098,22011=>11099,22012=>11100,22015=>11101,22018=>11102,22019=>11103,22020=>11104,22021=>11105,22023=>11106,22026=>11107,22027=>11108,22032=>11109,22033=>11110,22034=>11111,22035=>11112,22037=>11113,22041=>11114,22042=>11115,22045=>11116,22048=>11117,22049=>11118,22050=>11119,22053=>11120,22054=>11121,22056=>11122,22058=>11123,22059=>11124,22067=>11125,22071=>11126,22074=>11127,22076=>11128,22077=>11129,22078=>11130,22080=>11131,22082=>11132,22083=>11133,22084=>11134,22085=>11135,22086=>11136,22087=>11137,22088=>11138,22089=>11139,22090=>11140,22091=>11141,22095=>11142,22096=>11143,22097=>11144,22098=>11145,22099=>11146,22101=>11147,22102=>11148,22106=>11149,22107=>11150,22110=>11151,22111=>11152,22113=>11153,22115=>11154,22119=>11155,22125=>11156,22126=>11157,22128=>11158,22131=>11159,22133=>11160,22135=>11161,22138=>11162,22141=>11163,22142=>11164,22143=>11165,22145=>11166,22146=>11167,22147=>11168,22148=>11169,22152=>11170,22153=>11171,22154=>11172,22155=>11173,22157=>11174,22160=>11175,22161=>11176,22162=>11177,22164=>11178,22166=>11179,22167=>11180,22168=>11181,22170=>11182,22171=>11183,22172=>11184,22173=>11185,22174=>11186,22175=>11187,22176=>11188,22177=>11189,22178=>11190,22180=>11191,22181=>11192,22183=>11193,22185=>11194,22186=>11195,22187=>11196,22188=>11197,22189=>11198,22192=>11199,22193=>11200,22194=>11201,22197=>11202,22200=>11203,22201=>11204,22202=>11205,22203=>11206,22205=>11207,22206=>11208,22207=>11209,22211=>11210,22212=>11211,22214=>11212,22215=>11213,22219=>11214,22221=>11215,22222=>11216,22223=>11217,22224=>11218,22226=>11219,22227=>11220,22229=>11221,22230=>11222,22232=>11223,22233=>11224,22236=>11225,22243=>11226,22245=>11227,22246=>11228,22247=>11229,22248=>11230,22249=>11231,22250=>11232,22252=>11233,22254=>11234,22255=>11235,22258=>11236,22259=>11237,22262=>11238,22263=>11239,22264=>11240,22267=>11241,22268=>11242,22272=>11243,22273=>11244,22274=>11245,22277=>11246,22284=>11247,22286=>11248,22287=>11249,22288=>11250,22289=>11251,22292=>11252,22293=>11253,22295=>11254,22297=>11255,22298=>11256,22299=>11257,22301=>11258,22302=>11259,22304=>11260,22305=>11261,22306=>11262,22308=>11263,22309=>11264,22310=>11265,22311=>11266,22315=>11267,22321=>11268,22322=>11269,22324=>11270,22325=>11271,22326=>11272,22327=>11273,22328=>11274,22332=>11275,22333=>11276,22335=>11277,22337=>11278,22339=>11279,22340=>11280,22341=>11281,22342=>11282,22344=>11283,22345=>11284,22347=>11285,22354=>11286,22355=>11287,22356=>11288,22357=>11289,22358=>11290,22360=>11291,22361=>11292,22370=>11293,22371=>11294,22373=>11295,22375=>11296,22380=>11297,22382=>11298,22384=>11299,22385=>11300,22386=>11301,22388=>11302,22389=>11303,22392=>11304,22393=>11305,22394=>11306,22397=>11307,22398=>11308,22399=>11309,22400=>11310,22401=>11311,22407=>11312,22408=>11313,22409=>11314,22410=>11315,22413=>11316,22414=>11317,22415=>11318,22416=>11319,22417=>11320,22420=>11321,22421=>11322,22422=>11323,22423=>11324,22424=>11325,22425=>11326,22426=>11327,22428=>11328,22429=>11329,22430=>11330,22431=>11331,22437=>11332,22440=>11333,22442=>11334,22444=>11335,22447=>11336,22448=>11337,22449=>11338,22451=>11339,22453=>11340,22454=>11341,22455=>11342,22457=>11343,22458=>11344,22459=>11345,22460=>11346,22461=>11347,22462=>11348,22463=>11349,22464=>11350,22465=>11351,22468=>11352,22469=>11353,22470=>11354,22471=>11355,22472=>11356,22473=>11357,22474=>11358,22476=>11359,22477=>11360,22480=>11361,22481=>11362,22483=>11363,22486=>11364,22487=>11365,22491=>11366,22492=>11367,22494=>11368,22498=>11369,22499=>11370,22501=>11371,22502=>11372,22503=>11373,22504=>11374,22505=>11375,22506=>11376,22507=>11377,22508=>11378,22510=>11379,22512=>11380,22513=>11381,22514=>11382,22515=>11383,22517=>11384,22518=>11385,22523=>11386,22524=>11387,22526=>11388,22527=>11389,22529=>11390,22531=>11391,22532=>11392,22536=>11393,22537=>11394,22540=>11395,22542=>11396,22543=>11397,22544=>11398,22546=>11399,22547=>11400,22548=>11401,22551=>11402,22552=>11403,22554=>11404,22555=>11405,22556=>11406,22559=>11407,22562=>11408,22563=>11409,22565=>11410,22566=>11411,22567=>11412,22568=>11413,22569=>11414,22571=>11415,22572=>11416,22573=>11417,22574=>11418,22578=>11419,22579=>11420,22582=>11421,22583=>11422,22584=>11423,22585=>11424,22586=>11425,22587=>11426,22588=>11427,22589=>11428,22590=>11429,22591=>11430,22592=>11431,22593=>11432,22594=>11433,22595=>11434,22597=>11435,22598=>11436,22599=>11437,22600=>11438,22601=>11439,22606=>11440,22608=>11441,22611=>11442,22613=>11443,22614=>11444,22617=>11445,22618=>11446,22619=>11447,22620=>11448,22621=>11449,22623=>11450,22624=>11451,22625=>11452,22627=>11453,22630=>11454,22631=>11455,22632=>11456,22633=>11457,22634=>11458,22637=>11459,22638=>11460,22639=>11461,22640=>11462,22641=>11463,22642=>11464,22643=>11465,22644=>11466,22646=>11467,22647=>11468,22648=>11469,22650=>11470,22651=>11471,22652=>11472,22653=>11473,22655=>11474,22658=>11475,22660=>11476,22662=>11477,22663=>11478,22664=>11479,22667=>11480,22668=>11481,22669=>11482,22670=>11483,22671=>11484,22672=>11485,22673=>11486,22676=>11487,22677=>11488,22678=>11489,22679=>11490,22680=>11491,22683=>11492,22685=>11493,22688=>11494,22689=>11495,22690=>11496,22691=>11497,22692=>11498,22693=>11499,22694=>11500,22695=>11501,22698=>11502,22699=>11503,22700=>11504,22701=>11505,22703=>11506,22704=>11507,22705=>11508,22706=>11509,22708=>11510,22709=>11511,22710=>11512,22711=>11513,22712=>11514,22713=>11515,22714=>11516,22717=>11517,22719=>11518,22720=>11519,22722=>11520,22723=>11521,22724=>11522,22726=>11523,22728=>11524,22729=>11525,22730=>11526,22731=>11527,22732=>11528,22733=>11529,22734=>11530,22735=>11531,22736=>11532,22738=>11533,22740=>11534,22742=>11535,22743=>11536,22747=>11537,22748=>11538,22749=>11539,22753=>11540,22755=>11541,22757=>11542,22758=>11543,22759=>11544,22760=>11545,22762=>11546,22765=>11547,22769=>11548,22770=>11549,22772=>11550,22773=>11551,22775=>11552,22776=>11553,22779=>11554,22780=>11555,22782=>11556,22783=>11557,22784=>11558,22785=>11559,22787=>11560,22789=>11561,22790=>11562,22792=>11563,22793=>11564,12066=>11565,22794=>11565,22795=>11566,22796=>11567,22798=>11568,22800=>11569,22801=>11570,22802=>11571,22803=>11572,22807=>11573,22808=>11574,22811=>11575,22813=>11576,22814=>11577,22816=>11578,22817=>11579,22819=>11580,22822=>11581,22824=>11582,22828=>11583,22832=>11584,22834=>11585,22835=>11586,22837=>11587,22838=>11588,22843=>11589,22845=>11590,22847=>11591,22848=>11592,22851=>11593,22853=>11594,22854=>11595,22858=>11596,22860=>11597,22861=>11598,22864=>11599,22866=>11600,22867=>11601,22873=>11602,22875=>11603,22876=>11604,22877=>11605,22878=>11606,22879=>11607,22881=>11608,22883=>11609,22884=>11610,22886=>11611,22887=>11612,22888=>11613,22891=>11614,22893=>11615,22895=>11616,22896=>11617,22897=>11618,22898=>11619,22901=>11620,22903=>11621,22906=>11622,22907=>11623,22908=>11624,22910=>11625,22911=>11626,22912=>11627,22917=>11628,22921=>11629,22923=>11630,22924=>11631,22926=>11632,22927=>11633,22928=>11634,22929=>11635,22932=>11636,22933=>11637,22936=>11638,22938=>11639,22939=>11640,22940=>11641,22943=>11642,22944=>11643,22945=>11644,22946=>11645,22950=>11646,22951=>11647,22956=>11648,22957=>11649,22960=>11650,22961=>11651,22963=>11652,22964=>11653,22965=>11654,22966=>11655,22967=>11656,22968=>11657,22970=>11658,22972=>11659,22973=>11660,22975=>11661,22976=>11662,22977=>11663,22978=>11664,22979=>11665,22980=>11666,22981=>11667,22983=>11668,22984=>11669,22985=>11670,22988=>11671,22989=>11672,22990=>11673,22991=>11674,22997=>11675,22998=>11676,23001=>11677,23003=>11678,23006=>11679,23007=>11680,23008=>11681,23009=>11682,23010=>11683,23012=>11684,23014=>11685,23015=>11686,23017=>11687,23018=>11688,23019=>11689,23021=>11690,23022=>11691,23023=>11692,23024=>11693,23025=>11694,23026=>11695,23027=>11696,23028=>11697,23029=>11698,23030=>11699,23031=>11700,23032=>11701,23034=>11702,23036=>11703,23037=>11704,23038=>11705,23040=>11706,23042=>11707,23050=>11708,23051=>11709,23053=>11710,23054=>11711,23055=>11712,23056=>11713,23058=>11714,23060=>11715,23061=>11716,23062=>11717,23063=>11718,23065=>11719,23066=>11720,23067=>11721,23069=>11722,23070=>11723,23073=>11724,23074=>11725,23076=>11726,23078=>11727,23079=>11728,23080=>11729,23082=>11730,23083=>11731,23084=>11732,23085=>11733,23086=>11734,23087=>11735,23088=>11736,23091=>11737,23093=>11738,23095=>11739,23096=>11740,23097=>11741,23098=>11742,23099=>11743,23101=>11744,23102=>11745,23103=>11746,23106=>11747,23107=>11748,23108=>11749,23109=>11750,23111=>11751,23112=>11752,23115=>11753,23116=>11754,23117=>11755,23118=>11756,23119=>11757,23120=>11758,23121=>11759,23122=>11760,23123=>11761,23124=>11762,23126=>11763,23127=>11764,23128=>11765,23129=>11766,23131=>11767,23132=>11768,23133=>11769,23134=>11770,23135=>11771,23136=>11772,23137=>11773,23139=>11774,23140=>11775,23141=>11776,23144=>11777,23145=>11778,23147=>11779,23148=>11780,23150=>11781,23151=>11782,23152=>11783,23153=>11784,23154=>11785,23155=>11786,23160=>11787,23161=>11788,23163=>11789,23164=>11790,23165=>11791,23166=>11792,23168=>11793,23169=>11794,23170=>11795,23171=>11796,23172=>11797,23173=>11798,23174=>11799,23175=>11800,23176=>11801,23177=>11802,23178=>11803,23179=>11804,23180=>11805,23181=>11806,23182=>11807,23183=>11808,23184=>11809,23185=>11810,23187=>11811,23188=>11812,23189=>11813,23190=>11814,23191=>11815,23192=>11816,23193=>11817,23196=>11818,23197=>11819,23198=>11820,23199=>11821,23200=>11822,23201=>11823,23202=>11824,23203=>11825,23204=>11826,23205=>11827,23206=>11828,23208=>11829,23209=>11830,23211=>11831,23212=>11832,23213=>11833,23214=>11834,23215=>11835,23216=>11836,23217=>11837,23220=>11838,23222=>11839,23223=>11840,23225=>11841,23226=>11842,23227=>11843,23228=>11844,23231=>11845,23232=>11846,23235=>11847,23236=>11848,23237=>11849,23238=>11850,23239=>11851,23240=>11852,23242=>11853,23243=>11854,23245=>11855,23246=>11856,23247=>11857,23248=>11858,23249=>11859,23251=>11860,23253=>11861,23257=>11862,23258=>11863,23259=>11864,23261=>11865,23262=>11866,23263=>11867,23266=>11868,23268=>11869,23269=>11870,23271=>11871,23272=>11872,23274=>11873,23276=>11874,23277=>11875,23278=>11876,23279=>11877,23280=>11878,23282=>11879,23283=>11880,23284=>11881,23286=>11882,23287=>11883,23288=>11884,23289=>11885,23290=>11886,23292=>11887,23293=>11888,23294=>11889,23295=>11890,23297=>11891,23298=>11892,23299=>11893,23300=>11894,23301=>11895,23302=>11896,23303=>11897,23306=>11898,23309=>11899,23310=>11900,23311=>11901,23312=>11902,23313=>11903,23314=>11904,23315=>11905,23316=>11906,23317=>11907,23320=>11908,23322=>11909,23323=>11910,23324=>11911,23325=>11912,23326=>11913,23327=>11914,23328=>11915,23330=>11916,23331=>11917,23332=>11918,23333=>11919,23334=>11920,23335=>11921,23336=>11922,23337=>11923,23339=>11924,23340=>11925,23341=>11926,23342=>11927,23343=>11928,23345=>11929,23347=>11930,23349=>11931,23350=>11932,23353=>11933,23354=>11934,23355=>11935,23356=>11936,23357=>11937,23358=>11938,23359=>11939,23361=>11940,23362=>11941,23363=>11942,23364=>11943,23365=>11944,23366=>11945,23367=>11946,23368=>11947,23369=>11948,23370=>11949,23371=>11950,23373=>11951,23374=>11952,23375=>11953,23378=>11954,23382=>11955,23390=>11956,23392=>11957,23393=>11958,23399=>11959,23400=>11960,23405=>11961,23406=>11962,23407=>11963,23410=>11964,23412=>11965,23414=>11966,23415=>11967,23417=>11968,23419=>11969,23420=>11970,23422=>11971,23426=>11972,23430=>11973,23434=>11974,23437=>11975,23438=>11976,23440=>11977,23441=>11978,23442=>11979,23444=>11980,23446=>11981,23455=>11982,23463=>11983,23464=>11984,23465=>11985,23468=>11986,23469=>11987,23470=>11988,23471=>11989,23473=>11990,23474=>11991,23479=>11992,23482=>11993,23483=>11994,23484=>11995,23488=>11996,23489=>11997,23491=>11998,23496=>11999,23497=>12000,23498=>12001,23499=>12002,23501=>12003,23502=>12004,23503=>12005,23505=>12006,23508=>12007,23509=>12008,23510=>12009,23511=>12010,23512=>12011,23513=>12012,23514=>12013,23515=>12014,23516=>12015,23520=>12016,23523=>12017,23530=>12018,23533=>12019,23535=>12020,23537=>12021,23538=>12022,23539=>12023,23540=>12024,23543=>12025,23549=>12026,23550=>12027,23552=>12028,23554=>12029,23555=>12030,23557=>12031,23564=>12032,23568=>12033,23570=>12034,23571=>12035,23575=>12036,23577=>12037,23579=>12038,23582=>12039,23583=>12040,23584=>12041,23585=>12042,23587=>12043,23590=>12044,23592=>12045,23593=>12046,23594=>12047,23595=>12048,23597=>12049,23598=>12050,23599=>12051,23600=>12052,23602=>12053,23603=>12054,23605=>12055,23606=>12056,23619=>12057,23620=>12058,23622=>12059,23623=>12060,23628=>12061,23629=>12062,23634=>12063,23635=>12064,23636=>12065,23638=>12066,23639=>12067,23640=>12068,23642=>12069,23643=>12070,23644=>12071,23645=>12072,23647=>12073,23655=>12074,23657=>12075,23658=>12076,23659=>12077,23661=>12078,23664=>12079,23666=>12080,23667=>12081,23668=>12082,23669=>12083,23670=>12084,23671=>12085,23672=>12086,23675=>12087,23676=>12088,23677=>12089,23678=>12090,23680=>12091,23683=>12092,23684=>12093,23685=>12094,23686=>12095,23687=>12096,23689=>12097,23690=>12098,23691=>12099,23694=>12100,23695=>12101,23698=>12102,23699=>12103,23701=>12104,23709=>12105,23710=>12106,23711=>12107,23712=>12108,23716=>12109,23717=>12110,23718=>12111,23719=>12112,23720=>12113,23722=>12114,23726=>12115,23727=>12116,23728=>12117,23730=>12118,23732=>12119,23734=>12120,23737=>12121,23738=>12122,23739=>12123,23740=>12124,23742=>12125,23744=>12126,23746=>12127,23747=>12128,23749=>12129,23750=>12130,23751=>12131,23752=>12132,23753=>12133,23754=>12134,23756=>12135,23757=>12136,23758=>12137,23759=>12138,23760=>12139,23761=>12140,23763=>12141,23764=>12142,23765=>12143,23766=>12144,23767=>12145,23768=>12146,23770=>12147,23771=>12148,23772=>12149,23773=>12150,23774=>12151,23775=>12152,23776=>12153,23778=>12154,23779=>12155,23783=>12156,23785=>12157,23787=>12158,23788=>12159,23790=>12160,23791=>12161,23793=>12162,23794=>12163,23795=>12164,23797=>12165,23799=>12166,23800=>12167,23801=>12168,23802=>12169,23804=>12170,23806=>12171,23807=>12172,23808=>12173,23809=>12174,23812=>12175,23813=>12176,23816=>12177,23817=>12178,23818=>12179,23819=>12180,23820=>12181,23823=>12182,23824=>12183,23825=>12184,23826=>12185,23827=>12186,23829=>12187,23832=>12188,23833=>12189,23834=>12190,23836=>12191,23837=>12192,23839=>12193,23840=>12194,23841=>12195,23842=>12196,23843=>12197,23845=>12198,23848=>12199,23850=>12200,23851=>12201,23855=>12202,23856=>12203,23857=>12204,23858=>12205,23859=>12206,23861=>12207,23862=>12208,23863=>12209,23864=>12210,23865=>12211,23866=>12212,23867=>12213,23868=>12214,23871=>12215,23872=>12216,23873=>12217,23874=>12218,23875=>12219,23876=>12220,23877=>12221,23878=>12222,23880=>12223,23881=>12224,23885=>12225,23886=>12226,23887=>12227,23889=>12228,23890=>12229,23891=>12230,23892=>12231,23893=>12232,23894=>12233,23895=>12234,23897=>12235,23898=>12236,23900=>12237,23902=>12238,23903=>12239,23904=>12240,23905=>12241,23906=>12242,23907=>12243,23908=>12244,23909=>12245,23910=>12246,23911=>12247,23912=>12248,23914=>12249,23917=>12250,23918=>12251,23920=>12252,23921=>12253,23922=>12254,23923=>12255,23925=>12256,23926=>12257,23927=>12258,23928=>12259,23929=>12260,23930=>12261,23931=>12262,23932=>12263,23933=>12264,23934=>12265,23935=>12266,23936=>12267,23939=>12268,23941=>12269,23942=>12270,23944=>12271,23945=>12272,23946=>12273,23947=>12274,23948=>12275,23949=>12276,23950=>12277,23951=>12278,23952=>12279,23953=>12280,23954=>12281,23955=>12282,23956=>12283,23957=>12284,23958=>12285,23960=>12286,23962=>12287,23963=>12288,23964=>12289,23966=>12290,23967=>12291,23969=>12292,23970=>12293,23971=>12294,23972=>12295,23973=>12296,23974=>12297,23976=>12298,23977=>12299,23978=>12300,23979=>12301,23980=>12302,23981=>12303,23982=>12304,23983=>12305,23984=>12306,23985=>12307,23986=>12308,23987=>12309,23988=>12310,23989=>12311,23990=>12312,23993=>12313,23995=>12314,23997=>12315,23998=>12316,23999=>12317,24000=>12318,24001=>12319,24002=>12320,24003=>12321,24004=>12322,24006=>12323,24007=>12324,24008=>12325,24009=>12326,24010=>12327,24012=>12328,24014=>12329,24015=>12330,24016=>12331,24017=>12332,24019=>12333,24021=>12334,24022=>12335,24023=>12336,24024=>12337,24025=>12338,24026=>12339,24028=>12340,24031=>12341,24032=>12342,24035=>12343,24036=>12344,24042=>12345,24044=>12346,24045=>12347,24053=>12348,24054=>12349,24056=>12350,24057=>12351,24058=>12352,24059=>12353,24060=>12354,24063=>12355,24064=>12356,24068=>12357,24071=>12358,24073=>12359,24074=>12360,24075=>12361,24077=>12362,24078=>12363,24082=>12364,24083=>12365,24087=>12366,24094=>12367,24095=>12368,24096=>12369,24097=>12370,24098=>12371,24099=>12372,24100=>12373,24104=>12374,24105=>12375,24106=>12376,24108=>12377,24111=>12378,24112=>12379,24114=>12380,24116=>12381,24117=>12382,24121=>12383,24122=>12384,24126=>12385,24127=>12386,24129=>12387,24134=>12388,24135=>12389,24136=>12390,24137=>12391,24138=>12392,24139=>12393,24141=>12394,24142=>12395,24143=>12396,24144=>12397,24145=>12398,24146=>12399,24147=>12400,24150=>12401,24153=>12402,24154=>12403,24156=>12404,24157=>12405,24160=>12406,24164=>12407,24165=>12408,24166=>12409,24167=>12410,24168=>12411,24169=>12412,24170=>12413,24173=>12414,24174=>12415,24175=>12416,24176=>12417,24177=>12418,24181=>12419,24183=>12420,24193=>12421,24194=>12422,24195=>12423,24197=>12424,24200=>12425,24201=>12426,24204=>12427,24205=>12428,24206=>12429,24210=>12430,24216=>12431,24219=>12432,24221=>12433,24225=>12434,24226=>12435,24227=>12436,24228=>12437,24232=>12438,24233=>12439,24234=>12440,24236=>12441,24238=>12442,24239=>12443,24240=>12444,24241=>12445,24242=>12446,24244=>12447,24250=>12448,24251=>12449,24252=>12450,24253=>12451,24255=>12452,24256=>12453,24257=>12454,24258=>12455,24259=>12456,24260=>12457,24261=>12458,24262=>12459,24263=>12460,24264=>12461,24267=>12462,24268=>12463,24269=>12464,24270=>12465,24271=>12466,24272=>12467,24276=>12468,24277=>12469,24279=>12470,24280=>12471,24281=>12472,24282=>12473,24284=>12474,24285=>12475,24286=>12476,24292=>12477,24293=>12478,24294=>12479,24295=>12480,24297=>12481,24299=>12482,24301=>12483,24302=>12484,24303=>12485,24304=>12486,24305=>12487,24306=>12488,24309=>12489,24312=>12490,24313=>12491,24315=>12492,24316=>12493,24317=>12494,24325=>12495,24326=>12496,24327=>12497,24329=>12498,24332=>12499,24333=>12500,24334=>12501,24336=>12502,24338=>12503,24340=>12504,24342=>12505,24345=>12506,24346=>12507,24348=>12508,24349=>12509,24350=>12510,24353=>12511,24354=>12512,24355=>12513,24356=>12514,24360=>12515,24363=>12516,24364=>12517,24366=>12518,24368=>12519,24370=>12520,24372=>12521,24374=>12522,24375=>12523,24376=>12524,24379=>12525,24381=>12526,24382=>12527,24383=>12528,24385=>12529,24386=>12530,24387=>12531,24388=>12532,24389=>12533,24391=>12534,24393=>12535,24394=>12536,24395=>12537,24397=>12538,24399=>12539,24401=>12540,24404=>12541,24410=>12542,24411=>12543,24412=>12544,24414=>12545,24415=>12546,24416=>12547,24419=>12548,24421=>12549,24423=>12550,24424=>12551,24427=>12552,24430=>12553,24431=>12554,24434=>12555,24436=>12556,24437=>12557,24438=>12558,24440=>12559,24442=>12560,24445=>12561,24446=>12562,24447=>12563,24451=>12564,24454=>12565,24461=>12566,24462=>12567,24463=>12568,24467=>12569,24468=>12570,24470=>12571,24474=>12572,24475=>12573,24477=>12574,24479=>12575,24482=>12576,24483=>12577,24484=>12578,24485=>12579,24486=>12580,24487=>12581,24491=>12582,24492=>12583,24495=>12584,24496=>12585,24497=>12586,24498=>12587,24499=>12588,24500=>12589,24502=>12590,24504=>12591,24506=>12592,24507=>12593,24510=>12594,24511=>12595,24512=>12596,24513=>12597,24514=>12598,24519=>12599,24520=>12600,24522=>12601,24523=>12602,24526=>12603,24531=>12604,24532=>12605,24533=>12606,24538=>12607,24539=>12608,24540=>12609,24542=>12610,24543=>12611,24546=>12612,24547=>12613,24549=>12614,24550=>12615,24552=>12616,24553=>12617,24556=>12618,24559=>12619,24560=>12620,24562=>12621,24563=>12622,24564=>12623,24566=>12624,24567=>12625,24569=>12626,24570=>12627,24572=>12628,24583=>12629,24584=>12630,24585=>12631,24587=>12632,24588=>12633,24592=>12634,24593=>12635,24595=>12636,24599=>12637,24600=>12638,24602=>12639,24606=>12640,24607=>12641,24610=>12642,24611=>12643,24612=>12644,24620=>12645,24621=>12646,24622=>12647,24624=>12648,24625=>12649,24626=>12650,24627=>12651,24628=>12652,24630=>12653,24631=>12654,24632=>12655,24633=>12656,24634=>12657,24637=>12658,24638=>12659,24640=>12660,24644=>12661,24645=>12662,24646=>12663,24647=>12664,24648=>12665,24649=>12666,24650=>12667,24652=>12668,24654=>12669,24655=>12670,24657=>12671,24659=>12672,24660=>12673,24662=>12674,24663=>12675,24664=>12676,24667=>12677,24668=>12678,24670=>12679,24671=>12680,24672=>12681,24673=>12682,24677=>12683,24678=>12684,24686=>12685,24689=>12686,24690=>12687,24692=>12688,24693=>12689,24695=>12690,24702=>12691,24704=>12692,24705=>12693,24706=>12694,24709=>12695,24710=>12696,24711=>12697,24712=>12698,24714=>12699,24715=>12700,24718=>12701,24719=>12702,24720=>12703,24721=>12704,24723=>12705,24725=>12706,24727=>12707,24728=>12708,24729=>12709,24732=>12710,24734=>12711,24737=>12712,24738=>12713,24740=>12714,24741=>12715,24743=>12716,24745=>12717,24746=>12718,24750=>12719,24752=>12720,24755=>12721,24759=>12722,24761=>12723,24762=>12724,24765=>12725,24766=>12726,24767=>12727,24768=>12728,24769=>12729,24770=>12730,24771=>12731,24772=>12732,24775=>12733,24776=>12734,24777=>12735,24780=>12736,24781=>12737,24782=>12738,24783=>12739,24784=>12740,24786=>12741,24787=>12742,24788=>12743,24790=>12744,24791=>12745,24793=>12746,24795=>12747,24798=>12748,24802=>12749,24803=>12750,24804=>12751,24805=>12752,24810=>12753,24821=>12754,24823=>12755,24824=>12756,24828=>12757,24829=>12758,24830=>12759,24831=>12760,24834=>12761,24835=>12762,24836=>12763,24837=>12764,24839=>12765,24842=>12766,24843=>12767,24844=>12768,24848=>12769,24849=>12770,24850=>12771,24851=>12772,24852=>12773,24854=>12774,24855=>12775,24856=>12776,24857=>12777,24861=>12778,24862=>12779,24865=>12780,24866=>12781,24869=>12782,24872=>12783,24873=>12784,24874=>12785,24876=>12786,24877=>12787,24878=>12788,24879=>12789,24880=>12790,24881=>12791,24882=>12792,24883=>12793,24885=>12794,24886=>12795,24888=>12796,24889=>12797,24890=>12798,24891=>12799,24892=>12800,24893=>12801,24896=>12802,24897=>12803,24898=>12804,24899=>12805,24900=>12806,24901=>12807,24902=>12808,24903=>12809,24905=>12810,24909=>12811,24911=>12812,24912=>12813,24914=>12814,24915=>12815,24916=>12816,24918=>12817,24919=>12818,24921=>12819,24923=>12820,24924=>12821,24926=>12822,24928=>12823,24929=>12824,24933=>12825,24934=>12826,24937=>12827,24940=>12828,24941=>12829,24943=>12830,24945=>12831,24946=>12832,24948=>12833,24952=>12834,24953=>12835,24954=>12836,24955=>12837,24956=>12838,24957=>12839,24958=>12840,24959=>12841,24960=>12842,24961=>12843,24963=>12844,24964=>12845,24965=>12846,24966=>12847,24967=>12848,24968=>12849,24969=>12850,24972=>12851,24973=>12852,24975=>12853,24979=>12854,24981=>12855,24982=>12856,24983=>12857,24984=>12858,24985=>12859,24987=>12860,24988=>12861,24990=>12862,24991=>12863,24992=>12864,24993=>12865,24994=>12866,24995=>12867,24997=>12868,24998=>12869,25002=>12870,25005=>12871,25007=>12872,25008=>12873,25009=>12874,25011=>12875,25012=>12876,25013=>12877,25016=>12878,25017=>12879,25018=>12880,25019=>12881,25020=>12882,25021=>12883,25023=>12884,25024=>12885,25025=>12886,25027=>12887,25028=>12888,25029=>12889,25030=>12890,25037=>12891,25038=>12892,25039=>12893,25040=>12894,25043=>12895,25045=>12896,25046=>12897,25047=>12898,25048=>12899,25049=>12900,25050=>12901,25051=>12902,25052=>12903,25053=>12904,25056=>12905,25057=>12906,25058=>12907,25060=>12908,25061=>12909,25063=>12910,25065=>12911,25066=>12912,25067=>12913,25068=>12914,25069=>12915,25070=>12916,25071=>12917,25072=>12918,25073=>12919,25075=>12920,25076=>12921,25081=>12922,25083=>12923,25085=>12924,25089=>12925,25090=>12926,25091=>12927,25092=>12928,25093=>12929,25097=>12930,25107=>12931,25113=>12932,25116=>12933,25117=>12934,25118=>12935,25120=>12936,25123=>12937,25126=>12938,25128=>12939,25129=>12940,25131=>12941,25133=>12942,25135=>12943,25137=>12944,25141=>12945,12094=>12946,25142=>12946,25144=>12947,25145=>12948,25146=>12949,25147=>12950,25148=>12951,25154=>12952,25156=>12953,25157=>12954,25158=>12955,25162=>12956,25167=>12957,25168=>12958,25173=>12959,25174=>12960,25175=>12961,25177=>12962,25178=>12963,25180=>12964,25181=>12965,25182=>12966,25183=>12967,25184=>12968,25185=>12969,25186=>12970,25188=>12971,25189=>12972,25192=>12973,25201=>12974,25202=>12975,25204=>12976,25205=>12977,25207=>12978,25208=>12979,25210=>12980,25211=>12981,25213=>12982,25217=>12983,25218=>12984,25219=>12985,25221=>12986,25222=>12987,25223=>12988,25224=>12989,25227=>12990,25228=>12991,25229=>12992,25230=>12993,25231=>12994,25232=>12995,25236=>12996,25241=>12997,25244=>12998,25245=>12999,25246=>13000,25251=>13001,25254=>13002,25255=>13003,25257=>13004,25258=>13005,25261=>13006,25262=>13007,25263=>13008,25264=>13009,25266=>13010,25267=>13011,25268=>13012,25270=>13013,25271=>13014,25272=>13015,25274=>13016,25278=>13017,25280=>13018,25281=>13019,25283=>13020,25291=>13021,25295=>13022,25297=>13023,25301=>13024,25309=>13025,25310=>13026,25312=>13027,25313=>13028,25316=>13029,25322=>13030,25323=>13031,25328=>13032,25330=>13033,25333=>13034,25336=>13035,25337=>13036,25338=>13037,25339=>13038,25344=>13039,25347=>13040,25348=>13041,25349=>13042,25350=>13043,25354=>13044,25355=>13045,25356=>13046,25357=>13047,25359=>13048,25360=>13049,25362=>13050,25363=>13051,25364=>13052,25365=>13053,25367=>13054,25368=>13055,25369=>13056,25372=>13057,25382=>13058,25383=>13059,25385=>13060,25388=>13061,25389=>13062,25390=>13063,25392=>13064,25393=>13065,25395=>13066,25396=>13067,25397=>13068,25398=>13069,25399=>13070,25400=>13071,25403=>13072,25404=>13073,25407=>13074,25408=>13075,25409=>13076,25412=>13077,25415=>13078,25416=>13079,25418=>13080,25425=>13081,25426=>13082,25427=>13083,25428=>13084,25430=>13085,25431=>13086,25432=>13087,25433=>13088,25434=>13089,25435=>13090,25436=>13091,25437=>13092,25440=>13093,25444=>13094,25445=>13095,25446=>13096,25450=>13097,25452=>13098,25455=>13099,25456=>13100,25459=>13101,25460=>13102,25461=>13103,25464=>13104,25465=>13105,25468=>13106,25469=>13107,25470=>13108,25471=>13109,25473=>13110,25477=>13111,25478=>13112,25483=>13113,25485=>13114,25489=>13115,25491=>13116,25492=>13117,25493=>13118,25495=>13119,25497=>13120,25498=>13121,25499=>13122,25500=>13123,25501=>13124,25502=>13125,25503=>13126,25505=>13127,25508=>13128,25510=>13129,25515=>13130,25519=>13131,25521=>13132,25522=>13133,25525=>13134,25526=>13135,25529=>13136,25531=>13137,25533=>13138,25535=>13139,25537=>13140,25538=>13141,25539=>13142,25541=>13143,25543=>13144,25544=>13145,25546=>13146,25547=>13147,25548=>13148,25553=>13149,25555=>13150,25556=>13151,25557=>13152,25559=>13153,25560=>13154,25561=>13155,25563=>13156,25564=>13157,25565=>13158,25567=>13159,25570=>13160,25572=>13161,25573=>13162,25574=>13163,25575=>13164,25576=>13165,25579=>13166,25580=>13167,25583=>13168,25584=>13169,25585=>13170,25587=>13171,25589=>13172,25591=>13173,25593=>13174,25594=>13175,25595=>13176,25596=>13177,25598=>13178,25603=>13179,25604=>13180,25606=>13181,25607=>13182,25608=>13183,25609=>13184,25610=>13185,25614=>13186,25617=>13187,25618=>13188,25621=>13189,25622=>13190,25624=>13191,25625=>13192,25626=>13193,25629=>13194,25631=>13195,25634=>13196,25635=>13197,25636=>13198,25637=>13199,25639=>13200,25640=>13201,25641=>13202,25643=>13203,25646=>13204,25647=>13205,25648=>13206,25649=>13207,25650=>13208,25651=>13209,25653=>13210,25655=>13211,25656=>13212,25657=>13213,25659=>13214,25660=>13215,25662=>13216,25664=>13217,25666=>13218,25667=>13219,25673=>13220,25675=>13221,25676=>13222,25677=>13223,25678=>13224,25679=>13225,25680=>13226,25683=>13227,25685=>13228,25686=>13229,25687=>13230,25689=>13231,25690=>13232,25691=>13233,25693=>13234,25696=>13235,25697=>13236,25698=>13237,25699=>13238,25700=>13239,25701=>13240,25702=>13241,25704=>13242,25706=>13243,25707=>13244,25708=>13245,25710=>13246,25712=>13247,25713=>13248,25714=>13249,25716=>13250,25717=>13251,25719=>13252,25724=>13253,25725=>13254,25726=>13255,25727=>13256,25728=>13257,25729=>13258,25731=>13259,25734=>13260,25737=>13261,25738=>13262,25739=>13263,25740=>13264,25741=>13265,25742=>13266,25743=>13267,25744=>13268,25748=>13269,25751=>13270,25752=>13271,25754=>13272,25755=>13273,25756=>13274,25757=>13275,25760=>13276,25761=>13277,25762=>13278,25766=>13279,25767=>13280,25768=>13281,25770=>13282,25775=>13283,25777=>13284,25780=>13285,25782=>13286,25785=>13287,25789=>13288,25795=>13289,25798=>13290,25800=>13291,25801=>13292,25804=>13293,25807=>13294,25809=>13295,25811=>13296,25813=>13297,25814=>13298,25817=>13299,25819=>13300,25820=>13301,25821=>13302,25823=>13303,25825=>13304,25827=>13305,25829=>13306,25831=>13307,25832=>13308,25833=>13309,25834=>13310,25835=>13311,25837=>13312,25838=>13313,25843=>13314,25845=>13315,25846=>13316,25848=>13317,25849=>13318,25853=>13319,25855=>13320,25857=>13321,25858=>13322,25859=>13323,25861=>13324,25863=>13325,25864=>13326,25866=>13327,25867=>13328,25868=>13329,25869=>13330,25870=>13331,25872=>13332,25873=>13333,25875=>13334,25877=>13335,25879=>13336,25882=>13337,25884=>13338,25886=>13339,25887=>13340,25888=>13341,25889=>13342,25894=>13343,25895=>13344,25896=>13345,25897=>13346,25901=>13347,25904=>13348,25905=>13349,25906=>13350,25907=>13351,25911=>13352,25914=>13353,25916=>13354,25917=>13355,25920=>13356,25921=>13357,25922=>13358,25923=>13359,25924=>13360,25926=>13361,25927=>13362,25930=>13363,25931=>13364,25933=>13365,25934=>13366,25936=>13367,25938=>13368,25939=>13369,25940=>13370,25944=>13371,25946=>13372,25948=>13373,25951=>13374,25952=>13375,25953=>13376,25956=>13377,25957=>13378,25959=>13379,25960=>13380,25961=>13381,25962=>13382,25965=>13383,25966=>13384,25967=>13385,25969=>13386,25971=>13387,25974=>13388,25977=>13389,25978=>13390,25979=>13391,25980=>13392,25981=>13393,25982=>13394,25983=>13395,25984=>13396,25985=>13397,25988=>13398,25989=>13399,25990=>13400,25992=>13401,25993=>13402,25994=>13403,25997=>13404,25998=>13405,25999=>13406,26002=>13407,26004=>13408,26006=>13409,26008=>13410,26010=>13411,26013=>13412,26014=>13413,26016=>13414,26018=>13415,26019=>13416,26022=>13417,26024=>13418,26026=>13419,26030=>13420,26033=>13421,26034=>13422,26035=>13423,26036=>13424,26037=>13425,26038=>13426,26040=>13427,26042=>13428,26043=>13429,26046=>13430,26047=>13431,26048=>13432,26050=>13433,26055=>13434,26056=>13435,26057=>13436,26058=>13437,26061=>13438,26064=>13439,26065=>13440,26067=>13441,26068=>13442,26069=>13443,26072=>13444,26073=>13445,26074=>13446,26075=>13447,26076=>13448,26077=>13449,26078=>13450,26079=>13451,26081=>13452,26083=>13453,26084=>13454,26090=>13455,26091=>13456,26098=>13457,26099=>13458,26100=>13459,26101=>13460,26104=>13461,26105=>13462,26107=>13463,26108=>13464,26109=>13465,26110=>13466,26111=>13467,26113=>13468,26116=>13469,26117=>13470,26119=>13471,26120=>13472,26121=>13473,26123=>13474,26125=>13475,26128=>13476,26129=>13477,26130=>13478,26134=>13479,26135=>13480,26136=>13481,26138=>13482,26139=>13483,26140=>13484,26142=>13485,26145=>13486,26146=>13487,26147=>13488,26148=>13489,26150=>13490,26153=>13491,26154=>13492,26155=>13493,26156=>13494,26158=>13495,26160=>13496,26162=>13497,26163=>13498,26167=>13499,26168=>13500,26169=>13501,26170=>13502,26171=>13503,26173=>13504,26175=>13505,26176=>13506,26180=>13507,26181=>13508,26182=>13509,26183=>13510,26184=>13511,26185=>13512,26186=>13513,26189=>13514,26190=>13515,26192=>13516,26193=>13517,26200=>13518,26201=>13519,26203=>13520,26204=>13521,26206=>13522,26208=>13523,26210=>13524,26211=>13525,26213=>13526,26215=>13527,26217=>13528,26218=>13529,26219=>13530,26220=>13531,26221=>13532,26225=>13533,26226=>13534,26227=>13535,26229=>13536,26232=>13537,26233=>13538,26235=>13539,26236=>13540,26237=>13541,26239=>13542,26240=>13543,26241=>13544,26243=>13545,26245=>13546,26246=>13547,26250=>13548,26251=>13549,26253=>13550,26254=>13551,26255=>13552,26256=>13553,26258=>13554,26259=>13555,26260=>13556,26261=>13557,26264=>13558,26265=>13559,26266=>13560,26267=>13561,26268=>13562,26270=>13563,26271=>13564,26272=>13565,26273=>13566,26275=>13567,26276=>13568,26277=>13569,26278=>13570,26281=>13571,26282=>13572,26284=>13573,26285=>13574,26287=>13575,26288=>13576,26289=>13577,26290=>13578,26291=>13579,26293=>13580,26294=>13581,26295=>13582,26296=>13583,26298=>13584,26299=>13585,26300=>13586,26301=>13587,26303=>13588,26304=>13589,26305=>13590,26306=>13591,26307=>13592,26309=>13593,26312=>13594,26314=>13595,26315=>13596,26316=>13597,26317=>13598,26318=>13599,26319=>13600,26320=>13601,26321=>13602,26322=>13603,26323=>13604,26324=>13605,26325=>13606,26327=>13607,26328=>13608,26330=>13609,26334=>13610,26335=>13611,26337=>13612,26338=>13613,26339=>13614,26340=>13615,26341=>13616,26343=>13617,26344=>13618,26346=>13619,26347=>13620,26349=>13621,26350=>13622,26351=>13623,26353=>13624,26357=>13625,26358=>13626,26362=>13627,26363=>13628,26365=>13629,26369=>13630,26370=>13631,26372=>13632,26373=>13633,26374=>13634,26375=>13635,26380=>13636,26382=>13637,26383=>13638,26385=>13639,26386=>13640,26387=>13641,26390=>13642,26392=>13643,26393=>13644,26394=>13645,26396=>13646,26398=>13647,26400=>13648,26401=>13649,26402=>13650,26403=>13651,26404=>13652,26405=>13653,26409=>13654,26414=>13655,26416=>13656,26418=>13657,26419=>13658,26422=>13659,26423=>13660,26424=>13661,26425=>13662,26427=>13663,26428=>13664,26430=>13665,26431=>13666,26433=>13667,26436=>13668,26437=>13669,26439=>13670,26442=>13671,26443=>13672,26445=>13673,26450=>13674,26452=>13675,26453=>13676,26455=>13677,26456=>13678,26457=>13679,26458=>13680,26459=>13681,26461=>13682,26466=>13683,26467=>13684,26468=>13685,26470=>13686,26471=>13687,26475=>13688,26476=>13689,26478=>13690,26484=>13691,26486=>13692,26488=>13693,26489=>13694,26490=>13695,26491=>13696,26493=>13697,26496=>13698,26498=>13699,26499=>13700,26501=>13701,26502=>13702,26504=>13703,26506=>13704,26508=>13705,26509=>13706,26510=>13707,26511=>13708,26513=>13709,26514=>13710,26515=>13711,26516=>13712,26518=>13713,26521=>13714,26523=>13715,26527=>13716,26528=>13717,26529=>13718,26532=>13719,26534=>13720,26537=>13721,26540=>13722,26542=>13723,26545=>13724,26546=>13725,26548=>13726,26553=>13727,26554=>13728,26555=>13729,26556=>13730,26557=>13731,26558=>13732,26559=>13733,26560=>13734,26562=>13735,26565=>13736,26566=>13737,26567=>13738,26568=>13739,26569=>13740,26570=>13741,26571=>13742,26572=>13743,26573=>13744,26574=>13745,26581=>13746,26582=>13747,26583=>13748,26587=>13749,26591=>13750,26593=>13751,26595=>13752,26596=>13753,26598=>13754,26599=>13755,26600=>13756,26602=>13757,26603=>13758,26605=>13759,26606=>13760,26610=>13761,26613=>13762,26614=>13763,26615=>13764,26616=>13765,26617=>13766,26618=>13767,26619=>13768,26620=>13769,26622=>13770,26625=>13771,26626=>13772,26627=>13773,26628=>13774,26630=>13775,26637=>13776,26640=>13777,26642=>13778,26644=>13779,26645=>13780,26648=>13781,26649=>13782,26650=>13783,26651=>13784,26652=>13785,26654=>13786,26655=>13787,26656=>13788,26658=>13789,26659=>13790,26660=>13791,26661=>13792,26662=>13793,26663=>13794,26664=>13795,26667=>13796,26668=>13797,26669=>13798,26670=>13799,26671=>13800,26672=>13801,26673=>13802,26676=>13803,26677=>13804,26678=>13805,26682=>13806,26683=>13807,26687=>13808,26695=>13809,26699=>13810,26701=>13811,26703=>13812,26706=>13813,26710=>13814,26711=>13815,26712=>13816,26713=>13817,26714=>13818,26715=>13819,26716=>13820,26717=>13821,26718=>13822,26719=>13823,26730=>13824,26732=>13825,26733=>13826,26734=>13827,26735=>13828,26736=>13829,26737=>13830,26738=>13831,26739=>13832,26741=>13833,26744=>13834,26745=>13835,26746=>13836,26747=>13837,26748=>13838,26749=>13839,26750=>13840,26751=>13841,26752=>13842,26754=>13843,26756=>13844,26759=>13845,26760=>13846,26761=>13847,26762=>13848,26763=>13849,26764=>13850,26765=>13851,26766=>13852,26768=>13853,26769=>13854,26770=>13855,26772=>13856,26773=>13857,26774=>13858,26777=>13859,26778=>13860,26779=>13861,26780=>13862,26782=>13863,26784=>13864,26785=>13865,26787=>13866,26788=>13867,26789=>13868,26793=>13869,26794=>13870,26795=>13871,26796=>13872,26798=>13873,26801=>13874,26802=>13875,26804=>13876,26806=>13877,26807=>13878,26808=>13879,26809=>13880,26810=>13881,26811=>13882,26812=>13883,26813=>13884,26814=>13885,26815=>13886,26817=>13887,26819=>13888,26820=>13889,26821=>13890,26822=>13891,26823=>13892,26824=>13893,26826=>13894,26828=>13895,26830=>13896,26831=>13897,26832=>13898,26833=>13899,26835=>13900,26836=>13901,26841=>13902,26843=>13903,26844=>13904,26845=>13905,26846=>13906,26849=>13907,26850=>13908,26852=>13909,26853=>13910,26854=>13911,26856=>13912,26857=>13913,26858=>13914,26859=>13915,26860=>13916,26861=>13917,26863=>13918,26866=>13919,26867=>13920,26868=>13921,26870=>13922,26871=>13923,26872=>13924,26875=>13925,26877=>13926,26878=>13927,26879=>13928,26880=>13929,26882=>13930,26883=>13931,26884=>13932,26886=>13933,26887=>13934,26888=>13935,26889=>13936,26890=>13937,26892=>13938,26897=>13939,26899=>13940,26900=>13941,26901=>13942,26902=>13943,26903=>13944,26904=>13945,26905=>13946,26906=>13947,26907=>13948,26908=>13949,26909=>13950,26910=>13951,26913=>13952,26914=>13953,26915=>13954,26917=>13955,26918=>13956,26919=>13957,26920=>13958,26921=>13959,26922=>13960,26923=>13961,26924=>13962,26926=>13963,26927=>13964,26929=>13965,26930=>13966,26931=>13967,26933=>13968,26934=>13969,26935=>13970,26936=>13971,26938=>13972,26939=>13973,26940=>13974,26942=>13975,26944=>13976,26945=>13977,26947=>13978,26948=>13979,26949=>13980,26950=>13981,26951=>13982,26952=>13983,26953=>13984,26955=>13985,26956=>13986,26957=>13987,26958=>13988,26959=>13989,26960=>13990,26961=>13991,26962=>13992,26965=>13993,26966=>13994,26968=>13995,26969=>13996,26971=>13997,26972=>13998,26975=>13999,26977=>14000,26978=>14001,26980=>14002,26981=>14003,26983=>14004,26985=>14005,26986=>14006,26988=>14007,26991=>14008,26992=>14009,26994=>14010,26995=>14011,26996=>14012,26998=>14013,27002=>14014,27003=>14015,27005=>14016,27006=>14017,27007=>14018,27009=>14019,27011=>14020,27013=>14021,27018=>14022,27019=>14023,27020=>14024,27022=>14025,27023=>14026,27024=>14027,27025=>14028,27026=>14029,27027=>14030,27030=>14031,27031=>14032,27033=>14033,27034=>14034,27037=>14035,27038=>14036,27039=>14037,27040=>14038,27041=>14039,27042=>14040,27043=>14041,27044=>14042,27045=>14043,27046=>14044,27049=>14045,27052=>14046,27055=>14047,27056=>14048,27058=>14049,27059=>14050,27061=>14051,27062=>14052,27064=>14053,27065=>14054,27066=>14055,27068=>14056,27069=>14057,27070=>14058,27072=>14059,27074=>14060,27075=>14061,27076=>14062,27077=>14063,27078=>14064,27079=>14065,27080=>14066,27081=>14067,27087=>14068,27089=>14069,27090=>14070,27091=>14071,27093=>14072,27094=>14073,27095=>14074,27096=>14075,27097=>14076,27098=>14077,27100=>14078,27101=>14079,27102=>14080,27105=>14081,27106=>14082,27107=>14083,27108=>14084,27109=>14085,27110=>14086,27112=>14087,27113=>14088,27114=>14089,27115=>14090,27116=>14091,27118=>14092,27119=>14093,27120=>14094,27121=>14095,27124=>14096,27125=>14097,27126=>14098,27127=>14099,27128=>14100,27129=>14101,27130=>14102,27131=>14103,27132=>14104,27134=>14105,27136=>14106,27139=>14107,27140=>14108,27142=>14109,27143=>14110,27144=>14111,27145=>14112,27147=>14113,27148=>14114,27149=>14115,27150=>14116,27151=>14117,27152=>14118,27153=>14119,27154=>14120,27156=>14121,27157=>14122,27158=>14123,27162=>14124,27163=>14125,27164=>14126,27165=>14127,27168=>14128,27170=>14129,27172=>14130,27173=>14131,27174=>14132,27175=>14133,27177=>14134,27179=>14135,27180=>14136,27181=>14137,27182=>14138,27184=>14139,27186=>14140,27187=>14141,27188=>14142,27190=>14143,27191=>14144,27195=>14145,27196=>14146,27199=>14147,27200=>14148,27201=>14149,27202=>14150,27203=>14151,27205=>14152,27206=>14153,27209=>14154,27210=>14155,27212=>14156,27213=>14157,27214=>14158,27215=>14159,27217=>14160,27218=>14161,27219=>14162,27220=>14163,27221=>14164,27222=>14165,27223=>14166,27226=>14167,27228=>14168,27229=>14169,27230=>14170,27232=>14171,27235=>14172,27236=>14173,27238=>14174,27239=>14175,27240=>14176,27241=>14177,27242=>14178,27243=>14179,27244=>14180,27245=>14181,27246=>14182,27247=>14183,27248=>14184,27250=>14185,27251=>14186,27252=>14187,27253=>14188,27254=>14189,27255=>14190,27256=>14191,27258=>14192,27259=>14193,27261=>14194,27262=>14195,27263=>14196,27265=>14197,27266=>14198,27267=>14199,27269=>14200,27270=>14201,27271=>14202,27272=>14203,27274=>14204,27275=>14205,27276=>14206,27277=>14207,27279=>14208,27282=>14209,27283=>14210,27285=>14211,27286=>14212,27288=>14213,27289=>14214,27290=>14215,27291=>14216,27293=>14217,27294=>14218,27295=>14219,27297=>14220,27300=>14221,27301=>14222,27302=>14223,27303=>14224,27304=>14225,27306=>14226,27309=>14227,27310=>14228,27312=>14229,27313=>14230,27314=>14231,27316=>14232,27317=>14233,27318=>14234,27319=>14235,27321=>14236,27322=>14237,27324=>14238,27325=>14239,27326=>14240,27327=>14241,27328=>14242,27329=>14243,27330=>14244,27332=>14245,27333=>14246,27334=>14247,27335=>14248,27336=>14249,27337=>14250,27338=>14251,27339=>14252,27340=>14253,27341=>14254,27342=>14255,27343=>14256,27344=>14257,27345=>14258,27346=>14259,27348=>14260,27349=>14261,27350=>14262,27351=>14263,27352=>14264,27353=>14265,27356=>14266,27360=>14267,27361=>14268,27362=>14269,27363=>14270,27364=>14271,27365=>14272,27366=>14273,27369=>14274,27371=>14275,27373=>14276,27374=>14277,27375=>14278,27376=>14279,27377=>14280,27378=>14281,27380=>14282,27381=>14283,27382=>14284,27383=>14285,27385=>14286,27386=>14287,27388=>14288,27389=>14289,27390=>14290,27391=>14291,27392=>14292,27393=>14293,27394=>14294,27395=>14295,27397=>14296,27398=>14297,27399=>14298,27400=>14299,27401=>14300,27403=>14301,27404=>14302,27405=>14303,27406=>14304,27408=>14305,27409=>14306,27411=>14307,27412=>14308,27413=>14309,27415=>14310,27416=>14311,27417=>14312,27418=>14313,27419=>14314,27420=>14315,27421=>14316,27423=>14317,27429=>14318,27430=>14319,27432=>14320,27433=>14321,27434=>14322,27435=>14323,27436=>14324,27437=>14325,27438=>14326,27439=>14327,27440=>14328,27441=>14329,27443=>14330,27444=>14331,27445=>14332,27446=>14333,27448=>14334,27451=>14335,27452=>14336,27455=>14337,27456=>14338,27457=>14339,27458=>14340,27460=>14341,27461=>14342,27464=>14343,27466=>14344,27467=>14345,27469=>14346,27470=>14347,27471=>14348,27473=>14349,27474=>14350,27475=>14351,27476=>14352,27477=>14353,27478=>14354,27479=>14355,27480=>14356,27482=>14357,27483=>14358,27484=>14359,27485=>14360,27486=>14361,27488=>14362,27496=>14363,27497=>14364,27499=>14365,27500=>14366,27501=>14367,27502=>14368,27503=>14369,27504=>14370,27505=>14371,27507=>14372,27508=>14373,27509=>14374,27510=>14375,27514=>14376,27517=>14377,27518=>14378,27519=>14379,27520=>14380,27525=>14381,27528=>14382,27532=>14383,27534=>14384,27535=>14385,27536=>14386,27537=>14387,27540=>14388,27541=>14389,27543=>14390,27545=>14391,27548=>14392,27549=>14393,27551=>14394,27552=>14395,27554=>14396,27555=>14397,27557=>14398,27558=>14399,27559=>14400,27560=>14401,27561=>14402,27564=>14403,27565=>14404,27568=>14405,27569=>14406,27574=>14407,27576=>14408,27577=>14409,27580=>14410,27581=>14411,27582=>14412,27584=>14413,27587=>14414,27588=>14415,27591=>14416,27592=>14417,27593=>14418,27594=>14419,27596=>14420,27598=>14421,27600=>14422,27601=>14423,27608=>14424,27610=>14425,27612=>14426,27613=>14427,27614=>14428,27615=>14429,27616=>14430,27618=>14431,27619=>14432,27620=>14433,27621=>14434,27622=>14435,27623=>14436,27624=>14437,27625=>14438,27628=>14439,27629=>14440,27630=>14441,27632=>14442,27633=>14443,27634=>14444,27636=>14445,27638=>14446,27639=>14447,27640=>14448,27642=>14449,27643=>14450,27644=>14451,27646=>14452,27648=>14453,27649=>14454,27650=>14455,27651=>14456,27652=>14457,27657=>14458,27658=>14459,27659=>14460,27662=>14461,27666=>14462,27671=>14463,27676=>14464,27677=>14465,27678=>14466,27680=>14467,27685=>14468,27693=>14469,27697=>14470,27699=>14471,27702=>14472,27703=>14473,27705=>14474,27706=>14475,27707=>14476,27708=>14477,27710=>14478,27711=>14479,27715=>14480,27716=>14481,27717=>14482,27720=>14483,27723=>14484,27724=>14485,27725=>14486,27726=>14487,27727=>14488,27729=>14489,27730=>14490,27731=>14491,27734=>14492,27736=>14493,27737=>14494,27738=>14495,27746=>14496,27747=>14497,27749=>14498,27750=>14499,27751=>14500,27755=>14501,27756=>14502,27757=>14503,27758=>14504,27759=>14505,27761=>14506,27763=>14507,27765=>14508,27767=>14509,27768=>14510,27770=>14511,27771=>14512,27772=>14513,27775=>14514,27776=>14515,27780=>14516,27783=>14517,27786=>14518,27787=>14519,27789=>14520,27790=>14521,27793=>14522,27794=>14523,27797=>14524,27798=>14525,27799=>14526,27800=>14527,27802=>14528,27804=>14529,27805=>14530,27806=>14531,27808=>14532,27810=>14533,27816=>14534,27820=>14535,27823=>14536,27824=>14537,27828=>14538,27829=>14539,27830=>14540,27831=>14541,27834=>14542,27840=>14543,27841=>14544,27842=>14545,27843=>14546,27846=>14547,27847=>14548,27848=>14549,27851=>14550,27853=>14551,27854=>14552,27855=>14553,27857=>14554,27858=>14555,27864=>14556,27865=>14557,27866=>14558,27868=>14559,27869=>14560,27871=>14561,27876=>14562,27878=>14563,27879=>14564,27881=>14565,27884=>14566,27885=>14567,27890=>14568,27892=>14569,27897=>14570,27903=>14571,27904=>14572,27906=>14573,27907=>14574,27909=>14575,27910=>14576,27912=>14577,27913=>14578,27914=>14579,27917=>14580,27919=>14581,27920=>14582,27921=>14583,27923=>14584,27924=>14585,27925=>14586,27926=>14587,27928=>14588,27932=>14589,27933=>14590,27935=>14591,27936=>14592,27937=>14593,27938=>14594,27939=>14595,27940=>14596,27942=>14597,27944=>14598,27945=>14599,27948=>14600,27949=>14601,27951=>14602,27952=>14603,27956=>14604,27958=>14605,27959=>14606,27960=>14607,27962=>14608,27967=>14609,27968=>14610,27970=>14611,27972=>14612,27977=>14613,27980=>14614,27984=>14615,27989=>14616,27990=>14617,27991=>14618,27992=>14619,27995=>14620,27997=>14621,27999=>14622,28001=>14623,28002=>14624,28004=>14625,28005=>14626,28007=>14627,28008=>14628,28011=>14629,28012=>14630,28013=>14631,28016=>14632,28017=>14633,28018=>14634,28019=>14635,28021=>14636,28022=>14637,28026=>14638,28027=>14639,28029=>14640,28030=>14641,28031=>14642,28032=>14643,28033=>14644,28035=>14645,28036=>14646,28038=>14647,28042=>14648,28043=>14649,28045=>14650,28047=>14651,28048=>14652,28050=>14653,28054=>14654,28055=>14655,28056=>14656,28057=>14657,28058=>14658,28060=>14659,28066=>14660,28069=>14661,28076=>14662,28077=>14663,28080=>14664,28081=>14665,28083=>14666,28084=>14667,28086=>14668,28087=>14669,28089=>14670,28090=>14671,28091=>14672,28092=>14673,28093=>14674,28094=>14675,28097=>14676,28098=>14677,28099=>14678,28104=>14679,28105=>14680,28106=>14681,28109=>14682,28110=>14683,28111=>14684,28112=>14685,28114=>14686,28115=>14687,28116=>14688,28117=>14689,28119=>14690,28122=>14691,28123=>14692,28124=>14693,28127=>14694,28130=>14695,28131=>14696,28133=>14697,28135=>14698,28136=>14699,28137=>14700,28141=>14701,28143=>14702,28144=>14703,28146=>14704,28148=>14705,28152=>14706,28157=>14707,28158=>14708,28159=>14709,28160=>14710,28161=>14711,28162=>14712,28163=>14713,28164=>14714,28166=>14715,28167=>14716,28168=>14717,28169=>14718,28171=>14719,28175=>14720,28178=>14721,28179=>14722,28181=>14723,28184=>14724,28185=>14725,28187=>14726,28188=>14727,28190=>14728,28191=>14729,28194=>14730,28199=>14731,28200=>14732,28202=>14733,28206=>14734,28208=>14735,28209=>14736,28211=>14737,28213=>14738,28214=>14739,28215=>14740,28217=>14741,28219=>14742,28220=>14743,28221=>14744,28223=>14745,28224=>14746,28225=>14747,28226=>14748,28229=>14749,28230=>14750,28231=>14751,28232=>14752,28233=>14753,28234=>14754,28235=>14755,28236=>14756,28239=>14757,28240=>14758,28241=>14759,28242=>14760,28245=>14761,28247=>14762,28249=>14763,28250=>14764,28252=>14765,28253=>14766,28256=>14767,28257=>14768,28258=>14769,28259=>14770,28260=>14771,28261=>14772,28262=>14773,28263=>14774,28264=>14775,28265=>14776,28266=>14777,28268=>14778,28269=>14779,28272=>14780,28273=>14781,28274=>14782,28275=>14783,28276=>14784,28277=>14785,28278=>14786,28279=>14787,28280=>14788,28281=>14789,28282=>14790,28283=>14791,28284=>14792,28285=>14793,28288=>14794,28289=>14795,28290=>14796,28292=>14797,28295=>14798,28296=>14799,28298=>14800,28299=>14801,28300=>14802,28301=>14803,28302=>14804,28305=>14805,28306=>14806,28307=>14807,28308=>14808,28309=>14809,28311=>14810,28313=>14811,28314=>14812,28315=>14813,28318=>14814,28320=>14815,28321=>14816,28323=>14817,28324=>14818,28326=>14819,28328=>14820,28329=>14821,28331=>14822,28332=>14823,28333=>14824,28334=>14825,28336=>14826,28339=>14827,28341=>14828,28344=>14829,28345=>14830,28348=>14831,28350=>14832,28351=>14833,28352=>14834,28355=>14835,28358=>14836,28360=>14837,28361=>14838,28362=>14839,28365=>14840,28368=>14841,28370=>14842,28374=>14843,28376=>14844,28377=>14845,28379=>14846,28380=>14847,28381=>14848,28387=>14849,28391=>14850,28394=>14851,28395=>14852,28397=>14853,28398=>14854,28400=>14855,28401=>14856,28403=>14857,28405=>14858,28406=>14859,28410=>14860,28411=>14861,28412=>14862,28413=>14863,28414=>14864,28416=>14865,28419=>14866,28420=>14867,28421=>14868,28423=>14869,28424=>14870,28426=>14871,28427=>14872,28428=>14873,28429=>14874,28430=>14875,28432=>14876,28433=>14877,28434=>14878,28438=>14879,28439=>14880,28440=>14881,28441=>14882,28443=>14883,28444=>14884,28445=>14885,28446=>14886,28447=>14887,28449=>14888,28453=>14889,28454=>14890,28455=>14891,28456=>14892,28462=>14893,28464=>14894,28468=>14895,28469=>14896,28471=>14897,28473=>14898,28474=>14899,28475=>14900,28476=>14901,28477=>14902,28480=>14903,28482=>14904,28483=>14905,28484=>14906,28485=>14907,28488=>14908,28489=>14909,28490=>14910,28492=>14911,28494=>14912,28495=>14913,28496=>14914,28498=>14915,28499=>14916,28501=>14917,28502=>14918,28503=>14919,28506=>14920,28507=>14921,28509=>14922,28511=>14923,28512=>14924,28513=>14925,28515=>14926,28517=>14927,28519=>14928,28520=>14929,28521=>14930,28522=>14931,28523=>14932,28524=>14933,28529=>14934,28531=>14935,28533=>14936,28534=>14937,28537=>14938,28539=>14939,28541=>14940,28542=>14941,28545=>14942,28546=>14943,28547=>14944,28549=>14945,28554=>14946,28555=>14947,28559=>14948,28560=>14949,28561=>14950,28562=>14951,28563=>14952,28564=>14953,28565=>14954,28566=>14955,28568=>14956,28569=>14957,28570=>14958,28571=>14959,28573=>14960,28574=>14961,28575=>14962,28578=>14963,28579=>14964,28581=>14965,28582=>14966,28584=>14967,28586=>14968,28587=>14969,28588=>14970,28589=>14971,28591=>14972,28592=>14973,28594=>14974,28596=>14975,28597=>14976,28599=>14977,28600=>14978,28602=>14979,28603=>14980,28604=>14981,28605=>14982,28606=>14983,28607=>14984,28612=>14985,28613=>14986,28614=>14987,28615=>14988,28616=>14989,28618=>14990,28619=>14991,28620=>14992,28621=>14993,28622=>14994,28623=>14995,28624=>14996,28627=>14997,28628=>14998,28630=>14999,28631=>15000,28633=>15001,28634=>15002,28636=>15003,28637=>15004,28642=>15005,28643=>15006,28645=>15007,28646=>15008,28647=>15009,28648=>15010,28649=>15011,28650=>15012,28652=>15013,28653=>15014,28658=>15015,28659=>15016,28660=>15017,28661=>15018,28662=>15019,28663=>15020,28664=>15021,28665=>15022,28667=>15023,28669=>15024,28671=>15025,28672=>15026,28673=>15027,28674=>15028,28675=>15029,28676=>15030,28679=>15031,28680=>15032,28682=>15033,28684=>15034,28685=>15035,28686=>15036,28688=>15037,28690=>15038,28691=>15039,28692=>15040,28694=>15041,28695=>15042,28697=>15043,28700=>15044,28702=>15045,28705=>15046,28706=>15047,28708=>15048,28709=>15049,28710=>15050,28713=>15051,28714=>15052,28715=>15053,28716=>15054,28717=>15055,28718=>15056,28719=>15057,28721=>15058,28723=>15059,28724=>15060,28726=>15061,28727=>15062,28728=>15063,28730=>15064,28731=>15065,28732=>15066,28733=>15067,28735=>15068,28736=>15069,28737=>15070,28738=>15071,28741=>15072,28742=>15073,28743=>15074,28744=>15075,28745=>15076,28746=>15077,28747=>15078,28749=>15079,28750=>15080,28752=>15081,28754=>15082,28755=>15083,28756=>15084,28758=>15085,28759=>15086,28761=>15087,28762=>15088,28763=>15089,28764=>15090,28767=>15091,28768=>15092,28769=>15093,28770=>15094,28773=>15095,28774=>15096,28776=>15097,28777=>15098,28778=>15099,28782=>15100,28785=>15101,28786=>15102,28787=>15103,28788=>15104,28791=>15105,28793=>15106,28794=>15107,28795=>15108,28797=>15109,28801=>15110,28802=>15111,28803=>15112,28804=>15113,28806=>15114,28807=>15115,28808=>15116,28811=>15117,28812=>15118,28813=>15119,28815=>15120,28816=>15121,28817=>15122,28819=>15123,28823=>15124,28824=>15125,28826=>15126,28827=>15127,28830=>15128,28831=>15129,28832=>15130,28833=>15131,28834=>15132,28835=>15133,28836=>15134,28837=>15135,28838=>15136,28839=>15137,28840=>15138,28841=>15139,28842=>15140,28848=>15141,28850=>15142,28852=>15143,28853=>15144,28854=>15145,28858=>15146,28862=>15147,28863=>15148,28868=>15149,28869=>15150,28870=>15151,28871=>15152,28873=>15153,28875=>15154,28876=>15155,28877=>15156,28878=>15157,28880=>15158,28881=>15159,28882=>15160,28883=>15161,28884=>15162,28885=>15163,28886=>15164,28887=>15165,28890=>15166,28892=>15167,28893=>15168,28894=>15169,28896=>15170,28897=>15171,28898=>15172,28899=>15173,28901=>15174,28906=>15175,28910=>15176,28912=>15177,28913=>15178,28914=>15179,28915=>15180,28917=>15181,28918=>15182,28920=>15183,28922=>15184,28923=>15185,28924=>15186,28926=>15187,28927=>15188,28928=>15189,28929=>15190,28930=>15191,28931=>15192,28932=>15193,28933=>15194,28934=>15195,28935=>15196,28936=>15197,28939=>15198,28940=>15199,28941=>15200,28942=>15201,28943=>15202,28945=>15203,28946=>15204,28948=>15205,28951=>15206,28955=>15207,28956=>15208,28957=>15209,28958=>15210,28959=>15211,28960=>15212,28962=>15213,28963=>15214,28964=>15215,28965=>15216,28967=>15217,28968=>15218,28969=>15219,28970=>15220,28971=>15221,28972=>15222,28973=>15223,28974=>15224,28978=>15225,28979=>15226,28980=>15227,28981=>15228,28983=>15229,28984=>15230,28985=>15231,28986=>15232,28987=>15233,28988=>15234,28989=>15235,28990=>15236,28991=>15237,28992=>15238,28993=>15239,28994=>15240,28995=>15241,28996=>15242,28998=>15243,28999=>15244,29000=>15245,29003=>15246,29005=>15247,29007=>15248,29008=>15249,29009=>15250,29011=>15251,29012=>15252,29013=>15253,29014=>15254,29015=>15255,29016=>15256,29017=>15257,29018=>15258,29019=>15259,29021=>15260,29023=>15261,29024=>15262,29025=>15263,29027=>15264,29029=>15265,29034=>15266,29035=>15267,29037=>15268,29039=>15269,29040=>15270,29041=>15271,29044=>15272,29045=>15273,29046=>15274,29047=>15275,29049=>15276,29051=>15277,29052=>15278,29054=>15279,29055=>15280,29056=>15281,29057=>15282,29058=>15283,29059=>15284,29061=>15285,29062=>15286,29063=>15287,29064=>15288,29065=>15289,29067=>15290,29068=>15291,29069=>15292,29070=>15293,29072=>15294,29073=>15295,29075=>15296,29077=>15297,29078=>15298,29082=>15299,29083=>15300,29084=>15301,29085=>15302,29086=>15303,29089=>15304,29090=>15305,29091=>15306,29092=>15307,29093=>15308,29094=>15309,29095=>15310,29097=>15311,29098=>15312,29099=>15313,29101=>15314,29102=>15315,29103=>15316,29104=>15317,29106=>15318,29108=>15319,29110=>15320,29111=>15321,29112=>15322,29114=>15323,29115=>15324,29116=>15325,29117=>15326,29119=>15327,29120=>15328,29122=>15329,29124=>15330,29125=>15331,29126=>15332,29127=>15333,29129=>15334,29130=>15335,29131=>15336,29132=>15337,29133=>15338,29135=>15339,29136=>15340,29137=>15341,29139=>15342,29142=>15343,29143=>15344,29144=>15345,29146=>15346,29147=>15347,29149=>15348,29150=>15349,29153=>15350,29154=>15351,29155=>15352,29156=>15353,29160=>15354,29161=>15355,29162=>15356,29163=>15357,29164=>15358,29167=>15359,29168=>15360,29169=>15361,29170=>15362,29171=>15363,29173=>15364,29174=>15365,29175=>15366,29176=>15367,29178=>15368,29179=>15369,29181=>15370,29183=>15371,29184=>15372,29185=>15373,29186=>15374,29187=>15375,29188=>15376,29189=>15377,29191=>15378,29192=>15379,29193=>15380,29194=>15381,29195=>15382,29196=>15383,29198=>15384,29199=>15385,29201=>15386,29202=>15387,29203=>15388,29204=>15389,29205=>15390,29206=>15391,29207=>15392,29208=>15393,29209=>15394,29210=>15395,29212=>15396,29214=>15397,29215=>15398,29216=>15399,29217=>15400,29218=>15401,29219=>15402,29220=>15403,29221=>15404,29222=>15405,29223=>15406,29225=>15407,29227=>15408,29229=>15409,29230=>15410,29231=>15411,29235=>15412,29236=>15413,29244=>15414,29248=>15415,29249=>15416,29250=>15417,29251=>15418,29252=>15419,29253=>15420,29254=>15421,29257=>15422,29258=>15423,29259=>15424,29262=>15425,29263=>15426,29264=>15427,29265=>15428,29267=>15429,29268=>15430,29269=>15431,29271=>15432,29274=>15433,29276=>15434,29278=>15435,29280=>15436,29283=>15437,29284=>15438,29285=>15439,29288=>15440,29290=>15441,29291=>15442,29292=>15443,29293=>15444,29296=>15445,29297=>15446,29299=>15447,29300=>15448,29302=>15449,29303=>15450,29304=>15451,29307=>15452,29308=>15453,29314=>15454,29315=>15455,29317=>15456,29318=>15457,29319=>15458,29320=>15459,29321=>15460,29324=>15461,29326=>15462,29328=>15463,29329=>15464,29331=>15465,29332=>15466,29333=>15467,29335=>15468,29336=>15469,29337=>15470,29338=>15471,29339=>15472,29340=>15473,29341=>15474,29342=>15475,29344=>15476,29345=>15477,29347=>15478,29348=>15479,29349=>15480,29350=>15481,29352=>15482,29353=>15483,29354=>15484,29355=>15485,29358=>15486,29361=>15487,29362=>15488,29363=>15489,29365=>15490,29370=>15491,29371=>15492,29372=>15493,29373=>15494,29374=>15495,29375=>15496,29381=>15497,29382=>15498,29383=>15499,29385=>15500,29386=>15501,29387=>15502,29388=>15503,29391=>15504,29393=>15505,29395=>15506,29396=>15507,29397=>15508,29398=>15509,29400=>15510,29402=>15511,29403=>15512,29404=>15513,29405=>15514,29407=>15515,29410=>15516,29411=>15517,29412=>15518,29413=>15519,29414=>15520,29415=>15521,29418=>15522,29419=>15523,29429=>15524,29430=>15525,29438=>15526,29439=>15527,29440=>15528,29442=>15529,29444=>15530,29445=>15531,29446=>15532,29447=>15533,29448=>15534,29449=>15535,29451=>15536,29452=>15537,29453=>15538,29455=>15539,29456=>15540,29457=>15541,29458=>15542,29460=>15543,29464=>15544,29465=>15545,29466=>15546,29471=>15547,29472=>15548,29475=>15549,29476=>15550,29478=>15551,29479=>15552,29480=>15553,29485=>15554,29487=>15555,29488=>15556,29490=>15557,29491=>15558,29493=>15559,29498=>15560,29500=>15561,29501=>15562,29504=>15563,29506=>15564,29507=>15565,29510=>15566,29511=>15567,29512=>15568,29513=>15569,29514=>15570,29515=>15571,29516=>15572,29518=>15573,29519=>15574,29521=>15575,29523=>15576,29524=>15577,29525=>15578,29526=>15579,29528=>15580,29529=>15581,29530=>15582,29531=>15583,29532=>15584,29533=>15585,29534=>15586,29535=>15587,29537=>15588,29538=>15589,29539=>15590,29540=>15591,29541=>15592,29542=>15593,29543=>15594,29545=>15595,29550=>15596,29553=>15597,29555=>15598,29556=>15599,29558=>15600,29561=>15601,29565=>15602,29567=>15603,29569=>15604,29570=>15605,29571=>15606,29573=>15607,29574=>15608,29576=>15609,29578=>15610,29580=>15611,29581=>15612,29583=>15613,29584=>15614,29586=>15615,29587=>15616,29588=>15617,29589=>15618,29591=>15619,29592=>15620,29593=>15621,29594=>15622,29596=>15623,29597=>15624,29598=>15625,29600=>15626,29601=>15627,29603=>15628,29604=>15629,29605=>15630,29606=>15631,29607=>15632,29608=>15633,29610=>15634,29612=>15635,29613=>15636,29617=>15637,29620=>15638,29621=>15639,29622=>15640,29624=>15641,29625=>15642,29628=>15643,29629=>15644,29630=>15645,29631=>15646,29633=>15647,29635=>15648,29636=>15649,29637=>15650,29638=>15651,29639=>15652,29643=>15653,29644=>15654,29646=>15655,29650=>15656,29651=>15657,29652=>15658,29653=>15659,29654=>15660,29655=>15661,29656=>15662,29658=>15663,29659=>15664,29660=>15665,29661=>15666,29663=>15667,29665=>15668,29666=>15669,29667=>15670,29668=>15671,29670=>15672,29672=>15673,29674=>15674,29675=>15675,29676=>15676,29678=>15677,29679=>15678,29680=>15679,29681=>15680,29683=>15681,29684=>15682,29685=>15683,29686=>15684,29687=>15685,29688=>15686,29689=>15687,29690=>15688,29691=>15689,29692=>15690,29693=>15691,29695=>15692,29696=>15693,29697=>15694,29698=>15695,29700=>15696,29703=>15697,29704=>15698,29707=>15699,29708=>15700,29709=>15701,29710=>15702,29713=>15703,29714=>15704,29715=>15705,29716=>15706,29717=>15707,29718=>15708,29719=>15709,29720=>15710,29721=>15711,29724=>15712,29725=>15713,29726=>15714,29727=>15715,29728=>15716,29729=>15717,29731=>15718,29732=>15719,29735=>15720,29737=>15721,29739=>15722,29741=>15723,29743=>15724,29745=>15725,29746=>15726,29751=>15727,29752=>15728,29753=>15729,29754=>15730,29755=>15731,29757=>15732,29758=>15733,29760=>15734,29762=>15735,29763=>15736,29764=>15737,29765=>15738,29766=>15739,29767=>15740,29768=>15741,29769=>15742,29770=>15743,29772=>15744,29773=>15745,29774=>15746,29775=>15747,29776=>15748,29777=>15749,29778=>15750,29779=>15751,29780=>15752,29782=>15753,29784=>15754,29789=>15755,29792=>15756,29793=>15757,29794=>15758,29796=>15759,29797=>15760,29798=>15761,29799=>15762,29800=>15763,29803=>15764,29804=>15765,29806=>15766,29807=>15767,29809=>15768,29810=>15769,29811=>15770,29812=>15771,29813=>15772,29816=>15773,29817=>15774,29818=>15775,29819=>15776,29820=>15777,29821=>15778,29823=>15779,29826=>15780,29828=>15781,29829=>15782,29830=>15783,29832=>15784,29834=>15785,29836=>15786,29837=>15787,29839=>15788,29841=>15789,29842=>15790,29843=>15791,29844=>15792,29845=>15793,29846=>15794,29847=>15795,29848=>15796,29849=>15797,29850=>15798,29851=>15799,29853=>15800,29855=>15801,29856=>15802,29857=>15803,29858=>15804,29860=>15805,29861=>15806,29866=>15807,29867=>15808,29868=>15809,29869=>15810,29870=>15811,29871=>15812,29873=>15813,29874=>15814,29875=>15815,29876=>15816,29877=>15817,29878=>15818,29879=>15819,29880=>15820,29881=>15821,29883=>15822,29884=>15823,29886=>15824,29887=>15825,29888=>15826,29889=>15827,29890=>15828,29891=>15829,29892=>15830,29893=>15831,29894=>15832,29895=>15833,29896=>15834,29897=>15835,29899=>15836,29900=>15837,29901=>15838,29902=>15839,29904=>15840,29905=>15841,29907=>15842,29909=>15843,29910=>15844,29911=>15845,29912=>15846,29913=>15847,29915=>15848,29917=>15849,29919=>15850,29921=>15851,29925=>15852,29927=>15853,29928=>15854,29929=>15855,29930=>15856,29931=>15857,29932=>15858,29933=>15859,29936=>15860,29937=>15861,29938=>15862,29939=>15863,29941=>15864,29944=>15865,29945=>15866,29946=>15867,29947=>15868,29948=>15869,29949=>15870,29950=>15871,29952=>15872,29953=>15873,29954=>15874,29955=>15875,29957=>15876,29958=>15877,29959=>15878,29960=>15879,29961=>15880,29962=>15881,29963=>15882,29966=>15883,29968=>15884,29970=>15885,29972=>15886,29973=>15887,29974=>15888,29975=>15889,29979=>15890,29981=>15891,29982=>15892,29984=>15893,29985=>15894,29986=>15895,29988=>15896,29990=>15897,29991=>15898,29994=>15899,29998=>15900,30004=>15901,30006=>15902,30009=>15903,30012=>15904,30013=>15905,30015=>15906,30017=>15907,30018=>15908,30019=>15909,30020=>15910,30022=>15911,30023=>15912,30025=>15913,30026=>15914,30029=>15915,30032=>15916,30033=>15917,30034=>15918,30035=>15919,30037=>15920,30038=>15921,30039=>15922,30040=>15923,30046=>15924,30047=>15925,30048=>15926,30049=>15927,30051=>15928,30052=>15929,30055=>15930,30056=>15931,30057=>15932,30060=>15933,30061=>15934,30062=>15935,30063=>15936,30064=>15937,30065=>15938,30067=>15939,30069=>15940,30071=>15941,30074=>15942,30075=>15943,30076=>15944,30077=>15945,30078=>15946,30080=>15947,30081=>15948,30082=>15949,30084=>15950,30085=>15951,30088=>15952,30089=>15953,30090=>15954,30092=>15955,30093=>15956,30094=>15957,30096=>15958,30099=>15959,30101=>15960,30104=>15961,30107=>15962,30108=>15963,30110=>15964,30114=>15965,30118=>15966,30119=>15967,30120=>15968,30121=>15969,30122=>15970,30125=>15971,30134=>15972,30135=>15973,30138=>15974,30139=>15975,30143=>15976,30144=>15977,30145=>15978,30150=>15979,30155=>15980,30156=>15981,30158=>15982,30159=>15983,30160=>15984,30161=>15985,30163=>15986,30167=>15987,30170=>15988,30172=>15989,30173=>15990,30175=>15991,30176=>15992,30177=>15993,30181=>15994,30185=>15995,30188=>15996,30189=>15997,30190=>15998,30191=>15999,30194=>16000,30195=>16001,30197=>16002,30198=>16003,30199=>16004,30200=>16005,30202=>16006,30203=>16007,30205=>16008,30206=>16009,30212=>16010,30214=>16011,30215=>16012,30216=>16013,30217=>16014,30222=>16015,30223=>16016,30225=>16017,30226=>16018,30227=>16019,30228=>16020,30230=>16021,30234=>16022,30236=>16023,30237=>16024,30243=>16025,30248=>16026,30252=>16027,30254=>16028,30255=>16029,30257=>16030,30258=>16031,30262=>16032,30263=>16033,30265=>16034,30266=>16035,30269=>16036,30273=>16037,30276=>16038,30277=>16039,30280=>16040,30282=>16041,30283=>16042,30286=>16043,30287=>16044,30288=>16045,30289=>16046,30290=>16047,30291=>16048,30293=>16049,30295=>16050,30297=>16051,30298=>16052,30299=>16053,30301=>16054,30304=>16055,30305=>16056,30310=>16057,30312=>16058,30314=>16059,30323=>16060,30324=>16061,30325=>16062,12136=>16063,30326=>16063,30327=>16064,30329=>16065,30330=>16066,30335=>16067,30336=>16068,30337=>16069,30339=>16070,30341=>16071,30345=>16072,30346=>16073,30348=>16074,30349=>16075,30351=>16076,30352=>16077,30354=>16078,30356=>16079,30357=>16080,30359=>16081,30360=>16082,30363=>16083,30364=>16084,30365=>16085,30366=>16086,30367=>16087,30368=>16088,30369=>16089,30370=>16090,30371=>16091,30373=>16092,30374=>16093,30375=>16094,30376=>16095,30377=>16096,30378=>16097,30379=>16098,30380=>16099,30381=>16100,30383=>16101,30384=>16102,30387=>16103,30389=>16104,30390=>16105,30391=>16106,30393=>16107,30395=>16108,30396=>16109,30397=>16110,30398=>16111,30400=>16112,30401=>16113,30403=>16114,30404=>16115,30407=>16116,30409=>16117,30411=>16118,30412=>16119,30419=>16120,30421=>16121,30425=>16122,30426=>16123,30428=>16124,30429=>16125,30432=>16126,30434=>16127,30438=>16128,30440=>16129,30441=>16130,30442=>16131,30443=>16132,30444=>16133,30445=>16134,30448=>16135,30451=>16136,30453=>16137,30454=>16138,30455=>16139,30458=>16140,30459=>16141,30461=>16142,30463=>16143,30464=>16144,30466=>16145,30467=>16146,30469=>16147,30470=>16148,30474=>16149,30476=>16150,30478=>16151,30479=>16152,30480=>16153,30481=>16154,30482=>16155,30483=>16156,30484=>16157,30485=>16158,30486=>16159,30487=>16160,30488=>16161,30491=>16162,30492=>16163,30493=>16164,30494=>16165,30497=>16166,30499=>16167,30500=>16168,30501=>16169,30503=>16170,30506=>16171,30507=>16172,30508=>16173,30510=>16174,30512=>16175,30513=>16176,30514=>16177,30515=>16178,30516=>16179,30521=>16180,30523=>16181,30525=>16182,30526=>16183,30527=>16184,30530=>16185,30532=>16186,30533=>16187,30534=>16188,30536=>16189,30537=>16190,30538=>16191,30539=>16192,30540=>16193,30541=>16194,30542=>16195,30546=>16196,30547=>16197,30548=>16198,30549=>16199,30550=>16200,30551=>16201,30552=>16202,30553=>16203,30556=>16204,30557=>16205,30559=>16206,30560=>16207,30564=>16208,30567=>16209,30569=>16210,30570=>16211,30573=>16212,30574=>16213,30575=>16214,30576=>16215,30577=>16216,30578=>16217,30579=>16218,30580=>16219,30581=>16220,30582=>16221,30583=>16222,30584=>16223,30586=>16224,30587=>16225,30588=>16226,30593=>16227,30594=>16228,30595=>16229,30598=>16230,30599=>16231,30600=>16232,30601=>16233,30602=>16234,30603=>16235,30607=>16236,30608=>16237,30611=>16238,30612=>16239,30613=>16240,30614=>16241,30615=>16242,30617=>16243,30618=>16244,30619=>16245,30620=>16246,30621=>16247,30625=>16248,30627=>16249,30628=>16250,30630=>16251,30632=>16252,30635=>16253,30638=>16254,30639=>16255,30641=>16256,30642=>16257,30644=>16258,30646=>16259,30647=>16260,30648=>16261,30649=>16262,30650=>16263,30654=>16264,30656=>16265,30657=>16266,30658=>16267,30659=>16268,30660=>16269,30661=>16270,30662=>16271,30664=>16272,30665=>16273,30666=>16274,30667=>16275,30668=>16276,30670=>16277,30671=>16278,30672=>16279,30673=>16280,30674=>16281,30675=>16282,30676=>16283,30677=>16284,30678=>16285,30680=>16286,30681=>16287,30685=>16288,30686=>16289,30687=>16290,30688=>16291,30689=>16292,30692=>16293,30694=>16294,30696=>16295,30698=>16296,30704=>16297,30705=>16298,30706=>16299,30708=>16300,30709=>16301,30711=>16302,30713=>16303,30714=>16304,30715=>16305,30716=>16306,30723=>16307,30724=>16308,30725=>16309,30726=>16310,30727=>16311,30728=>16312,30730=>16313,30731=>16314,30734=>16315,30735=>16316,30736=>16317,30739=>16318,30741=>16319,30745=>16320,30747=>16321,30750=>16322,30752=>16323,30753=>16324,30754=>16325,30756=>16326,30760=>16327,30762=>16328,30763=>16329,30766=>16330,30767=>16331,30769=>16332,30770=>16333,30771=>16334,30773=>16335,30774=>16336,30781=>16337,30783=>16338,30785=>16339,30786=>16340,30788=>16341,30790=>16342,30792=>16343,30793=>16344,30794=>16345,30795=>16346,30797=>16347,30799=>16348,30801=>16349,30803=>16350,30804=>16351,30808=>16352,30809=>16353,30810=>16354,30811=>16355,30812=>16356,30814=>16357,30815=>16358,30816=>16359,30817=>16360,30818=>16361,30819=>16362,30821=>16363,30822=>16364,30823=>16365,30825=>16366,30832=>16367,30833=>16368,30834=>16369,30835=>16370,30836=>16371,30837=>16372,30838=>16373,30840=>16374,30841=>16375,30842=>16376,30843=>16377,30845=>16378,30846=>16379,30847=>16380,30848=>16381,30849=>16382,30850=>16383,30851=>16384,30852=>16385,30853=>16386,30854=>16387,30856=>16388,30858=>16389,30859=>16390,30863=>16391,30864=>16392,30866=>16393,30868=>16394,30869=>16395,30870=>16396,30873=>16397,30877=>16398,30878=>16399,30880=>16400,30882=>16401,30884=>16402,30886=>16403,30888=>16404,30890=>16405,30891=>16406,30892=>16407,30894=>16408,30895=>16409,30901=>16410,30902=>16411,30903=>16412,30907=>16413,30909=>16414,30911=>16415,30912=>16416,30914=>16417,30915=>16418,30916=>16419,30918=>16420,30919=>16421,30920=>16422,30924=>16423,30925=>16424,30926=>16425,30927=>16426,30929=>16427,30930=>16428,30931=>16429,30934=>16430,30935=>16431,30936=>16432,30939=>16433,30940=>16434,30941=>16435,30942=>16436,30943=>16437,30944=>16438,30945=>16439,30946=>16440,30948=>16441,30949=>16442,30950=>16443,30953=>16444,30954=>16445,30955=>16446,30957=>16447,30958=>16448,30960=>16449,30961=>16450,30963=>16451,30965=>16452,30966=>16453,30968=>16454,30969=>16455,30971=>16456,30972=>16457,30974=>16458,30975=>16459,30976=>16460,30978=>16461,30979=>16462,30980=>16463,30982=>16464,30983=>16465,30984=>16466,30985=>16467,30986=>16468,30987=>16469,30988=>16470,30989=>16471,30991=>16472,30992=>16473,30993=>16474,30994=>16475,30996=>16476,30997=>16477,30998=>16478,30999=>16479,31000=>16480,31002=>16481,31003=>16482,31004=>16483,31005=>16484,31007=>16485,31008=>16486,31009=>16487,31010=>16488,31011=>16489,31013=>16490,31015=>16491,31016=>16492,31017=>16493,31021=>16494,31022=>16495,31023=>16496,31024=>16497,31026=>16498,31027=>16499,31029=>16500,31030=>16501,31031=>16502,31032=>16503,31033=>16504,31037=>16505,31039=>16506,31042=>16507,31043=>16508,31044=>16509,31045=>16510,31047=>16511,31050=>16512,31051=>16513,31052=>16514,31053=>16515,31054=>16516,31055=>16517,31056=>16518,31057=>16519,31058=>16520,31060=>16521,31061=>16522,31064=>16523,31065=>16524,31073=>16525,31075=>16526,31076=>16527,31078=>16528,31081=>16529,31082=>16530,31083=>16531,31084=>16532,31086=>16533,31088=>16534,31089=>16535,31090=>16536,31091=>16537,31092=>16538,31093=>16539,31094=>16540,31097=>16541,31099=>16542,31100=>16543,31101=>16544,31102=>16545,31103=>16546,31106=>16547,31107=>16548,31110=>16549,31111=>16550,31112=>16551,31113=>16552,31115=>16553,31116=>16554,31120=>16555,31121=>16556,31122=>16557,31123=>16558,31124=>16559,31125=>16560,31126=>16561,31127=>16562,31128=>16563,31129=>16564,31131=>16565,31132=>16566,31133=>16567,31134=>16568,31135=>16569,31136=>16570,31137=>16571,31138=>16572,31139=>16573,31140=>16574,31141=>16575,31144=>16576,31145=>16577,31147=>16578,31148=>16579,31149=>16580,31151=>16581,31154=>16582,31156=>16583,31157=>16584,31158=>16585,31159=>16586,12145=>16587,31160=>16587,31164=>16588,31167=>16589,31170=>16590,31172=>16591,31173=>16592,31175=>16593,31176=>16594,31178=>16595,63893=>16595,31180=>16596,31182=>16597,31183=>16598,31184=>16599,31187=>16600,31188=>16601,31190=>16602,31191=>16603,31193=>16604,31194=>16605,31195=>16606,31196=>16607,31197=>16608,31198=>16609,31200=>16610,31201=>16611,31202=>16612,31205=>16613,31208=>16614,31210=>16615,31212=>16616,31214=>16617,31217=>16618,31218=>16619,31219=>16620,31220=>16621,31221=>16622,31222=>16623,31223=>16624,31225=>16625,31226=>16626,31228=>16627,31230=>16628,31231=>16629,31233=>16630,31236=>16631,31237=>16632,31239=>16633,31240=>16634,31241=>16635,31242=>16636,31244=>16637,31247=>16638,31248=>16639,31249=>16640,31250=>16641,31251=>16642,31253=>16643,31254=>16644,31256=>16645,31257=>16646,31259=>16647,31260=>16648,31261=>16649,31263=>16650,31265=>16651,31266=>16652,31268=>16653,31269=>16654,31270=>16655,31271=>16656,31272=>16657,31273=>16658,31274=>16659,31275=>16660,31276=>16661,31277=>16662,31279=>16663,31280=>16664,31282=>16665,31284=>16666,31285=>16667,31286=>16668,31288=>16669,31290=>16670,31294=>16671,31297=>16672,31298=>16673,31299=>16674,31300=>16675,31301=>16676,31303=>16677,31304=>16678,31305=>16679,31306=>16680,31307=>16681,31311=>16682,31312=>16683,31314=>16684,31315=>16685,31316=>16686,31317=>16687,31318=>16688,31320=>16689,31321=>16690,31322=>16691,31323=>16692,31324=>16693,31325=>16694,31326=>16695,31327=>16696,31328=>16697,31331=>16698,31332=>16699,31333=>16700,31334=>16701,31335=>16702,31336=>16703,31338=>16704,31340=>16705,31341=>16706,31342=>16707,31343=>16708,31345=>16709,31346=>16710,31347=>16711,31349=>16712,31355=>16713,31356=>16714,31357=>16715,31358=>16716,31362=>16717,31365=>16718,31367=>16719,31369=>16720,31370=>16721,31371=>16722,31372=>16723,31374=>16724,31375=>16725,31376=>16726,31379=>16727,31380=>16728,31385=>16729,31386=>16730,31387=>16731,31390=>16732,31393=>16733,31394=>16734,31395=>16735,31396=>16736,31399=>16737,31403=>16738,31407=>16739,31408=>16740,31409=>16741,31410=>16742,31412=>16743,31413=>16744,31415=>16745,31416=>16746,31417=>16747,31419=>16748,31420=>16749,31421=>16750,31422=>16751,31424=>16752,31425=>16753,31426=>16754,31427=>16755,31430=>16756,31433=>16757,31436=>16758,31437=>16759,31438=>16760,31439=>16761,31440=>16762,31441=>16763,31442=>16764,31443=>16765,31444=>16766,31445=>16767,31447=>16768,31448=>16769,31450=>16770,31451=>16771,31452=>16772,31453=>16773,31457=>16774,31458=>16775,31460=>16776,31463=>16777,31464=>16778,31465=>16779,31467=>16780,31468=>16781,31470=>16782,31472=>16783,31473=>16784,31474=>16785,31475=>16786,31476=>16787,31477=>16788,31479=>16789,31480=>16790,31483=>16791,31484=>16792,31486=>16793,31488=>16794,31489=>16795,31490=>16796,31493=>16797,31495=>16798,31497=>16799,31500=>16800,31501=>16801,31502=>16802,31504=>16803,31506=>16804,31507=>16805,31510=>16806,31511=>16807,31512=>16808,31514=>16809,31516=>16810,31517=>16811,31519=>16812,31521=>16813,31522=>16814,31523=>16815,31527=>16816,31529=>16817,31533=>16818,31535=>16819,31536=>16820,31538=>16821,31540=>16822,31541=>16823,31542=>16824,31543=>16825,31545=>16826,31547=>16827,31549=>16828,31551=>16829,31552=>16830,31553=>16831,31554=>16832,31555=>16833,31556=>16834,31560=>16835,31562=>16836,31565=>16837,31566=>16838,31571=>16839,31573=>16840,31575=>16841,31577=>16842,31580=>16843,31582=>16844,31583=>16845,31585=>16846,31587=>16847,31588=>16848,31589=>16849,31590=>16850,31592=>16851,31593=>16852,31594=>16853,31595=>16854,31596=>16855,31597=>16856,31599=>16857,31600=>16858,31603=>16859,31604=>16860,31606=>16861,31608=>16862,31610=>16863,31612=>16864,31613=>16865,31615=>16866,31617=>16867,31618=>16868,31619=>16869,31620=>16870,31622=>16871,31623=>16872,31624=>16873,31625=>16874,31626=>16875,31628=>16876,31630=>16877,31631=>16878,31633=>16879,31634=>16880,31635=>16881,31638=>16882,31640=>16883,31641=>16884,31642=>16885,31643=>16886,31646=>16887,31647=>16888,31648=>16889,31651=>16890,31652=>16891,31653=>16892,31662=>16893,31663=>16894,31664=>16895,31666=>16896,31667=>16897,31669=>16898,31670=>16899,31671=>16900,31673=>16901,31674=>16902,31675=>16903,31676=>16904,31677=>16905,31678=>16906,31679=>16907,31682=>16908,31683=>16909,31685=>16910,31688=>16911,31690=>16912,31693=>16913,31694=>16914,31695=>16915,31696=>16916,31698=>16917,31700=>16918,31701=>16919,31702=>16920,31703=>16921,31704=>16922,31707=>16923,31708=>16924,31710=>16925,31711=>16926,31712=>16927,31714=>16928,31715=>16929,31719=>16930,31720=>16931,31723=>16932,31724=>16933,31725=>16934,31727=>16935,31728=>16936,31730=>16937,31732=>16938,31733=>16939,31734=>16940,31736=>16941,31737=>16942,31738=>16943,31739=>16944,31741=>16945,31743=>16946,31745=>16947,31746=>16948,31747=>16949,31748=>16950,31749=>16951,31750=>16952,31752=>16953,31753=>16954,31754=>16955,31758=>16956,31760=>16957,31761=>16958,31762=>16959,31763=>16960,31764=>16961,31765=>16962,31767=>16963,31768=>16964,31769=>16965,31770=>16966,31771=>16967,31772=>16968,31773=>16969,31776=>16970,31778=>16971,31780=>16972,31781=>16973,31784=>16974,31785=>16975,31788=>16976,31789=>16977,31790=>16978,31791=>16979,31792=>16980,31793=>16981,31794=>16982,31795=>16983,31796=>16984,31797=>16985,31798=>16986,31799=>16987,31801=>16988,31802=>16989,31803=>16990,31804=>16991,31810=>16992,31812=>16993,31813=>16994,31814=>16995,31815=>16996,31816=>16997,31817=>16998,31818=>16999,31819=>17000,31822=>17001,31823=>17002,31824=>17003,31825=>17004,31826=>17005,31827=>17006,31828=>17007,31829=>17008,31830=>17009,31831=>17010,31832=>17011,31833=>17012,31834=>17013,31835=>17014,31837=>17015,31838=>17016,31841=>17017,31842=>17018,31843=>17019,31845=>17020,31846=>17021,31847=>17022,31848=>17023,31851=>17024,31853=>17025,31855=>17026,31856=>17027,31857=>17028,31861=>17029,31862=>17030,31863=>17031,31864=>17032,31865=>17033,31866=>17034,31870=>17035,31871=>17036,31872=>17037,31873=>17038,31874=>17039,31875=>17040,31876=>17041,31877=>17042,31878=>17043,31879=>17044,31880=>17045,31882=>17046,31883=>17047,31884=>17048,31885=>17049,31886=>17050,31887=>17051,31888=>17052,31891=>17053,31892=>17054,31894=>17055,31897=>17056,31898=>17057,31899=>17058,31904=>17059,31905=>17060,31907=>17061,31910=>17062,31911=>17063,31912=>17064,31913=>17065,31915=>17066,31916=>17067,31917=>17068,31919=>17069,31920=>17070,31924=>17071,31925=>17072,31926=>17073,31927=>17074,31928=>17075,31930=>17076,31931=>17077,31935=>17078,31936=>17079,31938=>17080,31939=>17081,31940=>17082,31942=>17083,31945=>17084,31947=>17085,31950=>17086,31951=>17087,31952=>17088,31953=>17089,31954=>17090,31955=>17091,31956=>17092,31960=>17093,31962=>17094,31963=>17095,31969=>17096,31970=>17097,31971=>17098,31972=>17099,31973=>17100,31974=>17101,31977=>17102,31978=>17103,31979=>17104,31980=>17105,31981=>17106,31982=>17107,31985=>17108,31987=>17109,31989=>17110,31991=>17111,31994=>17112,31996=>17113,31997=>17114,31999=>17115,32001=>17116,32003=>17117,32012=>17118,32014=>17119,32015=>17120,32017=>17121,32018=>17122,32022=>17123,32024=>17124,32029=>17125,32030=>17126,32031=>17127,32035=>17128,32036=>17129,32037=>17130,32038=>17131,32040=>17132,32041=>17133,32042=>17134,32044=>17135,32045=>17136,32046=>17137,32052=>17138,32053=>17139,32054=>17140,32055=>17141,32056=>17142,32059=>17143,32061=>17144,32062=>17145,32065=>17146,32067=>17147,32069=>17148,32071=>17149,32072=>17150,32073=>17151,32074=>17152,32075=>17153,32076=>17154,32077=>17155,32079=>17156,32081=>17157,32082=>17158,32083=>17159,32084=>17160,32085=>17161,32086=>17162,32087=>17163,32088=>17164,32089=>17165,32090=>17166,32091=>17167,32092=>17168,32095=>17169,32096=>17170,32099=>17171,32100=>17172,32101=>17173,32103=>17174,32105=>17175,32106=>17176,32107=>17177,32108=>17178,32109=>17179,32111=>17180,32112=>17181,32116=>17182,32117=>17183,32120=>17184,32122=>17185,32123=>17186,32124=>17187,32125=>17188,32126=>17189,32127=>17190,32128=>17191,32130=>17192,32132=>17193,32133=>17194,32135=>17195,32138=>17196,32139=>17197,32140=>17198,32141=>17199,32142=>17200,32144=>17201,32145=>17202,32146=>17203,32148=>17204,32149=>17205,32150=>17206,32151=>17207,32152=>17208,32153=>17209,32154=>17210,32155=>17211,32157=>17212,32159=>17213,32160=>17214,32161=>17215,32164=>17216,32165=>17217,32167=>17218,32168=>17219,32169=>17220,32170=>17221,32175=>17222,32181=>17223,32182=>17224,32183=>17225,32188=>17226,32192=>17227,32193=>17228,32194=>17229,32195=>17230,32197=>17231,32198=>17232,32200=>17233,32201=>17234,32204=>17235,32205=>17236,32206=>17237,32207=>17238,32208=>17239,32211=>17240,32213=>17241,32214=>17242,32218=>17243,32219=>17244,32220=>17245,32223=>17246,32226=>17247,32228=>17248,32229=>17249,32231=>17250,32234=>17251,32235=>17252,32237=>17253,32238=>17254,32240=>17255,32243=>17256,32245=>17257,32247=>17258,32248=>17259,32250=>17260,32252=>17261,32253=>17262,32254=>17263,32255=>17264,32256=>17265,32257=>17266,32258=>17267,32259=>17268,32260=>17269,32261=>17270,32262=>17271,32263=>17272,32268=>17273,32269=>17274,32270=>17275,32271=>17276,32274=>17277,32275=>17278,32276=>17279,32277=>17280,32278=>17281,32279=>17282,32280=>17283,32281=>17284,32282=>17285,32284=>17286,32288=>17287,32289=>17288,32290=>17289,32292=>17290,32293=>17291,32294=>17292,32296=>17293,32297=>17294,32298=>17295,32300=>17296,32303=>17297,32304=>17298,32307=>17299,32312=>17300,32314=>17301,32316=>17302,32319=>17303,32320=>17304,32322=>17305,32323=>17306,32324=>17307,32328=>17308,32329=>17309,32330=>17310,32331=>17311,32332=>17312,32333=>17313,32334=>17314,32335=>17315,32336=>17316,32337=>17317,32339=>17318,32342=>17319,32343=>17320,32344=>17321,32345=>17322,32347=>17323,32348=>17324,32349=>17325,32351=>17326,32352=>17327,32353=>17328,32355=>17329,32356=>17330,32357=>17331,32358=>17332,32359=>17333,32360=>17334,32364=>17335,32369=>17336,32370=>17337,32372=>17338,32373=>17339,32374=>17340,32375=>17341,32376=>17342,32378=>17343,32379=>17344,32383=>17345,32384=>17346,32385=>17347,32387=>17348,32388=>17349,32389=>17350,32390=>17351,32391=>17352,32393=>17353,32395=>17354,32398=>17355,32400=>17356,32401=>17357,32402=>17358,32405=>17359,32407=>17360,32409=>17361,32410=>17362,32413=>17363,32414=>17364,32430=>17365,32436=>17366,32443=>17367,32444=>17368,32470=>17369,32484=>17370,32492=>17371,32505=>17372,32522=>17373,32528=>17374,32542=>17375,32567=>17376,32569=>17377,32571=>17378,32572=>17379,32573=>17380,32574=>17381,32575=>17382,32576=>17383,32577=>17384,32579=>17385,32582=>17386,32583=>17387,32584=>17388,32585=>17389,32586=>17390,32587=>17391,32589=>17392,32591=>17393,32594=>17394,32595=>17395,32598=>17396,32601=>17397,32603=>17398,32604=>17399,32605=>17400,32606=>17401,32608=>17402,32611=>17403,32612=>17404,32613=>17405,32614=>17406,32615=>17407,32619=>17408,32620=>17409,32621=>17410,32623=>17411,32627=>17412,32629=>17413,32630=>17414,32632=>17415,32634=>17416,32635=>17417,32636=>17418,32637=>17419,32639=>17420,32640=>17421,32642=>17422,32643=>17423,32644=>17424,32647=>17425,32649=>17426,32651=>17427,32653=>17428,32655=>17429,32656=>17430,32657=>17431,32658=>17432,32659=>17433,32661=>17434,32662=>17435,32663=>17436,32664=>17437,32665=>17438,32667=>17439,32668=>17440,32672=>17441,32674=>17442,32675=>17443,32678=>17444,32680=>17445,32682=>17446,32683=>17447,32684=>17448,32685=>17449,32686=>17450,32689=>17451,32691=>17452,32692=>17453,32693=>17454,32694=>17455,32695=>17456,32698=>17457,32699=>17458,32702=>17459,32704=>17460,32706=>17461,32707=>17462,32708=>17463,32710=>17464,32711=>17465,32712=>17466,32713=>17467,32715=>17468,32717=>17469,32719=>17470,32720=>17471,32721=>17472,32723=>17473,32726=>17474,32727=>17475,32729=>17476,32730=>17477,32731=>17478,32732=>17479,32733=>17480,32734=>17481,32738=>17482,32739=>17483,32740=>17484,32743=>17485,32744=>17486,32746=>17487,32747=>17488,32748=>17489,32749=>17490,32751=>17491,32754=>17492,32756=>17493,32757=>17494,32758=>17495,32759=>17496,32760=>17497,32762=>17498,32765=>17499,32766=>17500,32767=>17501,32770=>17502,32775=>17503,32776=>17504,32777=>17505,32778=>17506,32782=>17507,32783=>17508,32785=>17509,32787=>17510,32794=>17511,32795=>17512,32797=>17513,32798=>17514,32799=>17515,32801=>17516,32803=>17517,32804=>17518,32811=>17519,32813=>17520,32815=>17521,32816=>17522,32818=>17523,32820=>17524,32825=>17525,32826=>17526,32828=>17527,32830=>17528,32832=>17529,32833=>17530,32836=>17531,32837=>17532,32839=>17533,32840=>17534,32841=>17535,32846=>17536,32847=>17537,32848=>17538,32849=>17539,32851=>17540,32853=>17541,32855=>17542,32857=>17543,32859=>17544,32860=>17545,32861=>17546,32863=>17547,32864=>17548,32865=>17549,32866=>17550,32867=>17551,32868=>17552,32869=>17553,32870=>17554,32871=>17555,32872=>17556,32875=>17557,32876=>17558,32877=>17559,32878=>17560,32884=>17561,32888=>17562,32890=>17563,32891=>17564,32892=>17565,32897=>17566,32898=>17567,32904=>17568,32906=>17569,32909=>17570,32910=>17571,32911=>17572,32912=>17573,32913=>17574,32914=>17575,32916=>17576,32917=>17577,32919=>17578,32921=>17579,32926=>17580,32931=>17581,32934=>17582,32935=>17583,32936=>17584,32940=>17585,32944=>17586,32947=>17587,32949=>17588,32950=>17589,32952=>17590,32953=>17591,32955=>17592,32965=>17593,32967=>17594,32968=>17595,32969=>17596,32970=>17597,32971=>17598,32975=>17599,32976=>17600,32977=>17601,32978=>17602,32979=>17603,32980=>17604,32981=>17605,32984=>17606,32991=>17607,32992=>17608,32994=>17609,32995=>17610,32998=>17611,33006=>17612,33013=>17613,33015=>17614,33017=>17615,33019=>17616,33022=>17617,33023=>17618,33024=>17619,33025=>17620,33027=>17621,33028=>17622,33031=>17623,33032=>17624,33035=>17625,33036=>17626,33045=>17627,33047=>17628,33049=>17629,33052=>17630,33053=>17631,33055=>17632,33056=>17633,33057=>17634,33058=>17635,33059=>17636,33060=>17637,33061=>17638,33062=>17639,33063=>17640,33064=>17641,33065=>17642,33066=>17643,33067=>17644,33069=>17645,33070=>17646,33072=>17647,33075=>17648,33076=>17649,33077=>17650,33079=>17651,33082=>17652,33083=>17653,33084=>17654,33085=>17655,33087=>17656,33088=>17657,33089=>17658,33090=>17659,33091=>17660,33092=>17661,33093=>17662,33095=>17663,33097=>17664,33101=>17665,33103=>17666,33106=>17667,33111=>17668,33112=>17669,33115=>17670,33116=>17671,33117=>17672,33118=>17673,33119=>17674,33122=>17675,33123=>17676,33124=>17677,33128=>17678,33130=>17679,33132=>17680,33135=>17681,33138=>17682,33139=>17683,33141=>17684,33142=>17685,33143=>17686,33153=>17687,33155=>17688,33156=>17689,33157=>17690,33158=>17691,33159=>17692,33161=>17693,33163=>17694,33164=>17695,33165=>17696,33166=>17697,33168=>17698,33170=>17699,33171=>17700,33172=>17701,33173=>17702,33174=>17703,33175=>17704,33177=>17705,33182=>17706,33183=>17707,33185=>17708,33186=>17709,33188=>17710,33189=>17711,33191=>17712,33195=>17713,33196=>17714,33197=>17715,33198=>17716,33199=>17717,33200=>17718,33201=>17719,33202=>17720,33204=>17721,33205=>17722,33206=>17723,33207=>17724,33208=>17725,33209=>17726,33212=>17727,33220=>17728,33221=>17729,33223=>17730,33224=>17731,33227=>17732,33230=>17733,33232=>17734,33233=>17735,33234=>17736,33235=>17737,33236=>17738,33237=>17739,33238=>17740,33239=>17741,33241=>17742,33243=>17743,33244=>17744,33245=>17745,33246=>17746,33249=>17747,33250=>17748,33252=>17749,33253=>17750,33254=>17751,33257=>17752,33259=>17753,33262=>17754,33263=>17755,33264=>17756,33265=>17757,33266=>17758,33269=>17759,33270=>17760,33271=>17761,33272=>17762,33273=>17763,33277=>17764,33279=>17765,33283=>17766,33291=>17767,33294=>17768,33295=>17769,33297=>17770,33299=>17771,33301=>17772,33302=>17773,33303=>17774,33304=>17775,33305=>17776,33306=>17777,33309=>17778,33312=>17779,33316=>17780,33317=>17781,33318=>17782,33319=>17783,33321=>17784,33326=>17785,33330=>17786,33338=>17787,33340=>17788,33341=>17789,33343=>17790,33344=>17791,33345=>17792,33346=>17793,33347=>17794,33349=>17795,33350=>17796,33352=>17797,33354=>17798,33356=>17799,33357=>17800,33358=>17801,33360=>17802,33361=>17803,33362=>17804,33363=>17805,33364=>17806,33365=>17807,33366=>17808,33367=>17809,33371=>17810,33372=>17811,33373=>17812,33374=>17813,33376=>17814,33377=>17815,33378=>17816,33379=>17817,33381=>17818,33383=>17819,33385=>17820,33386=>17821,33388=>17822,33389=>17823,33397=>17824,33398=>17825,12171=>17826,33400=>17826,33403=>17827,33404=>17828,33408=>17829,33409=>17830,33411=>17831,33413=>17832,33414=>17833,33415=>17834,33417=>17835,33420=>17836,33424=>17837,33427=>17838,33428=>17839,33429=>17840,33430=>17841,33434=>17842,33435=>17843,33438=>17844,33440=>17845,33442=>17846,33443=>17847,33447=>17848,33458=>17849,33461=>17850,33462=>17851,33466=>17852,33468=>17853,33471=>17854,33472=>17855,33474=>17856,33475=>17857,33477=>17858,33478=>17859,33481=>17860,33488=>17861,33494=>17862,33497=>17863,33498=>17864,33501=>17865,33506=>17866,33512=>17867,33513=>17868,33514=>17869,33516=>17870,33517=>17871,33518=>17872,33520=>17873,33522=>17874,33523=>17875,33525=>17876,33526=>17877,33528=>17878,33530=>17879,33532=>17880,33533=>17881,33534=>17882,33535=>17883,33536=>17884,33546=>17885,33547=>17886,33549=>17887,33552=>17888,33554=>17889,33555=>17890,33558=>17891,33560=>17892,33561=>17893,33565=>17894,33566=>17895,33567=>17896,33568=>17897,33569=>17898,33570=>17899,33571=>17900,33572=>17901,33573=>17902,33574=>17903,33577=>17904,33578=>17905,33582=>17906,33584=>17907,33586=>17908,33591=>17909,33595=>17910,33597=>17911,33598=>17912,33599=>17913,33601=>17914,33602=>17915,33604=>17916,33605=>17917,33608=>17918,33610=>17919,33611=>17920,33612=>17921,33613=>17922,33614=>17923,33619=>17924,33621=>17925,33622=>17926,33623=>17927,33624=>17928,33625=>17929,33629=>17930,33634=>17931,33648=>17932,33649=>17933,33650=>17934,33651=>17935,33652=>17936,33653=>17937,33654=>17938,33657=>17939,33658=>17940,33662=>17941,33663=>17942,33664=>17943,33665=>17944,33666=>17945,33667=>17946,33668=>17947,33671=>17948,33672=>17949,33675=>17950,33676=>17951,33677=>17952,33679=>17953,33680=>17954,33681=>17955,33684=>17956,33685=>17957,33687=>17958,33689=>17959,33690=>17960,33693=>17961,33695=>17962,33697=>17963,33699=>17964,33700=>17965,33701=>17966,33702=>17967,33708=>17968,33709=>17969,33710=>17970,33711=>17971,33717=>17972,33723=>17973,33726=>17974,33727=>17975,33730=>17976,33731=>17977,33732=>17978,33734=>17979,33736=>17980,33737=>17981,33739=>17982,33741=>17983,33742=>17984,33744=>17985,33745=>17986,33746=>17987,33747=>17988,33749=>17989,33751=>17990,33753=>17991,33754=>17992,33755=>17993,33758=>17994,33762=>17995,33763=>17996,33764=>17997,33766=>17998,33767=>17999,33768=>18000,33771=>18001,33772=>18002,33773=>18003,33774=>18004,33779=>18005,33780=>18006,33781=>18007,33782=>18008,33783=>18009,33786=>18010,33787=>18011,33788=>18012,33790=>18013,33791=>18014,33792=>18015,33794=>18016,33797=>18017,33800=>18018,33801=>18019,33808=>18020,33810=>18021,33811=>18022,33812=>18023,33813=>18024,33814=>18025,33815=>18026,33817=>18027,33818=>18028,33819=>18029,33822=>18030,33823=>18031,33824=>18032,33825=>18033,33826=>18034,33827=>18035,33833=>18036,33834=>18037,33835=>18038,33837=>18039,33838=>18040,33839=>18041,33840=>18042,33842=>18043,33843=>18044,33844=>18045,33846=>18046,33847=>18047,33849=>18048,33850=>18049,33851=>18050,33854=>18051,33855=>18052,33856=>18053,33857=>18054,33858=>18055,33859=>18056,33860=>18057,33861=>18058,33863=>18059,33864=>18060,33866=>18061,33867=>18062,33868=>18063,33869=>18064,33870=>18065,33871=>18066,33872=>18067,33875=>18068,33876=>18069,33877=>18070,33878=>18071,33880=>18072,33885=>18073,33886=>18074,33887=>18075,33888=>18076,33890=>18077,33893=>18078,33895=>18079,33896=>18080,33898=>18081,33902=>18082,33904=>18083,33906=>18084,33908=>18085,33913=>18086,33915=>18087,33916=>18088,33917=>18089,33918=>18090,33919=>18091,33920=>18092,33921=>18093,33923=>18094,33924=>18095,33925=>18096,33926=>18097,33930=>18098,33933=>18099,33935=>18100,33936=>18101,33937=>18102,33938=>18103,33941=>18104,33942=>18105,33944=>18106,33946=>18107,33947=>18108,33949=>18109,33950=>18110,33951=>18111,33952=>18112,33954=>18113,33955=>18114,33956=>18115,33957=>18116,33958=>18117,33959=>18118,33960=>18119,33961=>18120,33962=>18121,33963=>18122,33964=>18123,33965=>18124,33966=>18125,33968=>18126,33969=>18127,33971=>18128,33973=>18129,33974=>18130,33975=>18131,33979=>18132,33982=>18133,33986=>18134,33987=>18135,33989=>18136,33990=>18137,33991=>18138,33992=>18139,33996=>18140,33998=>18141,33999=>18142,34002=>18143,34004=>18144,34005=>18145,34007=>18146,34008=>18147,34009=>18148,34010=>18149,34011=>18150,34012=>18151,34014=>18152,34017=>18153,34018=>18154,34020=>18155,34023=>18156,34024=>18157,34025=>18158,34026=>18159,34027=>18160,34029=>18161,34033=>18162,34034=>18163,34035=>18164,34036=>18165,34037=>18166,34038=>18167,34039=>18168,34040=>18169,34041=>18170,34042=>18171,34043=>18172,34046=>18173,34048=>18174,34049=>18175,34050=>18176,34051=>18177,34052=>18178,34053=>18179,34054=>18180,34055=>18181,34056=>18182,34057=>18183,34058=>18184,34059=>18185,34061=>18186,34062=>18187,34063=>18188,34064=>18189,34066=>18190,34069=>18191,34070=>18192,34072=>18193,34073=>18194,34075=>18195,34076=>18196,34077=>18197,34080=>18198,34082=>18199,34084=>18200,34085=>18201,34087=>18202,34088=>18203,34089=>18204,34090=>18205,34094=>18206,34095=>18207,34096=>18208,34097=>18209,34098=>18210,34099=>18211,34100=>18212,34101=>18213,34102=>18214,34110=>18215,34111=>18216,34112=>18217,34114=>18218,34116=>18219,34117=>18220,34119=>18221,34123=>18222,34124=>18223,34125=>18224,34127=>18225,34128=>18226,34129=>18227,34132=>18228,34135=>18229,34138=>18230,34139=>18231,34140=>18232,34141=>18233,34143=>18234,34144=>18235,34145=>18236,34147=>18237,34149=>18238,34150=>18239,34151=>18240,34155=>18241,34156=>18242,34158=>18243,34159=>18244,34160=>18245,34161=>18246,34163=>18247,34165=>18248,34166=>18249,34168=>18250,34172=>18251,34173=>18252,34175=>18253,34176=>18254,34177=>18255,34178=>18256,34179=>18257,34182=>18258,34185=>18259,34187=>18260,34189=>18261,34190=>18262,34192=>18263,34194=>18264,34195=>18265,34197=>18266,34198=>18267,34199=>18268,34200=>18269,34201=>18270,34202=>18271,34205=>18272,34206=>18273,34208=>18274,34209=>18275,34210=>18276,34211=>18277,34213=>18278,34215=>18279,34219=>18280,34220=>18281,34221=>18282,34225=>18283,34226=>18284,34227=>18285,34228=>18286,34229=>18287,34230=>18288,34232=>18289,34235=>18290,34236=>18291,34237=>18292,34238=>18293,34239=>18294,34240=>18295,34242=>18296,34243=>18297,34244=>18298,34245=>18299,34246=>18300,34247=>18301,34248=>18302,34250=>18303,34251=>18304,34252=>18305,34257=>18306,34258=>18307,34260=>18308,34262=>18309,34263=>18310,34264=>18311,34265=>18312,34266=>18313,34267=>18314,34270=>18315,34271=>18316,34272=>18317,34273=>18318,34274=>18319,34275=>18320,34278=>18321,34279=>18322,34280=>18323,34283=>18324,34284=>18325,34285=>18326,34286=>18327,34287=>18328,34288=>18329,34289=>18330,34290=>18331,34291=>18332,34293=>18333,34295=>18334,34296=>18335,34300=>18336,34301=>18337,34302=>18338,34304=>18339,34305=>18340,34306=>18341,34307=>18342,34312=>18343,34313=>18344,34314=>18345,34316=>18346,34317=>18347,34318=>18348,34319=>18349,34320=>18350,34322=>18351,34323=>18352,34324=>18353,34325=>18354,34327=>18355,34328=>18356,34329=>18357,34331=>18358,34332=>18359,34333=>18360,34335=>18361,34336=>18362,34337=>18363,34339=>18364,34340=>18365,34341=>18366,34342=>18367,34344=>18368,34346=>18369,34347=>18370,34348=>18371,34350=>18372,34351=>18373,34352=>18374,34353=>18375,34354=>18376,34355=>18377,34356=>18378,34357=>18379,34358=>18380,34359=>18381,34361=>18382,34363=>18383,34365=>18384,34366=>18385,34368=>18386,34369=>18387,34370=>18388,34371=>18389,34372=>18390,34373=>18391,34374=>18392,34375=>18393,34376=>18394,34377=>18395,34378=>18396,34379=>18397,34380=>18398,34386=>18399,34387=>18400,34390=>18401,34391=>18402,34392=>18403,34393=>18404,34395=>18405,34397=>18406,34400=>18407,34401=>18408,34403=>18409,34404=>18410,34405=>18411,34406=>18412,34408=>18413,34409=>18414,34410=>18415,34413=>18416,34415=>18417,34416=>18418,34418=>18419,34419=>18420,34420=>18421,34421=>18422,34422=>18423,34423=>18424,34424=>18425,34435=>18426,34436=>18427,34437=>18428,34438=>18429,34439=>18430,34440=>18431,34441=>18432,34446=>18433,34447=>18434,34448=>18435,34449=>18436,34450=>18437,34452=>18438,34454=>18439,34455=>18440,34456=>18441,34457=>18442,34458=>18443,34459=>18444,34462=>18445,34463=>18446,34464=>18447,34465=>18448,34466=>18449,34469=>18450,34470=>18451,34475=>18452,34477=>18453,34478=>18454,34482=>18455,34483=>18456,34487=>18457,34488=>18458,34489=>18459,34491=>18460,34492=>18461,34493=>18462,34494=>18463,34495=>18464,34497=>18465,34498=>18466,34499=>18467,34501=>18468,34504=>18469,34508=>18470,34509=>18471,34514=>18472,34515=>18473,34517=>18474,34518=>18475,34519=>18476,34522=>18477,34524=>18478,34525=>18479,34528=>18480,34529=>18481,34530=>18482,34531=>18483,34533=>18484,34534=>18485,34535=>18486,34536=>18487,34538=>18488,34539=>18489,34540=>18490,34543=>18491,34549=>18492,34550=>18493,34551=>18494,34555=>18495,34556=>18496,34557=>18497,34559=>18498,34561=>18499,34564=>18500,34565=>18501,34571=>18502,34572=>18503,34574=>18504,34575=>18505,34576=>18506,34577=>18507,34580=>18508,34582=>18509,34585=>18510,34587=>18511,34589=>18512,34591=>18513,34592=>18514,34596=>18515,34598=>18516,34599=>18517,34600=>18518,34602=>18519,34603=>18520,34604=>18521,34605=>18522,34607=>18523,34608=>18524,34610=>18525,34611=>18526,34613=>18527,34614=>18528,34616=>18529,34617=>18530,34618=>18531,34620=>18532,34621=>18533,34624=>18534,34625=>18535,34626=>18536,34627=>18537,34628=>18538,34629=>18539,34630=>18540,34634=>18541,34635=>18542,34637=>18543,34639=>18544,34640=>18545,34641=>18546,34642=>18547,34644=>18548,34646=>18549,34648=>18550,34650=>18551,34651=>18552,34652=>18553,34653=>18554,34654=>18555,34655=>18556,34657=>18557,34658=>18558,34663=>18559,34664=>18560,34665=>18561,34666=>18562,34667=>18563,34668=>18564,34669=>18565,34671=>18566,34673=>18567,34674=>18568,34675=>18569,34677=>18570,34679=>18571,34681=>18572,34682=>18573,34687=>18574,34688=>18575,34689=>18576,34694=>18577,34695=>18578,34697=>18579,34698=>18580,34700=>18581,34702=>18582,34703=>18583,34704=>18584,34705=>18585,34706=>18586,34708=>18587,34709=>18588,34710=>18589,34712=>18590,34713=>18591,34714=>18592,34715=>18593,34716=>18594,34717=>18595,34720=>18596,34721=>18597,34723=>18598,34724=>18599,34725=>18600,34726=>18601,34727=>18602,34729=>18603,34730=>18604,34734=>18605,34736=>18606,34737=>18607,34738=>18608,34740=>18609,34742=>18610,34743=>18611,34744=>18612,34745=>18613,34748=>18614,34750=>18615,34751=>18616,34753=>18617,34754=>18618,34755=>18619,34757=>18620,34759=>18621,34761=>18622,34764=>18623,34765=>18624,34767=>18625,34768=>18626,34772=>18627,34773=>18628,34774=>18629,34775=>18630,34776=>18631,34777=>18632,34778=>18633,34780=>18634,34781=>18635,34782=>18636,34783=>18637,34785=>18638,34786=>18639,34788=>18640,34790=>18641,34791=>18642,34792=>18643,34793=>18644,34795=>18645,34797=>18646,34800=>18647,34801=>18648,34803=>18649,34804=>18650,34805=>18651,34807=>18652,34808=>18653,34810=>18654,34812=>18655,34813=>18656,34815=>18657,34816=>18658,34817=>18659,34818=>18660,34820=>18661,34823=>18662,34824=>18663,34825=>18664,34827=>18665,34828=>18666,34829=>18667,34830=>18668,34831=>18669,34834=>18670,34836=>18671,34839=>18672,34840=>18673,34841=>18674,34842=>18675,34844=>18676,34845=>18677,34846=>18678,34848=>18679,34852=>18680,34853=>18681,34854=>18682,34855=>18683,34856=>18684,34857=>18685,34858=>18686,34859=>18687,34860=>18688,34861=>18689,34862=>18690,34863=>18691,34864=>18692,34867=>18693,34868=>18694,34869=>18695,34871=>18696,34872=>18697,34874=>18698,34877=>18699,34878=>18700,34879=>18701,34881=>18702,34882=>18703,34883=>18704,34887=>18705,34888=>18706,34889=>18707,34891=>18708,34894=>18709,34895=>18710,34896=>18711,34897=>18712,34898=>18713,34901=>18714,34902=>18715,34904=>18716,34906=>18717,34908=>18718,34910=>18719,34911=>18720,34912=>18721,34918=>18722,34919=>18723,34922=>18724,34925=>18725,34927=>18726,34929=>18727,34931=>18728,34932=>18729,34933=>18730,34934=>18731,34936=>18732,34938=>18733,34939=>18734,34940=>18735,34944=>18736,34947=>18737,34950=>18738,34951=>18739,34953=>18740,34954=>18741,34956=>18742,34958=>18743,34959=>18744,34960=>18745,34961=>18746,34963=>18747,34964=>18748,34965=>18749,34967=>18750,34968=>18751,34969=>18752,34970=>18753,34971=>18754,34973=>18755,34974=>18756,34975=>18757,34976=>18758,34977=>18759,34979=>18760,34981=>18761,34982=>18762,34983=>18763,34984=>18764,34985=>18765,34986=>18766,34988=>18767,34990=>18768,34991=>18769,34992=>18770,34994=>18771,34995=>18772,34996=>18773,34997=>18774,34998=>18775,35000=>18776,35001=>18777,35002=>18778,35003=>18779,35005=>18780,35006=>18781,35007=>18782,35008=>18783,35011=>18784,35012=>18785,35015=>18786,35016=>18787,35019=>18788,35020=>18789,35021=>18790,35024=>18791,35025=>18792,35027=>18793,35030=>18794,35031=>18795,35034=>18796,35035=>18797,35038=>18798,35040=>18799,35041=>18800,35046=>18801,35047=>18802,35049=>18803,35050=>18804,35051=>18805,35052=>18806,35053=>18807,35054=>18808,35055=>18809,35058=>18810,35061=>18811,35062=>18812,35063=>18813,35066=>18814,35067=>18815,35071=>18816,35072=>18817,35073=>18818,35075=>18819,35076=>18820,35077=>18821,35078=>18822,35080=>18823,35081=>18824,35083=>18825,35084=>18826,35085=>18827,35086=>18828,35087=>18829,35089=>18830,35092=>18831,35093=>18832,35094=>18833,35095=>18834,35096=>18835,35100=>18836,35101=>18837,35102=>18838,35103=>18839,35104=>18840,35106=>18841,35107=>18842,35108=>18843,35110=>18844,35111=>18845,35112=>18846,35113=>18847,35116=>18848,35117=>18849,35118=>18850,35119=>18851,35121=>18852,35125=>18853,35127=>18854,35129=>18855,35130=>18856,35132=>18857,35133=>18858,35134=>18859,35135=>18860,35136=>18861,35138=>18862,35139=>18863,35141=>18864,35142=>18865,35144=>18866,35145=>18867,35146=>18868,35147=>18869,35148=>18870,35149=>18871,35150=>18872,35151=>18873,35152=>18874,35153=>18875,35154=>18876,35155=>18877,35156=>18878,35157=>18879,35159=>18880,35160=>18881,35161=>18882,35162=>18883,35163=>18884,35164=>18885,35169=>18886,35170=>18887,35171=>18888,35173=>18889,35175=>18890,35176=>18891,35177=>18892,35179=>18893,35181=>18894,35182=>18895,35184=>18896,35185=>18897,35187=>18898,35188=>18899,35189=>18900,35190=>18901,35191=>18902,35192=>18903,35193=>18904,35194=>18905,35196=>18906,35197=>18907,12177=>18908,35198=>18908,35200=>18909,35202=>18910,35204=>18911,35205=>18912,35207=>18913,35208=>18914,35209=>18915,35210=>18916,35212=>18917,35213=>18918,35214=>18919,35216=>18920,35217=>18921,35218=>18922,35220=>18923,35221=>18924,35223=>18925,35225=>18926,35226=>18927,35227=>18928,35228=>18929,35229=>18930,35230=>18931,35231=>18932,35232=>18933,35234=>18934,35235=>18935,35236=>18936,35237=>18937,35239=>18938,35240=>18939,35241=>18940,35243=>18941,35245=>18942,35246=>18943,35248=>18944,35249=>18945,35251=>18946,35252=>18947,35253=>18948,35254=>18949,35256=>18950,35257=>18951,35259=>18952,35260=>18953,35262=>18954,35267=>18955,35277=>18956,35283=>18957,35284=>18958,35285=>18959,35287=>18960,35288=>18961,35289=>18962,35291=>18963,35293=>18964,35295=>18965,35296=>18966,35297=>18967,35298=>18968,35300=>18969,35303=>18970,35304=>18971,35305=>18972,35306=>18973,35308=>18974,35309=>18975,35310=>18976,35312=>18977,35313=>18978,35314=>18979,35317=>18980,35319=>18981,35321=>18982,35322=>18983,35323=>18984,35324=>18985,35325=>18986,35326=>18987,35327=>18988,35332=>18989,35333=>18990,35334=>18991,35337=>18992,35339=>18993,35341=>18994,35343=>18995,35345=>18996,35346=>18997,35348=>18998,35351=>18999,35353=>19000,35354=>19001,35356=>19002,35358=>19003,35360=>19004,35361=>19005,35362=>19006,35364=>19007,35366=>19008,35367=>19009,35368=>19010,35369=>19011,35371=>19012,35372=>19013,35374=>19014,35375=>19015,35376=>19016,35378=>19017,35379=>19018,35381=>19019,35383=>19020,35384=>19021,35385=>19022,35387=>19023,35388=>19024,35389=>19025,35391=>19026,35392=>19027,35394=>19028,35395=>19029,35396=>19030,35397=>19031,35399=>19032,35401=>19033,35402=>19034,35403=>19035,35404=>19036,35405=>19037,35407=>19038,35409=>19039,35411=>19040,35414=>19041,35415=>19042,35417=>19043,35418=>19044,35420=>19045,35421=>19046,35423=>19047,35424=>19048,35428=>19049,35429=>19050,35431=>19051,35432=>19052,35434=>19053,35439=>19054,35444=>19055,35446=>19056,35447=>19057,35448=>19058,35450=>19059,35451=>19060,35453=>19061,35454=>19062,35456=>19063,35457=>19064,35458=>19065,35459=>19066,35464=>19067,35467=>19068,35468=>19069,35470=>19070,35471=>19071,35472=>19072,35476=>19073,35478=>19074,35479=>19075,35481=>19076,35483=>19077,35484=>19078,35485=>19079,35487=>19080,35490=>19081,35495=>19082,35497=>19083,35498=>19084,35499=>19085,35501=>19086,35502=>19087,35503=>19088,35505=>19089,35507=>19090,35508=>19091,35509=>19092,35511=>19093,35512=>19094,35514=>19095,35515=>19096,35517=>19097,35518=>19098,35520=>19099,35521=>19100,35523=>19101,35525=>19102,35526=>19103,35528=>19104,35530=>19105,35532=>19106,35534=>19107,35536=>19108,35539=>19109,35540=>19110,35541=>19111,35544=>19112,35545=>19113,35546=>19114,35549=>19115,35551=>19116,35552=>19117,35553=>19118,35555=>19119,35557=>19120,35560=>19121,35561=>19122,35562=>19123,35564=>19124,35567=>19125,35568=>19126,35570=>19127,35572=>19128,35573=>19129,35577=>19130,35579=>19131,35581=>19132,35583=>19133,35587=>19134,35590=>19135,35592=>19136,35593=>19137,35595=>19138,35596=>19139,35597=>19140,35599=>19141,35601=>19142,35602=>19143,35603=>19144,35605=>19145,35608=>19146,35612=>19147,35614=>19148,35615=>19149,35616=>19150,35618=>19151,35619=>19152,35620=>19153,35621=>19154,35623=>19155,35625=>19156,35626=>19157,35630=>19158,35631=>19159,35632=>19160,35633=>19161,35634=>19162,35636=>19163,35637=>19164,35638=>19165,35639=>19166,35640=>19167,35642=>19168,35643=>19169,35644=>19170,35645=>19171,35647=>19172,35648=>19173,35649=>19174,35650=>19175,35651=>19176,35652=>19177,35653=>19178,35654=>19179,35655=>19180,35656=>19181,35658=>19182,35659=>19183,35660=>19184,35661=>19185,35664=>19186,35665=>19187,35666=>19188,35667=>19189,35668=>19190,35669=>19191,35671=>19192,35675=>19193,35677=>19194,35678=>19195,35679=>19196,35680=>19197,35681=>19198,35682=>19199,35683=>19200,35684=>19201,35685=>19202,35687=>19203,35688=>19204,35689=>19205,35690=>19206,35693=>19207,35694=>19208,35697=>19209,35698=>19210,35699=>19211,35701=>19212,35702=>19213,35704=>19214,35705=>19215,35706=>19216,35707=>19217,35708=>19218,35710=>19219,35711=>19220,35713=>19221,35714=>19222,35715=>19223,35716=>19224,35717=>19225,35718=>19226,35719=>19227,35720=>19228,35721=>19229,35723=>19230,35724=>19231,35725=>19232,35727=>19233,35728=>19234,35729=>19235,35732=>19236,35735=>19237,35736=>19238,35737=>19239,35738=>19240,35739=>19241,35741=>19242,35743=>19243,35756=>19244,35761=>19245,35771=>19246,35783=>19247,35792=>19248,35818=>19249,35849=>19250,35870=>19251,35896=>19252,35897=>19253,35898=>19254,35899=>19255,35900=>19256,35901=>19257,35902=>19258,35903=>19259,35904=>19260,35906=>19261,35907=>19262,35908=>19263,35909=>19264,35914=>19265,35915=>19266,35917=>19267,35918=>19268,35919=>19269,35921=>19270,35922=>19271,35923=>19272,35924=>19273,35926=>19274,35927=>19275,35928=>19276,35929=>19277,35931=>19278,35932=>19279,35933=>19280,35934=>19281,35935=>19282,35936=>19283,35939=>19284,35940=>19285,35941=>19286,35942=>19287,35943=>19288,35944=>19289,35945=>19290,35948=>19291,35949=>19292,35950=>19293,35951=>19294,35952=>19295,35953=>19296,35954=>19297,35956=>19298,35957=>19299,35958=>19300,35959=>19301,35963=>19302,35964=>19303,35965=>19304,35966=>19305,35967=>19306,35968=>19307,35969=>19308,35971=>19309,35972=>19310,35974=>19311,35975=>19312,35976=>19313,35979=>19314,35981=>19315,35982=>19316,35983=>19317,35984=>19318,35985=>19319,35986=>19320,35987=>19321,35989=>19322,35990=>19323,35991=>19324,35993=>19325,35994=>19326,35995=>19327,35996=>19328,35999=>19329,36003=>19330,36004=>19331,36005=>19332,36006=>19333,36013=>19334,36014=>19335,36017=>19336,36021=>19337,36025=>19338,36030=>19339,36038=>19340,36041=>19341,36043=>19342,36044=>19343,36045=>19344,36046=>19345,36047=>19346,36048=>19347,36052=>19348,36054=>19349,36055=>19350,36056=>19351,36057=>19352,36059=>19353,36061=>19354,36063=>19355,36069=>19356,36072=>19357,36073=>19358,36078=>19359,36079=>19360,36080=>19361,36081=>19362,36082=>19363,36083=>19364,36085=>19365,36086=>19366,36087=>19367,36088=>19368,36089=>19369,36095=>19370,36096=>19371,36097=>19372,36098=>19373,36099=>19374,36102=>19375,36103=>19376,36105=>19377,36108=>19378,36110=>19379,36113=>19380,36114=>19381,36115=>19382,36116=>19383,36117=>19384,36119=>19385,36120=>19386,36121=>19387,36122=>19388,36128=>19389,36177=>19390,36178=>19391,36183=>19392,36191=>19393,36197=>19394,36200=>19395,36201=>19396,36202=>19397,36204=>19398,36206=>19399,36207=>19400,36209=>19401,36210=>19402,36216=>19403,36217=>19404,36218=>19405,36219=>19406,36220=>19407,36221=>19408,36222=>19409,36223=>19410,36224=>19411,36226=>19412,36227=>19413,36230=>19414,36231=>19415,36232=>19416,36233=>19417,36236=>19418,36237=>19419,36238=>19420,36239=>19421,36240=>19422,36242=>19423,36243=>19424,36246=>19425,36247=>19426,36248=>19427,36250=>19428,36251=>19429,36252=>19430,36253=>19431,36254=>19432,36256=>19433,36257=>19434,36258=>19435,36260=>19436,36261=>19437,36262=>19438,36263=>19439,36265=>19440,36266=>19441,36267=>19442,36268=>19443,36269=>19444,36270=>19445,36271=>19446,36272=>19447,36278=>19448,36279=>19449,36281=>19450,36283=>19451,36285=>19452,36288=>19453,36289=>19454,36290=>19455,36293=>19456,36295=>19457,36296=>19458,36297=>19459,36298=>19460,36301=>19461,36304=>19462,36306=>19463,36307=>19464,36308=>19465,36309=>19466,36312=>19467,36313=>19468,36316=>19469,36320=>19470,36321=>19471,36322=>19472,36325=>19473,36326=>19474,36327=>19475,36329=>19476,36333=>19477,36334=>19478,36336=>19479,36337=>19480,36338=>19481,36340=>19482,36342=>19483,36348=>19484,36350=>19485,36351=>19486,36352=>19487,36353=>19488,36354=>19489,36355=>19490,36356=>19491,36358=>19492,36359=>19493,36360=>19494,36363=>19495,36365=>19496,36366=>19497,36369=>19498,36370=>19499,36371=>19500,36373=>19501,36374=>19502,36375=>19503,36376=>19504,36377=>19505,36378=>19506,36379=>19507,36380=>19508,36384=>19509,36385=>19510,36388=>19511,36389=>19512,36390=>19513,36391=>19514,36392=>19515,36395=>19516,36397=>19517,36400=>19518,36402=>19519,36403=>19520,36406=>19521,36407=>19522,36408=>19523,36411=>19524,36412=>19525,36414=>19526,36415=>19527,36419=>19528,36421=>19529,36422=>19530,36429=>19531,36430=>19532,36431=>19533,36432=>19534,36435=>19535,36436=>19536,36438=>19537,36439=>19538,36440=>19539,36442=>19540,36443=>19541,36444=>19542,36445=>19543,36446=>19544,36447=>19545,36448=>19546,36449=>19547,36450=>19548,36452=>19549,36453=>19550,36455=>19551,36456=>19552,36458=>19553,36459=>19554,36462=>19555,36465=>19556,36467=>19557,36469=>19558,36471=>19559,36472=>19560,36473=>19561,36475=>19562,36477=>19563,36478=>19564,36480=>19565,36482=>19566,36483=>19567,36484=>19568,36486=>19569,36488=>19570,36492=>19571,36494=>19572,36501=>19573,36502=>19574,36503=>19575,36504=>19576,36505=>19577,36507=>19578,36509=>19579,36511=>19580,36512=>19581,36514=>19582,36515=>19583,36516=>19584,36519=>19585,36520=>19586,36521=>19587,36525=>19588,36526=>19589,36528=>19590,36529=>19591,36531=>19592,36532=>19593,36533=>19594,36534=>19595,36535=>19596,36536=>19597,36537=>19598,36539=>19599,36540=>19600,36541=>19601,36542=>19602,36543=>19603,36545=>19604,36546=>19605,36547=>19606,36548=>19607,36549=>19608,36550=>19609,36551=>19610,36552=>19611,36553=>19612,36559=>19613,36560=>19614,36561=>19615,36563=>19616,36565=>19617,36566=>19618,36567=>19619,36568=>19620,36569=>19621,36570=>19622,36572=>19623,36573=>19624,36574=>19625,36576=>19626,36577=>19627,36578=>19628,36579=>19629,36581=>19630,36582=>19631,36583=>19632,36584=>19633,36585=>19634,36586=>19635,36588=>19636,36589=>19637,36590=>19638,36591=>19639,36592=>19640,36593=>19641,36595=>19642,36596=>19643,36597=>19644,36598=>19645,36599=>19646,36605=>19647,36607=>19648,36608=>19649,36609=>19650,36610=>19651,36612=>19652,36614=>19653,36616=>19654,36619=>19655,36620=>19656,36621=>19657,36622=>19658,36623=>19659,36624=>19660,36625=>19661,36627=>19662,36630=>19663,36631=>19664,36632=>19665,36633=>19666,36634=>19667,36640=>19668,36641=>19669,36642=>19670,36643=>19671,36644=>19672,36647=>19673,36648=>19674,36651=>19675,36652=>19676,36653=>19677,36654=>19678,36656=>19679,36657=>19680,36658=>19681,36660=>19682,36661=>19683,36662=>19684,36663=>19685,36665=>19686,36666=>19687,36668=>19688,36669=>19689,36672=>19690,36673=>19691,36675=>19692,36679=>19693,36680=>19694,36682=>19695,36683=>19696,36684=>19697,36687=>19698,36688=>19699,36689=>19700,36690=>19701,36691=>19702,36693=>19703,36694=>19704,36695=>19705,36696=>19706,36697=>19707,36698=>19708,36699=>19709,36700=>19710,36701=>19711,36702=>19712,36704=>19713,36707=>19714,36709=>19715,36714=>19716,36736=>19717,36748=>19718,36754=>19719,36765=>19720,36768=>19721,36769=>19722,36770=>19723,36772=>19724,36773=>19725,36775=>19726,36778=>19727,36780=>19728,36787=>19729,36788=>19730,12193=>19731,36789=>19731,36791=>19732,36792=>19733,36794=>19734,36795=>19735,36796=>19736,36799=>19737,36800=>19738,36803=>19739,36806=>19740,36809=>19741,36810=>19742,36811=>19743,36812=>19744,36813=>19745,36815=>19746,36818=>19747,36822=>19748,36823=>19749,36826=>19750,36832=>19751,36833=>19752,36835=>19753,36839=>19754,36844=>19755,36847=>19756,36849=>19757,36850=>19758,36853=>19759,36854=>19760,36858=>19761,36859=>19762,36860=>19763,36862=>19764,36863=>19765,36871=>19766,36872=>19767,36876=>19768,36878=>19769,36883=>19770,36888=>19771,36892=>19772,36900=>19773,36901=>19774,36903=>19775,36904=>19776,36905=>19777,36906=>19778,36907=>19779,36908=>19780,36912=>19781,36913=>19782,36915=>19783,36916=>19784,36919=>19785,36921=>19786,36922=>19787,36925=>19788,36927=>19789,36928=>19790,36931=>19791,36933=>19792,36934=>19793,36936=>19794,36937=>19795,36938=>19796,36940=>19797,36950=>19798,36953=>19799,36954=>19800,36957=>19801,36959=>19802,36961=>19803,36964=>19804,36966=>19805,36967=>19806,36970=>19807,36971=>19808,36972=>19809,36975=>19810,36976=>19811,36977=>19812,36979=>19813,36982=>19814,36985=>19815,36987=>19816,36990=>19817,36997=>19818,36998=>19819,37001=>19820,37004=>19821,37005=>19822,37006=>19823,37010=>19824,37012=>19825,37014=>19826,37016=>19827,37018=>19828,37020=>19829,37022=>19830,37023=>19831,37024=>19832,37028=>19833,37029=>19834,37031=>19835,37032=>19836,37033=>19837,37035=>19838,37037=>19839,37042=>19840,37047=>19841,37052=>19842,37053=>19843,37055=>19844,37056=>19845,37058=>19846,37059=>19847,37062=>19848,37064=>19849,37065=>19850,37067=>19851,37068=>19852,37069=>19853,37074=>19854,37076=>19855,37077=>19856,37078=>19857,37080=>19858,37081=>19859,37082=>19860,37086=>19861,37088=>19862,37091=>19863,37092=>19864,37093=>19865,37097=>19866,37098=>19867,37100=>19868,37102=>19869,37104=>19870,37105=>19871,37106=>19872,37107=>19873,37110=>19874,37111=>19875,37113=>19876,37114=>19877,37115=>19878,37116=>19879,37119=>19880,37120=>19881,37121=>19882,37123=>19883,37125=>19884,37127=>19885,37128=>19886,37130=>19887,37131=>19888,37132=>19889,37133=>19890,37134=>19891,37135=>19892,37136=>19893,37137=>19894,37139=>19895,37141=>19896,37143=>19897,37144=>19898,37146=>19899,37147=>19900,37148=>19901,37149=>19902,37151=>19903,37152=>19904,37153=>19905,37156=>19906,37157=>19907,37158=>19908,37160=>19909,37161=>19910,37162=>19911,37163=>19912,37164=>19913,37166=>19914,37171=>19915,37173=>19916,37175=>19917,37176=>19918,37179=>19919,37180=>19920,37181=>19921,37182=>19922,37183=>19923,37184=>19924,37185=>19925,37186=>19926,37188=>19927,37189=>19928,37191=>19929,37201=>19930,37203=>19931,37204=>19932,37205=>19933,37206=>19934,37208=>19935,37209=>19936,37211=>19937,37212=>19938,37215=>19939,37216=>19940,37222=>19941,37223=>19942,37224=>19943,37227=>19944,37229=>19945,37235=>19946,37242=>19947,37243=>19948,37244=>19949,37248=>19950,37249=>19951,37250=>19952,37251=>19953,37252=>19954,37254=>19955,37256=>19956,37258=>19957,37262=>19958,37263=>19959,37267=>19960,37268=>19961,37269=>19962,37271=>19963,37272=>19964,37273=>19965,37277=>19966,37278=>19967,37279=>19968,37280=>19969,37281=>19970,37284=>19971,37285=>19972,37286=>19973,37287=>19974,37288=>19975,37289=>19976,37296=>19977,37297=>19978,37298=>19979,37299=>19980,37302=>19981,37303=>19982,37304=>19983,37305=>19984,37307=>19985,37308=>19986,37309=>19987,37310=>19988,37311=>19989,37314=>19990,37316=>19991,12196=>19992,37318=>19992,37320=>19993,37328=>19994,37334=>19995,37338=>19996,37339=>19997,37342=>19998,37343=>19999,37344=>20000,37345=>20001,37346=>20002,37349=>20003,37350=>20004,37352=>20005,37354=>20006,37355=>20007,37356=>20008,37357=>20009,37358=>20010,37359=>20011,37360=>20012,37361=>20013,37362=>20014,37363=>20015,37364=>20016,37366=>20017,37368=>20018,37371=>20019,37372=>20020,37373=>20021,37374=>20022,37375=>20023,37378=>20024,37379=>20025,37381=>20026,37382=>20027,37383=>20028,37386=>20029,37387=>20030,37388=>20031,37391=>20032,37394=>20033,37395=>20034,37398=>20035,37399=>20036,37400=>20037,37401=>20038,37402=>20039,37403=>20040,37404=>20041,37405=>20042,37407=>20043,37408=>20044,37409=>20045,37410=>20046,37412=>20047,37416=>20048,37417=>20049,37418=>20050,37419=>20051,37420=>20052,37421=>20053,37423=>20054,37425=>20055,37426=>20056,37429=>20057,37430=>20058,37435=>20059,37436=>20060,37441=>20061,37442=>20062,37443=>20063,37444=>20064,37446=>20065,37447=>20066,37450=>20067,37451=>20068,37452=>20069,37454=>20070,37455=>20071,37456=>20072,37458=>20073,37459=>20074,37460=>20075,37462=>20076,37464=>20077,37465=>20078,37468=>20079,37469=>20080,37471=>20081,37472=>20082,37473=>20083,37475=>20084,37476=>20085,37477=>20086,37479=>20087,37480=>20088,37481=>20089,37482=>20090,37483=>20091,37486=>20092,37487=>20093,37488=>20094,37489=>20095,37490=>20096,37491=>20097,37493=>20098,37494=>20099,37495=>20100,37497=>20101,37500=>20102,37501=>20103,37502=>20104,37505=>20105,37506=>20106,37508=>20107,37510=>20108,37511=>20109,37512=>20110,37513=>20111,37514=>20112,37515=>20113,37516=>20114,37517=>20115,37519=>20116,37520=>20117,37522=>20118,37524=>20119,37525=>20120,37527=>20121,37529=>20122,37531=>20123,37533=>20124,37534=>20125,37535=>20126,37537=>20127,37538=>20128,37540=>20129,37543=>20130,37549=>20131,37551=>20132,37552=>20133,37554=>20134,37555=>20135,37556=>20136,37557=>20137,37558=>20138,37560=>20139,37562=>20140,37565=>20141,37566=>20142,37567=>20143,37568=>20144,37570=>20145,37572=>20146,37574=>20147,37577=>20148,37578=>20149,37579=>20150,37581=>20151,37582=>20152,37584=>20153,37585=>20154,37587=>20155,37588=>20156,37589=>20157,37590=>20158,37591=>20159,37592=>20160,37593=>20161,37594=>20162,37595=>20163,37596=>20164,37598=>20165,37600=>20166,37601=>20167,37602=>20168,37607=>20169,37609=>20170,37611=>20171,37612=>20172,37618=>20173,37619=>20174,37620=>20175,37621=>20176,37623=>20177,37625=>20178,37626=>20179,37627=>20180,37629=>20181,37630=>20182,37631=>20183,37632=>20184,37634=>20185,37635=>20186,37636=>20187,37637=>20188,37641=>20189,37642=>20190,37643=>20191,37644=>20192,37645=>20193,37646=>20194,37647=>20195,37649=>20196,37651=>20197,37652=>20198,37654=>20199,37655=>20200,37660=>20201,37661=>20202,37662=>20203,37665=>20204,37667=>20205,37668=>20206,37669=>20207,37671=>20208,37673=>20209,37674=>20210,37676=>20211,37677=>20212,37680=>20213,37681=>20214,37684=>20215,37685=>20216,37687=>20217,37689=>20218,37690=>20219,37691=>20220,37692=>20221,37693=>20222,37695=>20223,37698=>20224,37700=>20225,37701=>20226,37704=>20227,37705=>20228,37706=>20229,37708=>20230,37710=>20231,37711=>20232,37712=>20233,37713=>20234,37714=>20235,37715=>20236,37717=>20237,37718=>20238,37719=>20239,37721=>20240,37722=>20241,37724=>20242,37725=>20243,37726=>20244,37727=>20245,37728=>20246,37729=>20247,37730=>20248,37731=>20249,37734=>20250,37735=>20251,37736=>20252,37739=>20253,37741=>20254,37742=>20255,37743=>20256,37745=>20257,37746=>20258,37747=>20259,37748=>20260,37751=>20261,37752=>20262,37753=>20263,37755=>20264,37756=>20265,37757=>20266,37759=>20267,37760=>20268,37761=>20269,37763=>20270,37765=>20271,37766=>20272,37768=>20273,37769=>20274,37771=>20275,37772=>20276,37773=>20277,37774=>20278,37776=>20279,37777=>20280,37778=>20281,37779=>20282,37780=>20283,37781=>20284,37783=>20285,37785=>20286,37786=>20287,37787=>20288,37788=>20289,37789=>20290,37790=>20291,37791=>20292,37792=>20293,37793=>20294,37796=>20295,37797=>20296,37800=>20297,37803=>20298,37805=>20299,37807=>20300,37809=>20301,37810=>20302,37812=>20303,37814=>20304,37815=>20305,37817=>20306,37818=>20307,37819=>20308,37820=>20309,37821=>20310,37822=>20311,37824=>20312,37825=>20313,37826=>20314,37828=>20315,37829=>20316,37830=>20317,37833=>20318,37835=>20319,37838=>20320,37839=>20321,37840=>20322,37842=>20323,37843=>20324,37844=>20325,37845=>20326,37849=>20327,37850=>20328,37851=>20329,37856=>20330,37859=>20331,37861=>20332,37862=>20333,37863=>20334,37865=>20335,37866=>20336,37867=>20337,37868=>20338,37869=>20339,37870=>20340,37871=>20341,37872=>20342,37873=>20343,37874=>20344,37875=>20345,37876=>20346,37878=>20347,37880=>20348,37882=>20349,37883=>20350,37884=>20351,37885=>20352,37886=>20353,37887=>20354,37888=>20355,37889=>20356,37890=>20357,37892=>20358,37893=>20359,37894=>20360,37895=>20361,37896=>20362,37897=>20363,37898=>20364,37900=>20365,37901=>20366,37902=>20367,37903=>20368,37905=>20369,37909=>20370,37910=>20371,37911=>20372,37914=>20373,37915=>20374,37916=>20375,37918=>20376,37919=>20377,37921=>20378,37922=>20379,37923=>20380,37924=>20381,37925=>20382,37929=>20383,37930=>20384,37931=>20385,37932=>20386,37933=>20387,37935=>20388,37936=>20389,37937=>20390,37940=>20391,37942=>20392,37943=>20393,37945=>20394,37947=>20395,37948=>20396,37949=>20397,37952=>20398,37953=>20399,37954=>20400,37955=>20401,37957=>20402,37958=>20403,37959=>20404,37960=>20405,37961=>20406,37963=>20407,37965=>20408,37966=>20409,37967=>20410,37968=>20411,37969=>20412,37971=>20413,37973=>20414,37974=>20415,37975=>20416,37976=>20417,37977=>20418,37978=>20419,37979=>20420,37980=>20421,37981=>20422,37982=>20423,37983=>20424,37985=>20425,37986=>20426,37988=>20427,37990=>20428,37991=>20429,37992=>20430,37993=>20431,37994=>20432,37996=>20433,37998=>20434,37999=>20435,38001=>20436,38003=>20437,38004=>20438,38005=>20439,38006=>20440,38008=>20441,38010=>20442,38011=>20443,38016=>20444,38017=>20445,38018=>20446,38019=>20447,38020=>20448,38033=>20449,38038=>20450,38040=>20451,38087=>20452,38095=>20453,38099=>20454,38100=>20455,38106=>20456,38118=>20457,38139=>20458,38172=>20459,38176=>20460,38183=>20461,38195=>20462,38205=>20463,38211=>20464,38216=>20465,38219=>20466,38229=>20467,38234=>20468,38240=>20469,38254=>20470,38260=>20471,38261=>20472,38264=>20473,38265=>20474,38266=>20475,38267=>20476,38268=>20477,38269=>20478,38270=>20479,38273=>20480,38276=>20481,38277=>20482,38279=>20483,38280=>20484,38282=>20485,38285=>20486,38288=>20487,38290=>20488,38293=>20489,38294=>20490,38295=>20491,38297=>20492,38298=>20493,38299=>20494,38300=>20495,38301=>20496,38302=>20497,38303=>20498,38304=>20499,38306=>20500,38310=>20501,38311=>20502,38314=>20503,38318=>20504,38319=>20505,38320=>20506,38321=>20507,38323=>20508,38324=>20509,38325=>20510,38327=>20511,38328=>20512,38330=>20513,38336=>20514,38337=>20515,38338=>20516,38340=>20517,38341=>20518,38343=>20519,38345=>20520,38349=>20521,38350=>20522,38351=>20523,38353=>20524,38354=>20525,38355=>20526,38359=>20527,38360=>20528,38361=>20529,38362=>20530,38363=>20531,38365=>20532,38367=>20533,38368=>20534,38371=>20535,38372=>20536,38374=>20537,38375=>20538,38380=>20539,38399=>20540,38407=>20541,38419=>20542,38424=>20543,38427=>20544,38430=>20545,38432=>20546,38435=>20547,38436=>20548,38437=>20549,38438=>20550,38439=>20551,38440=>20552,38441=>20553,38443=>20554,38444=>20555,38445=>20556,38447=>20557,38448=>20558,38455=>20559,38456=>20560,38457=>20561,38458=>20562,38462=>20563,38465=>20564,38467=>20565,38474=>20566,38478=>20567,38479=>20568,38481=>20569,38482=>20570,38483=>20571,38486=>20572,38487=>20573,38489=>20574,38490=>20575,38492=>20576,38494=>20577,38496=>20578,38501=>20579,38502=>20580,38507=>20581,38509=>20582,38510=>20583,38511=>20584,38513=>20585,38521=>20586,38522=>20587,38523=>20588,38524=>20589,38526=>20590,38527=>20591,38528=>20592,38529=>20593,38530=>20594,38531=>20595,38532=>20596,38535=>20597,38537=>20598,38540=>20599,38545=>20600,38546=>20601,38547=>20602,38550=>20603,38554=>20604,38557=>20605,38558=>20606,38559=>20607,38560=>20608,38561=>20609,38562=>20610,63985=>20611,38563=>20611,38564=>20612,38565=>20613,38566=>20614,38569=>20615,38571=>20616,38572=>20617,38573=>20618,38574=>20619,38575=>20620,38578=>20621,38581=>20622,38583=>20623,38586=>20624,38591=>20625,38594=>20626,38595=>20627,38600=>20628,38602=>20629,38603=>20630,38608=>20631,38609=>20632,38611=>20633,38612=>20634,38615=>20635,38616=>20636,38618=>20637,38621=>20638,38622=>20639,38623=>20640,38625=>20641,38628=>20642,38629=>20643,38630=>20644,38631=>20645,38635=>20646,38636=>20647,38637=>20648,38638=>20649,38640=>20650,38641=>20651,38644=>20652,38645=>20653,38648=>20654,38650=>20655,38652=>20656,38653=>20657,38655=>20658,38658=>20659,38659=>20660,38661=>20661,38666=>20662,38667=>20663,38668=>20664,38672=>20665,38673=>20666,38674=>20667,38676=>20668,38677=>20669,38679=>20670,38680=>20671,38681=>20672,38682=>20673,38683=>20674,38685=>20675,38687=>20676,38688=>20677,38689=>20678,38690=>20679,38691=>20680,38692=>20681,38693=>20682,38694=>20683,38696=>20684,38697=>20685,38699=>20686,38700=>20687,38702=>20688,38703=>20689,38705=>20690,38707=>20691,38708=>20692,38709=>20693,38710=>20694,38711=>20695,38714=>20696,38715=>20697,38716=>20698,38719=>20699,38720=>20700,38721=>20701,38723=>20702,38725=>20703,38726=>20704,38727=>20705,38729=>20706,38730=>20707,38731=>20708,38732=>20709,38733=>20710,38734=>20711,38735=>20712,38736=>20713,12205=>20714,38737=>20714,38740=>20715,38741=>20716,38743=>20717,38744=>20718,38748=>20719,38749=>20720,38751=>20721,38755=>20722,38756=>20723,38758=>20724,38759=>20725,38762=>20726,38763=>20727,38764=>20728,38765=>20729,38766=>20730,38767=>20731,38768=>20732,38769=>20733,38770=>20734,38773=>20735,38775=>20736,38776=>20737,38777=>20738,38778=>20739,38779=>20740,38781=>20741,38782=>20742,38783=>20743,38784=>20744,38785=>20745,38786=>20746,38787=>20747,38788=>20748,38790=>20749,38791=>20750,38792=>20751,38793=>20752,38794=>20753,38796=>20754,38798=>20755,38800=>20756,38803=>20757,38805=>20758,38806=>20759,38807=>20760,38809=>20761,38810=>20762,38811=>20763,38812=>20764,38813=>20765,38814=>20766,38815=>20767,38817=>20768,38818=>20769,38820=>20770,38821=>20771,38823=>20772,38824=>20773,38825=>20774,38826=>20775,38828=>20776,38830=>20777,38832=>20778,38833=>20779,38835=>20780,38837=>20781,38838=>20782,38839=>20783,38840=>20784,38841=>20785,38842=>20786,38843=>20787,38844=>20788,38846=>20789,38847=>20790,38848=>20791,38849=>20792,38850=>20793,38852=>20794,38853=>20795,38855=>20796,38856=>20797,38858=>20798,38861=>20799,38862=>20800,38863=>20801,38864=>20802,38865=>20803,38866=>20804,38868=>20805,38869=>20806,38870=>20807,38871=>20808,38872=>20809,38874=>20810,38875=>20811,38877=>20812,38879=>20813,38880=>20814,38881=>20815,38882=>20816,38883=>20817,38884=>20818,38885=>20819,38888=>20820,38894=>20821,38895=>20822,38896=>20823,38897=>20824,38898=>20825,38900=>20826,38903=>20827,38904=>20828,38905=>20829,38906=>20830,38907=>20831,38908=>20832,38909=>20833,38910=>20834,38912=>20835,38916=>20836,38921=>20837,38923=>20838,38925=>20839,38932=>20840,38933=>20841,38934=>20842,38937=>20843,38938=>20844,38939=>20845,38941=>20846,38942=>20847,38943=>20848,38944=>20849,38946=>20850,38947=>20851,38949=>20852,38951=>20853,38952=>20854,38953=>20855,38954=>20856,38955=>20857,38956=>20858,38958=>20859,38959=>20860,38961=>20861,38962=>20862,38963=>20863,38964=>20864,38965=>20865,38966=>20866,38969=>20867,38970=>20868,38972=>20869,38974=>20870,38975=>20871,38976=>20872,38977=>20873,38978=>20874,38979=>20875,38980=>20876,38981=>20877,38983=>20878,38984=>20879,38985=>20880,38986=>20881,38987=>20882,38991=>20883,38992=>20884,38993=>20885,38994=>20886,38997=>20887,38998=>20888,38999=>20889,39002=>20890,39004=>20891,39005=>20892,39007=>20893,39008=>20894,39009=>20895,39011=>20896,39012=>20897,39014=>20898,39016=>20899,39017=>20900,39018=>20901,39021=>20902,39022=>20903,39026=>20904,39051=>20905,39054=>20906,39058=>20907,39061=>20908,39065=>20909,39075=>20910,39081=>20911,39082=>20912,39083=>20913,39084=>20914,39085=>20915,39088=>20916,39090=>20917,39092=>20918,39093=>20919,39095=>20920,39096=>20921,39097=>20922,39098=>20923,39099=>20924,39101=>20925,39102=>20926,39103=>20927,39104=>20928,39105=>20929,39106=>20930,39107=>20931,39109=>20932,39111=>20933,39113=>20934,39114=>20935,39115=>20936,39116=>20937,39117=>20938,39119=>20939,39120=>20940,39124=>20941,39126=>20942,39127=>20943,39132=>20944,39133=>20945,39137=>20946,39139=>20947,39140=>20948,39141=>20949,39142=>20950,39148=>20951,39150=>20952,39152=>20953,39153=>20954,39155=>20955,39157=>20956,39158=>20957,39159=>20958,39160=>20959,39161=>20960,39162=>20961,39163=>20962,39167=>20963,39168=>20964,39169=>20965,39170=>20966,39172=>20967,39174=>20968,39175=>20969,39176=>20970,39179=>20971,39182=>20972,39183=>20973,39188=>20974,39189=>20975,39190=>20976,39191=>20977,39193=>20978,39194=>20979,39196=>20980,39197=>20981,39199=>20982,39200=>20983,39202=>20984,39203=>20985,39204=>20986,39205=>20987,39206=>20988,39207=>20989,39209=>20990,39210=>20991,39211=>20992,39212=>20993,39213=>20994,39215=>20995,39216=>20996,39217=>20997,39218=>20998,39220=>20999,39221=>21000,39222=>21001,39224=>21002,39225=>21003,39226=>21004,39227=>21005,39229=>21006,39232=>21007,39233=>21008,39234=>21009,39236=>21010,39238=>21011,39239=>21012,39245=>21013,39246=>21014,39247=>21015,39248=>21016,39251=>21017,39254=>21018,39256=>21019,39257=>21020,39258=>21021,39259=>21022,39261=>21023,39263=>21024,39264=>21025,39265=>21026,39268=>21027,39270=>21028,39283=>21029,39288=>21030,39289=>21031,39291=>21032,39294=>21033,39298=>21034,39299=>21035,39305=>21036,39308=>21037,39310=>21038,39322=>21039,39323=>21040,39324=>21041,39325=>21042,39326=>21043,39327=>21044,39328=>21045,39329=>21046,39330=>21047,39331=>21048,39332=>21049,39334=>21050,39335=>21051,39337=>21052,39338=>21053,39339=>21054,39343=>21055,39344=>21056,39346=>21057,39349=>21058,39350=>21059,39351=>21060,39352=>21061,39353=>21062,39354=>21063,39355=>21064,39356=>21065,39357=>21066,39358=>21067,39359=>21068,39360=>21069,39362=>21070,39363=>21071,39364=>21072,39365=>21073,39366=>21074,39367=>21075,39368=>21076,39369=>21077,39370=>21078,39371=>21079,39372=>21080,39373=>21081,39374=>21082,39375=>21083,39379=>21084,39382=>21085,39383=>21086,39386=>21087,39388=>21088,39390=>21089,39392=>21090,39395=>21091,39396=>21092,39397=>21093,39398=>21094,39399=>21095,39400=>21096,39401=>21097,39402=>21098,39403=>21099,39404=>21100,39406=>21101,39407=>21102,39408=>21103,39410=>21104,39411=>21105,39412=>21106,39413=>21107,39414=>21108,39415=>21109,39416=>21110,39417=>21111,39418=>21112,39419=>21113,39420=>21114,39421=>21115,39422=>21116,39424=>21117,39426=>21118,39427=>21119,39428=>21120,39430=>21121,39431=>21122,39432=>21123,39433=>21124,39434=>21125,39435=>21126,39436=>21127,39440=>21128,39441=>21129,39442=>21130,39443=>21131,39444=>21132,39445=>21133,39447=>21134,39448=>21135,39450=>21136,39451=>21137,39452=>21138,39453=>21139,39454=>21140,39455=>21141,39456=>21142,39457=>21143,39458=>21144,39459=>21145,39460=>21146,39461=>21147,39462=>21148,39463=>21149,39464=>21150,39465=>21151,39466=>21152,39468=>21153,39471=>21154,39473=>21155,39474=>21156,39475=>21157,39476=>21158,39477=>21159,39481=>21160,39482=>21161,39483=>21162,39484=>21163,39485=>21164,39487=>21165,39494=>21166,39495=>21167,39496=>21168,39497=>21169,39499=>21170,39500=>21171,39502=>21172,39504=>21173,39505=>21174,39506=>21175,39507=>21176,39508=>21177,39510=>21178,39512=>21179,39513=>21180,39516=>21181,39517=>21182,39518=>21183,39520=>21184,39521=>21185,39523=>21186,39526=>21187,39527=>21188,39528=>21189,39529=>21190,39531=>21191,39538=>21192,39555=>21193,39561=>21194,39565=>21195,39566=>21196,39572=>21197,39573=>21198,39577=>21199,39590=>21200,39593=>21201,39594=>21202,39595=>21203,39596=>21204,39597=>21205,39598=>21206,39602=>21207,39603=>21208,39604=>21209,39605=>21210,39609=>21211,39611=>21212,39613=>21213,39614=>21214,39615=>21215,39619=>21216,39620=>21217,39622=>21218,39623=>21219,39624=>21220,39625=>21221,39626=>21222,39629=>21223,39630=>21224,39632=>21225,39639=>21226,39641=>21227,39642=>21228,39643=>21229,39644=>21230,39645=>21231,39646=>21232,39648=>21233,39650=>21234,39651=>21235,39652=>21236,39653=>21237,39655=>21238,39656=>21239,39657=>21240,39658=>21241,39660=>21242,39664=>21243,39665=>21244,39666=>21245,39667=>21246,39668=>21247,39669=>21248,39670=>21249,39671=>21250,39672=>21251,39674=>21252,39676=>21253,39677=>21254,39678=>21255,39679=>21256,39680=>21257,39681=>21258,39682=>21259,39684=>21260,39685=>21261,39687=>21262,39689=>21263,39690=>21264,39691=>21265,39692=>21266,39694=>21267,39696=>21268,39697=>21269,39698=>21270,39700=>21271,39701=>21272,39702=>21273,39703=>21274,39704=>21275,39705=>21276,39707=>21277,39708=>21278,39709=>21279,39710=>21280,39712=>21281,39713=>21282,39716=>21283,39718=>21284,39720=>21285,39722=>21286,39723=>21287,39724=>21288,39725=>21289,39728=>21290,39731=>21291,39732=>21292,39733=>21293,39734=>21294,39735=>21295,39736=>21296,39737=>21297,39738=>21298,39741=>21299,39742=>21300,39743=>21301,39744=>21302,39750=>21303,39754=>21304,39755=>21305,39756=>21306,39760=>21307,39762=>21308,39763=>21309,39765=>21310,39766=>21311,39767=>21312,39769=>21313,39771=>21314,39772=>21315,39773=>21316,39774=>21317,39775=>21318,39776=>21319,39777=>21320,39778=>21321,39779=>21322,39780=>21323,39781=>21324,39782=>21325,39783=>21326,39784=>21327,39785=>21328,39786=>21329,39787=>21330,39788=>21331,39789=>21332,39790=>21333,39792=>21334,39793=>21335,39794=>21336,39795=>21337,39797=>21338,39798=>21339,39800=>21340,39801=>21341,39802=>21342,39803=>21343,39804=>21344,39805=>21345,39806=>21346,39807=>21347,39808=>21348,39810=>21349,39812=>21350,39813=>21351,39814=>21352,39815=>21353,39816=>21354,39817=>21355,39818=>21356,39819=>21357,39820=>21358,39821=>21359,39823=>21360,39827=>21361,39828=>21362,39829=>21363,39830=>21364,39831=>21365,39832=>21366,39833=>21367,39835=>21368,39836=>21369,39839=>21370,39840=>21371,39841=>21372,39842=>21373,39843=>21374,39844=>21375,39845=>21376,39846=>21377,39847=>21378,39848=>21379,39849=>21380,39852=>21381,39855=>21382,39856=>21383,39857=>21384,39858=>21385,39859=>21386,39860=>21387,39861=>21388,39862=>21389,39863=>21390,39864=>21391,39865=>21392,39866=>21393,39867=>21394,39868=>21395,39869=>21396,39870=>21397,39871=>21398,39874=>21399,39875=>21400,39876=>21401,39877=>21402,39878=>21403,39880=>21404,39883=>21405,39884=>21406,39885=>21407,39886=>21408,39887=>21409,39888=>21410,39889=>21411,39890=>21412,39891=>21413,39893=>21414,39895=>21415,39896=>21416,39897=>21417,39898=>21418,39900=>21419,39902=>21420,39903=>21421,39904=>21422,39907=>21423,39909=>21424,39910=>21425,39913=>21426,39916=>21427,39917=>21428,39918=>21429,39919=>21430,39921=>21431,39922=>21432,39923=>21433,39925=>21434,39926=>21435,39927=>21436,39928=>21437,39929=>21438,39930=>21439,39931=>21440,39932=>21441,39934=>21442,39936=>21443,39937=>21444,39938=>21445,39939=>21446,39940=>21447,39941=>21448,39942=>21449,39943=>21450,39946=>21451,39947=>21452,39948=>21453,39950=>21454,39951=>21455,39953=>21456,39956=>21457,39957=>21458,39958=>21459,39959=>21460,39960=>21461,39961=>21462,39962=>21463,39963=>21464,39964=>21465,39965=>21466,39966=>21467,39967=>21468,39969=>21469,39970=>21470,39972=>21471,39974=>21472,39975=>21473,39978=>21474,39979=>21475,39980=>21476,39982=>21477,39983=>21478,39984=>21479,39988=>21480,39990=>21481,39992=>21482,39994=>21483,39996=>21484,39997=>21485,39999=>21486,40000=>21487,40001=>21488,40002=>21489,40003=>21490,40004=>21491,40006=>21492,40007=>21493,40010=>21494,40011=>21495,40012=>21496,40013=>21497,40014=>21498,40015=>21499,40016=>21500,40017=>21501,40019=>21502,40021=>21503,40025=>21504,40026=>21505,40027=>21506,40028=>21507,40030=>21508,40032=>21509,40033=>21510,40034=>21511,40035=>21512,40036=>21513,40037=>21514,40038=>21515,40040=>21516,40041=>21517,40042=>21518,40043=>21519,40044=>21520,40046=>21521,40047=>21522,40048=>21523,40049=>21524,40050=>21525,40051=>21526,40052=>21527,40053=>21528,40054=>21529,40055=>21530,40057=>21531,40059=>21532,40061=>21533,40062=>21534,40064=>21535,40067=>21536,40068=>21537,40073=>21538,40074=>21539,40076=>21540,40079=>21541,40083=>21542,40086=>21543,40087=>21544,40088=>21545,40089=>21546,40093=>21547,40106=>21548,40108=>21549,40111=>21550,40121=>21551,40126=>21552,40127=>21553,40128=>21554,40129=>21555,40130=>21556,40136=>21557,40137=>21558,40145=>21559,40146=>21560,40154=>21561,40155=>21562,40160=>21563,40161=>21564,40163=>21565,40164=>21566,40166=>21567,40167=>21568,40168=>21569,40170=>21570,40171=>21571,40173=>21572,40174=>21573,40175=>21574,40176=>21575,40177=>21576,40178=>21577,40181=>21578,40183=>21579,40184=>21580,40185=>21581,40186=>21582,40187=>21583,40188=>21584,40189=>21585,40190=>21586,40191=>21587,40192=>21588,40193=>21589,40194=>21590,40195=>21591,40196=>21592,40197=>21593,40200=>21594,40202=>21595,40203=>21596,40204=>21597,40205=>21598,40206=>21599,40207=>21600,40208=>21601,40209=>21602,40210=>21603,40211=>21604,40212=>21605,40214=>21606,40215=>21607,40216=>21608,40217=>21609,40218=>21610,40220=>21611,40222=>21612,40224=>21613,40225=>21614,40226=>21615,40228=>21616,40229=>21617,40231=>21618,40233=>21619,40234=>21620,40235=>21621,40236=>21622,40237=>21623,40238=>21624,40241=>21625,40242=>21626,40243=>21627,40244=>21628,40245=>21629,40246=>21630,40247=>21631,40248=>21632,40249=>21633,40250=>21634,40252=>21635,40253=>21636,40254=>21637,40256=>21638,40257=>21639,40259=>21640,40260=>21641,40261=>21642,40262=>21643,40263=>21644,40264=>21645,40265=>21646,40266=>21647,40267=>21648,40268=>21649,40269=>21650,40270=>21651,40271=>21652,40272=>21653,40276=>21654,40277=>21655,40278=>21656,40279=>21657,40280=>21658,40281=>21659,40282=>21660,40283=>21661,40286=>21662,40287=>21663,40290=>21664,40291=>21665,40292=>21666,40293=>21667,40294=>21668,40295=>21669,40296=>21670,40297=>21671,40299=>21672,40301=>21673,40302=>21674,40304=>21675,40305=>21676,40307=>21677,40308=>21678,40309=>21679,40310=>21680,40311=>21681,40312=>21682,40313=>21683,40314=>21684,40315=>21685,40316=>21686,40317=>21687,40318=>21688,40319=>21689,40320=>21690,40321=>21691,40322=>21692,40323=>21693,40324=>21694,40325=>21695,40326=>21696,40328=>21697,40330=>21698,40331=>21699,40332=>21700,40333=>21701,40334=>21702,40335=>21703,40336=>21704,40337=>21705,40338=>21706,40340=>21707,40341=>21708,40342=>21709,40343=>21710,40345=>21711,40347=>21712,40348=>21713,40349=>21714,40350=>21715,40351=>21716,40352=>21717,40353=>21718,40354=>21719,40355=>21720,40356=>21721,40358=>21722,40359=>21723,40360=>21724,40362=>21725,40363=>21726,40364=>21727,40365=>21728,40366=>21729,40368=>21730,40369=>21731,40370=>21732,40371=>21733,40373=>21734,40374=>21735,40375=>21736,40376=>21737,40377=>21738,40378=>21739,40381=>21740,40382=>21741,40383=>21742,40385=>21743,40387=>21744,40389=>21745,40390=>21746,40391=>21747,40392=>21748,40393=>21749,40394=>21750,40395=>21751,40396=>21752,40397=>21753,40398=>21754,40399=>21755,40400=>21756,40401=>21757,40402=>21758,40404=>21759,40405=>21760,40406=>21761,40408=>21762,40411=>21763,40412=>21764,40413=>21765,40414=>21766,40415=>21767,40416=>21768,40417=>21769,40418=>21770,40419=>21771,40420=>21772,40423=>21773,40424=>21774,40425=>21775,40426=>21776,40427=>21777,40428=>21778,40429=>21779,40430=>21780,40432=>21781,40433=>21782,40436=>21783,40437=>21784,40438=>21785,40439=>21786,40443=>21787,40444=>21788,40445=>21789,40446=>21790,40447=>21791,40448=>21792,40449=>21793,40450=>21794,40451=>21795,40452=>21796,40453=>21797,40454=>21798,40455=>21799,40456=>21800,40457=>21801,40458=>21802,40459=>21803,40461=>21804,40462=>21805,40463=>21806,40464=>21807,40465=>21808,40466=>21809,40467=>21810,40468=>21811,40470=>21812,40471=>21813,40472=>21814,40473=>21815,40476=>21816,40484=>21817,40487=>21818,40494=>21819,40496=>21820,40500=>21821,40507=>21822,40508=>21823,40512=>21824,40525=>21825,40528=>21826,40530=>21827,40531=>21828,40532=>21829,40534=>21830,40537=>21831,40541=>21832,40543=>21833,40544=>21834,40545=>21835,40546=>21836,40549=>21837,40558=>21838,40559=>21839,40562=>21840,40564=>21841,40566=>21842,40567=>21843,40568=>21844,40571=>21845,40576=>21846,40577=>21847,40579=>21848,40580=>21849,40581=>21850,40582=>21851,40585=>21852,40586=>21853,40588=>21854,40589=>21855,40590=>21856,40591=>21857,40592=>21858,40593=>21859,40596=>21860,40597=>21861,40598=>21862,40600=>21863,40601=>21864,40602=>21865,40603=>21866,40604=>21867,40606=>21868,40608=>21869,40609=>21870,40610=>21871,40611=>21872,40612=>21873,40615=>21874,40616=>21875,40618=>21876,40619=>21877,40620=>21878,40621=>21879,40622=>21880,40624=>21881,40625=>21882,40626=>21883,40627=>21884,40630=>21885,40631=>21886,40633=>21887,40634=>21888,40636=>21889,40639=>21890,40640=>21891,40641=>21892,40642=>21893,12232=>21894,40643=>21894,40645=>21895,40646=>21896,40647=>21897,40648=>21898,40650=>21899,40651=>21900,40656=>21901,40658=>21902,40659=>21903,40661=>21904,40662=>21905,40663=>21906,40665=>21907,40666=>21908,40673=>21909,40675=>21910,40676=>21911,40678=>21912,40683=>21913,40684=>21914,40685=>21915,40686=>21916,40688=>21917,40689=>21918,40691=>21919,40693=>21920,40694=>21921,40696=>21922,40698=>21923,40704=>21924,40705=>21925,40706=>21926,40707=>21927,40708=>21928,40709=>21929,40710=>21930,40711=>21931,40712=>21932,40714=>21933,40716=>21934,40719=>21935,40721=>21936,40722=>21937,40724=>21938,40726=>21939,40728=>21940,40730=>21941,40731=>21942,40732=>21943,40733=>21944,40734=>21945,40735=>21946,40737=>21947,40739=>21948,40740=>21949,40741=>21950,40742=>21951,40743=>21952,40744=>21953,40745=>21954,40746=>21955,40747=>21956,40749=>21957,40750=>21958,40752=>21959,40753=>21960,40754=>21961,40755=>21962,40756=>21963,40757=>21964,40758=>21965,40760=>21966,40762=>21967,40764=>21968,40767=>21969,40768=>21970,40769=>21971,40770=>21972,40771=>21973,40773=>21974,40774=>21975,40775=>21976,40776=>21977,40777=>21978,40780=>21979,40781=>21980,40782=>21981,40787=>21982,40789=>21983,40790=>21984,40791=>21985,40792=>21986,40794=>21987,40795=>21988,40797=>21989,40798=>21990,40802=>21991,40804=>21992,40805=>21993,40807=>21994,40808=>21995,40809=>21996,40811=>21997,40813=>21998,40814=>21999,40815=>22000,40816=>22001,40817=>22002,40819=>22003,40820=>22004,40821=>22005,40822=>22006,40824=>22007,40825=>22008,40826=>22009,40827=>22010,40828=>22011,40829=>22012,40830=>22013,40833=>22014,40834=>22015,40846=>22016,40847=>22017,40849=>22018,40850=>22019,40851=>22020,40854=>22021,40855=>22022,40856=>22023,40861=>22024,40862=>22025,40865=>22026,40866=>22027,40867=>22028,40868=>22029,40869=>22030,63788=>22031,64013=>22032,64014=>22033,64015=>22034,64017=>22035,64019=>22036,64020=>22037,64024=>22038,64031=>22039,64032=>22040,64033=>22041,64035=>22042,64036=>22043,64039=>22044,64040=>22045,64041=>22046,11905=>22047,59413=>22047,131207=>22048,59414=>22048,131209=>22049,59415=>22049,131276=>22050,59416=>22050,11908=>22051,59417=>22051,13427=>22052,59418=>22052,13383=>22053,59419=>22053,11912=>22054,59420=>22054,11915=>22055,59421=>22055,40884=>22056,59422=>22056,13726=>22057,59423=>22057,13850=>22058,59424=>22058,13838=>22059,59425=>22059,11916=>22060,59426=>22060,11927=>22061,59427=>22061,14702=>22062,59428=>22062,14616=>22063,59429=>22063,40885=>22064,59430=>22064,14799=>22065,59431=>22065,14815=>22066,59432=>22066,14963=>22067,59433=>22067,14800=>22068,59434=>22068,40886=>22069,59435=>22069,40887=>22070,59436=>22070,15182=>22071,59437=>22071,15470=>22072,59438=>22072,15584=>22073,59439=>22073,11943=>22074,59440=>22074,136663=>22075,59441=>22075,40888=>22076,59442=>22076,11946=>22077,59443=>22077,16470=>22078,59444=>22078,16735=>22079,59445=>22079,11950=>22080,59446=>22080,17207=>22081,59447=>22081,11955=>22082,59448=>22082,11958=>22083,59449=>22083,11959=>22084,59450=>22084,141711=>22085,59451=>22085,17329=>22086,59452=>22086,17324=>22087,59453=>22087,11963=>22088,59454=>22088,17373=>22089,59455=>22089,17622=>22090,59456=>22090,18017=>22091,59457=>22091,17996=>22092,59458=>22092,40889=>22093,132361=>22093,59459=>22093,18211=>22094,59460=>22094,18217=>22095,59461=>22095,18300=>22096,59462=>22096,18317=>22097,59463=>22097,11978=>22098,59464=>22098,18759=>22099,59465=>22099,18810=>22100,59466=>22100,18813=>22101,59467=>22101,18818=>22102,59468=>22102,18819=>22103,59469=>22103,18821=>22104,59470=>22104,18822=>22105,59471=>22105,18847=>22106,59472=>22106,18843=>22107,59473=>22107,18871=>22108,59474=>22108,18870=>22109,59475=>22109,40890=>22110,133533=>22110,59476=>22110,147966=>22111,59477=>22111,19619=>22112,59478=>22112,19615=>22113,59479=>22113,19616=>22114,59480=>22114,19617=>22115,59481=>22115,19575=>22116,59482=>22116,19618=>22117,59483=>22117,19731=>22118,59484=>22118,19732=>22119,59485=>22119,19733=>22120,59486=>22120,19734=>22121,59487=>22121,19735=>22122,59488=>22122,19736=>22123,59489=>22123,19737=>22124,59490=>22124,19886=>22125,59491=>22125,40891=>22126,59492=>22126,8364=>22353,59244=>22353,165=>22354,12351=>22357,12436=>22375,12535=>22390,12537=>22391,12536=>22392,12538=>22393,12339=>22395,12340=>22396,12341=>22397,12344=>22398,12345=>22399,12346=>22400,12586=>22401,12587=>22402,12588=>22403,12704=>22404,12705=>22405,12706=>22406,12707=>22407,12708=>22408,12709=>22409,12710=>22410,12711=>22411,12712=>22412,12713=>22413,12714=>22414,12715=>22415,12716=>22416,12717=>22417,12718=>22418,12719=>22419,12720=>22420,12721=>22421,12722=>22422,12723=>22423,12724=>22424,12725=>22425,12726=>22426,12727=>22427,11904=>22428,11906=>22429,11907=>22430,11909=>22431,11910=>22432,11911=>22433,11913=>22434,11914=>22435,11917=>22436,11918=>22437,11919=>22438,11920=>22439,11921=>22440,11922=>22441,11923=>22442,11924=>22443,11925=>22444,11926=>22445,11928=>22446,11929=>22447,11931=>22448,11932=>22449,11933=>22450,11934=>22451,11935=>22452,11936=>22453,11937=>22454,11938=>22455,11939=>22456,11940=>22457,11941=>22458,11942=>22459,11944=>22460,11945=>22461,11947=>22462,11948=>22463,11949=>22464,11951=>22465,11952=>22466,11953=>22467,11954=>22468,11956=>22469,11957=>22470,11960=>22471,11961=>22472,11962=>22473,11964=>22474,11965=>22475,11966=>22476,11967=>22477,11968=>22478,11969=>22479,11970=>22480,11971=>22481,11972=>22482,11973=>22483,11974=>22484,11975=>22485,11976=>22486,11977=>22487,11979=>22488,11980=>22489,11981=>22490,11982=>22491,11983=>22492,11984=>22493,11985=>22494,11986=>22495,11987=>22496,11988=>22497,11989=>22498,11990=>22499,11991=>22500,11992=>22501,11993=>22502,11994=>22503,11995=>22504,11996=>22505,11997=>22506,11998=>22507,11999=>22508,12000=>22509,12001=>22510,12002=>22511,12003=>22512,12004=>22513,12005=>22514,12006=>22515,12007=>22516,12008=>22517,12009=>22518,12010=>22519,12011=>22520,12012=>22521,12013=>22522,12014=>22523,12015=>22524,12016=>22525,12017=>22526,12018=>22527,12019=>22528,13312=>22529,13313=>22530,13314=>22531,13315=>22532,13316=>22533,13317=>22534,13318=>22535,13319=>22536,13320=>22537,13321=>22538,13322=>22539,13323=>22540,13324=>22541,13325=>22542,13326=>22543,13327=>22544,13328=>22545,13329=>22546,13330=>22547,13331=>22548,13332=>22549,13333=>22550,13334=>22551,13335=>22552,13336=>22553,13337=>22554,13338=>22555,13339=>22556,13340=>22557,13341=>22558,13342=>22559,13343=>22560,13344=>22561,13345=>22562,13346=>22563,13347=>22564,13348=>22565,13349=>22566,13350=>22567,13351=>22568,13352=>22569,13353=>22570,13354=>22571,13355=>22572,13356=>22573,13357=>22574,13358=>22575,13359=>22576,13360=>22577,13361=>22578,13362=>22579,13363=>22580,13364=>22581,13365=>22582,13366=>22583,13367=>22584,13368=>22585,13369=>22586,13370=>22587,13371=>22588,13372=>22589,13373=>22590,13374=>22591,13375=>22592,13376=>22593,13377=>22594,13378=>22595,13379=>22596,13380=>22597,13381=>22598,13382=>22599,13384=>22600,13385=>22601,13386=>22602,13387=>22603,13388=>22604,13389=>22605,13390=>22606,13391=>22607,13392=>22608,13393=>22609,13394=>22610,13395=>22611,13396=>22612,13397=>22613,13398=>22614,13399=>22615,13400=>22616,13401=>22617,13402=>22618,13403=>22619,13404=>22620,13405=>22621,13406=>22622,13407=>22623,13408=>22624,13409=>22625,13410=>22626,13411=>22627,13412=>22628,13413=>22629,13414=>22630,13415=>22631,13416=>22632,13417=>22633,13418=>22634,13419=>22635,13420=>22636,13421=>22637,13422=>22638,13423=>22639,13424=>22640,13425=>22641,13426=>22642,13428=>22643,13429=>22644,13430=>22645,13431=>22646,13432=>22647,13433=>22648,13434=>22649,13435=>22650,13436=>22651,13437=>22652,13438=>22653,13439=>22654,13440=>22655,13441=>22656,13442=>22657,13443=>22658,13444=>22659,13445=>22660,13446=>22661,13447=>22662,13448=>22663,13449=>22664,13450=>22665,13451=>22666,13452=>22667,13453=>22668,13454=>22669,13455=>22670,13456=>22671,13457=>22672,13458=>22673,13459=>22674,13460=>22675,13461=>22676,13462=>22677,13463=>22678,13464=>22679,13465=>22680,13466=>22681,13467=>22682,13468=>22683,13469=>22684,13470=>22685,13471=>22686,13472=>22687,13473=>22688,13474=>22689,13475=>22690,13476=>22691,13477=>22692,13478=>22693,13479=>22694,13480=>22695,13481=>22696,13482=>22697,13483=>22698,13484=>22699,13485=>22700,13486=>22701,13487=>22702,13488=>22703,13489=>22704,13490=>22705,13491=>22706,13492=>22707,13493=>22708,13494=>22709,13495=>22710,13496=>22711,13497=>22712,13498=>22713,13499=>22714,13500=>22715,13501=>22716,13502=>22717,13503=>22718,13504=>22719,13505=>22720,13506=>22721,13507=>22722,13508=>22723,13509=>22724,13510=>22725,13511=>22726,13512=>22727,13513=>22728,13514=>22729,13515=>22730,13516=>22731,13517=>22732,13518=>22733,13519=>22734,13520=>22735,13521=>22736,13522=>22737,13523=>22738,13524=>22739,13525=>22740,13526=>22741,13527=>22742,13528=>22743,13529=>22744,13530=>22745,13531=>22746,13532=>22747,13533=>22748,13534=>22749,13535=>22750,13536=>22751,13537=>22752,13538=>22753,13539=>22754,13540=>22755,13541=>22756,13542=>22757,13543=>22758,13544=>22759,13545=>22760,13546=>22761,13547=>22762,13548=>22763,13549=>22764,13550=>22765,13551=>22766,13552=>22767,13553=>22768,13554=>22769,13555=>22770,13556=>22771,13557=>22772,13558=>22773,13559=>22774,13560=>22775,13561=>22776,13562=>22777,13563=>22778,13564=>22779,13565=>22780,13566=>22781,13567=>22782,13568=>22783,13569=>22784,13570=>22785,13571=>22786,13572=>22787,13573=>22788,13574=>22789,13575=>22790,13576=>22791,13577=>22792,13578=>22793,13579=>22794,13580=>22795,13581=>22796,13582=>22797,13583=>22798,13584=>22799,13585=>22800,13586=>22801,13587=>22802,13588=>22803,13589=>22804,13590=>22805,13591=>22806,13592=>22807,13593=>22808,13594=>22809,13595=>22810,13596=>22811,13597=>22812,13598=>22813,13599=>22814,13600=>22815,13601=>22816,13602=>22817,13603=>22818,13604=>22819,13605=>22820,13606=>22821,13607=>22822,13608=>22823,13609=>22824,13610=>22825,13611=>22826,13612=>22827,13613=>22828,13614=>22829,13615=>22830,13616=>22831,13617=>22832,13618=>22833,13619=>22834,13620=>22835,13621=>22836,13622=>22837,13623=>22838,13624=>22839,13625=>22840,13626=>22841,13627=>22842,13628=>22843,13629=>22844,13630=>22845,13631=>22846,13632=>22847,13633=>22848,13634=>22849,13635=>22850,13636=>22851,13637=>22852,13638=>22853,13639=>22854,13640=>22855,13641=>22856,13642=>22857,13643=>22858,13644=>22859,13645=>22860,13646=>22861,13647=>22862,13648=>22863,13649=>22864,13650=>22865,13651=>22866,13652=>22867,13653=>22868,13654=>22869,13655=>22870,13656=>22871,13657=>22872,13658=>22873,13659=>22874,13660=>22875,13661=>22876,13662=>22877,13663=>22878,13664=>22879,13665=>22880,13666=>22881,13667=>22882,13668=>22883,13669=>22884,13670=>22885,13671=>22886,13672=>22887,13673=>22888,13674=>22889,13675=>22890,13676=>22891,13677=>22892,13678=>22893,13679=>22894,13680=>22895,13681=>22896,13682=>22897,13683=>22898,13684=>22899,13685=>22900,13686=>22901,13687=>22902,13688=>22903,13689=>22904,13690=>22905,13691=>22906,13692=>22907,13693=>22908,13694=>22909,13695=>22910,13696=>22911,13697=>22912,13698=>22913,13699=>22914,13700=>22915,13701=>22916,13702=>22917,13703=>22918,13704=>22919,13705=>22920,13706=>22921,13707=>22922,13708=>22923,13709=>22924,13710=>22925,13711=>22926,13712=>22927,13713=>22928,13714=>22929,13715=>22930,13716=>22931,13717=>22932,13718=>22933,13719=>22934,13720=>22935,13721=>22936,13722=>22937,13723=>22938,13724=>22939,13725=>22940,13727=>22941,13728=>22942,13729=>22943,13730=>22944,13731=>22945,13732=>22946,13733=>22947,13734=>22948,13735=>22949,13736=>22950,13737=>22951,13738=>22952,13739=>22953,13740=>22954,13741=>22955,13742=>22956,13743=>22957,13744=>22958,13745=>22959,13746=>22960,13747=>22961,13748=>22962,13749=>22963,13750=>22964,13751=>22965,13752=>22966,13753=>22967,13754=>22968,13755=>22969,13756=>22970,13757=>22971,13758=>22972,13759=>22973,13760=>22974,13761=>22975,13762=>22976,13763=>22977,13764=>22978,13765=>22979,13766=>22980,13767=>22981,13768=>22982,13769=>22983,13770=>22984,13771=>22985,13772=>22986,13773=>22987,13774=>22988,13775=>22989,13776=>22990,13777=>22991,13778=>22992,13779=>22993,13780=>22994,13781=>22995,13782=>22996,13783=>22997,13784=>22998,13785=>22999,13786=>23000,13787=>23001,13788=>23002,13789=>23003,13790=>23004,13791=>23005,13792=>23006,13793=>23007,13794=>23008,13795=>23009,13796=>23010,13797=>23011,13798=>23012,13799=>23013,13800=>23014,13801=>23015,13802=>23016,13803=>23017,13804=>23018,13805=>23019,13806=>23020,13807=>23021,13808=>23022,13809=>23023,13810=>23024,13811=>23025,13812=>23026,13813=>23027,13814=>23028,13815=>23029,13816=>23030,13817=>23031,13818=>23032,13819=>23033,13820=>23034,13821=>23035,13822=>23036,13823=>23037,13824=>23038,13825=>23039,13826=>23040,13827=>23041,13828=>23042,13829=>23043,13830=>23044,13831=>23045,13832=>23046,13833=>23047,13834=>23048,13835=>23049,13836=>23050,13837=>23051,13839=>23052,13840=>23053,13841=>23054,13842=>23055,13843=>23056,13844=>23057,13845=>23058,13846=>23059,13847=>23060,13848=>23061,13849=>23062,13851=>23063,13852=>23064,13853=>23065,13854=>23066,13855=>23067,13856=>23068,13857=>23069,13858=>23070,13859=>23071,13860=>23072,13861=>23073,13862=>23074,13863=>23075,13864=>23076,13865=>23077,13866=>23078,13867=>23079,13868=>23080,13869=>23081,13870=>23082,13871=>23083,13872=>23084,13873=>23085,13874=>23086,13875=>23087,13876=>23088,13877=>23089,13878=>23090,13879=>23091,13880=>23092,13881=>23093,13882=>23094,13883=>23095,13884=>23096,13885=>23097,13886=>23098,13887=>23099,13888=>23100,13889=>23101,13890=>23102,13891=>23103,13892=>23104,13893=>23105,13894=>23106,13895=>23107,13896=>23108,13897=>23109,13898=>23110,13899=>23111,13900=>23112,13901=>23113,13902=>23114,13903=>23115,13904=>23116,13905=>23117,13906=>23118,13907=>23119,13908=>23120,13909=>23121,13910=>23122,13911=>23123,13912=>23124,13913=>23125,13914=>23126,13915=>23127,13916=>23128,13917=>23129,13918=>23130,13919=>23131,13920=>23132,13921=>23133,13922=>23134,13923=>23135,13924=>23136,13925=>23137,13926=>23138,13927=>23139,13928=>23140,13929=>23141,13930=>23142,13931=>23143,13932=>23144,13933=>23145,13934=>23146,13935=>23147,13936=>23148,13937=>23149,13938=>23150,13939=>23151,13940=>23152,13941=>23153,13942=>23154,13943=>23155,13944=>23156,13945=>23157,13946=>23158,13947=>23159,13948=>23160,13949=>23161,13950=>23162,13951=>23163,13952=>23164,13953=>23165,13954=>23166,13955=>23167,13956=>23168,13957=>23169,13958=>23170,13959=>23171,13960=>23172,13961=>23173,13962=>23174,13963=>23175,13964=>23176,13965=>23177,13966=>23178,13967=>23179,13968=>23180,13969=>23181,13970=>23182,13971=>23183,13972=>23184,13973=>23185,13974=>23186,13975=>23187,13976=>23188,13977=>23189,13978=>23190,13979=>23191,13980=>23192,13981=>23193,13982=>23194,13983=>23195,13984=>23196,13985=>23197,13986=>23198,13987=>23199,13988=>23200,13989=>23201,13990=>23202,13991=>23203,13992=>23204,13993=>23205,13994=>23206,13995=>23207,13996=>23208,13997=>23209,13998=>23210,13999=>23211,14000=>23212,14001=>23213,14002=>23214,14003=>23215,14004=>23216,14005=>23217,14006=>23218,14007=>23219,14008=>23220,14009=>23221,14010=>23222,14011=>23223,14012=>23224,14013=>23225,14014=>23226,14015=>23227,14016=>23228,14017=>23229,14018=>23230,14019=>23231,14020=>23232,14021=>23233,14022=>23234,14023=>23235,14024=>23236,14025=>23237,14026=>23238,14027=>23239,14028=>23240,14029=>23241,14030=>23242,14031=>23243,14032=>23244,14033=>23245,14034=>23246,14035=>23247,14036=>23248,14037=>23249,14038=>23250,14039=>23251,14040=>23252,14041=>23253,14042=>23254,14043=>23255,14044=>23256,14045=>23257,14046=>23258,14047=>23259,14048=>23260,14049=>23261,14050=>23262,14051=>23263,14052=>23264,14053=>23265,14054=>23266,14055=>23267,14056=>23268,14057=>23269,14058=>23270,14059=>23271,14060=>23272,14061=>23273,14062=>23274,14063=>23275,14064=>23276,14065=>23277,14066=>23278,14067=>23279,14068=>23280,14069=>23281,14070=>23282,14071=>23283,14072=>23284,14073=>23285,14074=>23286,14075=>23287,14076=>23288,14077=>23289,14078=>23290,14079=>23291,14080=>23292,14081=>23293,14082=>23294,14083=>23295,14084=>23296,14085=>23297,14086=>23298,14087=>23299,14088=>23300,14089=>23301,14090=>23302,14091=>23303,14092=>23304,14093=>23305,14094=>23306,14095=>23307,14096=>23308,14097=>23309,14098=>23310,14099=>23311,14100=>23312,14101=>23313,14102=>23314,14103=>23315,14104=>23316,14105=>23317,14106=>23318,14107=>23319,14108=>23320,14109=>23321,14110=>23322,14111=>23323,14112=>23324,14113=>23325,14114=>23326,14115=>23327,14116=>23328,14117=>23329,14118=>23330,14119=>23331,14120=>23332,14121=>23333,14122=>23334,14123=>23335,14124=>23336,14125=>23337,14126=>23338,14127=>23339,14128=>23340,14129=>23341,14130=>23342,14131=>23343,14132=>23344,14133=>23345,14134=>23346,14135=>23347,14136=>23348,14137=>23349,14138=>23350,14139=>23351,14140=>23352,14141=>23353,14142=>23354,14143=>23355,14144=>23356,14145=>23357,14146=>23358,14147=>23359,14148=>23360,14149=>23361,14150=>23362,14151=>23363,14152=>23364,14153=>23365,14154=>23366,14155=>23367,14156=>23368,14157=>23369,14158=>23370,14159=>23371,14160=>23372,14161=>23373,14162=>23374,14163=>23375,14164=>23376,14165=>23377,14166=>23378,14167=>23379,14168=>23380,14169=>23381,14170=>23382,14171=>23383,14172=>23384,14173=>23385,14174=>23386,14175=>23387,14176=>23388,14177=>23389,14178=>23390,14179=>23391,14180=>23392,14181=>23393,14182=>23394,14183=>23395,14184=>23396,14185=>23397,14186=>23398,14187=>23399,14188=>23400,14189=>23401,14190=>23402,14191=>23403,14192=>23404,14193=>23405,14194=>23406,14195=>23407,14196=>23408,14197=>23409,14198=>23410,14199=>23411,14200=>23412,14201=>23413,14202=>23414,14203=>23415,14204=>23416,14205=>23417,14206=>23418,14207=>23419,14208=>23420,14209=>23421,14210=>23422,14211=>23423,14212=>23424,14213=>23425,14214=>23426,14215=>23427,14216=>23428,14217=>23429,14218=>23430,14219=>23431,14220=>23432,14221=>23433,14222=>23434,14223=>23435,14224=>23436,14225=>23437,14226=>23438,14227=>23439,14228=>23440,14229=>23441,14230=>23442,14231=>23443,14232=>23444,14233=>23445,14234=>23446,14235=>23447,14236=>23448,14237=>23449,14238=>23450,14239=>23451,14240=>23452,14241=>23453,14242=>23454,14243=>23455,14244=>23456,14245=>23457,14246=>23458,14247=>23459,14248=>23460,14249=>23461,14250=>23462,14251=>23463,14252=>23464,14253=>23465,14254=>23466,14255=>23467,14256=>23468,14257=>23469,14258=>23470,14259=>23471,14260=>23472,14261=>23473,14262=>23474,14263=>23475,14264=>23476,14265=>23477,14266=>23478,14267=>23479,14268=>23480,14269=>23481,14270=>23482,14271=>23483,14272=>23484,14273=>23485,14274=>23486,14275=>23487,14276=>23488,14277=>23489,14278=>23490,14279=>23491,14280=>23492,14281=>23493,14282=>23494,14283=>23495,14284=>23496,14285=>23497,14286=>23498,14287=>23499,14288=>23500,14289=>23501,14290=>23502,14291=>23503,14292=>23504,14293=>23505,14294=>23506,14295=>23507,14296=>23508,14297=>23509,14298=>23510,14299=>23511,14300=>23512,14301=>23513,14302=>23514,14303=>23515,14304=>23516,14305=>23517,14306=>23518,14307=>23519,14308=>23520,14309=>23521,14310=>23522,14311=>23523,14312=>23524,14313=>23525,14314=>23526,14315=>23527,14316=>23528,14317=>23529,14318=>23530,14319=>23531,14320=>23532,14321=>23533,14322=>23534,14323=>23535,14324=>23536,14325=>23537,14326=>23538,14327=>23539,14328=>23540,14329=>23541,14330=>23542,14331=>23543,14332=>23544,14333=>23545,14334=>23546,14335=>23547,14336=>23548,14337=>23549,14338=>23550,14339=>23551,14340=>23552,14341=>23553,14342=>23554,14343=>23555,14344=>23556,14345=>23557,14346=>23558,14347=>23559,14348=>23560,14349=>23561,14350=>23562,14351=>23563,14352=>23564,14353=>23565,14354=>23566,14355=>23567,14356=>23568,14357=>23569,14358=>23570,14359=>23571,14360=>23572,14361=>23573,14362=>23574,14363=>23575,14364=>23576,14365=>23577,14366=>23578,14367=>23579,14368=>23580,14369=>23581,14370=>23582,14371=>23583,14372=>23584,14373=>23585,14374=>23586,14375=>23587,14376=>23588,14377=>23589,14378=>23590,14379=>23591,14380=>23592,14381=>23593,14382=>23594,14383=>23595,14384=>23596,14385=>23597,14386=>23598,14387=>23599,14388=>23600,14389=>23601,14390=>23602,14391=>23603,14392=>23604,14393=>23605,14394=>23606,14395=>23607,14396=>23608,14397=>23609,14398=>23610,14399=>23611,14400=>23612,14401=>23613,14402=>23614,14403=>23615,14404=>23616,14405=>23617,14406=>23618,14407=>23619,14408=>23620,14409=>23621,14410=>23622,14411=>23623,14412=>23624,14413=>23625,14414=>23626,14415=>23627,14416=>23628,14417=>23629,14418=>23630,14419=>23631,14420=>23632,14421=>23633,14422=>23634,14423=>23635,14424=>23636,14425=>23637,14426=>23638,14427=>23639,14428=>23640,14429=>23641,14430=>23642,14431=>23643,14432=>23644,14433=>23645,14434=>23646,14435=>23647,14436=>23648,14437=>23649,14438=>23650,14439=>23651,14440=>23652,14441=>23653,14442=>23654,14443=>23655,14444=>23656,14445=>23657,14446=>23658,14447=>23659,14448=>23660,14449=>23661,14450=>23662,14451=>23663,14452=>23664,14453=>23665,14454=>23666,14455=>23667,14456=>23668,14457=>23669,14458=>23670,14459=>23671,14460=>23672,14461=>23673,14462=>23674,14463=>23675,14464=>23676,14465=>23677,14466=>23678,14467=>23679,14468=>23680,14469=>23681,14470=>23682,14471=>23683,14472=>23684,14473=>23685,14474=>23686,14475=>23687,14476=>23688,14477=>23689,14478=>23690,14479=>23691,14480=>23692,14481=>23693,14482=>23694,14483=>23695,14484=>23696,14485=>23697,14486=>23698,14487=>23699,14488=>23700,14489=>23701,14490=>23702,14491=>23703,14492=>23704,14493=>23705,14494=>23706,14495=>23707,14496=>23708,14497=>23709,14498=>23710,14499=>23711,14500=>23712,14501=>23713,14502=>23714,14503=>23715,14504=>23716,14505=>23717,14506=>23718,14507=>23719,14508=>23720,14509=>23721,14510=>23722,14511=>23723,14512=>23724,14513=>23725,14514=>23726,14515=>23727,14516=>23728,14517=>23729,14518=>23730,14519=>23731,14520=>23732,14521=>23733,14522=>23734,14523=>23735,14524=>23736,14525=>23737,14526=>23738,14527=>23739,14528=>23740,14529=>23741,14530=>23742,14531=>23743,14532=>23744,14533=>23745,14534=>23746,14535=>23747,14536=>23748,14537=>23749,14538=>23750,14539=>23751,14540=>23752,14541=>23753,14542=>23754,14543=>23755,14544=>23756,14545=>23757,14546=>23758,14547=>23759,14548=>23760,14549=>23761,14550=>23762,14551=>23763,14552=>23764,14553=>23765,14554=>23766,14555=>23767,14556=>23768,14557=>23769,14558=>23770,14559=>23771,14560=>23772,14561=>23773,14562=>23774,14563=>23775,14564=>23776,14565=>23777,14566=>23778,14567=>23779,14568=>23780,14569=>23781,14570=>23782,14571=>23783,14572=>23784,14573=>23785,14574=>23786,14575=>23787,14576=>23788,14577=>23789,14578=>23790,14579=>23791,14580=>23792,14581=>23793,14582=>23794,14583=>23795,14584=>23796,14585=>23797,14586=>23798,14587=>23799,14588=>23800,14589=>23801,14590=>23802,14591=>23803,14592=>23804,14593=>23805,14594=>23806,14595=>23807,14596=>23808,14597=>23809,14598=>23810,14599=>23811,14600=>23812,14601=>23813,14602=>23814,14603=>23815,14604=>23816,14605=>23817,14606=>23818,14607=>23819,14608=>23820,14609=>23821,14610=>23822,14611=>23823,14612=>23824,14613=>23825,14614=>23826,14615=>23827,14617=>23828,14618=>23829,14619=>23830,14620=>23831,14621=>23832,14622=>23833,14623=>23834,14624=>23835,14625=>23836,14626=>23837,14627=>23838,14628=>23839,14629=>23840,14630=>23841,14631=>23842,14632=>23843,14633=>23844,14634=>23845,14635=>23846,14636=>23847,14637=>23848,14638=>23849,14639=>23850,14640=>23851,14641=>23852,14642=>23853,14643=>23854,14644=>23855,14645=>23856,14646=>23857,14647=>23858,14648=>23859,14649=>23860,14650=>23861,14651=>23862,14652=>23863,14653=>23864,14654=>23865,14655=>23866,14656=>23867,14657=>23868,14658=>23869,14659=>23870,14660=>23871,14661=>23872,14662=>23873,14663=>23874,14664=>23875,14665=>23876,14666=>23877,14667=>23878,14668=>23879,14669=>23880,14670=>23881,14671=>23882,14672=>23883,14673=>23884,14674=>23885,14675=>23886,14676=>23887,14677=>23888,14678=>23889,14679=>23890,14680=>23891,14681=>23892,14682=>23893,14683=>23894,14684=>23895,14685=>23896,14686=>23897,14687=>23898,14688=>23899,14689=>23900,14690=>23901,14691=>23902,14692=>23903,14693=>23904,14694=>23905,14695=>23906,14696=>23907,14697=>23908,14698=>23909,14699=>23910,14700=>23911,14701=>23912,14703=>23913,14704=>23914,14705=>23915,14706=>23916,14707=>23917,14708=>23918,14709=>23919,14710=>23920,14711=>23921,14712=>23922,14713=>23923,14714=>23924,14715=>23925,14716=>23926,14717=>23927,14718=>23928,14719=>23929,14720=>23930,14721=>23931,14722=>23932,14723=>23933,14724=>23934,14725=>23935,14726=>23936,14727=>23937,14728=>23938,14729=>23939,14730=>23940,14731=>23941,14732=>23942,14733=>23943,14734=>23944,14735=>23945,14736=>23946,14737=>23947,14738=>23948,14739=>23949,14740=>23950,14741=>23951,14742=>23952,14743=>23953,14744=>23954,14745=>23955,14746=>23956,14747=>23957,14748=>23958,14749=>23959,14750=>23960,14751=>23961,14752=>23962,14753=>23963,14754=>23964,14755=>23965,14756=>23966,14757=>23967,14758=>23968,14759=>23969,14760=>23970,14761=>23971,14762=>23972,14763=>23973,14764=>23974,14765=>23975,14766=>23976,14767=>23977,14768=>23978,14769=>23979,14770=>23980,14771=>23981,14772=>23982,14773=>23983,14774=>23984,14775=>23985,14776=>23986,14777=>23987,14778=>23988,14779=>23989,14780=>23990,14781=>23991,14782=>23992,14783=>23993,14784=>23994,14785=>23995,14786=>23996,14787=>23997,14788=>23998,14789=>23999,14790=>24000,14791=>24001,14792=>24002,14793=>24003,14794=>24004,14795=>24005,14796=>24006,14797=>24007,14798=>24008,14801=>24009,14802=>24010,14803=>24011,14804=>24012,14805=>24013,14806=>24014,14807=>24015,14808=>24016,14809=>24017,14810=>24018,14811=>24019,14812=>24020,14813=>24021,14814=>24022,14816=>24023,14817=>24024,14818=>24025,14819=>24026,14820=>24027,14821=>24028,14822=>24029,14823=>24030,14824=>24031,14825=>24032,14826=>24033,14827=>24034,14828=>24035,14829=>24036,14830=>24037,14831=>24038,14832=>24039,14833=>24040,14834=>24041,14835=>24042,14836=>24043,14837=>24044,14838=>24045,14839=>24046,14840=>24047,14841=>24048,14842=>24049,14843=>24050,14844=>24051,14845=>24052,14846=>24053,14847=>24054,14848=>24055,14849=>24056,14850=>24057,14851=>24058,14852=>24059,14853=>24060,14854=>24061,14855=>24062,14856=>24063,14857=>24064,14858=>24065,14859=>24066,14860=>24067,14861=>24068,14862=>24069,14863=>24070,14864=>24071,14865=>24072,14866=>24073,14867=>24074,14868=>24075,14869=>24076,14870=>24077,14871=>24078,14872=>24079,14873=>24080,14874=>24081,14875=>24082,14876=>24083,14877=>24084,14878=>24085,14879=>24086,14880=>24087,14881=>24088,14882=>24089,14883=>24090,14884=>24091,14885=>24092,14886=>24093,14887=>24094,14888=>24095,14889=>24096,14890=>24097,14891=>24098,14892=>24099,14893=>24100,14894=>24101,14895=>24102,14896=>24103,14897=>24104,14898=>24105,14899=>24106,14900=>24107,14901=>24108,14902=>24109,14903=>24110,14904=>24111,14905=>24112,14906=>24113,14907=>24114,14908=>24115,14909=>24116,14910=>24117,14911=>24118,14912=>24119,14913=>24120,14914=>24121,14915=>24122,14916=>24123,14917=>24124,14918=>24125,14919=>24126,14920=>24127,14921=>24128,14922=>24129,14923=>24130,14924=>24131,14925=>24132,14926=>24133,14927=>24134,14928=>24135,14929=>24136,14930=>24137,14931=>24138,14932=>24139,14933=>24140,14934=>24141,14935=>24142,14936=>24143,14937=>24144,14938=>24145,14939=>24146,14940=>24147,14941=>24148,14942=>24149,14943=>24150,14944=>24151,14945=>24152,14946=>24153,14947=>24154,14948=>24155,14949=>24156,14950=>24157,14951=>24158,14952=>24159,14953=>24160,14954=>24161,14955=>24162,14956=>24163,14957=>24164,14958=>24165,14959=>24166,14960=>24167,14961=>24168,14962=>24169,14964=>24170,14965=>24171,14966=>24172,14967=>24173,14968=>24174,14969=>24175,14970=>24176,14971=>24177,14972=>24178,14973=>24179,14974=>24180,14975=>24181,14976=>24182,14977=>24183,14978=>24184,14979=>24185,14980=>24186,14981=>24187,14982=>24188,14983=>24189,14984=>24190,14985=>24191,14986=>24192,14987=>24193,14988=>24194,14989=>24195,14990=>24196,14991=>24197,14992=>24198,14993=>24199,14994=>24200,14995=>24201,14996=>24202,14997=>24203,14998=>24204,14999=>24205,15000=>24206,15001=>24207,15002=>24208,15003=>24209,15004=>24210,15005=>24211,15006=>24212,15007=>24213,15008=>24214,15009=>24215,15010=>24216,15011=>24217,15012=>24218,15013=>24219,15014=>24220,15015=>24221,15016=>24222,15017=>24223,15018=>24224,15019=>24225,15020=>24226,15021=>24227,15022=>24228,15023=>24229,15024=>24230,15025=>24231,15026=>24232,15027=>24233,15028=>24234,15029=>24235,15030=>24236,15031=>24237,15032=>24238,15033=>24239,15034=>24240,15035=>24241,15036=>24242,15037=>24243,15038=>24244,15039=>24245,15040=>24246,15041=>24247,15042=>24248,15043=>24249,15044=>24250,15045=>24251,15046=>24252,15047=>24253,15048=>24254,15049=>24255,15050=>24256,15051=>24257,15052=>24258,15053=>24259,15054=>24260,15055=>24261,15056=>24262,15057=>24263,15058=>24264,15059=>24265,15060=>24266,15061=>24267,15062=>24268,15063=>24269,15064=>24270,15065=>24271,15066=>24272,15067=>24273,15068=>24274,15069=>24275,15070=>24276,15071=>24277,15072=>24278,15073=>24279,15074=>24280,15075=>24281,15076=>24282,15077=>24283,15078=>24284,15079=>24285,15080=>24286,15081=>24287,15082=>24288,15083=>24289,15084=>24290,15085=>24291,15086=>24292,15087=>24293,15088=>24294,15089=>24295,15090=>24296,15091=>24297,15092=>24298,15093=>24299,15094=>24300,15095=>24301,15096=>24302,15097=>24303,15098=>24304,15099=>24305,15100=>24306,15101=>24307,15102=>24308,15103=>24309,15104=>24310,15105=>24311,15106=>24312,15107=>24313,15108=>24314,15109=>24315,15110=>24316,15111=>24317,15112=>24318,15113=>24319,15114=>24320,15115=>24321,15116=>24322,15117=>24323,15118=>24324,15119=>24325,15120=>24326,15121=>24327,15122=>24328,15123=>24329,15124=>24330,15125=>24331,15126=>24332,15127=>24333,15128=>24334,15129=>24335,15130=>24336,15131=>24337,15132=>24338,15133=>24339,15134=>24340,15135=>24341,15136=>24342,15137=>24343,15138=>24344,15139=>24345,15140=>24346,15141=>24347,15142=>24348,15143=>24349,15144=>24350,15145=>24351,15146=>24352,15147=>24353,15148=>24354,15149=>24355,15150=>24356,15151=>24357,15152=>24358,15153=>24359,15154=>24360,15155=>24361,15156=>24362,15157=>24363,15158=>24364,15159=>24365,15160=>24366,15161=>24367,15162=>24368,15163=>24369,15164=>24370,15165=>24371,15166=>24372,15167=>24373,15168=>24374,15169=>24375,15170=>24376,15171=>24377,15172=>24378,15173=>24379,15174=>24380,15175=>24381,15176=>24382,15177=>24383,15178=>24384,15179=>24385,15180=>24386,15181=>24387,15183=>24388,15184=>24389,15185=>24390,15186=>24391,15187=>24392,15188=>24393,15189=>24394,15190=>24395,15191=>24396,15192=>24397,15193=>24398,15194=>24399,15195=>24400,15196=>24401,15197=>24402,15198=>24403,15199=>24404,15200=>24405,15201=>24406,15202=>24407,15203=>24408,15204=>24409,15205=>24410,15206=>24411,15207=>24412,15208=>24413,15209=>24414,15210=>24415,15211=>24416,15212=>24417,15213=>24418,15214=>24419,15215=>24420,15216=>24421,15217=>24422,15218=>24423,15219=>24424,15220=>24425,15221=>24426,15222=>24427,15223=>24428,15224=>24429,15225=>24430,15226=>24431,15227=>24432,15228=>24433,15229=>24434,15230=>24435,15231=>24436,15232=>24437,15233=>24438,15234=>24439,15235=>24440,15236=>24441,15237=>24442,15238=>24443,15239=>24444,15240=>24445,15241=>24446,15242=>24447,15243=>24448,15244=>24449,15245=>24450,15246=>24451,15247=>24452,15248=>24453,15249=>24454,15250=>24455,15251=>24456,15252=>24457,15253=>24458,15254=>24459,15255=>24460,15256=>24461,15257=>24462,15258=>24463,15259=>24464,15260=>24465,15261=>24466,15262=>24467,15263=>24468,15264=>24469,15265=>24470,15266=>24471,15267=>24472,15268=>24473,15269=>24474,15270=>24475,15271=>24476,15272=>24477,15273=>24478,15274=>24479,15275=>24480,15276=>24481,15277=>24482,15278=>24483,15279=>24484,15280=>24485,15281=>24486,15282=>24487,15283=>24488,15284=>24489,15285=>24490,15286=>24491,15287=>24492,15288=>24493,15289=>24494,15290=>24495,15291=>24496,15292=>24497,15293=>24498,15294=>24499,15295=>24500,15296=>24501,15297=>24502,15298=>24503,15299=>24504,15300=>24505,15301=>24506,15302=>24507,15303=>24508,15304=>24509,15305=>24510,15306=>24511,15307=>24512,15308=>24513,15309=>24514,15310=>24515,15311=>24516,15312=>24517,15313=>24518,15314=>24519,15315=>24520,15316=>24521,15317=>24522,15318=>24523,15319=>24524,15320=>24525,15321=>24526,15322=>24527,15323=>24528,15324=>24529,15325=>24530,15326=>24531,15327=>24532,15328=>24533,15329=>24534,15330=>24535,15331=>24536,15332=>24537,15333=>24538,15334=>24539,15335=>24540,15336=>24541,15337=>24542,15338=>24543,15339=>24544,15340=>24545,15341=>24546,15342=>24547,15343=>24548,15344=>24549,15345=>24550,15346=>24551,15347=>24552,15348=>24553,15349=>24554,15350=>24555,15351=>24556,15352=>24557,15353=>24558,15354=>24559,15355=>24560,15356=>24561,15357=>24562,15358=>24563,15359=>24564,15360=>24565,15361=>24566,15362=>24567,15363=>24568,15364=>24569,15365=>24570,15366=>24571,15367=>24572,15368=>24573,15369=>24574,15370=>24575,15371=>24576,15372=>24577,15373=>24578,15374=>24579,15375=>24580,15376=>24581,15377=>24582,15378=>24583,15379=>24584,15380=>24585,15381=>24586,15382=>24587,15383=>24588,15384=>24589,15385=>24590,15386=>24591,15387=>24592,15388=>24593,15389=>24594,15390=>24595,15391=>24596,15392=>24597,15393=>24598,15394=>24599,15395=>24600,15396=>24601,15397=>24602,15398=>24603,15399=>24604,15400=>24605,15401=>24606,15402=>24607,15403=>24608,15404=>24609,15405=>24610,15406=>24611,15407=>24612,15408=>24613,15409=>24614,15410=>24615,15411=>24616,15412=>24617,15413=>24618,15414=>24619,15415=>24620,15416=>24621,15417=>24622,15418=>24623,15419=>24624,15420=>24625,15421=>24626,15422=>24627,15423=>24628,15424=>24629,15425=>24630,15426=>24631,15427=>24632,15428=>24633,15429=>24634,15430=>24635,15431=>24636,15432=>24637,15433=>24638,15434=>24639,15435=>24640,15436=>24641,15437=>24642,15438=>24643,15439=>24644,15440=>24645,15441=>24646,15442=>24647,15443=>24648,15444=>24649,15445=>24650,15446=>24651,15447=>24652,15448=>24653,15449=>24654,15450=>24655,15451=>24656,15452=>24657,15453=>24658,15454=>24659,15455=>24660,15456=>24661,15457=>24662,15458=>24663,15459=>24664,15460=>24665,15461=>24666,15462=>24667,15463=>24668,15464=>24669,15465=>24670,15466=>24671,15467=>24672,15468=>24673,15469=>24674,15471=>24675,15472=>24676,15473=>24677,15474=>24678,15475=>24679,15476=>24680,15477=>24681,15478=>24682,15479=>24683,15480=>24684,15481=>24685,15482=>24686,15483=>24687,15484=>24688,15485=>24689,15486=>24690,15487=>24691,15488=>24692,15489=>24693,15490=>24694,15491=>24695,15492=>24696,15493=>24697,15494=>24698,15495=>24699,15496=>24700,15497=>24701,15498=>24702,15499=>24703,15500=>24704,15501=>24705,15502=>24706,15503=>24707,15504=>24708,15505=>24709,15506=>24710,15507=>24711,15508=>24712,15509=>24713,15510=>24714,15511=>24715,15512=>24716,15513=>24717,15514=>24718,15515=>24719,15516=>24720,15517=>24721,15518=>24722,15519=>24723,15520=>24724,15521=>24725,15522=>24726,15523=>24727,15524=>24728,15525=>24729,15526=>24730,15527=>24731,15528=>24732,15529=>24733,15530=>24734,15531=>24735,15532=>24736,15533=>24737,15534=>24738,15535=>24739,15536=>24740,15537=>24741,15538=>24742,15539=>24743,15540=>24744,15541=>24745,15542=>24746,15543=>24747,15544=>24748,15545=>24749,15546=>24750,15547=>24751,15548=>24752,15549=>24753,15550=>24754,15551=>24755,15552=>24756,15553=>24757,15554=>24758,15555=>24759,15556=>24760,15557=>24761,15558=>24762,15559=>24763,15560=>24764,15561=>24765,15562=>24766,15563=>24767,15564=>24768,15565=>24769,15566=>24770,15567=>24771,15568=>24772,15569=>24773,15570=>24774,15571=>24775,15572=>24776,15573=>24777,15574=>24778,15575=>24779,15576=>24780,15577=>24781,15578=>24782,15579=>24783,15580=>24784,15581=>24785,15582=>24786,15583=>24787,15585=>24788,15586=>24789,15587=>24790,15588=>24791,15589=>24792,15590=>24793,15591=>24794,15592=>24795,15593=>24796,15594=>24797,15595=>24798,15596=>24799,15597=>24800,15598=>24801,15599=>24802,15600=>24803,15601=>24804,15602=>24805,15603=>24806,15604=>24807,15605=>24808,15606=>24809,15607=>24810,15608=>24811,15609=>24812,15610=>24813,15611=>24814,15612=>24815,15613=>24816,15614=>24817,15615=>24818,15616=>24819,15617=>24820,15618=>24821,15619=>24822,15620=>24823,15621=>24824,15622=>24825,15623=>24826,15624=>24827,15625=>24828,15626=>24829,15627=>24830,15628=>24831,15629=>24832,15630=>24833,15631=>24834,15632=>24835,15633=>24836,15634=>24837,15635=>24838,15636=>24839,15637=>24840,15638=>24841,15639=>24842,15640=>24843,15641=>24844,15642=>24845,15643=>24846,15644=>24847,15645=>24848,15646=>24849,15647=>24850,15648=>24851,15649=>24852,15650=>24853,15651=>24854,15652=>24855,15653=>24856,15654=>24857,15655=>24858,15656=>24859,15657=>24860,15658=>24861,15659=>24862,15660=>24863,15661=>24864,15662=>24865,15663=>24866,15664=>24867,15665=>24868,15666=>24869,15667=>24870,15668=>24871,15669=>24872,15670=>24873,15671=>24874,15672=>24875,15673=>24876,15674=>24877,15675=>24878,15676=>24879,15677=>24880,15678=>24881,15679=>24882,15680=>24883,15681=>24884,15682=>24885,15683=>24886,15684=>24887,15685=>24888,15686=>24889,15687=>24890,15688=>24891,15689=>24892,15690=>24893,15691=>24894,15692=>24895,15693=>24896,15694=>24897,15695=>24898,15696=>24899,15697=>24900,15698=>24901,15699=>24902,15700=>24903,15701=>24904,15702=>24905,15703=>24906,15704=>24907,15705=>24908,15706=>24909,15707=>24910,15708=>24911,15709=>24912,15710=>24913,15711=>24914,15712=>24915,15713=>24916,15714=>24917,15715=>24918,15716=>24919,15717=>24920,15718=>24921,15719=>24922,15720=>24923,15721=>24924,15722=>24925,15723=>24926,15724=>24927,15725=>24928,15726=>24929,15727=>24930,15728=>24931,15729=>24932,15730=>24933,15731=>24934,15732=>24935,15733=>24936,15734=>24937,15735=>24938,15736=>24939,15737=>24940,15738=>24941,15739=>24942,15740=>24943,15741=>24944,15742=>24945,15743=>24946,15744=>24947,15745=>24948,15746=>24949,15747=>24950,15748=>24951,15749=>24952,15750=>24953,15751=>24954,15752=>24955,15753=>24956,15754=>24957,15755=>24958,15756=>24959,15757=>24960,15758=>24961,15759=>24962,15760=>24963,15761=>24964,15762=>24965,15763=>24966,15764=>24967,15765=>24968,15766=>24969,15767=>24970,15768=>24971,15769=>24972,15770=>24973,15771=>24974,15772=>24975,15773=>24976,15774=>24977,15775=>24978,15776=>24979,15777=>24980,15778=>24981,15779=>24982,15780=>24983,15781=>24984,15782=>24985,15783=>24986,15784=>24987,15785=>24988,15786=>24989,15787=>24990,15788=>24991,15789=>24992,15790=>24993,15791=>24994,15792=>24995,15793=>24996,15794=>24997,15795=>24998,15796=>24999,15797=>25000,15798=>25001,15799=>25002,15800=>25003,15801=>25004,15802=>25005,15803=>25006,15804=>25007,15805=>25008,15806=>25009,15807=>25010,15808=>25011,15809=>25012,15810=>25013,15811=>25014,15812=>25015,15813=>25016,15814=>25017,15815=>25018,15816=>25019,15817=>25020,15818=>25021,15819=>25022,15820=>25023,15821=>25024,15822=>25025,15823=>25026,15824=>25027,15825=>25028,15826=>25029,15827=>25030,15828=>25031,15829=>25032,15830=>25033,15831=>25034,15832=>25035,15833=>25036,15834=>25037,15835=>25038,15836=>25039,15837=>25040,15838=>25041,15839=>25042,15840=>25043,15841=>25044,15842=>25045,15843=>25046,15844=>25047,15845=>25048,15846=>25049,15847=>25050,15848=>25051,15849=>25052,15850=>25053,15851=>25054,15852=>25055,15853=>25056,15854=>25057,15855=>25058,15856=>25059,15857=>25060,15858=>25061,15859=>25062,15860=>25063,15861=>25064,15862=>25065,15863=>25066,15864=>25067,15865=>25068,15866=>25069,15867=>25070,15868=>25071,15869=>25072,15870=>25073,15871=>25074,15872=>25075,15873=>25076,15874=>25077,15875=>25078,15876=>25079,15877=>25080,15878=>25081,15879=>25082,15880=>25083,15881=>25084,15882=>25085,15883=>25086,15884=>25087,15885=>25088,15886=>25089,15887=>25090,15888=>25091,15889=>25092,15890=>25093,15891=>25094,15892=>25095,15893=>25096,15894=>25097,15895=>25098,15896=>25099,15897=>25100,15898=>25101,15899=>25102,15900=>25103,15901=>25104,15902=>25105,15903=>25106,15904=>25107,15905=>25108,15906=>25109,15907=>25110,15908=>25111,15909=>25112,15910=>25113,15911=>25114,15912=>25115,15913=>25116,15914=>25117,15915=>25118,15916=>25119,15917=>25120,15918=>25121,15919=>25122,15920=>25123,15921=>25124,15922=>25125,15923=>25126,15924=>25127,15925=>25128,15926=>25129,15927=>25130,15928=>25131,15929=>25132,15930=>25133,15931=>25134,15932=>25135,15933=>25136,15934=>25137,15935=>25138,15936=>25139,15937=>25140,15938=>25141,15939=>25142,15940=>25143,15941=>25144,15942=>25145,15943=>25146,15944=>25147,15945=>25148,15946=>25149,15947=>25150,15948=>25151,15949=>25152,15950=>25153,15951=>25154,15952=>25155,15953=>25156,15954=>25157,15955=>25158,15956=>25159,15957=>25160,15958=>25161,15959=>25162,15960=>25163,15961=>25164,15962=>25165,15963=>25166,15964=>25167,15965=>25168,15966=>25169,15967=>25170,15968=>25171,15969=>25172,15970=>25173,15971=>25174,15972=>25175,15973=>25176,15974=>25177,15975=>25178,15976=>25179,15977=>25180,15978=>25181,15979=>25182,15980=>25183,15981=>25184,15982=>25185,15983=>25186,15984=>25187,15985=>25188,15986=>25189,15987=>25190,15988=>25191,15989=>25192,15990=>25193,15991=>25194,15992=>25195,15993=>25196,15994=>25197,15995=>25198,15996=>25199,15997=>25200,15998=>25201,15999=>25202,16000=>25203,16001=>25204,16002=>25205,16003=>25206,16004=>25207,16005=>25208,16006=>25209,16007=>25210,16008=>25211,16009=>25212,16010=>25213,16011=>25214,16012=>25215,16013=>25216,16014=>25217,16015=>25218,16016=>25219,16017=>25220,16018=>25221,16019=>25222,16020=>25223,16021=>25224,16022=>25225,16023=>25226,16024=>25227,16025=>25228,16026=>25229,16027=>25230,16028=>25231,16029=>25232,16030=>25233,16031=>25234,16032=>25235,16033=>25236,16034=>25237,16035=>25238,16036=>25239,16037=>25240,16038=>25241,16039=>25242,16040=>25243,16041=>25244,16042=>25245,16043=>25246,16044=>25247,16045=>25248,16046=>25249,16047=>25250,16048=>25251,16049=>25252,16050=>25253,16051=>25254,16052=>25255,16053=>25256,16054=>25257,16055=>25258,16056=>25259,16057=>25260,16058=>25261,16059=>25262,16060=>25263,16061=>25264,16062=>25265,16063=>25266,16064=>25267,16065=>25268,16066=>25269,16067=>25270,16068=>25271,16069=>25272,16070=>25273,16071=>25274,16072=>25275,16073=>25276,16074=>25277,16075=>25278,16076=>25279,16077=>25280,16078=>25281,16079=>25282,16080=>25283,16081=>25284,16082=>25285,16083=>25286,16084=>25287,16085=>25288,16086=>25289,16087=>25290,16088=>25291,16089=>25292,16090=>25293,16091=>25294,16092=>25295,16093=>25296,16094=>25297,16095=>25298,16096=>25299,16097=>25300,16098=>25301,16099=>25302,16100=>25303,16101=>25304,16102=>25305,16103=>25306,16104=>25307,16105=>25308,16106=>25309,16107=>25310,16108=>25311,16109=>25312,16110=>25313,16111=>25314,16112=>25315,16113=>25316,16114=>25317,16115=>25318,16116=>25319,16117=>25320,16118=>25321,16119=>25322,16120=>25323,16121=>25324,16122=>25325,16123=>25326,16124=>25327,16125=>25328,16126=>25329,16127=>25330,16128=>25331,16129=>25332,16130=>25333,16131=>25334,16132=>25335,16133=>25336,16134=>25337,16135=>25338,16136=>25339,16137=>25340,16138=>25341,16139=>25342,16140=>25343,16141=>25344,16142=>25345,16143=>25346,16144=>25347,16145=>25348,16146=>25349,16147=>25350,16148=>25351,16149=>25352,16150=>25353,16151=>25354,16152=>25355,16153=>25356,16154=>25357,16155=>25358,16156=>25359,16157=>25360,16158=>25361,16159=>25362,16160=>25363,16161=>25364,16162=>25365,16163=>25366,16164=>25367,16165=>25368,16166=>25369,16167=>25370,16168=>25371,16169=>25372,16170=>25373,16171=>25374,16172=>25375,16173=>25376,16174=>25377,16175=>25378,16176=>25379,16177=>25380,16178=>25381,16179=>25382,16180=>25383,16181=>25384,16182=>25385,16183=>25386,16184=>25387,16185=>25388,16186=>25389,16187=>25390,16188=>25391,16189=>25392,16190=>25393,16191=>25394,16192=>25395,16193=>25396,16194=>25397,16195=>25398,16196=>25399,16197=>25400,16198=>25401,16199=>25402,16200=>25403,16201=>25404,16202=>25405,16203=>25406,16204=>25407,16205=>25408,16206=>25409,16207=>25410,16208=>25411,16209=>25412,16210=>25413,16211=>25414,16212=>25415,16213=>25416,16214=>25417,16215=>25418,16216=>25419,16217=>25420,16218=>25421,16219=>25422,16220=>25423,16221=>25424,16222=>25425,16223=>25426,16224=>25427,16225=>25428,16226=>25429,16227=>25430,16228=>25431,16229=>25432,16230=>25433,16231=>25434,16232=>25435,16233=>25436,16234=>25437,16235=>25438,16236=>25439,16237=>25440,16238=>25441,16239=>25442,16240=>25443,16241=>25444,16242=>25445,16243=>25446,16244=>25447,16245=>25448,16246=>25449,16247=>25450,16248=>25451,16249=>25452,16250=>25453,16251=>25454,16252=>25455,16253=>25456,16254=>25457,16255=>25458,16256=>25459,16257=>25460,16258=>25461,16259=>25462,16260=>25463,16261=>25464,16262=>25465,16263=>25466,16264=>25467,16265=>25468,16266=>25469,16267=>25470,16268=>25471,16269=>25472,16270=>25473,16271=>25474,16272=>25475,16273=>25476,16274=>25477,16275=>25478,16276=>25479,16277=>25480,16278=>25481,16279=>25482,16280=>25483,16281=>25484,16282=>25485,16283=>25486,16284=>25487,16285=>25488,16286=>25489,16287=>25490,16288=>25491,16289=>25492,16290=>25493,16291=>25494,16292=>25495,16293=>25496,16294=>25497,16295=>25498,16296=>25499,16297=>25500,16298=>25501,16299=>25502,16300=>25503,16301=>25504,16302=>25505,16303=>25506,16304=>25507,16305=>25508,16306=>25509,16307=>25510,16308=>25511,16309=>25512,16310=>25513,16311=>25514,16312=>25515,16313=>25516,16314=>25517,16315=>25518,16316=>25519,16317=>25520,16318=>25521,16319=>25522,16320=>25523,16321=>25524,16322=>25525,16323=>25526,16324=>25527,16325=>25528,16326=>25529,16327=>25530,16328=>25531,16329=>25532,16330=>25533,16331=>25534,16332=>25535,16333=>25536,16334=>25537,16335=>25538,16336=>25539,16337=>25540,16338=>25541,16339=>25542,16340=>25543,16341=>25544,16342=>25545,16343=>25546,16344=>25547,16345=>25548,16346=>25549,16347=>25550,16348=>25551,16349=>25552,16350=>25553,16351=>25554,16352=>25555,16353=>25556,16354=>25557,16355=>25558,16356=>25559,16357=>25560,16358=>25561,16359=>25562,16360=>25563,16361=>25564,16362=>25565,16363=>25566,16364=>25567,16365=>25568,16366=>25569,16367=>25570,16368=>25571,16369=>25572,16370=>25573,16371=>25574,16372=>25575,16373=>25576,16374=>25577,16375=>25578,16376=>25579,16377=>25580,16378=>25581,16379=>25582,16380=>25583,16381=>25584,16382=>25585,16383=>25586,16384=>25587,16385=>25588,16386=>25589,16387=>25590,16388=>25591,16389=>25592,16390=>25593,16391=>25594,16392=>25595,16393=>25596,16394=>25597,16395=>25598,16396=>25599,16397=>25600,16398=>25601,16399=>25602,16400=>25603,16401=>25604,16402=>25605,16403=>25606,16404=>25607,16405=>25608,16406=>25609,16407=>25610,16408=>25611,16409=>25612,16410=>25613,16411=>25614,16412=>25615,16413=>25616,16414=>25617,16415=>25618,16416=>25619,16417=>25620,16418=>25621,16419=>25622,16420=>25623,16421=>25624,16422=>25625,16423=>25626,16424=>25627,16425=>25628,16426=>25629,16427=>25630,16428=>25631,16429=>25632,16430=>25633,16431=>25634,16432=>25635,16433=>25636,16434=>25637,16435=>25638,16436=>25639,16437=>25640,16438=>25641,16439=>25642,16440=>25643,16441=>25644,16442=>25645,16443=>25646,16444=>25647,16445=>25648,16446=>25649,16447=>25650,16448=>25651,16449=>25652,16450=>25653,16451=>25654,16452=>25655,16453=>25656,16454=>25657,16455=>25658,16456=>25659,16457=>25660,16458=>25661,16459=>25662,16460=>25663,16461=>25664,16462=>25665,16463=>25666,16464=>25667,16465=>25668,16466=>25669,16467=>25670,16468=>25671,16469=>25672,16471=>25673,16472=>25674,16473=>25675,16474=>25676,16475=>25677,16476=>25678,16477=>25679,16478=>25680,16479=>25681,16480=>25682,16481=>25683,16482=>25684,16483=>25685,16484=>25686,16485=>25687,16486=>25688,16487=>25689,16488=>25690,16489=>25691,16490=>25692,16491=>25693,16492=>25694,16493=>25695,16494=>25696,16495=>25697,16496=>25698,16497=>25699,16498=>25700,16499=>25701,16500=>25702,16501=>25703,16502=>25704,16503=>25705,16504=>25706,16505=>25707,16506=>25708,16507=>25709,16508=>25710,16509=>25711,16510=>25712,16511=>25713,16512=>25714,16513=>25715,16514=>25716,16515=>25717,16516=>25718,16517=>25719,16518=>25720,16519=>25721,16520=>25722,16521=>25723,16522=>25724,16523=>25725,16524=>25726,16525=>25727,16526=>25728,16527=>25729,16528=>25730,16529=>25731,16530=>25732,16531=>25733,16532=>25734,16533=>25735,16534=>25736,16535=>25737,16536=>25738,16537=>25739,16538=>25740,16539=>25741,16540=>25742,16541=>25743,16542=>25744,16543=>25745,16544=>25746,16545=>25747,16546=>25748,16547=>25749,16548=>25750,16549=>25751,16550=>25752,16551=>25753,16552=>25754,16553=>25755,16554=>25756,16555=>25757,16556=>25758,16557=>25759,16558=>25760,16559=>25761,16560=>25762,16561=>25763,16562=>25764,16563=>25765,16564=>25766,16565=>25767,16566=>25768,16567=>25769,16568=>25770,16569=>25771,16570=>25772,16571=>25773,16572=>25774,16573=>25775,16574=>25776,16575=>25777,16576=>25778,16577=>25779,16578=>25780,16579=>25781,16580=>25782,16581=>25783,16582=>25784,16583=>25785,16584=>25786,16585=>25787,16586=>25788,16587=>25789,16588=>25790,16589=>25791,16590=>25792,16591=>25793,16592=>25794,16593=>25795,16594=>25796,16595=>25797,16596=>25798,16597=>25799,16598=>25800,16599=>25801,16600=>25802,16601=>25803,16602=>25804,16603=>25805,16604=>25806,16605=>25807,16606=>25808,16607=>25809,16608=>25810,16609=>25811,16610=>25812,16611=>25813,16612=>25814,16613=>25815,16614=>25816,16615=>25817,16616=>25818,16617=>25819,16618=>25820,16619=>25821,16620=>25822,16621=>25823,16622=>25824,16623=>25825,16624=>25826,16625=>25827,16626=>25828,16627=>25829,16628=>25830,16629=>25831,16630=>25832,16631=>25833,16632=>25834,16633=>25835,16634=>25836,16635=>25837,16636=>25838,16637=>25839,16638=>25840,16639=>25841,16640=>25842,16641=>25843,16642=>25844,16643=>25845,16644=>25846,16645=>25847,16646=>25848,16647=>25849,16648=>25850,16649=>25851,16650=>25852,16651=>25853,16652=>25854,16653=>25855,16654=>25856,16655=>25857,16656=>25858,16657=>25859,16658=>25860,16659=>25861,16660=>25862,16661=>25863,16662=>25864,16663=>25865,16664=>25866,16665=>25867,16666=>25868,16667=>25869,16668=>25870,16669=>25871,16670=>25872,16671=>25873,16672=>25874,16673=>25875,16674=>25876,16675=>25877,16676=>25878,16677=>25879,16678=>25880,16679=>25881,16680=>25882,16681=>25883,16682=>25884,16683=>25885,16684=>25886,16685=>25887,16686=>25888,16687=>25889,16688=>25890,16689=>25891,16690=>25892,16691=>25893,16692=>25894,16693=>25895,16694=>25896,16695=>25897,16696=>25898,16697=>25899,16698=>25900,16699=>25901,16700=>25902,16701=>25903,16702=>25904,16703=>25905,16704=>25906,16705=>25907,16706=>25908,16707=>25909,16708=>25910,16709=>25911,16710=>25912,16711=>25913,16712=>25914,16713=>25915,16714=>25916,16715=>25917,16716=>25918,16717=>25919,16718=>25920,16719=>25921,16720=>25922,16721=>25923,16722=>25924,16723=>25925,16724=>25926,16725=>25927,16726=>25928,16727=>25929,16728=>25930,16729=>25931,16730=>25932,16731=>25933,16732=>25934,16733=>25935,16734=>25936,16736=>25937,16737=>25938,16738=>25939,16739=>25940,16740=>25941,16741=>25942,16742=>25943,16743=>25944,16744=>25945,16745=>25946,16746=>25947,16747=>25948,16748=>25949,16749=>25950,16750=>25951,16751=>25952,16752=>25953,16753=>25954,16754=>25955,16755=>25956,16756=>25957,16757=>25958,16758=>25959,16759=>25960,16760=>25961,16761=>25962,16762=>25963,16763=>25964,16764=>25965,16765=>25966,16766=>25967,16767=>25968,16768=>25969,16769=>25970,16770=>25971,16771=>25972,16772=>25973,16773=>25974,16774=>25975,16775=>25976,16776=>25977,16777=>25978,16778=>25979,16779=>25980,16780=>25981,16781=>25982,16782=>25983,16783=>25984,16784=>25985,16785=>25986,16786=>25987,16787=>25988,16788=>25989,16789=>25990,16790=>25991,16791=>25992,16792=>25993,16793=>25994,16794=>25995,16795=>25996,16796=>25997,16797=>25998,16798=>25999,16799=>26000,16800=>26001,16801=>26002,16802=>26003,16803=>26004,16804=>26005,16805=>26006,16806=>26007,16807=>26008,16808=>26009,16809=>26010,16810=>26011,16811=>26012,16812=>26013,16813=>26014,16814=>26015,16815=>26016,16816=>26017,16817=>26018,16818=>26019,16819=>26020,16820=>26021,16821=>26022,16822=>26023,16823=>26024,16824=>26025,16825=>26026,16826=>26027,16827=>26028,16828=>26029,16829=>26030,16830=>26031,16831=>26032,16832=>26033,16833=>26034,16834=>26035,16835=>26036,16836=>26037,16837=>26038,16838=>26039,16839=>26040,16840=>26041,16841=>26042,16842=>26043,16843=>26044,16844=>26045,16845=>26046,16846=>26047,16847=>26048,16848=>26049,16849=>26050,16850=>26051,16851=>26052,16852=>26053,16853=>26054,16854=>26055,16855=>26056,16856=>26057,16857=>26058,16858=>26059,16859=>26060,16860=>26061,16861=>26062,16862=>26063,16863=>26064,16864=>26065,16865=>26066,16866=>26067,16867=>26068,16868=>26069,16869=>26070,16870=>26071,16871=>26072,16872=>26073,16873=>26074,16874=>26075,16875=>26076,16876=>26077,16877=>26078,16878=>26079,16879=>26080,16880=>26081,16881=>26082,16882=>26083,16883=>26084,16884=>26085,16885=>26086,16886=>26087,16887=>26088,16888=>26089,16889=>26090,16890=>26091,16891=>26092,16892=>26093,16893=>26094,16894=>26095,16895=>26096,16896=>26097,16897=>26098,16898=>26099,16899=>26100,16900=>26101,16901=>26102,16902=>26103,16903=>26104,16904=>26105,16905=>26106,16906=>26107,16907=>26108,16908=>26109,16909=>26110,16910=>26111,16911=>26112,16912=>26113,16913=>26114,16914=>26115,16915=>26116,16916=>26117,16917=>26118,16918=>26119,16919=>26120,16920=>26121,16921=>26122,16922=>26123,16923=>26124,16924=>26125,16925=>26126,16926=>26127,16927=>26128,16928=>26129,16929=>26130,16930=>26131,16931=>26132,16932=>26133,16933=>26134,16934=>26135,16935=>26136,16936=>26137,16937=>26138,16938=>26139,16939=>26140,16940=>26141,16941=>26142,16942=>26143,16943=>26144,16944=>26145,16945=>26146,16946=>26147,16947=>26148,16948=>26149,16949=>26150,16950=>26151,16951=>26152,16952=>26153,16953=>26154,16954=>26155,16955=>26156,16956=>26157,16957=>26158,16958=>26159,16959=>26160,16960=>26161,16961=>26162,16962=>26163,16963=>26164,16964=>26165,16965=>26166,16966=>26167,16967=>26168,16968=>26169,16969=>26170,16970=>26171,16971=>26172,16972=>26173,16973=>26174,16974=>26175,16975=>26176,16976=>26177,16977=>26178,16978=>26179,16979=>26180,16980=>26181,16981=>26182,16982=>26183,16983=>26184,16984=>26185,16985=>26186,16986=>26187,16987=>26188,16988=>26189,16989=>26190,16990=>26191,16991=>26192,16992=>26193,16993=>26194,16994=>26195,16995=>26196,16996=>26197,16997=>26198,16998=>26199,16999=>26200,17000=>26201,17001=>26202,17002=>26203,17003=>26204,17004=>26205,17005=>26206,17006=>26207,17007=>26208,17008=>26209,17009=>26210,17010=>26211,17011=>26212,17012=>26213,17013=>26214,17014=>26215,17015=>26216,17016=>26217,17017=>26218,17018=>26219,17019=>26220,17020=>26221,17021=>26222,17022=>26223,17023=>26224,17024=>26225,17025=>26226,17026=>26227,17027=>26228,17028=>26229,17029=>26230,17030=>26231,17031=>26232,17032=>26233,17033=>26234,17034=>26235,17035=>26236,17036=>26237,17037=>26238,17038=>26239,17039=>26240,17040=>26241,17041=>26242,17042=>26243,17043=>26244,17044=>26245,17045=>26246,17046=>26247,17047=>26248,17048=>26249,17049=>26250,17050=>26251,17051=>26252,17052=>26253,17053=>26254,17054=>26255,17055=>26256,17056=>26257,17057=>26258,17058=>26259,17059=>26260,17060=>26261,17061=>26262,17062=>26263,17063=>26264,17064=>26265,17065=>26266,17066=>26267,17067=>26268,17068=>26269,17069=>26270,17070=>26271,17071=>26272,17072=>26273,17073=>26274,17074=>26275,17075=>26276,17076=>26277,17077=>26278,17078=>26279,17079=>26280,17080=>26281,17081=>26282,17082=>26283,17083=>26284,17084=>26285,17085=>26286,17086=>26287,17087=>26288,17088=>26289,17089=>26290,17090=>26291,17091=>26292,17092=>26293,17093=>26294,17094=>26295,17095=>26296,17096=>26297,17097=>26298,17098=>26299,17099=>26300,17100=>26301,17101=>26302,17102=>26303,17103=>26304,17104=>26305,17105=>26306,17106=>26307,17107=>26308,17108=>26309,17109=>26310,17110=>26311,17111=>26312,17112=>26313,17113=>26314,17114=>26315,17115=>26316,17116=>26317,17117=>26318,17118=>26319,17119=>26320,17120=>26321,17121=>26322,17122=>26323,17123=>26324,17124=>26325,17125=>26326,17126=>26327,17127=>26328,17128=>26329,17129=>26330,17130=>26331,17131=>26332,17132=>26333,17133=>26334,17134=>26335,17135=>26336,17136=>26337,17137=>26338,17138=>26339,17139=>26340,17140=>26341,17141=>26342,17142=>26343,17143=>26344,17144=>26345,17145=>26346,17146=>26347,17147=>26348,17148=>26349,17149=>26350,17150=>26351,17151=>26352,17152=>26353,17153=>26354,17154=>26355,17155=>26356,17156=>26357,17157=>26358,17158=>26359,17159=>26360,17160=>26361,17161=>26362,17162=>26363,17163=>26364,17164=>26365,17165=>26366,17166=>26367,17167=>26368,17168=>26369,17169=>26370,17170=>26371,17171=>26372,17172=>26373,17173=>26374,17174=>26375,17175=>26376,17176=>26377,17177=>26378,17178=>26379,17179=>26380,17180=>26381,17181=>26382,17182=>26383,17183=>26384,17184=>26385,17185=>26386,17186=>26387,17187=>26388,17188=>26389,17189=>26390,17190=>26391,17191=>26392,17192=>26393,17193=>26394,17194=>26395,17195=>26396,17196=>26397,17197=>26398,17198=>26399,17199=>26400,17200=>26401,17201=>26402,17202=>26403,17203=>26404,17204=>26405,17205=>26406,17206=>26407,17208=>26408,17209=>26409,17210=>26410,17211=>26411,17212=>26412,17213=>26413,17214=>26414,17215=>26415,17216=>26416,17217=>26417,17218=>26418,17219=>26419,17220=>26420,17221=>26421,17222=>26422,17223=>26423,17224=>26424,17225=>26425,17226=>26426,17227=>26427,17228=>26428,17229=>26429,17230=>26430,17231=>26431,17232=>26432,17233=>26433,17234=>26434,17235=>26435,17236=>26436,17237=>26437,17238=>26438,17239=>26439,17240=>26440,17241=>26441,17242=>26442,17243=>26443,17244=>26444,17245=>26445,17246=>26446,17247=>26447,17248=>26448,17249=>26449,17250=>26450,17251=>26451,17252=>26452,17253=>26453,17254=>26454,17255=>26455,17256=>26456,17257=>26457,17258=>26458,17259=>26459,17260=>26460,17261=>26461,17262=>26462,17263=>26463,17264=>26464,17265=>26465,17266=>26466,17267=>26467,17268=>26468,17269=>26469,17270=>26470,17271=>26471,17272=>26472,17273=>26473,17274=>26474,17275=>26475,17276=>26476,17277=>26477,17278=>26478,17279=>26479,17280=>26480,17281=>26481,17282=>26482,17283=>26483,17284=>26484,17285=>26485,17286=>26486,17287=>26487,17288=>26488,17289=>26489,17290=>26490,17291=>26491,17292=>26492,17293=>26493,17294=>26494,17295=>26495,17296=>26496,17297=>26497,17298=>26498,17299=>26499,17300=>26500,17301=>26501,17302=>26502,17303=>26503,17304=>26504,17305=>26505,17306=>26506,17307=>26507,17308=>26508,17309=>26509,17310=>26510,17311=>26511,17312=>26512,17313=>26513,17314=>26514,17315=>26515,17316=>26516,17317=>26517,17318=>26518,17319=>26519,17320=>26520,17321=>26521,17322=>26522,17323=>26523,17325=>26524,17326=>26525,17327=>26526,17328=>26527,17330=>26528,17331=>26529,17332=>26530,17333=>26531,17334=>26532,17335=>26533,17336=>26534,17337=>26535,17338=>26536,17339=>26537,17340=>26538,17341=>26539,17342=>26540,17343=>26541,17344=>26542,17345=>26543,17346=>26544,17347=>26545,17348=>26546,17349=>26547,17350=>26548,17351=>26549,17352=>26550,17353=>26551,17354=>26552,17355=>26553,17356=>26554,17357=>26555,17358=>26556,17359=>26557,17360=>26558,17361=>26559,17362=>26560,17363=>26561,17364=>26562,17365=>26563,17366=>26564,17367=>26565,17368=>26566,17369=>26567,17370=>26568,17371=>26569,17372=>26570,17374=>26571,17375=>26572,17376=>26573,17377=>26574,17378=>26575,17379=>26576,17380=>26577,17381=>26578,17382=>26579,17383=>26580,17384=>26581,17385=>26582,17386=>26583,17387=>26584,17388=>26585,17389=>26586,17390=>26587,17391=>26588,17392=>26589,17393=>26590,17394=>26591,17395=>26592,17396=>26593,17397=>26594,17398=>26595,17399=>26596,17400=>26597,17401=>26598,17402=>26599,17403=>26600,17404=>26601,17405=>26602,17406=>26603,17407=>26604,17408=>26605,17409=>26606,17410=>26607,17411=>26608,17412=>26609,17413=>26610,17414=>26611,17415=>26612,17416=>26613,17417=>26614,17418=>26615,17419=>26616,17420=>26617,17421=>26618,17422=>26619,17423=>26620,17424=>26621,17425=>26622,17426=>26623,17427=>26624,17428=>26625,17429=>26626,17430=>26627,17431=>26628,17432=>26629,17433=>26630,17434=>26631,17435=>26632,17436=>26633,17437=>26634,17438=>26635,17439=>26636,17440=>26637,17441=>26638,17442=>26639,17443=>26640,17444=>26641,17445=>26642,17446=>26643,17447=>26644,17448=>26645,17449=>26646,17450=>26647,17451=>26648,17452=>26649,17453=>26650,17454=>26651,17455=>26652,17456=>26653,17457=>26654,17458=>26655,17459=>26656,17460=>26657,17461=>26658,17462=>26659,17463=>26660,17464=>26661,17465=>26662,17466=>26663,17467=>26664,17468=>26665,17469=>26666,17470=>26667,17471=>26668,17472=>26669,17473=>26670,17474=>26671,17475=>26672,17476=>26673,17477=>26674,17478=>26675,17479=>26676,17480=>26677,17481=>26678,17482=>26679,17483=>26680,17484=>26681,17485=>26682,17486=>26683,17487=>26684,17488=>26685,17489=>26686,17490=>26687,17491=>26688,17492=>26689,17493=>26690,17494=>26691,17495=>26692,17496=>26693,17497=>26694,17498=>26695,17499=>26696,17500=>26697,17501=>26698,17502=>26699,17503=>26700,17504=>26701,17505=>26702,17506=>26703,17507=>26704,17508=>26705,17509=>26706,17510=>26707,17511=>26708,17512=>26709,17513=>26710,17514=>26711,17515=>26712,17516=>26713,17517=>26714,17518=>26715,17519=>26716,17520=>26717,17521=>26718,17522=>26719,17523=>26720,17524=>26721,17525=>26722,17526=>26723,17527=>26724,17528=>26725,17529=>26726,17530=>26727,17531=>26728,17532=>26729,17533=>26730,17534=>26731,17535=>26732,17536=>26733,17537=>26734,17538=>26735,17539=>26736,17540=>26737,17541=>26738,17542=>26739,17543=>26740,17544=>26741,17545=>26742,17546=>26743,17547=>26744,17548=>26745,17549=>26746,17550=>26747,17551=>26748,17552=>26749,17553=>26750,17554=>26751,17555=>26752,17556=>26753,17557=>26754,17558=>26755,17559=>26756,17560=>26757,17561=>26758,17562=>26759,17563=>26760,17564=>26761,17565=>26762,17566=>26763,17567=>26764,17568=>26765,17569=>26766,17570=>26767,17571=>26768,17572=>26769,17573=>26770,17574=>26771,17575=>26772,17576=>26773,17577=>26774,17578=>26775,17579=>26776,17580=>26777,17581=>26778,17582=>26779,17583=>26780,17584=>26781,17585=>26782,17586=>26783,17587=>26784,17588=>26785,17589=>26786,17590=>26787,17591=>26788,17592=>26789,17593=>26790,17594=>26791,17595=>26792,17596=>26793,17597=>26794,17598=>26795,17599=>26796,17600=>26797,17601=>26798,17602=>26799,17603=>26800,17604=>26801,17605=>26802,17606=>26803,17607=>26804,17608=>26805,17609=>26806,17610=>26807,17611=>26808,17612=>26809,17613=>26810,17614=>26811,17615=>26812,17616=>26813,17617=>26814,17618=>26815,17619=>26816,17620=>26817,17621=>26818,17623=>26819,17624=>26820,17625=>26821,17626=>26822,17627=>26823,17628=>26824,17629=>26825,17630=>26826,17631=>26827,17632=>26828,17633=>26829,17634=>26830,17635=>26831,17636=>26832,17637=>26833,17638=>26834,17639=>26835,17640=>26836,17641=>26837,17642=>26838,17643=>26839,17644=>26840,17645=>26841,17646=>26842,17647=>26843,17648=>26844,17649=>26845,17650=>26846,17651=>26847,17652=>26848,17653=>26849,17654=>26850,17655=>26851,17656=>26852,17657=>26853,17658=>26854,17659=>26855,17660=>26856,17661=>26857,17662=>26858,17663=>26859,17664=>26860,17665=>26861,17666=>26862,17667=>26863,17668=>26864,17669=>26865,17670=>26866,17671=>26867,17672=>26868,17673=>26869,17674=>26870,17675=>26871,17676=>26872,17677=>26873,17678=>26874,17679=>26875,17680=>26876,17681=>26877,17682=>26878,17683=>26879,17684=>26880,17685=>26881,17686=>26882,17687=>26883,17688=>26884,17689=>26885,17690=>26886,17691=>26887,17692=>26888,17693=>26889,17694=>26890,17695=>26891,17696=>26892,17697=>26893,17698=>26894,17699=>26895,17700=>26896,17701=>26897,17702=>26898,17703=>26899,17704=>26900,17705=>26901,17706=>26902,17707=>26903,17708=>26904,17709=>26905,17710=>26906,17711=>26907,17712=>26908,17713=>26909,17714=>26910,17715=>26911,17716=>26912,17717=>26913,17718=>26914,17719=>26915,17720=>26916,17721=>26917,17722=>26918,17723=>26919,17724=>26920,17725=>26921,17726=>26922,17727=>26923,17728=>26924,17729=>26925,17730=>26926,17731=>26927,17732=>26928,17733=>26929,17734=>26930,17735=>26931,17736=>26932,17737=>26933,17738=>26934,17739=>26935,17740=>26936,17741=>26937,17742=>26938,17743=>26939,17744=>26940,17745=>26941,17746=>26942,17747=>26943,17748=>26944,17749=>26945,17750=>26946,17751=>26947,17752=>26948,17753=>26949,17754=>26950,17755=>26951,17756=>26952,17757=>26953,17758=>26954,17759=>26955,17760=>26956,17761=>26957,17762=>26958,17763=>26959,17764=>26960,17765=>26961,17766=>26962,17767=>26963,17768=>26964,17769=>26965,17770=>26966,17771=>26967,17772=>26968,17773=>26969,17774=>26970,17775=>26971,17776=>26972,17777=>26973,17778=>26974,17779=>26975,17780=>26976,17781=>26977,17782=>26978,17783=>26979,17784=>26980,17785=>26981,17786=>26982,17787=>26983,17788=>26984,17789=>26985,17790=>26986,17791=>26987,17792=>26988,17793=>26989,17794=>26990,17795=>26991,17796=>26992,17797=>26993,17798=>26994,17799=>26995,17800=>26996,17801=>26997,17802=>26998,17803=>26999,17804=>27000,17805=>27001,17806=>27002,17807=>27003,17808=>27004,17809=>27005,17810=>27006,17811=>27007,17812=>27008,17813=>27009,17814=>27010,17815=>27011,17816=>27012,17817=>27013,17818=>27014,17819=>27015,17820=>27016,17821=>27017,17822=>27018,17823=>27019,17824=>27020,17825=>27021,17826=>27022,17827=>27023,17828=>27024,17829=>27025,17830=>27026,17831=>27027,17832=>27028,17833=>27029,17834=>27030,17835=>27031,17836=>27032,17837=>27033,17838=>27034,17839=>27035,17840=>27036,17841=>27037,17842=>27038,17843=>27039,17844=>27040,17845=>27041,17846=>27042,17847=>27043,17848=>27044,17849=>27045,17850=>27046,17851=>27047,17852=>27048,17853=>27049,17854=>27050,17855=>27051,17856=>27052,17857=>27053,17858=>27054,17859=>27055,17860=>27056,17861=>27057,17862=>27058,17863=>27059,17864=>27060,17865=>27061,17866=>27062,17867=>27063,17868=>27064,17869=>27065,17870=>27066,17871=>27067,17872=>27068,17873=>27069,17874=>27070,17875=>27071,17876=>27072,17877=>27073,17878=>27074,17879=>27075,17880=>27076,17881=>27077,17882=>27078,17883=>27079,17884=>27080,17885=>27081,17886=>27082,17887=>27083,17888=>27084,17889=>27085,17890=>27086,17891=>27087,17892=>27088,17893=>27089,17894=>27090,17895=>27091,17896=>27092,17897=>27093,17898=>27094,17899=>27095,17900=>27096,17901=>27097,17902=>27098,17903=>27099,17904=>27100,17905=>27101,17906=>27102,17907=>27103,17908=>27104,17909=>27105,17910=>27106,17911=>27107,17912=>27108,17913=>27109,17914=>27110,17915=>27111,17916=>27112,17917=>27113,17918=>27114,17919=>27115,17920=>27116,17921=>27117,17922=>27118,17923=>27119,17924=>27120,17925=>27121,17926=>27122,17927=>27123,17928=>27124,17929=>27125,17930=>27126,17931=>27127,17932=>27128,17933=>27129,17934=>27130,17935=>27131,17936=>27132,17937=>27133,17938=>27134,17939=>27135,17940=>27136,17941=>27137,17942=>27138,17943=>27139,17944=>27140,17945=>27141,17946=>27142,17947=>27143,17948=>27144,17949=>27145,17950=>27146,17951=>27147,17952=>27148,17953=>27149,17954=>27150,17955=>27151,17956=>27152,17957=>27153,17958=>27154,17959=>27155,17960=>27156,17961=>27157,17962=>27158,17963=>27159,17964=>27160,17965=>27161,17966=>27162,17967=>27163,17968=>27164,17969=>27165,17970=>27166,17971=>27167,17972=>27168,17973=>27169,17974=>27170,17975=>27171,17976=>27172,17977=>27173,17978=>27174,17979=>27175,17980=>27176,17981=>27177,17982=>27178,17983=>27179,17984=>27180,17985=>27181,17986=>27182,17987=>27183,17988=>27184,17989=>27185,17990=>27186,17991=>27187,17992=>27188,17993=>27189,17994=>27190,17995=>27191,17997=>27192,17998=>27193,17999=>27194,18000=>27195,18001=>27196,18002=>27197,18003=>27198,18004=>27199,18005=>27200,18006=>27201,18007=>27202,18008=>27203,18009=>27204,18010=>27205,18011=>27206,18012=>27207,18013=>27208,18014=>27209,18015=>27210,18016=>27211,18018=>27212,18019=>27213,18020=>27214,18021=>27215,18022=>27216,18023=>27217,18024=>27218,18025=>27219,18026=>27220,18027=>27221,18028=>27222,18029=>27223,18030=>27224,18031=>27225,18032=>27226,18033=>27227,18034=>27228,18035=>27229,18036=>27230,18037=>27231,18038=>27232,18039=>27233,18040=>27234,18041=>27235,18042=>27236,18043=>27237,18044=>27238,18045=>27239,18046=>27240,18047=>27241,18048=>27242,18049=>27243,18050=>27244,18051=>27245,18052=>27246,18053=>27247,18054=>27248,18055=>27249,18056=>27250,18057=>27251,18058=>27252,18059=>27253,18060=>27254,18061=>27255,18062=>27256,18063=>27257,18064=>27258,18065=>27259,18066=>27260,18067=>27261,18068=>27262,18069=>27263,18070=>27264,18071=>27265,18072=>27266,18073=>27267,18074=>27268,18075=>27269,18076=>27270,18077=>27271,18078=>27272,18079=>27273,18080=>27274,18081=>27275,18082=>27276,18083=>27277,18084=>27278,18085=>27279,18086=>27280,18087=>27281,18088=>27282,18089=>27283,18090=>27284,18091=>27285,18092=>27286,18093=>27287,18094=>27288,18095=>27289,18096=>27290,18097=>27291,18098=>27292,18099=>27293,18100=>27294,18101=>27295,18102=>27296,18103=>27297,18104=>27298,18105=>27299,18106=>27300,18107=>27301,18108=>27302,18109=>27303,18110=>27304,18111=>27305,18112=>27306,18113=>27307,18114=>27308,18115=>27309,18116=>27310,18117=>27311,18118=>27312,18119=>27313,18120=>27314,18121=>27315,18122=>27316,18123=>27317,18124=>27318,18125=>27319,18126=>27320,18127=>27321,18128=>27322,18129=>27323,18130=>27324,18131=>27325,18132=>27326,18133=>27327,18134=>27328,18135=>27329,18136=>27330,18137=>27331,18138=>27332,18139=>27333,18140=>27334,18141=>27335,18142=>27336,18143=>27337,18144=>27338,18145=>27339,18146=>27340,18147=>27341,18148=>27342,18149=>27343,18150=>27344,18151=>27345,18152=>27346,18153=>27347,18154=>27348,18155=>27349,18156=>27350,18157=>27351,18158=>27352,18159=>27353,18160=>27354,18161=>27355,18162=>27356,18163=>27357,18164=>27358,18165=>27359,18166=>27360,18167=>27361,18168=>27362,18169=>27363,18170=>27364,18171=>27365,18172=>27366,18173=>27367,18174=>27368,18175=>27369,18176=>27370,18177=>27371,18178=>27372,18179=>27373,18180=>27374,18181=>27375,18182=>27376,18183=>27377,18184=>27378,18185=>27379,18186=>27380,18187=>27381,18188=>27382,18189=>27383,18190=>27384,18191=>27385,18192=>27386,18193=>27387,18194=>27388,18195=>27389,18196=>27390,18197=>27391,18198=>27392,18199=>27393,18200=>27394,18201=>27395,18202=>27396,18203=>27397,18204=>27398,18205=>27399,18206=>27400,18207=>27401,18208=>27402,18209=>27403,18210=>27404,18212=>27405,18213=>27406,18214=>27407,18215=>27408,18216=>27409,18218=>27410,18219=>27411,18220=>27412,18221=>27413,18222=>27414,18223=>27415,18224=>27416,18225=>27417,18226=>27418,18227=>27419,18228=>27420,18229=>27421,18230=>27422,18231=>27423,18232=>27424,18233=>27425,18234=>27426,18235=>27427,18236=>27428,18237=>27429,18238=>27430,18239=>27431,18240=>27432,18241=>27433,18242=>27434,18243=>27435,18244=>27436,18245=>27437,18246=>27438,18247=>27439,18248=>27440,18249=>27441,18250=>27442,18251=>27443,18252=>27444,18253=>27445,18254=>27446,18255=>27447,18256=>27448,18257=>27449,18258=>27450,18259=>27451,18260=>27452,18261=>27453,18262=>27454,18263=>27455,18264=>27456,18265=>27457,18266=>27458,18267=>27459,18268=>27460,18269=>27461,18270=>27462,18271=>27463,18272=>27464,18273=>27465,18274=>27466,18275=>27467,18276=>27468,18277=>27469,18278=>27470,18279=>27471,18280=>27472,18281=>27473,18282=>27474,18283=>27475,18284=>27476,18285=>27477,18286=>27478,18287=>27479,18288=>27480,18289=>27481,18290=>27482,18291=>27483,18292=>27484,18293=>27485,18294=>27486,18295=>27487,18296=>27488,18297=>27489,18298=>27490,18299=>27491,18301=>27492,18302=>27493,18303=>27494,18304=>27495,18305=>27496,18306=>27497,18307=>27498,18308=>27499,18309=>27500,18310=>27501,18311=>27502,18312=>27503,18313=>27504,18314=>27505,18315=>27506,18316=>27507,18318=>27508,18319=>27509,18320=>27510,18321=>27511,18322=>27512,18323=>27513,18324=>27514,18325=>27515,18326=>27516,18327=>27517,18328=>27518,18329=>27519,18330=>27520,18331=>27521,18332=>27522,18333=>27523,18334=>27524,18335=>27525,18336=>27526,18337=>27527,18338=>27528,18339=>27529,18340=>27530,18341=>27531,18342=>27532,18343=>27533,18344=>27534,18345=>27535,18346=>27536,18347=>27537,18348=>27538,18349=>27539,18350=>27540,18351=>27541,18352=>27542,18353=>27543,18354=>27544,18355=>27545,18356=>27546,18357=>27547,18358=>27548,18359=>27549,18360=>27550,18361=>27551,18362=>27552,18363=>27553,18364=>27554,18365=>27555,18366=>27556,18367=>27557,18368=>27558,18369=>27559,18370=>27560,18371=>27561,18372=>27562,18373=>27563,18374=>27564,18375=>27565,18376=>27566,18377=>27567,18378=>27568,18379=>27569,18380=>27570,18381=>27571,18382=>27572,18383=>27573,18384=>27574,18385=>27575,18386=>27576,18387=>27577,18388=>27578,18389=>27579,18390=>27580,18391=>27581,18392=>27582,18393=>27583,18394=>27584,18395=>27585,18396=>27586,18397=>27587,18398=>27588,18399=>27589,18400=>27590,18401=>27591,18402=>27592,18403=>27593,18404=>27594,18405=>27595,18406=>27596,18407=>27597,18408=>27598,18409=>27599,18410=>27600,18411=>27601,18412=>27602,18413=>27603,18414=>27604,18415=>27605,18416=>27606,18417=>27607,18418=>27608,18419=>27609,18420=>27610,18421=>27611,18422=>27612,18423=>27613,18424=>27614,18425=>27615,18426=>27616,18427=>27617,18428=>27618,18429=>27619,18430=>27620,18431=>27621,18432=>27622,18433=>27623,18434=>27624,18435=>27625,18436=>27626,18437=>27627,18438=>27628,18439=>27629,18440=>27630,18441=>27631,18442=>27632,18443=>27633,18444=>27634,18445=>27635,18446=>27636,18447=>27637,18448=>27638,18449=>27639,18450=>27640,18451=>27641,18452=>27642,18453=>27643,18454=>27644,18455=>27645,18456=>27646,18457=>27647,18458=>27648,18459=>27649,18460=>27650,18461=>27651,18462=>27652,18463=>27653,18464=>27654,18465=>27655,18466=>27656,18467=>27657,18468=>27658,18469=>27659,18470=>27660,18471=>27661,18472=>27662,18473=>27663,18474=>27664,18475=>27665,18476=>27666,18477=>27667,18478=>27668,18479=>27669,18480=>27670,18481=>27671,18482=>27672,18483=>27673,18484=>27674,18485=>27675,18486=>27676,18487=>27677,18488=>27678,18489=>27679,18490=>27680,18491=>27681,18492=>27682,18493=>27683,18494=>27684,18495=>27685,18496=>27686,18497=>27687,18498=>27688,18499=>27689,18500=>27690,18501=>27691,18502=>27692,18503=>27693,18504=>27694,18505=>27695,18506=>27696,18507=>27697,18508=>27698,18509=>27699,18510=>27700,18511=>27701,18512=>27702,18513=>27703,18514=>27704,18515=>27705,18516=>27706,18517=>27707,18518=>27708,18519=>27709,18520=>27710,18521=>27711,18522=>27712,18523=>27713,18524=>27714,18525=>27715,18526=>27716,18527=>27717,18528=>27718,18529=>27719,18530=>27720,18531=>27721,18532=>27722,18533=>27723,18534=>27724,18535=>27725,18536=>27726,18537=>27727,18538=>27728,18539=>27729,18540=>27730,18541=>27731,18542=>27732,18543=>27733,18544=>27734,18545=>27735,18546=>27736,18547=>27737,18548=>27738,18549=>27739,18550=>27740,18551=>27741,18552=>27742,18553=>27743,18554=>27744,18555=>27745,18556=>27746,18557=>27747,18558=>27748,18559=>27749,18560=>27750,18561=>27751,18562=>27752,18563=>27753,18564=>27754,18565=>27755,18566=>27756,18567=>27757,18568=>27758,18569=>27759,18570=>27760,18571=>27761,18572=>27762,18573=>27763,18574=>27764,18575=>27765,18576=>27766,18577=>27767,18578=>27768,18579=>27769,18580=>27770,18581=>27771,18582=>27772,18583=>27773,18584=>27774,18585=>27775,18586=>27776,18587=>27777,18588=>27778,18589=>27779,18590=>27780,18591=>27781,18592=>27782,18593=>27783,18594=>27784,18595=>27785,18596=>27786,18597=>27787,18598=>27788,18599=>27789,18600=>27790,18601=>27791,18602=>27792,18603=>27793,18604=>27794,18605=>27795,18606=>27796,18607=>27797,18608=>27798,18609=>27799,18610=>27800,18611=>27801,18612=>27802,18613=>27803,18614=>27804,18615=>27805,18616=>27806,18617=>27807,18618=>27808,18619=>27809,18620=>27810,18621=>27811,18622=>27812,18623=>27813,18624=>27814,18625=>27815,18626=>27816,18627=>27817,18628=>27818,18629=>27819,18630=>27820,18631=>27821,18632=>27822,18633=>27823,18634=>27824,18635=>27825,18636=>27826,18637=>27827,18638=>27828,18639=>27829,18640=>27830,18641=>27831,18642=>27832,18643=>27833,18644=>27834,18645=>27835,18646=>27836,18647=>27837,18648=>27838,18649=>27839,18650=>27840,18651=>27841,18652=>27842,18653=>27843,18654=>27844,18655=>27845,18656=>27846,18657=>27847,18658=>27848,18659=>27849,18660=>27850,18661=>27851,18662=>27852,18663=>27853,18664=>27854,18665=>27855,18666=>27856,18667=>27857,18668=>27858,18669=>27859,18670=>27860,18671=>27861,18672=>27862,18673=>27863,18674=>27864,18675=>27865,18676=>27866,18677=>27867,18678=>27868,18679=>27869,18680=>27870,18681=>27871,18682=>27872,18683=>27873,18684=>27874,18685=>27875,18686=>27876,18687=>27877,18688=>27878,18689=>27879,18690=>27880,18691=>27881,18692=>27882,18693=>27883,18694=>27884,18695=>27885,18696=>27886,18697=>27887,18698=>27888,18699=>27889,18700=>27890,18701=>27891,18702=>27892,18703=>27893,18704=>27894,18705=>27895,18706=>27896,18707=>27897,18708=>27898,18709=>27899,18710=>27900,18711=>27901,18712=>27902,18713=>27903,18714=>27904,18715=>27905,18716=>27906,18717=>27907,18718=>27908,18719=>27909,18720=>27910,18721=>27911,18722=>27912,18723=>27913,18724=>27914,18725=>27915,18726=>27916,18727=>27917,18728=>27918,18729=>27919,18730=>27920,18731=>27921,18732=>27922,18733=>27923,18734=>27924,18735=>27925,18736=>27926,18737=>27927,18738=>27928,18739=>27929,18740=>27930,18741=>27931,18742=>27932,18743=>27933,18744=>27934,18745=>27935,18746=>27936,18747=>27937,18748=>27938,18749=>27939,18750=>27940,18751=>27941,18752=>27942,18753=>27943,18754=>27944,18755=>27945,18756=>27946,18757=>27947,18758=>27948,18760=>27949,18761=>27950,18762=>27951,18763=>27952,18764=>27953,18765=>27954,18766=>27955,18767=>27956,18768=>27957,18769=>27958,18770=>27959,18771=>27960,18772=>27961,18773=>27962,18774=>27963,18775=>27964,18776=>27965,18777=>27966,18778=>27967,18779=>27968,18780=>27969,18781=>27970,18782=>27971,18783=>27972,18784=>27973,18785=>27974,18786=>27975,18787=>27976,18788=>27977,18789=>27978,18790=>27979,18791=>27980,18792=>27981,18793=>27982,18794=>27983,18795=>27984,18796=>27985,18797=>27986,18798=>27987,18799=>27988,18800=>27989,18801=>27990,18802=>27991,18803=>27992,18804=>27993,18805=>27994,18806=>27995,18807=>27996,18808=>27997,18809=>27998,18811=>27999,18812=>28000,18814=>28001,18815=>28002,18816=>28003,18817=>28004,18820=>28005,18823=>28006,18824=>28007,18825=>28008,18826=>28009,18827=>28010,18828=>28011,18829=>28012,18830=>28013,18831=>28014,18832=>28015,18833=>28016,18834=>28017,18835=>28018,18836=>28019,18837=>28020,18838=>28021,18839=>28022,18840=>28023,18841=>28024,18842=>28025,18844=>28026,18845=>28027,18846=>28028,18848=>28029,18849=>28030,18850=>28031,18851=>28032,18852=>28033,18853=>28034,18854=>28035,18855=>28036,18856=>28037,18857=>28038,18858=>28039,18859=>28040,18860=>28041,18861=>28042,18862=>28043,18863=>28044,18864=>28045,18865=>28046,18866=>28047,18867=>28048,18868=>28049,18869=>28050,18872=>28051,18873=>28052,18874=>28053,18875=>28054,18876=>28055,18877=>28056,18878=>28057,18879=>28058,18880=>28059,18881=>28060,18882=>28061,18883=>28062,18884=>28063,18885=>28064,18886=>28065,18887=>28066,18888=>28067,18889=>28068,18890=>28069,18891=>28070,18892=>28071,18893=>28072,18894=>28073,18895=>28074,18896=>28075,18897=>28076,18898=>28077,18899=>28078,18900=>28079,18901=>28080,18902=>28081,18903=>28082,18904=>28083,18905=>28084,18906=>28085,18907=>28086,18908=>28087,18909=>28088,18910=>28089,18911=>28090,18912=>28091,18913=>28092,18914=>28093,18915=>28094,18916=>28095,18917=>28096,18918=>28097,18919=>28098,18920=>28099,18921=>28100,18922=>28101,18923=>28102,18924=>28103,18925=>28104,18926=>28105,18927=>28106,18928=>28107,18929=>28108,18930=>28109,18931=>28110,18932=>28111,18933=>28112,18934=>28113,18935=>28114,18936=>28115,18937=>28116,18938=>28117,18939=>28118,18940=>28119,18941=>28120,18942=>28121,18943=>28122,18944=>28123,18945=>28124,18946=>28125,18947=>28126,18948=>28127,18949=>28128,18950=>28129,18951=>28130,18952=>28131,18953=>28132,18954=>28133,18955=>28134,18956=>28135,18957=>28136,18958=>28137,18959=>28138,18960=>28139,18961=>28140,18962=>28141,18963=>28142,18964=>28143,18965=>28144,18966=>28145,18967=>28146,18968=>28147,18969=>28148,18970=>28149,18971=>28150,18972=>28151,18973=>28152,18974=>28153,18975=>28154,18976=>28155,18977=>28156,18978=>28157,18979=>28158,18980=>28159,18981=>28160,18982=>28161,18983=>28162,18984=>28163,18985=>28164,18986=>28165,18987=>28166,18988=>28167,18989=>28168,18990=>28169,18991=>28170,18992=>28171,18993=>28172,18994=>28173,18995=>28174,18996=>28175,18997=>28176,18998=>28177,18999=>28178,19000=>28179,19001=>28180,19002=>28181,19003=>28182,19004=>28183,19005=>28184,19006=>28185,19007=>28186,19008=>28187,19009=>28188,19010=>28189,19011=>28190,19012=>28191,19013=>28192,19014=>28193,19015=>28194,19016=>28195,19017=>28196,19018=>28197,19019=>28198,19020=>28199,19021=>28200,19022=>28201,19023=>28202,19024=>28203,19025=>28204,19026=>28205,19027=>28206,19028=>28207,19029=>28208,19030=>28209,19031=>28210,19032=>28211,19033=>28212,19034=>28213,19035=>28214,19036=>28215,19037=>28216,19038=>28217,19039=>28218,19040=>28219,19041=>28220,19042=>28221,19043=>28222,19044=>28223,19045=>28224,19046=>28225,19047=>28226,19048=>28227,19049=>28228,19050=>28229,19051=>28230,19052=>28231,19053=>28232,19054=>28233,19055=>28234,19056=>28235,19057=>28236,19058=>28237,19059=>28238,19060=>28239,19061=>28240,19062=>28241,19063=>28242,19064=>28243,19065=>28244,19066=>28245,19067=>28246,19068=>28247,19069=>28248,19070=>28249,19071=>28250,19072=>28251,19073=>28252,19074=>28253,19075=>28254,19076=>28255,19077=>28256,19078=>28257,19079=>28258,19080=>28259,19081=>28260,19082=>28261,19083=>28262,19084=>28263,19085=>28264,19086=>28265,19087=>28266,19088=>28267,19089=>28268,19090=>28269,19091=>28270,19092=>28271,19093=>28272,19094=>28273,19095=>28274,19096=>28275,19097=>28276,19098=>28277,19099=>28278,19100=>28279,19101=>28280,19102=>28281,19103=>28282,19104=>28283,19105=>28284,19106=>28285,19107=>28286,19108=>28287,19109=>28288,19110=>28289,19111=>28290,19112=>28291,19113=>28292,19114=>28293,19115=>28294,19116=>28295,19117=>28296,19118=>28297,19119=>28298,19120=>28299,19121=>28300,19122=>28301,19123=>28302,19124=>28303,19125=>28304,19126=>28305,19127=>28306,19128=>28307,19129=>28308,19130=>28309,19131=>28310,19132=>28311,19133=>28312,19134=>28313,19135=>28314,19136=>28315,19137=>28316,19138=>28317,19139=>28318,19140=>28319,19141=>28320,19142=>28321,19143=>28322,19144=>28323,19145=>28324,19146=>28325,19147=>28326,19148=>28327,19149=>28328,19150=>28329,19151=>28330,19152=>28331,19153=>28332,19154=>28333,19155=>28334,19156=>28335,19157=>28336,19158=>28337,19159=>28338,19160=>28339,19161=>28340,19162=>28341,19163=>28342,19164=>28343,19165=>28344,19166=>28345,19167=>28346,19168=>28347,19169=>28348,19170=>28349,19171=>28350,19172=>28351,19173=>28352,19174=>28353,19175=>28354,19176=>28355,19177=>28356,19178=>28357,19179=>28358,19180=>28359,19181=>28360,19182=>28361,19183=>28362,19184=>28363,19185=>28364,19186=>28365,19187=>28366,19188=>28367,19189=>28368,19190=>28369,19191=>28370,19192=>28371,19193=>28372,19194=>28373,19195=>28374,19196=>28375,19197=>28376,19198=>28377,19199=>28378,19200=>28379,19201=>28380,19202=>28381,19203=>28382,19204=>28383,19205=>28384,19206=>28385,19207=>28386,19208=>28387,19209=>28388,19210=>28389,19211=>28390,19212=>28391,19213=>28392,19214=>28393,19215=>28394,19216=>28395,19217=>28396,19218=>28397,19219=>28398,19220=>28399,19221=>28400,19222=>28401,19223=>28402,19224=>28403,19225=>28404,19226=>28405,19227=>28406,19228=>28407,19229=>28408,19230=>28409,19231=>28410,19232=>28411,19233=>28412,19234=>28413,19235=>28414,19236=>28415,19237=>28416,19238=>28417,19239=>28418,19240=>28419,19241=>28420,19242=>28421,19243=>28422,19244=>28423,19245=>28424,19246=>28425,19247=>28426,19248=>28427,19249=>28428,19250=>28429,19251=>28430,19252=>28431,19253=>28432,19254=>28433,19255=>28434,19256=>28435,19257=>28436,19258=>28437,19259=>28438,19260=>28439,19261=>28440,19262=>28441,19263=>28442,19264=>28443,19265=>28444,19266=>28445,19267=>28446,19268=>28447,19269=>28448,19270=>28449,19271=>28450,19272=>28451,19273=>28452,19274=>28453,19275=>28454,19276=>28455,19277=>28456,19278=>28457,19279=>28458,19280=>28459,19281=>28460,19282=>28461,19283=>28462,19284=>28463,19285=>28464,19286=>28465,19287=>28466,19288=>28467,19289=>28468,19290=>28469,19291=>28470,19292=>28471,19293=>28472,19294=>28473,19295=>28474,19296=>28475,19297=>28476,19298=>28477,19299=>28478,19300=>28479,19301=>28480,19302=>28481,19303=>28482,19304=>28483,19305=>28484,19306=>28485,19307=>28486,19308=>28487,19309=>28488,19310=>28489,19311=>28490,19312=>28491,19313=>28492,19314=>28493,19315=>28494,19316=>28495,19317=>28496,19318=>28497,19319=>28498,19320=>28499,19321=>28500,19322=>28501,19323=>28502,19324=>28503,19325=>28504,19326=>28505,19327=>28506,19328=>28507,19329=>28508,19330=>28509,19331=>28510,19332=>28511,19333=>28512,19334=>28513,19335=>28514,19336=>28515,19337=>28516,19338=>28517,19339=>28518,19340=>28519,19341=>28520,19342=>28521,19343=>28522,19344=>28523,19345=>28524,19346=>28525,19347=>28526,19348=>28527,19349=>28528,19350=>28529,19351=>28530,19352=>28531,19353=>28532,19354=>28533,19355=>28534,19356=>28535,19357=>28536,19358=>28537,19359=>28538,19360=>28539,19361=>28540,19362=>28541,19363=>28542,19364=>28543,19365=>28544,19366=>28545,19367=>28546,19368=>28547,19369=>28548,19370=>28549,19371=>28550,19372=>28551,19373=>28552,19374=>28553,19375=>28554,19376=>28555,19377=>28556,19378=>28557,19379=>28558,19380=>28559,19381=>28560,19382=>28561,19383=>28562,19384=>28563,19385=>28564,19386=>28565,19387=>28566,19388=>28567,19389=>28568,19390=>28569,19391=>28570,19392=>28571,19393=>28572,19394=>28573,19395=>28574,19396=>28575,19397=>28576,19398=>28577,19399=>28578,19400=>28579,19401=>28580,19402=>28581,19403=>28582,19404=>28583,19405=>28584,19406=>28585,19407=>28586,19408=>28587,19409=>28588,19410=>28589,19411=>28590,19412=>28591,19413=>28592,19414=>28593,19415=>28594,19416=>28595,19417=>28596,19418=>28597,19419=>28598,19420=>28599,19421=>28600,19422=>28601,19423=>28602,19424=>28603,19425=>28604,19426=>28605,19427=>28606,19428=>28607,19429=>28608,19430=>28609,19431=>28610,19432=>28611,19433=>28612,19434=>28613,19435=>28614,19436=>28615,19437=>28616,19438=>28617,19439=>28618,19440=>28619,19441=>28620,19442=>28621,19443=>28622,19444=>28623,19445=>28624,19446=>28625,19447=>28626,19448=>28627,19449=>28628,19450=>28629,19451=>28630,19452=>28631,19453=>28632,19454=>28633,19455=>28634,19456=>28635,19457=>28636,19458=>28637,19459=>28638,19460=>28639,19461=>28640,19462=>28641,19463=>28642,19464=>28643,19465=>28644,19466=>28645,19467=>28646,19468=>28647,19469=>28648,19470=>28649,19471=>28650,19472=>28651,19473=>28652,19474=>28653,19475=>28654,19476=>28655,19477=>28656,19478=>28657,19479=>28658,19480=>28659,19481=>28660,19482=>28661,19483=>28662,19484=>28663,19485=>28664,19486=>28665,19487=>28666,19488=>28667,19489=>28668,19490=>28669,19491=>28670,19492=>28671,19493=>28672,19494=>28673,19495=>28674,19496=>28675,19497=>28676,19498=>28677,19499=>28678,19500=>28679,19501=>28680,19502=>28681,19503=>28682,19504=>28683,19505=>28684,19506=>28685,19507=>28686,19508=>28687,19509=>28688,19510=>28689,19511=>28690,19512=>28691,19513=>28692,19514=>28693,19515=>28694,19516=>28695,19517=>28696,19518=>28697,19519=>28698,19520=>28699,19521=>28700,19522=>28701,19523=>28702,19524=>28703,19525=>28704,19526=>28705,19527=>28706,19528=>28707,19529=>28708,19530=>28709,19531=>28710,19532=>28711,19533=>28712,19534=>28713,19535=>28714,19536=>28715,19537=>28716,19538=>28717,19539=>28718,19540=>28719,19541=>28720,19542=>28721,19543=>28722,19544=>28723,19545=>28724,19546=>28725,19547=>28726,19548=>28727,19549=>28728,19550=>28729,19551=>28730,19552=>28731,19553=>28732,19554=>28733,19555=>28734,19556=>28735,19557=>28736,19558=>28737,19559=>28738,19560=>28739,19561=>28740,19562=>28741,19563=>28742,19564=>28743,19565=>28744,19566=>28745,19567=>28746,19568=>28747,19569=>28748,19570=>28749,19571=>28750,19572=>28751,19573=>28752,19574=>28753,19576=>28754,19577=>28755,19578=>28756,19579=>28757,19580=>28758,19581=>28759,19582=>28760,19583=>28761,19584=>28762,19585=>28763,19586=>28764,19587=>28765,19588=>28766,19589=>28767,19590=>28768,19591=>28769,19592=>28770,19593=>28771,19594=>28772,19595=>28773,19596=>28774,19597=>28775,19598=>28776,19599=>28777,19600=>28778,19601=>28779,19602=>28780,19603=>28781,19604=>28782,19605=>28783,19606=>28784,19607=>28785,19608=>28786,19609=>28787,19610=>28788,19611=>28789,19612=>28790,19613=>28791,19614=>28792,19620=>28793,19621=>28794,19622=>28795,19623=>28796,19624=>28797,19625=>28798,19626=>28799,19627=>28800,19628=>28801,19629=>28802,19630=>28803,19631=>28804,19632=>28805,19633=>28806,19634=>28807,19635=>28808,19636=>28809,19637=>28810,19638=>28811,19639=>28812,19640=>28813,19641=>28814,19642=>28815,19643=>28816,19644=>28817,19645=>28818,19646=>28819,19647=>28820,19648=>28821,19649=>28822,19650=>28823,19651=>28824,19652=>28825,19653=>28826,19654=>28827,19655=>28828,19656=>28829,19657=>28830,19658=>28831,19659=>28832,19660=>28833,19661=>28834,19662=>28835,19663=>28836,19664=>28837,19665=>28838,19666=>28839,19667=>28840,19668=>28841,19669=>28842,19670=>28843,19671=>28844,19672=>28845,19673=>28846,19674=>28847,19675=>28848,19676=>28849,19677=>28850,19678=>28851,19679=>28852,19680=>28853,19681=>28854,19682=>28855,19683=>28856,19684=>28857,19685=>28858,19686=>28859,19687=>28860,19688=>28861,19689=>28862,19690=>28863,19691=>28864,19692=>28865,19693=>28866,19694=>28867,19695=>28868,19696=>28869,19697=>28870,19698=>28871,19699=>28872,19700=>28873,19701=>28874,19702=>28875,19703=>28876,19704=>28877,19705=>28878,19706=>28879,19707=>28880,19708=>28881,19709=>28882,19710=>28883,19711=>28884,19712=>28885,19713=>28886,19714=>28887,19715=>28888,19716=>28889,19717=>28890,19718=>28891,19719=>28892,19720=>28893,19721=>28894,19722=>28895,19723=>28896,19724=>28897,19725=>28898,19726=>28899,19727=>28900,19728=>28901,19729=>28902,19730=>28903,19738=>28904,19739=>28905,19740=>28906,19741=>28907,19742=>28908,19743=>28909,19744=>28910,19745=>28911,19746=>28912,19747=>28913,19748=>28914,19749=>28915,19750=>28916,19751=>28917,19752=>28918,19753=>28919,19754=>28920,19755=>28921,19756=>28922,19757=>28923,19758=>28924,19759=>28925,19760=>28926,19761=>28927,19762=>28928,19763=>28929,19764=>28930,19765=>28931,19766=>28932,19767=>28933,19768=>28934,19769=>28935,19770=>28936,19771=>28937,19772=>28938,19773=>28939,19774=>28940,19775=>28941,19776=>28942,19777=>28943,19778=>28944,19779=>28945,19780=>28946,19781=>28947,19782=>28948,19783=>28949,19784=>28950,19785=>28951,19786=>28952,19787=>28953,19788=>28954,19789=>28955,19790=>28956,19791=>28957,19792=>28958,19793=>28959,19794=>28960,19795=>28961,19796=>28962,19797=>28963,19798=>28964,19799=>28965,19800=>28966,19801=>28967,19802=>28968,19803=>28969,19804=>28970,19805=>28971,19806=>28972,19807=>28973,19808=>28974,19809=>28975,19810=>28976,19811=>28977,19812=>28978,19813=>28979,19814=>28980,19815=>28981,19816=>28982,19817=>28983,19818=>28984,19819=>28985,19820=>28986,19821=>28987,19822=>28988,19823=>28989,19824=>28990,19825=>28991,19826=>28992,19827=>28993,19828=>28994,19829=>28995,19830=>28996,19831=>28997,19832=>28998,19833=>28999,19834=>29000,19835=>29001,19836=>29002,19837=>29003,19838=>29004,19839=>29005,19840=>29006,19841=>29007,19842=>29008,19843=>29009,19844=>29010,19845=>29011,19846=>29012,19847=>29013,19848=>29014,19849=>29015,19850=>29016,19851=>29017,19852=>29018,19853=>29019,19854=>29020,19855=>29021,19856=>29022,19857=>29023,19858=>29024,19859=>29025,19860=>29026,19861=>29027,19862=>29028,19863=>29029,19864=>29030,19865=>29031,19866=>29032,19867=>29033,19868=>29034,19869=>29035,19870=>29036,19871=>29037,19872=>29038,19873=>29039,19874=>29040,19875=>29041,19876=>29042,19877=>29043,19878=>29044,19879=>29045,19880=>29046,19881=>29047,19882=>29048,19883=>29049,19884=>29050,19885=>29051,19887=>29052,19888=>29053,19889=>29054,19890=>29055,19891=>29056,19892=>29057,19893=>29058,40960=>29064,40961=>29065,40962=>29066,40963=>29067,40964=>29068,40965=>29069,40966=>29070,40967=>29071,40968=>29072,40969=>29073,40970=>29074,40971=>29075,40972=>29076,40973=>29077,40974=>29078,40975=>29079,40976=>29080,40977=>29081,40978=>29082,40979=>29083,40980=>29084,40981=>29085,40982=>29086,40983=>29087,40984=>29088,40985=>29089,40986=>29090,40987=>29091,40988=>29092,40989=>29093,40990=>29094,40991=>29095,40992=>29096,40993=>29097,40994=>29098,40995=>29099,40996=>29100,40997=>29101,40998=>29102,40999=>29103,41000=>29104,41001=>29105,41002=>29106,41003=>29107,41004=>29108,41005=>29109,41006=>29110,41007=>29111,41008=>29112,41009=>29113,41010=>29114,41011=>29115,41012=>29116,41013=>29117,41014=>29118,41015=>29119,41016=>29120,41017=>29121,41018=>29122,41019=>29123,41020=>29124,41021=>29125,41022=>29126,41023=>29127,41024=>29128,41025=>29129,41026=>29130,41027=>29131,41028=>29132,41029=>29133,41030=>29134,41031=>29135,41032=>29136,41033=>29137,41034=>29138,41035=>29139,41036=>29140,41037=>29141,41038=>29142,41039=>29143,41040=>29144,41041=>29145,41042=>29146,41043=>29147,41044=>29148,41045=>29149,41046=>29150,41047=>29151,41048=>29152,41049=>29153,41050=>29154,41051=>29155,41052=>29156,41053=>29157,41054=>29158,41055=>29159,41056=>29160,41057=>29161,41058=>29162,41059=>29163,41060=>29164,41061=>29165,41062=>29166,41063=>29167,41064=>29168,41065=>29169,41066=>29170,41067=>29171,41068=>29172,41069=>29173,41070=>29174,41071=>29175,41072=>29176,41073=>29177,41074=>29178,41075=>29179,41076=>29180,41077=>29181,41078=>29182,41079=>29183,41080=>29184,41081=>29185,41082=>29186,41083=>29187,41084=>29188,41085=>29189,41086=>29190,41087=>29191,41088=>29192,41089=>29193,41090=>29194,41091=>29195,41092=>29196,41093=>29197,41094=>29198,41095=>29199,41096=>29200,41097=>29201,41098=>29202,41099=>29203,41100=>29204,41101=>29205,41102=>29206,41103=>29207,41104=>29208,41105=>29209,41106=>29210,41107=>29211,41108=>29212,41109=>29213,41110=>29214,41111=>29215,41112=>29216,41113=>29217,41114=>29218,41115=>29219,41116=>29220,41117=>29221,41118=>29222,41119=>29223,41120=>29224,41121=>29225,41122=>29226,41123=>29227,41124=>29228,41125=>29229,41126=>29230,41127=>29231,41128=>29232,41129=>29233,41130=>29234,41131=>29235,41132=>29236,41133=>29237,41134=>29238,41135=>29239,41136=>29240,41137=>29241,41138=>29242,41139=>29243,41140=>29244,41141=>29245,41142=>29246,41143=>29247,41144=>29248,41145=>29249,41146=>29250,41147=>29251,41148=>29252,41149=>29253,41150=>29254,41151=>29255,41152=>29256,41153=>29257,41154=>29258,41155=>29259,41156=>29260,41157=>29261,41158=>29262,41159=>29263,41160=>29264,41161=>29265,41162=>29266,41163=>29267,41164=>29268,41165=>29269,41166=>29270,41167=>29271,41168=>29272,41169=>29273,41170=>29274,41171=>29275,41172=>29276,41173=>29277,41174=>29278,41175=>29279,41176=>29280,41177=>29281,41178=>29282,41179=>29283,41180=>29284,41181=>29285,41182=>29286,41183=>29287,41184=>29288,41185=>29289,41186=>29290,41187=>29291,41188=>29292,41189=>29293,41190=>29294,41191=>29295,41192=>29296,41193=>29297,41194=>29298,41195=>29299,41196=>29300,41197=>29301,41198=>29302,41199=>29303,41200=>29304,41201=>29305,41202=>29306,41203=>29307,41204=>29308,41205=>29309,41206=>29310,41207=>29311,41208=>29312,41209=>29313,41210=>29314,41211=>29315,41212=>29316,41213=>29317,41214=>29318,41215=>29319,41216=>29320,41217=>29321,41218=>29322,41219=>29323,41220=>29324,41221=>29325,41222=>29326,41223=>29327,41224=>29328,41225=>29329,41226=>29330,41227=>29331,41228=>29332,41229=>29333,41230=>29334,41231=>29335,41232=>29336,41233=>29337,41234=>29338,41235=>29339,41236=>29340,41237=>29341,41238=>29342,41239=>29343,41240=>29344,41241=>29345,41242=>29346,41243=>29347,41244=>29348,41245=>29349,41246=>29350,41247=>29351,41248=>29352,41249=>29353,41250=>29354,41251=>29355,41252=>29356,41253=>29357,41254=>29358,41255=>29359,41256=>29360,41257=>29361,41258=>29362,41259=>29363,41260=>29364,41261=>29365,41262=>29366,41263=>29367,41264=>29368,41265=>29369,41266=>29370,41267=>29371,41268=>29372,41269=>29373,41270=>29374,41271=>29375,41272=>29376,41273=>29377,41274=>29378,41275=>29379,41276=>29380,41277=>29381,41278=>29382,41279=>29383,41280=>29384,41281=>29385,41282=>29386,41283=>29387,41284=>29388,41285=>29389,41286=>29390,41287=>29391,41288=>29392,41289=>29393,41290=>29394,41291=>29395,41292=>29396,41293=>29397,41294=>29398,41295=>29399,41296=>29400,41297=>29401,41298=>29402,41299=>29403,41300=>29404,41301=>29405,41302=>29406,41303=>29407,41304=>29408,41305=>29409,41306=>29410,41307=>29411,41308=>29412,41309=>29413,41310=>29414,41311=>29415,41312=>29416,41313=>29417,41314=>29418,41315=>29419,41316=>29420,41317=>29421,41318=>29422,41319=>29423,41320=>29424,41321=>29425,41322=>29426,41323=>29427,41324=>29428,41325=>29429,41326=>29430,41327=>29431,41328=>29432,41329=>29433,41330=>29434,41331=>29435,41332=>29436,41333=>29437,41334=>29438,41335=>29439,41336=>29440,41337=>29441,41338=>29442,41339=>29443,41340=>29444,41341=>29445,41342=>29446,41343=>29447,41344=>29448,41345=>29449,41346=>29450,41347=>29451,41348=>29452,41349=>29453,41350=>29454,41351=>29455,41352=>29456,41353=>29457,41354=>29458,41355=>29459,41356=>29460,41357=>29461,41358=>29462,41359=>29463,41360=>29464,41361=>29465,41362=>29466,41363=>29467,41364=>29468,41365=>29469,41366=>29470,41367=>29471,41368=>29472,41369=>29473,41370=>29474,41371=>29475,41372=>29476,41373=>29477,41374=>29478,41375=>29479,41376=>29480,41377=>29481,41378=>29482,41379=>29483,41380=>29484,41381=>29485,41382=>29486,41383=>29487,41384=>29488,41385=>29489,41386=>29490,41387=>29491,41388=>29492,41389=>29493,41390=>29494,41391=>29495,41392=>29496,41393=>29497,41394=>29498,41395=>29499,41396=>29500,41397=>29501,41398=>29502,41399=>29503,41400=>29504,41401=>29505,41402=>29506,41403=>29507,41404=>29508,41405=>29509,41406=>29510,41407=>29511,41408=>29512,41409=>29513,41410=>29514,41411=>29515,41412=>29516,41413=>29517,41414=>29518,41415=>29519,41416=>29520,41417=>29521,41418=>29522,41419=>29523,41420=>29524,41421=>29525,41422=>29526,41423=>29527,41424=>29528,41425=>29529,41426=>29530,41427=>29531,41428=>29532,41429=>29533,41430=>29534,41431=>29535,41432=>29536,41433=>29537,41434=>29538,41435=>29539,41436=>29540,41437=>29541,41438=>29542,41439=>29543,41440=>29544,41441=>29545,41442=>29546,41443=>29547,41444=>29548,41445=>29549,41446=>29550,41447=>29551,41448=>29552,41449=>29553,41450=>29554,41451=>29555,41452=>29556,41453=>29557,41454=>29558,41455=>29559,41456=>29560,41457=>29561,41458=>29562,41459=>29563,41460=>29564,41461=>29565,41462=>29566,41463=>29567,41464=>29568,41465=>29569,41466=>29570,41467=>29571,41468=>29572,41469=>29573,41470=>29574,41471=>29575,41472=>29576,41473=>29577,41474=>29578,41475=>29579,41476=>29580,41477=>29581,41478=>29582,41479=>29583,41480=>29584,41481=>29585,41482=>29586,41483=>29587,41484=>29588,41485=>29589,41486=>29590,41487=>29591,41488=>29592,41489=>29593,41490=>29594,41491=>29595,41492=>29596,41493=>29597,41494=>29598,41495=>29599,41496=>29600,41497=>29601,41498=>29602,41499=>29603,41500=>29604,41501=>29605,41502=>29606,41503=>29607,41504=>29608,41505=>29609,41506=>29610,41507=>29611,41508=>29612,41509=>29613,41510=>29614,41511=>29615,41512=>29616,41513=>29617,41514=>29618,41515=>29619,41516=>29620,41517=>29621,41518=>29622,41519=>29623,41520=>29624,41521=>29625,41522=>29626,41523=>29627,41524=>29628,41525=>29629,41526=>29630,41527=>29631,41528=>29632,41529=>29633,41530=>29634,41531=>29635,41532=>29636,41533=>29637,41534=>29638,41535=>29639,41536=>29640,41537=>29641,41538=>29642,41539=>29643,41540=>29644,41541=>29645,41542=>29646,41543=>29647,41544=>29648,41545=>29649,41546=>29650,41547=>29651,41548=>29652,41549=>29653,41550=>29654,41551=>29655,41552=>29656,41553=>29657,41554=>29658,41555=>29659,41556=>29660,41557=>29661,41558=>29662,41559=>29663,41560=>29664,41561=>29665,41562=>29666,41563=>29667,41564=>29668,41565=>29669,41566=>29670,41567=>29671,41568=>29672,41569=>29673,41570=>29674,41571=>29675,41572=>29676,41573=>29677,41574=>29678,41575=>29679,41576=>29680,41577=>29681,41578=>29682,41579=>29683,41580=>29684,41581=>29685,41582=>29686,41583=>29687,41584=>29688,41585=>29689,41586=>29690,41587=>29691,41588=>29692,41589=>29693,41590=>29694,41591=>29695,41592=>29696,41593=>29697,41594=>29698,41595=>29699,41596=>29700,41597=>29701,41598=>29702,41599=>29703,41600=>29704,41601=>29705,41602=>29706,41603=>29707,41604=>29708,41605=>29709,41606=>29710,41607=>29711,41608=>29712,41609=>29713,41610=>29714,41611=>29715,41612=>29716,41613=>29717,41614=>29718,41615=>29719,41616=>29720,41617=>29721,41618=>29722,41619=>29723,41620=>29724,41621=>29725,41622=>29726,41623=>29727,41624=>29728,41625=>29729,41626=>29730,41627=>29731,41628=>29732,41629=>29733,41630=>29734,41631=>29735,41632=>29736,41633=>29737,41634=>29738,41635=>29739,41636=>29740,41637=>29741,41638=>29742,41639=>29743,41640=>29744,41641=>29745,41642=>29746,41643=>29747,41644=>29748,41645=>29749,41646=>29750,41647=>29751,41648=>29752,41649=>29753,41650=>29754,41651=>29755,41652=>29756,41653=>29757,41654=>29758,41655=>29759,41656=>29760,41657=>29761,41658=>29762,41659=>29763,41660=>29764,41661=>29765,41662=>29766,41663=>29767,41664=>29768,41665=>29769,41666=>29770,41667=>29771,41668=>29772,41669=>29773,41670=>29774,41671=>29775,41672=>29776,41673=>29777,41674=>29778,41675=>29779,41676=>29780,41677=>29781,41678=>29782,41679=>29783,41680=>29784,41681=>29785,41682=>29786,41683=>29787,41684=>29788,41685=>29789,41686=>29790,41687=>29791,41688=>29792,41689=>29793,41690=>29794,41691=>29795,41692=>29796,41693=>29797,41694=>29798,41695=>29799,41696=>29800,41697=>29801,41698=>29802,41699=>29803,41700=>29804,41701=>29805,41702=>29806,41703=>29807,41704=>29808,41705=>29809,41706=>29810,41707=>29811,41708=>29812,41709=>29813,41710=>29814,41711=>29815,41712=>29816,41713=>29817,41714=>29818,41715=>29819,41716=>29820,41717=>29821,41718=>29822,41719=>29823,41720=>29824,41721=>29825,41722=>29826,41723=>29827,41724=>29828,41725=>29829,41726=>29830,41727=>29831,41728=>29832,41729=>29833,41730=>29834,41731=>29835,41732=>29836,41733=>29837,41734=>29838,41735=>29839,41736=>29840,41737=>29841,41738=>29842,41739=>29843,41740=>29844,41741=>29845,41742=>29846,41743=>29847,41744=>29848,41745=>29849,41746=>29850,41747=>29851,41748=>29852,41749=>29853,41750=>29854,41751=>29855,41752=>29856,41753=>29857,41754=>29858,41755=>29859,41756=>29860,41757=>29861,41758=>29862,41759=>29863,41760=>29864,41761=>29865,41762=>29866,41763=>29867,41764=>29868,41765=>29869,41766=>29870,41767=>29871,41768=>29872,41769=>29873,41770=>29874,41771=>29875,41772=>29876,41773=>29877,41774=>29878,41775=>29879,41776=>29880,41777=>29881,41778=>29882,41779=>29883,41780=>29884,41781=>29885,41782=>29886,41783=>29887,41784=>29888,41785=>29889,41786=>29890,41787=>29891,41788=>29892,41789=>29893,41790=>29894,41791=>29895,41792=>29896,41793=>29897,41794=>29898,41795=>29899,41796=>29900,41797=>29901,41798=>29902,41799=>29903,41800=>29904,41801=>29905,41802=>29906,41803=>29907,41804=>29908,41805=>29909,41806=>29910,41807=>29911,41808=>29912,41809=>29913,41810=>29914,41811=>29915,41812=>29916,41813=>29917,41814=>29918,41815=>29919,41816=>29920,41817=>29921,41818=>29922,41819=>29923,41820=>29924,41821=>29925,41822=>29926,41823=>29927,41824=>29928,41825=>29929,41826=>29930,41827=>29931,41828=>29932,41829=>29933,41830=>29934,41831=>29935,41832=>29936,41833=>29937,41834=>29938,41835=>29939,41836=>29940,41837=>29941,41838=>29942,41839=>29943,41840=>29944,41841=>29945,41842=>29946,41843=>29947,41844=>29948,41845=>29949,41846=>29950,41847=>29951,41848=>29952,41849=>29953,41850=>29954,41851=>29955,41852=>29956,41853=>29957,41854=>29958,41855=>29959,41856=>29960,41857=>29961,41858=>29962,41859=>29963,41860=>29964,41861=>29965,41862=>29966,41863=>29967,41864=>29968,41865=>29969,41866=>29970,41867=>29971,41868=>29972,41869=>29973,41870=>29974,41871=>29975,41872=>29976,41873=>29977,41874=>29978,41875=>29979,41876=>29980,41877=>29981,41878=>29982,41879=>29983,41880=>29984,41881=>29985,41882=>29986,41883=>29987,41884=>29988,41885=>29989,41886=>29990,41887=>29991,41888=>29992,41889=>29993,41890=>29994,41891=>29995,41892=>29996,41893=>29997,41894=>29998,41895=>29999,41896=>30000,41897=>30001,41898=>30002,41899=>30003,41900=>30004,41901=>30005,41902=>30006,41903=>30007,41904=>30008,41905=>30009,41906=>30010,41907=>30011,41908=>30012,41909=>30013,41910=>30014,41911=>30015,41912=>30016,41913=>30017,41914=>30018,41915=>30019,41916=>30020,41917=>30021,41918=>30022,41919=>30023,41920=>30024,41921=>30025,41922=>30026,41923=>30027,41924=>30028,41925=>30029,41926=>30030,41927=>30031,41928=>30032,41929=>30033,41930=>30034,41931=>30035,41932=>30036,41933=>30037,41934=>30038,41935=>30039,41936=>30040,41937=>30041,41938=>30042,41939=>30043,41940=>30044,41941=>30045,41942=>30046,41943=>30047,41944=>30048,41945=>30049,41946=>30050,41947=>30051,41948=>30052,41949=>30053,41950=>30054,41951=>30055,41952=>30056,41953=>30057,41954=>30058,41955=>30059,41956=>30060,41957=>30061,41958=>30062,41959=>30063,41960=>30064,41961=>30065,41962=>30066,41963=>30067,41964=>30068,41965=>30069,41966=>30070,41967=>30071,41968=>30072,41969=>30073,41970=>30074,41971=>30075,41972=>30076,41973=>30077,41974=>30078,41975=>30079,41976=>30080,41977=>30081,41978=>30082,41979=>30083,41980=>30084,41981=>30085,41982=>30086,41983=>30087,41984=>30088,41985=>30089,41986=>30090,41987=>30091,41988=>30092,41989=>30093,41990=>30094,41991=>30095,41992=>30096,41993=>30097,41994=>30098,41995=>30099,41996=>30100,41997=>30101,41998=>30102,41999=>30103,42000=>30104,42001=>30105,42002=>30106,42003=>30107,42004=>30108,42005=>30109,42006=>30110,42007=>30111,42008=>30112,42009=>30113,42010=>30114,42011=>30115,42012=>30116,42013=>30117,42014=>30118,42015=>30119,42016=>30120,42017=>30121,42018=>30122,42019=>30123,42020=>30124,42021=>30125,42022=>30126,42023=>30127,42024=>30128,42025=>30129,42026=>30130,42027=>30131,42028=>30132,42029=>30133,42030=>30134,42031=>30135,42032=>30136,42033=>30137,42034=>30138,42035=>30139,42036=>30140,42037=>30141,42038=>30142,42039=>30143,42040=>30144,42041=>30145,42042=>30146,42043=>30147,42044=>30148,42045=>30149,42046=>30150,42047=>30151,42048=>30152,42049=>30153,42050=>30154,42051=>30155,42052=>30156,42053=>30157,42054=>30158,42055=>30159,42056=>30160,42057=>30161,42058=>30162,42059=>30163,42060=>30164,42061=>30165,42062=>30166,42063=>30167,42064=>30168,42065=>30169,42066=>30170,42067=>30171,42068=>30172,42069=>30173,42070=>30174,42071=>30175,42072=>30176,42073=>30177,42074=>30178,42075=>30179,42076=>30180,42077=>30181,42078=>30182,42079=>30183,42080=>30184,42081=>30185,42082=>30186,42083=>30187,42084=>30188,42085=>30189,42086=>30190,42087=>30191,42088=>30192,42089=>30193,42090=>30194,42091=>30195,42092=>30196,42093=>30197,42094=>30198,42095=>30199,42096=>30200,42097=>30201,42098=>30202,42099=>30203,42100=>30204,42101=>30205,42102=>30206,42103=>30207,42104=>30208,42105=>30209,42106=>30210,42107=>30211,42108=>30212,42109=>30213,42110=>30214,42111=>30215,42112=>30216,42113=>30217,42114=>30218,42115=>30219,42116=>30220,42117=>30221,42118=>30222,42119=>30223,42120=>30224,42121=>30225,42122=>30226,42123=>30227,42124=>30228,42128=>30229,42129=>30230,42130=>30231,42131=>30232,42132=>30233,42133=>30234,42134=>30235,42135=>30236,42136=>30237,42137=>30238,42138=>30239,42139=>30240,42140=>30241,42141=>30242,42142=>30243,42143=>30244,42144=>30245,42145=>30246,42146=>30247,42147=>30248,42148=>30249,42149=>30250,42150=>30251,42151=>30252,42152=>30253,42153=>30254,42154=>30255,42155=>30256,42156=>30257,42157=>30258,42158=>30259,42159=>30260,42160=>30261,42161=>30262,42162=>30263,42163=>30264,42164=>30265,42165=>30266,42166=>30267,42167=>30268,42168=>30269,42169=>30270,42170=>30271,42171=>30272,42172=>30273,42173=>30274,42174=>30275,42175=>30276,42176=>30277,42177=>30278,42178=>30279,42179=>30280,42180=>30281,42181=>30282,42182=>30283); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/uni2cid_aj16.php b/vendor/tecnickcom/tcpdf/fonts/uni2cid_aj16.php new file mode 100644 index 0000000..0c3c148 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/uni2cid_aj16.php @@ -0,0 +1,6 @@ +1,32=>1,33=>2,34=>3,35=>4,36=>5,37=>6,38=>7,39=>8,40=>9,41=>10,42=>11,43=>12,44=>13,8209=>14,45=>14,46=>15,47=>16,48=>17,49=>18,50=>19,51=>20,52=>21,53=>22,54=>23,55=>24,56=>25,57=>26,58=>27,59=>28,60=>29,61=>30,62=>31,63=>32,64=>33,65=>34,66=>35,67=>36,68=>37,69=>38,70=>39,71=>40,72=>41,73=>42,74=>43,75=>44,76=>45,77=>46,78=>47,79=>48,80=>49,81=>50,82=>51,83=>52,84=>53,85=>54,86=>55,87=>56,88=>57,89=>58,90=>59,91=>60,165=>61,93=>62,94=>63,818=>64,95=>64,768=>65,96=>65,97=>66,98=>67,99=>68,100=>69,101=>70,102=>71,103=>72,104=>73,105=>74,106=>75,107=>76,108=>77,109=>78,110=>79,111=>80,112=>81,113=>82,114=>83,115=>84,116=>85,117=>86,118=>87,119=>88,120=>89,121=>90,122=>91,123=>92,166=>93,125=>94,732=>95,771=>95,700=>96,8217=>96,92=>97,699=>98,8216=>98,124=>99,126=>100,8764=>100,161=>101,162=>102,163=>103,8260=>104,402=>105,164=>107,8220=>108,171=>109,8249=>110,8250=>111,64257=>112,64258=>113,8210=>114,8211=>114,183=>117,8729=>117,8226=>119,8218=>120,8222=>121,8221=>122,187=>123,191=>126,769=>127,710=>128,770=>128,175=>129,772=>129,774=>130,775=>131,776=>132,730=>133,778=>133,184=>134,807=>134,779=>135,808=>136,780=>137,822=>138,8212=>138,198=>139,170=>140,321=>141,216=>142,338=>143,186=>144,230=>145,305=>146,322=>147,248=>148,339=>149,223=>150,173=>151,169=>152,172=>153,174=>154,178=>157,179=>158,181=>159,185=>160,188=>161,189=>162,190=>163,192=>164,193=>165,194=>166,195=>167,196=>168,197=>169,199=>170,200=>171,201=>172,202=>173,203=>174,204=>175,205=>176,206=>177,207=>178,208=>179,209=>180,210=>181,211=>182,212=>183,213=>184,214=>185,217=>187,218=>188,219=>189,220=>190,221=>191,222=>192,224=>193,225=>194,226=>195,227=>196,228=>197,229=>198,231=>199,232=>200,233=>201,234=>202,235=>203,236=>204,237=>205,238=>206,239=>207,240=>208,241=>209,242=>210,243=>211,244=>212,245=>213,246=>214,249=>216,250=>217,251=>218,252=>219,253=>220,254=>221,255=>222,352=>223,376=>224,381=>225,773=>226,8254=>226,353=>227,8482=>228,382=>229,8194=>231,65512=>323,65377=>327,65378=>328,65379=>329,65380=>330,65381=>331,65382=>332,65383=>333,65384=>334,65385=>335,65386=>336,65387=>337,65388=>338,65389=>339,65390=>340,65391=>341,65392=>342,65393=>343,65394=>344,65395=>345,65396=>346,65397=>347,65398=>348,65399=>349,65400=>350,65401=>351,65402=>352,65403=>353,65404=>354,65405=>355,65406=>356,65407=>357,65408=>358,65409=>359,65410=>360,65411=>361,65412=>362,65413=>363,65414=>364,65415=>365,65416=>366,65417=>367,65418=>368,65419=>369,65420=>370,65421=>371,65422=>372,65423=>373,65424=>374,65425=>375,65426=>376,65427=>377,65428=>378,65429=>379,65430=>380,65431=>381,65432=>382,65433=>383,65434=>384,65435=>385,65436=>386,65437=>387,65438=>388,65439=>389,8195=>633,12288=>633,12289=>634,12290=>635,65292=>636,65294=>637,12539=>638,65306=>639,65307=>640,65311=>641,65281=>642,12443=>643,12444=>644,180=>645,65344=>646,168=>647,65342=>648,65507=>649,65343=>650,12541=>651,12542=>652,12445=>653,12446=>654,12291=>655,20189=>656,12293=>657,12294=>658,12295=>659,12540=>660,8213=>661,8208=>662,65295=>663,65340=>664,12316=>665,65374=>665,8214=>666,65372=>667,8230=>668,8229=>669,65288=>674,65289=>675,12308=>676,12309=>677,65339=>678,65341=>679,65371=>680,65373=>681,12296=>682,12297=>683,12298=>684,12299=>685,12300=>686,12301=>687,12302=>688,12303=>689,12304=>690,12305=>691,65291=>692,8722=>693,65293=>693,177=>694,215=>695,247=>696,65309=>697,8800=>698,65308=>699,65310=>700,8806=>701,8807=>702,8734=>703,8756=>704,9794=>705,9792=>706,176=>707,8242=>708,8243=>709,8451=>710,65509=>711,65284=>712,65504=>713,65505=>714,65285=>715,65283=>716,65286=>717,65290=>718,65312=>719,167=>720,9734=>721,9733=>722,9675=>723,9679=>724,9678=>725,9671=>726,9670=>727,9633=>728,9632=>729,9651=>730,9650=>731,9661=>732,9660=>733,8251=>734,12306=>735,8594=>736,8592=>737,8593=>738,8595=>739,12307=>740,8712=>741,8715=>742,8838=>743,8839=>744,8834=>745,8835=>746,8746=>747,8745=>748,8743=>749,8744=>750,65506=>751,8658=>752,8660=>753,8704=>754,8707=>755,8736=>756,8869=>757,8978=>758,8706=>759,8711=>760,8801=>761,8786=>762,8810=>763,8811=>764,8730=>765,8765=>766,8733=>767,8757=>768,8747=>769,8748=>770,8491=>771,8240=>772,9839=>773,9837=>774,9834=>775,8224=>776,8225=>777,182=>778,9711=>779,65296=>780,65297=>781,65298=>782,65299=>783,65300=>784,65301=>785,65302=>786,65303=>787,65304=>788,65305=>789,65313=>790,65314=>791,65315=>792,65316=>793,65317=>794,65318=>795,65319=>796,65320=>797,65321=>798,65322=>799,65323=>800,65324=>801,65325=>802,65326=>803,65327=>804,65328=>805,65329=>806,65330=>807,65331=>808,65332=>809,65333=>810,65334=>811,65335=>812,65336=>813,65337=>814,65338=>815,65345=>816,65346=>817,65347=>818,65348=>819,65349=>820,65350=>821,65351=>822,65352=>823,65353=>824,65354=>825,65355=>826,65356=>827,65357=>828,65358=>829,65359=>830,65360=>831,65361=>832,65362=>833,65363=>834,65364=>835,65365=>836,65366=>837,65367=>838,65368=>839,65369=>840,65370=>841,12353=>842,12354=>843,12355=>844,12356=>845,12357=>846,12358=>847,12359=>848,12360=>849,12361=>850,12362=>851,12363=>852,12364=>853,12365=>854,12366=>855,12367=>856,12368=>857,12369=>858,12370=>859,12371=>860,12372=>861,12373=>862,12374=>863,12375=>864,12376=>865,12377=>866,12378=>867,12379=>868,12380=>869,12381=>870,12382=>871,12383=>872,12384=>873,12385=>874,12386=>875,12387=>876,12388=>877,12389=>878,12390=>879,12391=>880,12392=>881,12393=>882,12394=>883,12395=>884,12396=>885,12397=>886,12398=>887,12399=>888,12400=>889,12401=>890,12402=>891,12403=>892,12404=>893,12405=>894,12406=>895,12407=>896,12408=>897,12409=>898,12410=>899,12411=>900,12412=>901,12413=>902,12414=>903,12415=>904,12416=>905,12417=>906,12418=>907,12419=>908,12420=>909,12421=>910,12422=>911,12423=>912,12424=>913,12425=>914,12426=>915,12427=>916,12428=>917,12429=>918,12430=>919,12431=>920,12432=>921,12433=>922,12434=>923,12435=>924,12449=>925,12450=>926,12451=>927,12452=>928,12453=>929,12454=>930,12455=>931,12456=>932,12457=>933,12458=>934,12459=>935,12460=>936,12461=>937,12462=>938,12463=>939,12464=>940,12465=>941,12466=>942,12467=>943,12468=>944,12469=>945,12470=>946,12471=>947,12472=>948,12473=>949,12474=>950,12475=>951,12476=>952,12477=>953,12478=>954,12479=>955,12480=>956,12481=>957,12482=>958,12483=>959,12484=>960,12485=>961,12486=>962,12487=>963,12488=>964,12489=>965,12490=>966,12491=>967,12492=>968,12493=>969,12494=>970,12495=>971,12496=>972,12497=>973,12498=>974,12499=>975,12500=>976,12501=>977,12502=>978,12503=>979,12504=>980,12505=>981,12506=>982,12507=>983,12508=>984,12509=>985,12510=>986,12511=>987,12512=>988,12513=>989,12514=>990,12515=>991,12516=>992,12517=>993,12518=>994,12519=>995,12520=>996,12521=>997,12522=>998,12523=>999,12524=>1000,12525=>1001,12526=>1002,12527=>1003,12528=>1004,12529=>1005,12530=>1006,12531=>1007,12532=>1008,12533=>1009,12534=>1010,913=>1011,914=>1012,915=>1013,916=>1014,917=>1015,918=>1016,919=>1017,920=>1018,921=>1019,922=>1020,923=>1021,924=>1022,925=>1023,926=>1024,927=>1025,928=>1026,929=>1027,931=>1028,932=>1029,933=>1030,934=>1031,935=>1032,936=>1033,937=>1034,945=>1035,946=>1036,947=>1037,948=>1038,949=>1039,950=>1040,951=>1041,952=>1042,953=>1043,954=>1044,955=>1045,956=>1046,957=>1047,958=>1048,959=>1049,960=>1050,961=>1051,963=>1052,964=>1053,965=>1054,966=>1055,967=>1056,968=>1057,969=>1058,1040=>1059,1041=>1060,1042=>1061,1043=>1062,1044=>1063,1045=>1064,1025=>1065,1046=>1066,1047=>1067,1048=>1068,1049=>1069,1050=>1070,1051=>1071,1052=>1072,1053=>1073,1054=>1074,1055=>1075,1056=>1076,1057=>1077,1058=>1078,1059=>1079,1060=>1080,1061=>1081,1062=>1082,1063=>1083,1064=>1084,1065=>1085,1066=>1086,1067=>1087,1068=>1088,1069=>1089,1070=>1090,1071=>1091,1072=>1092,1073=>1093,1074=>1094,1075=>1095,1076=>1096,1077=>1097,1105=>1098,1078=>1099,1079=>1100,1080=>1101,1081=>1102,1082=>1103,1083=>1104,1084=>1105,1085=>1106,1086=>1107,1087=>1108,1088=>1109,1089=>1110,1090=>1111,1091=>1112,1092=>1113,1093=>1114,1094=>1115,1095=>1116,1096=>1117,1097=>1118,1098=>1119,1099=>1120,1100=>1121,1101=>1122,1102=>1123,1103=>1124,20124=>1125,21782=>1126,23043=>1127,38463=>1128,21696=>1129,24859=>1130,25384=>1131,23030=>1132,36898=>1133,33909=>1134,33564=>1135,31312=>1136,24746=>1137,25569=>1138,28197=>1139,26093=>1140,33894=>1141,33446=>1142,39925=>1143,26771=>1144,22311=>1145,26017=>1146,25201=>1147,23451=>1148,22992=>1149,34427=>1150,39156=>1151,32098=>1152,32190=>1153,39822=>1154,25110=>1155,31903=>1156,34999=>1157,23433=>1158,24245=>1159,25353=>1160,26263=>1161,26696=>1162,38343=>1163,38797=>1164,26447=>1165,20197=>1166,20234=>1167,20301=>1168,20381=>1169,20553=>1170,22258=>1171,22839=>1172,22996=>1173,23041=>1174,23561=>1175,24799=>1176,24847=>1177,24944=>1178,26131=>1179,26885=>1180,28858=>1181,30031=>1182,30064=>1183,31227=>1184,32173=>1185,32239=>1186,32963=>1187,33806=>1188,12176=>1189,34915=>1189,35586=>1190,36949=>1191,36986=>1192,21307=>1193,20117=>1194,20133=>1195,22495=>1196,32946=>1197,37057=>1198,30959=>1199,12032=>1200,19968=>1200,22769=>1201,28322=>1202,36920=>1203,31282=>1204,33576=>1205,33419=>1206,39983=>1207,20801=>1208,21360=>1209,21693=>1210,21729=>1211,22240=>1212,23035=>1213,24341=>1214,39154=>1215,28139=>1216,32996=>1217,34093=>1218,38498=>1219,38512=>1220,38560=>1221,38907=>1222,21515=>1223,21491=>1224,23431=>1225,28879=>1226,12155=>1227,32701=>1227,36802=>1228,12204=>1229,38632=>1229,21359=>1230,40284=>1231,31418=>1232,19985=>1233,30867=>1234,12165=>1235,33276=>1235,28198=>1236,22040=>1237,21764=>1238,27421=>1239,34074=>1240,39995=>1241,23013=>1242,21417=>1243,28006=>1244,12128=>1245,29916=>1245,38287=>1246,22082=>1247,20113=>1248,36939=>1249,38642=>1250,33615=>1251,39180=>1252,21473=>1253,21942=>1254,23344=>1255,24433=>1256,26144=>1257,26355=>1258,26628=>1259,27704=>1260,27891=>1261,27945=>1262,29787=>1263,30408=>1264,31310=>1265,38964=>1266,33521=>1267,34907=>1268,35424=>1269,37613=>1270,28082=>1271,30123=>1272,30410=>1273,39365=>1274,24742=>1275,35585=>1276,36234=>1277,38322=>1278,27022=>1279,21421=>1280,20870=>1281,22290=>1282,22576=>1283,22852=>1284,23476=>1285,24310=>1286,24616=>1287,25513=>1288,25588=>1289,27839=>1290,28436=>1291,28814=>1292,28948=>1293,29017=>1294,29141=>1295,29503=>1296,32257=>1297,33398=>1298,33489=>1299,34199=>1300,36960=>1301,37467=>1302,40219=>1303,22633=>1304,26044=>1305,27738=>1306,29989=>1307,20985=>1308,22830=>1309,22885=>1310,24448=>1311,24540=>1312,25276=>1313,26106=>1314,27178=>1315,27431=>1316,27572=>1317,29579=>1318,32705=>1319,35158=>1320,40236=>1321,40206=>1322,12009=>1323,40644=>1323,23713=>1324,27798=>1325,33659=>1326,20740=>1327,23627=>1328,25014=>1329,33222=>1330,26742=>1331,29281=>1332,12036=>1333,20057=>1333,20474=>1334,21368=>1335,24681=>1336,28201=>1337,31311=>1338,12211=>1339,38899=>1339,19979=>1340,21270=>1341,20206=>1342,20309=>1343,20285=>1344,20385=>1345,20339=>1346,21152=>1347,21487=>1348,22025=>1349,22799=>1350,23233=>1351,23478=>1352,23521=>1353,31185=>1354,26247=>1355,26524=>1356,26550=>1357,27468=>1358,27827=>1359,12117=>1360,28779=>1360,29634=>1361,31117=>1362,12146=>1363,31166=>1363,31292=>1364,31623=>1365,33457=>1366,33499=>1367,33540=>1368,33655=>1369,33775=>1370,33747=>1371,34662=>1372,35506=>1373,22057=>1374,36008=>1375,36838=>1376,36942=>1377,38686=>1378,34442=>1379,20420=>1380,23784=>1381,25105=>1382,12123=>1383,29273=>1383,30011=>1384,33253=>1385,33469=>1386,34558=>1387,36032=>1388,38597=>1389,39187=>1390,39381=>1391,20171=>1392,20250=>1393,35299=>1394,22238=>1395,22602=>1396,22730=>1397,24315=>1398,24555=>1399,24618=>1400,24724=>1401,24674=>1402,25040=>1403,25106=>1404,25296=>1405,25913=>1406,39745=>1407,26214=>1408,26800=>1409,28023=>1410,28784=>1411,30028=>1412,30342=>1413,32117=>1414,33445=>1415,34809=>1416,38283=>1417,38542=>1418,12185=>1419,35997=>1419,20977=>1420,21182=>1421,22806=>1422,21683=>1423,23475=>1424,23830=>1425,24936=>1426,27010=>1427,28079=>1428,30861=>1429,33995=>1430,34903=>1431,35442=>1432,37799=>1433,39608=>1434,28012=>1435,39336=>1436,34521=>1437,22435=>1438,26623=>1439,34510=>1440,37390=>1441,21123=>1442,22151=>1443,21508=>1444,24275=>1445,25313=>1446,25785=>1447,26684=>1448,26680=>1449,27579=>1450,29554=>1451,30906=>1452,31339=>1453,35226=>1454,12179=>1455,35282=>1455,36203=>1456,36611=>1457,37101=>1458,38307=>1459,38548=>1460,12208=>1461,38761=>1461,23398=>1462,23731=>1463,27005=>1464,38989=>1465,38990=>1466,25499=>1467,31520=>1468,27179=>1469,27263=>1470,26806=>1471,39949=>1472,28511=>1473,21106=>1474,21917=>1475,24688=>1476,25324=>1477,27963=>1478,28167=>1479,28369=>1480,33883=>1481,35088=>1482,36676=>1483,19988=>1484,39993=>1485,21494=>1486,26907=>1487,27194=>1488,38788=>1489,26666=>1490,20828=>1491,31427=>1492,33970=>1493,37340=>1494,37772=>1495,22107=>1496,40232=>1497,26658=>1498,33541=>1499,33841=>1500,31909=>1501,21000=>1502,33477=>1503,12129=>1504,29926=>1504,20094=>1505,20355=>1506,20896=>1507,23506=>1508,21002=>1509,21208=>1510,21223=>1511,24059=>1512,21914=>1513,22570=>1514,23014=>1515,23436=>1516,23448=>1517,23515=>1518,12082=>1519,24178=>1519,24185=>1520,24739=>1521,24863=>1522,24931=>1523,25022=>1524,25563=>1525,25954=>1526,26577=>1527,26707=>1528,26874=>1529,27454=>1530,27475=>1531,27735=>1532,28450=>1533,28567=>1534,28485=>1535,29872=>1536,12130=>1537,29976=>1537,30435=>1538,30475=>1539,31487=>1540,31649=>1541,31777=>1542,32233=>1543,12152=>1544,32566=>1544,32752=>1545,32925=>1546,33382=>1547,33694=>1548,35251=>1549,35532=>1550,36011=>1551,36996=>1552,37969=>1553,38291=>1554,38289=>1555,38306=>1556,38501=>1557,38867=>1558,39208=>1559,33304=>1560,20024=>1561,21547=>1562,23736=>1563,24012=>1564,29609=>1565,30284=>1566,30524=>1567,23721=>1568,32747=>1569,36107=>1570,38593=>1571,38929=>1572,38996=>1573,39000=>1574,20225=>1575,20238=>1576,21361=>1577,21916=>1578,22120=>1579,22522=>1580,22855=>1581,23305=>1582,23492=>1583,23696=>1584,24076=>1585,24190=>1586,24524=>1587,25582=>1588,26426=>1589,26071=>1590,26082=>1591,26399=>1592,26827=>1593,26820=>1594,27231=>1595,24112=>1596,27589=>1597,27671=>1598,27773=>1599,30079=>1600,31048=>1601,23395=>1602,31232=>1603,32000=>1604,24509=>1605,35215=>1606,35352=>1607,36020=>1608,36215=>1609,36556=>1610,36637=>1611,39138=>1612,39438=>1613,12004=>1614,12225=>1614,39740=>1614,12018=>1615,20096=>1615,20605=>1616,20736=>1617,22931=>1618,23452=>1619,25135=>1620,25216=>1621,25836=>1622,27450=>1623,29344=>1624,30097=>1625,31047=>1626,32681=>1627,34811=>1628,35516=>1629,35696=>1630,25516=>1631,33738=>1632,38816=>1633,21513=>1634,21507=>1635,21931=>1636,26708=>1637,27224=>1638,35440=>1639,30759=>1640,26485=>1641,12233=>1642,40653=>1642,21364=>1643,23458=>1644,33050=>1645,34384=>1646,36870=>1647,19992=>1648,20037=>1649,20167=>1650,20241=>1651,21450=>1652,21560=>1653,23470=>1654,12088=>1655,24339=>1655,24613=>1656,25937=>1657,26429=>1658,27714=>1659,27762=>1660,27875=>1661,28792=>1662,29699=>1663,31350=>1664,31406=>1665,31496=>1666,32026=>1667,31998=>1668,32102=>1669,26087=>1670,12124=>1671,29275=>1671,21435=>1672,23621=>1673,24040=>1674,25298=>1675,25312=>1676,25369=>1677,28192=>1678,34394=>1679,35377=>1680,36317=>1681,37624=>1682,28417=>1683,31142=>1684,12226=>1685,39770=>1685,20136=>1686,20139=>1687,20140=>1688,20379=>1689,20384=>1690,20689=>1691,20807=>1692,31478=>1693,20849=>1694,20982=>1695,21332=>1696,21281=>1697,21375=>1698,21483=>1699,21932=>1700,22659=>1701,23777=>1702,24375=>1703,24394=>1704,24623=>1705,24656=>1706,24685=>1707,25375=>1708,25945=>1709,27211=>1710,27841=>1711,29378=>1712,29421=>1713,30703=>1714,33016=>1715,33029=>1716,33288=>1717,34126=>1718,37111=>1719,37857=>1720,38911=>1721,39255=>1722,39514=>1723,20208=>1724,20957=>1725,23597=>1726,26241=>1727,26989=>1728,23616=>1729,26354=>1730,26997=>1731,12127=>1732,29577=>1732,26704=>1733,31873=>1734,20677=>1735,21220=>1736,22343=>1737,12081=>1738,24062=>1738,37670=>1739,12100=>1740,26020=>1740,27427=>1741,27453=>1742,29748=>1743,31105=>1744,31165=>1745,31563=>1746,32202=>1747,33465=>1748,33740=>1749,34943=>1750,35167=>1751,35641=>1752,36817=>1753,12198=>1754,37329=>1754,21535=>1755,37504=>1756,20061=>1757,20534=>1758,21477=>1759,21306=>1760,29399=>1761,29590=>1762,30697=>1763,33510=>1764,36527=>1765,39366=>1766,39368=>1767,39378=>1768,20855=>1769,24858=>1770,34398=>1771,21936=>1772,31354=>1773,20598=>1774,23507=>1775,36935=>1776,38533=>1777,20018=>1778,27355=>1779,37351=>1780,23633=>1781,23624=>1782,25496=>1783,31391=>1784,27795=>1785,38772=>1786,36705=>1787,31402=>1788,29066=>1789,38536=>1790,31874=>1791,26647=>1792,32368=>1793,26705=>1794,37740=>1795,21234=>1796,21531=>1797,34219=>1798,35347=>1799,32676=>1800,36557=>1801,37089=>1802,21350=>1803,34952=>1804,31041=>1805,20418=>1806,20670=>1807,21009=>1808,20804=>1809,21843=>1810,22317=>1811,29674=>1812,22411=>1813,22865=>1814,24418=>1815,24452=>1816,24693=>1817,24950=>1818,24935=>1819,25001=>1820,25522=>1821,25658=>1822,25964=>1823,26223=>1824,26690=>1825,28179=>1826,30054=>1827,31293=>1828,31995=>1829,32076=>1830,32153=>1831,32331=>1832,32619=>1833,33550=>1834,33610=>1835,34509=>1836,35336=>1837,35427=>1838,35686=>1839,36605=>1840,38938=>1841,40335=>1842,33464=>1843,36814=>1844,39912=>1845,21127=>1846,25119=>1847,25731=>1848,28608=>1849,38553=>1850,26689=>1851,20625=>1852,12107=>1853,27424=>1853,27770=>1854,28500=>1855,12147=>1856,31348=>1856,32080=>1857,12174=>1858,34880=>1858,35363=>1859,12105=>1860,26376=>1860,20214=>1861,20537=>1862,20518=>1863,20581=>1864,20860=>1865,21048=>1866,21091=>1867,21927=>1868,22287=>1869,22533=>1870,23244=>1871,24314=>1872,25010=>1873,25080=>1874,25331=>1875,25458=>1876,26908=>1877,27177=>1878,29309=>1879,12125=>1880,29356=>1880,29486=>1881,30740=>1882,30831=>1883,32121=>1884,30476=>1885,32937=>1886,12178=>1887,35211=>1887,35609=>1888,36066=>1889,36562=>1890,36963=>1891,37749=>1892,38522=>1893,38997=>1894,39443=>1895,40568=>1896,20803=>1897,21407=>1898,21427=>1899,24187=>1900,24358=>1901,28187=>1902,28304=>1903,12126=>1904,29572=>1904,29694=>1905,32067=>1906,33335=>1907,12180=>1908,35328=>1908,35578=>1909,38480=>1910,20046=>1911,20491=>1912,21476=>1913,21628=>1914,22266=>1915,22993=>1916,23396=>1917,12080=>1918,24049=>1918,24235=>1919,24359=>1920,12094=>1921,25144=>1921,25925=>1922,26543=>1923,28246=>1924,29392=>1925,31946=>1926,34996=>1927,32929=>1928,32993=>1929,33776=>1930,11969=>1931,34382=>1931,35463=>1932,36328=>1933,37431=>1934,38599=>1935,39015=>1936,12238=>1937,40723=>1937,20116=>1938,20114=>1939,20237=>1940,21320=>1941,21577=>1942,21566=>1943,23087=>1944,24460=>1945,24481=>1946,24735=>1947,26791=>1948,27278=>1949,29786=>1950,30849=>1951,35486=>1952,35492=>1953,35703=>1954,37264=>1955,20062=>1956,39881=>1957,20132=>1958,20348=>1959,20399=>1960,20505=>1961,20502=>1962,20809=>1963,20844=>1964,21151=>1965,21177=>1966,21246=>1967,21402=>1968,12061=>1969,21475=>1969,21521=>1970,21518=>1971,21897=>1972,22353=>1973,22434=>1974,22909=>1975,23380=>1976,23389=>1977,23439=>1978,12079=>1979,24037=>1979,24039=>1980,24055=>1981,24184=>1982,24195=>1983,24218=>1984,24247=>1985,24344=>1986,24658=>1987,24908=>1988,25239=>1989,25304=>1990,25511=>1991,25915=>1992,26114=>1993,26179=>1994,26356=>1995,26477=>1996,26657=>1997,26775=>1998,27083=>1999,27743=>2000,27946=>2001,28009=>2002,28207=>2003,28317=>2004,30002=>2005,30343=>2006,30828=>2007,31295=>2008,31968=>2009,32005=>2010,32024=>2011,32094=>2012,32177=>2013,32789=>2014,32771=>2015,32943=>2016,32945=>2017,33108=>2018,33167=>2019,33322=>2020,33618=>2021,12175=>2022,34892=>2022,34913=>2023,35611=>2024,36002=>2025,36092=>2026,37066=>2027,37237=>2028,37489=>2029,30783=>2030,37628=>2031,38308=>2032,38477=>2033,38917=>2034,12217=>2035,39321=>2035,12220=>2036,39640=>2036,40251=>2037,21083=>2038,21163=>2039,21495=>2040,21512=>2041,22741=>2042,25335=>2043,28640=>2044,35946=>2045,36703=>2046,40633=>2047,20811=>2048,21051=>2049,21578=>2050,22269=>2051,31296=>2052,37239=>2053,40288=>2054,12234=>2055,40658=>2055,29508=>2056,28425=>2057,33136=>2058,29969=>2059,24573=>2060,24794=>2061,12219=>2062,39592=>2062,29403=>2063,36796=>2064,27492=>2065,38915=>2066,20170=>2067,22256=>2068,22372=>2069,22718=>2070,23130=>2071,24680=>2072,25031=>2073,26127=>2074,26118=>2075,26681=>2076,26801=>2077,28151=>2078,30165=>2079,32058=>2080,12169=>2081,33390=>2081,39746=>2082,20123=>2083,20304=>2084,21449=>2085,21766=>2086,23919=>2087,24038=>2088,24046=>2089,26619=>2090,27801=>2091,29811=>2092,30722=>2093,35408=>2094,37782=>2095,35039=>2096,22352=>2097,24231=>2098,25387=>2099,20661=>2100,20652=>2101,20877=>2102,26368=>2103,21705=>2104,22622=>2105,22971=>2106,23472=>2107,24425=>2108,25165=>2109,25505=>2110,26685=>2111,27507=>2112,28168=>2113,28797=>2114,37319=>2115,29312=>2116,30741=>2117,30758=>2118,31085=>2119,25998=>2120,32048=>2121,33756=>2122,35009=>2123,36617=>2124,38555=>2125,21092=>2126,22312=>2127,26448=>2128,32618=>2129,36001=>2130,20916=>2131,22338=>2132,38442=>2133,22586=>2134,27018=>2135,32948=>2136,21682=>2137,23822=>2138,22524=>2139,30869=>2140,40442=>2141,20316=>2142,21066=>2143,21643=>2144,25662=>2145,26152=>2146,26388=>2147,26613=>2148,31364=>2149,31574=>2150,32034=>2151,37679=>2152,26716=>2153,39853=>2154,31545=>2155,21273=>2156,20874=>2157,21047=>2158,23519=>2159,25334=>2160,25774=>2161,25830=>2162,26413=>2163,27578=>2164,34217=>2165,38609=>2166,30352=>2167,39894=>2168,25420=>2169,37638=>2170,39851=>2171,12139=>2172,30399=>2172,26194=>2173,19977=>2174,20632=>2175,21442=>2176,12077=>2177,23665=>2177,24808=>2178,25746=>2179,25955=>2180,26719=>2181,29158=>2182,29642=>2183,29987=>2184,31639=>2185,32386=>2186,34453=>2187,35715=>2188,36059=>2189,37240=>2190,39184=>2191,26028=>2192,26283=>2193,27531=>2194,20181=>2195,20180=>2196,20282=>2197,20351=>2198,21050=>2199,21496=>2200,21490=>2201,21987=>2202,22235=>2203,12064=>2204,22763=>2204,22987=>2205,22985=>2206,23039=>2207,12070=>2208,23376=>2208,23629=>2209,24066=>2210,24107=>2211,24535=>2212,24605=>2213,25351=>2214,12096=>2215,25903=>2215,23388=>2216,26031=>2217,26045=>2218,26088=>2219,26525=>2220,12108=>2221,27490=>2221,27515=>2222,12114=>2223,27663=>2223,29509=>2224,31049=>2225,31169=>2226,12151=>2227,31992=>2227,32025=>2228,32043=>2229,32930=>2230,33026=>2231,12164=>2232,33267=>2232,35222=>2233,35422=>2234,35433=>2235,35430=>2236,35468=>2237,35566=>2238,36039=>2239,36060=>2240,38604=>2241,39164=>2242,12013=>2243,27503=>2243,20107=>2244,20284=>2245,20365=>2246,20816=>2247,23383=>2248,23546=>2249,24904=>2250,25345=>2251,26178=>2252,27425=>2253,28363=>2254,27835=>2255,29246=>2256,29885=>2257,30164=>2258,30913=>2259,12144=>2260,31034=>2260,12157=>2261,32780=>2261,12159=>2262,32819=>2262,12163=>2263,33258=>2263,33940=>2264,36766=>2265,27728=>2266,12229=>2267,40575=>2267,24335=>2268,35672=>2269,40235=>2270,31482=>2271,36600=>2272,23437=>2273,38635=>2274,19971=>2275,21489=>2276,22519=>2277,22833=>2278,23241=>2279,23460=>2280,24713=>2281,28287=>2282,28422=>2283,30142=>2284,36074=>2285,23455=>2286,34048=>2287,31712=>2288,20594=>2289,26612=>2290,33437=>2291,23649=>2292,34122=>2293,32286=>2294,33294=>2295,20889=>2296,23556=>2297,25448=>2298,36198=>2299,26012=>2300,29038=>2301,31038=>2302,32023=>2303,32773=>2304,35613=>2305,12190=>2306,36554=>2306,36974=>2307,34503=>2308,37034=>2309,20511=>2310,21242=>2311,23610=>2312,26451=>2313,28796=>2314,29237=>2315,37196=>2316,37320=>2317,37675=>2318,33509=>2319,23490=>2320,24369=>2321,24825=>2322,20027=>2323,21462=>2324,23432=>2325,12095=>2326,25163=>2326,26417=>2327,27530=>2328,29417=>2329,29664=>2330,31278=>2331,33131=>2332,36259=>2333,37202=>2334,12216=>2335,39318=>2335,20754=>2336,21463=>2337,21610=>2338,23551=>2339,25480=>2340,27193=>2341,32172=>2342,38656=>2343,22234=>2344,21454=>2345,21608=>2346,23447=>2347,23601=>2348,24030=>2349,20462=>2350,24833=>2351,25342=>2352,27954=>2353,31168=>2354,31179=>2355,32066=>2356,32333=>2357,32722=>2358,33261=>2359,12168=>2360,33311=>2360,33936=>2361,34886=>2362,35186=>2363,35728=>2364,36468=>2365,36655=>2366,36913=>2367,37195=>2368,37228=>2369,38598=>2370,37276=>2371,20160=>2372,20303=>2373,20805=>2374,12055=>2375,21313=>2375,24467=>2376,25102=>2377,26580=>2378,27713=>2379,28171=>2380,29539=>2381,32294=>2382,37325=>2383,37507=>2384,21460=>2385,22809=>2386,23487=>2387,28113=>2388,31069=>2389,32302=>2390,31899=>2391,22654=>2392,29087=>2393,20986=>2394,34899=>2395,36848=>2396,20426=>2397,23803=>2398,26149=>2399,30636=>2400,31459=>2401,33308=>2402,39423=>2403,20934=>2404,24490=>2405,26092=>2406,26991=>2407,27529=>2408,28147=>2409,28310=>2410,28516=>2411,30462=>2412,32020=>2413,24033=>2414,36981=>2415,37255=>2416,38918=>2417,20966=>2418,21021=>2419,25152=>2420,26257=>2421,26329=>2422,28186=>2423,24246=>2424,32210=>2425,32626=>2426,26360=>2427,34223=>2428,34295=>2429,35576=>2430,21161=>2431,21465=>2432,12069=>2433,22899=>2433,24207=>2434,24464=>2435,24661=>2436,37604=>2437,38500=>2438,20663=>2439,20767=>2440,21213=>2441,21280=>2442,21319=>2443,21484=>2444,21736=>2445,21830=>2446,21809=>2447,22039=>2448,22888=>2449,22974=>2450,23100=>2451,23477=>2452,23558=>2453,12073=>2454,23567=>2454,23569=>2455,23578=>2456,24196=>2457,24202=>2458,24288=>2459,24432=>2460,25215=>2461,25220=>2462,25307=>2463,25484=>2464,25463=>2465,26119=>2466,26124=>2467,26157=>2468,26230=>2469,26494=>2470,26786=>2471,27167=>2472,27189=>2473,27836=>2474,28040=>2475,28169=>2476,28248=>2477,28988=>2478,28966=>2479,29031=>2480,30151=>2481,30465=>2482,30813=>2483,30977=>2484,31077=>2485,31216=>2486,31456=>2487,31505=>2488,31911=>2489,32057=>2490,32918=>2491,33750=>2492,33931=>2493,34121=>2494,34909=>2495,35059=>2496,35359=>2497,35388=>2498,35412=>2499,35443=>2500,35937=>2501,36062=>2502,37284=>2503,37478=>2504,37758=>2505,37912=>2506,38556=>2507,38808=>2508,19978=>2509,19976=>2510,19998=>2511,20055=>2512,20887=>2513,21104=>2514,22478=>2515,22580=>2516,22732=>2517,23330=>2518,24120=>2519,24773=>2520,25854=>2521,26465=>2522,26454=>2523,27972=>2524,29366=>2525,30067=>2526,31331=>2527,33976=>2528,35698=>2529,37304=>2530,37664=>2531,22065=>2532,22516=>2533,39166=>2534,25325=>2535,26893=>2536,27542=>2537,29165=>2538,32340=>2539,32887=>2540,12170=>2541,33394=>2541,35302=>2542,12215=>2543,39135=>2543,34645=>2544,36785=>2545,23611=>2546,20280=>2547,20449=>2548,20405=>2549,21767=>2550,23072=>2551,23517=>2552,23529=>2553,12092=>2554,24515=>2554,24910=>2555,25391=>2556,26032=>2557,26187=>2558,26862=>2559,27035=>2560,28024=>2561,28145=>2562,30003=>2563,30137=>2564,30495=>2565,31070=>2566,31206=>2567,32051=>2568,12162=>2569,33251=>2569,33455=>2570,34218=>2571,35242=>2572,35386=>2573,12189=>2574,36523=>2574,12191=>2575,36763=>2575,36914=>2576,37341=>2577,38663=>2578,12040=>2579,20154=>2579,20161=>2580,20995=>2581,22645=>2582,22764=>2583,23563=>2584,29978=>2585,23613=>2586,33102=>2587,35338=>2588,36805=>2589,38499=>2590,38765=>2591,31525=>2592,35535=>2593,38920=>2594,37218=>2595,22259=>2596,21416=>2597,36887=>2598,21561=>2599,22402=>2600,24101=>2601,25512=>2602,12116=>2603,27700=>2603,28810=>2604,30561=>2605,31883=>2606,32736=>2607,34928=>2608,36930=>2609,37204=>2610,37648=>2611,37656=>2612,38543=>2613,29790=>2614,39620=>2615,23815=>2616,23913=>2617,25968=>2618,26530=>2619,36264=>2620,38619=>2621,25454=>2622,26441=>2623,26905=>2624,33733=>2625,38935=>2626,38592=>2627,35070=>2628,28548=>2629,25722=>2630,12072=>2631,23544=>2631,19990=>2632,28716=>2633,30045=>2634,26159=>2635,20932=>2636,21046=>2637,21218=>2638,22995=>2639,24449=>2640,24615=>2641,25104=>2642,25919=>2643,25972=>2644,26143=>2645,26228=>2646,26866=>2647,26646=>2648,27491=>2649,28165=>2650,29298=>2651,12131=>2652,29983=>2652,30427=>2653,31934=>2654,32854=>2655,22768=>2656,35069=>2657,11972=>2658,35199=>2658,35488=>2659,35475=>2660,35531=>2661,36893=>2662,37266=>2663,11992=>2664,38738=>2664,38745=>2665,12011=>2666,25993=>2666,31246=>2667,33030=>2668,38587=>2669,24109=>2670,24796=>2671,25114=>2672,26021=>2673,26132=>2674,26512=>2675,12143=>2676,30707=>2676,31309=>2677,31821=>2678,32318=>2679,33034=>2680,36012=>2681,12186=>2682,36196=>2682,36321=>2683,36447=>2684,30889=>2685,20999=>2686,25305=>2687,25509=>2688,25666=>2689,25240=>2690,35373=>2691,31363=>2692,31680=>2693,35500=>2694,38634=>2695,32118=>2696,12166=>2697,33292=>2697,34633=>2698,20185=>2699,20808=>2700,21315=>2701,21344=>2702,23459=>2703,23554=>2704,23574=>2705,24029=>2706,25126=>2707,25159=>2708,25776=>2709,26643=>2710,26676=>2711,27849=>2712,27973=>2713,27927=>2714,26579=>2715,28508=>2716,29006=>2717,29053=>2718,26059=>2719,31359=>2720,31661=>2721,32218=>2722,32330=>2723,32680=>2724,33146=>2725,12167=>2726,33307=>2726,33337=>2727,34214=>2728,35438=>2729,36046=>2730,36341=>2731,36984=>2732,36983=>2733,37549=>2734,37521=>2735,38275=>2736,39854=>2737,21069=>2738,21892=>2739,28472=>2740,28982=>2741,20840=>2742,31109=>2743,32341=>2744,33203=>2745,31950=>2746,22092=>2747,22609=>2748,23720=>2749,25514=>2750,26366=>2751,26365=>2752,26970=>2753,29401=>2754,30095=>2755,30094=>2756,30990=>2757,31062=>2758,31199=>2759,31895=>2760,32032=>2761,32068=>2762,34311=>2763,35380=>2764,38459=>2765,36961=>2766,12239=>2767,40736=>2767,20711=>2768,21109=>2769,21452=>2770,21474=>2771,20489=>2772,21930=>2773,22766=>2774,22863=>2775,29245=>2776,23435=>2777,23652=>2778,21277=>2779,24803=>2780,24819=>2781,25436=>2782,25475=>2783,25407=>2784,25531=>2785,25805=>2786,26089=>2787,26361=>2788,24035=>2789,27085=>2790,27133=>2791,28437=>2792,29157=>2793,20105=>2794,30185=>2795,30456=>2796,31379=>2797,31967=>2798,32207=>2799,32156=>2800,32865=>2801,33609=>2802,33624=>2803,33900=>2804,33980=>2805,34299=>2806,35013=>2807,12187=>2808,36208=>2808,36865=>2809,36973=>2810,37783=>2811,38684=>2812,39442=>2813,20687=>2814,22679=>2815,24974=>2816,33235=>2817,34101=>2818,36104=>2819,36896=>2820,20419=>2821,20596=>2822,21063=>2823,21363=>2824,24687=>2825,25417=>2826,26463=>2827,28204=>2828,12188=>2829,36275=>2829,36895=>2830,20439=>2831,23646=>2832,36042=>2833,26063=>2834,32154=>2835,21330=>2836,34966=>2837,20854=>2838,25539=>2839,23384=>2840,23403=>2841,23562=>2842,25613=>2843,26449=>2844,36956=>2845,20182=>2846,22810=>2847,22826=>2848,27760=>2849,35409=>2850,21822=>2851,22549=>2852,22949=>2853,24816=>2854,25171=>2855,26561=>2856,33333=>2857,26965=>2858,38464=>2859,39364=>2860,39464=>2861,20307=>2862,22534=>2863,23550=>2864,32784=>2865,23729=>2866,24111=>2867,24453=>2868,24608=>2869,24907=>2870,25140=>2871,26367=>2872,27888=>2873,28382=>2874,32974=>2875,33151=>2876,33492=>2877,34955=>2878,36024=>2879,36864=>2880,36910=>2881,38538=>2882,40667=>2883,39899=>2884,20195=>2885,21488=>2886,12068=>2887,22823=>2887,31532=>2888,37261=>2889,38988=>2890,40441=>2891,28381=>2892,28711=>2893,21331=>2894,21828=>2895,23429=>2896,25176=>2897,25246=>2898,25299=>2899,27810=>2900,28655=>2901,29730=>2902,35351=>2903,37944=>2904,28609=>2905,35582=>2906,33592=>2907,20967=>2908,34552=>2909,21482=>2910,21481=>2911,20294=>2912,36948=>2913,12192=>2914,36784=>2914,22890=>2915,33073=>2916,24061=>2917,31466=>2918,36799=>2919,26842=>2920,12181=>2921,35895=>2921,29432=>2922,40008=>2923,27197=>2924,35504=>2925,20025=>2926,21336=>2927,22022=>2928,22374=>2929,25285=>2930,25506=>2931,26086=>2932,27470=>2933,28129=>2934,28251=>2935,28845=>2936,30701=>2937,31471=>2938,31658=>2939,32187=>2940,32829=>2941,32966=>2942,34507=>2943,35477=>2944,37723=>2945,22243=>2946,22727=>2947,24382=>2948,26029=>2949,26262=>2950,27264=>2951,27573=>2952,30007=>2953,35527=>2954,20516=>2955,30693=>2956,22320=>2957,24347=>2958,24677=>2959,26234=>2960,27744=>2961,30196=>2962,31258=>2963,32622=>2964,33268=>2965,34584=>2966,36933=>2967,39347=>2968,31689=>2969,30044=>2970,12149=>2971,31481=>2971,31569=>2972,33988=>2973,36880=>2974,31209=>2975,31378=>2976,33590=>2977,23265=>2978,30528=>2979,20013=>2980,20210=>2981,23449=>2982,24544=>2983,25277=>2984,26172=>2985,26609=>2986,27880=>2987,12173=>2988,34411=>2988,34935=>2989,35387=>2990,37198=>2991,37619=>2992,39376=>2993,27159=>2994,28710=>2995,29482=>2996,33511=>2997,33879=>2998,36015=>2999,19969=>3000,20806=>3001,20939=>3002,21899=>3003,23541=>3004,24086=>3005,24115=>3006,24193=>3007,24340=>3008,24373=>3009,24427=>3010,24500=>3011,25074=>3012,25361=>3013,26274=>3014,26397=>3015,28526=>3016,29266=>3017,30010=>3018,30522=>3019,32884=>3020,33081=>3021,33144=>3022,34678=>3023,35519=>3024,35548=>3025,36229=>3026,36339=>3027,37530=>3028,11985=>3029,12199=>3029,38263=>3029,38914=>3030,12227=>3031,40165=>3031,21189=>3032,25431=>3033,30452=>3034,26389=>3035,27784=>3036,29645=>3037,36035=>3038,37806=>3039,38515=>3040,27941=>3041,22684=>3042,26894=>3043,27084=>3044,36861=>3045,37786=>3046,30171=>3047,36890=>3048,22618=>3049,26626=>3050,25524=>3051,27131=>3052,20291=>3053,28460=>3054,26584=>3055,36795=>3056,34086=>3057,32180=>3058,37716=>3059,26943=>3060,28528=>3061,22378=>3062,22775=>3063,23340=>3064,32044=>3065,12118=>3066,29226=>3066,21514=>3067,37347=>3068,40372=>3069,20141=>3070,20302=>3071,20572=>3072,20597=>3073,21059=>3074,35998=>3075,21576=>3076,22564=>3077,23450=>3078,24093=>3079,24213=>3080,24237=>3081,24311=>3082,24351=>3083,24716=>3084,25269=>3085,25402=>3086,25552=>3087,26799=>3088,27712=>3089,30855=>3090,31118=>3091,31243=>3092,32224=>3093,33351=>3094,35330=>3095,35558=>3096,36420=>3097,36883=>3098,37048=>3099,37165=>3100,37336=>3101,12237=>3102,40718=>3102,27877=>3103,25688=>3104,25826=>3105,25973=>3106,28404=>3107,30340=>3108,31515=>3109,36969=>3110,37841=>3111,28346=>3112,21746=>3113,24505=>3114,25764=>3115,36685=>3116,36845=>3117,37444=>3118,20856=>3119,22635=>3120,22825=>3121,23637=>3122,24215=>3123,28155=>3124,32399=>3125,29980=>3126,36028=>3127,36578=>3128,39003=>3129,28857=>3130,20253=>3131,27583=>3132,28593=>3133,12133=>3134,30000=>3134,38651=>3135,20814=>3136,21520=>3137,22581=>3138,22615=>3139,22956=>3140,23648=>3141,24466=>3142,12099=>3143,26007=>3143,26460=>3144,28193=>3145,30331=>3146,33759=>3147,36077=>3148,36884=>3149,37117=>3150,37709=>3151,30757=>3152,30778=>3153,21162=>3154,24230=>3155,12063=>3156,22303=>3156,22900=>3157,24594=>3158,20498=>3159,20826=>3160,20908=>3161,20941=>3162,12049=>3163,20992=>3163,21776=>3164,22612=>3165,22616=>3166,22871=>3167,23445=>3168,23798=>3169,23947=>3170,24764=>3171,25237=>3172,25645=>3173,26481=>3174,26691=>3175,26812=>3176,26847=>3177,30423=>3178,28120=>3179,28271=>3180,28059=>3181,28783=>3182,29128=>3183,24403=>3184,30168=>3185,31095=>3186,31561=>3187,31572=>3188,31570=>3189,31958=>3190,32113=>3191,21040=>3192,33891=>3193,34153=>3194,34276=>3195,35342=>3196,35588=>3197,12182=>3198,35910=>3198,36367=>3199,36867=>3200,36879=>3201,37913=>3202,38518=>3203,38957=>3204,39472=>3205,38360=>3206,20685=>3207,21205=>3208,21516=>3209,22530=>3210,23566=>3211,24999=>3212,25758=>3213,27934=>3214,30643=>3215,31461=>3216,33012=>3217,33796=>3218,36947=>3219,37509=>3220,23776=>3221,40199=>3222,21311=>3223,24471=>3224,24499=>3225,28060=>3226,29305=>3227,30563=>3228,31167=>3229,31716=>3230,27602=>3231,29420=>3232,35501=>3233,26627=>3234,27233=>3235,20984=>3236,31361=>3237,26932=>3238,23626=>3239,40182=>3240,33515=>3241,23493=>3242,12195=>3243,37193=>3243,28702=>3244,22136=>3245,23663=>3246,24775=>3247,25958=>3248,27788=>3249,35930=>3250,36929=>3251,38931=>3252,21585=>3253,26311=>3254,37389=>3255,22856=>3256,37027=>3257,20869=>3258,20045=>3259,20970=>3260,34201=>3261,35598=>3262,28760=>3263,25466=>3264,37707=>3265,26978=>3266,39348=>3267,32260=>3268,30071=>3269,21335=>3270,26976=>3271,36575=>3272,38627=>3273,27741=>3274,12038=>3275,20108=>3275,23612=>3276,24336=>3277,36841=>3278,21250=>3279,36049=>3280,12161=>3281,32905=>3281,34425=>3282,24319=>3283,12103=>3284,26085=>3284,20083=>3285,12042=>3286,20837=>3286,22914=>3287,23615=>3288,38894=>3289,20219=>3290,22922=>3291,24525=>3292,35469=>3293,28641=>3294,31152=>3295,31074=>3296,23527=>3297,33905=>3298,29483=>3299,29105=>3300,24180=>3301,24565=>3302,25467=>3303,25754=>3304,29123=>3305,31896=>3306,20035=>3307,24316=>3308,20043=>3309,22492=>3310,22178=>3311,24745=>3312,28611=>3313,32013=>3314,33021=>3315,33075=>3316,33215=>3317,36786=>3318,35223=>3319,34468=>3320,24052=>3321,25226=>3322,25773=>3323,35207=>3324,26487=>3325,27874=>3326,27966=>3327,29750=>3328,30772=>3329,23110=>3330,32629=>3331,33453=>3332,12218=>3333,39340=>3333,20467=>3334,24259=>3335,25309=>3336,25490=>3337,25943=>3338,26479=>3339,30403=>3340,29260=>3341,32972=>3342,32954=>3343,36649=>3344,37197=>3345,20493=>3346,22521=>3347,23186=>3348,26757=>3349,26995=>3350,29028=>3351,29437=>3352,36023=>3353,22770=>3354,36064=>3355,38506=>3356,36889=>3357,34687=>3358,31204=>3359,30695=>3360,33833=>3361,20271=>3362,21093=>3363,21338=>3364,25293=>3365,26575=>3366,27850=>3367,12137=>3368,30333=>3368,31636=>3369,31893=>3370,33334=>3371,34180=>3372,36843=>3373,26333=>3374,28448=>3375,29190=>3376,32283=>3377,33707=>3378,39361=>3379,12008=>3380,40614=>3380,20989=>3381,31665=>3382,30834=>3383,31672=>3384,32903=>3385,31560=>3386,27368=>3387,24161=>3388,32908=>3389,30033=>3390,30048=>3391,12043=>3392,20843=>3392,37474=>3393,28300=>3394,30330=>3395,37271=>3396,39658=>3397,20240=>3398,32624=>3399,25244=>3400,31567=>3401,38309=>3402,40169=>3403,22138=>3404,22617=>3405,34532=>3406,38588=>3407,20276=>3408,21028=>3409,21322=>3410,21453=>3411,21467=>3412,24070=>3413,25644=>3414,26001=>3415,26495=>3416,27710=>3417,27726=>3418,29256=>3419,29359=>3420,29677=>3421,30036=>3422,32321=>3423,33324=>3424,34281=>3425,36009=>3426,31684=>3427,12196=>3428,37318=>3428,29033=>3429,38930=>3430,39151=>3431,25405=>3432,26217=>3433,30058=>3434,30436=>3435,30928=>3436,34115=>3437,34542=>3438,21290=>3439,21329=>3440,21542=>3441,22915=>3442,24199=>3443,24444=>3444,24754=>3445,25161=>3446,25209=>3447,25259=>3448,26000=>3449,12112=>3450,27604=>3450,27852=>3451,30130=>3452,12138=>3453,30382=>3453,30865=>3454,31192=>3455,32203=>3456,32631=>3457,32933=>3458,34987=>3459,35513=>3460,36027=>3461,36991=>3462,12206=>3463,38750=>3463,12214=>3464,39131=>3464,27147=>3465,31800=>3466,20633=>3467,23614=>3468,24494=>3469,26503=>3470,27608=>3471,29749=>3472,30473=>3473,32654=>3474,12240=>3475,40763=>3475,26570=>3476,31255=>3477,21305=>3478,12134=>3479,30091=>3479,39661=>3480,24422=>3481,33181=>3482,33777=>3483,32920=>3484,24380=>3485,24517=>3486,30050=>3487,31558=>3488,36924=>3489,26727=>3490,23019=>3491,23195=>3492,32016=>3493,30334=>3494,35628=>3495,20469=>3496,24426=>3497,27161=>3498,27703=>3499,28418=>3500,29922=>3501,31080=>3502,34920=>3503,35413=>3504,35961=>3505,24287=>3506,25551=>3507,30149=>3508,31186=>3509,33495=>3510,37672=>3511,37618=>3512,33948=>3513,34541=>3514,39981=>3515,21697=>3516,24428=>3517,25996=>3518,27996=>3519,28693=>3520,36007=>3521,36051=>3522,38971=>3523,25935=>3524,29942=>3525,19981=>3526,20184=>3527,22496=>3528,22827=>3529,23142=>3530,23500=>3531,20904=>3532,24067=>3533,24220=>3534,24598=>3535,25206=>3536,25975=>3537,26023=>3538,26222=>3539,28014=>3540,12119=>3541,29238=>3541,31526=>3542,33104=>3543,33178=>3544,33433=>3545,35676=>3546,36000=>3547,36070=>3548,36212=>3549,12201=>3550,38428=>3550,38468=>3551,20398=>3552,25771=>3553,27494=>3554,33310=>3555,33889=>3556,34154=>3557,37096=>3558,23553=>3559,26963=>3560,12213=>3561,39080=>3561,33914=>3562,34135=>3563,20239=>3564,21103=>3565,24489=>3566,24133=>3567,26381=>3568,31119=>3569,33145=>3570,35079=>3571,35206=>3572,28149=>3573,24343=>3574,25173=>3575,27832=>3576,20175=>3577,29289=>3578,39826=>3579,20998=>3580,21563=>3581,22132=>3582,22707=>3583,24996=>3584,25198=>3585,28954=>3586,22894=>3587,31881=>3588,31966=>3589,32027=>3590,38640=>3591,12098=>3592,25991=>3592,32862=>3593,19993=>3594,20341=>3595,20853=>3596,22592=>3597,24163=>3598,24179=>3599,24330=>3600,26564=>3601,20006=>3602,34109=>3603,38281=>3604,38491=>3605,12150=>3606,31859=>3606,12212=>3607,38913=>3607,20731=>3608,22721=>3609,30294=>3610,30887=>3611,21029=>3612,30629=>3613,34065=>3614,31622=>3615,20559=>3616,22793=>3617,12122=>3618,29255=>3618,31687=>3619,32232=>3620,36794=>3621,36820=>3622,36941=>3623,20415=>3624,21193=>3625,23081=>3626,24321=>3627,38829=>3628,20445=>3629,33303=>3630,37610=>3631,22275=>3632,25429=>3633,27497=>3634,29995=>3635,35036=>3636,36628=>3637,31298=>3638,21215=>3639,22675=>3640,24917=>3641,25098=>3642,26286=>3643,11935=>3644,27597=>3644,31807=>3645,33769=>3646,20515=>3647,20472=>3648,21253=>3649,21574=>3650,22577=>3651,22857=>3652,23453=>3653,23792=>3654,23791=>3655,23849=>3656,24214=>3657,25265=>3658,25447=>3659,25918=>3660,12101=>3661,26041=>3661,26379=>3662,27861=>3663,27873=>3664,28921=>3665,30770=>3666,32299=>3667,32990=>3668,33459=>3669,33804=>3670,34028=>3671,34562=>3672,35090=>3673,35370=>3674,35914=>3675,37030=>3676,37586=>3677,39165=>3678,40179=>3679,40300=>3680,20047=>3681,20129=>3682,20621=>3683,21078=>3684,22346=>3685,22952=>3686,24125=>3687,24536=>3688,24537=>3689,25151=>3690,26292=>3691,26395=>3692,26576=>3693,26834=>3694,20882=>3695,32033=>3696,32938=>3697,33192=>3698,35584=>3699,35980=>3700,36031=>3701,37502=>3702,38450=>3703,21536=>3704,38956=>3705,21271=>3706,20693=>3707,12056=>3708,21340=>3708,22696=>3709,25778=>3710,26420=>3711,29287=>3712,30566=>3713,31302=>3714,37350=>3715,21187=>3716,27809=>3717,27526=>3718,22528=>3719,24140=>3720,22868=>3721,26412=>3722,32763=>3723,20961=>3724,30406=>3725,25705=>3726,30952=>3727,39764=>3728,12231=>3729,40635=>3729,22475=>3730,22969=>3731,26151=>3732,26522=>3733,27598=>3734,21737=>3735,27097=>3736,24149=>3737,33180=>3738,26517=>3739,39850=>3740,26622=>3741,40018=>3742,26717=>3743,20134=>3744,20451=>3745,12060=>3746,21448=>3746,25273=>3747,26411=>3748,27819=>3749,36804=>3750,20397=>3751,32365=>3752,40639=>3753,19975=>3754,24930=>3755,28288=>3756,28459=>3757,34067=>3758,21619=>3759,26410=>3760,39749=>3761,11922=>3762,24051=>3762,31637=>3763,23724=>3764,23494=>3765,34588=>3766,28234=>3767,34001=>3768,31252=>3769,33032=>3770,22937=>3771,31885=>3772,11936=>3773,27665=>3773,30496=>3774,21209=>3775,22818=>3776,28961=>3777,29279=>3778,12141=>3779,30683=>3779,38695=>3780,40289=>3781,26891=>3782,23167=>3783,23064=>3784,20901=>3785,21517=>3786,21629=>3787,26126=>3788,30431=>3789,36855=>3790,37528=>3791,40180=>3792,23018=>3793,29277=>3794,28357=>3795,20813=>3796,26825=>3797,32191=>3798,32236=>3799,12207=>3800,38754=>3800,40634=>3801,25720=>3802,27169=>3803,33538=>3804,22916=>3805,23391=>3806,12113=>3807,27611=>3807,29467=>3808,30450=>3809,32178=>3810,32791=>3811,33945=>3812,20786=>3813,12106=>3814,26408=>3814,40665=>3815,12140=>3816,30446=>3816,26466=>3817,21247=>3818,39173=>3819,23588=>3820,25147=>3821,31870=>3822,36016=>3823,21839=>3824,24758=>3825,32011=>3826,12200=>3827,38272=>3827,21249=>3828,20063=>3829,20918=>3830,22812=>3831,29242=>3832,32822=>3833,37326=>3834,24357=>3835,12142=>3836,30690=>3836,21380=>3837,24441=>3838,32004=>3839,34220=>3840,35379=>3841,36493=>3842,38742=>3843,26611=>3844,34222=>3845,37971=>3846,24841=>3847,24840=>3848,27833=>3849,30290=>3850,35565=>3851,36664=>3852,21807=>3853,20305=>3854,20778=>3855,21191=>3856,21451=>3857,23461=>3858,24189=>3859,24736=>3860,24962=>3861,25558=>3862,26377=>3863,26586=>3864,28263=>3865,28044=>3866,29494=>3867,29495=>3868,30001=>3869,31056=>3870,35029=>3871,35480=>3872,36938=>3873,12194=>3874,37009=>3874,37109=>3875,38596=>3876,34701=>3877,12067=>3878,22805=>3878,20104=>3879,20313=>3880,19982=>3881,35465=>3882,36671=>3883,38928=>3884,20653=>3885,24188=>3886,22934=>3887,23481=>3888,24248=>3889,25562=>3890,25594=>3891,25793=>3892,26332=>3893,26954=>3894,27096=>3895,27915=>3896,28342=>3897,29076=>3898,12132=>3899,29992=>3899,31407=>3900,12154=>3901,32650=>3901,32768=>3902,33865=>3903,33993=>3904,35201=>3905,35617=>3906,36362=>3907,36965=>3908,38525=>3909,39178=>3910,24958=>3911,25233=>3912,27442=>3913,27779=>3914,28020=>3915,32716=>3916,32764=>3917,28096=>3918,32645=>3919,34746=>3920,35064=>3921,26469=>3922,33713=>3923,38972=>3924,38647=>3925,27931=>3926,32097=>3927,33853=>3928,37226=>3929,20081=>3930,21365=>3931,23888=>3932,27396=>3933,28651=>3934,34253=>3935,34349=>3936,35239=>3937,21033=>3938,21519=>3939,23653=>3940,26446=>3941,26792=>3942,29702=>3943,29827=>3944,30178=>3945,35023=>3946,35041=>3947,12197=>3948,37324=>3948,38626=>3949,38520=>3950,24459=>3951,29575=>3952,12148=>3953,31435=>3953,33870=>3954,25504=>3955,30053=>3956,21129=>3957,27969=>3958,28316=>3959,29705=>3960,30041=>3961,30827=>3962,31890=>3963,38534=>3964,12015=>3965,31452=>3965,12243=>3966,40845=>3966,20406=>3967,24942=>3968,26053=>3969,34396=>3970,20102=>3971,20142=>3972,20698=>3973,20001=>3974,20940=>3975,23534=>3976,26009=>3977,26753=>3978,28092=>3979,29471=>3980,30274=>3981,30637=>3982,31260=>3983,31975=>3984,33391=>3985,35538=>3986,36988=>3987,37327=>3988,38517=>3989,38936=>3990,12050=>3991,21147=>3991,32209=>3992,20523=>3993,21400=>3994,26519=>3995,28107=>3996,29136=>3997,29747=>3998,33256=>3999,36650=>4000,38563=>4001,40023=>4002,40607=>4003,29792=>4004,22593=>4005,28057=>4006,32047=>4007,39006=>4008,20196=>4009,20278=>4010,20363=>4011,20919=>4012,21169=>4013,23994=>4014,24604=>4015,29618=>4016,31036=>4017,33491=>4018,37428=>4019,38583=>4020,38646=>4021,38666=>4022,40599=>4023,40802=>4024,26278=>4025,27508=>4026,21015=>4027,21155=>4028,28872=>4029,35010=>4030,24265=>4031,24651=>4032,24976=>4033,28451=>4034,29001=>4035,31806=>4036,32244=>4037,32879=>4038,34030=>4039,36899=>4040,37676=>4041,21570=>4042,39791=>4043,27347=>4044,28809=>4045,36034=>4046,36335=>4047,38706=>4048,21172=>4049,23105=>4050,24266=>4051,24324=>4052,26391=>4053,27004=>4054,27028=>4055,28010=>4056,28431=>4057,29282=>4058,29436=>4059,31725=>4060,12156=>4061,32769=>4061,32894=>4062,34635=>4063,37070=>4064,20845=>4065,40595=>4066,31108=>4067,32907=>4068,37682=>4069,35542=>4070,20525=>4071,21644=>4072,35441=>4073,27498=>4074,36036=>4075,33031=>4076,24785=>4077,26528=>4078,40434=>4079,20121=>4080,20120=>4081,39952=>4082,35435=>4083,34241=>4084,34152=>4085,26880=>4086,28286=>4087,30871=>4088,33109=>4089,24332=>4090,19984=>4091,19989=>4092,20010=>4093,20017=>4094,12034=>4095,20022=>4095,20028=>4096,12035=>4097,20031=>4097,20034=>4098,20054=>4099,20056=>4100,20098=>4101,12037=>4102,20101=>4102,35947=>4103,20106=>4104,33298=>4105,24333=>4106,20110=>4107,20126=>4108,20127=>4109,12039=>4110,20128=>4110,20130=>4111,20144=>4112,20147=>4113,20150=>4114,20174=>4115,20173=>4116,20164=>4117,20166=>4118,20162=>4119,20183=>4120,20190=>4121,20205=>4122,20191=>4123,20215=>4124,20233=>4125,20314=>4126,20272=>4127,20315=>4128,20317=>4129,20311=>4130,20295=>4131,20342=>4132,20360=>4133,20367=>4134,20376=>4135,20347=>4136,20329=>4137,20336=>4138,20369=>4139,20335=>4140,20358=>4141,20374=>4142,20760=>4143,20436=>4144,20447=>4145,20430=>4146,20440=>4147,20443=>4148,20433=>4149,20442=>4150,20432=>4151,20452=>4152,20453=>4153,20506=>4154,20520=>4155,20500=>4156,20522=>4157,20517=>4158,20485=>4159,20252=>4160,20470=>4161,20513=>4162,20521=>4163,20524=>4164,20478=>4165,20463=>4166,20497=>4167,20486=>4168,20547=>4169,20551=>4170,26371=>4171,20565=>4172,20560=>4173,20552=>4174,20570=>4175,20566=>4176,20588=>4177,20600=>4178,20608=>4179,20634=>4180,20613=>4181,20660=>4182,20658=>4183,20681=>4184,20682=>4185,20659=>4186,20674=>4187,20694=>4188,20702=>4189,20709=>4190,20717=>4191,20707=>4192,20718=>4193,20729=>4194,20725=>4195,20745=>4196,20737=>4197,20738=>4198,20758=>4199,20757=>4200,20756=>4201,20762=>4202,20769=>4203,20794=>4204,20791=>4205,20796=>4206,20795=>4207,12041=>4208,20799=>4208,11918=>4209,20800=>4209,20818=>4210,20812=>4211,20820=>4212,20834=>4213,31480=>4214,20841=>4215,20842=>4216,20846=>4217,20864=>4218,12044=>4219,20866=>4219,22232=>4220,20876=>4221,20873=>4222,20879=>4223,20881=>4224,20883=>4225,20885=>4226,12045=>4227,20886=>4227,20900=>4228,20902=>4229,20898=>4230,20905=>4231,20906=>4232,12046=>4233,20907=>4233,20915=>4234,20913=>4235,20914=>4236,20912=>4237,20917=>4238,20925=>4239,20933=>4240,20937=>4241,20955=>4242,12047=>4243,20960=>4243,34389=>4244,20969=>4245,20973=>4246,20976=>4247,12048=>4248,20981=>4248,20990=>4249,20996=>4250,21003=>4251,21012=>4252,21006=>4253,21031=>4254,21034=>4255,21038=>4256,21043=>4257,21049=>4258,21071=>4259,21060=>4260,21067=>4261,21068=>4262,21086=>4263,21076=>4264,21098=>4265,21108=>4266,21097=>4267,21107=>4268,21119=>4269,21117=>4270,21133=>4271,21140=>4272,21138=>4273,21105=>4274,21128=>4275,21137=>4276,36776=>4277,36775=>4278,21164=>4279,21165=>4280,21180=>4281,21173=>4282,21185=>4283,21197=>4284,21207=>4285,21214=>4286,21219=>4287,21222=>4288,39149=>4289,21216=>4290,21235=>4291,21237=>4292,21240=>4293,12051=>4294,21241=>4294,21254=>4295,21256=>4296,30008=>4297,21261=>4298,21264=>4299,21263=>4300,21269=>4301,12052=>4301,21274=>4302,12053=>4302,21283=>4303,21295=>4304,21297=>4305,21299=>4306,12054=>4307,21304=>4307,21312=>4308,21318=>4309,21317=>4310,19991=>4311,21321=>4312,21325=>4313,20950=>4314,21342=>4315,12057=>4316,21353=>4316,21358=>4317,22808=>4318,21371=>4319,21367=>4320,12058=>4321,21378=>4321,21398=>4322,21408=>4323,21414=>4324,21413=>4325,21422=>4326,21424=>4327,12059=>4328,21430=>4328,21443=>4329,31762=>4330,38617=>4331,21471=>4332,26364=>4333,29166=>4334,21486=>4335,21480=>4336,21485=>4337,21498=>4338,21505=>4339,21565=>4340,21568=>4341,21548=>4342,21549=>4343,21564=>4344,21550=>4345,21558=>4346,21545=>4347,21533=>4348,21582=>4349,21647=>4350,21621=>4351,21646=>4352,21599=>4353,21617=>4354,21623=>4355,21616=>4356,21650=>4357,21627=>4358,21632=>4359,21622=>4360,21636=>4361,21648=>4362,21638=>4363,21703=>4364,21666=>4365,21688=>4366,21669=>4367,21676=>4368,21700=>4369,21704=>4370,21672=>4371,21675=>4372,21698=>4373,21668=>4374,21694=>4375,21692=>4376,21720=>4377,21733=>4378,21734=>4379,21775=>4380,21780=>4381,21757=>4382,21742=>4383,21741=>4384,21754=>4385,21730=>4386,21817=>4387,21824=>4388,21859=>4389,21836=>4390,21806=>4391,21852=>4392,21829=>4393,21846=>4394,21847=>4395,21816=>4396,21811=>4397,21853=>4398,21913=>4399,21888=>4400,21679=>4401,21898=>4402,21919=>4403,21883=>4404,21886=>4405,21912=>4406,21918=>4407,21934=>4408,21884=>4409,21891=>4410,21929=>4411,21895=>4412,21928=>4413,21978=>4414,21957=>4415,21983=>4416,21956=>4417,21980=>4418,21988=>4419,21972=>4420,22036=>4421,22007=>4422,22038=>4423,22014=>4424,22013=>4425,22043=>4426,22009=>4427,22094=>4428,22096=>4429,29151=>4430,22068=>4431,22070=>4432,22066=>4433,22072=>4434,22123=>4435,22116=>4436,22063=>4437,22124=>4438,22122=>4439,22150=>4440,22144=>4441,22154=>4442,22176=>4443,22164=>4444,22159=>4445,22181=>4446,22190=>4447,22198=>4448,22196=>4449,22210=>4450,22204=>4451,22209=>4452,22211=>4453,22208=>4454,22216=>4455,22222=>4456,22225=>4457,22227=>4458,12062=>4459,22231=>4459,22254=>4460,22265=>4461,22272=>4462,22271=>4463,22276=>4464,22281=>4465,22280=>4466,22283=>4467,22285=>4468,22291=>4469,22296=>4470,22294=>4471,21959=>4472,22300=>4473,22310=>4474,22327=>4475,22328=>4476,22350=>4477,22331=>4478,22336=>4479,22351=>4480,22377=>4481,22464=>4482,22408=>4483,22369=>4484,22399=>4485,22409=>4486,22419=>4487,22432=>4488,22451=>4489,22436=>4490,22442=>4491,22448=>4492,22467=>4493,22470=>4494,22484=>4495,22482=>4496,22483=>4497,22538=>4498,22486=>4499,22499=>4500,22539=>4501,22553=>4502,22557=>4503,22642=>4504,22561=>4505,22626=>4506,22603=>4507,22640=>4508,27584=>4509,22610=>4510,22589=>4511,22649=>4512,22661=>4513,22713=>4514,22687=>4515,22699=>4516,22714=>4517,22750=>4518,22715=>4519,22712=>4520,22702=>4521,22725=>4522,22739=>4523,22737=>4524,22743=>4525,22745=>4526,22744=>4527,22757=>4528,22748=>4529,22756=>4530,22751=>4531,22767=>4532,22778=>4533,22777=>4534,22779=>4535,22780=>4536,22781=>4537,22786=>4538,12065=>4538,22794=>4539,12066=>4539,22800=>4540,22811=>4541,26790=>4542,22821=>4543,22828=>4544,22829=>4545,22834=>4546,22840=>4547,22846=>4548,31442=>4549,22869=>4550,22864=>4551,22862=>4552,22874=>4553,22872=>4554,22882=>4555,22880=>4556,22887=>4557,22892=>4558,22889=>4559,22904=>4560,22913=>4561,22941=>4562,20318=>4563,20395=>4564,22947=>4565,22962=>4566,22982=>4567,23016=>4568,23004=>4569,22925=>4570,23001=>4571,23002=>4572,23077=>4573,23071=>4574,23057=>4575,23068=>4576,23049=>4577,23066=>4578,23104=>4579,23148=>4580,23113=>4581,23093=>4582,23094=>4583,23138=>4584,23146=>4585,23194=>4586,23228=>4587,23230=>4588,23243=>4589,23234=>4590,23229=>4591,23267=>4592,23255=>4593,23270=>4594,23273=>4595,23254=>4596,23290=>4597,23291=>4598,23308=>4599,23307=>4600,23318=>4601,23346=>4602,23248=>4603,23338=>4604,23350=>4605,23358=>4606,23363=>4607,23365=>4608,23360=>4609,23377=>4610,23381=>4611,23386=>4612,23387=>4613,23397=>4614,23401=>4615,23408=>4616,23411=>4617,23413=>4618,23416=>4619,25992=>4620,23418=>4621,12071=>4622,23424=>4622,23427=>4623,23462=>4624,23480=>4625,23491=>4626,23495=>4627,23497=>4628,23508=>4629,23504=>4630,23524=>4631,23526=>4632,23522=>4633,23518=>4634,23525=>4635,23531=>4636,23536=>4637,23542=>4638,23539=>4639,23557=>4640,23559=>4641,23560=>4642,23565=>4643,23571=>4644,23584=>4645,11920=>4646,12074=>4646,23586=>4646,23592=>4647,12075=>4648,23608=>4648,23609=>4649,23617=>4650,23622=>4651,23630=>4652,23635=>4653,23632=>4654,23631=>4655,23409=>4656,23660=>4657,12076=>4658,23662=>4658,20066=>4659,23670=>4660,23673=>4661,23692=>4662,23697=>4663,23700=>4664,22939=>4665,23723=>4666,23739=>4667,23734=>4668,23740=>4669,23735=>4670,23749=>4671,23742=>4672,23751=>4673,23769=>4674,23785=>4675,23805=>4676,23802=>4677,23789=>4678,23948=>4679,23786=>4680,23819=>4681,23829=>4682,23831=>4683,23900=>4684,23839=>4685,23835=>4686,23825=>4687,23828=>4688,23842=>4689,23834=>4690,23833=>4691,23832=>4692,23884=>4693,23890=>4694,23886=>4695,23883=>4696,23916=>4697,23923=>4698,23926=>4699,23943=>4700,23940=>4701,23938=>4702,23970=>4703,23965=>4704,23980=>4705,23982=>4706,23997=>4707,23952=>4708,23991=>4709,23996=>4710,24009=>4711,24013=>4712,24019=>4713,24018=>4714,24022=>4715,12078=>4716,24027=>4716,24043=>4717,24050=>4718,24053=>4719,24075=>4720,24090=>4721,24089=>4722,24081=>4723,24091=>4724,24118=>4725,24119=>4726,24132=>4727,24131=>4728,24128=>4729,24142=>4730,24151=>4731,24148=>4732,24159=>4733,24162=>4734,24164=>4735,24135=>4736,24181=>4737,24182=>4738,11923=>4739,12083=>4739,24186=>4739,40636=>4740,12084=>4741,24191=>4741,24224=>4742,24257=>4743,24258=>4744,24264=>4745,24272=>4746,24271=>4747,24278=>4748,24291=>4749,24285=>4750,24282=>4751,24283=>4752,24290=>4753,24289=>4754,24296=>4755,24297=>4756,24300=>4757,24305=>4758,24307=>4759,24304=>4760,12085=>4761,24308=>4761,24312=>4762,12086=>4763,24318=>4763,24323=>4764,24329=>4765,24413=>4766,24412=>4767,12087=>4768,24331=>4768,24337=>4769,24342=>4770,24361=>4771,24365=>4772,24376=>4773,24385=>4774,24392=>4775,24396=>4776,24398=>4777,24367=>4778,11924=>4779,24401=>4779,24406=>4780,24407=>4781,24409=>4782,12090=>4783,24417=>4783,24429=>4784,12091=>4785,24435=>4785,24439=>4786,24451=>4787,24450=>4788,24447=>4789,24458=>4790,24456=>4791,24465=>4792,24455=>4793,24478=>4794,24473=>4795,24472=>4796,24480=>4797,24488=>4798,24493=>4799,24508=>4800,24534=>4801,24571=>4802,24548=>4803,24568=>4804,24561=>4805,24541=>4806,24755=>4807,24575=>4808,24609=>4809,24672=>4810,24601=>4811,24592=>4812,24617=>4813,24590=>4814,24625=>4815,24603=>4816,24597=>4817,24619=>4818,24614=>4819,24591=>4820,24634=>4821,24666=>4822,24641=>4823,24682=>4824,24695=>4825,24671=>4826,24650=>4827,24646=>4828,24653=>4829,24675=>4830,24643=>4831,24676=>4832,24642=>4833,24684=>4834,24683=>4835,24665=>4836,24705=>4837,24717=>4838,24807=>4839,24707=>4840,24730=>4841,24708=>4842,24731=>4843,24726=>4844,24727=>4845,24722=>4846,24743=>4847,24715=>4848,24801=>4849,24760=>4850,24800=>4851,24787=>4852,24756=>4853,24560=>4854,24765=>4855,24774=>4856,24757=>4857,24792=>4858,24909=>4859,24853=>4860,24838=>4861,24822=>4862,24823=>4863,24832=>4864,24820=>4865,24826=>4866,24835=>4867,24865=>4868,24827=>4869,24817=>4870,24845=>4871,24846=>4872,24903=>4873,24894=>4874,24872=>4875,24871=>4876,24906=>4877,24895=>4878,24892=>4879,24876=>4880,24884=>4881,24893=>4882,24898=>4883,24900=>4884,24947=>4885,24951=>4886,24920=>4887,24921=>4888,24922=>4889,24939=>4890,24948=>4891,24943=>4892,24933=>4893,24945=>4894,24927=>4895,24925=>4896,24915=>4897,24949=>4898,24985=>4899,24982=>4900,24967=>4901,25004=>4902,24980=>4903,24986=>4904,24970=>4905,24977=>4906,25003=>4907,25006=>4908,25036=>4909,25034=>4910,25033=>4911,25079=>4912,25032=>4913,25027=>4914,25030=>4915,25018=>4916,25035=>4917,32633=>4918,25037=>4919,25062=>4920,25059=>4921,25078=>4922,25082=>4923,25076=>4924,25087=>4925,25085=>4926,25084=>4927,25086=>4928,25088=>4929,12093=>4930,25096=>4930,25097=>4931,25101=>4932,25100=>4933,25108=>4934,25115=>4935,25118=>4936,25121=>4937,25130=>4938,25134=>4939,25136=>4940,25138=>4941,25139=>4942,25153=>4943,25166=>4944,25182=>4945,25187=>4946,25179=>4947,25184=>4948,25192=>4949,25212=>4950,25218=>4951,25225=>4952,25214=>4953,25234=>4954,25235=>4955,25238=>4956,25300=>4957,25219=>4958,25236=>4959,25303=>4960,25297=>4961,25275=>4962,25295=>4963,25343=>4964,25286=>4965,25812=>4966,25288=>4967,25308=>4968,25292=>4969,25290=>4970,25282=>4971,25287=>4972,25243=>4973,25289=>4974,25356=>4975,25326=>4976,25329=>4977,25383=>4978,25346=>4979,25352=>4980,25327=>4981,25333=>4982,25424=>4983,25406=>4984,25421=>4985,25628=>4986,25423=>4987,25494=>4988,25486=>4989,25472=>4990,25515=>4991,25462=>4992,25507=>4993,25487=>4994,25481=>4995,25503=>4996,25525=>4997,25451=>4998,25449=>4999,25534=>5000,25577=>5001,25536=>5002,25542=>5003,25571=>5004,25545=>5005,25554=>5006,25590=>5007,25540=>5008,25622=>5009,25652=>5010,25606=>5011,25619=>5012,25638=>5013,25654=>5014,25885=>5015,25623=>5016,25640=>5017,25615=>5018,25703=>5019,25711=>5020,25718=>5021,25678=>5022,25898=>5023,25749=>5024,25747=>5025,25765=>5026,25769=>5027,25736=>5028,25788=>5029,25818=>5030,25810=>5031,25797=>5032,25799=>5033,25787=>5034,25816=>5035,25794=>5036,25841=>5037,25831=>5038,33289=>5039,25824=>5040,25825=>5041,25260=>5042,25827=>5043,25839=>5044,25900=>5045,25846=>5046,25844=>5047,25842=>5048,25850=>5049,25856=>5050,25853=>5051,25880=>5052,25884=>5053,25861=>5054,25892=>5055,25891=>5056,25899=>5057,12097=>5058,25908=>5058,11929=>5059,25909=>5059,25911=>5060,25910=>5061,25912=>5062,30027=>5063,25928=>5064,25942=>5065,25941=>5066,25933=>5067,25944=>5068,25950=>5069,25949=>5070,25970=>5071,25976=>5072,25986=>5073,25987=>5074,35722=>5075,26011=>5076,26015=>5077,26027=>5078,26039=>5079,26051=>5080,26054=>5081,26049=>5082,26052=>5083,26060=>5084,26066=>5085,26075=>5086,26073=>5087,12102=>5088,26080=>5088,11931=>5089,26081=>5089,26097=>5090,26482=>5091,26122=>5092,26115=>5093,26107=>5094,26483=>5095,26165=>5096,26166=>5097,26164=>5098,26140=>5099,26191=>5100,26180=>5101,26185=>5102,26177=>5103,26206=>5104,26205=>5105,26212=>5106,26215=>5107,26216=>5108,26207=>5109,26210=>5110,26224=>5111,26243=>5112,26248=>5113,26254=>5114,26249=>5115,26244=>5116,26264=>5117,26269=>5118,26305=>5119,26297=>5120,26313=>5121,26302=>5122,26300=>5123,26308=>5124,26296=>5125,26326=>5126,26330=>5127,26336=>5128,26175=>5129,26342=>5130,26345=>5131,12104=>5132,26352=>5132,26357=>5133,26359=>5134,26383=>5135,26390=>5136,26398=>5137,26406=>5138,26407=>5139,38712=>5140,26414=>5141,26431=>5142,26422=>5143,26433=>5144,26424=>5145,26423=>5146,26438=>5147,26462=>5148,26464=>5149,26457=>5150,26467=>5151,26468=>5152,26505=>5153,26480=>5154,26537=>5155,26492=>5156,26474=>5157,26508=>5158,26507=>5159,26534=>5160,26529=>5161,26501=>5162,26551=>5163,26607=>5164,26548=>5165,26604=>5166,26547=>5167,26601=>5168,26552=>5169,26596=>5170,26590=>5171,26589=>5172,26594=>5173,26606=>5174,26553=>5175,26574=>5176,26566=>5177,26599=>5178,27292=>5179,26654=>5180,26694=>5181,26665=>5182,26688=>5183,26701=>5184,26674=>5185,26702=>5186,26803=>5187,26667=>5188,26713=>5189,26723=>5190,26743=>5191,26751=>5192,26783=>5193,26767=>5194,26797=>5195,26772=>5196,26781=>5197,26779=>5198,26755=>5199,27310=>5200,26809=>5201,26740=>5202,26805=>5203,26784=>5204,26810=>5205,26895=>5206,26765=>5207,26750=>5208,26881=>5209,26826=>5210,26888=>5211,26840=>5212,26914=>5213,26918=>5214,26849=>5215,26892=>5216,26829=>5217,26836=>5218,26855=>5219,26837=>5220,26934=>5221,26898=>5222,26884=>5223,26839=>5224,26851=>5225,26917=>5226,26873=>5227,26848=>5228,26863=>5229,26920=>5230,26922=>5231,26906=>5232,26915=>5233,26913=>5234,26822=>5235,27001=>5236,26999=>5237,26972=>5238,27000=>5239,26987=>5240,26964=>5241,27006=>5242,26990=>5243,26937=>5244,26996=>5245,26941=>5246,26969=>5247,26928=>5248,26977=>5249,26974=>5250,26973=>5251,27009=>5252,26986=>5253,27058=>5254,27054=>5255,27088=>5256,27071=>5257,27073=>5258,27091=>5259,27070=>5260,27086=>5261,23528=>5262,27082=>5263,27101=>5264,27067=>5265,27075=>5266,27047=>5267,27182=>5268,27025=>5269,27040=>5270,27036=>5271,27029=>5272,27060=>5273,27102=>5274,27112=>5275,27138=>5276,27163=>5277,27135=>5278,27402=>5279,27129=>5280,27122=>5281,27111=>5282,27141=>5283,27057=>5284,27166=>5285,27117=>5286,27156=>5287,27115=>5288,27146=>5289,27154=>5290,27329=>5291,27171=>5292,27155=>5293,27204=>5294,27148=>5295,27250=>5296,27190=>5297,27256=>5298,27207=>5299,27234=>5300,27225=>5301,27238=>5302,27208=>5303,27192=>5304,27170=>5305,27280=>5306,27277=>5307,27296=>5308,27268=>5309,27298=>5310,27299=>5311,27287=>5312,34327=>5313,27323=>5314,27331=>5315,27330=>5316,27320=>5317,27315=>5318,27308=>5319,27358=>5320,27345=>5321,27359=>5322,27306=>5323,27354=>5324,27370=>5325,27387=>5326,27397=>5327,34326=>5328,27386=>5329,27410=>5330,27414=>5331,39729=>5332,27423=>5333,27448=>5334,27447=>5335,30428=>5336,27449=>5337,39150=>5338,27463=>5339,27459=>5340,27465=>5341,27472=>5342,27481=>5343,27476=>5344,27483=>5345,27487=>5346,27489=>5347,27512=>5348,12109=>5349,27513=>5349,27519=>5350,27520=>5351,27524=>5352,27523=>5353,27533=>5354,27544=>5355,27541=>5356,27550=>5357,27556=>5358,27562=>5359,27563=>5360,27567=>5361,27570=>5362,27569=>5363,12110=>5364,27571=>5364,27575=>5365,27580=>5366,27590=>5367,12111=>5368,27595=>5368,27603=>5369,27615=>5370,27628=>5371,27627=>5372,27635=>5373,27631=>5374,40638=>5375,27656=>5376,27667=>5377,12115=>5378,27668=>5378,27675=>5379,27684=>5380,27683=>5381,27742=>5382,27733=>5383,27746=>5384,27754=>5385,27778=>5386,27789=>5387,27802=>5388,27777=>5389,27803=>5390,27774=>5391,27752=>5392,27763=>5393,27794=>5394,27792=>5395,27844=>5396,27889=>5397,27859=>5398,27837=>5399,27863=>5400,27845=>5401,27869=>5402,27822=>5403,27825=>5404,27838=>5405,27834=>5406,27867=>5407,27887=>5408,27865=>5409,27882=>5410,27935=>5411,34893=>5412,27958=>5413,27947=>5414,27965=>5415,27960=>5416,27929=>5417,27957=>5418,27955=>5419,27922=>5420,27916=>5421,28003=>5422,28051=>5423,28004=>5424,27994=>5425,28025=>5426,27993=>5427,28046=>5428,28053=>5429,28644=>5430,28037=>5431,28153=>5432,28181=>5433,28170=>5434,28085=>5435,28103=>5436,28134=>5437,28088=>5438,28102=>5439,28140=>5440,28126=>5441,28108=>5442,28136=>5443,28114=>5444,28101=>5445,28154=>5446,28121=>5447,28132=>5448,28117=>5449,28138=>5450,28142=>5451,28205=>5452,28270=>5453,28206=>5454,28185=>5455,28274=>5456,28255=>5457,28222=>5458,28195=>5459,28267=>5460,28203=>5461,28278=>5462,28237=>5463,28191=>5464,28227=>5465,28218=>5466,28238=>5467,28196=>5468,28415=>5469,28189=>5470,28216=>5471,28290=>5472,28330=>5473,28312=>5474,28361=>5475,28343=>5476,28371=>5477,28349=>5478,28335=>5479,28356=>5480,28338=>5481,28372=>5482,28373=>5483,28303=>5484,28325=>5485,28354=>5486,28319=>5487,28481=>5488,28433=>5489,28748=>5490,28396=>5491,28408=>5492,28414=>5493,28479=>5494,28402=>5495,28465=>5496,28399=>5497,28466=>5498,28364=>5499,28478=>5500,28435=>5501,28407=>5502,28550=>5503,28538=>5504,28536=>5505,28545=>5506,28544=>5507,28527=>5508,28507=>5509,28659=>5510,28525=>5511,28546=>5512,28540=>5513,28504=>5514,28558=>5515,28561=>5516,28610=>5517,28518=>5518,28595=>5519,28579=>5520,28577=>5521,28580=>5522,28601=>5523,28614=>5524,28586=>5525,28639=>5526,28629=>5527,28652=>5528,28628=>5529,28632=>5530,28657=>5531,28654=>5532,28635=>5533,28681=>5534,28683=>5535,28666=>5536,28689=>5537,28673=>5538,28687=>5539,28670=>5540,28699=>5541,28698=>5542,28532=>5543,28701=>5544,28696=>5545,28703=>5546,28720=>5547,28734=>5548,28722=>5549,28753=>5550,28771=>5551,28825=>5552,28818=>5553,28847=>5554,28913=>5555,28844=>5556,28856=>5557,28851=>5558,28846=>5559,28895=>5560,28875=>5561,28893=>5562,28889=>5563,28937=>5564,28925=>5565,28956=>5566,28953=>5567,29029=>5568,29013=>5569,29064=>5570,29030=>5571,29026=>5572,29004=>5573,29014=>5574,29036=>5575,29071=>5576,29179=>5577,29060=>5578,29077=>5579,29096=>5580,29100=>5581,29143=>5582,29113=>5583,29118=>5584,29138=>5585,29129=>5586,29140=>5587,29134=>5588,29152=>5589,29164=>5590,29159=>5591,29173=>5592,29180=>5593,29177=>5594,29183=>5595,29197=>5596,29200=>5597,29211=>5598,29224=>5599,29229=>5600,29228=>5601,29232=>5602,29234=>5603,12120=>5604,29243=>5604,29244=>5605,12121=>5606,29247=>5606,29248=>5607,29254=>5608,29259=>5609,29272=>5610,29300=>5611,29310=>5612,29314=>5613,29313=>5614,29319=>5615,29330=>5616,29334=>5617,29346=>5618,29351=>5619,29369=>5620,29362=>5621,29379=>5622,29382=>5623,29380=>5624,29390=>5625,29394=>5626,29410=>5627,29408=>5628,29409=>5629,29433=>5630,29431=>5631,20495=>5632,29463=>5633,29450=>5634,29468=>5635,29462=>5636,29469=>5637,29492=>5638,29487=>5639,29481=>5640,29477=>5641,29502=>5642,29518=>5643,29519=>5644,40664=>5645,29527=>5646,29546=>5647,29544=>5648,29552=>5649,29560=>5650,29557=>5651,29563=>5652,29562=>5653,29640=>5654,29619=>5655,29646=>5656,29627=>5657,29632=>5658,29669=>5659,29678=>5660,29662=>5661,29858=>5662,29701=>5663,29807=>5664,29733=>5665,29688=>5666,29746=>5667,29754=>5668,29781=>5669,29759=>5670,29791=>5671,29785=>5672,29761=>5673,29788=>5674,29801=>5675,29808=>5676,29795=>5677,29802=>5678,29814=>5679,29822=>5680,29835=>5681,29854=>5682,29863=>5683,29898=>5684,29903=>5685,29908=>5686,29681=>5687,29920=>5688,29923=>5689,29927=>5690,29929=>5691,29934=>5692,29938=>5693,29936=>5694,29937=>5695,29944=>5696,29943=>5697,29956=>5698,29955=>5699,29957=>5700,29964=>5701,29966=>5702,29965=>5703,29973=>5704,29971=>5705,29982=>5706,29990=>5707,29996=>5708,30012=>5709,30020=>5710,30029=>5711,30026=>5712,30025=>5713,30043=>5714,30022=>5715,30042=>5716,30057=>5717,30052=>5718,30055=>5719,30059=>5720,30061=>5721,30072=>5722,30070=>5723,30086=>5724,30087=>5725,30068=>5726,30090=>5727,30089=>5728,30082=>5729,30100=>5730,30106=>5731,30109=>5732,30117=>5733,30115=>5734,30146=>5735,30131=>5736,30147=>5737,30133=>5738,30141=>5739,30136=>5740,30140=>5741,30129=>5742,30157=>5743,30154=>5744,30162=>5745,30169=>5746,30179=>5747,30174=>5748,30206=>5749,30207=>5750,30204=>5751,30209=>5752,30192=>5753,30202=>5754,30194=>5755,30195=>5756,30219=>5757,30221=>5758,30217=>5759,30239=>5760,30247=>5761,30240=>5762,30241=>5763,30242=>5764,30244=>5765,30260=>5766,30256=>5767,30267=>5768,30279=>5769,30280=>5770,30278=>5771,30300=>5772,30296=>5773,30305=>5774,30306=>5775,30312=>5776,30313=>5777,30314=>5778,30311=>5779,30316=>5780,30320=>5781,30322=>5782,12136=>5783,30326=>5783,30328=>5784,30332=>5785,30336=>5786,30339=>5787,30344=>5788,30347=>5789,30350=>5790,30358=>5791,30355=>5792,30361=>5793,30362=>5794,30384=>5795,30388=>5796,30392=>5797,30393=>5798,30394=>5799,30402=>5800,30413=>5801,30422=>5802,30418=>5803,30430=>5804,30433=>5805,30437=>5806,30439=>5807,30442=>5808,34351=>5809,30459=>5810,30472=>5811,30471=>5812,30468=>5813,30505=>5814,30500=>5815,30494=>5816,30501=>5817,30502=>5818,30491=>5819,30519=>5820,30520=>5821,30535=>5822,30554=>5823,30568=>5824,30571=>5825,30555=>5826,30565=>5827,30591=>5828,30590=>5829,30585=>5830,30606=>5831,30603=>5832,30609=>5833,30624=>5834,30622=>5835,30640=>5836,30646=>5837,30649=>5838,30655=>5839,30652=>5840,30653=>5841,30651=>5842,30663=>5843,30669=>5844,30679=>5845,30682=>5846,30684=>5847,30691=>5848,30702=>5849,30716=>5850,30732=>5851,30738=>5852,31014=>5853,30752=>5854,31018=>5855,30789=>5856,30862=>5857,30836=>5858,30854=>5859,30844=>5860,30874=>5861,30860=>5862,30883=>5863,30901=>5864,30890=>5865,30895=>5866,30929=>5867,30918=>5868,30923=>5869,30932=>5870,30910=>5871,30908=>5872,30917=>5873,30922=>5874,30956=>5875,30951=>5876,30938=>5877,30973=>5878,30964=>5879,30983=>5880,30994=>5881,30993=>5882,31001=>5883,31020=>5884,31019=>5885,31040=>5886,31072=>5887,31063=>5888,31071=>5889,31066=>5890,31061=>5891,31059=>5892,31098=>5893,31103=>5894,31114=>5895,31133=>5896,31143=>5897,40779=>5898,31146=>5899,31150=>5900,31155=>5901,31161=>5902,31162=>5903,31177=>5904,31189=>5905,31207=>5906,31212=>5907,31201=>5908,31203=>5909,31240=>5910,31245=>5911,31256=>5912,31257=>5913,31264=>5914,31263=>5915,31104=>5916,31281=>5917,31291=>5918,31294=>5919,31287=>5920,31299=>5921,31319=>5922,31305=>5923,31329=>5924,31330=>5925,31337=>5926,40861=>5927,31344=>5928,31353=>5929,31357=>5930,31368=>5931,31383=>5932,31381=>5933,31384=>5934,31382=>5935,31401=>5936,31432=>5937,31408=>5938,31414=>5939,31429=>5940,31428=>5941,31423=>5942,36995=>5943,31431=>5944,31434=>5945,31437=>5946,31439=>5947,31445=>5948,31443=>5949,31449=>5950,31450=>5951,31453=>5952,31457=>5953,31458=>5954,31462=>5955,31469=>5956,31472=>5957,31490=>5958,31503=>5959,31498=>5960,31494=>5961,31539=>5962,31512=>5963,31513=>5964,31518=>5965,31541=>5966,31528=>5967,31542=>5968,31568=>5969,31610=>5970,31492=>5971,31565=>5972,31499=>5973,31564=>5974,31557=>5975,31605=>5976,31589=>5977,31604=>5978,31591=>5979,31600=>5980,31601=>5981,31596=>5982,31598=>5983,31645=>5984,31640=>5985,31647=>5986,31629=>5987,31644=>5988,31642=>5989,31627=>5990,31634=>5991,31631=>5992,31581=>5993,31641=>5994,31691=>5995,31681=>5996,31692=>5997,31695=>5998,31668=>5999,31686=>6000,31709=>6001,31721=>6002,31761=>6003,31764=>6004,31718=>6005,31717=>6006,31840=>6007,31744=>6008,31751=>6009,31763=>6010,31731=>6011,31735=>6012,31767=>6013,31757=>6014,31734=>6015,31779=>6016,31783=>6017,31786=>6018,31775=>6019,31799=>6020,31787=>6021,31805=>6022,31820=>6023,31811=>6024,31828=>6025,31823=>6026,31808=>6027,31824=>6028,31832=>6029,31839=>6030,31844=>6031,31830=>6032,31845=>6033,31852=>6034,31861=>6035,31875=>6036,31888=>6037,31908=>6038,31917=>6039,31906=>6040,31915=>6041,31905=>6042,31912=>6043,31923=>6044,31922=>6045,31921=>6046,31918=>6047,31929=>6048,31933=>6049,31936=>6050,31941=>6051,31938=>6052,31960=>6053,31954=>6054,31964=>6055,31970=>6056,39739=>6057,31983=>6058,31986=>6059,31988=>6060,31990=>6061,31994=>6062,32006=>6063,32002=>6064,32028=>6065,32021=>6066,32010=>6067,32069=>6068,32075=>6069,32046=>6070,32050=>6071,32063=>6072,32053=>6073,32070=>6074,32115=>6075,32086=>6076,32078=>6077,32114=>6078,32104=>6079,32110=>6080,32079=>6081,32099=>6082,32147=>6083,32137=>6084,32091=>6085,32143=>6086,32125=>6087,32155=>6088,32186=>6089,32174=>6090,32163=>6091,32181=>6092,32199=>6093,32189=>6094,32171=>6095,32317=>6096,32162=>6097,32175=>6098,32220=>6099,32184=>6100,32159=>6101,32176=>6102,32216=>6103,32221=>6104,32228=>6105,32222=>6106,32251=>6107,32242=>6108,32225=>6109,32261=>6110,32266=>6111,32291=>6112,32289=>6113,32274=>6114,32305=>6115,32287=>6116,32265=>6117,32267=>6118,32290=>6119,32326=>6120,32358=>6121,32315=>6122,32309=>6123,32313=>6124,32323=>6125,32311=>6126,32306=>6127,32314=>6128,32359=>6129,32349=>6130,32342=>6131,32350=>6132,32345=>6133,32346=>6134,32377=>6135,32362=>6136,32361=>6137,32380=>6138,32379=>6139,32387=>6140,32213=>6141,32381=>6142,36782=>6143,32383=>6144,32392=>6145,32393=>6146,32396=>6147,32402=>6148,32400=>6149,32403=>6150,32404=>6151,32406=>6152,32398=>6153,32411=>6154,32412=>6155,32568=>6156,32570=>6157,32581=>6158,32588=>6159,32589=>6160,32590=>6161,32592=>6162,12153=>6163,32593=>6163,32597=>6164,32596=>6165,32600=>6166,32607=>6167,32608=>6168,32616=>6169,32617=>6170,32615=>6171,32632=>6172,32642=>6173,32646=>6174,32643=>6175,32648=>6176,32647=>6177,32652=>6178,32660=>6179,32670=>6180,32669=>6181,32666=>6182,32675=>6183,32687=>6184,32690=>6185,32697=>6186,32686=>6187,32694=>6188,32696=>6189,35697=>6190,32709=>6191,32710=>6192,32714=>6193,32725=>6194,32724=>6195,32737=>6196,32742=>6197,32745=>6198,32755=>6199,32761=>6200,39132=>6201,32774=>6202,32772=>6203,32779=>6204,12158=>6205,32786=>6205,32792=>6206,32793=>6207,32796=>6208,32801=>6209,32808=>6210,32831=>6211,32827=>6212,32842=>6213,32838=>6214,32850=>6215,32856=>6216,32858=>6217,32863=>6218,32866=>6219,32872=>6220,32883=>6221,32882=>6222,32880=>6223,32886=>6224,32889=>6225,32893=>6226,12160=>6227,32895=>6227,32900=>6228,32902=>6229,32901=>6230,32923=>6231,32915=>6232,32922=>6233,32941=>6234,20880=>6235,32940=>6236,32987=>6237,32997=>6238,32985=>6239,32989=>6240,32964=>6241,32986=>6242,32982=>6243,33033=>6244,33007=>6245,33009=>6246,33051=>6247,33065=>6248,33059=>6249,33071=>6250,33099=>6251,38539=>6252,33094=>6253,33086=>6254,33107=>6255,33105=>6256,33020=>6257,33137=>6258,33134=>6259,33125=>6260,33126=>6261,33140=>6262,33155=>6263,33160=>6264,33162=>6265,33152=>6266,33154=>6267,33184=>6268,33173=>6269,33188=>6270,33187=>6271,33119=>6272,33171=>6273,33193=>6274,33200=>6275,33205=>6276,33214=>6277,33208=>6278,33213=>6279,33216=>6280,33218=>6281,33210=>6282,33225=>6283,33229=>6284,33233=>6285,33241=>6286,33240=>6287,33224=>6288,33242=>6289,33247=>6290,33248=>6291,33255=>6292,33274=>6293,33275=>6294,33278=>6295,33281=>6296,33282=>6297,33285=>6298,33287=>6299,33290=>6300,33293=>6301,33296=>6302,33302=>6303,33321=>6304,33323=>6305,33336=>6306,33331=>6307,33344=>6308,33369=>6309,33368=>6310,33373=>6311,33370=>6312,33375=>6313,33380=>6314,33378=>6315,33384=>6316,33386=>6317,33387=>6318,33326=>6319,33393=>6320,33399=>6321,12171=>6322,33400=>6322,33406=>6323,33421=>6324,33426=>6325,33451=>6326,33439=>6327,33467=>6328,33452=>6329,33505=>6330,33507=>6331,33503=>6332,33490=>6333,33524=>6334,33523=>6335,33530=>6336,33683=>6337,33539=>6338,33531=>6339,33529=>6340,33502=>6341,33542=>6342,33500=>6343,33545=>6344,33497=>6345,33589=>6346,33588=>6347,33558=>6348,33586=>6349,33585=>6350,33600=>6351,33593=>6352,33616=>6353,33605=>6354,33583=>6355,33579=>6356,33559=>6357,33560=>6358,33669=>6359,33690=>6360,33706=>6361,33695=>6362,33698=>6363,33686=>6364,33571=>6365,33678=>6366,33671=>6367,33674=>6368,33660=>6369,33717=>6370,33651=>6371,33653=>6372,33696=>6373,33673=>6374,33704=>6375,33780=>6376,33811=>6377,33771=>6378,33742=>6379,33789=>6380,33795=>6381,33752=>6382,33803=>6383,33729=>6384,33783=>6385,33799=>6386,33760=>6387,33778=>6388,33805=>6389,33826=>6390,33824=>6391,33725=>6392,33848=>6393,34054=>6394,33787=>6395,33901=>6396,33834=>6397,33852=>6398,34138=>6399,33924=>6400,33911=>6401,33899=>6402,33965=>6403,33902=>6404,33922=>6405,33897=>6406,33862=>6407,33836=>6408,33903=>6409,33913=>6410,33845=>6411,33994=>6412,33890=>6413,33977=>6414,33983=>6415,33951=>6416,34009=>6417,33997=>6418,33979=>6419,34010=>6420,34000=>6421,33985=>6422,33990=>6423,34006=>6424,33953=>6425,34081=>6426,34047=>6427,34036=>6428,34071=>6429,34072=>6430,34092=>6431,34079=>6432,34069=>6433,34068=>6434,34044=>6435,34112=>6436,34147=>6437,34136=>6438,34120=>6439,34113=>6440,34306=>6441,34123=>6442,34133=>6443,34176=>6444,34212=>6445,34184=>6446,34193=>6447,34186=>6448,34216=>6449,34157=>6450,34196=>6451,34203=>6452,34282=>6453,34183=>6454,34204=>6455,34167=>6456,34174=>6457,34192=>6458,34249=>6459,34234=>6460,34255=>6461,34233=>6462,34256=>6463,34261=>6464,34269=>6465,34277=>6466,34268=>6467,34297=>6468,34314=>6469,34323=>6470,34315=>6471,34302=>6472,34298=>6473,34310=>6474,34338=>6475,34330=>6476,34352=>6477,34367=>6478,12172=>6479,34381=>6479,20053=>6480,34388=>6481,34399=>6482,34407=>6483,34417=>6484,34451=>6485,34467=>6486,34473=>6487,34474=>6488,34443=>6489,34444=>6490,34486=>6491,34479=>6492,34500=>6493,34502=>6494,34480=>6495,34505=>6496,34851=>6497,34475=>6498,34516=>6499,34526=>6500,34537=>6501,34540=>6502,34527=>6503,34523=>6504,34543=>6505,34578=>6506,34566=>6507,34568=>6508,34560=>6509,34563=>6510,34555=>6511,34577=>6512,34569=>6513,34573=>6514,34553=>6515,34570=>6516,34612=>6517,34623=>6518,34615=>6519,34619=>6520,34597=>6521,34601=>6522,34586=>6523,34656=>6524,34655=>6525,34680=>6526,34636=>6527,34638=>6528,34676=>6529,34647=>6530,34664=>6531,34670=>6532,34649=>6533,34643=>6534,34659=>6535,34666=>6536,34821=>6537,34722=>6538,34719=>6539,34690=>6540,34735=>6541,34763=>6542,34749=>6543,34752=>6544,34768=>6545,38614=>6546,34731=>6547,34756=>6548,34739=>6549,34759=>6550,34758=>6551,34747=>6552,34799=>6553,34802=>6554,34784=>6555,34831=>6556,34829=>6557,34814=>6558,34806=>6559,34807=>6560,34830=>6561,34770=>6562,34833=>6563,34838=>6564,34837=>6565,34850=>6566,34849=>6567,34865=>6568,34870=>6569,34873=>6570,34855=>6571,34875=>6572,34884=>6573,34882=>6574,34898=>6575,34905=>6576,34910=>6577,34914=>6578,34923=>6579,34945=>6580,34942=>6581,34974=>6582,34933=>6583,34941=>6584,34997=>6585,34930=>6586,34946=>6587,34967=>6588,34962=>6589,34990=>6590,34969=>6591,34978=>6592,34957=>6593,34980=>6594,34992=>6595,35007=>6596,34993=>6597,35011=>6598,35012=>6599,35028=>6600,35032=>6601,35033=>6602,35037=>6603,35065=>6604,35074=>6605,35068=>6606,35060=>6607,35048=>6608,35058=>6609,35076=>6610,35084=>6611,35082=>6612,35091=>6613,35139=>6614,35102=>6615,35109=>6616,35114=>6617,35115=>6618,35137=>6619,35140=>6620,35131=>6621,35126=>6622,35128=>6623,35148=>6624,35101=>6625,35168=>6626,35166=>6627,35174=>6628,35172=>6629,35181=>6630,35178=>6631,35183=>6632,35188=>6633,35191=>6634,12177=>6635,35198=>6635,35203=>6636,35208=>6637,35210=>6638,35219=>6639,35224=>6640,35233=>6641,35241=>6642,35238=>6643,35244=>6644,35247=>6645,35250=>6646,35258=>6647,35261=>6648,35263=>6649,35264=>6650,35290=>6651,35292=>6652,35293=>6653,35303=>6654,35316=>6655,35320=>6656,35331=>6657,35350=>6658,35344=>6659,35340=>6660,35355=>6661,35357=>6662,35365=>6663,35382=>6664,35393=>6665,35419=>6666,35410=>6667,35398=>6668,35400=>6669,35452=>6670,35437=>6671,35436=>6672,35426=>6673,35461=>6674,35458=>6675,35460=>6676,35496=>6677,35489=>6678,35473=>6679,35493=>6680,35494=>6681,35482=>6682,35491=>6683,35524=>6684,35533=>6685,35522=>6686,35546=>6687,35563=>6688,35571=>6689,35559=>6690,35556=>6691,35569=>6692,35604=>6693,35552=>6694,35554=>6695,35575=>6696,35550=>6697,35547=>6698,35596=>6699,35591=>6700,35610=>6701,35553=>6702,35606=>6703,35600=>6704,35607=>6705,35616=>6706,35635=>6707,38827=>6708,35622=>6709,35627=>6710,35646=>6711,35624=>6712,35649=>6713,35660=>6714,35663=>6715,35662=>6716,35657=>6717,35670=>6718,35675=>6719,35674=>6720,35691=>6721,35679=>6722,35692=>6723,35695=>6724,35700=>6725,35709=>6726,35712=>6727,35724=>6728,35726=>6729,35730=>6730,35731=>6731,35734=>6732,35737=>6733,35738=>6734,35898=>6735,35905=>6736,35903=>6737,35912=>6738,35916=>6739,35918=>6740,35920=>6741,12183=>6742,35925=>6742,35938=>6743,35948=>6744,12184=>6745,35960=>6745,35962=>6746,35970=>6747,35977=>6748,35973=>6749,35978=>6750,35981=>6751,35982=>6752,35988=>6753,35964=>6754,35992=>6755,25117=>6756,36013=>6757,36010=>6758,36029=>6759,36018=>6760,36019=>6761,36014=>6762,36022=>6763,36040=>6764,36033=>6765,36068=>6766,36067=>6767,36058=>6768,36093=>6769,36090=>6770,36091=>6771,36100=>6772,36101=>6773,36106=>6774,36103=>6775,36111=>6776,36109=>6777,36112=>6778,40782=>6779,36115=>6780,36045=>6781,36116=>6782,36118=>6783,36199=>6784,36205=>6785,36209=>6786,36211=>6787,36225=>6788,36249=>6789,36290=>6790,36286=>6791,36282=>6792,36303=>6793,36314=>6794,36310=>6795,36300=>6796,36315=>6797,36299=>6798,36330=>6799,36331=>6800,36319=>6801,36323=>6802,36348=>6803,36360=>6804,36361=>6805,36351=>6806,36381=>6807,36382=>6808,36368=>6809,36383=>6810,36418=>6811,36405=>6812,36400=>6813,36404=>6814,36426=>6815,36423=>6816,36425=>6817,36428=>6818,36432=>6819,36424=>6820,36441=>6821,36452=>6822,36448=>6823,36394=>6824,36451=>6825,36437=>6826,36470=>6827,36466=>6828,36476=>6829,36481=>6830,36487=>6831,36485=>6832,36484=>6833,36491=>6834,36490=>6835,36499=>6836,36497=>6837,36500=>6838,36505=>6839,36522=>6840,36513=>6841,36524=>6842,36528=>6843,36550=>6844,36529=>6845,36542=>6846,36549=>6847,36552=>6848,36555=>6849,36571=>6850,36579=>6851,36604=>6852,36603=>6853,36587=>6854,36606=>6855,36618=>6856,36613=>6857,36629=>6858,36626=>6859,36633=>6860,36627=>6861,36636=>6862,36639=>6863,36635=>6864,36620=>6865,36646=>6866,36659=>6867,36667=>6868,36665=>6869,36677=>6870,36674=>6871,36670=>6872,36684=>6873,36681=>6874,36678=>6875,36686=>6876,36695=>6877,36700=>6878,36706=>6879,36707=>6880,36708=>6881,36764=>6882,36767=>6883,36771=>6884,36781=>6885,36783=>6886,36791=>6887,36826=>6888,36837=>6889,36834=>6890,36842=>6891,36847=>6892,36999=>6893,36852=>6894,36869=>6895,36857=>6896,36858=>6897,36881=>6898,36885=>6899,36897=>6900,36877=>6901,36894=>6902,36886=>6903,36875=>6904,36903=>6905,36918=>6906,36917=>6907,36921=>6908,36856=>6909,36943=>6910,36944=>6911,36945=>6912,36946=>6913,36878=>6914,36937=>6915,36926=>6916,36950=>6917,36952=>6918,36958=>6919,36968=>6920,36975=>6921,36982=>6922,38568=>6923,36978=>6924,36994=>6925,36989=>6926,36993=>6927,36992=>6928,37002=>6929,37001=>6930,37007=>6931,37032=>6932,37039=>6933,37041=>6934,37045=>6935,37090=>6936,37092=>6937,25160=>6938,37083=>6939,37122=>6940,37138=>6941,37145=>6942,37170=>6943,37168=>6944,37194=>6945,37206=>6946,37208=>6947,37219=>6948,37221=>6949,37225=>6950,37235=>6951,37234=>6952,37259=>6953,37257=>6954,37250=>6955,37282=>6956,37291=>6957,37295=>6958,37290=>6959,37301=>6960,37300=>6961,37306=>6962,37312=>6963,37313=>6964,37321=>6965,37323=>6966,37328=>6967,37334=>6968,37343=>6969,37345=>6970,37339=>6971,37372=>6972,37365=>6973,37366=>6974,37406=>6975,37375=>6976,37396=>6977,37420=>6978,37397=>6979,37393=>6980,37470=>6981,37463=>6982,37445=>6983,37449=>6984,37476=>6985,37448=>6986,37525=>6987,37439=>6988,37451=>6989,37456=>6990,37532=>6991,37526=>6992,37523=>6993,37531=>6994,37466=>6995,37583=>6996,37561=>6997,37559=>6998,37609=>6999,37647=>7000,37626=>7001,37700=>7002,37678=>7003,37657=>7004,37666=>7005,37658=>7006,37667=>7007,37690=>7008,37685=>7009,37691=>7010,37724=>7011,37728=>7012,37756=>7013,37742=>7014,37718=>7015,37808=>7016,37804=>7017,37805=>7018,37780=>7019,37817=>7020,37846=>7021,37847=>7022,37864=>7023,37861=>7024,37848=>7025,37827=>7026,37853=>7027,37840=>7028,37832=>7029,37860=>7030,37914=>7031,37908=>7032,37907=>7033,37891=>7034,37895=>7035,37904=>7036,37942=>7037,37931=>7038,37941=>7039,37921=>7040,37946=>7041,37953=>7042,37970=>7043,37956=>7044,37979=>7045,37984=>7046,37986=>7047,37982=>7048,37994=>7049,37417=>7050,38000=>7051,38005=>7052,38007=>7053,38013=>7054,37978=>7055,38012=>7056,38014=>7057,38017=>7058,38015=>7059,38274=>7060,38279=>7061,38282=>7062,38292=>7063,38294=>7064,38296=>7065,38297=>7066,38304=>7067,38312=>7068,38311=>7069,38317=>7070,38332=>7071,38331=>7072,38329=>7073,38334=>7074,38346=>7075,28662=>7076,38339=>7077,38349=>7078,38348=>7079,38357=>7080,38356=>7081,38358=>7082,38364=>7083,38369=>7084,38373=>7085,38370=>7086,38433=>7087,38440=>7088,38446=>7089,38447=>7090,38466=>7091,38476=>7092,38479=>7093,38475=>7094,38519=>7095,38492=>7096,38494=>7097,38493=>7098,38495=>7099,38502=>7100,38514=>7101,38508=>7102,38541=>7103,38552=>7104,38549=>7105,38551=>7106,38570=>7107,38567=>7108,38577=>7109,38578=>7110,38576=>7111,38580=>7112,12202=>7113,38582=>7113,38584=>7114,12203=>7115,38585=>7115,38606=>7116,38603=>7117,38601=>7118,38605=>7119,35149=>7120,38620=>7121,38669=>7122,38613=>7123,38649=>7124,38660=>7125,38662=>7126,38664=>7127,38675=>7128,38670=>7129,38673=>7130,38671=>7131,38678=>7132,38681=>7133,38692=>7134,38698=>7135,38704=>7136,38713=>7137,38717=>7138,38718=>7139,38724=>7140,38726=>7141,38728=>7142,38722=>7143,38729=>7144,38748=>7145,38752=>7146,38756=>7147,38758=>7148,38760=>7149,21202=>7150,38763=>7151,38769=>7152,38777=>7153,38789=>7154,38780=>7155,38785=>7156,38778=>7157,38790=>7158,38795=>7159,38799=>7160,38800=>7161,38812=>7162,38824=>7163,38822=>7164,38819=>7165,38835=>7166,38836=>7167,38851=>7168,38854=>7169,38856=>7170,12209=>7171,38859=>7171,38876=>7172,12210=>7173,38893=>7173,40783=>7174,38898=>7175,31455=>7176,38902=>7177,38901=>7178,38927=>7179,38924=>7180,38968=>7181,38948=>7182,38945=>7183,38967=>7184,38973=>7185,38982=>7186,38991=>7187,38987=>7188,39019=>7189,39023=>7190,39024=>7191,39025=>7192,39028=>7193,39027=>7194,39082=>7195,39087=>7196,39089=>7197,39094=>7198,39108=>7199,39107=>7200,39110=>7201,39145=>7202,39147=>7203,39171=>7204,39177=>7205,39186=>7206,39188=>7207,39192=>7208,39201=>7209,39197=>7210,39198=>7211,39204=>7212,39200=>7213,39212=>7214,39214=>7215,39229=>7216,39230=>7217,39234=>7218,39241=>7219,39237=>7220,39248=>7221,39243=>7222,39249=>7223,39250=>7224,39244=>7225,39253=>7226,39319=>7227,39320=>7228,39333=>7229,39341=>7230,39342=>7231,39356=>7232,39391=>7233,39387=>7234,39389=>7235,39384=>7236,39377=>7237,39405=>7238,39406=>7239,39409=>7240,39410=>7241,39419=>7242,39416=>7243,39425=>7244,39439=>7245,39429=>7246,39394=>7247,39449=>7248,39467=>7249,39479=>7250,39493=>7251,39490=>7252,39488=>7253,39491=>7254,39486=>7255,39509=>7256,39501=>7257,39515=>7258,39511=>7259,39519=>7260,39522=>7261,39525=>7262,39524=>7263,39529=>7264,39531=>7265,39530=>7266,39597=>7267,39600=>7268,39612=>7269,39616=>7270,39631=>7271,39633=>7272,39635=>7273,39636=>7274,39646=>7275,12221=>7276,39647=>7276,39650=>7277,39651=>7278,39654=>7279,39663=>7280,39659=>7281,39662=>7282,39668=>7283,39665=>7284,39671=>7285,39675=>7286,39686=>7287,39704=>7288,39706=>7289,39711=>7290,39714=>7291,39715=>7292,12222=>7293,39717=>7293,39719=>7294,39720=>7295,39721=>7296,39722=>7297,39726=>7298,12223=>7299,39727=>7299,39730=>7300,12224=>7300,39748=>7301,39747=>7302,39759=>7303,39757=>7304,39758=>7305,39761=>7306,39768=>7307,39796=>7308,39827=>7309,39811=>7310,39825=>7311,39830=>7312,39831=>7313,39839=>7314,39840=>7315,39848=>7316,39860=>7317,39872=>7318,39882=>7319,39865=>7320,39878=>7321,39887=>7322,39889=>7323,39890=>7324,39907=>7325,39906=>7326,39908=>7327,39892=>7328,39905=>7329,39994=>7330,39922=>7331,39921=>7332,39920=>7333,39957=>7334,39956=>7335,39945=>7336,39955=>7337,39948=>7338,39942=>7339,39944=>7340,39954=>7341,39946=>7342,39940=>7343,39982=>7344,39963=>7345,39973=>7346,39972=>7347,39969=>7348,39984=>7349,40007=>7350,39986=>7351,40006=>7352,39998=>7353,40026=>7354,40032=>7355,40039=>7356,40054=>7357,40056=>7358,40167=>7359,40172=>7360,40176=>7361,40201=>7362,40200=>7363,40171=>7364,40195=>7365,40198=>7366,40234=>7367,40230=>7368,40367=>7369,40227=>7370,40223=>7371,40260=>7372,40213=>7373,40210=>7374,40257=>7375,40255=>7376,40254=>7377,40262=>7378,40264=>7379,40285=>7380,40286=>7381,40292=>7382,40273=>7383,40272=>7384,40281=>7385,40306=>7386,40329=>7387,40327=>7388,40363=>7389,40303=>7390,40314=>7391,40346=>7392,40356=>7393,40361=>7394,40370=>7395,40388=>7396,40385=>7397,40379=>7398,40376=>7399,40378=>7400,40390=>7401,40399=>7402,40386=>7403,40409=>7404,40403=>7405,40440=>7406,40422=>7407,40429=>7408,40431=>7409,40445=>7410,40474=>7411,40475=>7412,40478=>7413,12228=>7414,40565=>7414,40569=>7415,40573=>7416,40577=>7417,40584=>7418,40587=>7419,40588=>7420,40594=>7421,40597=>7422,40593=>7423,40605=>7424,12230=>7425,40613=>7425,40617=>7426,40632=>7427,40618=>7428,40621=>7429,38753=>7430,40652=>7431,40654=>7432,40655=>7433,40656=>7434,40660=>7435,40668=>7436,40670=>7437,40669=>7438,40672=>7439,40677=>7440,40680=>7441,40687=>7442,40692=>7443,40694=>7444,40695=>7445,12235=>7446,40697=>7446,40699=>7447,40700=>7448,12236=>7449,40701=>7449,40711=>7450,40712=>7451,30391=>7452,40725=>7453,40737=>7454,40748=>7455,40766=>7456,40778=>7457,12241=>7457,40786=>7458,12242=>7458,40788=>7459,40803=>7460,40799=>7461,40800=>7462,40801=>7463,40806=>7464,40807=>7465,40812=>7466,40810=>7467,40823=>7468,40818=>7469,40822=>7470,40853=>7471,40860=>7472,12244=>7472,40864=>7473,12245=>7473,22575=>7474,27079=>7475,36953=>7476,29796=>7477,9472=>7479,9473=>7480,9474=>7481,9475=>7482,9476=>7483,9477=>7484,9478=>7485,9479=>7486,9480=>7487,9481=>7488,9482=>7489,9483=>7490,9484=>7491,9485=>7492,9486=>7493,9487=>7494,9488=>7495,9489=>7496,9490=>7497,9491=>7498,9492=>7499,9493=>7500,9494=>7501,9495=>7502,9496=>7503,9497=>7504,9498=>7505,9499=>7506,9500=>7507,9501=>7508,9502=>7509,9503=>7510,9504=>7511,9505=>7512,9506=>7513,9507=>7514,9508=>7515,9509=>7516,9510=>7517,9511=>7518,9512=>7519,9513=>7520,9514=>7521,9515=>7522,9516=>7523,9517=>7524,9518=>7525,9519=>7526,9520=>7527,9521=>7528,9522=>7529,9523=>7530,9524=>7531,9525=>7532,9526=>7533,9527=>7534,9528=>7535,9529=>7536,9530=>7537,9531=>7538,9532=>7539,9533=>7540,9534=>7541,9535=>7542,9536=>7543,9537=>7544,9538=>7545,9539=>7546,9540=>7547,9541=>7548,9542=>7549,9543=>7550,9544=>7551,9545=>7552,9546=>7553,9547=>7554,9312=>7555,9313=>7556,9314=>7557,9315=>7558,9316=>7559,9317=>7560,9318=>7561,9319=>7562,9320=>7563,9321=>7564,9322=>7565,9323=>7566,9324=>7567,9325=>7568,9326=>7569,9327=>7570,9328=>7571,9329=>7572,9330=>7573,9331=>7574,8544=>7575,8545=>7576,8546=>7577,8547=>7578,8548=>7579,8549=>7580,8550=>7581,8551=>7582,8552=>7583,8553=>7584,13129=>7585,13076=>7586,13133=>7588,13095=>7590,13110=>7592,13137=>7593,13069=>7595,13094=>7596,13099=>7598,13130=>7599,13212=>7601,13213=>7602,13214=>7603,13198=>7604,13199=>7605,13252=>7606,13217=>7607,12317=>7608,12319=>7609,8470=>7610,13261=>7611,12964=>7613,12965=>7614,12966=>7615,12967=>7616,12968=>7617,12849=>7618,12850=>7619,12857=>7620,13182=>7621,13181=>7622,13180=>7623,8750=>7624,8721=>7625,8735=>7629,8895=>7630,21854=>7633,167133=>7641,28976=>7644,40407=>7646,64054=>7651,22169=>7654,15694=>7655,20448=>7660,36544=>7663,194797=>7665,153716=>7670,32363=>7671,33606=>7672,167670=>7673,40572=>7677,26171=>7680,40628=>7682,26629=>7687,23650=>7693,194780=>7695,32353=>7697,64070=>7700,34083=>7706,37292=>7707,34796=>7715,25620=>7724,39506=>7727,64074=>7732,194692=>7734,31774=>7739,64016=>7746,25681=>7747,63980=>7750,22625=>7751,39002=>7752,194679=>7754,31153=>7758,28678=>7760,22218=>7770,21085=>7774,28497=>7776,37297=>7777,64106=>7788,38960=>7795,40629=>7797,33802=>7807,63939=>7808,63890=>7809,63891=>7810,63897=>7811,34847=>7813,194575=>7814,194771=>7816,194584=>7817,137754=>7825,23643=>7826,25890=>7831,26618=>7834,26766=>7836,148432=>7838,194848=>7839,34110=>7861,30562=>7877,65041=>7887,65042=>7888,65075=>7890,65073=>7892,65074=>7893,8285=>7897,65049=>7897,8282=>7898,65072=>7898,65077=>7899,65078=>7900,65081=>7901,65082=>7902,65095=>7903,65096=>7904,65079=>7905,65080=>7906,65087=>7907,65088=>7908,65085=>7909,65086=>7910,65089=>7911,65090=>7912,65091=>7913,65092=>7914,65083=>7915,65084=>7916,12436=>7958,12437=>7959,12438=>7960,22099=>7963,65508=>8005,65287=>8006,65282=>8007,9665=>8009,9655=>8010,8681=>8011,8679=>8012,8678=>8013,8680=>8014,9634=>8015,9831=>8016,9825=>8017,9828=>8018,9826=>8019,13216=>8020,13218=>8021,13220=>8022,13221=>8023,13207=>8024,8467=>8025,13208=>8026,13235=>8027,13234=>8028,13233=>8029,13232=>8030,13189=>8031,13190=>8032,13191=>8033,13259=>8034,13200=>8035,13268=>8036,13206=>8037,13090=>8038,13078=>8039,13080=>8040,13077=>8041,13059=>8042,13091=>8043,13143=>8044,13122=>8045,13113=>8046,13115=>8047,13056=>8048,13105=>8049,13127=>8050,13086=>8051,13098=>8052,13183=>8054,8481=>8055,9742=>8056,12342=>8057,12320=>8058,9352=>8062,9353=>8063,9354=>8064,9355=>8065,9356=>8066,9357=>8067,9358=>8068,9359=>8069,9360=>8070,9332=>8071,9333=>8072,9334=>8073,9335=>8074,9336=>8075,9337=>8076,9338=>8077,9339=>8078,9340=>8079,9341=>8080,9342=>8081,9343=>8082,9344=>8083,9345=>8084,9346=>8085,9347=>8086,9348=>8087,9349=>8088,9350=>8089,9351=>8090,12881=>8091,8560=>8092,8561=>8093,8562=>8094,8563=>8095,8564=>8096,8565=>8097,8566=>8098,8567=>8099,8568=>8100,8569=>8101,12882=>8102,12883=>8103,12884=>8104,12885=>8105,12886=>8106,12887=>8107,12888=>8108,12889=>8109,12890=>8110,12891=>8111,9372=>8112,9373=>8113,9374=>8114,9375=>8115,9376=>8116,9377=>8117,9378=>8118,9379=>8119,9380=>8120,9381=>8121,9382=>8122,9383=>8123,9384=>8124,9385=>8125,9386=>8126,9387=>8127,9388=>8128,9389=>8129,9390=>8130,9391=>8131,9392=>8132,9393=>8133,9394=>8134,9395=>8135,9396=>8136,9397=>8137,12867=>8138,12861=>8139,12863=>8140,12852=>8141,12856=>8142,12851=>8143,12860=>8144,12866=>8145,12862=>8146,12854=>8147,12853=>8148,12859=>8149,12864=>8150,12858=>8151,12976=>8152,12973=>8153,12969=>8154,12975=>8155,12948=>8156,12970=>8157,12952=>8158,12971=>8159,12946=>8160,12945=>8161,12947=>8162,12972=>8163,12974=>8164,12950=>8165,9131=>8174,9132=>8175,9133=>8176,9127=>8178,9128=>8179,9129=>8180,13260=>8182,13061=>8183,13215=>8186,13219=>8187,13222=>8188,12958=>8191,13192=>8192,13193=>8193,13256=>8194,8749=>8195,12848=>8197,12842=>8198,12843=>8199,12844=>8200,12845=>8201,12846=>8202,12847=>8203,12855=>8204,12865=>8205,10145=>8206,11013=>8207,11014=>8208,11015=>8209,9673=>8210,9824=>8211,9829=>8212,9827=>8213,9830=>8214,9728=>8215,9729=>8216,9730=>8217,9731=>8218,9758=>8219,9756=>8220,9757=>8221,9759=>8222,12953=>8223,9450=>8224,8554=>8225,8555=>8226,9601=>8230,9602=>8231,9603=>8232,9604=>8233,9605=>8234,9606=>8235,9607=>8236,9608=>8237,9615=>8238,9614=>8239,9613=>8240,9612=>8241,9611=>8242,9610=>8243,9609=>8244,9620=>8245,9621=>8246,9581=>8247,9582=>8248,9584=>8249,9583=>8250,9552=>8251,9566=>8252,9578=>8253,9569=>8254,9698=>8255,9699=>8256,9701=>8257,9700=>8258,9585=>8261,9586=>8262,9587=>8263,65040=>8268,20956=>8284,29081=>8285,10102=>8286,10103=>8287,10104=>8288,10105=>8289,10106=>8290,10107=>8291,10108=>8292,10109=>8293,10110=>8294,8570=>8298,8571=>8299,8575=>8303,8458=>8304,8457=>8305,8507=>8307,12292=>8308,8646=>8309,8644=>8310,8645=>8311,12535=>8313,12536=>8314,12537=>8315,12538=>8316,12957=>8319,13179=>8323,13107=>8327,13134=>8328,32394=>8359,35100=>8360,37704=>8361,37512=>8362,34012=>8363,20425=>8364,28859=>8365,26161=>8366,26824=>8367,37625=>8368,26363=>8369,24389=>8370,12033=>8371,20008=>8371,20193=>8372,20220=>8373,20224=>8374,20227=>8375,20281=>8376,20310=>8377,20370=>8378,20362=>8379,20378=>8380,20372=>8381,20429=>8382,20544=>8383,20514=>8384,20479=>8385,20510=>8386,20550=>8387,20592=>8388,20546=>8389,20628=>8390,20724=>8391,20696=>8392,20810=>8393,20836=>8394,20893=>8395,20926=>8396,20972=>8397,21013=>8398,21148=>8399,21158=>8400,21184=>8401,21211=>8402,21248=>8403,21284=>8405,21362=>8406,21395=>8407,21426=>8408,21469=>8409,64014=>8410,21660=>8411,21642=>8412,21673=>8413,21759=>8414,21894=>8415,22361=>8416,22373=>8417,22444=>8418,22472=>8419,22471=>8420,64015=>8421,22686=>8423,22706=>8424,22795=>8425,22867=>8426,22875=>8427,22877=>8428,22883=>8429,22948=>8430,22970=>8431,23382=>8432,23488=>8433,29999=>8434,23512=>8435,23582=>8437,23718=>8438,23738=>8439,23797=>8440,23847=>8441,23891=>8442,23874=>8444,23917=>8445,23992=>8446,23993=>8447,24016=>8448,24353=>8449,24372=>8450,24423=>8451,24503=>8452,24542=>8453,24669=>8454,24709=>8455,24714=>8456,24798=>8457,24789=>8458,24864=>8459,24818=>8460,24849=>8461,24887=>8462,24880=>8463,24984=>8464,25107=>8465,25254=>8466,25589=>8467,25696=>8468,25757=>8469,25806=>8470,25934=>8471,26112=>8472,26133=>8473,26121=>8474,26158=>8475,26148=>8477,26213=>8478,26199=>8479,26201=>8480,64018=>8481,26227=>8482,26265=>8483,26272=>8484,26290=>8485,26303=>8486,26362=>8487,26382=>8488,26470=>8490,26555=>8491,26706=>8492,26560=>8493,26692=>8495,26831=>8496,64019=>8497,26984=>8498,64020=>8499,27032=>8500,27106=>8501,27184=>8502,27243=>8503,27206=>8504,27251=>8505,27262=>8506,27362=>8507,27364=>8508,27606=>8509,27711=>8510,27740=>8511,27782=>8512,27759=>8513,27866=>8514,27908=>8515,28039=>8516,28015=>8517,28054=>8518,28076=>8519,28111=>8520,28152=>8521,28146=>8522,28156=>8523,28217=>8524,28252=>8525,28199=>8526,28220=>8527,28351=>8528,28552=>8529,28597=>8530,28661=>8531,28677=>8532,28679=>8533,28712=>8534,28805=>8535,28843=>8536,28943=>8537,28932=>8538,29020=>8539,28998=>8540,28999=>8541,29121=>8543,29182=>8544,29361=>8545,29374=>8546,29476=>8547,64022=>8548,29559=>8549,29629=>8550,29641=>8551,29654=>8552,29667=>8553,29650=>8554,29703=>8555,29685=>8556,29734=>8557,29738=>8558,29737=>8559,29742=>8560,29833=>8562,29855=>8563,29953=>8564,30063=>8565,30338=>8566,30364=>8567,30366=>8568,30363=>8569,30374=>8570,64023=>8571,30534=>8572,21167=>8573,30753=>8574,30798=>8575,30820=>8576,30842=>8577,31024=>8578,64024=>8579,64025=>8580,64026=>8581,31124=>8582,64027=>8583,31131=>8584,31441=>8585,31463=>8586,64028=>8587,31467=>8588,31646=>8589,64029=>8590,32072=>8591,32183=>8593,32160=>8594,32214=>8595,32338=>8596,32583=>8597,32673=>8598,64030=>8599,33537=>8600,33634=>8601,33663=>8602,33735=>8603,33782=>8604,33864=>8605,33972=>8606,34131=>8607,34137=>8608,34155=>8609,64031=>8610,34224=>8611,64032=>8612,64033=>8613,34823=>8614,35061=>8615,35346=>8616,35383=>8617,35449=>8618,35495=>8619,35518=>8620,35551=>8621,64034=>8622,35574=>8623,35667=>8624,35711=>8625,36080=>8626,36084=>8627,36114=>8628,36214=>8629,64035=>8630,36559=>8631,64037=>8633,36967=>8634,37086=>8635,64038=>8636,37141=>8637,37159=>8638,37338=>8639,37335=>8640,37342=>8641,37357=>8642,37358=>8643,37348=>8644,37349=>8645,37382=>8646,37392=>8647,37386=>8648,37434=>8649,37440=>8650,37436=>8651,37454=>8652,37465=>8653,37457=>8654,37433=>8655,37479=>8656,37543=>8657,37495=>8658,37496=>8659,37607=>8660,37591=>8661,37593=>8662,37584=>8663,64039=>8664,37589=>8665,37600=>8666,37587=>8667,37669=>8668,37665=>8669,37627=>8670,64040=>8671,37662=>8672,37631=>8673,37661=>8674,37634=>8675,37744=>8676,37719=>8677,37796=>8678,37830=>8679,37854=>8680,37880=>8681,37937=>8682,37957=>8683,37960=>8684,38290=>8685,64041=>8687,38557=>8688,38575=>8689,38707=>8690,38715=>8691,38723=>8692,38733=>8693,38735=>8694,12205=>8695,38737=>8695,38999=>8697,39013=>8698,64042=>8699,64043=>8700,39207=>8701,64044=>8702,39326=>8703,39502=>8704,39641=>8705,39644=>8706,39797=>8707,39794=>8708,39823=>8709,39857=>8710,39867=>8711,39936=>8712,40304=>8713,40299=>8714,64045=>8715,40473=>8716,40657=>8717,8364=>9354,8486=>9355,64256=>9358,64259=>9359,64260=>9360,257=>9361,299=>9362,363=>9363,275=>9364,333=>9365,256=>9366,298=>9367,362=>9368,274=>9369,332=>9370,8539=>9371,8540=>9372,8541=>9373,8542=>9374,8531=>9375,8532=>9376,8304=>9377,8308=>9378,8309=>9379,8310=>9380,8311=>9381,8312=>9382,8313=>9383,8320=>9384,8321=>9385,8322=>9386,8323=>9387,8324=>9388,8325=>9389,8326=>9390,8327=>9391,8328=>9392,8329=>9393,461=>9394,282=>9395,7868=>9397,463=>9398,296=>9400,465=>9401,467=>9403,366=>9404,360=>9405,462=>9406,283=>9407,7869=>9409,464=>9410,297=>9412,466=>9413,468=>9415,367=>9416,361=>9417,593=>9418,8049=>9419,8048=>9420,509=>9421,596=>9423,601=>9426,602=>9429,603=>9432,8051=>9433,8050=>9434,567=>9435,331=>9436,629=>9437,652=>9438,658=>9441,643=>9442,720=>9443,8534=>9785,8535=>9786,8536=>9787,8537=>9788,8538=>9789,12832=>10126,12833=>10127,12834=>10128,12835=>10129,12836=>10130,12837=>10131,12838=>10132,12839=>10133,12840=>10134,12841=>10135,12892=>10244,12893=>10245,12894=>10246,12895=>10247,12977=>10248,12978=>10249,12979=>10250,12980=>10251,12981=>10252,12982=>10253,12983=>10254,12984=>10255,12985=>10256,12986=>10257,12987=>10258,12988=>10259,12989=>10260,12990=>10261,12991=>10262,9424=>10313,9425=>10314,9426=>10315,9427=>10316,9428=>10317,9429=>10318,9430=>10319,9431=>10320,9432=>10321,9433=>10322,9434=>10323,9435=>10324,9436=>10325,9437=>10326,9438=>10327,9439=>10328,9440=>10329,9441=>10330,9442=>10331,9443=>10332,9444=>10333,9445=>10334,9446=>10335,9447=>10336,9448=>10337,9449=>10338,9398=>10339,9399=>10340,9400=>10341,9401=>10342,9402=>10343,9403=>10344,9404=>10345,9405=>10346,9406=>10347,9407=>10348,9408=>10349,9409=>10350,9410=>10351,9411=>10352,9412=>10353,9413=>10354,9414=>10355,9415=>10356,9416=>10357,9417=>10358,9418=>10359,9419=>10360,9420=>10361,9421=>10362,9422=>10363,9423=>10364,13008=>10413,13009=>10414,13010=>10415,13011=>10416,13012=>10417,13013=>10418,13014=>10419,13015=>10420,13016=>10421,13017=>10422,13018=>10423,13019=>10424,13020=>10425,13021=>10426,13022=>10427,13023=>10428,13024=>10429,13025=>10430,13026=>10431,13027=>10432,13028=>10433,13029=>10434,13030=>10435,13031=>10436,13032=>10437,13033=>10438,13034=>10439,13035=>10440,13036=>10441,13037=>10442,13038=>10443,13039=>10444,13040=>10445,13041=>10446,13042=>10447,13043=>10448,13044=>10449,13045=>10450,13046=>10451,13047=>10452,13048=>10453,13049=>10454,13050=>10455,13051=>10456,13052=>10457,13053=>10458,13054=>10459,12928=>10461,12929=>10462,12930=>10463,12931=>10464,12932=>10465,12933=>10466,12934=>10467,12935=>10468,12936=>10469,12937=>10470,12944=>10471,12938=>10472,12939=>10473,12940=>10474,12941=>10475,12942=>10476,12943=>10477,12959=>10479,12960=>10486,12961=>10487,12955=>10488,12954=>10489,12963=>10490,12962=>10491,12951=>10492,12956=>10494,12949=>10495,9676=>10502,9471=>10503,10111=>10514,9451=>10515,9452=>10516,9453=>10517,9454=>10518,9455=>10519,9456=>10520,9457=>10521,9458=>10522,9459=>10523,9460=>10524,8414=>11035,13274=>11851,8448=>11855,13250=>11856,8453=>11859,13169=>11861,13197=>11864,13211=>11865,13271=>11869,13272=>11870,13057=>11874,13058=>11875,13060=>11876,13062=>11877,13064=>11879,13063=>11881,13066=>11882,13065=>11884,13067=>11886,13068=>11888,13070=>11889,13071=>11890,13072=>11891,13073=>11892,13074=>11893,13075=>11894,13079=>11896,13081=>11898,13082=>11900,13083=>11901,13084=>11902,13085=>11903,13087=>11904,13088=>11905,13089=>11906,13092=>11907,13093=>11909,13096=>11912,13097=>11913,13101=>11915,13102=>11918,13103=>11919,13104=>11920,13106=>11921,13108=>11924,13109=>11925,13116=>11926,13111=>11930,13112=>11932,13114=>11933,13117=>11934,13121=>11935,13118=>11936,13119=>11937,13120=>11938,13123=>11939,13124=>11940,13125=>11941,13126=>11942,13128=>11943,13131=>11944,13132=>11945,13135=>11946,13136=>11947,13138=>11950,13140=>11951,13139=>11954,13141=>11955,13142=>11956,8501=>12089,976=>12090,8714=>12091,8463=>12092,981=>12094,987=>12095,977=>12096,9832=>12098,9833=>12099,9836=>12100,12347=>12106,12339=>12108,12340=>12109,12341=>12110,8252=>12111,8265=>12112,8723=>12118,8771=>12120,8818=>12121,8819=>12122,12312=>12129,12313=>12130,65375=>12131,65376=>12132,9115=>12143,9117=>12144,9118=>12145,9120=>12146,9121=>12151,9123=>12152,9124=>12153,9126=>12154,9116=>12167,9119=>12167,9122=>12167,9125=>12167,9130=>12167,9986=>12176,12349=>12179,12447=>12181,8709=>12184,8864=>12185,8854=>12186,8856=>12187,8853=>12188,8855=>12189,9888=>12192,9664=>12194,9654=>12195,8656=>12200,8596=>12201,8600=>12202,8601=>12203,8598=>12204,8599=>12205,8652=>12206,8651=>12207,12336=>12218,8967=>12219,10048=>12228,10047=>12229,9643=>12237,9642=>12239,10010=>12241,9702=>12254,10070=>12259,65093=>12639,65094=>12640,64103=>13320,64098=>13321,32227=>13322,12232=>13323,40643=>13323,28331=>13324,64082=>13325,64061=>13326,64069=>13327,64062=>13328,27114=>13329,28212=>13330,64096=>13331,64071=>13332,64056=>13333,64066=>13334,64078=>13335,34395=>13336,64105=>13337,64052=>13338,64099=>13339,25581=>13340,25802=>13341,30799=>13342,64084=>13343,63856=>13344,64077=>13345,64097=>13346,64072=>13347,64076=>13348,64091=>13349,64092=>13350,64081=>13351,64067=>13352,64090=>13353,28041=>13354,29376=>13355,194885=>13357,64086=>13358,64080=>13359,64049=>13360,64059=>13361,24034=>13362,64063=>13363,64101=>13364,21373=>13365,64055=>13366,64095=>13367,24501=>13368,64064=>13369,64083=>13371,64085=>13373,64104=>13374,64068=>13375,64089=>13376,26202=>13377,64053=>13378,64075=>13379,64100=>13380,64065=>13381,64048=>13382,64057=>13384,64051=>13385,27493=>13386,64058=>13387,27599=>13388,64050=>13389,25150=>13390,64079=>13391,63773=>13392,63964=>13393,63798=>13394,28122=>13395,63952=>13396,26310=>13397,27511=>13398,64087=>13399,37706=>13400,37636=>13402,133390=>13523,35999=>13644,11991=>13645,11965=>13646,158033=>13646,37555=>13652,38321=>13653,194812=>13656,194965=>13670,194794=>13679,26478=>13681,11974=>13682,194594=>13684,156194=>13691,13314=>13698,26083=>13701,134071=>13706,171339=>13717,194611=>13719,24378=>13720,11945=>13729,20465=>13731,63753=>13739,11964=>13747,194732=>13750,26435=>13751,133732=>13755,35329=>13756,25142=>13757,21555=>13760,23067=>13761,25221=>13765,194819=>13768,21567=>13775,27506=>13785,29986=>13790,19256=>13791,24063=>13794,194827=>13801,29626=>13802,134047=>13803,194600=>13807,194849=>13809,194623=>13815,194675=>13832,11916=>13833,11917=>13834,23577=>13835,131083=>13839,23426=>13840,194642=>13841,11997=>13847,11999=>13848,39136=>13848,11998=>13849,169599=>13849,14221=>13850,11927=>13852,14586=>13852,194887=>13854,11909=>13856,20155=>13856,131490=>13857,13599=>13865,194738=>13867,11971=>13870,35200=>13870,31237=>13875,35498=>13880,32085=>13882,28568=>13884,25591=>13892,30246=>13893,11978=>13898,163767=>13898,146686=>13904,13351=>13910,33067=>13913,194842=>13916,11950=>13922,154327=>13922,194714=>13928,194831=>13932,22305=>13952,135741=>13953,194586=>13954,64003=>13956,21534=>13964,15240=>13965,20839=>13966,63839=>13971,20023=>13981,11946=>13995,150804=>13995,24421=>13996,23020=>13997,194658=>13998,24217=>14000,13416=>14047,40884=>14048,21200=>14056,38376=>14061,26625=>14066,195024=>14068,195039=>14069,153215=>14075,11959=>14078,36534=>14083,63775=>14084,63875=>14088,31867=>14094,63906=>14095,63898=>14097,11961=>14099,32770=>14099,157360=>14100,11911=>14105,132648=>14105,131210=>14108,133508=>14109,194604=>14109,11915=>14110,13630=>14110,21589=>14115,22841=>14117,23414=>14120,194669=>14121,23572=>14122,14306=>14123,23782=>14124,20040=>14126,194742=>14129,158105=>14134,25371=>14135,26211=>14138,194779=>14140,27126=>14143,27014=>14144,27596=>14148,28183=>14150,27818=>14153,11942=>14157,20012=>14157,29935=>14160,30069=>14161,30188=>14162,30286=>14163,16305=>14164,30570=>14165,30633=>14166,31571=>14173,16996=>14176,194924=>14180,32328=>14183,132415=>14188,11955=>14189,156266=>14189,33089=>14194,17491=>14195,33401=>14197,11966=>14197,64094=>14198,11967=>14198,64093=>14199,11968=>14199,20857=>14201,33626=>14202,17701=>14206,34292=>14208,131248=>14209,34429=>14214,13358=>14216,35014=>14217,18406=>14224,36808=>14233,166279=>14253,167447=>14256,38969=>14259,39432=>14266,39903=>14271,148206=>14282,21385=>14288,64017=>14290,194785=>14291,146622=>14293,132625=>14294,19972=>14296,19973=>14297,19999=>14298,20011=>14299,20015=>14300,20016=>14301,20032=>14302,20033=>14303,20036=>14304,11907=>14305,20058=>14305,20095=>14306,20109=>14307,20118=>14308,20153=>14309,20176=>14310,20192=>14311,20221=>14312,20223=>14313,20235=>14314,20245=>14315,20320=>14316,20283=>14317,20297=>14318,20308=>14319,20346=>14320,20349=>14321,20350=>14322,20375=>14323,20414=>14324,20431=>14325,20477=>14326,20480=>14327,20481=>14328,20496=>14329,20507=>14330,20519=>14331,20526=>14332,20567=>14333,20582=>14334,20586=>14335,20539=>14336,20623=>14337,20630=>14338,20636=>14339,20684=>14340,20710=>14341,20713=>14342,20719=>14343,20744=>14344,20747=>14345,20752=>14346,20763=>14347,20766=>14348,20831=>14349,20897=>14350,20924=>14351,20974=>14353,20980=>14354,20993=>14355,11913=>14356,20994=>14356,21011=>14357,21065=>14358,21089=>14359,21094=>14360,21139=>14361,21192=>14362,21232=>14363,21258=>14364,21259=>14365,21310=>14366,21324=>14367,21323=>14368,21345=>14369,21356=>14370,21419=>14371,21466=>14372,21478=>14373,21493=>14374,21543=>14375,21581=>14376,21606=>14377,21611=>14378,21620=>14379,21645=>14380,21654=>14381,21665=>14382,21677=>14383,21689=>14384,21695=>14385,21702=>14386,21709=>14387,21774=>14388,21803=>14389,21813=>14390,21834=>14391,21856=>14392,21896=>14394,21902=>14395,22024=>14396,22030=>14397,22031=>14398,22071=>14399,22079=>14400,22089=>14401,22091=>14402,22095=>14403,22118=>14404,22121=>14405,22127=>14406,22129=>14407,22130=>14408,22165=>14409,22170=>14410,22188=>14411,22189=>14412,22193=>14413,22217=>14414,22237=>14415,22244=>14416,22282=>14417,22293=>14418,22307=>14419,22319=>14420,22323=>14421,22324=>14422,22348=>14423,22384=>14424,22412=>14425,22428=>14426,22456=>14427,22502=>14428,22509=>14429,22517=>14430,22518=>14431,22527=>14432,22537=>14433,22560=>14434,22578=>14435,22652=>14436,22656=>14437,22697=>14438,22734=>14439,22736=>14440,22740=>14441,22746=>14442,22761=>14443,22796=>14444,22820=>14445,22831=>14446,22881=>14447,22893=>14448,22986=>14449,22994=>14450,23005=>14451,23011=>14452,23012=>14453,23044=>14454,23052=>14455,23075=>14456,23111=>14457,23125=>14458,23139=>14459,23149=>14460,23166=>14461,23198=>14462,23207=>14463,23212=>14464,23219=>14465,23264=>14466,23296=>14467,23321=>14468,23333=>14469,23341=>14470,23361=>14471,23420=>14472,23422=>14473,23423=>14474,23434=>14475,11919=>14476,23587=>14476,23595=>14477,23600=>14478,23651=>14479,23657=>14480,23676=>14481,23755=>14482,23762=>14483,23796=>14484,23844=>14485,23846=>14486,23875=>14487,23878=>14488,23882=>14489,23954=>14490,23956=>14491,23961=>14492,23968=>14493,24024=>14494,24032=>14495,24056=>14496,24064=>14497,24082=>14498,24084=>14499,24085=>14500,24088=>14501,24110=>14502,24152=>14503,24171=>14504,24172=>14505,24232=>14506,24234=>14507,24254=>14508,24255=>14509,24274=>14511,24327=>14512,24334=>14513,24348=>14514,24349=>14515,24354=>14516,24360=>14517,24374=>14518,24379=>14519,24384=>14520,12089=>14521,24400=>14521,24408=>14522,24420=>14523,24457=>14524,24476=>14525,24487=>14526,24484=>14527,24495=>14528,24504=>14529,11926=>14530,24516=>14530,24521=>14531,24545=>14532,24553=>14533,24557=>14534,24572=>14535,24599=>14536,24602=>14537,24627=>14538,24673=>14539,24703=>14540,24734=>14541,24740=>14542,24752=>14543,24779=>14544,24795=>14545,24824=>14546,24850=>14547,24851=>14548,24852=>14549,24860=>14550,24956=>14551,24973=>14552,24991=>14553,25000=>14554,25026=>14555,25055=>14556,25109=>14557,25129=>14558,25155=>14559,25158=>14560,11928=>14561,25164=>14561,25169=>14562,25174=>14563,25284=>14564,25340=>14565,25354=>14566,25357=>14567,25368=>14568,25401=>14569,25410=>14570,25411=>14571,25445=>14572,25460=>14573,25469=>14574,25476=>14575,25479=>14576,25488=>14577,25502=>14578,25553=>14579,25564=>14580,25609=>14581,25616=>14582,25634=>14583,25684=>14584,25691=>14585,25709=>14586,25723=>14587,25790=>14588,25791=>14589,25829=>14590,25847=>14591,25851=>14592,25860=>14593,25878=>14594,25881=>14595,25927=>14596,25959=>14597,25985=>14598,25989=>14599,26050=>14600,26096=>14601,26098=>14602,26156=>14603,26188=>14604,26203=>14605,26204=>14606,26209=>14607,26219=>14608,26276=>14610,26312=>14611,26348=>14612,26373=>14613,26387=>14614,26419=>14615,26440=>14616,26444=>14617,26486=>14618,26491=>14619,26544=>14620,26546=>14621,26617=>14622,26583=>14623,26585=>14624,26608=>14625,26668=>14626,26672=>14627,26673=>14628,26715=>14629,26738=>14630,26741=>14631,26746=>14632,26756=>14633,26789=>14634,26802=>14635,26832=>14636,26838=>14637,26856=>14638,26861=>14639,26864=>14640,26865=>14641,26876=>14642,26897=>14643,26899=>14644,26933=>14645,26939=>14646,26967=>14647,26979=>14648,26994=>14649,27007=>14650,27008=>14651,27046=>14652,27053=>14653,27063=>14654,27094=>14655,27095=>14656,27137=>14657,27151=>14658,27157=>14659,27176=>14660,27188=>14661,27198=>14662,27205=>14663,27216=>14664,27217=>14665,27222=>14666,27227=>14667,27267=>14668,27273=>14669,27281=>14670,27293=>14671,27294=>14672,27295=>14673,27356=>14674,27367=>14675,27372=>14676,27422=>14677,27428=>14678,27445=>14679,27462=>14680,27478=>14681,27488=>14682,27522=>14683,27582=>14684,27617=>14685,27633=>14686,27664=>14687,27699=>14688,27701=>14689,11937=>14689,11938=>14690,27737=>14691,27766=>14692,27771=>14693,27781=>14694,27797=>14695,27804=>14696,27856=>14697,27860=>14698,27862=>14699,27872=>14700,27883=>14701,27884=>14702,27886=>14703,27914=>14704,27918=>14705,27921=>14706,27950=>14707,27991=>14708,27998=>14709,28005=>14710,28034=>14711,28095=>14712,28100=>14713,28106=>14714,28118=>14715,28137=>14716,28194=>14717,28241=>14718,28359=>14719,28362=>14720,28366=>14721,28413=>14722,28442=>14723,28458=>14724,28463=>14725,28467=>14726,28506=>14727,28510=>14728,28514=>14729,28541=>14730,28555=>14731,28557=>14732,28562=>14733,28564=>14734,28570=>14735,28583=>14736,28584=>14737,28598=>14738,28634=>14739,28638=>14740,28729=>14742,28732=>14743,28756=>14745,28765=>14746,28766=>14747,28772=>14748,11939=>14749,28780=>14749,28798=>14750,28801=>14751,28821=>14752,28855=>14753,28883=>14754,28884=>14755,28888=>14756,28892=>14757,28935=>14758,28960=>14759,28977=>14760,29002=>14761,29010=>14762,29024=>14763,29049=>14764,29074=>14765,29131=>14767,29139=>14768,29142=>14769,29184=>14770,29213=>14771,29227=>14772,29240=>14773,29249=>14774,29267=>14775,29269=>14776,29270=>14777,29276=>14778,29325=>14779,11944=>14780,29357=>14780,29364=>14781,29383=>14782,29435=>14783,29444=>14784,29445=>14785,29480=>14786,29489=>14787,29507=>14788,29548=>14789,29564=>14790,29571=>14791,29573=>14792,29574=>14793,29589=>14794,29598=>14795,29599=>14796,29600=>14797,29606=>14798,29611=>14799,29621=>14800,29623=>14801,29628=>14802,29647=>14803,29657=>14804,29673=>14805,29684=>14806,29693=>14807,29700=>14808,29706=>14809,29722=>14810,29723=>14811,29732=>14812,29736=>14813,29740=>14814,29743=>14815,29744=>14816,29745=>14817,29753=>14818,29764=>14819,29767=>14820,29771=>14821,29773=>14822,29777=>14823,29783=>14824,29798=>14825,29803=>14826,29809=>14827,29824=>14828,29829=>14829,29830=>14830,29831=>14831,29840=>14832,29848=>14833,29852=>14834,29856=>14835,29859=>14836,29864=>14837,29867=>14838,29877=>14839,29887=>14840,29896=>14841,29914=>14842,29918=>14843,30030=>14844,30073=>14845,30081=>14846,30096=>14847,12135=>14848,30098=>14848,30099=>14849,30132=>14850,30180=>14851,30201=>14852,30208=>14853,30218=>14854,30229=>14855,30230=>14856,30233=>14857,30238=>14858,30253=>14859,30261=>14860,30275=>14861,30283=>14862,30309=>14863,30317=>14864,30319=>14865,30321=>14866,30324=>14867,30372=>14868,30373=>14869,30405=>14870,30412=>14871,30444=>14872,30460=>14873,30516=>14874,30518=>14875,30556=>14876,30559=>14877,30560=>14878,30578=>14879,30589=>14880,30613=>14881,30634=>14882,30694=>14883,30704=>14884,30708=>14885,30726=>14886,30754=>14887,30765=>14888,30766=>14889,30768=>14890,30773=>14891,30824=>14892,30878=>14893,30920=>14894,30924=>14895,30926=>14896,30948=>14897,30944=>14898,30945=>14899,30962=>14900,30967=>14901,30971=>14902,31025=>14903,11949=>14905,31035=>14905,31037=>14906,31045=>14907,31067=>14908,31068=>14909,31115=>14910,31126=>14911,31128=>14912,12145=>14913,31160=>14913,31163=>14914,31178=>14915,31194=>14916,31235=>14917,31241=>14918,31249=>14919,31262=>14920,31277=>14921,31289=>14922,31301=>14923,31308=>14924,31325=>14925,31341=>14927,31352=>14928,31392=>14929,31395=>14930,31411=>14931,31419=>14932,31420=>14933,31430=>14934,31495=>14935,31508=>14936,31527=>14937,31537=>14938,31559=>14939,31566=>14940,31584=>14941,31593=>14942,31597=>14943,31602=>14944,31633=>14945,31663=>14946,31703=>14947,31705=>14948,31755=>14949,31759=>14950,31776=>14951,31782=>14952,31793=>14953,31798=>14954,31825=>14955,31833=>14956,31847=>14957,31854=>14958,31856=>14959,31932=>14960,31935=>14961,31944=>14962,31945=>14963,31959=>14964,31961=>14965,31965=>14966,31979=>14967,32007=>14968,32008=>14969,32009=>14970,32019=>14971,32029=>14972,32035=>14973,32065=>14974,32083=>14975,32089=>14976,32093=>14977,32122=>14978,32134=>14979,32139=>14980,32140=>14981,32204=>14982,32235=>14983,32241=>14984,32249=>14985,32264=>14986,32273=>14987,32277=>14988,32288=>14989,32327=>14990,32354=>14991,32366=>14992,32371=>14993,32397=>14994,32401=>14995,32408=>14996,32580=>14997,32591=>14998,11947=>14999,11954=>14999,32594=>14999,11953=>15000,32595=>15000,32609=>15001,32657=>15002,32703=>15003,32718=>15004,32735=>15005,32741=>15006,32748=>15007,32750=>15008,32751=>15009,32762=>15010,32782=>15011,32785=>15012,32788=>15013,32804=>15014,32806=>15015,32826=>15016,32828=>15017,32864=>15018,32881=>15019,32885=>15020,32926=>15021,32934=>15022,32939=>15023,32983=>15024,32984=>15025,33046=>15026,33048=>15027,33082=>15028,33098=>15029,33100=>15030,33153=>15031,33156=>15032,33204=>15033,33231=>15034,33273=>15035,33283=>15036,33313=>15037,33330=>15038,33332=>15039,33350=>15040,33355=>15041,33359=>15042,33422=>15043,33454=>15044,33463=>15045,33470=>15046,33478=>15047,33534=>15048,33603=>15049,33617=>15050,33621=>15051,33670=>15052,33677=>15053,33682=>15054,33688=>15055,33705=>15056,33727=>15057,33728=>15058,33770=>15059,33807=>15060,33809=>15061,33866=>15062,33910=>15063,33960=>15064,33967=>15065,33984=>15066,33986=>15067,34032=>15068,34045=>15069,34060=>15070,34100=>15071,34142=>15072,34191=>15073,34231=>15074,34254=>15075,34221=>15076,34322=>15077,34345=>15078,34386=>15079,34403=>15080,34412=>15081,34415=>15082,34426=>15083,34445=>15084,34449=>15085,34456=>15086,34471=>15087,34472=>15088,34554=>15089,34557=>15090,34571=>15091,34579=>15092,34585=>15093,34590=>15094,34600=>15095,34622=>15096,34673=>15097,34696=>15098,34713=>15099,34732=>15100,34733=>15101,34741=>15102,34774=>15103,34795=>15104,34797=>15105,34817=>15106,34822=>15108,34827=>15109,34836=>15110,34844=>15111,34902=>15112,34911=>15113,11970=>15114,34916=>15114,34968=>15115,34986=>15116,35005=>15117,35006=>15118,35018=>15119,35026=>15120,35035=>15121,35056=>15122,35057=>15123,35078=>15124,35096=>15125,35097=>15126,35098=>15127,35111=>15128,35120=>15129,35134=>15130,35195=>15131,35284=>15132,35286=>15133,35301=>15134,35313=>15135,35335=>15136,35343=>15137,35349=>15138,35362=>15139,35406=>15140,35455=>15141,35572=>15142,35615=>15143,35639=>15144,35651=>15145,35652=>15146,35668=>15147,35740=>15148,35742=>15149,35911=>15150,35924=>15151,35955=>15152,36004=>15153,36057=>15154,36065=>15155,36088=>15156,36094=>15157,36123=>15158,36201=>15159,36204=>15160,36228=>15161,36237=>15162,36245=>15163,36262=>15164,36294=>15165,36302=>15166,36324=>15167,36332=>15168,36384=>15169,36427=>15170,36460=>15171,36464=>15172,36474=>15173,36498=>15174,36526=>15175,36531=>15176,36561=>15177,36564=>15178,36601=>15179,36631=>15180,36662=>15181,36774=>15182,12193=>15183,36789=>15183,11981=>15184,36790=>15184,36832=>15186,36836=>15187,36854=>15188,36866=>15189,36908=>15190,36932=>15191,37000=>15192,37013=>15193,37017=>15194,37019=>15195,37026=>15196,37044=>15197,37079=>15198,37085=>15199,37108=>15200,37143=>15201,37148=>15202,37169=>15203,37178=>15204,37181=>15205,37192=>15206,37211=>15207,37217=>15208,37220=>15209,37262=>15210,37278=>15211,37288=>15212,37293=>15213,37294=>15214,37298=>15215,37308=>15216,37360=>15217,37367=>15218,37371=>15219,37383=>15220,37416=>15221,37427=>15222,37432=>15223,37443=>15224,37447=>15225,37455=>15226,37472=>15227,37570=>15228,37579=>15229,37580=>15230,37599=>15231,37645=>15232,37653=>15233,37663=>15234,37671=>15235,37703=>15236,37714=>15237,37738=>15239,37741=>15240,37787=>15241,37818=>15242,37801=>15243,37825=>15244,37834=>15245,37858=>15246,37882=>15247,37885=>15248,37903=>15249,37940=>15250,37951=>15251,37973=>15252,37995=>15253,38002=>15254,11986=>15255,38264=>15255,38310=>15256,38313=>15257,38324=>15259,38333=>15260,38362=>15261,11983=>15262,11990=>15262,38429=>15262,38465=>15263,38488=>15264,38532=>15265,38564=>15266,38569=>15267,38610=>15268,195060=>15269,38622=>15270,38633=>15271,38641=>15272,38658=>15273,38665=>15274,38746=>15275,38755=>15276,38766=>15277,38771=>15278,38810=>15279,38818=>15280,38837=>15281,38838=>15282,38873=>15283,38878=>15284,38900=>15285,38922=>15286,38926=>15287,38942=>15288,38947=>15289,38955=>15290,38974=>15291,38994=>15292,38995=>15293,39001=>15294,39020=>15295,39096=>15296,39098=>15297,39103=>15298,39112=>15299,39141=>15300,39218=>15301,39219=>15302,39232=>15303,39245=>15304,39260=>15305,39263=>15306,39345=>15307,39353=>15308,39354=>15309,39369=>15310,39426=>15311,39446=>15312,39460=>15313,39463=>15314,39469=>15315,39470=>15316,39478=>15317,39480=>15318,39498=>15319,39510=>15320,39605=>15321,39606=>15322,39673=>15323,39683=>15324,39712=>15325,39731=>15326,39732=>15327,39795=>15328,39801=>15329,39847=>15330,39873=>15331,39879=>15332,39895=>15333,39911=>15334,39915=>15335,39927=>15336,39930=>15337,39933=>15338,39947=>15339,39975=>15340,39978=>15341,39990=>15342,40001=>15343,40019=>15344,40035=>15345,40048=>15346,40055=>15347,40194=>15348,40258=>15349,40263=>15350,40291=>15351,40297=>15352,40316=>15353,40318=>15354,40333=>15355,40369=>15356,40387=>15357,40391=>15358,40406=>15359,40415=>15360,40427=>15361,40436=>15362,40469=>15363,40477=>15364,40612=>15365,40616=>15366,40620=>15367,40679=>15368,40686=>15369,40720=>15370,40722=>15371,40727=>15372,40729=>15373,40751=>15374,40759=>15375,40761=>15376,40769=>15377,40773=>15378,40791=>15379,40808=>15380,40817=>15381,40821=>15382,40848=>15383,40852=>15384,40866=>15385,13317=>15387,194564=>15388,22048=>15389,24267=>15390,11925=>15391,144954=>15393,28665=>15395,28390=>15396,29107=>15397,11940=>15398,64073=>15398,11980=>15403,64102=>15403,23986=>15405,20435=>15407,20697=>15408,20720=>15409,20931=>15410,22134=>15411,27220=>15412,27905=>15413,28112=>15414,28226=>15415,28377=>15416,29668=>15417,29729=>15418,30060=>15419,30801=>15420,34805=>15421,144382=>15422,29608=>15423,15091=>15424,13531=>15425,17420=>15426,16010=>15427,40893=>15429,19432=>15430,40892=>15431,16090=>15432,15138=>15433,40894=>15434,17786=>15435,16531=>15436,18021=>15438,16643=>15439,17043=>15440,18094=>15441,13448=>15442,140809=>15443,63584=>15444,63585=>15445,63586=>15446,63610=>15447,63615=>15448,8836=>15472,8837=>15473,8842=>15474,8843=>15475,8713=>15476,8965=>15478,8966=>15479,8741=>15489,8742=>15490,8802=>15505,8773=>15507,8776=>15508,8822=>15509,8823=>15510,8487=>15515,8922=>15725,8923=>15726,8533=>15727,8984=>15728,7742=>15729,7743=>15730,504=>15731,505=>15732,470=>15733,472=>15734,474=>15735,476=>15736,260=>15737,728=>15738,317=>15739,346=>15740,350=>15741,356=>15742,377=>15743,379=>15744,261=>15745,731=>15746,318=>15747,347=>15748,711=>15749,351=>15750,357=>15751,378=>15752,733=>15753,380=>15754,340=>15755,258=>15756,313=>15757,262=>15758,268=>15759,280=>15760,270=>15761,323=>15762,327=>15763,336=>15764,344=>15765,368=>15766,354=>15767,341=>15768,259=>15769,314=>15770,263=>15771,269=>15772,281=>15773,271=>15774,273=>15775,324=>15776,328=>15777,337=>15778,345=>15779,369=>15780,355=>15781,729=>15782,264=>15783,284=>15784,292=>15785,308=>15786,348=>15787,364=>15788,265=>15789,285=>15790,293=>15791,309=>15792,349=>15793,365=>15794,625=>15795,651=>15796,638=>15797,620=>15798,622=>15799,633=>15800,648=>15801,598=>15802,627=>15803,637=>15804,642=>15805,656=>15806,635=>15807,621=>15808,607=>15809,626=>15810,669=>15811,654=>15812,609=>15813,624=>15814,641=>15815,295=>15816,661=>15817,660=>15818,614=>15819,664=>15820,450=>15821,595=>15822,599=>15823,644=>15824,608=>15825,403=>15826,616=>15827,649=>15828,600=>15829,604=>15830,606=>15831,592=>15832,623=>15833,650=>15834,612=>15835,594=>15836,653=>15837,613=>15838,674=>15839,673=>15840,597=>15841,657=>15842,634=>15843,615=>15844,865=>15845,712=>15846,716=>15847,721=>15848,8255=>15849,783=>15850,741=>15851,742=>15852,743=>15853,744=>15854,745=>15855,805=>15858,812=>15859,825=>15860,796=>15861,799=>15862,800=>15863,829=>15864,809=>15865,815=>15866,734=>15867,804=>15868,816=>15869,828=>15870,820=>15871,797=>15872,798=>15873,792=>15874,793=>15875,810=>15876,826=>15877,827=>15878,794=>15879,610=>15883,611=>15884,618=>15885,628=>15886,630=>15887,632=>15888,640=>15889,655=>15890,665=>15891,668=>15892,671=>15893,688=>15894,690=>15895,695=>15896,705=>15897,736=>15898,737=>15899,8862=>15906,12348=>16194,12543=>16195,12310=>16197,12311=>16198,9838=>16199,9835=>16200,10548=>16201,10549=>16202,10687=>16203,12448=>16205,10746=>16207,10747=>16208,962=>16222,9461=>16223,9462=>16224,9463=>16225,9464=>16226,9465=>16227,9466=>16228,9467=>16229,9468=>16230,9469=>16231,9470=>16232,9750=>16233,9751=>16234,9649=>16235,12784=>16236,12785=>16237,12786=>16238,12787=>16239,12788=>16240,12789=>16241,12790=>16242,12791=>16243,12792=>16244,12793=>16245,12794=>16247,12795=>16248,12796=>16249,12797=>16250,12798=>16251,12799=>16252,9150=>16253,9151=>16254,9152=>16255,9153=>16256,9154=>16257,9155=>16258,9156=>16259,9157=>16260,9158=>16261,9159=>16262,9160=>16263,9161=>16264,9162=>16265,9163=>16266,9164=>16267,10003=>16270,9251=>16272,9166=>16273,9680=>16274,9681=>16275,9682=>16276,9683=>16277,8263=>16278,8264=>16279,8273=>16281,8258=>16282,12688=>16283,12689=>16284,12690=>16285,12691=>16286,12692=>16287,12693=>16288,12694=>16289,12695=>16290,12696=>16291,12697=>16292,12698=>16293,12699=>16294,12700=>16295,12701=>16296,12702=>16297,12703=>16298,9136=>16312,9137=>16313,9842=>16314,9843=>16315,9844=>16316,9845=>16317,9846=>16318,9847=>16319,9848=>16320,9849=>16321,9850=>16322,9851=>16323,9852=>16324,9853=>16325,12441=>16326,12442=>16327,8413=>16328,20296=>16779,20319=>16780,20330=>16781,20332=>16782,20494=>16783,20504=>16784,20545=>16785,20722=>16786,20688=>16787,20742=>16788,20739=>16789,20789=>16790,20821=>16791,20823=>16792,13493=>16793,20938=>16794,20962=>16795,21079=>16796,21196=>16797,21206=>16798,21243=>16799,21276=>16800,21347=>16801,21405=>16802,21522=>16803,21631=>16804,21640=>16805,21840=>16806,21889=>16807,21933=>16808,21966=>16809,22075=>16810,22174=>16811,22185=>16812,22195=>16813,22391=>16814,22396=>16815,135963=>16816,22479=>16817,22500=>16818,22628=>16819,22665=>16820,136302=>16821,22738=>16822,22752=>16823,34369=>16824,22923=>16825,22930=>16826,22979=>16827,23059=>16828,23143=>16829,23159=>16830,23172=>16831,23236=>16832,137405=>16833,23421=>16834,23443=>16835,23570=>16836,64060=>16837,136884=>16838,23674=>16839,23695=>16840,23711=>16841,23715=>16842,23722=>16843,23760=>16844,138804=>16845,23821=>16846,23879=>16847,23937=>16848,23972=>16849,23975=>16850,24011=>16851,24158=>16852,24313=>16853,24320=>16854,24322=>16855,24355=>16856,24381=>16857,24404=>16858,24445=>16859,24589=>16860,24596=>16861,24600=>16862,24629=>16863,24647=>16864,24733=>16865,24788=>16866,24797=>16867,24875=>16868,25020=>16869,25017=>16870,25122=>16871,25178=>16872,25199=>16873,25302=>16874,25468=>16875,25573=>16876,25721=>16877,25796=>16878,25808=>16879,25897=>16880,26013=>16881,26170=>16882,26146=>16883,26155=>16884,26160=>16885,26163=>16886,26184=>16887,143812=>16888,26231=>16889,26232=>16890,26253=>16891,26299=>16892,26331=>16893,26344=>16894,26439=>16895,26497=>16896,26515=>16897,26520=>16898,26523=>16899,26620=>16900,26653=>16901,26787=>16902,26890=>16903,26953=>16904,144836=>16905,26946=>16906,26980=>16907,27045=>16908,27087=>16909,15286=>16910,15299=>16911,27113=>16912,27125=>16913,145215=>16914,27195=>16915,145251=>16916,27284=>16917,27301=>16918,15375=>16919,27419=>16920,27436=>16921,27495=>16922,27561=>16923,27565=>16924,27607=>16925,27647=>16926,27653=>16927,27764=>16928,27800=>16929,27899=>16930,27846=>16931,27953=>16932,27961=>16933,27967=>16934,27992=>16935,28052=>16936,28074=>16937,28123=>16938,28125=>16939,28228=>16940,28254=>16941,28337=>16942,28353=>16943,28432=>16944,28505=>16945,28513=>16946,28542=>16947,28556=>16948,28576=>16949,28604=>16950,28615=>16951,28618=>16952,28656=>16953,28750=>16954,28789=>16955,28836=>16956,28900=>16957,28971=>16958,28958=>16959,28974=>16960,29009=>16961,29032=>16962,29061=>16963,29063=>16964,29114=>16965,29124=>16966,29205=>16967,15935=>16968,29339=>16969,149489=>16970,29479=>16971,29520=>16972,29542=>16973,29602=>16974,29739=>16975,29766=>16976,29794=>16977,29805=>16978,29862=>16979,29865=>16980,29897=>16981,29951=>16982,29975=>16983,16242=>16984,30158=>16985,30210=>16986,30216=>16987,30308=>16988,30337=>16989,30365=>16990,30378=>16991,30390=>16992,30414=>16993,30420=>16994,30438=>16995,30449=>16996,30474=>16997,30489=>16998,30541=>16999,30542=>17000,30586=>17001,30592=>17002,30612=>17003,30688=>17004,152718=>17005,30787=>17006,30830=>17007,30896=>17008,152846=>17009,30893=>17010,30976=>17011,31004=>17012,31022=>17013,31028=>17014,31046=>17015,31097=>17016,31176=>17017,153457=>17018,31188=>17019,31198=>17020,31211=>17021,31213=>17022,31365=>17023,154052=>17024,31438=>17025,31485=>17026,31506=>17027,31533=>17028,31547=>17029,31599=>17030,31745=>17031,31795=>17032,155041=>17033,31853=>17034,31865=>17035,31887=>17036,31892=>17037,31904=>17038,31957=>17039,32049=>17040,32092=>17041,32131=>17042,32166=>17043,32194=>17044,32296=>17045,32663=>17046,32731=>17047,32821=>17048,32823=>17049,32970=>17050,32992=>17051,33011=>17052,33120=>17053,33127=>17054,33128=>17055,33133=>17056,33211=>17057,33226=>17058,33239=>17059,17499=>17060,33376=>17061,33396=>17062,158463=>17063,33441=>17064,33443=>17065,33444=>17066,33449=>17067,33471=>17068,33493=>17069,33533=>17070,33536=>17071,33570=>17072,33581=>17073,33594=>17074,33607=>17075,33661=>17076,33703=>17077,33743=>17078,33745=>17079,33761=>17080,33793=>17081,33798=>17082,33887=>17083,33904=>17084,33907=>17085,33925=>17086,33950=>17087,33978=>17088,159296=>17089,34098=>17090,34078=>17091,34095=>17092,34148=>17093,34170=>17094,34188=>17095,34210=>17096,34251=>17097,34285=>17098,34303=>17099,34308=>17100,34309=>17101,34320=>17102,159988=>17103,34328=>17104,34360=>17105,34391=>17106,34402=>17107,17821=>17108,34421=>17109,34488=>17110,34556=>17111,34695=>17112,17898=>17113,34826=>17114,34832=>17115,35022=>17116,161412=>17117,35122=>17118,35129=>17119,35136=>17120,35220=>17121,35318=>17122,35399=>17123,35421=>17124,35425=>17125,35445=>17126,35536=>17127,35654=>17128,35673=>17129,35689=>17130,35741=>17131,35913=>17132,35944=>17133,36271=>17134,36305=>17135,36311=>17136,36387=>17137,36413=>17138,36475=>17139,164471=>17140,18500=>17141,36602=>17142,36638=>17143,36653=>17144,36692=>17145,164813=>17146,36840=>17147,36846=>17148,36872=>17149,36909=>17150,37015=>17151,37043=>17152,37054=>17153,37060=>17154,37061=>17155,37063=>17156,37103=>17157,37140=>17158,37142=>17159,37154=>17160,37155=>17161,37167=>17162,37172=>17163,37251=>17164,37361=>17165,37705=>17166,37732=>17167,37733=>17168,37795=>17169,37855=>17170,37892=>17171,37939=>17172,37962=>17173,37987=>17174,38001=>17175,38286=>17176,38303=>17177,38316=>17178,38326=>17179,38347=>17180,38352=>17181,38355=>17182,18864=>17183,38366=>17184,38565=>17185,38639=>17186,38734=>17187,38805=>17188,38830=>17189,38842=>17190,38849=>17191,38857=>17192,38875=>17193,38998=>17194,39143=>17195,39256=>17196,39427=>17197,39617=>17198,39619=>17199,39630=>17200,39638=>17201,39682=>17202,39688=>17203,19479=>17204,39725=>17205,39774=>17206,39782=>17207,39812=>17208,39818=>17209,39838=>17210,39886=>17211,39909=>17212,39928=>17213,39971=>17214,40015=>17215,40016=>17216,40037=>17217,40221=>17218,40222=>17219,40259=>17220,40274=>17221,40330=>17222,40342=>17223,40384=>17224,40364=>17225,40380=>17226,172432=>17227,40423=>17228,40455=>17229,40606=>17230,40623=>17231,40855=>17232,131209=>17233,19970=>17234,19983=>17235,19986=>17236,20009=>17237,20014=>17238,20039=>17239,131234=>17240,20049=>17241,13318=>17242,131236=>17243,20073=>17244,20125=>17245,13356=>17246,20156=>17247,20163=>17248,20168=>17249,20203=>17250,20186=>17251,20209=>17252,20213=>17253,20246=>17254,20324=>17255,20279=>17256,20286=>17257,20312=>17258,131603=>17259,20343=>17260,20344=>17261,20354=>17262,20357=>17263,20454=>17264,20402=>17265,20421=>17266,20427=>17267,20434=>17268,13418=>17269,20466=>17270,20499=>17271,20508=>17272,20558=>17273,20563=>17274,20579=>17275,20643=>17276,20616=>17277,20626=>17278,20627=>17279,20629=>17280,20650=>17281,131883=>17282,20657=>17283,20666=>17284,20667=>17285,20676=>17286,20679=>17287,20723=>17288,131969=>17289,20686=>17290,131953=>17291,20692=>17292,20705=>17293,13458=>17294,132089=>17295,20759=>17296,132170=>17297,20832=>17298,132361=>17299,20851=>17300,20867=>17301,20875=>17302,13500=>17303,20888=>17304,20899=>17305,20909=>17306,13511=>17307,132566=>17308,20979=>17309,21010=>17310,21014=>17311,132943=>17312,21077=>17313,21084=>17314,21100=>17315,21111=>17316,21124=>17317,21122=>17318,133127=>17319,21144=>17320,133178=>17321,21156=>17322,21178=>17323,21179=>17324,21194=>17325,21201=>17326,133305=>17327,21239=>17328,21301=>17329,21314=>17330,133500=>17331,133533=>17332,21351=>17333,21370=>17334,21412=>17335,21428=>17336,133843=>17337,21431=>17338,21440=>17339,133917=>17340,13661=>17341,13662=>17342,21461=>17343,13667=>17344,21492=>17345,21540=>17346,21544=>17347,13678=>17348,21571=>17349,21602=>17350,21612=>17351,21653=>17352,21664=>17353,21670=>17354,21678=>17355,21687=>17356,21690=>17357,21699=>17358,134469=>17359,21740=>17360,21743=>17361,21745=>17362,21747=>17363,21760=>17364,21761=>17365,21769=>17366,21820=>17367,21825=>17368,13734=>17369,21831=>17370,13736=>17371,21860=>17372,134625=>17373,21885=>17374,21890=>17375,21905=>17376,13765=>17377,21970=>17378,134805=>17379,134765=>17380,21951=>17381,21961=>17382,21964=>17383,21969=>17384,21981=>17385,13786=>17386,21986=>17387,134756=>17388,21993=>17389,22056=>17390,135007=>17391,22023=>17392,22032=>17393,22064=>17394,13812=>17395,22077=>17396,22080=>17397,22087=>17398,22110=>17399,22112=>17400,22125=>17401,13829=>17402,22152=>17403,22156=>17404,22173=>17405,22184=>17406,22194=>17407,22213=>17408,22221=>17409,22239=>17410,22248=>17411,22262=>17412,22263=>17413,135681=>17414,135765=>17415,22313=>17416,135803=>17417,22341=>17418,22342=>17419,22349=>17420,135796=>17421,22376=>17422,22383=>17423,22387=>17424,22388=>17425,22389=>17426,22395=>17427,135908=>17428,135895=>17429,22426=>17430,22429=>17431,22430=>17432,22440=>17433,22487=>17434,135933=>17435,22476=>17436,135990=>17437,136004=>17438,22494=>17439,22512=>17440,13898=>17441,22520=>17442,22523=>17443,22525=>17444,22532=>17445,22558=>17446,22567=>17447,22585=>17448,136132=>17449,22601=>17450,22604=>17451,22631=>17452,22666=>17453,22667=>17454,22669=>17455,22671=>17456,22672=>17457,22676=>17458,22685=>17459,22698=>17460,22705=>17461,136301=>17462,22723=>17463,22733=>17464,22754=>17465,22771=>17466,22772=>17467,22789=>17468,22790=>17469,22797=>17470,22804=>17471,136663=>17472,13969=>17473,22845=>17474,13977=>17475,22854=>17476,13974=>17477,158761=>17478,22879=>17479,136775=>17480,22901=>17481,22902=>17482,22908=>17483,22943=>17484,22958=>17485,22972=>17486,22984=>17487,22989=>17488,23006=>17489,23015=>17490,23022=>17491,136966=>17492,137026=>17493,14031=>17494,23053=>17495,23063=>17496,23079=>17497,23085=>17498,23141=>17499,23162=>17500,23179=>17501,23196=>17502,23199=>17503,23200=>17504,23202=>17505,23217=>17506,23221=>17507,23226=>17508,23231=>17509,23258=>17510,23260=>17511,23269=>17512,23280=>17513,23278=>17514,23285=>17515,23304=>17516,23319=>17517,23348=>17518,23372=>17519,23378=>17520,23400=>17521,23407=>17522,23425=>17523,23428=>17524,137667=>17525,23446=>17526,23468=>17527,14177=>17528,14178=>17529,23502=>17530,23510=>17531,14188=>17532,14187=>17533,23537=>17534,23549=>17535,14197=>17536,23555=>17537,23593=>17538,138326=>17539,23647=>17540,23655=>17541,23656=>17542,23664=>17543,138541=>17544,138565=>17545,138616=>17546,138594=>17547,23688=>17548,23690=>17549,14273=>17550,138657=>17551,138652=>17552,23712=>17553,23714=>17554,23719=>17555,138642=>17556,23725=>17557,23733=>17558,138679=>17559,23753=>17560,138720=>17561,138803=>17562,23814=>17563,23824=>17564,23851=>17565,23837=>17566,23840=>17567,23857=>17568,23865=>17569,14312=>17570,23905=>17571,23914=>17572,14324=>17573,23920=>17574,139038=>17575,14333=>17576,23944=>17577,14336=>17578,23959=>17579,23984=>17580,23988=>17581,139126=>17582,24017=>17583,24023=>17584,139258=>17585,24036=>17586,24041=>17587,14383=>17588,14390=>17589,14400=>17590,24095=>17591,24126=>17592,24137=>17593,14428=>17594,24150=>17595,14433=>17596,24173=>17597,24174=>17598,139643=>17599,24229=>17600,24236=>17601,24249=>17602,24262=>17603,24281=>17604,140062=>17605,24317=>17606,24328=>17607,140205=>17608,24350=>17609,24391=>17610,24419=>17611,24434=>17612,24446=>17613,24463=>17614,24482=>17615,24519=>17616,24523=>17617,24530=>17618,24531=>17619,24532=>17620,24546=>17621,24558=>17622,24559=>17623,24563=>17624,14615=>17625,24610=>17626,24612=>17627,14618=>17628,24652=>17629,24725=>17630,24744=>17631,141043=>17632,24753=>17633,24766=>17634,24776=>17635,24793=>17636,24814=>17637,24821=>17638,24848=>17639,24857=>17640,24862=>17641,24890=>17642,14703=>17643,24897=>17644,24902=>17645,24928=>17646,141403=>17647,24978=>17648,24979=>17649,24983=>17650,24997=>17651,25005=>17652,141483=>17653,25045=>17654,25053=>17655,25077=>17656,141711=>17657,25123=>17658,25170=>17659,25185=>17660,25188=>17661,25211=>17662,25197=>17663,25203=>17664,25241=>17665,25301=>17666,142008=>17667,25341=>17668,25347=>17669,25360=>17670,142159=>17671,142160=>17672,25394=>17673,25397=>17674,25403=>17675,25404=>17676,25409=>17677,25412=>17678,25422=>17679,142150=>17680,25433=>17681,142365=>17682,142246=>17683,25452=>17684,25497=>17685,142372=>17686,25492=>17687,25533=>17688,25556=>17689,25557=>17690,25568=>17691,25579=>17692,25580=>17693,25586=>17694,25630=>17695,25637=>17696,25641=>17697,25647=>17698,25690=>17699,25693=>17700,25715=>17701,25725=>17702,25735=>17703,25745=>17704,25759=>17705,25803=>17706,25804=>17707,25813=>17708,25815=>17709,142817=>17710,25828=>17711,25855=>17712,14958=>17713,25871=>17714,25876=>17715,14963=>17716,25886=>17717,25906=>17718,25924=>17719,25940=>17720,25963=>17721,25978=>17722,25988=>17723,25994=>17724,26034=>17725,26037=>17726,26040=>17727,26047=>17728,26057=>17729,26068=>17730,15062=>17731,26105=>17732,26108=>17733,26116=>17734,26120=>17735,26145=>17736,26154=>17737,26181=>17738,26193=>17739,26190=>17740,15082=>17741,143811=>17742,143861=>17743,143798=>17744,26218=>17745,26220=>17746,26221=>17747,26235=>17748,26240=>17749,26256=>17750,26258=>17751,15118=>17752,26285=>17753,26289=>17754,26293=>17755,15130=>17756,15132=>17757,15063=>17758,26369=>17759,26386=>17760,144242=>17761,26393=>17762,144339=>17763,144338=>17764,26445=>17765,26452=>17766,26461=>17767,144336=>17768,144356=>17769,144341=>17770,26484=>17771,144346=>17772,26514=>17773,144351=>17774,33635=>17775,26640=>17776,26563=>17777,26568=>17778,26578=>17779,26587=>17780,26615=>17781,144458=>17782,144465=>17783,144459=>17784,26648=>17785,26655=>17786,26669=>17787,144485=>17788,26675=>17789,26683=>17790,26686=>17791,26693=>17792,26697=>17793,26700=>17794,26709=>17795,26711=>17796,15223=>17797,26731=>17798,26734=>17799,26748=>17800,26754=>17801,26768=>17802,26774=>17803,15213=>17804,26776=>17805,26777=>17806,26778=>17807,26780=>17808,26794=>17809,26795=>17810,26804=>17811,26811=>17812,26875=>17813,144612=>17814,144730=>17815,26819=>17816,26821=>17817,26828=>17818,26841=>17819,26852=>17820,26853=>17821,26860=>17822,26871=>17823,26883=>17824,26887=>17825,15239=>17826,144788=>17827,15245=>17828,26950=>17829,26985=>17830,26988=>17831,27002=>17832,27026=>17833,15268=>17834,27030=>17835,27056=>17836,27066=>17837,27068=>17838,27072=>17839,27089=>17840,144953=>17841,144967=>17842,144952=>17843,27107=>17844,27118=>17845,27119=>17846,27123=>17847,15309=>17848,27124=>17849,27134=>17850,27153=>17851,27162=>17852,27165=>17853,145180=>17854,27186=>17855,27187=>17856,27199=>17857,27209=>17858,27258=>17859,27214=>17860,27218=>17861,27236=>17862,145164=>17863,27275=>17864,15344=>17865,27297=>17866,145252=>17867,27307=>17868,27325=>17869,27334=>17870,27348=>17871,27344=>17872,27357=>17873,145407=>17874,145383=>17875,27377=>17876,27378=>17877,27379=>17878,27389=>17879,145444=>17880,27403=>17881,27407=>17882,27408=>17883,27409=>17884,145469=>17885,27415=>17886,15398=>17887,27439=>17888,27466=>17889,27480=>17890,27500=>17891,27509=>17892,11934=>17893,27514=>17893,27521=>17894,27547=>17895,27566=>17896,146072=>17897,27581=>17898,27591=>17899,27592=>17900,27593=>17901,27610=>17902,27622=>17903,27623=>17904,27630=>17905,27650=>17906,27658=>17907,27662=>17908,27702=>17909,146559=>17910,27725=>17911,27739=>17912,27757=>17913,27780=>17914,27785=>17915,15555=>17916,27796=>17917,27799=>17918,27821=>17919,27842=>17920,15570=>17921,27868=>17922,27881=>17923,27885=>17924,146688=>17925,27904=>17926,27940=>17927,27942=>17928,27943=>17929,27751=>17930,27951=>17931,27964=>17932,27995=>17933,28000=>17934,28016=>17935,28032=>17936,28033=>17937,28042=>17938,28045=>17939,28049=>17940,28056=>17941,146752=>17942,146938=>17943,146937=>17944,146899=>17945,28075=>17946,28078=>17947,28084=>17948,28098=>17949,27956=>17950,28104=>17951,28110=>17952,28127=>17953,28150=>17954,28214=>17955,28190=>17956,15633=>17957,28210=>17958,28232=>17959,28233=>17960,28235=>17961,28236=>17962,28239=>17963,28243=>17964,28244=>17965,28247=>17966,28259=>17967,15646=>17968,28307=>17969,28327=>17970,28340=>17971,28355=>17972,28469=>17973,28395=>17974,28409=>17975,28411=>17976,28426=>17977,28428=>17978,28440=>17979,28453=>17980,28470=>17981,28476=>17982,147326=>17983,28498=>17984,28503=>17985,28512=>17986,28520=>17987,28560=>17988,28566=>17989,28606=>17990,28575=>17991,28581=>17992,28591=>17993,15716=>17994,28616=>17995,28617=>17996,28649=>17997,147606=>17998,28668=>17999,28672=>18000,28682=>18001,28707=>18002,147715=>18003,28730=>18004,28739=>18005,28743=>18006,28747=>18007,15770=>18008,28773=>18009,28777=>18010,28782=>18011,28790=>18012,28806=>18013,28823=>18014,147910=>18015,28831=>18016,28849=>18017,147966=>18018,28908=>18019,28874=>18020,28881=>18021,28931=>18022,28934=>18023,28936=>18024,28940=>18025,15808=>18026,28975=>18027,29008=>18028,29011=>18029,29022=>18030,15828=>18031,29078=>18032,29056=>18033,29083=>18034,29088=>18035,29090=>18036,29102=>18037,29103=>18038,148412=>18039,29145=>18040,29148=>18041,29191=>18042,15877=>18043,29236=>18044,29241=>18045,29250=>18046,29271=>18047,29283=>18048,149033=>18049,29294=>18050,29295=>18051,29304=>18052,29311=>18053,29326=>18054,149157=>18055,29358=>18056,29360=>18057,29377=>18058,15968=>18059,29388=>18060,15974=>18061,15976=>18062,29427=>18063,29434=>18064,29447=>18065,29458=>18066,29464=>18067,29465=>18068,16003=>18069,29497=>18070,29484=>18071,29491=>18072,29501=>18073,29522=>18074,16020=>18075,29547=>18076,149654=>18077,29550=>18078,29551=>18079,29553=>18080,29569=>18081,29578=>18082,29588=>18083,29592=>18084,29596=>18085,29605=>18086,29625=>18087,29631=>18088,29637=>18089,29643=>18090,29665=>18091,29671=>18092,29689=>18093,29715=>18094,29690=>18095,29697=>18096,29779=>18097,29760=>18098,29763=>18099,29778=>18100,29789=>18101,29825=>18102,29832=>18103,150093=>18104,29842=>18105,29847=>18106,29849=>18107,29857=>18108,29861=>18109,29866=>18110,29881=>18111,29883=>18112,29882=>18113,29910=>18114,29912=>18115,29931=>18116,150358=>18117,29946=>18118,150383=>18119,29984=>18120,29988=>18121,29994=>18122,16215=>18123,150550=>18124,30013=>18125,30014=>18126,30016=>18127,30024=>18128,30032=>18129,30034=>18130,30066=>18131,30065=>18132,30074=>18133,30077=>18134,30078=>18135,30092=>18136,16245=>18137,30114=>18138,16247=>18139,30128=>18140,30135=>18141,30143=>18142,30144=>18143,30150=>18144,30159=>18145,30163=>18146,30173=>18147,30175=>18148,30176=>18149,30183=>18150,30190=>18151,30193=>18152,30211=>18153,30232=>18154,30215=>18155,30223=>18156,16302=>18157,151054=>18158,30227=>18159,30235=>18160,30236=>18161,151095=>18162,30245=>18163,30248=>18164,30268=>18165,30259=>18166,151146=>18167,16329=>18168,30273=>18169,151179=>18170,30281=>18171,30293=>18172,16343=>18173,30318=>18174,30357=>18175,30369=>18176,30368=>18177,30375=>18178,30376=>18179,30383=>18180,151626=>18181,30409=>18182,151637=>18183,30440=>18184,151842=>18185,30487=>18186,30490=>18187,30509=>18188,30517=>18189,151977=>18190,16441=>18191,152037=>18192,152013=>18193,30552=>18194,152094=>18195,30588=>18196,152140=>18197,16472=>18198,30618=>18199,30623=>18200,30626=>18201,30628=>18202,30686=>18203,30687=>18204,30692=>18205,30698=>18206,30700=>18207,30715=>18208,152622=>18209,30725=>18210,30729=>18211,30733=>18212,30745=>18213,30764=>18214,30791=>18215,30826=>18216,152793=>18217,30858=>18218,30868=>18219,30884=>18220,30877=>18221,30879=>18222,30907=>18223,30933=>18224,30950=>18225,30969=>18226,30970=>18227,30974=>18228,152999=>18229,30992=>18230,31003=>18231,31013=>18232,31050=>18233,31064=>18234,16645=>18235,31079=>18236,31090=>18237,31125=>18238,31137=>18239,31145=>18240,31156=>18241,31170=>18242,31175=>18243,31180=>18244,31181=>18245,31190=>18246,16712=>18247,153513=>18248,153524=>18249,16719=>18250,31242=>18251,31253=>18252,31259=>18253,16739=>18254,31288=>18255,31303=>18256,31318=>18257,31321=>18258,31324=>18259,31327=>18260,31335=>18261,31338=>18262,31349=>18263,31362=>18264,31370=>18265,31376=>18266,31404=>18267,154068=>18268,16820=>18269,31417=>18270,31422=>18271,16831=>18272,31436=>18273,31464=>18274,31476=>18275,154340=>18276,154339=>18277,154353=>18278,31549=>18279,31530=>18280,31534=>18281,31535=>18282,16870=>18283,16883=>18284,31615=>18285,31553=>18286,16878=>18287,31573=>18288,31609=>18289,31588=>18290,31590=>18291,31603=>18292,154546=>18293,16903=>18294,31632=>18295,31643=>18296,16910=>18297,31669=>18298,31676=>18299,31685=>18300,31690=>18301,154699=>18302,154724=>18303,31700=>18304,31702=>18305,31706=>18306,31722=>18307,31728=>18308,31747=>18309,31758=>18310,31813=>18311,31818=>18312,31831=>18313,31838=>18314,31841=>18315,31849=>18316,31855=>18317,155182=>18318,155222=>18319,155237=>18320,31910=>18321,155234=>18322,31926=>18323,31927=>18324,155352=>18325,31940=>18326,155330=>18327,31949=>18328,155368=>18329,155427=>18330,31974=>18331,155484=>18332,31989=>18333,32003=>18334,17094=>18335,32018=>18336,32030=>18337,155616=>18338,155604=>18339,32061=>18340,32062=>18341,32064=>18342,32071=>18343,155660=>18344,155643=>18345,17110=>18346,32090=>18347,32106=>18348,32112=>18349,17117=>18350,32127=>18351,155671=>18352,32136=>18353,32151=>18354,155744=>18355,32157=>18356,32167=>18357,32170=>18358,32182=>18359,32192=>18360,32215=>18361,32217=>18362,32230=>18363,17154=>18364,155885=>18365,64088=>18366,32272=>18367,32279=>18368,32285=>18369,32295=>18370,32300=>18371,32325=>18372,32373=>18373,32382=>18374,32390=>18375,32391=>18376,17195=>18377,32410=>18378,17219=>18379,32572=>18380,32571=>18381,32574=>18382,32579=>18383,13505=>18384,156272=>18385,156294=>18386,32611=>18387,32612=>18388,32621=>18389,32637=>18390,32638=>18391,32656=>18392,20859=>18393,146702=>18394,32662=>18395,32668=>18396,32685=>18397,156674=>18398,32707=>18399,32719=>18400,32739=>18401,32754=>18402,32778=>18403,32776=>18404,32790=>18405,32812=>18406,32816=>18407,32835=>18408,32870=>18409,32891=>18410,32921=>18411,32924=>18412,32932=>18413,32935=>18414,32952=>18415,157310=>18416,32965=>18417,32981=>18418,32998=>18419,33037=>18420,33013=>18421,33019=>18422,17390=>18423,33077=>18424,33054=>18425,17392=>18426,33060=>18427,33063=>18428,33068=>18429,157469=>18430,33085=>18431,17416=>18432,33129=>18433,17431=>18434,17436=>18435,33157=>18436,17442=>18437,33176=>18438,33202=>18439,33217=>18440,33219=>18441,33238=>18442,33243=>18443,157917=>18444,33252=>18445,157930=>18446,33260=>18447,33277=>18448,33279=>18449,158063=>18450,33284=>18451,158173=>18452,33305=>18453,33314=>18454,158238=>18455,33340=>18456,33353=>18457,33349=>18458,158296=>18459,17526=>18460,17530=>18461,33367=>18462,158348=>18463,33372=>18464,33379=>18465,158391=>18466,17553=>18467,33405=>18468,33407=>18469,33411=>18470,33418=>18471,33427=>18472,33447=>18473,33448=>18474,33458=>18475,33460=>18476,33466=>18477,33468=>18478,33506=>18479,33512=>18480,33527=>18481,33543=>18482,33544=>18483,33548=>18484,33620=>18485,33563=>18486,33565=>18487,33584=>18488,33596=>18489,33604=>18490,33623=>18491,17598=>18492,17620=>18493,17587=>18494,33684=>18495,33685=>18496,33691=>18497,33693=>18498,33737=>18499,33744=>18500,33748=>18501,33757=>18502,33765=>18503,33785=>18504,33813=>18505,158835=>18506,33815=>18507,33849=>18508,33871=>18509,33873=>18510,33874=>18511,33881=>18512,33882=>18513,33884=>18514,158941=>18515,33893=>18516,33912=>18517,33916=>18518,33921=>18519,17677=>18520,33943=>18521,33958=>18522,33982=>18523,17672=>18524,33998=>18525,33999=>18526,34003=>18527,159333=>18528,34023=>18529,34026=>18530,34031=>18531,34033=>18532,34042=>18533,34075=>18534,34084=>18535,34085=>18536,34091=>18537,34127=>18538,34159=>18539,17731=>18540,34129=>18541,34145=>18542,34146=>18543,159636=>18544,34171=>18545,34173=>18546,34175=>18547,34177=>18548,34182=>18549,34195=>18550,34205=>18551,34207=>18552,159736=>18553,159734=>18554,159735=>18555,34236=>18556,34247=>18557,34250=>18558,34264=>18559,34265=>18560,34271=>18561,34273=>18562,34278=>18563,34294=>18564,34304=>18565,34321=>18566,34334=>18567,34337=>18568,34340=>18569,34343=>18570,160013=>18571,34361=>18572,34364=>18573,160057=>18574,34368=>18575,34387=>18576,34390=>18577,34423=>18578,34439=>18579,34441=>18580,34460=>18581,34461=>18582,34481=>18583,34483=>18584,34497=>18585,34499=>18586,34513=>18587,34517=>18588,34519=>18589,34531=>18590,34534=>18591,17848=>18592,34565=>18593,34567=>18594,34574=>18595,34576=>18596,34591=>18597,34593=>18598,34595=>18599,34609=>18600,34618=>18601,34624=>18602,34627=>18603,34641=>18604,34648=>18605,34660=>18606,34661=>18607,34674=>18608,34684=>18609,160731=>18610,160730=>18611,34727=>18612,34697=>18613,34699=>18614,34707=>18615,34720=>18616,160766=>18617,17893=>18618,34750=>18619,160784=>18620,34753=>18621,34766=>18622,34783=>18623,160841=>18624,34787=>18625,34789=>18626,34790=>18627,34794=>18628,34835=>18629,34856=>18630,34862=>18631,34866=>18632,34876=>18633,17935=>18634,34890=>18635,34904=>18636,161301=>18637,161300=>18638,34921=>18639,161329=>18640,34927=>18641,34976=>18642,35004=>18643,35008=>18644,161427=>18645,35025=>18646,35027=>18647,17985=>18648,35073=>18649,161550=>18650,35127=>18651,161571=>18652,35138=>18653,35141=>18654,35145=>18655,161618=>18656,35170=>18657,35209=>18658,35216=>18659,35231=>18660,35248=>18661,35255=>18662,35288=>18663,35307=>18664,18081=>18665,35315=>18666,35325=>18667,35327=>18668,18095=>18669,35345=>18670,35348=>18671,162181=>18672,35361=>18673,35381=>18674,35390=>18675,35397=>18676,35405=>18677,35416=>18678,35502=>18679,35472=>18680,35511=>18681,35543=>18682,35580=>18683,162436=>18684,35594=>18685,35589=>18686,35597=>18687,35612=>18688,35629=>18689,18188=>18690,35665=>18691,35678=>18692,35702=>18693,35713=>18694,35723=>18695,35732=>18696,35733=>18697,35897=>18698,162739=>18699,35901=>18700,162750=>18701,162759=>18702,35909=>18703,35919=>18704,35927=>18705,35945=>18706,35949=>18707,163000=>18708,35987=>18709,35986=>18710,35993=>18711,18276=>18712,35995=>18713,36054=>18714,36053=>18715,163232=>18716,36081=>18717,163344=>18718,36105=>18719,36110=>18720,36296=>18721,36313=>18722,36364=>18723,18429=>18724,36349=>18725,36358=>18726,163978=>18727,36372=>18728,36374=>18729,36385=>18730,36386=>18731,36391=>18732,164027=>18733,18454=>18734,36406=>18735,36409=>18736,36436=>18737,36450=>18738,36461=>18739,36463=>18740,36504=>18741,36510=>18742,36533=>18743,36539=>18744,164482=>18745,18510=>18746,164595=>18747,36608=>18748,36616=>18749,36651=>18750,36672=>18751,36682=>18752,36696=>18753,164876=>18754,36772=>18755,36788=>18756,164949=>18757,36801=>18758,36806=>18759,64036=>18760,36810=>18761,36813=>18762,36819=>18763,36821=>18764,36849=>18765,36853=>18766,36859=>18767,36876=>18768,36919=>18769,165227=>18770,36931=>18771,36957=>18772,165320=>18773,165321=>18774,36997=>18775,37004=>18776,37008=>18777,37025=>18778,18613=>18779,37040=>18780,37046=>18781,37059=>18782,37064=>18783,165591=>18784,37084=>18785,37087=>18786,165626=>18787,37110=>18788,37106=>18789,37120=>18790,37099=>18791,37118=>18792,37119=>18793,37124=>18794,37126=>18795,37144=>18796,37150=>18797,37175=>18798,37177=>18799,37190=>18800,37191=>18801,37207=>18802,37209=>18803,37236=>18804,37241=>18805,37253=>18806,37299=>18807,37302=>18808,37315=>18809,37316=>18810,166217=>18811,166214=>18812,37356=>18813,37377=>18814,37398=>18815,37399=>18816,166251=>18817,37442=>18818,37450=>18819,37462=>18820,37473=>18821,37477=>18822,37480=>18823,166280=>18824,37500=>18825,37501=>18826,37503=>18827,37513=>18828,37517=>18829,37527=>18830,37529=>18831,37535=>18832,37547=>18833,166330=>18834,166331=>18835,37554=>18836,37567=>18837,37568=>18838,37574=>18839,37582=>18840,37605=>18841,37649=>18842,166430=>18843,166441=>18844,37623=>18845,37673=>18846,166513=>18847,166467=>18848,37713=>18849,37722=>18850,37739=>18851,37745=>18852,37747=>18853,37793=>18854,166553=>18855,166605=>18856,37768=>18857,37771=>18858,37775=>18859,37790=>18860,37877=>18861,166628=>18862,166621=>18863,37873=>18864,37831=>18865,37852=>18866,37863=>18867,37897=>18868,37910=>18869,37911=>18870,37883=>18871,37938=>18872,37947=>18873,166849=>18874,166895=>18875,37997=>18876,37999=>18877,38265=>18878,38278=>18879,38284=>18880,38285=>18881,167184=>18882,167281=>18883,38344=>18884,167419=>18885,167455=>18886,38444=>18887,38451=>18888,38452=>18889,167478=>18890,38460=>18891,38497=>18892,167561=>18893,38530=>18894,167659=>18895,38554=>18896,167730=>18897,18919=>18898,38579=>18899,38586=>18900,38589=>18901,18938=>18902,167928=>18903,38616=>18904,38618=>18905,38621=>18906,18948=>18907,38676=>18908,38691=>18909,18985=>18910,38710=>18911,38721=>18912,38727=>18913,38743=>18914,38747=>18915,38762=>18916,168608=>18917,168625=>18918,38806=>18919,38814=>18920,38833=>18921,38834=>18922,38846=>18923,38860=>18924,38865=>18925,38868=>18926,38872=>18927,38881=>18928,38897=>18929,38916=>18930,38925=>18931,38932=>18932,38934=>18933,19132=>18934,169104=>18935,38962=>18936,38963=>18937,38949=>18938,38983=>18939,39014=>18940,39083=>18941,39085=>18942,39088=>18943,169423=>18944,39095=>18945,39099=>18946,39100=>18947,39106=>18948,39111=>18949,39115=>18950,39137=>18951,39139=>18952,39146=>18953,39152=>18954,39153=>18955,39155=>18956,39176=>18957,19259=>18958,169712=>18959,39190=>18960,39191=>18961,169753=>18962,39194=>18963,39195=>18964,39196=>18965,169808=>18966,39217=>18967,39226=>18968,39227=>18969,39228=>18970,39233=>18971,39238=>18972,39246=>18973,39264=>18974,39331=>18975,39334=>18976,39357=>18977,39359=>18978,39363=>18979,39380=>18980,39385=>18981,39390=>18982,170182=>18983,39408=>18984,39417=>18985,39420=>18986,39434=>18987,39441=>18988,39450=>18989,39456=>18990,39473=>18991,39492=>18992,39500=>18993,39512=>18994,19394=>18995,39599=>18996,19402=>18997,39607=>18998,19410=>18999,39609=>19000,170610=>19001,39622=>19002,39632=>19003,39634=>19004,39637=>19005,39648=>19006,39653=>19007,39657=>19008,39692=>19009,39696=>19010,39698=>19011,39702=>19012,39708=>19013,39723=>19014,39741=>19015,19488=>19016,39755=>19017,39779=>19018,39781=>19019,39787=>19020,39788=>19021,39798=>19022,39799=>19023,39846=>19024,39852=>19025,171483=>19026,39858=>19027,39864=>19028,39870=>19029,39923=>19030,39896=>19031,39901=>19032,39914=>19033,39919=>19034,39918=>19035,171541=>19036,171658=>19037,171593=>19038,39958=>19039,39960=>19040,39961=>19041,39962=>19042,39965=>19043,39970=>19044,39977=>19045,171716=>19046,39985=>19047,39991=>19048,40005=>19049,40028=>19050,171753=>19051,40009=>19052,40010=>19053,171739=>19054,40020=>19055,40024=>19056,40027=>19057,40029=>19058,40031=>19059,40041=>19060,40042=>19061,40043=>19062,40045=>19063,40046=>19064,40050=>19065,40053=>19066,40058=>19067,40166=>19068,40178=>19069,40203=>19070,171982=>19071,171991=>19071,40209=>19072,40215=>19073,40216=>19074,172079=>19075,19652=>19076,172058=>19077,40242=>19078,19665=>19079,40266=>19080,40287=>19081,40290=>19082,172281=>19083,172162=>19084,40307=>19085,40310=>19086,40311=>19087,40324=>19088,40345=>19089,40353=>19090,40383=>19091,40373=>19092,40377=>19093,40381=>19094,40393=>19095,40410=>19096,40416=>19097,40419=>19098,19719=>19099,40458=>19100,40450=>19101,40461=>19102,40476=>19103,40571=>19104,139800=>19105,40576=>19106,40581=>19107,40603=>19108,172940=>19109,40637=>19110,173111=>19111,40671=>19112,40703=>19113,40706=>19114,19831=>19115,40707=>19116,40762=>19117,40765=>19118,40774=>19119,40787=>19120,40789=>19121,40792=>19122,173553=>19123,40797=>19124,173570=>19125,40809=>19126,40813=>19127,40816=>19128,173746=>19129,11948=>19130,13844=>19131,14509=>19132,15820=>19133,16348=>19134,17854=>19135,17936=>19136,19326=>19137,19512=>19138,19681=>19139,19980=>19140,20003=>19141,20004=>19142,20089=>19143,20211=>19144,20236=>19145,20249=>19146,20267=>19147,20270=>19148,20273=>19149,20356=>19150,20382=>19151,20407=>19152,20484=>19153,20492=>19154,20556=>19155,20575=>19156,20578=>19157,20599=>19158,20622=>19159,20638=>19160,20642=>19161,20675=>19162,20712=>19163,20721=>19164,20734=>19165,20743=>19166,20748=>19167,20749=>19168,20750=>19169,20787=>19170,20792=>19171,20852=>19172,20868=>19173,20920=>19174,20922=>19175,20936=>19176,20943=>19177,20945=>19178,20947=>19179,20948=>19180,20952=>19181,20959=>19182,20997=>19183,21030=>19184,21032=>19185,21035=>19186,21041=>19187,21042=>19188,21045=>19189,21052=>19190,21082=>19191,21088=>19192,21102=>19193,21112=>19194,21113=>19195,21130=>19196,21132=>19197,21217=>19198,21225=>19199,21233=>19200,21251=>19201,21265=>19202,21279=>19203,21293=>19204,21298=>19205,21309=>19206,21349=>19207,21357=>19208,21369=>19209,21374=>19210,21396=>19211,21401=>19212,21418=>19213,21423=>19214,21434=>19215,21441=>19216,21444=>19217,21445=>19218,21472=>19219,21523=>19220,21546=>19221,21553=>19222,21556=>19223,21557=>19224,21580=>19225,21671=>19226,21674=>19227,21681=>19228,21691=>19229,21710=>19230,21738=>19231,21756=>19232,21765=>19233,21768=>19234,21781=>19235,21799=>19236,21802=>19237,21814=>19238,21841=>19239,21862=>19240,21903=>19241,21906=>19242,21908=>19243,21924=>19244,21938=>19245,21955=>19246,21958=>19247,21971=>19248,21979=>19249,21996=>19250,21998=>19251,22001=>19252,22006=>19253,22008=>19254,22021=>19255,22029=>19256,22033=>19257,22034=>19258,22060=>19259,22069=>19260,22073=>19261,22093=>19262,22100=>19263,22149=>19264,22175=>19265,22182=>19266,22199=>19267,22220=>19268,22223=>19269,22233=>19270,22241=>19271,22251=>19272,22253=>19273,22257=>19274,22279=>19275,22284=>19276,22298=>19277,22299=>19278,22301=>19279,22316=>19280,22318=>19281,22333=>19282,22334=>19283,22367=>19284,22379=>19285,22381=>19286,22394=>19287,22403=>19288,22423=>19289,22446=>19290,22485=>19291,22503=>19292,22541=>19293,22566=>19294,22605=>19295,22607=>19296,22623=>19297,22637=>19298,22655=>19299,22657=>19300,22680=>19301,22716=>19302,22815=>19303,22819=>19304,22873=>19305,22905=>19306,22935=>19307,22959=>19308,22963=>19309,23007=>19310,23025=>19311,23032=>19312,23218=>19313,23224=>19314,23274=>19315,23286=>19316,23323=>19317,23325=>19318,23329=>19319,23352=>19320,23479=>19321,23511=>19322,23520=>19323,23583=>19324,23594=>19325,23596=>19326,23606=>19327,23641=>19328,23644=>19329,23661=>19330,23773=>19331,23809=>19332,23860=>19333,23869=>19334,23897=>19335,23934=>19336,23939=>19337,24007=>19338,24057=>19339,24104=>19340,24114=>19341,24117=>19342,24155=>19343,24168=>19344,24170=>19345,24183=>19346,24192=>19347,24203=>19348,24243=>19349,24253=>19350,24273=>19351,24276=>19352,24277=>19353,24397=>19354,24492=>19355,24554=>19356,24583=>19357,24649=>19358,24660=>19359,24679=>19360,24763=>19361,24772=>19362,24829=>19363,24842=>19364,24854=>19365,24874=>19366,24886=>19367,24926=>19368,24932=>19369,24955=>19370,24957=>19371,24959=>19372,24989=>19373,25016=>19374,25052=>19375,25058=>19376,25061=>19377,25064=>19378,25092=>19379,25095=>19380,25137=>19381,25145=>19382,25149=>19383,25210=>19384,25232=>19385,25256=>19386,25306=>19387,25332=>19388,25366=>19389,25386=>19390,25398=>19391,25414=>19392,25419=>19393,25427=>19394,25457=>19395,25461=>19396,25471=>19397,25474=>19398,25482=>19399,25518=>19400,25519=>19401,25578=>19402,25592=>19403,25593=>19404,25618=>19405,25624=>19406,25632=>19407,25636=>19408,25642=>19409,25653=>19410,25661=>19411,25663=>19412,25682=>19413,25695=>19414,25716=>19415,25744=>19416,25752=>19417,25753=>19418,25772=>19419,25779=>19420,25837=>19421,25840=>19422,25883=>19423,25887=>19424,25902=>19425,25929=>19426,25952=>19427,26002=>19428,26005=>19429,26036=>19430,26046=>19431,26056=>19432,26062=>19433,26064=>19434,26079=>19435,26238=>19436,26251=>19437,26252=>19438,26291=>19439,26304=>19440,26319=>19441,26405=>19442,26421=>19443,26453=>19444,26496=>19445,26511=>19446,26513=>19447,26532=>19448,26545=>19449,26549=>19450,26558=>19451,26664=>19452,26758=>19453,26859=>19454,26869=>19455,26903=>19456,26931=>19457,26936=>19458,26971=>19459,26981=>19460,27048=>19461,27051=>19462,27055=>19463,27109=>19464,27121=>19465,27210=>19466,27221=>19467,27239=>19468,27249=>19469,27311=>19470,27336=>19471,27337=>19472,27395=>19473,27451=>19474,27455=>19475,27517=>19476,27518=>19477,27568=>19478,27639=>19479,27641=>19480,27652=>19481,27657=>19482,27661=>19483,27692=>19484,27722=>19485,27730=>19486,27732=>19487,27769=>19488,27820=>19489,27828=>19490,27858=>19491,28001=>19492,28028=>19493,28089=>19494,28144=>19495,28229=>19496,28275=>19497,28283=>19498,28285=>19499,28297=>19500,28348=>19501,28378=>19502,28379=>19503,28454=>19504,28457=>19505,28464=>19506,28551=>19507,28573=>19508,28590=>19509,28599=>19510,28685=>19511,28704=>19512,28745=>19513,28824=>19514,28848=>19515,28885=>19516,28886=>19517,28997=>19518,29106=>19519,29172=>19520,29207=>19521,29215=>19522,29251=>19523,29263=>19524,29264=>19525,29274=>19526,29280=>19527,29288=>19528,29303=>19529,29316=>19530,29385=>19531,29413=>19532,29428=>19533,29442=>19534,29451=>19535,29470=>19536,29474=>19537,29498=>19538,29499=>19539,29517=>19540,29528=>19541,29543=>19542,29810=>19543,29871=>19544,29919=>19545,29924=>19546,29940=>19547,29947=>19548,29974=>19549,29985=>19550,30015=>19551,30046=>19552,30105=>19553,30116=>19554,30145=>19555,30148=>19556,30156=>19557,30167=>19558,30172=>19559,30177=>19560,30191=>19561,30212=>19562,30220=>19563,30237=>19564,30258=>19565,30264=>19566,30277=>19567,30282=>19568,30303=>19569,30381=>19570,30397=>19571,30425=>19572,30443=>19573,30448=>19574,30457=>19575,30464=>19576,30478=>19577,30498=>19578,30504=>19579,30511=>19580,30521=>19581,30526=>19582,30533=>19583,30538=>19584,30543=>19585,30558=>19586,30564=>19587,30567=>19588,30572=>19589,30596=>19590,30604=>19591,30605=>19592,30614=>19593,30631=>19594,30639=>19595,30647=>19596,30654=>19597,30665=>19598,30673=>19599,30681=>19600,30705=>19601,30775=>19602,30812=>19603,30846=>19604,30872=>19605,30881=>19606,30897=>19607,30899=>19608,30921=>19609,30931=>19610,30988=>19611,31007=>19612,31015=>19613,31016=>19614,31039=>19615,31042=>19616,31060=>19617,31083=>19618,31100=>19619,31147=>19620,31172=>19621,31210=>19622,31234=>19623,31244=>19624,31280=>19625,31290=>19626,31300=>19627,31360=>19628,31366=>19629,31380=>19630,31413=>19631,31421=>19632,31486=>19633,31531=>19634,31607=>19635,31648=>19636,31660=>19637,31664=>19638,31720=>19639,31730=>19640,31736=>19641,31740=>19642,31742=>19643,31753=>19644,31784=>19645,31791=>19646,31810=>19647,31826=>19648,31827=>19649,31835=>19650,31836=>19651,31837=>19652,31858=>19653,31869=>19654,31879=>19655,31902=>19656,31930=>19657,31943=>19658,31955=>19659,31962=>19660,32060=>19661,32077=>19662,32130=>19663,32133=>19664,32141=>19665,32145=>19666,32158=>19667,32179=>19668,32185=>19669,32208=>19670,32229=>19671,32245=>19672,32246=>19673,32303=>19674,32310=>19675,32324=>19676,32367=>19677,32376=>19678,32385=>19679,32573=>19680,32603=>19681,32605=>19682,32613=>19683,32625=>19684,32639=>19685,32640=>19686,32651=>19687,32674=>19688,32765=>19689,32766=>19690,32767=>19691,32775=>19692,32781=>19693,32798=>19694,32825=>19695,32904=>19696,32910=>19697,32975=>19698,32980=>19699,33005=>19700,33008=>19701,33015=>19702,33018=>19703,33022=>19704,33027=>19705,33047=>19706,33072=>19707,33111=>19708,33135=>19709,33139=>19710,33163=>19711,33168=>19712,33179=>19713,33182=>19714,33227=>19715,33237=>19716,33245=>19717,33246=>19718,33249=>19719,33263=>19720,33270=>19721,33280=>19722,33291=>19723,33299=>19724,33300=>19725,33306=>19726,33338=>19727,33348=>19728,33389=>19729,33412=>19730,33417=>19731,33425=>19732,33450=>19733,33456=>19734,33488=>19735,33514=>19736,33519=>19737,33526=>19738,33622=>19739,33656=>19740,33784=>19741,33788=>19742,33880=>19743,33939=>19744,33969=>19745,33981=>19746,34043=>19747,34118=>19748,34134=>19749,34141=>19750,34181=>19751,34200=>19752,34370=>19753,34374=>19754,34496=>19755,34580=>19756,34594=>19757,34606=>19758,34617=>19759,34653=>19760,34683=>19761,34700=>19762,34702=>19763,34711=>19764,34712=>19765,34718=>19766,34723=>19767,34734=>19768,34751=>19769,34761=>19770,34778=>19771,34840=>19772,34843=>19773,34861=>19774,34874=>19775,34885=>19776,34891=>19777,34894=>19778,34901=>19779,34906=>19780,34926=>19781,34970=>19782,34971=>19783,34972=>19784,35021=>19785,35040=>19786,35055=>19787,35086=>19788,35087=>19789,35110=>19790,35125=>19791,35162=>19792,35164=>19793,35179=>19794,35184=>19795,35196=>19796,35237=>19797,35253=>19798,35260=>19799,35285=>19800,35401=>19801,35415=>19802,35431=>19803,35454=>19804,35462=>19805,35478=>19806,35510=>19807,35529=>19808,35537=>19809,35549=>19810,35564=>19811,35573=>19812,35590=>19813,35599=>19814,35601=>19815,35653=>19816,35666=>19817,35693=>19818,35704=>19819,35708=>19820,35710=>19821,35717=>19822,35743=>19823,35915=>19824,35923=>19825,35963=>19826,36026=>19827,36037=>19828,36041=>19829,36050=>19830,36076=>19831,36085=>19832,36087=>19833,36097=>19834,36099=>19835,36119=>19836,36124=>19837,36206=>19838,36241=>19839,36255=>19840,36267=>19841,36274=>19842,36309=>19843,36327=>19844,36337=>19845,36338=>19846,36340=>19847,36353=>19848,36363=>19849,36390=>19850,36401=>19851,36416=>19852,36417=>19853,36429=>19854,36431=>19855,36444=>19856,36449=>19857,36457=>19858,36465=>19859,36469=>19860,36471=>19861,36489=>19862,36496=>19863,36501=>19864,36506=>19865,36519=>19866,36521=>19867,36525=>19868,36584=>19869,36592=>19870,36615=>19871,36632=>19872,36645=>19873,36647=>19874,36652=>19875,36661=>19876,36666=>19877,36675=>19878,36679=>19879,36689=>19880,36693=>19881,36768=>19882,36769=>19883,36770=>19884,36773=>19885,36868=>19886,36891=>19887,36911=>19888,36940=>19889,36955=>19890,36976=>19891,36980=>19892,36985=>19893,37003=>19894,37016=>19895,37024=>19896,37042=>19897,37053=>19898,37065=>19899,37104=>19900,37125=>19901,37157=>19902,37210=>19903,37223=>19904,37242=>19905,37258=>19906,37265=>19907,37269=>19908,37296=>19909,37307=>19910,37309=>19911,37314=>19912,37317=>19913,37376=>19914,37385=>19915,37411=>19916,37494=>19917,37518=>19918,37551=>19919,37563=>19920,37564=>19921,37569=>19922,37571=>19923,37573=>19924,37576=>19925,37652=>19926,37683=>19927,37686=>19928,37720=>19929,37759=>19930,37762=>19931,37770=>19932,37819=>19933,37836=>19934,37862=>19935,37881=>19936,37890=>19937,37901=>19938,37902=>19939,37934=>19940,37964=>19941,38280=>19942,38305=>19943,38335=>19944,38342=>19945,38345=>19946,38353=>19947,38354=>19948,38368=>19949,38372=>19950,38374=>19951,38436=>19952,38449=>19953,38456=>19954,38461=>19955,38484=>19956,38516=>19957,38523=>19958,38527=>19959,38529=>19960,38531=>19961,38537=>19962,38550=>19963,38574=>19964,38659=>19965,38683=>19966,38689=>19967,38690=>19968,38696=>19969,38705=>19970,38759=>19971,38774=>19972,38781=>19973,38783=>19974,38809=>19975,38815=>19976,38828=>19977,38841=>19978,38861=>19979,38880=>19980,38895=>19981,38919=>19982,38950=>19983,38958=>19984,39010=>19985,39011=>19986,39092=>19987,39109=>19988,39170=>19989,39185=>19990,39189=>19991,39221=>19992,39240=>19993,39252=>19994,39262=>19995,39393=>19996,39436=>19997,39440=>19998,39459=>19999,39489=>20000,39505=>20001,39613=>20002,39614=>20003,39681=>20004,39689=>20005,39691=>20006,39693=>20007,39694=>20008,39705=>20009,39733=>20010,39752=>20011,39765=>20012,39784=>20013,39808=>20014,39814=>20015,39824=>20016,39837=>20017,39856=>20018,39871=>20019,39880=>20020,39935=>20021,39938=>20022,39964=>20023,39989=>20024,40004=>20025,40022=>20026,40033=>20027,40040=>20028,40240=>20029,40253=>20030,40298=>20031,40315=>20032,40421=>20033,40425=>20034,40435=>20035,40570=>20036,40578=>20037,40579=>20038,40580=>20039,40624=>20040,40676=>20041,40688=>20042,40690=>20043,40713=>20044,40719=>20045,40724=>20046,40731=>20047,40738=>20048,40742=>20049,40746=>20050,40747=>20051,40756=>20052,40794=>20053,40815=>20054,40862=>20055,40869=>20056,131317=>20057,151044=>20058,151538=>20059,163187=>20060,194581=>20061,194630=>20062,194713=>20063,194726=>20064,194789=>20065,195038=>20066,13790=>20067,40895=>20068,40896=>20069,40897=>20070,40898=>20071,172722=>20072,131416=>20075,132529=>20080,132844=>20083,134488=>20090,154060=>20112,14756=>20122,14776=>20123,142914=>20124,14940=>20127,133064=>20128,143339=>20130,162228=>20133,15044=>20135,15051=>20136,14981=>20142,15347=>20151,27384=>20152,15665=>20158,147531=>20168,15936=>20170,14497=>20171,158878=>20206,18207=>20219,162876=>20220,18462=>20225,39709=>20297,39724=>20298,20482=>20299,20958=>20300,21255=>20301,23532=>20302,63784=>20303,26142=>20304,63785=>20305,28746=>20306,64021=>20307,21857=>20308,27706=>20309,31328=>20310,156492=>20311,34819=>20312,38315=>20313,38741=>20314,171581=>20315,173594=>20316,900=>20317,901=>20318,272=>20322,294=>20323,306=>20324,319=>20325,330=>20326,358=>20327,307=>20328,312=>20329,320=>20330,329=>20331,359=>20332,266=>20333,278=>20334,286=>20335,290=>20336,288=>20337,304=>20338,302=>20339,310=>20340,315=>20342,325=>20343,342=>20344,370=>20345,471=>20346,475=>20347,473=>20348,469=>20349,372=>20350,374=>20351,267=>20352,279=>20353,501=>20354,287=>20355,289=>20356,303=>20357,311=>20358,316=>20360,326=>20361,343=>20362,371=>20363,373=>20364,375=>20365,8494=>20366,8710=>20367,8719=>20368,8804=>20369,8805=>20370,9674=>20371,902=>20427,904=>20428,905=>20429,906=>20430,938=>20431,908=>20432,910=>20433,939=>20434,911=>20435,940=>20436,941=>20437,942=>20438,943=>20439,970=>20440,912=>20441,972=>20442,973=>20443,971=>20444,944=>20445,974=>20446,1026=>20447,1027=>20448,1028=>20449,1029=>20450,1030=>20451,1031=>20452,1032=>20453,1033=>20454,1034=>20455,1035=>20456,1036=>20457,1038=>20458,1039=>20459,1106=>20460,1107=>20461,1108=>20462,1109=>20463,1110=>20464,1111=>20465,1112=>20466,1113=>20467,1114=>20468,1115=>20469,1116=>20470,1118=>20471,1119=>20472,9361=>20587,9362=>20588,20021=>21075,20060=>21076,20067=>21077,20072=>21078,20084=>21079,20085=>21080,20119=>21081,20143=>21082,20187=>21083,20194=>21084,20200=>21085,20207=>21086,20222=>21087,20226=>21088,20232=>21089,20242=>21090,20247=>21091,20275=>21092,20277=>21093,20288=>21094,20290=>21095,20299=>21096,20300=>21097,20306=>21098,20323=>21099,20334=>21100,20337=>21101,20345=>21102,20353=>21103,20361=>21104,20364=>21105,20366=>21106,20368=>21107,20371=>21108,20377=>21109,20383=>21110,20409=>21111,20411=>21112,20412=>21113,20413=>21114,20416=>21115,20417=>21116,20422=>21117,20424=>21118,20428=>21119,20444=>21120,20450=>21121,20464=>21122,20476=>21123,20487=>21124,20490=>21125,20503=>21126,20509=>21127,20528=>21128,20530=>21129,20531=>21130,20533=>21131,20549=>21132,20554=>21133,20561=>21134,20562=>21135,20569=>21136,20576=>21137,20583=>21138,20589=>21139,20593=>21140,20609=>21141,20611=>21142,20612=>21143,20614=>21144,20618=>21145,20624=>21146,20635=>21147,20639=>21148,20640=>21149,20641=>21150,20655=>21151,20656=>21152,20665=>21153,20669=>21154,20672=>21155,20691=>21156,20700=>21157,20701=>21158,20703=>21159,20706=>21160,20708=>21161,20726=>21162,20730=>21163,20761=>21165,20764=>21166,20765=>21167,20771=>21168,20775=>21169,20776=>21170,20780=>21171,20781=>21172,20783=>21173,20785=>21174,20788=>21175,20793=>21176,20802=>21177,20815=>21178,20819=>21179,20824=>21180,20838=>21181,20862=>21182,20878=>21183,20927=>21184,20930=>21185,20946=>21186,20949=>21187,20965=>21188,20978=>21189,20983=>21190,21016=>21191,21026=>21192,21061=>21193,21080=>21194,21087=>21195,21120=>21196,21125=>21197,21141=>21198,21142=>21199,21143=>21200,21146=>21201,21157=>21202,21159=>21203,21168=>21204,21174=>21205,21175=>21206,21176=>21207,21181=>21208,21188=>21209,21190=>21210,21199=>21211,21204=>21212,21212=>21213,21221=>21214,21224=>21215,21226=>21216,21228=>21217,21236=>21218,21238=>21219,21260=>21220,21267=>21221,21272=>21222,21275=>21223,21278=>21224,21285=>21225,21287=>21226,21288=>21227,21289=>21228,21291=>21229,21292=>21230,21296=>21231,21308=>21232,21337=>21233,21339=>21234,21379=>21236,21383=>21237,21384=>21238,21390=>21239,21409=>21240,21429=>21241,21432=>21242,21437=>21243,21455=>21244,21458=>21245,21459=>21246,21470=>21247,21479=>21249,21506=>21250,21530=>21251,21537=>21252,21551=>21253,21572=>21254,21575=>21255,21583=>21256,21598=>21257,21604=>21258,21607=>21259,21609=>21260,21613=>21261,21614=>21262,21633=>21263,21635=>21264,21637=>21265,21641=>21266,21649=>21267,21663=>21268,21706=>21269,21728=>21270,21750=>21271,21758=>21272,21772=>21273,21773=>21274,21810=>21275,21819=>21276,21821=>21277,21833=>21278,21837=>21279,21848=>21280,21850=>21281,21851=>21282,21887=>21283,21907=>21284,21911=>21285,21923=>21286,21953=>21287,21963=>21288,21975=>21289,21976=>21290,21982=>21291,22015=>21292,22026=>21294,22041=>21295,22067=>21296,22076=>21297,22081=>21298,22083=>21299,22084=>21300,22086=>21301,22113=>21302,22114=>21303,22115=>21304,22133=>21305,22148=>21306,22155=>21307,22183=>21308,22187=>21309,22206=>21310,22219=>21311,22224=>21312,22236=>21313,22245=>21314,22246=>21315,22247=>21316,22273=>21317,22274=>21318,22289=>21319,22304=>21320,22306=>21321,22308=>21322,22309=>21323,22314=>21324,22335=>21325,22354=>21326,22370=>21327,22375=>21328,22382=>21329,22385=>21330,22393=>21331,22398=>21332,22401=>21333,22420=>21334,22425=>21335,22431=>21336,22433=>21337,22421=>21338,22439=>21339,22441=>21340,22461=>21341,22493=>21342,22505=>21343,22526=>21344,22531=>21345,22536=>21346,22497=>21347,22540=>21348,22555=>21349,22559=>21350,22573=>21351,22591=>21352,22608=>21353,22613=>21354,22632=>21355,22648=>21356,22663=>21357,22664=>21358,22668=>21359,22678=>21360,22688=>21361,22689=>21362,22690=>21363,22694=>21364,22724=>21365,22722=>21366,22728=>21367,22742=>21368,22749=>21369,22753=>21370,22802=>21372,22803=>21373,22813=>21374,22817=>21375,22824=>21376,22832=>21377,22835=>21378,22837=>21379,22838=>21380,22847=>21381,22851=>21382,22866=>21383,22878=>21384,22891=>21385,22895=>21386,22898=>21387,22907=>21388,22924=>21389,22926=>21390,22933=>21391,22951=>21392,22957=>21393,22960=>21394,22967=>21395,22977=>21396,22980=>21397,23023=>21398,23026=>21399,23028=>21400,23031=>21401,23040=>21402,23054=>21403,23058=>21404,23070=>21405,23076=>21406,23080=>21407,23082=>21408,23088=>21409,23108=>21410,23109=>21411,23112=>21412,23116=>21413,23120=>21414,23134=>21415,23163=>21416,23184=>21417,23187=>21418,23190=>21419,23193=>21420,23227=>21421,23238=>21422,23240=>21423,23247=>21424,23293=>21425,23297=>21426,23371=>21427,23390=>21428,23406=>21429,23430=>21430,23438=>21431,23440=>21432,23441=>21433,23444=>21434,23464=>21435,23465=>21436,23469=>21437,23471=>21438,23473=>21439,23474=>21440,23482=>21441,23484=>21442,23489=>21443,23501=>21444,23503=>21445,23513=>21446,23514=>21447,23535=>21448,23540=>21449,23564=>21450,23575=>21451,23590=>21452,23598=>21453,23602=>21454,23605=>21455,23642=>21456,23668=>21457,23669=>21458,23675=>21459,23677=>21460,23687=>21461,23698=>21462,23709=>21463,23730=>21464,23732=>21465,23767=>21466,23790=>21467,23793=>21468,23794=>21469,23826=>21470,23843=>21471,23871=>21472,23880=>21473,23893=>21474,23889=>21475,23903=>21476,23904=>21477,23906=>21478,23908=>21479,23929=>21480,23930=>21481,23935=>21482,23946=>21483,23955=>21484,23957=>21485,23963=>21486,23967=>21487,23979=>21488,24003=>21489,24014=>21490,24025=>21491,24071=>21492,24077=>21493,24096=>21494,24139=>21495,24144=>21496,24145=>21497,24156=>21498,24176=>21499,24206=>21500,24226=>21501,24228=>21502,24241=>21503,24268=>21504,24270=>21505,24284=>21506,24286=>21507,24293=>21508,24299=>21509,24326=>21510,24345=>21511,24356=>21512,24363=>21513,24364=>21514,24366=>21515,24368=>21516,24383=>21517,24388=>21518,24411=>21519,24416=>21520,24431=>21521,24436=>21522,24437=>21523,24440=>21524,24442=>21525,24461=>21526,24470=>21527,24477=>21528,24491=>21529,24496=>21530,24497=>21531,24520=>21532,24528=>21533,24529=>21534,24552=>21535,24556=>21536,24562=>21537,24566=>21538,24570=>21539,24586=>21540,24595=>21541,24607=>21542,24621=>21543,24640=>21544,24648=>21545,24657=>21546,24662=>21547,24663=>21548,24689=>21549,24702=>21550,24706=>21551,24710=>21552,24712=>21553,24718=>21554,24721=>21555,24723=>21556,24728=>21557,24738=>21559,24741=>21560,24759=>21561,24770=>21562,24777=>21563,24778=>21564,24782=>21565,24783=>21566,24802=>21567,24805=>21568,24828=>21569,24834=>21570,24839=>21571,24844=>21572,24855=>21573,24866=>21574,24881=>21575,24885=>21576,24889=>21577,24901=>21578,24905=>21579,24940=>21580,24946=>21581,24952=>21582,24960=>21583,24961=>21584,24963=>21585,24964=>21586,24971=>21587,24988=>21588,24992=>21589,25002=>21590,25024=>21591,25025=>21592,25038=>21593,25039=>21594,25054=>21595,25057=>21596,25063=>21597,25065=>21598,25068=>21599,25069=>21600,25071=>21601,25089=>21602,25091=>21603,25116=>21604,25120=>21605,25127=>21606,25131=>21607,25154=>21608,25156=>21609,25168=>21610,25172=>21611,25180=>21612,25213=>21613,25229=>21614,25230=>21615,25231=>21616,25267=>21617,25270=>21618,25271=>21619,25274=>21620,25278=>21621,25279=>21622,25294=>21623,25322=>21624,25330=>21625,25348=>21626,25355=>21627,25363=>21628,25385=>21629,25389=>21630,25418=>21631,25426=>21632,25428=>21633,25432=>21634,25435=>21635,25446=>21636,25453=>21637,25464=>21638,25493=>21639,25498=>21640,25508=>21641,25510=>21642,25517=>21643,25537=>21644,25541=>21645,25544=>21646,25550=>21647,25555=>21648,25587=>21649,25610=>21650,25648=>21651,25675=>21652,25679=>21653,25683=>21654,25692=>21655,25697=>21656,25699=>21657,25733=>21658,25743=>21659,25755=>21660,25761=>21661,25763=>21662,25766=>21663,25768=>21664,25789=>21665,25801=>21666,25809=>21667,25833=>21668,25834=>21669,25845=>21670,25857=>21671,25864=>21672,25865=>21673,25866=>21674,25875=>21675,25894=>21676,25905=>21677,25914=>21678,25916=>21679,25917=>21680,25923=>21681,25936=>21682,25938=>21683,25951=>21684,25981=>21685,26008=>21686,26016=>21687,26019=>21688,26022=>21689,26030=>21690,26035=>21691,26070=>21692,26072=>21693,26100=>21695,26101=>21696,26110=>21697,26111=>21698,26125=>21699,26129=>21700,26130=>21701,26134=>21702,26141=>21703,26147=>21704,26150=>21705,26153=>21706,26169=>21707,26167=>21708,26176=>21709,26182=>21710,26186=>21711,26200=>21712,26208=>21713,26229=>21714,26239=>21715,26233=>21716,26236=>21717,26266=>21718,26267=>21719,26268=>21720,26271=>21721,26306=>21723,26307=>21724,26316=>21725,26318=>21726,26324=>21727,26335=>21728,26347=>21729,26350=>21730,26375=>21731,26396=>21732,26400=>21733,26402=>21734,26430=>21735,26437=>21736,26476=>21737,26500=>21738,26510=>21739,26518=>21740,26521=>21741,26556=>21742,26557=>21743,26562=>21744,26565=>21745,26569=>21746,26588=>21747,26593=>21748,26598=>21749,26610=>21750,26614=>21751,26644=>21752,26649=>21753,26663=>21754,26671=>21755,26687=>21756,26698=>21757,26712=>21758,26735=>21759,26736=>21760,26737=>21761,26745=>21762,26747=>21763,26760=>21764,26785=>21765,26793=>21766,26798=>21767,26833=>21768,26835=>21769,26844=>21770,26845=>21771,26858=>21772,26870=>21773,26877=>21774,26886=>21775,26889=>21776,26896=>21777,26902=>21778,26929=>21779,26949=>21780,26958=>21781,26982=>21782,26992=>21783,26993=>21784,27003=>21785,27021=>21786,27041=>21787,27064=>21788,27077=>21789,27080=>21790,27136=>21792,27139=>21793,27168=>21794,27172=>21795,27191=>21796,27242=>21798,27265=>21799,27270=>21800,27271=>21801,27291=>21802,27312=>21803,27313=>21804,27316=>21805,27326=>21806,27327=>21807,27340=>21808,27349=>21809,27350=>21810,27376=>21811,27388=>21812,27394=>21813,27398=>21814,27399=>21815,27401=>21816,27432=>21817,27435=>21818,27446=>21819,27469=>21820,27474=>21821,27485=>21822,27499=>21823,27502=>21824,27504=>21825,27525=>21826,27543=>21827,27551=>21828,27552=>21829,27554=>21830,27555=>21831,27560=>21832,27564=>21833,27576=>21834,27577=>21835,27587=>21836,27588=>21837,27619=>21838,27666=>21839,27673=>21840,27679=>21841,27686=>21842,27687=>21843,27688=>21844,27694=>21845,27707=>21846,27723=>21847,27727=>21848,27755=>21849,27768=>21850,27783=>21851,27807=>21852,27824=>21853,27826=>21854,27853=>21855,27855=>21856,27857=>21857,27879=>21858,27890=>21859,27892=>21860,27911=>21861,27919=>21862,27923=>21863,27930=>21864,27944=>21865,27999=>21866,28007=>21867,28050=>21868,28055=>21869,28087=>21870,28093=>21871,28128=>21872,28130=>21873,28133=>21874,28143=>21875,28148=>21876,28160=>21877,28164=>21878,28219=>21879,28242=>21880,28253=>21881,28258=>21882,28264=>21883,28301=>21884,28313=>21885,28320=>21886,28333=>21887,28334=>21888,28339=>21889,28347=>21890,28352=>21891,28360=>21892,28365=>21893,28367=>21894,28397=>21895,28398=>21896,28420=>21897,28424=>21898,28429=>21899,28438=>21900,28443=>21901,28475=>21902,28461=>21903,28495=>21904,28499=>21905,28509=>21906,28524=>21907,28547=>21908,28563=>21909,28582=>21910,28592=>21911,28613=>21912,28648=>21913,28669=>21914,28695=>21915,28719=>21916,28724=>21917,28727=>21918,28740=>21919,28744=>21920,28757=>21921,28820=>21922,28822=>21923,28827=>21924,28852=>21925,28922=>21926,28933=>21927,28939=>21928,28973=>21929,28984=>21930,28993=>21931,29003=>21932,29015=>21934,29018=>21935,29068=>21936,29082=>21937,29104=>21938,29119=>21939,29120=>21940,29132=>21941,29146=>21942,29176=>21943,29192=>21944,29193=>21945,29203=>21946,29210=>21947,29220=>21948,29231=>21949,29253=>21950,29262=>21951,29278=>21952,29291=>21953,29297=>21954,29307=>21955,29308=>21956,29321=>21957,29331=>21958,29352=>21959,29397=>21960,29398=>21961,29400=>21962,29407=>21963,29438=>21964,29453=>21965,29459=>21966,29490=>21967,29493=>21968,29526=>21969,29533=>21970,29534=>21971,29535=>21972,29536=>21973,29545=>21974,29561=>21975,29568=>21976,29582=>21977,29584=>21978,29587=>21979,29591=>21980,29610=>21981,29613=>21982,29638=>21983,29644=>21984,29651=>21985,29661=>21986,29670=>21987,29687=>21988,29691=>21989,29695=>21990,29696=>21991,29713=>21992,29741=>21993,29799=>21994,29800=>21995,29806=>21996,29839=>21997,29841=>21998,29850=>21999,29870=>22000,29873=>22001,29874=>22002,29900=>22003,29904=>22004,29907=>22005,29915=>22007,29928=>22008,29930=>22009,29948=>22011,29958=>22012,29970=>22013,29991=>22014,29993=>22015,30006=>22016,30009=>22017,30019=>22018,30023=>22019,30039=>22020,30047=>22021,30049=>22022,30075=>22023,30076=>22024,30085=>22025,30101=>22026,30108=>22027,30138=>22028,30226=>22029,30243=>22030,30249=>22031,30265=>22032,30266=>22033,30272=>22034,30276=>22035,30297=>22036,30341=>22037,30348=>22038,30349=>22039,30367=>22040,30370=>22041,30371=>22042,30401=>22043,30411=>22044,30432=>22046,30454=>22047,30470=>22048,30482=>22049,30484=>22050,30485=>22051,30492=>22052,30510=>22053,30525=>22054,30530=>22055,30546=>22056,30550=>22057,30551=>22058,30576=>22059,30579=>22060,30580=>22061,30638=>22064,30641=>22065,30645=>22066,30659=>22067,30674=>22068,30677=>22069,30712=>22070,30734=>22071,30737=>22072,30749=>22073,30755=>22074,30788=>22075,30792=>22076,30796=>22077,30802=>22078,30814=>22079,30816=>22080,30817=>22081,30819=>22082,30863=>22083,30888=>22084,30892=>22085,30898=>22086,30909=>22087,30911=>22088,30919=>22089,30930=>22090,30934=>22091,30939=>22092,30943=>22093,30954=>22094,30963=>22095,30966=>22096,30975=>22097,30982=>22098,31002=>22099,31006=>22100,31008=>22101,31017=>22102,31021=>22103,31029=>22104,31044=>22105,31051=>22106,31055=>22107,31057=>22108,31081=>22109,31099=>22110,31102=>22111,31116=>22112,31121=>22113,31123=>22114,31132=>22115,31144=>22116,31151=>22117,31183=>22118,31197=>22119,31200=>22120,31202=>22121,31205=>22122,31217=>22123,31224=>22124,31228=>22125,31239=>22126,31265=>22127,31271=>22128,31275=>22129,31279=>22130,31284=>22131,31285=>22132,31304=>22133,31317=>22134,31333=>22135,31358=>22136,31371=>22137,31377=>22138,31390=>22139,31433=>22140,31451=>22141,31465=>22142,31468=>22143,31473=>22144,31483=>22145,31519=>22146,31523=>22147,31529=>22148,31536=>22149,31540=>22150,31551=>22151,31552=>22152,31594=>22153,31620=>22154,31625=>22155,31630=>22156,31638=>22157,31653=>22158,31666=>22159,31670=>22160,31674=>22161,31675=>22162,31677=>22163,31682=>22164,31688=>22165,31707=>22166,31732=>22167,31733=>22168,31737=>22169,31738=>22170,31746=>22171,31748=>22172,31750=>22173,31756=>22174,31769=>22175,31771=>22176,31781=>22177,31788=>22178,31796=>22179,31801=>22180,31802=>22181,31814=>22182,31829=>22183,31834=>22184,31843=>22185,31868=>22187,31878=>22188,31920=>22189,31931=>22190,31951=>22191,31956=>22192,31977=>22193,32015=>22194,32017=>22195,32022=>22196,32038=>22197,32042=>22198,32045=>22199,32081=>22200,32087=>22201,32101=>22202,32103=>22203,32120=>22204,32123=>22205,32129=>22206,32150=>22207,32195=>22208,32196=>22209,32197=>22210,32198=>22211,32205=>22212,32206=>22213,32256=>22214,32226=>22215,32234=>22216,32237=>22217,32250=>22218,32284=>22219,32301=>22220,32307=>22221,32319=>22222,32334=>22223,32336=>22224,32344=>22225,32351=>22226,32357=>22227,32405=>22228,32413=>22229,32414=>22230,32575=>22231,32604=>22232,32614=>22233,32653=>22235,32655=>22236,32678=>22237,32682=>22238,32692=>22239,32700=>22240,32704=>22241,32712=>22242,32744=>22243,32783=>22244,32787=>22245,32797=>22246,32799=>22247,32800=>22248,32814=>22249,32820=>22250,32830=>22251,32832=>22252,32836=>22253,32868=>22254,32877=>22255,32897=>22256,32953=>22257,32968=>22258,32973=>22259,32978=>22260,33006=>22261,33010=>22262,33014=>22263,33017=>22264,33035=>22265,33052=>22266,33056=>22267,33084=>22268,33093=>22269,33095=>22270,33106=>22271,33121=>22272,33143=>22273,33158=>22274,33166=>22275,33174=>22276,33186=>22277,33198=>22278,33221=>22279,33230=>22280,33259=>22281,33264=>22282,33265=>22283,33266=>22284,33269=>22285,33272=>22286,33295=>22288,33309=>22289,33320=>22290,33347=>22291,33358=>22292,33361=>22293,33366=>22294,33383=>22295,33403=>22296,33408=>22297,33409=>22298,33415=>22299,33428=>22300,33430=>22301,33432=>22302,33434=>22303,33435=>22304,33440=>22305,33498=>22306,33504=>22307,33508=>22308,33517=>22309,33546=>22310,33547=>22311,33566=>22312,33567=>22313,33569=>22314,33580=>22315,33582=>22316,33587=>22317,33591=>22318,33597=>22319,33602=>22320,33613=>22321,33614=>22322,33648=>22323,33664=>22324,33666=>22325,33668=>22326,33689=>22327,33692=>22328,33702=>22329,33708=>22330,33726=>22331,33619=>22332,33768=>22333,33817=>22334,33709=>22335,33839=>22336,33861=>22337,33863=>22338,33869=>22339,33878=>22340,33888=>22342,33892=>22343,33895=>22344,33898=>22345,33908=>22346,33917=>22347,33938=>22348,33941=>22349,33961=>22350,33962=>22351,33991=>22352,33992=>22353,33996=>22354,34034=>22355,34039=>22356,34050=>22357,34051=>22358,34055=>22359,34062=>22360,34064=>22361,34076=>22362,34082=>22363,34087=>22364,34090=>22365,34099=>22366,34102=>22367,34111=>22368,34128=>22369,34130=>22370,34140=>22371,34143=>22373,34144=>22374,34169=>22375,34185=>22376,34187=>22377,34208=>22378,34213=>22379,34215=>22380,34228=>22381,34230=>22382,34232=>22383,34237=>22384,34238=>22385,34239=>22386,34242=>22387,34266=>22388,34272=>22389,34280=>22390,34291=>22391,34300=>22392,34317=>22393,34318=>22394,34329=>22395,34331=>22396,34358=>22397,34362=>22398,34365=>22399,34392=>22400,34393=>22401,34397=>22402,34400=>22403,34401=>22404,34404=>22405,34409=>22406,34422=>22407,34454=>22408,34458=>22409,34465=>22410,34470=>22411,34477=>22412,34484=>22413,34485=>22414,34487=>22415,34489=>22416,34495=>22417,34501=>22418,34514=>22419,34522=>22420,34524=>22421,34528=>22422,34533=>22423,34535=>22424,34440=>22425,34564=>22426,34575=>22427,34607=>22428,34610=>22429,34620=>22430,34621=>22431,34629=>22432,34637=>22433,34657=>22434,34671=>22435,34691=>22436,34692=>22437,34693=>22438,34694=>22439,34704=>22440,34709=>22441,34737=>22443,34760=>22444,34762=>22445,34773=>22446,34777=>22447,34780=>22448,34786=>22449,34788=>22450,34801=>22451,34803=>22452,34808=>22453,34810=>22454,34815=>22455,34825=>22456,34841=>22457,34834=>22458,34842=>22459,34846=>22460,34864=>22461,34869=>22462,34881=>22463,34883=>22464,34888=>22465,34889=>22466,34897=>22468,34908=>22469,34912=>22470,34929=>22471,34937=>22472,34939=>22473,34944=>22474,34975=>22475,34984=>22476,35002=>22477,35019=>22478,35020=>22479,35038=>22480,35047=>22481,35063=>22482,35085=>22483,35093=>22484,35094=>22485,35104=>22486,35112=>22487,35121=>22488,35130=>22489,35142=>22490,35151=>22491,35154=>22492,35159=>22493,35163=>22494,35169=>22495,35171=>22496,35182=>22497,35187=>22498,35189=>22499,35194=>22500,35197=>22501,35213=>22502,35221=>22503,35227=>22504,35228=>22505,35232=>22506,35252=>22507,35254=>22508,35287=>22509,35305=>22510,35309=>22511,35321=>22512,35332=>22513,35333=>22514,35358=>22515,35360=>22516,35364=>22517,35366=>22518,35371=>22519,35372=>22520,35375=>22521,35389=>22522,35392=>22523,35395=>22524,35411=>22525,35414=>22526,35420=>22527,35429=>22528,35446=>22529,35447=>22530,35450=>22531,35451=>22532,35456=>22533,35459=>22534,35467=>22535,35471=>22536,35474=>22537,35479=>22538,35481=>22539,35487=>22540,35497=>22541,35503=>22542,35507=>22543,35515=>22544,35523=>22545,35526=>22546,35528=>22547,35530=>22548,35539=>22549,35540=>22550,35541=>22551,35568=>22552,35583=>22553,35595=>22554,35614=>22555,35632=>22556,35644=>22557,35650=>22558,35656=>22559,35661=>22560,35683=>22561,35705=>22562,35716=>22563,35725=>22564,35727=>22565,35896=>22566,35902=>22567,35921=>22568,35928=>22569,35931=>22570,35933=>22571,35929=>22572,35939=>22573,35940=>22574,35942=>22575,35957=>22576,35958=>22577,35966=>22578,35974=>22579,35975=>22580,35979=>22581,35984=>22582,35996=>22584,36025=>22585,36038=>22586,36043=>22587,36047=>22588,36061=>22589,36072=>22590,36079=>22591,36082=>22592,36095=>22593,36197=>22594,36223=>22595,36226=>22596,36232=>22597,36240=>22598,36254=>22599,36256=>22600,36268=>22601,36277=>22602,36279=>22603,36281=>22604,36283=>22605,36288=>22606,36293=>22607,36295=>22608,36298=>22609,36308=>22610,36325=>22611,36336=>22612,36284=>22613,36356=>22614,36357=>22615,36369=>22616,36403=>22617,36407=>22618,36408=>22619,36430=>22620,36443=>22621,36445=>22622,36446=>22623,36473=>22624,36482=>22625,36483=>22626,36507=>22627,36509=>22628,36514=>22629,36538=>22630,36545=>22631,36547=>22632,36548=>22633,36551=>22634,36572=>22635,36590=>22636,36593=>22637,36599=>22638,36589=>22639,36610=>22640,36623=>22641,36624=>22642,36630=>22643,36640=>22644,36641=>22645,36643=>22646,36648=>22647,36654=>22648,36660=>22649,36663=>22650,36673=>22651,36687=>22652,36690=>22653,36691=>22654,36701=>22655,36702=>22656,36709=>22657,36765=>22658,36792=>22659,36798=>22660,36800=>22661,36811=>22662,36816=>22663,36818=>22664,36835=>22665,36862=>22666,36888=>22667,36904=>22668,36905=>22669,36906=>22670,36915=>22671,36916=>22672,36927=>22673,36962=>22674,36966=>22675,36972=>22676,37006=>22677,37029=>22678,37068=>22679,37077=>22680,37080=>22681,37081=>22682,37093=>22683,37074=>22684,37128=>22685,37133=>22686,37136=>22687,37146=>22688,37152=>22689,37161=>22690,37166=>22691,37174=>22692,37180=>22693,37187=>22694,37199=>22695,37203=>22696,37229=>22697,37243=>22698,37249=>22699,37254=>22700,37267=>22701,37268=>22702,37272=>22703,37281=>22704,37286=>22705,37311=>22706,37331=>22707,37332=>22708,37337=>22709,37353=>22710,37354=>22711,37359=>22712,37369=>22713,37373=>22714,37380=>22715,37381=>22716,37388=>22717,37394=>22718,37395=>22719,37400=>22720,37404=>22721,37405=>22722,37412=>22723,37413=>22724,37414=>22725,37422=>22726,37423=>22727,37424=>22728,37429=>22729,37430=>22730,37438=>22731,37446=>22732,37453=>22733,37464=>22734,37468=>22735,37469=>22736,37481=>22737,37486=>22738,37487=>22739,37488=>22740,37493=>22741,37497=>22742,37499=>22743,37514=>22744,37522=>22745,37536=>22746,37540=>22747,37541=>22748,37544=>22749,37558=>22750,37560=>22751,37562=>22752,37565=>22753,37575=>22754,37581=>22755,37592=>22756,37596=>22757,37597=>22758,37601=>22759,37603=>22760,37608=>22761,37612=>22762,37614=>22763,37616=>22764,37632=>22765,37640=>22766,37660=>22767,37668=>22768,37674=>22769,37684=>22770,37687=>22771,37712=>22772,37717=>22773,37726=>22774,37735=>22775,37737=>22776,37743=>22777,37748=>22778,37750=>22779,37754=>22780,37757=>22781,37760=>22782,37761=>22783,37773=>22784,37778=>22785,37781=>22786,37784=>22787,37798=>22789,37800=>22790,37803=>22791,37812=>22792,37813=>22793,37814=>22794,37828=>22795,37829=>22796,37833=>22797,37835=>22798,37837=>22799,37843=>22800,37849=>22801,37879=>22802,37889=>22803,37896=>22804,37909=>22805,37919=>22806,37935=>22807,37949=>22808,37955=>22809,37977=>22810,37980=>22811,37983=>22812,37985=>22813,37992=>22814,37998=>22815,38020=>22816,38019=>22817,38270=>22818,38276=>22819,38301=>22820,38302=>22821,38330=>22822,38361=>22823,38365=>22824,38367=>22825,38430=>22826,38434=>22827,38437=>22828,38438=>22829,38455=>22830,38457=>22831,38458=>22832,38482=>22833,38486=>22834,38487=>22835,38510=>22836,38524=>22837,38526=>22838,38545=>22839,38559=>22840,38566=>22841,38602=>22842,38623=>22844,38650=>22845,38661=>22846,38682=>22847,38685=>22848,38730=>22850,38744=>22851,38775=>22852,38776=>22853,38779=>22854,38784=>22855,38793=>22856,38807=>22857,38840=>22858,38844=>22859,38847=>22860,38852=>22861,38853=>22862,38855=>22863,38858=>22864,38862=>22865,38864=>22866,38871=>22867,38877=>22868,38884=>22869,38903=>22870,38904=>22871,38906=>22872,38937=>22873,38940=>22874,38944=>22875,38959=>22876,38965=>22877,38980=>22878,38986=>22879,38993=>22880,39018=>22881,39086=>22882,39116=>22883,39142=>22884,39158=>22885,39175=>22886,39199=>22887,39202=>22888,39206=>22889,39211=>22890,39220=>22891,39225=>22892,39239=>22893,39257=>22894,39259=>22895,39323=>22896,39325=>22897,39327=>22898,39344=>22899,39346=>22900,39349=>22901,39379=>22902,39386=>22903,39388=>22904,39399=>22905,39402=>22906,39403=>22907,39404=>22908,39412=>22909,39413=>22910,39421=>22911,39422=>22912,39428=>22913,39435=>22914,39454=>22915,39458=>22916,39475=>22917,39477=>22918,39495=>22919,39499=>22921,39508=>22922,39517=>22923,39594=>22924,39596=>22925,39598=>22926,39602=>22927,39604=>22928,39611=>22929,39615=>22930,39624=>22931,39639=>22932,39643=>22933,39652=>22934,39655=>22935,39660=>22936,39666=>22937,39667=>22938,39669=>22939,39674=>22940,39677=>22941,39679=>22942,39680=>22943,39684=>22944,39685=>22945,39707=>22946,39718=>22947,39735=>22949,39737=>22950,39738=>22951,39756=>22952,39766=>22953,39767=>22954,39771=>22955,39777=>22956,39786=>22957,39789=>22958,39790=>22959,39800=>22960,39807=>22961,39813=>22962,39815=>22963,39817=>22964,39819=>22965,39821=>22966,39828=>22967,39834=>22968,39849=>22969,39863=>22970,39868=>22971,39888=>22972,39929=>22973,39951=>22974,39953=>22975,39966=>22976,39974=>22977,39976=>22978,39997=>22979,40003=>22980,40014=>22981,40030=>22982,40059=>22983,40183=>22984,40185=>22985,40220=>22986,40239=>22987,40243=>22988,40244=>22989,40250=>22990,40252=>22991,40261=>22992,40275=>22993,40276=>22994,40293=>22995,40323=>22996,40326=>22997,40334=>22998,40338=>22999,40339=>23000,40341=>23001,40343=>23002,40344=>23003,40362=>23004,40366=>23005,40394=>23007,40404=>23008,40405=>23009,40414=>23010,40430=>23011,40432=>23012,40446=>23013,40462=>23014,40464=>23015,40465=>23016,40466=>23017,40470=>23018,40583=>23019,40590=>23020,40591=>23021,40598=>23022,40600=>23023,40622=>23024,40627=>23025,40646=>23026,40648=>23027,40651=>23028,40661=>23029,40684=>23030,40685=>23031,40689=>23032,40693=>23033,40696=>23034,40721=>23035,40726=>23036,40730=>23037,40735=>23038,40753=>23039,40754=>23040,40764=>23041,40767=>23042,40771=>23043,40772=>23044,40775=>23045,40790=>23046,40798=>23047,40814=>23048,40819=>23049,40826=>23050,40829=>23051,40847=>23052,40849=>23053,40850=>23054,40854=>23055,40865=>23056,40867=>23057); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/uni2cid_ak12.php b/vendor/tecnickcom/tcpdf/fonts/uni2cid_ak12.php new file mode 100644 index 0000000..6706723 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/uni2cid_ak12.php @@ -0,0 +1,6 @@ +1,33=>2,34=>3,35=>4,36=>5,37=>6,38=>7,39=>8,40=>9,41=>10,42=>11,43=>12,44=>13,45=>14,46=>15,47=>16,48=>17,49=>18,50=>19,51=>20,52=>21,53=>22,54=>23,55=>24,56=>25,57=>26,58=>27,59=>28,60=>29,61=>30,62=>31,63=>32,64=>33,65=>34,66=>35,67=>36,68=>37,69=>38,70=>39,71=>40,72=>41,73=>42,74=>43,75=>44,76=>45,77=>46,78=>47,79=>48,80=>49,81=>50,82=>51,83=>52,84=>53,85=>54,86=>55,87=>56,88=>57,89=>58,90=>59,91=>60,92=>61,93=>62,94=>63,95=>64,96=>65,97=>66,98=>67,99=>68,100=>69,101=>70,102=>71,103=>72,104=>73,105=>74,106=>75,107=>76,108=>77,109=>78,110=>79,111=>80,112=>81,113=>82,114=>83,115=>84,116=>85,117=>86,118=>87,119=>88,120=>89,121=>90,122=>91,123=>92,124=>93,125=>94,126=>95,8361=>96,8208=>97,169=>98,12644=>101,12288=>101,12289=>102,12290=>103,183=>104,12539=>104,8229=>105,8943=>106,8230=>106,168=>107,12291=>108,8211=>109,8212=>110,8214=>111,65340=>112,65374=>113,8216=>114,8217=>115,8220=>116,8221=>117,12308=>118,12309=>119,12296=>120,12297=>121,12298=>122,12299=>123,12300=>124,12301=>125,12302=>126,12303=>127,12304=>128,12305=>129,177=>130,215=>131,247=>132,8800=>133,8804=>134,8805=>135,8734=>136,8756=>137,176=>138,8242=>139,8243=>140,8451=>141,8491=>142,65504=>143,65505=>144,65509=>145,9794=>146,9792=>147,8736=>148,8869=>149,8978=>150,8706=>151,8711=>152,8801=>153,8786=>154,167=>155,8251=>156,9734=>157,9733=>158,9675=>159,9679=>160,9678=>161,9671=>162,9670=>163,9633=>164,9632=>165,9651=>166,9650=>167,9661=>168,9660=>169,8594=>170,8592=>171,8593=>172,8595=>173,8596=>174,12307=>175,171=>176,187=>177,8730=>178,8765=>179,8733=>180,8757=>181,8747=>182,8748=>183,8712=>184,8715=>185,8838=>186,8839=>187,8834=>188,8835=>189,8746=>190,8745=>191,8743=>192,8744=>193,65506=>194,8658=>195,8660=>196,8704=>197,8707=>198,180=>199,732=>200,711=>201,728=>202,733=>203,730=>204,729=>205,184=>206,731=>207,161=>208,191=>209,8758=>210,8750=>211,8721=>212,8719=>213,164=>214,8457=>215,8240=>216,9665=>217,9664=>218,9655=>219,9654=>220,9828=>221,9824=>222,9825=>223,9829=>224,9831=>225,9827=>226,9673=>227,9672=>228,9635=>229,9680=>230,9681=>231,9618=>232,9636=>233,9637=>234,9640=>235,9639=>236,9638=>237,9641=>238,9832=>239,9743=>240,9742=>241,9756=>242,9758=>243,182=>244,8224=>245,8225=>246,8597=>247,8599=>248,8601=>249,8598=>250,8600=>251,9837=>252,9833=>253,9834=>254,9836=>255,12927=>256,12828=>257,8470=>258,13255=>259,8482=>260,13250=>261,13272=>262,8481=>263,65281=>264,65282=>265,65283=>266,65284=>267,65285=>268,65286=>269,65287=>270,65288=>271,65289=>272,65290=>273,65291=>274,65292=>275,65293=>276,65294=>277,65295=>278,65296=>279,65297=>280,65298=>281,65299=>282,65300=>283,65301=>284,65302=>285,65303=>286,65304=>287,65305=>288,65306=>289,65307=>290,65308=>291,65309=>292,65310=>293,65311=>294,65312=>295,65313=>296,65314=>297,65315=>298,65316=>299,65317=>300,65318=>301,65319=>302,65320=>303,65321=>304,65322=>305,65323=>306,65324=>307,65325=>308,65326=>309,65327=>310,65328=>311,65329=>312,65330=>313,65331=>314,65332=>315,65333=>316,65334=>317,65335=>318,65336=>319,65337=>320,65338=>321,65339=>322,65510=>323,65341=>324,65342=>325,65343=>326,65344=>327,65345=>328,65346=>329,65347=>330,65348=>331,65349=>332,65350=>333,65351=>334,65352=>335,65353=>336,65354=>337,65355=>338,65356=>339,65357=>340,65358=>341,65359=>342,65360=>343,65361=>344,65362=>345,65363=>346,65364=>347,65365=>348,65366=>349,65367=>350,65368=>351,65369=>352,65370=>353,65371=>354,65372=>355,65373=>356,65507=>357,12593=>358,12594=>359,12595=>360,12596=>361,12597=>362,12598=>363,12599=>364,12600=>365,12601=>366,12602=>367,12603=>368,12604=>369,12605=>370,12606=>371,12607=>372,12608=>373,12609=>374,12610=>375,12611=>376,12612=>377,12613=>378,12614=>379,12615=>380,12616=>381,12617=>382,12618=>383,12619=>384,12620=>385,12621=>386,12622=>387,12623=>388,12624=>389,12625=>390,12626=>391,12627=>392,12628=>393,12629=>394,12630=>395,12631=>396,12632=>397,12633=>398,12634=>399,12635=>400,12636=>401,12637=>402,12638=>403,12639=>404,12640=>405,12641=>406,12642=>407,12643=>408,12645=>409,12646=>410,12647=>411,12648=>412,12649=>413,12650=>414,12651=>415,12652=>416,12653=>417,12654=>418,12655=>419,12656=>420,12657=>421,12658=>422,12659=>423,12660=>424,12661=>425,12662=>426,12663=>427,12664=>428,12665=>429,12666=>430,12667=>431,12668=>432,12669=>433,12670=>434,12671=>435,12672=>436,12673=>437,12674=>438,12675=>439,12676=>440,12677=>441,12678=>442,12679=>443,12680=>444,12681=>445,12682=>446,12683=>447,12684=>448,12685=>449,12686=>450,8560=>451,8561=>452,8562=>453,8563=>454,8564=>455,8565=>456,8566=>457,8567=>458,8568=>459,8569=>460,8544=>461,8545=>462,8546=>463,8547=>464,8548=>465,8549=>466,8550=>467,8551=>468,8552=>469,8553=>470,913=>471,914=>472,915=>473,916=>474,917=>475,918=>476,919=>477,920=>478,921=>479,922=>480,923=>481,924=>482,925=>483,926=>484,927=>485,928=>486,929=>487,931=>488,932=>489,933=>490,934=>491,935=>492,936=>493,937=>494,945=>495,946=>496,947=>497,948=>498,949=>499,950=>500,951=>501,952=>502,953=>503,954=>504,955=>505,956=>506,957=>507,958=>508,959=>509,960=>510,961=>511,963=>512,964=>513,965=>514,966=>515,967=>516,968=>517,969=>518,9472=>519,9474=>520,9484=>521,9488=>522,9496=>523,9492=>524,9500=>525,9516=>526,9508=>527,9524=>528,9532=>529,9473=>530,9475=>531,9487=>532,9491=>533,9499=>534,9495=>535,9507=>536,9523=>537,9515=>538,9531=>539,9547=>540,9504=>541,9519=>542,9512=>543,9527=>544,9535=>545,9501=>546,9520=>547,9509=>548,9528=>549,9538=>550,9490=>551,9489=>552,9498=>553,9497=>554,9494=>555,9493=>556,9486=>557,9485=>558,9502=>559,9503=>560,9505=>561,9506=>562,9510=>563,9511=>564,9513=>565,9514=>566,9517=>567,9518=>568,9521=>569,9522=>570,9525=>571,9526=>572,9529=>573,9530=>574,9533=>575,9534=>576,9536=>577,9537=>578,9539=>579,9540=>580,9541=>581,9542=>582,9543=>583,9544=>584,9545=>585,9546=>586,13205=>587,13206=>588,13207=>589,8467=>590,13208=>591,13252=>592,13219=>593,13220=>594,13221=>595,13222=>596,13209=>597,13210=>598,13211=>599,13212=>600,13213=>601,13214=>602,13215=>603,13216=>604,13217=>605,13218=>606,13258=>607,13197=>608,13198=>609,13199=>610,13263=>611,13192=>612,13193=>613,13256=>614,13223=>615,13224=>616,13232=>617,13233=>618,13234=>619,13235=>620,13236=>621,13237=>622,13238=>623,13239=>624,13240=>625,13241=>626,13184=>627,13185=>628,13186=>629,13187=>630,13188=>631,13242=>632,13243=>633,13244=>634,13245=>635,13246=>636,13247=>637,13200=>638,13201=>639,13202=>640,13203=>641,13204=>642,8486=>643,13248=>644,13249=>645,13194=>646,13195=>647,13196=>648,13270=>649,13253=>650,13229=>651,13230=>652,13231=>653,13275=>654,13225=>655,13226=>656,13227=>657,13228=>658,13277=>659,13264=>660,13267=>661,13251=>662,13257=>663,13276=>664,13254=>665,198=>666,208=>667,170=>668,294=>669,306=>670,319=>671,321=>672,216=>673,338=>674,186=>675,222=>676,358=>677,330=>678,12896=>679,12897=>680,12898=>681,12899=>682,12900=>683,12901=>684,12902=>685,12903=>686,12904=>687,12905=>688,12906=>689,12907=>690,12908=>691,12909=>692,12910=>693,12911=>694,12912=>695,12913=>696,12914=>697,12915=>698,12916=>699,12917=>700,12918=>701,12919=>702,12920=>703,12921=>704,12922=>705,12923=>706,9424=>707,9425=>708,9426=>709,9427=>710,9428=>711,9429=>712,9430=>713,9431=>714,9432=>715,9433=>716,9434=>717,9435=>718,9436=>719,9437=>720,9438=>721,9439=>722,9440=>723,9441=>724,9442=>725,9443=>726,9444=>727,9445=>728,9446=>729,9447=>730,9448=>731,9449=>732,9312=>733,9313=>734,9314=>735,9315=>736,9316=>737,9317=>738,9318=>739,9319=>740,9320=>741,9321=>742,9322=>743,9323=>744,9324=>745,9325=>746,9326=>747,189=>748,8531=>749,8532=>750,188=>751,190=>752,8539=>753,8540=>754,8541=>755,8542=>756,230=>757,273=>758,240=>759,295=>760,305=>761,307=>762,312=>763,320=>764,322=>765,248=>766,339=>767,223=>768,254=>769,359=>770,331=>771,329=>772,12800=>773,12801=>774,12802=>775,12803=>776,12804=>777,12805=>778,12806=>779,12807=>780,12808=>781,12809=>782,12810=>783,12811=>784,12812=>785,12813=>786,12814=>787,12815=>788,12816=>789,12817=>790,12818=>791,12819=>792,12820=>793,12821=>794,12822=>795,12823=>796,12824=>797,12825=>798,12826=>799,12827=>800,9372=>801,9373=>802,9374=>803,9375=>804,9376=>805,9377=>806,9378=>807,9379=>808,9380=>809,9381=>810,9382=>811,9383=>812,9384=>813,9385=>814,9386=>815,9387=>816,9388=>817,9389=>818,9390=>819,9391=>820,9392=>821,9393=>822,9394=>823,9395=>824,9396=>825,9397=>826,9332=>827,9333=>828,9334=>829,9335=>830,9336=>831,9337=>832,9338=>833,9339=>834,9340=>835,9341=>836,9342=>837,9343=>838,9344=>839,9345=>840,9346=>841,185=>842,178=>843,179=>844,8308=>845,8319=>846,8321=>847,8322=>848,8323=>849,8324=>850,12353=>851,12354=>852,12355=>853,12356=>854,12357=>855,12358=>856,12359=>857,12360=>858,12361=>859,12362=>860,12363=>861,12364=>862,12365=>863,12366=>864,12367=>865,12368=>866,12369=>867,12370=>868,12371=>869,12372=>870,12373=>871,12374=>872,12375=>873,12376=>874,12377=>875,12378=>876,12379=>877,12380=>878,12381=>879,12382=>880,12383=>881,12384=>882,12385=>883,12386=>884,12387=>885,12388=>886,12389=>887,12390=>888,12391=>889,12392=>890,12393=>891,12394=>892,12395=>893,12396=>894,12397=>895,12398=>896,12399=>897,12400=>898,12401=>899,12402=>900,12403=>901,12404=>902,12405=>903,12406=>904,12407=>905,12408=>906,12409=>907,12410=>908,12411=>909,12412=>910,12413=>911,12414=>912,12415=>913,12416=>914,12417=>915,12418=>916,12419=>917,12420=>918,12421=>919,12422=>920,12423=>921,12424=>922,12425=>923,12426=>924,12427=>925,12428=>926,12429=>927,12430=>928,12431=>929,12432=>930,12433=>931,12434=>932,12435=>933,12449=>934,12450=>935,12451=>936,12452=>937,12453=>938,12454=>939,12455=>940,12456=>941,12457=>942,12458=>943,12459=>944,12460=>945,12461=>946,12462=>947,12463=>948,12464=>949,12465=>950,12466=>951,12467=>952,12468=>953,12469=>954,12470=>955,12471=>956,12472=>957,12473=>958,12474=>959,12475=>960,12476=>961,12477=>962,12478=>963,12479=>964,12480=>965,12481=>966,12482=>967,12483=>968,12484=>969,12485=>970,12486=>971,12487=>972,12488=>973,12489=>974,12490=>975,12491=>976,12492=>977,12493=>978,12494=>979,12495=>980,12496=>981,12497=>982,12498=>983,12499=>984,12500=>985,12501=>986,12502=>987,12503=>988,12504=>989,12505=>990,12506=>991,12507=>992,12508=>993,12509=>994,12510=>995,12511=>996,12512=>997,12513=>998,12514=>999,12515=>1000,12516=>1001,12517=>1002,12518=>1003,12519=>1004,12520=>1005,12521=>1006,12522=>1007,12523=>1008,12524=>1009,12525=>1010,12526=>1011,12527=>1012,12528=>1013,12529=>1014,12530=>1015,12531=>1016,12532=>1017,12533=>1018,12534=>1019,1040=>1020,1041=>1021,1042=>1022,1043=>1023,1044=>1024,1045=>1025,1025=>1026,1046=>1027,1047=>1028,1048=>1029,1049=>1030,1050=>1031,1051=>1032,1052=>1033,1053=>1034,1054=>1035,1055=>1036,1056=>1037,1057=>1038,1058=>1039,1059=>1040,1060=>1041,1061=>1042,1062=>1043,1063=>1044,1064=>1045,1065=>1046,1066=>1047,1067=>1048,1068=>1049,1069=>1050,1070=>1051,1071=>1052,1072=>1053,1073=>1054,1074=>1055,1075=>1056,1076=>1057,1077=>1058,1105=>1059,1078=>1060,1079=>1061,1080=>1062,1081=>1063,1082=>1064,1083=>1065,1084=>1066,1085=>1067,1086=>1068,1087=>1069,1088=>1070,1089=>1071,1090=>1072,1091=>1073,1092=>1074,1093=>1075,1094=>1076,1095=>1077,1096=>1078,1097=>1079,1098=>1080,1099=>1081,1100=>1082,1101=>1083,1102=>1084,1103=>1085,44032=>1086,44033=>1087,44036=>1088,44039=>1089,44040=>1090,44041=>1091,44042=>1092,44048=>1093,44049=>1094,44050=>1095,44051=>1096,44052=>1097,44053=>1098,44054=>1099,44055=>1100,44057=>1101,44058=>1102,44059=>1103,44060=>1104,44061=>1105,44064=>1106,44068=>1107,44076=>1108,44077=>1109,44079=>1110,44080=>1111,44081=>1112,44088=>1113,44089=>1114,44092=>1115,44096=>1116,44107=>1117,44109=>1118,44116=>1119,44120=>1120,44124=>1121,44144=>1122,44145=>1123,44148=>1124,44151=>1125,44152=>1126,44154=>1127,44160=>1128,44161=>1129,44163=>1130,44164=>1131,44165=>1132,44166=>1133,44169=>1134,44170=>1135,44171=>1136,44172=>1137,44176=>1138,44180=>1139,44188=>1140,44189=>1141,44191=>1142,44192=>1143,44193=>1144,44200=>1145,44201=>1146,44202=>1147,44204=>1148,44207=>1149,44208=>1150,44216=>1151,44217=>1152,44219=>1153,44220=>1154,44221=>1155,44225=>1156,44228=>1157,44232=>1158,44236=>1159,44245=>1160,44247=>1161,44256=>1162,44257=>1163,44260=>1164,44263=>1165,44264=>1166,44266=>1167,44268=>1168,44271=>1169,44272=>1170,44273=>1171,44275=>1172,44277=>1173,44278=>1174,44284=>1175,44285=>1176,44288=>1177,44292=>1178,44294=>1179,44300=>1180,44301=>1181,44303=>1182,44305=>1183,44312=>1184,44316=>1185,44320=>1186,44329=>1187,44332=>1188,44333=>1189,44340=>1190,44341=>1191,44344=>1192,44348=>1193,44356=>1194,44357=>1195,44359=>1196,44361=>1197,44368=>1198,44372=>1199,44376=>1200,44385=>1201,44387=>1202,44396=>1203,44397=>1204,44400=>1205,44403=>1206,44404=>1207,44405=>1208,44406=>1209,44411=>1210,44412=>1211,44413=>1212,44415=>1213,44417=>1214,44418=>1215,44424=>1216,44425=>1217,44428=>1218,44432=>1219,44444=>1220,44445=>1221,44452=>1222,44471=>1223,44480=>1224,44481=>1225,44484=>1226,44488=>1227,44496=>1228,44497=>1229,44499=>1230,44508=>1231,44512=>1232,44516=>1233,44536=>1234,44537=>1235,44540=>1236,44543=>1237,44544=>1238,44545=>1239,44552=>1240,44553=>1241,44555=>1242,44557=>1243,44564=>1244,44592=>1245,44593=>1246,44596=>1247,44599=>1248,44600=>1249,44602=>1250,44608=>1251,44609=>1252,44611=>1253,44613=>1254,44614=>1255,44618=>1256,44620=>1257,44621=>1258,44622=>1259,44624=>1260,44628=>1261,44630=>1262,44636=>1263,44637=>1264,44639=>1265,44640=>1266,44641=>1267,44645=>1268,44648=>1269,44649=>1270,44652=>1271,44656=>1272,44664=>1273,44665=>1274,44667=>1275,44668=>1276,44669=>1277,44676=>1278,44677=>1279,44684=>1280,44732=>1281,44733=>1282,44734=>1283,44736=>1284,44740=>1285,44748=>1286,44749=>1287,44751=>1288,44752=>1289,44753=>1290,44760=>1291,44761=>1292,44764=>1293,44776=>1294,44779=>1295,44781=>1296,44788=>1297,44792=>1298,44796=>1299,44807=>1300,44808=>1301,44813=>1302,44816=>1303,44844=>1304,44845=>1305,44848=>1306,44850=>1307,44852=>1308,44860=>1309,44861=>1310,44863=>1311,44865=>1312,44866=>1313,44867=>1314,44872=>1315,44873=>1316,44880=>1317,44892=>1318,44893=>1319,44900=>1320,44901=>1321,44921=>1322,44928=>1323,44932=>1324,44936=>1325,44944=>1326,44945=>1327,44949=>1328,44956=>1329,44984=>1330,44985=>1331,44988=>1332,44992=>1333,44999=>1334,45000=>1335,45001=>1336,45003=>1337,45005=>1338,45006=>1339,45012=>1340,45020=>1341,45032=>1342,45033=>1343,45040=>1344,45041=>1345,45044=>1346,45048=>1347,45056=>1348,45057=>1349,45060=>1350,45068=>1351,45072=>1352,45076=>1353,45084=>1354,45085=>1355,45096=>1356,45124=>1357,45125=>1358,45128=>1359,45130=>1360,45132=>1361,45134=>1362,45139=>1363,45140=>1364,45141=>1365,45143=>1366,45145=>1367,45149=>1368,45180=>1369,45181=>1370,45184=>1371,45188=>1372,45196=>1373,45197=>1374,45199=>1375,45201=>1376,45208=>1377,45209=>1378,45210=>1379,45212=>1380,45215=>1381,45216=>1382,45217=>1383,45218=>1384,45224=>1385,45225=>1386,45227=>1387,45228=>1388,45229=>1389,45230=>1390,45231=>1391,45233=>1392,45235=>1393,45236=>1394,45237=>1395,45240=>1396,45244=>1397,45252=>1398,45253=>1399,45255=>1400,45256=>1401,45257=>1402,45264=>1403,45265=>1404,45268=>1405,45272=>1406,45280=>1407,45285=>1408,45320=>1409,45321=>1410,45323=>1411,45324=>1412,45328=>1413,45330=>1414,45331=>1415,45336=>1416,45337=>1417,45339=>1418,45340=>1419,45341=>1420,45347=>1421,45348=>1422,45349=>1423,45352=>1424,45356=>1425,45364=>1426,45365=>1427,45367=>1428,45368=>1429,45369=>1430,45376=>1431,45377=>1432,45380=>1433,45384=>1434,45392=>1435,45393=>1436,45396=>1437,45397=>1438,45400=>1439,45404=>1440,45408=>1441,45432=>1442,45433=>1443,45436=>1444,45440=>1445,45442=>1446,45448=>1447,45449=>1448,45451=>1449,45453=>1450,45458=>1451,45459=>1452,45460=>1453,45464=>1454,45468=>1455,45480=>1456,45516=>1457,45520=>1458,45524=>1459,45532=>1460,45533=>1461,45535=>1462,45544=>1463,45545=>1464,45548=>1465,45552=>1466,45561=>1467,45563=>1468,45565=>1469,45572=>1470,45573=>1471,45576=>1472,45579=>1473,45580=>1474,45588=>1475,45589=>1476,45591=>1477,45593=>1478,45600=>1479,45620=>1480,45628=>1481,45656=>1482,45660=>1483,45664=>1484,45672=>1485,45673=>1486,45684=>1487,45685=>1488,45692=>1489,45700=>1490,45701=>1491,45705=>1492,45712=>1493,45713=>1494,45716=>1495,45720=>1496,45721=>1497,45722=>1498,45728=>1499,45729=>1500,45731=>1501,45733=>1502,45734=>1503,45738=>1504,45740=>1505,45744=>1506,45748=>1507,45768=>1508,45769=>1509,45772=>1510,45776=>1511,45778=>1512,45784=>1513,45785=>1514,45787=>1515,45789=>1516,45794=>1517,45796=>1518,45797=>1519,45798=>1520,45800=>1521,45803=>1522,45804=>1523,45805=>1524,45806=>1525,45807=>1526,45811=>1527,45812=>1528,45813=>1529,45815=>1530,45816=>1531,45817=>1532,45818=>1533,45819=>1534,45823=>1535,45824=>1536,45825=>1537,45828=>1538,45832=>1539,45840=>1540,45841=>1541,45843=>1542,45844=>1543,45845=>1544,45852=>1545,45908=>1546,45909=>1547,45910=>1548,45912=>1549,45915=>1550,45916=>1551,45918=>1552,45919=>1553,45924=>1554,45925=>1555,45927=>1556,45929=>1557,45931=>1558,45934=>1559,45936=>1560,45937=>1561,45940=>1562,45944=>1563,45952=>1564,45953=>1565,45955=>1566,45956=>1567,45957=>1568,45964=>1569,45968=>1570,45972=>1571,45984=>1572,45985=>1573,45992=>1574,45996=>1575,46020=>1576,46021=>1577,46024=>1578,46027=>1579,46028=>1580,46030=>1581,46032=>1582,46036=>1583,46037=>1584,46039=>1585,46041=>1586,46043=>1587,46045=>1588,46048=>1589,46052=>1590,46056=>1591,46076=>1592,46096=>1593,46104=>1594,46108=>1595,46112=>1596,46120=>1597,46121=>1598,46123=>1599,46132=>1600,46160=>1601,46161=>1602,46164=>1603,46168=>1604,46176=>1605,46177=>1606,46179=>1607,46181=>1608,46188=>1609,46208=>1610,46216=>1611,46237=>1612,46244=>1613,46248=>1614,46252=>1615,46261=>1616,46263=>1617,46265=>1618,46272=>1619,46276=>1620,46280=>1621,46288=>1622,46293=>1623,46300=>1624,46301=>1625,46304=>1626,46307=>1627,46308=>1628,46310=>1629,46316=>1630,46317=>1631,46319=>1632,46321=>1633,46328=>1634,46356=>1635,46357=>1636,46360=>1637,46363=>1638,46364=>1639,46372=>1640,46373=>1641,46375=>1642,46376=>1643,46377=>1644,46378=>1645,46384=>1646,46385=>1647,46388=>1648,46392=>1649,46400=>1650,46401=>1651,46403=>1652,46404=>1653,46405=>1654,46411=>1655,46412=>1656,46413=>1657,46416=>1658,46420=>1659,46428=>1660,46429=>1661,46431=>1662,46432=>1663,46433=>1664,46496=>1665,46497=>1666,46500=>1667,46504=>1668,46506=>1669,46507=>1670,46512=>1671,46513=>1672,46515=>1673,46516=>1674,46517=>1675,46523=>1676,46524=>1677,46525=>1678,46528=>1679,46532=>1680,46540=>1681,46541=>1682,46543=>1683,46544=>1684,46545=>1685,46552=>1686,46572=>1687,46608=>1688,46609=>1689,46612=>1690,46616=>1691,46629=>1692,46636=>1693,46644=>1694,46664=>1695,46692=>1696,46696=>1697,46748=>1698,46749=>1699,46752=>1700,46756=>1701,46763=>1702,46764=>1703,46769=>1704,46804=>1705,46832=>1706,46836=>1707,46840=>1708,46848=>1709,46849=>1710,46853=>1711,46888=>1712,46889=>1713,46892=>1714,46895=>1715,46896=>1716,46904=>1717,46905=>1718,46907=>1719,46916=>1720,46920=>1721,46924=>1722,46932=>1723,46933=>1724,46944=>1725,46948=>1726,46952=>1727,46960=>1728,46961=>1729,46963=>1730,46965=>1731,46972=>1732,46973=>1733,46976=>1734,46980=>1735,46988=>1736,46989=>1737,46991=>1738,46992=>1739,46993=>1740,46994=>1741,46998=>1742,46999=>1743,47000=>1744,47001=>1745,47004=>1746,47008=>1747,47016=>1748,47017=>1749,47019=>1750,47020=>1751,47021=>1752,47028=>1753,47029=>1754,47032=>1755,47047=>1756,47049=>1757,47084=>1758,47085=>1759,47088=>1760,47092=>1761,47100=>1762,47101=>1763,47103=>1764,47104=>1765,47105=>1766,47111=>1767,47112=>1768,47113=>1769,47116=>1770,47120=>1771,47128=>1772,47129=>1773,47131=>1774,47133=>1775,47140=>1776,47141=>1777,47144=>1778,47148=>1779,47156=>1780,47157=>1781,47159=>1782,47160=>1783,47161=>1784,47168=>1785,47172=>1786,47185=>1787,47187=>1788,47196=>1789,47197=>1790,47200=>1791,47204=>1792,47212=>1793,47213=>1794,47215=>1795,47217=>1796,47224=>1797,47228=>1798,47245=>1799,47272=>1800,47280=>1801,47284=>1802,47288=>1803,47296=>1804,47297=>1805,47299=>1806,47301=>1807,47308=>1808,47312=>1809,47316=>1810,47325=>1811,47327=>1812,47329=>1813,47336=>1814,47337=>1815,47340=>1816,47344=>1817,47352=>1818,47353=>1819,47355=>1820,47357=>1821,47364=>1822,47384=>1823,47392=>1824,47420=>1825,47421=>1826,47424=>1827,47428=>1828,47436=>1829,47439=>1830,47441=>1831,47448=>1832,47449=>1833,47452=>1834,47456=>1835,47464=>1836,47465=>1837,47467=>1838,47469=>1839,47476=>1840,47477=>1841,47480=>1842,47484=>1843,47492=>1844,47493=>1845,47495=>1846,47497=>1847,47498=>1848,47501=>1849,47502=>1850,47532=>1851,47533=>1852,47536=>1853,47540=>1854,47548=>1855,47549=>1856,47551=>1857,47553=>1858,47560=>1859,47561=>1860,47564=>1861,47566=>1862,47567=>1863,47568=>1864,47569=>1865,47570=>1866,47576=>1867,47577=>1868,47579=>1869,47581=>1870,47582=>1871,47585=>1872,47587=>1873,47588=>1874,47589=>1875,47592=>1876,47596=>1877,47604=>1878,47605=>1879,47607=>1880,47608=>1881,47609=>1882,47610=>1883,47616=>1884,47617=>1885,47624=>1886,47637=>1887,47672=>1888,47673=>1889,47676=>1890,47680=>1891,47682=>1892,47688=>1893,47689=>1894,47691=>1895,47693=>1896,47694=>1897,47699=>1898,47700=>1899,47701=>1900,47704=>1901,47708=>1902,47716=>1903,47717=>1904,47719=>1905,47720=>1906,47721=>1907,47728=>1908,47729=>1909,47732=>1910,47736=>1911,47747=>1912,47748=>1913,47749=>1914,47751=>1915,47756=>1916,47784=>1917,47785=>1918,47787=>1919,47788=>1920,47792=>1921,47794=>1922,47800=>1923,47801=>1924,47803=>1925,47805=>1926,47812=>1927,47816=>1928,47832=>1929,47833=>1930,47868=>1931,47872=>1932,47876=>1933,47885=>1934,47887=>1935,47889=>1936,47896=>1937,47900=>1938,47904=>1939,47913=>1940,47915=>1941,47924=>1942,47925=>1943,47926=>1944,47928=>1945,47931=>1946,47932=>1947,47933=>1948,47934=>1949,47940=>1950,47941=>1951,47943=>1952,47945=>1953,47949=>1954,47951=>1955,47952=>1956,47956=>1957,47960=>1958,47969=>1959,47971=>1960,47980=>1961,48008=>1962,48012=>1963,48016=>1964,48036=>1965,48040=>1966,48044=>1967,48052=>1968,48055=>1969,48064=>1970,48068=>1971,48072=>1972,48080=>1973,48083=>1974,48120=>1975,48121=>1976,48124=>1977,48127=>1978,48128=>1979,48130=>1980,48136=>1981,48137=>1982,48139=>1983,48140=>1984,48141=>1985,48143=>1986,48145=>1987,48148=>1988,48149=>1989,48150=>1990,48151=>1991,48152=>1992,48155=>1993,48156=>1994,48157=>1995,48158=>1996,48159=>1997,48164=>1998,48165=>1999,48167=>2000,48169=>2001,48173=>2002,48176=>2003,48177=>2004,48180=>2005,48184=>2006,48192=>2007,48193=>2008,48195=>2009,48196=>2010,48197=>2011,48201=>2012,48204=>2013,48205=>2014,48208=>2015,48221=>2016,48260=>2017,48261=>2018,48264=>2019,48267=>2020,48268=>2021,48270=>2022,48276=>2023,48277=>2024,48279=>2025,48281=>2026,48282=>2027,48288=>2028,48289=>2029,48292=>2030,48295=>2031,48296=>2032,48304=>2033,48305=>2034,48307=>2035,48308=>2036,48309=>2037,48316=>2038,48317=>2039,48320=>2040,48324=>2041,48333=>2042,48335=>2043,48336=>2044,48337=>2045,48341=>2046,48344=>2047,48348=>2048,48372=>2049,48373=>2050,48374=>2051,48376=>2052,48380=>2053,48388=>2054,48389=>2055,48391=>2056,48393=>2057,48400=>2058,48404=>2059,48420=>2060,48428=>2061,48448=>2062,48456=>2063,48457=>2064,48460=>2065,48464=>2066,48472=>2067,48473=>2068,48484=>2069,48488=>2070,48512=>2071,48513=>2072,48516=>2073,48519=>2074,48520=>2075,48521=>2076,48522=>2077,48528=>2078,48529=>2079,48531=>2080,48533=>2081,48537=>2082,48538=>2083,48540=>2084,48548=>2085,48560=>2086,48568=>2087,48596=>2088,48597=>2089,48600=>2090,48604=>2091,48617=>2092,48624=>2093,48628=>2094,48632=>2095,48640=>2096,48643=>2097,48645=>2098,48652=>2099,48653=>2100,48656=>2101,48660=>2102,48668=>2103,48669=>2104,48671=>2105,48708=>2106,48709=>2107,48712=>2108,48716=>2109,48718=>2110,48724=>2111,48725=>2112,48727=>2113,48729=>2114,48730=>2115,48731=>2116,48736=>2117,48737=>2118,48740=>2119,48744=>2120,48746=>2121,48752=>2122,48753=>2123,48755=>2124,48756=>2125,48757=>2126,48763=>2127,48764=>2128,48765=>2129,48768=>2130,48772=>2131,48780=>2132,48781=>2133,48783=>2134,48784=>2135,48785=>2136,48792=>2137,48793=>2138,48808=>2139,48848=>2140,48849=>2141,48852=>2142,48855=>2143,48856=>2144,48864=>2145,48867=>2146,48868=>2147,48869=>2148,48876=>2149,48897=>2150,48904=>2151,48905=>2152,48920=>2153,48921=>2154,48923=>2155,48924=>2156,48925=>2157,48960=>2158,48961=>2159,48964=>2160,48968=>2161,48976=>2162,48977=>2163,48981=>2164,49044=>2165,49072=>2166,49093=>2167,49100=>2168,49101=>2169,49104=>2170,49108=>2171,49116=>2172,49119=>2173,49121=>2174,49212=>2175,49233=>2176,49240=>2177,49244=>2178,49248=>2179,49256=>2180,49257=>2181,49296=>2182,49297=>2183,49300=>2184,49304=>2185,49312=>2186,49313=>2187,49315=>2188,49317=>2189,49324=>2190,49325=>2191,49327=>2192,49328=>2193,49331=>2194,49332=>2195,49333=>2196,49334=>2197,49340=>2198,49341=>2199,49343=>2200,49344=>2201,49345=>2202,49349=>2203,49352=>2204,49353=>2205,49356=>2206,49360=>2207,49368=>2208,49369=>2209,49371=>2210,49372=>2211,49373=>2212,49380=>2213,49381=>2214,49384=>2215,49388=>2216,49396=>2217,49397=>2218,49399=>2219,49401=>2220,49408=>2221,49412=>2222,49416=>2223,49424=>2224,49429=>2225,49436=>2226,49437=>2227,49438=>2228,49439=>2229,49440=>2230,49443=>2231,49444=>2232,49446=>2233,49447=>2234,49452=>2235,49453=>2236,49455=>2237,49456=>2238,49457=>2239,49462=>2240,49464=>2241,49465=>2242,49468=>2243,49472=>2244,49480=>2245,49481=>2246,49483=>2247,49484=>2248,49485=>2249,49492=>2250,49493=>2251,49496=>2252,49500=>2253,49508=>2254,49509=>2255,49511=>2256,49512=>2257,49513=>2258,49520=>2259,49524=>2260,49528=>2261,49541=>2262,49548=>2263,49549=>2264,49550=>2265,49552=>2266,49556=>2267,49558=>2268,49564=>2269,49565=>2270,49567=>2271,49569=>2272,49573=>2273,49576=>2274,49577=>2275,49580=>2276,49584=>2277,49597=>2278,49604=>2279,49608=>2280,49612=>2281,49620=>2282,49623=>2283,49624=>2284,49632=>2285,49636=>2286,49640=>2287,49648=>2288,49649=>2289,49651=>2290,49660=>2291,49661=>2292,49664=>2293,49668=>2294,49676=>2295,49677=>2296,49679=>2297,49681=>2298,49688=>2299,49689=>2300,49692=>2301,49695=>2302,49696=>2303,49704=>2304,49705=>2305,49707=>2306,49709=>2307,49711=>2308,49713=>2309,49714=>2310,49716=>2311,49736=>2312,49744=>2313,49745=>2314,49748=>2315,49752=>2316,49760=>2317,49765=>2318,49772=>2319,49773=>2320,49776=>2321,49780=>2322,49788=>2323,49789=>2324,49791=>2325,49793=>2326,49800=>2327,49801=>2328,49808=>2329,49816=>2330,49819=>2331,49821=>2332,49828=>2333,49829=>2334,49832=>2335,49836=>2336,49837=>2337,49844=>2338,49845=>2339,49847=>2340,49849=>2341,49884=>2342,49885=>2343,49888=>2344,49891=>2345,49892=>2346,49899=>2347,49900=>2348,49901=>2349,49903=>2350,49905=>2351,49910=>2352,49912=>2353,49913=>2354,49915=>2355,49916=>2356,49920=>2357,49928=>2358,49929=>2359,49932=>2360,49933=>2361,49939=>2362,49940=>2363,49941=>2364,49944=>2365,49948=>2366,49956=>2367,49957=>2368,49960=>2369,49961=>2370,49989=>2371,50024=>2372,50025=>2373,50028=>2374,50032=>2375,50034=>2376,50040=>2377,50041=>2378,50044=>2379,50045=>2380,50052=>2381,50056=>2382,50060=>2383,50112=>2384,50136=>2385,50137=>2386,50140=>2387,50143=>2388,50144=>2389,50146=>2390,50152=>2391,50153=>2392,50157=>2393,50164=>2394,50165=>2395,50168=>2396,50184=>2397,50192=>2398,50212=>2399,50220=>2400,50224=>2401,50228=>2402,50236=>2403,50237=>2404,50248=>2405,50276=>2406,50277=>2407,50280=>2408,50284=>2409,50292=>2410,50293=>2411,50297=>2412,50304=>2413,50324=>2414,50332=>2415,50360=>2416,50364=>2417,50409=>2418,50416=>2419,50417=>2420,50420=>2421,50424=>2422,50426=>2423,50431=>2424,50432=>2425,50433=>2426,50444=>2427,50448=>2428,50452=>2429,50460=>2430,50472=>2431,50473=>2432,50476=>2433,50480=>2434,50488=>2435,50489=>2436,50491=>2437,50493=>2438,50500=>2439,50501=>2440,50504=>2441,50505=>2442,50506=>2443,50508=>2444,50509=>2445,50510=>2446,50515=>2447,50516=>2448,50517=>2449,50519=>2450,50520=>2451,50521=>2452,50525=>2453,50526=>2454,50528=>2455,50529=>2456,50532=>2457,50536=>2458,50544=>2459,50545=>2460,50547=>2461,50548=>2462,50549=>2463,50556=>2464,50557=>2465,50560=>2466,50564=>2467,50567=>2468,50572=>2469,50573=>2470,50575=>2471,50577=>2472,50581=>2473,50583=>2474,50584=>2475,50588=>2476,50592=>2477,50601=>2478,50612=>2479,50613=>2480,50616=>2481,50617=>2482,50619=>2483,50620=>2484,50621=>2485,50622=>2486,50628=>2487,50629=>2488,50630=>2489,50631=>2490,50632=>2491,50633=>2492,50634=>2493,50636=>2494,50638=>2495,50640=>2496,50641=>2497,50644=>2498,50648=>2499,50656=>2500,50657=>2501,50659=>2502,50661=>2503,50668=>2504,50669=>2505,50670=>2506,50672=>2507,50676=>2508,50678=>2509,50679=>2510,50684=>2511,50685=>2512,50686=>2513,50687=>2514,50688=>2515,50689=>2516,50693=>2517,50694=>2518,50695=>2519,50696=>2520,50700=>2521,50704=>2522,50712=>2523,50713=>2524,50715=>2525,50716=>2526,50724=>2527,50725=>2528,50728=>2529,50732=>2530,50733=>2531,50734=>2532,50736=>2533,50739=>2534,50740=>2535,50741=>2536,50743=>2537,50745=>2538,50747=>2539,50752=>2540,50753=>2541,50756=>2542,50760=>2543,50768=>2544,50769=>2545,50771=>2546,50772=>2547,50773=>2548,50780=>2549,50781=>2550,50784=>2551,50796=>2552,50799=>2553,50801=>2554,50808=>2555,50809=>2556,50812=>2557,50816=>2558,50824=>2559,50825=>2560,50827=>2561,50829=>2562,50836=>2563,50837=>2564,50840=>2565,50844=>2566,50852=>2567,50853=>2568,50855=>2569,50857=>2570,50864=>2571,50865=>2572,50868=>2573,50872=>2574,50873=>2575,50874=>2576,50880=>2577,50881=>2578,50883=>2579,50885=>2580,50892=>2581,50893=>2582,50896=>2583,50900=>2584,50908=>2585,50909=>2586,50912=>2587,50913=>2588,50920=>2589,50921=>2590,50924=>2591,50928=>2592,50936=>2593,50937=>2594,50941=>2595,50948=>2596,50949=>2597,50952=>2598,50956=>2599,50964=>2600,50965=>2601,50967=>2602,50969=>2603,50976=>2604,50977=>2605,50980=>2606,50984=>2607,50992=>2608,50993=>2609,50995=>2610,50997=>2611,50999=>2612,51004=>2613,51005=>2614,51008=>2615,51012=>2616,51018=>2617,51020=>2618,51021=>2619,51023=>2620,51025=>2621,51026=>2622,51027=>2623,51028=>2624,51029=>2625,51030=>2626,51031=>2627,51032=>2628,51036=>2629,51040=>2630,51048=>2631,51051=>2632,51060=>2633,51061=>2634,51064=>2635,51068=>2636,51069=>2637,51070=>2638,51075=>2639,51076=>2640,51077=>2641,51079=>2642,51080=>2643,51081=>2644,51082=>2645,51086=>2646,51088=>2647,51089=>2648,51092=>2649,51094=>2650,51095=>2651,51096=>2652,51098=>2653,51104=>2654,51105=>2655,51107=>2656,51108=>2657,51109=>2658,51110=>2659,51116=>2660,51117=>2661,51120=>2662,51124=>2663,51132=>2664,51133=>2665,51135=>2666,51136=>2667,51137=>2668,51144=>2669,51145=>2670,51148=>2671,51150=>2672,51152=>2673,51160=>2674,51165=>2675,51172=>2676,51176=>2677,51180=>2678,51200=>2679,51201=>2680,51204=>2681,51208=>2682,51210=>2683,51216=>2684,51217=>2685,51219=>2686,51221=>2687,51222=>2688,51228=>2689,51229=>2690,51232=>2691,51236=>2692,51244=>2693,51245=>2694,51247=>2695,51249=>2696,51256=>2697,51260=>2698,51264=>2699,51272=>2700,51273=>2701,51276=>2702,51277=>2703,51284=>2704,51312=>2705,51313=>2706,51316=>2707,51320=>2708,51322=>2709,51328=>2710,51329=>2711,51331=>2712,51333=>2713,51334=>2714,51335=>2715,51339=>2716,51340=>2717,51341=>2718,51348=>2719,51357=>2720,51359=>2721,51361=>2722,51368=>2723,51388=>2724,51389=>2725,51396=>2726,51400=>2727,51404=>2728,51412=>2729,51413=>2730,51415=>2731,51417=>2732,51424=>2733,51425=>2734,51428=>2735,51445=>2736,51452=>2737,51453=>2738,51456=>2739,51460=>2740,51461=>2741,51462=>2742,51468=>2743,51469=>2744,51471=>2745,51473=>2746,51480=>2747,51500=>2748,51508=>2749,51536=>2750,51537=>2751,51540=>2752,51544=>2753,51552=>2754,51553=>2755,51555=>2756,51564=>2757,51568=>2758,51572=>2759,51580=>2760,51592=>2761,51593=>2762,51596=>2763,51600=>2764,51608=>2765,51609=>2766,51611=>2767,51613=>2768,51648=>2769,51649=>2770,51652=>2771,51655=>2772,51656=>2773,51658=>2774,51664=>2775,51665=>2776,51667=>2777,51669=>2778,51670=>2779,51673=>2780,51674=>2781,51676=>2782,51677=>2783,51680=>2784,51682=>2785,51684=>2786,51687=>2787,51692=>2788,51693=>2789,51695=>2790,51696=>2791,51697=>2792,51704=>2793,51705=>2794,51708=>2795,51712=>2796,51720=>2797,51721=>2798,51723=>2799,51724=>2800,51725=>2801,51732=>2802,51736=>2803,51753=>2804,51788=>2805,51789=>2806,51792=>2807,51796=>2808,51804=>2809,51805=>2810,51807=>2811,51808=>2812,51809=>2813,51816=>2814,51837=>2815,51844=>2816,51864=>2817,51900=>2818,51901=>2819,51904=>2820,51908=>2821,51916=>2822,51917=>2823,51919=>2824,51921=>2825,51923=>2826,51928=>2827,51929=>2828,51936=>2829,51948=>2830,51956=>2831,51976=>2832,51984=>2833,51988=>2834,51992=>2835,52000=>2836,52001=>2837,52033=>2838,52040=>2839,52041=>2840,52044=>2841,52048=>2842,52056=>2843,52057=>2844,52061=>2845,52068=>2846,52088=>2847,52089=>2848,52124=>2849,52152=>2850,52180=>2851,52196=>2852,52199=>2853,52201=>2854,52236=>2855,52237=>2856,52240=>2857,52244=>2858,52252=>2859,52253=>2860,52257=>2861,52258=>2862,52263=>2863,52264=>2864,52265=>2865,52268=>2866,52270=>2867,52272=>2868,52280=>2869,52281=>2870,52283=>2871,52284=>2872,52285=>2873,52286=>2874,52292=>2875,52293=>2876,52296=>2877,52300=>2878,52308=>2879,52309=>2880,52311=>2881,52312=>2882,52313=>2883,52320=>2884,52324=>2885,52326=>2886,52328=>2887,52336=>2888,52341=>2889,52376=>2890,52377=>2891,52380=>2892,52384=>2893,52392=>2894,52393=>2895,52395=>2896,52396=>2897,52397=>2898,52404=>2899,52405=>2900,52408=>2901,52412=>2902,52420=>2903,52421=>2904,52423=>2905,52425=>2906,52432=>2907,52436=>2908,52452=>2909,52460=>2910,52464=>2911,52481=>2912,52488=>2913,52489=>2914,52492=>2915,52496=>2916,52504=>2917,52505=>2918,52507=>2919,52509=>2920,52516=>2921,52520=>2922,52524=>2923,52537=>2924,52572=>2925,52576=>2926,52580=>2927,52588=>2928,52589=>2929,52591=>2930,52593=>2931,52600=>2932,52616=>2933,52628=>2934,52629=>2935,52632=>2936,52636=>2937,52644=>2938,52645=>2939,52647=>2940,52649=>2941,52656=>2942,52676=>2943,52684=>2944,52688=>2945,52712=>2946,52716=>2947,52720=>2948,52728=>2949,52729=>2950,52731=>2951,52733=>2952,52740=>2953,52744=>2954,52748=>2955,52756=>2956,52761=>2957,52768=>2958,52769=>2959,52772=>2960,52776=>2961,52784=>2962,52785=>2963,52787=>2964,52789=>2965,52824=>2966,52825=>2967,52828=>2968,52831=>2969,52832=>2970,52833=>2971,52840=>2972,52841=>2973,52843=>2974,52845=>2975,52852=>2976,52853=>2977,52856=>2978,52860=>2979,52868=>2980,52869=>2981,52871=>2982,52873=>2983,52880=>2984,52881=>2985,52884=>2986,52888=>2987,52896=>2988,52897=>2989,52899=>2990,52900=>2991,52901=>2992,52908=>2993,52909=>2994,52929=>2995,52964=>2996,52965=>2997,52968=>2998,52971=>2999,52972=>3000,52980=>3001,52981=>3002,52983=>3003,52984=>3004,52985=>3005,52992=>3006,52993=>3007,52996=>3008,53000=>3009,53008=>3010,53009=>3011,53011=>3012,53013=>3013,53020=>3014,53024=>3015,53028=>3016,53036=>3017,53037=>3018,53039=>3019,53040=>3020,53041=>3021,53048=>3022,53076=>3023,53077=>3024,53080=>3025,53084=>3026,53092=>3027,53093=>3028,53095=>3029,53097=>3030,53104=>3031,53105=>3032,53108=>3033,53112=>3034,53120=>3035,53125=>3036,53132=>3037,53153=>3038,53160=>3039,53168=>3040,53188=>3041,53216=>3042,53217=>3043,53220=>3044,53224=>3045,53232=>3046,53233=>3047,53235=>3048,53237=>3049,53244=>3050,53248=>3051,53252=>3052,53265=>3053,53272=>3054,53293=>3055,53300=>3056,53301=>3057,53304=>3058,53308=>3059,53316=>3060,53317=>3061,53319=>3062,53321=>3063,53328=>3064,53332=>3065,53336=>3066,53344=>3067,53356=>3068,53357=>3069,53360=>3070,53364=>3071,53372=>3072,53373=>3073,53377=>3074,53412=>3075,53413=>3076,53416=>3077,53420=>3078,53428=>3079,53429=>3080,53431=>3081,53433=>3082,53440=>3083,53441=>3084,53444=>3085,53448=>3086,53449=>3087,53456=>3088,53457=>3089,53459=>3090,53460=>3091,53461=>3092,53468=>3093,53469=>3094,53472=>3095,53476=>3096,53484=>3097,53485=>3098,53487=>3099,53488=>3100,53489=>3101,53496=>3102,53517=>3103,53552=>3104,53553=>3105,53556=>3106,53560=>3107,53562=>3108,53568=>3109,53569=>3110,53571=>3111,53572=>3112,53573=>3113,53580=>3114,53581=>3115,53584=>3116,53588=>3117,53596=>3118,53597=>3119,53599=>3120,53601=>3121,53608=>3122,53612=>3123,53628=>3124,53636=>3125,53640=>3126,53664=>3127,53665=>3128,53668=>3129,53672=>3130,53680=>3131,53681=>3132,53683=>3133,53685=>3134,53690=>3135,53692=>3136,53696=>3137,53720=>3138,53748=>3139,53752=>3140,53767=>3141,53769=>3142,53776=>3143,53804=>3144,53805=>3145,53808=>3146,53812=>3147,53820=>3148,53821=>3149,53823=>3150,53825=>3151,53832=>3152,53852=>3153,53860=>3154,53888=>3155,53889=>3156,53892=>3157,53896=>3158,53904=>3159,53905=>3160,53909=>3161,53916=>3162,53920=>3163,53924=>3164,53932=>3165,53937=>3166,53944=>3167,53945=>3168,53948=>3169,53951=>3170,53952=>3171,53954=>3172,53960=>3173,53961=>3174,53963=>3175,53972=>3176,53976=>3177,53980=>3178,53988=>3179,53989=>3180,54000=>3181,54001=>3182,54004=>3183,54008=>3184,54016=>3185,54017=>3186,54019=>3187,54021=>3188,54028=>3189,54029=>3190,54030=>3191,54032=>3192,54036=>3193,54038=>3194,54044=>3195,54045=>3196,54047=>3197,54048=>3198,54049=>3199,54053=>3200,54056=>3201,54057=>3202,54060=>3203,54064=>3204,54072=>3205,54073=>3206,54075=>3207,54076=>3208,54077=>3209,54084=>3210,54085=>3211,54140=>3212,54141=>3213,54144=>3214,54148=>3215,54156=>3216,54157=>3217,54159=>3218,54160=>3219,54161=>3220,54168=>3221,54169=>3222,54172=>3223,54176=>3224,54184=>3225,54185=>3226,54187=>3227,54189=>3228,54196=>3229,54200=>3230,54204=>3231,54212=>3232,54213=>3233,54216=>3234,54217=>3235,54224=>3236,54232=>3237,54241=>3238,54243=>3239,54252=>3240,54253=>3241,54256=>3242,54260=>3243,54268=>3244,54269=>3245,54271=>3246,54273=>3247,54280=>3248,54301=>3249,54336=>3250,54340=>3251,54364=>3252,54368=>3253,54372=>3254,54381=>3255,54383=>3256,54392=>3257,54393=>3258,54396=>3259,54399=>3260,54400=>3261,54402=>3262,54408=>3263,54409=>3264,54411=>3265,54413=>3266,54420=>3267,54441=>3268,54476=>3269,54480=>3270,54484=>3271,54492=>3272,54495=>3273,54504=>3274,54508=>3275,54512=>3276,54520=>3277,54523=>3278,54525=>3279,54532=>3280,54536=>3281,54540=>3282,54548=>3283,54549=>3284,54551=>3285,54588=>3286,54589=>3287,54592=>3288,54596=>3289,54604=>3290,54605=>3291,54607=>3292,54609=>3293,54616=>3294,54617=>3295,54620=>3296,54624=>3297,54629=>3298,54632=>3299,54633=>3300,54635=>3301,54637=>3302,54644=>3303,54645=>3304,54648=>3305,54652=>3306,54660=>3307,54661=>3308,54663=>3309,54664=>3310,54665=>3311,54672=>3312,54693=>3313,54728=>3314,54729=>3315,54732=>3316,54736=>3317,54738=>3318,54744=>3319,54745=>3320,54747=>3321,54749=>3322,54756=>3323,54757=>3324,54760=>3325,54764=>3326,54772=>3327,54773=>3328,54775=>3329,54777=>3330,54784=>3331,54785=>3332,54788=>3333,54792=>3334,54800=>3335,54801=>3336,54803=>3337,54804=>3338,54805=>3339,54812=>3340,54816=>3341,54820=>3342,54829=>3343,54840=>3344,54841=>3345,54844=>3346,54848=>3347,54853=>3348,54856=>3349,54857=>3350,54859=>3351,54861=>3352,54865=>3353,54868=>3354,54869=>3355,54872=>3356,54876=>3357,54887=>3358,54889=>3359,54896=>3360,54897=>3361,54900=>3362,54915=>3363,54917=>3364,54924=>3365,54925=>3366,54928=>3367,54932=>3368,54941=>3369,54943=>3370,54945=>3371,54952=>3372,54956=>3373,54960=>3374,54969=>3375,54971=>3376,54980=>3377,54981=>3378,54984=>3379,54988=>3380,54993=>3381,54996=>3382,54999=>3383,55001=>3384,55008=>3385,55012=>3386,55016=>3387,55024=>3388,55029=>3389,55036=>3390,55037=>3391,55040=>3392,55044=>3393,55057=>3394,55064=>3395,55065=>3396,55068=>3397,55072=>3398,55080=>3399,55081=>3400,55083=>3401,55085=>3402,55092=>3403,55093=>3404,55096=>3405,55100=>3406,55108=>3407,55111=>3408,55113=>3409,55120=>3410,55121=>3411,55124=>3412,55126=>3413,55127=>3414,55128=>3415,55129=>3416,55136=>3417,55137=>3418,55139=>3419,55141=>3420,55145=>3421,55148=>3422,55152=>3423,55156=>3424,55164=>3425,55165=>3426,55169=>3427,55176=>3428,55177=>3429,55180=>3430,55184=>3431,55192=>3432,55193=>3433,55195=>3434,55197=>3435,20285=>3436,20339=>3437,20551=>3438,20729=>3439,21152=>3440,21487=>3441,21621=>3442,21733=>3443,22025=>3444,23233=>3445,23478=>3446,26247=>3447,26550=>3448,26551=>3449,26607=>3450,27468=>3451,29634=>3452,30146=>3453,31292=>3454,33499=>3455,33540=>3456,34903=>3457,34952=>3458,35382=>3459,36040=>3460,63747=>3460,36303=>3461,36603=>3462,36838=>3463,39381=>3464,21051=>3465,21364=>3466,21508=>3467,24682=>3468,24932=>3469,27580=>3470,29647=>3471,33050=>3472,35258=>3473,12179=>3474,35282=>3474,38307=>3475,20355=>3476,21002=>3477,22718=>3478,22904=>3479,23014=>3480,12082=>3481,24178=>3481,24185=>3482,25031=>3483,25536=>3484,26438=>3485,26604=>3486,26751=>3487,28567=>3488,30286=>3489,30475=>3490,30965=>3491,31240=>3492,31487=>3493,31777=>3494,32925=>3495,12169=>3496,33390=>3496,33393=>3497,35563=>3498,38291=>3499,20075=>3500,21917=>3501,26359=>3502,28212=>3503,30883=>3504,31469=>3505,33883=>3506,35088=>3507,34638=>3508,38824=>3509,21208=>3510,22350=>3511,22570=>3512,23884=>3513,24863=>3514,25022=>3515,25121=>3516,25954=>3517,26577=>3518,27204=>3519,28187=>3520,12130=>3521,29976=>3521,30131=>3522,30435=>3523,30640=>3524,32058=>3525,37039=>3526,37969=>3527,37970=>3528,40853=>3529,21283=>3530,23724=>3531,30002=>3532,32987=>3533,37440=>3534,38296=>3535,21083=>3536,22536=>3537,23004=>3538,23713=>3539,23831=>3540,24247=>3541,24378=>3542,24394=>3543,24951=>3544,27743=>3545,30074=>3546,30086=>3547,31968=>3548,32115=>3549,32177=>3550,32652=>3551,33108=>3552,33313=>3553,34193=>3554,35137=>3555,35611=>3556,37628=>3557,38477=>3558,64009=>3558,40007=>3559,20171=>3560,20215=>3561,20491=>3562,20977=>3563,22607=>3564,24887=>3565,24894=>3566,24936=>3567,25913=>3568,27114=>3569,28433=>3570,30117=>3571,30342=>3572,30422=>3573,31623=>3574,33445=>3575,33995=>3576,37799=>3577,38283=>3578,21888=>3579,23458=>3580,22353=>3581,31923=>3582,32697=>3583,37301=>3584,20520=>3585,21435=>3586,23621=>3587,24040=>3588,25298=>3589,25454=>3590,25818=>3591,25831=>3592,28192=>3593,28844=>3594,31067=>3595,36317=>3596,36382=>3597,36989=>3598,37445=>3599,37624=>3600,20094=>3601,20214=>3602,20581=>3603,12081=>3604,24062=>3604,24314=>3605,24838=>3606,26967=>3607,33137=>3608,34388=>3609,36423=>3610,37749=>3611,39467=>3612,20062=>3613,20625=>3614,26480=>3615,26688=>3616,20745=>3617,21133=>3618,21138=>3619,27298=>3620,30652=>3621,37392=>3622,40660=>3623,21163=>3624,24623=>3625,36850=>3626,20552=>3627,25001=>3628,25581=>3629,25802=>3630,26684=>3631,27268=>3632,28608=>3633,33160=>3634,35233=>3635,38548=>3636,22533=>3637,29309=>3638,12125=>3639,29356=>3639,29956=>3640,32121=>3641,32365=>3642,32937=>3643,12178=>3644,35211=>3644,64010=>3644,35700=>3645,36963=>3646,40273=>3647,25225=>3648,27770=>3649,28500=>3650,32080=>3651,32570=>3652,35363=>3653,20860=>3654,24906=>3655,31645=>3656,35609=>3657,37463=>3658,37772=>3659,20140=>3660,20435=>3661,20510=>3662,20670=>3663,20742=>3664,21185=>3665,21197=>3666,21375=>3667,22384=>3668,22659=>3669,24218=>3670,24465=>3671,24950=>3672,25004=>3673,25806=>3674,25964=>3675,26223=>3676,26299=>3677,26356=>3678,63745=>3678,26775=>3679,28039=>3680,28805=>3681,28913=>3682,29855=>3683,29861=>3684,29898=>3685,30169=>3686,30828=>3687,30956=>3688,31455=>3689,31478=>3690,32069=>3691,32147=>3692,32789=>3693,32831=>3694,33051=>3695,33686=>3696,35686=>3697,36629=>3698,36885=>3699,37857=>3700,38915=>3701,38968=>3702,39514=>3703,39912=>3704,20418=>3705,21843=>3706,22586=>3707,22865=>3708,63753=>3708,23395=>3709,23622=>3710,24760=>3711,25106=>3712,26690=>3713,26800=>3714,26856=>3715,28330=>3716,30028=>3717,30328=>3718,30926=>3719,31293=>3720,31995=>3721,32363=>3722,32380=>3723,35336=>3724,35489=>3725,35903=>3726,38542=>3727,40388=>3728,21476=>3729,21481=>3730,21578=>3731,21617=>3732,22266=>3733,22993=>3734,23396=>3735,23611=>3736,24235=>3737,25335=>3738,25911=>3739,25925=>3740,25970=>3741,26272=>3742,26543=>3743,27073=>3744,27837=>3745,30204=>3746,30352=>3747,30590=>3748,31295=>3749,32660=>3750,32771=>3751,32929=>3752,33167=>3753,33510=>3754,33533=>3755,33776=>3756,34241=>3757,34865=>3758,34996=>3759,35493=>3760,36764=>3761,37678=>3762,38599=>3763,39015=>3764,12220=>3765,39640=>3765,12238=>3766,40723=>3766,21741=>3767,26011=>3768,26354=>3769,26767=>3770,31296=>3771,12181=>3772,35895=>3772,40288=>3773,22256=>3774,22372=>3775,23825=>3776,26118=>3777,26801=>3778,26829=>3779,28414=>3780,29736=>3781,34974=>3782,39908=>3783,27752=>3784,12219=>3785,39592=>3785,20379=>3786,20844=>3787,20849=>3788,21151=>3789,23380=>3790,12079=>3791,24037=>3791,24656=>3792,24685=>3793,25329=>3794,25511=>3795,25915=>3796,29657=>3797,31354=>3798,34467=>3799,36002=>3800,38799=>3801,20018=>3802,63749=>3802,23521=>3803,12093=>3804,25096=>3804,26524=>3805,12128=>3806,29916=>3806,31185=>3807,33747=>3808,35463=>3809,35506=>3810,36328=>3811,36942=>3812,37707=>3813,38982=>3814,24275=>3815,64011=>3815,27112=>3816,34303=>3817,37101=>3818,20896=>3819,23448=>3820,23532=>3821,24931=>3822,26874=>3823,27454=>3824,28748=>3825,29743=>3826,29912=>3827,31649=>3828,32592=>3829,33733=>3830,35264=>3831,36011=>3832,38364=>3833,39208=>3834,21038=>3835,24669=>3836,25324=>3837,36866=>3838,20362=>3839,20809=>3840,21281=>3841,22745=>3842,24291=>3843,26336=>3844,27960=>3845,28826=>3846,29378=>3847,29654=>3848,31568=>3849,33009=>3850,37979=>3851,21350=>3852,25499=>3853,32619=>3854,20054=>3855,20608=>3856,22602=>3857,22750=>3858,24618=>3859,24871=>3860,25296=>3861,27088=>3862,39745=>3863,23439=>3864,32024=>3865,32945=>3866,36703=>3867,20132=>3868,20689=>3869,21676=>3870,21932=>3871,23308=>3872,23968=>3873,24039=>3874,25898=>3875,25934=>3876,26657=>3877,27211=>3878,29409=>3879,30350=>3880,30703=>3881,32094=>3882,32761=>3883,33184=>3884,34126=>3885,34527=>3886,36611=>3887,36686=>3888,37066=>3889,39171=>3890,39509=>3891,39851=>3892,19992=>3893,20037=>3894,20061=>3895,20167=>3896,20465=>3897,20855=>3898,21246=>3899,21312=>3900,12061=>3901,21475=>3901,21477=>3902,63750=>3902,21646=>3903,22036=>3904,22389=>3905,22434=>3906,23495=>3907,23943=>3908,24272=>3909,25084=>3910,25304=>3911,25937=>3912,26552=>3913,26601=>3914,27083=>3915,27472=>3916,27590=>3917,27628=>3918,27714=>3919,28317=>3920,28792=>3921,29399=>3922,29590=>3923,29699=>3924,30655=>3925,30697=>3926,31350=>3927,32127=>3928,32777=>3929,12165=>3930,33276=>3930,33285=>3931,33290=>3932,33503=>3933,34914=>3934,35635=>3935,36092=>3936,36544=>3937,36881=>3938,37041=>3939,37476=>3940,37558=>3941,39378=>3942,39493=>3943,40169=>3944,40407=>3945,12244=>3946,40860=>3946,63751=>3946,63752=>3946,22283=>3947,23616=>3948,33738=>3949,38816=>3950,38827=>3951,40628=>3952,21531=>3953,31384=>3954,32676=>3955,35033=>3956,36557=>3957,37089=>3958,22528=>3959,23624=>3960,25496=>3961,31391=>3962,23470=>3963,12088=>3964,24339=>3964,31353=>3965,31406=>3966,33422=>3967,36524=>3968,20518=>3969,21048=>3970,21240=>3971,21367=>3972,22280=>3973,25331=>3974,25458=>3975,27402=>3976,28099=>3977,30519=>3978,21413=>3979,29527=>3980,34152=>3981,36470=>3982,38357=>3983,26426=>3984,27331=>3985,28528=>3986,35437=>3987,36556=>3988,39243=>3989,26231=>3990,27512=>3991,36020=>3992,12225=>3993,39740=>3993,21483=>3994,22317=>3995,22862=>3996,25542=>3997,27131=>3998,29674=>3999,30789=>4000,31418=>4001,31429=>4002,31998=>4003,33909=>4004,35215=>4005,36211=>4006,36917=>4007,38312=>4008,21243=>4009,22343=>4010,30023=>4011,31584=>4012,33740=>4013,37406=>4014,27224=>4015,20811=>4016,21067=>4017,21127=>4018,25119=>4019,26840=>4020,26997=>4021,38553=>4022,20677=>4023,21156=>4024,21220=>4025,25027=>4026,12100=>4027,26020=>4027,26681=>4028,27135=>4029,29822=>4030,31563=>4031,33465=>4032,33771=>4033,35250=>4034,35641=>4035,36817=>4036,39241=>4037,20170=>4038,22935=>4039,25810=>4040,26129=>4041,27278=>4042,29748=>4043,31105=>4044,31165=>4045,33449=>4046,34942=>4047,34943=>4048,35167=>4049,37670=>4050,20235=>4051,21450=>4052,24613=>4053,25201=>4054,27762=>4055,32026=>4056,32102=>4057,20120=>4058,20834=>4059,30684=>4060,32943=>4061,20225=>4062,20238=>4063,20854=>4064,20864=>4065,21980=>4066,22120=>4067,22331=>4068,22522=>4069,22524=>4070,22804=>4071,22855=>4072,22931=>4073,23492=>4074,23696=>4075,23822=>4076,12080=>4077,24049=>4077,24190=>4078,24524=>4079,25216=>4080,26071=>4081,26083=>4082,26398=>4083,26399=>4084,26462=>4085,26827=>4086,26820=>4087,27231=>4088,27450=>4089,27683=>4090,27773=>4091,27778=>4092,28103=>4093,29592=>4094,29734=>4095,29738=>4096,29826=>4097,29859=>4098,30072=>4099,30079=>4100,30849=>4101,30959=>4102,31041=>4103,31047=>4104,31048=>4105,31098=>4106,31637=>4107,32000=>4108,32186=>4109,32648=>4110,32774=>4111,32813=>4112,32908=>4113,35352=>4114,35663=>4115,35912=>4116,63744=>4116,36215=>4117,37665=>4118,37668=>4119,39138=>4120,39249=>4121,39438=>4122,39439=>4123,39525=>4124,40594=>4125,32202=>4126,20342=>4127,21513=>4128,25326=>4129,26708=>4130,12198=>4131,37329=>4131,63754=>4131,21931=>4132,20794=>4133,23068=>4134,25062=>4135,25295=>4136,63835=>4136,25343=>4137,37027=>4138,35582=>4139,63837=>4139,26262=>4140,29014=>4141,38627=>4142,25423=>4143,25466=>4144,21335=>4145,26511=>4146,26976=>4147,28275=>4148,30007=>4149,32013=>4150,34930=>4151,22218=>4152,23064=>4153,20035=>4154,20839=>4155,22856=>4156,63756=>4156,26608=>4157,32784=>4158,12069=>4159,22899=>4159,63873=>4159,24180=>4160,63886=>4160,25754=>4161,63889=>4161,31178=>4162,63893=>4162,24565=>4163,63907=>4163,24684=>4164,25288=>4165,25467=>4166,63908=>4166,23527=>4167,63839=>4167,63914=>4167,23511=>4168,21162=>4169,22900=>4170,24361=>4171,24594=>4172,63840=>4172,29785=>4173,39377=>4174,28611=>4175,33215=>4176,36786=>4177,24817=>4178,33126=>4179,23615=>4180,63933=>4180,23273=>4181,35365=>4182,26491=>4183,63944=>4183,32016=>4184,63951=>4184,33021=>4185,23612=>4186,27877=>4187,63971=>4187,21311=>4188,63979=>4188,28346=>4189,63980=>4189,22810=>4190,33590=>4191,63998=>4191,20025=>4192,63838=>4192,20150=>4193,20294=>4194,21934=>4195,22296=>4196,22727=>4197,24406=>4198,26039=>4199,26086=>4200,27264=>4201,27573=>4202,28237=>4203,30701=>4204,31471=>4205,31774=>4206,32222=>4207,34507=>4208,34962=>4209,37170=>4210,37723=>4211,25787=>4212,28606=>4213,29562=>4214,30136=>4215,36948=>4216,21846=>4217,22349=>4218,25018=>4219,25812=>4220,26311=>4221,28129=>4222,28251=>4223,28525=>4224,28601=>4225,30192=>4226,32835=>4227,33213=>4228,34113=>4229,35203=>4230,35527=>4231,35674=>4232,37663=>4233,27795=>4234,30035=>4235,31572=>4236,36367=>4237,36957=>4238,21776=>4239,22530=>4240,22616=>4241,24162=>4242,25095=>4243,25758=>4244,26848=>4245,30070=>4246,31958=>4247,64003=>4247,34739=>4248,40680=>4249,20195=>4250,22408=>4251,22382=>4252,12068=>4253,22823=>4253,23565=>4254,23729=>4255,24118=>4256,24453=>4257,25140=>4258,25825=>4259,29619=>4260,33274=>4261,34955=>4262,36024=>4263,38538=>4264,40667=>4265,23429=>4266,64004=>4266,24503=>4267,24755=>4268,20498=>4269,12049=>4270,20992=>4270,21040=>4271,22294=>4272,22581=>4273,22615=>4274,23566=>4275,23648=>4276,23798=>4277,23947=>4278,24230=>4279,64001=>4279,24466=>4280,24764=>4281,25361=>4282,25481=>4283,25623=>4284,26691=>4285,26873=>4286,27330=>4287,28120=>4288,28193=>4289,28372=>4290,28644=>4291,29182=>4292,30428=>4293,30585=>4294,31153=>4295,31291=>4296,33796=>4297,35241=>4298,36077=>4299,36339=>4300,36424=>4301,36867=>4302,36884=>4303,36947=>4304,37117=>4305,37709=>4306,38518=>4307,38876=>4308,27602=>4309,28678=>4310,29272=>4311,29346=>4312,29544=>4313,30563=>4314,31167=>4315,31716=>4316,32411=>4317,35712=>4318,63834=>4318,22697=>4319,24775=>4320,25958=>4321,26109=>4322,26302=>4323,27788=>4324,28958=>4325,29129=>4326,35930=>4327,38931=>4328,20077=>4329,31361=>4330,20189=>4331,20908=>4332,20941=>4333,21205=>4334,21516=>4335,24999=>4336,26481=>4337,26704=>4338,26847=>4339,27934=>4340,64005=>4340,28540=>4341,30140=>4342,30643=>4343,31461=>4344,33012=>4345,33891=>4346,37509=>4347,20828=>4348,12099=>4349,26007=>4349,26460=>4350,26515=>4351,30168=>4352,31431=>4353,33651=>4354,12182=>4355,35910=>4355,36887=>4356,38957=>4357,23663=>4358,33216=>4359,33434=>4360,36929=>4361,36975=>4362,37389=>4363,24471=>4364,23965=>4365,27225=>4366,29128=>4367,30331=>4368,31561=>4369,34276=>4370,35588=>4371,37159=>4372,39472=>4373,21895=>4374,63755=>4374,25078=>4375,63757=>4375,30313=>4376,63758=>4376,32645=>4377,63759=>4377,34367=>4378,63760=>4378,34746=>4379,63761=>4379,35064=>4380,63762=>4380,37007=>4381,63763=>4381,27931=>4382,63765=>4382,28889=>4383,63766=>4383,29662=>4384,63767=>4384,32097=>4385,33853=>4386,63768=>4386,37226=>4387,63769=>4387,39409=>4388,63770=>4388,20098=>4389,63771=>4389,21365=>4390,63772=>4390,27396=>4391,63773=>4391,27410=>4392,28734=>4393,29211=>4394,63774=>4394,34349=>4395,63775=>4395,40478=>4396,63776=>4396,21068=>4397,36771=>4398,23888=>4399,63777=>4399,25829=>4400,25900=>4401,27414=>4402,28651=>4403,63778=>4403,31811=>4404,32412=>4405,34253=>4406,63779=>4406,35172=>4407,63780=>4407,35261=>4408,25289=>4409,63781=>4409,33240=>4410,63782=>4410,34847=>4411,63783=>4411,24266=>4412,63784=>4412,26391=>4413,63785=>4413,28010=>4414,63786=>4414,29436=>4415,63787=>4415,29701=>4416,29807=>4417,34690=>4418,37086=>4419,63788=>4419,20358=>4420,63789=>4420,23821=>4421,24480=>4422,33802=>4423,20919=>4424,63790=>4424,25504=>4425,63861=>4425,30053=>4426,63862=>4426,20142=>4427,63863=>4427,20486=>4428,20841=>4429,63864=>4429,20937=>4430,63865=>4430,26753=>4431,63866=>4431,27153=>4432,31918=>4433,31921=>4434,31975=>4435,63867=>4435,33391=>4436,63868=>4436,35538=>4437,63869=>4437,36635=>4438,37327=>4439,63870=>4439,20406=>4440,20791=>4441,21237=>4442,63871=>4442,21570=>4443,63872=>4443,24300=>4444,63874=>4444,24942=>4445,25150=>4446,26053=>4447,63875=>4447,27354=>4448,28670=>4449,63876=>4449,31018=>4450,63877=>4450,34268=>4451,34851=>4452,38317=>4453,63878=>4453,39522=>4454,39530=>4455,63879=>4455,40599=>4456,63880=>4456,40654=>4457,63881=>4457,12050=>4458,21147=>4458,63882=>4458,26310=>4459,63883=>4459,27511=>4460,63884=>4460,28701=>4461,31019=>4462,36706=>4463,63885=>4463,38722=>4464,24976=>4465,63887=>4465,25088=>4466,63888=>4466,25891=>4467,28451=>4468,63890=>4468,29001=>4469,63891=>4469,29833=>4470,63892=>4470,32244=>4471,63894=>4471,32879=>4472,63895=>4472,34030=>4473,63897=>4473,36646=>4474,63896=>4474,36899=>4475,63898=>4475,37706=>4476,63899=>4476,20925=>4477,21015=>4478,63900=>4478,21155=>4479,63901=>4479,27916=>4480,28872=>4481,63903=>4481,35010=>4482,63904=>4482,24265=>4483,63906=>4483,25986=>4484,27566=>4485,63909=>4485,28610=>4486,31806=>4487,63910=>4487,29557=>4488,63911=>4488,20196=>4489,63912=>4489,20278=>4490,22265=>4491,63913=>4491,23738=>4492,23994=>4493,63915=>4493,24604=>4494,63916=>4494,29618=>4495,63917=>4495,31533=>4496,32666=>4497,63919=>4497,32718=>4498,32838=>4499,63920=>4499,36894=>4500,37428=>4501,63921=>4501,38646=>4502,63922=>4502,38728=>4503,63923=>4503,38936=>4504,63924=>4504,40801=>4505,20363=>4506,63925=>4506,28583=>4507,31150=>4508,63926=>4508,37300=>4509,63927=>4509,38583=>4510,63928=>4510,21214=>4511,63791=>4511,25736=>4512,25796=>4513,63792=>4513,27347=>4514,63793=>4514,28510=>4515,28696=>4516,29200=>4517,63794=>4517,30439=>4518,63795=>4518,12156=>4519,32769=>4519,63796=>4519,34310=>4520,63797=>4520,34396=>4521,63798=>4521,36335=>4522,63799=>4522,36613=>4523,38706=>4524,63800=>4524,39791=>4525,63801=>4525,40442=>4526,63802=>4526,12228=>4527,40565=>4527,30860=>4528,63803=>4528,31103=>4529,63804=>4529,32160=>4530,63805=>4530,33737=>4531,63806=>4531,37636=>4532,63807=>4532,12229=>4533,40575=>4533,63808=>4533,40595=>4534,35542=>4535,63809=>4535,22751=>4536,63810=>4536,24324=>4537,63811=>4537,26407=>4538,28711=>4539,29903=>4540,31840=>4541,63812=>4541,32894=>4542,63813=>4542,20769=>4543,28712=>4544,29282=>4545,63814=>4545,30922=>4546,63815=>4546,36034=>4547,63816=>4547,36058=>4548,36084=>4549,38647=>4550,63817=>4550,20102=>4551,63930=>4551,20698=>4552,63931=>4552,23534=>4553,63932=>4553,24278=>4554,26009=>4555,63934=>4555,29134=>4556,63936=>4556,30274=>4557,63937=>4557,30637=>4558,32842=>4559,34044=>4560,63938=>4560,36988=>4561,63939=>4561,39719=>4562,12243=>4563,40845=>4563,63940=>4563,22744=>4564,63818=>4564,23105=>4565,23650=>4566,63819=>4566,27155=>4567,63820=>4567,28122=>4568,63821=>4568,28431=>4569,63822=>4569,30267=>4570,32047=>4571,63823=>4571,32311=>4572,63824=>4572,34078=>4573,35128=>4574,37860=>4575,38475=>4576,63825=>4576,21129=>4577,63943=>4577,26066=>4578,26611=>4579,63945=>4579,27060=>4580,27969=>4581,63946=>4581,28316=>4582,63947=>4582,28687=>4583,29705=>4584,63948=>4584,29792=>4585,30041=>4586,63949=>4586,30244=>4587,30827=>4588,63950=>4588,35628=>4589,39006=>4590,63952=>4590,20845=>4591,63953=>4591,25134=>4592,63954=>4592,38520=>4593,63955=>4593,20374=>4594,20523=>4595,63956=>4595,23833=>4596,63957=>4596,28138=>4597,63958=>4597,32184=>4598,36650=>4599,63959=>4599,24459=>4600,63960=>4600,24900=>4601,63961=>4601,26647=>4602,63962=>4602,38534=>4603,63964=>4603,21202=>4604,63826=>4604,32907=>4605,63827=>4605,20956=>4606,63828=>4606,20940=>4607,63829=>4607,26974=>4608,31260=>4609,63830=>4609,32190=>4610,63831=>4610,33777=>4611,63832=>4611,38517=>4612,63833=>4612,20442=>4613,21033=>4614,63965=>4614,21400=>4615,21519=>4616,63966=>4616,21774=>4617,23653=>4618,63967=>4618,24743=>4619,26446=>4620,63969=>4620,26792=>4621,63970=>4621,28012=>4622,29313=>4623,29432=>4624,29702=>4625,63972=>4625,29827=>4626,30178=>4627,63973=>4627,31852=>4628,32633=>4629,63974=>4629,32696=>4630,33673=>4631,35023=>4632,63975=>4632,35041=>4633,63976=>4633,12197=>4634,37324=>4634,63977=>4634,37328=>4635,38626=>4636,63978=>4636,39881=>4637,21533=>4638,63981=>4638,28542=>4639,29136=>4640,63982=>4640,29848=>4641,63983=>4641,34298=>4642,63984=>4642,36522=>4643,38563=>4644,63985=>4644,40023=>4645,63986=>4645,40607=>4646,63987=>4646,26519=>4647,63988=>4647,28107=>4648,63989=>4648,29747=>4649,33256=>4650,63990=>4650,38678=>4651,30764=>4652,12148=>4653,31435=>4653,63991=>4653,31520=>4654,63992=>4654,31890=>4655,63993=>4655,25705=>4656,29802=>4657,30194=>4658,30908=>4659,30952=>4660,12218=>4661,39340=>4661,39764=>4662,12231=>4663,40635=>4663,23518=>4664,24149=>4665,28448=>4666,33180=>4667,33707=>4668,37000=>4669,19975=>4670,21325=>4671,23081=>4672,24018=>4673,24398=>4674,24930=>4675,25405=>4676,26217=>4677,26364=>4678,28415=>4679,28459=>4680,28771=>4681,30622=>4682,33836=>4683,34067=>4684,34875=>4685,36627=>4686,39237=>4687,39995=>4688,21788=>4689,25273=>4690,26411=>4691,27819=>4692,33545=>4693,35178=>4694,38778=>4695,20129=>4696,22916=>4697,24536=>4698,24537=>4699,26395=>4700,32178=>4701,32596=>4702,33426=>4703,33579=>4704,33725=>4705,36638=>4706,37017=>4707,22475=>4708,22969=>4709,23186=>4710,23504=>4711,26151=>4712,26522=>4713,26757=>4714,27599=>4715,29028=>4716,32629=>4717,36023=>4718,36067=>4719,36993=>4720,39749=>4721,33032=>4722,35978=>4723,38476=>4724,39488=>4725,12230=>4726,40613=>4726,23391=>4727,27667=>4728,29467=>4729,30450=>4730,30431=>4731,33804=>4732,20906=>4733,35219=>4734,20813=>4735,20885=>4736,21193=>4737,26825=>4738,27796=>4739,30468=>4740,30496=>4741,32191=>4742,32236=>4743,12207=>4744,38754=>4744,40629=>4745,28357=>4746,34065=>4747,20901=>4748,21517=>4749,21629=>4750,26126=>4751,26269=>4752,26919=>4753,28319=>4754,12139=>4755,30399=>4755,30609=>4756,33559=>4757,33986=>4758,34719=>4759,37225=>4760,37528=>4761,40180=>4762,34946=>4763,20398=>4764,20882=>4765,21215=>4766,22982=>4767,24125=>4768,24917=>4769,25720=>4770,25721=>4771,26286=>4772,26576=>4773,27169=>4774,27597=>4775,12113=>4776,27611=>4776,29279=>4777,29281=>4778,29761=>4779,30520=>4780,12141=>4781,30683=>4781,32791=>4782,33468=>4783,33541=>4784,35584=>4785,35624=>4786,35980=>4787,12106=>4788,26408=>4788,27792=>4789,29287=>4790,12140=>4791,30446=>4791,30566=>4792,31302=>4793,40361=>4794,27519=>4795,27794=>4796,22818=>4797,26406=>4798,33945=>4799,21359=>4800,22675=>4801,22937=>4802,24287=>4803,25551=>4804,26164=>4805,26483=>4806,28218=>4807,29483=>4808,31447=>4809,33495=>4810,37672=>4811,21209=>4812,24043=>4813,25006=>4814,25035=>4815,25098=>4816,25287=>4817,25771=>4818,12102=>4819,26080=>4819,26969=>4820,27494=>4821,12111=>4822,27595=>4822,28961=>4823,29687=>4824,30045=>4825,32326=>4826,33310=>4827,33538=>4828,34154=>4829,35491=>4830,36031=>4831,38695=>4832,40289=>4833,22696=>4834,40664=>4835,20497=>4836,21006=>4837,21563=>4838,21839=>4839,12098=>4840,25991=>4840,27766=>4841,32010=>4842,32011=>4843,32862=>4844,34442=>4845,12200=>4846,38272=>4846,38639=>4847,21247=>4848,27797=>4849,29289=>4850,21619=>4851,23194=>4852,23614=>4853,23883=>4854,24396=>4855,24494=>4856,26410=>4857,26806=>4858,26979=>4859,28220=>4860,28228=>4861,30473=>4862,12150=>4863,31859=>4863,32654=>4864,34183=>4865,35598=>4866,36855=>4867,38753=>4868,40692=>4869,23735=>4870,24758=>4871,24845=>4872,25003=>4873,25935=>4874,26107=>4875,26108=>4876,27665=>4877,27887=>4878,29599=>4879,29641=>4880,32225=>4881,38292=>4882,23494=>4883,34588=>4884,35600=>4885,21085=>4886,21338=>4887,25293=>4888,25615=>4889,25778=>4890,26420=>4891,27192=>4892,27850=>4893,29632=>4894,29854=>4895,31636=>4896,31893=>4897,32283=>4898,33162=>4899,33334=>4900,34180=>4901,36843=>4902,38649=>4903,39361=>4904,20276=>4905,21322=>4906,21453=>4907,21467=>4908,25292=>4909,25644=>4910,25856=>4911,26001=>4912,27075=>4913,27886=>4914,28504=>4915,29677=>4916,30036=>4917,30242=>4918,30436=>4919,30460=>4920,30928=>4921,30971=>4922,63844=>4922,31020=>4923,32070=>4924,33324=>4925,34784=>4926,36820=>4927,38930=>4928,39151=>4929,21187=>4930,25300=>4931,25765=>4932,28196=>4933,28497=>4934,30332=>4935,36299=>4936,37297=>4937,37474=>4938,39662=>4939,39747=>4940,20515=>4941,20621=>4942,22346=>4943,22952=>4944,23592=>4945,24135=>4946,24439=>4947,25151=>4948,25918=>4949,12101=>4950,26041=>4950,26049=>4951,26121=>4952,26507=>4953,27036=>4954,28354=>4955,30917=>4956,32033=>4957,32938=>4958,33152=>4959,33323=>4960,33459=>4961,33953=>4962,34444=>4963,35370=>4964,35607=>4965,37030=>4966,38450=>4967,40848=>4968,20493=>4969,20467=>4970,22521=>4971,24472=>4972,25308=>4973,25490=>4974,26479=>4975,28227=>4976,28953=>4977,30403=>4978,32972=>4979,32986=>4980,35060=>4981,35061=>4982,35097=>4983,36064=>4984,36649=>4985,37197=>4986,38506=>4987,20271=>4988,20336=>4989,24091=>4990,26575=>4991,26658=>4992,12137=>4993,30333=>4993,30334=>4994,39748=>4995,24161=>4996,27146=>4997,29033=>4998,29140=>4999,30058=>5000,32321=>5001,34115=>5002,34281=>5003,39132=>5004,20240=>5005,31567=>5006,32624=>5007,38309=>5008,20961=>5009,24070=>5010,26805=>5011,27710=>5012,27726=>5013,27867=>5014,29359=>5015,31684=>5016,33539=>5017,27861=>5018,29754=>5019,20731=>5020,21128=>5021,22721=>5022,25816=>5023,27287=>5024,29863=>5025,30294=>5026,30887=>5027,34327=>5028,38370=>5029,38713=>5030,21342=>5031,24321=>5032,35722=>5033,36776=>5034,36783=>5035,37002=>5036,21029=>5037,30629=>5038,40009=>5039,40712=>5040,19993=>5041,20482=>5042,20853=>5043,23643=>5044,24183=>5045,26142=>5046,26170=>5047,26564=>5048,26821=>5049,28851=>5050,29953=>5051,30149=>5052,31177=>5053,31453=>5054,36647=>5055,39200=>5056,39432=>5057,20445=>5058,22561=>5059,22577=>5060,23542=>5061,26222=>5062,27493=>5063,27921=>5064,28282=>5065,28541=>5066,29668=>5067,29995=>5068,33769=>5069,35036=>5070,35091=>5071,35676=>5072,36628=>5073,20239=>5074,20693=>5075,21264=>5076,12056=>5077,21340=>5077,23443=>5078,24489=>5079,63846=>5079,26381=>5080,31119=>5081,33145=>5082,33583=>5083,34068=>5084,35079=>5085,35206=>5086,36665=>5087,36667=>5088,64007=>5088,39333=>5089,39954=>5090,26412=>5091,20086=>5092,20472=>5093,22857=>5094,23553=>5095,23791=>5096,23792=>5097,25447=>5098,26834=>5099,28925=>5100,29090=>5101,29739=>5102,32299=>5103,34028=>5104,34562=>5105,36898=>5106,37586=>5107,40179=>5108,19981=>5109,63847=>5109,20184=>5110,20463=>5111,20613=>5112,21078=>5113,21103=>5114,21542=>5115,21648=>5116,22496=>5117,22827=>5118,23142=>5119,23386=>5120,23413=>5121,23500=>5122,24220=>5123,25206=>5124,25975=>5125,26023=>5126,28014=>5127,28325=>5128,12119=>5129,29238=>5129,31526=>5130,31807=>5131,12152=>5132,32566=>5132,33104=>5133,33105=>5134,33178=>5135,33344=>5136,33433=>5137,33705=>5138,35331=>5139,36000=>5140,36070=>5141,36091=>5142,36212=>5143,36282=>5144,37096=>5145,37340=>5146,12201=>5147,38428=>5147,38468=>5148,39385=>5149,40167=>5150,21271=>5151,63843=>5151,20998=>5152,21545=>5153,22132=>5154,22707=>5155,22868=>5156,22894=>5157,24575=>5158,24996=>5159,25198=>5160,26128=>5161,27774=>5162,28954=>5163,30406=>5164,31881=>5165,31966=>5166,32027=>5167,33452=>5168,36033=>5169,38640=>5170,20315=>5171,24343=>5172,24447=>5173,25282=>5174,23849=>5175,26379=>5176,26842=>5177,30844=>5178,32323=>5179,40300=>5180,19989=>5181,20633=>5182,12052=>5183,21269=>5183,21290=>5184,21329=>5185,22915=>5186,23138=>5187,24199=>5188,24754=>5189,24970=>5190,25161=>5191,25209=>5192,26000=>5193,26503=>5194,27047=>5195,12112=>5196,27604=>5196,27606=>5197,27607=>5198,27608=>5199,27832=>5200,29749=>5201,30202=>5202,30738=>5203,30865=>5204,31189=>5205,31192=>5206,31875=>5207,32203=>5208,32737=>5209,32933=>5210,33086=>5211,33218=>5212,33778=>5213,34586=>5214,35048=>5215,35513=>5216,35692=>5217,36027=>5218,37145=>5219,12206=>5220,38750=>5220,12214=>5221,39131=>5221,12240=>5222,40763=>5222,22188=>5223,23338=>5224,24428=>5225,25996=>5226,27315=>5227,27567=>5228,27996=>5229,28657=>5230,28693=>5231,29277=>5232,29613=>5233,36007=>5234,36051=>5235,38971=>5236,24977=>5237,27703=>5238,32856=>5239,39425=>5240,20045=>5241,20107=>5242,20123=>5243,20181=>5244,20282=>5245,20284=>5246,20351=>5247,20447=>5248,20735=>5249,21490=>5250,21496=>5251,21766=>5252,21987=>5253,22235=>5254,12064=>5255,22763=>5255,22882=>5256,23057=>5257,23531=>5258,23546=>5259,23556=>5260,24051=>5261,24107=>5262,24473=>5263,24605=>5264,25448=>5265,26012=>5266,26031=>5267,26614=>5268,26619=>5269,26797=>5270,27515=>5271,27801=>5272,27863=>5273,28195=>5274,28681=>5275,29509=>5276,30722=>5277,31038=>5278,31040=>5279,31072=>5280,31169=>5281,31721=>5282,32023=>5283,32114=>5284,32902=>5285,33293=>5286,33678=>5287,34001=>5288,34503=>5289,35039=>5290,35408=>5291,35422=>5292,35613=>5293,36060=>5294,36198=>5295,36781=>5296,37034=>5297,39164=>5298,39391=>5299,40605=>5300,21066=>5301,26388=>5302,20632=>5303,21034=>5304,12077=>5305,23665=>5305,25955=>5306,27733=>5307,29642=>5308,29987=>5309,30109=>5310,31639=>5311,33948=>5312,37240=>5313,38704=>5314,20087=>5315,25746=>5316,27578=>5317,63856=>5317,29022=>5318,34217=>5319,19977=>5320,26441=>5321,26862=>5322,28183=>5323,33439=>5324,34072=>5325,34923=>5326,25591=>5327,28545=>5328,37394=>5329,39087=>5330,19978=>5331,20663=>5332,20687=>5333,20767=>5334,21830=>5335,21930=>5336,22039=>5337,23360=>5338,23577=>5339,23776=>5340,24120=>5341,24202=>5342,24224=>5343,24258=>5344,24819=>5345,26705=>5346,27233=>5347,28248=>5348,29245=>5349,29248=>5350,29376=>5351,63994=>5351,30456=>5352,31077=>5353,31665=>5354,32724=>5355,35059=>5356,35316=>5357,35443=>5358,35937=>5359,36062=>5360,38684=>5361,22622=>5362,63852=>5362,29885=>5363,36093=>5364,21959=>5365,31329=>5366,32034=>5367,63850=>5367,12170=>5368,33394=>5368,29298=>5369,12131=>5370,29983=>5370,29989=>5371,31513=>5372,22661=>5373,22779=>5374,23996=>5375,24207=>5376,24246=>5377,24464=>5378,24661=>5379,25234=>5380,25471=>5381,25933=>5382,26257=>5383,26329=>5384,26360=>5385,26646=>5386,26866=>5387,29312=>5388,29790=>5389,31598=>5390,32110=>5391,32214=>5392,32626=>5393,32997=>5394,33298=>5395,34223=>5396,35199=>5397,35475=>5398,36893=>5399,37604=>5400,12233=>5401,40653=>5401,12239=>5402,40736=>5402,12067=>5403,22805=>5403,22893=>5404,24109=>5405,24796=>5406,26132=>5407,26227=>5408,26512=>5409,27728=>5410,28101=>5411,28511=>5412,12143=>5413,30707=>5413,30889=>5414,33990=>5415,37323=>5416,37675=>5417,20185=>5418,20682=>5419,20808=>5420,21892=>5421,23307=>5422,23459=>5423,25159=>5424,25982=>5425,26059=>5426,28210=>5427,29053=>5428,29697=>5429,29764=>5430,29831=>5431,29887=>5432,30316=>5433,31146=>5434,32218=>5435,32341=>5436,32680=>5437,33146=>5438,33203=>5439,33337=>5440,34330=>5441,34796=>5442,35445=>5443,36323=>5444,36984=>5445,37521=>5446,37925=>5447,39245=>5448,39854=>5449,21352=>5450,23633=>5451,26964=>5452,27844=>5453,27945=>5454,28203=>5455,12166=>5456,33292=>5456,34203=>5457,35131=>5458,35373=>5459,35498=>5460,63855=>5460,63905=>5460,38634=>5461,40807=>5462,21089=>5463,26297=>5464,27570=>5465,32406=>5466,34814=>5467,36109=>5468,38275=>5469,38493=>5470,25885=>5471,28041=>5472,29166=>5473,22478=>5474,22995=>5475,23468=>5476,24615=>5477,24826=>5478,25104=>5479,26143=>5480,26207=>5481,29481=>5482,29689=>5483,30427=>5484,30465=>5485,63853=>5485,31596=>5486,32854=>5487,32882=>5488,33125=>5489,35488=>5490,37266=>5491,19990=>5492,21218=>5493,27506=>5494,27927=>5495,31237=>5496,31545=>5497,32048=>5498,36016=>5499,21484=>5500,22063=>5501,22609=>5502,23477=>5503,12073=>5504,23567=>5504,23569=>5505,24034=>5506,25152=>5507,25475=>5508,25620=>5509,26157=>5510,26803=>5511,27836=>5512,28040=>5513,28335=>5514,28703=>5515,28836=>5516,29138=>5517,29990=>5518,30095=>5519,30094=>5520,30233=>5521,31505=>5522,31712=>5523,31787=>5524,32032=>5525,32057=>5526,34092=>5527,34157=>5528,34311=>5529,35380=>5530,36877=>5531,36961=>5532,37045=>5533,37559=>5534,38902=>5535,39479=>5536,20439=>5537,23660=>5538,26463=>5539,28049=>5540,31903=>5541,32396=>5542,35606=>5543,36118=>5544,36895=>5545,23403=>5546,24061=>5547,25613=>5548,33984=>5549,36956=>5550,39137=>5551,29575=>5552,63841=>5552,63963=>5552,23435=>5553,24730=>5554,26494=>5555,28126=>5556,35359=>5557,35494=>5558,36865=>5559,38924=>5560,21047=>5561,28753=>5562,30862=>5563,37782=>5564,34928=>5565,37335=>5566,20462=>5567,21463=>5568,22013=>5569,22234=>5570,22402=>5571,22781=>5572,23234=>5573,23432=>5574,23723=>5575,23744=>5576,24101=>5577,24833=>5578,25101=>5579,12095=>5580,25163=>5580,25480=>5581,25628=>5582,25910=>5583,25976=>5584,63849=>5584,27193=>5585,27530=>5586,12116=>5587,27700=>5587,27929=>5588,28465=>5589,29159=>5590,29417=>5591,29560=>5592,29703=>5593,29874=>5594,30246=>5595,30561=>5596,31168=>5597,31319=>5598,31466=>5599,31929=>5600,32143=>5601,32172=>5602,32353=>5603,32670=>5604,33065=>5605,33585=>5606,33936=>5607,34010=>5608,34282=>5609,34966=>5610,35504=>5611,35728=>5612,36664=>5613,36930=>5614,36995=>5615,37228=>5616,37526=>5617,37561=>5618,38539=>5619,38567=>5620,38568=>5621,38614=>5622,38656=>5623,38920=>5624,12216=>5625,39318=>5625,39635=>5626,39706=>5627,21460=>5628,22654=>5629,22809=>5630,23408=>5631,23487=>5632,28113=>5633,28506=>5634,29087=>5635,29729=>5636,29881=>5637,32901=>5638,33789=>5639,24033=>5640,24455=>5641,24490=>5642,24642=>5643,26092=>5644,26642=>5645,26991=>5646,27219=>5647,27529=>5648,27957=>5649,28147=>5650,29667=>5651,30462=>5652,30636=>5653,31565=>5654,32020=>5655,33059=>5656,33308=>5657,33600=>5658,34036=>5659,34147=>5660,35426=>5661,35524=>5662,37255=>5663,37662=>5664,38918=>5665,39348=>5666,25100=>5667,34899=>5668,36848=>5669,37477=>5670,23815=>5671,23847=>5672,23913=>5673,29791=>5674,33181=>5675,34664=>5676,28629=>5677,25342=>5678,63859=>5678,32722=>5679,35126=>5680,35186=>5681,19998=>5682,20056=>5683,20711=>5684,21213=>5685,21319=>5686,25215=>5687,26119=>5688,32361=>5689,34821=>5690,38494=>5691,20365=>5692,21273=>5693,22070=>5694,22987=>5695,23204=>5696,12075=>5697,23608=>5697,23630=>5698,23629=>5699,24066=>5700,24337=>5701,24643=>5702,26045=>5703,26159=>5704,26178=>5705,26558=>5706,26612=>5707,29468=>5708,12142=>5709,30690=>5709,12144=>5710,31034=>5710,32709=>5711,33940=>5712,33997=>5713,35222=>5714,35430=>5715,35433=>5716,35553=>5717,12183=>5718,35925=>5718,35962=>5719,22516=>5720,23508=>5721,24335=>5722,24687=>5723,25325=>5724,26893=>5725,27542=>5726,28252=>5727,29060=>5728,31698=>5729,34645=>5730,35672=>5731,63996=>5731,36606=>5732,12215=>5733,39135=>5733,39166=>5734,20280=>5735,20353=>5736,20449=>5737,21627=>5738,23072=>5739,23480=>5740,24892=>5741,26032=>5742,26216=>5743,29180=>5744,30003=>5745,31070=>5746,32051=>5747,33102=>5748,12162=>5749,33251=>5749,33688=>5750,34218=>5751,34254=>5752,34563=>5753,35338=>5754,12189=>5755,36523=>5755,12191=>5756,36763=>5756,36805=>5757,22833=>5758,23460=>5759,23526=>5760,24713=>5761,23529=>5762,23563=>5763,12092=>5764,24515=>5764,27777=>5765,28145=>5766,28683=>5767,29978=>5768,33455=>5769,35574=>5770,20160=>5771,63997=>5771,12055=>5772,21313=>5772,38617=>5773,12114=>5774,27663=>5774,20126=>5775,20420=>5776,20818=>5777,21854=>5778,23077=>5779,23784=>5780,25105=>5781,12123=>5782,29273=>5782,33469=>5783,33706=>5784,34558=>5785,34905=>5786,35357=>5787,38463=>5788,38597=>5789,39187=>5790,40201=>5791,40285=>5792,22538=>5793,23731=>5794,23997=>5795,24132=>5796,24801=>5797,63929=>5797,24853=>5798,25569=>5799,27138=>5800,63764=>5800,63836=>5800,63935=>5800,28197=>5801,37122=>5802,37716=>5803,38990=>5804,39952=>5805,40823=>5806,23433=>5807,23736=>5808,25353=>5809,26191=>5810,26696=>5811,30524=>5812,38593=>5813,38797=>5814,38996=>5815,39839=>5816,26017=>5817,35585=>5818,36555=>5819,38332=>5820,21813=>5821,23721=>5822,24022=>5823,24245=>5824,26263=>5825,30284=>5826,33780=>5827,38343=>5828,22739=>5829,25276=>5830,29390=>5831,40232=>5832,20208=>5833,22830=>5834,24591=>5835,26171=>5836,27523=>5837,31207=>5838,40230=>5839,21395=>5840,21696=>5841,22467=>5842,23830=>5843,24859=>5844,26326=>5845,28079=>5846,30861=>5847,33406=>5848,38552=>5849,38724=>5850,21380=>5851,25212=>5852,25494=>5853,28082=>5854,32266=>5855,33099=>5856,38989=>5857,27387=>5858,32588=>5859,40367=>5860,40474=>5861,20063=>5862,20539=>5863,20918=>5864,22812=>5865,24825=>5866,25590=>5867,26928=>5868,29242=>5869,32822=>5870,37326=>5871,24369=>5872,32004=>5873,33509=>5874,63860=>5874,33903=>5875,33979=>5876,34277=>5877,36493=>5878,20335=>5879,22756=>5880,23363=>5881,24665=>5882,25562=>5883,25880=>5884,25965=>5885,26264=>5886,26954=>5887,27171=>5888,27915=>5889,28673=>5890,29036=>5891,30162=>5892,30221=>5893,31155=>5894,31344=>5895,12154=>5896,32650=>5896,35140=>5897,35731=>5898,37312=>5899,38525=>5900,39178=>5901,22276=>5902,24481=>5903,26044=>5904,28417=>5905,30208=>5906,31142=>5907,35486=>5908,39341=>5909,12226=>5910,39770=>5910,40812=>5911,20740=>5912,25014=>5913,25233=>5914,27277=>5915,33222=>5916,20547=>5917,22576=>5918,24422=>5919,28937=>5920,12180=>5921,35328=>5921,35578=>5922,23420=>5923,34326=>5924,20474=>5925,20796=>5926,22196=>5927,22852=>5928,25513=>5929,28153=>5930,23978=>5931,26989=>5932,20870=>5933,20104=>5934,20313=>5935,22914=>5936,27487=>5937,27741=>5938,29877=>5939,30998=>5940,33287=>5941,33349=>5942,33593=>5943,36671=>5944,36701=>5945,39192=>5946,20134=>5947,22495=>5948,24441=>5949,26131=>5950,63968=>5950,30123=>5951,32377=>5952,35695=>5953,36870=>5954,39515=>5955,22181=>5956,22567=>5957,23032=>5958,23071=>5959,23476=>5960,24310=>5961,25424=>5962,25403=>5963,26941=>5964,27783=>5965,27839=>5966,28046=>5967,28051=>5968,28149=>5969,28436=>5970,28895=>5971,28982=>5972,29017=>5973,29123=>5974,29141=>5975,30799=>5976,30831=>5977,31605=>5978,32227=>5979,32303=>5980,34893=>5981,36575=>5982,37467=>5983,40182=>5984,24709=>5985,28037=>5986,29105=>5987,38321=>5988,21421=>5989,26579=>5990,28814=>5991,28976=>5992,29744=>5993,33398=>5994,33490=>5995,38331=>5996,39653=>5997,40573=>5998,26308=>5999,29121=>6000,33865=>6001,63854=>6001,22603=>6002,23992=>6003,24433=>6004,26144=>6005,26254=>6006,27001=>6007,27054=>6008,27704=>6009,27891=>6010,28214=>6011,28481=>6012,28634=>6013,28699=>6014,28719=>6015,29008=>6016,29151=>6017,29552=>6018,29787=>6019,29908=>6020,30408=>6021,31310=>6022,32403=>6023,33521=>6024,35424=>6025,36814=>6026,37704=>6027,38681=>6028,20034=>6029,20522=>6030,21000=>6031,21473=>6032,26355=>6033,27757=>6034,28618=>6035,29450=>6036,30591=>6037,31330=>6038,33454=>6039,34269=>6040,34306=>6041,35028=>6042,35427=>6043,35709=>6044,35947=>6045,37555=>6046,38675=>6047,38928=>6048,20116=>6049,20237=>6050,20425=>6051,20658=>6052,21320=>6053,21566=>6054,21555=>6055,21978=>6056,22626=>6057,22714=>6058,22887=>6059,23067=>6060,23524=>6061,24735=>6062,25034=>6063,25942=>6064,26111=>6065,26212=>6066,26791=>6067,27738=>6068,28595=>6069,28879=>6070,29100=>6071,29522=>6072,31613=>6073,34568=>6074,35492=>6075,39986=>6076,40711=>6077,23627=>6078,27779=>6079,29508=>6080,12127=>6081,29577=>6081,37434=>6082,28331=>6083,29797=>6084,30239=>6085,31337=>6086,32277=>6087,34314=>6088,20800=>6089,22725=>6090,25793=>6091,29934=>6092,29973=>6093,30320=>6094,32705=>6095,37013=>6096,38605=>6097,39252=>6098,28198=>6099,12129=>6100,29926=>6100,31401=>6101,31402=>6102,33253=>6103,34521=>6104,34680=>6105,35355=>6106,23113=>6107,23436=>6108,23451=>6109,26785=>6110,26880=>6111,28003=>6112,29609=>6113,29715=>6114,29740=>6115,30871=>6116,32233=>6117,32747=>6118,33048=>6119,33109=>6120,33694=>6121,35916=>6122,38446=>6123,63942=>6123,38929=>6124,12104=>6125,26352=>6125,24448=>6126,26106=>6127,26505=>6128,27754=>6129,29579=>6130,20525=>6131,23043=>6132,27498=>6133,30702=>6134,22806=>6135,23916=>6136,24013=>6137,29477=>6138,30031=>6139,20709=>6140,20985=>6141,22575=>6142,22829=>6143,22934=>6144,23002=>6145,23525=>6146,23970=>6147,25303=>6148,25622=>6149,25747=>6150,25854=>6151,26332=>6152,27208=>6153,29183=>6154,29796=>6155,31368=>6156,31407=>6157,32327=>6158,32350=>6159,32768=>6160,33136=>6161,34799=>6162,35201=>6163,35616=>6164,36953=>6165,36992=>6166,39250=>6167,24958=>6168,27442=>6169,28020=>6170,32287=>6171,35109=>6172,36785=>6173,20433=>6174,20653=>6175,20887=>6176,21191=>6177,22471=>6178,22665=>6179,23481=>6180,24248=>6181,24898=>6182,27029=>6183,28044=>6184,28263=>6185,28342=>6186,29076=>6187,29794=>6188,12132=>6189,29992=>6189,29996=>6190,32883=>6191,33592=>6192,33993=>6193,36362=>6194,37780=>6195,37854=>6196,20110=>6197,20305=>6198,20598=>6199,20778=>6200,12060=>6201,21448=>6201,21451=>6202,21491=>6203,23431=>6204,23507=>6205,23588=>6206,24858=>6207,24962=>6208,26100=>6209,12124=>6210,29275=>6210,29591=>6211,29760=>6212,30402=>6213,31056=>6214,31121=>6215,31161=>6216,32006=>6217,12155=>6218,32701=>6218,33419=>6219,34261=>6220,34398=>6221,36802=>6222,36935=>6223,37109=>6224,37354=>6225,38533=>6226,12204=>6227,38632=>6227,38633=>6228,21206=>6229,24423=>6230,26093=>6231,26161=>6232,26671=>6233,29020=>6234,31286=>6235,37057=>6236,38922=>6237,20113=>6238,27218=>6239,27550=>6240,28560=>6241,29065=>6242,32792=>6243,33464=>6244,34131=>6245,36939=>6246,38549=>6247,38642=>6248,38907=>6249,34074=>6250,39729=>6251,20112=>6252,29066=>6253,38596=>6254,20803=>6255,21407=>6256,21729=>6257,22291=>6258,22290=>6259,22435=>6260,23195=>6261,23236=>6262,23491=>6263,24616=>6264,24895=>6265,25588=>6266,27781=>6267,27961=>6268,28274=>6269,28304=>6270,29232=>6271,29503=>6272,29783=>6273,33489=>6274,34945=>6275,36677=>6276,36960=>6277,38498=>6278,39000=>6279,40219=>6280,12105=>6281,26376=>6281,36234=>6282,37470=>6283,20301=>6284,20553=>6285,20702=>6286,21361=>6287,22285=>6288,22996=>6289,23041=>6290,23561=>6291,24944=>6292,26256=>6293,28205=>6294,29234=>6295,29771=>6296,32239=>6297,32963=>6298,33806=>6299,33894=>6300,34111=>6301,34655=>6302,34907=>6303,35096=>6304,35586=>6305,36949=>6306,12209=>6307,38859=>6307,39759=>6308,20083=>6309,20369=>6310,20754=>6311,20842=>6312,21807=>6313,21929=>6314,23418=>6315,23461=>6316,24188=>6317,24189=>6318,24254=>6319,24736=>6320,24799=>6321,24840=>6322,24841=>6323,25540=>6324,25912=>6325,26377=>6326,26580=>6327,26586=>6328,26977=>6329,26978=>6330,27833=>6331,27943=>6332,28216=>6333,28641=>6334,29494=>6335,29495=>6336,29788=>6337,30001=>6338,30290=>6339,32173=>6340,33278=>6341,33848=>6342,35029=>6343,35480=>6344,35547=>6345,35565=>6346,36400=>6347,36418=>6348,36938=>6349,36926=>6350,36986=>6351,12195=>6352,37193=>6352,37321=>6353,37742=>6354,22537=>6355,27603=>6356,12161=>6357,32905=>6357,32946=>6358,20801=>6359,22891=>6360,23609=>6361,28516=>6362,29607=>6363,32996=>6364,36103=>6365,37399=>6366,38287=>6367,12160=>6368,32895=>6368,25102=>6369,28700=>6370,32104=>6371,34701=>6372,22432=>6373,24681=>6374,24903=>6375,27575=>6376,35518=>6377,37504=>6378,38577=>6379,12036=>6380,20057=>6380,21535=>6381,28139=>6382,34093=>6383,38512=>6384,12211=>6385,38899=>6385,39150=>6386,25558=>6387,27875=>6388,12194=>6389,37009=>6389,20957=>6390,25033=>6391,33210=>6392,40441=>6393,20381=>6394,20506=>6395,20736=>6396,23452=>6397,24847=>6398,25087=>6399,25836=>6400,26885=>6401,27589=>6402,30097=>6403,30691=>6404,32681=>6405,33380=>6406,34191=>6407,34811=>6408,12176=>6409,34915=>6409,35516=>6410,35696=>6411,37291=>6412,12038=>6413,20108=>6413,20197=>6414,20234=>6415,22839=>6416,23016=>6417,24050=>6418,24347=>6419,24411=>6420,24609=>6421,29246=>6422,29669=>6423,30064=>6424,63842=>6424,30157=>6425,31227=>6426,12157=>6427,32780=>6427,12159=>6428,32819=>6428,32900=>6429,33505=>6430,33617=>6431,36029=>6432,36019=>6433,36999=>6434,39156=>6435,39180=>6436,28727=>6437,30410=>6438,32714=>6439,32716=>6440,32764=>6441,35610=>6442,12040=>6443,20154=>6443,20161=>6444,20995=>6445,21360=>6446,21693=>6447,63902=>6447,22240=>6448,23035=>6449,23493=>6450,24341=>6451,24525=>6452,28270=>6453,32106=>6454,33589=>6455,34451=>6456,35469=>6457,38765=>6458,38775=>6459,12032=>6460,19968=>6460,20314=>6461,20350=>6462,22777=>6463,12103=>6464,26085=>6464,28322=>6465,36920=>6466,37808=>6467,39353=>6468,20219=>6469,22764=>6470,22922=>6471,23001=>6472,24641=>6473,31252=>6474,33615=>6475,36035=>6476,12042=>6477,20837=>6477,21316=>6478,20173=>6479,21097=>6480,23381=>6481,33471=>6482,20180=>6483,21050=>6484,63999=>6484,21672=>6485,22985=>6486,23039=>6487,12070=>6488,23376=>6488,23383=>6489,23388=>6490,24675=>6491,24904=>6492,28363=>6493,28825=>6494,63995=>6494,29038=>6495,29574=>6496,29943=>6497,30133=>6498,30913=>6499,32043=>6500,32773=>6501,12163=>6502,33258=>6502,33576=>6503,34071=>6504,34249=>6505,35566=>6506,36039=>6507,38604=>6508,20316=>6509,21242=>6510,22204=>6511,26027=>6512,26152=>6513,28796=>6514,28856=>6515,29237=>6516,32189=>6517,33421=>6518,37196=>6519,38592=>6520,40306=>6521,23409=>6522,26855=>6523,27544=>6524,28538=>6525,30430=>6526,23697=>6527,26283=>6528,28507=>6529,31668=>6530,31786=>6531,34870=>6532,38620=>6533,19976=>6534,20183=>6535,21280=>6536,22580=>6537,22715=>6538,22767=>6539,22892=>6540,23559=>6541,24115=>6542,24196=>6543,24373=>6544,25484=>6545,26290=>6546,26454=>6547,27167=>6548,27299=>6549,27404=>6550,28479=>6551,29254=>6552,29520=>6553,29835=>6554,31456=>6555,31911=>6556,33144=>6557,33247=>6558,33255=>6559,33674=>6560,33900=>6561,34083=>6562,34196=>6563,34255=>6564,35037=>6565,36115=>6566,37292=>6567,12199=>6568,38263=>6568,38556=>6569,20877=>6570,21705=>6571,22312=>6572,23472=>6573,25165=>6574,26448=>6575,26685=>6576,26771=>6577,28221=>6578,28371=>6579,28797=>6580,32289=>6581,35009=>6582,36001=>6583,36617=>6584,40779=>6585,40782=>6586,29229=>6587,31631=>6588,35533=>6589,37658=>6590,20295=>6591,20302=>6592,20786=>6593,21632=>6594,22992=>6595,24213=>6596,25269=>6597,26485=>6598,26990=>6599,27159=>6600,27822=>6601,28186=>6602,29401=>6603,29482=>6604,30141=>6605,31672=>6606,32053=>6607,33511=>6608,33785=>6609,33879=>6610,34295=>6611,35419=>6612,36015=>6613,36487=>6614,36889=>6615,37048=>6616,38606=>6617,40799=>6618,21219=>6619,21514=>6620,23265=>6621,23490=>6622,25688=>6623,25973=>6624,28404=>6625,29380=>6626,30340=>6627,31309=>6628,31515=>6629,31821=>6630,32318=>6631,32735=>6632,33659=>6633,35627=>6634,36042=>6635,12186=>6636,36196=>6636,36321=>6637,36447=>6638,36842=>6639,36857=>6640,36969=>6641,37841=>6642,20291=>6643,20346=>6644,20659=>6645,20840=>6646,20856=>6647,21069=>6648,21098=>6649,22625=>6650,22652=>6651,22880=>6652,23560=>6653,23637=>6654,24283=>6655,24731=>6656,25136=>6657,26643=>6658,27583=>6659,27656=>6660,28593=>6661,29006=>6662,29728=>6663,12133=>6664,30000=>6664,30008=>6665,30033=>6666,30322=>6667,31564=>6668,31627=>6669,31661=>6670,31686=>6671,32399=>6672,35438=>6673,36670=>6674,36681=>6675,37439=>6676,37523=>6677,37666=>6678,37931=>6679,38651=>6680,39002=>6681,39019=>6682,39198=>6683,20999=>6684,64000=>6684,25130=>6685,25240=>6686,27993=>6687,30308=>6688,31434=>6689,31680=>6690,32118=>6691,21344=>6692,23742=>6693,24215=>6694,28472=>6695,28857=>6696,31896=>6697,38673=>6698,39822=>6699,40670=>6700,25509=>6701,25722=>6702,34678=>6703,19969=>6704,20117=>6705,20141=>6706,20572=>6707,20597=>6708,21576=>6709,22979=>6710,23450=>6711,24128=>6712,24237=>6713,24311=>6714,24449=>6715,24773=>6716,25402=>6717,25919=>6718,25972=>6719,26060=>6720,26230=>6721,26232=>6722,26622=>6723,26984=>6724,27273=>6725,27491=>6726,27712=>6727,28096=>6728,28136=>6729,28191=>6730,28254=>6731,28702=>6732,28833=>6733,29582=>6734,29693=>6735,30010=>6736,30555=>6737,30855=>6738,31118=>6739,31243=>6740,31357=>6741,31934=>6742,32142=>6743,33351=>6744,35330=>6745,35562=>6746,35998=>6747,37165=>6748,37194=>6749,37336=>6750,37478=>6751,37580=>6752,37664=>6753,38662=>6754,38742=>6755,38748=>6756,38914=>6757,12237=>6758,40718=>6758,21046=>6759,21137=>6760,21884=>6761,22564=>6762,24093=>6763,24351=>6764,24716=>6765,25552=>6766,26799=>6767,28639=>6768,31085=>6769,31532=>6770,33229=>6771,34234=>6772,35069=>6773,35576=>6774,36420=>6775,37261=>6776,38500=>6777,38555=>6778,38717=>6779,38988=>6780,12241=>6781,40778=>6781,20430=>6782,20806=>6783,20939=>6784,21161=>6785,22066=>6786,24340=>6787,24427=>6788,25514=>6789,25805=>6790,26089=>6791,26177=>6792,26362=>6793,26361=>6794,26397=>6795,26781=>6796,26839=>6797,27133=>6798,28437=>6799,28526=>6800,29031=>6801,29157=>6802,12118=>6803,29226=>6803,29866=>6804,30522=>6805,31062=>6806,31066=>6807,31199=>6808,31264=>6809,31381=>6810,31895=>6811,31967=>6812,32068=>6813,32368=>6814,32903=>6815,34299=>6816,34468=>6817,35412=>6818,35519=>6819,36249=>6820,36481=>6821,36896=>6822,36973=>6823,37347=>6824,38459=>6825,38613=>6826,12227=>6827,40165=>6827,26063=>6828,31751=>6829,12188=>6830,36275=>6830,37827=>6831,23384=>6832,23562=>6833,21330=>6834,25305=>6835,29469=>6836,20519=>6837,23447=>6838,24478=>6839,24752=>6840,24939=>6841,26837=>6842,28121=>6843,29742=>6844,31278=>6845,32066=>6846,32156=>6847,32305=>6848,33131=>6849,36394=>6850,36405=>6851,37758=>6852,37912=>6853,20304=>6854,22352=>6855,24038=>6856,24231=>6857,25387=>6858,32618=>6859,20027=>6860,20303=>6861,20367=>6862,20570=>6863,23005=>6864,32964=>6865,21610=>6866,21608=>6867,22014=>6868,22863=>6869,23449=>6870,24030=>6871,24282=>6872,26205=>6873,26417=>6874,26609=>6875,26666=>6876,27880=>6877,27954=>6878,28234=>6879,28557=>6880,28855=>6881,29664=>6882,30087=>6883,31820=>6884,32002=>6885,32044=>6886,32162=>6887,12168=>6888,33311=>6888,34523=>6889,35387=>6890,35461=>6891,12187=>6892,36208=>6892,36490=>6893,36659=>6894,36913=>6895,37198=>6896,37202=>6897,37956=>6898,39376=>6899,12149=>6900,31481=>6900,31909=>6901,20426=>6902,20737=>6903,20934=>6904,22472=>6905,23535=>6906,23803=>6907,26201=>6908,27197=>6909,27994=>6910,28310=>6911,28652=>6912,28940=>6913,30063=>6914,31459=>6915,34850=>6916,36897=>6917,36981=>6918,38603=>6919,39423=>6920,33537=>6921,20013=>6922,20210=>6923,34886=>6924,37325=>6925,21373=>6926,27355=>6927,26987=>6928,27713=>6929,33914=>6930,22686=>6931,24974=>6932,26366=>6933,25327=>6934,28893=>6935,29969=>6936,30151=>6937,32338=>6938,33976=>6939,35657=>6940,36104=>6941,20043=>6942,21482=>6943,21675=>6944,22320=>6945,22336=>6946,24535=>6947,25345=>6948,25351=>6949,25711=>6950,12096=>6951,25903=>6951,26088=>6952,26234=>6953,26525=>6954,26547=>6955,12108=>6956,27490=>6956,27744=>6957,27802=>6958,28460=>6959,30693=>6960,30757=>6961,31049=>6962,31063=>6963,32025=>6964,32930=>6965,33026=>6966,12164=>6967,33267=>6967,33437=>6968,33463=>6969,34584=>6970,35468=>6971,36100=>6972,36286=>6973,36978=>6974,30452=>6975,31257=>6976,31287=>6977,32340=>6978,32887=>6979,21767=>6980,21972=>6981,22645=>6982,25391=>6983,25634=>6984,26185=>6985,26187=>6986,26733=>6987,27035=>6988,27524=>6989,27941=>6990,28337=>6991,29645=>6992,29800=>6993,29857=>6994,30043=>6995,30137=>6996,30433=>6997,30494=>6998,30603=>6999,31206=>7000,32265=>7001,32285=>7002,33275=>7003,34095=>7004,34967=>7005,35386=>7006,36049=>7007,36587=>7008,12192=>7009,36784=>7009,63857=>7009,36914=>7010,37805=>7011,38499=>7012,38515=>7013,38663=>7014,20356=>7015,21489=>7016,23018=>7017,23241=>7018,24089=>7019,26702=>7020,29894=>7021,30142=>7022,31209=>7023,31378=>7024,33187=>7025,34541=>7026,36074=>7027,36300=>7028,36845=>7029,26015=>7030,26389=>7031,22519=>7032,28503=>7033,32221=>7034,36655=>7035,37878=>7036,38598=>7037,24501=>7038,25074=>7039,28548=>7040,19988=>7041,20376=>7042,20511=>7043,21449=>7044,21983=>7045,23919=>7046,24046=>7047,27425=>7048,27492=>7049,30923=>7050,31642=>7051,36425=>7052,12190=>7053,36554=>7053,63746=>7053,36974=>7054,25417=>7055,25662=>7056,30528=>7057,31364=>7058,37679=>7059,38015=>7060,40810=>7061,25776=>7062,28591=>7063,29158=>7064,29864=>7065,29914=>7066,31428=>7067,31762=>7068,32386=>7069,31922=>7070,32408=>7071,35738=>7072,36106=>7073,38013=>7074,39184=>7075,39244=>7076,21049=>7077,23519=>7078,25830=>7079,26413=>7080,32046=>7081,20717=>7082,21443=>7083,63851=>7083,22649=>7084,24920=>7085,24921=>7086,25082=>7087,26028=>7088,31449=>7089,35730=>7090,35734=>7091,20489=>7092,20513=>7093,21109=>7094,21809=>7095,23100=>7096,24288=>7097,24432=>7098,24884=>7099,25950=>7100,26124=>7101,26166=>7102,26274=>7103,27085=>7104,28356=>7105,28466=>7106,29462=>7107,30241=>7108,31379=>7109,33081=>7110,33369=>7111,33750=>7112,33980=>7113,20661=>7114,22512=>7115,23488=>7116,23528=>7117,24425=>7118,25505=>7119,30758=>7120,32181=>7121,33756=>7122,34081=>7123,37319=>7124,37365=>7125,20874=>7126,26613=>7127,31574=>7128,36012=>7129,20932=>7130,22971=>7131,24765=>7132,34389=>7133,20508=>7134,21076=>7135,23610=>7136,24957=>7137,25114=>7138,25299=>7139,64002=>7139,25842=>7140,26021=>7141,28364=>7142,30240=>7143,33034=>7144,36448=>7145,38495=>7146,38587=>7147,20191=>7148,21315=>7149,21912=>7150,22825=>7151,24029=>7152,25797=>7153,27849=>7154,28154=>7155,29588=>7156,31359=>7157,12167=>7158,33307=>7158,34214=>7159,36068=>7160,36368=>7161,36983=>7162,37351=>7163,38369=>7164,38433=>7165,38854=>7166,20984=>7167,21746=>7168,21894=>7169,24505=>7170,25764=>7171,28552=>7172,32180=>7173,36639=>7174,36685=>7175,37941=>7176,20681=>7177,23574=>7178,27838=>7179,28155=>7180,29979=>7181,30651=>7182,31805=>7183,31844=>7184,35449=>7185,35522=>7186,22558=>7187,22974=>7188,24086=>7189,25463=>7190,29266=>7191,30090=>7192,30571=>7193,35548=>7194,36028=>7195,36626=>7196,24307=>7197,26228=>7198,28152=>7199,32893=>7200,33729=>7201,35531=>7202,12205=>7203,38737=>7203,39894=>7204,21059=>7205,26367=>7206,28053=>7207,28399=>7208,32224=>7209,35558=>7210,36910=>7211,36958=>7212,39636=>7213,21021=>7214,21119=>7215,21736=>7216,24980=>7217,25220=>7218,25307=>7219,26786=>7220,26898=>7221,26970=>7222,27189=>7223,28818=>7224,28966=>7225,30813=>7226,30977=>7227,30990=>7228,31186=>7229,31245=>7230,32918=>7231,12171=>7232,33400=>7232,33493=>7233,33609=>7234,34121=>7235,35970=>7236,36229=>7237,37218=>7238,37259=>7239,37294=>7240,20419=>7241,22225=>7242,29165=>7243,30679=>7244,34560=>7245,35320=>7246,12072=>7247,23544=>7247,24534=>7248,26449=>7249,37032=>7250,21474=>7251,22618=>7252,23541=>7253,24740=>7254,24961=>7255,25696=>7256,32317=>7257,32880=>7258,34085=>7259,37507=>7260,25774=>7261,20652=>7262,23828=>7263,26368=>7264,22684=>7265,25277=>7266,25512=>7267,26894=>7268,27000=>7269,27166=>7270,28267=>7271,30394=>7272,31179=>7273,33467=>7274,33833=>7275,35535=>7276,36264=>7277,36861=>7278,37138=>7279,37195=>7280,37276=>7281,37648=>7282,37656=>7283,37786=>7284,38619=>7285,39478=>7286,39949=>7287,19985=>7288,30044=>7289,31069=>7290,31482=>7291,31569=>7292,31689=>7293,32302=>7294,33988=>7295,36441=>7296,36468=>7297,36600=>7298,36880=>7299,26149=>7300,26943=>7301,29763=>7302,20986=>7303,26414=>7304,40668=>7305,20805=>7306,24544=>7307,27798=>7308,34802=>7309,34909=>7310,34935=>7311,24756=>7312,33205=>7313,33795=>7314,36101=>7315,21462=>7316,21561=>7317,22068=>7318,23094=>7319,23601=>7320,28810=>7321,32736=>7322,32858=>7323,33030=>7324,33261=>7325,36259=>7326,37257=>7327,39519=>7328,40434=>7329,20596=>7330,20164=>7331,21408=>7332,24827=>7333,28204=>7334,23652=>7335,20360=>7336,20516=>7337,21988=>7338,23769=>7339,24159=>7340,24677=>7341,26772=>7342,27835=>7343,28100=>7344,29118=>7345,30164=>7346,30196=>7347,30305=>7348,31258=>7349,31305=>7350,32199=>7351,32251=>7352,32622=>7353,33268=>7354,34473=>7355,36636=>7356,38601=>7357,39347=>7358,12242=>7359,40786=>7359,21063=>7360,21189=>7361,39149=>7362,35242=>7363,19971=>7364,26578=>7365,28422=>7366,20405=>7367,23522=>7368,26517=>7369,27784=>7370,63858=>7370,28024=>7371,29723=>7372,30759=>7373,37341=>7374,37756=>7375,34756=>7376,31204=>7377,31281=>7378,24555=>7379,20182=>7380,21668=>7381,21822=>7382,22702=>7383,22949=>7384,24816=>7385,25171=>7386,25302=>7387,26422=>7388,26965=>7389,33333=>7390,38464=>7391,39345=>7392,39389=>7393,20524=>7394,21331=>7395,21828=>7396,22396=>7397,25176=>7398,25826=>7399,26219=>7400,26589=>7401,28609=>7402,28655=>7403,29730=>7404,29752=>7405,35351=>7406,37944=>7407,21585=>7408,22022=>7409,22374=>7410,24392=>7411,24986=>7412,27470=>7413,28760=>7414,28845=>7415,32187=>7416,35477=>7417,22890=>7418,33067=>7419,25506=>7420,30472=>7421,32829=>7422,36010=>7423,22612=>7424,25645=>7425,27067=>7426,23445=>7427,24081=>7428,28271=>7429,34153=>7430,20812=>7431,21488=>7432,22826=>7433,24608=>7434,24907=>7435,27526=>7436,27760=>7437,27888=>7438,31518=>7439,32974=>7440,33492=>7441,36294=>7442,37040=>7443,39089=>7444,25799=>7445,28580=>7446,25745=>7447,25860=>7448,20814=>7449,21520=>7450,12063=>7451,22303=>7451,35342=>7452,24927=>7453,26742=>7454,30171=>7455,31570=>7456,32113=>7457,36890=>7458,22534=>7459,27084=>7460,33151=>7461,35114=>7462,36864=>7463,38969=>7464,20600=>7465,22871=>7466,22956=>7467,25237=>7468,36879=>7469,39722=>7470,24925=>7471,29305=>7472,38358=>7473,22369=>7474,23110=>7475,24052=>7476,25226=>7477,25773=>7478,25850=>7479,26487=>7480,27874=>7481,27966=>7482,29228=>7483,29750=>7484,30772=>7485,32631=>7486,33453=>7487,36315=>7488,38935=>7489,21028=>7490,22338=>7491,26495=>7492,29256=>7493,29923=>7494,36009=>7495,36774=>7496,37393=>7497,38442=>7498,12043=>7499,20843=>7499,21485=>7500,25420=>7501,20329=>7502,21764=>7503,24726=>7504,25943=>7505,27803=>7506,28031=>7507,29260=>7508,29437=>7509,31255=>7510,35207=>7511,12185=>7512,35997=>7512,24429=>7513,28558=>7514,28921=>7515,33192=>7516,24846=>7517,20415=>7518,63845=>7518,20559=>7519,25153=>7520,12122=>7521,29255=>7521,31687=>7522,32232=>7523,32745=>7524,36941=>7525,38829=>7526,39449=>7527,36022=>7528,22378=>7529,24179=>7530,26544=>7531,33805=>7532,35413=>7533,21536=>7534,23318=>7535,24163=>7536,24290=>7537,24330=>7538,25987=>7539,32954=>7540,34109=>7541,38281=>7542,38491=>7543,20296=>7544,21253=>7545,21261=>7546,21263=>7547,21638=>7548,21754=>7549,22275=>7550,24067=>7551,24598=>7552,25243=>7553,25265=>7554,25429=>7555,27873=>7556,28006=>7557,30129=>7558,30770=>7559,32990=>7560,33071=>7561,33502=>7562,33889=>7563,33970=>7564,34957=>7565,35090=>7566,36875=>7567,37610=>7568,39165=>7569,39825=>7570,24133=>7571,26292=>7572,64006=>7572,26333=>7573,28689=>7574,29190=>7575,20469=>7576,21117=>7577,24426=>7578,24915=>7579,26451=>7580,27161=>7581,28418=>7582,29922=>7583,31080=>7584,34920=>7585,35961=>7586,39111=>7587,39108=>7588,39491=>7589,21697=>7590,31263=>7591,26963=>7592,35575=>7593,35914=>7594,12213=>7595,39080=>7595,39342=>7596,24444=>7597,25259=>7598,30130=>7599,12138=>7600,30382=>7600,34987=>7601,36991=>7602,38466=>7603,21305=>7604,24380=>7605,24517=>7606,27852=>7607,63848=>7607,29644=>7608,30050=>7609,12134=>7610,30091=>7610,31558=>7611,33534=>7612,39325=>7613,20047=>7614,36924=>7615,19979=>7616,20309=>7617,21414=>7618,22799=>7619,24264=>7620,26160=>7621,27827=>7622,29781=>7623,33655=>7624,34662=>7625,36032=>7626,36944=>7627,38686=>7628,39957=>7629,22737=>7630,23416=>7631,34384=>7632,35604=>7633,40372=>7634,23506=>7635,24680=>7636,24717=>7637,26097=>7638,27735=>7639,28450=>7640,28579=>7641,28698=>7642,32597=>7643,32752=>7644,38289=>7645,38290=>7646,38480=>7647,38867=>7648,21106=>7649,36676=>7650,20989=>7651,21547=>7652,21688=>7653,21859=>7654,21898=>7655,27323=>7656,28085=>7657,32216=>7658,33382=>7659,37532=>7660,38519=>7661,40569=>7662,21512=>7663,21704=>7664,30418=>7665,34532=>7666,38308=>7667,38356=>7668,38492=>7669,20130=>7670,20233=>7671,23022=>7672,23270=>7673,24055=>7674,24658=>7675,25239=>7676,26477=>7677,26689=>7678,27782=>7679,28207=>7680,32568=>7681,32923=>7682,33322=>7683,38917=>7684,20133=>7685,20565=>7686,21683=>7687,22419=>7688,22874=>7689,23401=>7690,23475=>7691,25032=>7692,26999=>7693,28023=>7694,28707=>7695,34809=>7696,35299=>7697,35442=>7698,35559=>7699,36994=>7700,39405=>7701,39608=>7702,21182=>7703,26680=>7704,20502=>7705,24184=>7706,26447=>7707,33607=>7708,12175=>7709,34892=>7709,64008=>7709,20139=>7710,21521=>7711,22190=>7712,29670=>7713,37141=>7714,38911=>7715,39177=>7716,39255=>7717,12217=>7718,39321=>7718,22099=>7719,22687=>7720,34395=>7721,35377=>7722,25010=>7723,27382=>7724,29563=>7725,36562=>7726,27463=>7727,38570=>7728,39511=>7729,22869=>7730,29184=>7731,36203=>7732,12208=>7733,38761=>7733,20436=>7734,23796=>7735,24358=>7736,25080=>7737,26203=>7738,27883=>7739,28843=>7740,12126=>7741,29572=>7741,29625=>7742,29694=>7743,30505=>7744,30541=>7745,32067=>7746,32098=>7747,32291=>7748,33335=>7749,34898=>7750,36066=>7751,37449=>7752,39023=>7753,23377=>7754,12147=>7755,31348=>7755,12174=>7756,34880=>7756,12212=>7757,38913=>7757,23244=>7758,20448=>7759,21332=>7760,22846=>7761,23805=>7762,25406=>7763,28025=>7764,29433=>7765,33029=>7766,33031=>7767,33698=>7768,37583=>7769,38960=>7770,20136=>7771,20804=>7772,21009=>7773,22411=>7774,24418=>7775,27842=>7776,28366=>7777,28677=>7778,28752=>7779,28847=>7780,29074=>7781,29673=>7782,29801=>7783,63918=>7783,33610=>7784,34722=>7785,34913=>7786,36872=>7787,37026=>7788,37795=>7789,39336=>7790,20846=>7791,24407=>7792,24800=>7793,24935=>7794,26291=>7795,34137=>7796,36426=>7797,37295=>7798,38795=>7799,20046=>7800,20114=>7801,21628=>7802,22741=>7803,22778=>7804,22909=>7805,23733=>7806,24359=>7807,12094=>7808,25142=>7808,25160=>7809,26122=>7810,26215=>7811,27627=>7812,28009=>7813,28111=>7814,28246=>7815,28408=>7816,28564=>7817,28640=>7818,28649=>7819,28765=>7820,29392=>7821,29733=>7822,29786=>7823,29920=>7824,30355=>7825,31068=>7826,31946=>7827,32286=>7828,32993=>7829,33446=>7830,33899=>7831,33983=>7832,34382=>7833,34399=>7834,34676=>7835,35703=>7836,35946=>7837,37804=>7838,38912=>7839,39013=>7840,24785=>7841,25110=>7842,37239=>7843,23130=>7844,26127=>7845,28151=>7846,28222=>7847,29759=>7848,39746=>7849,24573=>7850,24794=>7851,31503=>7852,21700=>7853,24344=>7854,27742=>7855,27859=>7856,27946=>7857,28888=>7858,32005=>7859,34425=>7860,35340=>7861,40251=>7862,21270=>7863,21644=>7864,23301=>7865,27194=>7866,12117=>7867,28779=>7867,30069=>7868,31117=>7869,12146=>7870,31166=>7870,33457=>7871,33775=>7872,35441=>7873,35649=>7874,36008=>7875,38772=>7876,25844=>7877,25899=>7878,30906=>7879,30907=>7880,31339=>7881,20024=>7882,21914=>7883,22864=>7884,23462=>7885,24187=>7886,24739=>7887,25563=>7888,27489=>7889,26213=>7890,26707=>7891,28185=>7892,29029=>7893,29872=>7894,32008=>7895,36996=>7896,39529=>7897,39973=>7898,27963=>7899,28369=>7900,63748=>7900,29502=>7901,35905=>7902,38346=>7903,20976=>7904,24140=>7905,24488=>7906,24653=>7907,24822=>7908,24880=>7909,24908=>7910,26179=>7911,26180=>7912,27045=>7913,27841=>7914,28255=>7915,28361=>7916,28514=>7917,29004=>7918,29852=>7919,30343=>7920,31681=>7921,31783=>7922,33618=>7923,34647=>7924,36945=>7925,38541=>7926,12232=>7927,40643=>7927,21295=>7928,22238=>7929,24315=>7930,24458=>7931,24674=>7932,24724=>7933,25079=>7934,26214=>7935,26371=>7936,27292=>7937,28142=>7938,28590=>7939,28784=>7940,29546=>7941,32362=>7942,33214=>7943,33588=>7944,34516=>7945,35496=>7946,36036=>7947,21123=>7948,29554=>7949,23446=>7950,27243=>7951,37892=>7952,21742=>7953,22150=>7954,23389=>7955,25928=>7956,25989=>7957,26313=>7958,26783=>7959,28045=>7960,28102=>7961,12120=>7962,29243=>7962,32948=>7963,37237=>7964,39501=>7965,20399=>7966,20505=>7967,21402=>7968,21518=>7969,21564=>7970,21897=>7971,21957=>7972,24127=>7973,24460=>7974,26429=>7975,29030=>7976,29661=>7977,36869=>7978,21211=>7979,21235=>7980,22628=>7981,22734=>7982,28932=>7983,29071=>7984,29179=>7985,34224=>7986,35347=>7987,26248=>7988,63941=>7988,34216=>7989,21927=>7990,26244=>7991,29002=>7992,33841=>7993,21321=>7994,21913=>7995,27585=>7996,24409=>7997,24509=>7998,25582=>7999,26249=>8000,28999=>8001,35569=>8002,36637=>8003,40638=>8004,20241=>8005,25658=>8006,28875=>8007,30054=>8008,34407=>8009,24676=>8010,35662=>8011,40440=>8012,20807=>8013,20982=>8014,21256=>8015,27958=>8016,33016=>8017,12234=>8018,40657=>8018,26133=>8019,27427=>8020,28824=>8021,30165=>8022,21507=>8023,23673=>8024,32007=>8025,35350=>8026,12107=>8027,27424=>8027,27453=>8028,27462=>8029,21560=>8030,24688=>8031,27965=>8032,32725=>8033,33288=>8034,20694=>8035,20958=>8036,21916=>8037,22123=>8038,22221=>8039,23020=>8040,23305=>8041,24076=>8042,24985=>8043,24984=>8044,25137=>8045,26206=>8046,26342=>8047,29081=>8048,29113=>8049,29114=>8050,29351=>8051,31143=>8052,31232=>8053,32690=>8054,35440=>8055,12310=>8219,12311=>8220,12312=>8221,12313=>8222,8223=>8237,8219=>8238,8314=>8239,8315=>8240,8316=>8248,8317=>8250,8318=>8251,700=>8275,8942=>8320,8759=>8321,10122=>8342,10123=>8343,10124=>8344,10125=>8345,10126=>8346,10127=>8347,10128=>8348,10129=>8349,10130=>8350,10131=>8351,9398=>8388,9399=>8389,9400=>8390,9401=>8391,9402=>8392,9403=>8393,9404=>8394,9405=>8395,9406=>8396,9407=>8397,9408=>8398,9409=>8399,9410=>8400,9411=>8401,9412=>8402,9413=>8403,9414=>8404,9415=>8405,9416=>8406,9417=>8407,9418=>8408,9419=>8409,9420=>8410,9421=>8411,9422=>8412,9423=>8413,8826=>8475,8827=>8476,8910=>8477,8911=>8478,8832=>8479,8833=>8480,8816=>8481,8817=>8482,8818=>8483,8819=>8484,8842=>8486,8843=>8488,8822=>8489,8823=>8490,8825=>8491,8922=>8492,8923=>8493,8773=>8499,8771=>8500,8776=>8501,8868=>8503,8244=>8582,9839=>8594,8258=>8599,10045=>8604,8226=>8607,8249=>8612,8250=>8613,10010=>8630,10006=>8631,9711=>8633,10070=>8637,9676=>8639,9775=>8664,12320=>8671,10102=>8673,10103=>8674,10104=>8675,10105=>8676,10106=>8677,10107=>8678,10108=>8679,10109=>8680,10110=>8681,10111=>8682,12306=>8700,12342=>8701,8710=>8715,8735=>8717,8741=>8719,8742=>8720,8787=>8722,8785=>8723,8806=>8724,8807=>8725,8723=>8726,8853=>8727,8854=>8728,8855=>8729,8980=>8731,8802=>8734,9649=>8736,8738=>8738,8784=>8739,8867=>8742,8814=>8745,8815=>8746,8837=>8747,8836=>8748,8713=>8749,8716=>8750,8891=>8751,8892=>8752,8794=>8753,8966=>8754,12958=>8761,8252=>8763,9702=>8775,9663=>8779,9653=>8780,9657=>8781,9667=>8782,9674=>8787,12849=>8788,12857=>8789,13259=>8790,9327=>8791,9328=>8792,9329=>8793,9330=>8794,9331=>8795,8656=>8814,8655=>8815,8653=>8816,8657=>8854,8659=>8855,8626=>8864,8625=>8865,8628=>8867,8624=>8868,8627=>8869,8636=>8884,8640=>8885,8644=>8896,8645=>8897,9347=>9042,9348=>9043,9349=>9044,9350=>9045,9351=>9046,12948=>9080,12965=>9096,8672=>9190,8674=>9191,8673=>9192,8675=>9193,8678=>9198,8680=>9199,8679=>9200,8681=>9201,9757=>9222,9759=>9223,12944=>9300,12938=>9301,12939=>9302,12940=>9303,12941=>9304,12942=>9305,12943=>9306,12318=>9322,12319=>9323,8246=>9324,8245=>9326,12540=>9330,44034=>9333,44035=>9334,44037=>9335,44038=>9336,44043=>9337,44044=>9338,44045=>9339,44046=>9340,44047=>9341,44056=>9342,44062=>9343,44063=>9344,44065=>9345,44066=>9346,44067=>9347,44069=>9348,44070=>9349,44071=>9350,44072=>9351,44073=>9352,44074=>9353,44075=>9354,44078=>9355,44082=>9356,44083=>9357,44084=>9358,44085=>9359,44086=>9360,44087=>9361,44090=>9362,44091=>9363,44093=>9364,44094=>9365,44095=>9366,44097=>9367,44098=>9368,44099=>9369,44100=>9370,44101=>9371,44102=>9372,44103=>9373,44104=>9374,44105=>9375,44106=>9376,44108=>9377,44110=>9378,44111=>9379,44112=>9380,44113=>9381,44114=>9382,44115=>9383,44117=>9384,44118=>9385,44119=>9386,44121=>9387,44122=>9388,44123=>9389,44125=>9390,44126=>9391,44127=>9392,44128=>9393,44129=>9394,44130=>9395,44131=>9396,44132=>9397,44133=>9398,44134=>9399,44135=>9400,44136=>9401,44137=>9402,44138=>9403,44139=>9404,44140=>9405,44141=>9406,44142=>9407,44143=>9408,44146=>9409,44147=>9410,44149=>9411,44150=>9412,44153=>9413,44155=>9414,44156=>9415,44157=>9416,44158=>9417,44159=>9418,44162=>9419,44167=>9420,44168=>9421,44173=>9422,44174=>9423,44175=>9424,44177=>9425,44178=>9426,44179=>9427,44181=>9428,44182=>9429,44183=>9430,44184=>9431,44185=>9432,44186=>9433,44187=>9434,44190=>9435,44194=>9436,44195=>9437,44196=>9438,44197=>9439,44198=>9440,44199=>9441,44203=>9442,44205=>9443,44206=>9444,44209=>9445,44210=>9446,44211=>9447,44212=>9448,44213=>9449,44214=>9450,44215=>9451,44218=>9452,44222=>9453,44223=>9454,44224=>9455,44226=>9456,44227=>9457,44229=>9458,44230=>9459,44231=>9460,44233=>9461,44234=>9462,44235=>9463,44237=>9464,44238=>9465,44239=>9466,44240=>9467,44241=>9468,44242=>9469,44243=>9470,44244=>9471,44246=>9472,44248=>9473,44249=>9474,44250=>9475,44251=>9476,44252=>9477,44253=>9478,44254=>9479,44255=>9480,44258=>9481,44259=>9482,44261=>9483,44262=>9484,44265=>9485,44267=>9486,44269=>9487,44270=>9488,44274=>9489,44276=>9490,44279=>9491,44280=>9492,44281=>9493,44282=>9494,44283=>9495,44286=>9496,44287=>9497,44289=>9498,44290=>9499,44291=>9500,44293=>9501,44295=>9502,44296=>9503,44297=>9504,44298=>9505,44299=>9506,44302=>9507,44304=>9508,44306=>9509,44307=>9510,44308=>9511,44309=>9512,44310=>9513,44311=>9514,44313=>9515,44314=>9516,44315=>9517,44317=>9518,44318=>9519,44319=>9520,44321=>9521,44322=>9522,44323=>9523,44324=>9524,44325=>9525,44326=>9526,44327=>9527,44328=>9528,44330=>9529,44331=>9530,44334=>9531,44335=>9532,44336=>9533,44337=>9534,44338=>9535,44339=>9536,44342=>9537,44343=>9538,44345=>9539,44346=>9540,44347=>9541,44349=>9542,44350=>9543,44351=>9544,44352=>9545,44353=>9546,44354=>9547,44355=>9548,44358=>9549,44360=>9550,44362=>9551,44363=>9552,44364=>9553,44365=>9554,44366=>9555,44367=>9556,44369=>9557,44370=>9558,44371=>9559,44373=>9560,44374=>9561,44375=>9562,44377=>9563,44378=>9564,44379=>9565,44380=>9566,44381=>9567,44382=>9568,44383=>9569,44384=>9570,44386=>9571,44388=>9572,44389=>9573,44390=>9574,44391=>9575,44392=>9576,44393=>9577,44394=>9578,44395=>9579,44398=>9580,44399=>9581,44401=>9582,44402=>9583,44407=>9584,44408=>9585,44409=>9586,44410=>9587,44414=>9588,44416=>9589,44419=>9590,44420=>9591,44421=>9592,44422=>9593,44423=>9594,44426=>9595,44427=>9596,44429=>9597,44430=>9598,44431=>9599,44433=>9600,44434=>9601,44435=>9602,44436=>9603,44437=>9604,44438=>9605,44439=>9606,44440=>9607,44441=>9608,44442=>9609,44443=>9610,44446=>9611,44447=>9612,44448=>9613,44449=>9614,44450=>9615,44451=>9616,44453=>9617,44454=>9618,44455=>9619,44456=>9620,44457=>9621,44458=>9622,44459=>9623,44460=>9624,44461=>9625,44462=>9626,44463=>9627,44464=>9628,44465=>9629,44466=>9630,44467=>9631,44468=>9632,44469=>9633,44470=>9634,44472=>9635,44473=>9636,44474=>9637,44475=>9638,44476=>9639,44477=>9640,44478=>9641,44479=>9642,44482=>9643,44483=>9644,44485=>9645,44486=>9646,44487=>9647,44489=>9648,44490=>9649,44491=>9650,44492=>9651,44493=>9652,44494=>9653,44495=>9654,44498=>9655,44500=>9656,44501=>9657,44502=>9658,44503=>9659,44504=>9660,44505=>9661,44506=>9662,44507=>9663,44509=>9664,44510=>9665,44511=>9666,44513=>9667,44514=>9668,44515=>9669,44517=>9670,44518=>9671,44519=>9672,44520=>9673,44521=>9674,44522=>9675,44523=>9676,44524=>9677,44525=>9678,44526=>9679,44527=>9680,44528=>9681,44529=>9682,44530=>9683,44531=>9684,44532=>9685,44533=>9686,44534=>9687,44535=>9688,44538=>9689,44539=>9690,44541=>9691,44542=>9692,44546=>9693,44547=>9694,44548=>9695,44549=>9696,44550=>9697,44551=>9698,44554=>9699,44556=>9700,44558=>9701,44559=>9702,44560=>9703,44561=>9704,44562=>9705,44563=>9706,44565=>9707,44566=>9708,44567=>9709,44568=>9710,44569=>9711,44570=>9712,44571=>9713,44572=>9714,44573=>9715,44574=>9716,44575=>9717,44576=>9718,44577=>9719,44578=>9720,44579=>9721,44580=>9722,44581=>9723,44582=>9724,44583=>9725,44584=>9726,44585=>9727,44586=>9728,44587=>9729,44588=>9730,44589=>9731,44590=>9732,44591=>9733,44594=>9734,44595=>9735,44597=>9736,44598=>9737,44601=>9738,44603=>9739,44604=>9740,44605=>9741,44606=>9742,44607=>9743,44610=>9744,44612=>9745,44615=>9746,44616=>9747,44617=>9748,44619=>9749,44623=>9750,44625=>9751,44626=>9752,44627=>9753,44629=>9754,44631=>9755,44632=>9756,44633=>9757,44634=>9758,44635=>9759,44638=>9760,44642=>9761,44643=>9762,44644=>9763,44646=>9764,44647=>9765,44650=>9766,44651=>9767,44653=>9768,44654=>9769,44655=>9770,44657=>9771,44658=>9772,44659=>9773,44660=>9774,44661=>9775,44662=>9776,44663=>9777,44666=>9778,44670=>9779,44671=>9780,44672=>9781,44673=>9782,44674=>9783,44675=>9784,44678=>9785,44679=>9786,44680=>9787,44681=>9788,44682=>9789,44683=>9790,44685=>9791,44686=>9792,44687=>9793,44688=>9794,44689=>9795,44690=>9796,44691=>9797,44692=>9798,44693=>9799,44694=>9800,44695=>9801,44696=>9802,44697=>9803,44698=>9804,44699=>9805,44700=>9806,44701=>9807,44702=>9808,44703=>9809,44704=>9810,44705=>9811,44706=>9812,44707=>9813,44708=>9814,44709=>9815,44710=>9816,44711=>9817,44712=>9818,44713=>9819,44714=>9820,44715=>9821,44716=>9822,44717=>9823,44718=>9824,44719=>9825,44720=>9826,44721=>9827,44722=>9828,44723=>9829,44724=>9830,44725=>9831,44726=>9832,44727=>9833,44728=>9834,44729=>9835,44730=>9836,44731=>9837,44735=>9838,44737=>9839,44738=>9840,44739=>9841,44741=>9842,44742=>9843,44743=>9844,44744=>9845,44745=>9846,44746=>9847,44747=>9848,44750=>9849,44754=>9850,44755=>9851,44756=>9852,44757=>9853,44758=>9854,44759=>9855,44762=>9856,44763=>9857,44765=>9858,44766=>9859,44767=>9860,44768=>9861,44769=>9862,44770=>9863,44771=>9864,44772=>9865,44773=>9866,44774=>9867,44775=>9868,44777=>9869,44778=>9870,44780=>9871,44782=>9872,44783=>9873,44784=>9874,44785=>9875,44786=>9876,44787=>9877,44789=>9878,44790=>9879,44791=>9880,44793=>9881,44794=>9882,44795=>9883,44797=>9884,44798=>9885,44799=>9886,44800=>9887,44801=>9888,44802=>9889,44803=>9890,44804=>9891,44805=>9892,44806=>9893,44809=>9894,44810=>9895,44811=>9896,44812=>9897,44814=>9898,44815=>9899,44817=>9900,44818=>9901,44819=>9902,44820=>9903,44821=>9904,44822=>9905,44823=>9906,44824=>9907,44825=>9908,44826=>9909,44827=>9910,44828=>9911,44829=>9912,44830=>9913,44831=>9914,44832=>9915,44833=>9916,44834=>9917,44835=>9918,44836=>9919,44837=>9920,44838=>9921,44839=>9922,44840=>9923,44841=>9924,44842=>9925,44843=>9926,44846=>9927,44847=>9928,44849=>9929,44851=>9930,44853=>9931,44854=>9932,44855=>9933,44856=>9934,44857=>9935,44858=>9936,44859=>9937,44862=>9938,44864=>9939,44868=>9940,44869=>9941,44870=>9942,44871=>9943,44874=>9944,44875=>9945,44876=>9946,44877=>9947,44878=>9948,44879=>9949,44881=>9950,44882=>9951,44883=>9952,44884=>9953,44885=>9954,44886=>9955,44887=>9956,44888=>9957,44889=>9958,44890=>9959,44891=>9960,44894=>9961,44895=>9962,44896=>9963,44897=>9964,44898=>9965,44899=>9966,44902=>9967,44903=>9968,44904=>9969,44905=>9970,44906=>9971,44907=>9972,44908=>9973,44909=>9974,44910=>9975,44911=>9976,44912=>9977,44913=>9978,44914=>9979,44915=>9980,44916=>9981,44917=>9982,44918=>9983,44919=>9984,44920=>9985,44922=>9986,44923=>9987,44924=>9988,44925=>9989,44926=>9990,44927=>9991,44929=>9992,44930=>9993,44931=>9994,44933=>9995,44934=>9996,44935=>9997,44937=>9998,44938=>9999,44939=>10000,44940=>10001,44941=>10002,44942=>10003,44943=>10004,44946=>10005,44947=>10006,44948=>10007,44950=>10008,44951=>10009,44952=>10010,44953=>10011,44954=>10012,44955=>10013,44957=>10014,44958=>10015,44959=>10016,44960=>10017,44961=>10018,44962=>10019,44963=>10020,44964=>10021,44965=>10022,44966=>10023,44967=>10024,44968=>10025,44969=>10026,44970=>10027,44971=>10028,44972=>10029,44973=>10030,44974=>10031,44975=>10032,44976=>10033,44977=>10034,44978=>10035,44979=>10036,44980=>10037,44981=>10038,44982=>10039,44983=>10040,44986=>10041,44987=>10042,44989=>10043,44990=>10044,44991=>10045,44993=>10046,44994=>10047,44995=>10048,44996=>10049,44997=>10050,44998=>10051,45002=>10052,45004=>10053,45007=>10054,45008=>10055,45009=>10056,45010=>10057,45011=>10058,45013=>10059,45014=>10060,45015=>10061,45016=>10062,45017=>10063,45018=>10064,45019=>10065,45021=>10066,45022=>10067,45023=>10068,45024=>10069,45025=>10070,45026=>10071,45027=>10072,45028=>10073,45029=>10074,45030=>10075,45031=>10076,45034=>10077,45035=>10078,45036=>10079,45037=>10080,45038=>10081,45039=>10082,45042=>10083,45043=>10084,45045=>10085,45046=>10086,45047=>10087,45049=>10088,45050=>10089,45051=>10090,45052=>10091,45053=>10092,45054=>10093,45055=>10094,45058=>10095,45059=>10096,45061=>10097,45062=>10098,45063=>10099,45064=>10100,45065=>10101,45066=>10102,45067=>10103,45069=>10104,45070=>10105,45071=>10106,45073=>10107,45074=>10108,45075=>10109,45077=>10110,45078=>10111,45079=>10112,45080=>10113,45081=>10114,45082=>10115,45083=>10116,45086=>10117,45087=>10118,45088=>10119,45089=>10120,45090=>10121,45091=>10122,45092=>10123,45093=>10124,45094=>10125,45095=>10126,45097=>10127,45098=>10128,45099=>10129,45100=>10130,45101=>10131,45102=>10132,45103=>10133,45104=>10134,45105=>10135,45106=>10136,45107=>10137,45108=>10138,45109=>10139,45110=>10140,45111=>10141,45112=>10142,45113=>10143,45114=>10144,45115=>10145,45116=>10146,45117=>10147,45118=>10148,45119=>10149,45120=>10150,45121=>10151,45122=>10152,45123=>10153,45126=>10154,45127=>10155,45129=>10156,45131=>10157,45133=>10158,45135=>10159,45136=>10160,45137=>10161,45138=>10162,45142=>10163,45144=>10164,45146=>10165,45147=>10166,45148=>10167,45150=>10168,45151=>10169,45152=>10170,45153=>10171,45154=>10172,45155=>10173,45156=>10174,45157=>10175,45158=>10176,45159=>10177,45160=>10178,45161=>10179,45162=>10180,45163=>10181,45164=>10182,45165=>10183,45166=>10184,45167=>10185,45168=>10186,45169=>10187,45170=>10188,45171=>10189,45172=>10190,45173=>10191,45174=>10192,45175=>10193,45176=>10194,45177=>10195,45178=>10196,45179=>10197,45182=>10198,45183=>10199,45185=>10200,45186=>10201,45187=>10202,45189=>10203,45190=>10204,45191=>10205,45192=>10206,45193=>10207,45194=>10208,45195=>10209,45198=>10210,45200=>10211,45202=>10212,45203=>10213,45204=>10214,45205=>10215,45206=>10216,45207=>10217,45211=>10218,45213=>10219,45214=>10220,45219=>10221,45220=>10222,45221=>10223,45222=>10224,45223=>10225,45226=>10226,45232=>10227,45234=>10228,45238=>10229,45239=>10230,45241=>10231,45242=>10232,45243=>10233,45245=>10234,45246=>10235,45247=>10236,45248=>10237,45249=>10238,45250=>10239,45251=>10240,45254=>10241,45258=>10242,45259=>10243,45260=>10244,45261=>10245,45262=>10246,45263=>10247,45266=>10248,45267=>10249,45269=>10250,45270=>10251,45271=>10252,45273=>10253,45274=>10254,45275=>10255,45276=>10256,45277=>10257,45278=>10258,45279=>10259,45281=>10260,45282=>10261,45283=>10262,45284=>10263,45286=>10264,45287=>10265,45288=>10266,45289=>10267,45290=>10268,45291=>10269,45292=>10270,45293=>10271,45294=>10272,45295=>10273,45296=>10274,45297=>10275,45298=>10276,45299=>10277,45300=>10278,45301=>10279,45302=>10280,45303=>10281,45304=>10282,45305=>10283,45306=>10284,45307=>10285,45308=>10286,45309=>10287,45310=>10288,45311=>10289,45312=>10290,45313=>10291,45314=>10292,45315=>10293,45316=>10294,45317=>10295,45318=>10296,45319=>10297,45322=>10298,45325=>10299,45326=>10300,45327=>10301,45329=>10302,45332=>10303,45333=>10304,45334=>10305,45335=>10306,45338=>10307,45342=>10308,45343=>10309,45344=>10310,45345=>10311,45346=>10312,45350=>10313,45351=>10314,45353=>10315,45354=>10316,45355=>10317,45357=>10318,45358=>10319,45359=>10320,45360=>10321,45361=>10322,45362=>10323,45363=>10324,45366=>10325,45370=>10326,45371=>10327,45372=>10328,45373=>10329,45374=>10330,45375=>10331,45378=>10332,45379=>10333,45381=>10334,45382=>10335,45383=>10336,45385=>10337,45386=>10338,45387=>10339,45388=>10340,45389=>10341,45390=>10342,45391=>10343,45394=>10344,45395=>10345,45398=>10346,45399=>10347,45401=>10348,45402=>10349,45403=>10350,45405=>10351,45406=>10352,45407=>10353,45409=>10354,45410=>10355,45411=>10356,45412=>10357,45413=>10358,45414=>10359,45415=>10360,45416=>10361,45417=>10362,45418=>10363,45419=>10364,45420=>10365,45421=>10366,45422=>10367,45423=>10368,45424=>10369,45425=>10370,45426=>10371,45427=>10372,45428=>10373,45429=>10374,45430=>10375,45431=>10376,45434=>10377,45435=>10378,45437=>10379,45438=>10380,45439=>10381,45441=>10382,45443=>10383,45444=>10384,45445=>10385,45446=>10386,45447=>10387,45450=>10388,45452=>10389,45454=>10390,45455=>10391,45456=>10392,45457=>10393,45461=>10394,45462=>10395,45463=>10396,45465=>10397,45466=>10398,45467=>10399,45469=>10400,45470=>10401,45471=>10402,45472=>10403,45473=>10404,45474=>10405,45475=>10406,45476=>10407,45477=>10408,45478=>10409,45479=>10410,45481=>10411,45482=>10412,45483=>10413,45484=>10414,45485=>10415,45486=>10416,45487=>10417,45488=>10418,45489=>10419,45490=>10420,45491=>10421,45492=>10422,45493=>10423,45494=>10424,45495=>10425,45496=>10426,45497=>10427,45498=>10428,45499=>10429,45500=>10430,45501=>10431,45502=>10432,45503=>10433,45504=>10434,45505=>10435,45506=>10436,45507=>10437,45508=>10438,45509=>10439,45510=>10440,45511=>10441,45512=>10442,45513=>10443,45514=>10444,45515=>10445,45517=>10446,45518=>10447,45519=>10448,45521=>10449,45522=>10450,45523=>10451,45525=>10452,45526=>10453,45527=>10454,45528=>10455,45529=>10456,45530=>10457,45531=>10458,45534=>10459,45536=>10460,45537=>10461,45538=>10462,45539=>10463,45540=>10464,45541=>10465,45542=>10466,45543=>10467,45546=>10468,45547=>10469,45549=>10470,45550=>10471,45551=>10472,45553=>10473,45554=>10474,45555=>10475,45556=>10476,45557=>10477,45558=>10478,45559=>10479,45560=>10480,45562=>10481,45564=>10482,45566=>10483,45567=>10484,45568=>10485,45569=>10486,45570=>10487,45571=>10488,45574=>10489,45575=>10490,45577=>10491,45578=>10492,45581=>10493,45582=>10494,45583=>10495,45584=>10496,45585=>10497,45586=>10498,45587=>10499,45590=>10500,45592=>10501,45594=>10502,45595=>10503,45596=>10504,45597=>10505,45598=>10506,45599=>10507,45601=>10508,45602=>10509,45603=>10510,45604=>10511,45605=>10512,45606=>10513,45607=>10514,45608=>10515,45609=>10516,45610=>10517,45611=>10518,45612=>10519,45613=>10520,45614=>10521,45615=>10522,45616=>10523,45617=>10524,45618=>10525,45619=>10526,45621=>10527,45622=>10528,45623=>10529,45624=>10530,45625=>10531,45626=>10532,45627=>10533,45629=>10534,45630=>10535,45631=>10536,45632=>10537,45633=>10538,45634=>10539,45635=>10540,45636=>10541,45637=>10542,45638=>10543,45639=>10544,45640=>10545,45641=>10546,45642=>10547,45643=>10548,45644=>10549,45645=>10550,45646=>10551,45647=>10552,45648=>10553,45649=>10554,45650=>10555,45651=>10556,45652=>10557,45653=>10558,45654=>10559,45655=>10560,45657=>10561,45658=>10562,45659=>10563,45661=>10564,45662=>10565,45663=>10566,45665=>10567,45666=>10568,45667=>10569,45668=>10570,45669=>10571,45670=>10572,45671=>10573,45674=>10574,45675=>10575,45676=>10576,45677=>10577,45678=>10578,45679=>10579,45680=>10580,45681=>10581,45682=>10582,45683=>10583,45686=>10584,45687=>10585,45688=>10586,45689=>10587,45690=>10588,45691=>10589,45693=>10590,45694=>10591,45695=>10592,45696=>10593,45697=>10594,45698=>10595,45699=>10596,45702=>10597,45703=>10598,45704=>10599,45706=>10600,45707=>10601,45708=>10602,45709=>10603,45710=>10604,45711=>10605,45714=>10606,45715=>10607,45717=>10608,45718=>10609,45719=>10610,45723=>10611,45724=>10612,45725=>10613,45726=>10614,45727=>10615,45730=>10616,45732=>10617,45735=>10618,45736=>10619,45737=>10620,45739=>10621,45741=>10622,45742=>10623,45743=>10624,45745=>10625,45746=>10626,45747=>10627,45749=>10628,45750=>10629,45751=>10630,45752=>10631,45753=>10632,45754=>10633,45755=>10634,45756=>10635,45757=>10636,45758=>10637,45759=>10638,45760=>10639,45761=>10640,45762=>10641,45763=>10642,45764=>10643,45765=>10644,45766=>10645,45767=>10646,45770=>10647,45771=>10648,45773=>10649,45774=>10650,45775=>10651,45777=>10652,45779=>10653,45780=>10654,45781=>10655,45782=>10656,45783=>10657,45786=>10658,45788=>10659,45790=>10660,45791=>10661,45792=>10662,45793=>10663,45795=>10664,45799=>10665,45801=>10666,45802=>10667,45808=>10668,45809=>10669,45810=>10670,45814=>10671,45820=>10672,45821=>10673,45822=>10674,45826=>10675,45827=>10676,45829=>10677,45830=>10678,45831=>10679,45833=>10680,45834=>10681,45835=>10682,45836=>10683,45837=>10684,45838=>10685,45839=>10686,45842=>10687,45846=>10688,45847=>10689,45848=>10690,45849=>10691,45850=>10692,45851=>10693,45853=>10694,45854=>10695,45855=>10696,45856=>10697,45857=>10698,45858=>10699,45859=>10700,45860=>10701,45861=>10702,45862=>10703,45863=>10704,45864=>10705,45865=>10706,45866=>10707,45867=>10708,45868=>10709,45869=>10710,45870=>10711,45871=>10712,45872=>10713,45873=>10714,45874=>10715,45875=>10716,45876=>10717,45877=>10718,45878=>10719,45879=>10720,45880=>10721,45881=>10722,45882=>10723,45883=>10724,45884=>10725,45885=>10726,45886=>10727,45887=>10728,45888=>10729,45889=>10730,45890=>10731,45891=>10732,45892=>10733,45893=>10734,45894=>10735,45895=>10736,45896=>10737,45897=>10738,45898=>10739,45899=>10740,45900=>10741,45901=>10742,45902=>10743,45903=>10744,45904=>10745,45905=>10746,45906=>10747,45907=>10748,45911=>10749,45913=>10750,45914=>10751,45917=>10752,45920=>10753,45921=>10754,45922=>10755,45923=>10756,45926=>10757,45928=>10758,45930=>10759,45932=>10760,45933=>10761,45935=>10762,45938=>10763,45939=>10764,45941=>10765,45942=>10766,45943=>10767,45945=>10768,45946=>10769,45947=>10770,45948=>10771,45949=>10772,45950=>10773,45951=>10774,45954=>10775,45958=>10776,45959=>10777,45960=>10778,45961=>10779,45962=>10780,45963=>10781,45965=>10782,45966=>10783,45967=>10784,45969=>10785,45970=>10786,45971=>10787,45973=>10788,45974=>10789,45975=>10790,45976=>10791,45977=>10792,45978=>10793,45979=>10794,45980=>10795,45981=>10796,45982=>10797,45983=>10798,45986=>10799,45987=>10800,45988=>10801,45989=>10802,45990=>10803,45991=>10804,45993=>10805,45994=>10806,45995=>10807,45997=>10808,45998=>10809,45999=>10810,46000=>10811,46001=>10812,46002=>10813,46003=>10814,46004=>10815,46005=>10816,46006=>10817,46007=>10818,46008=>10819,46009=>10820,46010=>10821,46011=>10822,46012=>10823,46013=>10824,46014=>10825,46015=>10826,46016=>10827,46017=>10828,46018=>10829,46019=>10830,46022=>10831,46023=>10832,46025=>10833,46026=>10834,46029=>10835,46031=>10836,46033=>10837,46034=>10838,46035=>10839,46038=>10840,46040=>10841,46042=>10842,46044=>10843,46046=>10844,46047=>10845,46049=>10846,46050=>10847,46051=>10848,46053=>10849,46054=>10850,46055=>10851,46057=>10852,46058=>10853,46059=>10854,46060=>10855,46061=>10856,46062=>10857,46063=>10858,46064=>10859,46065=>10860,46066=>10861,46067=>10862,46068=>10863,46069=>10864,46070=>10865,46071=>10866,46072=>10867,46073=>10868,46074=>10869,46075=>10870,46077=>10871,46078=>10872,46079=>10873,46080=>10874,46081=>10875,46082=>10876,46083=>10877,46084=>10878,46085=>10879,46086=>10880,46087=>10881,46088=>10882,46089=>10883,46090=>10884,46091=>10885,46092=>10886,46093=>10887,46094=>10888,46095=>10889,46097=>10890,46098=>10891,46099=>10892,46100=>10893,46101=>10894,46102=>10895,46103=>10896,46105=>10897,46106=>10898,46107=>10899,46109=>10900,46110=>10901,46111=>10902,46113=>10903,46114=>10904,46115=>10905,46116=>10906,46117=>10907,46118=>10908,46119=>10909,46122=>10910,46124=>10911,46125=>10912,46126=>10913,46127=>10914,46128=>10915,46129=>10916,46130=>10917,46131=>10918,46133=>10919,46134=>10920,46135=>10921,46136=>10922,46137=>10923,46138=>10924,46139=>10925,46140=>10926,46141=>10927,46142=>10928,46143=>10929,46144=>10930,46145=>10931,46146=>10932,46147=>10933,46148=>10934,46149=>10935,46150=>10936,46151=>10937,46152=>10938,46153=>10939,46154=>10940,46155=>10941,46156=>10942,46157=>10943,46158=>10944,46159=>10945,46162=>10946,46163=>10947,46165=>10948,46166=>10949,46167=>10950,46169=>10951,46170=>10952,46171=>10953,46172=>10954,46173=>10955,46174=>10956,46175=>10957,46178=>10958,46180=>10959,46182=>10960,46183=>10961,46184=>10962,46185=>10963,46186=>10964,46187=>10965,46189=>10966,46190=>10967,46191=>10968,46192=>10969,46193=>10970,46194=>10971,46195=>10972,46196=>10973,46197=>10974,46198=>10975,46199=>10976,46200=>10977,46201=>10978,46202=>10979,46203=>10980,46204=>10981,46205=>10982,46206=>10983,46207=>10984,46209=>10985,46210=>10986,46211=>10987,46212=>10988,46213=>10989,46214=>10990,46215=>10991,46217=>10992,46218=>10993,46219=>10994,46220=>10995,46221=>10996,46222=>10997,46223=>10998,46224=>10999,46225=>11000,46226=>11001,46227=>11002,46228=>11003,46229=>11004,46230=>11005,46231=>11006,46232=>11007,46233=>11008,46234=>11009,46235=>11010,46236=>11011,46238=>11012,46239=>11013,46240=>11014,46241=>11015,46242=>11016,46243=>11017,46245=>11018,46246=>11019,46247=>11020,46249=>11021,46250=>11022,46251=>11023,46253=>11024,46254=>11025,46255=>11026,46256=>11027,46257=>11028,46258=>11029,46259=>11030,46260=>11031,46262=>11032,46264=>11033,46266=>11034,46267=>11035,46268=>11036,46269=>11037,46270=>11038,46271=>11039,46273=>11040,46274=>11041,46275=>11042,46277=>11043,46278=>11044,46279=>11045,46281=>11046,46282=>11047,46283=>11048,46284=>11049,46285=>11050,46286=>11051,46287=>11052,46289=>11053,46290=>11054,46291=>11055,46292=>11056,46294=>11057,46295=>11058,46296=>11059,46297=>11060,46298=>11061,46299=>11062,46302=>11063,46303=>11064,46305=>11065,46306=>11066,46309=>11067,46311=>11068,46312=>11069,46313=>11070,46314=>11071,46315=>11072,46318=>11073,46320=>11074,46322=>11075,46323=>11076,46324=>11077,46325=>11078,46326=>11079,46327=>11080,46329=>11081,46330=>11082,46331=>11083,46332=>11084,46333=>11085,46334=>11086,46335=>11087,46336=>11088,46337=>11089,46338=>11090,46339=>11091,46340=>11092,46341=>11093,46342=>11094,46343=>11095,46344=>11096,46345=>11097,46346=>11098,46347=>11099,46348=>11100,46349=>11101,46350=>11102,46351=>11103,46352=>11104,46353=>11105,46354=>11106,46355=>11107,46358=>11108,46359=>11109,46361=>11110,46362=>11111,46365=>11112,46366=>11113,46367=>11114,46368=>11115,46369=>11116,46370=>11117,46371=>11118,46374=>11119,46379=>11120,46380=>11121,46381=>11122,46382=>11123,46383=>11124,46386=>11125,46387=>11126,46389=>11127,46390=>11128,46391=>11129,46393=>11130,46394=>11131,46395=>11132,46396=>11133,46397=>11134,46398=>11135,46399=>11136,46402=>11137,46406=>11138,46407=>11139,46408=>11140,46409=>11141,46410=>11142,46414=>11143,46415=>11144,46417=>11145,46418=>11146,46419=>11147,46421=>11148,46422=>11149,46423=>11150,46424=>11151,46425=>11152,46426=>11153,46427=>11154,46430=>11155,46434=>11156,46435=>11157,46436=>11158,46437=>11159,46438=>11160,46439=>11161,46440=>11162,46441=>11163,46442=>11164,46443=>11165,46444=>11166,46445=>11167,46446=>11168,46447=>11169,46448=>11170,46449=>11171,46450=>11172,46451=>11173,46452=>11174,46453=>11175,46454=>11176,46455=>11177,46456=>11178,46457=>11179,46458=>11180,46459=>11181,46460=>11182,46461=>11183,46462=>11184,46463=>11185,46464=>11186,46465=>11187,46466=>11188,46467=>11189,46468=>11190,46469=>11191,46470=>11192,46471=>11193,46472=>11194,46473=>11195,46474=>11196,46475=>11197,46476=>11198,46477=>11199,46478=>11200,46479=>11201,46480=>11202,46481=>11203,46482=>11204,46483=>11205,46484=>11206,46485=>11207,46486=>11208,46487=>11209,46488=>11210,46489=>11211,46490=>11212,46491=>11213,46492=>11214,46493=>11215,46494=>11216,46495=>11217,46498=>11218,46499=>11219,46501=>11220,46502=>11221,46503=>11222,46505=>11223,46508=>11224,46509=>11225,46510=>11226,46511=>11227,46514=>11228,46518=>11229,46519=>11230,46520=>11231,46521=>11232,46522=>11233,46526=>11234,46527=>11235,46529=>11236,46530=>11237,46531=>11238,46533=>11239,46534=>11240,46535=>11241,46536=>11242,46537=>11243,46538=>11244,46539=>11245,46542=>11246,46546=>11247,46547=>11248,46548=>11249,46549=>11250,46550=>11251,46551=>11252,46553=>11253,46554=>11254,46555=>11255,46556=>11256,46557=>11257,46558=>11258,46559=>11259,46560=>11260,46561=>11261,46562=>11262,46563=>11263,46564=>11264,46565=>11265,46566=>11266,46567=>11267,46568=>11268,46569=>11269,46570=>11270,46571=>11271,46573=>11272,46574=>11273,46575=>11274,46576=>11275,46577=>11276,46578=>11277,46579=>11278,46580=>11279,46581=>11280,46582=>11281,46583=>11282,46584=>11283,46585=>11284,46586=>11285,46587=>11286,46588=>11287,46589=>11288,46590=>11289,46591=>11290,46592=>11291,46593=>11292,46594=>11293,46595=>11294,46596=>11295,46597=>11296,46598=>11297,46599=>11298,46600=>11299,46601=>11300,46602=>11301,46603=>11302,46604=>11303,46605=>11304,46606=>11305,46607=>11306,46610=>11307,46611=>11308,46613=>11309,46614=>11310,46615=>11311,46617=>11312,46618=>11313,46619=>11314,46620=>11315,46621=>11316,46622=>11317,46623=>11318,46624=>11319,46625=>11320,46626=>11321,46627=>11322,46628=>11323,46630=>11324,46631=>11325,46632=>11326,46633=>11327,46634=>11328,46635=>11329,46637=>11330,46638=>11331,46639=>11332,46640=>11333,46641=>11334,46642=>11335,46643=>11336,46645=>11337,46646=>11338,46647=>11339,46648=>11340,46649=>11341,46650=>11342,46651=>11343,46652=>11344,46653=>11345,46654=>11346,46655=>11347,46656=>11348,46657=>11349,46658=>11350,46659=>11351,46660=>11352,46661=>11353,46662=>11354,46663=>11355,46665=>11356,46666=>11357,46667=>11358,46668=>11359,46669=>11360,46670=>11361,46671=>11362,46672=>11363,46673=>11364,46674=>11365,46675=>11366,46676=>11367,46677=>11368,46678=>11369,46679=>11370,46680=>11371,46681=>11372,46682=>11373,46683=>11374,46684=>11375,46685=>11376,46686=>11377,46687=>11378,46688=>11379,46689=>11380,46690=>11381,46691=>11382,46693=>11383,46694=>11384,46695=>11385,46697=>11386,46698=>11387,46699=>11388,46700=>11389,46701=>11390,46702=>11391,46703=>11392,46704=>11393,46705=>11394,46706=>11395,46707=>11396,46708=>11397,46709=>11398,46710=>11399,46711=>11400,46712=>11401,46713=>11402,46714=>11403,46715=>11404,46716=>11405,46717=>11406,46718=>11407,46719=>11408,46720=>11409,46721=>11410,46722=>11411,46723=>11412,46724=>11413,46725=>11414,46726=>11415,46727=>11416,46728=>11417,46729=>11418,46730=>11419,46731=>11420,46732=>11421,46733=>11422,46734=>11423,46735=>11424,46736=>11425,46737=>11426,46738=>11427,46739=>11428,46740=>11429,46741=>11430,46742=>11431,46743=>11432,46744=>11433,46745=>11434,46746=>11435,46747=>11436,46750=>11437,46751=>11438,46753=>11439,46754=>11440,46755=>11441,46757=>11442,46758=>11443,46759=>11444,46760=>11445,46761=>11446,46762=>11447,46765=>11448,46766=>11449,46767=>11450,46768=>11451,46770=>11452,46771=>11453,46772=>11454,46773=>11455,46774=>11456,46775=>11457,46776=>11458,46777=>11459,46778=>11460,46779=>11461,46780=>11462,46781=>11463,46782=>11464,46783=>11465,46784=>11466,46785=>11467,46786=>11468,46787=>11469,46788=>11470,46789=>11471,46790=>11472,46791=>11473,46792=>11474,46793=>11475,46794=>11476,46795=>11477,46796=>11478,46797=>11479,46798=>11480,46799=>11481,46800=>11482,46801=>11483,46802=>11484,46803=>11485,46805=>11486,46806=>11487,46807=>11488,46808=>11489,46809=>11490,46810=>11491,46811=>11492,46812=>11493,46813=>11494,46814=>11495,46815=>11496,46816=>11497,46817=>11498,46818=>11499,46819=>11500,46820=>11501,46821=>11502,46822=>11503,46823=>11504,46824=>11505,46825=>11506,46826=>11507,46827=>11508,46828=>11509,46829=>11510,46830=>11511,46831=>11512,46833=>11513,46834=>11514,46835=>11515,46837=>11516,46838=>11517,46839=>11518,46841=>11519,46842=>11520,46843=>11521,46844=>11522,46845=>11523,46846=>11524,46847=>11525,46850=>11526,46851=>11527,46852=>11528,46854=>11529,46855=>11530,46856=>11531,46857=>11532,46858=>11533,46859=>11534,46860=>11535,46861=>11536,46862=>11537,46863=>11538,46864=>11539,46865=>11540,46866=>11541,46867=>11542,46868=>11543,46869=>11544,46870=>11545,46871=>11546,46872=>11547,46873=>11548,46874=>11549,46875=>11550,46876=>11551,46877=>11552,46878=>11553,46879=>11554,46880=>11555,46881=>11556,46882=>11557,46883=>11558,46884=>11559,46885=>11560,46886=>11561,46887=>11562,46890=>11563,46891=>11564,46893=>11565,46894=>11566,46897=>11567,46898=>11568,46899=>11569,46900=>11570,46901=>11571,46902=>11572,46903=>11573,46906=>11574,46908=>11575,46909=>11576,46910=>11577,46911=>11578,46912=>11579,46913=>11580,46914=>11581,46915=>11582,46917=>11583,46918=>11584,46919=>11585,46921=>11586,46922=>11587,46923=>11588,46925=>11589,46926=>11590,46927=>11591,46928=>11592,46929=>11593,46930=>11594,46931=>11595,46934=>11596,46935=>11597,46936=>11598,46937=>11599,46938=>11600,46939=>11601,46940=>11602,46941=>11603,46942=>11604,46943=>11605,46945=>11606,46946=>11607,46947=>11608,46949=>11609,46950=>11610,46951=>11611,46953=>11612,46954=>11613,46955=>11614,46956=>11615,46957=>11616,46958=>11617,46959=>11618,46962=>11619,46964=>11620,46966=>11621,46967=>11622,46968=>11623,46969=>11624,46970=>11625,46971=>11626,46974=>11627,46975=>11628,46977=>11629,46978=>11630,46979=>11631,46981=>11632,46982=>11633,46983=>11634,46984=>11635,46985=>11636,46986=>11637,46987=>11638,46990=>11639,46995=>11640,46996=>11641,46997=>11642,47002=>11643,47003=>11644,47005=>11645,47006=>11646,47007=>11647,47009=>11648,47010=>11649,47011=>11650,47012=>11651,47013=>11652,47014=>11653,47015=>11654,47018=>11655,47022=>11656,47023=>11657,47024=>11658,47025=>11659,47026=>11660,47027=>11661,47030=>11662,47031=>11663,47033=>11664,47034=>11665,47035=>11666,47036=>11667,47037=>11668,47038=>11669,47039=>11670,47040=>11671,47041=>11672,47042=>11673,47043=>11674,47044=>11675,47045=>11676,47046=>11677,47048=>11678,47050=>11679,47051=>11680,47052=>11681,47053=>11682,47054=>11683,47055=>11684,47056=>11685,47057=>11686,47058=>11687,47059=>11688,47060=>11689,47061=>11690,47062=>11691,47063=>11692,47064=>11693,47065=>11694,47066=>11695,47067=>11696,47068=>11697,47069=>11698,47070=>11699,47071=>11700,47072=>11701,47073=>11702,47074=>11703,47075=>11704,47076=>11705,47077=>11706,47078=>11707,47079=>11708,47080=>11709,47081=>11710,47082=>11711,47083=>11712,47086=>11713,47087=>11714,47089=>11715,47090=>11716,47091=>11717,47093=>11718,47094=>11719,47095=>11720,47096=>11721,47097=>11722,47098=>11723,47099=>11724,47102=>11725,47106=>11726,47107=>11727,47108=>11728,47109=>11729,47110=>11730,47114=>11731,47115=>11732,47117=>11733,47118=>11734,47119=>11735,47121=>11736,47122=>11737,47123=>11738,47124=>11739,47125=>11740,47126=>11741,47127=>11742,47130=>11743,47132=>11744,47134=>11745,47135=>11746,47136=>11747,47137=>11748,47138=>11749,47139=>11750,47142=>11751,47143=>11752,47145=>11753,47146=>11754,47147=>11755,47149=>11756,47150=>11757,47151=>11758,47152=>11759,47153=>11760,47154=>11761,47155=>11762,47158=>11763,47162=>11764,47163=>11765,47164=>11766,47165=>11767,47166=>11768,47167=>11769,47169=>11770,47170=>11771,47171=>11772,47173=>11773,47174=>11774,47175=>11775,47176=>11776,47177=>11777,47178=>11778,47179=>11779,47180=>11780,47181=>11781,47182=>11782,47183=>11783,47184=>11784,47186=>11785,47188=>11786,47189=>11787,47190=>11788,47191=>11789,47192=>11790,47193=>11791,47194=>11792,47195=>11793,47198=>11794,47199=>11795,47201=>11796,47202=>11797,47203=>11798,47205=>11799,47206=>11800,47207=>11801,47208=>11802,47209=>11803,47210=>11804,47211=>11805,47214=>11806,47216=>11807,47218=>11808,47219=>11809,47220=>11810,47221=>11811,47222=>11812,47223=>11813,47225=>11814,47226=>11815,47227=>11816,47229=>11817,47230=>11818,47231=>11819,47232=>11820,47233=>11821,47234=>11822,47235=>11823,47236=>11824,47237=>11825,47238=>11826,47239=>11827,47240=>11828,47241=>11829,47242=>11830,47243=>11831,47244=>11832,47246=>11833,47247=>11834,47248=>11835,47249=>11836,47250=>11837,47251=>11838,47252=>11839,47253=>11840,47254=>11841,47255=>11842,47256=>11843,47257=>11844,47258=>11845,47259=>11846,47260=>11847,47261=>11848,47262=>11849,47263=>11850,47264=>11851,47265=>11852,47266=>11853,47267=>11854,47268=>11855,47269=>11856,47270=>11857,47271=>11858,47273=>11859,47274=>11860,47275=>11861,47276=>11862,47277=>11863,47278=>11864,47279=>11865,47281=>11866,47282=>11867,47283=>11868,47285=>11869,47286=>11870,47287=>11871,47289=>11872,47290=>11873,47291=>11874,47292=>11875,47293=>11876,47294=>11877,47295=>11878,47298=>11879,47300=>11880,47302=>11881,47303=>11882,47304=>11883,47305=>11884,47306=>11885,47307=>11886,47309=>11887,47310=>11888,47311=>11889,47313=>11890,47314=>11891,47315=>11892,47317=>11893,47318=>11894,47319=>11895,47320=>11896,47321=>11897,47322=>11898,47323=>11899,47324=>11900,47326=>11901,47328=>11902,47330=>11903,47331=>11904,47332=>11905,47333=>11906,47334=>11907,47335=>11908,47338=>11909,47339=>11910,47341=>11911,47342=>11912,47343=>11913,47345=>11914,47346=>11915,47347=>11916,47348=>11917,47349=>11918,47350=>11919,47351=>11920,47354=>11921,47356=>11922,47358=>11923,47359=>11924,47360=>11925,47361=>11926,47362=>11927,47363=>11928,47365=>11929,47366=>11930,47367=>11931,47368=>11932,47369=>11933,47370=>11934,47371=>11935,47372=>11936,47373=>11937,47374=>11938,47375=>11939,47376=>11940,47377=>11941,47378=>11942,47379=>11943,47380=>11944,47381=>11945,47382=>11946,47383=>11947,47385=>11948,47386=>11949,47387=>11950,47388=>11951,47389=>11952,47390=>11953,47391=>11954,47393=>11955,47394=>11956,47395=>11957,47396=>11958,47397=>11959,47398=>11960,47399=>11961,47400=>11962,47401=>11963,47402=>11964,47403=>11965,47404=>11966,47405=>11967,47406=>11968,47407=>11969,47408=>11970,47409=>11971,47410=>11972,47411=>11973,47412=>11974,47413=>11975,47414=>11976,47415=>11977,47416=>11978,47417=>11979,47418=>11980,47419=>11981,47422=>11982,47423=>11983,47425=>11984,47426=>11985,47427=>11986,47429=>11987,47430=>11988,47431=>11989,47432=>11990,47433=>11991,47434=>11992,47435=>11993,47437=>11994,47438=>11995,47440=>11996,47442=>11997,47443=>11998,47444=>11999,47445=>12000,47446=>12001,47447=>12002,47450=>12003,47451=>12004,47453=>12005,47454=>12006,47455=>12007,47457=>12008,47458=>12009,47459=>12010,47460=>12011,47461=>12012,47462=>12013,47463=>12014,47466=>12015,47468=>12016,47470=>12017,47471=>12018,47472=>12019,47473=>12020,47474=>12021,47475=>12022,47478=>12023,47479=>12024,47481=>12025,47482=>12026,47483=>12027,47485=>12028,47486=>12029,47487=>12030,47488=>12031,47489=>12032,47490=>12033,47491=>12034,47494=>12035,47496=>12036,47499=>12037,47500=>12038,47503=>12039,47504=>12040,47505=>12041,47506=>12042,47507=>12043,47508=>12044,47509=>12045,47510=>12046,47511=>12047,47512=>12048,47513=>12049,47514=>12050,47515=>12051,47516=>12052,47517=>12053,47518=>12054,47519=>12055,47520=>12056,47521=>12057,47522=>12058,47523=>12059,47524=>12060,47525=>12061,47526=>12062,47527=>12063,47528=>12064,47529=>12065,47530=>12066,47531=>12067,47534=>12068,47535=>12069,47537=>12070,47538=>12071,47539=>12072,47541=>12073,47542=>12074,47543=>12075,47544=>12076,47545=>12077,47546=>12078,47547=>12079,47550=>12080,47552=>12081,47554=>12082,47555=>12083,47556=>12084,47557=>12085,47558=>12086,47559=>12087,47562=>12088,47563=>12089,47565=>12090,47571=>12091,47572=>12092,47573=>12093,47574=>12094,47575=>12095,47578=>12096,47580=>12097,47583=>12098,47584=>12099,47586=>12100,47590=>12101,47591=>12102,47593=>12103,47594=>12104,47595=>12105,47597=>12106,47598=>12107,47599=>12108,47600=>12109,47601=>12110,47602=>12111,47603=>12112,47606=>12113,47611=>12114,47612=>12115,47613=>12116,47614=>12117,47615=>12118,47618=>12119,47619=>12120,47620=>12121,47621=>12122,47622=>12123,47623=>12124,47625=>12125,47626=>12126,47627=>12127,47628=>12128,47629=>12129,47630=>12130,47631=>12131,47632=>12132,47633=>12133,47634=>12134,47635=>12135,47636=>12136,47638=>12137,47639=>12138,47640=>12139,47641=>12140,47642=>12141,47643=>12142,47644=>12143,47645=>12144,47646=>12145,47647=>12146,47648=>12147,47649=>12148,47650=>12149,47651=>12150,47652=>12151,47653=>12152,47654=>12153,47655=>12154,47656=>12155,47657=>12156,47658=>12157,47659=>12158,47660=>12159,47661=>12160,47662=>12161,47663=>12162,47664=>12163,47665=>12164,47666=>12165,47667=>12166,47668=>12167,47669=>12168,47670=>12169,47671=>12170,47674=>12171,47675=>12172,47677=>12173,47678=>12174,47679=>12175,47681=>12176,47683=>12177,47684=>12178,47685=>12179,47686=>12180,47687=>12181,47690=>12182,47692=>12183,47695=>12184,47696=>12185,47697=>12186,47698=>12187,47702=>12188,47703=>12189,47705=>12190,47706=>12191,47707=>12192,47709=>12193,47710=>12194,47711=>12195,47712=>12196,47713=>12197,47714=>12198,47715=>12199,47718=>12200,47722=>12201,47723=>12202,47724=>12203,47725=>12204,47726=>12205,47727=>12206,47730=>12207,47731=>12208,47733=>12209,47734=>12210,47735=>12211,47737=>12212,47738=>12213,47739=>12214,47740=>12215,47741=>12216,47742=>12217,47743=>12218,47744=>12219,47745=>12220,47746=>12221,47750=>12222,47752=>12223,47753=>12224,47754=>12225,47755=>12226,47757=>12227,47758=>12228,47759=>12229,47760=>12230,47761=>12231,47762=>12232,47763=>12233,47764=>12234,47765=>12235,47766=>12236,47767=>12237,47768=>12238,47769=>12239,47770=>12240,47771=>12241,47772=>12242,47773=>12243,47774=>12244,47775=>12245,47776=>12246,47777=>12247,47778=>12248,47779=>12249,47780=>12250,47781=>12251,47782=>12252,47783=>12253,47786=>12254,47789=>12255,47790=>12256,47791=>12257,47793=>12258,47795=>12259,47796=>12260,47797=>12261,47798=>12262,47799=>12263,47802=>12264,47804=>12265,47806=>12266,47807=>12267,47808=>12268,47809=>12269,47810=>12270,47811=>12271,47813=>12272,47814=>12273,47815=>12274,47817=>12275,47818=>12276,47819=>12277,47820=>12278,47821=>12279,47822=>12280,47823=>12281,47824=>12282,47825=>12283,47826=>12284,47827=>12285,47828=>12286,47829=>12287,47830=>12288,47831=>12289,47834=>12290,47835=>12291,47836=>12292,47837=>12293,47838=>12294,47839=>12295,47840=>12296,47841=>12297,47842=>12298,47843=>12299,47844=>12300,47845=>12301,47846=>12302,47847=>12303,47848=>12304,47849=>12305,47850=>12306,47851=>12307,47852=>12308,47853=>12309,47854=>12310,47855=>12311,47856=>12312,47857=>12313,47858=>12314,47859=>12315,47860=>12316,47861=>12317,47862=>12318,47863=>12319,47864=>12320,47865=>12321,47866=>12322,47867=>12323,47869=>12324,47870=>12325,47871=>12326,47873=>12327,47874=>12328,47875=>12329,47877=>12330,47878=>12331,47879=>12332,47880=>12333,47881=>12334,47882=>12335,47883=>12336,47884=>12337,47886=>12338,47888=>12339,47890=>12340,47891=>12341,47892=>12342,47893=>12343,47894=>12344,47895=>12345,47897=>12346,47898=>12347,47899=>12348,47901=>12349,47902=>12350,47903=>12351,47905=>12352,47906=>12353,47907=>12354,47908=>12355,47909=>12356,47910=>12357,47911=>12358,47912=>12359,47914=>12360,47916=>12361,47917=>12362,47918=>12363,47919=>12364,47920=>12365,47921=>12366,47922=>12367,47923=>12368,47927=>12369,47929=>12370,47930=>12371,47935=>12372,47936=>12373,47937=>12374,47938=>12375,47939=>12376,47942=>12377,47944=>12378,47946=>12379,47947=>12380,47948=>12381,47950=>12382,47953=>12383,47954=>12384,47955=>12385,47957=>12386,47958=>12387,47959=>12388,47961=>12389,47962=>12390,47963=>12391,47964=>12392,47965=>12393,47966=>12394,47967=>12395,47968=>12396,47970=>12397,47972=>12398,47973=>12399,47974=>12400,47975=>12401,47976=>12402,47977=>12403,47978=>12404,47979=>12405,47981=>12406,47982=>12407,47983=>12408,47984=>12409,47985=>12410,47986=>12411,47987=>12412,47988=>12413,47989=>12414,47990=>12415,47991=>12416,47992=>12417,47993=>12418,47994=>12419,47995=>12420,47996=>12421,47997=>12422,47998=>12423,47999=>12424,48000=>12425,48001=>12426,48002=>12427,48003=>12428,48004=>12429,48005=>12430,48006=>12431,48007=>12432,48009=>12433,48010=>12434,48011=>12435,48013=>12436,48014=>12437,48015=>12438,48017=>12439,48018=>12440,48019=>12441,48020=>12442,48021=>12443,48022=>12444,48023=>12445,48024=>12446,48025=>12447,48026=>12448,48027=>12449,48028=>12450,48029=>12451,48030=>12452,48031=>12453,48032=>12454,48033=>12455,48034=>12456,48035=>12457,48037=>12458,48038=>12459,48039=>12460,48041=>12461,48042=>12462,48043=>12463,48045=>12464,48046=>12465,48047=>12466,48048=>12467,48049=>12468,48050=>12469,48051=>12470,48053=>12471,48054=>12472,48056=>12473,48057=>12474,48058=>12475,48059=>12476,48060=>12477,48061=>12478,48062=>12479,48063=>12480,48065=>12481,48066=>12482,48067=>12483,48069=>12484,48070=>12485,48071=>12486,48073=>12487,48074=>12488,48075=>12489,48076=>12490,48077=>12491,48078=>12492,48079=>12493,48081=>12494,48082=>12495,48084=>12496,48085=>12497,48086=>12498,48087=>12499,48088=>12500,48089=>12501,48090=>12502,48091=>12503,48092=>12504,48093=>12505,48094=>12506,48095=>12507,48096=>12508,48097=>12509,48098=>12510,48099=>12511,48100=>12512,48101=>12513,48102=>12514,48103=>12515,48104=>12516,48105=>12517,48106=>12518,48107=>12519,48108=>12520,48109=>12521,48110=>12522,48111=>12523,48112=>12524,48113=>12525,48114=>12526,48115=>12527,48116=>12528,48117=>12529,48118=>12530,48119=>12531,48122=>12532,48123=>12533,48125=>12534,48126=>12535,48129=>12536,48131=>12537,48132=>12538,48133=>12539,48134=>12540,48135=>12541,48138=>12542,48142=>12543,48144=>12544,48146=>12545,48147=>12546,48153=>12547,48154=>12548,48160=>12549,48161=>12550,48162=>12551,48163=>12552,48166=>12553,48168=>12554,48170=>12555,48171=>12556,48172=>12557,48174=>12558,48175=>12559,48178=>12560,48179=>12561,48181=>12562,48182=>12563,48183=>12564,48185=>12565,48186=>12566,48187=>12567,48188=>12568,48189=>12569,48190=>12570,48191=>12571,48194=>12572,48198=>12573,48199=>12574,48200=>12575,48202=>12576,48203=>12577,48206=>12578,48207=>12579,48209=>12580,48210=>12581,48211=>12582,48212=>12583,48213=>12584,48214=>12585,48215=>12586,48216=>12587,48217=>12588,48218=>12589,48219=>12590,48220=>12591,48222=>12592,48223=>12593,48224=>12594,48225=>12595,48226=>12596,48227=>12597,48228=>12598,48229=>12599,48230=>12600,48231=>12601,48232=>12602,48233=>12603,48234=>12604,48235=>12605,48236=>12606,48237=>12607,48238=>12608,48239=>12609,48240=>12610,48241=>12611,48242=>12612,48243=>12613,48244=>12614,48245=>12615,48246=>12616,48247=>12617,48248=>12618,48249=>12619,48250=>12620,48251=>12621,48252=>12622,48253=>12623,48254=>12624,48255=>12625,48256=>12626,48257=>12627,48258=>12628,48259=>12629,48262=>12630,48263=>12631,48265=>12632,48266=>12633,48269=>12634,48271=>12635,48272=>12636,48273=>12637,48274=>12638,48275=>12639,48278=>12640,48280=>12641,48283=>12642,48284=>12643,48285=>12644,48286=>12645,48287=>12646,48290=>12647,48291=>12648,48293=>12649,48294=>12650,48297=>12651,48298=>12652,48299=>12653,48300=>12654,48301=>12655,48302=>12656,48303=>12657,48306=>12658,48310=>12659,48311=>12660,48312=>12661,48313=>12662,48314=>12663,48315=>12664,48318=>12665,48319=>12666,48321=>12667,48322=>12668,48323=>12669,48325=>12670,48326=>12671,48327=>12672,48328=>12673,48329=>12674,48330=>12675,48331=>12676,48332=>12677,48334=>12678,48338=>12679,48339=>12680,48340=>12681,48342=>12682,48343=>12683,48345=>12684,48346=>12685,48347=>12686,48349=>12687,48350=>12688,48351=>12689,48352=>12690,48353=>12691,48354=>12692,48355=>12693,48356=>12694,48357=>12695,48358=>12696,48359=>12697,48360=>12698,48361=>12699,48362=>12700,48363=>12701,48364=>12702,48365=>12703,48366=>12704,48367=>12705,48368=>12706,48369=>12707,48370=>12708,48371=>12709,48375=>12710,48377=>12711,48378=>12712,48379=>12713,48381=>12714,48382=>12715,48383=>12716,48384=>12717,48385=>12718,48386=>12719,48387=>12720,48390=>12721,48392=>12722,48394=>12723,48395=>12724,48396=>12725,48397=>12726,48398=>12727,48399=>12728,48401=>12729,48402=>12730,48403=>12731,48405=>12732,48406=>12733,48407=>12734,48408=>12735,48409=>12736,48410=>12737,48411=>12738,48412=>12739,48413=>12740,48414=>12741,48415=>12742,48416=>12743,48417=>12744,48418=>12745,48419=>12746,48421=>12747,48422=>12748,48423=>12749,48424=>12750,48425=>12751,48426=>12752,48427=>12753,48429=>12754,48430=>12755,48431=>12756,48432=>12757,48433=>12758,48434=>12759,48435=>12760,48436=>12761,48437=>12762,48438=>12763,48439=>12764,48440=>12765,48441=>12766,48442=>12767,48443=>12768,48444=>12769,48445=>12770,48446=>12771,48447=>12772,48449=>12773,48450=>12774,48451=>12775,48452=>12776,48453=>12777,48454=>12778,48455=>12779,48458=>12780,48459=>12781,48461=>12782,48462=>12783,48463=>12784,48465=>12785,48466=>12786,48467=>12787,48468=>12788,48469=>12789,48470=>12790,48471=>12791,48474=>12792,48475=>12793,48476=>12794,48477=>12795,48478=>12796,48479=>12797,48480=>12798,48481=>12799,48482=>12800,48483=>12801,48485=>12802,48486=>12803,48487=>12804,48489=>12805,48490=>12806,48491=>12807,48492=>12808,48493=>12809,48494=>12810,48495=>12811,48496=>12812,48497=>12813,48498=>12814,48499=>12815,48500=>12816,48501=>12817,48502=>12818,48503=>12819,48504=>12820,48505=>12821,48506=>12822,48507=>12823,48508=>12824,48509=>12825,48510=>12826,48511=>12827,48514=>12828,48515=>12829,48517=>12830,48518=>12831,48523=>12832,48524=>12833,48525=>12834,48526=>12835,48527=>12836,48530=>12837,48532=>12838,48534=>12839,48535=>12840,48536=>12841,48539=>12842,48541=>12843,48542=>12844,48543=>12845,48544=>12846,48545=>12847,48546=>12848,48547=>12849,48549=>12850,48550=>12851,48551=>12852,48552=>12853,48553=>12854,48554=>12855,48555=>12856,48556=>12857,48557=>12858,48558=>12859,48559=>12860,48561=>12861,48562=>12862,48563=>12863,48564=>12864,48565=>12865,48566=>12866,48567=>12867,48569=>12868,48570=>12869,48571=>12870,48572=>12871,48573=>12872,48574=>12873,48575=>12874,48576=>12875,48577=>12876,48578=>12877,48579=>12878,48580=>12879,48581=>12880,48582=>12881,48583=>12882,48584=>12883,48585=>12884,48586=>12885,48587=>12886,48588=>12887,48589=>12888,48590=>12889,48591=>12890,48592=>12891,48593=>12892,48594=>12893,48595=>12894,48598=>12895,48599=>12896,48601=>12897,48602=>12898,48603=>12899,48605=>12900,48606=>12901,48607=>12902,48608=>12903,48609=>12904,48610=>12905,48611=>12906,48612=>12907,48613=>12908,48614=>12909,48615=>12910,48616=>12911,48618=>12912,48619=>12913,48620=>12914,48621=>12915,48622=>12916,48623=>12917,48625=>12918,48626=>12919,48627=>12920,48629=>12921,48630=>12922,48631=>12923,48633=>12924,48634=>12925,48635=>12926,48636=>12927,48637=>12928,48638=>12929,48639=>12930,48641=>12931,48642=>12932,48644=>12933,48646=>12934,48647=>12935,48648=>12936,48649=>12937,48650=>12938,48651=>12939,48654=>12940,48655=>12941,48657=>12942,48658=>12943,48659=>12944,48661=>12945,48662=>12946,48663=>12947,48664=>12948,48665=>12949,48666=>12950,48667=>12951,48670=>12952,48672=>12953,48673=>12954,48674=>12955,48675=>12956,48676=>12957,48677=>12958,48678=>12959,48679=>12960,48680=>12961,48681=>12962,48682=>12963,48683=>12964,48684=>12965,48685=>12966,48686=>12967,48687=>12968,48688=>12969,48689=>12970,48690=>12971,48691=>12972,48692=>12973,48693=>12974,48694=>12975,48695=>12976,48696=>12977,48697=>12978,48698=>12979,48699=>12980,48700=>12981,48701=>12982,48702=>12983,48703=>12984,48704=>12985,48705=>12986,48706=>12987,48707=>12988,48710=>12989,48711=>12990,48713=>12991,48714=>12992,48715=>12993,48717=>12994,48719=>12995,48720=>12996,48721=>12997,48722=>12998,48723=>12999,48726=>13000,48728=>13001,48732=>13002,48733=>13003,48734=>13004,48735=>13005,48738=>13006,48739=>13007,48741=>13008,48742=>13009,48743=>13010,48745=>13011,48747=>13012,48748=>13013,48749=>13014,48750=>13015,48751=>13016,48754=>13017,48758=>13018,48759=>13019,48760=>13020,48761=>13021,48762=>13022,48766=>13023,48767=>13024,48769=>13025,48770=>13026,48771=>13027,48773=>13028,48774=>13029,48775=>13030,48776=>13031,48777=>13032,48778=>13033,48779=>13034,48782=>13035,48786=>13036,48787=>13037,48788=>13038,48789=>13039,48790=>13040,48791=>13041,48794=>13042,48795=>13043,48796=>13044,48797=>13045,48798=>13046,48799=>13047,48800=>13048,48801=>13049,48802=>13050,48803=>13051,48804=>13052,48805=>13053,48806=>13054,48807=>13055,48809=>13056,48810=>13057,48811=>13058,48812=>13059,48813=>13060,48814=>13061,48815=>13062,48816=>13063,48817=>13064,48818=>13065,48819=>13066,48820=>13067,48821=>13068,48822=>13069,48823=>13070,48824=>13071,48825=>13072,48826=>13073,48827=>13074,48828=>13075,48829=>13076,48830=>13077,48831=>13078,48832=>13079,48833=>13080,48834=>13081,48835=>13082,48836=>13083,48837=>13084,48838=>13085,48839=>13086,48840=>13087,48841=>13088,48842=>13089,48843=>13090,48844=>13091,48845=>13092,48846=>13093,48847=>13094,48850=>13095,48851=>13096,48853=>13097,48854=>13098,48857=>13099,48858=>13100,48859=>13101,48860=>13102,48861=>13103,48862=>13104,48863=>13105,48865=>13106,48866=>13107,48870=>13108,48871=>13109,48872=>13110,48873=>13111,48874=>13112,48875=>13113,48877=>13114,48878=>13115,48879=>13116,48880=>13117,48881=>13118,48882=>13119,48883=>13120,48884=>13121,48885=>13122,48886=>13123,48887=>13124,48888=>13125,48889=>13126,48890=>13127,48891=>13128,48892=>13129,48893=>13130,48894=>13131,48895=>13132,48896=>13133,48898=>13134,48899=>13135,48900=>13136,48901=>13137,48902=>13138,48903=>13139,48906=>13140,48907=>13141,48908=>13142,48909=>13143,48910=>13144,48911=>13145,48912=>13146,48913=>13147,48914=>13148,48915=>13149,48916=>13150,48917=>13151,48918=>13152,48919=>13153,48922=>13154,48926=>13155,48927=>13156,48928=>13157,48929=>13158,48930=>13159,48931=>13160,48932=>13161,48933=>13162,48934=>13163,48935=>13164,48936=>13165,48937=>13166,48938=>13167,48939=>13168,48940=>13169,48941=>13170,48942=>13171,48943=>13172,48944=>13173,48945=>13174,48946=>13175,48947=>13176,48948=>13177,48949=>13178,48950=>13179,48951=>13180,48952=>13181,48953=>13182,48954=>13183,48955=>13184,48956=>13185,48957=>13186,48958=>13187,48959=>13188,48962=>13189,48963=>13190,48965=>13191,48966=>13192,48967=>13193,48969=>13194,48970=>13195,48971=>13196,48972=>13197,48973=>13198,48974=>13199,48975=>13200,48978=>13201,48979=>13202,48980=>13203,48982=>13204,48983=>13205,48984=>13206,48985=>13207,48986=>13208,48987=>13209,48988=>13210,48989=>13211,48990=>13212,48991=>13213,48992=>13214,48993=>13215,48994=>13216,48995=>13217,48996=>13218,48997=>13219,48998=>13220,48999=>13221,49000=>13222,49001=>13223,49002=>13224,49003=>13225,49004=>13226,49005=>13227,49006=>13228,49007=>13229,49008=>13230,49009=>13231,49010=>13232,49011=>13233,49012=>13234,49013=>13235,49014=>13236,49015=>13237,49016=>13238,49017=>13239,49018=>13240,49019=>13241,49020=>13242,49021=>13243,49022=>13244,49023=>13245,49024=>13246,49025=>13247,49026=>13248,49027=>13249,49028=>13250,49029=>13251,49030=>13252,49031=>13253,49032=>13254,49033=>13255,49034=>13256,49035=>13257,49036=>13258,49037=>13259,49038=>13260,49039=>13261,49040=>13262,49041=>13263,49042=>13264,49043=>13265,49045=>13266,49046=>13267,49047=>13268,49048=>13269,49049=>13270,49050=>13271,49051=>13272,49052=>13273,49053=>13274,49054=>13275,49055=>13276,49056=>13277,49057=>13278,49058=>13279,49059=>13280,49060=>13281,49061=>13282,49062=>13283,49063=>13284,49064=>13285,49065=>13286,49066=>13287,49067=>13288,49068=>13289,49069=>13290,49070=>13291,49071=>13292,49073=>13293,49074=>13294,49075=>13295,49076=>13296,49077=>13297,49078=>13298,49079=>13299,49080=>13300,49081=>13301,49082=>13302,49083=>13303,49084=>13304,49085=>13305,49086=>13306,49087=>13307,49088=>13308,49089=>13309,49090=>13310,49091=>13311,49092=>13312,49094=>13313,49095=>13314,49096=>13315,49097=>13316,49098=>13317,49099=>13318,49102=>13319,49103=>13320,49105=>13321,49106=>13322,49107=>13323,49109=>13324,49110=>13325,49111=>13326,49112=>13327,49113=>13328,49114=>13329,49115=>13330,49117=>13331,49118=>13332,49120=>13333,49122=>13334,49123=>13335,49124=>13336,49125=>13337,49126=>13338,49127=>13339,49128=>13340,49129=>13341,49130=>13342,49131=>13343,49132=>13344,49133=>13345,49134=>13346,49135=>13347,49136=>13348,49137=>13349,49138=>13350,49139=>13351,49140=>13352,49141=>13353,49142=>13354,49143=>13355,49144=>13356,49145=>13357,49146=>13358,49147=>13359,49148=>13360,49149=>13361,49150=>13362,49151=>13363,49152=>13364,49153=>13365,49154=>13366,49155=>13367,49156=>13368,49157=>13369,49158=>13370,49159=>13371,49160=>13372,49161=>13373,49162=>13374,49163=>13375,49164=>13376,49165=>13377,49166=>13378,49167=>13379,49168=>13380,49169=>13381,49170=>13382,49171=>13383,49172=>13384,49173=>13385,49174=>13386,49175=>13387,49176=>13388,49177=>13389,49178=>13390,49179=>13391,49180=>13392,49181=>13393,49182=>13394,49183=>13395,49184=>13396,49185=>13397,49186=>13398,49187=>13399,49188=>13400,49189=>13401,49190=>13402,49191=>13403,49192=>13404,49193=>13405,49194=>13406,49195=>13407,49196=>13408,49197=>13409,49198=>13410,49199=>13411,49200=>13412,49201=>13413,49202=>13414,49203=>13415,49204=>13416,49205=>13417,49206=>13418,49207=>13419,49208=>13420,49209=>13421,49210=>13422,49211=>13423,49213=>13424,49214=>13425,49215=>13426,49216=>13427,49217=>13428,49218=>13429,49219=>13430,49220=>13431,49221=>13432,49222=>13433,49223=>13434,49224=>13435,49225=>13436,49226=>13437,49227=>13438,49228=>13439,49229=>13440,49230=>13441,49231=>13442,49232=>13443,49234=>13444,49235=>13445,49236=>13446,49237=>13447,49238=>13448,49239=>13449,49241=>13450,49242=>13451,49243=>13452,49245=>13453,49246=>13454,49247=>13455,49249=>13456,49250=>13457,49251=>13458,49252=>13459,49253=>13460,49254=>13461,49255=>13462,49258=>13463,49259=>13464,49260=>13465,49261=>13466,49262=>13467,49263=>13468,49264=>13469,49265=>13470,49266=>13471,49267=>13472,49268=>13473,49269=>13474,49270=>13475,49271=>13476,49272=>13477,49273=>13478,49274=>13479,49275=>13480,49276=>13481,49277=>13482,49278=>13483,49279=>13484,49280=>13485,49281=>13486,49282=>13487,49283=>13488,49284=>13489,49285=>13490,49286=>13491,49287=>13492,49288=>13493,49289=>13494,49290=>13495,49291=>13496,49292=>13497,49293=>13498,49294=>13499,49295=>13500,49298=>13501,49299=>13502,49301=>13503,49302=>13504,49303=>13505,49305=>13506,49306=>13507,49307=>13508,49308=>13509,49309=>13510,49310=>13511,49311=>13512,49314=>13513,49316=>13514,49318=>13515,49319=>13516,49320=>13517,49321=>13518,49322=>13519,49323=>13520,49326=>13521,49329=>13522,49330=>13523,49335=>13524,49336=>13525,49337=>13526,49338=>13527,49339=>13528,49342=>13529,49346=>13530,49347=>13531,49348=>13532,49350=>13533,49351=>13534,49354=>13535,49355=>13536,49357=>13537,49358=>13538,49359=>13539,49361=>13540,49362=>13541,49363=>13542,49364=>13543,49365=>13544,49366=>13545,49367=>13546,49370=>13547,49374=>13548,49375=>13549,49376=>13550,49377=>13551,49378=>13552,49379=>13553,49382=>13554,49383=>13555,49385=>13556,49386=>13557,49387=>13558,49389=>13559,49390=>13560,49391=>13561,49392=>13562,49393=>13563,49394=>13564,49395=>13565,49398=>13566,49400=>13567,49402=>13568,49403=>13569,49404=>13570,49405=>13571,49406=>13572,49407=>13573,49409=>13574,49410=>13575,49411=>13576,49413=>13577,49414=>13578,49415=>13579,49417=>13580,49418=>13581,49419=>13582,49420=>13583,49421=>13584,49422=>13585,49423=>13586,49425=>13587,49426=>13588,49427=>13589,49428=>13590,49430=>13591,49431=>13592,49432=>13593,49433=>13594,49434=>13595,49435=>13596,49441=>13597,49442=>13598,49445=>13599,49448=>13600,49449=>13601,49450=>13602,49451=>13603,49454=>13604,49458=>13605,49459=>13606,49460=>13607,49461=>13608,49463=>13609,49466=>13610,49467=>13611,49469=>13612,49470=>13613,49471=>13614,49473=>13615,49474=>13616,49475=>13617,49476=>13618,49477=>13619,49478=>13620,49479=>13621,49482=>13622,49486=>13623,49487=>13624,49488=>13625,49489=>13626,49490=>13627,49491=>13628,49494=>13629,49495=>13630,49497=>13631,49498=>13632,49499=>13633,49501=>13634,49502=>13635,49503=>13636,49504=>13637,49505=>13638,49506=>13639,49507=>13640,49510=>13641,49514=>13642,49515=>13643,49516=>13644,49517=>13645,49518=>13646,49519=>13647,49521=>13648,49522=>13649,49523=>13650,49525=>13651,49526=>13652,49527=>13653,49529=>13654,49530=>13655,49531=>13656,49532=>13657,49533=>13658,49534=>13659,49535=>13660,49536=>13661,49537=>13662,49538=>13663,49539=>13664,49540=>13665,49542=>13666,49543=>13667,49544=>13668,49545=>13669,49546=>13670,49547=>13671,49551=>13672,49553=>13673,49554=>13674,49555=>13675,49557=>13676,49559=>13677,49560=>13678,49561=>13679,49562=>13680,49563=>13681,49566=>13682,49568=>13683,49570=>13684,49571=>13685,49572=>13686,49574=>13687,49575=>13688,49578=>13689,49579=>13690,49581=>13691,49582=>13692,49583=>13693,49585=>13694,49586=>13695,49587=>13696,49588=>13697,49589=>13698,49590=>13699,49591=>13700,49592=>13701,49593=>13702,49594=>13703,49595=>13704,49596=>13705,49598=>13706,49599=>13707,49600=>13708,49601=>13709,49602=>13710,49603=>13711,49605=>13712,49606=>13713,49607=>13714,49609=>13715,49610=>13716,49611=>13717,49613=>13718,49614=>13719,49615=>13720,49616=>13721,49617=>13722,49618=>13723,49619=>13724,49621=>13725,49622=>13726,49625=>13727,49626=>13728,49627=>13729,49628=>13730,49629=>13731,49630=>13732,49631=>13733,49633=>13734,49634=>13735,49635=>13736,49637=>13737,49638=>13738,49639=>13739,49641=>13740,49642=>13741,49643=>13742,49644=>13743,49645=>13744,49646=>13745,49647=>13746,49650=>13747,49652=>13748,49653=>13749,49654=>13750,49655=>13751,49656=>13752,49657=>13753,49658=>13754,49659=>13755,49662=>13756,49663=>13757,49665=>13758,49666=>13759,49667=>13760,49669=>13761,49670=>13762,49671=>13763,49672=>13764,49673=>13765,49674=>13766,49675=>13767,49678=>13768,49680=>13769,49682=>13770,49683=>13771,49684=>13772,49685=>13773,49686=>13774,49687=>13775,49690=>13776,49691=>13777,49693=>13778,49694=>13779,49697=>13780,49698=>13781,49699=>13782,49700=>13783,49701=>13784,49702=>13785,49703=>13786,49706=>13787,49708=>13788,49710=>13789,49712=>13790,49715=>13791,49717=>13792,49718=>13793,49719=>13794,49720=>13795,49721=>13796,49722=>13797,49723=>13798,49724=>13799,49725=>13800,49726=>13801,49727=>13802,49728=>13803,49729=>13804,49730=>13805,49731=>13806,49732=>13807,49733=>13808,49734=>13809,49735=>13810,49737=>13811,49738=>13812,49739=>13813,49740=>13814,49741=>13815,49742=>13816,49743=>13817,49746=>13818,49747=>13819,49749=>13820,49750=>13821,49751=>13822,49753=>13823,49754=>13824,49755=>13825,49756=>13826,49757=>13827,49758=>13828,49759=>13829,49761=>13830,49762=>13831,49763=>13832,49764=>13833,49766=>13834,49767=>13835,49768=>13836,49769=>13837,49770=>13838,49771=>13839,49774=>13840,49775=>13841,49777=>13842,49778=>13843,49779=>13844,49781=>13845,49782=>13846,49783=>13847,49784=>13848,49785=>13849,49786=>13850,49787=>13851,49790=>13852,49792=>13853,49794=>13854,49795=>13855,49796=>13856,49797=>13857,49798=>13858,49799=>13859,49802=>13860,49803=>13861,49804=>13862,49805=>13863,49806=>13864,49807=>13865,49809=>13866,49810=>13867,49811=>13868,49812=>13869,49813=>13870,49814=>13871,49815=>13872,49817=>13873,49818=>13874,49820=>13875,49822=>13876,49823=>13877,49824=>13878,49825=>13879,49826=>13880,49827=>13881,49830=>13882,49831=>13883,49833=>13884,49834=>13885,49835=>13886,49838=>13887,49839=>13888,49840=>13889,49841=>13890,49842=>13891,49843=>13892,49846=>13893,49848=>13894,49850=>13895,49851=>13896,49852=>13897,49853=>13898,49854=>13899,49855=>13900,49856=>13901,49857=>13902,49858=>13903,49859=>13904,49860=>13905,49861=>13906,49862=>13907,49863=>13908,49864=>13909,49865=>13910,49866=>13911,49867=>13912,49868=>13913,49869=>13914,49870=>13915,49871=>13916,49872=>13917,49873=>13918,49874=>13919,49875=>13920,49876=>13921,49877=>13922,49878=>13923,49879=>13924,49880=>13925,49881=>13926,49882=>13927,49883=>13928,49886=>13929,49887=>13930,49889=>13931,49890=>13932,49893=>13933,49894=>13934,49895=>13935,49896=>13936,49897=>13937,49898=>13938,49902=>13939,49904=>13940,49906=>13941,49907=>13942,49908=>13943,49909=>13944,49911=>13945,49914=>13946,49917=>13947,49918=>13948,49919=>13949,49921=>13950,49922=>13951,49923=>13952,49924=>13953,49925=>13954,49926=>13955,49927=>13956,49930=>13957,49931=>13958,49934=>13959,49935=>13960,49936=>13961,49937=>13962,49938=>13963,49942=>13964,49943=>13965,49945=>13966,49946=>13967,49947=>13968,49949=>13969,49950=>13970,49951=>13971,49952=>13972,49953=>13973,49954=>13974,49955=>13975,49958=>13976,49959=>13977,49962=>13978,49963=>13979,49964=>13980,49965=>13981,49966=>13982,49967=>13983,49968=>13984,49969=>13985,49970=>13986,49971=>13987,49972=>13988,49973=>13989,49974=>13990,49975=>13991,49976=>13992,49977=>13993,49978=>13994,49979=>13995,49980=>13996,49981=>13997,49982=>13998,49983=>13999,49984=>14000,49985=>14001,49986=>14002,49987=>14003,49988=>14004,49990=>14005,49991=>14006,49992=>14007,49993=>14008,49994=>14009,49995=>14010,49996=>14011,49997=>14012,49998=>14013,49999=>14014,50000=>14015,50001=>14016,50002=>14017,50003=>14018,50004=>14019,50005=>14020,50006=>14021,50007=>14022,50008=>14023,50009=>14024,50010=>14025,50011=>14026,50012=>14027,50013=>14028,50014=>14029,50015=>14030,50016=>14031,50017=>14032,50018=>14033,50019=>14034,50020=>14035,50021=>14036,50022=>14037,50023=>14038,50026=>14039,50027=>14040,50029=>14041,50030=>14042,50031=>14043,50033=>14044,50035=>14045,50036=>14046,50037=>14047,50038=>14048,50039=>14049,50042=>14050,50043=>14051,50046=>14052,50047=>14053,50048=>14054,50049=>14055,50050=>14056,50051=>14057,50053=>14058,50054=>14059,50055=>14060,50057=>14061,50058=>14062,50059=>14063,50061=>14064,50062=>14065,50063=>14066,50064=>14067,50065=>14068,50066=>14069,50067=>14070,50068=>14071,50069=>14072,50070=>14073,50071=>14074,50072=>14075,50073=>14076,50074=>14077,50075=>14078,50076=>14079,50077=>14080,50078=>14081,50079=>14082,50080=>14083,50081=>14084,50082=>14085,50083=>14086,50084=>14087,50085=>14088,50086=>14089,50087=>14090,50088=>14091,50089=>14092,50090=>14093,50091=>14094,50092=>14095,50093=>14096,50094=>14097,50095=>14098,50096=>14099,50097=>14100,50098=>14101,50099=>14102,50100=>14103,50101=>14104,50102=>14105,50103=>14106,50104=>14107,50105=>14108,50106=>14109,50107=>14110,50108=>14111,50109=>14112,50110=>14113,50111=>14114,50113=>14115,50114=>14116,50115=>14117,50116=>14118,50117=>14119,50118=>14120,50119=>14121,50120=>14122,50121=>14123,50122=>14124,50123=>14125,50124=>14126,50125=>14127,50126=>14128,50127=>14129,50128=>14130,50129=>14131,50130=>14132,50131=>14133,50132=>14134,50133=>14135,50134=>14136,50135=>14137,50138=>14138,50139=>14139,50141=>14140,50142=>14141,50145=>14142,50147=>14143,50148=>14144,50149=>14145,50150=>14146,50151=>14147,50154=>14148,50155=>14149,50156=>14150,50158=>14151,50159=>14152,50160=>14153,50161=>14154,50162=>14155,50163=>14156,50166=>14157,50167=>14158,50169=>14159,50170=>14160,50171=>14161,50172=>14162,50173=>14163,50174=>14164,50175=>14165,50176=>14166,50177=>14167,50178=>14168,50179=>14169,50180=>14170,50181=>14171,50182=>14172,50183=>14173,50185=>14174,50186=>14175,50187=>14176,50188=>14177,50189=>14178,50190=>14179,50191=>14180,50193=>14181,50194=>14182,50195=>14183,50196=>14184,50197=>14185,50198=>14186,50199=>14187,50200=>14188,50201=>14189,50202=>14190,50203=>14191,50204=>14192,50205=>14193,50206=>14194,50207=>14195,50208=>14196,50209=>14197,50210=>14198,50211=>14199,50213=>14200,50214=>14201,50215=>14202,50216=>14203,50217=>14204,50218=>14205,50219=>14206,50221=>14207,50222=>14208,50223=>14209,50225=>14210,50226=>14211,50227=>14212,50229=>14213,50230=>14214,50231=>14215,50232=>14216,50233=>14217,50234=>14218,50235=>14219,50238=>14220,50239=>14221,50240=>14222,50241=>14223,50242=>14224,50243=>14225,50244=>14226,50245=>14227,50246=>14228,50247=>14229,50249=>14230,50250=>14231,50251=>14232,50252=>14233,50253=>14234,50254=>14235,50255=>14236,50256=>14237,50257=>14238,50258=>14239,50259=>14240,50260=>14241,50261=>14242,50262=>14243,50263=>14244,50264=>14245,50265=>14246,50266=>14247,50267=>14248,50268=>14249,50269=>14250,50270=>14251,50271=>14252,50272=>14253,50273=>14254,50274=>14255,50275=>14256,50278=>14257,50279=>14258,50281=>14259,50282=>14260,50283=>14261,50285=>14262,50286=>14263,50287=>14264,50288=>14265,50289=>14266,50290=>14267,50291=>14268,50294=>14269,50295=>14270,50296=>14271,50298=>14272,50299=>14273,50300=>14274,50301=>14275,50302=>14276,50303=>14277,50305=>14278,50306=>14279,50307=>14280,50308=>14281,50309=>14282,50310=>14283,50311=>14284,50312=>14285,50313=>14286,50314=>14287,50315=>14288,50316=>14289,50317=>14290,50318=>14291,50319=>14292,50320=>14293,50321=>14294,50322=>14295,50323=>14296,50325=>14297,50326=>14298,50327=>14299,50328=>14300,50329=>14301,50330=>14302,50331=>14303,50333=>14304,50334=>14305,50335=>14306,50336=>14307,50337=>14308,50338=>14309,50339=>14310,50340=>14311,50341=>14312,50342=>14313,50343=>14314,50344=>14315,50345=>14316,50346=>14317,50347=>14318,50348=>14319,50349=>14320,50350=>14321,50351=>14322,50352=>14323,50353=>14324,50354=>14325,50355=>14326,50356=>14327,50357=>14328,50358=>14329,50359=>14330,50361=>14331,50362=>14332,50363=>14333,50365=>14334,50366=>14335,50367=>14336,50368=>14337,50369=>14338,50370=>14339,50371=>14340,50372=>14341,50373=>14342,50374=>14343,50375=>14344,50376=>14345,50377=>14346,50378=>14347,50379=>14348,50380=>14349,50381=>14350,50382=>14351,50383=>14352,50384=>14353,50385=>14354,50386=>14355,50387=>14356,50388=>14357,50389=>14358,50390=>14359,50391=>14360,50392=>14361,50393=>14362,50394=>14363,50395=>14364,50396=>14365,50397=>14366,50398=>14367,50399=>14368,50400=>14369,50401=>14370,50402=>14371,50403=>14372,50404=>14373,50405=>14374,50406=>14375,50407=>14376,50408=>14377,50410=>14378,50411=>14379,50412=>14380,50413=>14381,50414=>14382,50415=>14383,50418=>14384,50419=>14385,50421=>14386,50422=>14387,50423=>14388,50425=>14389,50427=>14390,50428=>14391,50429=>14392,50430=>14393,50434=>14394,50435=>14395,50436=>14396,50437=>14397,50438=>14398,50439=>14399,50440=>14400,50441=>14401,50442=>14402,50443=>14403,50445=>14404,50446=>14405,50447=>14406,50449=>14407,50450=>14408,50451=>14409,50453=>14410,50454=>14411,50455=>14412,50456=>14413,50457=>14414,50458=>14415,50459=>14416,50461=>14417,50462=>14418,50463=>14419,50464=>14420,50465=>14421,50466=>14422,50467=>14423,50468=>14424,50469=>14425,50470=>14426,50471=>14427,50474=>14428,50475=>14429,50477=>14430,50478=>14431,50479=>14432,50481=>14433,50482=>14434,50483=>14435,50484=>14436,50485=>14437,50486=>14438,50487=>14439,50490=>14440,50492=>14441,50494=>14442,50495=>14443,50496=>14444,50497=>14445,50498=>14446,50499=>14447,50502=>14448,50503=>14449,50507=>14450,50511=>14451,50512=>14452,50513=>14453,50514=>14454,50518=>14455,50522=>14456,50523=>14457,50524=>14458,50527=>14459,50530=>14460,50531=>14461,50533=>14462,50534=>14463,50535=>14464,50537=>14465,50538=>14466,50539=>14467,50540=>14468,50541=>14469,50542=>14470,50543=>14471,50546=>14472,50550=>14473,50551=>14474,50552=>14475,50553=>14476,50554=>14477,50555=>14478,50558=>14479,50559=>14480,50561=>14481,50562=>14482,50563=>14483,50565=>14484,50566=>14485,50568=>14486,50569=>14487,50570=>14488,50571=>14489,50574=>14490,50576=>14491,50578=>14492,50579=>14493,50580=>14494,50582=>14495,50585=>14496,50586=>14497,50587=>14498,50589=>14499,50590=>14500,50591=>14501,50593=>14502,50594=>14503,50595=>14504,50596=>14505,50597=>14506,50598=>14507,50599=>14508,50600=>14509,50602=>14510,50603=>14511,50604=>14512,50605=>14513,50606=>14514,50607=>14515,50608=>14516,50609=>14517,50610=>14518,50611=>14519,50614=>14520,50615=>14521,50618=>14522,50623=>14523,50624=>14524,50625=>14525,50626=>14526,50627=>14527,50635=>14528,50637=>14529,50639=>14530,50642=>14531,50643=>14532,50645=>14533,50646=>14534,50647=>14535,50649=>14536,50650=>14537,50651=>14538,50652=>14539,50653=>14540,50654=>14541,50655=>14542,50658=>14543,50660=>14544,50662=>14545,50663=>14546,50664=>14547,50665=>14548,50666=>14549,50667=>14550,50671=>14551,50673=>14552,50674=>14553,50675=>14554,50677=>14555,50680=>14556,50681=>14557,50682=>14558,50683=>14559,50690=>14560,50691=>14561,50692=>14562,50697=>14563,50698=>14564,50699=>14565,50701=>14566,50702=>14567,50703=>14568,50705=>14569,50706=>14570,50707=>14571,50708=>14572,50709=>14573,50710=>14574,50711=>14575,50714=>14576,50717=>14577,50718=>14578,50719=>14579,50720=>14580,50721=>14581,50722=>14582,50723=>14583,50726=>14584,50727=>14585,50729=>14586,50730=>14587,50731=>14588,50735=>14589,50737=>14590,50738=>14591,50742=>14592,50744=>14593,50746=>14594,50748=>14595,50749=>14596,50750=>14597,50751=>14598,50754=>14599,50755=>14600,50757=>14601,50758=>14602,50759=>14603,50761=>14604,50762=>14605,50763=>14606,50764=>14607,50765=>14608,50766=>14609,50767=>14610,50770=>14611,50774=>14612,50775=>14613,50776=>14614,50777=>14615,50778=>14616,50779=>14617,50782=>14618,50783=>14619,50785=>14620,50786=>14621,50787=>14622,50788=>14623,50789=>14624,50790=>14625,50791=>14626,50792=>14627,50793=>14628,50794=>14629,50795=>14630,50797=>14631,50798=>14632,50800=>14633,50802=>14634,50803=>14635,50804=>14636,50805=>14637,50806=>14638,50807=>14639,50810=>14640,50811=>14641,50813=>14642,50814=>14643,50815=>14644,50817=>14645,50818=>14646,50819=>14647,50820=>14648,50821=>14649,50822=>14650,50823=>14651,50826=>14652,50828=>14653,50830=>14654,50831=>14655,50832=>14656,50833=>14657,50834=>14658,50835=>14659,50838=>14660,50839=>14661,50841=>14662,50842=>14663,50843=>14664,50845=>14665,50846=>14666,50847=>14667,50848=>14668,50849=>14669,50850=>14670,50851=>14671,50854=>14672,50856=>14673,50858=>14674,50859=>14675,50860=>14676,50861=>14677,50862=>14678,50863=>14679,50866=>14680,50867=>14681,50869=>14682,50870=>14683,50871=>14684,50875=>14685,50876=>14686,50877=>14687,50878=>14688,50879=>14689,50882=>14690,50884=>14691,50886=>14692,50887=>14693,50888=>14694,50889=>14695,50890=>14696,50891=>14697,50894=>14698,50895=>14699,50897=>14700,50898=>14701,50899=>14702,50901=>14703,50902=>14704,50903=>14705,50904=>14706,50905=>14707,50906=>14708,50907=>14709,50910=>14710,50911=>14711,50914=>14712,50915=>14713,50916=>14714,50917=>14715,50918=>14716,50919=>14717,50922=>14718,50923=>14719,50925=>14720,50926=>14721,50927=>14722,50929=>14723,50930=>14724,50931=>14725,50932=>14726,50933=>14727,50934=>14728,50935=>14729,50938=>14730,50939=>14731,50940=>14732,50942=>14733,50943=>14734,50944=>14735,50945=>14736,50946=>14737,50947=>14738,50950=>14739,50951=>14740,50953=>14741,50954=>14742,50955=>14743,50957=>14744,50958=>14745,50959=>14746,50960=>14747,50961=>14748,50962=>14749,50963=>14750,50966=>14751,50968=>14752,50970=>14753,50971=>14754,50972=>14755,50973=>14756,50974=>14757,50975=>14758,50978=>14759,50979=>14760,50981=>14761,50982=>14762,50983=>14763,50985=>14764,50986=>14765,50987=>14766,50988=>14767,50989=>14768,50990=>14769,50991=>14770,50994=>14771,50996=>14772,50998=>14773,51000=>14774,51001=>14775,51002=>14776,51003=>14777,51006=>14778,51007=>14779,51009=>14780,51010=>14781,51011=>14782,51013=>14783,51014=>14784,51015=>14785,51016=>14786,51017=>14787,51019=>14788,51022=>14789,51024=>14790,51033=>14791,51034=>14792,51035=>14793,51037=>14794,51038=>14795,51039=>14796,51041=>14797,51042=>14798,51043=>14799,51044=>14800,51045=>14801,51046=>14802,51047=>14803,51049=>14804,51050=>14805,51052=>14806,51053=>14807,51054=>14808,51055=>14809,51056=>14810,51057=>14811,51058=>14812,51059=>14813,51062=>14814,51063=>14815,51065=>14816,51066=>14817,51067=>14818,51071=>14819,51072=>14820,51073=>14821,51074=>14822,51078=>14823,51083=>14824,51084=>14825,51085=>14826,51087=>14827,51090=>14828,51091=>14829,51093=>14830,51097=>14831,51099=>14832,51100=>14833,51101=>14834,51102=>14835,51103=>14836,51106=>14837,51111=>14838,51112=>14839,51113=>14840,51114=>14841,51115=>14842,51118=>14843,51119=>14844,51121=>14845,51122=>14846,51123=>14847,51125=>14848,51126=>14849,51127=>14850,51128=>14851,51129=>14852,51130=>14853,51131=>14854,51134=>14855,51138=>14856,51139=>14857,51140=>14858,51141=>14859,51142=>14860,51143=>14861,51146=>14862,51147=>14863,51149=>14864,51151=>14865,51153=>14866,51154=>14867,51155=>14868,51156=>14869,51157=>14870,51158=>14871,51159=>14872,51161=>14873,51162=>14874,51163=>14875,51164=>14876,51166=>14877,51167=>14878,51168=>14879,51169=>14880,51170=>14881,51171=>14882,51173=>14883,51174=>14884,51175=>14885,51177=>14886,51178=>14887,51179=>14888,51181=>14889,51182=>14890,51183=>14891,51184=>14892,51185=>14893,51186=>14894,51187=>14895,51188=>14896,51189=>14897,51190=>14898,51191=>14899,51192=>14900,51193=>14901,51194=>14902,51195=>14903,51196=>14904,51197=>14905,51198=>14906,51199=>14907,51202=>14908,51203=>14909,51205=>14910,51206=>14911,51207=>14912,51209=>14913,51211=>14914,51212=>14915,51213=>14916,51214=>14917,51215=>14918,51218=>14919,51220=>14920,51223=>14921,51224=>14922,51225=>14923,51226=>14924,51227=>14925,51230=>14926,51231=>14927,51233=>14928,51234=>14929,51235=>14930,51237=>14931,51238=>14932,51239=>14933,51240=>14934,51241=>14935,51242=>14936,51243=>14937,51246=>14938,51248=>14939,51250=>14940,51251=>14941,51252=>14942,51253=>14943,51254=>14944,51255=>14945,51257=>14946,51258=>14947,51259=>14948,51261=>14949,51262=>14950,51263=>14951,51265=>14952,51266=>14953,51267=>14954,51268=>14955,51269=>14956,51270=>14957,51271=>14958,51274=>14959,51275=>14960,51278=>14961,51279=>14962,51280=>14963,51281=>14964,51282=>14965,51283=>14966,51285=>14967,51286=>14968,51287=>14969,51288=>14970,51289=>14971,51290=>14972,51291=>14973,51292=>14974,51293=>14975,51294=>14976,51295=>14977,51296=>14978,51297=>14979,51298=>14980,51299=>14981,51300=>14982,51301=>14983,51302=>14984,51303=>14985,51304=>14986,51305=>14987,51306=>14988,51307=>14989,51308=>14990,51309=>14991,51310=>14992,51311=>14993,51314=>14994,51315=>14995,51317=>14996,51318=>14997,51319=>14998,51321=>14999,51323=>15000,51324=>15001,51325=>15002,51326=>15003,51327=>15004,51330=>15005,51332=>15006,51336=>15007,51337=>15008,51338=>15009,51342=>15010,51343=>15011,51344=>15012,51345=>15013,51346=>15014,51347=>15015,51349=>15016,51350=>15017,51351=>15018,51352=>15019,51353=>15020,51354=>15021,51355=>15022,51356=>15023,51358=>15024,51360=>15025,51362=>15026,51363=>15027,51364=>15028,51365=>15029,51366=>15030,51367=>15031,51369=>15032,51370=>15033,51371=>15034,51372=>15035,51373=>15036,51374=>15037,51375=>15038,51376=>15039,51377=>15040,51378=>15041,51379=>15042,51380=>15043,51381=>15044,51382=>15045,51383=>15046,51384=>15047,51385=>15048,51386=>15049,51387=>15050,51390=>15051,51391=>15052,51392=>15053,51393=>15054,51394=>15055,51395=>15056,51397=>15057,51398=>15058,51399=>15059,51401=>15060,51402=>15061,51403=>15062,51405=>15063,51406=>15064,51407=>15065,51408=>15066,51409=>15067,51410=>15068,51411=>15069,51414=>15070,51416=>15071,51418=>15072,51419=>15073,51420=>15074,51421=>15075,51422=>15076,51423=>15077,51426=>15078,51427=>15079,51429=>15080,51430=>15081,51431=>15082,51432=>15083,51433=>15084,51434=>15085,51435=>15086,51436=>15087,51437=>15088,51438=>15089,51439=>15090,51440=>15091,51441=>15092,51442=>15093,51443=>15094,51444=>15095,51446=>15096,51447=>15097,51448=>15098,51449=>15099,51450=>15100,51451=>15101,51454=>15102,51455=>15103,51457=>15104,51458=>15105,51459=>15106,51463=>15107,51464=>15108,51465=>15109,51466=>15110,51467=>15111,51470=>15112,51472=>15113,51474=>15114,51475=>15115,51476=>15116,51477=>15117,51478=>15118,51479=>15119,51481=>15120,51482=>15121,51483=>15122,51484=>15123,51485=>15124,51486=>15125,51487=>15126,51488=>15127,51489=>15128,51490=>15129,51491=>15130,51492=>15131,51493=>15132,51494=>15133,51495=>15134,51496=>15135,51497=>15136,51498=>15137,51499=>15138,51501=>15139,51502=>15140,51503=>15141,51504=>15142,51505=>15143,51506=>15144,51507=>15145,51509=>15146,51510=>15147,51511=>15148,51512=>15149,51513=>15150,51514=>15151,51515=>15152,51516=>15153,51517=>15154,51518=>15155,51519=>15156,51520=>15157,51521=>15158,51522=>15159,51523=>15160,51524=>15161,51525=>15162,51526=>15163,51527=>15164,51528=>15165,51529=>15166,51530=>15167,51531=>15168,51532=>15169,51533=>15170,51534=>15171,51535=>15172,51538=>15173,51539=>15174,51541=>15175,51542=>15176,51543=>15177,51545=>15178,51546=>15179,51547=>15180,51548=>15181,51549=>15182,51550=>15183,51551=>15184,51554=>15185,51556=>15186,51557=>15187,51558=>15188,51559=>15189,51560=>15190,51561=>15191,51562=>15192,51563=>15193,51565=>15194,51566=>15195,51567=>15196,51569=>15197,51570=>15198,51571=>15199,51573=>15200,51574=>15201,51575=>15202,51576=>15203,51577=>15204,51578=>15205,51579=>15206,51581=>15207,51582=>15208,51583=>15209,51584=>15210,51585=>15211,51586=>15212,51587=>15213,51588=>15214,51589=>15215,51590=>15216,51591=>15217,51594=>15218,51595=>15219,51597=>15220,51598=>15221,51599=>15222,51601=>15223,51602=>15224,51603=>15225,51604=>15226,51605=>15227,51606=>15228,51607=>15229,51610=>15230,51612=>15231,51614=>15232,51615=>15233,51616=>15234,51617=>15235,51618=>15236,51619=>15237,51620=>15238,51621=>15239,51622=>15240,51623=>15241,51624=>15242,51625=>15243,51626=>15244,51627=>15245,51628=>15246,51629=>15247,51630=>15248,51631=>15249,51632=>15250,51633=>15251,51634=>15252,51635=>15253,51636=>15254,51637=>15255,51638=>15256,51639=>15257,51640=>15258,51641=>15259,51642=>15260,51643=>15261,51644=>15262,51645=>15263,51646=>15264,51647=>15265,51650=>15266,51651=>15267,51653=>15268,51654=>15269,51657=>15270,51659=>15271,51660=>15272,51661=>15273,51662=>15274,51663=>15275,51666=>15276,51668=>15277,51671=>15278,51672=>15279,51675=>15280,51678=>15281,51679=>15282,51681=>15283,51683=>15284,51685=>15285,51686=>15286,51688=>15287,51689=>15288,51690=>15289,51691=>15290,51694=>15291,51698=>15292,51699=>15293,51700=>15294,51701=>15295,51702=>15296,51703=>15297,51706=>15298,51707=>15299,51709=>15300,51710=>15301,51711=>15302,51713=>15303,51714=>15304,51715=>15305,51716=>15306,51717=>15307,51718=>15308,51719=>15309,51722=>15310,51726=>15311,51727=>15312,51728=>15313,51729=>15314,51730=>15315,51731=>15316,51733=>15317,51734=>15318,51735=>15319,51737=>15320,51738=>15321,51739=>15322,51740=>15323,51741=>15324,51742=>15325,51743=>15326,51744=>15327,51745=>15328,51746=>15329,51747=>15330,51748=>15331,51749=>15332,51750=>15333,51751=>15334,51752=>15335,51754=>15336,51755=>15337,51756=>15338,51757=>15339,51758=>15340,51759=>15341,51760=>15342,51761=>15343,51762=>15344,51763=>15345,51764=>15346,51765=>15347,51766=>15348,51767=>15349,51768=>15350,51769=>15351,51770=>15352,51771=>15353,51772=>15354,51773=>15355,51774=>15356,51775=>15357,51776=>15358,51777=>15359,51778=>15360,51779=>15361,51780=>15362,51781=>15363,51782=>15364,51783=>15365,51784=>15366,51785=>15367,51786=>15368,51787=>15369,51790=>15370,51791=>15371,51793=>15372,51794=>15373,51795=>15374,51797=>15375,51798=>15376,51799=>15377,51800=>15378,51801=>15379,51802=>15380,51803=>15381,51806=>15382,51810=>15383,51811=>15384,51812=>15385,51813=>15386,51814=>15387,51815=>15388,51817=>15389,51818=>15390,51819=>15391,51820=>15392,51821=>15393,51822=>15394,51823=>15395,51824=>15396,51825=>15397,51826=>15398,51827=>15399,51828=>15400,51829=>15401,51830=>15402,51831=>15403,51832=>15404,51833=>15405,51834=>15406,51835=>15407,51836=>15408,51838=>15409,51839=>15410,51840=>15411,51841=>15412,51842=>15413,51843=>15414,51845=>15415,51846=>15416,51847=>15417,51848=>15418,51849=>15419,51850=>15420,51851=>15421,51852=>15422,51853=>15423,51854=>15424,51855=>15425,51856=>15426,51857=>15427,51858=>15428,51859=>15429,51860=>15430,51861=>15431,51862=>15432,51863=>15433,51865=>15434,51866=>15435,51867=>15436,51868=>15437,51869=>15438,51870=>15439,51871=>15440,51872=>15441,51873=>15442,51874=>15443,51875=>15444,51876=>15445,51877=>15446,51878=>15447,51879=>15448,51880=>15449,51881=>15450,51882=>15451,51883=>15452,51884=>15453,51885=>15454,51886=>15455,51887=>15456,51888=>15457,51889=>15458,51890=>15459,51891=>15460,51892=>15461,51893=>15462,51894=>15463,51895=>15464,51896=>15465,51897=>15466,51898=>15467,51899=>15468,51902=>15469,51903=>15470,51905=>15471,51906=>15472,51907=>15473,51909=>15474,51910=>15475,51911=>15476,51912=>15477,51913=>15478,51914=>15479,51915=>15480,51918=>15481,51920=>15482,51922=>15483,51924=>15484,51925=>15485,51926=>15486,51927=>15487,51930=>15488,51931=>15489,51932=>15490,51933=>15491,51934=>15492,51935=>15493,51937=>15494,51938=>15495,51939=>15496,51940=>15497,51941=>15498,51942=>15499,51943=>15500,51944=>15501,51945=>15502,51946=>15503,51947=>15504,51949=>15505,51950=>15506,51951=>15507,51952=>15508,51953=>15509,51954=>15510,51955=>15511,51957=>15512,51958=>15513,51959=>15514,51960=>15515,51961=>15516,51962=>15517,51963=>15518,51964=>15519,51965=>15520,51966=>15521,51967=>15522,51968=>15523,51969=>15524,51970=>15525,51971=>15526,51972=>15527,51973=>15528,51974=>15529,51975=>15530,51977=>15531,51978=>15532,51979=>15533,51980=>15534,51981=>15535,51982=>15536,51983=>15537,51985=>15538,51986=>15539,51987=>15540,51989=>15541,51990=>15542,51991=>15543,51993=>15544,51994=>15545,51995=>15546,51996=>15547,51997=>15548,51998=>15549,51999=>15550,52002=>15551,52003=>15552,52004=>15553,52005=>15554,52006=>15555,52007=>15556,52008=>15557,52009=>15558,52010=>15559,52011=>15560,52012=>15561,52013=>15562,52014=>15563,52015=>15564,52016=>15565,52017=>15566,52018=>15567,52019=>15568,52020=>15569,52021=>15570,52022=>15571,52023=>15572,52024=>15573,52025=>15574,52026=>15575,52027=>15576,52028=>15577,52029=>15578,52030=>15579,52031=>15580,52032=>15581,52034=>15582,52035=>15583,52036=>15584,52037=>15585,52038=>15586,52039=>15587,52042=>15588,52043=>15589,52045=>15590,52046=>15591,52047=>15592,52049=>15593,52050=>15594,52051=>15595,52052=>15596,52053=>15597,52054=>15598,52055=>15599,52058=>15600,52059=>15601,52060=>15602,52062=>15603,52063=>15604,52064=>15605,52065=>15606,52066=>15607,52067=>15608,52069=>15609,52070=>15610,52071=>15611,52072=>15612,52073=>15613,52074=>15614,52075=>15615,52076=>15616,52077=>15617,52078=>15618,52079=>15619,52080=>15620,52081=>15621,52082=>15622,52083=>15623,52084=>15624,52085=>15625,52086=>15626,52087=>15627,52090=>15628,52091=>15629,52092=>15630,52093=>15631,52094=>15632,52095=>15633,52096=>15634,52097=>15635,52098=>15636,52099=>15637,52100=>15638,52101=>15639,52102=>15640,52103=>15641,52104=>15642,52105=>15643,52106=>15644,52107=>15645,52108=>15646,52109=>15647,52110=>15648,52111=>15649,52112=>15650,52113=>15651,52114=>15652,52115=>15653,52116=>15654,52117=>15655,52118=>15656,52119=>15657,52120=>15658,52121=>15659,52122=>15660,52123=>15661,52125=>15662,52126=>15663,52127=>15664,52128=>15665,52129=>15666,52130=>15667,52131=>15668,52132=>15669,52133=>15670,52134=>15671,52135=>15672,52136=>15673,52137=>15674,52138=>15675,52139=>15676,52140=>15677,52141=>15678,52142=>15679,52143=>15680,52144=>15681,52145=>15682,52146=>15683,52147=>15684,52148=>15685,52149=>15686,52150=>15687,52151=>15688,52153=>15689,52154=>15690,52155=>15691,52156=>15692,52157=>15693,52158=>15694,52159=>15695,52160=>15696,52161=>15697,52162=>15698,52163=>15699,52164=>15700,52165=>15701,52166=>15702,52167=>15703,52168=>15704,52169=>15705,52170=>15706,52171=>15707,52172=>15708,52173=>15709,52174=>15710,52175=>15711,52176=>15712,52177=>15713,52178=>15714,52179=>15715,52181=>15716,52182=>15717,52183=>15718,52184=>15719,52185=>15720,52186=>15721,52187=>15722,52188=>15723,52189=>15724,52190=>15725,52191=>15726,52192=>15727,52193=>15728,52194=>15729,52195=>15730,52197=>15731,52198=>15732,52200=>15733,52202=>15734,52203=>15735,52204=>15736,52205=>15737,52206=>15738,52207=>15739,52208=>15740,52209=>15741,52210=>15742,52211=>15743,52212=>15744,52213=>15745,52214=>15746,52215=>15747,52216=>15748,52217=>15749,52218=>15750,52219=>15751,52220=>15752,52221=>15753,52222=>15754,52223=>15755,52224=>15756,52225=>15757,52226=>15758,52227=>15759,52228=>15760,52229=>15761,52230=>15762,52231=>15763,52232=>15764,52233=>15765,52234=>15766,52235=>15767,52238=>15768,52239=>15769,52241=>15770,52242=>15771,52243=>15772,52245=>15773,52246=>15774,52247=>15775,52248=>15776,52249=>15777,52250=>15778,52251=>15779,52254=>15780,52255=>15781,52256=>15782,52259=>15783,52260=>15784,52261=>15785,52262=>15786,52266=>15787,52267=>15788,52269=>15789,52271=>15790,52273=>15791,52274=>15792,52275=>15793,52276=>15794,52277=>15795,52278=>15796,52279=>15797,52282=>15798,52287=>15799,52288=>15800,52289=>15801,52290=>15802,52291=>15803,52294=>15804,52295=>15805,52297=>15806,52298=>15807,52299=>15808,52301=>15809,52302=>15810,52303=>15811,52304=>15812,52305=>15813,52306=>15814,52307=>15815,52310=>15816,52314=>15817,52315=>15818,52316=>15819,52317=>15820,52318=>15821,52319=>15822,52321=>15823,52322=>15824,52323=>15825,52325=>15826,52327=>15827,52329=>15828,52330=>15829,52331=>15830,52332=>15831,52333=>15832,52334=>15833,52335=>15834,52337=>15835,52338=>15836,52339=>15837,52340=>15838,52342=>15839,52343=>15840,52344=>15841,52345=>15842,52346=>15843,52347=>15844,52348=>15845,52349=>15846,52350=>15847,52351=>15848,52352=>15849,52353=>15850,52354=>15851,52355=>15852,52356=>15853,52357=>15854,52358=>15855,52359=>15856,52360=>15857,52361=>15858,52362=>15859,52363=>15860,52364=>15861,52365=>15862,52366=>15863,52367=>15864,52368=>15865,52369=>15866,52370=>15867,52371=>15868,52372=>15869,52373=>15870,52374=>15871,52375=>15872,52378=>15873,52379=>15874,52381=>15875,52382=>15876,52383=>15877,52385=>15878,52386=>15879,52387=>15880,52388=>15881,52389=>15882,52390=>15883,52391=>15884,52394=>15885,52398=>15886,52399=>15887,52400=>15888,52401=>15889,52402=>15890,52403=>15891,52406=>15892,52407=>15893,52409=>15894,52410=>15895,52411=>15896,52413=>15897,52414=>15898,52415=>15899,52416=>15900,52417=>15901,52418=>15902,52419=>15903,52422=>15904,52424=>15905,52426=>15906,52427=>15907,52428=>15908,52429=>15909,52430=>15910,52431=>15911,52433=>15912,52434=>15913,52435=>15914,52437=>15915,52438=>15916,52439=>15917,52440=>15918,52441=>15919,52442=>15920,52443=>15921,52444=>15922,52445=>15923,52446=>15924,52447=>15925,52448=>15926,52449=>15927,52450=>15928,52451=>15929,52453=>15930,52454=>15931,52455=>15932,52456=>15933,52457=>15934,52458=>15935,52459=>15936,52461=>15937,52462=>15938,52463=>15939,52465=>15940,52466=>15941,52467=>15942,52468=>15943,52469=>15944,52470=>15945,52471=>15946,52472=>15947,52473=>15948,52474=>15949,52475=>15950,52476=>15951,52477=>15952,52478=>15953,52479=>15954,52480=>15955,52482=>15956,52483=>15957,52484=>15958,52485=>15959,52486=>15960,52487=>15961,52490=>15962,52491=>15963,52493=>15964,52494=>15965,52495=>15966,52497=>15967,52498=>15968,52499=>15969,52500=>15970,52501=>15971,52502=>15972,52503=>15973,52506=>15974,52508=>15975,52510=>15976,52511=>15977,52512=>15978,52513=>15979,52514=>15980,52515=>15981,52517=>15982,52518=>15983,52519=>15984,52521=>15985,52522=>15986,52523=>15987,52525=>15988,52526=>15989,52527=>15990,52528=>15991,52529=>15992,52530=>15993,52531=>15994,52532=>15995,52533=>15996,52534=>15997,52535=>15998,52536=>15999,52538=>16000,52539=>16001,52540=>16002,52541=>16003,52542=>16004,52543=>16005,52544=>16006,52545=>16007,52546=>16008,52547=>16009,52548=>16010,52549=>16011,52550=>16012,52551=>16013,52552=>16014,52553=>16015,52554=>16016,52555=>16017,52556=>16018,52557=>16019,52558=>16020,52559=>16021,52560=>16022,52561=>16023,52562=>16024,52563=>16025,52564=>16026,52565=>16027,52566=>16028,52567=>16029,52568=>16030,52569=>16031,52570=>16032,52571=>16033,52573=>16034,52574=>16035,52575=>16036,52577=>16037,52578=>16038,52579=>16039,52581=>16040,52582=>16041,52583=>16042,52584=>16043,52585=>16044,52586=>16045,52587=>16046,52590=>16047,52592=>16048,52594=>16049,52595=>16050,52596=>16051,52597=>16052,52598=>16053,52599=>16054,52601=>16055,52602=>16056,52603=>16057,52604=>16058,52605=>16059,52606=>16060,52607=>16061,52608=>16062,52609=>16063,52610=>16064,52611=>16065,52612=>16066,52613=>16067,52614=>16068,52615=>16069,52617=>16070,52618=>16071,52619=>16072,52620=>16073,52621=>16074,52622=>16075,52623=>16076,52624=>16077,52625=>16078,52626=>16079,52627=>16080,52630=>16081,52631=>16082,52633=>16083,52634=>16084,52635=>16085,52637=>16086,52638=>16087,52639=>16088,52640=>16089,52641=>16090,52642=>16091,52643=>16092,52646=>16093,52648=>16094,52650=>16095,52651=>16096,52652=>16097,52653=>16098,52654=>16099,52655=>16100,52657=>16101,52658=>16102,52659=>16103,52660=>16104,52661=>16105,52662=>16106,52663=>16107,52664=>16108,52665=>16109,52666=>16110,52667=>16111,52668=>16112,52669=>16113,52670=>16114,52671=>16115,52672=>16116,52673=>16117,52674=>16118,52675=>16119,52677=>16120,52678=>16121,52679=>16122,52680=>16123,52681=>16124,52682=>16125,52683=>16126,52685=>16127,52686=>16128,52687=>16129,52689=>16130,52690=>16131,52691=>16132,52692=>16133,52693=>16134,52694=>16135,52695=>16136,52696=>16137,52697=>16138,52698=>16139,52699=>16140,52700=>16141,52701=>16142,52702=>16143,52703=>16144,52704=>16145,52705=>16146,52706=>16147,52707=>16148,52708=>16149,52709=>16150,52710=>16151,52711=>16152,52713=>16153,52714=>16154,52715=>16155,52717=>16156,52718=>16157,52719=>16158,52721=>16159,52722=>16160,52723=>16161,52724=>16162,52725=>16163,52726=>16164,52727=>16165,52730=>16166,52732=>16167,52734=>16168,52735=>16169,52736=>16170,52737=>16171,52738=>16172,52739=>16173,52741=>16174,52742=>16175,52743=>16176,52745=>16177,52746=>16178,52747=>16179,52749=>16180,52750=>16181,52751=>16182,52752=>16183,52753=>16184,52754=>16185,52755=>16186,52757=>16187,52758=>16188,52759=>16189,52760=>16190,52762=>16191,52763=>16192,52764=>16193,52765=>16194,52766=>16195,52767=>16196,52770=>16197,52771=>16198,52773=>16199,52774=>16200,52775=>16201,52777=>16202,52778=>16203,52779=>16204,52780=>16205,52781=>16206,52782=>16207,52783=>16208,52786=>16209,52788=>16210,52790=>16211,52791=>16212,52792=>16213,52793=>16214,52794=>16215,52795=>16216,52796=>16217,52797=>16218,52798=>16219,52799=>16220,52800=>16221,52801=>16222,52802=>16223,52803=>16224,52804=>16225,52805=>16226,52806=>16227,52807=>16228,52808=>16229,52809=>16230,52810=>16231,52811=>16232,52812=>16233,52813=>16234,52814=>16235,52815=>16236,52816=>16237,52817=>16238,52818=>16239,52819=>16240,52820=>16241,52821=>16242,52822=>16243,52823=>16244,52826=>16245,52827=>16246,52829=>16247,52830=>16248,52834=>16249,52835=>16250,52836=>16251,52837=>16252,52838=>16253,52839=>16254,52842=>16255,52844=>16256,52846=>16257,52847=>16258,52848=>16259,52849=>16260,52850=>16261,52851=>16262,52854=>16263,52855=>16264,52857=>16265,52858=>16266,52859=>16267,52861=>16268,52862=>16269,52863=>16270,52864=>16271,52865=>16272,52866=>16273,52867=>16274,52870=>16275,52872=>16276,52874=>16277,52875=>16278,52876=>16279,52877=>16280,52878=>16281,52879=>16282,52882=>16283,52883=>16284,52885=>16285,52886=>16286,52887=>16287,52889=>16288,52890=>16289,52891=>16290,52892=>16291,52893=>16292,52894=>16293,52895=>16294,52898=>16295,52902=>16296,52903=>16297,52904=>16298,52905=>16299,52906=>16300,52907=>16301,52910=>16302,52911=>16303,52912=>16304,52913=>16305,52914=>16306,52915=>16307,52916=>16308,52917=>16309,52918=>16310,52919=>16311,52920=>16312,52921=>16313,52922=>16314,52923=>16315,52924=>16316,52925=>16317,52926=>16318,52927=>16319,52928=>16320,52930=>16321,52931=>16322,52932=>16323,52933=>16324,52934=>16325,52935=>16326,52936=>16327,52937=>16328,52938=>16329,52939=>16330,52940=>16331,52941=>16332,52942=>16333,52943=>16334,52944=>16335,52945=>16336,52946=>16337,52947=>16338,52948=>16339,52949=>16340,52950=>16341,52951=>16342,52952=>16343,52953=>16344,52954=>16345,52955=>16346,52956=>16347,52957=>16348,52958=>16349,52959=>16350,52960=>16351,52961=>16352,52962=>16353,52963=>16354,52966=>16355,52967=>16356,52969=>16357,52970=>16358,52973=>16359,52974=>16360,52975=>16361,52976=>16362,52977=>16363,52978=>16364,52979=>16365,52982=>16366,52986=>16367,52987=>16368,52988=>16369,52989=>16370,52990=>16371,52991=>16372,52994=>16373,52995=>16374,52997=>16375,52998=>16376,52999=>16377,53001=>16378,53002=>16379,53003=>16380,53004=>16381,53005=>16382,53006=>16383,53007=>16384,53010=>16385,53012=>16386,53014=>16387,53015=>16388,53016=>16389,53017=>16390,53018=>16391,53019=>16392,53021=>16393,53022=>16394,53023=>16395,53025=>16396,53026=>16397,53027=>16398,53029=>16399,53030=>16400,53031=>16401,53032=>16402,53033=>16403,53034=>16404,53035=>16405,53038=>16406,53042=>16407,53043=>16408,53044=>16409,53045=>16410,53046=>16411,53047=>16412,53049=>16413,53050=>16414,53051=>16415,53052=>16416,53053=>16417,53054=>16418,53055=>16419,53056=>16420,53057=>16421,53058=>16422,53059=>16423,53060=>16424,53061=>16425,53062=>16426,53063=>16427,53064=>16428,53065=>16429,53066=>16430,53067=>16431,53068=>16432,53069=>16433,53070=>16434,53071=>16435,53072=>16436,53073=>16437,53074=>16438,53075=>16439,53078=>16440,53079=>16441,53081=>16442,53082=>16443,53083=>16444,53085=>16445,53086=>16446,53087=>16447,53088=>16448,53089=>16449,53090=>16450,53091=>16451,53094=>16452,53096=>16453,53098=>16454,53099=>16455,53100=>16456,53101=>16457,53102=>16458,53103=>16459,53106=>16460,53107=>16461,53109=>16462,53110=>16463,53111=>16464,53113=>16465,53114=>16466,53115=>16467,53116=>16468,53117=>16469,53118=>16470,53119=>16471,53121=>16472,53122=>16473,53123=>16474,53124=>16475,53126=>16476,53127=>16477,53128=>16478,53129=>16479,53130=>16480,53131=>16481,53133=>16482,53134=>16483,53135=>16484,53136=>16485,53137=>16486,53138=>16487,53139=>16488,53140=>16489,53141=>16490,53142=>16491,53143=>16492,53144=>16493,53145=>16494,53146=>16495,53147=>16496,53148=>16497,53149=>16498,53150=>16499,53151=>16500,53152=>16501,53154=>16502,53155=>16503,53156=>16504,53157=>16505,53158=>16506,53159=>16507,53161=>16508,53162=>16509,53163=>16510,53164=>16511,53165=>16512,53166=>16513,53167=>16514,53169=>16515,53170=>16516,53171=>16517,53172=>16518,53173=>16519,53174=>16520,53175=>16521,53176=>16522,53177=>16523,53178=>16524,53179=>16525,53180=>16526,53181=>16527,53182=>16528,53183=>16529,53184=>16530,53185=>16531,53186=>16532,53187=>16533,53189=>16534,53190=>16535,53191=>16536,53192=>16537,53193=>16538,53194=>16539,53195=>16540,53196=>16541,53197=>16542,53198=>16543,53199=>16544,53200=>16545,53201=>16546,53202=>16547,53203=>16548,53204=>16549,53205=>16550,53206=>16551,53207=>16552,53208=>16553,53209=>16554,53210=>16555,53211=>16556,53212=>16557,53213=>16558,53214=>16559,53215=>16560,53218=>16561,53219=>16562,53221=>16563,53222=>16564,53223=>16565,53225=>16566,53226=>16567,53227=>16568,53228=>16569,53229=>16570,53230=>16571,53231=>16572,53234=>16573,53236=>16574,53238=>16575,53239=>16576,53240=>16577,53241=>16578,53242=>16579,53243=>16580,53245=>16581,53246=>16582,53247=>16583,53249=>16584,53250=>16585,53251=>16586,53253=>16587,53254=>16588,53255=>16589,53256=>16590,53257=>16591,53258=>16592,53259=>16593,53260=>16594,53261=>16595,53262=>16596,53263=>16597,53264=>16598,53266=>16599,53267=>16600,53268=>16601,53269=>16602,53270=>16603,53271=>16604,53273=>16605,53274=>16606,53275=>16607,53276=>16608,53277=>16609,53278=>16610,53279=>16611,53280=>16612,53281=>16613,53282=>16614,53283=>16615,53284=>16616,53285=>16617,53286=>16618,53287=>16619,53288=>16620,53289=>16621,53290=>16622,53291=>16623,53292=>16624,53294=>16625,53295=>16626,53296=>16627,53297=>16628,53298=>16629,53299=>16630,53302=>16631,53303=>16632,53305=>16633,53306=>16634,53307=>16635,53309=>16636,53310=>16637,53311=>16638,53312=>16639,53313=>16640,53314=>16641,53315=>16642,53318=>16643,53320=>16644,53322=>16645,53323=>16646,53324=>16647,53325=>16648,53326=>16649,53327=>16650,53329=>16651,53330=>16652,53331=>16653,53333=>16654,53334=>16655,53335=>16656,53337=>16657,53338=>16658,53339=>16659,53340=>16660,53341=>16661,53342=>16662,53343=>16663,53345=>16664,53346=>16665,53347=>16666,53348=>16667,53349=>16668,53350=>16669,53351=>16670,53352=>16671,53353=>16672,53354=>16673,53355=>16674,53358=>16675,53359=>16676,53361=>16677,53362=>16678,53363=>16679,53365=>16680,53366=>16681,53367=>16682,53368=>16683,53369=>16684,53370=>16685,53371=>16686,53374=>16687,53375=>16688,53376=>16689,53378=>16690,53379=>16691,53380=>16692,53381=>16693,53382=>16694,53383=>16695,53384=>16696,53385=>16697,53386=>16698,53387=>16699,53388=>16700,53389=>16701,53390=>16702,53391=>16703,53392=>16704,53393=>16705,53394=>16706,53395=>16707,53396=>16708,53397=>16709,53398=>16710,53399=>16711,53400=>16712,53401=>16713,53402=>16714,53403=>16715,53404=>16716,53405=>16717,53406=>16718,53407=>16719,53408=>16720,53409=>16721,53410=>16722,53411=>16723,53414=>16724,53415=>16725,53417=>16726,53418=>16727,53419=>16728,53421=>16729,53422=>16730,53423=>16731,53424=>16732,53425=>16733,53426=>16734,53427=>16735,53430=>16736,53432=>16737,53434=>16738,53435=>16739,53436=>16740,53437=>16741,53438=>16742,53439=>16743,53442=>16744,53443=>16745,53445=>16746,53446=>16747,53447=>16748,53450=>16749,53451=>16750,53452=>16751,53453=>16752,53454=>16753,53455=>16754,53458=>16755,53462=>16756,53463=>16757,53464=>16758,53465=>16759,53466=>16760,53467=>16761,53470=>16762,53471=>16763,53473=>16764,53474=>16765,53475=>16766,53477=>16767,53478=>16768,53479=>16769,53480=>16770,53481=>16771,53482=>16772,53483=>16773,53486=>16774,53490=>16775,53491=>16776,53492=>16777,53493=>16778,53494=>16779,53495=>16780,53497=>16781,53498=>16782,53499=>16783,53500=>16784,53501=>16785,53502=>16786,53503=>16787,53504=>16788,53505=>16789,53506=>16790,53507=>16791,53508=>16792,53509=>16793,53510=>16794,53511=>16795,53512=>16796,53513=>16797,53514=>16798,53515=>16799,53516=>16800,53518=>16801,53519=>16802,53520=>16803,53521=>16804,53522=>16805,53523=>16806,53524=>16807,53525=>16808,53526=>16809,53527=>16810,53528=>16811,53529=>16812,53530=>16813,53531=>16814,53532=>16815,53533=>16816,53534=>16817,53535=>16818,53536=>16819,53537=>16820,53538=>16821,53539=>16822,53540=>16823,53541=>16824,53542=>16825,53543=>16826,53544=>16827,53545=>16828,53546=>16829,53547=>16830,53548=>16831,53549=>16832,53550=>16833,53551=>16834,53554=>16835,53555=>16836,53557=>16837,53558=>16838,53559=>16839,53561=>16840,53563=>16841,53564=>16842,53565=>16843,53566=>16844,53567=>16845,53570=>16846,53574=>16847,53575=>16848,53576=>16849,53577=>16850,53578=>16851,53579=>16852,53582=>16853,53583=>16854,53585=>16855,53586=>16856,53587=>16857,53589=>16858,53590=>16859,53591=>16860,53592=>16861,53593=>16862,53594=>16863,53595=>16864,53598=>16865,53600=>16866,53602=>16867,53603=>16868,53604=>16869,53605=>16870,53606=>16871,53607=>16872,53609=>16873,53610=>16874,53611=>16875,53613=>16876,53614=>16877,53615=>16878,53616=>16879,53617=>16880,53618=>16881,53619=>16882,53620=>16883,53621=>16884,53622=>16885,53623=>16886,53624=>16887,53625=>16888,53626=>16889,53627=>16890,53629=>16891,53630=>16892,53631=>16893,53632=>16894,53633=>16895,53634=>16896,53635=>16897,53637=>16898,53638=>16899,53639=>16900,53641=>16901,53642=>16902,53643=>16903,53644=>16904,53645=>16905,53646=>16906,53647=>16907,53648=>16908,53649=>16909,53650=>16910,53651=>16911,53652=>16912,53653=>16913,53654=>16914,53655=>16915,53656=>16916,53657=>16917,53658=>16918,53659=>16919,53660=>16920,53661=>16921,53662=>16922,53663=>16923,53666=>16924,53667=>16925,53669=>16926,53670=>16927,53671=>16928,53673=>16929,53674=>16930,53675=>16931,53676=>16932,53677=>16933,53678=>16934,53679=>16935,53682=>16936,53684=>16937,53686=>16938,53687=>16939,53688=>16940,53689=>16941,53691=>16942,53693=>16943,53694=>16944,53695=>16945,53697=>16946,53698=>16947,53699=>16948,53700=>16949,53701=>16950,53702=>16951,53703=>16952,53704=>16953,53705=>16954,53706=>16955,53707=>16956,53708=>16957,53709=>16958,53710=>16959,53711=>16960,53712=>16961,53713=>16962,53714=>16963,53715=>16964,53716=>16965,53717=>16966,53718=>16967,53719=>16968,53721=>16969,53722=>16970,53723=>16971,53724=>16972,53725=>16973,53726=>16974,53727=>16975,53728=>16976,53729=>16977,53730=>16978,53731=>16979,53732=>16980,53733=>16981,53734=>16982,53735=>16983,53736=>16984,53737=>16985,53738=>16986,53739=>16987,53740=>16988,53741=>16989,53742=>16990,53743=>16991,53744=>16992,53745=>16993,53746=>16994,53747=>16995,53749=>16996,53750=>16997,53751=>16998,53753=>16999,53754=>17000,53755=>17001,53756=>17002,53757=>17003,53758=>17004,53759=>17005,53760=>17006,53761=>17007,53762=>17008,53763=>17009,53764=>17010,53765=>17011,53766=>17012,53768=>17013,53770=>17014,53771=>17015,53772=>17016,53773=>17017,53774=>17018,53775=>17019,53777=>17020,53778=>17021,53779=>17022,53780=>17023,53781=>17024,53782=>17025,53783=>17026,53784=>17027,53785=>17028,53786=>17029,53787=>17030,53788=>17031,53789=>17032,53790=>17033,53791=>17034,53792=>17035,53793=>17036,53794=>17037,53795=>17038,53796=>17039,53797=>17040,53798=>17041,53799=>17042,53800=>17043,53801=>17044,53802=>17045,53803=>17046,53806=>17047,53807=>17048,53809=>17049,53810=>17050,53811=>17051,53813=>17052,53814=>17053,53815=>17054,53816=>17055,53817=>17056,53818=>17057,53819=>17058,53822=>17059,53824=>17060,53826=>17061,53827=>17062,53828=>17063,53829=>17064,53830=>17065,53831=>17066,53833=>17067,53834=>17068,53835=>17069,53836=>17070,53837=>17071,53838=>17072,53839=>17073,53840=>17074,53841=>17075,53842=>17076,53843=>17077,53844=>17078,53845=>17079,53846=>17080,53847=>17081,53848=>17082,53849=>17083,53850=>17084,53851=>17085,53853=>17086,53854=>17087,53855=>17088,53856=>17089,53857=>17090,53858=>17091,53859=>17092,53861=>17093,53862=>17094,53863=>17095,53864=>17096,53865=>17097,53866=>17098,53867=>17099,53868=>17100,53869=>17101,53870=>17102,53871=>17103,53872=>17104,53873=>17105,53874=>17106,53875=>17107,53876=>17108,53877=>17109,53878=>17110,53879=>17111,53880=>17112,53881=>17113,53882=>17114,53883=>17115,53884=>17116,53885=>17117,53886=>17118,53887=>17119,53890=>17120,53891=>17121,53893=>17122,53894=>17123,53895=>17124,53897=>17125,53898=>17126,53899=>17127,53900=>17128,53901=>17129,53902=>17130,53903=>17131,53906=>17132,53907=>17133,53908=>17134,53910=>17135,53911=>17136,53912=>17137,53913=>17138,53914=>17139,53915=>17140,53917=>17141,53918=>17142,53919=>17143,53921=>17144,53922=>17145,53923=>17146,53925=>17147,53926=>17148,53927=>17149,53928=>17150,53929=>17151,53930=>17152,53931=>17153,53933=>17154,53934=>17155,53935=>17156,53936=>17157,53938=>17158,53939=>17159,53940=>17160,53941=>17161,53942=>17162,53943=>17163,53946=>17164,53947=>17165,53949=>17166,53950=>17167,53953=>17168,53955=>17169,53956=>17170,53957=>17171,53958=>17172,53959=>17173,53962=>17174,53964=>17175,53965=>17176,53966=>17177,53967=>17178,53968=>17179,53969=>17180,53970=>17181,53971=>17182,53973=>17183,53974=>17184,53975=>17185,53977=>17186,53978=>17187,53979=>17188,53981=>17189,53982=>17190,53983=>17191,53984=>17192,53985=>17193,53986=>17194,53987=>17195,53990=>17196,53991=>17197,53992=>17198,53993=>17199,53994=>17200,53995=>17201,53996=>17202,53997=>17203,53998=>17204,53999=>17205,54002=>17206,54003=>17207,54005=>17208,54006=>17209,54007=>17210,54009=>17211,54010=>17212,54011=>17213,54012=>17214,54013=>17215,54014=>17216,54015=>17217,54018=>17218,54020=>17219,54022=>17220,54023=>17221,54024=>17222,54025=>17223,54026=>17224,54027=>17225,54031=>17226,54033=>17227,54034=>17228,54035=>17229,54037=>17230,54039=>17231,54040=>17232,54041=>17233,54042=>17234,54043=>17235,54046=>17236,54050=>17237,54051=>17238,54052=>17239,54054=>17240,54055=>17241,54058=>17242,54059=>17243,54061=>17244,54062=>17245,54063=>17246,54065=>17247,54066=>17248,54067=>17249,54068=>17250,54069=>17251,54070=>17252,54071=>17253,54074=>17254,54078=>17255,54079=>17256,54080=>17257,54081=>17258,54082=>17259,54083=>17260,54086=>17261,54087=>17262,54088=>17263,54089=>17264,54090=>17265,54091=>17266,54092=>17267,54093=>17268,54094=>17269,54095=>17270,54096=>17271,54097=>17272,54098=>17273,54099=>17274,54100=>17275,54101=>17276,54102=>17277,54103=>17278,54104=>17279,54105=>17280,54106=>17281,54107=>17282,54108=>17283,54109=>17284,54110=>17285,54111=>17286,54112=>17287,54113=>17288,54114=>17289,54115=>17290,54116=>17291,54117=>17292,54118=>17293,54119=>17294,54120=>17295,54121=>17296,54122=>17297,54123=>17298,54124=>17299,54125=>17300,54126=>17301,54127=>17302,54128=>17303,54129=>17304,54130=>17305,54131=>17306,54132=>17307,54133=>17308,54134=>17309,54135=>17310,54136=>17311,54137=>17312,54138=>17313,54139=>17314,54142=>17315,54143=>17316,54145=>17317,54146=>17318,54147=>17319,54149=>17320,54150=>17321,54151=>17322,54152=>17323,54153=>17324,54154=>17325,54155=>17326,54158=>17327,54162=>17328,54163=>17329,54164=>17330,54165=>17331,54166=>17332,54167=>17333,54170=>17334,54171=>17335,54173=>17336,54174=>17337,54175=>17338,54177=>17339,54178=>17340,54179=>17341,54180=>17342,54181=>17343,54182=>17344,54183=>17345,54186=>17346,54188=>17347,54190=>17348,54191=>17349,54192=>17350,54193=>17351,54194=>17352,54195=>17353,54197=>17354,54198=>17355,54199=>17356,54201=>17357,54202=>17358,54203=>17359,54205=>17360,54206=>17361,54207=>17362,54208=>17363,54209=>17364,54210=>17365,54211=>17366,54214=>17367,54215=>17368,54218=>17369,54219=>17370,54220=>17371,54221=>17372,54222=>17373,54223=>17374,54225=>17375,54226=>17376,54227=>17377,54228=>17378,54229=>17379,54230=>17380,54231=>17381,54233=>17382,54234=>17383,54235=>17384,54236=>17385,54237=>17386,54238=>17387,54239=>17388,54240=>17389,54242=>17390,54244=>17391,54245=>17392,54246=>17393,54247=>17394,54248=>17395,54249=>17396,54250=>17397,54251=>17398,54254=>17399,54255=>17400,54257=>17401,54258=>17402,54259=>17403,54261=>17404,54262=>17405,54263=>17406,54264=>17407,54265=>17408,54266=>17409,54267=>17410,54270=>17411,54272=>17412,54274=>17413,54275=>17414,54276=>17415,54277=>17416,54278=>17417,54279=>17418,54281=>17419,54282=>17420,54283=>17421,54284=>17422,54285=>17423,54286=>17424,54287=>17425,54288=>17426,54289=>17427,54290=>17428,54291=>17429,54292=>17430,54293=>17431,54294=>17432,54295=>17433,54296=>17434,54297=>17435,54298=>17436,54299=>17437,54300=>17438,54302=>17439,54303=>17440,54304=>17441,54305=>17442,54306=>17443,54307=>17444,54308=>17445,54309=>17446,54310=>17447,54311=>17448,54312=>17449,54313=>17450,54314=>17451,54315=>17452,54316=>17453,54317=>17454,54318=>17455,54319=>17456,54320=>17457,54321=>17458,54322=>17459,54323=>17460,54324=>17461,54325=>17462,54326=>17463,54327=>17464,54328=>17465,54329=>17466,54330=>17467,54331=>17468,54332=>17469,54333=>17470,54334=>17471,54335=>17472,54337=>17473,54338=>17474,54339=>17475,54341=>17476,54342=>17477,54343=>17478,54344=>17479,54345=>17480,54346=>17481,54347=>17482,54348=>17483,54349=>17484,54350=>17485,54351=>17486,54352=>17487,54353=>17488,54354=>17489,54355=>17490,54356=>17491,54357=>17492,54358=>17493,54359=>17494,54360=>17495,54361=>17496,54362=>17497,54363=>17498,54365=>17499,54366=>17500,54367=>17501,54369=>17502,54370=>17503,54371=>17504,54373=>17505,54374=>17506,54375=>17507,54376=>17508,54377=>17509,54378=>17510,54379=>17511,54380=>17512,54382=>17513,54384=>17514,54385=>17515,54386=>17516,54387=>17517,54388=>17518,54389=>17519,54390=>17520,54391=>17521,54394=>17522,54395=>17523,54397=>17524,54398=>17525,54401=>17526,54403=>17527,54404=>17528,54405=>17529,54406=>17530,54407=>17531,54410=>17532,54412=>17533,54414=>17534,54415=>17535,54416=>17536,54417=>17537,54418=>17538,54419=>17539,54421=>17540,54422=>17541,54423=>17542,54424=>17543,54425=>17544,54426=>17545,54427=>17546,54428=>17547,54429=>17548,54430=>17549,54431=>17550,54432=>17551,54433=>17552,54434=>17553,54435=>17554,54436=>17555,54437=>17556,54438=>17557,54439=>17558,54440=>17559,54442=>17560,54443=>17561,54444=>17562,54445=>17563,54446=>17564,54447=>17565,54448=>17566,54449=>17567,54450=>17568,54451=>17569,54452=>17570,54453=>17571,54454=>17572,54455=>17573,54456=>17574,54457=>17575,54458=>17576,54459=>17577,54460=>17578,54461=>17579,54462=>17580,54463=>17581,54464=>17582,54465=>17583,54466=>17584,54467=>17585,54468=>17586,54469=>17587,54470=>17588,54471=>17589,54472=>17590,54473=>17591,54474=>17592,54475=>17593,54477=>17594,54478=>17595,54479=>17596,54481=>17597,54482=>17598,54483=>17599,54485=>17600,54486=>17601,54487=>17602,54488=>17603,54489=>17604,54490=>17605,54491=>17606,54493=>17607,54494=>17608,54496=>17609,54497=>17610,54498=>17611,54499=>17612,54500=>17613,54501=>17614,54502=>17615,54503=>17616,54505=>17617,54506=>17618,54507=>17619,54509=>17620,54510=>17621,54511=>17622,54513=>17623,54514=>17624,54515=>17625,54516=>17626,54517=>17627,54518=>17628,54519=>17629,54521=>17630,54522=>17631,54524=>17632,54526=>17633,54527=>17634,54528=>17635,54529=>17636,54530=>17637,54531=>17638,54533=>17639,54534=>17640,54535=>17641,54537=>17642,54538=>17643,54539=>17644,54541=>17645,54542=>17646,54543=>17647,54544=>17648,54545=>17649,54546=>17650,54547=>17651,54550=>17652,54552=>17653,54553=>17654,54554=>17655,54555=>17656,54556=>17657,54557=>17658,54558=>17659,54559=>17660,54560=>17661,54561=>17662,54562=>17663,54563=>17664,54564=>17665,54565=>17666,54566=>17667,54567=>17668,54568=>17669,54569=>17670,54570=>17671,54571=>17672,54572=>17673,54573=>17674,54574=>17675,54575=>17676,54576=>17677,54577=>17678,54578=>17679,54579=>17680,54580=>17681,54581=>17682,54582=>17683,54583=>17684,54584=>17685,54585=>17686,54586=>17687,54587=>17688,54590=>17689,54591=>17690,54593=>17691,54594=>17692,54595=>17693,54597=>17694,54598=>17695,54599=>17696,54600=>17697,54601=>17698,54602=>17699,54603=>17700,54606=>17701,54608=>17702,54610=>17703,54611=>17704,54612=>17705,54613=>17706,54614=>17707,54615=>17708,54618=>17709,54619=>17710,54621=>17711,54622=>17712,54623=>17713,54625=>17714,54626=>17715,54627=>17716,54628=>17717,54630=>17718,54631=>17719,54634=>17720,54636=>17721,54638=>17722,54639=>17723,54640=>17724,54641=>17725,54642=>17726,54643=>17727,54646=>17728,54647=>17729,54649=>17730,54650=>17731,54651=>17732,54653=>17733,54654=>17734,54655=>17735,54656=>17736,54657=>17737,54658=>17738,54659=>17739,54662=>17740,54666=>17741,54667=>17742,54668=>17743,54669=>17744,54670=>17745,54671=>17746,54673=>17747,54674=>17748,54675=>17749,54676=>17750,54677=>17751,54678=>17752,54679=>17753,54680=>17754,54681=>17755,54682=>17756,54683=>17757,54684=>17758,54685=>17759,54686=>17760,54687=>17761,54688=>17762,54689=>17763,54690=>17764,54691=>17765,54692=>17766,54694=>17767,54695=>17768,54696=>17769,54697=>17770,54698=>17771,54699=>17772,54700=>17773,54701=>17774,54702=>17775,54703=>17776,54704=>17777,54705=>17778,54706=>17779,54707=>17780,54708=>17781,54709=>17782,54710=>17783,54711=>17784,54712=>17785,54713=>17786,54714=>17787,54715=>17788,54716=>17789,54717=>17790,54718=>17791,54719=>17792,54720=>17793,54721=>17794,54722=>17795,54723=>17796,54724=>17797,54725=>17798,54726=>17799,54727=>17800,54730=>17801,54731=>17802,54733=>17803,54734=>17804,54735=>17805,54737=>17806,54739=>17807,54740=>17808,54741=>17809,54742=>17810,54743=>17811,54746=>17812,54748=>17813,54750=>17814,54751=>17815,54752=>17816,54753=>17817,54754=>17818,54755=>17819,54758=>17820,54759=>17821,54761=>17822,54762=>17823,54763=>17824,54765=>17825,54766=>17826,54767=>17827,54768=>17828,54769=>17829,54770=>17830,54771=>17831,54774=>17832,54776=>17833,54778=>17834,54779=>17835,54780=>17836,54781=>17837,54782=>17838,54783=>17839,54786=>17840,54787=>17841,54789=>17842,54790=>17843,54791=>17844,54793=>17845,54794=>17846,54795=>17847,54796=>17848,54797=>17849,54798=>17850,54799=>17851,54802=>17852,54806=>17853,54807=>17854,54808=>17855,54809=>17856,54810=>17857,54811=>17858,54813=>17859,54814=>17860,54815=>17861,54817=>17862,54818=>17863,54819=>17864,54821=>17865,54822=>17866,54823=>17867,54824=>17868,54825=>17869,54826=>17870,54827=>17871,54828=>17872,54830=>17873,54831=>17874,54832=>17875,54833=>17876,54834=>17877,54835=>17878,54836=>17879,54837=>17880,54838=>17881,54839=>17882,54842=>17883,54843=>17884,54845=>17885,54846=>17886,54847=>17887,54849=>17888,54850=>17889,54851=>17890,54852=>17891,54854=>17892,54855=>17893,54858=>17894,54860=>17895,54862=>17896,54863=>17897,54864=>17898,54866=>17899,54867=>17900,54870=>17901,54871=>17902,54873=>17903,54874=>17904,54875=>17905,54877=>17906,54878=>17907,54879=>17908,54880=>17909,54881=>17910,54882=>17911,54883=>17912,54884=>17913,54885=>17914,54886=>17915,54888=>17916,54890=>17917,54891=>17918,54892=>17919,54893=>17920,54894=>17921,54895=>17922,54898=>17923,54899=>17924,54901=>17925,54902=>17926,54903=>17927,54904=>17928,54905=>17929,54906=>17930,54907=>17931,54908=>17932,54909=>17933,54910=>17934,54911=>17935,54912=>17936,54913=>17937,54914=>17938,54916=>17939,54918=>17940,54919=>17941,54920=>17942,54921=>17943,54922=>17944,54923=>17945,54926=>17946,54927=>17947,54929=>17948,54930=>17949,54931=>17950,54933=>17951,54934=>17952,54935=>17953,54936=>17954,54937=>17955,54938=>17956,54939=>17957,54940=>17958,54942=>17959,54944=>17960,54946=>17961,54947=>17962,54948=>17963,54949=>17964,54950=>17965,54951=>17966,54953=>17967,54954=>17968,54955=>17969,54957=>17970,54958=>17971,54959=>17972,54961=>17973,54962=>17974,54963=>17975,54964=>17976,54965=>17977,54966=>17978,54967=>17979,54968=>17980,54970=>17981,54972=>17982,54973=>17983,54974=>17984,54975=>17985,54976=>17986,54977=>17987,54978=>17988,54979=>17989,54982=>17990,54983=>17991,54985=>17992,54986=>17993,54987=>17994,54989=>17995,54990=>17996,54991=>17997,54992=>17998,54994=>17999,54995=>18000,54997=>18001,54998=>18002,55000=>18003,55002=>18004,55003=>18005,55004=>18006,55005=>18007,55006=>18008,55007=>18009,55009=>18010,55010=>18011,55011=>18012,55013=>18013,55014=>18014,55015=>18015,55017=>18016,55018=>18017,55019=>18018,55020=>18019,55021=>18020,55022=>18021,55023=>18022,55025=>18023,55026=>18024,55027=>18025,55028=>18026,55030=>18027,55031=>18028,55032=>18029,55033=>18030,55034=>18031,55035=>18032,55038=>18033,55039=>18034,55041=>18035,55042=>18036,55043=>18037,55045=>18038,55046=>18039,55047=>18040,55048=>18041,55049=>18042,55050=>18043,55051=>18044,55052=>18045,55053=>18046,55054=>18047,55055=>18048,55056=>18049,55058=>18050,55059=>18051,55060=>18052,55061=>18053,55062=>18054,55063=>18055,55066=>18056,55067=>18057,55069=>18058,55070=>18059,55071=>18060,55073=>18061,55074=>18062,55075=>18063,55076=>18064,55077=>18065,55078=>18066,55079=>18067,55082=>18068,55084=>18069,55086=>18070,55087=>18071,55088=>18072,55089=>18073,55090=>18074,55091=>18075,55094=>18076,55095=>18077,55097=>18078,55098=>18079,55099=>18080,55101=>18081,55102=>18082,55103=>18083,55104=>18084,55105=>18085,55106=>18086,55107=>18087,55109=>18088,55110=>18089,55112=>18090,55114=>18091,55115=>18092,55116=>18093,55117=>18094,55118=>18095,55119=>18096,55122=>18097,55123=>18098,55125=>18099,55130=>18100,55131=>18101,55132=>18102,55133=>18103,55134=>18104,55135=>18105,55138=>18106,55140=>18107,55142=>18108,55143=>18109,55144=>18110,55146=>18111,55147=>18112,55149=>18113,55150=>18114,55151=>18115,55153=>18116,55154=>18117,55155=>18118,55157=>18119,55158=>18120,55159=>18121,55160=>18122,55161=>18123,55162=>18124,55163=>18125,55166=>18126,55167=>18127,55168=>18128,55170=>18129,55171=>18130,55172=>18131,55173=>18132,55174=>18133,55175=>18134,55178=>18135,55179=>18136,55181=>18137,55182=>18138,55183=>18139,55185=>18140,55186=>18141,55187=>18142,55188=>18143,55189=>18144,55190=>18145,55191=>18146,55194=>18147,55196=>18148,55198=>18149,55199=>18150,55200=>18151,55201=>18152,55202=>18153,55203=>18154); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/fonts/zapfdingbats.php b/vendor/tecnickcom/tcpdf/fonts/zapfdingbats.php new file mode 100644 index 0000000..4c0bd75 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/fonts/zapfdingbats.php @@ -0,0 +1,12 @@ +4,'FontBBox'=>'[-1 -143 981 820]','ItalicAngle'=>0,'Ascent'=>820,'Descent'=>-143,'Leading'=>0,'CapHeight'=>820,'StemV'=>90,'StemH'=>28,'AvgWidth'=>746,'MaxWidth'=>1016,'MissingWidth'=>746); +$cw=array(0=>746,1=>746,2=>746,3=>746,4=>746,5=>746,6=>746,7=>746,8=>746,9=>746,10=>746,11=>746,12=>746,13=>746,14=>746,15=>746,16=>746,17=>746,18=>746,19=>746,20=>746,21=>746,22=>746,23=>746,24=>746,25=>746,26=>746,27=>746,28=>746,29=>746,30=>746,31=>746,32=>278,33=>974,34=>961,35=>974,36=>980,37=>719,38=>789,39=>790,40=>791,41=>690,42=>960,43=>939,44=>549,45=>855,46=>911,47=>933,48=>911,49=>945,50=>974,51=>755,52=>846,53=>762,54=>761,55=>571,56=>677,57=>763,58=>760,59=>759,60=>754,61=>494,62=>552,63=>537,64=>577,65=>692,66=>786,67=>788,68=>788,69=>790,70=>793,71=>794,72=>816,73=>823,74=>789,75=>841,76=>823,77=>833,78=>816,79=>831,80=>923,81=>744,82=>723,83=>749,84=>790,85=>792,86=>695,87=>776,88=>768,89=>792,90=>759,91=>707,92=>708,93=>682,94=>701,95=>826,96=>815,97=>789,98=>789,99=>707,100=>687,101=>696,102=>689,103=>786,104=>787,105=>713,106=>791,107=>785,108=>791,109=>873,110=>761,111=>762,112=>762,113=>759,114=>759,115=>892,116=>892,117=>788,118=>784,119=>438,120=>138,121=>277,122=>415,123=>392,124=>392,125=>668,126=>668,127=>746,128=>390,129=>390,130=>317,131=>317,132=>276,133=>276,134=>509,135=>509,136=>410,137=>410,138=>234,139=>234,140=>334,141=>334,142=>746,143=>746,144=>746,145=>746,146=>746,147=>746,148=>746,149=>746,150=>746,151=>746,152=>746,153=>746,154=>746,155=>746,156=>746,157=>746,158=>746,159=>746,160=>746,161=>732,162=>544,163=>544,164=>910,165=>667,166=>760,167=>760,168=>776,169=>595,170=>694,171=>626,172=>788,173=>788,174=>788,175=>788,176=>788,177=>788,178=>788,179=>788,180=>788,181=>788,182=>788,183=>788,184=>788,185=>788,186=>788,187=>788,188=>788,189=>788,190=>788,191=>788,192=>788,193=>788,194=>788,195=>788,196=>788,197=>788,198=>788,199=>788,200=>788,201=>788,202=>788,203=>788,204=>788,205=>788,206=>788,207=>788,208=>788,209=>788,210=>788,211=>788,212=>894,213=>838,214=>1016,215=>458,216=>748,217=>924,218=>748,219=>918,220=>927,221=>928,222=>928,223=>834,224=>873,225=>828,226=>924,227=>924,228=>917,229=>930,230=>931,231=>463,232=>883,233=>836,234=>836,235=>867,236=>867,237=>696,238=>696,239=>874,240=>746,241=>874,242=>760,243=>946,244=>771,245=>865,246=>771,247=>888,248=>967,249=>888,250=>831,251=>873,252=>927,253=>970,254=>918,255=>746); +// --- EOF --- diff --git a/vendor/tecnickcom/tcpdf/include/barcodes/datamatrix.php b/vendor/tecnickcom/tcpdf/include/barcodes/datamatrix.php new file mode 100644 index 0000000..d1cc6d2 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/barcodes/datamatrix.php @@ -0,0 +1,1176 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// DESCRIPTION : +// +// Class to create DataMatrix ECC 200 barcode arrays for TCPDF class. +// DataMatrix (ISO/IEC 16022:2006) is a 2-dimensional bar code. +//============================================================+ + +/** +* @file +* Class to create DataMatrix ECC 200 barcode arrays for TCPDF class. +* DataMatrix (ISO/IEC 16022:2006) is a 2-dimensional bar code. +* +* @package com.tecnick.tcpdf +* @author Nicola Asuni +* @version 1.0.008 +*/ + +// custom definitions +if (!defined('DATAMATRIXDEFS')) { + + /** + * Indicate that definitions for this class are set + */ + define('DATAMATRIXDEFS', true); + + // ----------------------------------------------------- + +} // end of custom definitions + +// #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*# + + +/** +* ASCII encoding: ASCII character 0 to 127 (1 byte per CW) +*/ +define('ENC_ASCII', 0); + +/** +* C40 encoding: Upper-case alphanumeric (3/2 bytes per CW) +*/ +define('ENC_C40', 1); + +/** +* TEXT encoding: Lower-case alphanumeric (3/2 bytes per CW) +*/ +define('ENC_TXT', 2); + +/** +* X12 encoding: ANSI X12 (3/2 byte per CW) +*/ +define('ENC_X12', 3); + +/** +* EDIFACT encoding: ASCII character 32 to 94 (4/3 bytes per CW) +*/ +define('ENC_EDF', 4); + +/** +* BASE 256 encoding: ASCII character 0 to 255 (1 byte per CW) +*/ +define('ENC_BASE256', 5); + +/** +* ASCII extended encoding: ASCII character 128 to 255 (1/2 byte per CW) +*/ +define('ENC_ASCII_EXT', 6); + +/** +* ASCII number encoding: ASCII digits (2 bytes per CW) +*/ +define('ENC_ASCII_NUM', 7); + +/** +* @class Datamatrix +* Class to create DataMatrix ECC 200 barcode arrays for TCPDF class. +* DataMatrix (ISO/IEC 16022:2006) is a 2-dimensional bar code. +* +* @package com.tecnick.tcpdf +* @author Nicola Asuni +* @version 1.0.004 +*/ +class Datamatrix { + + /** + * Barcode array to be returned which is readable by TCPDF. + * @protected + */ + protected $barcode_array = array(); + + /** + * Store last used encoding for data codewords. + * @protected + */ + protected $last_enc = ENC_ASCII; + + /** + * Table of Data Matrix ECC 200 Symbol Attributes:
      + *
    • total matrix rows (including finder pattern)
    • + *
    • total matrix cols (including finder pattern)
    • + *
    • total matrix rows (without finder pattern)
    • + *
    • total matrix cols (without finder pattern)
    • + *
    • region data rows (with finder pattern)
    • + *
    • region data col (with finder pattern)
    • + *
    • region data rows (without finder pattern)
    • + *
    • region data col (without finder pattern)
    • + *
    • horizontal regions
    • + *
    • vertical regions
    • + *
    • regions
    • + *
    • data codewords
    • + *
    • error codewords
    • + *
    • blocks
    • + *
    • data codewords per block
    • + *
    • error codewords per block
    • + *
    + * @protected + */ + protected $symbattr = array( + // square form --------------------------------------------------------------------------------------- + array(0x00a,0x00a,0x008,0x008,0x00a,0x00a,0x008,0x008,0x001,0x001,0x001,0x003,0x005,0x001,0x003,0x005), // 10x10 + array(0x00c,0x00c,0x00a,0x00a,0x00c,0x00c,0x00a,0x00a,0x001,0x001,0x001,0x005,0x007,0x001,0x005,0x007), // 12x12 + array(0x00e,0x00e,0x00c,0x00c,0x00e,0x00e,0x00c,0x00c,0x001,0x001,0x001,0x008,0x00a,0x001,0x008,0x00a), // 14x14 + array(0x010,0x010,0x00e,0x00e,0x010,0x010,0x00e,0x00e,0x001,0x001,0x001,0x00c,0x00c,0x001,0x00c,0x00c), // 16x16 + array(0x012,0x012,0x010,0x010,0x012,0x012,0x010,0x010,0x001,0x001,0x001,0x012,0x00e,0x001,0x012,0x00e), // 18x18 + array(0x014,0x014,0x012,0x012,0x014,0x014,0x012,0x012,0x001,0x001,0x001,0x016,0x012,0x001,0x016,0x012), // 20x20 + array(0x016,0x016,0x014,0x014,0x016,0x016,0x014,0x014,0x001,0x001,0x001,0x01e,0x014,0x001,0x01e,0x014), // 22x22 + array(0x018,0x018,0x016,0x016,0x018,0x018,0x016,0x016,0x001,0x001,0x001,0x024,0x018,0x001,0x024,0x018), // 24x24 + array(0x01a,0x01a,0x018,0x018,0x01a,0x01a,0x018,0x018,0x001,0x001,0x001,0x02c,0x01c,0x001,0x02c,0x01c), // 26x26 + array(0x020,0x020,0x01c,0x01c,0x010,0x010,0x00e,0x00e,0x002,0x002,0x004,0x03e,0x024,0x001,0x03e,0x024), // 32x32 + array(0x024,0x024,0x020,0x020,0x012,0x012,0x010,0x010,0x002,0x002,0x004,0x056,0x02a,0x001,0x056,0x02a), // 36x36 + array(0x028,0x028,0x024,0x024,0x014,0x014,0x012,0x012,0x002,0x002,0x004,0x072,0x030,0x001,0x072,0x030), // 40x40 + array(0x02c,0x02c,0x028,0x028,0x016,0x016,0x014,0x014,0x002,0x002,0x004,0x090,0x038,0x001,0x090,0x038), // 44x44 + array(0x030,0x030,0x02c,0x02c,0x018,0x018,0x016,0x016,0x002,0x002,0x004,0x0ae,0x044,0x001,0x0ae,0x044), // 48x48 + array(0x034,0x034,0x030,0x030,0x01a,0x01a,0x018,0x018,0x002,0x002,0x004,0x0cc,0x054,0x002,0x066,0x02a), // 52x52 + array(0x040,0x040,0x038,0x038,0x010,0x010,0x00e,0x00e,0x004,0x004,0x010,0x118,0x070,0x002,0x08c,0x038), // 64x64 + array(0x048,0x048,0x040,0x040,0x012,0x012,0x010,0x010,0x004,0x004,0x010,0x170,0x090,0x004,0x05c,0x024), // 72x72 + array(0x050,0x050,0x048,0x048,0x014,0x014,0x012,0x012,0x004,0x004,0x010,0x1c8,0x0c0,0x004,0x072,0x030), // 80x80 + array(0x058,0x058,0x050,0x050,0x016,0x016,0x014,0x014,0x004,0x004,0x010,0x240,0x0e0,0x004,0x090,0x038), // 88x88 + array(0x060,0x060,0x058,0x058,0x018,0x018,0x016,0x016,0x004,0x004,0x010,0x2b8,0x110,0x004,0x0ae,0x044), // 96x96 + array(0x068,0x068,0x060,0x060,0x01a,0x01a,0x018,0x018,0x004,0x004,0x010,0x330,0x150,0x006,0x088,0x038), // 104x104 + array(0x078,0x078,0x06c,0x06c,0x014,0x014,0x012,0x012,0x006,0x006,0x024,0x41a,0x198,0x006,0x0af,0x044), // 120x120 + array(0x084,0x084,0x078,0x078,0x016,0x016,0x014,0x014,0x006,0x006,0x024,0x518,0x1f0,0x008,0x0a3,0x03e), // 132x132 + array(0x090,0x090,0x084,0x084,0x018,0x018,0x016,0x016,0x006,0x006,0x024,0x616,0x26c,0x00a,0x09c,0x03e), // 144x144 + // rectangular form (currently unused) --------------------------------------------------------------------------- + array(0x008,0x012,0x006,0x010,0x008,0x012,0x006,0x010,0x001,0x001,0x001,0x005,0x007,0x001,0x005,0x007), // 8x18 + array(0x008,0x020,0x006,0x01c,0x008,0x010,0x006,0x00e,0x001,0x002,0x002,0x00a,0x00b,0x001,0x00a,0x00b), // 8x32 + array(0x00c,0x01a,0x00a,0x018,0x00c,0x01a,0x00a,0x018,0x001,0x001,0x001,0x010,0x00e,0x001,0x010,0x00e), // 12x26 + array(0x00c,0x024,0x00a,0x020,0x00c,0x012,0x00a,0x010,0x001,0x002,0x002,0x00c,0x012,0x001,0x00c,0x012), // 12x36 + array(0x010,0x024,0x00e,0x020,0x010,0x012,0x00e,0x010,0x001,0x002,0x002,0x020,0x018,0x001,0x020,0x018), // 16x36 + array(0x010,0x030,0x00e,0x02c,0x010,0x018,0x00e,0x016,0x001,0x002,0x002,0x031,0x01c,0x001,0x031,0x01c) // 16x48 + ); + + /** + * Map encodation modes whit character sets. + * @protected + */ + protected $chset_id = array(ENC_C40 => 'C40', ENC_TXT => 'TXT', ENC_X12 =>'X12'); + + /** + * Basic set of characters for each encodation mode. + * @protected + */ + protected $chset = array( + 'C40' => array( // Basic set for C40 ---------------------------------------------------------------------------- + 'S1'=>0x00,'S2'=>0x01,'S3'=>0x02,0x20=>0x03,0x30=>0x04,0x31=>0x05,0x32=>0x06,0x33=>0x07,0x34=>0x08,0x35=>0x09, // + 0x36=>0x0a,0x37=>0x0b,0x38=>0x0c,0x39=>0x0d,0x41=>0x0e,0x42=>0x0f,0x43=>0x10,0x44=>0x11,0x45=>0x12,0x46=>0x13, // + 0x47=>0x14,0x48=>0x15,0x49=>0x16,0x4a=>0x17,0x4b=>0x18,0x4c=>0x19,0x4d=>0x1a,0x4e=>0x1b,0x4f=>0x1c,0x50=>0x1d, // + 0x51=>0x1e,0x52=>0x1f,0x53=>0x20,0x54=>0x21,0x55=>0x22,0x56=>0x23,0x57=>0x24,0x58=>0x25,0x59=>0x26,0x5a=>0x27),// + 'TXT' => array( // Basic set for TEXT --------------------------------------------------------------------------- + 'S1'=>0x00,'S2'=>0x01,'S3'=>0x02,0x20=>0x03,0x30=>0x04,0x31=>0x05,0x32=>0x06,0x33=>0x07,0x34=>0x08,0x35=>0x09, // + 0x36=>0x0a,0x37=>0x0b,0x38=>0x0c,0x39=>0x0d,0x61=>0x0e,0x62=>0x0f,0x63=>0x10,0x64=>0x11,0x65=>0x12,0x66=>0x13, // + 0x67=>0x14,0x68=>0x15,0x69=>0x16,0x6a=>0x17,0x6b=>0x18,0x6c=>0x19,0x6d=>0x1a,0x6e=>0x1b,0x6f=>0x1c,0x70=>0x1d, // + 0x71=>0x1e,0x72=>0x1f,0x73=>0x20,0x74=>0x21,0x75=>0x22,0x76=>0x23,0x77=>0x24,0x78=>0x25,0x79=>0x26,0x7a=>0x27),// + 'SH1' => array( // Shift 1 set ---------------------------------------------------------------------------------- + 0x00=>0x00,0x01=>0x01,0x02=>0x02,0x03=>0x03,0x04=>0x04,0x05=>0x05,0x06=>0x06,0x07=>0x07,0x08=>0x08,0x09=>0x09, // + 0x0a=>0x0a,0x0b=>0x0b,0x0c=>0x0c,0x0d=>0x0d,0x0e=>0x0e,0x0f=>0x0f,0x10=>0x10,0x11=>0x11,0x12=>0x12,0x13=>0x13, // + 0x14=>0x14,0x15=>0x15,0x16=>0x16,0x17=>0x17,0x18=>0x18,0x19=>0x19,0x1a=>0x1a,0x1b=>0x1b,0x1c=>0x1c,0x1d=>0x1d, // + 0x1e=>0x1e,0x1f=>0x1f), // + 'SH2' => array( // Shift 2 set ---------------------------------------------------------------------------------- + 0x21=>0x00,0x22=>0x01,0x23=>0x02,0x24=>0x03,0x25=>0x04,0x26=>0x05,0x27=>0x06,0x28=>0x07,0x29=>0x08,0x2a=>0x09, // + 0x2b=>0x0a,0x2c=>0x0b,0x2d=>0x0c,0x2e=>0x0d,0x2f=>0x0e,0x3a=>0x0f,0x3b=>0x10,0x3c=>0x11,0x3d=>0x12,0x3e=>0x13, // + 0x3f=>0x14,0x40=>0x15,0x5b=>0x16,0x5c=>0x17,0x5d=>0x18,0x5e=>0x19,0x5f=>0x1a,'F1'=>0x1b,'US'=>0x1e), // + 'S3C' => array( // Shift 3 set for C40 -------------------------------------------------------------------------- + 0x60=>0x00,0x61=>0x01,0x62=>0x02,0x63=>0x03,0x64=>0x04,0x65=>0x05,0x66=>0x06,0x67=>0x07,0x68=>0x08,0x69=>0x09, // + 0x6a=>0x0a,0x6b=>0x0b,0x6c=>0x0c,0x6d=>0x0d,0x6e=>0x0e,0x6f=>0x0f,0x70=>0x10,0x71=>0x11,0x72=>0x12,0x73=>0x13, // + 0x74=>0x14,0x75=>0x15,0x76=>0x16,0x77=>0x17,0x78=>0x18,0x79=>0x19,0x7a=>0x1a,0x7b=>0x1b,0x7c=>0x1c,0x7d=>0x1d, // + 0x7e=>0x1e,0x7f=>0x1f), + 'S3T' => array( // Shift 3 set for TEXT ------------------------------------------------------------------------- + 0x60=>0x00,0x41=>0x01,0x42=>0x02,0x43=>0x03,0x44=>0x04,0x45=>0x05,0x46=>0x06,0x47=>0x07,0x48=>0x08,0x49=>0x09, // + 0x4a=>0x0a,0x4b=>0x0b,0x4c=>0x0c,0x4d=>0x0d,0x4e=>0x0e,0x4f=>0x0f,0x50=>0x10,0x51=>0x11,0x52=>0x12,0x53=>0x13, // + 0x54=>0x14,0x55=>0x15,0x56=>0x16,0x57=>0x17,0x58=>0x18,0x59=>0x19,0x5a=>0x1a,0x7b=>0x1b,0x7c=>0x1c,0x7d=>0x1d, // + 0x7e=>0x1e,0x7f=>0x1f), // + 'X12' => array( // Set for X12 ---------------------------------------------------------------------------------- + 0x0d=>0x00,0x2a=>0x01,0x3e=>0x02,0x20=>0x03,0x30=>0x04,0x31=>0x05,0x32=>0x06,0x33=>0x07,0x34=>0x08,0x35=>0x09, // + 0x36=>0x0a,0x37=>0x0b,0x38=>0x0c,0x39=>0x0d,0x41=>0x0e,0x42=>0x0f,0x43=>0x10,0x44=>0x11,0x45=>0x12,0x46=>0x13, // + 0x47=>0x14,0x48=>0x15,0x49=>0x16,0x4a=>0x17,0x4b=>0x18,0x4c=>0x19,0x4d=>0x1a,0x4e=>0x1b,0x4f=>0x1c,0x50=>0x1d, // + 0x51=>0x1e,0x52=>0x1f,0x53=>0x20,0x54=>0x21,0x55=>0x22,0x56=>0x23,0x57=>0x24,0x58=>0x25,0x59=>0x26,0x5a=>0x27) // + ); + +// ----------------------------------------------------------------------------- + + /** + * This is the class constructor. + * Creates a datamatrix object + * @param string $code Code to represent using Datamatrix. + * @public + */ + public function __construct($code) { + $barcode_array = array(); + if ((is_null($code)) OR ($code == '\0') OR ($code == '')) { + return false; + } + // get data codewords + $cw = $this->getHighLevelEncoding($code); + // number of data codewords + $nd = count($cw); + // check size + if ($nd > 1558) { + return false; + } + // get minimum required matrix size. + foreach ($this->symbattr as $params) { + if ($params[11] >= $nd) { + break; + } + } + if ($params[11] < $nd) { + // too much data + return false; + } elseif ($params[11] > $nd) { + // add padding + if ((($params[11] - $nd) > 1) AND ($cw[($nd - 1)] != 254)) { + if ($this->last_enc == ENC_EDF) { + // switch to ASCII encoding + $cw[] = 124; + ++$nd; + } elseif (($this->last_enc != ENC_ASCII) AND ($this->last_enc != ENC_BASE256)) { + // switch to ASCII encoding + $cw[] = 254; + ++$nd; + } + } + if ($params[11] > $nd) { + // add first pad + $cw[] = 129; + ++$nd; + // add remaining pads + for ($i = $nd; $i < $params[11]; ++$i) { + $cw[] = $this->get253StateCodeword(129, $i); + } + } + } + // add error correction codewords + $cw = $this->getErrorCorrection($cw, $params[13], $params[14], $params[15]); + // initialize empty arrays + $grid = array_fill(0, ($params[2] * $params[3]), 0); + // get placement map + $places = $this->getPlacementMap($params[2], $params[3]); + // fill the grid with data + $grid = array(); + $i = 0; + // region data row max index + $rdri = ($params[4] - 1); + // region data column max index + $rdci = ($params[5] - 1); + // for each vertical region + for ($vr = 0; $vr < $params[9]; ++$vr) { + // for each row on region + for ($r = 0; $r < $params[4]; ++$r) { + // get row + $row = (($vr * $params[4]) + $r); + // for each horizontal region + for ($hr = 0; $hr < $params[8]; ++$hr) { + // for each column on region + for ($c = 0; $c < $params[5]; ++$c) { + // get column + $col = (($hr * $params[5]) + $c); + // braw bits by case + if ($r == 0) { + // top finder pattern + if ($c % 2) { + $grid[$row][$col] = 0; + } else { + $grid[$row][$col] = 1; + } + } elseif ($r == $rdri) { + // bottom finder pattern + $grid[$row][$col] = 1; + } elseif ($c == 0) { + // left finder pattern + $grid[$row][$col] = 1; + } elseif ($c == $rdci) { + // right finder pattern + if ($r % 2) { + $grid[$row][$col] = 1; + } else { + $grid[$row][$col] = 0; + } + } else { // data bit + if ($places[$i] < 2) { + $grid[$row][$col] = $places[$i]; + } else { + // codeword ID + $cw_id = (floor($places[$i] / 10) - 1); + // codeword BIT mask + $cw_bit = pow(2, (8 - ($places[$i] % 10))); + $grid[$row][$col] = (($cw[$cw_id] & $cw_bit) == 0) ? 0 : 1; + } + ++$i; + } + } + } + } + } + $this->barcode_array['num_rows'] = $params[0]; + $this->barcode_array['num_cols'] = $params[1]; + $this->barcode_array['bcode'] = $grid; + } + + /** + * Returns a barcode array which is readable by TCPDF + * @return array barcode array readable by TCPDF; + * @public + */ + public function getBarcodeArray() { + return $this->barcode_array; + } + + /** + * Product of two numbers in a Power-of-Two Galois Field + * @param int $a first number to multiply. + * @param int $b second number to multiply. + * @param array $log Log table. + * @param array $alog Anti-Log table. + * @param int $gf Number of Factors of the Reed-Solomon polynomial. + * @return int product + * @protected + */ + protected function getGFProduct($a, $b, $log, $alog, $gf) { + if (($a == 0) OR ($b == 0)) { + return 0; + } + return ($alog[($log[$a] + $log[$b]) % ($gf - 1)]); + } + + /** + * Add error correction codewords to data codewords array (ANNEX E). + * @param array $wd Array of datacodewords. + * @param int $nb Number of blocks. + * @param int $nd Number of data codewords per block. + * @param int $nc Number of correction codewords per block. + * @param int $gf numner of fields on log/antilog table (power of 2). + * @param int $pp The value of its prime modulus polynomial (301 for ECC200). + * @return array data codewords + error codewords + * @protected + */ + protected function getErrorCorrection($wd, $nb, $nd, $nc, $gf=256, $pp=301) { + // generate the log ($log) and antilog ($alog) tables + $log[0] = 0; + $alog[0] = 1; + for ($i = 1; $i < $gf; ++$i) { + $alog[$i] = ($alog[($i - 1)] * 2); + if ($alog[$i] >= $gf) { + $alog[$i] ^= $pp; + } + $log[$alog[$i]] = $i; + } + ksort($log); + // generate the polynomial coefficients (c) + $c = array_fill(0, ($nc + 1), 0); + $c[0] = 1; + for ($i = 1; $i <= $nc; ++$i) { + $c[$i] = $c[($i-1)]; + for ($j = ($i - 1); $j >= 1; --$j) { + $c[$j] = $c[($j - 1)] ^ $this->getGFProduct($c[$j], $alog[$i], $log, $alog, $gf); + } + $c[0] = $this->getGFProduct($c[0], $alog[$i], $log, $alog, $gf); + } + ksort($c); + // total number of data codewords + $num_wd = ($nb * $nd); + // total number of error codewords + $num_we = ($nb * $nc); + // for each block + for ($b = 0; $b < $nb; ++$b) { + // create interleaved data block + $block = array(); + for ($n = $b; $n < $num_wd; $n += $nb) { + $block[] = $wd[$n]; + } + // initialize error codewords + $we = array_fill(0, ($nc + 1), 0); + // calculate error correction codewords for this block + for ($i = 0; $i < $nd; ++$i) { + $k = ($we[0] ^ $block[$i]); + for ($j = 0; $j < $nc; ++$j) { + $we[$j] = ($we[($j + 1)] ^ $this->getGFProduct($k, $c[($nc - $j - 1)], $log, $alog, $gf)); + } + } + // add error codewords at the end of data codewords + $j = 0; + for ($i = $b; $i < $num_we; $i += $nb) { + $wd[($num_wd + $i)] = $we[$j]; + ++$j; + } + } + // reorder codewords + ksort($wd); + return $wd; + } + + /** + * Return the 253-state codeword + * @param int $cwpad Pad codeword. + * @param int $cwpos Number of data codewords from the beginning of encoded data. + * @return int pad codeword + * @protected + */ + protected function get253StateCodeword($cwpad, $cwpos) { + $pad = ($cwpad + (((149 * $cwpos) % 253) + 1)); + if ($pad > 254) { + $pad -= 254; + } + return $pad; + } + + /** + * Return the 255-state codeword + * @param int $cwpad Pad codeword. + * @param int $cwpos Number of data codewords from the beginning of encoded data. + * @return int pad codeword + * @protected + */ + protected function get255StateCodeword($cwpad, $cwpos) { + $pad = ($cwpad + (((149 * $cwpos) % 255) + 1)); + if ($pad > 255) { + $pad -= 256; + } + return $pad; + } + + /** + * Returns true if the char belongs to the selected mode + * @param int $chr Character (byte) to check. + * @param int $mode Current encoding mode. + * @return boolean true if the char is of the selected mode. + * @protected + */ + protected function isCharMode($chr, $mode) { + $status = false; + switch ($mode) { + case ENC_ASCII: { // ASCII character 0 to 127 + $status = (($chr >= 0) AND ($chr <= 127)); + break; + } + case ENC_C40: { // Upper-case alphanumeric + $status = (($chr == 32) OR (($chr >= 48) AND ($chr <= 57)) OR (($chr >= 65) AND ($chr <= 90))); + break; + } + case ENC_TXT: { // Lower-case alphanumeric + $status = (($chr == 32) OR (($chr >= 48) AND ($chr <= 57)) OR (($chr >= 97) AND ($chr <= 122))); + break; + } + case ENC_X12: { // ANSI X12 + $status = (($chr == 13) OR ($chr == 42) OR ($chr == 62)); + break; + } + case ENC_EDF: { // ASCII character 32 to 94 + $status = (($chr >= 32) AND ($chr <= 94)); + break; + } + case ENC_BASE256: { // Function character (FNC1, Structured Append, Reader Program, or Code Page) + $status = (($chr == 232) OR ($chr == 233) OR ($chr == 234) OR ($chr == 241)); + break; + } + case ENC_ASCII_EXT: { // ASCII character 128 to 255 + $status = (($chr >= 128) AND ($chr <= 255)); + break; + } + case ENC_ASCII_NUM: { // ASCII digits + $status = (($chr >= 48) AND ($chr <= 57)); + break; + } + } + return $status; + } + + /** + * The look-ahead test scans the data to be encoded to find the best mode (Annex P - steps from J to S). + * @param string $data data to encode + * @param int $pos current position + * @param int $mode current encoding mode + * @return int encoding mode + * @protected + */ + protected function lookAheadTest($data, $pos, $mode) { + $data_length = strlen($data); + if ($pos >= $data_length) { + return $mode; + } + $charscount = 0; // count processed chars + // STEP J + if ($mode == ENC_ASCII) { + $numch = array(0, 1, 1, 1, 1, 1.25); + } else { + $numch = array(1, 2, 2, 2, 2, 2.25); + $numch[$mode] = 0; + } + while (true) { + // STEP K + if (($pos + $charscount) == $data_length) { + if ($numch[ENC_ASCII] <= ceil(min($numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_X12], $numch[ENC_EDF], $numch[ENC_BASE256]))) { + return ENC_ASCII; + } + if ($numch[ENC_BASE256] < ceil(min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_X12], $numch[ENC_EDF]))) { + return ENC_BASE256; + } + if ($numch[ENC_EDF] < ceil(min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_X12], $numch[ENC_BASE256]))) { + return ENC_EDF; + } + if ($numch[ENC_TXT] < ceil(min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_X12], $numch[ENC_EDF], $numch[ENC_BASE256]))) { + return ENC_TXT; + } + if ($numch[ENC_X12] < ceil(min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_EDF], $numch[ENC_BASE256]))) { + return ENC_X12; + } + return ENC_C40; + } + // get char + $chr = ord($data[$pos + $charscount]); + $charscount++; + // STEP L + if ($this->isCharMode($chr, ENC_ASCII_NUM)) { + $numch[ENC_ASCII] += (1 / 2); + } elseif ($this->isCharMode($chr, ENC_ASCII_EXT)) { + $numch[ENC_ASCII] = ceil($numch[ENC_ASCII]); + $numch[ENC_ASCII] += 2; + } else { + $numch[ENC_ASCII] = ceil($numch[ENC_ASCII]); + $numch[ENC_ASCII] += 1; + } + // STEP M + if ($this->isCharMode($chr, ENC_C40)) { + $numch[ENC_C40] += (2 / 3); + } elseif ($this->isCharMode($chr, ENC_ASCII_EXT)) { + $numch[ENC_C40] += (8 / 3); + } else { + $numch[ENC_C40] += (4 / 3); + } + // STEP N + if ($this->isCharMode($chr, ENC_TXT)) { + $numch[ENC_TXT] += (2 / 3); + } elseif ($this->isCharMode($chr, ENC_ASCII_EXT)) { + $numch[ENC_TXT] += (8 / 3); + } else { + $numch[ENC_TXT] += (4 / 3); + } + // STEP O + if ($this->isCharMode($chr, ENC_X12) OR $this->isCharMode($chr, ENC_C40)) { + $numch[ENC_X12] += (2 / 3); + } elseif ($this->isCharMode($chr, ENC_ASCII_EXT)) { + $numch[ENC_X12] += (13 / 3); + } else { + $numch[ENC_X12] += (10 / 3); + } + // STEP P + if ($this->isCharMode($chr, ENC_EDF)) { + $numch[ENC_EDF] += (3 / 4); + } elseif ($this->isCharMode($chr, ENC_ASCII_EXT)) { + $numch[ENC_EDF] += (17 / 4); + } else { + $numch[ENC_EDF] += (13 / 4); + } + // STEP Q + if ($this->isCharMode($chr, ENC_BASE256)) { + $numch[ENC_BASE256] += 4; + } else { + $numch[ENC_BASE256] += 1; + } + // STEP R + if ($charscount >= 4) { + if (($numch[ENC_ASCII] + 1) <= min($numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_X12], $numch[ENC_EDF], $numch[ENC_BASE256])) { + return ENC_ASCII; + } + if ((($numch[ENC_BASE256] + 1) <= $numch[ENC_ASCII]) + OR (($numch[ENC_BASE256] + 1) < min($numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_X12], $numch[ENC_EDF]))) { + return ENC_BASE256; + } + if (($numch[ENC_EDF] + 1) < min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_X12], $numch[ENC_BASE256])) { + return ENC_EDF; + } + if (($numch[ENC_TXT] + 1) < min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_X12], $numch[ENC_EDF], $numch[ENC_BASE256])) { + return ENC_TXT; + } + if (($numch[ENC_X12] + 1) < min($numch[ENC_ASCII], $numch[ENC_C40], $numch[ENC_TXT], $numch[ENC_EDF], $numch[ENC_BASE256])) { + return ENC_X12; + } + if (($numch[ENC_C40] + 1) < min($numch[ENC_ASCII], $numch[ENC_TXT], $numch[ENC_EDF], $numch[ENC_BASE256])) { + if ($numch[ENC_C40] < $numch[ENC_X12]) { + return ENC_C40; + } + if ($numch[ENC_C40] == $numch[ENC_X12]) { + $k = ($pos + $charscount + 1); + while ($k < $data_length) { + $tmpchr = ord($data[$k]); + if ($this->isCharMode($tmpchr, ENC_X12)) { + return ENC_X12; + } elseif (!($this->isCharMode($tmpchr, ENC_X12) OR $this->isCharMode($tmpchr, ENC_C40))) { + break; + } + ++$k; + } + return ENC_C40; + } + } + } + } // end of while + } + + /** + * Get the switching codeword to a new encoding mode (latch codeword) + * @param int $mode New encoding mode. + * @return int Switch codeword. + * @protected + */ + protected function getSwitchEncodingCodeword($mode) { + switch ($mode) { + case ENC_ASCII: { // ASCII character 0 to 127 + $cw = 254; + if ($this->last_enc == ENC_EDF) { + $cw = 124; + } + break; + } + case ENC_C40: { // Upper-case alphanumeric + $cw = 230; + break; + } + case ENC_TXT: { // Lower-case alphanumeric + $cw = 239; + break; + } + case ENC_X12: { // ANSI X12 + $cw = 238; + break; + } + case ENC_EDF: { // ASCII character 32 to 94 + $cw = 240; + break; + } + case ENC_BASE256: { // Function character (FNC1, Structured Append, Reader Program, or Code Page) + $cw = 231; + break; + } + } + return $cw; + } + + /** + * Choose the minimum matrix size and return the max number of data codewords. + * @param int $numcw Number of current codewords. + * @return int number of data codewords in matrix + * @protected + */ + protected function getMaxDataCodewords($numcw) { + foreach ($this->symbattr as $key => $matrix) { + if ($matrix[11] >= $numcw) { + return $matrix[11]; + } + } + return 0; + } + + /** + * Get high level encoding using the minimum symbol data characters for ECC 200 + * @param string $data data to encode + * @return array of codewords + * @protected + */ + protected function getHighLevelEncoding($data) { + // STEP A. Start in ASCII encodation. + $enc = ENC_ASCII; // current encoding mode + $pos = 0; // current position + $cw = array(); // array of codewords to be returned + $cw_num = 0; // number of data codewords + $data_length = strlen($data); // number of chars + while ($pos < $data_length) { + // set last used encoding + $this->last_enc = $enc; + switch ($enc) { + case ENC_ASCII: { // STEP B. While in ASCII encodation + if (($data_length > 1) AND ($pos < ($data_length - 1)) AND ($this->isCharMode(ord($data[$pos]), ENC_ASCII_NUM) AND $this->isCharMode(ord($data[$pos + 1]), ENC_ASCII_NUM))) { + // 1. If the next data sequence is at least 2 consecutive digits, encode the next two digits as a double digit in ASCII mode. + $cw[] = (intval(substr($data, $pos, 2)) + 130); + ++$cw_num; + $pos += 2; + } else { + // 2. If the look-ahead test (starting at step J) indicates another mode, switch to that mode. + $newenc = $this->lookAheadTest($data, $pos, $enc); + if ($newenc != $enc) { + // switch to new encoding + $enc = $newenc; + $cw[] = $this->getSwitchEncodingCodeword($enc); + ++$cw_num; + } else { + // get new byte + $chr = ord($data[$pos]); + ++$pos; + if ($this->isCharMode($chr, ENC_ASCII_EXT)) { + // 3. If the next data character is extended ASCII (greater than 127) encode it in ASCII mode first using the Upper Shift (value 235) character. + $cw[] = 235; + $cw[] = ($chr - 127); + $cw_num += 2; + } else { + // 4. Otherwise process the next data character in ASCII encodation. + $cw[] = ($chr + 1); + ++$cw_num; + } + } + } + break; + } + case ENC_C40 : // Upper-case alphanumeric + case ENC_TXT : // Lower-case alphanumeric + case ENC_X12 : { // ANSI X12 + $temp_cw = array(); + $p = 0; + $epos = $pos; + // get charset ID + $set_id = $this->chset_id[$enc]; + // get basic charset for current encoding + $charset = $this->chset[$set_id]; + do { + // 2. process the next character in C40 encodation. + $chr = ord($data[$epos]); + ++$epos; + // check for extended character + if ($chr & 0x80) { + if ($enc == ENC_X12) { + return false; + } + $chr = ($chr & 0x7f); + $temp_cw[] = 1; // shift 2 + $temp_cw[] = 30; // upper shift + $p += 2; + } + if (isset($charset[$chr])) { + $temp_cw[] = $charset[$chr]; + ++$p; + } else { + if (isset($this->chset['SH1'][$chr])) { + $temp_cw[] = 0; // shift 1 + $shiftset = $this->chset['SH1']; + } elseif (isset($this->chset['SH2'][$chr])) { + $temp_cw[] = 1; // shift 2 + $shiftset = $this->chset['SH2']; + } elseif (($enc == ENC_C40) AND isset($this->chset['S3C'][$chr])) { + $temp_cw[] = 2; // shift 3 + $shiftset = $this->chset['S3C']; + } elseif (($enc == ENC_TXT) AND isset($this->chset['S3T'][$chr])) { + $temp_cw[] = 2; // shift 3 + $shiftset = $this->chset['S3T']; + } else { + return false; + } + $temp_cw[] = $shiftset[$chr]; + $p += 2; + } + if ($p >= 3) { + $c1 = array_shift($temp_cw); + $c2 = array_shift($temp_cw); + $c3 = array_shift($temp_cw); + $p -= 3; + $tmp = ((1600 * $c1) + (40 * $c2) + $c3 + 1); + $cw[] = ($tmp >> 8); + $cw[] = ($tmp % 256); + $cw_num += 2; + $pos = $epos; + // 1. If the C40 encoding is at the point of starting a new double symbol character and if the look-ahead test (starting at step J) indicates another mode, switch to that mode. + $newenc = $this->lookAheadTest($data, $pos, $enc); + if ($newenc != $enc) { + // switch to new encoding + $enc = $newenc; + if ($enc != ENC_ASCII) { + // set unlatch character + $cw[] = $this->getSwitchEncodingCodeword(ENC_ASCII); + ++$cw_num; + } + $cw[] = $this->getSwitchEncodingCodeword($enc); + ++$cw_num; + $pos -= $p; + $p = 0; + break; + } + } + } while (($p > 0) AND ($epos < $data_length)); + // process last data (if any) + if ($p > 0) { + // get remaining number of data symbols + $cwr = ($this->getMaxDataCodewords($cw_num) - $cw_num); + if (($cwr == 1) AND ($p == 1)) { + // d. If one symbol character remains and one C40 value (data character) remains to be encoded + $c1 = array_shift($temp_cw); + --$p; + $cw[] = ($chr + 1); + ++$cw_num; + $pos = $epos; + $enc = ENC_ASCII; + $this->last_enc = $enc; + } elseif (($cwr == 2) AND ($p == 1)) { + // c. If two symbol characters remain and only one C40 value (data character) remains to be encoded + $c1 = array_shift($temp_cw); + --$p; + $cw[] = 254; + $cw[] = ($chr + 1); + $cw_num += 2; + $pos = $epos; + $enc = ENC_ASCII; + $this->last_enc = $enc; + } elseif (($cwr == 2) AND ($p == 2)) { + // b. If two symbol characters remain and two C40 values remain to be encoded + $c1 = array_shift($temp_cw); + $c2 = array_shift($temp_cw); + $p -= 2; + $tmp = ((1600 * $c1) + (40 * $c2) + 1); + $cw[] = ($tmp >> 8); + $cw[] = ($tmp % 256); + $cw_num += 2; + $pos = $epos; + $enc = ENC_ASCII; + $this->last_enc = $enc; + } else { + // switch to ASCII encoding + if ($enc != ENC_ASCII) { + $enc = ENC_ASCII; + $this->last_enc = $enc; + $cw[] = $this->getSwitchEncodingCodeword($enc); + ++$cw_num; + $pos = ($epos - $p); + } + } + } + break; + } + case ENC_EDF: { // F. While in EDIFACT (EDF) encodation + // initialize temporary array with 0 length + $temp_cw = array(); + $epos = $pos; + $field_length = 0; + $newenc = $enc; + do { + // 2. process the next character in EDIFACT encodation. + $chr = ord($data[$epos]); + if ($this->isCharMode($chr, ENC_EDF)) { + ++$epos; + $temp_cw[] = $chr; + ++$field_length; + } + if (($field_length == 4) OR ($epos == $data_length) OR !$this->isCharMode($chr, ENC_EDF)) { + if (($epos == $data_length) AND ($field_length < 3)) { + $enc = ENC_ASCII; + $cw[] = $this->getSwitchEncodingCodeword($enc); + ++$cw_num; + break; + } + if ($field_length < 4) { + // set unlatch character + $temp_cw[] = 0x1f; + ++$field_length; + // fill empty characters + for ($i = $field_length; $i < 4; ++$i) { + $temp_cw[] = 0; + } + $enc = ENC_ASCII; + $this->last_enc = $enc; + } + // encodes four data characters in three codewords + $tcw = (($temp_cw[0] & 0x3F) << 2) + (($temp_cw[1] & 0x30) >> 4); + if ($tcw > 0) { + $cw[] = $tcw; + $cw_num++; + } + $tcw= (($temp_cw[1] & 0x0F) << 4) + (($temp_cw[2] & 0x3C) >> 2); + if ($tcw > 0) { + $cw[] = $tcw; + $cw_num++; + } + $tcw = (($temp_cw[2] & 0x03) << 6) + ($temp_cw[3] & 0x3F); + if ($tcw > 0) { + $cw[] = $tcw; + $cw_num++; + } + $temp_cw = array(); + $pos = $epos; + $field_length = 0; + if ($enc == ENC_ASCII) { + break; // exit from EDIFACT mode + } + } + } while ($epos < $data_length); + break; + } + case ENC_BASE256: { // G. While in Base 256 (B256) encodation + // initialize temporary array with 0 length + $temp_cw = array(); + $field_length = 0; + while (($pos < $data_length) AND ($field_length <= 1555)) { + $newenc = $this->lookAheadTest($data, $pos, $enc); + if ($newenc != $enc) { + // 1. If the look-ahead test (starting at step J) indicates another mode, switch to that mode. + $enc = $newenc; + break; // exit from B256 mode + } else { + // 2. Otherwise, process the next character in Base 256 encodation. + $chr = ord($data[$pos]); + ++$pos; + $temp_cw[] = $chr; + ++$field_length; + } + } + // set field length + if ($field_length <= 249) { + $cw[] = $this->get255StateCodeword($field_length, ($cw_num + 1)); + ++$cw_num; + } else { + $cw[] = $this->get255StateCodeword((floor($field_length / 250) + 249), ($cw_num + 1)); + $cw[] = $this->get255StateCodeword(($field_length % 250), ($cw_num + 2)); + $cw_num += 2; + } + if (!empty($temp_cw)) { + // add B256 field + foreach ($temp_cw as $p => $cht) { + $cw[] = $this->get255StateCodeword($cht, ($cw_num + $p + 1)); + } + } + break; + } + } // end of switch enc + } // end of while + return $cw; + } + + /** + * Places "chr+bit" with appropriate wrapping within array[]. + * (Annex F - ECC 200 symbol character placement) + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $row Row number. + * @param int $col Column number. + * @param int $chr Char byte. + * @param int $bit Bit. + * @return array + * @protected + */ + protected function placeModule($marr, $nrow, $ncol, $row, $col, $chr, $bit) { + if ($row < 0) { + $row += $nrow; + $col += (4 - (($nrow + 4) % 8)); + } + if ($col < 0) { + $col += $ncol; + $row += (4 - (($ncol + 4) % 8)); + } + $marr[(($row * $ncol) + $col)] = ((10 * $chr) + $bit); + return $marr; + } + + /** + * Places the 8 bits of a utah-shaped symbol character. + * (Annex F - ECC 200 symbol character placement) + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $row Row number. + * @param int $col Column number. + * @param int $chr Char byte. + * @return array + * @protected + */ + protected function placeUtah($marr, $nrow, $ncol, $row, $col, $chr) { + $marr = $this->placeModule($marr, $nrow, $ncol, $row-2, $col-2, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $row-2, $col-1, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $row-1, $col-2, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, $row-1, $col-1, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, $row-1, $col, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, $row, $col-2, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, $row, $col-1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, $row, $col, $chr, 8); + return $marr; + } + + /** + * Places the 8 bits of the first special corner case. + * (Annex F - ECC 200 symbol character placement) + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $chr Char byte. + * @return array + * @protected + */ + protected function placeCornerA($marr, $nrow, $ncol, $chr) { + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, 1, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, 2, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-2, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-1, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol-1, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 2, $ncol-1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 3, $ncol-1, $chr, 8); + return $marr; + } + + /** + * Places the 8 bits of the second special corner case. + * (Annex F - ECC 200 symbol character placement) + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $chr Char byte. + * @return array + * @protected + */ + protected function placeCornerB($marr, $nrow, $ncol, $chr) { + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-3, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-2, 0, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, 0, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-4, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-3, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-2, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol-1, $chr, 8); + return $marr; + } + + /** + * Places the 8 bits of the third special corner case. + * (Annex F - ECC 200 symbol character placement) + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $chr Char byte. + * @return array + * @protected + */ + protected function placeCornerC($marr, $nrow, $ncol, $chr) { + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-3, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-2, 0, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, 0, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-2, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-1, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol-1, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 2, $ncol-1, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 3, $ncol-1, $chr, 8); + return $marr; + } + + /** + * Places the 8 bits of the fourth special corner case. + * (Annex F - ECC 200 symbol character placement) + * @param array $marr Array of symbols. + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @param int $chr Char byte. + * @return array + * @protected + */ + protected function placeCornerD($marr, $nrow, $ncol, $chr) { + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, 0, $chr, 1); + $marr = $this->placeModule($marr, $nrow, $ncol, $nrow-1, $ncol-1, $chr, 2); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-3, $chr, 3); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-2, $chr, 4); + $marr = $this->placeModule($marr, $nrow, $ncol, 0, $ncol-1, $chr, 5); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol-3, $chr, 6); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol-2, $chr, 7); + $marr = $this->placeModule($marr, $nrow, $ncol, 1, $ncol-1, $chr, 8); + return $marr; + } + + /** + * Build a placement map. + * (Annex F - ECC 200 symbol character placement) + * @param int $nrow Number of rows. + * @param int $ncol Number of columns. + * @return array + * @protected + */ + protected function getPlacementMap($nrow, $ncol) { + // initialize array with zeros + $marr = array_fill(0, ($nrow * $ncol), 0); + // set starting values + $chr = 1; + $row = 4; + $col = 0; + do { + // repeatedly first check for one of the special corner cases, then + if (($row == $nrow) AND ($col == 0)) { + $marr = $this->placeCornerA($marr, $nrow, $ncol, $chr); + ++$chr; + } + if (($row == ($nrow - 2)) AND ($col == 0) AND ($ncol % 4)) { + $marr = $this->placeCornerB($marr, $nrow, $ncol, $chr); + ++$chr; + } + if (($row == ($nrow - 2)) AND ($col == 0) AND (($ncol % 8) == 4)) { + $marr = $this->placeCornerC($marr, $nrow, $ncol, $chr); + ++$chr; + } + if (($row == ($nrow + 4)) AND ($col == 2) AND (!($ncol % 8))) { + $marr = $this->placeCornerD($marr, $nrow, $ncol, $chr); + ++$chr; + } + // sweep upward diagonally, inserting successive characters, + do { + if (($row < $nrow) AND ($col >= 0) AND (!$marr[(($row * $ncol) + $col)])) { + $marr = $this->placeUtah($marr, $nrow, $ncol, $row, $col, $chr); + ++$chr; + } + $row -= 2; + $col += 2; + } while (($row >= 0) AND ($col < $ncol)); + ++$row; + $col += 3; + // & then sweep downward diagonally, inserting successive characters,... + do { + if (($row >= 0) AND ($col < $ncol) AND (!$marr[(($row * $ncol) + $col)])) { + $marr = $this->placeUtah($marr, $nrow, $ncol, $row, $col, $chr); + ++$chr; + } + $row += 2; + $col -= 2; + } while (($row < $nrow) AND ($col >= 0)); + $row += 3; + ++$col; + // ... until the entire array is scanned + } while (($row < $nrow) OR ($col < $ncol)); + // lastly, if the lower righthand corner is untouched, fill in fixed pattern + if (!$marr[(($nrow * $ncol) - 1)]) { + $marr[(($nrow * $ncol) - 1)] = 1; + $marr[(($nrow * $ncol) - $ncol - 2)] = 1; + } + return $marr; + } + +} // end DataMatrix class +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/barcodes/pdf417.php b/vendor/tecnickcom/tcpdf/include/barcodes/pdf417.php new file mode 100644 index 0000000..bda2482 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/barcodes/pdf417.php @@ -0,0 +1,996 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// DESCRIPTION : +// +// Class to create PDF417 barcode arrays for TCPDF class. +// PDF417 (ISO/IEC 15438:2006) is a 2-dimensional stacked bar code created by Symbol Technologies in 1991. +// It is one of the most popular 2D codes because of its ability to be read with slightly modified handheld laser or linear CCD scanners. +// TECHNICAL DATA / FEATURES OF PDF417: +// Encodable Character Set: All 128 ASCII Characters (including extended) +// Code Type: Continuous, Multi-Row +// Symbol Height: 3 - 90 Rows +// Symbol Width: 90X - 583X +// Bidirectional Decoding: Yes +// Error Correction Characters: 2 - 512 +// Maximum Data Characters: 1850 text, 2710 digits, 1108 bytes +// +//============================================================+ + +/** + * @file + * Class to create PDF417 barcode arrays for TCPDF class. + * PDF417 (ISO/IEC 15438:2006) is a 2-dimensional stacked bar code created by Symbol Technologies in 1991. + * (requires PHP bcmath extension) + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.005 + */ + +// definitions +if (!defined('PDF417DEFS')) { + + /** + * Indicate that definitions for this class are set + */ + define('PDF417DEFS', true); + + // ----------------------------------------------------- + + /** + * Row height respect X dimension of single module + */ + define('ROWHEIGHT', 4); + + /** + * Horizontal quiet zone in modules + */ + define('QUIETH', 2); + + /** + * Vertical quiet zone in modules + */ + define('QUIETV', 2); + +} // end of definitions + +// #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*# + +/** + * @class PDF417 + * Class to create PDF417 barcode arrays for TCPDF class. + * PDF417 (ISO/IEC 15438:2006) is a 2-dimensional stacked bar code created by Symbol Technologies in 1991. + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.003 + */ +class PDF417 { + + /** + * Barcode array to be returned which is readable by TCPDF. + * @protected + */ + protected $barcode_array = array(); + + /** + * Start pattern. + * @protected + */ + protected $start_pattern = '11111111010101000'; + + /** + * Stop pattern. + * @protected + */ + protected $stop_pattern = '111111101000101001'; + + /** + * Array of text Compaction Sub-Modes (values 0xFB - 0xFF are used for submode changers). + * @protected + */ + protected $textsubmodes = array( + array(0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x20,0xFD,0xFE,0xFF), // Alpha + array(0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x20,0xFD,0xFE,0xFF), // Lower + array(0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x26,0x0d,0x09,0x2c,0x3a,0x23,0x2d,0x2e,0x24,0x2f,0x2b,0x25,0x2a,0x3d,0x5e,0xFB,0x20,0xFD,0xFE,0xFF), // Mixed + array(0x3b,0x3c,0x3e,0x40,0x5b,0x5c,0x5d,0x5f,0x60,0x7e,0x21,0x0d,0x09,0x2c,0x3a,0x0a,0x2d,0x2e,0x24,0x2f,0x22,0x7c,0x2a,0x28,0x29,0x3f,0x7b,0x7d,0x27,0xFF) // Puntuaction + ); + + /** + * Array of switching codes for Text Compaction Sub-Modes. + * @protected + */ + protected $textlatch = array( + '01' => array(27), '02' => array(28), '03' => array(28,25), // + '10' => array(28,28), '12' => array(28), '13' => array(28,25), // + '20' => array(28), '21' => array(27), '23' => array(25), // + '30' => array(29), '31' => array(29,27), '32' => array(29,28) // + ); + + /** + * Clusters of codewords (0, 3, 6)
    + * Values are hex equivalents of binary representation of bars (1 = bar, 0 = space).
    + * The codewords numbered from 900 to 928 have special meaning, some enable to switch between modes in order to optimise the code:
      + *
    • 900 : Switch to "Text" mode
    • + *
    • 901 : Switch to "Byte" mode
    • + *
    • 902 : Switch to "Numeric" mode
    • + *
    • 903 - 912 : Reserved
    • + *
    • 913 : Switch to "Octet" only for the next codeword
    • + *
    • 914 - 920 : Reserved
    • + *
    • 921 : Initialization
    • + *
    • 922 : Terminator codeword for Macro PDF control block
    • + *
    • 923 : Sequence tag to identify the beginning of optional fields in the Macro PDF control block
    • + *
    • 924 : Switch to "Byte" mode (If the total number of byte is multiple of 6)
    • + *
    • 925 : Identifier for a user defined Extended Channel Interpretation (ECI)
    • + *
    • 926 : Identifier for a general purpose ECI format
    • + *
    • 927 : Identifier for an ECI of a character set or code page
    • + *
    • 928 : Macro marker codeword to indicate the beginning of a Macro PDF Control Block
    • + *
    + * @protected + */ + protected $clusters = array( + array( // cluster 0 ----------------------------------------------------------------------- + 0x1d5c0,0x1eaf0,0x1f57c,0x1d4e0,0x1ea78,0x1f53e,0x1a8c0,0x1d470,0x1a860,0x15040, // 10 + 0x1a830,0x15020,0x1adc0,0x1d6f0,0x1eb7c,0x1ace0,0x1d678,0x1eb3e,0x158c0,0x1ac70, // 20 + 0x15860,0x15dc0,0x1aef0,0x1d77c,0x15ce0,0x1ae78,0x1d73e,0x15c70,0x1ae3c,0x15ef0, // 30 + 0x1af7c,0x15e78,0x1af3e,0x15f7c,0x1f5fa,0x1d2e0,0x1e978,0x1f4be,0x1a4c0,0x1d270, // 40 + 0x1e93c,0x1a460,0x1d238,0x14840,0x1a430,0x1d21c,0x14820,0x1a418,0x14810,0x1a6e0, // 50 + 0x1d378,0x1e9be,0x14cc0,0x1a670,0x1d33c,0x14c60,0x1a638,0x1d31e,0x14c30,0x1a61c, // 60 + 0x14ee0,0x1a778,0x1d3be,0x14e70,0x1a73c,0x14e38,0x1a71e,0x14f78,0x1a7be,0x14f3c, // 70 + 0x14f1e,0x1a2c0,0x1d170,0x1e8bc,0x1a260,0x1d138,0x1e89e,0x14440,0x1a230,0x1d11c, // 80 + 0x14420,0x1a218,0x14410,0x14408,0x146c0,0x1a370,0x1d1bc,0x14660,0x1a338,0x1d19e, // 90 + 0x14630,0x1a31c,0x14618,0x1460c,0x14770,0x1a3bc,0x14738,0x1a39e,0x1471c,0x147bc, // 100 + 0x1a160,0x1d0b8,0x1e85e,0x14240,0x1a130,0x1d09c,0x14220,0x1a118,0x1d08e,0x14210, // 110 + 0x1a10c,0x14208,0x1a106,0x14360,0x1a1b8,0x1d0de,0x14330,0x1a19c,0x14318,0x1a18e, // 120 + 0x1430c,0x14306,0x1a1de,0x1438e,0x14140,0x1a0b0,0x1d05c,0x14120,0x1a098,0x1d04e, // 130 + 0x14110,0x1a08c,0x14108,0x1a086,0x14104,0x141b0,0x14198,0x1418c,0x140a0,0x1d02e, // 140 + 0x1a04c,0x1a046,0x14082,0x1cae0,0x1e578,0x1f2be,0x194c0,0x1ca70,0x1e53c,0x19460, // 150 + 0x1ca38,0x1e51e,0x12840,0x19430,0x12820,0x196e0,0x1cb78,0x1e5be,0x12cc0,0x19670, // 160 + 0x1cb3c,0x12c60,0x19638,0x12c30,0x12c18,0x12ee0,0x19778,0x1cbbe,0x12e70,0x1973c, // 170 + 0x12e38,0x12e1c,0x12f78,0x197be,0x12f3c,0x12fbe,0x1dac0,0x1ed70,0x1f6bc,0x1da60, // 180 + 0x1ed38,0x1f69e,0x1b440,0x1da30,0x1ed1c,0x1b420,0x1da18,0x1ed0e,0x1b410,0x1da0c, // 190 + 0x192c0,0x1c970,0x1e4bc,0x1b6c0,0x19260,0x1c938,0x1e49e,0x1b660,0x1db38,0x1ed9e, // 200 + 0x16c40,0x12420,0x19218,0x1c90e,0x16c20,0x1b618,0x16c10,0x126c0,0x19370,0x1c9bc, // 210 + 0x16ec0,0x12660,0x19338,0x1c99e,0x16e60,0x1b738,0x1db9e,0x16e30,0x12618,0x16e18, // 220 + 0x12770,0x193bc,0x16f70,0x12738,0x1939e,0x16f38,0x1b79e,0x16f1c,0x127bc,0x16fbc, // 230 + 0x1279e,0x16f9e,0x1d960,0x1ecb8,0x1f65e,0x1b240,0x1d930,0x1ec9c,0x1b220,0x1d918, // 240 + 0x1ec8e,0x1b210,0x1d90c,0x1b208,0x1b204,0x19160,0x1c8b8,0x1e45e,0x1b360,0x19130, // 250 + 0x1c89c,0x16640,0x12220,0x1d99c,0x1c88e,0x16620,0x12210,0x1910c,0x16610,0x1b30c, // 260 + 0x19106,0x12204,0x12360,0x191b8,0x1c8de,0x16760,0x12330,0x1919c,0x16730,0x1b39c, // 270 + 0x1918e,0x16718,0x1230c,0x12306,0x123b8,0x191de,0x167b8,0x1239c,0x1679c,0x1238e, // 280 + 0x1678e,0x167de,0x1b140,0x1d8b0,0x1ec5c,0x1b120,0x1d898,0x1ec4e,0x1b110,0x1d88c, // 290 + 0x1b108,0x1d886,0x1b104,0x1b102,0x12140,0x190b0,0x1c85c,0x16340,0x12120,0x19098, // 300 + 0x1c84e,0x16320,0x1b198,0x1d8ce,0x16310,0x12108,0x19086,0x16308,0x1b186,0x16304, // 310 + 0x121b0,0x190dc,0x163b0,0x12198,0x190ce,0x16398,0x1b1ce,0x1638c,0x12186,0x16386, // 320 + 0x163dc,0x163ce,0x1b0a0,0x1d858,0x1ec2e,0x1b090,0x1d84c,0x1b088,0x1d846,0x1b084, // 330 + 0x1b082,0x120a0,0x19058,0x1c82e,0x161a0,0x12090,0x1904c,0x16190,0x1b0cc,0x19046, // 340 + 0x16188,0x12084,0x16184,0x12082,0x120d8,0x161d8,0x161cc,0x161c6,0x1d82c,0x1d826, // 350 + 0x1b042,0x1902c,0x12048,0x160c8,0x160c4,0x160c2,0x18ac0,0x1c570,0x1e2bc,0x18a60, // 360 + 0x1c538,0x11440,0x18a30,0x1c51c,0x11420,0x18a18,0x11410,0x11408,0x116c0,0x18b70, // 370 + 0x1c5bc,0x11660,0x18b38,0x1c59e,0x11630,0x18b1c,0x11618,0x1160c,0x11770,0x18bbc, // 380 + 0x11738,0x18b9e,0x1171c,0x117bc,0x1179e,0x1cd60,0x1e6b8,0x1f35e,0x19a40,0x1cd30, // 390 + 0x1e69c,0x19a20,0x1cd18,0x1e68e,0x19a10,0x1cd0c,0x19a08,0x1cd06,0x18960,0x1c4b8, // 400 + 0x1e25e,0x19b60,0x18930,0x1c49c,0x13640,0x11220,0x1cd9c,0x1c48e,0x13620,0x19b18, // 410 + 0x1890c,0x13610,0x11208,0x13608,0x11360,0x189b8,0x1c4de,0x13760,0x11330,0x1cdde, // 420 + 0x13730,0x19b9c,0x1898e,0x13718,0x1130c,0x1370c,0x113b8,0x189de,0x137b8,0x1139c, // 430 + 0x1379c,0x1138e,0x113de,0x137de,0x1dd40,0x1eeb0,0x1f75c,0x1dd20,0x1ee98,0x1f74e, // 440 + 0x1dd10,0x1ee8c,0x1dd08,0x1ee86,0x1dd04,0x19940,0x1ccb0,0x1e65c,0x1bb40,0x19920, // 450 + 0x1eedc,0x1e64e,0x1bb20,0x1dd98,0x1eece,0x1bb10,0x19908,0x1cc86,0x1bb08,0x1dd86, // 460 + 0x19902,0x11140,0x188b0,0x1c45c,0x13340,0x11120,0x18898,0x1c44e,0x17740,0x13320, // 470 + 0x19998,0x1ccce,0x17720,0x1bb98,0x1ddce,0x18886,0x17710,0x13308,0x19986,0x17708, // 480 + 0x11102,0x111b0,0x188dc,0x133b0,0x11198,0x188ce,0x177b0,0x13398,0x199ce,0x17798, // 490 + 0x1bbce,0x11186,0x13386,0x111dc,0x133dc,0x111ce,0x177dc,0x133ce,0x1dca0,0x1ee58, // 500 + 0x1f72e,0x1dc90,0x1ee4c,0x1dc88,0x1ee46,0x1dc84,0x1dc82,0x198a0,0x1cc58,0x1e62e, // 510 + 0x1b9a0,0x19890,0x1ee6e,0x1b990,0x1dccc,0x1cc46,0x1b988,0x19884,0x1b984,0x19882, // 520 + 0x1b982,0x110a0,0x18858,0x1c42e,0x131a0,0x11090,0x1884c,0x173a0,0x13190,0x198cc, // 530 + 0x18846,0x17390,0x1b9cc,0x11084,0x17388,0x13184,0x11082,0x13182,0x110d8,0x1886e, // 540 + 0x131d8,0x110cc,0x173d8,0x131cc,0x110c6,0x173cc,0x131c6,0x110ee,0x173ee,0x1dc50, // 550 + 0x1ee2c,0x1dc48,0x1ee26,0x1dc44,0x1dc42,0x19850,0x1cc2c,0x1b8d0,0x19848,0x1cc26, // 560 + 0x1b8c8,0x1dc66,0x1b8c4,0x19842,0x1b8c2,0x11050,0x1882c,0x130d0,0x11048,0x18826, // 570 + 0x171d0,0x130c8,0x19866,0x171c8,0x1b8e6,0x11042,0x171c4,0x130c2,0x171c2,0x130ec, // 580 + 0x171ec,0x171e6,0x1ee16,0x1dc22,0x1cc16,0x19824,0x19822,0x11028,0x13068,0x170e8, // 590 + 0x11022,0x13062,0x18560,0x10a40,0x18530,0x10a20,0x18518,0x1c28e,0x10a10,0x1850c, // 600 + 0x10a08,0x18506,0x10b60,0x185b8,0x1c2de,0x10b30,0x1859c,0x10b18,0x1858e,0x10b0c, // 610 + 0x10b06,0x10bb8,0x185de,0x10b9c,0x10b8e,0x10bde,0x18d40,0x1c6b0,0x1e35c,0x18d20, // 620 + 0x1c698,0x18d10,0x1c68c,0x18d08,0x1c686,0x18d04,0x10940,0x184b0,0x1c25c,0x11b40, // 630 + 0x10920,0x1c6dc,0x1c24e,0x11b20,0x18d98,0x1c6ce,0x11b10,0x10908,0x18486,0x11b08, // 640 + 0x18d86,0x10902,0x109b0,0x184dc,0x11bb0,0x10998,0x184ce,0x11b98,0x18dce,0x11b8c, // 650 + 0x10986,0x109dc,0x11bdc,0x109ce,0x11bce,0x1cea0,0x1e758,0x1f3ae,0x1ce90,0x1e74c, // 660 + 0x1ce88,0x1e746,0x1ce84,0x1ce82,0x18ca0,0x1c658,0x19da0,0x18c90,0x1c64c,0x19d90, // 670 + 0x1cecc,0x1c646,0x19d88,0x18c84,0x19d84,0x18c82,0x19d82,0x108a0,0x18458,0x119a0, // 680 + 0x10890,0x1c66e,0x13ba0,0x11990,0x18ccc,0x18446,0x13b90,0x19dcc,0x10884,0x13b88, // 690 + 0x11984,0x10882,0x11982,0x108d8,0x1846e,0x119d8,0x108cc,0x13bd8,0x119cc,0x108c6, // 700 + 0x13bcc,0x119c6,0x108ee,0x119ee,0x13bee,0x1ef50,0x1f7ac,0x1ef48,0x1f7a6,0x1ef44, // 710 + 0x1ef42,0x1ce50,0x1e72c,0x1ded0,0x1ef6c,0x1e726,0x1dec8,0x1ef66,0x1dec4,0x1ce42, // 720 + 0x1dec2,0x18c50,0x1c62c,0x19cd0,0x18c48,0x1c626,0x1bdd0,0x19cc8,0x1ce66,0x1bdc8, // 730 + 0x1dee6,0x18c42,0x1bdc4,0x19cc2,0x1bdc2,0x10850,0x1842c,0x118d0,0x10848,0x18426, // 740 + 0x139d0,0x118c8,0x18c66,0x17bd0,0x139c8,0x19ce6,0x10842,0x17bc8,0x1bde6,0x118c2, // 750 + 0x17bc4,0x1086c,0x118ec,0x10866,0x139ec,0x118e6,0x17bec,0x139e6,0x17be6,0x1ef28, // 760 + 0x1f796,0x1ef24,0x1ef22,0x1ce28,0x1e716,0x1de68,0x1ef36,0x1de64,0x1ce22,0x1de62, // 770 + 0x18c28,0x1c616,0x19c68,0x18c24,0x1bce8,0x19c64,0x18c22,0x1bce4,0x19c62,0x1bce2, // 780 + 0x10828,0x18416,0x11868,0x18c36,0x138e8,0x11864,0x10822,0x179e8,0x138e4,0x11862, // 790 + 0x179e4,0x138e2,0x179e2,0x11876,0x179f6,0x1ef12,0x1de34,0x1de32,0x19c34,0x1bc74, // 800 + 0x1bc72,0x11834,0x13874,0x178f4,0x178f2,0x10540,0x10520,0x18298,0x10510,0x10508, // 810 + 0x10504,0x105b0,0x10598,0x1058c,0x10586,0x105dc,0x105ce,0x186a0,0x18690,0x1c34c, // 820 + 0x18688,0x1c346,0x18684,0x18682,0x104a0,0x18258,0x10da0,0x186d8,0x1824c,0x10d90, // 830 + 0x186cc,0x10d88,0x186c6,0x10d84,0x10482,0x10d82,0x104d8,0x1826e,0x10dd8,0x186ee, // 840 + 0x10dcc,0x104c6,0x10dc6,0x104ee,0x10dee,0x1c750,0x1c748,0x1c744,0x1c742,0x18650, // 850 + 0x18ed0,0x1c76c,0x1c326,0x18ec8,0x1c766,0x18ec4,0x18642,0x18ec2,0x10450,0x10cd0, // 860 + 0x10448,0x18226,0x11dd0,0x10cc8,0x10444,0x11dc8,0x10cc4,0x10442,0x11dc4,0x10cc2, // 870 + 0x1046c,0x10cec,0x10466,0x11dec,0x10ce6,0x11de6,0x1e7a8,0x1e7a4,0x1e7a2,0x1c728, // 880 + 0x1cf68,0x1e7b6,0x1cf64,0x1c722,0x1cf62,0x18628,0x1c316,0x18e68,0x1c736,0x19ee8, // 890 + 0x18e64,0x18622,0x19ee4,0x18e62,0x19ee2,0x10428,0x18216,0x10c68,0x18636,0x11ce8, // 900 + 0x10c64,0x10422,0x13de8,0x11ce4,0x10c62,0x13de4,0x11ce2,0x10436,0x10c76,0x11cf6, // 910 + 0x13df6,0x1f7d4,0x1f7d2,0x1e794,0x1efb4,0x1e792,0x1efb2,0x1c714,0x1cf34,0x1c712, // 920 + 0x1df74,0x1cf32,0x1df72,0x18614,0x18e34,0x18612,0x19e74,0x18e32,0x1bef4), // 929 + array( // cluster 3 ----------------------------------------------------------------------- + 0x1f560,0x1fab8,0x1ea40,0x1f530,0x1fa9c,0x1ea20,0x1f518,0x1fa8e,0x1ea10,0x1f50c, // 10 + 0x1ea08,0x1f506,0x1ea04,0x1eb60,0x1f5b8,0x1fade,0x1d640,0x1eb30,0x1f59c,0x1d620, // 20 + 0x1eb18,0x1f58e,0x1d610,0x1eb0c,0x1d608,0x1eb06,0x1d604,0x1d760,0x1ebb8,0x1f5de, // 30 + 0x1ae40,0x1d730,0x1eb9c,0x1ae20,0x1d718,0x1eb8e,0x1ae10,0x1d70c,0x1ae08,0x1d706, // 40 + 0x1ae04,0x1af60,0x1d7b8,0x1ebde,0x15e40,0x1af30,0x1d79c,0x15e20,0x1af18,0x1d78e, // 50 + 0x15e10,0x1af0c,0x15e08,0x1af06,0x15f60,0x1afb8,0x1d7de,0x15f30,0x1af9c,0x15f18, // 60 + 0x1af8e,0x15f0c,0x15fb8,0x1afde,0x15f9c,0x15f8e,0x1e940,0x1f4b0,0x1fa5c,0x1e920, // 70 + 0x1f498,0x1fa4e,0x1e910,0x1f48c,0x1e908,0x1f486,0x1e904,0x1e902,0x1d340,0x1e9b0, // 80 + 0x1f4dc,0x1d320,0x1e998,0x1f4ce,0x1d310,0x1e98c,0x1d308,0x1e986,0x1d304,0x1d302, // 90 + 0x1a740,0x1d3b0,0x1e9dc,0x1a720,0x1d398,0x1e9ce,0x1a710,0x1d38c,0x1a708,0x1d386, // 100 + 0x1a704,0x1a702,0x14f40,0x1a7b0,0x1d3dc,0x14f20,0x1a798,0x1d3ce,0x14f10,0x1a78c, // 110 + 0x14f08,0x1a786,0x14f04,0x14fb0,0x1a7dc,0x14f98,0x1a7ce,0x14f8c,0x14f86,0x14fdc, // 120 + 0x14fce,0x1e8a0,0x1f458,0x1fa2e,0x1e890,0x1f44c,0x1e888,0x1f446,0x1e884,0x1e882, // 130 + 0x1d1a0,0x1e8d8,0x1f46e,0x1d190,0x1e8cc,0x1d188,0x1e8c6,0x1d184,0x1d182,0x1a3a0, // 140 + 0x1d1d8,0x1e8ee,0x1a390,0x1d1cc,0x1a388,0x1d1c6,0x1a384,0x1a382,0x147a0,0x1a3d8, // 150 + 0x1d1ee,0x14790,0x1a3cc,0x14788,0x1a3c6,0x14784,0x14782,0x147d8,0x1a3ee,0x147cc, // 160 + 0x147c6,0x147ee,0x1e850,0x1f42c,0x1e848,0x1f426,0x1e844,0x1e842,0x1d0d0,0x1e86c, // 170 + 0x1d0c8,0x1e866,0x1d0c4,0x1d0c2,0x1a1d0,0x1d0ec,0x1a1c8,0x1d0e6,0x1a1c4,0x1a1c2, // 180 + 0x143d0,0x1a1ec,0x143c8,0x1a1e6,0x143c4,0x143c2,0x143ec,0x143e6,0x1e828,0x1f416, // 190 + 0x1e824,0x1e822,0x1d068,0x1e836,0x1d064,0x1d062,0x1a0e8,0x1d076,0x1a0e4,0x1a0e2, // 200 + 0x141e8,0x1a0f6,0x141e4,0x141e2,0x1e814,0x1e812,0x1d034,0x1d032,0x1a074,0x1a072, // 210 + 0x1e540,0x1f2b0,0x1f95c,0x1e520,0x1f298,0x1f94e,0x1e510,0x1f28c,0x1e508,0x1f286, // 220 + 0x1e504,0x1e502,0x1cb40,0x1e5b0,0x1f2dc,0x1cb20,0x1e598,0x1f2ce,0x1cb10,0x1e58c, // 230 + 0x1cb08,0x1e586,0x1cb04,0x1cb02,0x19740,0x1cbb0,0x1e5dc,0x19720,0x1cb98,0x1e5ce, // 240 + 0x19710,0x1cb8c,0x19708,0x1cb86,0x19704,0x19702,0x12f40,0x197b0,0x1cbdc,0x12f20, // 250 + 0x19798,0x1cbce,0x12f10,0x1978c,0x12f08,0x19786,0x12f04,0x12fb0,0x197dc,0x12f98, // 260 + 0x197ce,0x12f8c,0x12f86,0x12fdc,0x12fce,0x1f6a0,0x1fb58,0x16bf0,0x1f690,0x1fb4c, // 270 + 0x169f8,0x1f688,0x1fb46,0x168fc,0x1f684,0x1f682,0x1e4a0,0x1f258,0x1f92e,0x1eda0, // 280 + 0x1e490,0x1fb6e,0x1ed90,0x1f6cc,0x1f246,0x1ed88,0x1e484,0x1ed84,0x1e482,0x1ed82, // 290 + 0x1c9a0,0x1e4d8,0x1f26e,0x1dba0,0x1c990,0x1e4cc,0x1db90,0x1edcc,0x1e4c6,0x1db88, // 300 + 0x1c984,0x1db84,0x1c982,0x1db82,0x193a0,0x1c9d8,0x1e4ee,0x1b7a0,0x19390,0x1c9cc, // 310 + 0x1b790,0x1dbcc,0x1c9c6,0x1b788,0x19384,0x1b784,0x19382,0x1b782,0x127a0,0x193d8, // 320 + 0x1c9ee,0x16fa0,0x12790,0x193cc,0x16f90,0x1b7cc,0x193c6,0x16f88,0x12784,0x16f84, // 330 + 0x12782,0x127d8,0x193ee,0x16fd8,0x127cc,0x16fcc,0x127c6,0x16fc6,0x127ee,0x1f650, // 340 + 0x1fb2c,0x165f8,0x1f648,0x1fb26,0x164fc,0x1f644,0x1647e,0x1f642,0x1e450,0x1f22c, // 350 + 0x1ecd0,0x1e448,0x1f226,0x1ecc8,0x1f666,0x1ecc4,0x1e442,0x1ecc2,0x1c8d0,0x1e46c, // 360 + 0x1d9d0,0x1c8c8,0x1e466,0x1d9c8,0x1ece6,0x1d9c4,0x1c8c2,0x1d9c2,0x191d0,0x1c8ec, // 370 + 0x1b3d0,0x191c8,0x1c8e6,0x1b3c8,0x1d9e6,0x1b3c4,0x191c2,0x1b3c2,0x123d0,0x191ec, // 380 + 0x167d0,0x123c8,0x191e6,0x167c8,0x1b3e6,0x167c4,0x123c2,0x167c2,0x123ec,0x167ec, // 390 + 0x123e6,0x167e6,0x1f628,0x1fb16,0x162fc,0x1f624,0x1627e,0x1f622,0x1e428,0x1f216, // 400 + 0x1ec68,0x1f636,0x1ec64,0x1e422,0x1ec62,0x1c868,0x1e436,0x1d8e8,0x1c864,0x1d8e4, // 410 + 0x1c862,0x1d8e2,0x190e8,0x1c876,0x1b1e8,0x1d8f6,0x1b1e4,0x190e2,0x1b1e2,0x121e8, // 420 + 0x190f6,0x163e8,0x121e4,0x163e4,0x121e2,0x163e2,0x121f6,0x163f6,0x1f614,0x1617e, // 430 + 0x1f612,0x1e414,0x1ec34,0x1e412,0x1ec32,0x1c834,0x1d874,0x1c832,0x1d872,0x19074, // 440 + 0x1b0f4,0x19072,0x1b0f2,0x120f4,0x161f4,0x120f2,0x161f2,0x1f60a,0x1e40a,0x1ec1a, // 450 + 0x1c81a,0x1d83a,0x1903a,0x1b07a,0x1e2a0,0x1f158,0x1f8ae,0x1e290,0x1f14c,0x1e288, // 460 + 0x1f146,0x1e284,0x1e282,0x1c5a0,0x1e2d8,0x1f16e,0x1c590,0x1e2cc,0x1c588,0x1e2c6, // 470 + 0x1c584,0x1c582,0x18ba0,0x1c5d8,0x1e2ee,0x18b90,0x1c5cc,0x18b88,0x1c5c6,0x18b84, // 480 + 0x18b82,0x117a0,0x18bd8,0x1c5ee,0x11790,0x18bcc,0x11788,0x18bc6,0x11784,0x11782, // 490 + 0x117d8,0x18bee,0x117cc,0x117c6,0x117ee,0x1f350,0x1f9ac,0x135f8,0x1f348,0x1f9a6, // 500 + 0x134fc,0x1f344,0x1347e,0x1f342,0x1e250,0x1f12c,0x1e6d0,0x1e248,0x1f126,0x1e6c8, // 510 + 0x1f366,0x1e6c4,0x1e242,0x1e6c2,0x1c4d0,0x1e26c,0x1cdd0,0x1c4c8,0x1e266,0x1cdc8, // 520 + 0x1e6e6,0x1cdc4,0x1c4c2,0x1cdc2,0x189d0,0x1c4ec,0x19bd0,0x189c8,0x1c4e6,0x19bc8, // 530 + 0x1cde6,0x19bc4,0x189c2,0x19bc2,0x113d0,0x189ec,0x137d0,0x113c8,0x189e6,0x137c8, // 540 + 0x19be6,0x137c4,0x113c2,0x137c2,0x113ec,0x137ec,0x113e6,0x137e6,0x1fba8,0x175f0, // 550 + 0x1bafc,0x1fba4,0x174f8,0x1ba7e,0x1fba2,0x1747c,0x1743e,0x1f328,0x1f996,0x132fc, // 560 + 0x1f768,0x1fbb6,0x176fc,0x1327e,0x1f764,0x1f322,0x1767e,0x1f762,0x1e228,0x1f116, // 570 + 0x1e668,0x1e224,0x1eee8,0x1f776,0x1e222,0x1eee4,0x1e662,0x1eee2,0x1c468,0x1e236, // 580 + 0x1cce8,0x1c464,0x1dde8,0x1cce4,0x1c462,0x1dde4,0x1cce2,0x1dde2,0x188e8,0x1c476, // 590 + 0x199e8,0x188e4,0x1bbe8,0x199e4,0x188e2,0x1bbe4,0x199e2,0x1bbe2,0x111e8,0x188f6, // 600 + 0x133e8,0x111e4,0x177e8,0x133e4,0x111e2,0x177e4,0x133e2,0x177e2,0x111f6,0x133f6, // 610 + 0x1fb94,0x172f8,0x1b97e,0x1fb92,0x1727c,0x1723e,0x1f314,0x1317e,0x1f734,0x1f312, // 620 + 0x1737e,0x1f732,0x1e214,0x1e634,0x1e212,0x1ee74,0x1e632,0x1ee72,0x1c434,0x1cc74, // 630 + 0x1c432,0x1dcf4,0x1cc72,0x1dcf2,0x18874,0x198f4,0x18872,0x1b9f4,0x198f2,0x1b9f2, // 640 + 0x110f4,0x131f4,0x110f2,0x173f4,0x131f2,0x173f2,0x1fb8a,0x1717c,0x1713e,0x1f30a, // 650 + 0x1f71a,0x1e20a,0x1e61a,0x1ee3a,0x1c41a,0x1cc3a,0x1dc7a,0x1883a,0x1987a,0x1b8fa, // 660 + 0x1107a,0x130fa,0x171fa,0x170be,0x1e150,0x1f0ac,0x1e148,0x1f0a6,0x1e144,0x1e142, // 670 + 0x1c2d0,0x1e16c,0x1c2c8,0x1e166,0x1c2c4,0x1c2c2,0x185d0,0x1c2ec,0x185c8,0x1c2e6, // 680 + 0x185c4,0x185c2,0x10bd0,0x185ec,0x10bc8,0x185e6,0x10bc4,0x10bc2,0x10bec,0x10be6, // 690 + 0x1f1a8,0x1f8d6,0x11afc,0x1f1a4,0x11a7e,0x1f1a2,0x1e128,0x1f096,0x1e368,0x1e124, // 700 + 0x1e364,0x1e122,0x1e362,0x1c268,0x1e136,0x1c6e8,0x1c264,0x1c6e4,0x1c262,0x1c6e2, // 710 + 0x184e8,0x1c276,0x18de8,0x184e4,0x18de4,0x184e2,0x18de2,0x109e8,0x184f6,0x11be8, // 720 + 0x109e4,0x11be4,0x109e2,0x11be2,0x109f6,0x11bf6,0x1f9d4,0x13af8,0x19d7e,0x1f9d2, // 730 + 0x13a7c,0x13a3e,0x1f194,0x1197e,0x1f3b4,0x1f192,0x13b7e,0x1f3b2,0x1e114,0x1e334, // 740 + 0x1e112,0x1e774,0x1e332,0x1e772,0x1c234,0x1c674,0x1c232,0x1cef4,0x1c672,0x1cef2, // 750 + 0x18474,0x18cf4,0x18472,0x19df4,0x18cf2,0x19df2,0x108f4,0x119f4,0x108f2,0x13bf4, // 760 + 0x119f2,0x13bf2,0x17af0,0x1bd7c,0x17a78,0x1bd3e,0x17a3c,0x17a1e,0x1f9ca,0x1397c, // 770 + 0x1fbda,0x17b7c,0x1393e,0x17b3e,0x1f18a,0x1f39a,0x1f7ba,0x1e10a,0x1e31a,0x1e73a, // 780 + 0x1ef7a,0x1c21a,0x1c63a,0x1ce7a,0x1defa,0x1843a,0x18c7a,0x19cfa,0x1bdfa,0x1087a, // 790 + 0x118fa,0x139fa,0x17978,0x1bcbe,0x1793c,0x1791e,0x138be,0x179be,0x178bc,0x1789e, // 800 + 0x1785e,0x1e0a8,0x1e0a4,0x1e0a2,0x1c168,0x1e0b6,0x1c164,0x1c162,0x182e8,0x1c176, // 810 + 0x182e4,0x182e2,0x105e8,0x182f6,0x105e4,0x105e2,0x105f6,0x1f0d4,0x10d7e,0x1f0d2, // 820 + 0x1e094,0x1e1b4,0x1e092,0x1e1b2,0x1c134,0x1c374,0x1c132,0x1c372,0x18274,0x186f4, // 830 + 0x18272,0x186f2,0x104f4,0x10df4,0x104f2,0x10df2,0x1f8ea,0x11d7c,0x11d3e,0x1f0ca, // 840 + 0x1f1da,0x1e08a,0x1e19a,0x1e3ba,0x1c11a,0x1c33a,0x1c77a,0x1823a,0x1867a,0x18efa, // 850 + 0x1047a,0x10cfa,0x11dfa,0x13d78,0x19ebe,0x13d3c,0x13d1e,0x11cbe,0x13dbe,0x17d70, // 860 + 0x1bebc,0x17d38,0x1be9e,0x17d1c,0x17d0e,0x13cbc,0x17dbc,0x13c9e,0x17d9e,0x17cb8, // 870 + 0x1be5e,0x17c9c,0x17c8e,0x13c5e,0x17cde,0x17c5c,0x17c4e,0x17c2e,0x1c0b4,0x1c0b2, // 880 + 0x18174,0x18172,0x102f4,0x102f2,0x1e0da,0x1c09a,0x1c1ba,0x1813a,0x1837a,0x1027a, // 890 + 0x106fa,0x10ebe,0x11ebc,0x11e9e,0x13eb8,0x19f5e,0x13e9c,0x13e8e,0x11e5e,0x13ede, // 900 + 0x17eb0,0x1bf5c,0x17e98,0x1bf4e,0x17e8c,0x17e86,0x13e5c,0x17edc,0x13e4e,0x17ece, // 910 + 0x17e58,0x1bf2e,0x17e4c,0x17e46,0x13e2e,0x17e6e,0x17e2c,0x17e26,0x10f5e,0x11f5c, // 920 + 0x11f4e,0x13f58,0x19fae,0x13f4c,0x13f46,0x11f2e,0x13f6e,0x13f2c,0x13f26), // 929 + array( // cluster 6 ----------------------------------------------------------------------- + 0x1abe0,0x1d5f8,0x153c0,0x1a9f0,0x1d4fc,0x151e0,0x1a8f8,0x1d47e,0x150f0,0x1a87c, // 10 + 0x15078,0x1fad0,0x15be0,0x1adf8,0x1fac8,0x159f0,0x1acfc,0x1fac4,0x158f8,0x1ac7e, // 20 + 0x1fac2,0x1587c,0x1f5d0,0x1faec,0x15df8,0x1f5c8,0x1fae6,0x15cfc,0x1f5c4,0x15c7e, // 30 + 0x1f5c2,0x1ebd0,0x1f5ec,0x1ebc8,0x1f5e6,0x1ebc4,0x1ebc2,0x1d7d0,0x1ebec,0x1d7c8, // 40 + 0x1ebe6,0x1d7c4,0x1d7c2,0x1afd0,0x1d7ec,0x1afc8,0x1d7e6,0x1afc4,0x14bc0,0x1a5f0, // 50 + 0x1d2fc,0x149e0,0x1a4f8,0x1d27e,0x148f0,0x1a47c,0x14878,0x1a43e,0x1483c,0x1fa68, // 60 + 0x14df0,0x1a6fc,0x1fa64,0x14cf8,0x1a67e,0x1fa62,0x14c7c,0x14c3e,0x1f4e8,0x1fa76, // 70 + 0x14efc,0x1f4e4,0x14e7e,0x1f4e2,0x1e9e8,0x1f4f6,0x1e9e4,0x1e9e2,0x1d3e8,0x1e9f6, // 80 + 0x1d3e4,0x1d3e2,0x1a7e8,0x1d3f6,0x1a7e4,0x1a7e2,0x145e0,0x1a2f8,0x1d17e,0x144f0, // 90 + 0x1a27c,0x14478,0x1a23e,0x1443c,0x1441e,0x1fa34,0x146f8,0x1a37e,0x1fa32,0x1467c, // 100 + 0x1463e,0x1f474,0x1477e,0x1f472,0x1e8f4,0x1e8f2,0x1d1f4,0x1d1f2,0x1a3f4,0x1a3f2, // 110 + 0x142f0,0x1a17c,0x14278,0x1a13e,0x1423c,0x1421e,0x1fa1a,0x1437c,0x1433e,0x1f43a, // 120 + 0x1e87a,0x1d0fa,0x14178,0x1a0be,0x1413c,0x1411e,0x141be,0x140bc,0x1409e,0x12bc0, // 130 + 0x195f0,0x1cafc,0x129e0,0x194f8,0x1ca7e,0x128f0,0x1947c,0x12878,0x1943e,0x1283c, // 140 + 0x1f968,0x12df0,0x196fc,0x1f964,0x12cf8,0x1967e,0x1f962,0x12c7c,0x12c3e,0x1f2e8, // 150 + 0x1f976,0x12efc,0x1f2e4,0x12e7e,0x1f2e2,0x1e5e8,0x1f2f6,0x1e5e4,0x1e5e2,0x1cbe8, // 160 + 0x1e5f6,0x1cbe4,0x1cbe2,0x197e8,0x1cbf6,0x197e4,0x197e2,0x1b5e0,0x1daf8,0x1ed7e, // 170 + 0x169c0,0x1b4f0,0x1da7c,0x168e0,0x1b478,0x1da3e,0x16870,0x1b43c,0x16838,0x1b41e, // 180 + 0x1681c,0x125e0,0x192f8,0x1c97e,0x16de0,0x124f0,0x1927c,0x16cf0,0x1b67c,0x1923e, // 190 + 0x16c78,0x1243c,0x16c3c,0x1241e,0x16c1e,0x1f934,0x126f8,0x1937e,0x1fb74,0x1f932, // 200 + 0x16ef8,0x1267c,0x1fb72,0x16e7c,0x1263e,0x16e3e,0x1f274,0x1277e,0x1f6f4,0x1f272, // 210 + 0x16f7e,0x1f6f2,0x1e4f4,0x1edf4,0x1e4f2,0x1edf2,0x1c9f4,0x1dbf4,0x1c9f2,0x1dbf2, // 220 + 0x193f4,0x193f2,0x165c0,0x1b2f0,0x1d97c,0x164e0,0x1b278,0x1d93e,0x16470,0x1b23c, // 230 + 0x16438,0x1b21e,0x1641c,0x1640e,0x122f0,0x1917c,0x166f0,0x12278,0x1913e,0x16678, // 240 + 0x1b33e,0x1663c,0x1221e,0x1661e,0x1f91a,0x1237c,0x1fb3a,0x1677c,0x1233e,0x1673e, // 250 + 0x1f23a,0x1f67a,0x1e47a,0x1ecfa,0x1c8fa,0x1d9fa,0x191fa,0x162e0,0x1b178,0x1d8be, // 260 + 0x16270,0x1b13c,0x16238,0x1b11e,0x1621c,0x1620e,0x12178,0x190be,0x16378,0x1213c, // 270 + 0x1633c,0x1211e,0x1631e,0x121be,0x163be,0x16170,0x1b0bc,0x16138,0x1b09e,0x1611c, // 280 + 0x1610e,0x120bc,0x161bc,0x1209e,0x1619e,0x160b8,0x1b05e,0x1609c,0x1608e,0x1205e, // 290 + 0x160de,0x1605c,0x1604e,0x115e0,0x18af8,0x1c57e,0x114f0,0x18a7c,0x11478,0x18a3e, // 300 + 0x1143c,0x1141e,0x1f8b4,0x116f8,0x18b7e,0x1f8b2,0x1167c,0x1163e,0x1f174,0x1177e, // 310 + 0x1f172,0x1e2f4,0x1e2f2,0x1c5f4,0x1c5f2,0x18bf4,0x18bf2,0x135c0,0x19af0,0x1cd7c, // 320 + 0x134e0,0x19a78,0x1cd3e,0x13470,0x19a3c,0x13438,0x19a1e,0x1341c,0x1340e,0x112f0, // 330 + 0x1897c,0x136f0,0x11278,0x1893e,0x13678,0x19b3e,0x1363c,0x1121e,0x1361e,0x1f89a, // 340 + 0x1137c,0x1f9ba,0x1377c,0x1133e,0x1373e,0x1f13a,0x1f37a,0x1e27a,0x1e6fa,0x1c4fa, // 350 + 0x1cdfa,0x189fa,0x1bae0,0x1dd78,0x1eebe,0x174c0,0x1ba70,0x1dd3c,0x17460,0x1ba38, // 360 + 0x1dd1e,0x17430,0x1ba1c,0x17418,0x1ba0e,0x1740c,0x132e0,0x19978,0x1ccbe,0x176e0, // 370 + 0x13270,0x1993c,0x17670,0x1bb3c,0x1991e,0x17638,0x1321c,0x1761c,0x1320e,0x1760e, // 380 + 0x11178,0x188be,0x13378,0x1113c,0x17778,0x1333c,0x1111e,0x1773c,0x1331e,0x1771e, // 390 + 0x111be,0x133be,0x177be,0x172c0,0x1b970,0x1dcbc,0x17260,0x1b938,0x1dc9e,0x17230, // 400 + 0x1b91c,0x17218,0x1b90e,0x1720c,0x17206,0x13170,0x198bc,0x17370,0x13138,0x1989e, // 410 + 0x17338,0x1b99e,0x1731c,0x1310e,0x1730e,0x110bc,0x131bc,0x1109e,0x173bc,0x1319e, // 420 + 0x1739e,0x17160,0x1b8b8,0x1dc5e,0x17130,0x1b89c,0x17118,0x1b88e,0x1710c,0x17106, // 430 + 0x130b8,0x1985e,0x171b8,0x1309c,0x1719c,0x1308e,0x1718e,0x1105e,0x130de,0x171de, // 440 + 0x170b0,0x1b85c,0x17098,0x1b84e,0x1708c,0x17086,0x1305c,0x170dc,0x1304e,0x170ce, // 450 + 0x17058,0x1b82e,0x1704c,0x17046,0x1302e,0x1706e,0x1702c,0x17026,0x10af0,0x1857c, // 460 + 0x10a78,0x1853e,0x10a3c,0x10a1e,0x10b7c,0x10b3e,0x1f0ba,0x1e17a,0x1c2fa,0x185fa, // 470 + 0x11ae0,0x18d78,0x1c6be,0x11a70,0x18d3c,0x11a38,0x18d1e,0x11a1c,0x11a0e,0x10978, // 480 + 0x184be,0x11b78,0x1093c,0x11b3c,0x1091e,0x11b1e,0x109be,0x11bbe,0x13ac0,0x19d70, // 490 + 0x1cebc,0x13a60,0x19d38,0x1ce9e,0x13a30,0x19d1c,0x13a18,0x19d0e,0x13a0c,0x13a06, // 500 + 0x11970,0x18cbc,0x13b70,0x11938,0x18c9e,0x13b38,0x1191c,0x13b1c,0x1190e,0x13b0e, // 510 + 0x108bc,0x119bc,0x1089e,0x13bbc,0x1199e,0x13b9e,0x1bd60,0x1deb8,0x1ef5e,0x17a40, // 520 + 0x1bd30,0x1de9c,0x17a20,0x1bd18,0x1de8e,0x17a10,0x1bd0c,0x17a08,0x1bd06,0x17a04, // 530 + 0x13960,0x19cb8,0x1ce5e,0x17b60,0x13930,0x19c9c,0x17b30,0x1bd9c,0x19c8e,0x17b18, // 540 + 0x1390c,0x17b0c,0x13906,0x17b06,0x118b8,0x18c5e,0x139b8,0x1189c,0x17bb8,0x1399c, // 550 + 0x1188e,0x17b9c,0x1398e,0x17b8e,0x1085e,0x118de,0x139de,0x17bde,0x17940,0x1bcb0, // 560 + 0x1de5c,0x17920,0x1bc98,0x1de4e,0x17910,0x1bc8c,0x17908,0x1bc86,0x17904,0x17902, // 570 + 0x138b0,0x19c5c,0x179b0,0x13898,0x19c4e,0x17998,0x1bcce,0x1798c,0x13886,0x17986, // 580 + 0x1185c,0x138dc,0x1184e,0x179dc,0x138ce,0x179ce,0x178a0,0x1bc58,0x1de2e,0x17890, // 590 + 0x1bc4c,0x17888,0x1bc46,0x17884,0x17882,0x13858,0x19c2e,0x178d8,0x1384c,0x178cc, // 600 + 0x13846,0x178c6,0x1182e,0x1386e,0x178ee,0x17850,0x1bc2c,0x17848,0x1bc26,0x17844, // 610 + 0x17842,0x1382c,0x1786c,0x13826,0x17866,0x17828,0x1bc16,0x17824,0x17822,0x13816, // 620 + 0x17836,0x10578,0x182be,0x1053c,0x1051e,0x105be,0x10d70,0x186bc,0x10d38,0x1869e, // 630 + 0x10d1c,0x10d0e,0x104bc,0x10dbc,0x1049e,0x10d9e,0x11d60,0x18eb8,0x1c75e,0x11d30, // 640 + 0x18e9c,0x11d18,0x18e8e,0x11d0c,0x11d06,0x10cb8,0x1865e,0x11db8,0x10c9c,0x11d9c, // 650 + 0x10c8e,0x11d8e,0x1045e,0x10cde,0x11dde,0x13d40,0x19eb0,0x1cf5c,0x13d20,0x19e98, // 660 + 0x1cf4e,0x13d10,0x19e8c,0x13d08,0x19e86,0x13d04,0x13d02,0x11cb0,0x18e5c,0x13db0, // 670 + 0x11c98,0x18e4e,0x13d98,0x19ece,0x13d8c,0x11c86,0x13d86,0x10c5c,0x11cdc,0x10c4e, // 680 + 0x13ddc,0x11cce,0x13dce,0x1bea0,0x1df58,0x1efae,0x1be90,0x1df4c,0x1be88,0x1df46, // 690 + 0x1be84,0x1be82,0x13ca0,0x19e58,0x1cf2e,0x17da0,0x13c90,0x19e4c,0x17d90,0x1becc, // 700 + 0x19e46,0x17d88,0x13c84,0x17d84,0x13c82,0x17d82,0x11c58,0x18e2e,0x13cd8,0x11c4c, // 710 + 0x17dd8,0x13ccc,0x11c46,0x17dcc,0x13cc6,0x17dc6,0x10c2e,0x11c6e,0x13cee,0x17dee, // 720 + 0x1be50,0x1df2c,0x1be48,0x1df26,0x1be44,0x1be42,0x13c50,0x19e2c,0x17cd0,0x13c48, // 730 + 0x19e26,0x17cc8,0x1be66,0x17cc4,0x13c42,0x17cc2,0x11c2c,0x13c6c,0x11c26,0x17cec, // 740 + 0x13c66,0x17ce6,0x1be28,0x1df16,0x1be24,0x1be22,0x13c28,0x19e16,0x17c68,0x13c24, // 750 + 0x17c64,0x13c22,0x17c62,0x11c16,0x13c36,0x17c76,0x1be14,0x1be12,0x13c14,0x17c34, // 760 + 0x13c12,0x17c32,0x102bc,0x1029e,0x106b8,0x1835e,0x1069c,0x1068e,0x1025e,0x106de, // 770 + 0x10eb0,0x1875c,0x10e98,0x1874e,0x10e8c,0x10e86,0x1065c,0x10edc,0x1064e,0x10ece, // 780 + 0x11ea0,0x18f58,0x1c7ae,0x11e90,0x18f4c,0x11e88,0x18f46,0x11e84,0x11e82,0x10e58, // 790 + 0x1872e,0x11ed8,0x18f6e,0x11ecc,0x10e46,0x11ec6,0x1062e,0x10e6e,0x11eee,0x19f50, // 800 + 0x1cfac,0x19f48,0x1cfa6,0x19f44,0x19f42,0x11e50,0x18f2c,0x13ed0,0x19f6c,0x18f26, // 810 + 0x13ec8,0x11e44,0x13ec4,0x11e42,0x13ec2,0x10e2c,0x11e6c,0x10e26,0x13eec,0x11e66, // 820 + 0x13ee6,0x1dfa8,0x1efd6,0x1dfa4,0x1dfa2,0x19f28,0x1cf96,0x1bf68,0x19f24,0x1bf64, // 830 + 0x19f22,0x1bf62,0x11e28,0x18f16,0x13e68,0x11e24,0x17ee8,0x13e64,0x11e22,0x17ee4, // 840 + 0x13e62,0x17ee2,0x10e16,0x11e36,0x13e76,0x17ef6,0x1df94,0x1df92,0x19f14,0x1bf34, // 850 + 0x19f12,0x1bf32,0x11e14,0x13e34,0x11e12,0x17e74,0x13e32,0x17e72,0x1df8a,0x19f0a, // 860 + 0x1bf1a,0x11e0a,0x13e1a,0x17e3a,0x1035c,0x1034e,0x10758,0x183ae,0x1074c,0x10746, // 870 + 0x1032e,0x1076e,0x10f50,0x187ac,0x10f48,0x187a6,0x10f44,0x10f42,0x1072c,0x10f6c, // 880 + 0x10726,0x10f66,0x18fa8,0x1c7d6,0x18fa4,0x18fa2,0x10f28,0x18796,0x11f68,0x18fb6, // 890 + 0x11f64,0x10f22,0x11f62,0x10716,0x10f36,0x11f76,0x1cfd4,0x1cfd2,0x18f94,0x19fb4, // 900 + 0x18f92,0x19fb2,0x10f14,0x11f34,0x10f12,0x13f74,0x11f32,0x13f72,0x1cfca,0x18f8a, // 910 + 0x19f9a,0x10f0a,0x11f1a,0x13f3a,0x103ac,0x103a6,0x107a8,0x183d6,0x107a4,0x107a2, // 920 + 0x10396,0x107b6,0x187d4,0x187d2,0x10794,0x10fb4,0x10792,0x10fb2,0x1c7ea) // 929 + ); // end of $clusters array + + /** + * Array of factors of the Reed-Solomon polynomial equations used for error correction; one sub array for each correction level (0-8). + * @protected + */ + protected $rsfactors = array( + array( // ECL 0 (2 factors) ------------------------------------------------------------------------------- + 0x01b,0x395), // 2 + array( // ECL 1 (4 factors) ------------------------------------------------------------------------------- + 0x20a,0x238,0x2d3,0x329), // 4 + array( // ECL 2 (8 factors) ------------------------------------------------------------------------------- + 0x0ed,0x134,0x1b4,0x11c,0x286,0x28d,0x1ac,0x17b), // 8 + array( // ECL 3 (16 factors) ------------------------------------------------------------------------------ + 0x112,0x232,0x0e8,0x2f3,0x257,0x20c,0x321,0x084,0x127,0x074,0x1ba,0x1ac,0x127,0x02a,0x0b0,0x041),// 16 + array( // ECL 4 (32 factors) ------------------------------------------------------------------------------ + 0x169,0x23f,0x39a,0x20d,0x0b0,0x24a,0x280,0x141,0x218,0x2e6,0x2a5,0x2e6,0x2af,0x11c,0x0c1,0x205, // 16 + 0x111,0x1ee,0x107,0x093,0x251,0x320,0x23b,0x140,0x323,0x085,0x0e7,0x186,0x2ad,0x14a,0x03f,0x19a),// 32 + array( // ECL 5 (64 factors) ------------------------------------------------------------------------------ + 0x21b,0x1a6,0x006,0x05d,0x35e,0x303,0x1c5,0x06a,0x262,0x11f,0x06b,0x1f9,0x2dd,0x36d,0x17d,0x264, // 16 + 0x2d3,0x1dc,0x1ce,0x0ac,0x1ae,0x261,0x35a,0x336,0x21f,0x178,0x1ff,0x190,0x2a0,0x2fa,0x11b,0x0b8, // 32 + 0x1b8,0x023,0x207,0x01f,0x1cc,0x252,0x0e1,0x217,0x205,0x160,0x25d,0x09e,0x28b,0x0c9,0x1e8,0x1f6, // 48 + 0x288,0x2dd,0x2cd,0x053,0x194,0x061,0x118,0x303,0x348,0x275,0x004,0x17d,0x34b,0x26f,0x108,0x21f),// 64 + array( // ECL 6 (128 factors) ----------------------------------------------------------------------------- + 0x209,0x136,0x360,0x223,0x35a,0x244,0x128,0x17b,0x035,0x30b,0x381,0x1bc,0x190,0x39d,0x2ed,0x19f, // 16 + 0x336,0x05d,0x0d9,0x0d0,0x3a0,0x0f4,0x247,0x26c,0x0f6,0x094,0x1bf,0x277,0x124,0x38c,0x1ea,0x2c0, // 32 + 0x204,0x102,0x1c9,0x38b,0x252,0x2d3,0x2a2,0x124,0x110,0x060,0x2ac,0x1b0,0x2ae,0x25e,0x35c,0x239, // 48 + 0x0c1,0x0db,0x081,0x0ba,0x0ec,0x11f,0x0c0,0x307,0x116,0x0ad,0x028,0x17b,0x2c8,0x1cf,0x286,0x308, // 64 + 0x0ab,0x1eb,0x129,0x2fb,0x09c,0x2dc,0x05f,0x10e,0x1bf,0x05a,0x1fb,0x030,0x0e4,0x335,0x328,0x382, // 80 + 0x310,0x297,0x273,0x17a,0x17e,0x106,0x17c,0x25a,0x2f2,0x150,0x059,0x266,0x057,0x1b0,0x29e,0x268, // 96 + 0x09d,0x176,0x0f2,0x2d6,0x258,0x10d,0x177,0x382,0x34d,0x1c6,0x162,0x082,0x32e,0x24b,0x324,0x022, // 112 + 0x0d3,0x14a,0x21b,0x129,0x33b,0x361,0x025,0x205,0x342,0x13b,0x226,0x056,0x321,0x004,0x06c,0x21b),// 128 + array( // ECL 7 (256 factors) ----------------------------------------------------------------------------- + 0x20c,0x37e,0x04b,0x2fe,0x372,0x359,0x04a,0x0cc,0x052,0x24a,0x2c4,0x0fa,0x389,0x312,0x08a,0x2d0, // 16 + 0x35a,0x0c2,0x137,0x391,0x113,0x0be,0x177,0x352,0x1b6,0x2dd,0x0c2,0x118,0x0c9,0x118,0x33c,0x2f5, // 32 + 0x2c6,0x32e,0x397,0x059,0x044,0x239,0x00b,0x0cc,0x31c,0x25d,0x21c,0x391,0x321,0x2bc,0x31f,0x089, // 48 + 0x1b7,0x1a2,0x250,0x29c,0x161,0x35b,0x172,0x2b6,0x145,0x0f0,0x0d8,0x101,0x11c,0x225,0x0d1,0x374, // 64 + 0x13b,0x046,0x149,0x319,0x1ea,0x112,0x36d,0x0a2,0x2ed,0x32c,0x2ac,0x1cd,0x14e,0x178,0x351,0x209, // 80 + 0x133,0x123,0x323,0x2c8,0x013,0x166,0x18f,0x38c,0x067,0x1ff,0x033,0x008,0x205,0x0e1,0x121,0x1d6, // 96 + 0x27d,0x2db,0x042,0x0ff,0x395,0x10d,0x1cf,0x33e,0x2da,0x1b1,0x350,0x249,0x088,0x21a,0x38a,0x05a, // 112 + 0x002,0x122,0x2e7,0x0c7,0x28f,0x387,0x149,0x031,0x322,0x244,0x163,0x24c,0x0bc,0x1ce,0x00a,0x086, // 128 + 0x274,0x140,0x1df,0x082,0x2e3,0x047,0x107,0x13e,0x176,0x259,0x0c0,0x25d,0x08e,0x2a1,0x2af,0x0ea, // 144 + 0x2d2,0x180,0x0b1,0x2f0,0x25f,0x280,0x1c7,0x0c1,0x2b1,0x2c3,0x325,0x281,0x030,0x03c,0x2dc,0x26d, // 160 + 0x37f,0x220,0x105,0x354,0x28f,0x135,0x2b9,0x2f3,0x2f4,0x03c,0x0e7,0x305,0x1b2,0x1a5,0x2d6,0x210, // 176 + 0x1f7,0x076,0x031,0x31b,0x020,0x090,0x1f4,0x0ee,0x344,0x18a,0x118,0x236,0x13f,0x009,0x287,0x226, // 192 + 0x049,0x392,0x156,0x07e,0x020,0x2a9,0x14b,0x318,0x26c,0x03c,0x261,0x1b9,0x0b4,0x317,0x37d,0x2f2, // 208 + 0x25d,0x17f,0x0e4,0x2ed,0x2f8,0x0d5,0x036,0x129,0x086,0x036,0x342,0x12b,0x39a,0x0bf,0x38e,0x214, // 224 + 0x261,0x33d,0x0bd,0x014,0x0a7,0x01d,0x368,0x1c1,0x053,0x192,0x029,0x290,0x1f9,0x243,0x1e1,0x0ad, // 240 + 0x194,0x0fb,0x2b0,0x05f,0x1f1,0x22b,0x282,0x21f,0x133,0x09f,0x39c,0x22e,0x288,0x037,0x1f1,0x00a),// 256 + array( // ECL 8 (512 factors) ----------------------------------------------------------------------------- + 0x160,0x04d,0x175,0x1f8,0x023,0x257,0x1ac,0x0cf,0x199,0x23e,0x076,0x1f2,0x11d,0x17c,0x15e,0x1ec, // 16 + 0x0c5,0x109,0x398,0x09b,0x392,0x12b,0x0e5,0x283,0x126,0x367,0x132,0x058,0x057,0x0c1,0x160,0x30d, // 32 + 0x34e,0x04b,0x147,0x208,0x1b3,0x21f,0x0cb,0x29a,0x0f9,0x15a,0x30d,0x26d,0x280,0x10c,0x31a,0x216, // 48 + 0x21b,0x30d,0x198,0x186,0x284,0x066,0x1dc,0x1f3,0x122,0x278,0x221,0x025,0x35a,0x394,0x228,0x029, // 64 + 0x21e,0x121,0x07a,0x110,0x17f,0x320,0x1e5,0x062,0x2f0,0x1d8,0x2f9,0x06b,0x310,0x35c,0x292,0x2e5, // 80 + 0x122,0x0cc,0x2a9,0x197,0x357,0x055,0x063,0x03e,0x1e2,0x0b4,0x014,0x129,0x1c3,0x251,0x391,0x08e, // 96 + 0x328,0x2ac,0x11f,0x218,0x231,0x04c,0x28d,0x383,0x2d9,0x237,0x2e8,0x186,0x201,0x0c0,0x204,0x102, // 112 + 0x0f0,0x206,0x31a,0x18b,0x300,0x350,0x033,0x262,0x180,0x0a8,0x0be,0x33a,0x148,0x254,0x312,0x12f, // 128 + 0x23a,0x17d,0x19f,0x281,0x09c,0x0ed,0x097,0x1ad,0x213,0x0cf,0x2a4,0x2c6,0x059,0x0a8,0x130,0x192, // 144 + 0x028,0x2c4,0x23f,0x0a2,0x360,0x0e5,0x041,0x35d,0x349,0x200,0x0a4,0x1dd,0x0dd,0x05c,0x166,0x311, // 160 + 0x120,0x165,0x352,0x344,0x33b,0x2e0,0x2c3,0x05e,0x008,0x1ee,0x072,0x209,0x002,0x1f3,0x353,0x21f, // 176 + 0x098,0x2d9,0x303,0x05f,0x0f8,0x169,0x242,0x143,0x358,0x31d,0x121,0x033,0x2ac,0x1d2,0x215,0x334, // 192 + 0x29d,0x02d,0x386,0x1c4,0x0a7,0x156,0x0f4,0x0ad,0x023,0x1cf,0x28b,0x033,0x2bb,0x24f,0x1c4,0x242, // 208 + 0x025,0x07c,0x12a,0x14c,0x228,0x02b,0x1ab,0x077,0x296,0x309,0x1db,0x352,0x2fc,0x16c,0x242,0x38f, // 224 + 0x11b,0x2c7,0x1d8,0x1a4,0x0f5,0x120,0x252,0x18a,0x1ff,0x147,0x24d,0x309,0x2bb,0x2b0,0x02b,0x198, // 240 + 0x34a,0x17f,0x2d1,0x209,0x230,0x284,0x2ca,0x22f,0x03e,0x091,0x369,0x297,0x2c9,0x09f,0x2a0,0x2d9, // 256 + 0x270,0x03b,0x0c1,0x1a1,0x09e,0x0d1,0x233,0x234,0x157,0x2b5,0x06d,0x260,0x233,0x16d,0x0b5,0x304, // 272 + 0x2a5,0x136,0x0f8,0x161,0x2c4,0x19a,0x243,0x366,0x269,0x349,0x278,0x35c,0x121,0x218,0x023,0x309, // 288 + 0x26a,0x24a,0x1a8,0x341,0x04d,0x255,0x15a,0x10d,0x2f5,0x278,0x2b7,0x2ef,0x14b,0x0f7,0x0b8,0x02d, // 304 + 0x313,0x2a8,0x012,0x042,0x197,0x171,0x036,0x1ec,0x0e4,0x265,0x33e,0x39a,0x1b5,0x207,0x284,0x389, // 320 + 0x315,0x1a4,0x131,0x1b9,0x0cf,0x12c,0x37c,0x33b,0x08d,0x219,0x17d,0x296,0x201,0x038,0x0fc,0x155, // 336 + 0x0f2,0x31d,0x346,0x345,0x2d0,0x0e0,0x133,0x277,0x03d,0x057,0x230,0x136,0x2f4,0x299,0x18d,0x328, // 352 + 0x353,0x135,0x1d9,0x31b,0x17a,0x01f,0x287,0x393,0x1cb,0x326,0x24e,0x2db,0x1a9,0x0d8,0x224,0x0f9, // 368 + 0x141,0x371,0x2bb,0x217,0x2a1,0x30e,0x0d2,0x32f,0x389,0x12f,0x34b,0x39a,0x119,0x049,0x1d5,0x317, // 384 + 0x294,0x0a2,0x1f2,0x134,0x09b,0x1a6,0x38b,0x331,0x0bb,0x03e,0x010,0x1a9,0x217,0x150,0x11e,0x1b5, // 400 + 0x177,0x111,0x262,0x128,0x0b7,0x39b,0x074,0x29b,0x2ef,0x161,0x03e,0x16e,0x2b3,0x17b,0x2af,0x34a, // 416 + 0x025,0x165,0x2d0,0x2e6,0x14a,0x005,0x027,0x39b,0x137,0x1a8,0x0f2,0x2ed,0x141,0x036,0x29d,0x13c, // 432 + 0x156,0x12b,0x216,0x069,0x29b,0x1e8,0x280,0x2a0,0x240,0x21c,0x13c,0x1e6,0x2d1,0x262,0x02e,0x290, // 448 + 0x1bf,0x0ab,0x268,0x1d0,0x0be,0x213,0x129,0x141,0x2fa,0x2f0,0x215,0x0af,0x086,0x00e,0x17d,0x1b1, // 464 + 0x2cd,0x02d,0x06f,0x014,0x254,0x11c,0x2e0,0x08a,0x286,0x19b,0x36d,0x29d,0x08d,0x397,0x02d,0x30c, // 480 + 0x197,0x0a4,0x14c,0x383,0x0a5,0x2d6,0x258,0x145,0x1f2,0x28f,0x165,0x2f0,0x300,0x0df,0x351,0x287, // 496 + 0x03f,0x136,0x35f,0x0fb,0x16e,0x130,0x11a,0x2e2,0x2a3,0x19a,0x185,0x0f4,0x01f,0x079,0x12f,0x107) // 512 + ); + + /** + * This is the class constructor. + * Creates a PDF417 object + * @param string $code code to represent using PDF417 + * @param int $ecl error correction level (0-8); default -1 = automatic correction level + * @param float $aspectratio the width to height of the symbol (excluding quiet zones) + * @param array $macro information for macro block + * @public + */ + public function __construct($code, $ecl=-1, $aspectratio=2, $macro=array()) { + $barcode_array = array(); + if ((is_null($code)) OR ($code == '\0') OR ($code == '')) { + return false; + } + // get the input sequence array + $sequence = $this->getInputSequences($code); + $codewords = array(); // array of code-words + foreach($sequence as $seq) { + $cw = $this->getCompaction($seq[0], $seq[1], true); + $codewords = array_merge($codewords, $cw); + } + if ($codewords[0] == 900) { + // Text Alpha is the default mode, so remove the first code + array_shift($codewords); + } + // count number of codewords + $numcw = count($codewords); + if ($numcw > 925) { + // reached maximum data codeword capacity + return false; + } + // build macro control block codewords + if (!empty($macro)) { + $macrocw = array(); + // beginning of macro control block + $macrocw[] = 928; + // segment index + $cw = $this->getCompaction(902, sprintf('%05d', $macro['segment_index']), false); + $macrocw = array_merge($macrocw, $cw); + // file ID + $cw = $this->getCompaction(900, $macro['file_id'], false); + $macrocw = array_merge($macrocw, $cw); + // optional fields + $optmodes = array(900,902,902,900,900,902,902); + $optsize = array(-1,2,4,-1,-1,-1,2); + foreach ($optmodes as $k => $omode) { + if (isset($macro['option_'.$k])) { + $macrocw[] = 923; + $macrocw[] = $k; + if ($optsize[$k] == 2) { + $macro['option_'.$k] = sprintf('%05d', $macro['option_'.$k]); + } elseif ($optsize[$k] == 4) { + $macro['option_'.$k] = sprintf('%010d', $macro['option_'.$k]); + } + $cw = $this->getCompaction($omode, $macro['option_'.$k], false); + $macrocw = array_merge($macrocw, $cw); + } + } + if ($macro['segment_index'] == ($macro['segment_total'] - 1)) { + // end of control block + $macrocw[] = 922; + } + // update total codewords + $numcw += count($macrocw); + } + // set error correction level + $ecl = $this->getErrorCorrectionLevel($ecl, $numcw); + // number of codewords for error correction + $errsize = (2 << $ecl); + // calculate number of columns (number of codewords per row) and rows + $nce = ($numcw + $errsize + 1); + $cols = round((sqrt(4761 + (68 * $aspectratio * ROWHEIGHT * $nce)) - 69) / 34); + // adjust cols + if ($cols < 1) { + $cols = 1; + } elseif ($cols > 30) { + $cols = 30; + } + $rows = ceil($nce / $cols); + $size = ($cols * $rows); + // adjust rows + if (($rows < 3) OR ($rows > 90)) { + if ($rows < 3) { + $rows = 3; + } elseif ($rows > 90) { + $rows = 90; + } + $cols = ceil($size / $rows); + $size = ($cols * $rows); + } + if ($size > 928) { + // set dimensions to get maximum capacity + if (abs($aspectratio - (17 * 29 / 32)) < abs($aspectratio - (17 * 16 / 58))) { + $cols = 29; + $rows = 32; + } else { + $cols = 16; + $rows = 58; + } + $size = 928; + } + // calculate padding + $pad = ($size - $nce); + if ($pad > 0) { + if (($size - $rows) == $nce) { + --$rows; + $size -= $rows; + } else { + // add pading + $codewords = array_merge($codewords, array_fill(0, $pad, 900)); + } + } + if (!empty($macro)) { + // add macro section + $codewords = array_merge($codewords, $macrocw); + } + // Symbol Length Descriptor (number of data codewords including Symbol Length Descriptor and pad codewords) + $sld = $size - $errsize; + // add symbol length description + array_unshift($codewords, $sld); + // calculate error correction + $ecw = $this->getErrorCorrection($codewords, $ecl); + // add error correction codewords + $codewords = array_merge($codewords, $ecw); + // add horizontal quiet zones to start and stop patterns + $pstart = str_repeat('0', QUIETH).$this->start_pattern; + $pstop = $this->stop_pattern.str_repeat('0', QUIETH); + $barcode_array['num_rows'] = ($rows * ROWHEIGHT) + (2 * QUIETV); + $barcode_array['num_cols'] = (($cols + 2) * 17) + 35 + (2 * QUIETH); + $barcode_array['bcode'] = array(); + // build rows for vertical quiet zone + if (QUIETV > 0) { + $empty_row = array_fill(0, $barcode_array['num_cols'], 0); + for ($i = 0; $i < QUIETV; ++$i) { + // add vertical quiet rows + $barcode_array['bcode'][] = $empty_row; + } + } + $k = 0; // codeword index + $cid = 0; // initial cluster + // for each row + for ($r = 0; $r < $rows; ++$r) { + // row start code + $row = $pstart; + switch ($cid) { + case 0: { + $L = ((30 * intval($r / 3)) + intval(($rows - 1) / 3)); + break; + } + case 1: { + $L = ((30 * intval($r / 3)) + ($ecl * 3) + (($rows - 1) % 3)); + break; + } + case 2: { + $L = ((30 * intval($r / 3)) + ($cols - 1)); + break; + } + } + // left row indicator + $row .= sprintf('%17b', $this->clusters[$cid][$L]); + // for each column + for ($c = 0; $c < $cols; ++$c) { + $row .= sprintf('%17b', $this->clusters[$cid][$codewords[$k]]); + ++$k; + } + switch ($cid) { + case 0: { + $L = ((30 * intval($r / 3)) + ($cols - 1)); + break; + } + case 1: { + $L = ((30 * intval($r / 3)) + intval(($rows - 1) / 3)); + break; + } + case 2: { + $L = ((30 * intval($r / 3)) + ($ecl * 3) + (($rows - 1) % 3)); + break; + } + } + // right row indicator + $row .= sprintf('%17b', $this->clusters[$cid][$L]); + // row stop code + $row .= $pstop; + // convert the string to array + $arow = preg_split('//', $row, -1, PREG_SPLIT_NO_EMPTY); + // duplicate row to get the desired height + for ($h = 0; $h < ROWHEIGHT; ++$h) { + $barcode_array['bcode'][] = $arow; + } + ++$cid; + if ($cid > 2) { + $cid = 0; + } + } + if (QUIETV > 0) { + for ($i = 0; $i < QUIETV; ++$i) { + // add vertical quiet rows + $barcode_array['bcode'][] = $empty_row; + } + } + $this->barcode_array = $barcode_array; + } + + /** + * Returns a barcode array which is readable by TCPDF + * @return array barcode array readable by TCPDF; + * @public + */ + public function getBarcodeArray() { + return $this->barcode_array; + } + + /** + * Returns the error correction level (0-8) to be used + * @param int $ecl error correction level + * @param int $numcw number of data codewords + * @return int error correction level + * @protected + */ + protected function getErrorCorrectionLevel($ecl, $numcw) { + $maxecl = 8; // starting error level + // check for automatic levels + if (($ecl < 0) OR ($ecl > 8)) { + if ($numcw < 41) { + $ecl = 2; + } elseif ($numcw < 161) { + $ecl = 3; + } elseif ($numcw < 321) { + $ecl = 4; + } elseif ($numcw < 864) { + $ecl = 5; + } else { + $ecl = $maxecl; + } + } + // get maximum correction level + $maxerrsize = (928 - $numcw); // available codewords for error + while ($maxecl > 0) { + $errsize = (2 << $ecl); + if ($maxerrsize >= $errsize) { + break; + } + --$maxecl; + } + if ($ecl > $maxecl) { + $ecl = $maxecl; + } + return $ecl; + } + + /** + * Returns the error correction codewords + * @param array $cw array of codewords including Symbol Length Descriptor and pad + * @param int $ecl error correction level 0-8 + * @return array of error correction codewords + * @protected + */ + protected function getErrorCorrection($cw, $ecl) { + // get error correction coefficients + $ecc = $this->rsfactors[$ecl]; + // number of error correction factors + $eclsize = (2 << $ecl); + // maximum index for $rsfactors[$ecl] + $eclmaxid = ($eclsize - 1); + // initialize array of error correction codewords + $ecw = array_fill(0, $eclsize, 0); + // for each data codeword + foreach($cw as $k => $d) { + $t1 = ($d + $ecw[$eclmaxid]) % 929; + for ($j = $eclmaxid; $j > 0; --$j) { + $t2 = ($t1 * $ecc[$j]) % 929; + $t3 = 929 - $t2; + $ecw[$j] = ($ecw[($j - 1)] + $t3) % 929; + } + $t2 = ($t1 * $ecc[0]) % 929; + $t3 = 929 - $t2; + $ecw[0] = $t3 % 929; + } + foreach($ecw as $j => $e) { + if ($e != 0) { + $ecw[$j] = 929 - $e; + } + } + $ecw = array_reverse($ecw); + return $ecw; + } + + /** + * Create array of sequences from input + * @param string $code code + * @return array bi-dimensional array containing characters and classification + * @protected + */ + protected function getInputSequences($code) { + $sequence_array = array(); // array to be returned + $numseq = array(); + // get numeric sequences + preg_match_all('/([0-9]{13,44})/', $code, $numseq, PREG_OFFSET_CAPTURE); + $numseq[1][] = array('', strlen($code)); + $offset = 0; + foreach($numseq[1] as $seq) { + $seqlen = strlen($seq[0]); + if ($seq[1] > 0) { + // extract text sequence before the number sequence + $prevseq = substr($code, $offset, ($seq[1] - $offset)); + $textseq = array(); + // get text sequences + preg_match_all('/([\x09\x0a\x0d\x20-\x7e]{5,})/', $prevseq, $textseq, PREG_OFFSET_CAPTURE); + $textseq[1][] = array('', strlen($prevseq)); + $txtoffset = 0; + foreach($textseq[1] as $txtseq) { + $txtseqlen = strlen($txtseq[0]); + if ($txtseq[1] > 0) { + // extract byte sequence before the text sequence + $prevtxtseq = substr($prevseq, $txtoffset, ($txtseq[1] - $txtoffset)); + if (strlen($prevtxtseq) > 0) { + // add BYTE sequence + if ((strlen($prevtxtseq) == 1) AND ((count($sequence_array) > 0) AND ($sequence_array[(count($sequence_array) - 1)][0] == 900))) { + $sequence_array[] = array(913, $prevtxtseq); + } elseif ((strlen($prevtxtseq) % 6) == 0) { + $sequence_array[] = array(924, $prevtxtseq); + } else { + $sequence_array[] = array(901, $prevtxtseq); + } + } + } + if ($txtseqlen > 0) { + // add numeric sequence + $sequence_array[] = array(900, $txtseq[0]); + } + $txtoffset = $txtseq[1] + $txtseqlen; + } + } + if ($seqlen > 0) { + // add numeric sequence + $sequence_array[] = array(902, $seq[0]); + } + $offset = $seq[1] + $seqlen; + } + return $sequence_array; + } + + /** + * Compact data by mode. + * @param int $mode compaction mode number + * @param string $code data to compact + * @param boolean $addmode if true add the mode codeword at first position + * @return array of codewords + * @protected + */ + protected function getCompaction($mode, $code, $addmode=true) { + $cw = array(); // array of codewords to return + switch($mode) { + case 900: { // Text Compaction mode latch + $submode = 0; // default Alpha sub-mode + $txtarr = array(); // array of characters and sub-mode switching characters + $codelen = strlen($code); + for ($i = 0; $i < $codelen; ++$i) { + $chval = ord($code[$i]); + if (($k = array_search($chval, $this->textsubmodes[$submode])) !== false) { + // we are on the same sub-mode + $txtarr[] = $k; + } else { + // the sub-mode is changed + for ($s = 0; $s < 4; ++$s) { + // search new sub-mode + if (($s != $submode) AND (($k = array_search($chval, $this->textsubmodes[$s])) !== false)) { + // $s is the new submode + if (((($i + 1) == $codelen) OR ((($i + 1) < $codelen) AND (array_search(ord($code[($i + 1)]), $this->textsubmodes[$submode]) !== false))) AND (($s == 3) OR (($s == 0) AND ($submode == 1)))) { + // shift (temporary change only for this char) + if ($s == 3) { + // shift to puntuaction + $txtarr[] = 29; + } else { + // shift from lower to alpha + $txtarr[] = 27; + } + } else { + // latch + $txtarr = array_merge($txtarr, $this->textlatch[''.$submode.$s]); + // set new submode + $submode = $s; + } + // add characted code to array + $txtarr[] = $k; + break; + } + } + } + } + $txtarrlen = count($txtarr); + if (($txtarrlen % 2) != 0) { + // add padding + $txtarr[] = 29; + ++$txtarrlen; + } + // calculate codewords + for ($i = 0; $i < $txtarrlen; $i += 2) { + $cw[] = (30 * $txtarr[$i]) + $txtarr[($i + 1)]; + } + break; + } + case 901: + case 924: { // Byte Compaction mode latch + while (($codelen = strlen($code)) > 0) { + if ($codelen > 6) { + $rest = substr($code, 6); + $code = substr($code, 0, 6); + $sublen = 6; + } else { + $rest = ''; + $sublen = strlen($code); + } + if ($sublen == 6) { + $t = bcmul(''.ord($code[0]), '1099511627776'); + $t = bcadd($t, bcmul(''.ord($code[1]), '4294967296')); + $t = bcadd($t, bcmul(''.ord($code[2]), '16777216')); + $t = bcadd($t, bcmul(''.ord($code[3]), '65536')); + $t = bcadd($t, bcmul(''.ord($code[4]), '256')); + $t = bcadd($t, ''.ord($code[5])); + // tmp array for the 6 bytes block + $cw6 = array(); + do { + $d = bcmod($t, '900', 0); + $t = bcdiv($t, '900', 0); + // prepend the value to the beginning of the array + array_unshift($cw6, $d); + } while ($t != '0'); + // append the result array at the end + $cw = array_merge($cw, $cw6); + } else { + for ($i = 0; $i < $sublen; ++$i) { + $cw[] = ord($code[$i]); + } + } + $code = $rest; + } + break; + } + case 902: { // Numeric Compaction mode latch + while (($codelen = strlen($code)) > 0) { + if ($codelen > 44) { + $rest = substr($code, 44); + $code = substr($code, 0, 44); + } else { + $rest = ''; + } + $t = '1'.$code; + do { + $d = bcmod($t, '900', 0); + $t = bcdiv($t, '900', 0); + array_unshift($cw, $d); + } while ($t != '0'); + $code = $rest; + } + break; + } + case 913: { // Byte Compaction mode shift + $cw[] = ord($code); + break; + } + } + if ($addmode) { + // add the compaction mode codeword at the beginning + array_unshift($cw, $mode); + } + return $cw; + } + +} // end PDF417 class + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/barcodes/qrcode.php b/vendor/tecnickcom/tcpdf/include/barcodes/qrcode.php new file mode 100644 index 0000000..1a64a4c --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/barcodes/qrcode.php @@ -0,0 +1,2843 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// DESCRIPTION : +// +// Class to create QR-code arrays for TCPDF class. +// QR Code symbol is a 2D barcode that can be scanned by +// handy terminals such as a mobile phone with CCD. +// The capacity of QR Code is up to 7000 digits or 4000 +// characters, and has high robustness. +// This class supports QR Code model 2, described in +// JIS (Japanese Industrial Standards) X0510:2004 +// or ISO/IEC 18004. +// Currently the following features are not supported: +// ECI and FNC1 mode, Micro QR Code, QR Code model 1, +// Structured mode. +// +// This class is derived from the following projects: +// --------------------------------------------------------- +// "PHP QR Code encoder" +// License: GNU-LGPLv3 +// Copyright (C) 2010 by Dominik Dzienia +// http://phpqrcode.sourceforge.net/ +// https://sourceforge.net/projects/phpqrcode/ +// +// The "PHP QR Code encoder" is based on +// "C libqrencode library" (ver. 3.1.1) +// License: GNU-LGPL 2.1 +// Copyright (C) 2006-2010 by Kentaro Fukuchi +// http://megaui.net/fukuchi/works/qrencode/index.en.html +// +// Reed-Solomon code encoder is written by Phil Karn, KA9Q. +// Copyright (C) 2002-2006 Phil Karn, KA9Q +// +// QR Code is registered trademark of DENSO WAVE INCORPORATED +// http://www.denso-wave.com/qrcode/index-e.html +// --------------------------------------------------------- +//============================================================+ + +/** + * @file + * Class to create QR-code arrays for TCPDF class. + * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. + * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. + * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. + * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode. + * + * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). + * Please read comments on this class source file for full copyright and license information. + * + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.010 + */ + +// definitions +if (!defined('QRCODEDEFS')) { + + /** + * Indicate that definitions for this class are set + */ + define('QRCODEDEFS', true); + + // ----------------------------------------------------- + + // Encoding modes (characters which can be encoded in QRcode) + + /** + * Encoding mode + */ + define('QR_MODE_NL', -1); + + /** + * Encoding mode numeric (0-9). 3 characters are encoded to 10bit length. In theory, 7089 characters or less can be stored in a QRcode. + */ + define('QR_MODE_NM', 0); + + /** + * Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. In theory, 4296 characters or less can be stored in a QRcode. + */ + define('QR_MODE_AN', 1); + + /** + * Encoding mode 8bit byte data. In theory, 2953 characters or less can be stored in a QRcode. + */ + define('QR_MODE_8B', 2); + + /** + * Encoding mode KANJI. A KANJI character (multibyte character) is encoded to 13bit length. In theory, 1817 characters or less can be stored in a QRcode. + */ + define('QR_MODE_KJ', 3); + + /** + * Encoding mode STRUCTURED (currently unsupported) + */ + define('QR_MODE_ST', 4); + + // ----------------------------------------------------- + + // Levels of error correction. + // QRcode has a function of an error correcting for miss reading that white is black. + // Error correcting is defined in 4 level as below. + + /** + * Error correction level L : About 7% or less errors can be corrected. + */ + define('QR_ECLEVEL_L', 0); + + /** + * Error correction level M : About 15% or less errors can be corrected. + */ + define('QR_ECLEVEL_M', 1); + + /** + * Error correction level Q : About 25% or less errors can be corrected. + */ + define('QR_ECLEVEL_Q', 2); + + /** + * Error correction level H : About 30% or less errors can be corrected. + */ + define('QR_ECLEVEL_H', 3); + + // ----------------------------------------------------- + + // Version. Size of QRcode is defined as version. + // Version is from 1 to 40. + // Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. + // So version 40 is 177*177 matrix. + + /** + * Maximum QR Code version. + */ + define('QRSPEC_VERSION_MAX', 40); + + /** + * Maximum matrix size for maximum version (version 40 is 177*177 matrix). + */ + define('QRSPEC_WIDTH_MAX', 177); + + // ----------------------------------------------------- + + /** + * Matrix index to get width from $capacity array. + */ + define('QRCAP_WIDTH', 0); + + /** + * Matrix index to get number of words from $capacity array. + */ + define('QRCAP_WORDS', 1); + + /** + * Matrix index to get remainder from $capacity array. + */ + define('QRCAP_REMINDER', 2); + + /** + * Matrix index to get error correction level from $capacity array. + */ + define('QRCAP_EC', 3); + + // ----------------------------------------------------- + + // Structure (currently usupported) + + /** + * Number of header bits for structured mode + */ + define('STRUCTURE_HEADER_BITS', 20); + + /** + * Max number of symbols for structured mode + */ + define('MAX_STRUCTURED_SYMBOLS', 16); + + // ----------------------------------------------------- + + // Masks + + /** + * Down point base value for case 1 mask pattern (concatenation of same color in a line or a column) + */ + define('N1', 3); + + /** + * Down point base value for case 2 mask pattern (module block of same color) + */ + define('N2', 3); + + /** + * Down point base value for case 3 mask pattern (1:1:3:1:1(dark:bright:dark:bright:dark)pattern in a line or a column) + */ + define('N3', 40); + + /** + * Down point base value for case 4 mask pattern (ration of dark modules in whole) + */ + define('N4', 10); + + // ----------------------------------------------------- + + // Optimization settings + + /** + * if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code + */ + define('QR_FIND_BEST_MASK', true); + + /** + * if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly + */ + define('QR_FIND_FROM_RANDOM', 2); + + /** + * when QR_FIND_BEST_MASK === false + */ + define('QR_DEFAULT_MASK', 2); + + // ----------------------------------------------------- + +} // end of definitions + +/** + * @class QRcode + * Class to create QR-code arrays for TCPDF class. + * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD. + * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness. + * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004. + * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode. + * + * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html). + * Please read comments on this class source file for full copyright and license information. + * + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.010 + */ +class QRcode { + + /** + * Barcode array to be returned which is readable by TCPDF. + * @protected + */ + protected $barcode_array = array(); + + /** + * QR code version. Size of QRcode is defined as version. Version is from 1 to 40. Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. So version 40 is 177*177 matrix. + * @protected + */ + protected $version = 0; + + /** + * Levels of error correction. See definitions for possible values. + * @protected + */ + protected $level = QR_ECLEVEL_L; + + /** + * Encoding mode. + * @protected + */ + protected $hint = QR_MODE_8B; + + /** + * Boolean flag, if true the input string will be converted to uppercase. + * @protected + */ + protected $casesensitive = true; + + /** + * Structured QR code (not supported yet). + * @protected + */ + protected $structured = 0; + + /** + * Mask data. + * @protected + */ + protected $data; + + // FrameFiller + + /** + * Width. + * @protected + */ + protected $width; + + /** + * Frame. + * @protected + */ + protected $frame; + + /** + * X position of bit. + * @protected + */ + protected $x; + + /** + * Y position of bit. + * @protected + */ + protected $y; + + /** + * Direction. + * @protected + */ + protected $dir; + + /** + * Single bit value. + * @protected + */ + protected $bit; + + // ---- QRrawcode ---- + + /** + * Data code. + * @protected + */ + protected $datacode = array(); + + /** + * Error correction code. + * @protected + */ + protected $ecccode = array(); + + /** + * Blocks. + * @protected + */ + protected $blocks; + + /** + * Reed-Solomon blocks. + * @protected + */ + protected $rsblocks = array(); //of RSblock + + /** + * Counter. + * @protected + */ + protected $count; + + /** + * Data length. + * @protected + */ + protected $dataLength; + + /** + * Error correction length. + * @protected + */ + protected $eccLength; + + /** + * Value b1. + * @protected + */ + protected $b1; + + // ---- QRmask ---- + + /** + * Run length. + * @protected + */ + protected $runLength = array(); + + // ---- QRsplit ---- + + /** + * Input data string. + * @protected + */ + protected $dataStr = ''; + + /** + * Input items. + * @protected + */ + protected $items; + + // Reed-Solomon items + + /** + * Reed-Solomon items. + * @protected + */ + protected $rsitems = array(); + + /** + * Array of frames. + * @protected + */ + protected $frames = array(); + + /** + * Alphabet-numeric convesion table. + * @protected + */ + protected $anTable = array( + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // + 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, // + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, // + -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, // + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, // + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, // + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // + ); + + /** + * Array Table of the capacity of symbols. + * See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004. + * @protected + */ + protected $capacity = array( + array( 0, 0, 0, array( 0, 0, 0, 0)), // + array( 21, 26, 0, array( 7, 10, 13, 17)), // 1 + array( 25, 44, 7, array( 10, 16, 22, 28)), // + array( 29, 70, 7, array( 15, 26, 36, 44)), // + array( 33, 100, 7, array( 20, 36, 52, 64)), // + array( 37, 134, 7, array( 26, 48, 72, 88)), // 5 + array( 41, 172, 7, array( 36, 64, 96, 112)), // + array( 45, 196, 0, array( 40, 72, 108, 130)), // + array( 49, 242, 0, array( 48, 88, 132, 156)), // + array( 53, 292, 0, array( 60, 110, 160, 192)), // + array( 57, 346, 0, array( 72, 130, 192, 224)), // 10 + array( 61, 404, 0, array( 80, 150, 224, 264)), // + array( 65, 466, 0, array( 96, 176, 260, 308)), // + array( 69, 532, 0, array( 104, 198, 288, 352)), // + array( 73, 581, 3, array( 120, 216, 320, 384)), // + array( 77, 655, 3, array( 132, 240, 360, 432)), // 15 + array( 81, 733, 3, array( 144, 280, 408, 480)), // + array( 85, 815, 3, array( 168, 308, 448, 532)), // + array( 89, 901, 3, array( 180, 338, 504, 588)), // + array( 93, 991, 3, array( 196, 364, 546, 650)), // + array( 97, 1085, 3, array( 224, 416, 600, 700)), // 20 + array(101, 1156, 4, array( 224, 442, 644, 750)), // + array(105, 1258, 4, array( 252, 476, 690, 816)), // + array(109, 1364, 4, array( 270, 504, 750, 900)), // + array(113, 1474, 4, array( 300, 560, 810, 960)), // + array(117, 1588, 4, array( 312, 588, 870, 1050)), // 25 + array(121, 1706, 4, array( 336, 644, 952, 1110)), // + array(125, 1828, 4, array( 360, 700, 1020, 1200)), // + array(129, 1921, 3, array( 390, 728, 1050, 1260)), // + array(133, 2051, 3, array( 420, 784, 1140, 1350)), // + array(137, 2185, 3, array( 450, 812, 1200, 1440)), // 30 + array(141, 2323, 3, array( 480, 868, 1290, 1530)), // + array(145, 2465, 3, array( 510, 924, 1350, 1620)), // + array(149, 2611, 3, array( 540, 980, 1440, 1710)), // + array(153, 2761, 3, array( 570, 1036, 1530, 1800)), // + array(157, 2876, 0, array( 570, 1064, 1590, 1890)), // 35 + array(161, 3034, 0, array( 600, 1120, 1680, 1980)), // + array(165, 3196, 0, array( 630, 1204, 1770, 2100)), // + array(169, 3362, 0, array( 660, 1260, 1860, 2220)), // + array(173, 3532, 0, array( 720, 1316, 1950, 2310)), // + array(177, 3706, 0, array( 750, 1372, 2040, 2430)) // 40 + ); + + /** + * Array Length indicator. + * @protected + */ + protected $lengthTableBits = array( + array(10, 12, 14), + array( 9, 11, 13), + array( 8, 16, 16), + array( 8, 10, 12) + ); + + /** + * Array Table of the error correction code (Reed-Solomon block). + * See Table 12-16 (pp.30-36), JIS X0510:2004. + * @protected + */ + protected $eccTable = array( + array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), // + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1 + array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // + array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), // + array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), // + array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5 + array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), // + array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), // + array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), // + array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), // + array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), // 10 + array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), // + array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), // + array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), // + array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), // + array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), // 15 + array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), // + array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), // + array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), // + array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), // + array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), // 20 + array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), // + array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), // + array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), // + array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), // + array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), // 25 + array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), // + array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), // + array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), // + array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), // + array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), // 30 + array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), // + array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), // + array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), // + array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), // + array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), // 35 + array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), // + array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), // + array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), // + array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), // + array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)) // 40 + ); + + /** + * Array Positions of alignment patterns. + * This array includes only the second and the third position of the alignment patterns. Rest of them can be calculated from the distance between them. + * See Table 1 in Appendix E (pp.71) of JIS X0510:2004. + * @protected + */ + protected $alignmentPattern = array( + array( 0, 0), + array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5 + array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10 + array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), // 11-15 + array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), // 16-20 + array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), // 21-25 + array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), // 26-30 + array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), // 31-35 + array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58) // 35-40 + ); + + /** + * Array Version information pattern (BCH coded). + * See Table 1 in Appendix D (pp.68) of JIS X0510:2004. + * size: [QRSPEC_VERSION_MAX - 6] + * @protected + */ + protected $versionPattern = array( + 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, // + 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, // + 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, // + 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, // + 0x27541, 0x28c69 + ); + + /** + * Array Format information + * @protected + */ + protected $formatInfo = array( + array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), // + array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), // + array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), // + array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) // + ); + + + // ------------------------------------------------- + // ------------------------------------------------- + + + /** + * This is the class constructor. + * Creates a QRcode object + * @param string $code code to represent using QRcode + * @param string $eclevel error level:
    • L : About 7% or less errors can be corrected.
    • M : About 15% or less errors can be corrected.
    • Q : About 25% or less errors can be corrected.
    • H : About 30% or less errors can be corrected.
    + * @public + * @since 1.0.000 + */ + public function __construct($code, $eclevel = 'L') { + $barcode_array = array(); + if ((is_null($code)) OR ($code == '\0') OR ($code == '')) { + return false; + } + // set error correction level + $this->level = array_search($eclevel, array('L', 'M', 'Q', 'H')); + if ($this->level === false) { + $this->level = QR_ECLEVEL_L; + } + if (($this->hint != QR_MODE_8B) AND ($this->hint != QR_MODE_KJ)) { + return false; + } + if (($this->version < 0) OR ($this->version > QRSPEC_VERSION_MAX)) { + return false; + } + $this->items = array(); + $this->encodeString($code); + if (is_null($this->data)) { + return false; + } + $qrTab = $this->binarize($this->data); + $size = count($qrTab); + $barcode_array['num_rows'] = $size; + $barcode_array['num_cols'] = $size; + $barcode_array['bcode'] = array(); + foreach ($qrTab as $line) { + $arrAdd = array(); + foreach (str_split($line) as $char) { + $arrAdd[] = ($char=='1')?1:0; + } + $barcode_array['bcode'][] = $arrAdd; + } + $this->barcode_array = $barcode_array; + } + + /** + * Returns a barcode array which is readable by TCPDF + * @return array barcode array readable by TCPDF; + * @public + */ + public function getBarcodeArray() { + return $this->barcode_array; + } + + /** + * Convert the frame in binary form + * @param array $frame array to binarize + * @return array frame in binary form + */ + protected function binarize($frame) { + $len = count($frame); + // the frame is square (width = height) + foreach ($frame as &$frameLine) { + for ($i=0; $i<$len; $i++) { + $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0'; + } + } + return $frame; + } + + /** + * Encode the input string to QR code + * @param string $string input string to encode + */ + protected function encodeString($string) { + $this->dataStr = $string; + if (!$this->casesensitive) { + $this->toUpper(); + } + $ret = $this->splitString(); + if ($ret < 0) { + return NULL; + } + $this->encodeMask(-1); + } + + /** + * Encode mask + * @param int $mask masking mode + */ + protected function encodeMask($mask) { + $spec = array(0, 0, 0, 0, 0); + $this->datacode = $this->getByteStream($this->items); + + if (is_null($this->datacode)) { + return NULL; + } + $spec = $this->getEccSpec($this->version, $this->level, $spec); + $this->b1 = $this->rsBlockNum1($spec); + $this->dataLength = $this->rsDataLength($spec); + $this->eccLength = $this->rsEccLength($spec); + $this->ecccode = array_fill(0, $this->eccLength, 0); + $this->blocks = $this->rsBlockNum($spec); + $ret = $this->init($spec); + if ($ret < 0) { + return NULL; + } + $this->count = 0; + $this->width = $this->getWidth($this->version); + $this->frame = $this->newFrame($this->version); + $this->x = $this->width - 1; + $this->y = $this->width - 1; + $this->dir = -1; + $this->bit = -1; + // inteleaved data and ecc codes + for ($i=0; $i < ($this->dataLength + $this->eccLength); $i++) { + $code = $this->getCode(); + $bit = 0x80; + for ($j=0; $j<8; $j++) { + $addr = $this->getNextPosition(); + $this->setFrameAt($addr, 0x02 | (($bit & $code) != 0)); + $bit = $bit >> 1; + } + } + // remainder bits + $j = $this->getRemainder($this->version); + for ($i=0; $i<$j; $i++) { + $addr = $this->getNextPosition(); + $this->setFrameAt($addr, 0x02); + } + // masking + $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0); + if ($mask < 0) { + if (QR_FIND_BEST_MASK) { + $masked = $this->mask($this->width, $this->frame, $this->level); + } else { + $masked = $this->makeMask($this->width, $this->frame, (intval(QR_DEFAULT_MASK) % 8), $this->level); + } + } else { + $masked = $this->makeMask($this->width, $this->frame, $mask, $this->level); + } + if ($masked == NULL) { + return NULL; + } + $this->data = $masked; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // FrameFiller + + /** + * Set frame value at specified position + * @param array $at x,y position + * @param int $val value of the character to set + */ + protected function setFrameAt($at, $val) { + $this->frame[$at['y']][$at['x']] = chr($val); + } + + /** + * Get frame value at specified position + * @param array $at x,y position + * @return value at specified position + */ + protected function getFrameAt($at) { + return ord($this->frame[$at['y']][$at['x']]); + } + + /** + * Return the next frame position + * @return array of x,y coordinates + */ + protected function getNextPosition() { + do { + if ($this->bit == -1) { + $this->bit = 0; + return array('x'=>$this->x, 'y'=>$this->y); + } + $x = $this->x; + $y = $this->y; + $w = $this->width; + if ($this->bit == 0) { + $x--; + $this->bit++; + } else { + $x++; + $y += $this->dir; + $this->bit--; + } + if ($this->dir < 0) { + if ($y < 0) { + $y = 0; + $x -= 2; + $this->dir = 1; + if ($x == 6) { + $x--; + $y = 9; + } + } + } else { + if ($y == $w) { + $y = $w - 1; + $x -= 2; + $this->dir = -1; + if ($x == 6) { + $x--; + $y -= 8; + } + } + } + if (($x < 0) OR ($y < 0)) { + return NULL; + } + $this->x = $x; + $this->y = $y; + } while(ord($this->frame[$y][$x]) & 0x80); + return array('x'=>$x, 'y'=>$y); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRrawcode + + /** + * Initialize code. + * @param array $spec array of ECC specification + * @return int 0 in case of success, -1 in case of error + */ + protected function init($spec) { + $dl = $this->rsDataCodes1($spec); + $el = $this->rsEccCodes1($spec); + $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + $blockNo = 0; + $dataPos = 0; + $eccPos = 0; + $endfor = $this->rsBlockNum1($spec); + for ($i=0; $i < $endfor; ++$i) { + $ecc = array_slice($this->ecccode, $eccPos); + $this->rsblocks[$blockNo] = array(); + $this->rsblocks[$blockNo]['dataLength'] = $dl; + $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos); + $this->rsblocks[$blockNo]['eccLength'] = $el; + $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc); + $this->rsblocks[$blockNo]['ecc'] = $ecc; + $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc); + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + if ($this->rsBlockNum2($spec) == 0) { + return 0; + } + $dl = $this->rsDataCodes2($spec); + $el = $this->rsEccCodes2($spec); + $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el); + if ($rs == NULL) { + return -1; + } + $endfor = $this->rsBlockNum2($spec); + for ($i=0; $i < $endfor; ++$i) { + $ecc = array_slice($this->ecccode, $eccPos); + $this->rsblocks[$blockNo] = array(); + $this->rsblocks[$blockNo]['dataLength'] = $dl; + $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos); + $this->rsblocks[$blockNo]['eccLength'] = $el; + $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc); + $this->rsblocks[$blockNo]['ecc'] = $ecc; + $this->ecccode = array_merge(array_slice($this->ecccode, 0, $eccPos), $ecc); + $dataPos += $dl; + $eccPos += $el; + $blockNo++; + } + return 0; + } + + /** + * Return Reed-Solomon block code. + * @return array rsblocks + */ + protected function getCode() { + if ($this->count < $this->dataLength) { + $row = $this->count % $this->blocks; + $col = (int)($this->count / $this->blocks); + if ($col >= $this->rsblocks[0]['dataLength']) { + $row += $this->b1; + } + $row = (int) $row; + $ret = $this->rsblocks[$row]['data'][$col]; + } elseif ($this->count < $this->dataLength + $this->eccLength) { + $row = ($this->count - $this->dataLength) % $this->blocks; + $col = (int)(($this->count - $this->dataLength) / $this->blocks); + $ret = $this->rsblocks[$row]['ecc'][$col]; + } else { + return 0; + } + $this->count++; + return $ret; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRmask + + /** + * Write Format Information on frame and returns the number of black bits + * @param int $width frame width + * @param array $frame frame + * @param array $mask masking mode + * @param int $level error correction level + * @return int blacks + */ + protected function writeFormatInformation($width, &$frame, $mask, $level) { + $blacks = 0; + $format = $this->getFormatInfo($mask, $level); + for ($i=0; $i<8; ++$i) { + if ($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + $frame[8][$width - 1 - $i] = chr($v); + if ($i < 6) { + $frame[$i][8] = chr($v); + } else { + $frame[$i + 1][8] = chr($v); + } + $format = $format >> 1; + } + for ($i=0; $i<7; ++$i) { + if ($format & 1) { + $blacks += 2; + $v = 0x85; + } else { + $v = 0x84; + } + $frame[$width - 7 + $i][8] = chr($v); + if ($i == 0) { + $frame[8][7] = chr($v); + } else { + $frame[8][6 - $i] = chr($v); + } + $format = $format >> 1; + } + return $blacks; + } + + /** + * mask0 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask0($x, $y) { + return ($x + $y) & 1; + } + + /** + * mask1 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask1($x, $y) { + return ($y & 1); + } + + /** + * mask2 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask2($x, $y) { + return ($x % 3); + } + + /** + * mask3 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask3($x, $y) { + return ($x + $y) % 3; + } + + /** + * mask4 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask4($x, $y) { + return (((int)($y / 2)) + ((int)($x / 3))) & 1; + } + + /** + * mask5 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask5($x, $y) { + return (($x * $y) & 1) + ($x * $y) % 3; + } + + /** + * mask6 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask6($x, $y) { + return ((($x * $y) & 1) + ($x * $y) % 3) & 1; + } + + /** + * mask7 + * @param int $x X position + * @param int $y Y position + * @return int mask + */ + protected function mask7($x, $y) { + return ((($x * $y) % 3) + (($x + $y) & 1)) & 1; + } + + /** + * Return bitmask + * @param int $maskNo mask number + * @param int $width width + * @param array $frame frame + * @return array bitmask + */ + protected function generateMaskNo($maskNo, $width, $frame) { + $bitMask = array_fill(0, $width, array_fill(0, $width, 0)); + for ($y=0; $y<$width; ++$y) { + for ($x=0; $x<$width; ++$x) { + if (ord($frame[$y][$x]) & 0x80) { + $bitMask[$y][$x] = 0; + } else { + $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y); + $bitMask[$y][$x] = ($maskFunc == 0)?1:0; + } + } + } + return $bitMask; + } + + /** + * makeMaskNo + * @param int $maskNo + * @param int $width + * @param int $s + * @param int $d + * @param boolean $maskGenOnly + * @return int b + */ + protected function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly=false) { + $b = 0; + $bitMask = array(); + $bitMask = $this->generateMaskNo($maskNo, $width, $s); + if ($maskGenOnly) { + return; + } + $d = $s; + for ($y=0; $y<$width; ++$y) { + for ($x=0; $x<$width; ++$x) { + if ($bitMask[$y][$x] == 1) { + $d[$y][$x] = chr(ord($s[$y][$x]) ^ ((int)($bitMask[$y][$x]))); + } + $b += (int)(ord($d[$y][$x]) & 1); + } + } + return $b; + } + + /** + * makeMask + * @param int $width + * @param array $frame + * @param int $maskNo + * @param int $level + * @return array mask + */ + protected function makeMask($width, $frame, $maskNo, $level) { + $masked = array_fill(0, $width, str_repeat("\0", $width)); + $this->makeMaskNo($maskNo, $width, $frame, $masked); + $this->writeFormatInformation($width, $masked, $maskNo, $level); + return $masked; + } + + /** + * calcN1N3 + * @param int $length + * @return int demerit + */ + protected function calcN1N3($length) { + $demerit = 0; + for ($i=0; $i<$length; ++$i) { + if ($this->runLength[$i] >= 5) { + $demerit += (N1 + ($this->runLength[$i] - 5)); + } + if ($i & 1) { + if (($i >= 3) AND ($i < ($length-2)) AND ($this->runLength[$i] % 3 == 0)) { + $fact = (int)($this->runLength[$i] / 3); + if (($this->runLength[$i-2] == $fact) + AND ($this->runLength[$i-1] == $fact) + AND ($this->runLength[$i+1] == $fact) + AND ($this->runLength[$i+2] == $fact)) { + if (($this->runLength[$i-3] < 0) OR ($this->runLength[$i-3] >= (4 * $fact))) { + $demerit += N3; + } elseif ((($i+3) >= $length) OR ($this->runLength[$i+3] >= (4 * $fact))) { + $demerit += N3; + } + } + } + } + } + return $demerit; + } + + /** + * evaluateSymbol + * @param int $width + * @param array $frame + * @return int demerit + */ + protected function evaluateSymbol($width, $frame) { + $head = 0; + $demerit = 0; + for ($y=0; $y<$width; ++$y) { + $head = 0; + $this->runLength[0] = 1; + $frameY = $frame[$y]; + if ($y > 0) { + $frameYM = $frame[$y-1]; + } + for ($x=0; $x<$width; ++$x) { + if (($x > 0) AND ($y > 0)) { + $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]); + $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]); + if (($b22 | ($w22 ^ 1)) & 1) { + $demerit += N2; + } + } + if (($x == 0) AND (ord($frameY[$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } elseif ($x > 0) { + if ((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + $demerit += $this->calcN1N3($head+1); + } + for ($x=0; $x<$width; ++$x) { + $head = 0; + $this->runLength[0] = 1; + for ($y=0; $y<$width; ++$y) { + if (($y == 0) AND (ord($frame[$y][$x]) & 1)) { + $this->runLength[0] = -1; + $head = 1; + $this->runLength[$head] = 1; + } elseif ($y > 0) { + if ((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) { + $head++; + $this->runLength[$head] = 1; + } else { + $this->runLength[$head]++; + } + } + } + $demerit += $this->calcN1N3($head+1); + } + return $demerit; + } + + /** + * mask + * @param int $width + * @param array $frame + * @param int $level + * @return array best mask + */ + protected function mask($width, $frame, $level) { + $minDemerit = PHP_INT_MAX; + $bestMaskNum = 0; + $bestMask = array(); + $checked_masks = array(0, 1, 2, 3, 4, 5, 6, 7); + if (QR_FIND_FROM_RANDOM !== false) { + $howManuOut = 8 - (QR_FIND_FROM_RANDOM % 9); + for ($i = 0; $i < $howManuOut; ++$i) { + $remPos = rand (0, count($checked_masks)-1); + unset($checked_masks[$remPos]); + $checked_masks = array_values($checked_masks); + } + } + $bestMask = $frame; + foreach ($checked_masks as $i) { + $mask = array_fill(0, $width, str_repeat("\0", $width)); + $demerit = 0; + $blacks = 0; + $blacks = $this->makeMaskNo($i, $width, $frame, $mask); + $blacks += $this->writeFormatInformation($width, $mask, $i, $level); + $blacks = (int)(100 * $blacks / ($width * $width)); + $demerit = (int)((int)(abs($blacks - 50) / 5) * N4); + $demerit += $this->evaluateSymbol($width, $mask); + if ($demerit < $minDemerit) { + $minDemerit = $demerit; + $bestMask = $mask; + $bestMaskNum = $i; + } + } + return $bestMask; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRsplit + + /** + * Return true if the character at specified position is a number + * @param string $str string + * @param int $pos characted position + * @return boolean true of false + */ + protected function isdigitat($str, $pos) { + if ($pos >= strlen($str)) { + return false; + } + return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9'))); + } + + /** + * Return true if the character at specified position is an alphanumeric character + * @param string $str string + * @param int $pos characted position + * @return boolean true of false + */ + protected function isalnumat($str, $pos) { + if ($pos >= strlen($str)) { + return false; + } + return ($this->lookAnTable(ord($str[$pos])) >= 0); + } + + /** + * identifyMode + * @param int $pos + * @return int mode + */ + protected function identifyMode($pos) { + if ($pos >= strlen($this->dataStr)) { + return QR_MODE_NL; + } + $c = $this->dataStr[$pos]; + if ($this->isdigitat($this->dataStr, $pos)) { + return QR_MODE_NM; + } elseif ($this->isalnumat($this->dataStr, $pos)) { + return QR_MODE_AN; + } elseif ($this->hint == QR_MODE_KJ) { + if ($pos+1 < strlen($this->dataStr)) { + $d = $this->dataStr[$pos+1]; + $word = (ord($c) << 8) | ord($d); + if (($word >= 0x8140 && $word <= 0x9ffc) OR ($word >= 0xe040 && $word <= 0xebbf)) { + return QR_MODE_KJ; + } + } + } + return QR_MODE_8B; + } + + /** + * eatNum + * @return int run + */ + protected function eatNum() { + $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); + $p = 0; + while($this->isdigitat($this->dataStr, $p)) { + $p++; + } + $run = $p; + $mode = $this->identifyMode($p); + if ($mode == QR_MODE_8B) { + $dif = $this->estimateBitsModeNum($run) + 4 + $ln + + $this->estimateBitsMode8(1) // + 4 + l8 + - $this->estimateBitsMode8($run + 1); // - 4 - l8 + if ($dif > 0) { + return $this->eat8(); + } + } + if ($mode == QR_MODE_AN) { + $dif = $this->estimateBitsModeNum($run) + 4 + $ln + + $this->estimateBitsModeAn(1) // + 4 + la + - $this->estimateBitsModeAn($run + 1);// - 4 - la + if ($dif > 0) { + return $this->eatAn(); + } + } + $this->items = $this->appendNewInputItem($this->items, QR_MODE_NM, $run, str_split($this->dataStr)); + return $run; + } + + /** + * eatAn + * @return int run + */ + protected function eatAn() { + $la = $this->lengthIndicator(QR_MODE_AN, $this->version); + $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); + $p =1 ; + while($this->isalnumat($this->dataStr, $p)) { + if ($this->isdigitat($this->dataStr, $p)) { + $q = $p; + while($this->isdigitat($this->dataStr, $q)) { + $q++; + } + $dif = $this->estimateBitsModeAn($p) // + 4 + la + + $this->estimateBitsModeNum($q - $p) + 4 + $ln + - $this->estimateBitsModeAn($q); // - 4 - la + if ($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + $run = $p; + if (!$this->isalnumat($this->dataStr, $p)) { + $dif = $this->estimateBitsModeAn($run) + 4 + $la + + $this->estimateBitsMode8(1) // + 4 + l8 + - $this->estimateBitsMode8($run + 1); // - 4 - l8 + if ($dif > 0) { + return $this->eat8(); + } + } + $this->items = $this->appendNewInputItem($this->items, QR_MODE_AN, $run, str_split($this->dataStr)); + return $run; + } + + /** + * eatKanji + * @return int run + */ + protected function eatKanji() { + $p = 0; + while($this->identifyMode($p) == QR_MODE_KJ) { + $p += 2; + } + $this->items = $this->appendNewInputItem($this->items, QR_MODE_KJ, $p, str_split($this->dataStr)); + $run = $p; + return $run; + } + + /** + * eat8 + * @return int run + */ + protected function eat8() { + $la = $this->lengthIndicator(QR_MODE_AN, $this->version); + $ln = $this->lengthIndicator(QR_MODE_NM, $this->version); + $p = 1; + $dataStrLen = strlen($this->dataStr); + while($p < $dataStrLen) { + $mode = $this->identifyMode($p); + if ($mode == QR_MODE_KJ) { + break; + } + if ($mode == QR_MODE_NM) { + $q = $p; + while($this->isdigitat($this->dataStr, $q)) { + $q++; + } + $dif = $this->estimateBitsMode8($p) // + 4 + l8 + + $this->estimateBitsModeNum($q - $p) + 4 + $ln + - $this->estimateBitsMode8($q); // - 4 - l8 + if ($dif < 0) { + break; + } else { + $p = $q; + } + } elseif ($mode == QR_MODE_AN) { + $q = $p; + while($this->isalnumat($this->dataStr, $q)) { + $q++; + } + $dif = $this->estimateBitsMode8($p) // + 4 + l8 + + $this->estimateBitsModeAn($q - $p) + 4 + $la + - $this->estimateBitsMode8($q); // - 4 - l8 + if ($dif < 0) { + break; + } else { + $p = $q; + } + } else { + $p++; + } + } + $run = $p; + $this->items = $this->appendNewInputItem($this->items, QR_MODE_8B, $run, str_split($this->dataStr)); + return $run; + } + + /** + * splitString + * @return int + */ + protected function splitString() { + while (strlen($this->dataStr) > 0) { + $mode = $this->identifyMode(0); + switch ($mode) { + case QR_MODE_NM: { + $length = $this->eatNum(); + break; + } + case QR_MODE_AN: { + $length = $this->eatAn(); + break; + } + case QR_MODE_KJ: { + if ($this->hint == QR_MODE_KJ) { + $length = $this->eatKanji(); + } else { + $length = $this->eat8(); + } + break; + } + default: { + $length = $this->eat8(); + break; + } + } + if ($length == 0) { + return 0; + } + if ($length < 0) { + return -1; + } + $this->dataStr = substr($this->dataStr, $length); + } + return 0; + } + + /** + * toUpper + */ + protected function toUpper() { + $stringLen = strlen($this->dataStr); + $p = 0; + while ($p < $stringLen) { + $mode = $this->identifyMode(substr($this->dataStr, $p)); + if ($mode == QR_MODE_KJ) { + $p += 2; + } else { + if ((ord($this->dataStr[$p]) >= ord('a')) AND (ord($this->dataStr[$p]) <= ord('z'))) { + $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32); + } + $p++; + } + } + return $this->dataStr; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRinputItem + + /** + * newInputItem + * @param int $mode + * @param int $size + * @param array $data + * @param array $bstream + * @return array input item + */ + protected function newInputItem($mode, $size, $data, $bstream=null) { + $setData = array_slice($data, 0, $size); + if (count($setData) < $size) { + $setData = array_merge($setData, array_fill(0, ($size - count($setData)), 0)); + } + if (!$this->check($mode, $size, $setData)) { + return NULL; + } + $inputitem = array(); + $inputitem['mode'] = $mode; + $inputitem['size'] = $size; + $inputitem['data'] = $setData; + $inputitem['bstream'] = $bstream; + return $inputitem; + } + + /** + * encodeModeNum + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeModeNum($inputitem, $version) { + $words = (int)($inputitem['size'] / 3); + $inputitem['bstream'] = array(); + $val = 0x1; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_NM, $version), $inputitem['size']); + for ($i=0; $i < $words; ++$i) { + $val = (ord($inputitem['data'][$i*3 ]) - ord('0')) * 100; + $val += (ord($inputitem['data'][$i*3+1]) - ord('0')) * 10; + $val += (ord($inputitem['data'][$i*3+2]) - ord('0')); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 10, $val); + } + if ($inputitem['size'] - $words * 3 == 1) { + $val = ord($inputitem['data'][$words*3]) - ord('0'); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val); + } elseif (($inputitem['size'] - ($words * 3)) == 2) { + $val = (ord($inputitem['data'][$words*3 ]) - ord('0')) * 10; + $val += (ord($inputitem['data'][$words*3+1]) - ord('0')); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 7, $val); + } + return $inputitem; + } + + /** + * encodeModeAn + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeModeAn($inputitem, $version) { + $words = (int)($inputitem['size'] / 2); + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x02); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_AN, $version), $inputitem['size']); + for ($i=0; $i < $words; ++$i) { + $val = (int)($this->lookAnTable(ord($inputitem['data'][$i*2])) * 45); + $val += (int)($this->lookAnTable(ord($inputitem['data'][($i*2)+1]))); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 11, $val); + } + if ($inputitem['size'] & 1) { + $val = $this->lookAnTable(ord($inputitem['data'][($words * 2)])); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 6, $val); + } + return $inputitem; + } + + /** + * encodeMode8 + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeMode8($inputitem, $version) { + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x4); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_8B, $version), $inputitem['size']); + for ($i=0; $i < $inputitem['size']; ++$i) { + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][$i])); + } + return $inputitem; + } + + /** + * encodeModeKanji + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeModeKanji($inputitem, $version) { + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x8); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_KJ, $version), (int)($inputitem['size'] / 2)); + for ($i=0; $i<$inputitem['size']; $i+=2) { + $val = (ord($inputitem['data'][$i]) << 8) | ord($inputitem['data'][$i+1]); + if ($val <= 0x9ffc) { + $val -= 0x8140; + } else { + $val -= 0xc140; + } + $h = ($val >> 8) * 0xc0; + $val = ($val & 0xff) + $h; + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 13, $val); + } + return $inputitem; + } + + /** + * encodeModeStructure + * @param array $inputitem + * @return array input item + */ + protected function encodeModeStructure($inputitem) { + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x03); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][1]) - 1); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][0]) - 1); + $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][2])); + return $inputitem; + } + + /** + * encodeBitStream + * @param array $inputitem + * @param int $version + * @return array input item + */ + protected function encodeBitStream($inputitem, $version) { + $inputitem['bstream'] = array(); + $words = $this->maximumWords($inputitem['mode'], $version); + if ($inputitem['size'] > $words) { + $st1 = $this->newInputItem($inputitem['mode'], $words, $inputitem['data']); + $st2 = $this->newInputItem($inputitem['mode'], $inputitem['size'] - $words, array_slice($inputitem['data'], $words)); + $st1 = $this->encodeBitStream($st1, $version); + $st2 = $this->encodeBitStream($st2, $version); + $inputitem['bstream'] = array(); + $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st1['bstream']); + $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st2['bstream']); + } else { + switch($inputitem['mode']) { + case QR_MODE_NM: { + $inputitem = $this->encodeModeNum($inputitem, $version); + break; + } + case QR_MODE_AN: { + $inputitem = $this->encodeModeAn($inputitem, $version); + break; + } + case QR_MODE_8B: { + $inputitem = $this->encodeMode8($inputitem, $version); + break; + } + case QR_MODE_KJ: { + $inputitem = $this->encodeModeKanji($inputitem, $version); + break; + } + case QR_MODE_ST: { + $inputitem = $this->encodeModeStructure($inputitem); + break; + } + default: { + break; + } + } + } + return $inputitem; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRinput + + /** + * Append data to an input object. + * The data is copied and appended to the input object. + * @param array $items input items + * @param int $mode encoding mode. + * @param int $size size of data (byte). + * @param array $data array of input data. + * @return array items + * + */ + protected function appendNewInputItem($items, $mode, $size, $data) { + $newitem = $this->newInputItem($mode, $size, $data); + if (!empty($newitem)) { + $items[] = $newitem; + } + return $items; + } + + /** + * insertStructuredAppendHeader + * @param array $items + * @param int $size + * @param int $index + * @param int $parity + * @return array items + */ + protected function insertStructuredAppendHeader($items, $size, $index, $parity) { + if ($size > MAX_STRUCTURED_SYMBOLS) { + return -1; + } + if (($index <= 0) OR ($index > MAX_STRUCTURED_SYMBOLS)) { + return -1; + } + $buf = array($size, $index, $parity); + $entry = $this->newInputItem(QR_MODE_ST, 3, $buf); + array_unshift($items, $entry); + return $items; + } + + /** + * calcParity + * @param array $items + * @return int parity + */ + protected function calcParity($items) { + $parity = 0; + foreach ($items as $item) { + if ($item['mode'] != QR_MODE_ST) { + for ($i=$item['size']-1; $i>=0; --$i) { + $parity ^= $item['data'][$i]; + } + } + } + return $parity; + } + + /** + * checkModeNum + * @param int $size + * @param array $data + * @return boolean true or false + */ + protected function checkModeNum($size, $data) { + for ($i=0; $i<$size; ++$i) { + if ((ord($data[$i]) < ord('0')) OR (ord($data[$i]) > ord('9'))){ + return false; + } + } + return true; + } + + /** + * Look up the alphabet-numeric conversion table (see JIS X0510:2004, pp.19). + * @param int $c character value + * @return int value + */ + protected function lookAnTable($c) { + return (($c > 127)?-1:$this->anTable[$c]); + } + + /** + * checkModeAn + * @param int $size + * @param array $data + * @return boolean true or false + */ + protected function checkModeAn($size, $data) { + for ($i=0; $i<$size; ++$i) { + if ($this->lookAnTable(ord($data[$i])) == -1) { + return false; + } + } + return true; + } + + /** + * estimateBitsModeNum + * @param int $size + * @return int number of bits + */ + protected function estimateBitsModeNum($size) { + $w = (int)($size / 3); + $bits = ($w * 10); + switch($size - ($w * 3)) { + case 1: { + $bits += 4; + break; + } + case 2: { + $bits += 7; + break; + } + } + return $bits; + } + + /** + * estimateBitsModeAn + * @param int $size + * @return int number of bits + */ + protected function estimateBitsModeAn($size) { + $bits = (int)($size * 5.5); // (size / 2 ) * 11 + if ($size & 1) { + $bits += 6; + } + return $bits; + } + + /** + * estimateBitsMode8 + * @param int $size + * @return int number of bits + */ + protected function estimateBitsMode8($size) { + return (int)($size * 8); + } + + /** + * estimateBitsModeKanji + * @param int $size + * @return int number of bits + */ + protected function estimateBitsModeKanji($size) { + return (int)($size * 6.5); // (size / 2 ) * 13 + } + + /** + * checkModeKanji + * @param int $size + * @param array $data + * @return boolean true or false + */ + protected function checkModeKanji($size, $data) { + if ($size & 1) { + return false; + } + for ($i=0; $i<$size; $i+=2) { + $val = (ord($data[$i]) << 8) | ord($data[$i+1]); + if (($val < 0x8140) OR (($val > 0x9ffc) AND ($val < 0xe040)) OR ($val > 0xebbf)) { + return false; + } + } + return true; + } + + /** + * Validate the input data. + * @param int $mode encoding mode. + * @param int $size size of data (byte). + * @param array $data data to validate + * @return boolean true in case of valid data, false otherwise + */ + protected function check($mode, $size, $data) { + if ($size <= 0) { + return false; + } + switch($mode) { + case QR_MODE_NM: { + return $this->checkModeNum($size, $data); + } + case QR_MODE_AN: { + return $this->checkModeAn($size, $data); + } + case QR_MODE_KJ: { + return $this->checkModeKanji($size, $data); + } + case QR_MODE_8B: { + return true; + } + case QR_MODE_ST: { + return true; + } + default: { + break; + } + } + return false; + } + + /** + * estimateBitStreamSize + * @param array $items + * @param int $version + * @return int bits + */ + protected function estimateBitStreamSize($items, $version) { + $bits = 0; + if ($version == 0) { + $version = 1; + } + foreach ($items as $item) { + switch($item['mode']) { + case QR_MODE_NM: { + $bits = $this->estimateBitsModeNum($item['size']); + break; + } + case QR_MODE_AN: { + $bits = $this->estimateBitsModeAn($item['size']); + break; + } + case QR_MODE_8B: { + $bits = $this->estimateBitsMode8($item['size']); + break; + } + case QR_MODE_KJ: { + $bits = $this->estimateBitsModeKanji($item['size']); + break; + } + case QR_MODE_ST: { + return STRUCTURE_HEADER_BITS; + } + default: { + return 0; + } + } + $l = $this->lengthIndicator($item['mode'], $version); + $m = 1 << $l; + $num = (int)(($item['size'] + $m - 1) / $m); + $bits += $num * (4 + $l); + } + return $bits; + } + + /** + * estimateVersion + * @param array $items + * @return int version + */ + protected function estimateVersion($items) { + $version = 0; + $prev = 0; + do { + $prev = $version; + $bits = $this->estimateBitStreamSize($items, $prev); + $version = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if ($version < 0) { + return -1; + } + } while ($version > $prev); + return $version; + } + + /** + * lengthOfCode + * @param int $mode + * @param int $version + * @param int $bits + * @return int size + */ + protected function lengthOfCode($mode, $version, $bits) { + $payload = $bits - 4 - $this->lengthIndicator($mode, $version); + switch($mode) { + case QR_MODE_NM: { + $chunks = (int)($payload / 10); + $remain = $payload - $chunks * 10; + $size = $chunks * 3; + if ($remain >= 7) { + $size += 2; + } elseif ($remain >= 4) { + $size += 1; + } + break; + } + case QR_MODE_AN: { + $chunks = (int)($payload / 11); + $remain = $payload - $chunks * 11; + $size = $chunks * 2; + if ($remain >= 6) { + ++$size; + } + break; + } + case QR_MODE_8B: { + $size = (int)($payload / 8); + break; + } + case QR_MODE_KJ: { + $size = (int)(($payload / 13) * 2); + break; + } + case QR_MODE_ST: { + $size = (int)($payload / 8); + break; + } + default: { + $size = 0; + break; + } + } + $maxsize = $this->maximumWords($mode, $version); + if ($size < 0) { + $size = 0; + } + if ($size > $maxsize) { + $size = $maxsize; + } + return $size; + } + + /** + * createBitStream + * @param array $items + * @return array of items and total bits + */ + protected function createBitStream($items) { + $total = 0; + foreach ($items as $key => $item) { + $items[$key] = $this->encodeBitStream($item, $this->version); + $bits = count($items[$key]['bstream']); + $total += $bits; + } + return array($items, $total); + } + + /** + * convertData + * @param array $items + * @return array items + */ + protected function convertData($items) { + $ver = $this->estimateVersion($items); + if ($ver > $this->version) { + $this->version = $ver; + } + while (true) { + $cbs = $this->createBitStream($items); + $items = $cbs[0]; + $bits = $cbs[1]; + if ($bits < 0) { + return -1; + } + $ver = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level); + if ($ver < 0) { + return -1; + } elseif ($ver > $this->version) { + $this->version = $ver; + } else { + break; + } + } + return $items; + } + + /** + * Append Padding Bit to bitstream + * @param array $bstream + * @return array bitstream + */ + protected function appendPaddingBit($bstream) { + if (is_null($bstream)) { + return null; + } + $bits = count($bstream); + $maxwords = $this->getDataLength($this->version, $this->level); + $maxbits = $maxwords * 8; + if ($maxbits == $bits) { + return $bstream; + } + if ($maxbits - $bits < 5) { + return $this->appendNum($bstream, $maxbits - $bits, 0); + } + $bits += 4; + $words = (int)(($bits + 7) / 8); + $padding = array(); + $padding = $this->appendNum($padding, $words * 8 - $bits + 4, 0); + $padlen = $maxwords - $words; + if ($padlen > 0) { + $padbuf = array(); + for ($i=0; $i<$padlen; ++$i) { + $padbuf[$i] = ($i&1)?0x11:0xec; + } + $padding = $this->appendBytes($padding, $padlen, $padbuf); + } + return $this->appendBitstream($bstream, $padding); + } + + /** + * mergeBitStream + * @param array $items items + * @return array bitstream + */ + protected function mergeBitStream($items) { + $items = $this->convertData($items); + if (!is_array($items)) { + return null; + } + $bstream = array(); + foreach ($items as $item) { + $bstream = $this->appendBitstream($bstream, $item['bstream']); + } + return $bstream; + } + + /** + * Returns a stream of bits. + * @param int $items + * @return array padded merged byte stream + */ + protected function getBitStream($items) { + $bstream = $this->mergeBitStream($items); + return $this->appendPaddingBit($bstream); + } + + /** + * Pack all bit streams padding bits into a byte array. + * @param int $items + * @return array padded merged byte stream + */ + protected function getByteStream($items) { + $bstream = $this->getBitStream($items); + return $this->bitstreamToByte($bstream); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRbitstream + + /** + * Return an array with zeros + * @param int $setLength array size + * @return array + */ + protected function allocate($setLength) { + return array_fill(0, $setLength, 0); + } + + /** + * Return new bitstream from number + * @param int $bits number of bits + * @param int $num number + * @return array bitstream + */ + protected function newFromNum($bits, $num) { + $bstream = $this->allocate($bits); + $mask = 1 << ($bits - 1); + for ($i=0; $i<$bits; ++$i) { + if ($num & $mask) { + $bstream[$i] = 1; + } else { + $bstream[$i] = 0; + } + $mask = $mask >> 1; + } + return $bstream; + } + + /** + * Return new bitstream from bytes + * @param int $size size + * @param array $data bytes + * @return array bitstream + */ + protected function newFromBytes($size, $data) { + $bstream = $this->allocate($size * 8); + $p=0; + for ($i=0; $i<$size; ++$i) { + $mask = 0x80; + for ($j=0; $j<8; ++$j) { + if ($data[$i] & $mask) { + $bstream[$p] = 1; + } else { + $bstream[$p] = 0; + } + $p++; + $mask = $mask >> 1; + } + } + return $bstream; + } + + /** + * Append one bitstream to another + * @param array $bitstream original bitstream + * @param array $append bitstream to append + * @return array bitstream + */ + protected function appendBitstream($bitstream, $append) { + if ((!is_array($append)) OR (count($append) == 0)) { + return $bitstream; + } + if (count($bitstream) == 0) { + return $append; + } + return array_values(array_merge($bitstream, $append)); + } + + /** + * Append one bitstream created from number to another + * @param array $bitstream original bitstream + * @param int $bits number of bits + * @param int $num number + * @return array bitstream + */ + protected function appendNum($bitstream, $bits, $num) { + if ($bits == 0) { + return 0; + } + $b = $this->newFromNum($bits, $num); + return $this->appendBitstream($bitstream, $b); + } + + /** + * Append one bitstream created from bytes to another + * @param array $bitstream original bitstream + * @param int $size size + * @param array $data bytes + * @return array bitstream + */ + protected function appendBytes($bitstream, $size, $data) { + if ($size == 0) { + return 0; + } + $b = $this->newFromBytes($size, $data); + return $this->appendBitstream($bitstream, $b); + } + + /** + * Convert bitstream to bytes + * @param array $bstream original bitstream + * @return array of bytes + */ + protected function bitstreamToByte($bstream) { + if (is_null($bstream)) { + return null; + } + $size = count($bstream); + if ($size == 0) { + return array(); + } + $data = array_fill(0, (int)(($size + 7) / 8), 0); + $bytes = (int)($size / 8); + $p = 0; + for ($i=0; $i<$bytes; $i++) { + $v = 0; + for ($j=0; $j<8; $j++) { + $v = $v << 1; + $v |= $bstream[$p]; + $p++; + } + $data[$i] = $v; + } + if ($size & 7) { + $v = 0; + for ($j=0; $j<($size & 7); $j++) { + $v = $v << 1; + $v |= $bstream[$p]; + $p++; + } + $data[$bytes] = $v; + } + return $data; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRspec + + /** + * Replace a value on the array at the specified position + * @param array $srctab + * @param int $x X position + * @param int $y Y position + * @param string $repl value to replace + * @param int $replLen length of the repl string + * @return array srctab + */ + protected function qrstrset($srctab, $x, $y, $repl, $replLen=false) { + $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl)); + return $srctab; + } + + /** + * Return maximum data code length (bytes) for the version. + * @param int $version version + * @param int $level error correction level + * @return int maximum size (bytes) + */ + protected function getDataLength($version, $level) { + return $this->capacity[$version][QRCAP_WORDS] - $this->capacity[$version][QRCAP_EC][$level]; + } + + /** + * Return maximum error correction code length (bytes) for the version. + * @param int $version version + * @param int $level error correction level + * @return int ECC size (bytes) + */ + protected function getECCLength($version, $level){ + return $this->capacity[$version][QRCAP_EC][$level]; + } + + /** + * Return the width of the symbol for the version. + * @param int $version version + * @return int width + */ + protected function getWidth($version) { + return $this->capacity[$version][QRCAP_WIDTH]; + } + + /** + * Return the numer of remainder bits. + * @param int $version version + * @return int number of remainder bits + */ + protected function getRemainder($version) { + return $this->capacity[$version][QRCAP_REMINDER]; + } + + /** + * Return a version number that satisfies the input code length. + * @param int $size input code length (bytes) + * @param int $level error correction level + * @return int version number + */ + protected function getMinimumVersion($size, $level) { + for ($i = 1; $i <= QRSPEC_VERSION_MAX; ++$i) { + $words = ($this->capacity[$i][QRCAP_WORDS] - $this->capacity[$i][QRCAP_EC][$level]); + if ($words >= $size) { + return $i; + } + } + // the size of input data is greater than QR capacity, try to lover the error correction mode + return -1; + } + + /** + * Return the size of length indicator for the mode and version. + * @param int $mode encoding mode + * @param int $version version + * @return int the size of the appropriate length indicator (bits). + */ + protected function lengthIndicator($mode, $version) { + if ($mode == QR_MODE_ST) { + return 0; + } + if ($version <= 9) { + $l = 0; + } elseif ($version <= 26) { + $l = 1; + } else { + $l = 2; + } + return $this->lengthTableBits[$mode][$l]; + } + + /** + * Return the maximum length for the mode and version. + * @param int $mode encoding mode + * @param int $version version + * @return int the maximum length (bytes) + */ + protected function maximumWords($mode, $version) { + if ($mode == QR_MODE_ST) { + return 3; + } + if ($version <= 9) { + $l = 0; + } else if ($version <= 26) { + $l = 1; + } else { + $l = 2; + } + $bits = $this->lengthTableBits[$mode][$l]; + $words = (1 << $bits) - 1; + if ($mode == QR_MODE_KJ) { + $words *= 2; // the number of bytes is required + } + return $words; + } + + /** + * Return an array of ECC specification. + * @param int $version version + * @param int $level error correction level + * @param array $spec an array of ECC specification contains as following: {# of type1 blocks, # of data code, # of ecc code, # of type2 blocks, # of data code} + * @return array spec + */ + protected function getEccSpec($version, $level, $spec) { + if (count($spec) < 5) { + $spec = array(0, 0, 0, 0, 0); + } + $b1 = $this->eccTable[$version][$level][0]; + $b2 = $this->eccTable[$version][$level][1]; + $data = $this->getDataLength($version, $level); + $ecc = $this->getECCLength($version, $level); + if ($b2 == 0) { + $spec[0] = $b1; + $spec[1] = (int)($data / $b1); + $spec[2] = (int)($ecc / $b1); + $spec[3] = 0; + $spec[4] = 0; + } else { + $spec[0] = $b1; + $spec[1] = (int)($data / ($b1 + $b2)); + $spec[2] = (int)($ecc / ($b1 + $b2)); + $spec[3] = $b2; + $spec[4] = $spec[1] + 1; + } + return $spec; + } + + /** + * Put an alignment marker. + * @param array $frame frame + * @param int $ox X center coordinate of the pattern + * @param int $oy Y center coordinate of the pattern + * @return array frame + */ + protected function putAlignmentMarker($frame, $ox, $oy) { + $finder = array( + "\xa1\xa1\xa1\xa1\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa0\xa1\xa0\xa1", + "\xa1\xa0\xa0\xa0\xa1", + "\xa1\xa1\xa1\xa1\xa1" + ); + $yStart = $oy - 2; + $xStart = $ox - 2; + for ($y=0; $y < 5; $y++) { + $frame = $this->qrstrset($frame, $xStart, $yStart+$y, $finder[$y]); + } + return $frame; + } + + /** + * Put an alignment pattern. + * @param int $version version + * @param array $frame frame + * @param int $width width + * @return array frame + */ + protected function putAlignmentPattern($version, $frame, $width) { + if ($version < 2) { + return $frame; + } + $d = $this->alignmentPattern[$version][1] - $this->alignmentPattern[$version][0]; + if ($d < 0) { + $w = 2; + } else { + $w = (int)(($width - $this->alignmentPattern[$version][0]) / $d + 2); + } + if ($w * $w - 3 == 1) { + $x = $this->alignmentPattern[$version][0]; + $y = $this->alignmentPattern[$version][0]; + $frame = $this->putAlignmentMarker($frame, $x, $y); + return $frame; + } + $cx = $this->alignmentPattern[$version][0]; + $wo = $w - 1; + for ($x=1; $x < $wo; ++$x) { + $frame = $this->putAlignmentMarker($frame, 6, $cx); + $frame = $this->putAlignmentMarker($frame, $cx, 6); + $cx += $d; + } + $cy = $this->alignmentPattern[$version][0]; + for ($y=0; $y < $wo; ++$y) { + $cx = $this->alignmentPattern[$version][0]; + for ($x=0; $x < $wo; ++$x) { + $frame = $this->putAlignmentMarker($frame, $cx, $cy); + $cx += $d; + } + $cy += $d; + } + return $frame; + } + + /** + * Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. Use lower 18 bits. + * @param int $version version + * @return string BCH encoded version information pattern + */ + protected function getVersionPattern($version) { + if (($version < 7) OR ($version > QRSPEC_VERSION_MAX)) { + return 0; + } + return $this->versionPattern[($version - 7)]; + } + + /** + * Return BCH encoded format information pattern. + * @param array $mask + * @param int $level error correction level + * @return string BCH encoded format information pattern + */ + protected function getFormatInfo($mask, $level) { + if (($mask < 0) OR ($mask > 7)) { + return 0; + } + if (($level < 0) OR ($level > 3)) { + return 0; + } + return $this->formatInfo[$level][$mask]; + } + + /** + * Put a finder pattern. + * @param array $frame frame + * @param int $ox X center coordinate of the pattern + * @param int $oy Y center coordinate of the pattern + * @return array frame + */ + protected function putFinderPattern($frame, $ox, $oy) { + $finder = array( + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc1\xc1\xc1\xc0\xc1", + "\xc1\xc0\xc0\xc0\xc0\xc0\xc1", + "\xc1\xc1\xc1\xc1\xc1\xc1\xc1" + ); + for ($y=0; $y < 7; $y++) { + $frame = $this->qrstrset($frame, $ox, ($oy + $y), $finder[$y]); + } + return $frame; + } + + /** + * Return a copy of initialized frame. + * @param int $version version + * @return array array of unsigned char. + */ + protected function createFrame($version) { + $width = $this->capacity[$version][QRCAP_WIDTH]; + $frameLine = str_repeat ("\0", $width); + $frame = array_fill(0, $width, $frameLine); + // Finder pattern + $frame = $this->putFinderPattern($frame, 0, 0); + $frame = $this->putFinderPattern($frame, $width - 7, 0); + $frame = $this->putFinderPattern($frame, 0, $width - 7); + // Separator + $yOffset = $width - 7; + for ($y=0; $y < 7; ++$y) { + $frame[$y][7] = "\xc0"; + $frame[$y][$width - 8] = "\xc0"; + $frame[$yOffset][7] = "\xc0"; + ++$yOffset; + } + $setPattern = str_repeat("\xc0", 8); + $frame = $this->qrstrset($frame, 0, 7, $setPattern); + $frame = $this->qrstrset($frame, $width-8, 7, $setPattern); + $frame = $this->qrstrset($frame, 0, $width - 8, $setPattern); + // Format info + $setPattern = str_repeat("\x84", 9); + $frame = $this->qrstrset($frame, 0, 8, $setPattern); + $frame = $this->qrstrset($frame, $width - 8, 8, $setPattern, 8); + $yOffset = $width - 8; + for ($y=0; $y < 8; ++$y,++$yOffset) { + $frame[$y][8] = "\x84"; + $frame[$yOffset][8] = "\x84"; + } + // Timing pattern + $wo = $width - 15; + for ($i=1; $i < $wo; ++$i) { + $frame[6][7+$i] = chr(0x90 | ($i & 1)); + $frame[7+$i][6] = chr(0x90 | ($i & 1)); + } + // Alignment pattern + $frame = $this->putAlignmentPattern($version, $frame, $width); + // Version information + if ($version >= 7) { + $vinf = $this->getVersionPattern($version); + $v = $vinf; + for ($x=0; $x<6; ++$x) { + for ($y=0; $y<3; ++$y) { + $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + $v = $vinf; + for ($y=0; $y<6; ++$y) { + for ($x=0; $x<3; ++$x) { + $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1)); + $v = $v >> 1; + } + } + } + // and a little bit... + $frame[$width - 8][8] = "\x81"; + return $frame; + } + + /** + * Set new frame for the specified version. + * @param int $version version + * @return array array of unsigned char. + */ + protected function newFrame($version) { + if (($version < 1) OR ($version > QRSPEC_VERSION_MAX)) { + return NULL; + } + if (!isset($this->frames[$version])) { + $this->frames[$version] = $this->createFrame($version); + } + if (is_null($this->frames[$version])) { + return NULL; + } + return $this->frames[$version]; + } + + /** + * Return block number 0 + * @param array $spec + * @return int value + */ + protected function rsBlockNum($spec) { + return ($spec[0] + $spec[3]); + } + + /** + * Return block number 1 + * @param array $spec + * @return int value + */ + protected function rsBlockNum1($spec) { + return $spec[0]; + } + + /** + * Return data codes 1 + * @param array $spec + * @return int value + */ + protected function rsDataCodes1($spec) { + return $spec[1]; + } + + /** + * Return ecc codes 1 + * @param array $spec + * @return int value + */ + protected function rsEccCodes1($spec) { + return $spec[2]; + } + + /** + * Return block number 2 + * @param array $spec + * @return int value + */ + protected function rsBlockNum2($spec) { + return $spec[3]; + } + + /** + * Return data codes 2 + * @param array $spec + * @return int value + */ + protected function rsDataCodes2($spec) { + return $spec[4]; + } + + /** + * Return ecc codes 2 + * @param array $spec + * @return int value + */ + protected function rsEccCodes2($spec) { + return $spec[2]; + } + + /** + * Return data length + * @param array $spec + * @return int value + */ + protected function rsDataLength($spec) { + return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); + } + + /** + * Return ecc length + * @param array $spec + * @return int value + */ + protected function rsEccLength($spec) { + return ($spec[0] + $spec[3]) * $spec[2]; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRrs + + /** + * Initialize a Reed-Solomon codec and add it to existing rsitems + * @param int $symsize symbol size, bits + * @param int $gfpoly Field generator polynomial coefficients + * @param int $fcr first root of RS code generator polynomial, index form + * @param int $prim primitive element to generate polynomial roots + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad padding bytes at front of shortened block + * @return array Array of RS values:
    • mm = Bits per symbol;
    • nn = Symbols per block;
    • alpha_to = log lookup table array;
    • index_of = Antilog lookup table array;
    • genpoly = Generator polynomial array;
    • nroots = Number of generator;
    • roots = number of parity symbols;
    • fcr = First consecutive root, index form;
    • prim = Primitive element, index form;
    • iprim = prim-th root of 1, index form;
    • pad = Padding bytes in shortened block;
    • gfpoly
    . + */ + protected function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) { + foreach ($this->rsitems as $rs) { + if (($rs['pad'] != $pad) OR ($rs['nroots'] != $nroots) OR ($rs['mm'] != $symsize) + OR ($rs['gfpoly'] != $gfpoly) OR ($rs['fcr'] != $fcr) OR ($rs['prim'] != $prim)) { + continue; + } + return $rs; + } + $rs = $this->init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad); + array_unshift($this->rsitems, $rs); + return $rs; + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - + + // QRrsItem + + /** + * modnn + * @param array $rs RS values + * @param int $x X position + * @return int X osition + */ + protected function modnn($rs, $x) { + while ($x >= $rs['nn']) { + $x -= $rs['nn']; + $x = ($x >> $rs['mm']) + ($x & $rs['nn']); + } + return $x; + } + + /** + * Initialize a Reed-Solomon codec and returns an array of values. + * @param int $symsize symbol size, bits + * @param int $gfpoly Field generator polynomial coefficients + * @param int $fcr first root of RS code generator polynomial, index form + * @param int $prim primitive element to generate polynomial roots + * @param int $nroots RS code generator polynomial degree (number of roots) + * @param int $pad padding bytes at front of shortened block + * @return array Array of RS values:
    • mm = Bits per symbol;
    • nn = Symbols per block;
    • alpha_to = log lookup table array;
    • index_of = Antilog lookup table array;
    • genpoly = Generator polynomial array;
    • nroots = Number of generator;
    • roots = number of parity symbols;
    • fcr = First consecutive root, index form;
    • prim = Primitive element, index form;
    • iprim = prim-th root of 1, index form;
    • pad = Padding bytes in shortened block;
    • gfpoly
    . + */ + protected function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) { + // Based on Reed solomon encoder by Phil Karn, KA9Q (GNU-LGPLv2) + $rs = null; + // Check parameter ranges + if (($symsize < 0) OR ($symsize > 8)) { + return $rs; + } + if (($fcr < 0) OR ($fcr >= (1<<$symsize))) { + return $rs; + } + if (($prim <= 0) OR ($prim >= (1<<$symsize))) { + return $rs; + } + if (($nroots < 0) OR ($nroots >= (1<<$symsize))) { + return $rs; + } + if (($pad < 0) OR ($pad >= ((1<<$symsize) -1 - $nroots))) { + return $rs; + } + $rs = array(); + $rs['mm'] = $symsize; + $rs['nn'] = (1 << $symsize) - 1; + $rs['pad'] = $pad; + $rs['alpha_to'] = array_fill(0, ($rs['nn'] + 1), 0); + $rs['index_of'] = array_fill(0, ($rs['nn'] + 1), 0); + // PHP style macro replacement ;) + $NN =& $rs['nn']; + $A0 =& $NN; + // Generate Galois field lookup tables + $rs['index_of'][0] = $A0; // log(zero) = -inf + $rs['alpha_to'][$A0] = 0; // alpha**-inf = 0 + $sr = 1; + for ($i=0; $i<$rs['nn']; ++$i) { + $rs['index_of'][$sr] = $i; + $rs['alpha_to'][$i] = $sr; + $sr <<= 1; + if ($sr & (1 << $symsize)) { + $sr ^= $gfpoly; + } + $sr &= $rs['nn']; + } + if ($sr != 1) { + // field generator polynomial is not primitive! + return NULL; + } + // Form RS code generator polynomial from its roots + $rs['genpoly'] = array_fill(0, ($nroots + 1), 0); + $rs['fcr'] = $fcr; + $rs['prim'] = $prim; + $rs['nroots'] = $nroots; + $rs['gfpoly'] = $gfpoly; + // Find prim-th root of 1, used in decoding + for ($iprim=1; ($iprim % $prim) != 0; $iprim += $rs['nn']) { + ; // intentional empty-body loop! + } + $rs['iprim'] = (int)($iprim / $prim); + $rs['genpoly'][0] = 1; + for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) { + $rs['genpoly'][$i+1] = 1; + // Multiply rs->genpoly[] by @**(root + x) + for ($j = $i; $j > 0; --$j) { + if ($rs['genpoly'][$j] != 0) { + $rs['genpoly'][$j] = $rs['genpoly'][$j-1] ^ $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][$j]] + $root)]; + } else { + $rs['genpoly'][$j] = $rs['genpoly'][$j-1]; + } + } + // rs->genpoly[0] can never be zero + $rs['genpoly'][0] = $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][0]] + $root)]; + } + // convert rs->genpoly[] to index form for quicker encoding + for ($i = 0; $i <= $nroots; ++$i) { + $rs['genpoly'][$i] = $rs['index_of'][$rs['genpoly'][$i]]; + } + return $rs; + } + + /** + * Encode a Reed-Solomon codec and returns the parity array + * @param array $rs RS values + * @param array $data data + * @param array $parity parity + * @return parity array + */ + protected function encode_rs_char($rs, $data, $parity) { + $MM =& $rs['mm']; // bits per symbol + $NN =& $rs['nn']; // the total number of symbols in a RS block + $ALPHA_TO =& $rs['alpha_to']; // the address of an array of NN elements to convert Galois field elements in index (log) form to polynomial form + $INDEX_OF =& $rs['index_of']; // the address of an array of NN elements to convert Galois field elements in polynomial form to index (log) form + $GENPOLY =& $rs['genpoly']; // an array of NROOTS+1 elements containing the generator polynomial in index form + $NROOTS =& $rs['nroots']; // the number of roots in the RS code generator polynomial, which is the same as the number of parity symbols in a block + $FCR =& $rs['fcr']; // first consecutive root, index form + $PRIM =& $rs['prim']; // primitive element, index form + $IPRIM =& $rs['iprim']; // prim-th root of 1, index form + $PAD =& $rs['pad']; // the number of pad symbols in a block + $A0 =& $NN; + $parity = array_fill(0, $NROOTS, 0); + for ($i=0; $i < ($NN - $NROOTS - $PAD); $i++) { + $feedback = $INDEX_OF[$data[$i] ^ $parity[0]]; + if ($feedback != $A0) { + // feedback term is non-zero + // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must + // always be for the polynomials constructed by init_rs() + $feedback = $this->modnn($rs, $NN - $GENPOLY[$NROOTS] + $feedback); + for ($j=1; $j < $NROOTS; ++$j) { + $parity[$j] ^= $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[($NROOTS - $j)])]; + } + } + // Shift + array_shift($parity); + if ($feedback != $A0) { + array_push($parity, $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[0])]); + } else { + array_push($parity, 0); + } + } + return $parity; + } + +} // end QRcode class + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/sRGB.icc b/vendor/tecnickcom/tcpdf/include/sRGB.icc new file mode 100644 index 0000000..1d8f741 Binary files /dev/null and b/vendor/tecnickcom/tcpdf/include/sRGB.icc differ diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_colors.php b/vendor/tecnickcom/tcpdf/include/tcpdf_colors.php new file mode 100644 index 0000000..8c4529a --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_colors.php @@ -0,0 +1,482 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Array of WEB safe colors +// +//============================================================+ + +/** + * @file + * PHP color class for TCPDF + * @author Nicola Asuni + * @package com.tecnick.tcpdf + */ + +/** + * @class TCPDF_COLORS + * PHP color class for TCPDF + * @package com.tecnick.tcpdf + * @version 1.0.004 + * @author Nicola Asuni - info@tecnick.com + */ +class TCPDF_COLORS { + + /** + * Array of WEB safe colors + * @public static + */ + public static $webcolor = array ( + 'aliceblue' => 'f0f8ff', + 'antiquewhite' => 'faebd7', + 'aqua' => '00ffff', + 'aquamarine' => '7fffd4', + 'azure' => 'f0ffff', + 'beige' => 'f5f5dc', + 'bisque' => 'ffe4c4', + 'black' => '000000', + 'blanchedalmond' => 'ffebcd', + 'blue' => '0000ff', + 'blueviolet' => '8a2be2', + 'brown' => 'a52a2a', + 'burlywood' => 'deb887', + 'cadetblue' => '5f9ea0', + 'chartreuse' => '7fff00', + 'chocolate' => 'd2691e', + 'coral' => 'ff7f50', + 'cornflowerblue' => '6495ed', + 'cornsilk' => 'fff8dc', + 'crimson' => 'dc143c', + 'cyan' => '00ffff', + 'darkblue' => '00008b', + 'darkcyan' => '008b8b', + 'darkgoldenrod' => 'b8860b', + 'dkgray' => 'a9a9a9', + 'darkgray' => 'a9a9a9', + 'darkgrey' => 'a9a9a9', + 'darkgreen' => '006400', + 'darkkhaki' => 'bdb76b', + 'darkmagenta' => '8b008b', + 'darkolivegreen' => '556b2f', + 'darkorange' => 'ff8c00', + 'darkorchid' => '9932cc', + 'darkred' => '8b0000', + 'darksalmon' => 'e9967a', + 'darkseagreen' => '8fbc8f', + 'darkslateblue' => '483d8b', + 'darkslategray' => '2f4f4f', + 'darkslategrey' => '2f4f4f', + 'darkturquoise' => '00ced1', + 'darkviolet' => '9400d3', + 'deeppink' => 'ff1493', + 'deepskyblue' => '00bfff', + 'dimgray' => '696969', + 'dimgrey' => '696969', + 'dodgerblue' => '1e90ff', + 'firebrick' => 'b22222', + 'floralwhite' => 'fffaf0', + 'forestgreen' => '228b22', + 'fuchsia' => 'ff00ff', + 'gainsboro' => 'dcdcdc', + 'ghostwhite' => 'f8f8ff', + 'gold' => 'ffd700', + 'goldenrod' => 'daa520', + 'gray' => '808080', + 'grey' => '808080', + 'green' => '008000', + 'greenyellow' => 'adff2f', + 'honeydew' => 'f0fff0', + 'hotpink' => 'ff69b4', + 'indianred' => 'cd5c5c', + 'indigo' => '4b0082', + 'ivory' => 'fffff0', + 'khaki' => 'f0e68c', + 'lavender' => 'e6e6fa', + 'lavenderblush' => 'fff0f5', + 'lawngreen' => '7cfc00', + 'lemonchiffon' => 'fffacd', + 'lightblue' => 'add8e6', + 'lightcoral' => 'f08080', + 'lightcyan' => 'e0ffff', + 'lightgoldenrodyellow' => 'fafad2', + 'ltgray' => 'd3d3d3', + 'lightgray' => 'd3d3d3', + 'lightgrey' => 'd3d3d3', + 'lightgreen' => '90ee90', + 'lightpink' => 'ffb6c1', + 'lightsalmon' => 'ffa07a', + 'lightseagreen' => '20b2aa', + 'lightskyblue' => '87cefa', + 'lightslategray' => '778899', + 'lightslategrey' => '778899', + 'lightsteelblue' => 'b0c4de', + 'lightyellow' => 'ffffe0', + 'lime' => '00ff00', + 'limegreen' => '32cd32', + 'linen' => 'faf0e6', + 'magenta' => 'ff00ff', + 'maroon' => '800000', + 'mediumaquamarine' => '66cdaa', + 'mediumblue' => '0000cd', + 'mediumorchid' => 'ba55d3', + 'mediumpurple' => '9370d8', + 'mediumseagreen' => '3cb371', + 'mediumslateblue' => '7b68ee', + 'mediumspringgreen' => '00fa9a', + 'mediumturquoise' => '48d1cc', + 'mediumvioletred' => 'c71585', + 'midnightblue' => '191970', + 'mintcream' => 'f5fffa', + 'mistyrose' => 'ffe4e1', + 'moccasin' => 'ffe4b5', + 'navajowhite' => 'ffdead', + 'navy' => '000080', + 'oldlace' => 'fdf5e6', + 'olive' => '808000', + 'olivedrab' => '6b8e23', + 'orange' => 'ffa500', + 'orangered' => 'ff4500', + 'orchid' => 'da70d6', + 'palegoldenrod' => 'eee8aa', + 'palegreen' => '98fb98', + 'paleturquoise' => 'afeeee', + 'palevioletred' => 'd87093', + 'papayawhip' => 'ffefd5', + 'peachpuff' => 'ffdab9', + 'peru' => 'cd853f', + 'pink' => 'ffc0cb', + 'plum' => 'dda0dd', + 'powderblue' => 'b0e0e6', + 'purple' => '800080', + 'red' => 'ff0000', + 'rosybrown' => 'bc8f8f', + 'royalblue' => '4169e1', + 'saddlebrown' => '8b4513', + 'salmon' => 'fa8072', + 'sandybrown' => 'f4a460', + 'seagreen' => '2e8b57', + 'seashell' => 'fff5ee', + 'sienna' => 'a0522d', + 'silver' => 'c0c0c0', + 'skyblue' => '87ceeb', + 'slateblue' => '6a5acd', + 'slategray' => '708090', + 'slategrey' => '708090', + 'snow' => 'fffafa', + 'springgreen' => '00ff7f', + 'steelblue' => '4682b4', + 'tan' => 'd2b48c', + 'teal' => '008080', + 'thistle' => 'd8bfd8', + 'tomato' => 'ff6347', + 'turquoise' => '40e0d0', + 'violet' => 'ee82ee', + 'wheat' => 'f5deb3', + 'white' => 'ffffff', + 'whitesmoke' => 'f5f5f5', + 'yellow' => 'ffff00', + 'yellowgreen' => '9acd32' + ); // end of web colors + + /** + * Array of valid JavaScript color names + * @public static + */ + public static $jscolor = array ('transparent', 'black', 'white', 'red', 'green', 'blue', 'cyan', 'magenta', 'yellow', 'dkGray', 'gray', 'ltGray'); + + /** + * Array of Spot colors (C,M,Y,K,name) + * Color keys must be in lowercase and without spaces. + * As long as no open standard for spot colours exists, you have to buy a colour book by one of the colour manufacturers and insert the values and names of spot colours directly. + * Common industry standard spot colors are: ANPA-COLOR, DIC, FOCOLTONE, GCMI, HKS, PANTONE, TOYO, TRUMATCH. + * @public static + */ + public static $spotcolor = array ( + // special registration colors + 'none' => array( 0, 0, 0, 0, 'None'), + 'all' => array(100, 100, 100, 100, 'All'), + // standard CMYK colors + 'cyan' => array(100, 0, 0, 0, 'Cyan'), + 'magenta' => array( 0, 100, 0, 0, 'Magenta'), + 'yellow' => array( 0, 0, 100, 0, 'Yellow'), + 'key' => array( 0, 0, 0, 100, 'Key'), + // alias + 'white' => array( 0, 0, 0, 0, 'White'), + 'black' => array( 0, 0, 0, 100, 'Black'), + // standard RGB colors + 'red' => array( 0, 100, 100, 0, 'Red'), + 'green' => array(100, 0, 100, 0, 'Green'), + 'blue' => array(100, 100, 0, 0, 'Blue'), + // Add here standard spot colors or dynamically define them with AddSpotColor() + // ... + ); // end of spot colors + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + /** + * Return the Spot color array. + * @param string $name Name of the spot color. + * @param array $spotc Reference to an array of spot colors. + * @return array|false Spot color array or false if not defined. + * @since 5.9.125 (2011-10-03) + * @public static + */ + public static function getSpotColor($name, &$spotc) { + if (isset($spotc[$name])) { + return $spotc[$name]; + } + $color = preg_replace('/[\s]*/', '', $name); // remove extra spaces + $color = strtolower($color); + if (isset(self::$spotcolor[$color])) { + if (!isset($spotc[$name])) { + $i = (1 + count($spotc)); + $spotc[$name] = array('C' => self::$spotcolor[$color][0], 'M' => self::$spotcolor[$color][1], 'Y' => self::$spotcolor[$color][2], 'K' => self::$spotcolor[$color][3], 'name' => self::$spotcolor[$color][4], 'i' => $i); + } + return $spotc[self::$spotcolor[$color][4]]; + } + return false; + } + + /** + * Returns an array (RGB or CMYK) from an html color name, or a six-digit (i.e. #3FE5AA), or three-digit (i.e. #7FF) hexadecimal color, or a javascript color array, or javascript color name. + * @param string $hcolor HTML color. + * @param array $spotc Reference to an array of spot colors. + * @param array $defcol Color to return in case of error. + * @return array|false RGB or CMYK color, or false in case of error. + * @public static + */ + public static function convertHTMLColorToDec($hcolor, &$spotc, $defcol=array('R'=>128,'G'=>128,'B'=>128)) { + $color = preg_replace('/[\s]*/', '', $hcolor); // remove extra spaces + $color = strtolower($color); + // check for javascript color array syntax + if (strpos($color, '[') !== false) { + if (preg_match('/[\[][\"\'](t|g|rgba|rgb|cmyk)[\"\'][\,]?([0-9\.]*+)[\,]?([0-9\.]*+)[\,]?([0-9\.]*+)[\,]?([0-9\.]*+)[\]]/', $color, $m) > 0) { + $returncolor = array(); + switch ($m[1]) { + case 'cmyk': { + // RGB + $returncolor['C'] = max(0, min(100, (floatval($m[2]) * 100))); + $returncolor['M'] = max(0, min(100, (floatval($m[3]) * 100))); + $returncolor['Y'] = max(0, min(100, (floatval($m[4]) * 100))); + $returncolor['K'] = max(0, min(100, (floatval($m[5]) * 100))); + break; + } + case 'rgb': + case 'rgba': { + // RGB + $returncolor['R'] = max(0, min(255, (floatval($m[2]) * 255))); + $returncolor['G'] = max(0, min(255, (floatval($m[3]) * 255))); + $returncolor['B'] = max(0, min(255, (floatval($m[4]) * 255))); + break; + } + case 'g': { + // grayscale + $returncolor['G'] = max(0, min(255, (floatval($m[2]) * 255))); + break; + } + case 't': + default: { + // transparent (empty array) + break; + } + } + return $returncolor; + } + } elseif ((substr($color, 0, 4) != 'cmyk') AND (substr($color, 0, 3) != 'rgb') AND (($dotpos = strpos($color, '.')) !== false)) { + // remove class parent (i.e.: color.red) + $color = substr($color, ($dotpos + 1)); + if ($color == 'transparent') { + // transparent (empty array) + return array(); + } + } + if (strlen($color) == 0) { + return $defcol; + } + // RGBA ARRAY + if (substr($color, 0, 4) == 'rgba') { + $codes = substr($color, 5); + $codes = str_replace(')', '', $codes); + $returncolor = explode(',', $codes); + // remove alpha component + array_pop($returncolor); + foreach ($returncolor as $key => $val) { + if (strpos($val, '%') > 0) { + // percentage + $returncolor[$key] = (255 * intval($val) / 100); + } else { + $returncolor[$key] = intval($val); /* floatize */ + } + // normalize value + $returncolor[$key] = max(0, min(255, $returncolor[$key])); + } + return $returncolor; + } + // RGB ARRAY + if (substr($color, 0, 3) == 'rgb') { + $codes = substr($color, 4); + $codes = str_replace(')', '', $codes); + $returncolor = explode(',', $codes); + foreach ($returncolor as $key => $val) { + if (strpos($val, '%') > 0) { + // percentage + $returncolor[$key] = (255 * intval($val) / 100); + } else { + $returncolor[$key] = intval($val); + } + // normalize value + $returncolor[$key] = max(0, min(255, $returncolor[$key])); + } + return $returncolor; + } + // CMYK ARRAY + if (substr($color, 0, 4) == 'cmyk') { + $codes = substr($color, 5); + $codes = str_replace(')', '', $codes); + $returncolor = explode(',', $codes); + foreach ($returncolor as $key => $val) { + if (strpos($val, '%') !== false) { + // percentage + $returncolor[$key] = (100 * intval($val) / 100); + } else { + $returncolor[$key] = intval($val); + } + // normalize value + $returncolor[$key] = max(0, min(100, $returncolor[$key])); + } + return $returncolor; + } + if ($color[0] != '#') { + // COLOR NAME + if (isset(self::$webcolor[$color])) { + // web color + $color_code = self::$webcolor[$color]; + } else { + // spot color + $returncolor = self::getSpotColor($hcolor, $spotc); + if ($returncolor === false) { + $returncolor = $defcol; + } + return $returncolor; + } + } else { + $color_code = substr($color, 1); + } + // HEXADECIMAL REPRESENTATION + switch (strlen($color_code)) { + case 3: { + // 3-digit RGB hexadecimal representation + $r = substr($color_code, 0, 1); + $g = substr($color_code, 1, 1); + $b = substr($color_code, 2, 1); + $returncolor = array(); + $returncolor['R'] = max(0, min(255, hexdec($r.$r))); + $returncolor['G'] = max(0, min(255, hexdec($g.$g))); + $returncolor['B'] = max(0, min(255, hexdec($b.$b))); + break; + } + case 6: { + // 6-digit RGB hexadecimal representation + $returncolor = array(); + $returncolor['R'] = max(0, min(255, hexdec(substr($color_code, 0, 2)))); + $returncolor['G'] = max(0, min(255, hexdec(substr($color_code, 2, 2)))); + $returncolor['B'] = max(0, min(255, hexdec(substr($color_code, 4, 2)))); + break; + } + case 8: { + // 8-digit CMYK hexadecimal representation + $returncolor = array(); + $returncolor['C'] = max(0, min(100, round(hexdec(substr($color_code, 0, 2)) / 2.55))); + $returncolor['M'] = max(0, min(100, round(hexdec(substr($color_code, 2, 2)) / 2.55))); + $returncolor['Y'] = max(0, min(100, round(hexdec(substr($color_code, 4, 2)) / 2.55))); + $returncolor['K'] = max(0, min(100, round(hexdec(substr($color_code, 6, 2)) / 2.55))); + break; + } + default: { + $returncolor = $defcol; + break; + } + } + return $returncolor; + } + + /** + * Convert a color array into a string representation. + * @param array $c Array of colors. + * @return string The color array representation. + * @since 5.9.137 (2011-12-01) + * @public static + */ + public static function getColorStringFromArray($c) { + $c = array_values($c); + $color = '['; + switch (count($c)) { + case 4: { + // CMYK + $color .= sprintf('%F %F %F %F', (max(0, min(100, floatval($c[0]))) / 100), (max(0, min(100, floatval($c[1]))) / 100), (max(0, min(100, floatval($c[2]))) / 100), (max(0, min(100, floatval($c[3]))) / 100)); + break; + } + case 3: { + // RGB + $color .= sprintf('%F %F %F', (max(0, min(255, floatval($c[0]))) / 255), (max(0, min(255, floatval($c[1]))) / 255), (max(0, min(255, floatval($c[2]))) / 255)); + break; + } + case 1: { + // grayscale + $color .= sprintf('%F', (max(0, min(255, floatval($c[0]))) / 255)); + break; + } + } + $color .= ']'; + return $color; + } + + /** + * Convert color to javascript color. + * @param string $color color name or "#RRGGBB" + * @protected + * @since 2.1.002 (2008-02-12) + * @public static + */ + public static function _JScolor($color) { + if (substr($color, 0, 1) == '#') { + return sprintf("['RGB',%F,%F,%F]", (hexdec(substr($color, 1, 2)) / 255), (hexdec(substr($color, 3, 2)) / 255), (hexdec(substr($color, 5, 2)) / 255)); + } + if (!in_array($color, self::$jscolor)) { + // default transparent color + $color = self::$jscolor[0]; + } + return 'color.'.$color; + } + + +} // END OF TCPDF_COLORS CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_filters.php b/vendor/tecnickcom/tcpdf/include/tcpdf_filters.php new file mode 100644 index 0000000..3009cff --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_filters.php @@ -0,0 +1,481 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : This is a PHP class for decoding common PDF filters (PDF 32000-2008 - 7.4 Filters). +// +//============================================================+ + +/** + * @file + * This is a PHP class for decoding common PDF filters (PDF 32000-2008 - 7.4 Filters).
    + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.001 + */ + +/** + * @class TCPDF_FILTERS + * This is a PHP class for decoding common PDF filters (PDF 32000-2008 - 7.4 Filters).
    + * @package com.tecnick.tcpdf + * @brief This is a PHP class for decoding common PDF filters. + * @version 1.0.001 + * @author Nicola Asuni - info@tecnick.com + */ +class TCPDF_FILTERS { + + /** + * Define a list of available filter decoders. + * @private static + */ + private static $available_filters = array('ASCIIHexDecode', 'ASCII85Decode', 'LZWDecode', 'FlateDecode', 'RunLengthDecode'); + +// ----------------------------------------------------------------------------- + + /** + * Get a list of available decoding filters. + * @return array Array of available filter decoders. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function getAvailableFilters() { + return self::$available_filters; + } + + /** + * Decode data using the specified filter type. + * @param string $filter Filter name. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilter($filter, $data) { + switch ($filter) { + case 'ASCIIHexDecode': { + return self::decodeFilterASCIIHexDecode($data); + break; + } + case 'ASCII85Decode': { + return self::decodeFilterASCII85Decode($data); + break; + } + case 'LZWDecode': { + return self::decodeFilterLZWDecode($data); + break; + } + case 'FlateDecode': { + return self::decodeFilterFlateDecode($data); + break; + } + case 'RunLengthDecode': { + return self::decodeFilterRunLengthDecode($data); + break; + } + case 'CCITTFaxDecode': { + return self::decodeFilterCCITTFaxDecode($data); + break; + } + case 'JBIG2Decode': { + return self::decodeFilterJBIG2Decode($data); + break; + } + case 'DCTDecode': { + return self::decodeFilterDCTDecode($data); + break; + } + case 'JPXDecode': { + return self::decodeFilterJPXDecode($data); + break; + } + case 'Crypt': { + return self::decodeFilterCrypt($data); + break; + } + default: { + return self::decodeFilterStandard($data); + break; + } + } + } + + // --- FILTERS (PDF 32000-2008 - 7.4 Filters) ------------------------------ + + /** + * Standard + * Default decoding filter (leaves data unchanged). + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterStandard($data) { + return $data; + } + + /** + * ASCIIHexDecode + * Decodes data encoded in an ASCII hexadecimal representation, reproducing the original binary data. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterASCIIHexDecode($data) { + // initialize string to return + $decoded = ''; + // all white-space characters shall be ignored + $data = preg_replace('/[\s]/', '', $data); + // check for EOD character: GREATER-THAN SIGN (3Eh) + $eod = strpos($data, '>'); + if ($eod !== false) { + // remove EOD and extra data (if any) + $data = substr($data, 0, $eod); + $eod = true; + } + // get data length + $data_length = strlen($data); + if (($data_length % 2) != 0) { + // odd number of hexadecimal digits + if ($eod) { + // EOD shall behave as if a 0 (zero) followed the last digit + $data = substr($data, 0, -1).'0'.substr($data, -1); + } else { + self::Error('decodeFilterASCIIHexDecode: invalid code'); + } + } + // check for invalid characters + if (preg_match('/[^a-fA-F\d]/', $data) > 0) { + self::Error('decodeFilterASCIIHexDecode: invalid code'); + } + // get one byte of binary data for each pair of ASCII hexadecimal digits + $decoded = pack('H*', $data); + return $decoded; + } + + /** + * ASCII85Decode + * Decodes data encoded in an ASCII base-85 representation, reproducing the original binary data. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterASCII85Decode($data) { + // initialize string to return + $decoded = ''; + // all white-space characters shall be ignored + $data = preg_replace('/[\s]/', '', $data); + // remove start sequence 2-character sequence <~ (3Ch)(7Eh) + if (strpos($data, '<~') !== false) { + // remove EOD and extra data (if any) + $data = substr($data, 2); + } + // check for EOD: 2-character sequence ~> (7Eh)(3Eh) + $eod = strpos($data, '~>'); + if ($eod !== false) { + // remove EOD and extra data (if any) + $data = substr($data, 0, $eod); + } + // data length + $data_length = strlen($data); + // check for invalid characters + if (preg_match('/[^\x21-\x75,\x74]/', $data) > 0) { + self::Error('decodeFilterASCII85Decode: invalid code'); + } + // z sequence + $zseq = chr(0).chr(0).chr(0).chr(0); + // position inside a group of 4 bytes (0-3) + $group_pos = 0; + $tuple = 0; + $pow85 = array((85*85*85*85), (85*85*85), (85*85), 85, 1); + $last_pos = ($data_length - 1); + // for each byte + for ($i = 0; $i < $data_length; ++$i) { + // get char value + $char = ord($data[$i]); + if ($char == 122) { // 'z' + if ($group_pos == 0) { + $decoded .= $zseq; + } else { + self::Error('decodeFilterASCII85Decode: invalid code'); + } + } else { + // the value represented by a group of 5 characters should never be greater than 2^32 - 1 + $tuple += (($char - 33) * $pow85[$group_pos]); + if ($group_pos == 4) { + $decoded .= chr($tuple >> 24).chr($tuple >> 16).chr($tuple >> 8).chr($tuple); + $tuple = 0; + $group_pos = 0; + } else { + ++$group_pos; + } + } + } + if ($group_pos > 1) { + $tuple += $pow85[($group_pos - 1)]; + } + // last tuple (if any) + switch ($group_pos) { + case 4: { + $decoded .= chr($tuple >> 24).chr($tuple >> 16).chr($tuple >> 8); + break; + } + case 3: { + $decoded .= chr($tuple >> 24).chr($tuple >> 16); + break; + } + case 2: { + $decoded .= chr($tuple >> 24); + break; + } + case 1: { + self::Error('decodeFilterASCII85Decode: invalid code'); + break; + } + } + return $decoded; + } + + /** + * LZWDecode + * Decompresses data encoded using the LZW (Lempel-Ziv-Welch) adaptive compression method, reproducing the original text or binary data. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterLZWDecode($data) { + // initialize string to return + $decoded = ''; + // data length + $data_length = strlen($data); + // convert string to binary string + $bitstring = ''; + for ($i = 0; $i < $data_length; ++$i) { + $bitstring .= sprintf('%08b', ord($data[$i])); + } + // get the number of bits + $data_length = strlen($bitstring); + // initialize code length in bits + $bitlen = 9; + // initialize dictionary index + $dix = 258; + // initialize the dictionary (with the first 256 entries). + $dictionary = array(); + for ($i = 0; $i < 256; ++$i) { + $dictionary[$i] = chr($i); + } + // previous val + $prev_index = 0; + // while we encounter EOD marker (257), read code_length bits + while (($data_length > 0) AND (($index = bindec(substr($bitstring, 0, $bitlen))) != 257)) { + // remove read bits from string + $bitstring = substr($bitstring, $bitlen); + // update number of bits + $data_length -= $bitlen; + if ($index == 256) { // clear-table marker + // reset code length in bits + $bitlen = 9; + // reset dictionary index + $dix = 258; + $prev_index = 256; + // reset the dictionary (with the first 256 entries). + $dictionary = array(); + for ($i = 0; $i < 256; ++$i) { + $dictionary[$i] = chr($i); + } + } elseif ($prev_index == 256) { + // first entry + $decoded .= $dictionary[$index]; + $prev_index = $index; + } else { + // check if index exist in the dictionary + if ($index < $dix) { + // index exist on dictionary + $decoded .= $dictionary[$index]; + $dic_val = $dictionary[$prev_index].$dictionary[$index][0]; + // store current index + $prev_index = $index; + } else { + // index do not exist on dictionary + $dic_val = $dictionary[$prev_index].$dictionary[$prev_index][0]; + $decoded .= $dic_val; + } + // update dictionary + $dictionary[$dix] = $dic_val; + ++$dix; + // change bit length by case + if ($dix == 2047) { + $bitlen = 12; + } elseif ($dix == 1023) { + $bitlen = 11; + } elseif ($dix == 511) { + $bitlen = 10; + } + } + } + return $decoded; + } + + /** + * FlateDecode + * Decompresses data encoded using the zlib/deflate compression method, reproducing the original text or binary data. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterFlateDecode($data) { + // initialize string to return + $decoded = @gzuncompress($data); + if ($decoded === false) { + self::Error('decodeFilterFlateDecode: invalid code'); + } + return $decoded; + } + + /** + * RunLengthDecode + * Decompresses data encoded using a byte-oriented run-length encoding algorithm. + * @param string $data Data to decode. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterRunLengthDecode($data) { + // initialize string to return + $decoded = ''; + // data length + $data_length = strlen($data); + $i = 0; + while($i < $data_length) { + // get current byte value + $byte = ord($data[$i]); + if ($byte == 128) { + // a length value of 128 denote EOD + break; + } elseif ($byte < 128) { + // if the length byte is in the range 0 to 127 + // the following length + 1 (1 to 128) bytes shall be copied literally during decompression + $decoded .= substr($data, ($i + 1), ($byte + 1)); + // move to next block + $i += ($byte + 2); + } else { + // if length is in the range 129 to 255, + // the following single byte shall be copied 257 - length (2 to 128) times during decompression + $decoded .= str_repeat($data[($i + 1)], (257 - $byte)); + // move to next block + $i += 2; + } + } + return $decoded; + } + + /** + * CCITTFaxDecode (NOT IMPLEMETED - RETURN AN EXCEPTION) + * Decompresses data encoded using the CCITT facsimile standard, reproducing the original data (typically monochrome image data at 1 bit per pixel). + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterCCITTFaxDecode($data) { + self::Error('~decodeFilterCCITTFaxDecode: this method has not been yet implemented'); + //return $data; + } + + /** + * JBIG2Decode (NOT IMPLEMETED - RETURN AN EXCEPTION) + * Decompresses data encoded using the JBIG2 standard, reproducing the original monochrome (1 bit per pixel) image data (or an approximation of that data). + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterJBIG2Decode($data) { + self::Error('~decodeFilterJBIG2Decode: this method has not been yet implemented'); + //return $data; + } + + /** + * DCTDecode (NOT IMPLEMETED - RETURN AN EXCEPTION) + * Decompresses data encoded using a DCT (discrete cosine transform) technique based on the JPEG standard, reproducing image sample data that approximates the original data. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterDCTDecode($data) { + self::Error('~decodeFilterDCTDecode: this method has not been yet implemented'); + //return $data; + } + + /** + * JPXDecode (NOT IMPLEMETED - RETURN AN EXCEPTION) + * Decompresses data encoded using the wavelet-based JPEG2000 standard, reproducing the original image data. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterJPXDecode($data) { + self::Error('~decodeFilterJPXDecode: this method has not been yet implemented'); + //return $data; + } + + /** + * Crypt (NOT IMPLEMETED - RETURN AN EXCEPTION) + * Decrypts data encrypted by a security handler, reproducing the data as it was before encryption. + * @param string $data Data to decode. + * @return string Decoded data string. + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function decodeFilterCrypt($data) { + self::Error('~decodeFilterCrypt: this method has not been yet implemented'); + //return $data; + } + + // --- END FILTERS SECTION ------------------------------------------------- + + /** + * Throw an exception. + * @param string $msg The error message + * @since 1.0.000 (2011-05-23) + * @public static + */ + public static function Error($msg) { + throw new Exception('TCPDF_PARSER ERROR: '.$msg); + } + +} // END OF TCPDF_FILTERS CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_font_data.php b/vendor/tecnickcom/tcpdf/include/tcpdf_font_data.php new file mode 100644 index 0000000..974e72e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_font_data.php @@ -0,0 +1,18447 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Unicode data and encoding maps for TCPDF. +// +//============================================================+ + +/** + * @file + * Unicode data and encoding maps for TCPDF. + * @author Nicola Asuni + * @package com.tecnick.tcpdf + */ + +/** + * @class TCPDF_FONT_DATA + * Unicode data and encoding maps for TCPDF. + * @package com.tecnick.tcpdf + * @version 1.0.001 + * @author Nicola Asuni - info@tecnick.com + */ +class TCPDF_FONT_DATA { + +/** + * Unicode code for Left-to-Right Mark. + * @public + */ +public static $uni_LRM = 8206; + +/** + * Unicode code for Right-to-Left Mark. + * @public + */ +public static $uni_RLM = 8207; + +/** + * Unicode code for Left-to-Right Embedding. + * @public + */ +public static $uni_LRE = 8234; + +/** + * Unicode code for Right-to-Left Embedding. + * @public + */ +public static $uni_RLE = 8235; + +/** + * Unicode code for Pop Directional Format. + * @public + */ +public static $uni_PDF = 8236; + +/** + * Unicode code for Left-to-Right Override. + * @public + */ +public static $uni_LRO = 8237; + +/** + * Unicode code for Right-to-Left Override. + * @public + */ +public static $uni_RLO = 8238; + +/** + * Pattern to test RTL (Righ-To-Left) strings using regular expressions. + * @public + */ +public static $uni_RE_PATTERN_RTL = "/( + \xD6\xBE # R + | \xD7[\x80\x83\x86\x90-\xAA\xB0-\xB4] # R + | \xDF[\x80-\xAA\xB4\xB5\xBA] # R + | \xE2\x80\x8F # R + | \xEF\xAC[\x9D\x9F\xA0-\xA8\xAA-\xB6\xB8-\xBC\xBE] # R + | \xEF\xAD[\x80\x81\x83\x84\x86-\x8F] # R + | \xF0\x90\xA0[\x80-\x85\x88\x8A-\xB5\xB7\xB8\xBC\xBF] # R + | \xF0\x90\xA4[\x80-\x99] # R + | \xF0\x90\xA8[\x80\x90-\x93\x95-\x97\x99-\xB3] # R + | \xF0\x90\xA9[\x80-\x87\x90-\x98] # R + | \xE2\x80[\xAB\xAE] # RLE & RLO + )/x"; + +/** + * Pattern to test Arabic strings using regular expressions. Source: http://www.w3.org/International/questions/qa-forms-utf-8 + * @public + */ +public static $uni_RE_PATTERN_ARABIC = "/( + \xD8[\x80-\x83\x8B\x8D\x9B\x9E\x9F\xA1-\xBA] # AL + | \xD9[\x80-\x8A\xAD-\xAF\xB1-\xBF] # AL + | \xDA[\x80-\xBF] # AL + | \xDB[\x80-\x95\x9D\xA5\xA6\xAE\xAF\xBA-\xBF] # AL + | \xDC[\x80-\x8D\x90\x92-\xAF] # AL + | \xDD[\x8D-\xAD] # AL + | \xDE[\x80-\xA5\xB1] # AL + | \xEF\xAD[\x90-\xBF] # AL + | \xEF\xAE[\x80-\xB1] # AL + | \xEF\xAF[\x93-\xBF] # AL + | \xEF[\xB0-\xB3][\x80-\xBF] # AL + | \xEF\xB4[\x80-\xBD] # AL + | \xEF\xB5[\x90-\xBF] # AL + | \xEF\xB6[\x80-\x8F\x92-\xBF] # AL + | \xEF\xB7[\x80-\x87\xB0-\xBC] # AL + | \xEF\xB9[\xB0-\xB4\xB6-\xBF] # AL + | \xEF\xBA[\x80-\xBF] # AL + | \xEF\xBB[\x80-\xBC] # AL + | \xD9[\xA0-\xA9\xAB\xAC] # AN + )/x"; + +/** + * Array of Unicode types. + * @public + */ +public static $uni_type = array( +0=>'BN', +1=>'BN', +2=>'BN', +3=>'BN', +4=>'BN', +5=>'BN', +6=>'BN', +7=>'BN', +8=>'BN', +9=>'S', +10=>'B', +11=>'S', +12=>'WS', +13=>'B', +14=>'BN', +15=>'BN', +16=>'BN', +17=>'BN', +18=>'BN', +19=>'BN', +20=>'BN', +21=>'BN', +22=>'BN', +23=>'BN', +24=>'BN', +25=>'BN', +26=>'BN', +27=>'BN', +28=>'B', +29=>'B', +30=>'B', +31=>'S', +32=>'WS', +33=>'ON', +34=>'ON', +35=>'ET', +36=>'ET', +37=>'ET', +38=>'ON', +39=>'ON', +40=>'ON', +41=>'ON', +42=>'ON', +43=>'ES', +44=>'CS', +45=>'ES', +46=>'CS', +47=>'CS', +48=>'EN', +49=>'EN', +50=>'EN', +51=>'EN', +52=>'EN', +53=>'EN', +54=>'EN', +55=>'EN', +56=>'EN', +57=>'EN', +58=>'CS', +59=>'ON', +60=>'ON', +61=>'ON', +62=>'ON', +63=>'ON', +64=>'ON', +65=>'L', +66=>'L', +67=>'L', +68=>'L', +69=>'L', +70=>'L', +71=>'L', +72=>'L', +73=>'L', +74=>'L', +75=>'L', +76=>'L', +77=>'L', +78=>'L', +79=>'L', +80=>'L', +81=>'L', +82=>'L', +83=>'L', +84=>'L', +85=>'L', +86=>'L', +87=>'L', +88=>'L', +89=>'L', +90=>'L', +91=>'ON', +92=>'ON', +93=>'ON', +94=>'ON', +95=>'ON', +96=>'ON', +97=>'L', +98=>'L', +99=>'L', +100=>'L', +101=>'L', +102=>'L', +103=>'L', +104=>'L', +105=>'L', +106=>'L', +107=>'L', +108=>'L', +109=>'L', +110=>'L', +111=>'L', +112=>'L', +113=>'L', +114=>'L', +115=>'L', +116=>'L', +117=>'L', +118=>'L', +119=>'L', +120=>'L', +121=>'L', +122=>'L', +123=>'ON', +124=>'ON', +125=>'ON', +126=>'ON', +127=>'BN', +128=>'BN', +129=>'BN', +130=>'BN', +131=>'BN', +132=>'BN', +133=>'B', +134=>'BN', +135=>'BN', +136=>'BN', +137=>'BN', +138=>'BN', +139=>'BN', +140=>'BN', +141=>'BN', +142=>'BN', +143=>'BN', +144=>'BN', +145=>'BN', +146=>'BN', +147=>'BN', +148=>'BN', +149=>'BN', +150=>'BN', +151=>'BN', +152=>'BN', +153=>'BN', +154=>'BN', +155=>'BN', +156=>'BN', +157=>'BN', +158=>'BN', +159=>'BN', +160=>'CS', +161=>'ON', +162=>'ET', +163=>'ET', +164=>'ET', +165=>'ET', +166=>'ON', +167=>'ON', +168=>'ON', +169=>'ON', +170=>'L', +171=>'ON', +172=>'ON', +173=>'BN', +174=>'ON', +175=>'ON', +176=>'ET', +177=>'ET', +178=>'EN', +179=>'EN', +180=>'ON', +181=>'L', +182=>'ON', +183=>'ON', +184=>'ON', +185=>'EN', +186=>'L', +187=>'ON', +188=>'ON', +189=>'ON', +190=>'ON', +191=>'ON', +192=>'L', +193=>'L', +194=>'L', +195=>'L', +196=>'L', +197=>'L', +198=>'L', +199=>'L', +200=>'L', +201=>'L', +202=>'L', +203=>'L', +204=>'L', +205=>'L', +206=>'L', +207=>'L', +208=>'L', +209=>'L', +210=>'L', +211=>'L', +212=>'L', +213=>'L', +214=>'L', +215=>'ON', +216=>'L', +217=>'L', +218=>'L', +219=>'L', +220=>'L', +221=>'L', +222=>'L', +223=>'L', +224=>'L', +225=>'L', +226=>'L', +227=>'L', +228=>'L', +229=>'L', +230=>'L', +231=>'L', +232=>'L', +233=>'L', +234=>'L', +235=>'L', +236=>'L', +237=>'L', +238=>'L', +239=>'L', +240=>'L', +241=>'L', +242=>'L', +243=>'L', +244=>'L', +245=>'L', +246=>'L', +247=>'ON', +248=>'L', +249=>'L', +250=>'L', +251=>'L', +252=>'L', +253=>'L', +254=>'L', +255=>'L', +256=>'L', +257=>'L', +258=>'L', +259=>'L', +260=>'L', +261=>'L', +262=>'L', +263=>'L', +264=>'L', +265=>'L', +266=>'L', +267=>'L', +268=>'L', +269=>'L', +270=>'L', +271=>'L', +272=>'L', +273=>'L', +274=>'L', +275=>'L', +276=>'L', +277=>'L', +278=>'L', +279=>'L', +280=>'L', +281=>'L', +282=>'L', +283=>'L', +284=>'L', +285=>'L', +286=>'L', +287=>'L', +288=>'L', +289=>'L', +290=>'L', +291=>'L', +292=>'L', +293=>'L', +294=>'L', +295=>'L', +296=>'L', +297=>'L', +298=>'L', +299=>'L', +300=>'L', +301=>'L', +302=>'L', +303=>'L', +304=>'L', +305=>'L', +306=>'L', +307=>'L', +308=>'L', +309=>'L', +310=>'L', +311=>'L', +312=>'L', +313=>'L', +314=>'L', +315=>'L', +316=>'L', +317=>'L', +318=>'L', +319=>'L', +320=>'L', +321=>'L', +322=>'L', +323=>'L', +324=>'L', +325=>'L', +326=>'L', +327=>'L', +328=>'L', +329=>'L', +330=>'L', +331=>'L', +332=>'L', +333=>'L', +334=>'L', +335=>'L', +336=>'L', +337=>'L', +338=>'L', +339=>'L', +340=>'L', +341=>'L', +342=>'L', +343=>'L', +344=>'L', +345=>'L', +346=>'L', +347=>'L', +348=>'L', +349=>'L', +350=>'L', +351=>'L', +352=>'L', +353=>'L', +354=>'L', +355=>'L', +356=>'L', +357=>'L', +358=>'L', +359=>'L', +360=>'L', +361=>'L', +362=>'L', +363=>'L', +364=>'L', +365=>'L', +366=>'L', +367=>'L', +368=>'L', +369=>'L', +370=>'L', +371=>'L', +372=>'L', +373=>'L', +374=>'L', +375=>'L', +376=>'L', +377=>'L', +378=>'L', +379=>'L', +380=>'L', +381=>'L', +382=>'L', +383=>'L', +384=>'L', +385=>'L', +386=>'L', +387=>'L', +388=>'L', +389=>'L', +390=>'L', +391=>'L', +392=>'L', +393=>'L', +394=>'L', +395=>'L', +396=>'L', +397=>'L', +398=>'L', +399=>'L', +400=>'L', +401=>'L', +402=>'L', +403=>'L', +404=>'L', +405=>'L', +406=>'L', +407=>'L', +408=>'L', +409=>'L', +410=>'L', +411=>'L', +412=>'L', +413=>'L', +414=>'L', +415=>'L', +416=>'L', +417=>'L', +418=>'L', +419=>'L', +420=>'L', +421=>'L', +422=>'L', +423=>'L', +424=>'L', +425=>'L', +426=>'L', +427=>'L', +428=>'L', +429=>'L', +430=>'L', +431=>'L', +432=>'L', +433=>'L', +434=>'L', +435=>'L', +436=>'L', +437=>'L', +438=>'L', +439=>'L', +440=>'L', +441=>'L', +442=>'L', +443=>'L', +444=>'L', +445=>'L', +446=>'L', +447=>'L', +448=>'L', +449=>'L', +450=>'L', +451=>'L', +452=>'L', +453=>'L', +454=>'L', +455=>'L', +456=>'L', +457=>'L', +458=>'L', +459=>'L', +460=>'L', +461=>'L', +462=>'L', +463=>'L', +464=>'L', +465=>'L', +466=>'L', +467=>'L', +468=>'L', +469=>'L', +470=>'L', +471=>'L', +472=>'L', +473=>'L', +474=>'L', +475=>'L', +476=>'L', +477=>'L', +478=>'L', +479=>'L', +480=>'L', +481=>'L', +482=>'L', +483=>'L', +484=>'L', +485=>'L', +486=>'L', +487=>'L', +488=>'L', +489=>'L', +490=>'L', +491=>'L', +492=>'L', +493=>'L', +494=>'L', +495=>'L', +496=>'L', +497=>'L', +498=>'L', +499=>'L', +500=>'L', +501=>'L', +502=>'L', +503=>'L', +504=>'L', +505=>'L', +506=>'L', +507=>'L', +508=>'L', +509=>'L', +510=>'L', +511=>'L', +512=>'L', +513=>'L', +514=>'L', +515=>'L', +516=>'L', +517=>'L', +518=>'L', +519=>'L', +520=>'L', +521=>'L', +522=>'L', +523=>'L', +524=>'L', +525=>'L', +526=>'L', +527=>'L', +528=>'L', +529=>'L', +530=>'L', +531=>'L', +532=>'L', +533=>'L', +534=>'L', +535=>'L', +536=>'L', +537=>'L', +538=>'L', +539=>'L', +540=>'L', +541=>'L', +542=>'L', +543=>'L', +544=>'L', +545=>'L', +546=>'L', +547=>'L', +548=>'L', +549=>'L', +550=>'L', +551=>'L', +552=>'L', +553=>'L', +554=>'L', +555=>'L', +556=>'L', +557=>'L', +558=>'L', +559=>'L', +560=>'L', +561=>'L', +562=>'L', +563=>'L', +564=>'L', +565=>'L', +566=>'L', +567=>'L', +568=>'L', +569=>'L', +570=>'L', +571=>'L', +572=>'L', +573=>'L', +574=>'L', +575=>'L', +576=>'L', +577=>'L', +578=>'L', +579=>'L', +580=>'L', +581=>'L', +582=>'L', +583=>'L', +584=>'L', +585=>'L', +586=>'L', +587=>'L', +588=>'L', +589=>'L', +590=>'L', +591=>'L', +592=>'L', +593=>'L', +594=>'L', +595=>'L', +596=>'L', +597=>'L', +598=>'L', +599=>'L', +600=>'L', +601=>'L', +602=>'L', +603=>'L', +604=>'L', +605=>'L', +606=>'L', +607=>'L', +608=>'L', +609=>'L', +610=>'L', +611=>'L', +612=>'L', +613=>'L', +614=>'L', +615=>'L', +616=>'L', +617=>'L', +618=>'L', +619=>'L', +620=>'L', +621=>'L', +622=>'L', +623=>'L', +624=>'L', +625=>'L', +626=>'L', +627=>'L', +628=>'L', +629=>'L', +630=>'L', +631=>'L', +632=>'L', +633=>'L', +634=>'L', +635=>'L', +636=>'L', +637=>'L', +638=>'L', +639=>'L', +640=>'L', +641=>'L', +642=>'L', +643=>'L', +644=>'L', +645=>'L', +646=>'L', +647=>'L', +648=>'L', +649=>'L', +650=>'L', +651=>'L', +652=>'L', +653=>'L', +654=>'L', +655=>'L', +656=>'L', +657=>'L', +658=>'L', +659=>'L', +660=>'L', +661=>'L', +662=>'L', +663=>'L', +664=>'L', +665=>'L', +666=>'L', +667=>'L', +668=>'L', +669=>'L', +670=>'L', +671=>'L', +672=>'L', +673=>'L', +674=>'L', +675=>'L', +676=>'L', +677=>'L', +678=>'L', +679=>'L', +680=>'L', +681=>'L', +682=>'L', +683=>'L', +684=>'L', +685=>'L', +686=>'L', +687=>'L', +688=>'L', +689=>'L', +690=>'L', +691=>'L', +692=>'L', +693=>'L', +694=>'L', +695=>'L', +696=>'L', +697=>'ON', +698=>'ON', +699=>'L', +700=>'L', +701=>'L', +702=>'L', +703=>'L', +704=>'L', +705=>'L', +706=>'ON', +707=>'ON', +708=>'ON', +709=>'ON', +710=>'ON', +711=>'ON', +712=>'ON', +713=>'ON', +714=>'ON', +715=>'ON', +716=>'ON', +717=>'ON', +718=>'ON', +719=>'ON', +720=>'L', +721=>'L', +722=>'ON', +723=>'ON', +724=>'ON', +725=>'ON', +726=>'ON', +727=>'ON', +728=>'ON', +729=>'ON', +730=>'ON', +731=>'ON', +732=>'ON', +733=>'ON', +734=>'ON', +735=>'ON', +736=>'L', +737=>'L', +738=>'L', +739=>'L', +740=>'L', +741=>'ON', +742=>'ON', +743=>'ON', +744=>'ON', +745=>'ON', +746=>'ON', +747=>'ON', +748=>'ON', +749=>'ON', +750=>'L', +751=>'ON', +752=>'ON', +753=>'ON', +754=>'ON', +755=>'ON', +756=>'ON', +757=>'ON', +758=>'ON', +759=>'ON', +760=>'ON', +761=>'ON', +762=>'ON', +763=>'ON', +764=>'ON', +765=>'ON', +766=>'ON', +767=>'ON', +768=>'NSM', +769=>'NSM', +770=>'NSM', +771=>'NSM', +772=>'NSM', +773=>'NSM', +774=>'NSM', +775=>'NSM', +776=>'NSM', +777=>'NSM', +778=>'NSM', +779=>'NSM', +780=>'NSM', +781=>'NSM', +782=>'NSM', +783=>'NSM', +784=>'NSM', +785=>'NSM', +786=>'NSM', +787=>'NSM', +788=>'NSM', +789=>'NSM', +790=>'NSM', +791=>'NSM', +792=>'NSM', +793=>'NSM', +794=>'NSM', +795=>'NSM', +796=>'NSM', +797=>'NSM', +798=>'NSM', +799=>'NSM', +800=>'NSM', +801=>'NSM', +802=>'NSM', +803=>'NSM', +804=>'NSM', +805=>'NSM', +806=>'NSM', +807=>'NSM', +808=>'NSM', +809=>'NSM', +810=>'NSM', +811=>'NSM', +812=>'NSM', +813=>'NSM', +814=>'NSM', +815=>'NSM', +816=>'NSM', +817=>'NSM', +818=>'NSM', +819=>'NSM', +820=>'NSM', +821=>'NSM', +822=>'NSM', +823=>'NSM', +824=>'NSM', +825=>'NSM', +826=>'NSM', +827=>'NSM', +828=>'NSM', +829=>'NSM', +830=>'NSM', +831=>'NSM', +832=>'NSM', +833=>'NSM', +834=>'NSM', +835=>'NSM', +836=>'NSM', +837=>'NSM', +838=>'NSM', +839=>'NSM', +840=>'NSM', +841=>'NSM', +842=>'NSM', +843=>'NSM', +844=>'NSM', +845=>'NSM', +846=>'NSM', +847=>'NSM', +848=>'NSM', +849=>'NSM', +850=>'NSM', +851=>'NSM', +852=>'NSM', +853=>'NSM', +854=>'NSM', +855=>'NSM', +856=>'NSM', +857=>'NSM', +858=>'NSM', +859=>'NSM', +860=>'NSM', +861=>'NSM', +862=>'NSM', +863=>'NSM', +864=>'NSM', +865=>'NSM', +866=>'NSM', +867=>'NSM', +868=>'NSM', +869=>'NSM', +870=>'NSM', +871=>'NSM', +872=>'NSM', +873=>'NSM', +874=>'NSM', +875=>'NSM', +876=>'NSM', +877=>'NSM', +878=>'NSM', +879=>'NSM', +884=>'ON', +885=>'ON', +890=>'L', +891=>'L', +892=>'L', +893=>'L', +894=>'ON', +900=>'ON', +901=>'ON', +902=>'L', +903=>'ON', +904=>'L', +905=>'L', +906=>'L', +908=>'L', +910=>'L', +911=>'L', +912=>'L', +913=>'L', +914=>'L', +915=>'L', +916=>'L', +917=>'L', +918=>'L', +919=>'L', +920=>'L', +921=>'L', +922=>'L', +923=>'L', +924=>'L', +925=>'L', +926=>'L', +927=>'L', +928=>'L', +929=>'L', +931=>'L', +932=>'L', +933=>'L', +934=>'L', +935=>'L', +936=>'L', +937=>'L', +938=>'L', +939=>'L', +940=>'L', +941=>'L', +942=>'L', +943=>'L', +944=>'L', +945=>'L', +946=>'L', +947=>'L', +948=>'L', +949=>'L', +950=>'L', +951=>'L', +952=>'L', +953=>'L', +954=>'L', +955=>'L', +956=>'L', +957=>'L', +958=>'L', +959=>'L', +960=>'L', +961=>'L', +962=>'L', +963=>'L', +964=>'L', +965=>'L', +966=>'L', +967=>'L', +968=>'L', +969=>'L', +970=>'L', +971=>'L', +972=>'L', +973=>'L', +974=>'L', +976=>'L', +977=>'L', +978=>'L', +979=>'L', +980=>'L', +981=>'L', +982=>'L', +983=>'L', +984=>'L', +985=>'L', +986=>'L', +987=>'L', +988=>'L', +989=>'L', +990=>'L', +991=>'L', +992=>'L', +993=>'L', +994=>'L', +995=>'L', +996=>'L', +997=>'L', +998=>'L', +999=>'L', +1000=>'L', +1001=>'L', +1002=>'L', +1003=>'L', +1004=>'L', +1005=>'L', +1006=>'L', +1007=>'L', +1008=>'L', +1009=>'L', +1010=>'L', +1011=>'L', +1012=>'L', +1013=>'L', +1014=>'ON', +1015=>'L', +1016=>'L', +1017=>'L', +1018=>'L', +1019=>'L', +1020=>'L', +1021=>'L', +1022=>'L', +1023=>'L', +1024=>'L', +1025=>'L', +1026=>'L', +1027=>'L', +1028=>'L', +1029=>'L', +1030=>'L', +1031=>'L', +1032=>'L', +1033=>'L', +1034=>'L', +1035=>'L', +1036=>'L', +1037=>'L', +1038=>'L', +1039=>'L', +1040=>'L', +1041=>'L', +1042=>'L', +1043=>'L', +1044=>'L', +1045=>'L', +1046=>'L', +1047=>'L', +1048=>'L', +1049=>'L', +1050=>'L', +1051=>'L', +1052=>'L', +1053=>'L', +1054=>'L', +1055=>'L', +1056=>'L', +1057=>'L', +1058=>'L', +1059=>'L', +1060=>'L', +1061=>'L', +1062=>'L', +1063=>'L', +1064=>'L', +1065=>'L', +1066=>'L', +1067=>'L', +1068=>'L', +1069=>'L', +1070=>'L', +1071=>'L', +1072=>'L', +1073=>'L', +1074=>'L', +1075=>'L', +1076=>'L', +1077=>'L', +1078=>'L', +1079=>'L', +1080=>'L', +1081=>'L', +1082=>'L', +1083=>'L', +1084=>'L', +1085=>'L', +1086=>'L', +1087=>'L', +1088=>'L', +1089=>'L', +1090=>'L', +1091=>'L', +1092=>'L', +1093=>'L', +1094=>'L', +1095=>'L', +1096=>'L', +1097=>'L', +1098=>'L', +1099=>'L', +1100=>'L', +1101=>'L', +1102=>'L', +1103=>'L', +1104=>'L', +1105=>'L', +1106=>'L', +1107=>'L', +1108=>'L', +1109=>'L', +1110=>'L', +1111=>'L', +1112=>'L', +1113=>'L', +1114=>'L', +1115=>'L', +1116=>'L', +1117=>'L', +1118=>'L', +1119=>'L', +1120=>'L', +1121=>'L', +1122=>'L', +1123=>'L', +1124=>'L', +1125=>'L', +1126=>'L', +1127=>'L', +1128=>'L', +1129=>'L', +1130=>'L', +1131=>'L', +1132=>'L', +1133=>'L', +1134=>'L', +1135=>'L', +1136=>'L', +1137=>'L', +1138=>'L', +1139=>'L', +1140=>'L', +1141=>'L', +1142=>'L', +1143=>'L', +1144=>'L', +1145=>'L', +1146=>'L', +1147=>'L', +1148=>'L', +1149=>'L', +1150=>'L', +1151=>'L', +1152=>'L', +1153=>'L', +1154=>'L', +1155=>'NSM', +1156=>'NSM', +1157=>'NSM', +1158=>'NSM', +1160=>'NSM', +1161=>'NSM', +1162=>'L', +1163=>'L', +1164=>'L', +1165=>'L', +1166=>'L', +1167=>'L', +1168=>'L', +1169=>'L', +1170=>'L', +1171=>'L', +1172=>'L', +1173=>'L', +1174=>'L', +1175=>'L', +1176=>'L', +1177=>'L', +1178=>'L', +1179=>'L', +1180=>'L', +1181=>'L', +1182=>'L', +1183=>'L', +1184=>'L', +1185=>'L', +1186=>'L', +1187=>'L', +1188=>'L', +1189=>'L', +1190=>'L', +1191=>'L', +1192=>'L', +1193=>'L', +1194=>'L', +1195=>'L', +1196=>'L', +1197=>'L', +1198=>'L', +1199=>'L', +1200=>'L', +1201=>'L', +1202=>'L', +1203=>'L', +1204=>'L', +1205=>'L', +1206=>'L', +1207=>'L', +1208=>'L', +1209=>'L', +1210=>'L', +1211=>'L', +1212=>'L', +1213=>'L', +1214=>'L', +1215=>'L', +1216=>'L', +1217=>'L', +1218=>'L', +1219=>'L', +1220=>'L', +1221=>'L', +1222=>'L', +1223=>'L', +1224=>'L', +1225=>'L', +1226=>'L', +1227=>'L', +1228=>'L', +1229=>'L', +1230=>'L', +1231=>'L', +1232=>'L', +1233=>'L', +1234=>'L', +1235=>'L', +1236=>'L', +1237=>'L', +1238=>'L', +1239=>'L', +1240=>'L', +1241=>'L', +1242=>'L', +1243=>'L', +1244=>'L', +1245=>'L', +1246=>'L', +1247=>'L', +1248=>'L', +1249=>'L', +1250=>'L', +1251=>'L', +1252=>'L', +1253=>'L', +1254=>'L', +1255=>'L', +1256=>'L', +1257=>'L', +1258=>'L', +1259=>'L', +1260=>'L', +1261=>'L', +1262=>'L', +1263=>'L', +1264=>'L', +1265=>'L', +1266=>'L', +1267=>'L', +1268=>'L', +1269=>'L', +1270=>'L', +1271=>'L', +1272=>'L', +1273=>'L', +1274=>'L', +1275=>'L', +1276=>'L', +1277=>'L', +1278=>'L', +1279=>'L', +1280=>'L', +1281=>'L', +1282=>'L', +1283=>'L', +1284=>'L', +1285=>'L', +1286=>'L', +1287=>'L', +1288=>'L', +1289=>'L', +1290=>'L', +1291=>'L', +1292=>'L', +1293=>'L', +1294=>'L', +1295=>'L', +1296=>'L', +1297=>'L', +1298=>'L', +1299=>'L', +1329=>'L', +1330=>'L', +1331=>'L', +1332=>'L', +1333=>'L', +1334=>'L', +1335=>'L', +1336=>'L', +1337=>'L', +1338=>'L', +1339=>'L', +1340=>'L', +1341=>'L', +1342=>'L', +1343=>'L', +1344=>'L', +1345=>'L', +1346=>'L', +1347=>'L', +1348=>'L', +1349=>'L', +1350=>'L', +1351=>'L', +1352=>'L', +1353=>'L', +1354=>'L', +1355=>'L', +1356=>'L', +1357=>'L', +1358=>'L', +1359=>'L', +1360=>'L', +1361=>'L', +1362=>'L', +1363=>'L', +1364=>'L', +1365=>'L', +1366=>'L', +1369=>'L', +1370=>'L', +1371=>'L', +1372=>'L', +1373=>'L', +1374=>'L', +1375=>'L', +1377=>'L', +1378=>'L', +1379=>'L', +1380=>'L', +1381=>'L', +1382=>'L', +1383=>'L', +1384=>'L', +1385=>'L', +1386=>'L', +1387=>'L', +1388=>'L', +1389=>'L', +1390=>'L', +1391=>'L', +1392=>'L', +1393=>'L', +1394=>'L', +1395=>'L', +1396=>'L', +1397=>'L', +1398=>'L', +1399=>'L', +1400=>'L', +1401=>'L', +1402=>'L', +1403=>'L', +1404=>'L', +1405=>'L', +1406=>'L', +1407=>'L', +1408=>'L', +1409=>'L', +1410=>'L', +1411=>'L', +1412=>'L', +1413=>'L', +1414=>'L', +1415=>'L', +1417=>'L', +1418=>'ON', +1425=>'NSM', +1426=>'NSM', +1427=>'NSM', +1428=>'NSM', +1429=>'NSM', +1430=>'NSM', +1431=>'NSM', +1432=>'NSM', +1433=>'NSM', +1434=>'NSM', +1435=>'NSM', +1436=>'NSM', +1437=>'NSM', +1438=>'NSM', +1439=>'NSM', +1440=>'NSM', +1441=>'NSM', +1442=>'NSM', +1443=>'NSM', +1444=>'NSM', +1445=>'NSM', +1446=>'NSM', +1447=>'NSM', +1448=>'NSM', +1449=>'NSM', +1450=>'NSM', +1451=>'NSM', +1452=>'NSM', +1453=>'NSM', +1454=>'NSM', +1455=>'NSM', +1456=>'NSM', +1457=>'NSM', +1458=>'NSM', +1459=>'NSM', +1460=>'NSM', +1461=>'NSM', +1462=>'NSM', +1463=>'NSM', +1464=>'NSM', +1465=>'NSM', +1466=>'NSM', +1467=>'NSM', +1468=>'NSM', +1469=>'NSM', +1470=>'R', +1471=>'NSM', +1472=>'R', +1473=>'NSM', +1474=>'NSM', +1475=>'R', +1476=>'NSM', +1477=>'NSM', +1478=>'R', +1479=>'NSM', +1488=>'R', +1489=>'R', +1490=>'R', +1491=>'R', +1492=>'R', +1493=>'R', +1494=>'R', +1495=>'R', +1496=>'R', +1497=>'R', +1498=>'R', +1499=>'R', +1500=>'R', +1501=>'R', +1502=>'R', +1503=>'R', +1504=>'R', +1505=>'R', +1506=>'R', +1507=>'R', +1508=>'R', +1509=>'R', +1510=>'R', +1511=>'R', +1512=>'R', +1513=>'R', +1514=>'R', +1520=>'R', +1521=>'R', +1522=>'R', +1523=>'R', +1524=>'R', +1536=>'AL', +1537=>'AL', +1538=>'AL', +1539=>'AL', +1547=>'AL', +1548=>'CS', +1549=>'AL', +1550=>'ON', +1551=>'ON', +1552=>'NSM', +1553=>'NSM', +1554=>'NSM', +1555=>'NSM', +1556=>'NSM', +1557=>'NSM', +1563=>'AL', +1566=>'AL', +1567=>'AL', +1569=>'AL', +1570=>'AL', +1571=>'AL', +1572=>'AL', +1573=>'AL', +1574=>'AL', +1575=>'AL', +1576=>'AL', +1577=>'AL', +1578=>'AL', +1579=>'AL', +1580=>'AL', +1581=>'AL', +1582=>'AL', +1583=>'AL', +1584=>'AL', +1585=>'AL', +1586=>'AL', +1587=>'AL', +1588=>'AL', +1589=>'AL', +1590=>'AL', +1591=>'AL', +1592=>'AL', +1593=>'AL', +1594=>'AL', +1600=>'AL', +1601=>'AL', +1602=>'AL', +1603=>'AL', +1604=>'AL', +1605=>'AL', +1606=>'AL', +1607=>'AL', +1608=>'AL', +1609=>'AL', +1610=>'AL', +1611=>'NSM', +1612=>'NSM', +1613=>'NSM', +1614=>'NSM', +1615=>'NSM', +1616=>'NSM', +1617=>'NSM', +1618=>'NSM', +1619=>'NSM', +1620=>'NSM', +1621=>'NSM', +1622=>'NSM', +1623=>'NSM', +1624=>'NSM', +1625=>'NSM', +1626=>'NSM', +1627=>'NSM', +1628=>'NSM', +1629=>'NSM', +1630=>'NSM', +1632=>'AN', +1633=>'AN', +1634=>'AN', +1635=>'AN', +1636=>'AN', +1637=>'AN', +1638=>'AN', +1639=>'AN', +1640=>'AN', +1641=>'AN', +1642=>'ET', +1643=>'AN', +1644=>'AN', +1645=>'AL', +1646=>'AL', +1647=>'AL', +1648=>'NSM', +1649=>'AL', +1650=>'AL', +1651=>'AL', +1652=>'AL', +1653=>'AL', +1654=>'AL', +1655=>'AL', +1656=>'AL', +1657=>'AL', +1658=>'AL', +1659=>'AL', +1660=>'AL', +1661=>'AL', +1662=>'AL', +1663=>'AL', +1664=>'AL', +1665=>'AL', +1666=>'AL', +1667=>'AL', +1668=>'AL', +1669=>'AL', +1670=>'AL', +1671=>'AL', +1672=>'AL', +1673=>'AL', +1674=>'AL', +1675=>'AL', +1676=>'AL', +1677=>'AL', +1678=>'AL', +1679=>'AL', +1680=>'AL', +1681=>'AL', +1682=>'AL', +1683=>'AL', +1684=>'AL', +1685=>'AL', +1686=>'AL', +1687=>'AL', +1688=>'AL', +1689=>'AL', +1690=>'AL', +1691=>'AL', +1692=>'AL', +1693=>'AL', +1694=>'AL', +1695=>'AL', +1696=>'AL', +1697=>'AL', +1698=>'AL', +1699=>'AL', +1700=>'AL', +1701=>'AL', +1702=>'AL', +1703=>'AL', +1704=>'AL', +1705=>'AL', +1706=>'AL', +1707=>'AL', +1708=>'AL', +1709=>'AL', +1710=>'AL', +1711=>'AL', +1712=>'AL', +1713=>'AL', +1714=>'AL', +1715=>'AL', +1716=>'AL', +1717=>'AL', +1718=>'AL', +1719=>'AL', +1720=>'AL', +1721=>'AL', +1722=>'AL', +1723=>'AL', +1724=>'AL', +1725=>'AL', +1726=>'AL', +1727=>'AL', +1728=>'AL', +1729=>'AL', +1730=>'AL', +1731=>'AL', +1732=>'AL', +1733=>'AL', +1734=>'AL', +1735=>'AL', +1736=>'AL', +1737=>'AL', +1738=>'AL', +1739=>'AL', +1740=>'AL', +1741=>'AL', +1742=>'AL', +1743=>'AL', +1744=>'AL', +1745=>'AL', +1746=>'AL', +1747=>'AL', +1748=>'AL', +1749=>'AL', +1750=>'NSM', +1751=>'NSM', +1752=>'NSM', +1753=>'NSM', +1754=>'NSM', +1755=>'NSM', +1756=>'NSM', +1757=>'AL', +1758=>'NSM', +1759=>'NSM', +1760=>'NSM', +1761=>'NSM', +1762=>'NSM', +1763=>'NSM', +1764=>'NSM', +1765=>'AL', +1766=>'AL', +1767=>'NSM', +1768=>'NSM', +1769=>'ON', +1770=>'NSM', +1771=>'NSM', +1772=>'NSM', +1773=>'NSM', +1774=>'AL', +1775=>'AL', +1776=>'EN', +1777=>'EN', +1778=>'EN', +1779=>'EN', +1780=>'EN', +1781=>'EN', +1782=>'EN', +1783=>'EN', +1784=>'EN', +1785=>'EN', +1786=>'AL', +1787=>'AL', +1788=>'AL', +1789=>'AL', +1790=>'AL', +1791=>'AL', +1792=>'AL', +1793=>'AL', +1794=>'AL', +1795=>'AL', +1796=>'AL', +1797=>'AL', +1798=>'AL', +1799=>'AL', +1800=>'AL', +1801=>'AL', +1802=>'AL', +1803=>'AL', +1804=>'AL', +1805=>'AL', +1807=>'BN', +1808=>'AL', +1809=>'NSM', +1810=>'AL', +1811=>'AL', +1812=>'AL', +1813=>'AL', +1814=>'AL', +1815=>'AL', +1816=>'AL', +1817=>'AL', +1818=>'AL', +1819=>'AL', +1820=>'AL', +1821=>'AL', +1822=>'AL', +1823=>'AL', +1824=>'AL', +1825=>'AL', +1826=>'AL', +1827=>'AL', +1828=>'AL', +1829=>'AL', +1830=>'AL', +1831=>'AL', +1832=>'AL', +1833=>'AL', +1834=>'AL', +1835=>'AL', +1836=>'AL', +1837=>'AL', +1838=>'AL', +1839=>'AL', +1840=>'NSM', +1841=>'NSM', +1842=>'NSM', +1843=>'NSM', +1844=>'NSM', +1845=>'NSM', +1846=>'NSM', +1847=>'NSM', +1848=>'NSM', +1849=>'NSM', +1850=>'NSM', +1851=>'NSM', +1852=>'NSM', +1853=>'NSM', +1854=>'NSM', +1855=>'NSM', +1856=>'NSM', +1857=>'NSM', +1858=>'NSM', +1859=>'NSM', +1860=>'NSM', +1861=>'NSM', +1862=>'NSM', +1863=>'NSM', +1864=>'NSM', +1865=>'NSM', +1866=>'NSM', +1869=>'AL', +1870=>'AL', +1871=>'AL', +1872=>'AL', +1873=>'AL', +1874=>'AL', +1875=>'AL', +1876=>'AL', +1877=>'AL', +1878=>'AL', +1879=>'AL', +1880=>'AL', +1881=>'AL', +1882=>'AL', +1883=>'AL', +1884=>'AL', +1885=>'AL', +1886=>'AL', +1887=>'AL', +1888=>'AL', +1889=>'AL', +1890=>'AL', +1891=>'AL', +1892=>'AL', +1893=>'AL', +1894=>'AL', +1895=>'AL', +1896=>'AL', +1897=>'AL', +1898=>'AL', +1899=>'AL', +1900=>'AL', +1901=>'AL', +1920=>'AL', +1921=>'AL', +1922=>'AL', +1923=>'AL', +1924=>'AL', +1925=>'AL', +1926=>'AL', +1927=>'AL', +1928=>'AL', +1929=>'AL', +1930=>'AL', +1931=>'AL', +1932=>'AL', +1933=>'AL', +1934=>'AL', +1935=>'AL', +1936=>'AL', +1937=>'AL', +1938=>'AL', +1939=>'AL', +1940=>'AL', +1941=>'AL', +1942=>'AL', +1943=>'AL', +1944=>'AL', +1945=>'AL', +1946=>'AL', +1947=>'AL', +1948=>'AL', +1949=>'AL', +1950=>'AL', +1951=>'AL', +1952=>'AL', +1953=>'AL', +1954=>'AL', +1955=>'AL', +1956=>'AL', +1957=>'AL', +1958=>'NSM', +1959=>'NSM', +1960=>'NSM', +1961=>'NSM', +1962=>'NSM', +1963=>'NSM', +1964=>'NSM', +1965=>'NSM', +1966=>'NSM', +1967=>'NSM', +1968=>'NSM', +1969=>'AL', +1984=>'R', +1985=>'R', +1986=>'R', +1987=>'R', +1988=>'R', +1989=>'R', +1990=>'R', +1991=>'R', +1992=>'R', +1993=>'R', +1994=>'R', +1995=>'R', +1996=>'R', +1997=>'R', +1998=>'R', +1999=>'R', +2000=>'R', +2001=>'R', +2002=>'R', +2003=>'R', +2004=>'R', +2005=>'R', +2006=>'R', +2007=>'R', +2008=>'R', +2009=>'R', +2010=>'R', +2011=>'R', +2012=>'R', +2013=>'R', +2014=>'R', +2015=>'R', +2016=>'R', +2017=>'R', +2018=>'R', +2019=>'R', +2020=>'R', +2021=>'R', +2022=>'R', +2023=>'R', +2024=>'R', +2025=>'R', +2026=>'R', +2027=>'NSM', +2028=>'NSM', +2029=>'NSM', +2030=>'NSM', +2031=>'NSM', +2032=>'NSM', +2033=>'NSM', +2034=>'NSM', +2035=>'NSM', +2036=>'R', +2037=>'R', +2038=>'ON', +2039=>'ON', +2040=>'ON', +2041=>'ON', +2042=>'R', +2305=>'NSM', +2306=>'NSM', +2307=>'L', +2308=>'L', +2309=>'L', +2310=>'L', +2311=>'L', +2312=>'L', +2313=>'L', +2314=>'L', +2315=>'L', +2316=>'L', +2317=>'L', +2318=>'L', +2319=>'L', +2320=>'L', +2321=>'L', +2322=>'L', +2323=>'L', +2324=>'L', +2325=>'L', +2326=>'L', +2327=>'L', +2328=>'L', +2329=>'L', +2330=>'L', +2331=>'L', +2332=>'L', +2333=>'L', +2334=>'L', +2335=>'L', +2336=>'L', +2337=>'L', +2338=>'L', +2339=>'L', +2340=>'L', +2341=>'L', +2342=>'L', +2343=>'L', +2344=>'L', +2345=>'L', +2346=>'L', +2347=>'L', +2348=>'L', +2349=>'L', +2350=>'L', +2351=>'L', +2352=>'L', +2353=>'L', +2354=>'L', +2355=>'L', +2356=>'L', +2357=>'L', +2358=>'L', +2359=>'L', +2360=>'L', +2361=>'L', +2364=>'NSM', +2365=>'L', +2366=>'L', +2367=>'L', +2368=>'L', +2369=>'NSM', +2370=>'NSM', +2371=>'NSM', +2372=>'NSM', +2373=>'NSM', +2374=>'NSM', +2375=>'NSM', +2376=>'NSM', +2377=>'L', +2378=>'L', +2379=>'L', +2380=>'L', +2381=>'NSM', +2384=>'L', +2385=>'NSM', +2386=>'NSM', +2387=>'NSM', +2388=>'NSM', +2392=>'L', +2393=>'L', +2394=>'L', +2395=>'L', +2396=>'L', +2397=>'L', +2398=>'L', +2399=>'L', +2400=>'L', +2401=>'L', +2402=>'NSM', +2403=>'NSM', +2404=>'L', +2405=>'L', +2406=>'L', +2407=>'L', +2408=>'L', +2409=>'L', +2410=>'L', +2411=>'L', +2412=>'L', +2413=>'L', +2414=>'L', +2415=>'L', +2416=>'L', +2427=>'L', +2428=>'L', +2429=>'L', +2430=>'L', +2431=>'L', +2433=>'NSM', +2434=>'L', +2435=>'L', +2437=>'L', +2438=>'L', +2439=>'L', +2440=>'L', +2441=>'L', +2442=>'L', +2443=>'L', +2444=>'L', +2447=>'L', +2448=>'L', +2451=>'L', +2452=>'L', +2453=>'L', +2454=>'L', +2455=>'L', +2456=>'L', +2457=>'L', +2458=>'L', +2459=>'L', +2460=>'L', +2461=>'L', +2462=>'L', +2463=>'L', +2464=>'L', +2465=>'L', +2466=>'L', +2467=>'L', +2468=>'L', +2469=>'L', +2470=>'L', +2471=>'L', +2472=>'L', +2474=>'L', +2475=>'L', +2476=>'L', +2477=>'L', +2478=>'L', +2479=>'L', +2480=>'L', +2482=>'L', +2486=>'L', +2487=>'L', +2488=>'L', +2489=>'L', +2492=>'NSM', +2493=>'L', +2494=>'L', +2495=>'L', +2496=>'L', +2497=>'NSM', +2498=>'NSM', +2499=>'NSM', +2500=>'NSM', +2503=>'L', +2504=>'L', +2507=>'L', +2508=>'L', +2509=>'NSM', +2510=>'L', +2519=>'L', +2524=>'L', +2525=>'L', +2527=>'L', +2528=>'L', +2529=>'L', +2530=>'NSM', +2531=>'NSM', +2534=>'L', +2535=>'L', +2536=>'L', +2537=>'L', +2538=>'L', +2539=>'L', +2540=>'L', +2541=>'L', +2542=>'L', +2543=>'L', +2544=>'L', +2545=>'L', +2546=>'ET', +2547=>'ET', +2548=>'L', +2549=>'L', +2550=>'L', +2551=>'L', +2552=>'L', +2553=>'L', +2554=>'L', +2561=>'NSM', +2562=>'NSM', +2563=>'L', +2565=>'L', +2566=>'L', +2567=>'L', +2568=>'L', +2569=>'L', +2570=>'L', +2575=>'L', +2576=>'L', +2579=>'L', +2580=>'L', +2581=>'L', +2582=>'L', +2583=>'L', +2584=>'L', +2585=>'L', +2586=>'L', +2587=>'L', +2588=>'L', +2589=>'L', +2590=>'L', +2591=>'L', +2592=>'L', +2593=>'L', +2594=>'L', +2595=>'L', +2596=>'L', +2597=>'L', +2598=>'L', +2599=>'L', +2600=>'L', +2602=>'L', +2603=>'L', +2604=>'L', +2605=>'L', +2606=>'L', +2607=>'L', +2608=>'L', +2610=>'L', +2611=>'L', +2613=>'L', +2614=>'L', +2616=>'L', +2617=>'L', +2620=>'NSM', +2622=>'L', +2623=>'L', +2624=>'L', +2625=>'NSM', +2626=>'NSM', +2631=>'NSM', +2632=>'NSM', +2635=>'NSM', +2636=>'NSM', +2637=>'NSM', +2649=>'L', +2650=>'L', +2651=>'L', +2652=>'L', +2654=>'L', +2662=>'L', +2663=>'L', +2664=>'L', +2665=>'L', +2666=>'L', +2667=>'L', +2668=>'L', +2669=>'L', +2670=>'L', +2671=>'L', +2672=>'NSM', +2673=>'NSM', +2674=>'L', +2675=>'L', +2676=>'L', +2689=>'NSM', +2690=>'NSM', +2691=>'L', +2693=>'L', +2694=>'L', +2695=>'L', +2696=>'L', +2697=>'L', +2698=>'L', +2699=>'L', +2700=>'L', +2701=>'L', +2703=>'L', +2704=>'L', +2705=>'L', +2707=>'L', +2708=>'L', +2709=>'L', +2710=>'L', +2711=>'L', +2712=>'L', +2713=>'L', +2714=>'L', +2715=>'L', +2716=>'L', +2717=>'L', +2718=>'L', +2719=>'L', +2720=>'L', +2721=>'L', +2722=>'L', +2723=>'L', +2724=>'L', +2725=>'L', +2726=>'L', +2727=>'L', +2728=>'L', +2730=>'L', +2731=>'L', +2732=>'L', +2733=>'L', +2734=>'L', +2735=>'L', +2736=>'L', +2738=>'L', +2739=>'L', +2741=>'L', +2742=>'L', +2743=>'L', +2744=>'L', +2745=>'L', +2748=>'NSM', +2749=>'L', +2750=>'L', +2751=>'L', +2752=>'L', +2753=>'NSM', +2754=>'NSM', +2755=>'NSM', +2756=>'NSM', +2757=>'NSM', +2759=>'NSM', +2760=>'NSM', +2761=>'L', +2763=>'L', +2764=>'L', +2765=>'NSM', +2768=>'L', +2784=>'L', +2785=>'L', +2786=>'NSM', +2787=>'NSM', +2790=>'L', +2791=>'L', +2792=>'L', +2793=>'L', +2794=>'L', +2795=>'L', +2796=>'L', +2797=>'L', +2798=>'L', +2799=>'L', +2801=>'ET', +2817=>'NSM', +2818=>'L', +2819=>'L', +2821=>'L', +2822=>'L', +2823=>'L', +2824=>'L', +2825=>'L', +2826=>'L', +2827=>'L', +2828=>'L', +2831=>'L', +2832=>'L', +2835=>'L', +2836=>'L', +2837=>'L', +2838=>'L', +2839=>'L', +2840=>'L', +2841=>'L', +2842=>'L', +2843=>'L', +2844=>'L', +2845=>'L', +2846=>'L', +2847=>'L', +2848=>'L', +2849=>'L', +2850=>'L', +2851=>'L', +2852=>'L', +2853=>'L', +2854=>'L', +2855=>'L', +2856=>'L', +2858=>'L', +2859=>'L', +2860=>'L', +2861=>'L', +2862=>'L', +2863=>'L', +2864=>'L', +2866=>'L', +2867=>'L', +2869=>'L', +2870=>'L', +2871=>'L', +2872=>'L', +2873=>'L', +2876=>'NSM', +2877=>'L', +2878=>'L', +2879=>'NSM', +2880=>'L', +2881=>'NSM', +2882=>'NSM', +2883=>'NSM', +2887=>'L', +2888=>'L', +2891=>'L', +2892=>'L', +2893=>'NSM', +2902=>'NSM', +2903=>'L', +2908=>'L', +2909=>'L', +2911=>'L', +2912=>'L', +2913=>'L', +2918=>'L', +2919=>'L', +2920=>'L', +2921=>'L', +2922=>'L', +2923=>'L', +2924=>'L', +2925=>'L', +2926=>'L', +2927=>'L', +2928=>'L', +2929=>'L', +2946=>'NSM', +2947=>'L', +2949=>'L', +2950=>'L', +2951=>'L', +2952=>'L', +2953=>'L', +2954=>'L', +2958=>'L', +2959=>'L', +2960=>'L', +2962=>'L', +2963=>'L', +2964=>'L', +2965=>'L', +2969=>'L', +2970=>'L', +2972=>'L', +2974=>'L', +2975=>'L', +2979=>'L', +2980=>'L', +2984=>'L', +2985=>'L', +2986=>'L', +2990=>'L', +2991=>'L', +2992=>'L', +2993=>'L', +2994=>'L', +2995=>'L', +2996=>'L', +2997=>'L', +2998=>'L', +2999=>'L', +3000=>'L', +3001=>'L', +3006=>'L', +3007=>'L', +3008=>'NSM', +3009=>'L', +3010=>'L', +3014=>'L', +3015=>'L', +3016=>'L', +3018=>'L', +3019=>'L', +3020=>'L', +3021=>'NSM', +3031=>'L', +3046=>'L', +3047=>'L', +3048=>'L', +3049=>'L', +3050=>'L', +3051=>'L', +3052=>'L', +3053=>'L', +3054=>'L', +3055=>'L', +3056=>'L', +3057=>'L', +3058=>'L', +3059=>'ON', +3060=>'ON', +3061=>'ON', +3062=>'ON', +3063=>'ON', +3064=>'ON', +3065=>'ET', +3066=>'ON', +3073=>'L', +3074=>'L', +3075=>'L', +3077=>'L', +3078=>'L', +3079=>'L', +3080=>'L', +3081=>'L', +3082=>'L', +3083=>'L', +3084=>'L', +3086=>'L', +3087=>'L', +3088=>'L', +3090=>'L', +3091=>'L', +3092=>'L', +3093=>'L', +3094=>'L', +3095=>'L', +3096=>'L', +3097=>'L', +3098=>'L', +3099=>'L', +3100=>'L', +3101=>'L', +3102=>'L', +3103=>'L', +3104=>'L', +3105=>'L', +3106=>'L', +3107=>'L', +3108=>'L', +3109=>'L', +3110=>'L', +3111=>'L', +3112=>'L', +3114=>'L', +3115=>'L', +3116=>'L', +3117=>'L', +3118=>'L', +3119=>'L', +3120=>'L', +3121=>'L', +3122=>'L', +3123=>'L', +3125=>'L', +3126=>'L', +3127=>'L', +3128=>'L', +3129=>'L', +3134=>'NSM', +3135=>'NSM', +3136=>'NSM', +3137=>'L', +3138=>'L', +3139=>'L', +3140=>'L', +3142=>'NSM', +3143=>'NSM', +3144=>'NSM', +3146=>'NSM', +3147=>'NSM', +3148=>'NSM', +3149=>'NSM', +3157=>'NSM', +3158=>'NSM', +3168=>'L', +3169=>'L', +3174=>'L', +3175=>'L', +3176=>'L', +3177=>'L', +3178=>'L', +3179=>'L', +3180=>'L', +3181=>'L', +3182=>'L', +3183=>'L', +3202=>'L', +3203=>'L', +3205=>'L', +3206=>'L', +3207=>'L', +3208=>'L', +3209=>'L', +3210=>'L', +3211=>'L', +3212=>'L', +3214=>'L', +3215=>'L', +3216=>'L', +3218=>'L', +3219=>'L', +3220=>'L', +3221=>'L', +3222=>'L', +3223=>'L', +3224=>'L', +3225=>'L', +3226=>'L', +3227=>'L', +3228=>'L', +3229=>'L', +3230=>'L', +3231=>'L', +3232=>'L', +3233=>'L', +3234=>'L', +3235=>'L', +3236=>'L', +3237=>'L', +3238=>'L', +3239=>'L', +3240=>'L', +3242=>'L', +3243=>'L', +3244=>'L', +3245=>'L', +3246=>'L', +3247=>'L', +3248=>'L', +3249=>'L', +3250=>'L', +3251=>'L', +3253=>'L', +3254=>'L', +3255=>'L', +3256=>'L', +3257=>'L', +3260=>'NSM', +3261=>'L', +3262=>'L', +3263=>'L', +3264=>'L', +3265=>'L', +3266=>'L', +3267=>'L', +3268=>'L', +3270=>'L', +3271=>'L', +3272=>'L', +3274=>'L', +3275=>'L', +3276=>'NSM', +3277=>'NSM', +3285=>'L', +3286=>'L', +3294=>'L', +3296=>'L', +3297=>'L', +3298=>'NSM', +3299=>'NSM', +3302=>'L', +3303=>'L', +3304=>'L', +3305=>'L', +3306=>'L', +3307=>'L', +3308=>'L', +3309=>'L', +3310=>'L', +3311=>'L', +3313=>'ON', +3314=>'ON', +3330=>'L', +3331=>'L', +3333=>'L', +3334=>'L', +3335=>'L', +3336=>'L', +3337=>'L', +3338=>'L', +3339=>'L', +3340=>'L', +3342=>'L', +3343=>'L', +3344=>'L', +3346=>'L', +3347=>'L', +3348=>'L', +3349=>'L', +3350=>'L', +3351=>'L', +3352=>'L', +3353=>'L', +3354=>'L', +3355=>'L', +3356=>'L', +3357=>'L', +3358=>'L', +3359=>'L', +3360=>'L', +3361=>'L', +3362=>'L', +3363=>'L', +3364=>'L', +3365=>'L', +3366=>'L', +3367=>'L', +3368=>'L', +3370=>'L', +3371=>'L', +3372=>'L', +3373=>'L', +3374=>'L', +3375=>'L', +3376=>'L', +3377=>'L', +3378=>'L', +3379=>'L', +3380=>'L', +3381=>'L', +3382=>'L', +3383=>'L', +3384=>'L', +3385=>'L', +3390=>'L', +3391=>'L', +3392=>'L', +3393=>'NSM', +3394=>'NSM', +3395=>'NSM', +3398=>'L', +3399=>'L', +3400=>'L', +3402=>'L', +3403=>'L', +3404=>'L', +3405=>'NSM', +3415=>'L', +3424=>'L', +3425=>'L', +3430=>'L', +3431=>'L', +3432=>'L', +3433=>'L', +3434=>'L', +3435=>'L', +3436=>'L', +3437=>'L', +3438=>'L', +3439=>'L', +3458=>'L', +3459=>'L', +3461=>'L', +3462=>'L', +3463=>'L', +3464=>'L', +3465=>'L', +3466=>'L', +3467=>'L', +3468=>'L', +3469=>'L', +3470=>'L', +3471=>'L', +3472=>'L', +3473=>'L', +3474=>'L', +3475=>'L', +3476=>'L', +3477=>'L', +3478=>'L', +3482=>'L', +3483=>'L', +3484=>'L', +3485=>'L', +3486=>'L', +3487=>'L', +3488=>'L', +3489=>'L', +3490=>'L', +3491=>'L', +3492=>'L', +3493=>'L', +3494=>'L', +3495=>'L', +3496=>'L', +3497=>'L', +3498=>'L', +3499=>'L', +3500=>'L', +3501=>'L', +3502=>'L', +3503=>'L', +3504=>'L', +3505=>'L', +3507=>'L', +3508=>'L', +3509=>'L', +3510=>'L', +3511=>'L', +3512=>'L', +3513=>'L', +3514=>'L', +3515=>'L', +3517=>'L', +3520=>'L', +3521=>'L', +3522=>'L', +3523=>'L', +3524=>'L', +3525=>'L', +3526=>'L', +3530=>'NSM', +3535=>'L', +3536=>'L', +3537=>'L', +3538=>'NSM', +3539=>'NSM', +3540=>'NSM', +3542=>'NSM', +3544=>'L', +3545=>'L', +3546=>'L', +3547=>'L', +3548=>'L', +3549=>'L', +3550=>'L', +3551=>'L', +3570=>'L', +3571=>'L', +3572=>'L', +3585=>'L', +3586=>'L', +3587=>'L', +3588=>'L', +3589=>'L', +3590=>'L', +3591=>'L', +3592=>'L', +3593=>'L', +3594=>'L', +3595=>'L', +3596=>'L', +3597=>'L', +3598=>'L', +3599=>'L', +3600=>'L', +3601=>'L', +3602=>'L', +3603=>'L', +3604=>'L', +3605=>'L', +3606=>'L', +3607=>'L', +3608=>'L', +3609=>'L', +3610=>'L', +3611=>'L', +3612=>'L', +3613=>'L', +3614=>'L', +3615=>'L', +3616=>'L', +3617=>'L', +3618=>'L', +3619=>'L', +3620=>'L', +3621=>'L', +3622=>'L', +3623=>'L', +3624=>'L', +3625=>'L', +3626=>'L', +3627=>'L', +3628=>'L', +3629=>'L', +3630=>'L', +3631=>'L', +3632=>'L', +3633=>'NSM', +3634=>'L', +3635=>'L', +3636=>'NSM', +3637=>'NSM', +3638=>'NSM', +3639=>'NSM', +3640=>'NSM', +3641=>'NSM', +3642=>'NSM', +3647=>'ET', +3648=>'L', +3649=>'L', +3650=>'L', +3651=>'L', +3652=>'L', +3653=>'L', +3654=>'L', +3655=>'NSM', +3656=>'NSM', +3657=>'NSM', +3658=>'NSM', +3659=>'NSM', +3660=>'NSM', +3661=>'NSM', +3662=>'NSM', +3663=>'L', +3664=>'L', +3665=>'L', +3666=>'L', +3667=>'L', +3668=>'L', +3669=>'L', +3670=>'L', +3671=>'L', +3672=>'L', +3673=>'L', +3674=>'L', +3675=>'L', +3713=>'L', +3714=>'L', +3716=>'L', +3719=>'L', +3720=>'L', +3722=>'L', +3725=>'L', +3732=>'L', +3733=>'L', +3734=>'L', +3735=>'L', +3737=>'L', +3738=>'L', +3739=>'L', +3740=>'L', +3741=>'L', +3742=>'L', +3743=>'L', +3745=>'L', +3746=>'L', +3747=>'L', +3749=>'L', +3751=>'L', +3754=>'L', +3755=>'L', +3757=>'L', +3758=>'L', +3759=>'L', +3760=>'L', +3761=>'NSM', +3762=>'L', +3763=>'L', +3764=>'NSM', +3765=>'NSM', +3766=>'NSM', +3767=>'NSM', +3768=>'NSM', +3769=>'NSM', +3771=>'NSM', +3772=>'NSM', +3773=>'L', +3776=>'L', +3777=>'L', +3778=>'L', +3779=>'L', +3780=>'L', +3782=>'L', +3784=>'NSM', +3785=>'NSM', +3786=>'NSM', +3787=>'NSM', +3788=>'NSM', +3789=>'NSM', +3792=>'L', +3793=>'L', +3794=>'L', +3795=>'L', +3796=>'L', +3797=>'L', +3798=>'L', +3799=>'L', +3800=>'L', +3801=>'L', +3804=>'L', +3805=>'L', +3840=>'L', +3841=>'L', +3842=>'L', +3843=>'L', +3844=>'L', +3845=>'L', +3846=>'L', +3847=>'L', +3848=>'L', +3849=>'L', +3850=>'L', +3851=>'L', +3852=>'L', +3853=>'L', +3854=>'L', +3855=>'L', +3856=>'L', +3857=>'L', +3858=>'L', +3859=>'L', +3860=>'L', +3861=>'L', +3862=>'L', +3863=>'L', +3864=>'NSM', +3865=>'NSM', +3866=>'L', +3867=>'L', +3868=>'L', +3869=>'L', +3870=>'L', +3871=>'L', +3872=>'L', +3873=>'L', +3874=>'L', +3875=>'L', +3876=>'L', +3877=>'L', +3878=>'L', +3879=>'L', +3880=>'L', +3881=>'L', +3882=>'L', +3883=>'L', +3884=>'L', +3885=>'L', +3886=>'L', +3887=>'L', +3888=>'L', +3889=>'L', +3890=>'L', +3891=>'L', +3892=>'L', +3893=>'NSM', +3894=>'L', +3895=>'NSM', +3896=>'L', +3897=>'NSM', +3898=>'ON', +3899=>'ON', +3900=>'ON', +3901=>'ON', +3902=>'L', +3903=>'L', +3904=>'L', +3905=>'L', +3906=>'L', +3907=>'L', +3908=>'L', +3909=>'L', +3910=>'L', +3911=>'L', +3913=>'L', +3914=>'L', +3915=>'L', +3916=>'L', +3917=>'L', +3918=>'L', +3919=>'L', +3920=>'L', +3921=>'L', +3922=>'L', +3923=>'L', +3924=>'L', +3925=>'L', +3926=>'L', +3927=>'L', +3928=>'L', +3929=>'L', +3930=>'L', +3931=>'L', +3932=>'L', +3933=>'L', +3934=>'L', +3935=>'L', +3936=>'L', +3937=>'L', +3938=>'L', +3939=>'L', +3940=>'L', +3941=>'L', +3942=>'L', +3943=>'L', +3944=>'L', +3945=>'L', +3946=>'L', +3953=>'NSM', +3954=>'NSM', +3955=>'NSM', +3956=>'NSM', +3957=>'NSM', +3958=>'NSM', +3959=>'NSM', +3960=>'NSM', +3961=>'NSM', +3962=>'NSM', +3963=>'NSM', +3964=>'NSM', +3965=>'NSM', +3966=>'NSM', +3967=>'L', +3968=>'NSM', +3969=>'NSM', +3970=>'NSM', +3971=>'NSM', +3972=>'NSM', +3973=>'L', +3974=>'NSM', +3975=>'NSM', +3976=>'L', +3977=>'L', +3978=>'L', +3979=>'L', +3984=>'NSM', +3985=>'NSM', +3986=>'NSM', +3987=>'NSM', +3988=>'NSM', +3989=>'NSM', +3990=>'NSM', +3991=>'NSM', +3993=>'NSM', +3994=>'NSM', +3995=>'NSM', +3996=>'NSM', +3997=>'NSM', +3998=>'NSM', +3999=>'NSM', +4000=>'NSM', +4001=>'NSM', +4002=>'NSM', +4003=>'NSM', +4004=>'NSM', +4005=>'NSM', +4006=>'NSM', +4007=>'NSM', +4008=>'NSM', +4009=>'NSM', +4010=>'NSM', +4011=>'NSM', +4012=>'NSM', +4013=>'NSM', +4014=>'NSM', +4015=>'NSM', +4016=>'NSM', +4017=>'NSM', +4018=>'NSM', +4019=>'NSM', +4020=>'NSM', +4021=>'NSM', +4022=>'NSM', +4023=>'NSM', +4024=>'NSM', +4025=>'NSM', +4026=>'NSM', +4027=>'NSM', +4028=>'NSM', +4030=>'L', +4031=>'L', +4032=>'L', +4033=>'L', +4034=>'L', +4035=>'L', +4036=>'L', +4037=>'L', +4038=>'NSM', +4039=>'L', +4040=>'L', +4041=>'L', +4042=>'L', +4043=>'L', +4044=>'L', +4047=>'L', +4048=>'L', +4049=>'L', +4096=>'L', +4097=>'L', +4098=>'L', +4099=>'L', +4100=>'L', +4101=>'L', +4102=>'L', +4103=>'L', +4104=>'L', +4105=>'L', +4106=>'L', +4107=>'L', +4108=>'L', +4109=>'L', +4110=>'L', +4111=>'L', +4112=>'L', +4113=>'L', +4114=>'L', +4115=>'L', +4116=>'L', +4117=>'L', +4118=>'L', +4119=>'L', +4120=>'L', +4121=>'L', +4122=>'L', +4123=>'L', +4124=>'L', +4125=>'L', +4126=>'L', +4127=>'L', +4128=>'L', +4129=>'L', +4131=>'L', +4132=>'L', +4133=>'L', +4134=>'L', +4135=>'L', +4137=>'L', +4138=>'L', +4140=>'L', +4141=>'NSM', +4142=>'NSM', +4143=>'NSM', +4144=>'NSM', +4145=>'L', +4146=>'NSM', +4150=>'NSM', +4151=>'NSM', +4152=>'L', +4153=>'NSM', +4160=>'L', +4161=>'L', +4162=>'L', +4163=>'L', +4164=>'L', +4165=>'L', +4166=>'L', +4167=>'L', +4168=>'L', +4169=>'L', +4170=>'L', +4171=>'L', +4172=>'L', +4173=>'L', +4174=>'L', +4175=>'L', +4176=>'L', +4177=>'L', +4178=>'L', +4179=>'L', +4180=>'L', +4181=>'L', +4182=>'L', +4183=>'L', +4184=>'NSM', +4185=>'NSM', +4256=>'L', +4257=>'L', +4258=>'L', +4259=>'L', +4260=>'L', +4261=>'L', +4262=>'L', +4263=>'L', +4264=>'L', +4265=>'L', +4266=>'L', +4267=>'L', +4268=>'L', +4269=>'L', +4270=>'L', +4271=>'L', +4272=>'L', +4273=>'L', +4274=>'L', +4275=>'L', +4276=>'L', +4277=>'L', +4278=>'L', +4279=>'L', +4280=>'L', +4281=>'L', +4282=>'L', +4283=>'L', +4284=>'L', +4285=>'L', +4286=>'L', +4287=>'L', +4288=>'L', +4289=>'L', +4290=>'L', +4291=>'L', +4292=>'L', +4293=>'L', +4304=>'L', +4305=>'L', +4306=>'L', +4307=>'L', +4308=>'L', +4309=>'L', +4310=>'L', +4311=>'L', +4312=>'L', +4313=>'L', +4314=>'L', +4315=>'L', +4316=>'L', +4317=>'L', +4318=>'L', +4319=>'L', +4320=>'L', +4321=>'L', +4322=>'L', +4323=>'L', +4324=>'L', +4325=>'L', +4326=>'L', +4327=>'L', +4328=>'L', +4329=>'L', +4330=>'L', +4331=>'L', +4332=>'L', +4333=>'L', +4334=>'L', +4335=>'L', +4336=>'L', +4337=>'L', +4338=>'L', +4339=>'L', +4340=>'L', +4341=>'L', +4342=>'L', +4343=>'L', +4344=>'L', +4345=>'L', +4346=>'L', +4347=>'L', +4348=>'L', +4352=>'L', +4353=>'L', +4354=>'L', +4355=>'L', +4356=>'L', +4357=>'L', +4358=>'L', +4359=>'L', +4360=>'L', +4361=>'L', +4362=>'L', +4363=>'L', +4364=>'L', +4365=>'L', +4366=>'L', +4367=>'L', +4368=>'L', +4369=>'L', +4370=>'L', +4371=>'L', +4372=>'L', +4373=>'L', +4374=>'L', +4375=>'L', +4376=>'L', +4377=>'L', +4378=>'L', +4379=>'L', +4380=>'L', +4381=>'L', +4382=>'L', +4383=>'L', +4384=>'L', +4385=>'L', +4386=>'L', +4387=>'L', +4388=>'L', +4389=>'L', +4390=>'L', +4391=>'L', +4392=>'L', +4393=>'L', +4394=>'L', +4395=>'L', +4396=>'L', +4397=>'L', +4398=>'L', +4399=>'L', +4400=>'L', +4401=>'L', +4402=>'L', +4403=>'L', +4404=>'L', +4405=>'L', +4406=>'L', +4407=>'L', +4408=>'L', +4409=>'L', +4410=>'L', +4411=>'L', +4412=>'L', +4413=>'L', +4414=>'L', +4415=>'L', +4416=>'L', +4417=>'L', +4418=>'L', +4419=>'L', +4420=>'L', +4421=>'L', +4422=>'L', +4423=>'L', +4424=>'L', +4425=>'L', +4426=>'L', +4427=>'L', +4428=>'L', +4429=>'L', +4430=>'L', +4431=>'L', +4432=>'L', +4433=>'L', +4434=>'L', +4435=>'L', +4436=>'L', +4437=>'L', +4438=>'L', +4439=>'L', +4440=>'L', +4441=>'L', +4447=>'L', +4448=>'L', +4449=>'L', +4450=>'L', +4451=>'L', +4452=>'L', +4453=>'L', +4454=>'L', +4455=>'L', +4456=>'L', +4457=>'L', +4458=>'L', +4459=>'L', +4460=>'L', +4461=>'L', +4462=>'L', +4463=>'L', +4464=>'L', +4465=>'L', +4466=>'L', +4467=>'L', +4468=>'L', +4469=>'L', +4470=>'L', +4471=>'L', +4472=>'L', +4473=>'L', +4474=>'L', +4475=>'L', +4476=>'L', +4477=>'L', +4478=>'L', +4479=>'L', +4480=>'L', +4481=>'L', +4482=>'L', +4483=>'L', +4484=>'L', +4485=>'L', +4486=>'L', +4487=>'L', +4488=>'L', +4489=>'L', +4490=>'L', +4491=>'L', +4492=>'L', +4493=>'L', +4494=>'L', +4495=>'L', +4496=>'L', +4497=>'L', +4498=>'L', +4499=>'L', +4500=>'L', +4501=>'L', +4502=>'L', +4503=>'L', +4504=>'L', +4505=>'L', +4506=>'L', +4507=>'L', +4508=>'L', +4509=>'L', +4510=>'L', +4511=>'L', +4512=>'L', +4513=>'L', +4514=>'L', +4520=>'L', +4521=>'L', +4522=>'L', +4523=>'L', +4524=>'L', +4525=>'L', +4526=>'L', +4527=>'L', +4528=>'L', +4529=>'L', +4530=>'L', +4531=>'L', +4532=>'L', +4533=>'L', +4534=>'L', +4535=>'L', +4536=>'L', +4537=>'L', +4538=>'L', +4539=>'L', +4540=>'L', +4541=>'L', +4542=>'L', +4543=>'L', +4544=>'L', +4545=>'L', +4546=>'L', +4547=>'L', +4548=>'L', +4549=>'L', +4550=>'L', +4551=>'L', +4552=>'L', +4553=>'L', +4554=>'L', +4555=>'L', +4556=>'L', +4557=>'L', +4558=>'L', +4559=>'L', +4560=>'L', +4561=>'L', +4562=>'L', +4563=>'L', +4564=>'L', +4565=>'L', +4566=>'L', +4567=>'L', +4568=>'L', +4569=>'L', +4570=>'L', +4571=>'L', +4572=>'L', +4573=>'L', +4574=>'L', +4575=>'L', +4576=>'L', +4577=>'L', +4578=>'L', +4579=>'L', +4580=>'L', +4581=>'L', +4582=>'L', +4583=>'L', +4584=>'L', +4585=>'L', +4586=>'L', +4587=>'L', +4588=>'L', +4589=>'L', +4590=>'L', +4591=>'L', +4592=>'L', +4593=>'L', +4594=>'L', +4595=>'L', +4596=>'L', +4597=>'L', +4598=>'L', +4599=>'L', +4600=>'L', +4601=>'L', +4608=>'L', +4609=>'L', +4610=>'L', +4611=>'L', +4612=>'L', +4613=>'L', +4614=>'L', +4615=>'L', +4616=>'L', +4617=>'L', +4618=>'L', +4619=>'L', +4620=>'L', +4621=>'L', +4622=>'L', +4623=>'L', +4624=>'L', +4625=>'L', +4626=>'L', +4627=>'L', +4628=>'L', +4629=>'L', +4630=>'L', +4631=>'L', +4632=>'L', +4633=>'L', +4634=>'L', +4635=>'L', +4636=>'L', +4637=>'L', +4638=>'L', +4639=>'L', +4640=>'L', +4641=>'L', +4642=>'L', +4643=>'L', +4644=>'L', +4645=>'L', +4646=>'L', +4647=>'L', +4648=>'L', +4649=>'L', +4650=>'L', +4651=>'L', +4652=>'L', +4653=>'L', +4654=>'L', +4655=>'L', +4656=>'L', +4657=>'L', +4658=>'L', +4659=>'L', +4660=>'L', +4661=>'L', +4662=>'L', +4663=>'L', +4664=>'L', +4665=>'L', +4666=>'L', +4667=>'L', +4668=>'L', +4669=>'L', +4670=>'L', +4671=>'L', +4672=>'L', +4673=>'L', +4674=>'L', +4675=>'L', +4676=>'L', +4677=>'L', +4678=>'L', +4679=>'L', +4680=>'L', +4682=>'L', +4683=>'L', +4684=>'L', +4685=>'L', +4688=>'L', +4689=>'L', +4690=>'L', +4691=>'L', +4692=>'L', +4693=>'L', +4694=>'L', +4696=>'L', +4698=>'L', +4699=>'L', +4700=>'L', +4701=>'L', +4704=>'L', +4705=>'L', +4706=>'L', +4707=>'L', +4708=>'L', +4709=>'L', +4710=>'L', +4711=>'L', +4712=>'L', +4713=>'L', +4714=>'L', +4715=>'L', +4716=>'L', +4717=>'L', +4718=>'L', +4719=>'L', +4720=>'L', +4721=>'L', +4722=>'L', +4723=>'L', +4724=>'L', +4725=>'L', +4726=>'L', +4727=>'L', +4728=>'L', +4729=>'L', +4730=>'L', +4731=>'L', +4732=>'L', +4733=>'L', +4734=>'L', +4735=>'L', +4736=>'L', +4737=>'L', +4738=>'L', +4739=>'L', +4740=>'L', +4741=>'L', +4742=>'L', +4743=>'L', +4744=>'L', +4746=>'L', +4747=>'L', +4748=>'L', +4749=>'L', +4752=>'L', +4753=>'L', +4754=>'L', +4755=>'L', +4756=>'L', +4757=>'L', +4758=>'L', +4759=>'L', +4760=>'L', +4761=>'L', +4762=>'L', +4763=>'L', +4764=>'L', +4765=>'L', +4766=>'L', +4767=>'L', +4768=>'L', +4769=>'L', +4770=>'L', +4771=>'L', +4772=>'L', +4773=>'L', +4774=>'L', +4775=>'L', +4776=>'L', +4777=>'L', +4778=>'L', +4779=>'L', +4780=>'L', +4781=>'L', +4782=>'L', +4783=>'L', +4784=>'L', +4786=>'L', +4787=>'L', +4788=>'L', +4789=>'L', +4792=>'L', +4793=>'L', +4794=>'L', +4795=>'L', +4796=>'L', +4797=>'L', +4798=>'L', +4800=>'L', +4802=>'L', +4803=>'L', +4804=>'L', +4805=>'L', +4808=>'L', +4809=>'L', +4810=>'L', +4811=>'L', +4812=>'L', +4813=>'L', +4814=>'L', +4815=>'L', +4816=>'L', +4817=>'L', +4818=>'L', +4819=>'L', +4820=>'L', +4821=>'L', +4822=>'L', +4824=>'L', +4825=>'L', +4826=>'L', +4827=>'L', +4828=>'L', +4829=>'L', +4830=>'L', +4831=>'L', +4832=>'L', +4833=>'L', +4834=>'L', +4835=>'L', +4836=>'L', +4837=>'L', +4838=>'L', +4839=>'L', +4840=>'L', +4841=>'L', +4842=>'L', +4843=>'L', +4844=>'L', +4845=>'L', +4846=>'L', +4847=>'L', +4848=>'L', +4849=>'L', +4850=>'L', +4851=>'L', +4852=>'L', +4853=>'L', +4854=>'L', +4855=>'L', +4856=>'L', +4857=>'L', +4858=>'L', +4859=>'L', +4860=>'L', +4861=>'L', +4862=>'L', +4863=>'L', +4864=>'L', +4865=>'L', +4866=>'L', +4867=>'L', +4868=>'L', +4869=>'L', +4870=>'L', +4871=>'L', +4872=>'L', +4873=>'L', +4874=>'L', +4875=>'L', +4876=>'L', +4877=>'L', +4878=>'L', +4879=>'L', +4880=>'L', +4882=>'L', +4883=>'L', +4884=>'L', +4885=>'L', +4888=>'L', +4889=>'L', +4890=>'L', +4891=>'L', +4892=>'L', +4893=>'L', +4894=>'L', +4895=>'L', +4896=>'L', +4897=>'L', +4898=>'L', +4899=>'L', +4900=>'L', +4901=>'L', +4902=>'L', +4903=>'L', +4904=>'L', +4905=>'L', +4906=>'L', +4907=>'L', +4908=>'L', +4909=>'L', +4910=>'L', +4911=>'L', +4912=>'L', +4913=>'L', +4914=>'L', +4915=>'L', +4916=>'L', +4917=>'L', +4918=>'L', +4919=>'L', +4920=>'L', +4921=>'L', +4922=>'L', +4923=>'L', +4924=>'L', +4925=>'L', +4926=>'L', +4927=>'L', +4928=>'L', +4929=>'L', +4930=>'L', +4931=>'L', +4932=>'L', +4933=>'L', +4934=>'L', +4935=>'L', +4936=>'L', +4937=>'L', +4938=>'L', +4939=>'L', +4940=>'L', +4941=>'L', +4942=>'L', +4943=>'L', +4944=>'L', +4945=>'L', +4946=>'L', +4947=>'L', +4948=>'L', +4949=>'L', +4950=>'L', +4951=>'L', +4952=>'L', +4953=>'L', +4954=>'L', +4959=>'NSM', +4960=>'L', +4961=>'L', +4962=>'L', +4963=>'L', +4964=>'L', +4965=>'L', +4966=>'L', +4967=>'L', +4968=>'L', +4969=>'L', +4970=>'L', +4971=>'L', +4972=>'L', +4973=>'L', +4974=>'L', +4975=>'L', +4976=>'L', +4977=>'L', +4978=>'L', +4979=>'L', +4980=>'L', +4981=>'L', +4982=>'L', +4983=>'L', +4984=>'L', +4985=>'L', +4986=>'L', +4987=>'L', +4988=>'L', +4992=>'L', +4993=>'L', +4994=>'L', +4995=>'L', +4996=>'L', +4997=>'L', +4998=>'L', +4999=>'L', +5000=>'L', +5001=>'L', +5002=>'L', +5003=>'L', +5004=>'L', +5005=>'L', +5006=>'L', +5007=>'L', +5008=>'ON', +5009=>'ON', +5010=>'ON', +5011=>'ON', +5012=>'ON', +5013=>'ON', +5014=>'ON', +5015=>'ON', +5016=>'ON', +5017=>'ON', +5024=>'L', +5025=>'L', +5026=>'L', +5027=>'L', +5028=>'L', +5029=>'L', +5030=>'L', +5031=>'L', +5032=>'L', +5033=>'L', +5034=>'L', +5035=>'L', +5036=>'L', +5037=>'L', +5038=>'L', +5039=>'L', +5040=>'L', +5041=>'L', +5042=>'L', +5043=>'L', +5044=>'L', +5045=>'L', +5046=>'L', +5047=>'L', +5048=>'L', +5049=>'L', +5050=>'L', +5051=>'L', +5052=>'L', +5053=>'L', +5054=>'L', +5055=>'L', +5056=>'L', +5057=>'L', +5058=>'L', +5059=>'L', +5060=>'L', +5061=>'L', +5062=>'L', +5063=>'L', +5064=>'L', +5065=>'L', +5066=>'L', +5067=>'L', +5068=>'L', +5069=>'L', +5070=>'L', +5071=>'L', +5072=>'L', +5073=>'L', +5074=>'L', +5075=>'L', +5076=>'L', +5077=>'L', +5078=>'L', +5079=>'L', +5080=>'L', +5081=>'L', +5082=>'L', +5083=>'L', +5084=>'L', +5085=>'L', +5086=>'L', +5087=>'L', +5088=>'L', +5089=>'L', +5090=>'L', +5091=>'L', +5092=>'L', +5093=>'L', +5094=>'L', +5095=>'L', +5096=>'L', +5097=>'L', +5098=>'L', +5099=>'L', +5100=>'L', +5101=>'L', +5102=>'L', +5103=>'L', +5104=>'L', +5105=>'L', +5106=>'L', +5107=>'L', +5108=>'L', +5121=>'L', +5122=>'L', +5123=>'L', +5124=>'L', +5125=>'L', +5126=>'L', +5127=>'L', +5128=>'L', +5129=>'L', +5130=>'L', +5131=>'L', +5132=>'L', +5133=>'L', +5134=>'L', +5135=>'L', +5136=>'L', +5137=>'L', +5138=>'L', +5139=>'L', +5140=>'L', +5141=>'L', +5142=>'L', +5143=>'L', +5144=>'L', +5145=>'L', +5146=>'L', +5147=>'L', +5148=>'L', +5149=>'L', +5150=>'L', +5151=>'L', +5152=>'L', +5153=>'L', +5154=>'L', +5155=>'L', +5156=>'L', +5157=>'L', +5158=>'L', +5159=>'L', +5160=>'L', +5161=>'L', +5162=>'L', +5163=>'L', +5164=>'L', +5165=>'L', +5166=>'L', +5167=>'L', +5168=>'L', +5169=>'L', +5170=>'L', +5171=>'L', +5172=>'L', +5173=>'L', +5174=>'L', +5175=>'L', +5176=>'L', +5177=>'L', +5178=>'L', +5179=>'L', +5180=>'L', +5181=>'L', +5182=>'L', +5183=>'L', +5184=>'L', +5185=>'L', +5186=>'L', +5187=>'L', +5188=>'L', +5189=>'L', +5190=>'L', +5191=>'L', +5192=>'L', +5193=>'L', +5194=>'L', +5195=>'L', +5196=>'L', +5197=>'L', +5198=>'L', +5199=>'L', +5200=>'L', +5201=>'L', +5202=>'L', +5203=>'L', +5204=>'L', +5205=>'L', +5206=>'L', +5207=>'L', +5208=>'L', +5209=>'L', +5210=>'L', +5211=>'L', +5212=>'L', +5213=>'L', +5214=>'L', +5215=>'L', +5216=>'L', +5217=>'L', +5218=>'L', +5219=>'L', +5220=>'L', +5221=>'L', +5222=>'L', +5223=>'L', +5224=>'L', +5225=>'L', +5226=>'L', +5227=>'L', +5228=>'L', +5229=>'L', +5230=>'L', +5231=>'L', +5232=>'L', +5233=>'L', +5234=>'L', +5235=>'L', +5236=>'L', +5237=>'L', +5238=>'L', +5239=>'L', +5240=>'L', +5241=>'L', +5242=>'L', +5243=>'L', +5244=>'L', +5245=>'L', +5246=>'L', +5247=>'L', +5248=>'L', +5249=>'L', +5250=>'L', +5251=>'L', +5252=>'L', +5253=>'L', +5254=>'L', +5255=>'L', +5256=>'L', +5257=>'L', +5258=>'L', +5259=>'L', +5260=>'L', +5261=>'L', +5262=>'L', +5263=>'L', +5264=>'L', +5265=>'L', +5266=>'L', +5267=>'L', +5268=>'L', +5269=>'L', +5270=>'L', +5271=>'L', +5272=>'L', +5273=>'L', +5274=>'L', +5275=>'L', +5276=>'L', +5277=>'L', +5278=>'L', +5279=>'L', +5280=>'L', +5281=>'L', +5282=>'L', +5283=>'L', +5284=>'L', +5285=>'L', +5286=>'L', +5287=>'L', +5288=>'L', +5289=>'L', +5290=>'L', +5291=>'L', +5292=>'L', +5293=>'L', +5294=>'L', +5295=>'L', +5296=>'L', +5297=>'L', +5298=>'L', +5299=>'L', +5300=>'L', +5301=>'L', +5302=>'L', +5303=>'L', +5304=>'L', +5305=>'L', +5306=>'L', +5307=>'L', +5308=>'L', +5309=>'L', +5310=>'L', +5311=>'L', +5312=>'L', +5313=>'L', +5314=>'L', +5315=>'L', +5316=>'L', +5317=>'L', +5318=>'L', +5319=>'L', +5320=>'L', +5321=>'L', +5322=>'L', +5323=>'L', +5324=>'L', +5325=>'L', +5326=>'L', +5327=>'L', +5328=>'L', +5329=>'L', +5330=>'L', +5331=>'L', +5332=>'L', +5333=>'L', +5334=>'L', +5335=>'L', +5336=>'L', +5337=>'L', +5338=>'L', +5339=>'L', +5340=>'L', +5341=>'L', +5342=>'L', +5343=>'L', +5344=>'L', +5345=>'L', +5346=>'L', +5347=>'L', +5348=>'L', +5349=>'L', +5350=>'L', +5351=>'L', +5352=>'L', +5353=>'L', +5354=>'L', +5355=>'L', +5356=>'L', +5357=>'L', +5358=>'L', +5359=>'L', +5360=>'L', +5361=>'L', +5362=>'L', +5363=>'L', +5364=>'L', +5365=>'L', +5366=>'L', +5367=>'L', +5368=>'L', +5369=>'L', +5370=>'L', +5371=>'L', +5372=>'L', +5373=>'L', +5374=>'L', +5375=>'L', +5376=>'L', +5377=>'L', +5378=>'L', +5379=>'L', +5380=>'L', +5381=>'L', +5382=>'L', +5383=>'L', +5384=>'L', +5385=>'L', +5386=>'L', +5387=>'L', +5388=>'L', +5389=>'L', +5390=>'L', +5391=>'L', +5392=>'L', +5393=>'L', +5394=>'L', +5395=>'L', +5396=>'L', +5397=>'L', +5398=>'L', +5399=>'L', +5400=>'L', +5401=>'L', +5402=>'L', +5403=>'L', +5404=>'L', +5405=>'L', +5406=>'L', +5407=>'L', +5408=>'L', +5409=>'L', +5410=>'L', +5411=>'L', +5412=>'L', +5413=>'L', +5414=>'L', +5415=>'L', +5416=>'L', +5417=>'L', +5418=>'L', +5419=>'L', +5420=>'L', +5421=>'L', +5422=>'L', +5423=>'L', +5424=>'L', +5425=>'L', +5426=>'L', +5427=>'L', +5428=>'L', +5429=>'L', +5430=>'L', +5431=>'L', +5432=>'L', +5433=>'L', +5434=>'L', +5435=>'L', +5436=>'L', +5437=>'L', +5438=>'L', +5439=>'L', +5440=>'L', +5441=>'L', +5442=>'L', +5443=>'L', +5444=>'L', +5445=>'L', +5446=>'L', +5447=>'L', +5448=>'L', +5449=>'L', +5450=>'L', +5451=>'L', +5452=>'L', +5453=>'L', +5454=>'L', +5455=>'L', +5456=>'L', +5457=>'L', +5458=>'L', +5459=>'L', +5460=>'L', +5461=>'L', +5462=>'L', +5463=>'L', +5464=>'L', +5465=>'L', +5466=>'L', +5467=>'L', +5468=>'L', +5469=>'L', +5470=>'L', +5471=>'L', +5472=>'L', +5473=>'L', +5474=>'L', +5475=>'L', +5476=>'L', +5477=>'L', +5478=>'L', +5479=>'L', +5480=>'L', +5481=>'L', +5482=>'L', +5483=>'L', +5484=>'L', +5485=>'L', +5486=>'L', +5487=>'L', +5488=>'L', +5489=>'L', +5490=>'L', +5491=>'L', +5492=>'L', +5493=>'L', +5494=>'L', +5495=>'L', +5496=>'L', +5497=>'L', +5498=>'L', +5499=>'L', +5500=>'L', +5501=>'L', +5502=>'L', +5503=>'L', +5504=>'L', +5505=>'L', +5506=>'L', +5507=>'L', +5508=>'L', +5509=>'L', +5510=>'L', +5511=>'L', +5512=>'L', +5513=>'L', +5514=>'L', +5515=>'L', +5516=>'L', +5517=>'L', +5518=>'L', +5519=>'L', +5520=>'L', +5521=>'L', +5522=>'L', +5523=>'L', +5524=>'L', +5525=>'L', +5526=>'L', +5527=>'L', +5528=>'L', +5529=>'L', +5530=>'L', +5531=>'L', +5532=>'L', +5533=>'L', +5534=>'L', +5535=>'L', +5536=>'L', +5537=>'L', +5538=>'L', +5539=>'L', +5540=>'L', +5541=>'L', +5542=>'L', +5543=>'L', +5544=>'L', +5545=>'L', +5546=>'L', +5547=>'L', +5548=>'L', +5549=>'L', +5550=>'L', +5551=>'L', +5552=>'L', +5553=>'L', +5554=>'L', +5555=>'L', +5556=>'L', +5557=>'L', +5558=>'L', +5559=>'L', +5560=>'L', +5561=>'L', +5562=>'L', +5563=>'L', +5564=>'L', +5565=>'L', +5566=>'L', +5567=>'L', +5568=>'L', +5569=>'L', +5570=>'L', +5571=>'L', +5572=>'L', +5573=>'L', +5574=>'L', +5575=>'L', +5576=>'L', +5577=>'L', +5578=>'L', +5579=>'L', +5580=>'L', +5581=>'L', +5582=>'L', +5583=>'L', +5584=>'L', +5585=>'L', +5586=>'L', +5587=>'L', +5588=>'L', +5589=>'L', +5590=>'L', +5591=>'L', +5592=>'L', +5593=>'L', +5594=>'L', +5595=>'L', +5596=>'L', +5597=>'L', +5598=>'L', +5599=>'L', +5600=>'L', +5601=>'L', +5602=>'L', +5603=>'L', +5604=>'L', +5605=>'L', +5606=>'L', +5607=>'L', +5608=>'L', +5609=>'L', +5610=>'L', +5611=>'L', +5612=>'L', +5613=>'L', +5614=>'L', +5615=>'L', +5616=>'L', +5617=>'L', +5618=>'L', +5619=>'L', +5620=>'L', +5621=>'L', +5622=>'L', +5623=>'L', +5624=>'L', +5625=>'L', +5626=>'L', +5627=>'L', +5628=>'L', +5629=>'L', +5630=>'L', +5631=>'L', +5632=>'L', +5633=>'L', +5634=>'L', +5635=>'L', +5636=>'L', +5637=>'L', +5638=>'L', +5639=>'L', +5640=>'L', +5641=>'L', +5642=>'L', +5643=>'L', +5644=>'L', +5645=>'L', +5646=>'L', +5647=>'L', +5648=>'L', +5649=>'L', +5650=>'L', +5651=>'L', +5652=>'L', +5653=>'L', +5654=>'L', +5655=>'L', +5656=>'L', +5657=>'L', +5658=>'L', +5659=>'L', +5660=>'L', +5661=>'L', +5662=>'L', +5663=>'L', +5664=>'L', +5665=>'L', +5666=>'L', +5667=>'L', +5668=>'L', +5669=>'L', +5670=>'L', +5671=>'L', +5672=>'L', +5673=>'L', +5674=>'L', +5675=>'L', +5676=>'L', +5677=>'L', +5678=>'L', +5679=>'L', +5680=>'L', +5681=>'L', +5682=>'L', +5683=>'L', +5684=>'L', +5685=>'L', +5686=>'L', +5687=>'L', +5688=>'L', +5689=>'L', +5690=>'L', +5691=>'L', +5692=>'L', +5693=>'L', +5694=>'L', +5695=>'L', +5696=>'L', +5697=>'L', +5698=>'L', +5699=>'L', +5700=>'L', +5701=>'L', +5702=>'L', +5703=>'L', +5704=>'L', +5705=>'L', +5706=>'L', +5707=>'L', +5708=>'L', +5709=>'L', +5710=>'L', +5711=>'L', +5712=>'L', +5713=>'L', +5714=>'L', +5715=>'L', +5716=>'L', +5717=>'L', +5718=>'L', +5719=>'L', +5720=>'L', +5721=>'L', +5722=>'L', +5723=>'L', +5724=>'L', +5725=>'L', +5726=>'L', +5727=>'L', +5728=>'L', +5729=>'L', +5730=>'L', +5731=>'L', +5732=>'L', +5733=>'L', +5734=>'L', +5735=>'L', +5736=>'L', +5737=>'L', +5738=>'L', +5739=>'L', +5740=>'L', +5741=>'L', +5742=>'L', +5743=>'L', +5744=>'L', +5745=>'L', +5746=>'L', +5747=>'L', +5748=>'L', +5749=>'L', +5750=>'L', +5760=>'WS', +5761=>'L', +5762=>'L', +5763=>'L', +5764=>'L', +5765=>'L', +5766=>'L', +5767=>'L', +5768=>'L', +5769=>'L', +5770=>'L', +5771=>'L', +5772=>'L', +5773=>'L', +5774=>'L', +5775=>'L', +5776=>'L', +5777=>'L', +5778=>'L', +5779=>'L', +5780=>'L', +5781=>'L', +5782=>'L', +5783=>'L', +5784=>'L', +5785=>'L', +5786=>'L', +5787=>'ON', +5788=>'ON', +5792=>'L', +5793=>'L', +5794=>'L', +5795=>'L', +5796=>'L', +5797=>'L', +5798=>'L', +5799=>'L', +5800=>'L', +5801=>'L', +5802=>'L', +5803=>'L', +5804=>'L', +5805=>'L', +5806=>'L', +5807=>'L', +5808=>'L', +5809=>'L', +5810=>'L', +5811=>'L', +5812=>'L', +5813=>'L', +5814=>'L', +5815=>'L', +5816=>'L', +5817=>'L', +5818=>'L', +5819=>'L', +5820=>'L', +5821=>'L', +5822=>'L', +5823=>'L', +5824=>'L', +5825=>'L', +5826=>'L', +5827=>'L', +5828=>'L', +5829=>'L', +5830=>'L', +5831=>'L', +5832=>'L', +5833=>'L', +5834=>'L', +5835=>'L', +5836=>'L', +5837=>'L', +5838=>'L', +5839=>'L', +5840=>'L', +5841=>'L', +5842=>'L', +5843=>'L', +5844=>'L', +5845=>'L', +5846=>'L', +5847=>'L', +5848=>'L', +5849=>'L', +5850=>'L', +5851=>'L', +5852=>'L', +5853=>'L', +5854=>'L', +5855=>'L', +5856=>'L', +5857=>'L', +5858=>'L', +5859=>'L', +5860=>'L', +5861=>'L', +5862=>'L', +5863=>'L', +5864=>'L', +5865=>'L', +5866=>'L', +5867=>'L', +5868=>'L', +5869=>'L', +5870=>'L', +5871=>'L', +5872=>'L', +5888=>'L', +5889=>'L', +5890=>'L', +5891=>'L', +5892=>'L', +5893=>'L', +5894=>'L', +5895=>'L', +5896=>'L', +5897=>'L', +5898=>'L', +5899=>'L', +5900=>'L', +5902=>'L', +5903=>'L', +5904=>'L', +5905=>'L', +5906=>'NSM', +5907=>'NSM', +5908=>'NSM', +5920=>'L', +5921=>'L', +5922=>'L', +5923=>'L', +5924=>'L', +5925=>'L', +5926=>'L', +5927=>'L', +5928=>'L', +5929=>'L', +5930=>'L', +5931=>'L', +5932=>'L', +5933=>'L', +5934=>'L', +5935=>'L', +5936=>'L', +5937=>'L', +5938=>'NSM', +5939=>'NSM', +5940=>'NSM', +5941=>'L', +5942=>'L', +5952=>'L', +5953=>'L', +5954=>'L', +5955=>'L', +5956=>'L', +5957=>'L', +5958=>'L', +5959=>'L', +5960=>'L', +5961=>'L', +5962=>'L', +5963=>'L', +5964=>'L', +5965=>'L', +5966=>'L', +5967=>'L', +5968=>'L', +5969=>'L', +5970=>'NSM', +5971=>'NSM', +5984=>'L', +5985=>'L', +5986=>'L', +5987=>'L', +5988=>'L', +5989=>'L', +5990=>'L', +5991=>'L', +5992=>'L', +5993=>'L', +5994=>'L', +5995=>'L', +5996=>'L', +5998=>'L', +5999=>'L', +6000=>'L', +6002=>'NSM', +6003=>'NSM', +6016=>'L', +6017=>'L', +6018=>'L', +6019=>'L', +6020=>'L', +6021=>'L', +6022=>'L', +6023=>'L', +6024=>'L', +6025=>'L', +6026=>'L', +6027=>'L', +6028=>'L', +6029=>'L', +6030=>'L', +6031=>'L', +6032=>'L', +6033=>'L', +6034=>'L', +6035=>'L', +6036=>'L', +6037=>'L', +6038=>'L', +6039=>'L', +6040=>'L', +6041=>'L', +6042=>'L', +6043=>'L', +6044=>'L', +6045=>'L', +6046=>'L', +6047=>'L', +6048=>'L', +6049=>'L', +6050=>'L', +6051=>'L', +6052=>'L', +6053=>'L', +6054=>'L', +6055=>'L', +6056=>'L', +6057=>'L', +6058=>'L', +6059=>'L', +6060=>'L', +6061=>'L', +6062=>'L', +6063=>'L', +6064=>'L', +6065=>'L', +6066=>'L', +6067=>'L', +6068=>'L', +6069=>'L', +6070=>'L', +6071=>'NSM', +6072=>'NSM', +6073=>'NSM', +6074=>'NSM', +6075=>'NSM', +6076=>'NSM', +6077=>'NSM', +6078=>'L', +6079=>'L', +6080=>'L', +6081=>'L', +6082=>'L', +6083=>'L', +6084=>'L', +6085=>'L', +6086=>'NSM', +6087=>'L', +6088=>'L', +6089=>'NSM', +6090=>'NSM', +6091=>'NSM', +6092=>'NSM', +6093=>'NSM', +6094=>'NSM', +6095=>'NSM', +6096=>'NSM', +6097=>'NSM', +6098=>'NSM', +6099=>'NSM', +6100=>'L', +6101=>'L', +6102=>'L', +6103=>'L', +6104=>'L', +6105=>'L', +6106=>'L', +6107=>'ET', +6108=>'L', +6109=>'NSM', +6112=>'L', +6113=>'L', +6114=>'L', +6115=>'L', +6116=>'L', +6117=>'L', +6118=>'L', +6119=>'L', +6120=>'L', +6121=>'L', +6128=>'ON', +6129=>'ON', +6130=>'ON', +6131=>'ON', +6132=>'ON', +6133=>'ON', +6134=>'ON', +6135=>'ON', +6136=>'ON', +6137=>'ON', +6144=>'ON', +6145=>'ON', +6146=>'ON', +6147=>'ON', +6148=>'ON', +6149=>'ON', +6150=>'ON', +6151=>'ON', +6152=>'ON', +6153=>'ON', +6154=>'ON', +6155=>'NSM', +6156=>'NSM', +6157=>'NSM', +6158=>'WS', +6160=>'L', +6161=>'L', +6162=>'L', +6163=>'L', +6164=>'L', +6165=>'L', +6166=>'L', +6167=>'L', +6168=>'L', +6169=>'L', +6176=>'L', +6177=>'L', +6178=>'L', +6179=>'L', +6180=>'L', +6181=>'L', +6182=>'L', +6183=>'L', +6184=>'L', +6185=>'L', +6186=>'L', +6187=>'L', +6188=>'L', +6189=>'L', +6190=>'L', +6191=>'L', +6192=>'L', +6193=>'L', +6194=>'L', +6195=>'L', +6196=>'L', +6197=>'L', +6198=>'L', +6199=>'L', +6200=>'L', +6201=>'L', +6202=>'L', +6203=>'L', +6204=>'L', +6205=>'L', +6206=>'L', +6207=>'L', +6208=>'L', +6209=>'L', +6210=>'L', +6211=>'L', +6212=>'L', +6213=>'L', +6214=>'L', +6215=>'L', +6216=>'L', +6217=>'L', +6218=>'L', +6219=>'L', +6220=>'L', +6221=>'L', +6222=>'L', +6223=>'L', +6224=>'L', +6225=>'L', +6226=>'L', +6227=>'L', +6228=>'L', +6229=>'L', +6230=>'L', +6231=>'L', +6232=>'L', +6233=>'L', +6234=>'L', +6235=>'L', +6236=>'L', +6237=>'L', +6238=>'L', +6239=>'L', +6240=>'L', +6241=>'L', +6242=>'L', +6243=>'L', +6244=>'L', +6245=>'L', +6246=>'L', +6247=>'L', +6248=>'L', +6249=>'L', +6250=>'L', +6251=>'L', +6252=>'L', +6253=>'L', +6254=>'L', +6255=>'L', +6256=>'L', +6257=>'L', +6258=>'L', +6259=>'L', +6260=>'L', +6261=>'L', +6262=>'L', +6263=>'L', +6272=>'L', +6273=>'L', +6274=>'L', +6275=>'L', +6276=>'L', +6277=>'L', +6278=>'L', +6279=>'L', +6280=>'L', +6281=>'L', +6282=>'L', +6283=>'L', +6284=>'L', +6285=>'L', +6286=>'L', +6287=>'L', +6288=>'L', +6289=>'L', +6290=>'L', +6291=>'L', +6292=>'L', +6293=>'L', +6294=>'L', +6295=>'L', +6296=>'L', +6297=>'L', +6298=>'L', +6299=>'L', +6300=>'L', +6301=>'L', +6302=>'L', +6303=>'L', +6304=>'L', +6305=>'L', +6306=>'L', +6307=>'L', +6308=>'L', +6309=>'L', +6310=>'L', +6311=>'L', +6312=>'L', +6313=>'NSM', +6400=>'L', +6401=>'L', +6402=>'L', +6403=>'L', +6404=>'L', +6405=>'L', +6406=>'L', +6407=>'L', +6408=>'L', +6409=>'L', +6410=>'L', +6411=>'L', +6412=>'L', +6413=>'L', +6414=>'L', +6415=>'L', +6416=>'L', +6417=>'L', +6418=>'L', +6419=>'L', +6420=>'L', +6421=>'L', +6422=>'L', +6423=>'L', +6424=>'L', +6425=>'L', +6426=>'L', +6427=>'L', +6428=>'L', +6432=>'NSM', +6433=>'NSM', +6434=>'NSM', +6435=>'L', +6436=>'L', +6437=>'L', +6438=>'L', +6439=>'NSM', +6440=>'NSM', +6441=>'NSM', +6442=>'NSM', +6443=>'NSM', +6448=>'L', +6449=>'L', +6450=>'NSM', +6451=>'L', +6452=>'L', +6453=>'L', +6454=>'L', +6455=>'L', +6456=>'L', +6457=>'NSM', +6458=>'NSM', +6459=>'NSM', +6464=>'ON', +6468=>'ON', +6469=>'ON', +6470=>'L', +6471=>'L', +6472=>'L', +6473=>'L', +6474=>'L', +6475=>'L', +6476=>'L', +6477=>'L', +6478=>'L', +6479=>'L', +6480=>'L', +6481=>'L', +6482=>'L', +6483=>'L', +6484=>'L', +6485=>'L', +6486=>'L', +6487=>'L', +6488=>'L', +6489=>'L', +6490=>'L', +6491=>'L', +6492=>'L', +6493=>'L', +6494=>'L', +6495=>'L', +6496=>'L', +6497=>'L', +6498=>'L', +6499=>'L', +6500=>'L', +6501=>'L', +6502=>'L', +6503=>'L', +6504=>'L', +6505=>'L', +6506=>'L', +6507=>'L', +6508=>'L', +6509=>'L', +6512=>'L', +6513=>'L', +6514=>'L', +6515=>'L', +6516=>'L', +6528=>'L', +6529=>'L', +6530=>'L', +6531=>'L', +6532=>'L', +6533=>'L', +6534=>'L', +6535=>'L', +6536=>'L', +6537=>'L', +6538=>'L', +6539=>'L', +6540=>'L', +6541=>'L', +6542=>'L', +6543=>'L', +6544=>'L', +6545=>'L', +6546=>'L', +6547=>'L', +6548=>'L', +6549=>'L', +6550=>'L', +6551=>'L', +6552=>'L', +6553=>'L', +6554=>'L', +6555=>'L', +6556=>'L', +6557=>'L', +6558=>'L', +6559=>'L', +6560=>'L', +6561=>'L', +6562=>'L', +6563=>'L', +6564=>'L', +6565=>'L', +6566=>'L', +6567=>'L', +6568=>'L', +6569=>'L', +6576=>'L', +6577=>'L', +6578=>'L', +6579=>'L', +6580=>'L', +6581=>'L', +6582=>'L', +6583=>'L', +6584=>'L', +6585=>'L', +6586=>'L', +6587=>'L', +6588=>'L', +6589=>'L', +6590=>'L', +6591=>'L', +6592=>'L', +6593=>'L', +6594=>'L', +6595=>'L', +6596=>'L', +6597=>'L', +6598=>'L', +6599=>'L', +6600=>'L', +6601=>'L', +6608=>'L', +6609=>'L', +6610=>'L', +6611=>'L', +6612=>'L', +6613=>'L', +6614=>'L', +6615=>'L', +6616=>'L', +6617=>'L', +6622=>'ON', +6623=>'ON', +6624=>'ON', +6625=>'ON', +6626=>'ON', +6627=>'ON', +6628=>'ON', +6629=>'ON', +6630=>'ON', +6631=>'ON', +6632=>'ON', +6633=>'ON', +6634=>'ON', +6635=>'ON', +6636=>'ON', +6637=>'ON', +6638=>'ON', +6639=>'ON', +6640=>'ON', +6641=>'ON', +6642=>'ON', +6643=>'ON', +6644=>'ON', +6645=>'ON', +6646=>'ON', +6647=>'ON', +6648=>'ON', +6649=>'ON', +6650=>'ON', +6651=>'ON', +6652=>'ON', +6653=>'ON', +6654=>'ON', +6655=>'ON', +6656=>'L', +6657=>'L', +6658=>'L', +6659=>'L', +6660=>'L', +6661=>'L', +6662=>'L', +6663=>'L', +6664=>'L', +6665=>'L', +6666=>'L', +6667=>'L', +6668=>'L', +6669=>'L', +6670=>'L', +6671=>'L', +6672=>'L', +6673=>'L', +6674=>'L', +6675=>'L', +6676=>'L', +6677=>'L', +6678=>'L', +6679=>'NSM', +6680=>'NSM', +6681=>'L', +6682=>'L', +6683=>'L', +6686=>'L', +6687=>'L', +6912=>'NSM', +6913=>'NSM', +6914=>'NSM', +6915=>'NSM', +6916=>'L', +6917=>'L', +6918=>'L', +6919=>'L', +6920=>'L', +6921=>'L', +6922=>'L', +6923=>'L', +6924=>'L', +6925=>'L', +6926=>'L', +6927=>'L', +6928=>'L', +6929=>'L', +6930=>'L', +6931=>'L', +6932=>'L', +6933=>'L', +6934=>'L', +6935=>'L', +6936=>'L', +6937=>'L', +6938=>'L', +6939=>'L', +6940=>'L', +6941=>'L', +6942=>'L', +6943=>'L', +6944=>'L', +6945=>'L', +6946=>'L', +6947=>'L', +6948=>'L', +6949=>'L', +6950=>'L', +6951=>'L', +6952=>'L', +6953=>'L', +6954=>'L', +6955=>'L', +6956=>'L', +6957=>'L', +6958=>'L', +6959=>'L', +6960=>'L', +6961=>'L', +6962=>'L', +6963=>'L', +6964=>'NSM', +6965=>'L', +6966=>'NSM', +6967=>'NSM', +6968=>'NSM', +6969=>'NSM', +6970=>'NSM', +6971=>'L', +6972=>'NSM', +6973=>'L', +6974=>'L', +6975=>'L', +6976=>'L', +6977=>'L', +6978=>'NSM', +6979=>'L', +6980=>'L', +6981=>'L', +6982=>'L', +6983=>'L', +6984=>'L', +6985=>'L', +6986=>'L', +6987=>'L', +6992=>'L', +6993=>'L', +6994=>'L', +6995=>'L', +6996=>'L', +6997=>'L', +6998=>'L', +6999=>'L', +7000=>'L', +7001=>'L', +7002=>'L', +7003=>'L', +7004=>'L', +7005=>'L', +7006=>'L', +7007=>'L', +7008=>'L', +7009=>'L', +7010=>'L', +7011=>'L', +7012=>'L', +7013=>'L', +7014=>'L', +7015=>'L', +7016=>'L', +7017=>'L', +7018=>'L', +7019=>'NSM', +7020=>'NSM', +7021=>'NSM', +7022=>'NSM', +7023=>'NSM', +7024=>'NSM', +7025=>'NSM', +7026=>'NSM', +7027=>'NSM', +7028=>'L', +7029=>'L', +7030=>'L', +7031=>'L', +7032=>'L', +7033=>'L', +7034=>'L', +7035=>'L', +7036=>'L', +7424=>'L', +7425=>'L', +7426=>'L', +7427=>'L', +7428=>'L', +7429=>'L', +7430=>'L', +7431=>'L', +7432=>'L', +7433=>'L', +7434=>'L', +7435=>'L', +7436=>'L', +7437=>'L', +7438=>'L', +7439=>'L', +7440=>'L', +7441=>'L', +7442=>'L', +7443=>'L', +7444=>'L', +7445=>'L', +7446=>'L', +7447=>'L', +7448=>'L', +7449=>'L', +7450=>'L', +7451=>'L', +7452=>'L', +7453=>'L', +7454=>'L', +7455=>'L', +7456=>'L', +7457=>'L', +7458=>'L', +7459=>'L', +7460=>'L', +7461=>'L', +7462=>'L', +7463=>'L', +7464=>'L', +7465=>'L', +7466=>'L', +7467=>'L', +7468=>'L', +7469=>'L', +7470=>'L', +7471=>'L', +7472=>'L', +7473=>'L', +7474=>'L', +7475=>'L', +7476=>'L', +7477=>'L', +7478=>'L', +7479=>'L', +7480=>'L', +7481=>'L', +7482=>'L', +7483=>'L', +7484=>'L', +7485=>'L', +7486=>'L', +7487=>'L', +7488=>'L', +7489=>'L', +7490=>'L', +7491=>'L', +7492=>'L', +7493=>'L', +7494=>'L', +7495=>'L', +7496=>'L', +7497=>'L', +7498=>'L', +7499=>'L', +7500=>'L', +7501=>'L', +7502=>'L', +7503=>'L', +7504=>'L', +7505=>'L', +7506=>'L', +7507=>'L', +7508=>'L', +7509=>'L', +7510=>'L', +7511=>'L', +7512=>'L', +7513=>'L', +7514=>'L', +7515=>'L', +7516=>'L', +7517=>'L', +7518=>'L', +7519=>'L', +7520=>'L', +7521=>'L', +7522=>'L', +7523=>'L', +7524=>'L', +7525=>'L', +7526=>'L', +7527=>'L', +7528=>'L', +7529=>'L', +7530=>'L', +7531=>'L', +7532=>'L', +7533=>'L', +7534=>'L', +7535=>'L', +7536=>'L', +7537=>'L', +7538=>'L', +7539=>'L', +7540=>'L', +7541=>'L', +7542=>'L', +7543=>'L', +7544=>'L', +7545=>'L', +7546=>'L', +7547=>'L', +7548=>'L', +7549=>'L', +7550=>'L', +7551=>'L', +7552=>'L', +7553=>'L', +7554=>'L', +7555=>'L', +7556=>'L', +7557=>'L', +7558=>'L', +7559=>'L', +7560=>'L', +7561=>'L', +7562=>'L', +7563=>'L', +7564=>'L', +7565=>'L', +7566=>'L', +7567=>'L', +7568=>'L', +7569=>'L', +7570=>'L', +7571=>'L', +7572=>'L', +7573=>'L', +7574=>'L', +7575=>'L', +7576=>'L', +7577=>'L', +7578=>'L', +7579=>'L', +7580=>'L', +7581=>'L', +7582=>'L', +7583=>'L', +7584=>'L', +7585=>'L', +7586=>'L', +7587=>'L', +7588=>'L', +7589=>'L', +7590=>'L', +7591=>'L', +7592=>'L', +7593=>'L', +7594=>'L', +7595=>'L', +7596=>'L', +7597=>'L', +7598=>'L', +7599=>'L', +7600=>'L', +7601=>'L', +7602=>'L', +7603=>'L', +7604=>'L', +7605=>'L', +7606=>'L', +7607=>'L', +7608=>'L', +7609=>'L', +7610=>'L', +7611=>'L', +7612=>'L', +7613=>'L', +7614=>'L', +7615=>'L', +7616=>'NSM', +7617=>'NSM', +7618=>'NSM', +7619=>'NSM', +7620=>'NSM', +7621=>'NSM', +7622=>'NSM', +7623=>'NSM', +7624=>'NSM', +7625=>'NSM', +7626=>'NSM', +7678=>'NSM', +7679=>'NSM', +7680=>'L', +7681=>'L', +7682=>'L', +7683=>'L', +7684=>'L', +7685=>'L', +7686=>'L', +7687=>'L', +7688=>'L', +7689=>'L', +7690=>'L', +7691=>'L', +7692=>'L', +7693=>'L', +7694=>'L', +7695=>'L', +7696=>'L', +7697=>'L', +7698=>'L', +7699=>'L', +7700=>'L', +7701=>'L', +7702=>'L', +7703=>'L', +7704=>'L', +7705=>'L', +7706=>'L', +7707=>'L', +7708=>'L', +7709=>'L', +7710=>'L', +7711=>'L', +7712=>'L', +7713=>'L', +7714=>'L', +7715=>'L', +7716=>'L', +7717=>'L', +7718=>'L', +7719=>'L', +7720=>'L', +7721=>'L', +7722=>'L', +7723=>'L', +7724=>'L', +7725=>'L', +7726=>'L', +7727=>'L', +7728=>'L', +7729=>'L', +7730=>'L', +7731=>'L', +7732=>'L', +7733=>'L', +7734=>'L', +7735=>'L', +7736=>'L', +7737=>'L', +7738=>'L', +7739=>'L', +7740=>'L', +7741=>'L', +7742=>'L', +7743=>'L', +7744=>'L', +7745=>'L', +7746=>'L', +7747=>'L', +7748=>'L', +7749=>'L', +7750=>'L', +7751=>'L', +7752=>'L', +7753=>'L', +7754=>'L', +7755=>'L', +7756=>'L', +7757=>'L', +7758=>'L', +7759=>'L', +7760=>'L', +7761=>'L', +7762=>'L', +7763=>'L', +7764=>'L', +7765=>'L', +7766=>'L', +7767=>'L', +7768=>'L', +7769=>'L', +7770=>'L', +7771=>'L', +7772=>'L', +7773=>'L', +7774=>'L', +7775=>'L', +7776=>'L', +7777=>'L', +7778=>'L', +7779=>'L', +7780=>'L', +7781=>'L', +7782=>'L', +7783=>'L', +7784=>'L', +7785=>'L', +7786=>'L', +7787=>'L', +7788=>'L', +7789=>'L', +7790=>'L', +7791=>'L', +7792=>'L', +7793=>'L', +7794=>'L', +7795=>'L', +7796=>'L', +7797=>'L', +7798=>'L', +7799=>'L', +7800=>'L', +7801=>'L', +7802=>'L', +7803=>'L', +7804=>'L', +7805=>'L', +7806=>'L', +7807=>'L', +7808=>'L', +7809=>'L', +7810=>'L', +7811=>'L', +7812=>'L', +7813=>'L', +7814=>'L', +7815=>'L', +7816=>'L', +7817=>'L', +7818=>'L', +7819=>'L', +7820=>'L', +7821=>'L', +7822=>'L', +7823=>'L', +7824=>'L', +7825=>'L', +7826=>'L', +7827=>'L', +7828=>'L', +7829=>'L', +7830=>'L', +7831=>'L', +7832=>'L', +7833=>'L', +7834=>'L', +7835=>'L', +7840=>'L', +7841=>'L', +7842=>'L', +7843=>'L', +7844=>'L', +7845=>'L', +7846=>'L', +7847=>'L', +7848=>'L', +7849=>'L', +7850=>'L', +7851=>'L', +7852=>'L', +7853=>'L', +7854=>'L', +7855=>'L', +7856=>'L', +7857=>'L', +7858=>'L', +7859=>'L', +7860=>'L', +7861=>'L', +7862=>'L', +7863=>'L', +7864=>'L', +7865=>'L', +7866=>'L', +7867=>'L', +7868=>'L', +7869=>'L', +7870=>'L', +7871=>'L', +7872=>'L', +7873=>'L', +7874=>'L', +7875=>'L', +7876=>'L', +7877=>'L', +7878=>'L', +7879=>'L', +7880=>'L', +7881=>'L', +7882=>'L', +7883=>'L', +7884=>'L', +7885=>'L', +7886=>'L', +7887=>'L', +7888=>'L', +7889=>'L', +7890=>'L', +7891=>'L', +7892=>'L', +7893=>'L', +7894=>'L', +7895=>'L', +7896=>'L', +7897=>'L', +7898=>'L', +7899=>'L', +7900=>'L', +7901=>'L', +7902=>'L', +7903=>'L', +7904=>'L', +7905=>'L', +7906=>'L', +7907=>'L', +7908=>'L', +7909=>'L', +7910=>'L', +7911=>'L', +7912=>'L', +7913=>'L', +7914=>'L', +7915=>'L', +7916=>'L', +7917=>'L', +7918=>'L', +7919=>'L', +7920=>'L', +7921=>'L', +7922=>'L', +7923=>'L', +7924=>'L', +7925=>'L', +7926=>'L', +7927=>'L', +7928=>'L', +7929=>'L', +7936=>'L', +7937=>'L', +7938=>'L', +7939=>'L', +7940=>'L', +7941=>'L', +7942=>'L', +7943=>'L', +7944=>'L', +7945=>'L', +7946=>'L', +7947=>'L', +7948=>'L', +7949=>'L', +7950=>'L', +7951=>'L', +7952=>'L', +7953=>'L', +7954=>'L', +7955=>'L', +7956=>'L', +7957=>'L', +7960=>'L', +7961=>'L', +7962=>'L', +7963=>'L', +7964=>'L', +7965=>'L', +7968=>'L', +7969=>'L', +7970=>'L', +7971=>'L', +7972=>'L', +7973=>'L', +7974=>'L', +7975=>'L', +7976=>'L', +7977=>'L', +7978=>'L', +7979=>'L', +7980=>'L', +7981=>'L', +7982=>'L', +7983=>'L', +7984=>'L', +7985=>'L', +7986=>'L', +7987=>'L', +7988=>'L', +7989=>'L', +7990=>'L', +7991=>'L', +7992=>'L', +7993=>'L', +7994=>'L', +7995=>'L', +7996=>'L', +7997=>'L', +7998=>'L', +7999=>'L', +8000=>'L', +8001=>'L', +8002=>'L', +8003=>'L', +8004=>'L', +8005=>'L', +8008=>'L', +8009=>'L', +8010=>'L', +8011=>'L', +8012=>'L', +8013=>'L', +8016=>'L', +8017=>'L', +8018=>'L', +8019=>'L', +8020=>'L', +8021=>'L', +8022=>'L', +8023=>'L', +8025=>'L', +8027=>'L', +8029=>'L', +8031=>'L', +8032=>'L', +8033=>'L', +8034=>'L', +8035=>'L', +8036=>'L', +8037=>'L', +8038=>'L', +8039=>'L', +8040=>'L', +8041=>'L', +8042=>'L', +8043=>'L', +8044=>'L', +8045=>'L', +8046=>'L', +8047=>'L', +8048=>'L', +8049=>'L', +8050=>'L', +8051=>'L', +8052=>'L', +8053=>'L', +8054=>'L', +8055=>'L', +8056=>'L', +8057=>'L', +8058=>'L', +8059=>'L', +8060=>'L', +8061=>'L', +8064=>'L', +8065=>'L', +8066=>'L', +8067=>'L', +8068=>'L', +8069=>'L', +8070=>'L', +8071=>'L', +8072=>'L', +8073=>'L', +8074=>'L', +8075=>'L', +8076=>'L', +8077=>'L', +8078=>'L', +8079=>'L', +8080=>'L', +8081=>'L', +8082=>'L', +8083=>'L', +8084=>'L', +8085=>'L', +8086=>'L', +8087=>'L', +8088=>'L', +8089=>'L', +8090=>'L', +8091=>'L', +8092=>'L', +8093=>'L', +8094=>'L', +8095=>'L', +8096=>'L', +8097=>'L', +8098=>'L', +8099=>'L', +8100=>'L', +8101=>'L', +8102=>'L', +8103=>'L', +8104=>'L', +8105=>'L', +8106=>'L', +8107=>'L', +8108=>'L', +8109=>'L', +8110=>'L', +8111=>'L', +8112=>'L', +8113=>'L', +8114=>'L', +8115=>'L', +8116=>'L', +8118=>'L', +8119=>'L', +8120=>'L', +8121=>'L', +8122=>'L', +8123=>'L', +8124=>'L', +8125=>'ON', +8126=>'L', +8127=>'ON', +8128=>'ON', +8129=>'ON', +8130=>'L', +8131=>'L', +8132=>'L', +8134=>'L', +8135=>'L', +8136=>'L', +8137=>'L', +8138=>'L', +8139=>'L', +8140=>'L', +8141=>'ON', +8142=>'ON', +8143=>'ON', +8144=>'L', +8145=>'L', +8146=>'L', +8147=>'L', +8150=>'L', +8151=>'L', +8152=>'L', +8153=>'L', +8154=>'L', +8155=>'L', +8157=>'ON', +8158=>'ON', +8159=>'ON', +8160=>'L', +8161=>'L', +8162=>'L', +8163=>'L', +8164=>'L', +8165=>'L', +8166=>'L', +8167=>'L', +8168=>'L', +8169=>'L', +8170=>'L', +8171=>'L', +8172=>'L', +8173=>'ON', +8174=>'ON', +8175=>'ON', +8178=>'L', +8179=>'L', +8180=>'L', +8182=>'L', +8183=>'L', +8184=>'L', +8185=>'L', +8186=>'L', +8187=>'L', +8188=>'L', +8189=>'ON', +8190=>'ON', +8192=>'WS', +8193=>'WS', +8194=>'WS', +8195=>'WS', +8196=>'WS', +8197=>'WS', +8198=>'WS', +8199=>'WS', +8200=>'WS', +8201=>'WS', +8202=>'WS', +8203=>'BN', +8204=>'BN', +8205=>'BN', +8206=>'L', +8207=>'R', +8208=>'ON', +8209=>'ON', +8210=>'ON', +8211=>'ON', +8212=>'ON', +8213=>'ON', +8214=>'ON', +8215=>'ON', +8216=>'ON', +8217=>'ON', +8218=>'ON', +8219=>'ON', +8220=>'ON', +8221=>'ON', +8222=>'ON', +8223=>'ON', +8224=>'ON', +8225=>'ON', +8226=>'ON', +8227=>'ON', +8228=>'ON', +8229=>'ON', +8230=>'ON', +8231=>'ON', +8232=>'WS', +8233=>'B', +8234=>'LRE', +8235=>'RLE', +8236=>'PDF', +8237=>'LRO', +8238=>'RLO', +8239=>'CS', +8240=>'ET', +8241=>'ET', +8242=>'ET', +8243=>'ET', +8244=>'ET', +8245=>'ON', +8246=>'ON', +8247=>'ON', +8248=>'ON', +8249=>'ON', +8250=>'ON', +8251=>'ON', +8252=>'ON', +8253=>'ON', +8254=>'ON', +8255=>'ON', +8256=>'ON', +8257=>'ON', +8258=>'ON', +8259=>'ON', +8260=>'CS', +8261=>'ON', +8262=>'ON', +8263=>'ON', +8264=>'ON', +8265=>'ON', +8266=>'ON', +8267=>'ON', +8268=>'ON', +8269=>'ON', +8270=>'ON', +8271=>'ON', +8272=>'ON', +8273=>'ON', +8274=>'ON', +8275=>'ON', +8276=>'ON', +8277=>'ON', +8278=>'ON', +8279=>'ON', +8280=>'ON', +8281=>'ON', +8282=>'ON', +8283=>'ON', +8284=>'ON', +8285=>'ON', +8286=>'ON', +8287=>'WS', +8288=>'BN', +8289=>'BN', +8290=>'BN', +8291=>'BN', +8298=>'BN', +8299=>'BN', +8300=>'BN', +8301=>'BN', +8302=>'BN', +8303=>'BN', +8304=>'EN', +8305=>'L', +8308=>'EN', +8309=>'EN', +8310=>'EN', +8311=>'EN', +8312=>'EN', +8313=>'EN', +8314=>'ES', +8315=>'ES', +8316=>'ON', +8317=>'ON', +8318=>'ON', +8319=>'L', +8320=>'EN', +8321=>'EN', +8322=>'EN', +8323=>'EN', +8324=>'EN', +8325=>'EN', +8326=>'EN', +8327=>'EN', +8328=>'EN', +8329=>'EN', +8330=>'ES', +8331=>'ES', +8332=>'ON', +8333=>'ON', +8334=>'ON', +8336=>'L', +8337=>'L', +8338=>'L', +8339=>'L', +8340=>'L', +8352=>'ET', +8353=>'ET', +8354=>'ET', +8355=>'ET', +8356=>'ET', +8357=>'ET', +8358=>'ET', +8359=>'ET', +8360=>'ET', +8361=>'ET', +8362=>'ET', +8363=>'ET', +8364=>'ET', +8365=>'ET', +8366=>'ET', +8367=>'ET', +8368=>'ET', +8369=>'ET', +8370=>'ET', +8371=>'ET', +8372=>'ET', +8373=>'ET', +8400=>'NSM', +8401=>'NSM', +8402=>'NSM', +8403=>'NSM', +8404=>'NSM', +8405=>'NSM', +8406=>'NSM', +8407=>'NSM', +8408=>'NSM', +8409=>'NSM', +8410=>'NSM', +8411=>'NSM', +8412=>'NSM', +8413=>'NSM', +8414=>'NSM', +8415=>'NSM', +8416=>'NSM', +8417=>'NSM', +8418=>'NSM', +8419=>'NSM', +8420=>'NSM', +8421=>'NSM', +8422=>'NSM', +8423=>'NSM', +8424=>'NSM', +8425=>'NSM', +8426=>'NSM', +8427=>'NSM', +8428=>'NSM', +8429=>'NSM', +8430=>'NSM', +8431=>'NSM', +8448=>'ON', +8449=>'ON', +8450=>'L', +8451=>'ON', +8452=>'ON', +8453=>'ON', +8454=>'ON', +8455=>'L', +8456=>'ON', +8457=>'ON', +8458=>'L', +8459=>'L', +8460=>'L', +8461=>'L', +8462=>'L', +8463=>'L', +8464=>'L', +8465=>'L', +8466=>'L', +8467=>'L', +8468=>'ON', +8469=>'L', +8470=>'ON', +8471=>'ON', +8472=>'ON', +8473=>'L', +8474=>'L', +8475=>'L', +8476=>'L', +8477=>'L', +8478=>'ON', +8479=>'ON', +8480=>'ON', +8481=>'ON', +8482=>'ON', +8483=>'ON', +8484=>'L', +8485=>'ON', +8486=>'L', +8487=>'ON', +8488=>'L', +8489=>'ON', +8490=>'L', +8491=>'L', +8492=>'L', +8493=>'L', +8494=>'ET', +8495=>'L', +8496=>'L', +8497=>'L', +8498=>'L', +8499=>'L', +8500=>'L', +8501=>'L', +8502=>'L', +8503=>'L', +8504=>'L', +8505=>'L', +8506=>'ON', +8507=>'ON', +8508=>'L', +8509=>'L', +8510=>'L', +8511=>'L', +8512=>'ON', +8513=>'ON', +8514=>'ON', +8515=>'ON', +8516=>'ON', +8517=>'L', +8518=>'L', +8519=>'L', +8520=>'L', +8521=>'L', +8522=>'ON', +8523=>'ON', +8524=>'ON', +8525=>'ON', +8526=>'L', +8531=>'ON', +8532=>'ON', +8533=>'ON', +8534=>'ON', +8535=>'ON', +8536=>'ON', +8537=>'ON', +8538=>'ON', +8539=>'ON', +8540=>'ON', +8541=>'ON', +8542=>'ON', +8543=>'ON', +8544=>'L', +8545=>'L', +8546=>'L', +8547=>'L', +8548=>'L', +8549=>'L', +8550=>'L', +8551=>'L', +8552=>'L', +8553=>'L', +8554=>'L', +8555=>'L', +8556=>'L', +8557=>'L', +8558=>'L', +8559=>'L', +8560=>'L', +8561=>'L', +8562=>'L', +8563=>'L', +8564=>'L', +8565=>'L', +8566=>'L', +8567=>'L', +8568=>'L', +8569=>'L', +8570=>'L', +8571=>'L', +8572=>'L', +8573=>'L', +8574=>'L', +8575=>'L', +8576=>'L', +8577=>'L', +8578=>'L', +8579=>'L', +8580=>'L', +8592=>'ON', +8593=>'ON', +8594=>'ON', +8595=>'ON', +8596=>'ON', +8597=>'ON', +8598=>'ON', +8599=>'ON', +8600=>'ON', +8601=>'ON', +8602=>'ON', +8603=>'ON', +8604=>'ON', +8605=>'ON', +8606=>'ON', +8607=>'ON', +8608=>'ON', +8609=>'ON', +8610=>'ON', +8611=>'ON', +8612=>'ON', +8613=>'ON', +8614=>'ON', +8615=>'ON', +8616=>'ON', +8617=>'ON', +8618=>'ON', +8619=>'ON', +8620=>'ON', +8621=>'ON', +8622=>'ON', +8623=>'ON', +8624=>'ON', +8625=>'ON', +8626=>'ON', +8627=>'ON', +8628=>'ON', +8629=>'ON', +8630=>'ON', +8631=>'ON', +8632=>'ON', +8633=>'ON', +8634=>'ON', +8635=>'ON', +8636=>'ON', +8637=>'ON', +8638=>'ON', +8639=>'ON', +8640=>'ON', +8641=>'ON', +8642=>'ON', +8643=>'ON', +8644=>'ON', +8645=>'ON', +8646=>'ON', +8647=>'ON', +8648=>'ON', +8649=>'ON', +8650=>'ON', +8651=>'ON', +8652=>'ON', +8653=>'ON', +8654=>'ON', +8655=>'ON', +8656=>'ON', +8657=>'ON', +8658=>'ON', +8659=>'ON', +8660=>'ON', +8661=>'ON', +8662=>'ON', +8663=>'ON', +8664=>'ON', +8665=>'ON', +8666=>'ON', +8667=>'ON', +8668=>'ON', +8669=>'ON', +8670=>'ON', +8671=>'ON', +8672=>'ON', +8673=>'ON', +8674=>'ON', +8675=>'ON', +8676=>'ON', +8677=>'ON', +8678=>'ON', +8679=>'ON', +8680=>'ON', +8681=>'ON', +8682=>'ON', +8683=>'ON', +8684=>'ON', +8685=>'ON', +8686=>'ON', +8687=>'ON', +8688=>'ON', +8689=>'ON', +8690=>'ON', +8691=>'ON', +8692=>'ON', +8693=>'ON', +8694=>'ON', +8695=>'ON', +8696=>'ON', +8697=>'ON', +8698=>'ON', +8699=>'ON', +8700=>'ON', +8701=>'ON', +8702=>'ON', +8703=>'ON', +8704=>'ON', +8705=>'ON', +8706=>'ON', +8707=>'ON', +8708=>'ON', +8709=>'ON', +8710=>'ON', +8711=>'ON', +8712=>'ON', +8713=>'ON', +8714=>'ON', +8715=>'ON', +8716=>'ON', +8717=>'ON', +8718=>'ON', +8719=>'ON', +8720=>'ON', +8721=>'ON', +8722=>'ES', +8723=>'ET', +8724=>'ON', +8725=>'ON', +8726=>'ON', +8727=>'ON', +8728=>'ON', +8729=>'ON', +8730=>'ON', +8731=>'ON', +8732=>'ON', +8733=>'ON', +8734=>'ON', +8735=>'ON', +8736=>'ON', +8737=>'ON', +8738=>'ON', +8739=>'ON', +8740=>'ON', +8741=>'ON', +8742=>'ON', +8743=>'ON', +8744=>'ON', +8745=>'ON', +8746=>'ON', +8747=>'ON', +8748=>'ON', +8749=>'ON', +8750=>'ON', +8751=>'ON', +8752=>'ON', +8753=>'ON', +8754=>'ON', +8755=>'ON', +8756=>'ON', +8757=>'ON', +8758=>'ON', +8759=>'ON', +8760=>'ON', +8761=>'ON', +8762=>'ON', +8763=>'ON', +8764=>'ON', +8765=>'ON', +8766=>'ON', +8767=>'ON', +8768=>'ON', +8769=>'ON', +8770=>'ON', +8771=>'ON', +8772=>'ON', +8773=>'ON', +8774=>'ON', +8775=>'ON', +8776=>'ON', +8777=>'ON', +8778=>'ON', +8779=>'ON', +8780=>'ON', +8781=>'ON', +8782=>'ON', +8783=>'ON', +8784=>'ON', +8785=>'ON', +8786=>'ON', +8787=>'ON', +8788=>'ON', +8789=>'ON', +8790=>'ON', +8791=>'ON', +8792=>'ON', +8793=>'ON', +8794=>'ON', +8795=>'ON', +8796=>'ON', +8797=>'ON', +8798=>'ON', +8799=>'ON', +8800=>'ON', +8801=>'ON', +8802=>'ON', +8803=>'ON', +8804=>'ON', +8805=>'ON', +8806=>'ON', +8807=>'ON', +8808=>'ON', +8809=>'ON', +8810=>'ON', +8811=>'ON', +8812=>'ON', +8813=>'ON', +8814=>'ON', +8815=>'ON', +8816=>'ON', +8817=>'ON', +8818=>'ON', +8819=>'ON', +8820=>'ON', +8821=>'ON', +8822=>'ON', +8823=>'ON', +8824=>'ON', +8825=>'ON', +8826=>'ON', +8827=>'ON', +8828=>'ON', +8829=>'ON', +8830=>'ON', +8831=>'ON', +8832=>'ON', +8833=>'ON', +8834=>'ON', +8835=>'ON', +8836=>'ON', +8837=>'ON', +8838=>'ON', +8839=>'ON', +8840=>'ON', +8841=>'ON', +8842=>'ON', +8843=>'ON', +8844=>'ON', +8845=>'ON', +8846=>'ON', +8847=>'ON', +8848=>'ON', +8849=>'ON', +8850=>'ON', +8851=>'ON', +8852=>'ON', +8853=>'ON', +8854=>'ON', +8855=>'ON', +8856=>'ON', +8857=>'ON', +8858=>'ON', +8859=>'ON', +8860=>'ON', +8861=>'ON', +8862=>'ON', +8863=>'ON', +8864=>'ON', +8865=>'ON', +8866=>'ON', +8867=>'ON', +8868=>'ON', +8869=>'ON', +8870=>'ON', +8871=>'ON', +8872=>'ON', +8873=>'ON', +8874=>'ON', +8875=>'ON', +8876=>'ON', +8877=>'ON', +8878=>'ON', +8879=>'ON', +8880=>'ON', +8881=>'ON', +8882=>'ON', +8883=>'ON', +8884=>'ON', +8885=>'ON', +8886=>'ON', +8887=>'ON', +8888=>'ON', +8889=>'ON', +8890=>'ON', +8891=>'ON', +8892=>'ON', +8893=>'ON', +8894=>'ON', +8895=>'ON', +8896=>'ON', +8897=>'ON', +8898=>'ON', +8899=>'ON', +8900=>'ON', +8901=>'ON', +8902=>'ON', +8903=>'ON', +8904=>'ON', +8905=>'ON', +8906=>'ON', +8907=>'ON', +8908=>'ON', +8909=>'ON', +8910=>'ON', +8911=>'ON', +8912=>'ON', +8913=>'ON', +8914=>'ON', +8915=>'ON', +8916=>'ON', +8917=>'ON', +8918=>'ON', +8919=>'ON', +8920=>'ON', +8921=>'ON', +8922=>'ON', +8923=>'ON', +8924=>'ON', +8925=>'ON', +8926=>'ON', +8927=>'ON', +8928=>'ON', +8929=>'ON', +8930=>'ON', +8931=>'ON', +8932=>'ON', +8933=>'ON', +8934=>'ON', +8935=>'ON', +8936=>'ON', +8937=>'ON', +8938=>'ON', +8939=>'ON', +8940=>'ON', +8941=>'ON', +8942=>'ON', +8943=>'ON', +8944=>'ON', +8945=>'ON', +8946=>'ON', +8947=>'ON', +8948=>'ON', +8949=>'ON', +8950=>'ON', +8951=>'ON', +8952=>'ON', +8953=>'ON', +8954=>'ON', +8955=>'ON', +8956=>'ON', +8957=>'ON', +8958=>'ON', +8959=>'ON', +8960=>'ON', +8961=>'ON', +8962=>'ON', +8963=>'ON', +8964=>'ON', +8965=>'ON', +8966=>'ON', +8967=>'ON', +8968=>'ON', +8969=>'ON', +8970=>'ON', +8971=>'ON', +8972=>'ON', +8973=>'ON', +8974=>'ON', +8975=>'ON', +8976=>'ON', +8977=>'ON', +8978=>'ON', +8979=>'ON', +8980=>'ON', +8981=>'ON', +8982=>'ON', +8983=>'ON', +8984=>'ON', +8985=>'ON', +8986=>'ON', +8987=>'ON', +8988=>'ON', +8989=>'ON', +8990=>'ON', +8991=>'ON', +8992=>'ON', +8993=>'ON', +8994=>'ON', +8995=>'ON', +8996=>'ON', +8997=>'ON', +8998=>'ON', +8999=>'ON', +9000=>'ON', +9001=>'ON', +9002=>'ON', +9003=>'ON', +9004=>'ON', +9005=>'ON', +9006=>'ON', +9007=>'ON', +9008=>'ON', +9009=>'ON', +9010=>'ON', +9011=>'ON', +9012=>'ON', +9013=>'ON', +9014=>'L', +9015=>'L', +9016=>'L', +9017=>'L', +9018=>'L', +9019=>'L', +9020=>'L', +9021=>'L', +9022=>'L', +9023=>'L', +9024=>'L', +9025=>'L', +9026=>'L', +9027=>'L', +9028=>'L', +9029=>'L', +9030=>'L', +9031=>'L', +9032=>'L', +9033=>'L', +9034=>'L', +9035=>'L', +9036=>'L', +9037=>'L', +9038=>'L', +9039=>'L', +9040=>'L', +9041=>'L', +9042=>'L', +9043=>'L', +9044=>'L', +9045=>'L', +9046=>'L', +9047=>'L', +9048=>'L', +9049=>'L', +9050=>'L', +9051=>'L', +9052=>'L', +9053=>'L', +9054=>'L', +9055=>'L', +9056=>'L', +9057=>'L', +9058=>'L', +9059=>'L', +9060=>'L', +9061=>'L', +9062=>'L', +9063=>'L', +9064=>'L', +9065=>'L', +9066=>'L', +9067=>'L', +9068=>'L', +9069=>'L', +9070=>'L', +9071=>'L', +9072=>'L', +9073=>'L', +9074=>'L', +9075=>'L', +9076=>'L', +9077=>'L', +9078=>'L', +9079=>'L', +9080=>'L', +9081=>'L', +9082=>'L', +9083=>'ON', +9084=>'ON', +9085=>'ON', +9086=>'ON', +9087=>'ON', +9088=>'ON', +9089=>'ON', +9090=>'ON', +9091=>'ON', +9092=>'ON', +9093=>'ON', +9094=>'ON', +9095=>'ON', +9096=>'ON', +9097=>'ON', +9098=>'ON', +9099=>'ON', +9100=>'ON', +9101=>'ON', +9102=>'ON', +9103=>'ON', +9104=>'ON', +9105=>'ON', +9106=>'ON', +9107=>'ON', +9108=>'ON', +9109=>'L', +9110=>'ON', +9111=>'ON', +9112=>'ON', +9113=>'ON', +9114=>'ON', +9115=>'ON', +9116=>'ON', +9117=>'ON', +9118=>'ON', +9119=>'ON', +9120=>'ON', +9121=>'ON', +9122=>'ON', +9123=>'ON', +9124=>'ON', +9125=>'ON', +9126=>'ON', +9127=>'ON', +9128=>'ON', +9129=>'ON', +9130=>'ON', +9131=>'ON', +9132=>'ON', +9133=>'ON', +9134=>'ON', +9135=>'ON', +9136=>'ON', +9137=>'ON', +9138=>'ON', +9139=>'ON', +9140=>'ON', +9141=>'ON', +9142=>'ON', +9143=>'ON', +9144=>'ON', +9145=>'ON', +9146=>'ON', +9147=>'ON', +9148=>'ON', +9149=>'ON', +9150=>'ON', +9151=>'ON', +9152=>'ON', +9153=>'ON', +9154=>'ON', +9155=>'ON', +9156=>'ON', +9157=>'ON', +9158=>'ON', +9159=>'ON', +9160=>'ON', +9161=>'ON', +9162=>'ON', +9163=>'ON', +9164=>'ON', +9165=>'ON', +9166=>'ON', +9167=>'ON', +9168=>'ON', +9169=>'ON', +9170=>'ON', +9171=>'ON', +9172=>'ON', +9173=>'ON', +9174=>'ON', +9175=>'ON', +9176=>'ON', +9177=>'ON', +9178=>'ON', +9179=>'ON', +9180=>'ON', +9181=>'ON', +9182=>'ON', +9183=>'ON', +9184=>'ON', +9185=>'ON', +9186=>'ON', +9187=>'ON', +9188=>'ON', +9189=>'ON', +9190=>'ON', +9191=>'ON', +9216=>'ON', +9217=>'ON', +9218=>'ON', +9219=>'ON', +9220=>'ON', +9221=>'ON', +9222=>'ON', +9223=>'ON', +9224=>'ON', +9225=>'ON', +9226=>'ON', +9227=>'ON', +9228=>'ON', +9229=>'ON', +9230=>'ON', +9231=>'ON', +9232=>'ON', +9233=>'ON', +9234=>'ON', +9235=>'ON', +9236=>'ON', +9237=>'ON', +9238=>'ON', +9239=>'ON', +9240=>'ON', +9241=>'ON', +9242=>'ON', +9243=>'ON', +9244=>'ON', +9245=>'ON', +9246=>'ON', +9247=>'ON', +9248=>'ON', +9249=>'ON', +9250=>'ON', +9251=>'ON', +9252=>'ON', +9253=>'ON', +9254=>'ON', +9280=>'ON', +9281=>'ON', +9282=>'ON', +9283=>'ON', +9284=>'ON', +9285=>'ON', +9286=>'ON', +9287=>'ON', +9288=>'ON', +9289=>'ON', +9290=>'ON', +9312=>'ON', +9313=>'ON', +9314=>'ON', +9315=>'ON', +9316=>'ON', +9317=>'ON', +9318=>'ON', +9319=>'ON', +9320=>'ON', +9321=>'ON', +9322=>'ON', +9323=>'ON', +9324=>'ON', +9325=>'ON', +9326=>'ON', +9327=>'ON', +9328=>'ON', +9329=>'ON', +9330=>'ON', +9331=>'ON', +9332=>'ON', +9333=>'ON', +9334=>'ON', +9335=>'ON', +9336=>'ON', +9337=>'ON', +9338=>'ON', +9339=>'ON', +9340=>'ON', +9341=>'ON', +9342=>'ON', +9343=>'ON', +9344=>'ON', +9345=>'ON', +9346=>'ON', +9347=>'ON', +9348=>'ON', +9349=>'ON', +9350=>'ON', +9351=>'ON', +9352=>'EN', +9353=>'EN', +9354=>'EN', +9355=>'EN', +9356=>'EN', +9357=>'EN', +9358=>'EN', +9359=>'EN', +9360=>'EN', +9361=>'EN', +9362=>'EN', +9363=>'EN', +9364=>'EN', +9365=>'EN', +9366=>'EN', +9367=>'EN', +9368=>'EN', +9369=>'EN', +9370=>'EN', +9371=>'EN', +9372=>'L', +9373=>'L', +9374=>'L', +9375=>'L', +9376=>'L', +9377=>'L', +9378=>'L', +9379=>'L', +9380=>'L', +9381=>'L', +9382=>'L', +9383=>'L', +9384=>'L', +9385=>'L', +9386=>'L', +9387=>'L', +9388=>'L', +9389=>'L', +9390=>'L', +9391=>'L', +9392=>'L', +9393=>'L', +9394=>'L', +9395=>'L', +9396=>'L', +9397=>'L', +9398=>'L', +9399=>'L', +9400=>'L', +9401=>'L', +9402=>'L', +9403=>'L', +9404=>'L', +9405=>'L', +9406=>'L', +9407=>'L', +9408=>'L', +9409=>'L', +9410=>'L', +9411=>'L', +9412=>'L', +9413=>'L', +9414=>'L', +9415=>'L', +9416=>'L', +9417=>'L', +9418=>'L', +9419=>'L', +9420=>'L', +9421=>'L', +9422=>'L', +9423=>'L', +9424=>'L', +9425=>'L', +9426=>'L', +9427=>'L', +9428=>'L', +9429=>'L', +9430=>'L', +9431=>'L', +9432=>'L', +9433=>'L', +9434=>'L', +9435=>'L', +9436=>'L', +9437=>'L', +9438=>'L', +9439=>'L', +9440=>'L', +9441=>'L', +9442=>'L', +9443=>'L', +9444=>'L', +9445=>'L', +9446=>'L', +9447=>'L', +9448=>'L', +9449=>'L', +9450=>'ON', +9451=>'ON', +9452=>'ON', +9453=>'ON', +9454=>'ON', +9455=>'ON', +9456=>'ON', +9457=>'ON', +9458=>'ON', +9459=>'ON', +9460=>'ON', +9461=>'ON', +9462=>'ON', +9463=>'ON', +9464=>'ON', +9465=>'ON', +9466=>'ON', +9467=>'ON', +9468=>'ON', +9469=>'ON', +9470=>'ON', +9471=>'ON', +9472=>'ON', +9473=>'ON', +9474=>'ON', +9475=>'ON', +9476=>'ON', +9477=>'ON', +9478=>'ON', +9479=>'ON', +9480=>'ON', +9481=>'ON', +9482=>'ON', +9483=>'ON', +9484=>'ON', +9485=>'ON', +9486=>'ON', +9487=>'ON', +9488=>'ON', +9489=>'ON', +9490=>'ON', +9491=>'ON', +9492=>'ON', +9493=>'ON', +9494=>'ON', +9495=>'ON', +9496=>'ON', +9497=>'ON', +9498=>'ON', +9499=>'ON', +9500=>'ON', +9501=>'ON', +9502=>'ON', +9503=>'ON', +9504=>'ON', +9505=>'ON', +9506=>'ON', +9507=>'ON', +9508=>'ON', +9509=>'ON', +9510=>'ON', +9511=>'ON', +9512=>'ON', +9513=>'ON', +9514=>'ON', +9515=>'ON', +9516=>'ON', +9517=>'ON', +9518=>'ON', +9519=>'ON', +9520=>'ON', +9521=>'ON', +9522=>'ON', +9523=>'ON', +9524=>'ON', +9525=>'ON', +9526=>'ON', +9527=>'ON', +9528=>'ON', +9529=>'ON', +9530=>'ON', +9531=>'ON', +9532=>'ON', +9533=>'ON', +9534=>'ON', +9535=>'ON', +9536=>'ON', +9537=>'ON', +9538=>'ON', +9539=>'ON', +9540=>'ON', +9541=>'ON', +9542=>'ON', +9543=>'ON', +9544=>'ON', +9545=>'ON', +9546=>'ON', +9547=>'ON', +9548=>'ON', +9549=>'ON', +9550=>'ON', +9551=>'ON', +9552=>'ON', +9553=>'ON', +9554=>'ON', +9555=>'ON', +9556=>'ON', +9557=>'ON', +9558=>'ON', +9559=>'ON', +9560=>'ON', +9561=>'ON', +9562=>'ON', +9563=>'ON', +9564=>'ON', +9565=>'ON', +9566=>'ON', +9567=>'ON', +9568=>'ON', +9569=>'ON', +9570=>'ON', +9571=>'ON', +9572=>'ON', +9573=>'ON', +9574=>'ON', +9575=>'ON', +9576=>'ON', +9577=>'ON', +9578=>'ON', +9579=>'ON', +9580=>'ON', +9581=>'ON', +9582=>'ON', +9583=>'ON', +9584=>'ON', +9585=>'ON', +9586=>'ON', +9587=>'ON', +9588=>'ON', +9589=>'ON', +9590=>'ON', +9591=>'ON', +9592=>'ON', +9593=>'ON', +9594=>'ON', +9595=>'ON', +9596=>'ON', +9597=>'ON', +9598=>'ON', +9599=>'ON', +9600=>'ON', +9601=>'ON', +9602=>'ON', +9603=>'ON', +9604=>'ON', +9605=>'ON', +9606=>'ON', +9607=>'ON', +9608=>'ON', +9609=>'ON', +9610=>'ON', +9611=>'ON', +9612=>'ON', +9613=>'ON', +9614=>'ON', +9615=>'ON', +9616=>'ON', +9617=>'ON', +9618=>'ON', +9619=>'ON', +9620=>'ON', +9621=>'ON', +9622=>'ON', +9623=>'ON', +9624=>'ON', +9625=>'ON', +9626=>'ON', +9627=>'ON', +9628=>'ON', +9629=>'ON', +9630=>'ON', +9631=>'ON', +9632=>'ON', +9633=>'ON', +9634=>'ON', +9635=>'ON', +9636=>'ON', +9637=>'ON', +9638=>'ON', +9639=>'ON', +9640=>'ON', +9641=>'ON', +9642=>'ON', +9643=>'ON', +9644=>'ON', +9645=>'ON', +9646=>'ON', +9647=>'ON', +9648=>'ON', +9649=>'ON', +9650=>'ON', +9651=>'ON', +9652=>'ON', +9653=>'ON', +9654=>'ON', +9655=>'ON', +9656=>'ON', +9657=>'ON', +9658=>'ON', +9659=>'ON', +9660=>'ON', +9661=>'ON', +9662=>'ON', +9663=>'ON', +9664=>'ON', +9665=>'ON', +9666=>'ON', +9667=>'ON', +9668=>'ON', +9669=>'ON', +9670=>'ON', +9671=>'ON', +9672=>'ON', +9673=>'ON', +9674=>'ON', +9675=>'ON', +9676=>'ON', +9677=>'ON', +9678=>'ON', +9679=>'ON', +9680=>'ON', +9681=>'ON', +9682=>'ON', +9683=>'ON', +9684=>'ON', +9685=>'ON', +9686=>'ON', +9687=>'ON', +9688=>'ON', +9689=>'ON', +9690=>'ON', +9691=>'ON', +9692=>'ON', +9693=>'ON', +9694=>'ON', +9695=>'ON', +9696=>'ON', +9697=>'ON', +9698=>'ON', +9699=>'ON', +9700=>'ON', +9701=>'ON', +9702=>'ON', +9703=>'ON', +9704=>'ON', +9705=>'ON', +9706=>'ON', +9707=>'ON', +9708=>'ON', +9709=>'ON', +9710=>'ON', +9711=>'ON', +9712=>'ON', +9713=>'ON', +9714=>'ON', +9715=>'ON', +9716=>'ON', +9717=>'ON', +9718=>'ON', +9719=>'ON', +9720=>'ON', +9721=>'ON', +9722=>'ON', +9723=>'ON', +9724=>'ON', +9725=>'ON', +9726=>'ON', +9727=>'ON', +9728=>'ON', +9729=>'ON', +9730=>'ON', +9731=>'ON', +9732=>'ON', +9733=>'ON', +9734=>'ON', +9735=>'ON', +9736=>'ON', +9737=>'ON', +9738=>'ON', +9739=>'ON', +9740=>'ON', +9741=>'ON', +9742=>'ON', +9743=>'ON', +9744=>'ON', +9745=>'ON', +9746=>'ON', +9747=>'ON', +9748=>'ON', +9749=>'ON', +9750=>'ON', +9751=>'ON', +9752=>'ON', +9753=>'ON', +9754=>'ON', +9755=>'ON', +9756=>'ON', +9757=>'ON', +9758=>'ON', +9759=>'ON', +9760=>'ON', +9761=>'ON', +9762=>'ON', +9763=>'ON', +9764=>'ON', +9765=>'ON', +9766=>'ON', +9767=>'ON', +9768=>'ON', +9769=>'ON', +9770=>'ON', +9771=>'ON', +9772=>'ON', +9773=>'ON', +9774=>'ON', +9775=>'ON', +9776=>'ON', +9777=>'ON', +9778=>'ON', +9779=>'ON', +9780=>'ON', +9781=>'ON', +9782=>'ON', +9783=>'ON', +9784=>'ON', +9785=>'ON', +9786=>'ON', +9787=>'ON', +9788=>'ON', +9789=>'ON', +9790=>'ON', +9791=>'ON', +9792=>'ON', +9793=>'ON', +9794=>'ON', +9795=>'ON', +9796=>'ON', +9797=>'ON', +9798=>'ON', +9799=>'ON', +9800=>'ON', +9801=>'ON', +9802=>'ON', +9803=>'ON', +9804=>'ON', +9805=>'ON', +9806=>'ON', +9807=>'ON', +9808=>'ON', +9809=>'ON', +9810=>'ON', +9811=>'ON', +9812=>'ON', +9813=>'ON', +9814=>'ON', +9815=>'ON', +9816=>'ON', +9817=>'ON', +9818=>'ON', +9819=>'ON', +9820=>'ON', +9821=>'ON', +9822=>'ON', +9823=>'ON', +9824=>'ON', +9825=>'ON', +9826=>'ON', +9827=>'ON', +9828=>'ON', +9829=>'ON', +9830=>'ON', +9831=>'ON', +9832=>'ON', +9833=>'ON', +9834=>'ON', +9835=>'ON', +9836=>'ON', +9837=>'ON', +9838=>'ON', +9839=>'ON', +9840=>'ON', +9841=>'ON', +9842=>'ON', +9843=>'ON', +9844=>'ON', +9845=>'ON', +9846=>'ON', +9847=>'ON', +9848=>'ON', +9849=>'ON', +9850=>'ON', +9851=>'ON', +9852=>'ON', +9853=>'ON', +9854=>'ON', +9855=>'ON', +9856=>'ON', +9857=>'ON', +9858=>'ON', +9859=>'ON', +9860=>'ON', +9861=>'ON', +9862=>'ON', +9863=>'ON', +9864=>'ON', +9865=>'ON', +9866=>'ON', +9867=>'ON', +9868=>'ON', +9869=>'ON', +9870=>'ON', +9871=>'ON', +9872=>'ON', +9873=>'ON', +9874=>'ON', +9875=>'ON', +9876=>'ON', +9877=>'ON', +9878=>'ON', +9879=>'ON', +9880=>'ON', +9881=>'ON', +9882=>'ON', +9883=>'ON', +9884=>'ON', +9888=>'ON', +9889=>'ON', +9890=>'ON', +9891=>'ON', +9892=>'ON', +9893=>'ON', +9894=>'ON', +9895=>'ON', +9896=>'ON', +9897=>'ON', +9898=>'ON', +9899=>'ON', +9900=>'L', +9901=>'ON', +9902=>'ON', +9903=>'ON', +9904=>'ON', +9905=>'ON', +9906=>'ON', +9985=>'ON', +9986=>'ON', +9987=>'ON', +9988=>'ON', +9990=>'ON', +9991=>'ON', +9992=>'ON', +9993=>'ON', +9996=>'ON', +9997=>'ON', +9998=>'ON', +9999=>'ON', +10000=>'ON', +10001=>'ON', +10002=>'ON', +10003=>'ON', +10004=>'ON', +10005=>'ON', +10006=>'ON', +10007=>'ON', +10008=>'ON', +10009=>'ON', +10010=>'ON', +10011=>'ON', +10012=>'ON', +10013=>'ON', +10014=>'ON', +10015=>'ON', +10016=>'ON', +10017=>'ON', +10018=>'ON', +10019=>'ON', +10020=>'ON', +10021=>'ON', +10022=>'ON', +10023=>'ON', +10025=>'ON', +10026=>'ON', +10027=>'ON', +10028=>'ON', +10029=>'ON', +10030=>'ON', +10031=>'ON', +10032=>'ON', +10033=>'ON', +10034=>'ON', +10035=>'ON', +10036=>'ON', +10037=>'ON', +10038=>'ON', +10039=>'ON', +10040=>'ON', +10041=>'ON', +10042=>'ON', +10043=>'ON', +10044=>'ON', +10045=>'ON', +10046=>'ON', +10047=>'ON', +10048=>'ON', +10049=>'ON', +10050=>'ON', +10051=>'ON', +10052=>'ON', +10053=>'ON', +10054=>'ON', +10055=>'ON', +10056=>'ON', +10057=>'ON', +10058=>'ON', +10059=>'ON', +10061=>'ON', +10063=>'ON', +10064=>'ON', +10065=>'ON', +10066=>'ON', +10070=>'ON', +10072=>'ON', +10073=>'ON', +10074=>'ON', +10075=>'ON', +10076=>'ON', +10077=>'ON', +10078=>'ON', +10081=>'ON', +10082=>'ON', +10083=>'ON', +10084=>'ON', +10085=>'ON', +10086=>'ON', +10087=>'ON', +10088=>'ON', +10089=>'ON', +10090=>'ON', +10091=>'ON', +10092=>'ON', +10093=>'ON', +10094=>'ON', +10095=>'ON', +10096=>'ON', +10097=>'ON', +10098=>'ON', +10099=>'ON', +10100=>'ON', +10101=>'ON', +10102=>'ON', +10103=>'ON', +10104=>'ON', +10105=>'ON', +10106=>'ON', +10107=>'ON', +10108=>'ON', +10109=>'ON', +10110=>'ON', +10111=>'ON', +10112=>'ON', +10113=>'ON', +10114=>'ON', +10115=>'ON', +10116=>'ON', +10117=>'ON', +10118=>'ON', +10119=>'ON', +10120=>'ON', +10121=>'ON', +10122=>'ON', +10123=>'ON', +10124=>'ON', +10125=>'ON', +10126=>'ON', +10127=>'ON', +10128=>'ON', +10129=>'ON', +10130=>'ON', +10131=>'ON', +10132=>'ON', +10136=>'ON', +10137=>'ON', +10138=>'ON', +10139=>'ON', +10140=>'ON', +10141=>'ON', +10142=>'ON', +10143=>'ON', +10144=>'ON', +10145=>'ON', +10146=>'ON', +10147=>'ON', +10148=>'ON', +10149=>'ON', +10150=>'ON', +10151=>'ON', +10152=>'ON', +10153=>'ON', +10154=>'ON', +10155=>'ON', +10156=>'ON', +10157=>'ON', +10158=>'ON', +10159=>'ON', +10161=>'ON', +10162=>'ON', +10163=>'ON', +10164=>'ON', +10165=>'ON', +10166=>'ON', +10167=>'ON', +10168=>'ON', +10169=>'ON', +10170=>'ON', +10171=>'ON', +10172=>'ON', +10173=>'ON', +10174=>'ON', +10176=>'ON', +10177=>'ON', +10178=>'ON', +10179=>'ON', +10180=>'ON', +10181=>'ON', +10182=>'ON', +10183=>'ON', +10184=>'ON', +10185=>'ON', +10186=>'ON', +10192=>'ON', +10193=>'ON', +10194=>'ON', +10195=>'ON', +10196=>'ON', +10197=>'ON', +10198=>'ON', +10199=>'ON', +10200=>'ON', +10201=>'ON', +10202=>'ON', +10203=>'ON', +10204=>'ON', +10205=>'ON', +10206=>'ON', +10207=>'ON', +10208=>'ON', +10209=>'ON', +10210=>'ON', +10211=>'ON', +10212=>'ON', +10213=>'ON', +10214=>'ON', +10215=>'ON', +10216=>'ON', +10217=>'ON', +10218=>'ON', +10219=>'ON', +10224=>'ON', +10225=>'ON', +10226=>'ON', +10227=>'ON', +10228=>'ON', +10229=>'ON', +10230=>'ON', +10231=>'ON', +10232=>'ON', +10233=>'ON', +10234=>'ON', +10235=>'ON', +10236=>'ON', +10237=>'ON', +10238=>'ON', +10239=>'ON', +10240=>'L', +10241=>'L', +10242=>'L', +10243=>'L', +10244=>'L', +10245=>'L', +10246=>'L', +10247=>'L', +10248=>'L', +10249=>'L', +10250=>'L', +10251=>'L', +10252=>'L', +10253=>'L', +10254=>'L', +10255=>'L', +10256=>'L', +10257=>'L', +10258=>'L', +10259=>'L', +10260=>'L', +10261=>'L', +10262=>'L', +10263=>'L', +10264=>'L', +10265=>'L', +10266=>'L', +10267=>'L', +10268=>'L', +10269=>'L', +10270=>'L', +10271=>'L', +10272=>'L', +10273=>'L', +10274=>'L', +10275=>'L', +10276=>'L', +10277=>'L', +10278=>'L', +10279=>'L', +10280=>'L', +10281=>'L', +10282=>'L', +10283=>'L', +10284=>'L', +10285=>'L', +10286=>'L', +10287=>'L', +10288=>'L', +10289=>'L', +10290=>'L', +10291=>'L', +10292=>'L', +10293=>'L', +10294=>'L', +10295=>'L', +10296=>'L', +10297=>'L', +10298=>'L', +10299=>'L', +10300=>'L', +10301=>'L', +10302=>'L', +10303=>'L', +10304=>'L', +10305=>'L', +10306=>'L', +10307=>'L', +10308=>'L', +10309=>'L', +10310=>'L', +10311=>'L', +10312=>'L', +10313=>'L', +10314=>'L', +10315=>'L', +10316=>'L', +10317=>'L', +10318=>'L', +10319=>'L', +10320=>'L', +10321=>'L', +10322=>'L', +10323=>'L', +10324=>'L', +10325=>'L', +10326=>'L', +10327=>'L', +10328=>'L', +10329=>'L', +10330=>'L', +10331=>'L', +10332=>'L', +10333=>'L', +10334=>'L', +10335=>'L', +10336=>'L', +10337=>'L', +10338=>'L', +10339=>'L', +10340=>'L', +10341=>'L', +10342=>'L', +10343=>'L', +10344=>'L', +10345=>'L', +10346=>'L', +10347=>'L', +10348=>'L', +10349=>'L', +10350=>'L', +10351=>'L', +10352=>'L', +10353=>'L', +10354=>'L', +10355=>'L', +10356=>'L', +10357=>'L', +10358=>'L', +10359=>'L', +10360=>'L', +10361=>'L', +10362=>'L', +10363=>'L', +10364=>'L', +10365=>'L', +10366=>'L', +10367=>'L', +10368=>'L', +10369=>'L', +10370=>'L', +10371=>'L', +10372=>'L', +10373=>'L', +10374=>'L', +10375=>'L', +10376=>'L', +10377=>'L', +10378=>'L', +10379=>'L', +10380=>'L', +10381=>'L', +10382=>'L', +10383=>'L', +10384=>'L', +10385=>'L', +10386=>'L', +10387=>'L', +10388=>'L', +10389=>'L', +10390=>'L', +10391=>'L', +10392=>'L', +10393=>'L', +10394=>'L', +10395=>'L', +10396=>'L', +10397=>'L', +10398=>'L', +10399=>'L', +10400=>'L', +10401=>'L', +10402=>'L', +10403=>'L', +10404=>'L', +10405=>'L', +10406=>'L', +10407=>'L', +10408=>'L', +10409=>'L', +10410=>'L', +10411=>'L', +10412=>'L', +10413=>'L', +10414=>'L', +10415=>'L', +10416=>'L', +10417=>'L', +10418=>'L', +10419=>'L', +10420=>'L', +10421=>'L', +10422=>'L', +10423=>'L', +10424=>'L', +10425=>'L', +10426=>'L', +10427=>'L', +10428=>'L', +10429=>'L', +10430=>'L', +10431=>'L', +10432=>'L', +10433=>'L', +10434=>'L', +10435=>'L', +10436=>'L', +10437=>'L', +10438=>'L', +10439=>'L', +10440=>'L', +10441=>'L', +10442=>'L', +10443=>'L', +10444=>'L', +10445=>'L', +10446=>'L', +10447=>'L', +10448=>'L', +10449=>'L', +10450=>'L', +10451=>'L', +10452=>'L', +10453=>'L', +10454=>'L', +10455=>'L', +10456=>'L', +10457=>'L', +10458=>'L', +10459=>'L', +10460=>'L', +10461=>'L', +10462=>'L', +10463=>'L', +10464=>'L', +10465=>'L', +10466=>'L', +10467=>'L', +10468=>'L', +10469=>'L', +10470=>'L', +10471=>'L', +10472=>'L', +10473=>'L', +10474=>'L', +10475=>'L', +10476=>'L', +10477=>'L', +10478=>'L', +10479=>'L', +10480=>'L', +10481=>'L', +10482=>'L', +10483=>'L', +10484=>'L', +10485=>'L', +10486=>'L', +10487=>'L', +10488=>'L', +10489=>'L', +10490=>'L', +10491=>'L', +10492=>'L', +10493=>'L', +10494=>'L', +10495=>'L', +10496=>'ON', +10497=>'ON', +10498=>'ON', +10499=>'ON', +10500=>'ON', +10501=>'ON', +10502=>'ON', +10503=>'ON', +10504=>'ON', +10505=>'ON', +10506=>'ON', +10507=>'ON', +10508=>'ON', +10509=>'ON', +10510=>'ON', +10511=>'ON', +10512=>'ON', +10513=>'ON', +10514=>'ON', +10515=>'ON', +10516=>'ON', +10517=>'ON', +10518=>'ON', +10519=>'ON', +10520=>'ON', +10521=>'ON', +10522=>'ON', +10523=>'ON', +10524=>'ON', +10525=>'ON', +10526=>'ON', +10527=>'ON', +10528=>'ON', +10529=>'ON', +10530=>'ON', +10531=>'ON', +10532=>'ON', +10533=>'ON', +10534=>'ON', +10535=>'ON', +10536=>'ON', +10537=>'ON', +10538=>'ON', +10539=>'ON', +10540=>'ON', +10541=>'ON', +10542=>'ON', +10543=>'ON', +10544=>'ON', +10545=>'ON', +10546=>'ON', +10547=>'ON', +10548=>'ON', +10549=>'ON', +10550=>'ON', +10551=>'ON', +10552=>'ON', +10553=>'ON', +10554=>'ON', +10555=>'ON', +10556=>'ON', +10557=>'ON', +10558=>'ON', +10559=>'ON', +10560=>'ON', +10561=>'ON', +10562=>'ON', +10563=>'ON', +10564=>'ON', +10565=>'ON', +10566=>'ON', +10567=>'ON', +10568=>'ON', +10569=>'ON', +10570=>'ON', +10571=>'ON', +10572=>'ON', +10573=>'ON', +10574=>'ON', +10575=>'ON', +10576=>'ON', +10577=>'ON', +10578=>'ON', +10579=>'ON', +10580=>'ON', +10581=>'ON', +10582=>'ON', +10583=>'ON', +10584=>'ON', +10585=>'ON', +10586=>'ON', +10587=>'ON', +10588=>'ON', +10589=>'ON', +10590=>'ON', +10591=>'ON', +10592=>'ON', +10593=>'ON', +10594=>'ON', +10595=>'ON', +10596=>'ON', +10597=>'ON', +10598=>'ON', +10599=>'ON', +10600=>'ON', +10601=>'ON', +10602=>'ON', +10603=>'ON', +10604=>'ON', +10605=>'ON', +10606=>'ON', +10607=>'ON', +10608=>'ON', +10609=>'ON', +10610=>'ON', +10611=>'ON', +10612=>'ON', +10613=>'ON', +10614=>'ON', +10615=>'ON', +10616=>'ON', +10617=>'ON', +10618=>'ON', +10619=>'ON', +10620=>'ON', +10621=>'ON', +10622=>'ON', +10623=>'ON', +10624=>'ON', +10625=>'ON', +10626=>'ON', +10627=>'ON', +10628=>'ON', +10629=>'ON', +10630=>'ON', +10631=>'ON', +10632=>'ON', +10633=>'ON', +10634=>'ON', +10635=>'ON', +10636=>'ON', +10637=>'ON', +10638=>'ON', +10639=>'ON', +10640=>'ON', +10641=>'ON', +10642=>'ON', +10643=>'ON', +10644=>'ON', +10645=>'ON', +10646=>'ON', +10647=>'ON', +10648=>'ON', +10649=>'ON', +10650=>'ON', +10651=>'ON', +10652=>'ON', +10653=>'ON', +10654=>'ON', +10655=>'ON', +10656=>'ON', +10657=>'ON', +10658=>'ON', +10659=>'ON', +10660=>'ON', +10661=>'ON', +10662=>'ON', +10663=>'ON', +10664=>'ON', +10665=>'ON', +10666=>'ON', +10667=>'ON', +10668=>'ON', +10669=>'ON', +10670=>'ON', +10671=>'ON', +10672=>'ON', +10673=>'ON', +10674=>'ON', +10675=>'ON', +10676=>'ON', +10677=>'ON', +10678=>'ON', +10679=>'ON', +10680=>'ON', +10681=>'ON', +10682=>'ON', +10683=>'ON', +10684=>'ON', +10685=>'ON', +10686=>'ON', +10687=>'ON', +10688=>'ON', +10689=>'ON', +10690=>'ON', +10691=>'ON', +10692=>'ON', +10693=>'ON', +10694=>'ON', +10695=>'ON', +10696=>'ON', +10697=>'ON', +10698=>'ON', +10699=>'ON', +10700=>'ON', +10701=>'ON', +10702=>'ON', +10703=>'ON', +10704=>'ON', +10705=>'ON', +10706=>'ON', +10707=>'ON', +10708=>'ON', +10709=>'ON', +10710=>'ON', +10711=>'ON', +10712=>'ON', +10713=>'ON', +10714=>'ON', +10715=>'ON', +10716=>'ON', +10717=>'ON', +10718=>'ON', +10719=>'ON', +10720=>'ON', +10721=>'ON', +10722=>'ON', +10723=>'ON', +10724=>'ON', +10725=>'ON', +10726=>'ON', +10727=>'ON', +10728=>'ON', +10729=>'ON', +10730=>'ON', +10731=>'ON', +10732=>'ON', +10733=>'ON', +10734=>'ON', +10735=>'ON', +10736=>'ON', +10737=>'ON', +10738=>'ON', +10739=>'ON', +10740=>'ON', +10741=>'ON', +10742=>'ON', +10743=>'ON', +10744=>'ON', +10745=>'ON', +10746=>'ON', +10747=>'ON', +10748=>'ON', +10749=>'ON', +10750=>'ON', +10751=>'ON', +10752=>'ON', +10753=>'ON', +10754=>'ON', +10755=>'ON', +10756=>'ON', +10757=>'ON', +10758=>'ON', +10759=>'ON', +10760=>'ON', +10761=>'ON', +10762=>'ON', +10763=>'ON', +10764=>'ON', +10765=>'ON', +10766=>'ON', +10767=>'ON', +10768=>'ON', +10769=>'ON', +10770=>'ON', +10771=>'ON', +10772=>'ON', +10773=>'ON', +10774=>'ON', +10775=>'ON', +10776=>'ON', +10777=>'ON', +10778=>'ON', +10779=>'ON', +10780=>'ON', +10781=>'ON', +10782=>'ON', +10783=>'ON', +10784=>'ON', +10785=>'ON', +10786=>'ON', +10787=>'ON', +10788=>'ON', +10789=>'ON', +10790=>'ON', +10791=>'ON', +10792=>'ON', +10793=>'ON', +10794=>'ON', +10795=>'ON', +10796=>'ON', +10797=>'ON', +10798=>'ON', +10799=>'ON', +10800=>'ON', +10801=>'ON', +10802=>'ON', +10803=>'ON', +10804=>'ON', +10805=>'ON', +10806=>'ON', +10807=>'ON', +10808=>'ON', +10809=>'ON', +10810=>'ON', +10811=>'ON', +10812=>'ON', +10813=>'ON', +10814=>'ON', +10815=>'ON', +10816=>'ON', +10817=>'ON', +10818=>'ON', +10819=>'ON', +10820=>'ON', +10821=>'ON', +10822=>'ON', +10823=>'ON', +10824=>'ON', +10825=>'ON', +10826=>'ON', +10827=>'ON', +10828=>'ON', +10829=>'ON', +10830=>'ON', +10831=>'ON', +10832=>'ON', +10833=>'ON', +10834=>'ON', +10835=>'ON', +10836=>'ON', +10837=>'ON', +10838=>'ON', +10839=>'ON', +10840=>'ON', +10841=>'ON', +10842=>'ON', +10843=>'ON', +10844=>'ON', +10845=>'ON', +10846=>'ON', +10847=>'ON', +10848=>'ON', +10849=>'ON', +10850=>'ON', +10851=>'ON', +10852=>'ON', +10853=>'ON', +10854=>'ON', +10855=>'ON', +10856=>'ON', +10857=>'ON', +10858=>'ON', +10859=>'ON', +10860=>'ON', +10861=>'ON', +10862=>'ON', +10863=>'ON', +10864=>'ON', +10865=>'ON', +10866=>'ON', +10867=>'ON', +10868=>'ON', +10869=>'ON', +10870=>'ON', +10871=>'ON', +10872=>'ON', +10873=>'ON', +10874=>'ON', +10875=>'ON', +10876=>'ON', +10877=>'ON', +10878=>'ON', +10879=>'ON', +10880=>'ON', +10881=>'ON', +10882=>'ON', +10883=>'ON', +10884=>'ON', +10885=>'ON', +10886=>'ON', +10887=>'ON', +10888=>'ON', +10889=>'ON', +10890=>'ON', +10891=>'ON', +10892=>'ON', +10893=>'ON', +10894=>'ON', +10895=>'ON', +10896=>'ON', +10897=>'ON', +10898=>'ON', +10899=>'ON', +10900=>'ON', +10901=>'ON', +10902=>'ON', +10903=>'ON', +10904=>'ON', +10905=>'ON', +10906=>'ON', +10907=>'ON', +10908=>'ON', +10909=>'ON', +10910=>'ON', +10911=>'ON', +10912=>'ON', +10913=>'ON', +10914=>'ON', +10915=>'ON', +10916=>'ON', +10917=>'ON', +10918=>'ON', +10919=>'ON', +10920=>'ON', +10921=>'ON', +10922=>'ON', +10923=>'ON', +10924=>'ON', +10925=>'ON', +10926=>'ON', +10927=>'ON', +10928=>'ON', +10929=>'ON', +10930=>'ON', +10931=>'ON', +10932=>'ON', +10933=>'ON', +10934=>'ON', +10935=>'ON', +10936=>'ON', +10937=>'ON', +10938=>'ON', +10939=>'ON', +10940=>'ON', +10941=>'ON', +10942=>'ON', +10943=>'ON', +10944=>'ON', +10945=>'ON', +10946=>'ON', +10947=>'ON', +10948=>'ON', +10949=>'ON', +10950=>'ON', +10951=>'ON', +10952=>'ON', +10953=>'ON', +10954=>'ON', +10955=>'ON', +10956=>'ON', +10957=>'ON', +10958=>'ON', +10959=>'ON', +10960=>'ON', +10961=>'ON', +10962=>'ON', +10963=>'ON', +10964=>'ON', +10965=>'ON', +10966=>'ON', +10967=>'ON', +10968=>'ON', +10969=>'ON', +10970=>'ON', +10971=>'ON', +10972=>'ON', +10973=>'ON', +10974=>'ON', +10975=>'ON', +10976=>'ON', +10977=>'ON', +10978=>'ON', +10979=>'ON', +10980=>'ON', +10981=>'ON', +10982=>'ON', +10983=>'ON', +10984=>'ON', +10985=>'ON', +10986=>'ON', +10987=>'ON', +10988=>'ON', +10989=>'ON', +10990=>'ON', +10991=>'ON', +10992=>'ON', +10993=>'ON', +10994=>'ON', +10995=>'ON', +10996=>'ON', +10997=>'ON', +10998=>'ON', +10999=>'ON', +11000=>'ON', +11001=>'ON', +11002=>'ON', +11003=>'ON', +11004=>'ON', +11005=>'ON', +11006=>'ON', +11007=>'ON', +11008=>'ON', +11009=>'ON', +11010=>'ON', +11011=>'ON', +11012=>'ON', +11013=>'ON', +11014=>'ON', +11015=>'ON', +11016=>'ON', +11017=>'ON', +11018=>'ON', +11019=>'ON', +11020=>'ON', +11021=>'ON', +11022=>'ON', +11023=>'ON', +11024=>'ON', +11025=>'ON', +11026=>'ON', +11027=>'ON', +11028=>'ON', +11029=>'ON', +11030=>'ON', +11031=>'ON', +11032=>'ON', +11033=>'ON', +11034=>'ON', +11040=>'ON', +11041=>'ON', +11042=>'ON', +11043=>'ON', +11264=>'L', +11265=>'L', +11266=>'L', +11267=>'L', +11268=>'L', +11269=>'L', +11270=>'L', +11271=>'L', +11272=>'L', +11273=>'L', +11274=>'L', +11275=>'L', +11276=>'L', +11277=>'L', +11278=>'L', +11279=>'L', +11280=>'L', +11281=>'L', +11282=>'L', +11283=>'L', +11284=>'L', +11285=>'L', +11286=>'L', +11287=>'L', +11288=>'L', +11289=>'L', +11290=>'L', +11291=>'L', +11292=>'L', +11293=>'L', +11294=>'L', +11295=>'L', +11296=>'L', +11297=>'L', +11298=>'L', +11299=>'L', +11300=>'L', +11301=>'L', +11302=>'L', +11303=>'L', +11304=>'L', +11305=>'L', +11306=>'L', +11307=>'L', +11308=>'L', +11309=>'L', +11310=>'L', +11312=>'L', +11313=>'L', +11314=>'L', +11315=>'L', +11316=>'L', +11317=>'L', +11318=>'L', +11319=>'L', +11320=>'L', +11321=>'L', +11322=>'L', +11323=>'L', +11324=>'L', +11325=>'L', +11326=>'L', +11327=>'L', +11328=>'L', +11329=>'L', +11330=>'L', +11331=>'L', +11332=>'L', +11333=>'L', +11334=>'L', +11335=>'L', +11336=>'L', +11337=>'L', +11338=>'L', +11339=>'L', +11340=>'L', +11341=>'L', +11342=>'L', +11343=>'L', +11344=>'L', +11345=>'L', +11346=>'L', +11347=>'L', +11348=>'L', +11349=>'L', +11350=>'L', +11351=>'L', +11352=>'L', +11353=>'L', +11354=>'L', +11355=>'L', +11356=>'L', +11357=>'L', +11358=>'L', +11360=>'L', +11361=>'L', +11362=>'L', +11363=>'L', +11364=>'L', +11365=>'L', +11366=>'L', +11367=>'L', +11368=>'L', +11369=>'L', +11370=>'L', +11371=>'L', +11372=>'L', +11380=>'L', +11381=>'L', +11382=>'L', +11383=>'L', +11392=>'L', +11393=>'L', +11394=>'L', +11395=>'L', +11396=>'L', +11397=>'L', +11398=>'L', +11399=>'L', +11400=>'L', +11401=>'L', +11402=>'L', +11403=>'L', +11404=>'L', +11405=>'L', +11406=>'L', +11407=>'L', +11408=>'L', +11409=>'L', +11410=>'L', +11411=>'L', +11412=>'L', +11413=>'L', +11414=>'L', +11415=>'L', +11416=>'L', +11417=>'L', +11418=>'L', +11419=>'L', +11420=>'L', +11421=>'L', +11422=>'L', +11423=>'L', +11424=>'L', +11425=>'L', +11426=>'L', +11427=>'L', +11428=>'L', +11429=>'L', +11430=>'L', +11431=>'L', +11432=>'L', +11433=>'L', +11434=>'L', +11435=>'L', +11436=>'L', +11437=>'L', +11438=>'L', +11439=>'L', +11440=>'L', +11441=>'L', +11442=>'L', +11443=>'L', +11444=>'L', +11445=>'L', +11446=>'L', +11447=>'L', +11448=>'L', +11449=>'L', +11450=>'L', +11451=>'L', +11452=>'L', +11453=>'L', +11454=>'L', +11455=>'L', +11456=>'L', +11457=>'L', +11458=>'L', +11459=>'L', +11460=>'L', +11461=>'L', +11462=>'L', +11463=>'L', +11464=>'L', +11465=>'L', +11466=>'L', +11467=>'L', +11468=>'L', +11469=>'L', +11470=>'L', +11471=>'L', +11472=>'L', +11473=>'L', +11474=>'L', +11475=>'L', +11476=>'L', +11477=>'L', +11478=>'L', +11479=>'L', +11480=>'L', +11481=>'L', +11482=>'L', +11483=>'L', +11484=>'L', +11485=>'L', +11486=>'L', +11487=>'L', +11488=>'L', +11489=>'L', +11490=>'L', +11491=>'L', +11492=>'L', +11493=>'ON', +11494=>'ON', +11495=>'ON', +11496=>'ON', +11497=>'ON', +11498=>'ON', +11513=>'ON', +11514=>'ON', +11515=>'ON', +11516=>'ON', +11517=>'ON', +11518=>'ON', +11519=>'ON', +11520=>'L', +11521=>'L', +11522=>'L', +11523=>'L', +11524=>'L', +11525=>'L', +11526=>'L', +11527=>'L', +11528=>'L', +11529=>'L', +11530=>'L', +11531=>'L', +11532=>'L', +11533=>'L', +11534=>'L', +11535=>'L', +11536=>'L', +11537=>'L', +11538=>'L', +11539=>'L', +11540=>'L', +11541=>'L', +11542=>'L', +11543=>'L', +11544=>'L', +11545=>'L', +11546=>'L', +11547=>'L', +11548=>'L', +11549=>'L', +11550=>'L', +11551=>'L', +11552=>'L', +11553=>'L', +11554=>'L', +11555=>'L', +11556=>'L', +11557=>'L', +11568=>'L', +11569=>'L', +11570=>'L', +11571=>'L', +11572=>'L', +11573=>'L', +11574=>'L', +11575=>'L', +11576=>'L', +11577=>'L', +11578=>'L', +11579=>'L', +11580=>'L', +11581=>'L', +11582=>'L', +11583=>'L', +11584=>'L', +11585=>'L', +11586=>'L', +11587=>'L', +11588=>'L', +11589=>'L', +11590=>'L', +11591=>'L', +11592=>'L', +11593=>'L', +11594=>'L', +11595=>'L', +11596=>'L', +11597=>'L', +11598=>'L', +11599=>'L', +11600=>'L', +11601=>'L', +11602=>'L', +11603=>'L', +11604=>'L', +11605=>'L', +11606=>'L', +11607=>'L', +11608=>'L', +11609=>'L', +11610=>'L', +11611=>'L', +11612=>'L', +11613=>'L', +11614=>'L', +11615=>'L', +11616=>'L', +11617=>'L', +11618=>'L', +11619=>'L', +11620=>'L', +11621=>'L', +11631=>'L', +11648=>'L', +11649=>'L', +11650=>'L', +11651=>'L', +11652=>'L', +11653=>'L', +11654=>'L', +11655=>'L', +11656=>'L', +11657=>'L', +11658=>'L', +11659=>'L', +11660=>'L', +11661=>'L', +11662=>'L', +11663=>'L', +11664=>'L', +11665=>'L', +11666=>'L', +11667=>'L', +11668=>'L', +11669=>'L', +11670=>'L', +11680=>'L', +11681=>'L', +11682=>'L', +11683=>'L', +11684=>'L', +11685=>'L', +11686=>'L', +11688=>'L', +11689=>'L', +11690=>'L', +11691=>'L', +11692=>'L', +11693=>'L', +11694=>'L', +11696=>'L', +11697=>'L', +11698=>'L', +11699=>'L', +11700=>'L', +11701=>'L', +11702=>'L', +11704=>'L', +11705=>'L', +11706=>'L', +11707=>'L', +11708=>'L', +11709=>'L', +11710=>'L', +11712=>'L', +11713=>'L', +11714=>'L', +11715=>'L', +11716=>'L', +11717=>'L', +11718=>'L', +11720=>'L', +11721=>'L', +11722=>'L', +11723=>'L', +11724=>'L', +11725=>'L', +11726=>'L', +11728=>'L', +11729=>'L', +11730=>'L', +11731=>'L', +11732=>'L', +11733=>'L', +11734=>'L', +11736=>'L', +11737=>'L', +11738=>'L', +11739=>'L', +11740=>'L', +11741=>'L', +11742=>'L', +11776=>'ON', +11777=>'ON', +11778=>'ON', +11779=>'ON', +11780=>'ON', +11781=>'ON', +11782=>'ON', +11783=>'ON', +11784=>'ON', +11785=>'ON', +11786=>'ON', +11787=>'ON', +11788=>'ON', +11789=>'ON', +11790=>'ON', +11791=>'ON', +11792=>'ON', +11793=>'ON', +11794=>'ON', +11795=>'ON', +11796=>'ON', +11797=>'ON', +11798=>'ON', +11799=>'ON', +11804=>'ON', +11805=>'ON', +11904=>'ON', +11905=>'ON', +11906=>'ON', +11907=>'ON', +11908=>'ON', +11909=>'ON', +11910=>'ON', +11911=>'ON', +11912=>'ON', +11913=>'ON', +11914=>'ON', +11915=>'ON', +11916=>'ON', +11917=>'ON', +11918=>'ON', +11919=>'ON', +11920=>'ON', +11921=>'ON', +11922=>'ON', +11923=>'ON', +11924=>'ON', +11925=>'ON', +11926=>'ON', +11927=>'ON', +11928=>'ON', +11929=>'ON', +11931=>'ON', +11932=>'ON', +11933=>'ON', +11934=>'ON', +11935=>'ON', +11936=>'ON', +11937=>'ON', +11938=>'ON', +11939=>'ON', +11940=>'ON', +11941=>'ON', +11942=>'ON', +11943=>'ON', +11944=>'ON', +11945=>'ON', +11946=>'ON', +11947=>'ON', +11948=>'ON', +11949=>'ON', +11950=>'ON', +11951=>'ON', +11952=>'ON', +11953=>'ON', +11954=>'ON', +11955=>'ON', +11956=>'ON', +11957=>'ON', +11958=>'ON', +11959=>'ON', +11960=>'ON', +11961=>'ON', +11962=>'ON', +11963=>'ON', +11964=>'ON', +11965=>'ON', +11966=>'ON', +11967=>'ON', +11968=>'ON', +11969=>'ON', +11970=>'ON', +11971=>'ON', +11972=>'ON', +11973=>'ON', +11974=>'ON', +11975=>'ON', +11976=>'ON', +11977=>'ON', +11978=>'ON', +11979=>'ON', +11980=>'ON', +11981=>'ON', +11982=>'ON', +11983=>'ON', +11984=>'ON', +11985=>'ON', +11986=>'ON', +11987=>'ON', +11988=>'ON', +11989=>'ON', +11990=>'ON', +11991=>'ON', +11992=>'ON', +11993=>'ON', +11994=>'ON', +11995=>'ON', +11996=>'ON', +11997=>'ON', +11998=>'ON', +11999=>'ON', +12000=>'ON', +12001=>'ON', +12002=>'ON', +12003=>'ON', +12004=>'ON', +12005=>'ON', +12006=>'ON', +12007=>'ON', +12008=>'ON', +12009=>'ON', +12010=>'ON', +12011=>'ON', +12012=>'ON', +12013=>'ON', +12014=>'ON', +12015=>'ON', +12016=>'ON', +12017=>'ON', +12018=>'ON', +12019=>'ON', +12032=>'ON', +12033=>'ON', +12034=>'ON', +12035=>'ON', +12036=>'ON', +12037=>'ON', +12038=>'ON', +12039=>'ON', +12040=>'ON', +12041=>'ON', +12042=>'ON', +12043=>'ON', +12044=>'ON', +12045=>'ON', +12046=>'ON', +12047=>'ON', +12048=>'ON', +12049=>'ON', +12050=>'ON', +12051=>'ON', +12052=>'ON', +12053=>'ON', +12054=>'ON', +12055=>'ON', +12056=>'ON', +12057=>'ON', +12058=>'ON', +12059=>'ON', +12060=>'ON', +12061=>'ON', +12062=>'ON', +12063=>'ON', +12064=>'ON', +12065=>'ON', +12066=>'ON', +12067=>'ON', +12068=>'ON', +12069=>'ON', +12070=>'ON', +12071=>'ON', +12072=>'ON', +12073=>'ON', +12074=>'ON', +12075=>'ON', +12076=>'ON', +12077=>'ON', +12078=>'ON', +12079=>'ON', +12080=>'ON', +12081=>'ON', +12082=>'ON', +12083=>'ON', +12084=>'ON', +12085=>'ON', +12086=>'ON', +12087=>'ON', +12088=>'ON', +12089=>'ON', +12090=>'ON', +12091=>'ON', +12092=>'ON', +12093=>'ON', +12094=>'ON', +12095=>'ON', +12096=>'ON', +12097=>'ON', +12098=>'ON', +12099=>'ON', +12100=>'ON', +12101=>'ON', +12102=>'ON', +12103=>'ON', +12104=>'ON', +12105=>'ON', +12106=>'ON', +12107=>'ON', +12108=>'ON', +12109=>'ON', +12110=>'ON', +12111=>'ON', +12112=>'ON', +12113=>'ON', +12114=>'ON', +12115=>'ON', +12116=>'ON', +12117=>'ON', +12118=>'ON', +12119=>'ON', +12120=>'ON', +12121=>'ON', +12122=>'ON', +12123=>'ON', +12124=>'ON', +12125=>'ON', +12126=>'ON', +12127=>'ON', +12128=>'ON', +12129=>'ON', +12130=>'ON', +12131=>'ON', +12132=>'ON', +12133=>'ON', +12134=>'ON', +12135=>'ON', +12136=>'ON', +12137=>'ON', +12138=>'ON', +12139=>'ON', +12140=>'ON', +12141=>'ON', +12142=>'ON', +12143=>'ON', +12144=>'ON', +12145=>'ON', +12146=>'ON', +12147=>'ON', +12148=>'ON', +12149=>'ON', +12150=>'ON', +12151=>'ON', +12152=>'ON', +12153=>'ON', +12154=>'ON', +12155=>'ON', +12156=>'ON', +12157=>'ON', +12158=>'ON', +12159=>'ON', +12160=>'ON', +12161=>'ON', +12162=>'ON', +12163=>'ON', +12164=>'ON', +12165=>'ON', +12166=>'ON', +12167=>'ON', +12168=>'ON', +12169=>'ON', +12170=>'ON', +12171=>'ON', +12172=>'ON', +12173=>'ON', +12174=>'ON', +12175=>'ON', +12176=>'ON', +12177=>'ON', +12178=>'ON', +12179=>'ON', +12180=>'ON', +12181=>'ON', +12182=>'ON', +12183=>'ON', +12184=>'ON', +12185=>'ON', +12186=>'ON', +12187=>'ON', +12188=>'ON', +12189=>'ON', +12190=>'ON', +12191=>'ON', +12192=>'ON', +12193=>'ON', +12194=>'ON', +12195=>'ON', +12196=>'ON', +12197=>'ON', +12198=>'ON', +12199=>'ON', +12200=>'ON', +12201=>'ON', +12202=>'ON', +12203=>'ON', +12204=>'ON', +12205=>'ON', +12206=>'ON', +12207=>'ON', +12208=>'ON', +12209=>'ON', +12210=>'ON', +12211=>'ON', +12212=>'ON', +12213=>'ON', +12214=>'ON', +12215=>'ON', +12216=>'ON', +12217=>'ON', +12218=>'ON', +12219=>'ON', +12220=>'ON', +12221=>'ON', +12222=>'ON', +12223=>'ON', +12224=>'ON', +12225=>'ON', +12226=>'ON', +12227=>'ON', +12228=>'ON', +12229=>'ON', +12230=>'ON', +12231=>'ON', +12232=>'ON', +12233=>'ON', +12234=>'ON', +12235=>'ON', +12236=>'ON', +12237=>'ON', +12238=>'ON', +12239=>'ON', +12240=>'ON', +12241=>'ON', +12242=>'ON', +12243=>'ON', +12244=>'ON', +12245=>'ON', +12272=>'ON', +12273=>'ON', +12274=>'ON', +12275=>'ON', +12276=>'ON', +12277=>'ON', +12278=>'ON', +12279=>'ON', +12280=>'ON', +12281=>'ON', +12282=>'ON', +12283=>'ON', +12288=>'WS', +12289=>'ON', +12290=>'ON', +12291=>'ON', +12292=>'ON', +12293=>'L', +12294=>'L', +12295=>'L', +12296=>'ON', +12297=>'ON', +12298=>'ON', +12299=>'ON', +12300=>'ON', +12301=>'ON', +12302=>'ON', +12303=>'ON', +12304=>'ON', +12305=>'ON', +12306=>'ON', +12307=>'ON', +12308=>'ON', +12309=>'ON', +12310=>'ON', +12311=>'ON', +12312=>'ON', +12313=>'ON', +12314=>'ON', +12315=>'ON', +12316=>'ON', +12317=>'ON', +12318=>'ON', +12319=>'ON', +12320=>'ON', +12321=>'L', +12322=>'L', +12323=>'L', +12324=>'L', +12325=>'L', +12326=>'L', +12327=>'L', +12328=>'L', +12329=>'L', +12330=>'NSM', +12331=>'NSM', +12332=>'NSM', +12333=>'NSM', +12334=>'NSM', +12335=>'NSM', +12336=>'ON', +12337=>'L', +12338=>'L', +12339=>'L', +12340=>'L', +12341=>'L', +12342=>'ON', +12343=>'ON', +12344=>'L', +12345=>'L', +12346=>'L', +12347=>'L', +12348=>'L', +12349=>'ON', +12350=>'ON', +12351=>'ON', +12353=>'L', +12354=>'L', +12355=>'L', +12356=>'L', +12357=>'L', +12358=>'L', +12359=>'L', +12360=>'L', +12361=>'L', +12362=>'L', +12363=>'L', +12364=>'L', +12365=>'L', +12366=>'L', +12367=>'L', +12368=>'L', +12369=>'L', +12370=>'L', +12371=>'L', +12372=>'L', +12373=>'L', +12374=>'L', +12375=>'L', +12376=>'L', +12377=>'L', +12378=>'L', +12379=>'L', +12380=>'L', +12381=>'L', +12382=>'L', +12383=>'L', +12384=>'L', +12385=>'L', +12386=>'L', +12387=>'L', +12388=>'L', +12389=>'L', +12390=>'L', +12391=>'L', +12392=>'L', +12393=>'L', +12394=>'L', +12395=>'L', +12396=>'L', +12397=>'L', +12398=>'L', +12399=>'L', +12400=>'L', +12401=>'L', +12402=>'L', +12403=>'L', +12404=>'L', +12405=>'L', +12406=>'L', +12407=>'L', +12408=>'L', +12409=>'L', +12410=>'L', +12411=>'L', +12412=>'L', +12413=>'L', +12414=>'L', +12415=>'L', +12416=>'L', +12417=>'L', +12418=>'L', +12419=>'L', +12420=>'L', +12421=>'L', +12422=>'L', +12423=>'L', +12424=>'L', +12425=>'L', +12426=>'L', +12427=>'L', +12428=>'L', +12429=>'L', +12430=>'L', +12431=>'L', +12432=>'L', +12433=>'L', +12434=>'L', +12435=>'L', +12436=>'L', +12437=>'L', +12438=>'L', +12441=>'NSM', +12442=>'NSM', +12443=>'ON', +12444=>'ON', +12445=>'L', +12446=>'L', +12447=>'L', +12448=>'ON', +12449=>'L', +12450=>'L', +12451=>'L', +12452=>'L', +12453=>'L', +12454=>'L', +12455=>'L', +12456=>'L', +12457=>'L', +12458=>'L', +12459=>'L', +12460=>'L', +12461=>'L', +12462=>'L', +12463=>'L', +12464=>'L', +12465=>'L', +12466=>'L', +12467=>'L', +12468=>'L', +12469=>'L', +12470=>'L', +12471=>'L', +12472=>'L', +12473=>'L', +12474=>'L', +12475=>'L', +12476=>'L', +12477=>'L', +12478=>'L', +12479=>'L', +12480=>'L', +12481=>'L', +12482=>'L', +12483=>'L', +12484=>'L', +12485=>'L', +12486=>'L', +12487=>'L', +12488=>'L', +12489=>'L', +12490=>'L', +12491=>'L', +12492=>'L', +12493=>'L', +12494=>'L', +12495=>'L', +12496=>'L', +12497=>'L', +12498=>'L', +12499=>'L', +12500=>'L', +12501=>'L', +12502=>'L', +12503=>'L', +12504=>'L', +12505=>'L', +12506=>'L', +12507=>'L', +12508=>'L', +12509=>'L', +12510=>'L', +12511=>'L', +12512=>'L', +12513=>'L', +12514=>'L', +12515=>'L', +12516=>'L', +12517=>'L', +12518=>'L', +12519=>'L', +12520=>'L', +12521=>'L', +12522=>'L', +12523=>'L', +12524=>'L', +12525=>'L', +12526=>'L', +12527=>'L', +12528=>'L', +12529=>'L', +12530=>'L', +12531=>'L', +12532=>'L', +12533=>'L', +12534=>'L', +12535=>'L', +12536=>'L', +12537=>'L', +12538=>'L', +12539=>'ON', +12540=>'L', +12541=>'L', +12542=>'L', +12543=>'L', +12549=>'L', +12550=>'L', +12551=>'L', +12552=>'L', +12553=>'L', +12554=>'L', +12555=>'L', +12556=>'L', +12557=>'L', +12558=>'L', +12559=>'L', +12560=>'L', +12561=>'L', +12562=>'L', +12563=>'L', +12564=>'L', +12565=>'L', +12566=>'L', +12567=>'L', +12568=>'L', +12569=>'L', +12570=>'L', +12571=>'L', +12572=>'L', +12573=>'L', +12574=>'L', +12575=>'L', +12576=>'L', +12577=>'L', +12578=>'L', +12579=>'L', +12580=>'L', +12581=>'L', +12582=>'L', +12583=>'L', +12584=>'L', +12585=>'L', +12586=>'L', +12587=>'L', +12588=>'L', +12593=>'L', +12594=>'L', +12595=>'L', +12596=>'L', +12597=>'L', +12598=>'L', +12599=>'L', +12600=>'L', +12601=>'L', +12602=>'L', +12603=>'L', +12604=>'L', +12605=>'L', +12606=>'L', +12607=>'L', +12608=>'L', +12609=>'L', +12610=>'L', +12611=>'L', +12612=>'L', +12613=>'L', +12614=>'L', +12615=>'L', +12616=>'L', +12617=>'L', +12618=>'L', +12619=>'L', +12620=>'L', +12621=>'L', +12622=>'L', +12623=>'L', +12624=>'L', +12625=>'L', +12626=>'L', +12627=>'L', +12628=>'L', +12629=>'L', +12630=>'L', +12631=>'L', +12632=>'L', +12633=>'L', +12634=>'L', +12635=>'L', +12636=>'L', +12637=>'L', +12638=>'L', +12639=>'L', +12640=>'L', +12641=>'L', +12642=>'L', +12643=>'L', +12644=>'L', +12645=>'L', +12646=>'L', +12647=>'L', +12648=>'L', +12649=>'L', +12650=>'L', +12651=>'L', +12652=>'L', +12653=>'L', +12654=>'L', +12655=>'L', +12656=>'L', +12657=>'L', +12658=>'L', +12659=>'L', +12660=>'L', +12661=>'L', +12662=>'L', +12663=>'L', +12664=>'L', +12665=>'L', +12666=>'L', +12667=>'L', +12668=>'L', +12669=>'L', +12670=>'L', +12671=>'L', +12672=>'L', +12673=>'L', +12674=>'L', +12675=>'L', +12676=>'L', +12677=>'L', +12678=>'L', +12679=>'L', +12680=>'L', +12681=>'L', +12682=>'L', +12683=>'L', +12684=>'L', +12685=>'L', +12686=>'L', +12688=>'L', +12689=>'L', +12690=>'L', +12691=>'L', +12692=>'L', +12693=>'L', +12694=>'L', +12695=>'L', +12696=>'L', +12697=>'L', +12698=>'L', +12699=>'L', +12700=>'L', +12701=>'L', +12702=>'L', +12703=>'L', +12704=>'L', +12705=>'L', +12706=>'L', +12707=>'L', +12708=>'L', +12709=>'L', +12710=>'L', +12711=>'L', +12712=>'L', +12713=>'L', +12714=>'L', +12715=>'L', +12716=>'L', +12717=>'L', +12718=>'L', +12719=>'L', +12720=>'L', +12721=>'L', +12722=>'L', +12723=>'L', +12724=>'L', +12725=>'L', +12726=>'L', +12727=>'L', +12736=>'ON', +12737=>'ON', +12738=>'ON', +12739=>'ON', +12740=>'ON', +12741=>'ON', +12742=>'ON', +12743=>'ON', +12744=>'ON', +12745=>'ON', +12746=>'ON', +12747=>'ON', +12748=>'ON', +12749=>'ON', +12750=>'ON', +12751=>'ON', +12784=>'L', +12785=>'L', +12786=>'L', +12787=>'L', +12788=>'L', +12789=>'L', +12790=>'L', +12791=>'L', +12792=>'L', +12793=>'L', +12794=>'L', +12795=>'L', +12796=>'L', +12797=>'L', +12798=>'L', +12799=>'L', +12800=>'L', +12801=>'L', +12802=>'L', +12803=>'L', +12804=>'L', +12805=>'L', +12806=>'L', +12807=>'L', +12808=>'L', +12809=>'L', +12810=>'L', +12811=>'L', +12812=>'L', +12813=>'L', +12814=>'L', +12815=>'L', +12816=>'L', +12817=>'L', +12818=>'L', +12819=>'L', +12820=>'L', +12821=>'L', +12822=>'L', +12823=>'L', +12824=>'L', +12825=>'L', +12826=>'L', +12827=>'L', +12828=>'L', +12829=>'ON', +12830=>'ON', +12832=>'L', +12833=>'L', +12834=>'L', +12835=>'L', +12836=>'L', +12837=>'L', +12838=>'L', +12839=>'L', +12840=>'L', +12841=>'L', +12842=>'L', +12843=>'L', +12844=>'L', +12845=>'L', +12846=>'L', +12847=>'L', +12848=>'L', +12849=>'L', +12850=>'L', +12851=>'L', +12852=>'L', +12853=>'L', +12854=>'L', +12855=>'L', +12856=>'L', +12857=>'L', +12858=>'L', +12859=>'L', +12860=>'L', +12861=>'L', +12862=>'L', +12863=>'L', +12864=>'L', +12865=>'L', +12866=>'L', +12867=>'L', +12880=>'ON', +12881=>'ON', +12882=>'ON', +12883=>'ON', +12884=>'ON', +12885=>'ON', +12886=>'ON', +12887=>'ON', +12888=>'ON', +12889=>'ON', +12890=>'ON', +12891=>'ON', +12892=>'ON', +12893=>'ON', +12894=>'ON', +12895=>'ON', +12896=>'L', +12897=>'L', +12898=>'L', +12899=>'L', +12900=>'L', +12901=>'L', +12902=>'L', +12903=>'L', +12904=>'L', +12905=>'L', +12906=>'L', +12907=>'L', +12908=>'L', +12909=>'L', +12910=>'L', +12911=>'L', +12912=>'L', +12913=>'L', +12914=>'L', +12915=>'L', +12916=>'L', +12917=>'L', +12918=>'L', +12919=>'L', +12920=>'L', +12921=>'L', +12922=>'L', +12923=>'L', +12924=>'ON', +12925=>'ON', +12926=>'ON', +12927=>'L', +12928=>'L', +12929=>'L', +12930=>'L', +12931=>'L', +12932=>'L', +12933=>'L', +12934=>'L', +12935=>'L', +12936=>'L', +12937=>'L', +12938=>'L', +12939=>'L', +12940=>'L', +12941=>'L', +12942=>'L', +12943=>'L', +12944=>'L', +12945=>'L', +12946=>'L', +12947=>'L', +12948=>'L', +12949=>'L', +12950=>'L', +12951=>'L', +12952=>'L', +12953=>'L', +12954=>'L', +12955=>'L', +12956=>'L', +12957=>'L', +12958=>'L', +12959=>'L', +12960=>'L', +12961=>'L', +12962=>'L', +12963=>'L', +12964=>'L', +12965=>'L', +12966=>'L', +12967=>'L', +12968=>'L', +12969=>'L', +12970=>'L', +12971=>'L', +12972=>'L', +12973=>'L', +12974=>'L', +12975=>'L', +12976=>'L', +12977=>'ON', +12978=>'ON', +12979=>'ON', +12980=>'ON', +12981=>'ON', +12982=>'ON', +12983=>'ON', +12984=>'ON', +12985=>'ON', +12986=>'ON', +12987=>'ON', +12988=>'ON', +12989=>'ON', +12990=>'ON', +12991=>'ON', +12992=>'L', +12993=>'L', +12994=>'L', +12995=>'L', +12996=>'L', +12997=>'L', +12998=>'L', +12999=>'L', +13000=>'L', +13001=>'L', +13002=>'L', +13003=>'L', +13004=>'ON', +13005=>'ON', +13006=>'ON', +13007=>'ON', +13008=>'L', +13009=>'L', +13010=>'L', +13011=>'L', +13012=>'L', +13013=>'L', +13014=>'L', +13015=>'L', +13016=>'L', +13017=>'L', +13018=>'L', +13019=>'L', +13020=>'L', +13021=>'L', +13022=>'L', +13023=>'L', +13024=>'L', +13025=>'L', +13026=>'L', +13027=>'L', +13028=>'L', +13029=>'L', +13030=>'L', +13031=>'L', +13032=>'L', +13033=>'L', +13034=>'L', +13035=>'L', +13036=>'L', +13037=>'L', +13038=>'L', +13039=>'L', +13040=>'L', +13041=>'L', +13042=>'L', +13043=>'L', +13044=>'L', +13045=>'L', +13046=>'L', +13047=>'L', +13048=>'L', +13049=>'L', +13050=>'L', +13051=>'L', +13052=>'L', +13053=>'L', +13054=>'L', +13056=>'L', +13057=>'L', +13058=>'L', +13059=>'L', +13060=>'L', +13061=>'L', +13062=>'L', +13063=>'L', +13064=>'L', +13065=>'L', +13066=>'L', +13067=>'L', +13068=>'L', +13069=>'L', +13070=>'L', +13071=>'L', +13072=>'L', +13073=>'L', +13074=>'L', +13075=>'L', +13076=>'L', +13077=>'L', +13078=>'L', +13079=>'L', +13080=>'L', +13081=>'L', +13082=>'L', +13083=>'L', +13084=>'L', +13085=>'L', +13086=>'L', +13087=>'L', +13088=>'L', +13089=>'L', +13090=>'L', +13091=>'L', +13092=>'L', +13093=>'L', +13094=>'L', +13095=>'L', +13096=>'L', +13097=>'L', +13098=>'L', +13099=>'L', +13100=>'L', +13101=>'L', +13102=>'L', +13103=>'L', +13104=>'L', +13105=>'L', +13106=>'L', +13107=>'L', +13108=>'L', +13109=>'L', +13110=>'L', +13111=>'L', +13112=>'L', +13113=>'L', +13114=>'L', +13115=>'L', +13116=>'L', +13117=>'L', +13118=>'L', +13119=>'L', +13120=>'L', +13121=>'L', +13122=>'L', +13123=>'L', +13124=>'L', +13125=>'L', +13126=>'L', +13127=>'L', +13128=>'L', +13129=>'L', +13130=>'L', +13131=>'L', +13132=>'L', +13133=>'L', +13134=>'L', +13135=>'L', +13136=>'L', +13137=>'L', +13138=>'L', +13139=>'L', +13140=>'L', +13141=>'L', +13142=>'L', +13143=>'L', +13144=>'L', +13145=>'L', +13146=>'L', +13147=>'L', +13148=>'L', +13149=>'L', +13150=>'L', +13151=>'L', +13152=>'L', +13153=>'L', +13154=>'L', +13155=>'L', +13156=>'L', +13157=>'L', +13158=>'L', +13159=>'L', +13160=>'L', +13161=>'L', +13162=>'L', +13163=>'L', +13164=>'L', +13165=>'L', +13166=>'L', +13167=>'L', +13168=>'L', +13169=>'L', +13170=>'L', +13171=>'L', +13172=>'L', +13173=>'L', +13174=>'L', +13175=>'ON', +13176=>'ON', +13177=>'ON', +13178=>'ON', +13179=>'L', +13180=>'L', +13181=>'L', +13182=>'L', +13183=>'L', +13184=>'L', +13185=>'L', +13186=>'L', +13187=>'L', +13188=>'L', +13189=>'L', +13190=>'L', +13191=>'L', +13192=>'L', +13193=>'L', +13194=>'L', +13195=>'L', +13196=>'L', +13197=>'L', +13198=>'L', +13199=>'L', +13200=>'L', +13201=>'L', +13202=>'L', +13203=>'L', +13204=>'L', +13205=>'L', +13206=>'L', +13207=>'L', +13208=>'L', +13209=>'L', +13210=>'L', +13211=>'L', +13212=>'L', +13213=>'L', +13214=>'L', +13215=>'L', +13216=>'L', +13217=>'L', +13218=>'L', +13219=>'L', +13220=>'L', +13221=>'L', +13222=>'L', +13223=>'L', +13224=>'L', +13225=>'L', +13226=>'L', +13227=>'L', +13228=>'L', +13229=>'L', +13230=>'L', +13231=>'L', +13232=>'L', +13233=>'L', +13234=>'L', +13235=>'L', +13236=>'L', +13237=>'L', +13238=>'L', +13239=>'L', +13240=>'L', +13241=>'L', +13242=>'L', +13243=>'L', +13244=>'L', +13245=>'L', +13246=>'L', +13247=>'L', +13248=>'L', +13249=>'L', +13250=>'L', +13251=>'L', +13252=>'L', +13253=>'L', +13254=>'L', +13255=>'L', +13256=>'L', +13257=>'L', +13258=>'L', +13259=>'L', +13260=>'L', +13261=>'L', +13262=>'L', +13263=>'L', +13264=>'L', +13265=>'L', +13266=>'L', +13267=>'L', +13268=>'L', +13269=>'L', +13270=>'L', +13271=>'L', +13272=>'L', +13273=>'L', +13274=>'L', +13275=>'L', +13276=>'L', +13277=>'L', +13278=>'ON', +13279=>'ON', +13280=>'L', +13281=>'L', +13282=>'L', +13283=>'L', +13284=>'L', +13285=>'L', +13286=>'L', +13287=>'L', +13288=>'L', +13289=>'L', +13290=>'L', +13291=>'L', +13292=>'L', +13293=>'L', +13294=>'L', +13295=>'L', +13296=>'L', +13297=>'L', +13298=>'L', +13299=>'L', +13300=>'L', +13301=>'L', +13302=>'L', +13303=>'L', +13304=>'L', +13305=>'L', +13306=>'L', +13307=>'L', +13308=>'L', +13309=>'L', +13310=>'L', +13311=>'ON', +13312=>'L', +19893=>'L', +19904=>'ON', +19905=>'ON', +19906=>'ON', +19907=>'ON', +19908=>'ON', +19909=>'ON', +19910=>'ON', +19911=>'ON', +19912=>'ON', +19913=>'ON', +19914=>'ON', +19915=>'ON', +19916=>'ON', +19917=>'ON', +19918=>'ON', +19919=>'ON', +19920=>'ON', +19921=>'ON', +19922=>'ON', +19923=>'ON', +19924=>'ON', +19925=>'ON', +19926=>'ON', +19927=>'ON', +19928=>'ON', +19929=>'ON', +19930=>'ON', +19931=>'ON', +19932=>'ON', +19933=>'ON', +19934=>'ON', +19935=>'ON', +19936=>'ON', +19937=>'ON', +19938=>'ON', +19939=>'ON', +19940=>'ON', +19941=>'ON', +19942=>'ON', +19943=>'ON', +19944=>'ON', +19945=>'ON', +19946=>'ON', +19947=>'ON', +19948=>'ON', +19949=>'ON', +19950=>'ON', +19951=>'ON', +19952=>'ON', +19953=>'ON', +19954=>'ON', +19955=>'ON', +19956=>'ON', +19957=>'ON', +19958=>'ON', +19959=>'ON', +19960=>'ON', +19961=>'ON', +19962=>'ON', +19963=>'ON', +19964=>'ON', +19965=>'ON', +19966=>'ON', +19967=>'ON', +19968=>'L', +40891=>'L', +40960=>'L', +40961=>'L', +40962=>'L', +40963=>'L', +40964=>'L', +40965=>'L', +40966=>'L', +40967=>'L', +40968=>'L', +40969=>'L', +40970=>'L', +40971=>'L', +40972=>'L', +40973=>'L', +40974=>'L', +40975=>'L', +40976=>'L', +40977=>'L', +40978=>'L', +40979=>'L', +40980=>'L', +40981=>'L', +40982=>'L', +40983=>'L', +40984=>'L', +40985=>'L', +40986=>'L', +40987=>'L', +40988=>'L', +40989=>'L', +40990=>'L', +40991=>'L', +40992=>'L', +40993=>'L', +40994=>'L', +40995=>'L', +40996=>'L', +40997=>'L', +40998=>'L', +40999=>'L', +41000=>'L', +41001=>'L', +41002=>'L', +41003=>'L', +41004=>'L', +41005=>'L', +41006=>'L', +41007=>'L', +41008=>'L', +41009=>'L', +41010=>'L', +41011=>'L', +41012=>'L', +41013=>'L', +41014=>'L', +41015=>'L', +41016=>'L', +41017=>'L', +41018=>'L', +41019=>'L', +41020=>'L', +41021=>'L', +41022=>'L', +41023=>'L', +41024=>'L', +41025=>'L', +41026=>'L', +41027=>'L', +41028=>'L', +41029=>'L', +41030=>'L', +41031=>'L', +41032=>'L', +41033=>'L', +41034=>'L', +41035=>'L', +41036=>'L', +41037=>'L', +41038=>'L', +41039=>'L', +41040=>'L', +41041=>'L', +41042=>'L', +41043=>'L', +41044=>'L', +41045=>'L', +41046=>'L', +41047=>'L', +41048=>'L', +41049=>'L', +41050=>'L', +41051=>'L', +41052=>'L', +41053=>'L', +41054=>'L', +41055=>'L', +41056=>'L', +41057=>'L', +41058=>'L', +41059=>'L', +41060=>'L', +41061=>'L', +41062=>'L', +41063=>'L', +41064=>'L', +41065=>'L', +41066=>'L', +41067=>'L', +41068=>'L', +41069=>'L', +41070=>'L', +41071=>'L', +41072=>'L', +41073=>'L', +41074=>'L', +41075=>'L', +41076=>'L', +41077=>'L', +41078=>'L', +41079=>'L', +41080=>'L', +41081=>'L', +41082=>'L', +41083=>'L', +41084=>'L', +41085=>'L', +41086=>'L', +41087=>'L', +41088=>'L', +41089=>'L', +41090=>'L', +41091=>'L', +41092=>'L', +41093=>'L', +41094=>'L', +41095=>'L', +41096=>'L', +41097=>'L', +41098=>'L', +41099=>'L', +41100=>'L', +41101=>'L', +41102=>'L', +41103=>'L', +41104=>'L', +41105=>'L', +41106=>'L', +41107=>'L', +41108=>'L', +41109=>'L', +41110=>'L', +41111=>'L', +41112=>'L', +41113=>'L', +41114=>'L', +41115=>'L', +41116=>'L', +41117=>'L', +41118=>'L', +41119=>'L', +41120=>'L', +41121=>'L', +41122=>'L', +41123=>'L', +41124=>'L', +41125=>'L', +41126=>'L', +41127=>'L', +41128=>'L', +41129=>'L', +41130=>'L', +41131=>'L', +41132=>'L', +41133=>'L', +41134=>'L', +41135=>'L', +41136=>'L', +41137=>'L', +41138=>'L', +41139=>'L', +41140=>'L', +41141=>'L', +41142=>'L', +41143=>'L', +41144=>'L', +41145=>'L', +41146=>'L', +41147=>'L', +41148=>'L', +41149=>'L', +41150=>'L', +41151=>'L', +41152=>'L', +41153=>'L', +41154=>'L', +41155=>'L', +41156=>'L', +41157=>'L', +41158=>'L', +41159=>'L', +41160=>'L', +41161=>'L', +41162=>'L', +41163=>'L', +41164=>'L', +41165=>'L', +41166=>'L', +41167=>'L', +41168=>'L', +41169=>'L', +41170=>'L', +41171=>'L', +41172=>'L', +41173=>'L', +41174=>'L', +41175=>'L', +41176=>'L', +41177=>'L', +41178=>'L', +41179=>'L', +41180=>'L', +41181=>'L', +41182=>'L', +41183=>'L', +41184=>'L', +41185=>'L', +41186=>'L', +41187=>'L', +41188=>'L', +41189=>'L', +41190=>'L', +41191=>'L', +41192=>'L', +41193=>'L', +41194=>'L', +41195=>'L', +41196=>'L', +41197=>'L', +41198=>'L', +41199=>'L', +41200=>'L', +41201=>'L', +41202=>'L', +41203=>'L', +41204=>'L', +41205=>'L', +41206=>'L', +41207=>'L', +41208=>'L', +41209=>'L', +41210=>'L', +41211=>'L', +41212=>'L', +41213=>'L', +41214=>'L', +41215=>'L', +41216=>'L', +41217=>'L', +41218=>'L', +41219=>'L', +41220=>'L', +41221=>'L', +41222=>'L', +41223=>'L', +41224=>'L', +41225=>'L', +41226=>'L', +41227=>'L', +41228=>'L', +41229=>'L', +41230=>'L', +41231=>'L', +41232=>'L', +41233=>'L', +41234=>'L', +41235=>'L', +41236=>'L', +41237=>'L', +41238=>'L', +41239=>'L', +41240=>'L', +41241=>'L', +41242=>'L', +41243=>'L', +41244=>'L', +41245=>'L', +41246=>'L', +41247=>'L', +41248=>'L', +41249=>'L', +41250=>'L', +41251=>'L', +41252=>'L', +41253=>'L', +41254=>'L', +41255=>'L', +41256=>'L', +41257=>'L', +41258=>'L', +41259=>'L', +41260=>'L', +41261=>'L', +41262=>'L', +41263=>'L', +41264=>'L', +41265=>'L', +41266=>'L', +41267=>'L', +41268=>'L', +41269=>'L', +41270=>'L', +41271=>'L', +41272=>'L', +41273=>'L', +41274=>'L', +41275=>'L', +41276=>'L', +41277=>'L', +41278=>'L', +41279=>'L', +41280=>'L', +41281=>'L', +41282=>'L', +41283=>'L', +41284=>'L', +41285=>'L', +41286=>'L', +41287=>'L', +41288=>'L', +41289=>'L', +41290=>'L', +41291=>'L', +41292=>'L', +41293=>'L', +41294=>'L', +41295=>'L', +41296=>'L', +41297=>'L', +41298=>'L', +41299=>'L', +41300=>'L', +41301=>'L', +41302=>'L', +41303=>'L', +41304=>'L', +41305=>'L', +41306=>'L', +41307=>'L', +41308=>'L', +41309=>'L', +41310=>'L', +41311=>'L', +41312=>'L', +41313=>'L', +41314=>'L', +41315=>'L', +41316=>'L', +41317=>'L', +41318=>'L', +41319=>'L', +41320=>'L', +41321=>'L', +41322=>'L', +41323=>'L', +41324=>'L', +41325=>'L', +41326=>'L', +41327=>'L', +41328=>'L', +41329=>'L', +41330=>'L', +41331=>'L', +41332=>'L', +41333=>'L', +41334=>'L', +41335=>'L', +41336=>'L', +41337=>'L', +41338=>'L', +41339=>'L', +41340=>'L', +41341=>'L', +41342=>'L', +41343=>'L', +41344=>'L', +41345=>'L', +41346=>'L', +41347=>'L', +41348=>'L', +41349=>'L', +41350=>'L', +41351=>'L', +41352=>'L', +41353=>'L', +41354=>'L', +41355=>'L', +41356=>'L', +41357=>'L', +41358=>'L', +41359=>'L', +41360=>'L', +41361=>'L', +41362=>'L', +41363=>'L', +41364=>'L', +41365=>'L', +41366=>'L', +41367=>'L', +41368=>'L', +41369=>'L', +41370=>'L', +41371=>'L', +41372=>'L', +41373=>'L', +41374=>'L', +41375=>'L', +41376=>'L', +41377=>'L', +41378=>'L', +41379=>'L', +41380=>'L', +41381=>'L', +41382=>'L', +41383=>'L', +41384=>'L', +41385=>'L', +41386=>'L', +41387=>'L', +41388=>'L', +41389=>'L', +41390=>'L', +41391=>'L', +41392=>'L', +41393=>'L', +41394=>'L', +41395=>'L', +41396=>'L', +41397=>'L', +41398=>'L', +41399=>'L', +41400=>'L', +41401=>'L', +41402=>'L', +41403=>'L', +41404=>'L', +41405=>'L', +41406=>'L', +41407=>'L', +41408=>'L', +41409=>'L', +41410=>'L', +41411=>'L', +41412=>'L', +41413=>'L', +41414=>'L', +41415=>'L', +41416=>'L', +41417=>'L', +41418=>'L', +41419=>'L', +41420=>'L', +41421=>'L', +41422=>'L', +41423=>'L', +41424=>'L', +41425=>'L', +41426=>'L', +41427=>'L', +41428=>'L', +41429=>'L', +41430=>'L', +41431=>'L', +41432=>'L', +41433=>'L', +41434=>'L', +41435=>'L', +41436=>'L', +41437=>'L', +41438=>'L', +41439=>'L', +41440=>'L', +41441=>'L', +41442=>'L', +41443=>'L', +41444=>'L', +41445=>'L', +41446=>'L', +41447=>'L', +41448=>'L', +41449=>'L', +41450=>'L', +41451=>'L', +41452=>'L', +41453=>'L', +41454=>'L', +41455=>'L', +41456=>'L', +41457=>'L', +41458=>'L', +41459=>'L', +41460=>'L', +41461=>'L', +41462=>'L', +41463=>'L', +41464=>'L', +41465=>'L', +41466=>'L', +41467=>'L', +41468=>'L', +41469=>'L', +41470=>'L', +41471=>'L', +41472=>'L', +41473=>'L', +41474=>'L', +41475=>'L', +41476=>'L', +41477=>'L', +41478=>'L', +41479=>'L', +41480=>'L', +41481=>'L', +41482=>'L', +41483=>'L', +41484=>'L', +41485=>'L', +41486=>'L', +41487=>'L', +41488=>'L', +41489=>'L', +41490=>'L', +41491=>'L', +41492=>'L', +41493=>'L', +41494=>'L', +41495=>'L', +41496=>'L', +41497=>'L', +41498=>'L', +41499=>'L', +41500=>'L', +41501=>'L', +41502=>'L', +41503=>'L', +41504=>'L', +41505=>'L', +41506=>'L', +41507=>'L', +41508=>'L', +41509=>'L', +41510=>'L', +41511=>'L', +41512=>'L', +41513=>'L', +41514=>'L', +41515=>'L', +41516=>'L', +41517=>'L', +41518=>'L', +41519=>'L', +41520=>'L', +41521=>'L', +41522=>'L', +41523=>'L', +41524=>'L', +41525=>'L', +41526=>'L', +41527=>'L', +41528=>'L', +41529=>'L', +41530=>'L', +41531=>'L', +41532=>'L', +41533=>'L', +41534=>'L', +41535=>'L', +41536=>'L', +41537=>'L', +41538=>'L', +41539=>'L', +41540=>'L', +41541=>'L', +41542=>'L', +41543=>'L', +41544=>'L', +41545=>'L', +41546=>'L', +41547=>'L', +41548=>'L', +41549=>'L', +41550=>'L', +41551=>'L', +41552=>'L', +41553=>'L', +41554=>'L', +41555=>'L', +41556=>'L', +41557=>'L', +41558=>'L', +41559=>'L', +41560=>'L', +41561=>'L', +41562=>'L', +41563=>'L', +41564=>'L', +41565=>'L', +41566=>'L', +41567=>'L', +41568=>'L', +41569=>'L', +41570=>'L', +41571=>'L', +41572=>'L', +41573=>'L', +41574=>'L', +41575=>'L', +41576=>'L', +41577=>'L', +41578=>'L', +41579=>'L', +41580=>'L', +41581=>'L', +41582=>'L', +41583=>'L', +41584=>'L', +41585=>'L', +41586=>'L', +41587=>'L', +41588=>'L', +41589=>'L', +41590=>'L', +41591=>'L', +41592=>'L', +41593=>'L', +41594=>'L', +41595=>'L', +41596=>'L', +41597=>'L', +41598=>'L', +41599=>'L', +41600=>'L', +41601=>'L', +41602=>'L', +41603=>'L', +41604=>'L', +41605=>'L', +41606=>'L', +41607=>'L', +41608=>'L', +41609=>'L', +41610=>'L', +41611=>'L', +41612=>'L', +41613=>'L', +41614=>'L', +41615=>'L', +41616=>'L', +41617=>'L', +41618=>'L', +41619=>'L', +41620=>'L', +41621=>'L', +41622=>'L', +41623=>'L', +41624=>'L', +41625=>'L', +41626=>'L', +41627=>'L', +41628=>'L', +41629=>'L', +41630=>'L', +41631=>'L', +41632=>'L', +41633=>'L', +41634=>'L', +41635=>'L', +41636=>'L', +41637=>'L', +41638=>'L', +41639=>'L', +41640=>'L', +41641=>'L', +41642=>'L', +41643=>'L', +41644=>'L', +41645=>'L', +41646=>'L', +41647=>'L', +41648=>'L', +41649=>'L', +41650=>'L', +41651=>'L', +41652=>'L', +41653=>'L', +41654=>'L', +41655=>'L', +41656=>'L', +41657=>'L', +41658=>'L', +41659=>'L', +41660=>'L', +41661=>'L', +41662=>'L', +41663=>'L', +41664=>'L', +41665=>'L', +41666=>'L', +41667=>'L', +41668=>'L', +41669=>'L', +41670=>'L', +41671=>'L', +41672=>'L', +41673=>'L', +41674=>'L', +41675=>'L', +41676=>'L', +41677=>'L', +41678=>'L', +41679=>'L', +41680=>'L', +41681=>'L', +41682=>'L', +41683=>'L', +41684=>'L', +41685=>'L', +41686=>'L', +41687=>'L', +41688=>'L', +41689=>'L', +41690=>'L', +41691=>'L', +41692=>'L', +41693=>'L', +41694=>'L', +41695=>'L', +41696=>'L', +41697=>'L', +41698=>'L', +41699=>'L', +41700=>'L', +41701=>'L', +41702=>'L', +41703=>'L', +41704=>'L', +41705=>'L', +41706=>'L', +41707=>'L', +41708=>'L', +41709=>'L', +41710=>'L', +41711=>'L', +41712=>'L', +41713=>'L', +41714=>'L', +41715=>'L', +41716=>'L', +41717=>'L', +41718=>'L', +41719=>'L', +41720=>'L', +41721=>'L', +41722=>'L', +41723=>'L', +41724=>'L', +41725=>'L', +41726=>'L', +41727=>'L', +41728=>'L', +41729=>'L', +41730=>'L', +41731=>'L', +41732=>'L', +41733=>'L', +41734=>'L', +41735=>'L', +41736=>'L', +41737=>'L', +41738=>'L', +41739=>'L', +41740=>'L', +41741=>'L', +41742=>'L', +41743=>'L', +41744=>'L', +41745=>'L', +41746=>'L', +41747=>'L', +41748=>'L', +41749=>'L', +41750=>'L', +41751=>'L', +41752=>'L', +41753=>'L', +41754=>'L', +41755=>'L', +41756=>'L', +41757=>'L', +41758=>'L', +41759=>'L', +41760=>'L', +41761=>'L', +41762=>'L', +41763=>'L', +41764=>'L', +41765=>'L', +41766=>'L', +41767=>'L', +41768=>'L', +41769=>'L', +41770=>'L', +41771=>'L', +41772=>'L', +41773=>'L', +41774=>'L', +41775=>'L', +41776=>'L', +41777=>'L', +41778=>'L', +41779=>'L', +41780=>'L', +41781=>'L', +41782=>'L', +41783=>'L', +41784=>'L', +41785=>'L', +41786=>'L', +41787=>'L', +41788=>'L', +41789=>'L', +41790=>'L', +41791=>'L', +41792=>'L', +41793=>'L', +41794=>'L', +41795=>'L', +41796=>'L', +41797=>'L', +41798=>'L', +41799=>'L', +41800=>'L', +41801=>'L', +41802=>'L', +41803=>'L', +41804=>'L', +41805=>'L', +41806=>'L', +41807=>'L', +41808=>'L', +41809=>'L', +41810=>'L', +41811=>'L', +41812=>'L', +41813=>'L', +41814=>'L', +41815=>'L', +41816=>'L', +41817=>'L', +41818=>'L', +41819=>'L', +41820=>'L', +41821=>'L', +41822=>'L', +41823=>'L', +41824=>'L', +41825=>'L', +41826=>'L', +41827=>'L', +41828=>'L', +41829=>'L', +41830=>'L', +41831=>'L', +41832=>'L', +41833=>'L', +41834=>'L', +41835=>'L', +41836=>'L', +41837=>'L', +41838=>'L', +41839=>'L', +41840=>'L', +41841=>'L', +41842=>'L', +41843=>'L', +41844=>'L', +41845=>'L', +41846=>'L', +41847=>'L', +41848=>'L', +41849=>'L', +41850=>'L', +41851=>'L', +41852=>'L', +41853=>'L', +41854=>'L', +41855=>'L', +41856=>'L', +41857=>'L', +41858=>'L', +41859=>'L', +41860=>'L', +41861=>'L', +41862=>'L', +41863=>'L', +41864=>'L', +41865=>'L', +41866=>'L', +41867=>'L', +41868=>'L', +41869=>'L', +41870=>'L', +41871=>'L', +41872=>'L', +41873=>'L', +41874=>'L', +41875=>'L', +41876=>'L', +41877=>'L', +41878=>'L', +41879=>'L', +41880=>'L', +41881=>'L', +41882=>'L', +41883=>'L', +41884=>'L', +41885=>'L', +41886=>'L', +41887=>'L', +41888=>'L', +41889=>'L', +41890=>'L', +41891=>'L', +41892=>'L', +41893=>'L', +41894=>'L', +41895=>'L', +41896=>'L', +41897=>'L', +41898=>'L', +41899=>'L', +41900=>'L', +41901=>'L', +41902=>'L', +41903=>'L', +41904=>'L', +41905=>'L', +41906=>'L', +41907=>'L', +41908=>'L', +41909=>'L', +41910=>'L', +41911=>'L', +41912=>'L', +41913=>'L', +41914=>'L', +41915=>'L', +41916=>'L', +41917=>'L', +41918=>'L', +41919=>'L', +41920=>'L', +41921=>'L', +41922=>'L', +41923=>'L', +41924=>'L', +41925=>'L', +41926=>'L', +41927=>'L', +41928=>'L', +41929=>'L', +41930=>'L', +41931=>'L', +41932=>'L', +41933=>'L', +41934=>'L', +41935=>'L', +41936=>'L', +41937=>'L', +41938=>'L', +41939=>'L', +41940=>'L', +41941=>'L', +41942=>'L', +41943=>'L', +41944=>'L', +41945=>'L', +41946=>'L', +41947=>'L', +41948=>'L', +41949=>'L', +41950=>'L', +41951=>'L', +41952=>'L', +41953=>'L', +41954=>'L', +41955=>'L', +41956=>'L', +41957=>'L', +41958=>'L', +41959=>'L', +41960=>'L', +41961=>'L', +41962=>'L', +41963=>'L', +41964=>'L', +41965=>'L', +41966=>'L', +41967=>'L', +41968=>'L', +41969=>'L', +41970=>'L', +41971=>'L', +41972=>'L', +41973=>'L', +41974=>'L', +41975=>'L', +41976=>'L', +41977=>'L', +41978=>'L', +41979=>'L', +41980=>'L', +41981=>'L', +41982=>'L', +41983=>'L', +41984=>'L', +41985=>'L', +41986=>'L', +41987=>'L', +41988=>'L', +41989=>'L', +41990=>'L', +41991=>'L', +41992=>'L', +41993=>'L', +41994=>'L', +41995=>'L', +41996=>'L', +41997=>'L', +41998=>'L', +41999=>'L', +42000=>'L', +42001=>'L', +42002=>'L', +42003=>'L', +42004=>'L', +42005=>'L', +42006=>'L', +42007=>'L', +42008=>'L', +42009=>'L', +42010=>'L', +42011=>'L', +42012=>'L', +42013=>'L', +42014=>'L', +42015=>'L', +42016=>'L', +42017=>'L', +42018=>'L', +42019=>'L', +42020=>'L', +42021=>'L', +42022=>'L', +42023=>'L', +42024=>'L', +42025=>'L', +42026=>'L', +42027=>'L', +42028=>'L', +42029=>'L', +42030=>'L', +42031=>'L', +42032=>'L', +42033=>'L', +42034=>'L', +42035=>'L', +42036=>'L', +42037=>'L', +42038=>'L', +42039=>'L', +42040=>'L', +42041=>'L', +42042=>'L', +42043=>'L', +42044=>'L', +42045=>'L', +42046=>'L', +42047=>'L', +42048=>'L', +42049=>'L', +42050=>'L', +42051=>'L', +42052=>'L', +42053=>'L', +42054=>'L', +42055=>'L', +42056=>'L', +42057=>'L', +42058=>'L', +42059=>'L', +42060=>'L', +42061=>'L', +42062=>'L', +42063=>'L', +42064=>'L', +42065=>'L', +42066=>'L', +42067=>'L', +42068=>'L', +42069=>'L', +42070=>'L', +42071=>'L', +42072=>'L', +42073=>'L', +42074=>'L', +42075=>'L', +42076=>'L', +42077=>'L', +42078=>'L', +42079=>'L', +42080=>'L', +42081=>'L', +42082=>'L', +42083=>'L', +42084=>'L', +42085=>'L', +42086=>'L', +42087=>'L', +42088=>'L', +42089=>'L', +42090=>'L', +42091=>'L', +42092=>'L', +42093=>'L', +42094=>'L', +42095=>'L', +42096=>'L', +42097=>'L', +42098=>'L', +42099=>'L', +42100=>'L', +42101=>'L', +42102=>'L', +42103=>'L', +42104=>'L', +42105=>'L', +42106=>'L', +42107=>'L', +42108=>'L', +42109=>'L', +42110=>'L', +42111=>'L', +42112=>'L', +42113=>'L', +42114=>'L', +42115=>'L', +42116=>'L', +42117=>'L', +42118=>'L', +42119=>'L', +42120=>'L', +42121=>'L', +42122=>'L', +42123=>'L', +42124=>'L', +42128=>'ON', +42129=>'ON', +42130=>'ON', +42131=>'ON', +42132=>'ON', +42133=>'ON', +42134=>'ON', +42135=>'ON', +42136=>'ON', +42137=>'ON', +42138=>'ON', +42139=>'ON', +42140=>'ON', +42141=>'ON', +42142=>'ON', +42143=>'ON', +42144=>'ON', +42145=>'ON', +42146=>'ON', +42147=>'ON', +42148=>'ON', +42149=>'ON', +42150=>'ON', +42151=>'ON', +42152=>'ON', +42153=>'ON', +42154=>'ON', +42155=>'ON', +42156=>'ON', +42157=>'ON', +42158=>'ON', +42159=>'ON', +42160=>'ON', +42161=>'ON', +42162=>'ON', +42163=>'ON', +42164=>'ON', +42165=>'ON', +42166=>'ON', +42167=>'ON', +42168=>'ON', +42169=>'ON', +42170=>'ON', +42171=>'ON', +42172=>'ON', +42173=>'ON', +42174=>'ON', +42175=>'ON', +42176=>'ON', +42177=>'ON', +42178=>'ON', +42179=>'ON', +42180=>'ON', +42181=>'ON', +42182=>'ON', +42752=>'ON', +42753=>'ON', +42754=>'ON', +42755=>'ON', +42756=>'ON', +42757=>'ON', +42758=>'ON', +42759=>'ON', +42760=>'ON', +42761=>'ON', +42762=>'ON', +42763=>'ON', +42764=>'ON', +42765=>'ON', +42766=>'ON', +42767=>'ON', +42768=>'ON', +42769=>'ON', +42770=>'ON', +42771=>'ON', +42772=>'ON', +42773=>'ON', +42774=>'ON', +42775=>'ON', +42776=>'ON', +42777=>'ON', +42778=>'ON', +42784=>'ON', +42785=>'ON', +43008=>'L', +43009=>'L', +43010=>'NSM', +43011=>'L', +43012=>'L', +43013=>'L', +43014=>'NSM', +43015=>'L', +43016=>'L', +43017=>'L', +43018=>'L', +43019=>'NSM', +43020=>'L', +43021=>'L', +43022=>'L', +43023=>'L', +43024=>'L', +43025=>'L', +43026=>'L', +43027=>'L', +43028=>'L', +43029=>'L', +43030=>'L', +43031=>'L', +43032=>'L', +43033=>'L', +43034=>'L', +43035=>'L', +43036=>'L', +43037=>'L', +43038=>'L', +43039=>'L', +43040=>'L', +43041=>'L', +43042=>'L', +43043=>'L', +43044=>'L', +43045=>'NSM', +43046=>'NSM', +43047=>'L', +43048=>'ON', +43049=>'ON', +43050=>'ON', +43051=>'ON', +43072=>'L', +43073=>'L', +43074=>'L', +43075=>'L', +43076=>'L', +43077=>'L', +43078=>'L', +43079=>'L', +43080=>'L', +43081=>'L', +43082=>'L', +43083=>'L', +43084=>'L', +43085=>'L', +43086=>'L', +43087=>'L', +43088=>'L', +43089=>'L', +43090=>'L', +43091=>'L', +43092=>'L', +43093=>'L', +43094=>'L', +43095=>'L', +43096=>'L', +43097=>'L', +43098=>'L', +43099=>'L', +43100=>'L', +43101=>'L', +43102=>'L', +43103=>'L', +43104=>'L', +43105=>'L', +43106=>'L', +43107=>'L', +43108=>'L', +43109=>'L', +43110=>'L', +43111=>'L', +43112=>'L', +43113=>'L', +43114=>'L', +43115=>'L', +43116=>'L', +43117=>'L', +43118=>'L', +43119=>'L', +43120=>'L', +43121=>'L', +43122=>'L', +43123=>'L', +43124=>'ON', +43125=>'ON', +43126=>'ON', +43127=>'ON', +44032=>'L', +55203=>'L', +55296=>'L', +56191=>'L', +56192=>'L', +56319=>'L', +56320=>'L', +57343=>'L', +57344=>'L', +63743=>'L', +63744=>'L', +63745=>'L', +63746=>'L', +63747=>'L', +63748=>'L', +63749=>'L', +63750=>'L', +63751=>'L', +63752=>'L', +63753=>'L', +63754=>'L', +63755=>'L', +63756=>'L', +63757=>'L', +63758=>'L', +63759=>'L', +63760=>'L', +63761=>'L', +63762=>'L', +63763=>'L', +63764=>'L', +63765=>'L', +63766=>'L', +63767=>'L', +63768=>'L', +63769=>'L', +63770=>'L', +63771=>'L', +63772=>'L', +63773=>'L', +63774=>'L', +63775=>'L', +63776=>'L', +63777=>'L', +63778=>'L', +63779=>'L', +63780=>'L', +63781=>'L', +63782=>'L', +63783=>'L', +63784=>'L', +63785=>'L', +63786=>'L', +63787=>'L', +63788=>'L', +63789=>'L', +63790=>'L', +63791=>'L', +63792=>'L', +63793=>'L', +63794=>'L', +63795=>'L', +63796=>'L', +63797=>'L', +63798=>'L', +63799=>'L', +63800=>'L', +63801=>'L', +63802=>'L', +63803=>'L', +63804=>'L', +63805=>'L', +63806=>'L', +63807=>'L', +63808=>'L', +63809=>'L', +63810=>'L', +63811=>'L', +63812=>'L', +63813=>'L', +63814=>'L', +63815=>'L', +63816=>'L', +63817=>'L', +63818=>'L', +63819=>'L', +63820=>'L', +63821=>'L', +63822=>'L', +63823=>'L', +63824=>'L', +63825=>'L', +63826=>'L', +63827=>'L', +63828=>'L', +63829=>'L', +63830=>'L', +63831=>'L', +63832=>'L', +63833=>'L', +63834=>'L', +63835=>'L', +63836=>'L', +63837=>'L', +63838=>'L', +63839=>'L', +63840=>'L', +63841=>'L', +63842=>'L', +63843=>'L', +63844=>'L', +63845=>'L', +63846=>'L', +63847=>'L', +63848=>'L', +63849=>'L', +63850=>'L', +63851=>'L', +63852=>'L', +63853=>'L', +63854=>'L', +63855=>'L', +63856=>'L', +63857=>'L', +63858=>'L', +63859=>'L', +63860=>'L', +63861=>'L', +63862=>'L', +63863=>'L', +63864=>'L', +63865=>'L', +63866=>'L', +63867=>'L', +63868=>'L', +63869=>'L', +63870=>'L', +63871=>'L', +63872=>'L', +63873=>'L', +63874=>'L', +63875=>'L', +63876=>'L', +63877=>'L', +63878=>'L', +63879=>'L', +63880=>'L', +63881=>'L', +63882=>'L', +63883=>'L', +63884=>'L', +63885=>'L', +63886=>'L', +63887=>'L', +63888=>'L', +63889=>'L', +63890=>'L', +63891=>'L', +63892=>'L', +63893=>'L', +63894=>'L', +63895=>'L', +63896=>'L', +63897=>'L', +63898=>'L', +63899=>'L', +63900=>'L', +63901=>'L', +63902=>'L', +63903=>'L', +63904=>'L', +63905=>'L', +63906=>'L', +63907=>'L', +63908=>'L', +63909=>'L', +63910=>'L', +63911=>'L', +63912=>'L', +63913=>'L', +63914=>'L', +63915=>'L', +63916=>'L', +63917=>'L', +63918=>'L', +63919=>'L', +63920=>'L', +63921=>'L', +63922=>'L', +63923=>'L', +63924=>'L', +63925=>'L', +63926=>'L', +63927=>'L', +63928=>'L', +63929=>'L', +63930=>'L', +63931=>'L', +63932=>'L', +63933=>'L', +63934=>'L', +63935=>'L', +63936=>'L', +63937=>'L', +63938=>'L', +63939=>'L', +63940=>'L', +63941=>'L', +63942=>'L', +63943=>'L', +63944=>'L', +63945=>'L', +63946=>'L', +63947=>'L', +63948=>'L', +63949=>'L', +63950=>'L', +63951=>'L', +63952=>'L', +63953=>'L', +63954=>'L', +63955=>'L', +63956=>'L', +63957=>'L', +63958=>'L', +63959=>'L', +63960=>'L', +63961=>'L', +63962=>'L', +63963=>'L', +63964=>'L', +63965=>'L', +63966=>'L', +63967=>'L', +63968=>'L', +63969=>'L', +63970=>'L', +63971=>'L', +63972=>'L', +63973=>'L', +63974=>'L', +63975=>'L', +63976=>'L', +63977=>'L', +63978=>'L', +63979=>'L', +63980=>'L', +63981=>'L', +63982=>'L', +63983=>'L', +63984=>'L', +63985=>'L', +63986=>'L', +63987=>'L', +63988=>'L', +63989=>'L', +63990=>'L', +63991=>'L', +63992=>'L', +63993=>'L', +63994=>'L', +63995=>'L', +63996=>'L', +63997=>'L', +63998=>'L', +63999=>'L', +64000=>'L', +64001=>'L', +64002=>'L', +64003=>'L', +64004=>'L', +64005=>'L', +64006=>'L', +64007=>'L', +64008=>'L', +64009=>'L', +64010=>'L', +64011=>'L', +64012=>'L', +64013=>'L', +64014=>'L', +64015=>'L', +64016=>'L', +64017=>'L', +64018=>'L', +64019=>'L', +64020=>'L', +64021=>'L', +64022=>'L', +64023=>'L', +64024=>'L', +64025=>'L', +64026=>'L', +64027=>'L', +64028=>'L', +64029=>'L', +64030=>'L', +64031=>'L', +64032=>'L', +64033=>'L', +64034=>'L', +64035=>'L', +64036=>'L', +64037=>'L', +64038=>'L', +64039=>'L', +64040=>'L', +64041=>'L', +64042=>'L', +64043=>'L', +64044=>'L', +64045=>'L', +64048=>'L', +64049=>'L', +64050=>'L', +64051=>'L', +64052=>'L', +64053=>'L', +64054=>'L', +64055=>'L', +64056=>'L', +64057=>'L', +64058=>'L', +64059=>'L', +64060=>'L', +64061=>'L', +64062=>'L', +64063=>'L', +64064=>'L', +64065=>'L', +64066=>'L', +64067=>'L', +64068=>'L', +64069=>'L', +64070=>'L', +64071=>'L', +64072=>'L', +64073=>'L', +64074=>'L', +64075=>'L', +64076=>'L', +64077=>'L', +64078=>'L', +64079=>'L', +64080=>'L', +64081=>'L', +64082=>'L', +64083=>'L', +64084=>'L', +64085=>'L', +64086=>'L', +64087=>'L', +64088=>'L', +64089=>'L', +64090=>'L', +64091=>'L', +64092=>'L', +64093=>'L', +64094=>'L', +64095=>'L', +64096=>'L', +64097=>'L', +64098=>'L', +64099=>'L', +64100=>'L', +64101=>'L', +64102=>'L', +64103=>'L', +64104=>'L', +64105=>'L', +64106=>'L', +64112=>'L', +64113=>'L', +64114=>'L', +64115=>'L', +64116=>'L', +64117=>'L', +64118=>'L', +64119=>'L', +64120=>'L', +64121=>'L', +64122=>'L', +64123=>'L', +64124=>'L', +64125=>'L', +64126=>'L', +64127=>'L', +64128=>'L', +64129=>'L', +64130=>'L', +64131=>'L', +64132=>'L', +64133=>'L', +64134=>'L', +64135=>'L', +64136=>'L', +64137=>'L', +64138=>'L', +64139=>'L', +64140=>'L', +64141=>'L', +64142=>'L', +64143=>'L', +64144=>'L', +64145=>'L', +64146=>'L', +64147=>'L', +64148=>'L', +64149=>'L', +64150=>'L', +64151=>'L', +64152=>'L', +64153=>'L', +64154=>'L', +64155=>'L', +64156=>'L', +64157=>'L', +64158=>'L', +64159=>'L', +64160=>'L', +64161=>'L', +64162=>'L', +64163=>'L', +64164=>'L', +64165=>'L', +64166=>'L', +64167=>'L', +64168=>'L', +64169=>'L', +64170=>'L', +64171=>'L', +64172=>'L', +64173=>'L', +64174=>'L', +64175=>'L', +64176=>'L', +64177=>'L', +64178=>'L', +64179=>'L', +64180=>'L', +64181=>'L', +64182=>'L', +64183=>'L', +64184=>'L', +64185=>'L', +64186=>'L', +64187=>'L', +64188=>'L', +64189=>'L', +64190=>'L', +64191=>'L', +64192=>'L', +64193=>'L', +64194=>'L', +64195=>'L', +64196=>'L', +64197=>'L', +64198=>'L', +64199=>'L', +64200=>'L', +64201=>'L', +64202=>'L', +64203=>'L', +64204=>'L', +64205=>'L', +64206=>'L', +64207=>'L', +64208=>'L', +64209=>'L', +64210=>'L', +64211=>'L', +64212=>'L', +64213=>'L', +64214=>'L', +64215=>'L', +64216=>'L', +64217=>'L', +64256=>'L', +64257=>'L', +64258=>'L', +64259=>'L', +64260=>'L', +64261=>'L', +64262=>'L', +64275=>'L', +64276=>'L', +64277=>'L', +64278=>'L', +64279=>'L', +64285=>'R', +64286=>'NSM', +64287=>'R', +64288=>'R', +64289=>'R', +64290=>'R', +64291=>'R', +64292=>'R', +64293=>'R', +64294=>'R', +64295=>'R', +64296=>'R', +64297=>'ES', +64298=>'R', +64299=>'R', +64300=>'R', +64301=>'R', +64302=>'R', +64303=>'R', +64304=>'R', +64305=>'R', +64306=>'R', +64307=>'R', +64308=>'R', +64309=>'R', +64310=>'R', +64312=>'R', +64313=>'R', +64314=>'R', +64315=>'R', +64316=>'R', +64318=>'R', +64320=>'R', +64321=>'R', +64323=>'R', +64324=>'R', +64326=>'R', +64327=>'R', +64328=>'R', +64329=>'R', +64330=>'R', +64331=>'R', +64332=>'R', +64333=>'R', +64334=>'R', +64335=>'R', +64336=>'AL', +64337=>'AL', +64338=>'AL', +64339=>'AL', +64340=>'AL', +64341=>'AL', +64342=>'AL', +64343=>'AL', +64344=>'AL', +64345=>'AL', +64346=>'AL', +64347=>'AL', +64348=>'AL', +64349=>'AL', +64350=>'AL', +64351=>'AL', +64352=>'AL', +64353=>'AL', +64354=>'AL', +64355=>'AL', +64356=>'AL', +64357=>'AL', +64358=>'AL', +64359=>'AL', +64360=>'AL', +64361=>'AL', +64362=>'AL', +64363=>'AL', +64364=>'AL', +64365=>'AL', +64366=>'AL', +64367=>'AL', +64368=>'AL', +64369=>'AL', +64370=>'AL', +64371=>'AL', +64372=>'AL', +64373=>'AL', +64374=>'AL', +64375=>'AL', +64376=>'AL', +64377=>'AL', +64378=>'AL', +64379=>'AL', +64380=>'AL', +64381=>'AL', +64382=>'AL', +64383=>'AL', +64384=>'AL', +64385=>'AL', +64386=>'AL', +64387=>'AL', +64388=>'AL', +64389=>'AL', +64390=>'AL', +64391=>'AL', +64392=>'AL', +64393=>'AL', +64394=>'AL', +64395=>'AL', +64396=>'AL', +64397=>'AL', +64398=>'AL', +64399=>'AL', +64400=>'AL', +64401=>'AL', +64402=>'AL', +64403=>'AL', +64404=>'AL', +64405=>'AL', +64406=>'AL', +64407=>'AL', +64408=>'AL', +64409=>'AL', +64410=>'AL', +64411=>'AL', +64412=>'AL', +64413=>'AL', +64414=>'AL', +64415=>'AL', +64416=>'AL', +64417=>'AL', +64418=>'AL', +64419=>'AL', +64420=>'AL', +64421=>'AL', +64422=>'AL', +64423=>'AL', +64424=>'AL', +64425=>'AL', +64426=>'AL', +64427=>'AL', +64428=>'AL', +64429=>'AL', +64430=>'AL', +64431=>'AL', +64432=>'AL', +64433=>'AL', +64467=>'AL', +64468=>'AL', +64469=>'AL', +64470=>'AL', +64471=>'AL', +64472=>'AL', +64473=>'AL', +64474=>'AL', +64475=>'AL', +64476=>'AL', +64477=>'AL', +64478=>'AL', +64479=>'AL', +64480=>'AL', +64481=>'AL', +64482=>'AL', +64483=>'AL', +64484=>'AL', +64485=>'AL', +64486=>'AL', +64487=>'AL', +64488=>'AL', +64489=>'AL', +64490=>'AL', +64491=>'AL', +64492=>'AL', +64493=>'AL', +64494=>'AL', +64495=>'AL', +64496=>'AL', +64497=>'AL', +64498=>'AL', +64499=>'AL', +64500=>'AL', +64501=>'AL', +64502=>'AL', +64503=>'AL', +64504=>'AL', +64505=>'AL', +64506=>'AL', +64507=>'AL', +64508=>'AL', +64509=>'AL', +64510=>'AL', +64511=>'AL', +64512=>'AL', +64513=>'AL', +64514=>'AL', +64515=>'AL', +64516=>'AL', +64517=>'AL', +64518=>'AL', +64519=>'AL', +64520=>'AL', +64521=>'AL', +64522=>'AL', +64523=>'AL', +64524=>'AL', +64525=>'AL', +64526=>'AL', +64527=>'AL', +64528=>'AL', +64529=>'AL', +64530=>'AL', +64531=>'AL', +64532=>'AL', +64533=>'AL', +64534=>'AL', +64535=>'AL', +64536=>'AL', +64537=>'AL', +64538=>'AL', +64539=>'AL', +64540=>'AL', +64541=>'AL', +64542=>'AL', +64543=>'AL', +64544=>'AL', +64545=>'AL', +64546=>'AL', +64547=>'AL', +64548=>'AL', +64549=>'AL', +64550=>'AL', +64551=>'AL', +64552=>'AL', +64553=>'AL', +64554=>'AL', +64555=>'AL', +64556=>'AL', +64557=>'AL', +64558=>'AL', +64559=>'AL', +64560=>'AL', +64561=>'AL', +64562=>'AL', +64563=>'AL', +64564=>'AL', +64565=>'AL', +64566=>'AL', +64567=>'AL', +64568=>'AL', +64569=>'AL', +64570=>'AL', +64571=>'AL', +64572=>'AL', +64573=>'AL', +64574=>'AL', +64575=>'AL', +64576=>'AL', +64577=>'AL', +64578=>'AL', +64579=>'AL', +64580=>'AL', +64581=>'AL', +64582=>'AL', +64583=>'AL', +64584=>'AL', +64585=>'AL', +64586=>'AL', +64587=>'AL', +64588=>'AL', +64589=>'AL', +64590=>'AL', +64591=>'AL', +64592=>'AL', +64593=>'AL', +64594=>'AL', +64595=>'AL', +64596=>'AL', +64597=>'AL', +64598=>'AL', +64599=>'AL', +64600=>'AL', +64601=>'AL', +64602=>'AL', +64603=>'AL', +64604=>'AL', +64605=>'AL', +64606=>'AL', +64607=>'AL', +64608=>'AL', +64609=>'AL', +64610=>'AL', +64611=>'AL', +64612=>'AL', +64613=>'AL', +64614=>'AL', +64615=>'AL', +64616=>'AL', +64617=>'AL', +64618=>'AL', +64619=>'AL', +64620=>'AL', +64621=>'AL', +64622=>'AL', +64623=>'AL', +64624=>'AL', +64625=>'AL', +64626=>'AL', +64627=>'AL', +64628=>'AL', +64629=>'AL', +64630=>'AL', +64631=>'AL', +64632=>'AL', +64633=>'AL', +64634=>'AL', +64635=>'AL', +64636=>'AL', +64637=>'AL', +64638=>'AL', +64639=>'AL', +64640=>'AL', +64641=>'AL', +64642=>'AL', +64643=>'AL', +64644=>'AL', +64645=>'AL', +64646=>'AL', +64647=>'AL', +64648=>'AL', +64649=>'AL', +64650=>'AL', +64651=>'AL', +64652=>'AL', +64653=>'AL', +64654=>'AL', +64655=>'AL', +64656=>'AL', +64657=>'AL', +64658=>'AL', +64659=>'AL', +64660=>'AL', +64661=>'AL', +64662=>'AL', +64663=>'AL', +64664=>'AL', +64665=>'AL', +64666=>'AL', +64667=>'AL', +64668=>'AL', +64669=>'AL', +64670=>'AL', +64671=>'AL', +64672=>'AL', +64673=>'AL', +64674=>'AL', +64675=>'AL', +64676=>'AL', +64677=>'AL', +64678=>'AL', +64679=>'AL', +64680=>'AL', +64681=>'AL', +64682=>'AL', +64683=>'AL', +64684=>'AL', +64685=>'AL', +64686=>'AL', +64687=>'AL', +64688=>'AL', +64689=>'AL', +64690=>'AL', +64691=>'AL', +64692=>'AL', +64693=>'AL', +64694=>'AL', +64695=>'AL', +64696=>'AL', +64697=>'AL', +64698=>'AL', +64699=>'AL', +64700=>'AL', +64701=>'AL', +64702=>'AL', +64703=>'AL', +64704=>'AL', +64705=>'AL', +64706=>'AL', +64707=>'AL', +64708=>'AL', +64709=>'AL', +64710=>'AL', +64711=>'AL', +64712=>'AL', +64713=>'AL', +64714=>'AL', +64715=>'AL', +64716=>'AL', +64717=>'AL', +64718=>'AL', +64719=>'AL', +64720=>'AL', +64721=>'AL', +64722=>'AL', +64723=>'AL', +64724=>'AL', +64725=>'AL', +64726=>'AL', +64727=>'AL', +64728=>'AL', +64729=>'AL', +64730=>'AL', +64731=>'AL', +64732=>'AL', +64733=>'AL', +64734=>'AL', +64735=>'AL', +64736=>'AL', +64737=>'AL', +64738=>'AL', +64739=>'AL', +64740=>'AL', +64741=>'AL', +64742=>'AL', +64743=>'AL', +64744=>'AL', +64745=>'AL', +64746=>'AL', +64747=>'AL', +64748=>'AL', +64749=>'AL', +64750=>'AL', +64751=>'AL', +64752=>'AL', +64753=>'AL', +64754=>'AL', +64755=>'AL', +64756=>'AL', +64757=>'AL', +64758=>'AL', +64759=>'AL', +64760=>'AL', +64761=>'AL', +64762=>'AL', +64763=>'AL', +64764=>'AL', +64765=>'AL', +64766=>'AL', +64767=>'AL', +64768=>'AL', +64769=>'AL', +64770=>'AL', +64771=>'AL', +64772=>'AL', +64773=>'AL', +64774=>'AL', +64775=>'AL', +64776=>'AL', +64777=>'AL', +64778=>'AL', +64779=>'AL', +64780=>'AL', +64781=>'AL', +64782=>'AL', +64783=>'AL', +64784=>'AL', +64785=>'AL', +64786=>'AL', +64787=>'AL', +64788=>'AL', +64789=>'AL', +64790=>'AL', +64791=>'AL', +64792=>'AL', +64793=>'AL', +64794=>'AL', +64795=>'AL', +64796=>'AL', +64797=>'AL', +64798=>'AL', +64799=>'AL', +64800=>'AL', +64801=>'AL', +64802=>'AL', +64803=>'AL', +64804=>'AL', +64805=>'AL', +64806=>'AL', +64807=>'AL', +64808=>'AL', +64809=>'AL', +64810=>'AL', +64811=>'AL', +64812=>'AL', +64813=>'AL', +64814=>'AL', +64815=>'AL', +64816=>'AL', +64817=>'AL', +64818=>'AL', +64819=>'AL', +64820=>'AL', +64821=>'AL', +64822=>'AL', +64823=>'AL', +64824=>'AL', +64825=>'AL', +64826=>'AL', +64827=>'AL', +64828=>'AL', +64829=>'AL', +64830=>'ON', +64831=>'ON', +64848=>'AL', +64849=>'AL', +64850=>'AL', +64851=>'AL', +64852=>'AL', +64853=>'AL', +64854=>'AL', +64855=>'AL', +64856=>'AL', +64857=>'AL', +64858=>'AL', +64859=>'AL', +64860=>'AL', +64861=>'AL', +64862=>'AL', +64863=>'AL', +64864=>'AL', +64865=>'AL', +64866=>'AL', +64867=>'AL', +64868=>'AL', +64869=>'AL', +64870=>'AL', +64871=>'AL', +64872=>'AL', +64873=>'AL', +64874=>'AL', +64875=>'AL', +64876=>'AL', +64877=>'AL', +64878=>'AL', +64879=>'AL', +64880=>'AL', +64881=>'AL', +64882=>'AL', +64883=>'AL', +64884=>'AL', +64885=>'AL', +64886=>'AL', +64887=>'AL', +64888=>'AL', +64889=>'AL', +64890=>'AL', +64891=>'AL', +64892=>'AL', +64893=>'AL', +64894=>'AL', +64895=>'AL', +64896=>'AL', +64897=>'AL', +64898=>'AL', +64899=>'AL', +64900=>'AL', +64901=>'AL', +64902=>'AL', +64903=>'AL', +64904=>'AL', +64905=>'AL', +64906=>'AL', +64907=>'AL', +64908=>'AL', +64909=>'AL', +64910=>'AL', +64911=>'AL', +64914=>'AL', +64915=>'AL', +64916=>'AL', +64917=>'AL', +64918=>'AL', +64919=>'AL', +64920=>'AL', +64921=>'AL', +64922=>'AL', +64923=>'AL', +64924=>'AL', +64925=>'AL', +64926=>'AL', +64927=>'AL', +64928=>'AL', +64929=>'AL', +64930=>'AL', +64931=>'AL', +64932=>'AL', +64933=>'AL', +64934=>'AL', +64935=>'AL', +64936=>'AL', +64937=>'AL', +64938=>'AL', +64939=>'AL', +64940=>'AL', +64941=>'AL', +64942=>'AL', +64943=>'AL', +64944=>'AL', +64945=>'AL', +64946=>'AL', +64947=>'AL', +64948=>'AL', +64949=>'AL', +64950=>'AL', +64951=>'AL', +64952=>'AL', +64953=>'AL', +64954=>'AL', +64955=>'AL', +64956=>'AL', +64957=>'AL', +64958=>'AL', +64959=>'AL', +64960=>'AL', +64961=>'AL', +64962=>'AL', +64963=>'AL', +64964=>'AL', +64965=>'AL', +64966=>'AL', +64967=>'AL', +65008=>'AL', +65009=>'AL', +65010=>'AL', +65011=>'AL', +65012=>'AL', +65013=>'AL', +65014=>'AL', +65015=>'AL', +65016=>'AL', +65017=>'AL', +65018=>'AL', +65019=>'AL', +65020=>'AL', +65021=>'ON', +65024=>'NSM', +65025=>'NSM', +65026=>'NSM', +65027=>'NSM', +65028=>'NSM', +65029=>'NSM', +65030=>'NSM', +65031=>'NSM', +65032=>'NSM', +65033=>'NSM', +65034=>'NSM', +65035=>'NSM', +65036=>'NSM', +65037=>'NSM', +65038=>'NSM', +65039=>'NSM', +65040=>'ON', +65041=>'ON', +65042=>'ON', +65043=>'ON', +65044=>'ON', +65045=>'ON', +65046=>'ON', +65047=>'ON', +65048=>'ON', +65049=>'ON', +65056=>'NSM', +65057=>'NSM', +65058=>'NSM', +65059=>'NSM', +65072=>'ON', +65073=>'ON', +65074=>'ON', +65075=>'ON', +65076=>'ON', +65077=>'ON', +65078=>'ON', +65079=>'ON', +65080=>'ON', +65081=>'ON', +65082=>'ON', +65083=>'ON', +65084=>'ON', +65085=>'ON', +65086=>'ON', +65087=>'ON', +65088=>'ON', +65089=>'ON', +65090=>'ON', +65091=>'ON', +65092=>'ON', +65093=>'ON', +65094=>'ON', +65095=>'ON', +65096=>'ON', +65097=>'ON', +65098=>'ON', +65099=>'ON', +65100=>'ON', +65101=>'ON', +65102=>'ON', +65103=>'ON', +65104=>'CS', +65105=>'ON', +65106=>'CS', +65108=>'ON', +65109=>'CS', +65110=>'ON', +65111=>'ON', +65112=>'ON', +65113=>'ON', +65114=>'ON', +65115=>'ON', +65116=>'ON', +65117=>'ON', +65118=>'ON', +65119=>'ET', +65120=>'ON', +65121=>'ON', +65122=>'ES', +65123=>'ES', +65124=>'ON', +65125=>'ON', +65126=>'ON', +65128=>'ON', +65129=>'ET', +65130=>'ET', +65131=>'ON', +65136=>'AL', +65137=>'AL', +65138=>'AL', +65139=>'AL', +65140=>'AL', +65142=>'AL', +65143=>'AL', +65144=>'AL', +65145=>'AL', +65146=>'AL', +65147=>'AL', +65148=>'AL', +65149=>'AL', +65150=>'AL', +65151=>'AL', +65152=>'AL', +65153=>'AL', +65154=>'AL', +65155=>'AL', +65156=>'AL', +65157=>'AL', +65158=>'AL', +65159=>'AL', +65160=>'AL', +65161=>'AL', +65162=>'AL', +65163=>'AL', +65164=>'AL', +65165=>'AL', +65166=>'AL', +65167=>'AL', +65168=>'AL', +65169=>'AL', +65170=>'AL', +65171=>'AL', +65172=>'AL', +65173=>'AL', +65174=>'AL', +65175=>'AL', +65176=>'AL', +65177=>'AL', +65178=>'AL', +65179=>'AL', +65180=>'AL', +65181=>'AL', +65182=>'AL', +65183=>'AL', +65184=>'AL', +65185=>'AL', +65186=>'AL', +65187=>'AL', +65188=>'AL', +65189=>'AL', +65190=>'AL', +65191=>'AL', +65192=>'AL', +65193=>'AL', +65194=>'AL', +65195=>'AL', +65196=>'AL', +65197=>'AL', +65198=>'AL', +65199=>'AL', +65200=>'AL', +65201=>'AL', +65202=>'AL', +65203=>'AL', +65204=>'AL', +65205=>'AL', +65206=>'AL', +65207=>'AL', +65208=>'AL', +65209=>'AL', +65210=>'AL', +65211=>'AL', +65212=>'AL', +65213=>'AL', +65214=>'AL', +65215=>'AL', +65216=>'AL', +65217=>'AL', +65218=>'AL', +65219=>'AL', +65220=>'AL', +65221=>'AL', +65222=>'AL', +65223=>'AL', +65224=>'AL', +65225=>'AL', +65226=>'AL', +65227=>'AL', +65228=>'AL', +65229=>'AL', +65230=>'AL', +65231=>'AL', +65232=>'AL', +65233=>'AL', +65234=>'AL', +65235=>'AL', +65236=>'AL', +65237=>'AL', +65238=>'AL', +65239=>'AL', +65240=>'AL', +65241=>'AL', +65242=>'AL', +65243=>'AL', +65244=>'AL', +65245=>'AL', +65246=>'AL', +65247=>'AL', +65248=>'AL', +65249=>'AL', +65250=>'AL', +65251=>'AL', +65252=>'AL', +65253=>'AL', +65254=>'AL', +65255=>'AL', +65256=>'AL', +65257=>'AL', +65258=>'AL', +65259=>'AL', +65260=>'AL', +65261=>'AL', +65262=>'AL', +65263=>'AL', +65264=>'AL', +65265=>'AL', +65266=>'AL', +65267=>'AL', +65268=>'AL', +65269=>'AL', +65270=>'AL', +65271=>'AL', +65272=>'AL', +65273=>'AL', +65274=>'AL', +65275=>'AL', +65276=>'AL', +65279=>'BN', +65281=>'ON', +65282=>'ON', +65283=>'ET', +65284=>'ET', +65285=>'ET', +65286=>'ON', +65287=>'ON', +65288=>'ON', +65289=>'ON', +65290=>'ON', +65291=>'ES', +65292=>'CS', +65293=>'ES', +65294=>'CS', +65295=>'CS', +65296=>'EN', +65297=>'EN', +65298=>'EN', +65299=>'EN', +65300=>'EN', +65301=>'EN', +65302=>'EN', +65303=>'EN', +65304=>'EN', +65305=>'EN', +65306=>'CS', +65307=>'ON', +65308=>'ON', +65309=>'ON', +65310=>'ON', +65311=>'ON', +65312=>'ON', +65313=>'L', +65314=>'L', +65315=>'L', +65316=>'L', +65317=>'L', +65318=>'L', +65319=>'L', +65320=>'L', +65321=>'L', +65322=>'L', +65323=>'L', +65324=>'L', +65325=>'L', +65326=>'L', +65327=>'L', +65328=>'L', +65329=>'L', +65330=>'L', +65331=>'L', +65332=>'L', +65333=>'L', +65334=>'L', +65335=>'L', +65336=>'L', +65337=>'L', +65338=>'L', +65339=>'ON', +65340=>'ON', +65341=>'ON', +65342=>'ON', +65343=>'ON', +65344=>'ON', +65345=>'L', +65346=>'L', +65347=>'L', +65348=>'L', +65349=>'L', +65350=>'L', +65351=>'L', +65352=>'L', +65353=>'L', +65354=>'L', +65355=>'L', +65356=>'L', +65357=>'L', +65358=>'L', +65359=>'L', +65360=>'L', +65361=>'L', +65362=>'L', +65363=>'L', +65364=>'L', +65365=>'L', +65366=>'L', +65367=>'L', +65368=>'L', +65369=>'L', +65370=>'L', +65371=>'ON', +65372=>'ON', +65373=>'ON', +65374=>'ON', +65375=>'ON', +65376=>'ON', +65377=>'ON', +65378=>'ON', +65379=>'ON', +65380=>'ON', +65381=>'ON', +65382=>'L', +65383=>'L', +65384=>'L', +65385=>'L', +65386=>'L', +65387=>'L', +65388=>'L', +65389=>'L', +65390=>'L', +65391=>'L', +65392=>'L', +65393=>'L', +65394=>'L', +65395=>'L', +65396=>'L', +65397=>'L', +65398=>'L', +65399=>'L', +65400=>'L', +65401=>'L', +65402=>'L', +65403=>'L', +65404=>'L', +65405=>'L', +65406=>'L', +65407=>'L', +65408=>'L', +65409=>'L', +65410=>'L', +65411=>'L', +65412=>'L', +65413=>'L', +65414=>'L', +65415=>'L', +65416=>'L', +65417=>'L', +65418=>'L', +65419=>'L', +65420=>'L', +65421=>'L', +65422=>'L', +65423=>'L', +65424=>'L', +65425=>'L', +65426=>'L', +65427=>'L', +65428=>'L', +65429=>'L', +65430=>'L', +65431=>'L', +65432=>'L', +65433=>'L', +65434=>'L', +65435=>'L', +65436=>'L', +65437=>'L', +65438=>'L', +65439=>'L', +65440=>'L', +65441=>'L', +65442=>'L', +65443=>'L', +65444=>'L', +65445=>'L', +65446=>'L', +65447=>'L', +65448=>'L', +65449=>'L', +65450=>'L', +65451=>'L', +65452=>'L', +65453=>'L', +65454=>'L', +65455=>'L', +65456=>'L', +65457=>'L', +65458=>'L', +65459=>'L', +65460=>'L', +65461=>'L', +65462=>'L', +65463=>'L', +65464=>'L', +65465=>'L', +65466=>'L', +65467=>'L', +65468=>'L', +65469=>'L', +65470=>'L', +65474=>'L', +65475=>'L', +65476=>'L', +65477=>'L', +65478=>'L', +65479=>'L', +65482=>'L', +65483=>'L', +65484=>'L', +65485=>'L', +65486=>'L', +65487=>'L', +65490=>'L', +65491=>'L', +65492=>'L', +65493=>'L', +65494=>'L', +65495=>'L', +65498=>'L', +65499=>'L', +65500=>'L', +65504=>'ET', +65505=>'ET', +65506=>'ON', +65507=>'ON', +65508=>'ON', +65509=>'ET', +65510=>'ET', +65512=>'ON', +65513=>'ON', +65514=>'ON', +65515=>'ON', +65516=>'ON', +65517=>'ON', +65518=>'ON', +65529=>'ON', +65530=>'ON', +65531=>'ON', +65532=>'ON', +65533=>'ON', +65536=>'L', +65537=>'L', +65538=>'L', +65539=>'L', +65540=>'L', +65541=>'L', +65542=>'L', +65543=>'L', +65544=>'L', +65545=>'L', +65546=>'L', +65547=>'L', +65549=>'L', +65550=>'L', +65551=>'L', +65552=>'L', +65553=>'L', +65554=>'L', +65555=>'L', +65556=>'L', +65557=>'L', +65558=>'L', +65559=>'L', +65560=>'L', +65561=>'L', +65562=>'L', +65563=>'L', +65564=>'L', +65565=>'L', +65566=>'L', +65567=>'L', +65568=>'L', +65569=>'L', +65570=>'L', +65571=>'L', +65572=>'L', +65573=>'L', +65574=>'L', +65576=>'L', +65577=>'L', +65578=>'L', +65579=>'L', +65580=>'L', +65581=>'L', +65582=>'L', +65583=>'L', +65584=>'L', +65585=>'L', +65586=>'L', +65587=>'L', +65588=>'L', +65589=>'L', +65590=>'L', +65591=>'L', +65592=>'L', +65593=>'L', +65594=>'L', +65596=>'L', +65597=>'L', +65599=>'L', +65600=>'L', +65601=>'L', +65602=>'L', +65603=>'L', +65604=>'L', +65605=>'L', +65606=>'L', +65607=>'L', +65608=>'L', +65609=>'L', +65610=>'L', +65611=>'L', +65612=>'L', +65613=>'L', +65616=>'L', +65617=>'L', +65618=>'L', +65619=>'L', +65620=>'L', +65621=>'L', +65622=>'L', +65623=>'L', +65624=>'L', +65625=>'L', +65626=>'L', +65627=>'L', +65628=>'L', +65629=>'L', +65664=>'L', +65665=>'L', +65666=>'L', +65667=>'L', +65668=>'L', +65669=>'L', +65670=>'L', +65671=>'L', +65672=>'L', +65673=>'L', +65674=>'L', +65675=>'L', +65676=>'L', +65677=>'L', +65678=>'L', +65679=>'L', +65680=>'L', +65681=>'L', +65682=>'L', +65683=>'L', +65684=>'L', +65685=>'L', +65686=>'L', +65687=>'L', +65688=>'L', +65689=>'L', +65690=>'L', +65691=>'L', +65692=>'L', +65693=>'L', +65694=>'L', +65695=>'L', +65696=>'L', +65697=>'L', +65698=>'L', +65699=>'L', +65700=>'L', +65701=>'L', +65702=>'L', +65703=>'L', +65704=>'L', +65705=>'L', +65706=>'L', +65707=>'L', +65708=>'L', +65709=>'L', +65710=>'L', +65711=>'L', +65712=>'L', +65713=>'L', +65714=>'L', +65715=>'L', +65716=>'L', +65717=>'L', +65718=>'L', +65719=>'L', +65720=>'L', +65721=>'L', +65722=>'L', +65723=>'L', +65724=>'L', +65725=>'L', +65726=>'L', +65727=>'L', +65728=>'L', +65729=>'L', +65730=>'L', +65731=>'L', +65732=>'L', +65733=>'L', +65734=>'L', +65735=>'L', +65736=>'L', +65737=>'L', +65738=>'L', +65739=>'L', +65740=>'L', +65741=>'L', +65742=>'L', +65743=>'L', +65744=>'L', +65745=>'L', +65746=>'L', +65747=>'L', +65748=>'L', +65749=>'L', +65750=>'L', +65751=>'L', +65752=>'L', +65753=>'L', +65754=>'L', +65755=>'L', +65756=>'L', +65757=>'L', +65758=>'L', +65759=>'L', +65760=>'L', +65761=>'L', +65762=>'L', +65763=>'L', +65764=>'L', +65765=>'L', +65766=>'L', +65767=>'L', +65768=>'L', +65769=>'L', +65770=>'L', +65771=>'L', +65772=>'L', +65773=>'L', +65774=>'L', +65775=>'L', +65776=>'L', +65777=>'L', +65778=>'L', +65779=>'L', +65780=>'L', +65781=>'L', +65782=>'L', +65783=>'L', +65784=>'L', +65785=>'L', +65786=>'L', +65792=>'L', +65793=>'ON', +65794=>'L', +65799=>'L', +65800=>'L', +65801=>'L', +65802=>'L', +65803=>'L', +65804=>'L', +65805=>'L', +65806=>'L', +65807=>'L', +65808=>'L', +65809=>'L', +65810=>'L', +65811=>'L', +65812=>'L', +65813=>'L', +65814=>'L', +65815=>'L', +65816=>'L', +65817=>'L', +65818=>'L', +65819=>'L', +65820=>'L', +65821=>'L', +65822=>'L', +65823=>'L', +65824=>'L', +65825=>'L', +65826=>'L', +65827=>'L', +65828=>'L', +65829=>'L', +65830=>'L', +65831=>'L', +65832=>'L', +65833=>'L', +65834=>'L', +65835=>'L', +65836=>'L', +65837=>'L', +65838=>'L', +65839=>'L', +65840=>'L', +65841=>'L', +65842=>'L', +65843=>'L', +65847=>'L', +65848=>'L', +65849=>'L', +65850=>'L', +65851=>'L', +65852=>'L', +65853=>'L', +65854=>'L', +65855=>'L', +65856=>'ON', +65857=>'ON', +65858=>'ON', +65859=>'ON', +65860=>'ON', +65861=>'ON', +65862=>'ON', +65863=>'ON', +65864=>'ON', +65865=>'ON', +65866=>'ON', +65867=>'ON', +65868=>'ON', +65869=>'ON', +65870=>'ON', +65871=>'ON', +65872=>'ON', +65873=>'ON', +65874=>'ON', +65875=>'ON', +65876=>'ON', +65877=>'ON', +65878=>'ON', +65879=>'ON', +65880=>'ON', +65881=>'ON', +65882=>'ON', +65883=>'ON', +65884=>'ON', +65885=>'ON', +65886=>'ON', +65887=>'ON', +65888=>'ON', +65889=>'ON', +65890=>'ON', +65891=>'ON', +65892=>'ON', +65893=>'ON', +65894=>'ON', +65895=>'ON', +65896=>'ON', +65897=>'ON', +65898=>'ON', +65899=>'ON', +65900=>'ON', +65901=>'ON', +65902=>'ON', +65903=>'ON', +65904=>'ON', +65905=>'ON', +65906=>'ON', +65907=>'ON', +65908=>'ON', +65909=>'ON', +65910=>'ON', +65911=>'ON', +65912=>'ON', +65913=>'ON', +65914=>'ON', +65915=>'ON', +65916=>'ON', +65917=>'ON', +65918=>'ON', +65919=>'ON', +65920=>'ON', +65921=>'ON', +65922=>'ON', +65923=>'ON', +65924=>'ON', +65925=>'ON', +65926=>'ON', +65927=>'ON', +65928=>'ON', +65929=>'ON', +65930=>'ON', +66304=>'L', +66305=>'L', +66306=>'L', +66307=>'L', +66308=>'L', +66309=>'L', +66310=>'L', +66311=>'L', +66312=>'L', +66313=>'L', +66314=>'L', +66315=>'L', +66316=>'L', +66317=>'L', +66318=>'L', +66319=>'L', +66320=>'L', +66321=>'L', +66322=>'L', +66323=>'L', +66324=>'L', +66325=>'L', +66326=>'L', +66327=>'L', +66328=>'L', +66329=>'L', +66330=>'L', +66331=>'L', +66332=>'L', +66333=>'L', +66334=>'L', +66336=>'L', +66337=>'L', +66338=>'L', +66339=>'L', +66352=>'L', +66353=>'L', +66354=>'L', +66355=>'L', +66356=>'L', +66357=>'L', +66358=>'L', +66359=>'L', +66360=>'L', +66361=>'L', +66362=>'L', +66363=>'L', +66364=>'L', +66365=>'L', +66366=>'L', +66367=>'L', +66368=>'L', +66369=>'L', +66370=>'L', +66371=>'L', +66372=>'L', +66373=>'L', +66374=>'L', +66375=>'L', +66376=>'L', +66377=>'L', +66378=>'L', +66432=>'L', +66433=>'L', +66434=>'L', +66435=>'L', +66436=>'L', +66437=>'L', +66438=>'L', +66439=>'L', +66440=>'L', +66441=>'L', +66442=>'L', +66443=>'L', +66444=>'L', +66445=>'L', +66446=>'L', +66447=>'L', +66448=>'L', +66449=>'L', +66450=>'L', +66451=>'L', +66452=>'L', +66453=>'L', +66454=>'L', +66455=>'L', +66456=>'L', +66457=>'L', +66458=>'L', +66459=>'L', +66460=>'L', +66461=>'L', +66463=>'L', +66464=>'L', +66465=>'L', +66466=>'L', +66467=>'L', +66468=>'L', +66469=>'L', +66470=>'L', +66471=>'L', +66472=>'L', +66473=>'L', +66474=>'L', +66475=>'L', +66476=>'L', +66477=>'L', +66478=>'L', +66479=>'L', +66480=>'L', +66481=>'L', +66482=>'L', +66483=>'L', +66484=>'L', +66485=>'L', +66486=>'L', +66487=>'L', +66488=>'L', +66489=>'L', +66490=>'L', +66491=>'L', +66492=>'L', +66493=>'L', +66494=>'L', +66495=>'L', +66496=>'L', +66497=>'L', +66498=>'L', +66499=>'L', +66504=>'L', +66505=>'L', +66506=>'L', +66507=>'L', +66508=>'L', +66509=>'L', +66510=>'L', +66511=>'L', +66512=>'L', +66513=>'L', +66514=>'L', +66515=>'L', +66516=>'L', +66517=>'L', +66560=>'L', +66561=>'L', +66562=>'L', +66563=>'L', +66564=>'L', +66565=>'L', +66566=>'L', +66567=>'L', +66568=>'L', +66569=>'L', +66570=>'L', +66571=>'L', +66572=>'L', +66573=>'L', +66574=>'L', +66575=>'L', +66576=>'L', +66577=>'L', +66578=>'L', +66579=>'L', +66580=>'L', +66581=>'L', +66582=>'L', +66583=>'L', +66584=>'L', +66585=>'L', +66586=>'L', +66587=>'L', +66588=>'L', +66589=>'L', +66590=>'L', +66591=>'L', +66592=>'L', +66593=>'L', +66594=>'L', +66595=>'L', +66596=>'L', +66597=>'L', +66598=>'L', +66599=>'L', +66600=>'L', +66601=>'L', +66602=>'L', +66603=>'L', +66604=>'L', +66605=>'L', +66606=>'L', +66607=>'L', +66608=>'L', +66609=>'L', +66610=>'L', +66611=>'L', +66612=>'L', +66613=>'L', +66614=>'L', +66615=>'L', +66616=>'L', +66617=>'L', +66618=>'L', +66619=>'L', +66620=>'L', +66621=>'L', +66622=>'L', +66623=>'L', +66624=>'L', +66625=>'L', +66626=>'L', +66627=>'L', +66628=>'L', +66629=>'L', +66630=>'L', +66631=>'L', +66632=>'L', +66633=>'L', +66634=>'L', +66635=>'L', +66636=>'L', +66637=>'L', +66638=>'L', +66639=>'L', +66640=>'L', +66641=>'L', +66642=>'L', +66643=>'L', +66644=>'L', +66645=>'L', +66646=>'L', +66647=>'L', +66648=>'L', +66649=>'L', +66650=>'L', +66651=>'L', +66652=>'L', +66653=>'L', +66654=>'L', +66655=>'L', +66656=>'L', +66657=>'L', +66658=>'L', +66659=>'L', +66660=>'L', +66661=>'L', +66662=>'L', +66663=>'L', +66664=>'L', +66665=>'L', +66666=>'L', +66667=>'L', +66668=>'L', +66669=>'L', +66670=>'L', +66671=>'L', +66672=>'L', +66673=>'L', +66674=>'L', +66675=>'L', +66676=>'L', +66677=>'L', +66678=>'L', +66679=>'L', +66680=>'L', +66681=>'L', +66682=>'L', +66683=>'L', +66684=>'L', +66685=>'L', +66686=>'L', +66687=>'L', +66688=>'L', +66689=>'L', +66690=>'L', +66691=>'L', +66692=>'L', +66693=>'L', +66694=>'L', +66695=>'L', +66696=>'L', +66697=>'L', +66698=>'L', +66699=>'L', +66700=>'L', +66701=>'L', +66702=>'L', +66703=>'L', +66704=>'L', +66705=>'L', +66706=>'L', +66707=>'L', +66708=>'L', +66709=>'L', +66710=>'L', +66711=>'L', +66712=>'L', +66713=>'L', +66714=>'L', +66715=>'L', +66716=>'L', +66717=>'L', +66720=>'L', +66721=>'L', +66722=>'L', +66723=>'L', +66724=>'L', +66725=>'L', +66726=>'L', +66727=>'L', +66728=>'L', +66729=>'L', +67584=>'R', +67585=>'R', +67586=>'R', +67587=>'R', +67588=>'R', +67589=>'R', +67592=>'R', +67594=>'R', +67595=>'R', +67596=>'R', +67597=>'R', +67598=>'R', +67599=>'R', +67600=>'R', +67601=>'R', +67602=>'R', +67603=>'R', +67604=>'R', +67605=>'R', +67606=>'R', +67607=>'R', +67608=>'R', +67609=>'R', +67610=>'R', +67611=>'R', +67612=>'R', +67613=>'R', +67614=>'R', +67615=>'R', +67616=>'R', +67617=>'R', +67618=>'R', +67619=>'R', +67620=>'R', +67621=>'R', +67622=>'R', +67623=>'R', +67624=>'R', +67625=>'R', +67626=>'R', +67627=>'R', +67628=>'R', +67629=>'R', +67630=>'R', +67631=>'R', +67632=>'R', +67633=>'R', +67634=>'R', +67635=>'R', +67636=>'R', +67637=>'R', +67639=>'R', +67640=>'R', +67644=>'R', +67647=>'R', +67840=>'R', +67841=>'R', +67842=>'R', +67843=>'R', +67844=>'R', +67845=>'R', +67846=>'R', +67847=>'R', +67848=>'R', +67849=>'R', +67850=>'R', +67851=>'R', +67852=>'R', +67853=>'R', +67854=>'R', +67855=>'R', +67856=>'R', +67857=>'R', +67858=>'R', +67859=>'R', +67860=>'R', +67861=>'R', +67862=>'R', +67863=>'R', +67864=>'R', +67865=>'R', +67871=>'ON', +68096=>'R', +68097=>'NSM', +68098=>'NSM', +68099=>'NSM', +68101=>'NSM', +68102=>'NSM', +68108=>'NSM', +68109=>'NSM', +68110=>'NSM', +68111=>'NSM', +68112=>'R', +68113=>'R', +68114=>'R', +68115=>'R', +68117=>'R', +68118=>'R', +68119=>'R', +68121=>'R', +68122=>'R', +68123=>'R', +68124=>'R', +68125=>'R', +68126=>'R', +68127=>'R', +68128=>'R', +68129=>'R', +68130=>'R', +68131=>'R', +68132=>'R', +68133=>'R', +68134=>'R', +68135=>'R', +68136=>'R', +68137=>'R', +68138=>'R', +68139=>'R', +68140=>'R', +68141=>'R', +68142=>'R', +68143=>'R', +68144=>'R', +68145=>'R', +68146=>'R', +68147=>'R', +68152=>'NSM', +68153=>'NSM', +68154=>'NSM', +68159=>'NSM', +68160=>'R', +68161=>'R', +68162=>'R', +68163=>'R', +68164=>'R', +68165=>'R', +68166=>'R', +68167=>'R', +68176=>'R', +68177=>'R', +68178=>'R', +68179=>'R', +68180=>'R', +68181=>'R', +68182=>'R', +68183=>'R', +68184=>'R', +73728=>'L', +73729=>'L', +73730=>'L', +73731=>'L', +73732=>'L', +73733=>'L', +73734=>'L', +73735=>'L', +73736=>'L', +73737=>'L', +73738=>'L', +73739=>'L', +73740=>'L', +73741=>'L', +73742=>'L', +73743=>'L', +73744=>'L', +73745=>'L', +73746=>'L', +73747=>'L', +73748=>'L', +73749=>'L', +73750=>'L', +73751=>'L', +73752=>'L', +73753=>'L', +73754=>'L', +73755=>'L', +73756=>'L', +73757=>'L', +73758=>'L', +73759=>'L', +73760=>'L', +73761=>'L', +73762=>'L', +73763=>'L', +73764=>'L', +73765=>'L', +73766=>'L', +73767=>'L', +73768=>'L', +73769=>'L', +73770=>'L', +73771=>'L', +73772=>'L', +73773=>'L', +73774=>'L', +73775=>'L', +73776=>'L', +73777=>'L', +73778=>'L', +73779=>'L', +73780=>'L', +73781=>'L', +73782=>'L', +73783=>'L', +73784=>'L', +73785=>'L', +73786=>'L', +73787=>'L', +73788=>'L', +73789=>'L', +73790=>'L', +73791=>'L', +73792=>'L', +73793=>'L', +73794=>'L', +73795=>'L', +73796=>'L', +73797=>'L', +73798=>'L', +73799=>'L', +73800=>'L', +73801=>'L', +73802=>'L', +73803=>'L', +73804=>'L', +73805=>'L', +73806=>'L', +73807=>'L', +73808=>'L', +73809=>'L', +73810=>'L', +73811=>'L', +73812=>'L', +73813=>'L', +73814=>'L', +73815=>'L', +73816=>'L', +73817=>'L', +73818=>'L', +73819=>'L', +73820=>'L', +73821=>'L', +73822=>'L', +73823=>'L', +73824=>'L', +73825=>'L', +73826=>'L', +73827=>'L', +73828=>'L', +73829=>'L', +73830=>'L', +73831=>'L', +73832=>'L', +73833=>'L', +73834=>'L', +73835=>'L', +73836=>'L', +73837=>'L', +73838=>'L', +73839=>'L', +73840=>'L', +73841=>'L', +73842=>'L', +73843=>'L', +73844=>'L', +73845=>'L', +73846=>'L', +73847=>'L', +73848=>'L', +73849=>'L', +73850=>'L', +73851=>'L', +73852=>'L', +73853=>'L', +73854=>'L', +73855=>'L', +73856=>'L', +73857=>'L', +73858=>'L', +73859=>'L', +73860=>'L', +73861=>'L', +73862=>'L', +73863=>'L', +73864=>'L', +73865=>'L', +73866=>'L', +73867=>'L', +73868=>'L', +73869=>'L', +73870=>'L', +73871=>'L', +73872=>'L', +73873=>'L', +73874=>'L', +73875=>'L', +73876=>'L', +73877=>'L', +73878=>'L', +73879=>'L', +73880=>'L', +73881=>'L', +73882=>'L', +73883=>'L', +73884=>'L', +73885=>'L', +73886=>'L', +73887=>'L', +73888=>'L', +73889=>'L', +73890=>'L', +73891=>'L', +73892=>'L', +73893=>'L', +73894=>'L', +73895=>'L', +73896=>'L', +73897=>'L', +73898=>'L', +73899=>'L', +73900=>'L', +73901=>'L', +73902=>'L', +73903=>'L', +73904=>'L', +73905=>'L', +73906=>'L', +73907=>'L', +73908=>'L', +73909=>'L', +73910=>'L', +73911=>'L', +73912=>'L', +73913=>'L', +73914=>'L', +73915=>'L', +73916=>'L', +73917=>'L', +73918=>'L', +73919=>'L', +73920=>'L', +73921=>'L', +73922=>'L', +73923=>'L', +73924=>'L', +73925=>'L', +73926=>'L', +73927=>'L', +73928=>'L', +73929=>'L', +73930=>'L', +73931=>'L', +73932=>'L', +73933=>'L', +73934=>'L', +73935=>'L', +73936=>'L', +73937=>'L', +73938=>'L', +73939=>'L', +73940=>'L', +73941=>'L', +73942=>'L', +73943=>'L', +73944=>'L', +73945=>'L', +73946=>'L', +73947=>'L', +73948=>'L', +73949=>'L', +73950=>'L', +73951=>'L', +73952=>'L', +73953=>'L', +73954=>'L', +73955=>'L', +73956=>'L', +73957=>'L', +73958=>'L', +73959=>'L', +73960=>'L', +73961=>'L', +73962=>'L', +73963=>'L', +73964=>'L', +73965=>'L', +73966=>'L', +73967=>'L', +73968=>'L', +73969=>'L', +73970=>'L', +73971=>'L', +73972=>'L', +73973=>'L', +73974=>'L', +73975=>'L', +73976=>'L', +73977=>'L', +73978=>'L', +73979=>'L', +73980=>'L', +73981=>'L', +73982=>'L', +73983=>'L', +73984=>'L', +73985=>'L', +73986=>'L', +73987=>'L', +73988=>'L', +73989=>'L', +73990=>'L', +73991=>'L', +73992=>'L', +73993=>'L', +73994=>'L', +73995=>'L', +73996=>'L', +73997=>'L', +73998=>'L', +73999=>'L', +74000=>'L', +74001=>'L', +74002=>'L', +74003=>'L', +74004=>'L', +74005=>'L', +74006=>'L', +74007=>'L', +74008=>'L', +74009=>'L', +74010=>'L', +74011=>'L', +74012=>'L', +74013=>'L', +74014=>'L', +74015=>'L', +74016=>'L', +74017=>'L', +74018=>'L', +74019=>'L', +74020=>'L', +74021=>'L', +74022=>'L', +74023=>'L', +74024=>'L', +74025=>'L', +74026=>'L', +74027=>'L', +74028=>'L', +74029=>'L', +74030=>'L', +74031=>'L', +74032=>'L', +74033=>'L', +74034=>'L', +74035=>'L', +74036=>'L', +74037=>'L', +74038=>'L', +74039=>'L', +74040=>'L', +74041=>'L', +74042=>'L', +74043=>'L', +74044=>'L', +74045=>'L', +74046=>'L', +74047=>'L', +74048=>'L', +74049=>'L', +74050=>'L', +74051=>'L', +74052=>'L', +74053=>'L', +74054=>'L', +74055=>'L', +74056=>'L', +74057=>'L', +74058=>'L', +74059=>'L', +74060=>'L', +74061=>'L', +74062=>'L', +74063=>'L', +74064=>'L', +74065=>'L', +74066=>'L', +74067=>'L', +74068=>'L', +74069=>'L', +74070=>'L', +74071=>'L', +74072=>'L', +74073=>'L', +74074=>'L', +74075=>'L', +74076=>'L', +74077=>'L', +74078=>'L', +74079=>'L', +74080=>'L', +74081=>'L', +74082=>'L', +74083=>'L', +74084=>'L', +74085=>'L', +74086=>'L', +74087=>'L', +74088=>'L', +74089=>'L', +74090=>'L', +74091=>'L', +74092=>'L', +74093=>'L', +74094=>'L', +74095=>'L', +74096=>'L', +74097=>'L', +74098=>'L', +74099=>'L', +74100=>'L', +74101=>'L', +74102=>'L', +74103=>'L', +74104=>'L', +74105=>'L', +74106=>'L', +74107=>'L', +74108=>'L', +74109=>'L', +74110=>'L', +74111=>'L', +74112=>'L', +74113=>'L', +74114=>'L', +74115=>'L', +74116=>'L', +74117=>'L', +74118=>'L', +74119=>'L', +74120=>'L', +74121=>'L', +74122=>'L', +74123=>'L', +74124=>'L', +74125=>'L', +74126=>'L', +74127=>'L', +74128=>'L', +74129=>'L', +74130=>'L', +74131=>'L', +74132=>'L', +74133=>'L', +74134=>'L', +74135=>'L', +74136=>'L', +74137=>'L', +74138=>'L', +74139=>'L', +74140=>'L', +74141=>'L', +74142=>'L', +74143=>'L', +74144=>'L', +74145=>'L', +74146=>'L', +74147=>'L', +74148=>'L', +74149=>'L', +74150=>'L', +74151=>'L', +74152=>'L', +74153=>'L', +74154=>'L', +74155=>'L', +74156=>'L', +74157=>'L', +74158=>'L', +74159=>'L', +74160=>'L', +74161=>'L', +74162=>'L', +74163=>'L', +74164=>'L', +74165=>'L', +74166=>'L', +74167=>'L', +74168=>'L', +74169=>'L', +74170=>'L', +74171=>'L', +74172=>'L', +74173=>'L', +74174=>'L', +74175=>'L', +74176=>'L', +74177=>'L', +74178=>'L', +74179=>'L', +74180=>'L', +74181=>'L', +74182=>'L', +74183=>'L', +74184=>'L', +74185=>'L', +74186=>'L', +74187=>'L', +74188=>'L', +74189=>'L', +74190=>'L', +74191=>'L', +74192=>'L', +74193=>'L', +74194=>'L', +74195=>'L', +74196=>'L', +74197=>'L', +74198=>'L', +74199=>'L', +74200=>'L', +74201=>'L', +74202=>'L', +74203=>'L', +74204=>'L', +74205=>'L', +74206=>'L', +74207=>'L', +74208=>'L', +74209=>'L', +74210=>'L', +74211=>'L', +74212=>'L', +74213=>'L', +74214=>'L', +74215=>'L', +74216=>'L', +74217=>'L', +74218=>'L', +74219=>'L', +74220=>'L', +74221=>'L', +74222=>'L', +74223=>'L', +74224=>'L', +74225=>'L', +74226=>'L', +74227=>'L', +74228=>'L', +74229=>'L', +74230=>'L', +74231=>'L', +74232=>'L', +74233=>'L', +74234=>'L', +74235=>'L', +74236=>'L', +74237=>'L', +74238=>'L', +74239=>'L', +74240=>'L', +74241=>'L', +74242=>'L', +74243=>'L', +74244=>'L', +74245=>'L', +74246=>'L', +74247=>'L', +74248=>'L', +74249=>'L', +74250=>'L', +74251=>'L', +74252=>'L', +74253=>'L', +74254=>'L', +74255=>'L', +74256=>'L', +74257=>'L', +74258=>'L', +74259=>'L', +74260=>'L', +74261=>'L', +74262=>'L', +74263=>'L', +74264=>'L', +74265=>'L', +74266=>'L', +74267=>'L', +74268=>'L', +74269=>'L', +74270=>'L', +74271=>'L', +74272=>'L', +74273=>'L', +74274=>'L', +74275=>'L', +74276=>'L', +74277=>'L', +74278=>'L', +74279=>'L', +74280=>'L', +74281=>'L', +74282=>'L', +74283=>'L', +74284=>'L', +74285=>'L', +74286=>'L', +74287=>'L', +74288=>'L', +74289=>'L', +74290=>'L', +74291=>'L', +74292=>'L', +74293=>'L', +74294=>'L', +74295=>'L', +74296=>'L', +74297=>'L', +74298=>'L', +74299=>'L', +74300=>'L', +74301=>'L', +74302=>'L', +74303=>'L', +74304=>'L', +74305=>'L', +74306=>'L', +74307=>'L', +74308=>'L', +74309=>'L', +74310=>'L', +74311=>'L', +74312=>'L', +74313=>'L', +74314=>'L', +74315=>'L', +74316=>'L', +74317=>'L', +74318=>'L', +74319=>'L', +74320=>'L', +74321=>'L', +74322=>'L', +74323=>'L', +74324=>'L', +74325=>'L', +74326=>'L', +74327=>'L', +74328=>'L', +74329=>'L', +74330=>'L', +74331=>'L', +74332=>'L', +74333=>'L', +74334=>'L', +74335=>'L', +74336=>'L', +74337=>'L', +74338=>'L', +74339=>'L', +74340=>'L', +74341=>'L', +74342=>'L', +74343=>'L', +74344=>'L', +74345=>'L', +74346=>'L', +74347=>'L', +74348=>'L', +74349=>'L', +74350=>'L', +74351=>'L', +74352=>'L', +74353=>'L', +74354=>'L', +74355=>'L', +74356=>'L', +74357=>'L', +74358=>'L', +74359=>'L', +74360=>'L', +74361=>'L', +74362=>'L', +74363=>'L', +74364=>'L', +74365=>'L', +74366=>'L', +74367=>'L', +74368=>'L', +74369=>'L', +74370=>'L', +74371=>'L', +74372=>'L', +74373=>'L', +74374=>'L', +74375=>'L', +74376=>'L', +74377=>'L', +74378=>'L', +74379=>'L', +74380=>'L', +74381=>'L', +74382=>'L', +74383=>'L', +74384=>'L', +74385=>'L', +74386=>'L', +74387=>'L', +74388=>'L', +74389=>'L', +74390=>'L', +74391=>'L', +74392=>'L', +74393=>'L', +74394=>'L', +74395=>'L', +74396=>'L', +74397=>'L', +74398=>'L', +74399=>'L', +74400=>'L', +74401=>'L', +74402=>'L', +74403=>'L', +74404=>'L', +74405=>'L', +74406=>'L', +74407=>'L', +74408=>'L', +74409=>'L', +74410=>'L', +74411=>'L', +74412=>'L', +74413=>'L', +74414=>'L', +74415=>'L', +74416=>'L', +74417=>'L', +74418=>'L', +74419=>'L', +74420=>'L', +74421=>'L', +74422=>'L', +74423=>'L', +74424=>'L', +74425=>'L', +74426=>'L', +74427=>'L', +74428=>'L', +74429=>'L', +74430=>'L', +74431=>'L', +74432=>'L', +74433=>'L', +74434=>'L', +74435=>'L', +74436=>'L', +74437=>'L', +74438=>'L', +74439=>'L', +74440=>'L', +74441=>'L', +74442=>'L', +74443=>'L', +74444=>'L', +74445=>'L', +74446=>'L', +74447=>'L', +74448=>'L', +74449=>'L', +74450=>'L', +74451=>'L', +74452=>'L', +74453=>'L', +74454=>'L', +74455=>'L', +74456=>'L', +74457=>'L', +74458=>'L', +74459=>'L', +74460=>'L', +74461=>'L', +74462=>'L', +74463=>'L', +74464=>'L', +74465=>'L', +74466=>'L', +74467=>'L', +74468=>'L', +74469=>'L', +74470=>'L', +74471=>'L', +74472=>'L', +74473=>'L', +74474=>'L', +74475=>'L', +74476=>'L', +74477=>'L', +74478=>'L', +74479=>'L', +74480=>'L', +74481=>'L', +74482=>'L', +74483=>'L', +74484=>'L', +74485=>'L', +74486=>'L', +74487=>'L', +74488=>'L', +74489=>'L', +74490=>'L', +74491=>'L', +74492=>'L', +74493=>'L', +74494=>'L', +74495=>'L', +74496=>'L', +74497=>'L', +74498=>'L', +74499=>'L', +74500=>'L', +74501=>'L', +74502=>'L', +74503=>'L', +74504=>'L', +74505=>'L', +74506=>'L', +74507=>'L', +74508=>'L', +74509=>'L', +74510=>'L', +74511=>'L', +74512=>'L', +74513=>'L', +74514=>'L', +74515=>'L', +74516=>'L', +74517=>'L', +74518=>'L', +74519=>'L', +74520=>'L', +74521=>'L', +74522=>'L', +74523=>'L', +74524=>'L', +74525=>'L', +74526=>'L', +74527=>'L', +74528=>'L', +74529=>'L', +74530=>'L', +74531=>'L', +74532=>'L', +74533=>'L', +74534=>'L', +74535=>'L', +74536=>'L', +74537=>'L', +74538=>'L', +74539=>'L', +74540=>'L', +74541=>'L', +74542=>'L', +74543=>'L', +74544=>'L', +74545=>'L', +74546=>'L', +74547=>'L', +74548=>'L', +74549=>'L', +74550=>'L', +74551=>'L', +74552=>'L', +74553=>'L', +74554=>'L', +74555=>'L', +74556=>'L', +74557=>'L', +74558=>'L', +74559=>'L', +74560=>'L', +74561=>'L', +74562=>'L', +74563=>'L', +74564=>'L', +74565=>'L', +74566=>'L', +74567=>'L', +74568=>'L', +74569=>'L', +74570=>'L', +74571=>'L', +74572=>'L', +74573=>'L', +74574=>'L', +74575=>'L', +74576=>'L', +74577=>'L', +74578=>'L', +74579=>'L', +74580=>'L', +74581=>'L', +74582=>'L', +74583=>'L', +74584=>'L', +74585=>'L', +74586=>'L', +74587=>'L', +74588=>'L', +74589=>'L', +74590=>'L', +74591=>'L', +74592=>'L', +74593=>'L', +74594=>'L', +74595=>'L', +74596=>'L', +74597=>'L', +74598=>'L', +74599=>'L', +74600=>'L', +74601=>'L', +74602=>'L', +74603=>'L', +74604=>'L', +74605=>'L', +74606=>'L', +74752=>'L', +74753=>'L', +74754=>'L', +74755=>'L', +74756=>'L', +74757=>'L', +74758=>'L', +74759=>'L', +74760=>'L', +74761=>'L', +74762=>'L', +74763=>'L', +74764=>'L', +74765=>'L', +74766=>'L', +74767=>'L', +74768=>'L', +74769=>'L', +74770=>'L', +74771=>'L', +74772=>'L', +74773=>'L', +74774=>'L', +74775=>'L', +74776=>'L', +74777=>'L', +74778=>'L', +74779=>'L', +74780=>'L', +74781=>'L', +74782=>'L', +74783=>'L', +74784=>'L', +74785=>'L', +74786=>'L', +74787=>'L', +74788=>'L', +74789=>'L', +74790=>'L', +74791=>'L', +74792=>'L', +74793=>'L', +74794=>'L', +74795=>'L', +74796=>'L', +74797=>'L', +74798=>'L', +74799=>'L', +74800=>'L', +74801=>'L', +74802=>'L', +74803=>'L', +74804=>'L', +74805=>'L', +74806=>'L', +74807=>'L', +74808=>'L', +74809=>'L', +74810=>'L', +74811=>'L', +74812=>'L', +74813=>'L', +74814=>'L', +74815=>'L', +74816=>'L', +74817=>'L', +74818=>'L', +74819=>'L', +74820=>'L', +74821=>'L', +74822=>'L', +74823=>'L', +74824=>'L', +74825=>'L', +74826=>'L', +74827=>'L', +74828=>'L', +74829=>'L', +74830=>'L', +74831=>'L', +74832=>'L', +74833=>'L', +74834=>'L', +74835=>'L', +74836=>'L', +74837=>'L', +74838=>'L', +74839=>'L', +74840=>'L', +74841=>'L', +74842=>'L', +74843=>'L', +74844=>'L', +74845=>'L', +74846=>'L', +74847=>'L', +74848=>'L', +74849=>'L', +74850=>'L', +74864=>'L', +74865=>'L', +74866=>'L', +74867=>'L', +118784=>'L', +118785=>'L', +118786=>'L', +118787=>'L', +118788=>'L', +118789=>'L', +118790=>'L', +118791=>'L', +118792=>'L', +118793=>'L', +118794=>'L', +118795=>'L', +118796=>'L', +118797=>'L', +118798=>'L', +118799=>'L', +118800=>'L', +118801=>'L', +118802=>'L', +118803=>'L', +118804=>'L', +118805=>'L', +118806=>'L', +118807=>'L', +118808=>'L', +118809=>'L', +118810=>'L', +118811=>'L', +118812=>'L', +118813=>'L', +118814=>'L', +118815=>'L', +118816=>'L', +118817=>'L', +118818=>'L', +118819=>'L', +118820=>'L', +118821=>'L', +118822=>'L', +118823=>'L', +118824=>'L', +118825=>'L', +118826=>'L', +118827=>'L', +118828=>'L', +118829=>'L', +118830=>'L', +118831=>'L', +118832=>'L', +118833=>'L', +118834=>'L', +118835=>'L', +118836=>'L', +118837=>'L', +118838=>'L', +118839=>'L', +118840=>'L', +118841=>'L', +118842=>'L', +118843=>'L', +118844=>'L', +118845=>'L', +118846=>'L', +118847=>'L', +118848=>'L', +118849=>'L', +118850=>'L', +118851=>'L', +118852=>'L', +118853=>'L', +118854=>'L', +118855=>'L', +118856=>'L', +118857=>'L', +118858=>'L', +118859=>'L', +118860=>'L', +118861=>'L', +118862=>'L', +118863=>'L', +118864=>'L', +118865=>'L', +118866=>'L', +118867=>'L', +118868=>'L', +118869=>'L', +118870=>'L', +118871=>'L', +118872=>'L', +118873=>'L', +118874=>'L', +118875=>'L', +118876=>'L', +118877=>'L', +118878=>'L', +118879=>'L', +118880=>'L', +118881=>'L', +118882=>'L', +118883=>'L', +118884=>'L', +118885=>'L', +118886=>'L', +118887=>'L', +118888=>'L', +118889=>'L', +118890=>'L', +118891=>'L', +118892=>'L', +118893=>'L', +118894=>'L', +118895=>'L', +118896=>'L', +118897=>'L', +118898=>'L', +118899=>'L', +118900=>'L', +118901=>'L', +118902=>'L', +118903=>'L', +118904=>'L', +118905=>'L', +118906=>'L', +118907=>'L', +118908=>'L', +118909=>'L', +118910=>'L', +118911=>'L', +118912=>'L', +118913=>'L', +118914=>'L', +118915=>'L', +118916=>'L', +118917=>'L', +118918=>'L', +118919=>'L', +118920=>'L', +118921=>'L', +118922=>'L', +118923=>'L', +118924=>'L', +118925=>'L', +118926=>'L', +118927=>'L', +118928=>'L', +118929=>'L', +118930=>'L', +118931=>'L', +118932=>'L', +118933=>'L', +118934=>'L', +118935=>'L', +118936=>'L', +118937=>'L', +118938=>'L', +118939=>'L', +118940=>'L', +118941=>'L', +118942=>'L', +118943=>'L', +118944=>'L', +118945=>'L', +118946=>'L', +118947=>'L', +118948=>'L', +118949=>'L', +118950=>'L', +118951=>'L', +118952=>'L', +118953=>'L', +118954=>'L', +118955=>'L', +118956=>'L', +118957=>'L', +118958=>'L', +118959=>'L', +118960=>'L', +118961=>'L', +118962=>'L', +118963=>'L', +118964=>'L', +118965=>'L', +118966=>'L', +118967=>'L', +118968=>'L', +118969=>'L', +118970=>'L', +118971=>'L', +118972=>'L', +118973=>'L', +118974=>'L', +118975=>'L', +118976=>'L', +118977=>'L', +118978=>'L', +118979=>'L', +118980=>'L', +118981=>'L', +118982=>'L', +118983=>'L', +118984=>'L', +118985=>'L', +118986=>'L', +118987=>'L', +118988=>'L', +118989=>'L', +118990=>'L', +118991=>'L', +118992=>'L', +118993=>'L', +118994=>'L', +118995=>'L', +118996=>'L', +118997=>'L', +118998=>'L', +118999=>'L', +119000=>'L', +119001=>'L', +119002=>'L', +119003=>'L', +119004=>'L', +119005=>'L', +119006=>'L', +119007=>'L', +119008=>'L', +119009=>'L', +119010=>'L', +119011=>'L', +119012=>'L', +119013=>'L', +119014=>'L', +119015=>'L', +119016=>'L', +119017=>'L', +119018=>'L', +119019=>'L', +119020=>'L', +119021=>'L', +119022=>'L', +119023=>'L', +119024=>'L', +119025=>'L', +119026=>'L', +119027=>'L', +119028=>'L', +119029=>'L', +119040=>'L', +119041=>'L', +119042=>'L', +119043=>'L', +119044=>'L', +119045=>'L', +119046=>'L', +119047=>'L', +119048=>'L', +119049=>'L', +119050=>'L', +119051=>'L', +119052=>'L', +119053=>'L', +119054=>'L', +119055=>'L', +119056=>'L', +119057=>'L', +119058=>'L', +119059=>'L', +119060=>'L', +119061=>'L', +119062=>'L', +119063=>'L', +119064=>'L', +119065=>'L', +119066=>'L', +119067=>'L', +119068=>'L', +119069=>'L', +119070=>'L', +119071=>'L', +119072=>'L', +119073=>'L', +119074=>'L', +119075=>'L', +119076=>'L', +119077=>'L', +119078=>'L', +119082=>'L', +119083=>'L', +119084=>'L', +119085=>'L', +119086=>'L', +119087=>'L', +119088=>'L', +119089=>'L', +119090=>'L', +119091=>'L', +119092=>'L', +119093=>'L', +119094=>'L', +119095=>'L', +119096=>'L', +119097=>'L', +119098=>'L', +119099=>'L', +119100=>'L', +119101=>'L', +119102=>'L', +119103=>'L', +119104=>'L', +119105=>'L', +119106=>'L', +119107=>'L', +119108=>'L', +119109=>'L', +119110=>'L', +119111=>'L', +119112=>'L', +119113=>'L', +119114=>'L', +119115=>'L', +119116=>'L', +119117=>'L', +119118=>'L', +119119=>'L', +119120=>'L', +119121=>'L', +119122=>'L', +119123=>'L', +119124=>'L', +119125=>'L', +119126=>'L', +119127=>'L', +119128=>'L', +119129=>'L', +119130=>'L', +119131=>'L', +119132=>'L', +119133=>'L', +119134=>'L', +119135=>'L', +119136=>'L', +119137=>'L', +119138=>'L', +119139=>'L', +119140=>'L', +119141=>'L', +119142=>'L', +119143=>'NSM', +119144=>'NSM', +119145=>'NSM', +119146=>'L', +119147=>'L', +119148=>'L', +119149=>'L', +119150=>'L', +119151=>'L', +119152=>'L', +119153=>'L', +119154=>'L', +119155=>'BN', +119156=>'BN', +119157=>'BN', +119158=>'BN', +119159=>'BN', +119160=>'BN', +119161=>'BN', +119162=>'BN', +119163=>'NSM', +119164=>'NSM', +119165=>'NSM', +119166=>'NSM', +119167=>'NSM', +119168=>'NSM', +119169=>'NSM', +119170=>'NSM', +119171=>'L', +119172=>'L', +119173=>'NSM', +119174=>'NSM', +119175=>'NSM', +119176=>'NSM', +119177=>'NSM', +119178=>'NSM', +119179=>'NSM', +119180=>'L', +119181=>'L', +119182=>'L', +119183=>'L', +119184=>'L', +119185=>'L', +119186=>'L', +119187=>'L', +119188=>'L', +119189=>'L', +119190=>'L', +119191=>'L', +119192=>'L', +119193=>'L', +119194=>'L', +119195=>'L', +119196=>'L', +119197=>'L', +119198=>'L', +119199=>'L', +119200=>'L', +119201=>'L', +119202=>'L', +119203=>'L', +119204=>'L', +119205=>'L', +119206=>'L', +119207=>'L', +119208=>'L', +119209=>'L', +119210=>'NSM', +119211=>'NSM', +119212=>'NSM', +119213=>'NSM', +119214=>'L', +119215=>'L', +119216=>'L', +119217=>'L', +119218=>'L', +119219=>'L', +119220=>'L', +119221=>'L', +119222=>'L', +119223=>'L', +119224=>'L', +119225=>'L', +119226=>'L', +119227=>'L', +119228=>'L', +119229=>'L', +119230=>'L', +119231=>'L', +119232=>'L', +119233=>'L', +119234=>'L', +119235=>'L', +119236=>'L', +119237=>'L', +119238=>'L', +119239=>'L', +119240=>'L', +119241=>'L', +119242=>'L', +119243=>'L', +119244=>'L', +119245=>'L', +119246=>'L', +119247=>'L', +119248=>'L', +119249=>'L', +119250=>'L', +119251=>'L', +119252=>'L', +119253=>'L', +119254=>'L', +119255=>'L', +119256=>'L', +119257=>'L', +119258=>'L', +119259=>'L', +119260=>'L', +119261=>'L', +119296=>'ON', +119297=>'ON', +119298=>'ON', +119299=>'ON', +119300=>'ON', +119301=>'ON', +119302=>'ON', +119303=>'ON', +119304=>'ON', +119305=>'ON', +119306=>'ON', +119307=>'ON', +119308=>'ON', +119309=>'ON', +119310=>'ON', +119311=>'ON', +119312=>'ON', +119313=>'ON', +119314=>'ON', +119315=>'ON', +119316=>'ON', +119317=>'ON', +119318=>'ON', +119319=>'ON', +119320=>'ON', +119321=>'ON', +119322=>'ON', +119323=>'ON', +119324=>'ON', +119325=>'ON', +119326=>'ON', +119327=>'ON', +119328=>'ON', +119329=>'ON', +119330=>'ON', +119331=>'ON', +119332=>'ON', +119333=>'ON', +119334=>'ON', +119335=>'ON', +119336=>'ON', +119337=>'ON', +119338=>'ON', +119339=>'ON', +119340=>'ON', +119341=>'ON', +119342=>'ON', +119343=>'ON', +119344=>'ON', +119345=>'ON', +119346=>'ON', +119347=>'ON', +119348=>'ON', +119349=>'ON', +119350=>'ON', +119351=>'ON', +119352=>'ON', +119353=>'ON', +119354=>'ON', +119355=>'ON', +119356=>'ON', +119357=>'ON', +119358=>'ON', +119359=>'ON', +119360=>'ON', +119361=>'ON', +119362=>'NSM', +119363=>'NSM', +119364=>'NSM', +119365=>'ON', +119552=>'ON', +119553=>'ON', +119554=>'ON', +119555=>'ON', +119556=>'ON', +119557=>'ON', +119558=>'ON', +119559=>'ON', +119560=>'ON', +119561=>'ON', +119562=>'ON', +119563=>'ON', +119564=>'ON', +119565=>'ON', +119566=>'ON', +119567=>'ON', +119568=>'ON', +119569=>'ON', +119570=>'ON', +119571=>'ON', +119572=>'ON', +119573=>'ON', +119574=>'ON', +119575=>'ON', +119576=>'ON', +119577=>'ON', +119578=>'ON', +119579=>'ON', +119580=>'ON', +119581=>'ON', +119582=>'ON', +119583=>'ON', +119584=>'ON', +119585=>'ON', +119586=>'ON', +119587=>'ON', +119588=>'ON', +119589=>'ON', +119590=>'ON', +119591=>'ON', +119592=>'ON', +119593=>'ON', +119594=>'ON', +119595=>'ON', +119596=>'ON', +119597=>'ON', +119598=>'ON', +119599=>'ON', +119600=>'ON', +119601=>'ON', +119602=>'ON', +119603=>'ON', +119604=>'ON', +119605=>'ON', +119606=>'ON', +119607=>'ON', +119608=>'ON', +119609=>'ON', +119610=>'ON', +119611=>'ON', +119612=>'ON', +119613=>'ON', +119614=>'ON', +119615=>'ON', +119616=>'ON', +119617=>'ON', +119618=>'ON', +119619=>'ON', +119620=>'ON', +119621=>'ON', +119622=>'ON', +119623=>'ON', +119624=>'ON', +119625=>'ON', +119626=>'ON', +119627=>'ON', +119628=>'ON', +119629=>'ON', +119630=>'ON', +119631=>'ON', +119632=>'ON', +119633=>'ON', +119634=>'ON', +119635=>'ON', +119636=>'ON', +119637=>'ON', +119638=>'ON', +119648=>'L', +119649=>'L', +119650=>'L', +119651=>'L', +119652=>'L', +119653=>'L', +119654=>'L', +119655=>'L', +119656=>'L', +119657=>'L', +119658=>'L', +119659=>'L', +119660=>'L', +119661=>'L', +119662=>'L', +119663=>'L', +119664=>'L', +119665=>'L', +119808=>'L', +119809=>'L', +119810=>'L', +119811=>'L', +119812=>'L', +119813=>'L', +119814=>'L', +119815=>'L', +119816=>'L', +119817=>'L', +119818=>'L', +119819=>'L', +119820=>'L', +119821=>'L', +119822=>'L', +119823=>'L', +119824=>'L', +119825=>'L', +119826=>'L', +119827=>'L', +119828=>'L', +119829=>'L', +119830=>'L', +119831=>'L', +119832=>'L', +119833=>'L', +119834=>'L', +119835=>'L', +119836=>'L', +119837=>'L', +119838=>'L', +119839=>'L', +119840=>'L', +119841=>'L', +119842=>'L', +119843=>'L', +119844=>'L', +119845=>'L', +119846=>'L', +119847=>'L', +119848=>'L', +119849=>'L', +119850=>'L', +119851=>'L', +119852=>'L', +119853=>'L', +119854=>'L', +119855=>'L', +119856=>'L', +119857=>'L', +119858=>'L', +119859=>'L', +119860=>'L', +119861=>'L', +119862=>'L', +119863=>'L', +119864=>'L', +119865=>'L', +119866=>'L', +119867=>'L', +119868=>'L', +119869=>'L', +119870=>'L', +119871=>'L', +119872=>'L', +119873=>'L', +119874=>'L', +119875=>'L', +119876=>'L', +119877=>'L', +119878=>'L', +119879=>'L', +119880=>'L', +119881=>'L', +119882=>'L', +119883=>'L', +119884=>'L', +119885=>'L', +119886=>'L', +119887=>'L', +119888=>'L', +119889=>'L', +119890=>'L', +119891=>'L', +119892=>'L', +119894=>'L', +119895=>'L', +119896=>'L', +119897=>'L', +119898=>'L', +119899=>'L', +119900=>'L', +119901=>'L', +119902=>'L', +119903=>'L', +119904=>'L', +119905=>'L', +119906=>'L', +119907=>'L', +119908=>'L', +119909=>'L', +119910=>'L', +119911=>'L', +119912=>'L', +119913=>'L', +119914=>'L', +119915=>'L', +119916=>'L', +119917=>'L', +119918=>'L', +119919=>'L', +119920=>'L', +119921=>'L', +119922=>'L', +119923=>'L', +119924=>'L', +119925=>'L', +119926=>'L', +119927=>'L', +119928=>'L', +119929=>'L', +119930=>'L', +119931=>'L', +119932=>'L', +119933=>'L', +119934=>'L', +119935=>'L', +119936=>'L', +119937=>'L', +119938=>'L', +119939=>'L', +119940=>'L', +119941=>'L', +119942=>'L', +119943=>'L', +119944=>'L', +119945=>'L', +119946=>'L', +119947=>'L', +119948=>'L', +119949=>'L', +119950=>'L', +119951=>'L', +119952=>'L', +119953=>'L', +119954=>'L', +119955=>'L', +119956=>'L', +119957=>'L', +119958=>'L', +119959=>'L', +119960=>'L', +119961=>'L', +119962=>'L', +119963=>'L', +119964=>'L', +119966=>'L', +119967=>'L', +119970=>'L', +119973=>'L', +119974=>'L', +119977=>'L', +119978=>'L', +119979=>'L', +119980=>'L', +119982=>'L', +119983=>'L', +119984=>'L', +119985=>'L', +119986=>'L', +119987=>'L', +119988=>'L', +119989=>'L', +119990=>'L', +119991=>'L', +119992=>'L', +119993=>'L', +119995=>'L', +119997=>'L', +119998=>'L', +119999=>'L', +120000=>'L', +120001=>'L', +120002=>'L', +120003=>'L', +120005=>'L', +120006=>'L', +120007=>'L', +120008=>'L', +120009=>'L', +120010=>'L', +120011=>'L', +120012=>'L', +120013=>'L', +120014=>'L', +120015=>'L', +120016=>'L', +120017=>'L', +120018=>'L', +120019=>'L', +120020=>'L', +120021=>'L', +120022=>'L', +120023=>'L', +120024=>'L', +120025=>'L', +120026=>'L', +120027=>'L', +120028=>'L', +120029=>'L', +120030=>'L', +120031=>'L', +120032=>'L', +120033=>'L', +120034=>'L', +120035=>'L', +120036=>'L', +120037=>'L', +120038=>'L', +120039=>'L', +120040=>'L', +120041=>'L', +120042=>'L', +120043=>'L', +120044=>'L', +120045=>'L', +120046=>'L', +120047=>'L', +120048=>'L', +120049=>'L', +120050=>'L', +120051=>'L', +120052=>'L', +120053=>'L', +120054=>'L', +120055=>'L', +120056=>'L', +120057=>'L', +120058=>'L', +120059=>'L', +120060=>'L', +120061=>'L', +120062=>'L', +120063=>'L', +120064=>'L', +120065=>'L', +120066=>'L', +120067=>'L', +120068=>'L', +120069=>'L', +120071=>'L', +120072=>'L', +120073=>'L', +120074=>'L', +120077=>'L', +120078=>'L', +120079=>'L', +120080=>'L', +120081=>'L', +120082=>'L', +120083=>'L', +120084=>'L', +120086=>'L', +120087=>'L', +120088=>'L', +120089=>'L', +120090=>'L', +120091=>'L', +120092=>'L', +120094=>'L', +120095=>'L', +120096=>'L', +120097=>'L', +120098=>'L', +120099=>'L', +120100=>'L', +120101=>'L', +120102=>'L', +120103=>'L', +120104=>'L', +120105=>'L', +120106=>'L', +120107=>'L', +120108=>'L', +120109=>'L', +120110=>'L', +120111=>'L', +120112=>'L', +120113=>'L', +120114=>'L', +120115=>'L', +120116=>'L', +120117=>'L', +120118=>'L', +120119=>'L', +120120=>'L', +120121=>'L', +120123=>'L', +120124=>'L', +120125=>'L', +120126=>'L', +120128=>'L', +120129=>'L', +120130=>'L', +120131=>'L', +120132=>'L', +120134=>'L', +120138=>'L', +120139=>'L', +120140=>'L', +120141=>'L', +120142=>'L', +120143=>'L', +120144=>'L', +120146=>'L', +120147=>'L', +120148=>'L', +120149=>'L', +120150=>'L', +120151=>'L', +120152=>'L', +120153=>'L', +120154=>'L', +120155=>'L', +120156=>'L', +120157=>'L', +120158=>'L', +120159=>'L', +120160=>'L', +120161=>'L', +120162=>'L', +120163=>'L', +120164=>'L', +120165=>'L', +120166=>'L', +120167=>'L', +120168=>'L', +120169=>'L', +120170=>'L', +120171=>'L', +120172=>'L', +120173=>'L', +120174=>'L', +120175=>'L', +120176=>'L', +120177=>'L', +120178=>'L', +120179=>'L', +120180=>'L', +120181=>'L', +120182=>'L', +120183=>'L', +120184=>'L', +120185=>'L', +120186=>'L', +120187=>'L', +120188=>'L', +120189=>'L', +120190=>'L', +120191=>'L', +120192=>'L', +120193=>'L', +120194=>'L', +120195=>'L', +120196=>'L', +120197=>'L', +120198=>'L', +120199=>'L', +120200=>'L', +120201=>'L', +120202=>'L', +120203=>'L', +120204=>'L', +120205=>'L', +120206=>'L', +120207=>'L', +120208=>'L', +120209=>'L', +120210=>'L', +120211=>'L', +120212=>'L', +120213=>'L', +120214=>'L', +120215=>'L', +120216=>'L', +120217=>'L', +120218=>'L', +120219=>'L', +120220=>'L', +120221=>'L', +120222=>'L', +120223=>'L', +120224=>'L', +120225=>'L', +120226=>'L', +120227=>'L', +120228=>'L', +120229=>'L', +120230=>'L', +120231=>'L', +120232=>'L', +120233=>'L', +120234=>'L', +120235=>'L', +120236=>'L', +120237=>'L', +120238=>'L', +120239=>'L', +120240=>'L', +120241=>'L', +120242=>'L', +120243=>'L', +120244=>'L', +120245=>'L', +120246=>'L', +120247=>'L', +120248=>'L', +120249=>'L', +120250=>'L', +120251=>'L', +120252=>'L', +120253=>'L', +120254=>'L', +120255=>'L', +120256=>'L', +120257=>'L', +120258=>'L', +120259=>'L', +120260=>'L', +120261=>'L', +120262=>'L', +120263=>'L', +120264=>'L', +120265=>'L', +120266=>'L', +120267=>'L', +120268=>'L', +120269=>'L', +120270=>'L', +120271=>'L', +120272=>'L', +120273=>'L', +120274=>'L', +120275=>'L', +120276=>'L', +120277=>'L', +120278=>'L', +120279=>'L', +120280=>'L', +120281=>'L', +120282=>'L', +120283=>'L', +120284=>'L', +120285=>'L', +120286=>'L', +120287=>'L', +120288=>'L', +120289=>'L', +120290=>'L', +120291=>'L', +120292=>'L', +120293=>'L', +120294=>'L', +120295=>'L', +120296=>'L', +120297=>'L', +120298=>'L', +120299=>'L', +120300=>'L', +120301=>'L', +120302=>'L', +120303=>'L', +120304=>'L', +120305=>'L', +120306=>'L', +120307=>'L', +120308=>'L', +120309=>'L', +120310=>'L', +120311=>'L', +120312=>'L', +120313=>'L', +120314=>'L', +120315=>'L', +120316=>'L', +120317=>'L', +120318=>'L', +120319=>'L', +120320=>'L', +120321=>'L', +120322=>'L', +120323=>'L', +120324=>'L', +120325=>'L', +120326=>'L', +120327=>'L', +120328=>'L', +120329=>'L', +120330=>'L', +120331=>'L', +120332=>'L', +120333=>'L', +120334=>'L', +120335=>'L', +120336=>'L', +120337=>'L', +120338=>'L', +120339=>'L', +120340=>'L', +120341=>'L', +120342=>'L', +120343=>'L', +120344=>'L', +120345=>'L', +120346=>'L', +120347=>'L', +120348=>'L', +120349=>'L', +120350=>'L', +120351=>'L', +120352=>'L', +120353=>'L', +120354=>'L', +120355=>'L', +120356=>'L', +120357=>'L', +120358=>'L', +120359=>'L', +120360=>'L', +120361=>'L', +120362=>'L', +120363=>'L', +120364=>'L', +120365=>'L', +120366=>'L', +120367=>'L', +120368=>'L', +120369=>'L', +120370=>'L', +120371=>'L', +120372=>'L', +120373=>'L', +120374=>'L', +120375=>'L', +120376=>'L', +120377=>'L', +120378=>'L', +120379=>'L', +120380=>'L', +120381=>'L', +120382=>'L', +120383=>'L', +120384=>'L', +120385=>'L', +120386=>'L', +120387=>'L', +120388=>'L', +120389=>'L', +120390=>'L', +120391=>'L', +120392=>'L', +120393=>'L', +120394=>'L', +120395=>'L', +120396=>'L', +120397=>'L', +120398=>'L', +120399=>'L', +120400=>'L', +120401=>'L', +120402=>'L', +120403=>'L', +120404=>'L', +120405=>'L', +120406=>'L', +120407=>'L', +120408=>'L', +120409=>'L', +120410=>'L', +120411=>'L', +120412=>'L', +120413=>'L', +120414=>'L', +120415=>'L', +120416=>'L', +120417=>'L', +120418=>'L', +120419=>'L', +120420=>'L', +120421=>'L', +120422=>'L', +120423=>'L', +120424=>'L', +120425=>'L', +120426=>'L', +120427=>'L', +120428=>'L', +120429=>'L', +120430=>'L', +120431=>'L', +120432=>'L', +120433=>'L', +120434=>'L', +120435=>'L', +120436=>'L', +120437=>'L', +120438=>'L', +120439=>'L', +120440=>'L', +120441=>'L', +120442=>'L', +120443=>'L', +120444=>'L', +120445=>'L', +120446=>'L', +120447=>'L', +120448=>'L', +120449=>'L', +120450=>'L', +120451=>'L', +120452=>'L', +120453=>'L', +120454=>'L', +120455=>'L', +120456=>'L', +120457=>'L', +120458=>'L', +120459=>'L', +120460=>'L', +120461=>'L', +120462=>'L', +120463=>'L', +120464=>'L', +120465=>'L', +120466=>'L', +120467=>'L', +120468=>'L', +120469=>'L', +120470=>'L', +120471=>'L', +120472=>'L', +120473=>'L', +120474=>'L', +120475=>'L', +120476=>'L', +120477=>'L', +120478=>'L', +120479=>'L', +120480=>'L', +120481=>'L', +120482=>'L', +120483=>'L', +120484=>'L', +120485=>'L', +120488=>'L', +120489=>'L', +120490=>'L', +120491=>'L', +120492=>'L', +120493=>'L', +120494=>'L', +120495=>'L', +120496=>'L', +120497=>'L', +120498=>'L', +120499=>'L', +120500=>'L', +120501=>'L', +120502=>'L', +120503=>'L', +120504=>'L', +120505=>'L', +120506=>'L', +120507=>'L', +120508=>'L', +120509=>'L', +120510=>'L', +120511=>'L', +120512=>'L', +120513=>'L', +120514=>'L', +120515=>'L', +120516=>'L', +120517=>'L', +120518=>'L', +120519=>'L', +120520=>'L', +120521=>'L', +120522=>'L', +120523=>'L', +120524=>'L', +120525=>'L', +120526=>'L', +120527=>'L', +120528=>'L', +120529=>'L', +120530=>'L', +120531=>'L', +120532=>'L', +120533=>'L', +120534=>'L', +120535=>'L', +120536=>'L', +120537=>'L', +120538=>'L', +120539=>'L', +120540=>'L', +120541=>'L', +120542=>'L', +120543=>'L', +120544=>'L', +120545=>'L', +120546=>'L', +120547=>'L', +120548=>'L', +120549=>'L', +120550=>'L', +120551=>'L', +120552=>'L', +120553=>'L', +120554=>'L', +120555=>'L', +120556=>'L', +120557=>'L', +120558=>'L', +120559=>'L', +120560=>'L', +120561=>'L', +120562=>'L', +120563=>'L', +120564=>'L', +120565=>'L', +120566=>'L', +120567=>'L', +120568=>'L', +120569=>'L', +120570=>'L', +120571=>'L', +120572=>'L', +120573=>'L', +120574=>'L', +120575=>'L', +120576=>'L', +120577=>'L', +120578=>'L', +120579=>'L', +120580=>'L', +120581=>'L', +120582=>'L', +120583=>'L', +120584=>'L', +120585=>'L', +120586=>'L', +120587=>'L', +120588=>'L', +120589=>'L', +120590=>'L', +120591=>'L', +120592=>'L', +120593=>'L', +120594=>'L', +120595=>'L', +120596=>'L', +120597=>'L', +120598=>'L', +120599=>'L', +120600=>'L', +120601=>'L', +120602=>'L', +120603=>'L', +120604=>'L', +120605=>'L', +120606=>'L', +120607=>'L', +120608=>'L', +120609=>'L', +120610=>'L', +120611=>'L', +120612=>'L', +120613=>'L', +120614=>'L', +120615=>'L', +120616=>'L', +120617=>'L', +120618=>'L', +120619=>'L', +120620=>'L', +120621=>'L', +120622=>'L', +120623=>'L', +120624=>'L', +120625=>'L', +120626=>'L', +120627=>'L', +120628=>'L', +120629=>'L', +120630=>'L', +120631=>'L', +120632=>'L', +120633=>'L', +120634=>'L', +120635=>'L', +120636=>'L', +120637=>'L', +120638=>'L', +120639=>'L', +120640=>'L', +120641=>'L', +120642=>'L', +120643=>'L', +120644=>'L', +120645=>'L', +120646=>'L', +120647=>'L', +120648=>'L', +120649=>'L', +120650=>'L', +120651=>'L', +120652=>'L', +120653=>'L', +120654=>'L', +120655=>'L', +120656=>'L', +120657=>'L', +120658=>'L', +120659=>'L', +120660=>'L', +120661=>'L', +120662=>'L', +120663=>'L', +120664=>'L', +120665=>'L', +120666=>'L', +120667=>'L', +120668=>'L', +120669=>'L', +120670=>'L', +120671=>'L', +120672=>'L', +120673=>'L', +120674=>'L', +120675=>'L', +120676=>'L', +120677=>'L', +120678=>'L', +120679=>'L', +120680=>'L', +120681=>'L', +120682=>'L', +120683=>'L', +120684=>'L', +120685=>'L', +120686=>'L', +120687=>'L', +120688=>'L', +120689=>'L', +120690=>'L', +120691=>'L', +120692=>'L', +120693=>'L', +120694=>'L', +120695=>'L', +120696=>'L', +120697=>'L', +120698=>'L', +120699=>'L', +120700=>'L', +120701=>'L', +120702=>'L', +120703=>'L', +120704=>'L', +120705=>'L', +120706=>'L', +120707=>'L', +120708=>'L', +120709=>'L', +120710=>'L', +120711=>'L', +120712=>'L', +120713=>'L', +120714=>'L', +120715=>'L', +120716=>'L', +120717=>'L', +120718=>'L', +120719=>'L', +120720=>'L', +120721=>'L', +120722=>'L', +120723=>'L', +120724=>'L', +120725=>'L', +120726=>'L', +120727=>'L', +120728=>'L', +120729=>'L', +120730=>'L', +120731=>'L', +120732=>'L', +120733=>'L', +120734=>'L', +120735=>'L', +120736=>'L', +120737=>'L', +120738=>'L', +120739=>'L', +120740=>'L', +120741=>'L', +120742=>'L', +120743=>'L', +120744=>'L', +120745=>'L', +120746=>'L', +120747=>'L', +120748=>'L', +120749=>'L', +120750=>'L', +120751=>'L', +120752=>'L', +120753=>'L', +120754=>'L', +120755=>'L', +120756=>'L', +120757=>'L', +120758=>'L', +120759=>'L', +120760=>'L', +120761=>'L', +120762=>'L', +120763=>'L', +120764=>'L', +120765=>'L', +120766=>'L', +120767=>'L', +120768=>'L', +120769=>'L', +120770=>'L', +120771=>'L', +120772=>'L', +120773=>'L', +120774=>'L', +120775=>'L', +120776=>'L', +120777=>'L', +120778=>'L', +120779=>'L', +120782=>'EN', +120783=>'EN', +120784=>'EN', +120785=>'EN', +120786=>'EN', +120787=>'EN', +120788=>'EN', +120789=>'EN', +120790=>'EN', +120791=>'EN', +120792=>'EN', +120793=>'EN', +120794=>'EN', +120795=>'EN', +120796=>'EN', +120797=>'EN', +120798=>'EN', +120799=>'EN', +120800=>'EN', +120801=>'EN', +120802=>'EN', +120803=>'EN', +120804=>'EN', +120805=>'EN', +120806=>'EN', +120807=>'EN', +120808=>'EN', +120809=>'EN', +120810=>'EN', +120811=>'EN', +120812=>'EN', +120813=>'EN', +120814=>'EN', +120815=>'EN', +120816=>'EN', +120817=>'EN', +120818=>'EN', +120819=>'EN', +120820=>'EN', +120821=>'EN', +120822=>'EN', +120823=>'EN', +120824=>'EN', +120825=>'EN', +120826=>'EN', +120827=>'EN', +120828=>'EN', +120829=>'EN', +120830=>'EN', +120831=>'EN', +131072=>'L', +173782=>'L', +194560=>'L', +194561=>'L', +194562=>'L', +194563=>'L', +194564=>'L', +194565=>'L', +194566=>'L', +194567=>'L', +194568=>'L', +194569=>'L', +194570=>'L', +194571=>'L', +194572=>'L', +194573=>'L', +194574=>'L', +194575=>'L', +194576=>'L', +194577=>'L', +194578=>'L', +194579=>'L', +194580=>'L', +194581=>'L', +194582=>'L', +194583=>'L', +194584=>'L', +194585=>'L', +194586=>'L', +194587=>'L', +194588=>'L', +194589=>'L', +194590=>'L', +194591=>'L', +194592=>'L', +194593=>'L', +194594=>'L', +194595=>'L', +194596=>'L', +194597=>'L', +194598=>'L', +194599=>'L', +194600=>'L', +194601=>'L', +194602=>'L', +194603=>'L', +194604=>'L', +194605=>'L', +194606=>'L', +194607=>'L', +194608=>'L', +194609=>'L', +194610=>'L', +194611=>'L', +194612=>'L', +194613=>'L', +194614=>'L', +194615=>'L', +194616=>'L', +194617=>'L', +194618=>'L', +194619=>'L', +194620=>'L', +194621=>'L', +194622=>'L', +194623=>'L', +194624=>'L', +194625=>'L', +194626=>'L', +194627=>'L', +194628=>'L', +194629=>'L', +194630=>'L', +194631=>'L', +194632=>'L', +194633=>'L', +194634=>'L', +194635=>'L', +194636=>'L', +194637=>'L', +194638=>'L', +194639=>'L', +194640=>'L', +194641=>'L', +194642=>'L', +194643=>'L', +194644=>'L', +194645=>'L', +194646=>'L', +194647=>'L', +194648=>'L', +194649=>'L', +194650=>'L', +194651=>'L', +194652=>'L', +194653=>'L', +194654=>'L', +194655=>'L', +194656=>'L', +194657=>'L', +194658=>'L', +194659=>'L', +194660=>'L', +194661=>'L', +194662=>'L', +194663=>'L', +194664=>'L', +194665=>'L', +194666=>'L', +194667=>'L', +194668=>'L', +194669=>'L', +194670=>'L', +194671=>'L', +194672=>'L', +194673=>'L', +194674=>'L', +194675=>'L', +194676=>'L', +194677=>'L', +194678=>'L', +194679=>'L', +194680=>'L', +194681=>'L', +194682=>'L', +194683=>'L', +194684=>'L', +194685=>'L', +194686=>'L', +194687=>'L', +194688=>'L', +194689=>'L', +194690=>'L', +194691=>'L', +194692=>'L', +194693=>'L', +194694=>'L', +194695=>'L', +194696=>'L', +194697=>'L', +194698=>'L', +194699=>'L', +194700=>'L', +194701=>'L', +194702=>'L', +194703=>'L', +194704=>'L', +194705=>'L', +194706=>'L', +194707=>'L', +194708=>'L', +194709=>'L', +194710=>'L', +194711=>'L', +194712=>'L', +194713=>'L', +194714=>'L', +194715=>'L', +194716=>'L', +194717=>'L', +194718=>'L', +194719=>'L', +194720=>'L', +194721=>'L', +194722=>'L', +194723=>'L', +194724=>'L', +194725=>'L', +194726=>'L', +194727=>'L', +194728=>'L', +194729=>'L', +194730=>'L', +194731=>'L', +194732=>'L', +194733=>'L', +194734=>'L', +194735=>'L', +194736=>'L', +194737=>'L', +194738=>'L', +194739=>'L', +194740=>'L', +194741=>'L', +194742=>'L', +194743=>'L', +194744=>'L', +194745=>'L', +194746=>'L', +194747=>'L', +194748=>'L', +194749=>'L', +194750=>'L', +194751=>'L', +194752=>'L', +194753=>'L', +194754=>'L', +194755=>'L', +194756=>'L', +194757=>'L', +194758=>'L', +194759=>'L', +194760=>'L', +194761=>'L', +194762=>'L', +194763=>'L', +194764=>'L', +194765=>'L', +194766=>'L', +194767=>'L', +194768=>'L', +194769=>'L', +194770=>'L', +194771=>'L', +194772=>'L', +194773=>'L', +194774=>'L', +194775=>'L', +194776=>'L', +194777=>'L', +194778=>'L', +194779=>'L', +194780=>'L', +194781=>'L', +194782=>'L', +194783=>'L', +194784=>'L', +194785=>'L', +194786=>'L', +194787=>'L', +194788=>'L', +194789=>'L', +194790=>'L', +194791=>'L', +194792=>'L', +194793=>'L', +194794=>'L', +194795=>'L', +194796=>'L', +194797=>'L', +194798=>'L', +194799=>'L', +194800=>'L', +194801=>'L', +194802=>'L', +194803=>'L', +194804=>'L', +194805=>'L', +194806=>'L', +194807=>'L', +194808=>'L', +194809=>'L', +194810=>'L', +194811=>'L', +194812=>'L', +194813=>'L', +194814=>'L', +194815=>'L', +194816=>'L', +194817=>'L', +194818=>'L', +194819=>'L', +194820=>'L', +194821=>'L', +194822=>'L', +194823=>'L', +194824=>'L', +194825=>'L', +194826=>'L', +194827=>'L', +194828=>'L', +194829=>'L', +194830=>'L', +194831=>'L', +194832=>'L', +194833=>'L', +194834=>'L', +194835=>'L', +194836=>'L', +194837=>'L', +194838=>'L', +194839=>'L', +194840=>'L', +194841=>'L', +194842=>'L', +194843=>'L', +194844=>'L', +194845=>'L', +194846=>'L', +194847=>'L', +194848=>'L', +194849=>'L', +194850=>'L', +194851=>'L', +194852=>'L', +194853=>'L', +194854=>'L', +194855=>'L', +194856=>'L', +194857=>'L', +194858=>'L', +194859=>'L', +194860=>'L', +194861=>'L', +194862=>'L', +194863=>'L', +194864=>'L', +194865=>'L', +194866=>'L', +194867=>'L', +194868=>'L', +194869=>'L', +194870=>'L', +194871=>'L', +194872=>'L', +194873=>'L', +194874=>'L', +194875=>'L', +194876=>'L', +194877=>'L', +194878=>'L', +194879=>'L', +194880=>'L', +194881=>'L', +194882=>'L', +194883=>'L', +194884=>'L', +194885=>'L', +194886=>'L', +194887=>'L', +194888=>'L', +194889=>'L', +194890=>'L', +194891=>'L', +194892=>'L', +194893=>'L', +194894=>'L', +194895=>'L', +194896=>'L', +194897=>'L', +194898=>'L', +194899=>'L', +194900=>'L', +194901=>'L', +194902=>'L', +194903=>'L', +194904=>'L', +194905=>'L', +194906=>'L', +194907=>'L', +194908=>'L', +194909=>'L', +194910=>'L', +194911=>'L', +194912=>'L', +194913=>'L', +194914=>'L', +194915=>'L', +194916=>'L', +194917=>'L', +194918=>'L', +194919=>'L', +194920=>'L', +194921=>'L', +194922=>'L', +194923=>'L', +194924=>'L', +194925=>'L', +194926=>'L', +194927=>'L', +194928=>'L', +194929=>'L', +194930=>'L', +194931=>'L', +194932=>'L', +194933=>'L', +194934=>'L', +194935=>'L', +194936=>'L', +194937=>'L', +194938=>'L', +194939=>'L', +194940=>'L', +194941=>'L', +194942=>'L', +194943=>'L', +194944=>'L', +194945=>'L', +194946=>'L', +194947=>'L', +194948=>'L', +194949=>'L', +194950=>'L', +194951=>'L', +194952=>'L', +194953=>'L', +194954=>'L', +194955=>'L', +194956=>'L', +194957=>'L', +194958=>'L', +194959=>'L', +194960=>'L', +194961=>'L', +194962=>'L', +194963=>'L', +194964=>'L', +194965=>'L', +194966=>'L', +194967=>'L', +194968=>'L', +194969=>'L', +194970=>'L', +194971=>'L', +194972=>'L', +194973=>'L', +194974=>'L', +194975=>'L', +194976=>'L', +194977=>'L', +194978=>'L', +194979=>'L', +194980=>'L', +194981=>'L', +194982=>'L', +194983=>'L', +194984=>'L', +194985=>'L', +194986=>'L', +194987=>'L', +194988=>'L', +194989=>'L', +194990=>'L', +194991=>'L', +194992=>'L', +194993=>'L', +194994=>'L', +194995=>'L', +194996=>'L', +194997=>'L', +194998=>'L', +194999=>'L', +195000=>'L', +195001=>'L', +195002=>'L', +195003=>'L', +195004=>'L', +195005=>'L', +195006=>'L', +195007=>'L', +195008=>'L', +195009=>'L', +195010=>'L', +195011=>'L', +195012=>'L', +195013=>'L', +195014=>'L', +195015=>'L', +195016=>'L', +195017=>'L', +195018=>'L', +195019=>'L', +195020=>'L', +195021=>'L', +195022=>'L', +195023=>'L', +195024=>'L', +195025=>'L', +195026=>'L', +195027=>'L', +195028=>'L', +195029=>'L', +195030=>'L', +195031=>'L', +195032=>'L', +195033=>'L', +195034=>'L', +195035=>'L', +195036=>'L', +195037=>'L', +195038=>'L', +195039=>'L', +195040=>'L', +195041=>'L', +195042=>'L', +195043=>'L', +195044=>'L', +195045=>'L', +195046=>'L', +195047=>'L', +195048=>'L', +195049=>'L', +195050=>'L', +195051=>'L', +195052=>'L', +195053=>'L', +195054=>'L', +195055=>'L', +195056=>'L', +195057=>'L', +195058=>'L', +195059=>'L', +195060=>'L', +195061=>'L', +195062=>'L', +195063=>'L', +195064=>'L', +195065=>'L', +195066=>'L', +195067=>'L', +195068=>'L', +195069=>'L', +195070=>'L', +195071=>'L', +195072=>'L', +195073=>'L', +195074=>'L', +195075=>'L', +195076=>'L', +195077=>'L', +195078=>'L', +195079=>'L', +195080=>'L', +195081=>'L', +195082=>'L', +195083=>'L', +195084=>'L', +195085=>'L', +195086=>'L', +195087=>'L', +195088=>'L', +195089=>'L', +195090=>'L', +195091=>'L', +195092=>'L', +195093=>'L', +195094=>'L', +195095=>'L', +195096=>'L', +195097=>'L', +195098=>'L', +195099=>'L', +195100=>'L', +195101=>'L', +917505=>'BN', +917536=>'BN', +917537=>'BN', +917538=>'BN', +917539=>'BN', +917540=>'BN', +917541=>'BN', +917542=>'BN', +917543=>'BN', +917544=>'BN', +917545=>'BN', +917546=>'BN', +917547=>'BN', +917548=>'BN', +917549=>'BN', +917550=>'BN', +917551=>'BN', +917552=>'BN', +917553=>'BN', +917554=>'BN', +917555=>'BN', +917556=>'BN', +917557=>'BN', +917558=>'BN', +917559=>'BN', +917560=>'BN', +917561=>'BN', +917562=>'BN', +917563=>'BN', +917564=>'BN', +917565=>'BN', +917566=>'BN', +917567=>'BN', +917568=>'BN', +917569=>'BN', +917570=>'BN', +917571=>'BN', +917572=>'BN', +917573=>'BN', +917574=>'BN', +917575=>'BN', +917576=>'BN', +917577=>'BN', +917578=>'BN', +917579=>'BN', +917580=>'BN', +917581=>'BN', +917582=>'BN', +917583=>'BN', +917584=>'BN', +917585=>'BN', +917586=>'BN', +917587=>'BN', +917588=>'BN', +917589=>'BN', +917590=>'BN', +917591=>'BN', +917592=>'BN', +917593=>'BN', +917594=>'BN', +917595=>'BN', +917596=>'BN', +917597=>'BN', +917598=>'BN', +917599=>'BN', +917600=>'BN', +917601=>'BN', +917602=>'BN', +917603=>'BN', +917604=>'BN', +917605=>'BN', +917606=>'BN', +917607=>'BN', +917608=>'BN', +917609=>'BN', +917610=>'BN', +917611=>'BN', +917612=>'BN', +917613=>'BN', +917614=>'BN', +917615=>'BN', +917616=>'BN', +917617=>'BN', +917618=>'BN', +917619=>'BN', +917620=>'BN', +917621=>'BN', +917622=>'BN', +917623=>'BN', +917624=>'BN', +917625=>'BN', +917626=>'BN', +917627=>'BN', +917628=>'BN', +917629=>'BN', +917630=>'BN', +917631=>'BN', +917760=>'NSM', +917761=>'NSM', +917762=>'NSM', +917763=>'NSM', +917764=>'NSM', +917765=>'NSM', +917766=>'NSM', +917767=>'NSM', +917768=>'NSM', +917769=>'NSM', +917770=>'NSM', +917771=>'NSM', +917772=>'NSM', +917773=>'NSM', +917774=>'NSM', +917775=>'NSM', +917776=>'NSM', +917777=>'NSM', +917778=>'NSM', +917779=>'NSM', +917780=>'NSM', +917781=>'NSM', +917782=>'NSM', +917783=>'NSM', +917784=>'NSM', +917785=>'NSM', +917786=>'NSM', +917787=>'NSM', +917788=>'NSM', +917789=>'NSM', +917790=>'NSM', +917791=>'NSM', +917792=>'NSM', +917793=>'NSM', +917794=>'NSM', +917795=>'NSM', +917796=>'NSM', +917797=>'NSM', +917798=>'NSM', +917799=>'NSM', +917800=>'NSM', +917801=>'NSM', +917802=>'NSM', +917803=>'NSM', +917804=>'NSM', +917805=>'NSM', +917806=>'NSM', +917807=>'NSM', +917808=>'NSM', +917809=>'NSM', +917810=>'NSM', +917811=>'NSM', +917812=>'NSM', +917813=>'NSM', +917814=>'NSM', +917815=>'NSM', +917816=>'NSM', +917817=>'NSM', +917818=>'NSM', +917819=>'NSM', +917820=>'NSM', +917821=>'NSM', +917822=>'NSM', +917823=>'NSM', +917824=>'NSM', +917825=>'NSM', +917826=>'NSM', +917827=>'NSM', +917828=>'NSM', +917829=>'NSM', +917830=>'NSM', +917831=>'NSM', +917832=>'NSM', +917833=>'NSM', +917834=>'NSM', +917835=>'NSM', +917836=>'NSM', +917837=>'NSM', +917838=>'NSM', +917839=>'NSM', +917840=>'NSM', +917841=>'NSM', +917842=>'NSM', +917843=>'NSM', +917844=>'NSM', +917845=>'NSM', +917846=>'NSM', +917847=>'NSM', +917848=>'NSM', +917849=>'NSM', +917850=>'NSM', +917851=>'NSM', +917852=>'NSM', +917853=>'NSM', +917854=>'NSM', +917855=>'NSM', +917856=>'NSM', +917857=>'NSM', +917858=>'NSM', +917859=>'NSM', +917860=>'NSM', +917861=>'NSM', +917862=>'NSM', +917863=>'NSM', +917864=>'NSM', +917865=>'NSM', +917866=>'NSM', +917867=>'NSM', +917868=>'NSM', +917869=>'NSM', +917870=>'NSM', +917871=>'NSM', +917872=>'NSM', +917873=>'NSM', +917874=>'NSM', +917875=>'NSM', +917876=>'NSM', +917877=>'NSM', +917878=>'NSM', +917879=>'NSM', +917880=>'NSM', +917881=>'NSM', +917882=>'NSM', +917883=>'NSM', +917884=>'NSM', +917885=>'NSM', +917886=>'NSM', +917887=>'NSM', +917888=>'NSM', +917889=>'NSM', +917890=>'NSM', +917891=>'NSM', +917892=>'NSM', +917893=>'NSM', +917894=>'NSM', +917895=>'NSM', +917896=>'NSM', +917897=>'NSM', +917898=>'NSM', +917899=>'NSM', +917900=>'NSM', +917901=>'NSM', +917902=>'NSM', +917903=>'NSM', +917904=>'NSM', +917905=>'NSM', +917906=>'NSM', +917907=>'NSM', +917908=>'NSM', +917909=>'NSM', +917910=>'NSM', +917911=>'NSM', +917912=>'NSM', +917913=>'NSM', +917914=>'NSM', +917915=>'NSM', +917916=>'NSM', +917917=>'NSM', +917918=>'NSM', +917919=>'NSM', +917920=>'NSM', +917921=>'NSM', +917922=>'NSM', +917923=>'NSM', +917924=>'NSM', +917925=>'NSM', +917926=>'NSM', +917927=>'NSM', +917928=>'NSM', +917929=>'NSM', +917930=>'NSM', +917931=>'NSM', +917932=>'NSM', +917933=>'NSM', +917934=>'NSM', +917935=>'NSM', +917936=>'NSM', +917937=>'NSM', +917938=>'NSM', +917939=>'NSM', +917940=>'NSM', +917941=>'NSM', +917942=>'NSM', +917943=>'NSM', +917944=>'NSM', +917945=>'NSM', +917946=>'NSM', +917947=>'NSM', +917948=>'NSM', +917949=>'NSM', +917950=>'NSM', +917951=>'NSM', +917952=>'NSM', +917953=>'NSM', +917954=>'NSM', +917955=>'NSM', +917956=>'NSM', +917957=>'NSM', +917958=>'NSM', +917959=>'NSM', +917960=>'NSM', +917961=>'NSM', +917962=>'NSM', +917963=>'NSM', +917964=>'NSM', +917965=>'NSM', +917966=>'NSM', +917967=>'NSM', +917968=>'NSM', +917969=>'NSM', +917970=>'NSM', +917971=>'NSM', +917972=>'NSM', +917973=>'NSM', +917974=>'NSM', +917975=>'NSM', +917976=>'NSM', +917977=>'NSM', +917978=>'NSM', +917979=>'NSM', +917980=>'NSM', +917981=>'NSM', +917982=>'NSM', +917983=>'NSM', +917984=>'NSM', +917985=>'NSM', +917986=>'NSM', +917987=>'NSM', +917988=>'NSM', +917989=>'NSM', +917990=>'NSM', +917991=>'NSM', +917992=>'NSM', +917993=>'NSM', +917994=>'NSM', +917995=>'NSM', +917996=>'NSM', +917997=>'NSM', +917998=>'NSM', +917999=>'NSM', +983040=>'L', +1048573=>'L', +1048576=>'L', +1114109=>'L' +); + +/** + * Mirror unicode characters. For information on bidi mirroring, see UAX #9: Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/ + * @public + */ +public static $uni_mirror = array ( +0x0028=>0x0029, +0x0029=>0x0028, +0x003C=>0x003E, +0x003E=>0x003C, +0x005B=>0x005D, +0x005D=>0x005B, +0x007B=>0x007D, +0x007D=>0x007B, +0x00AB=>0x00BB, +0x00BB=>0x00AB, +0x0F3A=>0x0F3B, +0x0F3B=>0x0F3A, +0x0F3C=>0x0F3D, +0x0F3D=>0x0F3C, +0x169B=>0x169C, +0x169C=>0x169B, +0x2018=>0x2019, +0x2019=>0x2018, +0x201C=>0x201D, +0x201D=>0x201C, +0x2039=>0x203A, +0x203A=>0x2039, +0x2045=>0x2046, +0x2046=>0x2045, +0x207D=>0x207E, +0x207E=>0x207D, +0x208D=>0x208E, +0x208E=>0x208D, +0x2208=>0x220B, +0x2209=>0x220C, +0x220A=>0x220D, +0x220B=>0x2208, +0x220C=>0x2209, +0x220D=>0x220A, +0x2215=>0x29F5, +0x223C=>0x223D, +0x223D=>0x223C, +0x2243=>0x22CD, +0x2252=>0x2253, +0x2253=>0x2252, +0x2254=>0x2255, +0x2255=>0x2254, +0x2264=>0x2265, +0x2265=>0x2264, +0x2266=>0x2267, +0x2267=>0x2266, +0x2268=>0x2269, +0x2269=>0x2268, +0x226A=>0x226B, +0x226B=>0x226A, +0x226E=>0x226F, +0x226F=>0x226E, +0x2270=>0x2271, +0x2271=>0x2270, +0x2272=>0x2273, +0x2273=>0x2272, +0x2274=>0x2275, +0x2275=>0x2274, +0x2276=>0x2277, +0x2277=>0x2276, +0x2278=>0x2279, +0x2279=>0x2278, +0x227A=>0x227B, +0x227B=>0x227A, +0x227C=>0x227D, +0x227D=>0x227C, +0x227E=>0x227F, +0x227F=>0x227E, +0x2280=>0x2281, +0x2281=>0x2280, +0x2282=>0x2283, +0x2283=>0x2282, +0x2284=>0x2285, +0x2285=>0x2284, +0x2286=>0x2287, +0x2287=>0x2286, +0x2288=>0x2289, +0x2289=>0x2288, +0x228A=>0x228B, +0x228B=>0x228A, +0x228F=>0x2290, +0x2290=>0x228F, +0x2291=>0x2292, +0x2292=>0x2291, +0x2298=>0x29B8, +0x22A2=>0x22A3, +0x22A3=>0x22A2, +0x22A6=>0x2ADE, +0x22A8=>0x2AE4, +0x22A9=>0x2AE3, +0x22AB=>0x2AE5, +0x22B0=>0x22B1, +0x22B1=>0x22B0, +0x22B2=>0x22B3, +0x22B3=>0x22B2, +0x22B4=>0x22B5, +0x22B5=>0x22B4, +0x22B6=>0x22B7, +0x22B7=>0x22B6, +0x22C9=>0x22CA, +0x22CA=>0x22C9, +0x22CB=>0x22CC, +0x22CC=>0x22CB, +0x22CD=>0x2243, +0x22D0=>0x22D1, +0x22D1=>0x22D0, +0x22D6=>0x22D7, +0x22D7=>0x22D6, +0x22D8=>0x22D9, +0x22D9=>0x22D8, +0x22DA=>0x22DB, +0x22DB=>0x22DA, +0x22DC=>0x22DD, +0x22DD=>0x22DC, +0x22DE=>0x22DF, +0x22DF=>0x22DE, +0x22E0=>0x22E1, +0x22E1=>0x22E0, +0x22E2=>0x22E3, +0x22E3=>0x22E2, +0x22E4=>0x22E5, +0x22E5=>0x22E4, +0x22E6=>0x22E7, +0x22E7=>0x22E6, +0x22E8=>0x22E9, +0x22E9=>0x22E8, +0x22EA=>0x22EB, +0x22EB=>0x22EA, +0x22EC=>0x22ED, +0x22ED=>0x22EC, +0x22F0=>0x22F1, +0x22F1=>0x22F0, +0x22F2=>0x22FA, +0x22F3=>0x22FB, +0x22F4=>0x22FC, +0x22F6=>0x22FD, +0x22F7=>0x22FE, +0x22FA=>0x22F2, +0x22FB=>0x22F3, +0x22FC=>0x22F4, +0x22FD=>0x22F6, +0x22FE=>0x22F7, +0x2308=>0x2309, +0x2309=>0x2308, +0x230A=>0x230B, +0x230B=>0x230A, +0x2329=>0x232A, +0x232A=>0x2329, +0x2768=>0x2769, +0x2769=>0x2768, +0x276A=>0x276B, +0x276B=>0x276A, +0x276C=>0x276D, +0x276D=>0x276C, +0x276E=>0x276F, +0x276F=>0x276E, +0x2770=>0x2771, +0x2771=>0x2770, +0x2772=>0x2773, +0x2773=>0x2772, +0x2774=>0x2775, +0x2775=>0x2774, +0x27C3=>0x27C4, +0x27C4=>0x27C3, +0x27C5=>0x27C6, +0x27C6=>0x27C5, +0x27D5=>0x27D6, +0x27D6=>0x27D5, +0x27DD=>0x27DE, +0x27DE=>0x27DD, +0x27E2=>0x27E3, +0x27E3=>0x27E2, +0x27E4=>0x27E5, +0x27E5=>0x27E4, +0x27E6=>0x27E7, +0x27E7=>0x27E6, +0x27E8=>0x27E9, +0x27E9=>0x27E8, +0x27EA=>0x27EB, +0x27EB=>0x27EA, +0x2983=>0x2984, +0x2984=>0x2983, +0x2985=>0x2986, +0x2986=>0x2985, +0x2987=>0x2988, +0x2988=>0x2987, +0x2989=>0x298A, +0x298A=>0x2989, +0x298B=>0x298C, +0x298C=>0x298B, +0x298D=>0x2990, +0x298E=>0x298F, +0x298F=>0x298E, +0x2990=>0x298D, +0x2991=>0x2992, +0x2992=>0x2991, +0x2993=>0x2994, +0x2994=>0x2993, +0x2995=>0x2996, +0x2996=>0x2995, +0x2997=>0x2998, +0x2998=>0x2997, +0x29B8=>0x2298, +0x29C0=>0x29C1, +0x29C1=>0x29C0, +0x29C4=>0x29C5, +0x29C5=>0x29C4, +0x29CF=>0x29D0, +0x29D0=>0x29CF, +0x29D1=>0x29D2, +0x29D2=>0x29D1, +0x29D4=>0x29D5, +0x29D5=>0x29D4, +0x29D8=>0x29D9, +0x29D9=>0x29D8, +0x29DA=>0x29DB, +0x29DB=>0x29DA, +0x29F5=>0x2215, +0x29F8=>0x29F9, +0x29F9=>0x29F8, +0x29FC=>0x29FD, +0x29FD=>0x29FC, +0x2A2B=>0x2A2C, +0x2A2C=>0x2A2B, +0x2A2D=>0x2A2E, +0x2A2E=>0x2A2D, +0x2A34=>0x2A35, +0x2A35=>0x2A34, +0x2A3C=>0x2A3D, +0x2A3D=>0x2A3C, +0x2A64=>0x2A65, +0x2A65=>0x2A64, +0x2A79=>0x2A7A, +0x2A7A=>0x2A79, +0x2A7D=>0x2A7E, +0x2A7E=>0x2A7D, +0x2A7F=>0x2A80, +0x2A80=>0x2A7F, +0x2A81=>0x2A82, +0x2A82=>0x2A81, +0x2A83=>0x2A84, +0x2A84=>0x2A83, +0x2A8B=>0x2A8C, +0x2A8C=>0x2A8B, +0x2A91=>0x2A92, +0x2A92=>0x2A91, +0x2A93=>0x2A94, +0x2A94=>0x2A93, +0x2A95=>0x2A96, +0x2A96=>0x2A95, +0x2A97=>0x2A98, +0x2A98=>0x2A97, +0x2A99=>0x2A9A, +0x2A9A=>0x2A99, +0x2A9B=>0x2A9C, +0x2A9C=>0x2A9B, +0x2AA1=>0x2AA2, +0x2AA2=>0x2AA1, +0x2AA6=>0x2AA7, +0x2AA7=>0x2AA6, +0x2AA8=>0x2AA9, +0x2AA9=>0x2AA8, +0x2AAA=>0x2AAB, +0x2AAB=>0x2AAA, +0x2AAC=>0x2AAD, +0x2AAD=>0x2AAC, +0x2AAF=>0x2AB0, +0x2AB0=>0x2AAF, +0x2AB3=>0x2AB4, +0x2AB4=>0x2AB3, +0x2ABB=>0x2ABC, +0x2ABC=>0x2ABB, +0x2ABD=>0x2ABE, +0x2ABE=>0x2ABD, +0x2ABF=>0x2AC0, +0x2AC0=>0x2ABF, +0x2AC1=>0x2AC2, +0x2AC2=>0x2AC1, +0x2AC3=>0x2AC4, +0x2AC4=>0x2AC3, +0x2AC5=>0x2AC6, +0x2AC6=>0x2AC5, +0x2ACD=>0x2ACE, +0x2ACE=>0x2ACD, +0x2ACF=>0x2AD0, +0x2AD0=>0x2ACF, +0x2AD1=>0x2AD2, +0x2AD2=>0x2AD1, +0x2AD3=>0x2AD4, +0x2AD4=>0x2AD3, +0x2AD5=>0x2AD6, +0x2AD6=>0x2AD5, +0x2ADE=>0x22A6, +0x2AE3=>0x22A9, +0x2AE4=>0x22A8, +0x2AE5=>0x22AB, +0x2AEC=>0x2AED, +0x2AED=>0x2AEC, +0x2AF7=>0x2AF8, +0x2AF8=>0x2AF7, +0x2AF9=>0x2AFA, +0x2AFA=>0x2AF9, +0x2E02=>0x2E03, +0x2E03=>0x2E02, +0x2E04=>0x2E05, +0x2E05=>0x2E04, +0x2E09=>0x2E0A, +0x2E0A=>0x2E09, +0x2E0C=>0x2E0D, +0x2E0D=>0x2E0C, +0x2E1C=>0x2E1D, +0x2E1D=>0x2E1C, +0x3008=>0x3009, +0x3009=>0x3008, +0x300A=>0x300B, +0x300B=>0x300A, +0x300C=>0x300D, +0x300D=>0x300C, +0x300E=>0x300F, +0x300F=>0x300E, +0x3010=>0x3011, +0x3011=>0x3010, +0x3014=>0x3015, +0x3015=>0x3014, +0x3016=>0x3017, +0x3017=>0x3016, +0x3018=>0x3019, +0x3019=>0x3018, +0x301A=>0x301B, +0x301B=>0x301A, +0x301D=>0x301E, +0x301E=>0x301D, +0xFE59=>0xFE5A, +0xFE5A=>0xFE59, +0xFE5B=>0xFE5C, +0xFE5C=>0xFE5B, +0xFE5D=>0xFE5E, +0xFE5E=>0xFE5D, +0xFE64=>0xFE65, +0xFE65=>0xFE64, +0xFF08=>0xFF09, +0xFF09=>0xFF08, +0xFF1C=>0xFF1E, +0xFF1E=>0xFF1C, +0xFF3B=>0xFF3D, +0xFF3D=>0xFF3B, +0xFF5B=>0xFF5D, +0xFF5D=>0xFF5B, +0xFF5F=>0xFF60, +0xFF60=>0xFF5F, +0xFF62=>0xFF63, +0xFF63=>0xFF62); + +/** + * Arabic shape substitutions: char code => (isolated, final, initial, medial). + * @public + */ +public static $uni_arabicsubst = array( +1569=>array(65152), +1570=>array(65153, 65154, 65153, 65154), +1571=>array(65155, 65156, 65155, 65156), +1572=>array(65157, 65158), +1573=>array(65159, 65160, 65159, 65160), +1574=>array(65161, 65162, 65163, 65164), +1575=>array(65165, 65166, 65165, 65166), +1576=>array(65167, 65168, 65169, 65170), +1577=>array(65171, 65172), +1578=>array(65173, 65174, 65175, 65176), +1579=>array(65177, 65178, 65179, 65180), +1580=>array(65181, 65182, 65183, 65184), +1581=>array(65185, 65186, 65187, 65188), +1582=>array(65189, 65190, 65191, 65192), +1583=>array(65193, 65194, 65193, 65194), +1584=>array(65195, 65196, 65195, 65196), +1585=>array(65197, 65198, 65197, 65198), +1586=>array(65199, 65200, 65199, 65200), +1587=>array(65201, 65202, 65203, 65204), +1588=>array(65205, 65206, 65207, 65208), +1589=>array(65209, 65210, 65211, 65212), +1590=>array(65213, 65214, 65215, 65216), +1591=>array(65217, 65218, 65219, 65220), +1592=>array(65221, 65222, 65223, 65224), +1593=>array(65225, 65226, 65227, 65228), +1594=>array(65229, 65230, 65231, 65232), +1601=>array(65233, 65234, 65235, 65236), +1602=>array(65237, 65238, 65239, 65240), +1603=>array(65241, 65242, 65243, 65244), +1604=>array(65245, 65246, 65247, 65248), +1605=>array(65249, 65250, 65251, 65252), +1606=>array(65253, 65254, 65255, 65256), +1607=>array(65257, 65258, 65259, 65260), +1608=>array(65261, 65262, 65261, 65262), +1609=>array(65263, 65264, 64488, 64489), +1610=>array(65265, 65266, 65267, 65268), +1649=>array(64336, 64337), +1655=>array(64477), +1657=>array(64358, 64359, 64360, 64361), +1658=>array(64350, 64351, 64352, 64353), +1659=>array(64338, 64339, 64340, 64341), +1662=>array(64342, 64343, 64344, 64345), +1663=>array(64354, 64355, 64356, 64357), +1664=>array(64346, 64347, 64348, 64349), +1667=>array(64374, 64375, 64376, 64377), +1668=>array(64370, 64371, 64372, 64373), +1670=>array(64378, 64379, 64380, 64381), +1671=>array(64382, 64383, 64384, 64385), +1672=>array(64392, 64393), +1676=>array(64388, 64389), +1677=>array(64386, 64387), +1678=>array(64390, 64391), +1681=>array(64396, 64397), +1688=>array(64394, 64395, 64394, 64395), +1700=>array(64362, 64363, 64364, 64365), +1702=>array(64366, 64367, 64368, 64369), +1705=>array(64398, 64399, 64400, 64401), +1709=>array(64467, 64468, 64469, 64470), +1711=>array(64402, 64403, 64404, 64405), +1713=>array(64410, 64411, 64412, 64413), +1715=>array(64406, 64407, 64408, 64409), +1722=>array(64414, 64415), +1723=>array(64416, 64417, 64418, 64419), +1726=>array(64426, 64427, 64428, 64429), +1728=>array(64420, 64421), +1729=>array(64422, 64423, 64424, 64425), +1733=>array(64480, 64481), +1734=>array(64473, 64474), +1735=>array(64471, 64472), +1736=>array(64475, 64476), +1737=>array(64482, 64483), +1739=>array(64478, 64479), +1740=>array(64508, 64509, 64510, 64511), +1744=>array(64484, 64485, 64486, 64487), +1746=>array(64430, 64431), +1747=>array(64432, 64433) +); + +/** + * Arabic laa letter: (char code => isolated, final, initial, medial). + * @public + */ +public static $uni_laa_array = array ( +1570 =>array(65269, 65270, 65269, 65270), +1571 =>array(65271, 65272, 65271, 65272), +1573 =>array(65273, 65274, 65273, 65274), +1575 =>array(65275, 65276, 65275, 65276) +); + +/** + * Array of character substitutions for sequences of two diacritics symbols. + * Putting the combining mark and character in the same glyph allows us to avoid the two marks overlapping each other in an illegible manner. + * second NSM char code => substitution char + * @public + */ +public static $uni_diacritics = array ( +1612=>64606, # Shadda + Dammatan +1613=>64607, # Shadda + Kasratan +1614=>64608, # Shadda + Fatha +1615=>64609, # Shadda + Damma +1616=>64610 # Shadda + Kasra +); + +/** + * Array of character substitutions from UTF-8 Unicode to Latin1. + * @public + */ +public static $uni_utf8tolatin = array ( +8364=>128, # Euro1 +338=>140, # OE +352=>138, # Scaron +376=>159, # Ydieresis +381=>142, # Zcaron2 +8226=>149, # bullet3 +710=>136, # circumflex +8224=>134, # dagger +8225=>135, # daggerdbl +8230=>133, # ellipsis +8212=>151, # emdash +8211=>150, # endash +402=>131, # florin +8249=>139, # guilsinglleft +8250=>155, # guilsinglright +339=>156, # oe +8240=>137, # perthousand +8222=>132, # quotedblbase +8220=>147, # quotedblleft +8221=>148, # quotedblright +8216=>145, # quoteleft +8217=>146, # quoteright +8218=>130, # quotesinglbase +353=>154, # scaron +732=>152, # tilde +8482=>153, # trademark +382=>158 # zcaron2 +); + +/** + * Array of Encoding Maps. + * @public static + */ +public static $encmap = array( + +// encoding map for: cp874 +'cp874' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'ellipsis',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'kokaithai',162=>'khokhaithai',163=>'khokhuatthai',164=>'khokhwaithai',165=>'khokhonthai',166=>'khorakhangthai',167=>'ngonguthai',168=>'chochanthai',169=>'chochingthai',170=>'chochangthai',171=>'sosothai',172=>'chochoethai',173=>'yoyingthai',174=>'dochadathai',175=>'topatakthai',176=>'thothanthai',177=>'thonangmonthothai',178=>'thophuthaothai',179=>'nonenthai',180=>'dodekthai',181=>'totaothai',182=>'thothungthai',183=>'thothahanthai',184=>'thothongthai',185=>'nonuthai',186=>'bobaimaithai',187=>'poplathai',188=>'phophungthai',189=>'fofathai',190=>'phophanthai',191=>'fofanthai',192=>'phosamphaothai',193=>'momathai',194=>'yoyakthai',195=>'roruathai',196=>'ruthai',197=>'lolingthai',198=>'luthai',199=>'wowaenthai',200=>'sosalathai',201=>'sorusithai',202=>'sosuathai',203=>'hohipthai',204=>'lochulathai',205=>'oangthai',206=>'honokhukthai',207=>'paiyannoithai',208=>'saraathai',209=>'maihanakatthai',210=>'saraaathai',211=>'saraamthai',212=>'saraithai',213=>'saraiithai',214=>'sarauethai',215=>'saraueethai',216=>'sarauthai',217=>'sarauuthai',218=>'phinthuthai',219=>'.notdef',220=>'.notdef',221=>'.notdef',222=>'.notdef',223=>'bahtthai',224=>'saraethai',225=>'saraaethai',226=>'saraothai',227=>'saraaimaimuanthai',228=>'saraaimaimalaithai',229=>'lakkhangyaothai',230=>'maiyamokthai',231=>'maitaikhuthai',232=>'maiekthai',233=>'maithothai',234=>'maitrithai',235=>'maichattawathai',236=>'thanthakhatthai',237=>'nikhahitthai',238=>'yamakkanthai',239=>'fongmanthai',240=>'zerothai',241=>'onethai',242=>'twothai',243=>'threethai',244=>'fourthai',245=>'fivethai',246=>'sixthai',247=>'seventhai',248=>'eightthai',249=>'ninethai',250=>'angkhankhuthai',251=>'khomutthai',252=>'.notdef',253=>'.notdef',254=>'.notdef',255=>'.notdef'), + +// encoding map for: cp1250 +'cp1250' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'.notdef',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'.notdef',137=>'perthousand',138=>'Scaron',139=>'guilsinglleft',140=>'Sacute',141=>'Tcaron',142=>'Zcaron',143=>'Zacute',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'.notdef',153=>'trademark',154=>'scaron',155=>'guilsinglright',156=>'sacute',157=>'tcaron',158=>'zcaron',159=>'zacute',160=>'space',161=>'caron',162=>'breve',163=>'Lslash',164=>'currency',165=>'Aogonek',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'Scedilla',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'Zdotaccent',176=>'degree',177=>'plusminus',178=>'ogonek',179=>'lslash',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'aogonek',186=>'scedilla',187=>'guillemotright',188=>'Lcaron',189=>'hungarumlaut',190=>'lcaron',191=>'zdotaccent',192=>'Racute',193=>'Aacute',194=>'Acircumflex',195=>'Abreve',196=>'Adieresis',197=>'Lacute',198=>'Cacute',199=>'Ccedilla',200=>'Ccaron',201=>'Eacute',202=>'Eogonek',203=>'Edieresis',204=>'Ecaron',205=>'Iacute',206=>'Icircumflex',207=>'Dcaron',208=>'Dcroat',209=>'Nacute',210=>'Ncaron',211=>'Oacute',212=>'Ocircumflex',213=>'Ohungarumlaut',214=>'Odieresis',215=>'multiply',216=>'Rcaron',217=>'Uring',218=>'Uacute',219=>'Uhungarumlaut',220=>'Udieresis',221=>'Yacute',222=>'Tcommaaccent',223=>'germandbls',224=>'racute',225=>'aacute',226=>'acircumflex',227=>'abreve',228=>'adieresis',229=>'lacute',230=>'cacute',231=>'ccedilla',232=>'ccaron',233=>'eacute',234=>'eogonek',235=>'edieresis',236=>'ecaron',237=>'iacute',238=>'icircumflex',239=>'dcaron',240=>'dcroat',241=>'nacute',242=>'ncaron',243=>'oacute',244=>'ocircumflex',245=>'ohungarumlaut',246=>'odieresis',247=>'divide',248=>'rcaron',249=>'uring',250=>'uacute',251=>'uhungarumlaut',252=>'udieresis',253=>'yacute',254=>'tcommaaccent',255=>'dotaccent'), + +// encoding map for: cp1251 +'cp1251' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'afii10051',129=>'afii10052',130=>'quotesinglbase',131=>'afii10100',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'Euro',137=>'perthousand',138=>'afii10058',139=>'guilsinglleft',140=>'afii10059',141=>'afii10061',142=>'afii10060',143=>'afii10145',144=>'afii10099',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'.notdef',153=>'trademark',154=>'afii10106',155=>'guilsinglright',156=>'afii10107',157=>'afii10109',158=>'afii10108',159=>'afii10193',160=>'space',161=>'afii10062',162=>'afii10110',163=>'afii10057',164=>'currency',165=>'afii10050',166=>'brokenbar',167=>'section',168=>'afii10023',169=>'copyright',170=>'afii10053',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'afii10056',176=>'degree',177=>'plusminus',178=>'afii10055',179=>'afii10103',180=>'afii10098',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'afii10071',185=>'afii61352',186=>'afii10101',187=>'guillemotright',188=>'afii10105',189=>'afii10054',190=>'afii10102',191=>'afii10104',192=>'afii10017',193=>'afii10018',194=>'afii10019',195=>'afii10020',196=>'afii10021',197=>'afii10022',198=>'afii10024',199=>'afii10025',200=>'afii10026',201=>'afii10027',202=>'afii10028',203=>'afii10029',204=>'afii10030',205=>'afii10031',206=>'afii10032',207=>'afii10033',208=>'afii10034',209=>'afii10035',210=>'afii10036',211=>'afii10037',212=>'afii10038',213=>'afii10039',214=>'afii10040',215=>'afii10041',216=>'afii10042',217=>'afii10043',218=>'afii10044',219=>'afii10045',220=>'afii10046',221=>'afii10047',222=>'afii10048',223=>'afii10049',224=>'afii10065',225=>'afii10066',226=>'afii10067',227=>'afii10068',228=>'afii10069',229=>'afii10070',230=>'afii10072',231=>'afii10073',232=>'afii10074',233=>'afii10075',234=>'afii10076',235=>'afii10077',236=>'afii10078',237=>'afii10079',238=>'afii10080',239=>'afii10081',240=>'afii10082',241=>'afii10083',242=>'afii10084',243=>'afii10085',244=>'afii10086',245=>'afii10087',246=>'afii10088',247=>'afii10089',248=>'afii10090',249=>'afii10091',250=>'afii10092',251=>'afii10093',252=>'afii10094',253=>'afii10095',254=>'afii10096',255=>'afii10097'), + +// encoding map for: cp1252 +'cp1252' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'florin',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'circumflex',137=>'perthousand',138=>'Scaron',139=>'guilsinglleft',140=>'OE',141=>'.notdef',142=>'Zcaron',143=>'.notdef',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'tilde',153=>'trademark',154=>'scaron',155=>'guilsinglright',156=>'oe',157=>'.notdef',158=>'zcaron',159=>'Ydieresis',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'ordfeminine',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'onesuperior',186=>'ordmasculine',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'questiondown',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Atilde',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'Igrave',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Eth',209=>'Ntilde',210=>'Ograve',211=>'Oacute',212=>'Ocircumflex',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Yacute',222=>'Thorn',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'atilde',228=>'adieresis',229=>'aring',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'igrave',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'eth',241=>'ntilde',242=>'ograve',243=>'oacute',244=>'ocircumflex',245=>'otilde',246=>'odieresis',247=>'divide',248=>'oslash',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'yacute',254=>'thorn',255=>'ydieresis'), + +// encoding map for: cp1253 +'cp1253' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'florin',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'.notdef',137=>'perthousand',138=>'.notdef',139=>'guilsinglleft',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'.notdef',153=>'trademark',154=>'.notdef',155=>'guilsinglright',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'dieresistonos',162=>'Alphatonos',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'.notdef',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'afii00208',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'tonos',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'Epsilontonos',185=>'Etatonos',186=>'Iotatonos',187=>'guillemotright',188=>'Omicrontonos',189=>'onehalf',190=>'Upsilontonos',191=>'Omegatonos',192=>'iotadieresistonos',193=>'Alpha',194=>'Beta',195=>'Gamma',196=>'Delta',197=>'Epsilon',198=>'Zeta',199=>'Eta',200=>'Theta',201=>'Iota',202=>'Kappa',203=>'Lambda',204=>'Mu',205=>'Nu',206=>'Xi',207=>'Omicron',208=>'Pi',209=>'Rho',210=>'.notdef',211=>'Sigma',212=>'Tau',213=>'Upsilon',214=>'Phi',215=>'Chi',216=>'Psi',217=>'Omega',218=>'Iotadieresis',219=>'Upsilondieresis',220=>'alphatonos',221=>'epsilontonos',222=>'etatonos',223=>'iotatonos',224=>'upsilondieresistonos',225=>'alpha',226=>'beta',227=>'gamma',228=>'delta',229=>'epsilon',230=>'zeta',231=>'eta',232=>'theta',233=>'iota',234=>'kappa',235=>'lambda',236=>'mu',237=>'nu',238=>'xi',239=>'omicron',240=>'pi',241=>'rho',242=>'sigma1',243=>'sigma',244=>'tau',245=>'upsilon',246=>'phi',247=>'chi',248=>'psi',249=>'omega',250=>'iotadieresis',251=>'upsilondieresis',252=>'omicrontonos',253=>'upsilontonos',254=>'omegatonos',255=>'.notdef'), + +// encoding map for: cp1254 +'cp1254' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'florin',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'circumflex',137=>'perthousand',138=>'Scaron',139=>'guilsinglleft',140=>'OE',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'tilde',153=>'trademark',154=>'scaron',155=>'guilsinglright',156=>'oe',157=>'.notdef',158=>'.notdef',159=>'Ydieresis',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'ordfeminine',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'onesuperior',186=>'ordmasculine',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'questiondown',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Atilde',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'Igrave',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Gbreve',209=>'Ntilde',210=>'Ograve',211=>'Oacute',212=>'Ocircumflex',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Idotaccent',222=>'Scedilla',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'atilde',228=>'adieresis',229=>'aring',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'igrave',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'gbreve',241=>'ntilde',242=>'ograve',243=>'oacute',244=>'ocircumflex',245=>'otilde',246=>'odieresis',247=>'divide',248=>'oslash',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'dotlessi',254=>'scedilla',255=>'ydieresis'), + +// encoding map for: cp1255 +'cp1255' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'florin',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'circumflex',137=>'perthousand',138=>'.notdef',139=>'guilsinglleft',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'tilde',153=>'trademark',154=>'.notdef',155=>'guilsinglright',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'afii57636',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'multiply',171=>'guillemotleft',172=>'logicalnot',173=>'sfthyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'middot',184=>'cedilla',185=>'onesuperior',186=>'divide',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'questiondown',192=>'afii57799',193=>'afii57801',194=>'afii57800',195=>'afii57802',196=>'afii57793',197=>'afii57794',198=>'afii57795',199=>'afii57798',200=>'afii57797',201=>'afii57806',202=>'.notdef',203=>'afii57796',204=>'afii57807',205=>'afii57839',206=>'afii57645',207=>'afii57841',208=>'afii57842',209=>'afii57804',210=>'afii57803',211=>'afii57658',212=>'afii57716',213=>'afii57717',214=>'afii57718',215=>'gereshhebrew',216=>'gershayimhebrew',217=>'.notdef',218=>'.notdef',219=>'.notdef',220=>'.notdef',221=>'.notdef',222=>'.notdef',223=>'.notdef',224=>'afii57664',225=>'afii57665',226=>'afii57666',227=>'afii57667',228=>'afii57668',229=>'afii57669',230=>'afii57670',231=>'afii57671',232=>'afii57672',233=>'afii57673',234=>'afii57674',235=>'afii57675',236=>'afii57676',237=>'afii57677',238=>'afii57678',239=>'afii57679',240=>'afii57680',241=>'afii57681',242=>'afii57682',243=>'afii57683',244=>'afii57684',245=>'afii57685',246=>'afii57686',247=>'afii57687',248=>'afii57688',249=>'afii57689',250=>'afii57690',251=>'.notdef',252=>'.notdef',253=>'afii299',254=>'afii300',255=>'.notdef'), + +// encoding map for: cp1256 +'cp1256' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'afii57506',130=>'quotesinglbase',131=>'florin',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'circumflex',137=>'perthousand',138=>'afii57511',139=>'guilsinglleft',140=>'OE',141=>'afii57507',142=>'afii57508',143=>'afii57512',144=>'afii57509',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'.notdef',153=>'trademark',154=>'afii57513',155=>'guilsinglright',156=>'oe',157=>'afii61664',158=>'afii301',159=>'afii57514',160=>'space',161=>'afii57388',162=>'cent',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'.notdef',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'onesuperior',186=>'afii57403',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'afii57407',192=>'.notdef',193=>'afii57409',194=>'afii57410',195=>'afii57411',196=>'afii57412',197=>'afii57413',198=>'afii57414',199=>'afii57415',200=>'afii57416',201=>'afii57417',202=>'afii57418',203=>'afii57419',204=>'afii57420',205=>'afii57421',206=>'afii57422',207=>'afii57423',208=>'afii57424',209=>'afii57425',210=>'afii57426',211=>'afii57427',212=>'afii57428',213=>'afii57429',214=>'afii57430',215=>'multiply',216=>'afii57431',217=>'afii57432',218=>'afii57433',219=>'afii57434',220=>'afii57440',221=>'afii57441',222=>'afii57442',223=>'afii57443',224=>'agrave',225=>'afii57444',226=>'acircumflex',227=>'afii57445',228=>'afii57446',229=>'afii57470',230=>'afii57448',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'afii57449',237=>'afii57450',238=>'icircumflex',239=>'idieresis',240=>'afii57451',241=>'afii57452',242=>'afii57453',243=>'afii57454',244=>'ocircumflex',245=>'afii57455',246=>'afii57456',247=>'divide',248=>'afii57457',249=>'ugrave',250=>'afii57458',251=>'ucircumflex',252=>'udieresis',253=>'afii299',254=>'afii300',255=>'afii57519'), + +// encoding map for: cp1257 +'cp1257' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'.notdef',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'.notdef',137=>'perthousand',138=>'.notdef',139=>'guilsinglleft',140=>'.notdef',141=>'dieresis',142=>'caron',143=>'cedilla',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'.notdef',153=>'trademark',154=>'.notdef',155=>'guilsinglright',156=>'.notdef',157=>'macron',158=>'ogonek',159=>'.notdef',160=>'space',161=>'.notdef',162=>'cent',163=>'sterling',164=>'currency',165=>'.notdef',166=>'brokenbar',167=>'section',168=>'Oslash',169=>'copyright',170=>'Rcommaaccent',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'AE',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'oslash',185=>'onesuperior',186=>'rcommaaccent',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'ae',192=>'Aogonek',193=>'Iogonek',194=>'Amacron',195=>'Cacute',196=>'Adieresis',197=>'Aring',198=>'Eogonek',199=>'Emacron',200=>'Ccaron',201=>'Eacute',202=>'Zacute',203=>'Edotaccent',204=>'Gcommaaccent',205=>'Kcommaaccent',206=>'Imacron',207=>'Lcommaaccent',208=>'Scaron',209=>'Nacute',210=>'Ncommaaccent',211=>'Oacute',212=>'Omacron',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Uogonek',217=>'Lslash',218=>'Sacute',219=>'Umacron',220=>'Udieresis',221=>'Zdotaccent',222=>'Zcaron',223=>'germandbls',224=>'aogonek',225=>'iogonek',226=>'amacron',227=>'cacute',228=>'adieresis',229=>'aring',230=>'eogonek',231=>'emacron',232=>'ccaron',233=>'eacute',234=>'zacute',235=>'edotaccent',236=>'gcommaaccent',237=>'kcommaaccent',238=>'imacron',239=>'lcommaaccent',240=>'scaron',241=>'nacute',242=>'ncommaaccent',243=>'oacute',244=>'omacron',245=>'otilde',246=>'odieresis',247=>'divide',248=>'uogonek',249=>'lslash',250=>'sacute',251=>'umacron',252=>'udieresis',253=>'zdotaccent',254=>'zcaron',255=>'dotaccent'), + +// encoding map for: cp1258 +'cp1258' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'Euro',129=>'.notdef',130=>'quotesinglbase',131=>'florin',132=>'quotedblbase',133=>'ellipsis',134=>'dagger',135=>'daggerdbl',136=>'circumflex',137=>'perthousand',138=>'.notdef',139=>'guilsinglleft',140=>'OE',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'quoteleft',146=>'quoteright',147=>'quotedblleft',148=>'quotedblright',149=>'bullet',150=>'endash',151=>'emdash',152=>'tilde',153=>'trademark',154=>'.notdef',155=>'guilsinglright',156=>'oe',157=>'.notdef',158=>'.notdef',159=>'Ydieresis',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'ordfeminine',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'onesuperior',186=>'ordmasculine',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'questiondown',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Abreve',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'gravecomb',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Dcroat',209=>'Ntilde',210=>'hookabovecomb',211=>'Oacute',212=>'Ocircumflex',213=>'Ohorn',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Uhorn',222=>'tildecomb',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'abreve',228=>'adieresis',229=>'aring',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'acutecomb',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'dcroat',241=>'ntilde',242=>'dotbelowcomb',243=>'oacute',244=>'ocircumflex',245=>'ohorn',246=>'odieresis',247=>'divide',248=>'oslash',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'uhorn',254=>'dong',255=>'ydieresis'), + +// encoding map for: iso-8859-1 +'iso-8859-1' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'ordfeminine',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'onesuperior',186=>'ordmasculine',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'questiondown',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Atilde',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'Igrave',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Eth',209=>'Ntilde',210=>'Ograve',211=>'Oacute',212=>'Ocircumflex',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Yacute',222=>'Thorn',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'atilde',228=>'adieresis',229=>'aring',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'igrave',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'eth',241=>'ntilde',242=>'ograve',243=>'oacute',244=>'ocircumflex',245=>'otilde',246=>'odieresis',247=>'divide',248=>'oslash',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'yacute',254=>'thorn',255=>'ydieresis'), + +// encoding map for: iso-8859-2 +'iso-8859-2' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'Aogonek',162=>'breve',163=>'Lslash',164=>'currency',165=>'Lcaron',166=>'Sacute',167=>'section',168=>'dieresis',169=>'Scaron',170=>'Scedilla',171=>'Tcaron',172=>'Zacute',173=>'hyphen',174=>'Zcaron',175=>'Zdotaccent',176=>'degree',177=>'aogonek',178=>'ogonek',179=>'lslash',180=>'acute',181=>'lcaron',182=>'sacute',183=>'caron',184=>'cedilla',185=>'scaron',186=>'scedilla',187=>'tcaron',188=>'zacute',189=>'hungarumlaut',190=>'zcaron',191=>'zdotaccent',192=>'Racute',193=>'Aacute',194=>'Acircumflex',195=>'Abreve',196=>'Adieresis',197=>'Lacute',198=>'Cacute',199=>'Ccedilla',200=>'Ccaron',201=>'Eacute',202=>'Eogonek',203=>'Edieresis',204=>'Ecaron',205=>'Iacute',206=>'Icircumflex',207=>'Dcaron',208=>'Dcroat',209=>'Nacute',210=>'Ncaron',211=>'Oacute',212=>'Ocircumflex',213=>'Ohungarumlaut',214=>'Odieresis',215=>'multiply',216=>'Rcaron',217=>'Uring',218=>'Uacute',219=>'Uhungarumlaut',220=>'Udieresis',221=>'Yacute',222=>'Tcommaaccent',223=>'germandbls',224=>'racute',225=>'aacute',226=>'acircumflex',227=>'abreve',228=>'adieresis',229=>'lacute',230=>'cacute',231=>'ccedilla',232=>'ccaron',233=>'eacute',234=>'eogonek',235=>'edieresis',236=>'ecaron',237=>'iacute',238=>'icircumflex',239=>'dcaron',240=>'dcroat',241=>'nacute',242=>'ncaron',243=>'oacute',244=>'ocircumflex',245=>'ohungarumlaut',246=>'odieresis',247=>'divide',248=>'rcaron',249=>'uring',250=>'uacute',251=>'uhungarumlaut',252=>'udieresis',253=>'yacute',254=>'tcommaaccent',255=>'dotaccent'), + +// encoding map for: iso-8859-4 +'iso-8859-4' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'Aogonek',162=>'kgreenlandic',163=>'Rcommaaccent',164=>'currency',165=>'Itilde',166=>'Lcommaaccent',167=>'section',168=>'dieresis',169=>'Scaron',170=>'Emacron',171=>'Gcommaaccent',172=>'Tbar',173=>'hyphen',174=>'Zcaron',175=>'macron',176=>'degree',177=>'aogonek',178=>'ogonek',179=>'rcommaaccent',180=>'acute',181=>'itilde',182=>'lcommaaccent',183=>'caron',184=>'cedilla',185=>'scaron',186=>'emacron',187=>'gcommaaccent',188=>'tbar',189=>'Eng',190=>'zcaron',191=>'eng',192=>'Amacron',193=>'Aacute',194=>'Acircumflex',195=>'Atilde',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Iogonek',200=>'Ccaron',201=>'Eacute',202=>'Eogonek',203=>'Edieresis',204=>'Edotaccent',205=>'Iacute',206=>'Icircumflex',207=>'Imacron',208=>'Dcroat',209=>'Ncommaaccent',210=>'Omacron',211=>'Kcommaaccent',212=>'Ocircumflex',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Uogonek',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Utilde',222=>'Umacron',223=>'germandbls',224=>'amacron',225=>'aacute',226=>'acircumflex',227=>'atilde',228=>'adieresis',229=>'aring',230=>'ae',231=>'iogonek',232=>'ccaron',233=>'eacute',234=>'eogonek',235=>'edieresis',236=>'edotaccent',237=>'iacute',238=>'icircumflex',239=>'imacron',240=>'dcroat',241=>'ncommaaccent',242=>'omacron',243=>'kcommaaccent',244=>'ocircumflex',245=>'otilde',246=>'odieresis',247=>'divide',248=>'oslash',249=>'uogonek',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'utilde',254=>'umacron',255=>'dotaccent'), + +// encoding map for: iso-8859-5 +'iso-8859-5' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'afii10023',162=>'afii10051',163=>'afii10052',164=>'afii10053',165=>'afii10054',166=>'afii10055',167=>'afii10056',168=>'afii10057',169=>'afii10058',170=>'afii10059',171=>'afii10060',172=>'afii10061',173=>'hyphen',174=>'afii10062',175=>'afii10145',176=>'afii10017',177=>'afii10018',178=>'afii10019',179=>'afii10020',180=>'afii10021',181=>'afii10022',182=>'afii10024',183=>'afii10025',184=>'afii10026',185=>'afii10027',186=>'afii10028',187=>'afii10029',188=>'afii10030',189=>'afii10031',190=>'afii10032',191=>'afii10033',192=>'afii10034',193=>'afii10035',194=>'afii10036',195=>'afii10037',196=>'afii10038',197=>'afii10039',198=>'afii10040',199=>'afii10041',200=>'afii10042',201=>'afii10043',202=>'afii10044',203=>'afii10045',204=>'afii10046',205=>'afii10047',206=>'afii10048',207=>'afii10049',208=>'afii10065',209=>'afii10066',210=>'afii10067',211=>'afii10068',212=>'afii10069',213=>'afii10070',214=>'afii10072',215=>'afii10073',216=>'afii10074',217=>'afii10075',218=>'afii10076',219=>'afii10077',220=>'afii10078',221=>'afii10079',222=>'afii10080',223=>'afii10081',224=>'afii10082',225=>'afii10083',226=>'afii10084',227=>'afii10085',228=>'afii10086',229=>'afii10087',230=>'afii10088',231=>'afii10089',232=>'afii10090',233=>'afii10091',234=>'afii10092',235=>'afii10093',236=>'afii10094',237=>'afii10095',238=>'afii10096',239=>'afii10097',240=>'afii61352',241=>'afii10071',242=>'afii10099',243=>'afii10100',244=>'afii10101',245=>'afii10102',246=>'afii10103',247=>'afii10104',248=>'afii10105',249=>'afii10106',250=>'afii10107',251=>'afii10108',252=>'afii10109',253=>'section',254=>'afii10110',255=>'afii10193'), + +// encoding map for: iso-8859-7 +'iso-8859-7' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'quoteleft',162=>'quoteright',163=>'sterling',164=>'.notdef',165=>'.notdef',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'.notdef',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'.notdef',175=>'afii00208',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'tonos',181=>'dieresistonos',182=>'Alphatonos',183=>'periodcentered',184=>'Epsilontonos',185=>'Etatonos',186=>'Iotatonos',187=>'guillemotright',188=>'Omicrontonos',189=>'onehalf',190=>'Upsilontonos',191=>'Omegatonos',192=>'iotadieresistonos',193=>'Alpha',194=>'Beta',195=>'Gamma',196=>'Delta',197=>'Epsilon',198=>'Zeta',199=>'Eta',200=>'Theta',201=>'Iota',202=>'Kappa',203=>'Lambda',204=>'Mu',205=>'Nu',206=>'Xi',207=>'Omicron',208=>'Pi',209=>'Rho',210=>'.notdef',211=>'Sigma',212=>'Tau',213=>'Upsilon',214=>'Phi',215=>'Chi',216=>'Psi',217=>'Omega',218=>'Iotadieresis',219=>'Upsilondieresis',220=>'alphatonos',221=>'epsilontonos',222=>'etatonos',223=>'iotatonos',224=>'upsilondieresistonos',225=>'alpha',226=>'beta',227=>'gamma',228=>'delta',229=>'epsilon',230=>'zeta',231=>'eta',232=>'theta',233=>'iota',234=>'kappa',235=>'lambda',236=>'mu',237=>'nu',238=>'xi',239=>'omicron',240=>'pi',241=>'rho',242=>'sigma1',243=>'sigma',244=>'tau',245=>'upsilon',246=>'phi',247=>'chi',248=>'psi',249=>'omega',250=>'iotadieresis',251=>'upsilondieresis',252=>'omicrontonos',253=>'upsilontonos',254=>'omegatonos',255=>'.notdef'), + +// encoding map for: iso-8859-9 +'iso-8859-9' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'currency',165=>'yen',166=>'brokenbar',167=>'section',168=>'dieresis',169=>'copyright',170=>'ordfeminine',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'acute',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'cedilla',185=>'onesuperior',186=>'ordmasculine',187=>'guillemotright',188=>'onequarter',189=>'onehalf',190=>'threequarters',191=>'questiondown',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Atilde',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'Igrave',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Gbreve',209=>'Ntilde',210=>'Ograve',211=>'Oacute',212=>'Ocircumflex',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Idotaccent',222=>'Scedilla',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'atilde',228=>'adieresis',229=>'aring',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'igrave',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'gbreve',241=>'ntilde',242=>'ograve',243=>'oacute',244=>'ocircumflex',245=>'otilde',246=>'odieresis',247=>'divide',248=>'oslash',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'dotlessi',254=>'scedilla',255=>'ydieresis'), + +// encoding map for: iso-8859-11 +'iso-8859-11' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'kokaithai',162=>'khokhaithai',163=>'khokhuatthai',164=>'khokhwaithai',165=>'khokhonthai',166=>'khorakhangthai',167=>'ngonguthai',168=>'chochanthai',169=>'chochingthai',170=>'chochangthai',171=>'sosothai',172=>'chochoethai',173=>'yoyingthai',174=>'dochadathai',175=>'topatakthai',176=>'thothanthai',177=>'thonangmonthothai',178=>'thophuthaothai',179=>'nonenthai',180=>'dodekthai',181=>'totaothai',182=>'thothungthai',183=>'thothahanthai',184=>'thothongthai',185=>'nonuthai',186=>'bobaimaithai',187=>'poplathai',188=>'phophungthai',189=>'fofathai',190=>'phophanthai',191=>'fofanthai',192=>'phosamphaothai',193=>'momathai',194=>'yoyakthai',195=>'roruathai',196=>'ruthai',197=>'lolingthai',198=>'luthai',199=>'wowaenthai',200=>'sosalathai',201=>'sorusithai',202=>'sosuathai',203=>'hohipthai',204=>'lochulathai',205=>'oangthai',206=>'honokhukthai',207=>'paiyannoithai',208=>'saraathai',209=>'maihanakatthai',210=>'saraaathai',211=>'saraamthai',212=>'saraithai',213=>'saraiithai',214=>'sarauethai',215=>'saraueethai',216=>'sarauthai',217=>'sarauuthai',218=>'phinthuthai',219=>'.notdef',220=>'.notdef',221=>'.notdef',222=>'.notdef',223=>'bahtthai',224=>'saraethai',225=>'saraaethai',226=>'saraothai',227=>'saraaimaimuanthai',228=>'saraaimaimalaithai',229=>'lakkhangyaothai',230=>'maiyamokthai',231=>'maitaikhuthai',232=>'maiekthai',233=>'maithothai',234=>'maitrithai',235=>'maichattawathai',236=>'thanthakhatthai',237=>'nikhahitthai',238=>'yamakkanthai',239=>'fongmanthai',240=>'zerothai',241=>'onethai',242=>'twothai',243=>'threethai',244=>'fourthai',245=>'fivethai',246=>'sixthai',247=>'seventhai',248=>'eightthai',249=>'ninethai',250=>'angkhankhuthai',251=>'khomutthai',252=>'.notdef',253=>'.notdef',254=>'.notdef',255=>'.notdef'), + +// encoding map for: iso-8859-15 +'iso-8859-15' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'exclamdown',162=>'cent',163=>'sterling',164=>'Euro',165=>'yen',166=>'Scaron',167=>'section',168=>'scaron',169=>'copyright',170=>'ordfeminine',171=>'guillemotleft',172=>'logicalnot',173=>'hyphen',174=>'registered',175=>'macron',176=>'degree',177=>'plusminus',178=>'twosuperior',179=>'threesuperior',180=>'Zcaron',181=>'mu',182=>'paragraph',183=>'periodcentered',184=>'zcaron',185=>'onesuperior',186=>'ordmasculine',187=>'guillemotright',188=>'OE',189=>'oe',190=>'Ydieresis',191=>'questiondown',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Atilde',196=>'Adieresis',197=>'Aring',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'Igrave',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Eth',209=>'Ntilde',210=>'Ograve',211=>'Oacute',212=>'Ocircumflex',213=>'Otilde',214=>'Odieresis',215=>'multiply',216=>'Oslash',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Yacute',222=>'Thorn',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'atilde',228=>'adieresis',229=>'aring',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'igrave',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'eth',241=>'ntilde',242=>'ograve',243=>'oacute',244=>'ocircumflex',245=>'otilde',246=>'odieresis',247=>'divide',248=>'oslash',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'yacute',254=>'thorn',255=>'ydieresis'), + +// encoding map for: iso-8859-16 +'iso-8859-16' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'space',161=>'Aogonek',162=>'aogonek',163=>'Lslash',164=>'Euro',165=>'quotedblbase',166=>'Scaron',167=>'section',168=>'scaron',169=>'copyright',170=>'Scommaaccent',171=>'guillemotleft',172=>'Zacute',173=>'hyphen',174=>'zacute',175=>'Zdotaccent',176=>'degree',177=>'plusminus',178=>'Ccaron',179=>'lslash',180=>'Zcaron',181=>'quotedblright',182=>'paragraph',183=>'periodcentered',184=>'zcaron',185=>'ccaron',186=>'scommaaccent',187=>'guillemotright',188=>'OE',189=>'oe',190=>'Ydieresis',191=>'zdotaccent',192=>'Agrave',193=>'Aacute',194=>'Acircumflex',195=>'Abreve',196=>'Adieresis',197=>'Cacute',198=>'AE',199=>'Ccedilla',200=>'Egrave',201=>'Eacute',202=>'Ecircumflex',203=>'Edieresis',204=>'Igrave',205=>'Iacute',206=>'Icircumflex',207=>'Idieresis',208=>'Dcroat',209=>'Nacute',210=>'Ograve',211=>'Oacute',212=>'Ocircumflex',213=>'Ohungarumlaut',214=>'Odieresis',215=>'Sacute',216=>'Uhungarumlaut',217=>'Ugrave',218=>'Uacute',219=>'Ucircumflex',220=>'Udieresis',221=>'Eogonek',222=>'Tcommaaccent',223=>'germandbls',224=>'agrave',225=>'aacute',226=>'acircumflex',227=>'abreve',228=>'adieresis',229=>'cacute',230=>'ae',231=>'ccedilla',232=>'egrave',233=>'eacute',234=>'ecircumflex',235=>'edieresis',236=>'igrave',237=>'iacute',238=>'icircumflex',239=>'idieresis',240=>'dcroat',241=>'nacute',242=>'ograve',243=>'oacute',244=>'ocircumflex',245=>'ohungarumlaut',246=>'odieresis',247=>'sacute',248=>'uhungarumlaut',249=>'ugrave',250=>'uacute',251=>'ucircumflex',252=>'udieresis',253=>'eogonek',254=>'tcommaaccent',255=>'ydieresis'), + +// encoding map for: koi8-r +'koi8-r' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'SF100000',129=>'SF110000',130=>'SF010000',131=>'SF030000',132=>'SF020000',133=>'SF040000',134=>'SF080000',135=>'SF090000',136=>'SF060000',137=>'SF070000',138=>'SF050000',139=>'upblock',140=>'dnblock',141=>'block',142=>'lfblock',143=>'rtblock',144=>'ltshade',145=>'shade',146=>'dkshade',147=>'integraltp',148=>'filledbox',149=>'periodcentered',150=>'radical',151=>'approxequal',152=>'lessequal',153=>'greaterequal',154=>'space',155=>'integralbt',156=>'degree',157=>'twosuperior',158=>'periodcentered',159=>'divide',160=>'SF430000',161=>'SF240000',162=>'SF510000',163=>'afii10071',164=>'SF520000',165=>'SF390000',166=>'SF220000',167=>'SF210000',168=>'SF250000',169=>'SF500000',170=>'SF490000',171=>'SF380000',172=>'SF280000',173=>'SF270000',174=>'SF260000',175=>'SF360000',176=>'SF370000',177=>'SF420000',178=>'SF190000',179=>'afii10023',180=>'SF200000',181=>'SF230000',182=>'SF470000',183=>'SF480000',184=>'SF410000',185=>'SF450000',186=>'SF460000',187=>'SF400000',188=>'SF540000',189=>'SF530000',190=>'SF440000',191=>'copyright',192=>'afii10096',193=>'afii10065',194=>'afii10066',195=>'afii10088',196=>'afii10069',197=>'afii10070',198=>'afii10086',199=>'afii10068',200=>'afii10087',201=>'afii10074',202=>'afii10075',203=>'afii10076',204=>'afii10077',205=>'afii10078',206=>'afii10079',207=>'afii10080',208=>'afii10081',209=>'afii10097',210=>'afii10082',211=>'afii10083',212=>'afii10084',213=>'afii10085',214=>'afii10072',215=>'afii10067',216=>'afii10094',217=>'afii10093',218=>'afii10073',219=>'afii10090',220=>'afii10095',221=>'afii10091',222=>'afii10089',223=>'afii10092',224=>'afii10048',225=>'afii10017',226=>'afii10018',227=>'afii10040',228=>'afii10021',229=>'afii10022',230=>'afii10038',231=>'afii10020',232=>'afii10039',233=>'afii10026',234=>'afii10027',235=>'afii10028',236=>'afii10029',237=>'afii10030',238=>'afii10031',239=>'afii10032',240=>'afii10033',241=>'afii10049',242=>'afii10034',243=>'afii10035',244=>'afii10036',245=>'afii10037',246=>'afii10024',247=>'afii10019',248=>'afii10046',249=>'afii10045',250=>'afii10025',251=>'afii10042',252=>'afii10047',253=>'afii10043',254=>'afii10041',255=>'afii10044'), + +// encoding map for: koi8-u +'koi8-u' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'quotedbl',35=>'numbersign',36=>'dollar',37=>'percent',38=>'ampersand',39=>'quotesingle',40=>'parenleft',41=>'parenright',42=>'asterisk',43=>'plus',44=>'comma',45=>'hyphen',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'at',65=>'A',66=>'B',67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'bracketleft',92=>'backslash',93=>'bracketright',94=>'asciicircum',95=>'underscore',96=>'grave',97=>'a',98=>'b',99=>'c',100=>'d',101=>'e',102=>'f',103=>'g',104=>'h',105=>'i',106=>'j',107=>'k',108=>'l',109=>'m',110=>'n',111=>'o',112=>'p',113=>'q',114=>'r',115=>'s',116=>'t',117=>'u',118=>'v',119=>'w',120=>'x',121=>'y',122=>'z',123=>'braceleft',124=>'bar',125=>'braceright',126=>'asciitilde',127=>'.notdef',128=>'SF100000',129=>'SF110000',130=>'SF010000',131=>'SF030000',132=>'SF020000',133=>'SF040000',134=>'SF080000',135=>'SF090000',136=>'SF060000',137=>'SF070000',138=>'SF050000',139=>'upblock',140=>'dnblock',141=>'block',142=>'lfblock',143=>'rtblock',144=>'ltshade',145=>'shade',146=>'dkshade',147=>'integraltp',148=>'filledbox',149=>'bullet',150=>'radical',151=>'approxequal',152=>'lessequal',153=>'greaterequal',154=>'space',155=>'integralbt',156=>'degree',157=>'twosuperior',158=>'periodcentered',159=>'divide',160=>'SF430000',161=>'SF240000',162=>'SF510000',163=>'afii10071',164=>'afii10101',165=>'SF390000',166=>'afii10103',167=>'afii10104',168=>'SF250000',169=>'SF500000',170=>'SF490000',171=>'SF380000',172=>'SF280000',173=>'afii10098',174=>'SF260000',175=>'SF360000',176=>'SF370000',177=>'SF420000',178=>'SF190000',179=>'afii10023',180=>'afii10053',181=>'SF230000',182=>'afii10055',183=>'afii10056',184=>'SF410000',185=>'SF450000',186=>'SF460000',187=>'SF400000',188=>'SF540000',189=>'afii10050',190=>'SF440000',191=>'copyright',192=>'afii10096',193=>'afii10065',194=>'afii10066',195=>'afii10088',196=>'afii10069',197=>'afii10070',198=>'afii10086',199=>'afii10068',200=>'afii10087',201=>'afii10074',202=>'afii10075',203=>'afii10076',204=>'afii10077',205=>'afii10078',206=>'afii10079',207=>'afii10080',208=>'afii10081',209=>'afii10097',210=>'afii10082',211=>'afii10083',212=>'afii10084',213=>'afii10085',214=>'afii10072',215=>'afii10067',216=>'afii10094',217=>'afii10093',218=>'afii10073',219=>'afii10090',220=>'afii10095',221=>'afii10091',222=>'afii10089',223=>'afii10092',224=>'afii10048',225=>'afii10017',226=>'afii10018',227=>'afii10040',228=>'afii10021',229=>'afii10022',230=>'afii10038',231=>'afii10020',232=>'afii10039',233=>'afii10026',234=>'afii10027',235=>'afii10028',236=>'afii10029',237=>'afii10030',238=>'afii10031',239=>'afii10032',240=>'afii10033',241=>'afii10049',242=>'afii10034',243=>'afii10035',244=>'afii10036',245=>'afii10037',246=>'afii10024',247=>'afii10019',248=>'afii10046',249=>'afii10045',250=>'afii10025',251=>'afii10042',252=>'afii10047',253=>'afii10043',254=>'afii10041',255=>'afii10044'), + +// encoding map for: symbol +'symbol' => array(0=>'.notdef',1=>'.notdef',2=>'.notdef',3=>'.notdef',4=>'.notdef',5=>'.notdef',6=>'.notdef',7=>'.notdef',8=>'.notdef',9=>'.notdef',10=>'.notdef',11=>'.notdef',12=>'.notdef',13=>'.notdef',14=>'.notdef',15=>'.notdef',16=>'.notdef',17=>'.notdef',18=>'.notdef',19=>'.notdef',20=>'.notdef',21=>'.notdef',22=>'.notdef',23=>'.notdef',24=>'.notdef',25=>'.notdef',26=>'.notdef',27=>'.notdef',28=>'.notdef',29=>'.notdef',30=>'.notdef',31=>'.notdef',32=>'space',33=>'exclam',34=>'universal',35=>'numbersign',36=>'existential',37=>'percent',38=>'ampersand',39=>'suchthat',40=>'parenleft',41=>'parenright',42=>'asteriskmath',43=>'plus',44=>'comma',45=>'minus',46=>'period',47=>'slash',48=>'zero',49=>'one',50=>'two',51=>'three',52=>'four',53=>'five',54=>'six',55=>'seven',56=>'eight',57=>'nine',58=>'colon',59=>'semicolon',60=>'less',61=>'equal',62=>'greater',63=>'question',64=>'congruent',65=>'Alpha',66=>'Beta',67=>'Chi',68=>'Delta',69=>'Epsilon',70=>'Phi',71=>'Gamma',72=>'Eta',73=>'Iota',74=>'theta1',75=>'Kappa',76=>'Lambda',77=>'Mu',78=>'Nu',79=>'Omicron',80=>'Pi',81=>'Theta',82=>'Rho',83=>'Sigma',84=>'Tau',85=>'Upsilon',86=>'sigma1',87=>'Omega',88=>'Xi',89=>'Psi',90=>'Zeta',91=>'bracketleft',92=>'therefore',93=>'bracketright',94=>'perpendicular',95=>'underscore',96=>'radicalex',97=>'alpha',98=>'beta',99=>'chi',100=>'delta',101=>'epsilon',102=>'phi',103=>'gamma',104=>'eta',105=>'iota',106=>'phi1',107=>'kappa',108=>'lambda',109=>'mu',110=>'nu',111=>'omicron',112=>'pi',113=>'theta',114=>'rho',115=>'sigma',116=>'tau',117=>'upsilon',118=>'omega1',119=>'omega',120=>'xi',121=>'psi',122=>'zeta',123=>'braceleft',124=>'bar',125=>'braceright',126=>'similar',127=>'.notdef',128=>'.notdef',129=>'.notdef',130=>'.notdef',131=>'.notdef',132=>'.notdef',133=>'.notdef',134=>'.notdef',135=>'.notdef',136=>'.notdef',137=>'.notdef',138=>'.notdef',139=>'.notdef',140=>'.notdef',141=>'.notdef',142=>'.notdef',143=>'.notdef',144=>'.notdef',145=>'.notdef',146=>'.notdef',147=>'.notdef',148=>'.notdef',149=>'.notdef',150=>'.notdef',151=>'.notdef',152=>'.notdef',153=>'.notdef',154=>'.notdef',155=>'.notdef',156=>'.notdef',157=>'.notdef',158=>'.notdef',159=>'.notdef',160=>'Euro',161=>'Upsilon1',162=>'minute',163=>'lessequal',164=>'fraction',165=>'infinity',166=>'florin',167=>'club',168=>'diamond',169=>'heart',170=>'spade',171=>'arrowboth',172=>'arrowleft',173=>'arrowup',174=>'arrowright',175=>'arrowdown',176=>'degree',177=>'plusminus',178=>'second',179=>'greaterequal',180=>'multiply',181=>'proportional',182=>'partialdiff',183=>'bullet',184=>'divide',185=>'notequal',186=>'equivalence',187=>'approxequal',188=>'ellipsis',189=>'arrowvertex',190=>'arrowhorizex',191=>'carriagereturn',192=>'aleph',193=>'Ifraktur',194=>'Rfraktur',195=>'weierstrass',196=>'circlemultiply',197=>'circleplus',198=>'emptyset',199=>'intersection',200=>'union',201=>'propersuperset',202=>'reflexsuperset',203=>'notsubset',204=>'propersubset',205=>'reflexsubset',206=>'element',207=>'notelement',208=>'angle',209=>'gradient',210=>'registerserif',211=>'copyrightserif',212=>'trademarkserif',213=>'product',214=>'radical',215=>'dotmath',216=>'logicalnot',217=>'logicaland',218=>'logicalor',219=>'arrowdblboth',220=>'arrowdblleft',221=>'arrowdblup',222=>'arrowdblright',223=>'arrowdbldown',224=>'lozenge',225=>'angleleft',226=>'registersans',227=>'copyrightsans',228=>'trademarksans',229=>'summation',230=>'parenlefttp',231=>'parenleftex',232=>'parenleftbt',233=>'bracketlefttp',234=>'bracketleftex',235=>'bracketleftbt',236=>'bracelefttp',237=>'braceleftmid',238=>'braceleftbt',239=>'braceex',240=>'.notdef',241=>'angleright',242=>'integral',243=>'integraltp',244=>'integralex',245=>'integralbt',246=>'parenrighttp',247=>'parenrightex',248=>'parenrightbt',249=>'bracketrighttp',250=>'bracketrightex',251=>'bracketrightbt',252=>'bracerighttp',253=>'bracerightmid',254=>'bracerightbt',255=>'.notdef',1226=>'registered',1227=>'copyright',1228=>'trademark') + +); // end of encoding maps + +/** + * ToUnicode map for Identity-H stream + * @public static + */ +public static $uni_identity_h = "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n/WMode 0 def\n1 begincodespacerange\n<0000> \nendcodespacerange\n100 beginbfrange\n<0000> <00ff> <0000>\n<0100> <01ff> <0100>\n<0200> <02ff> <0200>\n<0300> <03ff> <0300>\n<0400> <04ff> <0400>\n<0500> <05ff> <0500>\n<0600> <06ff> <0600>\n<0700> <07ff> <0700>\n<0800> <08ff> <0800>\n<0900> <09ff> <0900>\n<0a00> <0aff> <0a00>\n<0b00> <0bff> <0b00>\n<0c00> <0cff> <0c00>\n<0d00> <0dff> <0d00>\n<0e00> <0eff> <0e00>\n<0f00> <0fff> <0f00>\n<1000> <10ff> <1000>\n<1100> <11ff> <1100>\n<1200> <12ff> <1200>\n<1300> <13ff> <1300>\n<1400> <14ff> <1400>\n<1500> <15ff> <1500>\n<1600> <16ff> <1600>\n<1700> <17ff> <1700>\n<1800> <18ff> <1800>\n<1900> <19ff> <1900>\n<1a00> <1aff> <1a00>\n<1b00> <1bff> <1b00>\n<1c00> <1cff> <1c00>\n<1d00> <1dff> <1d00>\n<1e00> <1eff> <1e00>\n<1f00> <1fff> <1f00>\n<2000> <20ff> <2000>\n<2100> <21ff> <2100>\n<2200> <22ff> <2200>\n<2300> <23ff> <2300>\n<2400> <24ff> <2400>\n<2500> <25ff> <2500>\n<2600> <26ff> <2600>\n<2700> <27ff> <2700>\n<2800> <28ff> <2800>\n<2900> <29ff> <2900>\n<2a00> <2aff> <2a00>\n<2b00> <2bff> <2b00>\n<2c00> <2cff> <2c00>\n<2d00> <2dff> <2d00>\n<2e00> <2eff> <2e00>\n<2f00> <2fff> <2f00>\n<3000> <30ff> <3000>\n<3100> <31ff> <3100>\n<3200> <32ff> <3200>\n<3300> <33ff> <3300>\n<3400> <34ff> <3400>\n<3500> <35ff> <3500>\n<3600> <36ff> <3600>\n<3700> <37ff> <3700>\n<3800> <38ff> <3800>\n<3900> <39ff> <3900>\n<3a00> <3aff> <3a00>\n<3b00> <3bff> <3b00>\n<3c00> <3cff> <3c00>\n<3d00> <3dff> <3d00>\n<3e00> <3eff> <3e00>\n<3f00> <3fff> <3f00>\n<4000> <40ff> <4000>\n<4100> <41ff> <4100>\n<4200> <42ff> <4200>\n<4300> <43ff> <4300>\n<4400> <44ff> <4400>\n<4500> <45ff> <4500>\n<4600> <46ff> <4600>\n<4700> <47ff> <4700>\n<4800> <48ff> <4800>\n<4900> <49ff> <4900>\n<4a00> <4aff> <4a00>\n<4b00> <4bff> <4b00>\n<4c00> <4cff> <4c00>\n<4d00> <4dff> <4d00>\n<4e00> <4eff> <4e00>\n<4f00> <4fff> <4f00>\n<5000> <50ff> <5000>\n<5100> <51ff> <5100>\n<5200> <52ff> <5200>\n<5300> <53ff> <5300>\n<5400> <54ff> <5400>\n<5500> <55ff> <5500>\n<5600> <56ff> <5600>\n<5700> <57ff> <5700>\n<5800> <58ff> <5800>\n<5900> <59ff> <5900>\n<5a00> <5aff> <5a00>\n<5b00> <5bff> <5b00>\n<5c00> <5cff> <5c00>\n<5d00> <5dff> <5d00>\n<5e00> <5eff> <5e00>\n<5f00> <5fff> <5f00>\n<6000> <60ff> <6000>\n<6100> <61ff> <6100>\n<6200> <62ff> <6200>\n<6300> <63ff> <6300>\nendbfrange\n100 beginbfrange\n<6400> <64ff> <6400>\n<6500> <65ff> <6500>\n<6600> <66ff> <6600>\n<6700> <67ff> <6700>\n<6800> <68ff> <6800>\n<6900> <69ff> <6900>\n<6a00> <6aff> <6a00>\n<6b00> <6bff> <6b00>\n<6c00> <6cff> <6c00>\n<6d00> <6dff> <6d00>\n<6e00> <6eff> <6e00>\n<6f00> <6fff> <6f00>\n<7000> <70ff> <7000>\n<7100> <71ff> <7100>\n<7200> <72ff> <7200>\n<7300> <73ff> <7300>\n<7400> <74ff> <7400>\n<7500> <75ff> <7500>\n<7600> <76ff> <7600>\n<7700> <77ff> <7700>\n<7800> <78ff> <7800>\n<7900> <79ff> <7900>\n<7a00> <7aff> <7a00>\n<7b00> <7bff> <7b00>\n<7c00> <7cff> <7c00>\n<7d00> <7dff> <7d00>\n<7e00> <7eff> <7e00>\n<7f00> <7fff> <7f00>\n<8000> <80ff> <8000>\n<8100> <81ff> <8100>\n<8200> <82ff> <8200>\n<8300> <83ff> <8300>\n<8400> <84ff> <8400>\n<8500> <85ff> <8500>\n<8600> <86ff> <8600>\n<8700> <87ff> <8700>\n<8800> <88ff> <8800>\n<8900> <89ff> <8900>\n<8a00> <8aff> <8a00>\n<8b00> <8bff> <8b00>\n<8c00> <8cff> <8c00>\n<8d00> <8dff> <8d00>\n<8e00> <8eff> <8e00>\n<8f00> <8fff> <8f00>\n<9000> <90ff> <9000>\n<9100> <91ff> <9100>\n<9200> <92ff> <9200>\n<9300> <93ff> <9300>\n<9400> <94ff> <9400>\n<9500> <95ff> <9500>\n<9600> <96ff> <9600>\n<9700> <97ff> <9700>\n<9800> <98ff> <9800>\n<9900> <99ff> <9900>\n<9a00> <9aff> <9a00>\n<9b00> <9bff> <9b00>\n<9c00> <9cff> <9c00>\n<9d00> <9dff> <9d00>\n<9e00> <9eff> <9e00>\n<9f00> <9fff> <9f00>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \nendbfrange\n56 beginbfrange\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \nendbfrange\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; + +} // END OF TCPDF_FONT_DATA CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php b/vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php new file mode 100644 index 0000000..fbe7009 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php @@ -0,0 +1,2658 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description :Font methods for TCPDF library. +// +//============================================================+ + +/** + * @file + * Unicode data and font methods for TCPDF library. + * @author Nicola Asuni + * @package com.tecnick.tcpdf + */ + +/** + * @class TCPDF_FONTS + * Font methods for TCPDF library. + * @package com.tecnick.tcpdf + * @version 1.1.1 + * @author Nicola Asuni - info@tecnick.com + */ +class TCPDF_FONTS { + + /** + * Static cache used for speed up uniord performances + * @protected + */ + protected static $cache_uniord = array(); + + /** + * Convert and add the selected TrueType or Type1 font to the fonts folder (that must be writeable). + * @param string $fontfile Font file (full path). + * @param string $fonttype Font type. Leave empty for autodetect mode. Valid values are: TrueTypeUnicode, TrueType, Type1, CID0JP = CID-0 Japanese, CID0KR = CID-0 Korean, CID0CS = CID-0 Chinese Simplified, CID0CT = CID-0 Chinese Traditional. + * @param string $enc Name of the encoding table to use. Leave empty for default mode. Omit this parameter for TrueType Unicode and symbolic fonts like Symbol or ZapfDingBats. + * @param int $flags Unsigned 32-bit integer containing flags specifying various characteristics of the font (PDF32000:2008 - 9.8.2 Font Descriptor Flags): +1 for fixed font; +4 for symbol or +32 for non-symbol; +64 for italic. Fixed and Italic mode are generally autodetected so you have to set it to 32 = non-symbolic font (default) or 4 = symbolic font. + * @param string $outpath Output path for generated font files (must be writeable by the web server). Leave empty for default font folder. + * @param int $platid Platform ID for CMAP table to extract (when building a Unicode font for Windows this value should be 3, for Macintosh should be 1). + * @param int $encid Encoding ID for CMAP table to extract (when building a Unicode font for Windows this value should be 1, for Macintosh should be 0). When Platform ID is 3, legal values for Encoding ID are: 0=Symbol, 1=Unicode, 2=ShiftJIS, 3=PRC, 4=Big5, 5=Wansung, 6=Johab, 7=Reserved, 8=Reserved, 9=Reserved, 10=UCS-4. + * @param boolean $addcbbox If true includes the character bounding box information on the php font file. + * @param boolean $link If true link to system font instead of copying the font data (not transportable) - Note: do not work with Type1 fonts. + * @return string|false TCPDF font name or boolean false in case of error. + * @author Nicola Asuni + * @since 5.9.123 (2010-09-30) + * @public static + */ + public static function addTTFfont($fontfile, $fonttype='', $enc='', $flags=32, $outpath='', $platid=3, $encid=1, $addcbbox=false, $link=false) { + if (!TCPDF_STATIC::file_exists($fontfile)) { + // Could not find file + return false; + } + // font metrics + $fmetric = array(); + // build new font name for TCPDF compatibility + $font_path_parts = pathinfo($fontfile); + if (!isset($font_path_parts['filename'])) { + $font_path_parts['filename'] = substr($font_path_parts['basename'], 0, -(strlen($font_path_parts['extension']) + 1)); + } + $font_name = strtolower($font_path_parts['filename']); + $font_name = preg_replace('/[^a-z0-9_]/', '', $font_name); + $search = array('bold', 'oblique', 'italic', 'regular'); + $replace = array('b', 'i', 'i', ''); + $font_name = str_replace($search, $replace, $font_name); + if (empty($font_name)) { + // set generic name + $font_name = 'tcpdffont'; + } + // set output path + if (empty($outpath)) { + $outpath = self::_getfontpath(); + } + // check if this font already exist + if (@TCPDF_STATIC::file_exists($outpath.$font_name.'.php')) { + // this font already exist (delete it from fonts folder to rebuild it) + return $font_name; + } + $fmetric['file'] = $font_name; + $fmetric['ctg'] = $font_name.'.ctg.z'; + // get font data + $font = file_get_contents($fontfile); + $fmetric['originalsize'] = strlen($font); + // autodetect font type + if (empty($fonttype)) { + if (TCPDF_STATIC::_getULONG($font, 0) == 0x10000) { + // True Type (Unicode or not) + $fonttype = 'TrueTypeUnicode'; + } elseif (substr($font, 0, 4) == 'OTTO') { + // Open Type (Unicode or not) + //Unsupported font format: OpenType with CFF data + return false; + } else { + // Type 1 + $fonttype = 'Type1'; + } + } + // set font type + switch ($fonttype) { + case 'CID0CT': + case 'CID0CS': + case 'CID0KR': + case 'CID0JP': { + $fmetric['type'] = 'cidfont0'; + break; + } + case 'Type1': { + $fmetric['type'] = 'Type1'; + if (empty($enc) AND (($flags & 4) == 0)) { + $enc = 'cp1252'; + } + break; + } + case 'TrueType': { + $fmetric['type'] = 'TrueType'; + break; + } + case 'TrueTypeUnicode': + default: { + $fmetric['type'] = 'TrueTypeUnicode'; + break; + } + } + // set encoding maps (if any) + $fmetric['enc'] = preg_replace('/[^A-Za-z0-9_\-]/', '', $enc); + $fmetric['diff'] = ''; + if (($fmetric['type'] == 'TrueType') OR ($fmetric['type'] == 'Type1')) { + if (!empty($enc) AND ($enc != 'cp1252') AND isset(TCPDF_FONT_DATA::$encmap[$enc])) { + // build differences from reference encoding + $enc_ref = TCPDF_FONT_DATA::$encmap['cp1252']; + $enc_target = TCPDF_FONT_DATA::$encmap[$enc]; + $last = 0; + for ($i = 32; $i <= 255; ++$i) { + if ($enc_target[$i] != $enc_ref[$i]) { + if ($i != ($last + 1)) { + $fmetric['diff'] .= $i.' '; + } + $last = $i; + $fmetric['diff'] .= '/'.$enc_target[$i].' '; + } + } + } + } + // parse the font by type + if ($fmetric['type'] == 'Type1') { + // ---------- TYPE 1 ---------- + // read first segment + $a = unpack('Cmarker/Ctype/Vsize', substr($font, 0, 6)); + if ($a['marker'] != 128) { + // Font file is not a valid binary Type1 + return false; + } + $fmetric['size1'] = $a['size']; + $data = substr($font, 6, $fmetric['size1']); + // read second segment + $a = unpack('Cmarker/Ctype/Vsize', substr($font, (6 + $fmetric['size1']), 6)); + if ($a['marker'] != 128) { + // Font file is not a valid binary Type1 + return false; + } + $fmetric['size2'] = $a['size']; + $encrypted = substr($font, (12 + $fmetric['size1']), $fmetric['size2']); + $data .= $encrypted; + // store compressed font + $fmetric['file'] .= '.z'; + $fp = TCPDF_STATIC::fopenLocal($outpath.$fmetric['file'], 'wb'); + fwrite($fp, gzcompress($data)); + fclose($fp); + // get font info + $fmetric['Flags'] = $flags; + preg_match ('#/FullName[\s]*+\(([^\)]*+)#', $font, $matches); + $fmetric['name'] = preg_replace('/[^a-zA-Z0-9_\-]/', '', $matches[1]); + preg_match('#/FontBBox[\s]*+{([^}]*+)#', $font, $matches); + $rawbvl = explode(' ', trim($matches[1])); + $bvl = [(int) $rawbvl[0], (int) $rawbvl[1], (int) $rawbvl[2], (int) $rawbvl[3]]; + $fmetric['bbox'] = implode(' ', $bvl); + $fmetric['Ascent'] = $bvl[3]; + $fmetric['Descent'] = $bvl[1]; + preg_match('#/ItalicAngle[\s]*+([0-9\+\-]*+)#', $font, $matches); + $fmetric['italicAngle'] = intval($matches[1]); + if ($fmetric['italicAngle'] != 0) { + $fmetric['Flags'] |= 64; + } + preg_match('#/UnderlinePosition[\s]*+([0-9\+\-]*+)#', $font, $matches); + $fmetric['underlinePosition'] = intval($matches[1]); + preg_match('#/UnderlineThickness[\s]*+([0-9\+\-]*+)#', $font, $matches); + $fmetric['underlineThickness'] = intval($matches[1]); + preg_match('#/isFixedPitch[\s]*+([^\s]*+)#', $font, $matches); + if ($matches[1] == 'true') { + $fmetric['Flags'] |= 1; + } + // get internal map + $imap = array(); + if (preg_match_all('#dup[\s]([0-9]+)[\s]*+/([^\s]*+)[\s]put#sU', $font, $fmap, PREG_SET_ORDER) > 0) { + foreach ($fmap as $v) { + $imap[$v[2]] = $v[1]; + } + } + // decrypt eexec encrypted part + $r = 55665; // eexec encryption constant + $c1 = 52845; + $c2 = 22719; + $elen = strlen($encrypted); + $eplain = ''; + for ($i = 0; $i < $elen; ++$i) { + $chr = ord($encrypted[$i]); + $eplain .= chr($chr ^ ($r >> 8)); + $r = ((($chr + $r) * $c1 + $c2) % 65536); + } + if (preg_match('#/ForceBold[\s]*+([^\s]*+)#', $eplain, $matches) > 0) { + if ($matches[1] == 'true') { + $fmetric['Flags'] |= 0x40000; + } + } + if (preg_match('#/StdVW[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0) { + $fmetric['StemV'] = intval($matches[1]); + } else { + $fmetric['StemV'] = 70; + } + if (preg_match('#/StdHW[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0) { + $fmetric['StemH'] = intval($matches[1]); + } else { + $fmetric['StemH'] = 30; + } + if (preg_match('#/BlueValues[\s]*+\[([^\]]*+)#', $eplain, $matches) > 0) { + $bv = explode(' ', $matches[1]); + if (count($bv) >= 6) { + $v1 = intval($bv[2]); + $v2 = intval($bv[4]); + if ($v1 <= $v2) { + $fmetric['XHeight'] = $v1; + $fmetric['CapHeight'] = $v2; + } else { + $fmetric['XHeight'] = $v2; + $fmetric['CapHeight'] = $v1; + } + } else { + $fmetric['XHeight'] = 450; + $fmetric['CapHeight'] = 700; + } + } else { + $fmetric['XHeight'] = 450; + $fmetric['CapHeight'] = 700; + } + // get the number of random bytes at the beginning of charstrings + if (preg_match('#/lenIV[\s]*+([\d]*+)#', $eplain, $matches) > 0) { + $lenIV = intval($matches[1]); + } else { + $lenIV = 4; + } + $fmetric['Leading'] = 0; + // get charstring data + $eplain = substr($eplain, (strpos($eplain, '/CharStrings') + 1)); + preg_match_all('#/([A-Za-z0-9\.]*+)[\s][0-9]+[\s]RD[\s](.*)[\s]ND#sU', $eplain, $matches, PREG_SET_ORDER); + if (!empty($enc) AND isset(TCPDF_FONT_DATA::$encmap[$enc])) { + $enc_map = TCPDF_FONT_DATA::$encmap[$enc]; + } else { + $enc_map = false; + } + $fmetric['cw'] = ''; + $fmetric['MaxWidth'] = 0; + $cwidths = array(); + foreach ($matches as $k => $v) { + $cid = 0; + if (isset($imap[$v[1]])) { + $cid = $imap[$v[1]]; + } elseif ($enc_map !== false) { + $cid = array_search($v[1], $enc_map); + if ($cid === false) { + $cid = 0; + } elseif ($cid > 1000) { + $cid -= 1000; + } + } + // decrypt charstring encrypted part + $r = 4330; // charstring encryption constant + $c1 = 52845; + $c2 = 22719; + $cd = $v[2]; + $clen = strlen($cd); + $ccom = array(); + for ($i = 0; $i < $clen; ++$i) { + $chr = ord($cd[$i]); + $ccom[] = ($chr ^ ($r >> 8)); + $r = ((($chr + $r) * $c1 + $c2) % 65536); + } + // decode numbers + $cdec = array(); + $ck = 0; + $i = $lenIV; + while ($i < $clen) { + if ($ccom[$i] < 32) { + $cdec[$ck] = $ccom[$i]; + if (($ck > 0) AND ($cdec[$ck] == 13)) { + // hsbw command: update width + $cwidths[$cid] = $cdec[($ck - 1)]; + } + ++$i; + } elseif (($ccom[$i] >= 32) AND ($ccom[$i] <= 246)) { + $cdec[$ck] = ($ccom[$i] - 139); + ++$i; + } elseif (($ccom[$i] >= 247) AND ($ccom[$i] <= 250)) { + $cdec[$ck] = ((($ccom[$i] - 247) * 256) + $ccom[($i + 1)] + 108); + $i += 2; + } elseif (($ccom[$i] >= 251) AND ($ccom[$i] <= 254)) { + $cdec[$ck] = ((-($ccom[$i] - 251) * 256) - $ccom[($i + 1)] - 108); + $i += 2; + } elseif ($ccom[$i] == 255) { + $sval = chr($ccom[($i + 1)]).chr($ccom[($i + 2)]).chr($ccom[($i + 3)]).chr($ccom[($i + 4)]); + $vsval = unpack('li', $sval); + $cdec[$ck] = $vsval['i']; + $i += 5; + } + ++$ck; + } + } // end for each matches + $fmetric['MissingWidth'] = $cwidths[0]; + $fmetric['MaxWidth'] = $fmetric['MissingWidth']; + $fmetric['AvgWidth'] = 0; + // set chars widths + for ($cid = 0; $cid <= 255; ++$cid) { + if (isset($cwidths[$cid])) { + if ($cwidths[$cid] > $fmetric['MaxWidth']) { + $fmetric['MaxWidth'] = $cwidths[$cid]; + } + $fmetric['AvgWidth'] += $cwidths[$cid]; + $fmetric['cw'] .= ','.$cid.'=>'.$cwidths[$cid]; + } else { + $fmetric['cw'] .= ','.$cid.'=>'.$fmetric['MissingWidth']; + } + } + $fmetric['AvgWidth'] = round($fmetric['AvgWidth'] / count($cwidths)); + } else { + // ---------- TRUE TYPE ---------- + $offset = 0; // offset position of the font data + if (TCPDF_STATIC::_getULONG($font, $offset) != 0x10000) { + // sfnt version must be 0x00010000 for TrueType version 1.0. + return false; + } + if ($fmetric['type'] != 'cidfont0') { + if ($link) { + // creates a symbolic link to the existing font + symlink($fontfile, $outpath.$fmetric['file']); + } else { + // store compressed font + $fmetric['file'] .= '.z'; + $fp = TCPDF_STATIC::fopenLocal($outpath.$fmetric['file'], 'wb'); + fwrite($fp, gzcompress($font)); + fclose($fp); + } + } + $offset += 4; + // get number of tables + $numTables = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + // skip searchRange, entrySelector and rangeShift + $offset += 6; + // tables array + $table = array(); + // ---------- get tables ---------- + for ($i = 0; $i < $numTables; ++$i) { + // get table info + $tag = substr($font, $offset, 4); + $offset += 4; + $table[$tag] = array(); + $table[$tag]['checkSum'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $table[$tag]['offset'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $table[$tag]['length'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + } + // check magicNumber + $offset = $table['head']['offset'] + 12; + if (TCPDF_STATIC::_getULONG($font, $offset) != 0x5F0F3CF5) { + // magicNumber must be 0x5F0F3CF5 + return false; + } + $offset += 4; + $offset += 2; // skip flags + // get FUnits + $fmetric['unitsPerEm'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + // units ratio constant + $urk = (1000 / $fmetric['unitsPerEm']); + $offset += 16; // skip created, modified + $xMin = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + $yMin = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + $xMax = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + $yMax = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + $fmetric['bbox'] = ''.$xMin.' '.$yMin.' '.$xMax.' '.$yMax.''; + $macStyle = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + // PDF font flags + $fmetric['Flags'] = $flags; + if (($macStyle & 2) == 2) { + // italic flag + $fmetric['Flags'] |= 64; + } + // get offset mode (indexToLocFormat : 0 = short, 1 = long) + $offset = $table['head']['offset'] + 50; + $short_offset = (TCPDF_STATIC::_getSHORT($font, $offset) == 0); + $offset += 2; + // get the offsets to the locations of the glyphs in the font, relative to the beginning of the glyphData table + $indexToLoc = array(); + $offset = $table['loca']['offset']; + if ($short_offset) { + // short version + $tot_num_glyphs = floor($table['loca']['length'] / 2); // numGlyphs + 1 + for ($i = 0; $i < $tot_num_glyphs; ++$i) { + $indexToLoc[$i] = TCPDF_STATIC::_getUSHORT($font, $offset) * 2; + if (isset($indexToLoc[($i - 1)]) && ($indexToLoc[$i] == $indexToLoc[($i - 1)])) { + // the last glyph didn't have an outline + unset($indexToLoc[($i - 1)]); + } + $offset += 2; + } + } else { + // long version + $tot_num_glyphs = floor($table['loca']['length'] / 4); // numGlyphs + 1 + for ($i = 0; $i < $tot_num_glyphs; ++$i) { + $indexToLoc[$i] = TCPDF_STATIC::_getULONG($font, $offset); + if (isset($indexToLoc[($i - 1)]) && ($indexToLoc[$i] == $indexToLoc[($i - 1)])) { + // the last glyph didn't have an outline + unset($indexToLoc[($i - 1)]); + } + $offset += 4; + } + } + // get glyphs indexes of chars from cmap table + $offset = $table['cmap']['offset'] + 2; + $numEncodingTables = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $encodingTables = array(); + for ($i = 0; $i < $numEncodingTables; ++$i) { + $encodingTables[$i]['platformID'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $encodingTables[$i]['encodingID'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $encodingTables[$i]['offset'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + } + // ---------- get os/2 metrics ---------- + $offset = $table['OS/2']['offset']; + $offset += 2; // skip version + // xAvgCharWidth + $fmetric['AvgWidth'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + // usWeightClass + $usWeightClass = round(TCPDF_STATIC::_getUFWORD($font, $offset) * $urk); + // estimate StemV and StemH (400 = usWeightClass for Normal - Regular font) + $fmetric['StemV'] = round((70 * $usWeightClass) / 400); + $fmetric['StemH'] = round((30 * $usWeightClass) / 400); + $offset += 2; + $offset += 2; // usWidthClass + $fsType = TCPDF_STATIC::_getSHORT($font, $offset); + $offset += 2; + if ($fsType == 2) { + // This Font cannot be modified, embedded or exchanged in any manner without first obtaining permission of the legal owner. + return false; + } + // ---------- get font name ---------- + $fmetric['name'] = ''; + $offset = $table['name']['offset']; + $offset += 2; // skip Format selector (=0). + // Number of NameRecords that follow n. + $numNameRecords = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + // Offset to start of string storage (from start of table). + $stringStorageOffset = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + for ($i = 0; $i < $numNameRecords; ++$i) { + $offset += 6; // skip Platform ID, Platform-specific encoding ID, Language ID. + // Name ID. + $nameID = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + if ($nameID == 6) { + // String length (in bytes). + $stringLength = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + // String offset from start of storage area (in bytes). + $stringOffset = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $offset = ($table['name']['offset'] + $stringStorageOffset + $stringOffset); + $fmetric['name'] = substr($font, $offset, $stringLength); + $fmetric['name'] = preg_replace('/[^a-zA-Z0-9_\-]/', '', $fmetric['name']); + break; + } else { + $offset += 4; // skip String length, String offset + } + } + if (empty($fmetric['name'])) { + $fmetric['name'] = $font_name; + } + // ---------- get post data ---------- + $offset = $table['post']['offset']; + $offset += 4; // skip Format Type + $fmetric['italicAngle'] = TCPDF_STATIC::_getFIXED($font, $offset); + $offset += 4; + $fmetric['underlinePosition'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + $fmetric['underlineThickness'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + $isFixedPitch = (TCPDF_STATIC::_getULONG($font, $offset) == 0) ? false : true; + $offset += 2; + if ($isFixedPitch) { + $fmetric['Flags'] |= 1; + } + // ---------- get hhea data ---------- + $offset = $table['hhea']['offset']; + $offset += 4; // skip Table version number + // Ascender + $fmetric['Ascent'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + // Descender + $fmetric['Descent'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + // LineGap + $fmetric['Leading'] = round(TCPDF_STATIC::_getFWORD($font, $offset) * $urk); + $offset += 2; + // advanceWidthMax + $fmetric['MaxWidth'] = round(TCPDF_STATIC::_getUFWORD($font, $offset) * $urk); + $offset += 2; + $offset += 22; // skip some values + // get the number of hMetric entries in hmtx table + $numberOfHMetrics = TCPDF_STATIC::_getUSHORT($font, $offset); + // ---------- get maxp data ---------- + $offset = $table['maxp']['offset']; + $offset += 4; // skip Table version number + // get the the number of glyphs in the font. + $numGlyphs = TCPDF_STATIC::_getUSHORT($font, $offset); + // ---------- get CIDToGIDMap ---------- + $ctg = array(); + $c = 0; + foreach ($encodingTables as $enctable) { + // get only specified Platform ID and Encoding ID + if (($enctable['platformID'] == $platid) AND ($enctable['encodingID'] == $encid)) { + $offset = $table['cmap']['offset'] + $enctable['offset']; + $format = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + switch ($format) { + case 0: { // Format 0: Byte encoding table + $offset += 4; // skip length and version/language + for ($c = 0; $c < 256; ++$c) { + $g = TCPDF_STATIC::_getBYTE($font, $offset); + $ctg[$c] = $g; + ++$offset; + } + break; + } + case 2: { // Format 2: High-byte mapping through table + $offset += 4; // skip length and version/language + $numSubHeaders = 0; + for ($i = 0; $i < 256; ++$i) { + // Array that maps high bytes to subHeaders: value is subHeader index * 8. + $subHeaderKeys[$i] = (TCPDF_STATIC::_getUSHORT($font, $offset) / 8); + $offset += 2; + if ($numSubHeaders < $subHeaderKeys[$i]) { + $numSubHeaders = $subHeaderKeys[$i]; + } + } + // the number of subHeaders is equal to the max of subHeaderKeys + 1 + ++$numSubHeaders; + // read subHeader structures + $subHeaders = array(); + $numGlyphIndexArray = 0; + for ($k = 0; $k < $numSubHeaders; ++$k) { + $subHeaders[$k]['firstCode'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['entryCount'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['idDelta'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['idRangeOffset'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['idRangeOffset'] -= (2 + (($numSubHeaders - $k - 1) * 8)); + $subHeaders[$k]['idRangeOffset'] /= 2; + $numGlyphIndexArray += $subHeaders[$k]['entryCount']; + } + for ($k = 0; $k < $numGlyphIndexArray; ++$k) { + $glyphIndexArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + for ($i = 0; $i < 256; ++$i) { + $k = $subHeaderKeys[$i]; + if ($k == 0) { + // one byte code + $c = $i; + $g = $glyphIndexArray[0]; + $ctg[$c] = $g; + } else { + // two bytes code + $start_byte = $subHeaders[$k]['firstCode']; + $end_byte = $start_byte + $subHeaders[$k]['entryCount']; + for ($j = $start_byte; $j < $end_byte; ++$j) { + // combine high and low bytes + $c = (($i << 8) + $j); + $idRangeOffset = ($subHeaders[$k]['idRangeOffset'] + $j - $subHeaders[$k]['firstCode']); + $g = ($glyphIndexArray[$idRangeOffset] + $subHeaders[$k]['idDelta']) % 65536; + if ($g < 0) { + $g = 0; + } + $ctg[$c] = $g; + } + } + } + break; + } + case 4: { // Format 4: Segment mapping to delta values + $length = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $offset += 2; // skip version/language + $segCount = floor(TCPDF_STATIC::_getUSHORT($font, $offset) / 2); + $offset += 2; + $offset += 6; // skip searchRange, entrySelector, rangeShift + $endCount = array(); // array of end character codes for each segment + for ($k = 0; $k < $segCount; ++$k) { + $endCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $offset += 2; // skip reservedPad + $startCount = array(); // array of start character codes for each segment + for ($k = 0; $k < $segCount; ++$k) { + $startCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $idDelta = array(); // delta for all character codes in segment + for ($k = 0; $k < $segCount; ++$k) { + $idDelta[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $idRangeOffset = array(); // Offsets into glyphIdArray or 0 + for ($k = 0; $k < $segCount; ++$k) { + $idRangeOffset[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $gidlen = (floor($length / 2) - 8 - (4 * $segCount)); + $glyphIdArray = array(); // glyph index array + for ($k = 0; $k < $gidlen; ++$k) { + $glyphIdArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + for ($k = 0; $k < $segCount - 1; ++$k) { + for ($c = $startCount[$k]; $c <= $endCount[$k]; ++$c) { + if ($idRangeOffset[$k] == 0) { + $g = ($idDelta[$k] + $c) % 65536; + } else { + $gid = (floor($idRangeOffset[$k] / 2) + ($c - $startCount[$k]) - ($segCount - $k)); + $g = ($glyphIdArray[$gid] + $idDelta[$k]) % 65536; + } + if ($g < 0) { + $g = 0; + } + $ctg[$c] = $g; + } + } + break; + } + case 6: { // Format 6: Trimmed table mapping + $offset += 4; // skip length and version/language + $firstCode = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $entryCount = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + for ($k = 0; $k < $entryCount; ++$k) { + $c = ($k + $firstCode); + $g = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $ctg[$c] = $g; + } + break; + } + case 8: { // Format 8: Mixed 16-bit and 32-bit coverage + $offset += 10; // skip reserved, length and version/language + for ($k = 0; $k < 8192; ++$k) { + $is32[$k] = TCPDF_STATIC::_getBYTE($font, $offset); + ++$offset; + } + $nGroups = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($i = 0; $i < $nGroups; ++$i) { + $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $endCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $startGlyphID = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($k = $startCharCode; $k <= $endCharCode; ++$k) { + $is32idx = floor($c / 8); + if ((isset($is32[$is32idx])) AND (($is32[$is32idx] & (1 << (7 - ($c % 8)))) == 0)) { + $c = $k; + } else { + // 32 bit format + // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4) + //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232 + //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888 + $c = ((55232 + ($k >> 10)) << 10) + (0xDC00 + ($k & 0x3FF)) -56613888; + } + $ctg[$c] = 0; + ++$startGlyphID; + } + } + break; + } + case 10: { // Format 10: Trimmed array + $offset += 10; // skip reserved, length and version/language + $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $numChars = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($k = 0; $k < $numChars; ++$k) { + $c = ($k + $startCharCode); + $g = TCPDF_STATIC::_getUSHORT($font, $offset); + $ctg[$c] = $g; + $offset += 2; + } + break; + } + case 12: { // Format 12: Segmented coverage + $offset += 10; // skip length and version/language + $nGroups = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($k = 0; $k < $nGroups; ++$k) { + $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $endCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $startGlyphCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($c = $startCharCode; $c <= $endCharCode; ++$c) { + $ctg[$c] = $startGlyphCode; + ++$startGlyphCode; + } + } + break; + } + case 13: { // Format 13: Many-to-one range mappings + // to be implemented ... + break; + } + case 14: { // Format 14: Unicode Variation Sequences + // to be implemented ... + break; + } + } + } + } + if (!isset($ctg[0])) { + $ctg[0] = 0; + } + // get xHeight (height of x) + $offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[120]] + 4); + $yMin = TCPDF_STATIC::_getFWORD($font, $offset); + $offset += 4; + $yMax = TCPDF_STATIC::_getFWORD($font, $offset); + $offset += 2; + $fmetric['XHeight'] = round(($yMax - $yMin) * $urk); + // get CapHeight (height of H) + $offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[72]] + 4); + $yMin = TCPDF_STATIC::_getFWORD($font, $offset); + $offset += 4; + $yMax = TCPDF_STATIC::_getFWORD($font, $offset); + $offset += 2; + $fmetric['CapHeight'] = round(($yMax - $yMin) * $urk); + // ceate widths array + $cw = array(); + $offset = $table['hmtx']['offset']; + for ($i = 0 ; $i < $numberOfHMetrics; ++$i) { + $cw[$i] = round(TCPDF_STATIC::_getUFWORD($font, $offset) * $urk); + $offset += 4; // skip lsb + } + if ($numberOfHMetrics < $numGlyphs) { + // fill missing widths with the last value + $cw = array_pad($cw, $numGlyphs, $cw[($numberOfHMetrics - 1)]); + } + $fmetric['MissingWidth'] = $cw[0]; + $fmetric['cw'] = ''; + $fmetric['cbbox'] = ''; + for ($cid = 0; $cid <= 65535; ++$cid) { + if (isset($ctg[$cid])) { + if (isset($cw[$ctg[$cid]])) { + $fmetric['cw'] .= ','.$cid.'=>'.$cw[$ctg[$cid]]; + } + if ($addcbbox AND isset($indexToLoc[$ctg[$cid]])) { + $offset = ($table['glyf']['offset'] + $indexToLoc[$ctg[$cid]]); + $xMin = round(TCPDF_STATIC::_getFWORD($font, $offset + 2) * $urk); + $yMin = round(TCPDF_STATIC::_getFWORD($font, $offset + 4) * $urk); + $xMax = round(TCPDF_STATIC::_getFWORD($font, $offset + 6) * $urk); + $yMax = round(TCPDF_STATIC::_getFWORD($font, $offset + 8) * $urk); + $fmetric['cbbox'] .= ','.$cid.'=>array('.$xMin.','.$yMin.','.$xMax.','.$yMax.')'; + } + } + } + } // end of true type + if (($fmetric['type'] == 'TrueTypeUnicode') AND (count($ctg) == 256)) { + $fmetric['type'] = 'TrueType'; + } + // ---------- create php font file ---------- + $pfile = '<'.'?'.'php'."\n"; + $pfile .= '// TCPDF FONT FILE DESCRIPTION'."\n"; + $pfile .= '$type=\''.$fmetric['type'].'\';'."\n"; + $pfile .= '$name=\''.$fmetric['name'].'\';'."\n"; + $pfile .= '$up='.$fmetric['underlinePosition'].';'."\n"; + $pfile .= '$ut='.$fmetric['underlineThickness'].';'."\n"; + if ($fmetric['MissingWidth'] > 0) { + $pfile .= '$dw='.$fmetric['MissingWidth'].';'."\n"; + } else { + $pfile .= '$dw='.$fmetric['AvgWidth'].';'."\n"; + } + $pfile .= '$diff=\''.$fmetric['diff'].'\';'."\n"; + if ($fmetric['type'] == 'Type1') { + // Type 1 + $pfile .= '$enc=\''.$fmetric['enc'].'\';'."\n"; + $pfile .= '$file=\''.$fmetric['file'].'\';'."\n"; + $pfile .= '$size1='.$fmetric['size1'].';'."\n"; + $pfile .= '$size2='.$fmetric['size2'].';'."\n"; + } else { + $pfile .= '$originalsize='.$fmetric['originalsize'].';'."\n"; + if ($fmetric['type'] == 'cidfont0') { + // CID-0 + switch ($fonttype) { + case 'CID0JP': { + $pfile .= '// Japanese'."\n"; + $pfile .= '$enc=\'UniJIS-UTF16-H\';'."\n"; + $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'Japan1\',\'Supplement\'=>5);'."\n"; + $pfile .= 'include(dirname(__FILE__).\'/uni2cid_aj16.php\');'."\n"; + break; + } + case 'CID0KR': { + $pfile .= '// Korean'."\n"; + $pfile .= '$enc=\'UniKS-UTF16-H\';'."\n"; + $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'Korea1\',\'Supplement\'=>0);'."\n"; + $pfile .= 'include(dirname(__FILE__).\'/uni2cid_ak12.php\');'."\n"; + break; + } + case 'CID0CS': { + $pfile .= '// Chinese Simplified'."\n"; + $pfile .= '$enc=\'UniGB-UTF16-H\';'."\n"; + $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'GB1\',\'Supplement\'=>2);'."\n"; + $pfile .= 'include(dirname(__FILE__).\'/uni2cid_ag15.php\');'."\n"; + break; + } + case 'CID0CT': + default: { + $pfile .= '// Chinese Traditional'."\n"; + $pfile .= '$enc=\'UniCNS-UTF16-H\';'."\n"; + $pfile .= '$cidinfo=array(\'Registry\'=>\'Adobe\', \'Ordering\'=>\'CNS1\',\'Supplement\'=>0);'."\n"; + $pfile .= 'include(dirname(__FILE__).\'/uni2cid_aj16.php\');'."\n"; + break; + } + } + } else { + // TrueType + $pfile .= '$enc=\''.$fmetric['enc'].'\';'."\n"; + $pfile .= '$file=\''.$fmetric['file'].'\';'."\n"; + $pfile .= '$ctg=\''.$fmetric['ctg'].'\';'."\n"; + // create CIDToGIDMap + $cidtogidmap = str_pad('', 131072, "\x00"); // (256 * 256 * 2) = 131072 + foreach ($ctg as $cid => $gid) { + $cidtogidmap = self::updateCIDtoGIDmap($cidtogidmap, $cid, $ctg[$cid]); + } + // store compressed CIDToGIDMap + $fp = TCPDF_STATIC::fopenLocal($outpath.$fmetric['ctg'], 'wb'); + fwrite($fp, gzcompress($cidtogidmap)); + fclose($fp); + } + } + $pfile .= '$desc=array('; + $pfile .= '\'Flags\'=>'.$fmetric['Flags'].','; + $pfile .= '\'FontBBox\'=>\'['.$fmetric['bbox'].']\','; + $pfile .= '\'ItalicAngle\'=>'.$fmetric['italicAngle'].','; + $pfile .= '\'Ascent\'=>'.$fmetric['Ascent'].','; + $pfile .= '\'Descent\'=>'.$fmetric['Descent'].','; + $pfile .= '\'Leading\'=>'.$fmetric['Leading'].','; + $pfile .= '\'CapHeight\'=>'.$fmetric['CapHeight'].','; + $pfile .= '\'XHeight\'=>'.$fmetric['XHeight'].','; + $pfile .= '\'StemV\'=>'.$fmetric['StemV'].','; + $pfile .= '\'StemH\'=>'.$fmetric['StemH'].','; + $pfile .= '\'AvgWidth\'=>'.$fmetric['AvgWidth'].','; + $pfile .= '\'MaxWidth\'=>'.$fmetric['MaxWidth'].','; + $pfile .= '\'MissingWidth\'=>'.$fmetric['MissingWidth'].''; + $pfile .= ');'."\n"; + if (!empty($fmetric['cbbox'])) { + $pfile .= '$cbbox=array('.substr($fmetric['cbbox'], 1).');'."\n"; + } + $pfile .= '$cw=array('.substr($fmetric['cw'], 1).');'."\n"; + $pfile .= '// --- EOF ---'."\n"; + // store file + $fp = TCPDF_STATIC::fopenLocal($outpath.$font_name.'.php', 'w'); + fwrite($fp, $pfile); + fclose($fp); + // return TCPDF font name + return $font_name; + } + + /** + * Returs the checksum of a TTF table. + * @param string $table table to check + * @param int $length length of table in bytes + * @return int checksum + * @author Nicola Asuni + * @since 5.2.000 (2010-06-02) + * @public static + */ + public static function _getTTFtableChecksum($table, $length) { + $sum = 0; + $tlen = ($length / 4); + $offset = 0; + for ($i = 0; $i < $tlen; ++$i) { + $v = unpack('Ni', substr($table, $offset, 4)); + $sum += $v['i']; + $offset += 4; + } + $sum = unpack('Ni', pack('N', $sum)); + return $sum['i']; + } + + /** + * Returns a subset of the TrueType font data without the unused glyphs. + * @param string $font TrueType font data. + * @param array $subsetchars Array of used characters (the glyphs to keep). + * @return string A subset of TrueType font data without the unused glyphs. + * @author Nicola Asuni + * @since 5.2.000 (2010-06-02) + * @public static + */ + public static function _getTrueTypeFontSubset($font, $subsetchars) { + ksort($subsetchars); + $offset = 0; // offset position of the font data + if (TCPDF_STATIC::_getULONG($font, $offset) != 0x10000) { + // sfnt version must be 0x00010000 for TrueType version 1.0. + return $font; + } + $c = 0; + $offset += 4; + // get number of tables + $numTables = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + // skip searchRange, entrySelector and rangeShift + $offset += 6; + // tables array + $table = array(); + // for each table + for ($i = 0; $i < $numTables; ++$i) { + // get table info + $tag = substr($font, $offset, 4); + $offset += 4; + $table[$tag] = array(); + $table[$tag]['checkSum'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $table[$tag]['offset'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $table[$tag]['length'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + } + // check magicNumber + $offset = $table['head']['offset'] + 12; + if (TCPDF_STATIC::_getULONG($font, $offset) != 0x5F0F3CF5) { + // magicNumber must be 0x5F0F3CF5 + return $font; + } + $offset += 4; + // get offset mode (indexToLocFormat : 0 = short, 1 = long) + $offset = $table['head']['offset'] + 50; + $short_offset = (TCPDF_STATIC::_getSHORT($font, $offset) == 0); + $offset += 2; + // get the offsets to the locations of the glyphs in the font, relative to the beginning of the glyphData table + $indexToLoc = array(); + $offset = $table['loca']['offset']; + if ($short_offset) { + // short version + $tot_num_glyphs = floor($table['loca']['length'] / 2); // numGlyphs + 1 + for ($i = 0; $i < $tot_num_glyphs; ++$i) { + $indexToLoc[$i] = TCPDF_STATIC::_getUSHORT($font, $offset) * 2; + $offset += 2; + } + } else { + // long version + $tot_num_glyphs = ($table['loca']['length'] / 4); // numGlyphs + 1 + for ($i = 0; $i < $tot_num_glyphs; ++$i) { + $indexToLoc[$i] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + } + } + // get glyphs indexes of chars from cmap table + $subsetglyphs = array(); // glyph IDs on key + $subsetglyphs[0] = true; // character codes that do not correspond to any glyph in the font should be mapped to glyph index 0 + $offset = $table['cmap']['offset'] + 2; + $numEncodingTables = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $encodingTables = array(); + for ($i = 0; $i < $numEncodingTables; ++$i) { + $encodingTables[$i]['platformID'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $encodingTables[$i]['encodingID'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $encodingTables[$i]['offset'] = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + } + foreach ($encodingTables as $enctable) { + // get all platforms and encodings + $offset = $table['cmap']['offset'] + $enctable['offset']; + $format = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + switch ($format) { + case 0: { // Format 0: Byte encoding table + $offset += 4; // skip length and version/language + for ($c = 0; $c < 256; ++$c) { + if (isset($subsetchars[$c])) { + $g = TCPDF_STATIC::_getBYTE($font, $offset); + $subsetglyphs[$g] = true; + } + ++$offset; + } + break; + } + case 2: { // Format 2: High-byte mapping through table + $offset += 4; // skip length and version/language + $numSubHeaders = 0; + for ($i = 0; $i < 256; ++$i) { + // Array that maps high bytes to subHeaders: value is subHeader index * 8. + $subHeaderKeys[$i] = (TCPDF_STATIC::_getUSHORT($font, $offset) / 8); + $offset += 2; + if ($numSubHeaders < $subHeaderKeys[$i]) { + $numSubHeaders = $subHeaderKeys[$i]; + } + } + // the number of subHeaders is equal to the max of subHeaderKeys + 1 + ++$numSubHeaders; + // read subHeader structures + $subHeaders = array(); + $numGlyphIndexArray = 0; + for ($k = 0; $k < $numSubHeaders; ++$k) { + $subHeaders[$k]['firstCode'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['entryCount'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['idDelta'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['idRangeOffset'] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $subHeaders[$k]['idRangeOffset'] -= (2 + (($numSubHeaders - $k - 1) * 8)); + $subHeaders[$k]['idRangeOffset'] /= 2; + $numGlyphIndexArray += $subHeaders[$k]['entryCount']; + } + for ($k = 0; $k < $numGlyphIndexArray; ++$k) { + $glyphIndexArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + for ($i = 0; $i < 256; ++$i) { + $k = $subHeaderKeys[$i]; + if ($k == 0) { + // one byte code + $c = $i; + if (isset($subsetchars[$c])) { + $g = $glyphIndexArray[0]; + $subsetglyphs[$g] = true; + } + } else { + // two bytes code + $start_byte = $subHeaders[$k]['firstCode']; + $end_byte = $start_byte + $subHeaders[$k]['entryCount']; + for ($j = $start_byte; $j < $end_byte; ++$j) { + // combine high and low bytes + $c = (($i << 8) + $j); + if (isset($subsetchars[$c])) { + $idRangeOffset = ($subHeaders[$k]['idRangeOffset'] + $j - $subHeaders[$k]['firstCode']); + $g = ($glyphIndexArray[$idRangeOffset] + $subHeaders[$k]['idDelta']) % 65536; + if ($g < 0) { + $g = 0; + } + $subsetglyphs[$g] = true; + } + } + } + } + break; + } + case 4: { // Format 4: Segment mapping to delta values + $length = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $offset += 2; // skip version/language + $segCount = floor(TCPDF_STATIC::_getUSHORT($font, $offset) / 2); + $offset += 2; + $offset += 6; // skip searchRange, entrySelector, rangeShift + $endCount = array(); // array of end character codes for each segment + for ($k = 0; $k < $segCount; ++$k) { + $endCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $offset += 2; // skip reservedPad + $startCount = array(); // array of start character codes for each segment + for ($k = 0; $k < $segCount; ++$k) { + $startCount[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $idDelta = array(); // delta for all character codes in segment + for ($k = 0; $k < $segCount; ++$k) { + $idDelta[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $idRangeOffset = array(); // Offsets into glyphIdArray or 0 + for ($k = 0; $k < $segCount; ++$k) { + $idRangeOffset[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + $gidlen = (floor($length / 2) - 8 - (4 * $segCount)); + $glyphIdArray = array(); // glyph index array + for ($k = 0; $k < $gidlen; ++$k) { + $glyphIdArray[$k] = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + } + for ($k = 0; $k < $segCount; ++$k) { + for ($c = $startCount[$k]; $c <= $endCount[$k]; ++$c) { + if (isset($subsetchars[$c])) { + if ($idRangeOffset[$k] == 0) { + $g = ($idDelta[$k] + $c) % 65536; + } else { + $gid = (floor($idRangeOffset[$k] / 2) + ($c - $startCount[$k]) - ($segCount - $k)); + $g = ($glyphIdArray[$gid] + $idDelta[$k]) % 65536; + } + if ($g < 0) { + $g = 0; + } + $subsetglyphs[$g] = true; + } + } + } + break; + } + case 6: { // Format 6: Trimmed table mapping + $offset += 4; // skip length and version/language + $firstCode = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $entryCount = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + for ($k = 0; $k < $entryCount; ++$k) { + $c = ($k + $firstCode); + if (isset($subsetchars[$c])) { + $g = TCPDF_STATIC::_getUSHORT($font, $offset); + $subsetglyphs[$g] = true; + } + $offset += 2; + } + break; + } + case 8: { // Format 8: Mixed 16-bit and 32-bit coverage + $offset += 10; // skip reserved, length and version/language + for ($k = 0; $k < 8192; ++$k) { + $is32[$k] = TCPDF_STATIC::_getBYTE($font, $offset); + ++$offset; + } + $nGroups = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($i = 0; $i < $nGroups; ++$i) { + $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $endCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $startGlyphID = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($k = $startCharCode; $k <= $endCharCode; ++$k) { + $is32idx = floor($c / 8); + if ((isset($is32[$is32idx])) AND (($is32[$is32idx] & (1 << (7 - ($c % 8)))) == 0)) { + $c = $k; + } else { + // 32 bit format + // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4) + //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232 + //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888 + $c = ((55232 + ($k >> 10)) << 10) + (0xDC00 + ($k & 0x3FF)) -56613888; + } + if (isset($subsetchars[$c])) { + $subsetglyphs[$startGlyphID] = true; + } + ++$startGlyphID; + } + } + break; + } + case 10: { // Format 10: Trimmed array + $offset += 10; // skip reserved, length and version/language + $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $numChars = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($k = 0; $k < $numChars; ++$k) { + $c = ($k + $startCharCode); + if (isset($subsetchars[$c])) { + $g = TCPDF_STATIC::_getUSHORT($font, $offset); + $subsetglyphs[$g] = true; + } + $offset += 2; + } + break; + } + case 12: { // Format 12: Segmented coverage + $offset += 10; // skip length and version/language + $nGroups = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($k = 0; $k < $nGroups; ++$k) { + $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $endCharCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + $startGlyphCode = TCPDF_STATIC::_getULONG($font, $offset); + $offset += 4; + for ($c = $startCharCode; $c <= $endCharCode; ++$c) { + if (isset($subsetchars[$c])) { + $subsetglyphs[$startGlyphCode] = true; + } + ++$startGlyphCode; + } + } + break; + } + case 13: { // Format 13: Many-to-one range mappings + // to be implemented ... + break; + } + case 14: { // Format 14: Unicode Variation Sequences + // to be implemented ... + break; + } + } + } + // include all parts of composite glyphs + $new_sga = $subsetglyphs; + while (!empty($new_sga)) { + $sga = $new_sga; + $new_sga = array(); + foreach ($sga as $key => $val) { + if (isset($indexToLoc[$key])) { + $offset = ($table['glyf']['offset'] + $indexToLoc[$key]); + $numberOfContours = TCPDF_STATIC::_getSHORT($font, $offset); + $offset += 2; + if ($numberOfContours < 0) { // composite glyph + $offset += 8; // skip xMin, yMin, xMax, yMax + do { + $flags = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + $glyphIndex = TCPDF_STATIC::_getUSHORT($font, $offset); + $offset += 2; + if (!isset($subsetglyphs[$glyphIndex])) { + // add missing glyphs + $new_sga[$glyphIndex] = true; + } + // skip some bytes by case + if ($flags & 1) { + $offset += 4; + } else { + $offset += 2; + } + if ($flags & 8) { + $offset += 2; + } elseif ($flags & 64) { + $offset += 4; + } elseif ($flags & 128) { + $offset += 8; + } + } while ($flags & 32); + } + } + } + $subsetglyphs += $new_sga; + } + // sort glyphs by key (and remove duplicates) + ksort($subsetglyphs); + // build new glyf and loca tables + $glyf = ''; + $loca = ''; + $offset = 0; + $glyf_offset = $table['glyf']['offset']; + for ($i = 0; $i < $tot_num_glyphs; ++$i) { + if (isset($subsetglyphs[$i])) { + $length = ($indexToLoc[($i + 1)] - $indexToLoc[$i]); + $glyf .= substr($font, ($glyf_offset + $indexToLoc[$i]), $length); + } else { + $length = 0; + } + if ($short_offset) { + $loca .= pack('n', floor($offset / 2)); + } else { + $loca .= pack('N', $offset); + } + $offset += $length; + } + // array of table names to preserve (loca and glyf tables will be added later) + // the cmap table is not needed and shall not be present, since the mapping from character codes to glyph descriptions is provided separately + $table_names = array ('head', 'hhea', 'hmtx', 'maxp', 'cvt ', 'fpgm', 'prep'); // minimum required table names + // get the tables to preserve + $offset = 12; + foreach ($table as $tag => $val) { + if (in_array($tag, $table_names)) { + $table[$tag]['data'] = substr($font, $table[$tag]['offset'], $table[$tag]['length']); + if ($tag == 'head') { + // set the checkSumAdjustment to 0 + $table[$tag]['data'] = substr($table[$tag]['data'], 0, 8)."\x0\x0\x0\x0".substr($table[$tag]['data'], 12); + } + $table[$tag]['offset'] = $offset; + $offset += $table[$tag]['length']; + $numPad = ($offset + 3 & ~3) - $offset; + if($numPad > 0) { + $table[$tag]['data'] .= str_repeat("\x0", $numPad); + $offset += $numPad; + } + // check sum is not changed (so keep the following line commented) + //$table[$tag]['checkSum'] = self::_getTTFtableChecksum($table[$tag]['data'], $table[$tag]['length'] + $numPad); + } else { + unset($table[$tag]); + } + } + // add loca + $table['loca'] = array(); + $table['loca']['data'] = $loca; + $table['loca']['length'] = strlen($loca); + $table['loca']['offset'] = $offset; + $offset += $table['loca']['length']; + $numPad = ($offset + 3 & ~3) - $offset; + if($numPad > 0) { + $table['loca']['data'] .= str_repeat("\x0", $numPad); + $offset += $numPad; + } + $table['loca']['checkSum'] = self::_getTTFtableChecksum($table['loca']['data'], $table['loca']['length'] + $numPad); + // add glyf + $table['glyf'] = array(); + $table['glyf']['data'] = $glyf; + $table['glyf']['length'] = strlen($glyf); + $table['glyf']['offset'] = $offset; + $offset += $table['glyf']['length']; + $numPad = ($offset + 3 & ~3) - $offset; + if($numPad > 0) { + $table['glyf']['data'] .= str_repeat("\x0", $numPad); + $offset += $numPad; + } + $table['glyf']['checkSum'] = self::_getTTFtableChecksum($table['glyf']['data'], $table['glyf']['length'] + $numPad); + // rebuild font + $font = ''; + $font .= pack('N', 0x10000); // sfnt version + $numTables = count($table); + $font .= pack('n', $numTables); // numTables + $entrySelector = floor(log($numTables, 2)); + $searchRange = pow(2, $entrySelector) * 16; + $rangeShift = ($numTables * 16) - $searchRange; + $font .= pack('n', $searchRange); // searchRange + $font .= pack('n', $entrySelector); // entrySelector + $font .= pack('n', $rangeShift); // rangeShift + $offset = ($numTables * 16); + foreach ($table as $tag => $data) { + $font .= $tag; // tag + $font .= pack('N', $data['checkSum']); // checkSum + $font .= pack('N', ($data['offset'] + $offset)); // offset + $font .= pack('N', $data['length']); // length + } + foreach ($table as $data) { + $font .= $data['data']; + } + // set checkSumAdjustment on head table + $checkSumAdjustment = 0xB1B0AFBA - self::_getTTFtableChecksum($font, strlen($font)); + $font = substr($font, 0, $table['head']['offset'] + $offset + 8).pack('N', $checkSumAdjustment).substr($font, $table['head']['offset'] + $offset + 12); + return $font; + } + + /** + * Outputs font widths + * @param array $font font data + * @param int $cidoffset offset for CID values + * @return string PDF command string for font widths + * @author Nicola Asuni + * @since 4.4.000 (2008-12-07) + * @public static + */ + public static function _putfontwidths($font, $cidoffset=0) { + ksort($font['cw']); + $rangeid = 0; + $range = array(); + $prevcid = -2; + $prevwidth = -1; + $interval = false; + // for each character + foreach ($font['cw'] as $cid => $width) { + $cid -= $cidoffset; + if ($font['subset'] AND (!isset($font['subsetchars'][$cid]))) { + // ignore the unused characters (font subsetting) + continue; + } + if ($width != $font['dw']) { + if ($cid == ($prevcid + 1)) { + // consecutive CID + if ($width == $prevwidth) { + if ($width == $range[$rangeid][0]) { + $range[$rangeid][] = $width; + } else { + array_pop($range[$rangeid]); + // new range + $rangeid = $prevcid; + $range[$rangeid] = array(); + $range[$rangeid][] = $prevwidth; + $range[$rangeid][] = $width; + } + $interval = true; + $range[$rangeid]['interval'] = true; + } else { + if ($interval) { + // new range + $rangeid = $cid; + $range[$rangeid] = array(); + $range[$rangeid][] = $width; + } else { + $range[$rangeid][] = $width; + } + $interval = false; + } + } else { + // new range + $rangeid = $cid; + $range[$rangeid] = array(); + $range[$rangeid][] = $width; + $interval = false; + } + $prevcid = $cid; + $prevwidth = $width; + } + } + // optimize ranges + $prevk = -1; + $nextk = -1; + $prevint = false; + foreach ($range as $k => $ws) { + $cws = count($ws); + if (($k == $nextk) AND (!$prevint) AND ((!isset($ws['interval'])) OR ($cws < 4))) { + if (isset($range[$k]['interval'])) { + unset($range[$k]['interval']); + } + $range[$prevk] = array_merge($range[$prevk], $range[$k]); + unset($range[$k]); + } else { + $prevk = $k; + } + $nextk = $k + $cws; + if (isset($ws['interval'])) { + if ($cws > 3) { + $prevint = true; + } else { + $prevint = false; + } + if (isset($range[$k]['interval'])) { + unset($range[$k]['interval']); + } + --$nextk; + } else { + $prevint = false; + } + } + // output data + $w = ''; + foreach ($range as $k => $ws) { + if (count(array_count_values($ws)) == 1) { + // interval mode is more compact + $w .= ' '.$k.' '.($k + count($ws) - 1).' '.$ws[0]; + } else { + // range mode + $w .= ' '.$k.' [ '.implode(' ', $ws).' ]'; + } + } + return '/W ['.$w.' ]'; + } + + + + + /** + * Update the CIDToGIDMap string with a new value. + * @param string $map CIDToGIDMap. + * @param int $cid CID value. + * @param int $gid GID value. + * @return string CIDToGIDMap. + * @author Nicola Asuni + * @since 5.9.123 (2011-09-29) + * @public static + */ + public static function updateCIDtoGIDmap($map, $cid, $gid) { + if (($cid >= 0) AND ($cid <= 0xFFFF) AND ($gid >= 0)) { + if ($gid > 0xFFFF) { + $gid -= 0x10000; + } + $map[($cid * 2)] = chr($gid >> 8); + $map[(($cid * 2) + 1)] = chr($gid & 0xFF); + } + return $map; + } + + /** + * Return fonts path + * @return string + * @public static + */ + public static function _getfontpath() { + if (!defined('K_PATH_FONTS') AND is_dir($fdir = realpath(dirname(__FILE__).'/../fonts'))) { + if (substr($fdir, -1) != '/') { + $fdir .= '/'; + } + define('K_PATH_FONTS', $fdir); + } + return defined('K_PATH_FONTS') ? K_PATH_FONTS : ''; + } + + + + /** + * Return font full path + * @param string $file Font file name. + * @param string $fontdir Font directory (set to false fto search on default directories) + * @return string Font full path or empty string + * @author Nicola Asuni + * @since 6.0.025 + * @public static + */ + public static function getFontFullPath($file, $fontdir=false) { + $fontfile = ''; + // search files on various directories + if (($fontdir !== false) AND @TCPDF_STATIC::file_exists($fontdir.$file)) { + $fontfile = $fontdir.$file; + } elseif (@TCPDF_STATIC::file_exists(self::_getfontpath().$file)) { + $fontfile = self::_getfontpath().$file; + } elseif (@TCPDF_STATIC::file_exists($file)) { + $fontfile = $file; + } + return $fontfile; + } + + + + + /** + * Get a reference font size. + * @param string $size String containing font size value. + * @param float $refsize Reference font size in points. + * @return float value in points + * @public static + */ + public static function getFontRefSize($size, $refsize=12) { + switch ($size) { + case 'xx-small': { + $size = ($refsize - 4); + break; + } + case 'x-small': { + $size = ($refsize - 3); + break; + } + case 'small': { + $size = ($refsize - 2); + break; + } + case 'medium': { + $size = $refsize; + break; + } + case 'large': { + $size = ($refsize + 2); + break; + } + case 'x-large': { + $size = ($refsize + 4); + break; + } + case 'xx-large': { + $size = ($refsize + 6); + break; + } + case 'smaller': { + $size = ($refsize - 3); + break; + } + case 'larger': { + $size = ($refsize + 3); + break; + } + } + return $size; + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// ==================================================================================================================== +// REIMPLEMENTED +// ==================================================================================================================== + + + + + + + + + /** + * Returns the unicode caracter specified by the value + * @param int $c UTF-8 value + * @param boolean $unicode True if we are in unicode mode, false otherwise. + * @return string Returns the specified character. + * @since 2.3.000 (2008-03-05) + * @public static + */ + public static function unichr($c, $unicode=true) { + $c = intval($c); + if (!$unicode) { + return chr($c); + } elseif ($c <= 0x7F) { + // one byte + return chr($c); + } elseif ($c <= 0x7FF) { + // two bytes + return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F); + } elseif ($c <= 0xFFFF) { + // three bytes + return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F); + } elseif ($c <= 0x10FFFF) { + // four bytes + return chr(0xF0 | $c >> 18).chr(0x80 | $c >> 12 & 0x3F).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F); + } else { + return ''; + } + } + + /** + * Returns the unicode caracter specified by UTF-8 value + * @param int $c UTF-8 value + * @return string Returns the specified character. + * @public static + */ + public static function unichrUnicode($c) { + return self::unichr($c, true); + } + + /** + * Returns the unicode caracter specified by ASCII value + * @param int $c UTF-8 value + * @return string Returns the specified character. + * @public static + */ + public static function unichrASCII($c) { + return self::unichr($c, false); + } + + /** + * Converts array of UTF-8 characters to UTF16-BE string.
    + * Based on: http://www.faqs.org/rfcs/rfc2781.html + *
    +	 *   Encoding UTF-16:
    +	 *
    +	 *   Encoding of a single character from an ISO 10646 character value to
    +	 *    UTF-16 proceeds as follows. Let U be the character number, no greater
    +	 *    than 0x10FFFF.
    +	 *
    +	 *    1) If U < 0x10000, encode U as a 16-bit unsigned integer and
    +	 *       terminate.
    +	 *
    +	 *    2) Let U' = U - 0x10000. Because U is less than or equal to 0x10FFFF,
    +	 *       U' must be less than or equal to 0xFFFFF. That is, U' can be
    +	 *       represented in 20 bits.
    +	 *
    +	 *    3) Initialize two 16-bit unsigned integers, W1 and W2, to 0xD800 and
    +	 *       0xDC00, respectively. These integers each have 10 bits free to
    +	 *       encode the character value, for a total of 20 bits.
    +	 *
    +	 *    4) Assign the 10 high-order bits of the 20-bit U' to the 10 low-order
    +	 *       bits of W1 and the 10 low-order bits of U' to the 10 low-order
    +	 *       bits of W2. Terminate.
    +	 *
    +	 *    Graphically, steps 2 through 4 look like:
    +	 *    U' = yyyyyyyyyyxxxxxxxxxx
    +	 *    W1 = 110110yyyyyyyyyy
    +	 *    W2 = 110111xxxxxxxxxx
    +	 * 
    + * @param array $unicode array containing UTF-8 unicode values + * @param boolean $setbom if true set the Byte Order Mark (BOM = 0xFEFF) + * @return string + * @protected + * @author Nicola Asuni + * @since 2.1.000 (2008-01-08) + * @public static + */ + public static function arrUTF8ToUTF16BE($unicode, $setbom=false) { + $outstr = ''; // string to be returned + if ($setbom) { + $outstr .= "\xFE\xFF"; // Byte Order Mark (BOM) + } + foreach ($unicode as $char) { + if ($char == 0x200b) { + // skip Unicode Character 'ZERO WIDTH SPACE' (DEC:8203, U+200B) + } elseif ($char == 0xFFFD) { + $outstr .= "\xFF\xFD"; // replacement character + } elseif ($char < 0x10000) { + $outstr .= chr($char >> 0x08); + $outstr .= chr($char & 0xFF); + } else { + $char -= 0x10000; + $w1 = 0xD800 | ($char >> 0x0a); + $w2 = 0xDC00 | ($char & 0x3FF); + $outstr .= chr($w1 >> 0x08); + $outstr .= chr($w1 & 0xFF); + $outstr .= chr($w2 >> 0x08); + $outstr .= chr($w2 & 0xFF); + } + } + return $outstr; + } + + /** + * Convert an array of UTF8 values to array of unicode characters + * @param array $ta The input array of UTF8 values. + * @param boolean $isunicode True for Unicode mode, false otherwise. + * @return array Return array of unicode characters + * @since 4.5.037 (2009-04-07) + * @public static + */ + public static function UTF8ArrayToUniArray($ta, $isunicode=true) { + if ($isunicode) { + return array_map(static::class.'::unichrUnicode', $ta); + } + return array_map(static::class.'::unichrASCII', $ta); + } + + /** + * Extract a slice of the $strarr array and return it as string. + * @param string[] $strarr The input array of characters. + * @param int $start the starting element of $strarr. + * @param int $end first element that will not be returned. + * @param boolean $unicode True if we are in unicode mode, false otherwise. + * @return string Return part of a string + * @public static + */ + public static function UTF8ArrSubString($strarr, $start='', $end='', $unicode=true) { + if (strlen($start) == 0) { + $start = 0; + } + if (strlen($end) == 0) { + $end = count($strarr); + } + $string = ''; + for ($i = $start; $i < $end; ++$i) { + $string .= self::unichr($strarr[$i], $unicode); + } + return $string; + } + + /** + * Extract a slice of the $uniarr array and return it as string. + * @param string[] $uniarr The input array of characters. + * @param int $start the starting element of $strarr. + * @param int $end first element that will not be returned. + * @return string Return part of a string + * @since 4.5.037 (2009-04-07) + * @public static + */ + public static function UniArrSubString($uniarr, $start='', $end='') { + if (strlen($start) == 0) { + $start = 0; + } + if (strlen($end) == 0) { + $end = count($uniarr); + } + $string = ''; + for ($i=$start; $i < $end; ++$i) { + $string .= $uniarr[$i]; + } + return $string; + } + + /** + * Converts UTF-8 characters array to array of Latin1 characters array
    + * @param array $unicode array containing UTF-8 unicode values + * @return array + * @author Nicola Asuni + * @since 4.8.023 (2010-01-15) + * @public static + */ + public static function UTF8ArrToLatin1Arr($unicode) { + $outarr = array(); // array to be returned + foreach ($unicode as $char) { + if ($char < 256) { + $outarr[] = $char; + } elseif (array_key_exists($char, TCPDF_FONT_DATA::$uni_utf8tolatin)) { + // map from UTF-8 + $outarr[] = TCPDF_FONT_DATA::$uni_utf8tolatin[$char]; + } elseif ($char == 0xFFFD) { + // skip + } else { + $outarr[] = 63; // '?' character + } + } + return $outarr; + } + + /** + * Converts UTF-8 characters array to Latin1 string
    + * @param array $unicode array containing UTF-8 unicode values + * @return string + * @author Nicola Asuni + * @since 4.8.023 (2010-01-15) + * @public static + */ + public static function UTF8ArrToLatin1($unicode) { + $outstr = ''; // string to be returned + foreach ($unicode as $char) { + if ($char < 256) { + $outstr .= chr($char); + } elseif (array_key_exists($char, TCPDF_FONT_DATA::$uni_utf8tolatin)) { + // map from UTF-8 + $outstr .= chr(TCPDF_FONT_DATA::$uni_utf8tolatin[$char]); + } elseif ($char == 0xFFFD) { + // skip + } else { + $outstr .= '?'; + } + } + return $outstr; + } + + /** + * Converts UTF-8 character to integer value.
    + * Uses the getUniord() method if the value is not cached. + * @param string $uch character string to process. + * @return int Unicode value + * @public static + */ + public static function uniord($uch) { + if (!isset(self::$cache_uniord[$uch])) { + self::$cache_uniord[$uch] = self::getUniord($uch); + } + return self::$cache_uniord[$uch]; + } + + /** + * Converts UTF-8 character to integer value.
    + * Invalid byte sequences will be replaced with 0xFFFD (replacement character)
    + * Based on: http://www.faqs.org/rfcs/rfc3629.html + *
    +	 *    Char. number range  |        UTF-8 octet sequence
    +	 *       (hexadecimal)    |              (binary)
    +	 *    --------------------+-----------------------------------------------
    +	 *    0000 0000-0000 007F | 0xxxxxxx
    +	 *    0000 0080-0000 07FF | 110xxxxx 10xxxxxx
    +	 *    0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
    +	 *    0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    +	 *    ---------------------------------------------------------------------
    +	 *
    +	 *   ABFN notation:
    +	 *   ---------------------------------------------------------------------
    +	 *   UTF8-octets = *( UTF8-char )
    +	 *   UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4
    +	 *   UTF8-1      = %x00-7F
    +	 *   UTF8-2      = %xC2-DF UTF8-tail
    +	 *
    +	 *   UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
    +	 *                 %xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
    +	 *   UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
    +	 *                 %xF4 %x80-8F 2( UTF8-tail )
    +	 *   UTF8-tail   = %x80-BF
    +	 *   ---------------------------------------------------------------------
    +	 * 
    + * @param string $uch character string to process. + * @return int Unicode value + * @author Nicola Asuni + * @public static + */ + public static function getUniord($uch) { + if (function_exists('mb_convert_encoding')) { + list(, $char) = @unpack('N', mb_convert_encoding($uch, 'UCS-4BE', 'UTF-8')); + if ($char >= 0) { + return $char; + } + } + $bytes = array(); // array containing single character byte sequences + $countbytes = 0; + $numbytes = 1; // number of octetc needed to represent the UTF-8 character + $length = strlen($uch); + for ($i = 0; $i < $length; ++$i) { + $char = ord($uch[$i]); // get one string character at time + if ($countbytes == 0) { // get starting octect + if ($char <= 0x7F) { + return $char; // use the character "as is" because is ASCII + } elseif (($char >> 0x05) == 0x06) { // 2 bytes character (0x06 = 110 BIN) + $bytes[] = ($char - 0xC0) << 0x06; + ++$countbytes; + $numbytes = 2; + } elseif (($char >> 0x04) == 0x0E) { // 3 bytes character (0x0E = 1110 BIN) + $bytes[] = ($char - 0xE0) << 0x0C; + ++$countbytes; + $numbytes = 3; + } elseif (($char >> 0x03) == 0x1E) { // 4 bytes character (0x1E = 11110 BIN) + $bytes[] = ($char - 0xF0) << 0x12; + ++$countbytes; + $numbytes = 4; + } else { + // use replacement character for other invalid sequences + return 0xFFFD; + } + } elseif (($char >> 0x06) == 0x02) { // bytes 2, 3 and 4 must start with 0x02 = 10 BIN + $bytes[] = $char - 0x80; + ++$countbytes; + if ($countbytes == $numbytes) { + // compose UTF-8 bytes to a single unicode value + $char = $bytes[0]; + for ($j = 1; $j < $numbytes; ++$j) { + $char += ($bytes[$j] << (($numbytes - $j - 1) * 0x06)); + } + if ((($char >= 0xD800) AND ($char <= 0xDFFF)) OR ($char >= 0x10FFFF)) { + // The definition of UTF-8 prohibits encoding character numbers between + // U+D800 and U+DFFF, which are reserved for use with the UTF-16 + // encoding form (as surrogate pairs) and do not directly represent + // characters. + return 0xFFFD; // use replacement character + } else { + return $char; + } + } + } else { + // use replacement character for other invalid sequences + return 0xFFFD; + } + } + return 0xFFFD; + } + + /** + * Converts UTF-8 strings to codepoints array.
    + * Invalid byte sequences will be replaced with 0xFFFD (replacement character)
    + * @param string $str string to process. + * @param boolean $isunicode True when the documetn is in Unicode mode, false otherwise. + * @param array $currentfont Reference to current font array. + * @return array containing codepoints (UTF-8 characters values) + * @author Nicola Asuni + * @public static + */ + public static function UTF8StringToArray($str, $isunicode, &$currentfont) { + $str = is_null($str) ? '' : $str; + if ($isunicode) { + // requires PCRE unicode support turned on + $chars = TCPDF_STATIC::pregSplit('//','u', $str, -1, PREG_SPLIT_NO_EMPTY); + $carr = array_map(static::class.'::uniord', $chars); + } else { + $chars = str_split($str); + $carr = array_map('ord', $chars); + } + if (is_array($currentfont['subsetchars']) && is_array($carr)) { + $currentfont['subsetchars'] += array_fill_keys($carr, true); + } else { + $currentfont['subsetchars'] = array_merge($currentfont['subsetchars'], $carr); + } + return $carr; + } + + /** + * Converts UTF-8 strings to Latin1 when using the standard 14 core fonts.
    + * @param string $str string to process. + * @param boolean $isunicode True when the documetn is in Unicode mode, false otherwise. + * @param array $currentfont Reference to current font array. + * @return string + * @since 3.2.000 (2008-06-23) + * @public static + */ + public static function UTF8ToLatin1($str, $isunicode, &$currentfont) { + $unicode = self::UTF8StringToArray($str, $isunicode, $currentfont); // array containing UTF-8 unicode values + return self::UTF8ArrToLatin1($unicode); + } + + /** + * Converts UTF-8 strings to UTF16-BE.
    + * @param string $str string to process. + * @param boolean $setbom if true set the Byte Order Mark (BOM = 0xFEFF) + * @param boolean $isunicode True when the documetn is in Unicode mode, false otherwise. + * @param array $currentfont Reference to current font array. + * @return string + * @author Nicola Asuni + * @since 1.53.0.TC005 (2005-01-05) + * @public static + */ + public static function UTF8ToUTF16BE($str, $setbom, $isunicode, &$currentfont) { + if (!$isunicode) { + return $str; // string is not in unicode + } + $unicode = self::UTF8StringToArray($str, $isunicode, $currentfont); // array containing UTF-8 unicode values + return self::arrUTF8ToUTF16BE($unicode, $setbom); + } + + /** + * Reverse the RLT substrings using the Bidirectional Algorithm (http://unicode.org/reports/tr9/). + * @param string $str string to manipulate. + * @param bool $setbom if true set the Byte Order Mark (BOM = 0xFEFF) + * @param bool $forcertl if true forces RTL text direction + * @param boolean $isunicode True if the document is in Unicode mode, false otherwise. + * @param array $currentfont Reference to current font array. + * @return string + * @author Nicola Asuni + * @since 2.1.000 (2008-01-08) + * @public static + */ + public static function utf8StrRev($str, $setbom, $forcertl, $isunicode, &$currentfont) { + return self::utf8StrArrRev(self::UTF8StringToArray($str, $isunicode, $currentfont), $str, $setbom, $forcertl, $isunicode, $currentfont); + } + + /** + * Reverse the RLT substrings array using the Bidirectional Algorithm (http://unicode.org/reports/tr9/). + * @param array $arr array of unicode values. + * @param string $str string to manipulate (or empty value). + * @param bool $setbom if true set the Byte Order Mark (BOM = 0xFEFF) + * @param bool $forcertl if true forces RTL text direction + * @param boolean $isunicode True if the document is in Unicode mode, false otherwise. + * @param array $currentfont Reference to current font array. + * @return string + * @author Nicola Asuni + * @since 4.9.000 (2010-03-27) + * @public static + */ + public static function utf8StrArrRev($arr, $str, $setbom, $forcertl, $isunicode, &$currentfont) { + return self::arrUTF8ToUTF16BE(self::utf8Bidi($arr, $str, $forcertl, $isunicode, $currentfont), $setbom); + } + + /** + * Reverse the RLT substrings using the Bidirectional Algorithm (http://unicode.org/reports/tr9/). + * @param array $ta array of characters composing the string. + * @param string $str string to process + * @param bool $forcertl if 'R' forces RTL, if 'L' forces LTR + * @param boolean $isunicode True if the document is in Unicode mode, false otherwise. + * @param array $currentfont Reference to current font array. + * @return array of unicode chars + * @author Nicola Asuni + * @since 2.4.000 (2008-03-06) + * @public static + */ + public static function utf8Bidi($ta, $str, $forcertl, $isunicode, &$currentfont) { + // paragraph embedding level + $pel = 0; + // max level + $maxlevel = 0; + if (TCPDF_STATIC::empty_string($str)) { + // create string from array + $str = self::UTF8ArrSubString($ta, '', '', $isunicode); + } + // check if string contains arabic text + if (preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_ARABIC, $str)) { + $arabic = true; + } else { + $arabic = false; + } + // check if string contains RTL text + if (!($forcertl OR $arabic OR preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_RTL, $str))) { + return $ta; + } + + // get number of chars + $numchars = count($ta); + + if ($forcertl == 'R') { + $pel = 1; + } elseif ($forcertl == 'L') { + $pel = 0; + } else { + // P2. In each paragraph, find the first character of type L, AL, or R. + // P3. If a character is found in P2 and it is of type AL or R, then set the paragraph embedding level to one; otherwise, set it to zero. + for ($i=0; $i < $numchars; ++$i) { + $type = TCPDF_FONT_DATA::$uni_type[$ta[$i]]; + if ($type == 'L') { + $pel = 0; + break; + } elseif (($type == 'AL') OR ($type == 'R')) { + $pel = 1; + break; + } + } + } + + // Current Embedding Level + $cel = $pel; + // directional override status + $dos = 'N'; + $remember = array(); + // start-of-level-run + $sor = $pel % 2 ? 'R' : 'L'; + $eor = $sor; + + // Array of characters data + $chardata = Array(); + + // X1. Begin by setting the current embedding level to the paragraph embedding level. Set the directional override status to neutral. Process each character iteratively, applying rules X2 through X9. Only embedding levels from 0 to 61 are valid in this phase. + // In the resolution of levels in rules I1 and I2, the maximum embedding level of 62 can be reached. + for ($i=0; $i < $numchars; ++$i) { + if ($ta[$i] == TCPDF_FONT_DATA::$uni_RLE) { + // X2. With each RLE, compute the least greater odd embedding level. + // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to neutral. + // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status. + $next_level = $cel + ($cel % 2) + 1; + if ($next_level < 62) { + $remember[] = array('num' => TCPDF_FONT_DATA::$uni_RLE, 'cel' => $cel, 'dos' => $dos); + $cel = $next_level; + $dos = 'N'; + $sor = $eor; + $eor = $cel % 2 ? 'R' : 'L'; + } + } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_LRE) { + // X3. With each LRE, compute the least greater even embedding level. + // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to neutral. + // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status. + $next_level = $cel + 2 - ($cel % 2); + if ( $next_level < 62 ) { + $remember[] = array('num' => TCPDF_FONT_DATA::$uni_LRE, 'cel' => $cel, 'dos' => $dos); + $cel = $next_level; + $dos = 'N'; + $sor = $eor; + $eor = $cel % 2 ? 'R' : 'L'; + } + } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_RLO) { + // X4. With each RLO, compute the least greater odd embedding level. + // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to right-to-left. + // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status. + $next_level = $cel + ($cel % 2) + 1; + if ($next_level < 62) { + $remember[] = array('num' => TCPDF_FONT_DATA::$uni_RLO, 'cel' => $cel, 'dos' => $dos); + $cel = $next_level; + $dos = 'R'; + $sor = $eor; + $eor = $cel % 2 ? 'R' : 'L'; + } + } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_LRO) { + // X5. With each LRO, compute the least greater even embedding level. + // a. If this new level would be valid, then this embedding code is valid. Remember (push) the current embedding level and override status. Reset the current level to this new level, and reset the override status to left-to-right. + // b. If the new level would not be valid, then this code is invalid. Do not change the current level or override status. + $next_level = $cel + 2 - ($cel % 2); + if ( $next_level < 62 ) { + $remember[] = array('num' => TCPDF_FONT_DATA::$uni_LRO, 'cel' => $cel, 'dos' => $dos); + $cel = $next_level; + $dos = 'L'; + $sor = $eor; + $eor = $cel % 2 ? 'R' : 'L'; + } + } elseif ($ta[$i] == TCPDF_FONT_DATA::$uni_PDF) { + // X7. With each PDF, determine the matching embedding or override code. If there was a valid matching code, restore (pop) the last remembered (pushed) embedding level and directional override. + if (count($remember)) { + $last = count($remember ) - 1; + if (($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_RLE) OR + ($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_LRE) OR + ($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_RLO) OR + ($remember[$last]['num'] == TCPDF_FONT_DATA::$uni_LRO)) { + $match = array_pop($remember); + $cel = $match['cel']; + $dos = $match['dos']; + $sor = $eor; + $eor = ($cel > $match['cel'] ? $cel : $match['cel']) % 2 ? 'R' : 'L'; + } + } + } elseif (($ta[$i] != TCPDF_FONT_DATA::$uni_RLE) AND + ($ta[$i] != TCPDF_FONT_DATA::$uni_LRE) AND + ($ta[$i] != TCPDF_FONT_DATA::$uni_RLO) AND + ($ta[$i] != TCPDF_FONT_DATA::$uni_LRO) AND + ($ta[$i] != TCPDF_FONT_DATA::$uni_PDF)) { + // X6. For all types besides RLE, LRE, RLO, LRO, and PDF: + // a. Set the level of the current character to the current embedding level. + // b. Whenever the directional override status is not neutral, reset the current character type to the directional override status. + if ($dos != 'N') { + $chardir = $dos; + } else { + if (isset(TCPDF_FONT_DATA::$uni_type[$ta[$i]])) { + $chardir = TCPDF_FONT_DATA::$uni_type[$ta[$i]]; + } else { + $chardir = 'L'; + } + } + // stores string characters and other information + $chardata[] = array('char' => $ta[$i], 'level' => $cel, 'type' => $chardir, 'sor' => $sor, 'eor' => $eor); + } + } // end for each char + + // X8. All explicit directional embeddings and overrides are completely terminated at the end of each paragraph. Paragraph separators are not included in the embedding. + // X9. Remove all RLE, LRE, RLO, LRO, PDF, and BN codes. + // X10. The remaining rules are applied to each run of characters at the same level. For each run, determine the start-of-level-run (sor) and end-of-level-run (eor) type, either L or R. This depends on the higher of the two levels on either side of the boundary (at the start or end of the paragraph, the level of the 'other' run is the base embedding level). If the higher level is odd, the type is R; otherwise, it is L. + + // 3.3.3 Resolving Weak Types + // Weak types are now resolved one level run at a time. At level run boundaries where the type of the character on the other side of the boundary is required, the type assigned to sor or eor is used. + // Nonspacing marks are now resolved based on the previous characters. + $numchars = count($chardata); + + // W1. Examine each nonspacing mark (NSM) in the level run, and change the type of the NSM to the type of the previous character. If the NSM is at the start of the level run, it will get the type of sor. + $prevlevel = -1; // track level changes + $levcount = 0; // counts consecutive chars at the same level + for ($i=0; $i < $numchars; ++$i) { + if ($chardata[$i]['type'] == 'NSM') { + if ($levcount) { + $chardata[$i]['type'] = $chardata[$i]['sor']; + } elseif ($i > 0) { + $chardata[$i]['type'] = $chardata[($i-1)]['type']; + } + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + // W2. Search backward from each instance of a European number until the first strong type (R, L, AL, or sor) is found. If an AL is found, change the type of the European number to Arabic number. + $prevlevel = -1; + $levcount = 0; + for ($i=0; $i < $numchars; ++$i) { + if ($chardata[$i]['char'] == 'EN') { + for ($j=$levcount; $j >= 0; $j--) { + if ($chardata[$j]['type'] == 'AL') { + $chardata[$i]['type'] = 'AN'; + } elseif (($chardata[$j]['type'] == 'L') OR ($chardata[$j]['type'] == 'R')) { + break; + } + } + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + // W3. Change all ALs to R. + for ($i=0; $i < $numchars; ++$i) { + if ($chardata[$i]['type'] == 'AL') { + $chardata[$i]['type'] = 'R'; + } + } + + // W4. A single European separator between two European numbers changes to a European number. A single common separator between two numbers of the same type changes to that type. + $prevlevel = -1; + $levcount = 0; + for ($i=0; $i < $numchars; ++$i) { + if (($levcount > 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) { + if (($chardata[$i]['type'] == 'ES') AND ($chardata[($i-1)]['type'] == 'EN') AND ($chardata[($i+1)]['type'] == 'EN')) { + $chardata[$i]['type'] = 'EN'; + } elseif (($chardata[$i]['type'] == 'CS') AND ($chardata[($i-1)]['type'] == 'EN') AND ($chardata[($i+1)]['type'] == 'EN')) { + $chardata[$i]['type'] = 'EN'; + } elseif (($chardata[$i]['type'] == 'CS') AND ($chardata[($i-1)]['type'] == 'AN') AND ($chardata[($i+1)]['type'] == 'AN')) { + $chardata[$i]['type'] = 'AN'; + } + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + // W5. A sequence of European terminators adjacent to European numbers changes to all European numbers. + $prevlevel = -1; + $levcount = 0; + for ($i=0; $i < $numchars; ++$i) { + if ($chardata[$i]['type'] == 'ET') { + if (($levcount > 0) AND ($chardata[($i-1)]['type'] == 'EN')) { + $chardata[$i]['type'] = 'EN'; + } else { + $j = $i+1; + while (($j < $numchars) AND ($chardata[$j]['level'] == $prevlevel)) { + if ($chardata[$j]['type'] == 'EN') { + $chardata[$i]['type'] = 'EN'; + break; + } elseif ($chardata[$j]['type'] != 'ET') { + break; + } + ++$j; + } + } + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + // W6. Otherwise, separators and terminators change to Other Neutral. + $prevlevel = -1; + $levcount = 0; + for ($i=0; $i < $numchars; ++$i) { + if (($chardata[$i]['type'] == 'ET') OR ($chardata[$i]['type'] == 'ES') OR ($chardata[$i]['type'] == 'CS')) { + $chardata[$i]['type'] = 'ON'; + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + //W7. Search backward from each instance of a European number until the first strong type (R, L, or sor) is found. If an L is found, then change the type of the European number to L. + $prevlevel = -1; + $levcount = 0; + for ($i=0; $i < $numchars; ++$i) { + if ($chardata[$i]['char'] == 'EN') { + for ($j=$levcount; $j >= 0; $j--) { + if ($chardata[$j]['type'] == 'L') { + $chardata[$i]['type'] = 'L'; + } elseif ($chardata[$j]['type'] == 'R') { + break; + } + } + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + // N1. A sequence of neutrals takes the direction of the surrounding strong text if the text on both sides has the same direction. European and Arabic numbers act as if they were R in terms of their influence on neutrals. Start-of-level-run (sor) and end-of-level-run (eor) are used at level run boundaries. + $prevlevel = -1; + $levcount = 0; + for ($i=0; $i < $numchars; ++$i) { + if (($levcount > 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) { + if (($chardata[$i]['type'] == 'N') AND ($chardata[($i-1)]['type'] == 'L') AND ($chardata[($i+1)]['type'] == 'L')) { + $chardata[$i]['type'] = 'L'; + } elseif (($chardata[$i]['type'] == 'N') AND + (($chardata[($i-1)]['type'] == 'R') OR ($chardata[($i-1)]['type'] == 'EN') OR ($chardata[($i-1)]['type'] == 'AN')) AND + (($chardata[($i+1)]['type'] == 'R') OR ($chardata[($i+1)]['type'] == 'EN') OR ($chardata[($i+1)]['type'] == 'AN'))) { + $chardata[$i]['type'] = 'R'; + } elseif ($chardata[$i]['type'] == 'N') { + // N2. Any remaining neutrals take the embedding direction + $chardata[$i]['type'] = $chardata[$i]['sor']; + } + } elseif (($levcount == 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) { + // first char + if (($chardata[$i]['type'] == 'N') AND ($chardata[$i]['sor'] == 'L') AND ($chardata[($i+1)]['type'] == 'L')) { + $chardata[$i]['type'] = 'L'; + } elseif (($chardata[$i]['type'] == 'N') AND + (($chardata[$i]['sor'] == 'R') OR ($chardata[$i]['sor'] == 'EN') OR ($chardata[$i]['sor'] == 'AN')) AND + (($chardata[($i+1)]['type'] == 'R') OR ($chardata[($i+1)]['type'] == 'EN') OR ($chardata[($i+1)]['type'] == 'AN'))) { + $chardata[$i]['type'] = 'R'; + } elseif ($chardata[$i]['type'] == 'N') { + // N2. Any remaining neutrals take the embedding direction + $chardata[$i]['type'] = $chardata[$i]['sor']; + } + } elseif (($levcount > 0) AND ((($i+1) == $numchars) OR (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] != $prevlevel))) { + //last char + if (($chardata[$i]['type'] == 'N') AND ($chardata[($i-1)]['type'] == 'L') AND ($chardata[$i]['eor'] == 'L')) { + $chardata[$i]['type'] = 'L'; + } elseif (($chardata[$i]['type'] == 'N') AND + (($chardata[($i-1)]['type'] == 'R') OR ($chardata[($i-1)]['type'] == 'EN') OR ($chardata[($i-1)]['type'] == 'AN')) AND + (($chardata[$i]['eor'] == 'R') OR ($chardata[$i]['eor'] == 'EN') OR ($chardata[$i]['eor'] == 'AN'))) { + $chardata[$i]['type'] = 'R'; + } elseif ($chardata[$i]['type'] == 'N') { + // N2. Any remaining neutrals take the embedding direction + $chardata[$i]['type'] = $chardata[$i]['sor']; + } + } elseif ($chardata[$i]['type'] == 'N') { + // N2. Any remaining neutrals take the embedding direction + $chardata[$i]['type'] = $chardata[$i]['sor']; + } + if ($chardata[$i]['level'] != $prevlevel) { + $levcount = 0; + } else { + ++$levcount; + } + $prevlevel = $chardata[$i]['level']; + } + + // I1. For all characters with an even (left-to-right) embedding direction, those of type R go up one level and those of type AN or EN go up two levels. + // I2. For all characters with an odd (right-to-left) embedding direction, those of type L, EN or AN go up one level. + for ($i=0; $i < $numchars; ++$i) { + $odd = $chardata[$i]['level'] % 2; + if ($odd) { + if (($chardata[$i]['type'] == 'L') OR ($chardata[$i]['type'] == 'AN') OR ($chardata[$i]['type'] == 'EN')) { + $chardata[$i]['level'] += 1; + } + } else { + if ($chardata[$i]['type'] == 'R') { + $chardata[$i]['level'] += 1; + } elseif (($chardata[$i]['type'] == 'AN') OR ($chardata[$i]['type'] == 'EN')) { + $chardata[$i]['level'] += 2; + } + } + $maxlevel = max($chardata[$i]['level'],$maxlevel); + } + + // L1. On each line, reset the embedding level of the following characters to the paragraph embedding level: + // 1. Segment separators, + // 2. Paragraph separators, + // 3. Any sequence of whitespace characters preceding a segment separator or paragraph separator, and + // 4. Any sequence of white space characters at the end of the line. + for ($i=0; $i < $numchars; ++$i) { + if (($chardata[$i]['type'] == 'B') OR ($chardata[$i]['type'] == 'S')) { + $chardata[$i]['level'] = $pel; + } elseif ($chardata[$i]['type'] == 'WS') { + $j = $i+1; + while ($j < $numchars) { + if ((($chardata[$j]['type'] == 'B') OR ($chardata[$j]['type'] == 'S')) OR + (($j == ($numchars-1)) AND ($chardata[$j]['type'] == 'WS'))) { + $chardata[$i]['level'] = $pel; + break; + } elseif ($chardata[$j]['type'] != 'WS') { + break; + } + ++$j; + } + } + } + + // Arabic Shaping + // Cursively connected scripts, such as Arabic or Syriac, require the selection of positional character shapes that depend on adjacent characters. Shaping is logically applied after the Bidirectional Algorithm is used and is limited to characters within the same directional run. + if ($arabic) { + $endedletter = array(1569,1570,1571,1572,1573,1575,1577,1583,1584,1585,1586,1608,1688); + $alfletter = array(1570,1571,1573,1575); + $chardata2 = $chardata; + $laaletter = false; + $charAL = array(); + $x = 0; + for ($i=0; $i < $numchars; ++$i) { + if ((TCPDF_FONT_DATA::$uni_type[$chardata[$i]['char']] == 'AL') OR ($chardata[$i]['char'] == 32) OR ($chardata[$i]['char'] == 8204)) { + $charAL[$x] = $chardata[$i]; + $charAL[$x]['i'] = $i; + $chardata[$i]['x'] = $x; + ++$x; + } + } + $numAL = $x; + for ($i=0; $i < $numchars; ++$i) { + $thischar = $chardata[$i]; + if ($i > 0) { + $prevchar = $chardata[($i-1)]; + } else { + $prevchar = false; + } + if (($i+1) < $numchars) { + $nextchar = $chardata[($i+1)]; + } else { + $nextchar = false; + } + if (TCPDF_FONT_DATA::$uni_type[$thischar['char']] == 'AL') { + $x = $thischar['x']; + if ($x > 0) { + $prevchar = $charAL[($x-1)]; + } else { + $prevchar = false; + } + if (($x+1) < $numAL) { + $nextchar = $charAL[($x+1)]; + } else { + $nextchar = false; + } + // if laa letter + if (($prevchar !== false) AND ($prevchar['char'] == 1604) AND (in_array($thischar['char'], $alfletter))) { + $arabicarr = TCPDF_FONT_DATA::$uni_laa_array; + $laaletter = true; + if ($x > 1) { + $prevchar = $charAL[($x-2)]; + } else { + $prevchar = false; + } + } else { + $arabicarr = TCPDF_FONT_DATA::$uni_arabicsubst; + $laaletter = false; + } + if (($prevchar !== false) AND ($nextchar !== false) AND + ((TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'NSM')) AND + ((TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'NSM')) AND + ($prevchar['type'] == $thischar['type']) AND + ($nextchar['type'] == $thischar['type']) AND + ($nextchar['char'] != 1567)) { + if (in_array($prevchar['char'], $endedletter)) { + if (isset($arabicarr[$thischar['char']][2])) { + // initial + $chardata2[$i]['char'] = $arabicarr[$thischar['char']][2]; + } + } else { + if (isset($arabicarr[$thischar['char']][3])) { + // medial + $chardata2[$i]['char'] = $arabicarr[$thischar['char']][3]; + } + } + } elseif (($nextchar !== false) AND + ((TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$nextchar['char']] == 'NSM')) AND + ($nextchar['type'] == $thischar['type']) AND + ($nextchar['char'] != 1567)) { + if (isset($arabicarr[$chardata[$i]['char']][2])) { + // initial + $chardata2[$i]['char'] = $arabicarr[$thischar['char']][2]; + } + } elseif ((($prevchar !== false) AND + ((TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'AL') OR (TCPDF_FONT_DATA::$uni_type[$prevchar['char']] == 'NSM')) AND + ($prevchar['type'] == $thischar['type'])) OR + (($nextchar !== false) AND ($nextchar['char'] == 1567))) { + // final + if (($i > 1) AND ($thischar['char'] == 1607) AND + ($chardata[$i-1]['char'] == 1604) AND + ($chardata[$i-2]['char'] == 1604)) { + //Allah Word + // mark characters to delete with false + $chardata2[$i-2]['char'] = false; + $chardata2[$i-1]['char'] = false; + $chardata2[$i]['char'] = 65010; + } else { + if (($prevchar !== false) AND in_array($prevchar['char'], $endedletter)) { + if (isset($arabicarr[$thischar['char']][0])) { + // isolated + $chardata2[$i]['char'] = $arabicarr[$thischar['char']][0]; + } + } else { + if (isset($arabicarr[$thischar['char']][1])) { + // final + $chardata2[$i]['char'] = $arabicarr[$thischar['char']][1]; + } + } + } + } elseif (isset($arabicarr[$thischar['char']][0])) { + // isolated + $chardata2[$i]['char'] = $arabicarr[$thischar['char']][0]; + } + // if laa letter + if ($laaletter) { + // mark characters to delete with false + $chardata2[($charAL[($x-1)]['i'])]['char'] = false; + } + } // end if AL (Arabic Letter) + } // end for each char + /* + * Combining characters that can occur with Arabic Shadda (0651 HEX, 1617 DEC) are replaced. + * Putting the combining mark and shadda in the same glyph allows us to avoid the two marks overlapping each other in an illegible manner. + */ + for ($i = 0; $i < ($numchars-1); ++$i) { + if (($chardata2[$i]['char'] == 1617) AND (isset(TCPDF_FONT_DATA::$uni_diacritics[($chardata2[$i+1]['char'])]))) { + // check if the subtitution font is defined on current font + if (isset($currentfont['cw'][(TCPDF_FONT_DATA::$uni_diacritics[($chardata2[$i+1]['char'])])])) { + $chardata2[$i]['char'] = false; + $chardata2[$i+1]['char'] = TCPDF_FONT_DATA::$uni_diacritics[($chardata2[$i+1]['char'])]; + } + } + } + // remove marked characters + foreach ($chardata2 as $key => $value) { + if ($value['char'] === false) { + unset($chardata2[$key]); + } + } + $chardata = array_values($chardata2); + $numchars = count($chardata); + unset($chardata2); + unset($arabicarr); + unset($laaletter); + unset($charAL); + } + + // L2. From the highest level found in the text to the lowest odd level on each line, including intermediate levels not actually present in the text, reverse any contiguous sequence of characters that are at that level or higher. + for ($j=$maxlevel; $j > 0; $j--) { + $ordarray = Array(); + $revarr = Array(); + $onlevel = false; + for ($i=0; $i < $numchars; ++$i) { + if ($chardata[$i]['level'] >= $j) { + $onlevel = true; + if (isset(TCPDF_FONT_DATA::$uni_mirror[$chardata[$i]['char']])) { + // L4. A character is depicted by a mirrored glyph if and only if (a) the resolved directionality of that character is R, and (b) the Bidi_Mirrored property value of that character is true. + $chardata[$i]['char'] = TCPDF_FONT_DATA::$uni_mirror[$chardata[$i]['char']]; + } + $revarr[] = $chardata[$i]; + } else { + if ($onlevel) { + $revarr = array_reverse($revarr); + $ordarray = array_merge($ordarray, $revarr); + $revarr = Array(); + $onlevel = false; + } + $ordarray[] = $chardata[$i]; + } + } + if ($onlevel) { + $revarr = array_reverse($revarr); + $ordarray = array_merge($ordarray, $revarr); + } + $chardata = $ordarray; + } + $ordarray = array(); + foreach ($chardata as $cd) { + $ordarray[] = $cd['char']; + // store char values for subsetting + $currentfont['subsetchars'][$cd['char']] = true; + } + return $ordarray; + } + +} // END OF TCPDF_FONTS CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_images.php b/vendor/tecnickcom/tcpdf/include/tcpdf_images.php new file mode 100644 index 0000000..6f2860c --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_images.php @@ -0,0 +1,359 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : +// Static image methods used by the TCPDF class. +// +//============================================================+ + +/** + * @file + * This is a PHP class that contains static image methods for the TCPDF class.
    + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.005 + */ + +/** + * @class TCPDF_IMAGES + * Static image methods used by the TCPDF class. + * @package com.tecnick.tcpdf + * @brief PHP class for generating PDF documents without requiring external extensions. + * @version 1.0.005 + * @author Nicola Asuni - info@tecnick.com + */ +class TCPDF_IMAGES { + + /** + * Array of hinheritable SVG properties. + * @since 5.0.000 (2010-05-02) + * @public static + * + * @var string[] + */ + public static $svginheritprop = array('clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cursor', 'direction', 'display', 'fill', 'fill-opacity', 'fill-rule', 'font', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'image-rendering', 'kerning', 'letter-spacing', 'marker', 'marker-end', 'marker-mid', 'marker-start', 'pointer-events', 'shape-rendering', 'stroke', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-rendering', 'visibility', 'word-spacing', 'writing-mode'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + /** + * Return the image type given the file name or array returned by getimagesize() function. + * @param string $imgfile image file name + * @param array $iminfo array of image information returned by getimagesize() function. + * @return string image type + * @since 4.8.017 (2009-11-27) + * @public static + */ + public static function getImageFileType($imgfile, $iminfo=array()) { + $type = ''; + if (isset($iminfo['mime']) AND !empty($iminfo['mime'])) { + $mime = explode('/', $iminfo['mime']); + if ((count($mime) > 1) AND ($mime[0] == 'image') AND (!empty($mime[1]))) { + $type = strtolower(trim($mime[1])); + } + } + if (empty($type)) { + $type = strtolower(trim(pathinfo(parse_url($imgfile, PHP_URL_PATH), PATHINFO_EXTENSION))); + } + if ($type == 'jpg') { + $type = 'jpeg'; + } + return $type; + } + + /** + * Set the transparency for the given GD image. + * @param resource $new_image GD image object + * @param resource $image GD image object. + * @return resource GD image object $new_image + * @since 4.9.016 (2010-04-20) + * @public static + */ + public static function setGDImageTransparency($new_image, $image) { + // default transparency color (white) + $tcol = array('red' => 255, 'green' => 255, 'blue' => 255); + // transparency index + $tid = imagecolortransparent($image); + $palletsize = imagecolorstotal($image); + if (($tid >= 0) AND ($tid < $palletsize)) { + // get the colors for the transparency index + $tcol = imagecolorsforindex($image, $tid); + } + $tid = imagecolorallocate($new_image, $tcol['red'], $tcol['green'], $tcol['blue']); + imagefill($new_image, 0, 0, $tid); + imagecolortransparent($new_image, $tid); + return $new_image; + } + + /** + * Convert the loaded image to a PNG and then return a structure for the PDF creator. + * This function requires GD library and write access to the directory defined on K_PATH_CACHE constant. + * @param resource $image Image object. + * @param string $tempfile Temporary file name. + * return image PNG image object. + * @since 4.9.016 (2010-04-20) + * @public static + */ + public static function _toPNG($image, $tempfile) { + // turn off interlaced mode + imageinterlace($image, 0); + // create temporary PNG image + imagepng($image, $tempfile); + // remove image from memory + imagedestroy($image); + // get PNG image data + $retvars = self::_parsepng($tempfile); + // tidy up by removing temporary image + unlink($tempfile); + return $retvars; + } + + /** + * Convert the loaded image to a JPEG and then return a structure for the PDF creator. + * This function requires GD library and write access to the directory defined on K_PATH_CACHE constant. + * @param resource $image Image object. + * @param int $quality JPEG quality. + * @param string $tempfile Temporary file name. + * return array|false image JPEG image object. + * @public static + */ + public static function _toJPEG($image, $quality, $tempfile) { + imagejpeg($image, $tempfile, $quality); + imagedestroy($image); + $retvars = self::_parsejpeg($tempfile); + // tidy up by removing temporary image + unlink($tempfile); + return $retvars; + } + + /** + * Extract info from a JPEG file without using the GD library. + * @param string $file image file to parse + * @return array|false structure containing the image data + * @public static + */ + public static function _parsejpeg($file) { + // check if is a local file + if (!@TCPDF_STATIC::file_exists($file)) { + return false; + } + $a = getimagesize($file); + if (empty($a)) { + //Missing or incorrect image file + return false; + } + if ($a[2] != 2) { + // Not a JPEG file + return false; + } + // bits per pixel + $bpc = isset($a['bits']) ? intval($a['bits']) : 8; + // number of image channels + if (!isset($a['channels'])) { + $channels = 3; + } else { + $channels = intval($a['channels']); + } + // default colour space + switch ($channels) { + case 1: { + $colspace = 'DeviceGray'; + break; + } + case 3: { + $colspace = 'DeviceRGB'; + break; + } + case 4: { + $colspace = 'DeviceCMYK'; + break; + } + default: { + $channels = 3; + $colspace = 'DeviceRGB'; + break; + } + } + // get file content + $data = file_get_contents($file); + // check for embedded ICC profile + $icc = array(); + $offset = 0; + while (($pos = strpos($data, "ICC_PROFILE\0", $offset)) !== false) { + // get ICC sequence length + $length = (TCPDF_STATIC::_getUSHORT($data, ($pos - 2)) - 16); + // marker sequence number + $msn = max(1, ord($data[($pos + 12)])); + // number of markers (total of APP2 used) + $nom = max(1, ord($data[($pos + 13)])); + // get sequence segment + $icc[($msn - 1)] = substr($data, ($pos + 14), $length); + // move forward to next sequence + $offset = ($pos + 14 + $length); + } + // order and compact ICC segments + if (count($icc) > 0) { + ksort($icc); + $icc = implode('', $icc); + if ((ord($icc[36]) != 0x61) OR (ord($icc[37]) != 0x63) OR (ord($icc[38]) != 0x73) OR (ord($icc[39]) != 0x70)) { + // invalid ICC profile + $icc = false; + } + } else { + $icc = false; + } + return array('w' => $a[0], 'h' => $a[1], 'ch' => $channels, 'icc' => $icc, 'cs' => $colspace, 'bpc' => $bpc, 'f' => 'DCTDecode', 'data' => $data); + } + + /** + * Extract info from a PNG file without using the GD library. + * @param string $file image file to parse + * @return array|false structure containing the image data + * @public static + */ + public static function _parsepng($file) { + $f = @fopen($file, 'rb'); + if ($f === false) { + // Can't open image file + return false; + } + //Check signature + if (fread($f, 8) != chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) { + // Not a PNG file + return false; + } + //Read header chunk + fread($f, 4); + if (fread($f, 4) != 'IHDR') { + //Incorrect PNG file + return false; + } + $w = TCPDF_STATIC::_freadint($f); + $h = TCPDF_STATIC::_freadint($f); + $bpc = ord(fread($f, 1)); + $ct = ord(fread($f, 1)); + if ($ct == 0) { + $colspace = 'DeviceGray'; + } elseif ($ct == 2) { + $colspace = 'DeviceRGB'; + } elseif ($ct == 3) { + $colspace = 'Indexed'; + } else { + // alpha channel + fclose($f); + return 'pngalpha'; + } + if (ord(fread($f, 1)) != 0) { + // Unknown compression method + fclose($f); + return false; + } + if (ord(fread($f, 1)) != 0) { + // Unknown filter method + fclose($f); + return false; + } + if (ord(fread($f, 1)) != 0) { + // Interlacing not supported + fclose($f); + return false; + } + fread($f, 4); + $channels = ($ct == 2 ? 3 : 1); + $parms = '/DecodeParms << /Predictor 15 /Colors '.$channels.' /BitsPerComponent '.$bpc.' /Columns '.$w.' >>'; + //Scan chunks looking for palette, transparency and image data + $pal = ''; + $trns = ''; + $data = ''; + $icc = false; + $n = TCPDF_STATIC::_freadint($f); + do { + $type = fread($f, 4); + if ($type == 'PLTE') { + // read palette + $pal = TCPDF_STATIC::rfread($f, $n); + fread($f, 4); + } elseif ($type == 'tRNS') { + // read transparency info + $t = TCPDF_STATIC::rfread($f, $n); + if ($ct == 0) { // DeviceGray + $trns = array(ord($t[1])); + } elseif ($ct == 2) { // DeviceRGB + $trns = array(ord($t[1]), ord($t[3]), ord($t[5])); + } else { // Indexed + if ($n > 0) { + $trns = array(); + for ($i = 0; $i < $n; ++ $i) { + $trns[] = ord($t[$i]); + } + } + } + fread($f, 4); + } elseif ($type == 'IDAT') { + // read image data block + $data .= TCPDF_STATIC::rfread($f, $n); + fread($f, 4); + } elseif ($type == 'iCCP') { + // skip profile name + $len = 0; + while ((ord(fread($f, 1)) != 0) AND ($len < 80)) { + ++$len; + } + // get compression method + if (ord(fread($f, 1)) != 0) { + // Unknown filter method + fclose($f); + return false; + } + // read ICC Color Profile + $icc = TCPDF_STATIC::rfread($f, ($n - $len - 2)); + // decompress profile + $icc = gzuncompress($icc); + fread($f, 4); + } elseif ($type == 'IEND') { + break; + } else { + TCPDF_STATIC::rfread($f, $n + 4); + } + $n = TCPDF_STATIC::_freadint($f); + } while ($n); + if (($colspace == 'Indexed') AND (empty($pal))) { + // Missing palette + fclose($f); + return false; + } + fclose($f); + return array('w' => $w, 'h' => $h, 'ch' => $channels, 'icc' => $icc, 'cs' => $colspace, 'bpc' => $bpc, 'f' => 'FlateDecode', 'parms' => $parms, 'pal' => $pal, 'trns' => $trns, 'data' => $data); + } + +} // END OF TCPDF_IMAGES CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/include/tcpdf_static.php b/vendor/tecnickcom/tcpdf/include/tcpdf_static.php new file mode 100644 index 0000000..efadc92 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/include/tcpdf_static.php @@ -0,0 +1,2659 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : +// Static methods used by the TCPDF class. +// +//============================================================+ + +/** + * @file + * This is a PHP class that contains static methods for the TCPDF class.
    + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.1.5 + */ + +/** + * @class TCPDF_STATIC + * Static methods used by the TCPDF class. + * @package com.tecnick.tcpdf + * @brief PHP class for generating PDF documents without requiring external extensions. + * @version 1.1.5 + * @author Nicola Asuni - info@tecnick.com + */ +class TCPDF_STATIC { + + /** + * Current TCPDF version. + * @private static + */ + private static $tcpdf_version = '6.10.0'; + + /** + * String alias for total number of pages. + * @public static + */ + public static $alias_tot_pages = '{:ptp:}'; + + /** + * String alias for page number. + * @public static + */ + public static $alias_num_page = '{:pnp:}'; + + /** + * String alias for total number of pages in a single group. + * @public static + */ + public static $alias_group_tot_pages = '{:ptg:}'; + + /** + * String alias for group page number. + * @public static + */ + public static $alias_group_num_page = '{:png:}'; + + /** + * String alias for right shift compensation used to correctly align page numbers on the right. + * @public static + */ + public static $alias_right_shift = '{rsc:'; + + /** + * Encryption padding string. + * @public static + */ + public static $enc_padding = "\x28\xBF\x4E\x5E\x4E\x75\x8A\x41\x64\x00\x4E\x56\xFF\xFA\x01\x08\x2E\x2E\x00\xB6\xD0\x68\x3E\x80\x2F\x0C\xA9\xFE\x64\x53\x69\x7A"; + + /** + * ByteRange placemark used during digital signature process. + * @since 4.6.028 (2009-08-25) + * @public static + */ + public static $byterange_string = '/ByteRange[0 ********** ********** **********]'; + + /** + * Array page boxes names + * @public static + */ + public static $pageboxes = array('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'); + + /** + * Array of default cURL options for curl_setopt_array. + * + * @var array cURL options. + */ + protected const CURLOPT_DEFAULT = [ + CURLOPT_CONNECTTIMEOUT => 5, + CURLOPT_MAXREDIRS => 5, + CURLOPT_PROTOCOLS => CURLPROTO_HTTPS | CURLPROTO_HTTP | CURLPROTO_FTP | CURLPROTO_FTPS, + CURLOPT_SSL_VERIFYHOST => 2, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_TIMEOUT => 30, + CURLOPT_USERAGENT => 'tcpdf', + ]; + + /** + * Array of fixed cURL options for curl_setopt_array. + * + * @var array cURL options. + */ + protected const CURLOPT_FIXED = [ + CURLOPT_FAILONERROR => true, + CURLOPT_RETURNTRANSFER => true, + ]; + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + /** + * Return the current TCPDF version. + * @return string TCPDF version string + * @since 5.9.012 (2010-11-10) + * @public static + */ + public static function getTCPDFVersion() { + return self::$tcpdf_version; + } + + /** + * Return the current TCPDF producer. + * @return string TCPDF producer string + * @since 6.0.000 (2013-03-16) + * @public static + */ + public static function getTCPDFProducer() { + return "\x54\x43\x50\x44\x46\x20".self::getTCPDFVersion()."\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x63\x70\x64\x66\x2e\x6f\x72\x67\x29"; + } + + /** + * Check if the URL exist. + * @param string $url URL to check. + * @return boolean true if the URl exist, false otherwise. + * @since 5.9.204 (2013-01-28) + * @public static + */ + public static function isValidURL($url) { + $headers = @get_headers($url); + if ($headers === false) { + return false; + } + return (strpos($headers[0], '200') !== false); + } + + /** + * Removes SHY characters from text. + * Unicode Data:
      + *
    • Name : SOFT HYPHEN, commonly abbreviated as SHY
    • + *
    • HTML Entity (decimal): "&#173;"
    • + *
    • HTML Entity (hex): "&#xad;"
    • + *
    • HTML Entity (named): "&shy;"
    • + *
    • How to type in Microsoft Windows: [Alt +00AD] or [Alt 0173]
    • + *
    • UTF-8 (hex): 0xC2 0xAD (c2ad)
    • + *
    • UTF-8 character: chr(194).chr(173)
    • + *
    + * @param string $txt input string + * @param boolean $unicode True if we are in unicode mode, false otherwise. + * @return string without SHY characters. + * @since (4.5.019) 2009-02-28 + * @public static + */ + public static function removeSHY($txt='', $unicode=true) { + $txt = preg_replace('/([\\xc2]{1}[\\xad]{1})/', '', $txt); + if (!$unicode) { + $txt = preg_replace('/([\\xad]{1})/', '', $txt); + } + return $txt; + } + + + /** + * Get the border mode accounting for multicell position (opens bottom side of multicell crossing pages) + * @param string|array|int $brd Indicates if borders must be drawn around the cell block. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param string $position multicell position: 'start', 'middle', 'end' + * @param boolean $opencell True when the cell is left open at the page bottom, false otherwise. + * @return array border mode array + * @since 4.4.002 (2008-12-09) + * @public static + */ + public static function getBorderMode($brd, $position='start', $opencell=true) { + if ((!$opencell) OR empty($brd)) { + return $brd; + } + if ($brd == 1) { + $brd = 'LTRB'; + } + if (is_string($brd)) { + // convert string to array + $slen = strlen($brd); + $newbrd = array(); + for ($i = 0; $i < $slen; ++$i) { + $newbrd[$brd[$i]] = array('cap' => 'square', 'join' => 'miter'); + } + $brd = $newbrd; + } + foreach ($brd as $border => $style) { + switch ($position) { + case 'start': { + if (strpos($border, 'B') !== false) { + // remove bottom line + $newkey = str_replace('B', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); + } + break; + } + case 'middle': { + if (strpos($border, 'B') !== false) { + // remove bottom line + $newkey = str_replace('B', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); + $border = $newkey; + } + if (strpos($border, 'T') !== false) { + // remove bottom line + $newkey = str_replace('T', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); + } + break; + } + case 'end': { + if (strpos($border, 'T') !== false) { + // remove bottom line + $newkey = str_replace('T', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); + } + break; + } + } + } + return $brd; + } + + /** + * Determine whether a string is empty. + * @param string $str string to be checked + * @return bool true if string is empty + * @since 4.5.044 (2009-04-16) + * @public static + */ + public static function empty_string($str) { + return (is_null($str) OR (is_string($str) AND (strlen($str) == 0))); + } + + /** + * Returns a temporary filename for caching object on filesystem. + * @param string $type Type of file (name of the subdir on the tcpdf cache folder). + * @param string $file_id TCPDF file_id. + * @return string filename. + * @since 4.5.000 (2008-12-31) + * @public static + */ + public static function getObjFilename($type='tmp', $file_id='') { + return tempnam(K_PATH_CACHE, '__tcpdf_'.$file_id.'_'.$type.'_'.md5(TCPDF_STATIC::getRandomSeed()).'_'); + } + + /** + * Add "\" before "\", "(" and ")" + * @param string $s string to escape. + * @return string escaped string. + * @public static + */ + public static function _escape($s) { + // the chr(13) substitution fixes the Bugs item #1421290. + return strtr($s, array(')' => '\\)', '(' => '\\(', '\\' => '\\\\', chr(13) => '\r')); + } + + /** + * Escape some special characters (< > &) for XML output. + * @param string $str Input string to convert. + * @return string converted string + * @since 5.9.121 (2011-09-28) + * @public static + */ + public static function _escapeXML($str) { + $replaceTable = array("\0" => '', '&' => '&', '<' => '<', '>' => '>'); + $str = strtr($str === null ? '' : $str, $replaceTable); + return $str; + } + + /** + * Creates a copy of a class object + * @param object $object class object to be cloned + * @return object cloned object + * @since 4.5.029 (2009-03-19) + * @public static + */ + public static function objclone($object) { + if (($object instanceof Imagick) AND (version_compare(phpversion('imagick'), '3.0.1') !== 1)) { + // on the versions after 3.0.1 the clone() method was deprecated in favour of clone keyword + return @$object->clone(); + } + return @clone($object); + } + + /** + * Output input data and compress it if possible. + * @param string $data Data to output. + * @param int $length Data length in bytes. + * @since 5.9.086 + * @public static + */ + public static function sendOutputData($data, $length) { + if (!isset($_SERVER['HTTP_ACCEPT_ENCODING']) OR empty($_SERVER['HTTP_ACCEPT_ENCODING'])) { + // the content length may vary if the server is using compression + header('Content-Length: '.$length); + } + echo $data; + } + + /** + * Replace page number aliases with number. + * @param string $page Page content. + * @param array $replace Array of replacements (array keys are replacement strings, values are alias arrays). + * @param int $diff If passed, this will be set to the total char number difference between alias and replacements. + * @return array replaced page content and updated $diff parameter as array. + * @public static + */ + public static function replacePageNumAliases($page, $replace, $diff=0) { + foreach ($replace as $rep) { + foreach ($rep[3] as $a) { + if (strpos($page, $a) !== false) { + $page = str_replace($a, $rep[0], $page); + $diff += ($rep[2] - $rep[1]); + } + } + } + return array($page, $diff); + } + + /** + * Returns timestamp in seconds from formatted date-time. + * @param string $date Formatted date-time. + * @return int seconds. + * @since 5.9.152 (2012-03-23) + * @public static + */ + public static function getTimestamp($date) { + if (($date[0] == 'D') AND ($date[1] == ':')) { + // remove date prefix if present + $date = substr($date, 2); + } + return strtotime($date); + } + + /** + * Returns a formatted date-time. + * @param int $time Time in seconds. + * @return string escaped date string. + * @since 5.9.152 (2012-03-23) + * @public static + */ + public static function getFormattedDate($time) { + return substr_replace(date('YmdHisO', intval($time)), '\'', (0 - 2), 0).'\''; + } + + /** + * Returns a string containing random data to be used as a seed for encryption methods. + * @param string $seed starting seed value + * @return string containing random data + * @author Nicola Asuni + * @since 5.9.006 (2010-10-19) + * @public static + */ + public static function getRandomSeed($seed='') { + $rnd = uniqid(rand().microtime(true), true); + if (function_exists('posix_getpid')) { + $rnd .= posix_getpid(); + } + + if (function_exists('random_bytes')) { + $rnd .= random_bytes(512); + } elseif (function_exists('openssl_random_pseudo_bytes') AND (strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')) { + // this is not used on windows systems because it is very slow for a know bug + $rnd .= openssl_random_pseudo_bytes(512); + } else { + for ($i = 0; $i < 23; ++$i) { + $rnd .= uniqid('', true); + } + } + return $rnd.$seed.__FILE__.microtime(true); + } + + /** + * Encrypts a string using MD5 and returns it's value as a binary string. + * @param string $str input string + * @return string MD5 encrypted binary string + * @since 2.0.000 (2008-01-02) + * @public static + */ + public static function _md5_16($str) { + return pack('H*', md5($str)); + } + + /** + * Returns the input text encrypted using AES algorithm and the specified key. + * This method requires openssl or mcrypt. Text is padded to 16bytes blocks + * @param string $key encryption key + * @param string $text input text to be encrypted + * @return string encrypted text + * @author Nicola Asuni + * @since 5.0.005 (2010-05-11) + * @public static + */ + public static function _AES($key, $text) { + // padding (RFC 2898, PKCS #5: Password-Based Cryptography Specification Version 2.0) + $padding = 16 - (strlen($text) % 16); + $text .= str_repeat(chr($padding), $padding); + if (extension_loaded('openssl')) { + $algo = 'aes-256-cbc'; + if (strlen($key) == 16) { + $algo = 'aes-128-cbc'; + } + $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($algo)); + $text = openssl_encrypt($text, $algo, $key, OPENSSL_RAW_DATA, $iv); + return $iv.substr($text, 0, -16); + } + $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); + $text = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv); + $text = $iv.$text; + return $text; + } + + /** + * Returns the input text encrypted using AES algorithm and the specified key. + * This method requires openssl or mcrypt. Text is not padded + * @param string $key encryption key + * @param string $text input text to be encrypted + * @return string encrypted text + * @author Nicola Asuni + * @since TODO + * @public static + */ + public static function _AESnopad($key, $text) { + if (extension_loaded('openssl')) { + $algo = 'aes-256-cbc'; + if (strlen($key) == 16) { + $algo = 'aes-128-cbc'; + } + $iv = str_repeat("\x00", openssl_cipher_iv_length($algo)); + $text = openssl_encrypt($text, $algo, $key, OPENSSL_RAW_DATA, $iv); + return substr($text, 0, -16); + } + $iv = str_repeat("\x00", mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)); + $text = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $text, MCRYPT_MODE_CBC, $iv); + return $text; + } + + /** + * Returns the input text encrypted using RC4 algorithm and the specified key. + * RC4 is the standard encryption algorithm used in PDF format + * @param string $key Encryption key. + * @param string $text Input text to be encrypted. + * @param string $last_enc_key Reference to last RC4 key encrypted. + * @param string $last_enc_key_c Reference to last RC4 computed key. + * @return string encrypted text + * @since 2.0.000 (2008-01-02) + * @author Klemen Vodopivec, Nicola Asuni + * @public static + */ + public static function _RC4($key, $text, &$last_enc_key, &$last_enc_key_c) { + if (function_exists('mcrypt_encrypt') AND ($out = @mcrypt_encrypt(MCRYPT_ARCFOUR, $key, $text, MCRYPT_MODE_STREAM, ''))) { + // try to use mcrypt function if exist + return $out; + } + if ($last_enc_key != $key) { + $k = str_repeat($key, (int) ((256 / strlen($key)) + 1)); + $rc4 = range(0, 255); + $j = 0; + for ($i = 0; $i < 256; ++$i) { + $t = $rc4[$i]; + $j = ($j + $t + ord($k[$i])) % 256; + $rc4[$i] = $rc4[$j]; + $rc4[$j] = $t; + } + $last_enc_key = $key; + $last_enc_key_c = $rc4; + } else { + $rc4 = $last_enc_key_c; + } + $len = strlen($text); + $a = 0; + $b = 0; + $out = ''; + for ($i = 0; $i < $len; ++$i) { + $a = ($a + 1) % 256; + $t = $rc4[$a]; + $b = ($b + $t) % 256; + $rc4[$a] = $rc4[$b]; + $rc4[$b] = $t; + $k = $rc4[($rc4[$a] + $rc4[$b]) % 256]; + $out .= chr(ord($text[$i]) ^ $k); + } + return $out; + } + + /** + * Return the permission code used on encryption (P value). + * @param array $permissions the set of permissions (specify the ones you want to block). + * @param int $mode encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit. + * @since 5.0.005 (2010-05-12) + * @author Nicola Asuni + * @public static + */ + public static function getUserPermissionCode($permissions, $mode=0) { + $options = array( + 'owner' => 2, // bit 2 -- inverted logic: cleared by default + 'print' => 4, // bit 3 + 'modify' => 8, // bit 4 + 'copy' => 16, // bit 5 + 'annot-forms' => 32, // bit 6 + 'fill-forms' => 256, // bit 9 + 'extract' => 512, // bit 10 + 'assemble' => 1024,// bit 11 + 'print-high' => 2048 // bit 12 + ); + $protection = 2147422012; // 32 bit: (01111111 11111111 00001111 00111100) + foreach ($permissions as $permission) { + if (isset($options[$permission])) { + if (($mode > 0) OR ($options[$permission] <= 32)) { + // set only valid permissions + if ($options[$permission] == 2) { + // the logic for bit 2 is inverted (cleared by default) + $protection += $options[$permission]; + } else { + $protection -= $options[$permission]; + } + } + } + } + return $protection; + } + + /** + * Convert hexadecimal string to string + * @param string $bs byte-string to convert + * @return string + * @since 5.0.005 (2010-05-12) + * @author Nicola Asuni + * @public static + */ + public static function convertHexStringToString($bs) { + $string = ''; // string to be returned + $bslength = strlen($bs); + if (($bslength % 2) != 0) { + // padding + $bs .= '0'; + ++$bslength; + } + for ($i = 0; $i < $bslength; $i += 2) { + $string .= chr(hexdec($bs[$i].$bs[($i + 1)])); + } + return $string; + } + + /** + * Convert string to hexadecimal string (byte string) + * @param string $s string to convert + * @return string byte string + * @since 5.0.010 (2010-05-17) + * @author Nicola Asuni + * @public static + */ + public static function convertStringToHexString($s) { + $bs = ''; + $chars = preg_split('//', $s, -1, PREG_SPLIT_NO_EMPTY); + foreach ($chars as $c) { + $bs .= sprintf('%02s', dechex(ord($c))); + } + return $bs; + } + + /** + * Convert encryption P value to a string of bytes, low-order byte first. + * @param string $protection 32bit encryption permission value (P value) + * @return string + * @since 5.0.005 (2010-05-12) + * @author Nicola Asuni + * @public static + */ + public static function getEncPermissionsString($protection) { + $binprot = sprintf('%032b', $protection); + $str = chr(bindec(substr($binprot, 24, 8))); + $str .= chr(bindec(substr($binprot, 16, 8))); + $str .= chr(bindec(substr($binprot, 8, 8))); + $str .= chr(bindec(substr($binprot, 0, 8))); + return $str; + } + + /** + * Encode a name object. + * @param string $name Name object to encode. + * @return string Encoded name object. + * @author Nicola Asuni + * @since 5.9.097 (2011-06-23) + * @public static + */ + public static function encodeNameObject($name) { + $escname = ''; + $length = strlen($name); + for ($i = 0; $i < $length; ++$i) { + $chr = $name[$i]; + if (preg_match('/[0-9a-zA-Z#_=-]/', $chr) == 1) { + $escname .= $chr; + } else { + $escname .= sprintf('#%02X', ord($chr)); + } + } + return $escname; + } + + /** + * Convert JavaScript form fields properties array to Annotation Properties array. + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $spot_colors Reference to spot colors array. + * @param boolean $rtl True if in Right-To-Left text direction mode, false otherwise. + * @return array of annotation properties + * @author Nicola Asuni + * @since 4.8.000 (2009-09-06) + * @public static + */ + public static function getAnnotOptFromJSProp($prop, &$spot_colors, $rtl=false) { + if (isset($prop['aopt']) AND is_array($prop['aopt'])) { + // the annotation options are already defined + return $prop['aopt']; + } + $opt = array(); // value to be returned + // alignment: Controls how the text is laid out within the text field. + if (isset($prop['alignment'])) { + switch ($prop['alignment']) { + case 'left': { + $opt['q'] = 0; + break; + } + case 'center': { + $opt['q'] = 1; + break; + } + case 'right': { + $opt['q'] = 2; + break; + } + default: { + $opt['q'] = ($rtl)?2:0; + break; + } + } + } + // lineWidth: Specifies the thickness of the border when stroking the perimeter of a field's rectangle. + if (isset($prop['lineWidth'])) { + $linewidth = intval($prop['lineWidth']); + } else { + $linewidth = 1; + } + // borderStyle: The border style for a field. + if (isset($prop['borderStyle'])) { + switch ($prop['borderStyle']) { + case 'border.d': + case 'dashed': { + $opt['border'] = array(0, 0, $linewidth, array(3, 2)); + $opt['bs'] = array('w'=>$linewidth, 's'=>'D', 'd'=>array(3, 2)); + break; + } + case 'border.b': + case 'beveled': { + $opt['border'] = array(0, 0, $linewidth); + $opt['bs'] = array('w'=>$linewidth, 's'=>'B'); + break; + } + case 'border.i': + case 'inset': { + $opt['border'] = array(0, 0, $linewidth); + $opt['bs'] = array('w'=>$linewidth, 's'=>'I'); + break; + } + case 'border.u': + case 'underline': { + $opt['border'] = array(0, 0, $linewidth); + $opt['bs'] = array('w'=>$linewidth, 's'=>'U'); + break; + } + case 'border.s': + case 'solid': { + $opt['border'] = array(0, 0, $linewidth); + $opt['bs'] = array('w'=>$linewidth, 's'=>'S'); + break; + } + default: { + break; + } + } + } + if (isset($prop['border']) AND is_array($prop['border'])) { + $opt['border'] = $prop['border']; + } + if (!isset($opt['mk'])) { + $opt['mk'] = array(); + } + if (!isset($opt['mk']['if'])) { + $opt['mk']['if'] = array(); + } + $opt['mk']['if']['a'] = array(0.5, 0.5); + // buttonAlignX: Controls how space is distributed from the left of the button face with respect to the icon. + if (isset($prop['buttonAlignX'])) { + $opt['mk']['if']['a'][0] = $prop['buttonAlignX']; + } + // buttonAlignY: Controls how unused space is distributed from the bottom of the button face with respect to the icon. + if (isset($prop['buttonAlignY'])) { + $opt['mk']['if']['a'][1] = $prop['buttonAlignY']; + } + // buttonFitBounds: If true, the extent to which the icon may be scaled is set to the bounds of the button field. + if (isset($prop['buttonFitBounds']) AND ($prop['buttonFitBounds'] == 'true')) { + $opt['mk']['if']['fb'] = true; + } + // buttonScaleHow: Controls how the icon is scaled (if necessary) to fit inside the button face. + if (isset($prop['buttonScaleHow'])) { + switch ($prop['buttonScaleHow']) { + case 'scaleHow.proportional': { + $opt['mk']['if']['s'] = 'P'; + break; + } + case 'scaleHow.anamorphic': { + $opt['mk']['if']['s'] = 'A'; + break; + } + } + } + // buttonScaleWhen: Controls when an icon is scaled to fit inside the button face. + if (isset($prop['buttonScaleWhen'])) { + switch ($prop['buttonScaleWhen']) { + case 'scaleWhen.always': { + $opt['mk']['if']['sw'] = 'A'; + break; + } + case 'scaleWhen.never': { + $opt['mk']['if']['sw'] = 'N'; + break; + } + case 'scaleWhen.tooBig': { + $opt['mk']['if']['sw'] = 'B'; + break; + } + case 'scaleWhen.tooSmall': { + $opt['mk']['if']['sw'] = 'S'; + break; + } + } + } + // buttonPosition: Controls how the text and the icon of the button are positioned with respect to each other within the button face. + if (isset($prop['buttonPosition'])) { + switch ($prop['buttonPosition']) { + case 0: + case 'position.textOnly': { + $opt['mk']['tp'] = 0; + break; + } + case 1: + case 'position.iconOnly': { + $opt['mk']['tp'] = 1; + break; + } + case 2: + case 'position.iconTextV': { + $opt['mk']['tp'] = 2; + break; + } + case 3: + case 'position.textIconV': { + $opt['mk']['tp'] = 3; + break; + } + case 4: + case 'position.iconTextH': { + $opt['mk']['tp'] = 4; + break; + } + case 5: + case 'position.textIconH': { + $opt['mk']['tp'] = 5; + break; + } + case 6: + case 'position.overlay': { + $opt['mk']['tp'] = 6; + break; + } + } + } + // fillColor: Specifies the background color for a field. + if (isset($prop['fillColor'])) { + if (is_array($prop['fillColor'])) { + $opt['mk']['bg'] = $prop['fillColor']; + } else { + $opt['mk']['bg'] = TCPDF_COLORS::convertHTMLColorToDec($prop['fillColor'], $spot_colors); + } + } + // strokeColor: Specifies the stroke color for a field that is used to stroke the rectangle of the field with a line as large as the line width. + if (isset($prop['strokeColor'])) { + if (is_array($prop['strokeColor'])) { + $opt['mk']['bc'] = $prop['strokeColor']; + } else { + $opt['mk']['bc'] = TCPDF_COLORS::convertHTMLColorToDec($prop['strokeColor'], $spot_colors); + } + } + // rotation: The rotation of a widget in counterclockwise increments. + if (isset($prop['rotation'])) { + $opt['mk']['r'] = $prop['rotation']; + } + // charLimit: Limits the number of characters that a user can type into a text field. + if (isset($prop['charLimit'])) { + $opt['maxlen'] = intval($prop['charLimit']); + } + $ff = 0; + // readonly: The read-only characteristic of a field. If a field is read-only, the user can see the field but cannot change it. + if (isset($prop['readonly']) AND ($prop['readonly'] == 'true')) { + $ff += 1 << 0; + } + // required: Specifies whether a field requires a value. + if (isset($prop['required']) AND ($prop['required'] == 'true')) { + $ff += 1 << 1; + } + // multiline: Controls how text is wrapped within the field. + if (isset($prop['multiline']) AND ($prop['multiline'] == 'true')) { + $ff += 1 << 12; + } + // password: Specifies whether the field should display asterisks when data is entered in the field. + if (isset($prop['password']) AND ($prop['password'] == 'true')) { + $ff += 1 << 13; + } + // NoToggleToOff: If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. + if (isset($prop['NoToggleToOff']) AND ($prop['NoToggleToOff'] == 'true')) { + $ff += 1 << 14; + } + // Radio: If set, the field is a set of radio buttons. + if (isset($prop['Radio']) AND ($prop['Radio'] == 'true')) { + $ff += 1 << 15; + } + // Pushbutton: If set, the field is a pushbutton that does not retain a permanent value. + if (isset($prop['Pushbutton']) AND ($prop['Pushbutton'] == 'true')) { + $ff += 1 << 16; + } + // Combo: If set, the field is a combo box; if clear, the field is a list box. + if (isset($prop['Combo']) AND ($prop['Combo'] == 'true')) { + $ff += 1 << 17; + } + // editable: Controls whether a combo box is editable. + if (isset($prop['editable']) AND ($prop['editable'] == 'true')) { + $ff += 1 << 18; + } + // Sort: If set, the field's option items shall be sorted alphabetically. + if (isset($prop['Sort']) AND ($prop['Sort'] == 'true')) { + $ff += 1 << 19; + } + // fileSelect: If true, sets the file-select flag in the Options tab of the text field (Field is Used for File Selection). + if (isset($prop['fileSelect']) AND ($prop['fileSelect'] == 'true')) { + $ff += 1 << 20; + } + // multipleSelection: If true, indicates that a list box allows a multiple selection of items. + if (isset($prop['multipleSelection']) AND ($prop['multipleSelection'] == 'true')) { + $ff += 1 << 21; + } + // doNotSpellCheck: If true, spell checking is not performed on this editable text field. + if (isset($prop['doNotSpellCheck']) AND ($prop['doNotSpellCheck'] == 'true')) { + $ff += 1 << 22; + } + // doNotScroll: If true, the text field does not scroll and the user, therefore, is limited by the rectangular region designed for the field. + if (isset($prop['doNotScroll']) AND ($prop['doNotScroll'] == 'true')) { + $ff += 1 << 23; + } + // comb: If set to true, the field background is drawn as series of boxes (one for each character in the value of the field) and each character of the content is drawn within those boxes. The number of boxes drawn is determined from the charLimit property. It applies only to text fields. The setter will also raise if any of the following field properties are also set multiline, password, and fileSelect. A side-effect of setting this property is that the doNotScroll property is also set. + if (isset($prop['comb']) AND ($prop['comb'] == 'true')) { + $ff += 1 << 24; + } + // radiosInUnison: If false, even if a group of radio buttons have the same name and export value, they behave in a mutually exclusive fashion, like HTML radio buttons. + if (isset($prop['radiosInUnison']) AND ($prop['radiosInUnison'] == 'true')) { + $ff += 1 << 25; + } + // richText: If true, the field allows rich text formatting. + if (isset($prop['richText']) AND ($prop['richText'] == 'true')) { + $ff += 1 << 25; + } + // commitOnSelChange: Controls whether a field value is committed after a selection change. + if (isset($prop['commitOnSelChange']) AND ($prop['commitOnSelChange'] == 'true')) { + $ff += 1 << 26; + } + $opt['ff'] = $ff; + // defaultValue: The default value of a field - that is, the value that the field is set to when the form is reset. + if (isset($prop['defaultValue'])) { + $opt['dv'] = $prop['defaultValue']; + } + $f = 4; // default value for annotation flags + // readonly: The read-only characteristic of a field. If a field is read-only, the user can see the field but cannot change it. + if (isset($prop['readonly']) AND ($prop['readonly'] == 'true')) { + $f += 1 << 6; + } + // display: Controls whether the field is hidden or visible on screen and in print. + if (isset($prop['display'])) { + if ($prop['display'] == 'display.visible') { + // + } elseif ($prop['display'] == 'display.hidden') { + $f += 1 << 1; + } elseif ($prop['display'] == 'display.noPrint') { + $f -= 1 << 2; + } elseif ($prop['display'] == 'display.noView') { + $f += 1 << 5; + } + } + $opt['f'] = $f; + // currentValueIndices: Reads and writes single or multiple values of a list box or combo box. + if (isset($prop['currentValueIndices']) AND is_array($prop['currentValueIndices'])) { + $opt['i'] = $prop['currentValueIndices']; + } + // value: The value of the field data that the user has entered. + if (isset($prop['value'])) { + if (is_array($prop['value'])) { + $opt['opt'] = array(); + foreach ($prop['value'] AS $key => $optval) { + // exportValues: An array of strings representing the export values for the field. + if (isset($prop['exportValues'][$key])) { + $opt['opt'][$key] = array($prop['exportValues'][$key], $prop['value'][$key]); + } else { + $opt['opt'][$key] = $prop['value'][$key]; + } + } + } else { + $opt['v'] = $prop['value']; + } + } + // richValue: This property specifies the text contents and formatting of a rich text field. + if (isset($prop['richValue'])) { + $opt['rv'] = $prop['richValue']; + } + // submitName: If nonempty, used during form submission instead of name. Only applicable if submitting in HTML format (that is, URL-encoded). + if (isset($prop['submitName'])) { + $opt['tm'] = $prop['submitName']; + } + // name: Fully qualified field name. + if (isset($prop['name'])) { + $opt['t'] = $prop['name']; + } + // userName: The user name (short description string) of the field. + if (isset($prop['userName'])) { + $opt['tu'] = $prop['userName']; + } + // highlight: Defines how a button reacts when a user clicks it. + if (isset($prop['highlight'])) { + switch ($prop['highlight']) { + case 'none': + case 'highlight.n': { + $opt['h'] = 'N'; + break; + } + case 'invert': + case 'highlight.i': { + $opt['h'] = 'i'; + break; + } + case 'push': + case 'highlight.p': { + $opt['h'] = 'P'; + break; + } + case 'outline': + case 'highlight.o': { + $opt['h'] = 'O'; + break; + } + } + } + // Unsupported options: + // - calcOrderIndex: Changes the calculation order of fields in the document. + // - delay: Delays the redrawing of a field's appearance. + // - defaultStyle: This property defines the default style attributes for the form field. + // - style: Allows the user to set the glyph style of a check box or radio button. + // - textColor, textFont, textSize + return $opt; + } + + /** + * Format the page numbers. + * This method can be overridden for custom formats. + * @param int $num page number + * @return string + * @since 4.2.005 (2008-11-06) + * @public static + */ + public static function formatPageNumber($num) { + return number_format((float)$num, 0, '', '.'); + } + + /** + * Format the page numbers on the Table Of Content. + * This method can be overridden for custom formats. + * @param int $num page number + * @return string + * @since 4.5.001 (2009-01-04) + * @see addTOC(), addHTMLTOC() + * @public static + */ + public static function formatTOCPageNumber($num) { + return number_format((float)$num, 0, '', '.'); + } + + /** + * Extracts the CSS properties from a CSS string. + * @param string $cssdata string containing CSS definitions. + * @return array An array where the keys are the CSS selectors and the values are the CSS properties. + * @author Nicola Asuni + * @since 5.1.000 (2010-05-25) + * @public static + */ + public static function extractCSSproperties($cssdata) { + if (empty($cssdata)) { + return array(); + } + // remove comments + $cssdata = preg_replace('/\/\*[^\*]*\*\//', '', $cssdata); + // remove newlines and multiple spaces + $cssdata = preg_replace('/[\s]+/', ' ', $cssdata); + // remove some spaces + $cssdata = preg_replace('/[\s]*([;:\{\}]{1})[\s]*/', '\\1', $cssdata); + // remove empty blocks + $cssdata = preg_replace('/([^\}\{]+)\{\}/', '', $cssdata); + // replace media type parenthesis + $cssdata = preg_replace('/@media[\s]+([^\{]*)\{/i', '@media \\1§', $cssdata); + $cssdata = preg_replace('/\}\}/si', '}§', $cssdata); + // trim string + $cssdata = trim($cssdata); + // find media blocks (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv) + $cssblocks = array(); + $matches = array(); + if (preg_match_all('/@media[\s]+([^\§]*)§([^§]*)§/i', $cssdata, $matches) > 0) { + foreach ($matches[1] as $key => $type) { + $cssblocks[$type] = $matches[2][$key]; + } + // remove media blocks + $cssdata = preg_replace('/@media[\s]+([^\§]*)§([^§]*)§/i', '', $cssdata); + } + // keep 'all' and 'print' media, other media types are discarded + if (isset($cssblocks['all']) AND !empty($cssblocks['all'])) { + $cssdata .= $cssblocks['all']; + } + if (isset($cssblocks['print']) AND !empty($cssblocks['print'])) { + $cssdata .= $cssblocks['print']; + } + // reset css blocks array + $cssblocks = array(); + $matches = array(); + // explode css data string into array + if (substr($cssdata, -1) == '}') { + // remove last parethesis + $cssdata = substr($cssdata, 0, -1); + } + $matches = explode('}', $cssdata); + foreach ($matches as $key => $block) { + // index 0 contains the CSS selector, index 1 contains CSS properties + $cssblocks[$key] = explode('{', $block); + if (!isset($cssblocks[$key][1])) { + // remove empty definitions + unset($cssblocks[$key]); + } + } + // split groups of selectors (comma-separated list of selectors) + foreach ($cssblocks as $key => $block) { + if (strpos($block[0], ',') > 0) { + $selectors = explode(',', $block[0]); + foreach ($selectors as $sel) { + $cssblocks[] = array(0 => trim($sel), 1 => $block[1]); + } + unset($cssblocks[$key]); + } + } + // covert array to selector => properties + $cssdata = array(); + foreach ($cssblocks as $block) { + $selector = $block[0]; + // calculate selector's specificity + $matches = array(); + $a = 0; // the declaration is not from is a 'style' attribute + $b = intval(preg_match_all('/[\#]/', $selector, $matches)); // number of ID attributes + $c = intval(preg_match_all('/[\[\.]/', $selector, $matches)); // number of other attributes + $c += intval(preg_match_all('/[\:]link|visited|hover|active|focus|target|lang|enabled|disabled|checked|indeterminate|root|nth|first|last|only|empty|contains|not/i', $selector, $matches)); // number of pseudo-classes + $d = intval(preg_match_all('/[\>\+\~\s]{1}[a-zA-Z0-9]+/', ' '.$selector, $matches)); // number of element names + $d += intval(preg_match_all('/[\:][\:]/', $selector, $matches)); // number of pseudo-elements + $specificity = $a.$b.$c.$d; + // add specificity to the beginning of the selector + $cssdata[$specificity.' '.$selector] = $block[1]; + } + // sort selectors alphabetically to account for specificity + ksort($cssdata, SORT_STRING); + // return array + return $cssdata; + } + + /** + * Cleanup HTML code (requires HTML Tidy library). + * @param string $html htmlcode to fix + * @param string $default_css CSS commands to add + * @param array|null $tagvs parameters for setHtmlVSpace method + * @param array|null $tidy_options options for tidy_parse_string function + * @param array $tagvspaces Array of vertical spaces for tags. + * @return string XHTML code cleaned up + * @author Nicola Asuni + * @since 5.9.017 (2010-11-16) + * @see setHtmlVSpace() + * @public static + */ + public static function fixHTMLCode($html, $default_css, $tagvs, $tidy_options, &$tagvspaces) { + // configure parameters for HTML Tidy + if (TCPDF_STATIC::empty_string($tidy_options)) { + $tidy_options = array ( + 'clean' => 1, + 'drop-empty-paras' => 0, + 'drop-proprietary-attributes' => 1, + 'fix-backslash' => 1, + 'hide-comments' => 1, + 'join-styles' => 1, + 'lower-literals' => 1, + 'merge-divs' => 1, + 'merge-spans' => 1, + 'output-xhtml' => 1, + 'word-2000' => 1, + 'wrap' => 0, + 'output-bom' => 0, + //'char-encoding' => 'utf8', + //'input-encoding' => 'utf8', + //'output-encoding' => 'utf8' + ); + } + // clean up the HTML code + $tidy = tidy_parse_string($html, $tidy_options); + // fix the HTML + $tidy->cleanRepair(); + // get the CSS part + $tidy_head = tidy_get_head($tidy); + $css = $tidy_head->value; + $css = preg_replace('/]+)>/ims', ''; + // get the body part + $tidy_body = tidy_get_body($tidy); + $html = $tidy_body->value; + // fix some self-closing tags + $html = str_replace('
    ', '
    ', $html); + // remove some empty tag blocks + $html = preg_replace('/]*)><\/div>/', '', $html); + $html = preg_replace('/]*)><\/p>/', '', $html); + if (!TCPDF_STATIC::empty_string($tagvs)) { + // set vertical space for some XHTML tags + $tagvspaces = $tagvs; + } + // return the cleaned XHTML code + CSS + return $css.$html; + } + + /** + * Returns true if the CSS selector is valid for the selected HTML tag + * @param array $dom array of HTML tags and properties + * @param int $key key of the current HTML tag + * @param string $selector CSS selector string + * @return true if the selector is valid, false otherwise + * @since 5.1.000 (2010-05-25) + * @public static + */ + public static function isValidCSSSelectorForTag($dom, $key, $selector) { + $valid = false; // value to be returned + $tag = $dom[$key]['value']; + $class = array(); + if (isset($dom[$key]['attribute']['class']) AND !empty($dom[$key]['attribute']['class'])) { + $class = explode(' ', strtolower($dom[$key]['attribute']['class'])); + } + $id = ''; + if (isset($dom[$key]['attribute']['id']) AND !empty($dom[$key]['attribute']['id'])) { + $id = strtolower($dom[$key]['attribute']['id']); + } + $selector = preg_replace('/([\>\+\~\s]{1})([\.]{1})([^\>\+\~\s]*)/si', '\\1*.\\3', $selector); + $matches = array(); + if (preg_match_all('/([\>\+\~\s]{1})([a-zA-Z0-9\*]+)([^\>\+\~\s]*)/si', $selector, $matches, PREG_PATTERN_ORDER | PREG_OFFSET_CAPTURE) > 0) { + $parentop = array_pop($matches[1]); + $operator = $parentop[0]; + $offset = $parentop[1]; + $lasttag = array_pop($matches[2]); + $lasttag = strtolower(trim($lasttag[0])); + if (($lasttag == '*') OR ($lasttag == $tag)) { + // the last element on selector is our tag or 'any tag' + $attrib = array_pop($matches[3]); + $attrib = strtolower(trim($attrib[0])); + if (!empty($attrib)) { + // check if matches class, id, attribute, pseudo-class or pseudo-element + switch ($attrib[0]) { + case '.': { // class + if (in_array(substr($attrib, 1), $class)) { + $valid = true; + } + break; + } + case '#': { // ID + if (substr($attrib, 1) == $id) { + $valid = true; + } + break; + } + case '[': { // attribute + $attrmatch = array(); + if (preg_match('/\[([a-zA-Z0-9]*)[\s]*([\~\^\$\*\|\=]*)[\s]*["]?([^"\]]*)["]?\]/i', $attrib, $attrmatch) > 0) { + $att = strtolower($attrmatch[1]); + $val = $attrmatch[3]; + if (isset($dom[$key]['attribute'][$att])) { + switch ($attrmatch[2]) { + case '=': { + if ($dom[$key]['attribute'][$att] == $val) { + $valid = true; + } + break; + } + case '~=': { + if (in_array($val, explode(' ', $dom[$key]['attribute'][$att]))) { + $valid = true; + } + break; + } + case '^=': { + if ($val == substr($dom[$key]['attribute'][$att], 0, strlen($val))) { + $valid = true; + } + break; + } + case '$=': { + if ($val == substr($dom[$key]['attribute'][$att], -strlen($val))) { + $valid = true; + } + break; + } + case '*=': { + if (strpos($dom[$key]['attribute'][$att], $val) !== false) { + $valid = true; + } + break; + } + case '|=': { + if ($dom[$key]['attribute'][$att] == $val) { + $valid = true; + } elseif (preg_match('/'.$val.'[\-]{1}/i', $dom[$key]['attribute'][$att]) > 0) { + $valid = true; + } + break; + } + default: { + $valid = true; + } + } + } + } + break; + } + case ':': { // pseudo-class or pseudo-element + if ($attrib[1] == ':') { // pseudo-element + // pseudo-elements are not supported! + // (::first-line, ::first-letter, ::before, ::after) + } else { // pseudo-class + // pseudo-classes are not supported! + // (:root, :nth-child(n), :nth-last-child(n), :nth-of-type(n), :nth-last-of-type(n), :first-child, :last-child, :first-of-type, :last-of-type, :only-child, :only-of-type, :empty, :link, :visited, :active, :hover, :focus, :target, :lang(fr), :enabled, :disabled, :checked) + } + break; + } + } // end of switch + } else { + $valid = true; + } + if ($valid AND ($offset > 0)) { + $valid = false; + // check remaining selector part + $selector = substr($selector, 0, $offset); + switch ($operator) { + case ' ': { // descendant of an element + while ($dom[$key]['parent'] > 0) { + if (self::isValidCSSSelectorForTag($dom, $dom[$key]['parent'], $selector)) { + $valid = true; + break; + } else { + $key = $dom[$key]['parent']; + } + } + break; + } + case '>': { // child of an element + $valid = self::isValidCSSSelectorForTag($dom, $dom[$key]['parent'], $selector); + break; + } + case '+': { // immediately preceded by an element + for ($i = ($key - 1); $i > $dom[$key]['parent']; --$i) { + if ($dom[$i]['tag'] AND $dom[$i]['opening']) { + $valid = self::isValidCSSSelectorForTag($dom, $i, $selector); + break; + } + } + break; + } + case '~': { // preceded by an element + for ($i = ($key - 1); $i > $dom[$key]['parent']; --$i) { + if ($dom[$i]['tag'] AND $dom[$i]['opening']) { + if (self::isValidCSSSelectorForTag($dom, $i, $selector)) { + break; + } + } + } + break; + } + } + } + } + } + return $valid; + } + + /** + * Returns the styles array that apply for the selected HTML tag. + * @param array $dom array of HTML tags and properties + * @param int $key key of the current HTML tag + * @param array $css array of CSS properties + * @return array containing CSS properties + * @since 5.1.000 (2010-05-25) + * @public static + */ + public static function getCSSdataArray($dom, $key, $css) { + $cssarray = array(); // style to be returned + // get parent CSS selectors + $selectors = array(); + if (isset($dom[($dom[$key]['parent'])]['csssel'])) { + $selectors = $dom[($dom[$key]['parent'])]['csssel']; + } + // get all styles that apply + foreach($css as $selector => $style) { + $pos = strpos($selector, ' '); + // get specificity + $specificity = substr($selector, 0, $pos); + // remove specificity + $selector = substr($selector, $pos); + // check if this selector apply to current tag + if (self::isValidCSSSelectorForTag($dom, $key, $selector)) { + if (!in_array($selector, $selectors)) { + // add style if not already added on parent selector + $cssarray[] = array('k' => $selector, 's' => $specificity, 'c' => $style); + $selectors[] = $selector; + } + } + } + if (isset($dom[$key]['attribute']['style'])) { + // attach inline style (latest properties have high priority) + $cssarray[] = array('k' => '', 's' => '1000', 'c' => $dom[$key]['attribute']['style']); + } + // order the css array to account for specificity + $cssordered = array(); + foreach ($cssarray as $key => $val) { + $skey = sprintf('%04d', $key); + $cssordered[$val['s'].'_'.$skey] = $val; + } + // sort selectors alphabetically to account for specificity + ksort($cssordered, SORT_STRING); + return array($selectors, $cssordered); + } + + /** + * Compact CSS data array into single string. + * @param array $css array of CSS properties + * @return string containing merged CSS properties + * @since 5.9.070 (2011-04-19) + * @public static + */ + public static function getTagStyleFromCSSarray($css) { + $tagstyle = ''; // value to be returned + foreach ($css as $style) { + // split single css commands + $csscmds = explode(';', $style['c']); + foreach ($csscmds as $cmd) { + if (!empty($cmd)) { + $pos = strpos($cmd, ':'); + if ($pos !== false) { + $cmd = substr($cmd, 0, ($pos + 1)); + if (strpos($tagstyle, $cmd) !== false) { + // remove duplicate commands (last commands have high priority) + $tagstyle = preg_replace('/'.$cmd.'[^;]+/i', '', $tagstyle); + } + } + } + } + $tagstyle .= ';'.$style['c']; + } + // remove multiple semicolons + $tagstyle = preg_replace('/[;]+/', ';', $tagstyle); + return $tagstyle; + } + + /** + * Returns the Roman representation of an integer number + * @param int $number number to convert + * @return string roman representation of the specified number + * @since 4.4.004 (2008-12-10) + * @public static + */ + public static function intToRoman($number) { + $roman = ''; + if ($number >= 4000) { + // do not represent numbers above 4000 in Roman numerals + return strval($number); + } + while ($number >= 1000) { + $roman .= 'M'; + $number -= 1000; + } + while ($number >= 900) { + $roman .= 'CM'; + $number -= 900; + } + while ($number >= 500) { + $roman .= 'D'; + $number -= 500; + } + while ($number >= 400) { + $roman .= 'CD'; + $number -= 400; + } + while ($number >= 100) { + $roman .= 'C'; + $number -= 100; + } + while ($number >= 90) { + $roman .= 'XC'; + $number -= 90; + } + while ($number >= 50) { + $roman .= 'L'; + $number -= 50; + } + while ($number >= 40) { + $roman .= 'XL'; + $number -= 40; + } + while ($number >= 10) { + $roman .= 'X'; + $number -= 10; + } + while ($number >= 9) { + $roman .= 'IX'; + $number -= 9; + } + while ($number >= 5) { + $roman .= 'V'; + $number -= 5; + } + while ($number >= 4) { + $roman .= 'IV'; + $number -= 4; + } + while ($number >= 1) { + $roman .= 'I'; + --$number; + } + return $roman; + } + + /** + * Find position of last occurrence of a substring in a string + * @param string $haystack The string to search in. + * @param string $needle substring to search. + * @param int $offset May be specified to begin searching an arbitrary number of characters into the string. + * @return int|false Returns the position where the needle exists. Returns FALSE if the needle was not found. + * @since 4.8.038 (2010-03-13) + * @public static + */ + public static function revstrpos($haystack, $needle, $offset = 0) { + $length = strlen($haystack); + $offset = ($offset > 0)?($length - $offset):abs($offset); + $pos = strpos(strrev($haystack), strrev($needle), $offset); + return ($pos === false)?false:($length - $pos - strlen($needle)); + } + + /** + * Returns an array of hyphenation patterns. + * @param string $file TEX file containing hypenation patterns. TEX patterns can be downloaded from http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/ + * @return array of hyphenation patterns + * @author Nicola Asuni + * @since 4.9.012 (2010-04-12) + * @public static + */ + public static function getHyphenPatternsFromTEX($file) { + // TEX patterns are available at: + // http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/ + $data = file_get_contents($file); + $patterns = array(); + // remove comments + $data = preg_replace('/\%[^\n]*/', '', $data); + // extract the patterns part + preg_match('/\\\\patterns\{([^\}]*)\}/i', $data, $matches); + $data = trim(substr($matches[0], 10, -1)); + // extract each pattern + $patterns_array = preg_split('/[\s]+/', $data); + // create new language array of patterns + $patterns = array(); + foreach($patterns_array as $val) { + if (!TCPDF_STATIC::empty_string($val)) { + $val = trim($val); + $val = str_replace('\'', '\\\'', $val); + $key = preg_replace('/[0-9]+/', '', $val); + $patterns[$key] = $val; + } + } + return $patterns; + } + + /** + * Get the Path-Painting Operators. + * @param string $style Style of rendering. Possible values are: + *
      + *
    • S or D: Stroke the path.
    • + *
    • s or d: Close and stroke the path.
    • + *
    • f or F: Fill the path, using the nonzero winding number rule to determine the region to fill.
    • + *
    • f* or F*: Fill the path, using the even-odd rule to determine the region to fill.
    • + *
    • B or FD or DF: Fill and then stroke the path, using the nonzero winding number rule to determine the region to fill.
    • + *
    • B* or F*D or DF*: Fill and then stroke the path, using the even-odd rule to determine the region to fill.
    • + *
    • b or fd or df: Close, fill, and then stroke the path, using the nonzero winding number rule to determine the region to fill.
    • + *
    • b or f*d or df*: Close, fill, and then stroke the path, using the even-odd rule to determine the region to fill.
    • + *
    • CNZ: Clipping mode using the even-odd rule to determine which regions lie inside the clipping path.
    • + *
    • CEO: Clipping mode using the nonzero winding number rule to determine which regions lie inside the clipping path
    • + *
    • n: End the path object without filling or stroking it.
    • + *
    + * @param string $default default style + * @return string + * @author Nicola Asuni + * @since 5.0.000 (2010-04-30) + * @public static + */ + public static function getPathPaintOperator($style, $default='S') { + $op = ''; + switch($style) { + case 'S': + case 'D': { + $op = 'S'; + break; + } + case 's': + case 'd': { + $op = 's'; + break; + } + case 'f': + case 'F': { + $op = 'f'; + break; + } + case 'f*': + case 'F*': { + $op = 'f*'; + break; + } + case 'B': + case 'FD': + case 'DF': { + $op = 'B'; + break; + } + case 'B*': + case 'F*D': + case 'DF*': { + $op = 'B*'; + break; + } + case 'b': + case 'fd': + case 'df': { + $op = 'b'; + break; + } + case 'b*': + case 'f*d': + case 'df*': { + $op = 'b*'; + break; + } + case 'CNZ': { + $op = 'W n'; + break; + } + case 'CEO': { + $op = 'W* n'; + break; + } + case 'n': { + $op = 'n'; + break; + } + default: { + if (!empty($default)) { + $op = self::getPathPaintOperator($default, ''); + } else { + $op = ''; + } + } + } + return $op; + } + + /** + * Get the product of two SVG tranformation matrices + * @param array $ta first SVG tranformation matrix + * @param array $tb second SVG tranformation matrix + * @return array transformation array + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @public static + */ + public static function getTransformationMatrixProduct($ta, $tb) { + $tm = array(); + $tm[0] = ($ta[0] * $tb[0]) + ($ta[2] * $tb[1]); + $tm[1] = ($ta[1] * $tb[0]) + ($ta[3] * $tb[1]); + $tm[2] = ($ta[0] * $tb[2]) + ($ta[2] * $tb[3]); + $tm[3] = ($ta[1] * $tb[2]) + ($ta[3] * $tb[3]); + $tm[4] = ($ta[0] * $tb[4]) + ($ta[2] * $tb[5]) + $ta[4]; + $tm[5] = ($ta[1] * $tb[4]) + ($ta[3] * $tb[5]) + $ta[5]; + return $tm; + } + + /** + * Get the tranformation matrix from SVG transform attribute + * @param string $attribute transformation + * @return array of transformations + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @public static + */ + public static function getSVGTransformMatrix($attribute) { + // identity matrix + $tm = array(1, 0, 0, 1, 0, 0); + $transform = array(); + if (preg_match_all('/(matrix|translate|scale|rotate|skewX|skewY)[\s]*\(([^\)]+)\)/si', $attribute, $transform, PREG_SET_ORDER) > 0) { + foreach ($transform as $key => $data) { + if (!empty($data[2])) { + $a = 1; + $b = 0; + $c = 0; + $d = 1; + $e = 0; + $f = 0; + $regs = array(); + switch ($data[1]) { + case 'matrix': { + if (preg_match('/([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $data[2], $regs)) { + $a = $regs[1]; + $b = $regs[2]; + $c = $regs[3]; + $d = $regs[4]; + $e = $regs[5]; + $f = $regs[6]; + } + break; + } + case 'translate': { + if (preg_match('/([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $data[2], $regs)) { + $e = $regs[1]; + $f = $regs[2]; + } elseif (preg_match('/([a-z0-9\-\.]+)/si', $data[2], $regs)) { + $e = $regs[1]; + } + break; + } + case 'scale': { + if (preg_match('/([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $data[2], $regs)) { + $a = $regs[1]; + $d = $regs[2]; + } elseif (preg_match('/([a-z0-9\-\.]+)/si', $data[2], $regs)) { + $a = $regs[1]; + $d = $a; + } + break; + } + case 'rotate': { + if (preg_match('/([0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)[\,\s]+([a-z0-9\-\.]+)/si', $data[2], $regs)) { + $ang = deg2rad($regs[1]); + $x = $regs[2]; + $y = $regs[3]; + $a = cos($ang); + $b = sin($ang); + $c = -$b; + $d = $a; + $e = ($x * (1 - $a)) - ($y * $c); + $f = ($y * (1 - $d)) - ($x * $b); + } elseif (preg_match('/([0-9\-\.]+)/si', $data[2], $regs)) { + $ang = deg2rad($regs[1]); + $a = cos($ang); + $b = sin($ang); + $c = -$b; + $d = $a; + $e = 0; + $f = 0; + } + break; + } + case 'skewX': { + if (preg_match('/([0-9\-\.]+)/si', $data[2], $regs)) { + $c = tan(deg2rad($regs[1])); + } + break; + } + case 'skewY': { + if (preg_match('/([0-9\-\.]+)/si', $data[2], $regs)) { + $b = tan(deg2rad($regs[1])); + } + break; + } + } + $tm = self::getTransformationMatrixProduct($tm, array($a, $b, $c, $d, $e, $f)); + } + } + } + return $tm; + } + + /** + * Returns the angle in radiants between two vectors + * @param int $x1 X coordinate of first vector point + * @param int $y1 Y coordinate of first vector point + * @param int $x2 X coordinate of second vector point + * @param int $y2 Y coordinate of second vector point + * @author Nicola Asuni + * @since 5.0.000 (2010-05-04) + * @public static + */ + public static function getVectorsAngle($x1, $y1, $x2, $y2) { + $dprod = ($x1 * $x2) + ($y1 * $y2); + $dist1 = sqrt(($x1 * $x1) + ($y1 * $y1)); + $dist2 = sqrt(($x2 * $x2) + ($y2 * $y2)); + $angle = acos($dprod / ($dist1 * $dist2)); + if (is_nan($angle)) { + $angle = M_PI; + } + if ((($x1 * $y2) - ($x2 * $y1)) < 0) { + $angle *= -1; + } + return $angle; + } + + /** + * Split string by a regular expression. + * This is a wrapper for the preg_split function to avoid the bug: https://bugs.php.net/bug.php?id=45850 + * @param string $pattern The regular expression pattern to search for without the modifiers, as a string. + * @param string $modifiers The modifiers part of the pattern, + * @param string $subject The input string. + * @param int $limit If specified, then only substrings up to limit are returned with the rest of the string being placed in the last substring. A limit of -1, 0 or NULL means "no limit" and, as is standard across PHP, you can use NULL to skip to the flags parameter. + * @param int $flags The flags as specified on the preg_split PHP function. + * @return array Returns an array containing substrings of subject split along boundaries matched by pattern.modifier + * @author Nicola Asuni + * @since 6.0.023 + * @public static + */ + public static function pregSplit($pattern, $modifiers, $subject, $limit=NULL, $flags=NULL) { + // PHP 8.1 deprecates nulls for $limit and $flags + $limit = $limit === null ? -1 : $limit; + $flags = $flags === null ? 0 : $flags; + // the bug only happens on PHP 5.2 when using the u modifier + if ((strpos($modifiers, 'u') === FALSE) OR (count(preg_split('//u', "\n\t", -1, PREG_SPLIT_NO_EMPTY)) == 2)) { + $ret = preg_split($pattern.$modifiers, $subject, $limit, $flags); + if ($ret === false) { + return array(); + } + return is_array($ret) ? $ret : array(); + } + // preg_split is bugged - try alternative solution + $ret = array(); + while (($nl = strpos($subject, "\n")) !== FALSE) { + $ret = array_merge($ret, preg_split($pattern.$modifiers, substr($subject, 0, $nl), $limit, $flags)); + $ret[] = "\n"; + $subject = substr($subject, ($nl + 1)); + } + if (strlen($subject) > 0) { + $ret = array_merge($ret, preg_split($pattern.$modifiers, $subject, $limit, $flags)); + } + return $ret; + } + + /** + * Wrapper to use fopen only with local files + * @param string $filename Name of the file to open + * @param string $mode + * @return resource|false Returns a file pointer resource on success, or FALSE on error. + * @public static + */ + public static function fopenLocal($filename, $mode) { + if (strpos($filename, '://') === false) { + $filename = 'file://'.$filename; + } elseif (stream_is_local($filename) !== true) { + return false; + } + return fopen($filename, $mode); + } + + /** + * Check if the URL exist. + * @param string $url URL to check. + * @return bool Returns TRUE if the URL exists; FALSE otherwise. + * @public static + * @since 6.2.25 + */ + public static function url_exists($url) { + $crs = curl_init(); + $curlopts = []; + if ( + (ini_get('open_basedir') == '') + && (ini_get('safe_mode') === '' + || ini_get('safe_mode') === false) + ) { + $curlopts[CURLOPT_FOLLOWLOCATION] = true; + } + $curlopts = array_replace($curlopts, self::CURLOPT_DEFAULT); + $curlopts = array_replace($curlopts, K_CURLOPTS); + $curlopts = array_replace($curlopts, self::CURLOPT_FIXED); + $curlopts[CURLOPT_URL] = $url; + curl_setopt_array($crs, $curlopts); + curl_exec($crs); + $code = curl_getinfo($crs, CURLINFO_HTTP_CODE); + curl_close($crs); + return ($code == 200); + } + + /** + * Encode query params in URL + * + * @param string $url + * @return string + * @since 6.3.3 (2019-11-01) + * @public static + */ + public static function encodeUrlQuery($url) { + $urlData = parse_url($url); + if (isset($urlData['query']) && $urlData['query']) { + $urlQueryData = array(); + parse_str(urldecode($urlData['query']), $urlQueryData); + $port = isset($urlData['port']) ? ':'.$urlData['port'] : ''; + $updatedUrl = $urlData['scheme'].'://'.$urlData['host'].$port.$urlData['path'].'?'.http_build_query($urlQueryData); + } else { + $updatedUrl = $url; + } + return $updatedUrl; + } + + /** + * Wrapper for file_exists. + * Checks whether a file or directory exists. + * Only allows some protocols and local files. + * @param string $filename Path to the file or directory. + * @return bool Returns TRUE if the file or directory specified by filename exists; FALSE otherwise. + * @public static + */ + public static function file_exists($filename) { + if (preg_match('|^https?://|', $filename) == 1) { + return self::url_exists($filename); + } + if (strpos($filename, '://')) { + return false; // only support http and https wrappers for security reasons + } + return @file_exists($filename); + } + + /** + * Reads entire file into a string. + * The file can be also an URL. + * @param string $file Name of the file or URL to read. + * @return string|false The function returns the read data or FALSE on failure. + * @author Nicola Asuni + * @since 6.0.025 + * @public static + */ + public static function fileGetContents($file) { + $alt = array($file); + // + if ((strlen($file) > 1) + && ($file[0] === '/') + && ($file[1] !== '/') + && !empty($_SERVER['DOCUMENT_ROOT']) + && ($_SERVER['DOCUMENT_ROOT'] !== '/') + ) { + $findroot = strpos($file, $_SERVER['DOCUMENT_ROOT']); + if (($findroot === false) || ($findroot > 1)) { + $alt[] = htmlspecialchars_decode(urldecode($_SERVER['DOCUMENT_ROOT'].$file)); + } + } + // + $protocol = 'http'; + if (!empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) { + $protocol .= 's'; + } + // + $url = $file; + if (preg_match('%^//%', $url) && !empty($_SERVER['HTTP_HOST'])) { + $url = $protocol.':'.str_replace(' ', '%20', $url); + } + $url = htmlspecialchars_decode($url); + $alt[] = $url; + // + if (preg_match('%^(https?)://%', $url) + && empty($_SERVER['HTTP_HOST']) + && empty($_SERVER['DOCUMENT_ROOT']) + ) { + $urldata = parse_url($url); + if (empty($urldata['query'])) { + $host = $protocol.'://'.$_SERVER['HTTP_HOST']; + if (strpos($url, $host) === 0) { + // convert URL to full server path + $tmp = str_replace($host, $_SERVER['DOCUMENT_ROOT'], $url); + $alt[] = htmlspecialchars_decode(urldecode($tmp)); + } + } + } + // + if (isset($_SERVER['SCRIPT_URI']) + && !preg_match('%^(https?|ftp)://%', $file) + && !preg_match('%^//%', $file) + ) { + $urldata = @parse_url($_SERVER['SCRIPT_URI']); + $alt[] = $urldata['scheme'].'://'.$urldata['host'].(($file[0] == '/') ? '' : '/').$file; + } + // + $alt = array_unique($alt); + foreach ($alt as $path) { + if (!self::file_exists($path)) { + continue; + } + $ret = @file_get_contents($path); + if ( $ret != false ) { + return $ret; + } + // try to use CURL for URLs + if (!ini_get('allow_url_fopen') + && function_exists('curl_init') + && preg_match('%^(https?|ftp)://%', $path) + ) { + // try to get remote file data using cURL + $crs = curl_init(); + $curlopts = []; + if ( + (ini_get('open_basedir') == '') + && (ini_get('safe_mode') === '' + || ini_get('safe_mode') === false) + ) { + $curlopts[CURLOPT_FOLLOWLOCATION] = true; + } + $curlopts = array_replace($curlopts, self::CURLOPT_DEFAULT); + $curlopts = array_replace($curlopts, K_CURLOPTS); + $curlopts = array_replace($curlopts, self::CURLOPT_FIXED); + $curlopts[CURLOPT_URL] = $url; + curl_setopt_array($crs, $curlopts); + $ret = curl_exec($crs); + curl_close($crs); + if ($ret !== false) { + return $ret; + } + } + } + return false; + } + + /** + * Get ULONG from string (Big Endian 32-bit unsigned integer). + * @param string $str string from where to extract value + * @param int $offset point from where to read the data + * @return int 32 bit value + * @author Nicola Asuni + * @since 5.2.000 (2010-06-02) + * @public static + */ + public static function _getULONG($str, $offset) { + $v = unpack('Ni', substr($str, $offset, 4)); + return $v['i']; + } + + /** + * Get USHORT from string (Big Endian 16-bit unsigned integer). + * @param string $str string from where to extract value + * @param int $offset point from where to read the data + * @return int 16 bit value + * @author Nicola Asuni + * @since 5.2.000 (2010-06-02) + * @public static + */ + public static function _getUSHORT($str, $offset) { + $v = unpack('ni', substr($str, $offset, 2)); + return $v['i']; + } + + /** + * Get SHORT from string (Big Endian 16-bit signed integer). + * @param string $str String from where to extract value. + * @param int $offset Point from where to read the data. + * @return int 16 bit value + * @author Nicola Asuni + * @since 5.2.000 (2010-06-02) + * @public static + */ + public static function _getSHORT($str, $offset) { + $v = unpack('si', substr($str, $offset, 2)); + return $v['i']; + } + + /** + * Get FWORD from string (Big Endian 16-bit signed integer). + * @param string $str String from where to extract value. + * @param int $offset Point from where to read the data. + * @return int 16 bit value + * @author Nicola Asuni + * @since 5.9.123 (2011-09-30) + * @public static + */ + public static function _getFWORD($str, $offset) { + $v = self::_getUSHORT($str, $offset); + if ($v > 0x7fff) { + $v -= 0x10000; + } + return $v; + } + + /** + * Get UFWORD from string (Big Endian 16-bit unsigned integer). + * @param string $str string from where to extract value + * @param int $offset point from where to read the data + * @return int 16 bit value + * @author Nicola Asuni + * @since 5.9.123 (2011-09-30) + * @public static + */ + public static function _getUFWORD($str, $offset) { + $v = self::_getUSHORT($str, $offset); + return $v; + } + + /** + * Get FIXED from string (32-bit signed fixed-point number (16.16). + * @param string $str string from where to extract value + * @param int $offset point from where to read the data + * @return int 16 bit value + * @author Nicola Asuni + * @since 5.9.123 (2011-09-30) + * @public static + */ + public static function _getFIXED($str, $offset) { + // mantissa + $m = self::_getFWORD($str, $offset); + // fraction + $f = self::_getUSHORT($str, ($offset + 2)); + $v = floatval(''.$m.'.'.$f.''); + return $v; + } + + /** + * Get BYTE from string (8-bit unsigned integer). + * @param string $str String from where to extract value. + * @param int $offset Point from where to read the data. + * @return int 8 bit value + * @author Nicola Asuni + * @since 5.2.000 (2010-06-02) + * @public static + */ + public static function _getBYTE($str, $offset) { + $v = unpack('Ci', substr($str, $offset, 1)); + return $v['i']; + } + /** + * Binary-safe and URL-safe file read. + * Reads up to length bytes from the file pointer referenced by handle. Reading stops as soon as one of the following conditions is met: length bytes have been read; EOF (end of file) is reached. + * @param resource $handle + * @param int $length + * @return string|false Returns the read string or FALSE in case of error. + * @author Nicola Asuni + * @since 4.5.027 (2009-03-16) + * @public static + */ + public static function rfread($handle, $length) { + $data = fread($handle, $length); + if ($data === false) { + return false; + } + $rest = ($length - strlen($data)); + if (($rest > 0) && !feof($handle)) { + $data .= self::rfread($handle, $rest); + } + return $data; + } + + /** + * Read a 4-byte (32 bit) integer from file. + * @param resource $f file resource. + * @return int 4-byte integer + * @public static + */ + public static function _freadint($f) { + $a = unpack('Ni', fread($f, 4)); + return $a['i']; + } + + /** + * Array of page formats + * measures are calculated in this way: (inches * 72) or (millimeters * 72 / 25.4) + * @public static + * + * @var array + */ + public static $page_formats = array( + // ISO 216 A Series + 2 SIS 014711 extensions + 'A0' => array( 2383.937, 3370.394), // = ( 841 x 1189 ) mm = ( 33.11 x 46.81 ) in + 'A1' => array( 1683.780, 2383.937), // = ( 594 x 841 ) mm = ( 23.39 x 33.11 ) in + 'A2' => array( 1190.551, 1683.780), // = ( 420 x 594 ) mm = ( 16.54 x 23.39 ) in + 'A3' => array( 841.890, 1190.551), // = ( 297 x 420 ) mm = ( 11.69 x 16.54 ) in + 'A4' => array( 595.276, 841.890), // = ( 210 x 297 ) mm = ( 8.27 x 11.69 ) in + 'A5' => array( 419.528, 595.276), // = ( 148 x 210 ) mm = ( 5.83 x 8.27 ) in + 'A6' => array( 297.638, 419.528), // = ( 105 x 148 ) mm = ( 4.13 x 5.83 ) in + 'A7' => array( 209.764, 297.638), // = ( 74 x 105 ) mm = ( 2.91 x 4.13 ) in + 'A8' => array( 147.402, 209.764), // = ( 52 x 74 ) mm = ( 2.05 x 2.91 ) in + 'A9' => array( 104.882, 147.402), // = ( 37 x 52 ) mm = ( 1.46 x 2.05 ) in + 'A10' => array( 73.701, 104.882), // = ( 26 x 37 ) mm = ( 1.02 x 1.46 ) in + 'A11' => array( 51.024, 73.701), // = ( 18 x 26 ) mm = ( 0.71 x 1.02 ) in + 'A12' => array( 36.850, 51.024), // = ( 13 x 18 ) mm = ( 0.51 x 0.71 ) in + // ISO 216 B Series + 2 SIS 014711 extensions + 'B0' => array( 2834.646, 4008.189), // = ( 1000 x 1414 ) mm = ( 39.37 x 55.67 ) in + 'B1' => array( 2004.094, 2834.646), // = ( 707 x 1000 ) mm = ( 27.83 x 39.37 ) in + 'B2' => array( 1417.323, 2004.094), // = ( 500 x 707 ) mm = ( 19.69 x 27.83 ) in + 'B3' => array( 1000.630, 1417.323), // = ( 353 x 500 ) mm = ( 13.90 x 19.69 ) in + 'B4' => array( 708.661, 1000.630), // = ( 250 x 353 ) mm = ( 9.84 x 13.90 ) in + 'B5' => array( 498.898, 708.661), // = ( 176 x 250 ) mm = ( 6.93 x 9.84 ) in + 'B6' => array( 354.331, 498.898), // = ( 125 x 176 ) mm = ( 4.92 x 6.93 ) in + 'B7' => array( 249.449, 354.331), // = ( 88 x 125 ) mm = ( 3.46 x 4.92 ) in + 'B8' => array( 175.748, 249.449), // = ( 62 x 88 ) mm = ( 2.44 x 3.46 ) in + 'B9' => array( 124.724, 175.748), // = ( 44 x 62 ) mm = ( 1.73 x 2.44 ) in + 'B10' => array( 87.874, 124.724), // = ( 31 x 44 ) mm = ( 1.22 x 1.73 ) in + 'B11' => array( 62.362, 87.874), // = ( 22 x 31 ) mm = ( 0.87 x 1.22 ) in + 'B12' => array( 42.520, 62.362), // = ( 15 x 22 ) mm = ( 0.59 x 0.87 ) in + // ISO 216 C Series + 2 SIS 014711 extensions + 5 EXTENSION + 'C0' => array( 2599.370, 3676.535), // = ( 917 x 1297 ) mm = ( 36.10 x 51.06 ) in + 'C1' => array( 1836.850, 2599.370), // = ( 648 x 917 ) mm = ( 25.51 x 36.10 ) in + 'C2' => array( 1298.268, 1836.850), // = ( 458 x 648 ) mm = ( 18.03 x 25.51 ) in + 'C3' => array( 918.425, 1298.268), // = ( 324 x 458 ) mm = ( 12.76 x 18.03 ) in + 'C4' => array( 649.134, 918.425), // = ( 229 x 324 ) mm = ( 9.02 x 12.76 ) in + 'C5' => array( 459.213, 649.134), // = ( 162 x 229 ) mm = ( 6.38 x 9.02 ) in + 'C6' => array( 323.150, 459.213), // = ( 114 x 162 ) mm = ( 4.49 x 6.38 ) in + 'C7' => array( 229.606, 323.150), // = ( 81 x 114 ) mm = ( 3.19 x 4.49 ) in + 'C8' => array( 161.575, 229.606), // = ( 57 x 81 ) mm = ( 2.24 x 3.19 ) in + 'C9' => array( 113.386, 161.575), // = ( 40 x 57 ) mm = ( 1.57 x 2.24 ) in + 'C10' => array( 79.370, 113.386), // = ( 28 x 40 ) mm = ( 1.10 x 1.57 ) in + 'C11' => array( 56.693, 79.370), // = ( 20 x 28 ) mm = ( 0.79 x 1.10 ) in + 'C12' => array( 39.685, 56.693), // = ( 14 x 20 ) mm = ( 0.55 x 0.79 ) in + 'C76' => array( 229.606, 459.213), // = ( 81 x 162 ) mm = ( 3.19 x 6.38 ) in + 'DL' => array( 311.811, 623.622), // = ( 110 x 220 ) mm = ( 4.33 x 8.66 ) in + 'DLE' => array( 323.150, 637.795), // = ( 114 x 225 ) mm = ( 4.49 x 8.86 ) in + 'DLX' => array( 340.158, 666.142), // = ( 120 x 235 ) mm = ( 4.72 x 9.25 ) in + 'DLP' => array( 280.630, 595.276), // = ( 99 x 210 ) mm = ( 3.90 x 8.27 ) in (1/3 A4) + // SIS 014711 E Series + 'E0' => array( 2491.654, 3517.795), // = ( 879 x 1241 ) mm = ( 34.61 x 48.86 ) in + 'E1' => array( 1757.480, 2491.654), // = ( 620 x 879 ) mm = ( 24.41 x 34.61 ) in + 'E2' => array( 1247.244, 1757.480), // = ( 440 x 620 ) mm = ( 17.32 x 24.41 ) in + 'E3' => array( 878.740, 1247.244), // = ( 310 x 440 ) mm = ( 12.20 x 17.32 ) in + 'E4' => array( 623.622, 878.740), // = ( 220 x 310 ) mm = ( 8.66 x 12.20 ) in + 'E5' => array( 439.370, 623.622), // = ( 155 x 220 ) mm = ( 6.10 x 8.66 ) in + 'E6' => array( 311.811, 439.370), // = ( 110 x 155 ) mm = ( 4.33 x 6.10 ) in + 'E7' => array( 221.102, 311.811), // = ( 78 x 110 ) mm = ( 3.07 x 4.33 ) in + 'E8' => array( 155.906, 221.102), // = ( 55 x 78 ) mm = ( 2.17 x 3.07 ) in + 'E9' => array( 110.551, 155.906), // = ( 39 x 55 ) mm = ( 1.54 x 2.17 ) in + 'E10' => array( 76.535, 110.551), // = ( 27 x 39 ) mm = ( 1.06 x 1.54 ) in + 'E11' => array( 53.858, 76.535), // = ( 19 x 27 ) mm = ( 0.75 x 1.06 ) in + 'E12' => array( 36.850, 53.858), // = ( 13 x 19 ) mm = ( 0.51 x 0.75 ) in + // SIS 014711 G Series + 'G0' => array( 2715.591, 3838.110), // = ( 958 x 1354 ) mm = ( 37.72 x 53.31 ) in + 'G1' => array( 1919.055, 2715.591), // = ( 677 x 958 ) mm = ( 26.65 x 37.72 ) in + 'G2' => array( 1357.795, 1919.055), // = ( 479 x 677 ) mm = ( 18.86 x 26.65 ) in + 'G3' => array( 958.110, 1357.795), // = ( 338 x 479 ) mm = ( 13.31 x 18.86 ) in + 'G4' => array( 677.480, 958.110), // = ( 239 x 338 ) mm = ( 9.41 x 13.31 ) in + 'G5' => array( 479.055, 677.480), // = ( 169 x 239 ) mm = ( 6.65 x 9.41 ) in + 'G6' => array( 337.323, 479.055), // = ( 119 x 169 ) mm = ( 4.69 x 6.65 ) in + 'G7' => array( 238.110, 337.323), // = ( 84 x 119 ) mm = ( 3.31 x 4.69 ) in + 'G8' => array( 167.244, 238.110), // = ( 59 x 84 ) mm = ( 2.32 x 3.31 ) in + 'G9' => array( 119.055, 167.244), // = ( 42 x 59 ) mm = ( 1.65 x 2.32 ) in + 'G10' => array( 82.205, 119.055), // = ( 29 x 42 ) mm = ( 1.14 x 1.65 ) in + 'G11' => array( 59.528, 82.205), // = ( 21 x 29 ) mm = ( 0.83 x 1.14 ) in + 'G12' => array( 39.685, 59.528), // = ( 14 x 21 ) mm = ( 0.55 x 0.83 ) in + // ISO Press + 'RA0' => array( 2437.795, 3458.268), // = ( 860 x 1220 ) mm = ( 33.86 x 48.03 ) in + 'RA1' => array( 1729.134, 2437.795), // = ( 610 x 860 ) mm = ( 24.02 x 33.86 ) in + 'RA2' => array( 1218.898, 1729.134), // = ( 430 x 610 ) mm = ( 16.93 x 24.02 ) in + 'RA3' => array( 864.567, 1218.898), // = ( 305 x 430 ) mm = ( 12.01 x 16.93 ) in + 'RA4' => array( 609.449, 864.567), // = ( 215 x 305 ) mm = ( 8.46 x 12.01 ) in + 'SRA0' => array( 2551.181, 3628.346), // = ( 900 x 1280 ) mm = ( 35.43 x 50.39 ) in + 'SRA1' => array( 1814.173, 2551.181), // = ( 640 x 900 ) mm = ( 25.20 x 35.43 ) in + 'SRA2' => array( 1275.591, 1814.173), // = ( 450 x 640 ) mm = ( 17.72 x 25.20 ) in + 'SRA3' => array( 907.087, 1275.591), // = ( 320 x 450 ) mm = ( 12.60 x 17.72 ) in + 'SRA4' => array( 637.795, 907.087), // = ( 225 x 320 ) mm = ( 8.86 x 12.60 ) in + // German DIN 476 + '4A0' => array( 4767.874, 6740.787), // = ( 1682 x 2378 ) mm = ( 66.22 x 93.62 ) in + '2A0' => array( 3370.394, 4767.874), // = ( 1189 x 1682 ) mm = ( 46.81 x 66.22 ) in + // Variations on the ISO Standard + 'A2_EXTRA' => array( 1261.417, 1754.646), // = ( 445 x 619 ) mm = ( 17.52 x 24.37 ) in + 'A3+' => array( 932.598, 1369.134), // = ( 329 x 483 ) mm = ( 12.95 x 19.02 ) in + 'A3_EXTRA' => array( 912.756, 1261.417), // = ( 322 x 445 ) mm = ( 12.68 x 17.52 ) in + 'A3_SUPER' => array( 864.567, 1440.000), // = ( 305 x 508 ) mm = ( 12.01 x 20.00 ) in + 'SUPER_A3' => array( 864.567, 1380.472), // = ( 305 x 487 ) mm = ( 12.01 x 19.17 ) in + 'A4_EXTRA' => array( 666.142, 912.756), // = ( 235 x 322 ) mm = ( 9.25 x 12.68 ) in + 'A4_SUPER' => array( 649.134, 912.756), // = ( 229 x 322 ) mm = ( 9.02 x 12.68 ) in + 'SUPER_A4' => array( 643.465, 1009.134), // = ( 227 x 356 ) mm = ( 8.94 x 14.02 ) in + 'A4_LONG' => array( 595.276, 986.457), // = ( 210 x 348 ) mm = ( 8.27 x 13.70 ) in + 'F4' => array( 595.276, 935.433), // = ( 210 x 330 ) mm = ( 8.27 x 12.99 ) in + 'SO_B5_EXTRA' => array( 572.598, 782.362), // = ( 202 x 276 ) mm = ( 7.95 x 10.87 ) in + 'A5_EXTRA' => array( 490.394, 666.142), // = ( 173 x 235 ) mm = ( 6.81 x 9.25 ) in + // ANSI Series + 'ANSI_E' => array( 2448.000, 3168.000), // = ( 864 x 1118 ) mm = ( 34.00 x 44.00 ) in + 'ANSI_D' => array( 1584.000, 2448.000), // = ( 559 x 864 ) mm = ( 22.00 x 34.00 ) in + 'ANSI_C' => array( 1224.000, 1584.000), // = ( 432 x 559 ) mm = ( 17.00 x 22.00 ) in + 'ANSI_B' => array( 792.000, 1224.000), // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'ANSI_A' => array( 612.000, 792.000), // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + // Traditional 'Loose' North American Paper Sizes + 'USLEDGER' => array( 1224.000, 792.000), // = ( 432 x 279 ) mm = ( 17.00 x 11.00 ) in + 'LEDGER' => array( 1224.000, 792.000), // = ( 432 x 279 ) mm = ( 17.00 x 11.00 ) in + 'ORGANIZERK' => array( 792.000, 1224.000), // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'BIBLE' => array( 792.000, 1224.000), // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'USTABLOID' => array( 792.000, 1224.000), // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'TABLOID' => array( 792.000, 1224.000), // = ( 279 x 432 ) mm = ( 11.00 x 17.00 ) in + 'ORGANIZERM' => array( 612.000, 792.000), // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + 'USLETTER' => array( 612.000, 792.000), // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + 'LETTER' => array( 612.000, 792.000), // = ( 216 x 279 ) mm = ( 8.50 x 11.00 ) in + 'USLEGAL' => array( 612.000, 1008.000), // = ( 216 x 356 ) mm = ( 8.50 x 14.00 ) in + 'LEGAL' => array( 612.000, 1008.000), // = ( 216 x 356 ) mm = ( 8.50 x 14.00 ) in + 'GOVERNMENTLETTER' => array( 576.000, 756.000), // = ( 203 x 267 ) mm = ( 8.00 x 10.50 ) in + 'GLETTER' => array( 576.000, 756.000), // = ( 203 x 267 ) mm = ( 8.00 x 10.50 ) in + 'JUNIORLEGAL' => array( 576.000, 360.000), // = ( 203 x 127 ) mm = ( 8.00 x 5.00 ) in + 'JLEGAL' => array( 576.000, 360.000), // = ( 203 x 127 ) mm = ( 8.00 x 5.00 ) in + // Other North American Paper Sizes + 'QUADDEMY' => array( 2520.000, 3240.000), // = ( 889 x 1143 ) mm = ( 35.00 x 45.00 ) in + 'SUPER_B' => array( 936.000, 1368.000), // = ( 330 x 483 ) mm = ( 13.00 x 19.00 ) in + 'QUARTO' => array( 648.000, 792.000), // = ( 229 x 279 ) mm = ( 9.00 x 11.00 ) in + 'GOVERNMENTLEGAL' => array( 612.000, 936.000), // = ( 216 x 330 ) mm = ( 8.50 x 13.00 ) in + 'FOLIO' => array( 612.000, 936.000), // = ( 216 x 330 ) mm = ( 8.50 x 13.00 ) in + 'MONARCH' => array( 522.000, 756.000), // = ( 184 x 267 ) mm = ( 7.25 x 10.50 ) in + 'EXECUTIVE' => array( 522.000, 756.000), // = ( 184 x 267 ) mm = ( 7.25 x 10.50 ) in + 'ORGANIZERL' => array( 396.000, 612.000), // = ( 140 x 216 ) mm = ( 5.50 x 8.50 ) in + 'STATEMENT' => array( 396.000, 612.000), // = ( 140 x 216 ) mm = ( 5.50 x 8.50 ) in + 'MEMO' => array( 396.000, 612.000), // = ( 140 x 216 ) mm = ( 5.50 x 8.50 ) in + 'FOOLSCAP' => array( 595.440, 936.000), // = ( 210 x 330 ) mm = ( 8.27 x 13.00 ) in + 'COMPACT' => array( 306.000, 486.000), // = ( 108 x 171 ) mm = ( 4.25 x 6.75 ) in + 'ORGANIZERJ' => array( 198.000, 360.000), // = ( 70 x 127 ) mm = ( 2.75 x 5.00 ) in + // Canadian standard CAN 2-9.60M + 'P1' => array( 1587.402, 2437.795), // = ( 560 x 860 ) mm = ( 22.05 x 33.86 ) in + 'P2' => array( 1218.898, 1587.402), // = ( 430 x 560 ) mm = ( 16.93 x 22.05 ) in + 'P3' => array( 793.701, 1218.898), // = ( 280 x 430 ) mm = ( 11.02 x 16.93 ) in + 'P4' => array( 609.449, 793.701), // = ( 215 x 280 ) mm = ( 8.46 x 11.02 ) in + 'P5' => array( 396.850, 609.449), // = ( 140 x 215 ) mm = ( 5.51 x 8.46 ) in + 'P6' => array( 303.307, 396.850), // = ( 107 x 140 ) mm = ( 4.21 x 5.51 ) in + // North American Architectural Sizes + 'ARCH_E' => array( 2592.000, 3456.000), // = ( 914 x 1219 ) mm = ( 36.00 x 48.00 ) in + 'ARCH_E1' => array( 2160.000, 3024.000), // = ( 762 x 1067 ) mm = ( 30.00 x 42.00 ) in + 'ARCH_D' => array( 1728.000, 2592.000), // = ( 610 x 914 ) mm = ( 24.00 x 36.00 ) in + 'BROADSHEET' => array( 1296.000, 1728.000), // = ( 457 x 610 ) mm = ( 18.00 x 24.00 ) in + 'ARCH_C' => array( 1296.000, 1728.000), // = ( 457 x 610 ) mm = ( 18.00 x 24.00 ) in + 'ARCH_B' => array( 864.000, 1296.000), // = ( 305 x 457 ) mm = ( 12.00 x 18.00 ) in + 'ARCH_A' => array( 648.000, 864.000), // = ( 229 x 305 ) mm = ( 9.00 x 12.00 ) in + // -- North American Envelope Sizes + // - Announcement Envelopes + 'ANNENV_A2' => array( 314.640, 414.000), // = ( 111 x 146 ) mm = ( 4.37 x 5.75 ) in + 'ANNENV_A6' => array( 342.000, 468.000), // = ( 121 x 165 ) mm = ( 4.75 x 6.50 ) in + 'ANNENV_A7' => array( 378.000, 522.000), // = ( 133 x 184 ) mm = ( 5.25 x 7.25 ) in + 'ANNENV_A8' => array( 396.000, 584.640), // = ( 140 x 206 ) mm = ( 5.50 x 8.12 ) in + 'ANNENV_A10' => array( 450.000, 692.640), // = ( 159 x 244 ) mm = ( 6.25 x 9.62 ) in + 'ANNENV_SLIM' => array( 278.640, 638.640), // = ( 98 x 225 ) mm = ( 3.87 x 8.87 ) in + // - Commercial Envelopes + 'COMMENV_N6_1/4' => array( 252.000, 432.000), // = ( 89 x 152 ) mm = ( 3.50 x 6.00 ) in + 'COMMENV_N6_3/4' => array( 260.640, 468.000), // = ( 92 x 165 ) mm = ( 3.62 x 6.50 ) in + 'COMMENV_N8' => array( 278.640, 540.000), // = ( 98 x 191 ) mm = ( 3.87 x 7.50 ) in + 'COMMENV_N9' => array( 278.640, 638.640), // = ( 98 x 225 ) mm = ( 3.87 x 8.87 ) in + 'COMMENV_N10' => array( 296.640, 684.000), // = ( 105 x 241 ) mm = ( 4.12 x 9.50 ) in + 'COMMENV_N11' => array( 324.000, 746.640), // = ( 114 x 263 ) mm = ( 4.50 x 10.37 ) in + 'COMMENV_N12' => array( 342.000, 792.000), // = ( 121 x 279 ) mm = ( 4.75 x 11.00 ) in + 'COMMENV_N14' => array( 360.000, 828.000), // = ( 127 x 292 ) mm = ( 5.00 x 11.50 ) in + // - Catalogue Envelopes + 'CATENV_N1' => array( 432.000, 648.000), // = ( 152 x 229 ) mm = ( 6.00 x 9.00 ) in + 'CATENV_N1_3/4' => array( 468.000, 684.000), // = ( 165 x 241 ) mm = ( 6.50 x 9.50 ) in + 'CATENV_N2' => array( 468.000, 720.000), // = ( 165 x 254 ) mm = ( 6.50 x 10.00 ) in + 'CATENV_N3' => array( 504.000, 720.000), // = ( 178 x 254 ) mm = ( 7.00 x 10.00 ) in + 'CATENV_N6' => array( 540.000, 756.000), // = ( 191 x 267 ) mm = ( 7.50 x 10.50 ) in + 'CATENV_N7' => array( 576.000, 792.000), // = ( 203 x 279 ) mm = ( 8.00 x 11.00 ) in + 'CATENV_N8' => array( 594.000, 810.000), // = ( 210 x 286 ) mm = ( 8.25 x 11.25 ) in + 'CATENV_N9_1/2' => array( 612.000, 756.000), // = ( 216 x 267 ) mm = ( 8.50 x 10.50 ) in + 'CATENV_N9_3/4' => array( 630.000, 810.000), // = ( 222 x 286 ) mm = ( 8.75 x 11.25 ) in + 'CATENV_N10_1/2' => array( 648.000, 864.000), // = ( 229 x 305 ) mm = ( 9.00 x 12.00 ) in + 'CATENV_N12_1/2' => array( 684.000, 900.000), // = ( 241 x 318 ) mm = ( 9.50 x 12.50 ) in + 'CATENV_N13_1/2' => array( 720.000, 936.000), // = ( 254 x 330 ) mm = ( 10.00 x 13.00 ) in + 'CATENV_N14_1/4' => array( 810.000, 882.000), // = ( 286 x 311 ) mm = ( 11.25 x 12.25 ) in + 'CATENV_N14_1/2' => array( 828.000, 1044.000), // = ( 292 x 368 ) mm = ( 11.50 x 14.50 ) in + // Japanese (JIS P 0138-61) Standard B-Series + 'JIS_B0' => array( 2919.685, 4127.244), // = ( 1030 x 1456 ) mm = ( 40.55 x 57.32 ) in + 'JIS_B1' => array( 2063.622, 2919.685), // = ( 728 x 1030 ) mm = ( 28.66 x 40.55 ) in + 'JIS_B2' => array( 1459.843, 2063.622), // = ( 515 x 728 ) mm = ( 20.28 x 28.66 ) in + 'JIS_B3' => array( 1031.811, 1459.843), // = ( 364 x 515 ) mm = ( 14.33 x 20.28 ) in + 'JIS_B4' => array( 728.504, 1031.811), // = ( 257 x 364 ) mm = ( 10.12 x 14.33 ) in + 'JIS_B5' => array( 515.906, 728.504), // = ( 182 x 257 ) mm = ( 7.17 x 10.12 ) in + 'JIS_B6' => array( 362.835, 515.906), // = ( 128 x 182 ) mm = ( 5.04 x 7.17 ) in + 'JIS_B7' => array( 257.953, 362.835), // = ( 91 x 128 ) mm = ( 3.58 x 5.04 ) in + 'JIS_B8' => array( 181.417, 257.953), // = ( 64 x 91 ) mm = ( 2.52 x 3.58 ) in + 'JIS_B9' => array( 127.559, 181.417), // = ( 45 x 64 ) mm = ( 1.77 x 2.52 ) in + 'JIS_B10' => array( 90.709, 127.559), // = ( 32 x 45 ) mm = ( 1.26 x 1.77 ) in + 'JIS_B11' => array( 62.362, 90.709), // = ( 22 x 32 ) mm = ( 0.87 x 1.26 ) in + 'JIS_B12' => array( 45.354, 62.362), // = ( 16 x 22 ) mm = ( 0.63 x 0.87 ) in + // PA Series + 'PA0' => array( 2381.102, 3174.803), // = ( 840 x 1120 ) mm = ( 33.07 x 44.09 ) in + 'PA1' => array( 1587.402, 2381.102), // = ( 560 x 840 ) mm = ( 22.05 x 33.07 ) in + 'PA2' => array( 1190.551, 1587.402), // = ( 420 x 560 ) mm = ( 16.54 x 22.05 ) in + 'PA3' => array( 793.701, 1190.551), // = ( 280 x 420 ) mm = ( 11.02 x 16.54 ) in + 'PA4' => array( 595.276, 793.701), // = ( 210 x 280 ) mm = ( 8.27 x 11.02 ) in + 'PA5' => array( 396.850, 595.276), // = ( 140 x 210 ) mm = ( 5.51 x 8.27 ) in + 'PA6' => array( 297.638, 396.850), // = ( 105 x 140 ) mm = ( 4.13 x 5.51 ) in + 'PA7' => array( 198.425, 297.638), // = ( 70 x 105 ) mm = ( 2.76 x 4.13 ) in + 'PA8' => array( 147.402, 198.425), // = ( 52 x 70 ) mm = ( 2.05 x 2.76 ) in + 'PA9' => array( 99.213, 147.402), // = ( 35 x 52 ) mm = ( 1.38 x 2.05 ) in + 'PA10' => array( 73.701, 99.213), // = ( 26 x 35 ) mm = ( 1.02 x 1.38 ) in + // Standard Photographic Print Sizes + 'PASSPORT_PHOTO' => array( 99.213, 127.559), // = ( 35 x 45 ) mm = ( 1.38 x 1.77 ) in + 'E' => array( 233.858, 340.157), // = ( 82 x 120 ) mm = ( 3.25 x 4.72 ) in + 'L' => array( 252.283, 360.000), // = ( 89 x 127 ) mm = ( 3.50 x 5.00 ) in + '3R' => array( 252.283, 360.000), // = ( 89 x 127 ) mm = ( 3.50 x 5.00 ) in + 'KG' => array( 289.134, 430.866), // = ( 102 x 152 ) mm = ( 4.02 x 5.98 ) in + '4R' => array( 289.134, 430.866), // = ( 102 x 152 ) mm = ( 4.02 x 5.98 ) in + '4D' => array( 340.157, 430.866), // = ( 120 x 152 ) mm = ( 4.72 x 5.98 ) in + '2L' => array( 360.000, 504.567), // = ( 127 x 178 ) mm = ( 5.00 x 7.01 ) in + '5R' => array( 360.000, 504.567), // = ( 127 x 178 ) mm = ( 5.00 x 7.01 ) in + '8P' => array( 430.866, 575.433), // = ( 152 x 203 ) mm = ( 5.98 x 7.99 ) in + '6R' => array( 430.866, 575.433), // = ( 152 x 203 ) mm = ( 5.98 x 7.99 ) in + '6P' => array( 575.433, 720.000), // = ( 203 x 254 ) mm = ( 7.99 x 10.00 ) in + '8R' => array( 575.433, 720.000), // = ( 203 x 254 ) mm = ( 7.99 x 10.00 ) in + '6PW' => array( 575.433, 864.567), // = ( 203 x 305 ) mm = ( 7.99 x 12.01 ) in + 'S8R' => array( 575.433, 864.567), // = ( 203 x 305 ) mm = ( 7.99 x 12.01 ) in + '4P' => array( 720.000, 864.567), // = ( 254 x 305 ) mm = ( 10.00 x 12.01 ) in + '10R' => array( 720.000, 864.567), // = ( 254 x 305 ) mm = ( 10.00 x 12.01 ) in + '4PW' => array( 720.000, 1080.000), // = ( 254 x 381 ) mm = ( 10.00 x 15.00 ) in + 'S10R' => array( 720.000, 1080.000), // = ( 254 x 381 ) mm = ( 10.00 x 15.00 ) in + '11R' => array( 790.866, 1009.134), // = ( 279 x 356 ) mm = ( 10.98 x 14.02 ) in + 'S11R' => array( 790.866, 1224.567), // = ( 279 x 432 ) mm = ( 10.98 x 17.01 ) in + '12R' => array( 864.567, 1080.000), // = ( 305 x 381 ) mm = ( 12.01 x 15.00 ) in + 'S12R' => array( 864.567, 1292.598), // = ( 305 x 456 ) mm = ( 12.01 x 17.95 ) in + // Common Newspaper Sizes + 'NEWSPAPER_BROADSHEET' => array( 2125.984, 1700.787), // = ( 750 x 600 ) mm = ( 29.53 x 23.62 ) in + 'NEWSPAPER_BERLINER' => array( 1332.283, 892.913), // = ( 470 x 315 ) mm = ( 18.50 x 12.40 ) in + 'NEWSPAPER_TABLOID' => array( 1218.898, 793.701), // = ( 430 x 280 ) mm = ( 16.93 x 11.02 ) in + 'NEWSPAPER_COMPACT' => array( 1218.898, 793.701), // = ( 430 x 280 ) mm = ( 16.93 x 11.02 ) in + // Business Cards + 'CREDIT_CARD' => array( 153.014, 242.646), // = ( 54 x 86 ) mm = ( 2.13 x 3.37 ) in + 'BUSINESS_CARD' => array( 153.014, 242.646), // = ( 54 x 86 ) mm = ( 2.13 x 3.37 ) in + 'BUSINESS_CARD_ISO7810' => array( 153.014, 242.646), // = ( 54 x 86 ) mm = ( 2.13 x 3.37 ) in + 'BUSINESS_CARD_ISO216' => array( 147.402, 209.764), // = ( 52 x 74 ) mm = ( 2.05 x 2.91 ) in + 'BUSINESS_CARD_IT' => array( 155.906, 240.945), // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_UK' => array( 155.906, 240.945), // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_FR' => array( 155.906, 240.945), // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_DE' => array( 155.906, 240.945), // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_ES' => array( 155.906, 240.945), // = ( 55 x 85 ) mm = ( 2.17 x 3.35 ) in + 'BUSINESS_CARD_CA' => array( 144.567, 252.283), // = ( 51 x 89 ) mm = ( 2.01 x 3.50 ) in + 'BUSINESS_CARD_US' => array( 144.567, 252.283), // = ( 51 x 89 ) mm = ( 2.01 x 3.50 ) in + 'BUSINESS_CARD_JP' => array( 155.906, 257.953), // = ( 55 x 91 ) mm = ( 2.17 x 3.58 ) in + 'BUSINESS_CARD_HK' => array( 153.071, 255.118), // = ( 54 x 90 ) mm = ( 2.13 x 3.54 ) in + 'BUSINESS_CARD_AU' => array( 155.906, 255.118), // = ( 55 x 90 ) mm = ( 2.17 x 3.54 ) in + 'BUSINESS_CARD_DK' => array( 155.906, 255.118), // = ( 55 x 90 ) mm = ( 2.17 x 3.54 ) in + 'BUSINESS_CARD_SE' => array( 155.906, 255.118), // = ( 55 x 90 ) mm = ( 2.17 x 3.54 ) in + 'BUSINESS_CARD_RU' => array( 141.732, 255.118), // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_CZ' => array( 141.732, 255.118), // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_FI' => array( 141.732, 255.118), // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_HU' => array( 141.732, 255.118), // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + 'BUSINESS_CARD_IL' => array( 141.732, 255.118), // = ( 50 x 90 ) mm = ( 1.97 x 3.54 ) in + // Billboards + '4SHEET' => array( 2880.000, 4320.000), // = ( 1016 x 1524 ) mm = ( 40.00 x 60.00 ) in + '6SHEET' => array( 3401.575, 5102.362), // = ( 1200 x 1800 ) mm = ( 47.24 x 70.87 ) in + '12SHEET' => array( 8640.000, 4320.000), // = ( 3048 x 1524 ) mm = (120.00 x 60.00 ) in + '16SHEET' => array( 5760.000, 8640.000), // = ( 2032 x 3048 ) mm = ( 80.00 x 120.00) in + '32SHEET' => array(11520.000, 8640.000), // = ( 4064 x 3048 ) mm = (160.00 x 120.00) in + '48SHEET' => array(17280.000, 8640.000), // = ( 6096 x 3048 ) mm = (240.00 x 120.00) in + '64SHEET' => array(23040.000, 8640.000), // = ( 8128 x 3048 ) mm = (320.00 x 120.00) in + '96SHEET' => array(34560.000, 8640.000), // = (12192 x 3048 ) mm = (480.00 x 120.00) in + // -- Old European Sizes + // - Old Imperial English Sizes + 'EN_EMPEROR' => array( 3456.000, 5184.000), // = ( 1219 x 1829 ) mm = ( 48.00 x 72.00 ) in + 'EN_ANTIQUARIAN' => array( 2232.000, 3816.000), // = ( 787 x 1346 ) mm = ( 31.00 x 53.00 ) in + 'EN_GRAND_EAGLE' => array( 2070.000, 3024.000), // = ( 730 x 1067 ) mm = ( 28.75 x 42.00 ) in + 'EN_DOUBLE_ELEPHANT' => array( 1926.000, 2880.000), // = ( 679 x 1016 ) mm = ( 26.75 x 40.00 ) in + 'EN_ATLAS' => array( 1872.000, 2448.000), // = ( 660 x 864 ) mm = ( 26.00 x 34.00 ) in + 'EN_COLOMBIER' => array( 1692.000, 2484.000), // = ( 597 x 876 ) mm = ( 23.50 x 34.50 ) in + 'EN_ELEPHANT' => array( 1656.000, 2016.000), // = ( 584 x 711 ) mm = ( 23.00 x 28.00 ) in + 'EN_DOUBLE_DEMY' => array( 1620.000, 2556.000), // = ( 572 x 902 ) mm = ( 22.50 x 35.50 ) in + 'EN_IMPERIAL' => array( 1584.000, 2160.000), // = ( 559 x 762 ) mm = ( 22.00 x 30.00 ) in + 'EN_PRINCESS' => array( 1548.000, 2016.000), // = ( 546 x 711 ) mm = ( 21.50 x 28.00 ) in + 'EN_CARTRIDGE' => array( 1512.000, 1872.000), // = ( 533 x 660 ) mm = ( 21.00 x 26.00 ) in + 'EN_DOUBLE_LARGE_POST' => array( 1512.000, 2376.000), // = ( 533 x 838 ) mm = ( 21.00 x 33.00 ) in + 'EN_ROYAL' => array( 1440.000, 1800.000), // = ( 508 x 635 ) mm = ( 20.00 x 25.00 ) in + 'EN_SHEET' => array( 1404.000, 1692.000), // = ( 495 x 597 ) mm = ( 19.50 x 23.50 ) in + 'EN_HALF_POST' => array( 1404.000, 1692.000), // = ( 495 x 597 ) mm = ( 19.50 x 23.50 ) in + 'EN_SUPER_ROYAL' => array( 1368.000, 1944.000), // = ( 483 x 686 ) mm = ( 19.00 x 27.00 ) in + 'EN_DOUBLE_POST' => array( 1368.000, 2196.000), // = ( 483 x 775 ) mm = ( 19.00 x 30.50 ) in + 'EN_MEDIUM' => array( 1260.000, 1656.000), // = ( 445 x 584 ) mm = ( 17.50 x 23.00 ) in + 'EN_DEMY' => array( 1260.000, 1620.000), // = ( 445 x 572 ) mm = ( 17.50 x 22.50 ) in + 'EN_LARGE_POST' => array( 1188.000, 1512.000), // = ( 419 x 533 ) mm = ( 16.50 x 21.00 ) in + 'EN_COPY_DRAUGHT' => array( 1152.000, 1440.000), // = ( 406 x 508 ) mm = ( 16.00 x 20.00 ) in + 'EN_POST' => array( 1116.000, 1386.000), // = ( 394 x 489 ) mm = ( 15.50 x 19.25 ) in + 'EN_CROWN' => array( 1080.000, 1440.000), // = ( 381 x 508 ) mm = ( 15.00 x 20.00 ) in + 'EN_PINCHED_POST' => array( 1062.000, 1332.000), // = ( 375 x 470 ) mm = ( 14.75 x 18.50 ) in + 'EN_BRIEF' => array( 972.000, 1152.000), // = ( 343 x 406 ) mm = ( 13.50 x 16.00 ) in + 'EN_FOOLSCAP' => array( 972.000, 1224.000), // = ( 343 x 432 ) mm = ( 13.50 x 17.00 ) in + 'EN_SMALL_FOOLSCAP' => array( 954.000, 1188.000), // = ( 337 x 419 ) mm = ( 13.25 x 16.50 ) in + 'EN_POTT' => array( 900.000, 1080.000), // = ( 318 x 381 ) mm = ( 12.50 x 15.00 ) in + // - Old Imperial Belgian Sizes + 'BE_GRAND_AIGLE' => array( 1984.252, 2948.031), // = ( 700 x 1040 ) mm = ( 27.56 x 40.94 ) in + 'BE_COLOMBIER' => array( 1757.480, 2409.449), // = ( 620 x 850 ) mm = ( 24.41 x 33.46 ) in + 'BE_DOUBLE_CARRE' => array( 1757.480, 2607.874), // = ( 620 x 920 ) mm = ( 24.41 x 36.22 ) in + 'BE_ELEPHANT' => array( 1746.142, 2182.677), // = ( 616 x 770 ) mm = ( 24.25 x 30.31 ) in + 'BE_PETIT_AIGLE' => array( 1700.787, 2381.102), // = ( 600 x 840 ) mm = ( 23.62 x 33.07 ) in + 'BE_GRAND_JESUS' => array( 1559.055, 2069.291), // = ( 550 x 730 ) mm = ( 21.65 x 28.74 ) in + 'BE_JESUS' => array( 1530.709, 2069.291), // = ( 540 x 730 ) mm = ( 21.26 x 28.74 ) in + 'BE_RAISIN' => array( 1417.323, 1842.520), // = ( 500 x 650 ) mm = ( 19.69 x 25.59 ) in + 'BE_GRAND_MEDIAN' => array( 1303.937, 1714.961), // = ( 460 x 605 ) mm = ( 18.11 x 23.82 ) in + 'BE_DOUBLE_POSTE' => array( 1233.071, 1601.575), // = ( 435 x 565 ) mm = ( 17.13 x 22.24 ) in + 'BE_COQUILLE' => array( 1218.898, 1587.402), // = ( 430 x 560 ) mm = ( 16.93 x 22.05 ) in + 'BE_PETIT_MEDIAN' => array( 1176.378, 1502.362), // = ( 415 x 530 ) mm = ( 16.34 x 20.87 ) in + 'BE_RUCHE' => array( 1020.472, 1303.937), // = ( 360 x 460 ) mm = ( 14.17 x 18.11 ) in + 'BE_PROPATRIA' => array( 977.953, 1218.898), // = ( 345 x 430 ) mm = ( 13.58 x 16.93 ) in + 'BE_LYS' => array( 898.583, 1125.354), // = ( 317 x 397 ) mm = ( 12.48 x 15.63 ) in + 'BE_POT' => array( 870.236, 1088.504), // = ( 307 x 384 ) mm = ( 12.09 x 15.12 ) in + 'BE_ROSETTE' => array( 765.354, 983.622), // = ( 270 x 347 ) mm = ( 10.63 x 13.66 ) in + // - Old Imperial French Sizes + 'FR_UNIVERS' => array( 2834.646, 3685.039), // = ( 1000 x 1300 ) mm = ( 39.37 x 51.18 ) in + 'FR_DOUBLE_COLOMBIER' => array( 2551.181, 3571.654), // = ( 900 x 1260 ) mm = ( 35.43 x 49.61 ) in + 'FR_GRANDE_MONDE' => array( 2551.181, 3571.654), // = ( 900 x 1260 ) mm = ( 35.43 x 49.61 ) in + 'FR_DOUBLE_SOLEIL' => array( 2267.717, 3401.575), // = ( 800 x 1200 ) mm = ( 31.50 x 47.24 ) in + 'FR_DOUBLE_JESUS' => array( 2154.331, 3174.803), // = ( 760 x 1120 ) mm = ( 29.92 x 44.09 ) in + 'FR_GRAND_AIGLE' => array( 2125.984, 3004.724), // = ( 750 x 1060 ) mm = ( 29.53 x 41.73 ) in + 'FR_PETIT_AIGLE' => array( 1984.252, 2664.567), // = ( 700 x 940 ) mm = ( 27.56 x 37.01 ) in + 'FR_DOUBLE_RAISIN' => array( 1842.520, 2834.646), // = ( 650 x 1000 ) mm = ( 25.59 x 39.37 ) in + 'FR_JOURNAL' => array( 1842.520, 2664.567), // = ( 650 x 940 ) mm = ( 25.59 x 37.01 ) in + 'FR_COLOMBIER_AFFICHE' => array( 1785.827, 2551.181), // = ( 630 x 900 ) mm = ( 24.80 x 35.43 ) in + 'FR_DOUBLE_CAVALIER' => array( 1757.480, 2607.874), // = ( 620 x 920 ) mm = ( 24.41 x 36.22 ) in + 'FR_CLOCHE' => array( 1700.787, 2267.717), // = ( 600 x 800 ) mm = ( 23.62 x 31.50 ) in + 'FR_SOLEIL' => array( 1700.787, 2267.717), // = ( 600 x 800 ) mm = ( 23.62 x 31.50 ) in + 'FR_DOUBLE_CARRE' => array( 1587.402, 2551.181), // = ( 560 x 900 ) mm = ( 22.05 x 35.43 ) in + 'FR_DOUBLE_COQUILLE' => array( 1587.402, 2494.488), // = ( 560 x 880 ) mm = ( 22.05 x 34.65 ) in + 'FR_JESUS' => array( 1587.402, 2154.331), // = ( 560 x 760 ) mm = ( 22.05 x 29.92 ) in + 'FR_RAISIN' => array( 1417.323, 1842.520), // = ( 500 x 650 ) mm = ( 19.69 x 25.59 ) in + 'FR_CAVALIER' => array( 1303.937, 1757.480), // = ( 460 x 620 ) mm = ( 18.11 x 24.41 ) in + 'FR_DOUBLE_COURONNE' => array( 1303.937, 2040.945), // = ( 460 x 720 ) mm = ( 18.11 x 28.35 ) in + 'FR_CARRE' => array( 1275.591, 1587.402), // = ( 450 x 560 ) mm = ( 17.72 x 22.05 ) in + 'FR_COQUILLE' => array( 1247.244, 1587.402), // = ( 440 x 560 ) mm = ( 17.32 x 22.05 ) in + 'FR_DOUBLE_TELLIERE' => array( 1247.244, 1927.559), // = ( 440 x 680 ) mm = ( 17.32 x 26.77 ) in + 'FR_DOUBLE_CLOCHE' => array( 1133.858, 1700.787), // = ( 400 x 600 ) mm = ( 15.75 x 23.62 ) in + 'FR_DOUBLE_POT' => array( 1133.858, 1757.480), // = ( 400 x 620 ) mm = ( 15.75 x 24.41 ) in + 'FR_ECU' => array( 1133.858, 1474.016), // = ( 400 x 520 ) mm = ( 15.75 x 20.47 ) in + 'FR_COURONNE' => array( 1020.472, 1303.937), // = ( 360 x 460 ) mm = ( 14.17 x 18.11 ) in + 'FR_TELLIERE' => array( 963.780, 1247.244), // = ( 340 x 440 ) mm = ( 13.39 x 17.32 ) in + 'FR_POT' => array( 878.740, 1133.858), // = ( 310 x 400 ) mm = ( 12.20 x 15.75 ) in + ); + + + /** + * Get page dimensions from format name. + * @param mixed $format The format name @see self::$page_format
      + * @return array containing page width and height in points + * @since 5.0.010 (2010-05-17) + * @public static + */ + public static function getPageSizeFromFormat($format) { + if (isset(self::$page_formats[$format])) { + return self::$page_formats[$format]; + } + return self::$page_formats['A4']; + } + + /** + * Set page boundaries. + * @param int $page page number + * @param string $type valid values are:
      • 'MediaBox' : the boundaries of the physical medium on which the page shall be displayed or printed;
      • 'CropBox' : the visible region of default user space;
      • 'BleedBox' : the region to which the contents of the page shall be clipped when output in a production environment;
      • 'TrimBox' : the intended dimensions of the finished page after trimming;
      • 'ArtBox' : the page's meaningful content (including potential white space).
      + * @param float $llx lower-left x coordinate in user units. + * @param float $lly lower-left y coordinate in user units. + * @param float $urx upper-right x coordinate in user units. + * @param float $ury upper-right y coordinate in user units. + * @param boolean $points If true uses user units as unit of measure, otherwise uses PDF points. + * @param float $k Scale factor (number of points in user unit). + * @param array $pagedim Array of page dimensions. + * @return array pagedim array of page dimensions. + * @since 5.0.010 (2010-05-17) + * @public static + */ + public static function setPageBoxes($page, $type, $llx, $lly, $urx, $ury, $points, $k, $pagedim=array()) { + if (!isset($pagedim[$page])) { + // initialize array + $pagedim[$page] = array(); + } + if (!in_array($type, self::$pageboxes)) { + return; + } + if ($points) { + $k = 1; + } + $pagedim[$page][$type]['llx'] = ($llx * $k); + $pagedim[$page][$type]['lly'] = ($lly * $k); + $pagedim[$page][$type]['urx'] = ($urx * $k); + $pagedim[$page][$type]['ury'] = ($ury * $k); + return $pagedim; + } + + /** + * Swap X and Y coordinates of page boxes (change page boxes orientation). + * @param int $page page number + * @param array $pagedim Array of page dimensions. + * @return array pagedim array of page dimensions. + * @since 5.0.010 (2010-05-17) + * @public static + */ + public static function swapPageBoxCoordinates($page, $pagedim) { + foreach (self::$pageboxes as $type) { + // swap X and Y coordinates + if (isset($pagedim[$page][$type])) { + $tmp = $pagedim[$page][$type]['llx']; + $pagedim[$page][$type]['llx'] = $pagedim[$page][$type]['lly']; + $pagedim[$page][$type]['lly'] = $tmp; + $tmp = $pagedim[$page][$type]['urx']; + $pagedim[$page][$type]['urx'] = $pagedim[$page][$type]['ury']; + $pagedim[$page][$type]['ury'] = $tmp; + } + } + return $pagedim; + } + + /** + * Get the canonical page layout mode. + * @param string $layout The page layout. Possible values are:
      • SinglePage Display one page at a time
      • OneColumn Display the pages in one column
      • TwoColumnLeft Display the pages in two columns, with odd-numbered pages on the left
      • TwoColumnRight Display the pages in two columns, with odd-numbered pages on the right
      • TwoPageLeft (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the left
      • TwoPageRight (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the right
      + * @return string Canonical page layout name. + * @public static + */ + public static function getPageLayoutMode($layout='SinglePage') { + switch ($layout) { + case 'default': + case 'single': + case 'SinglePage': { + $layout_mode = 'SinglePage'; + break; + } + case 'continuous': + case 'OneColumn': { + $layout_mode = 'OneColumn'; + break; + } + case 'two': + case 'TwoColumnLeft': { + $layout_mode = 'TwoColumnLeft'; + break; + } + case 'TwoColumnRight': { + $layout_mode = 'TwoColumnRight'; + break; + } + case 'TwoPageLeft': { + $layout_mode = 'TwoPageLeft'; + break; + } + case 'TwoPageRight': { + $layout_mode = 'TwoPageRight'; + break; + } + default: { + $layout_mode = 'SinglePage'; + } + } + return $layout_mode; + } + + /** + * Get the canonical page layout mode. + * @param string $mode A name object specifying how the document should be displayed when opened:
      • UseNone Neither document outline nor thumbnail images visible
      • UseOutlines Document outline visible
      • UseThumbs Thumbnail images visible
      • FullScreen Full-screen mode, with no menu bar, window controls, or any other window visible
      • UseOC (PDF 1.5) Optional content group panel visible
      • UseAttachments (PDF 1.6) Attachments panel visible
      + * @return string Canonical page mode name. + * @public static + */ + public static function getPageMode($mode='UseNone') { + switch ($mode) { + case 'UseNone': { + $page_mode = 'UseNone'; + break; + } + case 'UseOutlines': { + $page_mode = 'UseOutlines'; + break; + } + case 'UseThumbs': { + $page_mode = 'UseThumbs'; + break; + } + case 'FullScreen': { + $page_mode = 'FullScreen'; + break; + } + case 'UseOC': { + $page_mode = 'UseOC'; + break; + } + case '': { + $page_mode = 'UseAttachments'; + break; + } + default: { + $page_mode = 'UseNone'; + } + } + return $page_mode; + } + +} // END OF TCPDF_STATIC CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/tcpdf.php b/vendor/tecnickcom/tcpdf/tcpdf.php new file mode 100644 index 0000000..42c425e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tcpdf.php @@ -0,0 +1,24896 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : +// This is a PHP class for generating PDF documents without requiring external extensions. +// +// NOTE: +// This class was originally derived in 2002 from the Public +// Domain FPDF class by Olivier Plathey (http://www.fpdf.org), +// but now is almost entirely rewritten and contains thousands of +// new lines of code and hundreds new features. +// +// Main features: +// * no external libraries are required for the basic functions; +// * all standard page formats, custom page formats, custom margins and units of measure; +// * UTF-8 Unicode and Right-To-Left languages; +// * TrueTypeUnicode, TrueType, Type1 and CID-0 fonts; +// * font subsetting; +// * methods to publish some XHTML + CSS code, Javascript and Forms; +// * images, graphic (geometric figures) and transformation methods; +// * supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImageMagick (http://www.imagemagick.org/www/formats.html) +// * 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417; +// * JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies; +// * automatic page header and footer management; +// * document encryption up to 256 bit and digital signature certifications; +// * transactions to UNDO commands; +// * PDF annotations, including links, text and file attachments; +// * text rendering modes (fill, stroke and clipping); +// * multiple columns mode; +// * no-write page regions; +// * bookmarks, named destinations and table of content; +// * text hyphenation; +// * text stretching and spacing (tracking); +// * automatic page break, line break and text alignments including justification; +// * automatic page numbering and page groups; +// * move and delete pages; +// * page compression (requires php-zlib extension); +// * XOBject Templates; +// * Layers and object visibility. +// * PDF/A-1b support +//============================================================+ + +/** + * @file + * This is a PHP class for generating PDF documents without requiring external extensions.
      + * TCPDF project (http://www.tcpdf.org) was originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
      + *

      TCPDF main features are:

      + *
        + *
      • no external libraries are required for the basic functions;
      • + *
      • all standard page formats, custom page formats, custom margins and units of measure;
      • + *
      • UTF-8 Unicode and Right-To-Left languages;
      • + *
      • TrueTypeUnicode, TrueType, Type1 and CID-0 fonts;
      • + *
      • font subsetting;
      • + *
      • methods to publish some XHTML + CSS code, Javascript and Forms;
      • + *
      • images, graphic (geometric figures) and transformation methods; + *
      • supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImageMagick (http://www.imagemagick.org/www/formats.html)
      • + *
      • 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
      • + *
      • JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
      • + *
      • automatic page header and footer management;
      • + *
      • document encryption up to 256 bit and digital signature certifications;
      • + *
      • transactions to UNDO commands;
      • + *
      • PDF annotations, including links, text and file attachments;
      • + *
      • text rendering modes (fill, stroke and clipping);
      • + *
      • multiple columns mode;
      • + *
      • no-write page regions;
      • + *
      • bookmarks, named destinations and table of content;
      • + *
      • text hyphenation;
      • + *
      • text stretching and spacing (tracking);
      • + *
      • automatic page break, line break and text alignments including justification;
      • + *
      • automatic page numbering and page groups;
      • + *
      • move and delete pages;
      • + *
      • page compression (requires php-zlib extension);
      • + *
      • XOBject Templates;
      • + *
      • Layers and object visibility;
      • + *
      • PDF/A-1b support.
      • + *
      + * Tools to encode your unicode fonts are on fonts/utils directory.

      + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 6.10.0 + */ + +// TCPDF configuration +require_once(dirname(__FILE__).'/tcpdf_autoconfig.php'); +// TCPDF static font methods and data +require_once(dirname(__FILE__).'/include/tcpdf_font_data.php'); +// TCPDF static font methods and data +require_once(dirname(__FILE__).'/include/tcpdf_fonts.php'); +// TCPDF static color methods and data +require_once(dirname(__FILE__).'/include/tcpdf_colors.php'); +// TCPDF static image methods and data +require_once(dirname(__FILE__).'/include/tcpdf_images.php'); +// TCPDF static methods and data +require_once(dirname(__FILE__).'/include/tcpdf_static.php'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/** + * @class TCPDF + * PHP class for generating PDF documents without requiring external extensions. + * TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
      + * @package com.tecnick.tcpdf + * @brief PHP class for generating PDF documents without requiring external extensions. + * @version 6.10.0 + * @author Nicola Asuni - info@tecnick.com + * @IgnoreAnnotation("protected") + * @IgnoreAnnotation("public") + * @IgnoreAnnotation("pre") + */ +class TCPDF { + + // Protected properties + + /** + * Current page number. + * @protected + */ + protected $page; + + /** + * Current object number. + * @protected + */ + protected $n; + + /** + * Array of object offsets. + * @protected + */ + protected $offsets = array(); + + /** + * Array of object IDs for each page. + * @protected + */ + protected $pageobjects = array(); + + /** + * Buffer holding in-memory PDF. + * @protected + */ + protected $buffer; + + /** + * Array containing pages. + * @protected + */ + protected $pages = array(); + + /** + * Current document state. + * @protected + */ + protected $state; + + /** + * Compression flag. + * @protected + */ + protected $compress; + + /** + * Current page orientation (P = Portrait, L = Landscape). + * @protected + */ + protected $CurOrientation; + + /** + * Page dimensions. + * @protected + */ + protected $pagedim = array(); + + /** + * Scale factor (number of points in user unit). + * @protected + */ + protected $k; + + /** + * Width of page format in points. + * @protected + */ + protected $fwPt; + + /** + * Height of page format in points. + * @protected + */ + protected $fhPt; + + /** + * Current width of page in points. + * @protected + */ + protected $wPt; + + /** + * Current height of page in points. + * @protected + */ + protected $hPt; + + /** + * Current width of page in user unit. + * @protected + */ + protected $w; + + /** + * Current height of page in user unit. + * @protected + */ + protected $h; + + /** + * Left margin. + * @protected + */ + protected $lMargin; + + /** + * Right margin. + * @protected + */ + protected $rMargin; + + /** + * Cell left margin (used by regions). + * @protected + */ + protected $clMargin; + + /** + * Cell right margin (used by regions). + * @protected + */ + protected $crMargin; + + /** + * Top margin. + * @protected + */ + protected $tMargin; + + /** + * Page break margin. + * @protected + */ + protected $bMargin; + + /** + * Array of cell internal paddings ('T' => top, 'R' => right, 'B' => bottom, 'L' => left). + * @since 5.9.000 (2010-10-03) + * @protected + */ + protected $cell_padding = array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0); + + /** + * Array of cell margins ('T' => top, 'R' => right, 'B' => bottom, 'L' => left). + * @since 5.9.000 (2010-10-04) + * @protected + */ + protected $cell_margin = array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0); + + /** + * Current horizontal position in user unit for cell positioning. + * @protected + */ + protected $x; + + /** + * Current vertical position in user unit for cell positioning. + * @protected + */ + protected $y; + + /** + * Height of last cell printed. + * @protected + */ + protected $lasth; + + /** + * Line width in user unit. + * @protected + */ + protected $LineWidth; + + /** + * Array of standard font names. + * @protected + */ + protected $CoreFonts; + + /** + * Array of used fonts. + * @protected + */ + protected $fonts = array(); + + /** + * Array of font files. + * @protected + */ + protected $FontFiles = array(); + + /** + * Array of encoding differences. + * @protected + */ + protected $diffs = array(); + + /** + * Array of used images. + * @protected + */ + protected $images = array(); + + /** + * Depth of the svg tag, to keep track if the svg tag is a subtag or the root tag. + * @protected + */ + protected $svg_tag_depth = 0; + + /** + * Array of Annotations in pages. + * @protected + */ + protected $PageAnnots = array(); + + /** + * Array of internal links. + * @protected + */ + protected $links = array(); + + /** + * Current font family. + * @protected + */ + protected $FontFamily; + + /** + * Current font style. + * @protected + */ + protected $FontStyle; + + /** + * Current font ascent (distance between font top and baseline). + * @protected + * @since 2.8.000 (2007-03-29) + */ + protected $FontAscent; + + /** + * Current font descent (distance between font bottom and baseline). + * @protected + * @since 2.8.000 (2007-03-29) + */ + protected $FontDescent; + + /** + * Underlining flag. + * @protected + */ + protected $underline; + + /** + * Overlining flag. + * @protected + */ + protected $overline; + + /** + * Current font info. + * @protected + */ + protected $CurrentFont; + + /** + * Current font size in points. + * @protected + */ + protected $FontSizePt; + + /** + * Current font size in user unit. + * @protected + */ + protected $FontSize; + + /** + * Commands for drawing color. + * @protected + */ + protected $DrawColor; + + /** + * Commands for filling color. + * @protected + */ + protected $FillColor; + + /** + * Commands for text color. + * @protected + */ + protected $TextColor; + + /** + * Indicates whether fill and text colors are different. + * @protected + */ + protected $ColorFlag; + + /** + * Automatic page breaking. + * @protected + */ + protected $AutoPageBreak; + + /** + * Threshold used to trigger page breaks. + * @protected + */ + protected $PageBreakTrigger; + + /** + * Flag set when processing page header. + * @protected + */ + protected $InHeader = false; + + /** + * Flag set when processing page footer. + * @protected + */ + protected $InFooter = false; + + /** + * Zoom display mode. + * @protected + */ + protected $ZoomMode; + + /** + * Layout display mode. + * @protected + */ + protected $LayoutMode; + + /** + * If true set the document information dictionary in Unicode. + * @protected + */ + protected $docinfounicode = true; + + /** + * Document title. + * @protected + */ + protected $title = ''; + + /** + * Document subject. + * @protected + */ + protected $subject = ''; + + /** + * Document author. + * @protected + */ + protected $author = ''; + + /** + * Document keywords. + * @protected + */ + protected $keywords = ''; + + /** + * Document creator. + * @protected + */ + protected $creator = ''; + + /** + * Starting page number. + * @protected + */ + protected $starting_page_number = 1; + + /** + * The right-bottom (or left-bottom for RTL) corner X coordinate of last inserted image. + * @since 2002-07-31 + * @author Nicola Asuni + * @protected + */ + protected $img_rb_x; + + /** + * The right-bottom corner Y coordinate of last inserted image. + * @since 2002-07-31 + * @author Nicola Asuni + * @protected + */ + protected $img_rb_y; + + /** + * Adjusting factor to convert pixels to user units. + * @since 2004-06-14 + * @author Nicola Asuni + * @protected + */ + protected $imgscale = 1; + + /** + * Boolean flag set to true when the input text is unicode (require unicode fonts). + * @since 2005-01-02 + * @author Nicola Asuni + * @protected + */ + protected $isunicode = false; + + /** + * PDF version. + * @since 1.5.3 + * @protected + */ + protected $PDFVersion = '1.7'; + + /** + * ID of the stored default header template (-1 = not set). + * @protected + */ + protected $header_xobjid = false; + + /** + * If true reset the Header Xobject template at each page + * @protected + */ + protected $header_xobj_autoreset = false; + + /** + * Minimum distance between header and top page margin. + * @protected + * @var float + */ + protected $header_margin; + + /** + * Minimum distance between footer and bottom page margin. + * @protected + * @var float + */ + protected $footer_margin; + + /** + * Original left margin value. + * @protected + * @since 1.53.0.TC013 + */ + protected $original_lMargin; + + /** + * Original right margin value. + * @protected + * @since 1.53.0.TC013 + */ + protected $original_rMargin; + + /** + * Default font used on page header. + * @protected + * @var array + * @phpstan-var array{0: string, 1: string, 2: float|null} + */ + protected $header_font; + + /** + * Default font used on page footer. + * @protected + * @var array + * @phpstan-var array{0: string, 1: string, 2: float|null} + */ + protected $footer_font; + + /** + * Language templates. + * @protected + */ + protected $l; + + /** + * Barcode to print on page footer (only if set). + * @protected + */ + protected $barcode = false; + + /** + * Boolean flag to print/hide page header. + * @protected + */ + protected $print_header = true; + + /** + * Boolean flag to print/hide page footer. + * @protected + */ + protected $print_footer = true; + + /** + * Header image logo. + * @protected + */ + protected $header_logo = ''; + + /** + * Width of header image logo in user units. + * @protected + */ + protected $header_logo_width = 30; + + /** + * Title to be printed on default page header. + * @protected + */ + protected $header_title = ''; + + /** + * String to print on page header after title. + * @protected + */ + protected $header_string = ''; + + /** + * Color for header text (RGB array). + * @since 5.9.174 (2012-07-25) + * @protected + * @var int[] + * @phpstan-var array{0: int, 1: int, 2: int} + */ + protected $header_text_color = array(0,0,0); + + /** + * Color for header line (RGB array). + * @since 5.9.174 (2012-07-25) + * @protected + * @var int[] + * @phpstan-var array{0: int, 1: int, 2: int} + */ + protected $header_line_color = array(0,0,0); + + /** + * Color for footer text (RGB array). + * @since 5.9.174 (2012-07-25) + * @protected + * @var int[] + * @phpstan-var array{0: int, 1: int, 2: int} + */ + protected $footer_text_color = array(0,0,0); + + /** + * Color for footer line (RGB array). + * @since 5.9.174 (2012-07-25) + * @protected + * @var int[] + * @phpstan-var array{0: int, 1: int, 2: int} + */ + protected $footer_line_color = array(0,0,0); + + /** + * Text shadow data array. + * @since 5.9.174 (2012-07-25) + * @protected + */ + protected $txtshadow = array('enabled'=>false, 'depth_w'=>0, 'depth_h'=>0, 'color'=>false, 'opacity'=>1, 'blend_mode'=>'Normal'); + + /** + * Default number of columns for html table. + * @protected + */ + protected $default_table_columns = 4; + + // variables for html parser + + /** + * HTML PARSER: array to store current link and rendering styles. + * @protected + */ + protected $HREF = array(); + + /** + * List of available fonts on filesystem. + * @protected + */ + protected $fontlist = array(); + + /** + * Current foreground color. + * @protected + */ + protected $fgcolor; + + /** + * HTML PARSER: array of boolean values, true in case of ordered list (OL), false otherwise. + * @protected + */ + protected $listordered = array(); + + /** + * HTML PARSER: array count list items on nested lists. + * @protected + */ + protected $listcount = array(); + + /** + * HTML PARSER: current list nesting level. + * @protected + */ + protected $listnum = 0; + + /** + * HTML PARSER: indent amount for lists. + * @protected + */ + protected $listindent = 0; + + /** + * HTML PARSER: current list indententation level. + * @protected + */ + protected $listindentlevel = 0; + + /** + * Current background color. + * @protected + */ + protected $bgcolor; + + /** + * Temporary font size in points. + * @protected + */ + protected $tempfontsize = 10; + + /** + * Spacer string for LI tags. + * @protected + */ + protected $lispacer = ''; + + /** + * Default encoding. + * @protected + * @since 1.53.0.TC010 + */ + protected $encoding = 'UTF-8'; + + /** + * Boolean flag to indicate if the document language is Right-To-Left. + * @protected + * @since 2.0.000 + */ + protected $rtl = false; + + /** + * Boolean flag used to force RTL or LTR string direction. + * @protected + * @since 2.0.000 + */ + protected $tmprtl = false; + + // --- Variables used for document encryption: + + /** + * IBoolean flag indicating whether document is protected. + * @protected + * @since 2.0.000 (2008-01-02) + */ + protected $encrypted; + + /** + * Array containing encryption settings. + * @protected + * @since 5.0.005 (2010-05-11) + */ + protected $encryptdata = array(); + + /** + * Last RC4 key encrypted (cached for optimisation). + * @protected + * @since 2.0.000 (2008-01-02) + */ + protected $last_enc_key; + + /** + * Last RC4 computed key. + * @protected + * @since 2.0.000 (2008-01-02) + */ + protected $last_enc_key_c; + + /** + * File ID (used on document trailer). + * @protected + * @since 5.0.005 (2010-05-12) + */ + protected $file_id; + + /** + * Internal secret used to encrypt data. + * @protected + * @since 6.7.5 (2024-03-21) + */ + protected $hash_key; + + // --- bookmark --- + + /** + * Outlines for bookmark. + * @protected + * @since 2.1.002 (2008-02-12) + */ + protected $outlines = array(); + + /** + * Outline root for bookmark. + * @protected + * @since 2.1.002 (2008-02-12) + */ + protected $OutlineRoot; + + // --- javascript and form --- + + /** + * Javascript code. + * @protected + * @since 2.1.002 (2008-02-12) + */ + protected $javascript = ''; + + /** + * Javascript counter. + * @protected + * @since 2.1.002 (2008-02-12) + */ + protected $n_js; + + /** + * line through state + * @protected + * @since 2.8.000 (2008-03-19) + */ + protected $linethrough; + + /** + * Array with additional document-wide usage rights for the document. + * @protected + * @since 5.8.014 (2010-08-23) + */ + protected $ur = array(); + + /** + * DPI (Dot Per Inch) Document Resolution (do not change). + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected $dpi = 72; + + /** + * Array of page numbers were a new page group was started (the page numbers are the keys of the array). + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected $newpagegroup = array(); + + /** + * Array that contains the number of pages in each page group. + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected $pagegroups = array(); + + /** + * Current page group number. + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected $currpagegroup = 0; + + /** + * Array of transparency objects and parameters. + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected $extgstates; + + /** + * Set the default JPEG compression quality (1-100). + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected $jpeg_quality; + + /** + * Default cell height ratio. + * @protected + * @since 3.0.014 (2008-05-23) + * @var float + */ + protected $cell_height_ratio = K_CELL_HEIGHT_RATIO; + + /** + * PDF viewer preferences. + * @protected + * @since 3.1.000 (2008-06-09) + */ + protected $viewer_preferences; + + /** + * A name object specifying how the document should be displayed when opened. + * @protected + * @since 3.1.000 (2008-06-09) + */ + protected $PageMode; + + /** + * Array for storing gradient information. + * @protected + * @since 3.1.000 (2008-06-09) + */ + protected $gradients = array(); + + /** + * Array used to store positions inside the pages buffer (keys are the page numbers). + * @protected + * @since 3.2.000 (2008-06-26) + */ + protected $intmrk = array(); + + /** + * Array used to store positions inside the pages buffer (keys are the page numbers). + * @protected + * @since 5.7.000 (2010-08-03) + */ + protected $bordermrk = array(); + + /** + * Array used to store page positions to track empty pages (keys are the page numbers). + * @protected + * @since 5.8.007 (2010-08-18) + */ + protected $emptypagemrk = array(); + + /** + * Array used to store content positions inside the pages buffer (keys are the page numbers). + * @protected + * @since 4.6.021 (2009-07-20) + */ + protected $cntmrk = array(); + + /** + * Array used to store footer positions of each page. + * @protected + * @since 3.2.000 (2008-07-01) + */ + protected $footerpos = array(); + + /** + * Array used to store footer length of each page. + * @protected + * @since 4.0.014 (2008-07-29) + */ + protected $footerlen = array(); + + /** + * Boolean flag to indicate if a new line is created. + * @protected + * @since 3.2.000 (2008-07-01) + */ + protected $newline = true; + + /** + * End position of the latest inserted line. + * @protected + * @since 3.2.000 (2008-07-01) + */ + protected $endlinex = 0; + + /** + * PDF string for width value of the last line. + * @protected + * @since 4.0.006 (2008-07-16) + */ + protected $linestyleWidth = ''; + + /** + * PDF string for CAP value of the last line. + * @protected + * @since 4.0.006 (2008-07-16) + */ + protected $linestyleCap = '0 J'; + + /** + * PDF string for join value of the last line. + * @protected + * @since 4.0.006 (2008-07-16) + */ + protected $linestyleJoin = '0 j'; + + /** + * PDF string for dash value of the last line. + * @protected + * @since 4.0.006 (2008-07-16) + */ + protected $linestyleDash = '[] 0 d'; + + /** + * Boolean flag to indicate if marked-content sequence is open. + * @protected + * @since 4.0.013 (2008-07-28) + */ + protected $openMarkedContent = false; + + /** + * Count the latest inserted vertical spaces on HTML. + * @protected + * @since 4.0.021 (2008-08-24) + */ + protected $htmlvspace = 0; + + /** + * Array of Spot colors. + * @protected + * @since 4.0.024 (2008-09-12) + */ + protected $spot_colors = array(); + + /** + * Symbol used for HTML unordered list items. + * @protected + * @since 4.0.028 (2008-09-26) + */ + protected $lisymbol = ''; + + /** + * String used to mark the beginning and end of EPS image blocks. + * @protected + * @since 4.1.000 (2008-10-18) + */ + protected $epsmarker = 'x#!#EPS#!#x'; + + /** + * Array of transformation matrix. + * @protected + * @since 4.2.000 (2008-10-29) + */ + protected $transfmatrix = array(); + + /** + * Current key for transformation matrix. + * @protected + * @since 4.8.005 (2009-09-17) + */ + protected $transfmatrix_key = 0; + + /** + * Booklet mode for double-sided pages. + * @protected + * @since 4.2.000 (2008-10-29) + */ + protected $booklet = false; + + /** + * Epsilon value used for float calculations. + * @protected + * @since 4.2.000 (2008-10-29) + */ + protected $feps = 0.005; + + /** + * Array used for custom vertical spaces for HTML tags. + * @protected + * @since 4.2.001 (2008-10-30) + */ + protected $tagvspaces = array(); + + /** + * HTML PARSER: custom indent amount for lists. Negative value means disabled. + * @protected + * @since 4.2.007 (2008-11-12) + */ + protected $customlistindent = -1; + + /** + * Boolean flag to indicate if the border of the cell sides that cross the page should be removed. + * @protected + * @since 4.2.010 (2008-11-14) + */ + protected $opencell = true; + + /** + * Array of files to embedd. + * @protected + * @since 4.4.000 (2008-12-07) + */ + protected $embeddedfiles = array(); + + /** + * Boolean flag to indicate if we are inside a PRE tag. + * @protected + * @since 4.4.001 (2008-12-08) + */ + protected $premode = false; + + /** + * Array used to store positions of graphics transformation blocks inside the page buffer. + * keys are the page numbers + * @protected + * @since 4.4.002 (2008-12-09) + */ + protected $transfmrk = array(); + + /** + * Default color for html links. + * @protected + * @since 4.4.003 (2008-12-09) + */ + protected $htmlLinkColorArray = array(0, 0, 255); + + /** + * Default font style to add to html links. + * @protected + * @since 4.4.003 (2008-12-09) + */ + protected $htmlLinkFontStyle = 'U'; + + /** + * Counts the number of pages. + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected $numpages = 0; + + /** + * Array containing page lengths in bytes. + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected $pagelen = array(); + + /** + * Counts the number of pages. + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected $numimages = 0; + + /** + * Store the image keys. + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected $imagekeys = array(); + + /** + * Length of the buffer in bytes. + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected $bufferlen = 0; + + /** + * Counts the number of fonts. + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected $numfonts = 0; + + /** + * Store the font keys. + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected $fontkeys = array(); + + /** + * Store the font object IDs. + * @protected + * @since 4.8.001 (2009-09-09) + */ + protected $font_obj_ids = array(); + + /** + * Store the fage status (true when opened, false when closed). + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected $pageopen = array(); + + /** + * Default monospace font. + * @protected + * @since 4.5.025 (2009-03-10) + */ + protected $default_monospaced_font = 'courier'; + + /** + * Cloned copy of the current class object. + * @protected + * @since 4.5.029 (2009-03-19) + */ + protected $objcopy; + + /** + * Array used to store the lengths of cache files. + * @protected + * @since 4.5.029 (2009-03-19) + */ + protected $cache_file_length = array(); + + /** + * Table header content to be repeated on each new page. + * @protected + * @since 4.5.030 (2009-03-20) + */ + protected $thead = ''; + + /** + * Margins used for table header. + * @protected + * @since 4.5.030 (2009-03-20) + */ + protected $theadMargins = array(); + + /** + * Boolean flag to enable document digital signature. + * @protected + * @since 4.6.005 (2009-04-24) + */ + protected $sign = false; + + /** + * Digital signature data. + * @protected + * @since 4.6.005 (2009-04-24) + */ + protected $signature_data = array(); + + /** + * Digital signature max length. + * @protected + * @since 4.6.005 (2009-04-24) + */ + protected $signature_max_length = 11742; + + /** + * Data for digital signature appearance. + * @protected + * @since 5.3.011 (2010-06-16) + */ + protected $signature_appearance = array('page' => 1, 'rect' => '0 0 0 0'); + + /** + * Array of empty digital signature appearances. + * @protected + * @since 5.9.101 (2011-07-06) + */ + protected $empty_signature_appearance = array(); + + /** + * Boolean flag to enable document timestamping with TSA. + * @protected + * @since 6.0.085 (2014-06-19) + */ + protected $tsa_timestamp = false; + + /** + * Timestamping data. + * @protected + * @since 6.0.085 (2014-06-19) + */ + protected $tsa_data = array(); + + /** + * Regular expression used to find blank characters (required for word-wrapping). + * @protected + * @since 4.6.006 (2009-04-28) + */ + protected $re_spaces = '/[^\S\xa0]/'; + + /** + * Array of $re_spaces parts. + * @protected + * @since 5.5.011 (2010-07-09) + */ + protected $re_space = array('p' => '[^\S\xa0]', 'm' => ''); + + /** + * Digital signature object ID. + * @protected + * @since 4.6.022 (2009-06-23) + */ + protected $sig_obj_id = 0; + + /** + * ID of page objects. + * @protected + * @since 4.7.000 (2009-08-29) + */ + protected $page_obj_id = array(); + + /** + * List of form annotations IDs. + * @protected + * @since 4.8.000 (2009-09-07) + */ + protected $form_obj_id = array(); + + /** + * Deafult Javascript field properties. Possible values are described on official Javascript for Acrobat API reference. Annotation options can be directly specified using the 'aopt' entry. + * @protected + * @since 4.8.000 (2009-09-07) + */ + protected $default_form_prop = array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 255), 'strokeColor'=>array(128, 128, 128)); + + /** + * Javascript objects array. + * @protected + * @since 4.8.000 (2009-09-07) + */ + protected $js_objects = array(); + + /** + * Current form action (used during XHTML rendering). + * @protected + * @since 4.8.000 (2009-09-07) + */ + protected $form_action = ''; + + /** + * Current form encryption type (used during XHTML rendering). + * @protected + * @since 4.8.000 (2009-09-07) + */ + protected $form_enctype = 'application/x-www-form-urlencoded'; + + /** + * Current method to submit forms. + * @protected + * @since 4.8.000 (2009-09-07) + */ + protected $form_mode = 'post'; + + /** + * List of fonts used on form fields (fontname => fontkey). + * @protected + * @since 4.8.001 (2009-09-09) + */ + protected $annotation_fonts = array(); + + /** + * List of radio buttons parent objects. + * @protected + * @since 4.8.001 (2009-09-09) + */ + protected $radiobutton_groups = array(); + + /** + * List of radio group objects IDs. + * @protected + * @since 4.8.001 (2009-09-09) + */ + protected $radio_groups = array(); + + /** + * Text indentation value (used for text-indent CSS attribute). + * @protected + * @since 4.8.006 (2009-09-23) + */ + protected $textindent = 0; + + /** + * Store page number when startTransaction() is called. + * @protected + * @since 4.8.006 (2009-09-23) + */ + protected $start_transaction_page = 0; + + /** + * Store Y position when startTransaction() is called. + * @protected + * @since 4.9.001 (2010-03-28) + */ + protected $start_transaction_y = 0; + + /** + * True when we are printing the thead section on a new page. + * @protected + * @since 4.8.027 (2010-01-25) + */ + protected $inthead = false; + + /** + * Array of column measures (width, space, starting Y position). + * @protected + * @since 4.9.001 (2010-03-28) + */ + protected $columns = array(); + + /** + * Number of colums. + * @protected + * @since 4.9.001 (2010-03-28) + */ + protected $num_columns = 1; + + /** + * Current column number. + * @protected + * @since 4.9.001 (2010-03-28) + */ + protected $current_column = 0; + + /** + * Starting page for columns. + * @protected + * @since 4.9.001 (2010-03-28) + */ + protected $column_start_page = 0; + + /** + * Maximum page and column selected. + * @protected + * @since 5.8.000 (2010-08-11) + */ + protected $maxselcol = array('page' => 0, 'column' => 0); + + /** + * Array of: X difference between table cell x start and starting page margin, cellspacing, cellpadding. + * @protected + * @since 5.8.000 (2010-08-11) + */ + protected $colxshift = array('x' => 0, 's' => array('H' => 0, 'V' => 0), 'p' => array('L' => 0, 'T' => 0, 'R' => 0, 'B' => 0)); + + /** + * Text rendering mode: 0 = Fill text; 1 = Stroke text; 2 = Fill, then stroke text; 3 = Neither fill nor stroke text (invisible); 4 = Fill text and add to path for clipping; 5 = Stroke text and add to path for clipping; 6 = Fill, then stroke text and add to path for clipping; 7 = Add text to path for clipping. + * @protected + * @since 4.9.008 (2010-04-03) + */ + protected $textrendermode = 0; + + /** + * Text stroke width in doc units. + * @protected + * @since 4.9.008 (2010-04-03) + */ + protected $textstrokewidth = 0; + + /** + * Current stroke color. + * @protected + * @since 4.9.008 (2010-04-03) + */ + protected $strokecolor; + + /** + * Default unit of measure for document. + * @protected + * @since 5.0.000 (2010-04-22) + */ + protected $pdfunit = 'mm'; + + /** + * Boolean flag true when we are on TOC (Table Of Content) page. + * @protected + */ + protected $tocpage = false; + + /** + * Boolean flag: if true convert vector images (SVG, EPS) to raster image using GD or ImageMagick library. + * @protected + * @since 5.0.000 (2010-04-26) + */ + protected $rasterize_vector_images = false; + + /** + * Boolean flag: if true enables font subsetting by default. + * @protected + * @since 5.3.002 (2010-06-07) + */ + protected $font_subsetting = true; + + /** + * Array of default graphic settings. + * @protected + * @since 5.5.008 (2010-07-02) + */ + protected $default_graphic_vars = array(); + + /** + * Array of XObjects. + * @protected + * @since 5.8.014 (2010-08-23) + */ + protected $xobjects = array(); + + /** + * Boolean value true when we are inside an XObject. + * @protected + * @since 5.8.017 (2010-08-24) + */ + protected $inxobj = false; + + /** + * Current XObject ID. + * @protected + * @since 5.8.017 (2010-08-24) + */ + protected $xobjid = ''; + + /** + * Percentage of character stretching. + * @protected + * @since 5.9.000 (2010-09-29) + */ + protected $font_stretching = 100; + + /** + * Increases or decreases the space between characters in a text by the specified amount (tracking). + * @protected + * @since 5.9.000 (2010-09-29) + */ + protected $font_spacing = 0; + + /** + * Array of no-write regions. + * ('page' => page number or empy for current page, 'xt' => X top, 'yt' => Y top, 'xb' => X bottom, 'yb' => Y bottom, 'side' => page side 'L' = left or 'R' = right) + * @protected + * @since 5.9.003 (2010-10-14) + */ + protected $page_regions = array(); + + /** + * Boolean value true when page region check is active. + * @protected + */ + protected $check_page_regions = true; + + /** + * Array of PDF layers data. + * @protected + * @since 5.9.102 (2011-07-13) + */ + protected $pdflayers = array(); + + /** + * A dictionary of names and corresponding destinations (Dests key on document Catalog). + * @protected + * @since 5.9.097 (2011-06-23) + */ + protected $dests = array(); + + /** + * Object ID for Named Destinations + * @protected + * @since 5.9.097 (2011-06-23) + */ + protected $n_dests; + + /** + * Embedded Files Names + * @protected + * @since 5.9.204 (2013-01-23) + */ + protected $efnames = array(); + + /** + * Directory used for the last SVG image. + * @protected + * @since 5.0.000 (2010-05-05) + */ + protected $svgdir = ''; + + /** + * Deafult unit of measure for SVG. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgunit = 'px'; + + /** + * Array of SVG gradients. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svggradients = array(); + + /** + * ID of last SVG gradient. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svggradientid = 0; + + /** + * Boolean value true when in SVG defs group. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgdefsmode = false; + + /** + * Array of SVG defs. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgdefs = array(); + + /** + * Boolean value true when in SVG clipPath tag. + * @protected + * @since 5.0.000 (2010-04-26) + */ + protected $svgclipmode = false; + + /** + * Array of SVG clipPath commands. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgclippaths = array(); + + /** + * Array of SVG clipPath tranformation matrix. + * @protected + * @since 5.8.022 (2010-08-31) + */ + protected $svgcliptm = array(); + + /** + * ID of last SVG clipPath. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgclipid = 0; + + /** + * SVG text. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgtext = ''; + + /** + * SVG text properties. + * @protected + * @since 5.8.013 (2010-08-23) + */ + protected $svgtextmode = array(); + + /** + * Array of SVG properties. + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected $svgstyles = array(array( + 'alignment-baseline' => 'auto', + 'baseline-shift' => 'baseline', + 'clip' => 'auto', + 'clip-path' => 'none', + 'clip-rule' => 'nonzero', + 'color' => 'black', + 'color-interpolation' => 'sRGB', + 'color-interpolation-filters' => 'linearRGB', + 'color-profile' => 'auto', + 'color-rendering' => 'auto', + 'cursor' => 'auto', + 'direction' => 'ltr', + 'display' => 'inline', + 'dominant-baseline' => 'auto', + 'enable-background' => 'accumulate', + 'fill' => 'black', + 'fill-opacity' => 1, + 'fill-rule' => 'nonzero', + 'filter' => 'none', + 'flood-color' => 'black', + 'flood-opacity' => 1, + 'font' => '', + 'font-family' => 'helvetica', + 'font-size' => 'medium', + 'font-size-adjust' => 'none', + 'font-stretch' => 'normal', + 'font-style' => 'normal', + 'font-variant' => 'normal', + 'font-weight' => 'normal', + 'glyph-orientation-horizontal' => '0deg', + 'glyph-orientation-vertical' => 'auto', + 'image-rendering' => 'auto', + 'kerning' => 'auto', + 'letter-spacing' => 'normal', + 'lighting-color' => 'white', + 'marker' => '', + 'marker-end' => 'none', + 'marker-mid' => 'none', + 'marker-start' => 'none', + 'mask' => 'none', + 'opacity' => 1, + 'overflow' => 'auto', + 'pointer-events' => 'visiblePainted', + 'shape-rendering' => 'auto', + 'stop-color' => 'black', + 'stop-opacity' => 1, + 'stroke' => 'none', + 'stroke-dasharray' => 'none', + 'stroke-dashoffset' => 0, + 'stroke-linecap' => 'butt', + 'stroke-linejoin' => 'miter', + 'stroke-miterlimit' => 4, + 'stroke-opacity' => 1, + 'stroke-width' => 1, + 'text-anchor' => 'start', + 'text-decoration' => 'none', + 'text-rendering' => 'auto', + 'unicode-bidi' => 'normal', + 'visibility' => 'visible', + 'word-spacing' => 'normal', + 'writing-mode' => 'lr-tb', + 'text-color' => 'black', + 'transfmatrix' => array(1, 0, 0, 1, 0, 0) + )); + + /** + * If true force sRGB color profile for all document. + * @protected + * @since 5.9.121 (2011-09-28) + */ + protected $force_srgb = false; + + /** + * If true set the document to PDF/A mode. + * @protected + * @since 5.9.121 (2011-09-27) + */ + protected $pdfa_mode = false; + + /** + * version of PDF/A mode (1 - 3). + * @protected + * @since 6.2.26 (2019-03-12) + */ + protected $pdfa_version = 1; + + /** + * Document creation date-time + * @protected + * @since 5.9.152 (2012-03-22) + */ + protected $doc_creation_timestamp; + + /** + * Document modification date-time + * @protected + * @since 5.9.152 (2012-03-22) + */ + protected $doc_modification_timestamp; + + /** + * Custom XMP data. + * @protected + * @since 5.9.128 (2011-10-06) + */ + protected $custom_xmp = ''; + + /** + * Custom XMP RDF data. + * @protected + * @since 6.3.0 (2019-09-19) + */ + protected $custom_xmp_rdf = ''; + + /** + * Custom XMP RDF pdfaextension data. + * @protected + * @since 6.9.0 (2025-02-11) + */ + protected $custom_xmp_rdf_pdfaExtension = ''; + + /** + * Overprint mode array. + * (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008). + * @protected + * @since 5.9.152 (2012-03-23) + * @var array + */ + protected $overprint = array('OP' => false, 'op' => false, 'OPM' => 0); + + /** + * Alpha mode array. + * (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008). + * @protected + * @since 5.9.152 (2012-03-23) + */ + protected $alpha = array('CA' => 1, 'ca' => 1, 'BM' => '/Normal', 'AIS' => false); + + /** + * Define the page boundaries boxes to be set on document. + * @protected + * @since 5.9.152 (2012-03-23) + */ + protected $page_boxes = array('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'); + + /** + * If true print TCPDF meta link. + * @protected + * @since 5.9.152 (2012-03-23) + */ + protected $tcpdflink = true; + + /** + * Cache array for computed GD gamma values. + * @protected + * @since 5.9.1632 (2012-06-05) + */ + protected $gdgammacache = array(); + + /** + * Cache array for file content + * @protected + * @var array + * @since 6.3.5 (2020-09-28) + */ + protected $fileContentCache = array(); + + /** + * Whether to allow local file path in image html tags, when prefixed with file:// + * + * @var bool + * @protected + * @since 6.4 (2020-07-23) + */ + protected $allowLocalFiles = false; + + //------------------------------------------------------------ + // METHODS + //------------------------------------------------------------ + + /** + * This is the class constructor. + * It allows to set up the page format, the orientation and the measure unit used in all the methods (except for the font sizes). + * + * @param string $orientation page orientation. Possible values are (case insensitive):
      • P or Portrait (default)
      • L or Landscape
      • '' (empty string) for automatic orientation
      + * @param string $unit User measure unit. Possible values are:
      • pt: point
      • mm: millimeter (default)
      • cm: centimeter
      • in: inch

      A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This is a very common unit in typography; font sizes are expressed in that unit. + * @param mixed $format The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat(). + * @param boolean $unicode TRUE means that the input text is unicode (default = true) + * @param string $encoding Charset encoding (used only when converting back html entities); default is UTF-8. + * @param boolean $diskcache DEPRECATED FEATURE + * @param false|integer $pdfa If not false, set the document to PDF/A mode and the good version (1 or 3). + * @public + * @see getPageSizeFromFormat(), setPageFormat() + */ + public function __construct($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false, $pdfa=false) { + // set file ID for trailer + $serformat = (is_array($format) ? json_encode($format) : $format); + $this->file_id = md5(TCPDF_STATIC::getRandomSeed('TCPDF'.$orientation.$unit.$serformat.$encoding)); + $this->hash_key = hash_hmac('sha256', TCPDF_STATIC::getRandomSeed($this->file_id), TCPDF_STATIC::getRandomSeed('TCPDF'), false); + $this->font_obj_ids = array(); + $this->page_obj_id = array(); + $this->form_obj_id = array(); + // set pdf/a mode + if ($pdfa != false) { + $this->pdfa_mode = true; + $this->pdfa_version = $pdfa; // 1 or 3 + } else + $this->pdfa_mode = false; + + $this->force_srgb = false; + // set language direction + $this->rtl = false; + $this->tmprtl = false; + // some checks + $this->_dochecks(); + // initialization of properties + $this->isunicode = $unicode; + $this->page = 0; + $this->transfmrk[0] = array(); + $this->pagedim = array(); + $this->n = 2; + $this->buffer = ''; + $this->pages = array(); + $this->state = 0; + $this->fonts = array(); + $this->FontFiles = array(); + $this->diffs = array(); + $this->images = array(); + $this->links = array(); + $this->gradients = array(); + $this->InFooter = false; + $this->lasth = 0; + $this->FontFamily = defined('PDF_FONT_NAME_MAIN')?PDF_FONT_NAME_MAIN:'helvetica'; + $this->FontStyle = ''; + $this->FontSizePt = 12; + $this->underline = false; + $this->overline = false; + $this->linethrough = false; + $this->DrawColor = '0 G'; + $this->FillColor = '0 g'; + $this->TextColor = '0 g'; + $this->ColorFlag = false; + $this->pdflayers = array(); + // encryption values + $this->encrypted = false; + $this->last_enc_key = ''; + // standard Unicode fonts + $this->CoreFonts = array( + 'courier'=>'Courier', + 'courierB'=>'Courier-Bold', + 'courierI'=>'Courier-Oblique', + 'courierBI'=>'Courier-BoldOblique', + 'helvetica'=>'Helvetica', + 'helveticaB'=>'Helvetica-Bold', + 'helveticaI'=>'Helvetica-Oblique', + 'helveticaBI'=>'Helvetica-BoldOblique', + 'times'=>'Times-Roman', + 'timesB'=>'Times-Bold', + 'timesI'=>'Times-Italic', + 'timesBI'=>'Times-BoldItalic', + 'symbol'=>'Symbol', + 'zapfdingbats'=>'ZapfDingbats' + ); + // set scale factor + $this->setPageUnit($unit); + // set page format and orientation + $this->setPageFormat($format, $orientation); + // page margins (1 cm) + $margin = 28.35 / $this->k; + $this->setMargins($margin, $margin); + $this->clMargin = $this->lMargin; + $this->crMargin = $this->rMargin; + // internal cell padding + $cpadding = $margin / 10; + $this->setCellPaddings($cpadding, 0, $cpadding, 0); + // cell margins + $this->setCellMargins(0, 0, 0, 0); + // line width (0.2 mm) + $this->LineWidth = 0.57 / $this->k; + $this->linestyleWidth = sprintf('%F w', ($this->LineWidth * $this->k)); + $this->linestyleCap = '0 J'; + $this->linestyleJoin = '0 j'; + $this->linestyleDash = '[] 0 d'; + // automatic page break + $this->setAutoPageBreak(true, (2 * $margin)); + // full width display mode + $this->setDisplayMode('fullwidth'); + // compression + $this->setCompression(); + // set default PDF version number + $this->setPDFVersion(); + $this->tcpdflink = true; + $this->encoding = $encoding; + $this->HREF = array(); + $this->getFontsList(); + $this->fgcolor = array('R' => 0, 'G' => 0, 'B' => 0); + $this->strokecolor = array('R' => 0, 'G' => 0, 'B' => 0); + $this->bgcolor = array('R' => 255, 'G' => 255, 'B' => 255); + $this->extgstates = array(); + $this->setTextShadow(); + // signature + $this->sign = false; + $this->tsa_timestamp = false; + $this->tsa_data = array(); + $this->signature_appearance = array('page' => 1, 'rect' => '0 0 0 0', 'name' => 'Signature'); + $this->empty_signature_appearance = array(); + // user's rights + $this->ur['enabled'] = false; + $this->ur['document'] = '/FullSave'; + $this->ur['annots'] = '/Create/Delete/Modify/Copy/Import/Export'; + $this->ur['form'] = '/Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate'; + $this->ur['signature'] = '/Modify'; + $this->ur['ef'] = '/Create/Delete/Modify/Import'; + $this->ur['formex'] = ''; + // set default JPEG quality + $this->jpeg_quality = 75; + // initialize some settings + TCPDF_FONTS::utf8Bidi(array(), '', false, $this->isunicode, $this->CurrentFont); + // set default font + $this->setFont($this->FontFamily, $this->FontStyle, $this->FontSizePt); + $this->setHeaderFont(array($this->FontFamily, $this->FontStyle, $this->FontSizePt)); + $this->setFooterFont(array($this->FontFamily, $this->FontStyle, $this->FontSizePt)); + // check if PCRE Unicode support is enabled + if ($this->isunicode AND (@preg_match('/\pL/u', 'a') == 1)) { + // PCRE unicode support is turned ON + // \s : any whitespace character + // \p{Z} : any separator + // \p{Lo} : Unicode letter or ideograph that does not have lowercase and uppercase variants. Is used to chunk chinese words. + // \xa0 : Unicode Character 'NO-BREAK SPACE' (U+00A0) + //$this->setSpacesRE('/(?!\xa0)[\s\p{Z}\p{Lo}]/u'); + $this->setSpacesRE('/(?!\xa0)[\s\p{Z}]/u'); + } else { + // PCRE unicode support is turned OFF + $this->setSpacesRE('/[^\S\xa0]/'); + } + $this->default_form_prop = array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 255), 'strokeColor'=>array(128, 128, 128)); + // set document creation and modification timestamp + $this->doc_creation_timestamp = time(); + $this->doc_modification_timestamp = $this->doc_creation_timestamp; + // get default graphic vars + $this->default_graphic_vars = $this->getGraphicVars(); + $this->header_xobj_autoreset = false; + $this->custom_xmp = ''; + $this->custom_xmp_rdf = ''; + } + + /** + * Default destructor. + * @public + * @since 1.53.0.TC016 + */ + public function __destruct() { + // cleanup + $this->_destroy(true); + } + + /** + * Set the units of measure for the document. + * @param string $unit User measure unit. Possible values are:
      • pt: point
      • mm: millimeter (default)
      • cm: centimeter
      • in: inch

      A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This is a very common unit in typography; font sizes are expressed in that unit. + * @public + * @since 3.0.015 (2008-06-06) + */ + public function setPageUnit($unit) { + $unit = strtolower($unit); + //Set scale factor + switch ($unit) { + // points + case 'px': + case 'pt': { + $this->k = 1; + break; + } + // millimeters + case 'mm': { + $this->k = $this->dpi / 25.4; + break; + } + // centimeters + case 'cm': { + $this->k = $this->dpi / 2.54; + break; + } + // inches + case 'in': { + $this->k = $this->dpi; + break; + } + // unsupported unit + default : { + $this->Error('Incorrect unit: '.$unit); + break; + } + } + $this->pdfunit = $unit; + if (isset($this->CurOrientation)) { + $this->setPageOrientation($this->CurOrientation); + } + } + + /** + * Change the format of the current page + * @param mixed $format The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() documentation or an array of two numbers (width, height) or an array containing the following measures and options:
        + *
      • ['format'] = page format name (one of the above);
      • + *
      • ['Rotate'] : The number of degrees by which the page shall be rotated clockwise when displayed or printed. The value shall be a multiple of 90.
      • + *
      • ['PZ'] : The page's preferred zoom (magnification) factor.
      • + *
      • ['MediaBox'] : the boundaries of the physical medium on which the page shall be displayed or printed:
      • + *
      • ['MediaBox']['llx'] : lower-left x coordinate
      • + *
      • ['MediaBox']['lly'] : lower-left y coordinate
      • + *
      • ['MediaBox']['urx'] : upper-right x coordinate
      • + *
      • ['MediaBox']['ury'] : upper-right y coordinate
      • + *
      • ['CropBox'] : the visible region of default user space:
      • + *
      • ['CropBox']['llx'] : lower-left x coordinate
      • + *
      • ['CropBox']['lly'] : lower-left y coordinate
      • + *
      • ['CropBox']['urx'] : upper-right x coordinate
      • + *
      • ['CropBox']['ury'] : upper-right y coordinate
      • + *
      • ['BleedBox'] : the region to which the contents of the page shall be clipped when output in a production environment:
      • + *
      • ['BleedBox']['llx'] : lower-left x coordinate
      • + *
      • ['BleedBox']['lly'] : lower-left y coordinate
      • + *
      • ['BleedBox']['urx'] : upper-right x coordinate
      • + *
      • ['BleedBox']['ury'] : upper-right y coordinate
      • + *
      • ['TrimBox'] : the intended dimensions of the finished page after trimming:
      • + *
      • ['TrimBox']['llx'] : lower-left x coordinate
      • + *
      • ['TrimBox']['lly'] : lower-left y coordinate
      • + *
      • ['TrimBox']['urx'] : upper-right x coordinate
      • + *
      • ['TrimBox']['ury'] : upper-right y coordinate
      • + *
      • ['ArtBox'] : the extent of the page's meaningful content:
      • + *
      • ['ArtBox']['llx'] : lower-left x coordinate
      • + *
      • ['ArtBox']['lly'] : lower-left y coordinate
      • + *
      • ['ArtBox']['urx'] : upper-right x coordinate
      • + *
      • ['ArtBox']['ury'] : upper-right y coordinate
      • + *
      • ['BoxColorInfo'] :specify the colours and other visual characteristics that should be used in displaying guidelines on the screen for each of the possible page boundaries other than the MediaBox:
      • + *
      • ['BoxColorInfo'][BOXTYPE]['C'] : an array of three numbers in the range 0-255, representing the components in the DeviceRGB colour space.
      • + *
      • ['BoxColorInfo'][BOXTYPE]['W'] : the guideline width in default user units
      • + *
      • ['BoxColorInfo'][BOXTYPE]['S'] : the guideline style: S = Solid; D = Dashed
      • + *
      • ['BoxColorInfo'][BOXTYPE]['D'] : dash array defining a pattern of dashes and gaps to be used in drawing dashed guidelines
      • + *
      • ['trans'] : the style and duration of the visual transition to use when moving from another page to the given page during a presentation
      • + *
      • ['trans']['Dur'] : The page's display duration (also called its advance timing): the maximum length of time, in seconds, that the page shall be displayed during presentations before the viewer application shall automatically advance to the next page.
      • + *
      • ['trans']['S'] : transition style : Split, Blinds, Box, Wipe, Dissolve, Glitter, R, Fly, Push, Cover, Uncover, Fade
      • + *
      • ['trans']['D'] : The duration of the transition effect, in seconds.
      • + *
      • ['trans']['Dm'] : (Split and Blinds transition styles only) The dimension in which the specified transition effect shall occur: H = Horizontal, V = Vertical. Default value: H.
      • + *
      • ['trans']['M'] : (Split, Box and Fly transition styles only) The direction of motion for the specified transition effect: I = Inward from the edges of the page, O = Outward from the center of the pageDefault value: I.
      • + *
      • ['trans']['Di'] : (Wipe, Glitter, Fly, Cover, Uncover and Push transition styles only) The direction in which the specified transition effect shall moves, expressed in degrees counterclockwise starting from a left-to-right direction. If the value is a number, it shall be one of: 0 = Left to right, 90 = Bottom to top (Wipe only), 180 = Right to left (Wipe only), 270 = Top to bottom, 315 = Top-left to bottom-right (Glitter only). If the value is a name, it shall be None, which is relevant only for the Fly transition when the value of SS is not 1.0. Default value: 0.
      • + *
      • ['trans']['SS'] : (Fly transition style only) The starting or ending scale at which the changes shall be drawn. If M specifies an inward transition, the scale of the changes drawn shall progress from SS to 1.0 over the course of the transition. If M specifies an outward transition, the scale of the changes drawn shall progress from 1.0 to SS over the course of the transition. Default: 1.0.
      • + *
      • ['trans']['B'] : (Fly transition style only) If true, the area that shall be flown in is rectangular and opaque. Default: false.
      • + *
      + * @param string $orientation page orientation. Possible values are (case insensitive):
        + *
      • P or Portrait (default)
      • + *
      • L or Landscape
      • + *
      • '' (empty string) for automatic orientation
      • + *
      + * @protected + * @since 3.0.015 (2008-06-06) + * @see getPageSizeFromFormat() + */ + protected function setPageFormat($format, $orientation='P') { + if (!empty($format) AND isset($this->pagedim[$this->page])) { + // remove inherited values + unset($this->pagedim[$this->page]); + } + if (is_string($format)) { + // get page measures from format name + $pf = TCPDF_STATIC::getPageSizeFromFormat($format); + $this->fwPt = $pf[0]; + $this->fhPt = $pf[1]; + } else { + // the boundaries of the physical medium on which the page shall be displayed or printed + if (isset($format['MediaBox'])) { + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'MediaBox', $format['MediaBox']['llx'], $format['MediaBox']['lly'], $format['MediaBox']['urx'], $format['MediaBox']['ury'], false, $this->k, $this->pagedim); + $this->fwPt = (($format['MediaBox']['urx'] - $format['MediaBox']['llx']) * $this->k); + $this->fhPt = (($format['MediaBox']['ury'] - $format['MediaBox']['lly']) * $this->k); + } else { + if (isset($format[0]) AND is_numeric($format[0]) AND isset($format[1]) AND is_numeric($format[1])) { + $pf = array(($format[0] * $this->k), ($format[1] * $this->k)); + } else { + if (!isset($format['format'])) { + // default value + $format['format'] = 'A4'; + } + $pf = TCPDF_STATIC::getPageSizeFromFormat($format['format']); + } + $this->fwPt = $pf[0]; + $this->fhPt = $pf[1]; + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'MediaBox', 0, 0, $this->fwPt, $this->fhPt, true, $this->k, $this->pagedim); + } + // the visible region of default user space + if (isset($format['CropBox'])) { + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'CropBox', $format['CropBox']['llx'], $format['CropBox']['lly'], $format['CropBox']['urx'], $format['CropBox']['ury'], false, $this->k, $this->pagedim); + } + // the region to which the contents of the page shall be clipped when output in a production environment + if (isset($format['BleedBox'])) { + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'BleedBox', $format['BleedBox']['llx'], $format['BleedBox']['lly'], $format['BleedBox']['urx'], $format['BleedBox']['ury'], false, $this->k, $this->pagedim); + } + // the intended dimensions of the finished page after trimming + if (isset($format['TrimBox'])) { + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'TrimBox', $format['TrimBox']['llx'], $format['TrimBox']['lly'], $format['TrimBox']['urx'], $format['TrimBox']['ury'], false, $this->k, $this->pagedim); + } + // the page's meaningful content (including potential white space) + if (isset($format['ArtBox'])) { + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'ArtBox', $format['ArtBox']['llx'], $format['ArtBox']['lly'], $format['ArtBox']['urx'], $format['ArtBox']['ury'], false, $this->k, $this->pagedim); + } + // specify the colours and other visual characteristics that should be used in displaying guidelines on the screen for the various page boundaries + if (isset($format['BoxColorInfo'])) { + $this->pagedim[$this->page]['BoxColorInfo'] = $format['BoxColorInfo']; + } + if (isset($format['Rotate']) AND (($format['Rotate'] % 90) == 0)) { + // The number of degrees by which the page shall be rotated clockwise when displayed or printed. The value shall be a multiple of 90. + $this->pagedim[$this->page]['Rotate'] = intval($format['Rotate']); + } + if (isset($format['PZ'])) { + // The page's preferred zoom (magnification) factor + $this->pagedim[$this->page]['PZ'] = floatval($format['PZ']); + } + if (isset($format['trans'])) { + // The style and duration of the visual transition to use when moving from another page to the given page during a presentation + if (isset($format['trans']['Dur'])) { + // The page's display duration + $this->pagedim[$this->page]['trans']['Dur'] = floatval($format['trans']['Dur']); + } + $stansition_styles = array('Split', 'Blinds', 'Box', 'Wipe', 'Dissolve', 'Glitter', 'R', 'Fly', 'Push', 'Cover', 'Uncover', 'Fade'); + if (isset($format['trans']['S']) AND in_array($format['trans']['S'], $stansition_styles)) { + // The transition style that shall be used when moving to this page from another during a presentation + $this->pagedim[$this->page]['trans']['S'] = $format['trans']['S']; + $valid_effect = array('Split', 'Blinds'); + $valid_vals = array('H', 'V'); + if (isset($format['trans']['Dm']) AND in_array($format['trans']['S'], $valid_effect) AND in_array($format['trans']['Dm'], $valid_vals)) { + $this->pagedim[$this->page]['trans']['Dm'] = $format['trans']['Dm']; + } + $valid_effect = array('Split', 'Box', 'Fly'); + $valid_vals = array('I', 'O'); + if (isset($format['trans']['M']) AND in_array($format['trans']['S'], $valid_effect) AND in_array($format['trans']['M'], $valid_vals)) { + $this->pagedim[$this->page]['trans']['M'] = $format['trans']['M']; + } + $valid_effect = array('Wipe', 'Glitter', 'Fly', 'Cover', 'Uncover', 'Push'); + if (isset($format['trans']['Di']) AND in_array($format['trans']['S'], $valid_effect)) { + if (((($format['trans']['Di'] == 90) OR ($format['trans']['Di'] == 180)) AND ($format['trans']['S'] == 'Wipe')) + OR (($format['trans']['Di'] == 315) AND ($format['trans']['S'] == 'Glitter')) + OR (($format['trans']['Di'] == 0) OR ($format['trans']['Di'] == 270))) { + $this->pagedim[$this->page]['trans']['Di'] = intval($format['trans']['Di']); + } + } + if (isset($format['trans']['SS']) AND ($format['trans']['S'] == 'Fly')) { + $this->pagedim[$this->page]['trans']['SS'] = floatval($format['trans']['SS']); + } + if (isset($format['trans']['B']) AND ($format['trans']['B'] === true) AND ($format['trans']['S'] == 'Fly')) { + $this->pagedim[$this->page]['trans']['B'] = 'true'; + } + } else { + $this->pagedim[$this->page]['trans']['S'] = 'R'; + } + if (isset($format['trans']['D'])) { + // The duration of the transition effect, in seconds + $this->pagedim[$this->page]['trans']['D'] = floatval($format['trans']['D']); + } else { + $this->pagedim[$this->page]['trans']['D'] = 1; + } + } + } + $this->setPageOrientation($orientation); + } + + /** + * Set page orientation. + * @param string $orientation page orientation. Possible values are (case insensitive):
      • P or Portrait (default)
      • L or Landscape
      • '' (empty string) for automatic orientation
      + * @param boolean|null $autopagebreak Boolean indicating if auto-page-break mode should be on or off. + * @param float|null $bottommargin bottom margin of the page. + * @public + * @since 3.0.015 (2008-06-06) + */ + public function setPageOrientation($orientation, $autopagebreak=null, $bottommargin=null) { + if (!isset($this->pagedim[$this->page]['MediaBox'])) { + // the boundaries of the physical medium on which the page shall be displayed or printed + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'MediaBox', 0, 0, $this->fwPt, $this->fhPt, true, $this->k, $this->pagedim); + } + if (!isset($this->pagedim[$this->page]['CropBox'])) { + // the visible region of default user space + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'CropBox', $this->pagedim[$this->page]['MediaBox']['llx'], $this->pagedim[$this->page]['MediaBox']['lly'], $this->pagedim[$this->page]['MediaBox']['urx'], $this->pagedim[$this->page]['MediaBox']['ury'], true, $this->k, $this->pagedim); + } + if (!isset($this->pagedim[$this->page]['BleedBox'])) { + // the region to which the contents of the page shall be clipped when output in a production environment + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'BleedBox', $this->pagedim[$this->page]['CropBox']['llx'], $this->pagedim[$this->page]['CropBox']['lly'], $this->pagedim[$this->page]['CropBox']['urx'], $this->pagedim[$this->page]['CropBox']['ury'], true, $this->k, $this->pagedim); + } + if (!isset($this->pagedim[$this->page]['TrimBox'])) { + // the intended dimensions of the finished page after trimming + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'TrimBox', $this->pagedim[$this->page]['CropBox']['llx'], $this->pagedim[$this->page]['CropBox']['lly'], $this->pagedim[$this->page]['CropBox']['urx'], $this->pagedim[$this->page]['CropBox']['ury'], true, $this->k, $this->pagedim); + } + if (!isset($this->pagedim[$this->page]['ArtBox'])) { + // the page's meaningful content (including potential white space) + $this->pagedim = TCPDF_STATIC::setPageBoxes($this->page, 'ArtBox', $this->pagedim[$this->page]['CropBox']['llx'], $this->pagedim[$this->page]['CropBox']['lly'], $this->pagedim[$this->page]['CropBox']['urx'], $this->pagedim[$this->page]['CropBox']['ury'], true, $this->k, $this->pagedim); + } + if (!isset($this->pagedim[$this->page]['Rotate'])) { + // The number of degrees by which the page shall be rotated clockwise when displayed or printed. The value shall be a multiple of 90. + $this->pagedim[$this->page]['Rotate'] = 0; + } + if (!isset($this->pagedim[$this->page]['PZ'])) { + // The page's preferred zoom (magnification) factor + $this->pagedim[$this->page]['PZ'] = 1; + } + if ($this->fwPt > $this->fhPt) { + // landscape + $default_orientation = 'L'; + } else { + // portrait + $default_orientation = 'P'; + } + $valid_orientations = array('P', 'L'); + if (empty($orientation)) { + $orientation = $default_orientation; + } else { + $orientation = strtoupper($orientation[0]); + } + if (in_array($orientation, $valid_orientations) AND ($orientation != $default_orientation)) { + $this->CurOrientation = $orientation; + $this->wPt = $this->fhPt; + $this->hPt = $this->fwPt; + } else { + $this->CurOrientation = $default_orientation; + $this->wPt = $this->fwPt; + $this->hPt = $this->fhPt; + } + if ((abs($this->pagedim[$this->page]['MediaBox']['urx'] - $this->hPt) < $this->feps) AND (abs($this->pagedim[$this->page]['MediaBox']['ury'] - $this->wPt) < $this->feps)){ + // swap X and Y coordinates (change page orientation) + $this->pagedim = TCPDF_STATIC::swapPageBoxCoordinates($this->page, $this->pagedim); + } + $this->w = ($this->wPt / $this->k); + $this->h = ($this->hPt / $this->k); + if (TCPDF_STATIC::empty_string($autopagebreak)) { + if (isset($this->AutoPageBreak)) { + $autopagebreak = $this->AutoPageBreak; + } else { + $autopagebreak = true; + } + } + if (TCPDF_STATIC::empty_string($bottommargin)) { + if (isset($this->bMargin)) { + $bottommargin = $this->bMargin; + } else { + // default value = 2 cm + $bottommargin = 2 * 28.35 / $this->k; + } + } + $this->setAutoPageBreak($autopagebreak, $bottommargin); + // store page dimensions + $this->pagedim[$this->page]['w'] = $this->wPt; + $this->pagedim[$this->page]['h'] = $this->hPt; + $this->pagedim[$this->page]['wk'] = $this->w; + $this->pagedim[$this->page]['hk'] = $this->h; + $this->pagedim[$this->page]['tm'] = $this->tMargin; + $this->pagedim[$this->page]['bm'] = $bottommargin; + $this->pagedim[$this->page]['lm'] = $this->lMargin; + $this->pagedim[$this->page]['rm'] = $this->rMargin; + $this->pagedim[$this->page]['pb'] = $autopagebreak; + $this->pagedim[$this->page]['or'] = $this->CurOrientation; + $this->pagedim[$this->page]['olm'] = $this->original_lMargin; + $this->pagedim[$this->page]['orm'] = $this->original_rMargin; + } + + /** + * Set regular expression to detect withespaces or word separators. + * The pattern delimiter must be the forward-slash character "/". + * Some example patterns are: + *
      +	 * Non-Unicode or missing PCRE unicode support: "/[^\S\xa0]/"
      +	 * Unicode and PCRE unicode support: "/(?!\xa0)[\s\p{Z}]/u"
      +	 * Unicode and PCRE unicode support in Chinese mode: "/(?!\xa0)[\s\p{Z}\p{Lo}]/u"
      +	 * if PCRE unicode support is turned ON ("\P" is the negate class of "\p"):
      +	 *      \s     : any whitespace character
      +	 *      \p{Z}  : any separator
      +	 *      \p{Lo} : Unicode letter or ideograph that does not have lowercase and uppercase variants. Is used to chunk chinese words.
      +	 *      \xa0   : Unicode Character 'NO-BREAK SPACE' (U+00A0)
      +	 * 
      + * @param string $re regular expression (leave empty for default). + * @public + * @since 4.6.016 (2009-06-15) + */ + public function setSpacesRE($re='/[^\S\xa0]/') { + $this->re_spaces = $re; + $re_parts = explode('/', $re); + // get pattern parts + $this->re_space = array(); + if (isset($re_parts[1]) AND !empty($re_parts[1])) { + $this->re_space['p'] = $re_parts[1]; + } else { + $this->re_space['p'] = '[\s]'; + } + // set pattern modifiers + if (isset($re_parts[2]) AND !empty($re_parts[2])) { + $this->re_space['m'] = $re_parts[2]; + } else { + $this->re_space['m'] = ''; + } + } + + /** + * Enable or disable Right-To-Left language mode + * @param boolean $enable if true enable Right-To-Left language mode. + * @param boolean $resetx if true reset the X position on direction change. + * @public + * @since 2.0.000 (2008-01-03) + */ + public function setRTL($enable, $resetx=true) { + $enable = $enable ? true : false; + $resetx = ($resetx AND ($enable != $this->rtl)); + $this->rtl = $enable; + $this->tmprtl = false; + if ($resetx) { + $this->Ln(0); + } + } + + /** + * Return the RTL status + * @return bool + * @public + * @since 4.0.012 (2008-07-24) + */ + public function getRTL() { + return $this->rtl; + } + + /** + * Force temporary RTL language direction + * @param false|string $mode can be false, 'L' for LTR or 'R' for RTL + * @public + * @since 2.1.000 (2008-01-09) + */ + public function setTempRTL($mode) { + $newmode = false; + switch (strtoupper($mode)) { + case 'LTR': + case 'L': { + if ($this->rtl) { + $newmode = 'L'; + } + break; + } + case 'RTL': + case 'R': { + if (!$this->rtl) { + $newmode = 'R'; + } + break; + } + case false: + default: { + $newmode = false; + break; + } + } + $this->tmprtl = $newmode; + } + + /** + * Return the current temporary RTL status + * @return bool + * @public + * @since 4.8.014 (2009-11-04) + */ + public function isRTLTextDir() { + return ($this->rtl OR ($this->tmprtl == 'R')); + } + + /** + * Set the last cell height. + * @param float $h cell height. + * @author Nicola Asuni + * @public + * @since 1.53.0.TC034 + */ + public function setLastH($h) { + $this->lasth = $h; + } + + /** + * Return the cell height + * @param int $fontsize Font size in internal units + * @param boolean $padding If true add cell padding + * @public + * @return float + */ + public function getCellHeight($fontsize, $padding=TRUE) { + $height = ($fontsize * $this->cell_height_ratio); + if ($padding && !empty($this->cell_padding)) { + $height += ($this->cell_padding['T'] + $this->cell_padding['B']); + } + return round($height, 6); + } + + /** + * Reset the last cell height. + * @public + * @since 5.9.000 (2010-10-03) + */ + public function resetLastH() { + $this->lasth = $this->getCellHeight($this->FontSize); + } + + /** + * Get the last cell height. + * @return float last cell height + * @public + * @since 4.0.017 (2008-08-05) + */ + public function getLastH() { + return $this->lasth; + } + + /** + * Set the adjusting factor to convert pixels to user units. + * @param float $scale adjusting factor to convert pixels to user units. + * @author Nicola Asuni + * @public + * @since 1.5.2 + */ + public function setImageScale($scale) { + $this->imgscale = $scale; + } + + /** + * Returns the adjusting factor to convert pixels to user units. + * @return float adjusting factor to convert pixels to user units. + * @author Nicola Asuni + * @public + * @since 1.5.2 + */ + public function getImageScale() { + return $this->imgscale; + } + + /** + * Returns an array of page dimensions: + *
      • $this->pagedim[$this->page]['w'] = page width in points
      • $this->pagedim[$this->page]['h'] = height in points
      • $this->pagedim[$this->page]['wk'] = page width in user units
      • $this->pagedim[$this->page]['hk'] = page height in user units
      • $this->pagedim[$this->page]['tm'] = top margin
      • $this->pagedim[$this->page]['bm'] = bottom margin
      • $this->pagedim[$this->page]['lm'] = left margin
      • $this->pagedim[$this->page]['rm'] = right margin
      • $this->pagedim[$this->page]['pb'] = auto page break
      • $this->pagedim[$this->page]['or'] = page orientation
      • $this->pagedim[$this->page]['olm'] = original left margin
      • $this->pagedim[$this->page]['orm'] = original right margin
      • $this->pagedim[$this->page]['Rotate'] = The number of degrees by which the page shall be rotated clockwise when displayed or printed. The value shall be a multiple of 90.
      • $this->pagedim[$this->page]['PZ'] = The page's preferred zoom (magnification) factor.
      • $this->pagedim[$this->page]['trans'] : the style and duration of the visual transition to use when moving from another page to the given page during a presentation
        • $this->pagedim[$this->page]['trans']['Dur'] = The page's display duration (also called its advance timing): the maximum length of time, in seconds, that the page shall be displayed during presentations before the viewer application shall automatically advance to the next page.
        • $this->pagedim[$this->page]['trans']['S'] = transition style : Split, Blinds, Box, Wipe, Dissolve, Glitter, R, Fly, Push, Cover, Uncover, Fade
        • $this->pagedim[$this->page]['trans']['D'] = The duration of the transition effect, in seconds.
        • $this->pagedim[$this->page]['trans']['Dm'] = (Split and Blinds transition styles only) The dimension in which the specified transition effect shall occur: H = Horizontal, V = Vertical. Default value: H.
        • $this->pagedim[$this->page]['trans']['M'] = (Split, Box and Fly transition styles only) The direction of motion for the specified transition effect: I = Inward from the edges of the page, O = Outward from the center of the pageDefault value: I.
        • $this->pagedim[$this->page]['trans']['Di'] = (Wipe, Glitter, Fly, Cover, Uncover and Push transition styles only) The direction in which the specified transition effect shall moves, expressed in degrees counterclockwise starting from a left-to-right direction. If the value is a number, it shall be one of: 0 = Left to right, 90 = Bottom to top (Wipe only), 180 = Right to left (Wipe only), 270 = Top to bottom, 315 = Top-left to bottom-right (Glitter only). If the value is a name, it shall be None, which is relevant only for the Fly transition when the value of SS is not 1.0. Default value: 0.
        • $this->pagedim[$this->page]['trans']['SS'] = (Fly transition style only) The starting or ending scale at which the changes shall be drawn. If M specifies an inward transition, the scale of the changes drawn shall progress from SS to 1.0 over the course of the transition. If M specifies an outward transition, the scale of the changes drawn shall progress from 1.0 to SS over the course of the transition. Default: 1.0.
        • $this->pagedim[$this->page]['trans']['B'] = (Fly transition style only) If true, the area that shall be flown in is rectangular and opaque. Default: false.
      • $this->pagedim[$this->page]['MediaBox'] : the boundaries of the physical medium on which the page shall be displayed or printed
        • $this->pagedim[$this->page]['MediaBox']['llx'] = lower-left x coordinate in points
        • $this->pagedim[$this->page]['MediaBox']['lly'] = lower-left y coordinate in points
        • $this->pagedim[$this->page]['MediaBox']['urx'] = upper-right x coordinate in points
        • $this->pagedim[$this->page]['MediaBox']['ury'] = upper-right y coordinate in points
      • $this->pagedim[$this->page]['CropBox'] : the visible region of default user space
        • $this->pagedim[$this->page]['CropBox']['llx'] = lower-left x coordinate in points
        • $this->pagedim[$this->page]['CropBox']['lly'] = lower-left y coordinate in points
        • $this->pagedim[$this->page]['CropBox']['urx'] = upper-right x coordinate in points
        • $this->pagedim[$this->page]['CropBox']['ury'] = upper-right y coordinate in points
      • $this->pagedim[$this->page]['BleedBox'] : the region to which the contents of the page shall be clipped when output in a production environment
        • $this->pagedim[$this->page]['BleedBox']['llx'] = lower-left x coordinate in points
        • $this->pagedim[$this->page]['BleedBox']['lly'] = lower-left y coordinate in points
        • $this->pagedim[$this->page]['BleedBox']['urx'] = upper-right x coordinate in points
        • $this->pagedim[$this->page]['BleedBox']['ury'] = upper-right y coordinate in points
      • $this->pagedim[$this->page]['TrimBox'] : the intended dimensions of the finished page after trimming
        • $this->pagedim[$this->page]['TrimBox']['llx'] = lower-left x coordinate in points
        • $this->pagedim[$this->page]['TrimBox']['lly'] = lower-left y coordinate in points
        • $this->pagedim[$this->page]['TrimBox']['urx'] = upper-right x coordinate in points
        • $this->pagedim[$this->page]['TrimBox']['ury'] = upper-right y coordinate in points
      • $this->pagedim[$this->page]['ArtBox'] : the extent of the page's meaningful content
        • $this->pagedim[$this->page]['ArtBox']['llx'] = lower-left x coordinate in points
        • $this->pagedim[$this->page]['ArtBox']['lly'] = lower-left y coordinate in points
        • $this->pagedim[$this->page]['ArtBox']['urx'] = upper-right x coordinate in points
        • $this->pagedim[$this->page]['ArtBox']['ury'] = upper-right y coordinate in points
      + * @param int|null $pagenum page number (empty = current page) + * @return array of page dimensions. + * @author Nicola Asuni + * @public + * @since 4.5.027 (2009-03-16) + */ + public function getPageDimensions($pagenum=null) { + if (empty($pagenum)) { + $pagenum = $this->page; + } + return $this->pagedim[$pagenum]; + } + + /** + * Returns the page width in units. + * @param int|null $pagenum page number (empty = current page) + * @return int|float page width. + * @author Nicola Asuni + * @public + * @since 1.5.2 + * @see getPageDimensions() + */ + public function getPageWidth($pagenum=null) { + if (empty($pagenum)) { + return $this->w; + } + return $this->pagedim[$pagenum]['w']; + } + + /** + * Returns the page height in units. + * @param int|null $pagenum page number (empty = current page) + * @return int|float page height. + * @author Nicola Asuni + * @public + * @since 1.5.2 + * @see getPageDimensions() + */ + public function getPageHeight($pagenum=null) { + if (empty($pagenum)) { + return $this->h; + } + return $this->pagedim[$pagenum]['h']; + } + + /** + * Returns the page break margin. + * @param int|null $pagenum page number (empty = current page) + * @return int|float page break margin. + * @author Nicola Asuni + * @public + * @since 1.5.2 + * @see getPageDimensions() + */ + public function getBreakMargin($pagenum=null) { + if (empty($pagenum)) { + return $this->bMargin; + } + return $this->pagedim[$pagenum]['bm']; + } + + /** + * Returns the scale factor (number of points in user unit). + * @return int scale factor. + * @author Nicola Asuni + * @public + * @since 1.5.2 + */ + public function getScaleFactor() { + return $this->k; + } + + /** + * Defines the left, top and right margins. + * @param int|float $left Left margin. + * @param int|float $top Top margin. + * @param int|float|null $right Right margin. Default value is the left one. + * @param boolean $keepmargins if true overwrites the default page margins + * @public + * @since 1.0 + * @see SetLeftMargin(), SetTopMargin(), SetRightMargin(), SetAutoPageBreak() + */ + public function setMargins($left, $top, $right=null, $keepmargins=false) { + //Set left, top and right margins + $this->lMargin = $left; + $this->tMargin = $top; + if ($right == -1 OR $right === null) { + $right = $left; + } + $this->rMargin = $right; + if ($keepmargins) { + // overwrite original values + $this->original_lMargin = $this->lMargin; + $this->original_rMargin = $this->rMargin; + } + } + + /** + * Defines the left margin. The method can be called before creating the first page. If the current abscissa gets out of page, it is brought back to the margin. + * @param int|float $margin The margin. + * @public + * @since 1.4 + * @see SetTopMargin(), SetRightMargin(), SetAutoPageBreak(), SetMargins() + */ + public function setLeftMargin($margin) { + //Set left margin + $this->lMargin = $margin; + if (($this->page > 0) AND ($this->x < $margin)) { + $this->x = $margin; + } + } + + /** + * Defines the top margin. The method can be called before creating the first page. + * @param int|float $margin The margin. + * @public + * @since 1.5 + * @see SetLeftMargin(), SetRightMargin(), SetAutoPageBreak(), SetMargins() + */ + public function setTopMargin($margin) { + //Set top margin + $this->tMargin = $margin; + if (($this->page > 0) AND ($this->y < $margin)) { + $this->y = $margin; + } + } + + /** + * Defines the right margin. The method can be called before creating the first page. + * @param int|float $margin The margin. + * @public + * @since 1.5 + * @see SetLeftMargin(), SetTopMargin(), SetAutoPageBreak(), SetMargins() + */ + public function setRightMargin($margin) { + $this->rMargin = $margin; + if (($this->page > 0) AND ($this->x > ($this->w - $margin))) { + $this->x = $this->w - $margin; + } + } + + /** + * Set the same internal Cell padding for top, right, bottom, left- + * @param int|float $pad internal padding. + * @public + * @since 2.1.000 (2008-01-09) + * @see getCellPaddings(), setCellPaddings() + */ + public function setCellPadding($pad) { + if ($pad >= 0) { + $this->cell_padding['L'] = $pad; + $this->cell_padding['T'] = $pad; + $this->cell_padding['R'] = $pad; + $this->cell_padding['B'] = $pad; + } + } + + /** + * Set the internal Cell paddings. + * @param int|float|null $left left padding + * @param int|float|null $top top padding + * @param int|float|null $right right padding + * @param int|float|null $bottom bottom padding + * @public + * @since 5.9.000 (2010-10-03) + * @see getCellPaddings(), SetCellPadding() + */ + public function setCellPaddings($left=null, $top=null, $right=null, $bottom=null) { + if (!TCPDF_STATIC::empty_string($left) AND ($left >= 0)) { + $this->cell_padding['L'] = $left; + } + if (!TCPDF_STATIC::empty_string($top) AND ($top >= 0)) { + $this->cell_padding['T'] = $top; + } + if (!TCPDF_STATIC::empty_string($right) AND ($right >= 0)) { + $this->cell_padding['R'] = $right; + } + if (!TCPDF_STATIC::empty_string($bottom) AND ($bottom >= 0)) { + $this->cell_padding['B'] = $bottom; + } + } + + /** + * Get the internal Cell padding array. + * @return array of padding values + * @public + * @since 5.9.000 (2010-10-03) + * @see setCellPaddings(), SetCellPadding() + */ + public function getCellPaddings() { + return $this->cell_padding; + } + + /** + * Set the internal Cell margins. + * @param int|float|null $left left margin + * @param int|float|null $top top margin + * @param int|float|null $right right margin + * @param int|float|null $bottom bottom margin + * @public + * @since 5.9.000 (2010-10-03) + * @see getCellMargins() + */ + public function setCellMargins($left=null, $top=null, $right=null, $bottom=null) { + if (!TCPDF_STATIC::empty_string($left) AND ($left >= 0)) { + $this->cell_margin['L'] = $left; + } + if (!TCPDF_STATIC::empty_string($top) AND ($top >= 0)) { + $this->cell_margin['T'] = $top; + } + if (!TCPDF_STATIC::empty_string($right) AND ($right >= 0)) { + $this->cell_margin['R'] = $right; + } + if (!TCPDF_STATIC::empty_string($bottom) AND ($bottom >= 0)) { + $this->cell_margin['B'] = $bottom; + } + } + + /** + * Get the internal Cell margin array. + * @return array of margin values + * @public + * @since 5.9.000 (2010-10-03) + * @see setCellMargins() + */ + public function getCellMargins() { + return $this->cell_margin; + } + + /** + * Adjust the internal Cell padding array to take account of the line width. + * @param string|array|int|bool $brd Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @return void|array array of adjustments + * @public + * @since 5.9.000 (2010-10-03) + */ + protected function adjustCellPadding($brd=0) { + if (empty($brd)) { + return; + } + if (is_string($brd)) { + // convert string to array + $slen = strlen($brd); + $newbrd = array(); + for ($i = 0; $i < $slen; ++$i) { + $newbrd[$brd[$i]] = true; + } + $brd = $newbrd; + } elseif ( + ($brd === 1) + || ($brd === true) + || (is_numeric($brd) && ((int)$brd > 0)) + ) { + $brd = array('LRTB' => true); + } + if (!is_array($brd)) { + return; + } + // store current cell padding + $cp = $this->cell_padding; + // select border mode + if (isset($brd['mode'])) { + $mode = $brd['mode']; + unset($brd['mode']); + } else { + $mode = 'normal'; + } + // process borders + foreach ($brd as $border => $style) { + $line_width = $this->LineWidth; + if (is_array($style) && isset($style['width'])) { + // get border width + $line_width = $style['width']; + } + $adj = 0; // line width inside the cell + switch ($mode) { + case 'ext': { + $adj = 0; + break; + } + case 'int': { + $adj = $line_width; + break; + } + case 'normal': + default: { + $adj = ($line_width / 2); + break; + } + } + // correct internal cell padding if required to avoid overlap between text and lines + if ( + is_numeric($this->cell_padding['T']) + && ($this->cell_padding['T'] < $adj) + && (strpos($border, 'T') !== false) + ) { + $this->cell_padding['T'] = $adj; + } + if ( + is_numeric($this->cell_padding['R']) + && ($this->cell_padding['R'] < $adj) + && (strpos($border, 'R') !== false) + ) { + $this->cell_padding['R'] = $adj; + } + if ( + is_numeric($this->cell_padding['B']) + && ($this->cell_padding['B'] < $adj) + && (strpos($border, 'B') !== false) + ) { + $this->cell_padding['B'] = $adj; + } + if ( + is_numeric($this->cell_padding['L']) + && ($this->cell_padding['L'] < $adj) + && (strpos($border, 'L') !== false) + ) { + $this->cell_padding['L'] = $adj; + } + + } + + return array( + 'T' => ($this->cell_padding['T'] - $cp['T']), + 'R' => ($this->cell_padding['R'] - $cp['R']), + 'B' => ($this->cell_padding['B'] - $cp['B']), + 'L' => ($this->cell_padding['L'] - $cp['L']), + ); + } + + /** + * Enables or disables the automatic page breaking mode. When enabling, the second parameter is the distance from the bottom of the page that defines the triggering limit. By default, the mode is on and the margin is 2 cm. + * @param boolean $auto Boolean indicating if mode should be on or off. + * @param float $margin Distance from the bottom of the page. + * @public + * @since 1.0 + * @see Cell(), MultiCell(), AcceptPageBreak() + */ + public function setAutoPageBreak($auto, $margin=0) { + $this->AutoPageBreak = $auto ? true : false; + $this->bMargin = $margin; + $this->PageBreakTrigger = $this->h - $margin; + } + + /** + * Return the auto-page-break mode (true or false). + * @return bool auto-page-break mode + * @public + * @since 5.9.088 + */ + public function getAutoPageBreak() { + return $this->AutoPageBreak; + } + + /** + * Defines the way the document is to be displayed by the viewer. + * @param mixed $zoom The zoom to use. It can be one of the following string values or a number indicating the zooming factor to use.
      • fullpage: displays the entire page on screen
      • fullwidth: uses maximum width of window
      • real: uses real size (equivalent to 100% zoom)
      • default: uses viewer default mode
      + * @param string $layout The page layout. Possible values are:
      • SinglePage Display one page at a time
      • OneColumn Display the pages in one column
      • TwoColumnLeft Display the pages in two columns, with odd-numbered pages on the left
      • TwoColumnRight Display the pages in two columns, with odd-numbered pages on the right
      • TwoPageLeft (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the left
      • TwoPageRight (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the right
      + * @param string $mode A name object specifying how the document should be displayed when opened:
      • UseNone Neither document outline nor thumbnail images visible
      • UseOutlines Document outline visible
      • UseThumbs Thumbnail images visible
      • FullScreen Full-screen mode, with no menu bar, window controls, or any other window visible
      • UseOC (PDF 1.5) Optional content group panel visible
      • UseAttachments (PDF 1.6) Attachments panel visible
      + * @public + * @since 1.2 + */ + public function setDisplayMode($zoom, $layout='SinglePage', $mode='UseNone') { + if (($zoom == 'fullpage') OR ($zoom == 'fullwidth') OR ($zoom == 'real') OR ($zoom == 'default') OR (!is_string($zoom))) { + $this->ZoomMode = $zoom; + } else { + $this->Error('Incorrect zoom display mode: '.$zoom); + } + $this->LayoutMode = TCPDF_STATIC::getPageLayoutMode($layout); + $this->PageMode = TCPDF_STATIC::getPageMode($mode); + } + + /** + * Activates or deactivates page compression. When activated, the internal representation of each page is compressed, which leads to a compression ratio of about 2 for the resulting document. Compression is on by default. + * Note: the Zlib extension is required for this feature. If not present, compression will be turned off. + * @param boolean $compress Boolean indicating if compression must be enabled. + * @public + * @since 1.4 + */ + public function setCompression($compress=true) { + $this->compress = false; + if (function_exists('gzcompress')) { + if ($compress) { + if ( !$this->pdfa_mode) { + $this->compress = true; + } + } + } + } + + /** + * Set flag to force sRGB_IEC61966-2.1 black scaled ICC color profile for the whole document. + * @param boolean $mode If true force sRGB output intent. + * @public + * @since 5.9.121 (2011-09-28) + */ + public function setSRGBmode($mode=false) { + $this->force_srgb = $mode ? true : false; + } + + /** + * Turn on/off Unicode mode for document information dictionary (meta tags). + * This has effect only when unicode mode is set to false. + * @param boolean $unicode if true set the meta information in Unicode + * @since 5.9.027 (2010-12-01) + * @public + */ + public function setDocInfoUnicode($unicode=true) { + $this->docinfounicode = $unicode ? true : false; + } + + /** + * Defines the title of the document. + * @param string $title The title. + * @public + * @since 1.2 + * @see SetAuthor(), SetCreator(), SetKeywords(), SetSubject() + */ + public function setTitle($title) { + $this->title = $title; + } + + /** + * Defines the subject of the document. + * @param string $subject The subject. + * @public + * @since 1.2 + * @see SetAuthor(), SetCreator(), SetKeywords(), SetTitle() + */ + public function setSubject($subject) { + $this->subject = $subject; + } + + /** + * Defines the author of the document. + * @param string $author The name of the author. + * @public + * @since 1.2 + * @see SetCreator(), SetKeywords(), SetSubject(), SetTitle() + */ + public function setAuthor($author) { + $this->author = $author; + } + + /** + * Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'. + * @param string $keywords The list of keywords. + * @public + * @since 1.2 + * @see SetAuthor(), SetCreator(), SetSubject(), SetTitle() + */ + public function setKeywords($keywords) { + $this->keywords = $keywords; + } + + /** + * Defines the creator of the document. This is typically the name of the application that generates the PDF. + * @param string $creator The name of the creator. + * @public + * @since 1.2 + * @see SetAuthor(), SetKeywords(), SetSubject(), SetTitle() + */ + public function setCreator($creator) { + $this->creator = $creator; + } + + /** + * Whether to allow local file path in image html tags, when prefixed with file:// + * + * @param bool $allowLocalFiles true, when local files should be allowed. Otherwise false. + * @public + * @since 6.4 + */ + public function setAllowLocalFiles($allowLocalFiles) { + $this->allowLocalFiles = (bool) $allowLocalFiles; + } + + + /** + * Throw an exception or print an error message and die if the K_TCPDF_PARSER_THROW_EXCEPTION_ERROR constant is set to true. + * @param string $msg The error message + * @public + * @since 1.0 + */ + public function Error($msg) { + // unset all class variables + $this->_destroy(true); + $msg = htmlspecialchars($msg, ENT_QUOTES, 'UTF-8'); + if (defined('K_TCPDF_THROW_EXCEPTION_ERROR') AND !K_TCPDF_THROW_EXCEPTION_ERROR) { + die('TCPDF ERROR: '.$msg); + } else { + throw new Exception('TCPDF ERROR: '.$msg); + } + } + + /** + * This method begins the generation of the PDF document. + * It is not necessary to call it explicitly because AddPage() does it automatically. + * Note: no page is created by this method + * @public + * @since 1.0 + * @see AddPage(), Close() + */ + public function Open() { + $this->state = 1; + } + + /** + * Terminates the PDF document. + * It is not necessary to call this method explicitly because Output() does it automatically. + * If the document contains no page, AddPage() is called to prevent from getting an invalid document. + * @public + * @since 1.0 + * @see Open(), Output() + */ + public function Close() { + if ($this->state == 3) { + return; + } + if ($this->page == 0) { + $this->AddPage(); + } + $this->endLayer(); + if ($this->tcpdflink) { + // save current graphic settings + $gvars = $this->getGraphicVars(); + $this->setEqualColumns(); + $this->lastpage(true); + $this->setAutoPageBreak(false); + $this->x = 0; + $this->y = $this->h - (1 / $this->k); + $this->lMargin = 0; + $this->_outSaveGraphicsState(); + $font = defined('PDF_FONT_NAME_MAIN')?PDF_FONT_NAME_MAIN:'helvetica'; + $this->setFont($font, '', 1); + $this->setTextRenderingMode(0, false, false); + $msg = "\x50\x6f\x77\x65\x72\x65\x64\x20\x62\x79\x20\x54\x43\x50\x44\x46\x20\x28\x77\x77\x77\x2e\x74\x63\x70\x64\x66\x2e\x6f\x72\x67\x29"; + $lnk = "\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x74\x63\x70\x64\x66\x2e\x6f\x72\x67"; + $this->Cell(0, 0, $msg, 0, 0, 'L', 0, $lnk, 0, false, 'D', 'B'); + $this->_outRestoreGraphicsState(); + // restore graphic settings + $this->setGraphicVars($gvars); + } + // close page + $this->endPage(); + // close document + $this->_enddoc(); + // unset all class variables (except critical ones) + $this->_destroy(false); + } + + /** + * Move pointer at the specified document page and update page dimensions. + * @param int $pnum page number (1 ... numpages) + * @param boolean $resetmargins if true reset left, right, top margins and Y position. + * @public + * @since 2.1.000 (2008-01-07) + * @see getPage(), lastpage(), getNumPages() + */ + public function setPage($pnum, $resetmargins=false) { + if (($pnum == $this->page) AND ($this->state == 2)) { + return; + } + if (($pnum > 0) AND ($pnum <= $this->numpages)) { + $this->state = 2; + // save current graphic settings + //$gvars = $this->getGraphicVars(); + $oldpage = $this->page; + $this->page = $pnum; + $this->wPt = $this->pagedim[$this->page]['w']; + $this->hPt = $this->pagedim[$this->page]['h']; + $this->w = $this->pagedim[$this->page]['wk']; + $this->h = $this->pagedim[$this->page]['hk']; + $this->tMargin = $this->pagedim[$this->page]['tm']; + $this->bMargin = $this->pagedim[$this->page]['bm']; + $this->original_lMargin = $this->pagedim[$this->page]['olm']; + $this->original_rMargin = $this->pagedim[$this->page]['orm']; + $this->AutoPageBreak = $this->pagedim[$this->page]['pb']; + $this->CurOrientation = $this->pagedim[$this->page]['or']; + $this->setAutoPageBreak($this->AutoPageBreak, $this->bMargin); + // restore graphic settings + //$this->setGraphicVars($gvars); + if ($resetmargins) { + $this->lMargin = $this->pagedim[$this->page]['olm']; + $this->rMargin = $this->pagedim[$this->page]['orm']; + $this->setY($this->tMargin); + } else { + // account for booklet mode + if ($this->pagedim[$this->page]['olm'] != $this->pagedim[$oldpage]['olm']) { + $deltam = $this->pagedim[$this->page]['olm'] - $this->pagedim[$this->page]['orm']; + $this->lMargin += $deltam; + $this->rMargin -= $deltam; + } + } + } else { + $this->Error('Wrong page number on setPage() function: '.$pnum); + } + } + + /** + * Reset pointer to the last document page. + * @param boolean $resetmargins if true reset left, right, top margins and Y position. + * @public + * @since 2.0.000 (2008-01-04) + * @see setPage(), getPage(), getNumPages() + */ + public function lastPage($resetmargins=false) { + $this->setPage($this->getNumPages(), $resetmargins); + } + + /** + * Get current document page number. + * @return int page number + * @public + * @since 2.1.000 (2008-01-07) + * @see setPage(), lastpage(), getNumPages() + */ + public function getPage() { + return $this->page; + } + + /** + * Get the total number of insered pages. + * @return int number of pages + * @public + * @since 2.1.000 (2008-01-07) + * @see setPage(), getPage(), lastpage() + */ + public function getNumPages() { + return $this->numpages; + } + + /** + * Adds a new TOC (Table Of Content) page to the document. + * @param string $orientation page orientation. + * @param mixed $format The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat(). + * @param boolean $keepmargins if true overwrites the default page margins with the current margins + * @public + * @since 5.0.001 (2010-05-06) + * @see AddPage(), startPage(), endPage(), endTOCPage() + */ + public function addTOCPage($orientation='', $format='', $keepmargins=false) { + $this->AddPage($orientation, $format, $keepmargins, true); + } + + /** + * Terminate the current TOC (Table Of Content) page + * @public + * @since 5.0.001 (2010-05-06) + * @see AddPage(), startPage(), endPage(), addTOCPage() + */ + public function endTOCPage() { + $this->endPage(true); + } + + /** + * Adds a new page to the document. If a page is already present, the Footer() method is called first to output the footer (if enabled). Then the page is added, the current position set to the top-left corner according to the left and top margins (or top-right if in RTL mode), and Header() is called to display the header (if enabled). + * The origin of the coordinate system is at the top-left corner (or top-right for RTL) and increasing ordinates go downwards. + * @param string $orientation page orientation. Possible values are (case insensitive):
      • P or PORTRAIT (default)
      • L or LANDSCAPE
      + * @param mixed $format The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat(). + * @param boolean $keepmargins if true overwrites the default page margins with the current margins + * @param boolean $tocpage if true set the tocpage state to true (the added page will be used to display Table Of Content). + * @public + * @since 1.0 + * @see startPage(), endPage(), addTOCPage(), endTOCPage(), getPageSizeFromFormat(), setPageFormat() + */ + public function AddPage($orientation='', $format='', $keepmargins=false, $tocpage=false) { + if ($this->inxobj) { + // we are inside an XObject template + return; + } + if (!isset($this->original_lMargin) OR $keepmargins) { + $this->original_lMargin = $this->lMargin; + } + if (!isset($this->original_rMargin) OR $keepmargins) { + $this->original_rMargin = $this->rMargin; + } + // terminate previous page + $this->endPage(); + // start new page + $this->startPage($orientation, $format, $tocpage); + } + + /** + * Terminate the current page + * @param boolean $tocpage if true set the tocpage state to false (end the page used to display Table Of Content). + * @public + * @since 4.2.010 (2008-11-14) + * @see AddPage(), startPage(), addTOCPage(), endTOCPage() + */ + public function endPage($tocpage=false) { + // check if page is already closed + if (($this->page == 0) OR ($this->numpages > $this->page) OR (!$this->pageopen[$this->page])) { + return; + } + // print page footer + $this->setFooter(); + // close page + $this->_endpage(); + // mark page as closed + $this->pageopen[$this->page] = false; + if ($tocpage) { + $this->tocpage = false; + } + } + + /** + * Starts a new page to the document. The page must be closed using the endPage() function. + * The origin of the coordinate system is at the top-left corner and increasing ordinates go downwards. + * @param string $orientation page orientation. Possible values are (case insensitive):
      • P or PORTRAIT (default)
      • L or LANDSCAPE
      + * @param mixed $format The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat(). + * @param boolean $tocpage if true the page is designated to contain the Table-Of-Content. + * @since 4.2.010 (2008-11-14) + * @see AddPage(), endPage(), addTOCPage(), endTOCPage(), getPageSizeFromFormat(), setPageFormat() + * @public + */ + public function startPage($orientation='', $format='', $tocpage=false) { + if ($tocpage) { + $this->tocpage = true; + } + // move page numbers of documents to be attached + if ($this->tocpage) { + // move reference to unexistent pages (used for page attachments) + // adjust outlines + $tmpoutlines = $this->outlines; + foreach ($tmpoutlines as $key => $outline) { + if (!$outline['f'] AND ($outline['p'] > $this->numpages)) { + $this->outlines[$key]['p'] = ($outline['p'] + 1); + } + } + // adjust dests + $tmpdests = $this->dests; + foreach ($tmpdests as $key => $dest) { + if (!$dest['f'] AND ($dest['p'] > $this->numpages)) { + $this->dests[$key]['p'] = ($dest['p'] + 1); + } + } + // adjust links + $tmplinks = $this->links; + foreach ($tmplinks as $key => $link) { + if (!$link['f'] AND ($link['p'] > $this->numpages)) { + $this->links[$key]['p'] = ($link['p'] + 1); + } + } + } + if ($this->numpages > $this->page) { + // this page has been already added + $this->setPage($this->page + 1); + $this->setY($this->tMargin); + return; + } + // start a new page + if ($this->state == 0) { + $this->Open(); + } + ++$this->numpages; + $this->swapMargins($this->booklet); + // save current graphic settings + $gvars = $this->getGraphicVars(); + // start new page + $this->_beginpage($orientation, $format); + // mark page as open + $this->pageopen[$this->page] = true; + // restore graphic settings + $this->setGraphicVars($gvars); + // mark this point + $this->setPageMark(); + // print page header + $this->setHeader(); + // restore graphic settings + $this->setGraphicVars($gvars); + // mark this point + $this->setPageMark(); + // print table header (if any) + $this->setTableHeader(); + // set mark for empty page check + $this->emptypagemrk[$this->page]= $this->pagelen[$this->page]; + } + + /** + * Set start-writing mark on current page stream used to put borders and fills. + * Borders and fills are always created after content and inserted on the position marked by this method. + * This function must be called after calling Image() function for a background image. + * Background images must be always inserted before calling Multicell() or WriteHTMLCell() or WriteHTML() functions. + * @public + * @since 4.0.016 (2008-07-30) + */ + public function setPageMark() { + $this->intmrk[$this->page] = $this->pagelen[$this->page]; + $this->bordermrk[$this->page] = $this->intmrk[$this->page]; + $this->setContentMark(); + } + + /** + * Set start-writing mark on selected page. + * Borders and fills are always created after content and inserted on the position marked by this method. + * @param int $page page number (default is the current page) + * @protected + * @since 4.6.021 (2009-07-20) + */ + protected function setContentMark($page=0) { + if ($page <= 0) { + $page = $this->page; + } + if (isset($this->footerlen[$page])) { + $this->cntmrk[$page] = $this->pagelen[$page] - $this->footerlen[$page]; + } else { + $this->cntmrk[$page] = $this->pagelen[$page]; + } + } + + /** + * Set header data. + * @param string $ln header image logo + * @param int $lw header image logo width in mm + * @param string $ht string to print as title on document header + * @param string $hs string to print on document header + * @param int[] $tc RGB array color for text. + * @param int[] $lc RGB array color for line. + * @public + */ + public function setHeaderData($ln='', $lw=0, $ht='', $hs='', $tc=array(0,0,0), $lc=array(0,0,0)) { + $this->header_logo = $ln; + $this->header_logo_width = $lw; + $this->header_title = $ht; + $this->header_string = $hs; + $this->header_text_color = $tc; + $this->header_line_color = $lc; + } + + /** + * Set footer data. + * @param int[] $tc RGB array color for text. + * @param int[] $lc RGB array color for line. + * @public + */ + public function setFooterData($tc=array(0,0,0), $lc=array(0,0,0)) { + $this->footer_text_color = $tc; + $this->footer_line_color = $lc; + } + + /** + * Returns header data: + *
      • $ret['logo'] = logo image
      • $ret['logo_width'] = width of the image logo in user units
      • $ret['title'] = header title
      • $ret['string'] = header description string
      + * @return array + * @public + * @since 4.0.012 (2008-07-24) + */ + public function getHeaderData() { + $ret = array(); + $ret['logo'] = $this->header_logo; + $ret['logo_width'] = $this->header_logo_width; + $ret['title'] = $this->header_title; + $ret['string'] = $this->header_string; + $ret['text_color'] = $this->header_text_color; + $ret['line_color'] = $this->header_line_color; + return $ret; + } + + /** + * Set header margin. + * (minimum distance between header and top page margin) + * @param float $hm distance in user units + * @public + */ + public function setHeaderMargin($hm=10) { + $this->header_margin = $hm; + } + + /** + * Returns header margin in user units. + * @return float + * @since 4.0.012 (2008-07-24) + * @public + */ + public function getHeaderMargin() { + return $this->header_margin; + } + + /** + * Set footer margin. + * (minimum distance between footer and bottom page margin) + * @param float $fm distance in user units + * @public + */ + public function setFooterMargin($fm=10) { + $this->footer_margin = $fm; + } + + /** + * Returns footer margin in user units. + * @return float + * @since 4.0.012 (2008-07-24) + * @public + */ + public function getFooterMargin() { + return $this->footer_margin; + } + /** + * Set a flag to print page header. + * @param boolean $val set to true to print the page header (default), false otherwise. + * @public + */ + public function setPrintHeader($val=true) { + $this->print_header = $val ? true : false; + } + + /** + * Set a flag to print page footer. + * @param boolean $val set to true to print the page footer (default), false otherwise. + * @public + */ + public function setPrintFooter($val=true) { + $this->print_footer = $val ? true : false; + } + + /** + * Return the right-bottom (or left-bottom for RTL) corner X coordinate of last inserted image + * @return float + * @public + */ + public function getImageRBX() { + return $this->img_rb_x; + } + + /** + * Return the right-bottom (or left-bottom for RTL) corner Y coordinate of last inserted image + * @return float + * @public + */ + public function getImageRBY() { + return $this->img_rb_y; + } + + /** + * Reset the xobject template used by Header() method. + * @public + */ + public function resetHeaderTemplate() { + $this->header_xobjid = false; + } + + /** + * Set a flag to automatically reset the xobject template used by Header() method at each page. + * @param boolean $val set to true to reset Header xobject template at each page, false otherwise. + * @public + */ + public function setHeaderTemplateAutoreset($val=true) { + $this->header_xobj_autoreset = $val ? true : false; + } + + /** + * This method is used to render the page header. + * It is automatically called by AddPage() and could be overwritten in your own inherited class. + * @public + */ + public function Header() { + if ($this->header_xobjid === false) { + // start a new XObject Template + $this->header_xobjid = $this->startTemplate($this->w, $this->tMargin); + $headerfont = $this->getHeaderFont(); + $headerdata = $this->getHeaderData(); + $this->y = $this->header_margin; + if ($this->rtl) { + $this->x = $this->w - $this->original_rMargin; + } else { + $this->x = $this->original_lMargin; + } + if (($headerdata['logo']) AND ($headerdata['logo'] != K_BLANK_IMAGE)) { + $imgtype = TCPDF_IMAGES::getImageFileType(K_PATH_IMAGES.$headerdata['logo']); + if (($imgtype == 'eps') OR ($imgtype == 'ai')) { + $this->ImageEps(K_PATH_IMAGES.$headerdata['logo'], '', '', $headerdata['logo_width']); + } elseif ($imgtype == 'svg') { + $this->ImageSVG(K_PATH_IMAGES.$headerdata['logo'], '', '', $headerdata['logo_width']); + } else { + $this->Image(K_PATH_IMAGES.$headerdata['logo'], '', '', $headerdata['logo_width']); + } + $imgy = $this->getImageRBY(); + } else { + $imgy = $this->y; + } + $cell_height = $this->getCellHeight($headerfont[2] / $this->k); + // set starting margin for text data cell + if ($this->getRTL()) { + $header_x = $this->original_rMargin + ($headerdata['logo_width'] * 1.1); + } else { + $header_x = $this->original_lMargin + ($headerdata['logo_width'] * 1.1); + } + $cw = $this->w - $this->original_lMargin - $this->original_rMargin - ($headerdata['logo_width'] * 1.1); + $this->setTextColorArray($this->header_text_color); + // header title + $this->setFont($headerfont[0], 'B', $headerfont[2] + 1); + $this->setX($header_x); + $this->Cell($cw, $cell_height, $headerdata['title'], 0, 1, '', 0, '', 0); + // header string + $this->setFont($headerfont[0], $headerfont[1], $headerfont[2]); + $this->setX($header_x); + $this->MultiCell($cw, $cell_height, $headerdata['string'], 0, '', 0, 1, '', '', true, 0, false, true, 0, 'T', false); + // print an ending header line + $this->setLineStyle(array('width' => 0.85 / $this->k, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => $headerdata['line_color'])); + $this->setY((2.835 / $this->k) + max($imgy, $this->y)); + if ($this->rtl) { + $this->setX($this->original_rMargin); + } else { + $this->setX($this->original_lMargin); + } + $this->Cell(($this->w - $this->original_lMargin - $this->original_rMargin), 0, '', 'T', 0, 'C'); + $this->endTemplate(); + } + // print header template + $x = 0; + $dx = 0; + if (!$this->header_xobj_autoreset AND $this->booklet AND (($this->page % 2) == 0)) { + // adjust margins for booklet mode + $dx = ($this->original_lMargin - $this->original_rMargin); + } + if ($this->rtl) { + $x = $this->w + $dx; + } else { + $x = 0 + $dx; + } + $this->printTemplate($this->header_xobjid, $x, 0, 0, 0, '', '', false); + if ($this->header_xobj_autoreset) { + // reset header xobject template at each page + $this->header_xobjid = false; + } + } + + /** + * This method is used to render the page footer. + * It is automatically called by AddPage() and could be overwritten in your own inherited class. + * @public + */ + public function Footer() { + $cur_y = $this->y; + $this->setTextColorArray($this->footer_text_color); + //set style for cell border + $line_width = (0.85 / $this->k); + $this->setLineStyle(array('width' => $line_width, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => $this->footer_line_color)); + //print document barcode + $barcode = $this->getBarcode(); + if (!empty($barcode)) { + $this->Ln($line_width); + $barcode_width = round(($this->w - $this->original_lMargin - $this->original_rMargin) / 3); + $style = array( + 'position' => $this->rtl?'R':'L', + 'align' => $this->rtl?'R':'L', + 'stretch' => false, + 'fitwidth' => true, + 'cellfitalign' => '', + 'border' => false, + 'padding' => 0, + 'fgcolor' => array(0,0,0), + 'bgcolor' => false, + 'text' => false + ); + $this->write1DBarcode($barcode, 'C128', '', $cur_y + $line_width, '', (($this->footer_margin / 3) - $line_width), 0.3, $style, ''); + } + $w_page = isset($this->l['w_page']) ? $this->l['w_page'].' ' : ''; + if (empty($this->pagegroups)) { + $pagenumtxt = $w_page.$this->getAliasNumPage().' / '.$this->getAliasNbPages(); + } else { + $pagenumtxt = $w_page.$this->getPageNumGroupAlias().' / '.$this->getPageGroupAlias(); + } + $this->setY($cur_y); + //Print page number + if ($this->getRTL()) { + $this->setX($this->original_rMargin); + $this->Cell(0, 0, $pagenumtxt, 'T', 0, 'L'); + } else { + $this->setX($this->original_lMargin); + $this->Cell(0, 0, $this->getAliasRightShift().$pagenumtxt, 'T', 0, 'R'); + } + } + + /** + * This method is used to render the page header. + * @protected + * @since 4.0.012 (2008-07-24) + */ + protected function setHeader() { + if (!$this->print_header OR ($this->state != 2)) { + return; + } + $this->InHeader = true; + $this->setGraphicVars($this->default_graphic_vars); + $temp_thead = $this->thead; + $temp_theadMargins = $this->theadMargins; + $lasth = $this->lasth; + $newline = $this->newline; + $this->_outSaveGraphicsState(); + $this->rMargin = $this->original_rMargin; + $this->lMargin = $this->original_lMargin; + $this->setCellPadding(0); + //set current position + if ($this->rtl) { + $this->setXY($this->original_rMargin, $this->header_margin); + } else { + $this->setXY($this->original_lMargin, $this->header_margin); + } + $this->setFont($this->header_font[0], $this->header_font[1], $this->header_font[2]); + $this->Header(); + //restore position + if ($this->rtl) { + $this->setXY($this->original_rMargin, $this->tMargin); + } else { + $this->setXY($this->original_lMargin, $this->tMargin); + } + $this->_outRestoreGraphicsState(); + $this->lasth = $lasth; + $this->thead = $temp_thead; + $this->theadMargins = $temp_theadMargins; + $this->newline = $newline; + $this->InHeader = false; + } + + /** + * This method is used to render the page footer. + * @protected + * @since 4.0.012 (2008-07-24) + */ + protected function setFooter() { + if ($this->state != 2) { + return; + } + $this->InFooter = true; + // save current graphic settings + $gvars = $this->getGraphicVars(); + // mark this point + $this->footerpos[$this->page] = $this->pagelen[$this->page]; + $this->_out("\n"); + if ($this->print_footer) { + $this->setGraphicVars($this->default_graphic_vars); + $this->current_column = 0; + $this->num_columns = 1; + $temp_thead = $this->thead; + $temp_theadMargins = $this->theadMargins; + $lasth = $this->lasth; + $this->_outSaveGraphicsState(); + $this->rMargin = $this->original_rMargin; + $this->lMargin = $this->original_lMargin; + $this->setCellPadding(0); + //set current position + $footer_y = $this->h - $this->footer_margin; + if ($this->rtl) { + $this->setXY($this->original_rMargin, $footer_y); + } else { + $this->setXY($this->original_lMargin, $footer_y); + } + $this->setFont($this->footer_font[0], $this->footer_font[1], $this->footer_font[2]); + $this->Footer(); + //restore position + if ($this->rtl) { + $this->setXY($this->original_rMargin, $this->tMargin); + } else { + $this->setXY($this->original_lMargin, $this->tMargin); + } + $this->_outRestoreGraphicsState(); + $this->lasth = $lasth; + $this->thead = $temp_thead; + $this->theadMargins = $temp_theadMargins; + } + // restore graphic settings + $this->setGraphicVars($gvars); + $this->current_column = $gvars['current_column']; + $this->num_columns = $gvars['num_columns']; + // calculate footer length + $this->footerlen[$this->page] = $this->pagelen[$this->page] - $this->footerpos[$this->page] + 1; + $this->InFooter = false; + } + + /** + * Check if we are on the page body (excluding page header and footer). + * @return bool true if we are not in page header nor in page footer, false otherwise. + * @protected + * @since 5.9.091 (2011-06-15) + */ + protected function inPageBody() { + return (($this->InHeader === false) AND ($this->InFooter === false)); + } + + /** + * This method is used to render the table header on new page (if any). + * @protected + * @since 4.5.030 (2009-03-25) + */ + protected function setTableHeader() { + if ($this->num_columns > 1) { + // multi column mode + return; + } + if (isset($this->theadMargins['top'])) { + // restore the original top-margin + $this->tMargin = $this->theadMargins['top']; + $this->pagedim[$this->page]['tm'] = $this->tMargin; + $this->y = $this->tMargin; + } + if (!TCPDF_STATIC::empty_string($this->thead) AND (!$this->inthead)) { + // set margins + $prev_lMargin = $this->lMargin; + $prev_rMargin = $this->rMargin; + $prev_cell_padding = $this->cell_padding; + $this->lMargin = $this->theadMargins['lmargin'] + ($this->pagedim[$this->page]['olm'] - $this->pagedim[$this->theadMargins['page']]['olm']); + $this->rMargin = $this->theadMargins['rmargin'] + ($this->pagedim[$this->page]['orm'] - $this->pagedim[$this->theadMargins['page']]['orm']); + $this->cell_padding = $this->theadMargins['cell_padding']; + if ($this->rtl) { + $this->x = $this->w - $this->rMargin; + } else { + $this->x = $this->lMargin; + } + // account for special "cell" mode + if ($this->theadMargins['cell']) { + if ($this->rtl) { + $this->x -= $this->cell_padding['R']; + } else { + $this->x += $this->cell_padding['L']; + } + } + $gvars = $this->getGraphicVars(); + if (!empty($this->theadMargins['gvars'])) { + // set the correct graphic style + $this->setGraphicVars($this->theadMargins['gvars']); + $this->rMargin = $gvars['rMargin']; + $this->lMargin = $gvars['lMargin']; + } + // print table header + $this->writeHTML($this->thead, false, false, false, false, ''); + $this->setGraphicVars($gvars); + // set new top margin to skip the table headers + if (!isset($this->theadMargins['top'])) { + $this->theadMargins['top'] = $this->tMargin; + } + // store end of header position + if (!isset($this->columns[0]['th'])) { + $this->columns[0]['th'] = array(); + } + $this->columns[0]['th']['\''.$this->page.'\''] = $this->y; + $this->tMargin = $this->y; + $this->pagedim[$this->page]['tm'] = $this->tMargin; + $this->lasth = 0; + $this->lMargin = $prev_lMargin; + $this->rMargin = $prev_rMargin; + $this->cell_padding = $prev_cell_padding; + } + } + + /** + * Returns the current page number. + * @return int page number + * @public + * @since 1.0 + * @see getAliasNbPages() + */ + public function PageNo() { + return $this->page; + } + + /** + * Returns the array of spot colors. + * @return array Spot colors array. + * @public + * @since 6.0.038 (2013-09-30) + */ + public function getAllSpotColors() { + return $this->spot_colors; + } + + /** + * Defines a new spot color. + * It can be expressed in RGB components or gray scale. + * The method can be called before the first page is created and the value is retained from page to page. + * @param string $name Full name of the spot color. + * @param float $c Cyan color for CMYK. Value between 0 and 100. + * @param float $m Magenta color for CMYK. Value between 0 and 100. + * @param float $y Yellow color for CMYK. Value between 0 and 100. + * @param float $k Key (Black) color for CMYK. Value between 0 and 100. + * @public + * @since 4.0.024 (2008-09-12) + * @see SetDrawSpotColor(), SetFillSpotColor(), SetTextSpotColor() + */ + public function AddSpotColor($name, $c, $m, $y, $k) { + if (!isset($this->spot_colors[$name])) { + $i = (1 + count($this->spot_colors)); + $this->spot_colors[$name] = array('C' => $c, 'M' => $m, 'Y' => $y, 'K' => $k, 'name' => $name, 'i' => $i); + } + } + + /** + * Set the spot color for the specified type ('draw', 'fill', 'text'). + * @param string $type Type of object affected by this color: ('draw', 'fill', 'text'). + * @param string $name Name of the spot color. + * @param float $tint Intensity of the color (from 0 to 100 ; 100 = full intensity by default). + * @return string PDF color command. + * @public + * @since 5.9.125 (2011-10-03) + */ + public function setSpotColor($type, $name, $tint=100) { + $spotcolor = TCPDF_COLORS::getSpotColor($name, $this->spot_colors); + if ($spotcolor === false) { + $this->Error('Undefined spot color: '.$name.', you must add it using the AddSpotColor() method.'); + } + $tint = (max(0, min(100, $tint)) / 100); + $pdfcolor = sprintf('/CS%d ', $this->spot_colors[$name]['i']); + switch ($type) { + case 'draw': { + $pdfcolor .= sprintf('CS %F SCN', $tint); + $this->DrawColor = $pdfcolor; + $this->strokecolor = $spotcolor; + break; + } + case 'fill': { + $pdfcolor .= sprintf('cs %F scn', $tint); + $this->FillColor = $pdfcolor; + $this->bgcolor = $spotcolor; + break; + } + case 'text': { + $pdfcolor .= sprintf('cs %F scn', $tint); + $this->TextColor = $pdfcolor; + $this->fgcolor = $spotcolor; + break; + } + } + $this->ColorFlag = ($this->FillColor != $this->TextColor); + if ($this->state == 2) { + $this->_out($pdfcolor); + } + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['spot_colors'][$name] = $this->spot_colors[$name]; + } + return $pdfcolor; + } + + /** + * Defines the spot color used for all drawing operations (lines, rectangles and cell borders). + * @param string $name Name of the spot color. + * @param float $tint Intensity of the color (from 0 to 100 ; 100 = full intensity by default). + * @public + * @since 4.0.024 (2008-09-12) + * @see AddSpotColor(), SetFillSpotColor(), SetTextSpotColor() + */ + public function setDrawSpotColor($name, $tint=100) { + $this->setSpotColor('draw', $name, $tint); + } + + /** + * Defines the spot color used for all filling operations (filled rectangles and cell backgrounds). + * @param string $name Name of the spot color. + * @param float $tint Intensity of the color (from 0 to 100 ; 100 = full intensity by default). + * @public + * @since 4.0.024 (2008-09-12) + * @see AddSpotColor(), SetDrawSpotColor(), SetTextSpotColor() + */ + public function setFillSpotColor($name, $tint=100) { + $this->setSpotColor('fill', $name, $tint); + } + + /** + * Defines the spot color used for text. + * @param string $name Name of the spot color. + * @param int $tint Intensity of the color (from 0 to 100 ; 100 = full intensity by default). + * @public + * @since 4.0.024 (2008-09-12) + * @see AddSpotColor(), SetDrawSpotColor(), SetFillSpotColor() + */ + public function setTextSpotColor($name, $tint=100) { + $this->setSpotColor('text', $name, $tint); + } + + /** + * Set the color array for the specified type ('draw', 'fill', 'text'). + * It can be expressed in RGB, CMYK or GRAY SCALE components. + * The method can be called before the first page is created and the value is retained from page to page. + * @param string $type Type of object affected by this color: ('draw', 'fill', 'text'). + * @param array $color Array of colors (1=gray, 3=RGB, 4=CMYK or 5=spotcolor=CMYK+name values). + * @param boolean $ret If true do not send the PDF command. + * @return string The PDF command or empty string. + * @public + * @since 3.1.000 (2008-06-11) + */ + public function setColorArray($type, $color, $ret=false) { + if (is_array($color)) { + $color = array_values($color); + // component: grey, RGB red or CMYK cyan + $c = isset($color[0]) ? $color[0] : -1; + // component: RGB green or CMYK magenta + $m = isset($color[1]) ? $color[1] : -1; + // component: RGB blue or CMYK yellow + $y = isset($color[2]) ? $color[2] : -1; + // component: CMYK black + $k = isset($color[3]) ? $color[3] : -1; + // color name + $name = isset($color[4]) ? $color[4] : ''; + if ($c >= 0) { + return $this->setColor($type, $c, $m, $y, $k, $ret, $name); + } + } + return ''; + } + + /** + * Defines the color used for all drawing operations (lines, rectangles and cell borders). + * It can be expressed in RGB, CMYK or GRAY SCALE components. + * The method can be called before the first page is created and the value is retained from page to page. + * @param array $color Array of colors (1, 3 or 4 values). + * @param boolean $ret If true do not send the PDF command. + * @return string the PDF command + * @public + * @since 3.1.000 (2008-06-11) + * @see SetDrawColor() + */ + public function setDrawColorArray($color, $ret=false) { + return $this->setColorArray('draw', $color, $ret); + } + + /** + * Defines the color used for all filling operations (filled rectangles and cell backgrounds). + * It can be expressed in RGB, CMYK or GRAY SCALE components. + * The method can be called before the first page is created and the value is retained from page to page. + * @param array $color Array of colors (1, 3 or 4 values). + * @param boolean $ret If true do not send the PDF command. + * @public + * @since 3.1.000 (2008-6-11) + * @see SetFillColor() + */ + public function setFillColorArray($color, $ret=false) { + return $this->setColorArray('fill', $color, $ret); + } + + /** + * Defines the color used for text. It can be expressed in RGB components or gray scale. + * The method can be called before the first page is created and the value is retained from page to page. + * @param array $color Array of colors (1, 3 or 4 values). + * @param boolean $ret If true do not send the PDF command. + * @public + * @since 3.1.000 (2008-6-11) + * @see SetFillColor() + */ + public function setTextColorArray($color, $ret=false) { + return $this->setColorArray('text', $color, $ret); + } + + /** + * Defines the color used by the specified type ('draw', 'fill', 'text'). + * @param string $type Type of object affected by this color: ('draw', 'fill', 'text'). + * @param float $col1 GRAY level for single color, or Red color for RGB (0-255), or CYAN color for CMYK (0-100). + * @param float $col2 GREEN color for RGB (0-255), or MAGENTA color for CMYK (0-100). + * @param float $col3 BLUE color for RGB (0-255), or YELLOW color for CMYK (0-100). + * @param float $col4 KEY (BLACK) color for CMYK (0-100). + * @param boolean $ret If true do not send the command. + * @param string $name spot color name (if any) + * @return string The PDF command or empty string. + * @public + * @since 5.9.125 (2011-10-03) + */ + public function setColor($type, $col1=0, $col2=-1, $col3=-1, $col4=-1, $ret=false, $name='') { + // set default values + if (!is_numeric($col1)) { + $col1 = 0; + } + if (!is_numeric($col2)) { + $col2 = -1; + } + if (!is_numeric($col3)) { + $col3 = -1; + } + if (!is_numeric($col4)) { + $col4 = -1; + } + // set color by case + $suffix = ''; + if (($col2 == -1) AND ($col3 == -1) AND ($col4 == -1)) { + // Grey scale + $col1 = max(0, min(255, $col1)); + $intcolor = array('G' => $col1); + $pdfcolor = sprintf('%F ', ($col1 / 255)); + $suffix = 'g'; + } elseif ($col4 == -1) { + // RGB + $col1 = max(0, min(255, $col1)); + $col2 = max(0, min(255, $col2)); + $col3 = max(0, min(255, $col3)); + $intcolor = array('R' => $col1, 'G' => $col2, 'B' => $col3); + $pdfcolor = sprintf('%F %F %F ', ($col1 / 255), ($col2 / 255), ($col3 / 255)); + $suffix = 'rg'; + } else { + $col1 = max(0, min(100, $col1)); + $col2 = max(0, min(100, $col2)); + $col3 = max(0, min(100, $col3)); + $col4 = max(0, min(100, $col4)); + if (empty($name)) { + // CMYK + $intcolor = array('C' => $col1, 'M' => $col2, 'Y' => $col3, 'K' => $col4); + $pdfcolor = sprintf('%F %F %F %F ', ($col1 / 100), ($col2 / 100), ($col3 / 100), ($col4 / 100)); + $suffix = 'k'; + } else { + // SPOT COLOR + $intcolor = array('C' => $col1, 'M' => $col2, 'Y' => $col3, 'K' => $col4, 'name' => $name); + $this->AddSpotColor($name, $col1, $col2, $col3, $col4); + $pdfcolor = $this->setSpotColor($type, $name, 100); + } + } + switch ($type) { + case 'draw': { + $pdfcolor .= strtoupper($suffix); + $this->DrawColor = $pdfcolor; + $this->strokecolor = $intcolor; + break; + } + case 'fill': { + $pdfcolor .= $suffix; + $this->FillColor = $pdfcolor; + $this->bgcolor = $intcolor; + break; + } + case 'text': { + $pdfcolor .= $suffix; + $this->TextColor = $pdfcolor; + $this->fgcolor = $intcolor; + break; + } + } + $this->ColorFlag = ($this->FillColor != $this->TextColor); + if (($type != 'text') AND ($this->state == 2) AND $type !== 0) { + if (!$ret) { + $this->_out($pdfcolor); + } + return $pdfcolor; + } + return ''; + } + + /** + * Defines the color used for all drawing operations (lines, rectangles and cell borders). It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page. + * @param float $col1 GRAY level for single color, or Red color for RGB (0-255), or CYAN color for CMYK (0-100). + * @param float $col2 GREEN color for RGB (0-255), or MAGENTA color for CMYK (0-100). + * @param float $col3 BLUE color for RGB (0-255), or YELLOW color for CMYK (0-100). + * @param float $col4 KEY (BLACK) color for CMYK (0-100). + * @param boolean $ret If true do not send the command. + * @param string $name spot color name (if any) + * @return string the PDF command + * @public + * @since 1.3 + * @see SetDrawColorArray(), SetFillColor(), SetTextColor(), Line(), Rect(), Cell(), MultiCell() + */ + public function setDrawColor($col1=0, $col2=-1, $col3=-1, $col4=-1, $ret=false, $name='') { + return $this->setColor('draw', $col1, $col2, $col3, $col4, $ret, $name); + } + + /** + * Defines the color used for all filling operations (filled rectangles and cell backgrounds). It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page. + * @param float $col1 GRAY level for single color, or Red color for RGB (0-255), or CYAN color for CMYK (0-100). + * @param float $col2 GREEN color for RGB (0-255), or MAGENTA color for CMYK (0-100). + * @param float $col3 BLUE color for RGB (0-255), or YELLOW color for CMYK (0-100). + * @param float $col4 KEY (BLACK) color for CMYK (0-100). + * @param boolean $ret If true do not send the command. + * @param string $name Spot color name (if any). + * @return string The PDF command. + * @public + * @since 1.3 + * @see SetFillColorArray(), SetDrawColor(), SetTextColor(), Rect(), Cell(), MultiCell() + */ + public function setFillColor($col1=0, $col2=-1, $col3=-1, $col4=-1, $ret=false, $name='') { + return $this->setColor('fill', $col1, $col2, $col3, $col4, $ret, $name); + } + + /** + * Defines the color used for text. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page. + * @param float $col1 GRAY level for single color, or Red color for RGB (0-255), or CYAN color for CMYK (0-100). + * @param float $col2 GREEN color for RGB (0-255), or MAGENTA color for CMYK (0-100). + * @param float $col3 BLUE color for RGB (0-255), or YELLOW color for CMYK (0-100). + * @param float $col4 KEY (BLACK) color for CMYK (0-100). + * @param boolean $ret If true do not send the command. + * @param string $name Spot color name (if any). + * @return string Empty string. + * @public + * @since 1.3 + * @see SetTextColorArray(), SetDrawColor(), SetFillColor(), Text(), Cell(), MultiCell() + */ + public function setTextColor($col1=0, $col2=-1, $col3=-1, $col4=-1, $ret=false, $name='') { + return $this->setColor('text', $col1, $col2, $col3, $col4, $ret, $name); + } + + /** + * Returns the length of a string in user unit. A font must be selected.
      + * @param string $s The string whose length is to be computed + * @param string $fontname Family font. It can be either a name defined by AddFont() or one of the standard families. It is also possible to pass an empty string, in that case, the current family is retained. + * @param string $fontstyle Font style. Possible values are (case insensitive):
      • empty string: regular
      • B: bold
      • I: italic
      • U: underline
      • D: line-through
      • O: overline
      or any combination. The default value is regular. + * @param float $fontsize Font size in points. The default value is the current size. + * @param boolean $getarray if true returns an array of characters widths, if false returns the total length. + * @return float[]|float total string length or array of characted widths + * @phpstan-return ($getarray is true ? float[] : float) total string length or array of characted widths + * @author Nicola Asuni + * @public + * @since 1.2 + */ + public function GetStringWidth($s, $fontname='', $fontstyle='', $fontsize=0, $getarray=false) { + return $this->GetArrStringWidth(TCPDF_FONTS::utf8Bidi(TCPDF_FONTS::UTF8StringToArray($s, $this->isunicode, $this->CurrentFont), $s, $this->tmprtl, $this->isunicode, $this->CurrentFont), $fontname, $fontstyle, $fontsize, $getarray); + } + + /** + * Returns the string length of an array of chars in user unit or an array of characters widths. A font must be selected.
      + * @param array $sa The array of chars whose total length is to be computed + * @param string $fontname Family font. It can be either a name defined by AddFont() or one of the standard families. It is also possible to pass an empty string, in that case, the current family is retained. + * @param string $fontstyle Font style. Possible values are (case insensitive):
      • empty string: regular
      • B: bold
      • I: italic
      • U: underline
      • D: line through
      • O: overline
      or any combination. The default value is regular. + * @param float $fontsize Font size in points. The default value is the current size. + * @param boolean $getarray if true returns an array of characters widths, if false returns the total length. + * @return float[]|float total string length or array of characted widths + * @phpstan-return ($getarray is true ? float[] : float) total string length or array of characted widths + * @author Nicola Asuni + * @public + * @since 2.4.000 (2008-03-06) + */ + public function GetArrStringWidth($sa, $fontname='', $fontstyle='', $fontsize=0, $getarray=false) { + // store current values + if (!TCPDF_STATIC::empty_string($fontname)) { + $prev_FontFamily = $this->FontFamily; + $prev_FontStyle = $this->FontStyle; + $prev_FontSizePt = $this->FontSizePt; + $this->setFont($fontname, $fontstyle, $fontsize, '', 'default', false); + } + // convert UTF-8 array to Latin1 if required + if ($this->isunicode AND (!$this->isUnicodeFont())) { + $sa = TCPDF_FONTS::UTF8ArrToLatin1Arr($sa); + } + $w = 0; // total width + $wa = array(); // array of characters widths + foreach ($sa as $ck => $char) { + // character width + $cw = $this->GetCharWidth($char, isset($sa[($ck + 1)])); + $wa[] = $cw; + $w += $cw; + } + // restore previous values + if (!TCPDF_STATIC::empty_string($fontname)) { + $this->setFont($prev_FontFamily, $prev_FontStyle, $prev_FontSizePt, '', 'default', false); + } + if ($getarray) { + return $wa; + } + return $w; + } + + /** + * Returns the length of the char in user unit for the current font considering current stretching and spacing (tracking). + * @param int $char The char code whose length is to be returned + * @param boolean $notlast If false ignore the font-spacing. + * @return float char width + * @author Nicola Asuni + * @public + * @since 2.4.000 (2008-03-06) + */ + public function GetCharWidth($char, $notlast=true) { + // get raw width + $chw = $this->getRawCharWidth($char); + if (($this->font_spacing < 0) OR (($this->font_spacing > 0) AND $notlast)) { + // increase/decrease font spacing + $chw += $this->font_spacing; + } + if ($this->font_stretching != 100) { + // fixed stretching mode + $chw *= ($this->font_stretching / 100); + } + return $chw; + } + + /** + * Returns the length of the char in user unit for the current font. + * @param int $char The char code whose length is to be returned + * @return float char width + * @author Nicola Asuni + * @public + * @since 5.9.000 (2010-09-28) + */ + public function getRawCharWidth($char) { + if ($char == 173) { + // SHY character will not be printed + return (0); + } + if (isset($this->CurrentFont['cw'][intval($char)])) { + $w = $this->CurrentFont['cw'][intval($char)]; + } elseif (isset($this->CurrentFont['dw'])) { + // default width + $w = $this->CurrentFont['dw']; + } elseif (isset($this->CurrentFont['cw'][32])) { + // default width + $w = $this->CurrentFont['cw'][32]; + } else { + $w = 600; + } + return $this->getAbsFontMeasure($w); + } + + /** + * Returns the numbero of characters in a string. + * @param string $s The input string. + * @return int number of characters + * @public + * @since 2.0.0001 (2008-01-07) + */ + public function GetNumChars($s) { + if ($this->isUnicodeFont()) { + return count(TCPDF_FONTS::UTF8StringToArray($s, $this->isunicode, $this->CurrentFont)); + } + return strlen($s); + } + + /** + * Fill the list of available fonts ($this->fontlist). + * @protected + * @since 4.0.013 (2008-07-28) + */ + protected function getFontsList() { + if (($fontsdir = opendir(TCPDF_FONTS::_getfontpath())) !== false) { + while (($file = readdir($fontsdir)) !== false) { + if (substr($file, -4) == '.php') { + array_push($this->fontlist, strtolower(basename($file, '.php'))); + } + } + closedir($fontsdir); + } + } + + /** + * Imports a TrueType, Type1, core, or CID0 font and makes it available. + * It is necessary to generate a font definition file first (read /fonts/utils/README.TXT). + * The definition file (and the font file itself when embedding) must be present either in the current directory or in the one indicated by K_PATH_FONTS if the constant is defined. If it could not be found, the error "Could not include font definition file" is generated. + * @param string $family Font family. The name can be chosen arbitrarily. If it is a standard family name, it will override the corresponding font. + * @param string $style Font style. Possible values are (case insensitive):
      • empty string: regular (default)
      • B: bold
      • I: italic
      • BI or IB: bold italic
      + * @param string $fontfile The font definition file. By default, the name is built from the family and style, in lower case with no spaces. + * @return array|false array containing the font data, or false in case of error. + * @param mixed $subset if true embedd only a subset of the font (stores only the information related to the used characters); if false embedd full font; if 'default' uses the default value set using setFontSubsetting(). This option is valid only for TrueTypeUnicode fonts. If you want to enable users to change the document, set this parameter to false. If you subset the font, the person who receives your PDF would need to have your same font in order to make changes to your PDF. The file size of the PDF would also be smaller because you are embedding only part of a font. + * @public + * @since 1.5 + * @see SetFont(), setFontSubsetting() + */ + public function AddFont($family, $style='', $fontfile='', $subset='default') { + if ($subset === 'default') { + $subset = $this->font_subsetting; + } + if ($this->pdfa_mode) { + $subset = false; + } + if (TCPDF_STATIC::empty_string($family)) { + if (!TCPDF_STATIC::empty_string($this->FontFamily)) { + $family = $this->FontFamily; + } else { + $this->Error('Empty font family'); + } + } + // move embedded styles on $style + if (substr($family, -1) == 'I') { + $style .= 'I'; + $family = substr($family, 0, -1); + } + if (substr($family, -1) == 'B') { + $style .= 'B'; + $family = substr($family, 0, -1); + } + // normalize family name + $family = strtolower($family); + if ((!$this->isunicode) AND ($family == 'arial')) { + $family = 'helvetica'; + } + if (($family == 'symbol') OR ($family == 'zapfdingbats')) { + $style = ''; + } + if ($this->pdfa_mode AND (isset($this->CoreFonts[$family]))) { + // all fonts must be embedded + $family = 'pdfa'.$family; + } + $tempstyle = strtoupper($style === null ? '' : $style); + $style = ''; + // underline + if (strpos($tempstyle, 'U') !== false) { + $this->underline = true; + } else { + $this->underline = false; + } + // line-through (deleted) + if (strpos($tempstyle, 'D') !== false) { + $this->linethrough = true; + } else { + $this->linethrough = false; + } + // overline + if (strpos($tempstyle, 'O') !== false) { + $this->overline = true; + } else { + $this->overline = false; + } + // bold + if (strpos($tempstyle, 'B') !== false) { + $style .= 'B'; + } + // oblique + if (strpos($tempstyle, 'I') !== false) { + $style .= 'I'; + } + $bistyle = $style; + $fontkey = $family.$style; + $font_style = $style.($this->underline ? 'U' : '').($this->linethrough ? 'D' : '').($this->overline ? 'O' : ''); + $fontdata = array('fontkey' => $fontkey, 'family' => $family, 'style' => $font_style); + // check if the font has been already added + $fb = $this->getFontBuffer($fontkey); + if ($fb !== false) { + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['fonts'][$fontkey] = $fb['i']; + } + return $fontdata; + } + // get specified font directory (if any) + $fontdir = false; + if (!TCPDF_STATIC::empty_string($fontfile)) { + $fontdir = dirname($fontfile); + if (TCPDF_STATIC::empty_string($fontdir) OR ($fontdir == '.')) { + $fontdir = ''; + } else { + $fontdir .= '/'; + } + } + // true when the font style variation is missing + $missing_style = false; + // search and include font file + if (TCPDF_STATIC::empty_string($fontfile) OR (!@TCPDF_STATIC::file_exists($fontfile))) { + // build a standard filenames for specified font + $tmp_fontfile = str_replace(' ', '', $family).strtolower($style).'.php'; + $fontfile = TCPDF_FONTS::getFontFullPath($tmp_fontfile, $fontdir); + if (TCPDF_STATIC::empty_string($fontfile)) { + $missing_style = true; + // try to remove the style part + $tmp_fontfile = str_replace(' ', '', $family).'.php'; + $fontfile = TCPDF_FONTS::getFontFullPath($tmp_fontfile, $fontdir); + } + } + // include font file + if (!TCPDF_STATIC::empty_string($fontfile) AND (@TCPDF_STATIC::file_exists($fontfile))) { + $type=null; + $name=null; + $desc=null; + $up=-null; + $ut=null; + $cw=null; + $cbbox=null; + $dw=null; + $enc=null; + $cidinfo=null; + $file=null; + $ctg=null; + $diff=null; + $originalsize=null; + $size1=null; + $size2=null; + include($fontfile); + } else { + $this->Error('Could not include font definition file: '.$family.''); + } + // check font parameters + if ((!isset($type)) OR (!isset($cw))) { + $this->Error('The font definition file has a bad format: '.$fontfile.''); + } + // SET default parameters + if (!isset($file) OR TCPDF_STATIC::empty_string($file)) { + $file = ''; + } + if (!isset($enc) OR TCPDF_STATIC::empty_string($enc)) { + $enc = ''; + } + if (!isset($cidinfo) OR TCPDF_STATIC::empty_string($cidinfo)) { + $cidinfo = array('Registry'=>'Adobe', 'Ordering'=>'Identity', 'Supplement'=>0); + $cidinfo['uni2cid'] = array(); + } + if (!isset($ctg) OR TCPDF_STATIC::empty_string($ctg)) { + $ctg = ''; + } + if (!isset($desc) OR TCPDF_STATIC::empty_string($desc)) { + $desc = array(); + } + if (!isset($up) OR TCPDF_STATIC::empty_string($up)) { + $up = -100; + } + if (!isset($ut) OR TCPDF_STATIC::empty_string($ut)) { + $ut = 50; + } + if (!isset($cw) OR TCPDF_STATIC::empty_string($cw)) { + $cw = array(); + } + if (!isset($dw) OR TCPDF_STATIC::empty_string($dw)) { + // set default width + if (isset($desc['MissingWidth']) AND ($desc['MissingWidth'] > 0)) { + $dw = $desc['MissingWidth']; + } elseif (isset($cw[32])) { + $dw = $cw[32]; + } else { + $dw = 600; + } + } + ++$this->numfonts; + if ($type == 'core') { + $name = $this->CoreFonts[$fontkey]; + $subset = false; + } elseif (($type == 'TrueType') OR ($type == 'Type1')) { + $subset = false; + } elseif ($type == 'TrueTypeUnicode') { + $enc = 'Identity-H'; + } elseif ($type == 'cidfont0') { + if ($this->pdfa_mode) { + $this->Error('All fonts must be embedded in PDF/A mode!'); + } + } else { + $this->Error('Unknow font type: '.$type.''); + } + // set name if unset + if (empty($name)) { + $name = $fontkey; + } + // create artificial font style variations if missing (only works with non-embedded fonts) + if (($type != 'core') AND $missing_style) { + // style variations + $styles = array('' => '', 'B' => ',Bold', 'I' => ',Italic', 'BI' => ',BoldItalic'); + $name .= $styles[$bistyle]; + // artificial bold + if (strpos($bistyle, 'B') !== false) { + if (isset($desc['StemV'])) { + // from normal to bold + $desc['StemV'] = round($desc['StemV'] * 1.75); + } else { + // bold + $desc['StemV'] = 123; + } + } + // artificial italic + if (strpos($bistyle, 'I') !== false) { + if (isset($desc['ItalicAngle'])) { + $desc['ItalicAngle'] -= 11; + } else { + $desc['ItalicAngle'] = -11; + } + if (isset($desc['Flags'])) { + $desc['Flags'] |= 64; //bit 7 + } else { + $desc['Flags'] = 64; + } + } + } + // check if the array of characters bounding boxes is defined + if (!isset($cbbox)) { + $cbbox = array(); + } + // initialize subsetchars + $subsetchars = array_fill(0, 255, true); + $this->setFontBuffer($fontkey, array('fontkey' => $fontkey, 'i' => $this->numfonts, 'type' => $type, 'name' => $name, 'desc' => $desc, 'up' => $up, 'ut' => $ut, 'cw' => $cw, 'cbbox' => $cbbox, 'dw' => $dw, 'enc' => $enc, 'cidinfo' => $cidinfo, 'file' => $file, 'ctg' => $ctg, 'subset' => $subset, 'subsetchars' => $subsetchars)); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['fonts'][$fontkey] = $this->numfonts; + } + if (!empty($diff)) { + //Search existing encodings + $d = 0; + $nb = count($this->diffs); + for ($i=1; $i <= $nb; ++$i) { + if ($this->diffs[$i] == $diff) { + $d = $i; + break; + } + } + if ($d == 0) { + $d = $nb + 1; + $this->diffs[$d] = $diff; + } + $this->setFontSubBuffer($fontkey, 'diff', $d); + } + if (!TCPDF_STATIC::empty_string($file)) { + if (!isset($this->FontFiles[$file])) { + if ((strcasecmp($type,'TrueType') == 0) OR (strcasecmp($type, 'TrueTypeUnicode') == 0)) { + $this->FontFiles[$file] = array('length1' => $originalsize, 'fontdir' => $fontdir, 'subset' => $subset, 'fontkeys' => array($fontkey)); + } elseif ($type != 'core') { + $this->FontFiles[$file] = array('length1' => $size1, 'length2' => $size2, 'fontdir' => $fontdir, 'subset' => $subset, 'fontkeys' => array($fontkey)); + } + } else { + // update fontkeys that are sharing this font file + $this->FontFiles[$file]['subset'] = ($this->FontFiles[$file]['subset'] AND $subset); + if (!in_array($fontkey, $this->FontFiles[$file]['fontkeys'])) { + $this->FontFiles[$file]['fontkeys'][] = $fontkey; + } + } + } + return $fontdata; + } + + /** + * Sets the font used to print character strings. + * The font can be either a standard one or a font added via the AddFont() method. Standard fonts use Windows encoding cp1252 (Western Europe). + * The method can be called before the first page is created and the font is retained from page to page. + * If you just wish to change the current font size, it is simpler to call SetFontSize(). + * Note: for the standard fonts, the font metric files must be accessible. There are three possibilities for this:
      • They are in the current directory (the one where the running script lies)
      • They are in one of the directories defined by the include_path parameter
      • They are in the directory defined by the K_PATH_FONTS constant

      + * @param string $family Family font. It can be either a name defined by AddFont() or one of the standard Type1 families (case insensitive):
      • times (Times-Roman)
      • timesb (Times-Bold)
      • timesi (Times-Italic)
      • timesbi (Times-BoldItalic)
      • helvetica (Helvetica)
      • helveticab (Helvetica-Bold)
      • helveticai (Helvetica-Oblique)
      • helveticabi (Helvetica-BoldOblique)
      • courier (Courier)
      • courierb (Courier-Bold)
      • courieri (Courier-Oblique)
      • courierbi (Courier-BoldOblique)
      • symbol (Symbol)
      • zapfdingbats (ZapfDingbats)
      It is also possible to pass an empty string. In that case, the current family is retained. + * @param string $style Font style. Possible values are (case insensitive):
      • empty string: regular
      • B: bold
      • I: italic
      • U: underline
      • D: line through
      • O: overline
      or any combination. The default value is regular. Bold and italic styles do not apply to Symbol and ZapfDingbats basic fonts or other fonts when not defined. + * @param float|null $size Font size in points. The default value is the current size. If no size has been specified since the beginning of the document, the value taken is 12 + * @param string $fontfile The font definition file. By default, the name is built from the family and style, in lower case with no spaces. + * @param mixed $subset if true embedd only a subset of the font (stores only the information related to the used characters); if false embedd full font; if 'default' uses the default value set using setFontSubsetting(). This option is valid only for TrueTypeUnicode fonts. If you want to enable users to change the document, set this parameter to false. If you subset the font, the person who receives your PDF would need to have your same font in order to make changes to your PDF. The file size of the PDF would also be smaller because you are embedding only part of a font. + * @param boolean $out if true output the font size command, otherwise only set the font properties. + * @author Nicola Asuni + * @public + * @since 1.0 + * @see AddFont(), SetFontSize() + */ + public function setFont($family, $style='', $size=null, $fontfile='', $subset='default', $out=true) { + //Select a font; size given in points + if ($size === null) { + $size = $this->FontSizePt; + } + if ($size < 0) { + $size = 0; + } + // try to add font (if not already added) + $fontdata = $this->AddFont($family, $style, $fontfile, $subset); + $this->FontFamily = $fontdata['family']; + $this->FontStyle = $fontdata['style']; + if (isset($this->CurrentFont['fontkey']) AND isset($this->CurrentFont['subsetchars'])) { + // save subset chars of the previous font + $this->setFontSubBuffer($this->CurrentFont['fontkey'], 'subsetchars', $this->CurrentFont['subsetchars']); + } + $this->CurrentFont = $this->getFontBuffer($fontdata['fontkey']); + $this->setFontSize($size, $out); + } + + /** + * Defines the size of the current font. + * @param float $size The font size in points. + * @param boolean $out if true output the font size command, otherwise only set the font properties. + * @public + * @since 1.0 + * @see SetFont() + */ + public function setFontSize($size, $out=true) { + $size = (float)$size; + // font size in points + $this->FontSizePt = $size; + // font size in user units + $this->FontSize = $size / $this->k; + // calculate some font metrics + if (isset($this->CurrentFont['desc']['FontBBox'])) { + $bbox = explode(' ', substr($this->CurrentFont['desc']['FontBBox'], 1, -1)); + $font_height = ((intval($bbox[3]) - intval($bbox[1])) * $size / 1000); + } else { + $font_height = $size * 1.219; + } + if (isset($this->CurrentFont['desc']['Ascent']) AND ($this->CurrentFont['desc']['Ascent'] > 0)) { + $font_ascent = ($this->CurrentFont['desc']['Ascent'] * $size / 1000); + } + if (isset($this->CurrentFont['desc']['Descent']) AND ($this->CurrentFont['desc']['Descent'] <= 0)) { + $font_descent = (- $this->CurrentFont['desc']['Descent'] * $size / 1000); + } + if (!isset($font_ascent) AND !isset($font_descent)) { + // core font + $font_ascent = 0.76 * $font_height; + $font_descent = $font_height - $font_ascent; + } elseif (!isset($font_descent)) { + $font_descent = $font_height - $font_ascent; + } elseif (!isset($font_ascent)) { + $font_ascent = $font_height - $font_descent; + } + $this->FontAscent = ($font_ascent / $this->k); + $this->FontDescent = ($font_descent / $this->k); + if ($out AND ($this->page > 0) AND (isset($this->CurrentFont['i'])) AND ($this->state == 2)) { + $this->_out(sprintf('BT /F%d %F Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); + } + } + + /** + * Returns the bounding box of the current font in user units. + * @return array + * @public + * @since 5.9.152 (2012-03-23) + */ + public function getFontBBox() { + $fbbox = array(); + if (isset($this->CurrentFont['desc']['FontBBox'])) { + $tmpbbox = explode(' ', substr($this->CurrentFont['desc']['FontBBox'], 1, -1)); + $fbbox = array_map(array($this,'getAbsFontMeasure'), $tmpbbox); + } else { + // Find max width + if (isset($this->CurrentFont['desc']['MaxWidth'])) { + $maxw = $this->getAbsFontMeasure(intval($this->CurrentFont['desc']['MaxWidth'])); + } else { + $maxw = 0; + if (isset($this->CurrentFont['desc']['MissingWidth'])) { + $maxw = max($maxw, $this->CurrentFont['desc']['MissingWidth']); + } + if (isset($this->CurrentFont['desc']['AvgWidth'])) { + $maxw = max($maxw, $this->CurrentFont['desc']['AvgWidth']); + } + if (isset($this->CurrentFont['dw'])) { + $maxw = max($maxw, $this->CurrentFont['dw']); + } + foreach ($this->CurrentFont['cw'] as $char => $w) { + $maxw = max($maxw, $w); + } + if ($maxw == 0) { + $maxw = 600; + } + $maxw = $this->getAbsFontMeasure($maxw); + } + $fbbox = array(0, (0 - $this->FontDescent), $maxw, $this->FontAscent); + } + return $fbbox; + } + + /** + * Convert a relative font measure into absolute value. + * @param int $s Font measure. + * @return float Absolute measure. + * @since 5.9.186 (2012-09-13) + */ + public function getAbsFontMeasure($s) { + return ($s * $this->FontSize / 1000); + } + + /** + * Returns the glyph bounding box of the specified character in the current font in user units. + * @param int $char Input character code. + * @return false|array array(xMin, yMin, xMax, yMax) or FALSE if not defined. + * @since 5.9.186 (2012-09-13) + */ + public function getCharBBox($char) { + $c = intval($char); + if (isset($this->CurrentFont['cw'][$c])) { + // glyph is defined ... use zero width & height for glyphs without outlines + $result = array(0,0,0,0); + if (isset($this->CurrentFont['cbbox'][$c])) { + $result = $this->CurrentFont['cbbox'][$c]; + } + return array_map(array($this,'getAbsFontMeasure'), $result); + } + return false; + } + + /** + * Return the font descent value + * @param string $font font name + * @param string $style font style + * @param float $size The size (in points) + * @return int font descent + * @public + * @author Nicola Asuni + * @since 4.9.003 (2010-03-30) + */ + public function getFontDescent($font, $style='', $size=0) { + $fontdata = $this->AddFont($font, $style); + $fontinfo = $this->getFontBuffer($fontdata['fontkey']); + if (isset($fontinfo['desc']['Descent']) AND ($fontinfo['desc']['Descent'] <= 0)) { + $descent = (- $fontinfo['desc']['Descent'] * $size / 1000); + } else { + $descent = (1.219 * 0.24 * $size); + } + return ($descent / $this->k); + } + + /** + * Return the font ascent value. + * @param string $font font name + * @param string $style font style + * @param float $size The size (in points) + * @return int font ascent + * @public + * @author Nicola Asuni + * @since 4.9.003 (2010-03-30) + */ + public function getFontAscent($font, $style='', $size=0) { + $fontdata = $this->AddFont($font, $style); + $fontinfo = $this->getFontBuffer($fontdata['fontkey']); + if (isset($fontinfo['desc']['Ascent']) AND ($fontinfo['desc']['Ascent'] > 0)) { + $ascent = ($fontinfo['desc']['Ascent'] * $size / 1000); + } else { + $ascent = 1.219 * 0.76 * $size; + } + return ($ascent / $this->k); + } + + /** + * Return true in the character is present in the specified font. + * @param mixed $char Character to check (integer value or string) + * @param string $font Font name (family name). + * @param string $style Font style. + * @return bool true if the char is defined, false otherwise. + * @public + * @since 5.9.153 (2012-03-28) + */ + public function isCharDefined($char, $font='', $style='') { + if (is_string($char)) { + // get character code + $char = TCPDF_FONTS::UTF8StringToArray($char, $this->isunicode, $this->CurrentFont); + $char = $char[0]; + } + if (TCPDF_STATIC::empty_string($font)) { + if (TCPDF_STATIC::empty_string($style)) { + return (isset($this->CurrentFont['cw'][intval($char)])); + } + $font = $this->FontFamily; + } + $fontdata = $this->AddFont($font, $style); + $fontinfo = $this->getFontBuffer($fontdata['fontkey']); + return (isset($fontinfo['cw'][intval($char)])); + } + + /** + * Replace missing font characters on selected font with specified substitutions. + * @param string $text Text to process. + * @param string $font Font name (family name). + * @param string $style Font style. + * @param array $subs Array of possible character substitutions. The key is the character to check (integer value) and the value is a single intege value or an array of possible substitutes. + * @return string Processed text. + * @public + * @since 5.9.153 (2012-03-28) + */ + public function replaceMissingChars($text, $font='', $style='', $subs=array()) { + if (empty($subs)) { + return $text; + } + if (TCPDF_STATIC::empty_string($font)) { + $font = $this->FontFamily; + } + $fontdata = $this->AddFont($font, $style); + $fontinfo = $this->getFontBuffer($fontdata['fontkey']); + $uniarr = TCPDF_FONTS::UTF8StringToArray($text, $this->isunicode, $this->CurrentFont); + foreach ($uniarr as $k => $chr) { + if (!isset($fontinfo['cw'][$chr])) { + // this character is missing on the selected font + if (isset($subs[$chr])) { + // we have available substitutions + if (is_array($subs[$chr])) { + foreach($subs[$chr] as $s) { + if (isset($fontinfo['cw'][$s])) { + $uniarr[$k] = $s; + break; + } + } + } elseif (isset($fontinfo['cw'][$subs[$chr]])) { + $uniarr[$k] = $subs[$chr]; + } + } + } + } + return TCPDF_FONTS::UniArrSubString(TCPDF_FONTS::UTF8ArrayToUniArray($uniarr, $this->isunicode)); + } + + /** + * Defines the default monospaced font. + * @param string $font Font name. + * @public + * @since 4.5.025 + */ + public function setDefaultMonospacedFont($font) { + $this->default_monospaced_font = $font; + } + + /** + * Creates a new internal link and returns its identifier. An internal link is a clickable area which directs to another place within the document.
      + * The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is defined with SetLink(). + * @public + * @since 1.5 + * @see Cell(), Write(), Image(), Link(), SetLink() + */ + public function AddLink() { + // create a new internal link + $n = count($this->links) + 1; + $this->links[$n] = array('p' => 0, 'y' => 0, 'f' => false); + return $n; + } + + /** + * Defines the page and position a link points to. + * @param int $link The link identifier returned by AddLink() + * @param float $y Ordinate of target position; -1 indicates the current position. The default value is 0 (top of page) + * @param int|string $page Number of target page; -1 indicates the current page (default value). If you prefix a page number with the * character, then this page will not be changed when adding/deleting/moving pages. + * @public + * @since 1.5 + * @see AddLink() + */ + public function setLink($link, $y=0, $page=-1) { + $fixed = false; + if (!empty($page) AND (substr($page, 0, 1) == '*')) { + $page = intval(substr($page, 1)); + // this page number will not be changed when moving/add/deleting pages + $fixed = true; + } + if ($page < 0) { + $page = $this->page; + } + if ($y == -1) { + $y = $this->y; + } + $this->links[$link] = array('p' => $page, 'y' => $y, 'f' => $fixed); + } + + /** + * Puts a link on a rectangular area of the page. + * Text or image links are generally put via Cell(), Write() or Image(), but this method can be useful for instance to define a clickable area inside an image. + * @param float $x Abscissa of the upper-left corner of the rectangle + * @param float $y Ordinate of the upper-left corner of the rectangle + * @param float $w Width of the rectangle + * @param float $h Height of the rectangle + * @param mixed $link URL or identifier returned by AddLink() + * @param int $spaces number of spaces on the text to link + * @public + * @since 1.5 + * @see AddLink(), Annotation(), Cell(), Write(), Image() + */ + public function Link($x, $y, $w, $h, $link, $spaces=0) { + $this->Annotation($x, $y, $w, $h, $link, array('Subtype'=>'Link'), $spaces); + } + + /** + * Puts a markup annotation on a rectangular area of the page. + * !!!!THE ANNOTATION SUPPORT IS NOT YET FULLY IMPLEMENTED !!!! + * @param float $x Abscissa of the upper-left corner of the rectangle + * @param float $y Ordinate of the upper-left corner of the rectangle + * @param float $w Width of the rectangle + * @param float $h Height of the rectangle + * @param string $text annotation text or alternate content + * @param array $opt array of options (see section 8.4 of PDF reference 1.7). + * @param int $spaces number of spaces on the text to link + * @public + * @since 4.0.018 (2008-08-06) + */ + public function Annotation($x, $y, $w, $h, $text, $opt=array('Subtype'=>'Text'), $spaces=0) { + if ($this->inxobj) { + // store parameters for later use on template + $this->xobjects[$this->xobjid]['annotations'][] = array('x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'text' => $text, 'opt' => $opt, 'spaces' => $spaces); + return; + } + if ($x === '') { + $x = $this->x; + } + if ($y === '') { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + // recalculate coordinates to account for graphic transformations + if (isset($this->transfmatrix) AND !empty($this->transfmatrix)) { + for ($i=$this->transfmatrix_key; $i > 0; --$i) { + $maxid = count($this->transfmatrix[$i]) - 1; + for ($j=$maxid; $j >= 0; --$j) { + $ctm = $this->transfmatrix[$i][$j]; + if (isset($ctm['a'])) { + $x = $x * $this->k; + $y = ($this->h - $y) * $this->k; + $w = $w * $this->k; + $h = $h * $this->k; + // top left + $xt = $x; + $yt = $y; + $x1 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e']; + $y1 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f']; + // top right + $xt = $x + $w; + $yt = $y; + $x2 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e']; + $y2 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f']; + // bottom left + $xt = $x; + $yt = $y - $h; + $x3 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e']; + $y3 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f']; + // bottom right + $xt = $x + $w; + $yt = $y - $h; + $x4 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e']; + $y4 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f']; + // new coordinates (rectangle area) + $x = min($x1, $x2, $x3, $x4); + $y = max($y1, $y2, $y3, $y4); + $w = (max($x1, $x2, $x3, $x4) - $x) / $this->k; + $h = ($y - min($y1, $y2, $y3, $y4)) / $this->k; + $x = $x / $this->k; + $y = $this->h - ($y / $this->k); + } + } + } + } + if ($this->page <= 0) { + $page = 1; + } else { + $page = $this->page; + } + if (!isset($this->PageAnnots[$page])) { + $this->PageAnnots[$page] = array(); + } + $this->PageAnnots[$page][] = array('n' => ++$this->n, 'x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'txt' => $text, 'opt' => $opt, 'numspaces' => $spaces); + if (!$this->pdfa_mode || ($this->pdfa_mode && $this->pdfa_version == 3)) { + if ((($opt['Subtype'] == 'FileAttachment') OR ($opt['Subtype'] == 'Sound')) AND (!TCPDF_STATIC::empty_string($opt['FS'])) + AND (@TCPDF_STATIC::file_exists($opt['FS']) OR TCPDF_STATIC::isValidURL($opt['FS'])) + AND (!isset($this->embeddedfiles[basename($opt['FS'])]))) { + $this->embeddedfiles[basename($opt['FS'])] = array('f' => ++$this->n, 'n' => ++$this->n, 'file' => $opt['FS']); + } + } + // Add widgets annotation's icons + if (isset($opt['mk']['i']) AND @TCPDF_STATIC::file_exists($opt['mk']['i'])) { + $this->Image($opt['mk']['i'], '', '', 10, 10, '', '', '', false, 300, '', false, false, 0, false, true); + } + if (isset($opt['mk']['ri']) AND @TCPDF_STATIC::file_exists($opt['mk']['ri'])) { + $this->Image($opt['mk']['ri'], '', '', 0, 0, '', '', '', false, 300, '', false, false, 0, false, true); + } + if (isset($opt['mk']['ix']) AND @TCPDF_STATIC::file_exists($opt['mk']['ix'])) { + $this->Image($opt['mk']['ix'], '', '', 0, 0, '', '', '', false, 300, '', false, false, 0, false, true); + } + } + + /** + * Embed the attached files. + * @since 6.9.000 (2025-02-11) + * @public + */ + public function EmbedFile($opt) { + if (!$this->pdfa_mode || ($this->pdfa_mode && $this->pdfa_version == 3)) { + if ((($opt['Subtype'] == 'FileAttachment')) AND (!TCPDF_STATIC::empty_string($opt['FS'])) + AND (@TCPDF_STATIC::file_exists($opt['FS']) OR TCPDF_STATIC::isValidURL($opt['FS'])) + AND (!isset($this->embeddedfiles[basename($opt['FS'])]))) { + $this->embeddedfiles[basename($opt['FS'])] = array('f' => ++$this->n, 'n' => ++$this->n, 'file' => $opt['FS']); + } + } + } + + /** + * Embed the attached files. + * @since 6.9.000 (2025-02-11) + * @public + */ + public function EmbedFileFromString($filename, $content) { + if (!$this->pdfa_mode || ($this->pdfa_mode && $this->pdfa_version == 3)) { + $this->embeddedfiles[$filename] = array('f' => ++$this->n, 'n' => ++$this->n, 'content' => $content ); + } + } + + /** + * Embedd the attached files. + * @since 4.4.000 (2008-12-07) + * @protected + * @see Annotation() + */ + protected function _putEmbeddedFiles() { + if ($this->pdfa_mode && $this->pdfa_version != 3) { + // embedded files are not allowed in PDF/A mode version 1 and 2 + return; + } + reset($this->embeddedfiles); + foreach ($this->embeddedfiles as $filename => $filedata) { + $data = false; + if (isset($filedata['file']) && !empty($filedata['file'])) { + $data = $this->getCachedFileContents($filedata['file']); + } elseif ($filedata['content'] && !empty($filedata['content'])) { + $data = $filedata['content']; + } + if ($data !== FALSE) { + $rawsize = strlen($data); + if ($rawsize > 0) { + // update name tree + $this->efnames[$filename] = $filedata['f'].' 0 R'; + // embedded file specification object + $out = $this->_getobj($filedata['f'])."\n"; + $out .= '<_datastring($filename, $filedata['f']); + $out .= ' /UF '.$this->_datastring($filename, $filedata['f']); + $out .= ' /AFRelationship /Source'; + $out .= ' /EF <> >>'; + $out .= "\n".'endobj'; + $this->_out($out); + // embedded file object + $filter = ''; + if ($this->compress) { + $data = gzcompress($data); + $filter = ' /Filter /FlateDecode'; + } + + if ($this->pdfa_version == 3) { + $filter = ' /Subtype /text#2Fxml'; + } + + $stream = $this->_getrawstream($data, $filedata['n']); + $out = $this->_getobj($filedata['n'])."\n"; + $out .= '<< /Type /EmbeddedFile'.$filter.' /Length '.strlen($stream).' /Params <> >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + } + } + + /** + * Prints a text cell at the specified position. + * This method allows to place a string precisely on the page. + * @param float $x Abscissa of the cell origin + * @param float $y Ordinate of the cell origin + * @param string $txt String to print + * @param int $fstroke outline size in user units (0 = disable) + * @param boolean $fclip if true activate clipping mode (you must call StartTransform() before this function and StopTransform() to stop the clipping tranformation). + * @param boolean $ffill if true fills the text + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param int $ln Indicates where the current position should go after the call. Possible values are:
      • 0: to the right (or left for RTL languages)
      • 1: to the beginning of the next line
      • 2: below
      Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. + * @param string $align Allows to center or align the text. Possible values are:
      • L or empty string: left align (default value)
      • C: center
      • R: right align
      • J: justify
      + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param mixed $link URL or identifier returned by AddLink(). + * @param int $stretch font stretch mode:
      • 0 = disabled
      • 1 = horizontal scaling only if text is larger than cell width
      • 2 = forced horizontal scaling to fit cell width
      • 3 = character spacing only if text is larger than cell width
      • 4 = forced character spacing to fit cell width
      General font stretching and scaling values will be preserved when possible. + * @param boolean $ignore_min_height if true ignore automatic minimum height value. + * @param string $calign cell vertical alignment relative to the specified Y value. Possible values are:
      • T : cell top
      • A : font top
      • L : font baseline
      • D : font bottom
      • B : cell bottom
      + * @param string $valign text vertical alignment inside the cell. Possible values are:
      • T : top
      • C : center
      • B : bottom
      + * @param boolean $rtloff if true uses the page top-left corner as origin of axis for $x and $y initial position. + * @public + * @since 1.0 + * @see Cell(), Write(), MultiCell(), WriteHTML(), WriteHTMLCell() + */ + public function Text($x, $y, $txt, $fstroke=0, $fclip=false, $ffill=true, $border=0, $ln=0, $align='', $fill=false, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M', $rtloff=false) { + $textrendermode = $this->textrendermode; + $textstrokewidth = $this->textstrokewidth; + $this->setTextRenderingMode($fstroke, $ffill, $fclip); + $this->setXY($x, $y, $rtloff); + $this->Cell(0, 0, $txt, $border, $ln, $align, $fill, $link, $stretch, $ignore_min_height, $calign, $valign); + // restore previous rendering mode + $this->textrendermode = $textrendermode; + $this->textstrokewidth = $textstrokewidth; + } + + /** + * Whenever a page break condition is met, the method is called, and the break is issued or not depending on the returned value. + * The default implementation returns a value according to the mode selected by SetAutoPageBreak().
      + * This method is called automatically and should not be called directly by the application. + * @return bool + * @public + * @since 1.4 + * @see SetAutoPageBreak() + */ + public function AcceptPageBreak() { + if ($this->num_columns > 1) { + // multi column mode + if ($this->current_column < ($this->num_columns - 1)) { + // go to next column + $this->selectColumn($this->current_column + 1); + } elseif ($this->AutoPageBreak) { + // add a new page + $this->AddPage(); + // set first column + $this->selectColumn(0); + } + // avoid page breaking from checkPageBreak() + return false; + } + return $this->AutoPageBreak; + } + + /** + * Add page if needed. + * @param float $h Cell height. Default value: 0. + * @param float|null $y starting y position, leave empty for current position. + * @param bool $addpage if true add a page, otherwise only return the true/false state + * @return bool true in case of page break, false otherwise. + * @since 3.2.000 (2008-07-01) + * @protected + */ + protected function checkPageBreak($h=0, $y=null, $addpage=true) { + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + $current_page = $this->page; + if ((($y + $h) > $this->PageBreakTrigger) AND ($this->inPageBody()) AND ($this->AcceptPageBreak())) { + if ($addpage) { + //Automatic page break + $x = $this->x; + $this->AddPage($this->CurOrientation); + $this->y = $this->tMargin; + $oldpage = $this->page - 1; + if ($this->rtl) { + if ($this->pagedim[$this->page]['orm'] != $this->pagedim[$oldpage]['orm']) { + $this->x = $x - ($this->pagedim[$this->page]['orm'] - $this->pagedim[$oldpage]['orm']); + } else { + $this->x = $x; + } + } else { + if ($this->pagedim[$this->page]['olm'] != $this->pagedim[$oldpage]['olm']) { + $this->x = $x + ($this->pagedim[$this->page]['olm'] - $this->pagedim[$oldpage]['olm']); + } else { + $this->x = $x; + } + } + } + return true; + } + if ($current_page != $this->page) { + // account for columns mode + return true; + } + return false; + } + + /** + * Prints a cell (rectangular area) with optional borders, background color and character string. The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text.
      + * If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting. + * @param float $w Cell width. If 0, the cell extends up to the right margin. + * @param float $h Cell height. Default value: 0. + * @param string $txt String to print. Default value: empty string. + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param int $ln Indicates where the current position should go after the call. Possible values are:
      • 0: to the right (or left for RTL languages)
      • 1: to the beginning of the next line
      • 2: below
      Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. + * @param string $align Allows to center or align the text. Possible values are:
      • L or empty string: left align (default value)
      • C: center
      • R: right align
      • J: justify
      + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param mixed $link URL or identifier returned by AddLink(). + * @param int $stretch font stretch mode:
      • 0 = disabled
      • 1 = horizontal scaling only if text is larger than cell width
      • 2 = forced horizontal scaling to fit cell width
      • 3 = character spacing only if text is larger than cell width
      • 4 = forced character spacing to fit cell width
      General font stretching and scaling values will be preserved when possible. + * @param boolean $ignore_min_height if true ignore automatic minimum height value. + * @param string $calign cell vertical alignment relative to the specified Y value. Possible values are:
      • T : cell top
      • C : center
      • B : cell bottom
      • A : font top
      • L : font baseline
      • D : font bottom
      + * @param string $valign text vertical alignment inside the cell. Possible values are:
      • T : top
      • C : center
      • B : bottom
      + * @public + * @since 1.0 + * @see SetFont(), SetDrawColor(), SetFillColor(), SetTextColor(), SetLineWidth(), AddLink(), Ln(), MultiCell(), Write(), SetAutoPageBreak() + */ + public function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M') { + $prev_cell_margin = $this->cell_margin; + $prev_cell_padding = $this->cell_padding; + $this->adjustCellPadding($border); + if (!$ignore_min_height) { + $min_cell_height = $this->getCellHeight($this->FontSize); + if ($h < $min_cell_height) { + $h = $min_cell_height; + } + } + $this->checkPageBreak($h + $this->cell_margin['T'] + $this->cell_margin['B']); + // apply text shadow if enabled + if ($this->txtshadow['enabled']) { + // save data + $x = $this->x; + $y = $this->y; + $bc = $this->bgcolor; + $fc = $this->fgcolor; + $sc = $this->strokecolor; + $alpha = $this->alpha; + // print shadow + $this->x += $this->txtshadow['depth_w']; + $this->y += $this->txtshadow['depth_h']; + $this->setFillColorArray($this->txtshadow['color']); + $this->setTextColorArray($this->txtshadow['color']); + $this->setDrawColorArray($this->txtshadow['color']); + if ($this->txtshadow['opacity'] != $alpha['CA']) { + $this->setAlpha($this->txtshadow['opacity'], $this->txtshadow['blend_mode']); + } + if ($this->state == 2) { + $this->_out($this->getCellCode($w, $h, $txt, $border, $ln, $align, $fill, $link, $stretch, true, $calign, $valign)); + } + //restore data + $this->x = $x; + $this->y = $y; + $this->setFillColorArray($bc); + $this->setTextColorArray($fc); + $this->setDrawColorArray($sc); + if ($this->txtshadow['opacity'] != $alpha['CA']) { + $this->setAlpha($alpha['CA'], $alpha['BM'], $alpha['ca'], $alpha['AIS']); + } + } + if ($this->state == 2) { + $this->_out($this->getCellCode($w, $h, $txt, $border, $ln, $align, $fill, $link, $stretch, true, $calign, $valign)); + } + $this->cell_padding = $prev_cell_padding; + $this->cell_margin = $prev_cell_margin; + } + + /** + * Returns the PDF string code to print a cell (rectangular area) with optional borders, background color and character string. The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text.
      + * If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting. + * @param float $w Cell width. If 0, the cell extends up to the right margin. + * @param float $h Cell height. Default value: 0. + * @param string $txt String to print. Default value: empty string. + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param int $ln Indicates where the current position should go after the call. Possible values are:
      • 0: to the right (or left for RTL languages)
      • 1: to the beginning of the next line
      • 2: below
      Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. + * @param string $align Allows to center or align the text. Possible values are:
      • L or empty string: left align (default value)
      • C: center
      • R: right align
      • J: justify
      + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param mixed $link URL or identifier returned by AddLink(). + * @param int $stretch font stretch mode:
      • 0 = disabled
      • 1 = horizontal scaling only if text is larger than cell width
      • 2 = forced horizontal scaling to fit cell width
      • 3 = character spacing only if text is larger than cell width
      • 4 = forced character spacing to fit cell width
      General font stretching and scaling values will be preserved when possible. + * @param boolean $ignore_min_height if true ignore automatic minimum height value. + * @param string $calign cell vertical alignment relative to the specified Y value. Possible values are:
      • T : cell top
      • C : center
      • B : cell bottom
      • A : font top
      • L : font baseline
      • D : font bottom
      + * @param string $valign text vertical alignment inside the cell. Possible values are:
      • T : top
      • M : middle
      • B : bottom
      + * @return string containing cell code + * @protected + * @since 1.0 + * @see Cell() + */ + protected function getCellCode($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M') { + // replace 'NO-BREAK SPACE' (U+00A0) character with a simple space + $txt = is_null($txt) ? '' : $txt; + $txt = str_replace(TCPDF_FONTS::unichr(160, $this->isunicode), ' ', $txt); + $prev_cell_margin = $this->cell_margin; + $prev_cell_padding = $this->cell_padding; + $txt = TCPDF_STATIC::removeSHY($txt, $this->isunicode); + $rs = ''; //string to be returned + $this->adjustCellPadding($border); + if (!$ignore_min_height) { + $min_cell_height = $this->getCellHeight($this->FontSize); + if ($h < $min_cell_height) { + $h = $min_cell_height; + } + } + $k = $this->k; + // check page for no-write regions and adapt page margins if necessary + list($this->x, $this->y) = $this->checkPageRegions($h, $this->x, $this->y); + if ($this->rtl) { + $x = $this->x - $this->cell_margin['R']; + } else { + $x = $this->x + $this->cell_margin['L']; + } + $y = $this->y + $this->cell_margin['T']; + $prev_font_stretching = $this->font_stretching; + $prev_font_spacing = $this->font_spacing; + // cell vertical alignment + switch ($calign) { + case 'A': { + // font top + switch ($valign) { + case 'T': { + // top + $y -= $this->cell_padding['T']; + break; + } + case 'B': { + // bottom + $y -= ($h - $this->cell_padding['B'] - $this->FontAscent - $this->FontDescent); + break; + } + default: + case 'C': + case 'M': { + // center + $y -= (($h - $this->FontAscent - $this->FontDescent) / 2); + break; + } + } + break; + } + case 'L': { + // font baseline + switch ($valign) { + case 'T': { + // top + $y -= ($this->cell_padding['T'] + $this->FontAscent); + break; + } + case 'B': { + // bottom + $y -= ($h - $this->cell_padding['B'] - $this->FontDescent); + break; + } + default: + case 'C': + case 'M': { + // center + $y -= (($h + $this->FontAscent - $this->FontDescent) / 2); + break; + } + } + break; + } + case 'D': { + // font bottom + switch ($valign) { + case 'T': { + // top + $y -= ($this->cell_padding['T'] + $this->FontAscent + $this->FontDescent); + break; + } + case 'B': { + // bottom + $y -= ($h - $this->cell_padding['B']); + break; + } + default: + case 'C': + case 'M': { + // center + $y -= (($h + $this->FontAscent + $this->FontDescent) / 2); + break; + } + } + break; + } + case 'B': { + // cell bottom + $y -= $h; + break; + } + case 'C': + case 'M': { + // cell center + $y -= ($h / 2); + break; + } + default: + case 'T': { + // cell top + break; + } + } + // text vertical alignment + switch ($valign) { + case 'T': { + // top + $yt = $y + $this->cell_padding['T']; + break; + } + case 'B': { + // bottom + $yt = $y + $h - $this->cell_padding['B'] - $this->FontAscent - $this->FontDescent; + break; + } + default: + case 'C': + case 'M': { + // center + $yt = $y + (($h - $this->FontAscent - $this->FontDescent) / 2); + break; + } + } + $basefonty = $yt + $this->FontAscent; + if (TCPDF_STATIC::empty_string($w) OR ($w <= 0)) { + if ($this->rtl) { + $w = $x - $this->lMargin; + } else { + $w = $this->w - $this->rMargin - $x; + } + } + $s = ''; + // fill and borders + if (is_string($border) AND (strlen($border) == 4)) { + // full border + $border = 1; + } + if ($fill OR ($border == 1)) { + if ($fill) { + $op = ($border == 1) ? 'B' : 'f'; + } else { + $op = 'S'; + } + if ($this->rtl) { + $xk = (($x - $w) * $k); + } else { + $xk = ($x * $k); + } + $s .= sprintf('%F %F %F %F re %s ', $xk, (($this->h - $y) * $k), ($w * $k), (-$h * $k), $op); + } + // draw borders + $s .= $this->getCellBorder($x, $y, $w, $h, $border); + if ($txt != '') { + $txt2 = $txt; + if ($this->isunicode) { + if (($this->CurrentFont['type'] == 'core') OR ($this->CurrentFont['type'] == 'TrueType') OR ($this->CurrentFont['type'] == 'Type1')) { + $txt2 = TCPDF_FONTS::UTF8ToLatin1($txt2, $this->isunicode, $this->CurrentFont); + } else { + $unicode = TCPDF_FONTS::UTF8StringToArray($txt, $this->isunicode, $this->CurrentFont); // array of UTF-8 unicode values + $unicode = TCPDF_FONTS::utf8Bidi($unicode, '', $this->tmprtl, $this->isunicode, $this->CurrentFont); + // replace thai chars (if any) + if (defined('K_THAI_TOPCHARS') AND (K_THAI_TOPCHARS == true)) { + // number of chars + $numchars = count($unicode); + // po pla, for far, for fan + $longtail = array(0x0e1b, 0x0e1d, 0x0e1f); + // do chada, to patak + $lowtail = array(0x0e0e, 0x0e0f); + // mai hun arkad, sara i, sara ii, sara ue, sara uee + $upvowel = array(0x0e31, 0x0e34, 0x0e35, 0x0e36, 0x0e37); + // mai ek, mai tho, mai tri, mai chattawa, karan + $tonemark = array(0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c); + // sara u, sara uu, pinthu + $lowvowel = array(0x0e38, 0x0e39, 0x0e3a); + $output = array(); + for ($i = 0; $i < $numchars; $i++) { + if (($unicode[$i] >= 0x0e00) && ($unicode[$i] <= 0x0e5b)) { + $ch0 = $unicode[$i]; + $ch1 = ($i > 0) ? $unicode[($i - 1)] : 0; + $ch2 = ($i > 1) ? $unicode[($i - 2)] : 0; + $chn = ($i < ($numchars - 1)) ? $unicode[($i + 1)] : 0; + if (in_array($ch0, $tonemark)) { + if ($chn == 0x0e33) { + // sara um + if (in_array($ch1, $longtail)) { + // tonemark at upper left + $output[] = $this->replaceChar($ch0, (0xf713 + $ch0 - 0x0e48)); + } else { + // tonemark at upper right (normal position) + $output[] = $ch0; + } + } elseif (in_array($ch1, $longtail) OR (in_array($ch2, $longtail) AND in_array($ch1, $lowvowel))) { + // tonemark at lower left + $output[] = $this->replaceChar($ch0, (0xf705 + $ch0 - 0x0e48)); + } elseif (in_array($ch1, $upvowel)) { + if (in_array($ch2, $longtail)) { + // tonemark at upper left + $output[] = $this->replaceChar($ch0, (0xf713 + $ch0 - 0x0e48)); + } else { + // tonemark at upper right (normal position) + $output[] = $ch0; + } + } else { + // tonemark at lower right + $output[] = $this->replaceChar($ch0, (0xf70a + $ch0 - 0x0e48)); + } + } elseif (($ch0 == 0x0e33) AND (in_array($ch1, $longtail) OR (in_array($ch2, $longtail) AND in_array($ch1, $tonemark)))) { + // add lower left nikhahit and sara aa + if ($this->isCharDefined(0xf711) AND $this->isCharDefined(0x0e32)) { + $output[] = 0xf711; + $this->CurrentFont['subsetchars'][0xf711] = true; + $output[] = 0x0e32; + $this->CurrentFont['subsetchars'][0x0e32] = true; + } else { + $output[] = $ch0; + } + } elseif (in_array($ch1, $longtail)) { + if ($ch0 == 0x0e31) { + // lower left mai hun arkad + $output[] = $this->replaceChar($ch0, 0xf710); + } elseif (in_array($ch0, $upvowel)) { + // lower left + $output[] = $this->replaceChar($ch0, (0xf701 + $ch0 - 0x0e34)); + } elseif ($ch0 == 0x0e47) { + // lower left mai tai koo + $output[] = $this->replaceChar($ch0, 0xf712); + } else { + // normal character + $output[] = $ch0; + } + } elseif (in_array($ch1, $lowtail) AND in_array($ch0, $lowvowel)) { + // lower vowel + $output[] = $this->replaceChar($ch0, (0xf718 + $ch0 - 0x0e38)); + } elseif (($ch0 == 0x0e0d) AND in_array($chn, $lowvowel)) { + // yo ying without lower part + $output[] = $this->replaceChar($ch0, 0xf70f); + } elseif (($ch0 == 0x0e10) AND in_array($chn, $lowvowel)) { + // tho santan without lower part + $output[] = $this->replaceChar($ch0, 0xf700); + } else { + $output[] = $ch0; + } + } else { + // non-thai character + $output[] = $unicode[$i]; + } + } + $unicode = $output; + // update font subsetchars + $this->setFontSubBuffer($this->CurrentFont['fontkey'], 'subsetchars', $this->CurrentFont['subsetchars']); + } // end of K_THAI_TOPCHARS + $txt2 = TCPDF_FONTS::arrUTF8ToUTF16BE($unicode, false); + } + } + $txt2 = TCPDF_STATIC::_escape($txt2); + // get current text width (considering general font stretching and spacing) + $txwidth = $this->GetStringWidth($txt); + $width = $txwidth; + // check for stretch mode + if ($stretch > 0) { + // calculate ratio between cell width and text width + if ($width <= 0) { + $ratio = 1; + } else { + $ratio = (($w - $this->cell_padding['L'] - $this->cell_padding['R']) / $width); + } + // check if stretching is required + if (($ratio < 1) OR (($ratio > 1) AND (($stretch % 2) == 0))) { + // the text will be stretched to fit cell width + if ($stretch > 2) { + // set new character spacing + $this->font_spacing += ($w - $this->cell_padding['L'] - $this->cell_padding['R'] - $width) / (max(($this->GetNumChars($txt) - 1), 1) * ($this->font_stretching / 100)); + } else { + // set new horizontal stretching + $this->font_stretching *= $ratio; + } + // recalculate text width (the text fills the entire cell) + $width = $w - $this->cell_padding['L'] - $this->cell_padding['R']; + // reset alignment + $align = ''; + } + } + if ($this->font_stretching != 100) { + // apply font stretching + $rs .= sprintf('BT %F Tz ET ', $this->font_stretching); + } + if ($this->font_spacing != 0) { + // increase/decrease font spacing + $rs .= sprintf('BT %F Tc ET ', ($this->font_spacing * $this->k)); + } + if ($this->ColorFlag AND ($this->textrendermode < 4)) { + $s .= 'q '.$this->TextColor.' '; + } + // rendering mode + $s .= sprintf('BT %d Tr %F w ET ', $this->textrendermode, ($this->textstrokewidth * $this->k)); + // count number of spaces + $ns = substr_count($txt, chr(32)); + // Justification + $spacewidth = 0; + if (($align == 'J') AND ($ns > 0)) { + if ($this->isUnicodeFont()) { + // get string width without spaces + $width = $this->GetStringWidth(str_replace(' ', '', $txt)); + // calculate average space width + $spacewidth = -1000 * ($w - $width - $this->cell_padding['L'] - $this->cell_padding['R']) / ($ns?$ns:1) / ($this->FontSize?$this->FontSize:1); + if ($this->font_stretching != 100) { + // word spacing is affected by stretching + $spacewidth /= ($this->font_stretching / 100); + } + // set word position to be used with TJ operator + $txt2 = str_replace(chr(0).chr(32), ') '.sprintf('%F', $spacewidth).' (', $txt2); + $unicode_justification = true; + } else { + // get string width + $width = $txwidth; + // new space width + $spacewidth = (($w - $width - $this->cell_padding['L'] - $this->cell_padding['R']) / ($ns?$ns:1)) * $this->k; + if ($this->font_stretching != 100) { + // word spacing (Tw) is affected by stretching + $spacewidth /= ($this->font_stretching / 100); + } + // set word spacing + $rs .= sprintf('BT %F Tw ET ', $spacewidth); + } + $width = $w - $this->cell_padding['L'] - $this->cell_padding['R']; + } + // replace carriage return characters + $txt2 = str_replace("\r", ' ', $txt2); + switch ($align) { + case 'C': { + $dx = ($w - $width) / 2; + break; + } + case 'R': { + if ($this->rtl) { + $dx = $this->cell_padding['R']; + } else { + $dx = $w - $width - $this->cell_padding['R']; + } + break; + } + case 'L': { + if ($this->rtl) { + $dx = $w - $width - $this->cell_padding['L']; + } else { + $dx = $this->cell_padding['L']; + } + break; + } + case 'J': + default: { + if ($this->rtl) { + $dx = $this->cell_padding['R']; + } else { + $dx = $this->cell_padding['L']; + } + break; + } + } + if ($this->rtl) { + $xdx = $x - $dx - $width; + } else { + $xdx = $x + $dx; + } + $xdk = $xdx * $k; + // print text + $s .= sprintf('BT %F %F Td [(%s)] TJ ET', $xdk, (($this->h - $basefonty) * $k), $txt2); + if (isset($uniblock)) { // @phpstan-ignore-line + // print overlapping characters as separate string + $xshift = 0; // horizontal shift + $ty = (($this->h - $basefonty + (0.2 * $this->FontSize)) * $k); + $spw = (($w - $txwidth - $this->cell_padding['L'] - $this->cell_padding['R']) / ($ns?$ns:1)); + foreach ($uniblock as $uk => $uniarr) { // @phpstan-ignore-line + if (($uk % 2) == 0) { + // x space to skip + if ($spacewidth != 0) { + // justification shift + $xshift += (count(array_keys($uniarr, 32)) * $spw); + } + $xshift += $this->GetArrStringWidth($uniarr); // + shift justification + } else { + // character to print + $topchr = TCPDF_FONTS::arrUTF8ToUTF16BE($uniarr, false); + $topchr = TCPDF_STATIC::_escape($topchr); + $s .= sprintf(' BT %F %F Td [(%s)] TJ ET', ($xdk + ($xshift * $k)), $ty, $topchr); + } + } + } + if ($this->underline) { + $s .= ' '.$this->_dounderlinew($xdx, $basefonty, $width); + } + if ($this->linethrough) { + $s .= ' '.$this->_dolinethroughw($xdx, $basefonty, $width); + } + if ($this->overline) { + $s .= ' '.$this->_dooverlinew($xdx, $basefonty, $width); + } + if ($this->ColorFlag AND ($this->textrendermode < 4)) { + $s .= ' Q'; + } + if ($link) { + $this->Link($xdx, $yt, $width, ($this->FontAscent + $this->FontDescent), $link, $ns); + } + } + // output cell + if ($s) { + // output cell + $rs .= $s; + if ($this->font_spacing != 0) { + // reset font spacing mode + $rs .= ' BT 0 Tc ET'; + } + if ($this->font_stretching != 100) { + // reset font stretching mode + $rs .= ' BT 100 Tz ET'; + } + } + // reset word spacing + if (!$this->isUnicodeFont() AND ($align == 'J')) { + $rs .= ' BT 0 Tw ET'; + } + // reset stretching and spacing + $this->font_stretching = $prev_font_stretching; + $this->font_spacing = $prev_font_spacing; + $this->lasth = $h; + if ($ln > 0) { + //Go to the beginning of the next line + $this->y = $y + $h + $this->cell_margin['B']; + if ($ln == 1) { + if ($this->rtl) { + $this->x = $this->w - $this->rMargin; + } else { + $this->x = $this->lMargin; + } + } + } else { + // go left or right by case + if ($this->rtl) { + $this->x = $x - $w - $this->cell_margin['L']; + } else { + $this->x = $x + $w + $this->cell_margin['R']; + } + } + $gstyles = ''.$this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor.' '.$this->FillColor."\n"; + $rs = $gstyles.$rs; + $this->cell_padding = $prev_cell_padding; + $this->cell_margin = $prev_cell_margin; + return $rs; + } + + /** + * Replace a char if is defined on the current font. + * @param int $oldchar Integer code (unicode) of the character to replace. + * @param int $newchar Integer code (unicode) of the new character. + * @return int the replaced char or the old char in case the new char i not defined + * @protected + * @since 5.9.167 (2012-06-22) + */ + protected function replaceChar($oldchar, $newchar) { + if ($this->isCharDefined($newchar)) { + // add the new char on the subset list + $this->CurrentFont['subsetchars'][$newchar] = true; + // return the new character + return $newchar; + } + // return the old char + return $oldchar; + } + + /** + * Returns the code to draw the cell border + * @param float $x X coordinate. + * @param float $y Y coordinate. + * @param float $w Cell width. + * @param float $h Cell height. + * @param string|array|int $brd Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @return string containing cell border code + * @protected + * @see SetLineStyle() + * @since 5.7.000 (2010-08-02) + */ + protected function getCellBorder($x, $y, $w, $h, $brd) { + $s = ''; // string to be returned + if (empty($brd)) { + return $s; + } + if ($brd == 1) { + $brd = array('LRTB' => true); + } + // calculate coordinates for border + $k = $this->k; + if ($this->rtl) { + $xeL = ($x - $w) * $k; + $xeR = $x * $k; + } else { + $xeL = $x * $k; + $xeR = ($x + $w) * $k; + } + $yeL = (($this->h - ($y + $h)) * $k); + $yeT = (($this->h - $y) * $k); + $xeT = $xeL; + $xeB = $xeR; + $yeR = $yeT; + $yeB = $yeL; + if (is_string($brd)) { + // convert string to array + $slen = strlen($brd); + $newbrd = array(); + for ($i = 0; $i < $slen; ++$i) { + $newbrd[$brd[$i]] = array('cap' => 'square', 'join' => 'miter'); + } + $brd = $newbrd; + } + if (isset($brd['mode'])) { + $mode = $brd['mode']; + unset($brd['mode']); + } else { + $mode = 'normal'; + } + foreach ($brd as $border => $style) { + if (is_array($style) AND !empty($style)) { + // apply border style + $prev_style = $this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor.' '; + $s .= $this->setLineStyle($style, true)."\n"; + } + switch ($mode) { + case 'ext': { + $off = (($this->LineWidth / 2) * $k); + $xL = $xeL - $off; + $xR = $xeR + $off; + $yT = $yeT + $off; + $yL = $yeL - $off; + $xT = $xL; + $xB = $xR; + $yR = $yT; + $yB = $yL; + $w += $this->LineWidth; + $h += $this->LineWidth; + break; + } + case 'int': { + $off = ($this->LineWidth / 2) * $k; + $xL = $xeL + $off; + $xR = $xeR - $off; + $yT = $yeT - $off; + $yL = $yeL + $off; + $xT = $xL; + $xB = $xR; + $yR = $yT; + $yB = $yL; + $w -= $this->LineWidth; + $h -= $this->LineWidth; + break; + } + case 'normal': + default: { + $xL = $xeL; + $xT = $xeT; + $xB = $xeB; + $xR = $xeR; + $yL = $yeL; + $yT = $yeT; + $yB = $yeB; + $yR = $yeR; + break; + } + } + // draw borders by case + if (strlen($border) == 4) { + $s .= sprintf('%F %F %F %F re S ', $xT, $yT, ($w * $k), (-$h * $k)); + } elseif (strlen($border) == 3) { + if (strpos($border,'B') === false) { // LTR + $s .= sprintf('%F %F m ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= 'S '; + } elseif (strpos($border,'L') === false) { // TRB + $s .= sprintf('%F %F m ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= 'S '; + } elseif (strpos($border,'T') === false) { // RBL + $s .= sprintf('%F %F m ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= 'S '; + } elseif (strpos($border,'R') === false) { // BLT + $s .= sprintf('%F %F m ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= 'S '; + } + } elseif (strlen($border) == 2) { + if ((strpos($border,'L') !== false) AND (strpos($border,'T') !== false)) { // LT + $s .= sprintf('%F %F m ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= 'S '; + } elseif ((strpos($border,'T') !== false) AND (strpos($border,'R') !== false)) { // TR + $s .= sprintf('%F %F m ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= 'S '; + } elseif ((strpos($border,'R') !== false) AND (strpos($border,'B') !== false)) { // RB + $s .= sprintf('%F %F m ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= 'S '; + } elseif ((strpos($border,'B') !== false) AND (strpos($border,'L') !== false)) { // BL + $s .= sprintf('%F %F m ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= 'S '; + } elseif ((strpos($border,'L') !== false) AND (strpos($border,'R') !== false)) { // LR + $s .= sprintf('%F %F m ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= 'S '; + $s .= sprintf('%F %F m ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= 'S '; + } elseif ((strpos($border,'T') !== false) AND (strpos($border,'B') !== false)) { // TB + $s .= sprintf('%F %F m ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= 'S '; + $s .= sprintf('%F %F m ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= 'S '; + } + } else { // strlen($border) == 1 + if (strpos($border,'L') !== false) { // L + $s .= sprintf('%F %F m ', $xL, $yL); + $s .= sprintf('%F %F l ', $xT, $yT); + $s .= 'S '; + } elseif (strpos($border,'T') !== false) { // T + $s .= sprintf('%F %F m ', $xT, $yT); + $s .= sprintf('%F %F l ', $xR, $yR); + $s .= 'S '; + } elseif (strpos($border,'R') !== false) { // R + $s .= sprintf('%F %F m ', $xR, $yR); + $s .= sprintf('%F %F l ', $xB, $yB); + $s .= 'S '; + } elseif (strpos($border,'B') !== false) { // B + $s .= sprintf('%F %F m ', $xB, $yB); + $s .= sprintf('%F %F l ', $xL, $yL); + $s .= 'S '; + } + } + if (is_array($style) AND !empty($style)) { + // reset border style to previous value + $s .= "\n".$this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor."\n"; + } + } + return $s; + } + + /** + * This method allows printing text with line breaks. + * They can be automatic (as soon as the text reaches the right border of the cell) or explicit (via the \n character). As many cells as necessary are output, one below the other.
      + * Text can be aligned, centered or justified. The cell block can be framed and the background painted. + * @param float $w Width of cells. If 0, they extend up to the right margin of the page. + * @param float $h Cell minimum height. The cell extends automatically if needed. + * @param string $txt String to print + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param string $align Allows to center or align the text. Possible values are:
      • L or empty string: left align
      • C: center
      • R: right align
      • J: justification (default value when $ishtml=false)
      + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param int $ln Indicates where the current position should go after the call. Possible values are:
      • 0: to the right
      • 1: to the beginning of the next line [DEFAULT]
      • 2: below
      + * @param float|null $x x position in user units + * @param float|null $y y position in user units + * @param boolean $reseth if true reset the last cell height (default true). + * @param int $stretch font stretch mode:
      • 0 = disabled
      • 1 = horizontal scaling only if text is larger than cell width
      • 2 = forced horizontal scaling to fit cell width
      • 3 = character spacing only if text is larger than cell width
      • 4 = forced character spacing to fit cell width
      General font stretching and scaling values will be preserved when possible. + * @param boolean $ishtml INTERNAL USE ONLY -- set to true if $txt is HTML content (default = false). Never set this parameter to true, use instead writeHTMLCell() or writeHTML() methods. + * @param boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width. + * @param float $maxh maximum height. It should be >= $h and less then remaining space to the bottom of the page, or 0 for disable this feature. This feature works only when $ishtml=false. + * @param string $valign Vertical alignment of text (requires $maxh = $h > 0). Possible values are:
      • T: TOP
      • M: middle
      • B: bottom
      . This feature works only when $ishtml=false and the cell must fit in a single page. + * @param boolean $fitcell if true attempt to fit all the text within the cell by reducing the font size (do not work in HTML mode). $maxh must be greater than 0 and equal to $h. + * @return int Return the number of cells or 1 for html mode. + * @public + * @since 1.3 + * @see SetFont(), SetDrawColor(), SetFillColor(), SetTextColor(), SetLineWidth(), Cell(), Write(), SetAutoPageBreak() + */ + public function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false, $ln=1, $x=null, $y=null, $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0, $valign='T', $fitcell=false) { + $prev_cell_margin = $this->cell_margin; + $prev_cell_padding = $this->cell_padding; + // adjust internal padding + $this->adjustCellPadding($border); + $mc_padding = $this->cell_padding; + $mc_margin = $this->cell_margin; + $this->cell_padding['T'] = 0; + $this->cell_padding['B'] = 0; + $this->setCellMargins(0, 0, 0, 0); + if (TCPDF_STATIC::empty_string($this->lasth) OR $reseth) { + // reset row height + $this->resetLastH(); + } + if (!TCPDF_STATIC::empty_string($y)) { + $this->setY($y); // set y in order to convert negative y values to positive ones + } + $y = $this->GetY(); + $resth = 0; + if (($h > 0) AND $this->inPageBody() AND (($y + $h + $mc_margin['T'] + $mc_margin['B']) > $this->PageBreakTrigger)) { + // spit cell in more pages/columns + $newh = ($this->PageBreakTrigger - $y); + $resth = ($h - $newh); // cell to be printed on the next page/column + $h = $newh; + } + // get current page number + $startpage = $this->page; + // get current column + $startcolumn = $this->current_column; + if (!TCPDF_STATIC::empty_string($x)) { + $this->setX($x); + } else { + $x = $this->GetX(); + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions(0, $x, $y); + // apply margins + $oy = $y + $mc_margin['T']; + if ($this->rtl) { + $ox = ($this->w - $x - $mc_margin['R']); + } else { + $ox = ($x + $mc_margin['L']); + } + $this->x = $ox; + $this->y = $oy; + // set width + if (TCPDF_STATIC::empty_string($w) OR ($w <= 0)) { + if ($this->rtl) { + $w = ($this->x - $this->lMargin - $mc_margin['L']); + } else { + $w = ($this->w - $this->x - $this->rMargin - $mc_margin['R']); + } + } + // store original margin values + $lMargin = $this->lMargin; + $rMargin = $this->rMargin; + if ($this->rtl) { + $this->rMargin = ($this->w - $this->x); + $this->lMargin = ($this->x - $w); + } else { + $this->lMargin = ($this->x); + $this->rMargin = ($this->w - $this->x - $w); + } + $this->clMargin = $this->lMargin; + $this->crMargin = $this->rMargin; + if ($autopadding) { + // add top padding + $this->y += $mc_padding['T']; + } + if ($ishtml) { // ******* Write HTML text + $this->writeHTML($txt, true, false, $reseth, true, $align); + $nl = 1; + } else { // ******* Write simple text + $prev_FontSizePt = $this->FontSizePt; + if ($fitcell) { + // ajust height values + $tobottom = ($this->h - $this->y - $this->bMargin - $this->cell_padding['T'] - $this->cell_padding['B']); + $h = $maxh = max(min($h, $tobottom), min($maxh, $tobottom)); + } + // vertical alignment + if ($maxh > 0) { + // get text height + $text_height = $this->getStringHeight($w, $txt, $reseth, $autopadding, $mc_padding, $border); + if ($fitcell AND ($text_height > $maxh) AND ($this->FontSizePt > 1)) { + // try to reduce font size to fit text on cell (use a quick search algorithm) + $fmin = 1; + $fmax = $this->FontSizePt; + $diff_epsilon = (1 / $this->k); // one point (min resolution) + $maxit = (2 * min(100, max(10, intval($fmax)))); // max number of iterations + while ($maxit >= 0) { + $fmid = (($fmax + $fmin) / 2); + $this->setFontSize($fmid, false); + $this->resetLastH(); + $text_height = $this->getStringHeight($w, $txt, $reseth, $autopadding, $mc_padding, $border); + $diff = ($maxh - $text_height); + if ($diff >= 0) { + if ($diff <= $diff_epsilon) { + break; + } + $fmin = $fmid; + } else { + $fmax = $fmid; + } + --$maxit; + } + if ($maxit < 0) { + // premature exit, we get the minimum font value to fit the cell + $this->setFontSize($fmin); + $this->resetLastH(); + $text_height = $this->getStringHeight($w, $txt, $reseth, $autopadding, $mc_padding, $border); + } else { + $this->setFontSize($fmid); + $this->resetLastH(); + } + } + if ($text_height < $maxh) { + if ($valign == 'M') { + // text vertically centered + $this->y += (($maxh - $text_height) / 2); + } elseif ($valign == 'B') { + // text vertically aligned on bottom + $this->y += ($maxh - $text_height); + } + } + } + $nl = $this->Write($this->lasth, $txt, '', 0, $align, true, $stretch, false, true, $maxh, 0, $mc_margin); + if ($fitcell) { + // restore font size + $this->setFontSize($prev_FontSizePt); + } + } + if ($autopadding) { + // add bottom padding + $this->y += $mc_padding['B']; + } + // Get end-of-text Y position + $currentY = $this->y; + // get latest page number + $endpage = $this->page; + if ($resth > 0) { + $skip = ($endpage - $startpage); + $tmpresth = $resth; + while ($tmpresth > 0) { + if ($skip <= 0) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + } + if ($this->num_columns > 1) { + $tmpresth -= ($this->h - $this->y - $this->bMargin); + } else { + $tmpresth -= ($this->h - $this->tMargin - $this->bMargin); + } + --$skip; + } + $currentY = $this->y; + $endpage = $this->page; + } + // get latest column + $endcolumn = $this->current_column; + if ($this->num_columns == 0) { + $this->num_columns = 1; + } + // disable page regions check + $check_page_regions = $this->check_page_regions; + $this->check_page_regions = false; + // get border modes + $border_start = TCPDF_STATIC::getBorderMode($border, $position='start', $this->opencell); + $border_end = TCPDF_STATIC::getBorderMode($border, $position='end', $this->opencell); + $border_middle = TCPDF_STATIC::getBorderMode($border, $position='middle', $this->opencell); + // design borders around HTML cells. + for ($page = $startpage; $page <= $endpage; ++$page) { // for each page + $ccode = ''; + $this->setPage($page); + if ($this->num_columns < 2) { + // single-column mode + $this->setX($x); + $this->y = $this->tMargin; + } + // account for margin changes + if ($page > $startpage) { + if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); + } + } + if ($startpage == $endpage) { + // single page + for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column + if ($column != $this->current_column) { + $this->selectColumn($column); + } + if ($this->rtl) { + $this->x -= $mc_margin['R']; + } else { + $this->x += $mc_margin['L']; + } + if ($startcolumn == $endcolumn) { // single column + $cborder = $border; + $h = max($h, ($currentY - $oy)); + $this->y = $oy; + } elseif ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $oy; + $h = $this->h - $this->y - $this->bMargin; + } elseif ($column == $endcolumn) { // end column + $cborder = $border_end; + $h = $currentY - $this->y; + if ($resth > $h) { + $h = $resth; + } + } else { // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $startpage) { // first page + for ($column = $startcolumn; $column < $this->num_columns; ++$column) { // for each column + if ($column != $this->current_column) { + $this->selectColumn($column); + } + if ($this->rtl) { + $this->x -= $mc_margin['R']; + } else { + $this->x += $mc_margin['L']; + } + if ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $oy; + $h = $this->h - $this->y - $this->bMargin; + } else { // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $endpage) { // last page + for ($column = 0; $column <= $endcolumn; ++$column) { // for each column + if ($column != $this->current_column) { + $this->selectColumn($column); + } + if ($this->rtl) { + $this->x -= $mc_margin['R']; + } else { + $this->x += $mc_margin['L']; + } + if ($column == $endcolumn) { + // end column + $cborder = $border_end; + $h = $currentY - $this->y; + if ($resth > $h) { + $h = $resth; + } + } else { + // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } else { // middle page + for ($column = 0; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + if ($this->rtl) { + $this->x -= $mc_margin['R']; + } else { + $this->x += $mc_margin['L']; + } + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } + if ($cborder OR $fill) { + $offsetlen = strlen($ccode); + // draw border and fill + if ($this->inxobj) { + // we are inside an XObject template + if (end($this->xobjects[$this->xobjid]['transfmrk']) !== false) { + $pagemarkkey = key($this->xobjects[$this->xobjid]['transfmrk']); + $pagemark = $this->xobjects[$this->xobjid]['transfmrk'][$pagemarkkey]; + $this->xobjects[$this->xobjid]['transfmrk'][$pagemarkkey] += $offsetlen; + } else { + $pagemark = $this->xobjects[$this->xobjid]['intmrk']; + $this->xobjects[$this->xobjid]['intmrk'] += $offsetlen; + } + $pagebuff = $this->xobjects[$this->xobjid]['outdata']; + $pstart = substr($pagebuff, 0, $pagemark); + $pend = substr($pagebuff, $pagemark); + $this->xobjects[$this->xobjid]['outdata'] = $pstart.$ccode.$pend; + } else { + if (end($this->transfmrk[$this->page]) !== false) { + $pagemarkkey = key($this->transfmrk[$this->page]); + $pagemark = $this->transfmrk[$this->page][$pagemarkkey]; + $this->transfmrk[$this->page][$pagemarkkey] += $offsetlen; + } elseif ($this->InFooter) { + $pagemark = $this->footerpos[$this->page]; + $this->footerpos[$this->page] += $offsetlen; + } else { + $pagemark = $this->intmrk[$this->page]; + $this->intmrk[$this->page] += $offsetlen; + } + $pagebuff = $this->getPageBuffer($this->page); + $pstart = substr($pagebuff, 0, $pagemark); + $pend = substr($pagebuff, $pagemark); + $this->setPageBuffer($this->page, $pstart.$ccode.$pend); + } + } + } // end for each page + // restore page regions check + $this->check_page_regions = $check_page_regions; + // Get end-of-cell Y position + $currentY = $this->GetY(); + // restore previous values + if ($this->num_columns > 1) { + $this->selectColumn(); + } else { + // restore original margins + $this->lMargin = $lMargin; + $this->rMargin = $rMargin; + if ($this->page > $startpage) { + // check for margin variations between pages (i.e. booklet mode) + $dl = ($this->pagedim[$this->page]['olm'] - $this->pagedim[$startpage]['olm']); + $dr = ($this->pagedim[$this->page]['orm'] - $this->pagedim[$startpage]['orm']); + if (($dl != 0) OR ($dr != 0)) { + $this->lMargin += $dl; + $this->rMargin += $dr; + } + } + } + if ($ln > 0) { + //Go to the beginning of the next line + $this->setY($currentY + $mc_margin['B']); + if ($ln == 2) { + $this->setX($x + $w + $mc_margin['L'] + $mc_margin['R']); + } + } else { + // go left or right by case + $this->setPage($startpage); + $this->y = $y; + $this->setX($x + $w + $mc_margin['L'] + $mc_margin['R']); + } + $this->setContentMark(); + $this->cell_padding = $prev_cell_padding; + $this->cell_margin = $prev_cell_margin; + $this->clMargin = $this->lMargin; + $this->crMargin = $this->rMargin; + return $nl; + } + + /** + * This method return the estimated number of lines for print a simple text string using Multicell() method. + * @param string $txt String for calculating his height + * @param float $w Width of cells. If 0, they extend up to the right margin of the page. + * @param boolean $reseth if true reset the last cell height (default false). + * @param boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width (default true). + * @param array|null $cellpadding Internal cell padding, if empty uses default cell padding. + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @return float Return the minimal height needed for multicell method for printing the $txt param. + * @author Alexander Escalona Fern\E1ndez, Nicola Asuni + * @public + * @since 4.5.011 + */ + public function getNumLines($txt, $w=0, $reseth=false, $autopadding=true, $cellpadding=null, $border=0) { + if ($txt === NULL) { + return 0; + } + if ($txt === '') { + // empty string + return 1; + } + // adjust internal padding + $prev_cell_padding = $this->cell_padding; + $prev_lasth = $this->lasth; + if (is_array($cellpadding)) { + $this->cell_padding = $cellpadding; + } + $this->adjustCellPadding($border); + if (TCPDF_STATIC::empty_string($w) OR ($w <= 0)) { + if ($this->rtl) { + $w = $this->x - $this->lMargin; + } else { + $w = $this->w - $this->rMargin - $this->x; + } + } + $wmax = $w - $this->cell_padding['L'] - $this->cell_padding['R']; + if ($reseth) { + // reset row height + $this->resetLastH(); + } + $lines = 1; + $sum = 0; + $chars = TCPDF_FONTS::utf8Bidi(TCPDF_FONTS::UTF8StringToArray($txt, $this->isunicode, $this->CurrentFont), $txt, $this->tmprtl, $this->isunicode, $this->CurrentFont); + $charsWidth = $this->GetArrStringWidth($chars, '', '', 0, true); + $length = count($chars); + $lastSeparator = -1; + for ($i = 0; $i < $length; ++$i) { + $c = $chars[$i]; + $charWidth = $charsWidth[$i]; + if (($c != 160) + AND (($c == 173) + OR preg_match($this->re_spaces, TCPDF_FONTS::unichr($c, $this->isunicode)) + OR (($c == 45) + AND ($i > 0) AND ($i < ($length - 1)) + AND @preg_match('/[\p{L}]/'.$this->re_space['m'], TCPDF_FONTS::unichr($chars[($i - 1)], $this->isunicode)) + AND @preg_match('/[\p{L}]/'.$this->re_space['m'], TCPDF_FONTS::unichr($chars[($i + 1)], $this->isunicode)) + ) + ) + ) { + $lastSeparator = $i; + } + if ((($sum + $charWidth) > $wmax) OR ($c == 10)) { + ++$lines; + if ($c == 10) { + $lastSeparator = -1; + $sum = 0; + } elseif ($lastSeparator != -1) { + $i = $lastSeparator; + $lastSeparator = -1; + $sum = 0; + } else { + $sum = $charWidth; + } + } else { + $sum += $charWidth; + } + } + if ($chars[($length - 1)] == 10) { + --$lines; + } + $this->cell_padding = $prev_cell_padding; + $this->lasth = $prev_lasth; + return $lines; + } + + /** + * This method return the estimated height needed for printing a simple text string using the Multicell() method. + * Generally, if you want to know the exact height for a block of content you can use the following alternative technique: + * @pre + * // store current object + * $pdf->startTransaction(); + * // store starting values + * $start_y = $pdf->GetY(); + * $start_page = $pdf->getPage(); + * // call your printing functions with your parameters + * // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * $pdf->MultiCell($w=0, $h=0, $txt, $border=1, $align='L', $fill=false, $ln=1, $x=null, $y=null, $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0); + * // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + * // get the new Y + * $end_y = $pdf->GetY(); + * $end_page = $pdf->getPage(); + * // calculate height + * $height = 0; + * if ($end_page == $start_page) { + * $height = $end_y - $start_y; + * } else { + * for ($page=$start_page; $page <= $end_page; ++$page) { + * $this->setPage($page); + * if ($page == $start_page) { + * // first page + * $height += $this->h - $start_y - $this->bMargin; + * } elseif ($page == $end_page) { + * // last page + * $height += $end_y - $this->tMargin; + * } else { + * $height += $this->h - $this->tMargin - $this->bMargin; + * } + * } + * } + * // restore previous object + * $pdf = $pdf->rollbackTransaction(); + * + * @param float $w Width of cells. If 0, they extend up to the right margin of the page. + * @param string $txt String for calculating his height + * @param boolean $reseth if true reset the last cell height (default false). + * @param boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width (default true). + * @param array|null $cellpadding Internal cell padding, if empty uses default cell padding. + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @return float Return the minimal height needed for multicell method for printing the $txt param. + * @author Nicola Asuni, Alexander Escalona Fern\E1ndez + * @public + */ + public function getStringHeight($w, $txt, $reseth=false, $autopadding=true, $cellpadding=null, $border=0) { + // adjust internal padding + $prev_cell_padding = $this->cell_padding; + $prev_lasth = $this->lasth; + if (is_array($cellpadding)) { + $this->cell_padding = $cellpadding; + } + $this->adjustCellPadding($border); + $lines = $this->getNumLines($txt, $w, $reseth, $autopadding, $cellpadding, $border); + $height = $this->getCellHeight(($lines * $this->FontSize), $autopadding); + $this->cell_padding = $prev_cell_padding; + $this->lasth = $prev_lasth; + return $height; + } + + /** + * This method prints text from the current position.
      + * @param float $h Line height + * @param string $txt String to print + * @param mixed $link URL or identifier returned by AddLink() + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param string $align Allows to center or align the text. Possible values are:
      • L or empty string: left align (default value)
      • C: center
      • R: right align
      • J: justify
      + * @param boolean $ln if true set cursor at the bottom of the line, otherwise set cursor at the top of the line. + * @param int $stretch font stretch mode:
      • 0 = disabled
      • 1 = horizontal scaling only if text is larger than cell width
      • 2 = forced horizontal scaling to fit cell width
      • 3 = character spacing only if text is larger than cell width
      • 4 = forced character spacing to fit cell width
      General font stretching and scaling values will be preserved when possible. + * @param boolean $firstline if true prints only the first line and return the remaining string. + * @param boolean $firstblock if true the string is the starting of a line. + * @param float $maxh maximum height. It should be >= $h and less then remaining space to the bottom of the page, or 0 for disable this feature. + * @param float $wadj first line width will be reduced by this amount (used in HTML mode). + * @param array|null $margin margin array of the parent container + * @return mixed Return the number of cells or the remaining string if $firstline = true. + * @public + * @since 1.5 + */ + public function Write($h, $txt, $link='', $fill=false, $align='', $ln=false, $stretch=0, $firstline=false, $firstblock=false, $maxh=0, $wadj=0, $margin=null) { + // check page for no-write regions and adapt page margins if necessary + list($this->x, $this->y) = $this->checkPageRegions($h, $this->x, $this->y); + if (strlen($txt) == 0) { + // fix empty text + $txt = ' '; + } + if (!is_array($margin)) { + // set default margins + $margin = $this->cell_margin; + } + // remove carriage returns + $s = str_replace("\r", '', $txt); + // check if string contains arabic text + if (preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_ARABIC, $s)) { + $arabic = true; + } else { + $arabic = false; + } + // check if string contains RTL text + if ($arabic OR ($this->tmprtl == 'R') OR preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_RTL, $s)) { + $rtlmode = true; + } else { + $rtlmode = false; + } + // get a char width + $chrwidth = $this->GetCharWidth(46); // dot character + // get array of unicode values + $chars = TCPDF_FONTS::UTF8StringToArray($s, $this->isunicode, $this->CurrentFont); + // calculate maximum width for a single character on string + $chrw = $this->GetArrStringWidth($chars, '', '', 0, true); + array_walk($chrw, array($this, 'getRawCharWidth')); + $maxchwidth = ((is_array($chrw) || $chrw instanceof Countable) && count($chrw) > 0) ? max($chrw) : 0; + // get array of chars + $uchars = TCPDF_FONTS::UTF8ArrayToUniArray($chars, $this->isunicode); + // get the number of characters + $nb = count($chars); + // replacement for SHY character (minus symbol) + $shy_replacement = 45; + $shy_replacement_char = TCPDF_FONTS::unichr($shy_replacement, $this->isunicode); + // widht for SHY replacement + $shy_replacement_width = $this->GetCharWidth($shy_replacement); + // page width + $pw = $w = $this->w - $this->lMargin - $this->rMargin; + // calculate remaining line width ($w) + if ($this->rtl) { + $w = $this->x - $this->lMargin; + } else { + $w = $this->w - $this->rMargin - $this->x; + } + // max column width + $wmax = ($w - $wadj); + if (!$firstline) { + $wmax -= ($this->cell_padding['L'] + $this->cell_padding['R']); + } + if ((!$firstline) AND (($chrwidth > $wmax) OR ($maxchwidth > $wmax))) { + // the maximum width character do not fit on column + return ''; + } + // minimum row height + $row_height = max($h, $this->getCellHeight($this->FontSize)); + // max Y + $maxy = $this->y + $maxh - max($row_height, $h); + $start_page = $this->page; + $i = 0; // character position + $j = 0; // current starting position + $sep = -1; // position of the last blank space + $prevsep = $sep; // previous separator + $shy = false; // true if the last blank is a soft hypen (SHY) + $prevshy = $shy; // previous shy mode + $l = 0; // current string length + $nl = 0; //number of lines + $linebreak = false; + $pc = 0; // previous character + // for each character + while ($i < $nb) { + if (($maxh > 0) AND ($this->y > $maxy) ) { + break; + } + //Get the current character + $c = $chars[$i]; + if ($c == 10) { // 10 = "\n" = new line + //Explicit line break + if ($align == 'J') { + if ($this->rtl) { + $talign = 'R'; + } else { + $talign = 'L'; + } + } else { + $talign = $align; + } + $tmpstr = TCPDF_FONTS::UniArrSubString($uchars, $j, $i); + if ($firstline) { + $startx = $this->x; + $tmparr = array_slice($chars, $j, ($i - $j)); + if ($rtlmode) { + $tmparr = TCPDF_FONTS::utf8Bidi($tmparr, $tmpstr, $this->tmprtl, $this->isunicode, $this->CurrentFont); + } + $linew = $this->GetArrStringWidth($tmparr); + unset($tmparr); + if ($this->rtl) { + $this->endlinex = $startx - $linew; + } else { + $this->endlinex = $startx + $linew; + } + $w = $linew; + $tmpcellpadding = $this->cell_padding; + if ($maxh == 0) { + $this->setCellPadding(0); + } + } + if ($firstblock AND $this->isRTLTextDir()) { + $tmpstr = $this->stringRightTrim($tmpstr); + } + // Skip newlines at the beginning of a page or column + if (!empty($tmpstr) OR ($this->y < ($this->PageBreakTrigger - $row_height))) { + $this->Cell($w, $h, $tmpstr, 0, 1, $talign, $fill, $link, $stretch); + } + unset($tmpstr); + if ($firstline) { + $this->cell_padding = $tmpcellpadding; + return (TCPDF_FONTS::UniArrSubString($uchars, $i)); + } + ++$nl; + $j = $i + 1; + $l = 0; + $sep = -1; + $prevsep = $sep; + $shy = false; + // account for margin changes + if ((($this->y + $this->lasth) > $this->PageBreakTrigger) AND ($this->inPageBody())) { + if ($this->AcceptPageBreak()) + { + if ($this->rtl) { + $this->x -= $margin['R']; + } else { + $this->x += $margin['L']; + } + $this->lMargin += $margin['L']; + $this->rMargin += $margin['R']; + } + } + $w = $this->getRemainingWidth(); + $wmax = ($w - $this->cell_padding['L'] - $this->cell_padding['R']); + } else { + // 160 is the non-breaking space. + // 173 is SHY (Soft Hypen). + // \p{Z} or \p{Separator}: any kind of Unicode whitespace or invisible separator. + // \p{Lo} or \p{Other_Letter}: a Unicode letter or ideograph that does not have lowercase and uppercase variants. + // \p{Lo} is needed because Chinese characters are packed next to each other without spaces in between. + if (($c != 160) + AND (($c == 173) + OR preg_match($this->re_spaces, TCPDF_FONTS::unichr($c, $this->isunicode)) + OR (($c == 45) + AND ($i < ($nb - 1)) + AND @preg_match('/[\p{L}]/'.$this->re_space['m'], TCPDF_FONTS::unichr($pc, $this->isunicode)) + AND @preg_match('/[\p{L}]/'.$this->re_space['m'], TCPDF_FONTS::unichr($chars[($i + 1)], $this->isunicode)) + ) + ) + ) { + // update last blank space position + $prevsep = $sep; + $sep = $i; + // check if is a SHY + if (($c == 173) OR ($c == 45)) { + $prevshy = $shy; + $shy = true; + if ($pc == 45) { + $tmp_shy_replacement_width = 0; + $tmp_shy_replacement_char = ''; + } else { + $tmp_shy_replacement_width = $shy_replacement_width; + $tmp_shy_replacement_char = $shy_replacement_char; + } + } else { + $shy = false; + } + } + // update string length + if ($this->isUnicodeFont() AND ($arabic)) { + // with bidirectional algorithm some chars may be changed affecting the line length + // *** very slow *** + $l = $this->GetArrStringWidth(TCPDF_FONTS::utf8Bidi(array_slice($chars, $j, ($i - $j)), '', $this->tmprtl, $this->isunicode, $this->CurrentFont)); + } else { + $l += $this->GetCharWidth($c, ($i+1 < $nb)); + } + if (($l > $wmax) OR (($c == 173) AND (($l + $tmp_shy_replacement_width) >= $wmax))) { + if (($c == 173) AND (($l + $tmp_shy_replacement_width) > $wmax)) { + $sep = $prevsep; + $shy = $prevshy; + } + // we have reached the end of column + if ($sep == -1) { + // check if the line was already started + if (($this->rtl AND ($this->x <= ($this->w - $this->rMargin - $this->cell_padding['R'] - $margin['R'] - $chrwidth))) + OR ((!$this->rtl) AND ($this->x >= ($this->lMargin + $this->cell_padding['L'] + $margin['L'] + $chrwidth)))) { + // print a void cell and go to next line + $this->Cell($w, $h, '', 0, 1); + $linebreak = true; + if ($firstline) { + return (TCPDF_FONTS::UniArrSubString($uchars, $j)); + } + } else { + // truncate the word because do not fit on column + $tmpstr = TCPDF_FONTS::UniArrSubString($uchars, $j, $i); + if ($firstline) { + $startx = $this->x; + $tmparr = array_slice($chars, $j, ($i - $j)); + if ($rtlmode) { + $tmparr = TCPDF_FONTS::utf8Bidi($tmparr, $tmpstr, $this->tmprtl, $this->isunicode, $this->CurrentFont); + } + $linew = $this->GetArrStringWidth($tmparr); + unset($tmparr); + if ($this->rtl) { + $this->endlinex = $startx - $linew; + } else { + $this->endlinex = $startx + $linew; + } + $w = $linew; + $tmpcellpadding = $this->cell_padding; + if ($maxh == 0) { + $this->setCellPadding(0); + } + } + if ($firstblock AND $this->isRTLTextDir()) { + $tmpstr = $this->stringRightTrim($tmpstr); + } + $this->Cell($w, $h, $tmpstr, 0, 1, $align, $fill, $link, $stretch); + unset($tmpstr); + if ($firstline) { + $this->cell_padding = $tmpcellpadding; + return (TCPDF_FONTS::UniArrSubString($uchars, $i)); + } + $j = $i; + --$i; + } + } else { + // word wrapping + if ($this->rtl AND (!$firstblock) AND ($sep < $i)) { + $endspace = 1; + } else { + $endspace = 0; + } + // check the length of the next string + $strrest = TCPDF_FONTS::UniArrSubString($uchars, ($sep + $endspace)); + $nextstr = TCPDF_STATIC::pregSplit('/'.$this->re_space['p'].'/', $this->re_space['m'], $this->stringTrim($strrest)); + if (isset($nextstr[0]) AND ($this->GetStringWidth($nextstr[0]) > $pw)) { + // truncate the word because do not fit on a full page width + $tmpstr = TCPDF_FONTS::UniArrSubString($uchars, $j, $i); + if ($firstline) { + $startx = $this->x; + $tmparr = array_slice($chars, $j, ($i - $j)); + if ($rtlmode) { + $tmparr = TCPDF_FONTS::utf8Bidi($tmparr, $tmpstr, $this->tmprtl, $this->isunicode, $this->CurrentFont); + } + $linew = $this->GetArrStringWidth($tmparr); + unset($tmparr); + if ($this->rtl) { + $this->endlinex = ($startx - $linew); + } else { + $this->endlinex = ($startx + $linew); + } + $w = $linew; + $tmpcellpadding = $this->cell_padding; + if ($maxh == 0) { + $this->setCellPadding(0); + } + } + if ($firstblock AND $this->isRTLTextDir()) { + $tmpstr = $this->stringRightTrim($tmpstr); + } + $this->Cell($w, $h, $tmpstr, 0, 1, $align, $fill, $link, $stretch); + unset($tmpstr); + if ($firstline) { + $this->cell_padding = $tmpcellpadding; + return (TCPDF_FONTS::UniArrSubString($uchars, $i)); + } + $j = $i; + --$i; + } else { + // word wrapping + if ($shy) { + // add hypen (minus symbol) at the end of the line + $shy_width = $tmp_shy_replacement_width; + if ($this->rtl) { + $shy_char_left = $tmp_shy_replacement_char; + $shy_char_right = ''; + } else { + $shy_char_left = ''; + $shy_char_right = $tmp_shy_replacement_char; + } + } else { + $shy_width = 0; + $shy_char_left = ''; + $shy_char_right = ''; + } + $tmpstr = TCPDF_FONTS::UniArrSubString($uchars, $j, ($sep + $endspace)); + if ($firstline) { + $startx = $this->x; + $tmparr = array_slice($chars, $j, (($sep + $endspace) - $j)); + if ($rtlmode) { + $tmparr = TCPDF_FONTS::utf8Bidi($tmparr, $tmpstr, $this->tmprtl, $this->isunicode, $this->CurrentFont); + } + $linew = $this->GetArrStringWidth($tmparr); + unset($tmparr); + if ($this->rtl) { + $this->endlinex = $startx - $linew - $shy_width; + } else { + $this->endlinex = $startx + $linew + $shy_width; + } + $w = $linew; + $tmpcellpadding = $this->cell_padding; + if ($maxh == 0) { + $this->setCellPadding(0); + } + } + // print the line + if ($firstblock AND $this->isRTLTextDir()) { + $tmpstr = $this->stringRightTrim($tmpstr); + } + $this->Cell($w, $h, $shy_char_left.$tmpstr.$shy_char_right, 0, 1, $align, $fill, $link, $stretch); + unset($tmpstr); + if ($firstline) { + if ($chars[$sep] == 45) { + $endspace += 1; + } + // return the remaining text + $this->cell_padding = $tmpcellpadding; + return (TCPDF_FONTS::UniArrSubString($uchars, ($sep + $endspace))); + } + $i = $sep; + $sep = -1; + $shy = false; + $j = ($i + 1); + } + } + // account for margin changes + if ((($this->y + $this->lasth) > $this->PageBreakTrigger) AND ($this->inPageBody())) { + if ($this->AcceptPageBreak()) + { + if ($this->rtl) { + $this->x -= $margin['R']; + } else { + $this->x += $margin['L']; + } + $this->lMargin += $margin['L']; + $this->rMargin += $margin['R']; + } + } + $w = $this->getRemainingWidth(); + $wmax = $w - $this->cell_padding['L'] - $this->cell_padding['R']; + if ($linebreak) { + $linebreak = false; + } else { + ++$nl; + $l = 0; + } + } + } + // save last character + $pc = $c; + ++$i; + } // end while i < nb + // print last substring (if any) + if ($l > 0) { + switch ($align) { + case 'J': + case 'C': { + break; + } + case 'L': { + if (!$this->rtl) { + $w = $l; + } + break; + } + case 'R': { + if ($this->rtl) { + $w = $l; + } + break; + } + default: { + $w = $l; + break; + } + } + $tmpstr = TCPDF_FONTS::UniArrSubString($uchars, $j, $nb); + if ($firstline) { + $startx = $this->x; + $tmparr = array_slice($chars, $j, ($nb - $j)); + if ($rtlmode) { + $tmparr = TCPDF_FONTS::utf8Bidi($tmparr, $tmpstr, $this->tmprtl, $this->isunicode, $this->CurrentFont); + } + $linew = $this->GetArrStringWidth($tmparr); + unset($tmparr); + if ($this->rtl) { + $this->endlinex = $startx - $linew; + } else { + $this->endlinex = $startx + $linew; + } + $w = $linew; + $tmpcellpadding = $this->cell_padding; + if ($maxh == 0) { + $this->setCellPadding(0); + } + } + if ($firstblock AND $this->isRTLTextDir()) { + $tmpstr = $this->stringRightTrim($tmpstr); + } + $this->Cell($w, $h, $tmpstr, 0, $ln, $align, $fill, $link, $stretch); + unset($tmpstr); + if ($firstline) { + $this->cell_padding = $tmpcellpadding; + return (TCPDF_FONTS::UniArrSubString($uchars, $nb)); + } + ++$nl; + } + if ($firstline) { + return ''; + } + return $nl; + } + + /** + * Returns the remaining width between the current position and margins. + * @return float Return the remaining width + * @protected + */ + protected function getRemainingWidth() { + list($this->x, $this->y) = $this->checkPageRegions(0, $this->x, $this->y); + if ($this->rtl) { + return ($this->x - $this->lMargin); + } else { + return ($this->w - $this->rMargin - $this->x); + } + } + + /** + * Set the block dimensions accounting for page breaks and page/column fitting + * @param float $w width + * @param float $h height + * @param float $x X coordinate + * @param float $y Y coodiante + * @param boolean $fitonpage if true the block is resized to not exceed page dimensions. + * @return array array($w, $h, $x, $y) + * @protected + * @since 5.5.009 (2010-07-05) + */ + protected function fitBlock($w, $h, $x, $y, $fitonpage=false) { + if ($w <= 0) { + // set maximum width + $w = ($this->w - $this->lMargin - $this->rMargin); + if ($w <= 0) { + $w = 1; + } + } + if ($h <= 0) { + // set maximum height + $h = ($this->PageBreakTrigger - $this->tMargin); + if ($h <= 0) { + $h = 1; + } + } + // resize the block to be vertically contained on a single page or single column + if ($fitonpage OR $this->AutoPageBreak) { + $ratio_wh = ($w / $h); + if ($h > ($this->PageBreakTrigger - $this->tMargin)) { + $h = $this->PageBreakTrigger - $this->tMargin; + $w = ($h * $ratio_wh); + } + // resize the block to be horizontally contained on a single page or single column + if ($fitonpage) { + $maxw = ($this->w - $this->lMargin - $this->rMargin); + if ($w > $maxw) { + $w = $maxw; + $h = ($w / $ratio_wh); + } + } + } + // Check whether we need a new page or new column first as this does not fit + $prev_x = $this->x; + $prev_y = $this->y; + if ($this->checkPageBreak($h, $y) OR ($this->y < $prev_y)) { + $y = $this->y; + if ($this->rtl) { + $x += ($prev_x - $this->x); + } else { + $x += ($this->x - $prev_x); + } + $this->newline = true; + } + // resize the block to be contained on the remaining available page or column space + if ($fitonpage) { + // fallback to avoid division by zero + $h = $h == 0 ? 1 : $h; + $ratio_wh = ($w / $h); + if (($y + $h) > $this->PageBreakTrigger) { + $h = $this->PageBreakTrigger - $y; + $w = ($h * $ratio_wh); + } + if ((!$this->rtl) AND (($x + $w) > ($this->w - $this->rMargin))) { + $w = $this->w - $this->rMargin - $x; + $h = ($w / $ratio_wh); + } elseif (($this->rtl) AND (($x - $w) < ($this->lMargin))) { + $w = $x - $this->lMargin; + $h = ($w / $ratio_wh); + } + } + return array($w, $h, $x, $y); + } + + /** + * Puts an image in the page. + * The upper-left corner must be given. + * The dimensions can be specified in different ways:
        + *
      • explicit width and height (expressed in user unit)
      • + *
      • one explicit dimension, the other being calculated automatically in order to keep the original proportions
      • + *
      • no explicit dimension, in which case the image is put at 72 dpi
      + * Supported formats are JPEG and PNG images whitout GD library and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM; + * The format can be specified explicitly or inferred from the file extension.
      + * It is possible to put a link on the image.
      + * Remark: if an image is used several times, only one copy will be embedded in the file.
      + * @param string $file Name of the file containing the image or a '@' character followed by the image data string. To link an image without embedding it on the document, set an asterisk character before the URL (i.e.: '*http://www.example.com/image.jpg'). + * @param float|null $x Abscissa of the upper-left corner (LTR) or upper-right corner (RTL). + * @param float|null $y Ordinate of the upper-left corner (LTR) or upper-right corner (RTL). + * @param float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param string $type Image format. Possible values are (case insensitive): JPEG and PNG (whitout GD library) and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM;. If not specified, the type is inferred from the file extension. + * @param mixed $link URL or identifier returned by AddLink(). + * @param string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:
      • T: top-right for LTR or top-left for RTL
      • M: middle-right for LTR or middle-left for RTL
      • B: bottom-right for LTR or bottom-left for RTL
      • N: next line
      + * @param mixed $resize If true resize (reduce) the image to fit $w and $h (requires GD or ImageMagick library); if false do not resize; if 2 force resize in all cases (upscaling and downscaling). + * @param int $dpi dot-per-inch resolution used on resize + * @param string $palign Allows to center or align the image on the current line. Possible values are:
      • L : left align
      • C : center
      • R : right align
      • '' : empty string : left for LTR or right for RTL
      + * @param boolean $ismask true if this image is a mask, false otherwise + * @param mixed $imgmask image object returned by this function or false + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param mixed $fitbox If not false scale image dimensions proportionally to fit within the ($w, $h) box. $fitbox can be true or a 2 characters string indicating the image alignment inside the box. The first character indicate the horizontal alignment (L = left, C = center, R = right) the second character indicate the vertical algnment (T = top, M = middle, B = bottom). + * @param boolean $hidden If true do not display the image. + * @param boolean $fitonpage If true the image is resized to not exceed page dimensions. + * @param boolean $alt If true the image will be added as alternative and not directly printed (the ID of the image will be returned). + * @param array $altimgs Array of alternate images IDs. Each alternative image must be an array with two values: an integer representing the image ID (the value returned by the Image method) and a boolean value to indicate if the image is the default for printing. + * @return mixed|false image information + * @public + * @since 1.1 + */ + public function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='', $align='', $resize=false, $dpi=300, $palign='', $ismask=false, $imgmask=false, $border=0, $fitbox=false, $hidden=false, $fitonpage=false, $alt=false, $altimgs=array()) { + if ($this->state != 2) { + return false; + } + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + $exurl = ''; // external streams + $imsize = FALSE; + + // Make sure the file variable is not empty or null because accessing $file[0] later + // results in error when running PHP 7.4 + if (empty($file)) { + return false; + } + // check if we are passing an image as file or string + if ($file[0] === '@') { + // image from string + $imgdata = substr($file, 1); + } else { // image file + if ($file[0] === '*') { + // image as external stream + $file = substr($file, 1); + $exurl = $file; + } + // check if file exist and it is valid + if (!@$this->fileExists($file)) { + return false; + } + if (false !== $info = $this->getImageBuffer($file)) { + $imsize = array($info['w'], $info['h']); + } elseif (($imsize = @getimagesize($file)) === FALSE && strpos($file, '__tcpdf_'.$this->file_id.'_img') === FALSE){ + $imgdata = $this->getCachedFileContents($file); + } + } + if (!empty($imgdata)) { + // copy image to cache + $original_file = $file; + $file = TCPDF_STATIC::getObjFilename('img', $this->file_id); + $fp = TCPDF_STATIC::fopenLocal($file, 'w'); + if (!$fp) { + $this->Error('Unable to write file: '.$file); + } + fwrite($fp, $imgdata); + fclose($fp); + unset($imgdata); + $imsize = @getimagesize($file); + if ($imsize === FALSE) { + $this->_unlink($file); + $file = $original_file; + } + } + if ($imsize === FALSE) { + if (($w > 0) AND ($h > 0)) { + // get measures from specified data + $pw = $this->getHTMLUnitToUnits($w, 0, $this->pdfunit, true) * $this->imgscale * $this->k; + $ph = $this->getHTMLUnitToUnits($h, 0, $this->pdfunit, true) * $this->imgscale * $this->k; + $imsize = array($pw, $ph); + } else { + $this->Error('[Image] Unable to get the size of the image: '.$file); + } + } + // file hash + $filehash = md5($file); + // get original image width and height in pixels + list($pixw, $pixh) = $imsize; + // calculate image width and height on document + if (($w <= 0) AND ($h <= 0)) { + // convert image size to document unit + $w = $this->pixelsToUnits($pixw); + $h = $this->pixelsToUnits($pixh); + } elseif ($w <= 0) { + $w = $h * $pixw / $pixh; + } elseif ($h <= 0) { + $h = $w * $pixh / $pixw; + } elseif (($fitbox !== false) AND ($w > 0) AND ($h > 0)) { + if (strlen($fitbox) !== 2) { + // set default alignment + $fitbox = '--'; + } + // scale image dimensions proportionally to fit within the ($w, $h) box + if ((($w * $pixh) / ($h * $pixw)) < 1) { + // store current height + $oldh = $h; + // calculate new height + $h = $w * $pixh / $pixw; + // height difference + $hdiff = ($oldh - $h); + // vertical alignment + switch (strtoupper($fitbox[1])) { + case 'T': { + break; + } + case 'M': { + $y += ($hdiff / 2); + break; + } + case 'B': { + $y += $hdiff; + break; + } + } + } else { + // store current width + $oldw = $w; + // calculate new width + $w = $h * $pixw / $pixh; + // width difference + $wdiff = ($oldw - $w); + // horizontal alignment + switch (strtoupper($fitbox[0])) { + case 'L': { + if ($this->rtl) { + $x -= $wdiff; + } + break; + } + case 'C': { + if ($this->rtl) { + $x -= ($wdiff / 2); + } else { + $x += ($wdiff / 2); + } + break; + } + case 'R': { + if (!$this->rtl) { + $x += $wdiff; + } + break; + } + } + } + } + // fit the image on available space + list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, $fitonpage); + // calculate new minimum dimensions in pixels + $neww = round($w * $this->k * $dpi / $this->dpi); + $newh = round($h * $this->k * $dpi / $this->dpi); + // check if resize is necessary (resize is used only to reduce the image) + $newsize = ($neww * $newh); + $pixsize = ($pixw * $pixh); + if (intval($resize) == 2) { + $resize = true; + } elseif ($newsize >= $pixsize) { + $resize = false; + } + // check if image has been already added on document + $newimage = true; + if (in_array($file, $this->imagekeys)) { + $newimage = false; + // get existing image data + $info = $this->getImageBuffer($file); + if (strpos($file, '__tcpdf_'.$this->file_id.'_imgmask_') === FALSE) { + // check if the newer image is larger + $oldsize = ($info['w'] * $info['h']); + if ((($oldsize < $newsize) AND ($resize)) OR (($oldsize < $pixsize) AND (!$resize))) { + $newimage = true; + } + } + } elseif (($ismask === false) AND ($imgmask === false) AND (strpos($file, '__tcpdf_'.$this->file_id.'_imgmask_') === FALSE)) { + // create temp image file (without alpha channel) + $tempfile_plain = K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_imgmask_plain_'.$filehash; + // create temp alpha file + $tempfile_alpha = K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_imgmask_alpha_'.$filehash; + // check for cached images + if (in_array($tempfile_plain, $this->imagekeys)) { + // get existing image data + $info = $this->getImageBuffer($tempfile_plain); + // check if the newer image is larger + $oldsize = ($info['w'] * $info['h']); + if ((($oldsize < $newsize) AND ($resize)) OR (($oldsize < $pixsize) AND (!$resize))) { + $newimage = true; + } else { + $newimage = false; + // embed mask image + $imgmask = $this->Image($tempfile_alpha, $x, $y, $w, $h, 'PNG', '', '', $resize, $dpi, '', true, false); + // embed image, masked with previously embedded mask + return $this->Image($tempfile_plain, $x, $y, $w, $h, $type, $link, $align, $resize, $dpi, $palign, false, $imgmask); + } + } + } + if ($newimage) { + //First use of image, get info + $type = strtolower($type); + if ($type == '') { + $type = TCPDF_IMAGES::getImageFileType($file, $imsize); + } elseif ($type == 'jpg') { + $type = 'jpeg'; + } + // Specific image handlers (defined on TCPDF_IMAGES CLASS) + $mtd = '_parse'.$type; + // GD image handler function + $gdfunction = 'imagecreatefrom'.$type; + $info = false; + if ((method_exists('TCPDF_IMAGES', $mtd)) AND (!($resize AND (function_exists($gdfunction) OR extension_loaded('imagick'))))) { + // TCPDF image functions + $info = TCPDF_IMAGES::$mtd($file); + if (($ismask === false) AND ($imgmask === false) AND (strpos($file, '__tcpdf_'.$this->file_id.'_imgmask_') === FALSE) + AND (($info === 'pngalpha') OR (isset($info['trns']) AND !empty($info['trns'])))) { + return $this->ImagePngAlpha($file, $x, $y, $pixw, $pixh, $w, $h, 'PNG', $link, $align, $resize, $dpi, $palign, $filehash); + } + } + if (($info === false) AND function_exists($gdfunction)) { + try { + // GD library + $img = $gdfunction($file); + if ($img !== false) { + if ($resize) { + $imgr = imagecreatetruecolor($neww, $newh); + if (($type == 'gif') OR ($type == 'png')) { + $imgr = TCPDF_IMAGES::setGDImageTransparency($imgr, $img); + } + imagecopyresampled($imgr, $img, 0, 0, 0, 0, $neww, $newh, $pixw, $pixh); + $img = $imgr; + } + if (($type == 'gif') OR ($type == 'png')) { + $info = TCPDF_IMAGES::_toPNG($img, TCPDF_STATIC::getObjFilename('img', $this->file_id)); + } else { + $info = TCPDF_IMAGES::_toJPEG($img, $this->jpeg_quality, TCPDF_STATIC::getObjFilename('img', $this->file_id)); + } + } + } catch(Exception $e) { + $info = false; + } + } + if (($info === false) AND extension_loaded('imagick')) { + try { + // ImageMagick library + $img = new Imagick(); + if ($type == 'svg') { + if ($file[0] === '@') { + // image from string + $svgimg = substr($file, 1); + } else { + // get SVG file content + $svgimg = $this->getCachedFileContents($file); + } + if ($svgimg !== FALSE) { + // get width and height + $regs = array(); + if (preg_match('/]*)>/si', $svgimg, $regs)) { + $svgtag = $regs[1]; + $tmp = array(); + if (preg_match('/[\s]+width[\s]*=[\s]*"([^"]*)"/si', $svgtag, $tmp)) { + $ow = $this->getHTMLUnitToUnits($tmp[1], 1, $this->svgunit, false); + $owu = sprintf('%F', ($ow * $dpi / 72)).$this->pdfunit; + $svgtag = preg_replace('/[\s]+width[\s]*=[\s]*"[^"]*"/si', ' width="'.$owu.'"', $svgtag, 1); + } else { + $ow = $w; + } + $tmp = array(); + if (preg_match('/[\s]+height[\s]*=[\s]*"([^"]*)"/si', $svgtag, $tmp)) { + $oh = $this->getHTMLUnitToUnits($tmp[1], 1, $this->svgunit, false); + $ohu = sprintf('%F', ($oh * $dpi / 72)).$this->pdfunit; + $svgtag = preg_replace('/[\s]+height[\s]*=[\s]*"[^"]*"/si', ' height="'.$ohu.'"', $svgtag, 1); + } else { + $oh = $h; + } + $tmp = array(); + if (!preg_match('/[\s]+viewBox[\s]*=[\s]*"[\s]*([0-9\.]+)[\s]+([0-9\.]+)[\s]+([0-9\.]+)[\s]+([0-9\.]+)[\s]*"/si', $svgtag, $tmp)) { + $vbw = ($ow * $this->imgscale * $this->k); + $vbh = ($oh * $this->imgscale * $this->k); + $vbox = sprintf(' viewBox="0 0 %F %F" ', $vbw, $vbh); + $svgtag = $vbox.$svgtag; + } + $svgimg = preg_replace('/]*)>/si', '', $svgimg, 1); + } + $img->readImageBlob($svgimg); + } + } else { + $img->readImage($file); + } + if ($resize) { + $img->resizeImage($neww, $newh, 10, 1, false); + } + $img->setCompressionQuality($this->jpeg_quality); + $img->setImageFormat('jpeg'); + $tempname = TCPDF_STATIC::getObjFilename('img', $this->file_id); + $img->writeImage($tempname); + $info = TCPDF_IMAGES::_parsejpeg($tempname); + $this->_unlink($tempname); + $img->destroy(); + } catch(Exception $e) { + $info = false; + } + } + if ($info === false) { + // unable to process image + return false; + } + if ($ismask) { + // force grayscale + $info['cs'] = 'DeviceGray'; + } + if ($imgmask !== false) { + $info['masked'] = $imgmask; + } + if (!empty($exurl)) { + $info['exurl'] = $exurl; + } + // array of alternative images + $info['altimgs'] = $altimgs; + // add image to document + $info['i'] = $this->setImageBuffer($file, $info); + } + // set alignment + $this->img_rb_x = $x + $w; + $this->img_rb_y = $y + $h; + + // set alignment + if ($palign == 'L') { + $ximg = $this->lMargin; + } elseif ($palign == 'C') { + $ximg = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $ximg = $this->w - $this->rMargin - $w; + } else { + $ximg = $this->rtl ? $x - $w : $x; + } + + if ($ismask OR $hidden) { + // image is not displayed + return $info['i']; + } + $xkimg = $ximg * $this->k; + if (!$alt) { + // only non-alternative immages will be set + $this->_out(sprintf('q %F 0 0 %F %F %F cm /I%u Do Q', ($w * $this->k), ($h * $this->k), $xkimg, (($this->h - ($y + $h)) * $this->k), $info['i'])); + } + if (!empty($border)) { + $bx = $this->x; + $by = $this->y; + $this->x = $ximg; + if ($this->rtl) { + $this->x += $w; + } + $this->y = $y; + $this->Cell($w, $h, '', $border, 0, '', 0, '', 0, true); + $this->x = $bx; + $this->y = $by; + } + if ($link) { + $this->Link($ximg, $y, $w, $h, $link, 0); + } + // set pointer to align the next text/objects + switch($align) { + case 'T': { + $this->y = $y; + $this->x = $this->img_rb_x; + break; + } + case 'M': { + $this->y = $y + round($h/2); + $this->x = $this->img_rb_x; + break; + } + case 'B': { + $this->y = $this->img_rb_y; + $this->x = $this->img_rb_x; + break; + } + case 'N': { + $this->setY($this->img_rb_y); + break; + } + default:{ + break; + } + } + $this->endlinex = $this->img_rb_x; + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['images'][] = $info['i']; + } + return $info['i']; + } + + /** + * Extract info from a PNG image with alpha channel using the Imagick or GD library. + * @param string $file Name of the file containing the image. + * @param float $x Abscissa of the upper-left corner. + * @param float $y Ordinate of the upper-left corner. + * @param float $wpx Original width of the image in pixels. + * @param float $hpx original height of the image in pixels. + * @param float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param string $type Image format. Possible values are (case insensitive): JPEG and PNG (whitout GD library) and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM;. If not specified, the type is inferred from the file extension. + * @param mixed $link URL or identifier returned by AddLink(). + * @param string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:
      • T: top-right for LTR or top-left for RTL
      • M: middle-right for LTR or middle-left for RTL
      • B: bottom-right for LTR or bottom-left for RTL
      • N: next line
      + * @param boolean $resize If true resize (reduce) the image to fit $w and $h (requires GD library). + * @param int $dpi dot-per-inch resolution used on resize + * @param string $palign Allows to center or align the image on the current line. Possible values are:
      • L : left align
      • C : center
      • R : right align
      • '' : empty string : left for LTR or right for RTL
      + * @param string $filehash File hash used to build unique file names. + * @author Nicola Asuni + * @protected + * @since 4.3.007 (2008-12-04) + * @see Image() + */ + protected function ImagePngAlpha($file, $x, $y, $wpx, $hpx, $w, $h, $type, $link, $align, $resize, $dpi, $palign, $filehash='') { + // create temp images + if (empty($filehash)) { + $filehash = md5($file); + } + // create temp image file (without alpha channel) + $tempfile_plain = K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_imgmask_plain_'.$filehash; + // create temp alpha file + $tempfile_alpha = K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_imgmask_alpha_'.$filehash; + $parsed = false; + $parse_error = ''; + // ImageMagick extension + if (($parsed === false) AND extension_loaded('imagick')) { + try { + // ImageMagick library + $img = new Imagick(); + $img->readImage($file); + // clone image object + $imga = TCPDF_STATIC::objclone($img); + // extract alpha channel + if (method_exists($img, 'setImageAlphaChannel') AND defined('Imagick::ALPHACHANNEL_EXTRACT')) { + $img->setImageAlphaChannel(Imagick::ALPHACHANNEL_EXTRACT); + } else { + $img->separateImageChannel(8); // 8 = (imagick::CHANNEL_ALPHA | imagick::CHANNEL_OPACITY | imagick::CHANNEL_MATTE); + $img->negateImage(true); + } + $img->setImageFormat('png'); + $img->writeImage($tempfile_alpha); + // remove alpha channel + if (method_exists($imga, 'setImageMatte')) { + $imga->setImageMatte(false); + } else { + $imga->separateImageChannel(39); // 39 = (imagick::CHANNEL_ALL & ~(imagick::CHANNEL_ALPHA | imagick::CHANNEL_OPACITY | imagick::CHANNEL_MATTE)); + } + $imga->setImageFormat('png'); + $imga->writeImage($tempfile_plain); + $parsed = true; + } catch (Exception $e) { + // Imagemagick fails, try with GD + $parse_error = 'Imagick library error: '.$e->getMessage(); + } + } + // GD extension + if (($parsed === false) AND function_exists('imagecreatefrompng')) { + try { + // generate images + $img = imagecreatefrompng($file); + $imgalpha = imagecreate($wpx, $hpx); + // generate gray scale palette (0 -> 255) + for ($c = 0; $c < 256; ++$c) { + ImageColorAllocate($imgalpha, $c, $c, $c); + } + // extract alpha channel + for ($xpx = 0; $xpx < $wpx; ++$xpx) { + for ($ypx = 0; $ypx < $hpx; ++$ypx) { + $color = imagecolorat($img, $xpx, $ypx); + // get and correct gamma color + $alpha = $this->getGDgamma($img, $color); + imagesetpixel($imgalpha, (int) $xpx, (int) $ypx, (int) $alpha); + } + } + imagepng($imgalpha, $tempfile_alpha); + imagedestroy($imgalpha); + // extract image without alpha channel + $imgplain = imagecreatetruecolor($wpx, $hpx); + imagecopy($imgplain, $img, 0, 0, 0, 0, $wpx, $hpx); + imagepng($imgplain, $tempfile_plain); + imagedestroy($imgplain); + $parsed = true; + } catch (Exception $e) { + // GD fails + $parse_error = 'GD library error: '.$e->getMessage(); + } + } + if ($parsed === false) { + if (empty($parse_error)) { + $this->Error('TCPDF requires the Imagick or GD extension to handle PNG images with alpha channel.'); + } else { + $this->Error($parse_error); + } + } + // embed mask image + $imgmask = $this->Image($tempfile_alpha, $x, $y, $w, $h, 'PNG', '', '', $resize, $dpi, '', true, false); + // embed image, masked with previously embedded mask + $this->Image($tempfile_plain, $x, $y, $w, $h, $type, $link, $align, $resize, $dpi, $palign, false, $imgmask); + } + + /** + * Get the GD-corrected PNG gamma value from alpha color + * @param resource $img GD image Resource ID. + * @param int $c alpha color + * @protected + * @since 4.3.007 (2008-12-04) + */ + protected function getGDgamma($img, $c) { + if (!isset($this->gdgammacache['#'.$c])) { + $colors = imagecolorsforindex($img, $c); + // GD alpha is only 7 bit (0 -> 127) + $this->gdgammacache['#'.$c] = (int) (((127 - $colors['alpha']) / 127) * 255); + // correct gamma + $this->gdgammacache['#'.$c] = (int) (pow(($this->gdgammacache['#'.$c] / 255), 2.2) * 255); + // store the latest values on cache to improve performances + if (count($this->gdgammacache) > 8) { + // remove one element from the cache array + array_shift($this->gdgammacache); + } + } + return $this->gdgammacache['#'.$c]; + } + + /** + * Performs a line break. + * The current abscissa goes back to the left margin and the ordinate increases by the amount passed in parameter. + * @param float|null $h The height of the break. By default, the value equals the height of the last printed cell. + * @param boolean $cell if true add the current left (or right o for RTL) padding to the X coordinate + * @public + * @since 1.0 + * @see Cell() + */ + public function Ln($h=null, $cell=false) { + if (($this->num_columns > 1) AND ($this->y == $this->columns[$this->current_column]['y']) AND isset($this->columns[$this->current_column]['x']) AND ($this->x == $this->columns[$this->current_column]['x'])) { + // revove vertical space from the top of the column + return; + } + if ($cell) { + if ($this->rtl) { + $cellpadding = $this->cell_padding['R']; + } else { + $cellpadding = $this->cell_padding['L']; + } + } else { + $cellpadding = 0; + } + if ($this->rtl) { + $this->x = $this->w - $this->rMargin - $cellpadding; + } else { + $this->x = $this->lMargin + $cellpadding; + } + if (TCPDF_STATIC::empty_string($h)) { + $h = $this->lasth; + } + $this->y += $h; + $this->newline = true; + } + + /** + * Returns the relative X value of current position. + * The value is relative to the left border for LTR languages and to the right border for RTL languages. + * @return float + * @public + * @since 1.2 + * @see SetX(), GetY(), SetY() + */ + public function GetX() { + //Get x position + if ($this->rtl) { + return ($this->w - $this->x); + } else { + return $this->x; + } + } + + /** + * Returns the absolute X value of current position. + * @return float + * @public + * @since 1.2 + * @see SetX(), GetY(), SetY() + */ + public function GetAbsX() { + return $this->x; + } + + /** + * Returns the ordinate of the current position. + * @return float + * @public + * @since 1.0 + * @see SetY(), GetX(), SetX() + */ + public function GetY() { + return $this->y; + } + + /** + * Defines the abscissa of the current position. + * If the passed value is negative, it is relative to the right of the page (or left if language is RTL). + * @param float $x The value of the abscissa in user units. + * @param boolean $rtloff if true always uses the page top-left corner as origin of axis. + * @public + * @since 1.2 + * @see GetX(), GetY(), SetY(), SetXY() + */ + public function setX($x, $rtloff=false) { + $x = floatval($x); + if (!$rtloff AND $this->rtl) { + if ($x >= 0) { + $this->x = $this->w - $x; + } else { + $this->x = abs($x); + } + } else { + if ($x >= 0) { + $this->x = $x; + } else { + $this->x = $this->w + $x; + } + } + if ($this->x < 0) { + $this->x = 0; + } + if ($this->x > $this->w) { + $this->x = $this->w; + } + } + + /** + * Moves the current abscissa back to the left margin and sets the ordinate. + * If the passed value is negative, it is relative to the bottom of the page. + * @param float $y The value of the ordinate in user units. + * @param bool $resetx if true (default) reset the X position. + * @param boolean $rtloff if true always uses the page top-left corner as origin of axis. + * @public + * @since 1.0 + * @see GetX(), GetY(), SetY(), SetXY() + */ + public function setY($y, $resetx=true, $rtloff=false) { + $y = floatval($y); + if ($resetx) { + //reset x + if (!$rtloff AND $this->rtl) { + $this->x = $this->w - $this->rMargin; + } else { + $this->x = $this->lMargin; + } + } + if ($y >= 0) { + $this->y = $y; + } else { + $this->y = $this->h + $y; + } + if ($this->y < 0) { + $this->y = 0; + } + if ($this->y > $this->h) { + $this->y = $this->h; + } + } + + /** + * Defines the abscissa and ordinate of the current position. + * If the passed values are negative, they are relative respectively to the right and bottom of the page. + * @param float $x The value of the abscissa. + * @param float $y The value of the ordinate. + * @param boolean $rtloff if true always uses the page top-left corner as origin of axis. + * @public + * @since 1.2 + * @see SetX(), SetY() + */ + public function setXY($x, $y, $rtloff=false) { + $this->setY($y, false, $rtloff); + $this->setX($x, $rtloff); + } + + /** + * Set the absolute X coordinate of the current pointer. + * @param float $x The value of the abscissa in user units. + * @public + * @since 5.9.186 (2012-09-13) + * @see setAbsX(), setAbsY(), SetAbsXY() + */ + public function setAbsX($x) { + $this->x = floatval($x); + } + + /** + * Set the absolute Y coordinate of the current pointer. + * @param float $y (float) The value of the ordinate in user units. + * @public + * @since 5.9.186 (2012-09-13) + * @see setAbsX(), setAbsY(), SetAbsXY() + */ + public function setAbsY($y) { + $this->y = floatval($y); + } + + /** + * Set the absolute X and Y coordinates of the current pointer. + * @param float $x The value of the abscissa in user units. + * @param float $y (float) The value of the ordinate in user units. + * @public + * @since 5.9.186 (2012-09-13) + * @see setAbsX(), setAbsY(), SetAbsXY() + */ + public function setAbsXY($x, $y) { + $this->setAbsX($x); + $this->setAbsY($y); + } + + /** + * Send the document to a given destination: string, local file or browser. + * In the last case, the plug-in may be used (if present) or a download ("Save as" dialog box) may be forced.
      + * The method first calls Close() if necessary to terminate the document. + * @param string $name The name of the file when saved + * @param string $dest Destination where to send the document. It can take one of the following values:
      • I: send the file inline to the browser (default). The plug-in is used if available. The name given by name is used when one selects the "Save as" option on the link generating the PDF.
      • D: send to the browser and force a file download with the name given by name.
      • F: save to a local server file with the name given by name.
      • S: return the document as a string (name is ignored).
      • FI: equivalent to F + I option
      • FD: equivalent to F + D option
      • E: return the document as base64 mime multi-part email attachment (RFC 2045)
      + * @return string + * @public + * @since 1.0 + * @see Close() + */ + public function Output($name='doc.pdf', $dest='I') { + //Output PDF to some destination + //Finish document if necessary + if ($this->state < 3) { + $this->Close(); + } + //Normalize parameters + if (is_bool($dest)) { + $dest = $dest ? 'D' : 'F'; + } + $dest = strtoupper($dest); + + if ($this->sign) { + // *** apply digital signature to the document *** + // get the document content + $pdfdoc = $this->getBuffer(); + // remove last newline + $pdfdoc = substr($pdfdoc, 0, -1); + // remove filler space + $byterange_string_len = strlen(TCPDF_STATIC::$byterange_string); + // define the ByteRange + $byte_range = array(); + $byte_range[0] = 0; + $byte_range[1] = strpos($pdfdoc, TCPDF_STATIC::$byterange_string) + $byterange_string_len + 10; + $byte_range[2] = $byte_range[1] + $this->signature_max_length + 2; + $byte_range[3] = strlen($pdfdoc) - $byte_range[2]; + $pdfdoc = substr($pdfdoc, 0, $byte_range[1]).substr($pdfdoc, $byte_range[2]); + // replace the ByteRange + $byterange = sprintf('/ByteRange[0 %u %u %u]', $byte_range[1], $byte_range[2], $byte_range[3]); + $byterange .= str_repeat(' ', ($byterange_string_len - strlen($byterange))); + $pdfdoc = str_replace(TCPDF_STATIC::$byterange_string, $byterange, $pdfdoc); + // write the document to a temporary folder + $tempdoc = TCPDF_STATIC::getObjFilename('doc', $this->file_id); + $f = TCPDF_STATIC::fopenLocal($tempdoc, 'wb'); + if (!$f) { + $this->Error('Unable to create temporary file: '.$tempdoc); + } + $pdfdoc_length = strlen($pdfdoc); + fwrite($f, $pdfdoc, $pdfdoc_length); + fclose($f); + // get digital signature via openssl library + $tempsign = TCPDF_STATIC::getObjFilename('sig', $this->file_id); + if (empty($this->signature_data['extracerts'])) { + openssl_pkcs7_sign($tempdoc, $tempsign, $this->signature_data['signcert'], array($this->signature_data['privkey'], $this->signature_data['password']), array(), PKCS7_BINARY | PKCS7_DETACHED); + } else { + openssl_pkcs7_sign($tempdoc, $tempsign, $this->signature_data['signcert'], array($this->signature_data['privkey'], $this->signature_data['password']), array(), PKCS7_BINARY | PKCS7_DETACHED, $this->signature_data['extracerts']); + } + // read signature + $signature = file_get_contents($tempsign); + // extract signature + $signature = substr($signature, $pdfdoc_length); + $signature = substr($signature, (strpos($signature, "%%EOF\n\n------") + 13)); + $tmparr = explode("\n\n", $signature); + $signature = $tmparr[1]; + // decode signature + $signature = base64_decode(trim($signature)); + // add TSA timestamp to signature + $signature = $this->applyTSA($signature); + // convert signature to hex + $signature = current(unpack('H*', $signature)); + $signature = str_pad($signature, $this->signature_max_length, '0'); + // Add signature to the document + $this->buffer = substr($pdfdoc, 0, $byte_range[1]).'<'.$signature.'>'.substr($pdfdoc, $byte_range[1]); + $this->bufferlen = strlen($this->buffer); + } + switch($dest) { + case 'I': { + // Send PDF to the standard output + if (ob_get_contents()) { + $this->Error('Some data has already been output, can\'t send PDF file'); + } + if (php_sapi_name() != 'cli') { + // send output to a browser + header('Content-Type: application/pdf'); + if (headers_sent()) { + $this->Error('Some data has already been output to browser, can\'t send PDF file'); + } + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + //header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + header('Content-Disposition: inline; filename="' . rawurlencode(basename($name)) . '"; ' . + 'filename*=UTF-8\'\'' . rawurlencode(basename($name))); + TCPDF_STATIC::sendOutputData($this->getBuffer(), $this->bufferlen); + } else { + echo $this->getBuffer(); + } + break; + } + case 'D': { + // download PDF as file + if (ob_get_contents()) { + $this->Error('Some data has already been output, can\'t send PDF file'); + } + header('Content-Description: File Transfer'); + if (headers_sent()) { + $this->Error('Some data has already been output to browser, can\'t send PDF file'); + } + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + //header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + // force download dialog + if (strpos(php_sapi_name(), 'cgi') === false) { + header('Content-Type: application/force-download'); + header('Content-Type: application/octet-stream', false); + header('Content-Type: application/download', false); + header('Content-Type: application/pdf', false); + } else { + header('Content-Type: application/pdf'); + } + // use the Content-Disposition header to supply a recommended filename + header('Content-Disposition: attachment; filename="' . rawurlencode(basename($name)) . '"; ' . + 'filename*=UTF-8\'\'' . rawurlencode(basename($name))); + header('Content-Transfer-Encoding: binary'); + TCPDF_STATIC::sendOutputData($this->getBuffer(), $this->bufferlen); + break; + } + case 'F': + case 'FI': + case 'FD': { + // save PDF to a local file + $f = TCPDF_STATIC::fopenLocal($name, 'wb'); + if (!$f) { + $this->Error('Unable to create output file: '.$name); + } + fwrite($f, $this->getBuffer(), $this->bufferlen); + fclose($f); + if ($dest == 'FI') { + // send headers to browser + header('Content-Type: application/pdf'); + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + //header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + header('Content-Disposition: inline; filename="'.basename($name).'"'); + TCPDF_STATIC::sendOutputData(file_get_contents($name), filesize($name)); + } elseif ($dest == 'FD') { + // send headers to browser + if (ob_get_contents()) { + $this->Error('Some data has already been output, can\'t send PDF file'); + } + header('Content-Description: File Transfer'); + if (headers_sent()) { + $this->Error('Some data has already been output to browser, can\'t send PDF file'); + } + header('Cache-Control: private, must-revalidate, post-check=0, pre-check=0, max-age=1'); + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + // force download dialog + if (strpos(php_sapi_name(), 'cgi') === false) { + header('Content-Type: application/force-download'); + header('Content-Type: application/octet-stream', false); + header('Content-Type: application/download', false); + header('Content-Type: application/pdf', false); + } else { + header('Content-Type: application/pdf'); + } + // use the Content-Disposition header to supply a recommended filename + header('Content-Disposition: attachment; filename="'.basename($name).'"'); + header('Content-Transfer-Encoding: binary'); + TCPDF_STATIC::sendOutputData(file_get_contents($name), filesize($name)); + } + break; + } + case 'E': { + // return PDF as base64 mime multi-part email attachment (RFC 2045) + $retval = 'Content-Type: application/pdf;'."\r\n"; + $retval .= ' name="'.$name.'"'."\r\n"; + $retval .= 'Content-Transfer-Encoding: base64'."\r\n"; + $retval .= 'Content-Disposition: attachment;'."\r\n"; + $retval .= ' filename="'.$name.'"'."\r\n\r\n"; + $retval .= chunk_split(base64_encode($this->getBuffer()), 76, "\r\n"); + return $retval; + } + case 'S': { + // returns PDF as a string + return $this->getBuffer(); + } + default: { + $this->Error('Incorrect output destination: '.$dest); + } + } + return ''; + } + + protected static $cleaned_ids = array(); + /** + * Unset all class variables except the following critical variables. + * @param boolean $destroyall if true destroys all class variables, otherwise preserves critical variables. + * @param boolean $preserve_objcopy if true preserves the objcopy variable + * @public + * @since 4.5.016 (2009-02-24) + */ + public function _destroy($destroyall=false, $preserve_objcopy=false) { + if (isset(self::$cleaned_ids[$this->file_id])) { + $destroyall = false; + } + if ($destroyall AND !$preserve_objcopy && isset($this->file_id)) { + self::$cleaned_ids[$this->file_id] = true; + // remove all temporary files + if ($handle = @opendir(K_PATH_CACHE)) { + while ( false !== ( $file_name = readdir( $handle ) ) ) { + if (strpos($file_name, '__tcpdf_'.$this->file_id.'_') === 0) { + $this->_unlink(K_PATH_CACHE.$file_name); + } + } + closedir($handle); + } + if (isset($this->imagekeys)) { + foreach($this->imagekeys as $file) { + if ((strpos($file, K_PATH_CACHE.'__tcpdf_'.$this->file_id.'_') === 0) + && TCPDF_STATIC::file_exists($file)) { + $this->_unlink($file); + } + } + } + } + $preserve = array( + 'file_id', + 'state', + 'bufferlen', + 'buffer', + 'cached_files', + 'imagekeys', + 'sign', + 'signature_data', + 'signature_max_length', + 'byterange_string', + 'tsa_timestamp', + 'tsa_data' + ); + foreach (array_keys(get_object_vars($this)) as $val) { + if ($destroyall OR !in_array($val, $preserve)) { + if ((!$preserve_objcopy OR ($val != 'objcopy')) AND ($val != 'file_id') AND isset($this->$val)) { + unset($this->$val); + } + } + } + } + + /** + * Check for locale-related bug + * @protected + */ + protected function _dochecks() { + //Check for locale-related bug + if (1.1 == 1) { + $this->Error('Don\'t alter the locale before including class file'); + } + //Check for decimal separator + if (sprintf('%.1F', 1.0) != '1.0') { + setlocale(LC_NUMERIC, 'C'); + } + } + + /** + * Return an array containing variations for the basic page number alias. + * @param string $a Base alias. + * @return array of page number aliases + * @protected + */ + protected function getInternalPageNumberAliases($a= '') { + $alias = array(); + // build array of Unicode + ASCII variants (the order is important) + $alias = array('u' => array(), 'a' => array()); + $u = '{'.$a.'}'; + $alias['u'][] = TCPDF_STATIC::_escape($u); + if ($this->isunicode) { + $alias['u'][] = TCPDF_STATIC::_escape(TCPDF_FONTS::UTF8ToLatin1($u, $this->isunicode, $this->CurrentFont)); + $alias['u'][] = TCPDF_STATIC::_escape(TCPDF_FONTS::utf8StrRev($u, false, $this->tmprtl, $this->isunicode, $this->CurrentFont)); + $alias['a'][] = TCPDF_STATIC::_escape(TCPDF_FONTS::UTF8ToLatin1($a, $this->isunicode, $this->CurrentFont)); + $alias['a'][] = TCPDF_STATIC::_escape(TCPDF_FONTS::utf8StrRev($a, false, $this->tmprtl, $this->isunicode, $this->CurrentFont)); + } + $alias['a'][] = TCPDF_STATIC::_escape($a); + return $alias; + } + + /** + * Return an array containing all internal page aliases. + * @return array of page number aliases + * @protected + */ + protected function getAllInternalPageNumberAliases() { + $basic_alias = array(TCPDF_STATIC::$alias_tot_pages, TCPDF_STATIC::$alias_num_page, TCPDF_STATIC::$alias_group_tot_pages, TCPDF_STATIC::$alias_group_num_page, TCPDF_STATIC::$alias_right_shift); + $pnalias = array(); + foreach($basic_alias as $k => $a) { + $pnalias[$k] = $this->getInternalPageNumberAliases($a); + } + return $pnalias; + } + + /** + * Replace right shift page number aliases with spaces to correct right alignment. + * This works perfectly only when using monospaced fonts. + * @param string $page Page content. + * @param array $aliases Array of page aliases. + * @param int $diff initial difference to add. + * @return string replaced page content. + * @protected + */ + protected function replaceRightShiftPageNumAliases($page, $aliases, $diff) { + foreach ($aliases as $type => $alias) { + foreach ($alias as $a) { + // find position of compensation factor + $startnum = (strpos($a, ':') + 1); + $a = substr($a, 0, $startnum); + if (($pos = strpos($page, $a)) !== false) { + // end of alias + $endnum = strpos($page, '}', $pos); + // string to be replaced + $aa = substr($page, $pos, ($endnum - $pos + 1)); + // get compensation factor + $ratio = substr($page, ($pos + $startnum), ($endnum - $pos - $startnum)); + $ratio = preg_replace('/[^0-9\.]/', '', $ratio); + $ratio = floatval($ratio); + if ($type == 'u') { + $chrdiff = floor(($diff + 12) * $ratio); + $shift = str_repeat(' ', $chrdiff); + $shift = TCPDF_FONTS::UTF8ToUTF16BE($shift, false, $this->isunicode, $this->CurrentFont); + } else { + $chrdiff = floor(($diff + 11) * $ratio); + $shift = str_repeat(' ', $chrdiff); + } + $page = str_replace($aa, $shift, $page); + } + } + } + return $page; + } + + /** + * Set page boxes to be included on page descriptions. + * @param array $boxes Array of page boxes to set on document: ('MediaBox', 'CropBox', 'BleedBox', 'TrimBox', 'ArtBox'). + * @protected + */ + protected function setPageBoxTypes($boxes) { + $this->page_boxes = array(); + foreach ($boxes as $box) { + if (in_array($box, TCPDF_STATIC::$pageboxes)) { + $this->page_boxes[] = $box; + } + } + } + + /** + * Output pages (and replace page number aliases). + * @protected + */ + protected function _putpages() { + $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; + // get internal aliases for page numbers + $pnalias = $this->getAllInternalPageNumberAliases(); + $num_pages = $this->numpages; + $ptpa = TCPDF_STATIC::formatPageNumber(($this->starting_page_number + $num_pages - 1)); + $ptpu = TCPDF_FONTS::UTF8ToUTF16BE($ptpa, false, $this->isunicode, $this->CurrentFont); + $ptp_num_chars = $this->GetNumChars($ptpa); + $pagegroupnum = 0; + $groupnum = 0; + $ptgu = 1; + $ptga = 1; + $ptg_num_chars = 1; + for ($n = 1; $n <= $num_pages; ++$n) { + // get current page + $temppage = $this->getPageBuffer($n); + $pagelen = strlen($temppage); + // set replacements for total pages number + $pnpa = TCPDF_STATIC::formatPageNumber(($this->starting_page_number + $n - 1)); + $pnpu = TCPDF_FONTS::UTF8ToUTF16BE($pnpa, false, $this->isunicode, $this->CurrentFont); + $pnp_num_chars = $this->GetNumChars($pnpa); + $pdiff = 0; // difference used for right shift alignment of page numbers + $gdiff = 0; // difference used for right shift alignment of page group numbers + if (!empty($this->pagegroups)) { + if (isset($this->newpagegroup[$n])) { + $pagegroupnum = 0; + ++$groupnum; + $ptga = TCPDF_STATIC::formatPageNumber($this->pagegroups[$groupnum]); + $ptgu = TCPDF_FONTS::UTF8ToUTF16BE($ptga, false, $this->isunicode, $this->CurrentFont); + $ptg_num_chars = $this->GetNumChars($ptga); + } + ++$pagegroupnum; + $pnga = TCPDF_STATIC::formatPageNumber($pagegroupnum); + $pngu = TCPDF_FONTS::UTF8ToUTF16BE($pnga, false, $this->isunicode, $this->CurrentFont); + $png_num_chars = $this->GetNumChars($pnga); + // replace page numbers + $replace = array(); + $replace[] = array($ptgu, $ptg_num_chars, 9, $pnalias[2]['u']); + $replace[] = array($ptga, $ptg_num_chars, 7, $pnalias[2]['a']); + $replace[] = array($pngu, $png_num_chars, 9, $pnalias[3]['u']); + $replace[] = array($pnga, $png_num_chars, 7, $pnalias[3]['a']); + list($temppage, $gdiff) = TCPDF_STATIC::replacePageNumAliases($temppage, $replace, $gdiff); + } + // replace page numbers + $replace = array(); + $replace[] = array($ptpu, $ptp_num_chars, 9, $pnalias[0]['u']); + $replace[] = array($ptpa, $ptp_num_chars, 7, $pnalias[0]['a']); + $replace[] = array($pnpu, $pnp_num_chars, 9, $pnalias[1]['u']); + $replace[] = array($pnpa, $pnp_num_chars, 7, $pnalias[1]['a']); + list($temppage, $pdiff) = TCPDF_STATIC::replacePageNumAliases($temppage, $replace, $pdiff); + // replace right shift alias + $temppage = $this->replaceRightShiftPageNumAliases($temppage, $pnalias[4], max($pdiff, $gdiff)); + // replace EPS marker + $temppage = str_replace($this->epsmarker, '', $temppage); + //Page + $this->page_obj_id[$n] = $this->_newobj(); + $out = '<<'; + $out .= ' /Type /Page'; + $out .= ' /Parent 1 0 R'; + if (empty($this->signature_data['approval']) OR ($this->signature_data['approval'] != 'A')) { + $out .= ' /LastModified '.$this->_datestring(0, $this->doc_modification_timestamp); + } + $out .= ' /Resources 2 0 R'; + foreach ($this->page_boxes as $box) { + $out .= ' /'.$box; + $out .= sprintf(' [%F %F %F %F]', $this->pagedim[$n][$box]['llx'], $this->pagedim[$n][$box]['lly'], $this->pagedim[$n][$box]['urx'], $this->pagedim[$n][$box]['ury']); + } + if (isset($this->pagedim[$n]['BoxColorInfo']) AND !empty($this->pagedim[$n]['BoxColorInfo'])) { + $out .= ' /BoxColorInfo <<'; + foreach ($this->page_boxes as $box) { + if (isset($this->pagedim[$n]['BoxColorInfo'][$box])) { + $out .= ' /'.$box.' <<'; + if (isset($this->pagedim[$n]['BoxColorInfo'][$box]['C'])) { + $color = $this->pagedim[$n]['BoxColorInfo'][$box]['C']; + $out .= ' /C ['; + $out .= sprintf(' %F %F %F', ($color[0] / 255), ($color[1] / 255), ($color[2] / 255)); + $out .= ' ]'; + } + if (isset($this->pagedim[$n]['BoxColorInfo'][$box]['W'])) { + $out .= ' /W '.($this->pagedim[$n]['BoxColorInfo'][$box]['W'] * $this->k); + } + if (isset($this->pagedim[$n]['BoxColorInfo'][$box]['S'])) { + $out .= ' /S /'.$this->pagedim[$n]['BoxColorInfo'][$box]['S']; + } + if (isset($this->pagedim[$n]['BoxColorInfo'][$box]['D'])) { + $dashes = $this->pagedim[$n]['BoxColorInfo'][$box]['D']; + $out .= ' /D ['; + foreach ($dashes as $dash) { + $out .= sprintf(' %F', ($dash * $this->k)); + } + $out .= ' ]'; + } + $out .= ' >>'; + } + } + $out .= ' >>'; + } + $out .= ' /Contents '.($this->n + 1).' 0 R'; + $out .= ' /Rotate '.$this->pagedim[$n]['Rotate']; + if (!$this->pdfa_mode || $this->pdfa_version >= 2) { + $out .= ' /Group << /Type /Group /S /Transparency /CS /DeviceRGB >>'; + } + if (isset($this->pagedim[$n]['trans']) AND !empty($this->pagedim[$n]['trans'])) { + // page transitions + if (isset($this->pagedim[$n]['trans']['Dur'])) { + $out .= ' /Dur '.$this->pagedim[$n]['trans']['Dur']; + } + $out .= ' /Trans <<'; + $out .= ' /Type /Trans'; + if (isset($this->pagedim[$n]['trans']['S'])) { + $out .= ' /S /'.$this->pagedim[$n]['trans']['S']; + } + if (isset($this->pagedim[$n]['trans']['D'])) { + $out .= ' /D '.$this->pagedim[$n]['trans']['D']; + } + if (isset($this->pagedim[$n]['trans']['Dm'])) { + $out .= ' /Dm /'.$this->pagedim[$n]['trans']['Dm']; + } + if (isset($this->pagedim[$n]['trans']['M'])) { + $out .= ' /M /'.$this->pagedim[$n]['trans']['M']; + } + if (isset($this->pagedim[$n]['trans']['Di'])) { + $out .= ' /Di '.$this->pagedim[$n]['trans']['Di']; + } + if (isset($this->pagedim[$n]['trans']['SS'])) { + $out .= ' /SS '.$this->pagedim[$n]['trans']['SS']; + } + if (isset($this->pagedim[$n]['trans']['B'])) { + $out .= ' /B '.$this->pagedim[$n]['trans']['B']; + } + $out .= ' >>'; + } + $out .= $this->_getannotsrefs($n); + $out .= ' /PZ '.$this->pagedim[$n]['PZ']; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + //Page content + $p = ($this->compress) ? gzcompress($temppage) : $temppage; + $this->_newobj(); + $p = $this->_getrawstream($p); + $this->_out('<<'.$filter.'/Length '.strlen($p).'>> stream'."\n".$p."\n".'endstream'."\n".'endobj'); + } + //Pages root + $out = $this->_getobj(1)."\n"; + $out .= '<< /Type /Pages /Kids ['; + foreach($this->page_obj_id as $page_obj) { + $out .= ' '.$page_obj.' 0 R'; + } + $out .= ' ] /Count '.$num_pages.' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + + /** + * Get references to page annotations. + * @param int $n page number + * @return string + * @protected + * @author Nicola Asuni + * @since 5.0.010 (2010-05-17) + */ + protected function _getannotsrefs($n) { + if (!(isset($this->PageAnnots[$n]) OR count($this->empty_signature_appearance)>0 OR ($this->sign AND isset($this->signature_data['cert_type'])))) { + return ''; + } + $out = ' /Annots ['; + if (isset($this->PageAnnots[$n])) { + foreach ($this->PageAnnots[$n] as $key => $val) { + if (!in_array($val['n'], $this->radio_groups)) { + $out .= ' '.$val['n'].' 0 R'; + } + } + // add radiobutton groups + if (isset($this->radiobutton_groups[$n])) { + foreach ($this->radiobutton_groups[$n] as $key => $data) { + if (isset($data['n'])) { + $out .= ' '.$data['n'].' 0 R'; + } + } + } + } + if ($this->sign AND ($n == $this->signature_appearance['page']) AND isset($this->signature_data['cert_type'])) { + // set reference for signature object + $out .= ' '.$this->sig_obj_id.' 0 R'; + } + if (!empty($this->empty_signature_appearance)) { + foreach ($this->empty_signature_appearance as $esa) { + if ($esa['page'] == $n) { + // set reference for empty signature objects + $out .= ' '.$esa['objid'].' 0 R'; + } + } + } + $out .= ' ]'; + return $out; + } + + /** + * Output annotations objects for all pages. + * !!! THIS METHOD IS NOT YET COMPLETED !!! + * See section 12.5 of PDF 32000_2008 reference. + * @protected + * @author Nicola Asuni + * @since 4.0.018 (2008-08-06) + */ + protected function _putannotsobjs() { + // reset object counter + for ($n=1; $n <= $this->numpages; ++$n) { + if (isset($this->PageAnnots[$n])) { + // set page annotations + foreach ($this->PageAnnots[$n] as $key => $pl) { + $annot_obj_id = $this->PageAnnots[$n][$key]['n']; + // create annotation object for grouping radiobuttons + if (isset($this->radiobutton_groups[$n][$pl['txt']]) AND is_array($this->radiobutton_groups[$n][$pl['txt']])) { + $radio_button_obj_id = $this->radiobutton_groups[$n][$pl['txt']]['n']; + $annots = '<<'; + $annots .= ' /Type /Annot'; + $annots .= ' /Subtype /Widget'; + $annots .= ' /Rect [0 0 0 0]'; + if ($this->radiobutton_groups[$n][$pl['txt']]['#readonly#']) { + // read only + $annots .= ' /F 68'; + $annots .= ' /Ff 49153'; + } else { + $annots .= ' /F 4'; // default print for PDF/A + $annots .= ' /Ff 49152'; + } + $annots .= ' /T '.$this->_datastring($pl['txt'], $radio_button_obj_id); + if (isset($pl['opt']['tu']) AND is_string($pl['opt']['tu'])) { + $annots .= ' /TU '.$this->_datastring($pl['opt']['tu'], $radio_button_obj_id); + } + $annots .= ' /FT /Btn'; + $annots .= ' /Kids ['; + $defval = ''; + foreach ($this->radiobutton_groups[$n][$pl['txt']] as $key => $data) { + if (isset($data['kid'])) { + $annots .= ' '.$data['kid'].' 0 R'; + if ($data['def'] !== 'Off') { + $defval = $data['def']; + } + } + } + $annots .= ' ]'; + if (!empty($defval)) { + $annots .= ' /V /'.$defval; + } + $annots .= ' >>'; + $this->_out($this->_getobj($radio_button_obj_id)."\n".$annots."\n".'endobj'); + $this->form_obj_id[] = $radio_button_obj_id; + // store object id to be used on Parent entry of Kids + $this->radiobutton_groups[$n][$pl['txt']] = $radio_button_obj_id; + } + $formfield = false; + $pl['opt'] = array_change_key_case($pl['opt'], CASE_LOWER); + $a = $pl['x'] * $this->k; + $b = $this->pagedim[$n]['h'] - (($pl['y'] + $pl['h']) * $this->k); + $c = $pl['w'] * $this->k; + $d = $pl['h'] * $this->k; + $rect = sprintf('%F %F %F %F', $a, $b, $a+$c, $b+$d); + // create new annotation object + $annots = '<_textstring($pl['txt'], $annot_obj_id); + } + $annots .= ' /P '.$this->page_obj_id[$n].' 0 R'; + $annots .= ' /NM '.$this->_datastring(sprintf('%04u-%04u', $n, $key), $annot_obj_id); + $annots .= ' /M '.$this->_datestring($annot_obj_id, $this->doc_modification_timestamp); + if (isset($pl['opt']['f'])) { + $fval = 0; + if (is_array($pl['opt']['f'])) { + foreach ($pl['opt']['f'] as $f) { + switch (strtolower($f)) { + case 'invisible': { + $fval += 1 << 0; + break; + } + case 'hidden': { + $fval += 1 << 1; + break; + } + case 'print': { + $fval += 1 << 2; + break; + } + case 'nozoom': { + $fval += 1 << 3; + break; + } + case 'norotate': { + $fval += 1 << 4; + break; + } + case 'noview': { + $fval += 1 << 5; + break; + } + case 'readonly': { + $fval += 1 << 6; + break; + } + case 'locked': { + $fval += 1 << 7; + break; + } + case 'togglenoview': { + $fval += 1 << 8; + break; + } + case 'lockedcontents': { + $fval += 1 << 9; + break; + } + default: { + break; + } + } + } + } else { + $fval = intval($pl['opt']['f']); + } + } else { + $fval = 4; + } + if ($this->pdfa_mode) { + // force print flag for PDF/A mode + $fval |= 4; + } + $annots .= ' /F '.intval($fval); + if (isset($pl['opt']['as']) AND is_string($pl['opt']['as'])) { + $annots .= ' /AS /'.$pl['opt']['as']; + } + if (isset($pl['opt']['ap'])) { + // appearance stream + $annots .= ' /AP <<'; + if (is_array($pl['opt']['ap'])) { + foreach ($pl['opt']['ap'] as $apmode => $apdef) { + // $apmode can be: n = normal; r = rollover; d = down; + $annots .= ' /'.strtoupper($apmode); + if (is_array($apdef)) { + $annots .= ' <<'; + foreach ($apdef as $apstate => $stream) { + // reference to XObject that define the appearance for this mode-state + $apsobjid = $this->_putAPXObject($c, $d, $stream); + $annots .= ' /'.$apstate.' '.$apsobjid.' 0 R'; + } + $annots .= ' >>'; + } else { + // reference to XObject that define the appearance for this mode + $apsobjid = $this->_putAPXObject($c, $d, $apdef); + $annots .= ' '.$apsobjid.' 0 R'; + } + } + } else { + $annots .= $pl['opt']['ap']; + } + $annots .= ' >>'; + } + if (isset($pl['opt']['bs']) AND (is_array($pl['opt']['bs']))) { + $annots .= ' /BS <<'; + $annots .= ' /Type /Border'; + if (isset($pl['opt']['bs']['w'])) { + $annots .= ' /W '.intval($pl['opt']['bs']['w']); + } + $bstyles = array('S', 'D', 'B', 'I', 'U'); + if (isset($pl['opt']['bs']['s']) AND in_array($pl['opt']['bs']['s'], $bstyles)) { + $annots .= ' /S /'.$pl['opt']['bs']['s']; + } + if (isset($pl['opt']['bs']['d']) AND (is_array($pl['opt']['bs']['d']))) { + $annots .= ' /D ['; + foreach ($pl['opt']['bs']['d'] as $cord) { + $annots .= ' '.intval($cord); + } + $annots .= ']'; + } + $annots .= ' >>'; + } else { + $annots .= ' /Border ['; + if (isset($pl['opt']['border']) AND (count($pl['opt']['border']) >= 3)) { + $annots .= intval($pl['opt']['border'][0]).' '; + $annots .= intval($pl['opt']['border'][1]).' '; + $annots .= intval($pl['opt']['border'][2]); + if (isset($pl['opt']['border'][3]) AND is_array($pl['opt']['border'][3])) { + $annots .= ' ['; + foreach ($pl['opt']['border'][3] as $dash) { + $annots .= intval($dash).' '; + } + $annots .= ']'; + } + } else { + $annots .= '0 0 0'; + } + $annots .= ']'; + } + if (isset($pl['opt']['be']) AND (is_array($pl['opt']['be']))) { + $annots .= ' /BE <<'; + $bstyles = array('S', 'C'); + if (isset($pl['opt']['be']['s']) AND in_array($pl['opt']['be']['s'], $bstyles)) { + $annots .= ' /S /'.$pl['opt']['bs']['s']; + } else { + $annots .= ' /S /S'; + } + if (isset($pl['opt']['be']['i']) AND ($pl['opt']['be']['i'] >= 0) AND ($pl['opt']['be']['i'] <= 2)) { + $annots .= ' /I '.sprintf(' %F', $pl['opt']['be']['i']); + } + $annots .= '>>'; + } + if (isset($pl['opt']['c']) AND (is_array($pl['opt']['c'])) AND !empty($pl['opt']['c'])) { + $annots .= ' /C '.TCPDF_COLORS::getColorStringFromArray($pl['opt']['c']); + } + //$annots .= ' /StructParent '; + //$annots .= ' /OC '; + $markups = array('text', 'freetext', 'line', 'square', 'circle', 'polygon', 'polyline', 'highlight', 'underline', 'squiggly', 'strikeout', 'stamp', 'caret', 'ink', 'fileattachment', 'sound'); + if (in_array(strtolower($pl['opt']['subtype']), $markups)) { + // this is a markup type + if (isset($pl['opt']['t']) AND is_string($pl['opt']['t'])) { + $annots .= ' /T '.$this->_textstring($pl['opt']['t'], $annot_obj_id); + } + //$annots .= ' /Popup '; + if (isset($pl['opt']['ca'])) { + $annots .= ' /CA '.sprintf('%F', floatval($pl['opt']['ca'])); + } + if (isset($pl['opt']['rc'])) { + $annots .= ' /RC '.$this->_textstring($pl['opt']['rc'], $annot_obj_id); + } + $annots .= ' /CreationDate '.$this->_datestring($annot_obj_id, $this->doc_creation_timestamp); + //$annots .= ' /IRT '; + if (isset($pl['opt']['subj'])) { + $annots .= ' /Subj '.$this->_textstring($pl['opt']['subj'], $annot_obj_id); + } + //$annots .= ' /RT '; + //$annots .= ' /IT '; + //$annots .= ' /ExData '; + } + $lineendings = array('Square', 'Circle', 'Diamond', 'OpenArrow', 'ClosedArrow', 'None', 'Butt', 'ROpenArrow', 'RClosedArrow', 'Slash'); + // Annotation types + switch (strtolower($pl['opt']['subtype'])) { + case 'text': { + if (isset($pl['opt']['open'])) { + $annots .= ' /Open '. (strtolower($pl['opt']['open']) == 'true' ? 'true' : 'false'); + } + $iconsapp = array('Comment', 'Help', 'Insert', 'Key', 'NewParagraph', 'Note', 'Paragraph'); + if (isset($pl['opt']['name']) AND in_array($pl['opt']['name'], $iconsapp)) { + $annots .= ' /Name /'.$pl['opt']['name']; + } else { + $annots .= ' /Name /Note'; + } + $hasStateModel = isset($pl['opt']['statemodel']); + $hasState = isset($pl['opt']['state']); + $statemodels = array('Marked', 'Review'); + if (!$hasStateModel && !$hasState) { + break; + } + if ($hasStateModel AND in_array($pl['opt']['statemodel'], $statemodels)) { + $annots .= ' /StateModel /'.$pl['opt']['statemodel']; + } else { + $pl['opt']['statemodel'] = 'Marked'; + $annots .= ' /StateModel /'.$pl['opt']['statemodel']; + } + if ($pl['opt']['statemodel'] == 'Marked') { + $states = array('Accepted', 'Unmarked'); + } else { + $states = array('Accepted', 'Rejected', 'Cancelled', 'Completed', 'None'); + } + if ($hasState AND in_array($pl['opt']['state'], $states)) { + $annots .= ' /State /'.$pl['opt']['state']; + } else { + if ($pl['opt']['statemodel'] == 'Marked') { + $annots .= ' /State /Unmarked'; + } else { + $annots .= ' /State /None'; + } + } + break; + } + case 'link': { + if (is_string($pl['txt']) && !empty($pl['txt'])) { + if ($pl['txt'][0] == '#') { + // internal destination + $annots .= ' /A <>'; + } elseif ($pl['txt'][0] == '%') { + // embedded PDF file + $filename = basename(substr($pl['txt'], 1)); + $annots .= ' /A << /S /GoToE /D [0 /Fit] /NewWindow true /T << /R /C /P '.($n - 1).' /A '.$this->embeddedfiles[$filename]['a'].' >> >>'; + } elseif ($pl['txt'][0] == '*') { + // embedded generic file + $filename = basename(substr($pl['txt'], 1)); + $jsa = 'var D=event.target.doc;var MyData=D.dataObjects;for (var i in MyData) if (MyData[i].path=="'.$filename.'") D.exportDataObject( { cName : MyData[i].name, nLaunch : 2});'; + $annots .= ' /A << /S /JavaScript /JS '.$this->_textstring($jsa, $annot_obj_id).'>>'; + } else { + $parsedUrl = parse_url($pl['txt']); + if (empty($parsedUrl['scheme']) AND (!empty($parsedUrl['path']) && strtolower(substr($parsedUrl['path'], -4)) == '.pdf')) { + // relative link to a PDF file + $dest = '[0 /Fit]'; // default page 0 + if (!empty($parsedUrl['fragment'])) { + // check for named destination + $tmp = explode('=', $parsedUrl['fragment']); + $dest = '('.((count($tmp) == 2) ? $tmp[1] : $tmp[0]).')'; + } + $annots .= ' /A <_datastring($this->unhtmlentities($parsedUrl['path']), $annot_obj_id).' /NewWindow true>>'; + } else { + // external URI link + $annots .= ' /A <_datastring($this->unhtmlentities($pl['txt']), $annot_obj_id).'>>'; + } + } + } elseif (isset($this->links[$pl['txt']])) { + // internal link ID + $l = $this->links[$pl['txt']]; + if (isset($this->page_obj_id[($l['p'])])) { + $annots .= sprintf(' /Dest [%u 0 R /XYZ 0 %F null]', $this->page_obj_id[($l['p'])], ($this->pagedim[$l['p']]['h'] - ($l['y'] * $this->k))); + } + } + $hmodes = array('N', 'I', 'O', 'P'); + if (isset($pl['opt']['h']) AND in_array($pl['opt']['h'], $hmodes)) { + $annots .= ' /H /'.$pl['opt']['h']; + } else { + $annots .= ' /H /I'; + } + //$annots .= ' /PA '; + //$annots .= ' /Quadpoints '; + break; + } + case 'freetext': { + if (isset($pl['opt']['da']) AND !empty($pl['opt']['da'])) { + $annots .= ' /DA '.$this->_datastring($pl['opt']['da']); + } + if (isset($pl['opt']['q']) AND ($pl['opt']['q'] >= 0) AND ($pl['opt']['q'] <= 2)) { + $annots .= ' /Q '.intval($pl['opt']['q']); + } + if (isset($pl['opt']['rc'])) { + $annots .= ' /RC '.$this->_textstring($pl['opt']['rc'], $annot_obj_id); + } + if (isset($pl['opt']['ds'])) { + $annots .= ' /DS '.$this->_textstring($pl['opt']['ds'], $annot_obj_id); + } + if (isset($pl['opt']['cl']) AND is_array($pl['opt']['cl'])) { + $annots .= ' /CL ['; + foreach ($pl['opt']['cl'] as $cl) { + $annots .= sprintf('%F ', $cl * $this->k); + } + $annots .= ']'; + } + $tfit = array('FreeText', 'FreeTextCallout', 'FreeTextTypeWriter'); + if (isset($pl['opt']['it']) AND in_array($pl['opt']['it'], $tfit)) { + $annots .= ' /IT /'.$pl['opt']['it']; + } + if (isset($pl['opt']['rd']) AND is_array($pl['opt']['rd'])) { + $l = $pl['opt']['rd'][0] * $this->k; + $r = $pl['opt']['rd'][1] * $this->k; + $t = $pl['opt']['rd'][2] * $this->k; + $b = $pl['opt']['rd'][3] * $this->k; + $annots .= ' /RD ['.sprintf('%F %F %F %F', $l, $r, $t, $b).']'; + } + if (isset($pl['opt']['le']) AND in_array($pl['opt']['le'], $lineendings)) { + $annots .= ' /LE /'.$pl['opt']['le']; + } + break; + } + case 'line': { + break; + } + case 'square': { + break; + } + case 'circle': { + break; + } + case 'polygon': { + break; + } + case 'polyline': { + break; + } + case 'highlight': { + break; + } + case 'underline': { + break; + } + case 'squiggly': { + break; + } + case 'strikeout': { + break; + } + case 'stamp': { + break; + } + case 'caret': { + break; + } + case 'ink': { + break; + } + case 'popup': { + break; + } + case 'fileattachment': { + if ($this->pdfa_mode && $this->pdfa_version != 3) { + // embedded files are not allowed in PDF/A mode version 1 and 2 + break; + } + if (!isset($pl['opt']['fs'])) { + break; + } + $filename = basename($pl['opt']['fs']); + if (isset($this->embeddedfiles[$filename]['f'])) { + $annots .= ' /FS '.$this->embeddedfiles[$filename]['f'].' 0 R'; + $iconsapp = array('Graph', 'Paperclip', 'PushPin', 'Tag'); + if (isset($pl['opt']['name']) AND in_array($pl['opt']['name'], $iconsapp)) { + $annots .= ' /Name /'.$pl['opt']['name']; + } else { + $annots .= ' /Name /PushPin'; + } + // index (zero-based) of the annotation in the Annots array of this page + $this->embeddedfiles[$filename]['a'] = $key; + } + break; + } + case 'sound': { + if (!isset($pl['opt']['fs'])) { + break; + } + $filename = basename($pl['opt']['fs']); + if (isset($this->embeddedfiles[$filename]['f'])) { + // ... TO BE COMPLETED ... + // /R /C /B /E /CO /CP + $annots .= ' /Sound '.$this->embeddedfiles[$filename]['f'].' 0 R'; + $iconsapp = array('Speaker', 'Mic'); + if (isset($pl['opt']['name']) AND in_array($pl['opt']['name'], $iconsapp)) { + $annots .= ' /Name /'.$pl['opt']['name']; + } else { + $annots .= ' /Name /Speaker'; + } + } + break; + } + case 'movie': { + break; + } + case 'widget': { + $hmode = array('N', 'I', 'O', 'P', 'T'); + if (isset($pl['opt']['h']) AND in_array($pl['opt']['h'], $hmode)) { + $annots .= ' /H /'.$pl['opt']['h']; + } + if (isset($pl['opt']['mk']) AND (is_array($pl['opt']['mk'])) AND !empty($pl['opt']['mk'])) { + $annots .= ' /MK <<'; + if (isset($pl['opt']['mk']['r'])) { + $annots .= ' /R '.$pl['opt']['mk']['r']; + } + if (isset($pl['opt']['mk']['bc']) AND (is_array($pl['opt']['mk']['bc']))) { + $annots .= ' /BC '.TCPDF_COLORS::getColorStringFromArray($pl['opt']['mk']['bc']); + } + if (isset($pl['opt']['mk']['bg']) AND (is_array($pl['opt']['mk']['bg']))) { + $annots .= ' /BG '.TCPDF_COLORS::getColorStringFromArray($pl['opt']['mk']['bg']); + } + if (isset($pl['opt']['mk']['ca'])) { + $annots .= ' /CA '.$pl['opt']['mk']['ca']; + } + if (isset($pl['opt']['mk']['rc'])) { + $annots .= ' /RC '.$pl['opt']['mk']['rc']; + } + if (isset($pl['opt']['mk']['ac'])) { + $annots .= ' /AC '.$pl['opt']['mk']['ac']; + } + if (isset($pl['opt']['mk']['i'])) { + $info = $this->getImageBuffer($pl['opt']['mk']['i']); + if ($info !== false) { + $annots .= ' /I '.$info['n'].' 0 R'; + } + } + if (isset($pl['opt']['mk']['ri'])) { + $info = $this->getImageBuffer($pl['opt']['mk']['ri']); + if ($info !== false) { + $annots .= ' /RI '.$info['n'].' 0 R'; + } + } + if (isset($pl['opt']['mk']['ix'])) { + $info = $this->getImageBuffer($pl['opt']['mk']['ix']); + if ($info !== false) { + $annots .= ' /IX '.$info['n'].' 0 R'; + } + } + if (isset($pl['opt']['mk']['if']) AND (is_array($pl['opt']['mk']['if'])) AND !empty($pl['opt']['mk']['if'])) { + $annots .= ' /IF <<'; + $if_sw = array('A', 'B', 'S', 'N'); + if (isset($pl['opt']['mk']['if']['sw']) AND in_array($pl['opt']['mk']['if']['sw'], $if_sw)) { + $annots .= ' /SW /'.$pl['opt']['mk']['if']['sw']; + } + $if_s = array('A', 'P'); + if (isset($pl['opt']['mk']['if']['s']) AND in_array($pl['opt']['mk']['if']['s'], $if_s)) { + $annots .= ' /S /'.$pl['opt']['mk']['if']['s']; + } + if (isset($pl['opt']['mk']['if']['a']) AND (is_array($pl['opt']['mk']['if']['a'])) AND !empty($pl['opt']['mk']['if']['a'])) { + $annots .= sprintf(' /A [%F %F]', $pl['opt']['mk']['if']['a'][0], $pl['opt']['mk']['if']['a'][1]); + } + if (isset($pl['opt']['mk']['if']['fb']) AND ($pl['opt']['mk']['if']['fb'])) { + $annots .= ' /FB true'; + } + $annots .= '>>'; + } + if (isset($pl['opt']['mk']['tp']) AND ($pl['opt']['mk']['tp'] >= 0) AND ($pl['opt']['mk']['tp'] <= 6)) { + $annots .= ' /TP '.intval($pl['opt']['mk']['tp']); + } + $annots .= '>>'; + } // end MK + // --- Entries for field dictionaries --- + if (isset($this->radiobutton_groups[$n][$pl['txt']])) { + // set parent + $annots .= ' /Parent '.$this->radiobutton_groups[$n][$pl['txt']].' 0 R'; + } + if (isset($pl['opt']['t']) AND is_string($pl['opt']['t'])) { + $annots .= ' /T '.$this->_datastring($pl['opt']['t'], $annot_obj_id); + } + if (isset($pl['opt']['tu']) AND is_string($pl['opt']['tu'])) { + $annots .= ' /TU '.$this->_datastring($pl['opt']['tu'], $annot_obj_id); + } + if (isset($pl['opt']['tm']) AND is_string($pl['opt']['tm'])) { + $annots .= ' /TM '.$this->_datastring($pl['opt']['tm'], $annot_obj_id); + } + if (isset($pl['opt']['ff'])) { + if (is_array($pl['opt']['ff'])) { + // array of bit settings + $flag = 0; + foreach($pl['opt']['ff'] as $val) { + $flag += 1 << ($val - 1); + } + } else { + $flag = intval($pl['opt']['ff']); + } + $annots .= ' /Ff '.$flag; + } + if (isset($pl['opt']['maxlen'])) { + $annots .= ' /MaxLen '.intval($pl['opt']['maxlen']); + } + if (isset($pl['opt']['v'])) { + $annots .= ' /V'; + if (is_array($pl['opt']['v'])) { + foreach ($pl['opt']['v'] AS $optval) { + if (is_float($optval)) { + $optval = sprintf('%F', $optval); + } + $annots .= ' '.$optval; + } + } else { + $annots .= ' '.$this->_textstring($pl['opt']['v'], $annot_obj_id); + } + } + if (isset($pl['opt']['dv'])) { + $annots .= ' /DV'; + if (is_array($pl['opt']['dv'])) { + foreach ($pl['opt']['dv'] AS $optval) { + if (is_float($optval)) { + $optval = sprintf('%F', $optval); + } + $annots .= ' '.$optval; + } + } else { + $annots .= ' '.$this->_textstring($pl['opt']['dv'], $annot_obj_id); + } + } + if (isset($pl['opt']['rv'])) { + $annots .= ' /RV'; + if (is_array($pl['opt']['rv'])) { + foreach ($pl['opt']['rv'] AS $optval) { + if (is_float($optval)) { + $optval = sprintf('%F', $optval); + } + $annots .= ' '.$optval; + } + } else { + $annots .= ' '.$this->_textstring($pl['opt']['rv'], $annot_obj_id); + } + } + if (isset($pl['opt']['a']) AND !empty($pl['opt']['a'])) { + $annots .= ' /A << '.$pl['opt']['a'].' >>'; + } + if (isset($pl['opt']['aa']) AND !empty($pl['opt']['aa'])) { + $annots .= ' /AA << '.$pl['opt']['aa'].' >>'; + } + if (isset($pl['opt']['da']) AND !empty($pl['opt']['da'])) { + $annots .= ' /DA '.$this->_datastring($pl['opt']['da']); + } + if (isset($pl['opt']['q']) AND ($pl['opt']['q'] >= 0) AND ($pl['opt']['q'] <= 2)) { + $annots .= ' /Q '.intval($pl['opt']['q']); + } + if (isset($pl['opt']['opt']) AND (is_array($pl['opt']['opt'])) AND !empty($pl['opt']['opt'])) { + $annots .= ' /Opt ['; + foreach($pl['opt']['opt'] AS $copt) { + if (is_array($copt)) { + $annots .= ' ['.$this->_textstring($copt[0], $annot_obj_id).' '.$this->_textstring($copt[1], $annot_obj_id).']'; + } else { + $annots .= ' '.$this->_textstring($copt, $annot_obj_id); + } + } + $annots .= ']'; + } + if (isset($pl['opt']['ti'])) { + $annots .= ' /TI '.intval($pl['opt']['ti']); + } + if (isset($pl['opt']['i']) AND (is_array($pl['opt']['i'])) AND !empty($pl['opt']['i'])) { + $annots .= ' /I ['; + foreach($pl['opt']['i'] AS $copt) { + $annots .= intval($copt).' '; + } + $annots .= ']'; + } + break; + } + case 'screen': { + break; + } + case 'printermark': { + break; + } + case 'trapnet': { + break; + } + case 'watermark': { + break; + } + case '3d': { + break; + } + default: { + break; + } + } + $annots .= '>>'; + // create new annotation object + $this->_out($this->_getobj($annot_obj_id)."\n".$annots."\n".'endobj'); + if ($formfield AND !isset($this->radiobutton_groups[$n][$pl['txt']])) { + // store reference of form object + $this->form_obj_id[] = $annot_obj_id; + } + } + } + } // end for each page + } + + /** + * Put appearance streams XObject used to define annotation's appearance states. + * @param int $w annotation width + * @param int $h annotation height + * @param string $stream appearance stream + * @return int object ID + * @protected + * @since 4.8.001 (2009-09-09) + */ + protected function _putAPXObject($w=0, $h=0, $stream='') { + $stream = trim($stream); + $out = $this->_getobj()."\n"; + $this->xobjects['AX'.$this->n] = array('n' => $this->n); + $out .= '<<'; + $out .= ' /Type /XObject'; + $out .= ' /Subtype /Form'; + $out .= ' /FormType 1'; + if ($this->compress) { + $stream = gzcompress($stream); + $out .= ' /Filter /FlateDecode'; + } + $rect = sprintf('%F %F', $w, $h); + $out .= ' /BBox [0 0 '.$rect.']'; + $out .= ' /Matrix [1 0 0 1 0 0]'; + $out .= ' /Resources 2 0 R'; + $stream = $this->_getrawstream($stream); + $out .= ' /Length '.strlen($stream); + $out .= ' >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + $out .= "\n".'endobj'; + $this->_out($out); + return $this->n; + } + + /** + * Output fonts. + * @author Nicola Asuni + * @protected + */ + protected function _putfonts() { + $nf = $this->n; + foreach ($this->diffs as $diff) { + //Encodings + $this->_newobj(); + $this->_out('<< /Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences ['.$diff.'] >>'."\n".'endobj'); + } + foreach ($this->FontFiles as $file => $info) { + // search and get font file to embedd + $fontfile = TCPDF_FONTS::getFontFullPath($file, $info['fontdir']); + if (!TCPDF_STATIC::empty_string($fontfile)) { + $font = file_get_contents($fontfile); + $compressed = (substr($file, -2) == '.z'); + if ((!$compressed) AND (isset($info['length2']))) { + $header = (ord($font[0]) == 128); + if ($header) { + // strip first binary header + $font = substr($font, 6); + } + if ($header AND (ord($font[$info['length1']]) == 128)) { + // strip second binary header + $font = substr($font, 0, $info['length1']).substr($font, ($info['length1'] + 6)); + } + } elseif ($info['subset'] AND ((!$compressed) OR ($compressed AND function_exists('gzcompress')))) { + if ($compressed) { + // uncompress font + $font = gzuncompress($font); + } + // merge subset characters + $subsetchars = array(); // used chars + foreach ($info['fontkeys'] as $fontkey) { + $fontinfo = $this->getFontBuffer($fontkey); + $subsetchars += $fontinfo['subsetchars']; + } + // rebuild a font subset + $font = TCPDF_FONTS::_getTrueTypeFontSubset($font, $subsetchars); + // calculate new font length + $info['length1'] = strlen($font); + if ($compressed) { + // recompress font + $font = gzcompress($font); + } + } + $this->_newobj(); + $this->FontFiles[$file]['n'] = $this->n; + $stream = $this->_getrawstream($font); + $out = '<< /Length '.strlen($stream); + if ($compressed) { + $out .= ' /Filter /FlateDecode'; + } + $out .= ' /Length1 '.$info['length1']; + if (isset($info['length2'])) { + $out .= ' /Length2 '.$info['length2'].' /Length3 0'; + } + $out .= ' >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + foreach ($this->fontkeys as $k) { + //Font objects + $font = $this->getFontBuffer($k); + $type = $font['type']; + $name = $font['name']; + if ($type == 'core') { + // standard core font + $out = $this->_getobj($this->font_obj_ids[$k])."\n"; + $out .= '<annotation_fonts[$k] = $font['i']; + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } elseif (($type == 'Type1') OR ($type == 'TrueType')) { + // additional Type1 or TrueType font + $out = $this->_getobj($this->font_obj_ids[$k])."\n"; + $out .= '<n + 1).' 0 R'; + $out .= ' /FontDescriptor '.($this->n + 2).' 0 R'; + if ($font['enc']) { + if (isset($font['diff'])) { + $out .= ' /Encoding '.($nf + $font['diff']).' 0 R'; + } else { + $out .= ' /Encoding /WinAnsiEncoding'; + } + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + // Widths + $this->_newobj(); + $s = '['; + for ($i = 32; $i < 256; ++$i) { + if (isset($font['cw'][$i])) { + $s .= $font['cw'][$i].' '; + } else { + $s .= $font['dw'].' '; + } + } + $s .= ']'; + $s .= "\n".'endobj'; + $this->_out($s); + //Descriptor + $this->_newobj(); + $s = '< $fdv) { + if (is_float($fdv)) { + $fdv = sprintf('%F', $fdv); + } + $s .= ' /'.$fdk.' '.$fdv.''; + } + if (!TCPDF_STATIC::empty_string($font['file'])) { + $s .= ' /FontFile'.($type == 'Type1' ? '' : '2').' '.$this->FontFiles[$font['file']]['n'].' 0 R'; + } + $s .= '>>'; + $s .= "\n".'endobj'; + $this->_out($s); + } else { + // additional types + $mtd = '_put'.strtolower($type); + if (!method_exists($this, $mtd)) { + $this->Error('Unsupported font type: '.$type); + } + $this->$mtd($font); + } + } + } + + /** + * Adds unicode fonts.
      + * Based on PDF Reference 1.3 (section 5) + * @param array $font font data + * @protected + * @author Nicola Asuni + * @since 1.52.0.TC005 (2005-01-05) + */ + protected function _puttruetypeunicode($font) { + $fontname = ''; + if ($font['subset']) { + // change name for font subsetting + $subtag = sprintf('%06u', $font['i']); + $subtag = strtr($subtag, '0123456789', 'ABCDEFGHIJ'); + $fontname .= $subtag.'+'; + } + $fontname .= $font['name']; + // Type0 Font + // A composite font composed of other fonts, organized hierarchically + $out = $this->_getobj($this->font_obj_ids[$font['fontkey']])."\n"; + $out .= '<< /Type /Font'; + $out .= ' /Subtype /Type0'; + $out .= ' /BaseFont /'.$fontname; + $out .= ' /Name /F'.$font['i']; + $out .= ' /Encoding /'.$font['enc']; + $out .= ' /ToUnicode '.($this->n + 1).' 0 R'; + $out .= ' /DescendantFonts ['.($this->n + 2).' 0 R]'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + // ToUnicode map for Identity-H + $stream = TCPDF_FONT_DATA::$uni_identity_h; + // ToUnicode Object + $this->_newobj(); + $stream = ($this->compress) ? gzcompress($stream) : $stream; + $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; + $stream = $this->_getrawstream($stream); + $this->_out('<<'.$filter.'/Length '.strlen($stream).'>> stream'."\n".$stream."\n".'endstream'."\n".'endobj'); + // CIDFontType2 + // A CIDFont whose glyph descriptions are based on TrueType font technology + $oid = $this->_newobj(); + $out = '<< /Type /Font'; + $out .= ' /Subtype /CIDFontType2'; + $out .= ' /BaseFont /'.$fontname; + // A dictionary containing entries that define the character collection of the CIDFont. + $cidinfo = '/Registry '.$this->_datastring($font['cidinfo']['Registry'], $oid); + $cidinfo .= ' /Ordering '.$this->_datastring($font['cidinfo']['Ordering'], $oid); + $cidinfo .= ' /Supplement '.$font['cidinfo']['Supplement']; + $out .= ' /CIDSystemInfo << '.$cidinfo.' >>'; + $out .= ' /FontDescriptor '.($this->n + 1).' 0 R'; + $out .= ' /DW '.$font['dw']; // default width + $out .= "\n".TCPDF_FONTS::_putfontwidths($font, 0); + if (isset($font['ctg']) AND (!TCPDF_STATIC::empty_string($font['ctg']))) { + $out .= "\n".'/CIDToGIDMap '.($this->n + 2).' 0 R'; + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + // Font descriptor + // A font descriptor describing the CIDFont default metrics other than its glyph widths + $this->_newobj(); + $out = '<< /Type /FontDescriptor'; + $out .= ' /FontName /'.$fontname; + foreach ($font['desc'] as $key => $value) { + if (is_float($value)) { + $value = sprintf('%F', $value); + } + $out .= ' /'.$key.' '.$value; + } + $fontdir = false; + if (!TCPDF_STATIC::empty_string($font['file'])) { + // A stream containing a TrueType font + $out .= ' /FontFile2 '.$this->FontFiles[$font['file']]['n'].' 0 R'; + $fontdir = $this->FontFiles[$font['file']]['fontdir']; + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + if (isset($font['ctg']) AND (!TCPDF_STATIC::empty_string($font['ctg']))) { + $this->_newobj(); + // Embed CIDToGIDMap + // A specification of the mapping from CIDs to glyph indices + // search and get CTG font file to embedd + $ctgfile = strtolower($font['ctg']); + // search and get ctg font file to embedd + $fontfile = TCPDF_FONTS::getFontFullPath($ctgfile, $fontdir); + if (TCPDF_STATIC::empty_string($fontfile)) { + $this->Error('Font file not found: '.$ctgfile); + } + $stream = $this->_getrawstream(file_get_contents($fontfile)); + $out = '<< /Length '.strlen($stream).''; + if (substr($fontfile, -2) == '.z') { // check file extension + // Decompresses data encoded using the public-domain + // zlib/deflate compression method, reproducing the + // original text or binary data + $out .= ' /Filter /FlateDecode'; + } + $out .= ' >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + + /** + * Output CID-0 fonts. + * A Type 0 CIDFont contains glyph descriptions based on the Adobe Type 1 font format + * @param array $font font data + * @protected + * @author Andrew Whitehead, Nicola Asuni, Yukihiro Nakadaira + * @since 3.2.000 (2008-06-23) + */ + protected function _putcidfont0($font) { + $cidoffset = 0; + if (!isset($font['cw'][1])) { + $cidoffset = 31; + } + if (isset($font['cidinfo']['uni2cid'])) { + // convert unicode to cid. + $uni2cid = $font['cidinfo']['uni2cid']; + $cw = array(); + foreach ($font['cw'] as $uni => $width) { + if (isset($uni2cid[$uni])) { + $cw[($uni2cid[$uni] + $cidoffset)] = $width; + } elseif ($uni < 256) { + $cw[$uni] = $width; + } // else unknown character + } + $font = array_merge($font, array('cw' => $cw)); + } + $name = $font['name']; + $enc = $font['enc']; + if ($enc) { + $longname = $name.'-'.$enc; + } else { + $longname = $name; + } + $out = $this->_getobj($this->font_obj_ids[$font['fontkey']])."\n"; + $out .= '<n + 1).' 0 R]'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + $oid = $this->_newobj(); + $out = '<_datastring($font['cidinfo']['Registry'], $oid); + $cidinfo .= ' /Ordering '.$this->_datastring($font['cidinfo']['Ordering'], $oid); + $cidinfo .= ' /Supplement '.$font['cidinfo']['Supplement']; + $out .= ' /CIDSystemInfo <<'.$cidinfo.'>>'; + $out .= ' /FontDescriptor '.($this->n + 1).' 0 R'; + $out .= ' /DW '.$font['dw']; + $out .= "\n".TCPDF_FONTS::_putfontwidths($font, $cidoffset); + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + $this->_newobj(); + $s = '< $v) { + if ($k != 'Style') { + if (is_float($v)) { + $v = sprintf('%F', $v); + } + $s .= ' /'.$k.' '.$v.''; + } + } + $s .= '>>'; + $s .= "\n".'endobj'; + $this->_out($s); + } + + /** + * Output images. + * @protected + */ + protected function _putimages() { + $filter = ($this->compress) ? '/Filter /FlateDecode ' : ''; + foreach ($this->imagekeys as $file) { + $info = $this->getImageBuffer($file); + // set object for alternate images array + $altoid = null; + if ((!$this->pdfa_mode) AND isset($info['altimgs']) AND !empty($info['altimgs'])) { + $altoid = $this->_newobj(); + $out = '['; + foreach ($info['altimgs'] as $altimage) { + if (isset($this->xobjects['I'.$altimage[0]]['n'])) { + $out .= ' << /Image '.$this->xobjects['I'.$altimage[0]]['n'].' 0 R'; + $out .= ' /DefaultForPrinting'; + if ($altimage[1] === true) { + $out .= ' true'; + } else { + $out .= ' false'; + } + $out .= ' >>'; + } + } + $out .= ' ]'; + $out .= "\n".'endobj'; + $this->_out($out); + } + // set image object + $oid = $this->_newobj(); + $this->xobjects['I'.$info['i']] = array('n' => $oid); + $this->setImageSubBuffer($file, 'n', $this->n); + $out = '<n - 1).' 0 R'; + } + // set color space + $icc = false; + if (isset($info['icc']) AND ($info['icc'] !== false)) { + // ICC Colour Space + $icc = true; + $out .= ' /ColorSpace [/ICCBased '.($this->n + 1).' 0 R]'; + } elseif ($info['cs'] == 'Indexed') { + // Indexed Colour Space + $out .= ' /ColorSpace [/Indexed /DeviceRGB '.((strlen($info['pal']) / 3) - 1).' '.($this->n + 1).' 0 R]'; + } else { + // Device Colour Space + $out .= ' /ColorSpace /'.$info['cs']; + } + if ($info['cs'] == 'DeviceCMYK') { + $out .= ' /Decode [1 0 1 0 1 0 1 0]'; + } + $out .= ' /BitsPerComponent '.$info['bpc']; + if ($altoid > 0) { + // reference to alternate images dictionary + $out .= ' /Alternates '.$altoid.' 0 R'; + } + if (isset($info['exurl']) AND !empty($info['exurl'])) { + // external stream + $out .= ' /Length 0'; + $out .= ' /F << /FS /URL /F '.$this->_datastring($info['exurl'], $oid).' >>'; + if (isset($info['f'])) { + $out .= ' /FFilter /'.$info['f']; + } + $out .= ' >>'; + $out .= ' stream'."\n".'endstream'; + } else { + if (isset($info['f'])) { + $out .= ' /Filter /'.$info['f']; + } + if (isset($info['parms'])) { + $out .= ' '.$info['parms']; + } + if (isset($info['trns']) AND is_array($info['trns'])) { + $trns = ''; + $count_info = count($info['trns']); + if ($info['cs'] == 'Indexed') { + $maxval =(pow(2, $info['bpc']) - 1); + for ($i = 0; $i < $count_info; ++$i) { + if (($info['trns'][$i] != 0) AND ($info['trns'][$i] != $maxval)) { + // this is not a binary type mask @TODO: create a SMask + $trns = ''; + break; + } elseif (empty($trns) AND ($info['trns'][$i] == 0)) { + // store the first fully transparent value + $trns .= $i.' '.$i.' '; + } + } + } else { + // grayscale or RGB + for ($i = 0; $i < $count_info; ++$i) { + if ($info['trns'][$i] == 0) { + $trns .= $info['trns'][$i].' '.$info['trns'][$i].' '; + } + } + } + // Colour Key Masking + if (!empty($trns)) { + $out .= ' /Mask ['.$trns.']'; + } + } + $stream = $this->_getrawstream($info['data']); + $out .= ' /Length '.strlen($stream).' >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + } + $out .= "\n".'endobj'; + $this->_out($out); + if ($icc) { + // ICC colour profile + $this->_newobj(); + $icc = ($this->compress) ? gzcompress($info['icc']) : $info['icc']; + $icc = $this->_getrawstream($icc); + $this->_out('<> stream'."\n".$icc."\n".'endstream'."\n".'endobj'); + } elseif ($info['cs'] == 'Indexed') { + // colour palette + $this->_newobj(); + $pal = ($this->compress) ? gzcompress($info['pal']) : $info['pal']; + $pal = $this->_getrawstream($pal); + $this->_out('<<'.$filter.'/Length '.strlen($pal).'>> stream'."\n".$pal."\n".'endstream'."\n".'endobj'); + } + } + } + + /** + * Output Form XObjects Templates. + * @author Nicola Asuni + * @since 5.8.017 (2010-08-24) + * @protected + * @see startTemplate(), endTemplate(), printTemplate() + */ + protected function _putxobjects() { + foreach ($this->xobjects as $key => $data) { + if (isset($data['outdata'])) { + $stream = str_replace($this->epsmarker, '', trim($data['outdata'])); + $out = $this->_getobj($data['n'])."\n"; + $out .= '<<'; + $out .= ' /Type /XObject'; + $out .= ' /Subtype /Form'; + $out .= ' /FormType 1'; + if ($this->compress) { + $stream = gzcompress($stream); + $out .= ' /Filter /FlateDecode'; + } + $out .= sprintf(' /BBox [%F %F %F %F]', ($data['x'] * $this->k), (-$data['y'] * $this->k), (($data['w'] + $data['x']) * $this->k), (($data['h'] - $data['y']) * $this->k)); + $out .= ' /Matrix [1 0 0 1 0 0]'; + $out .= ' /Resources <<'; + $out .= ' /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'; + if (!$this->pdfa_mode || $this->pdfa_version >= 2) { + // transparency + if (isset($data['extgstates']) AND !empty($data['extgstates'])) { + $out .= ' /ExtGState <<'; + foreach ($data['extgstates'] as $k => $extgstate) { + if (isset($this->extgstates[$k]['name'])) { + $out .= ' /'.$this->extgstates[$k]['name']; + } else { + $out .= ' /GS'.$k; + } + $out .= ' '.$this->extgstates[$k]['n'].' 0 R'; + } + $out .= ' >>'; + } + if (isset($data['gradients']) AND !empty($data['gradients'])) { + $gp = ''; + $gs = ''; + foreach ($data['gradients'] as $id => $grad) { + // gradient patterns + $gp .= ' /p'.$id.' '.$this->gradients[$id]['pattern'].' 0 R'; + // gradient shadings + $gs .= ' /Sh'.$id.' '.$this->gradients[$id]['id'].' 0 R'; + } + $out .= ' /Pattern <<'.$gp.' >>'; + $out .= ' /Shading <<'.$gs.' >>'; + } + } + // spot colors + if (isset($data['spot_colors']) AND !empty($data['spot_colors'])) { + $out .= ' /ColorSpace <<'; + foreach ($data['spot_colors'] as $name => $color) { + $out .= ' /CS'.$color['i'].' '.$this->spot_colors[$name]['n'].' 0 R'; + } + $out .= ' >>'; + } + // fonts + if (!empty($data['fonts'])) { + $out .= ' /Font <<'; + foreach ($data['fonts'] as $fontkey => $fontid) { + $out .= ' /F'.$fontid.' '.$this->font_obj_ids[$fontkey].' 0 R'; + } + $out .= ' >>'; + } + // images or nested xobjects + if (!empty($data['images']) OR !empty($data['xobjects'])) { + $out .= ' /XObject <<'; + foreach ($data['images'] as $imgid) { + $out .= ' /I'.$imgid.' '.$this->xobjects['I'.$imgid]['n'].' 0 R'; + } + foreach ($data['xobjects'] as $sub_id => $sub_objid) { + $out .= ' /'.$sub_id.' '.$sub_objid['n'].' 0 R'; + } + $out .= ' >>'; + } + $out .= ' >>'; //end resources + if (isset($data['group']) AND ($data['group'] !== false)) { + // set transparency group + $out .= ' /Group << /Type /Group /S /Transparency'; + if (is_array($data['group'])) { + if (isset($data['group']['CS']) AND !empty($data['group']['CS'])) { + $out .= ' /CS /'.$data['group']['CS']; + } + if (isset($data['group']['I'])) { + $out .= ' /I /'.($data['group']['I']===true?'true':'false'); + } + if (isset($data['group']['K'])) { + $out .= ' /K /'.($data['group']['K']===true?'true':'false'); + } + } + $out .= ' >>'; + } + $stream = $this->_getrawstream($stream, $data['n']); + $out .= ' /Length '.strlen($stream); + $out .= ' >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + } + + /** + * Output Spot Colors Resources. + * @protected + * @since 4.0.024 (2008-09-12) + */ + protected function _putspotcolors() { + foreach ($this->spot_colors as $name => $color) { + $this->_newobj(); + $this->spot_colors[$name]['n'] = $this->n; + $out = '[/Separation /'.str_replace(' ', '#20', $name); + $out .= ' /DeviceCMYK <<'; + $out .= ' /Range [0 1 0 1 0 1 0 1] /C0 [0 0 0 0]'; + $out .= ' '.sprintf('/C1 [%F %F %F %F] ', ($color['C'] / 100), ($color['M'] / 100), ($color['Y'] / 100), ($color['K'] / 100)); + $out .= ' /FunctionType 2 /Domain [0 1] /N 1>>]'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + + /** + * Return XObjects Dictionary. + * @return string XObjects dictionary + * @protected + * @since 5.8.014 (2010-08-23) + */ + protected function _getxobjectdict() { + $out = ''; + foreach ($this->xobjects as $id => $objid) { + $out .= ' /'.$id.' '.$objid['n'].' 0 R'; + } + return $out; + } + + /** + * Output Resources Dictionary. + * @protected + */ + protected function _putresourcedict() { + $out = $this->_getobj(2)."\n"; + $out .= '<< /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'; + $out .= ' /Font <<'; + foreach ($this->fontkeys as $fontkey) { + $font = $this->getFontBuffer($fontkey); + $out .= ' /F'.$font['i'].' '.$font['n'].' 0 R'; + } + $out .= ' >>'; + $out .= ' /XObject <<'; + $out .= $this->_getxobjectdict(); + $out .= ' >>'; + // layers + if (!empty($this->pdflayers)) { + $out .= ' /Properties <<'; + foreach ($this->pdflayers as $layer) { + $out .= ' /'.$layer['layer'].' '.$layer['objid'].' 0 R'; + } + $out .= ' >>'; + } + if (!$this->pdfa_mode || $this->pdfa_version >= 2) { + // transparency + if (isset($this->extgstates) AND !empty($this->extgstates)) { + $out .= ' /ExtGState <<'; + foreach ($this->extgstates as $k => $extgstate) { + if (isset($extgstate['name'])) { + $out .= ' /'.$extgstate['name']; + } else { + $out .= ' /GS'.$k; + } + $out .= ' '.$extgstate['n'].' 0 R'; + } + $out .= ' >>'; + } + if (isset($this->gradients) AND !empty($this->gradients)) { + $gp = ''; + $gs = ''; + foreach ($this->gradients as $id => $grad) { + // gradient patterns + $gp .= ' /p'.$id.' '.$grad['pattern'].' 0 R'; + // gradient shadings + $gs .= ' /Sh'.$id.' '.$grad['id'].' 0 R'; + } + $out .= ' /Pattern <<'.$gp.' >>'; + $out .= ' /Shading <<'.$gs.' >>'; + } + } + // spot colors + if (isset($this->spot_colors) AND !empty($this->spot_colors)) { + $out .= ' /ColorSpace <<'; + foreach ($this->spot_colors as $color) { + $out .= ' /CS'.$color['i'].' '.$color['n'].' 0 R'; + } + $out .= ' >>'; + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + + /** + * Output Resources. + * @protected + */ + protected function _putresources() { + $this->_putextgstates(); + $this->_putocg(); + $this->_putfonts(); + $this->_putimages(); + $this->_putspotcolors(); + $this->_putshaders(); + $this->_putxobjects(); + $this->_putresourcedict(); + $this->_putdests(); + $this->_putEmbeddedFiles(); + $this->_putannotsobjs(); + $this->_putjavascript(); + $this->_putbookmarks(); + $this->_putencryption(); + } + + /** + * Adds some Metadata information (Document Information Dictionary) + * (see Chapter 14.3.3 Document Information Dictionary of PDF32000_2008.pdf Reference) + * @return int object id + * @protected + */ + protected function _putinfo() { + $oid = $this->_newobj(); + $out = '<<'; + // store current isunicode value + $prev_isunicode = $this->isunicode; + if ($this->docinfounicode) { + $this->isunicode = true; + } + if (!TCPDF_STATIC::empty_string($this->title)) { + // The document's title. + $out .= ' /Title '.$this->_textstring($this->title, $oid); + } + if (!TCPDF_STATIC::empty_string($this->author)) { + // The name of the person who created the document. + $out .= ' /Author '.$this->_textstring($this->author, $oid); + } + if (!TCPDF_STATIC::empty_string($this->subject)) { + // The subject of the document. + $out .= ' /Subject '.$this->_textstring($this->subject, $oid); + } + if (!TCPDF_STATIC::empty_string($this->keywords)) { + // Keywords associated with the document. + $out .= ' /Keywords '.$this->_textstring($this->keywords, $oid); + } + if (!TCPDF_STATIC::empty_string($this->creator)) { + // If the document was converted to PDF from another format, the name of the conforming product that created the original document from which it was converted. + $out .= ' /Creator '.$this->_textstring($this->creator, $oid); + } + // restore previous isunicode value + $this->isunicode = $prev_isunicode; + // default producer + $out .= ' /Producer '.$this->_textstring(TCPDF_STATIC::getTCPDFProducer(), $oid); + // The date and time the document was created, in human-readable form + $out .= ' /CreationDate '.$this->_datestring(0, $this->doc_creation_timestamp); + // The date and time the document was most recently modified, in human-readable form + $out .= ' /ModDate '.$this->_datestring(0, $this->doc_modification_timestamp); + // A name object indicating whether the document has been modified to include trapping information + $out .= ' /Trapped /False'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + return $oid; + } + + /** + * Set additional XMP data to be added on the default XMP data just before the end of "x:xmpmeta" tag. + * IMPORTANT: This data is added as-is without controls, so you have to validate your data before using this method! + * @param string $xmp Custom XMP data. + * @since 5.9.128 (2011-10-06) + * @public + */ + public function setExtraXMP($xmp) { + $this->custom_xmp = $xmp; + } + + /** + * Set additional XMP data to be added on the default XMP data just before the end of "rdf:RDF" tag. + * IMPORTANT: This data is added as-is without controls, so you have to validate your data before using this method! + * @param string $xmp Custom XMP RDF data. + * @since 6.3.0 (2019-09-19) + * @public + */ + public function setExtraXMPRDF($xmp) { + $this->custom_xmp_rdf = $xmp; + } + + /** + * Set additional XMP data to be added to the default XMP data for PDF/A extensions. + * IMPORTANT: This data is added as-is without controls, so you have to validate your data before using this method! + * @param string $xmp Custom XMP RDF data. + * @since 6.9.0 (2025-02-14) + * @public + */ + public function setExtraXMPPdfaextension($xmp) { + $this->custom_xmp_rdf_pdfaExtension = $xmp; + } + + /** + * Put XMP data object and return ID. + * @return int The object ID. + * @since 5.9.121 (2011-09-28) + * @protected + */ + protected function _putXMP() { + $oid = $this->_newobj(); + // store current isunicode value + $prev_isunicode = $this->isunicode; + $this->isunicode = true; + $prev_encrypted = $this->encrypted; + $this->encrypted = false; + // set XMP data + $xmp = 'isunicode).'" id="W5M0MpCehiHzreSzNTczkc9d"?>'."\n"; + $xmp .= ''."\n"; + $xmp .= "\t".''."\n"; + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t\t".'application/pdf'."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''.TCPDF_STATIC::_escapeXML($this->title).''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''.TCPDF_STATIC::_escapeXML($this->author).''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''.TCPDF_STATIC::_escapeXML($this->subject).''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''.TCPDF_STATIC::_escapeXML($this->keywords).''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t".''."\n"; + // convert doc creation date format + $dcdate = TCPDF_STATIC::getFormattedDate($this->doc_creation_timestamp); + $doccreationdate = substr($dcdate, 0, 4).'-'.substr($dcdate, 4, 2).'-'.substr($dcdate, 6, 2); + $doccreationdate .= 'T'.substr($dcdate, 8, 2).':'.substr($dcdate, 10, 2).':'.substr($dcdate, 12, 2); + $doccreationdate .= substr($dcdate, 14, 3).':'.substr($dcdate, 18, 2); + $doccreationdate = TCPDF_STATIC::_escapeXML($doccreationdate); + // convert doc modification date format + $dmdate = TCPDF_STATIC::getFormattedDate($this->doc_modification_timestamp); + $docmoddate = substr($dmdate, 0, 4).'-'.substr($dmdate, 4, 2).'-'.substr($dmdate, 6, 2); + $docmoddate .= 'T'.substr($dmdate, 8, 2).':'.substr($dmdate, 10, 2).':'.substr($dmdate, 12, 2); + $docmoddate .= substr($dmdate, 14, 3).':'.substr($dmdate, 18, 2); + $docmoddate = TCPDF_STATIC::_escapeXML($docmoddate); + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t\t".''.$doccreationdate.''."\n"; + $xmp .= "\t\t\t".''.$this->creator.''."\n"; + $xmp .= "\t\t\t".''.$docmoddate.''."\n"; + $xmp .= "\t\t\t".''.$doccreationdate.''."\n"; + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t\t".''.TCPDF_STATIC::_escapeXML($this->keywords).''."\n"; + $xmp .= "\t\t\t".''.TCPDF_STATIC::_escapeXML(TCPDF_STATIC::getTCPDFProducer()).''."\n"; + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t".''."\n"; + $uuid = 'uuid:'.substr($this->file_id, 0, 8).'-'.substr($this->file_id, 8, 4).'-'.substr($this->file_id, 12, 4).'-'.substr($this->file_id, 16, 4).'-'.substr($this->file_id, 20, 12); + $xmp .= "\t\t\t".''.$uuid.''."\n"; + $xmp .= "\t\t\t".''.$uuid.''."\n"; + $xmp .= "\t\t".''."\n"; + if ($this->pdfa_mode) { + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t\t".''.$this->pdfa_version.''."\n"; + $xmp .= "\t\t\t".'B'."\n"; + $xmp .= "\t\t".''."\n"; + } + // XMP extension schemas + $xmp .= "\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t".'http://ns.adobe.com/pdf/1.3/'."\n"; + $xmp .= "\t\t\t\t\t\t".'pdf'."\n"; + $xmp .= "\t\t\t\t\t\t".'Adobe PDF Schema'."\n"; + $xmp .= "\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'internal'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Adobe PDF Schema'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'InstanceID'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'URI'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t".'http://ns.adobe.com/xap/1.0/mm/'."\n"; + $xmp .= "\t\t\t\t\t\t".'xmpMM'."\n"; + $xmp .= "\t\t\t\t\t\t".'XMP Media Management Schema'."\n"; + $xmp .= "\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'internal'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'UUID based identifier for specific incarnation of a document'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'InstanceID'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'URI'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t".'http://www.aiim.org/pdfa/ns/id/'."\n"; + $xmp .= "\t\t\t\t\t\t".'pdfaid'."\n"; + $xmp .= "\t\t\t\t\t\t".'PDF/A ID Schema'."\n"; + $xmp .= "\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'internal'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Part of PDF/A standard'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'part'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Integer'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'internal'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Amendment of PDF/A standard'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'amd'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Text'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'internal'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Conformance level of PDF/A standard'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'conformance'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t\t".'Text'."\n"; + $xmp .= "\t\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t\t".''."\n"; + $xmp .= "\t\t\t\t\t".''."\n"; + $xmp .= $this->custom_xmp_rdf_pdfaExtension; + $xmp .= "\t\t\t\t".''."\n"; + $xmp .= "\t\t\t".''."\n"; + $xmp .= "\t\t".''."\n"; + $xmp .= $this->custom_xmp_rdf; + $xmp .= "\t".''."\n"; + $xmp .= $this->custom_xmp; + $xmp .= ''."\n"; + $xmp .= ''; + $out = '<< /Type /Metadata /Subtype /XML /Length '.strlen($xmp).' >> stream'."\n".$xmp."\n".'endstream'."\n".'endobj'; + // restore previous isunicode value + $this->isunicode = $prev_isunicode; + $this->encrypted = $prev_encrypted; + $this->_out($out); + return $oid; + } + + /** + * Output Catalog. + * @return int object id + * @protected + */ + protected function _putcatalog() { + // put XMP + $xmpobj = $this->_putXMP(); + // if required, add standard sRGB ICC colour profile + if ($this->pdfa_mode OR $this->force_srgb) { + $iccobj = $this->_newobj(); + $icc = file_get_contents(dirname(__FILE__).'/include/sRGB.icc'); + $filter = ''; + if ($this->compress) { + $filter = ' /Filter /FlateDecode'; + $icc = gzcompress($icc); + } + $icc = $this->_getrawstream($icc); + $this->_out('<> stream'."\n".$icc."\n".'endstream'."\n".'endobj'); + } + // start catalog + $oid = $this->_newobj(); + $out = '<< '; + if (!empty($this->efnames)) { + $out .= ' /AF [ '. implode(' ', $this->efnames) .' ]'; + } + $out .= ' /Type /Catalog'; + $out .= ' /Version /'.$this->PDFVersion; + //$out .= ' /Extensions <<>>'; + $out .= ' /Pages 1 0 R'; + //$out .= ' /PageLabels ' //...; + $out .= ' /Names <<'; + if ((!$this->pdfa_mode) AND !empty($this->n_js)) { + $out .= ' /JavaScript '.$this->n_js; + } + if (!empty($this->efnames)) { + $out .= ' /EmbeddedFiles <efnames AS $fn => $fref) { + $out .= ' '.$this->_datastring($fn).' '.$fref; + } + $out .= ' ]>>'; + } + $out .= ' >>'; + if (!empty($this->dests)) { + $out .= ' /Dests '.($this->n_dests).' 0 R'; + } + $out .= $this->_putviewerpreferences(); + if (isset($this->LayoutMode) AND (!TCPDF_STATIC::empty_string($this->LayoutMode))) { + $out .= ' /PageLayout /'.$this->LayoutMode; + } + if (isset($this->PageMode) AND (!TCPDF_STATIC::empty_string($this->PageMode))) { + $out .= ' /PageMode /'.$this->PageMode; + } + if (count($this->outlines) > 0) { + $out .= ' /Outlines '.$this->OutlineRoot.' 0 R'; + $out .= ' /PageMode /UseOutlines'; + } + //$out .= ' /Threads []'; + if ($this->ZoomMode == 'fullpage') { + $out .= ' /OpenAction ['.$this->page_obj_id[1].' 0 R /Fit]'; + } elseif ($this->ZoomMode == 'fullwidth') { + $out .= ' /OpenAction ['.$this->page_obj_id[1].' 0 R /FitH null]'; + } elseif ($this->ZoomMode == 'real') { + $out .= ' /OpenAction ['.$this->page_obj_id[1].' 0 R /XYZ null null 1]'; + } elseif (!is_string($this->ZoomMode)) { + $out .= sprintf(' /OpenAction ['.$this->page_obj_id[1].' 0 R /XYZ null null %F]', ($this->ZoomMode / 100)); + } + //$out .= ' /AA <<>>'; + //$out .= ' /URI <<>>'; + $out .= ' /Metadata '.$xmpobj.' 0 R'; + //$out .= ' /StructTreeRoot <<>>'; + //$out .= ' /MarkInfo <<>>'; + if (isset($this->l['a_meta_language'])) { + $out .= ' /Lang '.$this->_textstring($this->l['a_meta_language'], $oid); + } + //$out .= ' /SpiderInfo <<>>'; + // set OutputIntent to sRGB IEC61966-2.1 if required + if ($this->pdfa_mode OR $this->force_srgb) { + $out .= ' /OutputIntents [<<'; + $out .= ' /Type /OutputIntent'; + $out .= ' /S /GTS_PDFA1'; + $out .= ' /OutputCondition '.$this->_textstring('sRGB IEC61966-2.1', $oid); + $out .= ' /OutputConditionIdentifier '.$this->_textstring('sRGB IEC61966-2.1', $oid); + $out .= ' /RegistryName '.$this->_textstring('http://www.color.org', $oid); + $out .= ' /Info '.$this->_textstring('sRGB IEC61966-2.1', $oid); + $out .= ' /DestOutputProfile '.$iccobj.' 0 R'; + $out .= ' >>]'; + } + //$out .= ' /PieceInfo <<>>'; + if (!empty($this->pdflayers)) { + $lyrobjs = ''; + $lyrobjs_off = ''; + $lyrobjs_lock = ''; + foreach ($this->pdflayers as $layer) { + $layer_obj_ref = ' '.$layer['objid'].' 0 R'; + $lyrobjs .= $layer_obj_ref; + if ($layer['view'] === false) { + $lyrobjs_off .= $layer_obj_ref; + } + if ($layer['lock']) { + $lyrobjs_lock .= $layer_obj_ref; + } + } + $out .= ' /OCProperties << /OCGs ['.$lyrobjs.']'; + $out .= ' /D <<'; + $out .= ' /Name '.$this->_textstring('Layers', $oid); + $out .= ' /Creator '.$this->_textstring('TCPDF', $oid); + $out .= ' /BaseState /ON'; + $out .= ' /OFF ['.$lyrobjs_off.']'; + $out .= ' /Locked ['.$lyrobjs_lock.']'; + $out .= ' /Intent /View'; + $out .= ' /AS ['; + $out .= ' << /Event /Print /OCGs ['.$lyrobjs.'] /Category [/Print] >>'; + $out .= ' << /Event /View /OCGs ['.$lyrobjs.'] /Category [/View] >>'; + $out .= ' ]'; + $out .= ' /Order ['.$lyrobjs.']'; + $out .= ' /ListMode /AllPages'; + //$out .= ' /RBGroups ['..']'; + //$out .= ' /Locked ['..']'; + $out .= ' >>'; + $out .= ' >>'; + } + // AcroForm + if (!empty($this->form_obj_id) + OR ($this->sign AND isset($this->signature_data['cert_type'])) + OR !empty($this->empty_signature_appearance)) { + $out .= ' /AcroForm <<'; + $objrefs = ''; + if ($this->sign AND isset($this->signature_data['cert_type'])) { + // set reference for signature object + $objrefs .= $this->sig_obj_id.' 0 R'; + } + if (!empty($this->empty_signature_appearance)) { + foreach ($this->empty_signature_appearance as $esa) { + // set reference for empty signature objects + $objrefs .= ' '.$esa['objid'].' 0 R'; + } + } + if (!empty($this->form_obj_id)) { + foreach($this->form_obj_id as $objid) { + $objrefs .= ' '.$objid.' 0 R'; + } + } + $out .= ' /Fields ['.$objrefs.']'; + // It's better to turn off this value and set the appearance stream for each annotation (/AP) to avoid conflicts with signature fields. + if (empty($this->signature_data['approval']) OR ($this->signature_data['approval'] != 'A')) { + $out .= ' /NeedAppearances false'; + } + if ($this->sign AND isset($this->signature_data['cert_type'])) { + if ($this->signature_data['cert_type'] > 0) { + $out .= ' /SigFlags 3'; + } else { + $out .= ' /SigFlags 1'; + } + } + //$out .= ' /CO '; + if (isset($this->annotation_fonts) AND !empty($this->annotation_fonts)) { + $out .= ' /DR <<'; + $out .= ' /Font <<'; + foreach ($this->annotation_fonts as $fontkey => $fontid) { + $out .= ' /F'.$fontid.' '.$this->font_obj_ids[$fontkey].' 0 R'; + } + $out .= ' >> >>'; + } + $font = $this->getFontBuffer((($this->pdfa_mode) ? 'pdfa' : '') .'helvetica'); + $out .= ' /DA ' . $this->_datastring('/F'.$font['i'].' 0 Tf 0 g'); + $out .= ' /Q '.(($this->rtl)?'2':'0'); + //$out .= ' /XFA '; + $out .= ' >>'; + // signatures + if ($this->sign AND isset($this->signature_data['cert_type']) + AND (empty($this->signature_data['approval']) OR ($this->signature_data['approval'] != 'A'))) { + if ($this->signature_data['cert_type'] > 0) { + $out .= ' /Perms << /DocMDP '.($this->sig_obj_id + 1).' 0 R >>'; + } else { + $out .= ' /Perms << /UR3 '.($this->sig_obj_id + 1).' 0 R >>'; + } + } + } + //$out .= ' /Legal <<>>'; + //$out .= ' /Requirements []'; + //$out .= ' /Collection <<>>'; + //$out .= ' /NeedsRendering true'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + return $oid; + } + + /** + * Output viewer preferences. + * @return string for viewer preferences + * @author Nicola asuni + * @since 3.1.000 (2008-06-09) + * @protected + */ + protected function _putviewerpreferences() { + $vp = $this->viewer_preferences; + $out = ' /ViewerPreferences <<'; + if ($this->rtl) { + $out .= ' /Direction /R2L'; + } else { + $out .= ' /Direction /L2R'; + } + if (isset($vp['HideToolbar']) AND ($vp['HideToolbar'])) { + $out .= ' /HideToolbar true'; + } + if (isset($vp['HideMenubar']) AND ($vp['HideMenubar'])) { + $out .= ' /HideMenubar true'; + } + if (isset($vp['HideWindowUI']) AND ($vp['HideWindowUI'])) { + $out .= ' /HideWindowUI true'; + } + if (isset($vp['FitWindow']) AND ($vp['FitWindow'])) { + $out .= ' /FitWindow true'; + } + if (isset($vp['CenterWindow']) AND ($vp['CenterWindow'])) { + $out .= ' /CenterWindow true'; + } + if (isset($vp['DisplayDocTitle']) AND ($vp['DisplayDocTitle'])) { + $out .= ' /DisplayDocTitle true'; + } + if (isset($vp['NonFullScreenPageMode'])) { + $out .= ' /NonFullScreenPageMode /'.$vp['NonFullScreenPageMode']; + } + if (isset($vp['ViewArea'])) { + $out .= ' /ViewArea /'.$vp['ViewArea']; + } + if (isset($vp['ViewClip'])) { + $out .= ' /ViewClip /'.$vp['ViewClip']; + } + if (isset($vp['PrintArea'])) { + $out .= ' /PrintArea /'.$vp['PrintArea']; + } + if (isset($vp['PrintClip'])) { + $out .= ' /PrintClip /'.$vp['PrintClip']; + } + if (isset($vp['PrintScaling'])) { + $out .= ' /PrintScaling /'.$vp['PrintScaling']; + } + if (isset($vp['Duplex']) AND (!TCPDF_STATIC::empty_string($vp['Duplex']))) { + $out .= ' /Duplex /'.$vp['Duplex']; + } + if (isset($vp['PickTrayByPDFSize'])) { + if ($vp['PickTrayByPDFSize']) { + $out .= ' /PickTrayByPDFSize true'; + } else { + $out .= ' /PickTrayByPDFSize false'; + } + } + if (isset($vp['PrintPageRange'])) { + $PrintPageRangeNum = ''; + foreach ($vp['PrintPageRange'] as $k => $v) { + $PrintPageRangeNum .= ' '.($v - 1).''; + } + $out .= ' /PrintPageRange ['.substr($PrintPageRangeNum,1).']'; + } + if (isset($vp['NumCopies'])) { + $out .= ' /NumCopies '.intval($vp['NumCopies']); + } + $out .= ' >>'; + return $out; + } + + /** + * Output PDF File Header (7.5.2). + * @protected + */ + protected function _putheader() { + $this->_out('%PDF-'.$this->PDFVersion); + $this->_out('%'.chr(0xe2).chr(0xe3).chr(0xcf).chr(0xd3)); + } + + /** + * Output end of document (EOF). + * @protected + */ + protected function _enddoc() { + if (isset($this->CurrentFont['fontkey']) AND isset($this->CurrentFont['subsetchars'])) { + // save subset chars of the previous font + $this->setFontSubBuffer($this->CurrentFont['fontkey'], 'subsetchars', $this->CurrentFont['subsetchars']); + } + $this->state = 1; + $this->_putheader(); + $this->_putpages(); + $this->_putresources(); + // empty signature fields + if (!empty($this->empty_signature_appearance)) { + foreach ($this->empty_signature_appearance as $key => $esa) { + // widget annotation for empty signature + $out = $this->_getobj($esa['objid'])."\n"; + $out .= '<< /Type /Annot'; + $out .= ' /Subtype /Widget'; + $out .= ' /Rect ['.$esa['rect'].']'; + $out .= ' /P '.$this->page_obj_id[($esa['page'])].' 0 R'; // link to signature appearance page + $out .= ' /F 4'; + $out .= ' /FT /Sig'; + $signame = $esa['name'].sprintf(' [%03d]', ($key + 1)); + $out .= ' /T '.$this->_textstring($signame, $esa['objid']); + $out .= ' /Ff 0'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + // Signature + if ($this->sign AND isset($this->signature_data['cert_type'])) { + // widget annotation for signature + $out = $this->_getobj($this->sig_obj_id)."\n"; + $out .= '<< /Type /Annot'; + $out .= ' /Subtype /Widget'; + $out .= ' /Rect ['.$this->signature_appearance['rect'].']'; + $out .= ' /P '.$this->page_obj_id[($this->signature_appearance['page'])].' 0 R'; // link to signature appearance page + $out .= ' /F 4'; + $out .= ' /FT /Sig'; + $out .= ' /T '.$this->_textstring($this->signature_appearance['name'], $this->sig_obj_id); + $out .= ' /Ff 0'; + $out .= ' /V '.($this->sig_obj_id + 1).' 0 R'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + // signature + $this->_putsignature(); + } + // Info + $objid_info = $this->_putinfo(); + // Catalog + $objid_catalog = $this->_putcatalog(); + // Cross-ref + $o = $this->bufferlen; + // XREF section + $this->_out('xref'); + $this->_out('0 '.($this->n + 1)); + $this->_out('0000000000 65535 f '); + $freegen = ($this->n + 2); + for ($i=1; $i <= $this->n; ++$i) { + if (!isset($this->offsets[$i]) AND ($i > 1)) { + $this->_out(sprintf('0000000000 %05d f ', $freegen)); + ++$freegen; + } else { + $this->_out(sprintf('%010d 00000 n ', $this->offsets[$i])); + } + } + // TRAILER + $out = 'trailer'."\n"; + $out .= '<<'; + $out .= ' /Size '.($this->n + 1); + $out .= ' /Root '.$objid_catalog.' 0 R'; + $out .= ' /Info '.$objid_info.' 0 R'; + if ($this->encrypted) { + $out .= ' /Encrypt '.$this->encryptdata['objid'].' 0 R'; + } + $out .= ' /ID [ <'.$this->file_id.'> <'.$this->file_id.'> ]'; + $out .= ' >>'; + $this->_out($out); + $this->_out('startxref'); + $this->_out($o); + $this->_out('%%EOF'); + $this->state = 3; // end-of-doc + } + + /** + * Initialize a new page. + * @param string $orientation page orientation. Possible values are (case insensitive):
      • P or PORTRAIT (default)
      • L or LANDSCAPE
      + * @param mixed $format The format used for pages. It can be either: one of the string values specified at getPageSizeFromFormat() or an array of parameters specified at setPageFormat(). + * @protected + * @see getPageSizeFromFormat(), setPageFormat() + */ + protected function _beginpage($orientation='', $format='') { + ++$this->page; + $this->pageobjects[$this->page] = array(); + $this->setPageBuffer($this->page, ''); + // initialize array for graphics tranformation positions inside a page buffer + $this->transfmrk[$this->page] = array(); + $this->state = 2; + if (TCPDF_STATIC::empty_string($orientation)) { + if (isset($this->CurOrientation)) { + $orientation = $this->CurOrientation; + } elseif ($this->fwPt > $this->fhPt) { + // landscape + $orientation = 'L'; + } else { + // portrait + $orientation = 'P'; + } + } + if (TCPDF_STATIC::empty_string($format)) { + $this->pagedim[$this->page] = $this->pagedim[($this->page - 1)]; + $this->setPageOrientation($orientation); + } else { + $this->setPageFormat($format, $orientation); + } + if ($this->rtl) { + $this->x = $this->w - $this->rMargin; + } else { + $this->x = $this->lMargin; + } + $this->y = $this->tMargin; + if (isset($this->newpagegroup[$this->page])) { + // start a new group + $this->currpagegroup = $this->newpagegroup[$this->page]; + $this->pagegroups[$this->currpagegroup] = 1; + } elseif (isset($this->currpagegroup) AND ($this->currpagegroup > 0)) { + ++$this->pagegroups[$this->currpagegroup]; + } + } + + /** + * Mark end of page. + * @protected + */ + protected function _endpage() { + $this->setVisibility('all'); + $this->state = 1; + } + + /** + * Begin a new object and return the object number. + * @return int object number + * @protected + */ + protected function _newobj() { + $this->_out($this->_getobj()); + return $this->n; + } + + /** + * Return the starting object string for the selected object ID. + * @param int|null $objid Object ID (leave empty to get a new ID). + * @return string the starting object string + * @protected + * @since 5.8.009 (2010-08-20) + */ + protected function _getobj($objid=null) { + if (TCPDF_STATIC::empty_string($objid)) { + ++$this->n; + $objid = $this->n; + } + $this->offsets[$objid] = $this->bufferlen; + $this->pageobjects[$this->page][] = $objid; + return $objid.' 0 obj'; + } + + /** + * Underline text. + * @param int $x X coordinate + * @param int $y Y coordinate + * @param string $txt text to underline + * @protected + */ + protected function _dounderline($x, $y, $txt) { + $w = $this->GetStringWidth($txt); + return $this->_dounderlinew($x, $y, $w); + } + + /** + * Underline for rectangular text area. + * @param int $x X coordinate + * @param int $y Y coordinate + * @param int $w width to underline + * @protected + * @since 4.8.008 (2009-09-29) + */ + protected function _dounderlinew($x, $y, $w) { + $linew = - $this->CurrentFont['ut'] / 1000 * $this->FontSizePt; + return sprintf('%F %F %F %F re f', $x * $this->k, ((($this->h - $y) * $this->k) + $linew), $w * $this->k, $linew); + } + + /** + * Line through text. + * @param int $x X coordinate + * @param int $y Y coordinate + * @param string $txt text to linethrough + * @protected + */ + protected function _dolinethrough($x, $y, $txt) { + $w = $this->GetStringWidth($txt); + return $this->_dolinethroughw($x, $y, $w); + } + + /** + * Line through for rectangular text area. + * @param int $x X coordinate + * @param int $y Y coordinate + * @param int $w line length (width) + * @protected + * @since 4.9.008 (2009-09-29) + */ + protected function _dolinethroughw($x, $y, $w) { + $linew = - $this->CurrentFont['ut'] / 1000 * $this->FontSizePt; + return sprintf('%F %F %F %F re f', $x * $this->k, ((($this->h - $y) * $this->k) + $linew + ($this->FontSizePt / 3)), $w * $this->k, $linew); + } + + /** + * Overline text. + * @param int $x X coordinate + * @param int $y Y coordinate + * @param string $txt text to overline + * @protected + * @since 4.9.015 (2010-04-19) + */ + protected function _dooverline($x, $y, $txt) { + $w = $this->GetStringWidth($txt); + return $this->_dooverlinew($x, $y, $w); + } + + /** + * Overline for rectangular text area. + * @param int $x X coordinate + * @param int $y Y coordinate + * @param int $w width to overline + * @protected + * @since 4.9.015 (2010-04-19) + */ + protected function _dooverlinew($x, $y, $w) { + $linew = - $this->CurrentFont['ut'] / 1000 * $this->FontSizePt; + return sprintf('%F %F %F %F re f', $x * $this->k, (($this->h - $y + $this->FontAscent) * $this->k) - $linew, $w * $this->k, $linew); + + } + + /** + * Format a data string for meta information + * @param string $s data string to escape. + * @param int $n object ID + * @return string escaped string. + * @protected + */ + protected function _datastring($s, $n=0) { + if ($n == 0) { + $n = $this->n; + } + $s = $this->_encrypt_data($n, $s); + return '('. TCPDF_STATIC::_escape($s).')'; + } + + /** + * Set the document creation timestamp + * @param mixed $time Document creation timestamp in seconds or date-time string. + * @public + * @since 5.9.152 (2012-03-23) + */ + public function setDocCreationTimestamp($time) { + if (is_string($time)) { + $time = TCPDF_STATIC::getTimestamp($time); + } + $this->doc_creation_timestamp = intval($time); + } + + /** + * Set the document modification timestamp + * @param mixed $time Document modification timestamp in seconds or date-time string. + * @public + * @since 5.9.152 (2012-03-23) + */ + public function setDocModificationTimestamp($time) { + if (is_string($time)) { + $time = TCPDF_STATIC::getTimestamp($time); + } + $this->doc_modification_timestamp = intval($time); + } + + /** + * Returns document creation timestamp in seconds. + * @return int Creation timestamp in seconds. + * @public + * @since 5.9.152 (2012-03-23) + */ + public function getDocCreationTimestamp() { + return $this->doc_creation_timestamp; + } + + /** + * Returns document modification timestamp in seconds. + * @return int Modfication timestamp in seconds. + * @public + * @since 5.9.152 (2012-03-23) + */ + public function getDocModificationTimestamp() { + return $this->doc_modification_timestamp; + } + + /** + * Returns a formatted date for meta information + * @param int $n Object ID. + * @param int $timestamp Timestamp to convert. + * @return string escaped date string. + * @protected + * @since 4.6.028 (2009-08-25) + */ + protected function _datestring($n=0, $timestamp=0) { + if ((empty($timestamp)) OR ($timestamp < 0)) { + $timestamp = $this->doc_creation_timestamp; + } + return $this->_datastring('D:'.TCPDF_STATIC::getFormattedDate($timestamp), $n); + } + + /** + * Format a text string for meta information + * @param string $s string to escape. + * @param int $n object ID + * @return string escaped string. + * @protected + */ + protected function _textstring($s, $n=0) { + if ($this->isunicode) { + //Convert string to UTF-16BE + $s = TCPDF_FONTS::UTF8ToUTF16BE($s, true, $this->isunicode, $this->CurrentFont); + } + return $this->_datastring($s, $n); + } + + /** + * get raw output stream. + * @param string $s string to output. + * @param int $n object reference for encryption mode + * @protected + * @author Nicola Asuni + * @since 5.5.000 (2010-06-22) + */ + protected function _getrawstream($s, $n=0) { + if ($n <= 0) { + // default to current object + $n = $this->n; + } + return $this->_encrypt_data($n, $s); + } + + /** + * Output a string to the document. + * @param string $s string to output. + * @protected + */ + protected function _out($s) { + if ($this->state == 2) { + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['outdata'] .= $s."\n"; + } elseif ((!$this->InFooter) AND isset($this->footerlen[$this->page]) AND ($this->footerlen[$this->page] > 0)) { + // puts data before page footer + $pagebuff = $this->getPageBuffer($this->page); + $page = substr($pagebuff, 0, -$this->footerlen[$this->page]); + $footer = substr($pagebuff, -$this->footerlen[$this->page]); + $this->setPageBuffer($this->page, $page.$s."\n".$footer); + // update footer position + $this->footerpos[$this->page] += strlen($s."\n"); + } else { + // set page data + $this->setPageBuffer($this->page, $s."\n", true); + } + } elseif ($this->state > 0) { + // set general data + $this->setBuffer($s."\n"); + } + } + + /** + * Set header font. + * @param array $font Array describing the basic font parameters: (family, style, size). + * @phpstan-param array{0: string, 1: string, 2: float|null} $font + * @public + * @since 1.1 + */ + public function setHeaderFont($font) { + $this->header_font = $font; + } + + /** + * Get header font. + * @return array Array describing the basic font parameters: (family, style, size). + * @phpstan-return array{0: string, 1: string, 2: float|null} + * @public + * @since 4.0.012 (2008-07-24) + */ + public function getHeaderFont() { + return $this->header_font; + } + + /** + * Set footer font. + * @param array $font Array describing the basic font parameters: (family, style, size). + * @phpstan-param array{0: string, 1: string, 2: float|null} $font + * @public + * @since 1.1 + */ + public function setFooterFont($font) { + $this->footer_font = $font; + } + + /** + * Get Footer font. + * @return array Array describing the basic font parameters: (family, style, size). + * @phpstan-return array{0: string, 1: string, 2: float|null} $font + * @public + * @since 4.0.012 (2008-07-24) + */ + public function getFooterFont() { + return $this->footer_font; + } + + /** + * Set language array. + * @param array $language + * @public + * @since 1.1 + */ + public function setLanguageArray($language) { + $this->l = $language; + if (isset($this->l['a_meta_dir'])) { + $this->rtl = $this->l['a_meta_dir']=='rtl' ? true : false; + } else { + $this->rtl = false; + } + } + + /** + * Returns the PDF data. + * @public + */ + public function getPDFData() { + if ($this->state < 3) { + $this->Close(); + } + return $this->buffer; + } + + /** + * Output anchor link. + * @param string $url link URL or internal link (i.e.: <a href="#23,4.5">link to page 23 at 4.5 Y position</a>) + * @param string $name link name + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param boolean $firstline if true prints only the first line and return the remaining string. + * @param array|null $color array of RGB text color + * @param string $style font style (U, D, B, I) + * @param boolean $firstblock if true the string is the starting of a line. + * @return int the number of cells used or the remaining text if $firstline = true; + * @public + */ + public function addHtmlLink($url, $name, $fill=false, $firstline=false, $color=null, $style=-1, $firstblock=false) { + if (isset($url[1]) AND ($url[0] == '#') AND is_numeric($url[1])) { + // convert url to internal link + $lnkdata = explode(',', $url); + if (isset($lnkdata[0]) ) { + $page = substr($lnkdata[0], 1); + if (isset($lnkdata[1]) AND (strlen($lnkdata[1]) > 0)) { + $lnky = floatval($lnkdata[1]); + } else { + $lnky = 0; + } + $url = $this->AddLink(); + $this->setLink($url, $lnky, $page); + } + } + // store current settings + $prevcolor = $this->fgcolor; + $prevstyle = $this->FontStyle; + if (empty($color)) { + $this->setTextColorArray($this->htmlLinkColorArray); + } else { + $this->setTextColorArray($color); + } + if ($style == -1) { + $this->setFont('', $this->FontStyle.$this->htmlLinkFontStyle); + } else { + $this->setFont('', $this->FontStyle.$style); + } + $ret = $this->Write($this->lasth, $name, $url, $fill, '', false, 0, $firstline, $firstblock, 0); + // restore settings + $this->setFont('', $prevstyle); + $this->setTextColorArray($prevcolor); + return $ret; + } + + /** + * Converts pixels to User's Units. + * @param int $px pixels + * @return float value in user's unit + * @public + * @see setImageScale(), getImageScale() + */ + public function pixelsToUnits($px) { + return ($px / ($this->imgscale * $this->k)); + } + + /** + * Reverse function for htmlentities. + * Convert entities in UTF-8. + * @param string $text_to_convert Text to convert. + * @return string converted text string + * @public + */ + public function unhtmlentities($text_to_convert) { + return @html_entity_decode($text_to_convert, ENT_QUOTES, $this->encoding); + } + + // ENCRYPTION METHODS ---------------------------------- + + /** + * Compute encryption key depending on object number where the encrypted data is stored. + * This is used for all strings and streams without crypt filter specifier. + * @param int $n object number + * @return int object key + * @protected + * @author Nicola Asuni + * @since 2.0.000 (2008-01-02) + */ + protected function _objectkey($n) { + $objkey = $this->encryptdata['key'].pack('VXxx', $n); + if ($this->encryptdata['mode'] == 2) { // AES-128 + // AES padding + $objkey .= "\x73\x41\x6C\x54"; // sAlT + } + $objkey = substr(TCPDF_STATIC::_md5_16($objkey), 0, (($this->encryptdata['Length'] / 8) + 5)); + $objkey = substr($objkey, 0, 16); + return $objkey; + } + + /** + * Encrypt the input string. + * @param int $n object number + * @param string $s data string to encrypt + * @return string encrypted string + * @protected + * @author Nicola Asuni + * @since 5.0.005 (2010-05-11) + */ + protected function _encrypt_data($n, $s) { + if (!$this->encrypted) { + return $s; + } + switch ($this->encryptdata['mode']) { + case 0: // RC4-40 + case 1: { // RC4-128 + $s = TCPDF_STATIC::_RC4($this->_objectkey($n), $s, $this->last_enc_key, $this->last_enc_key_c); + break; + } + case 2: { // AES-128 + $s = TCPDF_STATIC::_AES($this->_objectkey($n), $s); + break; + } + case 3: { // AES-256 + $s = TCPDF_STATIC::_AES($this->encryptdata['key'], $s); + break; + } + } + return $s; + } + + /** + * Put encryption on PDF document. + * @protected + * @author Nicola Asuni + * @since 2.0.000 (2008-01-02) + */ + protected function _putencryption() { + if (!$this->encrypted) { + return; + } + $this->encryptdata['objid'] = $this->_newobj(); + $out = '<<'; + if (!isset($this->encryptdata['Filter']) OR empty($this->encryptdata['Filter'])) { + $this->encryptdata['Filter'] = 'Standard'; + } + $out .= ' /Filter /'.$this->encryptdata['Filter']; + if (isset($this->encryptdata['SubFilter']) AND !empty($this->encryptdata['SubFilter'])) { + $out .= ' /SubFilter /'.$this->encryptdata['SubFilter']; + } + if (!isset($this->encryptdata['V']) OR empty($this->encryptdata['V'])) { + $this->encryptdata['V'] = 1; + } + // V is a code specifying the algorithm to be used in encrypting and decrypting the document + $out .= ' /V '.$this->encryptdata['V']; + if (isset($this->encryptdata['Length']) AND !empty($this->encryptdata['Length'])) { + // The length of the encryption key, in bits. The value shall be a multiple of 8, in the range 40 to 256 + $out .= ' /Length '.$this->encryptdata['Length']; + } else { + $out .= ' /Length 40'; + } + if ($this->encryptdata['V'] >= 4) { + if (!isset($this->encryptdata['StmF']) OR empty($this->encryptdata['StmF'])) { + $this->encryptdata['StmF'] = 'Identity'; + } + if (!isset($this->encryptdata['StrF']) OR empty($this->encryptdata['StrF'])) { + // The name of the crypt filter that shall be used when decrypting all strings in the document. + $this->encryptdata['StrF'] = 'Identity'; + } + // A dictionary whose keys shall be crypt filter names and whose values shall be the corresponding crypt filter dictionaries. + if (isset($this->encryptdata['CF']) AND !empty($this->encryptdata['CF'])) { + $out .= ' /CF <<'; + $out .= ' /'.$this->encryptdata['StmF'].' <<'; + $out .= ' /Type /CryptFilter'; + if (isset($this->encryptdata['CF']['CFM']) AND !empty($this->encryptdata['CF']['CFM'])) { + // The method used + $out .= ' /CFM /'.$this->encryptdata['CF']['CFM']; + if ($this->encryptdata['pubkey']) { + $out .= ' /Recipients ['; + foreach ($this->encryptdata['Recipients'] as $rec) { + $out .= ' <'.$rec.'>'; + } + $out .= ' ]'; + if (isset($this->encryptdata['CF']['EncryptMetadata']) AND (!$this->encryptdata['CF']['EncryptMetadata'])) { + $out .= ' /EncryptMetadata false'; + } else { + $out .= ' /EncryptMetadata true'; + } + } + } else { + $out .= ' /CFM /None'; + } + if (isset($this->encryptdata['CF']['AuthEvent']) AND !empty($this->encryptdata['CF']['AuthEvent'])) { + // The event to be used to trigger the authorization that is required to access encryption keys used by this filter. + $out .= ' /AuthEvent /'.$this->encryptdata['CF']['AuthEvent']; + } else { + $out .= ' /AuthEvent /DocOpen'; + } + if (isset($this->encryptdata['CF']['Length']) AND !empty($this->encryptdata['CF']['Length'])) { + // The bit length of the encryption key. + $out .= ' /Length '.$this->encryptdata['CF']['Length']; + } + $out .= ' >> >>'; + } + // The name of the crypt filter that shall be used by default when decrypting streams. + $out .= ' /StmF /'.$this->encryptdata['StmF']; + // The name of the crypt filter that shall be used when decrypting all strings in the document. + $out .= ' /StrF /'.$this->encryptdata['StrF']; + if (isset($this->encryptdata['EFF']) AND !empty($this->encryptdata['EFF'])) { + // The name of the crypt filter that shall be used when encrypting embedded file streams that do not have their own crypt filter specifier. + $out .= ' /EFF /'.$this->encryptdata['']; + } + } + // Additional encryption dictionary entries for the standard security handler + if ($this->encryptdata['pubkey']) { + if (($this->encryptdata['V'] < 4) AND isset($this->encryptdata['Recipients']) AND !empty($this->encryptdata['Recipients'])) { + $out .= ' /Recipients ['; + foreach ($this->encryptdata['Recipients'] as $rec) { + $out .= ' <'.$rec.'>'; + } + $out .= ' ]'; + } + } else { + $out .= ' /R'; + if ($this->encryptdata['V'] == 5) { // AES-256 + $out .= ' 5'; + $out .= ' /OE ('.TCPDF_STATIC::_escape($this->encryptdata['OE']).')'; + $out .= ' /UE ('.TCPDF_STATIC::_escape($this->encryptdata['UE']).')'; + $out .= ' /Perms ('.TCPDF_STATIC::_escape($this->encryptdata['perms']).')'; + } elseif ($this->encryptdata['V'] == 4) { // AES-128 + $out .= ' 4'; + } elseif ($this->encryptdata['V'] < 2) { // RC-40 + $out .= ' 2'; + } else { // RC-128 + $out .= ' 3'; + } + $out .= ' /O ('.TCPDF_STATIC::_escape($this->encryptdata['O']).')'; + $out .= ' /U ('.TCPDF_STATIC::_escape($this->encryptdata['U']).')'; + $out .= ' /P '.$this->encryptdata['P']; + if (isset($this->encryptdata['EncryptMetadata']) AND (!$this->encryptdata['EncryptMetadata'])) { + $out .= ' /EncryptMetadata false'; + } else { + $out .= ' /EncryptMetadata true'; + } + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + + /** + * Compute U value (used for encryption) + * @return string U value + * @protected + * @since 2.0.000 (2008-01-02) + * @author Nicola Asuni + */ + protected function _Uvalue() { + if ($this->encryptdata['mode'] == 0) { // RC4-40 + return TCPDF_STATIC::_RC4($this->encryptdata['key'], TCPDF_STATIC::$enc_padding, $this->last_enc_key, $this->last_enc_key_c); + } elseif ($this->encryptdata['mode'] < 3) { // RC4-128, AES-128 + $tmp = TCPDF_STATIC::_md5_16(TCPDF_STATIC::$enc_padding.$this->encryptdata['fileid']); + $enc = TCPDF_STATIC::_RC4($this->encryptdata['key'], $tmp, $this->last_enc_key, $this->last_enc_key_c); + $len = strlen($tmp); + for ($i = 1; $i <= 19; ++$i) { + $ek = ''; + for ($j = 0; $j < $len; ++$j) { + $ek .= chr(ord($this->encryptdata['key'][$j]) ^ $i); + } + $enc = TCPDF_STATIC::_RC4($ek, $enc, $this->last_enc_key, $this->last_enc_key_c); + } + $enc .= str_repeat("\x00", 16); + return substr($enc, 0, 32); + } elseif ($this->encryptdata['mode'] == 3) { // AES-256 + $seed = TCPDF_STATIC::_md5_16(TCPDF_STATIC::getRandomSeed()); + // User Validation Salt + $this->encryptdata['UVS'] = substr($seed, 0, 8); + // User Key Salt + $this->encryptdata['UKS'] = substr($seed, 8, 16); + return hash('sha256', $this->encryptdata['user_password'].$this->encryptdata['UVS'], true).$this->encryptdata['UVS'].$this->encryptdata['UKS']; + } + } + + /** + * Compute UE value (used for encryption) + * @return string UE value + * @protected + * @since 5.9.006 (2010-10-19) + * @author Nicola Asuni + */ + protected function _UEvalue() { + $hashkey = hash('sha256', $this->encryptdata['user_password'].$this->encryptdata['UKS'], true); + return TCPDF_STATIC::_AESnopad($hashkey, $this->encryptdata['key']); + } + + /** + * Compute O value (used for encryption) + * @return string O value + * @protected + * @since 2.0.000 (2008-01-02) + * @author Nicola Asuni + */ + protected function _Ovalue() { + if ($this->encryptdata['mode'] < 3) { // RC4-40, RC4-128, AES-128 + $tmp = TCPDF_STATIC::_md5_16($this->encryptdata['owner_password']); + if ($this->encryptdata['mode'] > 0) { + for ($i = 0; $i < 50; ++$i) { + $tmp = TCPDF_STATIC::_md5_16($tmp); + } + } + $owner_key = substr($tmp, 0, ($this->encryptdata['Length'] / 8)); + $enc = TCPDF_STATIC::_RC4($owner_key, $this->encryptdata['user_password'], $this->last_enc_key, $this->last_enc_key_c); + if ($this->encryptdata['mode'] > 0) { + $len = strlen($owner_key); + for ($i = 1; $i <= 19; ++$i) { + $ek = ''; + for ($j = 0; $j < $len; ++$j) { + $ek .= chr(ord($owner_key[$j]) ^ $i); + } + $enc = TCPDF_STATIC::_RC4($ek, $enc, $this->last_enc_key, $this->last_enc_key_c); + } + } + return $enc; + } elseif ($this->encryptdata['mode'] == 3) { // AES-256 + $seed = TCPDF_STATIC::_md5_16(TCPDF_STATIC::getRandomSeed()); + // Owner Validation Salt + $this->encryptdata['OVS'] = substr($seed, 0, 8); + // Owner Key Salt + $this->encryptdata['OKS'] = substr($seed, 8, 16); + return hash('sha256', $this->encryptdata['owner_password'].$this->encryptdata['OVS'].$this->encryptdata['U'], true).$this->encryptdata['OVS'].$this->encryptdata['OKS']; + } + } + + /** + * Compute OE value (used for encryption) + * @return string OE value + * @protected + * @since 5.9.006 (2010-10-19) + * @author Nicola Asuni + */ + protected function _OEvalue() { + $hashkey = hash('sha256', $this->encryptdata['owner_password'].$this->encryptdata['OKS'].$this->encryptdata['U'], true); + return TCPDF_STATIC::_AESnopad($hashkey, $this->encryptdata['key']); + } + + /** + * Convert password for AES-256 encryption mode + * @param string $password password + * @return string password + * @protected + * @since 5.9.006 (2010-10-19) + * @author Nicola Asuni + */ + protected function _fixAES256Password($password) { + $psw = ''; // password to be returned + $psw_array = TCPDF_FONTS::utf8Bidi(TCPDF_FONTS::UTF8StringToArray($password, $this->isunicode, $this->CurrentFont), $password, $this->rtl, $this->isunicode, $this->CurrentFont); + foreach ($psw_array as $c) { + $psw .= TCPDF_FONTS::unichr($c, $this->isunicode); + } + return substr($psw, 0, 127); + } + + /** + * Compute encryption key + * @protected + * @since 2.0.000 (2008-01-02) + * @author Nicola Asuni + */ + protected function _generateencryptionkey() { + $keybytelen = ($this->encryptdata['Length'] / 8); + if (!$this->encryptdata['pubkey']) { // standard mode + if ($this->encryptdata['mode'] == 3) { // AES-256 + // generate 256 bit random key + $this->encryptdata['key'] = substr(hash('sha256', TCPDF_STATIC::getRandomSeed(), true), 0, $keybytelen); + // truncate passwords + $this->encryptdata['user_password'] = $this->_fixAES256Password($this->encryptdata['user_password']); + $this->encryptdata['owner_password'] = $this->_fixAES256Password($this->encryptdata['owner_password']); + // Compute U value + $this->encryptdata['U'] = $this->_Uvalue(); + // Compute UE value + $this->encryptdata['UE'] = $this->_UEvalue(); + // Compute O value + $this->encryptdata['O'] = $this->_Ovalue(); + // Compute OE value + $this->encryptdata['OE'] = $this->_OEvalue(); + // Compute P value + $this->encryptdata['P'] = $this->encryptdata['protection']; + // Computing the encryption dictionary's Perms (permissions) value + $perms = TCPDF_STATIC::getEncPermissionsString($this->encryptdata['protection']); // bytes 0-3 + $perms .= chr(255).chr(255).chr(255).chr(255); // bytes 4-7 + if (isset($this->encryptdata['CF']['EncryptMetadata']) AND (!$this->encryptdata['CF']['EncryptMetadata'])) { // byte 8 + $perms .= 'F'; + } else { + $perms .= 'T'; + } + $perms .= 'adb'; // bytes 9-11 + $perms .= 'nick'; // bytes 12-15 + $this->encryptdata['perms'] = TCPDF_STATIC::_AESnopad($this->encryptdata['key'], $perms); + } else { // RC4-40, RC4-128, AES-128 + // Pad passwords + $this->encryptdata['user_password'] = substr($this->encryptdata['user_password'].TCPDF_STATIC::$enc_padding, 0, 32); + $this->encryptdata['owner_password'] = substr($this->encryptdata['owner_password'].TCPDF_STATIC::$enc_padding, 0, 32); + // Compute O value + $this->encryptdata['O'] = $this->_Ovalue(); + // get default permissions (reverse byte order) + $permissions = TCPDF_STATIC::getEncPermissionsString($this->encryptdata['protection']); + // Compute encryption key + $tmp = TCPDF_STATIC::_md5_16($this->encryptdata['user_password'].$this->encryptdata['O'].$permissions.$this->encryptdata['fileid']); + if ($this->encryptdata['mode'] > 0) { + for ($i = 0; $i < 50; ++$i) { + $tmp = TCPDF_STATIC::_md5_16(substr($tmp, 0, $keybytelen)); + } + } + $this->encryptdata['key'] = substr($tmp, 0, $keybytelen); + // Compute U value + $this->encryptdata['U'] = $this->_Uvalue(); + // Compute P value + $this->encryptdata['P'] = $this->encryptdata['protection']; + } + } else { // Public-Key mode + // random 20-byte seed + $seed = sha1(TCPDF_STATIC::getRandomSeed(), true); + $recipient_bytes = ''; + foreach ($this->encryptdata['pubkeys'] as $pubkey) { + // for each public certificate + if (isset($pubkey['p'])) { + $pkprotection = TCPDF_STATIC::getUserPermissionCode($pubkey['p'], $this->encryptdata['mode']); + } else { + $pkprotection = $this->encryptdata['protection']; + } + // get default permissions (reverse byte order) + $pkpermissions = TCPDF_STATIC::getEncPermissionsString($pkprotection); + // envelope data + $envelope = $seed.$pkpermissions; + // write the envelope data to a temporary file + $tempkeyfile = TCPDF_STATIC::getObjFilename('key', $this->file_id); + $f = TCPDF_STATIC::fopenLocal($tempkeyfile, 'wb'); + if (!$f) { + $this->Error('Unable to create temporary key file: '.$tempkeyfile); + } + $envelope_length = strlen($envelope); + fwrite($f, $envelope, $envelope_length); + fclose($f); + $tempencfile = TCPDF_STATIC::getObjFilename('enc', $this->file_id); + if (!openssl_pkcs7_encrypt($tempkeyfile, $tempencfile, $pubkey['c'], array(), PKCS7_BINARY | PKCS7_DETACHED)) { + $this->Error('Unable to encrypt the file: '.$tempkeyfile); + } + // read encryption signature + $signature = file_get_contents($tempencfile, false, null, $envelope_length); + // extract signature + $signature = substr($signature, strpos($signature, 'Content-Disposition')); + $tmparr = explode("\n\n", $signature); + $signature = trim($tmparr[1]); + unset($tmparr); + // decode signature + $signature = base64_decode($signature); + // convert signature to hex + $hexsignature = current(unpack('H*', $signature)); + // store signature on recipients array + $this->encryptdata['Recipients'][] = $hexsignature; + // The bytes of each item in the Recipients array of PKCS#7 objects in the order in which they appear in the array + $recipient_bytes .= $signature; + } + // calculate encryption key + if ($this->encryptdata['mode'] == 3) { // AES-256 + $this->encryptdata['key'] = substr(hash('sha256', $seed.$recipient_bytes, true), 0, $keybytelen); + } else { // RC4-40, RC4-128, AES-128 + $this->encryptdata['key'] = substr(sha1($seed.$recipient_bytes, true), 0, $keybytelen); + } + } + } + + /** + * Set document protection + * Remark: the protection against modification is for people who have the full Acrobat product. + * If you don't set any password, the document will open as usual. If you set a user password, the PDF viewer will ask for it before displaying the document. The master password, if different from the user one, can be used to get full access. + * Note: protecting a document requires to encrypt it, which increases the processing time a lot. This can cause a PHP time-out in some cases, especially if the document contains images or fonts. + * @param array $permissions the set of permissions (specify the ones you want to block):
      • print : Print the document;
      • modify : Modify the contents of the document by operations other than those controlled by 'fill-forms', 'extract' and 'assemble';
      • copy : Copy or otherwise extract text and graphics from the document;
      • annot-forms : Add or modify text annotations, fill in interactive form fields, and, if 'modify' is also set, create or modify interactive form fields (including signature fields);
      • fill-forms : Fill in existing interactive form fields (including signature fields), even if 'annot-forms' is not specified;
      • extract : Extract text and graphics (in support of accessibility to users with disabilities or for other purposes);
      • assemble : Assemble the document (insert, rotate, or delete pages and create bookmarks or thumbnail images), even if 'modify' is not set;
      • print-high : Print the document to a representation from which a faithful digital copy of the PDF content could be generated. When this is not set, printing is limited to a low-level representation of the appearance, possibly of degraded quality.
      • owner : (inverted logic - only for public-key) when set permits change of encryption and enables all other permissions.
      + * @param string $user_pass user password. Empty by default. + * @param string|null $owner_pass owner password. If not specified, a random value is used. + * @param int $mode encryption strength: 0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit. + * @param array|null $pubkeys array of recipients containing public-key certificates ('c') and permissions ('p'). For example: array(array('c' => 'file://../examples/data/cert/tcpdf.crt', 'p' => array('print'))) + * @public + * @since 2.0.000 (2008-01-02) + * @author Nicola Asuni + */ + public function setProtection($permissions=array('print', 'modify', 'copy', 'annot-forms', 'fill-forms', 'extract', 'assemble', 'print-high'), $user_pass='', $owner_pass=null, $mode=0, $pubkeys=null) { + if ($this->pdfa_mode) { + // encryption is not allowed in PDF/A mode + return; + } + $this->encryptdata['protection'] = TCPDF_STATIC::getUserPermissionCode($permissions, $mode); + if (($pubkeys !== null) AND (is_array($pubkeys))) { + // public-key mode + $this->encryptdata['pubkeys'] = $pubkeys; + if ($mode == 0) { + // public-Key Security requires at least 128 bit + $mode = 1; + } + if (!function_exists('openssl_pkcs7_encrypt')) { + $this->Error('Public-Key Security requires openssl library.'); + } + // Set Public-Key filter (available are: Entrust.PPKEF, Adobe.PPKLite, Adobe.PubSec) + $this->encryptdata['pubkey'] = true; + $this->encryptdata['Filter'] = 'Adobe.PubSec'; + $this->encryptdata['StmF'] = 'DefaultCryptFilter'; + $this->encryptdata['StrF'] = 'DefaultCryptFilter'; + } else { + // standard mode (password mode) + $this->encryptdata['pubkey'] = false; + $this->encryptdata['Filter'] = 'Standard'; + $this->encryptdata['StmF'] = 'StdCF'; + $this->encryptdata['StrF'] = 'StdCF'; + } + if ($mode > 1) { // AES + if (!extension_loaded('openssl') && !extension_loaded('mcrypt')) { + $this->Error('AES encryption requires openssl or mcrypt extension (http://www.php.net/manual/en/mcrypt.requirements.php).'); + } + if (extension_loaded('openssl') && !in_array('aes-256-cbc', openssl_get_cipher_methods())) { + $this->Error('AES encryption requires openssl/aes-256-cbc cypher.'); + } + if (extension_loaded('mcrypt') && mcrypt_get_cipher_name(MCRYPT_RIJNDAEL_128) === false) { + $this->Error('AES encryption requires MCRYPT_RIJNDAEL_128 cypher.'); + } + if (($mode == 3) AND !function_exists('hash')) { + // the Hash extension requires no external libraries and is enabled by default as of PHP 5.1.2. + $this->Error('AES 256 encryption requires HASH Message Digest Framework (http://www.php.net/manual/en/book.hash.php).'); + } + } + if ($owner_pass === null) { + $owner_pass = md5(TCPDF_STATIC::getRandomSeed()); + } + $this->encryptdata['user_password'] = $user_pass; + $this->encryptdata['owner_password'] = $owner_pass; + $this->encryptdata['mode'] = $mode; + switch ($mode) { + case 0: { // RC4 40 bit + $this->encryptdata['V'] = 1; + $this->encryptdata['Length'] = 40; + $this->encryptdata['CF']['CFM'] = 'V2'; + break; + } + case 1: { // RC4 128 bit + $this->encryptdata['V'] = 2; + $this->encryptdata['Length'] = 128; + $this->encryptdata['CF']['CFM'] = 'V2'; + if ($this->encryptdata['pubkey']) { + $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s4'; + $this->encryptdata['Recipients'] = array(); + } + break; + } + case 2: { // AES 128 bit + $this->encryptdata['V'] = 4; + $this->encryptdata['Length'] = 128; + $this->encryptdata['CF']['CFM'] = 'AESV2'; + $this->encryptdata['CF']['Length'] = 16; + if ($this->encryptdata['pubkey']) { + $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; + $this->encryptdata['Recipients'] = array(); + } + break; + } + case 3: { // AES 256 bit + $this->encryptdata['V'] = 5; + $this->encryptdata['Length'] = 256; + $this->encryptdata['CF']['CFM'] = 'AESV3'; + $this->encryptdata['CF']['Length'] = 32; + if ($this->encryptdata['pubkey']) { + $this->encryptdata['SubFilter'] = 'adbe.pkcs7.s5'; + $this->encryptdata['Recipients'] = array(); + } + break; + } + } + $this->encrypted = true; + $this->encryptdata['fileid'] = TCPDF_STATIC::convertHexStringToString($this->file_id); + $this->_generateencryptionkey(); + } + + // END OF ENCRYPTION FUNCTIONS ------------------------- + + // START TRANSFORMATIONS SECTION ----------------------- + + /** + * Starts a 2D tranformation saving current graphic state. + * This function must be called before scaling, mirroring, translation, rotation and skewing. + * Use StartTransform() before, and StopTransform() after the transformations to restore the normal behavior. + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function StartTransform() { + if ($this->state != 2) { + return; + } + $this->_outSaveGraphicsState(); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['transfmrk'][] = strlen($this->xobjects[$this->xobjid]['outdata']); + } else { + $this->transfmrk[$this->page][] = $this->pagelen[$this->page]; + } + ++$this->transfmatrix_key; + $this->transfmatrix[$this->transfmatrix_key] = array(); + } + + /** + * Stops a 2D tranformation restoring previous graphic state. + * This function must be called after scaling, mirroring, translation, rotation and skewing. + * Use StartTransform() before, and StopTransform() after the transformations to restore the normal behavior. + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function StopTransform() { + if ($this->state != 2) { + return; + } + $this->_outRestoreGraphicsState(); + if (isset($this->transfmatrix[$this->transfmatrix_key])) { + array_pop($this->transfmatrix[$this->transfmatrix_key]); + --$this->transfmatrix_key; + } + if ($this->inxobj) { + // we are inside an XObject template + array_pop($this->xobjects[$this->xobjid]['transfmrk']); + } else { + array_pop($this->transfmrk[$this->page]); + } + } + /** + * Horizontal Scaling. + * @param float $s_x scaling factor for width as percent. 0 is not allowed. + * @param int $x abscissa of the scaling center. Default is current x position + * @param int $y ordinate of the scaling center. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function ScaleX($s_x, $x='', $y='') { + $this->Scale($s_x, 100, $x, $y); + } + + /** + * Vertical Scaling. + * @param float $s_y scaling factor for height as percent. 0 is not allowed. + * @param int $x abscissa of the scaling center. Default is current x position + * @param int $y ordinate of the scaling center. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function ScaleY($s_y, $x='', $y='') { + $this->Scale(100, $s_y, $x, $y); + } + + /** + * Vertical and horizontal proportional Scaling. + * @param float $s scaling factor for width and height as percent. 0 is not allowed. + * @param int $x abscissa of the scaling center. Default is current x position + * @param int $y ordinate of the scaling center. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function ScaleXY($s, $x='', $y='') { + $this->Scale($s, $s, $x, $y); + } + + /** + * Vertical and horizontal non-proportional Scaling. + * @param float $s_x scaling factor for width as percent. 0 is not allowed. + * @param float $s_y scaling factor for height as percent. 0 is not allowed. + * @param float|null $x abscissa of the scaling center. Default is current x position + * @param float|null $y ordinate of the scaling center. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function Scale($s_x, $s_y, $x=null, $y=null) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + if (($s_x == 0) OR ($s_y == 0)) { + $this->Error('Please do not use values equal to zero for scaling'); + } + $y = ($this->h - $y) * $this->k; + $x *= $this->k; + //calculate elements of transformation matrix + $s_x /= 100; + $s_y /= 100; + $tm = array(); + $tm[0] = $s_x; + $tm[1] = 0; + $tm[2] = 0; + $tm[3] = $s_y; + $tm[4] = $x * (1 - $s_x); + $tm[5] = $y * (1 - $s_y); + //scale the coordinate system + $this->Transform($tm); + } + + /** + * Horizontal Mirroring. + * @param float|null $x abscissa of the point. Default is current x position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function MirrorH($x=null) { + $this->Scale(-100, 100, $x); + } + + /** + * Verical Mirroring. + * @param float|null $y ordinate of the point. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function MirrorV($y=null) { + $this->Scale(100, -100, null, $y); + } + + /** + * Point reflection mirroring. + * @param float|null $x abscissa of the point. Default is current x position + * @param float|null $y ordinate of the point. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function MirrorP($x=null,$y=null) { + $this->Scale(-100, -100, $x, $y); + } + + /** + * Reflection against a straight line through point (x, y) with the gradient angle (angle). + * @param float $angle gradient angle of the straight line. Default is 0 (horizontal line). + * @param float|null $x abscissa of the point. Default is current x position + * @param float|null $y ordinate of the point. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function MirrorL($angle=0, $x=null,$y=null) { + $this->Scale(-100, 100, $x, $y); + $this->Rotate(-2*($angle-90), $x, $y); + } + + /** + * Translate graphic object horizontally. + * @param int $t_x movement to the right (or left for RTL) + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function TranslateX($t_x) { + $this->Translate($t_x, 0); + } + + /** + * Translate graphic object vertically. + * @param int $t_y movement to the bottom + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function TranslateY($t_y) { + $this->Translate(0, $t_y); + } + + /** + * Translate graphic object horizontally and vertically. + * @param int $t_x movement to the right + * @param int $t_y movement to the bottom + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function Translate($t_x, $t_y) { + //calculate elements of transformation matrix + $tm = array(); + $tm[0] = 1; + $tm[1] = 0; + $tm[2] = 0; + $tm[3] = 1; + $tm[4] = $t_x * $this->k; + $tm[5] = -$t_y * $this->k; + //translate the coordinate system + $this->Transform($tm); + } + + /** + * Rotate object. + * @param float $angle angle in degrees for counter-clockwise rotation + * @param float|null $x abscissa of the rotation center. Default is current x position + * @param float|null $y ordinate of the rotation center. Default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function Rotate($angle, $x=null, $y=null) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + $y = ($this->h - $y) * $this->k; + $x *= $this->k; + //calculate elements of transformation matrix + $tm = array(); + $tm[0] = cos(deg2rad($angle)); + $tm[1] = sin(deg2rad($angle)); + $tm[2] = -$tm[1]; + $tm[3] = $tm[0]; + $tm[4] = $x + ($tm[1] * $y) - ($tm[0] * $x); + $tm[5] = $y - ($tm[0] * $y) - ($tm[1] * $x); + //rotate the coordinate system around ($x,$y) + $this->Transform($tm); + } + + /** + * Skew horizontally. + * @param float $angle_x angle in degrees between -90 (skew to the left) and 90 (skew to the right) + * @param float|null $x abscissa of the skewing center. default is current x position + * @param float|null $y ordinate of the skewing center. default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function SkewX($angle_x, $x=null, $y=null) { + $this->Skew($angle_x, 0, $x, $y); + } + + /** + * Skew vertically. + * @param float $angle_y angle in degrees between -90 (skew to the bottom) and 90 (skew to the top) + * @param float|null $x abscissa of the skewing center. default is current x position + * @param float|null $y ordinate of the skewing center. default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function SkewY($angle_y, $x=null, $y=null) { + $this->Skew(0, $angle_y, $x, $y); + } + + /** + * Skew. + * @param float $angle_x angle in degrees between -90 (skew to the left) and 90 (skew to the right) + * @param float $angle_y angle in degrees between -90 (skew to the bottom) and 90 (skew to the top) + * @param float|null $x abscissa of the skewing center. default is current x position + * @param float|null $y ordinate of the skewing center. default is current y position + * @public + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + public function Skew($angle_x, $angle_y, $x=null, $y=null) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + if (($angle_x <= -90) OR ($angle_x >= 90) OR ($angle_y <= -90) OR ($angle_y >= 90)) { + $this->Error('Please use values between -90 and +90 degrees for Skewing.'); + } + $x *= $this->k; + $y = ($this->h - $y) * $this->k; + //calculate elements of transformation matrix + $tm = array(); + $tm[0] = 1; + $tm[1] = tan(deg2rad($angle_y)); + $tm[2] = tan(deg2rad($angle_x)); + $tm[3] = 1; + $tm[4] = -$tm[2] * $y; + $tm[5] = -$tm[1] * $x; + //skew the coordinate system + $this->Transform($tm); + } + + /** + * Apply graphic transformations. + * @param array $tm transformation matrix + * @protected + * @since 2.1.000 (2008-01-07) + * @see StartTransform(), StopTransform() + */ + protected function Transform($tm) { + if ($this->state != 2) { + return; + } + $this->_out(sprintf('%F %F %F %F %F %F cm', $tm[0], $tm[1], $tm[2], $tm[3], $tm[4], $tm[5])); + // add tranformation matrix + $this->transfmatrix[$this->transfmatrix_key][] = array('a' => $tm[0], 'b' => $tm[1], 'c' => $tm[2], 'd' => $tm[3], 'e' => $tm[4], 'f' => $tm[5]); + // update transformation mark + if ($this->inxobj) { + // we are inside an XObject template + if (end($this->xobjects[$this->xobjid]['transfmrk']) !== false) { + $key = key($this->xobjects[$this->xobjid]['transfmrk']); + $this->xobjects[$this->xobjid]['transfmrk'][$key] = strlen($this->xobjects[$this->xobjid]['outdata']); + } + } elseif (end($this->transfmrk[$this->page]) !== false) { + $key = key($this->transfmrk[$this->page]); + $this->transfmrk[$this->page][$key] = $this->pagelen[$this->page]; + } + } + + // END TRANSFORMATIONS SECTION ------------------------- + + // START GRAPHIC FUNCTIONS SECTION --------------------- + // The following section is based on the code provided by David Hernandez Sanz + + /** + * Defines the line width. By default, the value equals 0.2 mm. The method can be called before the first page is created and the value is retained from page to page. + * @param float $width The width. + * @public + * @since 1.0 + * @see Line(), Rect(), Cell(), MultiCell() + */ + public function setLineWidth($width) { + //Set line width + $this->LineWidth = $width; + $this->linestyleWidth = sprintf('%F w', ($width * $this->k)); + if ($this->state == 2) { + $this->_out($this->linestyleWidth); + } + } + + /** + * Returns the current the line width. + * @return int Line width + * @public + * @since 2.1.000 (2008-01-07) + * @see Line(), SetLineWidth() + */ + public function GetLineWidth() { + return $this->LineWidth; + } + + /** + * Set line style. + * @param array $style Line style. Array with keys among the following: + *
        + *
      • width (float): Width of the line in user units.
      • + *
      • cap (string): Type of cap to put on the line. Possible values are: + * butt, round, square. The difference between "square" and "butt" is that + * "square" projects a flat end past the end of the line.
      • + *
      • join (string): Type of join. Possible values are: miter, round, + * bevel.
      • + *
      • dash (mixed): Dash pattern. Is 0 (without dash) or string with + * series of length values, which are the lengths of the on and off dashes. + * For example: "2" represents 2 on, 2 off, 2 on, 2 off, ...; "2,1" is 2 on, + * 1 off, 2 on, 1 off, ...
      • + *
      • phase (integer): Modifier on the dash pattern which is used to shift + * the point at which the pattern starts.
      • + *
      • color (array): Draw color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName).
      • + *
      + * @param boolean $ret if true do not send the command. + * @return string the PDF command + * @public + * @since 2.1.000 (2008-01-08) + */ + public function setLineStyle($style, $ret=false) { + $s = ''; // string to be returned + if (!is_array($style)) { + return $s; + } + if (isset($style['width'])) { + $this->LineWidth = $style['width']; + $this->linestyleWidth = sprintf('%F w', ($style['width'] * $this->k)); + $s .= $this->linestyleWidth.' '; + } + if (isset($style['cap'])) { + $ca = array('butt' => 0, 'round'=> 1, 'square' => 2); + if (isset($ca[$style['cap']])) { + $this->linestyleCap = $ca[$style['cap']].' J'; + $s .= $this->linestyleCap.' '; + } + } + if (isset($style['join'])) { + $ja = array('miter' => 0, 'round' => 1, 'bevel' => 2); + if (isset($ja[$style['join']])) { + $this->linestyleJoin = $ja[$style['join']].' j'; + $s .= $this->linestyleJoin.' '; + } + } + if (isset($style['dash'])) { + $dash_string = ''; + if ($style['dash']) { + if (preg_match('/^.+,/', $style['dash']) > 0) { + $tab = explode(',', $style['dash']); + } else { + $tab = array($style['dash']); + } + $dash_string = ''; + foreach ($tab as $i => $v) { + if ($i) { + $dash_string .= ' '; + } + $dash_string .= sprintf('%F', $v); + } + } + if (!isset($style['phase']) OR !$style['dash']) { + $style['phase'] = 0; + } + $this->linestyleDash = sprintf('[%s] %F d', $dash_string, $style['phase']); + $s .= $this->linestyleDash.' '; + } + if (isset($style['color'])) { + $s .= $this->setDrawColorArray($style['color'], true).' '; + } + if (!$ret AND ($this->state == 2)) { + $this->_out($s); + } + return $s; + } + + /** + * Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment. + * @param float $x Abscissa of point. + * @param float $y Ordinate of point. + * @protected + * @since 2.1.000 (2008-01-08) + */ + protected function _outPoint($x, $y) { + if ($this->state == 2) { + $this->_out(sprintf('%F %F m', ($x * $this->k), (($this->h - $y) * $this->k))); + } + } + + /** + * Append a straight line segment from the current point to the point (x, y). + * The new current point shall be (x, y). + * @param float $x Abscissa of end point. + * @param float $y Ordinate of end point. + * @protected + * @since 2.1.000 (2008-01-08) + */ + protected function _outLine($x, $y) { + if ($this->state == 2) { + $this->_out(sprintf('%F %F l', ($x * $this->k), (($this->h - $y) * $this->k))); + } + } + + /** + * Append a rectangle to the current path as a complete subpath, with lower-left corner (x, y) and dimensions widthand height in user space. + * @param float $x Abscissa of upper-left corner. + * @param float $y Ordinate of upper-left corner. + * @param float $w Width. + * @param float $h Height. + * @param string $op options + * @protected + * @since 2.1.000 (2008-01-08) + */ + protected function _outRect($x, $y, $w, $h, $op) { + if ($this->state == 2) { + $this->_out(sprintf('%F %F %F %F re %s', ($x * $this->k), (($this->h - $y) * $this->k), ($w * $this->k), (-$h * $this->k), $op)); + } + } + + /** + * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bezier control points. + * The new current point shall be (x3, y3). + * @param float $x1 Abscissa of control point 1. + * @param float $y1 Ordinate of control point 1. + * @param float $x2 Abscissa of control point 2. + * @param float $y2 Ordinate of control point 2. + * @param float $x3 Abscissa of end point. + * @param float $y3 Ordinate of end point. + * @protected + * @since 2.1.000 (2008-01-08) + */ + protected function _outCurve($x1, $y1, $x2, $y2, $x3, $y3) { + if ($this->state == 2) { + $this->_out(sprintf('%F %F %F %F %F %F c', ($x1 * $this->k), (($this->h - $y1) * $this->k), ($x2 * $this->k), (($this->h - $y2) * $this->k), ($x3 * $this->k), (($this->h - $y3) * $this->k))); + } + } + + /** + * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bezier control points. + * The new current point shall be (x3, y3). + * @param float $x2 Abscissa of control point 2. + * @param float $y2 Ordinate of control point 2. + * @param float $x3 Abscissa of end point. + * @param float $y3 Ordinate of end point. + * @protected + * @since 4.9.019 (2010-04-26) + */ + protected function _outCurveV($x2, $y2, $x3, $y3) { + if ($this->state == 2) { + $this->_out(sprintf('%F %F %F %F v', ($x2 * $this->k), (($this->h - $y2) * $this->k), ($x3 * $this->k), (($this->h - $y3) * $this->k))); + } + } + + /** + * Append a cubic Bezier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bezier control points. + * The new current point shall be (x3, y3). + * @param float $x1 Abscissa of control point 1. + * @param float $y1 Ordinate of control point 1. + * @param float $x3 Abscissa of end point. + * @param float $y3 Ordinate of end point. + * @protected + * @since 2.1.000 (2008-01-08) + */ + protected function _outCurveY($x1, $y1, $x3, $y3) { + if ($this->state == 2) { + $this->_out(sprintf('%F %F %F %F y', ($x1 * $this->k), (($this->h - $y1) * $this->k), ($x3 * $this->k), (($this->h - $y3) * $this->k))); + } + } + + /** + * Draws a line between two points. + * @param float $x1 Abscissa of first point. + * @param float $y1 Ordinate of first point. + * @param float $x2 Abscissa of second point. + * @param float $y2 Ordinate of second point. + * @param array $style Line style. Array like for SetLineStyle(). Default value: default line style (empty array). + * @public + * @since 1.0 + * @see SetLineWidth(), SetDrawColor(), SetLineStyle() + */ + public function Line($x1, $y1, $x2, $y2, $style=array()) { + if ($this->state != 2) { + return; + } + if (is_array($style)) { + $this->setLineStyle($style); + } + $this->_outPoint($x1, $y1); + $this->_outLine($x2, $y2); + $this->_out('S'); + } + + /** + * Draws a rectangle. + * @param float $x Abscissa of upper-left corner. + * @param float $y Ordinate of upper-left corner. + * @param float $w Width. + * @param float $h Height. + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $border_style Border style of rectangle. Array with keys among the following: + *
        + *
      • all: Line style of all borders. Array like for SetLineStyle().
      • + *
      • L, T, R, B or combinations: Line style of left, top, right or bottom border. Array like for SetLineStyle().
      • + *
      + * If a key is not present or is null, the correspondent border is not drawn. Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @public + * @since 1.0 + * @see SetLineStyle() + */ + public function Rect($x, $y, $w, $h, $style='', $border_style=array(), $fill_color=array()) { + if ($this->state != 2) { + return; + } + if (empty($style)) { + $style = 'S'; + } + if (!(strpos($style, 'F') === false) AND !empty($fill_color)) { + // set background color + $this->setFillColorArray($fill_color); + } + if (!empty($border_style)) { + if (isset($border_style['all']) AND !empty($border_style['all'])) { + //set global style for border + $this->setLineStyle($border_style['all']); + $border_style = array(); + } else { + // remove stroke operator from style + $opnostroke = array('S' => '', 'D' => '', 's' => '', 'd' => '', 'B' => 'F', 'FD' => 'F', 'DF' => 'F', 'B*' => 'F*', 'F*D' => 'F*', 'DF*' => 'F*', 'b' => 'f', 'fd' => 'f', 'df' => 'f', 'b*' => 'f*', 'f*d' => 'f*', 'df*' => 'f*' ); + if (isset($opnostroke[$style])) { + $style = $opnostroke[$style]; + } + } + } + if (!empty($style)) { + $op = TCPDF_STATIC::getPathPaintOperator($style); + $this->_outRect($x, $y, $w, $h, $op); + } + if (!empty($border_style)) { + $border_style2 = array(); + foreach ($border_style as $line => $value) { + $length = strlen($line); + for ($i = 0; $i < $length; ++$i) { + $border_style2[$line[$i]] = $value; + } + } + $border_style = $border_style2; + if (isset($border_style['L']) AND $border_style['L']) { + $this->Line($x, $y, $x, $y + $h, $border_style['L']); + } + if (isset($border_style['T']) AND $border_style['T']) { + $this->Line($x, $y, $x + $w, $y, $border_style['T']); + } + if (isset($border_style['R']) AND $border_style['R']) { + $this->Line($x + $w, $y, $x + $w, $y + $h, $border_style['R']); + } + if (isset($border_style['B']) AND $border_style['B']) { + $this->Line($x, $y + $h, $x + $w, $y + $h, $border_style['B']); + } + } + } + + /** + * Draws a Bezier curve. + * The Bezier curve is a tangent to the line between the control points at + * either end of the curve. + * @param float $x0 Abscissa of start point. + * @param float $y0 Ordinate of start point. + * @param float $x1 Abscissa of control point 1. + * @param float $y1 Ordinate of control point 1. + * @param float $x2 Abscissa of control point 2. + * @param float $y2 Ordinate of control point 2. + * @param float $x3 Abscissa of end point. + * @param float $y3 Ordinate of end point. + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of curve. Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @public + * @see SetLineStyle() + * @since 2.1.000 (2008-01-08) + */ + public function Curve($x0, $y0, $x1, $y1, $x2, $y2, $x3, $y3, $style='', $line_style=array(), $fill_color=array()) { + if ($this->state != 2) { + return; + } + if (!(false === strpos($style, 'F')) AND is_array($fill_color)) { + $this->setFillColorArray($fill_color); + } + $op = TCPDF_STATIC::getPathPaintOperator($style); + if ($line_style) { + $this->setLineStyle($line_style); + } + $this->_outPoint($x0, $y0); + $this->_outCurve($x1, $y1, $x2, $y2, $x3, $y3); + $this->_out($op); + } + + /** + * Draws a poly-Bezier curve. + * Each Bezier curve segment is a tangent to the line between the control points at + * either end of the curve. + * @param float $x0 Abscissa of start point. + * @param float $y0 Ordinate of start point. + * @param float[] $segments An array of bezier descriptions. Format: array(x1, y1, x2, y2, x3, y3). + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of curve. Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @public + * @see SetLineStyle() + * @since 3.0008 (2008-05-12) + */ + public function Polycurve($x0, $y0, $segments, $style='', $line_style=array(), $fill_color=array()) { + if ($this->state != 2) { + return; + } + if (!(false === strpos($style, 'F')) AND is_array($fill_color)) { + $this->setFillColorArray($fill_color); + } + $op = TCPDF_STATIC::getPathPaintOperator($style); + if ($op == 'f') { + $line_style = array(); + } + if ($line_style) { + $this->setLineStyle($line_style); + } + $this->_outPoint($x0, $y0); + foreach ($segments as $segment) { + list($x1, $y1, $x2, $y2, $x3, $y3) = $segment; + $this->_outCurve($x1, $y1, $x2, $y2, $x3, $y3); + } + $this->_out($op); + } + + /** + * Draws an ellipse. + * An ellipse is formed from n Bezier curves. + * @param float $x0 Abscissa of center point. + * @param float $y0 Ordinate of center point. + * @param float $rx Horizontal radius. + * @param float $ry Vertical radius (if ry = 0 then is a circle, see Circle()). Default value: 0. + * @param float $angle Angle oriented (anti-clockwise). Default value: 0. + * @param float $astart Angle start of draw line. Default value: 0. + * @param float $afinish Angle finish of draw line. Default value: 360. + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of ellipse. Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @param integer $nc Number of curves used to draw a 90 degrees portion of ellipse. + * @author Nicola Asuni + * @public + * @since 2.1.000 (2008-01-08) + */ + public function Ellipse($x0, $y0, $rx, $ry=0, $angle=0, $astart=0, $afinish=360, $style='', $line_style=array(), $fill_color=array(), $nc=2) { + if ($this->state != 2) { + return; + } + if (TCPDF_STATIC::empty_string($ry) OR ($ry == 0)) { + $ry = $rx; + } + if (!(false === strpos($style, 'F')) AND is_array($fill_color)) { + $this->setFillColorArray($fill_color); + } + $op = TCPDF_STATIC::getPathPaintOperator($style); + if ($op == 'f') { + $line_style = array(); + } + if ($line_style) { + $this->setLineStyle($line_style); + } + $this->_outellipticalarc($x0, $y0, $rx, $ry, $angle, $astart, $afinish, false, $nc, true, true, false); + $this->_out($op); + } + + /** + * Append an elliptical arc to the current path. + * An ellipse is formed from n Bezier curves. + * @param float $xc Abscissa of center point. + * @param float $yc Ordinate of center point. + * @param float $rx Horizontal radius. + * @param float $ry Vertical radius (if ry = 0 then is a circle, see Circle()). Default value: 0. + * @param float $xang Angle between the X-axis and the major axis of the ellipse. Default value: 0. + * @param float $angs Angle start of draw line. Default value: 0. + * @param float $angf Angle finish of draw line. Default value: 360. + * @param boolean $pie if true do not mark the border point (used to draw pie sectors). + * @param integer $nc Number of curves used to draw a 90 degrees portion of ellipse. + * @param boolean $startpoint if true output a starting point. + * @param boolean $ccw if true draws in counter-clockwise. + * @param boolean $svg if true the angles are in svg mode (already calculated). + * @return array bounding box coordinates (x min, y min, x max, y max) + * @author Nicola Asuni + * @protected + * @since 4.9.019 (2010-04-26) + */ + protected function _outellipticalarc($xc, $yc, $rx, $ry, $xang=0, $angs=0, $angf=360, $pie=false, $nc=2, $startpoint=true, $ccw=true, $svg=false) { + if (($rx <= 0) OR ($ry < 0)) { + return; + } + $k = $this->k; + if ($nc < 2) { + $nc = 2; + } + $xmin = 2147483647; + $ymin = 2147483647; + $xmax = 0; + $ymax = 0; + if ($pie) { + // center of the arc + $this->_outPoint($xc, $yc); + } + $xang = deg2rad((float) $xang); + $angs = deg2rad((float) $angs); + $angf = deg2rad((float) $angf); + if ($svg) { + $as = $angs; + $af = $angf; + } else { + $as = atan2((sin($angs) / $ry), (cos($angs) / $rx)); + $af = atan2((sin($angf) / $ry), (cos($angf) / $rx)); + } + if ($as < 0) { + $as += (2 * M_PI); + } + if ($af < 0) { + $af += (2 * M_PI); + } + if ($ccw AND ($as > $af)) { + // reverse rotation + $as -= (2 * M_PI); + } elseif (!$ccw AND ($as < $af)) { + // reverse rotation + $af -= (2 * M_PI); + } + $total_angle = ($af - $as); + if ($nc < 2) { + $nc = 2; + } + // total arcs to draw + $nc *= (2 * abs($total_angle) / M_PI); + $nc = round($nc) + 1; + // angle of each arc + $arcang = ($total_angle / $nc); + // center point in PDF coordinates + $x0 = $xc; + $y0 = ($this->h - $yc); + // starting angle + $ang = $as; + $alpha = sin($arcang) * ((sqrt(4 + (3 * pow(tan(($arcang) / 2), 2))) - 1) / 3); + $cos_xang = cos($xang); + $sin_xang = sin($xang); + $cos_ang = cos($ang); + $sin_ang = sin($ang); + // first arc point + $px1 = $x0 + ($rx * $cos_xang * $cos_ang) - ($ry * $sin_xang * $sin_ang); + $py1 = $y0 + ($rx * $sin_xang * $cos_ang) + ($ry * $cos_xang * $sin_ang); + // first Bezier control point + $qx1 = ($alpha * ((-$rx * $cos_xang * $sin_ang) - ($ry * $sin_xang * $cos_ang))); + $qy1 = ($alpha * ((-$rx * $sin_xang * $sin_ang) + ($ry * $cos_xang * $cos_ang))); + if ($pie) { + // line from center to arc starting point + $this->_outLine($px1, $this->h - $py1); + } elseif ($startpoint) { + // arc starting point + $this->_outPoint($px1, $this->h - $py1); + } + // draw arcs + for ($i = 1; $i <= $nc; ++$i) { + // starting angle + $ang = $as + ($i * $arcang); + if ($i == $nc) { + $ang = $af; + } + $cos_ang = cos($ang); + $sin_ang = sin($ang); + // second arc point + $px2 = $x0 + ($rx * $cos_xang * $cos_ang) - ($ry * $sin_xang * $sin_ang); + $py2 = $y0 + ($rx * $sin_xang * $cos_ang) + ($ry * $cos_xang * $sin_ang); + // second Bezier control point + $qx2 = ($alpha * ((-$rx * $cos_xang * $sin_ang) - ($ry * $sin_xang * $cos_ang))); + $qy2 = ($alpha * ((-$rx * $sin_xang * $sin_ang) + ($ry * $cos_xang * $cos_ang))); + // draw arc + $cx1 = ($px1 + $qx1); + $cy1 = ($this->h - ($py1 + $qy1)); + $cx2 = ($px2 - $qx2); + $cy2 = ($this->h - ($py2 - $qy2)); + $cx3 = $px2; + $cy3 = ($this->h - $py2); + $this->_outCurve($cx1, $cy1, $cx2, $cy2, $cx3, $cy3); + // get bounding box coordinates + $xmin = min($xmin, $cx1, $cx2, $cx3); + $ymin = min($ymin, $cy1, $cy2, $cy3); + $xmax = max($xmax, $cx1, $cx2, $cx3); + $ymax = max($ymax, $cy1, $cy2, $cy3); + // move to next point + $px1 = $px2; + $py1 = $py2; + $qx1 = $qx2; + $qy1 = $qy2; + } + if ($pie) { + $this->_outLine($xc, $yc); + // get bounding box coordinates + $xmin = min($xmin, $xc); + $ymin = min($ymin, $yc); + $xmax = max($xmax, $xc); + $ymax = max($ymax, $yc); + } + return array($xmin, $ymin, $xmax, $ymax); + } + + /** + * Draws a circle. + * A circle is formed from n Bezier curves. + * @param float $x0 Abscissa of center point. + * @param float $y0 Ordinate of center point. + * @param float $r Radius. + * @param float $angstr Angle start of draw line. Default value: 0. + * @param float $angend Angle finish of draw line. Default value: 360. + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of circle. Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(red, green, blue). Default value: default color (empty array). + * @param integer $nc Number of curves used to draw a 90 degrees portion of circle. + * @public + * @since 2.1.000 (2008-01-08) + */ + public function Circle($x0, $y0, $r, $angstr=0, $angend=360, $style='', $line_style=array(), $fill_color=array(), $nc=2) { + $this->Ellipse($x0, $y0, $r, $r, 0, $angstr, $angend, $style, $line_style, $fill_color, $nc); + } + + /** + * Draws a polygonal line + * @param array $p Points 0 to ($np - 1). Array with values (x0, y0, x1, y1,..., x(np-1), y(np - 1)) + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of polygon. Array with keys among the following: + *
        + *
      • all: Line style of all lines. Array like for SetLineStyle().
      • + *
      • 0 to ($np - 1): Line style of each line. Array like for SetLineStyle().
      • + *
      + * If a key is not present or is null, not draws the line. Default value is default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @since 4.8.003 (2009-09-15) + * @public + */ + public function PolyLine($p, $style='', $line_style=array(), $fill_color=array()) { + $this->Polygon($p, $style, $line_style, $fill_color, false); + } + + /** + * Draws a polygon. + * @param array $p Points 0 to ($np - 1). Array with values (x0, y0, x1, y1,..., x(np-1), y(np - 1)) + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of polygon. Array with keys among the following: + *
        + *
      • all: Line style of all lines. Array like for SetLineStyle().
      • + *
      • 0 to ($np - 1): Line style of each line. Array like for SetLineStyle().
      • + *
      + * If a key is not present or is null, not draws the line. Default value is default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @param boolean $closed if true the polygon is closes, otherwise will remain open + * @public + * @since 2.1.000 (2008-01-08) + */ + public function Polygon($p, $style='', $line_style=array(), $fill_color=array(), $closed=true) { + if ($this->state != 2) { + return; + } + $nc = count($p); // number of coordinates + $np = $nc / 2; // number of points + if ($closed) { + // close polygon by adding the first 2 points at the end (one line) + for ($i = 0; $i < 4; ++$i) { + $p[$nc + $i] = $p[$i]; + } + // copy style for the last added line + if (isset($line_style[0])) { + $line_style[$np] = $line_style[0]; + } + $nc += 4; + } + if (!(false === strpos($style, 'F')) AND is_array($fill_color)) { + $this->setFillColorArray($fill_color); + } + $op = TCPDF_STATIC::getPathPaintOperator($style); + if ($op == 'f') { + $line_style = array(); + } + $draw = true; + if ($line_style) { + if (isset($line_style['all'])) { + $this->setLineStyle($line_style['all']); + } else { + $draw = false; + if ($op == 'B') { + // draw fill + $op = 'f'; + $this->_outPoint($p[0], $p[1]); + for ($i = 2; $i < $nc; $i = $i + 2) { + $this->_outLine($p[$i], $p[$i + 1]); + } + $this->_out($op); + } + // draw outline + $this->_outPoint($p[0], $p[1]); + for ($i = 2; $i < $nc; $i = $i + 2) { + $line_num = ($i / 2) - 1; + if (isset($line_style[$line_num])) { + if ($line_style[$line_num] != 0) { + if (is_array($line_style[$line_num])) { + $this->_out('S'); + $this->setLineStyle($line_style[$line_num]); + $this->_outPoint($p[$i - 2], $p[$i - 1]); + $this->_outLine($p[$i], $p[$i + 1]); + $this->_out('S'); + $this->_outPoint($p[$i], $p[$i + 1]); + } else { + $this->_outLine($p[$i], $p[$i + 1]); + } + } + } else { + $this->_outLine($p[$i], $p[$i + 1]); + } + } + $this->_out($op); + } + } + if ($draw) { + $this->_outPoint($p[0], $p[1]); + for ($i = 2; $i < $nc; $i = $i + 2) { + $this->_outLine($p[$i], $p[$i + 1]); + } + $this->_out($op); + } + } + + /** + * Draws a regular polygon. + * @param float $x0 Abscissa of center point. + * @param float $y0 Ordinate of center point. + * @param float $r Radius of inscribed circle. + * @param integer $ns Number of sides. + * @param float $angle Angle oriented (anti-clockwise). Default value: 0. + * @param boolean $draw_circle Draw inscribed circle or not. Default value: false. + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of polygon sides. Array with keys among the following: + *
        + *
      • all: Line style of all sides. Array like for SetLineStyle().
      • + *
      • 0 to ($ns - 1): Line style of each side. Array like for SetLineStyle().
      • + *
      + * If a key is not present or is null, not draws the side. Default value is default line style (empty array). + * @param array $fill_color Fill color. Format: array(red, green, blue). Default value: default color (empty array). + * @param string $circle_style Style of rendering of inscribed circle (if draws). Possible values are: + *
        + *
      • D or empty string: Draw (default).
      • + *
      • F: Fill.
      • + *
      • DF or FD: Draw and fill.
      • + *
      • CNZ: Clipping mode (using the even-odd rule to determine which regions lie inside the clipping path).
      • + *
      • CEO: Clipping mode (using the nonzero winding number rule to determine which regions lie inside the clipping path).
      • + *
      + * @param array $circle_outLine_style Line style of inscribed circle (if draws). Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $circle_fill_color Fill color of inscribed circle (if draws). Format: array(red, green, blue). Default value: default color (empty array). + * @public + * @since 2.1.000 (2008-01-08) + */ + public function RegularPolygon($x0, $y0, $r, $ns, $angle=0, $draw_circle=false, $style='', $line_style=array(), $fill_color=array(), $circle_style='', $circle_outLine_style=array(), $circle_fill_color=array()) { + if (3 > $ns) { + $ns = 3; + } + if ($draw_circle) { + $this->Circle($x0, $y0, $r, 0, 360, $circle_style, $circle_outLine_style, $circle_fill_color); + } + $p = array(); + for ($i = 0; $i < $ns; ++$i) { + $a = $angle + ($i * 360 / $ns); + $a_rad = deg2rad((float) $a); + $p[] = $x0 + ($r * sin($a_rad)); + $p[] = $y0 + ($r * cos($a_rad)); + } + $this->Polygon($p, $style, $line_style, $fill_color); + } + + /** + * Draws a star polygon + * @param float $x0 Abscissa of center point. + * @param float $y0 Ordinate of center point. + * @param float $r Radius of inscribed circle. + * @param integer $nv Number of vertices. + * @param integer $ng Number of gap (if ($ng % $nv = 1) then is a regular polygon). + * @param float $angle Angle oriented (anti-clockwise). Default value: 0. + * @param boolean $draw_circle Draw inscribed circle or not. Default value is false. + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $line_style Line style of polygon sides. Array with keys among the following: + *
        + *
      • all: Line style of all sides. Array like for + * SetLineStyle().
      • + *
      • 0 to (n - 1): Line style of each side. Array like for SetLineStyle().
      • + *
      + * If a key is not present or is null, not draws the side. Default value is default line style (empty array). + * @param array $fill_color Fill color. Format: array(red, green, blue). Default value: default color (empty array). + * @param string $circle_style Style of rendering of inscribed circle (if draws). Possible values are: + *
        + *
      • D or empty string: Draw (default).
      • + *
      • F: Fill.
      • + *
      • DF or FD: Draw and fill.
      • + *
      • CNZ: Clipping mode (using the even-odd rule to determine which regions lie inside the clipping path).
      • + *
      • CEO: Clipping mode (using the nonzero winding number rule to determine which regions lie inside the clipping path).
      • + *
      + * @param array $circle_outLine_style Line style of inscribed circle (if draws). Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $circle_fill_color Fill color of inscribed circle (if draws). Format: array(red, green, blue). Default value: default color (empty array). + * @public + * @since 2.1.000 (2008-01-08) + */ + public function StarPolygon($x0, $y0, $r, $nv, $ng, $angle=0, $draw_circle=false, $style='', $line_style=array(), $fill_color=array(), $circle_style='', $circle_outLine_style=array(), $circle_fill_color=array()) { + if ($nv < 2) { + $nv = 2; + } + if ($draw_circle) { + $this->Circle($x0, $y0, $r, 0, 360, $circle_style, $circle_outLine_style, $circle_fill_color); + } + $p2 = array(); + $visited = array(); + for ($i = 0; $i < $nv; ++$i) { + $a = $angle + ($i * 360 / $nv); + $a_rad = deg2rad((float) $a); + $p2[] = $x0 + ($r * sin($a_rad)); + $p2[] = $y0 + ($r * cos($a_rad)); + $visited[] = false; + } + $p = array(); + $i = 0; + do { + $p[] = $p2[$i * 2]; + $p[] = $p2[($i * 2) + 1]; + $visited[$i] = true; + $i += $ng; + $i %= $nv; + } while (!$visited[$i]); + $this->Polygon($p, $style, $line_style, $fill_color); + } + + /** + * Draws a rounded rectangle. + * @param float $x Abscissa of upper-left corner. + * @param float $y Ordinate of upper-left corner. + * @param float $w Width. + * @param float $h Height. + * @param float $r the radius of the circle used to round off the corners of the rectangle. + * @param string $round_corner Draws rounded corner or not. String with a 0 (not rounded i-corner) or 1 (rounded i-corner) in i-position. Positions are, in order and begin to 0: top right, bottom right, bottom left and top left. Default value: all rounded corner ("1111"). + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $border_style Border style of rectangle. Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @public + * @since 2.1.000 (2008-01-08) + */ + public function RoundedRect($x, $y, $w, $h, $r, $round_corner='1111', $style='', $border_style=array(), $fill_color=array()) { + $this->RoundedRectXY($x, $y, $w, $h, $r, $r, $round_corner, $style, $border_style, $fill_color); + } + + /** + * Draws a rounded rectangle. + * @param float $x Abscissa of upper-left corner. + * @param float $y Ordinate of upper-left corner. + * @param float $w Width. + * @param float $h Height. + * @param float $rx the x-axis radius of the ellipse used to round off the corners of the rectangle. + * @param float $ry the y-axis radius of the ellipse used to round off the corners of the rectangle. + * @param string $round_corner Draws rounded corner or not. String with a 0 (not rounded i-corner) or 1 (rounded i-corner) in i-position. Positions are, in order and begin to 0: top right, bottom right, bottom left and top left. Default value: all rounded corner ("1111"). + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param array $border_style Border style of rectangle. Array like for SetLineStyle(). Default value: default line style (empty array). + * @param array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K) or array(C,M,Y,K,SpotColorName). Default value: default color (empty array). + * @public + * @since 4.9.019 (2010-04-22) + */ + public function RoundedRectXY($x, $y, $w, $h, $rx, $ry, $round_corner='1111', $style='', $border_style=array(), $fill_color=array()) { + if ($this->state != 2) { + return; + } + if (($round_corner == '0000') OR (($rx == $ry) AND ($rx == 0))) { + // Not rounded + $this->Rect($x, $y, $w, $h, $style, $border_style, $fill_color); + return; + } + // Rounded + if (!(false === strpos($style, 'F')) AND is_array($fill_color)) { + $this->setFillColorArray($fill_color); + } + $op = TCPDF_STATIC::getPathPaintOperator($style); + if ($op == 'f') { + $border_style = array(); + } + if ($border_style) { + $this->setLineStyle($border_style); + } + $MyArc = 4 / 3 * (sqrt(2) - 1); + $this->_outPoint($x + $rx, $y); + $xc = $x + $w - $rx; + $yc = $y + $ry; + $this->_outLine($xc, $y); + if ($round_corner[0]) { + $this->_outCurve($xc + ($rx * $MyArc), $yc - $ry, $xc + $rx, $yc - ($ry * $MyArc), $xc + $rx, $yc); + } else { + $this->_outLine($x + $w, $y); + } + $xc = $x + $w - $rx; + $yc = $y + $h - $ry; + $this->_outLine($x + $w, $yc); + if ($round_corner[1]) { + $this->_outCurve($xc + $rx, $yc + ($ry * $MyArc), $xc + ($rx * $MyArc), $yc + $ry, $xc, $yc + $ry); + } else { + $this->_outLine($x + $w, $y + $h); + } + $xc = $x + $rx; + $yc = $y + $h - $ry; + $this->_outLine($xc, $y + $h); + if ($round_corner[2]) { + $this->_outCurve($xc - ($rx * $MyArc), $yc + $ry, $xc - $rx, $yc + ($ry * $MyArc), $xc - $rx, $yc); + } else { + $this->_outLine($x, $y + $h); + } + $xc = $x + $rx; + $yc = $y + $ry; + $this->_outLine($x, $yc); + if ($round_corner[3]) { + $this->_outCurve($xc - $rx, $yc - ($ry * $MyArc), $xc - ($rx * $MyArc), $yc - $ry, $xc, $yc - $ry); + } else { + $this->_outLine($x, $y); + $this->_outLine($x + $rx, $y); + } + $this->_out($op); + } + + /** + * Draws a grahic arrow. + * @param float $x0 Abscissa of first point. + * @param float $y0 Ordinate of first point. + * @param float $x1 Abscissa of second point. + * @param float $y1 Ordinate of second point. + * @param int $head_style (0 = draw only arrowhead arms, 1 = draw closed arrowhead, but no fill, 2 = closed and filled arrowhead, 3 = filled arrowhead) + * @param float $arm_size length of arrowhead arms + * @param int $arm_angle angle between an arm and the shaft + * @author Piotr Galecki, Nicola Asuni, Andy Meier + * @since 4.6.018 (2009-07-10) + */ + public function Arrow($x0, $y0, $x1, $y1, $head_style=0, $arm_size=5, $arm_angle=15) { + // getting arrow direction angle + // 0 deg angle is when both arms go along X axis. angle grows clockwise. + $dir_angle = atan2(($y0 - $y1), ($x0 - $x1)); + if ($dir_angle < 0) { + $dir_angle += (2 * M_PI); + } + $arm_angle = deg2rad($arm_angle); + $sx1 = $x1; + $sy1 = $y1; + if ($head_style > 0) { + // calculate the stopping point for the arrow shaft + $sx1 = $x1 + (($arm_size - $this->LineWidth) * cos($dir_angle)); + $sy1 = $y1 + (($arm_size - $this->LineWidth) * sin($dir_angle)); + } + // main arrow line / shaft + $this->Line($x0, $y0, $sx1, $sy1); + // left arrowhead arm tip + $x2L = $x1 + ($arm_size * cos($dir_angle + $arm_angle)); + $y2L = $y1 + ($arm_size * sin($dir_angle + $arm_angle)); + // right arrowhead arm tip + $x2R = $x1 + ($arm_size * cos($dir_angle - $arm_angle)); + $y2R = $y1 + ($arm_size * sin($dir_angle - $arm_angle)); + $mode = 'D'; + $style = array(); + switch ($head_style) { + case 0: { + // draw only arrowhead arms + $mode = 'D'; + $style = array(1, 1, 0); + break; + } + case 1: { + // draw closed arrowhead, but no fill + $mode = 'D'; + break; + } + case 2: { + // closed and filled arrowhead + $mode = 'DF'; + break; + } + case 3: { + // filled arrowhead + $mode = 'F'; + break; + } + } + $this->Polygon(array($x2L, $y2L, $x1, $y1, $x2R, $y2R), $mode, $style, array()); + } + + // END GRAPHIC FUNCTIONS SECTION ----------------------- + + /** + * Add a Named Destination. + * NOTE: destination names are unique, so only last entry will be saved. + * @param string $name Destination name. + * @param float $y Y position in user units of the destiantion on the selected page (default = -1 = current position; 0 = page start;). + * @param int|string $page Target page number (leave empty for current page). If you prefix a page number with the * character, then this page will not be changed when adding/deleting/moving pages. + * @param float $x X position in user units of the destiantion on the selected page (default = -1 = current position;). + * @return string|false Stripped named destination identifier or false in case of error. + * @public + * @author Christian Deligant, Nicola Asuni + * @since 5.9.097 (2011-06-23) + */ + public function setDestination($name, $y=-1, $page='', $x=-1) { + // remove unsupported characters + $name = TCPDF_STATIC::encodeNameObject($name); + if (TCPDF_STATIC::empty_string($name)) { + return false; + } + if ($y == -1) { + $y = $this->GetY(); + } elseif ($y < 0) { + $y = 0; + } elseif ($y > $this->h) { + $y = $this->h; + } + if ($x == -1) { + $x = $this->GetX(); + } elseif ($x < 0) { + $x = 0; + } elseif ($x > $this->w) { + $x = $this->w; + } + $fixed = false; + if (!empty($page) AND (substr($page, 0, 1) == '*')) { + $page = intval(substr($page, 1)); + // this page number will not be changed when moving/add/deleting pages + $fixed = true; + } + if (empty($page)) { + $page = $this->PageNo(); + if (empty($page)) { + return; + } + } + $this->dests[$name] = array('x' => $x, 'y' => $y, 'p' => $page, 'f' => $fixed); + return $name; + } + + /** + * Return the Named Destination array. + * @return array Named Destination array. + * @public + * @author Nicola Asuni + * @since 5.9.097 (2011-06-23) + */ + public function getDestination() { + return $this->dests; + } + + /** + * Insert Named Destinations. + * @protected + * @author Johannes G\FCntert, Nicola Asuni + * @since 5.9.098 (2011-06-23) + */ + protected function _putdests() { + if (empty($this->dests)) { + return; + } + $this->n_dests = $this->_newobj(); + $out = ' <<'; + foreach($this->dests as $name => $o) { + $out .= ' /'.$name.' '.sprintf('[%u 0 R /XYZ %F %F null]', $this->page_obj_id[($o['p'])], ($o['x'] * $this->k), ($this->pagedim[$o['p']]['h'] - ($o['y'] * $this->k))); + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + + /** + * Adds a bookmark - alias for Bookmark(). + * @param string $txt Bookmark description. + * @param int $level Bookmark level (minimum value is 0). + * @param float $y Y position in user units of the bookmark on the selected page (default = -1 = current position; 0 = page start;). + * @param int|string $page Target page number (leave empty for current page). If you prefix a page number with the * character, then this page will not be changed when adding/deleting/moving pages. + * @param string $style Font style: B = Bold, I = Italic, BI = Bold + Italic. + * @param array $color RGB color array (values from 0 to 255). + * @param float $x X position in user units of the bookmark on the selected page (default = -1 = current position;). + * @param mixed $link URL, or numerical link ID, or named destination (# character followed by the destination name), or embedded file (* character followed by the file name). + * @public + */ + public function setBookmark($txt, $level=0, $y=-1, $page='', $style='', $color=array(0,0,0), $x=-1, $link='') { + $this->Bookmark($txt, $level, $y, $page, $style, $color, $x, $link); + } + + /** + * Adds a bookmark. + * @param string $txt Bookmark description. + * @param int $level Bookmark level (minimum value is 0). + * @param float $y Y position in user units of the bookmark on the selected page (default = -1 = current position; 0 = page start;). + * @param int|string $page Target page number (leave empty for current page). If you prefix a page number with the * character, then this page will not be changed when adding/deleting/moving pages. + * @param string $style Font style: B = Bold, I = Italic, BI = Bold + Italic. + * @param array $color RGB color array (values from 0 to 255). + * @param float $x X position in user units of the bookmark on the selected page (default = -1 = current position;). + * @param mixed $link URL, or numerical link ID, or named destination (# character followed by the destination name), or embedded file (* character followed by the file name). + * @public + * @since 2.1.002 (2008-02-12) + */ + public function Bookmark($txt, $level=0, $y=-1, $page='', $style='', $color=array(0,0,0), $x=-1, $link='') { + if ($level < 0) { + $level = 0; + } + if (isset($this->outlines[0])) { + $lastoutline = end($this->outlines); + $maxlevel = $lastoutline['l'] + 1; + } else { + $maxlevel = 0; + } + if ($level > $maxlevel) { + $level = $maxlevel; + } + if ($y == -1) { + $y = $this->GetY(); + } elseif ($y < 0) { + $y = 0; + } elseif ($y > $this->h) { + $y = $this->h; + } + if ($x == -1) { + $x = $this->GetX(); + } elseif ($x < 0) { + $x = 0; + } elseif ($x > $this->w) { + $x = $this->w; + } + $fixed = false; + $pageAsString = (string) $page; + if ($pageAsString && $pageAsString[0] == '*') { + $page = intval(substr($page, 1)); + // this page number will not be changed when moving/add/deleting pages + $fixed = true; + } + if (empty($page)) { + $page = $this->PageNo(); + if (empty($page)) { + return; + } + } + $this->outlines[] = array('t' => $txt, 'l' => $level, 'x' => $x, 'y' => $y, 'p' => $page, 'f' => $fixed, 's' => strtoupper($style), 'c' => $color, 'u' => $link); + } + + /** + * Sort bookmarks for page and key. + * @protected + * @since 5.9.119 (2011-09-19) + */ + protected function sortBookmarks() { + // get sorting columns + $outline_p = array(); + $outline_y = array(); + foreach ($this->outlines as $key => $row) { + $outline_p[$key] = $row['p']; + $outline_k[$key] = $key; + } + // sort outlines by page and original position + array_multisort($outline_p, SORT_NUMERIC, SORT_ASC, $outline_k, SORT_NUMERIC, SORT_ASC, $this->outlines); + } + + /** + * Create a bookmark PDF string. + * @protected + * @author Olivier Plathey, Nicola Asuni + * @since 2.1.002 (2008-02-12) + */ + protected function _putbookmarks() { + $nb = count($this->outlines); + if ($nb == 0) { + return; + } + // sort bookmarks + $this->sortBookmarks(); + $lru = array(); + $level = 0; + foreach ($this->outlines as $i => $o) { + if ($o['l'] > 0) { + $parent = $lru[($o['l'] - 1)]; + //Set parent and last pointers + $this->outlines[$i]['parent'] = $parent; + $this->outlines[$parent]['last'] = $i; + if ($o['l'] > $level) { + //Level increasing: set first pointer + $this->outlines[$parent]['first'] = $i; + } + } else { + $this->outlines[$i]['parent'] = $nb; + } + if (($o['l'] <= $level) AND ($i > 0)) { + //Set prev and next pointers + $prev = $lru[$o['l']]; + $this->outlines[$prev]['next'] = $i; + $this->outlines[$i]['prev'] = $prev; + } + $lru[$o['l']] = $i; + $level = $o['l']; + } + //Outline items + $n = $this->n + 1; + $nltags = '/|<\/(blockquote|dd|dl|div|dt|h1|h2|h3|h4|h5|h6|hr|li|ol|p|pre|ul|tcpdf|table|tr|td)>/si'; + foreach ($this->outlines as $i => $o) { + $oid = $this->_newobj(); + // covert HTML title to string + $title = preg_replace($nltags, "\n", $o['t']); + $title = preg_replace("/[\r]+/si", '', $title); + $title = preg_replace("/[\n]+/si", "\n", $title); + $title = strip_tags($title); + $title = $this->stringTrim($title); + $out = '<_textstring($title, $oid); + $out .= ' /Parent '.($n + $o['parent']).' 0 R'; + if (isset($o['prev'])) { + $out .= ' /Prev '.($n + $o['prev']).' 0 R'; + } + if (isset($o['next'])) { + $out .= ' /Next '.($n + $o['next']).' 0 R'; + } + if (isset($o['first'])) { + $out .= ' /First '.($n + $o['first']).' 0 R'; + } + if (isset($o['last'])) { + $out .= ' /Last '.($n + $o['last']).' 0 R'; + } + if (isset($o['u']) AND !empty($o['u'])) { + // link + if (is_string($o['u'])) { + if ($o['u'][0] == '#') { + // internal destination + $out .= ' /Dest /'.TCPDF_STATIC::encodeNameObject(substr($o['u'], 1)); + } elseif ($o['u'][0] == '%') { + // embedded PDF file + $filename = basename(substr($o['u'], 1)); + $out .= ' /A <embeddedfiles[$filename]['a'].' >> >>'; + } elseif ($o['u'][0] == '*') { + // embedded generic file + $filename = basename(substr($o['u'], 1)); + $jsa = 'var D=event.target.doc;var MyData=D.dataObjects;for (var i in MyData) if (MyData[i].path=="'.$filename.'") D.exportDataObject( { cName : MyData[i].name, nLaunch : 2});'; + $out .= ' /A <_textstring($jsa, $oid).'>>'; + } else { + // external URI link + $out .= ' /A <_datastring($this->unhtmlentities($o['u']), $oid).'>>'; + } + } elseif (isset($this->links[$o['u']])) { + // internal link ID + $l = $this->links[$o['u']]; + if (isset($this->page_obj_id[($l['p'])])) { + $out .= sprintf(' /Dest [%u 0 R /XYZ 0 %F null]', $this->page_obj_id[($l['p'])], ($this->pagedim[$l['p']]['h'] - ($l['y'] * $this->k))); + } + } + } elseif (isset($this->page_obj_id[($o['p'])])) { + // link to a page + $out .= ' '.sprintf('/Dest [%u 0 R /XYZ %F %F null]', $this->page_obj_id[($o['p'])], ($o['x'] * $this->k), ($this->pagedim[$o['p']]['h'] - ($o['y'] * $this->k))); + } + // set font style + $style = 0; + if (!empty($o['s'])) { + // bold + if (strpos($o['s'], 'B') !== false) { + $style |= 2; + } + // oblique + if (strpos($o['s'], 'I') !== false) { + $style |= 1; + } + } + $out .= sprintf(' /F %d', $style); + // set bookmark color + if (isset($o['c']) AND is_array($o['c']) AND (count($o['c']) == 3)) { + $color = array_values($o['c']); + $out .= sprintf(' /C [%F %F %F]', ($color[0] / 255), ($color[1] / 255), ($color[2] / 255)); + } else { + // black + $out .= ' /C [0.0 0.0 0.0]'; + } + $out .= ' /Count 0'; // normally closed item + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + //Outline root + $this->OutlineRoot = $this->_newobj(); + $this->_out('<< /Type /Outlines /First '.$n.' 0 R /Last '.($n + $lru[0]).' 0 R >>'."\n".'endobj'); + } + + // --- JAVASCRIPT ------------------------------------------------------ + + /** + * Adds a javascript + * @param string $script Javascript code + * @public + * @author Johannes G\FCntert, Nicola Asuni + * @since 2.1.002 (2008-02-12) + */ + public function IncludeJS($script) { + $this->javascript .= $script; + } + + /** + * Adds a javascript object and return object ID + * @param string $script Javascript code + * @param boolean $onload if true executes this object when opening the document + * @return int internal object ID + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function addJavascriptObject($script, $onload=false) { + if ($this->pdfa_mode) { + // javascript is not allowed in PDF/A mode + return false; + } + ++$this->n; + $this->js_objects[$this->n] = array('n' => $this->n, 'js' => $script, 'onload' => $onload); + return $this->n; + } + + /** + * Create a javascript PDF string. + * @protected + * @author Johannes G\FCntert, Nicola Asuni + * @since 2.1.002 (2008-02-12) + */ + protected function _putjavascript() { + if ($this->pdfa_mode OR (empty($this->javascript) AND empty($this->js_objects))) { + return; + } + if (strpos($this->javascript, 'this.addField') > 0) { + if (!$this->ur['enabled']) { + //$this->setUserRights(); + } + // the following two lines are used to avoid form fields duplication after saving + // The addField method only works when releasing user rights (UR3) + $jsa = sprintf("ftcpdfdocsaved=this.addField('%s','%s',%d,[%F,%F,%F,%F]);", 'tcpdfdocsaved', 'text', 0, 0, 1, 0, 1); + $jsb = "getField('tcpdfdocsaved').value='saved';"; + $this->javascript = $jsa."\n".$this->javascript."\n".$jsb; + } + // name tree for javascript + $this->n_js = '<< /Names ['; + if (!empty($this->javascript)) { + $this->n_js .= ' (EmbeddedJS) '.($this->n + 1).' 0 R'; + } + if (!empty($this->js_objects)) { + foreach ($this->js_objects as $key => $val) { + if ($val['onload']) { + $this->n_js .= ' (JS'.$key.') '.$key.' 0 R'; + } + } + } + $this->n_js .= ' ] >>'; + // default Javascript object + if (!empty($this->javascript)) { + $obj_id = $this->_newobj(); + $out = '<< /S /JavaScript'; + $out .= ' /JS '.$this->_textstring($this->javascript, $obj_id); + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + // additional Javascript objects + if (!empty($this->js_objects)) { + foreach ($this->js_objects as $key => $val) { + $out = $this->_getobj($key)."\n".' << /S /JavaScript /JS '.$this->_textstring($val['js'], $key).' >>'."\n".'endobj'; + $this->_out($out); + } + } + } + + /** + * Adds a javascript form field. + * @param string $type field type + * @param string $name field name + * @param int $x horizontal position + * @param int $y vertical position + * @param int $w width + * @param int $h height + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @protected + * @author Denis Van Nuffelen, Nicola Asuni + * @since 2.1.002 (2008-02-12) + */ + protected function _addfield($type, $name, $x, $y, $w, $h, $prop) { + if ($this->rtl) { + $x = $x - $w; + } + // the followind avoid fields duplication after saving the document + $this->javascript .= "if (getField('tcpdfdocsaved').value != 'saved') {"; + $k = $this->k; + $this->javascript .= sprintf("f".$name."=this.addField('%s','%s',%u,[%F,%F,%F,%F]);", $name, $type, $this->PageNo()-1, $x*$k, ($this->h-$y)*$k+1, ($x+$w)*$k, ($this->h-$y-$h)*$k+1)."\n"; + $this->javascript .= 'f'.$name.'.textSize='.$this->FontSizePt.";\n"; + foreach($prop as $key => $val) { + if (strcmp(substr($key, -5), 'Color') == 0) { + $val = TCPDF_COLORS::_JScolor($val); + } else { + $val = "'".$val."'"; + } + $this->javascript .= 'f'.$name.'.'.$key.'='.$val.";\n"; + } + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + $this->javascript .= '}'; + } + + // --- FORM FIELDS ----------------------------------------------------- + + + + /** + * Set default properties for form fields. + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-06) + */ + public function setFormDefaultProp($prop=array()) { + $this->default_form_prop = $prop; + } + + /** + * Return the default properties for form fields. + * @return array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-06) + */ + public function getFormDefaultProp() { + return $this->default_form_prop; + } + + /** + * Creates a text field + * @param string $name field name + * @param float $w Width of the rectangle + * @param float $h Height of the rectangle + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference. + * @param float|null $x Abscissa of the upper-left corner of the rectangle + * @param float|null $y Ordinate of the upper-left corner of the rectangle + * @param boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered). + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function TextField($name, $w, $h, $prop=array(), $opt=array(), $x=null, $y=null, $js=false) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + if ($js) { + $this->_addfield('text', $name, $x, $y, $w, $h, $prop); + return; + } + // get default style + $prop = array_merge($this->getFormDefaultProp(), $prop); + // get annotation data + $popt = TCPDF_STATIC::getAnnotOptFromJSProp($prop, $this->spot_colors, $this->rtl); + // set default appearance stream + $this->annotation_fonts[$this->CurrentFont['fontkey']] = $this->CurrentFont['i']; + $fontstyle = sprintf('/F%d %F Tf %s', $this->CurrentFont['i'], $this->FontSizePt, $this->TextColor); + $popt['da'] = $fontstyle; + // build appearance stream + $popt['ap'] = array(); + $popt['ap']['n'] = '/Tx BMC q '.$fontstyle.' '; + $text = ''; + if (isset($prop['value']) AND !empty($prop['value'])) { + $text = $prop['value']; + } elseif (isset($opt['v']) AND !empty($opt['v'])) { + $text = $opt['v']; + } + $tmpid = $this->startTemplate($w, $h, false); + $align = ''; + if (isset($popt['q'])) { + switch ($popt['q']) { + case 0: { + $align = 'L'; + break; + } + case 1: { + $align = 'C'; + break; + } + case 2: { + $align = 'R'; + break; + } + default: { + $align = ''; + break; + } + } + } + $this->MultiCell($w, $h, $text, 0, $align, false, 0, 0, 0, true, 0, false, true, 0, 'T', false); + $this->endTemplate(); + --$this->n; + $popt['ap']['n'] .= $this->xobjects[$tmpid]['outdata']; + unset($this->xobjects[$tmpid]); + $popt['ap']['n'] .= 'Q EMC'; + // merge options + $opt = array_merge($popt, $opt); + // remove some conflicting options + unset($opt['bs']); + // set remaining annotation data + $opt['Subtype'] = 'Widget'; + $opt['ft'] = 'Tx'; + $opt['t'] = $name; + // Additional annotation's parameters (check _putannotsobj() method): + //$opt['f'] + //$opt['as'] + //$opt['bs'] + //$opt['be'] + //$opt['c'] + //$opt['border'] + //$opt['h'] + //$opt['mk']; + //$opt['mk']['r'] + //$opt['mk']['bc']; + //$opt['mk']['bg']; + unset($opt['mk']['ca']); + unset($opt['mk']['rc']); + unset($opt['mk']['ac']); + unset($opt['mk']['i']); + unset($opt['mk']['ri']); + unset($opt['mk']['ix']); + unset($opt['mk']['if']); + //$opt['mk']['if']['sw']; + //$opt['mk']['if']['s']; + //$opt['mk']['if']['a']; + //$opt['mk']['if']['fb']; + unset($opt['mk']['tp']); + //$opt['tu'] + //$opt['tm'] + //$opt['ff'] + //$opt['v'] + //$opt['dv'] + //$opt['a'] + //$opt['aa'] + //$opt['q'] + $this->Annotation($x, $y, $w, $h, $name, $opt, 0); + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + } + + /** + * Creates a RadioButton field. + * @param string $name Field name. + * @param int $w Width of the radio button. + * @param array $prop Javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $opt Annotation parameters. Possible values are described on official PDF32000_2008 reference. + * @param string $onvalue Value to be returned if selected. + * @param boolean $checked Define the initial state. + * @param float|null $x Abscissa of the upper-left corner of the rectangle + * @param float|null $y Ordinate of the upper-left corner of the rectangle + * @param boolean $js If true put the field using JavaScript (requires Acrobat Writer to be rendered). + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function RadioButton($name, $w, $prop=array(), $opt=array(), $onvalue='On', $checked=false, $x=null, $y=null, $js=false) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($w, $x, $y); + if ($js) { + $this->_addfield('radiobutton', $name, $x, $y, $w, $w, $prop); + return; + } + if (TCPDF_STATIC::empty_string($onvalue)) { + $onvalue = 'On'; + } + if ($checked) { + $defval = $onvalue; + } else { + $defval = 'Off'; + } + // set font + $font = 'zapfdingbats'; + if ($this->pdfa_mode) { + // all fonts must be embedded + $font = 'pdfa'.$font; + } + $this->AddFont($font); + $tmpfont = $this->getFontBuffer($font); + // set data for parent group + if (!isset($this->radiobutton_groups[$this->page])) { + $this->radiobutton_groups[$this->page] = array(); + } + if (!isset($this->radiobutton_groups[$this->page][$name])) { + $this->radiobutton_groups[$this->page][$name] = array(); + ++$this->n; + $this->radiobutton_groups[$this->page][$name]['n'] = $this->n; + $this->radio_groups[] = $this->n; + } + $kid = ($this->n + 1); + // save object ID to be added on Kids entry on parent object + $this->radiobutton_groups[$this->page][$name][] = array('kid' => $kid, 'def' => $defval); + // get default style + $prop = array_merge($this->getFormDefaultProp(), $prop); + $prop['NoToggleToOff'] = 'true'; + $prop['Radio'] = 'true'; + $prop['borderStyle'] = 'inset'; + // get annotation data + $popt = TCPDF_STATIC::getAnnotOptFromJSProp($prop, $this->spot_colors, $this->rtl); + // set additional default options + $this->annotation_fonts[$tmpfont['fontkey']] = $tmpfont['i']; + $fontstyle = sprintf('/F%d %F Tf %s', $tmpfont['i'], $this->FontSizePt, $this->TextColor); + $popt['da'] = $fontstyle; + // build appearance stream + $popt['ap'] = array(); + $popt['ap']['n'] = array(); + $fx = ((($w - $this->getAbsFontMeasure($tmpfont['cw'][108])) / 2) * $this->k); + $fy = (($w - ((($tmpfont['desc']['Ascent'] - $tmpfont['desc']['Descent']) * $this->FontSizePt / 1000) / $this->k)) * $this->k); + $popt['ap']['n'][$onvalue] = sprintf('q %s BT /F%d %F Tf %F %F Td ('.chr(108).') Tj ET Q', $this->TextColor, $tmpfont['i'], $this->FontSizePt, $fx, $fy); + $popt['ap']['n']['Off'] = sprintf('q %s BT /F%d %F Tf %F %F Td ('.chr(109).') Tj ET Q', $this->TextColor, $tmpfont['i'], $this->FontSizePt, $fx, $fy); + if (!isset($popt['mk'])) { + $popt['mk'] = array(); + } + $popt['mk']['ca'] = '(l)'; + // merge options + $opt = array_merge($popt, $opt); + // set remaining annotation data + $opt['Subtype'] = 'Widget'; + $opt['ft'] = 'Btn'; + if ($checked) { + $opt['v'] = array('/'.$onvalue); + $opt['as'] = $onvalue; + } else { + $opt['as'] = 'Off'; + } + // store readonly flag + if (!isset($this->radiobutton_groups[$this->page][$name]['#readonly#'])) { + $this->radiobutton_groups[$this->page][$name]['#readonly#'] = false; + } + $this->radiobutton_groups[$this->page][$name]['#readonly#'] |= ($opt['f'] & 64); + $this->Annotation($x, $y, $w, $w, $name, $opt, 0); + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + } + + /** + * Creates a List-box field + * @param string $name field name + * @param int $w width + * @param int $h height + * @param array $values array containing the list of values. + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference. + * @param float|null $x Abscissa of the upper-left corner of the rectangle + * @param float|null $y Ordinate of the upper-left corner of the rectangle + * @param boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered). + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function ListBox($name, $w, $h, $values, $prop=array(), $opt=array(), $x=null, $y=null, $js=false) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + if ($js) { + $this->_addfield('listbox', $name, $x, $y, $w, $h, $prop); + $s = ''; + foreach ($values as $value) { + if (is_array($value)) { + $s .= ',[\''.addslashes($value[1]).'\',\''.addslashes($value[0]).'\']'; + } else { + $s .= ',[\''.addslashes($value).'\',\''.addslashes($value).'\']'; + } + } + $this->javascript .= 'f'.$name.'.setItems('.substr($s, 1).');'."\n"; + return; + } + // get default style + $prop = array_merge($this->getFormDefaultProp(), $prop); + // get annotation data + $popt = TCPDF_STATIC::getAnnotOptFromJSProp($prop, $this->spot_colors, $this->rtl); + // set additional default values + $this->annotation_fonts[$this->CurrentFont['fontkey']] = $this->CurrentFont['i']; + $fontstyle = sprintf('/F%d %F Tf %s', $this->CurrentFont['i'], $this->FontSizePt, $this->TextColor); + $popt['da'] = $fontstyle; + // build appearance stream + $popt['ap'] = array(); + $popt['ap']['n'] = '/Tx BMC q '.$fontstyle.' '; + $text = ''; + foreach($values as $item) { + if (is_array($item)) { + $text .= $item[1]."\n"; + } else { + $text .= $item."\n"; + } + } + $tmpid = $this->startTemplate($w, $h, false); + $this->MultiCell($w, $h, $text, 0, '', false, 0, 0, 0, true, 0, false, true, 0, 'T', false); + $this->endTemplate(); + --$this->n; + $popt['ap']['n'] .= $this->xobjects[$tmpid]['outdata']; + unset($this->xobjects[$tmpid]); + $popt['ap']['n'] .= 'Q EMC'; + // merge options + $opt = array_merge($popt, $opt); + // set remaining annotation data + $opt['Subtype'] = 'Widget'; + $opt['ft'] = 'Ch'; + $opt['t'] = $name; + $opt['opt'] = $values; + unset($opt['mk']['ca']); + unset($opt['mk']['rc']); + unset($opt['mk']['ac']); + unset($opt['mk']['i']); + unset($opt['mk']['ri']); + unset($opt['mk']['ix']); + unset($opt['mk']['if']); + unset($opt['mk']['tp']); + $this->Annotation($x, $y, $w, $h, $name, $opt, 0); + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + } + + /** + * Creates a Combo-box field + * @param string $name field name + * @param int $w width + * @param int $h height + * @param array $values array containing the list of values. + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference. + * @param float|null $x Abscissa of the upper-left corner of the rectangle + * @param float|null $y Ordinate of the upper-left corner of the rectangle + * @param boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered). + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function ComboBox($name, $w, $h, $values, $prop=array(), $opt=array(), $x=null, $y=null, $js=false) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + if ($js) { + $this->_addfield('combobox', $name, $x, $y, $w, $h, $prop); + $s = ''; + foreach ($values as $value) { + if (is_array($value)) { + $s .= ',[\''.addslashes($value[1]).'\',\''.addslashes($value[0]).'\']'; + } else { + $s .= ',[\''.addslashes($value).'\',\''.addslashes($value).'\']'; + } + } + $this->javascript .= 'f'.$name.'.setItems('.substr($s, 1).');'."\n"; + return; + } + // get default style + $prop = array_merge($this->getFormDefaultProp(), $prop); + $prop['Combo'] = true; + // get annotation data + $popt = TCPDF_STATIC::getAnnotOptFromJSProp($prop, $this->spot_colors, $this->rtl); + // set additional default options + $this->annotation_fonts[$this->CurrentFont['fontkey']] = $this->CurrentFont['i']; + $fontstyle = sprintf('/F%d %F Tf %s', $this->CurrentFont['i'], $this->FontSizePt, $this->TextColor); + $popt['da'] = $fontstyle; + // build appearance stream + $popt['ap'] = array(); + $popt['ap']['n'] = '/Tx BMC q '.$fontstyle.' '; + $text = ''; + foreach($values as $item) { + if (is_array($item)) { + $text .= $item[1]."\n"; + } else { + $text .= $item."\n"; + } + } + $tmpid = $this->startTemplate($w, $h, false); + $this->MultiCell($w, $h, $text, 0, '', false, 0, 0, 0, true, 0, false, true, 0, 'T', false); + $this->endTemplate(); + --$this->n; + $popt['ap']['n'] .= $this->xobjects[$tmpid]['outdata']; + unset($this->xobjects[$tmpid]); + $popt['ap']['n'] .= 'Q EMC'; + // merge options + $opt = array_merge($popt, $opt); + // set remaining annotation data + $opt['Subtype'] = 'Widget'; + $opt['ft'] = 'Ch'; + $opt['t'] = $name; + $opt['opt'] = $values; + unset($opt['mk']['ca']); + unset($opt['mk']['rc']); + unset($opt['mk']['ac']); + unset($opt['mk']['i']); + unset($opt['mk']['ri']); + unset($opt['mk']['ix']); + unset($opt['mk']['if']); + unset($opt['mk']['tp']); + $this->Annotation($x, $y, $w, $h, $name, $opt, 0); + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + } + + /** + * Creates a CheckBox field + * @param string $name field name + * @param int $w width + * @param boolean $checked define the initial state. + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference. + * @param string $onvalue value to be returned if selected. + * @param float|null $x Abscissa of the upper-left corner of the rectangle + * @param float|null $y Ordinate of the upper-left corner of the rectangle + * @param boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered). + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function CheckBox($name, $w, $checked=false, $prop=array(), $opt=array(), $onvalue='Yes', $x=null, $y=null, $js=false) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($w, $x, $y); + if ($js) { + $this->_addfield('checkbox', $name, $x, $y, $w, $w, $prop); + return; + } + if (!isset($prop['value'])) { + $prop['value'] = array('Yes'); + } + // get default style + $prop = array_merge($this->getFormDefaultProp(), $prop); + $prop['borderStyle'] = 'inset'; + // get annotation data + $popt = TCPDF_STATIC::getAnnotOptFromJSProp($prop, $this->spot_colors, $this->rtl); + // set additional default options + $font = 'zapfdingbats'; + if ($this->pdfa_mode) { + // all fonts must be embedded + $font = 'pdfa'.$font; + } + $this->AddFont($font); + $tmpfont = $this->getFontBuffer($font); + $this->annotation_fonts[$tmpfont['fontkey']] = $tmpfont['i']; + $fontstyle = sprintf('/F%d %F Tf %s', $tmpfont['i'], $this->FontSizePt, $this->TextColor); + $popt['da'] = $fontstyle; + // build appearance stream + $popt['ap'] = array(); + $popt['ap']['n'] = array(); + $fx = ((($w - $this->getAbsFontMeasure($tmpfont['cw'][110])) / 2) * $this->k); + $fy = (($w - ((($tmpfont['desc']['Ascent'] - $tmpfont['desc']['Descent']) * $this->FontSizePt / 1000) / $this->k)) * $this->k); + $popt['ap']['n']['Yes'] = sprintf('q %s BT /F%d %F Tf %F %F Td ('.chr(110).') Tj ET Q', $this->TextColor, $tmpfont['i'], $this->FontSizePt, $fx, $fy); + $popt['ap']['n']['Off'] = sprintf('q %s BT /F%d %F Tf %F %F Td ('.chr(111).') Tj ET Q', $this->TextColor, $tmpfont['i'], $this->FontSizePt, $fx, $fy); + // merge options + $opt = array_merge($popt, $opt); + // set remaining annotation data + $opt['Subtype'] = 'Widget'; + $opt['ft'] = 'Btn'; + $opt['t'] = $name; + if (TCPDF_STATIC::empty_string($onvalue)) { + $onvalue = 'Yes'; + } + $opt['opt'] = array($onvalue); + if ($checked) { + $opt['v'] = array('/Yes'); + $opt['as'] = 'Yes'; + } else { + $opt['v'] = array('/Off'); + $opt['as'] = 'Off'; + } + $this->Annotation($x, $y, $w, $w, $name, $opt, 0); + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + } + + /** + * Creates a button field + * @param string $name field name + * @param int $w width + * @param int $h height + * @param string $caption caption. + * @param mixed $action action triggered by pressing the button. Use a string to specify a javascript action. Use an array to specify a form action options as on section 12.7.5 of PDF32000_2008. + * @param array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference. + * @param array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference. + * @param float|null $x Abscissa of the upper-left corner of the rectangle + * @param float|null $y Ordinate of the upper-left corner of the rectangle + * @param boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered). + * @public + * @author Nicola Asuni + * @since 4.8.000 (2009-09-07) + */ + public function Button($name, $w, $h, $caption, $action, $prop=array(), $opt=array(), $x=null, $y=null, $js=false) { + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + if ($js) { + $this->_addfield('button', $name, $this->x, $this->y, $w, $h, $prop); + $this->javascript .= 'f'.$name.".buttonSetCaption('".addslashes($caption)."');\n"; + $this->javascript .= 'f'.$name.".setAction('MouseUp','".addslashes($action)."');\n"; + $this->javascript .= 'f'.$name.".highlight='push';\n"; + $this->javascript .= 'f'.$name.".print=false;\n"; + return; + } + // get default style + $prop = array_merge($this->getFormDefaultProp(), $prop); + $prop['Pushbutton'] = 'true'; + $prop['highlight'] = 'push'; + $prop['display'] = 'display.noPrint'; + // get annotation data + $popt = TCPDF_STATIC::getAnnotOptFromJSProp($prop, $this->spot_colors, $this->rtl); + $this->annotation_fonts[$this->CurrentFont['fontkey']] = $this->CurrentFont['i']; + $fontstyle = sprintf('/F%d %F Tf %s', $this->CurrentFont['i'], $this->FontSizePt, $this->TextColor); + $popt['da'] = $fontstyle; + // build appearance stream + $popt['ap'] = array(); + $popt['ap']['n'] = '/Tx BMC q '.$fontstyle.' '; + $tmpid = $this->startTemplate($w, $h, false); + $bw = (2 / $this->k); // border width + $border = array( + 'L' => array('width' => $bw, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(231)), + 'R' => array('width' => $bw, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(51)), + 'T' => array('width' => $bw, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(231)), + 'B' => array('width' => $bw, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(51))); + $this->setFillColor(204); + $this->Cell($w, $h, $caption, $border, 0, 'C', true, '', 1, false, 'T', 'M'); + $this->endTemplate(); + --$this->n; + $popt['ap']['n'] .= $this->xobjects[$tmpid]['outdata']; + unset($this->xobjects[$tmpid]); + $popt['ap']['n'] .= 'Q EMC'; + // set additional default options + if (!isset($popt['mk'])) { + $popt['mk'] = array(); + } + $ann_obj_id = ($this->n + 1); + if (!empty($action) AND !is_array($action)) { + $ann_obj_id = ($this->n + 2); + } + $popt['mk']['ca'] = $this->_textstring($caption, $ann_obj_id); + $popt['mk']['rc'] = $this->_textstring($caption, $ann_obj_id); + $popt['mk']['ac'] = $this->_textstring($caption, $ann_obj_id); + // merge options + $opt = array_merge($popt, $opt); + // set remaining annotation data + $opt['Subtype'] = 'Widget'; + $opt['ft'] = 'Btn'; + $opt['t'] = $caption; + $opt['v'] = $name; + if (!empty($action)) { + if (is_array($action)) { + // form action options as on section 12.7.5 of PDF32000_2008. + $opt['aa'] = '/D <<'; + $bmode = array('SubmitForm', 'ResetForm', 'ImportData'); + foreach ($action AS $key => $val) { + if (($key == 'S') AND in_array($val, $bmode)) { + $opt['aa'] .= ' /S /'.$val; + } elseif (($key == 'F') AND (!empty($val))) { + $opt['aa'] .= ' /F '.$this->_datastring($val, $ann_obj_id); + } elseif (($key == 'Fields') AND is_array($val) AND !empty($val)) { + $opt['aa'] .= ' /Fields ['; + foreach ($val AS $field) { + $opt['aa'] .= ' '.$this->_textstring($field, $ann_obj_id); + } + $opt['aa'] .= ']'; + } elseif (($key == 'Flags')) { + $ff = 0; + if (is_array($val)) { + foreach ($val AS $flag) { + switch ($flag) { + case 'Include/Exclude': { + $ff += 1 << 0; + break; + } + case 'IncludeNoValueFields': { + $ff += 1 << 1; + break; + } + case 'ExportFormat': { + $ff += 1 << 2; + break; + } + case 'GetMethod': { + $ff += 1 << 3; + break; + } + case 'SubmitCoordinates': { + $ff += 1 << 4; + break; + } + case 'XFDF': { + $ff += 1 << 5; + break; + } + case 'IncludeAppendSaves': { + $ff += 1 << 6; + break; + } + case 'IncludeAnnotations': { + $ff += 1 << 7; + break; + } + case 'SubmitPDF': { + $ff += 1 << 8; + break; + } + case 'CanonicalFormat': { + $ff += 1 << 9; + break; + } + case 'ExclNonUserAnnots': { + $ff += 1 << 10; + break; + } + case 'ExclFKey': { + $ff += 1 << 11; + break; + } + case 'EmbedForm': { + $ff += 1 << 13; + break; + } + } + } + } else { + $ff = intval($val); + } + $opt['aa'] .= ' /Flags '.$ff; + } + } + $opt['aa'] .= ' >>'; + } else { + // Javascript action or raw action command + $js_obj_id = $this->addJavascriptObject($action); + $opt['aa'] = '/D '.$js_obj_id.' 0 R'; + } + } + $this->Annotation($x, $y, $w, $h, $name, $opt, 0); + if ($this->rtl) { + $this->x -= $w; + } else { + $this->x += $w; + } + } + + // --- END FORMS FIELDS ------------------------------------------------ + + /** + * Add certification signature (DocMDP or UR3) + * You can set only one signature type + * @protected + * @author Nicola Asuni + * @since 4.6.008 (2009-05-07) + */ + protected function _putsignature() { + if ((!$this->sign) OR (!isset($this->signature_data['cert_type']))) { + return; + } + $sigobjid = ($this->sig_obj_id + 1); + $out = $this->_getobj($sigobjid)."\n"; + $out .= '<< /Type /Sig'; + $out .= ' /Filter /Adobe.PPKLite'; + $out .= ' /SubFilter /adbe.pkcs7.detached'; + $out .= ' '.TCPDF_STATIC::$byterange_string; + $out .= ' /Contents<'.str_repeat('0', $this->signature_max_length).'>'; + if (empty($this->signature_data['approval']) OR ($this->signature_data['approval'] != 'A')) { + $out .= ' /Reference ['; // array of signature reference dictionaries + $out .= ' << /Type /SigRef'; + if ($this->signature_data['cert_type'] > 0) { + $out .= ' /TransformMethod /DocMDP'; + $out .= ' /TransformParams <<'; + $out .= ' /Type /TransformParams'; + $out .= ' /P '.$this->signature_data['cert_type']; + $out .= ' /V /1.2'; + } else { + $out .= ' /TransformMethod /UR3'; + $out .= ' /TransformParams <<'; + $out .= ' /Type /TransformParams'; + $out .= ' /V /2.2'; + if (!TCPDF_STATIC::empty_string($this->ur['document'])) { + $out .= ' /Document['.$this->ur['document'].']'; + } + if (!TCPDF_STATIC::empty_string($this->ur['form'])) { + $out .= ' /Form['.$this->ur['form'].']'; + } + if (!TCPDF_STATIC::empty_string($this->ur['signature'])) { + $out .= ' /Signature['.$this->ur['signature'].']'; + } + if (!TCPDF_STATIC::empty_string($this->ur['annots'])) { + $out .= ' /Annots['.$this->ur['annots'].']'; + } + if (!TCPDF_STATIC::empty_string($this->ur['ef'])) { + $out .= ' /EF['.$this->ur['ef'].']'; + } + if (!TCPDF_STATIC::empty_string($this->ur['formex'])) { + $out .= ' /FormEX['.$this->ur['formex'].']'; + } + } + $out .= ' >>'; // close TransformParams + // optional digest data (values must be calculated and replaced later) + //$out .= ' /Data ********** 0 R'; + //$out .= ' /DigestMethod/MD5'; + //$out .= ' /DigestLocation[********** 34]'; + //$out .= ' /DigestValue<********************************>'; + $out .= ' >>'; + $out .= ' ]'; // end of reference + } + if (isset($this->signature_data['info']['Name']) AND !TCPDF_STATIC::empty_string($this->signature_data['info']['Name'])) { + $out .= ' /Name '.$this->_textstring($this->signature_data['info']['Name'], $sigobjid); + } + if (isset($this->signature_data['info']['Location']) AND !TCPDF_STATIC::empty_string($this->signature_data['info']['Location'])) { + $out .= ' /Location '.$this->_textstring($this->signature_data['info']['Location'], $sigobjid); + } + if (isset($this->signature_data['info']['Reason']) AND !TCPDF_STATIC::empty_string($this->signature_data['info']['Reason'])) { + $out .= ' /Reason '.$this->_textstring($this->signature_data['info']['Reason'], $sigobjid); + } + if (isset($this->signature_data['info']['ContactInfo']) AND !TCPDF_STATIC::empty_string($this->signature_data['info']['ContactInfo'])) { + $out .= ' /ContactInfo '.$this->_textstring($this->signature_data['info']['ContactInfo'], $sigobjid); + } + $out .= ' /M '.$this->_datestring($sigobjid, $this->doc_modification_timestamp); + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + + /** + * Set User's Rights for PDF Reader + * WARNING: This is experimental and currently do not work. + * Check the PDF Reference 8.7.1 Transform Methods, + * Table 8.105 Entries in the UR transform parameters dictionary + * @param boolean $enable if true enable user's rights on PDF reader + * @param string $document Names specifying additional document-wide usage rights for the document. The only defined value is "/FullSave", which permits a user to save the document along with modified form and/or annotation data. + * @param string $annots Names specifying additional annotation-related usage rights for the document. Valid names in PDF 1.5 and later are /Create/Delete/Modify/Copy/Import/Export, which permit the user to perform the named operation on annotations. + * @param string $form Names specifying additional form-field-related usage rights for the document. Valid names are: /Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate + * @param string $signature Names specifying additional signature-related usage rights for the document. The only defined value is /Modify, which permits a user to apply a digital signature to an existing signature form field or clear a signed signature form field. + * @param string $ef Names specifying additional usage rights for named embedded files in the document. Valid names are /Create/Delete/Modify/Import, which permit the user to perform the named operation on named embedded files + Names specifying additional embedded-files-related usage rights for the document. + * @param string $formex Names specifying additional form-field-related usage rights. The only valid name is BarcodePlaintext, which permits text form field data to be encoded as a plaintext two-dimensional barcode. + * @public + * @author Nicola Asuni + * @since 2.9.000 (2008-03-26) + */ + public function setUserRights( + $enable=true, + $document='/FullSave', + $annots='/Create/Delete/Modify/Copy/Import/Export', + $form='/Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate', + $signature='/Modify', + $ef='/Create/Delete/Modify/Import', + $formex='') { + $this->ur['enabled'] = $enable; + $this->ur['document'] = $document; + $this->ur['annots'] = $annots; + $this->ur['form'] = $form; + $this->ur['signature'] = $signature; + $this->ur['ef'] = $ef; + $this->ur['formex'] = $formex; + if (!$this->sign) { + $this->setSignature('', '', '', '', 0, array()); + } + } + + /** + * Enable document signature (requires the OpenSSL Library). + * The digital signature improve document authenticity and integrity and allows o enable extra features on Acrobat Reader. + * To create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + * To export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + * To convert pfx certificate to pem: openssl pkcs12 -in tcpdf.pfx -out tcpdf.crt -nodes + * @param mixed $signing_cert signing certificate (string or filename prefixed with 'file://') + * @param mixed $private_key private key (string or filename prefixed with 'file://') + * @param string $private_key_password password + * @param string $extracerts specifies the name of a file containing a bunch of extra certificates to include in the signature which can for example be used to help the recipient to verify the certificate that you used. + * @param int $cert_type The access permissions granted for this document. Valid values shall be: 1 = No changes to the document shall be permitted; any change to the document shall invalidate the signature; 2 = Permitted changes shall be filling in forms, instantiating page templates, and signing; other changes shall invalidate the signature; 3 = Permitted changes shall be the same as for 2, as well as annotation creation, deletion, and modification; other changes shall invalidate the signature. + * @param array $info array of option information: Name, Location, Reason, ContactInfo. + * @param string $approval Enable approval signature eg. for PDF incremental update + * @public + * @author Nicola Asuni + * @since 4.6.005 (2009-04-24) + */ + public function setSignature($signing_cert='', $private_key='', $private_key_password='', $extracerts='', $cert_type=2, $info=array(), $approval='') { + // to create self-signed signature: openssl req -x509 -nodes -days 365000 -newkey rsa:1024 -keyout tcpdf.crt -out tcpdf.crt + // to export crt to p12: openssl pkcs12 -export -in tcpdf.crt -out tcpdf.p12 + // to convert pfx certificate to pem: openssl + // OpenSSL> pkcs12 -in -out -nodes + $this->sign = true; + ++$this->n; + $this->sig_obj_id = $this->n; // signature widget + ++$this->n; // signature object ($this->sig_obj_id + 1) + $this->signature_data = array(); + if (strlen($signing_cert) == 0) { + $this->Error('Please provide a certificate file and password!'); + } + if (strlen($private_key) == 0) { + $private_key = $signing_cert; + } + $this->signature_data['signcert'] = $signing_cert; + $this->signature_data['privkey'] = $private_key; + $this->signature_data['password'] = $private_key_password; + $this->signature_data['extracerts'] = $extracerts; + $this->signature_data['cert_type'] = $cert_type; + $this->signature_data['info'] = $info; + $this->signature_data['approval'] = $approval; + } + + /** + * Set the digital signature appearance (a cliccable rectangle area to get signature properties) + * @param float $x Abscissa of the upper-left corner. + * @param float $y Ordinate of the upper-left corner. + * @param float $w Width of the signature area. + * @param float $h Height of the signature area. + * @param int $page option page number (if < 0 the current page is used). + * @param string $name Name of the signature. + * @public + * @author Nicola Asuni + * @since 5.3.011 (2010-06-17) + */ + public function setSignatureAppearance($x=0, $y=0, $w=0, $h=0, $page=-1, $name='') { + $this->signature_appearance = $this->getSignatureAppearanceArray($x, $y, $w, $h, $page, $name); + } + + /** + * Add an empty digital signature appearance (a cliccable rectangle area to get signature properties) + * @param float $x Abscissa of the upper-left corner. + * @param float $y Ordinate of the upper-left corner. + * @param float $w Width of the signature area. + * @param float $h Height of the signature area. + * @param int $page option page number (if < 0 the current page is used). + * @param string $name Name of the signature. + * @public + * @author Nicola Asuni + * @since 5.9.101 (2011-07-06) + */ + public function addEmptySignatureAppearance($x=0, $y=0, $w=0, $h=0, $page=-1, $name='') { + ++$this->n; + $this->empty_signature_appearance[] = array('objid' => $this->n) + $this->getSignatureAppearanceArray($x, $y, $w, $h, $page, $name); + } + + /** + * Get the array that defines the signature appearance (page and rectangle coordinates). + * @param float $x Abscissa of the upper-left corner. + * @param float $y Ordinate of the upper-left corner. + * @param float $w Width of the signature area. + * @param float $h Height of the signature area. + * @param int $page option page number (if < 0 the current page is used). + * @param string $name Name of the signature. + * @return array Array defining page and rectangle coordinates of signature appearance. + * @protected + * @author Nicola Asuni + * @since 5.9.101 (2011-07-06) + */ + protected function getSignatureAppearanceArray($x=0, $y=0, $w=0, $h=0, $page=-1, $name='') { + $sigapp = array(); + if (($page < 1) OR ($page > $this->numpages)) { + $sigapp['page'] = $this->page; + } else { + $sigapp['page'] = intval($page); + } + if (empty($name)) { + $sigapp['name'] = 'Signature'; + } else { + $sigapp['name'] = $name; + } + $a = $x * $this->k; + $b = $this->pagedim[($sigapp['page'])]['h'] - (($y + $h) * $this->k); + $c = $w * $this->k; + $d = $h * $this->k; + $sigapp['rect'] = sprintf('%F %F %F %F', $a, $b, ($a + $c), ($b + $d)); + return $sigapp; + } + + /** + * Enable document timestamping (requires the OpenSSL Library). + * The trusted timestamping improve document security that means that no one should be able to change the document once it has been recorded. + * Use with digital signature only! + * @param string $tsa_host Time Stamping Authority (TSA) server (prefixed with 'https://') + * @param string $tsa_username Specifies the username for TSA authorization (optional) OR specifies the TSA authorization PEM file (see: example_66.php, optional) + * @param string $tsa_password Specifies the password for TSA authorization (optional) + * @param string $tsa_cert Specifies the location of TSA certificate for authorization (optional for cURL) + * @public + * @author Richard Stockinger + * @since 6.0.090 (2014-06-16) + */ + public function setTimeStamp($tsa_host='', $tsa_username='', $tsa_password='', $tsa_cert='') { + $this->tsa_data = array(); + if (!function_exists('curl_init')) { + $this->Error('Please enable cURL PHP extension!'); + } + if (strlen($tsa_host) == 0) { + $this->Error('Please specify the host of Time Stamping Authority (TSA)!'); + } + $this->tsa_data['tsa_host'] = $tsa_host; + if (is_file($tsa_username)) { + $this->tsa_data['tsa_auth'] = $tsa_username; + } else { + $this->tsa_data['tsa_username'] = $tsa_username; + } + $this->tsa_data['tsa_password'] = $tsa_password; + $this->tsa_data['tsa_cert'] = $tsa_cert; + $this->tsa_timestamp = true; + } + + /** + * NOT YET IMPLEMENTED + * Request TSA for a timestamp + * @param string $signature Digital signature as binary string + * @return string Timestamped digital signature + * @protected + * @author Richard Stockinger + * @since 6.0.090 (2014-06-16) + */ + protected function applyTSA($signature) { + if (!$this->tsa_timestamp) { + return $signature; + } + //@TODO: implement this feature + return $signature; + } + + /** + * Create a new page group. + * NOTE: call this function before calling AddPage() + * @param int|null $page starting group page (leave empty for next page). + * @public + * @since 3.0.000 (2008-03-27) + */ + public function startPageGroup($page=null) { + if (empty($page)) { + $page = $this->page + 1; + } + $this->newpagegroup[$page] = sizeof($this->newpagegroup) + 1; + } + + /** + * Set the starting page number. + * @param int $num Starting page number. + * @since 5.9.093 (2011-06-16) + * @public + */ + public function setStartingPageNumber($num=1) { + $this->starting_page_number = max(0, intval($num)); + } + + /** + * Returns the string alias used right align page numbers. + * If the current font is unicode type, the returned string wil contain an additional open curly brace. + * @return string + * @since 5.9.099 (2011-06-27) + * @public + */ + public function getAliasRightShift() { + // calculate aproximatively the ratio between widths of aliases and replacements. + $ref = '{'.TCPDF_STATIC::$alias_right_shift.'}{'.TCPDF_STATIC::$alias_tot_pages.'}{'.TCPDF_STATIC::$alias_num_page.'}'; + $rep = str_repeat(' ', $this->GetNumChars($ref)); + $wrep = $this->GetStringWidth($rep); + if ($wrep > 0) { + $wdiff = max(1, ($this->GetStringWidth($ref) / $wrep)); + } else { + $wdiff = 1; + } + $sdiff = sprintf('%F', $wdiff); + $alias = TCPDF_STATIC::$alias_right_shift.$sdiff.'}'; + if ($this->isUnicodeFont()) { + $alias = '{'.$alias; + } + return $alias; + } + + /** + * Returns the string alias used for the total number of pages. + * If the current font is unicode type, the returned string is surrounded by additional curly braces. + * This alias will be replaced by the total number of pages in the document. + * @return string + * @since 4.0.018 (2008-08-08) + * @public + */ + public function getAliasNbPages() { + if ($this->isUnicodeFont()) { + return '{'.TCPDF_STATIC::$alias_tot_pages.'}'; + } + return TCPDF_STATIC::$alias_tot_pages; + } + + /** + * Returns the string alias used for the page number. + * If the current font is unicode type, the returned string is surrounded by additional curly braces. + * This alias will be replaced by the page number. + * @return string + * @since 4.5.000 (2009-01-02) + * @public + */ + public function getAliasNumPage() { + if ($this->isUnicodeFont()) { + return '{'.TCPDF_STATIC::$alias_num_page.'}'; + } + return TCPDF_STATIC::$alias_num_page; + } + + /** + * Return the alias for the total number of pages in the current page group. + * If the current font is unicode type, the returned string is surrounded by additional curly braces. + * This alias will be replaced by the total number of pages in this group. + * @return string alias of the current page group + * @public + * @since 3.0.000 (2008-03-27) + */ + public function getPageGroupAlias() { + if ($this->isUnicodeFont()) { + return '{'.TCPDF_STATIC::$alias_group_tot_pages.'}'; + } + return TCPDF_STATIC::$alias_group_tot_pages; + } + + /** + * Return the alias for the page number on the current page group. + * If the current font is unicode type, the returned string is surrounded by additional curly braces. + * This alias will be replaced by the page number (relative to the belonging group). + * @return string alias of the current page group + * @public + * @since 4.5.000 (2009-01-02) + */ + public function getPageNumGroupAlias() { + if ($this->isUnicodeFont()) { + return '{'.TCPDF_STATIC::$alias_group_num_page.'}'; + } + return TCPDF_STATIC::$alias_group_num_page; + } + + /** + * Return the current page in the group. + * @return int current page in the group + * @public + * @since 3.0.000 (2008-03-27) + */ + public function getGroupPageNo() { + return $this->pagegroups[$this->currpagegroup]; + } + + /** + * Returns the current group page number formatted as a string. + * @public + * @since 4.3.003 (2008-11-18) + * @see PaneNo(), formatPageNumber() + */ + public function getGroupPageNoFormatted() { + return TCPDF_STATIC::formatPageNumber($this->getGroupPageNo()); + } + + /** + * Returns the current page number formatted as a string. + * @public + * @since 4.2.005 (2008-11-06) + * @see PaneNo(), formatPageNumber() + */ + public function PageNoFormatted() { + return TCPDF_STATIC::formatPageNumber($this->PageNo()); + } + + /** + * Put pdf layers. + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected function _putocg() { + if (empty($this->pdflayers)) { + return; + } + foreach ($this->pdflayers as $key => $layer) { + $this->pdflayers[$key]['objid'] = $this->_newobj(); + $out = '<< /Type /OCG'; + $out .= ' /Name '.$this->_textstring($layer['name'], $this->pdflayers[$key]['objid']); + $out .= ' /Usage <<'; + if (isset($layer['print']) AND ($layer['print'] !== NULL)) { + $out .= ' /Print <>'; + } + $out .= ' /View <>'; + $out .= ' >> >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + + /** + * Start a new pdf layer. + * @param string $name Layer name (only a-z letters and numbers). Leave empty for automatic name. + * @param boolean|null $print Set to TRUE to print this layer, FALSE to not print and NULL to not set this option + * @param boolean $view Set to true to view this layer. + * @param boolean $lock If true lock the layer + * @public + * @since 5.9.102 (2011-07-13) + */ + public function startLayer($name='', $print=true, $view=true, $lock=true) { + if ($this->state != 2) { + return; + } + $layer = sprintf('LYR%03d', (count($this->pdflayers) + 1)); + if (empty($name)) { + $name = $layer; + } else { + $name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $name); + } + $this->pdflayers[] = array('layer' => $layer, 'name' => $name, 'print' => $print, 'view' => $view, 'lock' => $lock); + $this->openMarkedContent = true; + $this->_out('/OC /'.$layer.' BDC'); + } + + /** + * End the current PDF layer. + * @public + * @since 5.9.102 (2011-07-13) + */ + public function endLayer() { + if ($this->state != 2) { + return; + } + if ($this->openMarkedContent) { + // close existing open marked-content layer + $this->_out('EMC'); + $this->openMarkedContent = false; + } + } + + /** + * Set the visibility of the successive elements. + * This can be useful, for instance, to put a background + * image or color that will show on screen but won't print. + * @param string $v visibility mode. Legal values are: all, print, screen or view. + * @public + * @since 3.0.000 (2008-03-27) + */ + public function setVisibility($v) { + if ($this->state != 2) { + return; + } + $this->endLayer(); + switch($v) { + case 'print': { + $this->startLayer('Print', true, false); + break; + } + case 'view': + case 'screen': { + $this->startLayer('View', false, true); + break; + } + case 'all': { + $this->_out(''); + break; + } + default: { + $this->Error('Incorrect visibility: '.$v); + break; + } + } + } + + /** + * Add transparency parameters to the current extgstate + * @param array $parms parameters + * @return int|void the number of extgstates + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected function addExtGState($parms) { + if (($this->pdfa_mode && $this->pdfa_version < 2) || ($this->state != 2)) { + // transparency is not allowed in PDF/A-1 mode + return; + } + // check if this ExtGState already exist + foreach ($this->extgstates as $i => $ext) { + if ($ext['parms'] == $parms) { + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['extgstates'][$i] = $ext; + } + // return reference to existing ExtGState + return $i; + } + } + $n = (count($this->extgstates) + 1); + $this->extgstates[$n] = array('parms' => $parms); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['extgstates'][$n] = $this->extgstates[$n]; + } + return $n; + } + + /** + * Add an extgstate + * @param int $gs extgstate + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected function setExtGState($gs) { + if (($this->pdfa_mode && $this->pdfa_version < 2) OR ($this->state != 2)) { + // transparency is not allowed in PDF/A-1 mode + return; + } + $this->_out(sprintf('/GS%d gs', $gs)); + } + + /** + * Put extgstates for object transparency + * @protected + * @since 3.0.000 (2008-03-27) + */ + protected function _putextgstates() { + foreach ($this->extgstates as $i => $ext) { + $this->extgstates[$i]['n'] = $this->_newobj(); + $out = '<< /Type /ExtGState'; + foreach ($ext['parms'] as $k => $v) { + if (is_float($v)) { + $v = sprintf('%F', $v); + } elseif ($v === true) { + $v = 'true'; + } elseif ($v === false) { + $v = 'false'; + } + $out .= ' /'.$k.' '.$v; + } + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + + /** + * Set overprint mode for stroking (OP) and non-stroking (op) painting operations. + * (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008). + * @param boolean $stroking If true apply overprint for stroking operations. + * @param boolean|null $nonstroking If true apply overprint for painting operations other than stroking. + * @param integer $mode Overprint mode: (0 = each source colour component value replaces the value previously painted for the corresponding device colorant; 1 = a tint value of 0.0 for a source colour component shall leave the corresponding component of the previously painted colour unchanged). + * @public + * @since 5.9.152 (2012-03-23) + */ + public function setOverprint($stroking=true, $nonstroking=null, $mode=0) { + if ($this->state != 2) { + return; + } + $stroking = $stroking ? true : false; + if (TCPDF_STATIC::empty_string($nonstroking)) { + // default value if not set + $nonstroking = $stroking; + } else { + $nonstroking = $nonstroking ? true : false; + } + if (($mode != 0) AND ($mode != 1)) { + $mode = 0; + } + $this->overprint = array('OP' => $stroking, 'op' => $nonstroking, 'OPM' => $mode); + $gs = $this->addExtGState($this->overprint); + $this->setExtGState($gs); + } + + /** + * Get the overprint mode array (OP, op, OPM). + * (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008). + * @return array + * @public + * @since 5.9.152 (2012-03-23) + */ + public function getOverprint() { + return $this->overprint; + } + + /** + * Set alpha for stroking (CA) and non-stroking (ca) operations. + * @param float $stroking Alpha value for stroking operations: real value from 0 (transparent) to 1 (opaque). + * @param string $bm blend mode, one of the following: Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference, Exclusion, Hue, Saturation, Color, Luminosity + * @param float|null $nonstroking Alpha value for non-stroking operations: real value from 0 (transparent) to 1 (opaque). + * @param boolean $ais + * @public + * @since 3.0.000 (2008-03-27) + */ + public function setAlpha($stroking=1, $bm='Normal', $nonstroking=null, $ais=false) { + if ($this->pdfa_mode && $this->pdfa_version < 2) { + // transparency is not allowed in PDF/A-1 mode + return; + } + $stroking = floatval($stroking); + if (TCPDF_STATIC::empty_string($nonstroking)) { + // default value if not set + $nonstroking = $stroking; + } else { + $nonstroking = floatval($nonstroking); + } + if ($bm[0] == '/') { + // remove trailing slash + $bm = substr($bm, 1); + } + if (!in_array($bm, array('Normal', 'Multiply', 'Screen', 'Overlay', 'Darken', 'Lighten', 'ColorDodge', 'ColorBurn', 'HardLight', 'SoftLight', 'Difference', 'Exclusion', 'Hue', 'Saturation', 'Color', 'Luminosity'))) { + $bm = 'Normal'; + } + $ais = $ais ? true : false; + $this->alpha = array('CA' => $stroking, 'ca' => $nonstroking, 'BM' => '/'.$bm, 'AIS' => $ais); + $gs = $this->addExtGState($this->alpha); + $this->setExtGState($gs); + } + + /** + * Get the alpha mode array (CA, ca, BM, AIS). + * (Check the "Entries in a Graphics State Parameter Dictionary" on PDF 32000-1:2008). + * @return array + * @public + * @since 5.9.152 (2012-03-23) + */ + public function getAlpha() { + return $this->alpha; + } + + /** + * Set the default JPEG compression quality (1-100) + * @param int $quality JPEG quality, integer between 1 and 100 + * @public + * @since 3.0.000 (2008-03-27) + */ + public function setJPEGQuality($quality) { + if (($quality < 1) OR ($quality > 100)) { + $quality = 75; + } + $this->jpeg_quality = intval($quality); + } + + /** + * Set the default number of columns in a row for HTML tables. + * @param int $cols number of columns + * @public + * @since 3.0.014 (2008-06-04) + */ + public function setDefaultTableColumns($cols=4) { + $this->default_table_columns = intval($cols); + } + + /** + * Set the height of the cell (line height) respect the font height. + * @param float $h cell proportion respect font height (typical value = 1.25). + * @public + * @since 3.0.014 (2008-06-04) + */ + public function setCellHeightRatio($h) { + $this->cell_height_ratio = $h; + } + + /** + * return the height of cell repect font height. + * @public + * @return float + * @since 4.0.012 (2008-07-24) + */ + public function getCellHeightRatio() { + return $this->cell_height_ratio; + } + + /** + * Set the PDF version (check PDF reference for valid values). + * @param string $version PDF document version. + * @public + * @since 3.1.000 (2008-06-09) + */ + public function setPDFVersion($version='1.7') { + if ($this->pdfa_mode && $this->pdfa_version == 1 ) { + // PDF/A-1 mode + $this->PDFVersion = '1.4'; + } elseif ($this->pdfa_mode && $this->pdfa_version >= 2 ) { + // PDF/A-2 mode + $this->PDFVersion = '1.7'; + } else { + $this->PDFVersion = $version; + } + } + + /** + * Set the viewer preferences dictionary controlling the way the document is to be presented on the screen or in print. + * (see Section 8.1 of PDF reference, "Viewer Preferences"). + *
      • HideToolbar boolean (Optional) A flag specifying whether to hide the viewer application's tool bars when the document is active. Default value: false.
      • HideMenubar boolean (Optional) A flag specifying whether to hide the viewer application's menu bar when the document is active. Default value: false.
      • HideWindowUI boolean (Optional) A flag specifying whether to hide user interface elements in the document's window (such as scroll bars and navigation controls), leaving only the document's contents displayed. Default value: false.
      • FitWindow boolean (Optional) A flag specifying whether to resize the document's window to fit the size of the first displayed page. Default value: false.
      • CenterWindow boolean (Optional) A flag specifying whether to position the document's window in the center of the screen. Default value: false.
      • DisplayDocTitle boolean (Optional; PDF 1.4) A flag specifying whether the window's title bar should display the document title taken from the Title entry of the document information dictionary (see Section 10.2.1, "Document Information Dictionary"). If false, the title bar should instead display the name of the PDF file containing the document. Default value: false.
      • NonFullScreenPageMode name (Optional) The document's page mode, specifying how to display the document on exiting full-screen mode:
        • UseNone Neither document outline nor thumbnail images visible
        • UseOutlines Document outline visible
        • UseThumbs Thumbnail images visible
        • UseOC Optional content group panel visible
        This entry is meaningful only if the value of the PageMode entry in the catalog dictionary (see Section 3.6.1, "Document Catalog") is FullScreen; it is ignored otherwise. Default value: UseNone.
      • ViewArea name (Optional; PDF 1.4) The name of the page boundary representing the area of a page to be displayed when viewing the document on the screen. Valid values are (see Section 10.10.1, "Page Boundaries").:
        • MediaBox
        • CropBox (default)
        • BleedBox
        • TrimBox
        • ArtBox
      • ViewClip name (Optional; PDF 1.4) The name of the page boundary to which the contents of a page are to be clipped when viewing the document on the screen. Valid values are (see Section 10.10.1, "Page Boundaries").:
        • MediaBox
        • CropBox (default)
        • BleedBox
        • TrimBox
        • ArtBox
      • PrintArea name (Optional; PDF 1.4) The name of the page boundary representing the area of a page to be rendered when printing the document. Valid values are (see Section 10.10.1, "Page Boundaries").:
        • MediaBox
        • CropBox (default)
        • BleedBox
        • TrimBox
        • ArtBox
      • PrintClip name (Optional; PDF 1.4) The name of the page boundary to which the contents of a page are to be clipped when printing the document. Valid values are (see Section 10.10.1, "Page Boundaries").:
        • MediaBox
        • CropBox (default)
        • BleedBox
        • TrimBox
        • ArtBox
      • PrintScaling name (Optional; PDF 1.6) The page scaling option to be selected when a print dialog is displayed for this document. Valid values are:
        • None, which indicates that the print dialog should reflect no page scaling
        • AppDefault (default), which indicates that applications should use the current print scaling
      • Duplex name (Optional; PDF 1.7) The paper handling option to use when printing the file from the print dialog. The following values are valid:
        • Simplex - Print single-sided
        • DuplexFlipShortEdge - Duplex and flip on the short edge of the sheet
        • DuplexFlipLongEdge - Duplex and flip on the long edge of the sheet
        Default value: none
      • PickTrayByPDFSize boolean (Optional; PDF 1.7) A flag specifying whether the PDF page size is used to select the input paper tray. This setting influences only the preset values used to populate the print dialog presented by a PDF viewer application. If PickTrayByPDFSize is true, the check box in the print dialog associated with input paper tray is checked. Note: This setting has no effect on Mac OS systems, which do not provide the ability to pick the input tray by size.
      • PrintPageRange array (Optional; PDF 1.7) The page numbers used to initialize the print dialog box when the file is printed. The first page of the PDF file is denoted by 1. Each pair consists of the first and last pages in the sub-range. An odd number of integers causes this entry to be ignored. Negative numbers cause the entire array to be ignored. Default value: as defined by PDF viewer application
      • NumCopies integer (Optional; PDF 1.7) The number of copies to be printed when the print dialog is opened for this file. Supported values are the integers 2 through 5. Values outside this range are ignored. Default value: as defined by PDF viewer application, but typically 1
      + * @param array $preferences array of options. + * @author Nicola Asuni + * @public + * @since 3.1.000 (2008-06-09) + */ + public function setViewerPreferences($preferences) { + $this->viewer_preferences = $preferences; + } + + /** + * Paints color transition registration bars + * @param float $x abscissa of the top left corner of the rectangle. + * @param float $y ordinate of the top left corner of the rectangle. + * @param float $w width of the rectangle. + * @param float $h height of the rectangle. + * @param boolean $transition if true prints tcolor transitions to white. + * @param boolean $vertical if true prints bar vertically. + * @param string $colors colors to print separated by comma. Valid values are: A,W,R,G,B,C,M,Y,K,RGB,CMYK,ALL,ALLSPOT,. Where: A = grayscale black, W = grayscale white, R = RGB red, G RGB green, B RGB blue, C = CMYK cyan, M = CMYK magenta, Y = CMYK yellow, K = CMYK key/black, RGB = RGB registration color, CMYK = CMYK registration color, ALL = Spot registration color, ALLSPOT = print all defined spot colors, = name of the spot color to print. + * @author Nicola Asuni + * @since 4.9.000 (2010-03-26) + * @public + */ + public function colorRegistrationBar($x, $y, $w, $h, $transition=true, $vertical=false, $colors='A,R,G,B,C,M,Y,K') { + if (strpos($colors, 'ALLSPOT') !== false) { + // expand spot colors + $spot_colors = ''; + foreach ($this->spot_colors as $spot_color_name => $v) { + $spot_colors .= ','.$spot_color_name; + } + if (!empty($spot_colors)) { + $spot_colors = substr($spot_colors, 1); + $colors = str_replace('ALLSPOT', $spot_colors, $colors); + } else { + $colors = str_replace('ALLSPOT', 'NONE', $colors); + } + } + $bars = explode(',', $colors); + $numbars = count($bars); // number of bars to print + if ($numbars <= 0) { + return; + } + // set bar measures + if ($vertical) { + $coords = array(0, 0, 0, 1); + $wb = $w / $numbars; // bar width + $hb = $h; // bar height + $xd = $wb; // delta x + $yd = 0; // delta y + } else { + $coords = array(1, 0, 0, 0); + $wb = $w; // bar width + $hb = $h / $numbars; // bar height + $xd = 0; // delta x + $yd = $hb; // delta y + } + $xb = $x; + $yb = $y; + foreach ($bars as $col) { + switch ($col) { + // set transition colors + case 'A': { // BLACK (GRAYSCALE) + $col_a = array(255); + $col_b = array(0); + break; + } + case 'W': { // WHITE (GRAYSCALE) + $col_a = array(0); + $col_b = array(255); + break; + } + case 'R': { // RED (RGB) + $col_a = array(255,255,255); + $col_b = array(255,0,0); + break; + } + case 'G': { // GREEN (RGB) + $col_a = array(255,255,255); + $col_b = array(0,255,0); + break; + } + case 'B': { // BLUE (RGB) + $col_a = array(255,255,255); + $col_b = array(0,0,255); + break; + } + case 'C': { // CYAN (CMYK) + $col_a = array(0,0,0,0); + $col_b = array(100,0,0,0); + break; + } + case 'M': { // MAGENTA (CMYK) + $col_a = array(0,0,0,0); + $col_b = array(0,100,0,0); + break; + } + case 'Y': { // YELLOW (CMYK) + $col_a = array(0,0,0,0); + $col_b = array(0,0,100,0); + break; + } + case 'K': { // KEY - BLACK (CMYK) + $col_a = array(0,0,0,0); + $col_b = array(0,0,0,100); + break; + } + case 'RGB': { // BLACK REGISTRATION (RGB) + $col_a = array(255,255,255); + $col_b = array(0,0,0); + break; + } + case 'CMYK': { // BLACK REGISTRATION (CMYK) + $col_a = array(0,0,0,0); + $col_b = array(100,100,100,100); + break; + } + case 'ALL': { // SPOT COLOR REGISTRATION + $col_a = array(0,0,0,0,'None'); + $col_b = array(100,100,100,100,'All'); + break; + } + case 'NONE': { // SKIP THIS COLOR + $col_a = array(0,0,0,0,'None'); + $col_b = array(0,0,0,0,'None'); + break; + } + default: { // SPECIFIC SPOT COLOR NAME + $col_a = array(0,0,0,0,'None'); + $col_b = TCPDF_COLORS::getSpotColor($col, $this->spot_colors); + if ($col_b === false) { + // in case of error defaults to the registration color + $col_b = array(100,100,100,100,'All'); + } + break; + } + } + if ($col != 'NONE') { + if ($transition) { + // color gradient + $this->LinearGradient($xb, $yb, $wb, $hb, $col_a, $col_b, $coords); + } else { + $this->setFillColorArray($col_b); + // colored rectangle + $this->Rect($xb, $yb, $wb, $hb, 'F', array()); + } + $xb += $xd; + $yb += $yd; + } + } + } + + /** + * Paints crop marks. + * @param float $x abscissa of the crop mark center. + * @param float $y ordinate of the crop mark center. + * @param float $w width of the crop mark. + * @param float $h height of the crop mark. + * @param string $type type of crop mark, one symbol per type separated by comma: T = TOP, F = BOTTOM, L = LEFT, R = RIGHT, TL = A = TOP-LEFT, TR = B = TOP-RIGHT, BL = C = BOTTOM-LEFT, BR = D = BOTTOM-RIGHT. + * @param array $color crop mark color (default spot registration color). + * @author Nicola Asuni + * @since 4.9.000 (2010-03-26) + * @public + */ + public function cropMark($x, $y, $w, $h, $type='T,R,B,L', $color=array(100,100,100,100,'All')) { + $this->setLineStyle(array('width' => (0.5 / $this->k), 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => $color)); + $type = strtoupper($type); + $type = preg_replace('/[^A-Z\-\,]*/', '', $type); + // split type in single components + $type = str_replace('-', ',', $type); + $type = str_replace('TL', 'T,L', $type); + $type = str_replace('TR', 'T,R', $type); + $type = str_replace('BL', 'F,L', $type); + $type = str_replace('BR', 'F,R', $type); + $type = str_replace('A', 'T,L', $type); + $type = str_replace('B', 'T,R', $type); + $type = str_replace('T,RO', 'BO', $type); + $type = str_replace('C', 'F,L', $type); + $type = str_replace('D', 'F,R', $type); + $crops = explode(',', strtoupper($type)); + // remove duplicates + $crops = array_unique($crops); + $dw = ($w / 4); // horizontal space to leave before the intersection point + $dh = ($h / 4); // vertical space to leave before the intersection point + foreach ($crops as $crop) { + switch ($crop) { + case 'T': + case 'TOP': { + $x1 = $x; + $y1 = ($y - $h); + $x2 = $x; + $y2 = ($y - $dh); + break; + } + case 'F': + case 'BOTTOM': { + $x1 = $x; + $y1 = ($y + $dh); + $x2 = $x; + $y2 = ($y + $h); + break; + } + case 'L': + case 'LEFT': { + $x1 = ($x - $w); + $y1 = $y; + $x2 = ($x - $dw); + $y2 = $y; + break; + } + case 'R': + case 'RIGHT': { + $x1 = ($x + $dw); + $y1 = $y; + $x2 = ($x + $w); + $y2 = $y; + break; + } + } + $this->Line($x1, $y1, $x2, $y2); + } + } + + /** + * Paints a registration mark + * @param float $x abscissa of the registration mark center. + * @param float $y ordinate of the registration mark center. + * @param float $r radius of the crop mark. + * @param boolean $double if true print two concentric crop marks. + * @param array $cola crop mark color (default spot registration color 'All'). + * @param array $colb second crop mark color (default spot registration color 'None'). + * @author Nicola Asuni + * @since 4.9.000 (2010-03-26) + * @public + */ + public function registrationMark($x, $y, $r, $double=false, $cola=array(100,100,100,100,'All'), $colb=array(0,0,0,0,'None')) { + $line_style = array('width' => max((0.5 / $this->k),($r / 30)), 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => $cola); + $this->setFillColorArray($cola); + $this->PieSector($x, $y, $r, 90, 180, 'F'); + $this->PieSector($x, $y, $r, 270, 360, 'F'); + $this->Circle($x, $y, $r, 0, 360, 'C', $line_style, array(), 8); + if ($double) { + $ri = $r * 0.5; + $this->setFillColorArray($colb); + $this->PieSector($x, $y, $ri, 90, 180, 'F'); + $this->PieSector($x, $y, $ri, 270, 360, 'F'); + $this->setFillColorArray($cola); + $this->PieSector($x, $y, $ri, 0, 90, 'F'); + $this->PieSector($x, $y, $ri, 180, 270, 'F'); + $this->Circle($x, $y, $ri, 0, 360, 'C', $line_style, array(), 8); + } + } + + /** + * Paints a CMYK registration mark + * @param float $x abscissa of the registration mark center. + * @param float $y ordinate of the registration mark center. + * @param float $r radius of the crop mark. + * @author Nicola Asuni + * @since 6.0.038 (2013-09-30) + * @public + */ + public function registrationMarkCMYK($x, $y, $r) { + // line width + $lw = max((0.5 / $this->k),($r / 8)); + // internal radius + $ri = ($r * 0.6); + // external radius + $re = ($r * 1.3); + // Cyan + $this->setFillColorArray(array(100,0,0,0)); + $this->PieSector($x, $y, $ri, 270, 360, 'F'); + // Magenta + $this->setFillColorArray(array(0,100,0,0)); + $this->PieSector($x, $y, $ri, 0, 90, 'F'); + // Yellow + $this->setFillColorArray(array(0,0,100,0)); + $this->PieSector($x, $y, $ri, 90, 180, 'F'); + // Key - black + $this->setFillColorArray(array(0,0,0,100)); + $this->PieSector($x, $y, $ri, 180, 270, 'F'); + // registration color + $line_style = array('width' => $lw, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(100,100,100,100,'All')); + $this->setFillColorArray(array(100,100,100,100,'All')); + // external circle + $this->Circle($x, $y, $r, 0, 360, 'C', $line_style, array(), 8); + // cross lines + $this->Line($x, ($y - $re), $x, ($y - $ri)); + $this->Line($x, ($y + $ri), $x, ($y + $re)); + $this->Line(($x - $re), $y, ($x - $ri), $y); + $this->Line(($x + $ri), $y, ($x + $re), $y); + } + + /** + * Paints a linear colour gradient. + * @param float $x abscissa of the top left corner of the rectangle. + * @param float $y ordinate of the top left corner of the rectangle. + * @param float $w width of the rectangle. + * @param float $h height of the rectangle. + * @param array $col1 first color (Grayscale, RGB or CMYK components). + * @param array $col2 second color (Grayscale, RGB or CMYK components). + * @param array $coords array of the form (x1, y1, x2, y2) which defines the gradient vector (see linear_gradient_coords.jpg). The default value is from left to right (x1=0, y1=0, x2=1, y2=0). + * @author Andreas W\FCrmser, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function LinearGradient($x, $y, $w, $h, $col1=array(), $col2=array(), $coords=array(0,0,1,0)) { + $this->Clip($x, $y, $w, $h); + $this->Gradient(2, $coords, array(array('color' => $col1, 'offset' => 0, 'exponent' => 1), array('color' => $col2, 'offset' => 1, 'exponent' => 1)), array(), false); + } + + /** + * Paints a radial colour gradient. + * @param float $x abscissa of the top left corner of the rectangle. + * @param float $y ordinate of the top left corner of the rectangle. + * @param float $w width of the rectangle. + * @param float $h height of the rectangle. + * @param array $col1 first color (Grayscale, RGB or CMYK components). + * @param array $col2 second color (Grayscale, RGB or CMYK components). + * @param array $coords array of the form (fx, fy, cx, cy, r) where (fx, fy) is the starting point of the gradient with color1, (cx, cy) is the center of the circle with color2, and r is the radius of the circle (see radial_gradient_coords.jpg). (fx, fy) should be inside the circle, otherwise some areas will not be defined. + * @author Andreas W\FCrmser, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function RadialGradient($x, $y, $w, $h, $col1=array(), $col2=array(), $coords=array(0.5,0.5,0.5,0.5,1)) { + $this->Clip($x, $y, $w, $h); + $this->Gradient(3, $coords, array(array('color' => $col1, 'offset' => 0, 'exponent' => 1), array('color' => $col2, 'offset' => 1, 'exponent' => 1)), array(), false); + } + + /** + * Paints a coons patch mesh. + * @param float $x abscissa of the top left corner of the rectangle. + * @param float $y ordinate of the top left corner of the rectangle. + * @param float $w width of the rectangle. + * @param float $h height of the rectangle. + * @param array $col1 first color (lower left corner) (RGB components). + * @param array $col2 second color (lower right corner) (RGB components). + * @param array $col3 third color (upper right corner) (RGB components). + * @param array $col4 fourth color (upper left corner) (RGB components). + * @param array $coords
      • for one patch mesh: array(float x1, float y1, .... float x12, float y12): 12 pairs of coordinates (normally from 0 to 1) which specify the Bezier control points that define the patch. First pair is the lower left edge point, next is its right control point (control point 2). Then the other points are defined in the order: control point 1, edge point, control point 2 going counter-clockwise around the patch. Last (x12, y12) is the first edge point's left control point (control point 1).
      • for two or more patch meshes: array[number of patches]: arrays with the following keys for each patch: f: where to put that patch (0 = first patch, 1, 2, 3 = right, top and left of precedent patch - I didn't figure this out completely - just try and error ;-) points: 12 pairs of coordinates of the Bezier control points as above for the first patch, 8 pairs of coordinates for the following patches, ignoring the coordinates already defined by the precedent patch (I also didn't figure out the order of these - also: try and see what's happening) colors: must be 4 colors for the first patch, 2 colors for the following patches
      + * @param array $coords_min minimum value used by the coordinates. If a coordinate's value is smaller than this it will be cut to coords_min. default: 0 + * @param array $coords_max maximum value used by the coordinates. If a coordinate's value is greater than this it will be cut to coords_max. default: 1 + * @param boolean $antialias A flag indicating whether to filter the shading function to prevent aliasing artifacts. + * @author Andreas W\FCrmser, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function CoonsPatchMesh($x, $y, $w, $h, $col1=array(), $col2=array(), $col3=array(), $col4=array(), $coords=array(0.00,0.0,0.33,0.00,0.67,0.00,1.00,0.00,1.00,0.33,1.00,0.67,1.00,1.00,0.67,1.00,0.33,1.00,0.00,1.00,0.00,0.67,0.00,0.33), $coords_min=0, $coords_max=1, $antialias=false) { + if (($this->pdfa_mode && $this->pdfa_version < 2) OR ($this->state != 2)) { + return; + } + $this->Clip($x, $y, $w, $h); + $n = count($this->gradients) + 1; + $this->gradients[$n] = array(); + $this->gradients[$n]['type'] = 6; //coons patch mesh + $this->gradients[$n]['coords'] = array(); + $this->gradients[$n]['antialias'] = $antialias; + $this->gradients[$n]['colors'] = array(); + $this->gradients[$n]['transparency'] = false; + //check the coords array if it is the simple array or the multi patch array + if (!isset($coords[0]['f'])) { + //simple array -> convert to multi patch array + if (!isset($col1[1])) { + $col1[1] = $col1[2] = $col1[0]; + } + if (!isset($col2[1])) { + $col2[1] = $col2[2] = $col2[0]; + } + if (!isset($col3[1])) { + $col3[1] = $col3[2] = $col3[0]; + } + if (!isset($col4[1])) { + $col4[1] = $col4[2] = $col4[0]; + } + $patch_array[0]['f'] = 0; + $patch_array[0]['points'] = $coords; + $patch_array[0]['colors'][0]['r'] = $col1[0]; + $patch_array[0]['colors'][0]['g'] = $col1[1]; + $patch_array[0]['colors'][0]['b'] = $col1[2]; + $patch_array[0]['colors'][1]['r'] = $col2[0]; + $patch_array[0]['colors'][1]['g'] = $col2[1]; + $patch_array[0]['colors'][1]['b'] = $col2[2]; + $patch_array[0]['colors'][2]['r'] = $col3[0]; + $patch_array[0]['colors'][2]['g'] = $col3[1]; + $patch_array[0]['colors'][2]['b'] = $col3[2]; + $patch_array[0]['colors'][3]['r'] = $col4[0]; + $patch_array[0]['colors'][3]['g'] = $col4[1]; + $patch_array[0]['colors'][3]['b'] = $col4[2]; + } else { + //multi patch array + $patch_array = $coords; + } + $bpcd = 65535; //16 bits per coordinate + //build the data stream + $this->gradients[$n]['stream'] = ''; + $count_patch = count($patch_array); + for ($i=0; $i < $count_patch; ++$i) { + $this->gradients[$n]['stream'] .= chr($patch_array[$i]['f']); //start with the edge flag as 8 bit + $count_points = count($patch_array[$i]['points']); + for ($j=0; $j < $count_points; ++$j) { + //each point as 16 bit + $patch_array[$i]['points'][$j] = (($patch_array[$i]['points'][$j] - $coords_min) / ($coords_max - $coords_min)) * $bpcd; + if ($patch_array[$i]['points'][$j] < 0) { + $patch_array[$i]['points'][$j] = 0; + } + if ($patch_array[$i]['points'][$j] > $bpcd) { + $patch_array[$i]['points'][$j] = $bpcd; + } + $this->gradients[$n]['stream'] .= chr((int) floor($patch_array[$i]['points'][$j] / 256)); + $this->gradients[$n]['stream'] .= chr((int) floor(intval($patch_array[$i]['points'][$j]) % 256)); + } + $count_cols = count($patch_array[$i]['colors']); + for ($j=0; $j < $count_cols; ++$j) { + //each color component as 8 bit + $this->gradients[$n]['stream'] .= chr($patch_array[$i]['colors'][$j]['r']); + $this->gradients[$n]['stream'] .= chr($patch_array[$i]['colors'][$j]['g']); + $this->gradients[$n]['stream'] .= chr($patch_array[$i]['colors'][$j]['b']); + } + } + //paint the gradient + $this->_out('/Sh'.$n.' sh'); + //restore previous Graphic State + $this->_outRestoreGraphicsState(); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['gradients'][$n] = $this->gradients[$n]; + } + } + + /** + * Set a rectangular clipping area. + * @param float $x abscissa of the top left corner of the rectangle (or top right corner for RTL mode). + * @param float $y ordinate of the top left corner of the rectangle. + * @param float $w width of the rectangle. + * @param float $h height of the rectangle. + * @author Andreas W\FCrmser, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @protected + */ + protected function Clip($x, $y, $w, $h) { + if ($this->state != 2) { + return; + } + if ($this->rtl) { + $x = $this->w - $x - $w; + } + //save current Graphic State + $s = 'q'; + //set clipping area + $s .= sprintf(' %F %F %F %F re W n', $x*$this->k, ($this->h-$y)*$this->k, $w*$this->k, -$h*$this->k); + //set up transformation matrix for gradient + $s .= sprintf(' %F 0 0 %F %F %F cm', $w*$this->k, $h*$this->k, $x*$this->k, ($this->h-($y+$h))*$this->k); + $this->_out($s); + } + + /** + * Output gradient. + * @param int $type type of gradient (1 Function-based shading; 2 Axial shading; 3 Radial shading; 4 Free-form Gouraud-shaded triangle mesh; 5 Lattice-form Gouraud-shaded triangle mesh; 6 Coons patch mesh; 7 Tensor-product patch mesh). (Not all types are currently supported) + * @param array $coords array of coordinates. + * @param array $stops array gradient color components: color = array of GRAY, RGB or CMYK color components; offset = (0 to 1) represents a location along the gradient vector; exponent = exponent of the exponential interpolation function (default = 1). + * @param array $background An array of colour components appropriate to the colour space, specifying a single background colour value. + * @param boolean $antialias A flag indicating whether to filter the shading function to prevent aliasing artifacts. + * @author Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function Gradient($type, $coords, $stops, $background=array(), $antialias=false) { + if (($this->pdfa_mode && $this->pdfa_version < 2) OR ($this->state != 2)) { + return; + } + $n = count($this->gradients) + 1; + $this->gradients[$n] = array(); + $this->gradients[$n]['type'] = $type; + $this->gradients[$n]['coords'] = $coords; + $this->gradients[$n]['antialias'] = $antialias; + $this->gradients[$n]['colors'] = array(); + $this->gradients[$n]['transparency'] = false; + // color space + $numcolspace = count($stops[0]['color']); + $bcolor = array_values($background); + switch($numcolspace) { + case 5: // SPOT + case 4: { // CMYK + $this->gradients[$n]['colspace'] = 'DeviceCMYK'; + if (!empty($background)) { + $this->gradients[$n]['background'] = sprintf('%F %F %F %F', $bcolor[0]/100, $bcolor[1]/100, $bcolor[2]/100, $bcolor[3]/100); + } + break; + } + case 3: { // RGB + $this->gradients[$n]['colspace'] = 'DeviceRGB'; + if (!empty($background)) { + $this->gradients[$n]['background'] = sprintf('%F %F %F', $bcolor[0]/255, $bcolor[1]/255, $bcolor[2]/255); + } + break; + } + case 1: { // GRAY SCALE + $this->gradients[$n]['colspace'] = 'DeviceGray'; + if (!empty($background)) { + $this->gradients[$n]['background'] = sprintf('%F', $bcolor[0]/255); + } + break; + } + } + $num_stops = count($stops); + $last_stop_id = $num_stops - 1; + foreach ($stops as $key => $stop) { + $this->gradients[$n]['colors'][$key] = array(); + // offset represents a location along the gradient vector + if (isset($stop['offset'])) { + $this->gradients[$n]['colors'][$key]['offset'] = $stop['offset']; + } else { + if ($key == 0) { + $this->gradients[$n]['colors'][$key]['offset'] = 0; + } elseif ($key == $last_stop_id) { + $this->gradients[$n]['colors'][$key]['offset'] = 1; + } else { + $offsetstep = (1 - $this->gradients[$n]['colors'][($key - 1)]['offset']) / ($num_stops - $key); + $this->gradients[$n]['colors'][$key]['offset'] = $this->gradients[$n]['colors'][($key - 1)]['offset'] + $offsetstep; + } + } + if (isset($stop['opacity'])) { + $this->gradients[$n]['colors'][$key]['opacity'] = $stop['opacity']; + if ((!($this->pdfa_mode && $this->pdfa_version < 2)) AND ($stop['opacity'] < 1)) { + $this->gradients[$n]['transparency'] = true; + } + } else { + $this->gradients[$n]['colors'][$key]['opacity'] = 1; + } + // exponent for the exponential interpolation function + if (isset($stop['exponent'])) { + $this->gradients[$n]['colors'][$key]['exponent'] = $stop['exponent']; + } else { + $this->gradients[$n]['colors'][$key]['exponent'] = 1; + } + // set colors + $color = array_values($stop['color']); + switch($numcolspace) { + case 5: // SPOT + case 4: { // CMYK + $this->gradients[$n]['colors'][$key]['color'] = sprintf('%F %F %F %F', $color[0]/100, $color[1]/100, $color[2]/100, $color[3]/100); + break; + } + case 3: { // RGB + $this->gradients[$n]['colors'][$key]['color'] = sprintf('%F %F %F', $color[0]/255, $color[1]/255, $color[2]/255); + break; + } + case 1: { // GRAY SCALE + $this->gradients[$n]['colors'][$key]['color'] = sprintf('%F', $color[0]/255); + break; + } + } + } + if ($this->gradients[$n]['transparency']) { + // paint luminosity gradient + $this->_out('/TGS'.$n.' gs'); + } + //paint the gradient + $this->_out('/Sh'.$n.' sh'); + //restore previous Graphic State + $this->_outRestoreGraphicsState(); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['gradients'][$n] = $this->gradients[$n]; + } + } + + /** + * Output gradient shaders. + * @author Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @protected + */ + function _putshaders() { + if ($this->pdfa_mode && $this->pdfa_version < 2) { + return; + } + $idt = count($this->gradients); //index for transparency gradients + foreach ($this->gradients as $id => $grad) { + if (($grad['type'] == 2) OR ($grad['type'] == 3)) { + $fc = $this->_newobj(); + $out = '<<'; + $out .= ' /FunctionType 3'; + $out .= ' /Domain [0 1]'; + $functions = ''; + $bounds = ''; + $encode = ''; + $i = 1; + $num_cols = count($grad['colors']); + $lastcols = $num_cols - 1; + for ($i = 1; $i < $num_cols; ++$i) { + $functions .= ($fc + $i).' 0 R '; + if ($i < $lastcols) { + $bounds .= sprintf('%F ', $grad['colors'][$i]['offset']); + } + $encode .= '0 1 '; + } + $out .= ' /Functions ['.trim($functions).']'; + $out .= ' /Bounds ['.trim($bounds).']'; + $out .= ' /Encode ['.trim($encode).']'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + for ($i = 1; $i < $num_cols; ++$i) { + $this->_newobj(); + $out = '<<'; + $out .= ' /FunctionType 2'; + $out .= ' /Domain [0 1]'; + $out .= ' /C0 ['.$grad['colors'][($i - 1)]['color'].']'; + $out .= ' /C1 ['.$grad['colors'][$i]['color'].']'; + $out .= ' /N '.$grad['colors'][$i]['exponent']; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + // set transparency functions + if ($grad['transparency']) { + $ft = $this->_newobj(); + $out = '<<'; + $out .= ' /FunctionType 3'; + $out .= ' /Domain [0 1]'; + $functions = ''; + $i = 1; + $num_cols = count($grad['colors']); + for ($i = 1; $i < $num_cols; ++$i) { + $functions .= ($ft + $i).' 0 R '; + } + $out .= ' /Functions ['.trim($functions).']'; + $out .= ' /Bounds ['.trim($bounds).']'; + $out .= ' /Encode ['.trim($encode).']'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + for ($i = 1; $i < $num_cols; ++$i) { + $this->_newobj(); + $out = '<<'; + $out .= ' /FunctionType 2'; + $out .= ' /Domain [0 1]'; + $out .= ' /C0 ['.$grad['colors'][($i - 1)]['opacity'].']'; + $out .= ' /C1 ['.$grad['colors'][$i]['opacity'].']'; + $out .= ' /N '.$grad['colors'][$i]['exponent']; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + } + } + } + // set shading object + $this->_newobj(); + $out = '<< /ShadingType '.$grad['type']; + if (isset($grad['colspace'])) { + $out .= ' /ColorSpace /'.$grad['colspace']; + } else { + $out .= ' /ColorSpace /DeviceRGB'; + } + if (isset($grad['background']) AND !empty($grad['background'])) { + $out .= ' /Background ['.$grad['background'].']'; + } + if (isset($grad['antialias']) AND ($grad['antialias'] === true)) { + $out .= ' /AntiAlias true'; + } + if ($grad['type'] == 2) { + $out .= ' '.sprintf('/Coords [%F %F %F %F]', $grad['coords'][0], $grad['coords'][1], $grad['coords'][2], $grad['coords'][3]); + $out .= ' /Domain [0 1]'; + $out .= ' /Function '.$fc.' 0 R'; + $out .= ' /Extend [true true]'; + $out .= ' >>'; + } elseif ($grad['type'] == 3) { + //x0, y0, r0, x1, y1, r1 + //at this this time radius of inner circle is 0 + $out .= ' '.sprintf('/Coords [%F %F 0 %F %F %F]', $grad['coords'][0], $grad['coords'][1], $grad['coords'][2], $grad['coords'][3], $grad['coords'][4]); + $out .= ' /Domain [0 1]'; + $out .= ' /Function '.$fc.' 0 R'; + $out .= ' /Extend [true true]'; + $out .= ' >>'; + } elseif ($grad['type'] == 6) { + $out .= ' /BitsPerCoordinate 16'; + $out .= ' /BitsPerComponent 8'; + $out .= ' /Decode[0 1 0 1 0 1 0 1 0 1]'; + $out .= ' /BitsPerFlag 8'; + $stream = $this->_getrawstream($grad['stream']); + $out .= ' /Length '.strlen($stream); + $out .= ' >>'; + $out .= ' stream'."\n".$stream."\n".'endstream'; + } + $out .= "\n".'endobj'; + $this->_out($out); + if ($grad['transparency']) { + $shading_transparency = preg_replace('/\/ColorSpace \/[^\s]+/si', '/ColorSpace /DeviceGray', $out); + $shading_transparency = preg_replace('/\/Function [0-9]+ /si', '/Function '.$ft.' ', $shading_transparency); + } + $this->gradients[$id]['id'] = $this->n; + // set pattern object + $this->_newobj(); + $out = '<< /Type /Pattern /PatternType 2'; + $out .= ' /Shading '.$this->gradients[$id]['id'].' 0 R'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + $this->gradients[$id]['pattern'] = $this->n; + // set shading and pattern for transparency mask + if ($grad['transparency']) { + // luminosity pattern + $idgs = $id + $idt; + $this->_newobj(); + $this->_out($shading_transparency); + $this->gradients[$idgs]['id'] = $this->n; + $this->_newobj(); + $out = '<< /Type /Pattern /PatternType 2'; + $out .= ' /Shading '.$this->gradients[$idgs]['id'].' 0 R'; + $out .= ' >>'; + $out .= "\n".'endobj'; + $this->_out($out); + $this->gradients[$idgs]['pattern'] = $this->n; + // luminosity XObject + $oid = $this->_newobj(); + $this->xobjects['LX'.$oid] = array('n' => $oid); + $filter = ''; + $stream = 'q /a0 gs /Pattern cs /p'.$idgs.' scn 0 0 '.$this->wPt.' '.$this->hPt.' re f Q'; + if ($this->compress) { + $filter = ' /Filter /FlateDecode'; + $stream = gzcompress($stream); + } + $stream = $this->_getrawstream($stream); + $out = '<< /Type /XObject /Subtype /Form /FormType 1'.$filter; + $out .= ' /Length '.strlen($stream); + $rect = sprintf('%F %F', $this->wPt, $this->hPt); + $out .= ' /BBox [0 0 '.$rect.']'; + $out .= ' /Group << /Type /Group /S /Transparency /CS /DeviceGray >>'; + $out .= ' /Resources <<'; + $out .= ' /ExtGState << /a0 << /ca 1 /CA 1 >> >>'; + $out .= ' /Pattern << /p'.$idgs.' '.$this->gradients[$idgs]['pattern'].' 0 R >>'; + $out .= ' >>'; + $out .= ' >> '; + $out .= ' stream'."\n".$stream."\n".'endstream'; + $out .= "\n".'endobj'; + $this->_out($out); + // SMask + $this->_newobj(); + $out = '<< /Type /Mask /S /Luminosity /G '.($this->n - 1).' 0 R >>'."\n".'endobj'; + $this->_out($out); + // ExtGState + $this->_newobj(); + $out = '<< /Type /ExtGState /SMask '.($this->n - 1).' 0 R /AIS false >>'."\n".'endobj'; + $this->_out($out); + $this->extgstates[] = array('n' => $this->n, 'name' => 'TGS'.$id); + } + } + } + + /** + * Draw the sector of a circle. + * It can be used for instance to render pie charts. + * @param float $xc abscissa of the center. + * @param float $yc ordinate of the center. + * @param float $r radius. + * @param float $a start angle (in degrees). + * @param float $b end angle (in degrees). + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param float $cw indicates whether to go clockwise (default: true). + * @param float $o origin of angles (0 for 3 o'clock, 90 for noon, 180 for 9 o'clock, 270 for 6 o'clock). Default: 90. + * @author Maxime Delorme, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function PieSector($xc, $yc, $r, $a, $b, $style='FD', $cw=true, $o=90) { + $this->PieSectorXY($xc, $yc, $r, $r, $a, $b, $style, $cw, $o); + } + + /** + * Draw the sector of an ellipse. + * It can be used for instance to render pie charts. + * @param float $xc abscissa of the center. + * @param float $yc ordinate of the center. + * @param float $rx the x-axis radius. + * @param float $ry the y-axis radius. + * @param float $a start angle (in degrees). + * @param float $b end angle (in degrees). + * @param string $style Style of rendering. See the getPathPaintOperator() function for more information. + * @param float $cw indicates whether to go clockwise. + * @param float $o origin of angles (0 for 3 o'clock, 90 for noon, 180 for 9 o'clock, 270 for 6 o'clock). + * @param integer $nc Number of curves used to draw a 90 degrees portion of arc. + * @author Maxime Delorme, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function PieSectorXY($xc, $yc, $rx, $ry, $a, $b, $style='FD', $cw=false, $o=0, $nc=2) { + if ($this->state != 2) { + return; + } + if ($this->rtl) { + $xc = ($this->w - $xc); + } + $op = TCPDF_STATIC::getPathPaintOperator($style); + if ($op == 'f') { + $line_style = array(); + } + if ($cw) { + $d = $b; + $b = (360 - $a + $o); + $a = (360 - $d + $o); + } else { + $b += $o; + $a += $o; + } + $this->_outellipticalarc($xc, $yc, $rx, $ry, 0, $a, $b, true, $nc); + $this->_out($op); + } + + /** + * Embed vector-based Adobe Illustrator (AI) or AI-compatible EPS files. + * NOTE: EPS is not yet fully implemented, use the setRasterizeVectorImages() method to enable/disable rasterization of vector images using ImageMagick library. + * Only vector drawing is supported, not text or bitmap. + * Although the script was successfully tested with various AI format versions, best results are probably achieved with files that were exported in the AI3 format (tested with Illustrator CS2, Freehand MX and Photoshop CS2). + * @param string $file Name of the file containing the image or a '@' character followed by the EPS/AI data string. + * @param float|null $x Abscissa of the upper-left corner. + * @param float|null $y Ordinate of the upper-left corner. + * @param float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param mixed $link URL or identifier returned by AddLink(). + * @param boolean $useBoundingBox specifies whether to position the bounding box (true) or the complete canvas (false) at location (x,y). Default value is true. + * @param string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:
      • T: top-right for LTR or top-left for RTL
      • M: middle-right for LTR or middle-left for RTL
      • B: bottom-right for LTR or bottom-left for RTL
      • N: next line
      + * @param string $palign Allows to center or align the image on the current line. Possible values are:
      • L : left align
      • C : center
      • R : right align
      • '' : empty string : left for LTR or right for RTL
      + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
      • 0: no border (default)
      • 1: frame
      or a string containing some or all of the following characters (in any order):
      • L: left
      • T: top
      • R: right
      • B: bottom
      or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param boolean $fitonpage if true the image is resized to not exceed page dimensions. + * @param boolean $fixoutvals if true remove values outside the bounding box. + * @author Valentin Schmidt, Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function ImageEps($file, $x=null, $y=null, $w=0, $h=0, $link='', $useBoundingBox=true, $align='', $palign='', $border=0, $fitonpage=false, $fixoutvals=false) { + if ($this->state != 2) { + return; + } + if ($this->rasterize_vector_images AND ($w > 0) AND ($h > 0)) { + // convert EPS to raster image using GD or ImageMagick libraries + return $this->Image($file, $x, $y, $w, $h, 'EPS', $link, $align, true, 300, $palign, false, false, $border, false, false, $fitonpage); + } + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + $k = $this->k; + if ($file[0] === '@') { // image from string + $data = substr($file, 1); + } else { // EPS/AI file + $data = $this->getCachedFileContents($file); + } + if ($data === FALSE) { + $this->Error('EPS file not found: '.$file); + } + $regs = array(); + // EPS/AI compatibility check (only checks files created by Adobe Illustrator!) + preg_match("/%%Creator:([^\r\n]+)/", $data, $regs); # find Creator + if (count($regs) > 1) { + $version_str = trim($regs[1]); # e.g. "Adobe Illustrator(R) 8.0" + if (strpos($version_str, 'Adobe Illustrator') !== false) { + $versexp = explode(' ', $version_str); + $version = (float)array_pop($versexp); + if ($version >= 9) { + $this->Error('This version of Adobe Illustrator file is not supported: '.$file); + } + } + } + // strip binary bytes in front of PS-header + $start = strpos($data, '%!PS-Adobe'); + if ($start > 0) { + $data = substr($data, $start); + } + // find BoundingBox params + preg_match("/%%BoundingBox:([^\r\n]+)/", $data, $regs); + if (count($regs) > 1) { + list($x1, $y1, $x2, $y2) = explode(' ', trim($regs[1])); + } else { + $this->Error('No BoundingBox found in EPS/AI file: '.$file); + } + $start = strpos($data, '%%EndSetup'); + if ($start === false) { + $start = strpos($data, '%%EndProlog'); + } + if ($start === false) { + $start = strpos($data, '%%BoundingBox'); + } + $data = substr($data, $start); + $end = strpos($data, '%%PageTrailer'); + if ($end===false) { + $end = strpos($data, 'showpage'); + } + if ($end) { + $data = substr($data, 0, $end); + } + // calculate image width and height on document + if (($w <= 0) AND ($h <= 0)) { + $w = ($x2 - $x1) / $k; + $h = ($y2 - $y1) / $k; + } elseif ($w <= 0) { + $w = ($x2-$x1) / $k * ($h / (($y2 - $y1) / $k)); + } elseif ($h <= 0) { + $h = ($y2 - $y1) / $k * ($w / (($x2 - $x1) / $k)); + } + // fit the image on available space + list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, $fitonpage); + if ($this->rasterize_vector_images) { + // convert EPS to raster image using GD or ImageMagick libraries + return $this->Image($file, $x, $y, $w, $h, 'EPS', $link, $align, true, 300, $palign, false, false, $border, false, false, $fitonpage); + } + // set scaling factors + $scale_x = $w / (($x2 - $x1) / $k); + $scale_y = $h / (($y2 - $y1) / $k); + // set alignment + $this->img_rb_y = $y + $h; + // set alignment + if ($this->rtl) { + if ($palign == 'L') { + $ximg = $this->lMargin; + } elseif ($palign == 'C') { + $ximg = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $ximg = $this->w - $this->rMargin - $w; + } else { + $ximg = $x - $w; + } + $this->img_rb_x = $ximg; + } else { + if ($palign == 'L') { + $ximg = $this->lMargin; + } elseif ($palign == 'C') { + $ximg = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $ximg = $this->w - $this->rMargin - $w; + } else { + $ximg = $x; + } + $this->img_rb_x = $ximg + $w; + } + if ($useBoundingBox) { + $dx = $ximg * $k - $x1; + $dy = $y * $k - $y1; + } else { + $dx = $ximg * $k; + $dy = $y * $k; + } + // save the current graphic state + $this->_out('q'.$this->epsmarker); + // translate + $this->_out(sprintf('%F %F %F %F %F %F cm', 1, 0, 0, 1, $dx, $dy + ($this->hPt - (2 * $y * $k) - ($y2 - $y1)))); + // scale + $this->_out(sprintf('%F %F %F %F %F %F cm', $scale_x, 0, 0, $scale_y, $x1 * (1 - $scale_x), $y2 * (1 - $scale_y))); + // handle pc/unix/mac line endings + $lines = preg_split('/[\r\n]+/si', $data, -1, PREG_SPLIT_NO_EMPTY); + $u=0; + $cnt = count($lines); + for ($i=0; $i < $cnt; ++$i) { + $line = $lines[$i]; + if (($line == '') OR ($line[0] == '%')) { + continue; + } + $len = strlen($line); + // check for spot color names + $color_name = ''; + if (strcasecmp('x', substr(trim($line), -1)) == 0) { + if (preg_match('/\([^\)]*\)/', $line, $matches) > 0) { + // extract spot color name + $color_name = $matches[0]; + // remove color name from string + $line = str_replace(' '.$color_name, '', $line); + // remove pharentesis from color name + $color_name = substr($color_name, 1, -1); + } + } + $chunks = explode(' ', $line); + $cmd = trim(array_pop($chunks)); + // RGB + if (($cmd == 'Xa') OR ($cmd == 'XA')) { + $b = array_pop($chunks); + $g = array_pop($chunks); + $r = array_pop($chunks); + $this->_out(''.$r.' '.$g.' '.$b.' '.($cmd=='Xa'?'rg':'RG')); //substr($line, 0, -2).'rg' -> in EPS (AI8): c m y k r g b rg! + continue; + } + $skip = false; + if ($fixoutvals) { + // check for values outside the bounding box + switch ($cmd) { + case 'm': + case 'l': + case 'L': { + // skip values outside bounding box + foreach ($chunks as $key => $val) { + if ((($key % 2) == 0) AND (($val < $x1) OR ($val > $x2))) { + $skip = true; + } elseif ((($key % 2) != 0) AND (($val < $y1) OR ($val > $y2))) { + $skip = true; + } + } + } + } + } + switch ($cmd) { + case 'm': + case 'l': + case 'v': + case 'y': + case 'c': + case 'k': + case 'K': + case 'g': + case 'G': + case 's': + case 'S': + case 'J': + case 'j': + case 'w': + case 'M': + case 'd': + case 'n': { + if ($skip) { + break; + } + $this->_out($line); + break; + } + case 'x': {// custom fill color + if (empty($color_name)) { + // CMYK color + list($col_c, $col_m, $col_y, $col_k) = $chunks; + $this->_out(''.$col_c.' '.$col_m.' '.$col_y.' '.$col_k.' k'); + } else { + // Spot Color (CMYK + tint) + list($col_c, $col_m, $col_y, $col_k, $col_t) = $chunks; + $this->AddSpotColor($color_name, ($col_c * 100), ($col_m * 100), ($col_y * 100), ($col_k * 100)); + $color_cmd = sprintf('/CS%d cs %F scn', $this->spot_colors[$color_name]['i'], (1 - $col_t)); + $this->_out($color_cmd); + } + break; + } + case 'X': { // custom stroke color + if (empty($color_name)) { + // CMYK color + list($col_c, $col_m, $col_y, $col_k) = $chunks; + $this->_out(''.$col_c.' '.$col_m.' '.$col_y.' '.$col_k.' K'); + } else { + // Spot Color (CMYK + tint) + list($col_c, $col_m, $col_y, $col_k, $col_t) = $chunks; + $this->AddSpotColor($color_name, ($col_c * 100), ($col_m * 100), ($col_y * 100), ($col_k * 100)); + $color_cmd = sprintf('/CS%d CS %F SCN', $this->spot_colors[$color_name]['i'], (1 - $col_t)); + $this->_out($color_cmd); + } + break; + } + case 'Y': + case 'N': + case 'V': + case 'L': + case 'C': { + if ($skip) { + break; + } + $line[($len - 1)] = strtolower($cmd); + $this->_out($line); + break; + } + case 'b': + case 'B': { + $this->_out($cmd . '*'); + break; + } + case 'f': + case 'F': { + if ($u > 0) { + $isU = false; + $max = min(($i + 5), $cnt); + for ($j = ($i + 1); $j < $max; ++$j) { + $isU = ($isU OR (($lines[$j] == 'U') OR ($lines[$j] == '*U'))); + } + if ($isU) { + $this->_out('f*'); + } + } else { + $this->_out('f*'); + } + break; + } + case '*u': { + ++$u; + break; + } + case '*U': { + --$u; + break; + } + } + } + // restore previous graphic state + $this->_out($this->epsmarker.'Q'); + if (!empty($border)) { + $bx = $this->x; + $by = $this->y; + $this->x = $ximg; + if ($this->rtl) { + $this->x += $w; + } + $this->y = $y; + $this->Cell($w, $h, '', $border, 0, '', 0, '', 0, true); + $this->x = $bx; + $this->y = $by; + } + if ($link) { + $this->Link($ximg, $y, $w, $h, $link, 0); + } + // set pointer to align the next text/objects + switch($align) { + case 'T':{ + $this->y = $y; + $this->x = $this->img_rb_x; + break; + } + case 'M':{ + $this->y = $y + round($h/2); + $this->x = $this->img_rb_x; + break; + } + case 'B':{ + $this->y = $this->img_rb_y; + $this->x = $this->img_rb_x; + break; + } + case 'N':{ + $this->setY($this->img_rb_y); + break; + } + default:{ + break; + } + } + $this->endlinex = $this->img_rb_x; + } + + /** + * Set document barcode. + * @param string $bc barcode + * @public + */ + public function setBarcode($bc='') { + $this->barcode = $bc; + } + + /** + * Get current barcode. + * @return string + * @public + * @since 4.0.012 (2008-07-24) + */ + public function getBarcode() { + return $this->barcode; + } + + /** + * Print a Linear Barcode. + * @param string $code code to print + * @param string $type type of barcode (see tcpdf_barcodes_1d.php for supported formats). + * @param float|null $x x position in user units (null = current x position) + * @param float|null $y y position in user units (null = current y position) + * @param float|null $w width in user units (null = remaining page width) + * @param float|null $h height in user units (null = remaining page height) + * @param float|null $xres width of the smallest bar in user units (null = default value = 0.4mm) + * @param array $style array of options:
        + *
      • boolean $style['border'] if true prints a border
      • + *
      • int $style['padding'] padding to leave around the barcode in user units (set to 'auto' for automatic padding)
      • + *
      • int $style['hpadding'] horizontal padding in user units (set to 'auto' for automatic padding)
      • + *
      • int $style['vpadding'] vertical padding in user units (set to 'auto' for automatic padding)
      • + *
      • array $style['fgcolor'] color array for bars and text
      • + *
      • mixed $style['bgcolor'] color array for background (set to false for transparent)
      • + *
      • boolean $style['text'] if true prints text below the barcode
      • + *
      • string $style['label'] override default label
      • + *
      • string $style['font'] font name for text
      • int $style['fontsize'] font size for text
      • + *
      • int $style['stretchtext']: 0 = disabled; 1 = horizontal scaling only if necessary; 2 = forced horizontal scaling; 3 = character spacing only if necessary; 4 = forced character spacing.
      • + *
      • string $style['position'] horizontal position of the containing barcode cell on the page: L = left margin; C = center; R = right margin.
      • + *
      • string $style['align'] horizontal position of the barcode on the containing rectangle: L = left; C = center; R = right.
      • + *
      • string $style['stretch'] if true stretch the barcode to best fit the available width, otherwise uses $xres resolution for a single bar.
      • + *
      • string $style['fitwidth'] if true reduce the width to fit the barcode width + padding. When this option is enabled the 'stretch' option is automatically disabled.
      • + *
      • string $style['cellfitalign'] this option works only when 'fitwidth' is true and 'position' is unset or empty. Set the horizontal position of the containing barcode cell inside the specified rectangle: L = left; C = center; R = right.
      + * @param string $align Indicates the alignment of the pointer next to barcode insertion relative to barcode height. The value can be:
      • T: top-right for LTR or top-left for RTL
      • M: middle-right for LTR or middle-left for RTL
      • B: bottom-right for LTR or bottom-left for RTL
      • N: next line
      + * @author Nicola Asuni + * @since 3.1.000 (2008-06-09) + * @public + */ + public function write1DBarcode($code, $type, $x=null, $y=null, $w=null, $h=null, $xres=null, $style=array(), $align='') { + if (TCPDF_STATIC::empty_string(trim($code))) { + return; + } + require_once(dirname(__FILE__).'/tcpdf_barcodes_1d.php'); + // save current graphic settings + $gvars = $this->getGraphicVars(); + // create new barcode object + $barcodeobj = new TCPDFBarcode($code, $type); + $arrcode = $barcodeobj->getBarcodeArray(); + if (empty($arrcode) OR ($arrcode['maxw'] <= 0)) { + $this->Error('Error in 1D barcode string'); + } + if ($arrcode['maxh'] <= 0) { + $arrcode['maxh'] = 1; + } + // set default values + if (!isset($style['position'])) { + $style['position'] = ''; + } elseif ($style['position'] == 'S') { + // keep this for backward compatibility + $style['position'] = ''; + $style['stretch'] = true; + } + if (!isset($style['fitwidth'])) { + if (!isset($style['stretch'])) { + $style['fitwidth'] = true; + } else { + $style['fitwidth'] = false; + } + } + if ($style['fitwidth']) { + // disable stretch + $style['stretch'] = false; + } + if (!isset($style['stretch'])) { + if (($w === '') OR ($w <= 0)) { + $style['stretch'] = false; + } else { + $style['stretch'] = true; + } + } + if (!isset($style['fgcolor'])) { + $style['fgcolor'] = array(0,0,0); // default black + } + if (!isset($style['bgcolor'])) { + $style['bgcolor'] = false; // default transparent + } + if (!isset($style['border'])) { + $style['border'] = false; + } + $fontsize = 0; + if (!isset($style['text'])) { + $style['text'] = false; + } + if ($style['text'] AND isset($style['font'])) { + if (isset($style['fontsize'])) { + $fontsize = $style['fontsize']; + } + $this->setFont($style['font'], '', $fontsize); + } + if (!isset($style['stretchtext'])) { + $style['stretchtext'] = 4; + } + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + if (TCPDF_STATIC::empty_string($w) OR ($w <= 0)) { + if ($this->rtl) { + $w = $x - $this->lMargin; + } else { + $w = $this->w - $this->rMargin - $x; + } + } + // padding + if (!isset($style['padding'])) { + $padding = 0; + } elseif ($style['padding'] === 'auto') { + $padding = 10 * ($w / ($arrcode['maxw'] + 20)); + } else { + $padding = floatval($style['padding']); + } + // horizontal padding + if (!isset($style['hpadding'])) { + $hpadding = $padding; + } elseif ($style['hpadding'] === 'auto') { + $hpadding = 10 * ($w / ($arrcode['maxw'] + 20)); + } else { + $hpadding = floatval($style['hpadding']); + } + // vertical padding + if (!isset($style['vpadding'])) { + $vpadding = $padding; + } elseif ($style['vpadding'] === 'auto') { + $vpadding = ($hpadding / 2); + } else { + $vpadding = floatval($style['vpadding']); + } + // calculate xres (single bar width) + $max_xres = ($w - (2 * $hpadding)) / $arrcode['maxw']; + if ($style['stretch']) { + $xres = $max_xres; + } else { + if (TCPDF_STATIC::empty_string($xres)) { + $xres = (0.141 * $this->k); // default bar width = 0.4 mm + } + if ($xres > $max_xres) { + // correct xres to fit on $w + $xres = $max_xres; + } + if ((isset($style['padding']) AND ($style['padding'] === 'auto')) + OR (isset($style['hpadding']) AND ($style['hpadding'] === 'auto'))) { + $hpadding = 10 * $xres; + if (isset($style['vpadding']) AND ($style['vpadding'] === 'auto')) { + $vpadding = ($hpadding / 2); + } + } + } + if ($style['fitwidth']) { + $wold = $w; + $w = (($arrcode['maxw'] * $xres) + (2 * $hpadding)); + if (isset($style['cellfitalign'])) { + switch ($style['cellfitalign']) { + case 'L': { + if ($this->rtl) { + $x -= ($wold - $w); + } + break; + } + case 'R': { + if (!$this->rtl) { + $x += ($wold - $w); + } + break; + } + case 'C': { + if ($this->rtl) { + $x -= (($wold - $w) / 2); + } else { + $x += (($wold - $w) / 2); + } + break; + } + default : { + break; + } + } + } + } + $text_height = $this->getCellHeight($fontsize / $this->k); + // height + if (TCPDF_STATIC::empty_string($h) OR ($h <= 0)) { + // set default height + $h = (($arrcode['maxw'] * $xres) / 3) + (2 * $vpadding) + $text_height; + } + $barh = $h - $text_height - (2 * $vpadding); + if ($barh <=0) { + // try to reduce font or padding to fit barcode on available height + if ($text_height > $h) { + $fontsize = (($h * $this->k) / (4 * $this->cell_height_ratio)); + $text_height = $this->getCellHeight($fontsize / $this->k); + $this->setFont($style['font'], '', $fontsize); + } + if ($vpadding > 0) { + $vpadding = (($h - $text_height) / 4); + } + $barh = $h - $text_height - (2 * $vpadding); + } + // fit the barcode on available space + list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, false); + // set alignment + $this->img_rb_y = $y + $h; + // set alignment + if ($this->rtl) { + if ($style['position'] == 'L') { + $xpos = $this->lMargin; + } elseif ($style['position'] == 'C') { + $xpos = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($style['position'] == 'R') { + $xpos = $this->w - $this->rMargin - $w; + } else { + $xpos = $x - $w; + } + $this->img_rb_x = $xpos; + } else { + if ($style['position'] == 'L') { + $xpos = $this->lMargin; + } elseif ($style['position'] == 'C') { + $xpos = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($style['position'] == 'R') { + $xpos = $this->w - $this->rMargin - $w; + } else { + $xpos = $x; + } + $this->img_rb_x = $xpos + $w; + } + $xpos_rect = $xpos; + if (!isset($style['align'])) { + $style['align'] = 'C'; + } + switch ($style['align']) { + case 'L': { + $xpos = $xpos_rect + $hpadding; + break; + } + case 'R': { + $xpos = $xpos_rect + ($w - ($arrcode['maxw'] * $xres)) - $hpadding; + break; + } + case 'C': + default : { + $xpos = $xpos_rect + (($w - ($arrcode['maxw'] * $xres)) / 2); + break; + } + } + $xpos_text = $xpos; + // barcode is always printed in LTR direction + $tempRTL = $this->rtl; + $this->rtl = false; + // print background color + if ($style['bgcolor']) { + $this->Rect($xpos_rect, $y, $w, $h, $style['border'] ? 'DF' : 'F', '', $style['bgcolor']); + } elseif ($style['border']) { + $this->Rect($xpos_rect, $y, $w, $h, 'D'); + } + // set foreground color + $this->setDrawColorArray($style['fgcolor']); + $this->setTextColorArray($style['fgcolor']); + // print bars + foreach ($arrcode['bcode'] as $k => $v) { + $bw = ($v['w'] * $xres); + if ($v['t']) { + // draw a vertical bar + $ypos = $y + $vpadding + ($v['p'] * $barh / $arrcode['maxh']); + $this->Rect($xpos, $ypos, $bw, ($v['h'] * $barh / $arrcode['maxh']), 'F', array(), $style['fgcolor']); + } + $xpos += $bw; + } + // print text + if ($style['text']) { + if (isset($style['label']) AND !TCPDF_STATIC::empty_string($style['label'])) { + $label = $style['label']; + } else { + $label = $code; + } + $txtwidth = ($arrcode['maxw'] * $xres); + if ($this->GetStringWidth($label) > $txtwidth) { + $style['stretchtext'] = 2; + } + // print text + $this->x = $xpos_text; + $this->y = $y + $vpadding + $barh; + $cellpadding = $this->cell_padding; + $this->setCellPadding(0); + $this->Cell($txtwidth, 0, $label, 0, 0, 'C', false, '', $style['stretchtext'], false, 'T', 'T'); + $this->cell_padding = $cellpadding; + } + // restore original direction + $this->rtl = $tempRTL; + // restore previous settings + $this->setGraphicVars($gvars); + // set pointer to align the next text/objects + switch($align) { + case 'T':{ + $this->y = $y; + $this->x = $this->img_rb_x; + break; + } + case 'M':{ + $this->y = $y + round($h / 2); + $this->x = $this->img_rb_x; + break; + } + case 'B':{ + $this->y = $this->img_rb_y; + $this->x = $this->img_rb_x; + break; + } + case 'N':{ + $this->setY($this->img_rb_y); + break; + } + default:{ + break; + } + } + $this->endlinex = $this->img_rb_x; + } + + /** + * Print 2D Barcode. + * @param string $code code to print + * @param string $type type of barcode (see tcpdf_barcodes_2d.php for supported formats). + * @param float|null $x x position in user units + * @param float|null $y y position in user units + * @param float|null $w width in user units + * @param float|null $h height in user units + * @param array $style array of options:
        + *
      • boolean $style['border'] if true prints a border around the barcode
      • + *
      • int $style['padding'] padding to leave around the barcode in barcode units (set to 'auto' for automatic padding)
      • + *
      • int $style['hpadding'] horizontal padding in barcode units (set to 'auto' for automatic padding)
      • + *
      • int $style['vpadding'] vertical padding in barcode units (set to 'auto' for automatic padding)
      • + *
      • int $style['module_width'] width of a single module in points
      • + *
      • int $style['module_height'] height of a single module in points
      • + *
      • array $style['fgcolor'] color array for bars and text
      • + *
      • mixed $style['bgcolor'] color array for background or false for transparent
      • + *
      • string $style['position'] barcode position on the page: L = left margin; C = center; R = right margin; S = stretch
      • + * @param string $align Indicates the alignment of the pointer next to barcode insertion relative to barcode height. The value can be:
        • T: top-right for LTR or top-left for RTL
        • M: middle-right for LTR or middle-left for RTL
        • B: bottom-right for LTR or bottom-left for RTL
        • N: next line
        + * @param boolean $distort if true distort the barcode to fit width and height, otherwise preserve aspect ratio + * @author Nicola Asuni + * @since 4.5.037 (2009-04-07) + * @public + */ + public function write2DBarcode($code, $type, $x=null, $y=null, $w=null, $h=null, $style=array(), $align='', $distort=false) { + if (TCPDF_STATIC::empty_string(trim($code))) { + return; + } + require_once(dirname(__FILE__).'/tcpdf_barcodes_2d.php'); + // save current graphic settings + $gvars = $this->getGraphicVars(); + // create new barcode object + $barcodeobj = new TCPDF2DBarcode($code, $type); + $arrcode = $barcodeobj->getBarcodeArray(); + if (empty($arrcode) OR !isset($arrcode['num_rows']) OR ($arrcode['num_rows'] == 0) OR !isset($arrcode['num_cols']) OR ($arrcode['num_cols'] == 0)) { + $this->Error('Error in 2D barcode string'); + } + // set default values + if (!isset($style['position'])) { + $style['position'] = ''; + } + if (!isset($style['fgcolor'])) { + $style['fgcolor'] = array(0,0,0); // default black + } + if (!isset($style['bgcolor'])) { + $style['bgcolor'] = false; // default transparent + } + if (!isset($style['border'])) { + $style['border'] = false; + } + // padding + if (!isset($style['padding'])) { + $style['padding'] = 0; + } elseif ($style['padding'] === 'auto') { + $style['padding'] = 4; + } + if (!isset($style['hpadding'])) { + $style['hpadding'] = $style['padding']; + } elseif ($style['hpadding'] === 'auto') { + $style['hpadding'] = 4; + } + if (!isset($style['vpadding'])) { + $style['vpadding'] = $style['padding']; + } elseif ($style['vpadding'] === 'auto') { + $style['vpadding'] = 4; + } + $hpad = (2 * $style['hpadding']); + $vpad = (2 * $style['vpadding']); + // cell (module) dimension + if (!isset($style['module_width'])) { + $style['module_width'] = 1; // width of a single module in points + } + if (!isset($style['module_height'])) { + $style['module_height'] = 1; // height of a single module in points + } + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + // number of barcode columns and rows + $rows = $arrcode['num_rows']; + $cols = $arrcode['num_cols']; + if (($rows <= 0) || ($cols <= 0)){ + $this->Error('Error in 2D barcode string'); + } + // module width and height + $mw = $style['module_width']; + $mh = $style['module_height']; + if (($mw <= 0) OR ($mh <= 0)) { + $this->Error('Error in 2D barcode string'); + } + // get max dimensions + if ($this->rtl) { + $maxw = $x - $this->lMargin; + } else { + $maxw = $this->w - $this->rMargin - $x; + } + $maxh = ($this->h - $this->tMargin - $this->bMargin); + $ratioHW = ((($rows * $mh) + $hpad) / (($cols * $mw) + $vpad)); + $ratioWH = ((($cols * $mw) + $vpad) / (($rows * $mh) + $hpad)); + if (!$distort) { + if (($maxw * $ratioHW) > $maxh) { + $maxw = $maxh * $ratioWH; + } + if (($maxh * $ratioWH) > $maxw) { + $maxh = $maxw * $ratioHW; + } + } + // set maximum dimensions + if ($w > $maxw) { + $w = $maxw; + } + if ($h > $maxh) { + $h = $maxh; + } + // set dimensions + if ((TCPDF_STATIC::empty_string($w) OR ($w <= 0)) AND (TCPDF_STATIC::empty_string($h) OR ($h <= 0))) { + $w = ($cols + $hpad) * ($mw / $this->k); + $h = ($rows + $vpad) * ($mh / $this->k); + } elseif (($w === '') OR ($w <= 0)) { + $w = $h * $ratioWH; + } elseif (($h === '') OR ($h <= 0)) { + $h = $w * $ratioHW; + } + // barcode size (excluding padding) + $bw = ($w * $cols) / ($cols + $hpad); + $bh = ($h * $rows) / ($rows + $vpad); + // dimension of single barcode cell unit + $cw = $bw / $cols; + $ch = $bh / $rows; + if (!$distort) { + if (($cw / $ch) > ($mw / $mh)) { + // correct horizontal distortion + $cw = $ch * $mw / $mh; + $bw = $cw * $cols; + $style['hpadding'] = ($w - $bw) / (2 * $cw); + } else { + // correct vertical distortion + $ch = $cw * $mh / $mw; + $bh = $ch * $rows; + $style['vpadding'] = ($h - $bh) / (2 * $ch); + } + } + // fit the barcode on available space + list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, false); + // set alignment + $this->img_rb_y = $y + $h; + // set alignment + if ($this->rtl) { + if ($style['position'] == 'L') { + $xpos = $this->lMargin; + } elseif ($style['position'] == 'C') { + $xpos = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($style['position'] == 'R') { + $xpos = $this->w - $this->rMargin - $w; + } else { + $xpos = $x - $w; + } + $this->img_rb_x = $xpos; + } else { + if ($style['position'] == 'L') { + $xpos = $this->lMargin; + } elseif ($style['position'] == 'C') { + $xpos = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($style['position'] == 'R') { + $xpos = $this->w - $this->rMargin - $w; + } else { + $xpos = $x; + } + $this->img_rb_x = $xpos + $w; + } + $xstart = $xpos + ($style['hpadding'] * $cw); + $ystart = $y + ($style['vpadding'] * $ch); + // barcode is always printed in LTR direction + $tempRTL = $this->rtl; + $this->rtl = false; + // print background color + if ($style['bgcolor']) { + $this->Rect($xpos, $y, $w, $h, $style['border'] ? 'DF' : 'F', '', $style['bgcolor']); + } elseif ($style['border']) { + $this->Rect($xpos, $y, $w, $h, 'D'); + } + // set foreground color + $this->setDrawColorArray($style['fgcolor']); + // print barcode cells + // for each row + for ($r = 0; $r < $rows; ++$r) { + $xr = $xstart; + // for each column + for ($c = 0; $c < $cols; ++$c) { + if ($arrcode['bcode'][$r][$c] == 1) { + // draw a single barcode cell + $this->Rect($xr, $ystart, $cw, $ch, 'F', array(), $style['fgcolor']); + } + $xr += $cw; + } + $ystart += $ch; + } + // restore original direction + $this->rtl = $tempRTL; + // restore previous settings + $this->setGraphicVars($gvars); + // set pointer to align the next text/objects + switch($align) { + case 'T':{ + $this->y = $y; + $this->x = $this->img_rb_x; + break; + } + case 'M':{ + $this->y = $y + round($h/2); + $this->x = $this->img_rb_x; + break; + } + case 'B':{ + $this->y = $this->img_rb_y; + $this->x = $this->img_rb_x; + break; + } + case 'N':{ + $this->setY($this->img_rb_y); + break; + } + default:{ + break; + } + } + $this->endlinex = $this->img_rb_x; + } + + /** + * Returns an array containing current margins: + *
          +
        • $ret['left'] = left margin
        • +
        • $ret['right'] = right margin
        • +
        • $ret['top'] = top margin
        • +
        • $ret['bottom'] = bottom margin
        • +
        • $ret['header'] = header margin
        • +
        • $ret['footer'] = footer margin
        • +
        • $ret['cell'] = cell padding array
        • +
        • $ret['padding_left'] = cell left padding
        • +
        • $ret['padding_top'] = cell top padding
        • +
        • $ret['padding_right'] = cell right padding
        • +
        • $ret['padding_bottom'] = cell bottom padding
        • + *
        + * @return array containing all margins measures + * @public + * @since 3.2.000 (2008-06-23) + */ + public function getMargins() { + $ret = array( + 'left' => $this->lMargin, + 'right' => $this->rMargin, + 'top' => $this->tMargin, + 'bottom' => $this->bMargin, + 'header' => $this->header_margin, + 'footer' => $this->footer_margin, + 'cell' => $this->cell_padding, + 'padding_left' => $this->cell_padding['L'], + 'padding_top' => $this->cell_padding['T'], + 'padding_right' => $this->cell_padding['R'], + 'padding_bottom' => $this->cell_padding['B'] + ); + return $ret; + } + + /** + * Returns an array containing original margins: + *
          +
        • $ret['left'] = left margin
        • +
        • $ret['right'] = right margin
        • + *
        + * @return array containing all margins measures + * @public + * @since 4.0.012 (2008-07-24) + */ + public function getOriginalMargins() { + $ret = array( + 'left' => $this->original_lMargin, + 'right' => $this->original_rMargin + ); + return $ret; + } + + /** + * Returns the current font size. + * @return float current font size + * @public + * @since 3.2.000 (2008-06-23) + */ + public function getFontSize() { + return $this->FontSize; + } + + /** + * Returns the current font size in points unit. + * @return int current font size in points unit + * @public + * @since 3.2.000 (2008-06-23) + */ + public function getFontSizePt() { + return $this->FontSizePt; + } + + /** + * Returns the current font family name. + * @return string current font family name + * @public + * @since 4.3.008 (2008-12-05) + */ + public function getFontFamily() { + return $this->FontFamily; + } + + /** + * Returns the current font style. + * @return string current font style + * @public + * @since 4.3.008 (2008-12-05) + */ + public function getFontStyle() { + return $this->FontStyle; + } + + /** + * Cleanup HTML code (requires HTML Tidy library). + * @param string $html htmlcode to fix + * @param string $default_css CSS commands to add + * @param array|null $tagvs parameters for setHtmlVSpace method + * @param array|null $tidy_options options for tidy_parse_string function + * @return string XHTML code cleaned up + * @author Nicola Asuni + * @public + * @since 5.9.017 (2010-11-16) + * @see setHtmlVSpace() + */ + public function fixHTMLCode($html, $default_css='', $tagvs=null, $tidy_options=null) { + return TCPDF_STATIC::fixHTMLCode($html, $default_css, $tagvs, $tidy_options, $this->tagvspaces); + } + + /** + * Returns the border width from CSS property + * @param string $width border width + * @return int with in user units + * @protected + * @since 5.7.000 (2010-08-02) + */ + protected function getCSSBorderWidth($width) { + if ($width == 'thin') { + $width = (2 / $this->k); + } elseif ($width == 'medium') { + $width = (4 / $this->k); + } elseif ($width == 'thick') { + $width = (6 / $this->k); + } else { + $width = $this->getHTMLUnitToUnits($width, 1, 'px', false); + } + return $width; + } + + /** + * Returns the border dash style from CSS property + * @param string $style border style to convert + * @return int sash style (return -1 in case of none or hidden border) + * @protected + * @since 5.7.000 (2010-08-02) + */ + protected function getCSSBorderDashStyle($style) { + switch (strtolower($style)) { + case 'none': + case 'hidden': { + $dash = -1; + break; + } + case 'dotted': { + $dash = 1; + break; + } + case 'dashed': { + $dash = 3; + break; + } + case 'double': + case 'groove': + case 'ridge': + case 'inset': + case 'outset': + case 'solid': + default: { + $dash = 0; + break; + } + } + return $dash; + } + + /** + * Returns the border style array from CSS border properties + * @param string $cssborder border properties + * @return array containing border properties + * @protected + * @since 5.7.000 (2010-08-02) + */ + protected function getCSSBorderStyle($cssborder) { + $bprop = preg_split('/[\s]+/', trim($cssborder)); + $count = count($bprop); + if ($count > 0 && $bprop[$count - 1] === '!important') { + unset($bprop[$count - 1]); + --$count; + } + + $border = array(); // value to be returned + switch ($count) { + case 2: { + $width = 'medium'; + $style = $bprop[0]; + $color = $bprop[1]; + break; + } + case 1: { + $width = 'medium'; + $style = $bprop[0]; + $color = 'black'; + break; + } + case 0: { + $width = 'medium'; + $style = 'solid'; + $color = 'black'; + break; + } + default: { + $width = $bprop[0]; + $style = $bprop[1]; + $color = $bprop[2]; + break; + } + } + if ($style == 'none') { + return array(); + } + $border['cap'] = 'square'; + $border['join'] = 'miter'; + $border['dash'] = $this->getCSSBorderDashStyle($style); + if ($border['dash'] < 0) { + return array(); + } + $border['width'] = $this->getCSSBorderWidth($width); + $border['color'] = TCPDF_COLORS::convertHTMLColorToDec($color, $this->spot_colors); + return $border; + } + + /** + * Get the internal Cell padding from CSS attribute. + * @param string $csspadding padding properties + * @param float $width width of the containing element + * @return array of cell paddings + * @public + * @since 5.9.000 (2010-10-04) + */ + public function getCSSPadding($csspadding, $width=0) { + $padding = preg_split('/[\s]+/', trim($csspadding)); + $cell_padding = array(); // value to be returned + switch (count($padding)) { + case 4: { + $cell_padding['T'] = $padding[0]; + $cell_padding['R'] = $padding[1]; + $cell_padding['B'] = $padding[2]; + $cell_padding['L'] = $padding[3]; + break; + } + case 3: { + $cell_padding['T'] = $padding[0]; + $cell_padding['R'] = $padding[1]; + $cell_padding['B'] = $padding[2]; + $cell_padding['L'] = $padding[1]; + break; + } + case 2: { + $cell_padding['T'] = $padding[0]; + $cell_padding['R'] = $padding[1]; + $cell_padding['B'] = $padding[0]; + $cell_padding['L'] = $padding[1]; + break; + } + case 1: { + $cell_padding['T'] = $padding[0]; + $cell_padding['R'] = $padding[0]; + $cell_padding['B'] = $padding[0]; + $cell_padding['L'] = $padding[0]; + break; + } + default: { + return $this->cell_padding; + } + } + if ($width == 0) { + $width = $this->w - $this->lMargin - $this->rMargin; + } + $cell_padding['T'] = $this->getHTMLUnitToUnits($cell_padding['T'], $width, 'px', false); + $cell_padding['R'] = $this->getHTMLUnitToUnits($cell_padding['R'], $width, 'px', false); + $cell_padding['B'] = $this->getHTMLUnitToUnits($cell_padding['B'], $width, 'px', false); + $cell_padding['L'] = $this->getHTMLUnitToUnits($cell_padding['L'], $width, 'px', false); + return $cell_padding; + } + + /** + * Get the internal Cell margin from CSS attribute. + * @param string $cssmargin margin properties + * @param float $width width of the containing element + * @return array of cell margins + * @public + * @since 5.9.000 (2010-10-04) + */ + public function getCSSMargin($cssmargin, $width=0) { + $margin = preg_split('/[\s]+/', trim($cssmargin)); + $cell_margin = array(); // value to be returned + switch (count($margin)) { + case 4: { + $cell_margin['T'] = $margin[0]; + $cell_margin['R'] = $margin[1]; + $cell_margin['B'] = $margin[2]; + $cell_margin['L'] = $margin[3]; + break; + } + case 3: { + $cell_margin['T'] = $margin[0]; + $cell_margin['R'] = $margin[1]; + $cell_margin['B'] = $margin[2]; + $cell_margin['L'] = $margin[1]; + break; + } + case 2: { + $cell_margin['T'] = $margin[0]; + $cell_margin['R'] = $margin[1]; + $cell_margin['B'] = $margin[0]; + $cell_margin['L'] = $margin[1]; + break; + } + case 1: { + $cell_margin['T'] = $margin[0]; + $cell_margin['R'] = $margin[0]; + $cell_margin['B'] = $margin[0]; + $cell_margin['L'] = $margin[0]; + break; + } + default: { + return $this->cell_margin; + } + } + if ($width == 0) { + $width = $this->w - $this->lMargin - $this->rMargin; + } + $cell_margin['T'] = $this->getHTMLUnitToUnits(str_replace('auto', '0', $cell_margin['T']), $width, 'px', false); + $cell_margin['R'] = $this->getHTMLUnitToUnits(str_replace('auto', '0', $cell_margin['R']), $width, 'px', false); + $cell_margin['B'] = $this->getHTMLUnitToUnits(str_replace('auto', '0', $cell_margin['B']), $width, 'px', false); + $cell_margin['L'] = $this->getHTMLUnitToUnits(str_replace('auto', '0', $cell_margin['L']), $width, 'px', false); + return $cell_margin; + } + + /** + * Get the border-spacing from CSS attribute. + * @param string $cssbspace border-spacing CSS properties + * @param float $width width of the containing element + * @return array of border spacings + * @public + * @since 5.9.010 (2010-10-27) + */ + public function getCSSBorderMargin($cssbspace, $width=0) { + $space = preg_split('/[\s]+/', trim($cssbspace)); + $border_spacing = array(); // value to be returned + switch (count($space)) { + case 2: { + $border_spacing['H'] = $space[0]; + $border_spacing['V'] = $space[1]; + break; + } + case 1: { + $border_spacing['H'] = $space[0]; + $border_spacing['V'] = $space[0]; + break; + } + default: { + return array('H' => 0, 'V' => 0); + } + } + if ($width == 0) { + $width = $this->w - $this->lMargin - $this->rMargin; + } + $border_spacing['H'] = $this->getHTMLUnitToUnits($border_spacing['H'], $width, 'px', false); + $border_spacing['V'] = $this->getHTMLUnitToUnits($border_spacing['V'], $width, 'px', false); + return $border_spacing; + } + + /** + * Returns the letter-spacing value from CSS value + * @param string $spacing letter-spacing value + * @param float $parent font spacing (tracking) value of the parent element + * @return float quantity to increases or decreases the space between characters in a text. + * @protected + * @since 5.9.000 (2010-10-02) + */ + protected function getCSSFontSpacing($spacing, $parent=0) { + $val = 0; // value to be returned + $spacing = trim($spacing); + switch ($spacing) { + case 'normal': { + $val = 0; + break; + } + case 'inherit': { + if ($parent == 'normal') { + $val = 0; + } else { + $val = $parent; + } + break; + } + default: { + $val = $this->getHTMLUnitToUnits($spacing, 0, 'px', false); + } + } + return $val; + } + + /** + * Returns the percentage of font stretching from CSS value + * @param string $stretch stretch mode + * @param float $parent stretch value of the parent element + * @return float font stretching percentage + * @protected + * @since 5.9.000 (2010-10-02) + */ + protected function getCSSFontStretching($stretch, $parent=100) { + $val = 100; // value to be returned + $stretch = trim($stretch); + switch ($stretch) { + case 'ultra-condensed': { + $val = 40; + break; + } + case 'extra-condensed': { + $val = 55; + break; + } + case 'condensed': { + $val = 70; + break; + } + case 'semi-condensed': { + $val = 85; + break; + } + case 'normal': { + $val = 100; + break; + } + case 'semi-expanded': { + $val = 115; + break; + } + case 'expanded': { + $val = 130; + break; + } + case 'extra-expanded': { + $val = 145; + break; + } + case 'ultra-expanded': { + $val = 160; + break; + } + case 'wider': { + $val = ($parent + 10); + break; + } + case 'narrower': { + $val = ($parent - 10); + break; + } + case 'inherit': { + if ($parent == 'normal') { + $val = 100; + } else { + $val = $parent; + } + break; + } + default: { + $val = $this->getHTMLUnitToUnits($stretch, 100, '%', false); + } + } + return $val; + } + + /** + * Convert HTML string containing font size value to points + * @param string $val String containing font size value and unit. + * @param float $refsize Reference font size in points. + * @param float $parent_size Parent font size in points. + * @param string $defaultunit Default unit (can be one of the following: %, em, ex, px, in, mm, pc, pt). + * @return float value in points + * @public + */ + public function getHTMLFontUnits($val, $refsize=12, $parent_size=12, $defaultunit='pt') { + $refsize = TCPDF_FONTS::getFontRefSize($refsize); + $parent_size = TCPDF_FONTS::getFontRefSize($parent_size, $refsize); + switch ($val) { + case 'xx-small': { + $size = ($refsize - 4); + break; + } + case 'x-small': { + $size = ($refsize - 3); + break; + } + case 'small': { + $size = ($refsize - 2); + break; + } + case 'medium': { + $size = $refsize; + break; + } + case 'large': { + $size = ($refsize + 2); + break; + } + case 'x-large': { + $size = ($refsize + 4); + break; + } + case 'xx-large': { + $size = ($refsize + 6); + break; + } + case 'smaller': { + $size = ($parent_size - 3); + break; + } + case 'larger': { + $size = ($parent_size + 3); + break; + } + default: { + $parentSize = $this->getHTMLUnitToUnits($parent_size, $refsize, $defaultunit, true); + $size = $this->getHTMLUnitToUnits($val, $parent_size, $defaultunit, true); + } + } + return $size; + } + + /** + * Returns the HTML DOM array. + * @param string $html html code + * @return array + * @protected + * @since 3.2.000 (2008-06-20) + */ + protected function getHtmlDomArray($html) { + // set inheritable properties fot the first void element + // possible inheritable properties are: azimuth, border-collapse, border-spacing, caption-side, color, cursor, direction, empty-cells, font, font-family, font-stretch, font-size, font-size-adjust, font-style, font-variant, font-weight, letter-spacing, line-height, list-style, list-style-image, list-style-position, list-style-type, orphans, page, page-break-inside, quotes, speak, speak-header, text-align, text-indent, text-transform, volume, white-space, widows, word-spacing + $dom = array( + array( + 'tag' => false, + 'block' => false, + 'value' => '', + 'parent' => 0, + 'hide' => false, + 'fontname' => $this->FontFamily, + 'fontstyle' => $this->FontStyle, + 'fontsize' => $this->FontSizePt, + 'font-stretch' => $this->font_stretching, + 'letter-spacing' => $this->font_spacing, + 'stroke' => $this->textstrokewidth, + 'fill' => (($this->textrendermode % 2) == 0), + 'clip' => ($this->textrendermode > 3), + 'line-height' => $this->cell_height_ratio, + 'bgcolor' => false, + 'fgcolor' => $this->fgcolor, // color + 'strokecolor' => $this->strokecolor, + 'align' => '', + 'listtype' => '', + 'text-indent' => 0, + 'text-transform' => '', + 'border' => array(), + 'dir' => $this->rtl?'rtl':'ltr', + 'width' => 0, + 'height' => 0, + 'x' => 0, + 'y' => 0, + 'w' => 0, + 'h' => 0, + 'l' => 0, + 't' => 0, + 'r' => 0, + 'b' => 0, + 'padding' => array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0), + 'margin' => array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0), + 'border-spacing' => array('H' => 0, 'V' => 0), + 'border-collapse' => 'separate', + ) + ); + + if($html === '' || $html === null) { + return $dom; + } + // array of CSS styles ( selector => properties). + $css = array(); + // get CSS array defined at previous call + $matches = array(); + if (preg_match_all('/([^\<]*?)<\/cssarray>/is', $html, $matches) > 0) { + if (isset($matches[1][0])) { + $css = array_merge($css, json_decode($this->unhtmlentities($matches[1][0]), true)); + } + $html = preg_replace('/(.*?)<\/cssarray>/is', '', $html); + } + // extract external CSS files + $matches = array(); + if (preg_match_all('/]*?)>/is', $html, $matches) > 0) { + foreach ($matches[1] as $key => $link) { + $type = array(); + if (preg_match('/type[\s]*=[\s]*"text\/css"/', $link, $type)) { + $type = array(); + preg_match('/media[\s]*=[\s]*"([^"]*)"/', $link, $type); + // get 'all' and 'print' media, other media types are discarded + // (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv) + if (empty($type) OR (isset($type[1]) AND (($type[1] == 'all') OR ($type[1] == 'print')))) { + $type = array(); + if (preg_match('/href[\s]*=[\s]*"([^"]*)"/', $link, $type) > 0) { + // read CSS data file + $cssdata = $this->getCachedFileContents(trim($type[1])); + if (($cssdata !== FALSE) AND (strlen($cssdata) > 0)) { + $css = array_merge($css, TCPDF_STATIC::extractCSSproperties($cssdata)); + } + } + } + } + } + } + // extract style tags + $matches = array(); + if (preg_match_all('/]*?)>([^\<]*?)<\/style>/is', $html, $matches) > 0) { + foreach ($matches[1] as $key => $media) { + $type = array(); + preg_match('/media[\s]*=[\s]*"([^"]*)"/', $media, $type); + // get 'all' and 'print' media, other media types are discarded + // (all, braille, embossed, handheld, print, projection, screen, speech, tty, tv) + if (empty($type) OR (isset($type[1]) AND (($type[1] == 'all') OR ($type[1] == 'print')))) { + $cssdata = $matches[2][$key]; + $css = array_merge($css, TCPDF_STATIC::extractCSSproperties($cssdata)); + } + } + } + // create a special tag to contain the CSS array (used for table content) + $csstagarray = ''.htmlentities(json_encode($css)).''; + // remove head and style blocks + $html = preg_replace('/]*?)>(.*?)<\/head>/is', '', $html); + $html = preg_replace('/]*?)>([^\<]*?)<\/style>/is', '', $html); + // define block tags + $blocktags = array('blockquote','br','dd','dl','div','dt','h1','h2','h3','h4','h5','h6','hr','li','ol','p','pre','ul','tcpdf','table','tr','td'); + // define self-closing tags + $selfclosingtags = array('area','base','basefont','br','hr','input','img','link','meta'); + // remove all unsupported tags (the line below lists all supported tags) + $html = strip_tags($html, '




  • ', $offset)) !== false) { + $html_a = substr($html, 0, $offset); + $html_b = substr($html, $offset, ($pos - $offset + 11)); + while (preg_match("']*)>(.*?)\n(.*?)'si", $html_b)) { + // preserve newlines on 'si", "\\2\\3", $html_b); + $html_b = preg_replace("']*)>(.*?)[\"](.*?)'si", "\\2''\\3", $html_b); + } + $html = $html_a.$html_b.substr($html, $pos + 11); + $offset = strlen($html_a.$html_b); + } + $html = preg_replace('/([\s]*)', $html); + $offset = 0; + while (($offset < strlen($html)) AND ($pos = strpos($html, '', $offset)) !== false) { + $html_a = substr($html, 0, $offset); + $html_b = substr($html, $offset, ($pos - $offset + 9)); + while (preg_match("']*)>(.*?)'si", $html_b)) { + $html_b = preg_replace("']*)>(.*?)'si", "\\2#!TaB!#\\4#!NwL!#", $html_b); + $html_b = preg_replace("']*)>(.*?)'si", "\\2#!NwL!#", $html_b); + } + $html = $html_a.$html_b.substr($html, $pos + 9); + $offset = strlen($html_a.$html_b); + } + if (preg_match("']*)>'si", "'si", "\" />", $html); + } + $html = str_replace("\n", ' ', $html); + // restore textarea newlines + $html = str_replace('', "\n", $html); + // remove extra spaces from code + $html = preg_replace('/[\s]+<\/(table|tr|ul|ol|dl)>/', '', $html); + $html = preg_replace('/'.$this->re_space['p'].'+<\/(td|th|li|dt|dd)>/'.$this->re_space['m'], '', $html); + $html = preg_replace('/[\s]+<(tr|td|th|li|dt|dd)/', '<\\1', $html); + $html = preg_replace('/'.$this->re_space['p'].'+<(ul|ol|dl|br)/'.$this->re_space['m'], '<\\1', $html); + $html = preg_replace('/<\/(table|tr|td|th|blockquote|dd|dt|dl|div|dt|h1|h2|h3|h4|h5|h6|hr|li|ol|ul|p)>[\s]+<', $html); + $html = preg_replace('/<\/(td|th)>/', '', $html); + $html = preg_replace('/<\/table>([\s]*)/', '
    ', $html); + $html = preg_replace('/'.$this->re_space['p'].'+re_space['m'], chr(32).']*)>[\s]+([^\<])/xi', ' \\2', $html); + $html = preg_replace('/]*)>/xi', '', $html); + $html = preg_replace('/]*)>([^\<]*)<\/textarea>/xi', '', $html); + $html = preg_replace('/]*)><\/li>/', ' 
  • ', $html); + $html = preg_replace('/]*)>'.$this->re_space['p'].'*re_space['m'], ' \/]*)>[\s]/', '<\\1> ', $html); // preserve some spaces + $html = preg_replace('/[\s]<\/([^\>]*)>/', ' ', $html); // preserve some spaces + $html = preg_replace('//', '', $html); // fix sub/sup alignment + $html = preg_replace('/'.$this->re_space['p'].'+/'.$this->re_space['m'], chr(32), $html); // replace multiple spaces with a single space + // trim string + $html = $this->stringTrim($html); + // fix br tag after li + $html = preg_replace('/
  • ]*)>/', '
  • ', $html); + // fix first image tag alignment + $html = preg_replace('/^
    ', '', $dom[($dom[$key]['parent'])]['content']); + $dom[($dom[$key]['parent'])]['content'] = str_replace('', '', $dom[($dom[$key]['parent'])]['content']); + } + // store header rows on a new table + if ( + ($dom[$key]['value'] === 'tr') + && !empty($dom[($dom[$key]['parent'])]['thead']) + && ($dom[($dom[$key]['parent'])]['thead'] === true) + ) { + if (TCPDF_STATIC::empty_string($dom[($dom[($dom[$key]['parent'])]['parent'])]['thead'])) { + $dom[($dom[($dom[$key]['parent'])]['parent'])]['thead'] = $csstagarray.$a[$dom[($dom[($dom[$key]['parent'])]['parent'])]['elkey']]; + } + for ($i = $dom[$key]['parent']; $i <= $key; ++$i) { + $dom[($dom[($dom[$key]['parent'])]['parent'])]['thead'] .= $a[$dom[$i]['elkey']]; + } + if (!isset($dom[($dom[$key]['parent'])]['attribute'])) { + $dom[($dom[$key]['parent'])]['attribute'] = array(); + } + // header elements must be always contained in a single page + $dom[($dom[$key]['parent'])]['attribute']['nobr'] = 'true'; + } + if (($dom[$key]['value'] == 'table') AND (!TCPDF_STATIC::empty_string($dom[($dom[$key]['parent'])]['thead']))) { + // remove the nobr attributes from the table header + $dom[($dom[$key]['parent'])]['thead'] = str_replace(' nobr="true"', '', $dom[($dom[$key]['parent'])]['thead']); + $dom[($dom[$key]['parent'])]['thead'] .= ''; + } + } else { + // *** opening or self-closing html tag + $dom[$key]['opening'] = true; + $dom[$key]['parent'] = end($level); + if ((substr($element, -1, 1) == '/') OR (in_array($dom[$key]['value'], $selfclosingtags))) { + // self-closing tag + $dom[$key]['self'] = true; + } else { + // opening tag + array_push($level, $key); + $dom[$key]['self'] = false; + } + // copy some values from parent + $parentkey = 0; + if ($key > 0) { + $parentkey = $dom[$key]['parent']; + $dom[$key]['hide'] = $dom[$parentkey]['hide']; + $dom[$key]['fontname'] = $dom[$parentkey]['fontname']; + $dom[$key]['fontstyle'] = $dom[$parentkey]['fontstyle']; + $dom[$key]['fontsize'] = $dom[$parentkey]['fontsize']; + $dom[$key]['font-stretch'] = $dom[$parentkey]['font-stretch']; + $dom[$key]['letter-spacing'] = $dom[$parentkey]['letter-spacing']; + $dom[$key]['stroke'] = $dom[$parentkey]['stroke']; + $dom[$key]['fill'] = $dom[$parentkey]['fill']; + $dom[$key]['clip'] = $dom[$parentkey]['clip']; + $dom[$key]['line-height'] = $dom[$parentkey]['line-height']; + $dom[$key]['bgcolor'] = $dom[$parentkey]['bgcolor']; + $dom[$key]['fgcolor'] = $dom[$parentkey]['fgcolor']; + $dom[$key]['strokecolor'] = $dom[$parentkey]['strokecolor']; + $dom[$key]['align'] = $dom[$parentkey]['align']; + $dom[$key]['listtype'] = $dom[$parentkey]['listtype']; + $dom[$key]['text-indent'] = $dom[$parentkey]['text-indent']; + $dom[$key]['text-transform'] = $dom[$parentkey]['text-transform']; + $dom[$key]['border'] = array(); + $dom[$key]['dir'] = $dom[$parentkey]['dir']; + } + // get attributes + preg_match_all('/([^=\s]*)[\s]*=[\s]*"([^"]*)"/', $element, $attr_array, PREG_PATTERN_ORDER); + $dom[$key]['attribute'] = array(); // reset attribute array + foreach($attr_array[1] as $id => $name) { + $dom[$key]['attribute'][strtolower($name)] = $attr_array[2][$id]; + } + if (!empty($css)) { + // merge CSS style to current style + list($dom[$key]['csssel'], $dom[$key]['cssdata']) = TCPDF_STATIC::getCSSdataArray($dom, $key, $css); + $dom[$key]['attribute']['style'] = TCPDF_STATIC::getTagStyleFromCSSarray($dom[$key]['cssdata']); + } + // split style attributes + if (isset($dom[$key]['attribute']['style']) AND !empty($dom[$key]['attribute']['style'])) { + // get style attributes + preg_match_all('/([^;:\s]*):([^;]*)/', $dom[$key]['attribute']['style'], $style_array, PREG_PATTERN_ORDER); + $dom[$key]['style'] = array(); // reset style attribute array + foreach($style_array[1] as $id => $name) { + // in case of duplicate attribute the last replace the previous + $dom[$key]['style'][strtolower($name)] = trim($style_array[2][$id]); + } + // --- get some style attributes --- + // text direction + if (isset($dom[$key]['style']['direction'])) { + $dom[$key]['dir'] = $dom[$key]['style']['direction']; + } + // display + if (isset($dom[$key]['style']['display'])) { + $dom[$key]['hide'] = (trim(strtolower($dom[$key]['style']['display'])) == 'none'); + } + // font family + if (isset($dom[$key]['style']['font-family'])) { + $dom[$key]['fontname'] = $this->getFontFamilyName($dom[$key]['style']['font-family']); + } + // list-style-type + if (isset($dom[$key]['style']['list-style-type'])) { + $dom[$key]['listtype'] = trim(strtolower($dom[$key]['style']['list-style-type'])); + if ($dom[$key]['listtype'] == 'inherit') { + $dom[$key]['listtype'] = $dom[$parentkey]['listtype']; + } + } + // text-indent + if (isset($dom[$key]['style']['text-indent'])) { + $dom[$key]['text-indent'] = $this->getHTMLUnitToUnits($dom[$key]['style']['text-indent']); + if ($dom[$key]['text-indent'] == 'inherit') { + $dom[$key]['text-indent'] = $dom[$parentkey]['text-indent']; + } + } + // text-transform + if (isset($dom[$key]['style']['text-transform'])) { + $dom[$key]['text-transform'] = $dom[$key]['style']['text-transform']; + } + // font size + if (isset($dom[$key]['style']['font-size'])) { + $fsize = trim($dom[$key]['style']['font-size']); + $dom[$key]['fontsize'] = $this->getHTMLFontUnits($fsize, $dom[0]['fontsize'], $dom[$parentkey]['fontsize'], 'pt'); + } + // font-stretch + if (isset($dom[$key]['style']['font-stretch'])) { + $dom[$key]['font-stretch'] = $this->getCSSFontStretching($dom[$key]['style']['font-stretch'], $dom[$parentkey]['font-stretch']); + } + // letter-spacing + if (isset($dom[$key]['style']['letter-spacing'])) { + $dom[$key]['letter-spacing'] = $this->getCSSFontSpacing($dom[$key]['style']['letter-spacing'], $dom[$parentkey]['letter-spacing']); + } + // line-height (internally is the cell height ratio) + if (isset($dom[$key]['style']['line-height'])) { + $lineheight = trim($dom[$key]['style']['line-height']); + switch ($lineheight) { + // A normal line height. This is default + case 'normal': { + $dom[$key]['line-height'] = $dom[0]['line-height']; + break; + } + case 'inherit': { + $dom[$key]['line-height'] = $dom[$parentkey]['line-height']; + } + default: { + if (is_numeric($lineheight)) { + // convert to percentage of font height + $lineheight = ($lineheight * 100).'%'; + } + $dom[$key]['line-height'] = $this->getHTMLUnitToUnits($lineheight, 1, '%', true); + if (substr($lineheight, -1) !== '%') { + if ($dom[$key]['fontsize'] <= 0) { + $dom[$key]['line-height'] = 1; + } else { + $dom[$key]['line-height'] = (($dom[$key]['line-height'] - $this->cell_padding['T'] - $this->cell_padding['B']) / $dom[$key]['fontsize']); + } + } + } + } + } + // font style + if (isset($dom[$key]['style']['font-weight'])) { + if (strtolower($dom[$key]['style']['font-weight'][0]) == 'n') { + if (strpos($dom[$key]['fontstyle'], 'B') !== false) { + $dom[$key]['fontstyle'] = str_replace('B', '', $dom[$key]['fontstyle']); + } + } elseif (strtolower($dom[$key]['style']['font-weight'][0]) == 'b') { + $dom[$key]['fontstyle'] .= 'B'; + } + } + if (isset($dom[$key]['style']['font-style']) AND (strtolower($dom[$key]['style']['font-style'][0]) == 'i')) { + $dom[$key]['fontstyle'] .= 'I'; + } + // font color + if (isset($dom[$key]['style']['color']) AND (!TCPDF_STATIC::empty_string($dom[$key]['style']['color']))) { + $dom[$key]['fgcolor'] = TCPDF_COLORS::convertHTMLColorToDec($dom[$key]['style']['color'], $this->spot_colors); + } elseif ($dom[$key]['value'] == 'a') { + $dom[$key]['fgcolor'] = $this->htmlLinkColorArray; + } + // background color + if (isset($dom[$key]['style']['background-color']) AND (!TCPDF_STATIC::empty_string($dom[$key]['style']['background-color']))) { + $dom[$key]['bgcolor'] = TCPDF_COLORS::convertHTMLColorToDec($dom[$key]['style']['background-color'], $this->spot_colors); + } + // text-decoration + if (isset($dom[$key]['style']['text-decoration'])) { + $decors = explode(' ', strtolower($dom[$key]['style']['text-decoration'])); + foreach ($decors as $dec) { + $dec = trim($dec); + if (!TCPDF_STATIC::empty_string($dec)) { + if ($dec[0] == 'u') { + // underline + $dom[$key]['fontstyle'] .= 'U'; + } elseif ($dec[0] == 'l') { + // line-through + $dom[$key]['fontstyle'] .= 'D'; + } elseif ($dec[0] == 'o') { + // overline + $dom[$key]['fontstyle'] .= 'O'; + } + } + } + } elseif ($dom[$key]['value'] == 'a') { + $dom[$key]['fontstyle'] = $this->htmlLinkFontStyle; + } + // check for width attribute + if (isset($dom[$key]['style']['width'])) { + $dom[$key]['width'] = $dom[$key]['style']['width']; + } + // check for height attribute + if (isset($dom[$key]['style']['height'])) { + $dom[$key]['height'] = $dom[$key]['style']['height']; + } + // check for text alignment + if (isset($dom[$key]['style']['text-align'])) { + $dom[$key]['align'] = strtoupper($dom[$key]['style']['text-align'][0]); + } + // check for CSS border properties + if (isset($dom[$key]['style']['border'])) { + $borderstyle = $this->getCSSBorderStyle($dom[$key]['style']['border']); + if (!empty($borderstyle)) { + $dom[$key]['border']['LTRB'] = $borderstyle; + } + } + if (isset($dom[$key]['style']['border-color'])) { + $brd_colors = preg_split('/[\s]+/', trim($dom[$key]['style']['border-color'])); + if (isset($brd_colors[3])) { + $dom[$key]['border']['L']['color'] = TCPDF_COLORS::convertHTMLColorToDec($brd_colors[3], $this->spot_colors); + } + if (isset($brd_colors[1])) { + $dom[$key]['border']['R']['color'] = TCPDF_COLORS::convertHTMLColorToDec($brd_colors[1], $this->spot_colors); + } + if (isset($brd_colors[0])) { + $dom[$key]['border']['T']['color'] = TCPDF_COLORS::convertHTMLColorToDec($brd_colors[0], $this->spot_colors); + } + if (isset($brd_colors[2])) { + $dom[$key]['border']['B']['color'] = TCPDF_COLORS::convertHTMLColorToDec($brd_colors[2], $this->spot_colors); + } + } + if (isset($dom[$key]['style']['border-width'])) { + $brd_widths = preg_split('/[\s]+/', trim($dom[$key]['style']['border-width'])); + if (isset($brd_widths[3])) { + $dom[$key]['border']['L']['width'] = $this->getCSSBorderWidth($brd_widths[3]); + } + if (isset($brd_widths[1])) { + $dom[$key]['border']['R']['width'] = $this->getCSSBorderWidth($brd_widths[1]); + } + if (isset($brd_widths[0])) { + $dom[$key]['border']['T']['width'] = $this->getCSSBorderWidth($brd_widths[0]); + } + if (isset($brd_widths[2])) { + $dom[$key]['border']['B']['width'] = $this->getCSSBorderWidth($brd_widths[2]); + } + } + if (isset($dom[$key]['style']['border-style'])) { + $brd_styles = preg_split('/[\s]+/', trim($dom[$key]['style']['border-style'])); + if (isset($brd_styles[3]) AND ($brd_styles[3]!='none')) { + $dom[$key]['border']['L']['cap'] = 'square'; + $dom[$key]['border']['L']['join'] = 'miter'; + $dom[$key]['border']['L']['dash'] = $this->getCSSBorderDashStyle($brd_styles[3]); + if ($dom[$key]['border']['L']['dash'] < 0) { + $dom[$key]['border']['L'] = array(); + } + } + if (isset($brd_styles[1])) { + $dom[$key]['border']['R']['cap'] = 'square'; + $dom[$key]['border']['R']['join'] = 'miter'; + $dom[$key]['border']['R']['dash'] = $this->getCSSBorderDashStyle($brd_styles[1]); + if ($dom[$key]['border']['R']['dash'] < 0) { + $dom[$key]['border']['R'] = array(); + } + } + if (isset($brd_styles[0])) { + $dom[$key]['border']['T']['cap'] = 'square'; + $dom[$key]['border']['T']['join'] = 'miter'; + $dom[$key]['border']['T']['dash'] = $this->getCSSBorderDashStyle($brd_styles[0]); + if ($dom[$key]['border']['T']['dash'] < 0) { + $dom[$key]['border']['T'] = array(); + } + } + if (isset($brd_styles[2])) { + $dom[$key]['border']['B']['cap'] = 'square'; + $dom[$key]['border']['B']['join'] = 'miter'; + $dom[$key]['border']['B']['dash'] = $this->getCSSBorderDashStyle($brd_styles[2]); + if ($dom[$key]['border']['B']['dash'] < 0) { + $dom[$key]['border']['B'] = array(); + } + } + } + $cellside = array('L' => 'left', 'R' => 'right', 'T' => 'top', 'B' => 'bottom'); + foreach ($cellside as $bsk => $bsv) { + if (isset($dom[$key]['style']['border-'.$bsv])) { + $borderstyle = $this->getCSSBorderStyle($dom[$key]['style']['border-'.$bsv]); + if (!empty($borderstyle)) { + $dom[$key]['border'][$bsk] = $borderstyle; + } + } + if (isset($dom[$key]['style']['border-'.$bsv.'-color'])) { + $dom[$key]['border'][$bsk]['color'] = TCPDF_COLORS::convertHTMLColorToDec($dom[$key]['style']['border-'.$bsv.'-color'], $this->spot_colors); + } + if (isset($dom[$key]['style']['border-'.$bsv.'-width'])) { + $dom[$key]['border'][$bsk]['width'] = $this->getCSSBorderWidth($dom[$key]['style']['border-'.$bsv.'-width']); + } + if (isset($dom[$key]['style']['border-'.$bsv.'-style'])) { + $dom[$key]['border'][$bsk]['dash'] = $this->getCSSBorderDashStyle($dom[$key]['style']['border-'.$bsv.'-style']); + if ($dom[$key]['border'][$bsk]['dash'] < 0) { + $dom[$key]['border'][$bsk] = array(); + } + } + } + // check for CSS padding properties + if (isset($dom[$key]['style']['padding'])) { + $dom[$key]['padding'] = $this->getCSSPadding($dom[$key]['style']['padding']); + } else { + $dom[$key]['padding'] = $this->cell_padding; + } + foreach ($cellside as $psk => $psv) { + if (isset($dom[$key]['style']['padding-'.$psv])) { + $dom[$key]['padding'][$psk] = $this->getHTMLUnitToUnits($dom[$key]['style']['padding-'.$psv], 0, 'px', false); + } + } + // check for CSS margin properties + if (isset($dom[$key]['style']['margin'])) { + $dom[$key]['margin'] = $this->getCSSMargin($dom[$key]['style']['margin']); + } else { + $dom[$key]['margin'] = $this->cell_margin; + } + foreach ($cellside as $psk => $psv) { + if (isset($dom[$key]['style']['margin-'.$psv])) { + $dom[$key]['margin'][$psk] = $this->getHTMLUnitToUnits(str_replace('auto', '0', $dom[$key]['style']['margin-'.$psv]), 0, 'px', false); + } + } + // check for CSS border-spacing properties + if (isset($dom[$key]['style']['border-spacing'])) { + $dom[$key]['border-spacing'] = $this->getCSSBorderMargin($dom[$key]['style']['border-spacing']); + } + // page-break-inside + if (isset($dom[$key]['style']['page-break-inside']) AND ($dom[$key]['style']['page-break-inside'] == 'avoid')) { + $dom[$key]['attribute']['nobr'] = 'true'; + } + // page-break-before + if (isset($dom[$key]['style']['page-break-before'])) { + if ($dom[$key]['style']['page-break-before'] == 'always') { + $dom[$key]['attribute']['pagebreak'] = 'true'; + } elseif ($dom[$key]['style']['page-break-before'] == 'left') { + $dom[$key]['attribute']['pagebreak'] = 'left'; + } elseif ($dom[$key]['style']['page-break-before'] == 'right') { + $dom[$key]['attribute']['pagebreak'] = 'right'; + } + } + // page-break-after + if (isset($dom[$key]['style']['page-break-after'])) { + if ($dom[$key]['style']['page-break-after'] == 'always') { + $dom[$key]['attribute']['pagebreakafter'] = 'true'; + } elseif ($dom[$key]['style']['page-break-after'] == 'left') { + $dom[$key]['attribute']['pagebreakafter'] = 'left'; + } elseif ($dom[$key]['style']['page-break-after'] == 'right') { + $dom[$key]['attribute']['pagebreakafter'] = 'right'; + } + } + } + if (isset($dom[$key]['attribute']['display'])) { + $dom[$key]['hide'] = (trim(strtolower($dom[$key]['attribute']['display'])) == 'none'); + } + if (isset($dom[$key]['attribute']['border']) AND ($dom[$key]['attribute']['border'] != 0)) { + $borderstyle = $this->getCSSBorderStyle($dom[$key]['attribute']['border'].' solid black'); + if (!empty($borderstyle)) { + $dom[$key]['border']['LTRB'] = $borderstyle; + } + } + // check for font tag + if ($dom[$key]['value'] == 'font') { + // font family + if (isset($dom[$key]['attribute']['face'])) { + $dom[$key]['fontname'] = $this->getFontFamilyName($dom[$key]['attribute']['face']); + } + // font size + if (isset($dom[$key]['attribute']['size'])) { + if ($key > 0) { + if ($dom[$key]['attribute']['size'][0] == '+') { + $dom[$key]['fontsize'] = $dom[($dom[$key]['parent'])]['fontsize'] + intval(substr($dom[$key]['attribute']['size'], 1)); + } elseif ($dom[$key]['attribute']['size'][0] == '-') { + $dom[$key]['fontsize'] = $dom[($dom[$key]['parent'])]['fontsize'] - intval(substr($dom[$key]['attribute']['size'], 1)); + } else { + $dom[$key]['fontsize'] = intval($dom[$key]['attribute']['size']); + } + } else { + $dom[$key]['fontsize'] = intval($dom[$key]['attribute']['size']); + } + } + } + // force natural alignment for lists + if ((($dom[$key]['value'] == 'ul') OR ($dom[$key]['value'] == 'ol') OR ($dom[$key]['value'] == 'dl')) + AND (!isset($dom[$key]['align']) OR TCPDF_STATIC::empty_string($dom[$key]['align']) OR ($dom[$key]['align'] != 'J'))) { + if ($this->rtl) { + $dom[$key]['align'] = 'R'; + } else { + $dom[$key]['align'] = 'L'; + } + } + if (($dom[$key]['value'] == 'small') OR ($dom[$key]['value'] == 'sup') OR ($dom[$key]['value'] == 'sub')) { + if (!isset($dom[$key]['attribute']['size']) AND !isset($dom[$key]['style']['font-size'])) { + $dom[$key]['fontsize'] = $dom[$key]['fontsize'] * K_SMALL_RATIO; + } + } + if (($dom[$key]['value'] == 'strong') OR ($dom[$key]['value'] == 'b')) { + $dom[$key]['fontstyle'] .= 'B'; + } + if (($dom[$key]['value'] == 'em') OR ($dom[$key]['value'] == 'i')) { + $dom[$key]['fontstyle'] .= 'I'; + } + if ($dom[$key]['value'] == 'u') { + $dom[$key]['fontstyle'] .= 'U'; + } + if (($dom[$key]['value'] == 'del') OR ($dom[$key]['value'] == 's') OR ($dom[$key]['value'] == 'strike')) { + $dom[$key]['fontstyle'] .= 'D'; + } + if (!isset($dom[$key]['style']['text-decoration']) AND ($dom[$key]['value'] == 'a')) { + $dom[$key]['fontstyle'] = $this->htmlLinkFontStyle; + } + if (($dom[$key]['value'] == 'pre') OR ($dom[$key]['value'] == 'tt')) { + $dom[$key]['fontname'] = $this->default_monospaced_font; + } + if (!empty($dom[$key]['value']) AND ($dom[$key]['value'][0] == 'h') AND (intval($dom[$key]['value'][1]) > 0) AND (intval($dom[$key]['value'][1]) < 7)) { + // headings h1, h2, h3, h4, h5, h6 + if (!isset($dom[$key]['attribute']['size']) AND !isset($dom[$key]['style']['font-size'])) { + $headsize = (4 - intval($dom[$key]['value'][1])) * 2; + $dom[$key]['fontsize'] = $dom[0]['fontsize'] + $headsize; + } + if (!isset($dom[$key]['style']['font-weight'])) { + $dom[$key]['fontstyle'] .= 'B'; + } + } + if (($dom[$key]['value'] == 'table')) { + $dom[$key]['rows'] = 0; // number of rows + $dom[$key]['trids'] = array(); // IDs of TR elements + $dom[$key]['thead'] = ''; // table header rows + } + if (($dom[$key]['value'] == 'tr')) { + $dom[$key]['cols'] = 0; + if ($thead) { + $dom[$key]['thead'] = true; + // rows on thead block are printed as a separate table + } else { + $dom[$key]['thead'] = false; + $parent = $dom[$key]['parent']; + + if (!isset($dom[$parent]['rows'])) { + $dom[$parent]['rows'] = 0; + } + // store the number of rows on table element + ++$dom[$parent]['rows']; + + if (!isset($dom[$parent]['trids'])) { + $dom[$parent]['trids'] = array(); + } + + // store the TR elements IDs on table element + array_push($dom[$parent]['trids'], $key); + } + } + if (($dom[$key]['value'] == 'th') OR ($dom[$key]['value'] == 'td')) { + if (isset($dom[$key]['attribute']['colspan'])) { + $colspan = intval($dom[$key]['attribute']['colspan']); + } else { + $colspan = 1; + } + $dom[$key]['attribute']['colspan'] = $colspan; + $dom[($dom[$key]['parent'])]['cols'] += $colspan; + } + // text direction + if (isset($dom[$key]['attribute']['dir'])) { + $dom[$key]['dir'] = $dom[$key]['attribute']['dir']; + } + // set foreground color attribute + if (isset($dom[$key]['attribute']['color']) AND (!TCPDF_STATIC::empty_string($dom[$key]['attribute']['color']))) { + $dom[$key]['fgcolor'] = TCPDF_COLORS::convertHTMLColorToDec($dom[$key]['attribute']['color'], $this->spot_colors); + } elseif (!isset($dom[$key]['style']['color']) AND ($dom[$key]['value'] == 'a')) { + $dom[$key]['fgcolor'] = $this->htmlLinkColorArray; + } + // set background color attribute + if (isset($dom[$key]['attribute']['bgcolor']) AND (!TCPDF_STATIC::empty_string($dom[$key]['attribute']['bgcolor']))) { + $dom[$key]['bgcolor'] = TCPDF_COLORS::convertHTMLColorToDec($dom[$key]['attribute']['bgcolor'], $this->spot_colors); + } + // set stroke color attribute + if (isset($dom[$key]['attribute']['strokecolor']) AND (!TCPDF_STATIC::empty_string($dom[$key]['attribute']['strokecolor']))) { + $dom[$key]['strokecolor'] = TCPDF_COLORS::convertHTMLColorToDec($dom[$key]['attribute']['strokecolor'], $this->spot_colors); + } + // check for width attribute + if (isset($dom[$key]['attribute']['width'])) { + $dom[$key]['width'] = $dom[$key]['attribute']['width']; + } + // check for height attribute + if (isset($dom[$key]['attribute']['height'])) { + $dom[$key]['height'] = $dom[$key]['attribute']['height']; + } + // check for text alignment + if (isset($dom[$key]['attribute']['align']) AND (!TCPDF_STATIC::empty_string($dom[$key]['attribute']['align'])) AND ($dom[$key]['value'] !== 'img')) { + $dom[$key]['align'] = strtoupper($dom[$key]['attribute']['align'][0]); + } + // check for text rendering mode (the following attributes do not exist in HTML) + if (isset($dom[$key]['attribute']['stroke'])) { + // font stroke width + $dom[$key]['stroke'] = $this->getHTMLUnitToUnits($dom[$key]['attribute']['stroke'], $dom[$key]['fontsize'], 'pt', true); + } + if (isset($dom[$key]['attribute']['fill'])) { + // font fill + if ($dom[$key]['attribute']['fill'] == 'true') { + $dom[$key]['fill'] = true; + } else { + $dom[$key]['fill'] = false; + } + } + if (isset($dom[$key]['attribute']['clip'])) { + // clipping mode + if ($dom[$key]['attribute']['clip'] == 'true') { + $dom[$key]['clip'] = true; + } else { + $dom[$key]['clip'] = false; + } + } + } // end opening tag + } else { + // text + $dom[$key]['tag'] = false; + $dom[$key]['block'] = false; + $dom[$key]['parent'] = end($level); + $dom[$key]['dir'] = $dom[$dom[$key]['parent']]['dir']; + if (!empty($dom[$dom[$key]['parent']]['text-transform'])) { + // text-transform for unicode requires mb_convert_case (Multibyte String Functions) + if (function_exists('mb_convert_case')) { + $ttm = array('capitalize' => MB_CASE_TITLE, 'uppercase' => MB_CASE_UPPER, 'lowercase' => MB_CASE_LOWER); + if (isset($ttm[$dom[$dom[$key]['parent']]['text-transform']])) { + $element = mb_convert_case($element, $ttm[$dom[$dom[$key]['parent']]['text-transform']], $this->encoding); + } + } elseif (!$this->isunicode) { + switch ($dom[$dom[$key]['parent']]['text-transform']) { + case 'capitalize': { + $element = ucwords(strtolower($element)); + break; + } + case 'uppercase': { + $element = strtoupper($element); + break; + } + case 'lowercase': { + $element = strtolower($element); + break; + } + } + } + $element = preg_replace("/&NBSP;/i", " ", $element); + } + $dom[$key]['value'] = stripslashes($this->unhtmlentities($element)); + } + ++$elkey; + ++$key; + } + return $dom; + } + + /** + * Returns the string used to find spaces + * @return string + * @protected + * @author Nicola Asuni + * @since 4.8.024 (2010-01-15) + */ + protected function getSpaceString() { + $spacestr = chr(32); + if ($this->isUnicodeFont()) { + $spacestr = chr(0).chr(32); + } + return $spacestr; + } + + /** + * Calculates the hash value of the given data. + * + * @param string $data The data to be hashed. + * @return string The hashed value of the data. + */ + protected function hashTCPDFtag($data) { + return hash_hmac('sha256', $data, $this->hash_key, false); + } + + /** + * Serialize data to be used with TCPDF tag in HTML code. + * @param string $method TCPDF method name + * @param array $params Method parameters + * @return string Serialized data + * @public static + */ + public function serializeTCPDFtag($method, $params=array()) { + $data = array('m' => $method, 'p' => $params); + $encoded = urlencode(json_encode($data)); + $hash = $this->hashTCPDFtag($encoded); + return strlen($hash).'+'.$hash.'+'.$encoded; + } + + /** + * Unserialize data to be used with TCPDF tag in HTML code. + * @param string $data serialized data + * @return array containing unserialized data + * @protected static + */ + protected function unserializeTCPDFtag($data) { + $hpos = strpos($data, '+'); + $hlen = intval(substr($data, 0, $hpos)); + $hash = substr($data, $hpos + 1, $hlen); + $encoded = substr($data, $hpos + 2 + $hlen); + if (!hash_equals( $this->hashTCPDFtag($encoded), $hash)) { + $this->Error('Invalid parameters'); + } + return json_decode(urldecode($encoded), true); + } + + /** + * Check if a TCPDF tag is allowed + * @param string $method TCPDF method name + * @return boolean + * @protected + */ + protected function allowedTCPDFtag($method) { + if (defined('K_ALLOWED_TCPDF_TAGS')) { + return (strpos(K_ALLOWED_TCPDF_TAGS, '|'.$method.'|') !== false); + } + return false; + } + + /** + * Prints a cell (rectangular area) with optional borders, background color and html text string. + * The upper-left corner of the cell corresponds to the current position. After the call, the current position moves to the right or to the next line.
    + * If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting. + * IMPORTANT: The HTML must be well formatted - try to clean-up it using an application like HTML-Tidy before submitting. + * Supported tags are: a, b, blockquote, br, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, img, li, ol, p, pre, small, span, strong, sub, sup, table, tcpdf, td, th, thead, tr, tt, u, ul + * NOTE: all the HTML attributes must be enclosed in double-quote. + * @param float $w Cell width. If 0, the cell extends up to the right margin. + * @param float $h Cell minimum height. The cell extends automatically if needed. + * @param float|null $x upper-left corner X coordinate + * @param float|null $y upper-left corner Y coordinate + * @param string $html html text to print. Default value: empty string. + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL language)
    • 1: to the beginning of the next line
    • 2: below
    Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. + * @param boolean $fill Indicates if the cell background must be painted (true) or transparent (false). + * @param boolean $reseth if true reset the last cell height (default true). + * @param string $align Allows to center or align the text. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    + * @param boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width. + * @see Multicell(), writeHTML() + * @public + */ + public function writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=false, $reseth=true, $align='', $autopadding=true) { + return $this->MultiCell($w, $h, $html, $border, $align, $fill, $ln, $x, $y, $reseth, 0, true, $autopadding, 0, 'T', false); + } + + /** + * Allows to preserve some HTML formatting (limited support).
    + * IMPORTANT: The HTML must be well formatted - try to clean-up it using an application like HTML-Tidy before submitting. + * Supported tags are: a, b, blockquote, br, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, img, li, ol, p, pre, small, span, strong, sub, sup, table, tcpdf, td, th, thead, tr, tt, u, ul + * NOTE: all the HTML attributes must be enclosed in double-quote. + * @param string $html text to display + * @param boolean $ln if true add a new line after text (default = true) + * @param boolean $fill Indicates if the background must be painted (true) or transparent (false). + * @param boolean $reseth if true reset the last cell height (default false). + * @param boolean $cell if true add the current left (or right for RTL) padding to each Write (default false). + * @param string $align Allows to center or align the text. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    + * @public + */ + public function writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='') { + $gvars = $this->getGraphicVars(); + // store current values + $prev_cell_margin = $this->cell_margin; + $prev_cell_padding = $this->cell_padding; + $prevPage = $this->page; + $prevlMargin = $this->lMargin; + $prevrMargin = $this->rMargin; + $curfontname = $this->FontFamily; + $curfontstyle = $this->FontStyle; + $curfontsize = $this->FontSizePt; + $curfontascent = $this->getFontAscent($curfontname, $curfontstyle, $curfontsize); + $curfontdescent = $this->getFontDescent($curfontname, $curfontstyle, $curfontsize); + $curfontstretcing = $this->font_stretching; + $curfonttracking = $this->font_spacing; + $this->newline = true; + $newline = true; + $startlinepage = $this->page; + $minstartliney = $this->y; + $maxbottomliney = 0; + $startlinex = $this->x; + $startliney = $this->y; + $yshift = 0; + $loop = 0; + $curpos = 0; + $this_method_vars = array(); + $undo = false; + $fontaligned = false; + $reverse_dir = false; // true when the text direction is reversed + $this->premode = false; + if ($this->inxobj) { + // we are inside an XObject template + $pask = count($this->xobjects[$this->xobjid]['annotations']); + } elseif (isset($this->PageAnnots[$this->page])) { + $pask = count($this->PageAnnots[$this->page]); + } else { + $pask = 0; + } + if ($this->inxobj) { + // we are inside an XObject template + $startlinepos = strlen($this->xobjects[$this->xobjid]['outdata']); + } elseif (!$this->InFooter) { + if (isset($this->footerlen[$this->page])) { + $this->footerpos[$this->page] = $this->pagelen[$this->page] - $this->footerlen[$this->page]; + } else { + $this->footerpos[$this->page] = $this->pagelen[$this->page]; + } + $startlinepos = $this->footerpos[$this->page]; + } else { + // we are inside the footer + $startlinepos = $this->pagelen[$this->page]; + } + $lalign = $align; + $plalign = $align; + if ($this->rtl) { + $w = $this->x - $this->lMargin; + } else { + $w = $this->w - $this->rMargin - $this->x; + } + $w -= ($this->cell_padding['L'] + $this->cell_padding['R']); + if ($cell) { + if ($this->rtl) { + $this->x -= $this->cell_padding['R']; + $this->lMargin += $this->cell_padding['L']; + } else { + $this->x += $this->cell_padding['L']; + $this->rMargin += $this->cell_padding['R']; + } + } + if ($this->customlistindent >= 0) { + $this->listindent = $this->customlistindent; + } else { + $this->listindent = $this->GetStringWidth('000000'); + } + $this->listindentlevel = 0; + // save previous states + $prev_cell_height_ratio = $this->cell_height_ratio; + $prev_listnum = $this->listnum; + $prev_listordered = $this->listordered; + $prev_listcount = $this->listcount; + $prev_lispacer = $this->lispacer; + $this->listnum = 0; + $this->listordered = array(); + $this->listcount = array(); + $this->lispacer = ''; + if ((TCPDF_STATIC::empty_string($this->lasth)) OR ($reseth)) { + // reset row height + $this->resetLastH(); + } + $dom = $this->getHtmlDomArray($html); + $maxel = count($dom); + $key = 0; + while ($key < $maxel) { + if ($dom[$key]['tag'] AND $dom[$key]['opening'] AND $dom[$key]['hide']) { + // store the node key + $hidden_node_key = $key; + if ($dom[$key]['self']) { + // skip just this self-closing tag + ++$key; + } else { + // skip this and all children tags + while (($key < $maxel) AND (!$dom[$key]['tag'] OR $dom[$key]['opening'] OR ($dom[$key]['parent'] != $hidden_node_key))) { + // skip hidden objects + ++$key; + } + ++$key; + } + } + if ($key == $maxel) break; + if ($dom[$key]['tag'] AND $dom[$key]['opening'] AND !empty($dom[$key]['attribute']['id'])) { + $this->setDestination($dom[$key]['attribute']['id']); + } + if ($dom[$key]['tag'] AND isset($dom[$key]['attribute']['pagebreak'])) { + // check for pagebreak + if (($dom[$key]['attribute']['pagebreak'] == 'true') OR ($dom[$key]['attribute']['pagebreak'] == 'left') OR ($dom[$key]['attribute']['pagebreak'] == 'right')) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + $this->htmlvspace = ($this->PageBreakTrigger + 1); + } + if ((($dom[$key]['attribute']['pagebreak'] == 'left') AND (((!$this->rtl) AND (($this->page % 2) == 0)) OR (($this->rtl) AND (($this->page % 2) != 0)))) + OR (($dom[$key]['attribute']['pagebreak'] == 'right') AND (((!$this->rtl) AND (($this->page % 2) != 0)) OR (($this->rtl) AND (($this->page % 2) == 0))))) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + $this->htmlvspace = ($this->PageBreakTrigger + 1); + } + } + if ($dom[$key]['tag'] AND $dom[$key]['opening'] AND isset($dom[$key]['attribute']['nobr']) AND ($dom[$key]['attribute']['nobr'] == 'true')) { + if (isset($dom[($dom[$key]['parent'])]['attribute']['nobr']) AND ($dom[($dom[$key]['parent'])]['attribute']['nobr'] == 'true')) { + $dom[$key]['attribute']['nobr'] = false; + } else { + // store current object + $this->startTransaction(); + // save this method vars + $this_method_vars['html'] = $html; + $this_method_vars['ln'] = $ln; + $this_method_vars['fill'] = $fill; + $this_method_vars['reseth'] = $reseth; + $this_method_vars['cell'] = $cell; + $this_method_vars['align'] = $align; + $this_method_vars['gvars'] = $gvars; + $this_method_vars['prevPage'] = $prevPage; + $this_method_vars['prev_cell_margin'] = $prev_cell_margin; + $this_method_vars['prev_cell_padding'] = $prev_cell_padding; + $this_method_vars['prevlMargin'] = $prevlMargin; + $this_method_vars['prevrMargin'] = $prevrMargin; + $this_method_vars['curfontname'] = $curfontname; + $this_method_vars['curfontstyle'] = $curfontstyle; + $this_method_vars['curfontsize'] = $curfontsize; + $this_method_vars['curfontascent'] = $curfontascent; + $this_method_vars['curfontdescent'] = $curfontdescent; + $this_method_vars['curfontstretcing'] = $curfontstretcing; + $this_method_vars['curfonttracking'] = $curfonttracking; + $this_method_vars['minstartliney'] = $minstartliney; + $this_method_vars['maxbottomliney'] = $maxbottomliney; + $this_method_vars['yshift'] = $yshift; + $this_method_vars['startlinepage'] = $startlinepage; + $this_method_vars['startlinepos'] = $startlinepos; + $this_method_vars['startlinex'] = $startlinex; + $this_method_vars['startliney'] = $startliney; + $this_method_vars['newline'] = $newline; + $this_method_vars['loop'] = $loop; + $this_method_vars['curpos'] = $curpos; + $this_method_vars['pask'] = $pask; + $this_method_vars['lalign'] = $lalign; + $this_method_vars['plalign'] = $plalign; + $this_method_vars['w'] = $w; + $this_method_vars['prev_cell_height_ratio'] = $prev_cell_height_ratio; + $this_method_vars['prev_listnum'] = $prev_listnum; + $this_method_vars['prev_listordered'] = $prev_listordered; + $this_method_vars['prev_listcount'] = $prev_listcount; + $this_method_vars['prev_lispacer'] = $prev_lispacer; + $this_method_vars['fontaligned'] = $fontaligned; + $this_method_vars['key'] = $key; + $this_method_vars['dom'] = $dom; + } + } + // print THEAD block + if (($dom[$key]['value'] == 'tr') AND isset($dom[$key]['thead']) AND $dom[$key]['thead']) { + if (isset($dom[$key]['parent']) AND isset($dom[$dom[$key]['parent']]['thead']) AND !TCPDF_STATIC::empty_string($dom[$dom[$key]['parent']]['thead'])) { + $this->inthead = true; + // print table header (thead) + $this->writeHTML($this->thead, false, false, false, false, ''); + // check if we are on a new page or on a new column + if (($this->y < $this->start_transaction_y) OR ($this->checkPageBreak($this->lasth, '', false))) { + // we are on a new page or on a new column and the total object height is less than the available vertical space. + // restore previous object + $this->rollbackTransaction(true); + // restore previous values + foreach ($this_method_vars as $vkey => $vval) { + $$vkey = $vval; + } + // disable table header + $tmp_thead = $this->thead; + $this->thead = ''; + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $pre_y = $this->y; + if ((!$this->checkPageBreak($this->PageBreakTrigger + 1)) AND ($this->y < $pre_y)) { + // fix for multicolumn mode + $startliney = $this->y; + } + $this->start_transaction_page = $this->page; + $this->start_transaction_y = $this->y; + // restore table header + $this->thead = $tmp_thead; + // fix table border properties + if (isset($dom[$dom[$key]['parent']]['attribute']['cellspacing'])) { + $tmp_cellspacing = $this->getHTMLUnitToUnits($dom[$dom[$key]['parent']]['attribute']['cellspacing'], 1, 'px'); + } elseif (isset($dom[$dom[$key]['parent']]['border-spacing'])) { + $tmp_cellspacing = $dom[$dom[$key]['parent']]['border-spacing']['V']; + } else { + $tmp_cellspacing = 0; + } + $dom[$dom[$key]['parent']]['borderposition']['page'] = $this->page; + $dom[$dom[$key]['parent']]['borderposition']['column'] = $this->current_column; + $dom[$dom[$key]['parent']]['borderposition']['y'] = $this->y + $tmp_cellspacing; + $xoffset = ($this->x - $dom[$dom[$key]['parent']]['borderposition']['x']); + $dom[$dom[$key]['parent']]['borderposition']['x'] += $xoffset; + $dom[$dom[$key]['parent']]['borderposition']['xmax'] += $xoffset; + // print table header (thead) + $this->writeHTML($this->thead, false, false, false, false, ''); + } + } + // move $key index forward to skip THEAD block + while ( ($key < $maxel) AND (!( + ($dom[$key]['tag'] AND $dom[$key]['opening'] AND ($dom[$key]['value'] == 'tr') AND (!isset($dom[$key]['thead']) OR !$dom[$key]['thead'])) + OR ($dom[$key]['tag'] AND (!$dom[$key]['opening']) AND ($dom[$key]['value'] == 'table'))) )) { + ++$key; + } + } + if ($dom[$key]['tag'] OR ($key == 0)) { + if ((($dom[$key]['value'] == 'table') OR ($dom[$key]['value'] == 'tr')) AND (isset($dom[$key]['align']))) { + $dom[$key]['align'] = ($this->rtl) ? 'R' : 'L'; + } + // vertically align image in line + if ((!$this->newline) AND ($dom[$key]['value'] == 'img') AND (isset($dom[$key]['height'])) AND ($dom[$key]['height'] > 0)) { + // get image height + $imgh = $this->getHTMLUnitToUnits($dom[$key]['height'], ($dom[$key]['fontsize'] / $this->k), 'px'); + $autolinebreak = false; + if (!empty($dom[$key]['width'])) { + $imgw = $this->getHTMLUnitToUnits($dom[$key]['width'], ($dom[$key]['fontsize'] / $this->k), 'px', false); + if (($imgw <= ($this->w - $this->lMargin - $this->rMargin - $this->cell_padding['L'] - $this->cell_padding['R'])) + AND ((($this->rtl) AND (($this->x - $imgw) < ($this->lMargin + $this->cell_padding['L']))) + OR ((!$this->rtl) AND (($this->x + $imgw) > ($this->w - $this->rMargin - $this->cell_padding['R']))))) { + // add automatic line break + $autolinebreak = true; + $this->Ln('', $cell); + if ((!$dom[($key-1)]['tag']) AND ($dom[($key-1)]['value'] == ' ')) { + // go back to evaluate this line break + --$key; + } + } + } + if (!$autolinebreak) { + if ($this->inPageBody()) { + $pre_y = $this->y; + // check for page break + if ((!$this->checkPageBreak($imgh)) AND ($this->y < $pre_y)) { + // fix for multicolumn mode + $startliney = $this->y; + } + } + if ($this->page > $startlinepage) { + // fix line splitted over two pages + if (isset($this->footerlen[$startlinepage])) { + $curpos = $this->pagelen[$startlinepage] - $this->footerlen[$startlinepage]; + } + // line to be moved one page forward + $pagebuff = $this->getPageBuffer($startlinepage); + $linebeg = substr($pagebuff, $startlinepos, ($curpos - $startlinepos)); + $tstart = substr($pagebuff, 0, $startlinepos); + $tend = substr($this->getPageBuffer($startlinepage), $curpos); + // remove line from previous page + $this->setPageBuffer($startlinepage, $tstart.''.$tend); + $pagebuff = $this->getPageBuffer($this->page); + $tstart = substr($pagebuff, 0, $this->cntmrk[$this->page]); + $tend = substr($pagebuff, $this->cntmrk[$this->page]); + // add line start to current page + $yshift = ($minstartliney - $this->y); + if ($fontaligned) { + $yshift += ($curfontsize / $this->k); + } + $try = sprintf('1 0 0 1 0 %F cm', ($yshift * $this->k)); + $this->setPageBuffer($this->page, $tstart."\nq\n".$try."\n".$linebeg."\nQ\n".$tend); + // shift the annotations and links + if (isset($this->PageAnnots[$this->page])) { + $next_pask = count($this->PageAnnots[$this->page]); + } else { + $next_pask = 0; + } + if (isset($this->PageAnnots[$startlinepage])) { + foreach ($this->PageAnnots[$startlinepage] as $pak => $pac) { + if ($pak >= $pask) { + $this->PageAnnots[$this->page][] = $pac; + unset($this->PageAnnots[$startlinepage][$pak]); + $npak = count($this->PageAnnots[$this->page]) - 1; + $this->PageAnnots[$this->page][$npak]['y'] -= $yshift; + } + } + } + $pask = $next_pask; + $startlinepos = $this->cntmrk[$this->page]; + $startlinepage = $this->page; + $startliney = $this->y; + $this->newline = false; + } + $this->y += ($this->getCellHeight($curfontsize / $this->k) - ($curfontdescent * $this->cell_height_ratio) - $imgh); + $minstartliney = min($this->y, $minstartliney); + $maxbottomliney = ($startliney + $this->getCellHeight($curfontsize / $this->k)); + } + } elseif (isset($dom[$key]['fontname']) OR isset($dom[$key]['fontstyle']) OR isset($dom[$key]['fontsize']) OR isset($dom[$key]['line-height'])) { + // account for different font size + $pfontname = $curfontname; + $pfontstyle = $curfontstyle; + $pfontsize = $curfontsize; + $fontname = (isset($dom[$key]['fontname']) ? $dom[$key]['fontname'] : $curfontname); + $fontstyle = (isset($dom[$key]['fontstyle']) ? $dom[$key]['fontstyle'] : $curfontstyle); + $fontsize = (isset($dom[$key]['fontsize']) ? $dom[$key]['fontsize'] : $curfontsize); + $fontascent = $this->getFontAscent($fontname, $fontstyle, $fontsize); + $fontdescent = $this->getFontDescent($fontname, $fontstyle, $fontsize); + if (($fontname != $curfontname) OR ($fontstyle != $curfontstyle) OR ($fontsize != $curfontsize) + OR ($this->cell_height_ratio != $dom[$key]['line-height']) + OR ($dom[$key]['tag'] AND $dom[$key]['opening'] AND ($dom[$key]['value'] == 'li')) ) { + if (($key < ($maxel - 1)) AND ( + ($dom[$key]['tag'] AND $dom[$key]['opening'] AND ($dom[$key]['value'] == 'li')) + OR ($this->cell_height_ratio != $dom[$key]['line-height']) + OR (!$this->newline AND is_numeric($fontsize) AND is_numeric($curfontsize) + AND ($fontsize >= 0) AND ($curfontsize >= 0) + AND (($fontsize != $curfontsize) OR ($fontstyle != $curfontstyle) OR ($fontname != $curfontname))) + )) { + if ($this->page > $startlinepage) { + // fix lines splitted over two pages + if (isset($this->footerlen[$startlinepage])) { + $curpos = $this->pagelen[$startlinepage] - $this->footerlen[$startlinepage]; + } + // line to be moved one page forward + $pagebuff = $this->getPageBuffer($startlinepage); + $linebeg = substr($pagebuff, $startlinepos, ($curpos - $startlinepos)); + $tstart = substr($pagebuff, 0, $startlinepos); + $tend = substr($this->getPageBuffer($startlinepage), $curpos); + // remove line start from previous page + $this->setPageBuffer($startlinepage, $tstart.''.$tend); + $pagebuff = $this->getPageBuffer($this->page); + $tstart = substr($pagebuff, 0, $this->cntmrk[$this->page]); + $tend = substr($pagebuff, $this->cntmrk[$this->page]); + // add line start to current page + $yshift = ($minstartliney - $this->y); + $try = sprintf('1 0 0 1 0 %F cm', ($yshift * $this->k)); + $this->setPageBuffer($this->page, $tstart."\nq\n".$try."\n".$linebeg."\nQ\n".$tend); + // shift the annotations and links + if (isset($this->PageAnnots[$this->page])) { + $next_pask = count($this->PageAnnots[$this->page]); + } else { + $next_pask = 0; + } + if (isset($this->PageAnnots[$startlinepage])) { + foreach ($this->PageAnnots[$startlinepage] as $pak => $pac) { + if ($pak >= $pask) { + $this->PageAnnots[$this->page][] = $pac; + unset($this->PageAnnots[$startlinepage][$pak]); + $npak = count($this->PageAnnots[$this->page]) - 1; + $this->PageAnnots[$this->page][$npak]['y'] -= $yshift; + } + } + } + $pask = $next_pask; + $startlinepos = $this->cntmrk[$this->page]; + $startlinepage = $this->page; + $startliney = $this->y; + } + if (!isset($dom[$key]['line-height'])) { + $dom[$key]['line-height'] = $this->cell_height_ratio; + } + if (!$dom[$key]['block']) { + if (!(isset($dom[($key + 1)]) AND $dom[($key + 1)]['tag'] AND (!$dom[($key + 1)]['opening']) AND ($dom[($key + 1)]['value'] != 'li') AND $dom[$key]['tag'] AND (!$dom[$key]['opening']))) { + $this->y += (((($curfontsize * $this->cell_height_ratio) - ($fontsize * $dom[$key]['line-height'])) / $this->k) + $curfontascent - $fontascent - $curfontdescent + $fontdescent) / 2; + } + if (($dom[$key]['value'] != 'sup') AND ($dom[$key]['value'] != 'sub')) { + $current_line_align_data = array($key, $minstartliney, $maxbottomliney); + if (isset($line_align_data) AND (($line_align_data[0] == ($key - 1)) OR (($line_align_data[0] == ($key - 2)) AND (isset($dom[($key - 1)])) AND (preg_match('/^([\s]+)$/', $dom[($key - 1)]['value']) > 0)))) { + $minstartliney = min($this->y, $line_align_data[1]); + $maxbottomliney = max(($this->y + $this->getCellHeight($fontsize / $this->k)), $line_align_data[2]); + } else { + $minstartliney = min($this->y, $minstartliney); + $maxbottomliney = max(($this->y + $this->getCellHeight($fontsize / $this->k)), $maxbottomliney); + } + $line_align_data = $current_line_align_data; + } + } + $this->cell_height_ratio = $dom[$key]['line-height']; + $fontaligned = true; + } + $this->setFont($fontname, $fontstyle, $fontsize); + // reset row height + $this->resetLastH(); + $curfontname = $fontname; + $curfontstyle = $fontstyle; + $curfontsize = $fontsize; + $curfontascent = $fontascent; + $curfontdescent = $fontdescent; + } + } + // set text rendering mode + $textstroke = isset($dom[$key]['stroke']) ? $dom[$key]['stroke'] : $this->textstrokewidth; + $textfill = isset($dom[$key]['fill']) ? $dom[$key]['fill'] : (($this->textrendermode % 2) == 0); + $textclip = isset($dom[$key]['clip']) ? $dom[$key]['clip'] : ($this->textrendermode > 3); + $this->setTextRenderingMode($textstroke, $textfill, $textclip); + if (isset($dom[$key]['font-stretch']) AND ($dom[$key]['font-stretch'] !== false)) { + $this->setFontStretching($dom[$key]['font-stretch']); + } + if (isset($dom[$key]['letter-spacing']) AND ($dom[$key]['letter-spacing'] !== false)) { + $this->setFontSpacing($dom[$key]['letter-spacing']); + } + if (($plalign == 'J') AND $dom[$key]['block']) { + $plalign = ''; + } + // get current position on page buffer + $curpos = $this->pagelen[$startlinepage]; + if (isset($dom[$key]['bgcolor']) AND ($dom[$key]['bgcolor'] !== false)) { + $this->setFillColorArray($dom[$key]['bgcolor']); + $wfill = true; + } else { + $wfill = $fill | false; + } + if (isset($dom[$key]['fgcolor']) AND ($dom[$key]['fgcolor'] !== false)) { + $this->setTextColorArray($dom[$key]['fgcolor']); + } + if (isset($dom[$key]['strokecolor']) AND ($dom[$key]['strokecolor'] !== false)) { + $this->setDrawColorArray($dom[$key]['strokecolor']); + } + if (isset($dom[$key]['align'])) { + $lalign = $dom[$key]['align']; + } + if (TCPDF_STATIC::empty_string($lalign)) { + $lalign = $align; + } + } + // align lines + if ($this->newline AND (strlen($dom[$key]['value']) > 0) AND ($dom[$key]['value'] != 'td') AND ($dom[$key]['value'] != 'th')) { + $newline = true; + $fontaligned = false; + // we are at the beginning of a new line + if (isset($startlinex)) { + $yshift = ($minstartliney - $startliney); + if (($yshift > 0) OR ($this->page > $startlinepage)) { + $yshift = 0; + } + $t_x = 0; + // the last line must be shifted to be aligned as requested + $linew = abs($this->endlinex - $startlinex); + if ($this->inxobj) { + // we are inside an XObject template + $pstart = substr($this->xobjects[$this->xobjid]['outdata'], 0, $startlinepos); + if (isset($opentagpos)) { + $midpos = $opentagpos; + } else { + $midpos = 0; + } + if ($midpos > 0) { + $pmid = substr($this->xobjects[$this->xobjid]['outdata'], $startlinepos, ($midpos - $startlinepos)); + $pend = substr($this->xobjects[$this->xobjid]['outdata'], $midpos); + } else { + $pmid = substr($this->xobjects[$this->xobjid]['outdata'], $startlinepos); + $pend = ''; + } + } else { + $pstart = substr($this->getPageBuffer($startlinepage), 0, $startlinepos); + if (isset($opentagpos) AND isset($this->footerlen[$startlinepage]) AND (!$this->InFooter)) { + $this->footerpos[$startlinepage] = $this->pagelen[$startlinepage] - $this->footerlen[$startlinepage]; + $midpos = min($opentagpos, $this->footerpos[$startlinepage]); + } elseif (isset($opentagpos)) { + $midpos = $opentagpos; + } elseif (isset($this->footerlen[$startlinepage]) AND (!$this->InFooter)) { + $this->footerpos[$startlinepage] = $this->pagelen[$startlinepage] - $this->footerlen[$startlinepage]; + $midpos = $this->footerpos[$startlinepage]; + } else { + $midpos = 0; + } + if ($midpos > 0) { + $pmid = substr($this->getPageBuffer($startlinepage), $startlinepos, ($midpos - $startlinepos)); + $pend = substr($this->getPageBuffer($startlinepage), $midpos); + } else { + $pmid = substr($this->getPageBuffer($startlinepage), $startlinepos); + $pend = ''; + } + } + if ((((($plalign == 'C') OR ($plalign == 'J') OR (($plalign == 'R') AND (!$this->rtl)) OR (($plalign == 'L') AND ($this->rtl)))))) { + // calculate shifting amount + $tw = $w; + if (($plalign == 'J') AND $this->isRTLTextDir() AND ($this->num_columns > 1)) { + $tw += $this->cell_padding['R']; + } + if ($this->lMargin != $prevlMargin) { + $tw += ($prevlMargin - $this->lMargin); + } + if ($this->rMargin != $prevrMargin) { + $tw += ($prevrMargin - $this->rMargin); + } + $one_space_width = $this->GetStringWidth(chr(32)); + $no = 0; // number of spaces on a line contained on a single block + if ($this->isRTLTextDir()) { // RTL + // remove left space if exist + $pos1 = TCPDF_STATIC::revstrpos($pmid, '[('); + if ($pos1 > 0) { + $pos1 = intval($pos1); + if ($this->isUnicodeFont()) { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, '[('.chr(0).chr(32))); + $spacelen = 2; + } else { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, '[('.chr(32))); + $spacelen = 1; + } + if ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 2 + $spacelen)); + if (substr($pmid, $pos1, 4) == '[()]') { + $linew -= $one_space_width; + } elseif ($pos1 == strpos($pmid, '[(')) { + $no = 1; + } + } + } + } else { // LTR + // remove right space if exist + $pos1 = TCPDF_STATIC::revstrpos($pmid, ')]'); + if ($pos1 > 0) { + $pos1 = intval($pos1); + if ($this->isUnicodeFont()) { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, chr(0).chr(32).')]')) + 2; + $spacelen = 2; + } else { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, chr(32).')]')) + 1; + $spacelen = 1; + } + if ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 - $spacelen)).substr($pmid, $pos1); + $linew -= $one_space_width; + } + } + } + $mdiff = ($tw - $linew); + if ($plalign == 'C') { + if ($this->rtl) { + $t_x = -($mdiff / 2); + } else { + $t_x = ($mdiff / 2); + } + } elseif ($plalign == 'R') { + // right alignment on LTR document + $t_x = $mdiff; + } elseif ($plalign == 'L') { + // left alignment on RTL document + $t_x = -$mdiff; + } elseif (($plalign == 'J') AND ($plalign == $lalign)) { + // Justification + if ($this->isRTLTextDir()) { + // align text on the left + $t_x = -$mdiff; + } + $ns = 0; // number of spaces + $pmidtemp = $pmid; + // escape special characters + $pmidtemp = preg_replace('/[\\\][\(]/x', '\\#!#OP#!#', $pmidtemp); + $pmidtemp = preg_replace('/[\\\][\)]/x', '\\#!#CP#!#', $pmidtemp); + // search spaces + if (preg_match_all('/\[\(([^\)]*)\)\]/x', $pmidtemp, $lnstring, PREG_PATTERN_ORDER)) { + $spacestr = $this->getSpaceString(); + $maxkk = count($lnstring[1]) - 1; + for ($kk=0; $kk <= $maxkk; ++$kk) { + // restore special characters + $lnstring[1][$kk] = str_replace('#!#OP#!#', '(', $lnstring[1][$kk]); + $lnstring[1][$kk] = str_replace('#!#CP#!#', ')', $lnstring[1][$kk]); + // store number of spaces on the strings + $lnstring[2][$kk] = substr_count($lnstring[1][$kk], $spacestr); + // count total spaces on line + $ns += $lnstring[2][$kk]; + $lnstring[3][$kk] = $ns; + } + if ($ns == 0) { + $ns = 1; + } + // calculate additional space to add to each existing space + $spacewidth = ($mdiff / ($ns - $no)) * $this->k; + if ($this->FontSize <= 0) { + $this->FontSize = 1; + } + $spacewidthu = -1000 * ($mdiff + (($ns + $no) * $one_space_width)) / $ns / $this->FontSize; + if ($this->font_spacing != 0) { + // fixed spacing mode + $osw = -1000 * $this->font_spacing / $this->FontSize; + $spacewidthu += $osw; + } + $nsmax = $ns; + $ns = 0; + reset($lnstring); + $offset = 0; + $strcount = 0; + $prev_epsposbeg = 0; + $textpos = 0; + if ($this->isRTLTextDir()) { + $textpos = $this->wPt; + } + while (preg_match('/([0-9\.\+\-]*)[\s](Td|cm|m|l|c|re)[\s]/x', $pmid, $strpiece, PREG_OFFSET_CAPTURE, $offset) == 1) { + // check if we are inside a string section '[( ... )]' + $stroffset = strpos($pmid, '[(', $offset); + if (($stroffset !== false) AND ($stroffset <= $strpiece[2][1])) { + // set offset to the end of string section + $offset = strpos($pmid, ')]', $stroffset); + while (($offset !== false) AND ($pmid[($offset - 1)] == '\\')) { + $offset = strpos($pmid, ')]', ($offset + 1)); + } + if ($offset === false) { + $this->Error('HTML Justification: malformed PDF code.'); + } + continue; + } + if ($this->isRTLTextDir()) { + $spacew = ($spacewidth * ($nsmax - $ns)); + } else { + $spacew = ($spacewidth * $ns); + } + $offset = $strpiece[2][1] + strlen($strpiece[2][0]); + $epsposend = strpos($pmid, $this->epsmarker.'Q', $offset); + if ($epsposend !== null) { + $epsposend += strlen($this->epsmarker.'Q'); + $epsposbeg = strpos($pmid, 'q'.$this->epsmarker, $offset); + if ($epsposbeg === null) { + $epsposbeg = strpos($pmid, 'q'.$this->epsmarker, ($prev_epsposbeg - 6)); + $prev_epsposbeg = $epsposbeg; + } + if (($epsposbeg > 0) AND ($epsposend > 0) AND ($offset > $epsposbeg) AND ($offset < $epsposend)) { + // shift EPS images + $trx = sprintf('1 0 0 1 %F 0 cm', $spacew); + $pmid_b = substr($pmid, 0, $epsposbeg); + $pmid_m = substr($pmid, $epsposbeg, ($epsposend - $epsposbeg)); + $pmid_e = substr($pmid, $epsposend); + $pmid = $pmid_b."\nq\n".$trx."\n".$pmid_m."\nQ\n".$pmid_e; + $offset = $epsposend; + continue; + } + } + $currentxpos = 0; + // shift blocks of code + switch ($strpiece[2][0]) { + case 'Td': + case 'cm': + case 'm': + case 'l': { + // get current X position + preg_match('/([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x', $pmid, $xmatches); + if (!isset($xmatches[1])) { + break; + } + $currentxpos = $xmatches[1]; + $textpos = $currentxpos; + if (($strcount <= $maxkk) AND ($strpiece[2][0] == 'Td')) { + $ns = $lnstring[3][$strcount]; + if ($this->isRTLTextDir()) { + $spacew = ($spacewidth * ($nsmax - $ns)); + } + ++$strcount; + } + // justify block + if (preg_match('/([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x', $pmid, $pmatch) == 1) { + $newpmid = sprintf('%F',(floatval($pmatch[1]) + $spacew)).' '.$pmatch[2].' x*#!#*x'.$pmatch[3].$pmatch[4]; + $pmid = str_replace($pmatch[0], $newpmid, $pmid); + unset($pmatch, $newpmid); + } + break; + } + case 're': { + // justify block + if (!TCPDF_STATIC::empty_string($this->lispacer)) { + $this->lispacer = ''; + break; + } + preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s](re)([\s]*)/x', $pmid, $xmatches); + if (!isset($xmatches[1])) { + break; + } + $currentxpos = $xmatches[1]; + $x_diff = 0; + $w_diff = 0; + if ($this->isRTLTextDir()) { // RTL + if ($currentxpos < $textpos) { + $x_diff = ($spacewidth * ($nsmax - $lnstring[3][$strcount])); + $w_diff = ($spacewidth * $lnstring[2][$strcount]); + } else { + if ($strcount > 0) { + $x_diff = ($spacewidth * ($nsmax - $lnstring[3][($strcount - 1)])); + $w_diff = ($spacewidth * $lnstring[2][($strcount - 1)]); + } + } + } else { // LTR + if ($currentxpos > $textpos) { + if ($strcount > 0) { + $x_diff = ($spacewidth * $lnstring[3][($strcount - 1)]); + } + $w_diff = ($spacewidth * $lnstring[2][$strcount]); + } else { + if ($strcount > 1) { + $x_diff = ($spacewidth * $lnstring[3][($strcount - 2)]); + } + if ($strcount > 0) { + $w_diff = ($spacewidth * $lnstring[2][($strcount - 1)]); + } + } + } + if (preg_match('/('.$xmatches[1].')[\s]('.$xmatches[2].')[\s]('.$xmatches[3].')[\s]('.$strpiece[1][0].')[\s](re)([\s]*)/x', $pmid, $pmatch) == 1) { + $newx = sprintf('%F',(floatval($pmatch[1]) + $x_diff)); + $neww = sprintf('%F',(floatval($pmatch[3]) + $w_diff)); + $newpmid = $newx.' '.$pmatch[2].' '.$neww.' '.$pmatch[4].' x*#!#*x'.$pmatch[5].$pmatch[6]; + $pmid = str_replace($pmatch[0], $newpmid, $pmid); + unset($pmatch, $newpmid, $newx, $neww); + } + break; + } + case 'c': { + // get current X position + preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s](c)([\s]*)/x', $pmid, $xmatches); + if (!isset($xmatches[1])) { + break; + } + $currentxpos = $xmatches[1]; + // justify block + if (preg_match('/('.$xmatches[1].')[\s]('.$xmatches[2].')[\s]('.$xmatches[3].')[\s]('.$xmatches[4].')[\s]('.$xmatches[5].')[\s]('.$strpiece[1][0].')[\s](c)([\s]*)/x', $pmid, $pmatch) == 1) { + $newx1 = sprintf('%F',(floatval($pmatch[1]) + $spacew)); + $newx2 = sprintf('%F',(floatval($pmatch[3]) + $spacew)); + $newx3 = sprintf('%F',(floatval($pmatch[5]) + $spacew)); + $newpmid = $newx1.' '.$pmatch[2].' '.$newx2.' '.$pmatch[4].' '.$newx3.' '.$pmatch[6].' x*#!#*x'.$pmatch[7].$pmatch[8]; + $pmid = str_replace($pmatch[0], $newpmid, $pmid); + unset($pmatch, $newpmid, $newx1, $newx2, $newx3); + } + break; + } + } + // shift the annotations and links + $cxpos = ($currentxpos / $this->k); + $lmpos = ($this->lMargin + $this->cell_padding['L'] + $this->feps); + if ($this->inxobj) { + // we are inside an XObject template + foreach ($this->xobjects[$this->xobjid]['annotations'] as $pak => $pac) { + if (($pac['y'] >= $minstartliney) AND (($pac['x'] * $this->k) >= ($currentxpos - $this->feps)) AND (($pac['x'] * $this->k) <= ($currentxpos + $this->feps))) { + if ($cxpos > $lmpos) { + $this->xobjects[$this->xobjid]['annotations'][$pak]['x'] += ($spacew / $this->k); + $this->xobjects[$this->xobjid]['annotations'][$pak]['w'] += (($spacewidth * $pac['numspaces']) / $this->k); + } else { + $this->xobjects[$this->xobjid]['annotations'][$pak]['w'] += (($spacewidth * $pac['numspaces']) / $this->k); + } + break; + } + } + } elseif (isset($this->PageAnnots[$this->page])) { + foreach ($this->PageAnnots[$this->page] as $pak => $pac) { + if (($pac['y'] >= $minstartliney) AND (($pac['x'] * $this->k) >= ($currentxpos - $this->feps)) AND (($pac['x'] * $this->k) <= ($currentxpos + $this->feps))) { + if ($cxpos > $lmpos) { + $this->PageAnnots[$this->page][$pak]['x'] += ($spacew / $this->k); + $this->PageAnnots[$this->page][$pak]['w'] += (($spacewidth * $pac['numspaces']) / $this->k); + } else { + $this->PageAnnots[$this->page][$pak]['w'] += (($spacewidth * $pac['numspaces']) / $this->k); + } + break; + } + } + } + } // end of while + // remove markers + $pmid = str_replace('x*#!#*x', '', $pmid); + if ($this->isUnicodeFont()) { + // multibyte characters + $spacew = $spacewidthu; + if ($this->font_stretching != 100) { + // word spacing is affected by stretching + $spacew /= ($this->font_stretching / 100); + } + // escape special characters + $pos = 0; + $pmid = preg_replace('/[\\\][\(]/x', '\\#!#OP#!#', $pmid); + $pmid = preg_replace('/[\\\][\)]/x', '\\#!#CP#!#', $pmid); + if (preg_match_all('/\[\(([^\)]*)\)\]/x', $pmid, $pamatch) > 0) { + foreach($pamatch[0] as $pk => $pmatch) { + $replace = $pamatch[1][$pk]; + $replace = str_replace('#!#OP#!#', '(', $replace); + $replace = str_replace('#!#CP#!#', ')', $replace); + $newpmid = '[('.str_replace(chr(0).chr(32), ') '.sprintf('%F', $spacew).' (', $replace).')]'; + $pos = strpos($pmid, $pmatch, $pos); + if ($pos !== FALSE) { + $pmid = substr_replace($pmid, $newpmid, $pos, strlen($pmatch)); + } + ++$pos; + } + unset($pamatch); + } + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['outdata'] = $pstart."\n".$pmid."\n".$pend; + } else { + $this->setPageBuffer($startlinepage, $pstart."\n".$pmid."\n".$pend); + } + $endlinepos = strlen($pstart."\n".$pmid."\n"); + } else { + // non-unicode (single-byte characters) + if ($this->font_stretching != 100) { + // word spacing (Tw) is affected by stretching + $spacewidth /= ($this->font_stretching / 100); + } + $rs = sprintf('%F Tw', $spacewidth); + $pmid = preg_replace("/\[\(/x", $rs.' [(', $pmid); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['outdata'] = $pstart."\n".$pmid."\nBT 0 Tw ET\n".$pend; + } else { + $this->setPageBuffer($startlinepage, $pstart."\n".$pmid."\nBT 0 Tw ET\n".$pend); + } + $endlinepos = strlen($pstart."\n".$pmid."\nBT 0 Tw ET\n"); + } + } + } // end of J + } // end if $startlinex + if (($t_x != 0) OR ($yshift < 0)) { + // shift the line + $trx = sprintf('1 0 0 1 %F %F cm', ($t_x * $this->k), ($yshift * $this->k)); + $pstart .= "\nq\n".$trx."\n".$pmid."\nQ\n"; + $endlinepos = strlen($pstart); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['outdata'] = $pstart.$pend; + foreach ($this->xobjects[$this->xobjid]['annotations'] as $pak => $pac) { + if ($pak >= $pask) { + $this->xobjects[$this->xobjid]['annotations'][$pak]['x'] += $t_x; + $this->xobjects[$this->xobjid]['annotations'][$pak]['y'] -= $yshift; + } + } + } else { + $this->setPageBuffer($startlinepage, $pstart.$pend); + // shift the annotations and links + if (isset($this->PageAnnots[$this->page])) { + foreach ($this->PageAnnots[$this->page] as $pak => $pac) { + if ($pak >= $pask) { + $this->PageAnnots[$this->page][$pak]['x'] += $t_x; + $this->PageAnnots[$this->page][$pak]['y'] -= $yshift; + } + } + } + } + $this->y -= $yshift; + } + } + $pbrk = $this->checkPageBreak($this->lasth); + $this->newline = false; + $startlinex = $this->x; + $startliney = $this->y; + if ($dom[$dom[$key]['parent']]['value'] == 'sup') { + $startliney -= ((0.3 * $this->FontSizePt) / $this->k); + } elseif ($dom[$dom[$key]['parent']]['value'] == 'sub') { + $startliney -= (($this->FontSizePt / 0.7) / $this->k); + } else { + $minstartliney = $startliney; + $maxbottomliney = ($this->y + $this->getCellHeight($fontsize / $this->k)); + } + $startlinepage = $this->page; + if (isset($endlinepos) AND (!$pbrk)) { + $startlinepos = $endlinepos; + } else { + if ($this->inxobj) { + // we are inside an XObject template + $startlinepos = strlen($this->xobjects[$this->xobjid]['outdata']); + } elseif (!$this->InFooter) { + if (isset($this->footerlen[$this->page])) { + $this->footerpos[$this->page] = $this->pagelen[$this->page] - $this->footerlen[$this->page]; + } else { + $this->footerpos[$this->page] = $this->pagelen[$this->page]; + } + $startlinepos = $this->footerpos[$this->page]; + } else { + $startlinepos = $this->pagelen[$this->page]; + } + } + unset($endlinepos); + $plalign = $lalign; + if (isset($this->PageAnnots[$this->page])) { + $pask = count($this->PageAnnots[$this->page]); + } else { + $pask = 0; + } + if (!($dom[$key]['tag'] AND !$dom[$key]['opening'] AND ($dom[$key]['value'] == 'table') + AND (isset($this->emptypagemrk[$this->page])) + AND ($this->emptypagemrk[$this->page] == $this->pagelen[$this->page]))) { + $this->setFont($fontname, $fontstyle, $fontsize); + if ($wfill) { + $this->setFillColorArray($this->bgcolor); + } + } + } // end newline + if (isset($opentagpos)) { + unset($opentagpos); + } + if ($dom[$key]['tag']) { + if ($dom[$key]['opening']) { + // get text indentation (if any) + if (isset($dom[$key]['text-indent']) AND $dom[$key]['block']) { + $this->textindent = $dom[$key]['text-indent']; + $this->newline = true; + } + // table + if (($dom[$key]['value'] == 'table') AND isset($dom[$key]['cols']) AND ($dom[$key]['cols'] > 0)) { + // available page width + if ($this->rtl) { + $wtmp = $this->x - $this->lMargin; + } else { + $wtmp = $this->w - $this->rMargin - $this->x; + } + // get cell spacing + if (isset($dom[$key]['attribute']['cellspacing'])) { + $clsp = $this->getHTMLUnitToUnits($dom[$key]['attribute']['cellspacing'], 1, 'px'); + $cellspacing = array('H' => $clsp, 'V' => $clsp); + } elseif (isset($dom[$key]['border-spacing'])) { + $cellspacing = $dom[$key]['border-spacing']; + } else { + $cellspacing = array('H' => 0, 'V' => 0); + } + // table width + if (isset($dom[$key]['width'])) { + $table_width = $this->getHTMLUnitToUnits($dom[$key]['width'], $wtmp, 'px'); + } else { + $table_width = $wtmp; + } + $table_width -= (2 * $cellspacing['H']); + if (!$this->inthead) { + $this->y += $cellspacing['V']; + } + if ($this->rtl) { + $cellspacingx = -$cellspacing['H']; + } else { + $cellspacingx = $cellspacing['H']; + } + // total table width without cellspaces + $table_columns_width = ($table_width - ($cellspacing['H'] * ($dom[$key]['cols'] - 1))); + // minimum column width + $table_min_column_width = ($table_columns_width / $dom[$key]['cols']); + // array of custom column widths + $table_colwidths = array_fill(0, $dom[$key]['cols'], $table_min_column_width); + } + // table row + if ($dom[$key]['value'] == 'tr') { + // reset column counter + $colid = 0; + } + // table cell + if (($dom[$key]['value'] == 'td') OR ($dom[$key]['value'] == 'th')) { + $trid = $dom[$key]['parent']; + $table_el = $dom[$trid]['parent']; + if (!isset($dom[$table_el]['cols'])) { + $dom[$table_el]['cols'] = $dom[$trid]['cols']; + } + // store border info + $tdborder = 0; + if (isset($dom[$key]['border']) AND !empty($dom[$key]['border'])) { + $tdborder = $dom[$key]['border']; + } + $colspan = intval($dom[$key]['attribute']['colspan']); + if ($colspan <= 0) { + $colspan = 1; + } + $old_cell_padding = $this->cell_padding; + if (isset($dom[($dom[$trid]['parent'])]['attribute']['cellpadding'])) { + $crclpd = $this->getHTMLUnitToUnits($dom[($dom[$trid]['parent'])]['attribute']['cellpadding'], 1, 'px'); + $current_cell_padding = array('L' => $crclpd, 'T' => $crclpd, 'R' => $crclpd, 'B' => $crclpd); + } elseif (isset($dom[($dom[$trid]['parent'])]['padding'])) { + $current_cell_padding = $dom[($dom[$trid]['parent'])]['padding']; + } else { + $current_cell_padding = array('L' => 0, 'T' => 0, 'R' => 0, 'B' => 0); + } + $this->cell_padding = $current_cell_padding; + if (isset($dom[$key]['height'])) { + // minimum cell height + $cellh = $this->getHTMLUnitToUnits($dom[$key]['height'], 0, 'px'); + } else { + $cellh = 0; + } + if (isset($dom[$key]['content'])) { + $cell_content = $dom[$key]['content']; + } else { + $cell_content = ' '; + } + $tagtype = $dom[$key]['value']; + $parentid = $key; + while (($key < $maxel) AND (!(($dom[$key]['tag']) AND (!$dom[$key]['opening']) AND ($dom[$key]['value'] == $tagtype) AND ($dom[$key]['parent'] == $parentid)))) { + // move $key index forward + ++$key; + } + if (!isset($dom[$trid]['startpage'])) { + $dom[$trid]['startpage'] = $this->page; + } else { + $this->setPage($dom[$trid]['startpage']); + } + if (!isset($dom[$trid]['startcolumn'])) { + $dom[$trid]['startcolumn'] = $this->current_column; + } elseif ($this->current_column != $dom[$trid]['startcolumn']) { + $tmpx = $this->x; + $this->selectColumn($dom[$trid]['startcolumn']); + $this->x = $tmpx; + } + if (!isset($dom[$trid]['starty'])) { + $dom[$trid]['starty'] = $this->y; + } else { + $this->y = $dom[$trid]['starty']; + } + if (!isset($dom[$trid]['startx'])) { + $dom[$trid]['startx'] = $this->x; + $this->x += $cellspacingx; + } else { + $this->x += ($cellspacingx / 2); + } + if (isset($dom[$parentid]['attribute']['rowspan'])) { + $rowspan = intval($dom[$parentid]['attribute']['rowspan']); + } else { + $rowspan = 1; + } + // skip row-spanned cells started on the previous rows + if (isset($dom[$table_el]['rowspans'])) { + $rsk = 0; + $rskmax = count($dom[$table_el]['rowspans']); + while ($rsk < $rskmax) { + $trwsp = $dom[$table_el]['rowspans'][$rsk]; + $rsstartx = $trwsp['startx']; + $rsendx = $trwsp['endx']; + // account for margin changes + if ($trwsp['startpage'] < $this->page) { + if (($this->rtl) AND ($this->pagedim[$this->page]['orm'] != $this->pagedim[$trwsp['startpage']]['orm'])) { + $dl = ($this->pagedim[$this->page]['orm'] - $this->pagedim[$trwsp['startpage']]['orm']); + $rsstartx -= $dl; + $rsendx -= $dl; + } elseif ((!$this->rtl) AND ($this->pagedim[$this->page]['olm'] != $this->pagedim[$trwsp['startpage']]['olm'])) { + $dl = ($this->pagedim[$this->page]['olm'] - $this->pagedim[$trwsp['startpage']]['olm']); + $rsstartx += $dl; + $rsendx += $dl; + } + } + if (($trwsp['rowspan'] > 0) + AND ($rsstartx > ($this->x - $cellspacing['H'] - $current_cell_padding['L'] - $this->feps)) + AND ($rsstartx < ($this->x + $cellspacing['H'] + $current_cell_padding['R'] + $this->feps)) + AND (($trwsp['starty'] < ($this->y - $this->feps)) OR ($trwsp['startpage'] < $this->page) OR ($trwsp['startcolumn'] < $this->current_column))) { + // set the starting X position of the current cell + $this->x = $rsendx + $cellspacingx; + // increment column indicator + $colid += $trwsp['colspan']; + if (($trwsp['rowspan'] == 1) + AND (isset($dom[$trid]['endy'])) + AND (isset($dom[$trid]['endpage'])) + AND (isset($dom[$trid]['endcolumn'])) + AND ($trwsp['endpage'] == $dom[$trid]['endpage']) + AND ($trwsp['endcolumn'] == $dom[$trid]['endcolumn'])) { + // set ending Y position for row + $dom[$table_el]['rowspans'][$rsk]['endy'] = max($dom[$trid]['endy'], $trwsp['endy']); + $dom[$trid]['endy'] = $dom[$table_el]['rowspans'][$rsk]['endy']; + } + $rsk = 0; + } else { + ++$rsk; + } + } + } + if (isset($dom[$parentid]['width'])) { + // user specified width + $cellw = $this->getHTMLUnitToUnits($dom[$parentid]['width'], $table_columns_width, 'px'); + $tmpcw = ($cellw / $colspan); + for ($i = 0; $i < $colspan; ++$i) { + $table_colwidths[($colid + $i)] = $tmpcw; + } + } else { + // inherit column width + $cellw = 0; + for ($i = 0; $i < $colspan; ++$i) { + $cellw += (isset($table_colwidths[($colid + $i)]) ? $table_colwidths[($colid + $i)] : 0); + } + } + $cellw += (($colspan - 1) * $cellspacing['H']); + // increment column indicator + $colid += $colspan; + // add rowspan information to table element + if ($rowspan > 1) { + $trsid = array_push($dom[$table_el]['rowspans'], array('trid' => $trid, 'rowspan' => $rowspan, 'mrowspan' => $rowspan, 'colspan' => $colspan, 'startpage' => $this->page, 'startcolumn' => $this->current_column, 'startx' => $this->x, 'starty' => $this->y)); + } + $cellid = array_push($dom[$trid]['cellpos'], array('startx' => $this->x)); + if ($rowspan > 1) { + $dom[$trid]['cellpos'][($cellid - 1)]['rowspanid'] = ($trsid - 1); + } + // push background colors + if (isset($dom[$parentid]['bgcolor']) AND ($dom[$parentid]['bgcolor'] !== false)) { + $dom[$trid]['cellpos'][($cellid - 1)]['bgcolor'] = $dom[$parentid]['bgcolor']; + } + // store border info + if (!empty($tdborder)) { + $dom[$trid]['cellpos'][($cellid - 1)]['border'] = $tdborder; + } + $prevLastH = $this->lasth; + // store some info for multicolumn mode + if ($this->rtl) { + $this->colxshift['x'] = $this->w - $this->x - $this->rMargin; + } else { + $this->colxshift['x'] = $this->x - $this->lMargin; + } + $this->colxshift['s'] = $cellspacing; + $this->colxshift['p'] = $current_cell_padding; + // ****** write the cell content ****** + $this->MultiCell($cellw, $cellh, $cell_content, false, $lalign, false, 2, '', '', true, 0, true, true, 0, 'T', false); + // restore some values + $this->colxshift = array('x' => 0, 's' => array('H' => 0, 'V' => 0), 'p' => array('L' => 0, 'T' => 0, 'R' => 0, 'B' => 0)); + $this->lasth = $prevLastH; + $this->cell_padding = $old_cell_padding; + $dom[$trid]['cellpos'][($cellid - 1)]['endx'] = $this->x; + // update the end of row position + if ($rowspan <= 1) { + if (isset($dom[$trid]['endy'])) { + if (($this->page == $dom[$trid]['endpage']) AND ($this->current_column == $dom[$trid]['endcolumn'])) { + $dom[$trid]['endy'] = max($this->y, $dom[$trid]['endy']); + } elseif (($this->page > $dom[$trid]['endpage']) OR ($this->current_column > $dom[$trid]['endcolumn'])) { + $dom[$trid]['endy'] = $this->y; + } + } else { + $dom[$trid]['endy'] = $this->y; + } + if (isset($dom[$trid]['endpage'])) { + $dom[$trid]['endpage'] = max($this->page, $dom[$trid]['endpage']); + } else { + $dom[$trid]['endpage'] = $this->page; + } + if (isset($dom[$trid]['endcolumn'])) { + $dom[$trid]['endcolumn'] = max($this->current_column, $dom[$trid]['endcolumn']); + } else { + $dom[$trid]['endcolumn'] = $this->current_column; + } + } else { + // account for row-spanned cells + $dom[$table_el]['rowspans'][($trsid - 1)]['endx'] = $this->x; + $dom[$table_el]['rowspans'][($trsid - 1)]['endy'] = $this->y; + $dom[$table_el]['rowspans'][($trsid - 1)]['endpage'] = $this->page; + $dom[$table_el]['rowspans'][($trsid - 1)]['endcolumn'] = $this->current_column; + } + if (isset($dom[$table_el]['rowspans'])) { + // update endy and endpage on rowspanned cells + foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { + if ($trwsp['rowspan'] > 0) { + if (isset($dom[$trid]['endpage'])) { + if (($trwsp['endpage'] == $dom[$trid]['endpage']) AND ($trwsp['endcolumn'] == $dom[$trid]['endcolumn'])) { + $dom[$table_el]['rowspans'][$k]['endy'] = max($dom[$trid]['endy'], $trwsp['endy']); + } elseif (($trwsp['endpage'] < $dom[$trid]['endpage']) OR ($trwsp['endcolumn'] < $dom[$trid]['endcolumn'])) { + $dom[$table_el]['rowspans'][$k]['endy'] = $dom[$trid]['endy']; + $dom[$table_el]['rowspans'][$k]['endpage'] = $dom[$trid]['endpage']; + $dom[$table_el]['rowspans'][$k]['endcolumn'] = $dom[$trid]['endcolumn']; + } else { + $dom[$trid]['endy'] = $this->pagedim[$dom[$trid]['endpage']]['hk'] - $this->pagedim[$dom[$trid]['endpage']]['bm']; + } + } + } + } + } + $this->x += ($cellspacingx / 2); + } else { + // opening tag (or self-closing tag) + if (!isset($opentagpos)) { + if ($this->inxobj) { + // we are inside an XObject template + $opentagpos = strlen($this->xobjects[$this->xobjid]['outdata']); + } elseif (!$this->InFooter) { + if (isset($this->footerlen[$this->page])) { + $this->footerpos[$this->page] = $this->pagelen[$this->page] - $this->footerlen[$this->page]; + } else { + $this->footerpos[$this->page] = $this->pagelen[$this->page]; + } + $opentagpos = $this->footerpos[$this->page]; + } + } + $dom = $this->openHTMLTagHandler($dom, $key, $cell); + } + } else { // closing tag + $prev_numpages = $this->numpages; + $old_bordermrk = $this->bordermrk[$this->page]; + $dom = $this->closeHTMLTagHandler($dom, $key, $cell, $maxbottomliney); + if ($this->bordermrk[$this->page] > $old_bordermrk) { + $startlinepos += ($this->bordermrk[$this->page] - $old_bordermrk); + } + if ($prev_numpages > $this->numpages) { + $startlinepage = $this->page; + } + } + } elseif (strlen($dom[$key]['value']) > 0) { + // print list-item + if (!TCPDF_STATIC::empty_string($this->lispacer) AND ($this->lispacer != '^')) { + $this->setFont($pfontname, $pfontstyle, $pfontsize); + $this->resetLastH(); + $minstartliney = $this->y; + $maxbottomliney = ($startliney + $this->getCellHeight($this->FontSize)); + if (is_numeric($pfontsize) AND ($pfontsize > 0)) { + $this->putHtmlListBullet($this->listnum, $this->lispacer, $pfontsize); + } + $this->setFont($curfontname, $curfontstyle, $curfontsize); + $this->resetLastH(); + if (is_numeric($pfontsize) AND ($pfontsize > 0) AND is_numeric($curfontsize) AND ($curfontsize > 0) AND ($pfontsize != $curfontsize)) { + $pfontascent = $this->getFontAscent($pfontname, $pfontstyle, $pfontsize); + $pfontdescent = $this->getFontDescent($pfontname, $pfontstyle, $pfontsize); + $this->y += ($this->getCellHeight(($pfontsize - $curfontsize) / $this->k) + $pfontascent - $curfontascent - $pfontdescent + $curfontdescent) / 2; + $minstartliney = min($this->y, $minstartliney); + $maxbottomliney = max(($this->y + $this->getCellHeight($pfontsize / $this->k)), $maxbottomliney); + } + } + // text + $this->htmlvspace = 0; + $isRTLString = preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_RTL, $dom[$key]['value']) || preg_match(TCPDF_FONT_DATA::$uni_RE_PATTERN_ARABIC, $dom[$key]['value']); + if ((!$this->premode) AND $this->isRTLTextDir() AND !$isRTLString) { + // reverse spaces order + $lsp = ''; // left spaces + $rsp = ''; // right spaces + if (preg_match('/^('.$this->re_space['p'].'+)/'.$this->re_space['m'], $dom[$key]['value'], $matches)) { + $lsp = $matches[1]; + } + if (preg_match('/('.$this->re_space['p'].'+)$/'.$this->re_space['m'], $dom[$key]['value'], $matches)) { + $rsp = $matches[1]; + } + $dom[$key]['value'] = $rsp.$this->stringTrim($dom[$key]['value']).$lsp; + } + if ($newline) { + if (!$this->premode) { + $prelen = strlen($dom[$key]['value']); + if ($this->isRTLTextDir() AND !$isRTLString) { + // right trim except non-breaking space + $dom[$key]['value'] = $this->stringRightTrim($dom[$key]['value']); + } else { + // left trim except non-breaking space + $dom[$key]['value'] = $this->stringLeftTrim($dom[$key]['value']); + } + $postlen = strlen($dom[$key]['value']); + if (($postlen == 0) AND ($prelen > 0)) { + $dom[$key]['trimmed_space'] = true; + } + } + $newline = false; + $firstblock = true; + } else { + $firstblock = false; + // replace empty multiple spaces string with a single space + $dom[$key]['value'] = preg_replace('/^'.$this->re_space['p'].'+$/'.$this->re_space['m'], chr(32), $dom[$key]['value']); + } + $strrest = ''; + if ($this->rtl) { + $this->x -= $this->textindent; + } else { + $this->x += $this->textindent; + } + if (!isset($dom[$key]['trimmed_space']) OR !$dom[$key]['trimmed_space']) { + $strlinelen = $this->GetStringWidth($dom[$key]['value']); + if (!empty($this->HREF) AND (isset($this->HREF['url']))) { + // HTML
    Link + $hrefcolor = ''; + if (isset($dom[($dom[$key]['parent'])]['fgcolor']) AND ($dom[($dom[$key]['parent'])]['fgcolor'] !== false)) { + $hrefcolor = $dom[($dom[$key]['parent'])]['fgcolor']; + } + $hrefstyle = -1; + if (isset($dom[($dom[$key]['parent'])]['fontstyle']) AND ($dom[($dom[$key]['parent'])]['fontstyle'] !== false)) { + $hrefstyle = $dom[($dom[$key]['parent'])]['fontstyle']; + } + $strrest = $this->addHtmlLink($this->HREF['url'], $dom[$key]['value'], $wfill, true, $hrefcolor, $hrefstyle, true); + } else { + $wadj = 0; // space to leave for block continuity + if ($this->rtl) { + $cwa = ($this->x - $this->lMargin); + } else { + $cwa = ($this->w - $this->rMargin - $this->x); + } + if (($strlinelen < $cwa) AND (isset($dom[($key + 1)])) AND ($dom[($key + 1)]['tag']) AND (!$dom[($key + 1)]['block'])) { + // check the next text blocks for continuity + $nkey = ($key + 1); + $write_block = true; + $same_textdir = true; + $tmp_fontname = $this->FontFamily; + $tmp_fontstyle = $this->FontStyle; + $tmp_fontsize = $this->FontSizePt; + while ($write_block AND isset($dom[$nkey])) { + if ($dom[$nkey]['tag']) { + if ($dom[$nkey]['block']) { + // end of block + $write_block = false; + } + $tmp_fontname = isset($dom[$nkey]['fontname']) ? $dom[$nkey]['fontname'] : $this->FontFamily; + $tmp_fontstyle = isset($dom[$nkey]['fontstyle']) ? $dom[$nkey]['fontstyle'] : $this->FontStyle; + $tmp_fontsize = isset($dom[$nkey]['fontsize']) ? $dom[$nkey]['fontsize'] : $this->FontSizePt; + $same_textdir = ($dom[$nkey]['dir'] == $dom[$key]['dir']); + } else { + $nextstr = TCPDF_STATIC::pregSplit('/'.$this->re_space['p'].'+/', $this->re_space['m'], $dom[$nkey]['value']); + if (isset($nextstr[0]) AND $same_textdir) { + $wadj += $this->GetStringWidth($nextstr[0], $tmp_fontname, $tmp_fontstyle, $tmp_fontsize); + if (isset($nextstr[1])) { + $write_block = false; + } + } + } + ++$nkey; + } + } + if (($wadj > 0) AND (($strlinelen + $wadj) >= $cwa)) { + $wadj = 0; + $nextstr = TCPDF_STATIC::pregSplit('/'.$this->re_space['p'].'/', $this->re_space['m'], $dom[$key]['value']); + $numblks = count($nextstr); + if ($numblks > 1) { + // try to split on blank spaces + $wadj = ($cwa - $strlinelen + $this->GetStringWidth($nextstr[($numblks - 1)])); + } else { + // set the entire block on new line + $wadj = $this->GetStringWidth($nextstr[0]); + } + } + // check for reversed text direction + if (($wadj > 0) AND (($this->rtl AND ($this->tmprtl === 'L')) OR (!$this->rtl AND ($this->tmprtl === 'R')))) { + // LTR text on RTL direction or RTL text on LTR direction + $reverse_dir = true; + $this->rtl = !$this->rtl; + $revshift = ($strlinelen + $wadj + 0.000001); // add little quantity for rounding problems + if ($this->rtl) { + $this->x += $revshift; + } else { + $this->x -= $revshift; + } + $xws = $this->x; + } + // ****** write only until the end of the line and get the rest ****** + $strrest = $this->Write($this->lasth, $dom[$key]['value'], '', $wfill, '', false, 0, true, $firstblock, 0, $wadj); + // restore default direction + if ($reverse_dir AND ($wadj == 0)) { + $this->x = $xws; // @phpstan-ignore-line + $this->rtl = !$this->rtl; + $reverse_dir = false; + } + } + } + $this->textindent = 0; + if (strlen($strrest) > 0) { + // store the remaining string on the previous $key position + $this->newline = true; + if ($strrest == $dom[$key]['value']) { + // used to avoid infinite loop + ++$loop; + } else { + $loop = 0; + } + $dom[$key]['value'] = $strrest; + if ($cell) { + if ($this->rtl) { + $this->x -= $this->cell_padding['R']; + } else { + $this->x += $this->cell_padding['L']; + } + } + if ($loop < 3) { + --$key; + } + } else { + $loop = 0; + // add the positive font spacing of the last character (if any) + if ($this->font_spacing > 0) { + if ($this->rtl) { + $this->x -= $this->font_spacing; + } else { + $this->x += $this->font_spacing; + } + } + } + } + ++$key; + if (isset($dom[$key]['tag']) AND $dom[$key]['tag'] AND (!isset($dom[$key]['opening']) OR !$dom[$key]['opening']) AND isset($dom[($dom[$key]['parent'])]['attribute']['nobr']) AND ($dom[($dom[$key]['parent'])]['attribute']['nobr'] == 'true')) { + // check if we are on a new page or on a new column + if ((!$undo) AND (($this->y < $this->start_transaction_y) OR (($dom[$key]['value'] == 'tr') AND ($dom[($dom[$key]['parent'])]['endy'] < $this->start_transaction_y)))) { + // we are on a new page or on a new column and the total object height is less than the available vertical space. + // restore previous object + $this->rollbackTransaction(true); + // restore previous values + foreach ($this_method_vars as $vkey => $vval) { + $$vkey = $vval; + } + if (!empty($dom[$key]['thead'])) { + $this->inthead = true; + } + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $pre_y = $this->y; + if ((!$this->checkPageBreak($this->PageBreakTrigger + 1)) AND ($this->y < $pre_y)) { + $startliney = $this->y; + } + $undo = true; // avoid infinite loop + } else { + $undo = false; + } + } + } // end for each $key + // align the last line + if (isset($startlinex)) { + $yshift = ($minstartliney - $startliney); + if (($yshift > 0) OR ($this->page > $startlinepage)) { + $yshift = 0; + } + $t_x = 0; + // the last line must be shifted to be aligned as requested + $linew = abs($this->endlinex - $startlinex); + if ($this->inxobj) { + // we are inside an XObject template + $pstart = substr($this->xobjects[$this->xobjid]['outdata'], 0, $startlinepos); + if (isset($opentagpos)) { + $midpos = $opentagpos; + } else { + $midpos = 0; + } + if ($midpos > 0) { + $pmid = substr($this->xobjects[$this->xobjid]['outdata'], $startlinepos, ($midpos - $startlinepos)); + $pend = substr($this->xobjects[$this->xobjid]['outdata'], $midpos); + } else { + $pmid = substr($this->xobjects[$this->xobjid]['outdata'], $startlinepos); + $pend = ''; + } + } else { + $pstart = substr($this->getPageBuffer($startlinepage), 0, $startlinepos); + if (isset($opentagpos) AND isset($this->footerlen[$startlinepage]) AND (!$this->InFooter)) { + $this->footerpos[$startlinepage] = $this->pagelen[$startlinepage] - $this->footerlen[$startlinepage]; + $midpos = min($opentagpos, $this->footerpos[$startlinepage]); + } elseif (isset($opentagpos)) { + $midpos = $opentagpos; + } elseif (isset($this->footerlen[$startlinepage]) AND (!$this->InFooter)) { + $this->footerpos[$startlinepage] = $this->pagelen[$startlinepage] - $this->footerlen[$startlinepage]; + $midpos = $this->footerpos[$startlinepage]; + } else { + $midpos = 0; + } + if ($midpos > 0) { + $pmid = substr($this->getPageBuffer($startlinepage), $startlinepos, ($midpos - $startlinepos)); + $pend = substr($this->getPageBuffer($startlinepage), $midpos); + } else { + $pmid = substr($this->getPageBuffer($startlinepage), $startlinepos); + $pend = ''; + } + } + if ((((($plalign == 'C') OR (($plalign == 'R') AND (!$this->rtl)) OR (($plalign == 'L') AND ($this->rtl)))))) { + // calculate shifting amount + $tw = $w; + if ($this->lMargin != $prevlMargin) { + $tw += ($prevlMargin - $this->lMargin); + } + if ($this->rMargin != $prevrMargin) { + $tw += ($prevrMargin - $this->rMargin); + } + $one_space_width = $this->GetStringWidth(chr(32)); + $no = 0; // number of spaces on a line contained on a single block + if ($this->isRTLTextDir()) { // RTL + // remove left space if exist + $pos1 = TCPDF_STATIC::revstrpos($pmid, '[('); + if ($pos1 > 0) { + $pos1 = intval($pos1); + if ($this->isUnicodeFont()) { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, '[('.chr(0).chr(32))); + $spacelen = 2; + } else { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, '[('.chr(32))); + $spacelen = 1; + } + if ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 2 + $spacelen)); + if (substr($pmid, $pos1, 4) == '[()]') { + $linew -= $one_space_width; + } elseif ($pos1 == strpos($pmid, '[(')) { + $no = 1; + } + } + } + } else { // LTR + // remove right space if exist + $pos1 = TCPDF_STATIC::revstrpos($pmid, ')]'); + if ($pos1 > 0) { + $pos1 = intval($pos1); + if ($this->isUnicodeFont()) { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, chr(0).chr(32).')]')) + 2; + $spacelen = 2; + } else { + $pos2 = intval(TCPDF_STATIC::revstrpos($pmid, chr(32).')]')) + 1; + $spacelen = 1; + } + if ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 - $spacelen)).substr($pmid, $pos1); + $linew -= $one_space_width; + } + } + } + $mdiff = ($tw - $linew); + if ($plalign == 'C') { + if ($this->rtl) { + $t_x = -($mdiff / 2); + } else { + $t_x = ($mdiff / 2); + } + } elseif ($plalign == 'R') { + // right alignment on LTR document + $t_x = $mdiff; + } elseif ($plalign == 'L') { + // left alignment on RTL document + $t_x = -$mdiff; + } + } // end if startlinex + if (($t_x != 0) OR ($yshift < 0)) { + // shift the line + $trx = sprintf('1 0 0 1 %F %F cm', ($t_x * $this->k), ($yshift * $this->k)); + $pstart .= "\nq\n".$trx."\n".$pmid."\nQ\n"; + $endlinepos = strlen($pstart); + if ($this->inxobj) { + // we are inside an XObject template + $this->xobjects[$this->xobjid]['outdata'] = $pstart.$pend; + foreach ($this->xobjects[$this->xobjid]['annotations'] as $pak => $pac) { + if ($pak >= $pask) { + $this->xobjects[$this->xobjid]['annotations'][$pak]['x'] += $t_x; + $this->xobjects[$this->xobjid]['annotations'][$pak]['y'] -= $yshift; + } + } + } else { + $this->setPageBuffer($startlinepage, $pstart.$pend); + // shift the annotations and links + if (isset($this->PageAnnots[$this->page])) { + foreach ($this->PageAnnots[$this->page] as $pak => $pac) { + if ($pak >= $pask) { + $this->PageAnnots[$this->page][$pak]['x'] += $t_x; + $this->PageAnnots[$this->page][$pak]['y'] -= $yshift; + } + } + } + } + $this->y -= $yshift; + $yshift = 0; + } + } + // restore previous values + $this->setGraphicVars($gvars); + if ($this->num_columns > 1) { + $this->selectColumn(); + } elseif ($this->page > $prevPage) { + $this->lMargin = $this->pagedim[$this->page]['olm']; + $this->rMargin = $this->pagedim[$this->page]['orm']; + } + // restore previous list state + $this->cell_height_ratio = $prev_cell_height_ratio; + $this->listnum = $prev_listnum; + $this->listordered = $prev_listordered; + $this->listcount = $prev_listcount; + $this->lispacer = $prev_lispacer; + if ($ln AND (!($cell AND ($dom[$key-1]['value'] == 'table')))) { + $this->Ln($this->lasth); + if (($this->y < $maxbottomliney) AND ($startlinepage == $this->page)) { + $this->y = $maxbottomliney; + } + } + unset($dom); + } + + /** + * Check if the path is relative. + * @param string $path path to check + * @return boolean true if the path is relative + * @protected + * @since 6.9.1 + */ + protected function isRelativePath($path) { + return (strpos(str_ireplace('%2E', '.', $this->unhtmlentities($path)), '..') !== false); + } + + /** + * Check if it contains a non-allowed external protocol. + * @param string $path path to check + * @return boolean true if the protocol is not allowed. + * @protected + * @since 6.9.3 + */ + protected function hasExtForbiddenProtocol($path) { + return ((strpos($path, '://') !== false) + && (preg_match('|^https?://|', $path) !== 1)); + } + + /** + * Process opening tags. + * @param array $dom html dom array + * @param int $key current element id + * @param boolean $cell if true add the default left (or right if RTL) padding to each new line (default false). + * @return array $dom + * @protected + */ + protected function openHTMLTagHandler($dom, $key, $cell) { + $tag = $dom[$key]; + $parent = $dom[($dom[$key]['parent'])]; + $firsttag = ($key == 1); + // check for text direction attribute + if (isset($tag['dir'])) { + $this->setTempRTL($tag['dir']); + } else { + $this->tmprtl = false; + } + if ($tag['block']) { + $hbz = 0; // distance from y to line bottom + $hb = 0; // vertical space between block tags + // calculate vertical space for block tags + if (isset($this->tagvspaces[$tag['value']][0]['h']) && !empty($this->tagvspaces[$tag['value']][0]['h']) && ($this->tagvspaces[$tag['value']][0]['h'] >= 0)) { + $cur_h = $this->tagvspaces[$tag['value']][0]['h']; + } elseif (isset($tag['fontsize'])) { + $cur_h = $this->getCellHeight($tag['fontsize'] / $this->k); + } else { + $cur_h = $this->getCellHeight($this->FontSize); + } + if (isset($this->tagvspaces[$tag['value']][0]['n'])) { + $on = $this->tagvspaces[$tag['value']][0]['n']; + } elseif (preg_match('/[h][0-9]/', $tag['value']) > 0) { + $on = 0.6; + } else { + $on = 1; + } + if ((!isset($this->tagvspaces[$tag['value']])) AND (in_array($tag['value'], array('div', 'dt', 'dd', 'li', 'br', 'hr')))) { + $hb = 0; + } else { + $hb = ($on * $cur_h); + } + if (($this->htmlvspace <= 0) AND ($on > 0)) { + if (isset($parent['fontsize'])) { + $hbz = (($parent['fontsize'] / $this->k) * $this->cell_height_ratio); + } else { + $hbz = $this->getCellHeight($this->FontSize); + } + } + if (isset($dom[($key - 1)]) AND ($dom[($key - 1)]['value'] == 'table')) { + // fix vertical space after table + $hbz = 0; + } + // closing vertical space + $hbc = 0; + if (isset($this->tagvspaces[$tag['value']][1]['h']) && !empty($this->tagvspaces[$tag['value']][1]['h']) && ($this->tagvspaces[$tag['value']][1]['h'] >= 0)) { + $pre_h = $this->tagvspaces[$tag['value']][1]['h']; + } elseif (isset($parent['fontsize'])) { + $pre_h = $this->getCellHeight($parent['fontsize'] / $this->k); + } else { + $pre_h = $this->getCellHeight($this->FontSize); + } + if (isset($this->tagvspaces[$tag['value']][1]['n'])) { + $cn = $this->tagvspaces[$tag['value']][1]['n']; + } elseif (preg_match('/[h][0-9]/', $tag['value']) > 0) { + $cn = 0.6; + } else { + $cn = 1; + } + if (isset($this->tagvspaces[$tag['value']][1])) { + $hbc = ($cn * $pre_h); + } + } + // Opening tag + switch($tag['value']) { + case 'table': { + $cp = 0; + $cs = 0; + $dom[$key]['rowspans'] = array(); + if (!isset($dom[$key]['attribute']['nested']) OR ($dom[$key]['attribute']['nested'] != 'true')) { + $this->htmlvspace = 0; + // set table header + if (!TCPDF_STATIC::empty_string($dom[$key]['thead'])) { + // set table header + $this->thead = $dom[$key]['thead']; + if (!isset($this->theadMargins) OR (empty($this->theadMargins))) { + $this->theadMargins = array(); + $this->theadMargins['cell_padding'] = $this->cell_padding; + $this->theadMargins['lmargin'] = $this->lMargin; + $this->theadMargins['rmargin'] = $this->rMargin; + $this->theadMargins['page'] = $this->page; + $this->theadMargins['cell'] = $cell; + $this->theadMargins['gvars'] = $this->getGraphicVars(); + } + } + } + // store current margins and page + $dom[$key]['old_cell_padding'] = $this->cell_padding; + if (isset($tag['attribute']['cellpadding'])) { + $pad = $this->getHTMLUnitToUnits($tag['attribute']['cellpadding'], 1, 'px'); + $this->setCellPadding($pad); + } elseif (isset($tag['padding'])) { + $this->cell_padding = $tag['padding']; + } + if (isset($tag['attribute']['cellspacing'])) { + $cs = $this->getHTMLUnitToUnits($tag['attribute']['cellspacing'], 1, 'px'); + } elseif (isset($tag['border-spacing'])) { + $cs = $tag['border-spacing']['V']; + } + $prev_y = $this->y; + if ($this->checkPageBreak(((2 * $cp) + (2 * $cs) + $this->lasth), '', false) OR ($this->y < $prev_y)) { + $this->inthead = true; + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + } + break; + } + case 'tr': { + // array of columns positions + $dom[$key]['cellpos'] = array(); + break; + } + case 'hr': { + if ((isset($tag['height'])) AND ($tag['height'] != '')) { + $hrHeight = $this->getHTMLUnitToUnits($tag['height'], 1, 'px'); + } else { + $hrHeight = $this->GetLineWidth(); + } + $this->addHTMLVertSpace($hbz, max($hb, ($hrHeight / 2)), $cell, $firsttag); + $x = $this->GetX(); + $y = $this->GetY(); + $wtmp = $this->w - $this->lMargin - $this->rMargin; + if ($cell) { + $wtmp -= ($this->cell_padding['L'] + $this->cell_padding['R']); + } + if ((isset($tag['width'])) AND ($tag['width'] != '')) { + $hrWidth = $this->getHTMLUnitToUnits($tag['width'], $wtmp, 'px'); + } else { + $hrWidth = $wtmp; + } + $prevlinewidth = $this->GetLineWidth(); + $this->setLineWidth($hrHeight); + + $lineStyle = array(); + if (isset($tag['fgcolor'])) { + $lineStyle['color'] = $tag['fgcolor']; + } + + if (isset($tag['fgcolor'])) { + $lineStyle['color'] = $tag['fgcolor']; + } + + if (isset($tag['style']['cap'])) { + $lineStyle['cap'] = $tag['style']['cap']; + } + + if (isset($tag['style']['join'])) { + $lineStyle['join'] = $tag['style']['join']; + } + + if (isset($tag['style']['dash'])) { + $lineStyle['dash'] = $tag['style']['dash']; + } + + if (isset($tag['style']['phase'])) { + $lineStyle['phase'] = $tag['style']['phase']; + } + + $lineStyle = array_filter($lineStyle); + + $this->Line($x, $y, $x + $hrWidth, $y, $lineStyle); + $this->setLineWidth($prevlinewidth); + $this->addHTMLVertSpace(max($hbc, ($hrHeight / 2)), 0, $cell, !isset($dom[($key + 1)])); + break; + } + case 'a': { + if (array_key_exists('href', $tag['attribute'])) { + $this->HREF['url'] = $tag['attribute']['href']; + } + break; + } + case 'img': { + if (empty($tag['attribute']['src'])) { + break; + } + $imgsrc = $tag['attribute']['src']; + if ($imgsrc[0] === '@') { + // data stream + $imgsrc = '@'.base64_decode(substr($imgsrc, 1)); + $type = preg_match('/]*[^>]*>.*<\/svg>/is', $imgsrc) ? 'svg' : ''; + } else if (preg_match('@^data:image/([^;]*);base64,(.*)@', $imgsrc, $reg)) { + $imgsrc = '@'.base64_decode($reg[2]); + $type = $reg[1]; + } elseif ($this->isRelativePath($imgsrc)) { + // accessing parent folders is not allowed + break; + } elseif ( $this->allowLocalFiles && substr($imgsrc, 0, 7) === 'file://') { + // get image type from a local file path + $imgsrc = substr($imgsrc, 7); + $type = TCPDF_IMAGES::getImageFileType($imgsrc); + } elseif ($this->hasExtForbiddenProtocol($imgsrc)) { + break; + } else { + if (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) { + // fix image path + $findroot = strpos($imgsrc, $_SERVER['DOCUMENT_ROOT']); + if (($findroot === false) OR ($findroot > 1)) { + if (substr($_SERVER['DOCUMENT_ROOT'], -1) == '/') { + $imgsrc = substr($_SERVER['DOCUMENT_ROOT'], 0, -1).$imgsrc; + } else { + $imgsrc = $_SERVER['DOCUMENT_ROOT'].$imgsrc; + } + } + $imgsrc = urldecode($imgsrc); + $testscrtype = @parse_url($imgsrc); + if (empty($testscrtype['query'])) { + // convert URL to server path + $imgsrc = str_replace(K_PATH_URL, K_PATH_MAIN, $imgsrc); + } elseif (preg_match('|^https?://|', $imgsrc) !== 1) { + // convert URL to server path + $imgsrc = str_replace(K_PATH_MAIN, K_PATH_URL, $imgsrc); + } + } + // get image type + $type = TCPDF_IMAGES::getImageFileType($imgsrc); + } + if (!isset($tag['width'])) { + $tag['width'] = 0; + } + if (!isset($tag['height'])) { + $tag['height'] = 0; + } + //if (!isset($tag['attribute']['align'])) { + // the only alignment supported is "bottom" + // further development is required for other modes. + $tag['attribute']['align'] = 'bottom'; + //} + switch($tag['attribute']['align']) { + case 'top': { + $align = 'T'; + break; + } + case 'middle': { + $align = 'M'; + break; + } + case 'bottom': { + $align = 'B'; + break; + } + default: { + $align = 'B'; + break; + } + } + $prevy = $this->y; + $xpos = $this->x; + $imglink = ''; + if (isset($this->HREF['url']) AND !TCPDF_STATIC::empty_string($this->HREF['url'])) { + $imglink = $this->HREF['url']; + if ($imglink[0] == '#' AND isset($imglink[1]) AND is_numeric($imglink[1])) { + // convert url to internal link + $lnkdata = explode(',', $imglink); + if (isset($lnkdata[0])) { + $page = intval(substr($lnkdata[0], 1)); + if (empty($page) OR ($page <= 0)) { + $page = $this->page; + } + if (isset($lnkdata[1]) AND (strlen($lnkdata[1]) > 0)) { + $lnky = floatval($lnkdata[1]); + } else { + $lnky = 0; + } + $imglink = $this->AddLink(); + $this->setLink($imglink, $lnky, $page); + } + } + } + $border = 0; + if (isset($tag['border']) AND !empty($tag['border'])) { + // currently only support 1 (frame) or a combination of 'LTRB' + $border = $tag['border']; + } + $iw = ''; + if (isset($tag['width'])) { + $iw = $this->getHTMLUnitToUnits($tag['width'], ($tag['fontsize'] / $this->k), 'px', false); + } + $ih = ''; + if (isset($tag['height'])) { + $ih = $this->getHTMLUnitToUnits($tag['height'], ($tag['fontsize'] / $this->k), 'px', false); + } + if (($type == 'eps') OR ($type == 'ai')) { + $this->ImageEps($imgsrc, $xpos, $this->y, $iw, $ih, $imglink, true, $align, '', $border, true); + } elseif ($type == 'svg') { + $this->ImageSVG($imgsrc, $xpos, $this->y, $iw, $ih, $imglink, $align, '', $border, true); + } else { + $this->Image($imgsrc, $xpos, $this->y, $iw, $ih, '', $imglink, $align, false, 300, '', false, false, $border, false, false, true); + } + switch($align) { + case 'T': { + $this->y = $prevy; + break; + } + case 'M': { + $this->y = (($this->img_rb_y + $prevy - ($this->getCellHeight($tag['fontsize'] / $this->k))) / 2); + break; + } + case 'B': { + $this->y = $this->img_rb_y - ($this->getCellHeight($tag['fontsize'] / $this->k) - ($this->getFontDescent($tag['fontname'], $tag['fontstyle'], $tag['fontsize']) * $this->cell_height_ratio)); + break; + } + } + break; + } + case 'dl': { + ++$this->listnum; + if ($this->listnum == 1) { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + } else { + $this->addHTMLVertSpace(0, 0, $cell, $firsttag); + } + break; + } + case 'dt': { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + case 'dd': { + if ($this->rtl) { + $this->rMargin += $this->listindent; + } else { + $this->lMargin += $this->listindent; + } + ++$this->listindentlevel; + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + case 'ul': + case 'ol': { + ++$this->listnum; + if ($tag['value'] == 'ol') { + $this->listordered[$this->listnum] = true; + } else { + $this->listordered[$this->listnum] = false; + } + if (isset($tag['attribute']['start'])) { + $this->listcount[$this->listnum] = intval($tag['attribute']['start']) - 1; + } else { + $this->listcount[$this->listnum] = 0; + } + if ($this->rtl) { + $this->rMargin += $this->listindent; + $this->x -= $this->listindent; + } else { + $this->lMargin += $this->listindent; + $this->x += $this->listindent; + } + ++$this->listindentlevel; + if ($this->listnum == 1) { + if ($key > 1) { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + } + } else { + $this->addHTMLVertSpace(0, 0, $cell, $firsttag); + } + break; + } + case 'li': { + if ($key > 2) { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + } + if ($this->listordered[$this->listnum]) { + // ordered item + if (isset($parent['attribute']['type']) AND !TCPDF_STATIC::empty_string($parent['attribute']['type'])) { + $this->lispacer = $parent['attribute']['type']; + } elseif (isset($parent['listtype']) AND !TCPDF_STATIC::empty_string($parent['listtype'])) { + $this->lispacer = $parent['listtype']; + } elseif (isset($this->lisymbol) AND !TCPDF_STATIC::empty_string($this->lisymbol)) { + $this->lispacer = $this->lisymbol; + } else { + $this->lispacer = '#'; + } + ++$this->listcount[$this->listnum]; + if (isset($tag['attribute']['value'])) { + $this->listcount[$this->listnum] = intval($tag['attribute']['value']); + } + } else { + // unordered item + if (isset($parent['attribute']['type']) AND !TCPDF_STATIC::empty_string($parent['attribute']['type'])) { + $this->lispacer = $parent['attribute']['type']; + } elseif (isset($parent['listtype']) AND !TCPDF_STATIC::empty_string($parent['listtype'])) { + $this->lispacer = $parent['listtype']; + } elseif (isset($this->lisymbol) AND !TCPDF_STATIC::empty_string($this->lisymbol)) { + $this->lispacer = $this->lisymbol; + } else { + $this->lispacer = '!'; + } + } + break; + } + case 'blockquote': { + if ($this->rtl) { + $this->rMargin += $this->listindent; + } else { + $this->lMargin += $this->listindent; + } + ++$this->listindentlevel; + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + case 'br': { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + case 'div': { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + case 'p': { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + case 'pre': { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + $this->premode = true; + break; + } + case 'sup': { + $this->setXY($this->GetX(), $this->GetY() - ((0.7 * $this->FontSizePt) / $this->k)); + break; + } + case 'sub': { + $this->setXY($this->GetX(), $this->GetY() + ((0.3 * $this->FontSizePt) / $this->k)); + break; + } + case 'h1': + case 'h2': + case 'h3': + case 'h4': + case 'h5': + case 'h6': { + $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag); + break; + } + // Form fields (since 4.8.000 - 2009-09-07) + case 'form': { + if (isset($tag['attribute']['action'])) { + $this->form_action = $tag['attribute']['action']; + } else { + $this->Error('Please explicitly set action attribute path!'); + } + if (isset($tag['attribute']['enctype'])) { + $this->form_enctype = $tag['attribute']['enctype']; + } else { + $this->form_enctype = 'application/x-www-form-urlencoded'; + } + if (isset($tag['attribute']['method'])) { + $this->form_mode = $tag['attribute']['method']; + } else { + $this->form_mode = 'post'; + } + break; + } + case 'input': { + if (isset($tag['attribute']['name']) AND !TCPDF_STATIC::empty_string($tag['attribute']['name'])) { + $name = $tag['attribute']['name']; + } else { + break; + } + $prop = array(); + $opt = array(); + if (isset($tag['attribute']['readonly']) AND !TCPDF_STATIC::empty_string($tag['attribute']['readonly'])) { + $prop['readonly'] = true; + } + if (isset($tag['attribute']['value']) AND !TCPDF_STATIC::empty_string($tag['attribute']['value'])) { + $value = $tag['attribute']['value']; + } + if (isset($tag['attribute']['maxlength']) AND !TCPDF_STATIC::empty_string($tag['attribute']['maxlength'])) { + $opt['maxlen'] = intval($tag['attribute']['maxlength']); + } + $h = $this->getCellHeight($this->FontSize); + if (isset($tag['attribute']['size']) AND !TCPDF_STATIC::empty_string($tag['attribute']['size'])) { + $w = intval($tag['attribute']['size']) * $this->GetStringWidth(chr(32)) * 2; + } else { + $w = $h; + } + if (isset($tag['attribute']['checked']) AND (($tag['attribute']['checked'] == 'checked') OR ($tag['attribute']['checked'] == 'true'))) { + $checked = true; + } else { + $checked = false; + } + if (isset($tag['align'])) { + switch ($tag['align']) { + case 'C': { + $opt['q'] = 1; + break; + } + case 'R': { + $opt['q'] = 2; + break; + } + case 'L': + default: { + break; + } + } + } + switch ($tag['attribute']['type']) { + case 'text': { + if (isset($value)) { + $opt['v'] = $value; + } + $this->TextField($name, $w, $h, $prop, $opt, '', '', false); + break; + } + case 'password': { + if (isset($value)) { + $opt['v'] = $value; + } + $prop['password'] = 'true'; + $this->TextField($name, $w, $h, $prop, $opt, '', '', false); + break; + } + case 'checkbox': { + if (!isset($value)) { + break; + } + $this->CheckBox($name, $w, $checked, $prop, $opt, $value, '', '', false); + break; + } + case 'radio': { + if (!isset($value)) { + break; + } + $this->RadioButton($name, $w, $prop, $opt, $value, $checked, '', '', false); + break; + } + case 'submit': { + if (!isset($value)) { + $value = 'submit'; + } + $w = $this->GetStringWidth($value) * 1.5; + $h *= 1.6; + $prop = array('lineWidth'=>1, 'borderStyle'=>'beveled', 'fillColor'=>array(196, 196, 196), 'strokeColor'=>array(255, 255, 255)); + $action = array(); + $action['S'] = 'SubmitForm'; + $action['F'] = $this->form_action; + if ($this->form_enctype != 'FDF') { + $action['Flags'] = array('ExportFormat'); + } + if ($this->form_mode == 'get') { + $action['Flags'] = array('GetMethod'); + } + $this->Button($name, $w, $h, $value, $action, $prop, $opt, '', '', false); + break; + } + case 'reset': { + if (!isset($value)) { + $value = 'reset'; + } + $w = $this->GetStringWidth($value) * 1.5; + $h *= 1.6; + $prop = array('lineWidth'=>1, 'borderStyle'=>'beveled', 'fillColor'=>array(196, 196, 196), 'strokeColor'=>array(255, 255, 255)); + $this->Button($name, $w, $h, $value, array('S'=>'ResetForm'), $prop, $opt, '', '', false); + break; + } + case 'file': { + $prop['fileSelect'] = 'true'; + $this->TextField($name, $w, $h, $prop, $opt, '', '', false); + if (!isset($value)) { + $value = '*'; + } + $w = $this->GetStringWidth($value) * 2; + $h *= 1.2; + $prop = array('lineWidth'=>1, 'borderStyle'=>'beveled', 'fillColor'=>array(196, 196, 196), 'strokeColor'=>array(255, 255, 255)); + $jsaction = 'var f=this.getField(\''.$name.'\'); f.browseForFileToSubmit();'; + $this->Button('FB_'.$name, $w, $h, $value, $jsaction, $prop, $opt, '', '', false); + break; + } + case 'hidden': { + if (isset($value)) { + $opt['v'] = $value; + } + $opt['f'] = array('invisible', 'hidden'); + $this->TextField($name, 0, 0, $prop, $opt, '', '', false); + break; + } + case 'image': { + // THIS TYPE MUST BE FIXED + if (isset($tag['attribute']['src']) AND !TCPDF_STATIC::empty_string($tag['attribute']['src'])) { + $img = $tag['attribute']['src']; + } else { + break; + } + $value = 'img'; + //$opt['mk'] = array('i'=>$img, 'tp'=>1, 'if'=>array('sw'=>'A', 's'=>'A', 'fb'=>false)); + if (isset($tag['attribute']['onclick']) AND !empty($tag['attribute']['onclick'])) { + $jsaction = $tag['attribute']['onclick']; + } else { + $jsaction = ''; + } + $this->Button($name, $w, $h, $value, $jsaction, $prop, $opt, '', '', false); + break; + } + case 'button': { + if (!isset($value)) { + $value = ' '; + } + $w = $this->GetStringWidth($value) * 1.5; + $h *= 1.6; + $prop = array('lineWidth'=>1, 'borderStyle'=>'beveled', 'fillColor'=>array(196, 196, 196), 'strokeColor'=>array(255, 255, 255)); + if (isset($tag['attribute']['onclick']) AND !empty($tag['attribute']['onclick'])) { + $jsaction = $tag['attribute']['onclick']; + } else { + $jsaction = ''; + } + $this->Button($name, $w, $h, $value, $jsaction, $prop, $opt, '', '', false); + break; + } + } + break; + } + case 'textarea': { + $prop = array(); + $opt = array(); + if (isset($tag['attribute']['readonly']) AND !TCPDF_STATIC::empty_string($tag['attribute']['readonly'])) { + $prop['readonly'] = true; + } + if (isset($tag['attribute']['name']) AND !TCPDF_STATIC::empty_string($tag['attribute']['name'])) { + $name = $tag['attribute']['name']; + } else { + break; + } + if (isset($tag['attribute']['value']) AND !TCPDF_STATIC::empty_string($tag['attribute']['value'])) { + $opt['v'] = $tag['attribute']['value']; + } + if (isset($tag['attribute']['cols']) AND !TCPDF_STATIC::empty_string($tag['attribute']['cols'])) { + $w = intval($tag['attribute']['cols']) * $this->GetStringWidth(chr(32)) * 2; + } else { + $w = 40; + } + if (isset($tag['attribute']['rows']) AND !TCPDF_STATIC::empty_string($tag['attribute']['rows'])) { + $h = intval($tag['attribute']['rows']) * $this->getCellHeight($this->FontSize); + } else { + $h = 10; + } + $prop['multiline'] = 'true'; + $this->TextField($name, $w, $h, $prop, $opt, '', '', false); + break; + } + case 'select': { + $h = $this->getCellHeight($this->FontSize); + if (isset($tag['attribute']['size']) AND !TCPDF_STATIC::empty_string($tag['attribute']['size'])) { + $h *= ($tag['attribute']['size'] + 1); + } + $prop = array(); + $opt = array(); + if (isset($tag['attribute']['name']) AND !TCPDF_STATIC::empty_string($tag['attribute']['name'])) { + $name = $tag['attribute']['name']; + } else { + break; + } + $w = 0; + if (isset($tag['attribute']['opt']) AND !TCPDF_STATIC::empty_string($tag['attribute']['opt'])) { + $options = explode('#!NwL!#', $tag['attribute']['opt']); + $values = array(); + foreach ($options as $val) { + if (strpos($val, '#!TaB!#') !== false) { + $opts = explode('#!TaB!#', $val); + $values[] = $opts; + $w = max($w, $this->GetStringWidth($opts[1])); + } else { + $values[] = $val; + $w = max($w, $this->GetStringWidth($val)); + } + } + } else { + break; + } + $w *= 2; + if (isset($tag['attribute']['multiple']) AND ($tag['attribute']['multiple']='multiple')) { + $prop['multipleSelection'] = 'true'; + $this->ListBox($name, $w, $h, $values, $prop, $opt, '', '', false); + } else { + $this->ComboBox($name, $w, $h, $values, $prop, $opt, '', '', false); + } + break; + } + case 'tcpdf': { + if (defined('K_TCPDF_CALLS_IN_HTML') AND (K_TCPDF_CALLS_IN_HTML === true)) { + // Special tag used to call TCPDF methods + // This tag is disabled by default by the K_TCPDF_CALLS_IN_HTML constant on TCPDF configuration file. + // Please use this feature only if you are in control of the HTML content and you are sure that it does not contain any harmful code. + if (!empty($tag['attribute']['data'])) { + $tcpdf_tag_data = $this->unserializeTCPDFtag($tag['attribute']['data']); + if ($this->allowedTCPDFtag($tcpdf_tag_data['m'])) { + call_user_func_array(array($this, $tcpdf_tag_data['m']), $tcpdf_tag_data['p']); + } + $this->newline = true; + } + } + break; + } + default: { + break; + } + } + // define tags that support borders and background colors + $bordertags = array('blockquote','br','dd','dl','div','dt','h1','h2','h3','h4','h5','h6','hr','li','ol','p','pre','ul','tcpdf','table'); + if (in_array($tag['value'], $bordertags)) { + // set border + $dom[$key]['borderposition'] = $this->getBorderStartPosition(); + } + if ($dom[$key]['self'] AND isset($dom[$key]['attribute']['pagebreakafter'])) { + $pba = $dom[$key]['attribute']['pagebreakafter']; + // check for pagebreak + if (($pba == 'true') OR ($pba == 'left') OR ($pba == 'right')) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + } + if ((($pba == 'left') AND (((!$this->rtl) AND (($this->page % 2) == 0)) OR (($this->rtl) AND (($this->page % 2) != 0)))) + OR (($pba == 'right') AND (((!$this->rtl) AND (($this->page % 2) != 0)) OR (($this->rtl) AND (($this->page % 2) == 0))))) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + } + } + return $dom; + } + + /** + * Process closing tags. + * @param array $dom html dom array + * @param int $key current element id + * @param boolean $cell if true add the default left (or right if RTL) padding to each new line (default false). + * @param int $maxbottomliney maximum y value of current line + * @return array $dom + * @protected + */ + protected function closeHTMLTagHandler($dom, $key, $cell, $maxbottomliney=0) { + $tag = $dom[$key]; + $parent = $dom[($dom[$key]['parent'])]; + $lasttag = ((!isset($dom[($key + 1)])) OR ((!isset($dom[($key + 2)])) AND ($dom[($key + 1)]['value'] == 'marker'))); + $in_table_head = false; + // maximum x position (used to draw borders) + if ($this->rtl) { + $xmax = $this->w; + } else { + $xmax = 0; + } + if ($tag['block']) { + $hbz = 0; // distance from y to line bottom + $hb = 0; // vertical space between block tags + // calculate vertical space for block tags + if (isset($this->tagvspaces[$tag['value']][1]['h']) && !empty($this->tagvspaces[$tag['value']][1]['h']) && ($this->tagvspaces[$tag['value']][1]['h'] >= 0)) { + $pre_h = $this->tagvspaces[$tag['value']][1]['h']; + } elseif (isset($parent['fontsize'])) { + $pre_h = $this->getCellHeight($parent['fontsize'] / $this->k); + } else { + $pre_h = $this->getCellHeight($this->FontSize); + } + if (isset($this->tagvspaces[$tag['value']][1]['n'])) { + $cn = $this->tagvspaces[$tag['value']][1]['n']; + } elseif (preg_match('/[h][0-9]/', $tag['value']) > 0) { + $cn = 0.6; + } else { + $cn = 1; + } + if ((!isset($this->tagvspaces[$tag['value']])) AND ($tag['value'] == 'div')) { + $hb = 0; + } else { + $hb = ($cn * $pre_h); + } + if ($maxbottomliney > $this->PageBreakTrigger) { + $hbz = $this->getCellHeight($this->FontSize); + } elseif ($this->y < $maxbottomliney) { + $hbz = ($maxbottomliney - $this->y); + } + } + // Closing tag + switch($tag['value']) { + case 'tr': { + $table_el = $dom[($dom[$key]['parent'])]['parent']; + if (!isset($parent['endy'])) { + $dom[($dom[$key]['parent'])]['endy'] = $this->y; + $parent['endy'] = $this->y; + } + if (!isset($parent['endpage'])) { + $dom[($dom[$key]['parent'])]['endpage'] = $this->page; + $parent['endpage'] = $this->page; + } + if (!isset($parent['endcolumn'])) { + $dom[($dom[$key]['parent'])]['endcolumn'] = $this->current_column; + $parent['endcolumn'] = $this->current_column; + } + // update row-spanned cells + if (isset($dom[$table_el]['rowspans'])) { + foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { + $dom[$table_el]['rowspans'][$k]['rowspan'] -= 1; + if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) { + if (($dom[$table_el]['rowspans'][$k]['endpage'] == $parent['endpage']) AND ($dom[$table_el]['rowspans'][$k]['endcolumn'] == $parent['endcolumn'])) { + $dom[($dom[$key]['parent'])]['endy'] = max($dom[$table_el]['rowspans'][$k]['endy'], $parent['endy']); + } elseif (($dom[$table_el]['rowspans'][$k]['endpage'] > $parent['endpage']) OR ($dom[$table_el]['rowspans'][$k]['endcolumn'] > $parent['endcolumn'])) { + $dom[($dom[$key]['parent'])]['endy'] = $dom[$table_el]['rowspans'][$k]['endy']; + $dom[($dom[$key]['parent'])]['endpage'] = $dom[$table_el]['rowspans'][$k]['endpage']; + $dom[($dom[$key]['parent'])]['endcolumn'] = $dom[$table_el]['rowspans'][$k]['endcolumn']; + } + } + } + // report new endy and endpage to the rowspanned cells + foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { + if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) { + $dom[$table_el]['rowspans'][$k]['endpage'] = max($dom[$table_el]['rowspans'][$k]['endpage'], $dom[($dom[$key]['parent'])]['endpage']); + $dom[($dom[$key]['parent'])]['endpage'] = $dom[$table_el]['rowspans'][$k]['endpage']; + $dom[$table_el]['rowspans'][$k]['endcolumn'] = max($dom[$table_el]['rowspans'][$k]['endcolumn'], $dom[($dom[$key]['parent'])]['endcolumn']); + $dom[($dom[$key]['parent'])]['endcolumn'] = $dom[$table_el]['rowspans'][$k]['endcolumn']; + $dom[$table_el]['rowspans'][$k]['endy'] = max($dom[$table_el]['rowspans'][$k]['endy'], $dom[($dom[$key]['parent'])]['endy']); + $dom[($dom[$key]['parent'])]['endy'] = $dom[$table_el]['rowspans'][$k]['endy']; + } + } + // update remaining rowspanned cells + foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { + if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) { + $dom[$table_el]['rowspans'][$k]['endpage'] = $dom[($dom[$key]['parent'])]['endpage']; + $dom[$table_el]['rowspans'][$k]['endcolumn'] = $dom[($dom[$key]['parent'])]['endcolumn']; + $dom[$table_el]['rowspans'][$k]['endy'] = $dom[($dom[$key]['parent'])]['endy']; + } + } + } + $prev_page = $this->page; + $this->setPage($dom[($dom[$key]['parent'])]['endpage']); + if ($this->num_columns > 1) { + if (($prev_page < $this->page) + AND ((($this->current_column == 0) AND ($dom[($dom[$key]['parent'])]['endcolumn'] == ($this->num_columns - 1))) + OR ($this->current_column == $dom[($dom[$key]['parent'])]['endcolumn']))) { + // page jump + $this->selectColumn(0); + $dom[($dom[$key]['parent'])]['endcolumn'] = 0; + $dom[($dom[$key]['parent'])]['endy'] = $this->y; + } else { + $this->selectColumn($dom[($dom[$key]['parent'])]['endcolumn']); + $this->y = $dom[($dom[$key]['parent'])]['endy']; + } + } else { + $this->y = $dom[($dom[$key]['parent'])]['endy']; + } + if (isset($dom[$table_el]['attribute']['cellspacing'])) { + $this->y += $this->getHTMLUnitToUnits($dom[$table_el]['attribute']['cellspacing'], 1, 'px'); + } elseif (isset($dom[$table_el]['border-spacing'])) { + $this->y += $dom[$table_el]['border-spacing']['V']; + } + $this->Ln(0, $cell); + if ($this->current_column == $parent['startcolumn']) { + $this->x = $parent['startx']; + } + // account for booklet mode + if ($this->page > $parent['startpage']) { + if (($this->rtl) AND ($this->pagedim[$this->page]['orm'] != $this->pagedim[$parent['startpage']]['orm'])) { + $this->x -= ($this->pagedim[$this->page]['orm'] - $this->pagedim[$parent['startpage']]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$this->page]['olm'] != $this->pagedim[$parent['startpage']]['olm'])) { + $this->x += ($this->pagedim[$this->page]['olm'] - $this->pagedim[$parent['startpage']]['olm']); + } + } + break; + } + case 'tablehead': + // closing tag used for the thead part + $in_table_head = true; + $this->inthead = false; + case 'table': { + $table_el = $parent; + // set default border + if (isset($table_el['attribute']['border']) AND ($table_el['attribute']['border'] > 0)) { + // set default border + $border = array('LTRB' => array('width' => $this->getCSSBorderWidth($table_el['attribute']['border']), 'cap'=>'square', 'join'=>'miter', 'dash'=> 0, 'color'=>array(0,0,0))); + } else { + $border = 0; + } + $default_border = $border; + // fix bottom line alignment of last line before page break + foreach ($dom[($dom[$key]['parent'])]['trids'] as $j => $trkey) { + // update row-spanned cells + if (isset($dom[($dom[$key]['parent'])]['rowspans'])) { + foreach ($dom[($dom[$key]['parent'])]['rowspans'] as $k => $trwsp) { + if (isset($prevtrkey) AND ($trwsp['trid'] == $prevtrkey) AND ($trwsp['mrowspan'] > 0)) { + $dom[($dom[$key]['parent'])]['rowspans'][$k]['trid'] = $trkey; + } + if ($dom[($dom[$key]['parent'])]['rowspans'][$k]['trid'] == $trkey) { + $dom[($dom[$key]['parent'])]['rowspans'][$k]['mrowspan'] -= 1; + } + } + } + if (isset($prevtrkey) AND ($dom[$trkey]['startpage'] > $dom[$prevtrkey]['endpage'])) { + $pgendy = $this->pagedim[$dom[$prevtrkey]['endpage']]['hk'] - $this->pagedim[$dom[$prevtrkey]['endpage']]['bm']; + $dom[$prevtrkey]['endy'] = $pgendy; + // update row-spanned cells + if (isset($dom[($dom[$key]['parent'])]['rowspans'])) { + foreach ($dom[($dom[$key]['parent'])]['rowspans'] as $k => $trwsp) { + if (($trwsp['trid'] == $prevtrkey) AND ($trwsp['mrowspan'] >= 0) AND ($trwsp['endpage'] == $dom[$prevtrkey]['endpage'])) { + $dom[($dom[$key]['parent'])]['rowspans'][$k]['endy'] = $pgendy; + $dom[($dom[$key]['parent'])]['rowspans'][$k]['mrowspan'] = -1; + } + } + } + } + $prevtrkey = $trkey; + $table_el = $dom[($dom[$key]['parent'])]; + } + // for each row + if (!empty($table_el['trids'])) { + unset($xmax); + } + foreach ($table_el['trids'] as $j => $trkey) { + $parent = $dom[$trkey]; + if (!isset($xmax)) { + $xmax = $parent['cellpos'][(count($parent['cellpos']) - 1)]['endx']; + } + // for each cell on the row + foreach ($parent['cellpos'] as $k => $cellpos) { + if (isset($cellpos['rowspanid']) AND ($cellpos['rowspanid'] >= 0)) { + $cellpos['startx'] = $table_el['rowspans'][($cellpos['rowspanid'])]['startx']; + $cellpos['endx'] = $table_el['rowspans'][($cellpos['rowspanid'])]['endx']; + $endy = $table_el['rowspans'][($cellpos['rowspanid'])]['endy']; + $startpage = $table_el['rowspans'][($cellpos['rowspanid'])]['startpage']; + $endpage = $table_el['rowspans'][($cellpos['rowspanid'])]['endpage']; + $startcolumn = $table_el['rowspans'][($cellpos['rowspanid'])]['startcolumn']; + $endcolumn = $table_el['rowspans'][($cellpos['rowspanid'])]['endcolumn']; + } else { + $endy = $parent['endy']; + $startpage = $parent['startpage']; + $endpage = $parent['endpage']; + $startcolumn = $parent['startcolumn']; + $endcolumn = $parent['endcolumn']; + } + if ($this->num_columns == 0) { + $this->num_columns = 1; + } + if (isset($cellpos['border'])) { + $border = $cellpos['border']; + } + if (isset($cellpos['bgcolor']) AND ($cellpos['bgcolor']) !== false) { + $this->setFillColorArray($cellpos['bgcolor']); + $fill = true; + } else { + $fill = false; + } + $x = $cellpos['startx']; + $y = $parent['starty']; + $starty = $y; + $w = abs($cellpos['endx'] - $cellpos['startx']); + // get border modes + $border_start = TCPDF_STATIC::getBorderMode($border, $position='start', $this->opencell); + $border_end = TCPDF_STATIC::getBorderMode($border, $position='end', $this->opencell); + $border_middle = TCPDF_STATIC::getBorderMode($border, $position='middle', $this->opencell); + // design borders around HTML cells. + for ($page = $startpage; $page <= $endpage; ++$page) { // for each page + $ccode = ''; + $this->setPage($page); + if ($this->num_columns < 2) { + // single-column mode + $this->x = $x; + $this->y = $this->tMargin; + } + // account for margin changes + if ($page > $startpage) { + if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); + } + } + if ($startpage == $endpage) { // single page + $deltacol = 0; + $deltath = 0; + for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($startcolumn == $endcolumn) { // single column + $cborder = $border; + $h = $endy - $parent['starty']; + $this->y = $y; + $this->x = $x; + } elseif ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $this->x = $x; + $h = $this->h - $this->y - $this->bMargin; + if ($this->rtl) { + $deltacol = $this->x + $this->rMargin - $this->w; + } else { + $deltacol = $this->x - $this->lMargin; + } + } elseif ($column == $endcolumn) { // end column + $cborder = $border_end; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; + $h = $endy - $this->y; + } else { // middle column + $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; + $h = $this->h - $this->y - $this->bMargin; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $startpage) { // first page + $deltacol = 0; + $deltath = 0; + for ($column = $startcolumn; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $this->x = $x; + $h = $this->h - $this->y - $this->bMargin; + if ($this->rtl) { + $deltacol = $this->x + $this->rMargin - $this->w; + } else { + $deltacol = $this->x - $this->lMargin; + } + } else { // middle column + $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; + $h = $this->h - $this->y - $this->bMargin; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $endpage) { // last page + $deltacol = 0; + $deltath = 0; + for ($column = 0; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $endcolumn) { // end column + $cborder = $border_end; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; + $h = $endy - $this->y; + } else { // middle column + $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; + $h = $this->h - $this->y - $this->bMargin; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } else { // middle page + $deltacol = 0; + $deltath = 0; + for ($column = 0; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; + $h = $this->h - $this->y - $this->bMargin; + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } + if (!empty($cborder) OR !empty($fill)) { + $offsetlen = strlen($ccode); + // draw border and fill + if ($this->inxobj) { + // we are inside an XObject template + if (end($this->xobjects[$this->xobjid]['transfmrk']) !== false) { + $pagemarkkey = key($this->xobjects[$this->xobjid]['transfmrk']); + $pagemark = $this->xobjects[$this->xobjid]['transfmrk'][$pagemarkkey]; + $this->xobjects[$this->xobjid]['transfmrk'][$pagemarkkey] += $offsetlen; + } else { + $pagemark = $this->xobjects[$this->xobjid]['intmrk']; + $this->xobjects[$this->xobjid]['intmrk'] += $offsetlen; + } + $pagebuff = $this->xobjects[$this->xobjid]['outdata']; + $pstart = substr($pagebuff, 0, $pagemark); + $pend = substr($pagebuff, $pagemark); + $this->xobjects[$this->xobjid]['outdata'] = $pstart.$ccode.$pend; + } else { + // draw border and fill + if (end($this->transfmrk[$this->page]) !== false) { + $pagemarkkey = key($this->transfmrk[$this->page]); + $pagemark = $this->transfmrk[$this->page][$pagemarkkey]; + } elseif ($this->InFooter) { + $pagemark = $this->footerpos[$this->page]; + } else { + $pagemark = $this->intmrk[$this->page]; + } + $pagebuff = $this->getPageBuffer($this->page); + $pstart = substr($pagebuff, 0, $pagemark); + $pend = substr($pagebuff, $pagemark); + $this->setPageBuffer($this->page, $pstart.$ccode.$pend); + } + } + } // end for each page + // restore default border + $border = $default_border; + } // end for each cell on the row + if (isset($table_el['attribute']['cellspacing'])) { + $this->y += $this->getHTMLUnitToUnits($table_el['attribute']['cellspacing'], 1, 'px'); + } elseif (isset($table_el['border-spacing'])) { + $this->y += $table_el['border-spacing']['V']; + } + $this->Ln(0, $cell); + $this->x = $parent['startx']; + if ($endpage > $startpage) { + if (($this->rtl) AND ($this->pagedim[$endpage]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x += ($this->pagedim[$endpage]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$endpage]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$endpage]['olm'] - $this->pagedim[$startpage]['olm']); + } + } + } + if (!$in_table_head) { // we are not inside a thead section + $this->cell_padding = isset($table_el['old_cell_padding']) ? $table_el['old_cell_padding'] : array('T' => 0, 'R' => 0, 'B' => 0, 'L' => 0); + // reset row height + $this->resetLastH(); + if (($this->page == ($this->numpages - 1)) AND ($this->pageopen[$this->numpages])) { + $plendiff = ($this->pagelen[$this->numpages] - $this->emptypagemrk[$this->numpages]); + if (($plendiff > 0) AND ($plendiff < 60)) { + $pagediff = substr($this->getPageBuffer($this->numpages), $this->emptypagemrk[$this->numpages], $plendiff); + if (substr($pagediff, 0, 5) == 'BT /F') { + // the difference is only a font setting + $plendiff = 0; + } + } + if ($plendiff == 0) { + // remove last blank page + $this->deletePage($this->numpages); + } + } + if (isset($this->theadMargins['top'])) { + // restore top margin + $this->tMargin = $this->theadMargins['top']; + } + if (!isset($table_el['attribute']['nested']) OR ($table_el['attribute']['nested'] != 'true')) { + // reset main table header + $this->thead = ''; + $this->theadMargins = array(); + $this->pagedim[$this->page]['tm'] = $this->tMargin; + } + } + $parent = $table_el; + break; + } + case 'a': { + $this->HREF = array(); + break; + } + case 'sup': { + $this->setXY($this->GetX(), $this->GetY() + ((0.7 * $parent['fontsize']) / $this->k)); + break; + } + case 'sub': { + $this->setXY($this->GetX(), $this->GetY() - ((0.3 * $parent['fontsize']) / $this->k)); + break; + } + case 'div': { + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + break; + } + case 'blockquote': { + if ($this->rtl) { + $this->rMargin -= $this->listindent; + } else { + $this->lMargin -= $this->listindent; + } + --$this->listindentlevel; + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + break; + } + case 'p': { + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + break; + } + case 'pre': { + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + $this->premode = false; + break; + } + case 'dl': { + --$this->listnum; + if ($this->listnum <= 0) { + $this->listnum = 0; + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + } else { + $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag); + } + $this->resetLastH(); + break; + } + case 'dt': { + $this->lispacer = ''; + $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag); + break; + } + case 'dd': { + $this->lispacer = ''; + if ($this->rtl) { + $this->rMargin -= $this->listindent; + } else { + $this->lMargin -= $this->listindent; + } + --$this->listindentlevel; + $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag); + break; + } + case 'ul': + case 'ol': { + --$this->listnum; + $this->lispacer = ''; + if ($this->rtl) { + $this->rMargin -= $this->listindent; + } else { + $this->lMargin -= $this->listindent; + } + --$this->listindentlevel; + if ($this->listnum <= 0) { + $this->listnum = 0; + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + } else { + $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag); + } + $this->resetLastH(); + break; + } + case 'li': { + $this->lispacer = ''; + $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag); + break; + } + case 'h1': + case 'h2': + case 'h3': + case 'h4': + case 'h5': + case 'h6': { + $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag); + break; + } + // Form fields (since 4.8.000 - 2009-09-07) + case 'form': { + $this->form_action = ''; + $this->form_enctype = 'application/x-www-form-urlencoded'; + break; + } + default : { + break; + } + } + // draw border and background (if any) + $this->drawHTMLTagBorder($parent, $xmax); + if (isset($dom[($dom[$key]['parent'])]['attribute']['pagebreakafter'])) { + $pba = $dom[($dom[$key]['parent'])]['attribute']['pagebreakafter']; + // check for pagebreak + if (($pba == 'true') OR ($pba == 'left') OR ($pba == 'right')) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + } + if ((($pba == 'left') AND (((!$this->rtl) AND (($this->page % 2) == 0)) OR (($this->rtl) AND (($this->page % 2) != 0)))) + OR (($pba == 'right') AND (((!$this->rtl) AND (($this->page % 2) != 0)) OR (($this->rtl) AND (($this->page % 2) == 0))))) { + // add a page (or trig AcceptPageBreak() for multicolumn mode) + $this->checkPageBreak($this->PageBreakTrigger + 1); + } + } + $this->tmprtl = false; + return $dom; + } + + /** + * Add vertical spaces if needed. + * @param string $hbz Distance between current y and line bottom. + * @param string $hb The height of the break. + * @param boolean $cell if true add the default left (or right if RTL) padding to each new line (default false). + * @param boolean $firsttag set to true when the tag is the first. + * @param boolean $lasttag set to true when the tag is the last. + * @protected + */ + protected function addHTMLVertSpace($hbz=0, $hb=0, $cell=false, $firsttag=false, $lasttag=false) { + if ($firsttag) { + $this->Ln(0, $cell); + $this->htmlvspace = 0; + return; + } + if ($lasttag) { + $this->Ln($hbz, $cell); + $this->htmlvspace = 0; + return; + } + if ($hb < $this->htmlvspace) { + $hd = 0; + } else { + $hd = $hb - $this->htmlvspace; + $this->htmlvspace = $hb; + } + $this->Ln(($hbz + $hd), $cell); + } + + /** + * Return the starting coordinates to draw an html border + * @return array containing top-left border coordinates + * @protected + * @since 5.7.000 (2010-08-03) + */ + protected function getBorderStartPosition() { + if ($this->rtl) { + $xmax = $this->lMargin; + } else { + $xmax = $this->w - $this->rMargin; + } + return array('page' => $this->page, 'column' => $this->current_column, 'x' => $this->x, 'y' => $this->y, 'xmax' => $xmax); + } + + /** + * Draw an HTML block border and fill + * @param array $tag array of tag properties. + * @param int $xmax end X coordinate for border. + * @protected + * @since 5.7.000 (2010-08-03) + */ + protected function drawHTMLTagBorder($tag, $xmax) { + if (!isset($tag['borderposition'])) { + // nothing to draw + return; + } + $prev_x = $this->x; + $prev_y = $this->y; + $prev_lasth = $this->lasth; + $border = 0; + $fill = false; + $this->lasth = 0; + if (isset($tag['border']) AND !empty($tag['border'])) { + // get border style + $border = $tag['border']; + if (!TCPDF_STATIC::empty_string($this->thead) AND (!$this->inthead)) { + // border for table header + $border = TCPDF_STATIC::getBorderMode($border, $position='middle', $this->opencell); + } + } + if (isset($tag['bgcolor']) AND ($tag['bgcolor'] !== false)) { + // get background color + $old_bgcolor = $this->bgcolor; + $this->setFillColorArray($tag['bgcolor']); + $fill = true; + } + if (!$border AND !$fill) { + // nothing to draw + return; + } + if (isset($tag['attribute']['cellspacing'])) { + $clsp = $this->getHTMLUnitToUnits($tag['attribute']['cellspacing'], 1, 'px'); + $cellspacing = array('H' => $clsp, 'V' => $clsp); + } elseif (isset($tag['border-spacing'])) { + $cellspacing = $tag['border-spacing']; + } else { + $cellspacing = array('H' => 0, 'V' => 0); + } + if (($tag['value'] != 'table') AND (is_array($border)) AND (!empty($border))) { + // draw the border externally respect the sqare edge. + $border['mode'] = 'ext'; + } + if ($this->rtl) { + if ($xmax >= $tag['borderposition']['x']) { + $xmax = $tag['borderposition']['xmax']; + } + $w = ($tag['borderposition']['x'] - $xmax); + } else { + if ($xmax <= $tag['borderposition']['x']) { + $xmax = $tag['borderposition']['xmax']; + } + $w = ($xmax - $tag['borderposition']['x']); + } + if ($w <= 0) { + return; + } + $w += $cellspacing['H']; + $startpage = $tag['borderposition']['page']; + $startcolumn = $tag['borderposition']['column']; + $x = $tag['borderposition']['x']; + $y = $tag['borderposition']['y']; + $endpage = $this->page; + $starty = $tag['borderposition']['y'] - $cellspacing['V']; + $currentY = $this->y; + $this->x = $x; + // get latest column + $endcolumn = $this->current_column; + if ($this->num_columns == 0) { + $this->num_columns = 1; + } + // get border modes + $border_start = TCPDF_STATIC::getBorderMode($border, $position='start', $this->opencell); + $border_end = TCPDF_STATIC::getBorderMode($border, $position='end', $this->opencell); + $border_middle = TCPDF_STATIC::getBorderMode($border, $position='middle', $this->opencell); + // temporary disable page regions + $temp_page_regions = $this->page_regions; + $this->page_regions = array(); + // design borders around HTML cells. + for ($page = $startpage; $page <= $endpage; ++$page) { // for each page + $ccode = ''; + $this->setPage($page); + if ($this->num_columns < 2) { + // single-column mode + $this->x = $x; + $this->y = $this->tMargin; + } + // account for margin changes + if ($page > $startpage) { + if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); + } + } + if ($startpage == $endpage) { + // single page + for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($startcolumn == $endcolumn) { // single column + $cborder = $border; + $h = ($currentY - $y) + $cellspacing['V']; + $this->y = $starty; + } elseif ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $h = $this->h - $this->y - $this->bMargin; + } elseif ($column == $endcolumn) { // end column + $cborder = $border_end; + $h = $currentY - $this->y; + } else { // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $startpage) { // first page + for ($column = $startcolumn; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $h = $this->h - $this->y - $this->bMargin; + } else { // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $endpage) { // last page + for ($column = 0; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $endcolumn) { + // end column + $cborder = $border_end; + $h = $currentY - $this->y; + } else { + // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } else { // middle page + for ($column = 0; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } + if ($cborder OR $fill) { + $offsetlen = strlen($ccode); + // draw border and fill + if ($this->inxobj) { + // we are inside an XObject template + if (end($this->xobjects[$this->xobjid]['transfmrk']) !== false) { + $pagemarkkey = key($this->xobjects[$this->xobjid]['transfmrk']); + $pagemark = $this->xobjects[$this->xobjid]['transfmrk'][$pagemarkkey]; + $this->xobjects[$this->xobjid]['transfmrk'][$pagemarkkey] += $offsetlen; + } else { + $pagemark = $this->xobjects[$this->xobjid]['intmrk']; + $this->xobjects[$this->xobjid]['intmrk'] += $offsetlen; + } + $pagebuff = $this->xobjects[$this->xobjid]['outdata']; + $pstart = substr($pagebuff, 0, $pagemark); + $pend = substr($pagebuff, $pagemark); + $this->xobjects[$this->xobjid]['outdata'] = $pstart.$ccode.$pend; + } else { + if (end($this->transfmrk[$this->page]) !== false) { + $pagemarkkey = key($this->transfmrk[$this->page]); + $pagemark = $this->transfmrk[$this->page][$pagemarkkey]; + } elseif ($this->InFooter) { + $pagemark = $this->footerpos[$this->page]; + } else { + $pagemark = $this->intmrk[$this->page]; + } + $pagebuff = $this->getPageBuffer($this->page); + $pstart = substr($pagebuff, 0, $pagemark); + $pend = substr($pagebuff, $pagemark); + $this->setPageBuffer($this->page, $pstart.$ccode.$pend); + $this->bordermrk[$this->page] += $offsetlen; + $this->cntmrk[$this->page] += $offsetlen; + } + } + } // end for each page + // restore page regions + $this->page_regions = $temp_page_regions; + if (isset($old_bgcolor)) { + // restore background color + $this->setFillColorArray($old_bgcolor); + } + // restore pointer position + $this->x = $prev_x; + $this->y = $prev_y; + $this->lasth = $prev_lasth; + } + + /** + * Set the default bullet to be used as LI bullet symbol + * @param string $symbol character or string to be used (legal values are: '' = automatic, '!' = auto bullet, '#' = auto numbering, 'disc', 'disc', 'circle', 'square', '1', 'decimal', 'decimal-leading-zero', 'i', 'lower-roman', 'I', 'upper-roman', 'a', 'lower-alpha', 'lower-latin', 'A', 'upper-alpha', 'upper-latin', 'lower-greek', 'img|type|width|height|image.ext') + * @public + * @since 4.0.028 (2008-09-26) + */ + public function setLIsymbol($symbol='!') { + // check for custom image symbol + if (substr($symbol, 0, 4) == 'img|') { + $this->lisymbol = $symbol; + return; + } + $symbol = strtolower($symbol); + $valid_symbols = array('!', '#', 'disc', 'circle', 'square', '1', 'decimal', 'decimal-leading-zero', 'i', 'lower-roman', 'I', 'upper-roman', 'a', 'lower-alpha', 'lower-latin', 'A', 'upper-alpha', 'upper-latin', 'lower-greek'); + if (in_array($symbol, $valid_symbols)) { + $this->lisymbol = $symbol; + } else { + $this->lisymbol = ''; + } + } + + /** + * Set the booklet mode for double-sided pages. + * @param boolean $booklet true set the booklet mode on, false otherwise. + * @param float $inner Inner page margin. + * @param float $outer Outer page margin. + * @public + * @since 4.2.000 (2008-10-29) + */ + public function setBooklet($booklet=true, $inner=-1, $outer=-1) { + $this->booklet = $booklet; + if ($inner >= 0) { + $this->lMargin = $inner; + } + if ($outer >= 0) { + $this->rMargin = $outer; + } + } + + /** + * Swap the left and right margins. + * @param boolean $reverse if true swap left and right margins. + * @protected + * @since 4.2.000 (2008-10-29) + */ + protected function swapMargins($reverse=true) { + if ($reverse) { + // swap left and right margins + $mtemp = $this->original_lMargin; + $this->original_lMargin = $this->original_rMargin; + $this->original_rMargin = $mtemp; + $deltam = $this->original_lMargin - $this->original_rMargin; + $this->lMargin += $deltam; + $this->rMargin -= $deltam; + } + } + + /** + * Set the vertical spaces for HTML tags. + * The array must have the following structure (example): + * $tagvs = array('h1' => array(0 => array('h' => '', 'n' => 2), 1 => array('h' => 1.3, 'n' => 1))); + * The first array level contains the tag names, + * the second level contains 0 for opening tags or 1 for closing tags, + * the third level contains the vertical space unit (h) and the number spaces to add (n). + * If the h parameter is not specified, default values are used. + * @param array $tagvs array of tags and relative vertical spaces. + * @public + * @since 4.2.001 (2008-10-30) + */ + public function setHtmlVSpace($tagvs) { + $this->tagvspaces = $tagvs; + } + + /** + * Set custom width for list indentation. + * @param float $width width of the indentation. Use negative value to disable it. + * @public + * @since 4.2.007 (2008-11-12) + */ + public function setListIndentWidth($width) { + return $this->customlistindent = floatval($width); + } + + /** + * Set the top/bottom cell sides to be open or closed when the cell cross the page. + * @param boolean $isopen if true keeps the top/bottom border open for the cell sides that cross the page. + * @public + * @since 4.2.010 (2008-11-14) + */ + public function setOpenCell($isopen) { + $this->opencell = $isopen; + } + + /** + * Set the color and font style for HTML links. + * @param array $color RGB array of colors + * @param string $fontstyle additional font styles to add + * @public + * @since 4.4.003 (2008-12-09) + */ + public function setHtmlLinksStyle($color=array(0,0,255), $fontstyle='U') { + $this->htmlLinkColorArray = $color; + $this->htmlLinkFontStyle = $fontstyle; + } + + /** + * Convert HTML string containing value and unit of measure to user's units or points. + * @param string $htmlval String containing values and unit. + * @param string $refsize Reference value in points. + * @param string $defaultunit Default unit (can be one of the following: %, em, ex, px, in, mm, pc, pt). + * @param boolean $points If true returns points, otherwise returns value in user's units. + * @return float value in user's unit or point if $points=true + * @public + * @since 4.4.004 (2008-12-10) + */ + public function getHTMLUnitToUnits($htmlval, $refsize=1, $defaultunit='px', $points=false) { + $supportedunits = array('%', 'em', 'ex', 'px', 'in', 'cm', 'mm', 'pc', 'pt'); + $retval = 0; + $value = 0; + $unit = 'px'; + if ($points) { + $k = 1; + } else { + $k = $this->k; + } + if (in_array($defaultunit, $supportedunits)) { + $unit = $defaultunit; + } + if (is_numeric($htmlval)) { + $value = floatval($htmlval); + } elseif (preg_match('/([0-9\.\-\+]+)/', $htmlval, $mnum)) { + $value = floatval($mnum[1]); + if (preg_match('/([a-z%]+)/', $htmlval, $munit)) { + if (in_array($munit[1], $supportedunits)) { + $unit = $munit[1]; + } + } + } + switch ($unit) { + // percentage + case '%': { + $retval = (($value * $refsize) / 100); + break; + } + // relative-size + case 'em': { + $retval = ($value * $refsize); + break; + } + // height of lower case 'x' (about half the font-size) + case 'ex': { + $retval = ($value * ($refsize / 2)); + break; + } + // absolute-size + case 'in': { + $retval = (($value * $this->dpi) / $k); + break; + } + // centimeters + case 'cm': { + $retval = (($value / 2.54 * $this->dpi) / $k); + break; + } + // millimeters + case 'mm': { + $retval = (($value / 25.4 * $this->dpi) / $k); + break; + } + // one pica is 12 points + case 'pc': { + $retval = (($value * 12) / $k); + break; + } + // points + case 'pt': { + $retval = ($value / $k); + break; + } + // pixels + case 'px': { + $retval = $this->pixelsToUnits($value); + if ($points) { + $retval *= $this->k; + } + break; + } + } + return $retval; + } + + /** + * Output an HTML list bullet or ordered item symbol + * @param int $listdepth list nesting level + * @param string $listtype type of list + * @param float $size current font size + * @protected + * @since 4.4.004 (2008-12-10) + */ + protected function putHtmlListBullet($listdepth, $listtype='', $size=10) { + if ($this->state != 2) { + return; + } + $size /= $this->k; + $fill = ''; + $bgcolor = $this->bgcolor; + $color = $this->fgcolor; + $strokecolor = $this->strokecolor; + $width = 0; + $textitem = ''; + $tmpx = $this->x; + $lspace = $this->GetStringWidth(' '); + if ($listtype == '^') { + // special symbol used for avoid justification of rect bullet + $this->lispacer = ''; + return; + } elseif ($listtype == '!') { + // set default list type for unordered list + $deftypes = array('disc', 'circle', 'square'); + $listtype = $deftypes[($listdepth - 1) % 3]; + } elseif ($listtype == '#') { + // set default list type for ordered list + $listtype = 'decimal'; + } elseif (substr($listtype, 0, 4) == 'img|') { + // custom image type ('img|type|width|height|image.ext') + $img = explode('|', $listtype); + $listtype = 'img'; + } + switch ($listtype) { + // unordered types + case 'none': { + break; + } + case 'disc': { + $r = $size / 6; + $lspace += (2 * $r); + if ($this->rtl) { + $this->x += $lspace; + } else { + $this->x -= $lspace; + } + $this->Circle(($this->x + $r), ($this->y + ($this->lasth / 2)), $r, 0, 360, 'F', array(), $color, 8); + break; + } + case 'circle': { + $r = $size / 6; + $lspace += (2 * $r); + if ($this->rtl) { + $this->x += $lspace; + } else { + $this->x -= $lspace; + } + $prev_line_style = $this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor; + $new_line_style = array('width' => ($r / 3), 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'phase' => 0, 'color'=>$color); + $this->Circle(($this->x + $r), ($this->y + ($this->lasth / 2)), ($r * (1 - (1/6))), 0, 360, 'D', $new_line_style, array(), 8); + $this->_out($prev_line_style); // restore line settings + break; + } + case 'square': { + $l = $size / 3; + $lspace += $l; + if ($this->rtl) {; + $this->x += $lspace; + } else { + $this->x -= $lspace; + } + $this->Rect($this->x, ($this->y + (($this->lasth - $l) / 2)), $l, $l, 'F', array(), $color); + break; + } + case 'img': { + // 1=>type, 2=>width, 3=>height, 4=>image.ext + $lspace += $img[2]; + if ($this->rtl) {; + $this->x += $lspace; + } else { + $this->x -= $lspace; + } + $imgtype = strtolower($img[1]); + $prev_y = $this->y; + switch ($imgtype) { + case 'svg': { + $this->ImageSVG($img[4], $this->x, ($this->y + (($this->lasth - $img[3]) / 2)), $img[2], $img[3], '', 'T', '', 0, false); + break; + } + case 'ai': + case 'eps': { + $this->ImageEps($img[4], $this->x, ($this->y + (($this->lasth - $img[3]) / 2)), $img[2], $img[3], '', true, 'T', '', 0, false); + break; + } + default: { + $this->Image($img[4], $this->x, ($this->y + (($this->lasth - $img[3]) / 2)), $img[2], $img[3], $img[1], '', 'T', false, 300, '', false, false, 0, false, false, false); + break; + } + } + $this->y = $prev_y; + break; + } + // ordered types + // $this->listcount[$this->listnum]; + // $textitem + case '1': + case 'decimal': { + $textitem = $this->listcount[$this->listnum]; + break; + } + case 'decimal-leading-zero': { + $textitem = sprintf('%02d', $this->listcount[$this->listnum]); + break; + } + case 'i': + case 'lower-roman': { + $textitem = strtolower(TCPDF_STATIC::intToRoman($this->listcount[$this->listnum])); + break; + } + case 'I': + case 'upper-roman': { + $textitem = TCPDF_STATIC::intToRoman($this->listcount[$this->listnum]); + break; + } + case 'a': + case 'lower-alpha': + case 'lower-latin': { + $textitem = chr(97 + $this->listcount[$this->listnum] - 1); + break; + } + case 'A': + case 'upper-alpha': + case 'upper-latin': { + $textitem = chr(65 + $this->listcount[$this->listnum] - 1); + break; + } + case 'lower-greek': { + $textitem = TCPDF_FONTS::unichr((945 + $this->listcount[$this->listnum] - 1), $this->isunicode); + break; + } + /* + // Types to be implemented (special handling) + case 'hebrew': { + break; + } + case 'armenian': { + break; + } + case 'georgian': { + break; + } + case 'cjk-ideographic': { + break; + } + case 'hiragana': { + break; + } + case 'katakana': { + break; + } + case 'hiragana-iroha': { + break; + } + case 'katakana-iroha': { + break; + } + */ + default: { + $textitem = $this->listcount[$this->listnum]; + } + } + if (!TCPDF_STATIC::empty_string($textitem)) { + // Check whether we need a new page or new column + $prev_y = $this->y; + $h = $this->getCellHeight($this->FontSize); + if ($this->checkPageBreak($h) OR ($this->y < $prev_y)) { + $tmpx = $this->x; + } + // print ordered item + if ($this->rtl) { + $textitem = '.'.$textitem; + } else { + $textitem = $textitem.'.'; + } + $lspace += $this->GetStringWidth($textitem); + if ($this->rtl) { + $this->x += $lspace; + } else { + $this->x -= $lspace; + } + $this->Write($this->lasth, $textitem, '', false, '', false, 0, false); + } + $this->x = $tmpx; + $this->lispacer = '^'; + // restore colors + $this->setFillColorArray($bgcolor); + $this->setDrawColorArray($strokecolor); + $this->settextColorArray($color); + } + + /** + * Returns current graphic variables as array. + * @return array of graphic variables + * @protected + * @since 4.2.010 (2008-11-14) + */ + protected function getGraphicVars() { + $grapvars = array( + 'FontFamily' => $this->FontFamily, + 'FontStyle' => $this->FontStyle, + 'FontSizePt' => $this->FontSizePt, + 'rMargin' => $this->rMargin, + 'lMargin' => $this->lMargin, + 'cell_padding' => $this->cell_padding, + 'cell_margin' => $this->cell_margin, + 'LineWidth' => $this->LineWidth, + 'linestyleWidth' => $this->linestyleWidth, + 'linestyleCap' => $this->linestyleCap, + 'linestyleJoin' => $this->linestyleJoin, + 'linestyleDash' => $this->linestyleDash, + 'textrendermode' => $this->textrendermode, + 'textstrokewidth' => $this->textstrokewidth, + 'DrawColor' => $this->DrawColor, + 'FillColor' => $this->FillColor, + 'TextColor' => $this->TextColor, + 'ColorFlag' => $this->ColorFlag, + 'bgcolor' => $this->bgcolor, + 'fgcolor' => $this->fgcolor, + 'htmlvspace' => $this->htmlvspace, + 'listindent' => $this->listindent, + 'listindentlevel' => $this->listindentlevel, + 'listnum' => $this->listnum, + 'listordered' => $this->listordered, + 'listcount' => $this->listcount, + 'lispacer' => $this->lispacer, + 'cell_height_ratio' => $this->cell_height_ratio, + 'font_stretching' => $this->font_stretching, + 'font_spacing' => $this->font_spacing, + 'alpha' => $this->alpha, + // extended + 'lasth' => $this->lasth, + 'tMargin' => $this->tMargin, + 'bMargin' => $this->bMargin, + 'AutoPageBreak' => $this->AutoPageBreak, + 'PageBreakTrigger' => $this->PageBreakTrigger, + 'x' => $this->x, + 'y' => $this->y, + 'w' => $this->w, + 'h' => $this->h, + 'wPt' => $this->wPt, + 'hPt' => $this->hPt, + 'fwPt' => $this->fwPt, + 'fhPt' => $this->fhPt, + 'page' => $this->page, + 'current_column' => $this->current_column, + 'num_columns' => $this->num_columns + ); + return $grapvars; + } + + /** + * Set graphic variables. + * @param array $gvars array of graphic variablesto restore + * @param boolean $extended if true restore extended graphic variables + * @protected + * @since 4.2.010 (2008-11-14) + */ + protected function setGraphicVars($gvars, $extended=false) { + if ($this->state != 2) { + return; + } + $this->FontFamily = $gvars['FontFamily']; + $this->FontStyle = $gvars['FontStyle']; + $this->FontSizePt = $gvars['FontSizePt']; + $this->rMargin = $gvars['rMargin']; + $this->lMargin = $gvars['lMargin']; + $this->cell_padding = $gvars['cell_padding']; + $this->cell_margin = $gvars['cell_margin']; + $this->LineWidth = $gvars['LineWidth']; + $this->linestyleWidth = $gvars['linestyleWidth']; + $this->linestyleCap = $gvars['linestyleCap']; + $this->linestyleJoin = $gvars['linestyleJoin']; + $this->linestyleDash = $gvars['linestyleDash']; + $this->textrendermode = $gvars['textrendermode']; + $this->textstrokewidth = $gvars['textstrokewidth']; + $this->DrawColor = $gvars['DrawColor']; + $this->FillColor = $gvars['FillColor']; + $this->TextColor = $gvars['TextColor']; + $this->ColorFlag = $gvars['ColorFlag']; + $this->bgcolor = $gvars['bgcolor']; + $this->fgcolor = $gvars['fgcolor']; + $this->htmlvspace = $gvars['htmlvspace']; + $this->listindent = $gvars['listindent']; + $this->listindentlevel = $gvars['listindentlevel']; + $this->listnum = $gvars['listnum']; + $this->listordered = $gvars['listordered']; + $this->listcount = $gvars['listcount']; + $this->lispacer = $gvars['lispacer']; + $this->cell_height_ratio = $gvars['cell_height_ratio']; + $this->font_stretching = $gvars['font_stretching']; + $this->font_spacing = $gvars['font_spacing']; + $this->alpha = $gvars['alpha']; + if ($extended) { + // restore extended values + $this->lasth = $gvars['lasth']; + $this->tMargin = $gvars['tMargin']; + $this->bMargin = $gvars['bMargin']; + $this->AutoPageBreak = $gvars['AutoPageBreak']; + $this->PageBreakTrigger = $gvars['PageBreakTrigger']; + $this->x = $gvars['x']; + $this->y = $gvars['y']; + $this->w = $gvars['w']; + $this->h = $gvars['h']; + $this->wPt = $gvars['wPt']; + $this->hPt = $gvars['hPt']; + $this->fwPt = $gvars['fwPt']; + $this->fhPt = $gvars['fhPt']; + $this->page = $gvars['page']; + $this->current_column = $gvars['current_column']; + $this->num_columns = $gvars['num_columns']; + } + $this->_out(''.$this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor.' '.$this->FillColor.''); + if (!TCPDF_STATIC::empty_string($this->FontFamily)) { + $this->setFont($this->FontFamily, $this->FontStyle, $this->FontSizePt); + } + } + + /** + * Outputs the "save graphics state" operator 'q' + * @protected + */ + protected function _outSaveGraphicsState() { + $this->_out('q'); + } + + /** + * Outputs the "restore graphics state" operator 'Q' + * @protected + */ + protected function _outRestoreGraphicsState() { + $this->_out('Q'); + } + + /** + * Set buffer content (always append data). + * @param string $data data + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected function setBuffer($data) { + $this->bufferlen += strlen($data); + $this->buffer .= $data; + } + + /** + * Replace the buffer content + * @param string $data data + * @protected + * @since 5.5.000 (2010-06-22) + */ + protected function replaceBuffer($data) { + $this->bufferlen = strlen($data); + $this->buffer = $data; + } + + /** + * Get buffer content. + * @return string buffer content + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected function getBuffer() { + return $this->buffer; + } + + /** + * Set page buffer content. + * @param int $page page number + * @param string $data page data + * @param boolean $append if true append data, false replace. + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected function setPageBuffer($page, $data, $append=false) { + if ($append) { + $this->pages[$page] .= $data; + } else { + $this->pages[$page] = $data; + } + if ($append AND isset($this->pagelen[$page])) { + $this->pagelen[$page] += strlen($data); + } else { + $this->pagelen[$page] = strlen($data); + } + } + + /** + * Get page buffer content. + * @param int $page page number + * @return string page buffer content or false in case of error + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected function getPageBuffer($page) { + if (isset($this->pages[$page])) { + return $this->pages[$page]; + } + return false; + } + + /** + * Set image buffer content. + * @param string $image image key + * @param array $data image data + * @return int image index number + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected function setImageBuffer($image, $data) { + if (($data['i'] = array_search($image, $this->imagekeys)) === FALSE) { + $this->imagekeys[$this->numimages] = $image; + $data['i'] = $this->numimages; + ++$this->numimages; + } + $this->images[$image] = $data; + return $data['i']; + } + + /** + * Set image buffer content for a specified sub-key. + * @param string $image image key + * @param string $key image sub-key + * @param array $data image data + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected function setImageSubBuffer($image, $key, $data) { + if (!isset($this->images[$image])) { + $this->setImageBuffer($image, array()); + } + $this->images[$image][$key] = $data; + } + + /** + * Get image buffer content. + * @param string $image image key + * @return string|false image buffer content or false in case of error + * @protected + * @since 4.5.000 (2008-12-31) + */ + protected function getImageBuffer($image) { + if (isset($this->images[$image])) { + return $this->images[$image]; + } + return false; + } + + /** + * Set font buffer content. + * @param string $font font key + * @param array $data font data + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected function setFontBuffer($font, $data) { + $this->fonts[$font] = $data; + if (!in_array($font, $this->fontkeys)) { + $this->fontkeys[] = $font; + // store object ID for current font + ++$this->n; + $this->font_obj_ids[$font] = $this->n; + $this->setFontSubBuffer($font, 'n', $this->n); + } + } + + /** + * Set font buffer content. + * @param string $font font key + * @param string $key font sub-key + * @param mixed $data font data + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected function setFontSubBuffer($font, $key, $data) { + if (!isset($this->fonts[$font])) { + $this->setFontBuffer($font, array()); + } + $this->fonts[$font][$key] = $data; + } + + /** + * Get font buffer content. + * @param string $font font key + * @return string|false font buffer content or false in case of error + * @protected + * @since 4.5.000 (2009-01-02) + */ + protected function getFontBuffer($font) { + if (isset($this->fonts[$font])) { + return $this->fonts[$font]; + } + return false; + } + + /** + * Move a page to a previous position. + * @param int $frompage number of the source page + * @param int $topage number of the destination page (must be less than $frompage) + * @return bool true in case of success, false in case of error. + * @public + * @since 4.5.000 (2009-01-02) + */ + public function movePage($frompage, $topage) { + if (($frompage > $this->numpages) OR ($frompage <= $topage)) { + return false; + } + if ($frompage == $this->page) { + // close the page before moving it + $this->endPage(); + } + // move all page-related states + $tmppage = $this->getPageBuffer($frompage); + $tmppagedim = $this->pagedim[$frompage]; + $tmppagelen = $this->pagelen[$frompage]; + $tmpintmrk = $this->intmrk[$frompage]; + $tmpbordermrk = $this->bordermrk[$frompage]; + $tmpcntmrk = $this->cntmrk[$frompage]; + $tmppageobjects = $this->pageobjects[$frompage]; + if (isset($this->footerpos[$frompage])) { + $tmpfooterpos = $this->footerpos[$frompage]; + } + if (isset($this->footerlen[$frompage])) { + $tmpfooterlen = $this->footerlen[$frompage]; + } + if (isset($this->transfmrk[$frompage])) { + $tmptransfmrk = $this->transfmrk[$frompage]; + } + if (isset($this->PageAnnots[$frompage])) { + $tmpannots = $this->PageAnnots[$frompage]; + } + if (isset($this->newpagegroup) AND !empty($this->newpagegroup)) { + for ($i = $frompage; $i > $topage; --$i) { + if (isset($this->newpagegroup[$i]) AND (($i + $this->pagegroups[$this->newpagegroup[$i]]) > $frompage)) { + --$this->pagegroups[$this->newpagegroup[$i]]; + break; + } + } + for ($i = $topage; $i > 0; --$i) { + if (isset($this->newpagegroup[$i]) AND (($i + $this->pagegroups[$this->newpagegroup[$i]]) > $topage)) { + ++$this->pagegroups[$this->newpagegroup[$i]]; + break; + } + } + } + for ($i = $frompage; $i > $topage; --$i) { + $j = $i - 1; + // shift pages down + $this->setPageBuffer($i, $this->getPageBuffer($j)); + $this->pagedim[$i] = $this->pagedim[$j]; + $this->pagelen[$i] = $this->pagelen[$j]; + $this->intmrk[$i] = $this->intmrk[$j]; + $this->bordermrk[$i] = $this->bordermrk[$j]; + $this->cntmrk[$i] = $this->cntmrk[$j]; + $this->pageobjects[$i] = $this->pageobjects[$j]; + if (isset($this->footerpos[$j])) { + $this->footerpos[$i] = $this->footerpos[$j]; + } elseif (isset($this->footerpos[$i])) { + unset($this->footerpos[$i]); + } + if (isset($this->footerlen[$j])) { + $this->footerlen[$i] = $this->footerlen[$j]; + } elseif (isset($this->footerlen[$i])) { + unset($this->footerlen[$i]); + } + if (isset($this->transfmrk[$j])) { + $this->transfmrk[$i] = $this->transfmrk[$j]; + } elseif (isset($this->transfmrk[$i])) { + unset($this->transfmrk[$i]); + } + if (isset($this->PageAnnots[$j])) { + $this->PageAnnots[$i] = $this->PageAnnots[$j]; + } elseif (isset($this->PageAnnots[$i])) { + unset($this->PageAnnots[$i]); + } + if (isset($this->newpagegroup[$j])) { + $this->newpagegroup[$i] = $this->newpagegroup[$j]; + unset($this->newpagegroup[$j]); + } + if ($this->currpagegroup == $j) { + $this->currpagegroup = $i; + } + } + $this->setPageBuffer($topage, $tmppage); + $this->pagedim[$topage] = $tmppagedim; + $this->pagelen[$topage] = $tmppagelen; + $this->intmrk[$topage] = $tmpintmrk; + $this->bordermrk[$topage] = $tmpbordermrk; + $this->cntmrk[$topage] = $tmpcntmrk; + $this->pageobjects[$topage] = $tmppageobjects; + if (isset($tmpfooterpos)) { + $this->footerpos[$topage] = $tmpfooterpos; + } elseif (isset($this->footerpos[$topage])) { + unset($this->footerpos[$topage]); + } + if (isset($tmpfooterlen)) { + $this->footerlen[$topage] = $tmpfooterlen; + } elseif (isset($this->footerlen[$topage])) { + unset($this->footerlen[$topage]); + } + if (isset($tmptransfmrk)) { + $this->transfmrk[$topage] = $tmptransfmrk; + } elseif (isset($this->transfmrk[$topage])) { + unset($this->transfmrk[$topage]); + } + if (isset($tmpannots)) { + $this->PageAnnots[$topage] = $tmpannots; + } elseif (isset($this->PageAnnots[$topage])) { + unset($this->PageAnnots[$topage]); + } + // adjust outlines + $tmpoutlines = $this->outlines; + foreach ($tmpoutlines as $key => $outline) { + if (!$outline['f']) { + if (($outline['p'] >= $topage) AND ($outline['p'] < $frompage)) { + $this->outlines[$key]['p'] = ($outline['p'] + 1); + } elseif ($outline['p'] == $frompage) { + $this->outlines[$key]['p'] = $topage; + } + } + } + // adjust dests + $tmpdests = $this->dests; + foreach ($tmpdests as $key => $dest) { + if (!$dest['f']) { + if (($dest['p'] >= $topage) AND ($dest['p'] < $frompage)) { + $this->dests[$key]['p'] = ($dest['p'] + 1); + } elseif ($dest['p'] == $frompage) { + $this->dests[$key]['p'] = $topage; + } + } + } + // adjust links + $tmplinks = $this->links; + foreach ($tmplinks as $key => $link) { + if (!$link['f']) { + if (($link['p'] >= $topage) AND ($link['p'] < $frompage)) { + $this->links[$key]['p'] = ($link['p'] + 1); + } elseif ($link['p'] == $frompage) { + $this->links[$key]['p'] = $topage; + } + } + } + // adjust javascript + $jfrompage = $frompage; + $jtopage = $topage; + if (preg_match_all('/this\.addField\(\'([^\']*)\',\'([^\']*)\',([0-9]+)/', $this->javascript, $pamatch) > 0) { + foreach($pamatch[0] as $pk => $pmatch) { + $pagenum = intval($pamatch[3][$pk]) + 1; + if (($pagenum >= $jtopage) AND ($pagenum < $jfrompage)) { + $newpage = ($pagenum + 1); + } elseif ($pagenum == $jfrompage) { + $newpage = $jtopage; + } else { + $newpage = $pagenum; + } + --$newpage; + $newjs = "this.addField(\'".$pamatch[1][$pk]."\',\'".$pamatch[2][$pk]."\',".$newpage; + $this->javascript = str_replace($pmatch, $newjs, $this->javascript); + } + unset($pamatch); + } + // return to last page + $this->lastPage(true); + return true; + } + + /** + * Remove the specified page. + * @param int $page page to remove + * @return bool true in case of success, false in case of error. + * @public + * @since 4.6.004 (2009-04-23) + */ + public function deletePage($page) { + if (($page < 1) OR ($page > $this->numpages)) { + return false; + } + // delete current page + unset($this->pages[$page]); + unset($this->pagedim[$page]); + unset($this->pagelen[$page]); + unset($this->intmrk[$page]); + unset($this->bordermrk[$page]); + unset($this->cntmrk[$page]); + foreach ($this->pageobjects[$page] as $oid) { + if (isset($this->offsets[$oid])){ + unset($this->offsets[$oid]); + } + } + unset($this->pageobjects[$page]); + if (isset($this->footerpos[$page])) { + unset($this->footerpos[$page]); + } + if (isset($this->footerlen[$page])) { + unset($this->footerlen[$page]); + } + if (isset($this->transfmrk[$page])) { + unset($this->transfmrk[$page]); + } + if (isset($this->PageAnnots[$page])) { + unset($this->PageAnnots[$page]); + } + if (isset($this->newpagegroup) AND !empty($this->newpagegroup)) { + for ($i = $page; $i > 0; --$i) { + if (isset($this->newpagegroup[$i]) AND (($i + $this->pagegroups[$this->newpagegroup[$i]]) > $page)) { + --$this->pagegroups[$this->newpagegroup[$i]]; + break; + } + } + } + if (isset($this->pageopen[$page])) { + unset($this->pageopen[$page]); + } + if ($page < $this->numpages) { + // update remaining pages + for ($i = $page; $i < $this->numpages; ++$i) { + $j = $i + 1; + // shift pages + $this->setPageBuffer($i, $this->getPageBuffer($j)); + $this->pagedim[$i] = $this->pagedim[$j]; + $this->pagelen[$i] = $this->pagelen[$j]; + $this->intmrk[$i] = $this->intmrk[$j]; + $this->bordermrk[$i] = $this->bordermrk[$j]; + $this->cntmrk[$i] = $this->cntmrk[$j]; + $this->pageobjects[$i] = $this->pageobjects[$j]; + if (isset($this->footerpos[$j])) { + $this->footerpos[$i] = $this->footerpos[$j]; + } elseif (isset($this->footerpos[$i])) { + unset($this->footerpos[$i]); + } + if (isset($this->footerlen[$j])) { + $this->footerlen[$i] = $this->footerlen[$j]; + } elseif (isset($this->footerlen[$i])) { + unset($this->footerlen[$i]); + } + if (isset($this->transfmrk[$j])) { + $this->transfmrk[$i] = $this->transfmrk[$j]; + } elseif (isset($this->transfmrk[$i])) { + unset($this->transfmrk[$i]); + } + if (isset($this->PageAnnots[$j])) { + $this->PageAnnots[$i] = $this->PageAnnots[$j]; + } elseif (isset($this->PageAnnots[$i])) { + unset($this->PageAnnots[$i]); + } + if (isset($this->newpagegroup[$j])) { + $this->newpagegroup[$i] = $this->newpagegroup[$j]; + unset($this->newpagegroup[$j]); + } + if ($this->currpagegroup == $j) { + $this->currpagegroup = $i; + } + if (isset($this->pageopen[$j])) { + $this->pageopen[$i] = $this->pageopen[$j]; + } elseif (isset($this->pageopen[$i])) { + unset($this->pageopen[$i]); + } + } + // remove last page + unset($this->pages[$this->numpages]); + unset($this->pagedim[$this->numpages]); + unset($this->pagelen[$this->numpages]); + unset($this->intmrk[$this->numpages]); + unset($this->bordermrk[$this->numpages]); + unset($this->cntmrk[$this->numpages]); + foreach ($this->pageobjects[$this->numpages] as $oid) { + if (isset($this->offsets[$oid])){ + unset($this->offsets[$oid]); + } + } + unset($this->pageobjects[$this->numpages]); + if (isset($this->footerpos[$this->numpages])) { + unset($this->footerpos[$this->numpages]); + } + if (isset($this->footerlen[$this->numpages])) { + unset($this->footerlen[$this->numpages]); + } + if (isset($this->transfmrk[$this->numpages])) { + unset($this->transfmrk[$this->numpages]); + } + if (isset($this->PageAnnots[$this->numpages])) { + unset($this->PageAnnots[$this->numpages]); + } + if (isset($this->newpagegroup[$this->numpages])) { + unset($this->newpagegroup[$this->numpages]); + } + if ($this->currpagegroup == $this->numpages) { + $this->currpagegroup = ($this->numpages - 1); + } + if (isset($this->pagegroups[$this->numpages])) { + unset($this->pagegroups[$this->numpages]); + } + if (isset($this->pageopen[$this->numpages])) { + unset($this->pageopen[$this->numpages]); + } + } + --$this->numpages; + $this->page = $this->numpages; + // adjust outlines + $tmpoutlines = $this->outlines; + foreach ($tmpoutlines as $key => $outline) { + if (!$outline['f']) { + if ($outline['p'] > $page) { + $this->outlines[$key]['p'] = $outline['p'] - 1; + } elseif ($outline['p'] == $page) { + unset($this->outlines[$key]); + } + } + } + // adjust dests + $tmpdests = $this->dests; + foreach ($tmpdests as $key => $dest) { + if (!$dest['f']) { + if ($dest['p'] > $page) { + $this->dests[$key]['p'] = $dest['p'] - 1; + } elseif ($dest['p'] == $page) { + unset($this->dests[$key]); + } + } + } + // adjust links + $tmplinks = $this->links; + foreach ($tmplinks as $key => $link) { + if (!$link['f']) { + if ($link['p'] > $page) { + $this->links[$key]['p'] = $link['p'] - 1; + } elseif ($link['p'] == $page) { + unset($this->links[$key]); + } + } + } + // adjust javascript + $jpage = $page; + if (preg_match_all('/this\.addField\(\'([^\']*)\',\'([^\']*)\',([0-9]+)/', $this->javascript, $pamatch) > 0) { + foreach($pamatch[0] as $pk => $pmatch) { + $pagenum = intval($pamatch[3][$pk]) + 1; + if ($pagenum >= $jpage) { + $newpage = ($pagenum - 1); + } elseif ($pagenum == $jpage) { + $newpage = 1; + } else { + $newpage = $pagenum; + } + --$newpage; + $newjs = "this.addField(\'".$pamatch[1][$pk]."\',\'".$pamatch[2][$pk]."\',".$newpage; + $this->javascript = str_replace($pmatch, $newjs, $this->javascript); + } + unset($pamatch); + } + // return to last page + if ($this->numpages > 0) { + $this->lastPage(true); + } + return true; + } + + /** + * Clone the specified page to a new page. + * @param int $page number of page to copy (0 = current page) + * @return bool true in case of success, false in case of error. + * @public + * @since 4.9.015 (2010-04-20) + */ + public function copyPage($page=0) { + if ($page == 0) { + // default value + $page = $this->page; + } + if (($page < 1) OR ($page > $this->numpages)) { + return false; + } + // close the last page + $this->endPage(); + // copy all page-related states + ++$this->numpages; + $this->page = $this->numpages; + $this->setPageBuffer($this->page, $this->getPageBuffer($page)); + $this->pagedim[$this->page] = $this->pagedim[$page]; + $this->pagelen[$this->page] = $this->pagelen[$page]; + $this->intmrk[$this->page] = $this->intmrk[$page]; + $this->bordermrk[$this->page] = $this->bordermrk[$page]; + $this->cntmrk[$this->page] = $this->cntmrk[$page]; + $this->pageobjects[$this->page] = $this->pageobjects[$page]; + $this->pageopen[$this->page] = false; + if (isset($this->footerpos[$page])) { + $this->footerpos[$this->page] = $this->footerpos[$page]; + } + if (isset($this->footerlen[$page])) { + $this->footerlen[$this->page] = $this->footerlen[$page]; + } + if (isset($this->transfmrk[$page])) { + $this->transfmrk[$this->page] = $this->transfmrk[$page]; + } + if (isset($this->PageAnnots[$page])) { + $this->PageAnnots[$this->page] = $this->PageAnnots[$page]; + } + if (isset($this->newpagegroup[$page])) { + // start a new group + $this->newpagegroup[$this->page] = sizeof($this->newpagegroup) + 1; + $this->currpagegroup = $this->newpagegroup[$this->page]; + $this->pagegroups[$this->currpagegroup] = 1; + } elseif (isset($this->currpagegroup) AND ($this->currpagegroup > 0)) { + ++$this->pagegroups[$this->currpagegroup]; + } + // copy outlines + $tmpoutlines = $this->outlines; + foreach ($tmpoutlines as $key => $outline) { + if ($outline['p'] == $page) { + $this->outlines[] = array('t' => $outline['t'], 'l' => $outline['l'], 'x' => $outline['x'], 'y' => $outline['y'], 'p' => $this->page, 'f' => $outline['f'], 's' => $outline['s'], 'c' => $outline['c']); + } + } + // copy links + $tmplinks = $this->links; + foreach ($tmplinks as $key => $link) { + if ($link['p'] == $page) { + $this->links[] = array('p' => $this->page, 'y' => $link['y'], 'f' => $link['f']); + } + } + // return to last page + $this->lastPage(true); + return true; + } + + /** + * Output a Table of Content Index (TOC). + * This method must be called after all Bookmarks were set. + * Before calling this method you have to open the page using the addTOCPage() method. + * After calling this method you have to call endTOCPage() to close the TOC page. + * You can override this method to achieve different styles. + * @param int|null $page page number where this TOC should be inserted (leave empty for current page). + * @param string $numbersfont set the font for page numbers (please use monospaced font for better alignment). + * @param string $filler string used to fill the space between text and page number. + * @param string $toc_name name to use for TOC bookmark. + * @param string $style Font style for title: B = Bold, I = Italic, BI = Bold + Italic. + * @param array $color RGB color array for bookmark title (values from 0 to 255). + * @public + * @author Nicola Asuni + * @since 4.5.000 (2009-01-02) + * @see addTOCPage(), endTOCPage(), addHTMLTOC() + */ + public function addTOC($page=null, $numbersfont='', $filler='.', $toc_name='TOC', $style='', $color=array(0,0,0)) { + $fontsize = $this->FontSizePt; + $fontfamily = $this->FontFamily; + $fontstyle = $this->FontStyle; + $w = $this->w - $this->lMargin - $this->rMargin; + $spacer = $this->GetStringWidth(chr(32)) * 4; + $lmargin = $this->lMargin; + $rmargin = $this->rMargin; + $x_start = $this->GetX(); + $page_first = $this->page; + $current_page = $this->page; + $page_fill_start = false; + $page_fill_end = false; + $current_column = $this->current_column; + if (TCPDF_STATIC::empty_string($numbersfont)) { + $numbersfont = $this->default_monospaced_font; + } + if (TCPDF_STATIC::empty_string($filler)) { + $filler = ' '; + } + if (TCPDF_STATIC::empty_string($page)) { + $gap = ' '; + } else { + $gap = ''; + if ($page < 1) { + $page = 1; + } + } + $this->setFont($numbersfont, $fontstyle, $fontsize); + $numwidth = $this->GetStringWidth('00000'); + $maxpage = 0; //used for pages on attached documents + foreach ($this->outlines as $key => $outline) { + // check for extra pages (used for attachments) + if (($this->page > $page_first) AND ($outline['p'] >= $this->numpages)) { + $outline['p'] += ($this->page - $page_first); + } + if ($this->rtl) { + $aligntext = 'R'; + $alignnum = 'L'; + } else { + $aligntext = 'L'; + $alignnum = 'R'; + } + if ($outline['l'] == 0) { + $this->setFont($fontfamily, $outline['s'].'B', $fontsize); + } else { + $this->setFont($fontfamily, $outline['s'], $fontsize - $outline['l']); + } + $this->setTextColorArray($outline['c']); + // check for page break + $this->checkPageBreak(2 * $this->getCellHeight($this->FontSize)); + // set margins and X position + if (($this->page == $current_page) AND ($this->current_column == $current_column)) { + $this->lMargin = $lmargin; + $this->rMargin = $rmargin; + } else { + if ($this->current_column != $current_column) { + if ($this->rtl) { + $x_start = $this->w - $this->columns[$this->current_column]['x']; + } else { + $x_start = $this->columns[$this->current_column]['x']; + } + } + $lmargin = $this->lMargin; + $rmargin = $this->rMargin; + $current_page = $this->page; + $current_column = $this->current_column; + } + $this->setX($x_start); + $indent = ($spacer * $outline['l']); + if ($this->rtl) { + $this->x -= $indent; + $this->rMargin = $this->w - $this->x; + } else { + $this->x += $indent; + $this->lMargin = $this->x; + } + $link = $this->AddLink(); + $this->setLink($link, $outline['y'], $outline['p']); + // write the text + if ($this->rtl) { + $txt = ' '.$outline['t']; + } else { + $txt = $outline['t'].' '; + } + $this->Write(0, $txt, $link, false, $aligntext, false, 0, false, false, 0, $numwidth, ''); + if ($this->rtl) { + $tw = $this->x - $this->lMargin; + } else { + $tw = $this->w - $this->rMargin - $this->x; + } + $this->setFont($numbersfont, $fontstyle, $fontsize); + if (TCPDF_STATIC::empty_string($page)) { + $pagenum = $outline['p']; + } else { + // placemark to be replaced with the correct number + $pagenum = '{#'.($outline['p']).'}'; + if ($this->isUnicodeFont()) { + $pagenum = '{'.$pagenum.'}'; + } + $maxpage = max($maxpage, $outline['p']); + } + $fw = ($tw - $this->GetStringWidth($pagenum.$filler)); + $wfiller = $this->GetStringWidth($filler); + if ($wfiller > 0) { + $numfills = floor($fw / $wfiller); + } else { + $numfills = 0; + } + if ($numfills > 0) { + $rowfill = str_repeat($filler, $numfills); + } else { + $rowfill = ''; + } + if ($this->rtl) { + $pagenum = $pagenum.$gap.$rowfill; + } else { + $pagenum = $rowfill.$gap.$pagenum; + } + // write the number + $this->Cell($tw, 0, $pagenum, 0, 1, $alignnum, 0, $link, 0); + } + $page_last = $this->getPage(); + $numpages = ($page_last - $page_first + 1); + // account for booklet mode + if ($this->booklet) { + // check if a blank page is required before TOC + $page_fill_start = ((($page_first % 2) == 0) XOR (($page % 2) == 0)); + $page_fill_end = (!((($numpages % 2) == 0) XOR ($page_fill_start))); + if ($page_fill_start) { + // add a page at the end (to be moved before TOC) + $this->addPage(); + ++$page_last; + ++$numpages; + } + if ($page_fill_end) { + // add a page at the end + $this->addPage(); + ++$page_last; + ++$numpages; + } + } + $maxpage = max($maxpage, $page_last); + if (!TCPDF_STATIC::empty_string($page)) { + for ($p = $page_first; $p <= $page_last; ++$p) { + // get page data + $temppage = $this->getPageBuffer($p); + for ($n = 1; $n <= $maxpage; ++$n) { + // update page numbers + $a = '{#'.$n.'}'; + // get page number aliases + $pnalias = $this->getInternalPageNumberAliases($a); + // calculate replacement number + if (($n >= $page) AND ($n <= $this->numpages)) { + $np = $n + $numpages; + } else { + $np = $n; + } + $na = TCPDF_STATIC::formatTOCPageNumber(($this->starting_page_number + $np - 1)); + $nu = TCPDF_FONTS::UTF8ToUTF16BE($na, false, $this->isunicode, $this->CurrentFont); + // replace aliases with numbers + foreach ($pnalias['u'] as $u) { + $sfill = str_repeat($filler, max(0, (strlen($u) - strlen($nu.' ')))); + if ($this->rtl) { + $nr = $nu.TCPDF_FONTS::UTF8ToUTF16BE(' '.$sfill, false, $this->isunicode, $this->CurrentFont); + } else { + $nr = TCPDF_FONTS::UTF8ToUTF16BE($sfill.' ', false, $this->isunicode, $this->CurrentFont).$nu; + } + $temppage = str_replace($u, $nr, $temppage); + } + foreach ($pnalias['a'] as $a) { + $sfill = str_repeat($filler, max(0, (strlen($a) - strlen($na.' ')))); + if ($this->rtl) { + $nr = $na.' '.$sfill; + } else { + $nr = $sfill.' '.$na; + } + $temppage = str_replace($a, $nr, $temppage); + } + } + // save changes + $this->setPageBuffer($p, $temppage); + } + // move pages + $this->Bookmark($toc_name, 0, 0, $page_first, $style, $color); + if ($page_fill_start) { + $this->movePage($page_last, $page_first); + } + for ($i = 0; $i < $numpages; ++$i) { + $this->movePage($page_last, $page); + } + } + } + + /** + * Output a Table Of Content Index (TOC) using HTML templates. + * This method must be called after all Bookmarks were set. + * Before calling this method you have to open the page using the addTOCPage() method. + * After calling this method you have to call endTOCPage() to close the TOC page. + * @param int|null $page page number where this TOC should be inserted (leave empty for current page). + * @param string $toc_name name to use for TOC bookmark. + * @param array $templates array of html templates. Use: "#TOC_DESCRIPTION#" for bookmark title, "#TOC_PAGE_NUMBER#" for page number. + * @param boolean $correct_align if true correct the number alignment (numbers must be in monospaced font like courier and right aligned on LTR, or left aligned on RTL) + * @param string $style Font style for title: B = Bold, I = Italic, BI = Bold + Italic. + * @param array $color RGB color array for title (values from 0 to 255). + * @public + * @author Nicola Asuni + * @since 5.0.001 (2010-05-06) + * @see addTOCPage(), endTOCPage(), addTOC() + */ + public function addHTMLTOC($page=null, $toc_name='TOC', $templates=array(), $correct_align=true, $style='', $color=array(0,0,0)) { + $filler = ' '; + $prev_htmlLinkColorArray = $this->htmlLinkColorArray; + $prev_htmlLinkFontStyle = $this->htmlLinkFontStyle; + // set new style for link + $this->htmlLinkColorArray = array(); + $this->htmlLinkFontStyle = ''; + $page_first = $this->getPage(); + $page_fill_start = false; + $page_fill_end = false; + // get the font type used for numbers in each template + $current_font = $this->FontFamily; + foreach ($templates as $level => $html) { + $dom = $this->getHtmlDomArray($html); + foreach ($dom as $key => $value) { + if ($value['value'] == '#TOC_PAGE_NUMBER#') { + $this->setFont($dom[($key - 1)]['fontname']); + $templates['F'.$level] = $this->isUnicodeFont(); + } + } + } + $this->setFont($current_font); + $maxpage = 0; //used for pages on attached documents + foreach ($this->outlines as $key => $outline) { + // get HTML template + $row = $templates[$outline['l']]; + if (TCPDF_STATIC::empty_string($page)) { + $pagenum = $outline['p']; + } else { + // placemark to be replaced with the correct number + $pagenum = '{#'.($outline['p']).'}'; + if (isset($templates['F'.$outline['l']]) && $templates['F'.$outline['l']]) { + $pagenum = '{'.$pagenum.'}'; + } + $maxpage = max($maxpage, $outline['p']); + } + // replace templates with current values + $row = str_replace('#TOC_DESCRIPTION#', $outline['t'], $row); + $row = str_replace('#TOC_PAGE_NUMBER#', $pagenum, $row); + // add link to page + $row = ''.$row.''; + // write bookmark entry + $this->writeHTML($row, false, false, true, false, ''); + } + // restore link styles + $this->htmlLinkColorArray = $prev_htmlLinkColorArray; + $this->htmlLinkFontStyle = $prev_htmlLinkFontStyle; + // move TOC page and replace numbers + $page_last = $this->getPage(); + $numpages = ($page_last - $page_first + 1); + // account for booklet mode + if ($this->booklet) { + // check if a blank page is required before TOC + $page_fill_start = ((($page_first % 2) == 0) XOR (($page % 2) == 0)); + $page_fill_end = (!((($numpages % 2) == 0) XOR ($page_fill_start))); + if ($page_fill_start) { + // add a page at the end (to be moved before TOC) + $this->addPage(); + ++$page_last; + ++$numpages; + } + if ($page_fill_end) { + // add a page at the end + $this->addPage(); + ++$page_last; + ++$numpages; + } + } + $maxpage = max($maxpage, $page_last); + if (!TCPDF_STATIC::empty_string($page)) { + for ($p = $page_first; $p <= $page_last; ++$p) { + // get page data + $temppage = $this->getPageBuffer($p); + for ($n = 1; $n <= $maxpage; ++$n) { + // update page numbers + $a = '{#'.$n.'}'; + // get page number aliases + $pnalias = $this->getInternalPageNumberAliases($a); + // calculate replacement number + if ($n >= $page) { + $np = $n + $numpages; + } else { + $np = $n; + } + $na = TCPDF_STATIC::formatTOCPageNumber(($this->starting_page_number + $np - 1)); + $nu = TCPDF_FONTS::UTF8ToUTF16BE($na, false, $this->isunicode, $this->CurrentFont); + // replace aliases with numbers + foreach ($pnalias['u'] as $u) { + if ($correct_align) { + $sfill = str_repeat($filler, (strlen($u) - strlen($nu.' '))); + if ($this->rtl) { + $nr = $nu.TCPDF_FONTS::UTF8ToUTF16BE(' '.$sfill, false, $this->isunicode, $this->CurrentFont); + } else { + $nr = TCPDF_FONTS::UTF8ToUTF16BE($sfill.' ', false, $this->isunicode, $this->CurrentFont).$nu; + } + } else { + $nr = $nu; + } + $temppage = str_replace($u, $nr, $temppage); + } + foreach ($pnalias['a'] as $a) { + if ($correct_align) { + $sfill = str_repeat($filler, (strlen($a) - strlen($na.' '))); + if ($this->rtl) { + $nr = $na.' '.$sfill; + } else { + $nr = $sfill.' '.$na; + } + } else { + $nr = $na; + } + $temppage = str_replace($a, $nr, $temppage); + } + } + // save changes + $this->setPageBuffer($p, $temppage); + } + // move pages + $this->Bookmark($toc_name, 0, 0, $page_first, $style, $color); + if ($page_fill_start) { + $this->movePage($page_last, $page_first); + } + for ($i = 0; $i < $numpages; ++$i) { + $this->movePage($page_last, $page); + } + } + } + + /** + * Stores a copy of the current TCPDF object used for undo operation. + * @public + * @since 4.5.029 (2009-03-19) + */ + public function startTransaction() { + if (isset($this->objcopy)) { + // remove previous copy + $this->commitTransaction(); + } + // record current page number and Y position + $this->start_transaction_page = $this->page; + $this->start_transaction_y = $this->y; + // clone current object + $this->objcopy = TCPDF_STATIC::objclone($this); + } + + /** + * Delete the copy of the current TCPDF object used for undo operation. + * @public + * @since 4.5.029 (2009-03-19) + */ + public function commitTransaction() { + if (isset($this->objcopy)) { + $this->objcopy->_destroy(true, true); + /* The unique file_id should not be used during cleanup again */ + $this->objcopy->file_id = NULL; + unset($this->objcopy); + } + } + + /** + * This method allows to undo the latest transaction by returning the latest saved TCPDF object with startTransaction(). + * @param boolean $self if true restores current class object to previous state without the need of reassignment via the returned value. + * @return TCPDF object. + * @public + * @since 4.5.029 (2009-03-19) + */ + public function rollbackTransaction($self=false) { + if (!isset($this->objcopy)) { + return $this; + } + $file_id = $this->file_id; + $objcopy = $this->objcopy; + $this->_destroy(true, true); + if ($self) { + $objvars = get_object_vars($objcopy); + foreach ($objvars as $key => $value) { + $this->$key = $value; + } + $objcopy->_destroy(true, true); + unset($objcopy); + return $this; + } + $this->file_id = $file_id; + return $objcopy; + } + + // --- MULTI COLUMNS METHODS ----------------------- + + /** + * Set multiple columns of the same size + * @param int $numcols number of columns (set to zero to disable columns mode) + * @param int $width column width + * @param int|null $y column starting Y position (leave empty for current Y position) + * @public + * @since 4.9.001 (2010-03-28) + */ + public function setEqualColumns($numcols=0, $width=0, $y=null) { + $this->columns = array(); + if ($numcols < 2) { + $numcols = 0; + $this->columns = array(); + } else { + // maximum column width + $maxwidth = ($this->w - $this->original_lMargin - $this->original_rMargin) / $numcols; + if (($width == 0) OR ($width > $maxwidth)) { + $width = $maxwidth; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // space between columns + $space = (($this->w - $this->original_lMargin - $this->original_rMargin - ($numcols * $width)) / ($numcols - 1)); + // fill the columns array (with, space, starting Y position) + for ($i = 0; $i < $numcols; ++$i) { + $this->columns[$i] = array('w' => $width, 's' => $space, 'y' => $y); + } + } + $this->num_columns = $numcols; + $this->current_column = 0; + $this->column_start_page = $this->page; + $this->selectColumn(0); + } + + /** + * Remove columns and reset page margins. + * @public + * @since 5.9.072 (2011-04-26) + */ + public function resetColumns() { + $this->lMargin = $this->original_lMargin; + $this->rMargin = $this->original_rMargin; + $this->setEqualColumns(); + } + + /** + * Set columns array. + * Each column is represented by an array of arrays with the following keys: (w = width, s = space between columns, y = column top position). + * @param array $columns + * @public + * @since 4.9.001 (2010-03-28) + */ + public function setColumnsArray($columns) { + $this->columns = $columns; + $this->num_columns = count($columns); + $this->current_column = 0; + $this->column_start_page = $this->page; + $this->selectColumn(0); + } + + /** + * Set position at a given column + * @param int|null $col column number (from 0 to getNumberOfColumns()-1); empty string = current column. + * @public + * @since 4.9.001 (2010-03-28) + */ + public function selectColumn($col=null) { + if (TCPDF_STATIC::empty_string($col)) { + $col = $this->current_column; + } elseif ($col >= $this->num_columns) { + $col = 0; + } + $xshift = array('x' => 0, 's' => array('H' => 0, 'V' => 0), 'p' => array('L' => 0, 'T' => 0, 'R' => 0, 'B' => 0)); + $enable_thead = false; + if ($this->num_columns > 1) { + if ($col != $this->current_column) { + // move Y pointer at the top of the column + if ($this->column_start_page == $this->page) { + $this->y = $this->columns[$col]['y']; + } else { + $this->y = $this->tMargin; + } + // Avoid to write table headers more than once + if (($this->page > $this->maxselcol['page']) OR (($this->page == $this->maxselcol['page']) AND ($col > $this->maxselcol['column']))) { + $enable_thead = true; + $this->maxselcol['page'] = $this->page; + $this->maxselcol['column'] = $col; + } + } + $xshift = $this->colxshift; + // set X position of the current column by case + $listindent = ($this->listindentlevel * $this->listindent); + // calculate column X position + $colpos = 0; + for ($i = 0; $i < $col; ++$i) { + $colpos += ($this->columns[$i]['w'] + $this->columns[$i]['s']); + } + if ($this->rtl) { + $x = $this->w - $this->original_rMargin - $colpos; + $this->rMargin = ($this->w - $x + $listindent); + $this->lMargin = ($x - $this->columns[$col]['w']); + $this->x = $x - $listindent; + } else { + $x = $this->original_lMargin + $colpos; + $this->lMargin = ($x + $listindent); + $this->rMargin = ($this->w - $x - $this->columns[$col]['w']); + $this->x = $x + $listindent; + } + $this->columns[$col]['x'] = $x; + } + $this->current_column = $col; + // fix for HTML mode + $this->newline = true; + // print HTML table header (if any) + if ((!TCPDF_STATIC::empty_string($this->thead)) AND (!$this->inthead)) { + if ($enable_thead) { + // print table header + $this->writeHTML($this->thead, false, false, false, false, ''); + $this->y += $xshift['s']['V']; + // store end of header position + if (!isset($this->columns[$col]['th'])) { + $this->columns[$col]['th'] = array(); + } + $this->columns[$col]['th']['\''.$this->page.'\''] = $this->y; + $this->lasth = 0; + } elseif (isset($this->columns[$col]['th']['\''.$this->page.'\''])) { + $this->y = $this->columns[$col]['th']['\''.$this->page.'\'']; + } + } + // account for an html table cell over multiple columns + if ($this->rtl) { + $this->rMargin += $xshift['x']; + $this->x -= ($xshift['x'] + $xshift['p']['R']); + } else { + $this->lMargin += $xshift['x']; + $this->x += $xshift['x'] + $xshift['p']['L']; + } + } + + /** + * Return the current column number + * @return int current column number + * @public + * @since 5.5.011 (2010-07-08) + */ + public function getColumn() { + return $this->current_column; + } + + /** + * Return the current number of columns. + * @return int number of columns + * @public + * @since 5.8.018 (2010-08-25) + */ + public function getNumberOfColumns() { + return $this->num_columns; + } + + /** + * Set Text rendering mode. + * @param int $stroke outline size in user units (0 = disable). + * @param boolean $fill if true fills the text (default). + * @param boolean $clip if true activate clipping mode + * @public + * @since 4.9.008 (2009-04-02) + */ + public function setTextRenderingMode($stroke=0, $fill=true, $clip=false) { + // Ref.: PDF 32000-1:2008 - 9.3.6 Text Rendering Mode + // convert text rendering parameters + if ($stroke < 0 || !is_numeric($stroke)) { + $stroke = 0; + } + if ($fill === true) { + if ($stroke > 0) { + if ($clip === true) { + // Fill, then stroke text and add to path for clipping + $textrendermode = 6; + } else { + // Fill, then stroke text + $textrendermode = 2; + } + $textstrokewidth = $stroke; + } else { + if ($clip === true) { + // Fill text and add to path for clipping + $textrendermode = 4; + } else { + // Fill text + $textrendermode = 0; + } + } + } else { + if ($stroke > 0) { + if ($clip === true) { + // Stroke text and add to path for clipping + $textrendermode = 5; + } else { + // Stroke text + $textrendermode = 1; + } + $textstrokewidth = $stroke; + } else { + if ($clip === true) { + // Add text to path for clipping + $textrendermode = 7; + } else { + // Neither fill nor stroke text (invisible) + $textrendermode = 3; + } + } + } + $this->textrendermode = $textrendermode; + $this->textstrokewidth = $stroke; + } + + /** + * Set parameters for drop shadow effect for text. + * @param array $params Array of parameters: enabled (boolean) set to true to enable shadow; depth_w (float) shadow width in user units; depth_h (float) shadow height in user units; color (array) shadow color or false to use the stroke color; opacity (float) Alpha value: real value from 0 (transparent) to 1 (opaque); blend_mode (string) blend mode, one of the following: Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference, Exclusion, Hue, Saturation, Color, Luminosity. + * @since 5.9.174 (2012-07-25) + * @public + */ + public function setTextShadow($params=array('enabled'=>false, 'depth_w'=>0, 'depth_h'=>0, 'color'=>false, 'opacity'=>1, 'blend_mode'=>'Normal')) { + if (isset($params['enabled'])) { + $this->txtshadow['enabled'] = $params['enabled']?true:false; + } else { + $this->txtshadow['enabled'] = false; + } + if (isset($params['depth_w'])) { + $this->txtshadow['depth_w'] = floatval($params['depth_w']); + } else { + $this->txtshadow['depth_w'] = 0; + } + if (isset($params['depth_h'])) { + $this->txtshadow['depth_h'] = floatval($params['depth_h']); + } else { + $this->txtshadow['depth_h'] = 0; + } + if (isset($params['color']) AND ($params['color'] !== false) AND is_array($params['color'])) { + $this->txtshadow['color'] = $params['color']; + } else { + $this->txtshadow['color'] = $this->strokecolor; + } + if (isset($params['opacity'])) { + $this->txtshadow['opacity'] = min(1, max(0, floatval($params['opacity']))); + } else { + $this->txtshadow['opacity'] = 1; + } + if (isset($params['blend_mode']) AND in_array($params['blend_mode'], array('Normal', 'Multiply', 'Screen', 'Overlay', 'Darken', 'Lighten', 'ColorDodge', 'ColorBurn', 'HardLight', 'SoftLight', 'Difference', 'Exclusion', 'Hue', 'Saturation', 'Color', 'Luminosity'))) { + $this->txtshadow['blend_mode'] = $params['blend_mode']; + } else { + $this->txtshadow['blend_mode'] = 'Normal'; + } + if ((($this->txtshadow['depth_w'] == 0) AND ($this->txtshadow['depth_h'] == 0)) OR ($this->txtshadow['opacity'] == 0)) { + $this->txtshadow['enabled'] = false; + } + } + + /** + * Return the text shadow parameters array. + * @return array array of parameters. + * @since 5.9.174 (2012-07-25) + * @public + */ + public function getTextShadow() { + return $this->txtshadow; + } + + /** + * Returns an array of chars containing soft hyphens. + * @param array $word array of chars + * @param array $patterns Array of hypenation patterns. + * @param array $dictionary Array of words to be returned without applying the hyphenation algorithm. + * @param int $leftmin Minimum number of character to leave on the left of the word without applying the hyphens. + * @param int $rightmin Minimum number of character to leave on the right of the word without applying the hyphens. + * @param int $charmin Minimum word length to apply the hyphenation algorithm. + * @param int $charmax Maximum length of broken piece of word. + * @return array text with soft hyphens + * @author Nicola Asuni + * @since 4.9.012 (2010-04-12) + * @protected + */ + protected function hyphenateWord($word, $patterns, $dictionary=array(), $leftmin=1, $rightmin=2, $charmin=1, $charmax=8) { + $hyphenword = array(); // hyphens positions + $numchars = count($word); + if ($numchars <= $charmin) { + return $word; + } + $word_string = TCPDF_FONTS::UTF8ArrSubString($word, '', '', $this->isunicode); + // some words will be returned as-is + $pattern = '/^([a-zA-Z0-9_\.\-]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/'; + if (preg_match($pattern, $word_string) > 0) { + // email + return $word; + } + $pattern = '/(([a-zA-Z0-9\-]+\.)?)((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/'; + if (preg_match($pattern, $word_string) > 0) { + // URL + return $word; + } + if (isset($dictionary[$word_string])) { + return TCPDF_FONTS::UTF8StringToArray($dictionary[$word_string], $this->isunicode, $this->CurrentFont); + } + // surround word with '_' characters + $tmpword = array_merge(array(46), $word, array(46)); + $tmpnumchars = $numchars + 2; + $maxpos = $tmpnumchars - 1; + for ($pos = 0; $pos < $maxpos; ++$pos) { + $imax = min(($tmpnumchars - $pos), $charmax); + for ($i = 1; $i <= $imax; ++$i) { + $subword = strtolower(TCPDF_FONTS::UTF8ArrSubString($tmpword, $pos, ($pos + $i), $this->isunicode)); + if (isset($patterns[$subword])) { + $pattern = TCPDF_FONTS::UTF8StringToArray($patterns[$subword], $this->isunicode, $this->CurrentFont); + $pattern_length = count($pattern); + $digits = 1; + for ($j = 0; $j < $pattern_length; ++$j) { + // check if $pattern[$j] is a number = hyphenation level (only numbers from 1 to 5 are valid) + if (($pattern[$j] >= 48) AND ($pattern[$j] <= 57)) { + if ($j == 0) { + $zero = $pos - 1; + } else { + $zero = $pos + $j - $digits; + } + // get hyphenation level + $level = ($pattern[$j] - 48); + // if two levels from two different patterns match at the same point, the higher one is selected. + if (!isset($hyphenword[$zero]) OR ($hyphenword[$zero] < $level)) { + $hyphenword[$zero] = $level; + } + ++$digits; + } + } + } + } + } + $inserted = 0; + $maxpos = $numchars - $rightmin; + for ($i = $leftmin; $i <= $maxpos; ++$i) { + // only odd levels indicate allowed hyphenation points + if (isset($hyphenword[$i]) AND (($hyphenword[$i] % 2) != 0)) { + // 173 = soft hyphen character + array_splice($word, $i + $inserted, 0, 173); + ++$inserted; + } + } + return $word; + } + + /** + * Returns text with soft hyphens. + * @param string $text text to process + * @param mixed $patterns Array of hypenation patterns or a TEX file containing hypenation patterns. TEX patterns can be downloaded from http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/ + * @param array $dictionary Array of words to be returned without applying the hyphenation algorithm. + * @param int $leftmin Minimum number of character to leave on the left of the word without applying the hyphens. + * @param int $rightmin Minimum number of character to leave on the right of the word without applying the hyphens. + * @param int $charmin Minimum word length to apply the hyphenation algorithm. + * @param int $charmax Maximum length of broken piece of word. + * @return string text with soft hyphens + * @author Nicola Asuni + * @since 4.9.012 (2010-04-12) + * @public + */ + public function hyphenateText($text, $patterns, $dictionary=array(), $leftmin=1, $rightmin=2, $charmin=1, $charmax=8) { + $text = $this->unhtmlentities($text); + $word = array(); // last word + $txtarr = array(); // text to be returned + $intag = false; // true if we are inside an HTML tag + $skip = false; // true to skip hyphenation + if (!is_array($patterns)) { + $patterns = TCPDF_STATIC::getHyphenPatternsFromTEX($patterns); + } + // get array of characters + $unichars = TCPDF_FONTS::UTF8StringToArray($text, $this->isunicode, $this->CurrentFont); + // for each char + foreach ($unichars as $char) { + if ((!$intag) AND (!$skip) AND TCPDF_FONT_DATA::$uni_type[$char] == 'L') { + // letter character + $word[] = $char; + } else { + // other type of character + if (!TCPDF_STATIC::empty_string($word)) { + // hypenate the word + $txtarr = array_merge($txtarr, $this->hyphenateWord($word, $patterns, $dictionary, $leftmin, $rightmin, $charmin, $charmax)); + $word = array(); + } + $txtarr[] = $char; + if (chr($char) == '<') { + // we are inside an HTML tag + $intag = true; + } elseif ($intag AND (chr($char) == '>')) { + // end of HTML tag + $intag = false; + // check for style tag + $expected = array(115, 116, 121, 108, 101); // = 'style' + $current = array_slice($txtarr, -6, 5); // last 5 chars + $compare = array_diff($expected, $current); + if (empty($compare)) { + // check if it is a closing tag + $expected = array(47); // = '/' + $current = array_slice($txtarr, -7, 1); + $compare = array_diff($expected, $current); + if (empty($compare)) { + // closing style tag + $skip = false; + } else { + // opening style tag + $skip = true; + } + } + } + } + } + if (!TCPDF_STATIC::empty_string($word)) { + // hypenate the word + $txtarr = array_merge($txtarr, $this->hyphenateWord($word, $patterns, $dictionary, $leftmin, $rightmin, $charmin, $charmax)); + } + // convert char array to string and return + return TCPDF_FONTS::UTF8ArrSubString($txtarr, '', '', $this->isunicode); + } + + /** + * Enable/disable rasterization of vector images using ImageMagick library. + * @param boolean $mode if true enable rasterization, false otherwise. + * @public + * @since 5.0.000 (2010-04-27) + */ + public function setRasterizeVectorImages($mode) { + $this->rasterize_vector_images = $mode; + } + + /** + * Enable or disable default option for font subsetting. + * @param boolean $enable if true enable font subsetting by default. + * @author Nicola Asuni + * @public + * @since 5.3.002 (2010-06-07) + */ + public function setFontSubsetting($enable=true) { + if ($this->pdfa_mode) { + $this->font_subsetting = false; + } else { + $this->font_subsetting = $enable ? true : false; + } + } + + /** + * Return the default option for font subsetting. + * @return bool default font subsetting state. + * @author Nicola Asuni + * @public + * @since 5.3.002 (2010-06-07) + */ + public function getFontSubsetting() { + return $this->font_subsetting; + } + + /** + * Left trim the input string + * @param string $str string to trim + * @param string $replace string that replace spaces. + * @return string left trimmed string + * @author Nicola Asuni + * @public + * @since 5.8.000 (2010-08-11) + */ + public function stringLeftTrim($str, $replace='') { + return preg_replace('/^'.$this->re_space['p'].'+/'.$this->re_space['m'], $replace, $str); + } + + /** + * Right trim the input string + * @param string $str string to trim + * @param string $replace string that replace spaces. + * @return string right trimmed string + * @author Nicola Asuni + * @public + * @since 5.8.000 (2010-08-11) + */ + public function stringRightTrim($str, $replace='') { + return preg_replace('/'.$this->re_space['p'].'+$/'.$this->re_space['m'], $replace, $str); + } + + /** + * Trim the input string + * @param string $str string to trim + * @param string $replace string that replace spaces. + * @return string trimmed string + * @author Nicola Asuni + * @public + * @since 5.8.000 (2010-08-11) + */ + public function stringTrim($str, $replace='') { + $str = $this->stringLeftTrim($str, $replace); + $str = $this->stringRightTrim($str, $replace); + return $str; + } + + /** + * Return true if the current font is unicode type. + * @return bool true for unicode font, false otherwise. + * @author Nicola Asuni + * @public + * @since 5.8.002 (2010-08-14) + */ + public function isUnicodeFont() { + return (($this->CurrentFont['type'] == 'TrueTypeUnicode') OR ($this->CurrentFont['type'] == 'cidfont0')); + } + + /** + * Return normalized font name + * @param string $fontfamily property string containing font family names + * @return string normalized font name + * @author Nicola Asuni + * @public + * @since 5.8.004 (2010-08-17) + */ + public function getFontFamilyName($fontfamily) { + // remove spaces and symbols + $fontfamily = preg_replace('/[^a-z0-9_\,]/', '', strtolower($fontfamily)); + // extract all font names + $fontslist = preg_split('/[,]/', $fontfamily); + // find first valid font name + foreach ($fontslist as $font) { + // replace font variations + $font = preg_replace('/regular$/', '', $font); + $font = preg_replace('/italic$/', 'I', $font); + $font = preg_replace('/oblique$/', 'I', $font); + $font = preg_replace('/bold([I]?)$/', 'B\\1', $font); + // replace common family names and core fonts + $pattern = array(); + $replacement = array(); + $pattern[] = '/^serif|^cursive|^fantasy|^timesnewroman/'; + $replacement[] = 'times'; + $pattern[] = '/^sansserif/'; + $replacement[] = 'helvetica'; + $pattern[] = '/^monospace/'; + $replacement[] = 'courier'; + $font = preg_replace($pattern, $replacement, $font); + if (in_array(strtolower($font), $this->fontlist) OR in_array($font, $this->fontkeys)) { + return $font; + } + } + // return current font as default + return $this->CurrentFont['fontkey']; + } + + /** + * Start a new XObject Template. + * An XObject Template is a PDF block that is a self-contained description of any sequence of graphics objects (including path objects, text objects, and sampled images). + * An XObject Template may be painted multiple times, either on several pages or at several locations on the same page and produces the same results each time, subject only to the graphics state at the time it is invoked. + * Note: X,Y coordinates will be reset to 0,0. + * @param int $w Template width in user units (empty string or zero = page width less margins). + * @param int $h Template height in user units (empty string or zero = page height less margins). + * @param mixed $group Set transparency group. Can be a boolean value or an array specifying optional parameters: 'CS' (solour space name), 'I' (boolean flag to indicate isolated group) and 'K' (boolean flag to indicate knockout group). + * @return string|false the XObject Template ID in case of success or false in case of error. + * @author Nicola Asuni + * @public + * @since 5.8.017 (2010-08-24) + * @see endTemplate(), printTemplate() + */ + public function startTemplate($w=0, $h=0, $group=false) { + if ($this->inxobj) { + // we are already inside an XObject template + return false; + } + $this->inxobj = true; + ++$this->n; + // XObject ID + $this->xobjid = 'XT'.$this->n; + // object ID + $this->xobjects[$this->xobjid] = array('n' => $this->n); + // store current graphic state + $this->xobjects[$this->xobjid]['gvars'] = $this->getGraphicVars(); + // initialize data + $this->xobjects[$this->xobjid]['intmrk'] = 0; + $this->xobjects[$this->xobjid]['transfmrk'] = array(); + $this->xobjects[$this->xobjid]['outdata'] = ''; + $this->xobjects[$this->xobjid]['xobjects'] = array(); + $this->xobjects[$this->xobjid]['images'] = array(); + $this->xobjects[$this->xobjid]['fonts'] = array(); + $this->xobjects[$this->xobjid]['annotations'] = array(); + $this->xobjects[$this->xobjid]['extgstates'] = array(); + $this->xobjects[$this->xobjid]['gradients'] = array(); + $this->xobjects[$this->xobjid]['spot_colors'] = array(); + // set new environment + $this->num_columns = 1; + $this->current_column = 0; + $this->setAutoPageBreak(false); + if (($w === '') OR ($w <= 0)) { + $w = $this->w - $this->lMargin - $this->rMargin; + } + if (($h === '') OR ($h <= 0)) { + $h = $this->h - $this->tMargin - $this->bMargin; + } + $this->xobjects[$this->xobjid]['x'] = 0; + $this->xobjects[$this->xobjid]['y'] = 0; + $this->xobjects[$this->xobjid]['w'] = $w; + $this->xobjects[$this->xobjid]['h'] = $h; + $this->w = $w; + $this->h = $h; + $this->wPt = $this->w * $this->k; + $this->hPt = $this->h * $this->k; + $this->fwPt = $this->wPt; + $this->fhPt = $this->hPt; + $this->x = 0; + $this->y = 0; + $this->lMargin = 0; + $this->rMargin = 0; + $this->tMargin = 0; + $this->bMargin = 0; + // set group mode + $this->xobjects[$this->xobjid]['group'] = $group; + return $this->xobjid; + } + + /** + * End the current XObject Template started with startTemplate() and restore the previous graphic state. + * An XObject Template is a PDF block that is a self-contained description of any sequence of graphics objects (including path objects, text objects, and sampled images). + * An XObject Template may be painted multiple times, either on several pages or at several locations on the same page and produces the same results each time, subject only to the graphics state at the time it is invoked. + * @return string|false the XObject Template ID in case of success or false in case of error. + * @author Nicola Asuni + * @public + * @since 5.8.017 (2010-08-24) + * @see startTemplate(), printTemplate() + */ + public function endTemplate() { + if (!$this->inxobj) { + // we are not inside a template + return false; + } + $this->inxobj = false; + // restore previous graphic state + $this->setGraphicVars($this->xobjects[$this->xobjid]['gvars'], true); + return $this->xobjid; + } + + /** + * Print an XObject Template. + * You can print an XObject Template inside the currently opened Template. + * An XObject Template is a PDF block that is a self-contained description of any sequence of graphics objects (including path objects, text objects, and sampled images). + * An XObject Template may be painted multiple times, either on several pages or at several locations on the same page and produces the same results each time, subject only to the graphics state at the time it is invoked. + * @param string $id The ID of XObject Template to print. + * @param float|null $x X position in user units (empty string = current x position) + * @param float|null $y Y position in user units (empty string = current y position) + * @param float $w Width in user units (zero = remaining page width) + * @param float $h Height in user units (zero = remaining page height) + * @param string $align Indicates the alignment of the pointer next to template insertion relative to template height. The value can be:
    • T: top-right for LTR or top-left for RTL
    • M: middle-right for LTR or middle-left for RTL
    • B: bottom-right for LTR or bottom-left for RTL
    • N: next line
    + * @param string $palign Allows to center or align the template on the current line. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    + * @param boolean $fitonpage If true the template is resized to not exceed page dimensions. + * @author Nicola Asuni + * @public + * @since 5.8.017 (2010-08-24) + * @see startTemplate(), endTemplate() + */ + public function printTemplate($id, $x=null, $y=null, $w=0, $h=0, $align='', $palign='', $fitonpage=false) { + if ($this->state != 2) { + return; + } + if (!isset($this->xobjects[$id])) { + $this->Error('The XObject Template \''.$id.'\' doesn\'t exist!'); + } + if ($this->inxobj) { + if ($id == $this->xobjid) { + // close current template + $this->endTemplate(); + } else { + // use the template as resource for the template currently opened + $this->xobjects[$this->xobjid]['xobjects'][$id] = $this->xobjects[$id]; + } + } + // set default values + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + $ow = $this->xobjects[$id]['w']; + if ($ow <= 0) { + $ow = 1; + } + $oh = $this->xobjects[$id]['h']; + if ($oh <= 0) { + $oh = 1; + } + // calculate template width and height on document + if (($w <= 0) AND ($h <= 0)) { + $w = $ow; + $h = $oh; + } elseif ($w <= 0) { + $w = $h * $ow / $oh; + } elseif ($h <= 0) { + $h = $w * $oh / $ow; + } + // fit the template on available space + list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, $fitonpage); + // set page alignment + $rb_y = $y + $h; + // set alignment + if ($this->rtl) { + if ($palign == 'L') { + $xt = $this->lMargin; + } elseif ($palign == 'C') { + $xt = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $xt = $this->w - $this->rMargin - $w; + } else { + $xt = $x - $w; + } + $rb_x = $xt; + } else { + if ($palign == 'L') { + $xt = $this->lMargin; + } elseif ($palign == 'C') { + $xt = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $xt = $this->w - $this->rMargin - $w; + } else { + $xt = $x; + } + $rb_x = $xt + $w; + } + // print XObject Template + Transformation matrix + $this->StartTransform(); + // translate and scale + $sx = ($w / $ow); + $sy = ($h / $oh); + $tm = array(); + $tm[0] = $sx; + $tm[1] = 0; + $tm[2] = 0; + $tm[3] = $sy; + $tm[4] = $xt * $this->k; + $tm[5] = ($this->h - $h - $y) * $this->k; + $this->Transform($tm); + // set object + $this->_out('/'.$id.' Do'); + $this->StopTransform(); + // add annotations + if (!empty($this->xobjects[$id]['annotations'])) { + foreach ($this->xobjects[$id]['annotations'] as $annot) { + // transform original coordinates + $coordlt = TCPDF_STATIC::getTransformationMatrixProduct($tm, array(1, 0, 0, 1, ($annot['x'] * $this->k), (-$annot['y'] * $this->k))); + $ax = ($coordlt[4] / $this->k); + $ay = ($this->h - $h - ($coordlt[5] / $this->k)); + $coordrb = TCPDF_STATIC::getTransformationMatrixProduct($tm, array(1, 0, 0, 1, (($annot['x'] + $annot['w']) * $this->k), ((-$annot['y'] - $annot['h']) * $this->k))); + $aw = ($coordrb[4] / $this->k) - $ax; + $ah = ($this->h - $h - ($coordrb[5] / $this->k)) - $ay; + $this->Annotation($ax, $ay, $aw, $ah, $annot['text'], $annot['opt'], $annot['spaces']); + } + } + // set pointer to align the next text/objects + switch($align) { + case 'T': { + $this->y = $y; + $this->x = $rb_x; + break; + } + case 'M': { + $this->y = $y + round($h/2); + $this->x = $rb_x; + break; + } + case 'B': { + $this->y = $rb_y; + $this->x = $rb_x; + break; + } + case 'N': { + $this->setY($rb_y); + break; + } + default:{ + break; + } + } + } + + /** + * Set the percentage of character stretching. + * @param int $perc percentage of stretching (100 = no stretching) + * @author Nicola Asuni + * @public + * @since 5.9.000 (2010-09-29) + */ + public function setFontStretching($perc=100) { + $this->font_stretching = $perc; + } + + /** + * Get the percentage of character stretching. + * @return float stretching value + * @author Nicola Asuni + * @public + * @since 5.9.000 (2010-09-29) + */ + public function getFontStretching() { + return $this->font_stretching; + } + + /** + * Set the amount to increase or decrease the space between characters in a text. + * @param float $spacing amount to increase or decrease the space between characters in a text (0 = default spacing) + * @author Nicola Asuni + * @public + * @since 5.9.000 (2010-09-29) + */ + public function setFontSpacing($spacing=0) { + $this->font_spacing = $spacing; + } + + /** + * Get the amount to increase or decrease the space between characters in a text. + * @return int font spacing (tracking) value + * @author Nicola Asuni + * @public + * @since 5.9.000 (2010-09-29) + */ + public function getFontSpacing() { + return $this->font_spacing; + } + + /** + * Return an array of no-write page regions + * @return array of no-write page regions + * @author Nicola Asuni + * @public + * @since 5.9.003 (2010-10-13) + * @see setPageRegions(), addPageRegion() + */ + public function getPageRegions() { + return $this->page_regions; + } + + /** + * Set no-write regions on page. + * A no-write region is a portion of the page with a rectangular or trapezium shape that will not be covered when writing text or html code. + * A region is always aligned on the left or right side of the page ad is defined using a vertical segment. + * You can set multiple regions for the same page. + * @param array $regions array of no-write regions. For each region you can define an array as follow: ('page' => page number or empy for current page, 'xt' => X top, 'yt' => Y top, 'xb' => X bottom, 'yb' => Y bottom, 'side' => page side 'L' = left or 'R' = right). Omit this parameter to remove all regions. + * @author Nicola Asuni + * @public + * @since 5.9.003 (2010-10-13) + * @see addPageRegion(), getPageRegions() + */ + public function setPageRegions($regions=array()) { + // empty current regions array + $this->page_regions = array(); + // add regions + foreach ($regions as $data) { + $this->addPageRegion($data); + } + } + + /** + * Add a single no-write region on selected page. + * A no-write region is a portion of the page with a rectangular or trapezium shape that will not be covered when writing text or html code. + * A region is always aligned on the left or right side of the page ad is defined using a vertical segment. + * You can set multiple regions for the same page. + * @param array $region array of a single no-write region array: ('page' => page number or empy for current page, 'xt' => X top, 'yt' => Y top, 'xb' => X bottom, 'yb' => Y bottom, 'side' => page side 'L' = left or 'R' = right). + * @author Nicola Asuni + * @public + * @since 5.9.003 (2010-10-13) + * @see setPageRegions(), getPageRegions() + */ + public function addPageRegion($region) { + if (!isset($region['page']) OR empty($region['page'])) { + $region['page'] = $this->page; + } + if (isset($region['xt']) AND isset($region['xb']) AND ($region['xt'] > 0) AND ($region['xb'] > 0) + AND isset($region['yt']) AND isset($region['yb']) AND ($region['yt'] >= 0) AND ($region['yt'] < $region['yb']) + AND isset($region['side']) AND (($region['side'] == 'L') OR ($region['side'] == 'R'))) { + $this->page_regions[] = $region; + } + } + + /** + * Remove a single no-write region. + * @param int $key region key + * @author Nicola Asuni + * @public + * @since 5.9.003 (2010-10-13) + * @see setPageRegions(), getPageRegions() + */ + public function removePageRegion($key) { + if (isset($this->page_regions[$key])) { + unset($this->page_regions[$key]); + } + } + + /** + * Check page for no-write regions and adapt current coordinates and page margins if necessary. + * A no-write region is a portion of the page with a rectangular or trapezium shape that will not be covered when writing text or html code. + * A region is always aligned on the left or right side of the page ad is defined using a vertical segment. + * @param float $h height of the text/image/object to print in user units + * @param float $x current X coordinate in user units + * @param float $y current Y coordinate in user units + * @return float[] array($x, $y) + * @author Nicola Asuni + * @protected + * @since 5.9.003 (2010-10-13) + */ + protected function checkPageRegions($h, $x, $y) { + // set default values + if ($x === '') { + $x = $this->x; + } + if ($y === '') { + $y = $this->y; + } + if (!$this->check_page_regions OR empty($this->page_regions)) { + // no page regions defined + return array($x, $y); + } + if (empty($h)) { + $h = $this->getCellHeight($this->FontSize); + } + // check for page break + if ($this->checkPageBreak($h, $y)) { + // the content will be printed on a new page + $x = $this->x; + $y = $this->y; + } + if ($this->num_columns > 1) { + if ($this->rtl) { + $this->lMargin = ($this->columns[$this->current_column]['x'] - $this->columns[$this->current_column]['w']); + } else { + $this->rMargin = ($this->w - $this->columns[$this->current_column]['x'] - $this->columns[$this->current_column]['w']); + } + } else { + if ($this->rtl) { + $this->lMargin = max($this->clMargin, $this->original_lMargin); + } else { + $this->rMargin = max($this->crMargin, $this->original_rMargin); + } + } + // adjust coordinates and page margins + foreach ($this->page_regions as $regid => $regdata) { + if ($regdata['page'] == $this->page) { + // check region boundaries + if (($y > ($regdata['yt'] - $h)) AND ($y <= $regdata['yb'])) { + // Y is inside the region + $minv = ($regdata['xb'] - $regdata['xt']) / ($regdata['yb'] - $regdata['yt']); // inverse of angular coefficient + $yt = max($y, $regdata['yt']); + $yb = min(($yt + $h), $regdata['yb']); + $xt = (($yt - $regdata['yt']) * $minv) + $regdata['xt']; + $xb = (($yb - $regdata['yt']) * $minv) + $regdata['xt']; + if ($regdata['side'] == 'L') { // left side + $new_margin = max($xt, $xb); + if ($this->lMargin < $new_margin) { + if ($this->rtl) { + // adjust left page margin + $this->lMargin = max(0, $new_margin); + } + if ($x < $new_margin) { + // adjust x position + $x = $new_margin; + if ($new_margin > ($this->w - $this->rMargin)) { + // adjust y position + $y = $regdata['yb'] - $h; + } + } + } + } elseif ($regdata['side'] == 'R') { // right side + $new_margin = min($xt, $xb); + if (($this->w - $this->rMargin) > $new_margin) { + if (!$this->rtl) { + // adjust right page margin + $this->rMargin = max(0, ($this->w - $new_margin)); + } + if ($x > $new_margin) { + // adjust x position + $x = $new_margin; + if ($new_margin > $this->lMargin) { + // adjust y position + $y = $regdata['yb'] - $h; + } + } + } + } + } + } + } + return array($x, $y); + } + + // --- SVG METHODS --------------------------------------------------------- + + /** + * Embedd a Scalable Vector Graphics (SVG) image. + * NOTE: SVG standard is not yet fully implemented, use the setRasterizeVectorImages() method to enable/disable rasterization of vector images using ImageMagick library. + * @param string $file Name of the SVG file or a '@' character followed by the SVG data string. + * @param float|null $x Abscissa of the upper-left corner. + * @param float|null $y Ordinate of the upper-left corner. + * @param float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated. + * @param mixed $link URL or identifier returned by AddLink(). + * @param string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:
    • T: top-right for LTR or top-left for RTL
    • M: middle-right for LTR or middle-left for RTL
    • B: bottom-right for LTR or bottom-left for RTL
    • N: next line
    If the alignment is an empty string, then the pointer will be restored on the starting SVG position. + * @param string $palign Allows to center or align the image on the current line. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param boolean $fitonpage if true the image is resized to not exceed page dimensions. + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @public + */ + public function ImageSVG($file, $x=null, $y=null, $w=0, $h=0, $link='', $align='', $palign='', $border=0, $fitonpage=false) { + if ($this->state != 2) { + return; + } + // reset SVG vars + $this->svggradients = array(); + $this->svggradientid = 0; + $this->svgdefsmode = false; + $this->svgdefs = array(); + $this->svgclipmode = false; + $this->svgclippaths = array(); + $this->svgcliptm = array(); + $this->svgclipid = 0; + $this->svgtext = ''; + $this->svgtextmode = array(); + if ($this->rasterize_vector_images AND ($w > 0) AND ($h > 0)) { + // convert SVG to raster image using GD or ImageMagick libraries + return $this->Image($file, $x, $y, $w, $h, 'SVG', $link, $align, true, 300, $palign, false, false, $border, false, false, false); + } + if ($file[0] === '@') { // image from string + $this->svgdir = ''; + $svgdata = substr($file, 1); + } else { // SVG file + $this->svgdir = dirname($file); + $svgdata = $this->getCachedFileContents($file); + } + if ($svgdata === FALSE) { + $this->Error('SVG file not found: '.$file); + } + if (TCPDF_STATIC::empty_string($x)) { + $x = $this->x; + } + if (TCPDF_STATIC::empty_string($y)) { + $y = $this->y; + } + // check page for no-write regions and adapt page margins if necessary + list($x, $y) = $this->checkPageRegions($h, $x, $y); + $k = $this->k; + $ox = 0; + $oy = 0; + $ow = $w; + $oh = $h; + $aspect_ratio_align = 'xMidYMid'; + $aspect_ratio_ms = 'meet'; + $regs = array(); + // get original image width and height + preg_match('/]*)>/si', $svgdata, $regs); + if (isset($regs[1]) AND !empty($regs[1])) { + $tmp = array(); + if (preg_match('/[\s]+x[\s]*=[\s]*"([^"]*)"/si', $regs[1], $tmp)) { + $ox = $this->getHTMLUnitToUnits($tmp[1], 0, $this->svgunit, false); + } + $tmp = array(); + if (preg_match('/[\s]+y[\s]*=[\s]*"([^"]*)"/si', $regs[1], $tmp)) { + $oy = $this->getHTMLUnitToUnits($tmp[1], 0, $this->svgunit, false); + } + $tmp = array(); + if (preg_match('/[\s]+width[\s]*=[\s]*"([^"]*)"/si', $regs[1], $tmp)) { + $ow = $this->getHTMLUnitToUnits($tmp[1], 1, $this->svgunit, false); + } + $tmp = array(); + if (preg_match('/[\s]+height[\s]*=[\s]*"([^"]*)"/si', $regs[1], $tmp)) { + $oh = $this->getHTMLUnitToUnits($tmp[1], 1, $this->svgunit, false); + } + $tmp = array(); + $view_box = array(); + if (preg_match('/[\s]+viewBox[\s]*=[\s]*"[\s]*([0-9\.\-]+)[\s]+([0-9\.\-]+)[\s]+([0-9\.]+)[\s]+([0-9\.]+)[\s]*"/si', $regs[1], $tmp)) { + if (count($tmp) == 5) { + array_shift($tmp); + foreach ($tmp as $key => $val) { + $view_box[$key] = $this->getHTMLUnitToUnits($val, 0, $this->svgunit, false); + } + $ox = $view_box[0]; + $oy = $view_box[1]; + } + // get aspect ratio + $tmp = array(); + if (preg_match('/[\s]+preserveAspectRatio[\s]*=[\s]*"([^"]*)"/si', $regs[1], $tmp)) { + $aspect_ratio = preg_split('/[\s]+/si', $tmp[1]); + switch (count($aspect_ratio)) { + case 3: { + $aspect_ratio_align = $aspect_ratio[1]; + $aspect_ratio_ms = $aspect_ratio[2]; + break; + } + case 2: { + $aspect_ratio_align = $aspect_ratio[0]; + $aspect_ratio_ms = $aspect_ratio[1]; + break; + } + case 1: { + $aspect_ratio_align = $aspect_ratio[0]; + $aspect_ratio_ms = 'meet'; + break; + } + } + } + } + } + if ($ow <= 0) { + $ow = 1; + } + if ($oh <= 0) { + $oh = 1; + } + // calculate image width and height on document + if (($w <= 0) AND ($h <= 0)) { + // convert image size to document unit + $w = $ow; + $h = $oh; + } elseif ($w <= 0) { + $w = $h * $ow / $oh; + } elseif ($h <= 0) { + $h = $w * $oh / $ow; + } + // fit the image on available space + list($w, $h, $x, $y) = $this->fitBlock($w, $h, $x, $y, $fitonpage); + if ($this->rasterize_vector_images) { + // convert SVG to raster image using GD or ImageMagick libraries + return $this->Image($file, $x, $y, $w, $h, 'SVG', $link, $align, true, 300, $palign, false, false, $border, false, false, false); + } + // set alignment + $this->img_rb_y = $y + $h; + // set alignment + if ($this->rtl) { + if ($palign == 'L') { + $ximg = $this->lMargin; + } elseif ($palign == 'C') { + $ximg = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $ximg = $this->w - $this->rMargin - $w; + } else { + $ximg = $x - $w; + } + $this->img_rb_x = $ximg; + } else { + if ($palign == 'L') { + $ximg = $this->lMargin; + } elseif ($palign == 'C') { + $ximg = ($this->w + $this->lMargin - $this->rMargin - $w) / 2; + } elseif ($palign == 'R') { + $ximg = $this->w - $this->rMargin - $w; + } else { + $ximg = $x; + } + $this->img_rb_x = $ximg + $w; + } + // store current graphic vars + $gvars = $this->getGraphicVars(); + // store SVG position and scale factors + $svgoffset_x = ($ximg - $ox) * $this->k; + $svgoffset_y = -($y - $oy) * $this->k; + if (isset($view_box[2]) AND ($view_box[2] > 0) AND ($view_box[3] > 0)) { + $ow = $view_box[2]; + $oh = $view_box[3]; + } else { + if ($ow <= 0) { + $ow = $w; + } + if ($oh <= 0) { + $oh = $h; + } + } + $svgscale_x = $w / $ow; + $svgscale_y = $h / $oh; + // scaling and alignment + if ($aspect_ratio_align != 'none') { + // store current scaling values + $svgscale_old_x = $svgscale_x; + $svgscale_old_y = $svgscale_y; + // force uniform scaling + if ($aspect_ratio_ms == 'slice') { + // the entire viewport is covered by the viewBox + if ($svgscale_x > $svgscale_y) { + $svgscale_y = $svgscale_x; + } elseif ($svgscale_x < $svgscale_y) { + $svgscale_x = $svgscale_y; + } + } else { // meet + // the entire viewBox is visible within the viewport + if ($svgscale_x < $svgscale_y) { + $svgscale_y = $svgscale_x; + } elseif ($svgscale_x > $svgscale_y) { + $svgscale_x = $svgscale_y; + } + } + // correct X alignment + switch (substr($aspect_ratio_align, 1, 3)) { + case 'Min': { + // do nothing + break; + } + case 'Max': { + $svgoffset_x += (($w * $this->k) - ($ow * $this->k * $svgscale_x)); + break; + } + default: + case 'Mid': { + $svgoffset_x += ((($w * $this->k) - ($ow * $this->k * $svgscale_x)) / 2); + break; + } + } + // correct Y alignment + switch (substr($aspect_ratio_align, 5)) { + case 'Min': { + // do nothing + break; + } + case 'Max': { + $svgoffset_y -= (($h * $this->k) - ($oh * $this->k * $svgscale_y)); + break; + } + default: + case 'Mid': { + $svgoffset_y -= ((($h * $this->k) - ($oh * $this->k * $svgscale_y)) / 2); + break; + } + } + } + // store current page break mode + $page_break_mode = $this->AutoPageBreak; + $page_break_margin = $this->getBreakMargin(); + $cell_padding = $this->cell_padding; + $this->setCellPadding(0); + $this->setAutoPageBreak(false); + // save the current graphic state + $this->_out('q'.$this->epsmarker); + // set initial clipping mask + $this->Rect($ximg, $y, $w, $h, 'CNZ', array(), array()); + // scale and translate + $e = $ox * $this->k * (1 - $svgscale_x); + $f = ($this->h - $oy) * $this->k * (1 - $svgscale_y); + $this->_out(sprintf('%F %F %F %F %F %F cm', $svgscale_x, 0, 0, $svgscale_y, ($e + $svgoffset_x), ($f + $svgoffset_y))); + // creates a new XML parser to be used by the other XML functions + $parser = xml_parser_create('UTF-8'); + // disable case-folding for this XML parser + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); + // sets the element handler functions for the XML parser + xml_set_element_handler($parser, [$this, 'startSVGElementHandler'], [$this, 'endSVGElementHandler']); + // sets the character data handler function for the XML parser + xml_set_character_data_handler($parser, [$this, 'segSVGContentHandler']); + // start parsing an XML document + if (!xml_parse($parser, $svgdata)) { + $error_message = sprintf('SVG Error: %s at line %d', xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser)); + $this->Error($error_message); + } + // free this XML parser + xml_parser_free($parser); + + // >= PHP 7.0.0 "explicitly unset the reference to parser to avoid memory leaks" + unset($parser); + + // restore previous graphic state + $this->_out($this->epsmarker.'Q'); + // restore graphic vars + $this->setGraphicVars($gvars); + $this->lasth = $gvars['lasth']; + if (!empty($border)) { + $bx = $this->x; + $by = $this->y; + $this->x = $ximg; + if ($this->rtl) { + $this->x += $w; + } + $this->y = $y; + $this->Cell($w, $h, '', $border, 0, '', 0, '', 0, true); + $this->x = $bx; + $this->y = $by; + } + if ($link) { + $this->Link($ximg, $y, $w, $h, $link, 0); + } + // set pointer to align the next text/objects + switch($align) { + case 'T':{ + $this->y = $y; + $this->x = $this->img_rb_x; + break; + } + case 'M':{ + $this->y = $y + round($h/2); + $this->x = $this->img_rb_x; + break; + } + case 'B':{ + $this->y = $this->img_rb_y; + $this->x = $this->img_rb_x; + break; + } + case 'N':{ + $this->setY($this->img_rb_y); + break; + } + default:{ + // restore pointer to starting position + $this->x = $gvars['x']; + $this->y = $gvars['y']; + $this->page = $gvars['page']; + $this->current_column = $gvars['current_column']; + $this->tMargin = $gvars['tMargin']; + $this->bMargin = $gvars['bMargin']; + $this->w = $gvars['w']; + $this->h = $gvars['h']; + $this->wPt = $gvars['wPt']; + $this->hPt = $gvars['hPt']; + $this->fwPt = $gvars['fwPt']; + $this->fhPt = $gvars['fhPt']; + break; + } + } + $this->endlinex = $this->img_rb_x; + // restore page break + $this->setAutoPageBreak($page_break_mode, $page_break_margin); + $this->cell_padding = $cell_padding; + } + + /** + * Convert SVG transformation matrix to PDF. + * @param array $tm original SVG transformation matrix + * @return array transformation matrix + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected function convertSVGtMatrix($tm) { + $a = $tm[0]; + $b = -$tm[1]; + $c = -$tm[2]; + $d = $tm[3]; + $e = $this->getHTMLUnitToUnits($tm[4], 1, $this->svgunit, false) * $this->k; + $f = -$this->getHTMLUnitToUnits($tm[5], 1, $this->svgunit, false) * $this->k; + $x = 0; + $y = $this->h * $this->k; + $e = ($x * (1 - $a)) - ($y * $c) + $e; + $f = ($y * (1 - $d)) - ($x * $b) + $f; + return array($a, $b, $c, $d, $e, $f); + } + + /** + * Apply SVG graphic transformation matrix. + * @param array $tm original SVG transformation matrix + * @protected + * @since 5.0.000 (2010-05-02) + */ + protected function SVGTransform($tm) { + $this->Transform($this->convertSVGtMatrix($tm)); + } + + /** + * Apply the requested SVG styles (*** TO BE COMPLETED ***) + * @param array $svgstyle array of SVG styles to apply + * @param array $prevsvgstyle array of previous SVG style + * @param int $x X origin of the bounding box + * @param int $y Y origin of the bounding box + * @param int $w width of the bounding box + * @param int $h height of the bounding box + * @param string $clip_function clip function + * @param array $clip_params array of parameters for clipping function + * @return string style + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @protected + */ + protected function setSVGStyles($svgstyle, $prevsvgstyle, $x=0, $y=0, $w=1, $h=1, $clip_function='', $clip_params=array()) { + if ($this->state != 2) { + return; + } + $objstyle = ''; + $minlen = (0.01 / $this->k); // minimum acceptable length + if (!isset($svgstyle['opacity'])) { + return $objstyle; + } + // clip-path + $regs = array(); + if (preg_match('/url\([\s]*\#([^\)]*)\)/si', $svgstyle['clip-path'], $regs)) { + $clip_path = $this->svgclippaths[$regs[1]]; + foreach ($clip_path as $cp) { + $this->startSVGElementHandler('clip-path', $cp['name'], $cp['attribs'], $cp['tm']); + } + } + // opacity + if ($svgstyle['opacity'] != 1) { + $this->setAlpha($svgstyle['opacity'], 'Normal', $svgstyle['opacity'], false); + } + // color + $fill_color = TCPDF_COLORS::convertHTMLColorToDec($svgstyle['color'], $this->spot_colors); + $this->setFillColorArray($fill_color); + // text color + $text_color = TCPDF_COLORS::convertHTMLColorToDec($svgstyle['text-color'], $this->spot_colors); + $this->setTextColorArray($text_color); + // clip + if (preg_match('/rect\(([a-z0-9\-\.]*+)[\s]*+([a-z0-9\-\.]*+)[\s]*+([a-z0-9\-\.]*+)[\s]*+([a-z0-9\-\.]*+)\)/si', $svgstyle['clip'], $regs)) { + $top = (isset($regs[1])?$this->getHTMLUnitToUnits($regs[1], 0, $this->svgunit, false):0); + $right = (isset($regs[2])?$this->getHTMLUnitToUnits($regs[2], 0, $this->svgunit, false):0); + $bottom = (isset($regs[3])?$this->getHTMLUnitToUnits($regs[3], 0, $this->svgunit, false):0); + $left = (isset($regs[4])?$this->getHTMLUnitToUnits($regs[4], 0, $this->svgunit, false):0); + $cx = $x + $left; + $cy = $y + $top; + $cw = $w - $left - $right; + $ch = $h - $top - $bottom; + if ($svgstyle['clip-rule'] == 'evenodd') { + $clip_rule = 'CNZ'; + } else { + $clip_rule = 'CEO'; + } + $this->Rect($cx, $cy, $cw, $ch, $clip_rule, array(), array()); + } + // fill + $regs = array(); + if (preg_match('/url\([\s]*\#([^\)]*)\)/si', $svgstyle['fill'], $regs)) { + // gradient + $gradient = $this->svggradients[$regs[1]]; + if (isset($gradient['xref'])) { + // reference to another gradient definition + $newgradient = $this->svggradients[$gradient['xref']]; + $newgradient['coords'] = $gradient['coords']; + $newgradient['mode'] = $gradient['mode']; + $newgradient['type'] = $gradient['type']; + $newgradient['gradientUnits'] = $gradient['gradientUnits']; + if (isset($gradient['gradientTransform'])) { + $newgradient['gradientTransform'] = $gradient['gradientTransform']; + } + $gradient = $newgradient; + } + //save current Graphic State + $this->_outSaveGraphicsState(); + //set clipping area + if (!empty($clip_function) AND method_exists($this, $clip_function)) { + $bbox = call_user_func_array(array($this, $clip_function), $clip_params); + if ((!isset($gradient['type']) OR ($gradient['type'] != 3)) AND is_array($bbox) AND (count($bbox) == 4)) { + list($x, $y, $w, $h) = $bbox; + } + } + if ($gradient['mode'] == 'measure') { + if (!isset($gradient['coords'][4])) { + $gradient['coords'][4] = 0.5; + } + if (isset($gradient['gradientTransform']) AND !empty($gradient['gradientTransform'])) { + $gtm = $gradient['gradientTransform']; + // apply transformation matrix + $xa = ($gtm[0] * $gradient['coords'][0]) + ($gtm[2] * $gradient['coords'][1]) + $gtm[4]; + $ya = ($gtm[1] * $gradient['coords'][0]) + ($gtm[3] * $gradient['coords'][1]) + $gtm[5]; + $xb = ($gtm[0] * $gradient['coords'][2]) + ($gtm[2] * $gradient['coords'][3]) + $gtm[4]; + $yb = ($gtm[1] * $gradient['coords'][2]) + ($gtm[3] * $gradient['coords'][3]) + $gtm[5]; + $r = sqrt(pow(($gtm[0] * $gradient['coords'][4]), 2) + pow(($gtm[1] * $gradient['coords'][4]), 2)); + $gradient['coords'][0] = $xa; + $gradient['coords'][1] = $ya; + $gradient['coords'][2] = $xb; + $gradient['coords'][3] = $yb; + $gradient['coords'][4] = $r; + } + // convert SVG coordinates to user units + $gradient['coords'][0] = $this->getHTMLUnitToUnits($gradient['coords'][0], 0, $this->svgunit, false); + $gradient['coords'][1] = $this->getHTMLUnitToUnits($gradient['coords'][1], 0, $this->svgunit, false); + $gradient['coords'][2] = $this->getHTMLUnitToUnits($gradient['coords'][2], 0, $this->svgunit, false); + $gradient['coords'][3] = $this->getHTMLUnitToUnits($gradient['coords'][3], 0, $this->svgunit, false); + $gradient['coords'][4] = $this->getHTMLUnitToUnits($gradient['coords'][4], 0, $this->svgunit, false); + if ($w <= $minlen) { + $w = $minlen; + } + if ($h <= $minlen) { + $h = $minlen; + } + // shift units + if ($gradient['gradientUnits'] == 'objectBoundingBox') { + // convert to SVG coordinate system + $gradient['coords'][0] += $x; + $gradient['coords'][1] += $y; + $gradient['coords'][2] += $x; + $gradient['coords'][3] += $y; + } + // calculate percentages + $gradient['coords'][0] = (($gradient['coords'][0] - $x) / $w); + $gradient['coords'][1] = (($gradient['coords'][1] - $y) / $h); + $gradient['coords'][2] = (($gradient['coords'][2] - $x) / $w); + $gradient['coords'][3] = (($gradient['coords'][3] - $y) / $h); + $gradient['coords'][4] /= $w; + } elseif ($gradient['mode'] == 'percentage') { + foreach($gradient['coords'] as $key => $val) { + $gradient['coords'][$key] = (intval($val) / 100); + if ($val < 0) { + $gradient['coords'][$key] = 0; + } elseif ($val > 1) { + $gradient['coords'][$key] = 1; + } + } + } + if (($gradient['type'] == 2) AND ($gradient['coords'][0] == $gradient['coords'][2]) AND ($gradient['coords'][1] == $gradient['coords'][3])) { + // single color (no shading) + $gradient['coords'][0] = 1; + $gradient['coords'][1] = 0; + $gradient['coords'][2] = 0.999; + $gradient['coords'][3] = 0; + } + // swap Y coordinates + $tmp = $gradient['coords'][1]; + $gradient['coords'][1] = $gradient['coords'][3]; + $gradient['coords'][3] = $tmp; + // set transformation map for gradient + $cy = ($this->h - $y); + if ($gradient['type'] == 3) { + // circular gradient + $cy -= ($gradient['coords'][1] * ($w + $h)); + $h = $w = max($w, $h); + } else { + $cy -= $h; + } + $this->_out(sprintf('%F 0 0 %F %F %F cm', ($w * $this->k), ($h * $this->k), ($x * $this->k), ($cy * $this->k))); + if ((is_array($gradient['stops']) || $gradient['stops'] instanceof Countable) && count($gradient['stops']) > 1) { + $this->Gradient($gradient['type'], $gradient['coords'], $gradient['stops']); + } + } elseif ($svgstyle['fill'] != 'none') { + $fill_color = TCPDF_COLORS::convertHTMLColorToDec($svgstyle['fill'], $this->spot_colors); + if ($svgstyle['fill-opacity'] != 1) { + $this->setAlpha($this->alpha['CA'], 'Normal', $svgstyle['fill-opacity'], false); + } elseif (preg_match('/rgba\(\d+%?,\s*\d+%?,\s*\d+%?,\s*(\d+(?:\.\d+)?)\)/i', $svgstyle['fill'], $rgba_matches)) { + $this->setAlpha($this->alpha['CA'], 'Normal', $rgba_matches[1], false); + } + $this->setFillColorArray($fill_color); + if ($svgstyle['fill-rule'] == 'evenodd') { + $objstyle .= 'F*'; + } else { + $objstyle .= 'F'; + } + } + // stroke + if ($svgstyle['stroke'] != 'none') { + if ($svgstyle['stroke-opacity'] != 1) { + $this->setAlpha($svgstyle['stroke-opacity'], 'Normal', $this->alpha['ca'], false); + } elseif (preg_match('/rgba\(\d+%?,\s*\d+%?,\s*\d+%?,\s*(\d+(?:\.\d+)?)\)/i', $svgstyle['stroke'], $rgba_matches)) { + $this->setAlpha($rgba_matches[1], 'Normal', $this->alpha['ca'], false); + } + $stroke_style = array( + 'color' => TCPDF_COLORS::convertHTMLColorToDec($svgstyle['stroke'], $this->spot_colors), + 'width' => $this->getHTMLUnitToUnits($svgstyle['stroke-width'], 0, $this->svgunit, false), + 'cap' => $svgstyle['stroke-linecap'], + 'join' => $svgstyle['stroke-linejoin'] + ); + if (isset($svgstyle['stroke-dasharray']) AND !empty($svgstyle['stroke-dasharray']) AND ($svgstyle['stroke-dasharray'] != 'none')) { + $stroke_style['dash'] = $svgstyle['stroke-dasharray']; + } + $this->setLineStyle($stroke_style); + $objstyle .= 'D'; + } + // font + $regs = array(); + if (!empty($svgstyle['font'])) { + if (preg_match('/font-family[\s]*:[\s]*([^\;\"]*)/si', $svgstyle['font'], $regs)) { + $font_family = $this->getFontFamilyName($regs[1]); + } else { + $font_family = $this->getFontFamilyName($svgstyle['font-family']); + } + if (preg_match('/font-size[\s]*:[\s]*([^\s\;\"]*)/si', $svgstyle['font'], $regs)) { + $font_size = trim($regs[1]); + } else { + $font_size = $svgstyle['font-size']; + } + if (preg_match('/font-style[\s]*:[\s]*([^\s\;\"]*)/si', $svgstyle['font'], $regs)) { + $font_style = trim($regs[1]); + } else { + $font_style = $svgstyle['font-style']; + } + if (preg_match('/font-weight[\s]*:[\s]*([^\s\;\"]*)/si', $svgstyle['font'], $regs)) { + $font_weight = trim($regs[1]); + } else { + $font_weight = $svgstyle['font-weight']; + } + if (preg_match('/font-stretch[\s]*:[\s]*([^\s\;\"]*)/si', $svgstyle['font'], $regs)) { + $font_stretch = trim($regs[1]); + } else { + $font_stretch = $svgstyle['font-stretch']; + } + if (preg_match('/letter-spacing[\s]*:[\s]*([^\s\;\"]*)/si', $svgstyle['font'], $regs)) { + $font_spacing = trim($regs[1]); + } else { + $font_spacing = $svgstyle['letter-spacing']; + } + } else { + $font_family = $this->getFontFamilyName($svgstyle['font-family']); + $font_size = $svgstyle['font-size']; + $font_style = $svgstyle['font-style']; + $font_weight = $svgstyle['font-weight']; + $font_stretch = $svgstyle['font-stretch']; + $font_spacing = $svgstyle['letter-spacing']; + } + $font_size = $this->getHTMLFontUnits($font_size, $this->svgstyles[0]['font-size'], $prevsvgstyle['font-size'], $this->svgunit); + $font_stretch = $this->getCSSFontStretching($font_stretch, $svgstyle['font-stretch']); + $font_spacing = $this->getCSSFontSpacing($font_spacing, $svgstyle['letter-spacing']); + switch ($font_style) { + case 'italic': { + $font_style = 'I'; + break; + } + case 'oblique': { + $font_style = 'I'; + break; + } + default: + case 'normal': { + $font_style = ''; + break; + } + } + switch ($font_weight) { + case 'bold': + case 'bolder': { + $font_style .= 'B'; + break; + } + case 'normal': { + if ((substr($font_family, -1) == 'I') AND (substr($font_family, -2, 1) == 'B')) { + $font_family = substr($font_family, 0, -2).'I'; + } elseif (substr($font_family, -1) == 'B') { + $font_family = substr($font_family, 0, -1); + } + break; + } + } + switch ($svgstyle['text-decoration']) { + case 'underline': { + $font_style .= 'U'; + break; + } + case 'overline': { + $font_style .= 'O'; + break; + } + case 'line-through': { + $font_style .= 'D'; + break; + } + default: + case 'none': { + break; + } + } + $this->setFont($font_family, $font_style, $font_size); + $this->setFontStretching($font_stretch); + $this->setFontSpacing($font_spacing); + return $objstyle; + } + + /** + * Draws an SVG path + * @param string $d attribute d of the path SVG element + * @param string $style Style of rendering. Possible values are: + *
      + *
    • D or empty string: Draw (default).
    • + *
    • F: Fill.
    • + *
    • F*: Fill using the even-odd rule to determine which regions lie inside the clipping path.
    • + *
    • DF or FD: Draw and fill.
    • + *
    • DF* or FD*: Draw and fill using the even-odd rule to determine which regions lie inside the clipping path.
    • + *
    • CNZ: Clipping mode (using the even-odd rule to determine which regions lie inside the clipping path).
    • + *
    • CEO: Clipping mode (using the nonzero winding number rule to determine which regions lie inside the clipping path).
    • + *
    + * @return array of container box measures (x, y, w, h) + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @protected + */ + protected function SVGPath($d, $style='') { + if ($this->state != 2) { + return; + } + // set fill/stroke style + $op = TCPDF_STATIC::getPathPaintOperator($style, ''); + if (empty($op)) { + return; + } + $paths = array(); + $d = preg_replace('/([0-9ACHLMQSTVZ])([\-\+])/si', '\\1 \\2', $d); + $d = preg_replace('/(\.[0-9]+)(\.)/s', '\\1 \\2', $d); + preg_match_all('/([ACHLMQSTVZ])[\s]*([^ACHLMQSTVZ\"]*)/si', $d, $paths, PREG_SET_ORDER); + $x = 0; + $y = 0; + $x1 = 0; + $y1 = 0; + $x2 = 0; + $y2 = 0; + $xmin = 2147483647; + $xmax = 0; + $ymin = 2147483647; + $ymax = 0; + $xinitial = 0; + $yinitial = 0; + $relcoord = false; + $minlen = (0.01 / $this->k); // minimum acceptable length (3 point) + $firstcmd = true; // used to print first point + // draw curve pieces + foreach ($paths as $key => $val) { + // get curve type + $cmd = trim($val[1]); + if (strtolower($cmd) == $cmd) { + // use relative coordinated instead of absolute + $relcoord = true; + $xoffset = $x; + $yoffset = $y; + } else { + $relcoord = false; + $xoffset = 0; + $yoffset = 0; + } + $params = array(); + if (isset($val[2])) { + // get curve parameters + preg_match_all('/-?\d*\.?\d+/', trim($val[2]), $matches); + $rawparams = $matches[0]; + $params = array(); + foreach ($rawparams as $ck => $cp) { + $params[$ck] = $this->getHTMLUnitToUnits($cp, 0, $this->svgunit, false); + if (abs($params[$ck]) < $minlen) { + // approximate little values to zero + $params[$ck] = 0; + } + } + } + // store current origin point + $x0 = $x; + $y0 = $y; + switch (strtoupper($cmd)) { + case 'M': { // moveto + foreach ($params as $ck => $cp) { + if (($ck % 2) == 0) { + $x = $cp + $xoffset; + } else { + $y = $cp + $yoffset; + if ($firstcmd OR (abs($x0 - $x) >= $minlen) OR (abs($y0 - $y) >= $minlen)) { + if ($ck == 1) { + $this->_outPoint($x, $y); + $firstcmd = false; + $xinitial = $x; + $yinitial = $y; + } else { + $this->_outLine($x, $y); + } + $x0 = $x; + $y0 = $y; + } + $xmin = min($xmin, $x); + $ymin = min($ymin, $y); + $xmax = max($xmax, $x); + $ymax = max($ymax, $y); + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'L': { // lineto + foreach ($params as $ck => $cp) { + if (($ck % 2) == 0) { + $x = $cp + $xoffset; + } else { + $y = $cp + $yoffset; + if ((abs($x0 - $x) >= $minlen) OR (abs($y0 - $y) >= $minlen)) { + $this->_outLine($x, $y); + $x0 = $x; + $y0 = $y; + } + $xmin = min($xmin, $x); + $ymin = min($ymin, $y); + $xmax = max($xmax, $x); + $ymax = max($ymax, $y); + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'H': { // horizontal lineto + foreach ($params as $ck => $cp) { + $x = $cp + $xoffset; + if ((abs($x0 - $x) >= $minlen) OR (abs($y0 - $y) >= $minlen)) { + $this->_outLine($x, $y); + $x0 = $x; + $y0 = $y; + } + $xmin = min($xmin, $x); + $xmax = max($xmax, $x); + if ($relcoord) { + $xoffset = $x; + } + } + break; + } + case 'V': { // vertical lineto + foreach ($params as $ck => $cp) { + $y = $cp + $yoffset; + if ((abs($x0 - $x) >= $minlen) OR (abs($y0 - $y) >= $minlen)) { + $this->_outLine($x, $y); + $x0 = $x; + $y0 = $y; + } + $ymin = min($ymin, $y); + $ymax = max($ymax, $y); + if ($relcoord) { + $yoffset = $y; + } + } + break; + } + case 'C': { // curveto + foreach ($params as $ck => $cp) { + $params[$ck] = $cp; + if ((($ck + 1) % 6) == 0) { + $x1 = $params[($ck - 5)] + $xoffset; + $y1 = $params[($ck - 4)] + $yoffset; + $x2 = $params[($ck - 3)] + $xoffset; + $y2 = $params[($ck - 2)] + $yoffset; + $x = $params[($ck - 1)] + $xoffset; + $y = $params[($ck)] + $yoffset; + $this->_outCurve($x1, $y1, $x2, $y2, $x, $y); + $xmin = min($xmin, $x, $x1, $x2); + $ymin = min($ymin, $y, $y1, $y2); + $xmax = max($xmax, $x, $x1, $x2); + $ymax = max($ymax, $y, $y1, $y2); + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'S': { // shorthand/smooth curveto + foreach ($params as $ck => $cp) { + $params[$ck] = $cp; + if ((($ck + 1) % 4) == 0) { + if (($key > 0) AND ((strtoupper($paths[($key - 1)][1]) == 'C') OR (strtoupper($paths[($key - 1)][1]) == 'S'))) { + $x1 = (2 * $x) - $x2; + $y1 = (2 * $y) - $y2; + } else { + $x1 = $x; + $y1 = $y; + } + $x2 = $params[($ck - 3)] + $xoffset; + $y2 = $params[($ck - 2)] + $yoffset; + $x = $params[($ck - 1)] + $xoffset; + $y = $params[($ck)] + $yoffset; + $this->_outCurve($x1, $y1, $x2, $y2, $x, $y); + $xmin = min($xmin, $x, $x1, $x2); + $ymin = min($ymin, $y, $y1, $y2); + $xmax = max($xmax, $x, $x1, $x2); + $ymax = max($ymax, $y, $y1, $y2); + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'Q': { // quadratic Bezier curveto + foreach ($params as $ck => $cp) { + $params[$ck] = $cp; + if ((($ck + 1) % 4) == 0) { + // convert quadratic points to cubic points + $x1 = $params[($ck - 3)] + $xoffset; + $y1 = $params[($ck - 2)] + $yoffset; + $xa = ($x + (2 * $x1)) / 3; + $ya = ($y + (2 * $y1)) / 3; + $x = $params[($ck - 1)] + $xoffset; + $y = $params[($ck)] + $yoffset; + $xb = ($x + (2 * $x1)) / 3; + $yb = ($y + (2 * $y1)) / 3; + $this->_outCurve($xa, $ya, $xb, $yb, $x, $y); + $xmin = min($xmin, $x, $xa, $xb); + $ymin = min($ymin, $y, $ya, $yb); + $xmax = max($xmax, $x, $xa, $xb); + $ymax = max($ymax, $y, $ya, $yb); + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'T': { // shorthand/smooth quadratic Bezier curveto + foreach ($params as $ck => $cp) { + $params[$ck] = $cp; + if (($ck % 2) != 0) { + if (($key > 0) AND ((strtoupper($paths[($key - 1)][1]) == 'Q') OR (strtoupper($paths[($key - 1)][1]) == 'T'))) { + $x1 = (2 * $x) - $x1; + $y1 = (2 * $y) - $y1; + } else { + $x1 = $x; + $y1 = $y; + } + // convert quadratic points to cubic points + $xa = ($x + (2 * $x1)) / 3; + $ya = ($y + (2 * $y1)) / 3; + $x = $params[($ck - 1)] + $xoffset; + $y = $params[($ck)] + $yoffset; + $xb = ($x + (2 * $x1)) / 3; + $yb = ($y + (2 * $y1)) / 3; + $this->_outCurve($xa, $ya, $xb, $yb, $x, $y); + $xmin = min($xmin, $x, $xa, $xb); + $ymin = min($ymin, $y, $ya, $yb); + $xmax = max($xmax, $x, $xa, $xb); + $ymax = max($ymax, $y, $ya, $yb); + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'A': { // elliptical arc + foreach ($params as $ck => $cp) { + $params[$ck] = $cp; + if ((($ck + 1) % 7) == 0) { + $x0 = $x; + $y0 = $y; + $rx = max(abs($params[($ck - 6)]), .000000001); + $ry = max(abs($params[($ck - 5)]), .000000001); + $ang = -$rawparams[($ck - 4)]; + $angle = deg2rad($ang); + $fa = $rawparams[($ck - 3)]; // large-arc-flag + $fs = $rawparams[($ck - 2)]; // sweep-flag + $x = $params[($ck - 1)] + $xoffset; + $y = $params[$ck] + $yoffset; + if ((abs($x0 - $x) < $minlen) AND (abs($y0 - $y) < $minlen)) { + // endpoints are almost identical + $xmin = min($xmin, $x); + $ymin = min($ymin, $y); + $xmax = max($xmax, $x); + $ymax = max($ymax, $y); + } else { + $cos_ang = cos($angle); + $sin_ang = sin($angle); + $a = (($x0 - $x) / 2); + $b = (($y0 - $y) / 2); + $xa = ($a * $cos_ang) - ($b * $sin_ang); + $ya = ($a * $sin_ang) + ($b * $cos_ang); + $rx2 = $rx * $rx; + $ry2 = $ry * $ry; + $xa2 = $xa * $xa; + $ya2 = $ya * $ya; + $delta = ($xa2 / $rx2) + ($ya2 / $ry2); + if ($delta > 1) { + $rx *= sqrt($delta); + $ry *= sqrt($delta); + $rx2 = $rx * $rx; + $ry2 = $ry * $ry; + } + $numerator = (($rx2 * $ry2) - ($rx2 * $ya2) - ($ry2 * $xa2)); + if ($numerator < 0) { + $root = 0; + } else { + $root = sqrt($numerator / (($rx2 * $ya2) + ($ry2 * $xa2))); + } + if ($fa == $fs){ + $root *= -1; + } + $cax = $root * (($rx * $ya) / $ry); + $cay = -$root * (($ry * $xa) / $rx); + // coordinates of ellipse center + $cx = ($cax * $cos_ang) - ($cay * $sin_ang) + (($x0 + $x) / 2); + $cy = ($cax * $sin_ang) + ($cay * $cos_ang) + (($y0 + $y) / 2); + // get angles + $angs = TCPDF_STATIC::getVectorsAngle(1, 0, (($xa - $cax) / $rx), (($cay - $ya) / $ry)); + $dang = TCPDF_STATIC::getVectorsAngle((($xa - $cax) / $rx), (($ya - $cay) / $ry), ((-$xa - $cax) / $rx), ((-$ya - $cay) / $ry)); + if (($fs == 0) AND ($dang > 0)) { + $dang -= (2 * M_PI); + } elseif (($fs == 1) AND ($dang < 0)) { + $dang += (2 * M_PI); + } + $angf = $angs - $dang; + if ((($fs == 0) AND ($angs > $angf)) OR (($fs == 1) AND ($angs < $angf))) { + // reverse angles + $tmp = $angs; + $angs = $angf; + $angf = $tmp; + } + $angs = round(rad2deg($angs), 6); + $angf = round(rad2deg($angf), 6); + // covent angles to positive values + if (($angs < 0) AND ($angf < 0)) { + $angs += 360; + $angf += 360; + } + $pie = false; + if (($key == 0) AND (isset($paths[($key + 1)][1])) AND (trim($paths[($key + 1)][1]) == 'z')) { + $pie = true; + } + list($axmin, $aymin, $axmax, $aymax) = $this->_outellipticalarc($cx, $cy, $rx, $ry, $ang, $angs, $angf, $pie, 2, false, ($fs == 0), true); + $xmin = min($xmin, $x, $axmin); + $ymin = min($ymin, $y, $aymin); + $xmax = max($xmax, $x, $axmax); + $ymax = max($ymax, $y, $aymax); + } + if ($relcoord) { + $xoffset = $x; + $yoffset = $y; + } + } + } + break; + } + case 'Z': { + $this->_out('h'); + $x = $x0 = $xinitial; + $y = $y0 = $yinitial; + break; + } + } + $firstcmd = false; + } // end foreach + $this->_out($op); + return array($xmin, $ymin, ($xmax - $xmin), ($ymax - $ymin)); + } + + /** + * Return the tag name without the namespace + * @param string $name Tag name + * @protected + */ + protected function removeTagNamespace($name) { + if(strpos($name, ':') !== false) { + $parts = explode(':', $name); + return $parts[(sizeof($parts) - 1)]; + } + return $name; + } + + /** + * Sets the opening SVG element handler function for the XML parser. (*** TO BE COMPLETED ***) + * @param resource|string $parser The first parameter, parser, is a reference to the XML parser calling the handler. + * @param string $name The second parameter, name, contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters. + * @param array $attribs The third parameter, attribs, contains an associative array with the element's attributes (if any). The keys of this array are the attribute names, the values are the attribute values. Attribute names are case-folded on the same criteria as element names. Attribute values are not case-folded. The original order of the attributes can be retrieved by walking through attribs the normal way, using each(). The first key in the array was the first attribute, and so on. + * @param array $ctm tranformation matrix for clipping mode (starting transformation matrix). + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @protected + */ + protected function startSVGElementHandler($parser, $name, $attribs, $ctm=array()) { + $name = $this->removeTagNamespace($name); + // check if we are in clip mode + if ($this->svgclipmode) { + $this->svgclippaths[$this->svgclipid][] = array('name' => $name, 'attribs' => $attribs, 'tm' => $this->svgcliptm[$this->svgclipid]); + return; + } + if ($this->svgdefsmode AND !in_array($name, array('clipPath', 'linearGradient', 'radialGradient', 'stop'))) { + if (isset($attribs['id'])) { + $attribs['child_elements'] = array(); + $this->svgdefs[$attribs['id']] = array('name' => $name, 'attribs' => $attribs); + return; + } + if (end($this->svgdefs) !== FALSE) { + $last_svgdefs_id = key($this->svgdefs); + if (isset($this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'])) { + $attribs['id'] = 'DF_'.(count($this->svgdefs[$last_svgdefs_id]['attribs']['child_elements']) + 1); + $this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'][$attribs['id']] = array('name' => $name, 'attribs' => $attribs); + return; + } + } + return; + } + $clipping = false; + if ($parser == 'clip-path') { + // set clipping mode + $clipping = true; + } + // get styling properties + $prev_svgstyle = $this->svgstyles[max(0,(count($this->svgstyles) - 1))]; // previous style + $svgstyle = $this->svgstyles[0]; // set default style + if ($clipping AND !isset($attribs['fill']) AND (!isset($attribs['style']) OR (!preg_match('/[;\"\s]{1}fill[\s]*:[\s]*([^;\"]*)/si', $attribs['style'], $attrval)))) { + // default fill attribute for clipping + $attribs['fill'] = 'none'; + } + if (isset($attribs['style']) AND !TCPDF_STATIC::empty_string($attribs['style']) AND ($attribs['style'][0] != ';')) { + // fix style for regular expression + $attribs['style'] = ';'.$attribs['style']; + } + foreach ($prev_svgstyle as $key => $val) { + if (in_array($key, TCPDF_IMAGES::$svginheritprop)) { + // inherit previous value + $svgstyle[$key] = $val; + } + if (isset($attribs[$key]) AND !TCPDF_STATIC::empty_string($attribs[$key])) { + // specific attribute settings + if ($attribs[$key] == 'inherit') { + $svgstyle[$key] = $val; + } else { + $svgstyle[$key] = $attribs[$key]; + } + } elseif (isset($attribs['style']) AND !TCPDF_STATIC::empty_string($attribs['style'])) { + // CSS style syntax + $attrval = array(); + if (preg_match('/[;\"\s]{1}'.$key.'[\s]*:[\s]*([^;\"]*)/si', $attribs['style'], $attrval) AND isset($attrval[1])) { + if ($attrval[1] == 'inherit') { + $svgstyle[$key] = $val; + } else { + $svgstyle[$key] = $attrval[1]; + } + } + } + } + // transformation matrix + if (!empty($ctm)) { + $tm = $ctm; + } else { + $tm = array(1,0,0,1,0,0); + } + if (isset($attribs['transform']) AND !empty($attribs['transform'])) { + $tm = TCPDF_STATIC::getTransformationMatrixProduct($tm, TCPDF_STATIC::getSVGTransformMatrix($attribs['transform'])); + } + $svgstyle['transfmatrix'] = $tm; + $invisible = false; + if (($svgstyle['visibility'] == 'hidden') OR ($svgstyle['visibility'] == 'collapse') OR ($svgstyle['display'] == 'none')) { + // the current graphics element is invisible (nothing is painted) + $invisible = true; + } + // process tag + switch($name) { + case 'defs': { + $this->svgdefsmode = true; + break; + } + // clipPath + case 'clipPath': { + if ($invisible) { + break; + } + $this->svgclipmode = true; + if (!isset($attribs['id'])) { + $attribs['id'] = 'CP_'.(count($this->svgcliptm) + 1); + } + $this->svgclipid = $attribs['id']; + $this->svgclippaths[$this->svgclipid] = array(); + $this->svgcliptm[$this->svgclipid] = $tm; + break; + } + case 'svg': { + // start of SVG object + if(++$this->svg_tag_depth <= 1) { + break; + } + // inner SVG + array_push($this->svgstyles, $svgstyle); + $this->StartTransform(); + $svgX = (isset($attribs['x'])?$attribs['x']:0); + $svgY = (isset($attribs['y'])?$attribs['y']:0); + $svgW = (isset($attribs['width'])?$attribs['width']:0); + $svgH = (isset($attribs['height'])?$attribs['height']:0); + // set x, y position using transform matrix + $tm = TCPDF_STATIC::getTransformationMatrixProduct($tm, array( 1, 0, 0, 1, $svgX, $svgY)); + $this->SVGTransform($tm); + // set clipping for width and height + $x = 0; + $y = 0; + $w = (isset($attribs['width'])?$this->getHTMLUnitToUnits($attribs['width'], 0, $this->svgunit, false):$this->w); + $h = (isset($attribs['height'])?$this->getHTMLUnitToUnits($attribs['height'], 0, $this->svgunit, false):$this->h); + // draw clipping rect + $this->Rect($x, $y, $w, $h, 'CNZ', array(), array()); + // parse viewbox, calculate extra transformation matrix + if (isset($attribs['viewBox'])) { + $tmp = array(); + preg_match_all("/[0-9]+/", $attribs['viewBox'], $tmp); + $tmp = $tmp[0]; + if (sizeof($tmp) == 4) { + $vx = $tmp[0]; + $vy = $tmp[1]; + $vw = $tmp[2]; + $vh = $tmp[3]; + // get aspect ratio + $tmp = array(); + $aspectX = 'xMid'; + $aspectY = 'YMid'; + $fit = 'meet'; + if (isset($attribs['preserveAspectRatio'])) { + if($attribs['preserveAspectRatio'] == 'none') { + $fit = 'none'; + } else { + preg_match_all('/[a-zA-Z]+/', $attribs['preserveAspectRatio'], $tmp); + $tmp = $tmp[0]; + if ((sizeof($tmp) == 2) AND (strlen($tmp[0]) == 8) AND (in_array($tmp[1], array('meet', 'slice', 'none')))) { + $aspectX = substr($tmp[0], 0, 4); + $aspectY = substr($tmp[0], 4, 4); + $fit = $tmp[1]; + } + } + } + $wr = ($svgW / $vw); + $hr = ($svgH / $vh); + $ax = $ay = 0; + if ((($fit == 'meet') AND ($hr < $wr)) OR (($fit == 'slice') AND ($hr > $wr))) { + if ($aspectX == 'xMax') { + $ax = (($vw * ($wr / $hr)) - $vw); + } + if ($aspectX == 'xMid') { + $ax = ((($vw * ($wr / $hr)) - $vw) / 2); + } + $wr = $hr; + } elseif ((($fit == 'meet') AND ($hr > $wr)) OR (($fit == 'slice') AND ($hr < $wr))) { + if ($aspectY == 'YMax') { + $ay = (($vh * ($hr / $wr)) - $vh); + } + if ($aspectY == 'YMid') { + $ay = ((($vh * ($hr / $wr)) - $vh) / 2); + } + $hr = $wr; + } + $newtm = array($wr, 0, 0, $hr, (($wr * ($ax - $vx)) - $svgX), (($hr * ($ay - $vy)) - $svgY)); + $tm = TCPDF_STATIC::getTransformationMatrixProduct($tm, $newtm); + $this->SVGTransform($tm); + } + } + $this->setSVGStyles($svgstyle, $prev_svgstyle); + break; + } + case 'g': { + // group together related graphics elements + array_push($this->svgstyles, $svgstyle); + $this->StartTransform(); + $x = (isset($attribs['x'])?$attribs['x']:0); + $y = (isset($attribs['y'])?$attribs['y']:0); + $w = 1;//(isset($attribs['width'])?$attribs['width']:1); + $h = 1;//(isset($attribs['height'])?$attribs['height']:1); + $tm = TCPDF_STATIC::getTransformationMatrixProduct($tm, array($w, 0, 0, $h, $x, $y)); + $this->SVGTransform($tm); + $this->setSVGStyles($svgstyle, $prev_svgstyle); + break; + } + case 'linearGradient': { + if ($this->pdfa_mode && $this->pdfa_version < 2) { + break; + } + if (!isset($attribs['id'])) { + $attribs['id'] = 'GR_'.(count($this->svggradients) + 1); + } + $this->svggradientid = $attribs['id']; + $this->svggradients[$this->svggradientid] = array(); + $this->svggradients[$this->svggradientid]['type'] = 2; + $this->svggradients[$this->svggradientid]['stops'] = array(); + if (isset($attribs['gradientUnits'])) { + $this->svggradients[$this->svggradientid]['gradientUnits'] = $attribs['gradientUnits']; + } else { + $this->svggradients[$this->svggradientid]['gradientUnits'] = 'objectBoundingBox'; + } + //$attribs['spreadMethod'] + if (((!isset($attribs['x1'])) AND (!isset($attribs['y1'])) AND (!isset($attribs['x2'])) AND (!isset($attribs['y2']))) + OR ((isset($attribs['x1']) AND (substr($attribs['x1'], -1) == '%')) + OR (isset($attribs['y1']) AND (substr($attribs['y1'], -1) == '%')) + OR (isset($attribs['x2']) AND (substr($attribs['x2'], -1) == '%')) + OR (isset($attribs['y2']) AND (substr($attribs['y2'], -1) == '%')))) { + $this->svggradients[$this->svggradientid]['mode'] = 'percentage'; + } else { + $this->svggradients[$this->svggradientid]['mode'] = 'measure'; + } + $x1 = (isset($attribs['x1'])?$attribs['x1']:'0'); + $y1 = (isset($attribs['y1'])?$attribs['y1']:'0'); + $x2 = (isset($attribs['x2'])?$attribs['x2']:'100'); + $y2 = (isset($attribs['y2'])?$attribs['y2']:'0'); + if (isset($attribs['gradientTransform'])) { + $this->svggradients[$this->svggradientid]['gradientTransform'] = TCPDF_STATIC::getSVGTransformMatrix($attribs['gradientTransform']); + } + $this->svggradients[$this->svggradientid]['coords'] = array($x1, $y1, $x2, $y2); + if (isset($attribs['xlink:href']) AND !empty($attribs['xlink:href'])) { + // gradient is defined on another place + $this->svggradients[$this->svggradientid]['xref'] = substr($attribs['xlink:href'], 1); + } + break; + } + case 'radialGradient': { + if ($this->pdfa_mode && $this->pdfa_version < 2) { + break; + } + if (!isset($attribs['id'])) { + $attribs['id'] = 'GR_'.(count($this->svggradients) + 1); + } + $this->svggradientid = $attribs['id']; + $this->svggradients[$this->svggradientid] = array(); + $this->svggradients[$this->svggradientid]['type'] = 3; + $this->svggradients[$this->svggradientid]['stops'] = array(); + if (isset($attribs['gradientUnits'])) { + $this->svggradients[$this->svggradientid]['gradientUnits'] = $attribs['gradientUnits']; + } else { + $this->svggradients[$this->svggradientid]['gradientUnits'] = 'objectBoundingBox'; + } + //$attribs['spreadMethod'] + if (((!isset($attribs['cx'])) AND (!isset($attribs['cy']))) + OR ((isset($attribs['cx']) AND (substr($attribs['cx'], -1) == '%')) + OR (isset($attribs['cy']) AND (substr($attribs['cy'], -1) == '%')))) { + $this->svggradients[$this->svggradientid]['mode'] = 'percentage'; + } elseif (isset($attribs['r']) AND is_numeric($attribs['r']) AND ($attribs['r']) <= 1) { + $this->svggradients[$this->svggradientid]['mode'] = 'ratio'; + } else { + $this->svggradients[$this->svggradientid]['mode'] = 'measure'; + } + $cx = (isset($attribs['cx']) ? $attribs['cx'] : 0.5); + $cy = (isset($attribs['cy']) ? $attribs['cy'] : 0.5); + $fx = (isset($attribs['fx']) ? $attribs['fx'] : $cx); + $fy = (isset($attribs['fy']) ? $attribs['fy'] : $cy); + $r = (isset($attribs['r']) ? $attribs['r'] : 0.5); + if (isset($attribs['gradientTransform'])) { + $this->svggradients[$this->svggradientid]['gradientTransform'] = TCPDF_STATIC::getSVGTransformMatrix($attribs['gradientTransform']); + } + $this->svggradients[$this->svggradientid]['coords'] = array($cx, $cy, $fx, $fy, $r); + if (isset($attribs['xlink:href']) AND !empty($attribs['xlink:href'])) { + // gradient is defined on another place + $this->svggradients[$this->svggradientid]['xref'] = substr($attribs['xlink:href'], 1); + } + break; + } + case 'stop': { + // gradient stops + if (substr($attribs['offset'], -1) == '%') { + $offset = floatval(substr($attribs['offset'], 0, -1)) / 100; + } else { + $offset = floatval($attribs['offset']); + if ($offset > 1) { + $offset /= 100; + } + } + $stop_color = isset($svgstyle['stop-color'])?TCPDF_COLORS::convertHTMLColorToDec($svgstyle['stop-color'], $this->spot_colors):'black'; + $opacity = isset($svgstyle['stop-opacity'])?$svgstyle['stop-opacity']:1; + $this->svggradients[$this->svggradientid]['stops'][] = array('offset' => $offset, 'color' => $stop_color, 'opacity' => $opacity); + break; + } + // paths + case 'path': { + if ($invisible) { + break; + } + if (isset($attribs['d'])) { + $d = trim($attribs['d']); + if (!empty($d)) { + $x = (isset($attribs['x'])?$attribs['x']:0); + $y = (isset($attribs['y'])?$attribs['y']:0); + $w = (isset($attribs['width'])?$attribs['width']:1); + $h = (isset($attribs['height'])?$attribs['height']:1); + $tm = TCPDF_STATIC::getTransformationMatrixProduct($tm, array($w, 0, 0, $h, $x, $y)); + if ($clipping) { + $this->SVGTransform($tm); + $this->SVGPath($d, 'CNZ'); + } else { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'SVGPath', array($d, 'CNZ')); + if (!empty($obstyle)) { + $this->SVGPath($d, $obstyle); + } + $this->StopTransform(); + } + } + } + break; + } + // shapes + case 'rect': { + if ($invisible) { + break; + } + $x = (isset($attribs['x'])?$this->getHTMLUnitToUnits($attribs['x'], 0, $this->svgunit, false):0); + $y = (isset($attribs['y'])?$this->getHTMLUnitToUnits($attribs['y'], 0, $this->svgunit, false):0); + $w = (isset($attribs['width'])?$this->getHTMLUnitToUnits($attribs['width'], 0, $this->svgunit, false):0); + $h = (isset($attribs['height'])?$this->getHTMLUnitToUnits($attribs['height'], 0, $this->svgunit, false):0); + $rx = (isset($attribs['rx'])?$this->getHTMLUnitToUnits($attribs['rx'], 0, $this->svgunit, false):0); + $ry = (isset($attribs['ry'])?$this->getHTMLUnitToUnits($attribs['ry'], 0, $this->svgunit, false):$rx); + if ($clipping) { + $this->SVGTransform($tm); + $this->RoundedRectXY($x, $y, $w, $h, $rx, $ry, '1111', 'CNZ', array(), array()); + } else { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'RoundedRectXY', array($x, $y, $w, $h, $rx, $ry, '1111', 'CNZ')); + if (!empty($obstyle)) { + $this->RoundedRectXY($x, $y, $w, $h, $rx, $ry, '1111', $obstyle, array(), array()); + } + $this->StopTransform(); + } + break; + } + case 'circle': { + if ($invisible) { + break; + } + $r = (isset($attribs['r']) ? $this->getHTMLUnitToUnits($attribs['r'], 0, $this->svgunit, false) : 0); + $cx = (isset($attribs['cx']) ? $this->getHTMLUnitToUnits($attribs['cx'], 0, $this->svgunit, false) : (isset($attribs['x']) ? $this->getHTMLUnitToUnits($attribs['x'], 0, $this->svgunit, false) : 0)); + $cy = (isset($attribs['cy']) ? $this->getHTMLUnitToUnits($attribs['cy'], 0, $this->svgunit, false) : (isset($attribs['y']) ? $this->getHTMLUnitToUnits($attribs['y'], 0, $this->svgunit, false) : 0)); + $x = ($cx - $r); + $y = ($cy - $r); + $w = (2 * $r); + $h = $w; + if ($clipping) { + $this->SVGTransform($tm); + $this->Circle($cx, $cy, $r, 0, 360, 'CNZ', array(), array(), 8); + } else { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'Circle', array($cx, $cy, $r, 0, 360, 'CNZ')); + if (!empty($obstyle)) { + $this->Circle($cx, $cy, $r, 0, 360, $obstyle, array(), array(), 8); + } + $this->StopTransform(); + } + break; + } + case 'ellipse': { + if ($invisible) { + break; + } + $rx = (isset($attribs['rx']) ? $this->getHTMLUnitToUnits($attribs['rx'], 0, $this->svgunit, false) : 0); + $ry = (isset($attribs['ry']) ? $this->getHTMLUnitToUnits($attribs['ry'], 0, $this->svgunit, false) : 0); + $cx = (isset($attribs['cx']) ? $this->getHTMLUnitToUnits($attribs['cx'], 0, $this->svgunit, false) : (isset($attribs['x']) ? $this->getHTMLUnitToUnits($attribs['x'], 0, $this->svgunit, false) : 0)); + $cy = (isset($attribs['cy']) ? $this->getHTMLUnitToUnits($attribs['cy'], 0, $this->svgunit, false) : (isset($attribs['y']) ? $this->getHTMLUnitToUnits($attribs['y'], 0, $this->svgunit, false) : 0)); + $x = ($cx - $rx); + $y = ($cy - $ry); + $w = (2 * $rx); + $h = (2 * $ry); + if ($clipping) { + $this->SVGTransform($tm); + $this->Ellipse($cx, $cy, $rx, $ry, 0, 0, 360, 'CNZ', array(), array(), 8); + } else { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'Ellipse', array($cx, $cy, $rx, $ry, 0, 0, 360, 'CNZ')); + if (!empty($obstyle)) { + $this->Ellipse($cx, $cy, $rx, $ry, 0, 0, 360, $obstyle, array(), array(), 8); + } + $this->StopTransform(); + } + break; + } + case 'line': { + if ($invisible) { + break; + } + $x1 = (isset($attribs['x1'])?$this->getHTMLUnitToUnits($attribs['x1'], 0, $this->svgunit, false):0); + $y1 = (isset($attribs['y1'])?$this->getHTMLUnitToUnits($attribs['y1'], 0, $this->svgunit, false):0); + $x2 = (isset($attribs['x2'])?$this->getHTMLUnitToUnits($attribs['x2'], 0, $this->svgunit, false):0); + $y2 = (isset($attribs['y2'])?$this->getHTMLUnitToUnits($attribs['y2'], 0, $this->svgunit, false):0); + $x = $x1; + $y = $y1; + $w = abs($x2 - $x1); + $h = abs($y2 - $y1); + if (!$clipping) { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'Line', array($x1, $y1, $x2, $y2)); + $this->Line($x1, $y1, $x2, $y2); + $this->StopTransform(); + } + break; + } + case 'polyline': + case 'polygon': { + if ($invisible) { + break; + } + $points = (isset($attribs['points'])?$attribs['points']:'0 0'); + $points = trim($points); + // note that point may use a complex syntax not covered here + $points = preg_split('/[\,\s]+/si', $points); + if (count($points) < 4) { + break; + } + $p = array(); + $xmin = 2147483647; + $xmax = 0; + $ymin = 2147483647; + $ymax = 0; + foreach ($points as $key => $val) { + $p[$key] = $this->getHTMLUnitToUnits($val, 0, $this->svgunit, false); + if (($key % 2) == 0) { + // X coordinate + $xmin = min($xmin, $p[$key]); + $xmax = max($xmax, $p[$key]); + } else { + // Y coordinate + $ymin = min($ymin, $p[$key]); + $ymax = max($ymax, $p[$key]); + } + } + $x = $xmin; + $y = $ymin; + $w = ($xmax - $xmin); + $h = ($ymax - $ymin); + if ($name == 'polyline') { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'PolyLine', array($p, 'CNZ')); + if (!empty($obstyle)) { + $this->PolyLine($p, $obstyle, array(), array()); + } + $this->StopTransform(); + } else { // polygon + if ($clipping) { + $this->SVGTransform($tm); + $this->Polygon($p, 'CNZ', array(), array(), true); + } else { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h, 'Polygon', array($p, 'CNZ')); + if (!empty($obstyle)) { + $this->Polygon($p, $obstyle, array(), array(), true); + } + $this->StopTransform(); + } + } + break; + } + // image + case 'image': { + if ($invisible) { + break; + } + if (!isset($attribs['xlink:href']) OR empty($attribs['xlink:href'])) { + break; + } + $x = (isset($attribs['x'])?$this->getHTMLUnitToUnits($attribs['x'], 0, $this->svgunit, false):0); + $y = (isset($attribs['y'])?$this->getHTMLUnitToUnits($attribs['y'], 0, $this->svgunit, false):0); + $w = (isset($attribs['width'])?$this->getHTMLUnitToUnits($attribs['width'], 0, $this->svgunit, false):0); + $h = (isset($attribs['height'])?$this->getHTMLUnitToUnits($attribs['height'], 0, $this->svgunit, false):0); + $img = $attribs['xlink:href']; + if (!$clipping) { + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, $w, $h); + if (preg_match('/^data:image\/[^;]+;base64,/', $img, $m) > 0) { + // embedded image encoded as base64 + $img = '@'.base64_decode(substr($img, strlen($m[0]))); + } else { + // fix image path + if ($this->isRelativePath($img) || $this->hasExtForbiddenProtocol($img)) { + break; + } + if (!TCPDF_STATIC::empty_string($this->svgdir) AND (($img[0] == '.') OR (basename($img) == $img))) { + // replace relative path with full server path + $img = $this->svgdir.'/'.$img; + } + if (($img[0] == '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) { + $findroot = strpos($img, $_SERVER['DOCUMENT_ROOT']); + if (($findroot === false) OR ($findroot > 1)) { + if (substr($_SERVER['DOCUMENT_ROOT'], -1) == '/') { + $img = substr($_SERVER['DOCUMENT_ROOT'], 0, -1).$img; + } else { + $img = $_SERVER['DOCUMENT_ROOT'].$img; + } + } + } + $img = urldecode($img); + $testscrtype = @parse_url($img); + if (empty($testscrtype['query'])) { + // convert URL to server path + $img = str_replace(K_PATH_URL, K_PATH_MAIN, $img); + } elseif (preg_match('|^https?://|', $img) !== 1) { + // convert server path to URL + $img = str_replace(K_PATH_MAIN, K_PATH_URL, $img); + } + } + // get image type + $imgtype = TCPDF_IMAGES::getImageFileType($img); + if (($imgtype == 'eps') OR ($imgtype == 'ai')) { + $this->ImageEps($img, $x, $y, $w, $h); + } elseif ($imgtype == 'svg') { + // store SVG vars + $svggradients = $this->svggradients; + $svggradientid = $this->svggradientid; + $svgdefsmode = $this->svgdefsmode; + $svgdefs = $this->svgdefs; + $svgclipmode = $this->svgclipmode; + $svgclippaths = $this->svgclippaths; + $svgcliptm = $this->svgcliptm; + $svgclipid = $this->svgclipid; + $svgtext = $this->svgtext; + $svgtextmode = $this->svgtextmode; + $this->ImageSVG($img, $x, $y, $w, $h); + // restore SVG vars + $this->svggradients = $svggradients; + $this->svggradientid = $svggradientid; + $this->svgdefsmode = $svgdefsmode; + $this->svgdefs = $svgdefs; + $this->svgclipmode = $svgclipmode; + $this->svgclippaths = $svgclippaths; + $this->svgcliptm = $svgcliptm; + $this->svgclipid = $svgclipid; + $this->svgtext = $svgtext; + $this->svgtextmode = $svgtextmode; + } else { + $this->Image($img, $x, $y, $w, $h); + } + $this->StopTransform(); + } + break; + } + // text + case 'text': + case 'tspan': { + if (isset($this->svgtextmode['text-anchor']) AND !empty($this->svgtext)) { + // @TODO: unsupported feature + } + // only basic support - advanced features must be implemented + $this->svgtextmode['invisible'] = $invisible; + if ($invisible) { + break; + } + array_push($this->svgstyles, $svgstyle); + if (isset($attribs['x'])) { + $x = $this->getHTMLUnitToUnits($attribs['x'], 0, $this->svgunit, false); + } elseif ($name == 'tspan') { + $x = $this->x; + } else { + $x = 0; + } + if (isset($attribs['dx'])) { + $x += $this->getHTMLUnitToUnits($attribs['dx'], 0, $this->svgunit, false); + } + if (isset($attribs['y'])) { + $y = $this->getHTMLUnitToUnits($attribs['y'], 0, $this->svgunit, false); + } elseif ($name == 'tspan') { + $y = $this->y; + } else { + $y = 0; + } + if (isset($attribs['dy'])) { + $y += $this->getHTMLUnitToUnits($attribs['dy'], 0, $this->svgunit, false); + } + $svgstyle['text-color'] = $svgstyle['fill']; + $this->svgtext = ''; + if (isset($svgstyle['text-anchor'])) { + $this->svgtextmode['text-anchor'] = $svgstyle['text-anchor']; + } else { + $this->svgtextmode['text-anchor'] = 'start'; + } + if (isset($svgstyle['direction'])) { + if ($svgstyle['direction'] == 'rtl') { + $this->svgtextmode['rtl'] = true; + } else { + $this->svgtextmode['rtl'] = false; + } + } else { + $this->svgtextmode['rtl'] = false; + } + if (isset($svgstyle['stroke']) AND ($svgstyle['stroke'] != 'none') AND isset($svgstyle['stroke-width']) AND ($svgstyle['stroke-width'] > 0)) { + $this->svgtextmode['stroke'] = $this->getHTMLUnitToUnits($svgstyle['stroke-width'], 0, $this->svgunit, false); + } else { + $this->svgtextmode['stroke'] = false; + } + $this->StartTransform(); + $this->SVGTransform($tm); + $obstyle = $this->setSVGStyles($svgstyle, $prev_svgstyle, $x, $y, 1, 1); + $this->x = $x; + $this->y = $y; + break; + } + // use + case 'use': { + if (isset($attribs['xlink:href']) AND !empty($attribs['xlink:href'])) { + $svgdefid = substr($attribs['xlink:href'], 1); + if (isset($this->svgdefs[$svgdefid])) { + $use = $this->svgdefs[$svgdefid]; + if (isset($attribs['xlink:href'])) { + unset($attribs['xlink:href']); + } + if (isset($attribs['id'])) { + unset($attribs['id']); + } + if (isset($use['attribs']['x']) AND isset($attribs['x'])) { + $attribs['x'] += $use['attribs']['x']; + } + if (isset($use['attribs']['y']) AND isset($attribs['y'])) { + $attribs['y'] += $use['attribs']['y']; + } + if (empty($attribs['style'])) { + $attribs['style'] = ''; + } + if (!empty($use['attribs']['style'])) { + // merge styles + $attribs['style'] = str_replace(';;',';',';'.$use['attribs']['style'].$attribs['style']); + } + $attribs = array_merge($use['attribs'], $attribs); + $this->startSVGElementHandler($parser, $use['name'], $attribs); + return; + } + } + break; + } + default: { + break; + } + } // end of switch + // process child elements + if (!empty($attribs['child_elements'])) { + $child_elements = $attribs['child_elements']; + unset($attribs['child_elements']); + foreach($child_elements as $child_element) { + if (empty($child_element['attribs']['closing_tag'])) { + $this->startSVGElementHandler('child-tag', $child_element['name'], $child_element['attribs']); + } else { + if (isset($child_element['attribs']['content'])) { + $this->svgtext = $child_element['attribs']['content']; + } + $this->endSVGElementHandler('child-tag', $child_element['name']); + } + } + } + } + + /** + * Sets the closing SVG element handler function for the XML parser. + * @param resource|string $parser The first parameter, parser, is a reference to the XML parser calling the handler. + * @param string $name The second parameter, name, contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters. + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @protected + */ + protected function endSVGElementHandler($parser, $name) { + $name = $this->removeTagNamespace($name); + if ($this->svgdefsmode AND !in_array($name, array('defs', 'clipPath', 'linearGradient', 'radialGradient', 'stop'))) {; + if (end($this->svgdefs) !== FALSE) { + $last_svgdefs_id = key($this->svgdefs); + if (isset($this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'])) { + foreach($this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'] as $child_element) { + if (isset($child_element['attribs']['id']) AND ($child_element['name'] == $name)) { + $this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'][$child_element['attribs']['id'].'_CLOSE'] = array('name' => $name, 'attribs' => array('closing_tag' => TRUE, 'content' => $this->svgtext)); + return; + } + } + if ($this->svgdefs[$last_svgdefs_id]['name'] == $name) { + $this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'][$last_svgdefs_id.'_CLOSE'] = array('name' => $name, 'attribs' => array('closing_tag' => TRUE, 'content' => $this->svgtext)); + return; + } + } + } + return; + } + switch($name) { + case 'defs': { + $this->svgdefsmode = false; + break; + } + // clipPath + case 'clipPath': { + $this->svgclipmode = false; + break; + } + case 'svg': { + if (--$this->svg_tag_depth <= 0) { + break; + } + } + case 'g': { + // ungroup: remove last style from array + array_pop($this->svgstyles); + $this->StopTransform(); + break; + } + case 'text': + case 'tspan': { + if ($this->svgtextmode['invisible']) { + // This implementation must be fixed to following the rule: + // If the 'visibility' property is set to hidden on a 'tspan', 'tref' or 'altGlyph' element, then the text is invisible but still takes up space in text layout calculations. + break; + } + // print text + $text = $this->svgtext; + //$text = $this->stringTrim($text); + $textlen = $this->GetStringWidth($text); + if ($this->svgtextmode['text-anchor'] != 'start') { + // check if string is RTL text + if ($this->svgtextmode['text-anchor'] == 'end') { + if ($this->svgtextmode['rtl']) { + $this->x += $textlen; + } else { + $this->x -= $textlen; + } + } elseif ($this->svgtextmode['text-anchor'] == 'middle') { + if ($this->svgtextmode['rtl']) { + $this->x += ($textlen / 2); + } else { + $this->x -= ($textlen / 2); + } + } + } + $textrendermode = $this->textrendermode; + $textstrokewidth = $this->textstrokewidth; + $this->setTextRenderingMode($this->svgtextmode['stroke'], true, false); + if ($name == 'text') { + // store current coordinates + $tmpx = $this->x; + $tmpy = $this->y; + } + // print the text + $this->Cell($textlen, 0, $text, 0, 0, '', false, '', 0, false, 'L', 'T'); + if ($name == 'text') { + // restore coordinates + $this->x = $tmpx; + $this->y = $tmpy; + } + // restore previous rendering mode + $this->textrendermode = $textrendermode; + $this->textstrokewidth = $textstrokewidth; + $this->svgtext = ''; + $this->StopTransform(); + if (!$this->svgdefsmode) { + array_pop($this->svgstyles); + } + break; + } + default: { + break; + } + } + } + + /** + * Sets the character data handler function for the XML parser. + * @param resource $parser The first parameter, parser, is a reference to the XML parser calling the handler. + * @param string $data The second parameter, data, contains the character data as a string. + * @author Nicola Asuni + * @since 5.0.000 (2010-05-02) + * @protected + */ + protected function segSVGContentHandler($parser, $data) { + $this->svgtext .= $data; + } + + // --- END SVG METHODS ----------------------------------------------------- + + /** + * Keeps files in memory, so it doesn't need to downloaded everytime in a loop + * @param string $file + * @return string + */ + protected function getCachedFileContents($file) + { + if (!isset($this->fileContentCache[$file])) { + $this->fileContentCache[$file] = TCPDF_STATIC::fileGetContents($file); + } + return $this->fileContentCache[$file]; + } + + /** + * Avoid multiple calls to an external server to see if a file exists + * @param string $file + * @return bool + */ + protected function fileExists($file) + { + if (isset($this->fileContentCache[$file]) || false !== $this->getImageBuffer($file)) { + return true; + } + + return TCPDF_STATIC::file_exists($file); + } + + /** + * Wrapper for unlink with disabled protocols. + * @param string $file + * @return bool + */ + protected function _unlink($file) + { + if ((strpos($file, '://') !== false) && ((substr($file, 0, 7) !== 'file://') || (!$this->allowLocalFiles))) { + // forbidden protocol + return false; + } + return @unlink($file); + } + +} // END OF TCPDF CLASS + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/tcpdf_autoconfig.php b/vendor/tecnickcom/tcpdf/tcpdf_autoconfig.php new file mode 100644 index 0000000..d31ee87 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tcpdf_autoconfig.php @@ -0,0 +1,255 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : Try to automatically configure some TCPDF +// constants if not defined. +// +//============================================================+ + +/** + * @file + * Try to automatically configure some TCPDF constants if not defined. + * @package com.tecnick.tcpdf + * @version 1.2.1 + */ + +// Disable phar stream wrapper globally. +// if (in_array('phar', stream_get_wrappers(), true)) { +// stream_wrapper_unregister('phar'); +// } + +// DOCUMENT_ROOT fix for IIS Webserver +if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) { + if(isset($_SERVER['SCRIPT_FILENAME'])) { + $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']))); + } elseif(isset($_SERVER['PATH_TRANSLATED'])) { + $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']), 0, 0-strlen($_SERVER['PHP_SELF']))); + } else { + // define here your DOCUMENT_ROOT path if the previous fails (e.g. '/var/www') + $_SERVER['DOCUMENT_ROOT'] = '/'; + } +} +$_SERVER['DOCUMENT_ROOT'] = str_replace('//', '/', $_SERVER['DOCUMENT_ROOT']); +if (substr($_SERVER['DOCUMENT_ROOT'], -1) != '/') { + $_SERVER['DOCUMENT_ROOT'] .= '/'; +} + +// Load main configuration file only if the K_TCPDF_EXTERNAL_CONFIG constant is set to false. +if (!defined('K_TCPDF_EXTERNAL_CONFIG') OR !K_TCPDF_EXTERNAL_CONFIG) { + // define a list of default config files in order of priority + $tcpdf_config_files = array(dirname(__FILE__).'/config/tcpdf_config.php', '/etc/php-tcpdf/tcpdf_config.php', '/etc/tcpdf/tcpdf_config.php', '/etc/tcpdf_config.php'); + foreach ($tcpdf_config_files as $tcpdf_config) { + if (@file_exists($tcpdf_config) AND is_readable($tcpdf_config)) { + require_once($tcpdf_config); + break; + } + } +} + +if (!defined('K_PATH_MAIN')) { + define ('K_PATH_MAIN', dirname(__FILE__).'/'); +} + +if (!defined('K_PATH_FONTS')) { + define ('K_PATH_FONTS', K_PATH_MAIN.'fonts/'); +} + +if (!defined('K_PATH_URL')) { + $k_path_url = K_PATH_MAIN; // default value for console mode + if (isset($_SERVER['HTTP_HOST']) AND (!empty($_SERVER['HTTP_HOST']))) { + if(isset($_SERVER['HTTPS']) AND (!empty($_SERVER['HTTPS'])) AND (strtolower($_SERVER['HTTPS']) != 'off')) { + $k_path_url = 'https://'; + } else { + $k_path_url = 'http://'; + } + $k_path_url .= $_SERVER['HTTP_HOST']; + $k_path_url .= str_replace( '\\', '/', substr(K_PATH_MAIN, (strlen($_SERVER['DOCUMENT_ROOT']) - 1))); + } + define ('K_PATH_URL', $k_path_url); +} + +if (!defined('K_PATH_IMAGES')) { + $tcpdf_images_dirs = array(K_PATH_MAIN.'examples/images/', K_PATH_MAIN.'images/', '/usr/share/doc/php-tcpdf/examples/images/', '/usr/share/doc/tcpdf/examples/images/', '/usr/share/doc/php/tcpdf/examples/images/', '/var/www/tcpdf/images/', '/var/www/html/tcpdf/images/', '/usr/local/apache2/htdocs/tcpdf/images/', K_PATH_MAIN); + foreach ($tcpdf_images_dirs as $tcpdf_images_path) { + if (@file_exists($tcpdf_images_path)) { + define ('K_PATH_IMAGES', $tcpdf_images_path); + break; + } + } +} + +if (!defined('PDF_HEADER_LOGO')) { + $tcpdf_header_logo = ''; + if (@file_exists(K_PATH_IMAGES.'tcpdf_logo.jpg')) { + $tcpdf_header_logo = 'tcpdf_logo.jpg'; + } + define ('PDF_HEADER_LOGO', $tcpdf_header_logo); +} + +if (!defined('PDF_HEADER_LOGO_WIDTH')) { + if (!empty($tcpdf_header_logo)) { + define ('PDF_HEADER_LOGO_WIDTH', 30); + } else { + define ('PDF_HEADER_LOGO_WIDTH', 0); + } +} + +if (!defined('K_PATH_CACHE')) { + $K_PATH_CACHE = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir(); + if (substr($K_PATH_CACHE, -1) != '/') { + $K_PATH_CACHE .= '/'; + } + define ('K_PATH_CACHE', $K_PATH_CACHE); +} + +if (!defined('K_BLANK_IMAGE')) { + define ('K_BLANK_IMAGE', '_blank.png'); +} + +if (!defined('PDF_PAGE_FORMAT')) { + define ('PDF_PAGE_FORMAT', 'A4'); +} + +if (!defined('PDF_PAGE_ORIENTATION')) { + define ('PDF_PAGE_ORIENTATION', 'P'); +} + +if (!defined('PDF_CREATOR')) { + define ('PDF_CREATOR', 'TCPDF'); +} + +if (!defined('PDF_AUTHOR')) { + define ('PDF_AUTHOR', 'TCPDF'); +} + +if (!defined('PDF_HEADER_TITLE')) { + define ('PDF_HEADER_TITLE', 'TCPDF Example'); +} + +if (!defined('PDF_HEADER_STRING')) { + define ('PDF_HEADER_STRING', "by Nicola Asuni - Tecnick.com\nwww.tcpdf.org"); +} + +if (!defined('PDF_UNIT')) { + define ('PDF_UNIT', 'mm'); +} + +if (!defined('PDF_MARGIN_HEADER')) { + define ('PDF_MARGIN_HEADER', 5); +} + +if (!defined('PDF_MARGIN_FOOTER')) { + define ('PDF_MARGIN_FOOTER', 10); +} + +if (!defined('PDF_MARGIN_TOP')) { + define ('PDF_MARGIN_TOP', 27); +} + +if (!defined('PDF_MARGIN_BOTTOM')) { + define ('PDF_MARGIN_BOTTOM', 25); +} + +if (!defined('PDF_MARGIN_LEFT')) { + define ('PDF_MARGIN_LEFT', 15); +} + +if (!defined('PDF_MARGIN_RIGHT')) { + define ('PDF_MARGIN_RIGHT', 15); +} + +if (!defined('PDF_FONT_NAME_MAIN')) { + define ('PDF_FONT_NAME_MAIN', 'helvetica'); +} + +if (!defined('PDF_FONT_SIZE_MAIN')) { + define ('PDF_FONT_SIZE_MAIN', 10); +} + +if (!defined('PDF_FONT_NAME_DATA')) { + define ('PDF_FONT_NAME_DATA', 'helvetica'); +} + +if (!defined('PDF_FONT_SIZE_DATA')) { + define ('PDF_FONT_SIZE_DATA', 8); +} + +if (!defined('PDF_FONT_MONOSPACED')) { + define ('PDF_FONT_MONOSPACED', 'courier'); +} + +if (!defined('PDF_IMAGE_SCALE_RATIO')) { + define ('PDF_IMAGE_SCALE_RATIO', 1.25); +} + +if (!defined('HEAD_MAGNIFICATION')) { + define('HEAD_MAGNIFICATION', 1.1); +} + +if (!defined('K_CELL_HEIGHT_RATIO')) { + define('K_CELL_HEIGHT_RATIO', 1.25); +} + +if (!defined('K_TITLE_MAGNIFICATION')) { + define('K_TITLE_MAGNIFICATION', 1.3); +} + +if (!defined('K_SMALL_RATIO')) { + define('K_SMALL_RATIO', 2/3); +} + +if (!defined('K_THAI_TOPCHARS')) { + define('K_THAI_TOPCHARS', true); +} + +if (!defined('K_TCPDF_CALLS_IN_HTML')) { + define('K_TCPDF_CALLS_IN_HTML', false); +} + +if (!defined('K_ALLOWED_TCPDF_TAGS')) { + define('K_ALLOWED_TCPDF_TAGS', ''); +} + +if (!defined('K_TCPDF_THROW_EXCEPTION_ERROR')) { + define('K_TCPDF_THROW_EXCEPTION_ERROR', false); +} + +if (!defined('K_TIMEZONE')) { + define('K_TIMEZONE', @date_default_timezone_get()); +} + +// Custom cURL options for curl_setopt_array. +if (!defined('K_CURLOPTS')) { + define('K_CURLOPTS', array()); +} + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/tcpdf_barcodes_1d.php b/vendor/tecnickcom/tcpdf/tcpdf_barcodes_1d.php new file mode 100644 index 0000000..45d3561 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tcpdf_barcodes_1d.php @@ -0,0 +1,2356 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : PHP class to creates array representations for +// common 1D barcodes to be used with TCPDF. +// +//============================================================+ + +/** + * @file + * PHP class to creates array representations for common 1D barcodes to be used with TCPDF. + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.027 + */ + +/** + * @class TCPDFBarcode + * PHP class to creates array representations for common 1D barcodes to be used with TCPDF (http://www.tcpdf.org).
    + * @package com.tecnick.tcpdf + * @version 1.0.027 + * @author Nicola Asuni + */ +class TCPDFBarcode { + + /** + * Array representation of barcode. + * @protected + */ + protected $barcode_array = array(); + + /** + * This is the class constructor. + * Return an array representations for common 1D barcodes:
      + *
    • $arrcode['code'] code to be printed on text label
    • + *
    • $arrcode['maxh'] max barcode height
    • + *
    • $arrcode['maxw'] max barcode width
    • + *
    • $arrcode['bcode'][$k] single bar or space in $k position
    • + *
    • $arrcode['bcode'][$k]['t'] bar type: true = bar, false = space.
    • + *
    • $arrcode['bcode'][$k]['w'] bar width in units.
    • + *
    • $arrcode['bcode'][$k]['h'] bar height in units.
    • + *
    • $arrcode['bcode'][$k]['p'] bar top position (0 = top, 1 = middle)
    + * @param string $code code to print + * @param string $type type of barcode:
    • C39 : CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
    • C39+ : CODE 39 with checksum
    • C39E : CODE 39 EXTENDED
    • C39E+ : CODE 39 EXTENDED + CHECKSUM
    • C93 : CODE 93 - USS-93
    • S25 : Standard 2 of 5
    • S25+ : Standard 2 of 5 + CHECKSUM
    • I25 : Interleaved 2 of 5
    • I25+ : Interleaved 2 of 5 + CHECKSUM
    • C128 : CODE 128
    • C128A : CODE 128 A
    • C128B : CODE 128 B
    • C128C : CODE 128 C
    • EAN2 : 2-Digits UPC-Based Extension
    • EAN5 : 5-Digits UPC-Based Extension
    • EAN8 : EAN 8
    • EAN13 : EAN 13
    • UPCA : UPC-A
    • UPCE : UPC-E
    • MSI : MSI (Variation of Plessey code)
    • MSI+ : MSI + CHECKSUM (modulo 11)
    • POSTNET : POSTNET
    • PLANET : PLANET
    • RMS4CC : RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code)
    • KIX : KIX (Klant index - Customer index)
    • IMB: Intelligent Mail Barcode - Onecode - USPS-B-3200
    • CODABAR : CODABAR
    • CODE11 : CODE 11
    • PHARMA : PHARMACODE
    • PHARMA2T : PHARMACODE TWO-TRACKS
    + * @public + */ + public function __construct($code, $type) { + $this->setBarcode($code, $type); + } + + /** + * Return an array representations of barcode. + * @return array + * @public + */ + public function getBarcodeArray() { + return $this->barcode_array; + } + + /** + * Send barcode as SVG image object to the standard output. + * @param int $w Minimum width of a single bar in user units. + * @param int $h Height of barcode in user units. + * @param string $color Foreground color (in SVG format) for bar elements (background is transparent). + * @public + */ + public function getBarcodeSVG($w=2, $h=30, $color='black') { + // send headers + $code = $this->getBarcodeSVGcode($w, $h, $color); + header('Content-Type: application/svg+xml'); + header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + header('Content-Disposition: inline; filename="'.md5($code).'.svg";'); + //header('Content-Length: '.strlen($code)); + echo $code; + } + + /** + * Return a SVG string representation of barcode. + * @param int $w Minimum width of a single bar in user units. + * @param int $h Height of barcode in user units. + * @param string $color Foreground color (in SVG format) for bar elements (background is transparent). + * @return string SVG code. + * @public + */ + public function getBarcodeSVGcode($w=2, $h=30, $color='black') { + // replace table for special characters + $repstr = array("\0" => '', '&' => '&', '<' => '<', '>' => '>'); + $svg = '<'.'?'.'xml version="1.0" standalone="no"'.'?'.'>'."\n"; + $svg .= ''."\n"; + $svg .= ''."\n"; + $svg .= "\t".''.strtr($this->barcode_array['code'], $repstr).''."\n"; + $svg .= "\t".''."\n"; + // print bars + $x = 0; + foreach ($this->barcode_array['bcode'] as $k => $v) { + $bw = round(($v['w'] * $w), 3); + $bh = round(($v['h'] * $h / $this->barcode_array['maxh']), 3); + if ($v['t']) { + $y = round(($v['p'] * $h / $this->barcode_array['maxh']), 3); + // draw a vertical bar + $svg .= "\t\t".''."\n"; + } + $x += $bw; + } + $svg .= "\t".''."\n"; + $svg .= ''."\n"; + return $svg; + } + + /** + * Return an HTML representation of barcode. + * @param int $w Width of a single bar element in pixels. + * @param int $h Height of a single bar element in pixels. + * @param string $color Foreground color for bar elements (background is transparent). + * @return string HTML code. + * @public + */ + public function getBarcodeHTML($w=2, $h=30, $color='black') { + $html = '
    '."\n"; + // print bars + $x = 0; + foreach ($this->barcode_array['bcode'] as $k => $v) { + $bw = round(($v['w'] * $w), 3); + $bh = round(($v['h'] * $h / $this->barcode_array['maxh']), 3); + if ($v['t']) { + $y = round(($v['p'] * $h / $this->barcode_array['maxh']), 3); + // draw a vertical bar + $html .= '
     
    '."\n"; + } + $x += $bw; + } + $html .= '
    '."\n"; + return $html; + } + + /** + * Send a PNG image representation of barcode (requires GD or Imagick library). + * @param int $w Width of a single bar element in pixels. + * @param int $h Height of a single bar element in pixels. + * @param array $color RGB (0-255) foreground color for bar elements (background is transparent). + * @public + */ + public function getBarcodePNG($w=2, $h=30, $color=array(0,0,0)) { + $data = $this->getBarcodePngData($w, $h, $color); + // send headers + header('Content-Type: image/png'); + header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + //header('Content-Length: '.strlen($data)); + echo $data; + } + + /** + * Return a PNG image representation of barcode (requires GD or Imagick library). + * @param int $w Width of a single bar element in pixels. + * @param int $h Height of a single bar element in pixels. + * @param array $color RGB (0-255) foreground color for bar elements (background is transparent). + * @return string|Imagick|false image or false in case of error. + * @public + */ + public function getBarcodePngData($w=2, $h=30, $color=array(0,0,0)) { + // calculate image size + $width = ($this->barcode_array['maxw'] * $w); + $height = $h; + if (function_exists('imagecreate')) { + // GD library + $imagick = false; + $png = imagecreate($width, $height); + $bgcol = imagecolorallocate($png, 255, 255, 255); + imagecolortransparent($png, $bgcol); + $fgcol = imagecolorallocate($png, $color[0], $color[1], $color[2]); + } elseif (extension_loaded('imagick')) { + $imagick = true; + $bgcol = new imagickpixel('rgb(255,255,255'); + $fgcol = new imagickpixel('rgb('.$color[0].','.$color[1].','.$color[2].')'); + $png = new Imagick(); + $png->newImage($width, $height, 'none', 'png'); + $bar = new imagickdraw(); + $bar->setfillcolor($fgcol); + } else { + return false; + } + // print bars + $x = 0; + foreach ($this->barcode_array['bcode'] as $k => $v) { + $bw = round(($v['w'] * $w), 3); + $bh = round(($v['h'] * $h / $this->barcode_array['maxh']), 3); + if ($v['t']) { + $y = round(($v['p'] * $h / $this->barcode_array['maxh']), 3); + // draw a vertical bar + if ($imagick) { + $bar->rectangle($x, $y, ($x + $bw - 1), ($y + $bh - 1)); + } else { + imagefilledrectangle($png, $x, $y, ($x + $bw - 1), ($y + $bh - 1), $fgcol); + } + } + $x += $bw; + } + if ($imagick) { + $png->drawimage($bar); + return $png; + } else { + ob_start(); + imagepng($png); + $imagedata = ob_get_clean(); + imagedestroy($png); + return $imagedata; + } + } + + /** + * Set the barcode. + * @param string $code code to print + * @param string $type type of barcode:
    • C39 : CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
    • C39+ : CODE 39 with checksum
    • C39E : CODE 39 EXTENDED
    • C39E+ : CODE 39 EXTENDED + CHECKSUM
    • C93 : CODE 93 - USS-93
    • S25 : Standard 2 of 5
    • S25+ : Standard 2 of 5 + CHECKSUM
    • I25 : Interleaved 2 of 5
    • I25+ : Interleaved 2 of 5 + CHECKSUM
    • C128 : CODE 128
    • C128A : CODE 128 A
    • C128B : CODE 128 B
    • C128C : CODE 128 C
    • EAN2 : 2-Digits UPC-Based Extension
    • EAN5 : 5-Digits UPC-Based Extension
    • EAN8 : EAN 8
    • EAN13 : EAN 13
    • UPCA : UPC-A
    • UPCE : UPC-E
    • MSI : MSI (Variation of Plessey code)
    • MSI+ : MSI + CHECKSUM (modulo 11)
    • POSTNET : POSTNET
    • PLANET : PLANET
    • RMS4CC : RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code)
    • KIX : KIX (Klant index - Customer index)
    • IMB: Intelligent Mail Barcode - Onecode - USPS-B-3200
    • IMBPRE: Pre-processed Intelligent Mail Barcode - Onecode - USPS-B-3200, using only F,A,D,T letters
    • CODABAR : CODABAR
    • CODE11 : CODE 11
    • PHARMA : PHARMACODE
    • PHARMA2T : PHARMACODE TWO-TRACKS
    + * @return void + * @public + */ + public function setBarcode($code, $type) { + switch (strtoupper($type)) { + case 'C39': { // CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. + $arrcode = $this->barcode_code39($code, false, false); + break; + } + case 'C39+': { // CODE 39 with checksum + $arrcode = $this->barcode_code39($code, false, true); + break; + } + case 'C39E': { // CODE 39 EXTENDED + $arrcode = $this->barcode_code39($code, true, false); + break; + } + case 'C39E+': { // CODE 39 EXTENDED + CHECKSUM + $arrcode = $this->barcode_code39($code, true, true); + break; + } + case 'C93': { // CODE 93 - USS-93 + $arrcode = $this->barcode_code93($code); + break; + } + case 'S25': { // Standard 2 of 5 + $arrcode = $this->barcode_s25($code, false); + break; + } + case 'S25+': { // Standard 2 of 5 + CHECKSUM + $arrcode = $this->barcode_s25($code, true); + break; + } + case 'I25': { // Interleaved 2 of 5 + $arrcode = $this->barcode_i25($code, false); + break; + } + case 'I25+': { // Interleaved 2 of 5 + CHECKSUM + $arrcode = $this->barcode_i25($code, true); + break; + } + case 'C128': { // CODE 128 + $arrcode = $this->barcode_c128($code, ''); + break; + } + case 'C128A': { // CODE 128 A + $arrcode = $this->barcode_c128($code, 'A'); + break; + } + case 'C128B': { // CODE 128 B + $arrcode = $this->barcode_c128($code, 'B'); + break; + } + case 'C128C': { // CODE 128 C + $arrcode = $this->barcode_c128($code, 'C'); + break; + } + case 'EAN2': { // 2-Digits UPC-Based Extension + $arrcode = $this->barcode_eanext($code, 2); + break; + } + case 'EAN5': { // 5-Digits UPC-Based Extension + $arrcode = $this->barcode_eanext($code, 5); + break; + } + case 'EAN8': { // EAN 8 + $arrcode = $this->barcode_eanupc($code, 8); + break; + } + case 'EAN13': { // EAN 13 + $arrcode = $this->barcode_eanupc($code, 13); + break; + } + case 'UPCA': { // UPC-A + $arrcode = $this->barcode_eanupc($code, 12); + break; + } + case 'UPCE': { // UPC-E + $arrcode = $this->barcode_eanupc($code, 6); + break; + } + case 'MSI': { // MSI (Variation of Plessey code) + $arrcode = $this->barcode_msi($code, false); + break; + } + case 'MSI+': { // MSI + CHECKSUM (modulo 11) + $arrcode = $this->barcode_msi($code, true); + break; + } + case 'POSTNET': { // POSTNET + $arrcode = $this->barcode_postnet($code, false); + break; + } + case 'PLANET': { // PLANET + $arrcode = $this->barcode_postnet($code, true); + break; + } + case 'RMS4CC': { // RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) + $arrcode = $this->barcode_rms4cc($code, false); + break; + } + case 'KIX': { // KIX (Klant index - Customer index) + $arrcode = $this->barcode_rms4cc($code, true); + break; + } + case 'IMB': { // IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 + $arrcode = $this->barcode_imb($code); + break; + } + case 'IMBPRE': { // IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200- pre-processed + $arrcode = $this->barcode_imb_pre($code); + break; + } + case 'CODABAR': { // CODABAR + $arrcode = $this->barcode_codabar($code); + break; + } + case 'CODE11': { // CODE 11 + $arrcode = $this->barcode_code11($code); + break; + } + case 'PHARMA': { // PHARMACODE + $arrcode = $this->barcode_pharmacode($code); + break; + } + case 'PHARMA2T': { // PHARMACODE TWO-TRACKS + $arrcode = $this->barcode_pharmacode2t($code); + break; + } + default: { + $this->barcode_array = array(); + $arrcode = false; + break; + } + } + $this->barcode_array = $arrcode; + } + + /** + * CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9. + * General-purpose code in very wide use world-wide + * @param string $code code to represent. + * @param boolean $extended if true uses the extended mode. + * @param boolean $checksum if true add a checksum to the code. + * @return array barcode representation. + * @protected + */ + protected function barcode_code39($code, $extended=false, $checksum=false) { + $chr['0'] = '111331311'; + $chr['1'] = '311311113'; + $chr['2'] = '113311113'; + $chr['3'] = '313311111'; + $chr['4'] = '111331113'; + $chr['5'] = '311331111'; + $chr['6'] = '113331111'; + $chr['7'] = '111311313'; + $chr['8'] = '311311311'; + $chr['9'] = '113311311'; + $chr['A'] = '311113113'; + $chr['B'] = '113113113'; + $chr['C'] = '313113111'; + $chr['D'] = '111133113'; + $chr['E'] = '311133111'; + $chr['F'] = '113133111'; + $chr['G'] = '111113313'; + $chr['H'] = '311113311'; + $chr['I'] = '113113311'; + $chr['J'] = '111133311'; + $chr['K'] = '311111133'; + $chr['L'] = '113111133'; + $chr['M'] = '313111131'; + $chr['N'] = '111131133'; + $chr['O'] = '311131131'; + $chr['P'] = '113131131'; + $chr['Q'] = '111111333'; + $chr['R'] = '311111331'; + $chr['S'] = '113111331'; + $chr['T'] = '111131331'; + $chr['U'] = '331111113'; + $chr['V'] = '133111113'; + $chr['W'] = '333111111'; + $chr['X'] = '131131113'; + $chr['Y'] = '331131111'; + $chr['Z'] = '133131111'; + $chr['-'] = '131111313'; + $chr['.'] = '331111311'; + $chr[' '] = '133111311'; + $chr['$'] = '131313111'; + $chr['/'] = '131311131'; + $chr['+'] = '131113131'; + $chr['%'] = '111313131'; + $chr['*'] = '131131311'; + $code = strtoupper($code); + if ($extended) { + // extended mode + $code = $this->encode_code39_ext($code); + } + if ($code === false) { + return false; + } + if ($checksum) { + // checksum + $code .= $this->checksum_code39($code); + } + // add start and stop codes + $code = '*'.$code.'*'; + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $k = 0; + $clen = strlen($code); + for ($i = 0; $i < $clen; ++$i) { + $char = $code[$i]; + if(!isset($chr[$char])) { + // invalid character + return false; + } + for ($j = 0; $j < 9; ++$j) { + if (($j % 2) == 0) { + $t = true; // bar + } else { + $t = false; // space + } + $w = $chr[$char][$j]; + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + } + // intercharacter gap + $bararray['bcode'][$k] = array('t' => false, 'w' => 1, 'h' => 1, 'p' => 0); + $bararray['maxw'] += 1; + ++$k; + } + return $bararray; + } + + /** + * Encode a string to be used for CODE 39 Extended mode. + * @param string $code code to represent. + * @return string encoded string. + * @protected + */ + protected function encode_code39_ext($code) { + $encode = array( + chr(0) => '%U', chr(1) => '$A', chr(2) => '$B', chr(3) => '$C', + chr(4) => '$D', chr(5) => '$E', chr(6) => '$F', chr(7) => '$G', + chr(8) => '$H', chr(9) => '$I', chr(10) => '$J', chr(11) => '£K', + chr(12) => '$L', chr(13) => '$M', chr(14) => '$N', chr(15) => '$O', + chr(16) => '$P', chr(17) => '$Q', chr(18) => '$R', chr(19) => '$S', + chr(20) => '$T', chr(21) => '$U', chr(22) => '$V', chr(23) => '$W', + chr(24) => '$X', chr(25) => '$Y', chr(26) => '$Z', chr(27) => '%A', + chr(28) => '%B', chr(29) => '%C', chr(30) => '%D', chr(31) => '%E', + chr(32) => ' ', chr(33) => '/A', chr(34) => '/B', chr(35) => '/C', + chr(36) => '/D', chr(37) => '/E', chr(38) => '/F', chr(39) => '/G', + chr(40) => '/H', chr(41) => '/I', chr(42) => '/J', chr(43) => '/K', + chr(44) => '/L', chr(45) => '-', chr(46) => '.', chr(47) => '/O', + chr(48) => '0', chr(49) => '1', chr(50) => '2', chr(51) => '3', + chr(52) => '4', chr(53) => '5', chr(54) => '6', chr(55) => '7', + chr(56) => '8', chr(57) => '9', chr(58) => '/Z', chr(59) => '%F', + chr(60) => '%G', chr(61) => '%H', chr(62) => '%I', chr(63) => '%J', + chr(64) => '%V', chr(65) => 'A', chr(66) => 'B', chr(67) => 'C', + chr(68) => 'D', chr(69) => 'E', chr(70) => 'F', chr(71) => 'G', + chr(72) => 'H', chr(73) => 'I', chr(74) => 'J', chr(75) => 'K', + chr(76) => 'L', chr(77) => 'M', chr(78) => 'N', chr(79) => 'O', + chr(80) => 'P', chr(81) => 'Q', chr(82) => 'R', chr(83) => 'S', + chr(84) => 'T', chr(85) => 'U', chr(86) => 'V', chr(87) => 'W', + chr(88) => 'X', chr(89) => 'Y', chr(90) => 'Z', chr(91) => '%K', + chr(92) => '%L', chr(93) => '%M', chr(94) => '%N', chr(95) => '%O', + chr(96) => '%W', chr(97) => '+A', chr(98) => '+B', chr(99) => '+C', + chr(100) => '+D', chr(101) => '+E', chr(102) => '+F', chr(103) => '+G', + chr(104) => '+H', chr(105) => '+I', chr(106) => '+J', chr(107) => '+K', + chr(108) => '+L', chr(109) => '+M', chr(110) => '+N', chr(111) => '+O', + chr(112) => '+P', chr(113) => '+Q', chr(114) => '+R', chr(115) => '+S', + chr(116) => '+T', chr(117) => '+U', chr(118) => '+V', chr(119) => '+W', + chr(120) => '+X', chr(121) => '+Y', chr(122) => '+Z', chr(123) => '%P', + chr(124) => '%Q', chr(125) => '%R', chr(126) => '%S', chr(127) => '%T'); + $code_ext = ''; + $clen = strlen($code); + for ($i = 0 ; $i < $clen; ++$i) { + if (ord($code[$i]) > 127) { + return false; + } + $code_ext .= $encode[$code[$i]]; + } + return $code_ext; + } + + /** + * Calculate CODE 39 checksum (modulo 43). + * @param string $code code to represent. + * @return string char checksum. + * @protected + */ + protected function checksum_code39($code) { + $chars = array( + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', + 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', '-', '.', ' ', '$', '/', '+', '%'); + $sum = 0; + $clen = strlen($code); + for ($i = 0 ; $i < $clen; ++$i) { + $k = array_keys($chars, $code[$i]); + $sum += $k[0]; + } + $j = ($sum % 43); + return $chars[$j]; + } + + /** + * CODE 93 - USS-93 + * Compact code similar to Code 39 + * @param string $code code to represent. + * @return array barcode representation. + * @protected + */ + protected function barcode_code93($code) { + $chr[48] = '131112'; // 0 + $chr[49] = '111213'; // 1 + $chr[50] = '111312'; // 2 + $chr[51] = '111411'; // 3 + $chr[52] = '121113'; // 4 + $chr[53] = '121212'; // 5 + $chr[54] = '121311'; // 6 + $chr[55] = '111114'; // 7 + $chr[56] = '131211'; // 8 + $chr[57] = '141111'; // 9 + $chr[65] = '211113'; // A + $chr[66] = '211212'; // B + $chr[67] = '211311'; // C + $chr[68] = '221112'; // D + $chr[69] = '221211'; // E + $chr[70] = '231111'; // F + $chr[71] = '112113'; // G + $chr[72] = '112212'; // H + $chr[73] = '112311'; // I + $chr[74] = '122112'; // J + $chr[75] = '132111'; // K + $chr[76] = '111123'; // L + $chr[77] = '111222'; // M + $chr[78] = '111321'; // N + $chr[79] = '121122'; // O + $chr[80] = '131121'; // P + $chr[81] = '212112'; // Q + $chr[82] = '212211'; // R + $chr[83] = '211122'; // S + $chr[84] = '211221'; // T + $chr[85] = '221121'; // U + $chr[86] = '222111'; // V + $chr[87] = '112122'; // W + $chr[88] = '112221'; // X + $chr[89] = '122121'; // Y + $chr[90] = '123111'; // Z + $chr[45] = '121131'; // - + $chr[46] = '311112'; // . + $chr[32] = '311211'; // + $chr[36] = '321111'; // $ + $chr[47] = '112131'; // / + $chr[43] = '113121'; // + + $chr[37] = '211131'; // % + $chr[128] = '121221'; // ($) + $chr[129] = '311121'; // (/) + $chr[130] = '122211'; // (+) + $chr[131] = '312111'; // (%) + $chr[42] = '111141'; // start-stop + $code = strtoupper($code); + $encode = array( + chr(0) => chr(131).'U', chr(1) => chr(128).'A', chr(2) => chr(128).'B', chr(3) => chr(128).'C', + chr(4) => chr(128).'D', chr(5) => chr(128).'E', chr(6) => chr(128).'F', chr(7) => chr(128).'G', + chr(8) => chr(128).'H', chr(9) => chr(128).'I', chr(10) => chr(128).'J', chr(11) => '£K', + chr(12) => chr(128).'L', chr(13) => chr(128).'M', chr(14) => chr(128).'N', chr(15) => chr(128).'O', + chr(16) => chr(128).'P', chr(17) => chr(128).'Q', chr(18) => chr(128).'R', chr(19) => chr(128).'S', + chr(20) => chr(128).'T', chr(21) => chr(128).'U', chr(22) => chr(128).'V', chr(23) => chr(128).'W', + chr(24) => chr(128).'X', chr(25) => chr(128).'Y', chr(26) => chr(128).'Z', chr(27) => chr(131).'A', + chr(28) => chr(131).'B', chr(29) => chr(131).'C', chr(30) => chr(131).'D', chr(31) => chr(131).'E', + chr(32) => ' ', chr(33) => chr(129).'A', chr(34) => chr(129).'B', chr(35) => chr(129).'C', + chr(36) => chr(129).'D', chr(37) => chr(129).'E', chr(38) => chr(129).'F', chr(39) => chr(129).'G', + chr(40) => chr(129).'H', chr(41) => chr(129).'I', chr(42) => chr(129).'J', chr(43) => chr(129).'K', + chr(44) => chr(129).'L', chr(45) => '-', chr(46) => '.', chr(47) => chr(129).'O', + chr(48) => '0', chr(49) => '1', chr(50) => '2', chr(51) => '3', + chr(52) => '4', chr(53) => '5', chr(54) => '6', chr(55) => '7', + chr(56) => '8', chr(57) => '9', chr(58) => chr(129).'Z', chr(59) => chr(131).'F', + chr(60) => chr(131).'G', chr(61) => chr(131).'H', chr(62) => chr(131).'I', chr(63) => chr(131).'J', + chr(64) => chr(131).'V', chr(65) => 'A', chr(66) => 'B', chr(67) => 'C', + chr(68) => 'D', chr(69) => 'E', chr(70) => 'F', chr(71) => 'G', + chr(72) => 'H', chr(73) => 'I', chr(74) => 'J', chr(75) => 'K', + chr(76) => 'L', chr(77) => 'M', chr(78) => 'N', chr(79) => 'O', + chr(80) => 'P', chr(81) => 'Q', chr(82) => 'R', chr(83) => 'S', + chr(84) => 'T', chr(85) => 'U', chr(86) => 'V', chr(87) => 'W', + chr(88) => 'X', chr(89) => 'Y', chr(90) => 'Z', chr(91) => chr(131).'K', + chr(92) => chr(131).'L', chr(93) => chr(131).'M', chr(94) => chr(131).'N', chr(95) => chr(131).'O', + chr(96) => chr(131).'W', chr(97) => chr(130).'A', chr(98) => chr(130).'B', chr(99) => chr(130).'C', + chr(100) => chr(130).'D', chr(101) => chr(130).'E', chr(102) => chr(130).'F', chr(103) => chr(130).'G', + chr(104) => chr(130).'H', chr(105) => chr(130).'I', chr(106) => chr(130).'J', chr(107) => chr(130).'K', + chr(108) => chr(130).'L', chr(109) => chr(130).'M', chr(110) => chr(130).'N', chr(111) => chr(130).'O', + chr(112) => chr(130).'P', chr(113) => chr(130).'Q', chr(114) => chr(130).'R', chr(115) => chr(130).'S', + chr(116) => chr(130).'T', chr(117) => chr(130).'U', chr(118) => chr(130).'V', chr(119) => chr(130).'W', + chr(120) => chr(130).'X', chr(121) => chr(130).'Y', chr(122) => chr(130).'Z', chr(123) => chr(131).'P', + chr(124) => chr(131).'Q', chr(125) => chr(131).'R', chr(126) => chr(131).'S', chr(127) => chr(131).'T'); + $code_ext = ''; + $clen = strlen($code); + for ($i = 0 ; $i < $clen; ++$i) { + if (ord($code[$i]) > 127) { + return false; + } + $code_ext .= $encode[$code[$i]]; + } + // checksum + $code_ext .= $this->checksum_code93($code_ext); + // add start and stop codes + $code = '*'.$code_ext.'*'; + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $k = 0; + $clen = strlen($code); + for ($i = 0; $i < $clen; ++$i) { + $char = ord($code[$i]); + if(!isset($chr[$char])) { + // invalid character + return false; + } + for ($j = 0; $j < 6; ++$j) { + if (($j % 2) == 0) { + $t = true; // bar + } else { + $t = false; // space + } + $w = $chr[$char][$j]; + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + } + } + $bararray['bcode'][$k] = array('t' => true, 'w' => 1, 'h' => 1, 'p' => 0); + $bararray['maxw'] += 1; + ++$k; + return $bararray; + } + + /** + * Calculate CODE 93 checksum (modulo 47). + * @param string $code code to represent. + * @return string checksum code. + * @protected + */ + protected function checksum_code93($code) { + $chars = array( + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', + 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', '-', '.', ' ', '$', '/', '+', '%', + '<', '=', '>', '?'); + // translate special characters + $code = strtr($code, chr(128).chr(131).chr(129).chr(130), '<=>?'); + $len = strlen($code); + // calculate check digit C + $p = 1; + $check = 0; + for ($i = ($len - 1); $i >= 0; --$i) { + $k = array_keys($chars, $code[$i]); + $check += ($k[0] * $p); + ++$p; + if ($p > 20) { + $p = 1; + } + } + $check %= 47; + $c = $chars[$check]; + $code .= $c; + // calculate check digit K + $p = 1; + $check = 0; + for ($i = $len; $i >= 0; --$i) { + $k = array_keys($chars, $code[$i]); + $check += ($k[0] * $p); + ++$p; + if ($p > 15) { + $p = 1; + } + } + $check %= 47; + $k = $chars[$check]; + $checksum = $c.$k; + // resto respecial characters + $checksum = strtr($checksum, '<=>?', chr(128).chr(131).chr(129).chr(130)); + return $checksum; + } + + /** + * Checksum for standard 2 of 5 barcodes. + * @param string $code code to process. + * @return int checksum. + * @protected + */ + protected function checksum_s25($code) { + $len = strlen($code); + $sum = 0; + for ($i = 0; $i < $len; $i+=2) { + $sum += $code[$i]; + } + $sum *= 3; + for ($i = 1; $i < $len; $i+=2) { + $sum += ($code[$i]); + } + $r = $sum % 10; + if($r > 0) { + $r = (10 - $r); + } + return $r; + } + + /** + * MSI. + * Variation of Plessey code, with similar applications + * Contains digits (0 to 9) and encodes the data only in the width of bars. + * @param string $code code to represent. + * @param boolean $checksum if true add a checksum to the code (modulo 11) + * @return array barcode representation. + * @protected + */ + protected function barcode_msi($code, $checksum=false) { + $chr['0'] = '100100100100'; + $chr['1'] = '100100100110'; + $chr['2'] = '100100110100'; + $chr['3'] = '100100110110'; + $chr['4'] = '100110100100'; + $chr['5'] = '100110100110'; + $chr['6'] = '100110110100'; + $chr['7'] = '100110110110'; + $chr['8'] = '110100100100'; + $chr['9'] = '110100100110'; + $chr['A'] = '110100110100'; + $chr['B'] = '110100110110'; + $chr['C'] = '110110100100'; + $chr['D'] = '110110100110'; + $chr['E'] = '110110110100'; + $chr['F'] = '110110110110'; + if ($checksum) { + // add checksum + $clen = strlen($code); + $p = 2; + $check = 0; + for ($i = ($clen - 1); $i >= 0; --$i) { + $check += (hexdec($code[$i]) * $p); + ++$p; + if ($p > 7) { + $p = 2; + } + } + $check %= 11; + if ($check > 0) { + $check = 11 - $check; + } + $code .= $check; + } + $seq = '110'; // left guard + $clen = strlen($code); + for ($i = 0; $i < $clen; ++$i) { + $digit = $code[$i]; + if (!isset($chr[$digit])) { + // invalid character + return false; + } + $seq .= $chr[$digit]; + } + $seq .= '1001'; // right guard + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + return $this->binseq_to_array($seq, $bararray); + } + + /** + * Standard 2 of 5 barcodes. + * Used in airline ticket marking, photofinishing + * Contains digits (0 to 9) and encodes the data only in the width of bars. + * @param string $code code to represent. + * @param boolean $checksum if true add a checksum to the code + * @return array barcode representation. + * @protected + */ + protected function barcode_s25($code, $checksum=false) { + $chr['0'] = '10101110111010'; + $chr['1'] = '11101010101110'; + $chr['2'] = '10111010101110'; + $chr['3'] = '11101110101010'; + $chr['4'] = '10101110101110'; + $chr['5'] = '11101011101010'; + $chr['6'] = '10111011101010'; + $chr['7'] = '10101011101110'; + $chr['8'] = '11101010111010'; + $chr['9'] = '10111010111010'; + if ($checksum) { + // add checksum + $code .= $this->checksum_s25($code); + } + if((strlen($code) % 2) != 0) { + // add leading zero if code-length is odd + $code = '0'.$code; + } + $seq = '1110111010'; + $clen = strlen($code); + for ($i = 0; $i < $clen; ++$i) { + $digit = $code[$i]; + if (!isset($chr[$digit])) { + // invalid character + return false; + } + $seq .= $chr[$digit]; + } + $seq .= '111010111'; + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + return $this->binseq_to_array($seq, $bararray); + } + + /** + * Convert binary barcode sequence to WarnockPDF barcode array. + * @param string $seq barcode as binary sequence. + * @param array $bararray barcode array to fill up + * @return array barcode representation. + * @protected + */ + protected function binseq_to_array($seq, $bararray) { + $len = strlen($seq); + $w = 0; + $k = 0; + for ($i = 0; $i < $len; ++$i) { + $w += 1; + if (($i == ($len - 1)) OR (($i < ($len - 1)) AND ($seq[$i] != $seq[($i+1)]))) { + if ($seq[$i] == '1') { + $t = true; // bar + } else { + $t = false; // space + } + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + $w = 0; + } + } + return $bararray; + } + + /** + * Interleaved 2 of 5 barcodes. + * Compact numeric code, widely used in industry, air cargo + * Contains digits (0 to 9) and encodes the data in the width of both bars and spaces. + * @param string $code code to represent. + * @param boolean $checksum if true add a checksum to the code + * @return array barcode representation. + * @protected + */ + protected function barcode_i25($code, $checksum=false) { + $chr['0'] = '11221'; + $chr['1'] = '21112'; + $chr['2'] = '12112'; + $chr['3'] = '22111'; + $chr['4'] = '11212'; + $chr['5'] = '21211'; + $chr['6'] = '12211'; + $chr['7'] = '11122'; + $chr['8'] = '21121'; + $chr['9'] = '12121'; + $chr['A'] = '11'; + $chr['Z'] = '21'; + if ($checksum) { + // add checksum + $code .= $this->checksum_s25($code); + } + if((strlen($code) % 2) != 0) { + // add leading zero if code-length is odd + $code = '0'.$code; + } + // add start and stop codes + $code = 'AA'.strtolower($code).'ZA'; + + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $k = 0; + $clen = strlen($code); + for ($i = 0; $i < $clen; $i = ($i + 2)) { + $char_bar = $code[$i]; + $char_space = $code[$i+1]; + if((!isset($chr[$char_bar])) OR (!isset($chr[$char_space]))) { + // invalid character + return false; + } + // create a bar-space sequence + $seq = ''; + $chrlen = strlen($chr[$char_bar]); + for ($s = 0; $s < $chrlen; $s++){ + $seq .= $chr[$char_bar][$s] . $chr[$char_space][$s]; + } + $seqlen = strlen($seq); + for ($j = 0; $j < $seqlen; ++$j) { + if (($j % 2) == 0) { + $t = true; // bar + } else { + $t = false; // space + } + $w = (float)$seq[$j]; + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + } + } + return $bararray; + } + + /** + * C128 barcodes. + * Very capable code, excellent density, high reliability; in very wide use world-wide + * @param string $code code to represent. + * @param string $type barcode type: A, B, C or empty for automatic switch (AUTO mode) + * @return array barcode representation. + * @protected + */ + protected function barcode_c128($code, $type='') { + $chr = array( + '212222', /* 00 */ + '222122', /* 01 */ + '222221', /* 02 */ + '121223', /* 03 */ + '121322', /* 04 */ + '131222', /* 05 */ + '122213', /* 06 */ + '122312', /* 07 */ + '132212', /* 08 */ + '221213', /* 09 */ + '221312', /* 10 */ + '231212', /* 11 */ + '112232', /* 12 */ + '122132', /* 13 */ + '122231', /* 14 */ + '113222', /* 15 */ + '123122', /* 16 */ + '123221', /* 17 */ + '223211', /* 18 */ + '221132', /* 19 */ + '221231', /* 20 */ + '213212', /* 21 */ + '223112', /* 22 */ + '312131', /* 23 */ + '311222', /* 24 */ + '321122', /* 25 */ + '321221', /* 26 */ + '312212', /* 27 */ + '322112', /* 28 */ + '322211', /* 29 */ + '212123', /* 30 */ + '212321', /* 31 */ + '232121', /* 32 */ + '111323', /* 33 */ + '131123', /* 34 */ + '131321', /* 35 */ + '112313', /* 36 */ + '132113', /* 37 */ + '132311', /* 38 */ + '211313', /* 39 */ + '231113', /* 40 */ + '231311', /* 41 */ + '112133', /* 42 */ + '112331', /* 43 */ + '132131', /* 44 */ + '113123', /* 45 */ + '113321', /* 46 */ + '133121', /* 47 */ + '313121', /* 48 */ + '211331', /* 49 */ + '231131', /* 50 */ + '213113', /* 51 */ + '213311', /* 52 */ + '213131', /* 53 */ + '311123', /* 54 */ + '311321', /* 55 */ + '331121', /* 56 */ + '312113', /* 57 */ + '312311', /* 58 */ + '332111', /* 59 */ + '314111', /* 60 */ + '221411', /* 61 */ + '431111', /* 62 */ + '111224', /* 63 */ + '111422', /* 64 */ + '121124', /* 65 */ + '121421', /* 66 */ + '141122', /* 67 */ + '141221', /* 68 */ + '112214', /* 69 */ + '112412', /* 70 */ + '122114', /* 71 */ + '122411', /* 72 */ + '142112', /* 73 */ + '142211', /* 74 */ + '241211', /* 75 */ + '221114', /* 76 */ + '413111', /* 77 */ + '241112', /* 78 */ + '134111', /* 79 */ + '111242', /* 80 */ + '121142', /* 81 */ + '121241', /* 82 */ + '114212', /* 83 */ + '124112', /* 84 */ + '124211', /* 85 */ + '411212', /* 86 */ + '421112', /* 87 */ + '421211', /* 88 */ + '212141', /* 89 */ + '214121', /* 90 */ + '412121', /* 91 */ + '111143', /* 92 */ + '111341', /* 93 */ + '131141', /* 94 */ + '114113', /* 95 */ + '114311', /* 96 */ + '411113', /* 97 */ + '411311', /* 98 */ + '113141', /* 99 */ + '114131', /* 100 */ + '311141', /* 101 */ + '411131', /* 102 */ + '211412', /* 103 START A */ + '211214', /* 104 START B */ + '211232', /* 105 START C */ + '233111', /* STOP */ + '200000' /* END */ + ); + // ASCII characters for code A (ASCII 00 - 95) + $keys_a = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_'; + $keys_a .= chr(0).chr(1).chr(2).chr(3).chr(4).chr(5).chr(6).chr(7).chr(8).chr(9); + $keys_a .= chr(10).chr(11).chr(12).chr(13).chr(14).chr(15).chr(16).chr(17).chr(18).chr(19); + $keys_a .= chr(20).chr(21).chr(22).chr(23).chr(24).chr(25).chr(26).chr(27).chr(28).chr(29); + $keys_a .= chr(30).chr(31); + // ASCII characters for code B (ASCII 32 - 127) + $keys_b = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~'.chr(127); + // special codes + $fnc_a = array(241 => 102, 242 => 97, 243 => 96, 244 => 101); + $fnc_b = array(241 => 102, 242 => 97, 243 => 96, 244 => 100); + // array of symbols + $code_data = array(); + // length of the code + $len = strlen($code); + switch(strtoupper($type)) { + case 'A': { // MODE A + $startid = 103; + for ($i = 0; $i < $len; ++$i) { + $char = $code[$i]; + $char_id = ord($char); + if (($char_id >= 241) AND ($char_id <= 244)) { + $code_data[] = $fnc_a[$char_id]; + } elseif (($char_id >= 0) AND ($char_id <= 95)) { + $code_data[] = strpos($keys_a, $char); + } else { + return false; + } + } + break; + } + case 'B': { // MODE B + $startid = 104; + for ($i = 0; $i < $len; ++$i) { + $char = $code[$i]; + $char_id = ord($char); + if (($char_id >= 241) AND ($char_id <= 244)) { + $code_data[] = $fnc_b[$char_id]; + } elseif (($char_id >= 32) AND ($char_id <= 127)) { + $code_data[] = strpos($keys_b, $char); + } else { + return false; + } + } + break; + } + case 'C': { // MODE C + $startid = 105; + if (ord($code[0]) == 241) { + $code_data[] = 102; + $code = substr($code, 1); + --$len; + } + if (($len % 2) != 0) { + // the length must be even + return false; + } + for ($i = 0; $i < $len; $i+=2) { + $chrnum = $code[$i].$code[$i+1]; + if (preg_match('/([0-9]{2})/', $chrnum) > 0) { + $code_data[] = intval($chrnum); + } else { + return false; + } + } + break; + } + default: { // MODE AUTO + // split code into sequences + $sequence = array(); + // get numeric sequences (if any) + $numseq = array(); + preg_match_all('/([0-9]{4,})/', $code, $numseq, PREG_OFFSET_CAPTURE); + if (isset($numseq[1]) AND !empty($numseq[1])) { + $end_offset = 0; + foreach ($numseq[1] as $val) { + $offset = $val[1]; + if ($offset > $end_offset) { + // non numeric sequence + $sequence = array_merge($sequence, $this->get128ABsequence(substr($code, $end_offset, ($offset - $end_offset)))); + } + // numeric sequence + $slen = strlen($val[0]); + if (($slen % 2) != 0) { + // the length must be even + --$slen; + } + $sequence[] = array('C', substr($code, $offset, $slen), $slen); + $end_offset = $offset + $slen; + } + if ($end_offset < $len) { + $sequence = array_merge($sequence, $this->get128ABsequence(substr($code, $end_offset))); + } + } else { + // text code (non C mode) + $sequence = array_merge($sequence, $this->get128ABsequence($code)); + } + // process the sequence + foreach ($sequence as $key => $seq) { + switch($seq[0]) { + case 'A': { + if ($key == 0) { + $startid = 103; + } elseif ($sequence[($key - 1)][0] != 'A') { + if (($seq[2] == 1) AND ($key > 0) AND ($sequence[($key - 1)][0] == 'B') AND (!isset($sequence[($key - 1)][3]))) { + // single character shift + $code_data[] = 98; + // mark shift + $sequence[$key][3] = true; + } elseif (!isset($sequence[($key - 1)][3])) { + $code_data[] = 101; + } + } + for ($i = 0; $i < $seq[2]; ++$i) { + $char = $seq[1][$i]; + $char_id = ord($char); + if (($char_id >= 241) AND ($char_id <= 244)) { + $code_data[] = $fnc_a[$char_id]; + } else { + $code_data[] = strpos($keys_a, $char); + } + } + break; + } + case 'B': { + if ($key == 0) { + $tmpchr = ord($seq[1][0]); + if (($seq[2] == 1) AND ($tmpchr >= 241) AND ($tmpchr <= 244) AND isset($sequence[($key + 1)]) AND ($sequence[($key + 1)][0] != 'B')) { + switch ($sequence[($key + 1)][0]) { + case 'A': { + $startid = 103; + $sequence[$key][0] = 'A'; + $code_data[] = $fnc_a[$tmpchr]; + break; + } + case 'C': { + $startid = 105; + $sequence[$key][0] = 'C'; + $code_data[] = $fnc_a[$tmpchr]; + break; + } + } + break; + } else { + $startid = 104; + } + } elseif ($sequence[($key - 1)][0] != 'B') { + if (($seq[2] == 1) AND ($key > 0) AND ($sequence[($key - 1)][0] == 'A') AND (!isset($sequence[($key - 1)][3]))) { + // single character shift + $code_data[] = 98; + // mark shift + $sequence[$key][3] = true; + } elseif (!isset($sequence[($key - 1)][3])) { + $code_data[] = 100; + } + } + for ($i = 0; $i < $seq[2]; ++$i) { + $char = $seq[1][$i]; + $char_id = ord($char); + if (($char_id >= 241) AND ($char_id <= 244)) { + $code_data[] = $fnc_b[$char_id]; + } else { + $code_data[] = strpos($keys_b, $char); + } + } + break; + } + case 'C': { + if ($key == 0) { + $startid = 105; + } elseif ($sequence[($key - 1)][0] != 'C') { + $code_data[] = 99; + } + for ($i = 0; $i < $seq[2]; $i+=2) { + $chrnum = $seq[1][$i].$seq[1][$i+1]; + $code_data[] = intval($chrnum); + } + break; + } + } + } + } + } + // calculate check character + $sum = $startid; + foreach ($code_data as $key => $val) { + $sum += ($val * ($key + 1)); + } + // add check character + $code_data[] = ($sum % 103); + // add stop sequence + $code_data[] = 106; + $code_data[] = 107; + // add start code at the beginning + array_unshift($code_data, $startid); + // build barcode array + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + foreach ($code_data as $val) { + $seq = $chr[$val]; + for ($j = 0; $j < 6; ++$j) { + if (($j % 2) == 0) { + $t = true; // bar + } else { + $t = false; // space + } + $w = (float)$seq[$j]; + $bararray['bcode'][] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + } + } + return $bararray; + } + + /** + * Split text code in A/B sequence for 128 code + * @param string $code code to split. + * @return array sequence + * @protected + */ + protected function get128ABsequence($code) { + $len = strlen($code); + $sequence = array(); + // get A sequences (if any) + $numseq = array(); + preg_match_all('/([\0-\31])/', $code, $numseq, PREG_OFFSET_CAPTURE); + if (isset($numseq[1]) AND !empty($numseq[1])) { + $end_offset = 0; + foreach ($numseq[1] as $val) { + $offset = $val[1]; + if ($offset > $end_offset) { + // B sequence + $sequence[] = array('B', substr($code, $end_offset, ($offset - $end_offset)), ($offset - $end_offset)); + } + // A sequence + $slen = strlen($val[0]); + $sequence[] = array('A', substr($code, $offset, $slen), $slen); + $end_offset = $offset + $slen; + } + if ($end_offset < $len) { + $sequence[] = array('B', substr($code, $end_offset), ($len - $end_offset)); + } + } else { + // only B sequence + $sequence[] = array('B', $code, $len); + } + return $sequence; + } + + /** + * EAN13 and UPC-A barcodes. + * EAN13: European Article Numbering international retail product code + * UPC-A: Universal product code seen on almost all retail products in the USA and Canada + * UPC-E: Short version of UPC symbol + * @param string $code code to represent. + * @param string $len barcode type: 6 = UPC-E, 8 = EAN8, 13 = EAN13, 12 = UPC-A + * @return array barcode representation. + * @protected + */ + protected function barcode_eanupc($code, $len=13) { + $upce = false; + if ($len == 6) { + $len = 12; // UPC-A + $upce = true; // UPC-E mode + } + $data_len = $len - 1; + //Padding + $code = str_pad($code, $data_len, '0', STR_PAD_LEFT); + $code_len = strlen($code); + // calculate check digit + $sum_a = 0; + for ($i = 1; $i < $data_len; $i+=2) { + $sum_a += $code[$i]; + } + if ($len > 12) { + $sum_a *= 3; + } + $sum_b = 0; + for ($i = 0; $i < $data_len; $i+=2) { + $sum_b += ($code[$i]); + } + if ($len < 13) { + $sum_b *= 3; + } + $r = ($sum_a + $sum_b) % 10; + if($r > 0) { + $r = (10 - $r); + } + if ($code_len == $data_len) { + // add check digit + $code .= $r; + } elseif ($r !== intval($code[$data_len])) { + // wrong checkdigit + return false; + } + if ($len == 12) { + // UPC-A + $code = '0'.$code; + ++$len; + } + if ($upce) { + // convert UPC-A to UPC-E + $tmp = substr($code, 4, 3); + if (($tmp == '000') OR ($tmp == '100') OR ($tmp == '200')) { + // manufacturer code ends in 000, 100, or 200 + $upce_code = substr($code, 2, 2).substr($code, 9, 3).substr($code, 4, 1); + } else { + $tmp = substr($code, 5, 2); + if ($tmp == '00') { + // manufacturer code ends in 00 + $upce_code = substr($code, 2, 3).substr($code, 10, 2).'3'; + } else { + $tmp = substr($code, 6, 1); + if ($tmp == '0') { + // manufacturer code ends in 0 + $upce_code = substr($code, 2, 4).substr($code, 11, 1).'4'; + } else { + // manufacturer code does not end in zero + $upce_code = substr($code, 2, 5).substr($code, 11, 1); + } + } + } + } + //Convert digits to bars + $codes = array( + 'A'=>array( // left odd parity + '0'=>'0001101', + '1'=>'0011001', + '2'=>'0010011', + '3'=>'0111101', + '4'=>'0100011', + '5'=>'0110001', + '6'=>'0101111', + '7'=>'0111011', + '8'=>'0110111', + '9'=>'0001011'), + 'B'=>array( // left even parity + '0'=>'0100111', + '1'=>'0110011', + '2'=>'0011011', + '3'=>'0100001', + '4'=>'0011101', + '5'=>'0111001', + '6'=>'0000101', + '7'=>'0010001', + '8'=>'0001001', + '9'=>'0010111'), + 'C'=>array( // right + '0'=>'1110010', + '1'=>'1100110', + '2'=>'1101100', + '3'=>'1000010', + '4'=>'1011100', + '5'=>'1001110', + '6'=>'1010000', + '7'=>'1000100', + '8'=>'1001000', + '9'=>'1110100') + ); + $parities = array( + '0'=>array('A','A','A','A','A','A'), + '1'=>array('A','A','B','A','B','B'), + '2'=>array('A','A','B','B','A','B'), + '3'=>array('A','A','B','B','B','A'), + '4'=>array('A','B','A','A','B','B'), + '5'=>array('A','B','B','A','A','B'), + '6'=>array('A','B','B','B','A','A'), + '7'=>array('A','B','A','B','A','B'), + '8'=>array('A','B','A','B','B','A'), + '9'=>array('A','B','B','A','B','A') + ); + $upce_parities = array(); + $upce_parities[0] = array( + '0'=>array('B','B','B','A','A','A'), + '1'=>array('B','B','A','B','A','A'), + '2'=>array('B','B','A','A','B','A'), + '3'=>array('B','B','A','A','A','B'), + '4'=>array('B','A','B','B','A','A'), + '5'=>array('B','A','A','B','B','A'), + '6'=>array('B','A','A','A','B','B'), + '7'=>array('B','A','B','A','B','A'), + '8'=>array('B','A','B','A','A','B'), + '9'=>array('B','A','A','B','A','B') + ); + $upce_parities[1] = array( + '0'=>array('A','A','A','B','B','B'), + '1'=>array('A','A','B','A','B','B'), + '2'=>array('A','A','B','B','A','B'), + '3'=>array('A','A','B','B','B','A'), + '4'=>array('A','B','A','A','B','B'), + '5'=>array('A','B','B','A','A','B'), + '6'=>array('A','B','B','B','A','A'), + '7'=>array('A','B','A','B','A','B'), + '8'=>array('A','B','A','B','B','A'), + '9'=>array('A','B','B','A','B','A') + ); + $k = 0; + $seq = '101'; // left guard bar + if ($upce) { + $bararray = array('code' => $upce_code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $p = $upce_parities[$code[1]][$r]; + for ($i = 0; $i < 6; ++$i) { + $seq .= $codes[$p[$i]][$upce_code[$i]]; + } + $seq .= '010101'; // right guard bar + } else { + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $half_len = intval(ceil($len / 2)); + if ($len == 8) { + for ($i = 0; $i < $half_len; ++$i) { + $seq .= $codes['A'][$code[$i]]; + } + } else { + $p = $parities[$code[0]]; + for ($i = 1; $i < $half_len; ++$i) { + $seq .= $codes[$p[$i-1]][$code[$i]]; + } + } + $seq .= '01010'; // center guard bar + for ($i = $half_len; $i < $len; ++$i) { + $seq .= $codes['C'][$code[$i]]; + } + $seq .= '101'; // right guard bar + } + $clen = strlen($seq); + $w = 0; + for ($i = 0; $i < $clen; ++$i) { + $w += 1; + if (($i == ($clen - 1)) OR (($i < ($clen - 1)) AND ($seq[$i] != $seq[$i+1]))) { + if ($seq[$i] == '1') { + $t = true; // bar + } else { + $t = false; // space + } + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + $w = 0; + } + } + return $bararray; + } + + /** + * UPC-Based Extensions + * 2-Digit Ext.: Used to indicate magazines and newspaper issue numbers + * 5-Digit Ext.: Used to mark suggested retail price of books + * @param string $code code to represent. + * @param string $len barcode type: 2 = 2-Digit, 5 = 5-Digit + * @return array barcode representation. + * @protected + */ + protected function barcode_eanext($code, $len=5) { + //Padding + $code = str_pad($code, $len, '0', STR_PAD_LEFT); + // calculate check digit + if ($len == 2) { + $r = $code % 4; + } elseif ($len == 5) { + $r = (3 * ($code[0] + $code[2] + $code[4])) + (9 * ($code[1] + $code[3])); + $r %= 10; + } else { + return false; + } + //Convert digits to bars + $codes = array( + 'A'=>array( // left odd parity + '0'=>'0001101', + '1'=>'0011001', + '2'=>'0010011', + '3'=>'0111101', + '4'=>'0100011', + '5'=>'0110001', + '6'=>'0101111', + '7'=>'0111011', + '8'=>'0110111', + '9'=>'0001011'), + 'B'=>array( // left even parity + '0'=>'0100111', + '1'=>'0110011', + '2'=>'0011011', + '3'=>'0100001', + '4'=>'0011101', + '5'=>'0111001', + '6'=>'0000101', + '7'=>'0010001', + '8'=>'0001001', + '9'=>'0010111') + ); + $parities = array(); + $parities[2] = array( + '0'=>array('A','A'), + '1'=>array('A','B'), + '2'=>array('B','A'), + '3'=>array('B','B') + ); + $parities[5] = array( + '0'=>array('B','B','A','A','A'), + '1'=>array('B','A','B','A','A'), + '2'=>array('B','A','A','B','A'), + '3'=>array('B','A','A','A','B'), + '4'=>array('A','B','B','A','A'), + '5'=>array('A','A','B','B','A'), + '6'=>array('A','A','A','B','B'), + '7'=>array('A','B','A','B','A'), + '8'=>array('A','B','A','A','B'), + '9'=>array('A','A','B','A','B') + ); + $p = $parities[$len][$r]; + $seq = '1011'; // left guard bar + $seq .= $codes[$p[0]][$code[0]]; + for ($i = 1; $i < $len; ++$i) { + $seq .= '01'; // separator + $seq .= $codes[$p[$i]][$code[$i]]; + } + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + return $this->binseq_to_array($seq, $bararray); + } + + /** + * POSTNET and PLANET barcodes. + * Used by U.S. Postal Service for automated mail sorting + * @param string $code zip code to represent. Must be a string containing a zip code of the form DDDDD or DDDDD-DDDD. + * @param boolean $planet if true print the PLANET barcode, otherwise print POSTNET + * @return array barcode representation. + * @protected + */ + protected function barcode_postnet($code, $planet=false) { + // bar length + if ($planet) { + $barlen = Array( + 0 => Array(1,1,2,2,2), + 1 => Array(2,2,2,1,1), + 2 => Array(2,2,1,2,1), + 3 => Array(2,2,1,1,2), + 4 => Array(2,1,2,2,1), + 5 => Array(2,1,2,1,2), + 6 => Array(2,1,1,2,2), + 7 => Array(1,2,2,2,1), + 8 => Array(1,2,2,1,2), + 9 => Array(1,2,1,2,2) + ); + } else { + $barlen = Array( + 0 => Array(2,2,1,1,1), + 1 => Array(1,1,1,2,2), + 2 => Array(1,1,2,1,2), + 3 => Array(1,1,2,2,1), + 4 => Array(1,2,1,1,2), + 5 => Array(1,2,1,2,1), + 6 => Array(1,2,2,1,1), + 7 => Array(2,1,1,1,2), + 8 => Array(2,1,1,2,1), + 9 => Array(2,1,2,1,1) + ); + } + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 2, 'bcode' => array()); + $k = 0; + $code = str_replace('-', '', $code); + $code = str_replace(' ', '', $code); + $len = strlen($code); + // calculate checksum + $sum = 0; + for ($i = 0; $i < $len; ++$i) { + $sum += intval($code[$i]); + } + $chkd = ($sum % 10); + if($chkd > 0) { + $chkd = (10 - $chkd); + } + $code .= $chkd; + $len = strlen($code); + // start bar + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + for ($i = 0; $i < $len; ++$i) { + for ($j = 0; $j < 5; ++$j) { + $h = $barlen[$code[$i]][$j]; + $p = floor(1 / $h); + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + } + } + // end bar + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 1; + return $bararray; + } + + /** + * RMS4CC - CBC - KIX + * RMS4CC (Royal Mail 4-state Customer Code) - CBC (Customer Bar Code) - KIX (Klant index - Customer index) + * RM4SCC is the name of the barcode symbology used by the Royal Mail for its Cleanmail service. + * @param string $code code to print + * @param boolean $kix if true prints the KIX variation (doesn't use the start and end symbols, and the checksum) - in this case the house number must be sufficed with an X and placed at the end of the code. + * @return array barcode representation. + * @protected + */ + protected function barcode_rms4cc($code, $kix=false) { + $notkix = !$kix; + // bar mode + // 1 = pos 1, length 2 + // 2 = pos 1, length 3 + // 3 = pos 2, length 1 + // 4 = pos 2, length 2 + $barmode = array( + '0' => array(3,3,2,2), + '1' => array(3,4,1,2), + '2' => array(3,4,2,1), + '3' => array(4,3,1,2), + '4' => array(4,3,2,1), + '5' => array(4,4,1,1), + '6' => array(3,1,4,2), + '7' => array(3,2,3,2), + '8' => array(3,2,4,1), + '9' => array(4,1,3,2), + 'A' => array(4,1,4,1), + 'B' => array(4,2,3,1), + 'C' => array(3,1,2,4), + 'D' => array(3,2,1,4), + 'E' => array(3,2,2,3), + 'F' => array(4,1,1,4), + 'G' => array(4,1,2,3), + 'H' => array(4,2,1,3), + 'I' => array(1,3,4,2), + 'J' => array(1,4,3,2), + 'K' => array(1,4,4,1), + 'L' => array(2,3,3,2), + 'M' => array(2,3,4,1), + 'N' => array(2,4,3,1), + 'O' => array(1,3,2,4), + 'P' => array(1,4,1,4), + 'Q' => array(1,4,2,3), + 'R' => array(2,3,1,4), + 'S' => array(2,3,2,3), + 'T' => array(2,4,1,3), + 'U' => array(1,1,4,4), + 'V' => array(1,2,3,4), + 'W' => array(1,2,4,3), + 'X' => array(2,1,3,4), + 'Y' => array(2,1,4,3), + 'Z' => array(2,2,3,3) + ); + $code = strtoupper($code); + $len = strlen($code); + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 3, 'bcode' => array()); + if ($notkix) { + // table for checksum calculation (row,col) + $checktable = array( + '0' => array(1,1), + '1' => array(1,2), + '2' => array(1,3), + '3' => array(1,4), + '4' => array(1,5), + '5' => array(1,0), + '6' => array(2,1), + '7' => array(2,2), + '8' => array(2,3), + '9' => array(2,4), + 'A' => array(2,5), + 'B' => array(2,0), + 'C' => array(3,1), + 'D' => array(3,2), + 'E' => array(3,3), + 'F' => array(3,4), + 'G' => array(3,5), + 'H' => array(3,0), + 'I' => array(4,1), + 'J' => array(4,2), + 'K' => array(4,3), + 'L' => array(4,4), + 'M' => array(4,5), + 'N' => array(4,0), + 'O' => array(5,1), + 'P' => array(5,2), + 'Q' => array(5,3), + 'R' => array(5,4), + 'S' => array(5,5), + 'T' => array(5,0), + 'U' => array(0,1), + 'V' => array(0,2), + 'W' => array(0,3), + 'X' => array(0,4), + 'Y' => array(0,5), + 'Z' => array(0,0) + ); + $row = 0; + $col = 0; + for ($i = 0; $i < $len; ++$i) { + $row += $checktable[$code[$i]][0]; + $col += $checktable[$code[$i]][1]; + } + $row %= 6; + $col %= 6; + $chk = array_keys($checktable, array($row,$col)); + $code .= $chk[0]; + ++$len; + } + $k = 0; + if ($notkix) { + // start bar + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + } + for ($i = 0; $i < $len; ++$i) { + for ($j = 0; $j < 4; ++$j) { + switch ($barmode[$code[$i]][$j]) { + case 1: { + $p = 0; + $h = 2; + break; + } + case 2: { + $p = 0; + $h = 3; + break; + } + case 3: { + $p = 1; + $h = 1; + break; + } + case 4: { + $p = 1; + $h = 2; + break; + } + } + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + } + } + if ($notkix) { + // stop bar + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => 3, 'p' => 0); + $bararray['maxw'] += 1; + } + return $bararray; + } + + /** + * CODABAR barcodes. + * Older code often used in library systems, sometimes in blood banks + * @param string $code code to represent. + * @return array barcode representation. + * @protected + */ + protected function barcode_codabar($code) { + $chr = array( + '0' => '11111221', + '1' => '11112211', + '2' => '11121121', + '3' => '22111111', + '4' => '11211211', + '5' => '21111211', + '6' => '12111121', + '7' => '12112111', + '8' => '12211111', + '9' => '21121111', + '-' => '11122111', + '$' => '11221111', + ':' => '21112121', + '/' => '21211121', + '.' => '21212111', + '+' => '11222221', + 'A' => '11221211', + 'B' => '12121121', + 'C' => '11121221', + 'D' => '11122211' + ); + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $k = 0; + $w = 0; + $seq = ''; + $code = 'A'.strtoupper($code).'A'; + $len = strlen($code); + for ($i = 0; $i < $len; ++$i) { + if (!isset($chr[$code[$i]])) { + return false; + } + $seq = $chr[$code[$i]]; + for ($j = 0; $j < 8; ++$j) { + if (($j % 2) == 0) { + $t = true; // bar + } else { + $t = false; // space + } + $w = (float)$seq[$j]; + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + } + } + return $bararray; + } + + /** + * CODE11 barcodes. + * Used primarily for labeling telecommunications equipment + * @param string $code code to represent. + * @return array barcode representation. + * @protected + */ + protected function barcode_code11($code) { + $chr = array( + '0' => '111121', + '1' => '211121', + '2' => '121121', + '3' => '221111', + '4' => '112121', + '5' => '212111', + '6' => '122111', + '7' => '111221', + '8' => '211211', + '9' => '211111', + '-' => '112111', + 'S' => '112211' + ); + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + $k = 0; + $w = 0; + $seq = ''; + $len = strlen($code); + // calculate check digit C + $p = 1; + $check = 0; + for ($i = ($len - 1); $i >= 0; --$i) { + $digit = $code[$i]; + if ($digit == '-') { + $dval = 10; + } else { + $dval = intval($digit); + } + $check += ($dval * $p); + ++$p; + if ($p > 10) { + $p = 1; + } + } + $check %= 11; + if ($check == 10) { + $check = '-'; + } + $code .= $check; + if ($len > 10) { + // calculate check digit K + $p = 1; + $check = 0; + for ($i = $len; $i >= 0; --$i) { + $digit = $code[$i]; + if ($digit == '-') { + $dval = 10; + } else { + $dval = intval($digit); + } + $check += ($dval * $p); + ++$p; + if ($p > 9) { + $p = 1; + } + } + $check %= 11; + $code .= $check; + ++$len; + } + $code = 'S'.$code.'S'; + $len += 3; + for ($i = 0; $i < $len; ++$i) { + if (!isset($chr[$code[$i]])) { + return false; + } + $seq = $chr[$code[$i]]; + for ($j = 0; $j < 6; ++$j) { + if (($j % 2) == 0) { + $t = true; // bar + } else { + $t = false; // space + } + $w = (float)$seq[$j]; + $bararray['bcode'][$k] = array('t' => $t, 'w' => $w, 'h' => 1, 'p' => 0); + $bararray['maxw'] += $w; + ++$k; + } + } + return $bararray; + } + + /** + * Pharmacode + * Contains digits (0 to 9) + * @param string $code code to represent. + * @return array barcode representation. + * @protected + */ + protected function barcode_pharmacode($code) { + $seq = ''; + $code = intval($code); + while ($code > 0) { + if (($code % 2) == 0) { + $seq .= '11100'; + $code -= 2; + } else { + $seq .= '100'; + $code -= 1; + } + $code /= 2; + } + $seq = substr($seq, 0, -2); + $seq = strrev($seq); + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 1, 'bcode' => array()); + return $this->binseq_to_array($seq, $bararray); + } + + /** + * Pharmacode two-track + * Contains digits (0 to 9) + * @param string $code code to represent. + * @return array barcode representation. + * @protected + */ + protected function barcode_pharmacode2t($code) { + $seq = ''; + $code = intval($code); + do { + switch ($code % 3) { + case 0: { + $seq .= '3'; + $code = ($code - 3) / 3; + break; + } + case 1: { + $seq .= '1'; + $code = ($code - 1) / 3; + break; + } + case 2: { + $seq .= '2'; + $code = ($code - 2) / 3; + break; + } + } + } while($code != 0); + $seq = strrev($seq); + $k = 0; + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 2, 'bcode' => array()); + $len = strlen($seq); + for ($i = 0; $i < $len; ++$i) { + switch ($seq[$i]) { + case '1': { + $p = 1; + $h = 1; + break; + } + case '2': { + $p = 0; + $h = 1; + break; + } + case '3': { + $p = 0; + $h = 2; + break; + } + } + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + } + unset($bararray['bcode'][($k - 1)]); + --$bararray['maxw']; + return $bararray; + } + + /** + * IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 + * (requires PHP bcmath extension) + * Intelligent Mail barcode is a 65-bar code for use on mail in the United States. + * The fields are described as follows:
    • The Barcode Identifier shall be assigned by USPS to encode the presort identification that is currently printed in human readable form on the optional endorsement line (OEL) as well as for future USPS use. This shall be two digits, with the second digit in the range of 0–4. The allowable encoding ranges shall be 00–04, 10–14, 20–24, 30–34, 40–44, 50–54, 60–64, 70–74, 80–84, and 90–94.
    • The Service Type Identifier shall be assigned by USPS for any combination of services requested on the mailpiece. The allowable encoding range shall be 000http://it2.php.net/manual/en/function.dechex.php–999. Each 3-digit value shall correspond to a particular mail class with a particular combination of service(s). Each service program, such as OneCode Confirm and OneCode ACS, shall provide the list of Service Type Identifier values.
    • The Mailer or Customer Identifier shall be assigned by USPS as a unique, 6 or 9 digit number that identifies a business entity. The allowable encoding range for the 6 digit Mailer ID shall be 000000- 899999, while the allowable encoding range for the 9 digit Mailer ID shall be 900000000-999999999.
    • The Serial or Sequence Number shall be assigned by the mailer for uniquely identifying and tracking mailpieces. The allowable encoding range shall be 000000000–999999999 when used with a 6 digit Mailer ID and 000000-999999 when used with a 9 digit Mailer ID. e. The Delivery Point ZIP Code shall be assigned by the mailer for routing the mailpiece. This shall replace POSTNET for routing the mailpiece to its final delivery point. The length may be 0, 5, 9, or 11 digits. The allowable encoding ranges shall be no ZIP Code, 00000–99999, 000000000–999999999, and 00000000000–99999999999.
    + * @param string $code code to print, separate the ZIP (routing code) from the rest using a minus char '-' (BarcodeID_ServiceTypeID_MailerID_SerialNumber-RoutingCode) + * @return array barcode representation. + * @protected + */ + protected function barcode_imb($code) { + $asc_chr = array(4,0,2,6,3,5,1,9,8,7,1,2,0,6,4,8,2,9,5,3,0,1,3,7,4,6,8,9,2,0,5,1,9,4,3,8,6,7,1,2,4,3,9,5,7,8,3,0,2,1,4,0,9,1,7,0,2,4,6,3,7,1,9,5,8); + $dsc_chr = array(7,1,9,5,8,0,2,4,6,3,5,8,9,7,3,0,6,1,7,4,6,8,9,2,5,1,7,5,4,3,8,7,6,0,2,5,4,9,3,0,1,6,8,2,0,4,5,9,6,7,5,2,6,3,8,5,1,9,8,7,4,0,2,6,3); + $asc_pos = array(3,0,8,11,1,12,8,11,10,6,4,12,2,7,9,6,7,9,2,8,4,0,12,7,10,9,0,7,10,5,7,9,6,8,2,12,1,4,2,0,1,5,4,6,12,1,0,9,4,7,5,10,2,6,9,11,2,12,6,7,5,11,0,3,2); + $dsc_pos = array(2,10,12,5,9,1,5,4,3,9,11,5,10,1,6,3,4,1,10,0,2,11,8,6,1,12,3,8,6,4,4,11,0,6,1,9,11,5,3,7,3,10,7,11,8,2,10,3,5,8,0,3,12,11,8,4,5,1,3,0,7,12,9,8,10); + $code_arr = explode('-', $code); + $tracking_number = $code_arr[0]; + if (isset($code_arr[1])) { + $routing_code = $code_arr[1]; + } else { + $routing_code = ''; + } + // Conversion of Routing Code + switch (strlen($routing_code)) { + case 0: { + $binary_code = 0; + break; + } + case 5: { + $binary_code = bcadd($routing_code, '1'); + break; + } + case 9: { + $binary_code = bcadd($routing_code, '100001'); + break; + } + case 11: { + $binary_code = bcadd($routing_code, '1000100001'); + break; + } + default: { + return false; + break; + } + } + $binary_code = bcmul($binary_code, 10); + $binary_code = bcadd($binary_code, $tracking_number[0]); + $binary_code = bcmul($binary_code, 5); + $binary_code = bcadd($binary_code, $tracking_number[1]); + $binary_code .= substr($tracking_number, 2, 18); + // convert to hexadecimal + $binary_code = $this->dec_to_hex($binary_code); + // pad to get 13 bytes + $binary_code = str_pad($binary_code, 26, '0', STR_PAD_LEFT); + // convert string to array of bytes + $binary_code_arr = chunk_split($binary_code, 2, "\r"); + $binary_code_arr = substr($binary_code_arr, 0, -1); + $binary_code_arr = explode("\r", $binary_code_arr); + // calculate frame check sequence + $fcs = $this->imb_crc11fcs($binary_code_arr); + // exclude first 2 bits from first byte + $first_byte = sprintf('%2s', dechex((hexdec($binary_code_arr[0]) << 2) >> 2)); + $binary_code_102bit = $first_byte.substr($binary_code, 2); + // convert binary data to codewords + $codewords = array(); + $data = $this->hex_to_dec($binary_code_102bit); + $codewords[0] = bcmod($data, 636) * 2; + $data = bcdiv($data, 636); + for ($i = 1; $i < 9; ++$i) { + $codewords[$i] = bcmod($data, 1365); + $data = bcdiv($data, 1365); + } + $codewords[9] = $data; + if (($fcs >> 10) == 1) { + $codewords[9] += 659; + } + // generate lookup tables + $table2of13 = $this->imb_tables(2, 78); + $table5of13 = $this->imb_tables(5, 1287); + // convert codewords to characters + $characters = array(); + $bitmask = 512; + foreach($codewords as $k => $val) { + if ($val <= 1286) { + $chrcode = $table5of13[$val]; + } else { + $chrcode = $table2of13[($val - 1287)]; + } + if (($fcs & $bitmask) > 0) { + // bitwise invert + $chrcode = ((~$chrcode) & 8191); + } + $characters[] = $chrcode; + $bitmask /= 2; + } + $characters = array_reverse($characters); + // build bars + $k = 0; + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 3, 'bcode' => array()); + for ($i = 0; $i < 65; ++$i) { + $asc = (($characters[$asc_chr[$i]] & pow(2, $asc_pos[$i])) > 0); + $dsc = (($characters[$dsc_chr[$i]] & pow(2, $dsc_pos[$i])) > 0); + if ($asc AND $dsc) { + // full bar (F) + $p = 0; + $h = 3; + } elseif ($asc) { + // ascender (A) + $p = 0; + $h = 2; + } elseif ($dsc) { + // descender (D) + $p = 1; + $h = 2; + } else { + // tracker (T) + $p = 1; + $h = 1; + } + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + } + unset($bararray['bcode'][($k - 1)]); + --$bararray['maxw']; + return $bararray; + } + + /** + * IMB - Intelligent Mail Barcode - Onecode - USPS-B-3200 + * + * @param string $code pre-formatted IMB barcode (65 chars "FADT") + * @return array barcode representation. + * @protected + */ + protected function barcode_imb_pre($code) { + if (!preg_match('/^[fadtFADT]{65}$/', $code) == 1) { + return false; + } + $characters = str_split(strtolower($code), 1); + // build bars + $k = 0; + $bararray = array('code' => $code, 'maxw' => 0, 'maxh' => 3, 'bcode' => array()); + for ($i = 0; $i < 65; ++$i) { + switch($characters[$i]) { + case 'f': { + // full bar + $p = 0; + $h = 3; + break; + } + case 'a': { + // ascender + $p = 0; + $h = 2; + break; + } + case 'd': { + // descender + $p = 1; + $h = 2; + break; + } + case 't': { + // tracker (short) + $p = 1; + $h = 1; + break; + } + } + $bararray['bcode'][$k++] = array('t' => 1, 'w' => 1, 'h' => $h, 'p' => $p); + $bararray['bcode'][$k++] = array('t' => 0, 'w' => 1, 'h' => 2, 'p' => 0); + $bararray['maxw'] += 2; + } + unset($bararray['bcode'][($k - 1)]); + --$bararray['maxw']; + return $bararray; + } + + /** + * Convert large integer number to hexadecimal representation. + * (requires PHP bcmath extension) + * @param string $number number to convert specified as a string + * @return string hexadecimal representation + */ + public function dec_to_hex($number) { + $i = 0; + $hex = array(); + if($number == 0) { + return '00'; + } + while($number > 0) { + if($number == 0) { + array_push($hex, '0'); + } else { + array_push($hex, strtoupper(dechex(bcmod($number, '16')))); + $number = bcdiv($number, '16', 0); + } + } + $hex = array_reverse($hex); + return implode($hex); + } + + /** + * Convert large hexadecimal number to decimal representation (string). + * (requires PHP bcmath extension) + * @param string $hex hexadecimal number to convert specified as a string + * @return string hexadecimal representation + */ + public function hex_to_dec($hex) { + $dec = 0; + $bitval = 1; + $len = strlen($hex); + for($pos = ($len - 1); $pos >= 0; --$pos) { + $dec = bcadd($dec, bcmul(hexdec($hex[$pos]), $bitval)); + $bitval = bcmul($bitval, 16); + } + return $dec; + } + + /** + * Intelligent Mail Barcode calculation of Frame Check Sequence + * @param string $code_arr array of hexadecimal values (13 bytes holding 102 bits right justified). + * @return int 11 bit Frame Check Sequence as integer (decimal base) + * @protected + */ + protected function imb_crc11fcs($code_arr) { + $genpoly = 0x0F35; // generator polynomial + $fcs = 0x07FF; // Frame Check Sequence + // do most significant byte skipping the 2 most significant bits + $data = hexdec($code_arr[0]) << 5; + for ($bit = 2; $bit < 8; ++$bit) { + if (($fcs ^ $data) & 0x400) { + $fcs = ($fcs << 1) ^ $genpoly; + } else { + $fcs = ($fcs << 1); + } + $fcs &= 0x7FF; + $data <<= 1; + } + // do rest of bytes + for ($byte = 1; $byte < 13; ++$byte) { + $data = hexdec($code_arr[$byte]) << 3; + for ($bit = 0; $bit < 8; ++$bit) { + if (($fcs ^ $data) & 0x400) { + $fcs = ($fcs << 1) ^ $genpoly; + } else { + $fcs = ($fcs << 1); + } + $fcs &= 0x7FF; + $data <<= 1; + } + } + return $fcs; + } + + /** + * Reverse unsigned short value + * @param int $num value to reversr + * @return int reversed value + * @protected + */ + protected function imb_reverse_us($num) { + $rev = 0; + for ($i = 0; $i < 16; ++$i) { + $rev <<= 1; + $rev |= ($num & 1); + $num >>= 1; + } + return $rev; + } + + /** + * generate Nof13 tables used for Intelligent Mail Barcode + * @param int $n is the type of table: 2 for 2of13 table, 5 for 5of13table + * @param int $size size of table (78 for n=2 and 1287 for n=5) + * @return array requested table + * @protected + */ + protected function imb_tables($n, $size) { + $table = array(); + $lli = 0; // LUT lower index + $lui = $size - 1; // LUT upper index + for ($count = 0; $count < 8192; ++$count) { + $bit_count = 0; + for ($bit_index = 0; $bit_index < 13; ++$bit_index) { + $bit_count += intval(($count & (1 << $bit_index)) != 0); + } + // if we don't have the right number of bits on, go on to the next value + if ($bit_count == $n) { + $reverse = ($this->imb_reverse_us($count) >> 3); + // if the reverse is less than count, we have already visited this pair before + if ($reverse >= $count) { + // If count is symmetric, place it at the first free slot from the end of the list. + // Otherwise, place it at the first free slot from the beginning of the list AND place $reverse ath the next free slot from the beginning of the list + if ($reverse == $count) { + $table[$lui] = $count; + --$lui; + } else { + $table[$lli] = $count; + ++$lli; + $table[$lli] = $reverse; + ++$lli; + } + } + } + } + return $table; + } + +} // end of class +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/tcpdf_barcodes_2d.php b/vendor/tecnickcom/tcpdf/tcpdf_barcodes_2d.php new file mode 100644 index 0000000..730361b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tcpdf_barcodes_2d.php @@ -0,0 +1,349 @@ +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : PHP class to creates array representations for +// 2D barcodes to be used with TCPDF. +// +//============================================================+ + +/** + * @file + * PHP class to creates array representations for 2D barcodes to be used with TCPDF. + * @package com.tecnick.tcpdf + * @author Nicola Asuni + * @version 1.0.015 + */ + +/** + * @class TCPDF2DBarcode + * PHP class to creates array representations for 2D barcodes to be used with TCPDF (http://www.tcpdf.org). + * @package com.tecnick.tcpdf + * @version 1.0.015 + * @author Nicola Asuni + */ +class TCPDF2DBarcode { + + /** + * Array representation of barcode. + * @protected + */ + protected $barcode_array = array(); + + /** + * This is the class constructor. + * Return an array representations for 2D barcodes:
      + *
    • $arrcode['code'] code to be printed on text label
    • + *
    • $arrcode['num_rows'] required number of rows
    • + *
    • $arrcode['num_cols'] required number of columns
    • + *
    • $arrcode['bcode'][$r][$c] value of the cell is $r row and $c column (0 = transparent, 1 = black)
    + * @param string $code code to print + * @param string $type type of barcode:
    • DATAMATRIX : Datamatrix (ISO/IEC 16022)
    • PDF417 : PDF417 (ISO/IEC 15438:2006)
    • PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6 : PDF417 with parameters: a = aspect ratio (width/height); e = error correction level (0-8); t = total number of macro segments; s = macro segment index (0-99998); f = file ID; o0 = File Name (text); o1 = Segment Count (numeric); o2 = Time Stamp (numeric); o3 = Sender (text); o4 = Addressee (text); o5 = File Size (numeric); o6 = Checksum (numeric). NOTES: Parameters t, s and f are required for a Macro Control Block, all other parameters are optional. To use a comma character ',' on text options, replace it with the character 255: "\xff".
    • QRCODE : QRcode Low error correction
    • QRCODE,L : QRcode Low error correction
    • QRCODE,M : QRcode Medium error correction
    • QRCODE,Q : QRcode Better error correction
    • QRCODE,H : QR-CODE Best error correction
    • RAW: raw mode - comma-separad list of array rows
    • RAW2: raw mode - array rows are surrounded by square parenthesis.
    • TEST : Test matrix
    + */ + public function __construct($code, $type) { + $this->setBarcode($code, $type); + } + + /** + * Return an array representations of barcode. + * @return array + */ + public function getBarcodeArray() { + return $this->barcode_array; + } + + /** + * Send barcode as SVG image object to the standard output. + * @param int $w Width of a single rectangle element in user units. + * @param int $h Height of a single rectangle element in user units. + * @param string $color Foreground color (in SVG format) for bar elements (background is transparent). + * @public + */ + public function getBarcodeSVG($w=3, $h=3, $color='black') { + // send headers + $code = $this->getBarcodeSVGcode($w, $h, $color); + header('Content-Type: application/svg+xml'); + header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + header('Content-Disposition: inline; filename="'.md5($code).'.svg";'); + //header('Content-Length: '.strlen($code)); + echo $code; + } + + /** + * Return a SVG string representation of barcode. + * @param int $w Width of a single rectangle element in user units. + * @param int $h Height of a single rectangle element in user units. + * @param string $color Foreground color (in SVG format) for bar elements (background is transparent). + * @return string SVG code. + * @public + */ + public function getBarcodeSVGcode($w=3, $h=3, $color='black') { + // replace table for special characters + $repstr = array("\0" => '', '&' => '&', '<' => '<', '>' => '>'); + $svg = '<'.'?'.'xml version="1.0" standalone="no"'.'?'.'>'."\n"; + $svg .= ''."\n"; + $svg .= ''."\n"; + $svg .= "\t".''.strtr($this->barcode_array['code'], $repstr).''."\n"; + $svg .= "\t".''."\n"; + // print barcode elements + $y = 0; + // for each row + for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) { + $x = 0; + // for each column + for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) { + if ($this->barcode_array['bcode'][$r][$c] == 1) { + // draw a single barcode cell + $svg .= "\t\t".''."\n"; + } + $x += $w; + } + $y += $h; + } + $svg .= "\t".''."\n"; + $svg .= ''."\n"; + return $svg; + } + + /** + * Return an HTML representation of barcode. + * @param int $w Width of a single rectangle element in pixels. + * @param int $h Height of a single rectangle element in pixels. + * @param string $color Foreground color for bar elements (background is transparent). + * @return string HTML code. + * @public + */ + public function getBarcodeHTML($w=10, $h=10, $color='black') { + $html = '
    '."\n"; + // print barcode elements + $y = 0; + // for each row + for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) { + $x = 0; + // for each column + for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) { + if ($this->barcode_array['bcode'][$r][$c] == 1) { + // draw a single barcode cell + $html .= '
     
    '."\n"; + } + $x += $w; + } + $y += $h; + } + $html .= '
    '."\n"; + return $html; + } + + /** + * Send a PNG image representation of barcode (requires GD or Imagick library). + * @param int $w Width of a single rectangle element in pixels. + * @param int $h Height of a single rectangle element in pixels. + * @param array $color RGB (0-255) foreground color for bar elements (background is transparent). + * @public + */ + public function getBarcodePNG($w=3, $h=3, $color=array(0,0,0)) { + $data = $this->getBarcodePngData($w, $h, $color); + // send headers + header('Content-Type: image/png'); + header('Cache-Control: public, must-revalidate, max-age=0'); // HTTP/1.1 + header('Pragma: public'); + header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past + header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + //header('Content-Length: '.strlen($data)); + echo $data; + + } + + /** + * Return a PNG image representation of barcode (requires GD or Imagick library). + * @param int $w Width of a single rectangle element in pixels. + * @param int $h Height of a single rectangle element in pixels. + * @param array $color RGB (0-255) foreground color for bar elements (background is transparent). + * @return string|Imagick|false image or false in case of error. + * @public + */ + public function getBarcodePngData($w=3, $h=3, $color=array(0,0,0)) { + // calculate image size + $width = ($this->barcode_array['num_cols'] * $w); + $height = ($this->barcode_array['num_rows'] * $h); + if (function_exists('imagecreate')) { + // GD library + $imagick = false; + $png = imagecreate($width, $height); + $bgcol = imagecolorallocate($png, 255, 255, 255); + imagecolortransparent($png, $bgcol); + $fgcol = imagecolorallocate($png, $color[0], $color[1], $color[2]); + } elseif (extension_loaded('imagick')) { + $imagick = true; + $bgcol = new imagickpixel('rgb(255,255,255'); + $fgcol = new imagickpixel('rgb('.$color[0].','.$color[1].','.$color[2].')'); + $png = new Imagick(); + $png->newImage($width, $height, 'none', 'png'); + $bar = new imagickdraw(); + $bar->setfillcolor($fgcol); + } else { + return false; + } + // print barcode elements + $y = 0; + // for each row + for ($r = 0; $r < $this->barcode_array['num_rows']; ++$r) { + $x = 0; + // for each column + for ($c = 0; $c < $this->barcode_array['num_cols']; ++$c) { + if ($this->barcode_array['bcode'][$r][$c] == 1) { + // draw a single barcode cell + if ($imagick) { + $bar->rectangle($x, $y, ($x + $w - 1), ($y + $h - 1)); + } else { + imagefilledrectangle($png, $x, $y, ($x + $w - 1), ($y + $h - 1), $fgcol); + } + } + $x += $w; + } + $y += $h; + } + if ($imagick) { + $png->drawimage($bar); + return $png; + } else { + ob_start(); + imagepng($png); + $imagedata = ob_get_clean(); + imagedestroy($png); + return $imagedata; + } + } + + /** + * Set the barcode. + * @param string $code code to print + * @param string $type type of barcode:
    • DATAMATRIX : Datamatrix (ISO/IEC 16022)
    • PDF417 : PDF417 (ISO/IEC 15438:2006)
    • PDF417,a,e,t,s,f,o0,o1,o2,o3,o4,o5,o6 : PDF417 with parameters: a = aspect ratio (width/height); e = error correction level (0-8); t = total number of macro segments; s = macro segment index (0-99998); f = file ID; o0 = File Name (text); o1 = Segment Count (numeric); o2 = Time Stamp (numeric); o3 = Sender (text); o4 = Addressee (text); o5 = File Size (numeric); o6 = Checksum (numeric). NOTES: Parameters t, s and f are required for a Macro Control Block, all other parameters are optional. To use a comma character ',' on text options, replace it with the character 255: "\xff".
    • QRCODE : QRcode Low error correction
    • QRCODE,L : QRcode Low error correction
    • QRCODE,M : QRcode Medium error correction
    • QRCODE,Q : QRcode Better error correction
    • QRCODE,H : QR-CODE Best error correction
    • RAW: raw mode - comma-separad list of array rows
    • RAW2: raw mode - array rows are surrounded by square parenthesis.
    • TEST : Test matrix
    + * @return void + */ + public function setBarcode($code, $type) { + $mode = explode(',', $type); + $qrtype = strtoupper($mode[0]); + switch ($qrtype) { + case 'DATAMATRIX': { // DATAMATRIX (ISO/IEC 16022) + require_once(dirname(__FILE__).'/include/barcodes/datamatrix.php'); + $qrcode = new Datamatrix($code); + $this->barcode_array = $qrcode->getBarcodeArray(); + $this->barcode_array['code'] = $code; + break; + } + case 'PDF417': { // PDF417 (ISO/IEC 15438:2006) + require_once(dirname(__FILE__).'/include/barcodes/pdf417.php'); + if (!isset($mode[1]) OR ($mode[1] === '')) { + $aspectratio = 2; // default aspect ratio (width / height) + } else { + $aspectratio = floatval($mode[1]); + } + if (!isset($mode[2]) OR ($mode[2] === '')) { + $ecl = -1; // default error correction level (auto) + } else { + $ecl = intval($mode[2]); + } + // set macro block + $macro = array(); + if (isset($mode[3]) AND ($mode[3] !== '') AND isset($mode[4]) AND ($mode[4] !== '') AND isset($mode[5]) AND ($mode[5] !== '')) { + $macro['segment_total'] = intval($mode[3]); + $macro['segment_index'] = intval($mode[4]); + $macro['file_id'] = strtr($mode[5], "\xff", ','); + for ($i = 0; $i < 7; ++$i) { + $o = $i + 6; + if (isset($mode[$o]) AND ($mode[$o] !== '')) { + // add option + $macro['option_'.$i] = strtr($mode[$o], "\xff", ','); + } + } + } + $qrcode = new PDF417($code, $ecl, $aspectratio, $macro); + $this->barcode_array = $qrcode->getBarcodeArray(); + $this->barcode_array['code'] = $code; + break; + } + case 'QRCODE': { // QR-CODE + require_once(dirname(__FILE__).'/include/barcodes/qrcode.php'); + if (!isset($mode[1]) OR (!in_array($mode[1],array('L','M','Q','H')))) { + $mode[1] = 'L'; // Ddefault: Low error correction + } + $qrcode = new QRcode($code, strtoupper($mode[1])); + $this->barcode_array = $qrcode->getBarcodeArray(); + $this->barcode_array['code'] = $code; + break; + } + case 'RAW': + case 'RAW2': { // RAW MODE + // remove spaces + $code = preg_replace('/[\s]*/si', '', $code); + if (strlen($code) < 3) { + break; + } + if ($qrtype == 'RAW') { + // comma-separated rows + $rows = explode(',', $code); + } else { // RAW2 + // rows enclosed in square parentheses + $code = substr($code, 1, -1); + $rows = explode('][', $code); + } + $this->barcode_array['num_rows'] = count($rows); + $this->barcode_array['num_cols'] = strlen($rows[0]); + $this->barcode_array['bcode'] = array(); + foreach ($rows as $r) { + $this->barcode_array['bcode'][] = str_split($r, 1); + } + $this->barcode_array['code'] = $code; + break; + } + case 'TEST': { // TEST MODE + $this->barcode_array['num_rows'] = 5; + $this->barcode_array['num_cols'] = 15; + $this->barcode_array['bcode'] = array( + array(1,1,1,0,1,1,1,0,1,1,1,0,1,1,1), + array(0,1,0,0,1,0,0,0,1,0,0,0,0,1,0), + array(0,1,0,0,1,1,0,0,1,1,1,0,0,1,0), + array(0,1,0,0,1,0,0,0,0,0,1,0,0,1,0), + array(0,1,0,0,1,1,1,0,1,1,1,0,0,1,0)); + $this->barcode_array['code'] = $code; + break; + } + default: { + $this->barcode_array = array(); + } + } + } +} // end of class + +//============================================================+ +// END OF FILE +//============================================================+ diff --git a/vendor/tecnickcom/tcpdf/tools/.htaccess b/vendor/tecnickcom/tcpdf/tools/.htaccess new file mode 100644 index 0000000..9996e3b --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tools/.htaccess @@ -0,0 +1,10 @@ +# Apache 2.4 + + Require all denied + + +# Apache 2.2 + + Order Deny,Allow + Deny from all + diff --git a/vendor/tecnickcom/tcpdf/tools/convert_fonts_examples.txt b/vendor/tecnickcom/tcpdf/tools/convert_fonts_examples.txt new file mode 100644 index 0000000..d5f8a4e --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tools/convert_fonts_examples.txt @@ -0,0 +1,28 @@ +./tcpdf_addfont.php -b -t Type1 -f 4 -e symbol -i pdfasymbol.pfb +./tcpdf_addfont.php -b -t Type1 -f 4 -i pdfazapfdingbats.pfb +./tcpdf_addfont.php -b -t Type1 -f 32 -e cp1252 -i pdfatimes.pfb,pdfatimesb.pfb,pdfahelvetica.pfb,pdfahelveticab.pfb +./tcpdf_addfont.php -b -t Type1 -f 33 -e cp1252 -i pdfacourier.pfb,pdfacourierb.pfb +./tcpdf_addfont.php -b -t Type1 -f 96 -e cp1252 -i pdfahelveticabi.pfb,pdfahelveticai.pfb,pdfatimesi.pfb,pdfatimesbi.pfb +./tcpdf_addfont.php -b -t Type1 -f 97 -e cp1252 -i pdfacourieri.pfb,pdfacourierbi.pfb + + +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 32 -i DejaVuSans.ttf,DejaVuSans-Bold.ttf,DejaVuSansCondensed.ttf,DejaVuSansCondensed-Bold.ttf,DejaVuSans-ExtraLight.ttf,DejaVuSerif.ttf,DejaVuSerif-Bold.ttf,DejaVuSerifCondensed.ttf,DejaVuSerifCondensed-Bold.ttf +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 33 -i DejaVuSansMono.ttf,DejaVuSansMono-Bold.ttf +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 96 -i DejaVuSans-BoldOblique.ttf,DejaVuSansCondensed-BoldOblique.ttf,DejaVuSansCondensed-Oblique.ttf,DejaVuSerifCondensed-BoldItalic.ttf,DejaVuSerifCondensed-Italic.ttf,DejaVuSerif-Italic.ttf,DejaVuSerif-BoldItalic.ttf,DejaVuSans-Oblique.ttf +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 97 -i DejaVuSansMono-BoldOblique.ttf,DejaVuSansMono-Oblique.ttf + + + +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 32 -i FreeSans.ttf,FreeSansBold.ttf,FreeSerif.ttf,FreeSerifBold.ttf +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 33 -i FreeMono.ttf,FreeMonoBold.ttf +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 96 -i FreeSansBoldOblique.ttf,FreeSansOblique.ttf,FreeSerifBoldItalic.ttf,FreeSerifItalic.ttf +./tcpdf_addfont.php -b -t TrueTypeUnicode -f 97 -i FreeMonoBoldOblique.ttf,FreeMonoOblique.ttf + + +./tcpdf_addfont.php -b -t TrueTypeUnicode -i aeAlArabiya.ttf,aeFurat.ttf + + +./tcpdf_addfont.php -b -t CID0JP -f 32 -i cid0jp.ttf +./tcpdf_addfont.php -b -t CID0KR -f 32 -i cid0kr.ttf +./tcpdf_addfont.php -b -t CID0CS -f 32 -i cid0cs.ttf +./tcpdf_addfont.php -b -t CID0CT -f 32 -i cid0ct.ttf diff --git a/vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php b/vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php new file mode 100644 index 0000000..2937c75 --- /dev/null +++ b/vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php @@ -0,0 +1,269 @@ +#!/usr/bin/env php +. +// +// See LICENSE.TXT file for more information. +// ------------------------------------------------------------------- +// +// Description : This is a command line script to generate TCPDF fonts. +// +//============================================================+ + +/** + * @file + * This is a command line script to generate TCPDF fonts.
    + * @package com.tecnick.tcpdf + * @version 1.0.000 + */ + +if (php_sapi_name() != 'cli') { + echo 'You need to run this command from console.'; + exit(1); +} + +$tcpdf_include_dirs = array(realpath(dirname(__FILE__).'/../tcpdf.php'), '/usr/share/php/tcpdf/tcpdf.php', '/usr/share/tcpdf/tcpdf.php', '/usr/share/php-tcpdf/tcpdf.php', '/var/www/tcpdf/tcpdf.php', '/var/www/html/tcpdf/tcpdf.php', '/usr/local/apache2/htdocs/tcpdf/tcpdf.php'); +foreach ($tcpdf_include_dirs as $tcpdf_include_path) { + if (@file_exists($tcpdf_include_path)) { + require_once($tcpdf_include_path); + break; + } +} + +/** + * Display help guide for this command. + */ +function showHelp() { + $help = <<'', 'enc'=>'', 'flags'=>32, 'outpath'=>K_PATH_FONTS, 'platid'=>3, 'encid'=>1, 'addcbbox'=>false, 'link'=>false); + +// short input options +$sopt = ''; +$sopt .= 't:'; +$sopt .= 'e:'; +$sopt .= 'f:'; +$sopt .= 'o:'; +$sopt .= 'p:'; +$sopt .= 'n:'; +$sopt .= 'b'; +$sopt .= 'l'; +$sopt .= 'i:'; +$sopt .= 'h'; + +// long input options +$lopt = array(); +$lopt[] = 'type:'; +$lopt[] = 'enc:'; +$lopt[] = 'flags:'; +$lopt[] = 'outpath:'; +$lopt[] = 'platid:'; +$lopt[] = 'encid:'; +$lopt[] = 'addcbbox'; +$lopt[] = 'link'; +$lopt[] = 'fonts:'; +$lopt[] = 'help'; + +// parse input options +$inopt = getopt($sopt, $lopt); + +// import options (with some sanitization) +foreach ($inopt as $opt => $val) { + switch ($opt) { + case 't': + case 'type': { + if (in_array($val, array('TrueTypeUnicode', 'TrueType', 'Type1', 'CID0JP', 'CID0KR', 'CID0CS', 'CID0CT'))) { + $options['type'] = $val; + } + break; + } + case 'e': + case 'enc': { + $options['enc'] = $val; + break; + } + case 'f': + case 'flags': { + $options['flags'] = intval($val); + break; + } + case 'o': + case 'outpath': { + $options['outpath'] = realpath($val); + if (substr($options['outpath'], -1) != '/') { + $options['outpath'] .= '/'; + } + break; + } + case 'p': + case 'platid': { + $options['platid'] = min(max(1, intval($val)), 3); + break; + } + case 'n': + case 'encid': { + $options['encid'] = min(max(0, intval($val)), 10); + break; + } + case 'b': + case 'addcbbox': { + $options['addcbbox'] = true; + break; + } + case 'l': + case 'link': { + $options['link'] = true; + break; + } + case 'i': + case 'fonts': { + $options['fonts'] = explode(',', $val); + break; + } + case 'h': + case 'help': + default: { + showHelp(); + break; + } + } // end of switch +} // end of while loop + +if (empty($options['fonts'])) { + echo "ERROR: missing input fonts (try --help for usage)\n\n"; + exit(2); +} + +// check the output path +if (!is_dir($options['outpath']) OR !is_writable($options['outpath'])) { + echo "ERROR: Can't write to ".$options['outpath']."\n\n"; + exit(3); +} + +echo "\n>>> Converting fonts for TCPDF:\n"; + +echo '*** Output dir set to '.$options['outpath']."\n"; + +// check if there are conversion errors +$errors = false; + +foreach ($options['fonts'] as $font) { + $fontfile = realpath($font); + $fontname = TCPDF_FONTS::addTTFfont($fontfile, $options['type'], $options['enc'], $options['flags'], $options['outpath'], $options['platid'], $options['encid'], $options['addcbbox'], $options['link']); + if ($fontname === false) { + $errors = true; + echo "--- ERROR: can't add ".$font."\n"; + } else { + echo "+++ OK : ".$fontfile.' added as '.$fontname."\n"; + } +} + +if ($errors) { + echo "--- Process completed with ERRORS!\n\n"; + exit(4); +} + +echo ">>> Process successfully completed!\n\n"; +exit(0); + +//============================================================+ +// END OF FILE +//============================================================+